ZGlmZiAtLWdpdCBhL2xpYnhtbDIvQVVUSE9SUyBiL2xpYnhtbDIvQVVUSE9SUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZjJlOWE2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9BVVRIT1JTCkBAIC0wLDAgKzEsNSBAQAorRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorQmpvcm4gUmVlc2UgPGJyZWVzZUB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CitXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KK0lnb3IgWmxhdGtvdmljIDxpZ29yQHpsYXRrb3ZpYy5jb20+IGZvciB0aGUgV2luZG93cyBwb3J0CitBbGVrc2V5IFNhbmluIDxhbGVrc2V5QGFsZWtzZXkuY29tPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9BbmRyb2lkLm1rIGIvbGlieG1sMi9BbmRyb2lkLm1rCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYzZTg3ZWUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL0FuZHJvaWQubWsKQEAgLTAsMCArMSw5NSBAQAorIworIyBDb3B5cmlnaHQgKEMpIDIwMTQgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorIworIyBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyMgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorIyBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyMKKyMgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyMKKyMgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorIyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorIyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyMgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorIyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyMKKworTE9DQUxfUEFUSCA6PSAkKGNhbGwgbXktZGlyKQorCisjCisjIFRvIHVwZGF0ZToKKyMKKworIyAgZ2l0IHJlbW90ZSBhZGQgbGlieG1sMiBnaXQ6Ly9naXQuZ25vbWUub3JnL2xpYnhtbDIKKyMgIGdpdCBmZXRjaCBsaWJ4bWwyCisjICBnaXQgbWVyZ2UgbGlieG1sMi9tYXN0ZXIKKyMgIG1tIC1qMzIKKyMgICMgKE1ha2UgYW55IG5lY2Vzc2FyeSBBbmRyb2lkLm1rIGNoYW5nZXMgYW5kIHRlc3QgdGhlIG5ldyBsaWJ4bWwyLikKKyMgIGdpdCBwdXNoIGFvc3AgSEVBRDptYXN0ZXIgICMgUHVzaCBkaXJlY3RseSwgYXZvaWRpbmcgZ2Vycml0LgorIyAgZ2l0IHB1c2ggYW9zcCBIRUFEOnJlZnMvZm9yL21hc3RlciAgIyBQdXNoIHRvIGdlcnJpdC4KKyMKKyMgICMgTm93IGNvbW1pdCBhbnkgbmVjZXNzYXJ5IEFuZHJvaWQubWsgY2hhbmdlcyBsaWtlIG5vcm1hbDoKKyMgIHJlcG8gc3RhcnQgcG9zdC1zeW5jIC4KKyMgIGdpdCBjb21taXQgLWEKKyMKKworIyBUaGlzIGNvbWVzIGZyb20gdGhlIGF1dG9tYWtlLWdlbmVyYXRlZCBNYWtlZmlsZS4KKyMgV2UgZGVsaWJlcmF0ZWx5IGV4Y2x1ZGUgbmFub2Z0cC5jIGFuZCBuYW5vaHR0cC5jLCB0aGUgdHJpbyBsaWJyYXJ5LCBhbmQgemxpYi4KK2NvbW1vbl9TUkNfRklMRVMgOj0gU0FYLmMgZW50aXRpZXMuYyBlbmNvZGluZy5jIGVycm9yLmMgXAorICAgICAgICBwYXJzZXJJbnRlcm5hbHMuYyBwYXJzZXIuYyB0cmVlLmMgaGFzaC5jIGxpc3QuYyB4bWxJTy5jIFwKKyAgICAgICAgeG1sbWVtb3J5LmMgdXJpLmMgdmFsaWQuYyB4bGluay5jIEhUTUxwYXJzZXIuYyBIVE1MdHJlZS5jIFwKKyAgICAgICAgZGVidWdYTUwuYyB4cGF0aC5jIHhwb2ludGVyLmMgeGluY2x1ZGUuYyBcCisgICAgICAgIERPQ0JwYXJzZXIuYyBjYXRhbG9nLmMgZ2xvYmFscy5jIHRocmVhZHMuYyBjMTRuLmMgeG1sc3RyaW5nLmMgXAorICAgICAgICBidWYuYyB4bWxyZWdleHAuYyB4bWxzY2hlbWFzLmMgeG1sc2NoZW1hc3R5cGVzLmMgeG1sdW5pY29kZS5jIFwKKyAgICAgICAgeG1scmVhZGVyLmMgcmVsYXhuZy5jIGRpY3QuYyBTQVgyLmMgXAorICAgICAgICB4bWx3cml0ZXIuYyBsZWdhY3kuYyBjaHZhbGlkLmMgcGF0dGVybi5jIHhtbHNhdmUuYyB4bWxtb2R1bGUuYyBcCisgICAgICAgIHNjaGVtYXRyb24uYworCitjb21tb25fQ19JTkNMVURFUyArPSAkKExPQ0FMX1BBVEgpL2luY2x1ZGUKKworY29tbW9uX0NGTEFHUyArPSAtRExJQlhNTF9USFJFQURfRU5BQkxFRD0xCisKK2NvbW1vbl9DRkxBR1MgKz0gXAorICAgIC1Xbm8tbWlzc2luZy1maWVsZC1pbml0aWFsaXplcnMgXAorICAgIC1Xbm8tc2VsZi1hc3NpZ24gXAorICAgIC1Xbm8tc2lnbi1jb21wYXJlIFwKKyAgICAtV25vLXRhdXRvbG9naWNhbC1wb2ludGVyLWNvbXBhcmUgXAorCisjIFN0YXRpYyBsaWJyYXJ5CisjPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCitpbmNsdWRlICQoQ0xFQVJfVkFSUykKK0xPQ0FMX1NSQ19GSUxFUyA6PSAkKGNvbW1vbl9TUkNfRklMRVMpCitMT0NBTF9DX0lOQ0xVREVTICs9ICQoY29tbW9uX0NfSU5DTFVERVMpCitMT0NBTF9DRkxBR1MgKz0gJChjb21tb25fQ0ZMQUdTKSAtZnZpc2liaWxpdHk9aGlkZGVuCitMT0NBTF9TSEFSRURfTElCUkFSSUVTICs9IGxpYmljdXVjCitMT0NBTF9NT0RVTEUgOj0gbGlieG1sMgorTE9DQUxfQ0xBTkcgOj0gdHJ1ZQorTE9DQUxfQURESVRJT05BTF9ERVBFTkRFTkNJRVMgKz0gJChMT0NBTF9QQVRIKS9BbmRyb2lkLm1rCitpbmNsdWRlICQoQlVJTERfU1RBVElDX0xJQlJBUlkpCisKKyMgU2hhcmVkIGxpYnJhcnkKKyM9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKK2luY2x1ZGUgJChDTEVBUl9WQVJTKQorTE9DQUxfU1JDX0ZJTEVTIDo9ICQoY29tbW9uX1NSQ19GSUxFUykKK0xPQ0FMX0NfSU5DTFVERVMgOj0gJChjb21tb25fQ19JTkNMVURFUykKK0xPQ0FMX0NGTEFHUyArPSAkKGNvbW1vbl9DRkxBR1MpCitMT0NBTF9TSEFSRURfTElCUkFSSUVTIDo9IGxpYmljdXVjCitMT0NBTF9NT0RVTEU6PSBsaWJ4bWwyCitMT0NBTF9DTEFORyA6PSB0cnVlCitMT0NBTF9BRERJVElPTkFMX0RFUEVOREVOQ0lFUyArPSAkKExPQ0FMX1BBVEgpL0FuZHJvaWQubWsKK2luY2x1ZGUgJChCVUlMRF9TSEFSRURfTElCUkFSWSkKKworIyBGb3IgdGhlIGhvc3QKKyMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworaW5jbHVkZSAkKENMRUFSX1ZBUlMpCitMT0NBTF9TUkNfRklMRVMgOj0gJChjb21tb25fU1JDX0ZJTEVTKQorTE9DQUxfQ19JTkNMVURFUyArPSAkKGNvbW1vbl9DX0lOQ0xVREVTKQorTE9DQUxfQ0ZMQUdTICs9ICQoY29tbW9uX0NGTEFHUykgLWZ2aXNpYmlsaXR5PWhpZGRlbgorTE9DQUxfU0hBUkVEX0xJQlJBUklFUyArPSBsaWJpY3V1Yy1ob3N0CitMT0NBTF9NT0RVTEUgOj0gbGlieG1sMgorTE9DQUxfQ0xBTkcgOj0gdHJ1ZQorTE9DQUxfQURESVRJT05BTF9ERVBFTkRFTkNJRVMgKz0gJChMT0NBTF9QQVRIKS9BbmRyb2lkLm1rCitpbmNsdWRlICQoQlVJTERfSE9TVF9TVEFUSUNfTElCUkFSWSkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvQ2hhbmdlTG9nIGIvbGlieG1sMi9DaGFuZ2VMb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDg3MjVkZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvQ2hhbmdlTG9nCkBAIC0wLDAgKzEsMTk2NzggQEAKK0ZyaSBKdWwgMTAgMTY6MTE6MzQgQ0VTVCAyMDA5IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcGFyc2VyLmM6IGZpeCBhIHJlZ3Jlc3Npb24gaW4gZW50aXR5IHBhcnNpbmcgd2hlbiB1c2luZyB0aGUgcmVhZGVyCisJICBpbnRyb2R1Y2VkIGJlY2F1c2Ugd2Ugd2VyZSBub3QgcmV1c2luZyBfcHJpdmF0ZSBvbiBlbnRpdGllcyBwYXJzaW5nCisJICBjb250ZXh0CisKK1RodSBKdWwgIDkgMTA6MjE6MDAgQ0VTVCAyMDA5IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCUFsZWtzZXkgU2FuaW4gc3VwcG9ydCBmb3IgYzE0biAxLjEKKwkqIGMxNG4uYyBpbmNsdWRlL2xpYnhtbC9jMTRuLmg6IGFkZHMgc3VwcG9ydCBmb3IgQzE0TiAxLjEsCisJICBuZXcgZmxhZ3MgYXQgdGhlIEFQSSBsZXZlbAorCSogcnVudGVzdC5jIE1ha2VmaWxlLmFtIHRlc3RDMTROLmMgeG1sbGludC5jOiBhZGQgc3VwcG9ydCBpbiBDTEkKKwkgIHRvb2xzIGFuZCB0ZXN0IGJpbmFyaWVzCisJKiByZXN1bHQvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy8qIHRlc3QvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy8qOgorCSAgYWRkIGEgbmV3IGJhdGNoIG9mIHRlc3RzCisKK1RodSBKdWwgIDkgMDg6NTI6MzUgQ0VTVCAyMDA5IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogY29uZmlnLmguaW46IHVwZGF0ZSBvZiBsaWJ0b29sIHNlZW1zIHRvIGhhdmUgbW9kaWZpZWQgaXQKKwkqIHB5dGhvbi9saWJ4bWwyY2xhc3MudHh0OiBweXRob24gdXBkYXRlIG1vZGlmaWVkIHRoZSBvcmRlcgorCSAgb2YgY2xhc3NlcyBhcHBhcmVudGx5CisKK1RodSBKdWwgIDkgMDg6NDM6MDYgQ0VTVCAyMDA5IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogdHJlZS5jOiBhdm9pZCBjYWxsaW5nIHhtbEFkZElEIHdpdGggTlVMTCB2YWx1ZXMKKwkqIHBhcnNlci5jOiBhZGQgYSBmZXcgeG1sSW5pdFBhcnNlciBpbiBzb21lIGVudHJ5IHBvaW50cworCitGcmkgSnVuIDE5IDE5OjUxOjA4IENFU1QgMjAwOSBSb2IgUmljaGFyZHMgPHJyaWNoYXJkc0BjZGF0YXpvbmUub3JnPgorCisJKiBwYXJzZXIuYzogdXNlIG9wdGlvbnMgZnJvbSBjdXJyZW50IHBhcnNlciBjb250ZXh0IHdoZW4gY3JlYXRpbmcgCisJICBhIHBhcnNlciBjb250ZXh0IHdpdGhpbiB4bWxQYXJzZUN0eHRFeHRlcm5hbEVudGl0eQorCSogeG1sd3JpdGVyLmM6IGZpeCBlcnJvciBtZXNzYWdlIHdoZW4gdW5hYmxlIHRvIGNyZWF0ZSBvdXRwdXQgZmlsZQorCitUaHUgSnVuICA0IDExOjE3OjIzIENFU1QgMjAwOSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGMxNG4uYyBkZWJ1Z1hNTC5jIGRvYy9leGFtcGxlcy9pbzIuYyBwYXJzZXIuYyBzY2hlbWF0cm9uLmMKKwkgIHZhbGlkLmMgeG1sc2NoZW1hcy5jIHhtbHdyaXRlci5jIHhwYXRoLmM6IHVzZSAlcyB0byBwcmludGYgc3RyaW5nCisJICBwYXRjaCBieSBDaHJpc3RpYW4gUGVyc2NoLCBmaXhlcyAjNTgxNjEyCisKK1RodSBKdW4gIDQgMTE6MDY6MDcgQ0VTVCAyMDA5IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcGFyc2VyLmMgdGhyZWFkcy5jOiBjaGFuZ2UgdGhlIHRocmVhZGluZyBpbml0aWFsaXphdGlvbiBzZXF1ZW5jZQorCSAgYXMgc3VnZ2VzdGVkIGJ5IElnb3IgTm92b3NlbHRzZXYgdG8gYXZvaWQgY3Jhc2ggaWYgeG1sSW5pdFBhcnNlcigpCisJICBpcyBjYWxsZWQgZnJvbSBhIHRocmVhZCB3aGljaCBpcyBub3QgdGhlIG1haW4gb25lLCBzaG91bGQgZml4CisJICAjNTg0NjA1CisKK0ZyaSBNYXkgMTUgMTc6NTQ6NDggQ0VTVCAyMDA5IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogSFRNTHBhcnNlci5jOiBtYWtlIHN1cmUgd2Uga2VlcCBsaW5lIG51bWJlcnMgZml4ZXMgIzU4MDcwNQorCSAgYmFzZWQgQWFyb24gUGF0dGVyc29uIHBhdGNoCisKK1R1ZSBNYXkgMTIgMDk6MTM6NTggQ0VTVCAyMDA5IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogSFRNTHBhcnNlci5jOiBhIGJyb2tlbiBIVE1MIHRhYmxlIGF0dHJpYnV0ZXMgaW5pdGlhbGl6YXRpb24sCisJICBmaXhlcyAjNTgxODAzLCBieSBSb2xhbmQgU3RlaW5lciA8cm9sYW5kc3RlaW5lckBnb29nbGUuY29tPgorCitUdWUgTWF5IDEyIDA4OjU0OjIwIENFU1QgMjAwOSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGxpYnhtbDIuZG9hcDogYWRkaW5nIFJERiBkb3BlIGZpbGUuCisKK1R1ZSBNYXkgMTIgMDg6NDI6NTIgQ0VTVCAyMDA5IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogY29uZmlndXJlLmluOiBhZGFwdCB0aGUgZXh0cmEgdmVyc2lvbiBkZXRlY3Rpb24gY29kZSB0byBnaXQKKworV2VkIEFwciAyOSAxNjowOTozOCBDRVNUIDIwMDkgUm9iIFJpY2hhcmRzIDxycmljaGFyZHNAY2RhdGF6b25lLm9yZz4KKworCSogcGFyc2VyLmM6IGRvIG5vdCBzZXQgZXJyb3IgY29kZSBpbiB4bWxOc1dhcm4KKworV2VkIEFwciAxNSAxMToxODoyNCBDRVNUIDIwMDkgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBpbmNsdWRlL2xpYnhtbC9wYXJzZXIuaCBpbmNsdWRlL2xpYnhtbC94bWx3cml0ZXIuaAorCSAgaW5jbHVkZS9saWJ4bWwvcmVsYXhuZy5oIGluY2x1ZGUvbGlieG1sL3htbHZlcnNpb24uaC5pbgorCSAgaW5jbHVkZS9saWJ4bWwveG1sd2luMzJ2ZXJzaW9uLmguaW4gaW5jbHVkZS9saWJ4bWwvdmFsaWQuaAorCSAgaW5jbHVkZS9saWJ4bWwveG1sc2NoZW1hcy5oIGluY2x1ZGUvbGlieG1sL3htbGVycm9yLmg6IGNoYW5nZQorCSAgQVRUUklCVVRFX1BSSU5URiBpbnRvIExJQlhNTF9BVFRSX0ZPUk1BVCB0byBhdm9pZCBtYWNybyBuYW1lCisJICBjb2xsaXNpb25zIHdpdGggb3RoZXIgcGFja2FnZXMgYW5kIGhlYWRlcnMgYXMgcmVwb3J0ZWQgYnkKKwkgIEJlbGdhYm9yIGFuZCBNaWtlIEhvbW1leQorCitUaHUgQXByICAyIDEzOjU3OjE1IENFU1QgMjAwOSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGVycm9yLmM6IGZpeCBzdHJ1Y3R1cmVkIGVycm9yIGhhbmRsaW5nIHByb2JsZW1zICM1NjQyMTcKKworVGh1IE1hciAyNiAxOTowODowOCBDRVQgMjAwOSBSb2IgUmljaGFyZHMgPHJyaWNoYXJkc0BjZGF0YXpvbmUub3JnPgorCisJKiBwYXJzZXIuYzogdXNlIG9wdGlvbnMgZnJvbSBjdXJyZW50IHBhcnNlciBjb250ZXh0IHdoZW4gY3JlYXRpbmcgCisJICBhbiBlbnRpdHkgcGFyc2VyIGNvbnRleHQKKworV2VkIE1hciAyNSAxMTo0MDozNCBDRVQgMjAwOSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGRvYy8qOiB1cGRhdGVkIFNWTiBVUkwgZm9yIEdOT01FIGFzIHBvaW50ZWQgYnkgVmluY2VudCBMZWZldnJlCisJICBhbmQgcmVnZW5lcmF0ZWQgZG9jcworCitXZWQgTWFyIDI1IDExOjIxOjI2IENFVCAyMDA5IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcGFyc2VyLmM6IGhpZGUgdGhlIG5iUGFyc2UqIHZhcmlhYmxlcyB1c2VkIGZvciBkZWJ1Z2dpbmcKKwkgIGFzIHBvaW50ZWQgYnkgTWlrZSBIb21tZXkKKworV2VkIE1hciAyNSAxMDo1MDowNSBDRVQgMjAwOSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGluY2x1ZGUvd3NvY2tjb21wYXQuaCB3aW4zMi9NYWtlZmlsZS5iY2IgeHBhdGguYzogZml4ZXMgZm9yCisJICBCb3JsYW5kL0NvZGVHZWFyL0VtYmFyY2FkZXJvIGNvbXBpbGVycyBieSBFcmljIFp1cmNoZXIKKworV2VkIE1hciAyNSAxMDo0MzowNyBDRVQgMjAwOSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhwYXRoLmM6IHhtbFhQYXRoUmVnaXN0ZXJOcyBzaG91bGQgbm90IGFsbG93IGVucHR5IHByZWZpeGVzCisKK01vbiBNYXIgMjMgMjA6Mjc6MTUgQ0VUIDIwMDkgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB0cmVlLmM6IGFkZCBhIG1pc3NpbmcgY2hlY2sgaW4geG1sQWRkU2libGluZywgcGF0Y2ggYnkgS3JpcyBCcmV1a2VyCisJKiB4bWxJTy5jOiBhdm9pZCB4bWxBbGxvY091dHB1dEJ1ZmZlciB1c2luZyBYTUxfQlVGRkVSX0VYQUNUIHdoaWNoCisJICBsZWFkcyB0byBwZXJmb3JtYW5jZXMgcHJvYmxlbXMgZXNwZWNpYWxseSBvbiBXaW5kb3dzLgorCitUdWUgTWFyICAzIDE0OjMwLjI4IEhLVCAyMDA5IFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiB0cmlvLmg6IGNoYW5nZWQgaW5jbHVkZSBvZiBjb25maWcuaCB0byBiZSBzdXJyb3VuZGVkIGJ5CisJICBxdW90YXRpb24gbWFya3MgIzU3MDgwNgorCitTYXQgRmViIDIxIDEwOjIwOjM0IENFVCAyMDA5IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogdGhyZWFkcy5jIHBhcnNlci5jOiBtb3JlIHdhcm5pbmdzIGFib3V0IHhtbENsZWFudXBUaHJlYWRzIGFuZAorCSAgeG1sQ2xlYW51cFBhcnNlciB0byBhdm9pZCB0cm91YmxlcyBsaWtlICM1NzE0MDkKKworRnJpIEZlYiAyMCAwOTo0MDowNCBDRVQgMjAwOSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbHdyaXRlci5jOiBjbGVhbnVwcyBhbmQgZXJyb3IgcmVwb3J0cyB3aGVuIHhtbFRleHRXcml0ZXJWU3ByaW50ZgorCSAgZmFpbHMsIGJ5IEppbm1laSBUYXR1eWEKKworRnJpIEZlYiAyMCAwOToxODo1NiBDRVQgMjAwOSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbHdyaXRlci5jOiByZW1vdmUgYSBjb3VwbGUgb2YgbGVha3Mgb24gZXJyb3JzIHJlcG9ydGVkIGJ5CisJICBKaW5tZWkgVGF0dXlhCisKK1N1biBKYW4gMTggMjI6Mzc6NTkgQ0VUIDIwMDkgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBjb25maWd1cmUuaW4gZG9jL3htbC5odG1sIGRvYy8qOiBwcmVwYXJpbmcgMC43LjMgcmVsZWFzZQorCSogaW5jbHVkZS9saWJ4bWwvcGFyc2VySW50ZXJuYWxzLmggU0FYMi5jOiBmaXggYSB0eXBvIGluIGEgbmFtZQorCitTdW4gSmFuIDE4IDIxOjQ4OjI4IENFVCAyMDA5IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogaW5jbHVkZS9saWJ4bWwvcGFyc2VyLmggaW5jbHVkZS9saWJ4bWwveG1sd3JpdGVyLmgKKwkgIGluY2x1ZGUvbGlieG1sL3JlbGF4bmcuaCBpbmNsdWRlL2xpYnhtbC94bWx2ZXJzaW9uLmguaW4KKwkgIGluY2x1ZGUvbGlieG1sL3htbHdpbjMydmVyc2lvbi5oLmluIGluY2x1ZGUvbGlieG1sL3ZhbGlkLmgKKwkgIGluY2x1ZGUvbGlieG1sL3htbHNjaGVtYXMuaCBpbmNsdWRlL2xpYnhtbC94bWxlcnJvci5oOgorCSAgcG9ydCBwYXRjaCBmcm9tIE1hcmN1cyBNZWlzc25lciB0byBhZGQgZ2NjIGNoZWNraW5nIGZvcgorCSAgcHJpbnRmIGxpa2UgZnVuY3Rpb25zIHBhcmFtZXRlcnMsIHNob3VsZCBmaXggIzY1MDY4CisJKiBkb2MvYXBpYnVpbGQucHkgZG9jLyo6IG1vZGlmaWVkIHRoZSBzY3JpcHQgYWNjb3JkaW5nbHkKKwkgIGFuZCByZWdlbmVyYXRlZAorCSogeHBhdGguYyB4bWxtZW1vcnkuYyB0aHJlYWRzLmM6IGZpeCBhIGZldyB3YXJuaW5ncworCitTdW4gSmFuIDE4IDIwOjQwOjQyIENFVCAyMDA5IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogaW5jbHVkZS9saWJ4bWwveG1sd2luMzJ2ZXJzaW9uLmguaW46IHdpbmRvd3MgaGVhZGVyIHNob3VsZAorCSAgZ2V0IHRoZSBzYW1lIGRlZmluZQorCitTdW4gSmFuIDE4IDE4OjIyOjMzIENFVCAyMDA5IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogaW5jbHVkZS9saWJ4bWwveG1sdmVyc2lvbi5oLmluIGluY2x1ZGUvbGlieG1sL3htbG1lbW9yeS5oOgorCSAgYXBwbHkgcGF0Y2ggZnJvbSBNYXJjdXMgTWVpc3NuZXIgdG8gYWRkIGdjYyBhdHRyaWJ1dGUgYWxsb2Nfc2l6ZQorCSAgc2hvdWxkIGZpeCAjNTUyNTA1CisJKiBkb2MvYXBpYnVpbGQucHkgZG9jLyogdGVzdGFwaS5jOiByZWdlbmVyYXRlIHRoZSBBUEkKKwkqIGluY2x1ZGUvbGlieG1sL3BhcnNlckludGVybmFscy5oOiBmaXggYSBjb21tZW50IHByb2JsZW0gcmFpc2VkCisJICBieSBhcGlidWlsZC5weQorCitTdW4gSmFuIDE4IDE2OjM5OjAxIENFVCAyMDA5IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogdGhyZWFkcy5jOiBhbHNvIHJlbW92ZSBwdGhyZWFkIGtleSB3aGVuIHN0b3BwaW5nIHRocmVhZAorCSAgc3VwcG9ydCwgcGF0Y2ggYmFzZWQgb24gQWxleCBPdHQgb25lIHNob3VsZCBmaXggIzU2NDcyMworCitTdW4gSmFuIDE4IDE1OjU1OjE4IENFVCAyMDA5IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogdGhyZWFkcy5jOiBwYXRjaCBmcm9tIERhbmllbCBaaW1tZXJtYW5uIGZpeGluZyBhIG1lbW9yeSBsZWFrCisJICBpbiBhbiBlZGdlIGNhc2UsIHNvbHZlcyAjNTYyMjMwCisKK1N1biBKYW4gMTggMTU6MDY6MDUgQ0VUIDIwMDkgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBpbmNsdWRlL2xpYnhtbC9wYXJzZXJJbnRlcm5hbHMuaCBTQVgyLmM6IGFkZCBhIG5ldyBkZWZpbmUKKwkgIFhNTF9NQVhfVEVYVF9MRU5HVEggbGltaXRpbmcgdGhlIG1heGltdW0gc2l6ZSBvZiBhIHNpbmdsZSB0ZXh0CisJICBub2RlLCB0aGUgZGVmYXVsdGlzIDEwTUIgYW5kIGNhbiBiZSByZW1vdmVkIHdpdGggdGhlIEhVR0UKKwkgIHBhcnNpbmcgb3B0aW9uCisKK01vbiBKYW4gMDUgMTg6Mjg6NDEgQ0VUIDIwMDkgUm9iIFJpY2hhcmRzIDxycmljaGFyZHNAY2RhdGF6b25lLm9yZz4KKworCSogaW5jbHVkZS9saWJ4bWwvcGFyc2VyLmggcGFyc2VyLmM6IGFkZCBYTUxfUEFSU0VfT0xEU0FYIHBhcnNlciAKKwkgIG9wdGlvbiB0byBlbmFibGUgcHJlIDIuNyBTQVggYmVoYXZpb3IuCisKK1dlZCBEZWMgMzEgMjM6MTE6MzcgQ0VUIDIwMDggUm9iIFJpY2hhcmRzIDxycmljaGFyZHNAY2RhdGF6b25lLm9yZz4KKworCSogdHJlZS5jOiBzZXQgZG9jIG9uIGxhc3QgY2hpbGQgdHJlZSBpbiB4bWxBZGRDaGlsZExpc3QgZm9yIAorCSAgYnVnICM1NDY3NzIuIEZpeCBwcm9ibGVtIGFkZGluZyBhbiBhdHRyaWJ1dGUgdmlhIHdpdGggeG1sQWRkQ2hpbGQgCisJICByZXBvcnRlZCBieSBLcmlzIEJyZXVrZXIuCisKK1N1biBEZWMgMjcgMTQ6MTY6MTMgQ0VUIDIwMDggUm9iIFJpY2hhcmRzIDxycmljaGFyZHNAY2RhdGF6b25lLm9yZz4KKworCSogeG1sd3JpdGVyLmM6IGZpeCBpbmRlbnRpbmcgaW4geG1sVGV4dFdyaXRlckZ1bGxFbmRFbGVtZW50IGZvciAKKwkgIGJ1ZyMgNTU0MzUzLgorCitUaHUgTm92IDI3IDE2OjI0OjUyIENFVCAyMDA4IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogaW5jbHVkZS9saWJ4bWwvdHJlZS5oIHRyZWUuYyBweXRob24vZ2VuZXJhdG9yLnB5OiBhZGRzCisJICBlbGVtZW50IHRyYXZlcnNhbCBzdXBwb3J0CisJKiB2YWxpZC5jOiBhdm9pZCBhIHdhcm5pbmcKKwkqIGRvYy8qOiByZWdlbmVyYXRlZAorCitNb24gTm92IDE3IDE2OjU2OjE4IENFVCAyMDA4IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogU0FYMi5jIHBhcnNlci5jOiBmaXggZm9yIENWRS0yMDA4LTQyMjYsIGEgbWVtb3J5IG92ZXJmbG93CisJICB3aGVuIGJ1aWxkaW5nIGdpZ2FudGljIHRleHQgbm9kZXMsIGFuZCBhIGJpdCBvZiBjbGVhbnVwCisJICB0byBiZXR0ZXIgaGFuZGxlZCBvdXQgb2YgbWVtb3J5IHByb2JsZW0gaW4gdGhhdCBjb2RlLgorCSogdHJlZS5jOiBmaXggZm9yIENWRS0yMDA4LTQyMjUsIGxhY2sgb2YgdGVzdGluZyBsZWFkcyB0bworCSAgYSBidXN5IGxvb3AgdGVzdCBhc3N1bWluZyBvbmUgaGF2ZSBlbm91Z2ggY29yZSBtZW1vcnkuCisKK1RodSBOb3YgIDYgMTQ6MzQ6MzUgQ0VUIDIwMDggRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxsaW50LmM6IE1hdHRoaWFzIEthZWhsY2tlIHJlcG9ydGVkIGEgYnVpbGQgcHJvYmxlbSB3aGVuCisJICBub3QgY29tcGlsaW5nIEhUTUwgc3VwcG9ydCBpbi4KKworRnJpIE9jdCAxNyAxNToyNDowOCBDRVNUIDIwMDggRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBjb25maWd1cmUuaW4gZG9jL01ha2VmaWxlLmFtOiBwYXRjaCBmcm9tIEFkcmlhbiBCdW5rIHdoaWNoCisJICBhZGRzIC0tZGlzYWJsZS1yZWJ1aWxkLWRvY3MgdG8gYXZvaWQgcmVidWlsZGluZyB0aGVtCisKK0ZyaSBPY3QgIDMgMDk6NDM6NDUgQ0VTVCAyMDA4IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogY29uZmlndXJlLmluIGRvYy8qIE5FV1M6IHByZXBhcmluZyB0aGUgcmVsZWFzZSBvZiAyLjcuMgorCSogZGljdC5jOiBmaXggdGhlIFNvbGFyaXMgcG9ydGFiaWxpdHkgaXNzdWUKKwkqIHBhcnNlci5jOiBhZGRpdGlvbmFsIGNsZWFudXAgb24gIzU1NDY2MCBmaXgKKwkqIHRlc3QvZW50MTMgcmVzdWx0L2VudDEzKiByZXN1bHQvbm9lbnQvZW50MTMqOiBhZGRlZCB0aGUKKwkgIGV4YW1wbGUgaW4gdGhlIHJlZ3Jlc3Npb24gdGVzdCBzdWl0ZS4KKwkqIEhUTUxwYXJzZXIuYzogaGFuZGxlIGxlYWRpbmcgQk9NIGluIGh0bWxQYXJzZUVsZW1lbnQoKQorCitUaHUgT2N0ICAyIDIyOjUzOjM5IENFU1QgMjAwOCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlci5jOiBmaXggYSBuYXN0eSBidWcgaW50cm9kdWNlZCB3aGVuIGNsZWFuaW5nIHVwCisJICBlbnRpdGllcyBwcm9jZXNzaW5nIGluIDIuNy54ICwgZml4ZXMgIzU1NDY2MAorCitUaHUgU2VwIDI1IDE4OjA0OjIwIENFU1QgMjAwOCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIEhUTUxwYXJzZXIuYzogZml4IGFuIEhUTUwgcGFyc2luZyBlcnJvciBvbiBsYXJnZSBkYXRhIHNlY3Rpb25zCisJICByZXBvcnRlZCBieSBNaWtlIERheQorCSogdGVzdC9IVE1ML3V0ZjhidWcuaHRtbCByZXN1bHQvSFRNTC91dGY4YnVnLmh0bWwuZXJyCisJICByZXN1bHQvSFRNTC91dGY4YnVnLmh0bWwuc2F4IHJlc3VsdC9IVE1ML3V0ZjhidWcuaHRtbDogYWRkIHRoZQorCSAgcmVwcm9kdWNlciB0byB0aGUgdGVzdCBzdWl0ZQorCitUaHUgU2VwIDI1IDE3OjM1OjU3IENFU1QgMjAwOCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHJ1bnhtbGNvbmYuYzogZml4IGNvbXBpbGF0aW9uIGlmIFhQYXRoIGlzIG5vdCBpbmNsdWRlZAorCitUaHUgU2VwIDI1IDE2OjU0OjA0IENFU1QgMjAwOCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbHJlYWRlci5jOiBwYXRjaCBmcm9tIFJpY2NhcmRvIFNjdXNzYXQgZml4aW5nIGN1c3RvbSBlcnJvcgorCSAgaGFuZGxlcnMgcHJvYmxlbXMuCisKK1RodSBTZXAgMjUgMTY6MzA6MTEgQ0VTVCAyMDA4IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogaW5jbHVkZS9saWJ4bWwveG1sc2F2ZS5oIHhtbHNhdmUuYzogbmV3IG9wdGlvbnMgdG8gc2VyaWFsaXplCisJICBhcyBYTUwvSFRNTC9YSFRNTCBhbmQgcmVzdG9yZSBvbGQgZW50cnkgcG9pbnQgYmVoYXZpb3VycworCitNb24gU2VwICAxIDE2OjQ5OjA1IENFU1QgMjAwOCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGRvYy94bWwuaHRtbCBkb2MvbmV3cy5odG1sIGNvbmZpZ3VyZS5pbiBweXRob24vc2V0dXAucHkgTkVXUzoKKwkgIHByZXBhcmUgcmVsZWFzZSBvZiAyLjcuMQorCitNb24gU2VwICAxIDE1OjM1OjEzIENFU1QgMjAwOCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHNjaGVtYXRyb24uYyB4cGF0aC5jOiBhcHBsaWVkIGEgY291cGxlIG9mIHBhdGNoZXMgZnJvbSBNYXJ0aW4KKwkgIGF2b2lkaW5nIHNvbWUgbGVha3MsIGZpeGlucSBRTmFtZSBjaGVja3MgaW4gWFBhdGgsIFhQYXRoIGRlYnVnZ2luZworCSAgYW5kIHNjaGVtYXRyb24gY29kZSBjbGVhbnVwcy4KKwkqIHB5dGhvbi90ZXN0cy9NYWtlZmlsZS5hbSBweXRob24vdGVzdHMveHBhdGhsZWFrLnB5OiBhZGQgdGhlCisJICBzcGVjaWZpYyByZWdyZXNzaW9uIHRlc3RzLCBqdXN0IHR3ZWFrIGl0IHRvIGF2b2lkIG91dHB1dCBieSBkZWZhdWx0CisKK01vbiBTZXAgIDEgMTU6MDI6MDUgQ0VTVCAyMDA4IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogdHJpb25hbi5jOiBCb3JsYW5kIEMgZml4IGZyb20gTW9yaXR6IEJvdGgKKwkqIHRlc3RhcGkuYzogcmVnZW5lcmF0ZSwgd29ya2Fyb3VuZCBhIHByb2JsZW0gZm9yIGJ1ZmZlciB0ZXN0aW5nCisJKiB4bWxJTy5jIEhUTUx0cmVlLmM6IG5ldyBpbnRlcm5hbCBlbnRyeSBwb2ludCB0byBoaWRlIGV2ZW4gYmV0dGVyCisJICB4bWxBbGxvY091dHB1dEJ1ZmZlckludGVybmFsCisJKiB0cmVlLmM6IGhhcmRlbiB0aGUgY29kZSBhcm91bmQgYnVmZmVyIGFsbG9jYXRpb24gc2NoZW1lcworCSogcGFyc2VyLmM6IHJlc3RvcmUgdGhlIHdhcm5pbmcgd2hlbiBuYW1lc3BhY2UgbmFtZXMgYXJlIG5vdCBhYnNvbHV0ZQorCSAgVVJJcworCSogcnVueG1sY29uZi5jOiBjb250aW51ZSByZWdyZXNzaW9uIHRlc3RzIGlmIHdlIGdldCB0aGUgZXhwZWN0ZWQKKwkgIG51bWJlciBvZiBlcnJvcnMKKwkqIE1ha2VmaWxlLmFtOiBydW4gdGhlIHB5dGhvbiB0ZXN0cyBvbiBtYWtlIGNoZWNrCisJKiB4bWxzYXZlLmM6IGhhbmRsZSB0aGUgSFRNTCBkb2N1bWVudHMgYW5kIHRyZWVzCisJKiBweXRob24vbGlieG1sLmM6IGNvbnZlcnQgcHl0aG9uIHNlcmlhbGl6YXRpb24gdG8gdGhlIHhtbFNhdmUgQVBJcworCSAgYW5kIGF2b2lkIHNvbWUgaG9ycmlibGUgaGFja3MKKworU2F0IEF1ZyAzMCAxNjo1ODo0MCBDRVNUIDIwMDggRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBjb25maWd1cmUuaW4sIGRvYy8qOiBwcmVwYXJpbmcgMi43LjAgcmVsZWFzZQorCSogdHJlZS5jOiByZW1vdmUgc29tZSB0ZXN0aW5nIHRyYWNlcworCSogcGFyc2VyLmMgeG1sSU8uYyB4bWxzY2hlbWFzLmM6IHJlbW92ZSBzb21lIHdhcm5pbmdzCisKK1NhdCBBdWcgMzAgMTQ6NTA6MTYgQ0VTVCAyMDA4IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogaW5jbHVkZS9saWJ4bWwvdHJlZS5oIHRyZWUuYzogbWFrZSBhIG5ldyBraW5kIG9mIGJ1ZmZlciB3aGVyZQorCSAgc2hyaW5raW5nIGFuZCBhZGRpbmcgaW4gaGVhZCBjYW4gYXZvaWQgcmVhbGxvY2F0aW9uIG9yIGZ1bGwKKwkgIGJ1ZmZlciBtZW1tb3ZlcworCSogZW5jb2RpbmcuYyB4bWxJTy5jOiB1c2UgdGhlIG5ldyBraW5kIG9mIGJ1ZmZlcnMgZm9yIG91dHB1dAorCSAgYnVmZmVycworCitTYXQgQXVnIDMwIDEwOjE4OjEzIENFU1QgMjAwOCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGRvYy8qIHRlc3RhcGkuYzogcmVnZW5lcmF0ZWQKKworRnJpIEF1ZyAyOSAyMTo1MzoxMiBDRVNUIDIwMDggRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBkb2MvZXhhbXBsZXMvcmVhZGVyMy5jOiBwYXRjaCBmcm9tICBSb2JlcnQgU2Nod2ViZWwgLCBhbGxvd3MgdG8KKwkgIGNvbXBpbGUgdGhlIGV4YW1wbGUgaWYgY29uZmlndXJlZCB3aXRob3V0IG91dHB1dCBzdXBwb3J0IGZpeGVzCisJICAjNTQ1NTgyCisJKiBNYWtlZmlsZS5hbTogYWRkIHRlc3RyZWN1cnNlIHRvIHRoZSBtYWtlIGNoZWNrIHRlc3RzCisJKiBIVE1McGFyc2VyLmM6IGlmIHRoZSBwYXJzZXIgZ290IGEgZW5jb2RpbmcgYXJndW1lbnQgaXQgc2hvdWxkIGJlCisJICB1c2VkIG92ZXIgd2hhdCB0aGUgbWV0YSBzcGVjaWZpZXMsIHBhdGNoIGZpeGluZyAjNTM2MzQ2CisKK0ZyaSBBdWcgMjkgMTQ6NDE6MzggQ0VTVCAyMDA4IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcGFyc2VyLmM6IGEgY291cGxlIG1vcmUgZml4ZXMKKwkqIG5hbm9odHRwLmMgbmFub2Z0cC5jOiBwYXRjaCBmcm9tIEFuZHJlYXMgRsOkcmJlciB0byBjb21waWxlIG9uIEhhaWt1CisJICBmaXhlcyAjNTI3ODgwCisJKiBkb2MvZXhhbXBsZXMvKjogcmVnZW5lcmF0ZWQKKworVGh1IEF1ZyAyOCAxNzozMTo0NiBDRVNUIDIwMDggRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBwYXJzZXIuYyBpbmNsdWRlL2xpYnhtbC9wYXJzZXIuaDogY29tcGxldGVseSBkaWZmZXJlbnQgZml4IGZvcgorCSAgdGhlIHJlY3Vyc2lvbiBkZXRlY3Rpb24gYmFzZWQgb24gZW50aXR5IGRlbnNpdHksIGJpZyBjbGVhbnVwcworCSAgaW4gdGhlIGVudGl0eSBwYXJzaW5nIGNvZGUgdG9vCisJKiByZXN1bHQvKi5zYXgqOiB0aGUgcGFyc2VyIHNob3VsZCBub3QgYXNrIGZvciB1c2VkIGRlZmluZWQgdmVyc2lvbnMKKwkgIG9mIHRoZSBwcmVkZWZpbmVkIGVudGl0aWVzCisJKiB0ZXN0cmVjdXJzZS5jOiBhdXRvbWF0aWMgdGVzdCBmb3IgZW50aXR5IHJlY3Vyc2lvbiBjaGVja3MKKwkqIE1ha2VmaWxlLmFtOiBhZGRlZCB0ZXN0cmVjdXJzZQorCSogdGVzdC9yZWN1cnNlL2xvbCogdGVzdC9yZWN1cnNlL2dvb2QqOiBhIGZpcnN0IHNldCBvZiB0ZXN0cyBmb3IKKwkgIHRoZSByZWN1cnNpb24KKworV2VkIEF1ZyAyNyAyMTo1NTozNCBDRVNUIDIwMDggRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBpbmNsdWRlL2xpYnhtbC94bWxlcnJvci5oIHBhcnNlci5jOiBhIGJpdCBvZiBjbGVhbnVwIGFuZAorCSAgYWRkZWQgY2hlY2tzIGJhc2VkIG9uIHRoZSByZWdyZXNzaW9uIHRlc3RzIG9mIHRoZSB4bWxjb25mIHN1aXRlCisKK1dlZCBBdWcgMjcgMTk6MjI6MzUgQ0VTVCAyMDA4IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogdXJpLmM6IGJ1ZyBpbiBwYXJzaW5nIFJGQyAzOTg2IHVyaXMgd2l0aCBwb3J0IG51bWJlcnMKKworV2VkIEF1ZyAyNyAxNzozMDo0OCBDRVNUIDIwMDggRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBjb25maWd1cmUuaW4gTWFrZWZpbGUuYW06IGFkZCBhbiAtLXdpdGgtY292ZXJhZ2UgY29uZmlndXJlIG9wdGlvbgorCSAgYW5kIGEgJ21ha2UgY292JyB0YXJnZXQgYmFzZWQgb24gZ2NjIHByb2ZpbGluZyBhbmQgdGhlIGxjb3YKKwkgIHRvb2wuIEN1cnJlbnRseSBhdCA2OC45JSBjb3ZlcmFnZSBvdXQgb2YgJ21ha2UgY2hlY2snIGFuZCAKKwkgIHJ1bnN1aXRlIGV4ZWN1dGlvbnMuCisJKiB4bWxyZWFkZXIuYzogcmVtb3ZlIHdhcm5pbmdzIGR1ZSB0byBDKysgY29tbWVudHMKKworV2VkIEF1ZyAyNyAxNTowMDo1NCBDRVNUIDIwMDggRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBpbmNsdWRlL2xpYnhtbC9wYXJzZXJJbnRlcm5hbHMuaCBwYXJzZXIuYzogY2xlYW51cCBlbnRpdHkKKwkgIHB1c2hpbmcgZXJyb3IgaGFuZGxpbmcgYmFzZWQgb24gYSBwYXRjaCBmcm9tIEFzaHdpbgorCitXZWQgQXVnIDI3IDEzOjQxOjI2IENFU1QgMjAwOCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHRocmVhZHMuYzogZml4IGEgc21hbGwgaW5pdGlhbGl6YXRpb24gcHJvYmxlbSByYWlzZWQgYnkgQXNod2luCisJKiB0ZXN0YXBpLmMgZ2VudGVzdC5weTogaW5jcmVhc2UgdGVzdGluZyBlc3BlY2lhbGx5IGZvciBkb2N1bWVudAorCSAgd2l0aCBhbiBpbnRlcm5hbCBzdWJzZXQsIGFuZCBlbnRpdGllcworCSogdHJlZS5jOiBmaXggYSBkZWFsbG9jYXRpb24gaXNzdWUgd2hlbiB1bmxpbmtpbmcgZW50aXRpZXMgZnJvbQorCSAgYSBkb2N1bWVudC4KKwkqIHZhbGlkLmM6IGZpeCBhIG1pc3NpbmcgZW50cnkgcG9pbnQgdGVzdCBub3QgZm91bmQgcHJldmlvdXNseS4KKwkqIGRvYy8qOiByZWdlbmVyYXRlZCB0aGUgQVBJcywgZG9jcyBldGMuCisKK1R1ZSBBdWcgMjYgMTU6MDI6NTggQ0VTVCAyMDA4IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogaW5jbHVkZS9saWJ4bWwvcGFyc2VyLmggcGFyc2VyLmMgeG1sbGludC5jOiBzdHJlbmd0aGVuIHNvbWUKKwkgIG9mIHRoZSBpbnRlcm5hbCBwYXJzZXIgbGltaXRzLCBhZGQgYW4gWE1MX1BBUlNFX0hVR0Ugb3B0aW9uCisJICB0byBieXBhc3MgdGhlbSBhbGwuIE1vcmUgaW50ZXJuYWwgcGFyc2VyIGxpbWl0cyB3aWxsIHN0aWxsIG5lZWQKKwkgIHRvIGJlIGFkZGVkLgorCitUdWUgQXVnIDI2IDA5OjQyOjA4IENFU1QgMjAwOCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIE1ha2VmaWxlLmFtOiBhZGQgdGhlIHRlc3RjaGFyIHRvICdtYWtlIGNoZWNrJworCSogeG1sc2NoZW1hcy5jOiBWb2xrZXIgR3JhYnNjaCBwb2ludGVkIG91dCBhIHR5cG8KKwkqIHhtbHJlZ2V4cC5jOiBwcm9kdWN0aW9uIFsxOV0gZnJvbSBYTUwgU2NoZW1hcyByZWdleHBzIHdlcmUgYQorCSAgbWlzdGFrZSByZW1vdmVkIGluIHZlcnNpb24gUkVDLXhtbHNjaGVtYS0yLTIwMDQxMDI4LCBWb2xrZXIgR3JhYnNjaAorCSAgcHJvdmlkZWQgYSBwYXRjaCB0byByZW1vdmUgaXQKKwkqIHRlc3Qvc2NoZW1hcy9yZWdleHAtY2hhci1yZWZfMC54bWwgdGVzdC9zY2hlbWFzL3JlZ2V4cC1jaGFyLXJlZl8wLnhzZAorCSAgdGVzdC9zY2hlbWFzL3JlZ2V4cC1jaGFyLXJlZl8xLnhzZCByZXN1bHQvc2NoZW1hcy9yZWdleHAtY2hhci1yZWZfMF8wCisJICByZXN1bHQvc2NoZW1hcy9yZWdleHAtY2hhci1yZWZfMV8wOiBWb2xrZXIgR3JhYnNjaCBhbHNvIHByb3ZpZGVkCisJICByZWdlc3Npb24gdGVzdHMgZm9yIHRoaXMKKworVHVlIEF1ZyAyNiAwOToyNTozOSBDRVNUIDIwMDggRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBpbmNsdWRlL2xpYnhtbC9wYXJzZXIuaCB4aW5jbHVkZS5jIHhtbGxpbnQuYzogcGF0Y2ggYmFzZWQgb24KKwkgIFdpZWFudCBOaWVsYW5kZXIgY29udHJpYnV0aW9uIHRvIGFkZCB0aGUgb3B0aW9uIG9mIG5vdCBkb2luZworCSAgVVJJIGJhc2UgZml4dXAgaW4gWEluY2x1ZGUKKworTW9uIEF1ZyAyNSAxNjo1Mjo1MyBDRVNUIDIwMDggRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxyZWFkZXIuYzogYXBwbGllZCBwYXRjaCBmcm9tIEFzd2luIHRvIGZpeCB0cmVlIHNraXBwaW5nCisJKiBpbmNsdWRlL2xpYnhtbC9lbnRpdGllcy5oIGVudGl0aWVzLmM6IGZpeGVkIGEgY29tbWVudCBhbmQKKwkgIGFkZGVkIGEgbmV3IHhtbE5ld0VudGl0eSgpIGVudHJ5IHBvaW50CisJKiBydW50ZXN0LmM6IGJlIGxlc3MgdmVyYm9zZQorCSogdHJlZS5jOiBzcGFjZSBhbmQgdGFicyBjbGVhbnVwcworCitNb24gQXVnIDI1IDEwOjU2OjMwIENFU1QgMjAwOCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGluY2x1ZGUvbGlieG1sL2VudGl0aWVzLmggZW50aXRpZXMuYyBTQVgyLmMgcGFyc2VyLmM6IHJld29yaworCSAgdGhlIHBhdGNoIHRvIGF2b2lkIHNvbWUgQUJJIGlzc3VlIHdpdGggcGVvcGxlIGFsbG9jYXRpbmcKKwkgIGVudGl0aWVzIHN0cnVjdHVyZSBkaXJlY3RseQorCitXZWQgQXVnIDIwIDE5OjAyOjAxIENFU1QgMjAwOCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGluY2x1ZGUvbGlieG1sL3BhcnNlci5oIGluY2x1ZGUvbGlieG1sL2VudGl0aWVzLmggZW50aXRpZXMuYworCSAgcGFyc2VySW50ZXJuYWxzLmMgcGFyc2VyLmM6IGZpeCBmb3IgQ1ZFLTIwMDgtMzI4MQorCitTdW4gQXVnIDEwIDE3OjA2OjEzIENFU1QgMjAwOCBSb2IgUmljaGFyZHMgPHJyaWNoYXJkc0BjdGluZHVzdHJpZXMubmV0PgorCisJKiBkaWN0LmM6IGZpeCBub24gR05VQyBidWlsZHMuCisKK0ZyaSBBdWcgIDggMTQ6MTM6MDYgQ0VTVCAyMDA4IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogbWFrZWZpbGUuYW06IGFkZGluZyBhIGNoZWNrLXZhbGdyaW5kIHRhcmdldAorCitGcmkgQXVnICA4IDE0OjAxOjU5IENFU1QgMjAwOCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIE1ha2VmaWxlLmFtIHRlc3RkaWN0LmM6IGFkZCB0aGUgbmV3IHRlc3QgaW4gJ21ha2UgY2hlY2snIGFuZAorCSAgdXBkYXRlIGl0IHRvIGNoZWNrIHN1YmRpY3Rpb25hcmllcyBwcm9jZXNzaW5nLgorCitGcmkgQXVnICA4IDEyOjA3OjIwIENFU1QgMjAwOCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHRlc3RkaWN0LmM6IGFkZGVkIGEgcHJvZ3JhbSB0byByZWdyZXNzaW9uIHRlc3QgdGhlIGRpY3Rpb25hcnkgY29kZQorCSogZGljdC5jOiBpbXByb3ZlIHRoZSBsb29rdXAgZWZmaWNpZW5jeSBieSBjYWNoaW5nIHRoZSBrZXkuCisKK1RodSBBdWcgIDcgMTg6MzA6NTUgQ0VTVCAyMDA4IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZGljdC5jOiBjaGFzZWQgYW5kIGZvdW5kIGEgY291cGxlIG9mIG5hc3R5IGlzc3VlcworCitUaHUgQXVnICA3IDE1OjUxOjMxIENFU1QgMjAwOCBTdmVuIEhlcnpiZXJnIDxzdmVuQGltZW5kaW8uY29tPgorCisJQnVnIDU0NjYyOSDigJMgcnVudGVzdHMgZG9lc24ndCBwYXNzIG9uIG15IG1hYworCVJldmlld2VkIGJ5IFdpbGxpYW0gTS4gQnJhY2suCisKKwkqIHJ1bnRlc3QuYzogdXNlIGxpYnB0aHJlYWQgb24gTWFjIE9TIFggYXMgd2VsbAorCitXZWQgQXVnICA2IDEyOjI0OjMzIENFU1QgMjAwOCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHVyaS5jOiBhbGxvdyBbIGFuZCBdIGluIGZyYWdtZW50IGlkZW50aWZpZXJzLCAzOTg2IGRpc2FsbG93IHRoZW0KKwkgIGJ1dCBpdCdzIHdpZGVseSB1c2VkIGZvciBYUG9pbnRlciwgYW5kIHdvdWxkIGJyZWFrIERvY0Jvb2sKKwkgIHByb2Nlc3NpbmcgYW1vbmcgb3RoZXJzCisKK1dlZCBBdWcgIDYgMTE6MzI6MjEgQ0VTVCAyMDA4IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZGljdC5jOiBjaGFuZ2UgdGhlIGJpZyBrZXkgYWxnb3JpdGhtIHRvIHdvcmsgcHJvcGVybHkgd2l0aCBRTmFtZQorCSAgdG9vLCBmaXggYSBidWcgd2l0aCBkaWN0IHNpemUgYW5kIHN1YiBkaWN0aW9uYXJpZXMKKworTW9uIEF1ZyAgNCAxNzoyNzoyNyBDRVNUIDIwMDggRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB1cmkuYyBpbmNsdWRlL2xpYnhtbC91cmkuaDogcmV3cml0ZSB0aGUgVVJJIHBhcnNlciB0byB1cGRhdGUgdG8KKwkgIHJmYzM5ODYgKGZyb20gMjM5NikKKwkqIHRlc3QvZXJyb3JzL3dlYmRhdi54bWwgcmVzdWx0L2Vycm9ycy93ZWJkYXYueG1sKjogcmVtb3ZlZCB0aGUKKwkgIGVycm9yIHRlc3QsICdEQVY6JyBpcyBhIGNvcnJlY3QgVVJJIHVuZGVyIDM5ODYKKwkqIE1ha2VmaWxlLmFtOiBzbWFsbCBjbGVhbnVwIGluIG1ha2UgY2hlY2sKKworVGh1IEp1bCAzMSAyMTo0OTo0NSBDRVNUIDIwMDggRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBydW54bWxjb25mLmM6IG1vcmUgcHJvZ3Jlc3NlcyBhZ2FpbnN0IHRoZSBvZmZpY2lhbCByZWdyZXNzaW9uIHRlc3RzCisJKiBydW5zdWl0ZS5jOiBzbWFsbCBjbGVhbnVwIGZvciBub24tbGVhayByZXBvcnRzCisJKiBpbmNsdWRlL2xpYnhtbC90cmVlLmg6IHBhcnNpbmcgZmxhZ3MgYW5kIG90aGVyIHByb3BlcnRpZXMgYXJlCisJICBub3cgYWRkZWQgdG8gdGhlIGRvY3VtZW50IG5vZGUsIHRoaXMgaXMgZ2VuZXJhbGx5IHVzZWZ1bCBhbmQKKwkgIGFsbG93IHRvIG1ha2UgTmFtZSBhbmQgTm1Ub2tlbiB2YWxpZGF0aW9ucyBiYXNlZCBvbiB0aGUgcGFyc2VyCisJICBmbGFncywgbW9yZSBzcGVjaWZpY2FsbHkgdGhlIDV0aCBlZGl0aW9uIG9mIFhNTCBvciBub3QKKwkqIEhUTUxwYXJzZXIuYyB0cmVlLmM6IHNtYWxsIHNpZGUgZWZmZWN0cyBmb3IgdGhlIHByZXZpb3VzIGNoYW5nZXMKKwkqIHBhcnNlci5jIFNBWDIuYyB2YWxpZC5jOiB0aGUgYnVsayBvZiB0ZWggY2hhbmdlcyBhcmUgaGVyZSwKKwkgIHRoZSBwYXJzZXIgYW5kIHZhbGlkYXRpb24gYmVoYXZpb3VyIGNhbiBiZSBhZmZlY3RlZCwgcGFyc2luZworCSAgZmxhZ3MgbmVlZCB0byBiZSBjb3BpZWQsIGxvdCBvZiBjaGFuZ2VzLiBBbHNvIGZpeGluZyB2YXJpb3VzCisJICB2YWxpZGF0aW9uIHByb2JsZW1zIGluIHRoZSByZWdyZXNzaW9uIHRlc3RzLgorCitUaHUgSnVsIDMxIDEwOjE1OjUzIENFU1QgMjAwOCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHJ1bnhtbGNvbmYuYzogYWRkZWQgYSBza2lwcGVkIGxpc3QsIGluc2VydCBybXQtbnMxMC0wMzUKKwkqIE1ha2VmaWxlLmFtOiBpbXByb3ZlICdtYWtlIGNoZWNrJworCSogaW5jbHVkZS9saWJ4bWwveG1sZXJyb3IuaCBwYXJzZXIuYzogY2xlYW4gdXAgbmFtZXNwYWNlIGVycm9ycworCSAgY2hlY2tpbmcgYW5kIHJlcG9ydGluZywgZXJyb3JzIHdoZW4gYSBkb2N1bWVudCBpcyBsYWJlbGxlZAorCSAgYXMgVVRGLTE2IHdoaWxlIGl0IGlzIHBhcnNlZCBhcyBVVEYtOCBhbmQgbm8gZW5jb2Rpbmcgd2FzIGdpdmVuCisJICBleHBsaWNpdGVseS4KKwkqIHJlc3VsdC9lcnJvcnMvd2ViZGF2LnhtbC4qOiBzb21lIHdhcm5pbmdzIGFyZSBubyByZWNhdGVnb3JpemVkCisJICBhcyBOYW1lc3BhY2UgZXJyb3JzCisKK1dlZCBKdWwgMzAgMTQ6NTU6NTQgQ0VTVCAyMDA4IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogaW5jbHVkZS9saWJ4bWwveG1sbWVtb3J5LmggeG1sbWVtb3J5LmM6IGFkZCB4bWxNZW1EaXNwbGF5TGFzdCB0bworCSAgaGVscCBkZWJ1ZyBpbmNyZW1lbnRhbCBtZW1vcnkgbGVha3MsIGFuZCBzb21lIGNsZWFudXBzCisJKiBydW54bWxjb25mLmM6IHVzZSB0aGF0IG5ldyBjYWxsIGFuZCBhdm9pZCBldmVyIHRvdWNoaW5nIHRoZQorCSAgc3lzdGVtIGNhdGFsb2cgaW4gdGhlIHJlZ3Jlc3Npb24gdGVzdHMKKworV2VkIEp1bCAzMCAxNDozMzozMyBDRVNUIDIwMDggRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBwYXJzZXIuYyBpbmNsdWRlL2xpYnhtbC94bWxlcnJvci5oOiBhbiBYTUwtMS4wIGRvY3VtZW50IGNhbid0IGxvYWQKKwkgIGFuIDEuMSBlbnRpdHkKKwkqIHJ1bnhtbGNvbmYuYzogd2hlbiB1c2luZyBlbnRpdGllcyBtYWtlIHN1cmUgd2UgbG9hZCB0aGVtCisKK1R1ZSBKdWwgMjkgMTg6NDM6MDcgQ0VTVCAyMDA4IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcGFyc2VyLmM6IGZpeCBhIGJ1ZyBub3QgZGV0ZWN0aW5nIGNyb3NzIGVudGl0eSBjb21tZW50cyBwcm9iYWJseQorCSAgd2hlbiBjb21tZW50IHBhcnNpbmcgZ290IG9wdGltaXplZC4KKwkqIE1ha2VmaWxlLmFtOiBhZGQgbWFrZSBjaGVjaworCSogcnVueG1sY29uZi5jOiBmaXggdGhlIGxvZyBmaWxlIG5hbWUKKworVHVlIEp1bCAyOSAxODowOToyNiBDRVNUIDIwMDggRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBydW54bWxjb25mLmMgTWFrZWZpbGUuYW06IGFkZCBhIEMgcHJvZ3JhbSB0byBydW4gdGhlIFczQyB0ZXN0CisJICBzdWl0ZSwgd29yayBpbiBwcm9ncmVzcworCSogeG1sbGludC5jOiBhZGQgYSBuZXcgb3B0aW9uIC0tb2xkeG1sMTAgdG8gdXNlIHRoZSBvbGQgcGFyc2VyCisJKiBwYXJzZXIuYzogZml4IHRoZSBYTUxfUEFSU0VfT0xEMTAgcHJvY2Vzc2luZyBvZiB0aGUgbmV3IG9wdGlvbgorCSAgYW5kIGEgYnVnIGluIHZlcnNpb24gcGFyc2luZworCitUdWUgSnVsIDI5IDExOjEyOjQwIENFU1QgMjAwOCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhwYXRoLmM6IHNwYWNlIGFuZCB0YWJzIGNsZWFudXAKKworVHVlIEp1bCAyOSAxMDo1OTozNiBDRVNUIDIwMDggRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBpbmNsdWRlL2xpYnhtbC9wYXJzZXIuaCBpbmNsdWRlL2xpYnhtbC94bWxlcnJvci5oIHBhcnNlci5jOgorCSAgaW1wbGVtZW50IFhNTC0xLjAgNXRoIGVkaXRpb24sIGFkZCBwYXJzZXIgb3B0aW9uIFhNTF9QQVJTRV9PTEQxMAorCSAgdG8gc3RpY2sgdG8gb2xkIGJlaGF2aW91cgorCSogdGVzdGFwaS5jIGdlbnRlc3QucHk6IG1vZGlmaWVkIHNsaWdodGx5IGFuZCByZWdlbmVyYXRlZAorCSogTWFrZWZpbGUuYW06IGFkZCB0ZXN0Y2hhcgorCitUaHUgSnVsIDI0IDE2OjU3OjIwIENFU1QgMjAwOCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIE1ha2VmaWxlLmFtIHRlc3RjaGFyLmMgTWFrZWZpbGUudGVzdHMgUkVBRE1FLnRlc3RzOiBhZGQgYQorCSAgbmV3IHJlZ3Jlc3Npb24gdGVzdCBwcm9ncmFtIGZvciB0ZXN0aW5nIGNoYXJhY3RlciByYW5nZXMgYW5kCisJICBVVEY4IGVuY29kaW5nL2RlY29kaW5nCisKK1dlZCBKdWwgMjMgMTU6MzI6MzkgQ0VTVCAyMDA4IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogbGlieG1sLnNwZWMuaW46IGZpeCB0aGUgYnVpbGQgcm9vdAorCitXZWQgSnVsIDE2IDIyOjI4OjQ4IFBEVCAyMDA4IFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiBwYXR0ZXJuLmM6IGZpeCBwcm9ibGVtIHdpdGggeG1sU3RyZWFtUG9wIHdoZW4gcGF0dGVybiBpbmNsdWRlcworCSAgYSAiLiIgZWxlbWVudCAoc2VlIGRpc2N1c3Npb24gb24gbGlieHNsdCBsaXN0KQorCitNb24gSnVsICA3IDE1OjQ5OjU5IENFU1QgMjAwOCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIFNBWDIuYzogZml4IGxpbmUgbnVtYmVyIG9uIHRleHQgbm9kZXMsIHByb2JsZW0gcmFpc2VkIGJ5IFJhbGYgSnVua2VyCisKK1N1biBKdW4gMjkgMTc6MDQ6MjggQ0VTVCAyMDA4IFJvYiBSaWNoYXJkcyA8cnJpY2hhcmRzQGN0aW5kdXN0cmllcy5uZXQ+CisJKiB4bWxzY2hlbWFzLmM6IGZpeCBjcmFzaCB3aXRoIGludmFsaWQgd2hpdGVzcGFjZSBmYWNldAorCitXZWQgSnVuIDExIDEwOjEzOjAyIENFU1QgMjAwOCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGRvYy94bWwuaHRtbCBkb2MvRkFRLmh0bWw6IGFkZCBhIHNlY3Rpb24gaW4gdGhlIEZBUSBhYm91dAorCSAgbXVsdGl0aHJlYWQgYW5kIHhtbENsZWFudXBQYXJzZXIKKworVHVlIEp1biAxMCAxNjo1MjoxNyBDRVNUIDIwMDggRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBjYXRhbG9nLmM6IGFwcGx5IGEgY291cGxlIG9mIGZpeGVzIGJhc2VkIG9uIGEgQ292ZXJpdHkgcmVwb3J0CisJICBmb3J3YXJkZWQgYnkgRGVycmljayBQcmljZS4KKwkqIFZ4V29ya3MvUkVBRE1FIFZ4V29ya3MvTWFrZWZpbGUgVnhXb3Jrcy9idWlsZC5zaDogaW5zdHJ1Y3Rpb25zCisJICBNYWtlZmlsZSwgYW5kIHNoZWxsIHNjcmlwdCB0byBidWlsZCBvbiBWeFdvcmtzIDYuNCsgcHJvdmlkZWQgYnkKKwkgIEppbSBXZXJ0LgorCitUdWUgSnVuICAzIDE4OjA3OjEzIENFU1QgMjAwOCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHB5dGhvbi9nZW5lcmF0b3IucHkgcHl0aG9uL3NldHVwLnB5OiBhcHBseSBwYXRjaCBmcm9tIE1hcnRpbiBmaXhpbmcKKwkgIHB5dGhvbiB3aGl0ZXNwYWNlcworCSogTkVXUzogZm9sbG93aW5nIHByZXZpb3VzIGNvbW1pdCByZWJ1aWx0IG5vdyBpbiBVVEYtOAorCitNb24gSnVuICAyIDE3OjM5OjQyIENFU1QgMjAwOCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIENoYW5nZUxvZzogcGF0Y2ggZnJvbSBIYW5zIGRlIEdvZWRlIHRvIHN3aXRjaCB0aGUgZmlsZSB0byBVVEYtOAorCSogZG9jL25ld3MueHNsOiBzd2l0Y2ggdG8gZ2VuZXJhdGUgdGhlIE5FV1MgZmlsZSBpbiBVVEYtOCBpbnN0ZWFkIG9mCisJICBJU08tODg1OS0xCisKK01vbiBNYXkgMTIgMTU6MTI6NDQgQ0VTVCAyMDA4IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1scmVnZXhwLmM6IGF2b2lkIGEgcmVnZXhwIGNyYXNoLCBzaG91bGQgZml4ICM1MjM3MzgKKworTW9uIE1heSAxMiAxNDo1NjowNiBDRVNUIDIwMDggRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxzY2hlbWFzLmMgcnVudGVzdC5jIHRlc3RhcGkuYyBpbmNsdWRlL2xpYnhtbC94bWxyZWFkZXIuaAorCSAgcHl0aG9uL3R5cGVzLmMgcHl0aG9uL2xpYnhtbF93cmFwLmggcHl0aG9uL2xpYnhtbC5jOiBmeCBjb21waWxhdGlvbgorCSAgd2hlbiBjb25maWd1cmVkIHdpdGhvdXQgdGhlIHJlYWRlciBzaG91bGQgZml4ICM1MTMxMTAKKwkqIGRvYy8qOiByZWdlbmVyYXRlZAorCitTYXQgTWF5ICAzIDE0OjMzOjI5IENFU1QgMjAwOCBSb2IgUmljaGFyZHMgPHJyaWNoYXJkc0BjdGluZHVzdHJpZXMubmV0PgorCisJKiBkaWN0LmM6IGNoZWNrIGZvciBzdGRpbnQuaCBhbmQgZGVmaW5lIHR5cGVzIHdoZW4gdXNpbmcgTVNWQworCitNb24gQXByIDI4IDIwOjA2OjEyIENFU1QgMjAwOCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlckludGVybmFscy5jOiBhcHBsaWVkIHBhdGNoIGZyb20gQXNod2luIHRvIGF2b2lkIGEgcG90ZW50aWFsCisJICBkb3VibGUtZnJlZQorCitUaHUgQXByIDI0IDEzOjU2OjUzIENFU1QgMjAwOCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHVyaS5jOiBhcHBsaWVkIHBhdGNoIGZyb20gQXNod2luIGZpeGluZyBhIG51bWJlciBvZiByZWFsbG9jIHByb2JsZW1zCisJKiBIVE1McGFyc2VyLmM6IGltcHJvdmUgaGFuZGxpbmcgZm9yIG1pc3BsYWNlZCBodG1sL2hlYWQvYm9keQorCitUdWUgQXByIDIyIDEwOjI3OjE3IENFU1QgMjAwOCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGRpY3QuYzogaW1wcm92ZW1lbnQgb24gdGhlIGhhc2hpbmcgb2YgdGhlIGRpY3Rpb25uYXJ5LCB3aXRoIHZpc2libGUKKwkgIHNwZWVkIHVwIGFzIHRoZSBudW1iZXIgb2Ygc3RyaW5ncyBpbiB0aGUgaGFzaCBpbmNyZWFzZXMsIHdvcmsgZnJvbQorCSAgU3RlZmFuIEJlaG5lbAorCitGcmkgQXByIDExIDE0OjQ0OjAwIENFU1QgMjAwOCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGluY2x1ZGUvbGlieG1sL3htbHNjaGVtYXMuaCB4bWxzY2hlbWFzLmM6IGFkZGVkIG5ldyBmdW5jdGlvbgorCSAgeG1sU2NoZW1hVmFsaWRDdHh0R2V0UGFyc2VyQ3R4dCBiYXNlZCBvbiBIb2xnZXIgS2FlbGJlcmVyIHBhdGNoCisJKiBkb2MvYXBpYnVpbGQucHkgZG9jLyo6IHJlZ2VuZXJhdGVkIHRoZSBkb2MsIGNoYXNlZCB3aHkgdGhlIG5ldworCSAgZnVuY3Rpb24gZGlkbid0IGdvdCBhbnkgZG9jdW1lbnRhdGlvbiwgYWRkZWQgbW9yZSBjaGVja2luZyBpbiB0aGUKKwkgIGdlbmVyYXRvcgorCSogaW5jbHVkZS9saWJ4bWwvcmVsYXhuZy5oIGluY2x1ZGUvbGlieG1sL3NjaGVtYXRyb24uaAorCSAgaW5jbHVkZS9saWJ4bWwveG1sc2NoZW1hcy5oIGluY2x1ZGUvbGlieG1sL2MxNG4uaAorCSAgaW5jbHVkZS9saWJ4bWwveG1scmVnZXhwLmggaW5jbHVkZS9saWJ4bWwvZ2xvYmFscy5oCisJICBpbmNsdWRlL2xpYnhtbC94bWxyZWFkZXIuaCB0aHJlYWRzLmMgeG1sc2NoZW1hcy5jOiB2YXJpb3VzIGNoYW5nZXMKKwkgIGFuZCBjbGVhbnVwcyBmb2xsb3dpbmcgdGhlIG5ldyByZXBvcnRzCisKKworVGh1IEFwciAxMCAxMDowNzowMCBDRVNUIDIwMDggRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBNYWtlZmlsZS5hbTogZXh0ZW5kIHRoZSBjbGVhbnVwIHJ1bGUKKwkqIHhtbHNjaGVtYXMuYzogc3BhY2UgY2xlYW51cAorCitXZWQgQXByICA5IDE5OjQzOjI1IENFU1QgMjAwOCBSb2IgUmljaGFyZHMgPHJyaWNoYXJkc0BjdGluZHVzdHJpZXMubmV0PgorCisJKiBpbmNsdWRlL3dzb2NrY29tcGF0Lmg6IHN1cHBvcnQgb2xkZXIgd2luMzIgcGxhdGZvcm1zIHdoZW4gYnVpbGRpbmcKKwkgIHdpdGggbmV3ZXIgdmVyc2lvbnMgb2YgVlMKKworVHVlIEFwciAgOCAxNjo1NjowNyBDRVNUIDIwMDggRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBjb25maWd1cmUuaW4gTkVXUyBkb2MvKjogcHJlcGFyaW5nIHJlbGVhc2Ugb2YgMi42LjMyCisKK1R1ZSBBcHIgIDggMTA6MTk6MDEgQ0VTVCAyMDA4IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogdHJlZS5jOiBmaXggYSBidWcgaW50cm9kdWNlZCB3aGVuIGZpeGluZyAjNDM4MjA4IGFuZCByZXBvcnRlZCBieQorCSAgQXNod2luCisJKiBweXRob24vZ2VuZXJhdG9yLnB5OiBmaXggYW4gaW5maW5pdGUgbG9vcCBidWcKKworTW9uIEFwciAgNyAxNDo0NDo1MSBDRVNUIDIwMDggRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxyZWFkZXIuYzogZml4IGEgbGluayB0byBYbWxOb2RlVHlwZSBkb2MgcmVwb3J0ZWQgYnkgTWFydGlqbiBBcnRzCisJKiBkb2NzLyo6IHJlYnVpbHQKKworRnJpIEFwciAgNCAxODowOTo1MCBDRVNUIDIwMDggRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBwYXJzZXIuYzogaW1wcm92ZSB0aGUgKlJlY292ZXIqIGZ1bmN0aW9ucyBkb2N1bWVudGF0aW9uCisKK1RodSBBcHIgIDMgMTQ6NTc6MTUgQ0VTVCAyMDA4IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcGFyc2VyLmM6IHBhdGNoIGZyb20gTWFyayBSb3dlIGZpeGluZyBCT00gb3IgZW5jb2RpbmcgZGV0ZWN0aW9uCisJICBpbiBleHRlcm5hbCBwYXJzZWQgZW50aXRpZXMsIHNob3VsZCBmaXggIzQ0MDQxNQorCitUaHUgQXByICAzIDEzOjE2OjAxIENFU1QgMjAwOCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHRyZWUuYzogZml4IHNvbWUgcHJvYmxlbXMgd2l0aCB0aGUgKkVhdE5hbWUgZnVuY3Rpb25zIHdoZW4KKwkgIHJ1bm5pbmcgb3V0IG9mIG1lbW9yeSByYWlzZWQgYnkgRXJpYyBTY2hyb2NrICwgc2hvdWxkIGZpeCAjNDM4MjA4CisKK1RodSBBcHIgIDMgMTI6NDE6MjkgQ0VTVCAyMDA4IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sc2NoZW1hc3R5cGVzLmM6IGhvcnJvciBhcm91bmQgdGhlIGRlZmluaXRpb24gb2YgdGhlIGxleGljYWwKKwkgIHZhbHVlcyBmb3IgZGVjaW1hbCBhbmQgZGVyaXZlZCB0eXBlcywgZml4aW5nIHRvIHJlamVjdCBlbXB0eSAKKwkgIHZhbHVlcywgc2hvdWxkIGZpeCAjNTAzMjY4CisKK1RodSBBcHIgIDMgMTE6NDQ6NTcgQ0VTVCAyMDA4IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZW5jb2RpbmcuYzogYnVmZmVyIG1heSBub3QgYmUgIGxhcmdlIGVub3VnaCB0byBjb252ZXJ0IHRvCisJICBVQ1M0LCBwYXRjaCBmcm9tIENocmlzdGlhbiBGcnV0aCAsIGZpeGVzICM1MDQwMTUKKworVGh1IEFwciAgMyAxMTowMjowMiBDRVNUIDIwMDggRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBIVE1McGFyc2VyLmM6IGFwcGFyZW50bHkgaXQncyBva2F5IHRvIGZvcmdldCB0aGUgc2VtaWNvbHVtbiBhZnRlcgorCSAgZW50aXR5IHJlZnMgaW4gSFRNTCwgZml4aW5nIGNoYXIgcmVmcyBwYXJzaW5nIGFjY29yZGluZ2x5IGJhc2VkIG9uCisJICBULiBNYW5za2UgcGF0Y2gsIHRoaXMgc2hvdWxkIGZpeCAjNTE3NjUzCisKK1RodSBBcHIgIDMgMDk6MzA6MjkgQ0VTVCAyMDA4IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZXJyb3IuYzogYXZvaWQgYSBzY2FyeSByZWFsbG9jKCkgbG9vcCBzaG91bGQgZml4ICM1MjAzODMKKworVGh1IEFwciAgMyAwODoyMjo1MiBDRVNUIDIwMDggRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBwYXJzZXIuYzogbW9yZSByZWFsbG9jIHByb2JsZW1zIHBvaW50ZWQgb3V0IGJ5IEFzaHdpbgorCitUaHUgQXByICAzIDA3OjQwOjEzIENFU1QgMjAwOCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhzdGMvTWFrZWZpbGUuYW06IGFwcGxpZWQgcGF0Y2ggZnJvbSBNaWtlIEhvbW1leSBmaXhpbmcgZGlzdGNsZWFuLAorCSAgZml4ZXMgIzUyMDM4NworCitUaHUgQXByICAzIDA2OjUyOjMyIENFU1QgMjAwOCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGluY2x1ZGUvbGlieG1sL3hwYXRoLmg6IHNtYWxsIGRvYyBpbXByb3ZlbWVudCBmb3IgeG1sWFBhdGhDb250ZXh0CisJICBmcm9tIEphY2sgSmFuc2VuLCBmaXhlcyAjNTI0NzU5CisJKiBkb2MvbmV3YXBpLnhzbCBkb2MvKjogZml4ZWQgYSBwcm9ibGVtIGFuZCByZWdlbmVyYXRlZCB0aGUgZG9jcworCitUdWUgQXByICAxIDA5OjU5OjIyIENFU1QgMjAwOCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhwYXRoLmM6IHR3byBwYXRjaGVzIGZyb20gQWx2YXJvIEhlcnJlcmEgdG8gYXZvaWQgcHJvYmxlbSB3aGVuCisJICBydW5uaW5nIG91dCBvZiBtZW1vcnkgaW4gWFBhdGggZXZhbHVhdGlvbnMuCisKK01vbiBNYXIgMzEgMTE6MjM6MTkgQ0VTVCAyMDA4IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcGFyc2VyLmM6IGxvdCBvZiBvdXQgb2YgbWVtb3J5IGhhbmRsaW5nIGZpeGVzIGZyb20gQXNod2luCisJKiBlbGZnY2NoYWNrLmggZG9jL2VsZmdjY2hhY2sueHNsOiB3b3JrIGFyb3VuZCBhIHByb2JsZW0gd2l0aCB4bWxEbGxNYWluCisJKiBpbmNsdWRlL2xpYnhtbC90aHJlYWRzLmg6IGluZGVudGluZyBjbGVhbnVwcworCitNb24gTWFyIDMxIDEwOjI1OjM3IENFU1QgMjAwOCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlci5jIGRvY3MvKjogdHJ5aW5nIHRvIGNsYXJpZnkgZXZlbiBtb3JlIHRoZSB4bWxDbGVhbnVwUGFyc2VyKCkKKwkgIHVzZSBhbmQgdGhlIG1lbW9yeSBkb2N1bWVudGF0aW9uCisKK1dlZCBNYXIgMjYgMTg6Mzk6NTggQ0VUIDIwMDggRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBwYXJzZXIuYzogY2hhbmdlcyBiYXNlZCBvbiAgQWxleCBLaGVzaW4gcGF0Y2ggd2hlcmUgeG1sUGFyc2VDaGFyUmVmCisJICBzZWVtcyB0byBub3QgYmUgY2hlY2tlZCBjb3JyZWN0bHksIGZpeGVzICM1MjAxOTgKKworV2VkIE1hciAyNiAxNTowMzo0OSBDRVQgMjAwOCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlci5jOiBwYXRjaCBmcm9tIEFzaHdpbiB0byBhdm9pZCBhIHByb2JsZW0gb2YgYXR0cmlidXRlCisJICByZWRlZmluaXRpb24gaW4gdGhlIERURC4gUmVtb3ZlIGEgd2FybmluZyB0b28uCisKK1dlZCBNYXIgMjYgMTQ6Mzg6MzEgQ0VUIDIwMDggRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxzY2hlbWFzLmM6IGZpeCBhIHByb2JsZW0gaW4gZXh0ZXJuYWxTdWJzZXRTcGxpdCB3aXRoIGEgcGF0Y2gKKwkgIGZyb20gQXNod2luCisKK1R1ZSBNYXIgMjUgMTc6NDg6MDIgQ0VUIDIwMDggRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBwYXJzZXIuYzogZml4IHZhcmlvdXMgYXR0cmlidXRlIG5vcm1hbGlzYXRpb24gcHJvYmxlbXMgcmVwb3J0ZWQKKwkgIGJ5IEFzaHdpbgorCSogcmVzdWx0L2MxNG4vd2l0aG91dC1jb21tZW50cy9leGFtcGxlLTQKKwkgIHJlc3VsdC9jMTRuL3dpdGgtY29tbWVudHMvZXhhbXBsZS00OiB0aGlzIGltcGFjdGVkIHRoZSByZXN1bHQgb2YKKwkgIHR3byBjMTRuIHRlc3RzIDotXAorCSogdGVzdC9hdHQ5IHRlc3QvYXR0MTAgdGVzdC9hdHQxMSByZXN1bHQvL2F0dDkqIHJlc3VsdC8vYXR0MTAqCisJICByZXN1bHQvL2F0dDExKjogYWRkZWQgMyBzcGVjaWZpYyByZWdyZXNzaW9uIHRlc3RzIGNvbWluZyBmcm9tIHRoZQorCSAgWE1MIHNwZWMgcmV2aXNpb24gYW5kIGZyb20gQXNod2luCisKK1R1ZSBNYXIgMjUgMTQ6MjA6NDkgQ0VUIDIwMDggRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB1cmkuYzogZml4IHNhdmluZyBmb3IgZmlsZTovLy9YOi8gVVJJIGVtYmVkZGluZyBXaW5kb3dzIGZpbGUgcGF0aHMKKwkgIHNob3VsZCBmaXggIzUyNDI1MyAKKworTW9uIE1hciAyNCAyMTo0MjozMyBDRVQgMjAwOCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlci5jOiBmaXggYSBwcm9ibGVtIHJlcG9ydGVkIGJ5IEFzaHdpbiBmb3Igc3lzdGVtIHBhcmFtZXRlcgorCSAgZW50aXRpZXMgcmVmZXJlbmNlZCBmcm9tIGVudGl0aWVzIGluIGV4dGVybmFsIHN1YnNldCwgYWRkIGEKKwkgIHNwZWNpZmljIGxvYWRpbmcgcm91dGluZS4KKwkqIHRlc3QvdmFsaWQvZHRkcy9leHRlcm5hbC5lbnQgdGVzdC92YWxpZC9kdGRzL2V4dGVybmFsMi5lbnQKKwkgIHRlc3QvdmFsaWQvdDExLnhtbCByZXN1bHQvdmFsaWQvdDExLnhtbCo6IGFkZGVkIHRoZSB0ZXN0IHRvCisJICB0aGUgcmVncmVzc2lvbiBzdWl0ZQorCitNb24gTWFyIDI0IDE1OjA0OjU0IENFVCAyMDA4IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sc2NoZW1hcy5jOiBmaXggYW4gWE1MIFNjaGVtYXMgY3Jhc2ggcmFpc2VkIGJ5IFN0ZWZhbiBCZWhuZWwKKwkgIHdoZW4gdGVzdGluZyB3aXRoIFczQyB0ZXN0IHN1aXRlCisKK01vbiBNYXIgMjQgMTI6MTI6MDAgQ0VUIDIwMDggRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB0aHJlYWRzLmM6IGNoZWNrIHNvbWUgYWxsb2NhdGlvbiB3aXRoIEFzaHdpbiBwYXRjaAorCitXZWQgTWFyIDE5IDE2OjQxOjUyIENFVCAyMDA4IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogdm1zL2J1aWxkX2xpYnhtbC5jb206IHVwZGF0ZSBmcm9tIFR5Y2hvIEhpbGhvcnN0LCBzaG91bGQgZml4ICM1MjMzNzgKKworVHVlIE1hciAxOCAwOToyMzowNSBDRVQgMjAwOCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHRocmVhZHMuYzogY2hlY2sgc29tZSBtYWxsb2MgcmV0dXJucyB3aXRoIEFzaHdpbiBwYXRjaCwgYWRkCisJICBlcnJvciBtZXNzYWdlcyBhbmQgcmVpbmRlbnQgdGhlIG1vZHVsZS4KKworRnJpIE1hciAxNCAxNToyODo0MyBDRVQgMjAwOCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbHJlYWRlci5jOiBwYXRjaCBmcm9tIEFzaHdpbiByZW1vdmluZyBkdXBsaWNhdGUgdGVzdHMKKworRnJpIE1hciAxNCAxMzo0NDoyOSBDRVQgMjAwOCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGluY2x1ZGUvbGlieG1sL3NjaGVtYXRyb24uaCBpbmNsdWRlL2xpYnhtbC94bWxlcnJvci5oIHNjaGVtYXRyb24uYzoKKwkgIGFwcGxpZWQgcGF0Y2ggZnJvbSBUb2JpYXMgTWluaWNoIHRvIGFsbG93IHBsdWdpbiBzY2hlbWF0cm9uIGVycm9yCisJICByZXBvcnRpbmcgaW4gdGhlIG5vcm1hbCBlcnJvciBzeXN0ZW0sIHNob3VsZCBmaXggIzUxMzk5OAorCitGcmkgTWFyIDE0IDExOjUyOjA5IENFVCAyMDA4IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcGFyc2VyLmMgeGluY2x1ZGUuYzogcGF0Y2ggZnJvbSBWYXNpbHkgQ2hla2Fsa2luIGZpeGVzIG1lbW9yeQorCSAgbGVha3MsIHNob3VsZCBmaXggNTEyNjQ3CisKK1RodSBNYXIgMTMgMDg6MTc6NTggQ0VUIDIwMDggRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxyZWdleHAuYzogZm91bmQgYSBuYXN0eSBidWcgaW4gcmVnZXhwIGF1dG9tYXRhIGJ1aWxkLAorCSAgcmVwb3J0ZWQgYnkgQXNod2luIGFuZCBCam9ybiBSZWVzZQorCitXZWQgTWFyIDEyIDE4OjU2OjIyIENFVCAyMDA4IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogSFRNTHBhcnNlci5jOiBwYXRjaCBmcm9tIEFybm9sZCBIZW5kcmlrcyBpbXByb3ZpbmcgcGFyc2luZyBvZgorCSAgaHRtbCB3aXRoaW4gaHRtbCBib2d1cyBkYXRhLCBzdGlsbCBub3QgYSBjb21wbGV0ZSBmaXggdGhvdWdoCisKK1dlZCBNYXIgMTIgMTA6MjI6MDEgQ0VUIDIwMDggRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBweXRob24vdHlwZXMuYzogZml4IGEgbWVtb3J5IGVycnJvIHdoZW4gdXNpbmcgbmFtZXNwYWNlIG5vZGVzCisJICByZXR1cm5lZCBmcm9tIFhQYXRoIHF1ZXJpZXMsIHNob3VsZCBmaXggIzUyMTY5OQorCSogcHl0aG9uL3Rlc3RzL01ha2VmaWxlLmFtIHB5dGhvbi90ZXN0cy94cGF0aG5zLnB5OiBhZGQgYSBzcGVjaWZpYworCSAgcmVncmVzc2lvbiB0ZXN0IGZvciBpdAorCitNb24gTWFyIDEwIDE2OjI1OjMyIENFVCAyMDA4IFJvYiBSaWNoYXJkcyA8cnJpY2hhcmRzQGN0aW5kdXN0cmllcy5uZXQ+CisKKwkqIGluY2x1ZGUvd2luMzJjb25maWcuaDogYWRkIElDT05WX0NPTlNUIGRlZmluZSBmb3Igd2luMzIgYnVpbGQKKwkgIHRvIHNhdGlzZnkgZW5jb2RpbmcuYyBjaGFuZ2UgaW4gcmV2IDM2OTMKKworRnJpIE1hciAgNyAxNzo0NToyNyBDRVQgMjAwOCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbHNhdmUuYyBwYXJzZXIuYzogZml4IGhhbmRsaW5nIG9mIGVtcHR5IENEQVRBIG5vZGVzIGFzIAorCSAgcmVwb3J0ZWQgYW5kIGRpc2N1c3NlZCBhcm91bmQgIzUxNDE4MSBhbmQgYXNzb2NpYXRlZCBwYXRjaGVzCisJKiB0ZXN0L2VtcHR5Y2RhdGEueG1sIHJlc3VsdC9lbXB0eWNkYXRhLnhtbCogCisJICByZXN1bHQvbm9lbnQvZW1wdHljZGF0YS54bWw6IGFkZGVkIGEgc3BlY2lmaWMgdGVzdCBpbiB0aGUKKwkgIHJlZ3Jlc3Npb24gc3VpdGUuCisKK1RodSBNYXIgIDYgMTU6MjM6MTAgQ0VUIDIwMDggRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBlbmNvZGluZy5jOiBwb2JsZW0gd2l0aCBlbmNvZGluZyBkZXRlY3Rpb24gZm9yIFVURi0xNiByZXBvcnRlZCBieQorCSAgQXNod2luIGFuZCBmb3VuZCBieSBCaWxsCisJKiB0ZXN0L3ZhbGlkL2R0ZHMvdXRmMTZiLmVudCB0ZXN0L3ZhbGlkL2R0ZHMvdXRmMTZsLmVudAorCSAgdGVzdC92YWxpZC9VVEYxNkVudGl0eS54bWwgcmVzdWx0L3ZhbGlkL1VURjE2RW50aXR5LnhtbCo6IGFkZGVkCisJICB0aGUgZXhhbXBsZSB0byB0aGUgcmVncmVzc2lvbiB0ZXN0cworCitUdWUgTWFyICA0IDE0OjE2OjM4IENFVCAyMDA4IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sd3JpdGVyLmM6IHBhdGNoIGZyb20gQWxleCBLaGVzaW4gZml4aW5nIENEQVRBIG91dHB1dCBhZnRlcgorCSAgYSB0ZXh0IG5vZGUuCisJKiBwYXJzZXIuYzogZml4ZWQgdGhlIGNvbW1lbnQgZm9yIHhtbFBhcnNlckNsZWFudXAKKwkqIGdsb2JhbHMuYzogZml4ZWQgaW5kZW50YXRpb24KKworTW9uIEZlYiAyNSAxNjo0MjoxOSBDRVQgMjAwOCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHRlc3RNb2R1bGUuYzogcGF0Y2ggZnJvbSBGbG9yZW50IEd1aWxpYW5pIHRvIGZpeCBidWlsZCBvbgorCSAgU0NPIE9wZW5TZXJ2ZXIKKworVGh1IEZlYiAyMSAyMjo0NjowOCBDRVQgMjAwOCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGRlYnVnWE1MLmM6IG1hZGUgb25lIG9mIHRoZSBjaGFuZ2VzIHN1Z2dlc3RlZCBieSBCcmlhbiBLcmFobWVyCisJKiB0ZXN0UmVnZXhwLmM6IGFsbG93IHRvIHBhc3MgJy0tJyBvbiB0aGUgY29tbWFuZCBsaW5lIHRvIGFsbG93CisJICByZWdleHBzIHN0YXJ0aW5nIHdpdGggdGhlIGNoYXJhY3RlciAnLScKKworVHVlIEZlYiAxOSAwODo0OTozMiBDRVQgMjAwOCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHB5dGhvbi9NYWtlZmlsZS5hbSBweXRob24vdGVzdHMvTWFrZWZpbGUuYW06IGFwcGxpZWQgY2xlYW51cAorCSAgcGF0Y2hlcyBmb3IgY3Jvc3MgY29tcGlsYXRpb24gYW5kIE1pbkdXIGZyb20gUm91bWVuIFBldHJvdgorCitTYXQgRmViIDE2IDExOjA2OjU0IENFVCAyMDA4IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sSU8uYzogZml4IG91dHB1dCBidWcgcmVwb3J0ZWQgYnkgUGV0ciBQYWphcyBhbmQgYW5hbHl6ZWQgYnkKKwkgIEJpbGwKKworRnJpIEZlYiAxNSAwOTozMjoxMSBDRVQgMjAwOCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGluY2x1ZGUvbGlieG1sL3htbGVycm9yLmggdHJlZS5jOiBwYXRjaCBmcm9tIEp1bGllbiBDaGFyYm9uCisJICB0byBzaW1wbGlmeSB0aGUgcHJvY2Vzc2luZyBvZiB4bWxTZXRQcm9wKCkKKworRnJpIEZlYiAxNSAwODo0NTozMiBDRVQgMjAwOCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGNvbmZpZy5oLmluIGNvbmZpZ3VyZS5pbiBlbmNvZGluZy5jOiBwYXRjaCBmcm9tIFJvdW1lbiBQZXRyb3YKKwkgIHRvIGRldGVjdCBpZiBpY29udigpIG5lZWRzIGEgY29uc3QgZm9yIHRoZSBzZWNvbmQgcGFyYW1ldGVyCisKK0ZyaSBGZWIgMTUgMDg6NDE6MzEgQ0VUIDIwMDggRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBtYWNvcy9zcmMvWE1MVGVzdFByZWZpeDIuaCB3aW4zMi9NYWtlZmlsZS5tc3ZjOiBFT0wgY2xlYW51cHMKKwkgIGZyb20gRmxvcmVudCBHdWlsaWFuaQorCitXZWQgRmViIDEzIDEwOjU2OjM4IENFVCAyMDA4IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sd3JpdGVyLmM6IGFwcGxpZWQgcGF0Y2ggZnJvbSBBbGZyZWQgTWlja2F1dHNjaCB0byBmbHVzaCB0aGUKKwkgIG91dHB1dCBhdCB0aGUgZW5kIG9mIGRvY3VtZW50LgorCitGcmkgRmViICA4IDExOjU3OjAzIENFVCAyMDA4IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZG9jL2V4YW1wbGVzL2V4YW1wbGVzLnhtbDogcmVnZW5lcmF0ZWQsIGl0IHdhcyB0cnVuY2F0ZWQuCisKK0ZyaSBGZWIgIDggMTE6NDc6MTggQ0VUIDIwMDggRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxtb2R1bGUuYzogYXBwbHkgc2ltcGxlIHBhdGNoIGZyb20gQ2FybG8gQnJhbWluaSB0byBhdm9pZAorCSAgY29tcGlsYXRpb24gcHJvYmxlbXMgd2l0aCBNaW5ndzMyCisKK0ZyaSBGZWIgIDggMTE6MzM6MTUgQ0VUIDIwMDggRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxyZWdleHAuYzogYXBwbHkgcGF0Y2ggZnJvbSBBbmRyZXcgVG9zaCB0byBmaXggYmVoYXZpb3VyCisJICB3aGVuICcuJyBpcyB1c2VkIGluIGEgcG9zQ2hhckdyb3VwCisJKiB0ZXN0L3NjaGVtYXMvcG9zY2hhcmdycDBfMC4qIHJlc3VsdC9zY2hlbWFzL3Bvc2NoYXJncnAwXzBfMCo6CisJICBhZGRlZCB0aGUgdGVzdCB0byB0aGUgcmVncmVzc2lvbiBzdWl0ZQorCitGcmkgRmViICA4IDEwOjU0OjA5IENFVCAyMDA4IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZGljdC5jOiBhcHBsaWVkIHBhdGNoIGZyb20gRmxvcmVudCBHdWlsaWFuIHRvIHJlbW92ZSBhbgorCSAgdXNlbGVzcyBtdXRleCBpbiB0aGUgeG1sRGljdCBzdHJ1Y3R1cmUuCisKK1dlZCBGZWIgIDYgMTc6MDA6MjAgQ0VUIDIwMDggRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBTQVgyLmM6IGFub3RoZXIgbGVhayByZXBvcnRlZCBieSBBc2h3aW4KKwkqIHhpbmNsdWRlLmM6IGZpeGVkIHRoZSBiZWhhdmlvdXIgd2hlbiBYSW5jbHVkaW5nIGEgZnJhZ21lbnQKKwkgIG9mIHRoZSBjdXJyZW50IGRvY3VtZW50LCBwYXRjaCBmcm9tIENocmlzIFJ5YW4KKworV2VkIEZlYiAgNiAxMjoxMDowOCBIS1QgMjAwOCBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogbmFub2h0dHAuYzogYWRkZWQgc3BhY2UgZm9yIHBvcnQgbnVtYmVyICh3aGVuIG5vdCA4MCkgaW4KKwkgIHhtbE5hbm9IVFRQTWV0aG9kUmVkaXIsIHBsdXMgYSBmZXcgbW9yZSBjb21tZW50cy4gU2hvdWxkCisJICBmaXggIzUxNDUyMS4KKworVHVlIEZlYiAgNSAwOTo0MTo0NiBDRVQgMjAwOCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHNjaGVtYXMuYzogYXBwbHkgZml4IHN1Z2dlc3RlZCBieSBBc2h3aW4gY29ycmVjdGluZyBhIGN1dC1uLXBhc3RlCisJICBlcnJvciBhYm91dCB0aGUgU0FYIGNhbGxiYWNrIGluIGNkYXRhQmxvY2tTcGxpdCB3aGVuIHN0cmVhbWluZworCSAgWFNEIHZhbGlkYXRpb24gCisKK1R1ZSBGZWIgIDUgMDk6MzY6NDYgQ0VUIDIwMDggRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB1cmkuYzogYXBwbGllZCBhIHBhdGNoIGJhc2VkIG9uIFBldHIgU3VtYmVyYSBvbmUgdG8gYXZvaWQgYSAKKwkgIHByb2JsZW0gd2l0aCBwYXRocyBzdGFydGluZyB3aXRoIC8vCisKK01vbiBGZWIgIDQgMTc6NDg6MzAgQ0VUIDIwMDggRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBkb2MveG1sLmh0bWwgZG9jL3htbG1lbS5odG1sOiBhZGRlZCBhIHNtYWxsIHNlY3Rpb24gb24gcmV0dXJuaW5nCisJICBtZW1vcnkgdG8gdGhlIGtlcm5lbCBieSBjb21wYWN0aW5nIHRoZSBoZWFwIHByb3ZpZGVkIGJ5IFdvbGZyYW0gU2FuZworCitGcmkgSmFuIDI1IDIwOjAxOjQyIENFVCAyMDA3IFJvYiBSaWNoYXJkcyA8cnJpY2hhcmRzQGN0aW5kdXN0cmllcy5uZXQ+CisKKwkqIGluY2x1ZGUvd2luMzJjb25maWcuaCB3aW4zMi9NYWtlZmlsZS5tc3ZjOiBmaXggYnVpbGQgdW5kZXIgVlMgMjAwOC4KKwkgIHBhdGNoIGJ5IERhdmlkIFdpbXNleQorCitUaHUgSmFuIDI0IDE1OjM3OjA0IENFVCAyMDA4IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcGFyc2VyLmM6IGZpeCBhIG1lbWVvcnkgbGVhayBpbiBpbnRlcm5hbCBzdWJzZXQgcGFyc2luZyB3aXRoCisJICBhIGZpeCBmcm9tIEFzaHdpbgorCSogdGVzdC9lcnJvcnMvY29udGVudDEueG1sIHJlc3VsdC9lcnJvcnMvY29udGVudDEueG1sKjoKKwkgIGFkZCB0ZXN0IHRvIHJlZ3Jlc3Npb25zCisKK0ZyaSBKYW4gMTEgMDk6MDA6MDkgQ0VUIDIwMDggRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBjb25maWd1cmUuaW4gZG9jLyo6IHByZXBhcmluZyByZWxlYXNlIG9mIDIuNi4zMQorCitGcmkgSmFuIDExIDA4OjU4OjQ5IENFVCAyMDA4IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcGFyc2VyLmM6IGF2b2lkIGEgd2FybmluZyBvbiA2NGJpdHMgaW50cm9kdWNlZCBlYXJsaWVyCisJKiBwYXJzZXJJbnRlcm5hbHMuYzogbWFrZSBtb3JlIGNoZWNraW5nIG9uIHRoZSBVVEYtOCBpbnB1dAorCitGcmkgSmFuIDExIDE1OjM3OjA1IENTVCAyMDA4IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogSFRNTHBhcnNlci5jOiBhdm9pZCBzdG9wcGluZyBwYXJzaW5nIHdoZW4gZW5jb3VudGVyaW5nCisJICBvdXQgb2YgcmFuZ2UgY2hhcmFjdGVycyBpbiBhbiBIVE1MIGZpbGUsIHJlcG9ydCBhbmQgCisJICBjb250aW51ZSBwcm9jZXNzaW5nIGluc3RlYWQsIHNob3VsZCBmaXggIzQ3MjY5NgorCitGcmkgSmFuIDExIDE1OjEzOjM1IENTVCAyMDA4IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogY2hlY2stcmVsYXhuZy10ZXN0LXN1aXRlMi5weSBjaGVjay1yZWxheG5nLXRlc3Qtc3VpdGUucHkKKwkgIE1ha2VmaWxlLmFtIHB5dGhvbi90ZXN0cy9NYWtlZmlsZS5hbSBweXRob24vTWFrZWZpbGUuYW0KKwkgIGNoZWNrLXhzZGRhdGEtdGVzdC1zdWl0ZS5weTogcGF0Y2hlcyBmcm9tIEpvaG4gQ2FyciB0bworCSAgc3RhcnQgY2xlYW5pbmcgdXAgJ21ha2UgZGlza2NoZWNrJyBwcm9ibGVtcyBjLmYuICM1MDYyMjgKKworRnJpIEphbiAxMSAxNDo0ODo0MCBDU1QgMjAwOCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbGxpbnQuYzogYXBwbHkgZml4IGZyb20gU3RlZmFuIEtvc3QgdG8gYXZvaWQgYSBjcmFzaAorCSAgaW4geG1sbGludCwgZml4ZXMgNTA0Mjg0CisKK0ZyaSBKYW4gMTEgMTQ6Mzk6MDMgQ1NUIDIwMDggRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWwyLWNvbmZpZy5pbjogYXBwbHkgcGF0Y2ggZnJvbSBGcmVkIENyb3phdCB0byBhdm9pZAorCSAgb3V0cHV0dGluZyAtTC91c3IvbGliIGZyb20geG1sMi1jb25maWcsIGZpeGVzICM0OTcwMTIKKworRnJpIEphbiAxMSAxNDoxODowOSBDU1QgMjAwOCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIEhUTUxwYXJzZXIuYzogZml4IGRlZmluaXRpb24gZm9yIDxlbWJlZD4gdG8gYXZvaWQgZXJyb3IKKwkgIHdoZW4gc2F2aW5nIGJhY2ssIHBhdGNoIGZyb20gU3RlZmFuIEJlaG5lbCBmaXhpbmcgNDk1MjEzCisKK0ZyaSBKYW4gMTEgMTQ6MDY6MDkgQ1NUIDIwMDggRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBwYXJzZXIuYzogYXBwbGllZCBwYXRjaCBmcm9tIENocmlzdGlhbiBTY2htaWR0IGZpeGluZyBhIAorCSAgY29sdW1uIGNvdW50ZXIgdXBkYXRlIHByb2JsZW0sIGZpeGVzICM0NzI2OTYKKworRnJpIEphbiAxMSAxMzoyMjoxNCBDU1QgMjAwOCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlci5jOiBoYW5kbGUgYSBlcnJvbmVvdXMgcGFyc2luZyBvZiBhdHRyaWJ1dGVzIGluIAorCSAgY2FzZSBzYWlkIGF0dHJpYnV0ZSBoYXMgYmVlbiByZWRlY2xhcmVkIGluIHRoZSBEVEQgd2l0aCBhCisJICBkaWZmZXJlbnQgdHlwZQorCSogaGFzaC5jOiBmaXggdGhlIGhhc2ggc2Nhbm5lciB0byBub3QgY3Jhc2ggaWYgYSBmaXJzdCBlbGVtZW50CisJICBmcm9tIHRoZSBoYXNoIGxpc3QgaXMgYmVlbiByZW1vdmVkIGluIHRoZSBjYWxsYmFjaworCitXZWQgSmFuICA5IDEwOjE1OjUwIENTVCAyMDA4IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sd3JpdGVyLmM6IGZpeCBpbmRlbnRhdGlvbiBpbiB4bWxUZXh0V3JpdGVyRnVsbEVuZEVsZW1lbnQsCisJICBhcyByYWlzZWQgYnkgRmVsaXBlIFBlbmEsIHNob3VsZCBmaXggIzUwODE1NgorCitUdWUgRGVjICA2IDExOjA3OjQyIENFVCAyMDA3IFJvYiBSaWNoYXJkcyA8cnJpY2hhcmRzQGN0aW5kdXN0cmllcy5uZXQ+CisKKwkqIHBhdHRlcm4uYzogZml4IGNyYXNoIGZyb20gZG91YmxlIGZyZWUgb2YgbmFtZSBmb3IgYnVnICM1MDE3NjAKKworRnJpIE5vdiAyMyAxMTo0Nzo0OCBDRVQgMjAwNyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHRocmVhZHMuYzogcmVtb3ZlIHVudXNlZCB2YXJpYWJsZSBpbiBfX3htbEdsb2JhbEluaXRNdXRleExvY2sKKwkgIHJlcG9ydGVkIGJ5IEhhbm5lcyBFZGVyCisKK01vbiBOb3YgMTkgMTg6Mzk6MjYgQ0VUIDIwMDcgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxyZWdleHAuYzogcmVtb3ZlIGEgY3V0LWFuZC1wYXN0ZSBjb3B5IGVycm9yCisKK0ZyaSBOb3YgMTYgMTE6NTU6MzYgQ0VUIDIwMDcgUm9iIFJpY2hhcmRzIDxycmljaGFyZHNAY3RpbmR1c3RyaWVzLm5ldD4KKworCSogZ2xvYmFscy5jIHRocmVhZHMuYyBpbmNsdWRlL2xpYnhtbC90aHJlYWRzLmg6IAorCSAgX194bWxHbG9iYWxJbml0TXV0ZXhEZXN0cm95KCkgd2lsbCBmcmVlIGdsb2JhbF9pbml0X2xvY2sgb24gV2luMzIuCisJICBQYXRjaCBmcm9tIE1hcmMtQW50b2luZSBSdWVsLgorCitUdWUgTm92IDEzIDIxOjI2OjI3IENFVCAyMDA3IFJvYiBSaWNoYXJkcyA8cnJpY2hhcmRzQGN0aW5kdXN0cmllcy5uZXQ+CisKKwkqIHNjaGVtYXRyb24uYzogZml4IGNyYXNoL2xlYWtzIGZyb20geG1sU2NoZW1hdHJvblBhcnNlIGR1ZSB0byBpbXByb3BlcgorCSAgc2NoZW1hIGRvY3VtZW50IG93bmVyc2hpcCBmb3IgYnVnICM0OTUyMTUKKworVHVlIE9jdCAzMCAyMToyNDo1NSBDRVQgMjAwNyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbG1lbW9yeS5jOiB4bWxGcmVlKE5VTEwpIHNob3VsZCBub3QgY3Jhc2ggaW4gZGVidWcgbW9kZQorCSAgc2hvdWxkIGZpeCAjNDkxNjUxCisKK1R1ZSBPY3QgMTYgMTM6NTg6NDEgQ0VTVCAyMDA3IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogdGVzdFVSSS5jOiBhZGQgYSBkZWJ1ZyBvcHRpb24gcHJpbnRpbmcgYWxsIHRoZSBmaWVsZHMgd2l0aGluCisJICB0aGUgcGFyc2VkIFVSSSBzdHJ1Y3R1cmUKKworV2VkIE9jdCAxMCAxMDoyNTo1MiBDRVNUIDIwMDcgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxzYXZlLmM6IGZpeCB0byBhdm9pZCBhIGNyYXNoIHdoZW4gZHVtcGluZyBhbiBhdHRyaWJ1dGUgZnJvbQorCSAgYW4gWEhUTUwgZG9jdW1lbnQsIHBhdGNoIGNvbnRyaWJ1dGVkIHRvIGZpeCAjNDg1Mjk4CisKK1R1ZSBBdWcgMjggMTk6MzI6MjggQ0VTVCAyMDA3IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1scmVnZXhwLmM6IGFub3RoZXIgbmFzdHkgcmVnZXhwIGNhc2UgZml4ZWQuCisJKiB0ZXN0L3JlZ2V4cC9yYW5nZXMyIHJlc3VsdC9yZWdleHAvcmFuZ2VzMjogYWRkZWQgdG8gcmVncmVzc2lvbgorCSAgc3VpdGUKKworRnJpIEF1ZyAyNCAxMDo1ODo1OCBIS1QgMjAwNyBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogbmFub2h0dHAuYzogRW5oYW5jZWQgdG8gaW5jbHVkZSBwb3J0IG51bWJlciAoaWYgbm90ID09IDgwKSBvbiB0aGUKKwkgICJIZWFkZXI6IiBVUkwgKGJ1ZyAjNDY5NjgxKS4KKwkqIHhtbHJlZ2V4cC5jOiBGaXhlZCBhIHR5cG8gY2F1c2luZyBhIHdhcm5pbmcgbWVzc2FnZS4KKworVGh1IEF1ZyAyMyAyMjo0ODoyMCBDRVNUIDIwMDcgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBuYW5vaHR0cC5jOiBmaXggYW4gb3BlbigpIGNhbGwgd2l0aCBjcmVhdGlvbiB3aXRob3V0IDNyZCBhcmd1bWVudAorCSAgaG9wZWZ1bGx5IHRoYXQgaW50ZXJmYWNlIGlzIG5ldmVyIHVzZWQuCisKK1RodSBBdWcgMjMgMTc6MDA6NDkgQ0VTVCAyMDA3IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogY29uZmlndXJlLmluIGRvYy8qOiBwcmVwYXJpbmcgcmVsZWFzZSBvZiAyLjYuMzAKKworVGh1IEF1ZyAyMyAyMDo1ODoyOCBIS1QgMjAwNyBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogeHBhdGguYzogZml4ZWQgeG1sWFBhdGhDb21wT3BFdmFsUG9zaXRpb25hbFByZWRpY2F0ZSBwcm9ibGVtCisJICB3aXRoIG9iamVjdCBjYWNoaW5nIChidWcgIzQ2OTQxMCkKKworVGh1IEF1ZyAyMyAxMToyODozOCBDRVNUIDIwMDcgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxzY2hlbWFzLmMgdGVzdC9zY2hlbWFzLyo0NTU5NTMqIHJlc3VsdC9zY2hlbWFzL2J1ZzQ1NTk1Myo6CisJICBhcHBsaWVkIHBhdGNoIGZyb20gRnJhbmsgR3Jvc3MgZml4aW5nIFNjaGVtYXMgSURDIGltcG9ydCBidWcKKwkgICM0NTU5NTMgYW5kIGFsc28gYWRkIHRoZSB0ZXN0IHRvIHRoZSByZWdyZXNzaW9uIHN1aXRlCisKK1dlZCBBdWcgMjIgMTg6Mjk6NDIgQ0VTVCAyMDA3IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1scmVnZXhwLmM6IHRyeSB0byBmaXggZm9yIHRoZSBudGggdGltZSB0aGUgYXV0b21hdGEgZ2VuZXJhdGlvbgorCSAgaW4gY2FzZSBvZiBjb21wbGV4IHJhbmdlcy4gSSBzdXBwb3NlIHRoYXQgdGltZSBpdCBpcyBhY3R1YWxseSBva2F5CisKK1R1ZSBBdWcgMTQgMTU6NTE6MDUgQ0VTVCAyMDA3IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcGFyc2VyLmM6IGFsaWduZWQgeG1sU0FYVXNlclBhcnNlTWVtb3J5KCkgdG8gbWF0Y2ggCisJICB4bWxTQVhVc2VyUGFyc2VGaWxlKCkgbG9naWMgYmFzZWQgb24gQXNod2luIHBvc3QsIGFuZCBpZmRlZgorCSAgY2xlYW51cAorCitUdWUgQXVnIDE0IDExOjQyOjI3IENFU1QgMjAwNyBSb2IgUmljaGFyZHMgPHJyaWNoYXJkc0BjdGluZHVzdHJpZXMubmV0PgorCisJKiB4bWxJTy5jOiBmaXhlZCB3aW5kb3dzIHBhdGggZGV0ZXJtaW5hdGlvbiAocGF0Y2ggZnJvbQorCSAgUm9sYW5kIFNjaHdhcnosIGJ1ZyAjNDYyODc3KQorCSogd2luMzIvTWFrZWZpbGUubWluZ3cgd2luMzIvY29uZmlndXJlLmpzOiBmaXhlZCBtaW5ndyBidWlsZAorCSAgKHBhdGNoIGZyb20gUm9sYW5kIFNjaHdhcnosIGJ1ZyAjNDYyODc3KQorCitXZWQgQXVnICAxIDA5OjUwOjEyIENFU1QgMjAwNyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlci5jOiBmaXhlZCBhIHBhcnNlciBidWcgd2hlcmUgaW52YWxpZCBjaGFyIGluIGNvbW1lbnQgbWF5CisJICBub3QgYmUgZGV0ZWN0ZWQsIHJlcG9ydGVkIGJ5IEFzaHdpbiBTaW5oYQorCSogdGVzdC9lcnJvcnMvY29tbWVudDEueG1sIHJlc3VsdC9lcnJvcnMvY29tbWVudDEueG1sKjogYWRkZWQKKwkgIHRoZSBleGFtcGxlIHRvIHRoZSByZWdyZXNzaW9uIHN1aXRlCisKK1RodSBKdWwgMjYgMTM6NDI6MjYgQ0VTVCAyMDA3IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sc2F2ZS5jOiBmaXhlZCBwcm9ibGVtIHJlcG9ydGVkIG9uIGJ1ZyAjNDYwNDE1CisKK1RodSBKdWwgMTkgMTg6MTA6NTggUERUIDIwMDcgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIHVyaS5jOiBhcHBsaWVkIHBhdGNoIGZyb20gZnJvbSBQYXRyaWsgRmltbWwuICBGaXhlcyBidWcgIzQ1ODI2OC4KKworV2VkIEp1bCAxOCAxMTowNTowOCBQRFQgMjAwNyBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogeGluY2x1ZGUuYzogYXBwbGllZCBwYXRjaCBmcm9tIGJ1ZyAjNDU0NjA4IGZyb20gUGF0cmlrIEZpbW1sLgorCSAgRml4ZXMgYnVnICM0NTQ2MDguCisKK1dlZCBKdWwgMTEgMTk6NTc6NTkgQ0VTVCAyMDA3IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sc2NoZW1hcy5jOiBhcHBsaWVkIHBhdGNoIGZvciB4c2k6bmlsIGZyb20gRnJhbmsgR3Jvc3MsIHRoaXMKKwkgIHNob3VsZCBmaXggYnVnICMzNTgxMjUKKworV2VkIEp1bCAgNCAxNzo0NDoyMCBDRVNUIDIwMDcgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWx3cml0ZXIuYzogcGF0Y2ggZnJvbSBEb2RqaSBTZWtldGVsaSB0byBhdm9pZCBhIGxlYWsgb24gcmVwZWF0ZWQKKwkgIHVzZXMgb2YgeG1sVGV4dFdyaXRlclN0YXJ0RG9jdW1lbnQoKQorCitUdWUgSnVuIDI2IDEzOjMwOjUwIENFU1QgMjAwNyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbHNjaGVtYXMuYzogZml4IGEgY3Jhc2ggb24gc29sYXJpcyB3aGVuIGEgcHJpbnRmICVzIHdpdGggYSBOVUxMCisJICBhcmd1bWVudCBvY2N1cnMsIHNob3VsZCBmaXggIzQ1MDkzNgorCitXZWQgSnVuIDEzIDEzOjMzOjM4IFBEVCAyMDA3IFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiB4cGF0aC5jOiBmaXhlZCBwcm9ibGVtIGluIHByZXZpb3VzIGZpeCB0byB4bWxYUGF0aE5vZGVTZXRTb3J0CisKK1R1ZSBKdW4gMTIgMTg6MTc6MjggQ0VTVCAyMDA3IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZG9jLyogY29uZmlndXJlLmluIE5FV1M6IHJlbGVhc2Ugb2YgbGlieG1sMiAyLjYuMjkKKwkqIHZhbGlkLmM6IHBhdGNoIGZyb20gRGFnZmlubiBJLiBNYW5uc8Ola2VyIGZvciBpZG5lc3Mgb2YgbmFtZQorCSAgaW4gSFRNTCwgYy5mLiBidWcgIzMwNTg4NS4KKworVHVlIEp1biAxMiAxNzoxNDowOCBDRVNUIDIwMDcgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBTQVgyLmM6IGZpeGluZyBidWcgIzMxOTk2NCwgcGFyc2luZyBvZiBIVE1MIGF0dHJpYnV0ZSByZWFsbHkKKwkgIHNob3VsZCBub3QgaGF2ZSBuYW1lc3BhY2UgcHJvY2Vzc2luZy4KKworVHVlIEp1biAxMiAxNjo0MjoxNCBDRVNUIDIwMDcgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBwYXJzZXIuYzogZml4ZWQgdGhlIHB1c2ggbW9kZSB3aGVuIGEgYmlnIGNvbW1lbnQgb2NjdXJzIGJlZm9yZQorCSAgYW4gaW50ZXJuYWwgc3Vic2V0LCBzaG91bGQgY2xvc2UgYnVnICM0Mzg4MzUKKwkqIHRlc3QvY29tbWVudDYueG1sIHJlc3VsdC8vY29tbWVudDYueG1sKjogYWRkZWQgYSBzcGVjaWFsCisJICB0ZXN0IGluIHRoZSByZWdyZXNzaW9uIHN1aXRlCisKK1R1ZSBKdW4gMTIgMTU6NDE6MDkgQ0VTVCAyMDA3IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcGFyc2VyLmM6IGZpeCBidWcgIzQxNDg0NiB3aGVyZSBpbnZhbGlkIGNoYXJhY3RlcnMgaW4gYXR0cmlidXRlcworCSAgd291bGQgc29tZXRpbWVzIG5vdCBiZSBkZXRlY3RlZC4KKwkqIHRlc3QvZXJyb3JzL2F0dHI0LnhtbCByZXN1bHQvZXJyb3JzL2F0dHI0LnhtbCo6IGFkZGVkIGEgc3BlY2lmaWMKKwkgIHRlc3QgY2FzZSB0byB0aGUgcmVncmVzc2lvbiB0ZXN0cworCitUdWUgSnVuIDEyIDE0OjIzOjI0IENFU1QgMjAwNyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhzdGMvTWFrZWZpbGUuYW06IGFwcGx5IHBhdGNoIGZyb20gUnlhbiBIaWxsIHRvIGNvcGUgd2l0aCBjaGFuZ2VzCisJICBpbiBHTlUgdGFyLCBzaG91bGQgZml4ICMzOTY3NTEKKworVHVlIEp1biAxMiAxMjowMzozNiBDRVNUIDIwMDcgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBweXRob24vdHlwZXMuYzogdHJ5IHRvIGFsbG93IGNvbXBpbGF0aW9uIG9uIG9sZCBweXRob24gdmVyc2lvbgorCSAgc2hvdWxkIGZpeCAjMzk4MTI1CisKK1R1ZSBKdW4gMTIgMTE6NDg6MTUgQ0VTVCAyMDA3IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogSFRNTHRyZWUuYzogaHRtbE5vZGVEdW1wRm9ybWF0T3V0cHV0IGRpZG4ndCBoYW5kbGUgWE1MX0FUVFJJQlVURV9OT0RlCisJICBmaXhlcyBidWcgIzQzODM5MAorCitUdWUgSnVuIDEyIDExOjM3OjU1IENFU1QgMjAwNyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbElPLmM6IHdvcmthcm91bmQgbWlzZ2VuZXJhdGVkIGZpbGU6IFVSSXMgYy5mLiAjNDM3Mzg1CisKK1R1ZSBKdW4gMTIgMTE6MjI6NDcgQ0VTVCAyMDA3IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcmVsYXhuZy5jOiBmaXhlZCBidWcgIzQwNzQzNiBhIGNyYXNoIGluIGEgc3BlY2lmaWMgY2FzZSBvZgorCSAgUmVsYXgtTkcgdmFsaWRhdGlvbgorCitUdWUgSnVuIDEyIDExOjEyOjUwIENFU1QgMjAwNyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGNhdGFsb2cuYzogZml4ZWQgYnVnICMzODM2ODcsIHNvbWUgY2FzZSBvZiByZWN1cnNpb24gb24gbmV4dAorCSAgd2VyZSBub3QgY2F1Z2h0IGluIHRoZSBjYXRhbG9nIGNvZGUuCisKK1R1ZSBKdW4gMTIgMTA6Mzc6NDIgQ0VTVCAyMDA3IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogSFRNTHBhcnNlci5jOiBmaXhlZCBidWcgIzM4MTg3NywgYXZvaWQgcmVhZGluZyBvdmVyIHRoZSBlbmQKKwkgIG9mIHN0cmVhbSB3aGVuIGdlbmVyYXRpbmcgYW4gVVRGLTggZW5jb2RpbmcgZXJyb3IuCisKK1R1ZSBKdW4gMTIgMTA6MTY6NDggQ0VTVCAyMDA3IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcGFyc2VyLmM6IGZpeGVkIGJ1ZyAjMzY2MTYxLCB0cml2aWFsbHkgYWRkZWQgdGhlIGNoZWNrIGluCisJICB4bWxDdHh0UmVzZXQoKQorCitGcmkgSnVuICA4IDIxOjQ4OjIxIENFU1QgMjAwNyBSb2IgUmljaGFyZHMgPHJyaWNoYXJkc0BjdGluZHVzdHJpZXMubmV0PgorCisJKiB3aW4zMi9jb25maWd1cmUuanMgd2luMzIvTWFrZWZpbGUubXN2YzogYWRkIC0tdmNtYW5pZmVzdCBmbGFnICh5ZXMvbm8pIAorCSAgZm9yIFZDOCBidWlsZCBzdXBwb3J0IHRvIGVtYmVkIG1hbmlmZXN0IHdpdGhpbiBmaWxlcy4gVW5kZXIgTVMgVkMsIGJ1aWxkIAorCSAgbGlieG1sMl9hX2RsbC5saWIgYnkgZGVmYXVsdCAoTElCWE1MX1NUQVRJQ19GT1JfRExMIGZsYWcpLgorCitGcmkgSnVuICA4IDIxOjM3OjQ2IENFU1QgMjAwNyBSb2IgUmljaGFyZHMgPHJyaWNoYXJkc0BjdGluZHVzdHJpZXMubmV0PgorCisJKiB0aHJlYWRzLmMgaW5jbHVkZS9saWJ4bWwvdGhyZWFkcy5oOiB1c2Ugc3BlY2lmaWVkIGNhbGxpbmcgY29udmVudGlvbiAKKwkgIGZvciB4bWxEbGxNYWluLiBPbGQgU0RLcyAoVkM2KSBvbmx5IHN1cHBvcnQgSW50ZXJsb2NrZWRDb21wYXJlRXhjaGFuZ2UuCisJICBhZGQgeG1sRGxsTWFpbiB0byBoZWFkZXIgZm9yIHdpbjMyIHdoZW4gYnVpbGRpbmcgZm9yIHN0YXRpYyBkbGwKKworRnJpIEp1biAgOCAxMDo1MToyOCBDRVNUIDIwMDcgUm9iIFJpY2hhcmRzIDxycmljaGFyZHNAY3RpbmR1c3RyaWVzLm5ldD4KKworCSogeG1sd3JpdGVyLmM6IGZpeGVkIHByb2JsZW0gd2l0aCBuYW1lc3BhY2UgZGVjbGFyYXRpb24gYmVpbmcgCisJICB3cml0dGVuIG1vcmUgdGhhbiBvbmNlIHBlciBlbGVtZW50IHN0YXJ0IHRhZworCitXZWQgSnVuICA2IDEwOjE4OjI4IFBEVCAyMDA3IFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiB4cGF0aC5jOiBmaXhlZCBwcm9ibGVtIHdpdGggeG1sWFBhdGhOb2RlU2V0U29ydDsKKwkgIGZpeGVkIHByb2JsZW0gd2l0aCB4bWxYUGF0aE5vZGVUcmFpbGluZ1NvcnRlZCAoYm90aCBidWcjNDEzNDUxKQorCitXZWQgTWF5IDMwIDIyOjA1OjA4IFBEVCAyMDA3IFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiB4cGF0aC5jOiBmaXhlZCBwcm9ibGVtIHdpdGggc3RyaW5nIHZhbHVlIGZvciBQSSBub2RlCisJICAoYnVnICM0NDIyNzUpCisKK01vbiBNYXkgMjggMTY6MTQ6NTAgQ0VTVCAyMDA3IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogdXJpLmM6IGZpeCBidWcgcmVwb3J0ZWQgYnkgRnJhbsOnb2lzIERlbHlvbgorCitUdWUgTWF5IDIyIDA4OjU5OjQ4IFBEVCAyMDA3IFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiBlbmNvZGluZy5jOiBGaXhlZCB0eXBvIGluIHhtbENoYXJFbmNGaXJzdExpbmUgcG9pbnRlZCBvdXQKKwkgIGJ5IE1hcmsgUm93ZSAoYnVnICM0NDAxNTkpCisJKiBpbmNsdWRlL2xpYnhtbC94bWx2ZXJzaW9uLmguaW46IEFkZGVkIGNoZWNrIGZvciBkZWZpbml0aW9uIG9mCisJICBfUE9TSVhfQ19TT1VSQ0UgdG8gYXZvaWQgd2FybmluZ3Mgb24gQXBwbGUgT1MvWCAocGF0Y2ggZnJvbQorCSAgV2VuZHkgRG95bGUgYW5kIE1hcmsgUm93ZSwgYnVnICMzNDY2NzUpCisJKiBzY2hlbWF0cm9uLmMsIHRlc3RhcGkuYywgdHJlZS5jLCB4bWxJTy5jLCB4bWxzYXZlLmM6IG1pbm9yCisJICBjaGFuZ2VzIHRvIGZpeCBjb21waWxhdGlvbiB3YXJuaW5ncyAtIG5vIGNoYW5nZSB0byBsb2dpYy4KKworVHVlIE1heSAxNSAyMjoxODowOCBQRFQgMjAwNyBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogbmFub2h0dHAuYzogc21hbGwgZW5oYW5jZW1lbnQgdG8gbGFzdCBmaXgsIHBvaW50ZWQgb3V0CisJICBieSBBbGV4IENvcm5lam8KKworVHVlIE1heSAxNSAxMjozODozOCBQRFQgMjAwNyBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogbmFub2h0dHAuYzogZml4ZWQgcHJvYmxlbSBvbiBnemlwIHN0cmVhbXMgKGJ1ZyAjNDM4MDQ1KQorCSogeHBhdGguYzogZml4ZWQgbWlub3Igc3BvdCBvZiByZWR1bmRhbnQgY29kZSAtIG5vIGxvZ2ljIGNoYW5nZS4KKworRnJpIE1heSAxMSAyMjo0NToxOCBIS1QgMjAwNyBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogeHBhdGguYzogZW5oYW5jZWQgdGhlIGNvZGluZyBmb3IgeG1sWFBhdGhDYXN0TnVtYmVyVG9TdHJpbmcKKwkgIGluIG9yZGVyIHRvIHByb2R1Y2UgdGhlIHJlcXVpcmVkIG51bWJlciBvZiBzaWduaWZpY2FudCBkaWdpdHMKKwkgIChidWcgIzQzNzE3OSkKKworVGh1IE1heSAxMCAwMTo1Mjo0MiBDRVNUIDIwMDcgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBsaXN0LmM6IGFwcGxpZWQgcGF0Y2ggdG8gZml4IHhtbExpc3RBcHBlbmQoKSBmcm9tIAorCSAgR2Vvcmdlcy1BbmRyw6kgU0lMQkVSCisJKiB2YWxpZC5jOiBhbHNvIGZpeCB0aGUgcGxhY2Ugd2hlciBpdCB3YXMgY2FsbGVkLgorCitXZWQgTWF5ICAyIDE4OjQ3OjMzIENFU1QgMjAwNyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlci5jOiB0cmllZCB0byBmaXggYW4gZXJyb3IgcHJvYmxlbSBvbiBlbnRpdHkgY29udGVudCBmYWlsdXJlCisJICByZXBvcnRlZCBieSBNaWNoYWVsIERheQorCitXZWQgTWF5ICAyIDE4OjIzOjM1IENFU1QgMjAwNyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGNvbmZpZ3VyZS5pbjogdHlwbyBwYXRjaCBmcm9tIEJqb3JuIFJlZXNlCisKK1dlZCBNYXkgIDIgMTg6MTI6NTggQ0VTVCAyMDA3IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogSFRNTHBhcnNlci5jOiBhcHBsaWVkIHBhdGNoIGZyb20gTWljaGFlbCBEYXkgdG8gYWRkIHN1cHBvcnQgZm9yCisJICA8ZW1iZWQ+CisKK1RodSBBcHIgMjYgMTA6NTg6NTAgQ0VTVCAyMDA3IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogSFRNTHBhcnNlci5jOiBKZWFuLURhbmllbCBEdXBhcyBwb2ludGVkIGEgY291cGxlIG9mIHByb2JsZW1zCisJICBpbiBodG1sQ3JlYXRlRG9jUGFyc2VyQ3R4dC4KKworVGh1IEFwciAyNiAxMDozNjoyNiBDRVNUIDIwMDcgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB1cmkuYyBpbmNsdWRlL2xpYnhtbC91cmkuaDogcGF0Y2ggZnJvbSBSaWNoYXJkIEpvbmVzIHRvIHNhdmUKKwkgIHRoZSBxdWVyeSBwYXJ0IGluIHJhdyBmb3JtLgorCSogbGlieG1sMi1weXRob24tYXBpLnhtbDogYWxzbyBhZGRlZCBhY2Nlc3NvciBmb3IgdGhlIHB5dGhvbiBiaW5kaW5ncworCitXZWQgQXByIDI1IDE1OjU3OjMyIENFU1QgMjAwNyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhzdGMvTWFrZWZpbGUuYW0gZG9jL2V4YW1wbGVzL01ha2VmaWxlLmFtIE1ha2VmaWxlLmFtOiBhcHBsaWVkCisJICBwYXRjaCBmcm9tIFJpY2hhcmQgSm9uZXMgdG8gZm9yIHRoZSBzaWxlbnQgZmxhZyBvbiB2YWxncmluZAorCSAgd2hlbiBkb2luZyAibWFrZSB2YWxncmluZCIKKwkqIHhtbHJlZ2V4cC5jOiByYWlzZSBhIHJlZ2V4cCBlcnJvciB3aGVuICdcJyBpcyBtaXN1c2VkIHRvIGVzY2FwZQorCSAgYSBzdGFuZGFyZCBjaGFyYWN0ZXIuCisKK1R1ZSBBcHIgMjQgMjA6MTU6MTQgQ0VTVCAyMDA3IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogdHJlZS5jOiBSaWNoYXJkIEpvbmVzIHJlcG9ydGVkIHhtbEJ1ZmZlckFkZCAoYnVmLCAiIiwgLTEpLCBmaXhpbmcgaXQKKworVHVlIEFwciAyNCAxMDo1OToyOCBDRVNUIDIwMDcgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB1cmkuYzogZml4IHhtbFVSSVVuZXNjYXBlU3RyaW5nIGNvbW1lbnRzIHdoaWNoIHdhcyBjb25mdXNpbmcKKworV2VkIEFwciAxOCAwOTo1MjoyNSBDRVNUIDIwMDcgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBpbmNsdWRlL3dpbjMyY29uZmlnLmggbGlieG1sLmg6IG5ldyBwYXRjaCBmcm9tIEFuZHJlYXMgU3RyaWNrZSB0bworCSAgYmV0dGVyIGludGVncmF0ZSBzdXBwb3J0IGZvciBXaW5kb3dzIENFCisKK1R1ZSBBcHIgMTcgMTY6NTA6MTIgQ0VTVCAyMDA3IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZG9jLyogY29uZmlndXJlLmluIE5FV1M6IHJlbGVhc2Ugb2YgbGlieG1sMiAyLjYuMjgKKworVHVlIEFwciAxNyAxNDo0Nzo0MiBDRVNUIDIwMDcgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBjYXRhbG9nLmMgbGlieG1sLmggd2luMzIvd2luY2Uvd2luY2Vjb21wYXQuaCB3aW4zMi93aW5jZS93aW5jZWNvbXBhdC5jCisJICB4bWxJTy5jIG5hbm9odHRwLmMgbmFub2Z0cC5jIHRyaW8uYyB0cmlvc3RyLmMgdHJpb3N0ci5oOiBhcHBsaWVkIAorCSAgcGF0Y2ggZnJvbSBBbmRyZWFzIFN0cmlja2UgdG8gZWFzZSB0aGUgY29tcGlsYXRpb24gb24gV2luZG93cyBDRQorCitUdWUgQXByIDE3IDE0OjM0OjQ1IENFU1QgMjAwNyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbGxpbnQuYyBjYXRhbG9nLmM6ICJ4bWxsaW50IHVudXNhYmxlIG9uIHdpbjMyIiBzbyBhcHBsaWVkCisJICBhIGxpYnhtbDIgcGF0Y2ggZnJvbSBDaHJpc3RpYW4gRWhybGljaGVyCisKK01vbiBBcHIgMTYgMDk6MDU6MDEgQ0VTVCAyMDA3IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogSFRNTHBhcnNlci5jOiBjaGFuZ2UgdGhlIHdheSBzY3JpcHQvc3R5bGUgYXJlIHBhcnNlZCB0bworCSAgbm90IHRyeSB0byBkZXRlY3QgY29tbWVudHMsIHJlcG9ydGVkIGJ5IE1pa2UgRGF5CisJKiByZXN1bHQvSFRNTC9kb2MzLio6IGFmZmVjdHMgdGhlIHJlc3VsdCBvZiB0aGF0IHRlc3QKKworV2VkIEFwciAxMSAyMjozODoxOCBIS1QgMjAwNyBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogeG1scmVnZXhwLmM6IHNtYWxsIGVuaGFuY2VtZW50IGZvciBxdWFudGlmaWVyIHJhbmdlIHdpdGgKKwkgIG1pbiBvY2N1cnMgb2YgMDsgZml4ZXMgYnVnIDQyNTU0Mi4KKwkKK0ZyaSBNYXIgMzAgMTQ6NDE6NTcgQ0VTVCAyMDA3IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sSU8uYzogYXBwbGllZCBjaGFuZ2UgZnJvbSBNaWNoYWVsIERheSB0byBhdm9pZCBhIHByb2JsZW0gd2hlbgorCSAgY29tcGlsZWQgd2l0aG91dCB6bGliIHN1cHBvcnQuCisKK1dlZCBNYXIgMjEgMTc6NTg6MTMgQ0VUIDIwMDcgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBpbmNsdWRlL2xpYnhtbC94cGF0aC5oOiBhcHBsaWVkIGRvY3VtZW50YXRpb24gcGF0Y2ggZnJvbSBKYW1lcyBEZW5uZXR0CisKK1dlZCBNYXIgMjEgMjE6MjA6NDggSEtUIDIwMDcgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIHhtbHJlZ2V4cC5jOiBmaXhlZCBwcm9ibGVtIHdpdGggMHgyZCBpbiBDaGFyIFJhbmdlIChidWcgIzQyMDU5NikKKwkqIHRlc3QvcmVnZXhwL2J1ZzQyMDU5NiwgcmVzdWx0L3JlZ2V4cC9idWc0MjA1OTY6IGFkZGVkIHJlZ3Jlc3Npb24KKwkgIHRlc3QgZm9yIHRoaXMKKworV2VkIE1hciAyMSAxNDoyMzowOCBIS1QgMjAwNyBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogSFRNTHBhcnNlci5jOiBmaXhlZCBtZW1vcnkgYWNjZXNzIGVycm9yIG9uIHBhcnNpbmcgb2YgbWV0YSBkYXRhCisJICB3aGljaCBoYWQgZXJyb3JzIChidWcgIzM4MjIwNikuICBBbHNvIGNsZWFuZWQgdXAgYSBmZXcgd2FybmluZ3MKKwkgIGJ5IGFkZGluZyBzb21lIGFkZGl0aW9uYWwgREVDTCBtYWNyb3MuCisKK1R1ZSBNYXIgMjAgMDk6NTg6MTMgQ0VUIDIwMDcgIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogbmFub2Z0cC5jOiBhcHBsaWVkIHBhdGNoIGZyb20gQmrDtnJuIFdpYmVyZyB0byB0cnkgdG8gZml4IGFnYWluCisJICB0aGUgc2lsbHkgX19zc19mYW1pbGx5IHByb2JsZW0gb24gdmFyaW91cyBBSVhlcywgc2hvdWxkIGZpeCAjNDIwMTg0CisKK1dlZCBNYXIgMTQgMjA6MzA6MzggSEtUIDIwMDcgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIGNvbmZpZ3VyZS5pbjogY29ycmVjdGVkIHNtYWxsIGVycm9yIGluIGxhc3QgY29tbWl0CisJKiB4bWxyZWFkZXIuYzogY29ycmVjdGVkIHNtYWxsIHR5cG8gaW4gbGFzdCBjb21taXQKKworV2VkIE1hciAxNCAxOTozNToyOCBIS1QgMjAwNyBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogeG1sc2NoZW1hcy5jOiBmaXhlZCBwcm9ibGVtIHdpdGggcmVmZXJlbmNlZCBhdHRyaWJ1dGUgZ3JvdXBzCisJICAoYnVnICM0MTc2MjEpCisJKiBjb25maWd1cmUuaW46IHJlLW9yZGVyZWQgc29tZSBpbmNsdWRlcyBmb3IgdHlwZXMuaCAvIHNvY2tldC5oCisJICAoYnVnICM0MTYwMDEpCisKK0ZyaSBNYXIgIDkgMTc6NTQ6NDAgQ0VUIDIwMDcgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxyZWFkZXIuYzogYXBwbGllZCBwYXRjaCBmcm9tIEp1bGllbiBSZWljaGVsIGNsZWFuaW5nIHVwIG1vZGUKKwkgIGFuZCBzdGF0ZSBpbnRlcm5hbCBmbGFncyBtaXh1cHMKKworV2VkIE1hciAgNyAxNjoxODoxOCBIS1QgMjAwNyBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogeHBhdGguYzogZml4ZWQgeG1sWFBhdGhDbXBOb2RlcyBmb3IgaW5jb3JyZWN0IHJlc3VsdCBvbiBjZXJ0YWluCisJICBjYXNlcyB3aGVuIGNvbXBhcmluZyBpZGVudGljYWwgbm9kZXMgKGJ1ZyAjNDE1NTY3KSB3aXRoIHBhdGNoCisJICBmcm9tIE9sZWcgUGFyYXNjaGVua28KKworRnJpIEZlYiAxNiAwOToxMzozOCBQU1QgMjAwNyBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogcHl0aG9uL2xpYnhtbC5weTogZml4ZWQgdGFiIHByb2JsZW0gd2l0aCBwYXRjaCBmcm9tCisJICBBbmRyZWFzIEhhbmtlIChidWcgIzQwODYyNikKKworVGh1IEZlYiAxNSAxMjo0MzoyOCBQU1QgMjAwNyBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogZG9jL3htbC5odG1sOiBDaGFuZ2VkIGFsbCByZWZlcmVuY2VzIHRvIGxpYnhtbDIgQ1ZTIG92ZXIgdG8KKwkgIHRoZSBjb3JyZXNwb25kaW5nIFNWTi4gIEEgZmV3IG90aGVyIHNwZWxsaW5nL2dyYW1tYXIvbGlua3MKKwkgIGFsc28gY2hhbmdlZC4KKwkqIGRvYy9saWJ4bWwyLWFwaS54bWwsIGRvYy8qLmh0bWw6IFJlZ2VuZXJhdGVkIGFsbCBkb2NzLgorCitUdWUgRmViIDEzIDE4OjE1OjU4IFBTVCAyMDA3IFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiB4cGF0aC5jOiBGaXhlZCBtZW1vcnkgYnVnIHdpdGggaW52YWxpZCBmdW5jdGlvbiByZXBvcnRlZCBieQorCSAgRnJhbmNvaXMgRGVseW9uIG9uIG1haWxpbmcgbGlzdAorCitNb24gRmViIDEyIDE2OjQwOjQ4IFBTVCAyMDA3IFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiB4aW5jbHVkZS5jOiBmaXhlZCBwcm9ibGVtIHdpdGggaW52YWxpZCBjaGFyIGVuY291bnRlcmVkCisJICBkdXJpbmcgdGV4dCBpbmNsdWRlIChyZXBvcnRlZCBvbiB4c2x0IG1haWxpbmcgbGlzdCkKKworTW9uIEZlYiAxMiAxODozMDowMSBDRVQgMjAwNyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIE1ha2VmaWxlLmFtOiBzbWFsbCBjbGVhbnVwIHRvIGF2b2lkIHBhY2thZ2luZyAuc3ZuCisJKiBsaWJ4bWwuaCB0aHJlYWRzLmMgcGFyc2VyLmM6IGFwcGxpZWQgcGF0Y2ggdG8gYXZvaWQgYSBwcm9ibGVtCisJICBpbiBjb25jdXJyZW50IHRocmVhZGVkIGluaXRpYWxpemF0aW9uIGZpeCBmcm9tIFRlZCBQaGVscHMKKworVGh1IEZlYiAwOCAxNTozNToxOCBQU1QgMjAwNyBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogcGFyc2VyLmM6IGFkZGVkIGEgR1JPVyB3aGVuIHBhcnNpbmcgY29tcGxleCBjb21tZW50cyAoYnVnICM0MDU2NjYpCisJKiBnZW50ZXN0LnB5LCB0ZXN0YXBpLmM6IGFkZGVkIGEgaGFjayB0byBwcmV2ZW50IGRlc3RydWN0aW9uIG9mIGFueQorCSAgcGFyYW0gd2l0aCAnZGVzdHJveScgaW4gaXQncyBkZXNjcmlwdGlvbiAoaS5lLiBwYXJhbSBkZXN0cm95ZWQgYnkKKwkgIHRoZSByb3V0aW5lIHVuZGVyIHRlc3QsIHNvIHNob3VsZG4ndCBiZSBkZXN0cm95ZWQgYnkgdGVzdGFwaSkKKwkqIHhtbHJlYWRlci5jOiBhZGRlZCBmcmVlaW5nIG9mICdpbnB1dCcgcGFyYW0gZXZlbiBvbiBlcnJvcgorCSAgKGZpeGVzIGxlYWsgZGV0ZWN0ZWQgYnkgdGVzdGFwaSkKKworV2VkIEphbiAzMSAxMDoyNTozOCBQU1QgMjAwNyBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogdGVzdEF1dG9tYXRhLmMsIHRlc3RSZWdleHAuYywgdGVzdFRocmVhZHMuYywgdGVzdFRocmVhZHNXaW4zMi5jLAorCSAgeG1sd3JpdGVyLmM6IHJlcG9zaXRpb25lZCAjaW5jbHVkZSBmb3IgbGlieG1sLmggdG8gYXZvaWQKKwkgIGNvbXBpbGF0aW9uIGVycm9yIG9uIHNvbWUgYXJjaGl0ZWN0dXJlcyAoYnVnICMzOTgyNzcpCisJKiBmaXhlZCBzY3Jld2VkLXVwIENoYW5nZUxvZyAoZGVsZXRlZCBzb21lIGR1cGxpY2F0ZSBlbnRyaWVzKQorCitGcmkgSmFuIDI2IDAwOjA1OjE4IFBTVCAyMDA3IFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiBpbXBsZW1lbnRlZCBwYXRjaCBmcm9tIFN0w6lwaGFuZSBCaWRvdWwgZm9yIHVyaS5jIChidWcgIzM4OTc2NykKKworVGh1IEphbiAyNSAxMToxNTowOCBQU1QgMjAwNyBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogeHBhdGguYzogYWRkZWQgY2hlY2tzIGZvciBhbGxvYyBmYWlsIG9uIGNhbGxzIHRvCisJICB4bWxYUGF0aE5ld0NvbnRleHQgKGxpYnhzbHQgYnVnICM0MDAyNDIpCisKK1RodSBKYW4gMTEgMTU6Mzg6MDggUFNUIDIwMDcgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIFJlLWdlbmVyYXRlZCB0aGUgZG9jdW1lbnRhdGlvbiAoQVBJIGNodW5rcyAyNy0yOSB3ZXJlIG1pc3NpbmcpCisJICAoYWxzbyBjYXVzZXMgY2hhbmdlcyB0byB0ZXN0YXBpLmMsIGVsZmdjY2hhY2suaCBhbmQKKwkgIHdpbjMyL2xpYnhtbDIuZGVmLnNyYykKKworVHVlIEphbiAgOSAyMjoyNDoyNiBDRVQgMjAwNyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHB5dGhvbi9saWJ4bWwuYzogZml4IGEgbWVtb3J5IGxlYWsgaW4gdGhlIHB5dGhvbiBzdHJpbmcgaGFuZGxpbmcKKwkgIHdoZW4gU0FYIGV2ZW50IGFyZSBwYXNzZWQgYmFjayB0byB0aGUgcHl0aG9uIGhhbmRsZXJzCisKK1RodSBKYW4gIDQgMTg6Mjc6NDkgQ0VUIDIwMDcgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxyZWFkZXIuYzogZml4IHhtbFRleHRSZWFkZXJTZXR1cCgpIGRlc2NyaXB0aW9uCisJKiB0ZXN0L3JlbGF4bmcvZW1wdHkxLnJuZyB0ZXN0L3JlbGF4bmcvY29tcHNfMC54bWwKKwkgIHRlc3QvcmVsYXhuZy9lbXB0eTFfMC54bWwgdGVzdC9yZWxheG5nL2NvbXBzLnJuZworCSAgdGVzdC9yZWxheG5nL2VtcHR5MC5ybmcgdGVzdC9yZWxheG5nL2VtcHR5MF8wLnhtbAorCSAgdGVzdC9yZWxheG5nL2VtcHR5MV8xLnhtbDogdGVzdHMgd2hpY2ggd2VyZSBhcHBhcmVudGx5IAorCSAgbmV2ZXIgY29tbWl0ZWQgdG8gQ1ZTCisKK1dlZCBKYW4gIDMgMTY6MDU6MjEgUFNUIDIwMDcgQWxla3NleSBTYW5pbiA8YWxla3NleUBhbGVrc2V5LmNvbT4KKworCSogeG1scmVhZGVyLmMgaW5jbHVkZS9saWJ4bWwveG1scmVhZGVyLmggd2luMzIvbGlieG1sMi5kZWYuc3JjOgorCWV4cG9zZSB4bWxUZXh0UmVhZGVyU2V0dXAoKSBmdW5jdGlvbgorCitXZWQgSmFuICAzIDE2OjE0OjEzIENFVCAyMDA3IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogY29uZmlndXJlLmluOiBhZGFwdCB0aGUgZXh0cmEgdmVyc2lvbmluZyBjb2RlIHRvIFNWTgorCitUaHUgRGVjIDE0IDE2OjUyOjM0IENFVCAyMDA2IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcHl0aG9uL2dlbmVyYXRvci5weSBweXRob24vbGlieG1sLnB5OiBhcHBhcmVudGx5IGlkKCkgc29tZXRpbWVzCisJICBnZW5lcmF0ZSBuZWdhdGl2ZSB2YWx1ZXMgYW5kICVYIG91dHB1dHMgLVhYWFggOi0oCisKK01vbiBEZWMgIDQgMTA6MzA6MjUgQ0VUIDIwMDYgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBwYXJzZXIuYyBpbmNsdWRlL2xpYnhtbC90cmVlLmg6IHBhdGNoIGZyb20gTWljaGFlbCBEYXkgb24gc3RhbmRhbG9uZQorCSAgYW5kIFhNTCBkZWNsYXJhdGlvbiBkZXRlY3Rpb24sIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gY2hhbmdlCisKK01vbiBEZWMgIDQgMTA6Mjc6MDEgQ0VUIDIwMDYgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4aW5jbHVkZS5jOiBhbm90aGVyIFhJbmNsdWRlIHVzZXIgZGF0YSBwcm9wYWdhdGlvbiBwYXRjaCBmcm9tCisJICBNaWNoYWVsIERheQorCitUaHUgTm92IDIzIDE3OjIyOjAzIENFVCAyMDA2IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogSFRNTHBhcnNlci5jOiBhcHBsaWVkIHBhdGNoIGZyb20gU3RldmVuIFJhaW53YXRlciB0byBmaXggCisJICBVVEY4VG9IdG1sIGJlaGF2aW91ciBvbiBjb2RlIHBvaW50cyB3aGljaCBhcmUgbm90IG1hcHBhYmxlIHRvCisJICBwcmVkZWZpbmVkIEhUTUwgZW50aXRpZXMsIGZpeGVzICMzNzc1NDQKKworVGh1IE5vdiAyMyAxNzoxMToyMyBDRVQgMjAwNiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhwYXRoLmM6IGZpeGVkIGEgYnVnIHdoZXJlIHRoZSBwcmluY2lwYWwgbm9kZSB0eXBlIG9mIGFuIGF4aXMKKwkgIHdhc24ndCB0ZXN0ZWQgb24gbmFtZSBjaGVjaywgZml4ZXMgYnVnICMzNzc0MzIKKworV2VkIE5vdiAgOCAxMDoxOToyNyBDRVQgMjAwNiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIEhUTUxwYXJzZXIuYzogY2hhbmdlIGh0bWxDdHh0UmVzZXQoKSBmb2xsb3dpbmcgTWljaGFlbCBEYXkgYnVnCisJICByZXBvcnQgYW5kIHN1Z2dlc3Rpb24uCisKK01vbiBOb3YgIDYgMDk6NTY6NDEgQ0VUIDIwMDYgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB1cmkuYzogYXBwbGllZCBwYXRjaCBmcm9tIElnb3IgZm9yIHBhdGggY29udmVyc2lvbiBvbiBXaW5kb3dzCisKK1RodSBOb3YgIDIgMTE6Mjk6MTcgQ0VUIDIwMDYgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxyZWdleHAuYzogYW5vdGhlciBzbWFsbCBjaGFuZ2Ugb24gdGhlIGFsZ29yaXRobSBmb3IgdGhlCisJICBlbGltaW5hdGlvbiBvZiBlcHNpbG9uIHRyYW5zaXRpb25zLCBzaG91bGQgaGVscCBvbiAjMzYyOTg5IHRvbworCitXZWQgTm92ICAxIDE2OjMzOjEwIENFVCAyMDA2IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogdHJlZS5jOiBhcHBsaWVkIGRvY3VtZW50YXRpb24gcGF0Y2hlcyBmcm9tIE1hcmt1cyBLZWltCisJKiB4bWxyZWdleHAuYzogZml4ZWQgb25lIGJ1ZyBhbmQgYWRkZWQgYSBjb3VwbGUgb2Ygb3B0aW1pc2F0aW9ucworCSAgd2hpbGUgd29ya2luZyBvbiBidWcgIzM2Mjk4OQorCitGcmkgT2N0IDI3IDE0OjU0OjA3IENFU1QgMjAwNiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIEhUTUxwYXJzZXIuYzogYXBwbGllZCBhIHJld29ya2VkIHZlcnNpb24gb2YgVXNhbWFoIE1hbGlrIHBhdGNoCisJICB0byBhdm9pZCBncm93aW5nIHRoZSBwYXJzZXIgc3RhY2sgaW4gc29tZSBhdXRvY2xvc2UgY2FzZXMsIHNob3VsZAorCSAgZml4ICMzNjEyMjEKKworVGh1IE9jdCAyNiAxMDo1NDo0MCBDRVNUIDIwMDYgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4cGF0aC5jOiBXaWxsaWFtIHNwb3R0ZWQgYW4gb2J2aW91cyBidWcKKworV2VkIE9jdCAyNSAxODowNDo1MCBDRVNUIDIwMDYgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBORVdTIGNvbmZpZ3VyZS5pbiB0ZXN0YXBpLmMgZG9jLy8qOiBwcmVwYXJpbmcgcmVsZWFzZSBvZgorCSAgbGlieG1sMi0yLjYuMjcKKwkqIGluY2x1ZGUvbGlieG1sL3RyZWUuaDogZml4IGEgc21hbGwgcHJvYmxlbSB3aXRoIHByZXByb2MgZmxhZ3MKKworRnJpIE9jdCAyMCAxNDo1NTo0NyBDRVNUIDIwMDYgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB0cmVlLmM6IGZpeCBjb21tZW50IGZvciB4bWxEb2NTZXRSb290RWxlbWVudCBjLmYuICMzNTE5ODEKKwkqIHhtbGxpbnQuYzogb3JkZXIgWFBhdGggZWxlbWVudHMgd2hlbiB1c2luZyAtLXNoZWxsCisKK1R1ZSBPY3QgMTcgMjM6MjM6MjYgQ0VTVCAyMDA2IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1scmVnZXhwLmM6IGFwcGxpZWQgZml4IGZyb20gQ2hyaXN0b3BoZXIgQm91bWVub3QgZm9yIGJ1ZworCSAgIzM2MjcxNCBvbiByZWdleHBzIG1pc3NpbmcgJ10nCisKK1R1ZSBPY3QgMTcgMjI6MzI6NDIgQ0VTVCAyMDA2IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcGFyc2VySW50ZXJuYWxzLmM6IGFwcGxpZWQgcGF0Y2ggZnJvbSBNYXJpdXMgS29uaXR6ZXIgdG8gYXZvaWQKKwkgIGxlYWtpbmcgaW4geG1sTmV3SW5wdXRGcm9tRmlsZSgpIGluIGNhc2Ugb2YgSFRUUCByZWRpcmVjdGlvbgorCitUdWUgT2N0IDE3IDIyOjE5OjAyIENFU1QgMjAwNiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIEhUTUxwYXJzZXIuYzogZml4IG9uZSBwcm9ibGVtIGZvdW5kIGluIGh0bWxDdHh0VXNlT3B0aW9ucygpCisJICBhbmQgcG9pbnRlZCBpbiAjMzQwNTkxCisKK1R1ZSBPY3QgMTcgMjI6MDQ6MzEgQ0VTVCAyMDA2IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogSFRNTHBhcnNlci5jOiBmaXhlZCB0ZWggMiBzdHVwaWQgYnVncyBhZmZlY3RpbmcgaHRtbFJlYWREb2MoKSBhbmQKKwkgIGh0bWxSZWFkSU8oKSB0aGlzIHNob3VsZCBmaXggIzM0MDMyMgorCitUdWUgT2N0IDE3IDIxOjM5OjIzIENFU1QgMjAwNiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhwYXRoLmM6IGFwcGxpZWQgcGF0Y2ggZnJvbSBPbGFmIFdhbGtvd2lhayB3aGljaCBzaG91bGQgZml4ICMzMzQxMDQKKworVHVlIE9jdCAxNyAxODoxMjozNCBDRVNUIDIwMDYgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBIVE1McGFyc2VyLmM6IGZpeGluZyBIVE1MIG1pbmltaXplZCBhdHRyaWJ1dGUgdmFsdWVzIHRvIGJlIGdlbmVyYXRlZAorCSAgaW50ZXJuYWxseSBpZiBub3QgcHJlc2VudCwgZml4ZXMgYnVnICMzMzIxMjQKKwkqIHJlc3VsdC9IVE1ML2RvYzIuaHRtLnNheCByZXN1bHQvSFRNTC9kb2MzLmh0bS5zYXggCisJICByZXN1bHQvSFRNTC93aXJlZC5odG1sLnNheDogdGhpcyBhZmZlY3RzIHRoZSBTQVggZXZlbnQgc3RyZW0gZm9yCisJICBhIGZldyB0ZXN0IGNhc2VzCisKK1R1ZSBPY3QgMTcgMTc6NTY6MzEgQ0VTVCAyMDA2IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogSFRNTHBhcnNlci5jOiBmaXhpbmcgSFRNTCBlbnRpdGllcyBpbiBhdHRyaWJ1dGVzIHBhcnNpbmcgYnVnICMzNjI1NTIKKwkqIHJlc3VsdC9IVE1ML2VudGl0aWVzMi5odG1sKiB0ZXN0L0hUTUwvZW50aXRpZXMyLmh0bWw6IGFkZGVkIHRvCisJICB0aGUgcmVncmVzc2lvbiBzdWl0ZQorCitUdWUgT2N0IDE3IDAxOjIxOjM3IENFU1QgMjAwNiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbGxpbnQuYzogc3RhcnRlZCB0byBzd2l0Y2ggeG1sbGludCB0byB1c2UgeG1sU2F2ZURvYyB0byB0ZXN0CisJICAjMzQyNTU2CisJKiB4bWxzYXZlLmM6IGZpeGVkICMzNDI1NTYgZWFzeSBhbmQgYSB3aG9sZSBzZXQgb2YgcHJvYmxlbXMgd2l0aAorCSAgZW5jb2RpbmdzLCBCT00gYW5kIHhtbFNhdmVEb2MoKQorCitNb24gT2N0IDE2IDE1OjE0OjUzIENFU1QgMjAwNiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIEhUTUxwYXJzZXIuYzogZml4ICMzNDgyNTIgaWYgdGhlIGRvY3VtZW50IGNsYWlucyB0byBiZSBpbiBhCisJICBkaWZmZXJlbnQgZW5jb2RpbmcgaW4gdGhlIG1ldGEgdGFnIGFuZCBpdCdzIG9idmlvdXNseSB3cm9uZywKKwkgIGRvbid0IHNjcmV3IHVwIHRoZSBlbmQgb2YgdGhlIGNvbnRlbnQuCisKK01vbiBPY3QgMTYgMTE6MzI6MDkgQ0VTVCAyMDA2IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogSFRNTHBhcnNlci5jOiBmaXggYSBjaHVua2luZyBhbmQgc2NyaXB0IGJ1ZyAjMzQ3NzA4CisKK01vbiBPY3QgMTYgMDk6NTE6MDUgQ0VTVCAyMDA2IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogSFRNTHBhcnNlci5jOiByZW1vdmUgYSB3YXJuaW5nCisJKiBlbmNvZGluZy5jOiBjaGVjayB3aXRoIHVwcGVyY2FzZSBmb3IgQUlYIGljb252KCkgc2hvdWxkIGZpeCAjMzUyNjQ0CisJKiBkb2MvZXhhbXBsZXMvTWFrZWZpbGUuYW06IHBhcnRpYWxseSBoYW5kbGUgb25lIGJ1ZyByZXBvcnQKKworU3VuIE9jdCAxNSAyMjozMTo0MiBDRVNUIDIwMDYgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBwYXJzZXIuYzogZml4IHRoZSBwYXRjaCBmb3IgdW5yZXByb2R1Y3RhYmxlICMzNDMwMDAgYnV0CisJICBhbHNvIGZpeCBhIGxpbmUvY29sdW1uIGtlZXBpbmcgZXJyb3IKKwkqIHJlc3VsdC9lcnJvcnMvYXR0cjEueG1sLmVyciByZXN1bHQvZXJyb3JzL2F0dHIyLnhtbC5lcnIKKwkgIHJlc3VsdC9lcnJvcnMvbmFtZS54bWwuZXJyIHJlc3VsdC9lcnJvcnMvbmFtZTIueG1sLmVyciAKKwkgIHJlc3VsdC9zY2hlbWFzL2FueUF0dHItcHJvY2Vzc0NvbnRlbnRzLWVycjFfMF8wLmVyciAKKwkgIHJlc3VsdC9zY2hlbWFzL2J1ZzMxMjk1N18xXzAuZXJyOiBhZmZlY3RlZCBsaW5lcyBpbiBlcnJvciBvdXRwdXQKKwkgIG9mIHRoZSByZWdyZXNzaW9uIHRlc3RzCisKK1NhdCBPY3QgMTQgMTA6NDY6NDYgQ0VTVCAyMDA2IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogdHJlZS5jOiBmaXhpbmcgYnVnICMzNDQzOTAgd2l0aCB4bWxSZWNvbmNpbGlhdGVOcworCitTYXQgT2N0IDE0IDAwOjMxOjQ5IENFU1QgMjAwNiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbGxpbnQuYzogYWRkZWQgLS1odG1sIC0tbWVtb3J5IHRvIHRlc3QgaHRtbFJlYWRNZW1vcnkgdG8gCisJICB0ZXN0ICMzMjE2MzIKKwkqIEhUTUxwYXJzZXIuYzogYWRkZWQgdmFyaW91cyBpbml0aWFsaXphdGlvbiBjYWxscyB3aGljaCBtYXkgaGVscCAKKwkgICMzMjE2MzIgYnV0IG5vdCBjb25jbHVzaXZlCisJKiB0ZXN0YXBpLmMgdHJlZS5jIGluY2x1ZGUvbGlieG1sL3RyZWUuaDogZml4ZWQgY29tcGlsYXRpb24gd2l0aAorCSAgLS13aXRoLW1pbmltdW0gLS13aXRoLXNheDEgYW5kIC0td2l0aC1taW5pbXVtIC0td2l0aC1zY2hlbWFzCisJICBmaXhpbmcgIzMyNjQ0MgorCitGcmkgT2N0IDEzIDE4OjMwOjU1IENFU1QgMjAwNiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHJlbGF4bmcuYzogZml4IGEgUmVsYXgtTkcgYnVnIHJlbGF0ZWQgdG8gZWxlbWVudCBjb250ZW50IHByb2Nlc3NpbmcsCisJICBmaXhlcyBidWcgIzMwMjgzNgorCSogdGVzdC9yZWxheG5nLzMwMjgzNi5ybmcgdGVzdC9yZWxheG5nLzMwMjgzNl8wLnhtbAorCSAgcmVzdWx0L3JlbGF4bmcvMzAyODM2KjogYWRkZWQgdG8gcmVncmVzc2lvbiB0ZXN0cworCitGcmkgT2N0IDEzIDE0OjQyOjQ0IENFU1QgMjAwNiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlci5jOiBmaXggYSBwcm9ibGVtIGluIHhtbFNwbGl0UU5hbWUgcmVzdWx0aW5nIGluIGJ1ZyAjMzM0NjY5CisKK0ZyaSBPY3QgMTMgMTI6Mjc6MjIgQ0VTVCAyMDA2IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcGFyc2VyLmM6IGZpeGVkIHhtbElPUGFyc2VEVEQgaGFuZGxpbmcgb2YgQGlucHV0IGluIGVycm9yIGNhc2UsCisJICBTaG91bGQgZml4ICMzMzUwODUKKwkqIHRlc3RhcGkuYzogcmVzZXQgdGhlIGh0dHBfcHJveHkgZW52IHZhcmlhYmxlIHRvIG5vdCB3YXN0ZSB0aW1lCisJICBvbiByZWdyZXNzaW9uIHRlc3RzCisKK1RodSBPY3QgMTIgMjM6MDc6NDMgQ0VTVCAyMDA2IFJvYiBSaWNoYXJkcyA8cnJpY2hhcmRzQGN0aW5kdXN0cmllcy5uZXQ+CisKKwkqIHhtbElPLmM6IGZpeCBXaW5kb3dzIGNvbXBpbGUgLSBtaXNzaW5nIHhtbFdyYXBPcGVuLgorCitUaHUgT2N0IDEyIDE4OjIxOjE4IENFU1QgMjAwNiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlci5jOiBmaXhlZCB0aGUgaGV1cmlzdGljIHVzZWQgd2hlbiB0cnlpbmcgdG8gZGV0ZWN0IG1peGVkLWNvbnRlbnQKKwkgIGVsZW1lbXRzIGlmIHRoZSBwYXJzZXIgd2FudHMgdG8gdHJlYXQgaWdub3JhYmxlIHdoaXRlc3BhY2VzIAorCSAgaW4gYSBub24tc3RhbmRhcmQgd2F5LCBzaG91bGQgZml4IGJ1ZyAjMzAwMjYzCisKK1RodSBPY3QgMTIgMTQ6NTI6MzggQ0VTVCAyMDA2IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcGFyc2VyLmM6IGZpeCBhIGZpcnN0IGFyZyBlcnJvciBpbiBTQVggY2FsbGJhY2sgcG9pbnRlZCBvdXQgYnkKKwkgIE1pa2UgSG9tbWV5LCBhbmQgYW5vdGhlciBvbmUgc3RpbGwgaGFuZ2luZyBhcm91bmQuIFNob3VsZCBmaXggIzM0MjczNworCitXZWQgT2N0IDExIDIzOjExOjU4IENFU1QgMjAwNiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGluY2x1ZGUvbGlieG1sL3htbHZlcnNpb24uaC5pbjogZml4IGNvbW1lbnQgb24gdmVyc2lvbnMKKwkqIHhtbG1lbW9yeS5jOiBkbyBub3Qgc3BlbmQgdG9vIG11Y2ggdGltZSBkaWdnaW5nIGluIGR1bXBlZCBtZW1vcnkKKworV2VkIE9jdCAxMSAxODo0MDowMCBDRVNUIDIwMDYgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB2YWxpZC5jOiBmaXhlZCBhIHdlaXJkIGVycm9yIHdoZXJlIHZhbGlkaXR5IGNvbnRleHQgd2hvdWxkIG5vdAorCSAgc2hvdyB1cCBpZiB3YXJuaW5ncyB3ZXJlIGRpc2FibGVkIHBvaW50ZWQgb3V0IGJ5IEJvYiBTdGF5dG9uCisJKiB4bWxJTy5jIGRvYy9nZW5lcmF0b3IucHk6IGNsZWFudXAgYW5kIGZpeCB0byByZWdlbmVyYXRlIHRoZSBkb2NzCisJKiBkb2MvLyogdGVzdGFwaS5jOiByZWJ1aWx0IHRoZSBkb2NzCisKK1dlZCBPY3QgMTEgMTQ6MzI6MDAgQ0VTVCAyMDA2IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogbGlieG1sLTIuMC5wYy5pbjogYXBwbGllZCBwYXRjaCBmcm9tIE1pa2hhaWwgWmFiYWx1ZXYgdG8gc2VwYXJhdGUKKwkgIGxpYnJhcnkgZmxhZ3MgZm9yIHNoYXJlZCBhbmQgc3RhdGljIGJ1aWxkcywgZml4ZXMgIzM0NDU5NC4gSWYgdGhpcworCSAgYml0ZXMgeW91LCB1c2UgeG1sMi1jb25maWcuCisKK1dlZCBPY3QgMTEgMTE6Mjc6MzcgQ0VTVCAyMDA2IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcHl0aG9uL01ha2VmaWxlLmFtOiByZW1vdmUgdGhlIGJ1aWxkIHBhdGggcmVjb3JkZWQgaW4gdGhlIHB5dGhvbgorCSAgc2hhcmVkIG1vZHVsZSBhcyBQZXRlciBCcmVpdGVubG9obmVyIHBvaW50ZWQgb3V0LCBzaG91bGQgZml4ICMzNDYwMjIKKworV2VkIE9jdCAxMSAxMToxNDo1MSBDRVNUIDIwMDYgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxJTy5jOiBhcHBsaWVkIHBhdGNoIGZyb20gTWlraGFpbCBaYWJhbHVldiBmaXhpbmcgdGhlIGNvbmRpdGlvbnMKKwkgIG9mIHVuZXNjYXBpbmcgZnJvbSBVUkwgdG8gZmlsZXBhdGgsIHNob3VsZCBmaXggIzM0NDU4OC4KKworV2VkIE9jdCAxMSAxMDoyNDo1OCBDRVNUIDIwMDYgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBjb25maWd1cmUuaW4geHN0Yy9NYWtlZmlsZS5hbTogYXBwbGllZCBwYXRjaCBmcm9tIFBldGVyIEJyZWl0ZW5sb2huZXIKKwkgIGZvciB3Z2V0IGRldGVjdGlvbiBhbmQgZml4IG9mIGEgUHl0aG9uIHBhdGggcHJvYmxlbSwgc2hvdWxkIGZpeAorCSAgIzM0MDk5MworCitUdWUgT2N0IDEwIDIyOjAyOjI5IENFU1QgMjAwNiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGluY2x1ZGUvbGlieG1sL2VudGl0aWVzLmggZW50aXRpZXMuYyBTQVgyLmMgcGFyc2VyLmM6IHRyeWluZyB0bworCSAgZml4IGVudGl0aWVzIGJlaGF2aW91ciB3aGVuIHVzaW5nIFNBWCwgaGFkIHRvIGV4dGVuZCBlbnRpdGllcyAKKwkgIGNvbnRlbnQgYW5kIGhhY2sgb24gdGhlIGVudGl0aWVzIHByb2Nlc3NpbmcgY29kZSwgYnV0IHRoYXQgc2hvdWxkCisJICBmaXggdGhlIGxvbmcgc3RhbmRpbmcgYnVnICMxNTkyMTkKKworVHVlIE9jdCAxMCAxNDozNjoxOCBDRVNUIDIwMDYgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB1cmkuYyBpbmNsdWRlL2xpYnhtbC91cmkuaDogYWRkIGEgbmV3IGZ1bmN0aW9uIHhtbFBhdGhUb1VyaSgpCisJICB0byBwcm92aWRlIGEgY2xlYW4gY29udmVyc2lvbiB3aGVuIHNldHRpbmcgdXAgYSBiYXNlCisJKiBTQVgyLmMgdHJlZS5jOiB1c2Ugc2FpZCBmdW5jdGlvbiB3aGVuIHNldHRpbmcgdXAgZG9jLT5VUkwKKwkgIG9yIHVzaW5nIHRoZSB4bWxTZXRCYXNlIGZ1bmN0aW9uLiBTaG91bGQgZml4ICMzNDYyNjEKKworVHVlIE9jdCAxMCAxMTowNTo1OSBDRVNUIDIwMDYgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxJTy5jOiBhcHBsaWVkIGEgcG9ydGFiaWxpdHkgcGF0Y2ggZnJvbSBFbWVseWFub3YgQWxleGV5CisKK1R1ZSBPY3QgMTAgMTA6NTI6MDEgQ0VTVCAyMDA2IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcGFyc2VyLmM6IGFwcGxpZWQgYW5kIHNsaWdodGx5IG1vZGlmaWVkIGEgcGF0Y2ggZnJvbSBNaWNoYWVsIERheSB0byAKKwkgIGtlZXAgX3ByaXZhdGUgaW4gdGhlIHBhcnNlciBjb250ZXh0IHdoZW4gcGFyc2luZyBleHRlcm5hbCBlbnRpdGllcworCitUdWUgT2N0IDEwIDEwOjMzOjQzIENFU1QgMjAwNiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHB5dGhvbi9saWJ4bWwucHkgcHl0aG9uL3R5cGVzLmM6IGFwcGxpZWQgcGF0Y2ggZnJvbSBSb3NzIFJlZWRzdHJvbSwKKwkgIEJyaWFuIFdlc3QgYW5kIFN0ZWZhbiBBbmNhIHRvIGFkZCBYUG9pbnRlciBzdXBvcnQgdG8gdGhlIFB5dGhvbiBiaW5kaW5ncworCitGcmkgU2VwIDI5IDExOjEzOjU5IENFU1QgMjAwNiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbHNhdmUuYzogZml4ZWQgYSBjb21tZW50CisJKiB4aW5jbHVkZS5jIGluY2x1ZGUvbGlieG1sL3hpbmNsdWRlLmg6IGFwcGxpZWQgYSBwYXRjaCBmcm9tIE1pY2hhZWwgRGF5CisJICB0byBhZGQgYSBuZXcgZnVuY3Rpb24gcHJvdmlkaW5nIHRoZSBfcHJpdmF0ZSBmaWVsZCBmb3IgdGhlIGdlbmVyYXRlZAorCSAgcGFyc2VyIGNvbnRleHRzIHhtbFhJbmNsdWRlUHJvY2Vzc0ZsYWdzRGF0YSgpCisKK1RodSBTZXAgMjEgMTA6MzY6MTEgQ0VTVCAyMDA2IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sSU8uYzogYXBwbGllZCBwYXRjaCBmcm9tIE1pY2hhZWwgRGF5IGRvaW5nIHNvbWUgcmVmYWN0b3JpbmcKKwkgIGZvciB0aGUgY2F0YWxvZyBlbnRpdHkgbG9hZGVycy4KKworVGh1IFNlcCAyMSAwODo1MzowNiBDRVNUIDIwMDYgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBIVE1McGFyc2VyLmMgaW5jbHVkZS9saWJ4bWwvSFRNTHBhcnNlci5oOiBleHBvcnRzIGh0bWxOZXdQYXJzZXJDdHh0KCkKKwkgIGFzIE1pY2hhZWwgRGF5IHBvaW50ZWQgb3V0IHRoaXMgaXMgbmVlZGVkIHRvIHVzZSBodG1sQ3R4dFJlYWQqKCkKKworVHVlIFNlcCAxOSAxNDo0Mjo1OSBDRVNUIDIwMDYgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBwYXJzZXIuYzogYXBwbGllZCBwYXRjaCBmcm9tIEJlbiBEYXJuZWxsIG9uICMzMjE1NDUsIEkgY291bGQgbm90CisJICByZXByb2R1Y2UgdGhlIHByb2JsZW0gYnV0IDEvIHRoaXMgaXMgc2FmZSAyLyBpdCdzIGJldHRlciB0byBiZSBzYWZlLgorCitTYXQgU2VwIDE2IDE2OjAyOjIzIENFU1QgMjAwNiBSb2IgUmljaGFyZHMgPHJyaWNoYXJkc0BjdGluZHVzdHJpZXMubmV0PgorCisJKiB0cmVlLmM6IHhtbFRleHRDb25jYXQgd29ya3Mgd2l0aCBjb21tZW50cyBhbmQgUEkgbm9kZXMgKGJ1ZyAjMzU1OTYyKS4KKwkqIHBhcnNlci5jOiBmaXggcmVzdWx0aW5nIHRyZWUgY29ycnVwdGlvbiB3aGVuIHVzaW5nIFhNTCBuYW1lc3BhY2UgCisJICB3aXRoIGV4aXN0aW5nIGRvYyBpbiB4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlSZWNvdmVyLgorCitGcmkgU2VwICAxIDExOjUyOjU1IENFU1QgMjAwNiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbElPLmM6IGFub3RoZXIgcGF0Y2ggZnJvbSBFbWVseWFub3YgQWxleGV5IHRvIGNsZWFuIHVwIGEgZmV3IHRoaW5ncworCSAgaW4gdGhlIHByZXZpb3VzIHBhdGNoLgorCitXZWQgQXVnIDMwIDE1OjEwOjA5IENFU1QgMjAwNiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbElPLmM6IGFwcGxpZWQgcGF0Y2ggZnJvbSBSb2xhbmQgU2Nod2luZ2VsIHRvIGZpeCB0aGUgcHJvYmxlbQorCSAgd2l0aCBmaWxlIG5hbWVzIGluIFVURi04IG9uIFdpbmRvd3MsIGFuZCBjb21wYXQgb24gb2xkZXIgd2luOXggCisJICB2ZXJzaW9ucy4KKworVHVlIEF1ZyAyMiAxNjo1MToyMiBDRVNUIDIwMDYgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB2YWxpZC5jOiBmaXhlZCBhIGJ1ZyAjMjAzMTI1IGluIFJlZCBoYXQgYnVnemlsbGEsIGNyYXNoaW5nIFBIUDQKKwkgIG9uIHZhbGlkYXRpb24gZXJyb3JzLCB0aGUgaGV1cmlzdGljIHRvIGd1ZXNzIGlzIGEgdmN0eHQgdXNlcgorCSAgcG9pbnRlciBpcyB0aGUgcGFyc2luZyBjb250ZXh0IHdhcyBpbnN1ZmZpY2llbnQuCisKK01vbiBBdWcgMjEgMTA6NDA6MTAgQ0VTVCAyMDA2IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZG9jL3htbGNhdGFsb2cuMSBkb2MveG1sY2F0YWxvZ19tYW4ueG1sIGRvYy94bWxsaW50LjEgZG9jL3htbGxpbnQueG1sOgorCSAgYXBwbGllZCBwYXRjaCB0byBtYW4gcGFnZXMgZnJvbSBEYW5pZWwgTGVpZGVydCBhbmQgcmVnZW5lcmF0ZWQKKworVGh1IEF1ZyAxNyAwMDo0ODozMSBDRVNUIDIwMDYgUm9iIFJpY2hhcmRzIDxycmljaGFyZHNAY3RpbmR1c3RyaWVzLm5ldD4KKworCSogeG1sd3JpdGVyLmM6IEFkZCBhIGRvY3VtZW50IHRvIHRoZSB4bWx3cml0ZXIgc3RydWN0dXJlIGFuZCAKKwkgIHBhc3MgZG9jdW1lbnQgd2hlbiB3cml0aW5nIGF0dHJpYnV0ZSBjb250ZW50IGZvciBlbmNvZGluZyBzdXBwb3J0LgorCitXZWQgQXVnIDE2IDAxOjE1OjEyIENFU1QgMjAwNiBSb2IgUmljaGFyZHMgPHJyaWNoYXJkc0BjdGluZHVzdHJpZXMubmV0PgorCisJKiBIVE1MdHJlZS5jIHhtbHNhdmUuYzogQWRkIGxpbmVmZWVkcyB0byBlcnJvciBtZXNzYWdlcyBhbGxvd2luZyAKKwkgIGZvciBjb25zaXN0YW50IGhhbmRsaW5nLgorCitUdWUgQXVnIDE1IDE1OjAyOjE4IENFU1QgMjAwNiBLYXNpbWllciBCdWNoY2lrIDxsaWJ4bWwyLWN2c0BjYXppYy5uZXQ+CisKKwkqIHhwYXRoLmM6IEFwcGxpZWQgdGhlIHByb3Bvc2VkIGZpeCBmb3IgdGhlIGRvY3VtZW50YXRpb24KKwkgIG9mIHhtbFhQYXRoQ2FzdFRvU3RyaW5nKCk7IHNlZSBidWcgIzM0NjIwMi4KKworVHVlIEF1ZyAxNSAxNDo0OToxOCBDRVNUIDIwMDYgS2FzaW1pZXIgQnVjaGNpayA8bGlieG1sMi1jdnNAY2F6aWMubmV0PgorCisJKiB4bWxzY2hlbWFzLmM6IFdoaWxlIGludmVzdGlnYXRpbmcgYnVnICMzNTAyNDcsIEkgbm90aWNlZAorCSAgdGhhdCB4bWxTY2hlbWFJRENNYXRjaGVyIHN0cnVjdHMgYXJlIG1hc3NpdmVseSByZWNyZWF0ZWQKKwkgIGFsdGhvdWdoIG9ubHkgYSBtYXhpbXVtIG9mIDMgc3RydWN0cyBpcyB1c2VkIGF0IHRoZSBzYW1lCisJICB0aW1lOyBhZGRlZCBhIGNhY2hlIGZvciB0aG9zZSBzdHJ1Y3R1cmVzIHRvIHRoZQorCSAgdmFsaWRhdGlvbiBjb250ZXh0LgorCitTYXQgQXVnIDEyIDE2OjEyOjUzIENFU1QgMjAwNiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbHNjaGVtYXMuYzogYXBwbGllZCBwYXRjaCBmcm9tIE1hcnRvbiBJbGxlcyB0byBmaXggYW4gYWxsb2NhdGlvbgorCSAgYnVnIGluIHhtbFNjaGVtYVhQYXRoRXZhbHVhdGUgc2hvdWxkIGNsb3NlICMzNTEwMzIKKworTW9uIEF1ZyAgNyAxMzowODo0NiBDRVNUIDIwMDYgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxzY2hlbWFzLmM6IGFwcGxpZWQgcGF0Y2ggZnJvbSBCZXJ0cmFuZCBGcml0c2NoIHRvIGZpeCBhIGJ1ZyBpbgorCSAgeG1sU2NoZW1hQ2xlYXJWYWxpZEN0eHQKKworRnJpIEF1ZyAgNCAxNDo1MDo0MSBDRVNUIDIwMDYgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBweXRob24vZ2VuZXJhdG9yLnB5OiBmaXhlZCB0aGUgY29udmVyc2lvbiBvZiBsb25nIHBhcmFtZXRlcnMKKworVGh1IEp1bCAxMyAxNTowMzoxMSBDRVNUIDIwMDYgS2FzaW1pZXIgQnVjaGNpayA8bGlieG1sMi1jdnNAY2F6aWMubmV0PgorCisJKiB4bWxzYXZlLmM6IFJlbW92ZWQgdGhlIGF1dG9tYXRpYyBnZW5lcmF0aW9uIG9mIENEQVRBIHNlY3Rpb25zCisJICBmb3IgdGhlIGNvbnRlbnQgb2YgdGhlICJzY3JpcHQiIGFuZCAic3R5bGUiIGVsZW1lbnRzIHdoZW4KKwkgIHNlcmlhbGl6aW5nIFhIVE1MLiBUaGUgaXNzdWUgd2FzIHJlcG9ydGVkIGJ5IFZpbmNlbnQgTGVmZXZyZSwKKwkgIGJ1ZyAjMzQ1MTQ3LgorCSogcmVzdWx0L3hodG1sMSByZXN1bHQvbm9lbnQveGh0bWwxOiBBZGp1c3RlZCByZWdyZXNzaW9uIHRlc3QKKwkgIHJlc3VsdHMgZHVlIHRvIHRoZSBzZXJpYWxpemF0aW9uIGNoYW5nZSBkZXNjcmliZWQgYWJvdmUuCisKK1RodSBKdWwgMTMgMDg6MzI6MjEgQ0VTVCAyMDA2IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogY29uZmlndXJlLmluIHBhcnNlci5jIHhtbGxpbnQuYyBpbmNsdWRlL2xpYnhtbC9wYXJzZXIuaAorCSAgaW5jbHVkZS9saWJ4bWwveG1sdmVyc2lvbi5oLmluOiBhcHBsaWVkIHBhdGNoIGZyb20gQW5kcmV3IFcuIE5vc2Vua28KKwkgIHRvIGV4cG9zZSBpZiB6bGliIHN1cHBvcnQgd2FzIGNvbXBpbGVkIGluLCBpbiB0aGUgaGVhZGVyLCBpbiB0aGUKKwkgIGZlYXR1cmUgQVBJIGFuZCBpbiB0aGUgeG1sbGludCAtLXZlcnNpb24gb3V0cHV0LgorCitUaHUgSnVsIDEzIDA4OjI0OjE0IENFU1QgMjAwNiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIFNBWDIuYzogcmVmYWN0b3IgdG8gdXNlIG5vcm1hbCB3YXJuaW5ncyBmb3IgZW50aXRpZXMgcHJvYmxlbQorCSAgYW5kIG5vdCBzdHJhaWdodCBTQVggY2FsbGJhY2tzLgorCitXZWQgSnVsIDEyIDE3OjEzOjAzIENFU1QgMjAwNiBLYXNpbWllciBCdWNoY2lrIDxsaWJ4bWwyLWN2c0BjYXppYy5uZXQ+CisKKwkqIHhtbHNjaGVtYXMuYzogRml4ZWQgYnVnICMzNDczMTYsIHJlcG9ydGVkIGJ5IERhdmlkIEJlbGl1czoKKwkgIFRoZSBzaW1wbGUgdHlwZSwgd2hpY2ggd2FzIHRoZSBjb250ZW50IHR5cGUgZGVmaW5pdGlvbgorCSAgb2YgYSBjb21wbGV4IHR5cGUsIHdoaWNoIGluIHR1cm4gd2FzIHRoZSBiYXNlIHR5cGUgb2YgYQorCSAgZXh0ZW5kaW5nIGNvbXBsZXggdHlwZSwgd2FzIG1pc3NlZCB0byBiZSBzZXQgb24gdGhpcworCSAgZXh0ZW5kaW5nIGNvbXBsZXggdHlwZSBpbiB0aGUgZGVyaXZhdGlvbiBtYWNoaW5lcnkuCisKK01vbiBKdWwgIDMgMTM6MzY6NDMgQ0VTVCAyMDA2IEthc2ltaWVyIEJ1Y2hjaWsgPGxpYnhtbDItY3ZzQGNhemljLm5ldD4KKworCSogeHBhdGguYzogQ2hhbmdlZCB4bWxYUGF0aENvbGxlY3RBbmRUZXN0KCkgdG8gdXNlCisJICB4bWxYUGF0aE5vZGVTZXRBZGROcygpIHdoZW4gYWRkaW5nIGEgbnMtbm9kZSBpbiBjYXNlIG9mCisJICBOT0RFX1RFU1RfVFlQRSAodGhlIG5zLW5vZGUgd2FzIHByZXZpb3VzbHkgYWRkZWQgcGxhaW5seQorCSAgdG8gdGhlIGxpc3QpLiBTaW5jZSBmb3IgTk9ERV9URVNUX0FMTCBhbmQgTk9ERV9URVNUX05BTUUKKwkgIHRoaXMgc3BlY2lhbGl6ZWQgbnMtYWRkaXRpb24gZnVuY3Rpb24gd2FzIGFscmVhZHkgdXNlZCwKKwkgIEkgYXNzdW1lIGl0IHdhcyBtaXNzZWQgdG8gYmUgdXNlZCB3aXRoIE5PREVfVEVTVF9UWVBFLgorCitNb24gSnVsICAzIDEwOjU3OjMzIENFU1QgMjAwNiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIEhUTUxwYXJzZXIuYzogYXBwbGllZCBjb25zdCdpZmljYXRpb24gb2Ygc3RyaW5ncyBwYXRjaCBmcm9tCisJICBNYXR0aGlhcyBDbGFzZW4KKworVGh1IEp1biAyOSAxMzo1MToxMiBDRVNUIDIwMDYgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB0aHJlYWRzLmM6IHBhdGNoIGZyb20gQW5kcmV3IFcuIE5vc2Vua28sIHhtbEZyZWVSTXV0ZXggZm9yZ290IHRvCisJICBkZXN0cm95IHRoZSBjb25kaXRpb24gYXNzb2NpYXRlZCB0byB0aGUgbXV0ZXguCisKK1RodSBKdW4gMjkgMTI6NDg6MDAgQ0VTVCAyMDA2IEthc2ltaWVyIEJ1Y2hjaWsgPGxpYnhtbDItY3ZzQGNhemljLm5ldD4KKworCSogeHBhdGguYzogRml4ZWQgYSBkb3VibGUtZnJlZSBpbiB4bWxYUGF0aENvbXBPcEV2YWxUb0Jvb2xlYW4oKSwKKwkgIHJldmVhbGVkIGJ5IGEgTGlieHNsdCByZWdyZXNzaW9uIHRlc3QuCisKK1RodSBKdW4gMjkgMTI6Mjg6MDcgQ0VTVCAyMDA2IEthc2ltaWVyIEJ1Y2hjaWsgPGxpYnhtbDItY3ZzQGNhemljLm5ldD4KKworCSogeHBhdGguYzogRW5oYW5jZWQgeG1sWFBhdGhDb21wT3BFdmFsVG9Cb29sZWFuKCkgdG8gYmUgYWxzbworCSAgdXNhYmxlIG91dHNpZGUgcHJlZGljYXRlIGV2YWx1YXRpb247IHRoZSBpbnRlbnRpb24gaXMgdG8KKwkgIHVzZSBpdCB2aWEgeG1sWFBhdGhDb21waWxlZEV2YWxUb0Jvb2xlYW4oKSBmb3IgWFNMVCB0ZXN0cywKKwkgIGxpa2UgaW4gPHhzbDppZiB0ZXN0PSIvZm9vIj4uCisJICAKK1dlZCBKdW4gMjggMTk6MTE6MTYgQ0VTVCAyMDA2IEthc2ltaWVyIEJ1Y2hjaWsgPGxpYnhtbDItY3ZzQGNhemljLm5ldD4KKworCSogeHBhdGguYzogRml4IGEgbWVtb3J5IGxlYWsgd2hpY2ggb2NjdXJyZWQgd2hlbiB1c2luZworCSAgeG1sWFBhdGhDb21waWxlZEV2YWxUb0Jvb2xlYW4oKS4KKworTW9uIEp1biAyNiAxNzoyNDoyOCBVVEMgMjAwNiBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogcHl0aG9uL2xpYnhtbC5jLCBweXRob24vbGlieG1sLnB5LCBweXRob24vdGVzdHMvY29tcGFyZU5vZGVzLnB5LAorCSAgcHl0aG9uL3Rlc3RzL01ha2VmaWxlLmFtOgorCSAgQWRkZWQgY29kZSBzdWJtaXR0ZWQgYnkgQW5kcmVhcyBQYWt1bGF0IHRvIHByb3ZpZGUgbm9kZQorCSAgZXF1YWxpdHksIGluZXF1YWxpdHkgYW5kIGhhc2ggZnVuY3Rpb25zLCBwbHVzIGEgc2luZ2xlCisJICB0ZXN0IHByb2dyYW0gdG8gY2hlY2sgdGhlIGZ1bmN0aW9ucyAoYnVncyAzNDU3NzkgKyAzNDU5NjEpLgorCitNb24gSnVuIDI2IDE4OjM4OjUxIENFU1QgMjAwNiBLYXNpbWllciBCdWNoY2lrIDxsaWJ4bWwyLWN2c0BjYXppYy5uZXQ+CisKKwkqIHhwYXRoLmM6IEFkZGVkIHhtbFhQYXRoQ29tcGlsZWRFdmFsVG9Cb29sZWFuKCkgdG8gdGhlIEFQSSBhbmQKKwkgIGFkanVzdGVkL2FkZGVkIHhtbFhQYXRoUnVuRXZhbCgpLCB4bWxYUGF0aFJ1blN0cmVhbUV2YWwoKSwKKwkgIHhtbFhQYXRoQ29tcE9wRXZhbFRvQm9vbGVhbigpLCB4bWxYUGF0aE5vZGVDb2xsZWN0QW5kVGVzdCgpCisJICB0byBiZSBhd2FyZSBvZiBhIGJvb2xlYW4gcmVzdWx0IHJlcXVlc3QuIFRoZSBuZXcgZnVuY3Rpb24KKwkgIGlzIG5vdyB1c2VkIHRvIGV2YWx1YXRlIHByZWRpY2F0ZXMuCisKK01vbiBKdW4gMjYgMTY6MjI6NTAgQ0VTVCAyMDA2IEthc2ltaWVyIEJ1Y2hjaWsgPGxpYnhtbDItY3ZzQGNhemljLm5ldD4KKworCSogeHBhdGguYzogRml4ZWQgYW4gYnVnIGluIHhtbFhQYXRoQ29tcEV4cHJBZGQoKTogdGhlIG5ld2x5CisJICBpbnRyb2R1Y2VkIGZpZWxkIEByZXdyaXRlVHlwZSBvbiB4bWxYUGF0aFN0ZXBPcCB3YXMgbm90CisJICBpbml0aWFsaXplZCB0byB6ZXJvIGhlcmU7IHRoaXMgY291bGQgbGVhZCB0byB0aGUgYWN0aXZhdGlvbgorCSAgb2YgdGhlIGF4aXMgcmV3cml0ZSBjb2RlIGluIHhtbFhQYXRoTm9kZUNvbGxlY3RBbmRUZXN0KCkgd2hlbgorCSAgQHJld3JpdGVUeXBlIGlzIHJhbmRvbWx5IHNldCB0byB0aGUgdmFsdWUgMS4gQSB0ZXN0CisJICAoaGFyZGNvZGluZyB0aGUgaW50aWFsIHZhbHVlIHRvIDEpIHJldmVhbGVkIHRoYXQgdGhlCisJICByZXN1bHRpbmcgaW5jb3JyZWN0IGJlaGF2aW91ciBpcyBzaW1pbGFyIHRvIHRoZSBiZWhhdmlvdXIKKwkgIGFzIGRlc2NyaWJlZCBieSBBcm5vbGQgSGVuZHJpa3Mgb24gdGhlIG1haWxpbmcgbGlzdDsgc28gSQorCSAgaG9wZSB0aGF0IHdpbGwgZml4IHRoZSBpc3N1ZS4JICAKKworRnJpIEp1biAyMyAxODoyNjowOCBDRVNUIDIwMDYgS2FzaW1pZXIgQnVjaGNpayA8bGlieG1sMi1jdnNAY2F6aWMubmV0PgorCisJKiB4cGF0aC5jOiBGaXhlZCBhbiBlcnJvciBpbiB4bWxYUGF0aEV2YWxFeHByKCksIHdoaWNoCisJICB3YXMgaW50cm9kdWNlZCB3aXRoIHRoZSBhZGRpdGlvbiBvZiB0aGUgZC1vLXMgcmV3cml0ZQorCSAgYW5kIG1hZGUgeHBhdGguYyB1bmFibGUgdG8gY29tcGlsZSBpZiBYUEFUSF9TVFJFQU1JTkcKKwkgIHdhcyBub3QgZGVmaW5lZCAocmVwb3J0ZWQgYnkgS3Vwcml5YW5vdiBBbmF0b2xpaiAtCisJICAjMzQ1NzUyKS4gRml4ZWQgdGhlIGNoZWNrIGZvciBkLW8tcyByZXdyaXRlCisJICB0byB3b3JrIG9uIHRoZSBjb3JyZWN0IFhQYXRoIHN0cmluZywgd2hpY2ggaXMgY3R4dC0+YmFzZQorCSAgYW5kIG5vdCBjb21wLT5leHByIGluIHRoaXMgY2FzZS4KKworTW9uIEp1biAxOSAxMjoyMzo0MSBDRVNUIDIwMDYgS2FzaW1pZXIgQnVjaGNpayA8bGlieG1sMi1jdnNAY2F6aWMubmV0PgorCisJKiB4cGF0aC5jOiBBZGRlZCBvcHRpbWl6YXRpb24gZm9yIHBvc2l0aW9uYWwgcHJlZGljYXRlcworCSAgKG9ubHkgc2hvcnQtaGFuZCBmb3JtICJbbl0iKSwgd2hpY2ggaGF2ZSBhIHByZWNlZGluZworCSAgcHJlZGljYXRlOiAiL2Zvb1tkZXNjZW5kYW50OjpiYXJdWzNdIi4KKworU3VuIEp1biAxOCAyMDo1OTowMiBFRFQgMjAwNiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlci5jOiB0cnkgdG8gZml4IHRoZSBjcmFzaCByYWlzZWQgYnkgdGhlIHBhcnNlciBpbgorCSAgcmVjb3ZlciBtb2RlIGFzIHBvaW50ZWQgYnkgUnlhbiBQaGlsbGlwcworCitTdW4gSnVuIDE4IDE4OjQ0OjU2IEVEVCAyMDA2IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcHl0aG9uL3R5cGVzLmM6IHBhdGNoIGZyb20gTmljIEZlcnJpZXIgdG8gcHJvdmlkZSBhIGJldHRlciB0eXBlCisJICBtYXBwaW5nIGZyb20gWFBhdGggdG8gcHl0aG9uCisKK1N1biBKdW4gMTggMTg6MzU6NTAgRURUIDIwMDYgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBydW50ZXN0LmM6IGFwcGxpZWQgcGF0Y2ggZnJvbSBCb3ogZm9yIFZNUyBhbmQgcmVwb3J0aW5nCisJICBTY2hlbWFzIGVycm9ycy4KKworU3VuIEp1biAxOCAxODoyMjoyNSBFRFQgMjAwNiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHRlc3RhcGkuYzogYXBwbGllZCBwYXRjaCBmcm9tIEZlbGlwZSBDb250cmVyYXMgd2hlbiBjb21waWxpbmcKKwkgIHdpdGggLS13aXRoLW1pbmltdW0KKworRnJpIEp1biAxNiAyMTozNzo0NCBDRVNUIDIwMDYgS2FzaW1pZXIgQnVjaGNpayA8bGlieG1sMi1jdnNAY2F6aWMubmV0PgorCisJKiB0cmVlLmMgaW5jbHVkZS9saWJ4bWwvdHJlZS5oOiBGaXhlZCBhIGJ1ZyBpbgorCSAgeG1sRE9NV3JhcEFkb3B0Tm9kZSgpOyB0aGUgdHJlZSB0cmF2ZXJzYWwgc3RvcHBlZCBpZiB0aGUKKwkgIHZlcnkgZmlyc3QgZ2l2ZW4gbm9kZSBoYWQgYW4gYXR0cmlidXRlIG5vZGUgOi0oIFRoaXMgd2FzIGR1ZQorCSAgdG8gYSBtaXNzZWQgY2hlY2sgaW4gdGhlIHRyYXZlcnNhbCBtZWNoYW5pc20uCisJICBFeHBhbmRlZCB0aGUgeG1sRE9NV3JhcEN0eHQ6IGl0IG5vdyBob2xkcyB0aGUgbmFtZXNwYWNlIG1hcAorCSAgdXNlZCBpbiB4bWxET01XcmFwQWRvcHROb2RlKCkgYW5kIHhtbERPTVdyYXBDbG9uZU5vZGUoKSBmb3IKKwkgIHJldXNhbDsgc28gdGhlIG1hcC1pdGVtcyBkb24ndCBuZWVkIHRvIGJlIGNyZWF0ZWQgZm9yIGV2ZXJ5CisJICBjbG9uaW5nL2Fkb3B0aW9uLiBBZGRlZCBhIGNhbGxiYWNrIGZ1bmN0aW9uIHRvIGl0IGZvcgorCSAgcmV0cmlldmFsIG9mIHhtbE5zUHRyIHRvIGJlIHNldCBvbiBub2RlLT5uczsgdGhpcyBpcyBuZWVkZWQKKwkgIGZvciBteSBjdXN0b20gaGFuZGxpbmcgb2YgbnMtcmVmZXJlbmNlcyBpbiBteSBET00gd3JhcHBlci4KKwkgIFN1YnN0aXR1dGVkIGNvZGUgd2hpY2ggY3JlYXRlZCB0aGUgWE1MIG5hbWVzcGFjZSBkZWNsIG9uCisJICB0aGUgZG9jIGZvciBhIGNhbGwgdG8geG1sVHJlZUVuc3VyZVhNTERlY2woKS4gUmVtb3ZlZAorCSAgdGhvc2UgbmFzdGx5ICJ3YXJuaWducyIgZnJvbSB0aGUgZG9jcyBvZiB0aGUgY2xvbmUvYWRvcHQKKwkgIGZ1bmN0aW9uczsgdGhleSB3b3JrIGZpbmUgb24gbXkgc2lkZS4KKwkgIAorTW9uIEp1biAxMiAxMzoyMzoxMSBDRVNUIDIwMDYgS2FzaW1pZXIgQnVjaGNpayA8bGlieG1sMi1jdnNAY2F6aWMubmV0PgorCisJKiByZXN1bHQvcGF0dGVybi9uYW1lc3BhY2VzOiBBZGp1c3RlZCB0aGUgcmVzdWx0IG9mIGEKKwkgIHJlZ3Jlc3Npb24gdGVzdCwgc2luY2UgdGhlIGZpeCBvZiB4bWxHZXROb2RlUGF0aCgpIHJldmVhbGVkIGEKKwkgIGJ1ZyBpbiB0aGlzIHRlc3QgcmVzdWx0LgorCitNb24gSnVuIDEyIDEzOjA2OjAzIENFU1QgMjAwNiBLYXNpbWllciBCdWNoY2lrIDxsaWJ4bWwyLWN2c0BjYXppYy5uZXQ+CisKKwkqIHRyZWUuYzogR290IHJpZCBvZiBhIGNvbXBpbGVyIHdhcm5pbmcgaW4geG1sR2V0Tm9kZVBhdGgoKS4KKworTW9uIEp1biAxMiAxMjo1NDoyNSBDRVNUIDIwMDYgS2FzaW1pZXIgQnVjaGNpayA8bGlieG1sMi1jdnNAY2F6aWMubmV0PgorCisJKiB0cmVlLmM6IEZpeGVkIHhtbEdldE5vZGVQYXRoKCkgdG8gZ2VuZXJhdGUgdGhlIG5vZGUgdGVzdCAiKiIKKwkgIGZvciBlbGVtZW50cyBpbiB0aGUgZGVmYXVsdCBuYW1lc3BhY2UsIHJhdGhlciB0aGFuIGdlbmVyYXRpbmcKKwkgIGFuIHVucHJlZml4ZWQgbmFtZWQgbm9kZSB0ZXN0IGFuZCBsb29zaW5nIHRoZSBuYW1lc3BhY2UKKwkgIGluZm9ybWF0aW9uLgorCitGcmkgSnVuICA5IDIxOjQ1OjAyIENFU1QgMjAwNiBLYXNpbWllciBCdWNoY2lrIDxsaWJ4bWwyLWN2c0BjYXppYy5uZXQ+CisKKwkqIGluY2x1ZGUvbGlieG1sL3BhcnNlci5oOiBDbGFyaWZpZWQgaW4gdGhlIGRvY3MgdGhhdCB0aGUgdHJlZQorCSAgbXVzdCBub3QgIGJlIHRyaWVkIHRvIGJlIG1vZGlmaWVkIGlmIHVzaW5nIHRoZSBwYXJzZXIgZmxhZworCSAgWE1MX1BBUlNFX0NPTVBBQ1QgYXMgc3VnZ2VzdGVkIGJ5IFN0ZWZhbiBCZWhuZWwKKwkgICgjMzQ0MzkwKS4KKworVHVlIEp1biAgNiAxNzo1MDo0MyBDRVNUIDIwMDYgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBjb25maWd1cmUuaW5pIE5FV1MgZG9jLy8qIGxpYnhtbC5zcGVjLmluIDogcHJlcGFyaW5nIHJlbGVhc2Ugb2YgMi42LjI2CisKK1R1ZSBKdW4gIDYgMTc6MjU6MjMgQ0VTVCAyMDA2IEthc2ltaWVyIEJ1Y2hjaWsgPGxpYnhtbDItY3ZzQGNhemljLm5ldD4KKworCSogeHBhdGguYzogRml4ZWQgc2VsZi1pbnZlbnRlZCBhIHNlZ2ZhdWx0IGluIHhtbFhQYXRoQ3R4dENvbXBpbGUoKSwKKwkgIHdoZW4gdGhlIGV4cHJlc3Npb24gd2FzIG5vdCB2YWxpZCBhbmQgQGNvbXAgd2FzIE5VTEwgYW5kIEkKKwkgIHRyaWVkIHRvIGRvIHRoZSBkLW8tcyByZXdyaXRlLgorCitUdWUgSnVuICA2IDE1OjE5OjU3IENFU1QgMjAwNiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGNvbmZpZ3VyZS5pbmkgTkVXUyBkb2MvLyogbGlieG1sLnNwZWMuaW4gOiBwcmVwYXJpbmcgcmVsZWFzZSBvZiAyLjYuMjUKKworVHVlIEp1biAgNiAxMToyODoxNSBDRVNUIDIwMDYgS2FzaW1pZXIgQnVjaGNpayA8bGlieG1sMi1jdnNAY2F6aWMubmV0PgorCisJKiB4cGF0aC5jOiBFbmFibGVkIHRoZSBjb21wb3VuZCB0cmF2ZXJzYWwgYWdhaW47IEkgYWRkZWQgYQorCSAgY2hlY2sgdG8gdXNlIHRoaXMgb25seSBpZiB0aGUgaGF2ZSBhbiBleHByZXNzaW9uIHN0YXJ0aW5nCisJICB3aXRoIHRoZSBkb2N1bWVudCBub2RlOyBzbyBpbiB0aGUgY2FzZSBvZiAiLy9mb28iLCB3ZQorCSAgYWxyZWFkeSBrbm93IGF0IGNvbXBpbGF0aW9uLXRpbWUsIHRoYXQgdGhlcmUgd2lsbCBiZSBvbmx5CisJICAxIGluaXRpYWwgY29udGV4dCBub2RlLiBBZGRlZCB0aGUgcmV3cml0ZSBhbHNvIHRvCisJICB4bWxYUGF0aEV2YWxFeHByKCkuCisKK1R1ZSBKdW4gIDYgMTA6MjM6MTAgQ0VTVCAyMDA2IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeGluY2x1ZGUuYzogZml4IGJ1ZyAjMzQzOTY4LCBpbmNsdWRlPSd0ZXh0JyBjYW4ndCBsZWFkIHRvIGEgCisJICByZWN1cnNpb24uCisKK0ZyaSBKdW4gIDIgMjI6NDc6MDggQ0VTVCAyMDA2IEthc2ltaWVyIEJ1Y2hjaWsgPGxpYnhtbDItY3ZzQGNhemljLm5ldD4KKworCSogeHBhdGguYzogRGlzYWJsZWQgdGhlIGNvbXBvdW5kIHRyYXZlcnNhbCBmb3IgdGhlIHJlbGVhc2U7CisJICBJIG5lZWQgZmlyc3QgdG8gYXNzdXJlIHRoYXQgdGhpcyBpcyBkb25lIG9ubHkgaWYgd2UgaGF2ZQorCSAgMSBpbml0aWFsIG5vZGUuCisKK1dlZCBNYXkgMzEgMTM6NTM6NDEgUFNUIDIwMDYgQWxla3NleSBTYW5pbiA8YWxla3NleUBhbGVrc2V5LmNvbT4KKyAgICAgIAorCSogeHBhdGguYzogZml4ZWQgbWVtb3J5IGxlYWsgaW4geHBhdGggZXJyb3IgcmVwb3J0aW5nCisKK1dlZCBNYXkgMzEgMTU6MzA6MTYgQ0VTVCAyMDA2IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogbGlieG1sLmggdHJpb2RlZi5oOiBhcHBsaWVkIHBhdGNoIGZyb20gT2xsaSBTYXZpYSBmb3IgTHlueE9TCisKK1dlZCBNYXkgMzEgMTQ6MzM6MDAgQ0VTVCAyMDA2IEthc2ltaWVyIEJ1Y2hjaWsgPGxpYnhtbDItY3ZzQGNhemljLm5ldD4KKworCSogeHBhdGguYyBpbmNsdWRlL2xpYnhtbC94cGF0aC5oIHJ1bnN1aXRlLmM6CisJICBDaGFuZ2VkIHRoZSBuYW1lIG9mIHRoZSByZWNlbnRseSBhZGRlZCBwdWJsaWMgZnVuY3Rpb24KKwkgIHhtbFhQYXRoQ29udGV4dFNldE9iamVjdENhY2hlKCkgdG8KKwkgIHhtbFhQYXRoQ29udGV4dFNldENhY2hlKCk7IHNvIGEgbW9yZSBnZW5lcmljIG9uZSwgaW4KKwkgIGNhc2Ugd2UgZGVjaWRlIHRvIGNhY2hlIG1vcmUgdGhpbmdzIHRoYW4gb25seSBYUGF0aAorCSAgb2JqZWN0cy4KKworVHVlIE1heSAzMCAyMTozNjoxNiBDRVNUIDIwMDYgS2FzaW1pZXIgQnVjaGNpayA8bGlieG1sMi1jdnNAY2F6aWMubmV0PgorCisJKiB4cGF0aC5jOiBPcHRpbWl6ZWQgeG1sWFBhdGhOb2RlQ29sbGVjdEFuZFRlc3QoKSBhbmQKKwkgIHhtbFhQYXRoTm9kZUNvbGxlY3RBbmRUZXN0TnRoKCkgdG8gZXZhbHVhdGUgYSBjb21wb3VuZAorCSAgdHJhdmVyc2FsIG9mIDIgYXhlcyB3aGVuIHdlIGhhdmUgYSAiLy9mb28iIGV4cHJlc3Npb24uCisJICBUaGlzIGlzIGRvbmUgd2l0aCBhIHJld3JpdGUgb2YgdGhlIFhQYXRoIEFTVCBpbgorCSAgeG1sWFBhdGhSZXdyaXRlRE9TRXhwcmVzc2lvbigpOyBJIGFkZGVkIGFuIGFkZGl0aW9uYWwgZmllbGQKKwkgIHRvIHhtbFhQYXRoU3RlcE9wIGZvciB0aGlzIChidXQgdGhlIGZpZWxkJ3MgbmFtZSBzaG91bGQgYmUKKwkgIGNoYW5nZWQpLiBUaGUgbWVjaGFuaXNtOiB0aGUgZW1icmFjaW5nIGRlc2NlbmRhbnQtb3Itc2VsZgorCSAgYXhpcyB0cmF2ZXJzYWwgKGFsc28gb3B0aW1pemVkIHRvIHJldHVybiBvbmx5IG5vZGVzIHdoaWNoCisJICBjYW4gaG9sZCBlbGVtZW50cyksIHdpbGwgcHJvZHVjZSBjb250ZXh0IG5vZGVzIGZvciB0aGUKKwkgIGlubmVyIHRyYXZlcnNhbCBvZiB0aGUgY2hpbGQgYXhpcy4gVGhpcyB3YXkgd2UgYXZvaWQgYSBmdWxsCisJICBub2RlLWNvbGxlY3RpbmcgdHJhdmVyc2FsIG9mIHRoZSBkZXNjZW5kYW50LW9yLXNlbGYgYXhpcy4KKwkgIFNvbWUgdGVzdHMgaW5kaWNhdGUgdGhhdCB0aGlzIGNhbiByZWR1Y2UgZXhlY3V0aW9uIHRpbWUgb2YKKwkgICIvL2ZvbyIgdG8gNTAlLiBUb2dldGhlciB3aXRoIHRoZSBYUGF0aCBvYmplY3QgY2FjaGUgdGhpcworCSAgYWxsIHNpZ25pZmljYW50bHkgc3BlZWRzIHVwIGxpYnhzbHQuCisKK1R1ZSBNYXkgMzAgMTE6Mzg6NDcgQ0VTVCAyMDA2IEthc2ltaWVyIEJ1Y2hjaWsgPGxpYnhtbDItY3ZzQGNhemljLm5ldD4KKworCSogeG1sc2NoZW1hcy5jOiBBIHdhcm5pbmcgd2lsbCBub3cgYmUgcmVwb3J0ZWQgaW4gdGhlIHZhbHVlIG9mCisJICB0aGUgWFNEIGF0dHJpYnV0ZSAnc2NoZW1hTG9jYXRpb24nIGRvZXMgbm90IGNvbnNpc3Qgb2YgdHVwbGVzCisJICAobmFtZXNwYWNlLW5hbWUsIGRvY3VtZW50LVVSSSkuIEEgd2FybmluZyB3aWxsIGJlIHJlcG9ydGVkCisJICBpZiBhIHNjaGVtYSBkb2N1bWVudCBjb3VsZCBub3QgYmUgZm91bmQgYXQgdGhlIHNwZWNpZmllZAorCSAgbG9jYXRpb24gKHZpYSAnc2NoZW1hTG9jYXRpb24nIG9yCisJICAnbm9OYW1lc3BhY2VTY2hlbWFMb2NhdGlvbicpLgorCSogaW5jbHVkZS9saWJ4bWwveG1sZXJyb3IuaDogQWRkZWQgWE1MX1NDSEVNQVZfTUlTQyB0bworCSAgeG1sUGFyc2VyRXJyb3JzLgorCitUdWUgTWF5IDMwIDExOjIxOjM0IENFU1QgMjAwNiBLYXNpbWllciBCdWNoY2lrIDxsaWJ4bWwyLWN2c0BjYXppYy5uZXQ+CisKKwkqIHhwYXRoLmM6IEVuaGFuY2VkIHhtbFhQYXRoTm9kZUNvbGxlY3RBbmRUZXN0KCkgdG8gYXZvaWQKKwkgIHJlY3JlYXRpb24gKGlmIHBvc3NpYmxlKSBvZiB0aGUgbm9kZS1zZXQgd2hpY2ggaXMgdXNlZCB0bworCSAgY29sbGVjdCB0aGUgbm9kZXMgaW4gdGhlIGN1cnJlbnQgYXhpcyBmb3IgdGhlIGN1cnJlY3QgY29udGV4dAorCSAgbm9kZS4gRXNwZWNpYWxseSBmb3IgIi8vZm9vIiB0aGlzIHdpbGwgZGVjcmVhc2UgZHJhbWF0aWNhbGx5CisJICB0aGUgbnVtYmVyIG9mIGNyZWF0ZWQgbm9kZS1zZXRzLCBzaW5jZSBmb3IgZWFjaCBub2RlIGluIHRoZQorCSAgcmVzdWx0IG5vZGUtc2V0IG9mIHRoZSBldmFsdWF0aW9uIG9mIGRlc2NlbmRhbnQtb3Itc2VsZjo6bm9kZSgpCisJICBhIG5ldyB0ZW1wb3Jhcnkgbm9kZS1zZXQgd2FzIGNyZWF0ZWQuIEFkZGVkIG5vZGUgaXRlcmF0b3IKKwkgIHhtbFhQYXRoTmV4dENoaWxkRWxlbWVudCgpIGFzIGEgdGlueSBvcHRpbWl6YXRpb24gZm9yCisJICBjaGlsZDo6Zm9vLgorCitNb24gTWF5IDI5IDE4OjA2OjE3IENFU1QgMjAwNiBLYXNpbWllciBCdWNoY2lrIDxsaWJ4bWwyLWN2c0BjYXppYy5uZXQ+CisKKwkqIHhwYXRoLmMgaW5jbHVkZS9saWJ4bWwveHBhdGguaDogQWRkZWQgYW4gWFBhdGggb2JqZWN0IGNhY2hlLgorCSAgSXQgc2l0cyBvbiBhbiB4bWxYUGF0aENvbnRleHQgYW5kIG5lZWQgdG8gYmUgZXhwbGljaXRlbHkKKwkgIGFjdGl2YXRlZCAob3IgZGVhY3RpdmF0ZWQgYWdhaW4pIHdpdGgKKwkgIHhtbFhQYXRoQ29udGV4dFNldE9iamVjdENhY2hlKCkuIFRoZSBjYWNoZSBjb25zaXN0cyBvZiA1CisJICBsaXN0cyBmb3Igbm9kZS1zZXQsIHN0cmluZywgbnVtYmVyLCBib29sZWFuIGFuZCBtaXNjIFhQYXRoCisJICBvYmplY3RzLiBJbnRlcm5hbGx5IHRoZSB4cGF0aC5jIG1vZHVsZSB3aWxsIHVzZSBvYmplY3QtCisJICBkZXBvc2l0aW9uIGFuZCAtYWNxdWlzaXRpb24gZnVuY3Rpb25zIHdoaWNoIHdpbGwgdHJ5IHRvIHJldXNlCisJICBhcyBtYW55IFhQYXRoIG9iamVjdHMgYXMgcG9zc2libGUsIGFuZCBmYWxsYmFjayB0byBub3JtYWwKKwkgIGZyZWUvY3JlYXRlIGJlaGF2aW91ciBpZiBubyBjYWNoZSBpcyBhdmFpbGFibGUgb3IgaWYgdGhlIGNhY2hlCisJICBpcyBmdWxsLgorCSogcnVuc3VpdGUuYzogQWRqdXN0ZWQgdG8gZGVhY3RpdmF0ZSB0aGUgY2FjaGUgZm9yIFhNTCBTY2hlbWEKKwkgIHRlc3RzIGlmIGEgY2FjaGUtY3JlYXRpb24gaXMgdHVybmVkIG9uIGJ5IGRlZmF1bHQgZm9yIHRoZSB3aG9sZQorCSAgbGlicmFyeSwgZS5nLiBmb3IgdGVzdGluZyBwdXJwb3NlcyBvZiB0aGUgY2FjaGUuIEl0IGlzCisJICBkZWFjdGl2YXRlZCBoZXJlIGluIG9yZGVyIHRvIGF2b2lkIGNvbmZ1c2lvbiBvZiB0aGUgbWVtb3J5IGxlYWsKKwkgIGRldGVjdGlvbiBpbiBydW5zdWl0ZS5jLgorCitXZWQgTWF5IDI0IDEwOjU0OjI1IENFU1QgMjAwNiBLYXNpbWllciBCdWNoY2lrIDxsaWJ4bWwyLWN2c0BjYXppYy5uZXQ+CisKKwkqIHhwYXRoLmM6IFJlbW92ZWQgYSBtZW1jcHkgaWYgeG1sWFBhdGhOb2RlU2V0TWVyZ2UoKTsgaXQKKwkgIHNlZW1zIHdlIHJlYWxseSBuZWVkIHRvIHdhbGsgdGhlIHdob2xlIGxpc3QsIHNpbmNlIHRob3NlCisJICBuYXN0bHkgbmFtZXNwYWNlIG5vZGVzIG5lZWQgdG8gYmUgYWRkZWQgd2l0aAorCSAgeG1sWFBhdGhOb2RlU2V0RHVwTnMoKTsgdGh1cyBhIHB1cmUgbWVtY3B5IGlzIG5vdCBwb3NzaWJsZS4KKwkgIEEgZmxhZyBvbiB0aGUgbm9kZS1zZXQgaW5kaWNhdGluZyBpZiBuYW1lc3BhY2Ugbm9kZXMgYXJlIGluCisJICB0aGUgc2V0IHdvdWxkIGhlbHAgaGVyZTsgdGhpcyBpcyB0aGUgM3JkIGZsYWcgd2hpY2ggd291bGQKKwkgIGJlIHVzZWZ1bGwgd2l0aCBub2RlLXNldHMuIFRoZSBjdXJyZW50IGZsYWdzIEkgaGF2ZSBpbiBtaW5kOgorCSAgMSkgSXMgYSBub2RlLXNldCBhbHJlYWR5IHNvcnRlZD8KKwkgICAgIFRoaXMgd291bGQgYWxsb3cgZm9yIHJlYnVzdCBhbmQgb3B0aW1pemFibGUgc29ydGluZworCSAgICAgYmVoYXZpb3VyLgorCSAgMikgT2Ygd2hhdCB0eXBlIGFyZSB0aGUgbm9kZXMgaW4gdGhlIHNldCAob3Igb2YgbWl4ZWQgdHlwZSk/CisJICAgICBUaGlzIHdvdWxkIGFsbG93IGZvciBmYXN0ZXIgbWVyZ2luZyBvZiBub2RlLXNldHMuCisJICAzKSBBcmUgbmFtZXNwYWNlIG5vZGVzIGluIHRoZSBzZXQ/CisJICAgICBUaGlzIHdvdWxkIGFsbG93IHRvIHNraXBwIGFsbCB0aGUgbmFtZXNwYWNlIG5vZGUgc3BlY2lmaWMKKwkgICAgIHNwZWNpYWwgaGFuZGxpbmcuIEZhc3RlciBub2RlLXNldCBtZXJnaW5nIGlmIHRoZSBmaXJzdAorCSAgICAgc2V0IGlzIGVtcHR5OyBqdXN0IG1lbWNweSB0aGUgc2V0LgorCitNb24gTWF5IDIyIDE3OjE0OjAwIENFU1QgMjAwNiBLYXNpbWllciBCdWNoY2lrIDxsaWJ4bWwyLWN2c0BjYXppYy5uZXQ+CisKKwkqIHhwYXRoLmM6IE9wdGltaXphdGlvbiBvZiBjb3VudCgpOiBlbGltaW5hdGVkIHNvcnRpbmcKKwkgIChzZWUgYnVnICMxNjU1NDcpLiBPcHRpbWl6YXRpb24gb2YgWFBBVEhfT1BfRklMVEVSIGlmIHRoZQorCSAgcHJlZGljYXRlIGlzIGEgWzFdIChkaXNhYmxlIHdpdGggWFBfT1BUSU1JWkVEX0ZJTFRFUl9GSVJTVCBpZgorCSAgaXQgcHJvZHVjZXMgdHJvdWJsZSkuIFRpbnkgb3B0IGluIHhtbFhQYXRoTm9kZVNldE1lcmdlKCkuCisJICAKK01vbiBNYXkgMjIgMTM6MzM6MTIgQ0VTVCAyMDA2IFJvYiBSaWNoYXJkcyA8cnJpY2hhcmRzQGN0aW5kdXN0cmllcy5uZXQ+CisKKwkqIHRyZWUuYzogUmV2ZXJ0IGJlaGF2aW9yIGNoYW5nZSBpbiB4bWxTZXRQcm9wIHRvIGhhbmRsZSBhdHRyaWJ1dGVzCisJICB3aXRoIGNvbG9ucyBpbiBuYW1lIGFuZCBubyBuYW1lc3BhY2UuCisKK0ZyaSBNYXkgMTkgMjE6NTY6NDMgQ0VTVCAyMDA2IEthc2ltaWVyIEJ1Y2hjaWsgPGxpYnhtbDItY3ZzQGNhemljLm5ldD4KKworCSogeHBhdGguYzogU3Vic3RpdHV0ZWQgYWxsIHJlbWFpbmluZyBjYWxscyB0byB4bWxYUGF0aENtcE5vZGVzKCkKKwkgIGZvciB4bWxYUGF0aENtcE5vZGVzRXh0KCkuIFRpbnkgZnVydGhlciBlbmhhbmNlbWVudCBvZgorCSAgeG1sWFBhdGhDbXBOb2Rlc0V4dCgpLiBBZGRlZCBhZGRpdGlvbmFsIGNoZWNrcyBpbiB2YXJpb3VzIGNvZGUKKwkgIHBhcnRzIHRvIGF2b2lkIGNhbGxpbmcgc29ydGluZyBvciBtZXJnaW5nIGZ1bmN0aW9ucyBpZiB0aGUKKwkgIG5vZGUtc2V0KHMpIGRvbid0IG5lZWQgdGhlbTsgaS5lLiwgaWYgdGhleSBhcmUgZW1wdHkgb3IgY29udGFpbgorCSAganVzdCBvbmUgbm9kZS4KKworRnJpIE1heSAxOSAxMzoxNjo1OCBDRVNUIDIwMDYgS2FzaW1pZXIgQnVjaGNpayA8bGlieG1sMi1jdnNAY2F6aWMubmV0PgorCisJKiB4cGF0aC5jOiBPcHRpbWl6ZWQgdGhlIGNvbXBhcmlzb24gZm9yIG5vbi1lbGVtZW50IG5vZGVzCisJICBpbiB4bWxYUGF0aENtcE5vZGVzRXh0KCk7IHRoZSBjb21wYXJpc29uIGlzIHVzZWQgZm9yIHNvcnRpbmcKKwkgIG9mIG5vZGUtc2V0cy4gVGhpcyBlbmhhbmNlbWVudCBpcyByZWxhdGVkIHRvIGJ1ZyAjMTY1NTQ3LgorCSAgVGhlcmUgYXJlIG90aGVyIHBsYWNlcyB3aGVyZSB0aGUgb2xkIGNvbXBhcmlzb24gZnVuY3Rpb24KKwkgIHhtbFhQYXRoQ21wTm9kZXMoKSBpcyBzdGlsbCBjYWxsZWQsIGJ1dCBJIGN1cnJlbnRseSBkb24ndAorCSAga25vdyBleGFjdGx5IHdoYXQgdGhvc2UgY2FsbHMgYXJlIGZvcjsgdGh1cyBpZiB0aGV5IGNhbiBiZQorCSAgc3Vic3RpdHV0ZWQgKGlmIGl0IG1ha2VzIHNlbnNlKSBmb3IgdGhlIG5ldyBmdW5jdGlvbi4KKworVHVlIE1heSAxNiAxNjo1NToxMyBDRVNUIDIwMDYgS2FzaW1pZXIgQnVjaGNpayA8bGlieG1sMi1jdnNAY2F6aWMubmV0PgorCisJKiB4cGF0aC5jOiBBcHBsaWVkIHBhdGNoIGZyb20gUm9iIFJpY2hhcmRzLCBmaXhpbmcgYSBwb3RlbnRpYWwKKwkgIG1lbW9yeSBsZWFrIGluIHhtbFhQYXRoVHJ5U3RyZWFtQ29tcGlsZSgpLCB3aGVuIGEgbGlzdCBvZgorCSAgbmFtZXNwYWNlcyB3YXMgYXNzaWduZWQgdG8gdGhlIFhQYXRoIGNvbXBpbGF0aW9uIGNvbnRleHQ7CisJICBoZXJlIGEgbmV3IG5hbWVzcGFjZSBsaXN0IHdhcyBjcmVhdGVkIGFuZCBwYXNzZWQgdG8KKwkgIHhtbFBhdHRlcm5jb21waWxlKCk7IGJ1dCB0aGlzIGxpc3Qgd2FzIG5vdCBmcmVlZCBhZnRlcndhcmRzLgorCSAgQWRkaXRpb25hbGx5IHdlIGF2b2lkIG5vdyBpbiB4bWxYUGF0aFRyeVN0cmVhbUNvbXBpbGUoKSB0bworCSAgY29tcGlsZSB0aGUgZXhwcmVzc2lvbiwgaWYgaXQgaGFzIGEgY29sb24gLSBpbmRpY2F0aW5nCisJICBwcmVmaXhlZCBuYW1lIHRlc3RzIC0gYW5kIG5vIG5hbWVzcGFjZSBsaXN0IHdhcyBnaXZlbi4gVGhlCisJICBzdHJlYW1pbmcgWFBhdGggbWVjaGFuaXNtIG5lZWRzIGEgbmFtZXNwYWNlIGxpc3QgYXQKKwkgIGNvbXBpbGF0aW9uIHRpbWUgKHVubGlrZSBub3JtYWwgWFBhdGgsIHdoZXJlIHdlIGNhbiBiaW5kCisJICBuYW1lc3BhY2UgbmFtZXMgdG8gcHJlZml4ZXMgYXQgZXhlY3V0aW9uIHRpbWUpLgorCSogcGF0dGVybi5jOiBFbmhhbmNlZCB0byB1c2UgYSBzdHJpbmcgZGljdCBmb3IgbG9jYWwtbmFtZXMsCisJICBucy1wcmVmaXhlcyBhbmQgYW5kIG5hbWVzcGFjZS1uYW1lcy4KKwkgIEZpeGVkIHhtbFN0cmVhbVB1c2hJbnRlcm5hbCgpIG5vdCB0byB1c2Ugc3RyaW5nLXBvaW50ZXIKKwkgIGNvbXBhcmlzb24gaWYgYSBkaWN0IGlzIGF2YWlsYWJsZTsgdGhpcyB3b24ndCB3b3JrLCBzaW5jZQorCSAgb25lIGRvZXMgbm90IGtub3cgaXQgdGhlIGdpdmVuIHN0cmluZ3Mgb3JpZ2luYXRlIGZyb20gdGhlCisJICBzYW1lIGRpY3QgLSBhbmQgdGhleSBub3JtYWxseSBkb24ndCBkbywgc2luY2UgZS5nLgorCSAgbmFtZXNwYWNlcyBhcmUgaG9sZCBvbiB4bWxOcy0+aHJlZi4gSSB0aGluayB0aGlzIHdvdWxkIGJlCisJICB3b3J0aCBhbiBpbnZlc3RpZ2F0aW9uOiBpZiB3ZSBjYW4gYWRkIGEgQGRvYyBmaWVsZCB0byB4bWxOcworCSAgYW5kIHB1dCB0aGUgQGhyZWYgaW4gdG8gYSBhZGRpdGlvbmFuIG5hbWVzcGFjZSBkaWN0IGhvbGQKKwkgIGluIHhtbERvYy4gRGFuaWVsIHdpbGwgc3VyZWx5IG5vdCBsaWtlIHRoaXMgaWRlYSA6LSkgQnV0CisJICBldmFsdWF0aW9uIG9mIHRvbnMgb2YgZWxlbWVudHMvYXR0cmlidXRlcyBpbiBuYW1lc3BhY2VzCisJICB3aXRoIHhtbFN0ckVxdWFsKCkgaXNuJ3QgdGhlIHdheSB3ZSBzaG91bGQgZ28gZm9yZXZlci4KKwkgIAorVGh1IE1heSAxMSAxODowMzo0OSBDRVNUIDIwMDYgS2FzaW1pZXIgQnVjaGNpayA8bGlieG1sMi1jdnNAY2F6aWMubmV0PgorCisJKiB4bWxzY2hlbWFzLmM6IEZpeGVkIGJ1ZyAjMzQxMzM3LCByZXBvcnRlZCBieSBEYXZpZCBHcm9obWFubi4KKwkgIFRoZSBjb2RlIGV4cGVjdGVkIGEgbm9kZSAoeG1sTm9kZVB0cikgb24gdGhlIGluZm8gZm9yIGEKKwkgIG5vbi1leGlzdGVudCBkZWZhdWx0IGF0dHJpYnV0ZSwgd2hpY2ggY2xlYXJseSBjYW5ub3QgYmUKKwkgIGV4cGVjdGVkLCBzaW5jZSB0aGUgYXR0cmlidXRlIGRvZXMgbm90IGV4aXN0LiBJIGNhbiBvbmx5CisJICBndWVzcyB0aGF0IHRoaXMgc25lYWtlZCB0cnlpbmcgdG8gZWxpbWluYXRlIHRoZSBxdWVyeQorCSAgZm9yIHRoZSBvd25lci1lbGVtZW50LCB3aGljaCBpcyB1bmF2b2lkYWJsZSBhY3R1YWxseS4KKwkgIE5vdGUgdGhhdCBjcmVhdGlvbiBvZiBkZWZhdWx0IGF0dHJpYnV0ZXMgd29uJ3QgaGF2ZSBhbgorCSAgZWZmZWN0IGlmIHZhbGlkYXRpbmcgdmlhIFNBWC9YTUxSZWFkZXI7IGkuZS4sIHRoZSBwcm9jZXNzb3IKKwkgIHdvbid0IGZpcmUgYWRkaXRpb25hbCBzdGFydC1hdHRyaWJ1dGUgZXZlbnRzIChJJ20gbm90IGV2ZW4KKwkgIHN1cmUgaWYgTGlieG1sMiBoYXMgc3VjaCBhIFNBWC1ldmVudDsgSSB0aGluayBpdCBoYW5kcyB0aGVtCisJICBhbGwgb3ZlciBpbiB0aGUgc3RhcnQtZWxlbWVudCBldmVudCkuCisKK1R1ZSBNYXkgIDkgMjE6NDc6NTggQ0VTVCAyMDA2IEthc2ltaWVyIEJ1Y2hjaWsgPGxpYnhtbDItY3ZzQGNhemljLm5ldD4KKworCSogeG1sc2NoZW1hcy5jOiBGaXhlZCBidWcgIzM0MTE1MCwgcmVwb3J0ZWQgYnkgTWljaGFlbCBSb21lci4KKwkgIEluIHhtbFNjaGVtYUJ1aWxkQ29udGVudE1vZGVsRm9yU3Vic3RHcm91cCgpLAorCSAgeG1sQXV0b21hdGFOZXdPbmNlVHJhbnMyKCkgd2FzIGluY29ycmVjdGx5IHVzZWQgaW5zdGVhZCBvZgorCSAgeG1sQXV0b21hdGFOZXdUcmFuc2l0aW9uMigpIHRvIG1pbWljIGEgeHM6Y2hvaWNlIGZvcgorCSAgc3Vic3RpdHV0aW9uLWdyb3Vwcy4KKwkqIHRlc3Qvc2NoZW1hcy9zdWJzdC1ncm91cC0xXzEueHNkCisJICB0ZXN0L3NjaGVtYXMvc3Vic3QtZ3JvdXAtMV8wLnhtbAorCSAgcmVzdWx0L3NjaGVtYXMvc3Vic3QtZ3JvdXAtMV8wXzEKKwkgIHJlc3VsdC9zY2hlbWFzL3N1YnN0LWdyb3VwLTFfMF8xLmVycjogQWRkZWQgcmVncmVzc2lvbiB0ZXN0CisJICBzdXBwbGllZCBieSBNaWNoYWVsIFJvbWVyIGZvciBidWcgIzM0MTE1MC4KKworU2F0IE1heSAgNiAxMTowNToyNCBIS1QgMjAwNiBXaWxsaWFtIE0uIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogcmVsYXhuZy5jOiBGaXhlZCBjb21waWxhdGlvbiBlcnJvciB3aXRoIHBhdGNoIHN1cHBsaWVkIGJ5CisJICBHcmFoYW0gQmVubmV0dC4KKworVGh1IE1heSAgNCAxOToxNDowMyBDRVNUIDIwMDYgS2FzaW1pZXIgQnVjaGNpayA8bGlieG1sMi1jdnNAY2F6aWMubmV0PgorCisJKiB4bWxzY2hlbWFzLmM6IFdlJ2xsIHJhaXNlIGFuIGludGVybmFsIGVycm9yIGFuZCBzdG9wCisJICB2YWxpZGF0aW9uIG5vdyB3aGVuIGFuIGVudGl0eSBpcyBmb3VuZCBpbiB0aGUgaW5zdGFuY2UKKwkgIGRvY3VtZW50LCBzaW5jZSB3ZSBkb24ndCBzdXBwb3J0IGF1dG9tYXRpYyBlbnRpdHkKKwkgIHN1YnN0aXR1dGlvbiBieSB0aGUgc2NoZW1hIHByb2Nlc3NvciAoeWV0PykgLQorCSAgc2VlIGJ1ZyAjMzQwMzE2LCByZXBvcnRlZCBieSBOaWNrIFdlbGxuaG9mZXIuCisKK1dlZCBNYXkgIDMgMTU6MTY6MDAgQ0VTVCAyMDA2IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogY29uZmlndXJlLmluOiBhcHBsaWVkIGFub3RoZXIgUHl0aG9uIGRldGVjdGlvbiBwYXRjaCBmcm9tIEpvc2VwaCBTYWNjbworCSogbGlieG1sLnNwZWMuaW46IGNsZWFudXAgdGhlIGNoYW5nZWxvZyBzZWN0aW9uLCBhc2NpaWZpZXMgdGhlIHNwZWMgZmlsZQorCSAgdG9vCisKK1R1ZSBNYXkgIDIgMjI6MzQ6NTQgQ0VTVCAyMDA2IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sSU8uYzogZml4IGEgbWl4IG9mIGNvZGUgYW5kIGRlY2xhcmF0aW9ucyBzaG93aW5nIHVwIG9uIFdpbmRvd3MKKwkgIHBhdGNoIGZyb20gS2phcnRhbiBNYXJhYXMsIGZpeGluZyAjMzQwNDA0CisKK1R1ZSBNYXkgIDIgMTQ6MjQ6NDAgQ0VTVCAyMDA2IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZW5jb2RpbmcuYzogZml4aW5nIGJ1ZyAjMzQwMzk4IHhtbENoYXJFbmNPdXRGdW5jIHdyaXRpbmcgdG8KKwkgIGlucHV0IGJ1ZmZlcgorCitGcmkgQXByIDI4IDE4OjI5OjIyIENFU1QgMjAwNiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIE5FV1MgY29uZmlndXJlLmluIGRvYy8vKjogcHJlcGFyaW5nIDIuNi4yNCByZWxlYXNlLCBmaXhlZCBQeXRob24KKwkgIHBhdGhzIGF0IHRoZSBsYXN0IG1vbWVudAorCSogcmVsYXhuZy5jIHRlc3RhcGkuYyB0cmVlLmM6IGZpeCBzb21lIGNvbW1lbnRzCisKK1RodSBBcHIgMjcgMTA6MTU6NDUgQ0VTVCAyMDA2IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sSU8uYzogYXBwbGllZCBwYXRjaCBmcm9tIFJvbGFuZCBTY2h3aW5nZWwgdG8gYWxsb3cgVVRGLTgKKwkgIGZpbGUgcGF0aHMgb24gV2luZG93cworCitUaHUgQXByIDI3IDEwOjEwOjU4IENFU1QgMjAwNiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbHdyaXRlci5jOiBwYXRjaCBmcm9tIEphc29uIFZpZXJzIGZvciBsaW5lIGJyZWFrcyBhZnRlciBFbmRQSQorCitUdWUgQXByIDI1IDIyOjIyOjU4IENFU1QgMjAwNiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHRyZWUuYzogZml4IGNvbXBpbGF0aW9uIHdpdGhvdXQgdHJlZQorCitUdWUgQXByIDI1IDE4OjE3OjM3IENFU1QgMjAwNiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbGxpbnQuYzogYXBwbGllZCBwYXRjaCBmcm9tIEdhcnkgQ29hZHkgdG8gcmVhbGx5IG1ha2Ugc3VyZQorCSAgeG1sbGludCAtLW5vbmV0IHdvdWxkIG5vdCByZWFjaCB0aGUgbmV0d29yaywgc2hvdWxkIGZpeCAjMzM3NDgzLgorCitUdWUgQXByIDI1IDE0OjUyOjE1IENFU1QgMjAwNiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGNvbmZpZ3VyZS5pbjogYXBwbGllZCBwYXRjaCBmcm9tIEpvc2VwaCBTYWNjbyBjaGFuZ2luZyBzbGlnaHRseQorCSAgdGhlIHB5dGhvbiBkZXRlY3Rpb24gc2NoZW1lIHNob3VsZCBmaXggYnVnICMzMzg1MjYKKworTW9uIEFwciAyNCAxMDo1MDoxOSBDRVNUIDIwMDYgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBwYXJzZXIuYzogZml4IHRoZSBlcnJvciBtZXNzYWdlIGZvciBpbnZhbGlkIGNvZGUgcG9pbnQgaW4gY29udGVudAorCSAgYy5mLiBidWcgIzMzOTMxMQorCitXZWQgQXByIDE5IDEzOjE2OjIzIENFU1QgMjAwNiBLYXNpbWllciBCdWNoY2lrIDxsaWJ4bWwyLWN2c0BjYXppYy5uZXQ+CisKKwkqIHhtbHNjaGVtYXMuYyB0ZXN0L3NjaGVtYXMvcmVzdHJpY3Rpb24tZW51bS0xKgorCSAgcmVzdWx0L3NjaGVtYXMvcmVzdHJpY3Rpb24tZW51bS0xKjogRml4ZWQgaW5jb3JyZWN0CisJICB2YWxpZGF0aW9uIG9mIHJlc3RyaWN0ZWQgZW51bWVyYXRpb25zLiBBZGRlZCByZWxhdGVkCisJICByZWdyZXNzaW9uIHRlc3RzLgorCitUaHUgQXByIDEzIDA5OjQ3OjI1IENFU1QgMjAwNiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbHNjaGVtYXMuYzogZml4aW5nIGEgZGVhbGxvY2F0aW9uIHByb2JsZW0gaW4geG1sU2NoZW1hQWRkU2NoZW1hRG9jKCkKKwkgIGluIGNhc2Ugb2YgZXJyb3JzLCBzaG91bGQgZml4IGJ1ZyAjMzM4MzAzCisKK1RodSBBcHIgMTMgMDk6MzE6NDUgQ0VTVCAyMDA2IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcmVsYXhuZy5jOiBmaXhpbmcgYSBkZWFsbG9jYXRpb24gcHJvYmxlbSBpbiB4bWxSZWxheE5HUGFyc2UoKSAKKwkgIGluIGNhc2Ugb2YgZXJyb3JzLCBzaG91bGQgZml4IGJ1ZyAjMzM4MzA2CisKK1RodSBBcHIgIDYgMTA6MjI6MTcgQ0VTVCAyMDA2IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZG9jL3htbGNhdGFsb2cuMSBkb2MveG1sY2F0YWxvZ19tYW4ueG1sIGRvYy94bWxsaW50LjEgZG9jL3htbGxpbnQueG1sOgorCSAgYXBwbGllZCBtYW4gcGFnZSBpbXByb3ZlbWVudHMgZnJvbSBEYW5pZWwgTGVpZGVydAorCitNb24gTWFyIDI3IDExOjQ0OjA3IENFU1QgMjAwNiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbHNjaGVtYXMuYzogcmVtb3ZlZCB1bnVzZWQgY29kZSBvciB2YXJpYWJsZXMsIGZyb20gU3RlZmFuIEtvc3QKKwkgIGZpeGluZyAjMzM2MTYzIGFuZCAjMzM2MTY0CisKK01vbiBNYXIgMjcgMTE6Mzg6MjEgQ0VTVCAyMDA2IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sc2NoZW1hcy5jOiBhcHBsaWVkIHBhdGNoIGZyb20gU3RlZmFuIEtvc3QgZml4aW5nICMzMzYxNjAKKworTW9uIE1hciAyNyAxMToyMzozOSBDRVNUIDIwMDYgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBjaHZhbGlkLmMgZ2VuQ2hSYW5nZXMucHkgZ2VuVW5pY29kZS5weSB4bWx1bmljb2RlLmMKKwkgIGluY2x1ZGUvbGlieG1sL2NodmFsaWQuaCBpbmNsdWRlL2xpYnhtbC94bWx1bmljb2RlLmg6IGFwcGxpZWQKKwkgIHBhdGNoZXMgZnJvbSBBaXZhcnMgS2FsdmFucyB0byBtYWtlIHVuaWNvZGUgdGFibGVzIGNvbnN0LCBmaXhlcworCSAgYnVnICMzMzYwOTYsIHRoaXMgYWxzbyB1cGRhdGVzIHRvIFVuaWNvZGUgNC4wMSBmaW5hbCB3aXRoIGEgY291cGxlCisJICBvZiBjaGFyYWN0ZXIgcmFuZ2VzIGZpeGVzLgorCitNb24gTWFyIDI3IDAwOjUxOjQwIENFU1QgMjAwNiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGNodmFsaWQuYyBnZW5DaFJhbmdlcy5weSBpbmNsdWRlL2xpYnhtbC9jaHZhbGlkLmg6IGZpeGVkIGJ1ZworCSAgIzMzNTYwMyBhbmQgcmVzeW5jJ2VkIGdlbkNoUmFuZ2VzLnB5IHRvIHRoZSBleHBlY3RlZCBvdXRwdXQuCisKK1dlZCBNYXIgMjIgMDA6MTQ6MzQgQ0VUIDIwMDYgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxyZWdleHAuYzogYXBwbGllZCBwYXRjaCBmcm9tIFlvdXJpIEdvbG92YW5vdiBmaXhpbmcgYnVnCisJICAjMzE2MzM4IGFuZCBhZGRpbmcgYSBjb3VwbGUgb2Ygb3B0aW1pemF0aW9ucyBpbiB0aGUgcmVnZXhwCisJICBjb21waWxhdGlvbiBlbmdpbmUuCisJKiB0ZXN0L3JlZ2V4cC9idWczMTYzMzggcmVzdWx0L3JlZ2V4cC9idWczMTYzMzg6IGFkZGVkIHJlZ3Jlc3Npb24KKwkgIHRlc3RzIGJhc2VkIG9uIHRoZSBleGFtcGxlcyBwcm92aWRlZCBpbiB0aGUgYnVnIHJlcG9ydC4KKworRnJpIE1hciAxMCAwODo0MDo1NSBFU1QgMjAwNiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGMxNG4uYyBlbmNvZGluZy5jIHhtbHNjaGVtYXMuYyB4cGF0aC5jIHhwb2ludGVyLmM6IGZpeCBhIGZldworCSAgd2FybmluZyByYWlzZWQgYnkgZ2NjLTQuMSBhbmQgbGF0ZXN0cyBjaGFuZ2VzCisKK0ZyaSBNYXIgMTAgMDE6MzQ6NDIgQ0VUIDIwMDYgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBydW50ZXN0LmMgc2NoZW1hdHJvbi5jIHRlc3RBdXRvbWF0YS5jIHRyZWUuYyB2YWxpZC5jIHhpbmNsdWRlLmMKKwkgIHhtbGNhdGFsb2cuYyB4bWxyZWFkZXIuYyB4bWxyZWdleHAuYyB4cGF0aC5jOiBlbmQgb2YgZmlyc3QKKwkgIHBhc3Mgb24gY292ZXJpdHkgcmVwb3J0cy4KKworVGh1IE1hciAgOSAxOTozNjoxNCBDRVQgMjAwNiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHJlbGF4bmcuYyB4bWxzY2hlbWFzLmMgeG1sc2NoZW1hc3R5cGVzLmM6IG1vcmUgY2xlYW51cHMgYmFzZWQKKwkgIG9uIGNvdmVyaXR5IHJlcG9ydHMuCisJCitUaHUgTWFyICA5IDE3OjQ3OjQwIENFVCAyMDA2IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogU0FYMi5jIGNhdGFsb2cuYyBlbmNvZGluZy5jIGVudGl0aWVzLmMgZXhhbXBsZS9nam9icmVhZC5jCisJICBweXRob24vbGlieG1sLmM6IG1vcmUgY2xlYW51cHMgYmFzZWQgb24gY292ZXJpdHkgcmVwb3J0cy4KKworVGh1IE1hciAgOSAxNToxMjoxOSBDRVQgMjAwNiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIEhUTUxwYXJzZXIuYyBwYXJzZXIuYyBwYXJzZXJJbnRlcm5hbHMuYyBwYXR0ZXJuLmMgdXJpLmM6IGEgYnVuY2gKKwkgIG9mIHNtYWxsIGNsZWFudXBzIGJhc2VkIG9uIGNvdmVyaXR5IHJlcG9ydHMuCisKK1RodSBNYXIgIDkgMDk6NDI6MTAgQ0VUIDIwMDYgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB3aW4zMi9NYWtlZmlsZS5iY2I6IGFkZGVkIHNjaGVtYXRyb24gYXMgcG9pbnRlZCBvdXQgYnkgRXJpYyBadXJjaGVyCisKK1R1ZSBNYXIgIDcgMDk6NTA6MDkgQ0VUIDIwMDYgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWwyLWNvbmZpZy5pbjogZml4IFJlZCBIYXQgYnVnICMxODQxNzAKKworTW9uIE1hciAgNiAxNDoyMTowOCBDRVQgMjAwNiBLYXNpbWllciBCdWNoY2lrIDxsaWJ4bWwyLWN2c0BjYXppYy5uZXQ+CisKKwkqIHRyZWUuYzogU2ltcGxpZmllZCB1c2FnZSBvZiB0aGUgaW50ZXJuYWwgeG1sTnNNYXAuIEFkZGVkIGEKKwkgICJzdHJpY3QiIGxvb2t1cCBmb3IgbmFtZXNwYWNlcyBiYXNlZCBvbiBhIHByZWZpeC4gRml4ZWQgYQorCSAgbmFtZXNwYWNlIHByb2Nlc3NpbmcgaXNzdWUgaW4gdGhlIGNsb25lLW5vZGUgZnVuY3Rpb24sIHdoaWNoCisJICBvY2N1cmVkIGlmIGEgQGN0eHQgYXJndW1lbnQgd2FzIGdpdmVuLgorCSAgCitGcmkgTWFyICAzIDE3OjQ0OjEwIENFVCAyMDA2IFJvYiBSaWNoYXJkcyA8cnJpY2hhcmRzQGN0aW5kdXN0cmllcy5uZXQ+CisKKwkqIHZhbGlkLmM6IGZpeCBIVE1MIGF0dHJpYnV0ZSBJRCBjaGVja2luZyBmb3IgaW5wdXQgZWxlbWVudC4KKwkgIE1haW50YWluIGN1cnJlbnQgYXR0cmlidXRlICJuYW1lIiBiZWhhdmlvciBmb3Igbm93LgorCitUaHUgTWFyICAyIDE4OjU5OjUwIENFVCAyMDA2IEthc2ltaWVyIEJ1Y2hjaWsgPGxpYnhtbDItY3ZzQGNhemljLm5ldD4KKworCSogdHJlZS5jOiBCdW5kbGVkIGxvb2t1cCBvZiBhdHRyLW5vZGVzIGFuZCByZXRyaWV2aW5nIHRoZWlyCisJICB2YWx1ZXMgaW50byB0aGUgZnVuY3Rpb25zIHhtbEdldFByb3BOb2RlSW50ZXJuYWwoKSBhbmQKKwkgIHhtbEdldFByb3BOb2RlVmFsdWVJbnRlcm5hbCgpLiBDaGFuZ2VkIHJlbGV2YW50IGNvZGUKKwkgIHRvIHVzZSB0aG9zZSBmdW5jdGlvbnMuCisKK01vbiBGZWIgMjcgMjA6NDI6MDQgQ0VUIDIwMDYgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4cGF0aC5jOiB3b3JrYXJvdW5kIEhQLVVYIGNvbXBpbGVyIGJ1ZyBieSBSaWNrIEpvbmVzCisKK01vbiBGZWIgMjcgMTA6NTc6MDUgQ0VUIDIwMDYgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBweXRob24vbGlieG1sMi5weTogcmVtb3ZlIGEgdGFiLCBhcyBwb2ludGVkIG91dCBvbiBJUkMKKworU2F0IEZlYiAyNSAxODoxMjoxMCBDRVQgMjAwNiBSb2IgUmljaGFyZHMgPHJyaWNoYXJkc0BjdGluZHVzdHJpZXMubmV0PgorCisJKiB0cmVlLmM6IEZpeCB0aGUgYWRkIHNpYmxpbmcgZnVuY3Rpb25zIHdoZW4gcGFzc2luZyBhdHRyaWJ1dGVzLgorCSAgTW9kaWZ5IHRlc3RpbmcgZm9yIElEIGluIHhtbFNldFByb3AuCisJICBObyBsb25nZXIgcmVtb3ZlIElEbmVzcyB3aGVuIHVubGlua2luZyBvciByZXBsYWNpbmcgYW4gYXR0cmlidXRlLgorCitGcmkgRmViIDI0IDIxOjIwOjMzIENFVCAyMDA2IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogY2F0YWxvZy5jOiBNYXJ0aW4gQ29sZSBwb2ludGVkIG91dCBhIGJ1ZyBpbiB4bWxDYXRhbG9nQWRkKCkKKwkgIGlmIC9ldGMveG1sL2NhdGFsb2cgZG9lc24ndCBleGlzdC4KKworVGh1IEZlYiAyMyAyMzowNjoxOCBDRVQgMjAwNiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGRvYy8vKjogdXBkYXRlZCB0aGUgUnVieSBiaW5kaW5ncyBsaW5rcywgYW5kIHJlZ2VuZXJhdGVkIHRoZQorCSAgZG9jcy4KKworVGh1IEZlYiAyMyAwOToxMjoyNyBDRVQgMjAwNiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGNhdGFsb2cuYzogaW1wcm92ZSBjYXRhbG9nIGRlYnVnZ2luZyBtZXNzYWdlIHBhdGNoIGZyb20gUmljayBKb25lcworCitXZWQgRmViIDIyIDE2OjA5OjEwIENFVCAyMDA2IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcHl0aG9uL3R5cGVzLmM6IE5pYyBGZXJyaWVyIGZvdW5kIGRlYnVnIHN0YXRlbWVudCBsZWZ0IGluIHRoZQorCSAgWFBhdGggY29udmVyc2lvbiBjb2RlCisKK1R1ZSBGZWIgMjEgMjA6MjM6MTQgQ0VUIDIwMDYgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBkb2MveG1sbGludC4xIGRvYy94bWxsaW50LnhtbDogc21hbGwgbWFuIHBhZ2UgaW1wcm92ZW1lbnRzIGZyb20KKwkgIERhbmllbCBMZWlkZXJ0CisKK01vbiBGZWIgMjAgMTU6NDU6MTkgQ0VUIDIwMDYgS2FzaW1pZXIgQnVjaGNpayA8bGlieG1sMi1jdnNAY2F6aWMubmV0PgorCisJKiB4bWxzY2hlbWFzLmM6IEZpeGVkIGEgc2lkZS1lZmZlY3Qgb2YgdGhlIHByZXZpb3VzIFhTSSBidWdmaXg6CisJICBUaGUgY29uc3RydWN0b3IgbmVlZHMgYSBidWNrZXQgdG8gYmUgYXNzaWduZWQgZHVyaW5nIGNvbXBvbmVudAorCSAgZml4dXAuCisKK01vbiBGZWIgMjAgMTQ6MzI6MzYgQ0VUIDIwMDYgS2FzaW1pZXIgQnVjaGNpayA8bGlieG1sMi1jdnNAY2F6aWMubmV0PgorCisJKiB4bWxzY2hlbWFzLmMgeG1sc2NoZW1hc3R5cGVzLmM6IEZpeGVkIHhzOmJvb2xlYW4gdG8gcmVqZWN0CisJICB0aGUgZW1wdHkgc3RyaW5nIChyZXBvcnRlZCBieSBCYXMgRHJpZXNzZW4gb24gdGhlIG1haWxpbmctbGlzdCkuCisJICBGaXhlZCBzY2hlbWEgWFNJLWFjcXVpc2l0aW9uIGFuZCBjb25zdHJ1Y3Rpb246IHRoZSBzY2hlbWF0YQorCSAgKHhtbFNjaGVtYSkgZGlkbid0IGdldCB0aGUgdGFyZ2V0TmFtZXNwYWNlIGluIHNvbWUgY2FzZXMsIHRodXMJICAKKwkgIHRoZSBjb21wb25lbnQgcmVzb2x1dGlvbiBtZWNoYW5pc20gZmFpbGVkIHRvIHdvcmsuIFRoZSBYU0kKKwkgIHN0dWZmIG5lZWRzIHRvIGJlIHRlc3RlZCBtb3JlIGludGVuc2l2ZWx5OyB0aGluayBhYm91dCBob3cKKwkgIHRvIHRlc3QgdGhpcyBmb3IgcmVncmVzc2lvbi4KKworTW9uIEZlYiAyMCAwOTo1Nzo0MSBDRVQgMjAwNiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGRvYy94bWxsaW50LjEgZG9jL3htbGxpbnQueG1sOiBtb3JlIG1hbiBwYWdlIGltcHJvdmVtZW50cyBmcm9tCisJICBEYW5pZWwgTGVpZGVydAorCitTdW4gRmViIDE5IDIyOjMxOjMzIENFVCAyMDA2IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZG9jL3htbGxpbnQuMSBkb2MveG1sbGludC54bWw6IG1hbiBwYWdlIGltcHJvdmVtZW50cyBmcm9tIERhbmllbAorCSAgTGVpZGVydCwgYy5mLiAjMzMxMjkwCisKK1N1biBGZWIgMTkgMTc6NTQ6MDQgQ0VUIDIwMDYgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxsaW50LmM6IGZpeCBhbiBlcnJvciByZXBvcnQgd2hlbiB1c2luZyAtLXBhdGggYW5kIC0tdmFsaWQKKwkgIGNsb3NlcyBidWcgIzMzMTI5MAorCitTdW4gRmViIDE5IDE2OjIwOjQzIENFVCAyMDA2IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcmVsYXhuZy5jOiB0cnlpbmcgdG8gZml4ICMzMzEwNjIsIHRoaXMgaXMgYWdhaW4gYSBwcm9ibGVtCisJICBhcm91bmQgaW50ZXJsZWF2ZSwgdGhlcmUgaXMgbm8gZ29vZCBmaXggdW5sZXNzIHJlaW1wbGVtZW50aW5nCisJICBidXQgdGhpcyB3b3JrcyBhcm91bmQgc29tZSBjYXNlcyBhbmQgYWxsb3cgdG8gdmFsaWRhdGUgaW4gdGhhdAorCSAgY2FzZS4KKworV2VkIEZlYiAxNSAxMTo1NToyMiBDRVQgMjAwNiBLYXNpbWllciBCdWNoY2lrIDxsaWJ4bWwyLWN2c0BjYXppYy5uZXQ+CisKKwkqIHRyZWUuYzogRml4ZWQgYnVnICMzMjg4OTYgcmVwb3J0ZWQgYnkgTGlyb24uIFRoZSBwYXRoCisJICBmb3IgdGV4dC0gYW5kIENEQVRBLXNlY3Rpb24tbm9kZXMgd2FzIGNvbXB1dGVkIGluY29ycmVjdGx5CisJICBpbiB4bWxHZXROb2RlUGF0aCgpLgorCitTdW4gRmViIDEyIDIwOjEyOjIyIENFVCAyMDA2IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1scmVnZXhwLmM6IGJ1ZyBmaXhlcyBmb3IgIzMyNzE2NyBhcyB3ZWxsIGFzIHNvbWUgY2xlYW51cHMKKwkgIGFuZCBtb3JlIHRob3JvdWdoIHRlc3RzIG9uIGF0b21zIGNvbXBhcmlzb25zLgorCitUaHUgRmViICA5IDEwOjA3OjIwIENFVCAyMDA2IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogaW5jbHVkZS93c29ja2NvbXBhdC5oOiBwYXRjaCBmcm9tIEVyaWMgWnVyY2hlciB0byBjb21waWxlIHdpdGgKKwkgIEJvcmxhbmQgQysrIDYKKworU3VuIEZlYiAgNSAwNDowMzo1OSBDRVQgMjAwNiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlci5jOiBiaWxsIHBvaW50ZWQgb3V0IGEgbWlzc2luZyBibG9jayBpbiB4bWxQYXJzZUNvbW1lbnQKKwkgIHRyeWluZyB0byBmaWxsIHdpdGggYSBub3JtYWwgcHJvY2Vzc2luZyBvZiB0aGUgZ2l2ZW4gY2hhcmFjdGVyLgorCitTdW4gRmViICA1IDAzOjQxOjM5IENFVCAyMDA2IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcGFyc2VyLmM6IGZpeGVkIHRoZSBjb21tZW50IHN0cmVhbWluZyBidWcgcmFpc2VkIGJ5IEdyYWhhbSBCZW5uZXR0CisJKiB0ZXN0L2JhZGNvbW1lbnQueG1sIHJlc3VsdC8vYmFkY29tbWVudC54bWwqOiBhZGRlZCB0byB0aGUgcmVncmVzc2lvbgorCSAgc3VpdGUuCisKK0ZyaSBGZWIgIDMgMTc6MzY6NDEgQ0VUIDIwMDYgS2FzaW1pZXIgQnVjaGNpayA8bGlieG1sMi1jdnNAY2F6aWMubmV0PgorCisJKiBpbmNsdWRlL2xpYnhtbC90cmVlLmg6IEFkZGVkIHRoZSB4bWxET01XcmFwQ2xvbmVOb2RlKCkgdG8KKwkgIHRoZSBoZWFkZXIgZmlsZS4KKworRnJpIEZlYiAgMyAxNzoyOToyMiBDRVQgMjAwNiBLYXNpbWllciBCdWNoY2lrIDxsaWJ4bWwyLWN2c0BjYXppYy5uZXQ+CisKKwkqIHRyZWUuYzogQWRkZWQgYW4gaW5pdGlhbCB2ZXJzaW9uIG9mIHhtbERPTVdyYXBDbG9uZU5vZGUoKSB0bworCSAgdGhlIEFQSS4gSXQgd2lsbCBiZSB1c2VkIHRvIHJlZmxlY3QgRE9NJ3MgTm9kZS5jbG9uZU5vZGUgYW5kCisJICBEb2N1bWVudC5pbXBvcnROb2RlIG1ldGhvZHMuCisJICBUaGUgcHJvczogMSkgbm9uLXJlY3Vyc2l2ZSwgMikgb3B0aW1pemVkIG5zLWxvb2t1cAorCSAgKG1vc3RseSBwb2ludGVyIGNvbXBhcmlzb24pLCAzKSB1c2VyIGRlZmluZWQgbnMtbG9va3VwLAorCSAgNCkgc2F2ZSBucy1wcm9jZXNzaW5nLiBUaGUgZnVuY3Rpb24gaXMgaW4gYW4gdW5maW5pc2hlZAorCSAgYW5kIGV4cGVyaW1lbnRhbCBzdGF0ZSBhbmQgc2hvdWxkIGJlIG9ubHkgdXNlZCB0byB0ZXN0IGl0LgorCitGcmkgRmViICAzIDEwOjQyOjQ4IENFVCAyMDA2IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogdXJpLmM6IGFwcGxpZWQgcGF0Y2ggZnJvbSBSb2IgUmljaGFyZHMgZml4aW5nIHRoZSBVUkkgcmVncmVzc2lvbnMKKwkgIHRlc3RzIG9uIFdpbmRvd3Mgd2hpY2ggc2VlbXMgdG8gaW5kaWNhdGUgYmFkIGVzY2FwaW5nLgorCitUaHUgRmViICAyIDEzOjExOjI2IENFVCAyMDA2IEthc2ltaWVyIEJ1Y2hjaWsgPGxpYnhtbDItY3ZzQGNhemljLm5ldD4KKworCSogdHJlZS5jOiBGaXhlZCBzb21lIGJ1Z3MgeG1sRE9NV3JhcFJlY29uY2lsZU5hbWVzcGFjZXMoKSB3cnQKKwkgIHRoZSBwcmV2aW91cyBhZGRpdGlvbiBvZiB0aGUgcmVtb3ZhbCBvZiByZWR1bmRhbnQgbnMtZGVjbHMuCisKK1dlZCBGZWIgIDEgMTc6MzI6MjUgQ0VUIDIwMDYgS2FzaW1pZXIgQnVjaGNpayA8bGlieG1sMi1jdnNAY2F6aWMubmV0PgorCisJKiB0cmVlLmM6IEVuaGFuY2VkIHhtbERPTVdyYXBSZWNvbmNpbGVOYW1lc3BhY2VzKCkgdG8gcmVtb3ZlCisJICByZWR1bmRhbnQgbnMtZGVjbHMgaWYgdGhlIG9wdGlvbiBYTUxfRE9NX1JFQ09OTlNfUkVNT1ZFUkVEVU5ECisJICB3YXMgZ2l2ZW4uIE5vdGUgdGhhdCBJIGhhdmVuJ3QgbW92ZWQgdGhpcyBvcHRpb24gdG8gdGhlCisJICBoZWFkZXIgZmlsZSB5ZXQ7IHNvIGp1c3QgY2FsbCB0aGlzIGZ1bmN0aW9uIHdpdGggYW4gQG9wdGlvbgorCSAgb2YgMSB0byB0ZXN0IHRoZSBiZWhhdmlvdXIuCSAgCisKK1dlZCBGZWIgIDEgMTI6MjE6MDggQ0VUIDIwMDYgS2FzaW1pZXIgQnVjaGNpayA8bGlieG1sMi1jdnNAY2F6aWMubmV0PgorCisJKiB0YXBpLmMgd2luMzIvTWFrZWZpbGUuKjogQWRkZWQgY2hhbmdlZCBhcyBwcm9wb3NlZCBvbgorCSAgdGhlIG1haWxpbmcgbGlzdCBieSB2ZW5rYXQgbmFpZHUgaW4gb3JkZXIgdG8gY29tcGlsZQorCSAgdGVzdGFwaS5jIG9uIHdpbmRvd3MuCisKK1RodSBKYW4gMTkgMDk6NTc6MjggQ0VUIDIwMDYgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBjb25maWd1cmUuaW4geG1sMi1jb25maWcuaW46IHRyeWluZyB0byBmaXggd2luZG93cy9jb25maWd1cmUKKwkgIGlzc3VlcyByZXBvcnRlZCBieSBUaW0gVmFuIEhvbGRlcgorCitXZWQgSmFuIDE4IDE4OjIxOjE1IENFVCAyMDA2IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogSFRNTHBhcnNlci5jIGxpYnhtbC5oIHBhcnNlci5jOiB0cnkgdG8gZml4IHhtbFBhcnNlSW5Ob2RlQ29udGV4dAorCSAgd2hlbiBvcGVyYXRpbmcgb24gYW4gSFRNTCBkb2N1bWVudC4KKworTW9uIEphbiAgOSAxNzoyNzoxNSBDRVQgMjAwNiBLYXNpbWllciBCdWNoY2lrIDxsaWJ4bWwyLWN2c0BjYXppYy5uZXQ+CisKKwkqIHJlbGF4bmcuYyBpbmNsdWRlL2xpYnhtbC9yZWxheG5nLmg6IEFkZGVkCisJICB4bWxSZWxheE5HU2V0UGFyc2VyU3RydWN0dXJlZEVycm9ycygpIHRvIHRoZSBBUEkuCisKK01vbiBKYW4gIDkgMTU6MzM6MTYgQ0VUIDIwMDYgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBwYXJzZXIuYzogcmV2ZXJ0ZWQgZmlyc3QgcGF0Y2hlcyBmb3IgIzMxOTI3OSB3aGljaCBsZWQgdG8gIzMyNjI5NQorCSAgYW5kIGZpeGVkIHRoZSBwcm9ibGVtIGluIHhtbFBhcnNlQ2h1bmsoKSBpbnN0ZWFkCisJKiB0ZXN0L2VudDExIHJlc3VsdC8vZW50MTEqOiBhZGRlZCB0ZXN0IGZvciAjMzI2Mjk1IHRvIHRoZSByZWdyZXNzaW9uCisJICBzdWl0ZQorCitUaHUgSmFuICA1IDE2OjI1OjA2IENFVCAyMDA2IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogTkVXUyBjb25maWd1cmUuaW4gbGlieG1sLnNwZWMuaW4gdGVzdGFwaS5jIGRvYy8qOiB1cGF0ZWQgdGhlIG5ld3MKKwkgIHJlZ2VuZXJhdGVkIHRoZSBkb2NzLCBwcmVwYXJpbmcgZm9yIHJlbGVhc2Ugb2YgMi42LjIzCisJKiBwYXR0ZXJuLmMgeG1sc2NoZW1hcy5jOiBmaXhlZCBzb21lIGNvbW1lbnRzCisJCitUaHUgSmFuICA1IDE1OjQ4OjI3IENFVCAyMDA2IEthc2ltaWVyIEJ1Y2hjaWsgPGxpYnhtbDItY3ZzQGNhemljLm5ldD4KKworCSogdGVzdC9YUGF0aC9kb2NzL25vZGVzIHRlc3QvWFBhdGgvdGVzdHMvbm9kZXNwYXQKKwkgIHJlc3VsdC9YUGF0aC90ZXN0cy9ub2Rlc3BhdDogQWRkZWQgcmVncmVzc2lvbiB0ZXN0cyBmb3IKKwkgIHRoZSBsYXRlc3QgWFBhdGgvcGF0dGVybiBmaXhlcy4KKworVGh1IEphbiAgNSAxNTo0MzozOCBDRVQgMjAwNiBLYXNpbWllciBCdWNoY2lrIDxsaWJ4bWwyLWN2c0BjYXppYy5uZXQ+CisKKwkqIHBhdHRlcm4uYzogQW5vdGhlciBmaXggdG8gaGFuZGxlICJmb28vLy4iOiAiZm9vIiB3YXMgbm90CisJICBpbmNsdWRlZCBpbiB0aGUgcmVzdWx0aW5nIG5vZGUtc2V0LgorCitUaHUgSmFuICA1IDEzOjIyOjI5IENFVCAyMDA2IEthc2ltaWVyIEJ1Y2hjaWsgPGxpYnhtbDItY3ZzQGNhemljLm5ldD4KKworCSogcGF0dGVybi5jIHhwYXRoLmMgaW5jbHVkZS9saWJ4bWwvcGF0dGVybi5oOgorCSAgRml4ZWQgYnVnICMzMjI5MjgsIHJlcG9ydGVkIGJ5IEVyaWNoIFNjaHViZXJ0OiBUaGUgYnVnIHdhcworCSAgaW4gcGF0dGVybi5jLCB3aGljaCBpcyB1c2VkIGZvciBhIHRpbnkgc3Vic2V0IG9mIHhwYXRoCisJICBleHByZXNzaW9uIHdoaWNoIGNhbiBiZSBldmFsdWF0ZWQgaW4gYW4gb3B0aW1pemVkIHdheS4KKwkgIFRoZSBkb2Mtbm9kZSB3YXMgbmV2ZXIgY29uc2lkZXJlZCB3aGVuIGV2YWx1YXRpbmcgIi8vIgorCSAgZXhwcmVzc2lvbnMuIEFkZGl0aW9uYWxseSwgd2UgZml4ZWQgcmVzb2x1dGlvbgorCSAgdG8gbm9kZXMgb2YgYW55IHR5cGUgaW4gcGF0dGVybi5jOyBpLmUuIGEgIi8vLiIgZGlkbid0IHdvcmsKKwkgIHlldCwgYXMgaXQgZGlkIHNlbGVjdCBvbmx5IGVsZW1lbnQtbm9kZXMuIER1ZSB0byB0aGlzCisJICBpc3N1ZSB0aGUgcHVzaGluZyBvZiBub2RlcyBpbiB4cGF0aC5jIG5lZWRlZCB0byBiZSBhZGp1c3RlZAorCSAgYXMgd2VsbC4KKworV2VkIEphbiAgNCAxODowNzo0NyBDRVQgMjAwNiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlci5jOiB0aW55IHJlZmFjdG9yaW5nIHBhdGNoIGZyb20gQmpvcm4gUmVlc2UKKworV2VkIEphbiAgNCAxNTowMDo1MSBDRVQgMjAwNiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIFNBWDIuYzogZml4IGJ1ZyAjMzI0NDMyIHdpdGggPHhtbDpmb28vPgorCSogdGVzdC9uczcgcmVzdWwvL25zNyo6IGFkZGVkIHRvIHRoZSByZWdyZXNzaW9uIHRlc3RzCisKK1dlZCBKYW4gIDQgMTA6NTM6NTYgQ0VUIDIwMDYgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBpbmNsdWRlL3dzb2NrY29tcGF0Lmg6IGFwcGxpZWQgcGF0Y2ggZnJvbSBNYXJrIEp1bmtlciwgZml4aW5nIGEgCisJICBNaW5HVyBjb21waWxhdGlvbiBwcm9ibGVtLCBzaG91bGQgY2xvc2UgYnVnICMzMjQ5NDMKKworVHVlIEphbiAgMyAxMTo0OTo1NCBDRVQgMjAwNiBLYXNpbWllciBCdWNoY2lrIDxsaWJ4bWwyLWN2c0BjYXppYy5uZXQ+CisKKwkqIHhtbHNjaGVtYXMuYzogUmVtb3ZlZCBsYXN0IGRlcGVuZGVuY3kgb24gdGhlIG9ic29sZXRlIGVudW0KKwkgIHhtbFNjaGVtYVZhbGlkRXJyb3IuCisKK01vbiBKYW4gIDIgMTE6MjA6MDAgQ0VUIDIwMDYgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxyZWFkZXIuYyBpbmNsdWRlL2xpYnhtbC94bWxyZWFkZXIuaCB4bWxzY2hlbWFzLmM6IGNvbXBpbGF0aW9uCisJICBhbmQgZG9jIGJ1aWxkIGZpeGVzIGZyb20gTWljaGFlbCBEYXkKKworV2VkIERlYyAyOCAyMjoxMjozNCBDRVQgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbHJlZ2V4cC5jOiBidWcgaW4geG1sUmVnRXhlY1B1c2hTdHJpbmcyKCkgcG9pbnRlZCBvdXQgYnkgCisJICBTcmVlbmkgTmFpci4KKworVHVlIERlYyAyMCAxNjo1NTozMSBDRVQgMjAwNSBSb2IgUmljaGFyZHMgPHJyaWNoYXJkc0BjdGluZHVzdHJpZXMubmV0PgorCisJKiB0cmVlLmM6IGZpeCBidWcgIzMyMjEzNiBpbiB4bWxOb2RlQnVmR2V0Q29udGVudCB3aGVuIGVudGl0eSByZWYgaXMgCisJICBhIGNoaWxkIG9mIGFuIGVsZW1lbnQgKGZpeCBieSBPbGVrc2FuZHIgS29ub25lbmtvKS4KKwkqIEhUTUx0cmVlLmMgaW5jbHVkZS9saWJ4bWwvSFRNTHRyZWUuaDogQWRkIGh0bWxEb2NEdW1wTWVtb3J5Rm9ybWF0LgorCitUdWUgRGVjIDIwIDExOjQzOjA2IENFVCAyMDA1IEthc2ltaWVyIEJ1Y2hjaWsgPGxpYnhtbDItY3ZzQGNhemljLm5ldD4KKworCSogeG1sc2NoZW1hcy5jIHhtbHN0cmluZy5jOiBGaXhlZCBhIHNlZ2ZhdWx0IGR1cmluZworCSAgdGV4dCBjb25jYXRlbmF0aW9uIHdoZW4gdmFsaWRhdGluZyBhIG5vZGUgdHJlZToKKwkgIHhtbFN0cm5jYXQgd2FzIGNhbGxlZCB3aXRoIGEgQGxlbiBvZiAtMTsgYnV0IHVubGlrZQorCSAgeG1sU3RybmNhdE5ldywgaXQgZG9lcyBub3QgY2FsY3VsYXRlIHRoZSBsZW5ndGgKKwkgIGF1dG9tYXRpY2FsbHkgaW4gc3VjaCBhIGNhc2UgKHJlcG9ydGVkIGJ5IEp1ZHkgSGF5CisJICBvbiB0aGUgbWFpbGluZyBsaXN0KS4KKwkgIFVwZGF0ZWQgdGhlIGRlc2NyaXB0aW9ucyBvZiB0aGUgaW52b2x2ZWQgc3RyaW5nCisJICBmdW5jdGlvbnMgdG8gbm90ZSB0aGlzLgorCitUaHUgRGVjIDE1IDEyOjExOjA3IENFVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogbmFub2h0dHAuYzogYXBwbGllZCBwYXRjaCBmcm9tIEdhcnkgQ29hZHkgdG8gYWNjZXB0IGd6aXBwZWQKKwkgIGh0dHAgcmVzb3VyY2VzLgorCitXZWQgRGVjIDE0IDE4OjQxOjI2IENFVCAyMDA1IEthc2ltaWVyIEJ1Y2hjaWsgPGxpYnhtbDItY3ZzQGNhemljLm5ldD4KKworCSogd2luMzIvY29uZmlndXJlLmpzOiBBZGRlZCBlbmFibGUvZGlzYWJsZSBvZiBydW50aW1lCisJICBkZWJ1Z2dpbmcgKExJQlhNTF9ERUJVR19SVU5USU1FKS4KKworV2VkIERlYyAxNCAxODoxMTo1MCBDRVQgMjAwNSBLYXNpbWllciBCdWNoY2lrIDxsaWJ4bWwyLWN2c0BjYXppYy5uZXQ+CisKKwkqIGluY2x1ZGUvbGlieG1sL3htbHZlcnNpb24uaC5pbjogRml4ZWQgdG8gZGVmaW5lCisJICBMSUJYTUxfREVCVUdfUlVOVElNRSBvbiB0aGUgYmFzaXMgb2YgQFdJVEhfUlVOX0RFQlVHQC4KKworVHVlIERlYyAxMyAxMjo0OToyMyBDRVQgMjAwNSBLYXNpbWllciBCdWNoY2lrIDxsaWJ4bWwyLWN2c0BjYXppYy5uZXQ+CisKKwkqIHRlc3Qvc2NoZW1hcy9idWczMjE0NzUqIHJlc3VsdC9zY2hlbWFzL2J1ZzMyMTQ3NSo6CisJICBBZGRlZCByZWdyZXNzaW9uIHRlc3QgZm9yIGJ1ZyAjMzIxNDc1IChyZXBvcnRlZCBieQorCSAgR2Fib3IgTmFneSkuIEZpeGluZyBvZiBidWcgIzMyMzUxMCBzZWVtZWQgdG8gaGF2ZQorCSAgZml4ZWQgdGhpcyBidWcgYXMgd2VsbC4KKworTW9uIERlYyAxMiAxNjoxOToxNiBDRVQgMjAwNSBLYXNpbWllciBCdWNoY2lrIDxsaWJ4bWwyLWN2c0BjYXppYy5uZXQ+CisKKwkqIHRlc3Qvc2NoZW1hcy9idWczMjM1MTAqIHJlc3VsdC9zY2hlbWFzL2J1ZzMyMzUxMCo6CisJICBBZGRlZCByZWdyZXNzaW9uIHRlc3QgZm9yIGJ1ZyAjMzIzNTEwLgorCitNb24gRGVjIDEyIDE2OjExOjEzIENFVCAyMDA1IEthc2ltaWVyIEJ1Y2hjaWsgPGxpYnhtbDItY3ZzQGNhemljLm5ldD4KKworCSogeG1sc2NoZW1hcy5jOiBXb3JrYXJvdW5kIGZvciBidWcgIzMyMzUxMCAocmVwb3J0ZWQgYnkKKwkgIEpvbmF0aGFuIEZpbGlhdHJhdWx0KTogc3Vic3RpdHV0ZWQgdGhlIGVwc2lsb24gdHJhbnNpdGlvbgorCSAgZm9yIGEgbGFiZWxsZWQgdHJhbnNpdGlvbiwgaW4gb3JkZXIgdG8gYXZvaWQgYSBidWcgaW4KKwkgIHhtbHJlZ2V4cC5jIHdoaWNoIGVsaW1pbmF0ZWQgdGhlIGVwc2lsb24gdHJhbnNpdGlvbiBhbmQKKwkgIG1hcmtlZCB0aGUgaW5pdGlhbCBzdGF0ZSBhcyBmaW5hbC4KKworTW9uIERlYyAxMiAxNDoyNTo0NiBDRVQgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbHJlYWRlci5jOiBHYXJ5IENvYWR5IHBvaW50ZWQgYSBtZW1vcnkgbGVhayBpbgorCSAgeG1sVGV4dFJlYWRlclJlYWRJbm5lclhtbCgpIGFwcGxpZWQgcGF0Y2ggZml4aW5nICMzMjM4NjQKKworU2F0IERlYyAxMCAxMjowODoyOCBDRVQgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIEhUTUxwYXJzZXIuYyBjb25maWd1cmUuaW4gcGFyc2VySW50ZXJuYWxzLmMgcnVuc3VpdGUuYyBydW50ZXN0LmMKKwkgIHRlc3RhcGkuYyB4bWxzY2hlbWFzLmMgeG1sc2NoZW1hc3R5cGVzLmMgeG1sc3RyaW5nLmM6IGZpeGVkIGEgbnVtYmVyCisJICBvZiB3YXJuaW5ncyBzaG93biBieSBIUC1VWCBjb21waWxlciBhbmQgcmVwb3J0ZWQgYnkgUmljayBKb25lcworCitGcmkgRGVjICA5IDE4OjU3OjMxIENFVCAyMDA1IFJvYiBSaWNoYXJkcyA8cnJpY2hhcmRzQGN0aW5kdXN0cmllcy5uZXQ+CisKKwkqIHhtbHdyaXRlci5jOiBJbnNlcnQgc3BhY2UgYmV0d2VlbiBwdWJpZCBhbmQgc3lzaWQgd2hlbiBib3RoIAorCSAgcGFzc2VkIHRvIHhtbFRleHRXcml0ZXJTdGFydERURCBhbmQgaW5kZW50aW5nIG5vdCBiZWluZyB1c2VkLgorCSAgUmVtb3ZlIG5vIGxvbmdlciB1c2VkIE1lbSBjYWxsYmFja3MuCisKK0ZyaSBEZWMgIDkgMTE6MDE6MTYgQ0VUIDIwMDUgS2FzaW1pZXIgQnVjaGNpayA8bGlieG1sMi1jdnNAY2F6aWMubmV0PgorCisJKiBydW5zdWl0ZS5jOiBDaGFuZ2VkIHRvIGluc3RhbnRseSBtYXJrIGluc3RhbmNlLXRlc3RzIGFzCisJICBmYWlsZWQgaWYgdGhlIGNvcnJlc3BvbmRpbmcgc2NoZW1hIHdhcyBpbnZhbGlkLiBUaGlzCisJICByZWZsZWN0cyB0aGUgc2lkZSBvZiB0aGUgUHl0aG9uIGNvZGUgZm9yIHRoZSBYTUwgU2NoZW1hIHRlc3QKKwkgIHN1aXRlLiBXZSBub3cgZ2V0IHRoZSBzYW1lIG51bWJlciBvZiBmYWlsZWQgdGVzdHMgb24gYm90aAorCSAgc2lkZXMuCisKK1dlZCBEZWMgIDcgMTQ6NTk6MDEgQ0VUIDIwMDUgS2FzaW1pZXIgQnVjaGNpayA8bGlieG1sMi1jdnNAY2F6aWMubmV0PgorCisJKiB4bWxyZWFkZXIuYyBpbmNsdWRlL2xpYnhtbC94bWxyZWFkZXIuaDogQWRkZWQKKwkgIHhtbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZUN0eHQoKSB0byB0aGUgQVBJLgorCitXZWQgRGVjICA3IDEyOjU5OjU2IENFVCAyMDA1IEthc2ltaWVyIEJ1Y2hjaWsgPGxpYnhtbDItY3ZzQGNhemljLm5ldD4KKworCSogeG1sc2NoZW1hcy5jOiBGaXhlZCBhIHNlZ2ZhdWx0OiB0aGUgaW5zdGFuY2UgZG9jdW1lbnQgd2FzCisJICBzdGlsbCB0cmllZCB0byBiZSB2YWxpZGF0ZWQsIGlmIHRoZSBzY2hlbWEsIGR5bmFtaWNhbGx5CisJICBhY3F1aXJlZCB1c2luZyBYU0kgd2FzIGludmFsaWQsIHRodXMgbWFuZ2xlZC4gVGhlCisJICB2YWxpZGF0aW9uIHdpbGwgc3RvcCAob3IgcmF0aGVyIHdvbid0IHZhbGlkYXRlKSBub3cgaW4KKwkgIHN1Y2ggYSBjYXNlLiBUaGUgc2NoZW1hIHBhcnNlciBlcnJvciBjb2RlIHdpbGwgYmUgc2V0CisJICBvbiB0aGUgdmFsaWRpb24gY29udGV4dCBub3c7IHRoaXMgaXMgc29tZWhvdyBub3QgbmljZSwKKwkgIGJ1dCBpdCBhc3N1cmVzIHRoYXQgdGhlIHZhbGlkYXRpb24gY29udGV4dCBpbmRpY2F0ZXMgYW4KKwkgIGVycm9yIGluIHRoZXJlIHdhcyBhIHBhcnNlciBlcnJvci4KKworVHVlIERlYyAgNiAxODo1NzoyMyBDRVQgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbHJlYWRlci5jOiBzbWFsbCBkb2MgcGF0Y2ggZnJvbSBBcm9uIFN0YW5zdmlrCisJKiBsZWdhY3kuYzogYW5vdGhlciBkb2MgcGF0Y2ggZm9yIGEgZGVwcmVjYXRlZCBBUEkKKworTW9uIERlYyAgNSAxNjoyMzo0OSBDRVQgMjAwNSBLYXNpbWllciBCdWNoY2lrIDxsaWJ4bWwyLWN2c0BjYXppYy5uZXQ+CisKKwkqIE1ha2VmaWxlLmFtOiBUaW55IGNoYW5nZSBmb3IgJ21ha2UgdGVzdHMnOiByYWlzZWQKKwkgIHRoZSBudW1iZXIgb2YgZXhwZWN0ZWQgZmFpbHVyZXMgZm9yIEphbWVzIENsYXJrJ3MKKwkgIFhNTCBTY2hlbWEgZGF0YXR5cGUgdGVzdHMgZnJvbSAxMCB0byAxMS4gVGhlIGFkZGl0aW9uYWwKKwkgIHJlcG9ydGVkIGVycm9yIHdhcyBhZ3JlZWQgdG8gYmUgY29ycmVjdCBsb25nIHRpbWUgYWdvLAorCSAgYnV0IHdlIG1pc3NlZCB0byBhZGp1c3QgdGhlIG1lc3NhZ2UgcmVwb3J0ZWQgYnkKKwkgIHRoZSB0ZXN0aW5nIHNjcmlwdC4KKworRnJpIERlYyAgMiAxMzo1MToxNCBDRVQgMjAwNSBLYXNpbWllciBCdWNoY2lrIDxsaWJ4bWwyLWN2c0BjYXppYy5uZXQ+CisKKwkqIHJlc3VsdC9zY2hlbWFzL2RlY2ltYWwqIHJlc3VsdC9zY2hlbWFzL2J1ZzMyMjQxMSo6CisJICBBZGRlZCBtaXNzaW5nIHJlZ3Jlc3Npb24gdGVzdCByZXN1bHRzIGZvciB0aGUgbGF0ZXN0IElEQworCSAgYW5kIHhzOmRlY2ltYWwgYnVncy4KKworV2VkIE5vdiAzMCAxMjoyMjoyMyBDRVQgMjAwNSBLYXNpbWllciBCdWNoY2lrIDxsaWJ4bWwyLWN2c0BjYXppYy5uZXQ+CisKKwkqIHRlc3Qvc2NoZW1hcy9kZWNpbWFsKiB0ZXN0L3NjaGVtYXMvYnVnMzIyNDExKjogQWRkZWQKKwkgIHJlZ3Jlc3Npb24gdGVzdHMgZm9yIHRoZSBsYXRlc3QgSURDIGFuZCB4czpkZWNpbWFsIGJ1Z3MuCisKK1dlZCBOb3YgMzAgMTE6NTc6MzUgQ0VUIDIwMDUgS2FzaW1pZXIgQnVjaGNpayA8bGlieG1sMi1jdnNAY2F6aWMubmV0PgorCisJKiB4bWxzY2hlbWFzLmM6IEZpeGVkIGJ1YmJsaW5nIG9mIGR1cGxpY2F0ZSBJREMgbm9kZXM6IHRoZQorCSAgcGFyZW50J3MgbGlzdCBvZiBkdXBsaWNhdGVzIHdhcyBmaWxsZWQgd2l0aCBOVUxMcyBpbnN0ZWFkCisJICBvZiB0aGUgbm9kZXMgdW5kZXIgY2VydGFpbiBjb25kaXRpb25zLiBUaGlzIGxlYWQgdG8gYQorCSAgc2VnZmF1bHQgd2hlbiB0aGUgbGlzdCdzIGVudHJpZXMgd2VyZSBhY2Nlc3NlZC4KKworTW9uIE5vdiAyOCAxNzoyODo1MyBDRVQgMjAwNSBLYXNpbWllciBCdWNoY2lrIDxsaWJ4bWwyLWN2c0BjYXppYy5uZXQ+CisKKwkqIHhtbHNjaGVtYXN0eXBlcy5jOiBGaXhlZCBwYXJzaW5nIG9mIHhzOmRlY2ltYWwgdG8KKwkgIGFsbG93L2Rlbnkgc3BlY2lhbCBsZXhpY2FsIGZvcm1zLiBGaXhlZCB0aGUgdG90YWxEaWdpdHMKKwkgIGZvciB2YWx1ZXMgaW4gdGhlIHJhbmdlICh4IDwgMSkgJiYgICh4ID4gLTEpICYmICh4ICE9IDApOworCSAgRS5nICIwLjEyMyIgaGFzIG5vdyBhIHRvdGFsRGlnaXRzIG9mIDMgKHdhcyA0IHByZXZpb3VzbHkpLgorCSAgQWRqdXN0ZWQgdGhlIGNvbXBhcmlzb24gZnVuY3Rpb24gZm9yIGRlY2ltYWxzIGR1ZSB0byB0aGlzCisJICBjaGFuZ2UuIEFzIGEgc2lkZSBlZmZlY3QgY29tcGFyaXNvbiBhZ2FpbnN0IHplcm9lcyB3YXMKKwkgIG9wdGltaXplZC4KKworTW9uIE5vdiAyOCAxMzoyNToxMSBDRVQgMjAwNSBLYXNpbWllciBCdWNoY2lrIDxsaWJ4bWwyLWN2c0BjYXppYy5uZXQ+CisKKwkqIHhtbHNjaGVtYXMuYzogQW4gYXNzaWdubWVudCB0byBhIGxvY2FsIHZhcmlhYmxlLCB3aGljaCB3YXMKKwkgIHVzZWQgdG8gYWNjZXNzIHRoZSBJREMgbm9kZSBsaXN0LCB3YXMgbWlzc2luZyBhZnRlciB0aGUKKwkgIHJlYWxsb2NhdGlvbiBvZiB0aGUgbGlzdCAocmVwb3J0ZWQgYnkgRmFicmljZSBHVVkKKwkgIGJ1ZyAjMzIyNDExKS4gUmVuYW1lZCB0aGUgZGVmaW5lIEVOQUJMRV9JRENfTk9ERV9UQUJMRVMKKwkgIHRvIEVOQUJMRV9JRENfTk9ERV9UQUJMRVNfVEVTVCBhbmQgKmRpc2FibGVkKiBpdCwgc2luY2UKKwkgIGl0IGlzIHVzZWQgdG8gZm9yY2UgYnViYmxpbmcgb2YgSURDIG5vZGUgdGFibGVzIGV2ZW4KKwkgIGlmIG5vdCBuZWNlc3Nhcnk7IHRoaXMgd2FzIGludGVuZGVkIHRvIGJlIHVzZWQgZm9yIHRlc3QKKwkgIHB1cnBvc2VzLCBidXQgSSBvYnZpb3VzbHkgbWlzc2VkIHRvIGRpc2FibGUgaXQgKGFsdGhvdWdoCisJICBpdCBhcHBhcmVudGx5IGhlbHBlZCBmaW5kaW5nIHRoZSBidWcpLgorCitXZWQgTm92IDIzIDE3OjM0OjUyIENFVCAyMDA1IEthc2ltaWVyIEJ1Y2hjaWsgPGxpYnhtbDItY3ZzQGNhemljLm5ldD4KKworCSogeG1sc2NoZW1hcy5jOiBJbiB4bWxTY2hlbWFBc3NlbWJsZUJ5WFNJKCkgdGhlIHJldHVybiB2YWx1ZQorCSAgb2YgeG1sU2NoZW1hR2V0TWV0YUF0dHJJbmZvKCkgd2FzIG5vdCBhc3NpZ25lZCB0byBhbnl0aGluZzsKKwkgIHRoaXMgY2F1c2VkIFhTSS1kcml2ZW4tZHluYW1pYyBzY2hlbWEgYWNxdWlzaXRpb24gdG8gZmFpbAorCSAgd2l0aCBAbm9OYW1lc3BhY2VTY2hlbWFMb2NhdGlvbiAocmVwb3J0ZWQgYnkgSnVsaWVuIExhbXkKKwkgIG9uIHRoZSBtYWlsaW5nIGxpc3QpLgorCitUdWUgTm92IDIyIDE4OjMxOjM0IENFVCAyMDA1IEthc2ltaWVyIEJ1Y2hjaWsgPGxpYnhtbDItY3ZzQGNhemljLm5ldD4KKworCSogeG1sc2NoZW1hcy5jOiBGaXhlZCBhIGJ1ZyBpbiB4bWxTY2hlbWFGaW5kUmVkZWZDb21wSW5HcmFwaCgpCisJICB3aGljaCBjYXVzZWQgdGhlIHNlYXJjaCBmb3IgY29tcG9uZW50cyB0byBzdG9wIGF0IHRoZQorCSAgZmlyc3QgZW5jb3VudGVyZWQgYXR0cmlidXRlIGdyb3VwIGNvbXBvbmVudC4KKwkgIEZpeGVkIGVycm9yIHJlcG9ydCBpbiB4bWxTY2hlbWFDaGVja1NSQ1JlZGVmaW5lRmlyc3QoKTogdGhlCisJICBkZXNpZ25hdGlvbiBvZiBhIG5vdC1mb3VuZCBjb21wb25lbnQgd2FzIG5vdCByZXBvcnRlZC4KKworTW9uIE5vdiAyMSAxMjoyMzoyOCBDRVQgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbHNjaGVtYXN0eXBlcy5jOiBBbGJlcnQgQ2hpbiBmb3VuZCBhbm90aGVyIHNpZ25lZC91bnNpZ25lZCBwcm9ibGVtCisJICBpbiB0aGUgZGF0ZSBhbmQgdGltZSBjb2RlIHJhaXNlZCBvbiBJUklYIDYuNQorCitGcmkgTm92IDE4IDE4OjEzOjM4IENFVCAyMDA1IEthc2ltaWVyIEJ1Y2hjaWsgPGxpYnhtbDItY3ZzQGNhemljLm5ldD4KKworCSogeG1sc2NoZW1hcy5jIGluY2x1ZGUvbGlieG1sL3htbHNjaGVtYXMuaDoKKwkgIEFkZGVkIHhtbFNjaGVtYVNldFBhcnNlclN0cnVjdHVyZWRFcnJvcnMoKSB0byB0aGUgQVBJLgorCSAgRml4ZWQgY2hhbm5lbGluZyBvZiBlcnJvciByZWxldmFudCBpbmZvcm1hdGlvbiB0bworCSAgc3Vic2VxdWVudCBwYXJzZXIvdmFsaWRhdGlvbiBjb250ZXh0cy4KKworVGh1IE5vdiAxNyAxNDoxMTo0MyBDRVQgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlckludGVybmFscy5jOiByZW1vdmVkIHVucmVhY2hhYmxlIGNvZGUgcG9pbnRlZCBvdXQgYnkgCisJICBPbGVrc2FuZHIgS29ub25lbmtvLCBmaXhlcyBidWcgIzMyMTY5NQorCitUaHUgTm92IDE3IDA4OjI0OjMxIENFVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcGFyc2VyLmM6IHVzZSBjdHh0LT5zdGFuZGFsb25lID0gLTIgdG8gaW5kaWNhdGUgdGhhdCB0aGUKKwkgIFhNTERlY2wgd2FzIHBhcnNlZCBidXQgbm8gc3RhbmRhbG9uZSBhdHRyaWJ1dGUgd2FzIGZvdW5kLAorCSAgc3VnZ2VzdGVkIGJ5IE1pY2hhZWwgRGF5IHRvIGRldGVjdCBpZiBhbiBYTUxEZWNsIHdhcyBmb3VuZC4KKworVHVlIE5vdiAxNSAwOTo0OToyNCBDRVQgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHJ1bnRlc3QuYzogSGlzYXNoaSBGdWppbmFrYSBwb2ludGVkIHRoYXQgZXJyb3JzIGluIFNjaGVtYXMgdGVzdHMKKwkgIHdlcmUgbm90IHByb3Blcmx5IHJlcG9ydGVkLgorCitTdW4gTm92IDEzIDEzOjQyOjQxIENFVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sSU8uYzogYXBwbGllZCBwYXRjaCBmcm9tIEdlZXJ0IEphbnNlbiB0byByZW1vdmUgeG1sQnVmZmVyQ2xvc2UoKQorCSAgd2hpY2ggaXMgbm90IG5lZWRlZC4KKworRnJpIE5vdiAxMSAxMzo0ODo1MiBDRVQgMjAwNSBLYXNpbWllciBCdWNoY2lrIDxsaWJ4bWwyLWN2c0BjYXppYy5uZXQ+CisKKwkqIHhtbHNjaGVtYXMuYzogQ2hhbmdlZCB4bWxTY2hlbWFGb3JtYXRJRENLZXlTZXF1ZW5jZSgpCisJICB0byB1c2UgeG1sU2NoZW1hR2V0Q2Fub25WYWx1ZVdodHNwRXh0KCkgaW4gb3JkZXIgdG8KKwkgIGNvcnJlY3RseSByZXBvcnQgdmFsdWVzIGZvciB4czphbnlTaW1wbGVUeXBlLgorCSogdGVzdC9zY2hlbWFzL2lkYy1rZXlyZWYtZXJyMSoKKwkgIHJlc3VsdC9zY2hlbWFzL2lkYy1rZXlyZWYtZXJyMSo6IEFkZGVkIGEgdGVzdCBmb3IgdGhpcyBjaGFuZ2UuCisKK1dlZCBOb3YgIDkgMTM6MDc6MjQgRVNUIDIwMDUgUm9iIFJpY2hhcmRzIDxycmljaGFyZHNAY3RpbmR1c3RyaWVzLm5ldD4KKworCSogeG1sSU8uYyB4bWx3cml0ZXIuYzogZnVuY3Rpb24gY29uc29saWRhdGlvbiB3aGVuIHdyaXRpbmcgdG8geG1sQnVmZmVyLgorCSAgUmV0dXJuIGVycm9yIGNvbmRpdGlvbiBub3QgbGVuIGlmIHhtbHdyaXRlciBmYWlscyB3cml0aW5nIHRvIGJ1ZmZlci4KKworV2VkIE5vdiAgOSAwOTo1NDo1NCBDRVQgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbHNhdmUuYyB4bWxJTy5jIGluY2x1ZGUvbGlieG1sL3htbElPLmggaW5jbHVkZS9saWJ4bWwveG1sc2F2ZS5oOgorCSAgYXBwbGllZCBwYXRjaCBmcm9tIEdlZXJ0IEphbnNlbiB0byBpbXBsZW1lbnQgdGhlIHNhdmUgZnVuY3Rpb24gdG8gCisJICBhIHhtbEJ1ZmZlciwgYW5kIGEgYml0IG9mIGNsZWFudXAuCisKK01vbiBOb3YgIDcgMTQ6NTg6MzkgQ0VUIDIwMDUgS2FzaW1pZXIgQnVjaGNpayA8bGlieG1sMi1jdnNAY2F6aWMubmV0PgorCisJKiB4bWxzY2hlbWFzLmMgeG1sc2NoZW1hc3R5cGVzLmM6IEZpeGVkIHRoZSB0eXBlIG9mIHRoZQorCSAgdG90YWxEaWdpdHMgdmFsdWUgdG8gYmUgcG9zaXRpdmVJbnRlZ2VyLgorCSAgRml4ZWQgY3Jhc2ggaW4gYW4gZXJyb3IgcmVwb3J0IGZ1bmN0aW9uIHdoZW4gd2UgZ2F2ZSBpdAorCSAgdGhlIGRvY3VtZW50IG5vZGU7IG9ubHkgZWxlbWVudCBhbmQgYXR0cmlidXRlIG5vZGVzIGFyZQorCSAgcHJvY2Vzc2VkIG5vdyAocmVwb3J0ZWQgYnkgUm9iIFJpY2hhcmRzKS4KKworVHVlIE5vdiAgMSAxNjoyMjoyOSBDRVQgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbHJlZ2V4cC5jOiBmaXggYnVnICMzMTk4OTcsIHByb2JsZW0gd2l0aCBjb3VudGVkIGF0b21zCisJICB3aGVuIHRoZSB0cmFuc2l0aW9uIGl0c2VsZiBpcyBjb3VudGVkIHRvbworCSogcmVzdWx0L3JlZ2V4cC9oYXJkIHRlc3QvcmVnZXhwL2hhcmQ6IGF1Z21lbnRlZCB0aGUgcmVncmVzc2lvbgorCSAgdGVzdHMgd2l0aCB0aGUgcHJvYmxlbSBleHBvc2VkLgorCitUdWUgTm92ICAxIDExOjU0OjM5IENFVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogd2luMzIvTWFrZWZpbGUubWluZ3cgaW5jbHVkZS93aW4zMmNvbmZpZy5oOiBhcHBsaWVkIHBhdGNoIGZyb20KKwkgIE1hcmsgSnVua2VyIHRvIGZpeCBjb21waWxhdGlvbiB3aXRoIE1pbkdXCisKK0ZyaSBPY3QgMjggMTg6MzY6MDggQ0VTVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogbGlieG1sLjM6IHRpbnkgZml4IGZyb20gQWxiZXJ0IENoaW4KKwkqIHJ1bnN1aXRlLmMgcnVudGVzdC5jIHRlc3RhcGkuYzogcG9ydGFiaWxpdHkgY2xlYW51cCBmb3IgYXJjaAorCSAgbmVlZGluZyB0cmlvIGZvciAqcHJpbnRmCisKK0ZyaSBPY3QgMjggMTI6MjE6MzkgRURUIDIwMDUgUm9iIFJpY2hhcmRzIDxycmljaGFyZHNAY3RpbmR1c3RyaWVzLm5ldD4KKworCSogdHJlZS5jOiBhZGQgYWRkaXRpb25hbCBjaGVja3MgdG8gcHJldmVudCB0cmVlIGNvcnJ1cHRpb24uIGZpeCBwcm9ibGVtIAorCSAgY29weWluZyBhdHRyaWJ1dGUgdXNpbmcgeG1sRG9jQ29weU5vZGUgZnJvbSBvbmUgZG9jdW1lbnQgdG8gYW5vdGhlci4KKworRnJpIE9jdCAyOCAxNzo1ODoxMyBDRVNUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBjb25maWcuaC5pbiBjb25maWd1cmUuaW4gdm1zL2NvbmZpZy52bXMgbWFjb3Mvc3JjL2NvbmZpZy1tYWMuaDoKKwkgIGNsZWFudXAgZnJvbSBBbGJlcnQgQ2hpbgorCSogZG9jL01ha2VmaWxlLmFtOiBodG1sL2luZGV4LnNnbWwgZG9lc24ndCBleGlzdCBhbnltb3JlCisKK0ZyaSBPY3QgMjggMTY6NTM6NTEgQ0VTVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sSU8uYyB4bWxtb2R1bGUuYzogbW9yZSBwb3J0YWJpbGl0eSBwYXRjaGVzIGZyb20gQWxiZXJ0IENoaW4gZm9yCisJICBIUC1VWCBhbmQgQUlYCisKK0ZyaSBPY3QgMjggMTA6MzY6MTAgQ0VTVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sbW9kdWxlLmMgY29uZmlndXJlLmluOiBhcHBsaWVkIDIgcGF0Y2hlcyBmcm9tIEFsYmVydCBDaGluIGZvcgorCSAgbW9kdWxlIHBvcnRhYmlsaXR5CisKK0ZyaSBPY3QgMjggMTA6MjQ6MzkgQ0VTVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZXJyb3IuYzogZml4aW5nIGEgcG9ydGFiaWxpdHkgcHJvYmxlbSBvbiBzb21lIG9sZCBVbmljZXMgd2l0aAorCSAgcGF0Y2ggZnJvbSBBbGJlcnQgQ2hpbgorCisyMDA1LTEwLTI3ICBBbGVrc2V5IFNhbmluIDxhbGVrc2V5QGFsZWtzZXkuY29tPgorCisJKiBjMTRuLmMgIHJlc3VsdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL3Rlc3QtMgorCSAgdGVzdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL3Rlc3QtMi54bWwKKwkgIHRlc3QvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy90ZXN0LTIueHBhdGg6IGZpeGluZworCSAgYnVnIGluIGV4Yy1jMTRuIG5hbWVzcGFjZSB2aXNpYmlsaXR5ICsgdGVzdCBjYXNlIChidWcgIzMxOTM2NykKKworVGh1IE9jdCAyNyAxNjoxMDozMSBDRVNUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBweXRob24vbGlieG1sLnB5OiByZW1vdmUgd2FybmluZ3MgdG8gc3Rkb3V0IHBhdGNoIGZyb20gTmljIEZlcnJpZXIKKworVGh1IE9jdCAyNyAxMzo1NDo1MiBDRVNUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB2YWxpZC5jIHhtbHJlZ2V4cC5jIGluY2x1ZGUvbGlieG1sL3ZhbGlkLmgKKwkgIGluY2x1ZGUvbGlieG1sL3htbHJlZ2V4cC5oOiBhdm9pZCBmdW5jdGlvbiBwYXJhbWV0ZXJzIG5hbWVzICdsaXN0JworCSAgYXMgdGhpcyBzZWVtcyB0byBnaXZlIHRyb3VibGVzIHdpdGggVkM2IGFuZCBzdGwgYXMgcmVwb3J0ZWQgYnkKKwkgIFNhbXVlbCBEaWF6IEdhcmNpYS4KKworV2VkIE9jdCAyNiAxMDo1OToyMSBDRVNUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBwYXJzZXJJbnRlcm5hbHMuYzogZml4IGEgcHJvYmxlbSBpbiBzb21lIGVycm9yIGNhc2Ugb24gU29sYXJpcworCSAgd2hlbiBwYXNzZWQgYSBOVUxMIGZpbGVuYW1lLCBwb2ludGVkIGJ5IEFsYmVydCBDaGluLgorCitUdWUgT2N0IDI1IDE0OjM0OjU4IENFU1QgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIEhUTUxwYXJzZXIuYzogc2NyaXB0IEhUTUwgcGFyc2VyIGVycm9yIGZpeCwgY29ycmVjdHMgYnVnICMzMTk3MTUKKwkqIHJlc3VsdC9IVE1MLzUzODY3KiB0ZXN0L0hUTUwvNTM4NjcuaHRtbDogYWRkZWQgdGVzdCBmcm9tIE1pY2hhZWwgRGF5CisJICB0byB0aGUgcmVncmVzc2lvbiBzdWl0ZSAKKworVHVlIE9jdCAyNSAxNDoyMToxMSBDRVNUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBIVE1McGFyc2VyLmM6IHR5cG8gZml4IGZyb20gTWljaGFlbCBEYXkKKworTW9uIE9jdCAyNCAyMDoxNjoyMyBFRFQgMjAwNSBSb2IgUmljaGFyZHMgPHJyaWNoYXJkc0BjdGluZHVzdHJpZXMubmV0PgorCisJKiB0cmVlLmM6IGZpeCBpc3N1ZSBhZGRpbmcgbm9uLW5hbWVzcGFjZWQgYXR0cmlidXRlcyBpbiB4bWxBZGRDaGlsZCgpLCAKKwkgIHhtbEFkZE5leHRTaWJsaW5nKCkgYW5kIHhtbEFkZFByZXZTaWJsaW5nKCkgKGJ1ZyAjMzE5MTA4KSAtIHBhcnQgMS4KKworU2F0IE9jdCAyMiAxMDowMDo0MSBIS1QgMjAwNSBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogcGFyc2VyLmM6IGZpeGVkIHNlY29uZCBzcG90IHdoZXJlIENSTEYgc3BsaXQgYmV0d2VlbiBjaHVua3MKKwkgIGNvdWxkIGNhdXNlIHRyb3VibGUgKGJ1ZyAjMzE5Mjc5KQorCSogZ2VudGVzdC5weSwgdGVzdGFwaS5jOiBmaXhlZCB0d28gcHJvYmxlbXMgaW52b2x2ZWQgd2l0aAorCSAgLS13aXRoLW1pbmltdW0gY29tcGlsYXRpb24gKGNvbXBpbGF0aW9uIGVycm9ycyB3aXRoIHNjaGVtYXRyb24KKwkgIGFuZCBmb3JtYWwgZXhwcmVzc2lvbnMgdGVzdHMpCisKK0ZyaSBPY3QgMjEgMTA6NTA6MTQgRURUIDIwMDUgUm9iIFJpY2hhcmRzIDxycmljaGFyZHNAY3RpbmR1c3RyaWVzLm5ldD4KKworCSogeG1sc2F2ZS5jOiBwcmV2ZW50IG91dHB1dCBvZiBmcmFnbWVudCB0YWdzIHdoZW4gc2VyaWFsaXppbmcgWEhUTUwuCisKK1dlZCBPY3QgMTkgMTY6NTM6NDcgQlNUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxyZWdleHAuYzogY29tbWl0aW5nIGEgc29tZSBmaXhlcyBhbmQgZGVidWcgZG9uZSB5ZXN0ZXJkYXkgaW4KKwkgIHRoZSBMb25kb24gYWlycG9ydC4KKworVGh1IE9jdCAyMCAxMjo1NDoyMyBDRVNUIDIwMDUgS2FzaW1pZXIgQnVjaGNpayA8bGlieG1sMi1jdnNAY2F6aWMubmV0PgorCisJKiB4bWxzY2hlbWFzLmM6IFJlbW92ZWQgY3JlYXRpb24gb2YgYSB0ZW1wb3JhcnkgcGFyc2VyIGNvbnRleHQKKwkgIGR1cmluZyB2YWxpZGF0aW9uIHdoZW4gcHJvY2Vzc2luZyB4c2k6dHlwZTsgdGhpcyBwcmV2aW91c2x5CisJICBhZGRlZCBhIHN0cmluZyB0byB0aGUgZGljdCBvZiB0aGUgc2NoZW1hIC0gdG8gYXNzdXJlIHRocmVhZAorCSAgc2FmZXR5LCB3ZSBkb24ndCB3YW50IHRvIG1vZGlmeSBhIGdpdmVuIHNjaGVtYSBkdXJpbmcKKwkgIHZhbGlkYXRpb24uCisKK1RodSBPY3QgMjAgMTc6MDU6MjkgSEtUIDIwMDUgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIHhtbHdyaXRlci5jOiBmaXhlZCBwcm9ibGVtIGluIHhtbFRleHRXcml0ZXJWU3ByaW50ZiBjYXVzZWQgYnkKKwkgIG1pc3VzZSBvZiB2c25wcmludGYKKwkqIGNvbmZpZ3VyZS5pbiwgY29uZmlnLmguaW46IGFkZGVkIGEgY29uZmlndXJhdGlvbiBjaGVjayBmb3IKKwkgIHZhX2NvcHkgYW5kIGFkZGVkIGEgZGVmaW5lIGZvciBWQV9DT1BZIGZvciB4bWx3cml0ZXIuYyBmaXgKKwkqIHBhcnNlci5jOiBmaXhlZCBwcm9ibGVtIHdpdGggQ1JMRiBzcGxpdCBiZXR3ZWVuIGNodW5rcyAoYnVnCisJICAjMzE5Mjc5KSAoZml4IHByb3ZpZGVkIGJ5IEJyaW9uIFZpYmJlcikKKworV2VkIE9jdCAxOSAxODo0OTo1MiBDRVNUIDIwMDUgS2FzaW1pZXIgQnVjaGNpayA8bGlieG1sMi1jdnNAY2F6aWMubmV0PgorCisJKiB4bWxzY2hlbWFzLmM6IEZpeGVkIGEgcG90ZW50aWFsIG1lbW9yeSBsZWFrIGluCisJICB4bWxTY2hlbWFDaGVja0NTZWxlY3RvclhQYXRoKCkgd2hlbiBhbiBpbnRlcm5hbCBlcnJvciBvY2N1cnMuCisJICBGaXhlZCBzZXR0aW5nIG9mIGN0eHQtPmVyciB0byB0aGUgZ2l2ZW4gZXJyb3IgY29kZSBpbgorCSAgdGhlIHBhcnNpbmcgZXJyb3IgZnVuY3Rpb25zLgorCSogcGF0dGVybi5jOiBBZGRlZCBpbnRlcm5hbCB4bWxDb21waWxlSURDWFBhdGhQYXRoKCkgYXMgYQorCSAgc3RhcnRpbmcgcG9pbnQgZm9yIElEQyBYUGF0aCBjb21waWxhdGlvbjsgdGhpcyBhbmQgc29tZSBvdGhlcgorCSAgdGlueSBjaGFuZ2VzIGZpeGVzIGlzc3VlcyByZWdhcmRpbmcgd2hpdGVzcGFjZSBpbiB0aGUKKwkgIGV4cHJlc3Npb25zIGFuZCBJREMgc2VsZWN0b3IvZmllbGQgcmVsZXZhbnQgcmVzdHJpY3Rpb25zIG9mCisJICB0aGUgc3Vic2V0IG9mIFhQYXRoLiBGaXhlZCBhIG1pc3NpbmcgYmxvY2tpbmcgb2YgYXR0cmlidXRlcworCSAgaW4geG1sU3RyZWFtUHVzaEludGVybmFsKCkuCisKK01vbiBPY3QgMTcgMTU6MDY6MDUgRURUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBydW50ZXN0LmM6IHJlbW92ZWQgdGhlIGVycm9yIG1lc3NhZ2UKKwkqIHJlbGF4bmcuYyB4bWxzY2hlbWFzLmM6IHJlbW92ZWQgMiBpbnN0YWJpbGl0eSB3YXJuaW5ncyBmcm9tIGZ1bmN0aW9uCisJICBkb2N1bWVudGF0aW9uCisJKiBpbmNsdWRlL2xpYnhtbC9zY2hlbWFzSW50ZXJuYWxzLmg6IGNoYW5nZWQgd2FybmluZyBhYm91dCBBUEkgc3RhYmlsaXR5CisJKiB4bWxyZWdleHAuYzogdHJ5aW5nIHRvIGltcHJvdmUgcnVudGltZSBleGVjdXRpb24gb2Ygbm9uLWRldGVybWluaXN0aWMKKwkgIHJlZ2V4cHMgYW5kIGF1dG9tYXRhLiBOb3QgZnVsbHkgZmluaXNoZWQgYnV0IHNob3VsZCBiZSB3YXkgYmV0dGVyLgorCitNb24gT2N0IDE3IDE2OjEyOjAyIENFU1QgMjAwNSBLYXNpbWllciBCdWNoY2lrIDxsaWJ4bWwyLWN2c0BjYXppYy5uZXQ+CisKKwkqIHhtbHNjaGVtYXMuYzogRml4ZWQgYSBtZW1vcnkgbGVhayBpbgorCSAgeG1sU2NoZW1hQ29udGVudE1vZGVsRHVtcCgpLiBBZGRlZCBvdXRwdXQgb2YgbG9jYWwgdHlwZXMKKwkgIGluIHhtbFNjaGVtYUVsZW1lbnREdW1wKCkuIFRpbnkgY29zbWV0aWNhbCBjaGFuZ2VzIHRvIHRoZQorCSAgZHVtcCBvdXRwdXQuCisKK01vbiBPY3QgMTcgMTQ6Mjk6MDggQ0VTVCAyMDA1IEthc2ltaWVyIEJ1Y2hjaWsgPGxpYnhtbDItY3ZzQGNhemljLm5ldD4KKworCSogdHJlZS5jIHBhdHRlcm4uYzogU2lsZW5jZWQgaW50ZWwgY29tcGlsZXIgd2FybmluZ3MgKHJlcG9ydGVkCisJICBieSBLamFydGFuIE1hcmFhcywgYnVnICMzMTg1MTcpLgorCSogeG1sc2NoZW1hcy5jOiBUaGUgYWJvdmUgY2hhbmdlcyBpbiBwYXR0ZXJuLmMgcmV2ZWFsZWQgYW4KKwkgIGluY29uc2lzdGVuY3kgd3J0IElEQ3M6IHdlIG5vdyBfb25seV8gcG9wIFhQYXRoIHN0YXRlcywgaWYKKwkgIHdlIHJlYWxseSBwdXNoZWQgdGhlbSBiZWZvcmVoYW5kOyB0aGlzIHdhcyBwcmV2aW91c2x5IG5vdAorCSAgY2hlY2tlZCBmb3IgdGhlIGNhc2Ugd2hlbiB3ZSBkaXNjb3ZlciBhbiBlbGVtZW50IG5vZGUgdG8gYmUKKwkgIGludmFsaWQgd3J0IHRoZSBjb250ZW50IG1vZGVsLgorCSAgRml4ZWQgc2VnZmF1bHQgaW4geG1sU2NoZW1hR2V0RWZmZWN0aXZlVmFsdWVDb25zdHJhaW50KCkuCisKK0ZyaSBPY3QgMTQgMTY6NDA6MTggQ0VTVCAyMDA1IEthc2ltaWVyIEJ1Y2hjaWsgPGxpYnhtbDItY3ZzQGNhemljLm5ldD4KKworCSogcmVzdWx0L3NjaGVtYXMvKi5lcnI6IEFkYXB0ZWQgcmVncmVzc2lvbiB0ZXN0IHJlc3VsdHMuCisKK0ZyaSBPY3QgMTQgMTY6MjE6MjIgQ0VTVCAyMDA1IEthc2ltaWVyIEJ1Y2hjaWsgPGxpYnhtbDItY3ZzQGNhemljLm5ldD4KKwkKKwkqIHhtbHNjaGVtYXMuYzogRml4ZWQgc29tZSBpZGVudGl0eS1jb25zdHJhaW50IGlzc3VlczoKKwkgIFJlc3RydWN0dXJlZCBJREMgbm9kZS10YWJsZXMKKwkgIEFsbG93ZWQgSURDcyB0byByZXNvbHZlIGFsc28gdG8gbm9kZXMgb2YgY29tcGxleCB0eXBlIHdpdGgKKwkgIHNpbXBsZSBjb250ZW50LgorCSAgQWRkZWQgY2hlY2sgZm9yIGtleXJlZnMgd2l0aCByZWZlcmVuY2VzIHRvIGtleXJlZnMuCisJICBJREMgdGFyZ2V0LW5vZGVzIHdlcmUgaW50ZXJmZXJyaW5nIHdpdGggSURDIG5vZGUtdGFibGVzLAorCSAgc2luY2UgdGhleSB1c2VkIG9uZSBsaXN0IG9mIGVudHJpZXMgb25seS4gSSBzZXBhcmF0ZWQgdGhpcworCSAgb25lIGJpZyBsaXN0IGludG8gMyBsaXN0czogMSBmb3IgSURDIG5vZGUtdGFibGUgZW50cmllcywKKwkgIDEgZm9yIF9kdXBsaWNhdGVzXyBvZiBJREMgbm9kZS10YWJsZSBlbnRyaWVzIGFuZCAxIGZvcgorCSAgSURDIHRhcmdldC1ub2Rlcy4gTW9yZSBjb2RlLCBidXQgY2xlYW5lciBhbmQgaXQgd29ya3MgYXQgbGFzdC4KKwkgIEtleXJlZnMgd2lsbCBmYWlsIHRvIHJlc29sdmUgdG8gZHVwbGljYXRlIGtleS91bmlxdWUgZW50cmllcy4KKwkgIEkgdGhvdWdodCB0aGlzIHdhcyBhbHJlYWR5IHdvcmtpbmcgdGhpcyB3YXksIGJ1dCBpdCBkaWRuJ3QuCisJICBUaGUgd29yZGluZyBvZiB0aGUgZGVmaW5pdGlvbiBmb3IgW25vZGUgdGFibGVdIGluIHRoZSBzcGVjCisJICBjYW4gbGVhZCB0byBhIHNjZW5hcmlvLCB3aGVyZSBrZXlyZWZzIHJlc29sdmUgcGVyZmVjdGx5LCBldmVuCisJICBpZiB0aGUgcmVsZXZhbnQga2V5LXNlcXVlbmNlcyBvZiB0aGUgcmVmZXJlbmNlZCBrZXkvdW5pcXVlIGhhdmUKKwkgIGR1cGxpY2F0ZXMgaW4gdGhlIHN1YnRyZWUuIEN1cnJlbnRseSBvbmx5IFNheG9uIDguNS4xIGlzCisJICBkaXNzYWxsb3dpbmcgcmVzb2x1dGlvbiB0byBkdXBsaWNhdGUgZW50cmllcyBjb3JyZWN0bHkgLSB3ZQorCSAgd2lsbCBmb2xsb3cgU2F4b24gaGVyZS4KKwkgIFJlbW92ZWQgc29tZSBpbnRlbCBjb21waWxlciB3YXJuaW5ncyAocmVwb3J0ZWQgYnkKKwkgIEtqYXJ0YW4gTWFyYWFzLCBidWcgIzMxODUxNykuCisJKiBwYXR0ZXJuLmM6IEZpeGVkIGFuIElEQy1YUGF0aCBwcm9ibGVtIHdoZW4gcmVzb2x2aW5nIHRvCisJICBhdHRyaWJ1dGVzLgkgIAorCitNb24gT2N0IDE0IDAxOjE1OjE0IENFU1QgMjAwNSBSb2IgUmljaGFyZHMgPHJyaWNoYXJkc0BjdGluZHVzdHJpZXMubmV0PgorCSogbmFub2h0dHAuYyBpbmNsdWRlL3dzb2NrY29tcGF0Lmg6IGFwcGxpZWQgcGF0Y2ggZnJvbSBLb2xqYSBOb3dhayAKKwkgIHRvIHVzZSBnZXRhZGRyaW5mbygpIGlmIHN1cHBvcnRlZCBpbiBXaW5kb3dzIGJ1aWxkIChidWcjIDMxNzQzMSkuCisKK01vbiBPY3QgMTAgMTU6MzM6NDggQ0VTVCAyMDA1IEthc2ltaWVyIEJ1Y2hjaWsgPGxpYnhtbDItY3ZzQGNhemljLm5ldD4KKworCSogcmVzdWx0L3NjaGVtYXMvKjogQWRhcHRlZCByZWdyZXNzaW9uIHRlc3QgcmVzdWx0cy4KKworTW9uIE9jdCAxMCAxNToxMjo0MyBDRVNUIDIwMDUgS2FzaW1pZXIgQnVjaGNpayA8bGlieG1sMi1jdnNAY2F6aWMubmV0PgorCisJKiB4bWxzY2hlbWFzLmMgaW5jbHVkZS9saWJ4bWwvc2NoZW1hc0ludGVybmFscy5oCisJICBpbmNsdWRlL2xpYnhtbC94bWxlcnJvci5oOiBJbml0aWFsIGltcGxlbWVudGF0aW9uIGZvcgorCSAgcmVkZWZpbml0aW9uczsgdGhpcyBzdGlsbCBtaXNzZXMgY2hlY2tzIGZvciByZXN0cmljdGlvbnMKKwkgIG9mIHRoZSBjb250ZW50IG1vZGVsIG9mIGNvbXBsZXggdHlwZXMuCisJICBGaXhlZCBkZWZhdWx0L2ZpeGVkIHZhbHVlcyBmb3IgYXR0cmlidXRlcyAobG9va3MgbGlrZSB0aGV5CisJICBkaWQgbm90IHdvcmsgaW4gdGhlIGxhc3QgIHJlbGVhc2VzKS4KKwkgIENvbXBsZXRlZCBjb25zdHJhaW50cyBmb3IgYXR0cmlidXRlIHVzZXMuCisJICBTZXBlcmF0ZWQgYXR0cmlidXRlIGRlcml2YXRpb24gZnJvbSBhdHRyaWJ1dGUgY29uc3RyYWludHMuCisJICBDb21wbGV0ZWQgY29uc3RyYWludHMgZm9yIGF0dHJpYnV0ZSBncm91cCBkZWZpbml0aW9ucy4KKwkgIERpc2FsbG93aW5nIDxpbXBvcnQ+cyBvZiBzY2hlbWFzIGluIG5vIHRhcmdldCBuYW1lc3BhY2UgaWYgdGhlCisJICBpbXBvcnRpbmcgc2NoZW1hIGlzIGEgY2hhbWVsZW9uIHNjaGVtYS4gVGhpcyBjb250cmFkaWN0cworCSAgdGhlIHdheSBTYXhvbiwgWGVyY2VzLUosIFhTViBhbmQgSUJNJ3MgU1FDIHdvcmtzLCBidXQgdGhlCisJICBXM0MgWE1MIFNjaGVtYSBXRywgdGhpbmtzIGl0IGlzIGNvcnJlY3QgdG8gZGlzc2Fsb3cgc3VjaAorCSAgaW1wb3J0cy4KKwkgIEFkZGVkIGNvcy1hbGwtbGltaXRlZCBjb25zdHJhaW50cy4KKwkgIFJlc3RydWN0dXJlZCByZWZlcmVuY2UgcmVzb2x1dGlvbiB0byBtb2RlbCBncm91cHMgYW5kIGVsZW1lbnQKKwkgIGRlY2xhcmF0aW9ucy4KKwkgIE1pc2MgY2xlYW51cC4KKworRnJpIE9jdCAgNyAwNDozNDoxMiBDRVNUIDIwMDUgUm9iIFJpY2hhcmRzIDxycmljaGFyZHNAY3RpbmR1c3RyaWVzLm5ldD4KKworCSogc2NoZW1hdHJvbi5jIHhtbHJlZ2V4cC5jOiByZW1vdmUgd2FybmluZ3MgdW5kZXIgV2luZG93cy4KKworV2VkIFNlcCAyOCAyMzo0MjoxNCBDRVNUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBwYXJzZXIuYzogYXBwbGllZCBwYXRjaCBmcm9tIE1hc3NpbW8gTW9yYXJhIGZpeGluZyBidWcgIzMxNzQ0NworCSAgYWJvdXQgcmlzayBvZiBpbnZhbGlkIHdyaXRlIGluIHhtbFN0cmluZ0xlbkRlY29kZUVudGl0aWVzCisKK1R1ZSBTZXAgMjcgMTE6MjA6NTcgQ0VTVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZXJyb3IuYzogQWRyaWFuIE1vdWF0IHBvaW50ZWQgb3V0IHJlZHVuZGFuY2llcyBpbiB4bWxSZXBvcnRFcnJvcigpCisKK01vbiBTZXAgMjYgMTk6MTg6MjQgQ0VTVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1scmVnZXhwLmM6IHNlZW1zIGEgdGVzdCB0byBhdm9pZCBkdXBsaWNhdGUgdHJhbnNpdGlvbiBpcyAKKwkgIHJlYWxseSBuZWVkZWQgYXQgYWxsIHRpbWVzLiBMdWthIFBvciBnYXZlIGFuIGV4YW1wbGUgaGl0dGluZworCSAgdGhpcy4gQ2hhbmdlZCBiYWNrIHRoZSBpbnRlcm5hbCBBUEkuCisKK1RodSBTZXAgMjIgMTM6MTQ6MDcgQ0VTVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1scmVhZGVyLmM6IGZpeGluZyBsZWFrIGluIHhtbFRleHRSZWFkZXJSZWFkU3RyaW5nKCkgIzMxNjkyNAorCitUaHUgU2VwIDE1IDE2OjEyOjQ0IENFU1QgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHVyaS5jOiBtb3JlIGZpeGVzIHRvIHRoZSBiZWhhdmlvdXIgb2YgeG1sQnVpbGRSZWxhdGl2ZVVSSQorCitUaHUgU2VwIDE1IDE1OjA4OjIxIENFU1QgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbHJlZ2V4cC5jOiBkZXRlY3QgY29tYmluYXRvcnkgZXhwbG9zaW9uIGFuZCByZXR1cm4gd2l0aAorCSAgYSBydW50aW1lIGVycm9yIGluIHRob3NlIGNhc2UsIGMuZi4gIzMxNjMzOCB0aG91Z2ggbWF5YmUgd2UKKwkgIHNob3VsZCBub3Qgc2VlIHN1Y2ggYW4gZXhwbG9zaW9uIHdpdGggdGhhdCBzcGVjaWZpYyByZWdleHAsCisJICBtb3JlIGNoZWNraW5nIG5lZWRzIHRvIGJlIGRvbmUuCisKK1dlZCBTZXAgMTQgMTk6NTI6MTggQ0VTVCAyMDA1IEthc2ltaWVyIEJ1Y2hjaWsgPGxpYnhtbDItY3ZzQGNhemljLm5ldD4KKworCSogaW5jbHVkZS9saWJ4bWwvc2NoZW1hc0ludGVybmFscy5oOiBBZGRlZCBzb21lIGNvbW1lbnRzIGZvciB0aGUKKwkgIHN0cnVjdCBmaWVsZHMuCisKK1dlZCBTZXAgMTQgMTM6MjQ6MjcgSEtUIDIwMDUgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIHVyaS5jOiBmaXhlZCBwcm9ibGVtIHdoZW4geG1sQnVpbGRSZWxhdGl2ZVVSSSB3YXMgZ2l2ZW4gYQorCSAgYmxhbmsgcGF0aCAoYnVnIDMxNjIyNCkKKworTW9uIFNlcCAxMiAyMzo0MTo0MCBDRVNUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBORVdTIGNvbmZpZ3VyZS5pbiBkb2MvLyo6IHJlbGVhc2Ugb2YgMi42LjIyIHVwZGF0ZWQgZG9jIGFuZAorCSAgcmVidWlsZC4KKwkqIHhtbHNhdmUuYyBpbmNsdWRlL2xpYnhtbC94bWxzYXZlLmg6IGFkZGVkIFhNTF9TQVZFX05PX1hIVE1MCisJICB4bWxTYXZlT3B0aW9uCisJKiB4bWxzY2hlbWFzLmM6IG1pbm9yIGNsZWFudXBzCisKK01vbiBTZXAgMTIgMjE6NDI6NDcgQ0VTVCAyMDA1IEthc2ltaWVyIEJ1Y2hjaWsgPGxpYnhtbDItY3ZzQGNhemljLm5ldD4KKwkKKwkqIHRlc3Qvc2NoZW1hcy9pbXBvcnQxXzAueHNkOiBBbmQgYWRhcHRpbmcgYW5vdGhlciBvbmUuCisKK01vbiBTZXAgMTIgMjE6Mjk6MzUgQ0VTVCAyMDA1IEthc2ltaWVyIEJ1Y2hjaWsgPGxpYnhtbDItY3ZzQGNhemljLm5ldD4KKworCSogcmVzdWx0L3NjaGVtYXMvZGVyaXZhdGlvbi1vay1leHRlbnNpb25fMF8wOiBBZGFwdGVkIHJlc3VsdC4KKworTW9uIFNlcCAxMiAyMToyMDo0MSBDRVNUIDIwMDUgS2FzaW1pZXIgQnVjaGNpayA8bGlieG1sMi1jdnNAY2F6aWMubmV0PgorCisJKiByZXN1bHQvc2NoZW1hcy9hbGxzZ18wXzMuZXJyIHJlc3VsdC9zY2hlbWFzL2FsbHNnXzBfNC5lcnIKKwkgIHJlc3VsdC9zY2hlbWFzL2NoYW5nZWxvZzA5M18xXzAuZXJyCisJICByZXN1bHQvc2NoZW1hcy9kZXJpdmF0aW9uLW9rLWV4dGVuc2lvbl8wXzAuZXJyCisJICByZXN1bHQvc2NoZW1hcy9pbXBvcnQxXzBfMC5lcnIKKwkgIHJlc3VsdC9zY2hlbWFzL2Rlcml2YXRpb24tb2stcmVzdHJpY3Rpb24tMi0xLTFfMF8wLmVycjoKKwkgIEFkYXB0ZWQgcmVncmVzc2lvbiByZXN1bHRzLgorCitNb24gU2VwIDEyIDIxOjAwOjUzIENFU1QgMjAwNSBLYXNpbWllciBCdWNoY2lrIDxsaWJ4bWwyLWN2c0BjYXppYy5uZXQ+CisKKwkqIHhtbHNjaGVtYXMuYyBpbmNsdWRlL2xpYnhtbC9zY2hlbWFzSW50ZXJuYWxzLmgKKwkgIGluY2x1ZGUvbGlieG1sL3htbGVycm9yLmg6IENvbXBsZXRpb24gb2YgdGhlIHNjaGVtYSBncmFwaC4KKwkgIENlbnRyYWxpc2F0aW9uLCBtb3JlIHJvYnVzdG5lc3Mgb2YgdGhlIHNjaGVtYSBkb2N1bWVudAorCSAgYXF1aXNpdGlvbiBzdG9yeS4gQ2VudHJhbGlzZWQgYW5kIHJlc3RydWN0dXJlZCBjb21wb25lbnQgZml4dXAuCisJICBGaXhlZCBhdHRyaWJ1dGUgZGVyaXZhdGlvbiB3aGVuICdwcm9oaWJpdGluZycgYXR0cmlidXRlIHVzZXMuCisJICBBZGRlZCB3YXJuaW5nczogd2hlbiBzY2hlbWEgZG9jdW1lbnRzIGNhbm5vdCBiZSBsb2NhbGl6ZWQKKwkgIGR1cmluZyBpbXBvcnRzOyB3aGVuIHdlIGdldCBkdXBsaWNhdGUgYW5kIHBvaW50bGVzcyBhdHRyaWJ1dGUKKwkgIHByb2hpYml0aW9ucy4gQ2hhbmdlZCBlcnJvciByZXBvcnRzIGZvciBJRENzIHRvIHJlcG9ydAorCSAgdGhlIHJlbGV2YW50IElEQyBkZXNpZ25hdGlvbiBhcyB3ZWxsIChyZXF1ZXN0ZWQgYnkgR1VZIEZhYnJpY2UpLgorCSAgTWlzYyBjb2RlLWNsZWFudXAuCisKK01vbiBTZXAgMTIgMTY6MDI6MTIgQ0VTVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sc2F2ZS5jOiBhcHBsaWVkIHNlY29uZCBwYXRjaCBmcm9tIERhdmlkIE1hZG9yZSB0byBiZSBsZXNzIGludHJ1c2l2ZQorCSAgd2hlbiBoYW5kbGluZyBzY3JpcHRzIGFuZCBzdHlsZSBlbGVtZW50cyBpbiBYSFRNTDEgc2hvdWxkIGZpeCAjMzE2MDQxCisJKiB0ZXN0L3hodG1sMSByZXN1bHQvL3hodG1sMVwqOiB1cGRhdGVkIHRoZSB0ZXN0IGFjY29yZGluZ2x5CisKK01vbiBTZXAgMTIgMTU6MDk6MDkgQ0VTVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogbGlieG1sLnNwZWMuaW4gZG9jL2RldmhlbHAvKjogZmluaXNoZWQgdGhlIGludGVncmF0aW9uIHdpdGgKKwkgIGRldmhlbHAsIGNvbXBsZXRpbmcgdGhlIGluZGV4IGFuZCBpbnNlcnRlZCBpbnRvIHRoZSBndGstZG9jCisJICBkYXRhYmFzZSBhdCAibWFrZSBpbnN0YWxsIiBzdGFnZQorCitNb24gU2VwIDEyIDE0OjE0OjEyIENFU1QgMjAwNSBSb2IgUmljaGFyZHMgPHJyaWNoYXJkc0BjdGluZHVzdHJpZXMubmV0PgorCisJKiBpbmNsdWRlL2xpYnhtbC94bWxzYXZlLmggeG1sc2F2ZS5jOiBhZGQgWE1MX1NBVkVfTk9fRU1QVFkgc2F2ZSBvcHRpb24KKwkgIGFuZCB1c2Ugb3B0aW9uIGZyb20geG1sU2F2ZUN0eHRQdHIgcmF0aGVyIHRoYW4gZ2xvYmFsIGR1cmluZyBvdXRwdXQuCisJKiB4bWxzYXZlLmM6IGZpeCBzb21lIG91dHB1dCBmb3JtYXR0aW5nIGZvciBtZXRhIGVsZW1lbnQgdW5kZXIgWEhUTUwuCisKK01vbiBTZXAgMTIgMTE6MTI6MDMgQ0VTVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogaW5jbHVkZS9saWJ4bWwvcGFyc2VyLmggcGFyc2VyLmMgeG1sbGludC5jOiBkYW1uIFhNTF9GRUFUVVJFX1VOSUNPREUKKwkgIGNsYXNoZXMgd2l0aCBFeHBhdCBoZWFkZXJzIHJlbmFtZSB0byBYTUxfV0lUSF8gdG8gZml4IGJ1ZyAjMzE2MDUzLiAKKwkqIGRvYy9NYWtlZmlsZS5hbTogYnVpbGQgZGV2aGVscCBiZWZvcmUgdGhlIGV4YW1wbGVzLgorCSogZG9jLyo6IHJlZ2VuZXJhdGVkIHRoZSBBUEkKKworTW9uIFNlcCAxMiAwMjowMzoxMiBDRVNUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxzYXZlLmM6IGZpeCBidWcgIzMxNjAzNCwgd2hlcmUgeG1sRWxlbUR1bXAoKSBjYW4gY3Jhc2ggaWYgCisJICBnaXZlbiBhIGRvY3VtZW50IHBvaW50ZXIgaW5zdGVhZCBvZiBhbiBlbGVtZW50CisKK01vbiBTZXAgMTIgMDE6MjY6MTYgQ0VTVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZG9jL2RldmhlbHAvZGV2aGVscC54c2w6IGltcHJvdmVtZW50cyBvbiB0aGUgaHRtbCBnZW5lcmF0aW9uLAorCSAgc2hvdWxkIGJlIGNvbXBsZXRlIHdpdGggbmF2aWdhdGlvbiwgd2hhdCBpcyBsZWZ0IGRvbmUgaXMgZ2x1ZWluZworCitNb24gU2VwIDEyIDAwOjAzOjI3IENFU1QgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGNvbmZpZ3VyZS5pbiBkb2MvTWFrZWZpbGUuYW0gZG9jL2FwaWJ1aWxkLnB5IGRvYy9saWJ4bWwyLWFwaS54bWwKKwkgIGRvYy9kZXZoZWxwLyo6IHN0YXJ0ZWQgd29yayBuZWVkZWQgdG8gZ2VuZXJhdGUgZGV2aGVscCBjb250ZW50LAorCSAgbm90IHRvbyBoYXJkIGJhc2VkIG9uIHRoZSBleGlzdGluZyBmb3JtYXQgYW5kIGV4dHJhY3Rvci4KKworRnJpIFNlcCAgOSAxMjo1NjoxOSBDRVNUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBwYXJzZXIuYzogZml4ZXMgYnVnICMzMTU2MTcgd2hlbiB1c2luZyBwdXNoIENEQVRBIGluIHNvbWUgY2FzZXMuCisKK1RodSBTZXAgIDggMjM6Mzk6NDEgQ0VTVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sbGludC5jOiBwYXRjaCBmcm9tIFN0w6lwaGFuZSBCaWRvdWwgdG8gY29tcGlsZSB3aXRob3V0IHNjaGVtYXRyb24KKworV2VkIFNlcCAgNyAwMDoxNjoyNyBDRVNUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBkZWJ1Z1hNTC5jOiBwYXRjaCBmcm9tIE9sZWcgUGFyYXNjaGVua28gdG8gZml4IHhtbERlYnVnRHVtcE5vZGUoKQorCSAgd2hlbiBoYW5kbGVkIGEgbmFtZXNwYWNlIG5vZGUuCisKK1N1biBTZXAgIDQgMjM6MzY6NDUgQ0VTVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogTkVXUyBlbGZnY2NoYWNrLmggdGVzdGFwaS5jIGRvYy8qOiB1cGRhdGVkIHRoZSBkb2NzIGFuZCByZWJ1aWxkCisJICByZWxlYXNpbmcgMi42LjIxCisJKiBpbmNsdWRlL2xpYnhtbC90aHJlYWRzLmggdGhyZWFkcy5jOiByZW1vdmVkIHhtbElzVGhyZWFkc0VuYWJsZWQoKQorCSogdGhyZWFkcy5jIGluY2x1ZGUvbGlieG1sL3RocmVhZHMuaCB4bWxsaW50LmM6IGFkZGVkIHRoZSBtb3JlCisJICBnZW5lcmljIHhtbEhhc0ZlYXR1cmUoKSBhcyBzdWdnZXN0ZWQgYnkgQmpvcm4gUmVlc2UsIHhtbGxpbnQgdXNlcyBpdC4KKworU3VuIFNlcCAgNCAyMjo0NTo0OSBDRVNUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBjb25maWd1cmUuaW4gZG9jLyogY29uZmlndXJlLmluOiBwcmVwYXJlIGZvciByZWxlYXNlCisJKiB4cGF0aC5jOiB3b3JrIGZvciAjMzAzMjg5LCBmaXggYSBmb3JtYXR0aW5nIGJ1ZyBmb3IgTUlOX0lOVAorCitTdW4gU2VwICA0IDE1OjQ4OjU3IENFU1QgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHJlbGF4bmcuYzogcmVhbCBmaXggZm9yICMzMTQ4ODEgYW5kICMzMTQ3NTkgaXMgd2FzIGEgYml0IG1vcmUgY29tcGxleAorCSAgdGhhbiBpbml0aWFsbHkgZXhwZWN0ZWQgYXMgY3R4dC0+ZXJyb3IgPT0gTlVMTCBoYWQgYmVoYXZpb3VyIHNpZGUKKwkgIGVmZmVjdHMgYXQgdGhlIGNvbXBpbGF0aW9uIGxldmVsIGl0c2VsZi4KKworU3VuIFNlcCAgNCAxNDowMTowMCBDRVNUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBwYXR0ZXJuLmMgeHBhdGguYyBpbmNsdWRlL2xpYnhtbC9wYXR0ZXJuLmg6IGZpeGluZyB5ZXQgYW5vdGhlcgorCSAgcGF0dGVybiBpbmR1Y2VkIFhQYXRoIGJ1ZyAjMzE0MjgyCisJKiByZWxheG5nLmM6IHJldmVydGVkIGJhY2sgbGFzdCBjaGFuZ2UgaXQgd2FzIHNlcmlvdXNseSBicm9rZW4KKworU2F0IFNlcCAgMyAxNjo1MTo1NSBDRVNUIDIwMDUgUm9iIFJpY2hhcmRzIDxycmljaGFyZHNAY3RpbmR1c3RyaWVzLm5ldD4KKworCSogeG1sc2F2ZS5jOiBjaGVjayBmb3IgTlVMTCB0byBwcmV2ZW50IGNyYXNoIHdpdGggbWV0YSBlbGVtZW50cworCitTYXQgU2VwICAzIDE2OjI2OjU1IENFU1QgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHJlbGF4bmcuYzogc3RydWN0dXJlZCBlcnJvciByZXBvcnRpbmcgcHJvYmxlbSB3aXRoIFJlbGF4LU5HCisJICBzaG91bGQgZml4ICMzMTQ4ODEgYW5kICMzMTQ3NTkKKworU2F0IFNlcCAgMyAxNTo0MjoyOSBDRVNUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBwYXR0ZXJuLmM6IGZpeGVzIGEgcG9ydGFiaWxpdHkgcHJvYmxlbSByYWlzZWQgYnkgQzM3MCBvbiBaL09TCisKK1NhdCBTZXAgIDMgMTU6MjY6MzEgQ0VTVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogU0FYMi5jIHRyZWUuYyB2YWxpZC5jOiBmaXhpbmcgYSBudW1iZXIgb2YgaXNzdWVzIHJhaXNlZCBieSB4bWw6aWQKKwkgIGJ1dCBtb3JlIGdlbmVyYWxseSByZWxhdGVkIHRvIGF0dHJpYnV0ZXMgYW5kIElEIGhhbmRsaW5nLCBmaXhlcworCSAgIzMxNDM1OCBhbW9uZyBvdGhlciB0aGluZ3MKKworRnJpIFNlcCAgMiAxNDoyNjo0MyBDRVNUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBlbmNvZGluZy5jIHBhcnNlckludGVybmFscy5jOiBhdm9pZCBwYXNzaW5nIGEgY2hhcltdIGFzIHNucHJpbnRmCisJICBmaXJzdCBhcmd1bWVudC4KKwkqIHRocmVhZHMuYyBpbmNsdWRlL2xpYnhtbC90aHJlYWRzLmg6IGltcGxlbWVudGVkIHhtbElzVGhyZWFkc0VuYWJsZWQoKQorCSAgYmFzZWQgb24gQW5kcmV3IFcuIE5vc2Vua28gaWRlYS4KKwkqIGRvYy8qIGVsZmdjY2hhY2suaDogcmVnZW5lcmF0ZWQgdGhlIEFQSQorCitUaHUgU2VwICAxIDE0OjQ0OjQyIENFU1QgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGNvbmZpZ3VyZS5pbjogdGhlIHVzZSBvZiBBTV9QQVRIX1BZVEhPTiBpcyBub3QgcG9ydGFibGUgZW5vdWdoCisJICByZXZlcnRpbmcgYmFjayB0byBBTV9QQVRIX1BST0cKKworVGh1IFNlcCAgMSAxMTo0MjozOSBDRVNUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBIVE1McGFyc2VyLmM6IEFwcGxpZWQgdGhlIGxhc3QgcGF0Y2ggZnJvbSBHYXJ5IENvYWR5IGZvciAjMzA0NjM3CisJICBjaGFuZ2luZyB0aGUgYmVoYXZpb3VyIHdoZW4gdGV4dCBub2RlcyBhcmUgZm91bmQgaW4gYm9keQorCSogcmVzdWx0L0hUTUwvKjogdGhpcyBjaGFuZ2VzIHRoZSBvdXRwdXQgb2Ygc29tZSB0ZXN0cworCitUaHUgU2VwICAxIDExOjIyOjM3IENFU1QgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGRvYy9kb3dubG9hZHMuaHRtbCBkb2MveG1sLmh0bWw6IGFkZGluZyByZWZlcmVuY2UgdG8gQnVsbCBBSVggcnBtcworCSAgYy5mLiAjMTYwNTk4CisKK1dlZCBBdWcgMzEgMTE6Mzk6MDIgQ0VTVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sMi1jb25maWcuaW46IHJlbW92ZWQgdGhlIG9ic29sZXRlIC0tbGlidG9vbC1saWJzIG9wdGlvbiwgYy5mLgorCSAgYnVnICMzMTQ4NTMKKworRnJpIEF1ZyAyNiAxNzozMzoyNiBDRVNUIDIwMDUgUm9iIFJpY2hhcmRzIDxycmljaGFyZHNAY3RpbmR1c3RyaWVzLm5ldD4KKworCSogeG1sc2F2ZS5jOiBtb3ZlIGhhbmRsaW5nIG9mIG1ldGEgZWxlbWVudCBmb3IgaHR0cC1lcXVpdiBpbiBYSFRNTCBkb2NzIAorCSAgdG8gc2VyaWFsaXphdGlvbiBhbmQgbm8gbG9uZ2VyIG1vZGlmeSBpbnRlcm5hbCB0cmVlLgorCitGcmkgQXVnIDI2IDAwOjUxOjU4IENFU1QgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGxpYnhtbC5zcGVjLmluOiB0aGUgcHJvZmlsaW5nIHVzdWFsbHkgZG9uJ3Qgd29yaywgZGlzYWJsZWQKKwkqIGRvYy8qOiByZWJ1aWx0CisKK1RodSBBdWcgMjUgMjM6NDc6NTUgQ0VTVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogY29uZmlndXJlLmluOiB0cnlpbmcgdG8gZml4IHRoZSBmaXJzdCBwYXJ0IG9mICMzMTAwMzMgYnkKKwkgIGRldGVjdGluZyBnY2MgPD0gMy4yCisKK1RodSBBdWcgMjUgMjI6MTM6MzcgQ0VTVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZXJyb3IuYzogZml4ZWQgYnVnICMzMTAwMzMsIHRoZSBVUkkgZXh0cmFjdGlvbiBjb2RlIGdpdmVuIGEKKwkgIG5vZGUgaXMgYSBiaXQgdHdpc3RlZCBhbmQgYnJva2UgaW4gdGhlIGxhc3QgbW9udGhzLgorCitUaHUgQXVnIDI1IDE2OjE4OjE1IENFU1QgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGRlYnVnWE1MLmMgcmVzdWx0L1hQYXRoL3hwdHIvc3RycmFuZ2UyOiB1bmluaXRpYWxpemVkIGZpZWxkIGFuZAorCSAgZml4IG9uIHRlc3QuCisKK1RodSBBdWcgMjUgMTY6MDM6MDUgQ0VTVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZGVidWdYTUwuYzogY2hhbmdlIHZlcmJvc2l0eSBkZXBlbmRpbmcgb24gQVBJCisJKiByZXN1bHQvWFBhdGgvdGVzdHMvKiByZXN1bHQvWFBhdGgveHB0ci8qIHJlc3VsdC94bWxpZC8qOiBnZXQgYmFjaworCSAgdG8gcHJldmlvdXMgb3V0cHV0cworCitUaHUgQXVnIDI1IDE1OjE0OjU2IENFU1QgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIEhUTUxwYXJzZXIuYyBwYXJzZXIuYyBTQVgyLmMgZGVidWdYTUwuYyB0cmVlLmMgdmFsaWQuYyB4bWxyZWFkZXIuYworCSAgeG1sbGludC5jIGluY2x1ZGUvbGlieG1sL0hUTUxwYXJzZXIuaCBpbmNsdWRlL2xpYnhtbC9wYXJzZXIuaDoKKwkgIGFkZGVkIGEgcGFyc2VyIFhNTF9QQVJTRV9DT01QQUNUIG9wdGlvbiB0byBhbGxvY2F0ZSBzbWFsbCAKKwkgIHRleHQgbm9kZXMgKGxlc3MgdGhhbiA4IGJ5dGVzIG9uIDMyYml0cywgbGVzcyB0aGFuIDE2Ynl0ZXMgb24gNjRiaXRzKQorCSAgZGlyZWN0bHkgd2l0aGluIHRoZSBub2RlLCB2YXJpb3VzIGNoYW5nZXMgdG8gY29wZSB3aXRoIHRoaXMuCisJKiByZXN1bHQvWFBhdGgvdGVzdHMvKiByZXN1bHQvWFBhdGgveHB0ci8qIHJlc3VsdC94bWxpZC8qOiB0aGlzIAorCSAgc2xpZ2h0bHkgY2hhbmdlIHRoZSBvdXRwdXQKKworVGh1IEF1ZyAyNSAxMjoxNjoyNiBDRVNUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBjb25maWd1cmUuaW46IHBhdGNoIGZyb20gQW5kcmV3IFcuIE5vc2Vua28sIHVzZSBzZSAkR0NDID0gJ3llcycKKwkgIGluc3RlYWQgb2YgJENDID0gJ2djYycgYmVjYXVzZSBHQ0MgbWF5IGhhdmUgYSBkaWZmZXJlbnQgbmFtZQorCitUaHUgQXVnIDI1IDAwOjE4OjIwIENFU1QgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGNvbmZpZ3VyZS5pbjogY2hhbmdlcyB0aGUgd2F5IHRoZSBweXRob24gYmluYXJ5IGlzIGZvdW5kLCBzaG91bGQKKwkgIGFsc28gZml4IGJ1ZyAjMzA4MDA0CisKK1dlZCBBdWcgMjQgMTY6NDQ6NDEgQ0VTVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcGFyc2VyLmM6IGZvdW5kIGFub3RoZXIgYnVnIHdoaWxlIGxvb2tpbmcgYXQgIzMwOTYxNiBvbiBtaXNzaW5nCisJICBlbnRpdGllcy4KKwkqIHJlc3VsdC9lbnQyLnNheCogcmVzdWx0L2VudDcuc2F4KiByZXN1bHQveG1sMi5zYXgqOiB0aGlzIGNoYW5nZWQgdGhlCisJICBTQVggc3RyZWFtIGluIG1pc3NpbmcgY29uZGl0aW9ucyBmb3IgYSBmZXcgdGVzdHMKKworV2VkIEF1ZyAyNCAxNjoxOTowMCBDRVNUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBlbmNvZGluZy5jOiBhcHBsaWVkIHRoZSBwYXRjaCBzdWdnZXN0ZWQgIzMwOTU2NSB3aGljaCBjYW4gYXZvaWQKKwkgIGxvb3BpbmcgaW4gZXJyb3IgY29uZGl0aW9ucy4KKworV2VkIEF1ZyAyNCAxNjowNDoxNyBDRVNUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBTQVgyLmMgdHJlZS5jOiBsaW5lIG51bWJlcnMgYXJlIG5vdyBjYXJyaWVkIGJ5IG1vc3Qgbm9kZXMsIGZpeGluZworCSAgeG1sR2V0TGluZU5vKCkgYy5mLiBidWcgIzMwOTIwNQorCitXZWQgQXVnIDI0IDE0OjQzOjM0IENFU1QgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGVuY29kaW5nLmMgZXJyb3IuYyBpbmNsdWRlL2xpYnhtbC94bWxlcnJvci5oOiBmaW5hbGx5IGNvbnZlcnRlZAorCSAgdGhlIGVuY29kaW5nIG1vZHVsZSB0byB0aGUgY29tbW9uIGVycm9yIHJlcG9ydGluZyBtZWNoYW5pc20KKwkqIGRvYy8qIGRvYy9odG1sL2xpYnhtbC14bWxlcnJvci5odG1sOiByZWJ1aWx0CisKK1dlZCBBdWcgMjQgMTE6MzU6MjYgQ0VTVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeHBhdGguYzogcmVtb3ZlZCBhIHBvdGVudGlhbGx5IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgZXJyb3IKKwkqIHB5dGhvbi9nZW5lcmF0b3IucHk6IGZpeGVkIGEgZGVwcmVjYXRpb24gd2FybmluZworCSogcHl0aG9uL3Rlc3RzL3RzdExhc3RFcnJvci5weTogc2lsZW50IHRoZSBkYW1uIHRlc3Qgd2hlbiBPa2F5ICEKKworV2VkIEF1ZyAyNCAwMDoxMToxNiBDRVNUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBTQVgyLmMgZ2xvYmFscy5jIHJ1bnRlc3QuYyB0ZXN0QzE0Ti5jIHRlc3RhcGkuYyB0cmVlLmMKKwkgIGluY2x1ZGUvbGlieG1sL1NBWDIuaCBpbmNsdWRlL2xpYnhtbC94bWxyZWdleHAuaDogZml4ZWQgY29tcGlsYXRpb24KKwkgIHdoZW4gY29uZmlndXJlZCAtLXdpdGhvdXQtc2F4MSBhbmQgb3RoZXIgY2xlYW51cHMgZml4ZXMgYnVnICMxNzI2ODMKKwkqIGRvYy8qIGVsZmdjY2hhY2suaDogcmVnZW5lcmF0ZWQKKworVHVlIEF1ZyAyMyAyMDowNTowNSBDRVNUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBwYXJzZXIuYzogZml4ZWQgYnVnICMxNzA0ODkgcmVwb3J0ZWQgYnkgSmlya2EgS29zZWsKKwkqIHRlc3QvdmFsaWQvb2JqZWRuYXZrYS54bWwgdGVzdC92YWxpZC9kdGRzL29iamVkbmF2a2EuZHRkCisJICByZXN1bHQvdmFsaWQvb2JqZWRuYXZrYSo6IGFkZGVkIHRoZSB0ZXN0IHRvIHRoZSByZWdyZXNzaW9uIHN1aXRlLgorCitUdWUgQXVnIDIzIDE4OjA0OjA4IENFU1QgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIEhUTUxwYXJzZXIuYyBpbmNsdWRlL2xpYnhtbC9IVE1McGFyc2VyLmg6IGFkZGVkIGEgcmVjb3ZlcnkgbW9kZQorCSAgZm9yIHRoZSBIVE1MIHBhcnNlciBiYXNlZCBvbiB0aGUgc3VnZ2VzdGlvbnMgb2YgYnVnICMxNjk4MzQgYnkKKwkgIFBhdWwgTG9iZXJnCisKK1R1ZSBBdWcgMjMgMTU6Mzg6NDYgQ0VTVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZWxmZ2NjaGFjay5oIHRlc3RhcGkuYyBkb2MvKjogcmVnZW5lcmF0ZWQKKwkqIHNjaGVtYXRyb24uYzogZml4ZWQgYSBjb21waWxhdGlvbiBwcm9ibGVtCisJKiB4bWxyZWdleHAuYyBpbmNsdWRlL2xpYnhtbC94bWxyZWdleHAuaDogc29tZSBjbGVhbnVwcyBhbmQgb25lIGJ1ZyBmaXgKKwkqIHJlc3VsdC9leHByL2Jhc2U6IHNsaWdodGx5IGNoYW5nZXMgdGhlIG51bWJlciBvZiBDb25zLgorCitNb24gQXVnIDIyIDIzOjE5OjUwIENFU1QgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGVsZmdjY2hhY2suaCB0ZXN0YXBpLmMgZG9jLyo6IHJlc2Nhbm5lZCBjb2RlIGFuZCByZWJ1aWx0CisJKiB4bWxyZWdleHAuYzogc21hbGwgY2xlYW51cAorCSogaW5jbHVkZS9saWJ4bWwvc2NoZW1hdHJvbi5oIGluY2x1ZGUvbGlieG1sL3htbGV4cG9ydHMuaAorCSAgaW5jbHVkZS9saWJ4bWwveG1sdmVyc2lvbi5oLmluOiBjbGVhbnVwIHByb2JsZW1zIGZyb20gY29kZSBzY2FubmVyCisKK01vbiBBdWcgMjIgMTg6MDA6MTggQ0VTVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sc2NoZW1hc3R5cGVzLmM6IGFwcGxpZWQgcGF0Y2ggZnJvbSBLdWJhIE5vd2Frb3dza2kgZml4aW5nIGJ1ZworCSAgIzMxMzk4MgorCSogcmVzdWx0L3NjaGVtYXMvYnVnMzEzOTgyKiB0ZXN0L3NjaGVtYXMvYnVnMzEzOTgyKjogYWxzbyBhZGRlZAorCSAgdGhlIHRlc3QgY2FzZSB0byB0aGUgcmVncmVzc2lvbiBzdWl0ZS4KKworTW9uIEF1ZyAyMiAxNzo1MDoyMCBDRVNUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB0ZXN0UmVnZXhwLmM6IHByaW50ZWQgdGhlIHdyb25nIHN0cmluZworCitNb24gQXVnIDIyIDE2OjQyOjA3IENFU1QgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHRlc3RSZWdleHAuYyB4bWxyZWdleHAuYyBpbmNsdWRlL2xpYnhtbC94bWxyZWdleHAuaDogZXhwb3J0ZWQKKwkgIHhtbEV4cEV4cERlcml2ZSgpLCBhZGRlZCBpdCB0byB0aGUgdGVzdFJlZ2V4cCBjb21tYW5kIGxpbmUgCisJICB0b29sIHdoZW4gcHJvdmlkaW5nIG11bHRpcGxlIGV4cHJlc3Npb25zLgorCitNb24gQXVnIDIyIDE0OjU3OjEzIENFU1QgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIE1ha2VmaWxlLmFtIHJlc3VsdC9leHByL2Jhc2UgdGVzdC9leHByL2Jhc2U6IGFkZGVkIHRoZSBmaXJzdAorCSAgcmVncmVzc2lvbiB0ZXN0IHN1aXRlIHNldCBmb3IgdGhlIG5ldyBleHByZXNzaW9uIHN1cHBvcnQKKworTW9uIEF1ZyAyMiAxMzo0OToxOCBDRVNUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB2YWxpZC5jOiBmaXhlZCBhbiB1bmluaXRpYWxpemVkIHZhcmlhYmxlCisJKiB4bWxyZWdleHAuYyBpbmNsdWRlL2xpYnhtbC94bWxyZWdleHAuaDogZXh0ZW5kZWQgdGhlIEFQSSB0bworCSAgYWRkIHRoZSBwYXJzZXIsIHNlcmlhbGl6ZXIgYW5kIHNvbWUgZGVidWdnaW5nCisJKiBpbmNsdWRlL2xpYnhtbC94bWx2ZXJzaW9uLmguaW46IG1hZGUgdGhlIG5ldyBzdXBwb3J0IGNvbXBpbGVkCisJICBieSBkZWZhdWx0IGlmIFNjaGVtYXMgaXMgaW5jbHVkZWQKKwkqIHRlc3RSZWdleHAuYzogY2xlYW51cCBhbmQgaW50ZWdyYXRpb24gb2YgdGhlIGZpcnN0IHBhcnQgb2YgdGhlCisJICBuZXcgY29kZSB3aXRoIGEgc3BlY2lhbCBzd2l0Y2gKKwkqIHhtbGxpbnQuYzogc2hvdyB1cCBFeHByIGluIC0tdmVyc2lvbiBpZiBjb21waWxlZCBpbgorCSogaW5jbHVkZS9saWJ4bWwvdHJlZS5oOiBtb3ZlZCB0aGUgeG1sQnVmZmVyIGRlZmluaXRpb24gdXAKKworTW9uIEF1ZyAyMiAxMjoxMToxMCBDRVNUIDIwMDUgS2FzaW1pZXIgQnVjaGNpayA8bGlieG1sMi1jdnNAY2F6aWMubmV0PgorCisJKiB4bWxzY2hlbWFzLmM6IFNvbWUgcHJlcGFyYXRpb24gZm9yIHRoZSBjcmVhdGlvbiBvZiBhIGdyYXBoCisJICBvZiBpbXBvcnRlZC9pbmNsdWRlZC9yZWRlZmluZWQgc2NoZW1hczsgdGhpcyBpcyBuZWVkZWQgZm9yCisJICBhdCBsZWFzdCB0aGUgcmVkZWZpbml0aW9ucy4KKwkgIENlbnRyYWxpemVkIHRoZSBjcmVhdGlvbiBvZiB0aGUgcGFyc2VyIGNvbnRleHQgaW4gb25lIGZ1bmN0aW9uLgorCitNb24gQXVnIDIyIDAyOjE5OjMzIENFU1QgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbHJlZ2V4cC5jIGluY2x1ZGUvbGlieG1sL3htbHJlZ2V4cC5oOiBwdXNoaW5nIHRoZSBmb3JtYWwgZXhwcmVzc2lvbgorCSAgaGFuZGxpbmcgY29kZSB0byBoYXZlIGl0IGluIENWcyBmcm9tIG5vdy4gTm90IHBsdWdnZWQsIGFuZCBtaXNzZXMgCisJICBBUElzIGl0J3Mgbm90IGNvbXBpbGVkIGluIHlldC4KKworU2F0IEF1ZyAyMCAyMzoxMzoyNyBDRVNUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxyZWFkZXIuYzogYXBwbGllZCBhbm90aGVyIHBhdGNoIGZyb20gUm9iIFJpY2hhcmRzIHRvIGZpeAorCSAgeG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZU5zIGFuZCB4bWxUZXh0UmVhZGVyTW92ZVRvQXR0cmlidXRlTnMKKworV2VkIEF1ZyAxNyAwOTowNjozMyBDRVNUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxyZWFkZXIuYzogYXBwbGllZCBwYXRjaCBmcm9tIFJvYiBSaWNoYXJkcyB0byBmaXggCisJICB4bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlIGJlaGF2aW91ciB3aXRoIG5hbWVzcGFjZSBkZWNsYXJhdGlvbnMKKworRnJpIEF1ZyAxMiAxNDoxMjo1NiBDRVNUIDIwMDUgS2FzaW1pZXIgQnVjaGNpayA8bGlieG1sMi1jdnNAY2F6aWMubmV0PgorCisJKiB4bWxzY2hlbWFzLmMgaW5jbHVkZS9saWJ4bWwveG1sZXJyb3IuaDoKKwkgIENoYW5nZWQgb3V0cHV0IGZvciBrZXlyZWYtbWF0Y2ggZXJyb3JzOyB0aGUgdGFyZ2V0LW5vZGUgd2lsbAorCSAgYmUgbm93IHJlcG9ydGVkIHJhdGhlciB0aGFuIHRoZSBzY29wZS1ub2RlIG9mIHRoZSBrZXlyZWYKKwkgIGRlZmluaXRpb24gLSBhbGxvd2luZyBlYXNpZXIgY2hhc2luZyBvZiBpbnN0YW5jZSBlcnJvcnMuCisJICBUaGlzIHdhcyByZXBvcnRlZCBieSBHdXkgRmFicmljZSB0byB0aGUgbWFpbGluZyBsaXN0LgorCSAgU29tZSBpbml0aWFsIHBhcnNpbmcgY29kZSBmb3Igc2NoZW1hIHJlZGVmaW5pdGlvbnMuCisJKiByZXN1bHQvc2NoZW1hcy9idWczMDM1NjZfMV8xLmVycgorCSAgcmVzdWx0L3NjaGVtYXMvYnVnMzEyOTU3XzFfMC5lcnI6IEFkYXB0ZWQgdGVzdCByZXN1bHRzIGR1ZQorCSAgdG8gdGhlIGtleXJlZiBjaGFuZ2VzLgorCitGcmkgQXVnIDEyIDEyOjE3OjUyIENFU1QgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHZhbGlkLmM6IGFwcGxpZWQgcGF0Y2ggZnJvbSBEZXJlayBQb29uIGZpeGluZyBidWcgIzMxMDY5MgorCitXZWQgQXVnIDEwIDIzOjM5OjAyIENFU1QgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbHNjaGVtYXMuYzogZml4IGZvciBidWcgIzMxMjk0NSBhcyBwb2ludGVkIGJ5IERlYW4gSGlsbCwgdGhlCisJICBjb250ZXh0IHR5cGUgd2FzIG5vdCBhbHdheXMgcHJvcGVybHkgaW5pdGlhbGl6ZWQuIAorCitXZWQgQXVnIDEwIDE4OjIxOjQxIENFU1QgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHJlbGF4bmcuYzogZml4ZWQgYnVnICMzMDczNzcgYWJvdXQgdmFsaWRhdGlvbiBvZiBjaG9pY2VzIGluCisJICBsaXN0IHZhbHVlcy4KKwkqIHRlc3QvcmVsYXhuZy8zMDczNzcqIHJlc3VsdC9yZWxheG5nLzMwNzM3NyogTWFrZWZpbGUuYW0gcnVudGVzdC5jOgorCSAgYWRkZWQgZXhhbXBsZXMgdG8gdGhlIHJlZ3Jlc3Npb24gdGVzdHMsIHByb2JsZW0gaXMgdGhhdCBzdHJlYW1pbmcKKwkgIHZlcnNpb24gZ2l2ZXMgc2xpZ2h0bHkgbW9yZSBpbmZvcm1hdGlvbnMuCisKK1dlZCBBdWcgMTAgMTU6MjU6NTMgQ0VTVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeGluY2x1ZGUuYzogZml4ZWQgYnVnICMzMDIzMDIsIG5hc3R5IGJ1dCB0aGUgZml4IGlzIHJhdGhlciBzaW1wbGUuCisKK1dlZCBBdWcgMTAgMTE6NTk6NDYgQ0VTVCAyMDA1IEthc2ltaWVyIEJ1Y2hjaWsgPGxpYnhtbDItY3ZzQGNhemljLm5ldD4KKworCSogcmVzdWx0L3NjaGVtYXMvYW55Nl8xXzAqOiBBZGRlZCBtaXNzaW5nIHRlc3QgcmVzdWx0cy4KKworVHVlIEF1ZyAgOSAyMzozNzoyMiBDRVNUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxyZWdleHAuYzogZml4ZWQgYSBkZXRlcm1pbmlzbSBkZXRlY3Rpb24gcHJvYmxlbSBleHBvc2VkIGJ5CisJICAjI290aGVyIHRlc3RzIGNvbW1pdGVkIGJ5IEthc2ltaWVyLCBhbHNvIGFkZGVkIGEgc21hbGwgc3BlZWR1cAorCSAgb2YgZGV0ZXJtaW5pc20gZGV0ZWN0aW9uLgorCSogdGVzdC9yZXN1bHRzL2FueTZfMl8wKiBhbnk4XzFfMCogYW55N18xXzIqIGFueTdfMl8yKjogYWRkZWQgCisJICB0aGUgcmVzdWx0cyB0byB0aGUgcmVncmVzc2lvbiB0ZXN0cyBub3cKKworVHVlIEF1ZyAgOSAxNTo1NDowOSBDRVNUIDIwMDUgS2FzaW1pZXIgQnVjaGNpayA8bGlieG1sMi1jdnNAY2F6aWMubmV0PgorCisJKiB0ZXN0L3NjaGVtYXMvYW55N18yLnhtbCB0ZXN0L3NjaGVtYXMvYW55Nl8yLnhzZAorCSAgdGVzdC9zY2hlbWFzL2FueThfMS54c2QgdGVzdC9zY2hlbWFzL2FueThfMC54bWw6CisJICBBZGRlZCBzb21lIG1vcmUgdGVzdHMgZm9yIGVsZW1lbnQgd2lsZGNhcmRzLgorCitUdWUgQXVnICA5IDE0OjIyOjQ3IENFU1QgMjAwNSBLYXNpbWllciBCdWNoY2lrIDxsaWJ4bWwyLWN2c0BjYXppYy5uZXQ+CisKKwkqIHhtbHNjaGVtYXMuYzogRml4ZWQgIzMxMjk1NyByZXBvcnRlZCBieSBDYXJvbCBIdW50ZXI6CisJICBzdHJlYW1pbmcgWFBhdGggc3RhdGVzIHdlcmUgbm90IHBvcHBlZCBpbiBldmVyeSBjYXNlLAorCSAgdGh1cyBmYWlsZWQgdG8gcmVzb2x2ZSBjb3JyZWN0bHkgZm9yIHN1YnNlcXVlbnQgaW5wdXQuCisJKiB0ZXN0L3NjaGVtYXMvYnVnMzEyOTU3KiByZXN1bHQvc2NoZW1hcy9idWczMTI5NTcqOgorCSAgQWRkZWQgdGhlIHRlc3Qgc3VibWl0dGVkIGJ5IENhcm9sIEh1bnRlci4KKworVHVlIEF1ZyAgOSAxMzowNzoyNyBDRVNUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxyZWdleHAuYyB4bWxzY2hlbWFzLmM6IHRyeWluZyB0byBuYWlsIGRvd24gdGhlIHJlbWFpbmluZworCSAgIyNvdGhlciBpc3N1ZXMKKwkqIHJlc3VsdC9zY2hlbWFzL2FueTcqIHRlc3Qvc2NoZW1hcy9hbnk3OiBjb21wbGV0ZWQgdGhlIHRlc3RzCisJICBhbmQgYWRkZWQgdGhlIHJlc3VsdHMKKwkqIHJlc3VsdC9zY2hlbWFzL2FueTNfMF8wLmVyciByZXN1bHQvc2NoZW1hcy9hbnk1XzBfMC5lcnIKKwkgIHJlc3VsdC9zY2hlbWFzL2FueTVfMV8wLmVycjogdGhpcyBzbGlnaHRseSBjaG5hZ2VzIHRoZSBvdXRwdXQKKwkgIGZyb20gMyBleGlzdGluZyB0ZXN0cworCitNb24gQXVnICA4IDIyOjMzOjA4IENFU1QgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIG5hbm9mdHAuYyBuYW5vaHR0cC5jIHhtbHNjaGVtYXN0eXBlcy5jOiBhcHBsaWVkIHBhdGNoIGZyb20gCisJICBNYXJjdXMgQm9lcmdlciB0byByZW1vdmUgd2FybmluZ3Mgb24gV2luZG93cy4KKworTW9uIEF1ZyAgOCAxNjo0MzowNCBDRVNUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxzYXZlLmMgaW5jbHVkZS9saWJ4bWwveG1sc2F2ZS5oOiBmaXhlZCAjMTQ1MDkyIGJ5IGFkZGluZyAKKwkgIGFuIHhtbFNhdmVPcHRpb24gdG8gb21pdCBYTUwgZGVjbGFyYXRpb24KKworTW9uIEF1ZyAgOCAxNTo0NDo1NCBDRVNUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBIVE1MdHJlZS5jOiBmaXhlZCBidWcgIzMxMDMzMyB3aXRoIGEgcGF0Y2ggY2xvc2UgdG8gdGhlIHByb3ZpZGVkCisJICBwYXRjaCBmb3IgSFRNTCBVVEYtOCBzZXJpYWxpemF0aW9uCisJKiByZXN1bHQvSFRNTC9zY3JpcHQyLmh0bWw6IHRoaXMgY2hhbmdlZCB0aGUgb3V0cHV0IG9mIHRoYXQgdGVzdAorCitNb24gQXVnICA4IDE1OjAxOjUxIENFU1QgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbHJlZ2V4cC5jOiBmaXhlZCBidWcgIzMxMDI2NCwgYmFzaWNhbGx5IGl0J3MgYWJvdXQgcmVlbnRyYW5jeQorCSAgb2YgY291bnQgYmFzZWQgdHJhbnNpdGlvbiwgd2hlbiBnb2luZyB0aG91Z2ggdGhlIGNvdW50ZXIgbXVzdAorCSAgYmUgcmVzZXQgdG8gMAorCSogdGVzdC9zY2hlbWFzL2J1ZzMxMDI2NCogcmVzdWx0L3NjaGVtYXMvYnVnMzEwMjY0KjogYWRkZWQgdGhlCisJICByZWdyZXNzaW9uIHRlc3QuCisKK01vbiBBdWcgIDggMTQ6NDA6NTIgQ0VTVCAyMDA1IEthc2ltaWVyIEJ1Y2hjaWsgPGxpYnhtbDItY3ZzQGNhemljLm5ldD4KKworCSogeG1sc2NoZW1hcy5jOiBGaXhlZCBhIG1lbW9yeSBsZWFrOiB4bWxTY2hlbWFGcmVlQW5ub3QoKSB3YXMKKwkgIG9ubHkgZnJlZWluZyB0aGUgZmlyc3QgYW5ub3RhdGlvbiBpbiB0aGUgbGlzdC4KKworTW9uIEF1ZyAgOCAwOTo0NDozNCBDRVNUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxyZWFkZXIuYzogYXBwbGllZCBwYXRjaCBmcm9tIFJvYiBSaWNoYXJkcyBmaXhpbmcKKwkgIHhtbFRleHRSZWFkZXJHZXRBdHRyaWJ1dGUKKworTW9uIEF1ZyAgOCAwMTo0MTo1MyBDRVNUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBIVE1McGFyc2VyLmM6IGZpeGVkIGFuIHVuaW5pdGlhbGl6ZWQgbWVtb3J5IGFjY2VzcyBzcG90dGVkIGJ5CisJICB2YWxncmluZAorCitTdW4gQXVnICA3IDEyOjM5OjM1IENFU1QgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHRlc3QvcmVsYXhuZy9kb2Nib29rXzAueG1sOiBnZXQgcmlkIG9mIHRoZSBkZXBlbmRhbmN5IG9uIGEgbG9jYWxseQorCSAgaW5zdGFsbGVkIERURAorCSogdXJpLmMgaW5jbHVkZS9saWJ4bWwvdXJpLmggeG1sSU8uYyBuYW5vZnRwLmMgbmFub2h0dHAuYzogdHJ5IHRvCisJICBjbGVhbnVwIHRoZSBQYXRoL1VSSSBjb252ZXJzaW9uIG1lc3MsIG5lZWRlZCBmaXhpbmcgaW4gdmFyaW91cyAKKwkgIGxheWVycyBhbmQgYSBuZXcgQVBJIHRvIHRoZSB1cmkgbW9kdWxlIHdoaWNoIGFsc28gZml4ZXMgIzMwNjg2MQorCSogcnVudGVzdC5jOiBpbnRlZ3JhdGVkIGEgcmVncmVzc2lvbiB0ZXN0IHNwZWNpZmljIHRvIGNoZWNrIHRoZQorCSAgVVJJIGNvbnZlcnNpb25zIGRvbmUgYmVmb3JlIGNhbGxpbmcgdGhlIEkvTyBoYW5kbGVycy4KKworU2F0IEF1ZyAgNiAxMTowNjoyNCBDRVNUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBkb2MvWFNMVC5odG1sIGRvYy94bWwuaHRtbDogc21hbGwgZG9jIGZpeCBmb3IgIzMxMjY0NworCitUdWUgQXVnICAyIDEzOjI2OjQyIENFU1QgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHdpbjMyL2NvbmZpZ3VyZS5qczogYXBwbGllZCBwYXRjaCBmcm9tIFJvYiBSaWNoYXJkcyB0byBhbGxvdworCSAgZGlzYWJsaW5nIG1vZHVsZXMgaW4gd2luMzIsIGZpeGVzICMzMDQwNzEKKworTW9uIEF1ZyAgMSAwNzoxODo1MyBDRVNUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBweXRob24vbGlieG1sLmM6IGFwcGxpZWQgZml4IGZyb20gSmFrdWIgUGlvdHIgQ2xhcGEgZm9yCisJICB4bWxBdHRyLnBhcmVudCgpLCBjbG9zaW5nICMzMTIxODEKKworU3VuIEp1bCAzMSAxODo0ODo1NSBDRVNUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBzY2hlbWF0cm9uLmM6IHJlcG9ydCBpbXByb3ZlbWVudAorCSogdGVzdC9zY2hlbWF0cm9uL3p2b24qIHJlc3VsdC9zY2hlbWF0cm9uL3p2b24qOiBtb3JlIHRlc3RzCisKK1N1biBKdWwgMzEgMTY6MDI6NTkgQ0VTVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogd2luMzIvTWFrZWZpbGUubXN2YyB3aW4zMi9jb25maWd1cmUuanM6IGFwcGxpZWQgcGF0Y2ggZnJvbSBSb2IKKwkgIFJpY2hhcmRzIHRvIGFkZCBzY2hlbWF0cm9uIHRvIHRoZSBidWlsZCBvbiBXaW5kb3dzCisJKiB0ZXN0L3NjaGVtYXRyb24venZvbjMqIHJlc3VsdC9zY2hlbWF0cm9uL3p2b24zKjogc2Vjb25kIHRlc3QKKwkqIHRlc3Qvc2NoZW1hdHJvbi96dm9uMTAqIHJlc3VsdC9zY2hlbWF0cm9uL3p2b24xMCo6IHRoaXMgaXMgdGhlCisJICByZWFsIHNlY29uZCB0ZXN0IDEwIGFuZCAyIGFyZSBzd2FwcGVkLgorCitTdW4gSnVsIDMxIDE1OjQyOjMxIENFU1QgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHNjaGVtYXRyb24uYzogbW9yZSBidWcgZml4ZXMsIGltcHJvdmUgdGhlIGVycm9yIHJlcG9ydGluZy4KKwkqIHRlc3Qvc2NoZW1hdHJvbi96dm9uMiogcmVzdWx0L3NjaGVtYXRyb24venZvbjIqOiBzZWNvbmQgdGVzdAorCitTdW4gSnVsIDMxIDE0OjE1OjMxIENFU1QgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHNjaGVtYXRyb24uYyB4bWxsaW50LmM6IGZpeGluZyB0aGUgbG9vcCBidWcsIGZpeGluZyBzY2hlbWF0cm9uCisJICB0ZXh0IGVycm9yIHJlbmRlcmluZworCSogTWFrZWZpbGUuYW0gcmVzdWx0L3NjaGVtYXRyb24vKiB0ZXN0L3NjaGVtYXRyb24venZvbjEqLnNjdDoKKwkgIHN0YXJ0ZWQgaW50ZWdyYXRpbmcgd2l0aGluICJtYWtlIHRlc3RzIgorCitTYXQgSnVsIDMwIDE3OjI2OjU4IEVEVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogdGVzdC9zY2hlbWF0cm9uLyo6IGEgZmV3IGZpcnN0IHRlc3RzIGZyb20gWnZvbiB1bmZvcnR1bmF0ZWx5CisJICB3aXRoIHRoZSBvbGQgc3ludGF4CisKK1NhdCBKdWwgMzAgMTc6MDg6MDcgRURUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBzY2hlbWF0cm9uLmMgeG1sbGludC5jIGluY2x1ZGUvbGlieG1sL3NjaGVtYXRyb24uaDogY29tbWl0aW5nCisJICB3b3JrIGRvbmUgb24gdGhlIHBsYW5lIGxhc3Qgd2Vlay1lbmQKKworU2F0IEp1bCAzMCAxNToxNjoyOSBDRVNUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBydW50ZXN0LmM6IGFsbG93cyBhbiBleHRyYSBhcmd1bWVudCB0byBzdWJzZXQgdGhlIHRlc3RzCisJKiB4bWxyZWdleHAuYzogYmlnIHNwZWVkdXAgZm9yIHZhbGlkYXRpb24sIGJhc2ljYWxseSBhdm9pZGVkCisJICB0cmFuc2l0aW9uIGNyZWF0aW9uIGV4cGxvc2lvbiB3aGVuIHJlbW92aW5nIGVwc2lsb24gdHJhbnNpdGlvbgorCSAgCitTYXQgSnVsIDMwIDAwOjAwOjQ2IENFU1QgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIE1ha2VmaWxlLmFtIGdsb2JhbHMuYyBwYXJzZXJJbnRlcm5hbHMuYyB4bWxyZWFkZXIuYyB4bWx1bmljb2RlLmMKKwkgIHhtbHdyaXRlci5jOiBtb3JlIGNsZWFudXBzIGJhc2VkIG9uIHNwYXJzZSByZXBvcnRzLCBhZGRlZCAKKwkgICJtYWtlIHNwYXJzZSIKKworRnJpIEp1bCAyOSAxMjoxMToyNSBDRVNUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBweXRob24vbGlieG1sLmM6IGRvbid0IG91dHB1dCBhbnkgbWVzc2FnZSBvbiBmYWlsZWQgcmVzb2x2ZXIgbG9va3VwcywKKwkgIGJldHRlciBkb25lIGJ5IHRoZSBweXRob24gdXNlciBwcm92aWRlZCByZXNvbHZlciBsYXllci4KKworRnJpIEp1bCAyOSAwMTo0ODowMiBDRVNUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBIVE1McGFyc2VyLmMgU0FYMi5jIGVuY29kaW5nLmMgZ2xvYmFscy5jIHBhcnNlci5jIHJlbGF4bmcuYworCSAgcnVuc3VpdGUuYyBydW50ZXN0LmMgc2NoZW1hdHJvbi5jIHRlc3RIVE1MLmMgdGVzdFJlYWRlci5jCisJICB0ZXN0UmVnZXhwLmMgdGVzdFNBWC5jIHRlc3RUaHJlYWRzLmMgdmFsaWQuYyB4aW5jbHVkZS5jIHhtbElPLmMKKwkgIHhtbGxpbnQuYyB4bWxtb2R1bGUuYyB4bWxzY2hlbWFzLmMgeHBhdGguYyB4cG9pbnRlci5jOiBhIGxvdCBvZiAKKwkgIHNtYWxsIGNsZWFudXBzIGJhc2VkIG9uIExpbnVzJyBzcGFyc2UgY2hlY2sgb3V0cHV0LgorCitUaHUgSnVsIDI4IDIxOjI4OjMzIENFU1QgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGluY2x1ZGUvbGlieG1sL01ha2VmaWxlLmFtOiBhZGRlZCBzY2hlbWF0cm9uLmgsIG9vcHMgLi4uCisKK1RodSBKdWwgMjggMDI6Mzg6MjEgQ0VTVCAyMDA1IEthc2ltaWVyIEJ1Y2hjaWsgPGxpYnhtbDItY3ZzQGNhemljLm5ldD4KKworCSogeG1sc2NoZW1hc3R5cGVzLmM6IEFkZGVkIGNyZWF0aW9uIG9mIHRoZSBjb250ZW50IHR5cGUgb2YKKwkgIHhzOmFueVR5cGUuIFRoaXMgaXMgbmVlZGVkIHdoZW4gdHJ5aW5nIHRvIGV4dGVuZCB4czphbnlUeXBlCisJICAoYWx0aG91Z2ggaXQgbWFrZXMgbm8gc2Vuc2UgdG8gZXh0ZW5kIGl0OyBJTUhPIHRoZSBzY2hlbWEKKwkgIHBlb3BsZSBzaG91bGQgaGF2ZSBydWxlZCB0aGlzIG91dCkuIFRoaXMgd2FzIHJlcG9ydGVkCisJICBieSBZb25nIENoZW4gdG8gdGhlIG1haWxpbmcgbGlzdC4KKwkqIHhtbHNjaGVtYXMuYzogRml4ZWQgaGFuZGxpbmcgb2YgeHM6YW55VHlwZSBpbgorCSAgeG1sU2NoZW1hQ2hlY2tDT1NDVEV4dGVuZHMoKSAocmVwb3J0ZWQgYnkgWW91bmcgQ2hlbikuIFRpbnkKKwkgIGFkanVzdG1lbnQgdG8gYW4gZXJyb3IgcmVwb3J0IG91dHB1dC4KKwkqIHRlc3Qvc2NoZW1hcy9leHRlbnNpb24yKiByZXN1bHQvc2NoZW1hcy9leHRlbnNpb24yKjoKKwkgIEFkZGVkIGEgdGVzdCBjYXNlIHByb3ZpZGVkIGJ5IFlvdW5nIENoZW4uCisKK01vbiBKdWwgMjUgMTE6NDE6MTggUERUIDIwMDUgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIHVyaS5jOiBlbmhhbmNlZCB4bWxCdWlsZFJlbGF0aXZlVVJJIHRvIGFsbG93IHRoZSBVUkkgYW5kIHRoZQorCSAgYmFzZSB0byBiZSBpbiAicmVsYXRpdmUiIGZvcm0KKworU3VuIEp1bCAyNCAxMDoyNTo0MSBFRFQgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHNjaGVtYXRyb24uYyB4bWxsaW50LmM6IHN0YXJ0ZWQgYWRkaW5nIHNjaGVtYXRyb24gdG8gdGhlIHhtbGxpbnQKKwkgIHRvb2wsIHRoZSByZXBvcnQgaW5mcmFzdHJ1Y3R1cmUgaXMgZ29ubmEgYmUgZnVuLgorCitTYXQgSnVsIDIzIDIzOjIzOjUxIENFU1QgMjAwNSBLYXNpbWllciBCdWNoY2lrIDxsaWJ4bWwyLWN2c0BjYXppYy5uZXQ+CisKKwkqIHRlc3Qvc2NoZW1hcy9hbnk2KiB0ZXN0L3NjaGVtYXMvYW55Nyo6IEFkZGVkIHJlZ3Jlc3Npb24gdGVzdHMKKwkgICh0aGV5IGZhaWwgY3VycmVudGx5KSwgYnV0IGRpZCBub3QgYWRkZWQgcmVzdWx0cyB5ZXQuCisKK1NhdCBKdWwgMjMgMjM6MDc6MDUgQ0VTVCAyMDA1IEthc2ltaWVyIEJ1Y2hjaWsgPGxpYnhtbDItY3ZzQGNhemljLm5ldD4KKworCSogeG1sc2NoZW1hcy5jOiBSZW1vdmVkIHRoZSB3b3JrYXJvdW5kIGNvZGUgaW4KKwkgIHhtbFNjaGVtYVZhbGlkYXRlRWxlbVdpbGRjYXJkKCkgZm9yIHRoZSA8YW55PiB3aWxkY2FyZAorCSAgd2l0aCBuYW1lc3BhY2UgPT0gIyNvdGhlci4gU3VwcG9ydCBmb3Igc3VjaCB3aWxkY2FyZHMgd2FzCisJICBpbXBsZW1lbnRlZCBieSBEYW5pZWwgYXQgdGhlIGF1dG9tYXRvbiBsZXZlbCByZWNlbnRseSwgYW5kCisJICB0aGUgd29ya2Fyb3VuZCBjb2RlIGl0ZXJmZXJlZCB3aXRoIGl0LgorCitTYXQgSnVsIDIzIDEwOjU1OjUwIEVEVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcGF0dGVybi5jIGluY2x1ZGUvbGlieG1sL3BhdHRlcm4uaDogY2hhbmdlZCB4bWxQYXR0ZXJuY29tcGlsZQorCSAgc2lnbmF0dXJlIHRvIHBhc3MgYW4gaW50IGFuZCBub3QgYW4gZW51bSBzaW5jZSBpdCBjYW4gZ2VuZXJhdGUKKwkgIEFCSSBjb21wYXQgdHJvdWJsZXMuCisJKiBpbmNsdWRlL2xpYnhtbC9zY2hlbWF0cm9uLmggc2NoZW1hdHJvbi5jOiBhZGRpbmcgdGhlIG5ldyAKKwkgIHNjaGVtYXRyb24gY29kZSwgd29yayBpbiBwcm9ncmVzcyBsb3RzIHRvIGJlIGxlZnQgYW5kIG5lZWRpbmcKKwkgIHRlc3RpbmcKKwkqIGluY2x1ZGUvbGlieG1sL3htbHZlcnNpb24uaC5pbiBpbmNsdWRlL2xpYnhtbC94bWx3aW4zMnZlcnNpb24uaC5pbgorCSAgTWFrZWZpbGUuYW0gY29uZmlndXJlLmluOiBpbnRlZ3JhdGlvbiBvZiBzY2hlbWF0cm9uIGludG8gdGhlCisJICBidWlsZAorCSogeHBhdGguYyBpbmNsdWRlL2xpYnhtbC94cGF0aC5oOiBhZGRpbmcgZmxhZ3MgdG8gY29udHJvbCBjb21waWxhdGlvbgorCSAgb3B0aW9ucyByaWdodCBub3cganVzdCBYTUxfWFBBVEhfQ0hFQ0tOUy4KKworU2F0IEp1bCAyMyAxNjozOTozNSBDRVNUIDIwMDUgS2FzaW1pZXIgQnVjaGNpayA8bGlieG1sMi1jdnNAY2F6aWMubmV0PgorCisJKiB4bWxzY2hlbWFzLmM6IFJlbW92ZWQgYW4gImludGVybmFsIGVycm9yIiBtZXNzYWdlIGZyb20KKwkgIHhtbFNjaGVtYUJ1aWxkQUNvbnRlbnRNb2RlbCgpIHdoZW4gYW4gZW1wdHkgbW9kZWwgZ3JvdXAKKwkgIGRlZmluaXRpb24gaXMgaGl0LgorCitTYXQgSnVsIDIzIDAwOjM0OjA3IENFU1QgMjAwNSBLYXNpbWllciBCdWNoY2lrIDxsaWJ4bWwyLWN2c0BjYXppYy5uZXQ+CisKKwkqIHBhdHRlcm4uYzogQ2hhbmdlZCB4bWxDb21waWxlU3RlcFBhdHRlcm4oKSBhbmQKKwkgIHhtbENvbXBpbGVBdHRyaWJ1dGVUZXN0KCkgdG8gaGFuZGxlIHRoZSAieG1sIiBwcmVmaXggd2l0aG91dAorCSAgY2FyaW5nIGlmIHRoZSBYTUwgbmFtZXNwYWNlIHdhcyBzdXBwbGllZCBieSB0aGUgdXNlci4KKworRnJpIEp1bCAyMiAwMDowODo0MyBDRVNUIDIwMDUgS2FzaW1pZXIgQnVjaGNpayA8bGlieG1sMi1jdnNAY2F6aWMubmV0PgorCisJKiB4bWxzY2hlbWFzLmM6IEZpeGVkIHhtbFNjaGVtYVBTaW1wbGVUeXBlRXJyKCksIHdoaWNoIGRpZCBub3QKKwkgIG91dHB1dCB0aGUgZ2l2ZW4gc3RyaW5nIGFyZ3VtZW50cyBjb3JyZWN0bHkuCisKK1RodSBKdWwgMjEgMDk6MjE6MDAgRURUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBlcnJvci5jIGdsb2JhbHMuYyBwYXJzZXIuYyBydW50ZXN0LmMgdGVzdEhUTUwuYyB0ZXN0U0FYLmMKKwkgIHRocmVhZHMuYyB2YWxpZC5jIHhtbGxpbnQuYyB4bWxyZWFkZXIuYyB4bWxzY2hlbWFzLmMgeG1sc3RyaW5nLmMKKwkgIHhtbHdyaXRlci5jIGluY2x1ZGUvbGlieG1sL3BhcnNlci5oIGluY2x1ZGUvbGlieG1sL3JlbGF4bmcuaAorCSAgaW5jbHVkZS9saWJ4bWwvdmFsaWQuaCBpbmNsdWRlL2xpYnhtbC94bWxJTy5oCisJICBpbmNsdWRlL2xpYnhtbC94bWxlcnJvci5oIGluY2x1ZGUvbGlieG1sL3htbGV4cG9ydHMuaAorCSAgaW5jbHVkZS9saWJ4bWwveG1sc2NoZW1hcy5oOiBhcHBsaWVkIGEgcGF0Y2ggZnJvbSBNYXJjdXMgQm9lcmdlcgorCSAgdG8gZml4IHByb2JsZW1zIHdpdGggY2FsbGluZyBjb252ZW50aW9ucyBvbiBXaW5kb3dzIHRoaXMgc2hvdWxkCisJICBmaXggIzMwOTc1NworCitXZWQgSnVsIDIwIDE0OjQ1OjM5IENFU1QgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlci5jOiBhbiBvcHRpbWl6YXRpb24gb2YgdGhlIGNoYXIgZGF0YSBpbm5lciBsb29wLAorCSAgY2FuIGdhaW4gdXAgdG8gMTAlIGluIHB1cmUgU0FYMiBwYXJzaW5nIHNwZWVkCisJKiB4bWxzY2hlbWFzLmM6IGFwcGxpZWQgcGF0Y2ggZnJvbSBLdXByaXlhbm92IEFuYXRvbGlqIGZpeGluZworCSAgYSBidWcgaW4gWE1MIFNjaGVtYXMgZmFjZXQgY29tcGFyaXNvbiAjMzEwODkzCisKK1R1ZSBKdWwgMTkgMTc6Mjc6MjYgQ0VTVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1scmVnZXhwLmMgeG1sc2NoZW1hcy5jOiBmaXhlZCB0aGUgZXJyb3IgcmVwb3J0aW5nIGZvcgorCSAgbm90IHRyYW5zaXRpb25zCisJKiByZXN1bHQvc2NoZW1hcy9hbnk1XzBfMCogcmVzdWx0L3NjaGVtYXMvYW55NV8wXzIqCisJICByZXN1bHQvc2NoZW1hcy9hbnk1XzFfMCo6IGZpeGVkIG91dHB1dAorCitUdWUgSnVsIDE5IDE1OjM0OjEyIENFU1QgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbHJlZ2V4cC5jIHhtbHNjaGVtYXMuYyBpbmNsdWRlL2xpYnhtbC94bWxhdXRvbWF0YS5oOiBmaXhpbmcKKwkgIGJ1ZyAjMTcyMjE1IGFib3V0IGZvcmVpZ24gbmFtZXNwYWNlcyBieSBhZGRpbmcgc3VwcG9ydCBmb3IKKwkgIG5lZ2F0ZWQgc3RyaW5nIHRyYW5zaXRpb25zLiBFcnJvciBtZXNzYWdlcyBzdGlsbCBuZWVkIHRvIGJlCisJICBpbXByb3ZlZC4KKwkqIHRlc3Qvc2NoZW1hcy9hbnk1KiByZXN1bHQvc2NoZW1hcy9hbnk1KjogYWRkaW5nIHJlZ3Jlc3Npb24KKwkgIHRlc3RzIGZvciB0aGlzLgorCitUdWUgSnVsIDE5IDEyOjMzOjMxIENFU1QgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHRyZWUuYzogYXBwbGllZCBwYXRjaCBmcm9tIEFsZXhhbmRlciBQb2hveWRhIGZpeGluZyB4bWxHZXROb2RlUGF0aAorCSAgb24gbmFtZXNwYWNlZCBhdHRyaWJ1dGVzICMzMTA0MTcuCisKK01vbiBKdWwgMTggMjM6MDE6MTUgQ0VTVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZG9jL3htbGxpbnQuMSBkb2MveG1sbGludC5odG1sIGRvYy94bWxsaW50LnhtbDogLS1ub25ldCB3YXMKKwkgIGR1Y3BsaWNhdGVkCisKK01vbiBKdWwgMTggMjA6NDk6MjggQ0VTVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sc2NoZW1hcy5jOiBmaXhlZCB4c2Q6YWxsIHdoZW4gdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoCisJICBzdWJzdGl0dXRpb24gZ3JvdXBzCisJKiB0ZXN0L3NjaGVtYXMvYWxsc2dfKiByZXN1bHQvc2NoZW1hcy9hbGxzZ18qOiBhZGRpbmcgc3BlY2lmaWMKKwkgIHJlZ3Jlc3Npb24gdGVzdHMsIHN0cmFuZ2VseSBtaXNzaW5nIGZyb20gTklTVC9TdW4vTWljcm9zb2Z0CisJICB0ZXN0c3VpdGVzCisKK1N1biBKdWwgMTcgMDc6MTE6MjcgQ0VTVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sc2NoZW1hcy5jOiBmaXhlZCBidWcgIzMwNzUwOCwgYSBiYWQgYXV0b21hdGEgd2FzIGJ1aWx0IGJ1dAorCSAgdGhpcyBzaG93ZWQgYXMgYW4gaW5kZXRlcm1pbmlzdCByZXN1bHQKKworVGh1IEp1bCAxNCAxNzo1MzowMiBDRVNUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxzY2hlbWFzdHlwZXMuYzogZm91bmQgdGhlIGxhc3QgYnVnIHJhaXNlZCBieSBOSVNUIHRlc3RzIGluCisJICBjb21wYXJpbmcgYmFzZTY0IHN0cmluZ3MsIHJlc3VsdCBmcm9tIHJ1bnN1aXRlOgorCSAgIyMgTklTVCB0ZXN0IHN1aXRlIGZvciBTY2hlbWFzIHZlcnNpb24gTklTVDIwMDQtMDEtMTQKKwkgIFJhbiAyMzE3MCB0ZXN0cyAoMzk1MyBzY2hlbWF0YSksIG5vIGVycm9ycworCitUaHUgSnVsIDE0IDE0OjU3OjM2IENFU1QgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHRlc3RSZWdleHAuYzogZml4ZWQgd2hlcmUgeG1sTWVtb3J5RHVtcCgpIHNob3VsZCBiZSBjYWxsZWQuCisJKiB4bWxyZWdleHAuYzogZml4ZWQgaGFuZGxpbmcgb2YgezB9LCBcbiwgXHIgYW5kIFx0LCB0d28gYnVncworCSAgYWZmZWN0aW5nIE5JU1QgcmVncmVzc2lvbiB0ZXN0cworCitUaHUgSnVsIDE0IDExOjMwOjI0IENFU1QgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGNvbmZpZ3VyZS5pbjogYXBwbGllZCBhIHBhdGNoIGZyb20gR2Vycml0IFAuIEhhYXNlIHRvIGFkZAorCSAgbW9kdWxlIHN1cHBvcnQgb24gY3lnd2luCisKK1RodSBKdWwgMTQgMTA6NTY6NDIgQ0VTVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogSFRNTHBhcnNlci5jOiBmaXhlZCBhIHBvdGVudGlhbCBidWZmZXIgb3ZlcnJ1biBlcnJvciBpbnRyb2R1Y2VkCisJICBvbiBsYXN0IGNvbW1pdCB0byBodG1sUGFyc2VTY3JpcHQoKSBjLmYuICMzMTAyMjkKKworVGh1IEp1bCAxNCAyMzo0ODoxNyBQRFQgMjAwNSBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogeHBhdGguYzogQ2hhbmdlZCB0aGUgYmVoYXZpb3VyIG9mIHhtbFhQYXRoRXF1YWxOb2RlU2V0RmxvYXQgdG8KKwkgIHJldHVybiBUUlVFIGlmIGEgbm9kZXNldCB3aXRoIGEgbnVtZXJpYyB2YWx1ZSBvZiBOYU4gaXMgY29tcGFyZWQKKwkgIGZvciBpbmVxdWFsaXR5IHdpdGggYW55IG51bWVyaWMgdmFsdWUgKGJ1ZyAzMDk5MTQpLgorCSAgCitUaHUgSnVsIDE0IDAxOjAzOjAzIENFU1QgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGVycm9yLmMgcmVsYXhuZy5jIHhtbHJlYWRlci5jIHhtbHNjaGVtYXMuYyBpbmNsdWRlL2xpYnhtbC9yZWxheG5nLmgKKwkgIGluY2x1ZGUvbGlieG1sL3htbHNjaGVtYXMuaDogYXBwbGllZCBwYXRjaCBmcm9tIE1hcmN1cyBCb2VyZ2VyCisJICB0byByb3V0ZSByZWxheG5nIGFuZCBzY2hlbWFzIGVycm9yIG1lc3NhZ2VzIHdoZW4gdXNpbmcgdGhlIHJlYWRlcgorCSAgdGhyb3VnaCB0aGUgc3RydWN0dXJlZCBpbnRlcmZhY2UgaWYgYWN0aXZhdGVkLgorCSogZWxmZ2NjaGFjay5oIGRvYy8qIHRlc3RhcGkuYzogcmVidWlsdCBzaW5jZSB0aGlzIGFkZCAgbmV3IEFQSXMKKwkgIHRvIHRlc3QuCisKK1dlZCBKdWwgMTMgMTg6MzU6NDcgQ0VTVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogSFRNTHBhcnNlci5jOiBhcHBsaWVkIFVURi04IHNjcmlwdCBwYXJzaW5nIGJ1ZyAjMzEwMjI5IGZpeCBmcm9tCisJICBKaXJpIE5ldG9saWNreSAKKwkqIHJlc3VsdC9IVE1ML3NjcmlwdDIuaHRtbCogdGVzdC9IVE1ML3NjcmlwdDIuaHRtbDogYWRkZWQgdGhlIHRlc3QKKwkgIGNhc2UgZnJvbSB0aGUgcmVncmVzc2lvbiBzdWl0ZQorCitUdWUgSnVsIDEyIDE3OjA4OjExIENFU1QgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIG5hbm9odHRwLmM6IGZpeGVkIGJ1ZyAjMzEwMTA1IHdpdGggaHR0cF9wcm94eSBlbnZpcm9ubWVudHMgd2l0aAorCSAgcGF0Y2ggcHJvdmlkZWQgYnkgUGV0ZXIgQnJlaXRlbmxvaG5lcgorCitNb24gSnVsIDExIDAwOjI4OjEwIENFU1QgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIE1ha2VmaWxlLmFtIE5FV1MgY29uZmlndXJlLmluIGRvYy8qOiBwcmVwYXJpbmcgcmVsZWFzZSAyLjYuMjAgCisJKiB4bWxsaW50LmM6IHJlbW92ZWQgYSBjb21waWxhdGlvbiBwcm9ibGVtCisKK1N1biBKdWwgMTAgMjM6MzM6NDEgQ0VTVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeHN0Yy9NYWtlZmlsZS5hbSBSRUFETUUgUkVBRE1FLnRlc3RzIE1ha2VmaWxlLnRlc3RzIE1ha2VmaWxlLmFtOgorCSAgcHJlcGFyaW5nIHRvIG1ha2UgdGVzdHN1aXRlIHJlbGVhc2VzIGFsb25nIHdpdGggY29kZSBzb3VyY2UgcmVsZWFzZXMKKwkqIGdlbnRlc3QucHkgdGVzdGFwaS5jOiBmaXhlZCBhIGNvdXBsZSBvZiBwcm9ibGVtIGludHJvZHVjZWQgYnkKKwkgIHRoZSBuZXcgU2NoZW1hcyBzdXBwb3J0IGZvciBSZWFkZXJzCisJKiB4cGF0aC5jOiBmaXhlZCB0aGUgWFBhdGggYXR0cmlidXRlOjogYnVnICMzMDk1ODAsICMzMDk4NjQgaW4gYSBjcnVkZQorCSAgYnV0IHNpbXBsZSB3YXkuCisJKiB4bWxzY2hlbWFzLmMgaW5jbHVkZS9saWJ4bWwvdHJlZS5oOiBmaXhlZCBhIGNvdXBsZSBvZiBwcm9ibGVtcworCSAgcmFpc2VkIGJ5IHRoZSBkb2MgYnVpbGRlci4KKwkqIGRvYy8qOiBtYWRlIHJlYnVpbGQKKworU3VuIEp1bCAxMCAyMTo1MToxNiBDRVNUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxzY2hlbWFzLmM6IGZpeGVkIGEgYnVnIGludHJvZHVjZWQgb24gbGFzdCBjb21taXQKKworU3VuIEp1bCAxMCAyMTowMDo1NCBDRVNUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBkb2MveG1sbGludC4xIGRvYy94bWxsaW50Lmh0bWwgZG9jL3htbGxpbnQueG1sOiBmaXhlZCBhIHR5cG8KKwkgIHBvaW50ZWQgYnkgSmVyb2VuIFJ1aWdyb2sKKwkqIGluY2x1ZGUvbGlieG1sL3htbHJlYWRlci5oIGluY2x1ZGUvbGlieG1sL3htbHNjaGVtYXMuaDogaW5jcmVhc2VkCisJICB0aGUgQVBJcyBmb3IgeG1sUmVhZGVyIHNjaGVtYXMgdmFsaWRhdGlvbiBzdXBwb3J0CisJKiB4bWxsaW50LmMgeG1scmVhZGVyLmMgeG1sc2NoZW1hcy5jOiB4bWxSZWFkZXIgc2NoZW1hcyB2YWxpZGF0aW9uCisJICBpbXBsZW1lbnRhdGlvbiBhbmQgdGVzdGluZyBhcyB4bWxsaW50IC0tc3RyZWFtIC0tc2NoZW1hIC4uLgorCitTdW4gSnVsIDEwIDE2OjExOjI2IENFU1QgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGluY2x1ZGUvbGlieG1sL3htbHdpbjMydmVyc2lvbi5oLmluOiB0cnkgdG8gYXZvaWQgY29uZmxpY3RzLgorCitTYXQgSnVsICA5IDE5OjI5OjEwIENFU1QgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlci5jOiBmaXggZm9yICMzMDk3NjEgZnJvbSBEeWxhbiBTaGVsbCAgCisJKiB4bWxzY2hlbWFzLmMgaW5jbHVkZS9saWJ4bWwveG1sc2NoZW1hcy5oOiBhZGRlZCB4bWxTY2hlbWFTQVhQbHVnCisJICBhbmQgeG1sU2NoZW1hU0FYVW5wbHVnIGdlbmVyaWMgQVBJcyBmb3IgU0FYIFNjaGVtYXMgdmFsaWRhdGlvbi4KKwkqIHhtbGxpbnQuYzogY291cGxlIG9mIGZpeGVzIHBsdXMgYWRkZWQgZGVzY3JpcHRpb25zIGZvciAtLXNheCBhbmQKKwkgIC0tc2F4MQorCitGcmkgSnVsICA4IDIzOjM1OjAwIENFU1QgMjAwNSBLYXNpbWllciBCdWNoY2lrIDxsaWJ4bWwyLWN2c0BjYXppYy5uZXQ+CisKKwkqIHhtbHNjaGVtYXMuYzogQWRkZWQgYy1wcm9wcy1jb3JyZWN0IGNvbnN0cmFpbnQgdG8gY2hlY2sKKwkgIGZvciBlcXVhbCBjYXJkaW5hbGl0eSBvZiBrZXlyZWYva2V5LgorCSogaW5jbHVkZS9saWJ4bWwveG1sZXJyb3IuaDogQWRkZWQgYW4gZXJyb3IgY29kZS4KKworRnJpIEp1bCAgOCAyMTo1NjowNCBDRVNUIDIwMDUgS2FzaW1pZXIgQnVjaGNpayA8bGlieG1sMi1jdnNAY2F6aWMubmV0PgorCisJKiBwYXR0ZXJuLmM6IEZpeGVkIGV2YWx1YXRpb24gb2YgYXR0cmlidXRlcy4gQWN0dWFsbHkgb25seQorCSAgYXR0cmlidXRlIGF0IHRoZSBmaXJzdCBsZXZlbCB3ZXJlIGV2YWx1YXRlZCAoZS5nLiAiQGF0dHIiKTsKKwkgIGV4cHJlc3Npb24gbGlrZSAiZm9vL0BhdHRyIiBhbHdheXMgZmFpbGVkLgorCitGcmkgSnVsICA4IDIwOjA0OjI5IENFU1QgMjAwNSBLYXNpbWllciBCdWNoY2lrIDxsaWJ4bWwyLWN2c0BjYXppYy5uZXQ+CisKKwkqIHhtbHNjaGVtYXMuYzogdGlueSBmaXggaW4geG1sU2NoZW1hVmFsaWRhdGVTdHJlYW0oKSBpZiBhCisJICB1c2VyLXByb3ZpZGVkIFNBWCBoYW5kbGVyIGlzIGdpdmVuLgorCitGcmkgSnVsICA4IDE5OjI1OjI2IENFU1QgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlci5jOiBmaXggc29tZSBwb3RlbnRpYWwgbGVha3MgaW4gZXJyb3IgY2FzZXMuCisJKiB4bWxsaW50LmM6IGFkZGVkIC0tc2F4LCB0byBhbGxvdyB0ZXN0aW5nIG9mIC0tc2NoZW1hcyAtLXNheCBhbmQKKwkgIHZhcmlvdXMgb3RoZXIgY29tYmluYXRpb25zLgorCSogeG1sc2NoZW1hcy5jOiBmaXggYSBjb3VwbGUgb2YgdGlueSBwcm9ibGVtcyBpbgorCSAgeG1sU2NoZW1hVmFsaWRhdGVTdHJlYW0oKQorCitGcmkgSnVsICA4IDE4OjM0OjIyIENFU1QgMjAwNSBLYXNpbWllciBCdWNoY2lrIDxsaWJ4bWwyLWN2c0BjYXppYy5uZXQ+CisJCisJKiB4bWxzY2hlbWFzLmM6IENoYW5nZWQgeG1sU2NoZW1hVmFsaWRhdGVGaWxlKCkgdG8gdXNlCisJICB4bWxTY2hlbWFWYWxpZGF0ZVN0cmVhbSgpIGludGVybmFsbHkuCisKK0ZyaSBKdWwgIDggMTc6MDI6MTQgQ0VTVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogdGVzdC9yZWxheG5nL2RvY2Jvb2tfMC54bWw6IGFkZGVkIHRoZSBtaXNzaW5nIGVudGl0eSB0byB0aGUKKwkgIGRvY3VtZW50IGludGVybmFsIHN1YnNldCB0byBhdm9pZCBlcnJvcnMgaWYgdGhlIERvY0Jvb2sgY2F0YWxvZ3MKKwkgIGFyZSBub3QgdGhlcmUKKwkqIHhtbHNjaGVtYXMuYzogZmlyc3QgY3V0IGF0IGltcGxlbWVudGluZyB4bWxTY2hlbWFWYWxpZGF0ZVN0cmVhbSgpCisJICB1bnRlc3RlZCB5ZXQKKworV2VkIEp1bCAgNiAxNTo0NTo0OCBQRFQgMjAwNSBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogcGFyc2VyLmM6IGZpeGVkIHByb2JsZW0gd2l0aCBmcmVlIG9uIGR1cGwgYXR0cmlidXRlIGluCisJICBkdGQgKGJ1ZzMwOTYzNykuCisJKiB0ZXN0L2Vycm9ycy9hdHRyMy54bWwsIHJlc3VsdC9lcnJvcnMvYXR0cjMuKjogYWRkZWQKKwkgIHJlZ3Jlc3Npb24gdGVzdCBmb3IgdGhpcworCitXZWQgSnVsICA2IDEzOjExOjM1IFBEVCAyMDA1IFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiB3aW4zMi9NYWtlZmlsZS5tc3ZjOiB0cnkgYWdhaW4gdG8gZml4IGZpbGUgZm9ybWF0IGZvciBXaW5kb3dzCisKK1dlZCBKdWwgIDYgMTI6MjA6MTMgUERUIDIwMDUgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIHdpbjMyL01ha2VmaWxlLm1zdmM6IHJlbW92ZWQgc3B1cmlvdXMgXk0KKwkqIHJ1bnRlc3QuYzogYWRkZWQgY2hlY2sgZm9yIG9wdGlvbiBPX0JJTkFSWQorCSogdGVzdC9zY2hlbWFzL2J1ZzMwOTMzOCosIHJlc3VsdC9zY2hlbWFzL2J1ZzMwOTMzOCo6IGNoYW5nZWQKKwkgIHN0aWNreSB0YWcgdG8gJ2JpbmFyeScKKworV2VkIEp1bCAgNiAxMDozODowMiBQRFQgMjAwNSBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogZGVidWdYTUwuYzogZXhjbHVkZWQgY29udGVudCBzdHJpbmcgY2hlY2sgZm9yIFhNTF9FTEVNRU5UX0RFQ0wKKwkgIGluIHhtbEN0eHRHZW5lcmljTm9kZUNoZWNrCisJKiBydW50ZXN0LmM6IGNoYW5nZWQgIm9wZW4iIGNhbGxzIHRvIGluY2x1ZGUgT19CSU5BUlkgZm9yIFdpbmRvd3MKKworV2VkIEp1bCAgNiAxNzoxNDowMyBDRVNUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBwYXJzZXIuYzogZml4aW5nIGJ1ZyAjMTY2Nzc3IChhbmQgIzE2OTgzOCksIGl0IHdhcyBhbiBoZXVyaXN0aWMKKwkgIGluIGFyZUJsYW5rcyB3aGljaCBmYWlsZWQuCisJKiByZXN1bHQvd2luYmxhbmtzLnhtbCogcmVzdWx0L25vZW50L3dpbmJsYW5rcy54bWwgdGVzdC93aW5ibGFua3MueG1sOgorCSAgYWRkZWQgdGhlIGlucHV0IGZpbGUgdG8gdGhlIHJlZ3Jlc3Npb24gdGVzdHMKKworV2VkIEp1bCAgNiAxMzo0MDoyMiBDRVNUIDIwMDUgS2FzaW1pZXIgQnVjaGNpayA8bGlieG1sMi1jdnNAY2F6aWMubmV0PgorCisJKiB4bWxzY2hlbWFzdHlwZXMuYzogRml4ZWQgYnVnICMzMDkzMzgsIHJlcG9ydGVkIGJ5IEt1cHJpeWFub3YKKwkgIEFub3RvbGlqLgorCSogdGVzdC9zY2hlbWFzL2J1ZzMwOTMzOCogcmVzdWx0L3NjaGVtYXMvYnVnMzA5MzM4KjoKKwkgIEFkZGVkIGEgcmVncmVzc2lvbiB0ZXN0IGZvciB0aGUgYWJvdmUgYnVnLgorCitUdWUgSnVsICA1IDE2OjAzOjA1IENFU1QgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIE1ha2VmaWxlLmFtOiBmaXJzdCBzdGVwcyB0b3dhcmQgYSB0ZXN0c3VpdGUgZGlzdAorCSogU0FYMi5jIGluY2x1ZGUvbGlieG1sL3htbGVycm9yLmg6IGZpeGVkIGJ1ZyAjMzA3ODcwCisKK1R1ZSBKdWwgIDUgMTI6Mzg6MzYgQ0VTVCAyMDA1IEthc2ltaWVyIEJ1Y2hjaWsgPGxpYnhtbDItY3ZzQGNhemljLm5ldD4KKworCSogcnVuc3VpdGUuYyBydW50ZXN0LmM6IFRpbnkgcG9ydGFiaWxpdHkgYWRqdXN0bWVudCBmb3Igd2luLgorCSogd2luMzIvTWFrZWZpbGUuKjogQWRkZWQgcnVudGVzdC5leGUgYW5kIHJ1bnN1aXRlLmV4ZSB0bworCSAgYmUgY3JlYXRlZC4KKworTW9uIEp1bCAgNCAxNzo0NDoyNiBDRVNUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBydW5zdWl0ZS5jOiBmaXJzdCBzdGIgYXQgdW5pbXBsZW1udGVkIGRldGVjdGlvbgorCSogcnVudGVzdC5jOiBmaXhpbmcgV2luZG93cyBjb2RlCisKK01vbiBKdWwgIDQgMTc6MTk6MzEgQ0VTVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcnVuc3VpdGUuYzogZml4IG9uIHNjaGVtYXMgZXJyb3IKKwkqIHJ1bnRlc3QuYzogcG9ydGFiaWxpdHkgZ2xvYigpIG9uIFdpbmRvd3MKKworTW9uIEp1bCAgNCAxNjoyMzo1NCBDRVNUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBydW5zdWl0ZS5jIHJ1bnRlc3QuYzogY2xlYW51cHMsIGxvZ2ZpbGUgYW5kIHBvcnRhYmlsaXR5CisJKiB4bWxsaW50LmM6IGZpeGVkIGEgbWVtb3J5IGxlYWsKKworTW9uIEp1bCAgNCAxMzoxMToxMiBDRVNUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBwYXJzZXIuYzogZml4ZWQgYSBidWcgZmFpbGluZyB0byBkZXRlY3QgVVRGLTggdmlvbGF0aW9ucyBpbgorCSAgQ0RhdGEgaW4gcHVzaCBtb2RlLgorCSogcmVzdWx0L2Vycm9ycy9jZGF0YS54bWwqIHRlc3QvZXJyb3JzL2NkYXRhLnhtbDogYWRkZWQgdGhlIHRlc3QKKwkgIHRvIHRoZSByZWdyZXNzaW9ucworCitNb24gSnVsICA0IDExOjI2OjU3IENFU1QgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGRlYnVnWE1MLmM6IGFkZGVkIGVuaGFuY2VtZW50IGZvciAjMzA5MDU3IGluIHhtbGxpbnQgc2hlbGwKKworTW9uIEp1bCAgNCAwMDo1ODo0NCBDRVNUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBIVE1McGFyc2VyLmM6IGFwcGxpZWQgcGF0Y2ggZnJvbSBKYW1lcyBCdXJzYSBmaXhpbmcgYW4gaHRtbCBwYXJzaW5nCisJICBidWcgaW4gcHVzaCBtb2RlCisJKiByZXN1bHQvSFRNTC9yZXBlYXQuaHRtbCogdGVzdC9IVE1ML3JlcGVhdC5odG1sOiBhZGRlZCB0aGUgdGVzdCB0byB0aGUKKwkgIHJlZ3Jlc3Npb24gc3VpdGUKKworU3VuIEp1bCAgMyAyMzo0MjozMSBDRVNUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB0ZXN0YXBpLmMgdHJlZS5jOiBmaXhpbmcgYSBsZWFrIGRldGVjdGVkIGJ5IHRlc3RhcGkgaW4gCisJICB4bWxET01XcmFwQWRvcHROb2RlLCBhbmQgZml4aW5nIGFub3RoZXIgc2lkZSBlZmZlY3QgaW4gdGVzdGFwaQorCSAgc2VlbXMgdG8gcGFzcyB0ZXN0cyBmaW5lIG5vdy4KKwkqIGluY2x1ZGUvbGlieG1sL3BhcnNlci5oIHBhcnNlci5jOiB4bWxTdG9wUGFyc2VyKCkgaXMgbm8gbW9yZSBsaW1pdGVkCisJICB0byBwdXNoIG1vZGUKKwkqIGVycm9yLmM6IHJlbW92ZSBhIHdhcm5pbmcKKwkqIHJ1bnRlc3QuYyB4bWxsaW50LmM6IGF2b2lkIGNvbXBpbGF0aW9uIGVycm9ycyBpZiBvbmx5IHNvbWUgcGFydHMKKwkgIG9mIHRoZSBsaWJyYXJ5IGFyZSBjb21waWxlZCBpbi4KKworTW9uIEp1bCAgNCAwMDozOTozNSBDRVNUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBnZW50ZXN0LnB5IHRlc3RhcGkuYzogZml4IGEgcHJvYmxlbSB3aXRoIHByZXZpb3VzIHBhdGNoIHRvCisJICB0ZXN0YXBpLmMKKworU3VuIEp1bCAgMyAyMjo1OToyOCBDRVNUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBydW5zdWl0ZS5jIHJ1bnRlc3QuYyB0cmVlLmM6IGZpeGluZyBjb21waWxhdGlvbnMgd2hlbgorCSAgZGlzYWJsaW5nIHBhcnRzIG9mIHRoZSBsaWJyYXJ5IGF0IGNvbmZpZ3VyZSB0aW1lLgorCitTdW4gSnVsICAzIDE4OjE3OjU4IENFU1QgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlckludGVybmFscy5jOiBmaXggYnVnIHJhaXNlZCBieSB6YW1leiBvbiBJUkMKKwkqIHRlc3RhcGkuYzogcmVnZW5lcmF0ZWQsIHNlZW1zIHRvIHBvcC11cCBsZWFrcyBpbiBuZXcgdHJlZSBmdW5jdGlvbnMKKwkqIHRyZWUuYzogYWRkZWQgY29tbWVudHMgbWlzc2luZy4KKwkqIGRvYy8qOiByZWdlbmVyYXRlZAorCitTdW4gSnVsICAzIDE4OjA2OjU1IENFU1QgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHRlc3RhcGkuYyBydW5zdWl0ZS5jIHJ1bnRlc3QuYzogZml4aW5nICMzMDc4MjMgYW5kIGEgY291cGxlIG9mCisJICBhc3NvcnRlZCBidWdzCisJKiBweXRob24vZ2VuZXJhdG9yLnB5IHB5dGhvbi9saWJ4bWwyLXB5dGhvbi1hcGkueG1sOiBmaXhlZCAKKwkgIGNvbmRpdGlvbmFscyBpbiBnZW5lcmF0b3IgdG9vCisJKiBkb2MvYXBpYnVpbGQucHkgZG9jL2xpYnhtbDItYXBpLnhtbCBkb2MvKiBlbGZnY2NoYWNrLmg6IHNvbWUKKwkgIGNsZWFudXBzIHRvbyBhbmQgcmVidWlsdAorCitTdW4gSnVsICAzIDE2OjQyOjAwIENFU1QgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbElPLmM6IGZpeGVkIGJ1ZyAjMzA3NTAzIG1pc3BsYWNlZCAjaWZkZWYKKworU3VuIEp1bCAgMyAxNjozNDo0NyBDRVNUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBydW5zdWl0ZS5jOiBleHBhbmRlZCB0ZXN0CisJKiB4bWxyZWdleHAuYzogZm91bmQgYW5kIGZpeGVkIHRoZSBsZWFrIGV4cG9zZWQgYnkgTWljcm9zb2Z0IHJlZ3Rlc3RzCisKK1NhdCBKdWwgIDIgMjM6Mzg6MjQgQ0VTVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcnVuc3VpdGUuYzogYSBiaXQgb2YgcHJvZ3Jlc3NlcyBvbiB4c3RjCisKK1NhdCBKdWwgIDIgMDk6MzA6MTMgQ0VTVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcnVuc3VpdGUuYzogY29tcGxldGVkIHRoZSBzaW1wbGUgY2hlY2tzIGZvciBSZWxheC1ORyBzdWl0ZXMKKwkgIGJhY2sgdG8gdGhlIHNhbWUgMTEgZXJyb3JzIGFzIGluIHRoZSBQeXRob24gcnVucy4KKworVGh1IEp1biAzMCAxNTowMTo1MiBDRVNUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBydW50ZXN0LmM6IGNvbXBsZXRlLCBjaGVja2luZyBvbiBvdGhlciBwbGF0Zm9ybXMgaXMgbmVlZGVkCisJKiBSRUFETUU6IHVwZGF0ZWQgCisJKiBkZWJ1Z1hNTC5jOiBmaXggYSBidWcgcmFpc2VkIGJ5IGJpbGwgb24gSVJDCisJKiByZWxheG5nLmM6IGZpeCBhIGxlYWsgaW4gd2VpcmQgY2lyY3Vtc3RhbmNlcworCSogcnVuc3VpdGUuYyBNYWtlZmlsZS5hbTogc3RhbmRhbG9uZSB0ZXN0IHRvb2wgYWdhaXNudAorCSAgdGhlIHJlZ3Jlc3Npb24gc3VpdGVzLCB3b3JrIGluIHByb2dyZXNzCisKK1R1ZSBKdW4gMjggMDg6MzA6MjYgQ0VTVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcnVudGVzdC5jOiBhZGRpbmcgVVJJIHRlc3RzCisKK01vbiBKdW4gMjcgMjM6NTU6NTYgQ0VTVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcnVudGVzdC5jOiBhZGRpbmcgeG1sOmlkCisKK01vbiBKdW4gMjcgMjM6Mjk6MzYgQ0VTVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcnVudGVzdC5jOiBmaW5pc2hpbmcgWFBhdGgsIGFkZGluZyBYUG9pbnRlcgorCitNb24gSnVuIDI3IDE3OjM5OjI3IENFU1QgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHJ1bnRlc3QuYzogYWRkaW5nIG1vcmUgY292ZXJhZ2UsIFhJbmNsdWRlIGFuZCBzdGFydGluZyBYUGF0aAorCitNb24gSnVuIDI3IDE3OjAyOjE0IENFU1QgMjAwNSBLYXNpbWllciBCdWNoY2lrIDxsaWJ4bWwyLWN2c0BjYXppYy5uZXQ+CisKKwkqIHRyZWUuYyBpbmNsdWRlL2xpYnhtbC90cmVlLmg6IEFkZGVkIGFsbG9jYXRpb24vZGVhbGxvY2F0aW9uCisJICBmdW5jdGlvbnMgZm9yIHRoZSBET00td3JhcHBlciBjb250ZXh0LgorCitNb24gSnVuIDI3IDE1OjQxOjMwIENFU1QgMjAwNSBLYXNpbWllciBCdWNoY2lrIDxsaWJ4bWwyLWN2c0BjYXppYy5uZXQ+CisKKwkqIHRyZWUuYzogQ29tbWVudGVkIHRoZSBuZXcgZnVuY3Rpb25zIHRvIGJlIGV4cGVyaW1lbnRhbC4KKworTW9uIEp1biAyNyAxNDo0MToxNCBDRVNUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBlcnJvci5jIHZhbGlkLmM6IHdvcmtpbmcgc29tZSB3ZWlyZCBlcnJvciByZXBvcnRpbmcgcHJvYmxlbSBmb3IKKwkgIERURCB2YWxpZGF0aW9uLgorCSogcnVudGVzdC5jOiBhdWdtZW50ZWQgd2l0aCBEVEQgdmFsaWRhdGlvbiB0ZXN0cworCSogcmVzdWx0L1ZDL09uZUlEKjogc2xpZ2h0IGNoYW5nZSBpbiB2YWxpZGF0aW9uIG91dHB1dC4KKworTW9uIEp1biAyNyAxMzo0NDo0MSBDRVNUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBydW50ZXN0LmM6IGFkZGVkIG1vc3QgSFRNTCB0ZXN0cworCitNb24gSnVuIDI3IDE0OjA2OjEwIENFU1QgMjAwNSBLYXNpbWllciBCdWNoY2lrIDxsaWJ4bWwyLWN2c0BjYXppYy5uZXQ+CisKKwkqIHRlc3QvbmFtZXNwYWNlcy9yZWNvbmNpbGUvdGVzdHMueG1sCisJICB0ZXN0L25hbWVzcGFjZXMvcmVjb25jaWxlL3Rlc3RzLXRvLWMueHNsOiBBZGRlZCBpbml0aWFsIHRlc3RzCisJICBmb3Igc29tZSBuZXcgRE9NLXdyYXBwZXIgaGVscGluZyBmdW5jdGlvbnMuCisKK01vbiBKdW4gMjcgMTQ6MDE6MDYgQ0VTVCAyMDA1IEthc2ltaWVyIEJ1Y2hjaWsgPGxpYnhtbDItY3ZzQGNhemljLm5ldD4KKworCSogeHN0Yy94c3RjLXRvLXB5dGhvbi54c2w6IENsZWFudXAuCisJKiB4c3RjL3N1bi10ZXN0LWRlZi54bWwgeHN0Yy9uaXN0LXRlc3QtZGVmLnhtbCB4c3RjL21zLXRlc3QtZGVmLnhtbDoKKwkgIFJlbW92ZWQsIHRob3NlIGFyZSBub3QgbmVlZGVkIGFueW1vcmUgZHVlIHRvIHRoZSBuZXcgdGVzdCBzdWl0ZS4KKworTW9uIEp1biAyNyAxMTozOTo1MCBDRVNUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiByZXN1bHQvKi5zYXgyIE1Ba2VmaWxlLmFtOiBhZGRlZCBTQVh2MiByZWdyZXNzaW9uIHRlc3RzIGFwcGFyZW50bHkKKwkgIG1pc3NpbmcuCisJKiBydW50ZXN0LmM6IGFkZGVkIFNBWDEvU0FYMiBjaGVja3MuCisKK01vbiBKdW4gMjcgMTI6MjQ6NTQgQ0VTVCAyMDA1IEthc2ltaWVyIEJ1Y2hjaWsgPGxpYnhtbDItY3ZzQGNhemljLm5ldD4KKworCSogdHJlZS5jIGluY2x1ZGUvbGlieG1sL3RyZWUuaDogQWRkZWQKKwkgIHhtbERPTVdyYXBSZWNvbmNpbGVOYW1lc3BhY2VzKCksIHhtbERPTVdyYXBBZG9wdE5vZGUoKSBhbmQKKwkgIHhtbERPTVdyYXBSZW1vdmVOb2RlKCkgdG8gdGhlIEFQSS4gVGhlc2UgYXJlIGZ1bmN0aW9ucyBpbnRlbmRlZAorCSAgdG8gYmUgdXNlZCB3aXRoIERPTS13cmFwcGVycy4KKworTW9uIEp1biAyNyAxMDoxNDo1NyBDRVNUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBydW50ZXN0LmM6IGNvbnRpbnVlIHRvIGluY3JlYXNlIHRoZSB0ZXN0cworCitNb24gSnVuIDI3IDA5OjIxOjQ5IENFU1QgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHJ1bnRlc3QuYzogY29udGludWUgdG8gaW5jcmVhc2UgdGhlIHRlc3RzCisKK01vbiBKdW4gMjcgMDE6MDE6MzIgQ0VTVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcnVudGVzdC5jOiBjb250aW51ZSB0byBpbmNyZWFzZSB0aGUgdGVzdHMKKworU3VuIEp1biAyNiAyMDowODoyNCBDRVNUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBpbmNsdWRlL2xpYnhtbC92YWxpZC5oIHZhbGlkLmM6IGF2b2lkIG5hbWUgZ2xvYiBpbiBhZ3J1bWVudHMgYXMKKwkgIGl0IG1hdGNoZXMgdGhlIGdsb2IoKSByb3V0aW5lLgorCSogcnVudGVzdC5jIE1ha2VmaWxlLmFtOiBmaXJzdCBzdGVwcyB0b3dhcmQgYSBDIHJlZ3Jlc3Npb24gdGVzdAorCSAgZnJhbWV3b3JrLgorCitTYXQgSnVuIDI1IDAxOjM3OjIyIFBEVCAyMDA1IFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiBjb25maWd1cmUuaW46IGZpeGVkIGEgcHJvYmxlbSB3aXRoIHRoZSBkZXRlY3Rpb24gb2YKKwkgIHNzX2ZhbWlseSBmb3IgaXBWNiwgYXMgcmVwb3J0ZWQgb24gdGhlIG1haWxpbmcgbGlzdCBieQorCSAgRG91ZyBPcmxlYW5zLgorCitUdWUgSnVuIDIxIDEwOjQ0OjM0IENFU1QgMjAwNSBLYXNpbWllciBCdWNoY2lrIDxsaWJ4bWwyLWN2c0BjYXppYy5uZXQ+CisKKwkqIHRlc3Qvc2NoZW1hcy9lbXB0eS12YWx1ZSogcmVzdWx0L3NjaGVtYXMvZW1wdHktdmFsdWUqOgorCSAgQWRkZWQgcmVncmVzc2lvbiB0ZXN0cyAoZnJvbSBEaHlhbmVzaCkuCisKK1R1ZSBKdW4gMjEgMTA6MzU6NDMgQ0VTVCAyMDA1IEthc2ltaWVyIEJ1Y2hjaWsgPGxpYnhtbDItY3ZzQGNhemljLm5ldD4KKworCSogeG1sc2NoZW1hcy5jOiBGaXhlZCBOVUxMIHZhbHVlcyB0byBiZSB2YWxpZGF0ZWQgYXMgZW1wdHkKKwkgIHN0cmluZyB2YWx1ZXMgKHJlcG9ydGVkIGJ5IERoeWFuZXNoIHRvIHRoZSBtYWlsaW5nIGxpc3QpLgorCSAgQWRqdXN0ZWQgdGV4dCBjb25jYXRlbmF0aW9uIG9mIG1peGVkIGNvbnRlbnQuCisKK01vbiBKdW4gMjAgMTg6MTE6MzIgQ0VTVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogdHJlZS5jIHZhbGlkLmM6IGFwcGxpZWQgcGF0Y2ggZnJvbSBSb2IgUmljaGFyZHMgZm9yIHJlbW92YWwKKwkgIG9mIElEIChhbmQgeG1sOmlkKQorCSogeG1scmVhZGVyLmM6IGFwcGxpZWQgcGF0Y2ggZnJvbSBKYW1lcyBXZXJ0IGltcGxlbWVudGluZyAKKwkgIHhtbFRleHRSZWFkZXJSZWFkSW5uZXJYbWwgYW5kIHhtbFRleHRSZWFkZXJSZWFkT3V0ZXJYbWwKKworVGh1IEp1biAxNiAxNDozODoyMiBDRVNUIDIwMDUgS2FzaW1pZXIgQnVjaGNpayA8bGlieG1sMi1jdnNAY2F6aWMubmV0PgorCisJKiB4bWxzY2hlbWFzLmM6IEZpeGVkIFNBWDIgdmFsaWRhdGlvbjogZ3JvdyBvZiBpbnRlcm5hbAorCSAgbmFtZXNwYWNlIGxpc3QsIGFwcGVuZGluZyBvZiBlbGVtZW50IGNoYXJhY3RlciBjb250ZW50LgorCSogeHN0Yy94c3RjLnB5OiBBZGRlZCAiLS1zYXgiIG9wdGlvbiBmb3IgU0FYMiB2YWxpZGF0aW9uLgorCitXZWQgSnVuIDE1IDE1OjM0OjUyIENFU1QgMjAwNSBLYXNpbWllciBCdWNoY2lrIDxsaWJ4bWwyLWN2c0BjYXppYy5uZXQ+CisKKwkqIHhtbHNjaGVtYXN0eXBlcy5jOiBBZGRlZCBtaXNzaW5nIGZ1bmN0aW9uIGRlc2NyaXB0aW9ucy4KKworV2VkIEp1biAxNSAxNToyNjoxNCBDRVNUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxsaW50LmM6IGlmIHNheDEgaXMgdXNlZCBhbmQgaW5wdXQgaXMgYSBmaWxlIHVzZSB0aGUgb2xkCisJICBBUEkgeG1sUGFyc2VGaWxlKCkKKwkqIHhtbHNjaGVtYXMuYzogY2xlYW51cHMKKwkqIGRvYy8qIHRlc3RhcGkuYyBlbGZnY2NoYWNrLmg6IHJlYnVpbHQgdG8gYWRkIHB5dGhvbiBiaW5kaW5ncworCSAgZm9yIHRoZSBuZXcgZnVuY3Rpb25zIGluIFNjaGVtYXMuCisKK1dlZCBKdW4gMTUgMTQ6NTA6NDggQ0VTVCAyMDA1IEthc2ltaWVyIEJ1Y2hjaWsgPGxpYnhtbDItY3ZzQGNhemljLm5ldD4KKworCSogeG1sc2NoZW1hcy5jIGluY2x1ZGUvbGlieG1sL3htbHNjaGVtYXMuaDogQWRkZWQKKwkgIHhtbFNjaGVtYVZhbGlkYXRlRmlsZSgpIHRvIHRoZSBwdWJsaWMgQVBJLiBUaGlzIHdpbGwgdXNlCisJICBTQVgyLWRyaXZlbiB2YWxpZGF0aW9uLgorCitXZWQgSnVuIDE1IDExOjExOjM4IENFU1QgMjAwNSBLYXNpbWllciBCdWNoY2lrIDxsaWJ4bWwyLWN2c0BjYXppYy5uZXQ+CisKKwkqIHJlc3VsdC9zY2hlbWFzL2J1ZzMwNjgwNl8xXzAgcmVzdWx0L3NjaGVtYXMvYnVnMzA2ODA2XzFfMC5lcnI6CisJICBBZGRlZCBzY2hlbWEgdGVzdCByZXN1bHRzIChUb20gQnJvd2RlciwgYnVnICMzMDY4MDYpLgorCitXZWQgSnVuIDE1IDExOjA4OjM0IENFU1QgMjAwNSBLYXNpbWllciBCdWNoY2lrIDxsaWJ4bWwyLWN2c0BjYXppYy5uZXQ+CisKKwkqIHRlc3Qvc2NoZW1hcy9idWczMDY4MDZfMS54c2QgdGVzdC9zY2hlbWFzL2J1ZzMwNjgwNl8wLnhtbDoKKwkgIEFkZGVkIHNjaGVtYSB0ZXN0cyBzdWJtaXR0ZWQgYnkgVG9tIEJyb3dkZXIgKGJ1ZyAjMzA2ODA2KS4KKworVHVlIEp1biAxNCAxNTowMzoyMiBQRFQgMjAwNSBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogcGF0dGVybi5jOiBhZGp1c3RlZCBsYXN0IGNoYW5nZSB0byB4bWxDb21waWxlUGF0aFBhdHRlcm4sCisJICBmaXhlZCBvbmUgY29tcGlsYXRpb24gd2FybmluZworCitUdWUgSnVuIDE0IDIxOjE5OjE2IENFU1QgMjAwNSBLYXNpbWllciBCdWNoY2lrIDxsaWJ4bWwyLWN2c0BjYXppYy5uZXQ+CisKKwkqIHBhdHRlcm4uYzogU29tZSBjaGFuZ2VzL2ZpeGVzIHRvIHRoZSBzdHJlYW1pbmcgZXZhbHVhdGlvbi4KKwkqIHhtbHNjaGVtYXMuYzogQSBiaXQgb2Ygc3VwcG9ydCBmb3IgcGFyc2luZyB0aGUgc2NoZW1hIGZvcgorCSAgc2NoZW1hLiBGaXhlZCBhdHRyaWJ1dGUgZGVyaXZhdGlvbiB3aGVuIHRoZSB1c2UgaXMKKwkgICJwcm9oaWJpdGVkIiBhbmQgd2FzICJvcHRpb25hbCIuIEZpeGVkIGFuIGF0dHJpYnV0ZSBjb25zdHJ1Y3Rpb24KKwkgIGJ1ZywgYSBsZWZ0LW92ZXIgZnJvbSB0aGUgdGltZSwgd2hlcmUgPGNvbXBsZXhDb250ZW50PiwKKwkgIDxleHRlbnNpb24+LCBldGMuIHdoZXJlIGNyZWF0ZWQgYXMgc3RydWN0cy4KKworVHVlIEp1biAxNCAxMjozNToxMiBDRVNUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBsaWJ4bWwtMi4wLnBjLmluOiByZW1vdmVkIGEgcmVkdW5kYW50IGluY2x1ZGUgcGF0aAorCitNb24gSnVuIDEzIDE0OjU4OjMzIENFU1QgMjAwNSBLYXNpbWllciBCdWNoY2lrIDxsaWJ4bWwyLWN2c0BjYXppYy5uZXQ+CisKKwkqIHhzdGMvTWFrZWZpbGUuYW06IFNvbWUgbW9yZSBhZGp1c3RtZW50cy4KKworTW9uIEp1biAxMyAxNDozNTo1OSBDRVNUIDIwMDUgS2FzaW1pZXIgQnVjaGNpayA8bGlieG1sMi1jdnNAY2F6aWMubmV0PgorCisJKiB4c3RjL01ha2VmaWxlLmFtOiBDaGFuZ2VkIHRlc3QgZXh0cmFjdGlvbiBwcm9jZXNzLCBzaW5jZSBzb21lCisJICBib3hlcyBkb24ndCBrbm93IGFib3V0ICJ0YXIgLS1zdHJpcC1wYXRoIi4KKworTW9uIEp1biAxMyAxMzozOTo0MyBDRVNUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiByZWxheG5nLmM6IGZpeGVkIGEgYnVnIGV4cG9zZWQgYnkgUm9iIFJpY2hhcmRzIGluIHRoZSBtYWlsaW5nLWxpc3QKKwkqIHJlc3VsdC8vY29tcGFyZTAqIHRlc3QvL2NvbXBhcmUwKjogYWRkZWQgdGhlIHJlZ3Jlc3Npb24gdGVzdCBpbgorCSAgdGhlIHN1aXRlIGFzIHRoaXMgd2VudCB1bm5vdGljZWQgIQorCitXZWQgSnVuICA5IDExOjA3OjQyIFBEVCAyMDA1IFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiBwYXR0ZXJuLmMsIHhwYXRoLmMsIGluY2x1ZGUvbGlieG1sL3BhdHRlcm4uaDogRnVydGhlcgorCSAgZW5oYW5jZW1lbnQgZm9yIFhQYXRoIHN0cmVhbWluZywgY29uc29saWRhdGVkIHdpdGgKKwkgIHNjaGVtYXMgdXNhZ2Ugb2YgcGF0dGVybi5jLiAgQWRkZWQgYSBuZXcgZW51bQorCSAgeG1sUGF0dGVybkZsYWdzLgorCSogZG9jLyosIHRlc3RhcGkuYywgZWxmZ2NjaGFjay5oOiB1cGRhdGVkIHRvIHJlZmxlY3QgbmV3CisJICBlbnVtLgorCSogdGVzdC9YUGF0aC90ZXN0cy9taXhlZHBhdCwgdGVzdC9YUGF0aC9kb2NzL21peGVkLAorCSAgcmVzdWx0L1hQYXRoL21peGVkcGF0OiBhZGRlZCByZWdyZXNzaW9uIHRlc3QgZm9yIHByb2JsZW1zCisJICByZXBvcnRlZCBpbiBidWczMDYzNDgKKworVGh1IEp1biAgOSAxNjo1MTozMSBDRVNUIDIwMDUgS2FzaW1pZXIgQnVjaGNpayA8bGlieG1sMi1jdnNAY2F6aWMubmV0PgorCisJKiB4bWxzY2hlbWFzdHlwZXMuYzogQ2hhbmdlZCBub24tcHJlZml4ZWQgUU5hbWVzIHRvIGJlIGJvdW5kIHRvIGEKKwkgIGRlZmF1bHQgbmFtZXNwYWNlIGlmIGV4aXN0ZW50LgorCitUaHUgSnVuICA5IDE1OjExOjM4IENFU1QgMjAwNSBLYXNpbWllciBCdWNoY2lrIDxsaWJ4bWwyLWN2c0BjYXppYy5uZXQ+CisKKwkqIHhtbHNjaGVtYXN0eXBlcy5jOiBGaXhlZCBhIGJ1ZyB3aGljaCBJIGludmVudGVkOiBoZXhCaW5hcnkncyBzdHJpbmcKKwkgIHZhbHVlcyB3ZXJlIG5vdCBkdXBsaWNhdGVkIGNvcnJlbnRseSB3aGVuIGNyZWF0aW5nIGEgY29tcHV0ZWQgdmFsdWUKKwkgIGluIHhtbFNjaGVtYVZhbEF0b21pY1R5cGUuCisKK1RodSBKdW4gIDkgMTM6MjA6NTcgQ0VTVCAyMDA1IEthc2ltaWVyIEJ1Y2hjaWsgPGxpYnhtbDItY3ZzQGNhemljLm5ldD4KKworCSogeG1sc2NoZW1hcy5jIHJlc3VsdC9zY2hlbWFzL2luY2x1ZGUxXzBfMC5lcnI6CisJICBGaXhlZCBhbiBhdHRyaWJ1dGUgZml4ZWQvZGVmYXVsdCB2YWx1ZSBjb25zdHJhaW50IGVycm9yLgorCitUaHUgSnVuICA5IDEyOjUxOjIzIENFU1QgMjAwNSBLYXNpbWllciBCdWNoY2lrIDxsaWJ4bWwyLWN2c0BjYXppYy5uZXQ+CisKKwkqIHJlc3VsdC9zY2hlbWFzLyo6IEFkYXB0ZWQgcmVncmVzc2lvbiB0ZXN0IHJlc3VsdHMuCisKK1RodSBKdW4gIDkgMTI6MjI6NDUgQ0VTVCAyMDA1IEthc2ltaWVyIEJ1Y2hjaWsgPGxpYnhtbDItY3ZzQGNhemljLm5ldD4KKworCSogeG1sc2NoZW1hcy5jIHhtbHNjaGVtYXN0eXBlcy5jIGluY2x1ZGUvbGlieG1sL3NjaGVtYXNJbnRlcm5hbHMuaAorCSAgaW5jbHVkZS9saWJ4bWwveG1sc2NoZW1hc3R5cGVzLmg6IENoYW5nZWQgdGhlIHZhbGlkYXRpb24gcHJvY2VzcworCSAgdG8gYmUgYWJsZSB0byB3b3JrIGluIHN0cmVhbWluZyBtb2RlLiBTb21lIGRhdGF0eXBlIGZpeGVzLAorCSAgZXNwZWNpYWxseSBmb3IgbGlzdCBhbmQgdW5pb24gdHlwZXMuIER1ZSB0byB0aGUgY2hhbmdlcyB0aGUKKwkgIGVycm9yIHJlcG9ydCBvdXRwdXQgaGFzIGNoYW5nZWQgaW4gbW9zdCBjYXNlcy4gSW5pdGlhbCBtaWdyYXRpb24gdG8KKwkgIGZ1bmN0aW9ucyB1c2FibGUgYnkgYm90aCwgdGhlIHBhcnNlciBhbmQgdGhlIHZhbGlkYXRvci4gVGhpcyBzaG91bGQKKwkgIGVhc2UgYSB5ZXQtdG8tY29tZSBYUyBjb25zdHJ1Y3Rpb24gQVBJIGluIHRoZSBsb25nIHRlcm0gYXMgd2VsbC4KKworVGh1IEp1biAgOSAxMDoxNjoxMSBDRVNUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBwYXJzZXIuYzogYXBwbGllZCBwYXRjaCBmcm9tIE1hbGNvbG0gUm93ZSB0byBhdm9pZCBuYW1lc3BhY2UKKwkgIHRyb3VibGVzIG9uIHJvbGxiYWNrIHBhcnNpbmcgb2YgZWxlbWVudHMgc3RhcnQgIzMwNDc2MQorCSogdGVzdC9uc2NsZWFuLnhtbCByZXN1bHQvbm9lbnQvbnNjbGVhbi54bWwgcmVzdWx0L25zY2xlYW4ueG1sKjoKKwkgIGFkZGVkIGl0IHRvIHRoZSByZWdyZXNzaW9uIHRlc3RzLgorCitUaHUgSnVuICA5IDAwOjMzOjUwIENFU1QgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlci5jIGluY2x1ZGUvbGlieG1sL3htbGVycm9yLmg6IGFwcGxpZWQgcGF0Y2ggZnJvbSBSb2IgUmljaGFyZHMKKwkgIGZvciB4bWw6c3BhY2UgYW5kIHhtbDpsYW5nIGhhbmRsaW5nIHdpdGggU0FYMiBhcGkuCisKK1dlZCBKdW4gIDggMTk6NDE6MzggQ0VTVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZ2xvYmFscy5jOiBhcHBsaWVkIHBhdGNoIGZyb20gTW9ydGVuIFdlbGluZGVyLCBjbG9zaW5nIGJ1ZyAjMzA2OTAxCisJICBvbiBjb21waWxpbmcgc3Vic2V0cyBvZiB0aGUgbGlicmFyeQorCitXZWQgSnVuICA4IDE5OjExOjQyIENFU1QgMjAwNSBLYXNpbWllciBCdWNoY2lrIDxsaWJ4bWwyLWN2c0BjYXppYy5uZXQ+CisKKwkqIHhzdGMvTWFrZWZpbGUuYW0geHN0Yy5weSB4c3RjLXRvLXB5dGhvbi54c2w6IEFkYXB0ZWQgdGhlCisJICBYUyB0ZXN0cyB0byB1c2UgdGhlIG5ldyByZWxlYXNlIG9mIHRlc3RzIGFuZCB0ZXN0LWRlZmluaXRpb25zLgorCisyMDA1LTA2LTA3ICBBbGVrc2V5IFNhbmluIDxhbGVrc2V5QGFsZWtzZXkuY29tPgorCisJKiBjMTRuLmM6IGZpeCByZW5kZXJpbmcgb2YgYXR0cmlidXRlcyB3aGVuIHBhcmVudCBub2RlCisJaXMgbm90IGluIHRoZSBub2RlIHNldAorCisyMDA1LTA2LTA2ICBBbGVrc2V5IFNhbmluIDxhbGVrc2V5QGFsZWtzZXkuY29tPgorCisJKiBjMTRuLmM6IGZpeGVkIHhtbCBhdHRyaWJ1dGVzIHByb2Nlc3NpbmcgYnVnIGluIGV4YyBjMTRuCisJKiB4bWxsaW50LmM6IGFkZGVkIC0tZXhjLWMxNG4gY29tbWFuZCBsaW5lIG9wdGlvbgorCitNb24gSnVuICA2IDA2OjQzOjMzIFBEVCAyMDA1IFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiB4cGF0aC5jLCBwYXR0ZXJuLmM6IEVuaGFuY2VkIHhtbFhQYXRoUnVuU3RyZWFtRXZhbCwgZml4ZWQKKwkgIGhhbmRsaW5nIG9mIGRlcHRoL2xldmVsIGZvciBjYXNlcyBsaWtlIHVuaW9uIG9wZXJhdG9yCisJICAoYnVnICMzMDYzNDggcmVwb3J0ZWQgYnkgQm9iIFN0YXl0b24pLiAgQWxzbyBlbmhhbmNlZAorCSAgc2V2ZXJhbCBjb21tZW50cyB0aHJvdWdob3V0IHBhdHRlcm4uYy4KKwkqIGRvYy9hcGlidWlsZC5weTogZml4ZWQgcHJvYmxlbSBpbiBoYW5kbGluZyBvZgorCSAgJ3NpZ25lZCcgZGVjbGFyYXRpb24uICBSZWJ1aWx0IHRoZSBkb2NzLgorCSAgCitUdWUgTWF5IDMxIDIwOjM1OjI3IFBEVCAyMDA1IFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiB4aW5jbHVkZS5jOiBFbmhhbmNlZCBoYW5kbGluZyBvZiB4bWw6YmFzZSBmb3IgaW5jbHVkZWQKKwkgIGVsZW1lbnRzLCBmaXhpbmcgYnVncyAxNjkyMDkgYW5kIDMwMjM1My4KKworV2VkIE1heSAyNSAxODo1OTo1MyBDRVNUIDIwMDUgS2FzaW1pZXIgQnVjaGNpayA8bGlieG1sMi1jdnNAY2F6aWMubmV0PgorCisJKiB4bWxzY2hlbWFzLmM6IEZpeGVkIGZhY2V0IGVycm9ycyB0byBiZSBjaGFubmVsbGVkIGJhY2sgZm9yCisJICB1bmlvbiB0eXBlIG1lbWJlcnM7IGZhY2V0LXZhbGlkYXRpb24gd2lsbCBzdG9wIG5vdyBvbiB0aGUKKwkgIGZpcnN0IGVycm9yLiBSZXBvcnRlZCBieSBHVVkgRmFicmljZSB0byB0aGUgbWFpbGluZy1saXN0LgorCSogeG1sc2NoZW1hc3R5cGVzLmM6IENoYW5nZWQgdG8gaWdub3JlIGxlbmdoLXJlbGF0ZWQgZmFjZXQKKwkgIHZhbGlkYXRpb24gZm9yIFFOYW1lcyBhbmQgTk9UQVRJT05zIGFzIHByb3Bvc2VkIGJ5IHRoZQorCSAgc2NoZW1hIHBlb3BsZS4KKwkqIHRlc3Qvc2NoZW1hcy91bmlvbjIqIHJlc3VsdC9zY2hlbWFzL3VuaW9uMio6IEFkZGVkCisJICByZWdyZXNzaW9uIHRlc3RzIGZvciB1bmlvbiB0eXBlcyAoYnkgR1VZIEZhYnJpY2UpLgorCitGcmkgTWF5IDIwIDIwOjQ4OjA4IENFU1QgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbHNhdmUuYzogYXBwbGllZCBwYXRjaCBmcm9tIE1hcmsgVmFrb2MgZml4aW5nIHNhdmluZyBvZgorCSAgQ0RBVEEgd2l0aCBOVUxMIGNvbnRlbnQuCisKK1RodSBNYXkgMTIgMTU6MTQ6MjYgQ0VTVCAyMDA1IEthc2ltaWVyIEJ1Y2hjaWsgPGxpYnhtbDItY3ZzQGNhemljLm5ldD4KKworCSogeG1sc2NoZW1hc3R5cGVzLmM6IENoYW5nZWQgdGhlIFZBTElEX1RaTyBtYWNybyB0byByZXN0cmljdAorCSAgdGhlIHRpbWV6b25lIHRvIC04NDAgdG8gODQwLgorCitUaHUgTWF5IDEyIDE1OjA1OjExIENFU1QgMjAwNSBLYXNpbWllciBCdWNoY2lrIDxsaWJ4bWwyLWN2c0BjYXppYy5uZXQ+CisKKwkqIHhtbHNjaGVtYXN0eXBlcy5jOiBBcHBsaWVkIHBhdGNoIGZyb20gU3RldmUgTmFpcm4gKGJ1ZyAjMzAzNjcwKQorCSAgZm9yICJzaWduZWQgaW50IiBvZiB0aGUgZGF0ZS10aW1lIHRpbWV6b25lIGZpZWxkLiBTaWxlbmNlZAorCSAgYSB3YXJuaW5nLgorCitXZWQgTWF5IDExIDIwOjA0OjA5IENFU1QgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHRyZWUuYzogYXBwbGllZCBwYXRjaCBmb3IgcmVwbGFjZU5vZGUgZnJvbSBCcmVudCBIZW5kcmlja3MKKworVHVlIE1heSAxMCAxNzoyNzo1MiBDRVNUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB0cmVlLmM6IGZpeGVkIGJ1ZyAjMzAzNjgyIG9mIGEgbGVhayByZXBvcnRlZCBieSBNYWxjb2xtIFJvd2UKKworVHVlIE1heSAxMCAxMTo1MDoxNiBDRVNUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB0ZXN0YXBpLmM6IGFwcGxpZWQgcGF0Y2ggZnJvbSBTdGV2ZSBOYWlybiB0b2YgZml4IHRoZSBjb21waWxhdGlvbgorCSAgcHJvYmxlbSBleHBvc2VkIGluIGJ1ZyAjMzAzNjQwCisKK1R1ZSBNYXkgMTAgMTE6MTE6MjYgQ0VTVCAyMDA1IEthc2ltaWVyIEJ1Y2hjaWsgPGxpYnhtbDItY3ZzQGNhemljLm5ldD4KKworCSogdGVzdC9zY2hlbWFzL2J1ZzMwMzU2Nl8xKiByZXN1bHQvc2NoZW1hcy9idWczMDM1NjZfMV8xKjoKKwkgIEFkZGVkIHJlZ3Jlc3Npb24gYSB0ZXN0IHByb3ZpZGVkIGJ5IEhlaWtvIE9iZXJkaWVrIChidWcgIzMwMzU2NikuCisKK01vbiBNYXkgIDkgMTc6NTY6NTggQ0VTVCAyMDA1IEthc2ltaWVyIEJ1Y2hjaWsgPGxpYnhtbDItY3ZzQGNhemljLm5ldD4KKworCSogcGF0dGVybi5jOiBDaGFuZ2VkIHRoZSBYUGF0aCAiLiIgdG8gcmVzb2x2ZSBvbmx5IG9uIHRoZSBmaXJzdAorCSAgbGV2ZWwgZm9yIFhNTCBTY2hlbWEgSURDcyAoYnVnICMzMDM1NjYgcmVwb3J0ZWQgYnkgSGVpa28gT2JlcmRpZWspLgorCSAgVGhpcyBzaG91bGQgbm90IGFmZmVjdCBwYXR0ZXJuLWxpa2UgcmVzb2x1dGlvbiBvbiBldmVyeSBsZXZlbC4KKworU3VuIE1heSAgOCAxMzozNTozOSBDRVNUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxtZW1vcnkuYzogZml4ZWQgIzE2OTYzMCBzZWdmYXVsdCBpbiB4bWxNZW1EaXNwbGF5CisKK0ZyaSBNYXkgIDYgMTM6NDA6MDMgQ0VTVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogbmFub2Z0cC5jOiBmaXhpbmcgYnVnICMzMDMwNjggaW5jcmVhc2luZyB0aGUgbmFub2Z0cCBidWZmZXIuCisJKiBkb2MvYXBpYnVpbGQucHk6IGZpeGVkIF9fYXR0cmlidXRlKCkgcGFyc2luZyBwcm9ibGVtCisJKiBkb2MvKiB0ZXN0YXBpLmM6IHJlZ2VuZXJhdGVkIHRoZSBkZXNjcmlwdGlvbnMgYW5kIGRvY3MuCisKK1dlZCBNYXkgIDQgMTE6MTY6MDAgQ0VTVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogTWFrZWZpbGUuYW0gY29uZmlndXJlLmluIHRocmVhZHMuYzogb24gbGludXgvZ2NjIHVzZSB3ZWFrIGRlZmluaXRpb25zCisJICB0byBhdm9pZCBsaW5raW5nIHdpdGggcHRocmVhZCBsaWJyYXJ5IG9uIG5vbi10aHJlYWRlZCBlbnZpcm9ubWVudHMuCisJKiB4cGF0aC5jOiBhcHBsaWVkIHBhdGNoIGZyb20gTWFyayBWYWtvYyB3LnIudC4gYSBidWdneSBuYW1lc3BhY2UKKwkgIGxpc3QgYWxsb2NhdGlvbi4KKworRnJpIEFwciAyOSAxMToyNzozNyBDRVNUIDIwMDUgS2FzaW1pZXIgQnVjaGNpayA8bGlieG1sMi1jdnNAY2F6aWMubmV0PgorCisJKiBwYXJzZXIuYzogRml4ZWQgYSB0ZXN0IGZvciBkdXBsaWNhdGUgYXR0cmlidXRlczogTm9uLXByZWZpeGVkCisJICBhdHRyaWJ1dGVzIHdlcmUgdHJlYXRlZCBhcyBiZWluZyBib3VuZCB0byB0aGUgZGVmYXVsdCBuYW1lc3BhY2UuCisKK1R1ZSBBcHIgMTkgMTc6NTE6MzIgQ0VTVCAyMDA1IEthc2ltaWVyIEJ1Y2hjaWsgPGxpYnhtbDItY3ZzQGNhemljLm5ldD4KKworCSogeG1sc2NoZW1hc3R5cGVzLmM6IEZpeGVkIGRhdGUtdGltZSByZWxhdGVkIHZhbGlkYXRpb24KKwkgIChyZXBvcnRlZCBieSBEYXZpZCBDcm9zc2xleSwgYnVnICMzMDA1NzYpLgorCitUdWUgQXByIDE5IDE2OjU1OjQwIENFU1QgMjAwNSBLYXNpbWllciBCdWNoY2lrIDxsaWJ4bWwyLWN2c0BjYXppYy5uZXQ+CisKKwkqIHhtbHNjaGVtYXMuYyB4bWxyZWdleHAuYzogUmVtb3ZlZCA1IHVubmVjZXNzYXJ5CisJICBkZXJlZmVyZW5jZXMgKHJlcG9ydGVkIGJ5IEFuZHJpeSwgYnVnICMzMDEwNzQpLgorCitUdWUgQXByIDE5IDIyOjMzOjE4IEhLVCAyMDA1IFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiB4cGF0aC5jOiBBZGRlZCBzb21lIGNvZGUgdG8gYXZvaWQgaW50ZWdlciBvdmVyZmxvdyBmb3IKKwkgIGNlaWwsIGZsb29yIGFuZCByb3VuZCBmdW5jdGlvbnMgKGJ1ZyAzMDExNjIpCisKK1R1ZSBBcHIgMTkgMTM6MjE6NTQgQ0VTVCAyMDA1IEthc2ltaWVyIEJ1Y2hjaWsgPGxpYnhtbDItY3ZzQGNhemljLm5ldD4KKworCSogeG1sc2NoZW1hcy5jOiBSZW1vdmVkIHdvcmthcm91bmQgZm9yIGJ1ZyAjMTcyMjE1LCBzaW5jZSBpdAorCSAgZG9lcyBtb3JlIGhhcm0gaW4gc29tZSBzY2VuYXJpb3MuIEFkZGVkIHNvbWUgb2YgdGhlCisJICAiUGFydGljbGUgUmVzdHJpY3Rpb24gT0siIGNvbnN0cmFpbnRzIC0gbm90IHlldCBlbmFibGVkLgkgIAorCitNb24gQXByIDE4IDEzOjAyOjU1IENFU1QgMjAwNSBLYXNpbWllciBCdWNoY2lrIDxsaWJ4bWwyLWN2c0BjYXppYy5uZXQ+CisKKwkqIHJlc3VsdC9zY2hlbWFzL2NoYW5nZWxvZzA5Myo6IEFkZGVkIHRlc3QgcmVzdWx0cy4KKworTW9uIEFwciAxOCAxMjo0MjoxNCBDRVNUIDIwMDUgS2FzaW1pZXIgQnVjaGNpayA8bGlieG1sMi1jdnNAY2F6aWMubmV0PgorCisJKiB4bWxzY2hlbWFzLmM6IEFkZGVkIG91dHB1dCBvZiBjYW5vbmljYWwgdmFsdWVzIGluCisJICBpZGVudGl0eS1jb25zdHJhaW50IGVycm9yIG1lc3NhZ2VzLgorCSogeG1sc2NoZW1hc3R5cGVzLmMgaW5jbHVkZS9saWJ4bWwveG1sc2NoZW1hc3R5cGVzLmg6CisJICBBZGRlZCB4bWxTY2hlbWFHZXRDYW5vblZhbHVlV2h0c3AoKSB0byB0aGUgQVBJLgorCSAgRnVydGhlciBlbmhhbmNlbWVudCBvZiB0aGUgY2Fub25pY2FsIHZhbHVlCisJICBjb252ZXJzaW9uLgorCSogdGVzdC9zY2hlbWFzL2NoYW5nZWxvZzA5M18wLio6IEFkZGVkIHRlc3Qgd2l0aCBhbiBYU0QKKwkgIHN1Ym1pdHRlZCBieSBSYW5keSBKLiBSYXkuCisKK0ZyaSBBcHIgMTUgMDk6MzM6MjEgSEtUIDIwMDUgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIHZhbGlkLmM6IEFwcGxpZWQgRGFuaWVsJ3MgZml4IGZvciBtZW1vcnkgbGVhayBpbiBkdGQKKwkgIHByZWZpeCAoYnVnIDMwMDU1MCkuCisJKiB4cGF0aC5jOiBtaW5vciBjaGFuZ2UgdG8gY29tbWVudCBvbmx5CisKK1RodSBBcHIgMTQgMjA6NTI6NDEgQ0VTVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sbWVtb3J5LmM6IGFkZGVkIHRoZSBjYWxsIHRvIHRoZSBicmVha3BvaW50IHJvdXRpbmUKKwkgIHdoZW4gYSBtb25pdG9yZWQgYmxvY2sgaXMgcmVhbGxvY2F0ZWQgb3IgZnJlZWQKKworV2VkIEFwciAxMyAwNTo1NTo1MSBDRVNUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBuYW5vaHR0cC5jOiBhcHBsaWVkIHBhdGNoIGZyb20gQXJvbiBTdGFuc3ZpayBmb3IgYnVnICMxNzI1MjUKKwkgIGFib3V0IEhUVFAgcXVlcnkgc3RyaW5nIHBhcmFtZXRlciBiZWluZyBsb3N0CisKK1R1ZSBBcHIgMTIgMDQ6MDM6MzIgQ0VTVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcHl0aG9uL2xpYnhtbC5jIHB5dGhvbi9saWJ4bWwucHk6IGFwcGxpZWQgcGF0Y2ggZnJvbSBCcmVudCBIZW5kcmlja3MKKwkgIGFkZGluZyBuYW1lc3BhY2UgcmVtb3ZhbCBhdCB0aGUgcHl0aG9uIGxldmVsICMzMDAyMDkKKwkqIHB5dGhvbi90ZXN0cy9NYWtlZmlsZS5hbSBweXRob24vdGVzdHMvbnNkZWwucHk6IGFkZGVkIHRoZSByZWdyZXNzaW9uCisJICB0ZXN0CisKK1N1biBBcHIgMTAgMDk6MDM6MjIgSEtUIDIwMDUgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIHhwYXRoLmM6IGZpeGVkIHNldmVyYWwgcGxhY2VzIHdoZXJlIG1lbW9yeSBjbGVhbnVwIHdhcyBub3QKKwkgIHByb3Blcmx5IGRvbmUgYWZ0ZXIgYW4gZXJyb3Igd2FzIGRldGVjdGVkIChwcm9ibGVtIHdhcworCSAgcmVwb3J0ZWQgb24gdGhlIG1haWxpbmcgbGlzdCBieSBQYXdlbCBQYWx1Y2hhKQorCitGcmkgQXByICA4IDIxOjU4OjA0IENFU1QgMjAwNSBLYXNpbWllciBCdWNoY2lrIDxsaWJ4bWwyLWN2c0BjYXppYy5uZXQ+CisKKwkqIHhtbHNjaGVtYXMuYzogQWRkZWQgc3Vic3RpdHV0aW9uIGdyb3VwIGNvbnN0cmFpbnRzOyBjaGFuZ2VkCisJICB0aGUgYnVpbGQgb2YgdGhlIHByZS1jb21wdXRlZCBzdWJzdGl0dXRpb24gZ3JvdXBzLiBDaGFubmVsZWQKKwkgIGVycm9ycyBkdXJpbmcgeHNpIGFzc2VtYmxpbmcgb2Ygc2NoZW1hcyB0byB0aGUgdmFsaWRhdGlvbgorCSAgY29udGV4dC4gRml4ZWQgYSBiaWcgbWVtb3J5IGxlYWssIHdoaWNoIG9jY3VyZWQgd2hlbiB1c2luZworCSAgSURDczogdGhlIHByZWNvbXB1dGVkIHZhbHVlIG9mIGF0dHJpYnV0ZXMgd2FzIG5vdCBmcmVlZCBpZgorCSAgdGhlIGF0dHJpYnV0ZSBkaWQgbm90IHJlc29sdmUgdG8gYW4gSURDIGZpZWxkIChkaXNjb3ZlcmVkCisJICB3aXRoIHRoZSBoZWxwIG9mIFJhbmR5IEouIFJheSdzIHNjaGVtYSwgcG9zdGVkIHRvIHRoZQorCSAgeG1sc2NoZW1hLWRldiBtYWxpbmcgbGlzdCkuCisKK0ZyaSBBcHIgIDggMTM6MjI6MDEgQ0VTVCAyMDA1IEthc2ltaWVyIEJ1Y2hjaWsgPGxpYnhtbDItY3ZzQGNhemljLm5ldD4KKworCSogeG1sc2NoZW1hcy5jOiBBZGRlZCAiUGFydGljbGUgY29ycmVjdCAyIiB0byBwYXJzaW5nIG9mIG1vZGVsIGdyb3Vwcy4KKwkgIEFkZGVkIGhhbmRsaW5nIHN1YnN0aXR1dGlvbiBncm91cHMgaW5zaWRlIDxjaG9pY2U+IGFuZCA8c2VxdWVuY2U+OworCSAgZm9yIDxhbGw+IHRoaXMgaXMgbm90IHN1cHBvcnRlZCB5ZXQuIENoYW5nZWQgY2lyY3VsYXIgY2hlY2tzIGZvcgorCSAgbW9kZWwgZ3JvdXBzIGRlZmluaXRpb25zLiAibWVtYmVyVHlwZXMiIGFyZSBwcm9jZXNzZWQgYXQgZGlmZmVyZW50CisJICBsZXZlbHMgbm93OiBjb21wb25lbnQgcmVzb2x1dGlvbiBmaXJzdCwgY29uc3RydWN0aW9uIGxhdGVyOyB0aGlzCisJICBnb2VzIGhhbmQgaW4gaGFuZCB3aXRoIGEgZ2xvYmFsIGNoYW5nZSB0byBoYW5kbGUgY29tcG9uZW50CisJICByZXNvbHV0aW9uIGluIGEgZGlzdGluY3QgcGhhc2UuIEZpeGVkIGludmFsaWQgZGVmYXVsdCB2YWx1ZXMgZm9yCisJICBlbGVtZW50cyB0byBtYXJrIHRoZSBzY2hlbWEgYXMgaW52YWxpZDsgdGhpcyBqdXN0IHJlc3VsdGVkIGluIGFuCisJICBlcnJvciByZXBvcnQgcHJldmlvdXNseSwgYnV0IHRoZSBzY2hlbWEgd2FzIGhhbmRsZWQgYXMgdmFsaWQuCisJICBTZXBhcmF0ZWQgdGhlIGFzc2lnbm1lbnQgb2YgdGhlIG1vZGVsIGdyb3VwcyB0byByZWZlcmVuY2luZworCSAgbW9kZWwgZ3JvdXAgZGVmaW5pdGlvbiByZWZlcmVuY2VzIChpLmUuIHBhcnRpY2xlcyk7IHRoaXMgd2FzCisJICBuZWVkZWQgdG8gcGVyZm9ybSB0aGUgY2lyY3VsYXJpdHkgY2hlY2sgZm9yIG1vZGVsIGdyb3VwIGRlZmluaXRpb25zLgorCSAgQWRkZWQgIkVsZW1lbnQgRGVjbGFyYXRpb24gUHJvcGVydGllcyBDb3JyZWN0IChlLXByb3BzLWNvcnJlY3QpIgorCSAgY29uc3RyYWludHMuIFNlcGFyYXRlZCBjb21wb25lbnQgcmVzb2x1dGlvbiBmb3Igc2ltcGxlL2NvbXBsZXgKKwkgIHR5cGVzLgorCSogaW5jbHVkZS9saWJ4bWwvc2NoZW1hc0ludGVybmFscy5oOiBBZGRlZCBhIGZsYWcgZm9yIHN1YnN0aXR1dGlvbgorCSAgZ3JvdXAgaGVhZHMuCSAgCisKK1dlZCBBcHIgIDYgMjM6MTQ6MDMgQ0VTVCAyMDA1IElnb3IgWmxhdGtvdmljIDxpZ29yQHpsYXRrb3ZpYy5jb20+CisKKwkqIHdpbjMyL01ha2VmaWxlLio6IG1ha2UgaW5zdGFsbCBjbGVhbnVwCisKK1dlZCBBcHIgIDYgMjI6NDI6MjMgQ0VTVCAyMDA1IElnb3IgWmxhdGtvdmljIDxpZ29yQHpsYXRrb3ZpYy5jb20+CisKKwkqIHdpbjMyL01ha2VmaWxlLm1pbmd3OiBmaXhlZCBtaW5ndyBjb21waWxhdGlvbgorCSogdGVzdE1vZHVsZS5jOiByZW1vdmVkIG1pbmd3IHdhcm5pbmdzCisKK1dlZCBBcHIgIDYgMjE6NTk6MTEgQ0VTVCAyMDA1IElnb3IgWmxhdGtvdmljIDxpZ29yQHpsYXRrb3ZpYy5jb20+CisKKwkqIC5jdnNpZ25vcmU6IGFkZGVkIEVjbGlwc2UgcHJvamVjdCBmaWxlcyB0byBpZ25vcmUgbGlzdAorCitXZWQgQXByICA2IDE2OjA4OjEwIENFU1QgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhwYXRoLmM6IGZpeGVkIHRoZSBidWcgaW4gbGFuZygpIGFzIHJhaXNlZCBieSBFbGxpb3R0ZSBSdXN0eSBIYXJvbGQKKwkqIHJlc3VsdC9YUGF0aC90ZXN0cy9sYW5nc2ltcGxlIHRlc3QvWFBhdGgvdGVzdHMvbGFuZ3NpbXBsZQorCSAgdGVzdC9YUGF0aC9kb2NzL2xhbmc6IGFkZGVkIGEgcmVncmVzc2lvbiB0ZXN0CisKK1R1ZSBBcHIgIDUgMjM6NDg6MzUgQ0VTVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogbmFub2Z0cC5jOiBhcHBsaWVkIGZpeCBmcm9tIFJvYiBSaWNoYXJkcyB0byBjb21waWxlIG9uIFdpbmRvd3MuCisKK1R1ZSBBcHIgIDUgMTc6MDI6NTggQ0VTVCAyMDA1IEthc2ltaWVyIEJ1Y2hjaWsgPGxpYnhtbDItY3ZzQGNhemljLm5ldD4KKworCSogeG1sc2NoZW1hcy5jOiBBZGRlZCAiVHlwZSBEZXJpdmF0aW9uIE9LIChDb21wbGV4KSIgY29uc3RyYWludHMKKwkgIGFuZCBhbmNob3JlZCB0aGVtIGluIHRoZSAiRWxlbWVudCBMb2NhbGx5IFZhbGlkIChFbGVtZW50KSIKKwkgIGNvbnN0cmFpbnRzLiBUaGlzIHJlc3RyaWN0cyB0aGUgdHlwZSBzdWJzdGl0dXRpb24gdmlhICJ4c2k6dHlwZSIuCisKK1R1ZSBBcHIgIDUgMTM6MTA6MDYgQ0VTVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sc2NoZW1hcy5jOiBwYXRjaCBmcm9tIE1hdHRoZXcgQnVyZ2VzcyB0byBpbXByb3ZlIHNvbWUgc2NoZW1hcworCSAgZmFjZXRzIHZhbGlkYXRpb24gbWVzc2FnZXMuCisKK1NhdCBBcHIgIDIgMTI6NDg6NDEgQ0VTVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZG9jLyogY29uZmlndXJlLmluIE5FV1M6IHByZXBhcmluZyByZWxlYXNlIDIuNi4xOSwgdXBkYXRlZCBkb2NzIGFuZAorCSAgcmVidWlsZGluZy4KKworU2F0IEFwciAgMiAxMzoyNzozMiBDRVNUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4c3RjL01ha2VmaWxlLmFtOiBpbnRlZ3JhdGVkIGZpeHVwLXRlc3RzLnB5CisKK0ZyaSBBcHIgIDEgMTk6MTQ6MTggQ0VTVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sc2NoZW1hc3R5cGVzLmM6IGZpeGVkIGEgbGFjayBvZiBjb21tZW50IGFuZCBtaXNzaW5nIHRlc3QgZm9yCisJICBhIHBvaW50ZXIgaW4gdGhlIEFQSS4KKworRnJpIEFwciAgMSAxNzo1NDoyMiBDRVNUIDIwMDUgS2FzaW1pZXIgQnVjaGNpayA8bGlieG1sMi1jdnNAY2F6aWMubmV0PgorCisJKiB4c3RjL2ZpeHVwLXRlc3RzLnB5OiBBIHRpbnkgc2NyaXB0IHRvIGZpeHVwIHNvbWUgb2YgdGhlIHNjaGVtYQorCSAgZmlsZXMgdXNlZCBmb3IgdGhlIHRlc3RzLgorCitGcmkgQXByICAxIDE3OjMzOjUwIENFU1QgMjAwNSBLYXNpbWllciBCdWNoY2lrIDxsaWJ4bWwyLWN2c0BjYXppYy5uZXQ+CisKKwkqIHhtbHNjaGVtYXMuYyBpbmNsdWRlL2xpYnhtbC9zY2hlbWFzSW50ZXJuYWxzLmgKKwkgIHJlc3VsdC9zY2hlbWFzL3NyYy1lbGVtZW50Mi0qLmVyciByZXN1bHQvc2NoZW1hcy9lbGVtZW50LSouZXJyOgorCSAgQ29tbWl0dGluZyBhZ2Fpbiwgc2luY2UgdGhlIENWUyBzZXJ2ZXIgYWJvcnRlZC4KKworRnJpIEFwciAgMSAxNToyOToyNyBDRVNUIDIwMDUgS2FzaW1pZXIgQnVjaGNpayA8bGlieG1sMi1jdnNAY2F6aWMubmV0PgorCisJKiB4bWxzY2hlbWFzdHlwZXMuYzogQ29ycmVjdGVkICdsZW5ndGgnIGZhY2V0IHZhbGlkYXRpb24gZm9yCisJICBRTmFtZXMgYW5kIG5vdGF0aW9ucy4gQ29ycmVjdGVkIHhtbFNjaGVtYUdldENhbm9uVmFsdWU6IHNvbWUKKwkgIGRhdGEgdHlwZXMgZGlkIG5vdCByZXR1cm4gYSB2YWx1ZSBpZiBhbHJlYWR5IGluIG5vcm1hbGl6ZWQKKwkgIGZvcm0uCisJKiB4bWxzY2hlbWFzLmMgaW5jbHVkZS9saWJ4bWwvc2NoZW1hc0ludGVybmFscy5oOgorCSAgRWxpbWluYXRlZCBjcmVhdGlvbiBvZiBzdHJ1Y3RzIGZvciA8cmVzdHJpY3Rpb24+LCA8ZXh0ZW5zaW9uPiwKKwkgIDxzaW1wbGVDb250ZW50PiwgPGNvbXBsZXhDb250ZW50PiwgPGxpc3Q+IGFuZCA8dW5pb24+OiB0aGUKKwkgIGluZm9ybWF0aW9uIGlzIG5vdyBzZXQgZGlyZWN0bHkgb24gdGhlIGNvcnJlc3BvbmRpbmcgc2ltcGxlLworCSAgY29tcGxleCB0eXBlLiBBZGRlZCBzb21lIG1vcmUgY29tcGxleCB0eXBlIGNvbnN0cmFpbnRzLgorCSAgQWRkZWQgZmFjZXQgZGVyaXZhdGlvbiBjb25zdHJhaW50cy4gSW50cm9kdWNlZCAicGFydGljbGUiCisJICBjb21wb25lbnRzLCB3aGljaCBzZWVtIHRvIGJlIHJlYWxseSBuZWVkZWQgaWYgYXBwbHlpbmcKKwkgIGNvbnN0cmFpbnRzLiBDb3JyZWN0ZWQvY2hhbmdlIHNvbWUgb2YgdGhlIHBhcnNpbmcgZnVuY3Rpb25zLgorCSAgVGhpcyBpcyBhbGwgYSBiaXQgc2NhcnksIHNpbmNlIGEgc2lnbmlmaWNhbnQgY2hhbmdlIHRvIHRoZSBjb2RlLgorCSogcmVzdWx0L3NjaGVtYXMvc3JjLWVsZW1lbnQyLSouZXJyIHJlc3VsdC9zY2hlbWFzL2VsZW1lbnQtKi5lcnI6CisJICBBZGFwdGVkIHJlZ3Jlc3Npb24gdGVzdCByZXN1bHRzLgorCitGcmkgQXByICAxIDE2OjA3OjU5IENFU1QgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGRvYy9hcGlidWlsZC5weSBkb2MvZWxmZ2NjaGFjay54c2w6IHJldmFtcGVkIHRoZSBlbGZnY2NoYWNrLmggCisJICBmb3JtYXQgdG8gY29wZSB3aXRoIGdjYzQgY2hhbmdlIG9mIGFsaWFzaW5nIGFsbG93ZWQgc2NvcGVzLCBoYWQKKwkgIHRvIGFkZCBleHRyYSBpbmZvcm1hdGlvbnMgdG8gZG9jL2xpYnhtbDItYXBpLnhtbCB0byBzZXBhcmF0ZQorCSAgdGhlIGhlYWRlciBmcm9tIHRoZSBjIG1vZHVsZSBzb3VyY2UuCisJKiAqLmM6IHVwZGF0ZWQgYWxsIGMgbGlicmFyeSBmaWxlcyB0byBhZGQgYSAjZGVmaW5lIGJvdHRvbV94eHgKKwkgIGFuZCByZWltcG9ydCBlbGZnY2NoYWNrLmggdGhlcmVhZnRlciwgYW5kIGEgYml0IG9mIGNsZWFudXBzLgorCSogZG9jLy8qIHRlc3RhcGkuYzogcmVnZW5lcmF0ZWQgd2hlbiByZWJ1aWxkaW5nIHRoZSBBUEkKKworVGh1IE1hciAzMSAxNzoyMDozMiBDRVNUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxzYXZlLmM6IGZpeGVkIGJ1ZyByZXBvcnRlZCBieSBQZXRyIFBhamFzLCBpbiB0aGUgYWJzZW5jZSBvZgorCSAgZW5jb2RpbmcgVVRGLTggc2hvdWxkIHJlYWxseSBiZSBhc3N1bWVkLiBUaGlzIG1heSBicmVhayBpZiAKKwkgIHRoZSBIVFRQIGhlYWRlcnMgaW5kaWNhdGVzIGZvciBleGFtcGxlIElTTy04ODU5LTEgc2luY2UgdGhpcworCSAgdGhlbiBiZWNvbWVzIGEgd2VsbCBmb3JtZWRuZXNzIGVycm9yLgorCitUaHUgTWFyIDMxIDE2OjU3OjE4IENFU1QgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIFNBWC5jOiBmaXhlZCAjMTcyMjYwIHJlZHVuZGFudCBhc3NpZ25tZW50LgorCSogcGFyc2VyLmMgaW5jbHVkZS9saWJ4bWwvcGFyc2VyLmg6IGZpeGVkIHhtbFNBWFBhcnNlRG9jKCkgYW5kIAorCSAgeG1sUGFyc2VEb2MoKSBzaWduYXR1cmVzICMxNzIyNTcuCisKK1RodSBNYXIgMzEgMTY6MTE6MTAgQ0VTVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcGFyc2VyLmM6IGZpeCBwb3RlbnRpYWwgY3Jhc2ggaWYgY3R4dC0+c2F4LT5pZ25vcmFibGVXaGl0ZXNwYWNlCisJICBpcyBOVUxMIGFzIHJlcG9ydGVkIGJ5IGJ1ZyAjMTcyMjU1CisKK1RodSBNYXIgMzEgMTU6MzY6NTIgQ0VTVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcmVsYXhuZy5jOiBmaXhlZCBhIHByb2JsZW0gaW4gUmVsYXgtTkcgdmFsaWRhdGlvbiAjMTU5OTY4CisJKiB0ZXN0L3JlbGF4bmcvbGlzdC4qIHJlc3VsdC9yZWxheG5nL2xpc3RfKjogYWRkZWQgdGhlIHRlc3QKKwkgIHRvIHRoZSByZWdyZXNzaW9uIHN1aXRlCisKK1RodSBNYXIgMzEgMTM6MDY6MDIgQ0VTVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcHl0aG9uL2xpYnhtbC5jOiBmaXhlZCBidWcgIzE2ODUwNAorCitUaHUgTWFyIDMxIDEyOjIyOjU0IENFU1QgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGNvbmZpZy5oLmluIGNvbmZpZ3VyZS5pbiBuYW5vZnRwLmMgbmFub2h0dHAuYyB4bWxsaW50LmMKKwkgIG1hY29zL3NyYy9jb25maWctbWFjLmg6IHVzZSBYTUxfU09DS0xFTl9UIGluc3RlYWQgb2YgU09DS0xFTl9UCisJICBzaW5jZSBhcHBhcmVudGx5IElCTSBjYW4ndCBhdm9pZCBicmVha2luZyBjb21tb24gZGVmaW5lcyAjMTY2OTIyCisKK1RodSBNYXIgMzEgMTA6NDE6NDUgQ0VTVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZW5jb2RpbmcuYzogZml4IHVuaXRpbmlhbGl6ZWQgdmFyaWFibGUgaW4gbm90IGZyZXF1ZW50bHkgdXNlZAorCSAgY29kZSBidWcgIzE3MjE4MgorCitUaHUgTWFyIDMxIDAwOjQ1OjE4IENFU1QgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHB5dGhvbi9nZW5lcmF0b3IucHkgcHl0aG9uL2xpYnhtbC5weTogYW5vdGhlciBwYXRjaCBmcm9tIEJyZW50CisJICBIZW5kcmlja3MgdG8gYWRkIG5ldyBoYW5kbGVycyB3aXRoIHRoZSB2YXJpb3VzIHZhbGlkaXR5IGNvbnRleHRzCisJKiBweXRob24vdGVzdHMvTWFrZWZpbGUuYW0gcHl0aG9uL3Rlc3RzL3ZhbGlkRFRELnB5CisJICBweXRob24vdGVzdHMvdmFsaWRSTkcucHkgcHl0aG9uL3Rlc3RzL3ZhbGlkU2NoZW1hcy5weTogYWxzbyAKKwkgIGFkZGVkIHRoZSByZWdyZXNzaW9uIHRlc3RzIGhlIHByb3ZpZGVkCisKK1dlZCBNYXIgMzAgMDk6Mzk6MjcgQ0VTVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcHl0aG9uL2dlbmVyYXRvci5weSBweXRob24vbGlieG1sLmM6IGFwcGxpZWQgcGF0Y2ggZnJvbSBCcmVudAorCSAgSGVuZHJpY2tzIHRvIGF2b2lkIGxlYWsgaW4gcHl0aG9uIGJpbmRpbmdzIHdoZW4gdXNpbmcgc2NoZW1hcworCSAgZXJyb3IgaGFuZGxlcnMuCisKK1R1ZSBNYXIgMjkgMjI6Mjk6MjggQ0VTVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogSFRNTHRyZWUuYzogZml4aW5nIGJ1ZyAxNjgxOTYsIDxhIG5hbWU9IiI+IG11c3QgYmUgVVJJIGVzY2FwZWQgdG9vCisKK1N1biBNYXIgMjcgMTM6MjQ6MjQgQ0VTVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogdHJlZS5jOiBjbGVhbnVwIG9mIHRoZSBQcm9wIHJlbGF0ZWQgZnVuY3Rpb25zIGFuZCB4bWxOZXdOb2RlRWF0TmFtZQorCSAgYnkgUm9iIFJpY2hhcmRzCisKK1RodSBNYXIgMjQgMTk6MDE6MjIgUFNUIDIwMDUgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIGdlbnRlc3QucHksIHRlc3RhcGkuYzogZml4ZWQgcHJvYmxlbSB3aXRoICdtaW5pbWFsIGxpYnJhcnknCisJICBjb21waWxhdGlvbiAoTElCWE1MX1BBVFRFUk5fRU5BQkxFRCBub3QgcHJvcGVybHkgY2hlY2tlZCkgcmVwb3J0ZWQKKwkgIGJ5IEdyZWcgTW9yZ2FuCisKK1RodSBNYXIgMjQgMTI6MDE6MzAgQ0VUIDIwMDUgS2FzaW1pZXIgQnVjaGNpayA8bGlieG1sMi1jdnNAY2F6aWMubmV0PgorCisJKiB4bWxzY2hlbWFzLmM6IEZpeGVkIGNhbGwgdG8gYSBmYWNldCBlcnJvciByZXBvcnQ6IHRoZSB0eXBlIG9mCisJICB0aGUgZXJyb3Igd2FzIHdyb25nLCByZXN1bHRpbmcgaW4gYSBzZWdmYXVsdCAoYnVnICMxNzEyMjAsIHJlcG9ydGVkCisJICBieSBHVVkgRmFicmljZSkuCisKK01vbiBNYXIgMjEgMjI6NTg6MzcgQ0VUIDIwMDUgS2FzaW1pZXIgQnVjaGNpayA8bGlieG1sMi1jdnNAY2F6aWMubmV0PgorCisJKiB4bWxzY2hlbWFzLmM6IFJlbW92ZWQgYSBzdHVwaWQgYnVnIGluIHhtbFNjaGVtYVZhbGlkYXRlQXR0cmlidXRlcywKKwkgIGZhaWxpbmcgdG8gYnVpbGQgYSBsaW5rZWQgbGlzdCBjb3JyZWN0bHkgKGJ1ZyAjMTY5ODk4LCByZXBvcnRlZAorCSAgYnkgYmluZyBzb25nLCBobW0uLi4pLgorCitNb24gTWFyIDIxIDIxOjA5OjA3IENFVCAyMDA1IEthc2ltaWVyIEJ1Y2hjaWsgPGxpYnhtbDItY3ZzQGNhemljLm5ldD4KKworCSogeG1sc2NoZW1hcy5jOiBGaXhlZCBhIHNlZ2ZhdWx0LCB3aGljaCBvY2N1cmVkIGR1cmluZyBidWJibGluZworCSAgb2YgSURDIG5vZGVzIChidWcgIzE3MDc3OSBhbmQgIzE3MDc3OCwgcmVwb3J0ZWQgYnkgR1VZIEZhYnJpY2UpOgorCSAgYSB2YXJpYWJsZSB3YXMgbWlzc2VkIHRvIGJlIHJlc2V0IGluIGEgbG9vcC4gRGVhY3RpdmF0ZWQgYnViYmxpbmcsCisJICBpZiBub3QgcmVmZXJlbmNlZCBieSBhIGtleXJlZi4KKworU3VuIE1hciAyMCAxMToxMzowMiBQU1QgMjAwNSBBbGVrc2V5IFNhbmluIDxhbGVrc2V5QGFsZWtzZXkuY29tPgorCQorCSogYzE0bi5jIGluY2x1ZGUvbGlieG1sL3htbGVycm9yLmg6IHNwZWNpYWwgY2FzZSAiREFWOiIgbmFtZXNwYWNlCisJaW4gYzE0biByZWxhdGl2ZSBuYW1lc3BhY2VzIGNoZWNrIGFuZCBhZGQgc3RydWN0dXJlZCBlcnJvciBtZXNzYWdlcworCXRvIGMxNG4gY29kZQorCitUaHUgTWFyIDE3IDEyOjU1OjIzIENFVCAyMDA1IEthc2ltaWVyIEJ1Y2hjaWsgPGxpYnhtbDItY3ZzQGNhemljLm5ldD4KKworCSogeG1sc2NoZW1hcy5jOiBSZW1vdmVkIGluaGVyaXRhbmNlIG9mICJtaXhlZCIgY29udGVudCB0eXBlIGZvcgorCSAgc2hvcnQtaGFuZCByZXN0cmljdGlvbnMgb2YgImFueVR5cGUiIChyZXBvcnRlZCBieSBHdXkgRmFicmljZQorCSAgdG8gdGhlIG1haWxpbmcgbGlzdCkuIEFkZGVkIHRoZSBuYW1lc3BhY2UgY29udmVyc2lvbiAoY2hhbWVsZW9uCisJICBpbmNsdWRlcykgZm9yIHRoZSBiYXNlIHR5cGUgcmVmZXJlbmNlIG9mIDxyZXN0cmljdGlvbj4gYW5kCisJICA8ZXh0ZW5zaW9uPi4KKwkqIHRlc3Qvc2NoZW1hcy9idWcxNTI0NzBfMS54c2Q6IEFkYXB0ZWQgZHVlIHRvIHRoZSBhYm92ZSBjaGFuZ2UKKwkgIG9mICJtaXhlZCIgaW5oZXJpdGFuY2UuCisKK1RodSBNYXIgMTcgMTE6MDM6NTkgQ0VUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxzY2hlbWFzLmM6IGZpeGVkIGEgPSAtPiA9PSBlcnJvciBwb2ludGVkIGJ5IEdVWSBGYWJyaWNlCisKK1dlZCBNYXIgMTYgMjI6NTM6NTMgQ0VUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxzY2hlbWFzLmM6IG1vcmUgZGVidWcgbWVzc2FnZXMgZnJvbSBNYXR0aGV3IEJ1cmdlc3MKKwkqIHhtbHNjaGVtYXN0eXBlcy5jOiB4bWxTY2hlbWFWYWxpZGF0ZUxlbmd0aEZhY2V0IEFQSSBtaXNzaW5nIGNoZWNrLgorCitXZWQgTWFyIDE2IDE3OjM3OjA0IENFVCAyMDA1IEthc2ltaWVyIEJ1Y2hjaWsgPGxpYnhtbDItY3ZzQGNhemljLm5ldD4KKworCSogeG1sc2NoZW1hc3R5cGVzLmM6IEFhYWFubm5kIHB1dHRpbmcgYmFjayB0aGUgcHJldmlvdXMgY2hhbmdlcyBkb25lCisJICBieSBEYW5pZWwsIHdoaWNoIEkgb3Zlcndyb3RlIHdpdGggdGhlIHByZXZpb3VzIGNvbW1pdC4KKworV2VkIE1hciAxNiAxNzoyMDoyNSBDRVQgMjAwNSBLYXNpbWllciBCdWNoY2lrIDxsaWJ4bWwyLWN2c0BjYXppYy5uZXQ+CisKKwkqIHhtbHNjaGVtYXMuYyB4bWxzY2hlbWFzdHlwZXMuYyBpbmNsdWRlL2xpYnhtbC94bWxzY2hlbWFzdHlwZXMuaDoKKwkgIEhvcGVmdWxseSBmaW5pc2hlZCB2YWxpZGF0aW9uIGFnYWluc3QgZmFjZXRzIHRvIHVzZSB0aGUgbm9ybWFsaXplZAorCSAgdmFsdWUgb2YgYm90aCwgdGhlIGZhY2V0cyBhbmQgaW5zdGFuY2UgdmFsdWVzLiBBZGRlZCAKKwkgIHhtbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXRXaHRzcCgpLCB4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0V2h0c3AoKQorCSAgYW5kIHhtbFNjaGVtYUdldFZhbFR5cGUoKSB0byB0aGUgc2NoZW1hIEFQSS4KKworV2VkIE1hciAxNiAxMzo1NTozMSBDRVQgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGxpYnhtbC5zcGVjLmluOiBkbyBub3QgcGFja2FnZSAubGEgZmlsZXMKKwkqIHhtbGxpbnQuYzogYXBwbGllZCBwYXRjaCBmcm9tIEdlcnJ5IE11cnBoeSBmb3IgeG1sbGludCByZXR1cm4gY29kZQorCSogeG1sc2NoZW1hc3R5cGVzLmM6IGZpeGVkIGEgY291cGxlIG9mIG1pc3NpbmcgdGVzdHMgb2YgcGFyYW1ldGVycworCSAgYXQgcHVibGljIEFQSSBlbnRyeSBwb2ludHMuCisKK1R1ZSBNYXIgMTUgMjM6MzE6MTQgSEtUIDIwMDUgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIHhtbHNjaGVtYXN0eXBlcy5jOiBhIGNvdXBsZSBvZiBtb3JlIGNoYW5nZXMgdG8gdmFyaW91cworCSAgZGVjaW1hbC1oYW5kbGluZyByb3V0aW5lcy4gIEZpeGVzIHB5dGhvbiBzb21lIHByb2JsZW1zCisJICB0dXJuZWQgdXAgYnkgdGhlIHB5dGhvbiB0ZXN0cy4KKwkqIE1ha2VmaWxlLmFtOiBjaGFuZ2UgU2NoZW1hc1B5dGhvblRlc3RzIG1lc3NhZ2UgdG8gd2FybgorCSAgdGhhdCB0aGVyZSBhcmUgMTAgJ2V4cGVjdGVkJyBlcnJvcnMgKHJhdGhlciB0aGFuIDYpIHNpbmNlCisJICB3ZSBub3cgcmVqZWN0IGEgJysnIHNpZ24gb24gYW4gdW5zaWduZWQuCisKK1R1ZSBNYXIgMTUgMTU6NDM6MjcgQ0VUIDIwMDUgS2FzaW1pZXIgQnVjaGNpayA8bGlieG1sMi1jdnNAY2F6aWMubmV0PgorCisJKiB4bWxzY2hlbWFzdHlwZXMuYyB4bWxzY2hlbWFzdHlwZXMuaDogSW4gcHJlcGFyYXRpb24gdG8gdXNlCisJICBub3JtYWxpemVkIHZhbHVlcyBvZiBmYWNldHMgZHVyaW5nIHZhbGlkYXRpb246IGNoYW5nZWQgdGhlCisJICBhcmd1bWVudHMgb2Ygc29tZSBzdHJpbmcgY29tcGFyaXNvbiBmdW5jdGlvbnM7IGFkZGVkIGEgc3RhdGljCisJICB4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0SW50ZXJuYWwoKSB3aXRoIG1vcmUgYXJndW1lbnRzIHRvIGJlCisJICBtb3JlIGZsZXhpYmxlLiBQcmVwYXJlZCBYTUxfU0NIRU1BX0ZBQ0VUX0VOVU1FUkFUSU9OIHZhbGlkYXRpb24KKwkgIHRvIHVzZSB0aGUgY29tcGFyaXNvbiBmdW5jdGlvbnMuIEZpeGVkIHNvbWUgYXNzaWdubWVudHMgaW4KKwkgIHhtbFNjaGVtYVZhbEF0b21pY1R5cGUoKTogdG90YWwgZGlnaXQgY291bnQsIGxvLCBtaSwgaGkuCisKK1N1biBNYXIgMTMgMTk6MzI6MDMgQ0VUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBORVdTIGNvbmZpZ3VyZS5pbiB0ZXN0YXBpLmMgZG9jLyo6IHByZXBhcmluZyByZWxlYXNlIG9mIDIuNi4xOAorCSAgdXBkYXRlZCBkb2NzIGFuZCByZWJ1aWx0CisJKiBsaWJ4bWwuc3BlYy5pbjogcmVhY3RpdmF0ZWQgZ2NjIHByb2ZpbGluZyBmb3IgZ2NjID49IDQuMC4wCisKK1NhdCBNYXIgMTIgMTk6NTA6MjIgQ0VUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBlbmNvZGluZy5jOiByZW1vdmVkIGEgc3RhdGljIGJ1ZmZlciBpbiB4bWxCeXRlQ29uc3VtZWQoKSwKKwkgIGFzIHBvaW50ZWQgYnkgQmVuIE1hdXJlciwgZml4ZXMgIzE3MDA4NgorCSogeG1sc2NoZW1hcy5jOiByZW1vdmUgYSBwb3RlbnRpYWxseSB1bmluaXRpYWxpemVkIHBvaW50ZXIgd2FybmluZworCitGcmkgTWFyIDExIDIzOjUzOjEzIEhLVCAyMDA1IFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiB4bWxzY2hlbWFzdHlwZXMuYzogZW5oYW5jZWQgdGhlIHBhcnNpbmcgb2YgWE1MX1NDSEVNQVNfREVDSU1BTAorCSAgYW5kIG11Y2ggb2YgdGhlIHJvdXRpbmUgeG1sU2NoZW1hQ29tcGFyZURlY2ltYWxzLiAgVGhlCisJICBjaGFuZ2VzIHdlcmUgbmVjZXNzYXJ5IHRvIGZpeCBhIHByb2JsZW0gcmVwb3J0ZWQgb24gdGhlCisJICBtYWlsaW5nIGxpc3QgYnkgSm9obiBIb2NrYWRheS4KKworRnJpIE1hciAxMSAxMzoyMjo1MiBDRVQgMjAwNSBLYXNpbWllciBCdWNoY2lrIDxsaWJ4bWwyLWN2c0BjYXppYy5uZXQ+CisKKwkqIHhtbHNjaGVtYXMuYzogVGhlIHNjaGVtYSBwYXJzZXIgd2lsbCBzdG9wIGlmIGNvbXBvbmVudHMgY291bGQKKwkgIG5vdCBiZSByZXNvbHZlZC4gVGhpcyBpcyBub3QgY29uZm9ybWluZyB0byB0aGUgc3BlYyBidXQgZm9yIG5vdworCSAgd2lsbCBhdm9pZCBpbnRlcm5hbCBlcnJvcnMgZHVyaW5nIHR5cGUgZml4dXAgYW5kIGNvbnRlbnQgbW9kZWwKKwkgIGNyZWF0aW9uLiBSZXN0cnVjdHVyZWQgaW5jbHVzaW9uL2ltcG9ydCBvZiBzY2hlbWF0YTogdGhpcyBhdm9pZHMKKwkgIGR1cGxpY2F0ZSwgc2VsZiBhbmQgY2lyY3VsYXIgaW5jbHVzaW9uLiBDaGFtZWxlb24gaW5jbHVkZXMgYXJlCisJICBzdGlsbCB3b3JrYXJvdW5kZWQuIEFkZGVkIHJlc3RyaWN0aW9uIHRvIGRpc2FsbG93IHJlZmVyZW5jZXMgdG8KKwkgIG5vbi1pbXBvcnRlZCBuYW1lc3BhY2VzLiBDb3JyZWN0ZWQgcGFyc2luZyBvZiA8Z3JvdXA+LgorCSogcmVzdWx0L3NjaGVtYXMvYnVnMTY3NzU0XzBfMCo6IEFkZGVkIGEgbWlzc2luZyB0ZXN0IHJlc3VsdC4KKworVGh1IE1hciAxMCAxNjowMjoxNyBDRVQgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGRvYy94bWwuaHRtbCBkb2MvZW5jb2RpbmcuaHRtbDogRW5yaWNoZWQgZW5jb2RpbmcuaHRtbCB3aXRoIG1vcmUKKwkgIGxpbmsgYW5kIGZvcmV3b3JkIHdhcm5pbmcgdG8gYXZvaWQgcHJvYmxlbSB3aXRoIGlnbm9yYW50CisJICBwcm9ncmFtbWVycywgYy5mICMxNjk3MjEKKworVGh1IE1hciAxMCAxNTowMTozNCBDRVQgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHB5dGhvbi90ZXN0cy9NYWtlZmlsZS5hbSBweXRob24vdGVzdHMvcmVhZGVybmV4dC5weTogYWRkZWQKKwkgIGEgcmVncmVzc2lvbiB0ZXN0IGZyb20gUm9iIFJpY2hhcmRzIGZvciB0aGUgcHJldmlvdXMgYnVnCisKK1RodSBNYXIgMTAgMTM6MjI6MzYgQ0VUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxyZWFkZXIuYzogYXBwbGllZCBmaXggZm9yIHhtbFRleHRSZWFkZXJOZXh0KCkgYnVnIGZyb20KKwkgIFJvYiBSaWNoYXJkcworCitUaHUgTWFyIDEwIDExOjM1OjU3IENFVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sbW9kdWxlLmM6IHNlY29uZCBwYXRjaCBmcm9tIFJpY2sgSm9uZXMsIHBvcnRhYmlsaXR5IGZpeCBmb3IKKwkgIEhQLVVYCisJKiBkb2MvZXhhbXBsZXMveHBhdGgxLmMgZG9jL2V4YW1wbGVzL3hwYXRoMi5jOiBmaXJzdCBmaXggZnJvbSBSaWNrIEpvbmVzCisJICB0byBhdm9pZCB3YXJuaW5ncy4KKworVGh1IE1hciAxMCAxMDoyMDoyMyBDRVQgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGluY2x1ZGUvbGlieG1sL2hhc2guaCBsaWJ4bWwuaCBsaWJ4bWwuc3BlYy5pbjogc29tZSBnY2M0IHBvcnRhYmlsaXR5CisJICBwYXRjaGVzLCBpbmNsdWRpbmcgYSBzZXJpb3VzIGFsaWFzaW5nIGJ1ZyBleHBvc2VkIGluIHMzOTAgCisJICB3aGVuIHRyeWluZyB0byBjb252ZXJ0IGRhdGEgcG9pbnRlciB0byBjb2RlIHBvaW50ZXIuCisKK01vbiBNYXIgIDcgMTg6MzQ6MDAgQ0VUIDIwMDUgS2FzaW1pZXIgQnVjaGNpayA8bGlieG1sMi1jdnNAY2F6aWMubmV0PgorCisJKiB4bWxzY2hlbWFzLmM6IFRpbnkgcmVzdHJ1Y3R1cmluZyBvZiB0aGUgdmFsaWRhdGlvbiBzdGFydC11cAorCSAgZnVuY3Rpb25zLiBBZGRlZCBjbGVhbnVwIG9mIHRoZSB2YWxpZGF0aW9uIGNvbnRleHQgYXQgdGhlCisJICBlbmQgb2YgdmFsaWRhdGlvbi4gVGhpcyB0YWtlcyBjYXJlIG9mIHRoZSB2YWxpZGF0aW9uIGNvbnRleHQKKwkgIGJlaW5nIHJldXNlZC4KKworTW9uIE1hciAgNyAxMjoxMjowMSBDRVQgMjAwNSBLYXNpbWllciBCdWNoY2lrIDxsaWJ4bWwyLWN2c0BjYXppYy5uZXQ+CisKKwkqIHhtbHNjaGVtYXN0eXBlcy5jOiBUaW55IGNoYW5nZXMgaW4gdGhlIGNvbXBhcmlzb24gZnVuY3Rpb25zCisJICBJIGZvcmdvdCB0byBjb21taXQgbGFzdCB0aW1lLgorCitGcmkgTWFyICA0IDIyOjUxOjQyIENFVCAyMDA1IEthc2ltaWVyIEJ1Y2hjaWsgPGxpYnhtbDItY3ZzQGNhemljLm5ldD4KKworCSogeG1sc2NoZW1hcy5jOiBBZGRlZCBJREMgdmFsaWRhdGlvbiBvZiBhbnlTaW1wbGVUeXBlIGF0dHJpYnV0ZQorCSAgdmFsdWVzOyBhbnl3YXkgdGhlIElEQyBrZXkgY29tcGFyaXNvbiBpcyByZXN0cmljdGVkIHRvCisJICBhbnlTaW1wbGVUeXBlIDwtLT4gc3RyaW5nIGJhc2VkIHR5cGVzLiBGb3Igb3RoZXIgdHlwZXMgd2UKKwkgIHdvdWxkIHBvc3NpYmx5IG5lZWQgdGhlIGNhbm9uaWNhbCBsZXhpY2FsIHJlcHJlc2VudGF0aW9uIG9mCisJICB0aGVtOyB0aGlzIHNvdW5kcyBub3QgcGVyZm9ybWFudCwgc2luY2Ugd2Ugd291bGQgbmVlZCB0bworCSAgYnVpbGQgc3VjaCBhIHJlcHJlc2VudGF0aW9uIGVhY2ggdGltZSB3ZSB3YW50IHRvIGNvbXBhcmUgYWdhaW5zdAorCSAgYW55U2ltcGxlVHlwZS4gVE9ETzogdGhpbmsgYWJvdXQgYnVmZmVyaW5nIHRoZSBjYW5vbmljYWwgdmFsdWVzCisJICBzb21ld2hlcmUuIEZpeGVkIGVycm9yIHJlcG9ydHMgZm9yIGRlZmF1bHQgYXR0cmlidXRlcyB0byB3b3JrCisJICB3aXRob3V0IGEgbm9kZSBiZWluZyBzcGVjaWZpZWQuIFRoaXMgYWxsIGFuZCB0aGUgZW5hYmxpbmcgb2YgSURDCisJICB2YWxpZGF0aW9uIGZpeGVzIGJ1ZyAjMTY1MzQ2IChyZXBvcnRlZCBieSBCZW5vaXQgR3I/Z29pcmUgLSBjb3VsZAorCSAgbm90IHJlYWQgaGlzIGxhc3QgbmFtZSBjb3JyZWN0bHkgZnJvbSBidWd6aWxsYSkuCisKK0ZyaSBNYXIgIDQgMTg6NTc6NDQgQ0VUIDIwMDUgS2FzaW1pZXIgQnVjaGNpayA8bGlieG1sMi1jdnNAY2F6aWMubmV0PgorCisJKiB4bWxzY2hlbWFzLmM6IEVuYWJsZWQgSURDIHBhcnNpbmcgYW5kIHZhbGlkYXRpb24uCisJKiB4bWxzY2hlbWFzdHlwZXMuYyBpbmNsdWRlL2xpYnhtbC94bWxzY2hlbWFzdHlwZXMuaDogCisJICBBZGRlZCB4bWxTY2hlbWFDb3B5VmFsdWUgdG8gdGhlIEFQSTsgdGhpcyB3YXMgZG9uZSBkdWUgdG8KKwkgIHZhbGlkYXRpb24gb2YgZGVmYXVsdCBhdHRyaWJ1dGVzIGFnYWluc3QgSURDczogc2luY2UgSURDIGtleXMKKwkgIGNvbnN1bWUgdGhlIHByZWNvbXB1dGVkIHZhbHVlLCBvbmUgbmVlZHMgYSBjb3B5LgorCSogcGF0dGVybi5jOiBFbmFibGVkIElEQyBzdXBwb3J0OyB0aGlzIGlzIGN1cnJlbnRseSBkb25lCisJICB2aWEgY2FsbGluZyB4bWxQYXR0ZXJuY29tcGlsZSB3aXRoIGEgZmxhZyBhcmcgb2YgMS4KKworV2VkIE1hciAgMiAxMTo0NToxOCBDRVQgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIE1ha2VmaWxlLmFtIGRvYy9leGFtcGxlcy9NYWtlZmlsZS5hbSBweXRob24vdGVzdHMvTWFrZWZpbGUuYW0KKwkgIHhzdGMvTWFrZWZpbGUuYW06IHRyeSB0byBmaXggYSBwcm9ibGVtIHdpdGggdmFsZ3JpbmQuCisJKiBweXRob24vZ2VuZXJhdG9yLnB5IHB5dGhvbi9saWJ4bWwuYyBweXRob24vdGVzdHMvTWFrZWZpbGUuYW0KKwkgIHB5dGhvbi90ZXN0cy90c3RtZW0ucHk6IGFwcGxpZWQgbWVtb3J5IGxlYWsgZml4IGZyb20gQnJlbnQgSGVuZHJpY2tzCisJICBjLmYuIGJ1ZyAjMTY1MzQ5CisKK01vbiBGZWIgMjggMTE6MTg6MjQgQ0VUIDIwMDUgS2FzaW1pZXIgQnVjaGNpayA8bGlieG1sMi1jdnNAY2F6aWMubmV0PgorCisJKiB0cmVlLmM6IENoYW5nZWQgeG1sU2VhcmNoTnNCeUhyZWYgdG8gY2FsbCB4bWxOc0luU2NvcGUgd2l0aAorCSAgdGhlIHByZWZpeCBpbnN0ZWFkIG9mIHRoZSBuYW1lc3BhY2UgbmFtZS4KKwkqIHRlc3Qvc2NoZW1hcy9hbm5vdC1lcnJfMC54c2QgdGVzdC9zY2hlbWFzL2VsZW1lbnQtZXJyXzAueHNkOgorCSAgQWRhcHRlZCBpbnZhbGlkIHZhbHVlcyBvZiB0aGUgImlkIiBhdHRyaWJ1dGUsIHNpbmNlIHRoZXkgYXJlCisJICB2YWxpZGF0ZWQgbm93LgorCitGcmkgRmViIDI1IDA4OjMxOjE2IENFVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogdGhyZWFkcy5jOiBuZXcgdmVyc2lvbiB3aXRoIGZpeGVzIGZyb20gUm9iIFJpY2hhcmRzCisKK1RodSBGZWIgMjQgMTY6Mzc6NTEgQ0VUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB0aHJlYWRzLmM6IGFwcGxpZWQgcGF0Y2ggZnJvbSBSaWNoIFNhbHogZm9yIG11bHRpdGhyZWFkaW5nIG9uCisJICBXaW5kb3dzLgorCitXZWQgRmViIDIzIDE1OjA0OjQ2IENFVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sd3JpdGVyLmM6IGFwcGxpZWQgYSBwYXRjaCBmcm9tIFJvYiBSaWNoYXJkcyBmaXhpbmcgYSBjb3VwbGUKKwkgIG9mIGJ1Z3MgaW4gdGhlIHdyaXRlcgorCitNb24gRmViIDIxIDIxOjUxOjAzIEhLVCAyMDA1IFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiB4bWxzYXZlLmM6IGZpeGVkIHByb2JsZW0gd2hlbiBYTUxMSU5UX0lOREVOVCB3YXMgZW1wdHkgKGJ1ZyAxNjgwMzMpLgorCSogeHBhdGguYzogZml4ZWQgY29tcGlsYXRpb24gd2FybmluZywgbm8gY2hhbmdlIHRvIGxvZ2ljLgorCSogeG1sc2NoZW1hc3R5cGVzLmM6IGZpeGVkIGNvbXBpbGF0aW9uIHdhcm5pbmcsIG5vIGNoYW5nZSB0byBsb2dpYy4KKworTW9uIEZlYiAyMSAxNDo0ODoyNyBDRVQgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbHdyaXRlci5jOiBhcHBsaWVkIHBhdGNoIGZyb20gUm9iIFJpY2hhcmRzIHRvIGZpeCBhIHByb2JsZW0gd2l0aAorCSAgeG1sVGV4dFdyaXRlclN0YXJ0QXR0cmlidXRlTlMKKworTW9uIEZlYiAyMSAxMTo0MTo0MSBDRVQgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhdHRlcm4uYyB4cGF0aC5jOiBmaXhlZCByZW1haW5pbmcga25vd24gYnVncyBpbiB0aGUgWFBhdGggc3RyZWFtaW5nLAorCSAgYW5kIHN3aXRjaGVkIFhQYXRoIHRvIHVzZSBpdCBieSBkZWZhdWx0IHdoZW4gcG9zc2libGUKKworU2F0IEZlYiAxOSAxOToyNToxNCBDRVQgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbHNjaGVtYXN0eXBlcy5jOiBhIGJpdCBvZiBjbGVhbnVwCisJKiBlbGZnY2NoYWNrLmggdGVzdGFwaS5jIGRvYy8qOiByZWJ1aWx0IHRoZSBBUEkgdGhlIHRlc3RzIGFuZAorCSAgdGhlIGRvY3VtZW50YXRpb24gYXMgYSByZXN1bHQuCisKK0ZyaSBGZWIgMTggMjA6MzQ6MDMgQ0VUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxyZWFkZXIuYyBpbmNsdWRlL2xpYnhtbC94bWxyZWFkZXIuaDogYXBwbGllZCBwYXRjaCBmcm9tCisJICBBcm9uIFN0YW5zdmlrIHRvIGFkZCB4bWxUZXh0UmVhZGVyQnl0ZUNvbnN1bWVkKCkKKwkqIHRlc3RSZWFkZXIuYzogYWRkZWQgYSB0ZXN0IG9wdGlvbgorCSogeG1sc2NoZW1hc3R5cGVzLmM6IGZpeCBhIGxhY2sgb2YgcG9pbnRlciBjaGVja2luZyBpbiBBUElzCisKK0ZyaSBGZWIgMTggMTI6NDE6MTAgQ0VUIDIwMDUgS2FzaW1pZXIgQnVjaGNpayA8bGlieG1sMi1jdnNAY2F6aWMubmV0PgorCisJKiB0ZXN0L3NjaGVtYXMvYnVnMTY3NzU0XzAqOiBBZGRlZCB0aGUgcmVncmVzc2lvbiB0ZXN0IG9mIEZyYW5zCisJICBFbmdsaWNoIGZvciBidWcgIzE2Nzc1NC4KKworRnJpIEZlYiAxOCAxMjozMTo0OSBDRVQgMjAwNSBLYXNpbWllciBCdWNoY2lrIDxsaWJ4bWwyLWN2c0BjYXppYy5uZXQ+CisKKwkqIHhtbHNjaGVtYXMuYzogU3RhcnRlZCBzdXBwb3J0IGZvciBJREMgcmVzb2x1dGlvbiB0byBkZWZhdWx0CisJICBhdHRyaWJ1dGVzLiBJZiBidWlsZGluZyB0aGUgY29udGVudCBtb2RlbCBmb3IgPGFsbD46IGVuc3VyZWQKKwkgIHRvIHB1dCBlbGVtZW50IGRlY2xhcmF0aW9ucyBhbmQgbm90IHRoZSBwYXJ0aWNsZXMgaW50byB0aGUKKwkgIGNvbnRlbnQgbW9kZWwgYXV0b21hdG9uICh0aGlzIHdhcyBidWcgIzE2Nzc1NCwgcmVwb3J0ZWQgYnkKKwkgIEZyYW5zIEVuZ2xpY2gpLgorCitUaHUgRmViIDE3IDIyOjMxOjU4IENFVCAyMDA1IEthc2ltaWVyIEJ1Y2hjaWsgPGxpYnhtbDItY3ZzQGNhemljLm5ldD4KKworCSogcGF0dGVybi5jIHBhdHRlcm4uaDogU29tZSBleHBlcmltZW50YWwgYWRkaXRpb24gZm9yIHBhcnNpbmcKKwkgIG9mIGV4cHJlc3Npb25zIGFuZCBzdHJlYW1hYmxlIHZhbGlkYXRpb24uCisJICBBZGRlZCB4bWxTdHJlYW1QdXNoQXR0ciB0byB0aGUgQVBJLgorCitUaHUgRmViIDE3IDE5OjU3OjM1IENFVCAyMDA1IEthc2ltaWVyIEJ1Y2hjaWsgPGxpYnhtbDItY3ZzQGNhemljLm5ldD4KKworCSogeG1sc2NoZW1hcy5jOiBBZGRlZCB2YWxpZGF0aW9uIGZvciB0aGUgYXR0cmlidXRlICJpZCIgaW4gdGhlCisJICBzY2hlbWF0YTsgZG9pbmcgdGhpcyBuZWVkZWQgZXJyb3IgcmVwb3J0IGZpeGVzIGZvciBub3RhdGlvbnMsCisJICBmYWNldHMgYW5kIGdyb3VwLiBDaGFuZ2VkIE5PVEFUSU9OIHZhbGlkYXRpb24gdG8gd29yayB3aXRoIHRoZQorCSAgZGVjbGFyZWQgTk9UQVRJT05zIGluIHRoZSBzY2hlbWE7IHRoaXMgZG9lcyBoYXZlIG5vIGltcGFjdCBvbgorCSAgdGhlIHZhbGlkYXRpb24gdmlhIHRoZSByZWxheG5nIG1vZHVsZS4KKwkqIHhtbHNjaGVtYXN0eXBlcy5jIGluY2x1ZGUvbGlieG1sL3htbHNjaGVtYXN0eXBlcy5oOgorCSAgQWRkZWQgeG1sU2NoZW1hTmV3Tk9UQVRJT05WYWx1ZSB0byB0aGUgQVBJIHRvIGJlIGFibGUgdG8gZG8KKwkgIHRoZSBOT1RBVElPTiB2YWxpZGF0aW9uIGRlc2NyaWJlZCBhYm92ZS4KKwkqIHRlc3Qvc2NoZW1hcy9lbGVtZW50LWVycl8wLnhzZCB0ZXN0L3NjaGVtYXMvYW5ub3QtZXJyXzAueHNkOgorCSAgRml4ZWQgdGhlIHZhbHVlcyBvZiB0aGUgImlkIiBhdHRyaWJ1dGVzLCB3aGljaCB3ZXJlIG5vdCB2YWxpZGF0ZWQKKwkgIHByZXZpb3VzbHkuICAKKworVGh1IEZlYiAxNyAxMjowMzo0NiBDRVQgMjAwNSBLYXNpbWllciBCdWNoY2lrIDxsaWJ4bWwyLWN2c0BjYXppYy5uZXQ+CisKKwkqIHhtbHNjaGVtYXMuYzogRml4ZWQgY29tcGFyaXNvbiBmb3IgZGVmYXVsdC9maXhlZCBhdHRyaWJ1dGUKKwkgIHZhbHVlcywgaWYgdGhlIHR5cGUgd2FzICd4c2Q6c3RyaW5nJy4gQ2hhbmdlZCB0aGUgY29tcGFyaXNvbgorCSAgZm9yIElEQ3MgdG8gdXNlIHRoZSB3aGl0ZXNwYWNlIGF3YXJlIGNvbXBhcmlzb24gZnVuY3Rpb24uCisJKiB4bWxzY2hlbWFzdHlwZXMuYyBpbmNsdWRlL2xpYnhtbC94bWxzY2hlbWFzdHlwZXMuaDoKKwkgIEFkZGVkIHhtbFNjaGVtYUdldENhbm9uVmFsdWUsIHhtbFNjaGVtYU5ld1N0cmluZ1ZhbHVlIGFuZAorCSAgeG1sU2NoZW1hQ29tcGFyZVZhbHVlc1dodHNwIHRvIHRoZSBBUEkuIEFkZGVkIGZ1bmN0aW9ucworCSAgdG8gY29tcGFyZSBzdHJpbmdzIHdpdGggd2hpdGVzcGFjZSBjb21iaW5hdGlvbnMgb2YgInByZXNlcnZlIiwKKwkgICJyZXBsYWNlIiBhbmQgImNvbGxhcHNlIi4KKworV2VkIEZlYiAxNiAxMzoyNDozNSBDRVQgMjAwNSBLYXNpbWllciBCdWNoY2lrIDxsaWJ4bWwyLWN2c0BjYXppYy5uZXQ+CisKKwkqIHhtbHNjaGVtYXMuYzogRnVydGhlciB3b3JrIG9uIElEQ3MsIGVzcGVjaWFsbHkgZXZhbHVhdGlvbiBmb3IKKwkgIGF0dHJpYnV0ZSBub2Rlcy4KKworV2VkIEZlYiAxNiAwMToxOToyNyBDRVQgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGVuY29kaW5nLmM6IGZpeCB0aGUgY29tbWVudCB0byBkZXNjcmliZSB0aGUgcmVhbCByZXR1cm4gdmFsdWVzCisJKiBwYXR0ZXJuLmMgeHBhdGguYyBpbmNsdWRlL2xpYnhtbC9wYXR0ZXJuLmg6IGxvdCBvZiB3b3JrIG9uCisJICB0aGUgcGF0dGVybnMsIHBsdWdnaW4gaW4gdGhlIFhQYXRoIGRlZmF1bHQgZXZhbHVhdGlvbiwgYnV0CisJICBkaXNhYmxlZCByaWdodCBub3cgYmVjYXVzZSBpdCdzIG5vdCB5ZXQgZ29vZCBlbm91Z2ggZm9yIFhTTFQuCisJICBwYXR0ZXJuLmggc3RyZWFtaW5nIEFQSSBhcmUgbGlrZWx5IHRvIGJlIGNoYW5nZWQgdG8gaGFuZGxlCisJICByZWxhdGl2ZSBhbmQgYWJzb2x1dGUgcGF0aHMgaW4gdGhlIHNhbWUgZXhwcmVzc2lvbi4KKworVHVlIEZlYiAxNSAxNTozMzozMiBDRVQgMjAwNSBLYXNpbWllciBCdWNoY2lrIDxsaWJ4bWwyLWN2c0BjYXppYy5uZXQ+CisKKwkqIHhtbHNjaGVtYXMuYzogQWRkZWQgSURDIGV2YWx1YXRpb24gZm9yIGF0dHJpYnV0ZSBub2Rlcy4KKwkgIE1hZGUgJ25pbCdlZCBlbGVtZW50cyB3b3JrLiBBZGRlZCBhIHNwZWNpZmljIGVycm9yIG1lc3NhZ2UKKwkgIGZvciAnc3RyaWN0JyBhdHRyaWJ1dGUgd2lsZGNhcmRzLgorCSogaW5jbHVkZS9saWJ4bWwveG1sZXJyb3IuaDogQWRkZWQgYW4gZXJyb3IgY29kZSBmb3IKKwkgIHdpbGRjYXJkcy4KKwkqIHJlc3VsdC9zY2hlbWFzL2FueUF0dHItcHJvY2Vzc0NvbnRlbnRzLWVycjFfMF8wLmVycjogQWRhcHRlZC4gIAorCitTdW4gRmViIDEzIDE2OjE1OjAzIEhLVCAyMDA1IFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJVGhpcyBjaGFuZ2Ugc3RhcnRlZCBvdXQgYXMgYSBzaW1wbGUgZGVzaXJlIHRvIHNwZWVkIHVwIHRoZQorCWV4ZWN1dGlvbiB0aW1lIG9mIHRlc3RhcGkuYywgd2hpY2ggd2FzIGJlaW5nIGRlbGF5ZWQgYnkKKwluYW1lc2VydmVyIHJlcXVlc3RzIGZvciBub24tZXhpc3RlbnQgVVJMJ3MuICBGcm9tIHRoZXJlIGl0CisJanVzdCBzb3J0IG9mIGdyZXcsIGFuZCBncmV3Li4uLgorCSogbmFub2h0dHAuYywgbmFub2Z0cC5jOiBjaGFuZ2VkIHRoZSBwcm9jZXNzaW5nIG9mIFVSTCdzCisJICB0byB1c2UgdGhlIHVyaS5jIHJvdXRpbmVzIGluc3RlYWQgb2YgY3VzdG9tIGNvZGUuCisJKiBpbmNsdWRlL2xpYnhtbC94bWxlcnJvci5oOiBhZGRlZCBjb2RlIFhNTF9GVFBfVVJMX1NZTlRBWAorCSogdXJpLmM6IGFkZGVkIGFjY2VwdGluZyBpcFY2IGFkZHJlc3NlcywgaW4gYWNjb3JkYW5jZSB3aXRoCisJICBSRkMncyAyNzMyIGFuZCAyMzczIChUT0RPOiBhbGxvdyBpcFY0IHdpdGhpbiBpcFY2KQorCSogZ2VudGVzdC5weSwgdGVzdGFwaS5jOiBmaXhlZCBhIGZldyBwcm9ibGVtcyB3aXRoIHRoZQorCSAgdGVzdGluZyBvZiB0aGUgbmFub2Z0cCBhbmQgbmFub2h0dHAgcm91dGluZXMuCisJKiBpbmNsdWRlL2xpYnhtbC94bWx2ZXJzaW9uLmg6IG1pbm9yIGNoYW5nZSB0byBmaXggYQorCSAgd2FybmluZyBvbiB0aGUgZG9jcyBnZW5lcmF0aW9uCisJKiByZWdlbmVyYXRlZCB0aGUgZG9jcworCitTYXQgRmViIDEyIDA5OjA3OjExIEhLVCAyMDA1IFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiB4aW5jbHVkZS5jOiBmaXhlZCB4bWxYSW5jbHVkZVBhcnNlRmlsZSB0byBwcmV2ZW50CisJICBvdmVyd3JpdGluZyBYTUxfQ09NUExFVEVfQVRUUlMgd2hlbiBzZXR0aW5nIHBjdHh0LT5sb2Fkc3Vic2V0CisJICAoYnVnIDE2NjE5OSkKKwkqIE1ha2VmaWxlLmFtLCBweXRob24vdGVzdHMvTWFrZWZpbGUuYW0sIHhzdGMvTWFrZWZpbGUuYW06IGFkZGVkCisJICBjb2RlIHRvIGFkZCAkKHRvcF9idWlsZGRpcikvLmxpYnMgdG8gTERfTElCUkFSWV9QQVRIIHdoZW5ldmVyCisJICBQWVRIT05QQVRIIGlzIHNldCwgdG8gYXNzdXJlIG5ldyBsaWJ4bWwyIHJvdXRpbmVzIGFyZSB1c2VkLgorCitGcmkgRmViIDExIDIyOjIwOjQxIEhLVCAyMDA1IFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiBwYXJzZXIuYzogZml4ZWQgcHJvYmxlbSB3aGVuIG5vIGluaXRpYWwgImNodW5rIiB3YXMKKwkgIGdpdmVuIHRvIHhtbENyZWF0ZVB1c2hQYXJzZXIgKGJ1ZyAxNjI2MTMpCisKK0ZyaSBGZWIgMTEgMTg6Mzc6MjIgSEtUIDIwMDUgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIGRpY3QuYzogZml4ZWQgY29tcGlsYXRpb24gd2FybmluZworCSogcGFyc2VyLmM6IGNoYW5nZWQgeG1sV2FybmluZ01zZyBzbyBjdHh0LT5lcnJObyBpcyBub3Qgc2V0CisJKiB4bWxsaW50LmM6IGNoYW5nZWQgdG8gcmV0dXJuIG5vbi16ZXJvIHN0YXR1cyBpZiBlcnJvcgorCSAgb24geGluY2x1ZGUgcHJvY2Vzc2luZworCSogeG1sc2F2ZS5jOiBtaW5vciBkZWxldGlvbiBvZiBhIHJlZHVuZGFudCBjb25kaXRpb24gc3RhdGVtZW50CisJCitXZWQgRmViICA5IDE3OjQ3OjQwIENFVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogdHJlZS5jOiBhcHBsaWVkIHBhdGNoIHRvIHhtbFNldE5zUHJvcCBmcm9tIE1pa2UgSG9tbWV5CisKK1N1biBGZWIgIDYgMDA6MTc6NTcgQ0VUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBwYXR0ZXJuLmMgeG1sbGludC5jOiBmaXhlZCBpbXBsZW1lbnRhdGlvbiBmb3IgfAorCSogdGVzdC9wYXR0ZXJuL2NvbmouKiByZXN1bHQvcGF0dGVybi9jb25qOiBhZGRlZCBhIHNwZWNpZmljIHJlZ3Jlc3Npb24KKwkgIHRlc3QKKworU2F0IEZlYiAgNSAxODozNjo1NiBDRVQgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhdHRlcm4uYzogZmlyc3QgaW1wbGVtZW50YXRpb24gZm9yIHwgc3VwcG9ydAorCitTYXQgRmViICA1IDE0OjU4OjQ2IENFVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcGF0dGVybi5jOiBmaXhlZCB0aGUgbmFtZXNwYWNlcyBzdXBwb3J0CisJKiB0cmVlLmM6IGZpeGVkIHhtbEdldE5vZGVQYXRoIHdoZW4gbmFtZXNwYWNlcyBhcmUgdXNlZAorCSogcmVzdWx0L3BhdHRlcm4vbXVsdGlwbGUgcmVzdWx0L3BhdHRlcm4vbmFtZXNwYWNlcworCSAgdGVzdC9wYXR0ZXJuL211bHRpcGxlLiogdGVzdC9wYXR0ZXJuL25hbWVzcGFjZXMuKjogYWRkZWQKKwkgIG1vcmUgcmVncmVzc2lvbiB0ZXN0cworCitGcmkgRmViICA0IDE4OjI2OjQzIENFVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sc2NoZW1hcy5jOiBmaXhlZCBvbmUgaW50ZXJuYWwgZnVuY3Rpb24KKwkqIGRvYy9NYWtlZmlsZS5hbSBkb2Mvd2lraS54c2w6IGFwcGxpZWQgcGF0Y2ggZnJvbSBKb2VsIFJlZWQKKwkqIHRlc3RhcGkuYyBkb2MvbGlieG1sMi1hcGkueG1sIGRvYy9saWJ4bWwyLXJlZnMueG1sOiByZWdlbmVyYXRlZAorCitGcmkgRmViICA0IDAwOjI1OjQzIENFVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogTWFrZWZpbGUuYW06IHVzZSB0aGUgd2Fsa2VyIHRvIHRlc3QgdGhlIHBhdHRlcm5zIGluc3RlYWQgb2YKKwkgIHRoZSBub3JtYWwgcmVhZGVyCisJKiBwYXR0ZXJuLmMgeG1sbGludC5jOiBidWcgZml4ZXMgaW4gdGhlIHRyYWluIGluY2x1ZGluZyBmaXhpbmcgdGhlCisJICBzdHVwaWQgYnVpbGQgYnJlYWsuCisKK1R1ZSBGZWIgIDEgMTg6MTU6NTIgQ0VUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBwYXR0ZXJuLmM6IG1vcmUgYnVnIGZpeGVzIGZvciB0aGUgWFBhdGggc3RyZWFtaW5nIGNvZGUuCisKK01vbiBKYW4gMzEgMTc6NTk6MjQgQ0VUIDIwMDUgS2FzaW1pZXIgQnVjaGNpayA8bGlieG1sMi1jdnNAY2F6aWMubmV0PgorCisJKiB4bWxzY2hlbWFzLmM6IEludGVncmF0ZWQgdGhlIHN0cmVhbWluZyBwYXR0ZXJuIGZyb20gdGhlCisJICBwYXR0ZXJuIG1vZHVsZS4gRml4ZWQgc29tZSBJREMgY29kZSBidWdzLiBDaGFuZ2VkCisJICBmYWxsYmFjayBmb3IgYXR0cmlidXRlIGRlY2xhcmF0aW9uIGFkZGl0aW9uIHRvIHdvcmsgbGlrZSBmb3IKKwkgIGVsZW1lbnQgZGVjbGFyYXRpb25zLgkKKworTW9uIEphbiAzMSAwMToyNzoyMiBDRVQgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhdHRlcm4uYyB4bWxsaW50LmM6IGJ1Z2ZpeGVzIGFyb3VuZCB0aGUgc3RyZWFtaW5nIHBhdHRlcm5zCisKK1N1biBKYW4gMzAgMjM6MzU6MTkgQ0VUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBNYWtlZmlsZS5hbSBjb25maWd1cmUuaW4gcmVzdWx0L3BhdHRlcm4vc2ltcGxlIAorCSAgdGVzdC9wYXR0ZXJuL3NpbXBsZS4qOiBhZGRlZCBmaXJzdCB0ZXN0IGZvciB0aGUgcGF0dGVybnMKKwkqIHBhdHRlcm4uYyB4bWxsaW50LmM6IGEgZmV3IGZpeGVzCisKK1N1biBKYW4gMzAgMTk6Mjc6MjMgQ0VUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBwYXR0ZXJuLmMgaW5jbHVkZS9saWJ4bWwvcGF0dGVybi5oIHhtbGxpbnQuYzogYWRkZWQgYSAKKwkgIHN0cmVhbWluZyBwYXR0ZXJuIGRldGVjdG9yIGZvciBhIHN1YnNldCBvZiBYUGF0aCwgc2hvdWxkCisJICBoZWxwIEthc2ltaWVyIGZvciBpZGVudGl0eSBjb25zdHJhaW50cworCSogcHl0aG9uL2dlbmVyYXRvci5weTogYXBwbGllZCBTdMOpcGhhbmUgQmlkb3VsIHBhdGNoIHRvIGZpbmQKKwkgIHBhdGhzIHdpdGhvdXQgYnJlYWtpbmcuCisKK0ZyaSBKYW4gMjggMTg6NTM6NDAgQ0VUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxzY2hlbWFzLmM6IGZpeGVkIGFuIHVudGVzdGVkIHBvaW50ZXIgZGVyZWZlcmVuY2UgYW5kIGEgJiB2cyAmJgorCitGcmkgSmFuIDI4IDE4OjM3OjE4IENFVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1scmVhZGVyLmM6IGltcGxlbWVudGF0aW9uIG9mIHhtbFRleHRSZWFkZXJSZWFkU3RyaW5nIGJ5CisJICBCam9ybiBSZWVzZQorCitGcmkgSmFuIDI4IDE2OjUxOjQ3IENFVCAyMDA1IEthc2ltaWVyIEJ1Y2hjaWsgPGxpYnhtbDItY3ZzQGNhemljLm5ldD4KKworCSogeG1sc2NoZW1hcy5jOiBDb3JyZWN0ZWQgYW4gYW1iaWdpb3VzIHN5bWJvbC1zcGFjZSBmb3IKKwkgIGxvY2FsIGF0dHJpYnV0ZSBkZWNsYXJhdGlvbnMuIElGREVGZWQgbW9yZSBJREMgY29kZSB0bworCSAgc3VycHJlc3MgY29tcGlsZXIgd2FybmluZ3MuCisKK0ZyaSBKYW4gMjggMDA6NTc6MDQgQ0VUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBiYWtlZmlsZS9SZWFkbWUudHh0IGJha2VmaWxlL0Jha2VmaWxlcy5ia2dlbiBiYWtlZmlsZS9saWJ4bWwyLmJrbDoKKwkgIGZpbGVzIGZvciB0aGUgQmFrZWZpbGUgZ2VuZXJhdG9yIGZvciBNYWtlZmlsZXMgZnJvbSBGcmFuY2VzY28KKwkgIE1vbnRvcnNpCisJKiB3aW4zMi9jb25maWd1cmUuanM6IGZpeGVzIGZvciBXaW5kb3dzIGNvbXBpbGF0aW9uIHdpdGggbm9uLWRlZmF1bHQKKwkgIGZsYWdzIGJ5IEpvZWwgUmVlZAorCitUaHUgSmFuIDI3IDE4OjIzOjUwIENFVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogdHJlZS5jOiBmaXhlZCB4bWxDb3B5RG9jIHRvIGFsc28gY29weSB0aGUgZG9jLT5VUkwgYXMgcG9pbnRlZAorCSAgYnkgTWFydGlqbiBGYWFzc2VuCisKK1RodSBKYW4gMjcgMTM6Mzk6MDQgQ0VUIDIwMDUgS2FzaW1pZXIgQnVjaGNpayA8bGlieG1sMi1jdnNAY2F6aWMubmV0PgorCisJKiB4bWxzY2hlbWFzLmMgaW5jbHVkZS9saWJ4bWwvc2NoZW1hc0ludGVybmFscy5oOgorCSAgQWRkZWQgYW4gaW5pdGlhbCBza2VsZXRvbiBmb3IgaW5kZW50aXR5LWNvbnN0cmFpbnRzLiBUaGlzIGlzIGFsbAorCSAgZGVmaW5lZCBvdXQsIHNpbmNlIG5vdCBjb21wbGV0ZSwgcGx1cyBpdCBuZWVkcyBzdXBwb3J0IGZyb20gb3RoZXIKKwkgIG1vZHVsZXMuCisJICBBZGRlZCBtYWNoYW5pc20gdG8gc3RvcmUgZWxlbWVudCBpbmZvcm1hdGlvbiBmb3IgdGhlCisJICBhbmNlc3Rvci1vci1zZWxmIGF4aXM7IHRoaXMgaXMgbmVlZGVkIGZvciBpZGVudGl0eS1jb25zdHJhaW50cworCSAgYW5kIHNob3VsZCBiZSBoZWxwZnVsbCBmb3IgYSBmdXR1cmUgc3RyZWFtYWJsZSB2YWxpZGF0aW9uLgorCSogaW5jbHVkZS9saWJ4bWwveG1sZXJyb3IuaDogQWRkZWQgYW4gZXJyb3IgY29kZSBmb3IKKwkgIGlkZW50aXR5LWNvbnN0cmFpbnRzLgorCitXZWQgSmFuIDI2IDAxOjAzOjM3IENFVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZ2VudGVzdC5weSB0ZXN0YXBpLmM6IGhhZCB0byBmaXggZ2VuZXJhdGlvbiBhbmQgcmVidWlsZC4KKwkqIHZhbGlkLmM6IHRoZSB0ZXN0YXBpIGZvdW5kIGEgYnVnIGluIHRoZSBsYXN0IGNvZGUgb2YgY291cnNlICEKKworV2VkIEphbiAyNiAwMDo0MzowNSBDRVQgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIE1ha2VmaWxlLmFtIHRlc3RhcGkuYyBkb2MvTWFrZWZpbGUuYW06IGZpeGluZyB0aGUgd2F5IHRlc3RhcGkuYworCSAgaXMgZ2VuZXJhdGVkLCBmaXhlcyBidWcgIzE2MTM4NgorCSogZGljdC5jOiBmaXggYSBjb21tZW50IHR5cG8KKwkqIGVsZmdjY2hhY2suaCBkb2MvKjogcmVnZW5lcmF0ZWQKKworVHVlIEphbiAyNSAyMjozOTozMyBDRVQgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlci5jOiBmb3VuZCBhbmQgZml4ZWQgMiBwcm9ibGVtcyBpbiB0aGUgaW50ZXJuYWwgc3Vic2V0IHNjYW5uaW5nCisJICBjb2RlIGFmZmVjdGluZyB0aGUgcHVzaCBwYXJzZXIgKGFuZCB0aGUgcmVhZGVyKSwgZml4ZXMgIzE2NTEyNgorCSogdGVzdC9pbnRzdWJzZXQyLnhtbCByZXN1bHQvL2ludHN1YnNldDIueG1sKjogYWRkZWQgdGhlIHRlc3QgY2FzZQorCSAgdG8gdGhlIHJlZ3Jlc3Npb24gdGVzdHMuCisKK1R1ZSBKYW4gMjUgMDE6MjA6MTEgQ0VUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB0ZXN0ZHNvLmMgeG1scmVnZXhwLmM6IHdhcm5pbmcgcGF0Y2hlcyBmcm9tIFBldGVyIEJyZWl0ZW5sb2huZXIKKwkqIGluY2x1ZGUvbGlieG1sL3ZhbGlkLmggdmFsaWQuYyBwYXJzZXIuYzogc2VyaW91cyBEVEQgcGFyc2luZworCSAgc3BlZWR1cHMsIHN0YXJ0IHRvIGRlcHJlY2F0ZSAzIEVsZW1lbnREZWYgcmVsYXRlZCBlbnRyeSBwb2ludAorCSAgYW5kIHJlcGxhY2UgdGhlbSB3aXRoIGJldHRlciBvbmVzLgorCitNb24gSmFuIDI0IDAwOjQ3OjQxIENFVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sc2NoZW1hcy5jOiBtb3JlIGhhc2ggZGljdGlvbmFyeSBpbnRlcm5pbmcgY2hhbmdlcworCitTdW4gSmFuIDIzIDIzOjU0OjM5IENFVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogaGFzaC5jIGluY2x1ZGUvbGlieG1sL2hhc2guaDogYWRkZWQgeG1sSGFzaENyZWF0ZURpY3Qgd2hlcmUKKwkgIHRoZSBoYXNoIHJldXNlcyB0aGUgZGljdGlvbm5hcnkgZm9yIGludGVybmFsIHN0cmluZ3MKKwkqIGVudGl0aWVzLmMgdmFsaWQuYyBwYXJzZXIuYzogcmV1c2UgdGhhdCBuZXcgQVBJLCBsZWFkcyB0byBhIGRlY2VudAorCSAgc3BlZWR1cCB3aGVuIHBhcnNpbmcgZm9yIGV4YW1wbGUgRG9jQm9vayBkb2N1bWVudHMuCisKK1N1biBKYW4gMjMgMjE6MTQ6MjAgQ0VUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBwYXJzZXIuYzogc21hbGwgc3BlZWR1cCBpbiBza2lwcGluZyBibGFua3MgY2hhcmFjdGVycworCSogZW50aXRpZXMuYzogaW50ZXJuaW5nIHRoZSBlbnRpdGllcyBzdHJpbmdzIAorCitTdW4gSmFuIDIzIDE4OjM1OjAwIENFVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcGFyc2VyLmM6IGJvb3N0aW5nIGNvbW1vbiBjb21tbmVudCBwYXJzaW5nIGNvZGUsIGl0IHdhcyByZWFsbHkKKwkgIHNsb3cuCisJKiB0ZXN0L2NvbW1lbnRbMy01XS54bWwgcmVzdWx0Ly9jb21tZW50WzMtNV0ueG1sKjogYWRkZWQgc3ByZWNpZmljCisJICByZWdyZXNzaW9uIHRlc3RzCisKK1N1biBKYW4gMjMgMDE6MDA6MDkgQ0VUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBwYXJzZXIuYzogc21hbGwgb3B0aW1pemF0aW9uIGJhY2suCisKK1NhdCBKYW4gMjIgMDA6NDA6MzEgQ0VUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBkaWN0LmMgcGFyc2VyLmMgaW5jbHVkZS9saWJ4bWwvZGljdC5oOiBhIHNpbmdsZSBsb2NrIHZlcnNpb24KKwkgIG1vc3RseSBhdm9pZCB0aGUgY29zdCBwZW5hbHR5IG9mIHRoZSBsb2NrIGluIGNhc2Ugb2YgbG93IAorCSAgcGFyYWxsZWxpc20sIHNvIGFwcGx5aW5nIHRoYXQgdmVyc2lvbiBpbnN0ZWFkLgorCitGcmkgSmFuIDIxIDE3OjU0OjA2IENFVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZGljdC5jOiBwYXRjaCBmcm9tIEdhcnkgQ29hZHkgdG8gZml4IGEgcmFjZSBpbiBkaWN0IHJlZmVyZW5jZQorCSAgY291bnRpbmcgaW4gbXVsdGl0aHJlYWRlZCBhcHBzLgorCitGcmkgSmFuIDIxIDE2OjA4OjIxIENFVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcGFyc2VyLmM6IGZpeGVkIGJ1ZyAjMTY0NTU2IHdoZXJlIG5vbi1mYXRhbCBlcnJvcnMgc3RvcHBlZAorCSAgcHVzaCBwYXJzaW5nIGFuZCB4bWxyZWFkZXIuCisJKiBNYWtlZmlsZS5hbTogZml4dXAKKwkqIHRlc3QvZXJyb3JzL3dlYmRhdi54bWwgcmVzdWx0L2Vycm9ycy93ZWJkYXYqOiBhZGRpbmcgcmVncmVzc2lvbgorCSAgdGVzdCBmb3IgdGhpcyBwcm9ibGVtLgorCitXZWQgSmFuIDE5IDE3OjI0OjM0IENFVCAyMDA1IEthc2ltaWVyIEJ1Y2hjaWsgPGxpYnhtbDItY3ZzQGNhemljLm5ldD4KKworCSogeG1sc2NoZW1hcy5jOiBDb3JyZWN0ZWQgdGFyZ2V0TmFtZXNwYWNlIGluCisJICB4bWxTY2hlbWFFbGVtZW50RHVtcC4gQ29zbWV0aWMgY2hhbmdlcyB0byB0aGUgZHVtcCBvdXRwdXQuCQorCitTdW4gSmFuIDE2IDIxOjAwOjUzIENFVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogY29uZmlndXJlLmluIE5FV1MgZG9jLyo6IHByZXBhcmluZyByZWxlYXNlIG9mIDIuNi4xNywKKwkgIHVwZGF0ZWQgYW5kIHJlYnVpbHQgdGhlIGRvY3MKKworU3VuIEphbiAxNiAxOTo1ODozNiBDRVQgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlci5jOiBiZXR0ZXIgZml4IGZvciAjMTUxNjk0IG5vdCBraWxsaW5nIGMxNG4gcmVncmVzc2lvbiB0ZXN0cworCSogeG1sc2NoZW1hc3R5cGVzLmM6IGZpeGluZyBidWcgIzE1NzY1MworCitTdW4gSmFuIDE2IDE5OjAxOjA2IENFVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcGFyc2VyLmM6IGZpeGluZyBidWcgIzE1MTY5NCwgbGluZSBzaG91bGQgYWx3YXlzIGJlIHNldCBpbiB0aGUKKwkgIGVsZW1lbnRzLgorCitTdW4gSmFuIDE2IDAxOjA0OjE4IENFVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sc2NoZW1hc3R5cGVzLmM6IHRyeWluZyB0byBmaXggYXQgbGVhc3QgdGhlIG1lc3NhZ2UgZnJvbQorCSAgYnVnICMxNTg2MjgKKwkqIGluY2x1ZGUvbGlieG1sL3htbHNhdmUuaCB4bWxzYXZlLmM6IGFkZGVkIGZpcnN0IHhtbHNhdmUgb3B0aW9uCisJICBmb3IgZm9ybWF0LCBjLmYuIGJ1ZyAjMTU5OTk3CisKK1NhdCBKYW4gMTUgMTg6NDQ6MzAgQ0VUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBweXRob24vbGlieG1sLnB5OiBtYWtlIF9fc3RyX18gY2FsbCBzZXJpYWxpemUoKSBvbiBub2RlcywgYy5mLiAKKwkgIGJ1ZyAjMTU3ODcyCisKK1NhdCBKYW4gMTUgMTg6MTg6MDcgQ0VUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBuYW5vZnRwLmM6IGFwcGxpZWQgcGF0Y2ggZnJvbSBEYW4gTWNOaWNob2wgZm9yIGNvbXBpbGF0aW9uIG9uIEFJWAorCitTYXQgSmFuIDE1IDEzOjM1OjE5IENFVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcmVsYXhuZy5jOiBmaXhlZCBidWcgIzE1NzYzMyBpbiByZWxheG5nIGNob2ljZSBvcHRpbWl6YXRpb24KKwkqIHJlc3VsdC9yZWxheG5nL2Nob2ljZTAqIHRlc3QvcmVsYXhuZy9jaG9pY2UwKjogYWRkZWQgcmVncmVzc2lvbgorCSAgdGVzdHMgYWJvdXQgaXQuCisJKiBkb2MvKjogcmVidWlsdAorCSogdGVzdGRzby5jOiByZW1vdmVkIGEgd2FybmluZyBkdWUgdG8gYSBtaXNzaW5nIHZvaWQgaW4gc2lnbmF0dXJlLgorCitUaHUgSmFuIDEzIDE3OjQyOjU1IENFVCAyMDA1IEthc2ltaWVyIEJ1Y2hjaWsgPGxpYnhtbDItY3ZzQGNhemljLm5ldD4KKworCSogaW5jbHVkZS9saWJ4bWwvc2NoZW1hc0ludGVybmFscy5oIHhtbHNjaGVtYXMuYzogCisJICBFeHBvc2VkIHRhcmdldE5hbWVzcGFjZSBmb3Igc2ltcGxlL2NvbXBsZXggdHlwZXMsIG1vZGVsIGdyb3VwcywKKwkgIGF0dHJpYnV0ZSBncm91cHMgYW5kIG5vdGF0aW9ucyAocmVwb3J0ZWQgYnkgTWljaGFlbCBIZXdhcnRoIAorCSAgdG8gdGhlIG1haWxpbmcgbGlzdCkuIEFkZGVkIHRhcmdldE5hbWVzcGFjZSB0byB4bWxTY2hlbWFUeXBlLCAKKwkgIHhtbFNjaGVtYUF0dHJpYnV0ZUdyb3VwIGFuZCB4bWxTY2hlbWFOb3RhdGlvbi4KKwkgIFRpbnkgY29zbWV0aWMgY2hhbmdlIHRvIHRoZSBjb250ZW50IG1vZGVsIGVycm9yIHJlcG9ydCBvdXRwdXQuCisJKiByZXN1bHQvL2FsbF8qLmVyciByZXN1bHQvL2FueTNfMF8wLmVyciByZXN1bHQvL2Nob2ljZV8qLmVyciAKKwkgIHJlc3VsdC8vbGlzdDBfMF8xLmVyciByZXN1bHQvL2xpc3QwXzFfMS5lcnI6IEFkYXB0ZWQgb3V0cHV0IAorCSAgb2YgcmVncmVzc2lvbiB0ZXN0cy4KKworVGh1IEphbiAxMyAxMzoyMDo1MSBDRVQgMjAwNSBLYXNpbWllciBCdWNoY2lrIDxsaWJ4bWwyLWN2c0BjYXppYy5uZXQ+CisKKwkqIHhtbHNjaGVtYXMuYzogUHV0IHRoZSBmaXggb2YgRGFuaWVsIChmcm9tIFR1ZSBKYW4gMTEgMTQ6NDE6NDcgQ0VUKQorCSAgYmFjayBpbiwgc2luY2UgSSBtaXNzZWQgdG8gdXBkYXRlIHhtbHNjaGVtYXMuYyBiZWZvcmUgZG9pbmcKKwkgIHRoZSBwcmV2aW91cyBjb21taXQuCisJCitUaHUgSmFuIDEzIDEyOjU5OjI1IENFVCAyMDA1IEthc2ltaWVyIEJ1Y2hjaWsgPGxpYnhtbDItY3ZzQGNhemljLm5ldD4KKworCSogeG1sc2NoZW1hcy5jOiBJbnRlZ3JhdGVkIHhtbFJlZ0V4ZWNFcnJJbmZvIGFuZCB4bWxSZWdFeGVjTmV4dFZhbHVlcworCSAgZnJvbSB4bWxyZWdleHAuYyB0byByZXBvcnQgZXhwZWN0ZWQgZWxlbWVudHMgb24gY29udGVudCBtb2RlbCBlcnJvcnMuCisJKiBhbGxfKi5lcnIgYW55M18wXzAuZXJyIGNob2ljZV8qLmVyciBsaXN0MF8wXzEuZXJyIGxpc3QwXzFfMS5lcnI6CisJICBBZGFwdGVkIG91dHB1dCBvZiByZWdyZXNzaW9uIHRlc3RzLgorCitUaHUgSmFuIDEzIDEyOjI0OjA5IENFVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogY29uZmlnLmguaW4gY29uZmlndXJlLmluIHhtbG1vZHVsZS5jOiB0cnlpbmcgdG8gd29yayBhcm91bmQKKwkgIHRoZSBjb21waWxhdGlvbiBwcm9ibGVtIG9uIEhQLVVYCisKK1dlZCBKYW4gMTIgMjI6MDM6MzMgQ0VUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBwYXR0ZXJuLmM6IGZpeGVkIHRoZSBmaXhlZCBzaXplIGFycmF5IHN0cnVjdHVyZSBwcm9ibGVtIHJlcG9ydGVkIGJ5CisJICBQYXRyaWNrIFN0cmV1bGUKKworV2VkIEphbiAxMiAxNToxNTowMiBDRVQgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGVsZmdjY2hhY2suaCB0ZXN0YXBpLmMgZG9jL2xpYnhtbDItYXBpLnhtbCBkb2MvKjogcmVnZW5lcmF0ZWQKKwkgIHRoZSBBUEkgZGVzY3JpcHRpb24sIHJlYnVpbHQsIGltcHJvdmVkIG5hdmlnYXRpb24gaW4gZG9jdW1lbnRhdGlvbgorCSAgYSBiaXQuCisKK1dlZCBKYW4gMTIgMTQ6MTc6MTQgQ0VUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBpbmNsdWRlL2xpYnhtbC94bWxyZWdleHAuaCB4bWxyZWdleHAuYzogZXh0ZW5kZWQgeG1sUmVnRXhlY0VyckluZm8oKQorCSAgYW5kIHhtbFJlZ0V4ZWNOZXh0VmFsdWVzKCkgdG8gcmV0dXJuIGVycm9yIHRyYW5zaXRpb24gc3RyaW5ncyB0b28sCisJICBhbmQgc2luayBzdGF0ZSBkZXRlY3Rpb24gYW5kIGhhbmRsaW5nLgorCitUdWUgSmFuIDExIDE0OjQxOjQ3IENFVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sc2NoZW1hcy5jOiBmaXhlZCBidWcgIzE2MzY0MSB3aGVuIHRoZSB2YWx1ZSBwYXNzZWQgZm9yCisJICBhbiBhdG9taWMgbGlzdCB0eXBlIGlzIE5VTEwuCisKK1R1ZSBKYW4gMTEgMTA6MTQ6MzMgSEtUIDIwMDUgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIE1ha2VmaWxlLmFtIGNvbmZpZ3VyZS5pbjogZml4ZWQgZGVwZW5kZW5jeSBvbiBweXRob24gMi4zLAorCSAgYWxzbyBzbWFsbCBpbXByb3ZlbWVudCBmb3IgY3lnd2luIChidWcgMTYzMjczKQorCitTdW4gSmFuICA5IDE4OjQ2OjMyIENFVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZ2VudGVzdC5weSB0ZXN0YXBpLmM6IFdpbGxpYW0gbm90aWNlZCBJIGZvcmdvdCB0byBhZGQgc3BlY2lhbAorCSAgc3VwcG9ydCBmb3IgeG1sbW9kdWxlcy5jIGRlZmluZQorCSogeG1scmVnZXhwLmMgaW5jbHVkZS9saWJ4bWwveG1scmVnZXhwLmg6IGFkZGVkIHRlcm1pbmFsIHRvCisJICB4bWxSZWdFeGVjRXJySW5mbygpIEFQSSwgYWRkaW5nIG5ldyB4bWxSZWdFeGVjTmV4dFZhbHVlcygpCisJICBlbnRyeSBwb2ludCBhbmQgcmVmYWN0b3JlZCB0byB1c2UgYm90aCBjb2RlLgorCitNb24gSmFuIDEwIDAxOjAyOjQxIEhLVCAyMDA2IFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiBkb2MveG1sLmh0bWwsIGRvYy9GQVEuaHRtbDogYWRkZWQgYW4gRkFRIHVuZGVyIERldmVsb3BlciBmb3IKKwkgIHNldHRpbmcgdXAgYSAicHJpdmF0ZSIgbGlicmFyeSAoYWZ0ZXIgc29tZSBsaXN0IHBvc3RzIGFib3V0CisJICBwZW9wbGUgaGF2aW5nIHRyb3VibGUgZG9pbmcgaXQpCisKK1NhdCBKYW4gIDggMjM6MDQ6MTAgQ0VUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxyZWdleHAuYzogZml4aW5nIGJlaGF2aW91ciBmb3IgeG1sUmVnRXhlY0VyckluZm8gaW4gY2FzZSBvZgorCSAgcm9sbGJhY2sKKworRnJpIEphbiAgNyAxNDo1NDo1MSBDRVQgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIFRPRE86IHNtYWxsIHVwZGF0ZQorCSogeG1scmVnZXhwLmM6IHRyeWluZyB0byBhZGQgYW4gQVBJIHRvIGdldCB1c2VmdWwgZXJyb3IgaW5mb3JtYXRpb25zCisJICBiYWNrIGZyb20gYSBmYWlsaW5nIHJlZ2V4cCBjb250ZXh0LgorCitUaHUgSmFuICA2IDE3OjM1OjQxIEhLVCAyMDA1IFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiB4cGF0aC5jOiBmaXhlZCBwcm9ibGVtIHdpdGggeG1sWFBhdGhFcnIgd2hlbiBlcnJvciBudW1iZXIKKwkgIHN1YnNjcmlwdCB3YXMgb3V0IG9mIHJhbmdlIChidWcgMTYzMDU1KQorCitUaHUgSmFuICA2IDA5OjU3OjAzIEhLVCAyMDA1IFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiB1cmkuYzogZml4ZWQgcHJvYmxlbSB3aXRoIHhtbFVSSUVzY2FwZSB3aGVuIHF1ZXJ5IHBhcnQgd2FzCisJICBlbXB0eSAoYWN0dWFsbHkgZml4ZWQgeG1sVVJJRXNjYXBlU3RyIHRvIHJldHVybiBhbiBlbXB0eQorCSAgc3RyaW5nIHJhdGhlciB0aGFuIE5VTEwgZm9yIGVtcHR5IHN0cmluZyBpbnB1dCkgKGJ1ZyAxNjMwNzkpCisJICAKK1R1ZSBKYW4gIDQgMTc6MDg6NDUgUFNUIDIwMDUgQWxla3NleSBTYW5pbiA8YWxla3NleUBhbGVrc2V5LmNvbT4KKworCSogcGFyc2VyLmMsIHBhcnNlckludGVybmFsLmM6IGZpeGVkICJjb2wiIGNhbGN1bGF0aW9uIGZvciAKKyAgICAgICAgICBzdHJ1Y3QgX3htbFBhcnNlcklucHV0IChiYXNlZCBvbiBwYXRjaCBmcm9tIFJvYiBSaWNoYXJkcykgCisJKiBpbmNsdWRlL2xpYnhtbC94bWxlcnJvci5oLCBlcnJvci5jOiBwcm9wYWdhdGVkIGVycm9yIGNvbHVtbgorICAgICAgICAgIG51bWJlciBpbiB0aGUgeG1sRXJyb3Igc3RydWN0dXJlCisKK1R1ZSBKYW4gIDQgMjI6NDc6MjIgQ0VUIDIwMDUgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBwYXJzZXIuYzogZml4ZWQgbmFtZXNwYWNlIGJ1ZyBpbiBwdXNoIG1vZGUgcmVwb3J0ZWQgYnkgCisJICBSb2IgUmljaGFyZHMKKwkqIHRlc3QvbnM2IHJlc3VsdC8vbnM2KjogYWRkZWQgaXQgdG8gdGhlIHJlZ3Jlc3Npb24gdGVzdHMKKwkqIHhtbG1vZHVsZS5jIHRlc3RNb2R1bGUuYyBpbmNsdWRlL2xpYnhtbC94bWxtb2R1bGUuaDoKKwkgIGFkZGVkIGFuIGV4dHJhIG9wdGlvbiBhcmd1bWVudCB0byBtb2R1bGUgb3BlbmluZyBhbmQgZGVmaW5lZAorCSAgYSBjb3VwbGUgb2YgZmxhZ3MgdG8gdGhlIEFQSS4KKworVHVlIEphbiAgNCAyMToxNjowNSBDRVQgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbG1vZHVsZS5jIGluY2x1ZGUvbGlieG1sL3htbG1vZHVsZS5oOiBhcHBsaWVkIHBhdGNoIGZyb20KKwkgIEJqb3JuIFJlZXNlLCBwbHVzIHNvbWUgY2xlYW51cHMKKwkqIGVsZmdjY2hhY2suaCBkb2MvZWxmZ2NjaGFjay54c2w6IGZpeGVkIHRoZSBzdHlsZXNoZWV0IHRvIAorCSAgYWRkIHRoZSBuZXcgaGVhZGVyCisJKiBkb2MvKiB0ZXN0YXBpLmM6IHJlZ2VuZXJhdGVkIHRoZSBBUEkKKworVHVlIEphbiAgNCAxODo0NzoxOSBDRVQgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGNvbmZpZ3VyZS5pbjogbWFraW5nIERTTyBzdXBwb3J0IGFuIG9wdGlvbgorCSogeG1sbW9kdWxlLmMgeG1scmVhZGVyLmMgaW5jbHVkZS9saWJ4bWwveG1sbW9kdWxlLmg6IGNvZGUKKwkgIGFuZCBkb2N1bWVudGF0aW9uIGNsZWFudXBzCisJKiBlbGZnY2NoYWNrLmggdGVzdGFwaS5jIGRvYy8qOiByZWdlbmVyYXRlZCB0aGUgZG9jcyBhbmQKKwkgIGNoZWNrcyBmb3IgbmV3IG1vZHVsZQorCSogdGVzdC92YWxpZC9SRUMteG1sLTE5OTgwMjEwLnhtbDogZml4IGEgc21hbGwgY2hhbmdlIGludHJvZHVjZWQKKwkgIHByZXZpb3VzbHkKKworVHVlIEphbiAgNCAxNjowNzo1MiBDRVQgMjAwNSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIE1ha2VmaWxlLmFtIGNvbmZpZy5oLmluIGNvbmZpZ3VyZS5pbiBlcnJvci5jIGxpYnhtbC0yLjAucGMuaW4KKwkgIHRlc3RNb2R1bGUuYyB0ZXN0ZHNvLmMgeG1sMi1jb25maWcuaW4geG1sbGludC5jIHhtbG1vZHVsZS5jCisJICBpbmNsdWRlL2xpYnhtbC9NYWtlZmlsZS5hbSBpbmNsdWRlL2xpYnhtbC94bWxlcnJvci5oCisJICBpbmNsdWRlL2xpYnhtbC94bWxtb2R1bGUuaCBpbmNsdWRlL2xpYnhtbC94bWx2ZXJzaW9uLmguaW4gCisJICBpbmNsdWRlL2xpYnhtbC94bWx3aW4zMnZlcnNpb24uaC5pbjogYXBwbGllZCBEU08gc3VwcG9ydAorCSAgcGF0Y2ggMiBmcm9tIEpvZWwgUmVlZAorCitUdWUgSmFuICA0IDE1OjMwOjE1IENFVCAyMDA1IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogY29uZmlndXJlLmluOiBhcHBsaWVkIHBhdGNoIGZyb20gTWFyY2luIEtvbmlja2kgZm9yIEJlT1MKKworTW9uIEphbiAgMyAxMzo1NzoyMSBQU1QgMjAwNSBBbGVrc2V5IFNhbmluIDxhbGVrc2V5QGFsZWtzZXkuY29tPgorCisJKiBwYXJzZXIuYzogYWRkZWQgR2V0TGluZU51bWJlciBhbmQgR2V0Q29sdW1uTnVtYmVyIGZ1bmN0aW9ucyBmb3IgeG1sUmVhZGVyCisKK1N1biBKYW4gIDIgMTc6NTE6MTggSEtUIDIwMDUgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwlSZS1leGFtaW5lZCB0aGUgcHJvYmxlbXMgb2YgY29uZmlndXJpbmcgYSAibWluaW1hbCIgbGlicmFyeS4KKwlTeW5jaHJvbml6ZWQgdGhlIGhlYWRlciBmaWxlcyB3aXRoIHRoZSBsaWJyYXJ5IGNvZGUgaW4gb3JkZXIKKwl0byBhc3N1cmUgdGhhdCBhbGwgdGhlIHZhcmlvdXMgY29uZGl0aW9uYWxzIChMSUJYTUxfeHh4eF9FTkFCTEVEKQorCXdlcmUgdGhlIHNhbWUgaW4gYm90aC4gIE1vZGlmaWVkIHRoZSBBUEkgZGF0YWJhc2UgY29udGVudCB0byBtb3JlCisJYWNjdXJhdGVseSByZWZsZWN0IHRoZSBjb25kaXRpb25hbHMuICBFbmhhbmNlZCB0aGUgZ2VuZXJhdGlvbgorCW9mIHRoYXQgZGF0YWJhc2UuICBBbHRob3VnaCB0aGVyZSB3YXMgbm8gc3Vic3RhbnRpYWwgY2hhbmdlIHRvCisJYW55IG9mIHRoZSBsaWJyYXJ5IGNvZGUncyBsb2dpYywgYSBsYXJnZSBudW1iZXIgb2YgZmlsZXMgd2VyZQorCW1vZGlmaWVkIHRvIGFjaGlldmUgdGhlIGFib3ZlLCBhbmQgdGhlIGNvbmZpZ3VyYXRpb24gc2NyaXB0CisJd2FzIGVuaGFuY2VkIHRvIGRvIHNvbWUgYXV0b21hdGljIGVuYWJsaW5nIG9mIGZlYXR1cmVzIChlLmcuCisJLS13aXRoLXhpbmNsdWRlIGZvcmNlcyAtLXdpdGgteHBhdGgpLiAgQWRkaXRpb25hbGx5LCBhbGwgdGhlIGZvcm1hdAorCWVycm9ycyBkaXNjb3ZlcmVkIGJ5IGFwaWJ1aWxkLnB5IHdlcmUgY29ycmVjdGVkLgorCSogY29uZmlndXJlLmluOiBlbmhhbmNlZCBjcm9zcy1jaGVja2luZyBvZiBvcHRpb25zCisJKiBkb2MvYXBpYnVpbGQucHksIGRvYy9lbGZnY2NoYWNrLnhzbCwgZG9jL2xpYnhtbDItcmVmcy54bWwsCisJICBkb2MvbGlieG1sMi1hcGkueG1sLCBnZW50ZXN0LnB5OiBjaGFuZ2VkIHRoZSB1c2FnZSBvZiB0aGUKKwkgIDxjb25kPiBlbGVtZW50IGluIG1vZHVsZSBkZXNjcmlwdGlvbnMKKwkqIGVsZmdjY2hhY2suaCwgdGVzdGFwaS5jOiByZWdlbmVyYXRlZCB3aXRoIHByb3BlciBjb25kaXRpb25hbHMKKwkqIEhUTUxwYXJzZXIuYywgU0FYLmMsIGdsb2JhbHMuYywgdHJlZS5jLCB4bWxzY2hlbWFzLmMsIHhwYXRoLmMsCisJICB0ZXN0U0FYLmM6IGNsZWFuZWQgdXAgY29uZGl0aW9uYWxzCisJKiBpbmNsdWRlL2xpYnhtbC9bU0FYLmgsIFNBWDIuaCwgZGVidWdYTUwuaCwgZW5jb2RpbmcuaCwgZW50aXRpZXMuaCwKKwkgIGhhc2guaCwgcGFyc2VyLmgsIHBhcnNlckludGVybmFscy5oLCBzY2hlbWFzSW50ZXJuYWxzLmgsIHRyZWUuaCwKKwkgIHZhbGlkLmgsIHhsaW5rLmgsIHhtbElPLmgsIHhtbGF1dG9tYXRhLmgsIHhtbHJlYWRlci5oLCB4cGF0aC5oXToKKwkgIHN5bmNocm9uaXplZCB0aGUgY29uZGl0aW9uYWxzIHdpdGggdGhlIGNvcnJlc3BvbmRpbmcgbW9kdWxlIGNvZGUKKwkqIGRvYy9leGFtcGxlcy90cmVlMi5jLCBkb2MvZXhhbXBsZXMveHBhdGgxLmMsIGRvYy9leGFtcGxlcy94cGF0aDIuYzoKKwkgIGFkZGVkIGFkZGl0aW9uYWwgY29uZGl0aW9ucyByZXF1aXJlZCBmb3IgY29tcGlsYXRpb24KKwkqIGRvYy8qLmh0bWwsIGRvYy9odG1sLyouaHRtbDogcmVidWlsdCB0aGUgZG9jcworCQorU2F0IERlYyAyNSAxODoxMDowMiBIS1QgMjAwNCBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogcGFyc2VySW50ZXJuYWxzLmM6IGZpeGVkIHRvIHNraXAgKGlmIG5lY2Vzc2FyeSkgdGhlIEJPTSBmb3IKKwkgIGVuY29kaW5nICd1dGYtMTYnLiAgQ29tcGxldGVzIHRoZSBmaXggZm9yIGJ1ZyAjMTUyMjg2LgorCSogdHJlZS5jLCBwYXJzZXIuYzogbWlub3Igd2FybmluZyBjbGVhbnVwLCBubyBjaGFuZ2UgdG8gbG9naWMKKwkKK0ZyaSBEZWMgMjQgMTY6MzE6MjIgSEtUIDIwMDQgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIHB5dGhvbi9nZW5lcmF0b3IucHk6IGFkZGVkIG1vc3QgcmVxdWlyZWQgZW50aXJlcyB0bworCSAgZm9yZWlnbiBlbmNvZGluZyB0YWJsZSwgcGx1cyBzb21lIGFkZGl0aW9uYWwgbG9naWMgdG8KKwkgIGFzc3VyZSBvbmx5IHRoZSAxc3QgcGFyYW0gdXNlcyB0aGUgJ3QjJyBmb3JtYXQuICBGaXhlcworCSAgYnVnICMxNTIyODYsIGJ1dCBtYXkgc3RpbGwgaGF2ZSBzb21lIG90aGVyIFVURi0xNiBwcm9ibGVtcy4KKworVGh1IERlYyAyMyAyMzo0NDowOCBIS1QgMjAwNCBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogTWFrZWZpbGUuYW0sIGdlbnRlc3QucHk6IGVuaGFuY2VkIGZvciBlbmFibGluZyBidWlsZCBpbgorCSAgYSBkaWZmZXJlbnQgZGlyZWN0b3J5LiAgQWRkZWQgKG9wdGlvbmFsKSBwYXJhbSB0byBnZW50ZXN0LnB5CisJICB0byBzcGVjaWZ5IHRoZSBzb3VyY2UgZGlyZWN0b3J5IChidWcgIzE1NTQ2OCkKKwkqIGRvYy9NYWtlZmlsZS5hbTogY2hhbmdlZCBkZXN0aW5hdGlvbiBvZiBORVdTIGZyb20gKHRvcF9zcmNkaXIpCisJICB0byAodG9wX2J1aWxkZGlyKSAoYnVnICMxNTU0NjgpCisJKiBweXRob24vTWFrZWZpbGUuYW0sIHB5dGhvbi9nZW5lcmF0b3IucHk6IGVuaGFuY2VkIGZvciBlbmFibGluZworCSAgYnVpbGQgaW4gYSBkaWZmZXJlbnQgZGlyZWN0b3J5KGJ1ZyAjMTU1NDY4KS4gIEFkZGVkIChvcHRpb25hbCkKKwkgIHBhcmFtIHRvIGdlbmVyYXRvci5weSB0byBzcGVjaWZ5IHRoZSBzb3VyY2UgZGlyZWN0b3J5LiAgQWRkZWQKKwkgIGEgbmV3IHRhYmxlIG9mIGZ1bmN0aW9ucyB3aGljaCBoYXZlIHBvc3NpYmxlICJmb3JlaWduIiBlbmNvZGluZ3MKKwkgIChlLmcuIFVURjE2KSwgYW5kIGNvZGUgdG8gdXNlIHB5dGhvbiAndCcgZm9ybWF0IGluc3RlYWQgb2YKKwkgICd6JyBmb3JtYXQgKG1vc3RseSBzb2x2aW5nIGJ1ZyAjMTUyMjg2LCBidXQgc3RpbGwgbmVlZCB0bworCSAgcG9wdWxhdGUgdGhlIHRhYmxlKS4KKwkgIAorVHVlIERlYyAyMSAwODoxMDo0NCBNU1QgMjAwNCBKb2huIEZsZWNrIDxqZmxlY2tAaW5rc3RhaW4ubmV0PgorCisJKiBkb2Mvc2l0ZS54c2wsIGRvYy94bWwuaHRtbCwgcGx1cyByZWJ1aWx0IGFsbCB0aGUgaHRtbCBwYWdlcworCUNoYW5nZSByZWZlcmVuY2UgdG8gbmV3IHNpdGUgZm9yIFNvbGFyaXMgYmluYXJpZXMsIGZpeGluZyBidWcKKwkxNjA1OTgKKworCitNb24gRGVjIDIwIDA4OjAyOjU3IFBTVCAyMDA0IFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiBwYXJzZXIuYzogcmVzZXQgaW5wdXQtPmJhc2Ugd2l0aGluIHhtbFN0b3BQYXJzZXIKKwkqIHhtbHN0cmluZy5jOiByZW1vdmVkIGNhbGwgdG8geG1sVVRGOFN0cmxlbiBmcm9tIHdpdGhpbgorCSAgeG1sVVRGOFN0cnBvcyAoQmlsbCBNb3NlbGV5IHBvaW50ZWQgb3V0IGl0IHdhcyBub3QKKwkgIHVzZWZ1bCkKKworRnJpIERlYyAxNyAxNjowMzo0MSBQU1QgMjAwNCBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogdmFsaWQuYzogY2hhbmdlZCB4bWxFcnJWYWxpZFdhcm5pbmcgdG8gdXNlIGN0eHQtPndhcm5pbmcKKwkgIGluc3RlYWQgb2YgY3R4dC0+ZXJyb3IgZm9yIGl0cyByZXBvcnRzIChidWcgIzE2MDY2MikKKworRnJpIERlYyAxNyAxNDo1MjoxNyBQU1QgMjAwNCBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogcHl0aG9uL2dlbmVyYXRvci5weTogbW9kaWZpZWQgdG8gYWxsb3cgdGhlIG5zIGFuZCBuc0RlZnMKKwkgIGFjY2Vzc29ycyB0byByZXR1cm4gTm9uZSBpbnN0ZWFkIG9mIGVycm9yIHdoZW4gbm8gbmFtZXNwYWNlCisJICBpcyBwcmVzZW50IChidWcgIykKKworRnJpIERlYyAxNyAxMTo0MDoyMSBQU1QgMjAwNCBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogZG9jL01ha2VmaWxlLmFtOiBjaGFuZ2VkIG1haW50YWluZXItY2xlYW4gZGVwZW5kZW5jeSB3aXRoCisJICBzdWdnZXN0aW9uIGZyb20gQ3Jpc3BpbiBGbG93ZXJkYXkgKGJ1ZyAjMTU3NjM0KQorCSogZGVidWdYTUwuYzogZml4ZWQgY3Jhc2ggd2hlbiBBVFRSSUJVVEUgb3IgRE9DVU1FTlQgbm9kZXMKKwkgIHdlcmUgc3BlY2lmaWVkIHdpdGggZGVidWdEdW1wTm9kZSAoYnVnICMxNjA2MjEpCisKK0ZyaSBEZWMgMTAgMTE6MjQ6NDEgQ0VUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB2YWxpZC5jOiBmaXhlZCBJRCBkZWFsbG9jYXRpb24gcHJvYmxlbSBiYXNlZCBvbiBwYXRjaCBmcm9tCisJICBTdGV2ZSBTaGVwYXJkIGZpeGVzIGJ1ZyAjMTYwODkzCisJKiB4bWxtZW1vcnkuYzogaW1wcm92aW5nIGNvbW1lbnQuCisJKiB0ZXN0YXBpLmM6IG5ldyB0ZXN0IGZvciB4bWxEaWN0RXhpc3RzKCkgaXMgZ2VuZXJhdGVkLgorCitXZWQgRGVjICAxIDIyOjM1OjM3IEhLVCAyMDA0IFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiBkaWN0LmMsIHhwYXRoLmMsIGluY2x1ZGUvbGlieG1sL2hhc2guaDogZml4ZWQgdXAgc29tZSBnY2Mgd2FybmluZ3MsCisJICBubyBjaGFuZ2UgdG8gbG9naWMuICBOZXcgbWFjcm8gWE1MX0NBU1RfRlBUUiB0byBjaXJjdW12ZW50IGdjYworCSAgd2FybmluZ3Mgb24gZnVuY3Rpb24gcG9pbnRlciA8LT4gb2JqZWN0IHBvaW50ZXIgKGEgaGFjaykuCisKK01vbiBOb3YgMjkgMTQ6MDc6MTggQ0VUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4cGF0aC5jOiBmaXhlZCBhIG1lbW9yeSBsZWFrIG9uIGVycm9ycyBpbiBzb21lIGNpcmN1bXN0YW5jZXMgIzE1OTgxMgorCitGcmkgTm92IDI2IDIzOjIwOjQ4IEhLVCAyMDA0IFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiB4bWxJTy5jOiBhZGRlZCBhIGNoZWNrIHdpdGhpbiB4bWxPdXRwdXRCdWZmZXJXcml0ZUVzY2FwZSB0byBwcmV2ZW50CisJICBhIGRlYWQgbG9vcCBvbiBiYWQgZGF0YSAoYnVnIDE1OTU1MCkKKworRnJpIE5vdiAyNiAxMzowOTowNCBDRVQgMjAwNCBLYXNpbWllciBCdWNoY2lrIDxsaWJ4bWwyLWN2c0BjYXppYy5uZXQ+CisKKwkqIHhtbHNjaGVtYXMuYzogRml4ZWQgc3RyaWN0L2xheCBlbGVtZW50IHdpbGRjYXJkczogdGhlIGNoaWxkcmVuCisJICBvZiBlbGVtZW50cyBmb3Igd2hpY2ggYSBkZWNsYXJhdGlvbiBleGlzdGVkIHdlcmUgc3RpbGwgcHJvY2Vzc2VkCisJICBieSB0aGUgd2lsZGNhcmQgbWVjaGFuaXNtIChyZXBvcnRlZCBieSBwaGlsaXBwZSB2ZW50cmlsbG9uIHRvIHRoZQorCSAgbWFpbGluZyBsaXN0KS4KKwkgIENoYW5nZWQgdGhlIGltcG9ydCBhbmQgaW5jbHVkZSBtYWNoYW5pc20gdG8gc2hhcmUgZGljdGlvbmFyaWVzLgorCitGcmkgTm92IDI2IDExOjQ0OjM2IENFVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogSFRNTHBhcnNlci5jIHBhcnNlci5jOiBtYWtlIHN1cmUgeG1sQ3R4dFJlYWRGaWxlIGFuZCBodG1sQ3R4dFJlYWRGaWxlCisJICBnbyB0aHJvdWdoIHRoZSBjYXRhbG9nIHJlc29sdXRpb24uCisJKiBnZW50ZXN0LnB5IHRlc3RhcGkuYzogZml4IGEgc2lkZSBlZmZlY3Qgd3JuaW5nIG9mIHRoZSBjaGFuZ2UKKworV2VkIE5vdiAyNCAxMzo0MTo1MiBDRVQgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGRpY3QuYyBpbmNsdWRlL2xpYnhtbC9kaWN0Lmg6IGFkZGVkIHhtbERpY3RFeGlzdHMoKSB0byB0aGUgCisJICBkaWN0aW9ubmFyeSBpbnRlcmZhY2UuCisJKiB4bWxyZWFkZXIuYzogYXBwbHlpbmcgeG1sVGV4dFJlYWRlckhhc0F0dHJpYnV0ZXMgZml4IGZvciBuYW1lc3BhY2VzCisJICBmcm9tIFJvYiBSaWNoYXJkcworCitXZWQgTm92IDE3IDEzOjU0OjM3IENFVCAyMDA0IEthc2ltaWVyIEJ1Y2hjaWsgPGxpYnhtbDItY3ZzQGNhemljLm5ldD4KKworCSogeG1sc2NoZW1hcy5jOiB0aW55IGVuaGFuY2VtZW50IGZvciBjb250ZW50IG1vZGVsIGVycm9yIHJlcG9ydHMKKwkgICgjMTU3MTkwLCAjMTQzOTQ4KS4gUmVtb3ZlZCBhYmJyZXZpYXRpb25zOiBDVCwgU1QgYW5kIFdDIAorCSAgKCMxNTcxOTAsIHJlcG9ydGVkIGJ5IEZyYW5zICBFbmdsaWNoKS4KKwkgIEluaXRpYWw6IG5vIHJlcG9ydCBvZiBsb2NhbCBjb21wb25lbnRzLgorCSogcmVzdWx0L3NjaGVtYXMvYWxsKiByZXN1bHQvc2NoZW1hcy9hbnkzXzBfMC5lcnIKKwkgIHJlc3VsdC9zY2hlbWFzL2Nob2ljZSoKKwkgIHJlc3VsdC9zY2hlbWFzL2Nvcy1zdC1yZXN0cmljdHMtMS0yLWVycl8wXzAuZXJyCisJICByZXN1bHQvc2NoZW1hcy9kZXJpdmF0aW9uLW9rLWV4dGVuc2lvbi1lcnJfMF8wLmVycgorCSAgcmVzdWx0L3NjaGVtYXMvZGVyaXZhdGlvbi1vay1leHRlbnNpb25fMF8wLmVycgorCSAgcmVzdWx0L3NjaGVtYXMvZGVyaXZhdGlvbi1vay1yZXN0cmljdGlvbi0yLTEtMV8wXzAuZXJyCisJICByZXN1bHQvc2NoZW1hcy9kZXJpdmF0aW9uLW9rLXJlc3RyaWN0aW9uLTQtMS1lcnJfMF8wLmVyciAKKwkgIHJlc3VsdC9zY2hlbWFzL2RldGVyMF8wXzAuZXJyIHJlc3VsdC9zY2hlbWFzL2V4dGVuc2lvbjFfMF8yLmVycgorCSAgcmVzdWx0L3NjaGVtYXMvZmFjZXQtdW5pb25TVC1lcnIxXzBfMC5lcnIKKwkgIHJlc3VsdC9zY2hlbWFzL2hleGJpbmFyeV8wXzEuZXJyCisJICByZXN1bHQvc2NoZW1hcy9saXN0KiByZXN1bHQvc2NoZW1hcy9yZXN0cmljdGlvbi1hdHRyMV8wXzAuZXJyCisJICByZXN1bHQvc2NoZW1hcy92ZHYtZmlyc3Q0XzBfMS5lcnIgcmVzdWx0L3NjaGVtYXMvdmR2LWZpcnN0NF8wXzIuZXJyOgorCSAgQWRhcHRlZCBvdXRwdXQuCisKK01vbiBOb3YgMTUgMTM6MDQ6MjggQ0VUIDIwMDQgS2FzaW1pZXIgQnVjaGNpayA8bGlieG1sMi1jdnNAY2F6aWMubmV0PgorCisJKiB4bWxzY2hlbWFzLmM6IE1vdmVkIGV4ZWN1dGlvbiBvZiB4bWxTY2hlbWFDaGVja0RlZmF1bHRzIHRvCisJICB4bWxTY2hlbWFUeXBlRml4dXA7IHRoaXMgZW5zdXJlcyBmYWNldHMgb2YgaW5oZXJpdGVkIHR5cGVzIHRvIGJlCisJICBjaGVja2VkIHByaW9yIHRvIGZhY2V0cyBvZiBkZXJpdmVkIHR5cGVzIC0gd2hpY2ggY2F1c2VkIGEgc2VnCisJICBmYXVsdCBvdGhlcndpc2UgKGJ1ZyAjMTU4MjE2LCByZXBvcnRlZCBieSBGcmFucyBFbmdsaWNoKS4KKworU3VuIE5vdiAxNCAyMjoyMzoxOCBIS1QgMjAwNCBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogZ2VudGVzdC5weSwgdGVzdGFwaS5jOiBmdXJ0aGVyIGVuaGFuY2VtZW50LCBub3cgYWxsCisJICBjb21waWxhdGlvbiB3YXJuaW5ncyBoYXZlIGJlZW4gZml4ZWQuCisJKiB4bWxzY2hlbWFzdHlwZXMuYzogYWRkZWQgTlVMTCBjaGVjayBmb3Igb25lIGZ1bmN0aW9uCisKK0ZyaSBOb3YgMTIgMjM6NTg6MTQgSEtUIDIwMDQgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIHhwYXRoLmM6IHRyaXZpYWwgY2hhbmdlIChjaGFuZ2VkIENIRUNLX0NPTlRFWFQgdG8gQ0hFQ0tfQ1RYVAorCSAgb24gYSBjb3VwbGUgb2YgbGluZXMpCisJKiBnZW50ZXN0LnB5LCB0ZXN0YXBpLmM6IGVuaGFuY2VkIHRvIHJlZHVjZSBjb21waWxhdGlvbiB3YXJuaW5ncworCitGcmkgTm92IDEyIDE2OjEyOjQ4IENFVCAyMDA0IEthc2ltaWVyIEJ1Y2hjaWsgPGxpYnhtbDItY3ZzQGNhemljLm5ldD4KKworCSogeG1sc2NoZW1hcy5jOiBVbi1jb21tZW50ZWQgYSBUT0RPIGluIHhtbFNjaGVtYVBhcnNlRWxlbWVudC4KKworRnJpIE5vdiAxMiAxNDo1NTozNiBDRVQgMjAwNCBLYXNpbWllciBCdWNoY2lrIDxsaWJ4bWwyLWN2c0BjYXppYy5uZXQ+CisKKwkqIHhtbHNjaGVtYXMuYzogQ29ycmVjdCBzeW1ib2wgc3BhY2UgZm9yICdhbGwnIGFuZCAnY2hvaWNlJy4KKwkqIHhtbHNjaGVtYXN0eXBlcy5jIGluY2x1ZGUveG1sc2NoZW1hc3R5cGVzLmg6IEFkZGVkICdyZXBsYWNlJyAKKwkgIG5vcm1hbGl6YXRpb24gZm9yICdub3JtYWxpemVkU3RyaW5nJy4gIAorCSAgQWRkZWQgeG1sU2NoZW1hV2hpdGVTcGFjZVJlcGxhY2UgdG8gdGhlIEFQSS4KKworVGh1IE5vdiAxMSAyMTo0MzowMiBDRVQgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIE1ha2VmaWxlLmFtOiBmb3Jnb3QgYSAkKHNyY2RpcikKKwkqIGVuY29kaW5nLmM6IHN0dXBpZCBlcnJvciB3cm9uZyBuYW1lICMxNTc5NzYKKworV2VkIE5vdiAxMCAxNTozNToyNSBDRVQgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIE5FV1MgY29uZmlndXJlLmluIGRvYy8qOiBwcmVwYXJpbmcgcmVsZWFzZSBvZiBsaWJ4bWwyLTIuNi4xNgorCitXZWQgTm92IDEwIDEyOjU1OjE4IENFVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcHl0aG9uL2dlbmVyYXRvci5weSBweXRob24vbGlieG1sLmMgcHl0aG9uL2xpYnhtbDJjbGFzcy50eHQKKwkgIHB5dGhvbi9saWJ4bWxfd3JhcC5oIHB5dGhvbi90eXBlcy5jOiBBcHBsaWVkIHBhdGNoIGZyb20gQnJlbnQKKwkgIEhlbmRyaWNrcyBhZGRpbmcgc3VwcG9ydCBmb3IgbGF0ZSBEVEQgdmFsaWRhdGlvbi4KKwkqIHB5dGhvbi90ZXN0cy9NYWtlZmlsZS5hbSBweXRob24vdGVzdHMvZHRkdmFsaWQucHkKKwkgIHB5dGhvbi90ZXN0cy90ZXN0LmR0ZDogaW50ZWdyYXRlZCB0aGUgcHJvdmlkZWQgcmVncmVzc2lvbiB0ZXN0CisKK1R1ZSBub3YgIDkgMTk6MjQ6MzEgQ0VUIDIwMDQgRG9kamkgU2VrZXRlbGkgPGRvZGppQHNla2V0ZWxpLm9yZz4KKworCSogY29uZmlndXJlLmluOiBkZXRlY3Qgd2hlbiBzdHJ1Y3Qgc29ja2FkZHJfc3RvcmFnZQorCSAgaGFzIHRoZSBfX3NzX2ZhbWlseSBtZW1iZXIgaW5zdGVhZCBvZiBzc19mYW1pbHkgYW5kCisJICBiZWhhdmUgYWNjb3JkaW5nbHkuIFdlIG5vdyBjYW4gdXNlIGlwdjYgb24gYWl4LgorCitUdWUgTm92ICA5IDE3OjE1OjQ2IENFVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogTWFrZWZpbGUuYW0gZ2VudGVzdC5weSB0ZXN0YXBpLmM6IGludGVncmF0ZWQgaW4gIm1ha2UgdGVzdHMiCisJICBhZGRlZCAtcSBvcHRpb24sIGFuZCBtb3JlIGNvbmRpdGlvbmFsIGZlYXR1cmVzIGZpeGVzCisJKiBjYXRhbG9nLmMgZGVidWdYTUwuYyBwYXJzZXIuYyB0ZXN0VGhyZWFkcy5jIHhtbGxpbnQuYworCSAgeG1sc2NoZW1hc3R5cGVzLmMgeG1sd3JpdGVyLmNpbmNsdWRlL2xpYnhtbC9jYXRhbG9nLmgKKwkgIGluY2x1ZGUvbGlieG1sL2RlYnVnWE1MLmg6IHZhcmlvdXMgY29tcGlsYXRpb24gYW5kIGNvbmRpdGlvbmFsCisJICBjbGVhbnVwcy4KKwkqIGRvYy8qOiByZWdlbmVyYXRlZAorCitUdWUgTm92ICA5IDE1OjU5OjUwIENFVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZ2VudGVzdC5weSB0ZXN0YXBpLmM6IGJldHRlciBoYW5kbGluZyBvZiBjb25kaXRpb25hbCBmZWF0dXJlcworCSogSFRNTHBhcnNlci5jIFNBWDIuYyBwYXJzZXJJbnRlcm5hbHMuYyB4bWx3cml0ZXIuYzogbW9yZSB0ZXN0aW5nCisJICBvbiBwYXJzZXIgY29udGV4dHMgY2xvc2VkIGxlYWtzLCBlcnJvciBtZXNzYWdlcworCitUdWUgTm92ICA5IDEwOjIxOjM3IEdNVCAyMDA0IFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiB4cGF0aC5jOiBmaXhlZCBwcm9ibGVtIGNvbmNlcm5pbmcgWFBhdGggY29udGV4dCBjb3JydXB0aW9uCisJICBkdXJpbmcgZnVuY3Rpb24gYXJndW1lbnQgZXZhbHVhdGlvbiAoYnVnIDE1NzY1MikKKwkgIAorTW9uIE5vdiAgOCAxODo1NDo1MiBDRVQgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHRlc3RhcGkuYzogbW9yZSB0eXBlcy4KKwkqIHBhcnNlckludGVybmFscy5jIHhwYXRoLmM6IG1vcmUgZml4ZXMKKworTW9uIE5vdiAgOCAxODoxNjo0MyBDRVQgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGdlbnRlc3QucHkgdGVzdGFwaS5jOiBiZXR0ZXIgcGFyc2VyIG9wdGlvbnMgY292ZXJhZ2UKKwkqIFNBWDIuYyB4cGF0aC5jOiBtb3JlIGNsZWFudXBzLgorCitUdWUgTm92ICA5IDAxOjUwOjA4IENFVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogdGVzdGFwaS5jOiB0cnlpbmcgdG8gZml4IHNvbWUgb3B0aW9uYWwgc3VwcG9ydCBicm9rZW5uZXNzCisKK01vbiBOb3YgIDggMTc6MjU6MjcgQ0VUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBnZW50ZXN0LnB5IHRlc3RhcGkuYzogbW9yZSBjb3ZlcmFnZQorCSogZGVidWdYTUwuYyBwYXJzZXIuYyB4bWxyZWdleHAuYyB4cGF0aC5jOiBtb3JlIGZpeGVzCisKK01vbiBOb3YgIDggMTU6MDI6MzkgQ0VUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBnZW50ZXN0LnB5IHRlc3RhcGkuYzogbW9yZSBjb3ZlcmFnZQorCSogU0FYMi5jIHBhcnNlci5jIHBhcnNlckludGVybmFscy5jOiBtb3JlIGZpeGVzCisKK01vbiBOb3YgIDggMTI6NTU6MTYgQ0VUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBwYXJzZXIuYyB0ZXN0YXBpLmMgeG1sSU8uYyB4bWxzdHJpbmcuYzogbW9yZSBmaXhlcy4KKworTW9uIE5vdiAgOCAxMToyNDo1NyBDRVQgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGdlbnRlc3QucHkgdGVzdGFwaS5jOiBtb3JlIHR5cGVzLCBtb3JlIGNvdmVyYWdlCisJKiBwYXJzZXIuYyBwYXJzZXJJbnRlcm5hbHMuYyByZWxheG5nLmMgdmFsaWQuYyB4bWxJTy5jCisJICB4bWxzY2hlbWFzdHlwZXMuYzogbW9yZSBwcm9ibGVtcyBmaXhlZAorCSAgCitNb24gTm92ICA4IDEwOjI0OjI4IEhLVCAyMDA0IFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiBnZW50ZXN0LnB5OiBmaXhlZCB0ZXN0IGZpbGUgY29ycnVwdGlvbiBwcm9ibGVtCisKK1N1biBOb3YgIDcgMTM6MTg6MDUgQ0VUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBnZW50ZXN0LnB5IHRlc3RhcGkuYzogZml4ZWQgdHlwb3MgYW5kIGF2b2lkIENhdGFsb2dzIHZlcmJvc2l0eQorCitTYXQgTm92ICA2IDIzOjI1OjE2IENFVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogdGVzdGFwaS5jOiBhdWdtZW50ZWQgdGhlIG51bWJlciBvZiB0eXBlcworCitTYXQgTm92ICA2IDIwOjI0OjA3IENFVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogSFRNTHRyZWUuYyB0cmVlLmMgeG1scmVhZGVyLmMgeG1sd3JpdGVyLmM6IGEgbnVtYmVyIG9mIG5ldworCSAgYnVnIGZpeGVzIGFuZCBkb2N1bWVudGF0aW9uIHVwZGF0ZXMuCisKK1NhdCBOb3YgIDYgMTU6NTA6MTEgQ0VUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBnZW50ZXN0LnB5IHRlc3RhcGkuYzogYXVnbWVudGVkIHR5cGUgYXV0b2dlbmVyYXRpb24gZm9yIGVudW1zCisJKiB4cGF0aC5jIGluY2x1ZGUvbGlieG1sL3hwYXRoLmg6IHJlbW92ZWQgZGlyZWN0IGVycm9yIHJlcG9ydGluZy4KKworU2F0IE5vdiAgNiAxNDoyNzoxOCBDRVQgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGVuY29kaW5nLmM6IGZpeGVkIGEgcmVncmVzc2lvbiBpbiBpY29udiBzdXBwb3J0LgorCitGcmkgTm92ICA1IDE4OjE5OjIzIENFVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZ2VudGVzdC5weSB0ZXN0YXBpLmM6IGF1dG9nZW5lcmF0ZSBhIG1pbmltYWwgTlVMTCB2YWx1ZSBzZXF1ZW5jZQorCSAgZm9yIHVua25vd24gcG9pbnRlciB0eXBlcworCSogSFRNTHBhcnNlci5jIFNBWDIuYyBjaHZhbGlkLmMgZW5jb2RpbmcuYyBlbnRpdGllcy5jIHBhcnNlci5jCisJICBwYXJzZXJJbnRlcm5hbHMuYyByZWxheG5nLmMgdmFsaWQuYyB4bWxJTy5jIHhtbHJlYWRlci5jIAorCSAgeG1sc2F2ZS5jIHhtbHNjaGVtYXMuYyB4bWxzY2hlbWFzdHlwZXMuYyB4bWxzdHJpbmcuYyB4cGF0aC5jCisJICB4cG9pbnRlci5jOiBUaGlzIHVuY292ZXJlZCBhbiBpbXByZXNzaXZlIGFtb3VudCBvZiBlbnRyeSBwb2ludHMKKwkgIG5vdCBjaGVja2luZyBmb3IgTlVMTCBwb2ludGVycyB3aGVuIHRoZXkgb3VnaHQgdG8sIGNsb3NpbmcgYWxsCisJICB0aGUgb3BlbiBnYXBzLgorCitGcmkgTm92ICA1IDE2OjI2OjI4IFVUQyAyMDA0IFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiBjYXRhbG9nLmM6IGZpeGVkIHByb2JsZW0gd2l0aCBOVUxMIGVudHJ5IChidWcgMTU3NDA3KQorCSogeHBhdGguYzogZml4ZWQgYSBjb3VwbGUgb2Ygd2FybmluZ3MgKG5vIGNoYW5nZSB0byBsb2dpYykKKworRnJpIE5vdiAgNSAxNTozMDo0MyBDRVQgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGdlbnRlc3QucHkgdGVzdGFwaS5jOiBtb3JlIGNvdmVyYWdlCisJKiB4bWx1bmljb2RlLmM6IG9uZSBmaXgKKworRnJpIE5vdiAgNSAyMzoxNTo1MSBDRVQgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGVudGl0aWVzLmM6IGZpeGVkIGEgY29tcGlsYXRpb24gcHJvYmxlbSBvbiBhIHJlY2VudCBjaGFuZ2UKKworRnJpIE5vdiAgNSAxMjo1MDowOSBDRVQgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGdlbnRlc3QucHkgdGVzdGFwaS5jOiBtb3JlIGNvdmVyYWdlCisJKiBuYW5vZnRwLmMgdHJlZS5jOiBtb3JlIGZpeGVzCisKK0ZyaSBOb3YgIDUgMTE6MDI6MjggQ0VUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBnZW50ZXN0LnB5IHRlc3RhcGkuYzogZml4ZWQgdGhlIHdheSB0aGUgZ2VuZXJhdG9yIHdvcmtzLAorCSAgZXh0ZW5kZWQgdGhlIHRlc3RpbmcsIGVzcGVjaWFsbHkgd2l0aCBtb3JlIHJlYWwgdHJlZXMgYW5kIG5vZGVzLgorCSogSFRNTHRyZWUuYyB0cmVlLmMgdmFsaWQuYyB4aW5jbHVkZS5jIHhtbElPLmMgeG1sc2F2ZS5jOiBhIGJ1bmNoCisJICBvZiByZWFsIHByb2JsZW1zIGZvdW5kIGFuZCBmaXhlZC4KKwkqIGVudGl0aWVzLmM6IGZpeCBlcnJvciByZXBvcnRpbmcgdG8gZ28gdGhyb3VnaCB0aGUgbmV3IGhhbmRsZXJzCisKK1RodSBOb3YgIDQgMTg6NDQ6NTYgQ0VUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBwYXJzZXIuYzogZG9oaCAuLi4gc3R1cGlkIGNoYW5nZSBraWxsaW5nIHhtbFBhcnNlRG9jKCkKKworVGh1IE5vdiAgNCAxODozMjoyMiBDRVQgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGdlbnRlc3QucHkgdGVzdGFwaS5jOiBjaGFuZ2luZyB0aGUgd2F5IHRoZSAuYyBpcyBnZW5lcmF0ZWQsCisJICBleHRlbmRpbmcgdGhlIHRlc3RzIGNvdmVyYWdlCisJKiBpbmNsdWRlL2xpYnhtbC9uYW5vZnRwLmggbmFub2Z0cC5jIGVsZmdjY2hhY2suaCBkb2MvKjogZml4aW5nIHNvbWUKKwkgIGZ1bmN0aW9uIHNpZ25hdHVyZXMsIHJlZ2VuZXJhdGluZyBzdHVmZgorCSogU0FYMi5jIHBhcnNlci5jIHhtbElPLmM6IGFub3RoZXIgc2V0IG9mIGJ1ZyBmaXhlcyBhbmQgQVBJIGhhcmRlbmluZworCitUaHUgTm92ICA0IDEzOjMyOjE5IENFVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZ2VudGVzdC5weSB0ZXN0YXBpLmM6IGV4dGVuZGluZyB0aGUgdGVzdHMgY292ZXJhZ2UKKworVGh1IE5vdiAgNCAxMTo1MjoyOCBDRVQgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIE1ha2VmaWxlLmFtOiBnZW50ZXN0LnB5IHdhcyBtaXNzaW5nIGZyb20gdGhlIEVYVFJBX0RJU1QKKworVGh1IE5vdiAgNCAxMTo0ODo0NyBDRVQgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGdlbnRlc3QucHkgdGVzdGFwaS5jOiBleHRlbmRpbmcgdGhlIHRlc3RzIGNvdmVyYWdlCisJKiBIVE1MdHJlZS5jIHRyZWUuYyB4bWxzYXZlLmMgeHBvaW50ZXIuYzogbW9yZSBmaXhlcyBhbmQgY2xlYW51cHMKKworVGh1IE5vdiAgNCAwMDoyNTozNiBDRVQgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGdlbnRlc3QucHkgdGVzdGFwaS5jOiBtb3JlIGZpeGVzIGFuZCBleHRlbmRpbmcgdGhlIHRlc3RzIGNvdmVyYWdlCisJKiBuYW5vZnRwLmMgeG1sSU8uYzogbW9yZSBmaXhlcyBhbmQgaGFyZGVuaW5nCisJCitXZWQgTm92ICAzIDIwOjE2OjI0IENFVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZ2VudGVzdC5weSB0ZXN0YXBpLmM6IG1vcmUgZml4ZXMgYW5kIGV4dGVuZGluZyB0aGUgdGVzdHMgY292ZXJhZ2UKKwkqIHZhbGlkLmM6IGJ1bmNoIG9mIGNsZWFudXBzIGFuZCAyIGxlYWtzIHJlbW92ZWQgCisKK1dlZCBOb3YgIDMgMTg6MDY6NDQgQ0VUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBnZW50ZXN0LnB5IHRlc3RhcGkuYzogbW9yZSBmaXhlcyBhbmQgZXh0ZW5kaW5nIHRoZSB0ZXN0cyBjb3ZlcmFnZQorCSogbGlzdC5jIHRyZWUuYzogbW9yZSBmaXhlcyBhbmQgaGFyZGVuaW5nCisKK1dlZCBOb3YgIDMgMTU6MTk6MjIgQ0VUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBnZW50ZXN0LnB5IHRlc3RhcGkuYzogbW9yZSBmaXhlcyBhbmQgZXh0ZW5kaW5nIHRoZSB0ZXN0cyBjb3ZlcmFnZQorCSogcmVsYXhuZy5jIGluY2x1ZGUvbGlieG1sL3JlbGF4bmcuaDogYWRkaW5nIGEgdHlwZSBpbml0IGludGVyZmFjZQorCSogaW5jbHVkZS9saWJ4bWwveG1sZXJyb3IuaCBwYXJzZXIuYyB4bWxyZWFkZXIuYyB4bWx3cml0ZXIuYzogbW9yZQorCSAgY2xlYW51cHMgYW5kIGJ1ZyBmaXhlcyByYWlzZWQgYnkgdGhlIHJlZ3Jlc3Npb24gdGVzdHMKKworV2VkIE5vdiAgMyAxMjo0OTozMCBDRVQgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGdlbnRlc3QucHkgdGVzdGFwaS5jOiBtb3JlIGZpeGVzIGFuZCBleHRlbmRpbmcgdGhlIHRlc3RzIGNvdmVyYWdlCisJKiB4bWx3cml0ZXIuYyBsaXN0LmM6IG1vcmUgaGFyZGVpbmcgb2YgQVBJcworCSogZG9jL2FwaWJ1aWxkLnB5OiBza2lwIHRlc3RhcGkuYyB3aGVuIHNjYW5uaW5nIHRoZSBDIGZpbGVzLgorCitUdWUgTm92ICAyIDIzOjA5OjA2IENFVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZ2VudGVzdC5weSB0ZXN0YXBpLmM6IG1vcmUgdGVzdGluZyBhbmQgY292ZXJhZ2UKKwkqIGVsZmdjY2hhY2suaCB4bWxzdHJpbmcuYyBpbmNsdWRlL2xpYnhtbC94bWxzdHJpbmcuaDogbW9yZSBjbGVhbnVwcworCSogZG9jLyo6IHJlYnVpbHQKKworVHVlIE5vdiAgMiAxOTo0NDozMiBDRVQgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGdlbnRlc3QucHkgdGVzdGFwaS5jOiBtb3JlIGRldmVsb3BtZW50cyBvbiB0aGUgQVBJIHRlc3RpbmcKKwkqIEhUTUxwYXJzZXIuYyB0cmVlLmM6IG1vcmUgY2xlYW51cHMKKwkqIGRvYy8qOiByZWJ1aWx0CisKK1R1ZSBOb3YgIDIgMTU6NDk6MzQgQ0VUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxtZW1vcnkuYyBpbmNsdWRlL2xpYnhtbC94bWxtZW1vcnkuaDogYWRkaW5nIHhtbE1lbUJsb2NrcygpCisJKiBNYWtlZmlsZS5hbSBnZW50ZXN0LnB5IHRlc3RhcGkuYzogd29yayBvbiBnZW5lcmF0b3Igb2YgYW4KKwkgIGF1dG9tYXRpYyBBUEkgcmVncmVzc2lvbiB0ZXN0IHRvb2wuCisJKiBTQVgyLmMgbmFub2Z0cC5jIHBhcnNlci5jIHBhcnNlckludGVybmFscy5jIHRyZWUuYyB4bWxJTy5jCisJICB4bWxzdHJpbmcuYzogdmFyaW91cyBBUEkgaGFyZGVpbmcgY2hhbmdlcyBhcyBhIHJlc3VsdCBvZiBydW5uaW5nCisJICB0ZWggZmlyc3Qgc2V0IG9mIGF1dG9tYXRpYyBBUEkgcmVncmVzc2lvbiB0ZXN0cy4KKwkqIHRlc3Qvc2xhc2hkb3QxNi54bWw6IGFwcGFyZW50bHkgbWlzc2luZyBmcm9tIENWUywgY29tbWl0ZWQgaXQKKworTW9uIE5vdiAgMSAxNTo1NDoxOCBDRVQgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhwYXRoLmM6IGZpeGVkIGFuIFVURi04IHBhcnNpbmcgYnVnIHJlcG9ydGVkIGJ5IE1hcmt1cyBCZXJ0aGVhdQorCSAgb24gI2ZlZG9yYS1kZXZlbAorCitTdW4gT2N0IDMxIDIyOjAzOjM4IENFVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcGFyc2VyLmM6IGZpeGVkIGEgYnVnIHJlcG9ydGVkIGJ5IFBldHIgUGFqYXMgb24gdGhlIGxpc3QgYW5kCisJICBhZmZlY3RpbmcgWE1MOjpMaWJ4bWwKKworU3VuIE9jdCAzMSAxNjozMzo1NCBDRVQgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGVuY29kaW5nLmMgZG9jL2V4YW1wbGVzL3Rlc3RXcml0ZXIuYzogRml4ZWQgYnVnICMxNTM5MzcsIG1ha2luZworCSAgc3VyZSB0aGUgY29udmVyc2lvbiBmdW5jdGlvbnMgcmV0dXJuIHRoZSBudW1iZXIgb2YgYnl0ZSB3cml0dGVuLgorCSAgSGFkIHRvIGZpeCBvbmUgb2YgdGhlIGV4YW1wbGVzLgorCitGcmkgT2N0IDI5IDE0OjE2OjU2IENFU1QgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGRvYy94bWxsaW50LjEgZG9jL3htbGxpbnQueG1sOiBpbmRpY2F0ZSAtIG1lYW5zIHN0ZGluIGNsb3NpbmcgIzE1NjYyNgorCitGcmkgT2N0IDI5IDE0OjAzOjM2IENFU1QgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHB5dGhvbi9saWJ4bWwuYzogcmVnaXN0ZXIgeG1sU2NoZW1hU2V0VmFsaWRFcnJvcnMsIHBhdGNoIGZyb20KKwkgIEJyZW50IEhlbmRyaWNrcyBpbiB0aGUgbWFpbGluZy1saXN0CisJKiBpbmNsdWRlL2xpYnhtbC92YWxpZC5oIEhUTUxwYXJzZXIuYyBTQVgyLmMgdmFsaWQuYworCSAgcGFyc2VySW50ZXJuYWxzLmM6IGZpeCAjMTU2NjI2IGFuZCBtb3JlIGdlbmVyYWxseSBob3cgdG8gZmluZCBvdXQKKwkgIGlmIGEgdmFsaWRhdGlvbiBjb250ZWN0IGlzIHBhcnQgb2YgYSBwYXJzaW5nIGNvbnRleHQgb3Igbm90LiBUaGlzCisJICBjYW4gcHJvYmFibHkgYmUgaW1wcm92ZWQgdG8gbWFrZSAxMDAlIHN1cmUgdGhhdCB2Y3R4dC0+dXNlckRhdGEKKwkgIGlzIHRoZSBwYXJzZXIgY29udGV4dCB0b28uIEl0J3MgYSBiaXQgaGFpcnkgYmVjYXVzZSB3ZSBjYW4ndCAKKwkgIGNoYW5nZSB0aGUgeG1sVmFsaWRDdHh0IHN0cnVjdHVyZSB3aXRob3V0IGJyZWFraW5nIHRoZSBBQkkgc2luY2UKKwkgIHRoaXMgY2hhbmdlIHhtbFBhcnNlckN0eHQgaW5mb3JtYXRpb24gaW5kZXhlcy4KKworV2VkIE9jdCAyNyAxOToyNjoyMCBDRVNUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBDaGFuZ2VMb2cgTkVXUyBjb25maWd1cmUuaW4gZG9jLyo6IHByZXBhcmluZyByZWxlYXNlIDIuNi4xNQorCSogZGVidWdYTUwuYyBuYW5vZnRwLmMgeG1sc2NoZW1hcy5jIHhtbHNjaGVtYXN0eXBlcy5jOiBjbGVhbnVwcworCitXZWQgT2N0IDI3IDA5OjMxOjI0IFBEVCAyMDA0IFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiB1cmkuYzogZml4ZWQgYSBzdHVwaWQgbWlzdGFrZSBpbiB4bWxCdWlsZFJlbGF0aXZlVVJJCisJICAoYnVnIDE1NjUyNykKKworV2VkIE9jdCAyNyAxMTo0NDozNSBDRVNUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBuYW5vZnRwLmMgbmFub2h0dHAuYzogc2Vjb25kIHBhcnQgb2YgdGhlIHNlY3VyaXR5IGZpeCBmb3IKKwkgIHhtbE5hbm9GVFBDb25uZWN0KCkgYW5kIHhtbE5hbm9IVFRQQ29ubmVjdEhvc3QoKS4KKworVHVlIE9jdCAyNiAyMzo1NzowMiBDRVNUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBuYW5vZnRwLmM6IGFwcGxpZWQgZml4ZXMgZm9yIGEgY291cGxlIG9mIHBvdGVudGlhbCBzZWN1cml0eSBwcm9ibGVtcworCSogdHJlZS5jIHZhbGlkLmMgeG1sbGludC5jOiBtb3JlIGZpeGVzIG9uIHRoZSBzdHJpbmcgaW50ZXJuaW5nIGNoZWNrcworCitUdWUgT2N0IDI2IDE4OjA5OjU5IENFU1QgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGRlYnVnWE1MLmMgaW5jbHVkZS9saWJ4bWwveG1sZXJyb3IuaDogYWRkZWQgY2hlY2tpbmcgZm9yIG5hbWVzCisJICB2YWx1ZXMgYW5kIGRpY3Rpb25uYXJpZXMgZ2VuZXJhdGVzIGEgdG9ucyBvZiBlcnJvcnMKKwkqIFNBWDIuY2NhdGFsb2cuYyBwYXJzZXIuYyByZWxheG5nLmMgdHJlZS5jIHhpbmNsdWRlLmMgeG1sd3JpdGVyLmMKKwkgIGluY2x1ZGUvbGlieG1sL3RyZWUuaDogZml4aW5nIHRoZSBlcnJvcnMgaW4gdGhlIHJlZ3Jlc3Npb24gdGVzdHMKKworTW9uIE9jdCAyNSAxNjowNDoyMiBQRFQgMjAwNCBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogcGFyc2VyLmM6IG1vZGlmaWVkIHRoZSBoYW5kbGluZyBvZiBfcHJpdmF0ZSBmb3IgZW50aXR5CisJICBleHBhbnNpb24gKGJ1ZyAxNTU4MTYpCisKK01vbiBPY3QgMjUgMTc6MTE6MzcgQ0VTVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcGFyc2VyLmM6IGZpeGVkIHRoZSBsZWFrIHJlcG9ydGVkIGJ5IFZvbGtlciBSb3RoIG9uIHRoZSBsaXN0CisJKiB0ZXN0L2VudDEwIHJlc3VsdC8vZW50MTAqOiBhZGRlZCBhIHNwZWNpZmljIHRlc3QgZm9yIHRoZSBwcm9ibGVtCisKK1NhdCBPY3QgMjMgMTE6MDc6NDEgUERUIDIwMDQgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIHZhbGlkLmM6IHVubGlua2VkIHRoZSBpbnRlcm5hbCBzdWJzZXQgd2l0aGluIHhtbFZhbGlkYXRlRHRkCisJICAoYnVnIDE0MTgyNykKKwkqIGNvbmZpZ3VyZS5pbjogYWRkZWQgLVdhbGwgdG8gZGV2ZWxvcGVyJ3MgZmxhZ3MKKwkqIGRvYy9leGFtcGxlcy9yZWFkZXI0LnJlczogYWRkZWQgdG8gQ1ZTCisKK0ZyaSBPY3QgMjIgMTY6MzY6NTAgQ0VTVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogSFRNTHBhcnNlci5jOiBhZGRlZCBzdXBwb3J0IGZvciBIVE1MIFBJcyAjMTU2MDg3CisJKiB0ZXN0L0hUTUwvcHl0aG9uLmh0bWwgcmVzdWx0L0hUTUwvcHl0aG9uLmh0bWwqOiBhZGRlZCBzcGVjaWZpYyB0ZXN0cworCitGcmkgT2N0IDIyIDE1OjIwOjIzIENFU1QgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHRocmVhZHMuYzogZml4ZWQgbmFzdHkgYnVnICMxNTYwODcKKworRnJpIE9jdCAyMiAyMTowNDoyMCBDRVNUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBweXRob24vbGlieG1sLmM6IGZpeGVkIGEgcHJvYmxlbSBvY2N1cmluZyBvbmx5IGluIHg4Nl82NCB3aGVuCisJICB2ZXJ5IGxhcmdlIGVycm9yIG1lc3NhZ2VzIGFyZSByYWlzZWQgdG8gdGhlIFB5dGhvbiBoYW5kbGVycy4KKworVGh1IE9jdCAyMSAxODowMzoyMSBDRVNUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxzY2hlbWFzLmM6IGZpeGVkIGEgbWVtb3J5IGJ1ZworCSogZG9jL2V4YW1wbGVzL3JlYWRlcjQuYyBkb2MvZXhhbXBsZXMvKjogYWRkZWQgdGVzdCBmcm9tIEdyYWhhbSBCZW5uZXR0CisJICBhbmQgcmVnZW5lcmF0ZWQgdGhlIGRpcmVjdG9yeQorCitUdWUgT2N0IDE5IDExOjA2OjM5IENFU1QgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGluY2x1ZGUvbGlieG1sL3htbHJlYWRlci5oIHhtbHJlYWRlci5jOiBhcHBsaWVkIHBhdGNoIGZyb20KKwkgIEdyYWhhbSBCZW5uZXR0IGFkZGluZyA0IGNvbnZlbmllbmNlIGZ1bmN0aW9ucyB0byB0aGUgcmVhZGVyIEFQSS4KKworRnJpIE9jdCAxNSAxMToyMjo0OCBQRFQgMjAwNCBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogZGVidWdYTUwuYzogZXhjbHVkZWQgYSBmZXcgbm9kZXMgKHdpdGggbm8gY29udGVudCkgZnJvbSB0aGUKKwkgIHN0cmluZyBjaGVjayByb3V0aW5lLgorCitGcmkgT2N0IDE1IDEwOjQ4OjMwIEVEVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZGVidWdYTUwuYyBpbmNsdWRlL2xpYnhtbC94bWxlcnJvci5oOiBhZGRlZCBVVEYtOCBzdHJpbmcgY2hlY2tpbmcsCisJICByYWlzZSBhIHByb2JsZW0sIG5lZWQgZGVidWcKKworV2VkIE9jdCAxMyAwMjoxNzozNiBDRVNUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBweXRob24vTWFrZWZpbGUuYW06IGFwcGxpZWQgcGF0Y2ggZnJvbSBUaG9tYXMgRml0enNpbW1vbnMgZml4aW5nCisJICAjMTU1MjQwIGJ1aWxkaW5nIG91dHNpZGUgdGhlIHNvdXJjZSB0cmVlLiBidXQgbWFrZSB0ZXN0cyBmYWlscy4KKworTW9uIE9jdCAxMSAxNjoyNjo1MSBDRVNUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBkZWJ1Z1hNTC5jIGluY2x1ZGUvbGlieG1sL3htbGVycm9yLmg6IGFkZGVkIG5hbWVzcGFjZSBjaGVja2luZworCitTYXQgT2N0ICA5IDIyOjM2OjIxIENFU1QgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGRlYnVnWE1MLmM6IHNvbWUgZnJhbWV3b3JrIHByZXBhcmF0aW9uIHRvIGFkZCBuYW1lc3BhY2UgY2hlY2tpbmdzCisKK1RodSBPY3QgIDcgMTU6MTI6NTggQ0VTVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZGVidWdYTUwuYyBpbmNsdWRlL2xpYnhtbC9kZWJ1Z1hNTC5oIGluY2x1ZGUvbGlieG1sL3htbGVycm9yLmg6CisJICBhZGRpbmcgdGhlIHRyZWUgZGVidWcgbW9kZQorCSogcGFyc2VyLmMgcmVsYXhuZy5jIHRyZWUuYyB4cGF0aC5jOiBmaXhpbmcgdmFyaW91cyBwcm9ibGVtcyByZXBvcnRlZAorCSAgYnkgdGhlIGRlYnVnIG1vZGUuCisJKiBTQVgyLmM6IGFub3RoZXIgdHJlZSBmaXggZnJvbSBSb2IgUmljaGFyZHMKKworV2VkIE9jdCAgNiAxMDo1MDowMyBQRFQgMjAwNCBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogY2F0YWxvZy5jOiBzbWFsbCBjaGFuZ2UgdG8gbGFzdCBmaXgsIHRvIGdldCB4bWw6YmFzZSByaWdodAorCitXZWQgT2N0ICA2IDA5OjMzOjUxIFBEVCAyMDA0IFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiBjYXRhbG9nLmM6IGFkZGVkIGNvZGUgdG8gaGFuZGxlIDxncm91cD4sIGluY2x1ZGluZyBkdW1waW5nCisJICB0byBvdXRwdXQgKGJ1ZyAxNTE5MjQpLgorCSogeG1sY2F0YWxvZy5jLCB4bWxzdHJpbmcuYywgcGFyc2VyLmM6IG1pbm9yIGNvbXBpbGVyIHdhcm5pbmcgCisJICBjbGVhbnVwIChubyBjaGFuZ2UgdG8gbG9naWMpCisJICAKK01vbiBPY3QgIDQgMTY6MDk6MDcgQ0VTVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogY29uZmlndXJlLmluIGRlYnVnWE1MLmMgaW5jbHVkZS9saWJ4bWwveG1sdmVyc2lvbi5oLmluCisJICBpbmNsdWRlL2xpYnhtbC94bWx3aW4zMnZlcnNpb24uaC5pbjogcmV2YW1wZWQgdGhlIFhNTCBkZWJ1Z2dpbmcKKwkgIG1vZHVsZSBhbmQgcHJlcGFyZSBmb3IgYSBuZXcgY2hlY2tpbmcgbW9kZQorCitNb24gT2N0ICA0IDEzOjUzOjI0IENFU1QgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlci5jOiBhcHBsaWVkIHBhdGNoIGZyb20gTWFsY29sbSBUcmVkaW5uaWNrIGZpeGluZyBidWcgIzE1MjQyNgorCitNb24gT2N0ICA0IDEyOjI2OjI4IENFU1QgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHB5dGhvbi9nZW5lcmF0b3IucHkgcHl0aG9uL2xpYnhtbC5jIHB5dGhvbi90ZXN0cy9vdXRidWYucHk6IAorCSAgYXBwbGllZCBwYXRjaCBmcm9tIE1hbGNvbG0gVHJlZGlubmljayBmaXhpbmcgYnVnICMxNTQyOTQKKwkgIHJlbGF0ZWQgdG8gc2F2aW5nIHRvIHB5dGhvbiBmaWxlIG9iamVjdHMuCisKK1NhdCBPY3QgIDIgMjE6MDg6NTEgUERUIDIwMDQgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIHRyZWUuYzogY2hhbmdlZCB4bWxIYXNOc1Byb3AgdG8gcHJvcGVybHkgaGFuZGxlIGEgcmVxdWVzdCBmb3IKKwkgIHRoZSBkZWZhdWx0IG5hbWVzcGFjZSAoYnVnIDE1MzU1NykKKworU2F0IE9jdCAgMiAxODoxODoyNyBQRFQgMjAwNCBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogcGFyc2VyLmM6IGZpeGVkIHByb2JsZW0gd2l0aCBkaWN0aW9uYXJ5IGhhbmRsaW5nIHdpdGhpbgorCSAgeG1sUGFyc2VJbk5vZGVDb250ZXh0IChidWcgMTUzMTc1KQorCitTYXQgT2N0ICAyIDE1OjQ2OjM3IFBEVCAyMDA0IFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiBjaGVjay1yZWxheG5nLXRlc3Qtc3VpdGUucHksIGNoZWNrLXJlbGF4bmctdGVzdC1zdWl0ZTIucHksCisJICBjaGVjay14aW5jbHVkZS10ZXN0LXN1aXRlLnB5LCBjaGVjay14bWwtdGVzdC1zdWl0ZS5weSwKKwkgIGNoZWNrLXhzZGRhdGEtdGVzdC1zdWl0ZS5weSwgZG9jL2V4YW1wbGVzL2luZGV4LnB5OiBjaGFuZ2VkCisJICBjaGFuZ2VkIHN5cy5wYXRoIHNldHRpbmcgZnJvbSAnYXBwZW5kJyB0byAnaW5zZXJ0JyAocGF0Y2gKKwkgIHN1cHBsaWVkIGJ5IE1hbGNvbG0gVHJlZGlubmljaykgKGJ1ZyAxNTM3MTYpCisKK1NhdCBPY3QgIDIgMTU6MDM6MTQgUERUIDIwMDQgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIGluY2x1ZGUvbGlieG1sL3BhcnNlckludGVybmFscy5oOiBhZGRlZCB0d28gbmV3IG1hY3JvcworCSAgSVNfQVNDSUlfTEVUVEVSIGFuZCBJU19BU0NJSV9ESUdJVCB1c2VkIHdpdGggKGh0bWwpCisJICBwYXJzaW5nIGFuZCB4cGF0aCBmb3IgdGVzdGluZyBkYXRhIG5vdCBuZWNlc3NhcmlseQorCSAgdW5pY29kZS4KKwkqIEhUTUxwYXJzZXIuYywgeHBhdGguYzogY2hhbmdlZCB1c2Ugb2YgSVNfTEVUVEVSX0NIIGFuZAorCSAgSVNfRElHSVRfQ0ggbWFjcm9zIHRvIGFzY2lpIHZlcnNpb25zIChidWcgMTUzOTM2KS4KKwkgIAorRnJpIE9jdCAgMSAyMDozNzoyNSBQRFQgMjAwNCBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogZXJyb3IuYzogYWRkZWQgc29tZSBjb2RpbmcgdG8gYXR0ZW1wdCB0byBkaXNwbGF5IHdoaWNoIGZpbGUKKwkgIGNvbnRhaW5zIGFuIGVycm9yIHdoZW4gdXNpbmcgWEluY2x1ZGUgKGJ1ZyAxNTI2MjMpCisKK1RodSBTZXAgMzAgMTE6MTk6MTcgQ0VTVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogY29uZmlndXJlLmluOiBzdHVwaWQgY3V0J24gcGFzdGUgYnVnIGluIHhtbGxpbnQgZGV0ZWN0aW9uCisKK1dlZCBTZXAgMjkgMTc6NDc6NTYgQ0VTVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogY29uZmlndXJlLmluIGRvYy8qOiByZWxlYXNpbmcgMi42LjE0LCByZWJ1aWxkaW5nIHRoZSBkb2NzCisJICAKK1dlZCBTZXAgMjkgMTU6MDA6MTEgQ0VTVCAyMDA0IEthc2ltaWVyIEJ1Y2hjaWsgPGxpYnhtbDItY3ZzQGNhemljLm5ldD4KKworCSogeG1sc2NoZW1hcy5jIGluY2x1ZGUvbGlieG1sL3htbGVycm9yLmggaW5jbHVkZS9saWJ4bWwveG1sc2NoZW1hcy5oCisJICBpbmNsdWRlL2xpYnhtbC9zY2hlbWFzSW50ZXJuYWxzLmg6IFBhcnNpbmcgb2YgPGNvbXBsZXhDb250ZW50PgorCSAgLSBoYW5kbGUgYXR0cmlidXRlICdtaXhlZCcsIGNhdGNoIGlsbGVnYWwgYXR0cmlidXRlcy4KKwkgIFBhcnNpbmcgb2YgPGNvbXBsZXhUeXBlPiAtIGhhbmRsZSBhdHRyaWJ1dGVzICdhYnN0cmFjdCcsCisJICAnZmluYWwnIGFuZCAnYmxvY2snLCBjYXRjaCBpbGxlZ2FsIGF0dHJpYnV0ZXMuCisJICBWYWxpZGF0aW9uIG9mIGNvbXBsZXggdHlwZXMgLSBoYW5kbGUgYWJzdHJhY3QgdHlwZXMuCisJICBBZGRlZCBoYW5kbGluZyBvZiBkZWZhdWx0L2ZpeGVkIGF0dHJpYnV0ZXMgYW5kIGVsZW1lbnQgdmFsdWVzLgorCSAgUGVyIHZhbGlkYXRpb24gb3B0aW9uIGF0dHJpYnV0ZSBub2Rlcy90ZXh0IG5vZGVzIGFyZSBjcmVhdGVkCisJICBvbiB0aGUgaW5zdGFuY2UuCisJICBBZGRlZCB0aGUgY29ycmVzcG9uZGluZyBjb25zdHJhaW50cyBmb3IgZml4ZWQvZGVmYXVsdC4KKwkgIEFkZGVkIHhtbFNjaGVtYVNldFZhbGlkT3B0aW9ucywgeG1sU2NoZW1hR2V0VmFsaWRPcHRpb25zCisJICB0byB0aGUgZXh0ZXJuYWwgQVBJLgorCSAgRXh0ZW5kZWQgZWxlbWVudCBkZWNsYXJhdGlvbiBjb25zdHJhaW50cy4gIAorCSAgR290IHJpZCBvZiBwZXJzZXZlcmF0aXZlIGNyZWF0aW9uIG9mIHRlbXBvcmVyeSB2YWxpZGF0aW9uL3BhcnNlciAKKwkgIGNvbnRleHRzLgorCSAgQWRkZWQgaGFuZGxpbmcgb2YgeHNpOnNjaGVtYUxvY2F0aW9uIGFuZAorCSAgeHNpOm5vTmFtZXNwYWNlU2NoZW1hTG9jYXRpb24uCisJICBGaXhlZCB4c2k6dHlwZSBjb21wb25lbnQgcmVzb2x1dGlvbiBpZiB1c2luZyBub24tcHJlZml4ZWQKKwkgIFFOYW1lcy4KKwkqIHhtbHJlZ2V4cC5jIHhtbHNjaGVtYXMuYyBpbmNsdWRlL2xpYnhtbC94bWxhdXRvbWF0YS5oOgorCSAgRW5hYmxlZCBuYW1lc3BhY2UgYXdhcmVuZXNzIG9mIHRoZSBjb250ZW50IG1vZGVsIGlmIHVzaW5nIHRoZQorCSAgbW9kZWwgZ3JvdXAgImFsbCIuCisJKiB0ZXN0L3NjaGVtYXMvYnVnMTUyNDcwXzEueHNkOiBSZW1vdmVkIGFuICJhYnN0cmFjdCIgYXR0cmlidXRlLAorCSAgd2hpY2ggYnJva2UgdGhlIHRlc3QuCisJKiB4c3RjL3hzdGMucHk6ICBXb3JrYXJvdW5kIHRvIGFjY29tb2RhdGUgY2FzZSBpbnNlbnNpdGl2ZQorCSAgdGVzdCBkZWZpbml0aW9ucyBpbiBtcy10ZXN0LmRlZi54bWwgKHdhcyBtaXNzaW5nIGluIGEgcHJldmlvdXMKKwkgIGNvbW1pdCkuCisKK1dlZCBTZXAgMjkgMTE6MDM6MTAgQ0VTVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcHl0aG9uL2Rydl9saWJ4bWwyLnB5OiBhbm90aGVyIHBhdGNoIGZyb20gTWFsY29sbSBUcmVkaW5uaWNrCisJICBhZGRpbmcgb3B0aW9uIG5vdCB0byBsb2FkIGR0ZCBmcm9tIHRoZSBkcnZfbGlieG1sMi5weSBtb2R1bGUKKwkgICMxMzQ2MzMKKworVHVlIFNlcCAyOCAxNDozMDoyMiBDRVNUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBhY2NvbmZpZy5oIGNvbmZpZy5oLmluIGNvbmZpZ3VyZS5pbiB4bWxJTy5jIHhtbHJlZ2V4cC5jIHhtbHNjaGVtYXMuYworCSAgeG1sc2NoZW1hc3R5cGVzLmM6IGFub3RoZXIgcGF0Y2ggZnJvbSBNYWxjb2xtIFRyZWRpbm5pY2sgZml4aW5nCisJICB3YXJuaW5nIGdlbmVyYXRlZCBieSB0aGUgTm9uc3RvcCBLZXJuZWwgT3BlbiBTeXN0ZW0gU2VydmljZXMgCisJICBjb21waWxlciAjMTUxNzEwCisKK1R1ZSBTZXAgMjggMTM6MDc6MzcgQ0VTVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcHl0aG9uL2xpYnhtbC5weTogYXBwbGllZCBwYXRjaCBmcm9tIE1hbGNvbG0gVHJlZGlubmljayBmaXhpbmcKKwkgIHB5dGhvbiBleGNlcHRpb24gaGllcmFyY2h5ICMxMzk4MjQKKworU3VuIFNlcCAyNiAxNjo0MDoyNCBDRVNUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB2YWxpZC5jIFRPRE86IGFwcGxpZWQgcGF0Y2ggZnJvbSBNYWxjb2xtIFRyZWRpbm5pY2sgZml4aW5nIGVycmF0YQorCSAgRTIwIGNvbmNlcm5pbmcgTk1UT0tFTlMgYW5kIGNvLiB2YWxpZGF0aW9uICMxNTM3MjIKKwkqIHJlc3VsdC9WQy9BdHRyaWJ1dGVObXRva2VucyB0ZXN0L1ZDL0F0dHJpYnV0ZU5tdG9rZW5zCisJICB0ZXN0L1ZDTS9BdHRyaWJ1dGVObXRva2Vucy54bWw6IGFsc28gYWRkZWQgdGVzdHMgZnJvbSBNYWxjb2xtCisKK1N1biBTZXAgMjYgMTY6MjQ6NDQgQ0VTVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeHN0Yy94c3RjLnB5OiBhcHBsaWVkIHBhdGNoIGZyb20gTWFsY29sbSBUcmVkaW5uaWNrIGZpeGluZyBzcGFjZS90YWJzCisJICAjMTUzNzEzCisJKiB4cGF0aC5jOiBmaXhlZCBhIHJlYWxsb2MgcG90ZW50aWFsIHByb2JsZW0KKworRnJpIFNlcCAyNCAxNjoxNDoxMiBDRVNUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBNYWtlZmlsZS5hbTogZml4ZWQgbWFrZSB2YWxncmluZCB4c3RjIAorCitUaHUgU2VwIDIzIDE4OjIzOjQ2IENFU1QgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbHNjaGVtYXN0eXBlcy5jOiBmaXhpbmcgYW4gb3V0IG9mIGJvdW5kIGFkcmVzc2luZyBpc3N1ZQorCitUaHUgU2VwIDIzIDE1OjE0OjEyIENFU1QgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIEhUTUxwYXJzZXIuYyBwYXJzZXIuYyByZWxheG5nLmMgeG1sc2NoZW1hcy5jOiBtb3JlIG1lbW9yeSByZWxhdGVkCisJICBjb2RlIGNsZWFudXBzLgorCitUaHUgU2VwIDIzIDAxOjA0OjMwIENFU1QgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlci5jOiBmaXhlZCBhIGJ1bmNoIG9mIGVycm9ycyB3aGVuIHJlYWxsb2MgZmFpbGVkLgorCitXZWQgU2VwIDIyIDIzOjU2OjA1IENFU1QgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHRocmVhZHMuYyB1cmkuYzogY291cGxlIG9mIG1lbW9yeSBmaXhlcyBmcm9tIE1hcmsgVmFrb2MgcmVwb3J0ZWQKKwkgIGJ5IFB1cmlmeSBvbiBXaW5kb3dzLgorCitNb24gU2VwIDIwIDIyOjAxOjQ3IENFU1QgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbGxpbnQuYzogYWRkZWQgLS10aW1pbmcgLS1jb3B5IHRpbWluZyBmb3IgdGhlIGNvcHkKKwkqIHZtcy9idWlsZF9saWJ4bWwuY29tOiBhcHBsaWVkIHBhdGNoIGZyb20gQ3JhaWcgQmVycnkKKwkgIHRvIGJ1aWxkIHdpdGggcmVjZW50IHJlbGVhc2VzCisKK0ZyaSBTZXAgMTcgMjE6MjU6MzMgUERUIDIwMDQgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIG5hbm9odHRwLmMsIGluY2x1ZGUvbGlieG1sL25hbm9odHRwLmg6IGFkZGVkIHRoZSByb3V0aW5lCisJICB4bWxOYW5vSFRUUENvbnRlbnRMZW5ndGggdG8gdGhlIGV4dGVybmFsIEFQSSAoYnVnMTUxOTY4KS4KKwkqIHBhcnNlci5jOiBmaXhlZCB1bm5lY2Vzc2FyeSBpbnRlcm5hbCBlcnJvciBtZXNzYWdlIChidWcxNTIwNjApOworCSAgYWxzbyBjaGFuZ2VkIGNhbGwgdG8gc3RybmNtcCBvdmVyIHRvIHhtbFN0cm5jbXAuCisJKiBlbmNvZGluZy5jOiBmaXhlZCBjb21waWxhdGlvbiB3YXJuaW5nIChidWcxNTIzMDcpLgorCSogdHJlZS5jOiBmaXhlZCBzZWdmYXVsdCBpbiB4bWxDb3B5UHJvcExpc3QgKGJ1ZzE1MjM2OCk7IGZpeGVkCisJICBhIGNvdXBsZSBvZiBjb21waWxhdGlvbiB3YXJuaW5ncy4KKwkqIEhUTUx0cmVlLmMsIGRlYnVnWE1MLmMsIHhtbG1lbW9yeS5jOiBmaXhlZCBhIGZldyBjb21waWxhdGlvbgorCSAgd2FybmluZ3M7IG5vIGNoYW5nZSB0byBsb2dpYy4KKworRnJpIFNlcCAxNyAxMDo0MDoyMyBDRVNUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBwYXJzZXIuYzogcmVtb3ZlZCBzb21lIGV4dGVybiBiZWZvcmUgZnVuY3Rpb24gY29kZSByZXBvcnRlZCBieQorCSAgS2phcnRhbiBNYXJhYXMgb24gSVJDCisJKiBsZWdhY3kuYzogZml4ZWQgY29tcGlsaW5nIHdoZW4gY29uZmlndXJpbmcgb3V0IHRoZSBIVE1MIHBhcnNlcgorCSogTWFrZWZpbGUuYW06IGFkZGVkIGEgZGVjbGFyYXRpb24gZm9yIENWU19FWFRSQV9ESVNUCisJKiBIVE1McGFyc2VyLmM6IGJlZ2lubmluZyBvZiBhbiBhdHRlbXB0IGF0IGNsZWFuaW5nIHVwIHRoZSBjb25zdHJ1Y3Rpb24KKwkgIG9mIHRoZSBIVE1MIHBhcnNlciBkYXRhIHN0cnVjdHVyZXMsIGN1cnJlbnQgZGF0YSBnZW5lcmF0ZSBhIGh1Z2UKKwkgIGFtb3VudCBvZiBFTEYgcmVsb2NhdGlvbnMgYXQgbG9hZGluZyB0aW1lLgorCitGcmkgU2VwIDE3IDEwOjM2OjIzIENFU1QgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIENoYW5nZUxvZzogYXBwbGllZCBmaXggZnJvbSBTdGVwYW4gS2FzYWwgdG8gZml4IGR1cGxpY2F0aW9uCisJICBpbiB0aGUgY2hhbmdlIGxvZyBhbmQgY2xlYW51cCBvZiBzcGFjZS90YWJzIGlzc3Vlcy4KKworVGh1IFNlcCAxNiAxMzoyNDoyNyBDRVNUIDIwMDQgS2FzaW1pZXIgQnVjaGNpayA8bGlieG1sMi1jdnNAY2F6aWMubmV0PgorCisJKiB4bWxzY2hlbWFzLmMgaW5jbHVkZS9saWJ4bWwvc2NoZW1hc0ludGVybmFscy5oIAorCSAgdGVzdC9zY2hlbWFzL2J1ZzE1MjQ3MF8xLiogcmVzdWx0L3NjaGVtYXMvYnVnMTUyNDcwXzFfMSo6IAorCSAgU2ltcGlmaWVkIGF0dHJpYnV0ZSB3aWxkY2FyZCBjcmVhdGlvbiBhbmQgYXNzaWdubWVudCB0byBnZXQgcmlkIAorCSAgb2YgbWVtb3J5IGxlYWtzLgorCSAgUmVzdHJ1Y3R1cmVkIHRoZSB2YWxpZGF0aW9uIHByb2Nlc3MuCisJICBSZXN0cnVjdHVyZWQgYW5kIGV4cGFuZGVkIHBhcnNpbmcgb2YgPGF0dHJpYnV0ZUdyb3VwPi4KKwkgIEFkZGVkIGluaXRpYWwgaGFuZGluZyBvZiB4c2k6dHlwZS4KKwkgIEFkdmFuY2VkIGhhbmRsaW5nIG9mIHhzaTpuaWwgKHNob3VsZCB3b3JrIG5vdyBmb3Igc2ltcGxlIHR5cGVzKS4KKwkgIEFkZGVkIGNvbnN0cnVjdGlvbiBvZiBzY2hlbWF0YSB1c2luZyB4c2k6c2NoZW1hTG9jYXRpb24gYW5kIAorCSAgeHNpOm5vTmFtZXNwYWNlU2NoZW1hTG9jYXRpb247IHRoaXMgaXMgbm90IGVuYWJsZWQsIHNpbmNlIAorCSAgbm8gY29ycmVzcG9uZGluZyBBUEkgZXhpc3RzIHlldC4KKwkgIE1vdmVkIHRoZSBjb250ZW50IG1vZGVsIHRvIGNvbXBsZXggdHlwZSBjb21wb25lbnRzLgorCSAgUmVzb2x1dGlvbiBvZiB0eXBlcyBmb3IgYXR0cmlidXRlcyB3aWxsIGxvb2sgZm9yIHNpbXBsZSB0eXBlcworCSAgb25seSAoaW5jbC4gYWxsIHRoZSBidWlsdC1pbiBzaW1wbGUgdHlwZXMpLgorCSAgRXh0ZW5kZWQgcGFyc2luZyBvZiAnYW55QXR0cmlidXRlJy4KKwkgIEZpeGVkIGNvbnRlbnQtdHlwZSB0eXBlIGZvciBjb21wbGV4IHR5cGVzIGlmIGRlcml2ZWQgZnJvbSAKKwkgICdhbnlUeXBlJyB1c2luZyB0aGUgc2hvcnQtaGFuZCBmb3JtIChzZWUgYnVnICMgMTUyNDcwLAorCSAgc3VibWl0dGVkIGJ5IFRoaWxvIEplcmVtaWFzKS4KKwkqIGluY2x1ZGUvbGlieG1sL3htbHNjaGVtYXR5cGVzLmg6IENsZWFuZWQgdXAgc29tZSBjb21tZW50cy4KKwkqIHhzdGMveHN0Yy5weTogV29ya2Fyb3VuZCB0byBhY2NvbW9kYXRlIGNhc2UgaW5zZW5zaXRpdmUKKwkgIHRlc3QgZGVmaW5pdGlvbnMgaW4gbXMtdGVzdC5kZWYueG1sLgorCSogcmVzdWx0L3NjaGVtYXMvZGV0ZXIwXzBfMC5lcnIgcmVzdWx0L3NjaGVtYXMvbnMwXzBfMi5lcnIKKwkgIHJlc3VsdC9zY2hlbWFzL25zMF8xXzIuZXJyOiBBZGFwdGVkLgorCitTYXQgU2VwIDExIDA5OjA0OjIyIFBEVCAyMDA0IFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiB4bWx3cml0ZXIuYzogY2hhbmdlZCBjaGFyIGFycmF5IGluaXRpYWxpc2F0aW9uIHRvIGF2b2lkIGEKKwkgIGNvbXBsYWludCBmcm9tIHNvbWUgY29tcGlsZXIocykgKGJ1ZyAxNTIzMDgpCisKK1RodSBTZXAgIDkgMDc6MjI6MTEgUERUIDIwMDQgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIGVuY29kaW5nLmM6IGFwcGxpZWQgZml4ZXMgZm9yIHRoZSBVVEY4VG9JU084ODU5eCB0cmFuc2NvZGluZworCSAgcm91dGluZSBzdWdnZXN0ZWQgYnkgTWFyayBJdHpjb3ZpdHoKKworV2VkIFNlcCAgOCAyMjo1MDoyNyBDRVNUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB2YWxpZC5jIHhtbHNhdmUuYzogZml4ZWQgMiBwcm9ibGVtcyByYWlzZWQgYnkgIzE1MjE0MCwgb25lCisJICB3aGljaCBpcyB0aGF0IG5vdGF0aW9uIG5vdCBpbiB0aGUgaW50ZXJuYWwgc3Vic2V0IHNob3VsZAorCSAgbm90IGJlIHNhdmVkLCBhbmQgdGhlIHNlY29uZCBtb3JlIG5hc3R5IG9uIGFuIGVycm9yIHNhdmluZworCSAgTk9UQVRJT05zLCBpZiB0aGVyZSBpcyBhIHByb29mIHRoYXQgbm9ib2R5IHVzZXMgbm90YXRpb25zICEKKworV2VkIFNlcCAgOCAxMTowNDoyNyBDRVNUIDIwMDQgS2FzaW1pZXIgQnVjaGNpayA8bGlieG1sMi1jdnNAY2F6aWMubmV0PgorCisJKiB4bWxzY2hlbWFzLmMgaW5jbHVkZS9saWJ4bWwveG1sc2NoZW1hcy5oOiBBZGRlZCB0aGUgZnVuY3Rpb24KKwkgIHhtbFNjaGVtYVZhbGlkYXRlT25lRWxlbWVudCB0byB0aGUgWE1MIFNjaGVtYSB2YWxpZGF0aW9uIEFQSSwgCisJICBhcyBwcm9wb3NlZCBieSBKZWZmcmV5IEZpbmsgLSBzZWUgYnVnICMgMTUyMDczLgorCitUdWUgU2VwICA3IDExOjEwOjM2IENFU1QgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGNvbmZpZ3VyZS5pbiBkb2MvTWFrZWZpbGUuYW0geHN0Yy9NYWtlZmlsZS5hbTogc29tZSBjbGVhbnVwCisJICBjaGVja2luZyBmb3IgeG1sbGludCBhbmQgeHNsdHByb2MgaW4gY29uZmlndXJlLmluLCBmaXhlZAorCSAgbWFrZSBkaXN0IHcuci50LiB0aGUgbmV3IHhzdGMgc3ViZGlyLgorCSogZG9jLyo6IHJlYnVpbHQKKworTW9uIFNlcCAgNiAxNjo0Mjo1OSBDRVNUIDIwMDQgS2FzaW1pZXIgQnVjaGNpayA8bGlieG1sMi1jdnNAY2F6aWMubmV0PgorCisJKiB4c3RjL3hzdGMucHk6IENoYW5nZWQgdG8gZmluYWxseSB2YWxpZGF0ZSBpbnN0YW5jZSBkb2N1bWVudHMuCisKK01vbiBTZXAgIDYgMTY6MDQ6MDEgQ0VTVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeHN0Yy9NYWtlZmlsZS5hbSBNYWtlZmlsZS5hbTogaW50ZWdyYXRlZCB0byAibWFrZSB2YWxncmluZCIsCisJICBoZWF2eSAuLi4gd2VpZ2h0IDI1ME1CIG9mIFZNICEKKworTW9uIFNlcCAgNiAxNDo1NDozOSBDRVNUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4c3RjL01ha2VmaWxlLmFtIHhzdGMveHN0Yy10by1weXRob24ueHNsIHhzdGMveHN0Yy5weSBNYWtlZmlsZS5hbToKKwkgIG1vcmUgY2xlYW51cCBpbiBpbnRlZ3JhdGluZyB0aGUgeHN0YyB0ZXN0c3VpdGUKKworTW9uIFNlcCAgNiAxMzo1NjoyOCBDRVNUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBNYWtlZmlsZS5hbSBjb25maWd1cmUuaW4geHN0Yy8uY3ZzaWdub3JlIHhzdGMvTWFrZWZpbGUuYW06CisJICBzdGFydGluZyB0byBpbnRlZ3JhdGUgdGhlIHhzdGMgc3VpdGUgaW4gdGhlIG5vcm1hbCByZWdyZXNzaW9uCisJICB0ZXN0cworCitNb24gU2VwICA2IDEzOjE0OjExIENFU1QgMjAwNCBLYXNpbWllciBCdWNoY2lrIDxsaWJ4bWwyLWN2c0BjYXppYy5uZXQ+CisKKwkqIHhzdGMvc3VuLXRlc3QtZGVmLnhtbDogVGhlICJ0c0RpciIgYXR0cmlidXRlIHdhcyBub3QKKwkgIHNldCBjb3JyZWN0bHkuCisKK01vbiBTZXAgIDYgMTE6NTI6NTAgQ0VTVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogY2hlY2steGluY2x1ZGUtdGVzdC1zdWl0ZS5weTogd2hlbiBvdXRwdXQgYW5kIGV4cGVjdGVkIGRvIG5vdCBtYXRjaAorCSAgZXhhY3RseSBydW4gZGlmZiB0byBwdXQgdGhlIGRpZmZlcmVuY2VzIGluIHRoZSBsb2cgYy5mLiAjMTQ4NjkxCisKK01vbiBTZXAgIDYgMTE6MTc6MzUgQ0VTVCAyMDA0IEthc2ltaWVyIEJ1Y2hjaWsgPGxpYnhtbDItY3ZzQGNhemljLm5ldD4KKworCSogeHN0Yy94c3RjLXRvLXB5dGhvbi54c2x0IHhzdGMvbXMtdGVzdC1kZWYueG1sIHhzdGMvbmlzdC10ZXN0LWRlZi54bWwKKwkgIHhzdGMvc3VuLXRlc3QtZGVmLnhtbDogSW5pdGlhbCByZWxlYXNlIG9mIGdlbmVyYXRpb24gZmlsZXMgdG8gCisJICBjcmVhdGUgcHl0aG9uIHRlc3Qgc2NyaXB0cywgd2hpY2ggd2lsbCBydW4gdGhlIFczQyBYTUwgU2NoZW1hIFRlc3QKKwkgIENvbGxlY3Rpb24uIFRoZSBtcy10ZXN0LWRlZi54bWwgYW5kIHN1bi10ZXN0LWRlZi54bWwgZmlsZXMKKwkgIHdlcmUgZXh0cmFjdGVkIGZyb20gdGhlIG9ubGluZSBIVE1MIFhTVEMgcmVzdWx0cyBbMV0sIHNpbmNlIHRoZXkgZGlkCisJICBub3QgZXhpc3QgZm9yIHRoZSBTVU4gdGVzdHMsIGFuZCBvbmx5IHBhcnRpYWxseSBkaWQgZXhpc3QgZm9yIHRoZSAKKwkgIE1TIHRlc3RzLiBUaGUgTklTVCBkZWZpbml0aW9uIGZpbGUgd2FzIGNyZWF0ZWQgYnkgY29uY2F0ZW5hdGlvbgorCSAgb2YgdGhlIGV4aXN0aW5nIGRlZmluaXRpb24gZmlsZXMgZm9yIGVhY2ggc2luZ2xlIGRhdGF0eXBlLgorCSAgVGhlIHN0eWxlc2hlZXQgInhzdGMtdG8tcHl0aG9uLnhzbHQiIHNob3VsZCBiZSBydW4gYWdhaW5zdCB0aGUKKwkgIGRlZmluaXRpb24gZmlsZXMgdG8gcHJvZHVjZSB0aGUgcHl0aG9uIHNjcmlwdHMuCisJICBbMV0gImh0dHA6Ly93d3cudzMub3JnL1hNTC8yMDAxLzA1L3htbHNjaGVtYS10ZXN0LWNvbGxlY3Rpb24vCisJICByZXN1bHRzLW1hc3Rlci5odG1sIgorCitGcmkgU2VwICAzIDIwOjI5OjU5IENFU1QgMjAwNCBLYXNpbWllciBCdWNoY2lrIDxsaWJ4bWwyLWN2c0BjYXppYy5uZXQ+CisKKwkqIHhtbHNjaGVtYXMuYyBpbmNsdWRlL2xpYnhtbC9zY2hlbWFzSW50ZXJuYWxzLmgKKwkgIGluY2x1ZGUvbGlieG1sL3htbGVycm9yLmg6IEZpeGVkIGEgc2VnIGZhdWx0IGluIHhtbEdldFFOYW1lUHJvcDoKKwkgIGEgZm9ybWF0IGFyZ3VtZW50IHdhcyBtaXNzaW5nLgorCSAgRml4ZWQgd3JvbmcgYXNzaWdubWVudCBvZiB0aGUgb3duZXIgb2YgYSB3aWxkY2FyZCBpbgorCSAgeG1sU2NoZW1hQnVpbGRBdHRyaWJ1dGVWYWxpZGF0aW9uIChpbiB0aGUgc2hvcnRoYW5kZm9ybSBvZgorCSAgPGNvbXBsZXhUeXBlPjsgdGhpcyBjYXVzZWQgYSBzZWcgZmF1bHQsIGR1ZSB0byBhIGRvdWJsZS1mcmVlCisJICBvZiB0aGUgd2lsZGNhcmQuCisJICBBZGRlZCBhIGNoZWNrIGZvciBjaXJjdWxhciBhdHRyaWJ1dGUgZ3JvdXAgcmVmZXJlbmNlcy4KKwkgIEFkZGVkIGEgY2hlY2sgZm9yIGNpcmN1bGFyIG1vZGVsIGdyb3VwIGRlZmluaXRpb24gcmVmZXJlbmNlcy4KKwkgIEZpeGVkIGEgZHVibGljYXRlIHhtbFBhcnNlckVycm9ycyBlbnVtIHZhbHVlIC0gc2VlIGJ1ZyAjMTUxNzM4LgorCitGcmkgU2VwICAzIDEwOjA4OjEzIFBEVCAyMDA0IFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW1tLmNvbS5oaz4KKworCSogeG1sc3RyaW5nLmM6IG1vZGlmaWVkIGNvbW1lbnRzIG9uIHhtbEdldFVURjhDaGFyIGluCisJICByZXNwb25zZSB0byBidWcgMTUxNzYwIChubyBjaGFuZ2UgdG8gbG9naWMpCisKK1R1ZSBBdWcgMzEgMDk6NDY6MTggUERUIDIwMDQgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIHhtbHN0cmluZy5jOiBmaXhlZCBlcnJvciByZXBvcnRlZCBvbiB0aGUgbGlzdCBjYXVzZWQgYnkKKwkgIG15IGxhc3QgY2hhbmdlCisKK1R1ZSBBdWcgMzEgMTU6NDE6NTIgQ0VTVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogTkVXUyBjb25maWd1cmUuaW4gZG9jLyo6IHJlbGVhc2Ugb2YgbGlieG1sMi0yLjYuMTMKKworVHVlIEF1ZyAzMSAxNDoxNDozMCBDRVNUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxJTy5jOiBmaXhpbmcgIzE1MTQ1NiwgYW4gZW5jb2RpbmcgZXJyb3IgY291bGQgZ2VuZXJhdGUKKwkgIGEgc2VyaWFsaXphdGlvbiBsb29wLgorCitUdWUgQXVnIDMxIDExOjM0OjA0IENFU1QgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIE1ha2VmaWxlLmFtOiBhbHNvIHByb2R1Y2UgYSB0YXIgYmFsbCB3aXRoIGp1c3QgdGhlIHNvdXJjZXMKKwkqIHhtbGxpbnQuYzogYWRkZWQgLS1wYXRoIG9wdGlvbiBhbmQgLS1sb2FkLXRyYWNlIG9wdGlvbnMgdG8KKwkgIHhtbGxpbnQsIFJGRSAjMTQ3NzQwIGJhc2VkIG9uIHhzbHRwcm9jIHZlcnNpb25zCisJKiBkb2MveG1sbGludC4qIGRvYy8qOiB1cGRhdGVkIHRoZSBtYW4gcGFnZSBhbmQgcmVidWlsdAorCitUdWUgQXVnIDMxIDEwOjM3OjIzIENFU1QgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbHNjaGVtYXN0eXBlcy5jOiAiIiBpcyBhIHZhbGlkIGhleGJpbmFyeSBzdHJpbmcgZGl4aXQgeG1sc2NoZW1hLWRldgorCSogcmVzdWx0L3NjaGVtYXMvaGV4YmluYXJ5XzBfMS5lcnIgdGVzdC9zY2hlbWFzL2hleGJpbmFyeV8xLnhtbDogCisJICB1cGRhdGUgdGhlIHRlc3QuCisJKiB0ZXN0L25zNSByZXN1bHQvL25zNSo6IGFkZGVkIGEgdGVzdCBmb3IgdGhlIG5hbWVzcGFjZSBidWcgZml4ZWQKKwkgIGluIHByZXZpb3VzIGNvbW1pdC4KKwkqIE1ha2VmaWxlLmFtOiBhZGRlZCBhIG1lc3NhZ2UgaW4gdGhlIHJlZ3Jlc3Npb24gdGVzdHMKKworTW9uIEF1ZyAzMCAyMzozNjoyMSBQRFQgMjAwNCBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogU0FYMi5jOiBmaXhlZCBidWcgaW50cm9kdWNlZCBkdXJpbmcgT09NIGZpeHVwIGNhdXNpbmcgcHJvYmxlbXMKKwkgIHdpdGggZGVmYXVsdCBuYW1lc3BhY2Ugd2hlbiBhIG5hbWVkIHByZWZpeCB3aXRoIHRoZSBzYW1lIGhyZWYKKwkgIHdhcyBwcmVzZW50IChyZXBvcnRlZCBvbiB0aGUgbWFpbGluZyBsaXN0IGJ5IEthcmwgRWljaHdhbGRlci4KKwkqIHhtbHN0cmluZy5jOiBtb2RpZmllZCB4bWxDaGVja1VURjggd2l0aCBzdWdnZXN0ZWQgY29kZSBmcm9tCisJICBKdWxpdXMgTWl0dGVuendlaS4KKwkqIGRpY3QuYzogYWRkZWQgYSB0eXBlY2FzdCB0byB0cnkgdG8gYXZvaWQgcHJvYmxlbSByZXBvcnRlZCBieQorCSAgUGFzY2FsIFJvZGVzLgorCitNb24gQXVnIDMwIDEyOjQ1OjQ2IENFU1QgMjAwNCBLYXNpbWllciBCdWNoY2lrIDxsaWJ4bWwyLWN2c0BjYXppYy5uZXQ+CisKKwkqIHhtbHNjaGVtYXMuYzogRml4ZWQgYSBidWcgaW4geG1sU2NoZW1hc0NoZWNrRmFjZXQsIHdoaWNoIGRpZAorCSAgbm90IGNyZWF0ZSBhIGNvbXB1dGVkIHZhbHVlIG9uIGEgZmFjZXQgYW5kIHRodXMgY3Jhc2hlZCBkdXJpbmcKKwkgIHZhbGlkYXRpb24gb2YgaW5zdGFuY2VzLgorCSAgRXhwYW5kZWQgdmFsaWRpdHkgY2hlY2tzIGZvciBtaW4vbWF4T2NjdXJzIGF0dHJpYnV0ZXMuCisJICBFeHBhbmRlZCB2YWxpZGl0eSBjaGVja3MgZm9yIHRoZSB2YWx1ZSBvZiB0aGUgYXR0cmlidXRlICJmb3JtIi4KKworRnJpIEF1ZyAyNyAxODozMjoyNCBQU1QgMjAwNCBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogeG1sc3RyaW5nLmM6IGZpeGVkIGEgcHJvYmxlbSB3aXRoIHhtbENoZWNrVVRGOCByZXBvcnRlZCBvbiB0aGUKKwkgIG1haWxpbmcgbGlzdCBieSBKdWxpdXMgTWl0dGVuendlaQorCitGcmkgQXVnIDI3IDAwOjEzOjM5IENFU1QgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGxpYnhtbC5zcGVjLmluOiBhZGRlZCBCdWlsZFJlcXVpcmVzOiAgemxpYi1kZXZlbCwgZml4ZXMKKwkgIFJlZCBIYXQgYnVnICMxMjQ5NDIKKworVGh1IEF1ZyAyNiAxMjoyNzoyMyBDRVNUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBwYXJzZXIuYzogcmVtb3ZlIGEgd2FybmluZyBvbiBTb2xhcmlzCisJKiB4bWxzY2hlbWFzdHlwZS5jOiBmaXggYSBjcmFzaGluZyBidWcgIzE1MTExMQorCitXZWQgQXVnIDI1IDIyOjIwOjE4IENFU1QgMjAwNCBLYXNpbWllciBCdWNoY2lrIDxsaWJ4bWwyLWN2c0BjYXppYy5uZXQ+CisKKwkqIHRlc3Qvc2NoZW1hcy9pbXBvcnQtYmFkLTFfMC5pbXA6IEFkZGVkIG1pc3NpbmcgdGVzdCBmaWxlLgorCSogeG1sc2NoZW1hcy5jIGluY2x1ZGUvbGlieG1sL3htbGVycm9yLmggaW5jbHVkZS9saWJ4bWwveG1sc2NoZW1hcy5oOgorCSAgU3Vic3RpdHV0ZWQgdGhlIG9ic29sZXRlIHhtbFNjaGVtYVZhbGlkRXJyb3IocykgZm9yIHhtbFBhcnNlckVycm9ycworCSAgLSBzZWUgIzE1MDg0MC4gCisJICBDaGFuZ2VkIHRoZSBpbXBvcnQgb2Ygc2NoZW1hcyB0byBhbGxvdyBmYWlsdXJlIG9mIGxvY2F0aW9uCisJICBvZiBhIHJlc291cmNlIHRvIGJlIGltcG9ydGVkLgorCSogcmVzdWx0L3NjaGVtYXMvYWxsXyogcmVzdWx0L3NjaGVtYXMvYW55M18wXzAuZXJyIAorCSAgcmVzdWx0L3NjaGVtYXMvY2hvaWNlXyogcmVzdWx0L3NjaGVtYXMvaW1wb3J0MV8wXzAuZXJyCisJICByZXN1bHQvc2NoZW1hcy9saXN0MF8wXzEuZXJyIHJlc3VsdC9zY2hlbWFzL2xpc3QwXzFfMC5lcnIKKwkgIHJlc3VsdC9zY2hlbWFzL2xpc3QwXzFfMS5lcnIgcmVzdWx0L3NjaGVtYXMvbnMwXzBfMi5lcnIKKwkgIHJlc3VsdC9zY2hlbWFzL25zMF8xXzIuZXJyOiBBZGFwdGVkIHJlZ3Jlc3Npb24gdGVzdCByZXN1bHRzLgorCitUdWUgQXVnIDI0IDIwOjQ5OjE1IE1EVCAyMDA0IEpvaG4gRmxlY2sgPGpmbGVja0BpbmtzdGFpbi5uZXQ+CisKKwkqIGRvYy90dXRvcmlhbC94bWx0dXRvcmlhbC54bWwsIHhtbHR1dG9yaWFsLnBkZiwgKi5odG1sCisJZml4IFhwYXRoIG1lbW9yeSBsZWFrICh0aGFua3MgdG8gc0thQm95IGFuZCBXaWxsaWFtIEJyYWNrKQorCitUdWUgQXVnIDI0IDIxOjEwOjU5IENFU1QgMjAwNCBJZ29yIFpsYXRrb3ZpYyA8aWdvckB6bGF0a292aWMuY29tPgorCisJKiBwYXJzZXIuYzogZml4ZWQgcGF0aCBwcm9ibGVtIGluIERURCBsb2FkaW5nIHJlcG9ydGVkIGJ5IAorCSAgU2FtZWVyIEFiaGlua2FyCisKK1R1ZSBBdWcgMjQgMTY6NDA6NTEgQ0VTVCAyMDA0IElnb3IgWmxhdGtvdmljIDxpZ29yQHpsYXRrb3ZpYy5jb20+CisKKwkqIHdpbjMyL2NvbmZpZ3VyZS5qczogYWRkZWQgc3VwcG9ydCBmb3IgdmVyc2lvbiBleHRyYQorCSogd2luMzIvTWFrZWZpbGUuKjogdXBncmFkZWQgdG8gemxpYiAxLjIuMQorCitNb24gQXVnIDIzIDE0OjMzOjU0IENFU1QgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGNvbmZpZ3VyZS5pbjogcmVtb3ZpbmcgLU8gLWcgZnJvbSBkZWZhdWx0IGdjYyBmbGFncyAjMTUwODI4CisKK1N1biBBdWcgMjIgMTY6MjY6NDYgQ0VTVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogY29uZmlndXJlLmluIGRvYy8qIE5FV1M6IHByZXBhcmluZyAyLjYuMTIgcmVsZWFzZSwgdXBkYXRlZCBhbmQKKwkgIGFuZCByZWJ1aWx0IHRoZSBkb2NzLgorCitTdW4gQXVnIDIyIDE2OjA3OjIwIENFU1QgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHB5dGhvbi9saWJ4bWwuYzogZml4IGEgcHJvYmxlbSBvbiBsYXN0IGNvbW1pdAorCitTdW4gQXVnIDIyIDE1OjE2OjUzIENFU1QgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbGxpbnQuYyB4cGF0aC5jIGluY2x1ZGUvbGlieG1sL3hwYXRoLmggCisJICBpbmNsdWRlL2xpYnhtbC94cGF0aEludGVybmFscy5oIHB5dGhvbi9saWJ4bWwuYyAKKwkgIHB5dGhvbi9saWJ4bWxfd3JhcC5oOiB0cnlpbmcgdG8gcmVtb3ZlIHNvbWUgd2FybmluZyB3aGVuIGNvbXBpbGluZworCSAgb24gRmVkb3JhIENvcmUgMyBhbmQgNjRiaXRzCisKK1NhdCBBdWcgMjEgMDowMzU6MTAgQ0VUIDIwMDQgS2FzaW1pZXIgQnVjaGNpayA8bGlieG1sMi1jdnNAY2F6aWMubmV0PgorCisJKiB4bWxzY2hlbWFzLmM6IG1vZGlmaWVkIHBhcnNpbmcgb2YgPGxpc3Q+LCA8dW5pb24+LCA8cmVzdHJpY3Rpb24+LAorCSAgPHNlcXVlbmNlPiwgPGNob2ljZT4sIDxpbmNsdWRlPiwgPGltcG9ydD4uCisJICBGaXhlZCBzY2hlbWEgZGVmYXVsdHMgKGVsZW1lbnRGb3JtRGVmYXVsdCwgZXRjLikgZm9yIGluY2x1ZGVkCisJICBzY2hlbWFzLgorCSAgRml4ZWQgYSBidWcgd2hpY2ggcmVwb3J0ZWQgYXR0cmlidXRlcyBhcyBpbnZhbGlkIG9uCisJICBlbGVtZW50cyBkZWNsYXJhdGlvbnMgd2l0aCB0aGUgYnVpbHQtaW4gdHlwZSAnYW55VHlwZScuCisJICBBZGRlZCAibGF4IiB2YWxpZGF0aW9uIG9mIHRoZSBjb250ZW50IG9mIGVsZW1lbnRzIG9mIHR5cGUKKwkgICdhbnlUeXBlJy4KKwkgIEZpeGVkOiBlbGVtZW50IGRlY2xhcmF0aW9ucyB3aXRoIHRoZSBzYW1lIG5hbWUgd2VyZSB0cmVhdGVkCisJICBhcyBkdXBsaWNhdGUgaWYgbG9jYXRlZCBpbiB0aGUgc3VidHJlZSBvZiA8Y2hvaWNlPiAtPiA8c2VxdWVuY2U+LgorCSAgKFRoaXMgd2FzIGJ1ZyAxNTA2MjMsIHN1Ym1pdHRlZCBieSBSb2xhbmQgTGV6dW8pCisJICBGaXhlZCBjbGVhbnVwIG9mIGVycm9yIGNvZGVzIGluIHhtbFNjaGVtYVZhbGlkYXRlRG9jIGFzIHByb3Bvc2VkCisJICBieSBJZ29yIEthcGl0YW5rZXIuIChUaGlzIHdhcyBidWcgMTUwNjQ3LCBzdWJtaXR0ZWQgYnkgSWdvcgorCSAgS2FwaXRhbmtlcikKKwkqIHhtbHNjaGVtYXN0eXBlcy5jOiBDaGFuZ2VkIHRoZSB0eXBlIG9mIGFueVR5cGUgdG8KKwkgIFhNTF9TQ0hFTUFTX0FOWVRZUEUuCisJKiBpbmNsdWRlL2xpYnhtbC94bWxlcnJvci5oOiBBZGRlZCBzY2hlbWEgcGFyc2VyIGVycm9ycy4KKwkqIHJlc3VsdC9zY2hlbWFzL2J1ZzE0NTI0Nl8wXzAqCisJICByZXN1bHQvc2NoZW1hcy9leHRlbnNpb24xXzBfMi5lcnI6IENoYW5nZWQgdGVzdCByZXN1bHRzLgorCSogcmVzdWx0L3NjaGVtYXMvY3Qtc2Mtbm9iYXNlXzBfMCoKKwkgIHJlc3VsdC9zY2hlbWFzL2ZhY2V0LXdoaXRlU3BhY2VfMF8wKgorCSAgcmVzdWx0L3NjaGVtYXMvaW1wb3J0MV8wXzAqIHJlc3VsdC9zY2hlbWFzL2ltcG9ydDJfMF8wKgorCSAgcmVzdWx0L3NjaGVtYXMvaW5jbHVkZTJfMF8wKiByZXN1bHQvc2NoZW1hcy9pbmNsdWRlM18wXzAqCisJICByZXN1bHQvc2NoZW1hcy9yZXN0cmljdGlvbi1hdHRyMV8wXzAqCisJICByZXN1bHQvc2NoZW1hcy9zZXEtZHVibC1lbGVtMV8wXzAqCisJICByZXN1bHQvc2NoZW1hcy94c2QtbGlzdC1pdGVtVHlwZV8wXzAqOiBBZGRlZCBuZXcgcmVzdCByZXN1bHRzLgorCSAgdGVzdC9zY2hlbWFzL2J1ZzE0NTI0Ni54c2QuaW1wIHRlc3Qvc2NoZW1hcy9jdC1zYy1ub2Jhc2VfMCoKKwkgIHRlc3Qvc2NoZW1hcy9mYWNldC13aGl0ZVNwYWNlXzAqIHRlc3Qvc2NoZW1hcy9pbXBvcnQxXzAqCisJICB0ZXN0L3NjaGVtYXMvaW1wb3J0Ml8wKiB0ZXN0L3NjaGVtYXMvaW5jbHVkZTJfMCoKKwkgIHRlc3Qvc2NoZW1hcy9pbmNsdWRlM18wKiB0ZXN0L3NjaGVtYXMvcmVzdHJpY3Rpb24tYXR0cjFfMCoKKwkgIHRlc3Qvc2NoZW1hcy9zZXEtZHVibC1lbGVtMV8wKiB0ZXN0L3NjaGVtYXMveG1sLnhzZAorCSAgdGVzdC9zY2hlbWFzL3hzZC1saXN0LWl0ZW1UeXBlXzAqOiBBZGRlZCBuZXcgdGVzdHMgYW5kIG1pc3NpbmcKKwkgIGZpbGVzLiAgCSAgICAgIAorCitGcmkgQXVnIDIwIDE4OjUxOjM2IENFU1QgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIE1ha2VmaWxlLmFtIGNvbmZpZ3VyZS5pbjogYSBiaXQgb2YgY2xlYW51cCBhbmQgYSBleHRyYSB2YXJpYWJsZSBmb3IKKwkgIENWUyBkaXN0CisKK1RodSBBdWcgMTkgMDc6NDQ6MDcgTURUIDIwMDQgSm9obiBGbGVjayA8amZsZWNrQGlua3N0YWluLm5ldD4KKworCSogZG9jL3htbGxpbnQueG1sLCB4bWxsaW50LjEsIHhtbGxpbnQuaHRtbDoKKwlFZGl0IGFuZCByZWJ1aWxkIHRoZSBtYW4gcGFnZXMgd2l0aCBEYW5pZWwncyBDMTQgdXBkYXRlCisKK1dlZCBBdWcgMTggMTk6MTU6MjcgUERUIDIwMDQgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIHBhcnNlci5jOiBmaXhlZCBtaXNzaW5nIGxpbmUgbnVtYmVycyBvbiBlbnRpdHkgYXMgcmVwb3J0ZWQKKwkgIG9uIHRoZSBsaXN0IGJ5IFN0ZXZlIENoZW5nCisKK1dlZCBBdWcgMTggMTQ6MDQ6MzEgUERUIDIwMDQgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIGNvbmZpZ3VyZS5pbiBnbG9iYWxzLmMgaW5jbHVkZS9saWJ4bWwveG1sdmVyc2lvbi5oLmluCisJICBpbmNsdWRlL2xpYnhtbC94bWx3aW4zMnZlcnNpb24uaC5pbjogYWRkZWQgc29tZSBjb2RlIHRvCisJICBpbmNsdWRlIHRoZSBDVlMgQ2hhbmdlTG9nIHZlcnNpb24gaW4gdGhlIHhtbFBhcnNlclZlcnNpb24KKwkgIHN0cmluZyAocHJpbnRlZCBieSB4bWxsaW50IHdpdGggLS12ZXJzaW9uKQorCitXZWQgQXVnIDE4IDExOjE0OjA2IENFU1QgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbHNjaGVtYXMuYyBpbmNsdWRlL2xpYnhtbC94bWxzY2hlbWFzLmggcHl0aG9uL2dlbmVyYXRvci5weQorCSAgcHl0aG9uL2xpYnhtbC5jIHB5dGhvbi9saWJ4bWxfd3JhcC5oIHB5dGhvbi90eXBlcy5jCisJICBweXRob24vdGVzdHMvc2NoZW1hLnB5IHB5dGhvbi90ZXN0cy9NYWtlZmlsZS5hbTogQXBwbGllZCBwYXRjaAorCSAgZnJvbSBUb3JrZWwgTHluZyB0byBhZGQgU2NoZW1hcyBzdXBwb3J0IHRvIHRoZSBQeXRob24gYmluZGluZ3MKKwkgIGFuZCBleHRlbmQgdGhlIHNjaGVtYXMgZXJyb3IgQVBJLCByZWdpc3RlcmVkIGEgbmV3IHRlc3QuCisJKiBkb2MvKiBlbGZnY2NoYWNrLmg6IHJlYnVpbHQgdG8gcmVnZW5lcmF0ZSB0aGUgYmluZGluZ3MKKworTW9uIEF1ZyAxNiAxNDozNjoyNSBDRVNUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBkZWJ1Z1hNTC5jOiBhZGRlZCBoZWxwIGZvciBuZXcgc2V0IHNoZWxsIGNvbW1hbmQKKwkqIHhpbmNsdWRlLmMgeG1sbGludC5jIHhtbHJlYWRlci5jIGluY2x1ZGUvbGlieG1sL3BhcnNlci5oOgorCSAgYWRkZWQgcGFyc2VyIG9wdGlvbiB0byBub3QgZ2VuZXJhdGUgWEluY2x1ZGUgc3RhcnQvZW5kIG5vZGVzLAorCSAgYWRkZWQgYSBzcGVjaWZpYyBvcHRpb24gdG8geG1sbGludCB0byB0ZXN0IGl0IGZpeGVzICMxMzA3NjkKKwkqIE1ha2VmaWxlLmFtOiByZWdyZXNzaW9uIHRlc3QgdGhlIG5ldyBmZWF0dXJlCisJKiBkb2MveG1sbGludC4xIGRvYy94bWxsaW50LnhtbDogdXBkYXRlZCBtYW4gcGFnZSB0byBkb2N1bWVudCBvcHRpb24uCisKK01vbiBBdWcgMTYgMDI6NDI6MzAgQ0VTVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sSU8uYzogc21hbGwgdHlwbyBwb2ludGVkIG91dCBieSBNaWtlIEhvbW1leQorCSogZG9jL3htbGxpbnQueG1sLCB4bWxsaW50Lmh0bWwsIHhtbGxpbnQuMTogc2xpZ2h0bHkgaW1wcm92ZWQKKwkgIHRoZSAtLWMxNG4gZGVzY3JpcHRpb24sIGMuZi4gIzE0NDY3NSAuCisJKiBuYW5vaHR0cC5jIG5hbm9mdHAuYzogYXBwbGllZCBhIGZpcnN0IHNpbXBsZSBwYXRjaCBmcm9tIAorCSAgTWlrZSBIb21tZXkgZm9yICRub19wcm94eSwgYy5mLiAjMTMzNDcwCisJKiBwYXJzZXJJbnRlcm5hbHMuYyBpbmNsdWRlL2xpYnhtbC9wYXJzZXJJbnRlcm5hbHMuaAorCSAgaW5jbHVkZS9saWJ4bWwveG1sZXJyb3IuaDogY2xlYW51cCB0byBhdm9pZCAnZXJyb3InIGlkZW50aWZpZXIgCisJICBpbiBpbmNsdWRlcyAjMTM3NDE0CisJKiBwYXJzZXIuYyBTQVgyLmMgZGVidWdYTUwuYyBpbmNsdWRlL2xpYnhtbC9wYXJzZXIuaDoKKwkgIGZpcnN0IHZlcnNpb24gb2YgdGhlIGlucGxlbWVudGF0aW9uIG9mIHBhcnNpbmcgd2l0aGluCisJICB0aGUgY29udGV4dCBvZiBhIG5vZGUgaW4gdGhlIHRyZWUgIzE0MjM1OSwgbmV3IGZ1bmN0aW9uCisJICB4bWxQYXJzZUluTm9kZUNvbnRleHQoKSwgYWRkZWQgc3VwcG9ydCBhdCB0aGUgeG1sbGludCAtLXNoZWxsCisJICBsZXZlbCBhcyB0aGUgInNldCIgZnVuY3Rpb24KKwkqIHRlc3Qvc2NyaXB0cy9zZXQqIHJlc3VsdC9zY3JpcHRzLyogTWFrZWZpbGUuYW06IGV4dGVuZGVkCisJICB0aGUgc2NyaXB0IGJhc2VkIHJlZ3Jlc3Npb24gdGVzdHMgdG8gaW5zdHJ1bWVudCB0aGUgbmV3IGZ1bmN0aW9uLgorCitTYXQgQXVnIDE0IDE4OjUzOjA4IE1EVCAyMDA0IEpvaG4gRmxlY2sgPGpmbGVja0BpbmtzdGFpbi5uZXQ+CisKKwkqIGRvYy94bWxsaW50LnhtbCwgeG1sbGludC5odG1sLCB4bWxsaW50LjE6CisJYWRkIGMxNG4gdG8gbWFuIHBhZ2UgKG1hbiwgaXQncyBoYXJkIHRvIGtlZXAgdXAgd2l0aAorCURhbmllbCEpCisKK1NhdCBBdWcgMTQgMTg6NDU6MzggTURUIDIwMDQgSm9obiBGbGVjayA8amZsZWNrQGlua3N0YWluLm5ldD4KKworCSogZG9jL3htbGxpbnQueG1sLCB4bWxsaW50Lmh0bWwsIHhtbGxpbnQuMToKKwlhZGQgcGF0dGVybiwgd2Fsa2VyLCBtYXhtZW0sIG91dHB1dCBhbmQgeG1sb3V0IHRvIG1hbiBwYWdlCisJZml4ZXMgIzE0NDY3NQorCitTdW4gQXVnIDE1IDAwOjQxOjEyIENFU1QgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbGxpbnQuYzogYWRkZWQgYSAtLWMxNG4gb3B0aW9uIHRvIGNhbm9uaWNhbGl6ZSB0aGUgb3V0cHV0CisJICBzaG91bGQgY2xvc2UgdGhlIFJGRSAjMTQzMjI2CisKK1NhdCBBdWcgMTQgMjM6NTA6MTAgQ0VTVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogdHJlZS5jOiBEb2RqaSBwb2ludGVkIG91dCBhIGJ1ZyBpbiB4bWxHZXROb2RlUGF0aCgpCisJKiB4bWxjYXRhbG9nLmM6IGFwcGxpZWQgcGF0Y2ggZnJvbSBBbGJlcnQgQ2hpbiB0byBhZGQgYQorCSAgLS1uby1zdXBlci11cGRhdGUgb3B0aW9uIHRvIHhtbGNhdGFsb2cgc2VlICMxNDU0NjEKKwkgIGFuZCBhbm90aGVyIHBhdGNoIGFsc28gZnJvbSBBbGJlcnQgQ2hpbiB0byBub3QgY3Jhc2ggCisJICBvbiAtc2dtbCAtLWRlbCB3aXRob3V0IGFyZ3Mgc2VlICMxNDU0NjIKKwkqIE1ha2VmaWxlLmFtOiBhcHBsaWVkIGFub3RoZXIgcGF0Y2ggZnJvbSBBbGJlcnQgQ2hpbiB0bworCSAgZml4IGEgcHJvYmxlbSB3aXRoIGRpZmYgb24gU29sYXJpcyAjMTQ1NTExCisJKiB4bWxzdHJpbmcuYzogZml4IHhtbENoZWNrVVRGOCgpIGFjY29yZGluZyB0byB0aGUgc3VnZ2VzdGlvbgorCSAgaW4gYnVnICMxNDgxMTUKKwkqIHB5dGhvbi9saWJ4bWwucHk6IGFwcGx5IGZpeCBmcm9tIE1hcmMtQW50b2luZSBQYXJlbnQgYWJvdXQKKwkgIHRoZSBlcnJvcnMgaW4gbGlieG1sKDIpLnB5IG9uIHRoZSBub2RlIHdyYXBwZXIgIzEzNTU0NworCitTYXQgQXVnIDE0IDEzOjE4OjU3IENFU1QgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIE1ha2VmaWxlLmFtOiBhZGRlZCBhIGR1bWIgcnVsZSB0byBhYmxlIHRvIGNvbXBpbGUgdHN0LmMKKwkgIHdoZW4gcGVvcGxlIHN1Ym1pdCBhIHNhbXBsZSB0ZXN0IHByb2dyYW0KKwkqIHhtbHNjaGVtYXMuYzogYXBwbGllZCBzbWFsbCBwYXRjaCBmcm9tIEVyaWMgSGFzemxha2lld2ljegorCSAgdG8gZG9jdW1lbnQgeG1sU2NoZW1hc1NldFZhbGlkRXJyb3JzKCkgbGltaXRhdGlvbnMsICMxNDE4MjcKKwkqIGVycm9yLmM6IEFkZCBpbmZvcm1hdGlvbiBpbiBnZW5lcmljIGFuZCBzdHJ1Y3R1cmVkIGVycm9yCisJICBzZXR0ZXIgZnVuY3Rpb25zIHRoYXQgdGhpcyBuZWVkIHRvIGJlIGRvbmUgcGVyIHRocmVhZCAjMTQ0MzA4CisJKiB4bWxzYXZlLmM6IGZpeGVkIGJ1ZyB3aGl0aCBtaXNzaW5nIE5PVEFUSU9OKHMpIHNlcmlhbGl6YXRpb24KKwkgIGJ1ZyAjMTQ0MTYyCisJKiBkb2MveG1sbGludC54bWw6IHR5cG8gZml4ICMxNDQ4NDAKKworVHVlIEF1ZyAxMCAwNzoxOTozMSBQRFQgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGNvbmZpZ3VyZS5pbiB4bWxyZWdleHAuYyB4bWxzY2hlbWFzLmMgeG1sc2NoZW1hc3R5cGVzLmMKKwkgIGluY2x1ZGUvbGlieG1sL3NjaGVtYXNJbnRlcm5hbHMuaCBpbmNsdWRlL2xpYnhtbC94bWxlcnJvci5oCisJICBpbmNsdWRlL2xpYnhtbC94bWxzY2hlbWFzdHlwZXMuaDogYXBwbGllZCBTY2hlbWFzIHBhdGNoZXMKKwkgIGZyb20gS2FzaW1pZXIgQnVjaGNpaworCSogdGVzdC8gcmVzdWx0LyBidWcxNDEzMzMqIGFubm90LWVyciogYW55WzEtNF0qIGJ1ZzE0NTI0NioKKwkgIGVsZW1lbnQtZXJyKiBlbGVtZW50LW1pbm1heC1lcnIqIGluY2x1ZGUxKiByZXN0cmljdC1DVC1hdHRyLXJlZio6CisJICBsb3Qgb2YgbmV3IHRlc3RzIGZvciB0aGluZ3MgZml4ZWQgYnkgdGhlIHBhdGNoCisKK0ZyaSBBdWcgIDYgMDk6MjI6MzQgUERUIDIwMDQgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIHZhbGlkLmM6IGZpeGVkIG15IG1pcy1oYW5kbGluZyBvZiBFeHRlcm5hbCBJRCBvbiBsYXN0CisJICBjaGFuZ2UuCisKK1dlZCBBdWcgIDQgMjM6NDA6MjEgUERUIDIwMDQgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIHZhbGlkLmM6IGNoYW5nZWQgdGhlIHBhcnNpbmcgb2YgYSBkb2N1bWVudCdzIERURCB0byB1c2UKKwkgIHRoZSBwcm9wZXIgYmFzZSBwYXRoIChidWcgMTQ0MzY2KQorCitXZWQgQXVnICA0IDE2OjU4OjA4IENFU1QgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIE1ha2VmaWxlLmFtIGNvbmZpZy5oLmluIGNvbmZpZ3VyZS5pbiBweXRob24vTWFrZWZpbGUuYW06CisJICBhcHBsaWVkIGEgcGF0Y2ggZnJvbSBHZXJyaXQgUC4gSGFhc2UgdG8gZ2V0IHB5dGhvbiBiaW5kaW5ncworCSAgb24gQ3lnd2luCisKK1R1ZSBBdWcgIDMgMTU6MDg6MjIgUERUIDIwMDQgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIGluY2x1ZGUvbGlieG1sL3ZhbGlkLmg6IGVsYWJvcmF0ZWQgb24gZGVzY3JpcHRpb24gb2YKKwkgIHhtbFZhbGlkaXR5V2FybmluZ0Z1bmMgYW5kIHhtbFZhbGlkaXR5RXJyb3JGdW5jIChidWcKKwkgIDE0NDc2MCkKKwkqIHhtbElPLmMsIHhtbHNjaGVtYXN0eXBlcy5jLCBpbmNsdWRlL2xpYnhtbC9zY2hlbWFzaW50ZXJuYWxzLmg6CisJICBtaW5vciBmaXhlcyB0byBjb21tZW50cyBmb3IgZG9jIHJlYnVpbGRpbmcgZXJyb3JzLgorCSogZG9jLyouaHRtbDogcmVidWlsdCB0aGUgZG9jcworCitUdWUgQXVnICAzIDIzOjU5OjIzIENFU1QgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGRvYy9DaGFuZ2VMb2cueHNsIGRvYy9kb3dubG9hZHMuaHRtbCBkb2MveG1sLmh0bWwgZG9jLyo6CisJICBmaXhlcyBkb2N1bWVudGF0aW9uIGdsaXRjaGVzIHJhaXNlZCBieSBPbGl2ZXIgU3RvZW5lYmVyZworCitUdWUgQXVnICAzIDA5OjQyOjMxIFBEVCAyMDA0IFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiB0cmVlLmM6IGZpeGVkIHByb2JsZW0gd2l0aCBtZW1vcnkgbGVhayBvbiB0ZXh0IG5vZGVzIGluIERURAorCSAgKGJ1ZyAxNDg5NjUpIHdpdGggcGF0Y2ggcHJvdmlkZWQgYnkgRGFycmVsbCBLaW5kcmVkCisKK1R1ZSBBdWcgIDMgMDg6MTQ6NDQgUERUIDIwMDQgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIEhUTUxwYXJzZXIuYzogZml4ZWQgaW5pdGlhbGlzYXRpb24gcHJvYmxlbSBmb3IgaHRtbFJlYWRNZW1vcnkKKwkgIChidWcgMTQ5MDQxKQorCitTYXQgSnVsIDMxIDExOjAxOjMzIFBEVCAyMDA0IFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiBkb2MvYnVpbGREb2NCb29rQ2F0YWxvZzogZW5oYW5jZWQgcGVyIGJ1ZyAxMTk4NzYuICBGdXJ0aGVyCisJICBpbmZvIHBvc3RlZCB0byB0aGUgbWFpbGluZyBsaXN0LgorCitTYXQgSnVsIDMxIDA5OjEyOjQ0IFBEVCAyMDA0IFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiBTQVgyLmMsIGVuY29kaW5nLmMsIGVycm9yLmMsIHBhcnNlci5jLCB0cmVlLmMsIHVyaS5jLCB4bWxJTy5jLAorCSAgeG1scmVhZGVyLmMsIGluY2x1ZGUvbGlieG1sL3RyZWUuaDogbWFueSBmdXJ0aGVyIGxpdHRsZSBjaGFuZ2VzCisJICBmb3IgT09NIHByb2JsZW1zLiAgTm93IHNlZW1zIHRvIGJlIGdldHRpbmcgY2xvc2VyIHRvICJvayIuCisJKiB0ZXN0T09NLmM6IGFkZGVkIGNvZGUgdG8gaW50ZXJjZXB0IG1vcmUgZXJyb3JzLCBmb3VuZCBtb3JlCisJICBwcm9ibGVtcyB3aXRoIGxpYnJhcnkuIENoYW5nZWQgbWV0aG9kIG9mIGZsYWdnaW5nIC8gY291bnRpbmcKKwkgIGVycm9ycyBpbnRlcmNlcHRlZC4KKworRnJpIEp1bCAzMCAxMzo1Nzo1NSBDRVNUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB0cmVlLmM6IGFwcGxpZWQgYSBjb3VwbGUgb2YgcGF0Y2ggb25lIGZyb20gT2xpdmVyIFN0b2VuZWJlcmcKKwkgIGFuZCBhbm90aGVyIG9uZSBmcm9tIFJvYiBSaWNoYXJkcyBmaXhpbmcgIzE0ODQ0OAorCitUaHUgSnVsIDI5IDEzOjIwOjI4IENFU1QgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIEhUTUxwYXJzZXIuYzogMSBsaW5lIHBhdGNoLCBhcHBhcmVudGx5IGh0bWxOZXdEb2MoKSB3YXMgbm90CisJICBzZXR0aW5nIGRvYy0+Y2hhcnNldC4KKworVGh1IEp1bCAyOSAwMDowNTo1OCBQRFQgMjAwNCBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogU0FYMi5jLCB0cmVlLmMsIHVyaS5jLCB4bWxJTy5jLCB4bWxyZWFkZXIuYzogZnVydGhlcgorCSAgZml4ZXMgZm9yIG91dCBvZiBtZW1vcnkgY29uZGl0aW9uLCBtb3N0bHkgZnJvbSBPbGl2aWVyCisJICBBbmRyaWV1LgorCSogdGVzdE9PTS5jOiBzb21lIGZ1cnRoZXIgaW1wcm92ZW1lbnQgYnkgT2xpdmllciwgd2l0aAorCSAgYSBmdXJ0aGVyIHNtYWxsIGVuaGFuY2VtZW50IGZvciBlYXNpZXIgZGVidWdnaW5nLgorCitUdWUgSnVsIDI3IDAwOjM0OjA3IFBEVCAyMDA0IFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiBTQVgyLmMsIGVycm9yLmMsIHBhcnNlci5jLCB0cmVlLmMsIHhtbHJlYWRlci5jOgorCSAgaW1wbGVtZW50ZWQgcGF0Y2hlcyBzdXBwbGllZCBieSBPbGl2aWVyIEFuZHJpZXUgCisJICAoYnVnIDE0ODU4OCksIHBsdXMgbWFkZSBzb21lIGZ1cnRoZXIgZW5oYW5jZW1lbnRzLCB0bworCSAgY29ycmVjdCBzb21lIHByb2JsZW1zIHdpdGggb3V0IG9mIG1lbW9yeSBjb25kaXRpb25zLgorCSogdGVzdE9PTS5jOiBpbXByb3ZlZCB3aXRoIHBhdGNoZXMgZnJvbSBPbGl2aWVyIEFuZHJpZXUKKworTW9uIEp1bCAyNiAxMTowMzoxOCBQRFQgMjAwNCBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogdHJlZS5jOiBwdXQgaW4gcGF0Y2ggZm9yIFdpbmRvd3MgYnVmZmVyIHJlLWFsbG9jYXRpb24KKwkgIHN1Ym1pdHRlZCBieSBTdGV2ZSBIYXkgKGJ1ZyAxNDY2OTcpCisKK1N1biBKdWwgMjUgMTc6MTg6MzkgUERUIDIwMDQgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIHhpbmNsdWRlLmM6IGFkZGVkIHNvbWUgY29kZSB0byBjaGVjaywgd2hlbiBhbiBpbmNsdWRlIGlzCisJICBkb25lLCB3aGV0aGVyIHRoZSByZXF1ZXN0ZWQgVVJMIGdldHMgbWFwcGVkIHRvIHNvbWUgb3RoZXIKKwkgIGxvY2F0aW9uIChlLmcuIHdpdGggYSBjYXRhbG9nIGVudHJ5KSBhbmQsIGlmIHNvLCB0YWtlIGNhcmUKKwkgIG9mIHRoZSB4bWw6YmFzZSBwcm9wZXJseSAoYnVnIDE0Njk4OCkKKworU3VuIEp1bCAyNSAxNDowMjoyNCBQRFQgMjAwNCBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogZXJyb3IuYzogZml4ZWQgdG8gYXNzdXJlIHVzZXIgZGF0YSBwYXJhbSBpcyBzZXQgY29ycmVjdGx5CisJICB3aGVuIHVzZXIgc3RydWN0dXJlZCBlcnJvciBoYW5kbGVyIGlzIGNhbGxlZCAoYnVnIDE0NDgyMykKKworVGh1IEp1bCAyMiAxMDoxNDo0OCBQRFQgMjAwNCBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogeG1scmVhZGVyLmM6IGZpeGVkIHByb2JsZW0gd2l0aCByZWFkZXIgc3RhdGUgYWZ0ZXIKKwkgIHByb2Nlc3NpbmcgYXR0cmlidXRlcyAoYnVnIDE0Nzk5MykKKworV2VkIEp1bCAyMSAxNzowNDoyNyBIS1QgMjAwNCBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogY29uZmlndXJlLmluLCBNYWtlZmlsZS5hbTogcHV0IGluIGFuIGF1dG8qIGNoZWNrIGZvciB0aGUKKwkgIHBhdGggdG8gcGVybCAoaWYgaXQgZXhpc3RzKSwgYW5kIG1vZGlmaWVkIG1ha2UgVGltaW5ndGVzdHMKKwkgIHRvIHVzZSB0aGF0IHBhdGggaW5zdGVhZCBvZiBqdXN0IGV4ZWN1dGluZyB0aGUgZGJnZW5hdHRyLnBsCisJICBzY3JpcHQgKGJ1ZyAxNDgwNTYpCisKK0ZyaSBKdWwgMTYgMTg6MzY6MzMgSEtUIDIwMDQgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIHB5dGhvbi9nZW5lcmF0b3IucHk6IGFkZGVkIGEgY2hlY2sgb24gdGhlIGFyZ3VtZW50IGZvciBzb21lCisJICBjbGFzc2VzIChlLmcuIHhtbERvYyBhbmQgeG1sTm9kZSkgdG8gcHJldmVudCBhIHNlZ2ZhdWx0IChhcworCSAgcmVwb3J0ZWQgb24gdGhlIGxpc3QpLiAgRnVydGhlciBlbmhhbmNlbWVudCBzaG91bGQgYmUgZG9uZQorCSAgdG8gYXV0by1jcmVhdGUgdGhlIGFwcHJvcHJpYXRlIG9iamVjdC4KKwkqIHB5dGhvbi9saWJ4bWwuYzogbWlub3IgZml4IGZvciBhIHdhcm5pbmcgbWVzc2FnZTsgYWRkZWQgYQorCSAgcm91dGluZSwgY3VycmVudGx5IG5vdCB1c2VkLCB0byByZXBvcnQgdGhlIGRlc2NyaXB0aW9uIG9mIGEKKwkgIFB5Q09iamVjdC4KKwkqIHB5dGhvbi9saWJ4bWwyY2xhc3MudHh0OiByZWdlbmVyYXRlZAorCitGcmkgSnVsIDE2IDExOjAxOjQwIENFU1QgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGNhdGFsb2cuYyB0ZXN0L2NhdGFsb2dzL3doaXRlKiByZXN1bHQvY2F0YWxvZ3Mvd2hpdGUqOgorCSAgYXBwbGllZCBwYXRjaGVzIGZyb20gUGV0ZXIgQnJlaXRlbmxvaG5lciB0byBmaXggaGFuZGxpbmcKKwkgIG9mIHdoaXRlIHNwYWNlIG5vcm1hbGl6YXRpb24gaW4gcHVibGljIGlkcyBhbmQgYWRkIHRlc3RzCisKK1R1ZSBKdWwgMTMgMTc6MjQ6MTMgQ0VTVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sbWVtb3J5LmM6IGFwcGxpZWQgYSBzbWFsbCBmaXggZnJvbSBTdGV2ZSBIYXkKKworVHVlIEp1bCAxMyAyMzowMjoxOSBIS1QgMjAwNCBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogeHBhdGguYzogQWRkZWQgY29kZSB0byBpbiBQUkVESUNBVEUvRklMVEVSIGhhbmRsaW5nIHRvIHJlc2V0CisJICB0aGUgeHBhdGggY29udGV4dCBkb2N1bWVudCBwb2ludGVyIChwYXJ0IG9mIGZpeCB0byBsaWJ4c2x0CisJICBidWcgMTQ3NDQ1KQorCitUdWUgSnVsIDEzIDAwOjE0OjA4IEhLVCAyMDA0IFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiBweXRob24vbGlieG1sLnB5OiByYW4gJ2V4cGFuZCcgb24gdGhlIGZpbGUgdG8gZ2V0IHJpZCBvZiBtaXh0dXJlCisJICBvZiB0YWJzIGFuZCBzcGFjZXMgKGJ1ZyAxNDc0MjQpCisKK1N1biBKdWwgMTEgMjI6Mzg6MjkgSEtUIDIwMDQgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIHB5dGhvbi9kcnZfbGlieG1sLnB5OiBhZGRlZCBhbiBlbmNvZGluZyAic3BlY2lhbCBjb21tZW50IiB0byBhdm9pZAorCSAgd2FybmluZyBtZXNzYWdlIGluIHB5dGhvbjIuMyAoYnVnIDE0Njg4OSkKKwkqIE1ha2VmaWxlLmFtLCBweXRob24vTWFrZWZpbGUuYW0sIHB5dGhvbi90ZXN0cy9NYWtlZmlsZS5hbTogc21hbGwKKwkgIGNoYW5nZSB0byBtYWtlICJtYWtlIHRlc3RzIiBhIGxpdHRsZSBxdWlldGVyIChNQUtFRkxBR1MrPS0tc2lsZW50KQorCSogeHBhdGguYzogZW5oYW5jZWQgdG8gdGFrZSBhZHZhbnRhZ2Ugb2YgY3VycmVudCBsaWJ4c2x0IGhhbmRsaW5nCisJICBvZiB0bXBSVlQuICBGaXhlcyBidWcgMTQ1NTQ3LgorCitGcmkgSnVsICA5IDE0OjAyOjU0IENFU1QgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGxpYnhtbC5oIHVyaS5jOiBmaXhlZCBhIGNvdXBsZSBvZiBwcm9ibGVtcyBpbiB0aGUgbmV3CisJICBlbGZnY2NoYWNrLmggdHJpY2sgcG9pbnRlZCBieSBQZXRlciBCcmVpdGVubG9obmVyCisKK1dlZCBKdWwgIDcgMDA6NDU6NDggQ0VTVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZWxmZ2NjaGFjay5oIGRvYy9hcGlidWlsZC5weSBkb2MvbGlieG1sMi1hcGkueG1sOiBmaXhlZCBhIGJ1ZworCSAgd2hpY2ggcHJldmVudGVkIGJ1aWxkaW5nIHdpdGggLS13aXRoLW1pbmltdW0KKworTW9uIEp1bCAgNSAxOTo0Mzo1MSBDRVNUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBjb25maWd1cmUuaW4gZG9jLyo6IHJlbGVhc2luZyAyLjYuMTEsIHVwZGF0ZWQgYW5kIHJlZ2VuZXJhdGVkIHRoZQorCSAgZG9jcworCitNb24gSnVsICA1IDE4OjQzOjQ3IENFU1QgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlci5jOiBtYWtlIHRoZSBwdXNoIGludGVyZmFjZXMgc3luY2hyb25vdXMKKwkqIHB5dGhvbi90ZXN0cy9zeW5jLnB5OiBhZGRlZCBhIHNwZWNpZmljIHRlc3QKKwkqIHB5dGhvbi90ZXN0cy9NYWtlZmlsZS5hbSBkb2MvZXhhbXBsZXMvTWFrZWZpbGUuYW0KKwkgIGRvYy9leGFtcGxlcy9pbmRleC5weTogYWRkZWQgdGhlIG5ldyB0ZXN0LCBjbGVhbmluZyB1cCAKKwkgICJtYWtlIHRlc3RzIiBvdXRwdXQKKworTW9uIEp1bCAgNSAxNTowOToxNyBDRVNUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxzY2hlbWFzLmM6IGFwcGxpZWQgcGF0Y2ggZnJvbSBLYXNpbWllciB0byBmaXggc29tZSBSZWxheC1ORworCSAgZGF0YXR5cGUgZmFjZXQgcHJvYmxlbSB3aXRoIHJlY2VudCBjaGFuZ2VzLgorCitTYXQgSnVsICAzIDExOjMxOjAyIEhLVCAyMDA0IFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiBweXRob24vbGlieG1sLmM6IENoYW5nZWQgdGhlIG51bWJlciBvZiBYUGF0aCBleHRlbnNpb24gZnVuY3Rpb25zCisJICBhbGxvd2VkIHRvIGJlIHZhcmlhYmxlLWxlbmd0aCAocGF0Y2ggc3VwcGxpZWQgYnkgTWFyYy1BbnRvaW5lCisJICBQYXJlbnQsIGJ1ZyAxNDM4MDUpLiAgQWRkZWQgY29kZSB0byAidW5yZWdpc3RlciIgdGhlIGZ1bmN0aW9ucworCSAgd2hlbiB0aGUgcGFyc2VyIGNsZWFudXAgdGFrZXMgcGxhY2UuCisKK0ZyaSBKdWwgIDIgMTQ6MjI6MTQgQ0VTVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sbWVtb3J5LmMgcHl0aG9uL2xpYnhtbC5jIHB5dGhvbi9saWJ4bWwyLXB5dGhvbi1hcGkueG1sOgorCSAgc29tZSB1cGRhdGVzIHdpdGggbWVtb3J5IGRlYnVnZ2luZyBmYWNpbGl0aWVzIHdoaWxlIG1lc3NpbmcKKwkgIHdpdGggbGlieHNsdCBweXRob24gYmluZGluZ3MKKworVGh1IEp1bCAgMSAxNDo1MzozNiBDRVNUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBweXRob24vbGlieG1sLmMgcHl0aG9uL2dlbmVyYXRvci5weSBweXRob24vbGlieG1sLnB5CisJICBweXRob24vbGlieG1sMi1weXRob24tYXBpLnhtbCBweXRob24vbGlieG1sMmNsYXNzLnR4dDoKKwkgIGFwcGxpZWQgcGF0Y2ggZnJvbSBTdMOpcGhhbmUgQmlkb3VsIHRvIGZpeCBzb21lIFB5dGhvbiBiaW5kaW5ncworCSAgaW5pdGlhbGl6YXRpb24sIHRoZW4gaGFkIHRvIGNoYW5nZSB0aGUgcGFyc2VyQ2xlYW51cCgpIAorCSAgdG8gaGFuZGxlIG1lbW9yeSByZWxlYXNlZCB0aGVyZS4KKwkqIHhtbG1lbW9yeS5jOiBhZGRlZCBtb3JlIGRlYnVnZ2luZyBjb21tZW50cy4KKworVGh1IEp1bCAgMSAxMzoxODowMiBDRVNUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxyZWFkZXIuYzogc2VlbXMgdGhlIHJlYWRlciBidWZmZXIgY291bGQgYmUgdXNlZCB3aGlsZSBub3QKKwkgIGFsbG9jYXRlZCwgZml4ZXMgYnVnICMxNDUyMTgKKworVGh1IEp1bCAgMSAxMTozNDoxMCBDRVNUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBweXRob24vZ2VuZXJhdG9yLnB5OiBkbyBub3QgcHJvdmlkZSBmdW5jdGlvbnMgdXNlZCBhcyBkZXN0cnVjdG9yCisJICBvZiBjbGFzc2VzIGFzIHB1YmxpYyBtZXRob2RzIHRvIGF2b2lkIGRvdWJsZS1mcmVlIHByb2JsZW0gbGlrZQorCSAgaW4gYnVnICMxNDUxODUKKworV2VkIEp1biAzMCAxOTo0NToyMyBIS1QgMjAwNCBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogeG1sc2NoZW1hcy5jLCB4bWxzY2hlbWFzdHlwZXMuYzogd2FybmluZyBtZXNzYWdlIGNsZWFudXAuCisJICBOb3cgY29tcGlsZXMgd2FybmluZy1mcmVlLCBhbGwgdGVzdHMgcGFzc2VkLgorCSogU0FYMi5jOiBzbWFsbCBjaGFuZ2UgdG8gY29tbWVudHMgZm9yIGRvY3VtZW50YXRpb24uCisJICBObyBjaGFuZ2UgdG8gbG9naWMuCisKK1R1ZSBKdW4gMjkgMTU6MDA6MTMgUERUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxzY2hlbWFzLmM6IG1vcmUgZml4ZXMgd2l0aCBLYXNpbWllciwgbG9va3MgZmFyIGNsZWFuZXIgOi0pCisKK1R1ZSBKdW4gMjkgMjM6MDA6MDUgQ0VTVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sc2NoZW1hcy5jOiBLYXNpbWllciBCdWNoY2lrIGZpeGVkIHRoZSBtZW1vcnkgYWNjZXNzIGFuZAorCSAgYWxsb2NhdGlvbiBwcm9ibGVtCisKK1R1ZSBKdW4gMjkgMTk6MDA6MzIgQ0VTVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sc2NoZW1hcy5jIHhtbHNjaGVtYXN0eXBlcy5jIGluY2x1ZGUvbGlieG1sL3htbGVycm9yLmgKKwkgIGluY2x1ZGUvbGlieG1sL3NjaGVtYXNJbnRlcm5hbHMuaCBpbmNsdWRlL2xpYnhtbC94bWxzY2hlbWFzdHlwZXMuaDoKKwkgIGFwcGxpZWQgU2NoZW1hcyBwYXRjaGVzIGZyb20gS2FzaW1pZXIgQnVjaGNpaywgdGhlcmUgaXMgc3RpbGwKKwkgIG9uZSBvcGVuIGlzc3VlIGFib3V0IHJlZmVyZW5jaW5nIGZyZWVkIG1lbW9yeS4KKwkqIHRlc3Qvc2NoZW1hcy8qIHJlc3VsdC9zY2hlbWFzLyo6IHVwZGF0ZWQgd2l0aCBuZXcgdGVzdHMgZnJvbSAKKwkgIEthc2ltaWVyCisKK1R1ZSBKdW4gMjkgMTQ6NTI6MTggQ0VTVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogaW5jbHVkZS9saWJ4bWwvZ2xvYmFscy5oIGluY2x1ZGUvbGlieG1sL3htbElPLmgKKwkgIGRvYy9saWJ4bWwyLWFwaS54bWwgZG9jL2xpYnhtbDItcmVmcy54bWw6IG1vdmVkIHNvbWUgZGVmaW5pdGlvbnMKKwkgIHRvIGdsb2JhbHMuaCB0byBhdm9pZCBzb21lIHRyb3VibGVzIHBvaW50ZWQgb3V0IGJ5IFJvYiBSaWNoYXJkcworCitNb24gSnVuIDI4IDExOjI1OjMxIENFU1QgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGxpYnhtbC5tNDogYXBwbGllZCBjaGFuZ2VzIHN1Z2dlc3RlZCBieSBNaWtlIEhvbW1leSwgcmVtb3ZlCisJICBsaWJ4bWwxIHN1cHBvcnQgYW5kIHVzZSBDUFBGTEFHUyBpbnN0ZWFkIG9mIENGTEFHUworCitTdW4gSnVuIDI3IDE0OjE3OjE1IENFU1QgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGxpYnhtbC5zcGVjLmluOiBhbm90aGVyLCBtb3JlICdleHBlcmltZW50YWwnIGZlYXR1cmUgdG8gCisJICBnZXQgY29tcGlsZXIgb3B0aW1pemF0aW9uIGJhc2VkIG9uIGdjYyBydW50aW1lIHByb2ZpbGluZworCitTdW4gSnVuIDI3IDE0OjAyOjM2IENFU1QgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGVsZmdjY2hhY2suaCBkb2MvZWxmZ2NjaGFjay54c2wgbGlieG1sLmg6IGhhY2sgYmFzZWQgb24gQXJqYW4gdmFuIGRlCisJICBWZW4gc3VnZ2VzdGlvbiB0byByZWR1Y2UgRUxGIGZvb3RwcmludCBhbmQgZ2VuZXJhdGVkIGNvZGUuIEJhc2VkIG9uCisJICBhbGlhc2luZyBvZiBsaWJyYXJpZXMgZnVuY3Rpb24gdG8gZ2VuZXJhdGUgZGlyZWN0IGNhbGwgaW5zdGVhZCBvZgorCSAgaW5kaXJlY3Qgb25lcworCSogZG9jL2xpYnhtbDItYXBpLnhtbCBkb2MvTWFrZWZpbGUuYW0gZG9jL2FwaWJ1aWxkLnB5OiBhZGRlZCBhdXRvbWF0aWMKKwkgIGdlbmVyYXRpb24gb2YgZWxmZ2NjaGFjay5oIGJhc2VkIG9uIHRoZSBBUEkgZGVzY3JpcHRpb24sIGV4dGVuZGVkCisJICB0aGUgQVBJIGRlc2NyaXB0aW9uIHRvIHNob3cgdGhlIGNvbmRpdGlvbmFscyBjb25maWd1cmF0aW9uIGZsYWdzCisJICByZXF1aXJlZCBmb3Igc3ltYm9scy4KKwkqIG5hbm9odHRwLmMgcGFyc2VyLmMgeG1sc2F2ZS5jIGluY2x1ZGUvbGlieG1sLyouaDogbG90IG9mIGNsZWFudXAKKwkqIGRvYy8qOiByZWdlbmVyYXRlZCB0aGUgZG9jcy4KKworU3VuIEp1biAyNyAxMDowMjoyOCBIS1QgMjAwNCBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogcmVncmVzc2lvbnMucHksIHJlZ3Jlc3Npb25zLnhtbDogbmV3IGZpbGVzIGZvciBydW5uaW5nCisJICByZWdyZXNzaW9uIHRlc3RzIHVuZGVyIFB5dGhvbi4gIE5vdCB5ZXQgY29tcGxldGUsIGJ1dAorCSAgc2hvdWxkIHByb3ZpZGUgZ29vZCB0ZXN0aW5nIHVuZGVyIGJvdGggTGludXggYW5kIFdpbmRvd3MuCisJKiB0ZXN0SFRNTC5jLCB0ZXN0U0FYLmMsIHhtbGxpbnQuYzogY2hhbmdlZCB0aGUgJ2ZvcGVuJyB1c2VkCisJICBmb3IgLS1wdXNoIHRlc3RpbmcgdG8gaW5jbHVkZSB0aGUgJ3JiJyBwYXJhbSB3aGVuIGNvbXBpbGVkCisJICB1bmRlciBXaW5kb3dzLgorCitGcmkgSnVuIDI1IDEzOjM4OjU3IEhLVCAyMDA0IFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiB1cmkuYzogZml4ZWQgYSBwcm9ibGVtIHdoZW4gYmFzZSBwYXRoIHdhcyAiLi94eHgiCisJKiByZXN1bHQvWEluY2x1ZGUvKjogNSB0ZXN0IHJlc3VsdHMgY2hhbmdlZCBieSBhYm92ZS4KKwkqIE1ha2VmaWxlLmFtOiBmaXhlZCBhIGNvdXBsZSBvZiBzcG90cyB3aGVyZSBhIG5ldworCSAgcmVzdWx0IGZpbGUgdXNlZCBkaWZmZXJlbnQgZmxhZ3MgdGhhdCB0aGUgdGVzdGluZyBvbmUuCisKK1RodSBKdW4gMjQgMTY6Mjc6NDQgSEtUIDIwMDQgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIHZhbGlkLmM6IHN1cHByZXNzZWQgd2FybmluZ3MgZnJvbSB3aXRoaW4geG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzCisJICAoYnVnIDE0NDY0NCkKKwkqIGRvYy9leGFtcGxlcy90ZXN0V3JpdGVyLmM6IGNvcnJlY3RlZCB0eXBvIGluIGNvbW1lbnQgZm9yIElTTy04ODU5LTEKKwkgIChidWcgMTQ0MjQ1KQorCitUaHUgSnVuIDI0IDEwOjE3OjMxIEhLVCAyMDA0IFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiB2YWxpZC5jOiBpbXBsZW1lbnRlZCBidWdmaXggZnJvbSBNYXNzaW1vIE1vcmFyYSBmb3IgRFRECisJICBkdW1waW5nIHByb2JsZW0uCisJKiB0ZXN0L3ZhbGlkL3QxMC54bWwsIHJlc3VsdC92YWxpZC90MTAuKjogYWRkZWQgcmVncmVzc2lvbgorCSAgZm9yIGFib3ZlCisJKiBjb25maWd1cmUuaW46IHNtYWxsIGNoYW5nZSBmb3IgbXkgcHJvZmlsZSBzZXR0aW5ncworCitXZWQgSnVuIDIzIDIwOjE4OjE5IE1EVCAyMDA0IEpvaG4gRmxlY2sgPGpmbGVja0BpbmtzdGFpbi5uZXQ+CisKKwkqIGRvYy94bWxjYXRhbG9nX21hbi54bWwsIHhtbGNhdGFsb2cuMQorCURvY3MgcGF0Y2ggZnJvbSBWaWxsZSBTa3l0dGEsIGJ1Z3ppbGxhICMxNDQ4NDEKKworU2F0IEp1biAxOSAxODozNDoxMSBNRFQgMjAwNCBKb2huIEZsZWNrIDxqZmxlY2tAaW5rc3RhaW4ubmV0PgorCisJKiBkb2MveG1sbGludC54bWwsIHhtbGxpbnQuaHRtbCwgeG1sbGludC4xCisJdXBkYXRlIG1hbiBwYWdlIHRvIHJlZmxlY3QgV2lsbGlhbSdzIG5ld2x5IGRpc2NpcGxpbmVkIHJldHVybgorCWNvZGUgbW9qbworCitUaHUgSnVuIDE3IDAwOjUxOjU1IENFU1QgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGRvYy9leGFtcGxlcy9pbzIuYyBkb2MvZXhhbXBsZXMvcGFyc2U0LmM6IGZpeGluZyBhIGNvdXBsZSBvZgorCSAgY29tcGlsYXRpb24gZXJyb3JzIHdoZW4gY29uZmlndXJlZCB3aXRoIC0td2l0aC1taW5pbXVtCisKK1dlZCBKdW4gMTYgMTY6MDc6MTAgQ0VTVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZGVidWdYTUwuYzogYXBwbGllZCBwYXRjaCBmcm9tIFN0ZWZhbm8gRGViZW5lZGV0dGkgdG8gcmVnaXN0ZXIKKwkgIG5hbWVzcGFjZXMgaW4gdGhlIGRlYnVnIHNoZWxsCisKK01vbiBKdW4gMTQgMjE6NTY6MzEgQ0VTVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1scmVhZGVyLmM6IGZpeCBmcm9tIFN0ZXZlIEJhbGwgYW5kIHVwZGF0ZSBvZiB0aGUgY29tbWVudC4KKwkqIE1ha2VmaWxlLmFtIHJlc3VsdC9lcnJvcnMvKi5zdHI6IFdpbGxpYW0gcG9pbnRlZCBvdXQgdGhhdCAKKwkgIHRoZSBzdHJlYW1pbmcgZXJyb3IgY2hlY2tpbmcgcGFydCB3YXNuJ3Qgc3RyZWFtaW5nLCBmaXhpbmcKKworTW9uIEp1biAxNCAxNDoxMTo1MiBDRVNUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBjYXRhbG9nLmM6IHBhdGNoIGZyb20gSWdvciBmb3IgdGhlIGRlZmF1bHQgY2F0YWxvZyBwYXRoIG9uIFdpbmRvd3MKKworU2F0IEp1biAxMiAwOTowMzo1NyBIS1QgMjAwNCBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogY29uZmlndXJlLmluOiBhcHBhcmVudGx5IHdhc24ndCB1cGRhdGVkIGxhc3QgdGltZQorCitUaHUgSnVuIDEwIDIwOjU3OjQ4IEhLVCAyMDA0IFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiBjb25maWd1cmUuaW4sIHhtbG1lbW9yeS5jLCBnbG9iYWxzLmM6IGZpeGVkIHByb2JsZW0gd2hlbgorCSAgY29uZmlndXJpbmcgdXNpbmcgLS13aXRoLXRocmVhZC1hbGxvYworCitXZWQgSnVuICA5IDE2OjMxOjI0IENFU1QgMjAwNCBJZ29yIFpsYXRrb3ZpYyA8aWdvckB6bGF0a292aWMuY29tPgorCisJKiB3aW4zMi9jb25maWd1cmUuanMgd2luMzIvTWFrZWZpbGUuKiBtaW5vciBjaGFuZ2VzIGZvciB0aGUgbmV3CisJICBsYXlvdXQgb2YgdGhlIFdpbmRvd3MgYmluYXJ5IHBhY2thZ2UKKworVHVlIEp1biAgOCAxOTo1MDoyNSBDRVNUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxzY2hlbWFzLmMgaW5jbHVkZS9saWJ4bWwveG1sZXJyb3IuaDogYXBwbGllZCBhbm90aGVyIHBhdGNoCisJICBmcm9tIEthc2ltaWVyIEJ1Y2hjaWsgZm9yIFNjaGVtYSBDb21wb25lbnQgQ29uc3RyYWludHMKKwkqIHRlc3Qvc2NoZW1hcy8qIHJlc3VsdC9zY2hlbWFzLyo6IGFkZGVkIHRoZSByZWdyZXNzaW9uIHRlc3RzCisKK1R1ZSBKdW4gIDggMjE6Mjc6MDMgSEtUIDIwMDQgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIHhtbGxpbnQuYzogZml4ZWQgbWlzc2luZyBlcnJvciByZXR1cm4gY29kZSBmb3Igc2NoZW1hCisJICB2YWxpZGF0aW9uIChidWcgMTQzODgwKSwgYWxzbyBjaGFuZ2VkIG92ZXIgdG8gYW4gZW51bSBmb3IKKwkgIGRlZmluaW5nIHRoZSBlcnJvciByZXR1cm4gY29kZXMgZm9yIGFsbCBjb25kaXRpb25zLgorCitUdWUgSnVuICA4IDE0OjAxOjE0IENFU1QgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlci5jIHhtbHJlYWRlci5jIGluY2x1ZGUvbGlieG1sL3BhcnNlci5oOiBmaXhlZCBhIHNlcmlvdXMKKwkgIHByb2JsZW0gd2hlbiBzdWJzdGl0dWluZyBlbnRpdGllcyB1c2luZyB0aGUgUmVhZGVyLCB0aGUgZW50aXRpZXMKKwkgIGNvbnRlbnQgbWlnaHQgYmUgZnJlZWQgYW5kIGlmIHJlcmVmZXJlbmNlZCB3b3VsZCBjcmFzaAorCSogTWFrZWZpbGUuYW0gdGVzdC8qIHJlc3VsdC8qOiBhZGRlZCBhIG5ldyB0ZXN0IGNhc2UgYW5kIGEgbmV3CisJICB0ZXN0IG9wZXJhdGlvbiBmb3IgdGhlIHJlYWRlciB3aXRoIHN1YnN0aXR1dGlvbiBvZiBlbnRpdGllcy4KKworVHVlIEp1biAgOCAxMjoxNDoxNiBDRVNUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBnbG9iYWxzLmMgeG1sSU8uYyBpbmNsdWRlL2xpYnhtbC9nbG9iYWxzLmggaW5jbHVkZS9saWJ4bWwveG1sSU8uaDoKKwkgIGFwcGxpZWQgcGF0Y2ggZnJvbSBSb2IgUmljaGFyZHMgZm9yIHRoZSBwZXIgdGhyZWFkIEkvTyBtYXBwaW5ncworCitUdWUgSnVuICA4IDA5OjU4OjMxIEhLVCAyMDA0IFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiB4aW5jbHVkZS5jOiBzb21lIGZ1cnRoZXIgZW5oYW5jZW1lbnQgdG8gdGFrZSBjYXJlIG9mCisJICB4bWw6YmFzZSBmb3IgWFBvaW50ZXIgZWxlbWVudHMgKGJ1ZyAxNDM4ODYpLiAgQWxzbyBmaXhlZAorCSAgYSBwcm9ibGVtIHdoZW4geG1sOmJhc2Ugd2FzIGFscmVhZHkgc3BlY2lmaWVkIG9uIGFuCisJICBYSW5jbHVkZSdkIGVsZW1lbnQuCisKK01vbiBKdW4gIDcgMjI6MTQ6NTggSEtUIDIwMDQgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIHJlbGF4bmcuYzogZml4ZWQgYSBwcm9ibGVtIHdpdGggaW50ZXJuYWwgY2xlYW51cCBvZiA8RElWPiBlbGVtZW50CisJICAoYnVnIDE0MzczOCkuCisKK01vbiBKdW4gIDcgMTY6NTc6NDMgSEtUIDIwMDQgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIHVyaS5jLCBpbmNsdWRlL2xpYnhtbC91cmkuaDogYWRkZWQgYSBuZXcgcm91dGluZQorCSAgeG1sQnVpbGRSZWxhdGl2ZVVSSSBuZWVkZWQgZm9yIGVuaGFuY2VtZW50IG9mIHhpbmNsdWRlLmMKKwkqIHhpbmNsdWRlLmM6IGNoYW5nZWQgaGFuZGxpbmcgb2YgeG1sOmJhc2UgKGJ1ZyAxMzU4NjQpCisJKiByZXN1bHQvWEluY2x1ZGUvKjogcmVzdWx0cyBvZiA1IHRlc3RzIGNoYW5nZWQgYXMgYSByZXN1bHQKKwkgIG9mIHRoZSBhYm92ZSBjaGFuZ2UKKworRnJpIEp1biAgNCAxMToyNzozNyBDRVNUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB0ZXN0L3NjaGVtYXMvKiByZXN1bHQvc2NoZW1hcy8qOiBhZGRlZCBhIGJ1bmNoIG9mIHRlc3RzIGZyb20KKwkgIEthc2ltaWVyIEJ1Y2hjaWsgcG9zdGVkIG9uIE1heSAxMQorCitUaHUgSnVuICAzIDE3OjU4OjI1IENFU1QgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbHNjaGVtYXMuYzogbmV3IHBhdGNoIGZyb20gIEthc2ltaWVyIEJ1Y2hjaWsgZm9yIHByb2Nlc3NDb250ZW50cworCSAgb2Ygd2lsZGNhcmRzIGF0dHJpYnV0ZSBoYW5kbGluZworCSogdGVzdC9zY2hlbWFzL2FueUF0dHItKiByZXN1bHQvc2NoZW1hcy9hbnlBdHRyLSo6IGFkZGVkIHNwZWNpZmljCisJICByZWdyZXNzaW9uIHRlc3RzCisKK1RodSBKdW4gIDMgMTM6MjA6MzYgQ0VTVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcGFyc2VyLmM6IGZpeGVkIGEgYnVnIHdoZXJlIGludmFsaWQgY2hhcnJlZnMgbWF5IG5vdCBiZSBkZXRlY3RlZAorCSAgc29tZXRpbWVzIGFzIHBvaW50ZWQgYnkgTW9ydXMgV2FsdGVyLgorCSogdGVzdC9lcnJvcnMvY2hhcnJlZjEueG0gcmVzdWx0L2Vycm9ycy9jaGFycmVmMS54bWwqOiBhZGRlZCB0aGUKKwkgIHRlc3QgaW4gdGhlIHJlZ3Jlc3Npb24gc3VpdGUuCisKK1RodSBKdW4gIDMgMTg6Mzg6MjcgSEtUIDIwMDQgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIHhtbHNjaGVtYXMuYzogc21hbGwgY2hhbmdlIHRvIHhtbFNjaGVtYVZhbGlkYXRlQXR0cmlidXRlcywKKwkgIGFsc28gY29ycmVjdGVkIHR5cG8gb24gZXJyb3IgY29kZSBlbnVtLgorCSogaW5jbHVkZS9saWJ4bWwveG1sZXJyb3IuaDogY29ycmVjdGVkIHR5cG8gb24gc2NoZW1hIGVycm9yCisJICBjb2RlIGVudW0KKworVGh1IEp1biAgMyAxMDoxMjozOCBIS1QgMjAwNCBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogeG1sc2NoZW1hcy5jOiBtaW5vciBjb3NtZXRpYyBjaGFuZ2VzLCBubyBjaGFuZ2UgdG8gbG9naWMuCisJKiByZXN1bHQvc2NoZW1hcy9hdHRydXNlXzBfWzEyXS5lcnI6IHJlZ2VuZXJhdGVkCisJKiBnbG9iYWxzLmM6IGFkZGVkIGEgbmV3bGluZSBhdCBlbmQgdG8gbWFrZSBnY2MgaGFwcHkKKworV2VkIEp1biAgMiAyMToxNjoyNiBDRVNUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxzY2hlbWFzLmMgaW5jbHVkZS9saWJ4bWwvc2NoZW1hc0ludGVybmFscy5oIAorCSAgaW5jbHVkZS9saWJ4bWwveG1sZXJyb3IuaDogYXBwbGllZCBhIHBhdGNoIGZyb20gS2FzaW1pZXIgQnVjaGNpaworCSAgaW1wbGVtZW50aW5nIGF0dHJpYnV0ZSB1c2VzIGFuZCB3aWxkY2FyZHMuCisJKiB0ZXN0L3NjaGVtYXMvKiByZXN1bHQvc2NoZW1hcy8qOiBhZGRlZC9maXhlZCBhIGJ1bmNoIG9mIHRlc3RzCisKK1dlZCBKdW4gIDIgMTg6MTU6NTEgQ0VTVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZ2xvYmFscy5jIHhtbElPLmMgaW5jbHVkZS9saWJ4bWwvZ2xvYmFscy5oOiBhcHBsaWVkIHBhdGNoIGZyb20gCisJICBSb2IgUmljaGFyZHMgZm9yIGN1c3RvbSBJL08gQnVmZmVyQ3JlYXRlRmlsZW5hbmUgZml4ZXMgYnVnCisJICAjMTQzMzY2CisKK1dlZCBKdW4gMDIgMTY6MjU6MzIgSEtUIDIwMDQgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIHhwYXRoLmM6IGZpeGVkIHByb2JsZW0gd2l0aCBwcmVkaWNhdGUgZXZhbHVhdGlvbiBvbiBhbgorCSAgZW1wdHkgbm9kZXNldCAoYnVnIDE0MzQwOSkKKworV2VkIEp1biAwMiAxMToyNjo0MSBIS1QgMjAwNCBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogdGVzdFNBWC5jOiBmaXhlZCBwcm9ibGVtIHdpdGggYXR0cmlidXRlIGxpc3RpbmcgKGJ1ZyAxNDI2NzQpCisJICBhbmQgYWRkZWQgbWFjcm8gTElCWE1MX1RFU1RfVkVSU0lPTiB0byBhc3N1cmUgeG1sSW5pdFBhcnNlcgorCSAgZ2V0cyBjYWxsZWQgKGJ1ZyAxNDI2ODYpCisKK1NhdCBNYXkgMjkgMjE6MzU6NTIgQ0VTVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogdGVzdC9zY2hlbWFzL2RhdGVfMC54bWwgeG1sc2NoZW1hc3R5cGVzLmM6IGFwcGxpZWQgYSBwYXRjaCBmcm9tCisJICBDaGFybGVzIEJvemVtYW4gZml4aW5nIGEgc2lkZSBlZmZlY3QgaW4gZGF0ZSBoYW5kbGluZworCitUaHUgTWF5IDI3IDE5OjQ3OjQ4IE1EVCAyMDA0IEpvaG4gRmxlY2sgPGpmbGVja0BpbmtzdGFpbi5uZXQ+CisKKwkqIGRvYy90dXRvcmlhbC94bWx0dXRvcmlhbC54bWwgZml4IGxhY2sgb2YgY2FzdCBpbiBYcGF0aCBleGFtcGxlCisJKiBkb2MvdHV0b3JpYWwvKi5odG1sLCB4bWx0dXRvcmlhbC5wZGYgcmVidWlsZCBodG1sLCBwZGYKKworMjAwNC0wNS0yNSAgQWxla3NleSBTYW5pbiA8YWxla3NleUBhbGVrc2V5LmNvbT4KKworCSogYzE0bi5jOiBmaXhlZCBjMTRuIGJ1ZyB3aXRoIHNlcmlhbGl6aW5nIGF0dHJpYnV0ZSBuYW1lc3BhY2VzCisKK01vbiBNYXkgMjQgMDg6MjI6NDggSEtUIDIwMDQgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIHhwYXRoLmM6IGZpeGVkIHRvIGFsbG93ICcrJyBpbiBleHBvbmVudCBvZiBudW1iZXIKKwkgIChidWcgMTQzMDA1KQorCSogU0FYMi5jOiBmaXhlZCB0eXBvIGluIGxhc3QgY29tbWl0CisKK1NhdCBNYXkgMjIgMDk6MDg6MjQgSEtUIDIwMDQgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIFNBWDIuYzogc2tpcHBlZCBjYWxsIHRvIHhtbFZhbGlkYXRlTkNOYW1lIHdoZW4gY29tcGlsaW5nCisJICAtLXdpdGgtbWluaW11bSAoYnVnIDE0MjkxNykKKworVHVlIE1heSAxOCAwNjo0ODowMCBDRVNUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBjYXRhbG9nLmM6IHJldmVydGVkIHRoZSBicm9rZW4gY2hhbmdlLgorCitNb24gTWF5IDE3IDIzOjA3OjE1IENFU1QgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIE5FV1MgZG9jLyo6IHVwZGF0ZWQgdGhlIGRvY3MgZm9yIDIuNi4xMAorCitNb24gTWF5IDE3IDA1OjUyOjAzIENFU1QgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGNvbmZpZ3VyZS5pbiA6IHJlbGVhc2luZyAyLjYuMTAKKworU3VuIE1heSAxNiAyMzoxMjozNSBDRVNUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB0cmVlLmM6IGF2b2lkIHJldHVybmluZyBkZWZhdWx0IG5hbWVzcGFjZSB3aGVuIHNlYXJjaGluZworCSAgZnJvbSBhbiBhdHRyaWJ1dGUKKwkqIGVudGl0aWVzLmMgeG1sd3JpdGVyLmM6IHJldmVyc2UgeG1sRW5jb2RlU3BlY2lhbENoYXJzKCkgYmVoYXZpb3VyCisJICBiYWNrIHRvIGVzY2FwaW5nICIgc2luY2UgdGhlIG5vcm1hbCBzZXJpYWxpemF0aW9uIHJvdXRpbmVzIGRvIG5vdAorCSAgdXNlIGl0IGFueW1vcmUsIHNob3VsZCBjbG9zZSBidWcgIzEzNDQ3NyAuIFRyaWVkIHRvIG1ha2UgCisJICB0aGUgd3JpdGVyIGF2b2lkIGl0IHRvbyBidXQgaXQgZGlkbid0IHdvcmsuCisKK1N1biBNYXkgMTYgMDE6MDc6MTYgQ0VTVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZG9jL0NoYW5nZUxvZy5hd2sgZG9jL0NoYW5nZUxvZy54c2w6IGZpeGVkIGVzY2FwaW5nCisJICBoYW5kbGluZyBhbmQgYWRkZWQgZGlyZWN0IGxpbmtzIHRvIGJ1Z3ppbGxhIHJlcG9ydCBmb3IKKwkgIGJ1ZyBudW1iZXJzLgorCitTdW4gTWF5IDE2IDExOjExOjEzIEhLVCAyMDA0IFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiBlcnJvci5jOiBtb2RpZmllZCB0byBhc3N1cmUgcHJvcGVyIHVzZXIgZGF0YSBpcyBzZW50IHRvCisJICBzdHJ1Y3R1cmVkIGVycm9yIHJvdXRpbmUgKGJ1ZyAxNDI1OTgpCisKK1N1biBNYXkgMTYgMDM6MTg6NTIgQ0VTVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogY2F0YWxvZy5jOiBhIGNvdXBsZSBvZiBsYXJnZSBzdGF0aWMgdmFyaWFibGUgd2hpY2ggc2hvdWxkIHJlYWxseQorCSAgbm90IGJlIGRlY2xhcmVkIGFzIHN1Y2ggY2x1dHRlcmVkIHRoZSAuYnNzIHNlY3Rpb24uCisKK1N1biBNYXkgMTYgMDM6MDY6MzEgQ0VTVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZG9jL0NoYW5nZUxvZy5hd2s6IGZpeGVkIGEgY291cGxlIG9mIHByb2JsZW1zIHdoZW4gcGFyc2luZworCSAgbGlieHNsdCBDaGFuZ2VMb2cKKworU2F0IE1heSAxNSAyMDoxNDoyMSBDRVNUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBkb2MvQ2hhbmdlTG9nLmF3ayBkb2MvQ2hhbmdlTG9nLnhzbDogZmlyc3Qgc3RlcHMgb2YgYSBnb29kCisJICBDaGFuZ2VMb2cgcGFnZSBnZW5lcmF0aW9uLiBUaGUgYXdrIHNob3VkbCBlc2NhcGUgY2hhcmFjdGVycworCSAgbm90IG9rYXkgaW4gWE1MIGFuZCB0aGUgeHNsdCBzaG91bGQgbWFrZSBsaW5rcyB0byBmdW5jdGlvbnMKKwkgIG9yIHZhcmlhYmxlcyBvciBidWcgcmVwb3J0ZWQgaW4gdGhlIGVudHJpZXMuCisKK1NhdCBNYXkgMTUgMTQ6NTc6NDAgQ0VTVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sc2F2ZS5jIGluY2x1ZGUvbGlieG1sL3htbHNhdmUuaDogc3RhcnQgYWRkaW5nIEFQSSBmb3IgCisJICBlc2NhcGluZyBjdXN0b21pemF0aW9uLgorCitTYXQgTWF5IDE1IDEyOjM4OjE3IENFU1QgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbHNhdmUuYzogbW9yZSB4bWxTYXZlIGNsZWFudXAsIG9wdGltaXphdGlvbiBhbmQgcmVmYWN0b3JpbmcKKworRnJpIE1heSAxNCAxNzo1MTo0OCBDRVNUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxJTy5jIHhtbHNhdmUuYzogdGhpcmQgcGFzcyBhdCB0aGUgZXNjYXBpbmcgcmVmYWN0b3JpbmcuCisKK0ZyaSBNYXkgMTQgMTI6Mzc6MjQgSEtUIDIwMDQgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIHBhcnNlci5jOiBlbmhhbmNlZCB0aGUgZW5oYW5jZW1lbnQsIGZpeGVkIGFub3RoZXIgY291cGxlIG9mCisJICBzcGVjaWFsIGNhc2VzLgorCitGcmkgTWF5IDE0IDExOjQ4OjMzIEhLVCAyMDA0IFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiBwYXJzZXIuYzogc21hbGwgZW5oYW5jZW1lbnQgdG8gZHRkIGhhbmRsaW5nIG9mIChhPykrIChidWcgMTQyNDg3KQorCitUaHUgTWF5IDEzIDIzOjE5OjAwIENFU1QgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbElPLmMgeG1sc2F2ZS5jIGluY2x1ZGUvbGlieG1sL3htbElPLmg6IHNlY29uZCBwYXNzIG9uIGVzY2FwaW5nCisJICBoYW5kbGluZywgc3RhcnQgdG8gbG9va3MgYmV0dGVyLCBuZWVkIHRvIGJlIGNvbXBsZXRlZCBhbmQgYWRkZWQKKwkgIGRpcmVjdGx5IGF0IHRoZSBzYXZpbmcgY29udGV4dCBsZXZlbC4KKworVGh1IE1heSAxMyAxMDozMToyOCBDRVNUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxJTy5jIHhtbHNhdmUuYyBpbmNsdWRlL2xpYnhtbC94bWxJTy5oOiBmaXJzdCBwYXNzIGF0IHJlZmFjdG9yaW5nCisJICB0aGUgZXNjYXBlIG9uIHNhdmUgcm91dGluZXMgZm9yIGJldHRlciBwZXJmb3JtYW5jZXMgKGxlc3MgbWFsbG9jKQorCSAgYW5kIG1vcmUgZmxleGliaWxpdHkgdXNpbmcgdGhlIG5ldyBzYXZpbmcgY29udGV4dC4gUHJlbGltaW5hcnkKKwkgIHdvcmssIGludGVyZmFjZSB3aWxsIGNoYW5nZS4KKworV2VkIE1heSAxMiAyMjozNDowMyBIS1QgMjAwNCBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogeG1sc2NoZW1hcy5jOiBhZGRlZCBjb2RlIGluIHhtbFNjaGVtYUJ1aWxkQUNvbnRlbnRNb2RlbCB0byBoYW5kbGUKKwkgIGVsZW1lbnQgcmVmZXJlbmNlIHdpdGhpbiB0aGUgeHM6YWxsIGNvbnN0cnVjdCAoYnVnIDEzOTg5NykKKworV2VkIE1heSAxMiAxNzoyNzoxOCBIS1QgMjAwNCBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogeGluY2x1ZGUuYzogYSBsaXR0bGUgZnVydGhlciBmaXhpbmcgb2YgZmFsbGJhY2sgcHJvY2Vzc2luZywgdGhpcworCSAgdGltZSBmb3IgZmFsbGJhY2sgd2l0aCBjaGlsZHJlbiAoYnVnIDEzOTUyMCkuCisKK1dlZCBNYXkgMTIgMDg6MjE6MzMgSEtUIDIwMDQgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIHhtbHNjaGVtYXMuYzogYWRkZWQgY29kZSBpbiB4bWxTY2hlbWFCdWlsZENvbnRlbnRNb2RlbCB0bworCSAgYWxsb3cgcmVmIGluIGdyb3VwIGRlZmluaXRpb24gKGJ1ZyAxMzQ0MTEpLiAgQWxzbyBmaXhlZAorCSAgbWlzYyBjb21waWxhdGlvbiB3YXJuaW5nIG1lc3NhZ2VzLgorCSogcmVzdWx0L3NjaGVtYS9ncm91cDBfMF8wLCByZXN1bHQvc2NoZW1hL2dyb3VwMF8wXzAuZXJyOgorCSAgcmVnZW5lcmF0ZWQgKG5vdyBubyBlcnJvciByZXBvcnRlZCkuCisKK1R1ZSBNYXkgMTEgMTE6NTU6NTkgQ0VTVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sSU8uYzogZml4IHRvIHRoZSBmaXggZm9yICMxNDE4NjQgZnJvbSBQYXVsIEVsc2V0aCAgCisJKiBIVE1McGFyc2VyLmMgcmVzdWx0L0hUTUwvZG9jMy5odG06IGFwcGx5IGZpeCBmcm9tIERhdmlkIEdhdHdvb2QgZm9yCisJICAjMTQxMTk1IGFib3V0IHRleHQgYmV0d2VlbiBjb21tZW50cy4KKworVHVlIE1heSAxMSAyMzowNDo0NyBIS1QgMjAwNCBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogeG1sc2NoZW1hcy5jLCBpbmNsdWRlL2xpYnhtbC9zY2hlbWFzSW50ZXJuYWxzLmgsCisJICBpbmNsdWRlL2xpYnhtbC94bWxlcnJvci5oOiBBcHBsaWVkIHBhdGNoZXMgc3VwcGxpZWQgYnkKKwkgIEthc2ltaWVyIEJ1Y2hjaWsuCisJKiB0ZXN0L3NjaGVtYXMvcG8xXzAueG1sLCB0ZXN0L3NjaGVtYXMvcG8xXzAueHNkOgorCSAgY2hhbmdlZCB0ZXN0IHRvIGFjY291bnQgZm9yIGFib3ZlIHBhdGNoLgorCitUdWUgTWF5IDExIDA5OjA2OjUzIENFU1QgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHB5dGhvbi90ZXN0cy90c3RMYXN0RXJyb3IucHk6IGJldHRlciBwb3J0YWJpbGl0eSBmaXggZm9yIGYoKmFyZ3MpLAorCSAgdXNlIGFwcGx5KGYsIGFyZ3MpIGFzIFN0w6lwaGFuZSBCaWRvdWwgc3VnZ2VzdGVkCisKK01vbiBNYXkgMTAgMTU6NDk6MjIgSEtUIDIwMDQgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIHhtbHJlZ2V4cC5jOiBlbmhhbmNlZCB4bWxSZWdTdGF0ZUFkZFRyYW5zIHRvIGNoZWNrIGlmIHRyYW5zaXRpb24KKwkgIGlzIGFscmVhZHkgcHJlc2VudCBhbmQsIGlmIHNvLCB0byBpZ25vcmUgdGhlIHJlcXVlc3QgdG8gYWRkIGl0LgorCSAgVGhpcyBoYXMgYSB2ZXJ5IGRyYW1hdGljIGVmZmVjdCBvbiBtZW1vcnkgcmVxdWlyZW1lbnRzIGFzIHdlbGwKKwkgIGFzIGVmZmljaWVuY3kuICBJdCBhbHNvIGZpeGVzIGJ1ZyAxNDE3NjIuCisKK1N1biBNYXkgIDkgMjA6NDA6NTkgQ0VTVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogTWFrZWZpbGUuYW0gcHl0aG9uL3Rlc3RzL01ha2VmaWxlLmFtIHB5dGhvbi90ZXN0cy90c3RMYXN0RXJyb3IucHk6CisJICBhcHBsaWVkIHBhdGNoIGZyb20gRWQgRGF2aXMgdG8gYWxsb3cgIm1ha2UgdGVzdHMiIHRvIHdvcmsKKwkgIHdpdGggUHl0aG9uIDEuNQorCitTdW4gTWF5ICA5IDE5OjQ2OjEzIENFU1QgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbHNhdmUuYzogYXBwbHkgZml4IGZvciBYSFRNTDEgZm9ybWF0aW5nIGZyb20gTmljayBXZWxsbmhvZmVyCisJICBmaXhlcyBidWcgIzE0MTI2NgorCSogdGVzdC94aHRtbGNvbXAgcmVzdWx0Ly94aHRtbGNvbXAqOiBhZGRlZCB0aGUgc3BlY2lmaWMgcmVncmVzc2lvbgorCSAgdGVzdAorCitTdW4gTWF5ICA5IDE0OjA3OjIxIENFU1QgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIE1ha2VmaWxlLmFtOiBmaXggZm9yIGEgcGVkYW50aWMgbWFrZSBjaGVjayB3aXRob3V0IG1ha2UgYWxsIHJlcXVlc3QKKworU2F0IE1heSAgOCAyMjo1NjoyMiBDRVNUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB1cmkuYyB4bWxJTy5jOiBmaXhpbmcgc29tZSBwcm9ibGVtcyBpbiBVUkkgdW5lc2NhcGluZworCSAgYW5kIG91dHB1dCBidWZmZXIgb3BlbmluZywgdGhpcyBzaG91bGQgZml4ICMxNDE4NjQKKworRnJpIE1heSAgNyAyMjozMTo1NCBDRVNUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB2YWxpZC5jIGluY2x1ZGUvbGlieG1sL3ZhbGlkLmg6IGZpeGVzIHRoZSB1c2Ugb2YgJ2xpc3QnIGFzIGEgcGFyYW1ldGVyCisJKiB4bWxJTy5jIGluY2x1ZGUvbGlieG1sL3htbElPLmg6IGFkZGVkIHhtbFBvcElucHV0Q2FsbGJhY2sgZm9yCisJICBNYXR0IFNlcmdlYW50CisKK1RodSBNYXkgIDYgMjE6MTQ6MzggUERUIDIwMDQgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIHhtbHJlZ2V4cC5jOiBlbmhhbmNlZCB0aGUgaGFuZGxpbmcgb2Ygc3ViZXhwcmVzc2lvbiByYW5nZXMKKwkgIHdoaWNoIGhhdmUgYSBtaW5PY2N1cnMgb2YgMCAoYnVnIDE0MDQ3OCBhZ2Fpbik7IGNsZWFuZWQgdXAKKwkgIGNvbW1lbnRzIHRocm91Z2hvdXQgdGhlIG1vZHVsZS4KKworVHVlIE1heSAgNCAwMDo1MjoxNiBDRVNUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxsaW50LmM6IGFkZGluZyBhIC0tbWF4bWVtIG9wdGlvbiB0byBjaGVjayBtZW1vcnkgdXNlZC4KKworU2F0IE1heSAgMSAwMTowODo0NCBDRVNUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxsaW50LmMgeG1sc2F2ZS5jIHB5dGhvbi9nZW5lcmF0b3IucHkgcHl0aG9uL2xpYnhtbC5jOiBGaXhlZAorCSAgYnVnICMxNDE1MjkgaS5lLiB2YXJpb3VzIHByb2JsZW1zIHdoZW4gYnVpbGRpbmcgd2l0aCAtLXdpdGhvdXQtaHRtbAorCitGcmkgQXByIDMwIDE4OjEyOjMxIENFU1QgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbGxpbnQuYyB4bWxyZWFkZXIuYzogZml4aW5nIGJ1ZyAjMTQxMzg0IHdoZXJlIHRoZSByZWFkZXIgZGlkbid0CisJICBjYWxsIHRoZSBkZXJlZ2lzdGVyaW5nIGZ1bmN0aW9ucy4gQWxzbyBhZGRlZCB0aGUgY2hlY2sgdG8KKwkgIHhtbGxpbnQgLS1zdHJlYW0gLS1jaGtyZWdpc3RlciAuCisKK0ZyaSBBcHIgMzAgMDg6NTc6NDcgQ0VTVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogd2luMzIvTWFrZWZpbGUubXN2YzogYXBwbGllZCBhIHNlY29uZCBwYXRjaCBmcm9tIE1hcmsgVmFrb2MgZm9yCisJICByZWdyZXNzaW9uIHRlc3RzIG9uIFdpbmRvd3MKKworVGh1IEFwciAyOSAyMTo0NzoyMyBDRVNUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxyZWFkZXIuYzogbmV2ZXIgY29tbWl0IHdpdGhvdXQgcnVubmluZyBtYWtlIHRlc3RzIGZpcnN0ICEKKworVGh1IEFwciAyOSAyMDoxNToyMCBDRVNUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxyZWFkZXIuYzogZml4IGEgbmFzdHkgcHJvYmxlbSB3aXRoIHJlYWRpbmcgb3ZlciB0aGUgZW5kCisJKiB4bWxzYXZlLmM6IGZpeCBhIHJlcG9ydGVkIG1lbW9yeSBsZWFrIGFwcGFyZW50bHkKKworVGh1IEFwciAyOSAxNzowNTowMCBDRVNUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB3aW4zMi9NYWtlZmlsZS5tc3ZjOiBwYXRjaCBmcm9tIE1hcmsgVmFrb2MgZm9yIHJlZ3Jlc3Npb24gdGVzdHMKKwkgIG9uIFdpbmRvd3MuCisJKiB4cGF0aC5jOiB0aGUgTmFOIHByb2JsZW0gYWxzbyBzaG93cyB1cCBvbiBCb3JsYW5kCisKK01vbiBBcHIgMjYgMjM6Mzc6MTIgSEtUIDIwMDQgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIHhtbHJlZ2V4cC5jOiBlbmhhbmNlZCB4bWxGQVJlZ0V4ZWMgcmFuZ2UgZXZhbHVhdGlvbiBmb3IgbWluCisJICBvY2N1cnMgMCBwcm9ibGVtcyAtIGZpeGVzIGJ1ZyAxNDA0NzguCisKK1RodSBBcHIgMjIgMDk6MTI6NDcgQ0VTVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcm5ncGFyc2VyLmM6IHRpbnkgcGF0aCBmaXhlcyB0aGUgInhtbENvbnZlcnRDUk5HRmlsZSIgZnVuY3Rpb24gbmFtZQorCSAgZnJvbSBLYXNpbWllciBCdWNoY2lrCisJKiB4bWxzY2hlbWFzLmM6IHJlY3Vyc2l2ZSB4czpleHRlbnNpb24gZml4IGZyb20gdGFpaGVpIGdvaQorCitXZWQgQXByIDIxIDAwOjE5OjI5IENFU1QgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHRyZWUuYzogc21hbGwgYnVmZmVyIHJlc2l6aW5nIGltcHJvdmVtZW50IGZyb20gTW9ydGVuIFdlbGluZGVyCisJICBjbG9zZXMgIzE0MDYyOQorCitUdWUgQXByIDIwIDIzOjQwOjE0IENFU1QgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhwYXRoLmM6IGxhc3QgdmVyc2lvbiBvZiB0aGUgZml4IGZvciBNU0MgdmVyc2lvbiAxMjAwCisKK1R1ZSBBcHIgMjAgMTk6NDA6MzcgQ0VTVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcGFyc2VyLmM6IGtpbGxpbmcgdGhlIHN0cm5jbXAgdnMuIG1lbWNtcCBjb250cm92ZXJzeSBhbmQgIzE0MDU5MworCitUdWUgQXByIDIwIDEzOjI3OjA2IENFU1QgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGluY2x1ZGUvbGlieG1sL1NBWDIuaDogS2FzaW1pZXIgQnVjaGNpayBwb2ludGVkIG91dCBzb21lIAorCSAgaW5leGlzdGVudCBmdW5jdGlvbnMsIGNsZWFuZWQgdGhlbSBvdXQuCisKK1R1ZSBBcHIgMjAgMTE6NDI6NTAgQ0VTVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZXJyb3IuYzogSm9obnNvbiBDYW1lcm9uIHBvaW50ZWQgb3V0IHRoYXQKKwkgIGluaXRHZW5lcmljRXJyb3JEZWZhdWx0RnVuYygpIHdhcyByZWFsbHkgd3JvbmcuCisJKiB4bWxyZWFkZXIuYyBpbmNsdWRlL2xpYnhtbC94bWxyZWFkZXIuaDogeG1sVGV4dFJlYWRlck1vZGUgZW51bQorCSAgbXVzdCBiZSBtYWRlIHB1YmxpYywgYWRkZWQgc29tZSBtaXNzaW5nIGNvbW1lbnRzIG9uIHRoZSBYTUxSZWFkZXIKKwkgIGhlYWRlci4KKwkqIGMxNG4uYzogQWxleHNleSBmaXhlZCBDMTROIGJ1ZyB3aXRoIHByb2Nlc3NpbmcgbmFtZXNwYWNlcworCSAgZnJvbSBhdHRyaWJ1dGVzCisKK01vbiBBcHIgMTkgMjM6Mjc6NDYgQ0VTVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeHBhdGguYzogZml4ZWQgYSBzdHVwaWQgKCkgZXJyb3IgKyBNYXJrIG5hbWUuCisKK1N1biBBcHIgMTggMjM6NDU6NDYgQ0VTVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogY29uZmlndXJlLmluOiBwcmVwYXJpbmcgMi42LjkgcmVsZWFzZQorCSogZG9jLyogTmV3czogdXBkYXRlZCBhbmQgcmVidWlsdCB0aGUgZG9jcworCitTdW4gQXByIDE4IDIyOjUxOjQzIENFU1QgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhwYXRoLmM6IHJlbGF4ZWQgaWQoKSB0byBub3QgY2hlY2sgdGFodCB0aGUgbmFtZShzKSBwYXNzZWQKKwkgIGFyZSBhY3R1YWxseSBOQ05hbWUsIGRlY2lkZWQgdGhpcyBpbiBhZ3JlZW1lbnQgd2l0aCBBbGVrc2V5IFNhbmluCisJICBzaW5jZSBleGlzdGluZyBzcGVjcyBsaWtlIFZpc2EzRCBicm9rZSB0aGF0IGNvbmZvcm1hbmNlIGNoZWNraW5nCisJICBhbmQgb3RoZXIgdG9vbHMgc2VlbXMgdG8gbm90IGltcGxlbWVudCBpdCBzaWdoLi4uCisJKiBTQVgyLmM6IGNoZWNrIGF0dHJpYnV0ZSBkZWNscyBmb3IgeG1sOmlkIGFuZCB0aGUgdmFsdWUgaXMgYW4KKwkgIE5DTmFtZS4KKwkqIHRlc3QveG1saWQvaWRfZXJyKiByZXN1bHQveG1saWQvaWRfZXJyKjogYWRkZWQgZXJyb3IgdGVzdGluZworCitTdW4gQXByIDE4IDIxOjQ2OjE3IENFU1QgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhwYXRoLmM6IHdvcmsgYXJvdW5kIE1pY3Jvc29mdCBjb21waWxlciBOYU4gYnVnIHJhaXNlIHJlcG9ydGVkCisJICBieSBNYXJrIFZha29jCisJKiB4bWxzY2hlbWFzLmMgaW5jbHVkZS9saWJ4bWwvc2NoZW1hc0ludGVybmFscy5oIAorCSAgaW5jbHVkZS9saWJ4bWwveG1sZXJyb3IuaDogZml4ZWQgYSByZWN1c2l2ZSBleHRlbnRpb24gc2NoZW1hcworCSAgY29tcGlsYXRpb24gZXJyb3IgcmFpc2VkIGJ5IHRhaWhlaSBnb2kKKworU3VuIEFwciAxOCAxNjo1NzowMiBDRVNUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBsaWJ4bWwuc3BlYy5pbjoga2VlcCB0aGUgQ2hhbmdlTG9nIGNvbXByZXNzZWQgCisJKiB4bWxyZWFkZXIuYzogZml4IGEgc2VnZmF1bHQgd2hlbiB1c2luZyBDbG9zZSgpCisJKiBweXRob24vdGVzdHMvTWFrZWZpbGUuYW0gcHl0aG9uL3Rlc3RzL3JlYWRlcjgucHk6IHRlc3QgZm9yCisJICB0aGUgQ2xvc2UoKSByZWFkZXIgQVBJLgorCitTYXQgQXByIDE3IDIyOjQyOjEzIEhLVCAyMDA0IFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiB4bWxzY2hlbWFzLmMsIHhtbHdyaXRlci5jLCBkb2MvZXhhbXBsZXMvcGFyc2U0LmMsCisJICBkb2MvZXhhbXBsZXMvaW8yLmM6IG1pbm9yIHdhcm5pbmcgY2xlYW51cCAobm8gY2hhbmdlIHRvIGxvZ2ljKQorCSogeGluY2x1ZGU6IGZpeGVkIHJldHVybiB2YWx1ZSBmb3IgaW50ZXJuYWwgZnVuY3Rpb24KKwkgIHhtbFhJbmNsdWRlTG9hZEZhbGxiYWNrIChub3cgYWx3YXlzIDAgb3IgLTEpCisKK1NhdCBBcHIgMTcgMjE6MzI6MzIgSEtUIDIwMDQgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIHZhbGlkLmM6IHNtYWxsIGVuaGFuY2VtZW50IHRvIGZpeCBidWcgMTM5NzkxCisKK0ZyaSBBcHIgMTYgMTg6NDQ6NDcgQ0VTVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sc2NoZW1hcy5jIGluY2x1ZGUvbGlieG1sL3NjaGVtYXNJbnRlcm5hbHMuaAorCSAgaW5jbHVkZS9saWJ4bWwveG1sZXJyb3IuaDogYXBwbGllZCBwYXRjaGVzIGZyb20gS2FzaW1pZXIgQnVjaGNpaworCSAgZm9yIHRoZSBhdHRyaWJ1dGUgdXNlIHN1cHBvcnQKKwkqIHRlc3Qvc2NoZW1hcy9hdHRydXNlKiByZXN1bHQvc2NoZW1hcy9hdHRydXNlKjogYWRkZWQgdGhlCisJICB0ZXN0cyB0byB0aGUgcmVncmVzc2lvbiBzdWl0ZS4KKworRnJpIEFwciAxNiAxODoyMjoyNSBDRVNUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxzYXZlLmM6IG1vdmUgdGhlIFRPRE8gYXMgY29tbWVudHMgYXMgdGhlIGZ1bmN0aW9uIHdoaWxlIG5vdAorCSAgZmluaXNoZWQgYXJlIHVzYWJsZSBhcy1pcworCSogeG1sc2NoZW1hcy5jIGluY2x1ZGUvbGlieG1sL3htbGVycm9yLmg6IHBhdGNoIGZyb20gS2FzaW1pZXIgQnVjaGNpaworCSAgaW1wbGVtZW50aW5nIHVuaW9uCisJKiB0ZXN0L3NjaGVtYXMvdW5pb25fMF8wLngqIHJlc3VsdC9zY2hlbWFzL3VuaW9uXzBfMCo6IGFkZGVkIGV4YW1wbGUKKwkqIHB5dGhvbi9NYWtlZmlsZS5hbTogYXBwbGllZCBmaXggZnJvbSBNaWtlIEhvbW1leQorCitGcmkgQXByIDE2IDIzOjU4OjQyIEhLVCAyMDA0IFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiBwYXJzZXIuYzogZml4ZWQgcHJvYmxlbSB3aXRoIGRldGVjdGluZyBleHRlcm5hbCBkdGQKKwkgIGVuY29kaW5nIChidWcgMTM1MjI5KS4KKwkqIE1ha2VmaWxlLmFtOiBtaW5vciBjaGFuZ2UgdG8gdGVzdCBsYWJlbAorCitGcmkgQXByIDE2IDE2OjA5OjMxIEhLVCAyMDA0IFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiB4aW5jbHVkZS5jOiBmaXhlZCBwcm9ibGVtIGNhdXNpbmcgZHVwbGljYXRlIGZhbGxiYWNrCisJICBleGVjdXRpb24gKGJ1ZyAxMzk1MjApCisJKiB0ZXN0L1hJbmNsdWRlL2RvY3MvZmFsbGJhY2syLnhtbCByZXN1bHQvWEluY2x1ZGUvZmFsbGJhY2syLio6CisJICBhZGRlZCB0ZXN0Y2FzZQorCitGcmkgQXByICA5IDIzOjQ5OjM3IENFU1QgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIFNBWDIuYyBpbmNsdWRlL2xpYnhtbC90cmVlLmg6IGFkZGluZyB4bWw6aWQgZHJhZnQgc3VwcG9ydAorCSogTWFrZWZpbGUuYW0gdGVzdC94bWxpZC9pZF90c3QqIHJlc3VsdC94bWxpZC9pZF90c3QqOiBhZGRpbmcKKwkgIDQgZmlyc3QgcmVncmVzc2lvbiB0ZXN0cworCitGcmkgQXByICA5IDExOjU2OjA4IENFU1QgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGxpYnhtbC5zcGVjLmluOiBmaXhpbmcgUmVkIEhhdCBidWcgIzEyMDQ4MiAsIGxpYnhtbDItcHl0aG9uCisJICBzaG91bGQgZGVwZW5kIG9uIHRoZSB2ZXJzaW9uIG9mIHB5dGhvbiB1c2VkIHRvIGNvbXBpbGUgaXQuCisKK01vbiBBcHIgIDUgMDk6MDc6MjQgQ0VTVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogSFRNTHBhcnNlci5jOiBhcHBsaWVkIHBhdGNoIGZyb20gSmFtZXMgQnVyc2EsIGZyYW1lc2V0IHNob3VsZAorCSAgY2xvc2UgaGVhZC4KKworRnJpIEFwciAgMiAyMjowMjoyNCBIS1QgMjAwNCBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogcmVsYXhuZy5jOiBmaXhlZCBwcm9ibGVtIGluIHhtbFJlbGF4TkdDb21wYXJlTmFtZUNsYXNzZXMKKwkgIHdoaWNoIHdhcyBjYXVzaW5nIGNoZWNrLXJlbGF4bmctdGVzdC1zdWl0ZS5weSB0ZXN0IDM1MSB0byBmYWlsLgorCitGcmkgQXByICAyIDE3OjAzOjQ4IEhLVCAyMDA0IFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiBuYW5vaHR0cC5jOiBpbXBsZW1lbnRlZCBmaXggZm9yIE0kIElJUyByZWRpcmVjdCBwcm92aWRlZAorCSAgYnkgSWFuIEh1bW1lbAorCSogcmVsYXhuZy5jOiBmaXhlZCBwcm9ibGVtIHdpdGggbm90QWxsb3dlZCBjb21waWxhdGlvbgorCSAgKGJ1ZyAxMzg3OTMpCisKK1RodSBBcHIgIDEgMjI6MDc6NTIgQ0VTVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogdXJpLmM6IGZpeCBmb3IgeG1sVXJpRXNjYXBlIG9uICJodHRwOi8vdXNlckBzb21ld2hlcmUuY29tIgorCSAgZnJvbSBNYXJrIFZha29jLgorCisyMDA0LTA0LTAxICBKb2hhbiBEYWhsaW4gIDxqb2hhbkBnbm9tZS5vcmc+CisKKwkqIHB5dGhvbi8uY3ZzaWdub3JlOiBBZGQgZ2VuZXJhdGVkIGZpbGVzLCB0byBtYWtlIGN2cyBzaWxlbnQuCisKK1RodSBBcHIgIDEgMTI6NDE6MzYgQ0VTVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sc2NoZW1hcy5jOiBzbWFsbCBzaWduZWQtbmVzcyBwYXRjaCBmcm9tIFN0ZXZlIExpdHRsZQorCitXZWQgTWFyIDMxIDE3OjQ3OjI4IENFU1QgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbHJlZ2V4cC5jOiBwYXRjaGVkIGEgYnVnIGluIHBhcnNpbmcgcHJvZHVjdGlvbiAxIGFuZCAyIG9mCisJICB4bWxzY2hlbWFzIHJlZ2V4cCB0aGF0IFdpbGxpYW0gcG9pbnRlZCBvdXQgd2hpbGUgd29ya2luZyBvbgorCSAgIzEzNDEyMAorCSogdGVzdC9yZWdleHAvYnJhbmNoIHJlc3VsdC9yZWdleHAvYnJhbmNoOiBhZGRlZCBhIHNwZWNpZmljCisJICByZWdyZXNzaW9uIHRlc3QKKworV2VkIE1hciAzMSAwOTo1MDozMiBIS1QgMjAwNCBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogTWFrZWZpbGUuYW06IGFkZGVkIFBZVEhPTlBBVEggdG8gcHl0aG9uIHRlc3RzIGZvciBTY2hlbWFzCisJICBhbmQgUmVsYXhORworCSogdGVzdC94c2R0ZXN0L3hzZHRlc3RzdWl0ZS54bWw6IGFkZGVkIHRlc3RmaWxlIGZvcgorCSAgU2NoZW1hc1B5dGhvblRlc3RzCisKK01vbiBNYXIgMjkgMTY6NTY6NDkgQ0VTVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZG9jL2V4YW1wbGVzL2V4YW1wbGVzLnhzbCBkb2MvZXhhbXBsZXMvaW5kZXguaHRtbDogYWRkZWQKKwkgIGluZm9ybWF0aW9uIGFib3V0IGNvbXBpbGluZyBvbiBVbml4CisKK01vbiBNYXIgMjkgMTQ6MTg6MTIgQ0VTVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogY2F0YWxvZy5jOiBmaXhlcyB0aGUgY29tbWVudHMgZm9yIHhtbENhdGFsb2dEdW1wIGFuZCB4bWxEdW1wQUNhdGFsb2cKKwkqIGRvYy8qOiByZWJ1aWx0IHRvIHVwZGF0ZQorCitTdW4gTWFyIDI4IDE4OjExOjQxIENFU1QgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbHNhdmUuYzogb3B0aW1pemUgaW5kZW50YXRpb24gYmFzZWQgb24gdGhlIG5ldyBjb250ZXh0CisKK1N1biBNYXIgMjggMTQ6MTc6MTAgQ0VTVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZG9jL2V4YW1wbGVzL3hwYXRoMi5jIGRvYy9leGFtcGxlcy94cGF0aDIucmVzOiBoYW5kbGUgYW5kIGV4cGxhaW4KKwkgIGEgdmVyeSB0cmlja3kgcHJvYmxlbSB3aGVuIG1vZGlmeWluZyB0aGUgdHJlZSBiYXNlZCBvbiBhbiBYUGF0aAorCSAgcmVzdWx0IHF1ZXJ5LgorCitTYXQgTWFyIDI3IDA5OjU2OjE0IFBTVCAyMDA0IFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiByZWxheG5nLmM6IGZpeGVkIHByb2JsZW0gd2l0aCBJU19DT01QSUxBQkxFIGZsYWcKKwkgIChidWcgMTMwMjE2KQorCitGcmkgTWFyIDI2IDE4OjI4OjMyIENFVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcGFyc2VyLmM6IGFwcGxpZWQgcGF0Y2ggZnJvbSBEYXZlIEJlY2tldHQgdG8gY29ycmVjdCBsaW5lIG51bWJlcgorCSAgZXJyb3JzIHdoZW4gdXNpbmcgcHVzaCB3aXRoIENEQVRBCisKK0ZyaSBNYXIgMjYgMTQ6NTM6NTggQ0VUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBkb2MvZXhhbXBsZXMveHBhdGgxLmM6IGFkZGVkIGEgdGVzdCB0ZW1wbGF0ZQorCSogZG9jL2V4YW1wbGVzL3hwYXRoMi5jIGRvYy9leGFtcGxlcy94cGF0aDIucmVzIGRvYy9leGFtcGxlcy8qOgorCSAgYWRkZWQgYSBuZXcgZXhhbXBsZSwgYW5kIG1ha2UgdmFsZ3JpbmQgdGFyZ2V0IAorCitGcmkgTWFyIDI2IDExOjQ3OjI5IENFVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcGFyc2VyLmM6IGFwcGx5IGZpeCBmb3IgIzEzNjY5MworCitUaHUgTWFyIDI1IDIwOjIxOjAxIE1TVCAyMDA0IEpvaG4gRmxlY2sgPGpmbGVja0BpbmtzdGFpbi5uZXQ+CisKKwkqIGRvYy9leGFtcGxlcy9pbzIuYworCSogZG9jL2V4YW1wbGVzL2lvMi5yZXMKKwlhZGQgeG1sRG9jRHVtcE1lbW9yeSBleGFtcGxlIGluIHJlc3BvbnNlIHRvIG1haWxpbmcgbGlzdCBGQVEKKwkocmVidWlsdCB4bWwgYW5kIGh0bWwgYWxzbykKKworVGh1IE1hciAyNSAxMDozMzowNSBDRVQgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGRlYnVnWE1MLmMgdGVzdFhQYXRoLmMgeG1sbGludC5jIHhtbHNjaGVtYXN0eXBlcy5jOiBhcHBsaWVkCisJICBwYXRjaCBmcm9tIE1hcmsgVmFrb2MgYXZvaWRpbmcgdXNpbmcgeG1sUGFyc2UqIG9wdGlvbiBhbmQgdXNlCisJICB4bWxSZWFkKiBpbnN0ZWFkCisJKiB3aW4zMi9NYWtlZmlsZS5iY2I6IHBhdGNoIHRvIEJvcmxhbmQgQysrIGJ1aWxkZXIgZnJvbSBFcmljIFp1cmNoZXIKKwkgIHRvIGF2b2lkIHByb2JsZW1zIHdpdGggc29tZSBwYXRobmFtZXMuCisKK1R1ZSBNYXIgMjMgMTI6MzU6MDggQ0VUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBjb25maWd1cmUuaW4gZG9jLyogTmV3czogcHJlcGFyaW5nIDIuNi44IHJlbGVhc2UsIHVwZGF0ZWQgYW5kIHJlYnVpbHQKKwkgIHRoZSBkb2NzLgorCSogTWFrZWZpbGUuYW06IHVzZSB2YWxncmluZyBmcm8gdGhlIG5ldyBQeXRob24gYmFzZWQgcmVncmVzc2lvbiB0ZXN0cworCitNb24gTWFyIDIyIDIwOjA3OjI3IENFVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcmVsYXhuZy5jOiByZW1vdmUgYSBtZW1vcnkgbGVhayBvbiBzY2hlbWFzIHR5cGUgZmFjZXRzLgorCSogY2hlY2stcmVsYXhuZy10ZXN0LXN1aXRlLnB5IGNoZWNrLXJlbGF4bmctdGVzdC1zdWl0ZTIucHkKKwkgIGNoZWNrLXhzZGRhdGEtdGVzdC1zdWl0ZS5weTogcmVkdWNlIHZlcmJvc2l0eQorCSogY29uZmlndXJlLmluIE1ha2VmaWxlLmFtOiBpbmNvcnBvcmF0ZWQgdGhlIFB5dGhvbiByZWdyZXNzaW9ucworCSAgdGVzdHMgZm9yIFJlbGF4LU5HIGFuZCBTY2hlbWFzIERhdGF0eXBlIHRvICJtYWtlIHRlc3RzIgorCitNb24gTWFyIDIyIDE2OjE2OjE4IENFVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sd3JpdGVyLmMgaW5jbHVkZS9saWJ4bWwveG1sd3JpdGVyLmggZG9jLyogOiBhcHBsaWVkIHBhdGNoIGZyb20KKwkgIEFsZnJlZCBNaWNrYXV0c2NoIGZvciBiZXR0ZXIgRFREIHN1cHBvcnQuCisJKiBTQVgyLmMgSFRNTHBhcnNlci5jIHBhcnNlci5jIHhpbmNsdWRlLmMgeG1sbGludC5jIHhtbHJlYWRlci5jCisJICB4bWxzY2hlbWFzLmM6IGZpeGVkIGJ1ZyAjMTM3ODY3IGkuZS4gZml4ZWQgcHJvcGVybHkgdGhlIHdheQorCSAgcmVmZXJlbmNlIGNvdW50aW5nIGlzIGhhbmRsZWQgaW4gdGhlIFhNTCBwYXJzZXIgd2hpY2ggaGFkIHRoZQorCSAgc2lkZSBlZmZlY3Qgb2YgcmVtb3ZpbmcgYSBsb3Qgb2YgaGF6YXJkb3VzIGNydWZ0IGFkZGVkIHRvIHRyeQorCSAgdG8gZml4IHRoZSBwcm9ibGVtcyBhc3NvY2lhdGVkIGFzIHRoZXkgcG9wcGVkIHVwLgorCSogeG1sSU8uYzogRklMRSAqIGNsb3NlIGZpeHVwIGZvciBzdGRlcnIvc3Rkb3V0CisKK1N1biBNYXIgMjEgMTk6MTk6NDEgSEtUIDIwMDQgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIHJlbGF4bmcuYzogYWRkZWQgYW4gZXJyb3IgbWVzc2FnZSB3aGVuIGFuIGVsZW1lbnQgaXMgbm90CisJICBmb3VuZCB3aXRoaW4gYSA8Y2hvaWNlPiAoYnVnIDEyNjA5MykKKworU2F0IE1hciAyMCAyMjoyNToxOCBIS1QgMjAwNCBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogeG1scmVnZXhwLmM6IGVuaGFuY2VkIHRoZSBsb2dpYyBvZiBwYXJzaW5nIGNoYXIgZ3JvdXBzIHRvCisJICBiZXR0ZXIgaGFuZGxlIGluaXRpYWwgb3IgZW5kaW5nICctJyAoYnVnIDEzNTk3MikKKworU2F0IE1hciAyMCAxOToyNjowMyBIS1QgMjAwNCBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogcmVsYXhuZy5jOiBhZGRlZCBjaGVjayBmb3IgZXh0ZXJuYWwgcmVmZXJlbmNlIGluIAorCSAgeG1sUmVsYXhOR0dldEVsZW1lbnRzIChidWcgMTM3NzE4KQorCSogdGVzdC9yZWxheG5nL3JuZ2J1Zy0wMDEuKiwgcmVzdWx0L3JlbGF4bmcvcm5nYnVnLTAwMSo6IGFkZGVkCisJICByZWdyZXNzaW9uIHRlc3QgZm9yIGFib3ZlCisKK1dlZCBNYXIgMTcgMTY6Mzc6MjIgSEtUIDIwMDQgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIG5hbm9odHRwLmM6IGFkZGVkIGEgY2xvc2UgZm9yIHRoZSBsb2NhbCBmaWxlIGRlc2NyaXB0b3IKKwkgIChidWcgMTM3NDc0KQorCitNb24gTWFyIDE1IDE1OjQ2OjU5IENFVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sc2F2ZS5jOiBzd2l0Y2hlZCB0aGUgb3V0cHV0IHJvdXRpbmVzIHRvIHVzZSB0aGUgbmV3IGNvbnRleHQuCisKK01vbiBNYXIgMTUgMTA6Mzc6MTggSEtUIDIwMDQgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIHJlbGF4bmcuYzogZW5oYW5jZWQgdG8gaWdub3JlIFhNTF9YSU5DTFVERV9TVEFSVCBhbmQgWE1MX1hJTkNMVURFX0VORAorCSAgbm9kZXMgKGJ1ZyAxMzcxNTMpCisKK1N1biBNYXIgMTQgMTM6MTk6MjAgQ0VUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxzY2hlbWFzdHlwZXMuYzogYXBwbGllZCBwYXRjaCBmcm9tIEpvaG4gQmVsbW9udGUgZm9yIGFueVVSSS4KKworV2VkIE1hciAxMCAxNzoyMjo0OCBDRVQgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlci5jOiBmaXggYnVnIHJlcG9ydGVkIGJ5IEhvbGdlciBSYXVjaAorCSogdGVzdC9hdHQ4IHJlc3VsdC9ub2VudC9hdHQ4IHJlc3VsdC9hdHQ4IHJlc3VsdC9hdHQ4LnJkcgorCSAgcmVzdWx0L2F0dDguc2F4OiBhZGRlZCB0aGUgdGVzdCB0byB0aCByZWdyZXNzaW9uIHN1aXRlCisKK1dlZCBNYXIgMTAgMTk6NDI6MjIgSEtUIDIwMDQgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIGRvYy9zZWFyY2gucGhwOiBNaW5vciBjaGFuZ2UgZm9yIGxhdGVyIHZlcnNvbiBvZiBwaHAgcmVxdWlyaW5nCisJICAkSFRUUF9HRVRfVkFSUy4KKworV2VkIE1hciAxMCAwMDoxMjozMSBIS1QgMjAwNCBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogdHJlZS5jOiBDaGFuZ2VkIHRoZSBmbGFnIHRvIHhtbERvY0NvcHlOb2RlIChhbmQgc2ltaWxhciByb3V0aW5lcyksCisJICBwcmV2aW91c2x5IHVzZWQgb25seSBmb3IgcmVjdXJzaW9uLCB0byB1c2UgYSB2YWx1ZSBvZiAnMicgdG8KKwkgIGluZGljYXRlIGNvcHkgcHJvcGVydGllcyAmIG5hbWVzcGFjZXMsIGJ1dCBub3QgY2hpbGRyZW4uCisJKiB4aW5jbHVkZS5jOiBjaGFuZ2VkIHRoZSBoYW5kbGluZyBvZiByYW5nZXMgdG8gdXNlIHRoZSBhYm92ZSBuZXcKKwkgIGZhY2lsaXR5LiAgRml4ZXMgQnVnIDEzNDI2OC4KKworVHVlIE1hciAgOSAxODo0ODo1MSBIS1QgMjAwNCBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogd2luMzIvTWFrZWZpbGUuYmNiLCB3aW4zMi9NYWtlZmlsZS5taW5ndywgd2luMzIvTWFrZWZpbGUubXN2YzoKKwkgIGFkZGVkIG5ldyBtb2R1bGUgeG1sc2F2ZSB3aXRoIHBhdGNoIHN1cHBsaWVkIGJ5IEVyaWMgWnVyY2hlcgorCSAgKHNlY29uZCBhdHRlbXB0IC0gZG9uJ3Qga25vdyB3aGF0IGhhcHBlbmVkIHRvIHRoZSBmaXJzdCBvbmUhKQorCitUdWUgTWFyICA5IDA5OjU5OjI1IENFVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcHl0aG9uL2xpYnhtbC5jIHB5dGhvbi9saWJ4bWwucHk6IGFwcGxpZWQgcGF0Y2ggZnJvbSBBbnRob255IENhcnJpY28KKwkgIHByb3ZpZGluZyBQeXRob24gYmluZGluZ3MgZm9yIHRoZSBDYW5vbmljYWxpemF0aW9uIEMxNE4gc3VwcG9ydC4KKworTW9uIE1hciAgOCAxMToxMjoyMyBDRVQgMjAwNCBIYWdlbiBNb2ViaXVzIDxoYWdlbi5tb2ViaXVzQHN0YXJzY2hpZmZjaGVuLmRlPgorCisJKiAuY3ZzaWdub3JlIGFuZCBweXRob24vLmN2c2lnbm9yZSBwYXRjaGVkCisKK01vbiBNYXIgIDggMjI6MzM6MTQgSEtUIDIwMDQgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIHhpbmNsdWRlLmM6IGVuaGFuY2VkIHRvIGFzc3VyZSB0aGF0IGlmIHhwb2ludGVyIGlzIGNhbGxlZAorCSAgZm9yIGEgZG9jdW1lbnQsIHRoZSBYTUxfUEFSU0VfTk9FTlQgZmxhZyBpcyBzZXQgYmVmb3JlIHBhcnNpbmcKKwkgIHRoZSBpbmNsdWRlZCBkb2N1bWVudCBzbyB0aGF0IGVudGl0aWVzIHdpbGwgYXV0b21hdGljYWxseSBnZXQKKwkgIHRha2VuIGNhcmUgb2YuCisJKiB4cG9pbnRlci5jOiBjb3JyZWN0ZWQgY29kZSBzbyB0aGF0LCBpZiBhbiBYTUxfRU5USVRZX1JFRiBub2RlCisJICBpcyBlbmNvdW50ZXJlZCwgaXQgd2lsbCBsb2cgaXQgYW5kIG5vdCBjcmFzaCAoYnVnIDEzNTcxMykKKworU3VuIE1hciAgNyAxOTowMzo0OCBIS1QgMjAwNCBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogeGluY2x1ZGUuYzogbW9kaWZpZWQgdG8gbWFrZSBzdWItaW5jbHVkZXMgaW5oZXJpdCB0aGUKKwkgIHBhcnNlIGZsYWdzIGZyb20gdGhlIHBhcmVudCBkb2N1bWVudCAoYnVnIDEzMjU5NykKKworRnJpIE1hciAgNSAwMToxMzoyMiBDRVQgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbHNjaGVtYXMuYzogUU5hbWUgaGFuZGxpbmcgZml4ZXMgZm9yIHRoZSBYTUwgU2NoZW1hcworCSAgc3VwcG9ydCBmcm9tIEFkYW0gRGlja21laXNzCisJKiB0ZXN0L3NjaGVtYXMvcG8xXzAueHNkOiBhbHNvIGZpeCB0aGUgc2NoZW1hcworCSogdGVzdC9zY2hlbWFzL25zWzEyXSogcmVzdWx0L3NjaGVtYXMvbnNbMTJdKjogYWRkZWQgdGhlIHNwZWNpZmljCisJICByZWdyZXNzaW9uIHRlc3RzCisKK1RodSBNYXIgIDQgMjM6MDM6MDIgQ0VUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBjb25maWd1cmUuaW4gZG9jL01ha2VmaWxlLmFtIGluY2x1ZGUvbGlieG1sL01ha2VmaWxlLmFtOgorCSAgcGFhbGllZCBwYXRjaCBmcm9tIEp1bGlvIE0uIE1lcmlubyBWaWRhbCBmaXhpbmcgYnVnICMxMzQ3NTEKKwkgIHRvIGZpeCAtLXdpdGgtaHRtbC1kaXIgb3B0aW9uLgorCSogZG9jLyo6IHJlYnVpbHQgZnVsbHkgdGhlIGRvY3MgCisJKiBkb2MvaHRtbC9saWJ4bWwteG1sc2F2ZS5odG1sOiBuZXcgZmlsZSBmcm9tIG5ldyBoZWFkZXIuCisKK1RodSBNYXIgIDQgMTY6NTc6NTAgQ0VUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBkZWJ1Z1hNTC5jIHRlc3RIVE1MLmMgdHJlZS5jIGRvYy9leGFtcGxlcy8qLmMKKwkgIGluY2x1ZGUvbGlieG1sL3htbHNhdmUuaDogZml4aW5nIGNvbXBpbGF0aW9uIGJ1ZyB3aXRoIHNvbWUgb3B0aW9ucworCSAgZGlzYWJsZWQgYXMgd2VsbCBhcyAtLXdpdGgtbWluaW11bSBzaG91bGQgZml4ICMxMzQ2OTUKKworVGh1IE1hciAgNCAxNTowMDo0NSBDRVQgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbGNhdGFsb2cuYzogYWxsb3cgZmFsbGJhY2sgdG8gVVJJIGxvb2t1cCB3aGVuIFNZU1RFTSBmYWlscywKKwkgIHNob3VsZCBjbG9zZSAjMTM0MDkyCisKK1RodSBNYXIgIDQgMTQ6Mzk6MzggQ0VUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBNYWtlZmlsZS5hbSB0cmVlLmMgeG1sc2F2ZS5jIGluY2x1ZGUvbGlieG1sL3htbHNhdmUuaDogY29tbWl0aW5nCisJICB0aGUgbmV3IHhtbHNhdmUgbW9kdWxlIGJlZm9yZSB0aGUgYWN0dWFsbCBiaWcgY29kZSBjaGFuZ2UuCisKK1RodSBNYXIgIDQgMTI6Mzg6NTMgQ0VUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxzY2hlbWFzLmM6IGFwcGxpZWQgcGF0Y2ggZnJvbSBBZGFtIERpY2ttZWlzcyBmb3IgbWl4ZWQgY29udGVudAorCSogdGVzdC9zY2hlbWFzL21peGVkKiByZXN1bHQvc2NoZW1hcy9taXhlZCo6IGFkZGVkIGhpcyByZWdyZXNzaW9uCisJICB0ZXN0cyB0b28uCisKK01vbiBNYXIgIDEgMTU6MjI6MDYgQ0VUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB0ZXN0U0FYLmM6IGZpeCBhIGNvbXBpbGF0aW9uIHByb2JsZW0gYWJvdXQgYSBtaXNzaW5nIHRpbWIgaW5jbHVkZQorCitTYXQgRmViIDI4IDIyOjM1OjMyIEhLVCAyMDA0IFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiB0ZXN0U0FYLmM6IHNtYWxsIGVuaGFuY2VtZW50IHRvIHByZXZlbnQgdHJ5aW5nIHRvIHByaW50CisJICBzdHJpbmdzIHdpdGggbnVsbCBwb2ludGVycyAoY2F1c2VkICJtYWtlIHRlc3RzIiBlcnJvcnMgb24KKwkgIEhQLVVYKQorCitUaHUgRmViIDI2IDIwOjE5OjQwIE1TVCAyMDA0IEpvaG4gRmxlY2sgPGpmbGVja0BpbmtzdGFpbi5uZXQ+CisKKwkqIGRvYy94bWxsaW50LnhtbAorCSogZG9jL3htbGxpbnQuMQorCSogZG9jL3htbGxpbnQuaHRtbAorCSogZG9jL3htbGNhdGFsb2dfbWFuLnhtbAorCSogZG9jL3htbGNhdGFsb2cuMQorCSogZG9jL3htbGNhdGFsb2dfbWFuLmh0bWwKKwlhcHBseWluZyBwYXRjaCBmcm9tIE1pa2UgSG9tbWV5IHRvIGNsYXJpZnkgWE1MX0NBVEFMT0dfRklMRVMKKwl1c2UKKworVGh1IEZlYiAyNiAyMzo0Nzo0MyBDRVQgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIE1ha2VmaWxlLmFtOiBwYXRjaCBmb3IgY3Jvc3MtY29tcGlsYXRpb24gdG8gV2luZG93cyBmcm9tCisJICBDaHJpc3RvcGhlIGRlIFZJRU5ORS4KKworVGh1IEZlYiAyNiAxODo1MjoxMSBIS1QgMjAwNCBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogZG9jLyouaHRtbCwgZG9jL2h0bWwvKi5odG1sOiByZWdlbmVyYXRlZCBkb2NzIHVzaW5nIG9sZGVyCisJICB2ZXJzaW9uIG9mIHhzbHRwcm9jIHBlbmRpbmcgcmVzb2x1dGlvbiBvZiBBVlQgcHJvYmxlbQorCitUaHUgRmViIDI2IDEwOjU2OjI5IENFVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogTWFrZWZpbGUuYW06IGFwcGxpZWQgcGF0Y2ggZnJvbSBDaGFybGVzIEJvemVtYW4gdG8gbm90IHVzZQorCSAgdGhlIHN5c3RlbSB4bWxsaW50LgorCitXZWQgRmViIDI1IDE4OjA3OjA1IENFVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogaW5jbHVkZS9saWJ4bWwveG1sZXhwb3J0cy5oOiBhcHBsaWVkIHBhdGNoIGZyb20gUm9sYW5kIFNjaHdpbmdlbAorCSAgZm9yIE1pbmdXCisKK1dlZCBGZWIgMjUgMTM6NTc6MjUgQ0VUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBNYWtlZmlsZS5hbSBjYXRhbG9nLmMgY29uZmlndXJlLmluOiBhcHBsaWVkIGEgY2xlYW51cCBwYXRjaAorCSAgZnJvbSBQZXRlciBCcmVpdGVubG9obmVyCisJKiB0cmVlLmM6IHJlbW92ZWQgYSBkb2MgYnVpbGQgd2FybmluZyBieSBmaXhpbmcgYSBwYXJhbSBjb21tZW50CisJKiBkb2MvKiA6IHJlYnVpbHQgdGhlIGRvY3MKKworV2VkIEZlYiAyNSAxMzozMzowNyBDRVQgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHZhbGlkLmMgSFRNTHBhcnNlci5jOiBhdm9pZCBJRCBlcnJvciBtZXNzYWdlIGlmIHVzaW5nCisJICBIVE1MX1BBUlNFX05PRVJST1Igc2hvdWxkIGZpeCAjMTMwNzYyCisKK1dlZCBGZWIgMjUgMTI6NTA6NTMgQ0VUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBkZWJ1Z1hNTC5jIHJlbGF4bmcuYyB2YWxpZC5jIHhpbmNsdWRlLmMgeG1sbGludC5jIHhtbHJlYWRlci5jOgorCSAgZml4aW5nIGNvbXBpbGF0aW9uIGFuZCBsaW5rIG9wdGlvbiB3aGVuIGNvbmZpZ3VyaW5nIHdpdGgKKwkgIC0td2l0aG91dC12YWxpZCBzaG91bGQgZml4ICMxMzUzMDkKKworV2VkIEZlYiAyNSAxMTozNjowNiBDRVQgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGNhdGFsb2cuYzogZml4ZWQgdGhlIG1haW4gaXNzdWVzIHJlcG9ydGVkIGJ5IFBldGVyIEJyZWl0ZW5sb2huZXIKKwkqIHBhcnNlci5jOiBjbGVhbnVwCisJKiB2YWxpZC5jOiBzcGVlZHVwIHBhdGNoIGZyb20gUGV0ciBQYWphcworCitXZWQgRmViIDI1IDE2OjA3OjE0IEhLVCAyMDA0IFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiB4cGF0aC5jOiBmaXhlZCBhIG1lbW9yeSBsZWFrICh4bWxYUGF0aExhbmdGdW5jdGlvbikgcmVwb3J0ZWQKKwkgIG9uIHRoZSBsaXN0IGJ5IE1pa2UgSG9tbWV5CisKK01vbiBGZWIgMjMgMTc6Mjg6MzQgQ0VUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBkb2MvKiBORVdTIGNvbmZpZ3VyZS5pbjogcHJlcGFyaW5nIDIuNi43IHJlbGVhc2UsIHVwZGF0ZWQgYW5kCisJICByZWJ1aWx0IHRoZSBkb2N1bWVudGF0aW9uLgorCitNb24gRmViIDIzIDExOjUyOjEyIENFVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcHl0aG9uL3Rlc3RzLyoucHk6IGFwcGxpZWQgcGF0Y2ggZnJvbSBNYWxjb2xtIFRyZWRpbm5pY2sKKwkgIHRvIGF2b2lkIHRhYnMgaW4gcHl0aG9uIHNvdXJjZXMsIHNob3VsZCBmaXggIzEzNTA5NQorCitTdW4gRmViIDIyIDIzOjE2OjIzIENFVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogdGVzdFNBWC5jOiBhZGQgLS10aW1pbmcgb3B0aW9uCisJKiByZWxheG5nLmM6IHVzZSB0aGUgcHN2aSBmaWVsZCBvZiB0aGUgbm9kZXMgaW5zdGVhZCBvZiBfcHJpdmF0ZQorCSAgd2hpY2ggbWF5IGJlIHVzZWQgZm9yIG90aGVyIHB1cnBvc2VzLgorCitTYXQgRmViIDIxIDE2OjU3OjQ4IENFVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZW5jb2RpbmcuYzogc21hbGwgcGF0Y2ggdG8gdHJ5IHRvIGZpeCBhIHdhcm5pbmcgd2l0aCBTdW4gT25lIGNvbXBpbGVyCisKK1NhdCBGZWIgMjEgMTY6MjI6MzUgQ0VUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBlbmNvZGluZy5jOiBzbWFsbCBwYXRjaCByZW1vdmluZyBhIHdhcm5pbmcgd2l0aCBNUyBjb21waWxlci4KKworU2F0IEZlYiAyMSAxMzo1MjozMCBDRVQgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGRlYnVnWE1MLmM6IGFkZGVkICJyZWxheG5nIiBvcHRpb24gdG8gdGhlIGRlYnVnZ2luZyBzaGVsbAorCSogTWFrZWZpbGUuYW0gdGVzdC9lcnJvcnMvKiByZXN1bHQvZXJyb3JzLyo6IHNvbWUgcmVncmVzc2lvbiB0ZXN0cworCSAgZm9yIHNvbWUgZXJyb3IgdGVzdHMgY2FzZXMuCisKK0ZyaSBGZWIgMjAgMDk6NTY6NDcgQ0VUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB0cmVlLmM6IHhtbEF0dHJTZXJpYWxpemVUeHRDb250ZW50IGRvbid0IHNlZ2ZhdWx0IGlmIE5VTEwKKwkgIGlzIHBhc3NlZC4KKwkqIHRlc3QvYXR0NyByZXN1bHQvL2F0dDcqOiBhZGRpbmcgYW4gb2xkIHJlZ3Jlc3Npb24gdGVzdAorCSAgbGF5aW5nIGFyb3VuZCBvbiBteSBsYXB0b3AKKworVGh1IEZlYiAxOSAxNzozMzozNiBDRVQgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbHJlYWRlci5jOiBmaXhlZCB4bWxsaW50IC0tbWVtb3J5IC0tc3RyZWFtIG1lbW9yeSBjb25zdW1wdGlvbgorCSAgb24gbGFyZ2UgZmlsZSBieSB1c2luZyB4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZVN0YXRpYygpIHdpdGgKKwkgIHRoZSBtbWFwJ2VkIGZpbGUgCisKK1RodSBGZWIgMTkgMTM6NTY6NTMgQ0VUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB0cmVlLmM6IHNvbWUgY2xhcmlmaWNhdGlvbiBpbiB4bWxEb2NEdW1wTWVtb3J5KCkgZG9jdW1lbnRhdGlvbgorCSogeG1sbGludC5jOiBmaXhlZCB4bWxsaW50IC0tc3RyZWFtIC0tdGltaW5nIHRvIGdldCB0aW1pbmdzIGJhY2sKKworV2VkIEZlYiAxOCAxNToyMDo0MiBDRVQgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlci5jOiBmaXhlZCBhIHByb2JsZW0gaW4gcHVzaCBtb2RlIHdoZW4gYXR0cmlidXRlIGNvbnRhaW5zCisJICB1bmVzY2FwZWQgJz4nIGNoYXJhY3RlcnMsIGZpeGVzIGJ1ZyAjMTM0NTY2CisJKiB0ZXN0L2F0dDYgcmVzdWx0Ly9hdHQ2KjogYWRkZWQgdGhlIHRlc3QgdG8gdGhlIHJlZ3Jlc3Npb24gc3VpdGUKKworVHVlIEZlYiAxNyAxNzoyNjozMSBDRVQgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHZhbGlkLmM6IHJlbW92aW5nIGEgbm9uLWxpbmVhciBiZWhhdmlvdXIgZnJvbSBJRC9JRFJFRiByYWlzZWQKKwkgIGJ5IFBldHIgUGFqYXMuIENhbGwgeG1sTGlzdEFwcGVuZCBpbnN0ZWFkIG9mIHhtbExpc3RJbnNlcnQgaW4KKwkgIHhtbEFkZFJlZgorCitUdWUgRmViIDE3IDEzOjI3OjI3IENFVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcHl0aG9uL3Rlc3RzL2luZGV4ZXMucHkgcHl0aG9uL3Rlc3RzL3JlYWRlci5weTogaW5kaWNhdGVkCisJICBlbmNvZGluZyBvZiB0aGUgdGVzdCBmaWxlLCBuZWVkZWQgZm9yIHB5dGhvbiAyLjMKKworVHVlIEZlYiAxNyAyMTowODoxMSBIS1QgMjAwNCBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogeHBhdGguYzogZml4ZWQgcHJvYmxlbSB3aXRoIG51bWJlcnMgaGF2aW5nID4gMTkKKwkgIGZyYWN0aW9uYWwgcGxhY2VzIChidWcgMTMzOTIxKQorCitUdWUgRmViIDE3IDEyOjQ3OjIwIENFVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeHBhdGguYzogYXBwbGllZCBvcHRpbWl6YXRpb24gcGF0Y2ggZnJvbSBQZXRyIFBhamFzCisKK1R1ZSBGZWIgMTcgMTI6Mzk6MDggQ0VUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWx3cml0ZXIuYyBpbmNsdWRlL2xpYnhtbC94bWx3cml0ZXIuaDogYXBwbGllZCB1cGRhdGUKKwkgIGZyb20gQWxmcmVkIE1pY2thdXRzY2ggYW5kIHRoZSBhZGRlZCBwYXRjaCBmcm9tIEx1Y2FzIEJyYXNpbGlubworCitTdW4gRmViIDE1IDEyOjAxOjMwIENFVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogYmVuY2htYXJrLnBuZyBpbmRleC5odG1sIHhtbC5odG1sOiB1cGRhdGluZyB0aGUgYmVuY2htYXJrCisJICBncmFwaCBhbmQgdXNpbmcgYSBQTkcgaW5zdGVhZCBvZiBhIEdJRgorCSogeG1scmVhZGVyLmM6IHVwZGF0ZWQgdGhlIFRPRE8KKworU2F0IEZlYiAxNCAxODo1NTo0MCBNU1QgMjAwNCBKb2huIEZsZWNrIDxqZmxlY2tAaW5rc3RhaW4ubmV0PgorCisJKiBkb2MvdHV0b3JpYWwveG1sdHV0b3JpYWwueG1sCisJKiBkb2MvdHV0b3JpYWwveG1sdHV0b3JpYWwucGRmCisJKiBkb2MvdHV0b3JpYWwvKi5odG1sCisJRml4IGJ1ZyBpbiBYUGF0aCBleGFtcGxlIGluIHRoZSB0dXRvcmlhbCwgdGhhbmtzIHRvIENhcmxvcywgd2hvc2UKKwlsYXN0IG5hbWUgSSBkb24ndCBrbm93LCBmb3IgcG9pbnRpbmcgdGhpcyBvdXQKKworVGh1IEZlYiAxMiAxNjoyODoxMiBDRVQgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIE5FV1MgY29uZmlndXJlLmluOiBwcmVwYXJpbmcgcmVsZWFzZSBvZiAyLjYuNgorCSogZG9jLyo6IHVwZGF0ZWQgdGhlIGRvY3MgYW5kIHJlYnVpbHQgdGhlbQorCitUaHUgRmViIDEyIDEzOjQxOjE2IENFVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1scmVnZXhwLmM6IGZpeGluZyBidWcgIzEzMjkzMCB3aXRoIHRoZSBwcm92aWRlZCBwYXRjaCwgYSBiaXQKKwkgIHN1c3BpY2lvdXMgYWJvdXQgaXQgYnV0IHRoaXMgaXMgZmFpcmx5IGNvbnRhaW5lZCBhbmQgcmVncmVzc2lvbgorCSAgdGVzdHMgc3RpbGwgcGFzc2VzLgorCSogdGVzdC9zY2hlbWFzL2FsbDEqIHJlc3VsdC9zY2hlbWFzL2FsbDEqOiBhZGRlZCB0aGUgdGVzdCB0bworCSAgdGhlIHJlZ3Jlc3Npb24gc3VpdGUuCisKK1RodSBGZWIgMTIgMTI6NTQ6MjYgQ0VUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBwYXJzZXIuYzogZml4ZWQgYnVnICMxMzI1NzUgYWJvdXQgZmluZGluZyB0aGUgZW5kIG9mIHRoZQorCSAgaW50ZXJuYWwgc3Vic2V0IGluIHB1c2ggbW9kZS4KKwkqIHRlc3QvaW50c3Vic2V0LnhtbCByZXN1bHQvaW50c3Vic2V0LnhtbCogcmVzdWx0L25vZW50L2ludHN1YnNldC54bWw6CisJICBhZGRlZCB0aGUgdGVzdCB0byB0aGUgcmVncmVzc2lvbiBzdWl0ZQorCitXZWQgRmViIDExIDE0OjE5OjMxIENFVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcGFyc2VySW50ZXJuYWxzLmMgeG1sSU8uYyBlbmNvZGluZy5jIGluY2x1ZGUvbGlieG1sL3BhcnNlci5oCisJICBpbmNsdWRlL2xpYnhtbC94bWxJTy5oOiBhZGRlZCB4bWxCeXRlQ29uc3VtZWQoKSBpbnRlcmZhY2UKKwkqIGRvYy8qOiB1cGRhdGVkIHRoZSBiZW5jaG1hcmsgcmVidWlsdCB0aGUgZG9jcworCSogcHl0aG9uL3Rlc3RzL01ha2VmaWxlLmFtIHB5dGhvbi90ZXN0cy9pbmRleGVzLnB5OiBhZGRlZCBhCisJICBzcGVjaWZpYyByZWdyZXNzaW9uIHRlc3QgZm9yIHhtbEJ5dGVDb25zdW1lZCgpCisJKiBpbmNsdWRlL2xpYnhtbC9lbmNvZGluZy5oIHJuZ3BhcnNlci5jIHRyZWUuYzogc21hbGwgY2xlYW51cHMKKworV2VkIEZlYiAxMSAwODoxMzo1OCBIS1QgMjAwNCBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaworCisJKiB0cmVlLmM6IGZpeGVkIG1pc3Npbmcgb3V0cHV0IG9mIGludGVybmFsIERURCBwYXJhbSBlbnRpdGllcyB3aGVuCisJICBub3RoaW5nIGVsc2UgcHJlc2VudCBpbiBEVEQgKGJ1ZyAxMzQwNTIpCisKK1R1ZSBGZWIgMTAgMTk6MjQ6MzggSEtUIDIwMDQgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIGVuY29kaW5nLmM6IGFwcGxpZWQgcGF0Y2ggc3VwcGxpZWQgYnkgQ2hyaXN0b3BoZSBEdWJhY2gKKwkgIHRvIGZpeCBwcm9ibGVtIHdpdGggLS13aXRoLW1pbmltdW0gY29uZmlndXJhdGlvbgorCSAgKGJ1ZyAxMzM3NzMpCisJKiBuYW5vZnRwLmM6IGZpeGVkIHBvdGVudGlhbCBidWZmZXIgb3ZlcmZsb3cgcHJvYmxlbSwKKwkgIHNpbWlsYXIgdG8gZml4IGp1c3QgYXBwbGllZCB0byBuYW5vaHR0cC5jLgorCitNb24gRmViICA5IDE4OjQwOjIxIENFVCAyMDA0IElnb3IgWmxhdGtvdmljIDxpZ29yQHpsYXRrb3ZpYy5jb20+CisKKwkqIG5hbm9odHRwLmM6IGZpeGVkIHRoZSBmaXggZm9yIHRoZSBidWZmZXIgb3ZlcmZsb3csIHRoYW54CisJICBXaWxsaWFtIDotKQorCitNb24gRmViICA5IDIyOjM3OjE0IEhLVCAyMDA0IFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiBhY2luY2x1ZGUubTQsIGNvbmZpZ3VyZS5pbjogZml4ZWQgcHJvYmxlbSBjb25jZXJuaW5nCisJICBkZXRlcm1pbmluZyBTT0NLTEVOX1QgYXMgcG9pbnRlZCBvdXQgYnkgRGFuaWVsIFJpY2hhcmQgRy4KKwkgIG9uIHRoZSBtYWlsaW5nIGxpc3QKKworTW9uIEZlYiAgOSAxNTozMToyNCBDRVQgMjAwNCBJZ29yIFpsYXRrb3ZpYyA8aWdvckB6bGF0a292aWMuY29tPgorCisJKiBuYW5vaHR0cC5jOiBmaXhlZCBidWZmZXIgb3ZlcmZsb3cgcmVwb3J0ZWQgYnkgWXV1aWNoaSBUZXJhbmlzaGkKKworTW9uIEZlYiAgOSAxMzo0NTo1OSBDRVQgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhwYXRoLmM6IHNtYWxsIHBhdGNoIGZyb20gUGhpbGlwIEx1ZGxhbSB0byBhdm9pZCB3YXJuaW5ncy4KKworTW9uIEZlYiAgOSAxMzo0MTo0NyBDRVQgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGVuY29kaW5nLmM6IGFwcGxpZWQgYSBzbWFsbCBwYXRjaCBmcm9tIEFsZnJlZCBNaWNrYXV0c2NoCisJICB0byBhdm9pZCBhbiBvdXQgb2YgYm91bmQgZXJyb3IgaW4gaXNvbGF0MVRvVVRGOCgpCisKK01vbiBGZWIgIDkgMTM6MzU6NTAgQ0VUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4aW5jbHVkZS5jOiByZW1vdmUgdGhlIHdhcm5pbmcgb24gdGhlIDIwMDEgbmFtZXNwYWNlCisJKiBwYXJzZXIuYyBwYXJzZXJJbnRlcm5hbHMuYyB4cGF0aC5jOiByZW1vdmUgc29tZSB3YXJuaW5ncworCSAgd2hlbiBjb21waWxpbmcgd2l0aCBNU1ZDNgorCSogbmFub2h0dHAuYzogYXBwbGllZCBhIHBhdGNoIHdoZW4gdXNpbmcgX1dJTlNPQ0tBUElfCisKK1N1biBGZWIgIDggMTI6MDk6NTUgSEtUIDIwMDQgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIHhpbmNsdWRlLmM6IGFkZGVkIGEgc21hbGwgaGFjayB0byBmaXggaW50ZXJmZXJlbmNlIGJldHdlZW4KKwkgIG15IGZpeGVzIGZvciBidWdzIDEzMjU4NSBhbmQgMTMyNTg4LgorCSogcHl0aG9uL2xpYnhtbC5jOiBmaXhlZCBwcm9ibGVtIHdpdGggc2VyaWFsaXphdGlvbiBvZiBuYW1lc3BhY2UKKwkgIHJlcG9ydGVkIG9uIHRoZSBtYWlsaW5nIGxpc3QgYnkgQW50aG9ueSBDYXJyaWNvCisKK1NhdCBGZWIgIDcgMTY6NTM6MTEgSEtUIDIwMDQgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIHhpbmNsdWRlLmM6IGZpeGVkIHByb2JsZW0gd2l0aCBmdW5jdGlvbiB4bWxYSW5jbHVkZUNvcHlSYW5nZQorCSAgKGJ1ZyAxMzM2ODYpLgorCitGcmkgRmViICA2IDIxOjAzOjQxIEhLVCAyMDA0IFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiB4bWx3cml0ZXIuYzogZml4ZWQgcHJvYmxlbSB3aXRoIHJldHVybiB2YWx1ZSBvZgorCSAgeG1sVGV4dFdyaXRlcldyaXRlSW5kZW50KCkgKGJ1ZyAxMzMyOTcpCisKK0ZyaSBGZWIgIDYgMTk6MDc6MDQgSEtUIDIwMDQgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIHhpbmNsdWRlLmM6IGNoYW5nZWQgY29kaW5nIHRvIG91dHB1dCBnb29kIFhJbmNsdWRlcyB3aGVuCisJICBvbmUgb3IgbW9yZSBiYWQgb25lcyBhcmUgcHJlc2VudCAoYnVnIDEzMjU4OCkKKworRnJpIEZlYiAgNiAxNzozNDoyMSBIS1QgMjAwNCBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogeGluY2x1ZGUuYzogY29ycmVjdGVkIGhhbmRsaW5nIG9mIGVtcHR5IGZhbGxiYWNrIGNvbmRpdGlvbgorCSAgKGJ1ZyAxMzI1ODUpCisKK0ZyaSBGZWIgIDYgMTU6Mjg6MzYgSEtUIDIwMDQgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIEhUTUxwYXJzZXIuYzogYWRkZWQgaW5pdGlhbGlzYXRpb24gZm9yIGN0eHQtPnZjdHh0CisJICBpbiBIVE1MSW5pdFBhcnNlciAoYnVnIDEzMzEyNykKKwkqIHZhbGlkLmM6IG1pbm9yIGNvc21ldGljIGNoYW5nZSAocmVtb3ZlZCBBVFRSSUJVVEVfVU5VU0VECisJICBmcm9tIHNldmVyYWwgZnVuY3Rpb24gcGFyYW1zKQorCitUdWUgRmViICAzIDE2OjQ4OjU3IFBTVCAyMDA0IFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiB4aW5jbHVkZS5jOiBmaXhlZCBwcm9ibGVtIHJlZ2FyZGluZyBmcmVlaW5nIG9mIGRpY3Rpb25hcnkKKwkgIHdoZW4gdGhlcmUgYXJlIGVycm9ycyB3aXRoaW4gYW4gWEluY2x1ZGUgZmlsZSAoYnVnIDEzMzEwNikuCisJICBUaGFua3MgdG8gT2xlZyBQYXJhc2NoZW5rbyBmb3IgdGhlIGFzc2lzdGFuY2UuCisKK1R1ZSBGZWIgIDMgMDk6NTM6MTggUFNUIDIwMDQgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIHhtbHNjaGVtYXN0eXBlcy5jOiBmaXhlZCB2YWxpZGF0aW9uIG9mIG1heExlbmd0aCB3aXRoIG5vCisJICBjb250ZW50IHVzaW5nIHBhdGNoIHN1Ym1pdHRlZCBieSBFcmljIEhhc3psYWtpZXdpY3oKKwkgIChidWcgMTMzMjU5KQorCitUdWUgRmViICAzIDA5OjIxOjA5IENFVCAyMDA0IElnb3IgWmxhdGtvdmljIDxpZ29yQHpsYXRrb3ZpYy5jb20+CisKKwkqIGluY2x1ZGUvbGlieG1sL3htbHJlYWRlci5oIGluY2x1ZGUvbGlieG1sL3htbG1lbW9yeS5oOiBhZGRlZAorCSAgY2FsbGluZyBjb252ZW50aW9uIHRvIHRoZSBwdWJsaWMgZnVuY3Rpb24gcHJvdG90eXBlcyAocmVwIGJ5CisJICBDYW1lcm9uIEpvaG5zb24pCisJKiBpbmNsdWRlL2xpYnhtbC94bWxleHBvcnRzLmg6IGZpeGVkIG1pbmd3K21zeXMgY29tcGlsYXRpb24KKwkgIChyZXAgYnkgTWlraGFpbCBHcnVzaGluc2tpeSkKKworTW9uIEZlYiAgMiAyMDoyMjoxOCBQU1QgMjAwNCBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogeG1sd3JpdGVyLmM6IGVuaGFuY2VkIG91dHB1dCBpbmRlbnRpbmcgKGJ1ZyAxMzMyNjQpCisKK01vbiBGZWIgIDIgMTY6MTM6MzMgUFNUIDIwMDQgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIHhtbHJlYWRlci5jLCBpbmNsdWRlL2xpYnhtbC94bWxyZWFkZXIuaDogYXBwbGllZCBwYXRjaCBmcm9tCisJICBTdGV2ZSBCYWxsIHRvIHByb3ZpZGUgc3RydWN0dXJlZCBlcnJvciByZXBvcnRzLgorCitTdW4gRmViICAxIDAxOjQ4OjE0IFBTVCAyMDA0IFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiB0cmVlLmMsIGluY2x1ZGUvbGlieG1sL3RyZWUuaDogbW92ZWQgc2VyaWFsaXphdGlvbiBvZgorCSAgYXR0cmlidXRlIHRleHQgZGF0YSAoeG1sU2VyaWFsaXplQ29udGVudCkgaW50byBhIHNlcGFyYXRlCisJICByb3V0aW5lICh4bWxTZXJpYWxpemVUeHRDb250ZW50KSBzbyBpdCBjYW4gYmUgdXNlZCBieSB4bWx3cml0ZXIuYworCSogeG1sd3JpdGVyLmM6IGNoYW5nZWQgaGFuZGxpbmcgb2YgYXR0cmlidXRlIHN0cmluZyB0byB1c2UgdGhlCisJICByb3V0aW5lIGFib3ZlIChmaXhlZCBidWcgMTMxNTQ4KQorCitTYXQgSmFuIDMxIDA4OjIyOjAyIE1TVCAyMDA0IEpvaG4gRmxlY2sgPGpmbGVja0BpbmtzdGFpbi5uZXQKKworCSogZG9jL2V4YW1wbGVzL3JlYWRlcjEuYywgcmVhZGVyMi5jLCByZWFkZXIzLmMKKwkqIGRvYy9leGFtcGxlcy9leGFtcGxlcy54bWwKKwkqIGRvYy9leGFtcGxlcy8qLmh0bWwKKwlhZGQgbm90ZSB0aGF0IHJlYWRlciBleGFtcGxlcyBuZWVkIGxpYm14bDIgPiAyLjYsIHJlYnVpbGQKKwlodG1sIC0gdGhpcyB0aW1lIGRvaW5nIGl0IGNvcnJlY3RseSA6LSkKKworRnJpIEphbiAzMCAyMDo0NTozNiBNU1QgMjAwNCBKb2huIEZsZWNrIDxqZmxlY2tAaW5rc3RhaW4ubmV0PgorCisJKiBkb2MvZXhhbXBsZXMvZXhhbXBsZXMueG1sCisJKiBkb2MvZXhhbXBsZXMvKi5odG1sCisJYWRkIG5vdGUgdGhhdCByZWFkZXIgZXhhbXBsZXMgbmVlZCBsaWJteGwyID4gMi42LCByZWJ1aWxkCisJaHRtbAorCitUaHUgSmFuIDI5IDIzOjUxOjQ4IFBTVCAyMDA0IFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiB4cGF0aC5jOiBhZGRlZCAodm9pZCAqKSB0eXBlIG92ZXJyaWRlIHRvIHByZXZlbnQKKwkgIHdhcm5pbmcgb24gU29sYXJpcyAoQnVnIDEzMjY3MSkKKworV2VkIEphbiAyOCAwNzoyMDozNyBNU1QgMjAwNCBKb2huIEZsZWNrIDxqZmxlY2tAaW5rc3RhaW4ubmV0PgorCisJKiBkb2MvZXhhbXBsZXMvTWFrZWZpbGUuYW0KKwlwZXIgSmFuLiAxNSBlbWFpbCB0byB0aGUgbGlzdCBmcm9tIG9saXZlcnN0LCB0aGUgaW5kZXguaHRtbAorCWZpbGUgZnJvbSB0aGlzIGRpcmVjdG9yeSB3YXNuJ3QgbWFraW5nIGl0IGludG8gdGhlIHRhcmJhbGwKKworTW9uIEphbiAyNiAxODowMTowMCBDRVQgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGFjaW5jbHVkZS5tNDogYXBwbGllZCBmaXggZnJvbSBBbGV4YW5kZXIgV2luc3RvbiBmb3IgYSBwcm9ibGVtCisJICByZWxhdGVkIHRvIGF1dG9tYWtlLTEuOCAsIGMuZi4gIzEzMjUxMyBhbmQgIzEyOTg2MQorCitNb24gSmFuIDI2IDEyOjUzOjExIENFVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZG9jL2V4YW1wbGVzL2luZGV4LnB5OiBkb24ndCByZWx5IG9uIC4gYmVpbmcgb24gdGhlIHBhdGggZm9yCisJICBtYWtlIHRlc3RzLCBzaG91bGQga2VlcCBNci4gQ3JvemF0IHF1aWV0IHVudGlsIG5leHQgdGltZS4uLgorCitTdW4gSmFuIDI1IDIxOjQ1OjAzIENFVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogY29uZmlndXJlLmluIE5FV1MgZG9jLyo6IHByZXBhcmluZyByZWxlYXNlIDIuNi41LCByZWJ1aWx0IHRoZQorCSAgZG9jcywgY2hlY2tlZCBybmdwYXJzZXIgc3R1ZmYgZG9lcyBub3QgZW5kIHVwIGluIHRoZSB0YXJiYWxsCisKK1N1biBKYW4gMjUgMjA6NTk6MjAgQ0VUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBweXRob24vbGlieG1sLmM6IGFwcGxpZWQgcGF0Y2ggZnJvbSBGcmVkZXJpYyBQZXRlcnMKKwkgIGZpeGluZyB0aGUgd3JvbmcgYXJnIG9yZGVyIGluIHhwYXRoIGNhbGxiYWNrIGluIGJ1ZyAjMTMwOTgwCisKK1N1biBKYW4gMjUgMjA6NTI6MDkgQ0VUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4aW5jbHVkZS5jOiBmaXhpbmcgIzEzMDQ1MyBYSW5jbHVkZSBlbGVtZW50IHdpdGggbm8gaHJlZiBhdHRyaWJ1dGUKKwkqIHJlbGF4bmcuYyBybmdwYXJzZXIuYyBpbmNsdWRlL2xpYnhtbDIvcmVsYXhuZy5oOiBmdWxseSBpbnRlZ3JhdGluZyAKKwkgIHRoZSBjb21wYWN0IHN5bnRheCB3aWxsIHJlcXVpcmUgbW9yZSB3b3JrLCBwb3N0cG9uZWQgZm9yIHRoZQorCSAgMi42LjUgcmVsZWFzZS4KKworU2F0IEphbiAyNCAwOTozMDoyMiBDRVQgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGluY2x1ZGUvbGlieG1sL3NjaGVtYXNJbnRlcm5hbHMuaCB4bWxzY2hlbWFzLmM6IGFwcGxpZWQgcGF0Y2ggZnJvbQorCSAgU3RldmUgQmFsbCB0byBhdm9pZCBhIGRvdWJsZS1mcmVlLgorCitGcmkgSmFuIDIzIDE0OjAzOjIxIENFVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZG9jL2V4YW1wbGVzLyo6IGFkZGVkIGlvMS5jIGFuIGV4YW1wbGUgb3ggeG1sSU8gdXNhZ2UgYW5kIGlvMS5yZXMKKwkgIHRlc3QgcmVzdWx0LCBmaXhlZCBhIGF3ZnVsIGxvdCBvZiBtZW1vcnkgbGVha3Mgc2hvd2luZyB1cCBpbgorCSAgdGVzdFdyaXRlci5jLCBjaGFuZ2VkIHRoZSBleGFtcGxlcyBhbmQgdGhlIE1ha2VmaWxlcyB0byB0ZXN0CisJICBtZW1vcnkgbGVha3MuCisJKiB4bWx3cml0ZXIuYzogZml4ZWQgYSBtZW1vcnkgbGVhaworCSogTWFrZWZpbGUuYW06IHJ1biB0aGUgZG9jL2V4YW1wbGVzIHJlZ3Jlc3Npb24gdGVzdHMgYXMgcGFydCBvZgorCSAgbWFrZSB0ZXN0cworCSogeHBhdGguYyBpbmNsdWRlL2xpYnhtbC94cGF0aC5oOiBhZGRlZCB4bWxYUGF0aEN0eHRDb21waWxlKCkgdG8KKwkgIGNvbXBpbGUgYW4gWFBhdGggZXhwcmVzc2lvbiB3aXRoaW4gYSBjb250ZXh0LCBjdXJyZW50bHkgdGhlIGdvYWwKKwkgIGlzIHRvIGJlIGFibGUgdG8gcmV1c2UgdGhlIFhTTFQgc3R5bGVzaGVldCBkaWN0aW9ubmFyeSwgYnV0IHRoaXMKKwkgIG9wZW5zIHRoZSBkb29yIHRvIG90aGVycyBwb3NzaWJsZSBvcHRpbWl6YXRpb25zLgorCSogZGljdC5jIGluY2x1ZGUvbGlieG1sL2RpY3QuaDogYWRkZWQgeG1sRGljdENyZWF0ZVN1YigpIHdoaWNoIGFsbG93cworCSAgdG8gYnVpbGQgYSBuZXcgZGljdGlvbm5hcnkgYmFzZWQgb24gYW5vdGhlciByZWFkLW9ubHkgZGljdGlvbm5hcnkuCisJICBUaGlzIGlzIG5lZWRlZCBmb3IgWFNMVCB0byBrZWVwIHRoZSBzdHlsZXNoZWV0IGRpY3Rpb25uYXJ5IHJlYWQtb25seQorCSAgd2hpbGUgYmVpbmcgYWJsZSB0byByZXVzZSB0aGUgc3RyaW5ncyBmb3IgdGhlIHRyYW5zZm9ybWF0aW9uCisJICBkaWN0aW9ubmFyeS4KKwkqIHhpbmNsdWRlLmM6IGZpeGVkIGEgZGljdGlvbm5hciByZWZlcmVuY2UgY291bnRpbmcgcHJvYmxlbSBvY2N1cmluZworCSAgd2hlbiBkb2N1bWVudCBwYXJzaW5nIGZhaWxlZC4KKwkqIHRlc3RTQVguYzogYWRkaW5nIG9wdGlvbiAtLXJlcGVhdCBmb3IgdGltaW5nIDEwMHRpbWVzIHRoZSBwYXJzaW5nCisJKiBkb2MvKiA6IHJlYnVpbHQgYWxsIHRoZSBkb2NzCisKK1RodSBKYW4gMjIgMTQ6MTc6MDUgMjAwNCAgQWxla3NleSBTYW5pbiAgPGFsZWtzZXlAYWxla3NleS5jb20+CisKKwkqIHhtbG1lbW9yeS5jOiBtYWtlIHhtbFJlYWxsb2NMb2MoKSBhY2NlcHQgTlVMTCBwb2ludGVyCisKK1RodSBKYW4gMjIgMDg6MjY6MjAgQ0VUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxzY2hlbWFzdHlwZXMuYzogYXBwbGllZCBwYXRjaCBmcm9tIEpvaG4gQmVsbW9udGUgZm9yCisJICBub3JtYWxpemVkU3RyaW5nIGRhdGF0eXBlIHN1cHBvcnQuCisKK1RodSBKYW4gMjIgMTA6NDM6MjIgSEtUIDIwMDQgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIHhwYXRoLmM6IGZpeGVkIHByb2JsZW0gd2l0aCB1bmlvbiB3aGVuIGxhc3QoKSBpcyB1c2VkCisJICBpbiBwcmVkaWNhdGUgKGJ1ZyAjMTMxOTcxKQorCSogeHBvaW50ZXIuYzogbWlub3IgY2hhbmdlIHRvIGNvbW1lbnQgZm9yIGRvYyBnZW5lcmF0aW9uCisKK1dlZCBKYW4gMjEgMTc6MDM6MTcgQ0VUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBwYXJzZXIuYzogZml4ZWQgYnVnICMxMzE3NDUgcmFpc2VkIGJ5IFNoYXVuIE1jQ2FuY2Ugd2l0aCB0aGUKKwkgIHN1Z2dlc3RlZCBwYXRjaAorCitXZWQgSmFuIDIxIDEwOjU5OjU1IENFVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sd3JpdGVyLmM6IGFwcGxpZWQgcGF0Y2ggZnJvbSBBbGZyZWQgTWlja2F1dHNjaCBmaXhpbmcgYSBtZW1vcnkKKwkgIGxlYWsgcmVwb3J0ZWQgb24gdGhlIGxpc3QuCisKK1RodSBKYW4gMTUgMDA6NDg6NDYgQ0VUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBweXRob24vZ2VuZXJhdG9yLnB5IHB5dGhvbi90ZXN0cy90c3RMYXN0RXJyb3IucHk6IGFwcGxpZWQKKwkgIHBhdGNoIGZyb20gU3TDqXBoYW5lIEJpZG91bCB0byBhZGQgZW51bXMgdG8gdGhlIFB5dGhvbiBiaW5kaW5ncy4KKworVHVlIEphbiAxMyAyMTo1MDowNSBDRVQgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHRlc3RIVE1MLmM6IGFub3RoZXIgc21hbGwgcGF0Y2ggZnJvbSBNYXJrIFZha29jCisKK1R1ZSBKYW4gMTMgMjE6Mzk6NTggQ0VUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBIVE1McGFyc2VyLmMgcmVsYXhuZy5jIHRlc3RSZWxheC5jIHRlc3RTY2hlbWFzLmM6IGFwcGxpZWQKKwkgIHBhdGNoIGZyb20gTWFyayBWYWtvYyB0byBub3QgdXNlIFNBWDEgdW5sZXNzIG5lY2Vzc2FyeS4KKworTW9uIEphbiAxMiAxNzoyMjo1NyBDRVQgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGRpY3QuYyBwYXJzZXIuYyB4bWxzdHJpbmcuYzogc29tZSBwYXJzZXIgb3B0aW1pemF0aW9ucywKKwkgIHhtbGxpbnQgLS1tZW1vcnkgLS10aW1pbmcgLS1yZXBlYXQgLS1zdHJlYW0gLi9kYjEwMDAwLnhtbAorCSAgd2VudCBkb3duIGZyb20gMTYuNSBzZWNzIHRvIDE1LjUgc2Vjcy4KKworVGh1IEphbiAgOCAxNzo1Nzo1MCBDRVQgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbHNjaGVtYXMuYzogcmVtb3ZlZCBhIG1lbW9yeSBsZWFrIHJlbWFpbmluZyBmcm9tIHRoZSBzd2l0Y2gKKwkgIHRvIGEgZGljdGlvbm5hcnkgZm9yIHN0cmluZyBhbGxvY2F0aW9ucyBjLmYuICMxMzA4OTEKKworVGh1IEphbiAgOCAxNzo0ODo0NiBDRVQgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbHJlYWRlci5jOiBmaXhpbmcgc29tZSBwcm9ibGVtIGlmIGNvbmZpZ3VyZWQgLS13aXRob3V0LXhpbmNsdWRlCisJICBjLmYuICMxMzA5MDIKKworVGh1IEphbiAgOCAxNzo0Mjo0OCBDRVQgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGNvbmZpZ3VyZS5pbjogY2hhbmdlZCBBQ19PVVRQVVQoKSBtYWNybyB0byBhdm9pZCBhIGN5Z3dpbiBwcm9ibGVtCisJICBjLmYuICMxMzA4OTYKKworVGh1IEphbiAgOCAwMDozNjowMCBDRVQgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHdpbjMyL01ha2VmaWxlLmJjYiB3aW4zMi9NYWtlZmlsZS5taW5ndyB3aW4zMi9NYWtlZmlsZS5tc3ZjOgorCSAgYXBwbHlpbmcgcGF0Y2ggZnJvbSBNYXJrIFZha29jIGZvciBXaW5kb3dzCisJKiBkb2MvY2F0YWxvZy5odG1sIGRvYy9lbmNvZGluZy5odG1sIGRvYy94bWwuaHRtbDogYXBwbGllZCBkb2MKKwkgIGZpeGVzIGZyb20gU3ZlbiBaaW1tZXJtYW4KKworVHVlIEphbiAgNiAyMzo1MTo0NiBDRVQgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHB5dGhvbi9saWJ4bWwyLXB5dGhvbi1hcGkueG1sIHB5dGhvbi9saWJ4bWxfd3JhcC5oIHB5dGhvbi90eXBlcy5jCisJICBweXRob24vdGVzdHMvTWFrZWZpbGUuYW0gcHl0aG9uL3Rlc3RzL3RzdExhc3RFcnJvci5weTogYXBwbGllZCAKKwkgIHBhdGNoIGZyb20gU3TDqXBoYW5lIEJpZG91bCBmb3Igc3RydWN0dXJlZCBlcnJvciBoYW5kbGluZyBmcm9tCisJICBweXRob24sIGFuZCB0aGUgYXNzb2NpYXRlZCB0ZXN0CisKK1R1ZSBKYW4gIDYgMjM6MTg6MTEgSEtUIDIwMDQgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIGNvbmZpZ3VyZS5pbjogZml4ZWQgQnVnMTMwNTkzCisJKiB4bWx3cml0ZXIuYzogZml4ZWQgY29tcGlsYXRpb24gd2FybmluZworCitUdWUgSmFuICA2IDE1OjE1OjIzIENFVCAyMDA0IERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogaW5jbHVkZS9saWJ4bWwveG1sc3RyaW5nLmg6IGZpeGVkIHRoZSBjb21tZW50IGluIHRoZSBoZWFkZXIKKwkqIGRvYy8qOiByZWJ1aWx0IHRoZSBkb2NzCisKK1R1ZSBKYW4gIDYgMTk6NDA6MDQgSEtUIDIwMDQgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIGVuY29kaW5nLmMsIHBhcnNlci5jLCB4bWxzdHJpbmcuYywgTWFrZWZpbGUuYW0sCisJICBpbmNsdWRlL2xpYnhtbC9NYWtlZmlsZS5hbSwgaW5jbHVkZS9saWJ4bWwvY2F0YWxvZy5jLAorCSAgaW5jbHVkZS9saWJ4bWwvY2h2YWxpZC5oLCBpbmNsdWRlL2xpYnhtbC9lbmNvZGluZy5oLAorCSAgaW5jbHVkZS9saWJ4bWwvcGFyc2VyLmgsIGluY2x1ZGUvbGlieG1sL3JlbGF4bmcuaCwKKwkgIGluY2x1ZGUvbGlieG1sL3RyZWUuaCwgaW5jbHVkZS9saWJ4bWwveG1sd3JpdGVyLmgsCisJICBpbmNsdWRlL2xpYnhtbC94bWxzdHJpbmcuaDoKKwkgIG1vdmVkIHN0cmluZyBhbmQgVVRGOCByb3V0aW5lcyBvdXQgb2YgcGFyc2VyLmMgYW5kIGVuY29kaW5nLmMKKwkgIGludG8gYSBuZXcgbW9kdWxlIHhtbHN0cmluZy5jIHdpdGggaW5jbHVkZSBmaWxlCisJICBpbmNsdWRlL2xpYnhtbC94bWxzdHJpbmcuaCBtb3N0bHkgdXNpbmcgcGF0Y2hlcyBmcm9tIFJlaWQKKwkgIFNwZW5jZXIuICBTaW5jZSB4bWxDaGFyIG5vdyBkZWZpbmVkIGluIHhtbHN0cmluZy5oLCBzZXZlcmFsCisJICBpbmNsdWRlIGZpbGVzIG5lZWRlZCB0byBoYXZlIGEgI2luY2x1ZGUgYWRkZWQgZm9yIHNhZmV0eS4KKwkqIGRvYy9hcGlidWlsZC5weTogYWRkZWQgc29tZSBhZGRpdGlvbmFsIHNvcnRpbmcgZm9yIHZhcmlvdXMKKwkgIHJlZmVyZW5jZXMgZGlzcGxheWVkIGluIHRoZSBBUEl4eHguaHRtbCBmaWxlcy4gIFJlYnVpbHQgdGhlCisJICBkb2NzLCBhbmQgYWxzbyBhZGRlZCBuZXcgZmlsZSBmb3IgeG1sc3RyaW5nIG1vZHVsZS4KKwkqIGNvbmZpZ3VyZS5pbjogc21hbGwgYWRkaXRpb24gdG8gaGVscCBteSB0ZXN0aW5nOyBubyBlZmZlY3Qgb24KKwkgIG5vcm1hbCB1c2FnZS4KKwkqIGRvYy9zZWFyY2gucGhwOiBhZGRlZCAkX0dFVFtxdWVyeV0gc28gdGhhdCBwZXJzaXN0ZW50IGdsb2JhbHMKKwkgIGNhbiBiZSBkaXNhYmxlZCAoZm9yIHJlY2VudCB2ZXJzaW9ucyBvZiBQSFApCisKK01vbiBKYW4gIDUgMjA6NDc6MDcgTVNUIDIwMDQgSm9obiBGbGVjayA8amZsZWNrQGlua3N0YWluLm5ldD4KKworCSogZG9jL3R1dG9yaWFsL2N1c3RvbWZvLnhzbAorCSogZG9jL3R1dG9yaWFsL2N1c3RvbWh0bWwueHNsCisJdXBkYXRlIGN1c3RvbSB0dXRvcmlhbC1idWlsZGluZyBzdHlsZXNoZWV0cyBpbiBwcmVwYXJhdGlvbgorCWZvciB0dXRvcmlhbCB1cGRhdGUKKworVHVlIEphbiAgNiAwMDoxMDozMyBDRVQgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHJuZ3BhcnNlci5jOiBjb21taXRpbmcgdGhlIGNvbXBhY3QgcmVsYXggbmcgcGFyc2VyLiBJdCdzIG5vdAorCSAgY29tcGxldGVseSBmaW5pc2hlZCwgaXQncyBub3QgaW50ZWdyYXRlZCBidXQgSSB3YW50IHRvIHNhdmUgdGhlCisJICBjdXJyZW50IHN0YXRlCisKK01vbiBKYW4gIDUgMjI6MjI6NDggSEtUIDIwMDQgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIGRvYy9hcGlidWlsZC5weSwgZG9jL0FQSWNvbnN0cnVjdG9ycy5odG1sLCBkb2MvbGlieG1sMi1yZWZzLnhtbCwKKwkgIHdpbjMyL2xpYnhtbDIuZGVmLnNyYzogZml4ZWQgYXBpYnVpbGQucHkncyBnZW5lcmF0aW9uIG9mCisJICAiY29uc3RydWN0b3JzIiB0byBiZSBpbiBhbHBoYWJldGljYWwgb3JkZXIgKGluc3RlYWQgb2YgcHJldmlvdXMKKwkgIHJhbmRvbSBzZXF1ZW5jZSk7IHJlZ2VuZXJhdGVkIHJlc3VsdGluZyBmaWxlcy4KKworTW9uIEphbiAgNSAxNDowMzo1OSBDRVQgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbHdyaXRlci5jOiBhcHBsaWVkIHBhdGNoIGZyb20gTHVjYXMgQnJhc2lsaW5vIGZpeGluZyBhbiBpbmRlbnQKKwkgIHByb2JsZW0uCisKK1N1biBKYW4gIDQgMTg6NTQ6MjkgTVNUIDIwMDQgSm9obiBGbGVjayA8amZsZWNrQGlua3N0YWluLm5ldD4KKworCSogZG9jL25ld2FwaS54c2w6IGNoYW5nZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIGZ1bmN0aW9uCisJZGVjbGFyYXRpb24gdG8gaW1wcm92ZSByZWFkYWJpbGl0eQorCSogZG9jLyo6IHJlYnVpbGQgZG9jcyB3aXRoIG5ldyBzdHlsZXNoZWV0CisKK1N1biBKYW4gIDQgMjI6NDU6MTQgSEtUIDIwMDQgV2lsbGlhbSBCcmFjayA8d2JhcmNrQG1tbS5jb20uaGs+CisKKwkqIHBhcnNlci5jLCBpbmNsdWRlL2xpYnhtbC9wYXJzZXIuaDogYWRkZWQgYSByb3V0aW5lCisJICB4bWxTdHJuY2F0TmV3IHRvIGNyZWF0ZSBhIG5ldyBzdHJpbmcgZnJvbSAyIGZyYWdzLgorCSogdHJlZS5jOiBhZGRlZCBjb2RlIHRvIGNoZWNrIGlmIG5vZGUgY29udGVudCBpcyBmcm9tCisJICBkaWN0aW9uYXJ5IGJlZm9yZSB0cnlpbmcgdG8gY2hhbmdlIG9yIGNvbmNhdGVuYXRlLgorCitTdW4gSmFuICA0IDA4OjU3OjUxIEhLVCAyMDA0IFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiB4bWxtZW1vcnkuYzogYXBwbGllZCBzdWdnZXN0aW9uIGZyb20gTWlsb3NsYXYgVHJtYWMgKHNlZQorCSAgQnVnIDEzMDQxOSkgYW5kIGVsaW1pbmF0ZWQgeG1sSW5pdE1lbW9yeURvbmUuICBNb3JlCisJICBpbXByb3ZlbWVudCBuZWVkZWQuCisJKiB4bWwyLWNvbmZpZy5pbjogYWRkZWQgYW4gYWRkaXRpb25hbCBmbGFnICgtLWV4ZWMtcHJlZml4KSB0bworCSAgYWxsb3cgbGlicmFyeSBkaXJlY3RvcnkgdG8gYmUgZGlmZmVyZW50IGZyb20gaW5jbHVkZSBkaXJlY3RvcnkKKwkgIChCdWcgMTI5NTU4KS4KKworRnJpIEphbiAgMiAyMToyMjoxOCBDRVQgMjAwNCBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGVycm9yLmM6IGFwcGxpZWQgcGF0Y2ggZnJvbSBTdMOpcGhhbmUgQmlkb3VsIGZvciBzdHJ1Y3R1cmVkIGVycm9yCisJICByZXBvcnRpbmcuCisKK0ZyaSBKYW4gIDIgMjE6MDM6MTcgQ0VUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBpbmNsdWRlL2xpYnhtbC94bWx3cml0ZXIuaCB4bWx3cml0ZXIuYzogYXBwbGllZCB0aGUgcGF0Y2ggZnJvbQorCSAgTHVjYXMgQnJhc2lsaW5vIHRvIGFkZCBpbmRlbnRhdGlvbiBzdXBwb3J0IHRvIHhtbFdyaXRlcgorCitGcmkgSmFuICAyIDIyOjU4OjI5IEhLVCAyMDA0IFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiB4aW5jbHVkZS5jOiBmaXhlZCBwcm9ibGVtIHdpdGggInJlY3Vyc2l2ZSIgaW5jbHVkZSAoZmFsbGJhY2sKKwkgIGNvbnRhaW5zIGFub3RoZXIgaW5jbHVkZSAtIEJ1ZyAxMjk5NjkpCisKK0ZyaSBKYW4gIDIgMTE6NDA6MDYgQ0VUIDIwMDQgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBTQVgyLmM6IGZvdW5kIGFuZCBmaXhlZCBhIGJ1ZyBtaXNhbGxvY2F0aW5nIHNvbWUgbm9uCisJICBibGFuayB0ZXh0IG5vZGUgc3RyaW5ncyBmcm9tIHRoZSBkaWN0aW9ubmFyeS4KKwkqIHhtbG1lbW9yeS5jOiBmaXhlZCBhIHByb2JsZW0gd2l0aCB0aGUgbWVtb3J5IGRlYnVnIG11dGV4CisJICByZWxlYXNlLgorCitXZWQgRGVjIDMxIDIyOjAyOjM3IEhLVCAyMDAzIFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiB4aW5jbHVkZS5jOiBmaXhlZCBwcm9ibGVtIGNhdXNlZCBieSB3cm9uZyBkaWN0aW9uYXJ5CisJICByZWZlcmVuY2UgY291bnQsIHJlcG9ydGVkIG9uIHRoZSBsaXN0IGJ5IENocmlzdG9waGVyCisJICBHcmF5Y2UuCisKK1dlZCBEZWMgMzEgMTU6NTU6NTUgSEtUIDIwMDMgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIHB5dGhvbi9nZW5lcmF0b3IucHksIHB5dGhvbi9saWJ4bWwyY2xhc3MudHh0OiBmaXhlZCBwcm9ibGVtCisJICBwb2ludGVkIG91dCBieSBTdMOpcGhhbmUgQmlkb3VsIG9uIHRoZSBsaXN0LgorCSogeGluY2x1ZGUuYywgeHBvaW50ZXIuYywgeHBhdGguYywgaW5jbHVkZS9saWJ4bWwveHBvaW50ZXIuaDoKKwkgIGNvbXBsZXRlZCBtb2RpZmljYXRpb25zIHJlcXVpcmVkIHRvIGZpeCBCdWcgMTI5OTY3IChhdCBsYXN0ISkuCisJICBOb3cgd2FpdCB0byBzZWUgaG93IGxvbmcgYmVmb3JlIGZ1cnRoZXIgdHJvdWJsZS4uLgorCitUdWUgRGVjIDMwIDE2OjI2OjEzIEhLVCAyMDAzIFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiBwYXJzZXIuYywgeG1sbWVtb3J5LmMsIGluY2x1ZGUvbGlieG1sL3htbG1lbW9yeS5oOiBGaXhlZAorCSAgbWVtb3J5IGxlYWsgcmVwb3J0ZWQgYnkgRGF2ZSBCZWNrZXR0CisJKiB4bWxzY2hlbWFzLmM6IFJlbW92ZWQgc3B1cmlvdXMgY29tbWVudCByZXBvcnRlZCBvbiB0aGUgbWFpbGluZworCSAgbGlzdAorCSogeGluY2x1ZGUuYywgeHBhdGguYywgeHBvaW50ZXIuYywgbGlieG1sL2luY2x1ZGUveHBvaW50ZXIuaDoKKwkgIEZ1cnRoZXIgd29yayBvbiBCdWcgMTI5OTY3IGNvbmNlcm5pbmcgeHBvaW50ZXIgcmFuZ2UgaGFuZGxpbmcKKwkgIGFuZCByYW5nZS10byBmdW5jdGlvbjsgbXVjaCBiZXR0ZXIsIGJ1dCBzdGlsbCBub3QgY29tcGxldGUKKworTW9uIERlYyAyOSAxODowODowNSBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHZhbGlkLmM6IHhtbFZhbGlkYXRlRWxlbWVudCBjb3VsZCBjcmFzaCBmb3IgZWxlbWVudCBob2xkaW5nIGEgCisJICBuYW1lc3BhY2UgZGVjbGFyYXRpb24gYnV0IG5vdCBpbiBhIG5hbWVzcGFjZS4gT2xpdmVyIEZpc2NoZXIgCisJICBwcm92aWRlZCB0aGUgZXhhbXBsZS4KKworTW9uIERlYyAyOSAxMToyOTozMSBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbGxpbnQuYzogaXNzdWUgdmFsaWRhdGlvbiBzdGF0dXMgb24gc3RkZXJyLCBub3Qgc3Rkb3V0IGFzIHN1Z2dlc3RlZAorCSAgYnkgUGF3ZWwgUGFsdWNoYQorCSogcmVzdWx0L3JlbGF4bmcvKjogdGhpcyBjaGFuZ2Ugc2xpZ2h0bHkgYWxsIHRoZSBvdXRwdXQgZnJvbSBSTkcgCisJICByZWdyZXNzaW9ucy4KKworTW9uIERlYyAyOCAxMDo0NzozMiBIS1QgMjAwMyBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogeG1sc2NoZW1hcy5jOiBlZGl0ZWQgYSBjb3VwbGUgb2YgY29tbWVudHMgaW4gYWNjb3JkYW5jZSB3aXRoCisJICBwb3N0aW5nIG9uIHRoZSBtYWlsaW5nIGxpc3QgKG5vIGxvZ2ljIGNoYW5nZSkKKwkqIHhwb2ludGVyLmM6IHdvcmtpbmcgb24gQnVnIDEyOTk2NywgYWRkZWQgY2hlY2sgZm9yIE5VTEwKKwkgIG5vZGVzZXQgdG8gcHJldmVudCBjcmFzaC4gIEZ1cnRoZXIgd29yayByZXF1aXJlZC4KKwkqIHhwYXRoLmM6IHdvcmtpbmcgb24gQnVnIDEyOTk2NywgYWRkZWQgY29kZSB0byBoYW5kbGUKKwkgIFhQQVRIX0xPQ0FUSU9OU0VUIGluIFJBTkdFVE8gY29kZSwgYWxzbyBhZGRlZCBjb2RlIHRvCisJICBoYW5kbGUgaXQgaW4geG1sWFBhdGhFdmFsdWF0ZVByZWRpY2F0ZVJlc3VsdC4gIEZ1cnRoZXIKKwkgIHdvcmsgcmVxdWlyZWQuCisKK1NhdCBEZWMgMjcgMTI6MzI6NTggSEtUIDIwMDMgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIHhtbHNjaGVtYXMuYzogYWRkZWQgdGVzdHMgZm9yIHhzOmFsbCB0byBhc3N1cmUgbWluT2NjdXJzCisJICBhbmQgbWF4T2NjdXJzIDw9IDEgKEJ1ZyAxMzAwMjApCisKK1NhdCBEZWMgMjcgMDk6NTM6MDYgSEtUIDIwMDMgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIHhtbHJlZ2V4cC5jOiBmaXhlZCB4bWxGQVBhcnNlQ2hhclJhbmdlIGZvciBVbmljb2RlIHJhbmdlcworCSAgd2l0aCBwYXRjaCBmcm9tIENoYXJsZXMgQm96ZW1hbi4KKworRnJpIERlYyAyNiAxNDowMzo0MSBIS1QgMjAwMyBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogeG1scmVnZXhwLmM6IGZpeGVkIHByb2JsZW0gY2F1c2luZyBzZWdmYXVsdCBvbiB2YWxpZGF0aW9uIGVycm9yCisJICBjb25kaXRpb24gKHJlcG9ydGVkIG9uIG1haWxpbmcgbGlzdCkKKworVGh1IERlYyAyNSAyMToxNjoyMiBIS1QgMjAwMyBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogeG1sc2NoZW1hcy5jOiBmaXhlZCBtaXNzaW5nIGRpY3Rpb25hcmllcyBmb3IgTWVtb3J5IGFuZCBEb2MKKwkgIHBhcnNlciBjb250ZXh0cyAocHJvYmxlbSByZXBvcnRlZCBvbiBtYWlsaW5nIGxpc3QpCisJKiBkb2MvYXBpYnVpbGQucHk6IHNtYWxsIGNoYW5nZSB0byBwcmV2ZW50IGR1cGxpY2F0ZSBsaW5lcworCSAgb24gQVBJIGZ1bmN0aW9ucyBsaXN0LiAgSXQgd2lsbCB0YWtlIGVmZmVjdCB0aGUgbmV4dCB0aW1lCisJICB0aGUgZG9jcyBhcmUgcmVidWlsdC4KKworV2VkIERlYyAyNCAxMjo1NDoyNSBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGNvbmZpZ3VyZS5pbiBORVdTIGRvYy8qOiB1cGRhdGVkIHRoZSBkb2NzIGFuZCBwcmVwYXJlZCBhIG5ldworCSAgcmVsZWFzZSAyLjYuNAorCitXZWQgRGVjIDI0IDEyOjA3OjUyIENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogbGVnYWN5LmM6IHJlbW92ZSBkZXByZWNhdGVkIHdhcm5pbmcgb24gc3RhcnRFbGVtZW50KCkKKworV2VkIERlYyAyNCAxMjowNDozNSBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhpbmNsdWRlLmMgcmVzdWx0L1hJbmNsdWRlL25vZGVzMi4qOiBYSW5jbHVkZSB4cG9pbnRlciBzdXBwb3J0CisJICB3YXMgYnJva2VuIHdpdGggdGhlIG5ldyBuYW1lc3BhY2UuIEZpeGVzICMxMjk5MzIKKworV2VkIERlYyAyNCAwMDoyOTozMCBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbHNjaGVtYXMuYyBpbmNsdWRlL2xpYnhtbC9zY2hlbWFzSW50ZXJuYWxzLmg6IHR5cGVzIG1pZ2h0IGJlCisJICByZWRlZmluZWQgaW4gaW5jbHVkZXMsIHF1aWNrIGZpeCB0byBhbGxvdyB0aGlzIGJ1dCBsYWNrcyB0aGUgCisJICBlcXVhbGl0eSBvZiB0aGUgcmVkZWZpbml0aW9uIHRlc3QuCisKK1R1ZSBEZWMgMjMgMTU6MTQ6MzcgSEtUIDIwMDMgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIHZhbGlkLmM6IGZpeGVkIGJ1ZyBjb25jZXJuaW5nIHZhbGlkYXRpb24gdXNpbmcgZXh0ZXJuYWwKKwkgIGR0ZCBvZiBlbGVtZW50IHdpdGggbXV0aXBsZSBuYW1lc3BhY2UgZGVjbGFyYXRpb25zCisJICAoQnVnIDEyOTgyMSkKKworVHVlIERlYyAyMyAxMTo0MTo0MiBIS1QgMjAwMyBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogdHJlZS5jOiBpbmhpYml0ZWQgcHJvZHVjdGlvbiBvZiAiKG51bGwpOiIgaW4geG1sR2V0Tm9kZVBhdGgKKwkgIHdoZW4gbm9kZSBoYXMgZGVmYXVsdCBuYW1lc3BhY2UgKEJ1ZyAxMjk3MTApCisKK1R1ZSBEZWMgMjMgMDk6Mjk6MTQgSEtUIDIwMDMgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIHhwYXRoLmM6IHNtYWxsIGVuaGFuY2VtZW50IHRvIHhtbFhQYXRoQ21wTm9kZXMgdG8gYXNzdXJlCisJICBkb2N1bWVudCBvcmRlciBmb3IgYXR0cmlidXRlcyBpcyByZXRhaW5lZCAoQnVnIDEyOTMzMSkKKworTW9uIERlYyAyMiAxOTowNjoxNiBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlci5jIHhtbHJlYWRlci5jOiBjaGFuZ2UgeG1sUmVhZEZkKCkgeG1sQ3R4dFJlYWRGZCgpCisJICB4bWxSZWFkZXJOZXdGZCgpIHhtbFJlYWRlckZvckZkKCksIGNoYW5nZSB0aG9zZSB0byBub3QgY2xvc2UKKwkgIHRoZSBmaWxlIGRlc2NyaXB0b3IuIFVwZGF0ZWQgdGhlIGNvbW1lbnQsIHNob3VsZCBjbG9zZSAjMTI5NjgzCisKK01vbiBEZWMgMjIgMDA6MzQ6MDkgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4aW5jbHVkZS5jOiBmaXhlZCBhIHNlcmlvdXMgcHJvYmxlbSBpbiBYSW5jbHVkZSAjMTI5MDIxCisKK1N1biBEZWMgMjEgMTM6NTk6NTQgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBwYXJzZXIuYzogZml4ZWQgYnVnICMxMjk0ODksIHByb3BhZ2F0aW9uIG9mIHBhcnNpbmcgZmxhZ3MgCisJICBpbiBlbnRpdGllcy4KKwkqIHBhcnNlci5jIHhtbHJlYWRlci5jOiBpbXByb3ZlZCB0aGUgY29tbWVudHMgb2YgcGFyc2luZyBvcHRpb25zCisKK1N1biBEZWMgMjEgMTg6MTQ6MDQgSEtUIDIwMDMgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIHB5dGhvbi9NYWtlZmlsZS5hbSwgcHl0aG9uL3Rlc3RzL01ha2VmaWxlLmFtLAorCSAgZG9jL01ha2VmaWxlLmFtOiBhcHBsaWVkIGZpeGVzIHRvIGFsbG93IGJ1aWxkIGZyb20KKwkgICdvdXRzaWRlJyBkaXJlY3RvcnkgKEJ1ZyAxMjkxNzIpCisKK1NhdCBEZWMgMjAgMTY6NDI6MDcgTVNUIDIwMDMgSm9obiBGbGVjayA8amZsZWNrQGlua3N0YWluLm5ldD4KKworCSogdHJlZS5jIC0gYWRkIGV4cGxhbmF0aW9uIG9mIG5hbWVzcGFjZSBpbmhlcml0YW5jZSB3aGVuCisJbnMgaXMgTlVMTCB0byB4bWxOZXdDaGlsZCBhbmQgeG1sTmV3VGV4dENoaWxkIEFQSSBkb2MKKworU2F0IERlYyAyMCAxODoxNzoyOCBIS1QgMjAwMyBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogaW5jbHVkZS9saWJ4bWwveHBhdGhJbnRlcm5hbHMuaDogdW5kaWQgbGFzdCBjaGFuZ2UgKG15CisJICBiYWQpLiAgUHV0IG5lY2Vzc2FyeSBmaXggaW4gbGlieHNsdC9saWJleHNsdCBpbnN0ZWFkLgorCSogaW5jbHVkZS9saWJ4bWwvRE9DQnBhcnNlci5oOiBwdXQgdGVzdCBmb3IgX19HQ0NfXyBvbgorCSAgd2FybmluZyBkaXJlY3RpdmUgKEJ1ZyAxMjkxMDUpCisKK1NhdCBEZWMgMjAgMTA6NDg6MzcgSEtUIDIwMDMgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIGluY2x1ZGUvbGlieG1sL3hwYXRoSW50ZXJuYWxzLmg6IGZpeGVkIHhtbFhQYXRoUmV0dXJuU3RyaW5nCisJICB0byBjYXRlciBmb3IgTlVMTCBwb2ludGVyIChidWcgMTI5NTYxKQorCSogZ2xvYmFscy5jOiBhZGRlZCBjb21tZW50IHRvIHN1cHByZXNzIGRvY3VtZW50YXRpb24gd2FybmluZworCSogZG9jL2FwaWJ1aWxkLnB5OiBmaXhlZCBwcm9ibGVtIHdoaWNoIGNhdXNlZCBsYXN0IEFQSWNodW5reHguaHRtbAorCSAgdG8gYmUgbG9zdC4gIFJlYnVpbHQgZG9jLyogKGluY2x1ZGluZyBhZGRpbmcgQVBJY2h1bmsyNi5odG1sKQorCitGcmkgRGVjIDE5IDE4OjI0OjAyIENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1scmVhZGVyLmM6IHRyeWluZyB0byBmaXggIzEyOTY5MiB4bWxUZXh0UmVhZGVyRXhwYW5kKCkgd2hlbgorCSAgdXNpbmcgYW4geG1sUmVhZGVyV2Fsa2VyKCkKKworVGh1IERlYyAxOCAyMDoxMDozNCBNU1QgMjAwMyBKb2huIEZsZWNrIDxqZmxlY2tAaW5rc3RhaW4ubmV0PgorCisJKiB0cmVlLmM6IGZpeCBtaXNjLiB0eXBvcyBpbiBkb2MgY29tbWVudHMKKwkqIGluY2x1ZGUvbGlieG1sL3RyZWUuaDogZWxhYm9yYXRlIG9uIG1hY3JvIGRlZmluZSBkb2MgY29tbWVudHMKKwkqIGRvYy8qOiByZWJ1aWxkIGRvY3MKKworV2VkIERlYyAxNyAxNjowNzozMyBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGRvYy9leGFtcGxlcy8qOiBkb24ndCBjYWxsIHRoZSByZXN1bHQgZmlsZXMgLm91dCBidXQgLnJlcyBhcworCSAgdGhlIE1ha2VmaWxlcyB0ZW5kIHRvIHRyeSBnZW5lcmF0aW5nIGJpbmFyaWVzIGZvciAub3V0IHRhcmdldHMuLi4KKworVHVlIERlYyAxNiAyMDo1Mzo1NCBNU1QgMjAwMyBKb2huIEZsZWNrIDxqZmxlY2tAaW5rc3RhaW4ubmV0PgorCisJKiBkb2MvaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sOiAtIGN2cyBhZGQgQVBJIGRvY3MgZm9yIG5ldworCXBhdHRlcm4gc3R1ZmYKKworVHVlIERlYyAxNiAyMDo0MDo0MCBNU1QgMjAwMyBKb2huIEZsZWNrIDxqZmxlY2tAaW5rc3RhaW4ubmV0PgorCisJKiB0cmVlLmMKKwkqIGRvYy8qOgorCUVsYWJvcmF0ZSBpbiBkb2N1bWVudGF0aW9uIGRpc2N1c3Npb24gb2YgeG1sTmV3Q2hpbGQKKwlhbmQgeG1sTmV3VGV4dENoaWxkLiBUaGFua3MgdG8gU3RldmUgTGVudGkgZm9yIHBvaW50aW5nCisJb3V0IHRoZSB1c2VmdWxuZXNzIG9mIGEgbW9yZSBleHBsaWNpdCBleHBsYW5hdGlvbiBvZiB0aGUKKwlyZXNlcnZlZCBjaGFyYWN0ZXIgZXNjYXBpbmcgaXNzdWUuCisKK0ZyaSBEZWMgMTIgMTU6NTU6MTUgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxjYXRhbG9nLmM6IGFwcGxpZWQgcGF0Y2ggZnJvbSBTdGVmYW4gS29zdAorCitUaHUgRGVjIDExIDE1OjE1OjMxIENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZG9jL2V4YW1wbGVzL3Rlc3RXcml0ZXIuYzogYXBwbGllZCBzbWFsbCBmaXggZnJvbSBMdWNhcyBCcmFzaWxpbm8KKworVGh1IERlYyAxMSAxNDo1NToyMiBDRVQgMjAwMyBJZ29yIFpsYXRrb3ZpYyA8aWdvckB6bGF0a292aWMuY29tPgorCisJKiB3aW4zMi9NYWtlZmlsZS4qIHdpbjMyL2NvbmZpZ3VyZS5qczogQWRkZWQgcGF0dGVybiBzdXBwb3J0CisKK1dlZCBEZWMgMTAgMTQ6MTE6MjAgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBjb25maWd1cmUuaW4gZG9jLyogbGlieG1sLnNwZWMuaW46IHByZXBhcmluZyByZWxlYXNlIG9mCisJICBsaWJ4bWwyLTIuNi4zLCB1cGRhdGVkIGFuZCByZWdlbmVyYXRlZCB0aGUgZG9jcy4KKworV2VkIERlYyAxMCAxMTo0MzozMyBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIFNBWDIuYyBwYXR0ZXJuLmM6IHJlbW92ZWQgc29tZSBjb21waWxhdGlvbiB3YXJuaW5ncworCitXZWQgRGVjIDEwIDExOjE2OjI5IENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sbGludC5jOiBmaXhpbmcgYnVnICMxMTkyNjQgeG1sbGludCBmYWlsaW5nIHRvIHJlcG9ydAorCSAgc2VyaWFsaXphdGlvbiBlcnJvcnMgaW4gc29tZSBjYXNlcy4KKworVHVlIERlYyAgOSAyMzo1MDoyMyBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGVudGl0aWVzLmM6IGZpeGVkIGFuIFhNTCBlbnRpdGllcyBjb250ZW50IHNlcmlhbGl6YXRpb24KKwkgIHBvdGVudGlhbGx5IHRyaWdnZXJlZCBieSBYSW5jbHVkZSwgc2VlICMxMjY4MTcKKworVHVlIERlYyAgOSAxNjoxMjo1MCBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbHdyaXRlci5jOiBhcHBsaWVkIHRoZSBwYXRjaCB0byB4bWxUZXh0V3JpdGVyU3RhcnRQSSgpCisJICBzdWdnZXN0ZWQgYnkgRGFuaWVsIFNjaHVsbWFuIGluICMxMjgzMTMKKworVHVlIERlYyAgOSAxNToxODozMiBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGNvbmZpZ3VyZS5pbiBNYWtlZmlsZS5hbTogYW5vdGhlciBwYXRjaCBmcm9tIEtlbm5ldGggSGFsZXkKKwkgIGZvciBNaW5ndywgYy5mLiAjMTI4Nzg3CisKK1R1ZSBEZWMgIDkgMTU6MDc6MDkgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBpbmNsdWRlL2xpYnhtbC94bWxleHBvcnRzLmg6IGFwcGxpZWQgcGF0Y2ggZnJvbSBLZW5uZXRoIEhhbGV5CisJICBmb3IgY29tcGlsaW5nIG9uIE1pbmd3IHNlZSAjMTI4Nzg2CisKK1R1ZSBEZWMgIDkgMTQ6NTI6NTkgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxsaW50LmM6IHNvbWUgZmxhZ3Mgd2VyZSBub3QgcGFzc2VkIGRvd24gY29ycmVjdGx5IGFzCisJICBwYXJzaW5nIG9wdGlvbnMuIEZpeGVzICMxMjY4MDYKKworVHVlIERlYyAgOSAxMjoyOToyNiBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhpbmNsdWRlLmMgeG1sbGludC5jIHhtbHJlYWRlci5jIGluY2x1ZGUvbGlieG1sL3hpbmNsdWRlLmgKKwkgIGluY2x1ZGUvbGlieG1sL3htbGVycm9yLmg6IGF1Z21lbnRlZCB0aGUgWEluY2x1ZGUgQVBJCisJICB0byBiZSBhYmxlIHRvIHBhc3MgWE1MIHBhcnNlciBmbGFncyBkb3duIHRvIHRoZSBJbmNsdXNpb24KKwkgIHByb2Nlc3MuIEFsc28gcmVzeW5jaHJvbml6ZWQgd2l0aCB0aGUgTGFzdCBDYWxsIFczQyBXb3JraW5nCisJICBEcmFmdCAxMCBOb3ZlbWJlciAyMDAzIGZvciB0aGUgeHBvaW50ZXIgYXR0cmlidXRlLgorCSogTWFrZWZpbGUuYW0gdGVzdC9YSW5jbHVkZS9kb2NzL25vZGVzWzIzXS54bWwgCisJICByZXN1bHQvWEluY2x1ZGUvKjogYXVnbWVudGVkIHRoZSB0ZXN0cyBmb3IgdGhlIG5ldyBuYW1lc3BhY2UgYW5kCisJICB0ZXN0aW5nIHRoZSB4cG9pbnRlciBhdHRyaWJ1dGUsIGNoYW5nZWQgdGhlIHdheSBlcnJvciBtZXNzYWdlcworCSAgYXJlIHRlc3RlZAorCSogZG9jLyo6IHJlZ2VuZXJhdGVkIHRoZSBkb2N1bWVudGF0aW9uCisKK01vbiBEZWMgIDggMTg6Mzg6MjYgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBlcnJvci5jOiBmaWx0ZXIgd2FybmluZyBtZXNzYWdlcyBpZiB0aGUgZ2xvYmFsIHNldHRpbmcgYmxvY2tzIHRoZW0KKwkqIHhpbmNsdWRlLmMgeG1scmVhZGVyLmMgaW5jbHVkZS9saWJ4bWwveGluY2x1ZGUuaAorCSAgaW5jbHVkZS9saWJ4bWwveG1sZXJyb3IuaDogdXBkYXRlZCB0aGUgY2hhbmdlIG9mIG5hbWVzcGFjZSBhdAorCSAgdGhlIFhJbmNsdWRlIGxldmVsLCByYWlzZSBhIHdhcm5pbmcgaWYgdGhlIG9sZCBvbmUgaXMgZm91bmQsCisJICBhbmQgc29tZSBjbGVhbnVwCisKK01vbiBEZWMgIDggMTM6MDk6MzkgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB0cmVlLmM6IHRlbnRhdGl2ZSBmaXggZm9yICMxMjYxMTcgY2hhcmFjdGVyIHJlZmVyZW5jZSBpbgorCSAgYXR0cmlidXRlcyBvdXRwdXQgcHJvYmxlbSBpbiBzb21lIGNvcm5lcmNhc2UuCisKK01vbiBEZWMgIDggMTE6MDg6NDUgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBweXRob24vbGlieG1sLnB5OiB0cmllZCB0byBmaXggdGhlIHByb2JsZW1zIHJlcG9ydGVkIGluIAorCSAgYnVnICMxMjY3MzUKKwkqIHhwYXRoLmMgU0FYMi5jIGVycm9yLmMgcGFyc2VyLmMgdmFsaWQuYyBpbmNsdWRlL2xpYnhtbC94bWxlcnJvci5oOgorCSAgZml4ZWQgYWdhaW4gc29tZSBwcm9ibGVtIHRyeWluZyB0byB1c2UgdGhlIHN0cnVjdHVyZWQgZXJyb3IKKwkgIGhhbmRsZXJzLCBjLmYuIGJ1ZyAjMTI2NzM1CisJKiByZXN1bHQvVkMvRWxlbWVudFZhbGlkOiB0aW55IGNoYW5nZSBkdWUgdG8gdGhlIGZpeAorCitTdW4gRGVjICA3IDIyOjI3OjMxIENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZXJyb3IuYzogZml4ZWQgX194bWxSYWlzZUVycm9yIHRvIHVzZSBzdHJ1Y3R1cmVkIGVycm9yIGhhbmRsZXJzCisJICBkZWZpbmVkIGJ5IHhtbFNldFN0cnVjdHVyZWRFcnJvckZ1bmMoKSwgZml4ZXMgYnVnICMxMjYyMTEKKworU3VuIERlYyAgNyAyMDozMDo1MyBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlci5jOiBhdHRlbXB0IHRvIGZpeCAjMTI2MjExIC4uLiAKKworRnJpIERlYyAgNSAxNzowNzoyOSBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhdHRlcm4uYyB4bWxyZWFkZXIuYyB4bWxsaW50LmMgaW5jbHVkZS9saWJ4bWwvcGF0dGVybi5oCisJICBpbmNsdWRlL2xpYnhtbC94bWxyZWFkZXIuaDogZml4ZWQgdGhlIHBhdHRlcm4gaW50ZXJmYWNlcworCSAgYnV0IG5vdCB5ZXQgdGhlIHBhcnNlciB0byBoYW5kbGUgdGhlIG5hbWVzcGFjZXMuCisJKiBkb2MvZXhhbXBsZXMvcmVhZGVyMy5jIGRvYy8qOiBmaXhlZCB0aGUgZXhhbXBsZSwgcmVidWlsdCB0aGUgZG9jcy4KKworRnJpIERlYyAgNSAxNTo0OTo0NCBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGdsb2JhbHMuYyB4bWx3cml0ZXIuYyBkb2MvYXBpYnVpbGQucHkgaW5jbHVkZS9saWJ4bWwvZ2xvYmFscy5oIAorCSAgaW5jbHVkZS9saWJ4bWwvcGF0dGVybi5oIGluY2x1ZGUvbGlieG1sL3NjaGVtYXNJbnRlcm5hbHMuaAorCSAgaW5jbHVkZS9saWJ4bWwveG1sZXhwb3J0cy5oIGluY2x1ZGUvbGlieG1sL3htbHdyaXRlci5oOiBjbGVhbnVwCisJICB0aGUgbWFrZSByZWJ1aWxkIGluIGRvYywgdGhpcyBpbmNsdWRlIG5ldyBkaXJlY3RpdmUgdG8gc3RvcAorCSAgZG9jdW1lbnRhdGlvbiB3YXJuaW5ncworCSogZG9jLyogZG9jL2h0bWwvKjogcmVidWlsdCB0aGUgZG9jcworCSogcGF0dGVybi5jIHhtbHJlYWRlci5jIGluY2x1ZGUvbGlieG1sL3BhdHRlcm4uaAorCSAgaW5jbHVkZS9saWJ4bWwveG1scmVhZGVyLmg6IGFkZGluZyB4bWxUZXh0UmVhZGVyUHJlc2VydmVQYXR0ZXJuKCkKKwkgIHRvIHNhdmUgbm9kZXMgd2hpbGUgc2Nhbm5pbmcgdGhlIHRyZWUgd2l0aCB0aGUgcmVhZGVyLCBjbGVhbnVwCisJICB0aGUgd2F5IGVsZW1lbnQgd2VyZSBmcmVlZCwgYW5kIHhtbFRleHRSZWFkZXJQcmVzZXJ2ZSgpCisJICBpbXBsZW1lbnRhdGlvbiwgdGhlIEFQSSBtaWdodCBjaGFuZ2UgZm9yIG5hbWVzcGFjZSBiaW5kaW5nIHN1cHBvcnQKKwkgIHdoZW4gY29tcGlsaW5nIHBhdHRlcm5zLgorCSogZG9jL2V4YW1wbGVzLyo6IGFkZGVkIHJlYWRlcjMuYyBleHBvc2luZyB0aGUgeG1sVGV4dFJlYWRlclByZXNlcnZlKCkKKworVGh1IERlYyAgNCAxNToxMDo1NyBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHB5dGhvbi9saWJ4bWwucHk6IG9vcHMgZm9yZ290IHRvIG1vZGlmeS9jb21taXQgdGhlIG5ldyBjb2RlLgorCitUaHUgRGVjICA0IDEzOjI5OjE5IENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcHl0aG9uL2dlbmVyYXRvci5weSBweXRob24vbGlieG1sLmMgcHl0aG9uL2xpYnhtbF93cmFwLmg6CisJICBjbGVhbnVwIHRoZSBvdXRwdXQgYnVmZmVyIHN1cHBvcnQgdG8gYXQgbGVhc3QgZ2V0IHRoZSBiYXNpYworCSAgdG8gd29yaworCSogcHl0aG9uL3Rlc3RzL291dGJ1Zi5weSBweXRob24vdGVzdHMvc2VyaWFsaXplLnB5OiBmaXhlcyBhbmQKKwkgIGNsZWFudXAuCisJKiBpbmNsdWRlL2xpYnhtbC94bWx3cml0ZXIuaDogY2xlYW51cAorCitXZWQgRGVjICAzIDIxOjM4OjU2IE1TVCAyMDAzIEpvaG4gRmxlY2sgPGpmbGVja0BpbmtzdGFpbi5uZXQ+CisKKwkqIGluY2x1ZGUvbGlieG1sL3htbHZlcnNpb24uaC5pbgorCSogZG9jLyo6IGFkZCBXSVRIX1RSSU8gY29tbWVudCBzbyBpdCBzaG93cyB1cCBpbiB0aGUgZG9jcywgcmVidWlsZAorCSAgZG9jcworCitXZWQgRGVjICAzIDEzOjEwOjA4IENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogY29uZmlnLmguaW4gY29uZmlndXJlLmluIHhtbHJlZ2V4cC5jOiBmaXggYnVnICMxMjg0MDEgYWZmZWN0aW5nCisJICByZWdleHAgcXVhbnRpZmllcnMKKworVHVlIERlYyAgMiAyMzoyOTo1NiBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhdHRlcm4uYyBpbmNsdWRlL2xpYnhtbC9wYXR0ZXJuLmg6IGFkZGluZyB0aGUgcGF0dGVybiBub2RlCisJICBzZWxlY3Rpb24gY29kZS4gSW5oZXJpZWQgaW4gcGFydCBmcm9tIGxpYnhzbHQgYnV0IHNtYWxsZXIuCisJKiBNYWtlZmlsZS5hbSBjb25maWd1cmUuaW4gaW5jbHVkZS9saWJ4bWwveG1sdmVyc2lvbi5oLmluOgorCSAgaW50ZWdyYXRlZCB0aGUgcGF0dGVybiBtb2R1bGUsIG1hZGUgaXQgYSBjb25maWd1cmUgdGltZSBvcHRpb24KKwkqIHhtbGxpbnQuYzogYWRkZWQgLS1wYXR0ZXJuIHRvIHRlc3Qgd2hlbiBkb2luZyAtLXN0cmVhbQorCitUdWUgRGVjICAyIDExOjI1OjI1IENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1scmVhZGVyLmM6IGZpeGVkIGEgcHJvYmxlbSBpbiB4bWxyZWFkZXIgdmFsaWRhdGlvbiB3aGVuCisJICBzdHJlYW1pbmcgZXhwb3NlZCBieSByZWFkZXIyIGV4YW1wbGUuCisKK01vbiBEZWMgIDEgMjA6NDA6NTEgTVNUIDIwMDMgSm9obiBGbGVjayA8amZsZWNrQGlua3N0YWluLm5ldD4KKworCSogZG9jL3htbC5odG1sCisJKiBkb2MvZG9jcy5odG1sOgorCWFkZCByZWZlcmVuY2UgdG8gdGhlIENvZGUgRXhhbXBsZXMgcGFnZSB0byBkb2NzLmh0bWwgbGlzdAorCW9mIHJlc291cmNlcworCitNb24gRGVjICAxIDEyOjMwOjI4IENFVCAyMDAzIElnb3IgWmxhdGtvdmljIDxpZ29yQHpsYXRrb3ZpYy5jb20+CisKKwkqIHdpbjMyL01ha2VmaWxlLmJjYiB3aW4zMi9jb25maWd1cmUuanM6IEFwcGxpZWQgdGhlIEJDQiBwYXRjaAorCSAgZnJvbSBFcmljCisKK1N1biBOb3YgMzAgMjE6MzM6MzcgTVNUIDIwMDMgSm9obiBGbGVjayA8amZsZWNrQGlua3N0YWluLm5ldD4KKworCSogaW5jbHVkZS9saWJ4bWwveGluY2x1ZGUuaAorCSogZG9jLyo6IEFkZCBjb21tZW50cyBmb3IgbWFjcm8gZGVmaW5pdGlvbnMgaW4geGluY2x1ZGUuaCBhbmQKKwlyZWJ1aWxkIHRoZSBkb2NzCisKK1N1biBOb3YgMzAgMjE6MDY6MjkgTVNUIDIwMDMgSm9obiBGbGVjayA8amZsZWNrQGlua3N0YWluLm5ldD4KKworCSogZG9jL2RvY2Rlc2NyLmRvYworCVVwZGF0aW5nIFdpbGxpYW0ncyBleHBsYW5hdGlvbiBvZiBob3cgdG8gYnVpbGQgZG9jcywgCisJcmVmbGVjdGluZyBEYW5pZWwncyBuZXcgZG9jcyBidWlsZCBzeXN0ZW0KKworU2F0IE5vdiAyOSAxODozODoyMiBIS1QgMjAwMyBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogeG1sbWVtb3J5LmM6IGVuaGFuY2VkIGJ5IGFkZGluZyBtdXRleCB0byBwcm90ZWN0IGdsb2JhbAorCSAgc3RydWN0dXJlcyBpbiBhIG11bHRpLXRocmVhZGluZyBlbnZpcm9ubWVudC4gIFRoaXMgZml4ZWQKKwkgIHNvbWUgcmFuZG9tIGVycm9ycyBvbiB0aGUgVGhyZWFkcyByZWdyZXNzaW9uIHRlc3RzLgorCitGcmkgTm92IDI4IDIxOjM5OjQ5IE1TVCAyMDAzIEpvaG4gRmxlY2sgPGpmbGVja0BpbmtzdGFpbi5uZXQ+CisKKwkqIGRvYy94bWwuaHRtbCBkb2MvcHl0aG9uLmh0bWw6IGZpeCB0c3QucHkgdGV4dCwgd2hpY2ggZGlkbid0CisJICBpbXBvcnQgc3lzCisKK0ZyaSBOb3YgMjggMTc6Mjg6NDcgSEtUIDIwMDMgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIGVuY29kaW5nLmMsIGluY2x1ZGUvbGlieG1sL2VuY29kaW5nLmg6IEVuaGFuY2VkIHRoZSBoYW5kbGluZyBvZgorCSAgVVRGLTE2LCBVVEYtMTZMRSBhbmQgVVRGLTE2QkUgZW5jb2RpbmdzLiAgTm93IFVURi0xNiBvdXRwdXQgaXMKKwkgIGhhbmRsZWQgaW50ZXJuYWxseSBieSBkZWZhdWx0LCB3aXRoIHByb3BlciBCT00gYW5kIFVURi0xNkxFCisJICBlbmNvZGluZy4gIE5hdGl2ZSBVVEYtMTZMRSBhbmQgVVRGLTE2QkUgZW5jb2Rpbmcgd2lsbCBub3QgZ2VuZXJhdGUKKwkgIEJPTSBvbiBvdXRwdXQsIGFuZCB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgcmVjb2duaXplZCBvbiBpbnB1dC4KKwkqIHRlc3QvdXRmMTZsZWJvbS54bWwsIHRlc3QvdXRmMTZiZWJvbS54bWwsIHJlc3VsdC91dGYxNj9lYm9tKjoKKwkgIGFkZGVkIHJlZ3Jlc3Npb24gdGVzdHMgZm9yIGFib3ZlLgorCitUaHUgTm92IDI3IDE5OjI1OjEwIENFVCAyMDAzIElnb3IgWmxhdGtvdmljIDxpZ29yQHpsYXRrb3ZpYy5jb20+CisKKwkqIHdpbjMyL01ha2VmaWxlLiogd2luMzIvY29uZmlndXJlLmpzOiBNb2RpZmllZCB0byBhbGxvdyBjb2V4aXN0ZW50IAorCSAgYnVpbGQgd2l0aCBhbGwgY29tcGlsZXJzLiBBZGRlZCBDLVJ1bnRpbWUgb3B0aW9uIGZvciBNU1ZDLiBJbmNsdWRlZAorCSAgeG1sV3JpdGVyLgorCSogeG1sd3JpdGVyLmM6IEFkZGVkIElOX0xJQlhNTCBtYWNybworCitXZWQgTm92IDI2IDIxOjU0OjAxIENFVCAyMDAzIElnb3IgWmxhdGtvdmljIDxpZ29yQHpsYXRrb3ZpYy5jb20+CisKKwkqIHdpbjMyL01ha2VmaWxlLmJjYjogYXBwbGllZCBwYXRjaCBmcm9tIEVyaWMKKworV2VkIE5vdiAyNiAyMTozMzoxNCBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGluY2x1ZGUvbGlieG1sL3RyZWUuaDogc3RlZmFuIG9uIElSQyBwb2ludGVkIG91dCB0aGF0IFhNTF9HRVRfTElORQorCSAgaXMgYnJva2VuIG9uIDIuNi54CisKK1R1ZSBOb3YgMjUgMTg6Mzk6NDQgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBlbnRpdGllcy5jOiBmaXhlZCAjMTI3ODc3LCBuZXZlciBvdXRwdXQgJnF1b3Q7IGluIGVsZW1lbnQgY29udGVudAorCSogcmVzdWx0L2lzb2xhdDMgcmVzdWx0L3NsYXNoZG90MTYueG1sIHJlc3VsdC9ub2VudC9pc29sYXQzCisJICByZXN1bHQvbm9lbnQvc2xhc2hkb3QxNi54bWwgcmVzdWx0L3ZhbGlkL1JFQy14bWwtMTk5ODAyMTAueG1sCisJICByZXN1bHQvdmFsaWQvaW5kZXgueG1sIHJlc3VsdC92YWxpZC94bGluay54bWw6IHRoaXMgY2hhbmdlcyB0aGUKKwkgIG91dHB1dCBvZiBhIGZldyB0ZXN0cworCitUdWUgTm92IDI1IDE2OjM2OjIxIENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogaW5jbHVkZS9saWJ4bWwvc2NoZW1hc0ludGVybmFscy5oIGluY2x1ZGUvbGlieG1sL3htbGVycm9yLmgKKwkgIHRlc3RTY2hlbWFzLmMgeG1sc2NoZW1hcy5jOiBhZGRlZCB4c2Q6aW5jbHVkZSBzdXBwb3J0LCBmaXhlZAorCSAgdGVzdFNjaGVtYXMgYmVoYXZpb3VyIHdoZW4gYSBzY2hlbWFzIGZhaWxlZCB0byBwYXJzZS4KKwkqIHRlc3Qvc2NoZW1hcy92ZHYtKiByZXN1bHQvc2NoZW1hcy92ZHYtZmlyc3Q1XzBfMCo6IGFkZGVkIG9uZQorCSAgdGVzdCBmb3IgeHNkOmluY2x1ZGUgZnJvbSBFcmljIFZhbiBkZXIgVmxpc3QKKworVHVlIE5vdiAyNSAwODoxODoxMiBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlci5jOiBzd2FwcGVkIHRoZSBhdHRyaWJ1dGUgZGVmYXVsdGluZyBhbmQgYXR0cmlidXRlIGNoZWNraW5nCisJICBwYXJ0cyBvZiBwYXJzaW5nIGEgbmV3IGVsZW1lbnQgc3RhcnQsIGZpeGVzIGJ1ZyAjMTI3NzcyCisJKiByZXN1bHQvdmFsaWQvMTI3NzcyLiogdGVzdC92YWxpZC8xMjc3NzIueG1sCisJICB0ZXN0L3ZhbGlkL2R0ZHMvMTI3NzcyLmR0ZDogYWRkZWQgdGhlIGV4YW1wbGUgaW4gdGhlIHJlZ3Jlc3Npb24gdGVzdHMKKworVHVlIE5vdiAyNSAwODowMDoxNSBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlci5jOiBtb3ZlZCB4bWxDbGVhbnVwVGhyZWFkcygpIHRvIHRoZSBlbmQgb2YgeG1sQ2xlYW51cFBhcnNlcigpCisJICB0byBhdm9pZCBidWcgIzEyNzg1MQorCitNb24gTm92IDI0IDE1OjI2OjIxIENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1scmVnZXhwLmM6IGZpeGluZyBzb21lIE5lZ2F0aXZlIENoYXJhY3RlciBHcm91cCBhbmQKKwkgIENoYXJhY3RlciBDbGFzcyBTdWJ0cmFjdGlvbiBoYW5kbGluZy4KKworTW9uIE5vdiAyNCAxNDowMTo1NyBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbHJlZ2V4cC5jIHhtbHNjaGVtYXMuYzogbW9yZSBYTUwgU2NoZW1hcyBmaXhlcyBiYXNlZAorCSAgb24gRXJpYyB2YW4gZGVyIFZsaXN0IGV4YW1wbGVzCisJKiByZXN1bHQvc2NoZW1hcy92ZHYtZmlyc3Q0KiB0ZXN0L3NjaGVtYXMvdmR2LWZpcnN0NCo6CisJICBhZGRlZCByZWdyZXNzaW9uIHRlc3RzCisJKiBkb2MvZXhhbXBsZXMvTWFrZWZpbGUuYW0gZG9jL2V4YW1wbGVzL2luZGV4LnB5OiBkbyBub3QKKwkgIHJlZ2VuZXJhdGUgdGhlIGluZGV4IG9uIG1ha2UgYWxsIHRhcmdldCwgYnV0IG9ubHkgb24KKwkgIG1ha2UgcmVidWlsZCB0byBhdm9pZCB0cm91Ymxlcy4KKworU2F0IE5vdiAyMiAyMTozNTo0MiBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbHNjaGVtYXMuYyB4bWxzY2hlbWFzdHlwZXMuYyBpbmNsdWRlL2xpYnhtbC94bWxlcnJvci5oCisJICBpbmNsdWRlL2xpYnhtbC9zY2hlbWFzSW50ZXJuYWxzLmg6IGxvdCBvZiBidWcgZml4ZXMsIGNsZWFudXAsCisJICBzdGFydGluZyB0byBhZGQgcHJvcGVyIG5hbWVzcGFjZSBzdXBwb3J0IHRvby4KKwkqIHRlc3Qvc2NoZW1hcy8qIHJlc3VsdC9zY2hlbWFzLyo6IGFkZGVkIGEgbnVtYmVyIG9mIHRlc3RzCisJICBmaXhlZCB0aGUgcmVzdWx0IGZyb20gc29tZSByZWdyZXNzaW9uIHRlc3RzIHRvby4KKworRnJpIE5vdiAyMSAyMDo1MDo1OSBNU1QgMjAwMyBKb2huIEZsZWNrIDxqZmxlY2tAaW5rc3RhaW4ubmV0PgorCisJKiBkb2MveG1sLmh0bWwsIGRvY3MuaHRtbDogcmVtb3ZlIHJlZmVyZW5jZSB0byBndGstZG9jIG5vdyB0aGF0CisJRGFuaWVsIGhhcyByZW1vdmVkIGl0LCBmaXggbGluayB0byBHZW9yZ2UncyBJQk0gYXJ0aWNsZSwgb3RoZXIKKwltaW5vciBlZGl0cworCitGcmkgTm92IDIxIDAxOjI2OjAwIENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sc2NoZW1hcy5jOiBhcHBsaWVkIHBhdGNoIGZyb20gUm9iZXJ0IFN0ZXBhbmVrIHRvIHN0YXJ0IAorCSAgaW1wb3J0IG9zIHNjaGVtYXMgc3VwcG9ydCwgY2xlYW5lZCB1cCBzdHVmZiBhbmQgdGhlIHBhdGNoLgorCSogdGVzdC9zY2hlbWFzL2ltcG9ydDBfMC4qIHJlc3VsdC9zY2hlbWFzL2ltcG9ydDBfMF8wKjogYWRkZWQgdGVzdAorCSAgdG8gcmVncmVzc2lvbiwgZml4ZWQgYSBmZXcgcmVncmVzc2lvbnMgdG9vLgorCitUaHUgTm92IDIwIDIyOjU4OjAwIENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogSFRNTHBhcnNlci5jOiBhcHBsaWVkIHR3byBwYXJzaW5nIGZpeGVzIGZyb20gSmFtZXMgQnVyc2EKKworVGh1IE5vdiAyMCAxOToyMDo0NiBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGRvYy9leGFtcGxlcy8qOiBhZGRlZCB0d28geG1sUmVhZGVyIGV4YW1wbGVzCisJKiB4bWxyZWFkZXIuYzogY2xlYW5lZCB1cCBzb21lIGJ1Z3MgaW4gdGhlIHByb2Nlc3MKKworVGh1IE5vdiAyMCAxMjo1NDozMCBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbHdyaXRlci5jIGluY2x1ZGUvbGlieG1sL3htbHdyaXRlci5oOiBhcHBsaWVkIHBhdGNoIGZyb20KKwkgIEFsZnJlZCBNaWNrYXV0c2NoLCBidWdmaXhlcyBhbmQgY29tbWVudHMKKwkqIGRvYy9leGFtcGxlcy8qOiBhZGRlZCBoaXMgdGVzdCBhcyB0aGUgeG1sV3JpdGVyIGV4YW1wbGUKKwkqIGRvYy9odG1sLyBkb2MvKi5odG1sOiB0aGlzIHJlc3VsdGVkIGluIHNvbWUgaW1wcm92ZW1lbnRzCisJKiBpbmNsdWRlL2xpYnhtbC9oYXNoLmg6IGZpeGVkIGFuIGluY2x1c2lvbiBwcm9ibGVtIHdoZW4KKwkgIDxsaWJ4bWwvaGFzaC5oPiB3YXNuJ3QgcHJlY2VlZGVkIGJ5IDx4bWwvcGFyc2VyLmg+CisKK1dlZCBOb3YgMTkgMTc6MTk6MzUgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4aW5jbHVkZS5jOiBmaXggYW4gZXJyb3IgbWVzc2FnZQorCSogZG9jL2V4YW1wbGVzLyo6IGFkZGVkIHRyZWUyIGV4YW1wbGUgZnJvbSBMdWNhcyBCcmFzaWxpbm8KKworV2VkIE5vdiAxOSAxNzo1MDo0NyBIS1QgMjAwMyBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogZG9jL25ld2FwaS54c2w6IGltcHJvdmUgdGhlIHNvcnQgc2VxdWVuY2UgZm9yIHBhZ2UgY29udGVudAorCSogZG9jL2h0bWwvKi5odG1sOiByZWdlbmVyYXRlIHRoZSB3ZWIgcGFnZXMKKworV2VkIE5vdiAxOSAwMDo0ODo1NiBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIE1ha2VmaWxlLmFtOiBkbyBub3QgcGFja2FnZSBjdnMgdmVyc2lvbmluZyB0ZW1wIGZpbGVzLgorCSogZG9jL2FwaWJ1aWxkLnB5IGRvYy9saWJ4bWwyLWFwaS54bWwgZG9jL25ld2FwaS54c2w6IG1vcmUgY2xlYW51cCwKKwkgIHNsaWdodGx5IGltcHJvdmVkIHRoZSBBUEkgeG1sIGZvcm1hdCwgZml4ZWQgYSBsb3Qgb2Ygc21hbGwKKwkgIHJlbmRlcmluZyBwcm9ibGVtcworCSogZG9jL2h0bWwvbGlieG1sKi5odG1sOiByZWJ1aWx0CisKK1R1ZSBOb3YgMTggMjE6NTE6MTUgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBpbmNsdWRlL2xpYnhtbC8qLmggaW5jbHVkZS9saWJ4bWwvKi5oLmluOiBtb2RpZmllZCB0aGUgZmlsZQorCSAgaGVhZGVyIHRvIGFkZCBtb3JlIGluZm9ybWF0aW9ucywgcGFpbmZ1bC4uLgorCSogZ2VuQ2hSYW5nZXMucHkgZ2VuVW5pY29kZS5weTogdXBkYXRlZCB0byBnZW5lcmF0ZSBzYWlkIGNoYW5nZXMKKwkgIGluIGhlYWRlcnMKKwkqIGRvYy9hcGlidWlsZC5weTogZXh0cmFjdCBoZWFkZXJzLCBhZGQgdGhlbSB0byBsaWJ4bWwyLWFwaS54bWwKKwkqICouaHRtbCAqLnhzbCAqLnhtbDogdXBkYXRlZCB0aGUgc3R5bGVzaGVldHMgdG8gZmxhZyBnZXByZWNhdGVkCisJICBBUElzIG1vZHVsZXMuIFVwZGF0ZWQgdGhlIHN0eWxlc2hlZXRzLCBzb21lIGNsZWFudXBzLCByZWdlbmVyYXRlZAorCSogZG9jL2h0bWwvKi5odG1sOiByZWdlbmVyYXRlZCBhZGRlZCBiYWNrIGJvb2sxIGFuZCBsaWJ4bWwtbGliLmh0bWwKKworVHVlIE5vdiAxOCAxNDo0MzoxNiBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGRvYy9NYWtlZmlsZS5hbSBkb2MvKi54c2wgZG9jLyouaHRtbCBkb2MvYXBpYnVpbGQucHk6IGNsZWFuZWQgdXAKKwkgIHRoZSBidWlsZCBwcm9jZXNzIHRvIHJlbW92ZSBhbGwgcmVtYWlucyBmcm9tIHRoZSBvbGQgZ3RrLWRvYworCSAgaW5oZXJpdGVkLCBsaWJ4bWwyLXJlZnMueG1sIGlzIG5vdyBnZW5lcmF0ZWQgYnkgYXBpYnVpbGQucHksIHRoZQorCSAgc3R5bGVzaGVldHMgaGF2ZSBiZWVuIGltcHJvdmVkLCBhbmQgdGhlIEFQSSpodG1sIG5vdyBnZW5lcmF0ZWQKKwkgIGFyZSBYSFRNTDEgdmFsaWQgdG9vCisKK1R1ZSBOb3YgMTggMTQ6Mjg6MzIgSEtUIDIwMDMgV2lsbGlhbSBCcmFjayA8bW1tLmNvbS5oaz4KKworCSogZ2VuQ2hSYW5nZXMucHksIGNodmFsaWQuYywgaW5jbHVkZS9saWJ4bWwvY2h2YWxpZC5oOiBtaW5vcgorCSAgZW5oYW5jZW1lbnQgdG8gcHJldmVudCBjb21tZW50IHdpdGggdW5yZWZlcmVuY2VkIHZhcmlhYmxlLgorCSogdGhyZWFkcy5jIHhtbHJlYWRlci5jIHhtbHdyaXRlci5jOiBlZGl0ZWQgc29tZSBjb21tZW50cyB0bworCSAgaW1wcm92ZSBhdXRvLWdlbmVyYXRpb24gb2YgZG9jdW1lbnRhdGlvbgorCSogYXBpYnVpbGQucHk6IG1pbm9yIGNoYW5nZSB0byBhbiBlcnJvciBtZXNzYWdlCisKK01vbiBOb3YgMTcgMTc6NTU6NTEgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBkb2MvYXBpYnVpbGQucHkgZG9jL2xpYnhtbDItYXBpLnhtbCBkb2MvbmV3YXBpLnhzbDogbW9yZSBjbGVhbnVwLAorCSAgaW1wcm92aW5nIG5hdmlnYXRpb24KKwkqIGRvYy9odG1sLyouaHRtbDogdXBkYXRlZCB0aGUgcmVzdWx0CisKK01vbiBOb3YgMTcgMTQ6NTQ6MzggQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBkb2MvTWFrZWZpbGUuYW0gZG9jL2FwaWJ1aWxkLnB5IGRvYy9saWJ4bWwyLWFwaS54bWwgZG9jL25ld2FwaS54c2w6CisJICBpbXByb3ZlbWVudCBvZiB0aGUgc3R5bGVzaGVldHMsIGZpeGVkIGEgQVBJIGdlbmVyYXRpb24gcHJvYmxlbSwKKwkgIHN3aXRjaGVkIHRoZSBzdHlsZXNoZWV0IGFuZCBNYWtlZmlsZSB0byBidWlsZCB0aGUgSFRNTCBvdXRwdXQuCisJKiBkb2MvaHRtbC8qLmh0bWw6IGNvbXBsZXRlIHVwZGF0ZSwgZGl0Y2hlZCBzb21lIG9sZCBmaWxlcywgbWlnaHQKKwkgIGludHJvZHVjZSBzb21lIGJyZWFrYWdlLi4uCisKK01vbiBOb3YgMTcgMTI6NTA6MjggQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBkb2MvbmV3YXBpLnhzbDogbG90IG9mIGltcHJvdmVtZW50cywgdGhpcyBzdGFydHMgbG9va2luZyBnb29kCisJICBlbm91Z2ggdG8gYmUgdXNhYmxlLgorCitNb24gTm92IDE3IDAwOjU4OjA5IENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZG9jL25ld2FwaS54c2w6IHN0eWxlc2hlZXQgdG8gYnVpbGQgSFRNTCBwYWdlcyBmcm9tIHRoZQorCSAgQVBJIFhNTCBkZXNjcmlwdGlvbiwgV29yayBpbiBQcm9ncmVzcworCitTdW4gTm92IDE2IDE2OjAzOjI0IEhLVCAyMDAzIFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiB4cGF0aC5jOiBmaXhlZCBidWcgMTI2OTc2IChzdHJpbmcgIT0gZW1wdHkgbm9kZXNldAorCSAgc2hvdWxkIGJlIGZhbHNlKQorCitTdW4gTm92IDE2IDE0OjAwOjA4IEhLVCAyMDAzIFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiBkb2MvaHRtbC8qLmh0bWw6IEZpbmFsbHkgLSBmb3VuZCB0aGUgcHJvYmxlbSB3aXRoIHRoZQorCSAgcGFnZSBnZW5lcmF0aW9uIChYTUxQVUJGVU4gbm90IHJlY29nbml6ZWQgYnkgZ3RrZG9jKS4KKwkgIFJlLWNyZWF0ZWQgdGhlIHBhZ2VzIHVzaW5nIGEgdGVtcG9yYXJ5IHZlcnNpb24gb2YKKwkgIGluY2x1ZGUvbGlieG1sLyouaC4KKwkqIHRlc3RPT01saWIuYyxpbmNsdWRlL2xpYnhtbC9lbmNvZGluZy5oLAorCSAgaW5jbHVkZS9saWJ4bWwvc2NoZW1hc0ludGVybmFscy5oLGluY2x1ZGUvbGlieG1sL3ZhbGlkLmgsCisJICBpbmNsdWRlL2xpYnhtbC94bGluay5oLGluY2x1ZGUvbGlieG1sL3htbHdpbjMydmVyc2lvbi5oLAorCSAgaW5jbHVkZS9saWJ4bWwveG1sd2luMzJ2ZXJzaW9uLmguaW4sCisJICBpbmNsdWRlL2xpYnhtbC94cGF0aEludGVybmFscy5oOiBtaW5vciBlZGl0IG9mIGNvbW1lbnRzCisJICB0byBoZWxwIGF1dG9tYXRpYyBkb2N1bWVudGF0aW9uIGdlbmVyYXRpb24KKwkqIGRvYy9kb2NkZXNjci5kb2M6IHNtYWxsIGVsYWJvcmF0aW9uCisJKiBkb2MvZXhhbXBsZXMvdGVzdDEuYyxkb2MvZXhhbXBsZXMvTWFrZWZpbGUuYW06IHJlLWNvbW1pdAorCSAgKG1lc3NlZCB1cCBvbiBsYXN0IHRyeSkKKwkqIHhtbHJlYWRlci5jOiBtaW5vciBjaGFuZ2UgdG8gY2xlYXIgd2FybmluZy4KKworU2F0IE5vdiAxNSAxOToyMDozMiBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIENvcHlyaWdodDogZml4ZWQgc29tZSB3b3JkaW5nCisJKiBsaWJ4bWwuc3BlYy5pbjogbWFrZSBzdXJlIGRvYy9leGFtcGxlcyBpcyBwYWNrYWdlZAorCSogaW5jbHVkZS9saWJ4bWwvdHJlZS5oIHZhbGlkLmMgeG1scmVhZGVyLmM6IGZpeGVkIHRoZSByZWFsbHkKKwkgIGFubm95aW5nIHByb2JsZW0gYWJvdXQgeG1sUmVtb3ZlSUQgYW5kIHhtbFJlYWRlciBzdHJlYW1pbmcuCisJICBUaGluZyBsb29rcyBmaXhlZCBub3csIGhhZCB0byBhZGQgYSBkb2MgcmVmZXJlbmNlIHRvIHRoZQorCSAgeG1sSUQgc3RydWN0dXJlIHRob3VnaC4uLgorCitTYXQgTm92IDE1IDA5OjUzOjM2IE1TVCAyMDAzIEpvaG4gRmxlY2sgPGpmbGVja0BpbmtzdGFpbi5uZXQ+CisKKwkqIGRvYy9kb2NkZXNjci5kb2M6IGFkZGVkIGRlc2NyaXB0aW9uIG9mIG1hbiBwYWdlIGJ1aWxkaW5nCisKK1NhdCBOb3YgMTUgMTk6MDg6MjIgSEtUIDIwMDMgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIGRvYy9odG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwsIGRvYy9odG1sL2xpYnhtbC1kaWN0Lmh0bWwsCisJICBkb2MvaHRtbC9saWJ4bWwtbGlzdC5odG1sLCBkb2MvaHRtbC9saWJ4bWwtdGVzdE9PTWxpYi5odG1sLAorCSAgZG9jL2h0bWwvbGlieG1sLXdpbmNlY29tcGF0LCBkb2MvaHRtbC93aW5zb2NrY29tcGF0Lmh0bWwsCisJICBkb2MvaHRtbC9saWJ4bWwteG1sZXhwb3J0cy5odG1sLCBkb2MvaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sLAorCSAgZG9jL2h0bWwvbGlieG1sLXhtbHdpbjMydmVyc2lvbi5odG1sLCBkb2MvaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWw6CisJICBhZGRlZCBtaXNzaW5nIHBhZ2VzIGZvciB0aGUgd2Vic2l0ZS4KKworU2F0IE5vdiAxNSAxODoyMzo0OCBIS1QgMjAwMyBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogZG9jL01ha2VmaWxlLmFtIGRvYy8qLmh0bWwgZG9jL2h0bWwvKi5odG1sOiByZWJ1aWx0IHRoZQorCSAgZ2VuZXJhdGVkIHBhZ2VzIChhZ2FpbiksIG1hbnVhbGx5IHJlc3RvcmVkIGRvYy9odG1sL2luZGV4Lmh0bWwKKwkgIGFuZCBtYW51YWxseSBlZGl0ZWQgZ2VuZXJhdGVkIGZpbGUgZG9jL2dub21lLXhtbC54bWwgdG8gcHV0CisJICBpbiBhcHByb3ByaWF0ZSBoZWFkaW5ncy4KKwkqIGRvYy9kb2NkZXNjci5kb2M6IG5ldyBmaWxlIHRvIGRlc2NyaWJlIGRldGFpbHMgb2YgdGhlCisJICBkb2N1bWVudCBnZW5lcmF0aW9uIChoZWxwcyBteSBtZW1vcnkgZm9yIHRoZSBuZXh0IHRpbWUpCisJKiBnZW5DaFJhbmdlcy5weSxjaHZhbGlkLmMsaW5jbHVkZS9saWJ4bWwvY2h2YWxpZC5oOiBtaW5vcgorCSAgZW5oYW5jZW1lbnQgdG8gcGxlYXNlIHRoZSBhdXRvbWF0aWMgZG9jdW1lbnRhdGlvbiBnZW5lcmF0aW9uLgorCitGcmkgTm92IDE0IDIzOjQ3OjMxIEhLVCAyMDAzIFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiBjYXRhbG9nLmMscmVsYXhuZy5jLHRlc3RBdXRvbWF0YS5jLHhwb2ludGVyLmMsZ2VuQ2hSYW5nZXMucHksCisJICBjaHZhbGlkLmMsaW5jbHVkZS9saWJ4bWwvY2h2YWxpZC5oLGRvYy9leGFtcGxlcy90ZXN0MS5jOgorCSAgbWlub3IgZXJyb3IgY2xlYW51cCBmb3IgZ2NjLTMuMy5bMTJdIGNvbXBpbGF0aW9uIHdhcm5pbmdzLgorCitGcmkgTm92IDE0IDE1OjA4OjEzIEhLVCAyMDAzIFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiB0cmVlLmM6IG1pbm9yIGNoYW5nZXMgdG8gc29tZSBjb21tZW50cworCSogZG9jLyouaHRtbDogcmVidWlsdCB0aGUgZ2VuZXJhdGVkIEhUTUwgcGFnZXMgZm9yIGNoYW5nZXMKKwkgIGZyb20gamZsZWNrIChidWcgMTI2OTQ1KQorCitUaHUgTm92IDEzIDEyOjQ0OjE0IENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZG9jL2V4YW1wbGVzLyo6IGFkZGVkIERvZGppJ3MgZXhhbXBsZSwgYWRkZWQgb3V0cHV0IGhhbmRsaW5nCisKK1RodSBOb3YgMTMgMTE6MzU6MzUgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBkb2MvZXhhbXBsZXMvKjogYWRkZWQgQWxla3NleSBYUGF0aCBleGFtcGxlLCBmaXhlZCBidWdzCisJICBpbiB0aGUgaW5kZXhlcgorCitXZWQgTm92IDEyIDIzOjQ4OjI2IENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZG9jLyo6IGludGVncmF0aW5nIHRoZSBleGFtcGxlcyBpbiB0aGUgbmF2aWdhdGlvbiBtZW51cworCSogZG9jL2V4YW1wbGVzLyo6IGFkZGVkIG1ha2UgdGVzdHMsIHVwZGF0ZWQgdGhlIG5hdmlnYXRpb24sCisJICBhZGRlZCBhIG5ldyB0ZXN0LCBjbGVhbnVwcywgdXBkYXRlcy4KKworV2VkIE5vdiAxMiAxNzo1MDozNiBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGRvYy8qLmh0bWw6IHJlYnVpbHQgdGhlIGdlbmVyYXRlZCBIVE1MIHBhZ2VzCisJKiBkb2MvZXhhbXBsZXMvKjogdXBkYXRlZCB0aGUgc3R5bGVzaGVldHMsIGFkZGVkIGEgc3lub3BzaXMsCisJICBNYWtlZmlsZS5hbSBpcyBub3cgZ2VuZXJhdGVkIGJ5IGluZGV4LnB5CisKK1dlZCBOb3YgMTIgMDE6Mzg6MTYgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBkb2Mvc2l0ZS54c2wgZG9jL2V4YW1wbGVzL01ha2VmaWxlLmFtIGRvYy9leGFtcGxlcy9pbmRleC5odG1sOgorCSAgYWRkZWQgYXV0b2dlbmVyYXRpb24gb2YgYSB3ZWIgcGFnZSBmb3IgdGhlIGV4YW1wbGVzCisJKiBkb2MvZXhhbXBsZXMvZXhhbXBsZTEuYyBkb2MvZXhhbXBsZXMvLmN2c2lnbm9yZQorCSAgZG9jL2V4YW1wbGVzL2V4YW1wbGVzLnhtbCBkb2MvZXhhbXBsZXMvaW5kZXgucHk6IHVwZGF0ZWQgdGhlCisJICBpbmZvcm1hdGlvbnMgZXh0cmFjdGVkLCBpbXByb3ZlZCB0aGUgZm9ybWF0IGFuZCBpbmRleGluZy4KKworVHVlIE5vdiAxMSAyMjowODo1OSBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGNoZWNrLXhpbmNsdWRlLXRlc3Qtc3VpdGUucHk6IGxlc3MgdmVyYm9zZSBvbiBkaWZmZXJlbmNlCisJKiBsaWJ4bWwuc3BlYy5pbjogY2xlYW51cAorCSogcGFyc2VyLmM6IGZpeGVkIHhtbENsZWFudXBQYXJzZXIoKSBkb2MKKwkqIGRvYy9NYWtlZmlsZS5hbSBkb2MvYXBpYnVpbGQucHkgZG9jL2xpYnhtbDItYXBpLnhtbAorCSAgZG9jL2V4YW1wbGVzL01ha2VmaWxlLmFtIGRvYy9leGFtcGxlcy9leGFtcGxlMS5jIAorCSAgZG9jL2V4YW1wbGVzL2V4YW1wbGVzLnhtbCBkb2MvZXhhbXBsZXMvaW5kZXgucHkKKwkgIGRvYy9leGFtcGxlcy90ZXN0MS54bWw6IHdvcmsgb24gYWRkaW5nIEMgZXhhbXBsZXMgYW5kCisJICBnZW5lcmF0aW5nIGF1dG9tYXRlZCBpbmZvcm1hdGlvbiBhYm91dCB0aG9zZS4gZXhhbXBsZXMueG1sCisJICBpcyBhdXRvZ2VuZXJhdGVkIGRlc2NyaWJpbmcgdGhlIGV4YW1wbGVzLgorCSogZXhhbXBsZS9NYWtlZmlsZS5hbTogY2xlYW51cAorCitNb24gTm92IDEwIDIzOjQ3OjAzIEhLVCAyMDAzIFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiBnZW5Vbmljb2RlLnB5LCB4bWx1bmljb2RlLmMsIGluY2x1ZGUvbGlieG1sL3htbHVuaWNvZGUuaDoKKwkgIGZpeGVkIG1pc3NpbmcgJy0nIGluIGJsb2NrIG5hbWVzLCBlbmhhbmNlZCB0aGUgaGFjayBmb3IKKwkgIEFCSSBhbGlhc2luZy4KKworU3VuIE5vdiAgOSAyMDoyODoyMSBIS1QgMjAwMyBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogZ2VuVW5pY29kZS5weSwgeG1sdW5pY29kZS5jLCBpbmNsdWRlL2xpYnhtbC94bWx1bmljb2RlLmgsCisJICBweXRob24vbGlieG1sMmNsYXNzLnR4dDogZW5oYW5jZWQgZm9yIHJhbmdlIGNoZWNraW5nLAorCSAgdXBkYXRlZCB0byBVbmljb2RlIHZlcnNpb24gNC4wLjEgKEFQSSBkb2NzIGFsc28gdXBkYXRlZCkKKwkqIHB5dGhvbi9nZW5lcmF0b3IucHk6IG1pbm9yIGNoYW5nZSB0byBmaXggYSB3YXJuaW5nCisKK1dlZCBOb3YgIDUgMjM6NDY6MzYgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBNYWtlZmlsZS5hbTogYXBwbHkgZml4IGZyb20gS2FybCBFaWNod2FsZGVyIGZvciBzY3JpcHQgcGF0aAorCitXZWQgTm92ICA1IDEwOjQ5OjIwIENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogd2luMzIvY29uZmlndXJlLmpzOiBhcHBsaWVkIHBhdGNoIGZyb20gTWFyayBWYWtvYyB0byBzaW1wbGlmeQorCSAgaGlzIHdvcmsgZnJvbSBDVlMgY2hlY2tvdXRzLgorCitUdWUgTm92ICA0IDIxOjE2OjQ3IE1TVCAyMDAzIEpvaG4gRmxlY2sgPGpmbGVja0BpbmtzdGFpbi5uZXQ+CisKKwkqIGRvYy94bWxyZWFkZXIuaHRtbDogbWlub3IgY2xlYW51cHMKKworVHVlIE5vdiAgNCAxNTo1MjoyOCBQU1QgMjAwMyBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogaW5jbHVkZS9saWJ4bWwveG1sdmVyc2lvbi5oLmluOiBjaGFuZ2VkIG1hY3JvIEFUVFJJQlVURV9VTlVTRUQKKwkgIGZvciBnY2Mgc28gdGhhdCwgaWYgdW5kZWZpbmVkLCBpdCdzIGRlZmluZWQgYXMKKwkgIF9fYXR0cmlidXRlX18oKHVudXNlZCkpCisKK1R1ZSBOb3YgIDQgMTU6Mjg6MDcgUFNUIDIwMDMgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIHB5dGhvbi9nZW5lcmF0b3IucHk6IHNtYWxsIGVuaGFuY2VtZW50IHRvIGFzc3VyZSBBVFRSSUJVVEVfVU5VU0VECisJICBhcHBlYXJzIGFmdGVyIHRoZSB2YXJpYWJsZSBkZWNsYXJhdGlvbi4KKwkqIHZhbGlkLmM6IHRyaXZpYWwgY2hhbmdlIHRvIGVsaW1pbmF0ZSBhIHdhcm5pbmcgbWVzc2FnZQorCitUdWUgTm92ICA0IDExOjI0OjA0IENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogY29uZmlndXJlLmluIE5FV1MgZG9jLyo6IHByZXBhcmluZyByZWxlYXNlIDIuNi4yLCB1cGRhdGVkIGFuZAorCSAgcmVidWlsdCB0aGUgZG9jcworCitUdWUgTm92ICA0IDA5OjM4OjQ2IENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sbGludC5jOiBjaGFuZ2UgLS1odG1sIHRvIG1ha2Ugc3VyZSB3ZSB1c2UgdGhlIEhUTUwgc2VyaWFsaXphdGlvbgorCSAgcnVsZSBieSBkZWZhdWx0IHdoZW4gSFRNTCBwYXJzZXIgaXMgdXNlZCwgYWRkIC0teG1sb3V0IHRvIGFsbG93IHRvCisJICBmb3JjZSB0aGUgWE1MIHNlcmlhbGl6ZXIgb24gSFRNTC4KKwkqIEhUTUx0cmVlLmM6IHVnbHkgdHdlYWsgdG8gZml4IHRoZSBvdXRwdXQgb24gPHA+IGVsZW1lbnQgYW5kIAorCSAgc29sdmUgIzEyNTA5MworCSogcmVzdWx0L0hUTUwvKjogdGhpcyBjaGFuZ2VzIHRoZSBvdXRwdXQgb2Ygc29tZSB0ZXN0cworCitNb24gTm92ICAzIDE3OjUxOjI4IENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeGluY2x1ZGUuYzogZml4ZWQgYnVnICMxMjU4MTIsIGFib3V0IFhQb2ludGVyIGluIFhJbmNsdWRlIAorCSAgZmFpbGluZyBidXQgbm90IHJldHVybmluZyBhbiBlcnJvci4KKworTW9uIE5vdiAgMyAxNzoxODoyMiBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHZhbGlkLmM6IGZpeGVkIGJ1ZyAjMTI1ODExIHJlbGF0ZWQgdG8gRFREIHBvc3QgdmFsaWRhdGlvbgorCSAgd2hlcmUgdGhlIERURCBkb2Vzbid0IHBlcnRhaW4gdG8gYSBkb2N1bWVudC4KKworTW9uIE5vdiAgMyAxNToyNTo1OCBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlci5jIHhtbElPLmMgaW5jbHVkZS9saWJ4bWwvcGFyc2VySW50ZXJuYWxzLmg6IGltcGxlbWVudGVkCisJICB0aGUgWE1MX1BBUlNFX05PTkVUIHBhcnNlciBvcHRpb24uCisJKiB4bWxsaW50LmM6IGNvbnZlcnRlZCB4bWxsaW50LmMgdG8gdXNlIHRoZSBvcHRpb24gaW5zdGVhZCBvZiAKKwkgIHJlbHlpbmcgb24gdGhlIGdsb2JhbCByZXNvbHZlciB2YXJpYWJsZS4KKworTW9uIE5vdiAgMyAxMzoyNjozMiBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhpbmNsdWRlLmMgeG1scmVhZGVyLmMgaW5jbHVkZS9saWJ4bWwveGluY2x1ZGUuaDogYWRkaW5nIFhJbmNsdWRlCisJICBzdXBwb3J0IHRvIHRoZSByZWFkZXIgaW50ZXJmYWNlLiBMb3Qgb2YgdGVzdGluZyBvZiB0aGUgd2Fsa2VyLAorCSAgdmFyaW91cyBidWcgZml4ZXMuCisJKiB4bWxsaW50LmM6IGFkZGVkIC0td2Fsa2VyIGFuZCBtYWRlIHN1cmUgLS14aW5jbHVkZSAtLXN0cmVhbSAtLWRlYnVnCisJICB3b3JrcyBhcyBleHBlY3RlZAorCSogTWFrZWZpbGUuYW0gcmVzdWx0L2R0ZDExLnJkciByZXN1bHQvZW50Ni5yZHIgdGVzdC9kdGQxMSB0ZXN0L2VudDYKKwkgIHJlc3VsdC9YSW5jbHVkZS8qLnJkcjogYWRkZWQgcmVncmVzc2lvbiB0ZXN0cyBmb3IgdGhlIHdhbGtlciBhbmQKKwkgIFhJbmNsdWRlIHhtbFJlYWRlciBzdXBwb3J0LCBoYWQgdG8gc2xpZ2h0bHkgY2hhbmdlIGEgY291cGxlIG9mIHRlc3RzCisJICBiZWNhdXNlIHRoZSB3YWxrZXIgY2FuJ3QgZGlzdGluZ3Vpc2ggPGZvby8+IGZyb20gPGZvbz48L2Zvbz4KKworU2F0IE5vdiAgMSAxNzo0MjoyNyBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHRyZWUuYyBuYW5vaHR0cC5jIHRocmVhZHMuYzogc2Vjb25kIEJlT1MgcGF0Y2ggZnJvbSAKKwkgIE1hcmNpbiAnU2hhcmQnIEtvbmlja2kKKworRnJpIE9jdCAzMSAxNTozNToyMCBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlci5jOiBhbHdheXMgZ2VuZXJhdGUgbGluZSBudW1iZXJzCisKK0ZyaSBPY3QgMzEgMTE6NTM6NDYgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBwYXJzZXIuYzogZml4ZWQgYW5vdGhlciByZWdyZXNzaW9uIGludHJvZHVjZWQgaW4gZml4aW5nICMxMjU4MjMKKworRnJpIE9jdCAzMSAxMTozMzoxOCBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHB5dGhvbi9saWJ4bWwuYzogcHJldmlvdXMgZml4IGZvciAjMTI0MDQ0IHdhcyBicm9rZW4sIGNvcnJlY3QKKwkgIGZpeCBwcm92aWRlZC4KKwkqIEhUTUxwYXJzZXIuYyBwYXJzZXIuYyBwYXJzZXJJbnRlcm5hbHMuYyB4bWxJTy5jOiBmaXggeG1sU3RvcFBhcnNlcigpCisJICBhbmQgdGhlIGVycm9yIGhhbmRsZXJzIHRvIGFkZHJlc3MgIzEyNTg3NworCitUaHUgT2N0IDMwIDIzOjEwOjQ2IENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcGFyc2VyLmM6IHNpZGUgZWZmZWN0IG9mICMxMjMxMDUgcGF0Y2gsIG5hbWVzcGFjZSByZXNvbHV0aW9uCisJICB3b3VsZCBmYWlsIHdoZW4gZGVmaW5lZCBpbiBpbnRlcm5hbCBlbnRpdGllcywgZml4ZXMgIzEyNTgyMworCitUaHUgT2N0IDMwIDE0OjEwOjQyIENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcHl0aG9uL2xpYnhtbC5jOiBiZSBtb3JlIGRlZmVuc2l2ZSBpbiB0aGUgeG1sUmVhZGVyIHB5dGhvbiBiaW5kaW5ncworCSAgZml4aW5nIGJ1ZyAjMTI0MDQ0CisKK1RodSBPY3QgMzAgMTE6MTQ6MzEgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB2YWxpZC5jOiB0aGUgYS1wb3N0ZXJpb3JpIERURCB2YWxpZGF0aW9uIGNvZGUgd2FzIG5vdCB2YWxpZGF0aW5nCisJICB0aGUgbmFtZXNwYWNlIGRlY2xhcmF0aW9ucywgdGhpcyBmaXhlcyAjMTI0MTEwCisKK1dlZCBPY3QgMjkgMTQ6MTM6MDMgUERUIDIwMDMgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIHhtbElPLmM6IGVuaGFuY2VkIHRvIGJ5cGFzcyBjb21wcmVzc2lvbiBkZXRlY3Rpb24gY29kZQorCSAgd2hlbiBpbnB1dCBmaWxlIGlzIHN0ZGluIChidWcgMTI1ODAxKQorCitXZWQgT2N0IDI5IDE4OjIxOjAwIENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sSU8uYzogZml4IG5lZWRlZCB3aGVuIEhUVFAgaXMgbm90IGNvbXBpbGVkIGluIGJ5IE1hcmsgVmFrb2MKKworV2VkIE9jdCAyOSAxODowNTo1MyBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhwYXRoLmM6IG1vcmUgZml4ZXMgYWJvdXQgdW5yZWdpc3RlcmluZyBvYmplY3RzCisJKiBpbmNsdWRlL2xpYnhtbC9yZWxheG5nLmg6IGFwcGxpZWQgcGF0Y2ggZnJvbSBNYXJrIFZha29jCisJICBtaXNzaW5nIF9jcGx1c3BsdXMgcHJvY2Vzc2luZyBjbGF1c2UKKworV2VkIE9jdCAyOSAwNzo0OTo1MiAyMDAzICBBbGVrc2V5IFNhbmluICA8YWxla3NleUBhbGVrc2V5LmNvbT4KKworCSogaW5jbHVkZS9saWJ4bWwvcGFyc2VyLmggcGFyc2VyLmM6IGFkZGVkIHhtbFN0clZQcmludGYgZnVuY3Rpb24KKworV2VkIE9jdCAyOSAxNDozNzo0MCBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIG5hbm9mdHAuYyBuYW5vaHR0cC5jIHRlc3RUaHJlYWRzLmMgdGhyZWFkcy5jOiBhcHBsaWVkIHBhdGNoIGZyb20KKwkgIE1hcmNpbiAnU2hhcmQnIEtvbmlja2kgdG8gcHJvdmlkZSBCZU9TIHRocmVhZCBzdXBwb3J0LgorCitXZWQgT2N0IDI5IDE0OjIwOjE0IENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sc2NoZW1hcy5jIGluY2x1ZGUvbGlieG1sL3htbHNjaGVtYXMuaDogYXBwbGllZCBwYXRjaAorCSAgZnJvbSBTdGV2ZSBCYWxsIHRvIG1ha2UgYSBzY2hlbWEgcGFyc2VyIGZyb20gYSBwcmVwYXJzZWQgZG9jdW1lbnQuCisKK1dlZCBPY3QgMjkgMTM6NTI6MjUgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB0cmVlLmM6IGFwcGxpZWQgYSBjb3VwbGUgb2YgcGF0Y2hlcyBmcm9tIE1hcmsgTGlsYmFjayBhYm91dCB0ZXh0CisJICBub2RlcyBjb2FsZXNjaW5nCisKK1dlZCBPY3QgMjkgMTI6MTY6NTIgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4cGF0aC5jOiBjaGFuZ2Ugc3VnZ2VzdGVkIGJ5IEFudGhvbnkgQ2FycmljbyB3aGVuIHVucmVnaXN0ZXJpbmcKKwkgIGEgbmFtZXNwYWNlIHByZWZpeCB0byBhIGNvbnRleHQKKwkqIGhhc2guYzogYmUgbW9yZSBjYXJlZnVsIGFib3V0IGNhbGxpbmcgY2FsbGJhY2tzIHdpdGggTlVMTCBwYXlsb2Fkcy4KKworV2VkIE9jdCAyOSAwMDowNDoyNiBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGNvbmZpZ3VyZS5pbiBORVdTIGRvYy8qOiBwcmVwYXJpbmcgcmVsZWFzZSAyLjYuMSwgdXBkYXRlZCBhbmQKKwkgIHJlZ2VuZXJhdGVkIGRvY3MgYW5kIEFQSXMKKwkqIHBhcnNlci5jOiBjbGVhbnVwIGFuZCBsYXN0IGNoYW5nZSB0byBmaXggIzEyMzEwNQorCitUdWUgT2N0IDI4IDIzOjAyOjI5IENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogSFRNTHBhcnNlci5jOiBGaXggIzEyNDkwNyBieSBzaW1wbHkgYmFja3BvcnRpbmcgdGhlIHNhbWUKKwkgIGZpeCBhcyBmb3IgdGhlIFhNTCBwYXJzZXIKKwkqIHJlc3VsdC9IVE1ML2RvYzMuaHRtLmVycjogY2hhbmdlIHRvIElEIGRldGVjdGluZyBtb2RpZmllZCBvbmUKKwkgIHRlc3QgcmVzdWx0LgorCitUdWUgT2N0IDI4IDIyOjI4OjUwIENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcGFyc2VyLmMgaW5jbHVkZS9saWJ4bWwvcGFyc2VyLmg6IGluY2x1ZGVkIGEgbmV3IGZ1bmN0aW9uCisJICB0byByZXVzZSBhIFB1c2ggcGFyc2VyIGNvbnRleHQsIGJhc2VkIG9uIEdyYWhhbSBCZW5uZXR0IG9yaWdpbmFsCisJICBjb2RlCisJKiB2YWxpZC5jOiBpbiBIVE1MLCBhIG5hbWUgaW4gYW4gaW5wdXQgaXMgbm90IGFuIElECisJKiBUT0RPOiBidWcgbGlzdCB1cGRhdGUKKworVHVlIE9jdCAyOCAxOTo1NDozNyBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhwYXRoLmM6IGFwcGxpZWQgcGF0Y2ggZnJvbSBuaWNvQHh0cmFkeW5lLmNvbSBmb3IgIzEyNTAzMAorCitUdWUgT2N0IDI4IDE2OjQyOjE2IENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogTWFrZWZpbGUuYW06IGNsZWFudXAKKwkqIGVycm9yLmMgdmFsaWQuYyBpbmNsdWRlL2xpYnhtbC94bWxlcnJvci5oOiBmaXhpbmcgYnVnICMxMjU2NTMKKwkgIHNvbWV0aW1lcyB0aGUgZXJyb3IgaGFuZGxlcnMgY2FuIGdldCBhIHBhcnNlciBjb250ZXh0IG9uIERURAorCSAgZXJyb3JzLCBhbmQgc29tZXRpbWUgdGhleSBkb24ndC4gU28gYmUgdmVyeSBjYXJlZnVsIHdoZW4gdHJ5aW5nCisJICB0byBncmFiIHRob3NlIGluZm9ybWF0aW9ucy4KKworVHVlIE9jdCAyOCAxNToyNjoxOCBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHRyZWUuYzogYXBwbGllZCBwYXRjaCBmcm9tIEthc2ltaWVyIEJ1Y2hjaWsgd2hpY2ggZml4ZXMgYSAKKwkgIHByb2JsZW0gaW4geG1sU2VhcmNoTnMgaW50cm9kdWNlZCBpbiAyLjYuMAorCitUdWUgT2N0IDI4IDE0OjU3OjAzIENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcGFyc2VyLmM6IGZpeGVkICMxMjMyNjMsIHRoZSBlbmNvZGluZyBpcyBtYW5kYXRvcnkgaW4gYSB0ZXh0ZGVjbC4KKworVHVlIE9jdCAyOCAxMzo0ODo1MiBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHRyZWUuYzogZml4IGJ1ZyAjMTI1MDQ3IGFib3V0IHNlcmlhbGl6aW5nIHdoZW4gZmluZGluZyBhIAorCSAgZG9jdW1lbnQgZnJhZ21lbnQgbm9kZS4KKworTW9uIE9jdCAyNyAxMToxMToyOSBFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHRlc3RTQVguYzogZml4IGJ1ZyAjMTI1NTkyIG5lZWQgYSBOVUxMIGNoZWNrCisJKiBpbmNsdWRlL2xpYnhtbC9jaHZhbGlkLmg6IHJlbmFtZSBhIHBhcmFtZXRlcgorCitNb24gT2N0IDI3IDA5OjQzOjQ4IEVTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcGFyc2VyLmM6IGFwcGxpZWQgcGF0Y2ggZnJvbSAjMTIzMTA1IGFib3V0IGRlZmF1bHRlZCBhdHRyaWJ1dGVzCisJICBmcm9tIGVsZW1lbnQgY29taW5nIGZyb20gYW4gZW50aXR5CisKK01vbiBPY3QgMjcgMjE6MTI6MjcgSEtUIDIwMDMgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIHhtbGxpbnQuYzogZml4ZWQgd2FybmluZyBtZXNzYWdlIGZyb20gSVJJWCAoYnVnIDEyNTE4MikKKwkqIHB5dGhvbi9saWJ4bWwucHk6IHJlbW92ZWQgdGFicywgcmVwbGFjZWQgd2l0aCBzcGFjZXMKKwkgIChidWcgMTI1NTcyKQorCitNb24gT2N0IDI3IDA2OjE3OjMwIEVTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogbGlieG1sLmggcGFyc2VySW50ZXJuYWxzLmMgeG1sSU8uYzogbWFrZSBzdXJlIHdlIHJlcG9ydCBlcnJvcnMKKwkgIGlmIHhtbE5ld0lucHV0RnJvbUZpbGUoKSBmYWlscy4KKwkqIHhtbHJlYWRlci5jOiBhdm9pZCB1c2luZyBfcHJpdmF0ZSBmb3IgdGhlIG5vZGUgb3IgZG9jdW1lbnQKKwkgIGVsZW1lbnRzLgorCitTYXQgT2N0IDI1IDE3OjMzOjU5IENFU1QgMjAwMyBJZ29yIFpsYXRrb3ZpYyA8aWdvckB6bGF0a292aWMuY29tPgorCisJKiB3aW4zMi9jb25maWd1cmUuanM6IGFkZGVkIGRlY2xhcmF0aW9uIGZvciB2ZXJNaWNyb1N1ZmZpeAorCitGcmkgT2N0IDI0IDIzOjA4OjE3IENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGxpYnhtbC5tNDogYXBwbGllZCBwYXRjaCBmcm9tIFBhdHJpY2sgV2VsY2hlIHByb3ZpZGVkIGluCisJICBidWcgIzEyNTQzMiAsIGZ1dHVyZSBwcm9vZmluZyB0aGUgLm00IGZpbGUuCisJKiBwYXJzZXIuYzogcmVzZXR0aW5nIHRoZSBjb250ZXh0IHNob3VsZCBhbHNvIHJlc2V0IHRoZSBlcnJvcgorCSogVE9ETzogcHJvYmxlbSBvZiBjb25mb3JtYW5jZSB3LnIudC4gRTIwIHdhcyByYWlzZWQgaW4gdGhlCisJICBYTUwgQ29yZSB0ZWxjb25mIGFuZCBsaWJ4bWwyIGlzbid0IGNvbmZvcm1hbnQgdGhlcmUuCisKK1dlZCBPY3QgMjIgMTQ6MzM6MDUgQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sd3JpdGVyLmM6IGFwcGxpZWQgcGF0Y2ggZnJvbSBBbGZyZWQgTWlja2F1dHNjaCBmaXhpbmcgIzEyNTE4MAorCitXZWQgT2N0IDIyIDEwOjUwOjMxIENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGNodmFsaWQuYyBnZW5DaFJhbmdlcy5weTogU3TDqXBoYW5lIEJpZG91bCBwb2ludGVkIG91dCBhbm90aGVyCisJICBzbWFsbCBnbGl0Y2ggbWlzc2luZyBhIGNvbnN0CisKK1dlZCBPY3QgMjIgMTA6NDM6MjEgQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogY2h2YWxpZC5jIGdlbkNoUmFuZ2VzLnB5OiBTdMOpcGhhbmUgQmlkb3VsIHBvaW50ZWQgb3V0IHRoYXQKKwkgIGl0IGRvZXNuJ3QgZGVmaW5lIElOX0xJQlhNTAorCitUdWUgT2N0IDIxIDIxOjE0OjU1IENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHdpbjMyL01ha2VmaWxlLm1pbmd3OiB0eXBvIHBvaW50ZWQgb3V0IGJ5IFN0w6lwaGFuZSBCaWRvdWwKKworVHVlIE9jdCAyMSAxMToyNjozNiBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB3aW4zMi9NYWtlZmlsZS5iY2Igd2luMzIvTWFrZWZpbGUubWluZ3cgd2luMzIvTWFrZWZpbGUubXN2YworCSAgd2luMzIvY29uZmlndXJlLmpzOiBzZXQgb2YgV2luMzIgcGF0Y2hlcyBmb3IgMi42LjAgYnkgSm9hY2hpbSBCYXVjaAorCitUdWUgT2N0IDIxIDAyOjA3OjIyIENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHRyZWUuYzogbGFzdCBtaW51dGUgcGF0Y2ggZnJvbSBFcmljIFp1cmNoZXIgbWFraW5nIGl0IGludG8gMi42LjAKKworVHVlIE9jdCAyMSAwMjowMzowMyBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBjb25maWd1cmUuaW4gTkVXUyBkb2MvbGlieG1sMi54c2E6IHByZXBhcmluZyBsaWJ4bWwyLTIuNi4wCisJKiBkb2MvKjogdXBkYXRlZCBhbmQgcmVnZW5lcmF0ZWQgdGhlIGRvY3MgYW5kIEFQSQorCitUdWUgT2N0IDIxIDAxOjAxOjU1IENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIFNBWDIuYyBlcnJvci5jIHRyZWUuYzogbW92ZWQgdGhlIGxpbmUgbnVtYmVyIHRvIHRoZWlyIHByb3BlcgorCSAgZmllbGQgaW4gZWxlbWVudHMgbm93LgorCitUdWUgT2N0IDIxIDAwOjI4OjIwIENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGNvbmZpZ3VyZS5pbiB4bWx3cml0ZXIuYyBNYWtlZmlsZS5hbSBpbmNsdWRlL2xpYnhtbC94bWx3cml0ZXIuaAorCSAgaW5jbHVkZS9saWJ4bWwvTWFrZWZpbGUuYW0gaW5jbHVkZS9saWJ4bWwveG1sdmVyc2lvbi5oLmluOgorCSAgYWRkZWQgdGhlIHhtbFdyaXRlciBtb2R1bGUgY29udHJpYnV0ZWQgYnkgQWxmcmVkIE1pY2thdXRzY2gKKwkqIGluY2x1ZGUvbGlieG1sL3RyZWUuaDogYWRkZWQgcm9vbSBmb3IgbGluZSBhbmQgZXh0cmEgaW5mb3JtYXRpb24KKwkqIHhtbHJlYWRlci5jIHB5dGhvbi90ZXN0cy9yZWFkZXI2LnB5OiBidWdmaXhpbmcgc29tZSBwcm9ibGVtIHNvbWUKKwkgIG9mIHRoZW0gaW50cm9kdWNlZCBpbiBTZXB0ZW1iZXIKKwkqIHdpbjMyL2xpYnhtbDIuZGVmLnNyYyBkb2MvbGlieG1sMi1hcGkueG1sOiByZWdlbmVyYXRlZCB0aGUgQVBJCisKK01vbiBPY3QgMjAgMTk6MDI6NTMgQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogTWFrZWZpbGUuYW0gY29uZmlndXJlLmluIHhtbGR3YWxrLmMgeG1scmVhZGVyLmMKKwkgIGluY2x1ZGUvbGlieG1sL01ha2VmaWxlLmFtIGluY2x1ZGUvbGlieG1sL3htbGR3YWxrLmgKKwkgIGluY2x1ZGUvbGlieG1sL3htbHZlcnNpb24uaC5pbjogcmVtb3ZpbmcgeG1sZHdhbGsgbW9kdWxlCisJICBzaW5jZSBpdCBnb3QgbWVyZ2VkIHdpdGggdGhlIHhtbHJlYWRlci4KKwkqIHBhcnNlci5jOiBjbGVhbnVwCisJKiB3aW4zMi9saWJ4bWwyLmRlZi5zcmMgcHl0aG9uL2xpYnhtbDJjbGFzcy50eHQgZG9jL2xpYnhtbDItYXBpLnhtbDoKKwkgIHJlYnVpbHQgdGhlIEFQSQorCSogcHl0aG9uL3Rlc3RzL01ha2VmaWxlLmFtIHB5dGhvbi90ZXN0cy9yZWFkZXI3LnB5CisJICBweXRob24vdGVzdHMvd2Fsa2VyLnB5OiBhZGRpbmcgcmVncmVzc2lvbiB0ZXN0aW5nIGZvciB0aGUKKwkgIG5ldyB4bWxyZWFkZXIgQVBJcywgbmV3IEFQSXMgZm9yIHJlYWRlciBjcmVhdGlvbiwgaW5jbHVkaW5nCisJICBtYWtlaW5nIHJlYWRlciAid2Fsa2VyIiBvcGVyYXRpbmcgb24gcHJlcGFyc2VkIGRvY3VtZW50IHRyZWVzLgorCitTdW4gT2N0IDIwIDIyOjM3OjAzIEhLVCAyMDAzIFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiBlbnRpdGllcy5jLCB2YWxpZC5jOiBmaXhlZCBwcm9ibGVtIHJlcG9ydGVkIG9uIHRoZSBtYWlsaW5nCisJICBsaXN0IGJ5IE1lbHZ5biBTb3BhY3VhIC0gd3JvbmcgYXJndW1lbnQgb3JkZXIgb24gZnVuY3Rpb25zCisJICBjYWxsZWQgdGhyb3VnaCB4bWxIYXNoU2Nhbi4KKworU3VuIE9jdCAxOSAyMzo1Nzo0NSBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB2YWxpZC5jIHhtbElPLmM6IGZpeGVzIGZvciBjb21waWxpbmcgdXNpbmcgLS13aXRoLW1pbmltdW0KKworU3VuIE9jdCAxOSAyMzo0NjowNCBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB0cmVlLmM6IGNsZWFudXAgeG1sTm9kZUdldENvbnRlbnQoKSByZXVzaW5nIHhtbE5vZGVCdWZHZXRDb250ZW50KCksCisJICB0ZXN0ZWQgaXQgdGhyb3VnaCB0aGUgeHNsdCByZWdyZXNzaW9uIHN1aXRlLgorCitTdW4gT2N0IDE5IDIyOjQyOjE2IENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHRyZWUuYyBpbmNsdWRlL2xpYnhtbC90cmVlLmg6IGFkZGluZyB4bWxOb2RlQnVmR2V0Q29udGVudCgpCisJICBhbGxvd2luZyB0byBncmFiIHRoZSBjb250ZW50IHdpdGhvdXQgZm9yY2luZyBhbGxvY2F0aW9ucy4KKwkqIHB5dGhvbi9saWJ4bWwyY2xhc3MudHh0IGRvYy9saWJ4bWwyLWFwaS54bWw6IHJlYnVpbHQgdGhlIEFQSQorCSogeHBhdGguYyB4bWxkd2Fsay5jOiByZW1vdmVkIGEgY291cGxlIG9mIGNvbW1lbnQgZXJyb3JzLgorCitTdW4gT2N0IDE5IDE2OjM5OjM2IENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlci5jOiBhcHBsaWVkIHBhdGNoIGZyb20gQ2hyaXMgQW5kZXJzb24gdG8gY2hhbmdlIGJhY2sKKwkgIG1lbWNtcCB3aXRoIENNUHgoKQorCitTdW4gT2N0IDE5IDE2OjI0OjE5IENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIEhUTUxwYXJzZXIuYzogZml4ZWQgdG8gbm90IHNlbmQgTlVMTCB0byAlcyBwcmludGluZworCSogcHl0aG9uL3Rlc3RzL2Vycm9yLnB5IHJlc3VsdC9IVE1ML2RvYzMuaHRtLmVycgorCSAgcmVzdWx0L0hUTUwvdGVzdDMuaHRtbC5lcnIgcmVzdWx0L0hUTUwvd2lyZWQuaHRtbC5lcnIKKwkgIHJlc3VsdC92YWxpZC90OC54bWwuZXJyIHJlc3VsdC92YWxpZC90OGEueG1sLmVycjogY2xlYW5pbmcKKwkgIHVwIHNvbWUgb2YgdGhlIHJlZ3Jlc3Npb24gdGVzdHMgZXJyb3IKKworU3VuIE9jdCAxOSAxNTozMTo0MyBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBpbmNsdWRlL2xpYnhtbC9uYW5vaHR0cC5oIGluY2x1ZGUvbGlieG1sL3BhcnNlckludGVybmFscy5oIAorCSAgaW5jbHVkZS9saWJ4bWwveG1sSU8uaCBuYW5vaHR0cC5jIHBhcnNlckludGVybmFscy5jIHhtbElPLmM6CisJICBGaXhlZCB0aGUgSFRUUDwtPnBhcnNlciBpbnRlcnJhY3Rpb24sIHdoaWNoIHNob3VsZCBmaXggMiBsb25nCisJICBzdGFuZGluZyBidWdzICMxMDQ3OTAgYW5kICMxMjQwNTQgLCB0aGlzIGFsc28gZml4IHRoZSBmYWN0IHRoYXQKKwkgIEhUVFAgZXJyb3IgY29kZSAoPiA0MDApIHNob3VsZCBub3QgZ2VuZXJhdGUgZGF0YSwgd2UgdXN1YWxseQorCSAgZG9uJ3Qgd2FudCB0byBwYXJzZSB0aGUgSFRNTCBlcnJvciBpbmZvcm1hdGlvbiBpbnN0ZWFkIG9mIHRoZQorCSAgcmVzb3VyY2UgbG9va2VkIGF0LgorCitTdW4gT2N0IDE5IDE5OjIwOjQ4IEhLVCAyMDAzIFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiBkb2MvTWFrZWZpbGUuYW06IGVuaGFuY2VkIHRoZSBpbnN0YWxsYXRpb24gb2YgdHV0b3JpYWwgZmlsZXMKKwkgIHRvIGF2b2lkIGluc3RhbGxpbmcgQ1ZTIHN1YmRpcmVjdG9yaWVzIChidWcgMTIyOTQzKQorCitTdW4gT2N0IDE5IDE3OjMzOjI3IEhLVCAyMDAzIFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiB4bWxJTy5jOiBmaXhlZCBzZWdmYXVsdCB3aGVuIGlucHV0IGZpbGUgbm90IHByZXNlbnQKKwkqIHRyZWUuYzogY2hhbmdlZCBvdXRwdXQgZm9ybWF0dGluZyBvZiBYTUxfQ0RBVEFfU0VDVElPTgorCSAgKGJ1ZyAxMjA5MTcpCisKK1N1biBPY3QgMTkgMDA6MTU6MzggSEtUIDIwMDMgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIGluY2x1ZGUvbGlieG1sL3BhcnNlckludGVybmFscy5oIEhUTUxwYXJzZXIuYyBIVE1MdHJlZS5jCisJICBTQVgyLmMgY2F0YWxvZy5jIGRlYnVnWE1MLmMgZW50aXRpZXMuYyBwYXJzZXIuYyByZWxheG5nLmMKKwkgIHRlc3RTQVguYyB0cmVlLmMgdmFsaWQuYyB4bWxzY2hlbWFzLmMgeG1sc2NoZW1hc3R5cGVzLmMKKwkgIHhwYXRoLmM6IENoYW5nZWQgYWxsICg/KSBvY2N1cmVuY2VzIHdoZXJlIHZhbGlkYXRpb24gbWFjcm9zCisJICAoSVNfeHh4KSBoYWQgc2luZ2xlLWJ5dGUgYXJndW1lbnRzIHRvIHVzZSBJU194eHhfQ0ggaW5zdGVhZAorCSAgKGUuZy4gSVNfQkxBTksgY2hhbmdlZCB0byBJU19CTEFOS19DSCkuICBUaGlzIGdldHMgcmlkIG9mCisJICBtYW55IHdhcm5pbmcgbWVzc2FnZXMgb24gY2VydGFpbiBwbGF0Zm9ybXMsIGFuZCBhbHNvIGhpZ2gtCisJICBsaWdodHMgcGxhY2VzIGluIHRoZSBsaWJyYXJ5IHdoaWNoIG1heSBuZWVkIHRvIGJlIGVuaGFuY2VkCisJICBmb3IgcHJvcGVyIFVURjggaGFuZGxpbmcuCisKK1NhdCBPY3QgMTggMjA6MzQ6MTggSEtUIDIwMDMgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIGdlbkNoUmFuZ2VzLnB5LCBjaHZhbGlkLmMsIGluY2x1ZGUvbGlieG1sL2NodmFsaWQuaCwKKwkgIGRvYy9hcGlidWlsZC5weTogZW5oYW5jZWQgdG8gaW5jbHVkZSBlbm91Z2ggY29tbWVudHMgdG8KKwkgIG1ha2UgdGhlIGFwaSBkb2MgZ2VuZXJhdGlvbiBoYXBweS4KKworU2F0IE9jdCAxOCAwNzoyODoyNSBFRFQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIG5hbm9odHRwLmMgeG1sSU8uYyBpbmNsdWRlL2xpYnhtbC9uYW5vaHR0cC5oOiBzdGFydGluZyB3b3JrCisJICB0byBmaXggdGhlIEhUVFAvWE1MIHBhcnNlciBpbnRlZ3JhdGlvbi4KKworU2F0IE9jdCAxOCAxMTowNDozMiBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxyZWFkZXIuYyBpbmNsdWRlL2xpYnhtbC94bWxyZWFkZXIuaDogYWRkZWQgbmV3IEFQSXMKKwkgIGZvciBjcmVhdGluZyByZWFkZXIgZnJvbSBzb3VyY2VzIG9yIHJldXNpbmcgYSByZWFkZXIgd2l0aAorCSAgYSBuZXcgc291cmNlLCBsaWtlIHRoZSB4bWxSZWFkeHggYW5kIHhtbEN0eHRSZWFkeHh4CisJKiB3aW4zMi9saWJ4bWwyLmRlZi5zcmMgZG9jL2xpYnhtbDItYXBpLnhtbCBkb2MvYXBpYnVpbGQucHkKKwkgIGRvYy9NYWtlZmlsZS5hbTogcmVnZW5lcmF0ZWQgdGhlIEFQSXMKKwkqIGRvYy94bWwuaHRtbDogYXBwbGllZCBhIHBhdGNoIGZyb20gU3RlZmFuIEtvc3QgZm9yIG5hbWVzYXBjZSBkb2NzCisKK1NhdCBPY3QgMTggMTI6NDY6MDIgSEtUIDIwMDMgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIGdlbkNoUmFuZ2VzLnB5LCBjaHZhbGlkLmMsIGluY2x1ZGUvbGlieG1sL2NodmFsaWQuaCwKKwkgIGluY2x1ZGUvbGlieG1sL3BhcnNlckludGVybmFscy5oOiBlbmhhbmNlZCBtYWNyb3MgdG8gYXZvaWQKKwkgIGJyZWFraW5nIEFCSSBmcm9tIHByZXZpb3VzIHZlcnNpb25zLgorCSogY2F0YWxvZy5jLCBwYXJzZXIuYywgdHJlZS5jOiBtb2RpZmllZCB0byB1c2UgSVNfKiBtYWNyb3MKKwkgIGRlZmluZWQgaW4gcGFyc2VySW50ZXJuYWxzLmguICBNYWtlcyBtYWludGVuYW5jZSBtdWNoIGVhc2llci4KKwkqIHRlc3RIVE1MLmMsIHRlc3RTQVguYywgcHl0aG9uL2xpYnhtbC5jOiBtaW5vciBmaXhlcyB0byBhdm9pZAorCSAgY29tcGlsYXRpb24gd2FybmluZ3MKKwkqIGNvbmZpZ3VyYXRpb24uaW46IGZpeGVkIHB1c2hIVE1MIHRlc3QgZXJyb3I7IGVuaGFuY2VkIGZvcgorCSAgYmV0dGVyIGRldmVsIChtZSkgdGVzdGluZworCitGcmkgT2N0IDE3IDE0OjM4OjU0IENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGxlZ2FjeS5jOiByZW1vdmUgdGhlIHdhcm5pbmcgZm9yIHN0YXJ0RG9jdW1lbnQoKSwgYXMgaXQgaXMgdXNlZCBieQorCSAgZ2xhZGUgKG9yIGdsYWRlLXB5dGhvbikKKwkqIHBhcnNlci5jIHJlbGF4bmcuYyB4bWxzY2hlbWFzdHlwZXMuYzogZml4ZWQgYW4gYXNzb3J0ZWQgc2V0IG9mCisJICBpbnZhbGlkIGFjY2Vzc2VzIGZvdW5kIGJ5IHJ1bm5pbmcgc29tZSBQeXRob24gYmFzZWQgcmVncmVzc2lvbgorCSAgdGVzdHMgdW5kZXIgdmFsZ3JpbmQuIFRoZXJlIGlzIHN0aWxsIGEgZmV3IGxlYWtzIHJlcG9ydGVkIGJ5IHRoZQorCSAgcmVsYXhuZyByZWdyZXNzaW9ucyB3aGljaCBuZWVkIHNvbWUgYXR0ZW50aW9uLgorCSogZG9jL01ha2VmaWxlLmFtOiBmaXhlZCBhIG1ha2UgaW5zdGFsbCBwcm9ibGVtIGMuZi4gIzEyNDUzOQorCSogaW5jbHVkZS9saWJ4bWwvcGFyc2VySW50ZXJuYWxzLmg6IGFkZGl0aW9uIG9mIHhtbFBhcnNlck1heERlcHRoCisJICBwYXRjaCBmcm9tIGNydXRjaGVyCisKK1dlZCBPY3QgMTUgMTI6NDc6MzMgQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcGFyc2VyLmM6IE1hcmMgTGl5YW5hZ2UgcG9pbnRlZCBvdXQgdGhhdCB4bWxDbGVhbnVwUGFyc2VyKCkKKwkgIHdhcyBtaXNzaW5nIHhtbENsZWFudXBJbnB1dENhbGxiYWNrcyBhbmQgeG1sQ2xlYW51cE91dHB1dENhbGxiYWNrcworCSAgY2FsbHMuCisKK1dlZCBPY3QgMTUgMTA6MTY6NDcgQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogdm1zL2J1aWxkX2xpYnhtbC5jb20gdHJpb25hbi5jOiBWTVMgcGF0Y2ggZnJvbSBDcmFpZyBBLiBCZXJyeQorCitNb24gT2N0IDEzIDIxOjQ2OjI1IENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIE1ha2VmaWxlLmFtOiBzbWFsbCBmaXggZnJvbSBCam9ybiBSZWVzZQorCitNb24gT2N0IDEzIDE1OjU5OjI1IENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHZhbGlkLmM6IGZpeCBhIGNhbGwgbWlzc2luZyBhcmd1bWVudHMKKworU3VuIE9jdCAxMiAxODo0MjoxOCBIS1QgMjAwMyBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogZ2VuQ2hSYW5nZXMucHksIGNodmFsaWQuYywgaW5jbHVkZS9saWJ4bWwvY2h2YWxpZC5oOiBmaXhlZAorCSAgYSBidWcgaW4gdGhlIHJhbmdlIHNlYXJjaDsgZW5oYW5jZWQgcmFuZ2UgZ2VuZXJhdGlvbiAoaW5saW5lIGNvZGUKKwkgIGlmIGEgc21hbGwgbnVtYmVyIG9mIGludGVydmFscyk7IGVuaGFuY2VkIHRoZSByZWFkYWJpbGl0eSBvZiB0aGUKKwkgIG91dHB1dCBmaWxlcy4KKworU3VuIE9jdCAxMiAwMDo1MjoxNCBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBjaHZhbGlkLmRlZiBjaHZhbGlkLmMgaW5jbHVkZS9saWJ4bWwvY2h2YWxpZC5oOiByZWJ1aWx0IAorCSAgY2h2YWxpZC5kZWYgZnJvbSBzY3JhdGNoIGJhc2VkIG9uIFhNTCAybmQgZWRpdGlvbiBSRUMKKwkgIGFuZCByZWdlbmVyYXRlZCB0aGUgY29kZS4KKworU2F0IE9jdCAxMSAyMjo1NDoxMyBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBjaGVjay14bWwtdGVzdC1zdWl0ZS5weTogcmVtb3ZlZCBzb21lIGFubm95aW5nIHdhcm5pbmdzCisJKiBjaHZhbGlkLmRlZiBjaHZhbGlkLmMgaW5jbHVkZS9saWJ4bWwvY2h2YWxpZC5oOiBmaXhlZCBhIGJ1ZworCSAgaW4gdGhlIFB1YmlkQ2hhcnMgZGVmaW5pdGlvbiwgcmVnZW5lcmF0ZWQsIHRoZXJlIGlzIHN0aWxsCisJICBhIGJ1ZyBsZWZ0IHNvbWV3aGVyZQorCSogZ2VuQ2hSYW5nZXMucHk6IHNhdmUgdGhlIGhlYWRlciBkaXJlY3RseSBpbiBpbmNsdWRlL2xpYnhtbC8KKwkqIGNvbmZpZ3VyZS5pbjogSSBnZW5lcmF0ZWQgYSAyLjYuMGJldGE2IGVhcmxpZXIgdG9kYXkKKworU2F0IE9jdCAxMSAyMzozMjo0NyBIS1QgMjAwMyBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogZml4ZWQgc21hbGwgZXJyb3Igb24gcHJldmlvdXMgY29tbWl0IChjaHZhbGlkLmggaW4KKwkgIGJhc2UgZGlyIGluc3RlYWQgb2YgaW5jbHVkZSBkaXJlY3RvcnkpCisKK1NhdCBPY3QgMTEgMjM6MTE6MjIgSEtUIDIwMDMgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIGdlbkNoUmFuZ2UucHksIGNodmFsaWQuZGVmLCBjaHZhbGlkLmMsIGluY2x1ZGUvbGlieG1sL2NodmFsaWQuaDoKKwkgIG5ldyBmaWxlcyBmb3IgYSBkaWZmZXJlbnQgbWV0aG9kIGZvciBkb2luZyByYW5nZSB2YWxpZGF0aW9uCisJICBvZiBjaGFyYWN0ZXIgZGF0YS4KKwkqIE1ha2VmaWxlLmFtLCBwYXJzZXJJbnRlcm5hbHMuYywgaW5jbHVkZS9saWJ4bWwvTWFrZWZpbGUuYW0sCisJICBpbmNsdWRlL2xpYnhtbC9wYXJzZXJJbnRlcm5hbHMuaDogbW9kaWZpZWQgZm9yIG5ldyByYW5nZSBtZXRob2QuCisJKiBjYXRhbG9nLmM6IHNtYWxsIGVuaGFuY2UgZm9yIHdhcm5pbmcgbWVzc2FnZSAodXNpbmcgb25lCisJICBvZiB0aGUgbmV3IHJhbmdlIHJvdXRpbmVzKQorCitTYXQgT2N0IDExIDEzOjI0OjU3IENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHZhbGlkLmMgaW5jbHVkZS9saWJ4bWwvdmFsaWQuaDogYWRkaW5nIGFuIHNlcnJvciBmaWVsZCB0bworCSAgdGhlIHZhbGlkYXRpb24gY29udGV4dCBicmVha3MgdGhlIEFCSSBmb3IgdGhlIHhtbFBhcnNlckN0eHQKKwkgIHN0cnVjdHVyZSBzaW5jZSBpdCdzIGVtYmVkZGVkIGJ5IGNvbnRlbnQgYW5kIG5vdCBieSByZWZlcmVuY2UKKworU2F0IE9jdCAxMSAxMjo0Njo0OSBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBjb25maWd1cmUuaW46IHBhdGNoIGZyb20gTWlrZSBIb21tZXkKKwkqIHRocmVhZHMuYzogYXBwbGllZCBXaW5kb3dzIHBhdGNoIGZyb20gSmVzc2UgUGVsdG9uIGFuZCBTdGVwaGFuZQorCSAgQmlkb3VsCisJKiBwYXJzZXIuYzogZml4IHRoZSBwb3RlbnRpYWxseSBuYXN0eSBhY2Nlc3MgdG8gY3R4dC0+c2Vycm9yCisJICB3aXRob3V0IGNoZWNraW5nIGZpcnN0IHRoYXQgdGhlIFNBWCBibG9jayBpcyB2ZXJzaW9uIDIKKworRnJpIE9jdCAxMCAyMTozNDowMSBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBTQVgyLmM6IGZpeGVkIGEgbmFzdHkgYnVnIHdpdGggaW50ZXJuaW5nIHNvbWUgdGV4dCBzdHJpbmdzCisJKiBjb25maWd1cmUuaW46IHByZXBhcmUgZm9yIGJldGE1IG9mIDIuNi4wCisJKiBsaWJ4bWwuaCBuYW5vZnRwLmMgbmFub2h0dHAuYyB4bWxJTy5jIGluY2x1ZGUvbGlieG1sL3htbGVycm9yLmg6CisJICBiZXR0ZXIgZXJyb3IgaGFuZGxpbmcgZm9yIEkvTyBhbmQgY29udmVydGVkIEZUUCBhbmQgSFRUUAorCSogcGFyc2VyLmM6IGZpeGVkIGFub3RoZXIgYnVnCisKK0ZyaSBPY3QgMTAgMTY6NDU6MjAgQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogU0FYMi5jOiBmaXhlZCB1bmluaXRpYWxpemVkIG5ldyBmaWVsZC4KKwkqIHJlc3VsdC9WQy9PbmVJRDIgcmVzdWx0L3JlbGF4bmcvKi5lcnI6IGZpeGVkIGEgdHlwbyB1cGRhdGluZworCSAgYWxsIG1lc3NhZ2VzCisKK0ZyaSBPY3QgMTAgMTY6MTk6MTcgQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogaW5jbHVkZS9saWJ4bWwvdHJlZS5oOiBtYWtlIHJvb20gaW4gRG9jLCBFbGVtZW50LCBBdHRyaWJ1dGVzCisJICBmb3IgUFNWSSB0eXBlIGluZm9ybWF0aW9ucy4KKworRnJpIE9jdCAxMCAxNjowODowMiBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBIVE1McGFyc2VyLmMgYzE0bi5jIGNhdGFsb2cuYyBlcnJvci5jIGdsb2JhbHMuYyBwYXJzZXIuYworCSAgcGFyc2VySW50ZXJuYWxzLmMgcmVsYXhuZy5jIHZhbGlkLmMgeGluY2x1ZGUuYyB4bWxJTy5jIHhtbHJlZ2V4cC5jCisJICB4bWxzY2hlbWFzLmMgeHBhdGguYyB4cG9pbnRlci5jIGluY2x1ZGUvbGlieG1sL2dsb2JhbHMuaAorCSAgaW5jbHVkZS9saWJ4bWwvcGFyc2VyLmggaW5jbHVkZS9saWJ4bWwvdmFsaWQuaCAKKwkgIGluY2x1ZGUvbGlieG1sL3htbGVycm9yLmg6IFNldHRpbmcgdXAgdGhlIGZyYW1ld29yayBmb3Igc3RydWN0dXJlZAorCSAgZXJyb3IgcmVwb3J0aW5nLCB0b3VjaGVzIGEgbG90IG9mIG1vZHVsZXMsIGJ1dCBsaXR0bGUgY29kZSBub3cKKwkgIHRoZSBlcnJvciBoYW5kbGluZyB0cmFpbCBoYXMgYmVlbiBjbGVhbmVkIHVwLgorCitGcmkgT2N0IDEwIDE0OjI5OjQyIENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGMxNG4uYyBpbmNsdWRlL2xpYnhtbC94bWxlcnJvci5oOiBjb252ZXJ0ZWQgdGhlIEMxNE4gbW9kdWxlIHRvbworCitGcmkgT2N0IDEwIDEzOjQwOjUxIENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhwYXRoLmM6IGNsZWFudXAKKwkqIHhwb2ludGVyLmMgaW5jbHVkZS9saWJ4bWwveG1sZXJyb3IuaDogbWlncmF0ZWQgWFBvaW50ZXIgbW9kdWxlCisJICB0byB0aGUgbmV3IGVycm9yIG1lY2hhbmlzbQorCitGcmkgT2N0IDEwIDEyOjQ5OjUzIENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGVycm9yLmMgeG1sc2NoZW1hcy5jOiBhIGJpdCBvZiBjbGVhbnVwCisJKiByZXN1bHQvc2NoZW1hcy8qLmVycjogdXBkYXRlZCB3aXRoIHRoZSBuZXcgcmVzdWx0IHN0cmluZ3MKKworRnJpIE9jdCAxMCAwMzo1ODozOSBQRFQgMjAwMyBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogeHBhdGguYzogZml4ZWQgYnVnIDEyNDA2MQorCitGcmkgT2N0IDEwIDAyOjQ3OjIyIENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIE1ha2VmaWxlLmFtOiBjbGVhbnVwCisJKiBlbmNvZGluZy5jOiBmaXggYSBmdW5ueSB0eXBvCisJKiBlcnJvci5jIHhtbHNjaGVtYXMuYyB4bWxzY2hlbWFzdHlwZXMuYyBpbmNsdWRlL2xpYnhtbC94bWxlcnJvci5oOgorCSAgY29udmVydGVkIHRoZSBTY2hlbWFzIGNvZGUgdG8gdGhlIG5ldyBlcnJvciBoYW5kbGluZy4gUElUQSwKKwkgIHN0aWxsIG5lZWQgdG8gY2hlY2sgb3V0cHV0IGZyb20gcmVncmVzc2lvbiB0ZXN0cy4KKworVGh1IE9jdCAgOSAxNToxMzo1MyBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBIVE1MdHJlZS5jIGluY2x1ZGUvbGlieG1sL3htbGVycm9yLmg6IGNvbnZlcnRlZCB0b28KKwkqIHRyZWUuYzogc21hbGwgY2xlYW51cAorCitUaHUgT2N0ICA5IDEzOjQ0OjU3IENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhpbmNsdWRlLmM6IGNvbW1lbnQgZml4CisJKiBjYXRhbG9nLmMgaW5jbHVkZS9saWJ4bWwveG1sZXJyb3IuaDogbWlncmF0aW5nIHRoZSBjYXRhbG9nIGNvZGUKKwkgIHRvIHRoZSBuZXcgaW5mcmFzdHJ1Y3R1cmUKKworVGh1IE9jdCAgOSAwMDozNjowMyBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxJTy5jOiBmaW5hbCBlcnJvciBoYW5kbGluZyBjbGVhbnVwCisJKiB4aW5jbHVkZS5jIGVycm9yLmM6IGNvbnZlcnRlZCBYSW5jbHVkZSB0byB0aGUgbmV3IGVycm9yIGhhbmRsaW5nCisJKiBpbmNsdWRlL2xpYnhtbC94bWxlcnJvci5oOiBhZGRlZCBYSW5jbHVkZSBlcnJvcnMKKworV2VkIE9jdCAgOCAyMzozMToyMyBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBwYXJzZXIuYzogYnVnIGluIGNvbXByZXNzaW9uIHNhdmluZyB3YXMgY3Jhc2hpbmcgZ2FsZW9uCisJICByZXBvcnRlZCBieSB0ZXVmCisKK1dlZCBPY3QgIDggMjE6MTg6MTIgQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZXJyb3IuYyB0cmVlLmMgeG1sSU8uYyB4bWxsaW50LmM6IG1vcmUgY2xlYW51cCB0aHJvdWdoIHRoZQorCSAgSS9PIGVycm9yIHBhdGgKKworV2VkIE9jdCAgOCAyMDo1NzoyNyBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxJTy5jOiBiZXR0ZXIgaGFuZGxpbmcgb2YgZXJyb3IgY2FzZXMKKworV2VkIE9jdCAgOCAxMzo1MToxNCBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxJTy5jIHhtbGxpbnQuYyBpbmNsdWRlL2xpYnhtbC94bWxlcnJvci5oOiBmaXJzdCBwYXNzIGF0CisJICBjbGVhbmluZyB1cCBlcnJvciBoYW5kbGluZyBpbiB0aGUgSS9PIG1vZHVsZS4KKworV2VkIE9jdCAgOCAxMDo1MjowNSBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxyZWdleHAuYyBpbmNsdWRlL2xpYnhtbC94bWxlcnJvci5oOiBlcnJvciBoYW5kbGluZworCSAgY2xlYW51cCBvZiB0aGUgUmVnZXhwIG1vZHVsZS4KKworV2VkIE9jdCAgOCAwMTowOTowNSBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB0cmVlLmM6IGNvbnZlcnRpbmcgdGhlIHRyZWUgbW9kdWxlIHRvbworCSogZXJyb3IuYyBpbmNsdWRlL2xpYnhtbC94bWxlcnJvci5oOiBjcmVhdGVkIGEgc2ltcGxlciBpbnRlcm5hbAorCSAgZXJyb3IgcmVwb3J0aW5nIGZ1bmN0aW9uLgorCitUdWUgT2N0ICA3IDIzOjE5OjM5IENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGVycm9yLmMgaW5jbHVkZS9saWJ4bWwveG1sZXJyb3IuaCBpbmNsdWRlL2xpYnhtbC94cGF0aC5oCisJICBpbmNsdWRlL2xpYnhtbC94cGF0aEludGVybmFscy5oIHhwYXRoLmM6IGNsZWFuaW5nIHVwIFhQYXRoCisJICBlcnJvciByZXBvcnRpbmcgdGhhdCB0aW1lLiAKKwkqIHRocmVhZHMuYzogYXBwbGllZCB0aGUgdHdvIHBhdGNoZXMgZm9yIFRMUyB0aHJlYWRzCisJICBvbiBXaW5kb3dzIGZyb20gSmVzc2UgUGVsdG9uCisJKiBwYXJzZXIuYzogdGlueSBzYWZldHkgcGF0Y2ggZm9yIHhtbFN0clByaW50ZigpIG1ha2Ugc3VyZSB0aGUKKwkgIHJldHVybiBpcyBhbHdheXMgemVybyB0ZXJtaW5hdGVkLiBTaG91bGQgYWxzbyBoZWxwIGRldGVjdGluZworCSAgcGFzc2luZyB3cm9uZyBidWZmZXIgc2l6ZSBlYXNpbGx5LgorCSogcmVzdWx0L1ZDLyogcmVzdWx0L3ZhbGlkL3Jzcy54bWwuZXJyIHJlc3VsdC92YWxpZC94bGluay54bWwuZXJyOgorCSAgdXBkYXRlZCB0aGUgcmVzdWx0cyB0byBmb2xsb3cgdGhlIGVycm9ycyBzdHJpbmcgZ2VuZXJhdGVkIGJ5CisJICBsYXN0IGNvbW1pdC4KKworVHVlIE9jdCAgNyAxNDoxNjo0NSBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiByZWxheG5nLmMgaW5jbHVkZS9saWJ4bWwveG1sZXJyb3IuaDogbGFzdCBjbGVhbnVwIG9mIGVycm9yCisJICBoYW5kbGluZyBpbiB0aGUgUmVsYXgtTkcgbW9kdWxlLgorCitUdWUgT2N0ICA3IDEzOjMwOjM5IENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGVycm9yLmMgcmVsYXhuZy5jIGluY2x1ZGUvbGlieG1sL3htbGVycm9yLmg6IHN3aXRjaGVkIFJlbGF4LU5HCisJICBtb2R1bGUgdG8gdGVoIG5ldyBlcnJvciByZXBvcnRpbmcuIEJldHRlciBkZWZhdWx0IHJlcG9ydCwgYWRkcworCSAgdGhlIGVsZW1lbnQgYXNzb2NpYXRlZCBpZiBmb3VuZCwgY29udGV4dCBhbmQgbm9kZSBhcmUgaW5jbHVkZWQKKwkgIGluIHRoZSB4bWxFcnJvcgorCSogcHl0aG9uL3Rlc3RzL3JlYWRlcjIucHk6IHRoZSBlcnJvciBtZXNzYWdlcyBjaGFuZ2VkLgorCSogcmVzdWx0L3JlbGF4bmcvKjogZXJyb3IgbWVzc2FnZSBjaGFuZ2VkIHRvby4KKworTW9uIE9jdCAgNiAxMDo0NjozNSBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB3aW4zMi9NYWtlZmlsZS5iY2Igd2luMzIvTWFrZWZpbGUubWluZ3cgd2luMzIvTWFrZWZpbGUubXN2YworCSAgd2luMzIvY29uZmlndXJlLmpzOiBhcHBsaWVkIHBhdGNoIGZyb20gU3TDqXBoYW5lIEJpZG91bCB0bworCSAgZml4IHRoZSBjb21waWxhdGlvbiBvZiAyLjYuMCBjb2RlIG9uIFdpbjMyCisKK01vbiBPY3QgIDYgMTA6MTY6MzAgQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogY2hlY2steG1sLXRlc3Qtc3VpdGUucHk6IGZpeGluZyB0aGUgc2NyaXB0CisJKiBwYXJzZXIuYzogcmVwbGFjZSBzZXF1ZW5jZXMgb2YgUkFXICYmIE5YVCguKSA9PSAnLicgd2l0aAorCSAgbWVtY21wIGNhbGxzLCBzZWVtcyB0byBub3QgYnJlYWsgY29uZm9ybWFuY2UsIHNsaWdodGx5IGluZmxhdGUKKwkgIHRoZSBzaXplIG9mIHRoZSBnY2MgZ2VuZXJhdGVkIGNvZGUgdGhvdWdoLgorCitTdW4gT2N0ICA1IDIzOjMwOjQ4IENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlckludGVybmFscy5jIHBhcnNlci5jIHZhbGlkLmMgaW5jbHVkZS9saWJ4bWwvcGFyc2VySW50ZXJuYWxzLmg6CisJICBtb3JlIGNsZWFudXAgb2YgZXJyb3IgaGFuZGxpbmcgaW4gcGFyc2VySW50ZXJuYWxzLCBzaGFyaW5nIHRoZQorCSAgcm91dGluZSBmb3IgbWVtb3J5IGVycm9ycy4KKworU3VuIE9jdCAgNSAxNTo0OToxNCBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBIVE1McGFyc2VyLmMgTWFrZWZpbGUuYW0gbGVnYWN5LmMgcGFyc2VyLmMgcGFyc2VySW50ZXJuYWxzLmMKKwkgIGluY2x1ZGUvbGlieG1sL3htbGVycm9yLmg6IG1vcmUgY29kZSBjbGVhbnVwLCBlc3BlY2lhbGx5IGFyb3VuZAorCSAgZXJyb3IgbWVzc2FnZXMsIHRoZSBIVE1MIHBhcnNlciBoYXMgbm93IGJlZW4gdXBncmFkZWQgdG8gdGhlIG5ldworCSAgaGFuZGxpbmcuCisJKiByZXN1bHQvSFRNTC8qOiBhIGZldyBjaGFuZ2VzIGluIHRoZSByZXN1bHRpbmcgZXJyb3IgbWVzc2FnZXMKKworU2F0IE9jdCAgNCAyMzowNjo0MSBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBwYXJzZXIuYyBpbmNsdWRlL2xpYnhtbC94bWxlcnJvci5oOiBtb3JlIGVycm9yL3dhcm5pbmcKKwkgIGhhbmRsaW5nIGNsZWFudXBzLCB0aGUgWE1MIHBhcnNlciBtb2R1bGUgc2hvdWxkIGJlIG9rYXkgbm93LgorCitTYXQgT2N0ICA0IDAxOjU4OjI3IENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIE1ha2VmaWxlLmFtIGNvbmZpZ3VyZS5pbiB4bWxkd2Fsay5jIGluY2x1ZGUvbGlieG1sL01ha2VmaWxlLmFtCisJICBpbmNsdWRlL2xpYnhtbC94bWxkd2Fsay5oIGluY2x1ZGUvbGlieG1sL3htbHZlcnNpb24uaC5pbjoKKwkgIGludGVncmF0ZWQgdGhlIHhtbERvY1dhbGtlciBBUEkgZ2l2ZW4gYnkgQWxmcmVkIE1pY2thdXRzY2gsCisJICBhbmQgcHJvdmlkaW5nIGFuIHhtbFJlYWRlciBsaWtlIEFQSSBidXQgd29ya2luZyBvbiBhIHhtbERvY1B0ci4KKworU2F0IE9jdCAgNCAwMDoxODoyOSBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBNYWtlZmlsZS5hbTogbW9yZSBjbGVhbnVwIGluIG1ha2UgdGVzdHMKKwkqIGVycm9yLmMgdmFsaWQuYyBwYXJzZXIuYyBpbmNsdWRlL2xpYnhtbC94bWxlcnJvci5oOiBtb3JlIHdvcmsKKwkgIGluIHRoZSB0cmFuc2l0aW9uIHRvIHRoZSBuZXcgZXJyb3IgcmVwb3J0aW5nIHN0cmF0ZWd5LgorCSogcHl0aG9uL3Rlc3RzL3JlYWRlcjIucHkgIHJlc3VsdC9WQy8qIHJlc3VsdC92YWxpZC8qOgorCSAgZmV3IGNoYW5nZXMgaW4gdGhlIHN0cmluZ3MgZ2VuZXJhdGVkIGJ5IHRoZSB2YWxpZGF0aW9uIG91dHB1dAorCitGcmkgT2N0ICAzIDAwOjE5OjAyIENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIE1ha2VmaWxlLmFtOiBjaGFuZ2VkICdtYWtlIHRlc3RzJyB0byB1c2UgYSBjb25jaXNlIG91dHB1dCwKKwkgIHNjcm9sbGluZyB0byBzZWUgd2hlcmUgdGhpbmcgYnJva2Ugd2Fzbid0IHBsZWFzYW50CisJKiBjb25maWd1cmUuaW46IHNvbWUgYmV0YTQgcHJlcGFyYXRpb24sIGJ1dCBub3QgcmVhZHkgeWV0CisJKiBlcnJvci5jIGdsb2JhbHMuYyBpbmNsdWRlL2xpYnhtbC9nbG9iYWxzLmggaW5jbHVkZS9saWJ4bWwveG1sZXJyb3IuaDoKKwkgIG5ldyBlcnJvciBoYW5kbGluZyBjb2RlLCBsYXN0IGVycm9yIGluZm9ybWF0aW9ucyBhcmUgc3RvcmVkCisJICBpbiB0aGUgcGFyc2luZyBjb250ZXh0IG9yIGEgZ2xvYmFsIHZhcmlhYmxlLCBuZXcgQVBJcyB0bworCSAgaGFuZGxlIHRoZSB4bWxFcnJvclB0ciB0eXBlLgorCSogcGFyc2VyLmMgcGFyc2VySW50ZXJuYWxzLmMgdmFsaWQuYyA6IHN0YXJ0ZWQgbWlncmF0aW5nIHRvIHRoZQorCSAgbmV3IGVycm9yIGhhbmRsaW5nIGNvZGUsIGl0J3MgYSByb3lhbCBwYWluLgorCSogaW5jbHVkZS9saWJ4bWwvcGFyc2VyLmggaW5jbHVkZS9saWJ4bWwvcGFyc2VySW50ZXJuYWxzLmg6CisJICBtb3ZlZCB0aGUgZGVmaW5pdGlvbiBvZiB4bWxOZXdQYXJzZXJDdHh0KCkKKwkqIHBhcnNlci5jOiBzbWFsbCBwb3RlbnRpYWwgYnVmZmVyIGFjY2VzcyBwcm9ibGVtIGluIHB1c2ggY29kZQorCSAgcHJvdmlkZWQgYnkgSnVzdGluIEZsZXRjaGVyCisJKiByZXN1bHQvKi5zYXggcmVzdWx0L1ZDL1BFTmVzdGluZyogcmVzdWx0L25hbWVzcGFjZXMvKgorCSAgcmVzdWx0L3ZhbGlkLyouZXJyOiBzb21lIGVycm9yIG1lc3NhZ2VzIHdlcmUgc2xpZ3RobHkgY2hhbmdlZC4KKworVGh1IE9jdCAgMiAxMzowMToxMyAyMDAzICBBbGVrc2V5IFNhbmluICA8YWxla3NleUBhbGVrc2V5LmNvbT4KKworCSogaW5jbHVkZS9saWJ4bWwvcGFyc2VyLmggcGFyc2VyLmM6IGludHJvZHVjZWQgeG1sU3RyUHJpbnRmCisJZnVuY3Rpb24gKHdyYXBwZXIgYXJvdW5kIHNucHJpbnRmKQorCitXZWQgT2N0ICAxIDIxOjEyOjA2IENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGVudGl0aWVzLmM6IEZpeCBlcnJvciBvbiBvdXRwdXQgb2YgaGlnaCBjb2RlcG9pbnQgY2hhcnJlZiBsaWtlCisJICAmI3gxMEZGRkY7ICwgcmVwb3J0ZWQgYnkgRXJpYyBIYW5jaHJvdworCitXZWQgT2N0ICAxIDE0OjIwOjEwIENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIERPQ0JwYXJzZXIuYyBpbmNsdWRlL2xpYnhtbC9ET0NCcGFyc2VyLmg6IGxldCdzIHNlZSBob3cgbXVjaAorCSAgb2YgYSBwYWluIG11cnJheWMgaXMgcmVhbGx5IGdvbm5hIGJlLgorCitXZWQgT2N0ICAxIDExOjAzOjQwIENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbHJlYWRlci5jOiBBcHBsaWVkIGZpeCBmb3IgYnVnICMxMjM0ODEgcmVwb3J0ZWQgYnkgUGV0ZXIgRGVycgorCitUdWUgU2VwIDMwIDE1OjM0OjMxIENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGVudGl0aWVzLmMgbGVnYWN5LmMgcGFyc2VyLmM6IG1hZGUgdGhlIHByZWRlZmluZWQgZW50aXRpZXMKKwkgIHN0YXRpYyBwcmVkZWZpbmVkIHN0cnVjdHVyZXMgdG8gYXZvaWQgdGhlIHdvcmssIG1lbW9yeSBhbmQKKwkgIGhhemFyZHMgYXNzb2NpYXRlZCB0byBpbml0aWFsaXphdGlvbi9jbGVhbnVwLgorCitUdWUgU2VwIDMwIDE0OjMwOjQ3IENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIEhUTUxwYXJzZXIuYyBNYWtlZmlsZS5hbSBjb25maWd1cmUuaW4gbGVnYWN5LmMgcGFyc2VyLmMKKwkgIHBhcnNlckludGVybmFscy5jIHRlc3RIVE1MLmMgeG1sbGludC5jIGluY2x1ZGUvbGlieG1sL0hUTUxwYXJzZXIuaAorCSAgaW5jbHVkZS9saWJ4bWwvcGFyc2VyLmggaW5jbHVkZS9saWJ4bWwvcGFyc2VySW50ZXJuYWxzLmgKKwkgIGluY2x1ZGUvbGlieG1sL3htbHZlcnNpb24uaC5pbjogYWRkZWQgYSBuZXcgY29uZmlndXJlCisJICBvcHRpb24gLS13aXRoLXB1c2gsIHNvbWUgY2xlYW51cHMsIGNoYXNlZCBjb2RlIHNpemUgYW5vbWFsaWVzLgorCSAgTm93IGEgbGlicmFyeSBjb25maWd1cmVkIC0td2l0aC1taW5pbXVtIGlzIGFyb3VuZCAxNTBLQiwKKwkgIHNvdW5kcyBnb29kIGVub3VnaC4KKworVHVlIFNlcCAzMCAxMjozMTowMCBBRVNUIDIwMDMgTWFsY29sbSBUcmVkaW5uaWNrIDxtYWxjb2xtQGNvbW1zZWN1cmUuY29tLmF1PgorCisJKiBsaWJ4bWwtMi4wLXVuaW5zdGFsbGVkLnBjLmluOiBOZXcgZmlsZSBmb3IgYnVpbGRpbmcgYWdhaW5zdAorCXVuaW5zdGFsbGVkIGxpYnhtbDIgYnVpbGRzLgorCSogY29uZmlndXJlLmluLCBNYWtlZmlsZS5hbTogU3VwcG9ydCB0aGUgKi11bmluc3RhbGxlZC5wYyBmaWxlLgorCSogLmN2c2lnbm9yZTogSWdub3JlIHRoZSBuZXcgZ2VuZXJhdGVkICoucGMgZmlsZS4KKworVHVlIFNlcCAzMCAwMjozODoxNiBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBNYWtlZmlsZS5hbSBTQVguYyBTQVgyLmMgY29uZmlndXJlLmluIGdsb2JhbHMuYyBwYXJzZXIuYworCSAgcGFyc2VySW50ZXJuYWxzLmMgdGVzdFJlYWRlci5jIHRlc3RTQVguYyB4bWxJTy5jIHhtbGxpbnQuYworCSAgeG1scmVhZGVyLmMgZXhhbXBsZS9nam9icmVhZC5jIGluY2x1ZGUvbGlieG1sL3htbHZlcnNpb24uaC5pbjoKKwkgIGFkZGVkIDIgbmV3IGNvbmZpZ3VyZSBvcHRpb246IC0td2l0aC1yZWFkZXIgLS13aXRoLXNheDEKKwkgIHRvIGFsbG93IHJlbW92aW5nIHRoZSByZWFkZXIgb3Igbm9uLXhtbFJlYWR4eHgoKSBpbnRlcmZhY2VzLgorCitNb24gU2VwIDI5IDE5OjU4OjI2IENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGNvbmZpZ3VyZS5pbiBlbnRpdGllcy5jIHRyZWUuYyB2YWxpZC5jIHhtbGxpbnQuYworCSAgaW5jbHVkZS9saWJ4bWwvdHJlZS5oIGluY2x1ZGUvbGlieG1sL3htbHZlcnNpb24uaC5pbjoKKwkgIEFkZGluZyBhIGNvbmZpZ3VyZSBvcHRpb24gdG8gcmVtb3ZlIHRyZWUgbWFuaXB1bGF0aW9uCisJICBjb2RlIHdoaWNoIGlzIG5vdCBzdHJpY3RseSBuZWVkZWQgYnkgdGhlIHBhcnNlci4KKworTW9uIFNlcCAyOSAxNToyMzo0MSBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBuYW5vZnRwLmMgbmFub2h0dHAuYzogbGFzdCBmaW5pc2hpbmcgdG91Y2ggdG8gdGhlIEJlT1MKKwkgIHBhdGNoIGZyb20gTWFyY2luICdTaGFyZCcgS29uaWNraQorCitNb24gU2VwIDI5IDE1OjE1OjA4IENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIEhUTUx0cmVlLmMgU0FYMi5jIGMxNG4uYyBjYXRhbG9nLmMgY29uZmlndXJlLmluIGRlYnVnWE1MLmMKKwkgIGVuY29kaW5nLmMgZW50aXRpZXMuYyBuYW5vZnRwLmMgbmFub2h0dHAuYyBwYXJzZXIuYyByZWxheG5nLmMKKwkgIHRlc3RBdXRvbWF0YS5jIHRlc3RDMTROLmMgdGVzdEhUTUwuYyB0ZXN0UmVnZXhwLmMgdGVzdFJlbGF4LmMKKwkgIHRlc3RTY2hlbWFzLmMgdGVzdFhQYXRoLmMgdGhyZWFkcy5jIHRyZWUuYyB2YWxpZC5jIHhtbElPLmMKKwkgIHhtbGNhdGFsb2cuYyB4bWxsaW50LmMgeG1sbWVtb3J5LmMgeG1scmVhZGVyLmMgeG1sc2NoZW1hcy5jCisJICBleGFtcGxlL2dqb2JyZWFkLmMgaW5jbHVkZS9saWJ4bWwvSFRNTHRyZWUuaCBpbmNsdWRlL2xpYnhtbC9jMTRuLmgKKwkgIGluY2x1ZGUvbGlieG1sL2NhdGFsb2cuaCBpbmNsdWRlL2xpYnhtbC9kZWJ1Z1hNTC5oCisJICBpbmNsdWRlL2xpYnhtbC9lbnRpdGllcy5oIGluY2x1ZGUvbGlieG1sL25hbm9odHRwLmgKKwkgIGluY2x1ZGUvbGlieG1sL3JlbGF4bmcuaCBpbmNsdWRlL2xpYnhtbC90cmVlLmgKKwkgIGluY2x1ZGUvbGlieG1sL3ZhbGlkLmggaW5jbHVkZS9saWJ4bWwveG1sSU8uaAorCSAgaW5jbHVkZS9saWJ4bWwveG1sc2NoZW1hcy5oIGluY2x1ZGUvbGlieG1sL3htbHZlcnNpb24uaC5pbgorCSAgaW5jbHVkZS9saWJ4bWwveHBhdGhJbnRlcm5hbHMuaCBweXRob24vbGlieG1sLmM6CisJICBPa2F5IHRoaXMgaXMgc2NhcnkgYnV0IGl0IGlzIGp1c3QgYWRkaW5nIGEgY29uZmlndXJlIG9wdGlvbgorCSAgdG8gZGlzYWJsZSBvdXRwdXQsIHRoaXMgdG91Y2hlcyBtb3N0IG9mIHRoZSBmaWxlcy4KKworTW9uIFNlcCAyOSAxMjo1Mzo1NiBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxtZW1vcnkuYzogYmV0dGVyIGZpeCwgYXZvaWRzIGJyZWFraW5nIHRoZSBweXRob24gYmluZGluZ3MKKworTW9uIFNlcCAyOSAxMToyMTozMyBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxtZW1vcnkuYzogZml4IGEgY29tcGlsYXRpb24gcHJvYmxlbSB3aGVuIGNvbmZpZ3VyaW5nCisJICB3aXRoIGRlYnVnIGJ1dCB3aXRob3V0IG1lbS1kZWJ1ZworCitTdW4gU2VwIDI4IDIwOjUzOjE3IENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIE1ha2VmaWxlLmFtOiBjbGVhbnVwLCBjcmVhdGluZyBhIG5ldyBsZWdhY3kuYyBtb2R1bGUsCisJICBtYWRlIHN1cmUgbWFrZSB0ZXN0cyByYW4gaW4gcmVkdWNlZCBjb25kaXRpb25zCisJKiBTQVguYyBTQVgyLmMgY29uZmlndXJlLmluIGVudGl0aWVzLmMgZ2xvYmFscy5jIHBhcnNlci5jCisJICBwYXJzZXJJbnRlcm5hbHMuYyB0cmVlLmMgdmFsaWQuYyB4bGluay5jIHhtbElPLmMgeG1sY2F0YWxvZy5jCisJICB4bWxtZW1vcnkuYyB4cGF0aC5jIHhtbG1lbW9yeS5jIGluY2x1ZGUvbGlieG1sL3htbHZlcnNpb24uaC5pbjoKKwkgIGluY3JlYXNlZCB0aGUgbW9kdWxhcml6YXRpb24sIGFsbG93IHRvIGNvbmZpZ3VyZSBvdXQgCisJICB2YWxpZGF0aW9uIGNvZGUgYW5kIGxlZ2FjeSBjb2RlLCBhZGRlZCBhIGNvbmZpZ3VyYXRpb24KKwkgIG9wdGlvbiAtLXdpdGgtbWluaW11bSBjb21waWxpbmcgb25seSB0aGUgbWFuZGF0b3J5IGNvZGUKKwkgIHdoaWNoIHRoZW4gc2hyaW5rIHRvIDIwMEtCLgorCitTdW4gU2VwIDI4IDAyOjE1OjA3IENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlci5jOiBmaXggYSBidWcgcmFpc2VkIGJ5IHRoZSBNaXBzIGNvbXBpbGVyLgorCSogaW5jbHVkZS9saWJ4bWwvU0FYLmggaW5jbHVkZS9saWJ4bWwvcGFyc2VyLmg6IG1vdmUgdGhlIAorCSAgU0FYdjEgYmxvY2sgZGVmaW5pdGlvbnMgdG8gcGFyc2VyLmggZml4ZXMgYnVnICMxMjMzODAKKwkqIHhtbHJlYWRlci5jIGluY2x1ZGUvbGlieG1sL3htbHJlYWRlci5oOiByZWluc3RhbmNpYXRlCisJICB0aGUgYXR0cmlidXRlIGFuZCBlbGVtZW50IHBvb2wgYm9ya2VuIDIgY29tbWl0cyBhZ28uCisJICBTdGFydCBwbGF5aW5nIHdpdGggYW4gZW50cnkgcG9pbnQgdG8gcHJlc2VydmUgYSBzdWJ0cmVlLgorCSogZW50aXRpZXMuYzogcmVtb3ZlIGEgd2FybmluZy4KKworU2F0IFNlcCAyNyAxMjoxOTozOCBQRFQgMjAwMyBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogZW5jb2RpbmcuYywgcGFyc2VyLmMsIHJlbGF4bmcuYzogZnVydGhlciAoZmluYWw/KSBtaW5vcgorCSAgY2hhbmdlcyBmb3IgY29tcGlsYXRpb24gd2FybmluZ3MuIE5vIGNoYW5nZSB0byBsb2dpYy4KKworRnJpIFNlcCAyNiAxODowMzo0MiBQRFQgMjAwMyBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogcGFyc2VyLmM6IGZpeGVkIHNtYWxsIHByb2JsZW0gd2l0aCBtaXNzaW5nIGVudGl0aWVzICh0ZXN0L2VudDIpCisKK1NhdCBTZXAgMjcgMDE6MjU6MzkgQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcGFyc2VyLmM6IFdpbGxpYW0ncyBjaGFuZ2UgYWxsb3dlZCB0byBzcG90IGEgbmFzdHkgYnVnIGluIHhtbERvUmVhZAorCSAgaWYgdGhlIHJlc3VsdCBpcyBub3Qgd2VsbCBmb3JtZWQgdGhhdCBjdHh0LT5teURvYyBpcyBub3QgTlVMTAorCSAgYW5kIHVzZXMgdGhlIGNvbnRleHQgZGljdGlvbm5hcnkuCisKK0ZyaSBTZXAgMjYgMjE6MDk6MzQgQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcGFyc2VyLmM6IG90aGVyIHBhdGNoZXMgZnJvbSBXaWxsaWFtIEJyYWNrIHRvIGF2b2lkCisJICBjb21waWxhdGlvbiB3YXJuaW5ncyBvbiBBSVguCisKK0ZyaSBTZXAgMjYgMTE6MDM6MDggUERUIDIwMDMgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIEhUTUxwYXJzZXIuYywgZW50aXRpZXMuYywgeG1scmVhZGVyLmM6IG1pbm9yIGNoYW5nZSB0bworCSAgYXZvaWQgY29tcGlsYXRpb24gd2FybmluZ3Mgb24gc29tZSAoZS5nLiBBSVgpIHN5c3RlbXMKKworRnJpIFNlcCAyNiAxNjo0OToyNSBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBwYXJzZXJJbnRlcm5hbHMuYzogZml4ZWQgYSBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHByb2JsZW0KKwkgIHdoZW4gZm9ybWF0dGluZyAiZGVwcmVjYXRlZCBTQVh2MSBmdW5jdGlvbiBpZ25vcmFibGVXaGl0ZXNwYWNlIgorCSAgY291bGQgYmUgcmVwcm9kdWNlZCBieSB4bWxsaW50IC0tZm9ybWF0CisKK0ZyaSBTZXAgMjYgMTU6NTA6NDQgQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZG9jL2xpYnhtbDItYXBpLnhtbDogcmVidWlsdCB0aGUgQVBJCisJKiB4bWxsaW50LmMgZG9jL3htbGxpbnQuMSBkb2MveG1sbGludC54bWw6IGFkZGVkIHRoZSBuZXcgb3B0aW9ucworCSAgLS1ub2NkYXRhIGFuZCAtLW5zY2xlYW4gdG8gcmVtb3ZlIENEQVRBIHNlY3Rpb24gYW5kIHN1cnBlcmZsdW91cworCSAgbmFtZXNwYWNlIGRlY2xhcmF0aW9ucworCSogcGFyc2VyLmMgU0FYMi5jOiBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgMiBuZXcgb3B0aW9ucworCitGcmkgU2VwIDI2IDE0OjQxOjUzIENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIEhUTUxwYXJzZXIuYyB0ZXN0SFRNTC5jIHhtbGxpbnQuYyBpbmNsdWRlL2xpYnhtbC9IVE1McGFyc2VyLmg6CisJICBhZGRlZCB0aGUgc2FtZSBodG1sUmVhZCBBUElzIHRoYW4gdGhlaXIgWE1MIGNvdW50ZXJwYXJ0cworCSogaW5jbHVkZS9saWJ4bWwvcGFyc2VyLmg6IG5ldyBwYXJzZXIgb3B0aW9ucywgbm90IHlldCBpbXBsZW1lbnRlZCwKKwkgIGFkZGVkIGFuIG9wdGlvbnMgZmllbGQgdG8gdGhlIGNvbnRleHQuCisJKiB0cmVlLmM6IHBhdGNoIGZyb20gU2hhdW4gTWNDYW5jZSB0byBmaXggYnVnICMxMjMyMzggd2hlbiBdXT4KKwkgIGlzIGZvdW5kIHdpdGhpbiBhIGNkYXRhIHNlY3Rpb24uCisJKiByZXN1bHQvbm9lbnQvY2RhdGEyIHJlc3VsdC9jZGF0YTIgcmVzdWx0L2NkYXRhMi5yZHIKKwkgIHJlc3VsdC9jZGF0YTIuc2F4IHRlc3QvY2RhdGEyOiBhZGQgb25lIG1vcmUgY2RhdGEgdGVzdAorCitUaHUgU2VwIDI1IDIzOjAzOjIzIENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlci5jIHhtbGxpbnQuYyBkb2MvbGlieG1sMi1hcGkueG1sIGluY2x1ZGUvbGlieG1sL3BhcnNlci5oOgorCSAgQ2hhbmdlZCB0aGUgbmV3IHhtbFJlYWQveG1sQ3R4dFJlYWQgQVBJcyB0byBoYXZlIGFuIGV4dHJhCisJICBiYXNlIFVSTCBwYXJhbWV0ZXIgd2hlbiBub3QgbG9hZGluZyBmcm9tIGEgZmlsZSBvciBVUkwuCisKK1RodSBTZXAgMjUgMTY6MjM6NTggQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogY29uZmlndXJlLmluOiBwcmVwYXJpbmcgYSBiZXRhMyBzb2x2aW5nIHRoZSBBQkkgcHJvYmxlbXMKKwkqIGdsb2JhbHMuYyBwYXJzZXIuYyBwYXJzZXJJbnRlcm5hbHMuYyB0ZXN0SFRNTC5jIEhUTUxwYXJzZXIuYyBTQVguYworCSAgaW5jbHVkZS9saWJ4bWwvZ2xvYmFscy5oIGluY2x1ZGUvbGlieG1sL1NBWC5oOiBtYWtlIHN1cmUgdGhlCisJICBnbG9iYWwgdmFyaWFibGVzIGZvciB0aGUgZGVmYXVsdCBTQVggaGFuZGxlciBhcmUgVjEgb25lcyB0bworCSAgYXZvaWQgQUJJIGNvbXBhdCBwcm9ibGVtcy4KKwkqIHhtbHJlYWRlci5jOiBjbGVhbnVwIG9mIHVuZWVkZWQgY29kZQorCSogaGFzaC5jOiBmaXggYSBjb21tZW50CisKK1RodSBTZXAgMjUgMTQ6MTY6NTEgQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogU0FYMi5jIGhhc2guYyBwYXJzZXIuYyBpbmNsdWRlL2xpYnhtbC94bWxleHBvcnRzLmggCisJICBpbmNsdWRlL2xpYnhtbC94bWxtZW1vcnkuaCBpbmNsdWRlL2xpYnhtbC94bWx2ZXJzaW9uLmguaW46CisJICBmaXhpbmcgc29tZSBjb21tZW50cyB0byBhdm9pZCB3YXJuaW5ncyBmcm9tIGFwaWJ1aWxkLnB5CisKK1dlZCBTZXAgMjQgMjM6NDI6MDggQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogd2luMzIvY29uZmlndXJlLmpzOiBwYXRjaCBmcm9tIFN0w6lwaGFuZSBCaWRvdWwgZm9yIGNvbmZpZ3VyaW5nCisJICB0aGUgYmV0YTIgdmVyc2lvbiAjMTIzMTA0CisKK1dlZCBTZXAgMjQgMjM6MTc6NTkgQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogTWFrZWZpbGUuYW06IGFkZGluZyByZXBlYXRlZCBwYXJzaW5nIGFuZCB2YWxpZGF0aW5nIHRlc3RzCisJKiBTQVgyLmMgcGFyc2VyLmMgdHJlZS5jIGluY2x1ZGUvbGlieG1sL3BhcnNlci5oOiBtYWtlIHRoZSBuZXcKKwkgIERPTSB0cmVlIGJ1aWxkaW5nIGludGVyZmFjZXMgdXNlIHRoZSBkaWN0aW9uYXJ5IGZyb20gdGhlIAorCSAgcGFyc2luZyBjb250ZXh0IHRvIGJ1aWxkIHRoZSBlbGVtZW50IGFuZCBhdHRyaWJ1dGVzIG5hbWVzCisJICBhcyB3ZWxsIGFzIGZvcm1hdHRpbmcgc3BhY2VzIGFuZCBzaG9ydCB0ZXh0IG5vZGVzCisJKiBpbmNsdWRlL2xpYnhtbC9kaWN0LmggZGljdC5jOiBhZGRlZCBzb21lIHJlZmVyZW5jZSBjb3VudGluZworCSAgZm9yIHhtbERpY3RQdHIgYmVjYXVzZSB0aGV5IGNhbiBiZSBzaGFyZWQgYnkgZG9jdW1lbnRzIGFuZAorCSAgYSBwYXJzZXIgY29udGV4dC4KKwkqIHhtbHJlYWRlci5jOiBhIGJpdCBvZiBjbGVhbnVwLCByZW1vdmUgdGhlIHNwZWNpZmljIHRyZWUgZnJlZWluZworCSAgZnVuY3Rpb25zIGFuZCB1c2UgdGhlIHN0YW5kYXJkIG9uZXMgbm93LgorCSogeG1sbGludC5jOiBhZGQgLS1ub2RpY3QKKwkqIHB5dGhvbi9saWJ4bWwuYzogZml4IGEgc3R1cGlkIGJ1ZyBzbyB0aGF0IG5zKCkgd29ya3Mgb24gCisJICBhdHRyaWJ1dGUgbm9kZXMuCisKK1R1ZSBTZXAgMjMgMjM6MDc6NDUgQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcGFyc2VyLmMgaW5jbHVkZS9saWJ4bWwvcGFyc2VyLmg6IGFkZGluZyBhIG5ldyBzZXQgb2YKKwkgIEFQSSBmb3IgcGFyc2luZyB4bWxSZWFkRG9jKCkgeG1sUmVhZEZpbGUoKSAuLi4geG1sUmVhZElPKCkKKwkgIGFuZCB4bWxDdHh0UmVhZERvYygpIC4uLiB4bWxDdHh0UmVhZElPKCkuIFRoYXQgd2l0aAorCSAgYSBjbGVhciBkZWZpbmUgb2YgeG1sUGFyc2VyT3B0aW9uLCB4bWxDdHh0VXNlT3B0aW9ucygpCisJICBzaG91bGQgc2ltcGxpZnkgY3VzdG9tIHBhcnNpbmcgd2l0aG91dCBiZWluZyB0ZW1wdGVkIHRvCisJICB1c2UgZ2xvYmFsIHZhcmlhYmxlcywgYW5kIHhtbEN0eHRSZXNldCgpIHNob3VsZCBhbGxvdyByZXVzZQorCSAgb2YgYSBjb250ZXh0IGZvciBtdWx0aXBsZSBwYXJzaW5nLgorCSogeG1sbGludC5jOiBzd2l0Y2hlZCB0byB1c2UgeG1sUmVhZFhYWCwgYWxsb3cgb3B0aW9ucyB0bworCSAgYmUgdXNlZCBzaW11bHRhbmVvdXNseSB3aXRoIGxlc3MgdHJvdWJsZXMuCisJKiB0cmVlLmM6IHNpbXBsZSB3YXJuaW5nIHJlbW92YWwKKwkqIGRvYy9hcGlidWlsZC5weTogc21hbGwgZml4CisJKiBkb2MvbGlieG1sMi1hcGkueG1sIHdpbjMyL2xpYnhtbDIuZGVmLnNyYzogdXBkYXRlZAorCitUdWUgU2VwIDIzIDExOjE1OjIzIENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlci5jOiByZXZlcnQgeG1sQ3JlYXRlRG9jUGFyc2VyQ3R4dCgpIHNpbmNlIHRoaXMgYnJlYWsKKwkgIHRoZSBwYXJzZURvYygpIHB5dGhvbiBiaW5kaW5ncworCitUdWUgU2VwIDIzIDExOjAwOjE4IENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlci5jOiBtYWtlIHN1cmUgeG1sRGV0ZWN0U0FYMigpIGlzIGNhbGxlZCBvbmx5IGF0IAorCSAgcGFyc2luZyB0aW1lIHRvIGF2b2lkIGJyZWFraW5nIGFwcHMgY2hhbmdpbmcgdGhlIFNBWAorCSAgY2FsbGJhY2tzIGFmdGVyIGNvbnRleHQgYWxsb2NhdGlvbiwgY2hhbmdlIHhtbENyZWF0ZURvY1BhcnNlckN0eHQoKQorCSAgdG8gdXNlIGFuIGltbXV0YWJsZSBidWZmZXIgaW5zdGVhZCBvZiBhIGNvcHkKKworVHVlIFNlcCAyMyAwOTo0MDozMyBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxJTy5jOiBhcHBsaWVkIHBhdGNoIGZyb20gTWFya3VzIEtlaW0gZml4aW5nIGEgcHJvYmxlbQorCSAgd2l0aCBJL08gY2FsbGJhY2sgcmVnaXN0cmF0aW9uLgorCSogaW5jbHVkZS9saWJ4bWwveG1sZXJyb3IuaDogZml4ZWQgIzEyMjk5NCBjb21tZW50IG51bWJlcmluZworCSAgZm9yIHhtbFBhcnNlckVycm9ycworCitNb24gU2VwIDIyIDEyOjIxOjExIENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHRyZWUuYyBpbmNsdWRlL2xpYnhtbC90cmVlLmg6IHRoZSB1cmkgYXJnIHRvIHhtbE5vZGVTZXRCYXNlIGlzCisJICByZWFsbHkgYSBjb25zdCB4bWxDaGFyKgorCSogeG1scmVhZGVyLmMgaW5jbHVkZS9saWJ4bWwveG1scmVhZGVyLmg6IGFkZGluIHRoZQorCSAgeG1sVGV4dFJlYWRlckNvbnN0U3RyaW5nKCkgdG8gZ2V0IGFuIGludGVybmVkIHN0cmluZyBmcm9tCisJICB0aGUgcmVhZGVyCisKK1N1biBTZXAgMjAgMTc6MjI6MjAgUERUIDIwMDMgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIGVycm9yLmM6IGZpeGVkIGEgd2FybmluZyBtZXNzYWdlICh0cml2aWFsKQorCSogZG9jL3NlYXJjaC5waHA6IHJlbW92ZWQgaW5jb3JyZWN0IHdhcm5pbmcgbWVzc2FnZSB3aGVuIHdvcmQKKwkgIHNlYXJjaCBub3QgZm91bmQgaW4gbGFzdCBvZiBtdWx0aXBsZSB0YWJsZXMgKGJ1ZyAxMTk1MzUpCisKK0ZyaSBTZXAgMTkgMTQ6MjY6MjggQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogY29uZmlndXJlLmluOiBwcmVwYXJpbmcgYSAyLjYuMC1iZXRhMiByZWxlYXNlCisJKiB4bWxJTy5jOiBhdm9pZCBhIHdhcm5pbmcKKwkqIHRyZWUuYzogYXZvaWQgZHVwbGljYXRlIGNvZGUgaW4geG1sUmVwbGFjZU5vZGUgYXMgcG9pbnRlZCBvdXQKKwkgIGJ5IENocmlzIFJ5bGFuZAorCSogaW5jbHVkZS9saWJ4bWwvZGljdC5oOiBhZGQgYSBRTmFtZSBhY2Nlc3MgbG9va3VwIHRvIHRoZQorCSAgZGljdGlvbmFyeS4KKwkqIHhtbHJlYWRlci5jIGluY2x1ZGUvbGlieG1sL3htbHJlYWRlci5oOiBhZGRpbmcgY29uc3QgYWNjZXNzCisJICBiYXNlZCBvbiB0aGUgZGljdGlvbmFyeSBpbnRlcmZhY2UgZm9yIHN0cmluZyByZWFkIGZyb20gdGhlCisJICByZWFkZXIsIHRoZSBub2RlIGNvbnRlbnQgYWNjZXNzIGlzIHN0aWxsIFRPRE8sIGl0J3MgdG9vIGRpZmZlcmVudAorCitGcmkgU2VwIDE5IDAwOjAxOjA4IENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIFNBWDIuYzogZml4aW5nIG5hbWVzcGFjZSBEVEQgdmFsaWRhdGlvbnMKKwkqIHJlc3VsdC92YWxpZC9uczIueG1sIHJlc3VsdC92YWxpZC9ucy54bWw6IHRoZSBvdXRwdXQgb2YgZGVmYXVsdGVkCisJICBuYW1lc3BhY2VzIGlzIHNsaWdodGx5IGRpZmZlcmVudCBub3cuCisJKiBNYWtlZmlsZS5hbTogcmVwb3J0IHRoZSBtZW1vcnkgdXNlZCBpbiBUaW1pbmd0ZXN0cyAoYXMgd2VsbCBhcyB0aW1lKQorCitUaHUgU2VwIDE4IDE1OjI5OjQ2IENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIE1ha2VmaWxlLmFtOiBhZGQgc3RyZWFtaW5nIG9uIG1lbW9yeSByZWdyZXNzaW9uIHRlc3RzLCBmb3VuZAorCSAgYmFkIGJ1Z3MgaW4gdGhlIHJlYWRlciBpbnRlcmZhY2UKKwkqIHhtbHJlYWRlci5jOiBmaXhpbmcgYnVncyB3LnIudC4gdmVyeSBsYXJnZSBuYW1lcywgYW5kIHNwZWNpYWwKKwkgIGNvbmRpdGlvbiBpbiBlbmQgb2YgZmlsZS4KKwkqIHhtbElPLmMgdHJlZS5jIGluY2x1ZGUvbGlieG1sL3RyZWUuaCBpbmNsdWRlL2xpYnhtbC94bWxJTy5oOgorCSAgYWRkaW5nIGltbXV0YWJsZSBidWZmZXJzLCBhbmQgcGFyc2VyIGlucHV0IGJhc2VkIG9uIHRob3NlLAorCSAgYnV0IHRoaXMgc2hvdWxkIG5vdCBiZSB1c2VkICh5ZXQpIGZvciBnZW5lcmFsIHBhcnNpbmcKKwkqIHBhcnNlci5jOiBhZGRlZCBhIGNvbW1lbnQgYWJvdXQgdXNpbmcgaW1tdXRhYmxlIGJ1ZmZlcnMgZm9yCisJICBnZW5lcmFsIHBhcnNpbmcuCisJKiByZXN1bHQvYmlnbmFtZS54bWwucmRyIHJlc3VsdC9iaWduYW1lMi54bWwucmRyOiBmaXhpbmcgdGhlCisJICBvdXRwdXQgb2YgdGhlIHJlZ3Jlc3Npb24gdGVzdHMKKwkqIHhtbGxpbnQuYzogdXNpbmcgdGhlIGltbXV0YWJsZSBidWZmZXJzIHdoZW4gc3RyZWFtaW5nIG9uCisJICBtbWFwZWQgZmlsZSAoLS1zdHJlYW0gLS1tZW1vcnkpCisKK1RodSBTZXAgMTggMTI6MDQ6NTAgQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZGljdC5jOiB0aGUgbGFzdCBwYXRjaCBicm9rZSB1bmljaXR5IG9mIHJldHVybmVkIHN0cmluZ3MsIHJlbW92ZWQKKworVGh1IFNlcCAxOCAwMDozMTowMiBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBNYWtlZmlsZS5hbTogYWRkIGEgVGltaW5ndGVzdHMgdGFyZ2V0IHRvIGNoZWNrIGJhZCBiZWhhdmlvdXIKKwkgIGZyb20gdGhlIHN0cmVhbWluZyBlbmdpbmUKKwkqIGRiZ2VuLnBsIGRiZ2VuYXR0ci5wbDogcGVybCBzY3JpcHQgdG8gZ2VuZXJhdGUgYmlnIGluc3RhbmNlcworCSogeG1scmVhZGVyLmM6IGZpeCBhIGJhZCBiZWhhdmlvdXIgb24gbGFyZ2UgYnVmZmVyIGlucHV0cworCitXZWQgU2VwIDE3IDIzOjI1OjQ3IENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGRpY3QuYyB4bWxyZWFkZXIuYzogdHdvIHNtYWxsIGltcHJvdmVtZW50cworCitXZWQgU2VwIDE3IDIyOjUzOjMyIENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlckludGVybmFscy5jOiBhdm9pZCBhIGxlYWsgd2l0aCBwcmV2aW91cyBwYXRjaAorCitXZWQgU2VwIDE3IDIyOjA2OjExIENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHB5dGhvbi9saWJ4bWwuYzogdXNlIHN0ZGVyciBhbmQgbm90IHN0ZG91dCBmb3IgZGVmYXVsdCBlcnJvcnMKKwkgIGluIHB5dGhvbiBlbnZpcm9ubWVudCBidWcgIzEyMjU1MgorCitXZWQgU2VwIDE3IDIxOjMzOjU3IENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlckludGVybmFscy5jOiBzbWFsbCBmaXggZnJvbSBSb2IgUmljaGFyZHMgZm9yIGlucHV0IGZpbGVuYW1lCisJKiB4bWxsaW50LmM6IGZpeGVzIGZvciAtLXJlcGVhdCBhbmQgLS1tZW1vcnkvLS1zdHJlYW0gZm9yIHNwZWVkIHRlc3RzCisJKiB4bWxJTzogYWRkaW5nIGEgZ3VhcmQgaW4gb25lIGZ1bmN0aW9uCisKK1dlZCBTZXAgMTcgMTU6NTc6NDQgQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogU0FYMi5jIHhtbHJlYWRlci5jIGluY2x1ZGUvbGlieG1sL3BhcnNlci5oOiBtb3JlIHBlcmZvcm1hbmNlIGh1bnRpbmcKKwkgIHJlZHVjaW5nIG1lbW9yeSBhbGxvY2F0aW9uIGFuZCBmcmVlIGFuZCBhdm9pZGluZyBleHBlbnNpdmUgcm91dGluZXMKKworV2VkIFNlcCAxNyAxMjoyMzo0MSBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBTQVgyLmMgcGFyc2VyLmMgcGFyc2VySW50ZXJuYWxzLmMgeG1scmVhZGVyLmM6IHN0YXJ0ZWQgbWVzc2luZworCSAgc2VyaW91c2x5IHdpdGggcGVyLWRvY3VtZW50IGRpY3QgYW5kIGVsZW1lbnQgYW5kIGF0dHJpYnV0ZSBub2RlcworCSAgcmV1c2UgaW4gdGhlIHhtbFJlYWRlci4gVGhpcyBzZWVtcyB0byBsZWFkIHRvIGFuIGludGVyZXN0aW5nCisJICBzcGVlZHVwIG9mIHRoZSB4bWxSZWFkZXIgYWxyZWFkeS4KKworV2VkIFNlcCAxNyAwMTowNzo1NiBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBkaWN0LmMgaW5jbHVkZS9saWJ4bWwvZGljdC5oOiBkbyBzdHJpbmcgYWxsb2NhdGlvbnMgaW4gbGFyZ2UKKwkgIHBvb2xzLCBhbGxvd2luZyB0byBmaW5kIGlmIGEgc3RyaW5nIHBlcnRhaW4gdG8gYSBkaWN0IHF1aWNrbHkKKwkqIHhtbGxpbnQuYzogZml4IC0tc3RyZWFtIC0tcmVwZWF0IC0tdGltaW5nCisJKiBNYWtlZmlsZS5hbTogdGhlIHRlc3RUaHJlYWRzIHJ1biBvdXRwdXQgc2hvdWxkIGJlIHNlZW4uCisKK01vbiBTZXAgMTUgMTY6NDY6MjggQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogU0FYMi5jIGluY2x1ZGUvbGlieG1sL3BhcnNlci5oOiBzdGFydGluZyB3b3JrIG9uIHJldXNpbmcgdGhlCisJICBwYXJzZXIgZGljdGlvbmFyeSBmb3IgdGhlIGVsZW1lbnQgYW5kIGF0dHJpYnV0ZSB0YWcgbmFtZXMuCisJICBBZGQgcG9vbHMgZm9yIEVsZW1lbnQgYW5kIEF0dHJpYnV0ZXMgaW4gdGhlIHBhcnNlciBjb250ZXh0LAorCSAgd2hpY2ggc2hvdWxkIGhlbHAgc3BlZWRpbmcgdXAgdGhlIHJlYWRlci4KKwkqIE1ha2VmaWxlLmFtIHJlc3VsdC8qLnJkciA6IGFkZGluZyBub24tcHl0aG9uIHJlYWRlciByZWdyZXNzaW9uCisJICB0ZXN0cy4KKworTW9uIFNlcCAxNSAxNDo1NDo0MiBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBTQVgyLmMgcGFyc2VyLmMgdmFsaWQuYzogc3RhcnRpbmcgdG8gY2xlYW51cCBzb21lIG9mIHRoZQorCSAgcHJvYmxlbXMgZXhwb3NlZCBieSB0aGUgVzNDL05JU1QgcmVncmVzc2lvbiBzdWl0ZS4KKwkqIHJlc3VsdC9lbnQ3LnNheCByZXN1bHQveG1sMi5zYXg6IHNtYWxsIGZpeGVzLgorCitNb24gU2VwIDE1IDExOjQ2OjQ3IENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlci5jOiBtb3JlIHBhcnNlciBlcnJvciBmYWN0b3JpbmcKKworU3VuIFNlcCAxNCAyMTo1MzozOSBQRFQgMjAwMyBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogSFRNTHRyZWUuYzogRml4ZWQgYnVnIDEyMTM5NCAtIG1pc3NpbmcgbnMgb24gYXR0cmlidXRlcworCitTdW4gU2VwIDE0IDIxOjQzOjMyIENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlci5jIGluY2x1ZGUvbGlieG1sL3htbGVycm9yLmg6IGZhY3RvcmluZyBvZiBtb3JlIAorCSAgZXJyb3IgaGFuZGxpbmcgY29kZSwgc2VyaW91cyBzaXplIHJlZHVjdGlvbiBhbmQgbW9yZSBsaXNpYmlsaXR5CisJICBvZiB0aGUgcmVzdWx0aW5nIGNvZGUuCisJKiBwYXJzZXJJbnRlcm5hbHMuYyBwYXJzZXIuYyBpbmNsdWRlL2xpYnhtbC9wYXJzZXJJbnRlcm5hbHMuaAorCSAgaW5jbHVkZS9saWJ4bWwvcGFyc2VyLmg6IGNoYW5naW5nIHRoZSB3YXkgVkM6UHJvcGVyIEdyb3VwL1BFIE5lc3RpbmcKKwkgIGNoZWNrcyBhcmUgZG9uZSwgdXNlIGEgY291bnRlciBmb3IgZW50aXRpZXMuIEVudGl0aWVzIHdoZXJlIGZyZWVkIGFuZAorCSAgcmVhbGxvY2F0ZWQgYXQgdGhlIHNhbWUgYWRkcmVzcyBmYWlsaW5nIHRoZSBjaGVjay4KKwkqIHRyZWUuYzogYXZvaWQgYSB3YXJuaW5nCisJKiByZXN1bHQvdmFsaWQvKiByZXN1bHQvVkMvKjogdGhpcyBzbGlnaHRseSBjaGFuZ2VzIHNvbWUgdmFsaWRhdGlvbgorCSAgZXJyb3IgbWVzc2FnZXMuCisKK1N1biBTZXAgMTQgMTE6MDM6MjcgUERUIDIwMDMgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIHZhbGlkLmM6IGZpeGVkIGJ1ZyAxMjE3NTkgLSBlYXJseSBkZWNsYXJhdGlvbiBvZgorCSAgYXR0cmlidXRlLWxpc3QgaW4gZXh0ZXJuYWwgRFRECisKK1NhdCBTZXAgMTMgMTQ6NDI6MTEgQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcGFyc2VyLmMgaW5jbHVkZS9saWJ4bWwveG1sZXJyb3IuaDogc3RhcnRpbmcgY2xlYW5pbmcgdXAKKwkgIGVycm9yIGhhbmRsaW5nLCBmYWN0b3JpemUgZXJyb3IgcHJvY2Vzc2luZworCSogZG9jL3htbGxpbnQuaHRtbDogdXBkYXRlIG9mIHRoZSBwYWdlLCByZW1vdmUgLS1zZ21sCisKK1NhdCBTZXAgMTMgMDI6MTM6NTAgQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogTWFrZWZpbGUuYW0gRE9DQnBhcnNlci5jIHBhcnNlckludGVybmFscy5jIHRlc3REb2Nib29rLmMKKwkgIHhtbGxpbnQuYyBkb2MveG1sbGludC54bWwgZG9jL3htbGxpbnQuMTogcmVtb3ZpbmcgdGhlIAorCSAgYnJva2VuIHBzZXVkbyBTR01MIERvY0Jvb2sgcGFyc2VyIGNvZGUuCisKK0ZyaSBTZXAgMTIgMTc6MjQ6MTEgQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeHBhdGguYzogZml4IGEgcHJvYmxlbSB3aXRoIHN0cmNweSgpIGluIHhtbFhQYXRoRm9ybWF0TnVtYmVyKCkKKwkgIHZhbGdyaW5kIHBvaW50ZWQgb3V0IHRoZSBzdHJpbmdzIG92ZXJsYXBwZWQuIGNsZWFudXAgLgorCitGcmkgU2VwIDEyIDExOjQzOjEyIENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHRyZWUuYzogYXBwbGllZCBzcGVlZHVwIHRvIHhtbFNlYXJjaE5zKCkgYXMgc3VnZ2VzdGVkIGJ5CisJICBMdWNhIFBhZG92YW5pLiBDbGVhbmVkIHVwIHhtbFNlYXJjaE5zQnlIcmVmKCkgaW4gdGhlIHByb2Nlc3MKKwkgIGFwcGx5aW5nIHRoZSBzYW1lIHRyaWNrLgorCitGcmkgU2VwIDEyIDAxOjM2OjIwIENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlci5jIHBhcnNlckludGVybmFscy5jIHRyZWUuYyBpbmNsdWRlL2xpYnhtbC9wYXJzZXIuaAorCSAgaW5jbHVkZS9saWJ4bWwveG1sZXJyb3IuaDogYWRkaW5nIG5hbWVzcGFjZSBjaGVja2luZ3MKKwkgIHdoaWxlIG1ha2luZyBzdXJlIHRoZXkgc3RpbGwgcGFyc2UgYXMgd2VsbGZvcm1lZCBkb2N1bWVudHMuCisJICBBZGQgYW4gbnNXZWxsRm9ybWVkIHN0YXR1cyByZXBvcnQgdG8gdGhlIGNvbnRleHQsIGFuZCAKKwkgIHByb3ZpZGUgbmV3IGFwcHJvcHJpYXRlIGVycm9yIGNvZGVzLgorCSogTWFrZWZpbGUuYW0gcmVzdWx0L25hbWVzcGFjZXMvKiB0ZXN0L25hbWVzcGFjZXMvKjogYWRkIAorCSAgc3BlY2lmaWMgcmVncmVzc2lvbiB0ZXN0aW5nIGZvciB0aGUgbmV3IG5hbWVzcGFjZSBzdXBwb3J0CisJKiB0ZXN0L2F0dDUgcmVzdWx0L25vZW50L2F0dDUgcmVzdWx0L2F0dDUgcmVzdWx0L2F0dDUuc2F4OgorCSAgYWRkIG1vcmUgY292ZXJhZ2UgZm9yIHRoZSBhdHRyaWJ1dGUgcGFyc2luZyBhbmQgbm9ybWFsaXphdGlvbgorCSAgY29kZS4KKworRnJpIFNlcCAxMiAwMTozNDoxOSBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB0aHJlYWRzLmM6IGJhY2twb3J0IG9mIGEgdGhyZWFkIGJ1Z2ZpeCBmcm9tIDJfNV9YIGJyYW5jaAorCitUaHUgU2VwIDExIDE4OjI5OjE4IENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlci5jOiBmaXhlZCBhIGJ1ZyBpbiBvbmUgY29ybmVyIGNhc2Ugb2YgYXR0cmlidXRlIHBhcnNpbmcuCisKK1RodSBTZXAgMTEgMTY6MjE6NTMgQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogY29uZmlndXJlLmluIGRvYy8qIDogMi42LjBiZXRhMSBjaGFuZ2VzCisJKiBTQVgyLmMgaGFzaC5jIHBhcnNlci5jIHBhcnNlckludGVybmFscy5jOiBGaXhpbmcgYXR0cmlidXRlCisJICBub3JtYWxpemF0aW9uLCBtaWdodCBub3QgYmUgdG90YWxseSBmaXhlZCBidXQgdGhpcyBzaG91bGQgCisJICBtYWtlIHN1cmUgU0FYIGV2ZW50IHByb3ZpZGUgdGhlIHJpZ2h0IHN0cmluZ3MgZm9yIGF0dHJpYnV0ZXMKKwkgIGV4Y2VwdCBlbnRpdGllcyBmb3Igd2hpY2ggbGlieG1sMiBpcyBkaWZmZXJlbnQgYnkgZGVmYXVsdAorCSAgVGhpcyBzaG91bGQgZml4ICMxMDk1NjQKKwkqIHJlc3VsdC9hdHRyaWIueG1sLnNheCByZXN1bHQvZW50My5zYXggcmVzdWx0L3AzcC5zYXg6IG1pbm9yIGNoYW5nZXMKKwkgIGluIGF0dHJpYnV0ZSBjYWxsYmFjayB2YWx1ZXMKKwkqIHJlc3VsdC9jMTRuL3dpdGgtY29tbWVudHMvZXhhbXBsZS00CisJICByZXN1bHQvYzE0bi93aXRob3V0LWNvbW1lbnRzL2V4YW1wbGUtNDogdGhpcyBhbHNvIGZpeGVzIGEgc3VidGxlCisJICBidWcgaW4gdGhlIGNhbm9uaWNhbGl6YXRpb24gdGVzdHMuCisKK1dlZCBTZXAgMTAgMTI6Mzg6NDQgQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCVRpbWUgdG8gY29tbWl0IDMgZGF5cyBvZiB3b3JrIHJld3JpdGluZyB0aGUgcGFyc2VyIGludGVybmFsLAorCWZpeGluZyBidWdzIGFuZCBtaWdyYXRpbmcgdG8gU0FYMiBpbnRlcmZhY2UgYnkgZGVmYXVsdC4gVGhlcmUKKwlpcyBzb21lIHdvcmsgbGV0ZiBUT0RPLCBsaWtlIG5hbWVzcGFjZSB2YWxpZGF0aW9uIGFuZCBhdHRyaWJ1dGVzCisJbm9ybWFsaXphdGlvbiAodGhpcyBicmVhayBDMTROIHJpZ2h0IG5vdykKKwkqIE1ha2VmaWxlLmFtOiBmaXhlZCB0aGUgdGVzdCBydWxlcworCSogaW5jbHVkZS9saWJ4bWwvU0FYMi5oIGluY2x1ZGUvbGlieG1sL3BhcnNlci5oCisJICBpbmNsdWRlL2xpYnhtbC9wYXJzZXJJbnRlcm5hbHMuaCBTQVgyLmMgcGFyc2VyLmMKKwkgIHBhcnNlckludGVybmFscy5jOiBjaGFuZ2luZyB0aGUgcGFyc2VyLCBtaWdyYXRpbmcgdG8gU0FYMiwKKwkgIGFkZGluZyBuZXcgaW50ZXJmYWNlIHRvIHN3aXRjaCBiYWNrIHRvIFNBWDEgb3IgaW5pdGlhbGl6ZSBhCisJICBTQVggYmxvY2sgZm9yIHYxIG9yIHYyLiBNb3N0IG9mIHRoZSBuYW1lc3BhY2Ugd29yayBpcyBkb25lCisJICBiZWxvdyBTQVgsIGFzIHdlbGwgYXMgYXR0cmlidXRlIGRlZmF1bHRpbmcKKwkqIGdsb2JhbHMuYzogY2hhbmdlZCBpbml0aWFsaXphdGlvbiBvZiB0aGUgZGVmYXVsdCBTQVggaGFuZGxlcnMKKwkqIGhhc2guYyB0cmVlLmMgaW5jbHVkZS9saWJ4bWwvaGFzaC5oOiBhZGRlZCBRTmFtZSBzcGVjaWZpYyBoYW5kbGluZworCSogeG1sSU8uYzogc21hbGwgZml4CisJKiB4bWxsaW50LmMgdGVzdFNBWC5jOiBwcm92aWRlIGEgLS1zYXgxIHN3aXRjaCB0byB0ZXN0IHRoZSBvbGQKKwkgIHZlcnNpb24gY29kZSBwYXRoCisJKiByZXN1bHQvcDNwIHJlc3VsdC9wM3Auc2F4IHJlc3VsdC9ub2VudC9wM3AgdGVzdC9wM3A6IHRoZSBuZXcgY29kZQorCSAgcG9pbnRlZCBvdXQgYSB0eXBvIGluIGEgdmVyeSBvbGQgdGVzdCBuYW1lc3BhY2UKKworU3VuIFNlcCAgNyAxOTo1ODozMyBQVEQgMjAwMyBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogeG1sSU8uYyBpbmNsdWRlL2xpYnhtbC94bWxJTy5oIHBhcnNlci5jOiBJbXBsZW1lbnRlZCBkZXRlY3Rpb24KKwkgIG9mIGNvbXByZXNzZWQgZmlsZXMsIHNldHRpbmcgZG9jLT5jb21wcmVzc2VkIGFwcHJvcHJpYXRlbHkKKwkgIChidWcgIzEyMDUwMykuCisKK1N1biBTZXAgIDcgMjI6NTM6MDYgQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcGFyc2VyLmM6IHRyeSB0byBjb3BlIHdpdGggdGhlIGZhY3QgdGhhdCBhcHBzIG1heSBzdGlsbAorCSAgaGF2ZSBhbGxvY2F0ZWQgc21hbGxlciBTQVggY2FsbGJhayBibG9jaworCitTdW4gU2VwICA3IDExOjExOjQ1IENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGRpY3QuYzogYWxsb3cgdG8gZ2l2ZSAtMSBmb3IgdW5kZWZpbmVkIGxlbmd0aCBpbiBsb29rdXBzCisJKiBpbmNsdWRlL2xpYnhtbC9wYXJzZXIuaCBwYXJzZXIuYyBwYXJzZXJJbnRlcm5hbHMuYyB0ZXN0U0FYLmM6CisJICBmaXJzdCByb3VuZCBvZiB3b3JrIG9uIHRoZSBuZXcgU0FYMiBpbnRlcmZhY2VzLCB0aGUgQVBJCisJICB3aWxsIGNoYW5nZSBidXQgY29tbWl0aW5nIGJlZm9yZSBjaGFuZ2luZyBmb3IgaGlzdG9yaWNhbAorCSAgcmVmZXJlbmNlLgorCitTYXQgU2VwICA2IDEwOjU1OjAxIFBURCAyMDAzIFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiBTQVgyLmMsIHhtbElPLmM6IGZpeGVkIGJ1ZyAjMTIxMjEwIChjYWxsYmFjayB0byBzYXgtPmVycm9yLAorCSAgc2F4LT53YXJuaW5nIHdpdGggd3JvbmcgcGFyYW1zKS4KKworRnJpIFNlcCAgNSAxMDozMzo0MiBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBpbmNsdWRlL2xpYnhtbC9nbG9iYWxzLmg6IHBhdGNoIGZyb20gU3TDqXBoYW5lIEJpZG91bCB0byBleHBvcnQKKwkgIGdsb2JhbHMgZW50cnkgcG9pbnRzIHRvIHRoZSBweXRob24gYmluZGluZ3MKKworV2VkIFNlcCAgMyAxNToyNDo0MSBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBIVE1McGFyc2VyLmM6IHdoZW4gY3JlYXRpbmcgYSBET0NUWVBFIHVzZSAiaHRtbCIgbG93ZXJjYXNlCisJICBieSBkZWZhdWx0IGluc3RlYWQgb2YgIkhUTUwiCisJKiBwYXJzZXIuYyB4bWxyZWFkZXIuYzogb3B0aW1pemF0aW9uLCBnYWluIGEgZmV3ICUgcGFyc2luZyBzcGVlZCBieQorCSAgYXZvaWRpbmcgY2FsbHMgdG8gImFyZUJsYW5rcyIgd2hlbiBub3QgbmVlZGVkLgorCSogaW5jbHVkZS9saWJ4bWwvcGFyc2VyLmggaW5jbHVkZS9saWJ4bWwvdHJlZS5oOiBzb21lIHN0cnVjdHVyZQorCSAgZXh0ZW5zaW9ucyBmb3IgZnV0dXJlIHdvcmsgb24gdXNpbmcgcGVyLWRvY3VtZW50IGRpY3Rpb25hcmllcy4KKworV2VkIFNlcCAgMyAxNTowODowNiBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBNYWtlZmlsZS5hbSByZXN1bHRzLyouc2F4IFNBWFJlc3VsdC8qOiByZW1vdmluZyB0aGUgU0FYcmVzdWx0cworCSAgdHJlZSwga2VlcGluZyByZXN1bHQgaW4gdGhlIHNhbWUgdHJlZSwgYWRkZWQgU0FYdGVzdHMgdG8gdGhlCisJICBkZWZhdWx0ICJtYWtlIHRlc3RzIgorCitUdWUgU2VwICAyIDE1OjU5OjA0IENFU1QgMjAwMyBJZ29yIFpsYXRrb3ZpYyA8aWdvckB6bGF0a292aWMuY29tPgorCisJKiBpbmNsdWRlL2xpYnhtbC94bWxleHBvcnRzLmg6IGRlZmluZWQgYWRkaXRpb25hbCBtYWNyb3Mgd2hpY2gKKwkgIGFmZmVjdCBleHBvcnRzIGFuZCBhZGRlZCBtaW5ndyBzZWN0aW9uCisKK01vbiBTZXAgIDEgMTU6MTU6MTggUERUIDIwMDMgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIGRvYy9pbmRleC5weTogZml4ZWQgcHJvYmxlbSBwYXJzaW5nIHhodG1sIGRvY3MKKwkqIGRvYy94bWxyZWFkZXIuaHRtbCxkb2MvZ3VpZGVsaW5lcy5odG1sOiBzbWFsbCBtb2RpZmljYXRpb24KKwkgIHRvIGF2b2lkIHByb2JsZW0gaW4gcHl0aG9uIHBhcnNpbmcuCisJKiBkb2Mvc2VhcmNoLnBocDogZml4ZWQgdXBwZXIgY2FzZSBmaWxlbmFtZSBwcm9ibGVtIGZvciBYU0xUIGRvY3MKKworTW9uIFNlcCAgMSAyMjo1NTowOSBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4aW5jbHVkZS5jOiBwYXRjaCBmcm9tIE1hcmsgVmFrb2MgdGhhdCBhbGxvd3MgY29tcGlsaW5nIAorCSAgd2l0aCBYSW5jbHVkZSBidXQgd2l0aG91dCBYUG9pbnRlciBzdXBwb3J0LgorCitNb24gU2VwICAxIDIyOjMxOjM4IENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGNvbmZpZ3VyZS5pbiB4bWwyLWNvbmZpZy5pbjogQXBwbGllZCBhIHBhdGNoIGZyb20gS2V2aW4gUC4gRmxlbWluZworCSAgdG8gYWRkIC0tbGlidG9vbC1saWJzIG9wdGlvbiB0byB4bWwyLWNvbmZpZyBzY3JpcHQuCisKK1N1biBBdWcgMzEgMjE6NTI6MTIgUERUIDIwMDMgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIGRvYy9SRUFETUUuZG9jcywgZG9jL01ha2VmaWxlLmFtOiBuZXcgZmlsZSBhZGRlZCwKKwkgIGdpdmluZyBzb21lIGRlc2NyaXB0aW9uIG9mIHRoZSBkb2N1bWVudGF0aW9uIGdlbmVyYXRpb24gcHJvY2VzcworCSogZG9jL3NlYXJjaC5waHA6IGZpeGVkIHByb2JsZW0gd2l0aCB1cHBlciBjYXNlIG9uIGZpbGVuYW1lcworCitGcmkgQXVnIDI5IDEyOjI1OjAxIENFU1QgMjAwMyBJZ29yIFpsYXRrb3ZpYyA8aWdvckB6bGF0a292aWMuY29tPgorCisJKiB3aW4zMi9NYWtlZmlsZS5iY2I6IHVwZGF0ZXMgYnkgRXJpYyBadXJjaGVyCisKK1RodSBBdWcgMjggMjI6NTg6MzggUERUIDIwMDMgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIGRvYy9hcGlidWlsZC5weSwgZG9jL2xpYnhtbDItYXBpLnhtbDogZW5oYW5jZWQgY29kZQorCSAgdG8gY29tcGVuc2F0ZSBmb3IgcG9sbHV0aW9uIGZyb20gSWdvcidzIGhlYWRlciB0YWludAorCSAgKHF1aWNrIGJlZm9yZSBEYW5pZWwgbm90aWNlcykKKworVGh1IEF1ZyAyOCAyMzowMTozNiBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBTQVgyLmM6IGZpeGVkIGEgbmFtZXNwYWNlIGVycm9yIG9uIGF0dHJpYnV0ZSByZXBvcnRpbmcgYnVnCisJICBwb2ludGVkIG91dCBieSBUb2JpYXMgUmVpZgorCSogdGVzdC9wM3AgcmVzdWx0L3AzcCByZXN1bHQvbm9lbnQvcDNwOiB0aGlzIHRlc3QgY2FzZSB3YXMgd3JvbmcKKwkgIHVzaW5nIHhtbHNuIGluc3RlYWQgb2YgeG1sbnMuLi4KKworVGh1IEF1ZyAyOCAxODoyNTowNyBDRVNUIDIwMDMgSWdvciBabGF0a292aWMgPGlnb3JAemxhdGtvdmljLmNvbT4KKworCSogaW5jbHVkZS9saWJ4bWwvZ2xvYmFscy5oIGluY2x1ZGUvbGlieG1sL3htbGV4cG9ydHMuaDogZml4ZWQKKwkgIHR5cG9zIHJlcG9ydGVkIGJ5IE1hcmsgVmFrb2MKKworVGh1IEF1ZyAyOCAwODo1OTo1MSBNRFQgMjAwMyBKb2huIEZsZWNrIDxqZmxlY2tAaW5rc3RhaW4ubmV0PgorCisJYWRkOgorCSogZG9jL3R1dG9yaWFsL2FwaS5odG1sCisJKiBkb2MvdHV0b3JpYWwvYXIwMXMwOS5odG1sCisJKiBkb2MvdHV0b3JpYWwvaW5jbHVkZXhwYXRoLmMKKwl1cGRhdGVkCisJKiBkb2MvdHV0b3JpYWwvKi5odG1sCisJZml4IG15IGJhZCAtIGZvcmdvdCB0byBjaGVjayBpbiBuZXcgZmlsZXMgd2hlbiBJIGxhc3QKKwl1cGRhdGVkCisKK1RodSBBdWcgMjggMTQ6MzE6MTMgQ0VTVCAyMDAzIElnb3IgWmxhdGtvdmljIDxpZ29yQHpsYXRrb3ZpYy5jb20+CisKKwkqIHdpbjMyL01ha2VmaWxlLmJjYjogbmV3IGZpbGUsIHN1cHBvcnQgZm9yIEJvcmxhbmQgQysrCisJKiB4bWxsaW50LmM6IGZpeGVkIHRpbWUgaW5jbHVzaW9uIGZvciB2YXJpb3VzIGNvbXBpbGVycworCitUaHUgQXVnIDI4IDEyOjMyOjU5IENFU1QgMjAwMyBJZ29yIFpsYXRrb3ZpYyA8aWdvckB6bGF0a292aWMuY29tPgorCisJKiBwYXJzZXIuYyBwYXJzZXJJbnRlcm5hbHMuYyBET0NCcGFyc2VyLmMgSFRNTHBhcnNlci5jOiBhZGRlZAorCSAgZmV3IGNhc3RzIHRvIHNodXQgdGhlIGNvbXBpbGVyIHdhcm5pbmdzCisKK1RodSBBdWcgMjggMTI6MjM6NTEgQ0VTVCAyMDAzIElnb3IgWmxhdGtvdmljIDxpZ29yQHpsYXRrb3ZpYy5jb20+CisKKwkqIHdpbjMyL01ha2VmaWxlLiogd2luMzIvY29uZmlndXJlLmpzOiBmaXhlZCBmb3IgbWluZ3cKKworVGh1IEF1ZyAyOCAxMDowMTo0NCBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBnbG9iYWxzLmMgdGhyZWFkcy5jOiBmaXhpbmcgYnVnICMxMjA4NzAgdHJ5IHRvIGF2b2lkIHByb2JsZW0KKwkgIHdpdGggdW5pbml0aWFsaXplZCBtdXRleGVzCisKK1dlZCBBdWcgMjcgMTY6MTI6NDEgQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcmVsYXhuZy5jOiBmaXhlZCBhbiBlcnJvciByZXBvcnRpbmcgYnVnIGluIFJlbGF4LU5HIHdoZW4gd2UgZW5kCisJICB1cCB3aXRoIG11bHRpcGxlIHN0YXRlcywgc2VsZWN0IHRoZSAiYmVzdCIgb25lLiBGaXggIzEyMDY4MgorCSogcmVzdWx0L3JlbGF4bmcvdHV0b3IxMV8yXzMuZXJyOiBzbWFsbCBjaGFuZ2UgcmVzdWx0aW5nIAorCitXZWQgQXVnIDI3IDExOjI1OjI1IENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbHNjaGVtYXN0eXBlcy5jOiBhcHBsaWVkIGJhc2U2NCBzdXBwb3J0IHBhdGNoIGZyb20gQW50aG9ueSBDYXJyaWNvCisKK1dlZCBBdWcgMjcgMTA6NTg6NTEgQ0VTVCAyMDAzIElnb3IgWmxhdGtvdmljIDxpZ29yQHpsYXRrb3ZpYy5jb20+CisKKwkqIGluY2x1ZGUvbGlieG1sL1t0aHJlYWRzLXhwb2ludGVyXS5oOiByZWFsaWduZWQgcGFyYW1ldGVycworCSAgYWZ0ZXIgdGFpbnQKKworV2VkIEF1ZyAyNyAwOTo1OTo1NCBDRVNUIDIwMDMgSWdvciBabGF0a292aWMgPGlnb3JAemxhdGtvdmljLmNvbT4KKworCSogaW5jbHVkZS9saWJ4bWwveG1sZXhwb3J0cy5oOiBmaXhlZCBkZWZzIGZvciBCb3JsYW5kIGNvbXBpbGVyLAorCSAgYXMgcmVwb3J0ZWQgYnkgRXJpYyBadXJjaGVyCisKK1R1ZSBBdWcgMjYgMTU6NTQ6MDQgQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcmVsYXhuZy5jOiBmaXhlZCBidWcgIzEyMDM4NiBhZ2FpbiBhIHByb2JsZW0gaW50cm9kdWNlZCB3aGVuCisJICB0cnlpbmcgdG8gcmV1c2UgYXV0b21hdGEgZm9yIGNvbnRlbnQgdmFsaWRhdGlvbi4gRml4IGEgYnVnIHJlcG9ydAorCSAgcHJvYmxlbSBvbiB6ZXJvT3JNb3JlCisJKiByZXN1bHQvcmVsYXhuZy90dXRvcjNfN19lcnI6IGNoYW5nZSBzbGlnaHRseSBlcnJvciByZXBvcnRpbmcuCisKK01vbiBBdWcgMjUgMTM6MjQ6NTcgQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogaW5jbHVkZS9saWJ4bWwvTWFrZWZpbGUuYW06IG1ha2Ugc3VyZSB0aGUgbmV3IGhlYWRlciB3aWxsCisJICBiZSBpbmNsdWRlZCB3aGVuIGdlbmVyYXRpbmcgYSBuZXcgZGlzdHJpYnV0aW9uLgorCitNb24gQXVnIDI1IDEyOjM3OjA1IENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHJlbGF4bmcuYzogZml4ZWQgYSBjb3VwbGUgb2Ygc3R1cGlkIGJ1Z3MgaW4gdGhlIHN0YXRlIGFsbG9jYXRpb24KKwkgIHJvdXRpbmVzIHdoaWNoIGxlZCB0byBidWcgIzEyMDA0MCBhbmQgdGhlIG9uZXMgcmVwb3J0ZWQgYnkKKwkgIE1hcnRpam4gRmFhc3NlbgorCitNb24gQXVnIDI1IDEyOjM3OjIzIENFU1QgMjAwMyBJZ29yIFpsYXRrb3ZpYyA8aWdvckB6bGF0a292aWMuY29tPgorCisJKiBpbmNsdWRlL2xpYnhtbC9wYXJzZXJJbnRlcm5hbHMuaCBpbmNsdWRlL2xpYnhtbC9yZWxheG5nLmgKKwkgIGluY2x1ZGUvbGlieG1sL1NBWC5oIGluY2x1ZGUvbGlieG1sL1NBWDIuaDogcmVhbGlnbmVkIHRoZQorCSAgcGFyYW1ldGVycyBhZnRlciB0YWludC4KKworTW9uIEF1ZyAyNSAxMToxNjowMSBDRVNUIDIwMDMgSWdvciBabGF0a292aWMgPGlnb3JAemxhdGtvdmljLmNvbT4KKworCSogaW5jbHVkZS9saWJ4bWwveG1sdmVyc2lvbi5oLmluOiBtb3ZlZCBleHBvcnQgZGVmcyB0byBhIHNlcGFyYXRlCisJICBmaWxlIGZvciBjb25zaXN0ZW5jeS4KKwkqIGluY2x1ZGUvbGlieG1sL3htbGV4cG9ydHMuaDogbmV3IGZpbGUsIGNvbnRhaW5zIGV4cG9ydCBkZWZzLgorCitNb24gQXVnIDI1IDExOjAxOjQ5IENFU1QgMjAwMyBJZ29yIFpsYXRrb3ZpYyA8aWdvckB6bGF0a292aWMuY29tPgorCisJKiBpbmNsdWRlL2xpYnhtbC8qLmggZ2VuVW5pY29kZS5weTogZXhwb3J0YWJpbGl0eSB0YWludAorCSAgb2YgdGhlIGhlYWRlcnMuCisKK1RodSBBdWcgMjEgMTI6Mzc6NDYgQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogU0FYLmM6IG1ha2UgdGhlIGRlcHJlY2F0ZWQgaW50ZXJmYWNlcyBsb2cgYW4gZXJyb3IgbWVzc2FnZQorCSAgdG8gYmUgc3VyZSBpdCB3b24ndCBnZXQgdXNlZC4KKworVGh1IEF1ZyAyMSAwMDo1MDozMiBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBNYWtlZmlsZS5hbSBTQVgyLmMgaW5jbHVkZS9saWJ4bWwvTWFrZWZpbGUuYW0gaW5jbHVkZS9saWJ4bWwvU0FYMi5oOgorCSAgQWRkaW5nIG5ldyB2ZXJzaW9uIG9mIHRoZSBTQVggaW50ZXJmYWNlLCBpdCdzIG5vdCB0aGVyZSB5ZXQsCisJICBjdXJyZW50bHkganVzdCBwcmVwYXJpbmcgdGhlIHdvcmsKKwkqIGdsb2JhbHMuYyBwYXJzZXIuYyBTQVguYyBpbmNsdWRlL2xpYnhtbC9TQVguaCAKKwkgIGluY2x1ZGUvbGlieG1sL2dsb2JhbHMuaCBpbmNsdWRlL2xpYnhtbC9wYXJzZXIuaDogZG9pbmcgc29tZQorCSAgcmVmYWN0b3Jpbmcgb2YgdGhlIFNBWHYxIGludGVyZmFjZXMsIG9ic29sZXRpbmcgYSBidW5jaCBvZiB0aGVtCisJICB3aGlsZSBrZWVwaW5nIGZ1bmN0aW9uYWxpdGllcywgcHJlcGFyaW5nIFNBWDIgaW50ZWdyYXRpb24uCisJKiBkaWN0LmM6IHNtYWxsIGNsZWFudXAuCisKK1dlZCBBdWcgMjAgMDA6MjA6MDEgQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogdHJlZS5jOiBmaXhlcyBhIHNtYWxsIGJ1ZyBpbnRyb2R1Y2VkIGluIGxhc3QgY29tbWl0IGFuZCBkZXRlY3RlZAorCSAgYnkgdmFsZ3JpbmQuCisKK1R1ZSBBdWcgMTkgMTY6NTQ6MTggQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZGljdC5jIGhhc2guYzogb3B0aW1pemF0aW9uIHdoZW4gZnJlZWluZyBoYXNoIHRhYmxlcy4KKwkqIHBhcnNlci5jIHhtbElPLmMgaW5jbHVkZS9saWJ4bWwvdHJlZS5oOiBzb21lIHR1bmluZyBvZiBidWZmZXIKKwkgIGFsbG9jYXRpb25zCisJKiBwYXJzZXIuYyBwYXJzZXJJbnRlcm5hbHMuYyBpbmNsdWRlL2xpYnhtbC9wYXJzZXIuaDoga2VlcCBhCisJICBzaW5nbGUgYWxsb2NhdGVkIGJsb2NrIGZvciBhbGwgdGhlIGF0dHJpYnV0ZXMgY2FsbGJhY2tzLAorCSAgYXZvaWQgdXNlbGVzcyBtYWxsb2MoKS9mcmVlKCkKKwkqIHRyZWUuYzogZG8gbm90IHJlYWxsb2MoKSB3aGVuIGdyb3dpbmcgYSBidWZmZXIgaWYgdGhlIGJ1ZmZlcgorCSAgYWluJ3QgZnVsbCwgbWFsbG9jL21lbWNweS9mcmVlIGF2b2lkIGNvcHlpbmcgbWVtb3J5LgorCitNb24gQXVnIDE4IDE4OjM3OjAxIENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbGxpbnQuYyBkb2MveG1sbGludC54bWwgZG9jL3htbGxpbnQuMTogYWRkZWQgb3B0aW9uCisJICAtLWR0ZHZhbGlkZnBpIGZvciBUb2JpYXMgUmVpZgorCitNb24gQXVnIDE4IDE0OjAzOjAzIENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGRpY3QuYyBpbmNsdWRlL2xpYnhtbC9kaWN0LmggTWFrZWZpbGUuYW0gaW5jbHVkZS9saWJ4bWwvTWFrZWZpbGUuYW06CisJICBuZXcgZGljdGlvbmFyeSBtb2R1bGUgdG8ga2VlcCBhIHNpbmdsZSBpbnN0YW5jZSBvZiB0aGUgbmFtZXMgdXNlZAorCSAgYnkgdGhlIHBhcnNlcgorCSogRE9DQnBhcnNlci5jIEhUTUxwYXJzZXIuYyBwYXJzZXIuYyBwYXJzZXJJbnRlcm5hbHMuYyB2YWxpZC5jOgorCSAgc3dpdGNoZWQgYWxsIHBhcnNlcnMgdG8gdXNlIHRoZSBkaWN0aW9uYXJ5IGludGVybmFsbHkKKwkqIGluY2x1ZGUvbGlieG1sL0hUTUxwYXJzZXIuaCBpbmNsdWRlL2xpYnhtbC9wYXJzZXIuaAorCSAgaW5jbHVkZS9saWJ4bWwvcGFyc2VySW50ZXJuYWxzLmggaW5jbHVkZS9saWJ4bWwvdmFsaWQuaDoKKwkgIFNvbWUgb2YgdGhlIGludGVyZmFjZXMgY2hhbmdlZCBhcyBhIHJlc3VsdCB0byByZWNlaXZlIG9yIHJldHVybgorCSAgImNvbnN0IHhtbENoYXIgKiIgaW5zdGVhZCBvZiAieG1sQ2hhciAqIiwgdGhpcyBpcyBlaXRoZXIKKwkgIGluc2lnbmlmaWNhbnQgZnJvbSBhbiB1c2VyIHBvaW50IG9mIHZpZXcgb3Igd2hlbiB0aGUgcmV0dXJuaW5nCisJICB2YWx1ZSBjaGFuZ2VkLCB0aG9zZSBmdW5jdGlvbiBhcmUgcmVhbGx5IHBhcnNlciBpbnRlcm5hbCBtZXRob2RzCisJICB0aGF0IG5vIHVzZXIgY29kZSBzaG91bGQgcmVhbGx5IGNoYW5nZQorCSogZG9jL2xpYnhtbDItYXBpLnhtbCBkb2MvaHRtbC8qOiB0aGUgQVBJIGludGVyZmFjZSBjaGFuZ2VkIGFuZAorCSAgdGhlIGRvY3Mgd2VyZSByZWdlbmVyYXRlZAorCitTdW4gQXVnIDE3IDIzOjA1OjM4IENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlci5jOiBhcHBsaWVkIHBhdGNoIHRvIHhtbENsZWFudXBQYXJzZXIgZnJvbSBEYXZlIEJlY2tldHQKKworU2F0IEF1ZyAxNiAyMjo1Mzo0MiBIS1QgMjAwMyBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogZG9jL3BhcnNlZGVjbC5weSwgZG9jL2xpYnhtbDItcmVmcy54bWwsIGRvYy9BUEkqLmh0bWw6CisJICBmaXhlZCBwYXJ0ICgyKSBvZiBidWcgMTE5NTM1ICh3cm9uZyBhbHBoYSBjYXNlIG9uIGZpbGVuYW1lcykKKworU2F0IEF1ZyAxNiAyMDozNToyOCBIS1QgMjAwMyBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogZG9jL0FQSSouaHRtbCwgZG9jL2h0bWwvKjogcmVnZW5lcmF0ZWQgQVBJIGRvY3VtZW50YXRpb24KKwkgIGZvciB4bWxzb2Z0Lm9yZyAocGFydCBvZiBCdWcgMTE5NTM1KQorCitGcmkgQXVnIDE1IDE0OjU4OjM3IEhLVCAyMDAzIFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiBlbmNvZGluZy5jLCB0aHJlYWRzLmMsIGluY2x1ZGUvbGlieG1sL0hUTUxwYXJzZXIuaCwKKwkgIGRvYy9saWJ4bWwyLWFwaS54bWw6IE1pbm9yIGNoYW5nZXMgdG8gY29tbWVudHMsIGV0Yy4gZm9yCisJICBpbXByb3ZpbmcgZG9jdW1lbnRhdGlvbiBnZW5lcmF0aW9uCisJKiBkb2MvTWFrZWZpbGUuYW06IGZ1cnRoZXIgYWRqdXN0bWVudCB0byBhdXRvLWdlbmVyYXRpb24gb2YKKwkgIHdpbjMyL2xpYnhtbDIuZGVmLnNyYworCitGcmkgQXVnIDE1IDAyOjI0OjIwIENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIE5ld3MgY29uZmlndXJlLmluOiBwcmVwYXJpbmcgbGlieG1sMi0yLjUuMTAgcmVsZWFzZQorCSogZG9jLyogOiB1cGRhdGVkIHRoZSBkb2MgYW5kIHJlYnVpbHQKKworRnJpIEF1ZyAxNSAwMTo1NTo1MyBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBwYXJzZXIuYzogZml4aW5nIHRoZSB4bWxTQVhQYXJzZURURCBidWcgIzExOTUzNiByYWlzZWQgYnkKKwkgIE1hbGNvbG0gVHJlZGlubmljayB3aXRoIHRoZSBwYXRjaCBoZSBzdWdnZXN0ZWQuCisKK0ZyaSBBdWcgMTUgMDE6Mzc6MTAgQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogSFRNTHBhcnNlci5jOiBhbGxvY2F0aW9uIGVycm9yICMxMTk3ODQgcmFpc2VkIGJ5IE9saXZlciBTdG9lbmViZXJnCisKK0ZyaSBBdWcgMTUgMDA6NDE6NTggQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogdXJpLmM6IGZpeGluZyBhbiB1c2Ugb2Ygc3RyY3B5KCkgd2hlcmUgYm90aCBzdHJpbmdzIG92ZXJsYXAKKwkgIHBvaW50ZWQgb3V0IGJ5IHZhbGdyaW5kLgorCitUaHUgQXVnIDE0IDE3OjEwOjM5IENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIERPQ0JwYXJzZXIuYyBnbG9iYWxzLmMgaW5jbHVkZS9saWJ4bWwveG1sbWVtb3J5Lmg6IGdldCByaWQgb2YKKwkgIHNvbWUgY29tcGlsYXRpb24gd2FybmluZ3MuCisJKiB4aW5jbHVkZS5jOiBmaXggdGhlIHBlcmZvcm1hbmNlIHByb2JsZW0gcmVwb3J0ZWQgYnkgS2V2aW4gUnVzY29lCisJICBwbHVzIHNvbWUgY2xlYW51cCBhbmQgYmV0dGVyIGVycm9yIHJlcG9ydGluZy4KKworVGh1IEF1ZyAxNCAxNDoxMzo0MyBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBlbmNvZGluZy5jOiBhcHBsaWVkIFVURi0xNiBlbmNvZGluZyBoYW5kbGluZyBwYXRjaCBwcm92aWRlZCBieQorCSAgTWFyayBJdHpjb3ZpdHoKKwkqIGVuY29kaW5nLmMgcGFyc2VyLmM6IG1vcmUgY2xlYW51cCBhbmQgZml4ZXMgZm9yIFVURi0xNiB3aGVuIAorCSAgbm90IGhhdmluZyBpY29udiBzdXBwb3J0LgorCitUaHUgQXVnIDE0IDAzOjE5OjA4IENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIE1ha2VmaWxlLmFtIGNvbmZpZ3VyZS5pbiBleGFtcGxlL01ha2VmaWxlLmFtIGxpYnhtbC5oIG5hbm9mdHAuYworCSAgbmFub2h0dHAuYyB4bWxsaW50LmM6IEFwcGxpZWQgcGF0Y2ggZnJvbSBNaWtoYWlsIEdydXNoaW5za2l5IGZvcgorCSAgbWluZ3cgY29tcGlsZXIgb24gV2luZG93cy4KKworVGh1IEF1ZyAxNCAwMjoyODozNiBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBwYXJzZXIuYzogZml4ZWQgdGhlIHNlcmlvdXMgQ1BVIHVzYWdlIHByb2JsZW0gcmVwb3J0ZWQgYnkKKwkgIEdyYW50IEdvb2RhbGUKKwkqIEhUTUxwYXJzZXIuYzogYXBwbGllZCBwYXRjaCBmcm9tIE9saXZlciBTdG9lbmViZXJnIGFib3V0IGEgZnJlZQorCSAgbWlzc2luZyBpbiBodG1sU0FYUGFyc2VEb2MKKworVHVlIEF1ZyAxMiAyMjo0ODoxMCBIS1QgMjAwMyBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogZG9jL01ha2VmaWxlLmFtOiBSZW1vdmVkIGRlcGVuZGVuY3kgZnJvbSBsaWJ4bWwyLmRlZi5zcmMKKworVHVlIEF1ZyAxMiAxODo1NTowOCBIS1QgMjAwMyBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogYXV0b2dlbi5zaDogdG9vayBhd2F5IHRoZSByZXF1aXJlbWVudCBmb3IgYXV0b21ha2UtMS40LAorCSAgY2hhbmdlZCB0aGUgbWVzc2FnZXMgZm9yIGdldHRpbmcgYXV0byogdG9vbHMgdG8gY3VycmVudAorCSAgZ251IHBhZ2VzLgorCSogY29uZmlndXJlLmluOiBhZGRlZCBjaGVjayBmb3IgTGludXggRGVjIGFscGhhIHJlcXVpcmluZworCSAgLWllZWUgZmxhZywgZml4ZWQgdGVzdCBmb3IgaXB2NgorCSogdHJpb25hbi5jOiBmaXhlZCBwcm9ibGVtIGZvciBjb21waWxpbmcgb24gTGludXggRGVjIGFscGhhCisJICB1c2luZyBuYXRpdmUgY29tcGlsZXIKKwkqIGRvYy9NYWtlZmlsZS5hbTogaW1wbGVtZW50ZWQgcmVnZW5lcmF0aW9uIG9mIHdpbjMyL2xpYnhtbDIuZGVmLnNyYworCSAgd2hlbmV2ZXIgbGlieG1sMi1hcGkueG1sIGlzIGNoYW5nZWQuCisKK01vbiBBdWcgMTEgMTc6MDI6MjMgQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcGFyc2VyLmM6IGNsZWFuaW5nIHVwIGEgcHJvYmxlbSB3aGVuIHBhcnNpbmcgVVRGLTE2IGFuZCBsaWJpY29udgorCSAgaXMgbm90IHVzZWQuCisKK1N1biBBdWcgMTAgMDg6MTM6MjIgSEtUIDIwMDMgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIHdpbjMyL2xpYnhtbDIuZGVmLnNyYzogcmVuZXJhdGVkIHdpdGggZml4ZWQgbGlieG1sMi1hcGkueG1sCisKK1N1biBBdWcgMTAgMDA6MjI6NTUgQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogTmV3cyBjb25maWd1cmUuaW46IHByZXBhcmluZyBsaWJ4bWwyLTIuNS45IHJlbGVhc2UKKwkqIGRvYy8qIDogdXBkYXRlZCB0aGUgZG9jIGFuZCByZWJ1aWx0CisKK1NhdCBBdWcgIDkgMjA6MDA6MTMgQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogaW5jbHVkZS9saWJ4bWwveG1scmVhZGVyLmggZG9jL2xpYnhtbDItYXBpLnhtbDogY2hhbmdpbmcgYW4gZW51bQorCSAgZGVmaW5pdGlvbiB0byBnZXQgYSBjb3JyZWN0IEFQSSBYTUwgZGVzY3JpcHRpb24uIFRoaXMgd2FzIGFwcGFyZW50bHkKKwkgIGJyZWFraW5nIFdpbmRvd3MgYnVpbGQuCisKK1NhdCBBdWcgIDkgMTM6NDE6MjEgQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogSFRNTHBhcnNlci5jOiBmaXhlZCBhIG5hc3R5IGJ1ZyAjMTE5Mzg3LCBiYWQgaGV1cmlzdGljIGZyb20KKwkgIHRoZSBwcm9ncmVzc2l2ZSBIVE1MIHBhcnNlciBmcm9udC1lbmQgb24gbGFyZ2UgY2hhcmFjdGVyIGRhdGEKKwkgIGlzbGFuZCBsZWFkaW5nIHRvIGFuIGVycm9uZW91cyBlbmQgb2YgZGF0YSBkZXRlY3Rpb24gYnkgdGhlCisJICBwYXJzZXIuIFNvbWUgY2xlYW51cCB0b28gdG8gZ2V0IGNsb3NlciBmcm9tIHRoZSBYTUwgcHJvZ3Jlc3NpdmUKKwkgIHBhcnNlci4KKworU2F0IEF1ZyAgOSAwMDo0Mjo0NyBIS1QgMjAwMyBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogd2luMzIvY29uZmlndXJlLmpzOiBBZGRlZCBpbiBzdXBwb3J0IGZvciB0aGUgSVNPODg1OVgKKwkgIG1vZHVsZSAocGF0Y2ggcHJvdmlkZWQgYnkgSmVzc2UgUGVsdG9uKQorCitGcmkgQXVnICA4IDE1OjU2OjMyIENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIEhUTUx0cmVlLmMgdHJlZS5jIHRocmVhZHMuYzogaHVtIHRyeSB0byBhdm9pZCBzb21lIHRyb3VibGVzCisJICB3aGVuIHRoZSBsaWJyYXJ5IGlzIG5vdCBpbml0aWFsaXplZCBhbmQgb25lIHRyeSB0byBzYXZlLCB0aGUgCisJICBsb2NrcyBpbiB0aHJlYWRlZCBlbnYgbWlnaHQgbm90IGJlZW4gaW5pdGlhbGl6ZWQsIHBsYXlpbmcgc2FmZQorCSogeG1sc2NoZW1hc3R5cGVzLmM6IGFwcGx5IHBhdGNoIGZvciBoZXhCaW5hcnkgZnJvbSBDaGFybGVzIEJvemVtYW4KKwkqIHRlc3Qvc2NoZW1hcy9oZXhiaW5hcnlfKiByZXN1bHQvc2NoZW1hcy9oZXhiaW5hcnlfKjogYWxzbyBhZGRlZAorCSAgaGlzIHRlc3RzIHRvIHRoZSByZWdyZXNzaW9uIHN1aXRlLgorCitGcmkgQXVnICA4IDE4OjQ3OjM4IEhLVCAyMDAzIFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiB3aW4zMi9kZWZnZW4ueHNsLCB3aW4zMi9saWJ4bWwyLmRlZi5zcmM6IEJ1ZyAxMTkzNDMKKwkgICh3aXRoIGFwb2xvZ2llcyB0byBJZ29yKSAtIEVuaGFuY2VkIGhhbmRsaW5nIG9mIGRvY2IgYW5kCisJICBuYW5vaHR0cC4KKworVGh1IEF1ZyAgNyAyMToxMzoyMiBIS1QgMjAwMyBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogZW5jb2RpbmcuYzogZnVydGhlciBzbWFsbCBjaGFuZ2VzIGZvciB3YXJuaW5ncyB3aGVuCisJICBjb25maWd1cmVkIHdpdGggLS13aXRoLWljb252PW5vCisKK1dlZCBBdWcgIDYgMTI6MzI6MTEgSEtUIDIwMDMgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIGVycm9yLmMgdHJpb25hbi5bY2hdIHRlc3RUaHJlYWRzLmMgcHl0aG9uL2dlbmVyYXRvci5weToKKwkgIGZ1cnRoZXIgc21hbGwgY2hhbmdlcyB0byBlbG1pbmF0ZSBtb3N0IG9mIHRoZSByZW1haW5pbmcKKwkgIHdhcm5pbmdzLgorCitUdWUgQXVnICA1IDIzOjUxOjIxIEhLVCAyMDAzIFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiBlcnJvci5jIEhUTUxwYXJzZXIuYyB0ZXN0QzE0Ti5jIHRlc3RIVE1MLmMgdGVzdFVSSS5jCisJICB4bWxjYXRhbG9nLmMgeG1sbWVtb3J5LmMgeG1scmVhZGVyLmMgeG1sc2NoZW1hc3R5cGVzLmMKKwkgIHB5dGhvbi9saWJ4bWwuYyBpbmNsdWRlL2xpYnhtbC94bWxtZW1vcnkuaDogc21hbGwgY2hhbmdlcworCSAgdG8gc3ludGF4IHRvIGdldCByaWQgb2YgY29tcGlsZXIgd2FybmluZ3MuICBObyBjaGFuZ2VzCisJICB0byBsb2dpYy4KKworTW9uIEF1ZyAgNCAyMjo0MDo1NCBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBkb2MvbGlieG1sMi1hcGkueG1sIGRvYy9odG1sLyo6IHJlYnVpbHQgdGhlIEFQSSBhbmQgZG9jcy4KKworTW9uIEF1ZyAgNCAyMTo0MDozNCBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB0cmVlLmM6IGZpeGVkIGEgc21hbGwgcHJvYmxlbSBpbiB0aGUgcGF0Y2ggZm9yICMxMTg3NjMKKwkqIHJlc3VsdC9IVE1ML2RvYzMuaHRtKjogdGhpcyByZXZlcnRzIGJhY2sgdG8gdGhlIHByZXZpb3VzIHJlc3VsdAorCitTdW4gQXVnICAzIDIxOjQxOjQ5IEVEVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZG9jL0ZBUS5odG1sIGRvYy94bWwuaHRtbDogYXBwbGllZCBkb2MgcGF0Y2ggdG8geG1sLmh0bWwKKwkgIGFuZCByZWJ1aWx0LCBhcHBhcmVudGx5IHNvbWUgQysrIHdyYXBwZXJzIGFyZSBub3QgYXZhaWxhYmxlLAorCSAgYy5mLiBidWcgIzExODk0MworCitTdW4gQXVnICAzIDIxOjMwOjMxIEVEVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogdHJlZS5jOiBmaXhpbmcgSFRNTCBhdHRyaWJ1dGUgc2VyaWFsaXphdGlvbiBidWcgIzExODc2MworCSAgYXBwbHlpbmcgYSBtb2RpZmllZCB2ZXJzaW9uIG9mIHRoZSBwYXRjaCBmcm9tIEJhY2VrCisJKiByZXN1bHQvSFRNTC9kb2MzLmh0bSo6IHRoaXMgbW9kaWZpZXMgdGhlIG91dHB1dCBmcm9tIG9uZSB0ZXN0CisKK1N1biBBdWcgIDMgMjE6MDI6MzAgRURUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB0cmVlLmMgaW5jbHVkZS9saWJ4bWwvdHJlZS5oOiBhZGRlZCBhIG5ldyBBUEkgdG8gc3BsaXQgYQorCSAgUU5hbWUgd2l0aG91dCBnZW5lcmF0aW5nIGFueSBtZW1vcnkgYWxsb2NhdGlvbgorCSogdmFsaWQuYzogZml4ZWQgYW5vdGhlciBwcm9ibGVtIHdpdGggbmFtZXNwYWNlcyBvbiBlbGVtZW50CisJICBpbiBtaXhlZCBjb250ZW50IGNhc2UKKwkqIHB5dGhvbi90ZXN0cy9yZWFkZXIyLnB5OiB1cGRhdGVkIHRoZSB0ZXN0Y2FzZSB3aXRoIAorCSAgQmpvcm4gUmVlc2UgZml4IHRvIHJlYWRlciBmb3IgdW5zaWduaWZpY2FudCB3aGl0ZSBzcGFjZQorCSogcGFyc2VyLmMgSFRNTHBhcnNlci5jOiBjbGVhbnVwLgorCitTdW4gQXVnICAzIDIwOjU1OjQwIEVEVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogY2F0YWxvZy5jOiB0cnlpbmcgdG8gZml4ICMxMTg3NTQgb2YgcG9zc2libGUgcmVjdXJzaW9uIGluIHRoZQorCSAgY2F0YWxvZ3MuIE5vdCBmYW50YXN0aWNhbGx5IGhhcHB5IGFib3V0IHRoZSBjdXJyZW50IGZpeCBzaW5jZQorCSAgaXQncyBsaWtlbHkgdG8gYnJlYWsgdW5kZXIgdmVyeSB0aHJlYWQgaW50ZW5zaXZlIGNvbmN1cnJlbnQKKwkgIGFjY2VzcyB0byB0aGUgY2F0YWxvZy4gQmV0dGVyIHNvbHV0aW9uIG1pZ2h0IHRvIGtlZXAgdGhlIGRlcHRoCisJICBhbiBleHRyYSBhcmd1bWVudCB0byB0aGUgcmVzb2x1dGlvbiBmdW5jdGlvbnMuCisKK1N1biBBdWcgIDMgMTg6NTY6NTQgRURUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB2YWxpZC5jOiBmaXhlZCBidWcgIzExODcxMiBhYm91dCBtaXhlZCBjb250ZW50LCBhbmQgbmFtZXNwYWNlZAorCSAgZWxlbWVudCBuYW1lcy4KKwkqIHRlc3QvdmFsaWQvbWl4ZWRfbnMueG1sIHJlc3VsdC92YWxpZC9taXhlZF9ucyo6IGFkZGVkIGEgY2hlY2sKKwkgIGluIHRoZSByZWdyZXNzaW9uIHRlc3RzCisKK0ZyaSBBdWcgMSAyMzo1NToyMyBIS1QgMjAwMyBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCUNvbmludWluZyB3b3JrIG9uIGJ1ZyAxMTg1NTkKKwkqIERPQ0JwYXJzZXIuYzogcmVtb3ZlZCAyIHVuc2VkIHZhcnMKKwkqIHhtbHJlZ2V4cC5jOiBjaGFuZ2VkIHNvbWUgbnVtZXJpYyBjb25zdCB0byB0aGVpciBlbnVtIHN5bWJvbHMKKwkqIHhtbHJlYWRlci5jOiBjaGFuZ2VkIG9uZSB2YXIgZGVmaW5lIGZyb20gaW50IHRvIGVudW0KKwkgIChhIGxpdHRsZSBtb3JlIHRvIGJlIGRvbmUsIGF3YWl0aW5nIGNvLW9yZGluYXRpb24pCisJKiByZWxheG5nLmM6IGRlbGV0ZWQgb25lIHVudXNlZCB2YXIKKwkqIHhtbGxpbnQuYzogZGVsZXRlZCBzb21lIHVudXNlZCB2YXJzLCBjaGFuZ2VkIG9uZSBhcmcKKwkgIHZhbCBmcm9tIGludCB0byBlbnVtCisJKiB0ZXN0SFRNTC5jLCB0ZXN0RG9jYm9vay5jOiBjaGFuZ2VkIHNvbWUgYXJnIHZhbHMgdG8gZW51bSBjb25zdAorCSogeG1sSU8uYzogZml4ZWQgdHlwbyBmcm9tIGxhc3QgbmlnaHQgKHNtYWxsIHdhcm5pbmcgbXNnKQorCitUaHUgSnVsIDMxIDIyOjQ0OjMzIEhLVCAyMDAzIFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJV29ya2luZyBvbiBidWcgMTE4NTU5CisJKiBlcnJvci5jOiBkZWxldGVkIHVudXNlZCB2YXJpYWJsZQorCSogcGFyc2VySW50ZXJuYWxzLmM6IGRlbGV0ZWQgdW5uZWVkZWQgJ2NvbnN0JyBxdWFsaWZpZXIKKwkqIHBhcnNlci5jOiBjaGFuZ2VkIHZhcmlhYmxlIHR5cGUgZm9yIGVudW0gdGVtcCBzdG9yYWdlCisJKiB4bWxJTy5jOiBjaGFuZ2VkIGRlYnVnZ2luZyB2YXIgdG8gYmUgaW5zaWRlICNpZmRlZgorCSogdmFsaWQuYzogcmVtb3ZlZCB1bnVzZWQgdmFyaWFibGUKKwkqIEhUTUxwYXJzZXIuYzogcmVtb3ZlZCBzb21lIHVubmVlZGVkICdjb25zdCcgcXVhbGlmaWVycworCSogeHBhdGguYzogYWRkZWQgc29tZSB0eXBlIGNhc3RzLCByZW1vdmVkIHNvbWUgdW51c2VkIHZhcnMKKwkqIHhpbmNsdWRlLmM6IGFkZGVkIG9uZSB0eXBlIGNhc3QKKwkqIG5hbm9odHRwLmM6IHJlcG9zaXRpb25lZCBzb21lICNpZmRlZiB0byBhdm9pZCB1bnVzZWQgdmFyCisJKiBuYW5vZnRwLmM6IHJlbW92ZWQgdW51c2VkIHZhcgorCitXZWQgSnVsIDMwIDE0OjU3OjU1IEVEVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogSFRNTHBhcnNlci5jOiBhcHBsaWVkIGEgcGF0Y2ggZnJvbSBXaWxsaWFtIEJyYWNrIGFib3V0CisJICB0aGUgcHJvYmxlbSBvZiBwYXJzaW5nIHZlcnkgbGFyZ2UgSFRNTCBpbnN0YW5jZSB3aXRoIGNvbW1lbnRzCisJICBhcyByYWlzZWQgYnkgTmljayBLZXcKKworV2VkIEp1bCAzMCAxMjoyOTozOCBFRFQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbHJlYWRlci5jIGluY2x1ZGUvbGlieG1sL3htbHJlYWRlci5oOiBhcHBseWluZyBjbGVhbnVwCisJICBwYXRjaCBmcm9tIEJqb3JuIFJlZXNlIGZvciB4bWxUZXh0UmVhZGVyTm9kZVR5cGUoKSBhbmQgCisJICBzaWduaWZpY2FudCB3aGl0ZXNwYWNlLiBUaGVyZSBpcyBhbiBlbnVtIGZvciBub2RlIHR5cGUKKwkgIHZhbHVlcyBub3cuCisKK1dlZCBKdWwgMzAgMTE6MDg6MjEgRURUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBlbmNvZGluZy5jOiBhcHBseWluZyBwYXRjaCBmcm9tIFBldGVyIEphY29iaSB0byBhZGRlZCAKKwkgIElTTy04ODU5LXggZW5jb2Rpbmcgc3VwcG9ydCB3aGVuIGljb252IGlzIG5vdCBhdmFpbGFibGUKKwkqIGNvbmZpZ3VyZS5pbiBpbmNsdWRlL2xpYnhtbC94bWx2ZXJzaW9uLmguaW4KKwkgIGluY2x1ZGUvbGlieG1sL3htbHdpbjMydmVyc2lvbi5oLmluOiBhZGRlZCB0aGUgZ2x1ZSBuZWVkZWQKKwkgIGF0IHRoZSBjb25maWd1cmUgbGV2ZWwgYW5kIG1hZGUgaXQgdGhlIGRlZmF1bHQgZm9yIFdpbmRvd3MKKworVHVlIEp1bCAyOSAxNjo0Mzo0OCBFRFQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHB5dGhvbi9nZW5lcmF0b3IucHkgcHl0aG9uL2xpYnhtbC5jIHB5dGhvbi9saWJ4bWwyY2xhc3MudHh0OgorCSAgcGF0Y2ggZnJvbSBKb2FjaGltIEJhdWNoICsgY2xlYW51cCBmb3IgUmVsYXggTkcgZXJyb3IgY2FsbGJhY2tzCisJICBpbiBweXRob24KKworVHVlIEp1bCAyOSAxMjo0NjowOCBFRFQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlci5jIHBhcnNlckludGVybmFscy5jIHRyZWUuYzogYXBwbGllZCBQZXRlciBKYWNvYmkgZW5jb2RpbmcKKwkgIGNsZWFudXAgcGF0Y2gsIGFuZCBhbHNvIGF2b2lkZWQgYSBwb3NzaWJsZSBtZW1vcnkgbGVhaworCitUdWUgSnVsIDI5IDA5OjI4OjA5IEVEVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZW5jb2RpbmcuYzogZml4IHRoZSBwcmV2aW91cyBjb21taXQKKworVHVlIEp1bCAyOSAxMjoyODoxNyBIS1QgMjAwMyBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogSFRNTHBhcnNlci5jOiBmaXhlZCBwcm9ibGVtIHdpdGggY29tbWVudHMgcmVwb3J0ZWQgYnkgTmljayBLZXcKKwkqIGVuY29kaW5nLmM6IGFkZGVkIHJvdXRpbmVzIHhtbFVURjhTaXplIGFuZCB4bWxVVEY4Q2hhcmNtcCBmb3IKKwkgIHNvbWUgZnV0dXJlIGNsZWFudXAgb2YgVVRGOCBoYW5kbGluZworCitNb24gSnVsIDI4IDE2OjM5OjE0IEVEVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeHBhdGguYzogYXBwbGllZCBhIGNoYW5nZSBzdWdnZXN0ZWQgYnkgU2VhbiBHcmlmZmluIGluIGJ1ZworCSAgIzExODQ5NCBhYm91dCBhIG1lbW9yeSBsZWFrIGluIEVYU0xUCisKK1N1biBKdWwgMjcgMTQ6MzA6NTYgRURUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiByZWxheG5nLmM6IGZpeGVkIGEgUmVsYXgtTkcgY29tcGlsYXRpb24vc3RyZWFtaW5nIGJ1ZyBpbnRyb2R1Y2VkCisJICB3aGVuIGZpeGluZyB0aGUgcHJldmlvdXMgUmVsYXgtTkcgYnVncworCSogcmVzdWx0L3JlbGF4bmcvKjogVGhpcyBzbGlnaHRseSBjaGFuZ2VzIHRoZSBvdXRwdXQgbWVzc2FnZXMgb2YKKwkgIHNvbWUgcmVncmVzc2lvbiB0ZXN0cy4KKwkqIGNvbmZpZ3VyZS5pbjogYWRkZWQgc3VwcG9ydCBvZiAtd2l0aC1mZXhjZXB0aW9ucyBmb3IgbmVzdGVkIEMrKworCSAgc3VwcG9ydC4KKworVGh1IEp1bCAyNCAxNTo0NjowMiBNRFQgMjAwMyBKb2huIEZsZWNrIDxqZmxlY2tAaW5rc3RhaW4ubmV0PgorCisJKiBkb2MvdHV0b3JpYWwvYXBhLmh0bWwKKwkqIGRvYy90dXRvcmlhbC9hcGIuaHRtbAorCSogZG9jL3R1dG9yaWFsL2FwYy5odG1sCisJKiBkb2MvdHV0b3JpYWwvYXBkLmh0bWwKKwkqIGRvYy90dXRvcmlhbC9hcGUuaHRtbAorCSogZG9jL3R1dG9yaWFsL2FwZi5odG1sCisJKiBkb2MvdHV0b3JpYWwvYXBnLmh0bWwKKwkqIGRvYy90dXRvcmlhbC9hcGguaHRtbAorCSogZG9jL3R1dG9yaWFsL2FyMDFzMDIuaHRtbAorCSogZG9jL3R1dG9yaWFsL2FyMDFzMDMuaHRtbAorCSogZG9jL3R1dG9yaWFsL2FyMDFzMDQuaHRtbAorCSogZG9jL3R1dG9yaWFsL2FyMDFzMDUuaHRtbAorCSogZG9jL3R1dG9yaWFsL2FyMDFzMDYuaHRtbAorCSogZG9jL3R1dG9yaWFsL2FyMDFzMDcuaHRtbAorCSogZG9jL3R1dG9yaWFsL2FyMDFzMDguaHRtbAorCSogZG9jL3R1dG9yaWFsL2luZGV4Lmh0bWwKKwkqIGRvYy90dXRvcmlhbC9peDAxLmh0bWwKKwkqIGRvYy90dXRvcmlhbC94bWx0dXRvcmlhbC5wZGYKKwkqIGRvYy90dXRvcmlhbC94bWx0dXRvcmlhbC54bWwKKwl1cGRhdGUgdHV0b3JpYWwgd2l0aCBYUGF0aCBleGFtcGxlCisKK1RodSBKdWwgMjQgMTc6MDc6MDYgSVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBTQVguYyBwYXJzZXIuYzogZml4aW5nIGEgYnVnIGFib3V0IGEgc3BlY2lhbCBjYXNlIG9mIG5hbWVzcGFjZQorCSAgaGFuZGxpbmcsIHRoaXMgY2xvc2VzIGJ1ZyAjMTE2ODQxCisKK1dlZCBKdWwgMjMgMjA6NTI6MzYgSVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiByZWxheG5nLmMgcmVzdWx0L3JlbGF4bmcvKjogY2hlY2tlZCBhbmQgZml4ZWQgdGhlIGNvbXBpbGF0aW9uCisJICBvZiBSTkcgc2NoZW1hcywgZml4ZXMgYSBjb3VwbGUgb2YgYnVncyAjMTE3MDk3IGFuZCAjMTE3MDAxIC4KKwkgIFRoaXMgc2xpZ2h0bHkgY2hhbmdlcyB0aGUgb3V0cHV0IG1lc3NhZ2VzIG9mIHNvbWUgcmVncmVzc2lvbiB0ZXN0cy4KKworV2VkIEp1bCAyMyAxNToxNTowOCBJU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbHJlYWRlci5jOiBmaXhlZCBhbiBvdXQgb2YgYm91bmQgZXJyb3IgIzExODA1MiAsIHRoZSBnb29kCisJICBwYXJ0IGlmIHRoYXQgYmFzZTY0IGNvZGUgd2FzIG5vdCBpbiB1c2UgeWV0IC4uLgorCitUdWUgSnVsIDIyIDE5OjQyOjE1IE1EVCAyMDAzIEpvaG4gRmxlY2sgPGpmbGVja0BpbmtzdGFpbi5uZXQ+CisKKwkqIGRvYy94bWxsaW50Lmh0bWwKKwlpbmNsdWRlIGh0bWwgdmVyc2lvbiBvZiB0aGUgeG1sbGludCBtYW4gcGFnZSwgc28gYW4KKwl1cC10by1kYXRlIHZlcnNpb24gaXMgdmlzaWJsZSBvbiB0aGUgV2ViCisKK01vbiBKdWwgMjEgMjE6NTM6NDMgSVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4aW5jbHVkZS5jIGluY2x1ZGUvbGlieG1sL3hpbmNsdWRlLmg6IGFkZGVkIGEgbmV3IEFQSQorCSAgeG1sWEluY2x1ZGVQcm9jZXNzVHJlZSgpIHRvIHByb2Nlc3MgWEluY2x1ZGUgb25seSBvbiBhIHN1YnRyZWUKKwkgIHRoaXMgc2hvdWxkIGZpeCBidWcgIzExNTM4NQorCitGcmkgSnVsIDE4IDE3OjExOjQyIENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHJlbGF4bmcuYyBpbmNsdWRlL2xpYnhtbC9yZWxheG5nLmg6IGFkZGluZyBHZXQgaW50ZXJmYWNlIGZvcgorCSAgdGhlIGVycm9yIGNhbGxiYWNrIGFuZCBwYXJhbWV0ZXJzIG9mIHBhcnNpbmcgYW5kIHZhbGlkYXRpb24KKwkgIGNvbnRleHRzCisJKiB4bWxyZWFkZXIuYzogcGF0Y2ggdG8gZml4IGJ1ZyAjMTE3NzAyIGFib3V0IGluY29tcGxldGUgUmVhZCgpCisJICBvbiB0ZXh0IG5vZGVzLgorCitXZWQgSnVsIDE2IDIzOjE1OjUzIENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlckludGVybmFscy5jOiBwYXRjaCBmcm9tIERvZGppIFNla2V0ZWxpIGFib3V0IFVURjE2IEJPTQorCSAgd2hlbiB1c2luZyB0aGUgcHVzaCBYTUwgcGFyc2VyLgorCSogcmVzdWx0L3V0ZjE2Ym9tLnhtbCByZXN1bHQvbm9lbnQvdXRmMTZib20ueG1sIHRlc3QvdXRmMTZib20ueG1sOgorCSAgYWRkZWQgdGhlIHRlc3QgdG8gdGhlIHJlZ3Jlc3Npb24gc3VpdGUuCisKK1R1ZSBKdWwgMTUgMjI6MDM6MTMgQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZ2xvYmFscy5jOiBhZGQgeG1sVGhyRGVmTXV0ZXggPSBOVUxMIGluIHhtbENsZWFudXBHbG9iYWxzKCkgCisJICBhcyBzdWdnZXN0ZWQgYnkgUm9iIFJpY2hhcmRzCisKK1R1ZSBKdWwgMTUgMTU6MzA6NTUgQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogRE9DQnBhcnNlci5jIEhUTUxwYXJzZXIuYyBlbnRpdGllcy5jIHBhcnNlci5jIHJlbGF4bmcuYyAKKwkgIHhtbHNjaGVtYXMuYyB4cGF0aC5jOiByZW1vdmVkIHNvbWUgd2FybmluZ3MgYnkgY2FzdGluZyB4bWxDaGFyCisJICB0byB1bnNpZ25lZCBpbnQgYW5kIGEgY291cGxlIG9mIG90aGVycy4KKworRnJpIEp1bCAxMSAxNjo0NDoyMiBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxzY2hlbWFzdHlwZXMuYzogZml4ZXMgYSBzZWdmYXVsdCBvbiBlbXB0eSBoZXhCaW5hcnkgc3RyaW5ncworCitUaHUgSnVsIDEwIDE2OjAyOjQ3IENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIG5hbm9mdHAuYyBuYW5vaHR0cC5jOiBjbGVhbnVwIHBhdGNoZXMgZnJvbSBQZXRlciBCcmVpdGVubG9obmVyCisKK1R1ZSBKdWwgIDggMTY6MDI6MTkgQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZ2xvYmFscy5jIHRocmVhZHMuYzogZml4ZXMgc29tZSBwcm9ibGVtIHdoZW4gZnJlZWluZyB1bml0aXRpYWxpemVkCisJICBtdXRleGVzCisKK1R1ZSBKdWwgIDggMTQ6MTU6MDcgQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogbmFub2Z0cC5jIG5hbm9odHRwLmM6IHRoZSBtb2R1bGVzIHNob3VsZCBub3QgaW1wb3J0IDxjb25maWcuaD4KKwkgIGRpcmVjdGx5LCBzb21lIGNsZWFudXBzCisJKiB4bWxzY2hlbWFzLmM6IFBldGVyIFNvYmlzY2ggZm91bmQgYSBuYXN0eSBidWcgaW4gdGhlIFNjaGVtYXMKKwkgIHZhbGlkYXRpb24gY29kZS4KKworTW9uIEp1bCAgNyAxODowMDo1MSBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB3aW4zMi9jb25maWd1cmUuanM6IEplc3NlIFBlbHRvbiBwb2ludGVkIG91dCBhIHByb2JsZW0gaW4gdGhlCisJICBqYXZhc2NyaXB0IGNvZGUuCisKK01vbiBKdWwgIDcgMTY6Mzk6MzEgQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogTkVXUyBkb2MvKjogcmVnZW5lcmF0ZWQKKwkqIG5hbm9mdHAuYyBuYW5vaHR0cC5jOiBtaWdodCBmaXggaW5jbHVkZXMgcHJvYmxlbXMgd2l0aCB0aGUKKwkgIElwdjYgc3VwcG9ydCBvbiBzb2xhcmlzCisJKiB0cmVlLmM6IHBhdGNoIGZyb20gTWFya3VzIEtlaW0gYWJvdXQgeG1sSGFzTnNQcm9wKCkgb24gYXR0cmlidXRlcworCSAgZGVmaW5lZCBhcyAjSU1QTElFRAorCitTdW4gSnVsICA2IDIzOjA5OjEzIENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGNvbmZpZ3VyZS5pbiBkb2MvKjogcHJlcGFyaW5nIHJlbGVhc2UgMi41LjgKKwkqIG5hbm9odHRwLmM6IGNoYW5nZWQgc29tZSBwcmVwcm9jZXNzb3IgYmxvY2sKKwkqIHhtbHNjaGVtYXN0eXBlcy5jOiBhcHBsaWVkIHBhdGNoIGZyb20gQ2hhcmxlcyBCb3plbWFuIGFkZGluZworCSAgaGV4QmluYXJ5IHNjaGVtYSBkYXRhdHlwZSBhbmQgYWRkaW5nIHN1cHBvcnQgZm9yIHRvdGFsRGlnaXRzIGFuZAorCSAgZnJhY3Rpb25EaWdpdHMgZmFjZXRzLgorCitTdW4gSnVsICA2IDE5OjU2OjE4IENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGRlYnVnWE1MLmMgeHBhdGguYzogZml4ZWQgMiBidWdzIHBvaW50ZWQgaW4gIzExNjQ0OAorCitTdW4gSnVsICA2IDE5OjM0OjE3IENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhpbmNsdWRlLmM6IGZpeGVkIGJ1ZyAjMTE2MDk1IHJlbW92aW5nIHRoZSBlcnJvciBtZXNzYWdlIHdoZW4KKwkgIHJlYXBwbHlpbmcgWEluY2x1ZGUgdG8gYSBkb2N1bWVudC4KKworU2F0IEp1bCAgNSAyMjo0MDoyMyBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxJTy5jOiBhcHBsaWVkIHNtYWxsIGNoYW5nZXMgdG8gcG9ydGFiaWxpdHkgbGF5ZXIgZm9yIAorCSAgY29tcGlsYXRpb24gb24gREpHUFAgTXMtRE9TIGNvbXBpbGVyLgorCitTYXQgSnVsICA1IDIyOjMwOjI1IENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlci5jIEhUTUxwYXJzZXIuYzogdXNlIHRoZSBjaGFyYWN0ZXIoKSBTQVggY2FsbGJhY2sKKwkgIGlmIHRoZSBjZGF0YUJsb2NrIGFpbid0IGRlZmluZWQuCisJKiB4cGF0aC5jOiBmaXggYnVnICMxMTUzNDkgYWxsb3dpbmcgY29tcGlsYXRpb24gd2hlbiBjb25maWd1cmVkCisJICB3aXRoIC0td2l0aG91dC14cGF0aCBzaW5jZSB0aGUgU2NoZW1hcyBjb2RlIG5lZWRzIE5BTiBhbmQgY28uCisKK1NhdCBKdWwgNSAwMDo1MTozMCBIS1QgMjAwMyBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCUZpeGVkIHByb2JsZW0gd2l0aCBtdWx0aS10aHJlYWRpbmcsIHNob3duIGJ5IHRoZSB0ZXN0IHByb2dyYW0KKwl0ZXN0VGhyZWFkcy4gIEFmdGVyIGZpeCwgcmFuIG11dGlwbGUgdGVzdHMgb24gdmFyaW91cyBzcGVlZAorCW1hY2hpbmVzIChzaW5nbGUgYW5kIGR1YWwgcHJvY2Vzc29yIFg4NiksIHdoaWNoIGFsbCBzZWVtIG9rYXkuCisKKwkqIGNhdGFsb2cuYzogYWRkZWQgbWlzc2luZyB4bWxSTXV0ZXhVbmxvY2sgaW4geG1sTG9hZENhdGFsb2cKKworCSogdGhyZWFkcy5jOiBhZGRlZCBtaXNzaW5nIGluaXRpYWxpc2F0aW9uIGZvciBjb25kaXRpb24gdmFyaWFibGUKKwkgIGluIHhtbE5ld1JNdXRleC4KKworU2F0IEp1biAyMSAxNjoxMDoyNCBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJQXBwbHlpbmcgSVB2NiBwYXRjaCBmcm9tIEFyY2hhbmEgU2hhaCA8YXJjaGFuYS5zaGFoQHdpcHJvLmNvbT4KKwljbG9zaW5nIGJ1ZyAjMTE0ODM3CisKKwkqIGNvbmZpZ3VyZS5pbjogQWRkZWQgY2hlY2tzIGZvciBJUHY2IHN1cHBvcnQgYW5kIGdldGFkZHJpbmZvKCkuCisKKwkqIGFjY29uZmlnLmg6IERlZmluZWQgSEFWRV9HRVRBRERSSU5GTyBhbmQgU1VQUE9SVF9JUDYuCisKKwkqIGNvbmZpZy5oLmluOiBEZWZpbmVkIEhBVkVfR0VUQUREUklORk8gYW5kIFNVUFBPUlRfSVA2LgorCisJKiBuYW5vZnRwLmM6IFN0cnVjdHVyZSB4bWxOYW5vRlRQQ3R4dCBjb250YWlucyBlaXRoZXIgc29ja2FkZHJfc3RvcmFnZQorCSAgZmllbGQgb3Igc29ja2FkZHJfaW4gZmllbGQsIGRlcGVuZGluZyB1cG9uIHRoZSBhdmFpbGFiaWxpdHkgb2YgSVB2NgorCSAgc3VwcG9ydC4KKwkgIGhhdmVfaXB2NigpOiBBZGRlZCB0byBjaGVjayBmb3IgcnVuLXRpbWUgSVB2NiBzdXBwb3J0LgorCSAgKHhtbE5hbm9GVFBTY2FuVVJMKSwgKHhtbE5hbm9GVFBVcGRhdGVVUkwpLCAoeG1sTmFub0ZUUFNjYW5Qcm94eSk6CisJICBNb2RpZmllZCB0byBwYXJzZSBhIFVSSSB3aXRoIElQdjYgYWRkcmVzcyBnaXZlbiBpbiBbXS4KKwkgICh4bWxOYW5vRlRQQ29ubmVjdCk6IENoYW5nZWQgdG8gdXNlIGdldGFkZHJpbmZvIGZvciBhZGRyZXNzCisJICByZXNvbHV0aW9uLCBpZiBpdCBpcyBhdmFpbGFibGUgb24gdGhlIHN5c3RlbSwgYXMgZ2V0aG9zdGJ5bmFtZQorCSAgZG9lcyBub3QgcmV0dXJuIElQdjYgYWRkcmVzc2VzIG9uIHNvbWUgcGxhdGZvcm1zLgorCSAgKHhtbE5hbm9GVFBHZXRDb25uZWN0aW9uKTogTW9kaWZpZWQgdHlwZSBvZiBkYXRhQWRkciB2YXJpYWJsZSB0bworCSAgc29ja2FkZHJfc3RvcmFnZSBvciBzb2NrYWRkcl9pbiBkZXBlbmRpbmcgdXBvbiB0aGUgSVB2NiBzdXBwb3J0LgorCSAgU2VuZGluZyBFUFNWLCBFUFJUIG9yIFBBU1YsIFBPUlQgZGVwZW5kaW5nIHVwb24gdGhlIHR5cGUgb2YgYWRkcmVzcworCSAgd2UgYXJlIGRlYWxpbmcgd2l0aC4KKworCSogbmFub2h0dHAuYzogKGhhdmVfaXB2Nik6IEFkZGVkIHRvIGNoZWNrIGZvciBydW4tdGltZSBJUHY2IHN1cHBvcnQuCisJICAoeG1sTmFub0hUVFBTY2FuVVJMKSwgKHhtbE5hbm9IVFRQU2NhblByb3h5KTogTW9kaWZpZWQgdG8gcGFyc2UKKwkgIGEgVVJJIHdpdGggSVB2NiBhZGRyZXNzIGdpdmVuIGluIFtdLgorCSAgKHhtbE5hbm9IVFRQQ29ubmVjdEhvc3QpOiBNb2RpZmllZCB0byB1c2UgZ2V0YWRkcmluZm8gaWYgaXQgaXMKKwkgIGF2YWlsYWJsZSBvbiB0aGUgc3lzdGVtLiBBbHNvIElQdjYgYWRkcmVzc2VzIHdpbGwgYmUgcmVzb2x2ZWQgYnkKKwkgIGdldGhvc3RieW5hbWUgb25seSBpZiBJUHY2IHJ1bi10aW1lIHN1cHBvcnQgaXMgYXZhaWxhYmxlLgorCSAgKHhtbE5hbm9IVFRQQ29ubmVjdEF0dGVtcHQpOiBNb2RpZmllZCB0byBkZWFsIHdpdGggSVB2NiBhZGRyZXNzLgorCitTYXQgSnVuIDE0IDE4OjQ2OjUxIENFU1QgMjAwMyBJZ29yIFpsYXRrb3ZpYyA8aWdvckB6bGF0a292aWMuY29tPgorCisJKiB3aW4zMi9jb25maWd1cmUuanMgaW5jbHVkZS93aW4zMmNvbmZpZy5oIAorCSAgaW5jbHVkZS9saWJ4bWwveG1sdmVyc2lvbi5oLmluOiBBcHBsaWVkIHRoZSBwYXRjaCBmb3IgQkNCCisJICBieSBFcmljIFp1cmNoZXIuCisKK0ZyaSBKdW4gMTMgMTQ6Mjc6MTkgQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZG9jL01ha2VmaWxlLmFtIGRvYy9odG1sLyo6IHJldmVydGVkIGJhY2sgcGF0Y2ggZm9yICMxMTM1MjEsCisJICBkdWUgdG8gIzExNTEwNCBhbmQgd2hpbGUgZml4aW5nICMxMTUxMDEgLiBIVE1MIFVSTHMgbXVzdCBub3QKKwkgIGJlIHZlcnNpb24gZGVwZW5kYW50LgorCitGcmkgSnVuIDEzIDEyOjAzOjMwIENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGVudGl0aWVzLmM6IGRvIG5vdCBnZW5lcmF0ZSAmcXVvdDsgZm9yICIgb3V0c2lkZSBvZiBhdHRyaWJ1dGVzCisJKiByZXN1bHQvLyo6IHRoaXMgY2hhbmdlcyB0aGUgb3V0cHV0IG9mIHNvbWUgdGVzdHMKKworTW9uIEp1biAgOSAxMjoyODo1OCBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBwYXJzZXIuYyB4bWxJTy5jOiB0cnlpbmcgdG8gZml4ICMxMTQyNzcgYWJvdXQgd2hlbiBmaWxlCisJICByZW1hcHBpbmcgYW5kIGVzY2FwaW5nIHNob3VsZCByZWFsbHkgYmUgYXR0ZW1wdGVkLgorCitNb24gSnVuICA5IDExOjA2OjA5IENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGRvYy8qOiBhcHBsaWVkIGEgcGF0Y2ggZnJvbSBHbWFuIGZvciBidWlsZGluZyBkb2NzCisJKiB2YWxpZC5jIHhtbGxpbnQuYyBpbmNsdWRlL2xpYnhtbC92YWxpZC5oOiBhcHBsaWVkIGEgcGF0Y2ggZnJvbQorCSAgR2FyeSBQZW5uaW5ndG9uIHRvIHByb3ZpZGUgYW4gYWxsb2NhdG9yIGZvciB4bWxWYWxpZEN0eHQKKwkqIHhtbHJlYWRlci5jOiBhcHBsaWVkIHBhdGNoIGZyb20gSmFjZWsgS29uaWVjem55IGZpeGluZyBidWcKKwkgICMxMTM1ODAgYWJvdXQgZGF0YSBub3QgYmVpbmcgcGFzc2VkIGltbWVkaWF0ZWx5LgorCitUaHUgSnVuICA1IDExOjMxOjAyIENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHRyZWUuYzogYXBwbGllZCBhIGNvdXBsZSBvZiBwYXRjaGVzIGZyb20gTWFyayBJdHpjb3ZpdHoKKwkgIHRvIGhhbmRsZSBzYXZpbmcgYmFjayAiVVRGLTE2IiBkb2N1bWVudHMuCisKK01vbiBKdW4gIDIgMjE6NTY6MTUgTVZUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiByZWxheG5nLmMgeG1sc2NoZW1hcy5jIGluY2x1ZGUvbGlieG1sL3NjaGVtYXNJbnRlcm5hbHMuaDogY29tbWl0aW5nCisJICBzb21lIHdvcmsgZG9uZSB3aGlsZSBpbiB0aGUgTWFsZGl2ZXMgKGhlbmNlIHRoZSB0aW1lem9uZSBvbiB0aGUKKwkgIGxhcHRvcCAhKQorCSogcmVzdWx0L3NjaGVtYXMvbGVuZ3RoMyogdGVzdC9zY2hlbWFzL2RldGVyMF8qCisJICB0ZXN0L3NjaGVtYXMvZ3JvdXAwXyo6IHNvbWUgdGVzdHMgYWRkZWQgdG9vCisKK01vbiBKdW4gIDIgMTU6MzQ6MTcgQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZW5jb2RpbmcuYzogc21hbGwgZml4CisJKiB4bWxJTy5jOiBmaXhlZCBhbiBlcnJvciBtZXNzYWdlCisKK1R1ZSBNYXkgMjAgMTQ6MjE6MjMgQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcGFyc2VySW50ZXJuYWxzLmM6IGZpeGluZyBSZWQgSGF0IGJ1ZyAjOTEwMTMgd2hlcmUgeG1sbGludCB3YXMKKwkgIGFjY2VwdGluZyBhbiBpbXByb3BlciBVVEY4IHNlcXVlbmNlCisKK1NhdCBNYXkgMTcgMTI6NTM6MTEgQ0VTVCAyMDAzIElnb3IgWmxhdGtvdmljIDxpZ29yQHpsYXRrb3ZpYy5jb20+CisKKwkqIHRocmVhZHMuYzogYXBwbGllZCB0aGUgcGF0Y2ggZnJvbSBTdMOpcGhhbmUgQmlkb3VsIGZvciBnZXR0aW5nCisJICByaWQgb2YgZXh0cmEgdGhyZWFkcyBpbiBhIGR5bmFtaWMgbGlicmFyeS4KKwkqIHdpbjMyL2NvbmZpZ3VyZS5qczogdGhyZWFkcyBkZWZhdWx0IHRvICduYXRpdmUnIG5vdy4KKworRnJpIE1heSAxNiAxMzoxNzo1MiBFRFQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIEhUTUx0cmVlLmM6IGZpeGluZyAgYnVnICMxMTI5MDQ6IGh0bWwgb3V0cHV0IG1ldGhvZCBlc2NhcGVkCisJICBwbHVzIHNpZ24gY2hhcmFjdGVyIGluIFVSSSBhdHRyaWJ1dGUuCisKK1RodSBNYXkgMTUgMTg6MDY6MTggRURUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBidWlsZF9nbG9iLnB5IGdsb2JhbC5kYXRhIGdsb2JhbHMuYyBwYXJzZXIuYworCSAgaW5jbHVkZS9saWJ4bWwvZ2xvYmFscy5oOiBwYXRjaCBmcm9tIFN0w6lwaGFuZSBCaWRvdWwgZm9yIHNldHRpbmcKKwkgIHVwIHRocmVhZHMgZ2xvYmFsIGRlZmF1bHRzLgorCSogZG9jL2xpYnhtbDItYXBpLnhtbDogdGhpcyBleHRlbmRzIHRoZSBBUEkgd2l0aCBuZXcgZnVuY3Rpb25zCisJKiBweXRob24vdGVzdHMvTWFrZWZpbGUuYW0gcHl0aG9uL3Rlc3RzL3JlYWRlcjIucHkKKwkgIHB5dGhvbi90ZXN0cy90aHJlYWQyLnB5OiBpbnRlZ3JhdGVkIHRoZSBhc3NvY2lhdGVkIHRlc3RjYXNlIGFuZAorCSAgZml4ZWQgdGhlIGVycm9yIHN0cmluZyB1c2VkIGluIHJlYWRlcjIKKworV2VkIE1heSAxNCAxNDo1Njo0NiBFRFQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGNvbmZpZ3VyZS5pbiBsaWJ4bWwuc3BlYy5pbiBweXRob24vTWFrZWZpbGUuYW06IHRyeWluZworCSAgdG8gY29uY2lsaWF0ZSAtLXdpdGgtcHl0aG9uPSByZXF1aXJlbWVudHMgYW5kIFJQTSBidWlsZHMsCisJICBhIFBJVEEgcmVhbGx5Li4uCisKK1R1ZSBNYXkgMTMgMTg6MzA6MzQgRURUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBIVE1McGFyc2VyLmM6IG9vcHMgbGFzdCBjb21taXQgaW50cm9kdWNlZCBhIG1lbW9yeSBsZWFrLgorCitUdWUgTWF5IDEzIDE4OjEwOjM4IEVEVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sbGludC5jIGRvYy94bWxsaW50LnhtbDogYWRkZWQgLS1ub25ldCBvcHRpb24KKwkqIGRvYy9NYWtlZmlsZS5hbTogZml4aW5nICMxMTI4MDMgYnkgYWRkaW5nIC0tbm9uZXQgd2hlbiBjYWxsaW5nCisJICB4c2x0cHJvYyBvciB4bWxsaW50CisJKiBkb2MveG1sbGludC54bWwgZG9jL3htbGxpbnQuMTogYWxzbyBhZGRlZCAtLXNjaGVtYSBkb2MgYW5kCisJICByZWJ1aWx0CisJKiBIVE1McGFyc2VyLmM6IGNsZWFuZWQgdXAgdGhlIEhUTUwgcGFyc2VyIGNvbnRleHQgYnVpbGQgd2hlbiAKKwkgIHVzaW5nIGFuIFVSTAorCitUdWUgTWF5IDEzIDE2OjM1OjA0IEVEVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogbGlieG1sLnNwZWMuaW46IGFkZGVkIGEgY29tbWVudCBhYm91dCBidWcgIzExMjkwMiAKKworTW9uIE1heSAxMiAyMTo1ODowMCBFRFQgMjAwMyBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogbWlub3IgY2xlYW51cCBvZiBjb25maWd1cmUgJy0taGVscCcgZGlzcGxheQorCSogZXJyb3IuYzogZW5oYW5jZWQgeG1sUGFyc2VyUHJpbnRGaWxlQ29udGV4dCB0byBmaXggYnVnICMxMDk5NDIKKworTW9uIE1heSAxMiAxNzo1MzozMCBFRFQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHRyZWUuYzogUEkgbm9kZXMgaW4gZXh0ZXJuYWwgc3Vic2V0IHdlcmUgbm90IGZyZWVkIDotXAorCSAgZml4ZXMgYnVnICMxMTI4NDIKKworTW9uIE1heSAxMiAxMToyMzoyNyBFRFQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbGxpbnQuYzogYWRkZWQgLS1zY2hlbWEgb3B0aW9uIHRvIHJ1biBXWFMgc2NoZW1hIHZhbGlkYXRpb24KKwkqIHhtbHNjaGVtYXMuYyB4bWxzY2hlbWFzdHlwZXMuYyBpbmNsdWRlL2xpYnhtbC9zY2hlbWFzSW50ZXJuYWxzLmg6CisJICB0cmllZCB0byBpbXByb3ZlIGVycm9yIHJlcG9ydGluZyBpbiB0aGUgU2NoZW1hIGNvZGUsIHNvbWUgY2xlYW51cAorCSAgdG9vLgorCitTdW4gTWF5IDExIDE2OjEzOjIwIEVEVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sc2NoZW1hcy5jOiBmaXhlZCBzb21lIHByb2JsZW1zIGluIHRoZSBoYW5kbGluZyBvZiBlcnJvcnMsCisJICBhbmQgYXR0cmlidXRlcyBhZGRyZXNzZWQgYnkgcmVmZXJlbmNlcy4KKwkqIHRlc3Qvc2NoZW1hcy8qIHJlc3VsdC9zY2hlbWFzLyo6IGRyb3BwZWQgdGhlIHZlcmJvc2l0eSBsZXZlbAorCSAgYW5kIGFkZGVkIGEgY291cGxlIG9mIG5ldyB0ZXN0cworCitTYXQgTWF5IDEwIDE2OjAxOjIxIEVEVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcmVsYXhuZy5jOiBTdMOpcGhhbmUgQmlkb3VsIGZvdW5kIGFuIG9mZiBieSBvbmUgYWRkcmVzc2luZworCSAgZXJyb3Igb24gdGhlIGVycm9yIGhhbmRsaW5nLgorCitGcmkgTWF5ICA5IDE5OjA4OjIwIEVEVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sc2NoZW1hc3R5cGVzLmM6IHRyeWluZyB0byBmaXggIzExMjY3MworCitGcmkgTWF5ICA5IDE4OjE0OjE2IEVEVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogRE9DQnBhcnNlci5jIGNhdGFsb2cuYyBwYXJzZXIuYyByZWxheG5nLmM6IHJlbW92ZWQgbXVsdGlwbGUKKwkgIHdhcm5pbmcsIHRoaXMgZml4ZWQgYSBidWcgYW5kIHNob3VsZCBjbG9zZSAjMTExNTc0CisKK0ZyaSBNYXkgIDkgMTU6MzQ6MzIgRURUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxzY2hlbWFzLmM6IGZpeGluZyBidWcgIzEwNDA4MSB3aXRoIHhzOmFsbCB3aXRoIGFuIGVsZW1lbnQKKwkgIGhvbGRpbmcgbWluT2NjdXJzPSIwIgorCSogdGVzdC9zY2hlbWFzL2FsbF8qIHJlc3VsdC9zY2hlbWFzL2FsbF8qOiBhZGRlZCBzb21lIHJlZ3Jlc3Npb24KKwkgIHRlc3RzIGZvciB0aGF0IGJ1ZworCSogeG1sbGludC5jIHhtbHJlYWRlci5jOiBwYXRjaGVzIGZyb20gSm9lcmcgU2NobWl0ei1MaW5uZXdlYmVyIGFuZAorCSAgR2FycnkgUGVubmluZ3RvbiB0byBjb21waWxlIHdpdGhvdXQgc2NoZW1hcyBzdXBwb3J0LgorCitUaHUgTWF5ICAxIDEwOjAyOjM1IENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHRyZWUuYzogZml4ZWQgYSBwcm9ibGVtIHdpdGggeG1sVW5saW5rTm9kZSgpIGZvciBEVERzLgorCitXZWQgQXByIDMwIDE0OjE2OjA4IENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbDItY29uZmlnLmluOiB0cnkgdG8gZml4IFJlZCBoYXQgYnVnICM4OTk1NywgZG8gbm90CisJICBvdXRwdXQgLUwvdXNyL2xpYjY0CisJKiB4bWxyZWFkZXIuYzogZml4ZWQgYSB0eXBvIGluIGEgY29tbWVudAorCitUdWUgQXByIDI5IDA3OjMyOjAyIE1EVCAyMDAzIEpvaG4gRmxlY2sgPGpmbGVja0BpbmtzdGFpbi5lbnQ+CisKKwkqIGRvYy90dXRvcmlhbC9hcGguaHRtbCwgaXgwMS5odG1sCisJZm9yZ290IHRvIGN2cyBhZGQgdGhlIG5ldyBmaWxlcy4gVGhhbmtzIHRvIFJvbGFuZCB2YW4gTGFhcgorCWZvciBwb2ludGluZyB0aGlzIG91dAorCitUdWUgQXByIDI5IDE0OjM2OjQ5IENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbHNjaGVtYXMuYyBkb2MvbGlieG1sMi1hcGkueG1sOiBmaXhpbmcgYSBmdW5jdGlvbiBjb21tZW50CisJKiBkb2MvTWFrZWZpbGUuYW0gZG9jL2FwaWJ1aWxkLnB5IGRvYy9nbm9tZS14bWwuc2dtbDogc3dpdGNoaW5nCisJICB0byB0aGUgWE1ML1hTTFQgZG9jIGdlbmVyYXRpb24gY2xvc2luZyAjMTExNzk5CisJKiBkb2MvaHRtbC8qOiBjb21wbGV0ZSB1cGRhdGUgb2YgdGhlIEhUTUwgcmVzdWx0cworCitNb24gQXByIDI4IDE0OjUxOjQxIENFU1QgMjAwMyBJZ29yIFpsYXRrb3ZpYyA8aWdvckB6bGF0a292aWMuY29tPgorCisJKiB3aW4zMi9kZWZnZW4ueHNsOiBmaXhlZCB0aGUgY29uZGl0aW9uYWwgZm9yIHVuaWNvZGUgbWFwLAorCSAgcmVtb3ZlZCBoYXJkY29kZWQgc2NoZW1hIGVudHJpZXMKKworTW9uIEFwciAyOCAwMjoxOTowMCBDRVNUIDIwMDMgSWdvciBabGF0a292aWMgPGlnb3JAemxhdGtvdmljLmNvbT4KKworCSogd2luMzIvZGVmZ2VuLnhzbDogbmV3IGZpbGUsIHN0eWxlc2hlZXQgZm9yIGdlbmVyYXRpbmcgCisJICB3aW4zMi9saWJ4bWwyLmRlZi5zcmMgZnJvbSBkb2MvbGlieG1sMi1hcGkueG1sCisJKiB3aW4zMi9saWJ4bWwyLmRlZi5zcmM6IGlzIGF1dG9nZW5lcmF0ZWQgZnJvbSBub3cgb24sIGNoYW5nZXMKKwkgIHRvIHRoaXMgZmlsZSB3aWxsIG5vdCBhcHBlYXIgaGVyZSBhbnltb3JlCisKK01vbiBBcHIgMjggMDA6MTI6MTEgQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogd2luMzIvY29uZmlndXJlLmpzIHB5dGhvbi9zZXR1cC5weS5pbjogYXBwbGllZCBwYXRjaAorCSAgZnJvbSBTdMOpcGhhbmUgQmlkb3VsIGZvciB0aGUgUHl0aG9uIGJpbmRpbmdzIG9uIHRoZSBuZXcKKwkgIHJlbGVhc2UuCisKK1N1biBBcHIgMjcgMTc6NTY6MjEgQ0VTVCAyMDAzIElnb3IgWmxhdGtvdmljIDxpZ29yQHpsYXRrb3ZpYy5jb20+CisKKwkqIGRlYnVnWE1MLmM6IGluY2x1ZGVkIGxpYnhtbC91cmkuaCBmb3IgeG1sQ2Fub25pY1BhdGgKKwkgIGRlY2xhcmF0aW9uCisJKiB3aW4zMi9jb25maWd1cmUuanM6IHRocmVhZC1lbmFibGVkIGJ1aWxkIGlzIG5vdyBkZWZhdWx0CisJKiB3aW4zMi9saWJ4bWwyLmRlZi5zcmM6IGFkZGVkIG1vcmUgZXhwb3J0cworCitTdW4gQXByIDI3IDAwOjIzOjA1IENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIE5FV1MgZG9jLyoueHNsIGRvYy8qLmh0bWw6IHVwZGF0ZWQgdGhlIHdlYiBzaXRlIHNlcGFyYXRlZAorCSAgZGV2ZWxvcGVycyBmcm9tIGNvbW1vbiBwYWdlcywgbWFkZSB0aGUgdHJhbnNpdGlvbiB0byBYSFRNTDEsCisJICBhZGRlZCB2YWxpZGl0eSBjaGVja2luZyB0byB0aGUgbWFrZWZpbGUgcnVsZXMuCisKK1NhdCBBcHIgMjYgMjM6MTc6NTEgQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcGFyc2VyLmM6IGZpeCBmb3IgeG1sSU9QYXJzZURURCBzYW1lIGFzIHByZXZpb3VzIGFuZCByZXBvcnRlZAorCSAgYnkgUGV0ciBQYWphcworCitTYXQgQXByIDI2IDE1OjI2OjA0IENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlci5jOiBhcHBsaWVkIGZpeCB0byB4bWxTQVhQYXJzZURURCBmcm9tIE1hbGNvbG0gVHJlZGlubmljaworCSAgY2xvc2luZyAjMTExNjM4CisKK1NhdCBBcHIgMjYgMTQ6MDA6NTggQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcHl0aG9uL2dlbmVyYXRvci5weTogZml4ZWQgYSBwcm9ibGVtIGluIHRoZSBnZW5lcmF0b3Igd2hlcmUKKwkgIHRoZSB3YXkgZnVuY3Rpb25zIGFyZSByZW1hcHBlZCBhcyBtZXRob2RzIG9uIGNsYXNzZXMgd2FzCisJICBub3Qgc3ltZXRyaWMgYW5kIGRlcGVuZGFudCBvbiBweXRob24gaW50ZXJuYWwgaGFzaCBvcmRlciwKKwkgIGFzIHJlcG9ydGVkIGJ5IFN0w6lwaGFuZSBCaWRvdWwKKworRnJpIEFwciAyNSAyMTo1MjozMyBNRFQgMjAwMyBKb2huIEZsZWNrIDxqZmxlY2tAaW5rc3RhaW4ubmV0PgorCisJKiBkb2MvdHV0b3JpYWw6CisJeG1sdHV0b3JpYWwueG1sCisJeG1sdHV0b3JpYWwucGRmCisJKi5odG1sCisJYWRkIGFwcGVuZGl4IG9uIGdlbmVyYXRpbmcgY29tcGlsZXIgZmxhZ3MsIG1vcmUgaW5kZXhpbmcKKworU2F0IEFwciAyNiAwMToxMDo0OCBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB0cmlvZGVmLmggdm1zL2J1aWxkX2xpYnhtbC5jb206IGFwcGxpZWQgcGF0Y2ggZnJvbSBDcmFpZyBBLiBCZXJyeQorCSAgdG8gZ2V0IGxpYnhtbC0yLjUuNyB0byBjb21waWxlIG9uIE9wZW5WTVMKKworRnJpIEFwciAyNSAxODo0MjozNSBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBwYXJzZXIuYzogZml4aW5nIGFuIHhtbFBhcnNlRFREIGJ1ZyByYWlzZWQgYnkgUGV0ciBQYWphcworCitGcmkgQXByIDI1IDE1OjIwOjI5IENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGRvYy9NYWtlZmlsZS5hbSBkb2MveG1sY2F0YWxvZy4xIGRvYy94bWxjYXRhbG9nX21hbi54bWwKKwkgIGRvYy94bWxsaW50LjEgZG9jL3htbGxpbnQueG1sOiBhdXRvbWF0ZWQgdGhlIGdlbmVyYXRpb24gb2YgdGhlCisJICBtYW4gcGFnZSBiYXNlZCBvbiB4c2x0cHJvYyBhbmQgYSBzdHlsZXNoZWV0IFBJIGluIHRoZSBYTUwuCisKK0ZyaSBBcHIgMjUgMTI6Mzc6MzMgQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZG9jL3htbGxpbnQuKjogdHJ5aW5nIHRvIGZpeCAjMTEwNTQxIHdoZXJlICZuYnNwOyBnZW5lcmF0ZWQKKwkgIGNoYXJhY3RlciBwcmV2ZW50aW5nIHJlbmRlcmluZyBieSB0aGUgbWFuIGNvbW1hbmQuCisKK0ZyaSBBcHIgMjUgMDE6MDk6MjMgQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogTkVXUyBjb25maWd1cmUuaW46IHByZXBhcmluZyByZWxlYXNlIDIuNS43CisJKiBkb2MvKjogdXBkYXRlZCBhbmQgcmVidWlsdCB0aGUgZG9jcworCSogZG9jL2FwaWJ1aWxkLnB5OiBmaXhlZCB0aGUgc2NyaXB0CisKK1RodSBBcHIgMjQgMTk6MTE6MTIgQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogTWFrZWZpbGUuYW0gZG9jL2FwaWJ1aWxkLnB5OiBtYWtlIHN1cmUgdGhlIE9PTSBjb2RlIGRvbid0CisJICBnZXQgaW4gdGhlIHdheSBvZiB0aGUgYnVpbGRzCisJKiBkb2MvbGlieG1sMi1hcGkueG1sIHB5dGhvbi9saWJ4bWwyY2xhc3MudHh0OiBhdXRvbWF0aWMgdXBkYXRlCisKK1RodSBBcHIgMjQgMTg6MDE6NDYgQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogTWFrZWZpbGUuYW0gdGVzdE9PTS5jIHRlc3RPT01saWIuW2NoXSA6IGludGVncmF0ZWQgdGhlIE91dCBPZgorCSAgTWVtb3J5IHRlc3QgZnJvbSBIYXZvYyBQZW5uaW5ndG9uICMxMDkzNjgKKwkqIFNBWC5jIHBhcnNlci5jIHBhcnNlckludGVybmFscy5jIHRyZWUuYyB1cmkuYyB2YWxpZC5jCisJICB4bWxtZW1vcnkuYyB4bWxyZWFkZXIuYyB4bWxyZWdleHAuYyBpbmNsdWRlL2xpYnhtbC90cmVlLmgKKwkgIGluY2x1ZGUvbGlieG1sL3BhcnNlci5oOiBhIGxvdCBvZiBtZW1vcnkgYWxsb2NhdGlvbiBjbGVhbnVwcworCSAgYmFzZWQgb24gdGhlIHJlc3VsdHMgb2YgdGhlIE9PTSB0ZXN0aW5nCisJKiBjaGVjay1yZWxheG5nLXRlc3Qtc3VpdGUyLnB5OiBzZWVtcyBJIGZvcmdvdCB0byBjb21taXQgdGhlCisJICBzY3JpcHQuCisKK1dlZCBBcHIgMjMgMTc6MTY6NDEgQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sc2NoZW1hc3R5cGVzLmM6IHRyaXZpYWwgZml4IGZvciAxMDk3NzQgcmVtb3ZpbmcgYSB3YXJuaW5nCisKK1dlZCBBcHIgMjMgMTU6NDk6MzIgQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogRE9DQnBhcnNlci5jIFNBWC5jIGNhdGFsb2cuYyBkZWJ1Z1hNTC5jIHBhcnNlci5jOiB0cnkgdG8gZmluZAorCSAgbW9yZSBwbGFjZXMgd2hlcmUgeG1sQ2Fub25pY1BhdGgoKSBtdXN0IGJlIHVzZWQgdG8gY29udmVydAorCSAgZmlsZW5hbWVzIHRvIFVSTHMsIHRyeWluZyB0byBmaXggIzExMTA4OAorCitXZWQgQXByIDIzIDA5OjM1OjEyIENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHB5dGhvbi9saWJ4bWwuYyBweXRob24vbGlieG1sLnB5OiBhcHBsaWVkIHBhdGNoIGZyb20gCisJICBCcmVudCBNIEhlbmRyaWNrcyBhZGRpbmcgYmluZGluZyBmb3IgeG1sQ2F0YWxvZ0FkZExvY2FsCisKK1R1ZSBBcHIgMjIgMTU6MTg6MDEgQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogSFRNTHBhcnNlci5jOiB0cmllZCB0byBmaXggIzk4ODc5IGFnYWluIGluIGEgbW9yZSBzb2xpZAorCSAgd2F5LgorCitUdWUgQXByIDIyIDEzOjU4OjQzIENFU1QgMjAwMyBJZ29yIFpsYXRrb3ZpYyA8aWdvckB6bGF0a292aWMuY29tPgorCisJKiB3aW4zMi9saWJ4bWwyLmRlZi5zcmM6IGFkZGVkIG1vcmUgZXhwb3J0cyBmcm9tIHRoZSByZWxheG5nIGFuZAorCSAgeG1scmVhZGVyIGNsYW4KKworVHVlIEFwciAyMiAxMDozNToxMyBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBTQVguYyB0ZXN0L3ZhbGlkL25zKiB0ZXN0L3Jlc3VsdC9ucyo6IGFwcGxpZWQgdGhlIHBhdGNoCisJICBwcm92aWRlZCBieSBCcmVudCBIZW5kcmlja3MgZml4aW5nICMxMDU5OTIgYW5kIGludGVncmF0ZWQgdGhlCisJICBleGFtcGxlcyBpbiB0aGUgdGVzdHN1aXRlLgorCitUdWUgQXByIDIyIDAxOjA2OjA5IENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIFRPRE86IHVwZGF0ZWQgYSBiaXQKKwkqIGNvbmZpZ3VyZS5pbjogZml4ZWQgdGhlIGNvbW1lbnQsIHRocmVhZHMgbm93IGRlZmF1bHQgdG8gb24KKwkqIHBhcnNlckludGVybmFscy5jOiBmaXhlZCBhbiBlcnJvbmVvdXMgeG1sTWFsbG9jQXRvbWljKCkgY2FsbAorCitNb24gQXByIDIxIDIzOjMzOjM4IENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGdsb2JhbHMuYyBsaWJ4bWwuaCBwYXJzZXIuYyBwYXJzZXJJbnRlcm5hbHMuYyB0cmVlLmMgeG1sbGludC5jCisJICB4bWxyZWFkZXIuYyBpbmNsdWRlL2xpYnhtbC9wYXJzZXIuaDogYSBsb3Qgb2YgcGVyZm9ybWFuY2Ugd29yaworCSAgZXNwZWNpYWxseSB0aGUgc3BlZWQgb2Ygc3RyZWFtaW5nIHRocm91Z2ggdGhlIHJlYWRlciBhbmQgcHVzaAorCSAgaW50ZXJmYWNlLiBTb21lIHRocmVhZCByZWxhdGVkIG9wdGltaXphdGlvbnMuIE5lYXJseSBkb3VibGVkIHRoZQorCSAgc3BlZWQgb2YgcGFyc2luZyB0aHJvdWdoIHRoZSByZWFkZXIuCisKK1N1biBBcHIgMjAgMTA6MzY6MDUgTURUIDIwMDMgSm9obiBGbGVjayA8amZsZWNrQGlua3N0YWluLm5ldD4KKworCSogZG9jL3htbGxpbnQueG1sCisJKiBkb2MveG1sbGludC4xCisJdXBkYXRlIG1hbiBwYWdlIHRvIGV4cGxhaW4gdXNlIG9mIC0tc3RyZWFtCisKK1NhdCBBcHIgMTkgMDI6MDM6MjQgQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogRE9DQnBhcnNlci5jIEhUTUxwYXJzZXIuYyBjMTRuLmMgY2F0YWxvZy5jIGVuY29kaW5nLmMgZ2xvYmFscy5jCisJICBuYW5vaHR0cC5jIHBhcnNlci5jIHBhcnNlckludGVybmFscy5jIHJlbGF4bmcuYyB0cmVlLmMgdXJpLmMKKwkgIHhtbG1lbW9yeS5jIHhtbHJlYWRlci5jIHhtbHJlZ2V4cC5jIHhwYXRoLmMgeHBvaW50ZXIuYworCSAgaW5jbHVkZS9saWJ4bWwvZ2xvYmFscy5oIGluY2x1ZGUvbGlieG1sL3htbG1lbW9yeS5oOiBhZGRlZAorCSAgeG1sTWFsbG9jQXRvbWljKCkgdG8gYmUgdXNlZCB3aGVuIGFsbG9jYXRpbmcgYmxvY2tzIHdoaWNoCisJICBkbyBub3QgY29udGFpbnMgcG9pbnRlcnMsIGFkZCB4bWxHY01lbVNldHVwKCkgYW5kIHhtbEdjTWVtR2V0KCkKKwkgIHRvIGFsbG93IHJlZ2lzdGVyaW5nIHRoZSBmdWxsIHNldCBvZiBmdW5jdGlvbnMgbmVlZGVkIGJ5CisJICBhIGdhcmJhZ2UgY29sbGVjdGluZyBhbGxvY2F0b3IgbGlrZSBsaWJnYywgcmVmICMxMDk5NDQKKworRnJpIEFwciAxOCAxNjozNzo0MSBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBjb25maWd1cmUuaW46IHN3aXRjaGVkIHRvIGhhdmUgdGhyZWFkIHN1cHBvcnQgZW5hYmxlZCBieSBkZWZhdWx0LAorCSAgZGlkbid0IGdvdCB0cm91YmxlcyB3aXRoIEFCSSBjb21wYXRpYmlsaXR5IG9uIExpbnV4LCBob3BlIGl0CisJICB3b24ndCBicmVhayBvbiBzdHJhbmdlIE9TZXMsIGlmIHllcywgcmVwb3J0IHRoZSBzeXN0ZW0gSUQKKwkqIGRvYy9saWJ4bWwyLWFwaS54bWw6IGp1c3QgcmVidWlsdCB0aGUgQVBJCisKK0ZyaSBBcHIgMTggMTQ6MzE6MTUgQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogbGlieG1sLmggaW5jbHVkZS9saWJ4bWwvcGFyc2VyLmggcGFyc2VyLmMgeG1sSU8uYyBET0NCcGFyc2VyLmM6IAorCSAgYWRkZWQgc3VwcG9ydCBmb3IgbGFyZ2UgZmlsZSwgdGVzdGVkIHdpdGggYSAzK0dCIGluc3RhbmNlLAorCSAgYW5kIHNvbWUgY2xlYW51cC4KKwkqIGNhdGFsb2cuYzogYWRkZWQgYSBUT0RPCisJKiBNYWtlZmlsZS5hbTogYWRkZWQgc29tZSAibWFrZSB0ZXN0cyIgY29tbWVudHMKKworVGh1IEFwciAxNyAxNDo1MTo1NyBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiByZWxheG5nLmM6IHNvbWUgY2xlYW51cHMKKwkqIGRvYy94bWxyZWFkZXIuaHRtbDogZXh0ZW5kZWQgdGhlIGRvY3VtZW50IHRvIGNvdmVyIFJlbGF4TkcgYW5kCisJICB0cmVlIG9wZXJhdGlvbnMKKwkqIHB5dGhvbi90ZXN0cy9NYWtlZmlsZS5hbSBweXRob24vdGVzdHMvcmVhZGVyWzQ2XS5weTogYWRkZWQgc29tZQorCSAgeG1sUmVhZGVyIGV4YW1wbGUvcmVncmVzc2lvbiB0ZXN0cworCSogcmVzdWx0L3JlbGF4bmcvdHV0b3IqLmVycjogdXBkYXRlZCB0aGUgb3V0cHV0IG9mIGEgbnVtYmVyIG9mIHRlc3RzCisKK1RodSBBcHIgMTcgMTE6MzU6MzcgQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcmVsYXhuZy5jOiB2YWxncmluZCBwb2ludGVkIG91dCBhbiB1bmluaXRpYWxpemVkIHZhcmlhYmxlIGVycm9yLgorCitUaHUgQXByIDE3IDExOjA2OjI4IENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGluY2x1ZGUvbGlieG1sL3JlbGF4bmcuaCByZWxheG5nLmMgaW5jbHVkZS9saWJ4bWwveG1scmVhZGVyLmgKKwkgIHhtbHJlYWRlci5jOiBhdWduZW10aW5nIHRoZSBBUElzLCBjbGVhbnVwcy4KKwkqIHBhcnNlci5jOiBjbGVhbnVwIGJ1ZyAjMTExMDA1CisJKiB4bWxJTy5jOiBhZGRlZCBzb21lIG1pc3NpbmcgY29tbWVudHMKKworV2VkIEFwciAxNiAxNzo0Njo1MCBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiByZWxheG5nLmMgeG1sbGludC5jOiBtb3JlIHdvcmsgb24gUmVsYXhORyBzdHJlYW1pbmcgdmFsaWRhdGlvbgorCSAgdHJ5aW5nIHRvIGltcHJvdmUgdGhlIHN1YnNldCBjb21waWxlZCwgYW5kIG1vcmUgdGVzdGluZy4KKwkqIGRvYy9kb3dubG9hZHMuaHRtbCBkb2MveG1sLmh0bWwgZG9jL3htbG1lbS5odG1sOiBzb21lIHVwZGF0ZXMgb24gdGhlCisJICBkb2N1bWVudGF0aW9uCisJKiB0ZXN0L3JlbGF4bmcvdHV0b3IxMV8xXzMueG1sOiBmaXhlcyB0aGUgRFREIHBhdGgKKwkqIHJlc3VsdC9yZWxheG5nLyouZXJyOiBmaXggc29tZSBvZiB0aGUgb3V0cHV0cworCitXZWQgQXByIDE2IDAxOjI4OjE1IENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHJlbGF4bmcuYyB4bWxyZWFkZXIuYyB4bWxsaW50LmMgaW5jbHVkZS9saWJ4bWwvcmVsYXhuZy5oCisJICBpbmNsdWRlL2xpYnhtbC94bWxyZWFkZXIuaDogaW1wbGVtZW50ZWQgc3RyZWFtaW5nIG9mCisJICBSZWxheE5HICh3aGVuIHBvc3NpYmxlKSBvbiB0b3Agb2YgdGhlIHhtbFJlYWRlciBpbnRlcmZhY2UsCisJICBwcm92aWRlZCBpdCBhcyB4bWxsaW50IC0tc3RyZWFtIC0tcmVsYXhuZyAucm5nIC54bWwKKwkgIFRoaXMgc2VlbXMgdG8gbW9zdGx5IHdvcmsuCisJKiBNYWtlZmlsZS5hbTogdXBkYXRlZCB0byB0ZXN0IFJlbGF4Tkcgc3RyZWFtaW5nCisKK01vbiBBcHIgMTQgMTg6MDg6MzMgQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcmVsYXhuZy5jIGluY2x1ZGUvbGlieG1sL3JlbGF4bmcuaDogaW50ZWdyYXRlZCB0aGUgcmVnZXhwCisJICBiYXNlZCB2YWxpZGl0eSBjaGVja2luZyBvZiBmcmFnbWVudHMgb2YgdGhlIGRvY3VtZW50IGZvcgorCSAgd2hpY2ggdGhlIFJORyBjYW4gYmUgY29tcGlsZWQgdG8gcmVnZXhwcy4gV29ya3Mgb24gYWxsIHJlZ3Jlc3Npb24KKwkgIHRlc3RzLCBvbmx5IGZpeCBuZWVkZWQgaXMgcmVsYXRlZCB0byBlcnJvciBtZXNzYWdlcy4KKworU3VuIEFwciAxMyAyMTo1MTowMCBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiByZWxheG5nLmMgeG1scmVnZXhwLmMgaW5jbHVkZS9saWJ4bWwveG1sYXV0b21hdGEuaAorCSAgaW5jbHVkZS9saWJ4bWwveG1scmVnZXhwLmg6IFN0YXJ0aW5nIHdvcmsgcHJlY29tcGlsaW5nCisJICBwYXJ0cyBvZiBSZWxheE5HIHNjaGVtYXMuIE5vdCBwbHVnZ2VkIG9udG8gdmFsaWRpdHkgY2hlY2tpbmcKKwkgIHlldCwganVzdCB0aGUgcmVnZXhwIGJ1aWxkaW5nIHBhcnQuIE5lZWRlZCB0byBleHRlbmQgc29tZQorCSAgb2YgdGhlIGF1dG9tYXRhIGFuZCByZWdleHAgQVBJcy4KKworRnJpIEFwciAxMSAyMTozNjoyMSBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxsaW50LmMgeG1scmVhZGVyLmMgaW5jbHVkZS9saWJ4bWwveG1scmVhZGVyLmg6IG1ha2Ugc3VyZQorCSAgeG1sbGludCAtLXN0cmVhbSBhbmQgeG1sbGludCAtLXN0cmVhbSAtLXZhbGlkIHJldHVybnMgZXJyb3JzCisJICBjb2RlIGFwcHJvcHJpYXRlbHkKKworRnJpIEFwciAxMSAxMDo1OToyNCBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxyZWFkZXIuYyBpbmNsdWRlL2xpYnhtbC94bWxyZWFkZXIuaDogQWRkZWQgdGhlIEV4cGFuZCgpCisJICBhbmQgTmV4dCgpIG9wZXJhdGlvbiB0byB3b3JrIG9uIHN1YnRyZWVzIHdpdGhpbiB0aGUgcmVhZGVyCisJICBmcmFtZXdvcmsuCisJKiBkb2MvbGlieG1sMi1hcGkueG1sIHB5dGhvbi9saWJ4bWwyY2xhc3MudHh0OiByZXN1bHRpbmcgdXBkYXRlcworCSogcHl0aG9uL3Rlc3RzL3JlYWRlcjUucHk6IGFkZGVkIGFuIGV4YW1wbGUgZm9yIHRob3NlIG5ldworCSAgZnVuY3Rpb25zIG9mIHRoZSByZWFkZXIuCisKK1RodSBBcHIgMTAgMjM6Mzg6MTMgQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogSFRNTHRyZWUuYzogcGF0Y2ggZnJvbSBWYXNpbHkgVGNoZWthbGtpbiB0byBmaXggIzEwOTg2NQorCitUaHUgQXByIDEwIDE1OjMyOjQ0IENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbHJlYWRlci5jOiBmaXhpbmcgSGFzVmFsdWUgZm9yIG5hbWVzcGFjZSBhcyByYWlzZWQgYnkgCisJICBEZW55cyBEdWNoaWVyCisKK1dlZCBBcHIgIDkgMTQ6MDc6MTggQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogSFRNTHBhcnNlci5jIGluY2x1ZGUvbGlieG1sL0hUTUxwYXJzZXIuaDogIGV4cG9ydGVkCisJICBodG1sQ3JlYXRlTWVtb3J5UGFyc2VyQ3R4dCgpIGl0IHdhcyBzdGF0aWMKKworV2VkIEFwciAgOSAxMzoyMTo0OCBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxzY2hlbWFzLmMgeG1sc2NoZW1hc3R5cGVzLmMgaW5jbHVkZS9saWJ4bWwveG1sc2NoZW1hcy5oOgorCSAgdXBkYXRlIGZyb20gQ2hhcmxlcyBCb3plbWFuIGZvciBkYXRlIGFuZCBkdXJhdGlvbiB0eXBlcworCSogdGVzdC9zY2hlbWFzL2RhdGVfMC4qIHRlc3Qvc2NoZW1hcy9kdXJfMC4qCisJICByZXN1bHQvc2NoZW1hcy9kYXRlXzAuKiByZXN1bHQvc2NoZW1hcy9kdXJfMC4qOiB1cGRhdGVkIHRvbworCitNb24gQXByICA3IDEyOjE5OjI2IENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHRyZWUuYyB2YWxpZC5jIHhwYXRoLmMgaW5jbHVkZS9saWJ4bWwvdHJlZS5oIGluY2x1ZGUvbGlieG1sL3ZhbGlkLmg6CisJICBmaXhpbmcgYnVnICMxMDcxMjksIHJlbW92aW5nIGV4Y2Vzc2l2ZSBhbGxvY2F0aW9uIGFuZCBjYWxscworCSAgdG8gKnByaW50ZiBpbiB0aGUgY29kZSB0byBidWlsZCBRTmFtZSBzdHJpbmdzLgorCitTYXQgQXByICA1IDExOjQxOjM2IENFU1QgMjAwMyBJZ29lIFpsYXRrb3ZpYyA8aWdvckB6bGF0a292aWMuY29tPgorCisJKiB3aW4zMi9saWJ4bWwyLmRlZi5zcmM6IGZpeGVkIGNvbmRpdGlvbmFsIGV4cG9ydHMsIHJlcG9ydGVkIGJ5CisJICBMdWtlIE11cnJheS4KKworRnJpIEFwciAgNCAxODowODowMCBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBwYXJzZXIuYzogZml4ZWQgYSBwb3NzaWJsZSBwcm9ibGVtIHdpdGggeG1sUmVjb3Zlck1lbW9yeSgpCisKK1RodSBBcHIgIDMgMTc6MjQ6NDQgQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogdHJpby5jIHRyaW8uaCB0cmlvZGVmLmggdHJpb25hbi5jIHRyaW9uYW4uaCB0cmlvcC5oIHRyaW9zdHIuYworCSAgdHJpb3N0ci5oOiBCam9ybiBzZW50IGFuIHVwZGF0ZSBmb3IgdGhlIFRSSU8gcG9ydGFiaWxpdHkgbGF5ZXIuCisKK1R1ZSBBcHIgIDEgMjE6NTc6MjYgQ0VTVCAyMDAzIElnb3IgWmxhdGtvdmljIDxpZ29yQHpsYXRrb3ZpYy5jb20+CisKKwkqIHdpbjMyL2xpYnhtbDIuZGVmLnNyYzogZXhwb3J0ZWQgbmV3IGZ1bmN0aW9ucworCitUdWUgQXByICAxIDEzOjA5OjQ2IENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGNvbmZpZ3VyZS5pbiBORVdTOiBwcmVwYXJpbmcgcmVsZWFzZSAyLjUuNgorCSogZG9jLyo6IHVwZGF0ZWQgYW5kIHJlYnVpbHQgdGhlIGRvY3MKKworVHVlIEFwciAgMSAxMTo1MjoxNSBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBTQVguYzogZml4ZWQgYW4gdW5pbml0aWFsaXplZCBtZW1vcnkgYWNjZXNzIHBvaW50ZWQgYnkgdmFsZ3JpbmQKKwkgIG9uIEMxNE50ZXN0cworCitUdWUgQXByICAxIDAwOjEyOjI4IENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHJlbGF4bmcuYzogb25lIG1vcmUgZml4dXAgb2YgZXJyb3IgbWVzc2FnZSByZXBvcnRpbmcKKworTW9uIE1hciAzMSAxODozNjozMiBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiByZWxheG5nLmM6IG1vcmUgd29yayBvbiBidWcgIzEwOTIyNSwgYW5kIGZpeGVkIGFuIHVuaW5pdGlhbGl6ZWQKKwkgIHZhcmlhYmxlIHBvaW50ZWQgb3V0IGJ5IHZhbGdyaW5kCisKK01vbiBNYXIgMzEgMTg6MDU6MjIgQ0VTVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcmVsYXhuZy5jOiB0cnkgdG8gd29yayBvbiBidWcgIzEwOTIyNSBhbmQgcHJvdmlkZSBiZXR0ZXIKKwkgIGVycm9yIHJlcG9ydHMuCisJKiByZXN1bHQvcmVsYXhuZy8qIDogdGhpcyBjaGFuZ2UgdGhlIG91dHB1dCBvZiBhIG51bWJlciBvZiB0ZXN0cworCSogeGluY2x1ZGUuYzogZml4aW5nIHRoZSBwYXJzZWQgZW50aXR5IHJlZGVmaW5pdGlvbiBwcm9ibGVtCisJICByYWlzZWQgb24gdGhlIGxpc3QuCisJKiB0ZXN0L3NjaGVtYXMvZGF0ZV8wLnhzZDogdXBkYXRlZCB0aGUgZGF0ZSB0ZXN0IGMuZi4gRTItMTIKKworTW9uIE1hciAzMSAxMzoxOTowNCBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxzY2hlbWFzdHlwZXMuYzogZml4ZWQgZGF0ZSBjb21wYXJpc29uIHRvIGhhbmRsZSB0aGUgdHpvCisJICBUaGUgb25seSBmYWlsdXJlcyBsZWZ0IGFyZSBkaXNhZ3JlZW1lbnRzIG9uIE5vdGF0aW9ucyBhbmQKKwkgICcrMScgbm90IGJlaW5nIGFsbG93ZWQgZm9yIHVsb25nLCB1aW50LCB1c2hvcnQgYW5kIHVieXRlLgorCitNb24gTWFyIDMxIDEyOjExOjQ3IENFU1QgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbHNjaGVtYXN0eXBlcy5jOiBmaXhlZCBnTW9udGggcGFyc2luZyByb3V0aW5lIGFjY29yZGluZ2x5CisJICB0byB0aGUgWE1MIFNjaGVtYXMgZXJyYXRhCisJICBodHRwOi8vd3d3LnczLm9yZy8yMDAxLzA1L3htbHNjaGVtYS1lcnJhdGEjZTItMTIKKworU3VuIE1hciAzMCAyMzowNDoxOCBDRVNUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiByZWxheG5nLmMgeG1sc2NoZW1hc3R5cGVzLmM6IG1vcmUgd29yayBvbiBYTUwgU2NoZW1hcyBkYXRhdHlwZXMKKwkgIGFuZCBmYWNldHMgc3VwcG9ydC4gQ3VycmVudGx5IG9ubHkgc2NoZW1hcyB3aXRoIGJpbkhleCBvcgorCSAgYmFzZTY0IGRvbid0IGNvbXBpbGUuIEEgZmV3IGVycm9yIGxlZnQgaW4gdGhlIHRlc3Qgc3VpdGU6CisJICBmb3VuZCAxMDM1IHRlc3QgaW5zdGFuY2VzOiA5MTkgc3VjY2VzcyAyMyBmYWlsdXJlcworCSAgbW9zdCBhcmUgZ2RhdGUgb3IgZ2RhdGV5ZWFyIGZhaWxpbmcgY2hlY2ssIGFuZCBhIGZldyBjYXNlcyB3aGVyZQorCSAgSmFtZXMgY2xhcmsgdGVzdHMgcmVzdWx0cyBhcmUgc3RyYW5nZS4KKwkqIHZhbGlkLmM6IGFsbG93IHRvIHJldXNlIHRoZSBOb3RhdGlvbiBjaGVja2luZyByb3V0aW5lIHdpdGhvdXQKKwkgIGhhdmluZyBhIHZhbGlkYXRpb24gY29udGV4dC4KKwkqIFNBWC5jOiByZW1vdmVkIGEgI2lmIDAKKworU2F0IE1hciAyOSAxNzozNTowNSBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhpbmNsdWRlLmM6IGZvcmdvdCB0byBhcHBseSBvbmUgY2hlY2sgZnJvbSAjMTA2OTMxIHBhdGNoCisJKiB4bWxzY2hlbWFzdHlwZXMuYzogbW9yZSB3b3JrIG9uIFhNTCBTY2hlbWFzIGRhdGF0eXBlcworCitTYXQgTWFyIDI5IDExOjQ5OjI1IENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcmVsYXhuZy5jIGluY2x1ZGUvbGlieG1sL3JlbGF4bmcuaCB4bWxzY2hlbWFzdHlwZXMuYzogbW9yZSB3b3JrCisJICBvbiBjbGVhbmluZyB1cCBYTUwgU2NoZW1hcyBkYXRhdHlwZXMgYmFzZWQgb24gSmFtZXMgQ2xhcmsgdGVzdHMKKwkgIHRlc3QveHNkdGVzdC94c2R0ZXN0LnhtbAorCitGcmkgTWFyIDI4IDE0OjI0OjA4IENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcmVsYXhuZy5jOiBpbXBsZW1lbnRlZCBjb21wYXJpc29ucyBmb3IgU2NoZW1hcyB2YWx1ZXMuCisJKiB4bWxzY2hlbWFzdHlwZXMuYyBpbmNsdWRlL2xpYnhtbC94bWxzY2hlbWFzdHlwZXMuaDogZml4ZWQKKwkgIHNvbWUgYnVncyBpbiBkdXJhdGlvbiBoYW5kbGluZywgY29tcGFyaXNvbnMgZm9yIGR1cmF0aW9ucworCSAgYW5kIGRlY2ltYWxzLCByZW1vdmVkIGFsbCBtZW1vcnkgbGVha3MgcG9pbnRlZCBvdXQgYnkgSmFtZXMKKwkgIHRlc3RzdWl0ZS4gQ3VycmVudCBzdGF0dXMgaXMgbm93CisJICBmb3VuZCAyMzggdGVzdCBzY2hlbWFzOiAxOTcgc3VjY2VzcyA0MSBmYWlsdXJlcworCSAgZm91bmQgMTAzNSB0ZXN0IGluc3RhbmNlczogODAzIHN1Y2Nlc3MgMTMwIGZhaWx1cmVzCisKK0ZyaSBNYXIgMjggMDA6NDE6NTUgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxzY2hlbWFzLmMgaW5jbHVkZS9saWJ4bWwveG1sc2NoZW1hcy5oOiBmaXhlZCBidWdzIGFuZCBtZW1vcnkKKwkgIGxlYWtzIGluIHRoZSBXM0MgWE1MIFNjaGVtYXMgY29kZQorCSogeG1sc2NoZW1hc3R5cGVzLmM6IGltcGxlbWVudGVkIG5vblBvc2l0aXZlSW50ZWdlcgorCSogdGVzdC9zY2hlbWFzL2xlbmd0aDJfMC54c2QgcmVzdWx0L3NjaGVtYXMvbGVuZ3RoMl8wXzAuZXJyOgorCSAgZml4ZWQgdGhlIHRlc3QgYW5kIHJlc3VsdC4KKworVGh1IE1hciAyNyAyMjoyMzowNyBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIEhUTUxwYXJzZXIuYyB0cmVlLmM6IHR3byBwYXRjaGVzIGZyb20gSmFtZXMgQnVyc2Egb24gdGhlIEhUTUwKKwkgIHBhcnNlciBhbmQgYSB0eXBvCisJKiB4bWxzY2hlbWFzdHlwZXMuYzogcmVpbmRlbnRpbmcsIGZpeGluZyBhIG1lbW9yeSBhY2Nlc3MKKwkgIHByb2JsZW0gd2l0aCBkYXRlcy4KKworVGh1IE1hciAyNyAxNTo1MzozNSBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlci5jOiBmaXhpbmcgIzEwOTIyNyBwcm92aWRpbmcgbW9yZSBjb250ZXh0IGluIGNhc2Ugb2YgCisJICBzdGFydC9lbmQgdGFnIG1pc21hdGNoCisJKiBweXRob24vdGVzdHMvY3R4dGVycm9yLnB5IHB5dGhvbi90ZXN0cy9yZWFkZXJlcnIucHk6IHVwZGF0ZSB0aGUKKwkgIHRlc3RzIGFjY29yZGluZ2x5CisKK1RodSBNYXIgMjcgMTU6MjI6NDEgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4aW5jbHVkZS5jOiBzaG91bGQgZml4ICMxMDkzMjcgZXJyb3JzIG9uIG1lbW9yeSBhY2Nlc3NlcworCitUaHUgTWFyIDI3IDE1OjA2OjEzIENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogSFRNTHRyZWUuYzogRml4ZWQgcmVvcGVuaW5nIG9mICM3ODY2MiA8Zm9ybSBhY3Rpb249Ii4uLiI+CisJICBpcyBhbiBVUkkgcmVmZXJlbmNlCisKK1dlZCBNYXIgMjYgMjI6Mzg6MzkgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4cGF0aC5jOiBmaXhlZCBidWcgIzEwOTE2MCBvbiBub24tQVNDSUkgSURzCisKK1dlZCBNYXIgMjYgMTc6MzA6MzcgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBwYXJzZXIuYzogTm9ybSBzdWdnZXN0ZWQgYSBuaWNlciBlcnJvciBtZXNzYWdlIGZvciB4bWw6c3BhY2UgdmFsdWVzCisJICBlcnJvcnMKKworV2VkIE1hciAyNiAwMTozNDoxOSBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhwYXRoLmMgaW5jbHVkZS9saWJ4bWwveHBhdGguaDogZmlyc3QgcGFydCBvZiB0aGUgZml4IHRvCisJICBwZXJmb3JtYW5jZSBidWcgIzEwODkwNSwgYWRkcyB4bWxYUGF0aE9yZGVyRG9jRWxlbXMoKSBwcm92aWRpbmcKKwkgIGRvY3VtZW50IG9yZGVyIGZvciBub2Rlcy4KKwkqIHB5dGhvbi9saWJ4bWwuYzogUHl0aG9uIG1heSByZXF1aXJlIFRSSU8gYXMgQWxiZXJ0IENoaW4gcG9pbnRlZCBvdXQKKworVHVlIE1hciAyNSAxNjowNzowMCBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbHNjaGVtYXN0eXBlcy5jOiByZW1vdmluZyBhIHdhcm5pbmcgd2l0aCBTdW4gY29tcGlsZXIKKwkgIGJ1ZyAjMTA5MTU0CisKK1R1ZSBNYXIgMjUgMDc6MDI6NTYgTVNUIDIwMDMgSm9obiBGbGVjayA8amZsZWNrQGlua3N0YWluLm5ldD4KKworCSogZG9jL3htbGxpbnQueG1sCisJKiBkb2MveG1sbGludC4xCisJdXBkYXRlIHhtbGxpbnQgbWFuIHBhZ2Ugd2l0aCAtLXJlbGF4bmcgb3B0aW9uCisKK1R1ZSBNYXIgMjUgMTI6MDc6MDMgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBweXRob24vc2V0dXAucHkuaW4gOiB3YXMgbWlzc2luZyAiZHJ2X2xpYnhtbDIucHkiCisKK01vbiBNYXIgMjQgMTk6Mzg6MDUgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB0cmVlLmMgeHBhdGguYzogc29tZSBjaGFuZ2VzIHJlbGF0ZWQgdG8gdGhlIG5ldyB3YXkgb2YgCisJICBoYW5kbGluZyBSZXN1bHQgVmFsdWUgVHJlZSwgYmVmb3JlIDIuNS41CisKK01vbiBNYXIgMjQgMTY6MzY6MjMgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBjb25maWd1cmUuaW4gTkVXUzogcHJlcGFyaW5nIHJlbGVhc2UgMi41LjUKKwkqIGRvYy8qIDogdXBkYXRlZCB0aGUgZG9jdW1lbnRhdGlvbiBhbmQgcmVnZW5lcmF0ZWQgaXQuCisKK01vbiBNYXIgMjQgMTQ6NTY6MDEgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4cGF0aC5jOiBmaXhlZCBzb21lIHByb2JsZW1zIHJlbGF0ZWQgdG8gIzc1ODEzIGFib3V0IGhhbmRsaW5nCisJICBvZiBSZXN1bHQgVmFsdWUgVHJlZXMKKworU3VuIE1hciAyMyAyMjo1NzoyMCBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHVyaS5jOiBhcHBsaWVkIGEgc2V0IG9mIHBhdGNoZXMgZnJvbSBMb3JlbnpvIFZpYWxpIGNvcnJlY3RpbmcKKwkgIFVSSSBwYXJzaW5nIGVycm9ycy4KKworU3VuIE1hciAyMyAyMjowMDoxNCBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlci5jOiB2YWxpZGl0eSBzdGF0dXMgd2FzIG5vdCBwYXNzZWQgYmFjayB3aGVuIHZhbGlkYXRpbmcgaW4KKwkgIGVudGl0aWVzLCBidXQgcmFpc2VkIGJ5IE9saXZlciBGaXNjaGVyCisKK1N1biBNYXIgMjMgMjE6MzA6NTAgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBIVE1MdHJlZS5jOiBhdm9pZCBlc2NhcGluZyAnLCcgaW4gVVJJcworCitTdW4gTWFyIDIzIDEyOjU3OjAwIENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcGFyc2VyLmM6IGZpeGluZyBidWcgIzEwODk3NiBnZXQgdGhlIElEL1JFRnMgdG8gcmVmZXJlbmNlIAorCSAgdGhlIElEIGluIHRoZSBkb2N1bWVudCBjb250ZW50IGFuZCBub3QgaW4gdGhlIGVudGl0eSBjb3B5CisJKiBTQVguYyBpbmNsdWRlL2xpYnhtbC9wYXJzZXIuaDogbW9yZSBjaGVja2luZyBvZiB0aGUgSUQvUkVGCisJICBzdHVmZiwgYmV0dGVyIHNvbHV0aW9uIGZvciAjMTA3MjA4CisJKiB4bWxyZWdleHAuYzogcmVtb3ZlZCBhIGRpcmVjdCBwcmludGYsIGRvaGhoCisJKiB4bWxyZWFkZXIuYzogZml4ZWQgYSBidWcgb24gc3RyZWFtaW5nIHZhbGlkYXRpb24gb2YgZW1wdHkgCisJICBlbGVtZW50cyBpbiBlbnRpdGllcworCSogcmVzdWx0L1ZDL0VsZW1lbnRWYWxpZDggdGVzdC9WQ00vdjIwLnhtbCByZXN1bHQvdmFsaWQveGh0bWwxLnhodG1sOgorCSAgY2xlYW51cCBvZiB0aGUgdmFsaWRhdGlvbiB0ZXN0cworCSogdGVzdC92YWxpZC9pZCogdGVzdC92YWxpZC9kdGRzL2Rlc3Rmb28uZW50IHJlc3VsdC92YWxpZC9pZCo6CisJICBhZGRlZCBtb3JlIElEL0lEUkVGIHRlc3RzIHRvIHRoZSBzdWl0ZQorCitTYXQgTWFyIDIyIDIzOjM4OjA4IENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1scmVhZGVyLmM6IGZpeGVkICMxMDcwNDMgcmVtb3ZpbmcgMiB3YXJuaW5ncyB3aXRoIFN1biBPbmUKKwkgIGNvbXBpbGVyLgorCitTYXQgTWFyIDIyIDE4OjUwOjQ1IENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcmVsYXhuZy5jOiB2YWxncmluZCdlZCBhbmQgY2xlYW5lZCB1cCBhIGNvdXBsZSBvZiBtZW1vcnkgaXNzdWVzLgorCitTYXQgTWFyIDIyIDE2OjE1OjUwIENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogU0FYLmM6IGZpeCBidWcgIzEwNzIwOCBhdm9pZCBmYWxzZSBkdXBsaWNhdGVzIHdoZW4gSUQvUkVGcyBhcmUKKwkgIGRlZmluZWQgaW4gZW50aXRpZXMgY29udGVudAorCitTYXQgTWFyIDIyIDE1OjUzOjI3IENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogU0FYLmM6IEZpeGVkIHZhbGlkYXRpb24gYnVnICMxMDg4NTggb24gbmFtZXNwYWNlIG5hbWVzIHVzaW5nCisJICBlbnRpdGllcyBhbmQgcmVwb3J0ZWQgYnkgQnJlbnQgSGVuZHJpY2tzCisJKiB4bWxsaW50LmM6IHJlcG9ydCB4bWxUZXh0UmVhZGVySGFzVmFsdWUoKSByZXN1bHQgaW4gLS1zdHJlYW0KKwkgIC0tZGVidWcgb3V0cHV0LgorCitTYXQgTWFyIDIyIDEzOjMyOjM5IENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1scmVhZGVyLmM6IGZpeGVkIGJ1ZyAjMTA4ODAxIHJlcG9ydGVkIGJ5IE1hbGNvbG0gVHJlZGlubmljaworCSAgYWJvdXQgdGhlIERvY1R5cGUgbm9kZSBub3QgYmVpbmcgcmVwb3J0ZWQgc29tZXRpbWVzLgorCSogcHl0aG9uL3Rlc3RzL3JlYWRlci5weTogYWRkZWQgdG8gdGVzdCB0byB0aGUgcmVncmVzc2lvbiBjaGVja3MKKworU2F0IE1hciAyMiAwMTo1Nzo0MCBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbHJlYWRlci5jOiBmaXhlZCBidWcgIzEwODU0NiBvbiBsb25nIENEQVRBIChvciB0ZXh0IG5vZGVzKQorCSAgcmVwb3J0ZWQgYnkgRWRkIER1bWJpbGwKKworU2F0IE1hciAyMyAwMTowMDoyNCBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIEhUTUxwYXJzZXIuYyBwYXJzZXIuYyBwYXJzZXJJbnRlcm5hbHMuYzogcGF0Y2ggZnJvbQorCSAgam9oYW5AZXZlbmh1aXMubmwgZm9yICMxMDc5MzcgZml4aW5nIHNvbWUgbGluZSBjb3VudGluZworCSAgcHJvYmxlbXMsIGFuZCBzb21lIG90aGVyIGNsZWFudXBzLgorCSogcmVzdWx0L0hUTUwvOiB0aGlzIHJlc3VsdCBpbiBzb21lIGxpbmUgbnVtYmVyIGNoYW5nZXMKKworRnJpIE1hciAyMSAyMjoxOToxNCBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGNvbmZpZ3VyZS5pbiBNYWtlZmlsZS5hbTogZml4ZWQgUmVkIEhhdCBidWcgIzg2MTE4IHVzZSBsaWJ4bWwyLnNwZWMKKwkgIGluc3RlYWQgb2YgbGlieG1sLnNwZWMKKwkqIHJlbGF4bmcuYzogZml4ZWQgc29tZSBvZiB0aGUgZXJyb3IgcmVwb3J0aW5nIGV4Y2Vzc2l2ZQorCSAgdmVyYm9zaXR5CisJKiBjYXRhbG9nLmMgZGVidWdYTUwuYyB2YWxpZC5jIHhtbHJlYWRlci5jIHhtbHNjaGVtYXMuYyB4cGF0aC5jCisJICB4bWxzY2hlbWFzdHlwZXMuYzogcmVtb3ZlZCBzb21lIHdhcm5pbmdzIGZyb20gZ2NjCisJKiBkb2MvbGlieG1sMi1hcGkueG1sOiByZWJ1aWx0CisKK0ZyaSBNYXIgMjEgMTc6MjU6MjMgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiByZWxheG5nLmM6IGFub3RoZXIgb3B0aW1pemF0aW9uLCBmb3IgY2hvaWNlIHRoaXMgdGltZQorCSogcmVzdWx0L3JlbGF4bmcvc3BlYzEqIHJlc3VsdC9yZWxheG5nL3R1dG9yMTJfMSogCisJICByZXN1bHQvcmVsYXhuZy90dXRvcjNfNzogY2xlYW51cHMuCisKK0ZyaSBNYXIgMjEgMTM6NDE6MjMgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiByZWxheG5nLmM6IGZpeGVkIHhtbFJlbGF4TkdOb2RlTWF0Y2hlc0xpc3QKKwkqIHRlc3QvcmVsYXhuZy90ZXN0c3VpdGUueG1sOiBhdWdtZW50ZWQgdGhlIHRlc3Qgc3VpdGUKKwkqIHJlc3VsdC9yZWxheG5nL3NwZWMxKiByZXN1bHQvcmVsYXhuZy90dXRvcjEyXzEqOiB0aGlzIGZpeGVzCisJICBzb21lIHNjaGVtYXMgdmFsaWRhdGlvbiB0ZXN0cyBpbiB0aGUgcHJlc2VuY2Ugb2YgZm9yZWlnbiAKKwkgIG5hbWVzcGFjZXMuCisKK0ZyaSBNYXIgMjEgMDI6MjM6MzQgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiByZWxheG5nLmM6IGFkZGVkIGFub3RoZXIgaW50ZXJsZWF2ZSBzcGVlZHVwLgorCitUaHUgTWFyIDIwIDE3OjIyOjAwIENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sc2NoZW1hc3R5cGVzLmM6IGFkZGVkIGludGVnZXIgYW5kIGZpeGVkIG9uZSBvZiB0aGUKKwkgIElEUkVGUyByZWdyZXNzaW9uIHRlc3RzIHBibQorCSogcmVzdWx0L3JlbGF4bmcvZG9jYm9va18wLmVycjogdXBkYXRlZAorCitXZWQgTWFyIDE5IDIxOjU4OjQ3IENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogdmFsaWQuYyB4bWxzY2hlbWFzdHlwZXMuYzogYXR0ZW1wdCB0byBjb3BlIHdpdGggSUQvSURSRUYoUykKKwkgIGRlY2xhcmVkIGJvdGggaW4gdGhlIERURCBhbmQgaW4gdGhlIFNjaGVtYXMgPGdyaW4vPgorCSogcmVsYXhuZy5jOiBtb3JlIGRlYnVnLCBhZGRlZCBhIGJpZyBvcHRpbWl6YXRpb24gZm9yIDxtaXhlZD4KKwkqIHRlc3QvcmVsYXhuZy90ZXN0c3VpdGUueG1sOiBhdWdtZW50ZWQgdGhlIHRlc3RzdWl0ZQorCSogdGVzdC9yZWxheG5nLyByZXN1bHQvcmVsYXhuZzogYWRkZWQgdGhlIFJlbGF4Tkcgc3BlYyBhbmQgYSAKKwkgIERvY0Jvb2sgZXhhbXBsZSB0byB0aGUgcmVncmVzc2lvbiB0ZXN0cworCitXZWQgTWFyIDE5IDExOjM0OjEwIENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogY2hlY2steHNkZGF0YS10ZXN0LXN1aXRlLnB5OiBjb3NtZXRpYyBjaGFuZ2UgZm9yIG91dHB1dAorCSogcmVsYXhuZy5jOiB0cnkgdG8gbWluaW1pemUgY2FsbHMgdG8gbWFsbG9jL2ZyZWUgZm9yIHN0YXRlcy4KKworVHVlIE1hciAxOCAxNzo1MDozMSBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHRyZWUuYzogcmVtb3ZlZCBhIHdhcm5pbmcKKwkqIHhtbHNjaGVtYXN0eXBlcy5jOiBtb3JlIGNsZWFudXAsIGFkZGVkIEVOVElUWSBhbmQgRU5USVRJRVMKKwkgIHN1cHBvcnQKKwkqIGNoZWNrLXJlbGF4bmctdGVzdC1zdWl0ZS5weSBjaGVjay14c2RkYXRhLXRlc3Qtc3VpdGUucHk6CisJICBjbGVhbnVwL2ltcHJvdmVtZW50cyBvZiB0aGUgcmVncmVzc2lvbiB0ZXN0cyBiYXRjaAorCSogdGVzdC9yZWxheG5nL3Rlc3RzdWl0ZS54bWw6IGF1Z21lbnRlZCBsaWJ4bWwyIG93biB0ZXN0c3VpdGUKKworVHVlIE1hciAxOCAxMjozNjoyMiBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHJlbGF4bmcuYzogZml4ZWQgZXJyb3IgbXNnIGNsZWFudXAgZGVhbGxvY2F0aW9uCisJKiB4bWxzY2hlbWFzdHlwZXMuYzogYWRkZWQgYSBmdW5jdGlvbiB0byBoYW5kbGUgbGlzdHMgb2YKKwkgIGF0b21pYyB0eXBlcywgYWRkZWQgc3VwcG9ydCBmb3IgSURSRUZTCisKK1R1ZSBNYXIgMTggMDE6Mjg6MTUgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiByZWxheG5nLmMgdmFsaWQuYyB4bWxzY2hlbWFzdHlwZXMuYzogYWRkZWQgRGF0YXR5cGUgSUQKKwkgIGFuZCBJRFJFRiwgdXNhYmxlIGZyb20gUmVsYXhORyBub3cKKwkqIGluY2x1ZGUvbGlieG1sL3htbHNjaGVtYXN0eXBlcy5oOiBuZWVkIHRvIGFkZCBhIG5ldyBpbnRlcmZhY2UKKwkgIGJlY2F1c2UgdGhlIHZhbGlkYXRpb24gbW9kaWZpZXMgdGhlIGluZm9zZXQKKwkqIHRlc3QvcmVsYXhuZy90ZXN0c3VpdGUueG1sOiBleHRlbmRlZCB0aGUgdGVzdHN1aXRlCisKK01vbiBNYXIgMTcgMTY6MzQ6MDcgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiByZWxheG5nLmM6IGZpeGVkIHRoZSBsYXN0IGNvcmUgUmVsYXhORyBidWcga25vd24gIzEwNzA4MywKKwkgIHNoZW1hcyBkYXRhdHlwZSBJRC9JRFJFRiBzdXBwb3J0IHN0aWxsIG1pc3NpbmcgdGhvdWdoLgorCSogeG1scmVhZGVyLmM6IGZpeCBhIGNyYXNoaW5nIGJ1ZyB3aXRoIHByZWZpeCByYWlzZWQgYnkKKwkgIE1lcmlqbiBCcm9lcmVuCisJKiB0ZXN0L3JlbGF4bmcvdGVzdHN1aXRlLnhtbDogYXVnbWVudGVkIHRoZSB0ZXN0c3VpdGUgd2l0aAorCSAgY29tcGxleCBpbmhlcml0YW5jZSB0ZXN0cworCitTdW4gTWFyIDE2IDE4OjQ1OjUwIENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcmVsYXhuZy5jOiBzd2l0Y2hlZCBiYWNrIHRvIHRoZSBwcmV2aW91cyBSZWxheC1ORyBjb2RlIGJhc2UsCisJICB0aGUgZGVyaXZhdGlvbiBhbGdvcml0aG0gbmVlZCBzZXZlcmUgY29uc3RyYWluaW5nIGNvZGUgdG8gYXZvaWQKKwkgIGNvbWJpbmF0b3JpYWwgZXhwbG9zaW9uLiBGaXhlZCB0aGUgcHJvYmxlbSB3aXRoIFNlYmFzdGlhbiBSYWh0egorCSAgVEVJIGJhc2VkIGV4YW1wbGUgYW5kIG90aGVyIGJ1Z3MKKwkqIHJlc3VsdC9yZWxheG5nLyplcnI6IHVwZGF0ZWQgdGhlIHJlc3VsdHMKKwkqIHRlc3QvcmVsYXhuZy90ZXN0c3VpdGUueG1sOiBzdGFydGVkIGEgbmV3IHRlc3Qgc3VpdGUgCisKK1NhdCBNYXIgMTUgMjI6MjY6NDYgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiByZWxheG5nLmMgaW5jbHVkZS9saWJ4bWwvcmVsYXhuZy5oOiBBZnRlciBjb21pbmcgdG8gdGhlIGNvbmNsdXNpb24KKwkgIHRoYXQgdGhlIG9yaWdpbmFsIFJlbGF4TkcgdmFsaWRhdGlvbiBjb2RlIHdhcyB1bi1maXhlYWJsZSwgaXQgZ290CisJICByZXdyaXR0ZW4gdG8gdXNlIHRoZSBkZXJpdmF0aW9uIGFsZ29yaXRobSBmcm9tIEphbWVzIENsYXJrIGFuZAorCSAgcmVkZWJ1Z2dlZCBpdCAobmVhcmx5KSBmcm9tIHNjcmF0Y2g6CisJICBmb3VuZCAzNzMgdGVzdCBzY2hlbWFzOiAzNzIgc3VjY2VzcyAxIGZhaWx1cmVzCisJICBmb3VuZCA1MjkgdGVzdCBpbnN0YW5jZXM6IDUyOSBzdWNjZXNzIDAgZmFpbHVyZXMKKworVHVlIE1hciAxMSAxMjowODoyMyBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIFNBWC5jIHBhcnNlci5jOiBmaXggc29tZSByZWN1cnNpb24gcHJvYmxlbXMgaW50cm9kdWNlZCBpbiB0aGUKKwkgIGxhc3QgcmVsZWFzZS4KKwkqIHJlbGF4bmcuYzogbW9yZSBkZWJ1Z2dpbmcgb2YgdGhlIFJORyB2YWxpZGF0aW9uIGVuZ2luZSwgc3RpbGwKKwkgIHByb2JsZW1zIHRob3VnaC4KKworTW9uIE1hciAxMCAxNDoxMDo0NyBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIE1ha2VmaWxlLmFtOiBzdG9wIGdlbmVyYXRpbmcgd3JvbmcgcmVzdWx0IGZpbGUgd2l0aCAqIGluIG5hbWUKKwkqIHJlbGF4bmcuYzogZml4aW5nIHRoZSBpbmNsdWRlIGJ1ZyByYWlzZWQgYnkgU2ViYXN0aWFuIFJhaHR6CisJKiByZXN1bHQvcmVsYXhuZy9kZW1vKiB0ZXN0L3JlbGF4bmcvZGVtbzogYWRkZWQgdGhlIHRlc3RzIGZyb20KKwkgIFNlYmFzdGlhbiByZXByb2R1Y2luZyB0aGUgcHJvYmxlbS4KKworU3VuIE1hciAgOSAxODowMjozMSBNU1QgMjAwMyBKb2huIEZsZWNrIDxqZmxlY2tAaW5rc3RhaW4ubmV0PgorCisJKiBkb2MveG1sbGludC4xOiByZWdlbmVyYXRpbmcgbWFuIHBhZ2UgZnJvbSB4bWxsaW50LnhtbCB0byBwaWNrCisJICB1cCBBbGVrc2V5J3MgY2hhbmdlCisKK1N1biBNYXIgIDkgMTM6NTM6MTYgMjAwMyAgQWxla3NleSBTYW5pbiAgPGFsZWtzZXlAYWxla3NleS5jb20+CisKKwkqIHhtbGxpbnQuYyBkb2MveG1sbGludC54bWw6IHVzZSAkWE1MTElOVF9JTkRFTlQgZW52aXJvbm1lbnQKKwl2YXJpYWJsZSB0byBjb250cm9sIHRoZSBpbmRlbnRhdGlvbiBmb3IgdGhlIHhtbGxpbnQgIi0tZm9ybWF0IiAKKwlvcHRpb24KKworU2F0IE1hciAgOCAxNDoyNzo0MyBDRVQgMjAwMyBJZ29yIFpsYXRrb3ZpYyA8aWdvckB6bGF0a292aWMuY29tPgorCisJKiBlbmNvZGluZy5jOiBhcHBsaWVkIEdlbm5hZHkncyBwYXRjaCBhZ2FpbnN0IGJ1ZmZlciBvdmVycnVuCisKK0ZyaSBNYXIgIDcgMTk6Mjk6NDAgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB0ZXN0L3hzZHRlc3QveHNkdGVzdC54bWwgdXJpLmM6IGFmdGVyIGFuZCBleGNoYW5nZSB3aXRoIEphbWVzCisJICBDbGFyayBpdCBhcHBlYXJlZCBJIGhhZCBidWcgaW4gVVJJIHBhcnNpbmcgY29kZSAuLi4KKwkqIHJlbGF4bmcuYyBpbmNsdWRlL2xpYnhtbC9yZWxheG5nLmg6IGNvbXBsZXRlbHkgcmV2YW1wZWQgZXJyb3IKKwkgIHJlcG9ydGluZyB0byBub3QgbG9vc2UgbWVzc2FnZSBmcm9tIG9wdGlvbmFsIHBhcnRzLgorCSogeG1sbGludC5jOiBhZGRlZCB0aW1pbmcgZm9yIFJORyB2YWxpZGF0aW9uIHN0ZXBzCisJKiByZXN1bHQvcmVsYXhuZy8qOiB1cGRhdGVkIHRoZSByZXN1bHQsIGFsbCBlcnJvciBtZXNzYWdlcyBjaGFuZ2VkCisKK0ZyaSBNYXIgIDcgMTU6MTg6MzIgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4cGF0aC5jOiBmaXggYnVnICMxMDc4MDQsIHRoZSBhbGdvcml0aG0gdXNlZCBmb3IgZG9jdW1lbnQgb3JkZXIKKwkgIGNvbXB1dGF0aW9uIHdhcyBmYWlsaW5nIG9uIGF0dHJpYnV0ZXMuCisKK1RodSBNYXIgIDYgMjI6MzU6NTAgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB2YWxpZC5jOiBmaXggYnVnICMxMDc3NjQgLCBwb3NzaWJpbGl0eSBvZiBidWZmZXIgb3ZlcmZsb3cKKwkgIGluIHhtbFZhbGlkRGVidWcoKQorCitXZWQgTWFyICA1IDE3OjQxOjM3IENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogbmFub2Z0cC5jIGluY2x1ZGUvbGlieG1sL25hbm9mdHAuaDogYWRkaW5nIHhtbE5hbm9GVFBEZWxlKCkKKwkgIGZyb20gUGhpbGlwcCBEdW5rZWwKKworV2VkIE1hciAgNSAxMDo1NzowOSBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbHNjaGVtYXN0eXBlLmM6IG1hZGUgcG93dGVuIGFycmF5IHN0YXRpYyBpdCBzaG91bGQgbm90IGJlIGV4cG9ydGVkCisJKiBIVE1McGFyc2VyLmM6IGZpeCBidWcgIzEwNzM2MSBieSByZXVzaW5nIHRoZSBjb2RlIGZyb20gdGhlIFhNTCAKKwkgIHBhcnNlciBmdW5jdGlvbi4KKwkqIHRlc3RIVE1MLmM6IGdldCByaWQgb2YgdmFsZ3JpbmQgbWVzc2FnZXMgb24gdGhlIEhUTUwgU0FYIHRlc3RzCisKK0ZyaSBGZWIgMjggMDA6MjM6MDAgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB0cmVlLmM6IGZpeGVkIGEgbm9kZSBkdW1wIGNyYXNoIG9uIGF0dHJpYnV0ZXMKKwkqIHRlc3QveHNkdGVzdC94c2R0ZXN0LnhtbCB0ZXN0L3hzZHRlc3QveHNkdGVzdC54c2w6IGZpeGVkCisJICBhbiBVUkkgdGVzdCBidWcgYW5kIGdldCBiZXR0ZXIgb3V0cHV0LgorCitUaHUgRmViIDI3IDIyOjI4OjQwIENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogY2hlY2steHNkZGF0YS10ZXN0LXN1aXRlLnB5OiBnaXZlIG1vcmUgaW5mb3MKKwkqIHJlbGF4bmcuYzogZml4IGEgYnVnIHJlcG9ydGVkIGJ5IFNlYmFzdGlhbiBSYWh0eiBhbmQKKwkgIFJFRi0+REVGIGluIGF0dHJpYnV0ZSB2YWx1ZXMuCisKK1RodSBGZWIgMjcgMjE6MDk6MzIgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBjaGVjay14c2RkYXRhLXRlc3Qtc3VpdGUucHkgdGVzdC94c2R0ZXN0L3hzZHRlc3QueG1sCisJICB0ZXN0L3hzZHRlc3QveHNkdGVzdC54c2w6IGltcG9ydCBvZiB0aGUgWFNEIERhdGF0eXBlCisJICByZWdyZXNzaW9uIHRlc3RzIGZyb20gSmFtZXMgQ2xhcmsuCisKK1RodSBGZWIgMjcgMTg6NDA6MDQgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiByZWxheG5nLmMgeG1sc2NoZW1hcy5jIHhtbHNjaGVtYXN0eXBlcy5jCisJICBpbmNsdWRlL2xpYnhtbC94bWxzY2hlbWFzdHlwZXMuaDogYWRkZWQgcGFyYW0gc3VwcG9ydCBmb3IgcmVsYXhuZworCSAgdHlwZSBjaGVja2luZywgc3RhcnRlZCB0byBpbmNyZW1lbnQgdGhlIHBvb2wgb2Ygc2ltcGxlIHR5cGVzCisJICByZWdpc3RlcmVkLCBzdGlsbCBtdWNoIHdvcmsgdG8gYmUgZG9uZSBvbiBzaW1wbGUgdHlwZXMgYW5kCisJICBmYWNldHMgY2hlY2tpbmdzLgorCitXZWQgRmViIDI2IDE2OjQ1OjM5IENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZW50aXRpZXMuYzogZml4ZXMgYWdhaW4gb25lIG9mIHRoZSBwcm9ibGVtIHJhaXNlZCBieQorCSAgSmFtZXMgQ2xhcmsgaW4gIzEwNjc4OAorCitXZWQgRmViIDI2IDE1OjQ2OjQ4IENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcmVsYXhuZy5jOiBGaXhlZCBhIGNvdXBsZSBvZiBwcm9ibGVtIHJhaXNlZCBieSBKYW1lcyBDbGFyaworCSAgaW4gYnVnICMxMDcwODMsIHRoZSBzdXBwb3J0IGZvciBJRC9JRFJFRi9JRFJFRlMgYXQgdGhlIFdYUworCSAgZGF0YXR5cGUgbGV2ZWwgc3RpbGwgbm90IGZpeGVkIHRob3VnaC4KKworTW9uIEZlYiAyNCAyMTowOToxOSBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGNvbmZpZ3VyZS5pbjogcHJlcGFyaW5nIHJlbGVhc2UgMi41LjQKKwkqIGRvYy8qOiB1cGRhdGVkIGFuZCByZWJ1aWx0IHRoZSBkb2NzCisJKiByZWxheG5nLmM6IHJlbW92ZWQgd2FybmluZ3MKKwkqIHJlc3VsdC9yZWxheG5nLyo6IHVwZGF0ZWQgdGhlIHJlc3VsdHMKKworTW9uIEZlYiAyNCAyMDo1MzoxNyBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHZhbGlkLmM6IGZpeGVzIGEgRFREIHJlZ2V4cCBnZW5lcmF0aW9uIHByb2JsZW0uCisKK01vbiBGZWIgMjQgMjA6MTI6NTcgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBwYXJzZXIuYzogZml4ZXMgYnVnICMxMDU5OTggYWJvdXQgZmFsc2UgZGV0ZWN0aW9uIG9mCisJICBhdHRyaWJ1dGUgY29uc3VtcHRpb24gbG9vcC4KKworTW9uIEZlYiAyNCAxOToxNDo1NyBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhpbmNsdWRlLmM6IEZpeGVzIGJ1ZyAjMTA2OTMxIGluIFhJbmNsdWRlIGVudGl0aWVzIG1lcmdpbmcuCisKK01vbiBGZWIgMjQgMTg6NTA6MzUgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBTQVguYzogZml4ZWQgYnVnICMxMDU5OTIKKworTW9uIEZlYiAyNCAxODoxNDoxNiBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHRyZWUuYzogZml4ZWQgeG1sU2V0UHJvcCBhbmQgYWwuIHdoZW4gdGhlIG5vZGUgcGFzc2VkIGlzIG5vdCBhbgorCSAgZWxlbWVudC4KKwkqIHJlbGF4bmcuYzogZml4ZWQgYnVncyA3LjMgKHRob3VnaCBub3QgY29tcGxldGUpIGFuZCBtZW1vcnkgbGVha3MKKwkgIGZvdW5kIDM3MyB0ZXN0IHNjaGVtYXM6IDM2OSBzdWNjZXNzIDQgZmFpbHVyZXMKKwkgIGZvdW5kIDUyOSB0ZXN0IGluc3RhbmNlczogNTI1IHN1Y2Nlc3MgNCBmYWlsdXJlcworCSogY2hlY2stcmVsYXhuZy10ZXN0LXN1aXRlLnB5OiBhZGRlZCBtZW1vcnkgZGVidWcgcmVwb3J0aW5nCisKK01vbiBGZWIgMjQgMTI6NDE6NTQgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB1cmkuYyBwYXJzZXIuYzogc29tZSB3YXJuaW5nIHJlbW92YWwgb24gSWdvcidzIHBhdGNoCisJKiB0cmVlLmM6IHNlZW1zIEkgbWVzc2VkIHVwIHdpdGggIzEwNjc4OCBmaXgKKwkqIHB5dGhvbi9saWJ4bWwuYzogZml4ZWQgc29tZSBiYXNlIHByb2JsZW1zIHdoZW4gUHl0aG9uIHByb3ZpZGVzCisJICB0aGUgcmVzb2x2ZXIuCisJKiByZWxheG5nLmM6IGZpeGVkIHRoZSBpbnRlcmxlYXZlIGFsZ29yaXRobSAKKwkgIGZvdW5kIDM3MyB0ZXN0IHNjaGVtYXM6IDM2NCBzdWNjZXNzIDkgZmFpbHVyZXMKKwkgIGZvdW5kIDUyOSB0ZXN0IGluc3RhbmNlczogNTI1IHN1Y2Nlc3MgNCBmYWlsdXJlcworCSAgdGhlIHJlc3VsdGluZyBmYWlsdXJlcyBhcmUgYnVnIGluIHRoZSBhbGdvcml0aG0gZnJvbSA3LjMgYW5kCisJICBsYWNrIG9mIHN1cHBvcnQgZm9yIHBhcmFtcworCitTdW4gRmViIDIzIDE0OjQ5OjM5IENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcGFyc2VyLmM6IGFub3RoZXIgZml4IGZvciBub2RlaW5mbyBpbiBlbnRpdGllcyBwcm9ibGVtCisJKiB0cmVlLmMgZW50aXRpZXMuYzogZml4ZWQgYnVnICMxMDY3ODggZnJvbSBKYW1lcyBDbGFyaworCSAgc29tZSBzcGFjZXMgbmVlZCB0byBiZSBzZXJpYWxpemVkIGFzIGNoYXJhY3RlciByZWZlcmVuY2VzLgorCitTYXQgRmViIDIyIDE4OjI4OjE2IENFVCAyMDAzIElnb3IgWmxhdGtvdmljIDxpZ29yQHpsYXRrb3ZpYy5jb20+CisKKwkqIHBhcnNlci5jIHVyaS5jOiBmaXhlZCB0aGUgYnVnIEkgaW50cm9kdWNlZCBpbiB0aGUgcGF0aAorCSAgaGFuZGxpbmcsIHJlcG9ydGVkIGJ5IFNlYmFzdGlhbiBCZXJnbWFubgorCitTYXQgRmViIDIyIDAwOjE5OjQ4IENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcGFyc2VyLmM6IGZpeGluZyBzb21lIG5vZGVpbmZvIGluIGVudGl0aWVzIHByb2JsZW0gcmFpc2VkCisJICBieSBHbGVubiBXLiBCYWNoCisJKiByZWxheG5nLmM6IGltcGxlbWVudGVkIHRoZSBmaXJzdCBzZWN0aW9uIDcuMyBjaGVjaworCSogcmVzdWx0L3JlbGF4bmcvKjogdXBkYXRlZCB0aGUgcmVzdWx0cworCitGcmkgRmViIDIxIDE4OjEyOjE5IENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcmVsYXhuZy5jOiBmaXhlZCBzb21lIHByb2JsZW1zIGluIHRoZSBwcmV2aW91cyBjb21taXQKKwkgIGFuZCBmaW5pc2hlZCBpbXBsZW1lbnRpbmcgNC4xNiBydWxlcyBjaGVja2luZworCSAgZm91bmQgMzczIHRlc3Qgc2NoZW1hczogMzUzIHN1Y2Nlc3MgMjAgZmFpbHVyZXMKKwkgIGZvdW5kIDUyOSB0ZXN0IGluc3RhbmNlczogNTE5IHN1Y2Nlc3MgNiBmYWlsdXJlcworCSogcmVzdWx0L3JlbGF4bmcvKjogdXBkYXRlZCB0aGUgcmVzdWx0cworCitGcmkgRmViIDIxIDE2OjM3OjM5IENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcmVsYXhuZy5jOiBpbXBsZW1lbnRlZCBjaGVja3MgZnJvbSBzZWN0aW9uIDcuMgorCitUaHUgRmViIDIwIDE2OjAwOjMxIENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcmVsYXhuZy5jOiBpbXBsZW1lbnRlZCB0aGUgY2hlY2tzIGZyb20gc2VjdGlvbiA3LjEsIGZpeGVkCisJICBzb21lIG9mIHRoZSA0LjIwIGFuZCA0LjIxIHByb2JsZW1zLgorCSAgZm91bmQgMzczIHRlc3Qgc2NoZW1hczogMzM4IHN1Y2Nlc3MgMzUgZmFpbHVyZXMKKwkgIGZvdW5kIDUyOSB0ZXN0IGluc3RhbmNlczogNTE5IHN1Y2Nlc3MgNiBmYWlsdXJlcworCSogcmVzdWx0L3JlbGF4bmcvKjogdXBkYXRlZCB0aGUgcmVzdWx0cworCitUaHUgRmViIDIwIDAxOjA5OjI0IENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcmVsYXhuZy5jOiBpbXBsZW1lbnRlZCB0aGUgNC4yMCBhbmQgNC4yMSBzaW1wbGlmaWNhdGlvbiBydWxlcy4KKwkqIHJlc3VsdC9yZWxheG5nLyo6IHVwZGF0ZWQgdGhlIHJlc3VsdHMKKworV2VkIEZlYiAxOSAxODozMDozMCBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHJlbGF4bmcuYzogbW9yZSBidWdmaXhlcworCSogcmVzdWx0L3JlbGF4bmcvKjogdXBkYXRlZCB0aGUgcmVzdWx0cworCitXZWQgRmViIDE5IDE1OjM5OjU2IENFVCAyMDAzIElnb3IgWmxhdGtvdmljIDxpZ29yQHpsYXRrb3ZpYy5jb20+CisKKwkqIERPQ0JwYXJzZXIuYzogb2Jzb2xldGVkIHhtbE5vcm1hbGl6ZVdpbmRvd3NQYXRoCisJKiBIVE1McGFyc2VyLmM6IG9ic29sZXRlZCB4bWxOb3JtYWxpemVXaW5kb3dzUGF0aAorCSogU0FYLmM6IGVuc3VyZWQgeG1sRG9jLlVSTCBpcyBhbHdheXMgY2Fub25pYworCSogcGFyc2VyLmM6IG9ic29sZXRlZCB4bWxOb3JtYWxpemVXaW5kb3dzUGF0aAorCSogdXJpLmMgaW5jbHVkZS9saWJ4bWwvdXJpLmg6IGludHJvZHVjZWQgeG1sQ2Fub25pY1BhdGgKKwkqIHhtbElPLmMgaW5jbHVkZS9saWJ4bWwveG1sSU8uaDogb2Jzb2xldGVkIHhtbE5vcm1hbGl6ZVdpbmRvd3NQYXRoCisJKiB3aW4zMi9saWJ4bWwyLmRlZi5zcmM6IGFkZGVkIGZldyBleHBvcnRzCisKK1dlZCBGZWIgMTkgMTQ6MjY6NTEgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBNYWtlZmlsZS5hbSBjb25maWd1cmUuaW46IHBhdGNoZWQgdG8gaGF2ZSBzaGFyZWQgbGlicmFyaWVzCisJICBmb3IgUHl0aG9uIHJlZ3Jlc3Npb24gdGVzdHMgYW5kIHN0YXRpYyBiaW5hcmllcyBmb3IgZ2RiIGRlYnVnCisJICBpbiBteSBkZXZlbG9wbWVudCBlbnZpcm9ubWVudAorCSogcmVsYXhuZy5jOiBtb3JlIGJ1Z2ZpeGVzIAorCSAgZm91bmQgMzczIHRlc3Qgc2NoZW1hczogMjk2IHN1Y2Nlc3MgNzcgZmFpbHVyZXMKKwkgIGZvdW5kIDUyOSB0ZXN0IGluc3RhbmNlczogNTE2IHN1Y2Nlc3MgOCBmYWlsdXJlcworCSogcmVzdWx0L3JlbGF4bmcvKjogdXBkYXRlZCB0aGUgcmVzdWx0cworCitXZWQgRmViIDE5IDAxOjE3OjQ4IENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcmVsYXhuZy5jOiBndWVzcyB3aGF0ICEgUmVsYXgtTkcgYnVnZml4aW5nLCB3aGF0IGEgc3VycHJpemUuLi4KKworVHVlIEZlYiAxOCAyMjowOTo1MCBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbHNjaGVtYXN0eXBlcy5jOiBmbG9hdC9kb3VibGUgY2hlY2sgYnVnZml4CisJKiB0cmVlLmMgaW5jbHVkZS9saWJ4bWwvdHJlZS5oOiBleHBvcnRlZCBhIGZ1bmN0aW9uIGZvciBOTVRPS0VOCisJICB2YWxpZGF0aW9uCisJKiB4bWxyZWFkZXIuYzogYWRkIGEgVE9ETyBmb3IgSm9keQorCSogcmVsYXhuZy5jOiBidWdmaXggYnVnZml4IGJ1Z2ZpeAorCSAgZm91bmQgMzczIHRlc3Qgc2NoZW1hczogMzAwIHN1Y2Nlc3MgNzMgZmFpbHVyZXMKKwkgIGZvdW5kIDUyOSB0ZXN0IGluc3RhbmNlczogNTA3IHN1Y2Nlc3MgMTAgZmFpbHVyZXMKKwkqIHJlc3VsdC9yZWxheG5nLyo6IHVwZGF0ZWQgdGhlIHJlc3VsdHMKKworVHVlIEZlYiAxOCAwMDozMzoxNyBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHJlbGF4bmcuYyBjaGVjay1yZWxheG5nLXRlc3Qtc3VpdGUucHk6IG1vcmUgUmVsYXhORyBidWcgaHVudGluZworCitNb24gRmViIDE3IDE4OjIzOjMyIENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcmVsYXhuZy5jIGNoZWNrLXJlbGF4bmctdGVzdC1zdWl0ZS5weTogbW9yZSB3b3JrIG9uIHRoZQorCSAgUmVsYXhORyBpbXBsZW1lbnRhdGlvbiBjb25mb3JtYW5jZSB0ZXN0aW5nLgorCSAgZm91bmQgMzczIHRlc3Qgc2NoZW1hczogMjg0IHN1Y2Nlc3MgODkgZmFpbHVyZXMKKwkgIGZvdW5kIDUyOSB0ZXN0IGluc3RhbmNlczogNDQ4IHN1Y2Nlc3MgNDcgZmFpbHVyZXMKKwkqIHJlc3VsdC9yZWxheG5nLyo6IHVwZGF0ZWQgdGhlIHJlc3VsdHMKKworU3VuIEZlYiAxNiAxNjo0ODozOCBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIENoYW5nZUxvZyB0cmVlLmMgZG9jL2xpYnhtbC1kb2MuZWwgZG9jL2xpYnhtbDItYXBpLnhtbDogYXBwbGllZAorCSAgYSBwYXRjaCBmcm9tIEtqYXJ0YW4gTWFyYWFzIHRvIGZpeCBzb21lIHR5cG9zCisKK1N1biBGZWIgMTYgMTY6NDA6NTIgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiByZWxheG5nLmM6IG1vcmUgYnVnLWh1bnRpbmcKKwkqIHRlc3RSZWxheC5jIGluY2x1ZGUvbGlieG1sL3JlbGF4bmcuaDogYWRkZWQgLS10cmVlIHRvIGR1bXAgdGhlCisJICBpbnRlcm1lZGlhdGUgcm5nIHRyZWUKKwkqIHB5dGhvbi9nZW5lcmF0b3IucHk6IHBhdGNoIGZyb20gU3TDqXBoYW5lIEJpZG91bCB0byBmaXggdGhlIGdlbmVyYXRvcgorCSAgb24gcHl0aG9uIDwgMi4yCisKK0ZyaSBGZWIgMTQgMTc6NDk6MjYgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBjaGVjay1yZWxheG5nLXRlc3Qtc3VpdGUucHkgcmVsYXhuZy5jOiBtb3JlIHRlc3Rpbmcgb24gdGhlCisJICBSZWxheC1ORyBmcm9udCwgY2xlYW5pbmcgdXAgdGhlIHJlZ3Jlc3Npb24gdGVzdHMgZmFpbHVyZXMKKwkgIGN1cnJlbnQgc3RhdGUgYW5kIEkgZm9yZ290IHN1cHBvcnQgZm9yICJtaXhlZCI6CisJICBmb3VuZCAzNzMgdGVzdCBzY2hlbWFzOiAyODAgc3VjY2VzcyA5MyBmYWlsdXJlcworCSAgZm91bmQgNTI5IHRlc3QgaW5zdGFuY2VzOiA0MDEgc3VjY2VzcyA2OCBmYWlsdXJlcworCSogdHJlZS5jIGluY2x1ZGUvbGlieG1sL3RyZWUuaCB4bWxzY2hlbWFzdHlwZXMuYzogZmluaXNoZWQgYW5kCisJICBtb3ZlZCB0aGUgTmFtZSwgTkNOYW1lIGFuZCBRTmFtZSB2YWxpZGF0aW9uIHJvdXRpbmUgaW4gdHJlZS5jCisJKiB1cmkuYzogZml4ZWQgaGFuZGxpbmcgb2YgVVJJIGVuZGluZyB1cCB3aXRoICMsIGkuZS4gaGF2aW5nCisJICBhbiBlbXB0eSBmcmFnbWVudCBJRC4KKwkqIHJlc3VsdC9yZWxheG5nLyo6IHVwZGF0ZWQgdGhlIHJlc3VsdHMKKworVGh1IEZlYiAxMyAxNjo0OToyNCBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGNoZWNrLXhpbmNsdWRlLXRlc3Qtc3VpdGUucHk6IGltcHJvdmVkIHRoZSBzY3JpcHQgYWNjb3JkaW5nbHkKKwkgIHRvIHRoZSBYSW5jbHVkZSByZWdyZXNzaW9uIHRlc3RzIHVwZGF0ZXMKKwkqIHhwb2ludGVyLmM6IEltcGxlbWVudGVkIFhQb2ludGVyIGVsZW1lbnQoKSBTY2hlbWUgVzNDIFBSIG9mIDEzCisJICBOb3ZlbWJlciAyMDAyCisJKiByZXN1bHQvWFBhdGgveHB0ci9jaGFwdGVyc2NoaWxkc2VxIHJlc3VsdC9YUGF0aC94cHRyL3ZpZGNoaWxkc2VxCisJICB0ZXN0L1hQYXRoL3hwdHIvY2hhcHRlcnNjaGlsZHNlcSB0ZXN0L1hQYXRoL3hwdHIvdmlkY2hpbGRzZXE6CisJICBhdWdtZW50ZWQgdGhlIFhwb2ludGVyIHRlc3RzdWl0ZSBmb3IgdGhlIGVsZW1lbnQoKSBzY2hlbWUKKworVGh1IEZlYiAxMyAxMjowMDozMCBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHJlbGF4bmcuYzogYWRkZWQgVE9ETyBmb3IgdGhlIERURCBjb21wYXRpYmlsaXR5IHNwZWMKKwkqIHhpbmNsdWRlLmM6IG1vcmUgYnVnIGZpeGVzIGRyaXZlbiBieSB0aGUgdGVzdHN1aXRlIAorCitUdWUgRmViIDExIDE5OjAxOjAyIENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogY2hlY2steGluY2x1ZGUtdGVzdC1zdWl0ZS5weSB4aW5jbHVkZS5jOiBXb3JrIG9uIHRoZSBXM0MvTklTVAorCSAgcmVncmVzc2lvbiB0ZXN0cyBmb3IgWEluY2x1ZGUsIGltcHJvdmVkIHRoZSBzY3JpcHQsIGltcHJvdmluZworCSAgWEluY2x1ZGUgZXJyb3IgcmVwb3J0aW5nIG1lY2hhbmlzbQorCitNb24gRmViIDEwIDE3OjE5OjE0IENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogTkVXUyBkb2MvKiBjb25maWd1cmUuaW46IHByZXBhcmluZyByZWxlYXNlIDIuNS4zCisKK01vbiBGZWIgMTAgMTc6MTE6MjIgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB0cmVlLmM6IHRyeWluZyB0byBmaXggIzEwNDkzNCBhYm91dCBzb21lIFhIVE1MMSBzZXJpYWxpemF0aW9uCisJICBpc3N1ZXMuCisKK01vbiBGZWIgMTAgMTY6NDE6MTMgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBlbmNvZGluZy5jIHhtbElPLmM6IGZpeGluZyBidWcgIzEwNDY0NiBhYm91dCBpY29udiBiYXNlZAorCSAgZW5jb2RpbmcgY29udmVyc2lvbiB3aGVuIHRoZSBpbnB1dCBidWZmZXIgc3RvcHMgaW4gdGhlCisJICBtaWRkbGUgb2YgYSBtdWx0aWJ5dGUgY2hhcgorCitNb24gRmViIDEwIDE1OjI0OjQ3IENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogdGVzdC9yZWxheG5nL09BU0lTL3NwZWN0ZXN0LnhtbDogT0FTSVMgUmVsYXhORyB0ZXN0c3VpdGUKKwkqIGNoZWNrLXJlbGF4bmctdGVzdC1zdWl0ZS5weTogcHl0aG9uIHNjcmlwdCB0byBydW4gcmVncmVzc2lvbgorCSAgYWdhaW5zdCBPQVNJUyBSZWxheE5HIHRlc3RzdWl0ZQorCSogcmVsYXhuZy5jOiBzb21lIGNsZWFudXAgdHdlYWtzCisJKiBIVE1McGFyc2VyLmMgZ2xvYmFscy5jOiBjbGVhbnVwcyBpbiBjb21tZW50cworCSogZG9jL2xpYnhtbDItYXBpLnhtbDogdXBkYXRlZCB0aGUgQVBJCisJKiByZXN1bHQvcmVsYXhuZy8qOiBlcnJvcnMgbW92ZWQgZmlsZXMsIHNvIGxhcmdlIGRpZmZzIGJ1dAorCSAgbm8gY2hhbmdlcyBhdCB0aGUgc2VtYW50aWMgbGV2ZWwuCisKK01vbiBGZWIgMTAgMDE6MDA6MzEgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB0cmVlLmM6IGZpeGluZyAjMTA1Njc4IHByb2JsZW0gd2hlbiBkdW1waW5nIGEgbmFtZXNwYWNlIG5vZGUuCisKK01vbiBGZWIgMTAgMDA6MzA6MDEgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4cGF0aC5jOiBmaXhlZCBkb2MgY29tbWVudCBwcm9ibGVtcworCSogcHl0aG9uL2dlbmVyYXRvci5weSBweXRob24vbGlieG1sX3dyYXAuaCBweXRob24vdHlwZXMuYzogYWRkaW5nCisJICBSZWxheE5HIHdyYXBwZXJzCisJKiBweXRob24vdGVzdHMvTWFrZWZpbGUuYW0gcHl0aG9uL3Rlc3RzL3JlbGF4bmcucHk6IGFkZGVkIGEgc3BlY2lmaWMKKwkgIHRlc3Qgb2YgdGhvc2UgZWFybHkgUHl0aG9uIFJlbGF4TkcgYmluZGluZ3MKKworU3VuIEZlYiAgOSAxNToxODo0MyBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGxpYnhtbC5zcGVjLmluOiBmaXhlcyBhIGxpYnRvb2wgcHJvYmxlbSBvbiBBTUQgNjRiaXRzIGJ1aWxkcworCSogcmVsYXhuZy5jOiBmb3VuZCB0aGUgdmFsaWRhdGlvbiBwcm9ibGVtIEkgaGFkIHdpdGggaW50ZXJsZWF2ZQorCSAgd2hlbiBub3QgY292ZXJpbmcgYWxsIHJlbWFpbmluZyBzaWJsaW5ncworCSogTWFrZWZpbGUuYW0gdGVzdC5yZWxheG5nLyogcmVzdWx0L3JlbGF4bmcvKjogYXVnbWVudGVkIHRoZQorCSAgdGVzdHN1aXRlIGFuZCBjaGVjayB0aGUgUk5HIHNjaGVtYXMgYWdhaW5zdCB0aGUgUk5HIHNjaGVtYXMKKwkgIGdpdmVuIGluIGFwcGVuZGl4IEEKKworU2F0IEZlYiAgOCAxODo1NTo0MyBDRVQgMjAwMyBJZ29yIFpsYXRrb3ZpYyA8aWdvckB6bGF0a292aWMuY29tPgorCisJKiB3aW4zMi9NYWtlZmlsZS5tc3ZjOiB1cGRhdGVzIGZvciBSZWxheE5HCisJKiB3aW4zMi9NYWtlZmlsZS5taW5ndzogdXBkYXRlcyBmb3IgUmVsYXhORworCSogd2luMzIvbGlieG1sMi5kZWYuc3JjOiBhZGRlZCBSZWxheE5HIGV4cG9ydHMKKworRnJpIEZlYiAgNyAxNDowMDo1MyBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhpbmNsdWRlLmM6IGFwcGxpZWQgYW5vdGhlciBidWcgZml4IGZyb20gU2VhbiBDaGl0dGVuZGVuCisKK0ZyaSBGZWIgIDcgMTM6MzQ6MDggQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBjb25maWd1cmUuaW4geG1sbGludC5jOiBJIGYuLi5lZCB1cCB0aGUgZGVmYXVsdCBjb25maWd1cmF0aW9uCisJICBvZiBzY2hlbWFzIGFuZCAtLXJlbGF4bmcgb3B0aW9uIGRpc3BsYXkgaW4geG1sbGludCwgcG9pbnRlZCBieQorCSAgTW9ydXMgV2FsdGVyLgorCSogeGxpbmsuYzogU2VhbiBDaGl0dGVuZGVuIHBvaW50ZWQgYSBjb3VwbGUgb2YgZXJyb3JzIGluIHRoZSBYTGluaworCSAgZGV0ZWN0aW9uIG1vZHVsZSwgZml4ZXMgYnVnICMxMDUzNzQuCisKK0ZyaSBGZWIgIDcgMDE6NDM6MzggQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxzY2hlbWFzdHlwZXMuYzogYWRkZWQgdGhlIGJvb2xlYW4gYmFzZSB0eXBlLgorCitUaHUgRmViICA2IDEwOjIzOjUyIENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sc2NoZW1hc3R5cGVzLmM6IHN0YXJ0ZWQgaW1wbGVtZW50aW5nIHNvbWUgb2YgdGhlIG1pc3NpbmcKKwkgIGRlZmF1bHQgc2ltcGxlIHR5cGVzCisJKiByZXN1bHQvcmVsYXhuZy8qOiB1cGRhdGVkIHRoZSByZXN1bHRzCisKK1dlZCBGZWIgIDUgMTU6Mjg6MDQgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBORVdTIGRvYy8qOiB1cGRhdGVkIHRoZSBkb2NzLCByZWFkeSBmb3IgMi41LjIgcmVsZWFzZQorCitXZWQgRmViICA1IDE0OjE1OjU5IENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogSFRNTHBhcnNlci5jIHRyZWUuYyB4bWxJTy5jOiBjb21tZW50cyBjbGVhbnVwcworCSogTWFrZWZpbGUuYW06IHVzZSB4bWxsaW50IGZvciBkb2luZyB0aGUgUmVsYXhORyB0ZXN0cworCSogY29uZmlndXJlLmluOiBwcmVwYXJpbmcgMi41LjIgbWFkZSBzY2hlbWFzIHN1cHBvcnQgZGVmYXVsdCB0bworCSAgb24gaW5zdGVhZCBvZiBvZmYKKwkqIHJlbGF4bmcuYzogcmVtb3ZlZCB0aGUgdmVyYm9zaXR5CisJKiB4bWxsaW50LmM6IGFkZGVkIC0tcmVsYXhuZyBvcHRpb24KKwkqIHB5dGhvbi9nZW5lcmF0b3IucHkgcHl0aG9uL2xpYnhtbF93cmFwLmg6IHByZXBhcmVkIHRoZSBpbnRlZ3JhdGlvbgorCSAgb2YgdGhlIG5ldyBSZWxheE5HIG1vZHVsZSBhbmQgc2NoZW1hcworCSogcmVzdWx0L3JlbGF4bmcvKjogbGVzcyB2ZXJib3NlIG91dHB1dAorCitXZWQgRmViICA1IDEyOjAwOjM2IENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogdmFsaWQuYzogZG8gbm90IHJ1biBjb250ZW50IG1vZGVsIHZhbGlkYXRpb24gaWYgdGhlCisJICBjb250ZW50IGlzIG5vdCBkZXRlcm1pbmlzdAorCitXZWQgRmViICA1IDExOjQzOjU4IENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogU0FYLmM6IGFkZGVkIHRoZSByZWRlZmluaXRpb24gb2YgbmFtZXNwYWNlZCBhdHRyaWJ1dGUKKwkgIGNoZWNrIHRoYXQgd2FzIG1pc3NpbmcgYXMgRmFicmljZSBEZXNyw6kgcG9pbnRlZCBvdXQuCisKK1dlZCBGZWIgIDUgMTE6MDk6MjkgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBIVE1McGFyc2VyLmMgaW5jbHVkZS9saWJ4bWwvSFRNTHBhcnNlci5oOiBhcHBsaWVkIEhUTUwKKwkgIGltcHJvdmVtZW50cyBmcm9tIE5pY2sgS2V3LCBhbGxvd2luZyB0byBkbyBtb3JlIGNoZWNraW5nCisJICB0byBIVE1MIGVsZW1lbnRzIGFuZCBhdHRyaWJ1dGVzLgorCitUdWUgRmViICA0IDIzOjQ3OjA2IENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeGluY2x1ZGUuYzogZml4aW5nIGJ1ZyAjMTA1MTM3IGFib3V0IGVudGl0aWVzIGRlY2xhcmF0aW9uCisJICBuZWVkaW5nIHRvIGJlIGNvcGllZCB0byB0aGUgaW5jbHVkaW5nIGRvY3VtZW50LgorCitUdWUgRmViICA0IDIwOjI2OjIyIENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogY2F0YWxvZy5jOiBmaXhlZCBidWcgIzEwNDgxNyB3aXRoIGRlbGVnYXRlVVJJCisJKiB4cGF0aC5jOiBmaXhpbmcgYnVncyAjMTA0MTIzIGFuZCAjMTA0MTI1CisKK1R1ZSBGZWIgIDQgMTc6MTI6NTYgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBjb25maWd1cmUuaW4gdmFsaWQuYyB4bWxyZWFkZXIuYyBweXRob24vbGlieG1sX3dyYXAuaCAKKwkgIHB5dGhvbi90eXBlcy5jOiBmaXhpbmcgIzEwNDA5NiB0byBjb21waWxlIHdpdGhvdXQgcmVnZXhwcworCitUdWUgRmViICA0IDE2OjMxOjU1IENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogdmFsaWQuYzogZml4aW5nIGJ1ZyAjMTAzOTY5IGZvcmdvdCB0byBhZGQgYW4gZXBzaWxvbiB0cmFuc2l0aW9uCisJICB3aGVuIGJ1aWxkaW5nIHRoZSBhdXRvbWF0YSBmb3IgZWxlbSoKKworVHVlIEZlYiAgNCAxNjoyMTowNyBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIEhUTUxwYXJzZXIuYzogYXBwbGllZCBwYXRjaCBmcm9tIEFybmUgZGUgQnJ1aWpuIGZpeGluZyAKKwkgIGJ1ZyAjMTAzODI3CisKK1R1ZSBGZWIgIDQgMTY6MTc6MDkgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBIVE1McGFyc2VyLmM6IHVwZGF0aW5nIGEgY29tbWVudCwgZml4aW5nICMxMDM3NzYKKworVHVlIEZlYiAgNCAxNjowNTo1MyBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlci5jOiBmaXhpbmcgYnVnIDEwNTA0OSBmb3IgdmFsaWRpdHkgY2hlY2tpbmcgb2YgY29udGVudAorCSAgd2l0aGluIHJlY3Vyc2l2ZSBlbnRpdGllcy4KKworVHVlIEZlYiAgNCAxNTo0MDo1NCBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIEhUTUxwYXJzZXIuYzogdHJ5IHRvIGZpeCAjIDEwNTA0OQorCSogcmVsYXhuZy5jIHhtbHNjaGVtYXN0eXBlcy5jOiBhIGNvdXBsZSBvZiBjaGFuZ2VzIGFuZCBleHRlbnNpb25zCisJKiB0cmVlLmM6IHVwZGF0ZWQgYSBmdW5jdGlvbiBjb21tZW50CisKK1R1ZSBGZWIgIDQgMDA6MjA6NTggQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiByZWxheG5nOiBtb3JlIHdvcmsgb24gZ3JhbW1hcnMgYW5kIHJlZnMvZGVmcworCSogdGVzdC9yZWxheG5nLyogcmVzdWx0L3JlbGF4bmcvKjogYXVnbWVudGVkL3VwZGF0ZWQgdGhlCisJICByZWdyZXNzaW9uIHRlc3RzCisKK01vbiBGZWIgIDMgMTQ6MTY6NTkgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiByZWxheG5nOiBtb3JlIHdvcmsgb24gbmFtZSBjbGFzc2VzLCBleGNlcHQgc3VwcG9ydAorCSogdGVzdC9yZWxheG5nLyogcmVzdWx0L3JlbGF4bmcvKjogYXVnbWVudGVkL3VwZGF0ZWQgdGhlCisJICByZWdyZXNzaW9uIHRlc3RzCisKK01vbiBGZWIgIDMgMTE6NTY6MDUgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiByZWxheG5nOiBtb3JlIHdvcmsgb24gbmFtZSBjbGFzc2VzLCB0aGUgInZhbGlkYXRlIGFsbCIgc2NoZW1hcworCSAgc2VlbXMgdG8gd29yayBub3cuCisJKiB0ZXN0L3JlbGF4bmcvKiByZXN1bHQvcmVsYXhuZy8qOiBhdWdtZW50ZWQvdXBkYXRlZCB0aGUKKwkgIHJlZ3Jlc3Npb24gdGVzdHMKKworTW9uIEZlYiAgMyAwOTo1MDoyNiBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHB5dGhvbi9saWJ4bWwuYzogcmVtb3ZlZCBhbiB1bnByb3RlZHRlZCBkZWJ1ZyBtZXNzYWdlIEFsZWtzaSBTdWhvbmVuCisJKiBwYXJzZXIuYzogcHV0IGEgZ3VhcmQgYWdhaW5zdCBpbmZpbml0ZSBkb2N1bWVudCBkZXB0aCwgYmFzaWNhbGx5CisJICB0cnlpbmcgdG8gYXZvaWQgYW5vdGhlciBraW5kIG9mIERvUyBhdHRhY2suCisJKiByZWxheG5nLmM6IHNvbWUgY29kZSB3LnIudC4gbmFtZUNsYXNzZXMKKworU3VuIEZlYiAgMiAxNzowMTo0MyBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHRlc3QvcmVsYXhuZy8qIHJlc3VsdC9yZWxheG5nLyo6IGNoZWNrIGFsbCB0aGUgbmFtZXNwYWNlIHN1cHBvcnQKKwkgIHdhcyBhY3R1YWxseSBjb3JyZWN0IGJhc2VkIG9uIHR1dG9yaWFsIHNlY3Rpb24gMTAuCisKK1N1biBGZWIgIDIgMTU6MzM6MzggQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiByZWxheG5nOiBpbmNsdWRlIHNlZW1zIHRvIHdvcmsgb2theSBub3cKKwkqIHRlc3QvcmVsYXhuZy8qIHJlc3VsdC9yZWxheG5nLyo6IGF1Z21lbnRlZC91cGRhdGVkIHRoZQorCSAgcmVncmVzc2lvbiB0ZXN0cworCitTYXQgRmViICAxIDE5OjQ0OjU4IENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcmVsYXhuZy5jOiBhIGJpdCBvZiB3b3JrIGRvbmUgaW4gdGhlIHRyYWluIGJhY2suCisJKiB0ZXN0L3JlbGF4bmcvKjogYWRkZWQgb25lIG9mIHRoZSBpbmNsdWRlIHRlc3RzCisKK1RodSBKYW4gMzAgMTQ6MDY6NTUgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiByZWxheG5nOiBtb3JlIHdvcmsgZG9uZSBpbiB0aGUgdHJhaW4KKwkqIHRlc3QvcmVsYXhuZy8qIHJlc3VsdC9yZWxheG5nLyo6IGF1Z21lbnRlZC91cGRhdGVkIHRoZQorCSAgcmVncmVzc2lvbiB0ZXN0cworCitXZWQgSmFuIDI5IDIzOjQ0OjU4IENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcmVsYXhuZy5jOiBkZWJ1Z2dpbmcgb2YgZXh0ZXJuYWxSZWYKKwkqIHRlc3QvcmVsYXhuZy8qIHJlc3VsdC9yZWxheG5nLyo6IGF1Z21lbnRlZC91cGRhdGVkIHRoZQorCSAgcmVncmVzc2lvbiB0ZXN0cworCitXZWQgSmFuIDI5IDIyOjA2OjA0IENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcmVsYXhuZy5jOiBtb3JlIHdvcmsgb24gUmVsYXgtTkcsIGltcGxlbWVudGluZyBleHRlcm5hbFJlZgorCSogdGVzdC9yZWxheG5nLyogcmVzdWx0L3JlbGF4bmcvKjogYXVnbWVudGVkL3VwZGF0ZWQgdGhlIAorCSAgcmVncmVzc2lvbiB0ZXN0cworCSogTWFrZWZpbGUuYW06IGNsZWFudXAgdG8gUmVsYXh0ZXN0cyB0YXJnZXQKKworV2VkIEphbiAyOSAwMDowODozOCBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHJlbGF4bmcuYzogbW9yZSB3b3JrIG9uIFJlbGF4LU5HLCBpbXBsZW1lbnRpbmcgaW50ZXJsZWF2ZQorCSogdGVzdC9yZWxheG5nLyogcmVzdWx0L3JlbGF4bmcvKjogYXVnbWVudGVkL3VwZGF0ZWQgdGhlIAorCSAgcmVncmVzc2lvbiB0ZXN0cworCitUdWUgSmFuIDI4IDIxOjU2OjQ5IENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcmVsYXhuZy5jOiBtb3JlIHdvcmsgb24gUmVsYXgtTkcsIGltcGxlbWVudGluZyBpbnRlcmxlYXZlCisJKiB0ZXN0L3JlbGF4bmcvKiByZXN1bHQvcmVsYXhuZy8qOiBhdWdtZW50ZWQvdXBkYXRlZCB0aGUgCisJICByZWdyZXNzaW9uIHRlc3RzCisKK01vbiBKYW4gMjcgMDc6MzU6MjkgTVNUIDIwMDMgSm9obiBGbGVjayA8amZsZWNrQGlua3N0YWluLm5ldD4KKworCSogZG9jL3R1dG9yaWFsL2N1c3RvbWZvLnhzbAorCSogZG9jL3R1dG9yaWFsL2N1c3RvbWh0bWwueHNsCisJYWRkaW5nIHN0eWxlc2hlZXQgY3VzdG9taXphdGlvbnMgdXNlZCB0byBnZW5lcmF0ZSBmbworCWZvciBwZGYgYW5kIGh0bWwKKworTW9uIEphbiAyNyAxMzoyOTo0MyBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHJlbGF4bmcuYzogbW9yZSB3b3JrIG9uIFJlbGF4LU5HCisJKiB0ZXN0L3JlbGF4bmcvKiByZXN1bHQvcmVsYXhuZy8qOiBhdWdtZW50ZWQvdXBkYXRlZCB0aGUgCisJICByZWdyZXNzaW9uIHRlc3RzCisJKiB4bWxzY2hlbWFzdHlwZXMuYzogYWRkZWQgYSBudW1iZXIgb2YgYmFzZSB0eXBlIGRlZmluaXRpb24gYnV0IG5vdAorCSAgdGhlIGFzc29jaWF0ZWQgY2hlY2tzLCB0aG9zZSBhcmUgc3RpbGwgVE9ET3MKKworU3VuIEphbiAyNiAxNzozNzowNiBNU1QgMjAwMyBKb2huIEZsZWNrIDxqZmxlY2tAaW5rc3RhaW4ubmV0PgorCisJaW4gZG9jcy90dXRvcmlhbDoKKwkqIGFwYS5odG1sCisJKiBhcGIuaHRtbAorCSogYXBjLmh0bWwKKwkqIGFwZC5odG1sCisJKiBhcGUuaHRtbAorCSogYXBmLmh0bWwKKwkqIGFwZy5odG1sCisJKiBhcjAxczAyLmh0bWwKKwkqIGFyMDFzMDMuaHRtbAorCSogYXIwMXMwNC5odG1sCisJKiBhcjAxczA1Lmh0bWwKKwkqIGFyMDFzMDYuaHRtbAorCSogYXIwMXMwNy5odG1sCisJKiBhcjAxczA4Lmh0bWwKKwkqIGluZGV4Lmh0bWwKKwkqIHhtbHR1dG9yaWFsLnBkZgorCSogeG1sdHV0b3JpYWwueG1sCisJYWRkIGluZGV4IHRvIHR1dG9yaWFsCisKK1N1biBKYW4gMjYgMTc6MDI6MjkgTVNUIDIwMDMgSm9obiBGbGVjayA8amZsZWNrQGlua3N0YWluLm5ldD4KKworCSogZG9jL3htbGNhdGFsb2cuMQorCSogZG9jL3htbGNhdGFsb2dfbWFuLmh0bWwKKwkqIGRvYy94bWxjYXRhbG9nX21hbi54bWwKKwliZWxhdGVkbHkgZml4aW5nIGJ1ZyAjOTM2MjIgKGFkZHMgcmV3cml0ZVVSSSB0eXBlIHRvCisJIi0tYWRkIiBvcHRpb24gaW4geG1sY2F0YWxvZyBtYW4gcGFnZQorCitTdW4gSmFuIDI2IDIwOjQ3OjI2IENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sY2F0YWxvZy5jIHhtbGxpbnQuYzogYXBwbGllZCBwYXRjaCBmb3IgTmV0QlNEIGJ5CisJICBKdWxpbyBNZXJpbm8sIGNsb3NpbmcgIzEwNDQ3NQorCitTdW4gSmFuIDI2IDIwOjM4OjQzIENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcmVsYXhuZy5jOiBtb3JlIHdvcmsgb24gUmVsYXgtTkcKKwkqIHRlc3QvcmVsYXhuZy8qIHJlc3VsdC9yZWxheG5nLyo6IGF1Z21lbnRlZC91cGRhdGVkIHRoZSAKKwkgIHJlZ3Jlc3Npb24gdGVzdHMKKworU3VuIEphbiAyNiAwMTo0OTo1OCBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHJlbGF4bmcuYzogbW9yZSB3b3JrIG9uIFJlbGF4LU5HCisJKiB0ZXN0L3JlbGF4bmcvKiByZXN1bHQvcmVsYXhuZy8qOiBhdWdtZW50ZWQvdXBkYXRlZCB0aGUgCisJICByZWdyZXNzaW9uIHRlc3RzCisKK1NhdCBKYW4gMjUgMTg6NTk6NTQgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBSRUFETUU6IHVwZGF0ZWQgdGhlIHBvbGljeSBvbiBwcml2YXRlIG1haWwgYW5zd2VycworCSogcmVsYXhuZy5jOiBtb3JlIHdvcmsgb24gUmVsYXgtTkcKKwkqIHRlc3QvcmVsYXhuZy8qIHJlc3VsdC9yZWxheG5nLyo6IGF1Z21lbnRlZC91cGRhdGVkIHRoZSAKKwkgIHJlZ3Jlc3Npb24gdGVzdHMKKworRnJpIEphbiAyNCAxNToxMjo0NCBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGVycm9yLmMgcGFyc2VyLmMgdHJlZS5jOiBhcHBsaWVkIGEgZG9jdW1lbnRhdGlvbiBwYXRjaCBmcm9tCisJICBTdGVmYW4gS29zdAorCitGcmkgSmFuIDI0IDAyOjAwOjUwIENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcmVsYXhuZy5jOiBtb3JlIHdvcmsgb24gUmVsYXgtTkcKKwkqIGRvYy8qOiByZWdlbmVyYXRlZCB0aGUgZG9jcworCSogdGVzdC9yZWxheG5nLyogcmVzdWx0L3JlbGF4bmcvKjogdXBkYXRlZCBhbmQgYXVnbWVudGVkIHRoZQorCSAgUmVsYXgtTkcgcmVncmVzc2lvbiB0ZXN0cyBhbmQgcmVzdWx0cworCitUaHUgSmFuIDIzIDE5OjI2OjIwIENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogTWFrZWZpbGUuYW0gY29uZmlndXJlLmluIHJlbGF4bmcuYyBpbmNsdWRlL2xpYnhtbC9yZWxheG5nLmg6CisJICBGaXJzdCBjb21taXQgb2YgdGhlIG5ldyBSZWxheC1ORyB2YWxpZGF0aW9uIGNvZGUsIG5vdCBnZW5lcmFsbHkKKwkgIHVzZWZ1bCB5ZXQuCisJKiB0ZXN0L3JlbGF4bmcvKiByZXN1bHQvcmVsYXhuZy8qOiBjdXJyZW50IHN0YXRlIG9mIHRoZSByZWdyZXNzaW9uCisJICB0ZXN0cworCitUaHUgSmFuIDIzIDE5OjIyOjU0IENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogdHJlZS5jOiBtaW5pbWl6ZWQgdGhlIG1lbW9yeSBhbGxvY2F0ZWQgZm9yIEdldENvbnRlbnQKKwkgIGFuZCBhIGJpdCBvZiBjbGVhbnVwLgorCitUaHUgSmFuIDIzIDE3OjQxOjM3IENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcHl0aG9uL2dlbmVyYXRvci5weTogc2VlbXMgdGhlcmUgaXMgbm8gZ29vZCByZWFzb25zIHRvCisJICBub3QgZ2VuZXJhdGUgYmluZGluZ3MgZm9yIFhQb2ludGVyCisKK1R1ZSBKYW4gMjEgMTM6MTk6MzUgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxyZWFkZXIuYyBkb2MvYXBpYnVpbGQucHk6IGFwcGxpZWQgYSBuZXcgcGF0Y2ggZnJvbQorCSAgU3TDqXBoYW5lIEJpZG91bCBmb3IgY2xlYW51cHMKKwkqIGRvYy9saWJ4bWwyLWFwaS54bWw6IHJlYnVpbHQgdGhlIEFQSSBkZXNjcmlwdGlvbiB3aXRoCisJICBuZXcgZW50cnkgcG9pbnRzCisKK01vbiBKYW4gMjAgMjM6MjU6MDAgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxyZWFkZXIuYyBweXRob24vZHJ2X2xpYnhtbDIucHkgcHl0aG9uL2dlbmVyYXRvci5weQorCSAgcHl0aG9uL2xpYnhtbC5jIHB5dGhvbi9saWJ4bWwucHkgcHl0aG9uL2xpYnhtbF93cmFwLmgKKwkgIHB5dGhvbi90eXBlcy5jOiBwYXRjaCBmcm9tIFN0w6lwaGFuZSBCaWRvdWwgZm9yIGJldHRlciBwZXIKKwkgIGNvbnRleHQgZXJyb3IgbWVzc2FnZSBBUElzCisJKiBweXRob24vdGVzdHMvY3R4dGVycm9yLnB5IHB5dGhvbi90ZXN0cy9yZWFkZXJlcnIucHk6CisJICB1cGRhdGUgb2YgdGhlIHRlc3RzCisKK1N1biBKYW4gMTkgMTc6MDk6MjggTVNUIDIwMDMgSm9obiBGbGVjayA8amZsZWNrQGlua3N0YWluLm5ldD4KKworCSogZG9jL2d1aWRlbGluZXMuaHRtbAorCWdyYW1tYXIgYW5kIHNwZWxsaW5nIGNsZWFudXAKKworRnJpIEphbiAxNyAwMDozMTozMCBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbHJlYWRlci5jIGluY2x1ZGUvbGlieG1sL3htbHJlYWRlci5oIHB5dGhvbi9nZW5lcmF0b3IucHkKKwkgIHB5dGhvbi9saWJ4bWwuYyBweXRob24vbGlieG1sLnB5IHdpbjMyL2xpYnhtbDIuZGVmLnNyYzogYXBwbGllZAorCSAgYSBwYXRjaCBmcm9tIFN0w6lwaGFuZSBCaWRvdWwgdG8gYWxsb3cgcGVyIFhNTHRleHRSZWFkZXIgZXJyb3IKKwkgIGFuZCB3YXJuaW5nIGhhbmRsaW5nCisJKiBweXRob24vdGVzdHMvTWFrZWZpbGUuYW0gcHl0aG9uL3Rlc3RzL3JlYWRlcmVyci5weTogYWRkaW5nIHRoZQorCSAgc3BlY2lmaWMgcmVncmVzc2lvbiB0ZXN0CisKK1R1ZSBKYW4gMTQgMTc6MDA6MDggQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4cGF0aC5jOiBBbGV4ZXkgRWZpbW92IHBvaW50ZWQgb3V0IHRoYXQgY29uY2F0KCdhJywgJ2InLCApCisJICBzaG91bGQgcmFpc2UgYSBzeW50YXggZXJyb3IKKworVHVlIEphbiAxNCAxNTozOToxNCBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHB5dGhvbi9saWJ4bWwuYzogY2xlYW51cCBwYXRjaCBmcm9tIFN0w6lwaGFuZSBCaWRvdWwKKworVHVlIEphbiAxNCAxNDo0MToxOCBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGVuY29kaW5nLmM6IGZpeGluZyBidWcgIzEwMzEwMCB3aXRoIGEgZHVtbXkgVVRGOFRvVVRGOCBjb3B5CisKK1R1ZSBKYW4gMTQgMTI6NDA6MjkgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBweXRob24vZ2VuZXJhdG9yLnB5IHB5dGhvbi9saWJ4bWwuYyBweXRob24vbGlieG1sLnB5CisJICBweXRob24vbGlieG1sX3dyYXAuaCBweXRob24vdHlwZXMuYzogYXBwbGllZCBhbmQgZml4ZWQgYSBwYXRjaAorCSAgZnJvbSBTdMOpcGhhbmUgQmlkb3VsIHRvIHByb3ZpZGUgcGVyIHBhcnNlciBlcnJvciBoYW5kbGVycyBhdCB0aGUKKwkgIFB5dGhvbiBsZXZlbC4KKwkqIHB5dGhvbi90ZXN0cy9NYWtlZmlsZS5hbSBweXRob24vdGVzdHMvY3R4dGVycm9yLnB5OiBhZGRlZCBhCisJICByZWdyZXNzaW9uIHRlc3QgZm9yIGl0LgorCitUdWUgSmFuIDE0IDAxOjE1OjA0IENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1scmVhZGVyLmM6IGZpeGVkIHRoZSBzdHJlYW1pbmcgcHJvcGVydHkgb2YgdGhlIHJlYWRlciwKKwkgIGl0IHdhcyBnZW5lcmF0aW5nIHRyZWUgZmFzdGVyIHRoYW4gY29uc3VtaW5nIGl0LiBQb2ludGVkIG91dAorCSAgYnkgTmF0ZSBNeWVycworCSogdHJlZS5jOiBmaXhlZCBhIGJ1ZyBpbiB4bWxTYXZlRm9ybWF0RmlsZUVuYyBpZiBwYXNzZWQgYSBOVUxMIGRvYworCitTdW4gSmFuIDEyIDIyOjE4OjAyIENFVCAyMDAzIElnb3IgWmxhdGtvdmljIDxpZ29yQHN0dWQuZmgtZnJhbmtmdXJ0LmRlPgorCisJKiB3aW4zMi9saWJ4bWwyLmRlZi5zcmM6IGFkZGVkIG1vcmUgeG1scmVhZGVyIGFuZCBvdGhlciBleHBvcnRzCisKK0ZyaSBKYW4gMTAgMTg6MDQ6MzIgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4cGF0aC5jOiBmaXggdG8gdGhlIFhQYXRoIGltcGxlbWVudGF0aW9uIGZvciBwYXJlbnQgYW5kCisJICBhbmNlc3RvcnMgYXhpcyB3aGVuIG9wZXJhdGluZyBvbiBhIFJlc3VsdCBWYWx1ZSBUcmVlLgorCSAgRml4ZXMgYnVnICMxMDAyNzEKKworRnJpIEphbiAxMCAxNzowNzowMSBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIG5hbm9mdHAuYyBuYW5vaHR0cC5jIHhtbElPLmM6IHBhdGNoIGZyb20gU3RlZmFubyBaYWNjaGlyb2xpCisJICB0byBmaXggc29tZSBVUkkvZmlsZSBlc2NhcGluZyBwcm9ibGVtcworCitGcmkgSmFuIDEwIDE2OjIwOjM0IENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcHl0aG9uL2dlbmVyYXRvci5weTogZml4ZWQgYSBidWcgcmFpc2VkIGJ5IFJheW1vbmQgV2lrZXIsIAorCSAgZG9jU2V0Um9vdEVsZW1lbnQoKSBzaG91bGQgbm90IHJhaXNlIGFuIGV4Y2VwdGlvbiBpZiB0aGUKKwkgIHJldHVybiBpcyBOb25lCisKK0ZyaSBKYW4gMTAgMTQ6MTM6MDMgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBweXRob24vbGlieG1sLnB5IHB5dGhvbi9saWJ4bWwuYyBweXRob24vbGlieG1sMi1weXRob24tYXBpLnhtbDoKKwkgIGZpeGVkIGJ1ZyAjMTAyMTgxIGJ5IGFwcGx5aW5nIHRoZSBzdWdnZXN0ZWQgY2hhbmdlIGFuZCBmaXhpbmcKKwkgIHRoZSBnZW5lcmF0aW9uL3JlZ2lzdHJhdGlvbiBwcm9ibGVtLgorCitGcmkgSmFuIDEwIDEzOjQ3OjU1IENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogSFRNTHBhcnNlci5jOiBmaXhlZCBidWcgIzEwMjk2MCBieSByZXVzaW5nIHRoZSBYTUwgbmFtZSBwYXJzaW5nCisJICByb3V0aW5lcy4KKworRnJpIEphbiAxMCAwMDoxNjo0OSBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlci5jOiBvbmUgbW9yZSBJc0VtcHR5RWxlbWVudCBjcmF6eW5lc3MsIHRoYXQgdGltZSBpbgorCSAgZXh0ZXJuYWwgcGFyc2VkIGVudGl0aWVzIGlmIHN1YnN0aXR1dGlvbiBpcyBhc2tlZC4KKwkqIHB5dGhvbi90ZXN0cy9yZWFkZXIzLnB5OiBhZGRlZCBhIHNwZWNpZmljIHRlc3QuCisKK1RodSBKYW4gIDkgMjI6MzU6MzEgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBweXRob24vZHJ2X2xpYnhtbDIucHk6IHVwZGF0ZSBmcm9tIFN0w6lwaGFuZSBCaWRvdWw6IHB5dGhvbiAyLjEKKwkgIHN1cHBvcnQgYW5kIGltcHJvdmVkIGVycm9yIGhhbmRsZXIgcmVnaXN0cmF0aW9uCisKK1RodSBKYW4gIDkgMTQ6MTY6MzggQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBIVE1MdHJlZS5jIHRyZWUuYzogZml4ZXMgIzEwMjkyMCBhYm91dCBuYW1lc3BhY2UgaGFuZGxpbmcgaW4KKwkgIEhUTUwgb3V0cHV0IGFuZCBzZWN0aW9uIDE2LjIgIkhUTUwgT3V0cHV0IE1ldGhvZCIgb2YgWFNMVC0xLjAKKwkqIFJFQURNRTogZml4ZWQgYSBsaW5rCisKK1dlZCBKYW4gIDggMTg6MzI6MjUgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBjb25maWd1cmUuaW4gZG9jLyogTkVXUzogcHJlcGFyaW5nIDIuNS4xIHJlbGVhc2UKKwkqIFNBWC5jIHBhcnNlci5jOiBmaXhpbmcgWG1sVGV4dFJlYWRlciBidWcKKworV2VkIEphbiAgOCAwMDoxMzowMSBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIFNBWC5jOiBmdWNrLCBJIGludHJvZHVjZWQgYSBtZW1vcnkgbGVhayBvbiBleHRlcm5hbCBwYXJzZWQKKwkgIGVudGl0aWVzIGluIDIuNS4wIDotKAorCitUdWUgSmFuICA3IDEyOjEyOjQ1IENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sbGludC5jOiBhbm90aGVyIGZpeCBuZWVkZWQgYXMgcG9pbnRlZCBieSBDaHJpc3RvcGhlIE1lcmxldAorCSAgZm9yIC0tc3RyZWFtIC0tZGVidWcgaWYgY29tcGlsZWQgd2l0aG91dCBkZWJ1ZyBzdXBwb3J0LgorCitNb24gSmFuICA2IDIwOjUzOjA4IE1TVCAyMDAzIEpvaG4gRmxlY2sgPGpmbGVja0BpbmtzdGFpbi5uZXQ+CisKKwkqIGRvYy94bWxsaW50LnhtbAorCSogZG9jL3htbGxpbnQuMToKKwl1cGRhdGUgbWFuIHBhZ2Ugd2l0aCAtLXN0cmVhbSBhbmQgLS1jaGtyZWdpc3RlcgorCitUdWUgSmFuICA3IDAxOjE3OjI2IENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZ2xvYmFscy5jOiBmaXhlZCAtLXdpdGgtdGhyZWFkcyBjb21waWxlCisJKiB4bWxsaW50LmM6IGZpeGVkIC0td2l0aG91dC1kZWJ1ZyBjb21waWxlCisJKiBpbmNsdWRlL2xpYnhtbC9nbG9iYWxzLmg6IGNsZWFudXAKKwkqIGluY2x1ZGUvbGlieG1sL3NjaGVtYXNJbnRlcm5hbHMuaDogYWRkIGEgbWlzc2luZyBpbmNsdWRlCisKK01vbiBKYW4gIDYgMTQ6MDY6MDcgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBjb25maWd1cmUuaW4gTkVXUzogcHJlcGFyaW5nIDIuNS4wIHJlbGVhc2UKKwkqIFNBWC5jOiBvbmx5IHdhcm4gaW4gcGVkYW50aWMgbW9kZSBhYm91dCBuYW1lc3BhY2UgbmFtZSAKKwkgIGJyb2tlbmVzcworCSogZ2xvYmFscy5jOiBmaXggYSBkb2MgZ2VuZXJhdGlvbiBwcm9ibGVtCisJKiB1cmkuYzogZml4ICMxMDE1MjAKKwkqIGRvYy8qOiB1cGRhdGVkIGFuZCByZWJ1aWx0IHRoZSBkb2MgZm9yIHRoZSByZWxlYXNlLCBpbmNsdWR1ZGluZworCSAgc3R5bGVzaGVldCB1cGRhdGUKKwkqIHB5dGhvbi9NYWtlZmlsZS5hbTogZml4IGEgZmlsZW5hbWUgYnVnCisKK01vbiBKYW4gIDYgMTI6MDU6MTIgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBkb2MvdHV0b3JpYWwvKiA6IGZpeGVkICMxMDE4OTQgaWYgZG9jID09IE5VTEwgeG1sRnJlZURvYyAKKwkgIHNob3VsZCBub3QgYmUgY2FsbGVkLgorCitNb24gSmFuICA2IDExOjU5OjA5IENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogbGlieG1sLTIuMC5wYy5pbjogYXBwbGllZCB0aGUgcGF0Y2ggdG8gZml4ICMxMDE4OTQKKworU3VuIEphbiAgNSAyMzozNTo0NyBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHRyZWUuYyA6IGFwcGxpZWQgcGF0Y2ggZnJvbSBMdWthcyBTY2hyb2VkZXIgZm9yIHJlZ2lzdGVyIGNhbGxiYWNrcworCSogdmFsaWQuYzogbW9kaWZpZWQgcGF0Y2ggZnJvbSBMdWthcyBTY2hyb2VkZXIgdG8gdGVzdAorCSAgcmVnaXN0ZXIgY2FsbGJhY2tzIHdpdGggLS1jaGtyZWdpc3RlcgorCitTdW4gSmFuICA1IDAyOjIzOjIwIENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1scmVhZGVyLmM6IHNlcmlvdXNseSBjaGFuZ2VkIHRoZSB3YXkgZGF0YSBhcmUgcHVzaGVkIHRvCisJICB0aGUgdW5kZXJseWluZyBwYXJzZXIsIGdvIGJ5IGJsb2NrIG9mIDUxMiBieXRlcyBpbnN0ZWFkIG9mCisJICB0cnluZyB0byBkZXRlY3QgdGFnIGJvdW5kYXJpZXMgYXQgdGhhdCBsZXZlbC4gQ2hhbmdlZCB0aGUKKwkgIHdheSBlbXB0eSBlbGVtZW50IGFyZSBkZXRlY3RlZCBhbmQgdGFnZ2VkLgorCSogcHl0aG9uL3Rlc3RzL3JlYWRlci5weSBweXRob24vdGVzdHMvcmVhZGVyMi5weQorCSAgcHl0aG9uL3Rlc3RzL3JlYWRlcjMucHk6IHNtYWxsIGNoYW5nZXMgbW9zdGx5IGR1ZSB0byBjb250ZXh0CisJICByZXBvcnRpbmcgYmVpbmcgZGlmZmVyZW50IGFuZCBEVEQgbm9kZSBiZWluZyByZXBvcnRlZC4gU29tZQorCSAgZXJyb3JzIHByZXZpb3VzbHkgdW5kZXRlY3RlZCBhcmUgbm93IGNhdWdodCBhbmQgZml4ZWQuCisJKiBkb2MveG1scmVhZGVyLmh0bWw6IGZsYWdnZWQgbGFzdCBzZWN0aW9uIGFzIFRPRE8KKworU2F0IEphbiAgNCAyMDo0MDoyOCBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHB5dGhvbi9saWJ4bWwucHk6IGludGVncmF0ZWQgdGhlIFB5dGhvbiAyLjIgb3B0aW1pemF0aW9ucworCSAgZnJvbSBIYW5udSBLcm9zaW5nLCB3aGlsZSBtYWludGFpbmluZyBjb21wYXRpYmlsaXR5IHdpdGggCisJICAxLjUgYW5kIDIuMQorCitTYXQgSmFuICA0IDE3OjMzOjE3IENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sbGludC5jOiBhIGJpdCBvZiBjbGVhbnVwCisJKiB4bWxyZWFkZXIuYzogc21hbGwgZml4CisJKiBkb2MveG1scmVhZGVyLmh0bWw6IG1vcmUgd29yayBvbiB0aGUgWG1sVGV4dFJlYWRlciB0dXRvcmlhbAorCSogcHl0aG9uL2xpYnhtbC5weTogYSBmZXcgZml4ZXMgcG9pbnRlZCBvdXQgYnkgSGFubnUgS3Jvc2luZworCitTYXQgSmFuICA0IDEzOjQ2OjE0IENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcHl0aG9uL3NldHVwLnB5LmluOiBwYXRjaCBmcm9tIFN0w6lwaGFuZSBCaWRvdWwgdG8gaW5jbHVkZQorCSAgZHJ2X2xpYnhtbDIucHkgaW4gc2V0dXAucHkKKworU2F0IEphbiAgNCAwMTo0MzowNiBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGRvYy94bWxyZWFkZXIuaHRtbDogc3RhcnRpbmcgZG9jdW1lbnRpbmcgdGhlIG5ldyBYbWxUZXh0UmVhZGVyCisJICBpbnRlcmZhY2UuCisKK0ZyaSBKYW4gIDMgMTc6MTg6MzIgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxsaW50LmM6IGFkZGVkIHRoZSAtLXN0cmVhbSBmbGFnIHRvIHVzZSB0aGUgVGV4dFJlYWRlciBBUEkKKwkqIHhtbHJlYWRlci5jOiBzbWFsbCBwZXJmb3JtYW5jZSB0d2VhaworCitGcmkgSmFuICAzIDEzOjUwOjU1IENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1scmVhZGVyLmMgcHl0aG9uL3Rlc3RzL3JlYWRlcjJweTogb2theSB0aGUgRFREIHZhbGlkYXRpb24KKwkgIGNvZGUgb24gdG9wIG9mIHRoZSBYTUxUZXh0UGFyc2VyIEFQSSBzaG91bGQgYmUgc29saWQgbm93LgorCitGcmkgSmFuICAzIDAyOjE3OjE4IENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1scmVhZGVyLmMgcHl0aG9uL3Rlc3RzL3JlYWRlcjJweTogRml4aW5nIHNvbWUgbW9yZSBtZXNzCisJICB3aXRoIHZhbGlkYXRpb24gYW5kIHJlY3Vyc2l2ZSBlbnRpdGllcyB3aGlsZSB1c2luZyB0aGUKKwkgIHJlYWRlciBpbnRlcmZhY2UsIGl0J3MgZ2V0dGluZyBhIGJpdCBtZXNzeS4uLgorCitUaHUgSmFuICAyIDE1OjE1OjI2IENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1scmVhZGVyLmMgcHl0aG9uL3Rlc3RzL3JlYWRlci5weTogYW5vdGhlciBjb3VwbGUgb2YgcHJvYmxlbQorCSAgcmVsYXRlZCB0byBJc0VtcHR5RWxlbWVudCByZXBvcnRlZCBieSBTdMOpcGhhbmUgQmlkb3VsIG5lZWRlZCAKKwkgIHNvbWUgZml4ZXMuCisKK1RodSBKYW4gIDIgMTM6NTc6MDcgQ0VUIDIwMDMgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBsaWJ4bWwuc3BlYy5pbiBweXRob24vTWFrZWZpbGUuYW0gcHl0aG9uL2Rydl9saWJ4bWwyLnB5OgorCSAgaW50ZWdyYXRlZCBkcnZfbGlieG1sMi5weSBQeXRob24geG1sLnNheCBkcml2ZXIgZnJvbSBTdMOpcGhhbmUgQmlkb3VsCisJICBiYXNlZCBvbiB0aGUgcHl0aG9uIFhtbFRleHRSZWFkZXIgaW50ZXJmYWNlLgorCitXZWQgSmFuICAxIDIyOjA1OjQwIENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogdHJlZS5jOiBiYWNraW5nIG91dCBvbmUgY2hhbmdlIGluIHRoZSBsYXN0IHBhdGNoIHdoaWNoIGJyb2tlIHRoZQorCSAgcmVncmVzc2lvbiB0ZXN0cworCitXZWQgSmFuICAxIDIxOjU3OjI4IENFVCAyMDAzIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZ2xvYmFsLmRhdGEgZ2xvYmFscy5jIHRyZWUuYyBpbmNsdWRlL2xpYnhtbC9nbG9iYWxzLmg6IGFwcGxpZWQKKwkgIGFuIG9sZCBwYXRjaCBmcm9tIEx1a2FzIFNjaHJvZWRlciB0byB0cmFjayBub2RlIGNyZWF0aW9uIGFuZAorCSAgZGVzdHJ1Y3Rpb24uIFByb2JhYmx5IG1pc3NpbmcgYSBsb3Qgb2YgcmVmZXJlbmNlcyBhdCB0aGUgbW9tZW50CisJICBhbmQgbm90IHVzYWJsZSByZWxpYWJseS4KKworV2VkIEphbiAgMSAyMDoxMjowNyBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIE5FV1MgZG9jL01ha2VmaWxlLmFtIGRvYy9uZXdzLnhzbDogZ2VuZXJhdGUgdGhlIE5FV1MgZmlsZQorCSAgZnJvbSBkb2MvbmV3cy5odG1sIGFuZCBhIHN0eWxlc2hlZXQKKworV2VkIEphbiAgMSAxNjowOTo1NyBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbHJlYWRlci5jIHB5dGhvbi90ZXN0cy9yZWFkZXIucHk6IGZpeGVkIGFub3RoZXIgY291cGxlIG9mCisJICB4bWxyZWFkZXIgYnVncyByZXBvcnRlZCBieSBTdMOpcGhhbmUgQmlkb3VsIGFuZCBhZGRlZCB0ZXN0cy4KKworV2VkIEphbiAgMSAxNTo0Mjo1NCBDRVQgMjAwMyBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbHJlYWRlci5jIHB5dGhvbi90ZXN0cy9yZWFkZXIyLnB5OiBmaXhlZCBhbm90aGVyIHZhbGlkaXR5CisJICBjaGVja2luZyBpbiBleHRlcm5hbCBwYXJzZWQgZW50aXRpZXMgcmFpc2VkIGJ5IFN0w6lwaGFuZSBCaWRvdWwKKwkgIGFuZCBhZGRlZCBhIHNwZWNpZmljIHJlZ3Jlc3Npb24gdGVzdC4KKwkqIHB5dGhvbi90ZXN0cy9yZWFkZXIzLnB5OiBjbGVhbnVwCisKK1R1ZSBEZWMgMzEgMTU6NDQ6MDIgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxyZWFkZXIuYyBweXRob24vdGVzdHMvcmVhZGVyMi5weTogZml4ZWQgYSBwcm9ibGVtIHdpdGgKKwkgIHZhbGlkYXRpb24gd2l0aGluIGVudGl0aWVzIHBvaW50ZWQgYnkgU3TDqXBoYW5lIEJpZG91bCwgYXVnbWVudGVkCisJICB0aGUgdGVzdHMgdG8gY2F0Y2ggdGhvc2UuCisKK1R1ZSBEZWMgMzEgMTI6MTU6MzcgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBweXRob24vZ2VuZXJhdG9yLnB5OiBtb2RpZmllZCB0aGUgZ2VuZXJhdG9yIHRvIGFsbG93IGtlZXBpbmcKKwkgIGNsYXNzIHJlZmVyZW5jZXMgd2hlbiBjcmVhdGluZyBuZXcgY2xhc3NlcywgbmVlZGVkIHRvIGZpeCBhIGJ1ZworCSAgcG9pbnRlZCBieSBTdMOpcGhhbmUgQmlkb3VsIHdoZXJlIHRoZSBpbnB1dCBidWZmZXIgb2YgdGhlCisJICB4bWxUZXh0UmVhZGVyIGluc3RhbmNlIGdldHMgZGVzdHJveWVkIGlmIHRoZSBweXRob24gd3JhcHBlciBmb3IKKwkgIHRoZSBpbnB1dCBpcyBub3QgcmVmZXJlbmNlZCBhbnltb3JlLgorCitNb24gRGVjIDMwIDE5OjM5OjM2IENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1scmVhZGVyLmMgcHl0aG9uL3Rlc3RzL3JlYWRlci5weTogZml4ZWQgYW5vdGhlciBwYWlyIG9mIHByb2JsZW0KKwkgIHBvaW50ZWQgYnkgU3TDqXBoYW5lIEJpZG91bDogZGVwdGggc3RhcnQgYXQgMCBhbmQgYSBwYXJzZSBwcm9ibGVtLgorCitNb24gRGVjIDMwIDEzOjM2OjUwIENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1scmVhZGVyLmMgcHl0aG9uL3Rlc3RzL3JlYWRlci5weTogZml4ZWQgYW5vdGhlciBwcm9ibGVtCisJICBwb2ludGVkIGJ5IFN0w6lwaGFuZSBCaWRvdWwKKworTW9uIERlYyAzMCAxMjozOTo1NSBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbHJlYWRlci5jIHB5dGhvbi90ZXN0cy9yZWFkZXIucHk6IGZpeGVkIGEgbGltaXQgY2FzZSBwcm9ibGVtCisJICB3aXRoICI8YS8+IgorCitNb24gRGVjIDMwIDExOjUzOjQ0IENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogU0FYLmM6IHdhcm4gb24geG1sbnM6cHJlZml4PSJmb28iCisJKiB4bWxyZWFkZXIuYyBweXRob24vdGVzdHMvcmVhZGVyLnB5OiBmaXhlZCBhIGNvdXBsZSBvZiBwcm9ibGVtCisJICBmb3IgbmFtZXNwYWNlIGF0dHJpYnV0ZXMgaGFuZGxpbmcuCisKK01vbiBEZWMgMzAgMDA6NTk6MDcgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBlbnRpdGllcy5jIHBhcnNlci5jIHRyZWUuYyBpbmNsdWRlL2xpYnhtbC9lbnRpdGllcy5oOiBGaXhlZAorCSAgYSByZWFsbHkgbmFzdHkgcHJvYmxlbSByYWlzZWQgYnkgYSBEb2NCb29rIFhTTFQgdHJhbnNmb3JtCisJICBwcm92aWRlZCBieSBTZWJhc3RpYW4gQmVyZ21hbm4KKworU3VuIERlYyAyOSAxMjoxMzoxOCBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbHJlYWRlci5jIHB5dGhvbi90ZXN0cy9yZWFkZXIucHk6IGZpeGVkIGEgYnVnIHBvaW50ZWQgb3V0CisJICBieSBTdMOpcGhhbmUgQmlkb3VsIGFuZCBpbnRlZ3JhdGVkIGl0IGludG8gdGhlIHRlc3RzCisKK1NhdCBEZWMgMjggMjM6NDk6MTIgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxyZWFkZXIuYyBpbmNsdWRlL2xpYnhtbC94bWxyZWFkZXIuaCBkb2MvbGlieG1sMi1hcGkueG1sOgorCSAgZXh0ZW5kZWQgdGhlIFhtbFRleHRSZWFkZXIgQVBJIGEgYml0LCBhZGRkaW5nIGFjY2Vzc29ycyBmb3IKKwkgIHRoZSBjdXJyZW50IGRvYyBhbmQgbm9kZSwgYW5kIGFuIGVudGl0eSBzdWJzdGl0dXRpb24gbW9kZSBmb3IKKwkgIHRoZSBwYXJzZXIuCisJKiBweXRob24vbGlieG1sLnB5IHB5dGhvbi9saWJ4bWwyY2xhc3MudHh0OiByZWxhdGVkIHVwZGF0ZXMKKwkqIHB5dGhvbi90ZXN0cy9NYWtlZmlsZS5hbSBweXRob24vdGVzdHMvcmVhZGVyLnB5IAorCSAgcHl0aG9uL3Rlc3RzL3JlYWRlcjIucHkgcHl0aG9uL3Rlc3RzL3JlYWRlcjMucHk6IHVwZGF0ZWQgYSBiaXQKKwkgIHRoZSBvbGQgdGVzdHMgYW5kIGFkZGVkIGEgbmV3IG9uZSB0byB0ZXN0IHRoZSBlbnRpdGllcyBoYW5kbGluZworCitTYXQgRGVjIDI4IDIyOjExOjU3IENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcHl0aG9uL2dlbmVyYXRvci5weSBweXRob24vbGlieG1sMmNsYXNzLnR4dCAKKwkgIHB5dGhvbi90ZXN0cy9yZWFkZXIucHkgcHl0aG9uL3Rlc3RzL3JlYWRlcjIucHk6IGNoYW5nZWQgdGhlCisJICBnZW5lcmF0b3IgdG8gcHJvdmlkZSBjYXNpbmcgZm9yIHRoZSBYbWxUZXh0UmVhZGVyIHNpbWlsYXIgdG8KKwkgIEMjIHNvIHRoYXQgZXhhbXBsZXMgYW5kIGRvY3VtZW50YXRpb24gYXJlIG1vcmUgZGlyZWN0bHkgdHJhbnNwb3NhYmxlLgorCSAgRml4ZWQgdGhlIGNvdXBsZSBvZiB0ZXN0cyBpbiB0aGUgc3VpdGUuCisKK1NhdCBEZWMgMjggMTU6NTU6MzIgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBkb2MvZ3VpZGVsaW5lcy5odG1sOiBhZGRlZCBhIGRvY3VtZW50IG9uIGd1aWxkZWxpbmUgZm9yCisJICBwdWJsaXNoaW5nIGFuZCBkZXBsb3lpbmcgWE1MCisKK0ZyaSBEZWMgMjcgMjA6MzU6MTUgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB2YWxpZC5jIHhtbHJlYWRlci5jOiBmaW5hbCB0b3VjaCBydW5uaW5nIERURCB2YWxpZGF0aW9uCisJICBvbiB0aGUgWG1sVGV4dFJlYWRlcgorCSogcHl0aG9uL3Rlc3RzL01ha2VmaWxlLmFtIHB5dGhvbi90ZXN0cy9yZWFkZXIyLnB5OiBhZGRlZCBhCisJICBzcGVjaWZpYyBydW4gYmFzZWQgb24gdGhlIGV4YW1wbGVzIGZyb20gdGVzdC92YWxpZC8qLnhtbAorCitGcmkgRGVjIDI3IDE1OjE3OjIwIENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcHl0aG9uL2xpYnhtbC5weTogYWRkZWQgYSBmZXcgcHJlZGVmaW5lZCB4bWxUZXh0UmVhZGVyIHBhcnNlcgorCSAgY29uZmlndXJhdGlvbiB2YWx1ZXMuCisKK0ZyaSBEZWMgMjcgMTI6NTc6MjIgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBweXRob24vbGlieG1sX3dyYXAuaDogdHJ5aW5nIHRvIGZpeCAjMTAyMDM3CisKK0ZyaSBEZWMgMjcgMTI6MTg6MTQgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBTQVguYzogZml4aW5nIGJ1ZyAjOTUyOTYsIHdoZW4gdGhlIHByZWRlZmluZWQgZW50aXRpZXMKKwkgIGFyZSByZWRlZmluZWQgaW4gdGhlIERURCB0aGUgZGVmYXVsdCBvbmUgbXVzdCBiZSB1c2VkCisJICBpbnN0ZWFkIGFueXdheS4KKworV2VkIERlYyAyNSAxOToyMjowNiBNU1QgMjAwMiBKb2huIEZsZWNrIDxqZmxlY2tAaW5rc3RhaW4ubmV0PgorCisJKiBkb2MveG1sbGludC54bWwKKwkqIGRvYy94bWxsaW50LjEKKwlBZGQgZGlzY3Vzc2lvbiBvZiBYTUxfREVCVUdfQ0FUQUxPRyB0byB4bWxsaW50IG1hbgorCXBhZ2UgLSBidWcgIzEwMDkwNworCitNb24gRGVjIDIzIDE2OjU0OjIyIENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1scmVhZGVyLmM6IEZpeGVkIHRoZSBlbXB0eSBub2RlIGRldGVjdGlvbiB0byBhdm9pZCByZXBvcnRpbmcKKwkgIGFuIGluZXhpc3RhbnQgY2xvc2UgdGFnLgorCitNb24gRGVjIDIzIDE1OjQyOjI0IENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcHl0aG9uL2xpYnhtbC5jIHB5dGhvbi9zZXR1cC5weS5pbjogcGF0Y2ggZnJvbSBTdMOpcGhhbmUgQmlkb3VsCisJICBmb3IgUHl0aG9uIDIuMQorCitTdW4gRGVjIDIyIDExOjI0OjA2IENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogdGVzdEMxNE4uYyB2bXMvY29uZmlnLnZtczogYXBwbGllZCBDcmFpZyBBLiBCZXJyeSBwYXRjaGVzIGZvciBWTVMKKworRnJpIERlYyAyMCAxMToyNzo0OSBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGRvYy9saWJ4bWwyLWFwaS54bWwgcHl0aG9uL3Rlc3RzL3JlYWRlci5weTogb25lIHJlYWxseSBuZWVkCisJICB0byBwcm92aWRlIHRoZSBiYXNlIFVSSSBpbmZvcm1hdGlvbiB3aGVuIGNyZWF0aW5nIGEgcmVhZGVyIHBhcnNlcgorCSAgZnJvbSBhbiBpbnB1dCBzdHJlYW0uIFVwZGF0ZWQgdGhlIEFQSSBhbmQgdGhlIGV4YW1wbGUgdXNpbmcgaXQuCisKK0ZyaSBEZWMgMjAgMDE6MTE6MzAgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB0ZXN0UmVhZGVyLmMgeG1scmVhZGVyLmMgdmFsaWQuYyBpbmNsdWRlL2xpYnhtbC90cmVlLmgKKwkgIGluY2x1ZGUvbGlieG1sL3ZhbGlkLmggaW5jbHVkZS9saWJ4bWwveG1scmVhZGVyLmg6IHdvcmtpbmcgb24KKwkgIERURCB2YWxpZGF0aW9uIG9uIHRvcCBvZiB4bWwgcmVhZGVyIGludGVyZmFjZXMuIEFsbG93cyB0bworCSAgdmFsaWRhdGUgYXJiaXRyYXJ5IGxhcmdlIGluc3RhbmNlcy4gVGhpcyByZXF1aXJlZCBzb21lIGV4dGVuc2lvbnMKKwkgIHRvIHRoZSB2YWxpZCBtb2R1bGUgaW50ZXJmYWNlIGFuZCBhdWdtZW50aW5nIHRoZSBzaXplIG9mIHhtbElECisJICBhbmQgeG1sUmVmIHN0cnVjdHMgYSBiaXQuCisJKiB1cmkuYyB4bWxyZWdleHAuYzogc2ltcGxlIGNsZWFudXAuCisKK1dlZCBEZWMgMTggMTU6NTE6MjIgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxyZWFkZXIuYyBpbmNsdWRlL2xpYnhtbC94bWxyZWFkZXIuaCBkb2MvbGlieG1sMi1hcGkueG1sOiBtb3JlCisJICB3b3JrIG9uIHRoZSB4bWwgcmVhZGVyIGludGVyZmFjZXMuCisJKiBBVVRIT1JTIE1BSU5UQUlORVJTIGRvYy8qIHdpbjMyLyo6IHVwZGF0ZWQgSWdvcidzIG1haWwgYW5kIHRoZQorCSAgV2ViIHBhZ2UgZm9yIHRoZSBXaW5kb3dzIGJpbmFyaWVzLgorCitUdWUgRGVjIDE3IDE5OjMxOjA3IENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sSU8uYzogYXBwbGllZCBhIHBhdGNoIGZvciBWTVMgZm9sbG93aW5nIHRoZSByZXBvcnQgYnkKKwkgIE5pZ2VsIEhhbGwKKworVHVlIERlYyAxNyAxMToyOTo0MSBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlci5jOiB0aGUgcGFyc2VTdGFydFRhZyBidWcgZml4IHdhc24ndCBjb21wbGV0ZS4KKworTW9uIERlYyAxNiAyMzowMDowNSBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlci5jOiBWeWFjaGVzbGF2IFBpbmR5dXJhIG1hbmFnZWQgdG8gdHJpZ2dlciBhIGJ1ZyBpbgorCSAgcGFyc2VTdGFydFRhZywgZml4aW5nIGl0LgorCSogdGVzdC9hdHQ0IHJlc3VsdC9hdHQ0IHJlc3VsdC9ub2VudC9hdHQ0OiBhZGRpbmcgdGhlIHRlc3QKKwkqIHhtbHJlYWRlci5jIGluY2x1ZGUvbGlieG1sL3htbHJlYWRlci5oIGRvYy9saWJ4bWwyLWFwaS54bWw6IGFkZGVkCisJICBtb3JlIG1ldGhvZHMgdG8gWG1sVGV4dFJlYWRlci4KKworTW9uIERlYyAxNiAxOTozMToxNiBDRVQgMjAwMiBJZ29yIFpsYXRrb3ZpYyA8aWdvckBzdHVkLmZoLWZyYW5rZnVydC5kZT4KKworCSogd2luMzIvbGlieG1sMi5kZWYuc3JjOiBhZGRlZCBtb3JlIHhtbCByZWFkZXIgZXhwb3J0cworCSogd2luMzIvTWFrZWZpbGUubXN2YyB3aW4zMi9NYWtlZmlsZS5taW5ndzogYWRkZWQgeG1sIHJlYWRlciBpbnRlcmZhY2UKKwkgIHRvIHRoZSBidWlsZAorCitNb24gRGVjIDE2IDA2OjM2OjU0IE1TVCAyMDAyIEpvaG4gRmxlY2sgPGpmbGVja0BpbmtzdGFpbi5uZXQ+CisKKwkqIGRvYy90dXRvcmlhbC94bWx0dXRvcmlhbC54bWwKKwlwbHVzIGdlbmVyYXRlZCBodG1sIGFuZCBwZGYKKwlVcGRhdGluZyB0dXRvcmlhbCBhZ2FpbiBiYXNlZCBvbiBmdXJ0aGVyIGNvbW1lbnRzIGZyb20gTmlyYWoKKwlUb2xpYSBvbiB0aGUgbGFzdCBpdGVyYXRpb24KKworU3VuIERlYyAxNSAyMToyNzozMCBNU1QgMjAwMiBKb2huIEZsZWNrIDxqZmxlY2tAaW5rc3RhaW4ubmV0PgorCisJKiBkb2MvdHV0b3JpYWwveG1sdHV0b3JpYWwueG1sCisJKiBkb2MvdHV0b3JpYWwvaW5jbHVkZWtleXdvcmQuYworCSogZG9jL3R1dG9yaWFsL2luY2x1ZGVnZXRhdHRyaWJ1dGUuYworCXBsdXMgZ2VuZXJhdGVkIGh0bWwgYW5kIHBkZgorCUFkZGluZyBmaXggZnJvbSBOaXJhaiBUb2xpYSB0byB0dXRvcmlhbCB0byBwcm9wZXJseSBmcmVlIG1lbW9yeS4KKworTW9uIERlYyAxNiAwMDozNDoyNSBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbHJlYWRlci5jIGluY2x1ZGUvbGlieG1sL3htbHJlYWRlci5oIGRvYy9saWJ4bWwyLWFwaS54bWw6IGFkZGVkCisJICBtb3JlIG1ldGhvZHMgb2YgWG1sVGV4dFJlYWRlci4KKwkqIHB5dGhvbi9saWJ4bWwyY2xhc3MudHh0IHB5dGhvbi90ZXN0cy9yZWFkZXIucHk6IHRoaXMgaW5jcmVhc2VkIHRoZQorCSAgbWV0aG9kcyBpbiB0aGUgYm5kaW5ncywgYXVnbWVudGVkIHRoZSB0ZXN0IHRvIGNoZWNrIHRob3NlIG5ldworCSAgZnVuY3Rpb25zLgorCitTYXQgRGVjIDE0IDIzOjU3OjM5IENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1scmVhZGVyLmMgZG9jL2xpYnhtbDItYXBpLnhtbDogYWRkZWQgdGhlIGNsb3NlIGFuZCBnZXRhdHRyaWJ1dGUKKwkgIG1ldGhvZHMgb2YgWG1sVGV4dFJlYWRlci4KKwkqIHB5dGhvbi9nZW5lcmF0b3IucHkgcHl0aG9uL2xpYnhtbF93cmFwLmggcHl0aG9uL3R5cGVzLmMgCisJICBweXRob24vbGlieG1sMmNsYXNzLnR4dDogYWRkZWQgdGhlIHJlYWRlciB0byB0aGUgUHl0aG9uIGJpbmRpbmdzCisJKiBweXRob24vdGVzdHMvTWFrZWZpbGUuYW0gcHl0aG9uL3Rlc3RzL3JlYWRlci5weTogYWRkZWQgYSBzcGVjaWZpYworCSAgdGVzdCBmb3IgdGhlIFB5dGhvbiBiaW5kaW5ncyBvZiB0aGUgUmVhZGVyIEFQSXMKKwkqIHBhcnNlci5jOiBzbWFsbCBjbGVhbnVwLgorCitGcmkgRGVjIDEzIDExOjM5OjQ0IENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeGluY2x1ZGUuYzogZmFsbGJhY2sgd2FzIG9ubHkgY29weWluZyB0aGUgZmlyc3QgY2hpbGQgbm90IHRoZQorCSAgZnVsbCBjaGlsZCBsaXN0IG9mIHRoZSBmYWxsYmFjayBlbGVtZW50LCBjbG9zZXMgIzg5Njg0IGFzIHJlb3BlbmVkCisJICBieSBCZXJuZCBLdWVtbWVybGVuCisKK1RodSBEZWMgMTIgMTM6MzQ6NTkgQ0VUIDIwMDIgSWdvciBabGF0a292aWMgPGlnb3JAc3R1ZC5maC1mcmFua2Z1cnQuZGU+CisKKwkqIHdpbjMyL2xpYnhtbDIuZGVmLnNyYzogZXhwb3J0ZWQgaHRtbE5vZGVEdW1wT3V0cHV0CisKK1RodSBEZWMgMTIgMTA6NTk6MTEgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBjb25maWd1cmUuaW46IHByZXBhcmluZyByZWxlYXNlIG9mIDIuNC4zMAorCSogZG9jL2FwaWJ1aWxkLnB5IGRvYy9saWJ4bWwyLWFwaS54bWw6IGZpeHVwcyB0byB0aGUgYXBpIGJ1aWxkZXIsCisJICBnaXZlcyBlbnVtIHZhbHVlcywgZml4IGZ1bmN0eXBlIHJldHVybiB0eXBlLCBwdXQgYmFjayBmaWVsZHMgaW4KKwkgIHN0cnVjdHMgCisJKiBkb2MvKjogdXBkYXRlZCB0aGUgZG9jcyByZWJ1aWx0CisKK1RodSBEZWMgMTIgMDE6MDk6MzQgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBIVE1MdHJlZS5jIGluY2x1ZGUvbGlieG1sL0hUTUx0cmVlLmg6IHBhdGNoIGZyb20gTWFyayBWYWtvYworCSAgYWJvdXQgaHRtbE5vZGVEdW1wT3V0cHV0IGxvY2F0aW9uLgorCSogeHBhdGguYzogcmVtb3ZlZCBhbiB1bmRlZmluZWQgZnVuY3Rpb24gc2lnbmF0dXJlCisJKiBkb2MvYXBpYnVpbGQucHkgZG9jL2xpYnhtbDItYXBpLnhtbDogdGhlIHNjcmlwdCB3YXMgZXhwb3J0aW5nCisJICB0b28gbWFueSBzeW1ib2xzIGluIHRoZSBBUEkgYnJlYWtpbmcgdGhlIHB5dGhvbiBiaW5kaW5ncy4KKwkgIFVwZGF0ZWQgd2l0aCB0aGUgbGlieHNsdC9saWJleHNsdCBjaGFuZ2VzLgorCitXZWQgRGVjIDExIDIwOjI2OjE1IENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogY29uZmlndXJlLmluOiBwcmVwYXJpbmcgcmVsZWFzZSBvZiAyLjQuMjkKKwkqIGRvYy8qOiByZWJ1aWx0IHRoZSBkb2NzIGFuZCBBUEkKKwkqIHhtbHJlYWRlci5jOiBhIGZldyBtb3JlIGZpeGVzIGZvciB0aGUgWG1sVGV4dFJlYWRlciBBUEkKKworV2VkIERlYyAxMSAxODowMToxNSBDRVQgMjAwMiBJZ29yIFpsYXRrb3ZpYyA8aWdvckBzdHVkLmZoLWZyYW5rZnVydC5kZT4KKworCSogaW5jbHVkZS93aW4zMmNvbmZpZy5oOiBhcHBsaWVkIG1pbmd3IHBhdGNoIGZyb20gTWFnbnVzIEhlbm9jaAorCitXZWQgRGVjIDExIDE2OjU4OjQ4IENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogY2F0YWxvZy5jIGRvYy9saWJ4bWwyLWFwaS54bWw6IGEgYml0IG1vcmUgY2xlYW51cAorCitXZWQgRGVjIDExIDE0OjU0OjQ3IENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZG9jL2FwaWJ1aWxkLnB5IGRvYy9saWJ4bWwyLWFwaS54bWwgZG9jL01ha2VmaWxlLmFtOiBuZXcgQVBJCisJICBidWlsZGluZyBQeXRob24gc2NyaXB0LCBkb2VzIHRoZSBDIHBhcnNpbmcgZGlyZWN0bHksIGdlbmVyYXRlcworCSAgYSBiZXR0ZXIgQVBJIGRlc2NyaXB0aW9uIGluY2x1ZGluZyBzdHJ1Y3R1cmUgZmllZHMgZGVmcyBhbmQKKwkgIGVudW1zLiBTdGlsbCBhIGNvdXBsZSBvZiBidWdzLCBidXQgZ29vZCBlbm91Z2ggZm9yIHRoZSBweXRob24KKwkgIHdyYXBwZXJzIG5vdy4KKwkqIERPQ0JwYXJzZXIuYyBTQVguYyBuYW5vaHR0cC5jIHBhcnNlci5jIHBhcnNlckludGVybmFscy5jIHRyZWUuYworCSAgdmFsaWQuYyB4bWxJTy5jIHhtbG1lbW9yeS5jIHhtbHJlYWRlci5jIHhtbHJlZ2V4cC5jIHhtbHNjaGVtYXMuYworCSAgaW5jbHVkZS9saWJ4bWwvc2NoZW1hc0ludGVybmFscy5oIGluY2x1ZGUvbGlieG1sL3RyZWUuaDogbW9yZQorCSAgY2xlYW51cCBiYXNlZCBvbiB0aGUgcHl0aG9uIGFuYWx5c2lzIHNjcmlwdCByZXBvcnRzLgorCSogbGlieG1sLnNwZWMuaW46IG1ha2Ugc3VyZSB0aGUgQVBJIFhNTCBkZXNjcmlwdGlvbiBpcyBwYXJ0IG9mIHRoZQorCSAgZGV2ZWwgcGFja2FnZS4KKworVHVlIERlYyAxMCAxNjoxNjozNCBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIERPQ0JwYXJzZXIuYyBIVE1McGFyc2VyLmMgYzE0bi5jIGRlYnVnWE1MLmMgZW5jb2RpbmcuYyBoYXNoLmMKKwkgIG5hbm9mdHAuYyBuYW5vaHR0cC5jIHBhcnNlci5jIHBhcnNlckludGVybmFscy5jIHRlc3RDMTROLmMKKwkgIHRlc3REb2Nib29rLmMgdGhyZWFkcy5jIHRyZWUuYyB2YWxpZC5jIHhtbElPLmMgeG1sbGludC5jIHhtbG1lbW9yeS5jCisJICB4bWxyZWFkZXIuYyB4bWxyZWdleHAuYyB4bWxzY2hlbWFzLmMgeG1sc2NoZW1hc3R5cGVzLmMgeHBhdGguYzoKKwkgIGNvZGUgY2xlYW51cCwgZXNwZWNpYWxseSB0aGUgZnVuY3Rpb24gY29tbWVudHMuCisJKiB0cmVlLmM6IGZpeGVkIGEgc21hbGwgYnVnIHdoZW4gZnJlZWluZyBub2RlcyB3aGljaCBhcmUgWEluY2x1ZGUgb25lcy4KKworTW9uIERlYyAgOSAxNTowODoxNyBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIE1ha2VmaWxlLmFtIHhtbHJlYWRlci5jIGluY2x1ZGUvbGlieG1sL01ha2VmaWxlLmFtCisJICBpbmNsdWRlL2xpYnhtbC94bWxyZWFkZXIuaDogIEFkZGluZyBhIG5ldyBzZXQgb2YgQVBJcyBiYXNlZCBvbgorCSAgdGhlIEMjIFRleHRYbWxSZWFkZXIgQVBJIGJ1dCBjb252ZXJ0ZWQgdG8gQy4gQWxsb3cgdG8gcGFyc2UKKwkgIGluIGNvbnN0YW50IG1lbW9yeSB1c2FnZSwgZmFyIHNpbXBsZXIgdG8gcHJvZ3JhbSBhbmQgZXhwbGFpbgorCSAgdGhhbiB0aGUgU0FYIGxpa2UgQVBJcywgdW5maW5pc2hlZCBidXQgd29ya2luZy4KKwkqIHRlc3RSZWFkZXIuYzogdGVzdCBwcm9ncmFtCisKK1N1biBEZWMgIDggMTg6MzY6MDEgQ0VUIDIwMDIgSWdvciBabGF0a292aWMgPGlnb3JAc3R1ZC5maC1mcmFua2Z1cnQuZGU+CisKKwkqIHdpbjMyL2xpYnhtbDIuZGVmLnNyYzogYXBwbGllZCBZQUxEU1AgZnJvbSBNYXJrIFZha29jCisKK1dlZCBEZWMgIDQgMTY6MDg6NDkgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB0cmVlLmM6IENoaXAgdHVybmVyIGluZGljYXRlZCB0aGF0IFhIVE1MMSBzZXJpYWxpemF0aW9uCisJICBydWxlIGZvciBzdHlsZSBhY3R1YWxseSBicmVhayBvbiBib3RoIElFIGFuZCBNb3ppbGxhLCAKKwkgIHRyeSB0byBhdm9pZCB0aGUgcnVsZSBpZiBlc2NhcGluZyBhaW4ndCBuZWNlc3NhcnkKKworV2VkIERlYyAgNCAxMjo0MzoyOCBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIG5hbmh0dHAuYzogaGFuZGxlIEhUVFAgVVJMIGVzY2FwaW5nLCBwcm9ibGVtIHJlcG9ydGVkIGJ5CisJICBHbGVuIE5ha2FtdXJhIGFuZCBTdGVmYW5vIFphY2NoaXJvbGkKKworU2F0IE5vdiAzMCAxMjoxOToxNyBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIERPQ0JwYXJzZXIuYyBIVE1McGFyc2VyLmMgcGFyc2VyLmMgdmFsaWQuYyB4cGF0aC5jOiBjb2RlIGNsZWFudXAKKworVGh1IE5vdiAyOCAxMjo1MzoyMiBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHVyaS5jOiBKb2hhbm4gUmljaGFyZCBwb2ludGVkIG91dCBzb21lIFhQb2ludGVyIHByb2JsZW1zIGZvcgorCSAgVVJOIGJhc2VkIFVSSSByZWZlcmVuY2VzIGluIFhJbmNsdWRlLiBNb2RpZmllZCB0aGUgVVJJIHBhcnNpbmcKKwkgIGFuZCBzYXZpbmcgcm91dGluZXMgdG8gYWxsb3cgY29ycmVjdCBwYXJzaW5nIGFuZCBzYXZpbmcgb2YgCisJICBYUG9pbnRlcnMsIGVzcGVjaWFsbHkgd2hlbiBhdHRhY2hlZCB0byAib3BhcXVlIiBzY2hlbWUgYWNjb3JkaW5nbHkKKwkgIHRvIFJGQyAyMzk2CisKK1dlZCBOb3YgMjcgMjA6MzY6MDggQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBIVE1MdHJlZS5jIGluY2x1ZGUvbGlieG1sL0hUTUx0cmVlLmg6IGFwcGxpZWQgdGhlIHNhbWUga2luZAorCSAgb2YgcmVmYWN0b3JpbmcgdG8gdGhlIEhUTUwgc2F2aW5nIGNvZGUuCisJKiBkb2MvbGlieG1sMi0qLnhtbCBkb2MvQVBJKi5odG1sOiBzbGlnaHQgQVBJIGNoYW5nZXMgZ290IHJlZmxlY3RlZAorCSAgaW4gdGhlIGRvYy4KKworV2VkIE5vdiAyNyAxMjo0MDoxNiBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHRyZWUuYyBpbmNsdWRlL2xpYnhtbC90cmVlLmg6IHJlZmFjdG9yZWQgdGhlIFhNTCBkdW1wIG9mIGEgbm9kZQorCSAgdG8gYSBidWZmZXIgQVBJIHRvIHJldXNlIHRoZSBnZW5lcmljIGR1bXAgdG8gYW4gT3V0cHV0SU8gbGF5ZXIsCisJICB0aGlzIHJlZHVjZXMgY29kZSwgZml4ZXMgeG1sTm9kZUR1bXAoKSBmb3IgWEhUTUwsIGFsc28gbWFkZQorCSAgeG1sTm9kZUR1bXAoKSBub3cgcmV0dXJuIHRoZSBudW1iZXIgb2YgYnl0ZSB3cml0dGVuLgorCitXZWQgTm92IDI3IDA5OjAwOjAwIENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcHl0aG9uL3NldHVwLnB5LmluOiBhbm90aGVyIHBhdGNoIGZyb20gU3TDqXBoYW5lIEJpZG91bCBmb3IgCisJICBQeXRob24gYmluZGluZ3Mgb24gV2luZG93cworCSogZG9jL3BhcnNlZGVjbC5weTogc21hbGwgY2xlYW51cAorCitNb24gTm92IDI1IDE3OjI4OjUzIENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogbGlieG1sLnNwZWMuaW4gY29uZmlndXJlLmluOiBhZGQgYSBsaW5lIGluICVjaGFuZ2Vsb2cgZm9yIHJlbGVhc2VzCisKK01vbiBOb3YgMjUgMTQ6MTg6MjcgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBwYXJzZXIuYzogcGF0Y2ggZnJvbSBNYXJjdXMgQ2xhcmtlIGZpeGluZyBhIHByb2JsZW0gaW4gZW50aXRpZXMKKwkgIHBhcnNpbmcgdGhhdCB3YXMgZGV0ZWN0ZWQgaW4gS0RlIGRvY3VtZW50YXRpb25zIGVudmlyb25tZW50LgorCitNb24gTm92IDI0IDE0OjEzOjIxIENFVCAyMDAyIEVSREkgR2VyZ28gPGNhY3R1c0BjYWN0dXMucnVsZXoub3JnPgorCisJKiBweXRob24vbGlieG1sLmMgKGxpYnhtbF9wcmV2KTogUmV0dXJuIHRoZSBwcmV2aW91cyBhcyBvcHBvc2VkIHRvCisJdGhlIG5leHQgbm9kZSAoSSBndWVzcyB0aGlzIGlzIHRoZSByZXN1bHQgb2Ygc29tZSBjdXQgJiBwYXN0ZSBwcm9ncmFtbWluZzopCisKK1NhdCBOb3YgMjMgMTc6MjI6MjIgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBkb2MvTWFrZWZpbGUuYW06IEphbiBSYWZhaiBwb2ludGVkIGEgYnVnIGluIHRoZSBNYWtlZmlsZS4KKworU2F0IE5vdiAyMyAxMjoyMToyNCBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHB5dGhvbi9nZW5lcmF0b3IucHkgcHl0aG9uL2xpYnhtbC5jIHB5dGhvbi9zZXR1cC5weS5pbjogdHJ5aW5nCisJICB0byBmaXggdGhlIFB5dGhvbiBiaW5kaW5ncyBidWlsZCBvbiBXaW5kb3dzIChTdMOpcGhhbmUgQmlkb3VsKQorCitGcmkgTm92IDIyIDIyOjQxOjM0IENFU1QgMjAwMiBJZ29yIFpsYXRrb3ZpYyA8aWdvckBzdHVkLmZoLWZyYW5rZnVydC5kZT4KKworCSogd2luMzIvY29uZmlndXJlLmpzOiBhZGRlZCBvcHRpb24gZm9yIHB5dGhvbiBiaW5kaW5ncworCSogd2luMzIvbGlieG1sMi5kZWYuc3JjOiBhZGRlZCBtb3JlIGV4cG9ydHMKKworRnJpIE5vdiAyMiAxODo1MDozNCBDRVQgMjAwMiBJZ29yIFpsYXRrb3ZpYyA8aWdvckBzdHVkLmZoLWZyYW5rZnVydC5kZT4KKworCSogd2luMzIvTWFrZWZpbGUubWluZ3c6IGZpeGVkIHVucmVzb2x2ZWQgc3ltYm9scyB3aGVuIGxpbmtpbmcgd2l0aAorCSAgcHRocmVhZHMKKwkqIHdpbjMyL3dpbmNlLyo6IGFwcGxpZWQgdXBkYXRlcyB0byBXaW5kb3dzIENFIHBvcnQgZnJvbSBKYXZpZXIKKworRnJpIE5vdiAyMiAxNTo1MToyMiBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGNvbmZpZ3VyZS5pbjogcHJlcGFyaW5nIDIuNC4yOAorCSogbGlieG1sLnNwZWMuaW4gZG9jL01ha2VmaWxlLmFtOiBzb21lIGNsZWFudXAKKwkqIGRvYy8qOiB1cGRhdGVkIHRoZSBuZXdzIGFuZCByZWdlbmVyYXRlZC4KKworRnJpIE5vdiAyMiAxNDoxNToxNCBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIEhUTUxwYXJzZXIuYzogZmluYWwgdG91Y2ggYXQgY2xvc2luZyAjODcyMzUgPC9wPiBlbmQgdGFncworCSAgbmVlZCB0byBiZSBnZW5lcmF0ZWQuCisJKiByZXN1bHQvSFRNTC9jZl8xMjguaHRtbCByZXN1bHQvSFRNTC90ZXN0Mi5odG1sIHJlc3VsdC9IVE1ML3Rlc3QzLmh0bWw6CisJICB0aGlzIGNoYW5nZSBzbGlnaHRseSB0aGUgb3V0cHV0IG9mIGEgZmV3IHRlc3RzCisJKiBkb2MvKjogcmVnZW5lcmF0ZWQKKworRnJpIE5vdiAyMiAxMzoyNjoxOSBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlckludGVybmFscy5jOiBmaXhpbmcgYnVnICM5OTE5MCB3aGVuIFVURjggZG9jdW1lbnQgYXJlCisJICBwYXJzZWQgdXNpbmcgdGhlIHByb2dyZXNzaXZlIHBhcnNlciBhbmQgdGhlIGVuZCBvZiB0aGUgY2h1bmsKKwkgIGlzIGluIHRoZSBtaWRkbGUgb2YgYW4gVVRGOCBtdWx0aWJ5dGUgY2hhcmFjdGVyLgorCitGcmkgTm92IDIyIDEzOjEzOjAwIEhLVCAyMDAyIFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiB0aHJlYWRzLmM6IGZpeGVkIGluaXRpYWxpemF0aW9uIHByb2JsZW0gaW4geG1sTmV3R2xvYmFsU3RhdGUKKwkgIHdoaWNoIHdhcyBjYXVzaW5nIGNyYXNoLgorCSogZ2xvYmFscy5jOiByZW1vdmVkIGR1cGxpY2F0ZSBjYWxsIHRvIGluaXR4bWxEZWZhdWx0U0FYSGFuZGxlcgorCSAgaW4geG1sSW5pdGlhbGl6ZUdsb2JhbFN0YXRlLgorCSogcGFyc2VySW50ZXJuYWxzLmM6IGNsZWFuZWQgdXAgY3R4dC0+c2F4IGluaXRpYWxpc2F0aW9uLgorCitUaHUgTm92IDIxIDE1OjA1OjQ1IENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogdHJlZS5jIGluY2x1ZGUvbGlieG1sL3RyZWUuaDogbW9kaWZpZWQgdGhlIGV4aXN0aW5nIEFQSXMKKwkgIHRvIGhhbmRsZSBYSFRNTDEgc2VyaWFsaXphdGlvbiBydWxlcyBhdXRvbWF0aWNhbGx5LCBhbHNvIGFkZAorCSAgeG1sSXNYSFRNTCgpIHRvIGxpYnhtbDIgQVBJLiBTb21lIHR3ZWFraW5nIHRvIG1ha2Ugc3VyZQorCSAgbGlieHNsdCBzZXJpYWxpemF0aW9uIHVzZXMgaXQgd2hlbiBuZWVkZWQgd2l0aG91dCBjaGFuZ2luZworCSAgdGhlIGxpYnJhcnkgQVBJLgorCSogdGVzdC94aHRtbDEgcmVzdWx0L25vZW50L3hodG1sMSByZXN1bHQvdmFsaWQveGh0bWwxLnhodG1sCisJICByZXN1bHQveGh0bWwxOiBhZGRlZCBhIG5ldyB0ZXN0IHNwZWNpZmljYWxseSBmb3IgeGh0bWwxIG91dHB1dAorCSAgYW5kIHVwZGF0ZWQgdGhlIHJlc3VsdCBvZiBvbmUgWEhUTUwxIHRlc3QKKworV2VkIE5vdiAyMCAxNDoyNDo1NiBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhpbmNsdWRlLmMgcGFyc2VySW50ZXJuYWxzLmMgZW5jb2RpbmcuYzogZml4ZWQgIzk5MDgyCisJICBmb3IgeGk6aW5jbHVkZSBlbmNvZGluZz0iLi4uIiBzdXBwb3J0IG9uIHRleHQgaW5jbHVkZXMuCisJKiByZXN1bHQvWEluY2x1ZGUvdHN0ZW5jb2RpbmcueG1sIHRlc3QvWEluY2x1ZGUvZG9jcy90c3RlbmNvZGluZy54bWwKKwkgIHRlc3QvWEluY2x1ZGUvZW50cy9pc29sYXRpbi50eHQgOiBhZGRlZCBhIHNwZWNpZmljIHJlZ3Jlc3Npb24gdGVzdAorCSogcHl0aG9uL2dlbmVyYXRvci5weSBweXRob24vbGlieG1sMmNsYXNzLnR4dDogZml4ZWQgdGhlIGdlbmVyYXRvcgorCSAgdGhlIG5ldyBzZXQgb2YgY29tbWVudHMgZ2VuZXJhdGVkIGZvciBkb2MvbGlieG1sMi1hcGkueG1sIHdlcmUKKwkgIGJyZWFraW5nIHRoZSBweXRob24gZ2VuZXJhdGlvbi4KKworVHVlIE5vdiAxOSAyMzoyNTo0NyBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGRvYy9NYWtlZmlsZS5hbTogcmVwYWlyIHNvbWUgcHJvYmxlbSBpZiBndGstZG9jIGZhaWwgb3Igc3VjaAorCSogY29uZmlndXJlLmluOiBwYXRjaCBmb3IgU29sYXJpcyBvbiBuZXcgYXV0b2NvbmYgY2xvc2VzICM5ODg4MCAKKwkqIGRvYy9wYXJzZWRlY2wucHk6IHJlcGFpciB0aGUgZnJpZ2dpbmcgQVBJIGJ1aWxkaW5nIHNjcmlwdCwKKwkgIGRpZCBJIHNheSB0aGF0IHB5dGhvbiB4bWxsaWIgc3Vja3MgPworCSogZG9jL2xpYnhtbDItYXBpLnhtbCBkb2MvbGlieG1sMi1yZWZzLnhtbDogcmVnZW5lcmF0ZWQsIHJlb3JkZXJpbmcKKwkgIGFuZCBzb21lIGNvbW1lbnQgYXJlIG5vIG1vcmUgdHJ1bmNhdGVkLgorCitUdWUgTm92IDE5IDA5OjA5OjA0IENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcGFyc2VyLmM6IE1hcnRpbiBTdG9pbG92IHBvaW50ZWQgb3V0IGEgcG90ZW50aWFsIGxlYWsgaW4KKwkgIHhtbENyZWF0ZU1lbW9yeVBhcnNlckN0eHQKKworTW9uIE5vdiAxOCAxNjowNTo1MSBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIEhUTUxwYXJzZXIuYzogZml4ZWQgYnVnICM5ODg3OSBhIGNvcm5lciBjYXNlIHdoZW4gMCBpcworCSAgaW5jbHVkZWQgaW4gSFRNTCBkb2N1bWVudHMgYW5kIHVzaW5nIHRoZSBwdXNoIHBhcnNlci4KKworTW9uIE5vdiAxOCAwMDoxMToyNCBDRVQgMjAwMiBFUkRJIEdlcmdvIDxjYWN0dXNAY2FjdHVzLnJ1bGV6Lm9yZz4KKworCSogY29uZmlndXJlLmluIChQWVRIT05fU0lURV9QQUNLQUdFUyk6IElmIC0td2l0aC1weXRob24gaXMKKwkgIHNwZWNpZmllZCwgbG9vayBmb3IgdGhlIFB5dGhvbiBpbnRlcnByZXRlciBub3QganVzdCBpbiB0aGUKKwkgIHNwZWNpZmllZCByb290IGJ1dCBhbHNvIGluIHRoZSBzcGVjaWZpZWQgbG9jYXRpb24uIEZpeGVzICM5ODgyNQorCitTdW4gTm92IDE3IDIzOjM2OjA2IENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcHl0aG9uL2xpYnhtbC5jOiBmaXhpbmcgYnVnICM5ODc5MiAsIG5vZGUgbWF5IGhhdmUgbm8gZG9jCisJICBhbmQgZGVyZWZlcmVuY2luZyB3aXRob3V0IGNoZWNraW5nIGFpbid0IGdvb2QgLi4uCisKK1N1biBOb3YgMTcgMTA6MjU6NDMgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBjb25maWd1cmUuaW46IHByZXBhcmluZyByZWxlYXNlIDIuNC4yNworCSogZG9jLyogOiB1cGRhdGVkIGFuZCByZWJ1aWx0IHRoZSBkb2NzCisJKiBkb2MvTWFrZWZpbGUuYW0gbGlieG1sLnNwZWMuaW46IHRyeSB0byBtYWtlIHN1cmUgdGhlIHR1dG9yaWFsCisJICBhbmQgYWxsIHRoZSBkb2NzIGFyZSBhY3R1YWxseSBwYWNrYWdlZCBhbmQgaW4gdGhlIGZpbmFsIFJQTXMKKwkqIHBhcnNlci5jIHBhcnNlckludGVybmFscy5jIGluY2x1ZGUvbGlieG1sL3BhcnNlci5oOiByZXN0b3JlCisJICB4bWxsaW50IC0tcmVjb3ZlciBmZWF0dXJlLgorCitTYXQgTm92IDE2IDE2OjMwOjI1IENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcGFyc2VyLmMgeHBhdGguYzogZml4aW5nICM5NjkyNSB3aWNoIHdhcyBhbHNvIGRlcGVuZGVudCBvbiB0aGUKKwkgIHByb2Nlc3Npbmcgb2YgcGFyc2VkIGVudGl0aWVzLCBhbmQgWFBhdGggY29tcHV0YXRpb24gb24gc3VzdGl0dWVkCisJICBlbnRpdGllcy4KKwkqIHRlc3RYUGF0aC5jOiBtYWtlIHN1cmUgZW50aXRpZXMgYXJlIHN1YnN0aXR1ZWQuCisKK0ZyaSBOb3YgMTUgMTY6MjI6NTQgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBwYXJzZXIuYzogZml4ZWQgIzk2NTk0LCB3aGljaCB3YXMgdG90YWxseSBkZXBlbmRlbnQgb24gdGhlIAorCSAgcHJvY2Vzc2luZyBvZiBpbnRlcm5hbCBwYXJzZWQgZW50aXRpZXMsIHdoaWNoIGhhZCB0byBiZSBjaGFuZ2VkLgorCitGcmkgTm92IDE1IDEyOjE2OjA3IENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogTWFrZWZpbGUuYW0gcHl0aG9uL01ha2VmaWxlLmFtIHB5dGhvbi90ZXN0cy9NYWtlZmlsZS5hbToKKwkgIHRyeWluZyB0byBmaXggYnVnICM5ODUxNyBhYm91dCBidWlsZGluZyBvdXRzaWRlIHRoZSBzb3VyY2UgdHJlZQorCSogZG9jL3htbC5odG1sIGRvYy9GQVEuaHRtbDogZml4ZWQgdGhlIGxpbmsgdG8gbGliaWNvbnYgIzk0NTg1CisKK1RodSBOb3YgMTQgMTg6NDE6NTUgQ0VTVCAyMDAyIElnb3IgWmxhdGtvdmljIDxpZ29yQHN0dWQuZmgtZnJhbmtmdXJ0LmRlPgorCisJKiBpbmNsdWRlL3dpbjMyY29uZmlnLmg6IGNsZWFudXAKKwkqIHdpbjMyL01ha2VmaWxlLm1pbmd3OiBpbnRlZ3JhdGVkIG1pbmd3IGluIEpTY3JpcHQgY29uZmlndXJlCisJKiB3aW4zMi9NYWtlZmlsZS5tc3ZjOiBtb2RpZmllZCB0byBhbGxvdyBtaW5ndyBjb2V4aXN0ZW5jZQorCSogd2luMzIvY29uZmlndXJlLmpzOiBpbnRlZ3JhdGVkIG1pbmd3CisJKiB3aW4zMi9SZWFkbWUudHh0OiBjbGVhbnVwCisKK1R1ZSBOb3YgMTIgMjI6MDY6NDUgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBIVE1McGFyc2VyLmM6IHN0cmVuZ3RoZW4gdGhlIGd1YXJkIGluIHRoZSBQb3AgbWFjcm9zLAorCSAgbGlrZSBpbiB0aGUgWE1MIHBhcnNlciwgY2xvc2VzIGJ1ZyAjOTczMTUKKworVHVlIE5vdiAxMiAyMTo1NjozOSBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGluY2x1ZGUvbGlieG1sL3BhcnNlci5oOiBmaXhlZCBidWcgIzk4MzM4ICwgZmF0YWxFcnJvciBTQVgKKwkgIGNhbGxiYWNrIGlzIG5ldmVyIHVzZWQuCisKK1R1ZSBOb3YgMTIgMTM6MzI6NTAgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBwYXJzZXJJbnRlcm5hbHMuYzogZml4ZWQgdGhlIGluaXRpYWxpemF0aW9uIG9mIHRoZSBTQVggc3RydWN0dXJlCisJICB3aGljaCB3YXMgYnJlYWtpbmcgeHNsdHByb2MKKwkqIHhwYXRoLmM6IHBhdGNoIGZyb20gUGV0ciBQYWphcyBmb3IgQ0RBVEEgbm9kZXMKKwkqIHRyZWUuYzogcGF0Y2ggZnJvbSBQZXRyIFBhamFzIGltcHJvdmluZyB4bWxHZXROb2RlUGF0aCgpCisJKiBwYXJzZXIuYyBpbmNsdWRlL2xpYnhtbC9wYXJzZXIuaDogcGF0Y2ggZnJvbSBQZXRlciBKb25lcworCSAgcmVtb3ZpbmcgYSBsZWFrIGluIHhtbFNBWFBhcnNlTWVtb3J5KCkgYW5kIGFkZGluZyB0aGUKKwkgIGZ1bmN0aW9uIHhtbFNBWFBhcnNlTWVtb3J5V2l0aERhdGEoKQorCitNb24gTm92IDExIDIwOjQ3OjAzIE1TVCAyMDAyIEpvaG4gRmxlY2sgPGpmbGVja0BpbmtzdGFpbi5uZXQ+CisKKwlhZGRpbmcgcGRmIG9mIHR1dG9yaWFsLCBjaGFuZ2luZyB3ZWIgcGFnZSB0byBsaW5rIHRvIGl0CisJKiBkb2MvdHV0b3JpYWwveG1sdHV0b3JpYWwucGRmCisJKiBkb2MveG1sLmh0bWwKKwkqIGRvYy9kb2NzLmh0bWwKKworU3VuIE5vdiAxMCAyMDo0ODo1NyBNU1QgMjAwMiBKb2huIEZsZWNrIDxqZmxlY2tAaW5rc3RhaW4ubmV0PgorCisJKiBkb2MvdHV0b3JpYWwvYXIwMXMwOC5odG1sCisJYWRkaW5nIGZpbGUgd2hhdCBJIGZvcmdvdCBmb3IgdHV0b3JpYWwKKworU3VuIE5vdiAxMCAyMDozMzoxMyBNU1QgMjAwMiBKb2huIEZsZWNrICA8amZsZWNrQGlua3N0YWluLm5ldD4KKworCUFkZGluZyBlbmNvZGluZyBkaXNjdXNzaW9uIHRvIHR1dG9yaWFsCisJQWRkZWQ6CisJKiBkb2MvdHV0b3JpYWwvaW1hZ2VzLyoucG5nOiBEb2NCb29rIGFkbW9uaXRpb24gaW1hZ2UgZmlsZXMKKwkqIGRvYy90dXRvcmlhbC9hcGYuaHRtbCwgYXBnLmh0bWw6IG5ldyBnZW5lcmF0ZWQgaHRtbAorCSogZG9jL3R1dG9yaWFsL2luY2x1ZGVjb252ZXJ0LmM6IGNvbnZlcnNpb24gY29kZSBlbnRpdHkgZmlsZQorCWNoYW5nZWQ6CisJKiBkb2MvdHV0b3JpYWwveG1sdHV0b3JpYWwueG1sOiBEb2NCb29rIG9yaWdpbmFsCisJKiBkb2MvdHV0b3JpYWwvKi5odG1sOiBnZW5lcmF0ZWQgaHRtbAorCitGcmkgTm92ICA4IDE3OjU5OjMyIENFU1QgMjAwMiBJZ29yIFpsYXRrb3ZpYyA8aWdvckBzdHVkLmZoLWZyYW5rZnVydC5kZT4KKworCSogaW5jbHVkZS9saWJ4bWwvKi5oOiByZXRpcmVkIHhtbHdpbjMydmVyc2lvbi5oCisJKiBkb2MvTWFrZWZpbGUuYW06IHJldGlyZWQgeG1sd2luMzJ2ZXJzaW9uLmgKKwkqIHdpbjMyL2NvbmZpZ3VyZS5qczogcmV0aXJlZCB4bWx3aW4zMnZlcnNpb24uaAorCitGcmkgTm92ICA4IDE2OjU1OjQ3IENFU1QgMjAwMiBJZ29yIFpsYXRrb3ZpYyA8aWdvckBzdHVkLmZoLWZyYW5rZnVydC5kZT4KKworCSogd2luMzIvbGlieG1sMi5kZWYuc3JjOiBleHBvcnRlZCBhZGRpdGlvbmFsIHN5bWJvbHMKKwkqIGluY2x1ZGUvbGlieG1sL3htbG1lbW9yeS5oOiBleHBvcnRlZCB0aGUgcmVzdCBvZiB0aGUgeG1sTWVtKiAKKwkgIHNpc3Rlcmhvb2QKKworRnJpIE5vdiAgOCAxNjowODoxMyBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGdsb2JhbHMuYzogZml4ZWQgYSB0eXBvIHBvaW50ZWQgb3V0IGJ5IElnb3IKKwkqIHhwYXRoLmM6IHRyeSB0byBzcGVlZCB1cCBub2RlIGNvbXBhcmUgdXNpbmcgbGluZSBudW1iZXJzCisJICBpZiBhdmFpbGFibGUuCisKK1RodSBOb3YgIDcgMTU6MTY6MDIgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB0cmVlLmM6IG1ha2UgeG1sRnJlZU5vZGUoKSBoYW5kbGUgYXR0cmlidXRlcyBjb3JyZWN0bHkuCisKK1dlZCBOb3YgIDYgMjM6NTE6MTEgQ0VUIDIwMDIgSWdvciBabGF0a292aWMgPGlnb3JAc3R1ZC5maC1mcmFua2Z1cnQuZGU+CisKKwkqIGNhdGFsb2cuYzogY29tcGxldGVkIHRoZSAjOTY5NjMgZml4LCBhcyByZXBvcnRlZCBieSBLYXJsCisJICBFaWNod2FsZGVyCisKK1dlZCBOb3YgIDYgMTY6NDg6NDQgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4cG9pbnRlci5jOiB0cmllZCB0byBmaXggYnVnICM5Nzg1MiByZXBvcnRlZCBieSBOaWNvbGFzIE5vZmZrZQorCitTdW4gTm92ICAzIDEwOjQzOjQ0IENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogTWFrZWZpbGUuYW06IHN3aXRjaGVkIHRoZSBvcmRlciBvZiBhIGNvdXBsZSBvZiBpbmNsdWRlcworCSAgdG8gZml4IGJ1Z3MgIzk3MTAwCisKK1RodSBPY3QgMzEgMTc6MTE6NDYgQ0VTVCAyMDAyIElnb3IgWmxhdGtvdmljIDxpZ29yQHN0dWQuZmgtZnJhbmtmdXJ0LmRlPgorCisJKiBjYXRhbG9nLmM6IGZpeGVkIGJ1ZyAjOTY5NjMsIHJldmVydGVkIHRvIHRoZSBvbGQgYmVoYXZpb3VyIG9mCisJICB4bWxMb2FkQ2F0YWxvZ3MgdGhhdCB1c2VkIHRvIHNlcGFyYXRlIGRpcmVjdG9yaWVzIHdpdGggYSAnOicuCisKK1RodSBPY3QgMzEgMTY6NTU6MjEgQ0VTVCAyMDAyIElnb3IgWmxhdGtvdmljIDxpZ29yQHN0dWQuZmgtZnJhbmtmdXJ0LmRlPgorCisJKiB0aHJlYWRzLmM6IGltcHJvdmVtZW50cyB0byB0aGUgV2luZG93cy1zaWRlIG9mIHRocmVhZCBoYW5kbGluZworCSogdGVzdFRocmVhZHMuYzogY29uZGl0aW9uYWxseSBleGNsdWRlZCB1bmlzdGQuaAorCSogdGVzdFRocmFkc1dpbjMyLmM6IGJyb2tlIG92ZXJsb25nIGxpbmVzCisJKiBpbmNsdWRlL3dpbjMyY29uZmlnLmg6IGFkYXB0ZWQgdGhyZWFkLXJlbGF0ZWQgbWFjcm9zIHRvIHRoZSBuZXcKKwkgIHNjaGVtZSBhbmQgZm9yIHB0aHJlYWRzIG9uIFdpbmRvd3MKKwkqIHdpbjMyL01ha2VmaWxlLm1zdmM6IGludHJvZHVjZWQgYSBtb3JlIGZsZXhpYmxlIHRocmVhZCBidWlsZCwgCisJICBhZGRlZCB0ZXN0VGhyZWFkc1tXaW4zMl0uYyB0byB0aGUgYnVpbGQKKwkqIHdpbjMyL2NvbmZpZ3VyZS5qczogaW50cm9kdWNlZCBhIG1vcmUgZmxleGlibGUgdGhyZWFkIGNvbmZpZworCisyMDAyLTEwLTMxICBKb2huIEZsZWNrICA8amZsZWNrQGlua3N0YWluLm5ldD4KKworCSogZG9jL3htbC5odG1sIChhbmQsIGJ5IGltcGxpY2F0aW9uLCBGQVEuaHRtbCkKKwlhZGRlZCBVVEYtOCBjb252ZXJzYWlvbiBGQVEgZnJvbSBNYXJjdXMgTGFiaWIgSXNrYW5kZXIKKworVHVlIE9jdCAyOSAxODozMjozMyBDRVQgMjAwMiBJZ29yIFpsYXRrb3ZpYyA8aWdvckBzdHVkLmZoLWZyYW5rZnVydC5kZT4KKworCSogY29uZmlndXJlLmluOiByZW1vdmVkIHhtbHdpbjMydmVyc2lvbi5oCisJKiBpbmNsdWRlL2xpYnhtbC9NYWtlZmlsZS5hbTogcmVtb3ZlZCB4bWx3aW4zMnZlcnNpb24uaAorCitNb24gT2N0IDI4IDE0OjAxOjI5IENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogdHJlZS5jOiBhcHBsaWVkIHBhdGNoIGZyb20gQnJpYW4gU3RhZmZvcmQgdG8gZml4IGEgYnVnCisJICBpbiB4bWxSZWNvbmNpbGlhdGVOcygpCisKK01vbiBPY3QgMjggMTM6NTE6NTUgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB0cmVlLmM6IGFwcGxpZWQgcGF0Y2ggZnJvbSBDaHJpc3RpYW4gR2xhaG4gdG8gYWxsb3cKKwkgIHhtbE5ld0NoaWxkKCkgb24gZG9jdW1lbnQgZnJhZ21lbnQgbm9kZXMKKworU2F0IE9jdCAyNiAxNToyNzowMCBDRVNUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBwYXJzZXIuYzogQ2hyaXN0aWFuIEdsYWhuIGZvdW5kIGEgcHJvYmxlbSB3aXRoIGEgcmVjZW50CisJICBwYXRjaCB0byB4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlSZWNvdmVyKCkKKwkqIHhtbHNjaGVtYXMuYzogQ2hhcmxlcyBCb3plbWFuIGZpeGVkIHNvbWUgU2NoZW1hcyB2YWxpZGF0aW9uCisJICBwcm9ibGVtcworCSogcmVzdWx0L3NjaGVtYXMvZWxlbSogcmVzdWx0L3NjaGVtYXMvc2VxKiB0ZXN0L3NjaGVtYXMuZWxlbSoKKwkgIHRlc3Qvc2NoZW1hcy9zZXEqOiBhZGRlZCB0aGUgdGVzdCBjYXNlcyBmcm9tIENoYXJsZXMKKworV2VkIE9jdCAyMyAxNjo0MjoyOSBDRVNUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBNYWtlZmlsZS5hbSBjb25maWcuaC5pbiBsaWJ4bWwuc3BlYy5pbiBkb2MvTWFrZWZpbGUuYW06CisJICBzZXJpb3VzIGNsZWFudXAgb2YgdGhlIHNwZWMgZmlsZSBhbmQgYXNzb2NpYXRlZCBjaGFuZ2VzCisJICBpbiB0aGUgTWFrZWZpbGVzLgorCSogdmFsaWQuYzogdHJ5IHRvIHJlbW92ZSBzb21lIHdhcm5pbmdzIG9uIHg4Nl82NAorCitXZWQgT2N0IDIzIDEwOjUzOjQyIENFU1QgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGluY2x1ZGUvTWFrZWZpbGUuYW06IGFkZGVkIHdpbnNvY2tjb21wYXQuaCB0byBFWFRSQV9ESVNUIHRvCisJICBmaXggYnVnICM5NjU4NgorCitUdWUgT2N0IDIyIDIxOjEzOjA2IENFU1QgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIEhUTUxwYXJzZXIuYzogTWlraGFpbCBTb2dyaW5lIHBvaW50ZWQgb3V0IGEgYnVnIGluIEhUTUwKKwkgIHBhcnNpbmcsIGFwcGxpZWQgaGlzIHBhdGNoCisJKiByZXN1bHQvSFRNTC9hdHRyZW50cy5odG1sIHJlc3VsdC9IVE1ML2F0dHJlbnRzLmh0bWwuZXJyCisJICByZXN1bHQvSFRNTC9hdHRyZW50cy5odG1sLnNheCB0ZXN0L0hUTUwvYXR0cmVudHMuaHRtbDoKKwkgIGFkZGVkIHRoZSB0ZXN0IGFuZCByZXN1bHQgY2FzZSBwcm92aWRlZCBieSBNaWtoYWlsIFNvZ3JpbmUKKworVHVlIE9jdCAyMiAxOTozMzoyMCBDRVNUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB2bXMvYnVpbGRfbGlieG1sLmNvbSB2bXMvY29uZmlnLnZtcyB2bXMvcmVhZG1lLnZtcworCSAgaW5jbHVkZS9saWJ4bWwvcGFyc2VyLmggaW5jbHVkZS9saWJ4bWwvcGFyc2VySW50ZXJuYWxzLmgKKwkgIGluY2x1ZGUvbGlieG1sL3RyZWUuaCBpbmNsdWRlL2xpYnhtbC94bWxJTy5oCisJICBIVE1McGFyc2VyLmMgY2F0YWxvZy5jIGRlYnVnWE1MLmMgcGFyc2VyLmMgcGFyc2VySW50ZXJuYWxzLmMKKwkgIHRyZWUuYyB0cmlvZGVmLmggdHJpb25hbi5jIHVyaS5jIHhtbElPLmMgeHBhdGguYzoKKwkgIEFwcGxpZWQgdGhlIFZNUyB1cGRhdGUgcGF0Y2ggZnJvbSBDcmFpZyBBLiBCZXJyeQorCSogZG9jLyouaHRtbDogdXBkYXRlCisKK1R1ZSBPY3QgMjIgMTY6Mjc6MzEgQ0VTVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogaW5jbHVkZS9saWJ4bWwvZW5jb2RpbmcuaCBlbmNvZGluZy5jOiBtYWRlIHhtbEdldFVURjhDaGFyIHB1YmxpYworCitUdWUgT2N0IDIyIDE2OjI1OjE4IENFU1QgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGRlYnVnWE1MLmM6IGFkZGluZyBhIGdyZXAgY29tbWFuZCB0byAtLXNoZWxsIGluIHhtbGxpbnQKKwkgIGZvciBULlYuIFJhbWFuCisKK1R1ZSBPY3QgMjIgMTY6MjM6NTcgQ0VTVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sY2F0YWxvZy5jOiB0cmllZCB0byBmaXggc29tZSBvZiB0aGUgcHJvYmxlbSB3aXRoIC0tc2dtbAorCitNb24gT2N0IDIxIDA5OjU3OjEwIENFU1QgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlci5jOiB0cmllZCB0byBmaXggYnVnICM5MTUwMCB3aGVyZSBkb2MtPmNoaWxkcmVuIG1heQorCSAgYmUgb3ZlcnJpZGVuIGJ5IGEgY2FsbCB0byB4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnkoKQorCitNb24gT2N0IDIxIDA5OjA0OjMyIENFU1QgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGNhdGFsb2cuYzogdHJpZWQgdG8gZml4IGJ1ZyAjOTA5NDUgdy5yLnQuIHBhcnNpbmcgb2Ygc3lzdGVtCisJICBpZGVudGlmaWVycyBpbiBTR01MIGNhdGFsb2dzIGNvbnRhaW5pbmcgJyYnCisKK1N1biBPY3QgMjAgMjM6MzE6NDcgQ0VTVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcHl0aG9uL3R5cGVzLmM6IGZpeGVkIGJ1Z3Mgd2hlbiBwYXNzaW5nIHJlc3VsdCB2YWx1ZSB0cmVlCisJICB0byBQeXRob24gZnVuY3Rpb25zLgorCitGcmkgT2N0IDE4IDEzOjE4OjUzIENFU1QgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGNvbmZpZ3VyZS5pbjogcHJlcGFyaW5nIHRoZSByZWxlYXNlIG9mIDIuNC4yNgorCSogZG9jLyo6IHVwZGF0ZWQgYW5kIHJlYnVpbHQgdGhlIGRvY3VtZW50YXRpb24KKworV2VkIE9jdCAxNiAyMDowMTo0NiBDRVNUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBwYXJzZXIuYzogZml4ZWQgYSBYTUwgTmFtZXNwYWNlIGNvbXBsaWFuY2UgYnVnIHJlcG9ydGVkIGJ5CisJICBBbGV4YW5kZXIgR3JpbWFsb3Zza3kKKworV2VkIE9jdCAxNiAxNzoxODo0MiBDRVNUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBIVE1MdHJlZS5jOiBmaXhlZCBzZXJpYWxpemF0aW9uIG9mIHNjcmlwdCBhbmQgc3R5bGUgd2hlbgorCSAgdGhleSBhcmUgbm90IGxvd2VyY2FzZSAoaS5lLiBhZGRlZCB1c2luZyB0aGUgQVBJIHRvIHRoZSB0cmVlKS4KKworV2VkIE9jdCAxNiAxNjozMTowNSBDRVNUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB2YWxpZC5jOiBtYWtlIHhtbFZhbGlkYXRlRG9jdW1lbnQgZW1pdCBhIHdhcm5pbmcgbXNnIGlmIHRoZXJlCisJICBpcyBubyBEVEQsIHBvaW50ZWQgYnkgQ2hyaXN0aWFuIEdsYWhuCisKK1dlZCBPY3QgMTYgMTY6MDU6MzggQ0VTVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1scmVnZXhwLmMgeG1sc2NoZW1hcy5jOiBmaXhlZCB0aGUgdmFsaWRhdGlvbiBvZiBzZXF1ZW5jZXMKKwkgIGNvbnRlbnQgbW9kZWwgd2hlbiBzb21lIG9mIHRoZSBibG9ja3MgaGF2ZSBtaW4gb3IgbWF4LCBhbmQgYSBjb3VwbGUKKwkgIG9mIGJ1Z3MgZm91bmQgaW4gdGhlIHByb2Nlc3MuCisJKiByZXN1bHQvc2NoZW1hcy9saXN0MCogdGVzdC9zY2hlbWFzL2xpc3QwKjogYWRkZWQgc29tZSBzcGVjaWZpYworCSAgcmVncmVzc2lvbiB0ZXN0cworCitUdWUgT2N0IDE1IDEyOjQxOjAxIENFU1QgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIFJFQURNRTogdXBkYXRlZCB0aGUgY29udGFjdCBpbmZvcm1hdGlvbnMKKworVHVlIE9jdCAxNSAxMDozNTo1NyBDRVNUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBNYWtlZmlsZS5hbTogdXNlIHRlc3QgLWYgaW5zdGVhZCBvZiB0ZXN0IC1lIHNpbmNlIFNvbGFyaXMgL2Jpbi9zaAorCSAgbWlzc2VzIGl0LCByZXBvcnRlZCBieSBQZXRlciBCcmF5LgorCitNb24gT2N0IDE0IDE3OjM3OjMyIENFU1QgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHRyZWUuYzogaW52ZXN0aWdhdGluZyB4bWxOb2RlR2V0Q29udGVudCgpIG9uIG5hbWVzcGFjZSBub2RlcworCSAgYW5kIHJlbW92ZWQgYSBmZXcgd2FybmluZ3MKKworTW9uIE9jdCAxNCAxMzoxMjo1NSBDRVNUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBwYXJzZXIuYzogQ2hyaXN0aWFuIEdsYWhuIGZvdW5kIGEgc21hbGwgYnVnIGluIHRoZSBwdXNoIHBhcnNlci4KKwkqIHhtbElPLmMgaW5jbHVkZS9saWJ4bWwveG1sSU8uaDogY2xlYW5lZCB1cCBhbmQgbWFkZSB4bWxDaGVja0ZpbGVuYW1lCisJICBwdWJsaWMKKworV2VkIE9jdCAgOSAyMzoxMTowMiBDRVNUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxzY2hlbWFzLmMgaW5jbHVkZS9saWJ4bWwveG1sc2NoZW1hcy5oOiBhZGRlZAorCSAgeG1sU2NoZW1hTmV3TWVtUGFyc2VyQ3R4dCB0byBwYXJzZSBhIHNjaGVtYXMgZnJvbSBhIG1lbW9yeSBhcmVhCisJKiB0ZXN0U2NoZW1hcy5jOiBhZGRlZCAtLW1lbW9yeSB0byB0ZXN0IHRoZSBuZXcgaW50ZXJmYWNlCisKK1dlZCBPY3QgIDkgMTY6MjI6NTQgQ0VTVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZG9jL2luZGV4LnB5IGRvYy9zZWFyY2gucGhwOiBpbnRlZ3JhdGVkIHRoZSBYU0xUIGluZGV4aW5nLAorCSAgYSBmZXcgZml4ZWQgaW4gdGhlIGluZGV4ZXIsIGFkZGVkIGEgc2NvcGUgc2VsZWN0aW9uIGF0IHRoZQorCSAgc2VhcmNoIGxldmVsLgorCitXZWQgT2N0ICA5IDEyOjE4OjM3IENFU1QgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHZhbGlkLmM6IEpvZSBNYXJjdXMgQ2xhcmtlIHJlcG9ydGVkIGEgc2VnZmF1bHQgb24gRkJzZCAKKwkgIHRoaXMgd2FzIGR1ZSB0byB1bmluaXRpYWxpemVkIHBhcnRzIG9mIHRoZSB2YWxpZGF0aW9uIGNvbnRleHQKKworVHVlIE9jdCAgOCAyMzoyNDoyMCBDRVNUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBkZWJ1Z1hNTC5jOiBhcHBsaWVkIHBhdGNoIGZyb20gTWFyayBWYWtvYyBleGNlcHQgdGhlIEFQSQorCSAgY2hhbmdlLCBwcmVzZXJ2ZWQgaXQuCisJKiBkb2MvKjogdXBkYXRlZCB0aGUgZG9jcyB0byBwb2ludCB0byB0aGUgc2VhcmNoIGVuZ2luZSBmb3IKKwkgIGluZm9ybWF0aW9uIGxvb2t1cCBvciBiZWZvcmUgYnVnL2hlbHAgcmVwb3J0cy4KKworVHVlIE9jdCAgOCAxODo1MzozMSBDRVNUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBkb2MvaW5kZXgucHkgZG9jL3NlYXJjaC5waHA6IGFkZGVkIG1haWxpbmctbGlzdCBhcmNoaXZlcworCSAgaW5kZXhpbmcgYW5kIGxvb2t1cAorCitUdWUgT2N0ICA4IDEwOjI1OjA3IENFU1QgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHRyZWUuYzogcGF0Y2ggZnJvbSBNYXJrIFZha29jIHRvIGZpeCB4bWxOb2RlR2V0UGF0aCgpCisKK01vbiBPY3QgIDcgMTM6MTI6MDMgQ0VTVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZG9jL2luZGV4LnB5OiBpbXByb3ZlZCBIVE1MIGluZGV4aW5nCisJKiBkb2Mvc2VhcmNoLnBocDogbWFrZSB0aGUgcXVlcmllcyBhbHNvIGxvb2t1cCB0aGUgSFRNTCBiYXNlZCBpbmRleGVzCisKK1N1biBPY3QgIDYgMjM6NTA6MjkgQ0VTVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZG9jL2luZGV4LnB5OiBhZGRlZCBIVE1MIHBhZ2UgaW5kZXhpbmcgCisKK0ZyaSBPY3QgIDQgMTU6MzM6NTUgQ0VTVCAyMDAyIElnb3IgWmxhdGtvdmljIDxpZ29yQHN0dWQuZmgtZnJhbmtmdXJ0LmRlPgorCisJKiB4bWxJTy5jOiBleHRlbmRlZCBXaW5kb3dzIHBhdGggbm9ybWFsaXNhdGlvbiB0byBmaXggdGhlIGJhc2UKKwkgIHByb2JsZW0gaW4gbGlieHNsdC4KKwkqIGNhdGFsb2cuYzogZml4ZWQgbGlzdCBoYW5kbGluZyBpbiBYTUxfQ0FUQUxPR19GSUxFUworCitGcmkgT2N0ICA0IDEzOjQzOjAyIENFU1QgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHZhbGlkLmM6IHR5cG8vYnVnIGZvdW5kIGJ5IENocmlzdGlhbiBHbGFobgorCitTdW4gU2VwIDI5IDE5OjQ0OjEwIENFU1QgMjAwMiBJZ29yIFpsYXRrb3ZpYyA8aWdvckBzdHVkLmZoLWZyYW5rZnVydC5kZT4KKworCSogeG1sSU8uYzogYXBwbGllZCBXaW5kb3dzIENFIHBhdGNoIGZyb20gSmF2aWVyLgorCSogd2luMzIvd2luY2U6IG5ldyBkaXJlY3RvcnksIGNvbnRhaW5zIHN1cHBvcnQgZm9yIHRoZSBQb2NrZXRQQworCSAgd2l0aCBXaW5kb3dzIENFIGZyb20gSmF2aWVyLgorCSogaW5jbHVkZS93aW4zMmNvbmZpZy5oOiByZW9yZ2FuaXNlZCwgcmVtb3ZlZCBkdXBsaWNhdGUgCisJICBkZWZpbml0aW9ucyBhbmQgYXBwbGllZCBXaW5DRSBwYXRjaCBmcm9tIEphdmllci4KKwkqIGluY2x1ZGUvd3NvY2tjb21wYXQuaDogbmV3IGZpbGUsIG5vdyBjb250YWlucyBXaW5Tb2NrCisJICBjb21wYXRpYmlsaXR5IG1hY3Jvcy4KKwkqIHdpbjMyL01ha2VmaWxlLm1zdmM6IGludHJvZHVjZWQgZG91YmxlLXJ1biBjb21waWxhdGlvbi4KKworVGh1IFNlcCAyNiAxOTo0ODowNiBDRVNUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBjb25maWd1cmUuaW4gaW5jbHVkZS9saWJ4bWwveG1sd2luMzJ2ZXJzaW9uLmg6IHByZXBhcmluZyByZWxlYXNlCisJICBvZiAyLjQuMjUKKwkqIGRvYy8qOiB1cGRhdGVkIGFuZCByZWdlbmVyYXRlZCB0ZWggZG9jcyBhbmQgd2ViIHBhZ2VzLgorCitUaHUgU2VwIDI2IDE3OjMzOjQ2IENFU1QgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIFNBWC5jIHZhbGlkLmMgaW5jbHVkZS9saWJ4bWwvdmFsaWQuaDogZml4ZWQgYnVnICM5MjUxOCB2YWxpZGF0aW9uCisJICBlcnJvciB3ZXJlIG5vdCBjb3ZlcmluZyBuYW1lc3BhY2UgZGVjbGFyYXRpb25zLgorCSogcmVzdWx0L3ZhbGlkL2RpYS54bWwgdGVzdC92YWxpZC9kaWEueG1sOiB0aGUgdGVzdCB3YXNuJ3QgdmFsaWQsCisJICBpdCB3YXMgbWlzc2luZyB0aGUgYXR0cmlidXRlIGRlY2xhcmF0aW9uIGZvciB0aGUgbmFtZXNwYWNlCisJKiByZXN1bHQvVkMvTlMzOiB0aGUgZml4IG5vdyByZXBvcnQgYnJlYWthZ2VzIGluIHRoYXQgdGVzdAorCitUaHUgU2VwIDI2IDE0OjM5OjA3IENFU1QgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIEhUTUx0cmVlLmM6IGZpeGluZyBidWcgIzk0MjQxIG9uIEhUTUwgYm9vbGVhbiBhdHRyaWJ1dGVzCisKK1RodSBTZXAgMjYgMTQ6MjU6MzMgQ0VTVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZG9jLyo6IGFkZGVkIHRoZSAzIG5ldyBtb2R1bGVzIHhtbHJlZ2V4cCB4bWxhdXRvbWF0YSBhbmQgeG1sdW5pY29kZQorCSAgYW5kIHJlZ2VuZXJhdGVkIHRoZSBkb2NzIGFuZCB3ZWIgc2l0ZQorCitUaHUgU2VwIDI2IDExOjQ1OjQyIENFU1QgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhpbmNsdWRlLmMgeG1sc2NoZW1hcy5jIHhtbHNjaGVtYXN0eXBlcy5jIHhwYXRoLmM6IG1ha2Ugc3VyZQorCSAgQVRUUklCVVRFX1VOVVNFRCBpcyBhbHdheXMgcHV0IGFmdGVyIHRoZSBhdHRyaWJ1dGUgZGVjbGFyYXRpb24sCisJICBub3QgYmVmb3JlCisKK1RodSBTZXAgMjYgMTE6MzM6MjggQ0VTVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcHl0aG9uL2dlbmVyYXRvci5weSBweXRob24vbGlieG1sMmNsYXNzLnR4dDogZml4ZWQgYSBzdHVwaWQgZXJyb3IKKwkgIGJyZWFraW5nIHRoZSBweXRob24gQVBJCisKK1RodSBTZXAgMjYgMDA6MzE6NDYgQ0VTVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogdHJpby5jIHRyaW8uaCB0cmlvZGVmLmggdHJpb25hbi5jIHRyaW9uYW4uaCB0cmlvcC5oCisJICB0cmlvc3RyLmMgdHJpb3N0ci5oOiBhcHBsaWVkIGEgdHJpbyB1cGRhdGUgcGF0Y2ggZnJvbSAKKwkgIEJqb3JuIFJlZXNlIHdoaWNoIHNob3VsZCB3b3JrIHdpdGggTWluR1cKKworVGh1IFNlcCAyNiAwMDoyMToxOCBDRVNUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB0cmVlLmM6IGltcHJvdmluZyBzb21lIGRvY3VtZW50YXRpb24gY29tbWVudHMKKwkqIHhtbHJlZ2V4cC5jOiBmb3VuZCBhbmQgZml4ZWQgYSBtZW0gbGVhayB3aXRoIHB5dGhvbiByZWdyZXNzaW9uIHRlc3RzCisJKiBkb2MvKjogcmVidWlsdCB0aGUgZG9jIGFuZCB0aGUgQVBJIFhNTCBmaWxlIGluY2x1ZGluZyB0aGUgCisJICB4bWxyZWdleHAuaCB4bWxhdXRvbWF0YS5oIGFuZCB4bWx1bmljb2RlLmggaGVhZGVycworCSogcHl0aG9uL2dlbmVyYXRvci5weSBweXRob24vbGlieG1sMmNsYXNzLnR4dCBweXRob24vbGlieG1sX3dyYXAuaAorCSAgcHl0aG9uL3R5cGVzLmM6IGFkZGVkIGFjY2VzcyB0byB0aGUgWE1MIFNjaGVtYXMgcmVnZXhwcyBmcm9tCisJICBweXRob24KKwkqIHB5dGhvbi90ZXN0cy9NYWtlZmlsZS5hbSBweXRob24vdGVzdHMvcmVnZXhwLnB5OiBhZGRlZCBhIAorCSAgc2ltcGxlIHJlZ2V4cCBiaW5kaW5ncyB0ZXN0CisKK1R1ZSBTZXAgMjQgMDg6MTA6NDggTURUIDIwMDIgSm9obiBGbGVjayA8amZsZWNrQGlua3N0YWluLm5ldD4KKworCSogZG9jL3htbC5odG1sOgorCSAgZml4aW5nIGZ0cCBsaW5rcyAtIHRoYW5rcyB0byBWaXRhbHkgT3N0YW5pbgorCitUdWUgU2VwIDI0IDE2OjA4OjE3IENFU1QgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbHJlZ2V4cC5jOiBmaXhlZCB0aGUgZGF0YSBjYWxsYmFjayBvbiB0cmFuc2l0aW9uIGZ1bmN0aW9uYWxpdHkKKwkgIHdoaWNoIHdhcyBicm9rZW4gd2hlbiB1c2luZyB0aGUgY29tcGFjdCBmb3JtCisJKiByZXN1bHQvc2NoZW1hcy8qOiB1cGRhdGVkIHRoZSByZXN1bHRzLCBsZXNzIHZlcmJvc2UsIGFsbCB0ZXN0cworCSAgcGFzcyBsaWtlIGJlZm9yZQorCSogRE9DQnBhcnNlci5jIHRlc3RBdXRvbWF0YS5jIHRlc3RDMTROLmMgdGVzdFNjaGVtYXMuYyB0ZXN0VGhyZWFkcy5jCisJICB0ZXN0WFBhdGguYyB2YWxpZC5jIHhpbmNsdWRlLmMgeG1sbGludC5jIHhtbHJlZ2V4cC5jIHhtbHNjaGVtYXMuYworCSAgeG1sc2NoZW1hc3R5cGVzLmMgeHBhdGguYyBweXRob24vbGlieG1sLmM6IHJlbW92ZWQgYSBidW5jaCBvZgorCSAgYW5ub3lpbmcgd2FybmluZ3MKKwkqIHhwYXRoLmM6IHRyeSB0byBwcm92aWRlIGJldHRlciBlcnJvciByZXBvcnQgd2hlbiBwb3NzaWJsZQorCitTYXQgU2VwIDIxIDE0OjU2OjM3IENFU1QgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIE1ha2VmaWxlLmFtOiBmaXhlZCBhIGJyZWFrYWdlIHJhaXNlZCBieSBKYWNvYgorCitGcmkgU2VwIDIwIDIwOjA4OjE4IENFU1QgMjAwMiBJZ29yIFpsYXRrb3ZpYyA8aWdvckBzdHVkLmZoLWZyYW5rZnVydC5kZT4KKworCSogaW5jbHVkZS93aW4zMmNvbmZpZy5oOiBhZGRlZCBIQVZFX0VSUk5PX0ggZGVmaW5pdGlvbiBmb3IgcGFydHMKKwkgIHdoaWNoIGRvbid0IHVzZSBzb2NrZXRzCisKK0ZyaSBTZXAgMjAgMTg6NDA6NTAgQ0VTVCAyMDAyIElnb3IgWmxhdGtvdmljIDxpZ29yQHN0dWQuZmgtZnJhbmtmdXJ0LmRlPgorCisJKiB3aW4zMi9NYWtlZmlsZS5tc3ZjOiBhcHBsaWVkIHpsaWIgcGF0Y2ggZnJvbSBEYW5pZWwgR2VocmlnZXIKKwkqIHdpbjMyL2NvbmZpZ3VyZS5qczogYXBwbGllZCB6bGliIHBhdGNoIGZyb20gRGFuaWVsIEdlaHJpZ2VyCisKK0ZyaSBTZXAgMjAgMTU6NDA6MTQgQ0VTVCAyMDAyIElnb3IgWmxhdGtvdmljIDxpZ29yQHN0dWQuZmgtZnJhbmtmdXJ0LmRlPgorCisJKiB3aW4zMi9jb25maWd1cmUuanM6IGFwcGxpZWQgdGhlIHBhdGNoIGZyb20gTWFyayBWYWtvYyBmb3IgCisJICByZWdleHAgc3VwcG9ydAorCSogd2luMzIvbGlieG1sMi5kZWYuc3JjOiBhcHBsaWVkIHRoZSBwYXRjaCBmcm9tIE1hcmsgVmFrb2MKKwkgIGZvciByZWdleHAgc3VwcG9ydAorCitGcmkgU2VwIDIwIDE1OjM1OjMzIENFU1QgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbHNjaGVtYXN0eXBlcy5jOiBhcyBwb2ludGVkIGJ5IElnb3IgRmxvYXQgYW5kIERvdWJsZQorCSAgcGFyc2luZyBhaW4ndCBmaW5pc2hlZCB5ZXQKKworRnJpIFNlcCAyMCAxNDowMDoxNiBDRVNUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBNYWtlZmlsZS5hbSBjb25maWd1cmUuaW46IHRyeWluZyB0byBmaXggIzg4NDEyIGJ5IGJ5cGFzc2luZworCSAgYWxsIHRoZSBweXRob24gc3ViZGlyIGlmIHB5dGhvbiBhaW4ndCBkZXRlY3RlZAorCitUaHUgU2VwIDE5IDIxOjQ2OjUzIENFU1QgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIE1ha2VmaWxlLmFtIGNvbmZpZ3VyZS5pbiBpbmNsdWRlL2xpYnhtbC94bWx2ZXJzaW9uLmguaW46CisJICBtYWRlIGNvbmZpZ3VyaW5nIHdpdGggcmVnZXhwcy9hdXRvbWF0YS91bmljb2RlIHRoZSBkZWZhdWx0CisJICBidXQgd2l0aG91dCBzY2hlbWFzIEFUTQorCSogdGVzdFJlZ2V4cC5jIHZhbGlkLmMgeG1scmVnZXhwLmMgaW5jbHVkZS9saWJ4bWwveG1scmVnZXhwLmg6CisJICBmaXhlZCB0aGUgcmVnZXhwIGJhc2VkIERURCB2YWxpZGF0aW9uIHBlcmZvcm1hbmNlIGFuZCBtZW1vcnkKKwkgIHByb2JsZW0gYnkgc3dpdGNoaW5nIHRvIGEgY29tcGFjdCBmb3JtIGZvciBkZXRlcm1pbmlzdCByZWdleHBzCisJICBhbmQgZGV0ZWN0aW5nIHRoZSBkZXRlcm1pbmlzbSBwcm9wZXJ0eSBpbiB0aGUgcHJvY2Vzcy4gU2VlbXMKKwkgIGFzIGZhc3QgYXMgdGhlIG9sZCBEVEQgdmFsaWRhdGlvbiBzcGVjaWZpYyBlbmdpbmUgOi0pIGRlc3BpdGUKKwkgIHRoZSByZWdleHAgYnVpbHQgYW5kIGNvbXBhY3Rpb24gcHJvY2Vzcy4KKworV2VkIFNlcCAxOCAxODoyNzoyNiBDRVNUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB2YWxpZC5jOiBkZXRlcm1pbmlzbSBpcyBkZWJ1Z2dlZCwgbmV3IERURCBjaGVja2luZyBjb2RlIG5vdyB3b3JrcworCSAgYnV0IHhtbEZBQ29tcHV0ZXNEZXRlcm1pbmlzbSB0YWtlcyBmYXIgdG9vIG11Y2ggQ1BVIGFuZCB0aGUgd2hvbGUKKwkgIHNldCB1c3VlcyB0b28gbXVjaCBtZW1vcnkgdG8gYmUgcmVhbGx5IHVzYWJsZSBhcy1pcworCitXZWQgU2VwIDE4IDAwOjU0OjMwIENFU1QgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHRyZWUuYzogZml4ZWQgYW5vdGhlciBzdHVwaWQgYnVnIGluIHhtbEdldE5vZGVQYXRoKCkKKwkqIHhtbGxpbnQuYzogLS12ZXJzaW9uIG5vdyByZXBvcnQgdGhlIG9wdGlvbnMgY29tcGlsZWQgaW4KKworVHVlIFNlcCAxNyAyMzo0ODowNyBDRVNUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBIVE1McGFyc2VyLmM6IHNtYWxsIGNsZWFudXAKKwkqIHZhbGlkLmMgeG1scmVnZXhwLmM6IHN3aXRjaGVkIERURCB2YWxpZGF0aW9uIHRvIHVzZSBvbmx5IHJlZ2V4cAorCSAgd2hlbiBjb25maWd1cmVkIHdpdGggdGhlbS4gQSBiaXQgb2YgZGVidWdnaW5nIGFyb3VuZCB0aGUgZGV0ZXJtaW5pc20KKwkgIGNoZWNrcyBpcyBzdGlsbCBuZWVkZWQKKworVHVlIFNlcCAxNyAyMToyMjoyNSBDRVNUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBweXRob24vbGlieG1sX3dyYXAuaDogc3R1cGlkIGJ1ZyBmb3VuZCBieSBtYXR0YW1AbmV0Y291cnJpZXIuY29tCisKK1R1ZSBTZXAgMTcgMTk6NTg6MjYgQ0VTVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sSU8uYzogc21hbGwgcG9ydGFiaWxpdHkgZ2xpdGNoIGZpeGVkLgorCitNb24gU2VwIDE3IDEyOjM4OjA4IENFU1QgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbHNjaGVtYXN0eXBlcy5jOiBpbmNvbXBsZXRlIHN0ZXBzIGZvciByZWFsL2RvdWJsZSBzdXBwb3J0CisJKiB0ZXN0QXV0b21hdGEuYyBpbmNsdWRlL2xpYnhtbC94bWxhdXRvbWF0YS5oCisJICBpbmNsdWRlL2xpYnhtbC94bWxyZWdleHAuaDogYXZvaWRpbmcgYSBjb21waWxhdGlvbiBwcm9ibGVtCisJKiB2YWxpZC5jIGluY2x1ZGUvbGlieG1sL3ZhbGlkLmg6IHN0YXJ0aW5nIHRoZSB3b3JrIHRvd2FyZCB1c2luZworCSAgdGhlIHJlZ2V4cHMgZm9yIGFjdHVhbCBEVEQgdmFsaWRhdGlvbgorCitGcmkgU2VwIDEzIDE2OjQ2OjE0IENFU1QgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGhhc2guYzogY29zbWV0aWMgY2xlYW51cAorCSogdmFsaWQuYyBpbmNsdWRlL2xpYnhtbC90cmVlLmggaW5jbHVkZS9saWJ4bWwvdmFsaWQuaDogc3RhcnRlZCAKKwkgIGludGVncmF0aW5nIGEgRFREIHZhbGlkYXRpb24gbGF5ZXIgYmFzZWQgb24gdGhlIHJlZ2V4cHMKKworVGh1IFNlcCAxMiAxODowMToyOSBDRVNUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxyZWdleHAuYyB4bWxzY2hlbWFzLmM6IGZpeGVkIGEgYnVnIHJlcG9ydGVkIGJ5IEplZmYgR29mZiwKKwkgIHRoZSBkZXRlcm1pbmlzbSB3YXMgdGVzdGVkIGJlZm9yZSBlbGltaW5hdGluZyB0aGUgZXBzaWxvbgorCSAgdHJhbnNpdGlvbnMgOi0oCisKK1RodSBTZXAgMTIgMTY6NTc6NDUgQ0VTVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcHl0aG9uL2dlbmVyYXRvci5weSBweXRob24vbGlieG1sLmMgcHl0aG9uL2xpYnhtbC5weQorCSAgcHl0aG9uL2xpYnhtbDItcHl0aG9uLWFwaS54bWwgcHl0aG9uL2xpYnhtbDJjbGFzcy50eHQKKwkgIHB5dGhvbi9saWJ4bWxfd3JhcC5oIHB5dGhvbi90eXBlcy5jOiB1cGRhdGVkIHRoZSBweXRob24KKwkgIGJpbmRpbmdzLCBhZGRlZCBjb2RlIGZvciBlYXNpZXIgRmlsZSBJL08sIGFuZCB0aGUgYWJpbGl0eSB0bworCSAgZGVmaW5lIGEgcmVzb2x2ZXIgZnJvbSBQeXRob24gZml4aW5nIGJ1ZyAjOTE2MzUKKwkqIHB5dGhvbi90ZXN0cy9NYWtlZmlsZS5hbSBweXRob24vdGVzdHMvaW5idWYucHkKKwkgIHB5dGhvbi90ZXN0cy9vdXRidWYucHkgcHl0aG9uL3Rlc3RzL3B1c2hTQVhodG1sLnB5CisJICBweXRob24vdGVzdHMvcmVzb2x2ZXIucHkgcHl0aG9uL3Rlc3RzL3NlcmlhbGl6ZS5weTogdXBkYXRlZAorCSAgYW5kIGF1Z21lbnRlZCB0aGUgc2V0IG9mIFB5dGhvbiB0ZXN0cy4KKworVHVlIFNlcCAxMCAyMTowNToyOCBDRVNUIDIwMDIgSWdvciBabGF0a292aWMgPGlnb3JAc3R1ZC5maC1mcmFua2Z1cnQuZGU+CisKKwkqIHdpbjMyL2NvbmZpZ3VyZS5qczogYWRkZWQgbW9yZSByZWFkbWUgaW5mbyBmb3IgdGhlIGJpbmFyeQorCSAgcGFja2FnZS4KKworVHVlIFNlcCAxMCAxNDoxNToxOCBDRVNUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxJTy5jOiBmaXhlZCBhIHN0dXBpZCBvdXQgb2YgYm91bmQgYXJyYXkgZXJyb3IKKworVHVlIFNlcCAxMCAxMzowOToxNCBDRVNUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBpbmNsdWRlL2xpYnhtbC94bWxJTy5oIHhtbElPLmMgcGFyc2VyLmMgSFRNTHBhcnNlci5jIERPQ0JwYXJzZXIuYzoKKwkgIG1lc3NpbmcgYXJvdW5kIHdpdGggc3VwcG9ydCBmb3IgV2luZG93cyBwYXRoLCBjbGVhbnVwcywKKwkgIHRyeWluZyB0byBpZGVudGlmeSBhbmQgZml4IHRoZSB2YXJpb3VzIGNvZGUgcGF0aCB0byB0aGUKKwkgIGZpbGVuYW1lIGFjY2Vzcy4gQWRkZWQgeG1sTm9ybWFsaXplV2luZG93c1BhdGgoKQorCitUaHUgU2VwICA1IDE2OjE5OjE4IENFU1QgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGVycm9yLmMgdmFsaWQuYzogd29ya2luZyBvbiBiZXR0ZXIgZXJyb3IgcmVwb3J0aW5nIG9mIHZhbGlkaXR5CisJICBlcnJvcnMsIGVzcGVjaWFsbHkgcHJvdmlkaW5nIGFuIGFjY3VyYXRlIGNvbnRleHQuCisJKiByZXN1bHQvdmFsaWQveGxpbmsueG1sLmVyciByZXN1bHQvdmFsaWQvcnNzLnhtbC5lcnI6IGJldHRlcgorCSAgZXJyb3IgcmVwb3J0cyBpbiB0aG9zZSBjYXNlcy4KKworVGh1IFNlcCAgNSAxMzoyOTo0NyBDRVNUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBET0NCcGFyc2VyLmMgSFRNTHBhcnNlci5jIGMxNG4uYyBlbnRpdGllcy5jIGxpc3QuYworCSAgcGFyc2VyLmMgcGFyc2VySW50ZXJuYWxzLmMgeG1sSU8uYzogZ2V0IHJpZCBvZiBhbGwgdGhlIAorCSAgcGVycm9yKCkgY2FsbHMgbWFkZSBpbiB0aGUgbGlicmFyeSBleGVjdXRpb24gcGF0aHMuIFRoaXMKKwkgIHNob3VsZCBmaXggYm90aCAjOTIwNTkgYW5kICM5MjM4NQorCitUaHUgU2VwICA1IDEzOjEzOjE3IENFU1QgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbGxpbnQuYzogbWVtb3J5IGxlYWsgcmVwb3J0aW5nIHdhcyBicm9rZW4gYWZ0ZXIgYSBjaGFuZ2UKKwkgIG9mIHRoZSBwcmVwcm9jZXNzb3Igc3ltYm9sIHVzZWQgdG8gYWN0aXZhdGUgaXQuCisKK1RodSBTZXAgIDUgMTM6MTA6NTcgQ0VTVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogdHJlZS5jOiB0cnkgdG8gbWFrZSB0aGUgY29weSBmdW5jdGlvbiB3b3JrIGZvciBub2RlIG9mCisJICB0eXBlIFhNTF9ET0NVTUVOVF9GUkFHX05PREUsIHRoZXkgYXJlIG9ubHkgY3JlYXRlZCBieSB0aGUKKwkgIERPTSBsYXllcnMgdGhvdWdoLCBub3QgbGlieG1sMiBpdHNlbGYuCisKK1RodSBTZXAgIDUgMTI6NTc6MzggQ0VTVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogdmFsaWQuYzogdHJ5IHRvIHByb3ZpZGUgZmlsZSBhbmQgbGluZSBpbmZvcm1hdGlvbnMsIG5vdCBhbGwKKwkgIG1lc3NhZ2VzIGFyZSBjb3ZlcmVkLCBidXQgaXQncyBhIChnb29kKSBzdGFydAorCitUaHUgU2VwICA1IDEyOjQ5OjM1IENFU1QgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhpbmNsdWRlLmM6IHJlaW1wbGVtZW50ZWQgYSBsYXJnZSBwYXJ0IG9mIHRoZSBYSW5jbHVkZQorCSAgcHJvY2Vzc29yLCB0cnlpbmcgdG8gbWluaW1pemUgcmVzb3VyY2VzIHVzZWQsIEphbWVzIEhlbnN0cmlkZ2UKKwkgIHByb3ZpZGVkIGEgaHVnZSB0ZXN0IGNhc2Ugd2hpY2ggd2FzIGV4aGliaXRpbmcgc2V2ZXJlIG1lbW9yeQorCSAgY29uc3VtcHRpb24gcHJvYmxlbXMuCisKK1RodSBTZXAgIDUgMTA6MDc6MTMgQ0VTVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcHl0aG9uL01ha2VmaWxlLmFtOiBhcHBsaWVkIHBhdGNoIGZyb20gQ2hyaXN0b3BoZSBNZXJsZXQgdG8KKwkgIHJlZXN0YWJsaXNoIERFU1RESVIKKworV2VkIFNlcCAgNCAxNDoxMzozNCBDRVNUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBsaWJ4bWwuc3BlYy5pbjogZml4ZXMgbGliYXJ5IHBhdGggZm9yIHg4Nl82NCBBTUQKKworVHVlIFNlcCAgMyAyMToxNDoxOSBNRFQgMjAwMiBKb2huIEZsZWNrIDxqZmxlY2tAaW5rc3RhaW4ubmV0PgorCisJKiBkb2MvdHV0b3JpYWwvaW5jbHVkZWtleXdvcmQuYworCSogZG9jL3R1dG9yaWFsL3htbHR1dG9yaWFsLnhtbDoKKwkocGx1cyByZXN1bHRpbmcgZ2VuZXJhdGVkIGh0bWwgZmlsZXMpCisJZml4aW5nIG9uZSBzcG90IEkgbWlzc2VkIGluIHRoZSB0dXRvcmlhbCB3aGVyZSBJIGhhZG4ndCBmcmVlZAorCW1lbW9yeSBwcm9wZXJseQorCitTYXQgQXVnIDMxIDE5OjMxOjE3IE1EVCAyMDAyIEpvaG4gRmxlY2sgPGpmbGVja0BpbmtzdGFpbi5uZXQ+CisKKwkqIGRvYy90dXRvcmlhbC9pbmNsdWRlYWRkYXR0cmlidXRlLmMKKwkqIGRvYy90dXRvcmlhbC9pbmNsdWRlYWRka2V5d29yZC5jCisJKiBkb2MvdHV0b3JpYWwvaW5jbHVkZWdldGF0dHJpYnV0ZS5jCisJKiBkb2MvdHV0b3JpYWwvaW5jbHVkZWtleXdvcmQuYworCSogZG9jL3R1dG9yaWFsL3htbHR1dG9yaWFsLnhtbAorCSogZG9jL3R1dG9yaWFsLyouaHRtbDoKKwl1cGRhdGUgdHV0b3JpYWwgdG8gcHJvcGVybHkgZnJlZSBtZW1vcnkgKHRoYW5rcyB0byBDaHJpc3RvcGhlcgorCVIuIEhhcnJpcyBmb3IgcG9pbnRpbmcgb3V0IHRoYXQgdGhpcyBuZWVkcyB0byBiZSBkb25lKQorCSogZG9jL3R1dG9yaWFsL2ltYWdlcy9jYWxsb3V0cy8qLnBuZzoKKwlhZGRlZCBpbWFnZSBmaWxlcyBzbyB0aGUgY2FsbG91dHMgYXJlIGdyYXBoaWNhbCwgbWFraW5nIGl0CisJZWFzaWVyIHRvIHJlYWQgKCB1c2UgIi0tcGFyYW0gY2FsbG91dC5ncmFwaGljcyAxIiB0byBnZW5lcmF0ZQorCWh0bWwgd2l0aCBncmFwaGljYWwgY2FsbG91dHMpCisKK1dlZCBBdWcgMjggMTM6NDQ6NTQgQ0VTVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZG9jL0xpYnhtbDItTG9nby0xODB4MTY4LmdpZiBkb2MvTGlieG1sMi1Mb2dvLTkweDM0LmdpZjoKKwkgIG5pY2UgbG9nb3MgZ2VuZXJhdGVkIGJ5IE1hcmMgTGl5YW5hZ2UKKwkqIGRvYy9zaXRlLnhzbCAqLmh0bWw6IGNoYW5nZWQgdGhlIHN0eWxlc2hlZXQgdG8gc2hvdyB0aGUgbmV3CisJICBsb2dvIGFuZCByZWdlbmVyYXRlZCB0aGUgcGFnZXMKKworU3VuIEF1ZyAyNSAxNjozODowNSBDRVNUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxJTy5jOiBoYW5kbGUgV2luZG93cyBzZXBlY2lmaWMgZmlsZTovL2xvY2FsaG9zdC8gc2VtYW50aWMgLi4uCisKK1RodSBBdWcgMjIgMjI6MDM6MTkgQ0VTVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeHBhdGguYzogcG9zc2libGUgbWVtIGxlYWsgcGF0Y2ggZnJvbSBKYXNvbiBBZGFtcworCitUaHUgQXVnIDIyIDE3OjI3OjMwIENFU1QgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhwYXRoLmM6IGludGVncmF0ZWQgeGY6ZXNjYXBlLXVyaSgpIGZyb20gV2VzbGV5IFRlcnBzdHJhCisJICBpbiB0aGUgWFF1ZXJ5IG5hbWVzcGFjZQorCSogY29uZmlndXJlLmluOiBwcmVwYXJpbmcgMi40LjI0CisJKiBkb2MvKi5odG1sOiB1cGRhdGVkIHRoZSB3ZWIgcGFnZXMKKworVGh1IEF1ZyAyMiAxNjoxOTo0MiBDRVNUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBweXRob24vZ2VuZXJhdG9yLnB5OiBjbG9zaW5nIGJ1ZyAjODUyNTggYnkgZ2VuZXJhdGluZyBjb25kaXRpb25hbAorCSAgY29tcGlsZSBjaGVjayB0byBhdm9pZCBsaW5raW5nIHRvIHJvdXRpbmVzIG5vdCBjb25maWd1cmVkIGluLgorCisyMDAyLTA4LTIyICBIYXZvYyBQZW5uaW5ndG9uICA8aHBAcG9ib3guY29tPgorCisJKiBhdXRvZ2VuLnNoOiB1cGRhdGUgZXJyb3IgbWVzc2FnZSBmb3IgbWlzc2luZyBhdXRvbWFrZQorCitUaHUgQXVnIDIyIDExOjQ1OjUwIENFU1QgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHB5dGhvbi9NYWtlZmlsZS5hbTogdHlwbyBpbiB0YXJnZXQgbmFtZSByZXN1bHRlZCBpbiBsaWJ4bWwyLnB5CisJICB0byBub3QgYmUgcmVidWlsdC4gZml4ZWQgREVTVERJUiBzaW1pbGFyeSB0byB0aGUgbGlieHNsdCBvbmUuCisKK1RodSBBdWcgMjIgMDk6MTU6MDAgQ0VTVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogd2luMzIvd2luMzIvTWFrZWZpbGUubWluZ3c6IHVwZGF0ZWQgd2l0aCB2ZXJzaW9uIGZyb20gCisJICBFbGl6YWJldGggQmFyaGFtIGF0IGh0dHA6Ly9zb2dneXRyb3VzZXJzLm5ldC9yZXBvc2l0b3J5LworCitUdWUgQXVnIDIwIDE2OjQwOjQ4IENFU1QgMjAwMiBJZ29yIFpsYXRrb3ZpYyA8aWdvckBzdHVkLmZoLWZyYW5rZnVydC5kZT4KKworCSogd2luMzIvTWFrZWZpbGUubXN2YzogYWRkZWQgdGhlIHByZWZpeCBsb2NhdGlvbiB0byB0aGUgaW5jbHVkZQorCWFuZCBsaWIgc2VhcmNoIHBhdGguCisKKzIwMDItMDgtMTggIEhhdm9jIFBlbm5pbmd0b24gIDxocEBwb2JveC5jb20+CisKKwkqIGF1dG9nZW4uc2g6IGhhcmRjb2RlIGFjbG9jYWwtMS40L2F1dG9tYWtlLTEuNCBzbyB0aGF0IHVzZXJzIHdpdGgKKwlib3RoIGF1dG9tYWtlIDEuNiBhbmQgMS40IGluc3RhbGxlZCBnZXQgdGhlIHJpZ2h0IGF1dG9tYWtlLiBNZWFucworCWNvbXBpbGF0aW9uIGZyb20gQ1ZTIHdpbGwgbm93IHJlcXVpcmUgdGhlIGxhdGVzdCBhdXRvbWFrZSAxLjQKKwlyZWxlYXNlLCBvciBtYW51YWxseSBjcmVhdGluZyBzeW1saW5rcyBjYWxsZWQgImF1dG9tYWtlLTEuNCIgYW5kCisJImFjbG9jYWwtMS40IgorCitXZWQgQXVnIDE0IDE4OjU0OjE5IENFU1QgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGNvbmZpZ3VyZS5pbiBweXRob24vTWFrZWZpbGUuYW06IG1vcmUgQU1EIDY0IGluZHVjZWQgY2hhbmdlcyBmcm9tCisJICBGcmVkZXJpYyBDcm96YXQKKworV2VkIEF1ZyAxNCAxNjo0Mzo1MyBDRVNUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4aW5jbHVkZS5jOiBvb3BzIEkgd2FzIG1pc3NpbmcgdGhlIHhtbDpiYXNlIGZpeHVwIHRvbworCSogcmVzdWx0L1hJbmNsdWRlLyoueG1sOiB0aGlzIGFkZHMgeG1sOmJhc2UgYXR0cmlidXRlcyB0byBtb3N0CisJICByZXN1bHRzIG9mIHRoZSB0ZXN0cworCitXZWQgQXVnIDE0IDE2OjA1OjM3IENFU1QgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhpbmNsdWRlLmM6IHF1aWNrIGJ1dCBhcHBhcmVudGx5IHdvcmtpbmcgaW1wbGVtZW50YXRpb24gb2YKKwkgIHhpOmZhbGxiYWNrLCBzaG91bGQgY2xvc2UgYnVnICM4OTY4NAorCSogTWFrZWZpbGUuYW0gdGVzdC9YSW5jbHVkZS9kb2NzL2ZhbGxiYWNrLnhtbCAKKwkgIHJlc3VsdC9YSW5jbHVkZS9mYWxsYmFjay54bWw6IGFkZGVkIGEgYmFzaWMgdGVzdCBmb3IgZmFsbGJhY2ssCisJICBhbmQgcnVuIHdpdGggLS1ub3dhcm5pbmcgdG8gYXZvaWQgYSBzcHVyaW91cyB3YXJuaW5nCisJKiBjb25maWd1cmUuaW46IGFwcGxpZWQgcGF0Y2ggZnJvbSBGcmVkZXJpYyBDcm96YXQgZm9yIHB5dGhvbgorCSAgYmluZGluZ3Mgb24gQU1EIDY0Yml0cyBtYWNoaW5lcy4KKworV2VkIEF1ZyAxNCAxMDo0Nzo0NiBDRVNUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBwYXJzZXIuYzogeG1sU0FYVXNlclBhcnNlTWVtb3J5KCkgcmVhbGx5IG91Z2h0IHRvIGZhaWwgaWYKKwkgIHRoZSBjYWxsZXIgZG9uJ3QgcGFzcyBhIFNBWCBjYWxsYmFjayBibG9jay4KKworV2VkIEF1ZyAxNCAxMDoyOTowMiBDRVNUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB0cmVlLmM6IGFwcGxpZWQgdGhlIHNhbWUgZml4IGZvciB0aGUgWE1MLTEuMCBuYW1lc3BhY2UgdG8KKwkgIHhtbFNlYXJjaE5zQnlIcmVmKCkgYXMgd2FzIGRvbmUgZm9yIHhtbFNlYXJjaE5zKCkKKworTW9uIEF1ZyAxMiAxNjo1MjowOCBDRVNUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBsaWJ4bWwuMzogc21hbGwgY2xlYW51cCBvZiB0aGUgbWFuIHBhZ2UKKwkqIEhUTUx0cmVlLmM6IGZpeGVkIGEgcG90ZW50aWFsIHByb2JsZW0gcmFpc2VkIGJ5IFBldHIgVmFuZHJvdmVjCisJICB3aGVuIHNlcmlhbGl6aW5nIEhSRUYgYXR0cmlidXRlcyBnZW5lcmF0ZWQgYnkgWFNMVC4KKworTW9uIEF1ZyAxMiAxNToyNDowNSBDRVNUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBIVE1MdHJlZS5jIGluY2x1ZGUvbGlieG1sL0hUTUx0cmVlLmg6IGludGVncmF0ZWQgYSBjbGVhbmVkIHVwCisJICB2ZXJzaW9uIG9mIE1hcmMgTGl5YW5hZ2UnIHBhdGNoIGZvciBib29sZWFuIGF0dHJpYnV0ZXMgaW4gSFRNTAorCSAgb3V0cHV0CisKK01vbiBBdWcgMTIgMTQ6MTE6NTkgQ0VTVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcHl0aG9uL3Rlc3RzL3NlcmlhbGl6ZS5weTogZml4ZWQgdGhlIHRlc3QgcmVzdWx0cywgaW5kZW50aW5nCisJICBiZWhhdmlvdXIgY2hhbmdlZCBzbGlnaHRseQorCitUaHUgQXVnICA4IDExOjAwOjI2IDIwMDIgIEFsZWtzZXkgU2FuaW4gIDxhbGVrc2V5QGFsZWtzZXkuY29tPgorCisJKiB3aW4zMi9kc3AvbGlieG1sMi5kZWYuc3JjIHdpbjMyL2xpYnhtbDIuZGVmLnNyYzogYWRkZWQKKwluZXcgYzE0biBmdW5jdGlvbiB0byBXaW5kb3dzIGRlZiBmaWxlcworCitGcmkgQXVnICAyIDE2OjQ2OjQ2IDIwMDIgIEFsZWtzZXkgU2FuaW4gIDxhbGVrc2V5QGFsZWtzZXkuY29tPgorCisJKiBjMTRuLmM6IGZpeGVkIGEgbWVtb3J5IGxlYWsgaW4gYzE0biBjb2RlCisKK1NhdCBBdWcgIDMgMDA6MTU6MDYgQ0VTVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcGFyc2VyLmMgaW5jbHVkZS9saWJ4bWwvcGFyc2VyLmg6IGFkZGluZyBhIG5ldyBBUEkgZm9yIENocmlzdGlhbgorCSAgR2xhaG46IHhtbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXIKKwkqIHZhbGlkLmM6IHBhdGNoIGZyb20gUmljayBKb25lcyBmb3Igc29tZSBncmFtbWFyIGNsZWFudXAgaW4KKwkgIHZhbGlkYXRpb24gbWVzc2FnZXMKKwkqIHJlc3VsdC9WQy8qIHJlc3VsdC92YWxpZC8qOiB0aGlzIHNsaWdodGx5IGNoYW5nZSBzb21lIG9mIHRoZQorCSAgcmVncmVzc2lvbiB0ZXN0cyBvdXRwdXRzCisKK1RodSBBdWcgIDEgMTQ6NTA6MjggQ0VTVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogdHJlZS5jOiB0cnlpbmcgdG8gZml4IGEgcHJvYmxlbSBpbiBuYW1lc3BhY2VkIGF0dHJpYnV0ZSBoYW5kbGluZworCSAgcmFpc2VkIGJ5IENocmlzdGlhbiBHbGFobgorCitUaHUgQXVnICAxIDEyOjE3OjMwIENFU1QgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGVuY29kaW5nLmMgaW5jbHVkZS9saWJ4bWwvZW5jb2RpbmcuaDogT3BlbmluZyB0aGUgaW50ZXJmYWNlCisJICB4bWxOZXdDaGFyRW5jb2RpbmdIYW5kbGVyIGFzIHJlcXVlc3RlZCBpbiAjODk0MTUKKwkqIHB5dGhvbi9nZW5lcmF0b3IucHkgcHl0aG9uL3NldHVwLnB5LmluOiBhcHBsaWVkIGNsZWFudXAKKwkgIHBhdGNoZXMgZnJvbSBNYXJjLUFuZHJlIExlbWJ1cmcKKwkqIHRyZWUuYzogZml4aW5nIGJ1ZyAjODkzMzIgb24gYSBzcGVjaWZpYyBjYXNlIG9mIGxvb3NpbmcgCisJICB0aGUgWE1MLTEuMCBuYW1lc3BhY2Ugb24geG1sOnh4eCBhdHRyaWJ1dGVzCisKK1dlZCBKdWwgMzEgMjM6Mjc6NDIgMjAwMiAgQWxla3NleSBTYW5pbiAgPGFsZWtzZXlAYWxla3NleS5jb20+CisKKwkqIGMxNG4uYyBpbmNsdWRlL2xpYnhtbC9jMTRuLmg6IGZpeGVkIG9uZSBtb3JlIGMxNG4gKyBuYW1lc3BhY2VzCisJY29ybmVyIGNhc2UgZnJvbSBuZXcgTWVybGluJ3MgdGVzdCBzdWl0ZSBhbmQgYWRkZWQgYSBjYWxsYmFjaworCXRoYXQgd2lsbCBiZSB1c2VkIHRvIGltcHJvdmUgeG1sc2VjIHBlcmZvcm1hbmNlCisKK01vbiBKdWwgMjkgMTg6MjI6MDAgQ0VTVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogSFRNTHRyZWUuYzogdHJ5aW5nIHRvIGZpeCB0aGUgPHN0eWxlPiBlc2NhcGluZyBwcm9ibGVtIGluCisJICBIVE1MIHNlcmlhbGl6YXRpb24gYnVnICM4OTM0MgorCitUaHUgSnVsIDI1IDAxOjMzOjQ3IENFU1QgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGRvYy94bWwuaHRtbCBkb2MvKi5odG1sOiBhcHBsaWVkIHN5bnRheCBwYXRjaCBmcm9tIFJpY2sgSm9uZXMKKwkgIGFuZCByZWJ1aWx0IHRoZSB3ZWIgc2l0ZS4KKworTW9uIEp1bCAyMiAxMTowNDo0OCBQRFQgMjAwMiAgQWxla3NleSBTYW5pbiA8YWxla3NleUBhbGVrc2V5LmNvbT4KKworCSogaW5jbHVkZS9saWJ4bWwvdHJlZS5oOiBhZGRlZCBfcHJpdmF0ZSBtZW1iZXIgdG8geG1sTnMgc3RydWN0CisKK1N1biBKdWwgMjEgMTc6NDg6NDcgQ0VTVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogSFRNTHBhcnNlci5jOiBmaXhpbmcgYnVnICM4NDg3NiBiYXNlZCBvbiB0aGUgeG1sIHdvcmtpbmcKKwkgIGNvZGUuCisKK1N1biBKdWwgMjEgMTk6MTU6MDAgSEtUIDIwMDIgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIHB5dGhvbi9NYWtlZmlsZS5hbTogZW5oYW5jZWQgdG8gZml4IGJ1ZyA3MjAxMiAoZXJyb3JzCisJICB3aGVuIHVzaW5nICctalgnIG1ha2UgcGFyYW1ldGVyKQorCitGcmkgSnVsIDE5IDE2OjM1OjAwIEhLVCAyMDAyIFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiB4cGF0aC5jOiBzbWFsbCBhZGRpdGlvbmFsIGVuaGFuY2VtZW50IGZvciBib29sZWFucworCSAgY29tcGFyZWQgdG8gbm9kZXNldHMKKworV2VkIEp1bCAxNyAxOTo0ODoxNCBDRVNUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBIVE1MdHJlZS5jOiBjaGFuZ2VkIHRoZSBvcmRlciBvZiB0aGUgZW5jb2RpbmcgZGVjbGFyYXRpb24KKwkgIGF0dHJpYnV0ZXMgaW4gdGhlIG1ldGEgdGFncyBkdWUgdG8gYSBidWcgaW4gSUUvTWFjCisKK0ZyaSBKdWwgMTIgMDg6NDU6MDAgSEtUIDIwMDIgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIHhwYXRoLmM6IGVuaGFuY2VkIGhhbmRsaW5nIG9mIGJvb2xlYW5zIChlc3BlY2lhbGx5ICc9JworCSAgYW5kICchPScgZm9yIG5vZGVzZXRzKSAtIGZpeGVzIGJ1ZyA4NTI1Ni4gIEFkZGVkIG5ldworCSAgcm91dGluZSB4bWxYUGF0aE5vdEVxdWFsVmFsdWVzIGZvciBtb3JlIHByb3BlciBoYW5kbGluZworCSAgb2YgJyE9JyB3aGVuIG5vZGVzZXRzIGFyZSBpbnZvbHZlZC4KKworVGh1IEp1bCAxMSAyMTo0NTo1MiBDRVNUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBkb2MvTWFrZWZpbGUuYW06IGZpeGluZyBSZWQgSGF0IGJ1ZyAjNjg2MTQgYnkgYWRkaW5nIHRoZQorCSAgZG9jL3htbGNhdGFsb2dfbWFuLnhtbCB0byB0aGUgc291cmNlIGRpc3RyaWJ1dGlvbgorCitXZWQgSnVsIDEwIDIxOjI2OjEzIENFU1QgMjAwMiBJZ29yIFpsYXRrb3ZpYyA8aWdvckBzdHVkLmZoLWZyYW5rZnVydC5kZT4KKworCSogd2luMzIvTWFrZWZpbGUubXN2YzogQWRkZWQgYSBjb3B5ICoucGRiIHRvIGluc3RhbGwsIGZldyBoYXZlCisJICBhc2tlZCBmb3IgdGhpcy4KKworU2F0IEp1bCAgNiAyMTo1NTo1OSBDRVNUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBjb25maWd1cmUuaW46IHByZXBhcmluZyAyLjQuMjMKKwkqIGRvYy8qOiByZWJ1aWx0IHRoZSBkb2NzCisKK1NhdCBKdWwgIDYgMjE6MTE6MjAgQ0VTVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcGFyc2VyLmM6IGZpeGluZyBidWcgIzg0MTY5IGJ5IGZpeGluZyB0aGUKKwkgIGNvbW1lbnQgb2YgeG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQgdG8gZGVzY3JpYmUgdGhlIAorCSAgZW5jb2RpbmcgZGV0ZWN0aW9uIHBhcmFtZXRlcnMgYmV0dGVyLgorCitTYXQgSnVsICA2IDE5OjQ0OjU2IENFU1QgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHZhbGlkLmM6IGZpeGluZyBidWcgIzc5MzMxIGluIG9uZSBwYXRoIHRoZSBsb29rdXAgZm9yCisJICBJRCBhdHRyaWJ1dGVzIG9uIGEgbmFtZXNwYWNlZCBub2RlIHdhc24ndCBoYW5kbGVkIGNvcnJlY3RseSA6LVwKKworRnJpIEp1bCAgNSAyMDowNzo0MyBDRVNUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBIVE1McGFyc2VyLmM6IHRyeWluZyB0byBmaXggODcyMzUgYWJvdXQgZGlzY2FyZGVkIHdoaXRlCisJICBzcGFjZXMgaW4gdGhlIEhUTUwgcGFyc2VyLgorCSogcmVzdWx0L0hUTUwvKjogdGhpcyBjaGFuZ2VzIHRoZSBvdXRwdXQgb2YgYSBudW1iZXIgb2YgSFRNTAorCSAgcmVncmVzc2lvbiB0ZXN0cworCitNb24gSnVsICAxIDIzOjIzOjQxIENFU1QgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhwYXRoLmM6IGFwcGxpZWQgcGF0Y2ggZnJvbSBSaWNoYXJkIEppbmtzIGZvciB0aGUgbmFtZXNwYWNlCisJICBheGlzICsgZml4ZWQgYSBtZW1vcnkgZXJyb3IuCisJKiBwYXJzZXIuYyBwYXJzZXJJbnRlcm5hbHMuYzogYXBwbGllZCBwYXRjaGVzIGZyb20gUGV0ZXIgSmFjb2JpCisJICByZW1vdmluZyBjdHh0LT50b2tlbiBmb3IgZ29vZC4KKwkqIHhtbHNjaGVtYXMuYyB4bWxzY2hlbWFzdHlwZXMuYzogZml4ZWQgYSBmZXcgbWVtb3J5IGxlYWtzCisJICBwb3BwZWQgb3V0IGJ5IHRoZSByZWdyZXNzaW9uIHRlc3RzLgorCSogTWFrZWZpbGUuYW06IHBhdGNoIGZvciB0aHJlYWRzIG1ha2VmaWxlIGZyb20gR2FyeSBQZW5uaW5ndG9uCisKK0ZyaSBKdW4gMjggMTk6Mzg6MDAgSEtUIDIwMDIgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIHhwYXRoLmM6IGVuaGFuY2VkIGJlaGF2aW91ciBvZiBwb3NpdGlvbigpIGFmdGVyIHVzYWdlIG9mCisJICBleHByZXNzaW9ucyBpbnZvbHZpbmcgcHJlY2VkaW5nLXNpYmxpbmcgKGV0IGFsKS4KKworVHVlIEp1biAxOCAwOTo1ODo0OCBDRVNUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBoYXNoLmM6IGFwcGxpZWQgYSBwYXRjaCBmcm9tIFBldGVyIEphY29iaSB0byBzb2x2ZSBhIHByb2JsZW0KKwkgIHdoZW4gY29tcGlsaW5nIHdpdGggdGhlIFdhdGNvbSBDIG9uIFdpbjMyIAorCSogcmVzdWx0L3NjaGVtYXMvKi5lcnI6IHRoZSBjaGFuZ2Ugb2YgaGFzaGluZyBhbGdvIGdlbmVyYXRlZAorCSAgcGVybXV0YXRpb25zIGluIHRoZSBvdXRwdXQKKworTW9uIEp1biAxNyAxOTowMjo0OSBDRVNUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBoYXNoLmM6IGFwcGxpZWQgcGF0Y2ggZnJvbSBTYW5kZXIgVmVzaWsgaW1wcm92aW5nIHRoZSBxdWFsaXR5IG9mCisJICB0aGUgaGFzaCBmdW5jdGlvbi4KKworMjAwMi0wNi0xNCAgQWxla3NleSBTYW5pbiAgPGFsZWtzZXlAYWxla3NleS5jb20+CisKKwkqIERPQ0JwYXJzZXIuYyBIVE1McGFyc2VyLmMgZGVidWdYTUwuYyBlbmNvZGluZy5jCisJbmFub2Z0cC5jIG5hbm9odHRwLmMgcGFyc2VyLmMgdHJlZS5jIHVyaS5jIHhtbElPLmMKKwl4bWxsaW50LmMgeHBhdGguYzogcmVwbGFjZWQgc3ByaW50ZigpIHdpdGggc25wcmludGYoKQorCXRvIHByZXZlbnQgcG9zc2libGUgYnVmZmVyIG92ZXJmbG93ICh0aGUgYnVnIHdhcyBwb2ludGVkCisJb3V0IGJ5IEFuanUgUHJlbWFjaGFuZHJhbikgCisKK1RodSBKdW4gMTMgMTc6MzA6MjUgQ0VTVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcGFyc2VyLmM6IHJlbW92ZWQgYW4gdW5pbml0aWFsaXplZCBkYXRhIGVycm9yIHBvcHBlZCBieSB2YWxncmluZAorCSAgb24gUEUgcmVmZXJlbmNlcworCitXZWQgSnVuIDEyIDIxOjM4OjQ2IE1EVCAyMDAyIEpvaG4gRmxlY2sgPGpmbGVja0BpbmtzdGFpbi5uZXQ+CisKKwkqIGRvYy94bWwuaHRtbAorCWFkZGluZyB0dXRvcmlhbCByZWZlcmVuY2UgdG8gdGhlIHdlYiBwYWdlCisKK1dlZCBKdW4gMTIgMjE6MjY6MDggTURUIDIwMDIgSm9obiBGbGVjayA8amZsZWNrQGlua3N0YWluLm5ldD4KKworCSogZG9jL3R1dG9yaWFsL3htbHR1dG9yaWFsLnhtbAorCSogZG9jL3R1dG9yaWFsL2FyMDFzMDcuaHRtbAorCSogZG9jL3R1dG9yaWFsL2FwZS5odG1sCisJKiBkb2MvdHV0b3JpYWwvaW5jbHVkZWdldGF0dHJpYnV0ZS5jCisJYWRkaW5nIHNlY3Rpb24gdG8gdHV0b3JpYWwgYWJvdXQgcmV0cmlldmluZyBhbiBhdHRyaWJ1dGUKKwl2YWx1ZQorCitUdWUgSnVuIDExIDEyOjA3OjA0IENFU1QgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlci5jOiBhcHBsaWVkIGEgY291cGxlIG9mIHBhdGNoZXMgZnJvbSBQZXRlciBKYWNvYmkgdG8gc3RhcnQKKwkgIHRvIGdldCByaWQgb2YgY3R4dC0+dG9rZW4sIHdpdGggYSBwb3NzaWJsZSBzaWduaWZpY2FudCBzcGVlZAorCSAgaW1wcm92ZW1lbnQgdG8gYmUgZ2FpbmVkIG9uY2UgZG9uZS4gQmV0dGVyIGNvbXBsaWFuY2Ugd2l0aCBQRQorCSAgcmVmZXJlbmNlcyBjb25zdHJ1Y3RzIGluIERURHMgdG9vLgorCSogdGVzdC92YWxpZC90WzAtOV0qIHJlc3VsdC92YWxpZC90WzAtOV0qOiBhZGRlZCBhIHNldCBvZiB0ZXN0cworCSAgZnJvbSBQZXRlciB0b28KKworVHVlIEp1biAxMSAwOToyNToxMiBDRVNUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBwYXJzZXIuYzogQmFiYWsgVmFoZWRpcG91ci1LdW56ZSByZXBvcnRlZCB0aGF0IG9wZW5UYWcgaW4gCisJICB4bWxQYXJzZUVsZW1lbnQgd2FzIGxpa2VseSB0byBoYXZlIGJlZW4gZGVhbGxvY2F0ZWQgYXQgdGhlCisJICB0aW1lIG9mIHRoZSByZXBvcnQsIHBvc3NpYmx5IGxlYWRpbmcgdG8gc2VnZmF1bHQuIEp1c3QgcmVwb3J0CisJICB0aGUgdGFnIG5hbWUgbm93LgorCitNb24gSnVuIDEwIDE4OjAwOjAyIENFU1QgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhwYXRoLmM6IHBhdGNoIGZyb20gUmljaGFyZCBKaW5rcyBmb3IgWFBhdGggc3Vic3RyaW5nKCkgZnVuY3Rpb24KKwkqIHJlc3VsdC9YUGF0aC9leHByL3N0cmluZ3MgdGVzdC9YUGF0aC9leHByL3N0cmluZ3M6IG5ldyBzZXQgb2YgdGVzdHMKKworMjAwMi0wNi0wNiAgQWxla3NleSBTYW5pbiAgPGFsZWtzZXlAYWxla3NleS5jb20+CisKKwkqIHhtbElPLmM6IHBhdGNoIGZyb20gUmFjaGVsIEhlc3RpbG93IHRvIGZpeCBidWcgIzg0MzQwCisKK1dlZCBKdW4gIDUgMTk6MTQ6NDkgTURUIDIwMDIgSm9obiBGbGVjayA8amZsZWNrQGlua3N0YWluLm5ldD4KKworCSpkb2MvRkFRLmh0bWwKKwlmaXhpbmcgdHlwb3MgaW4gRkFRLCB0aGFua3MgdG8gUm9iZXJ0IEZ1bm5lbGwgZm9yIHRoZQorCWVkaXRpbmcgaGVscAorCitXZWQgSnVuICA1IDE0OjUwOjI0IENFU1QgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIE5FV1M6IGdvdCBjb21wbGFpbnRzIGZyb20gcnBtbGludCB0aGF0IGl0IHdhcyBlbXB0eQorCitUdWUgSnVuICA0IDA5OjA5OjE4IE1EVCAyMDAyIEpvaG4gRmxlY2sgPGpmbGVja0BpbmtzdGFpbi5uZXQ+CisKKwkqIGFkZGVkIGRvYy90dXRvcmlhbCwgaW5jbHVkaW5nOgorCWFwYS5odG1sCisJYXBiLmh0bWwKKwlhcGMuaHRtbAorCWFwZC5odG1sCisJYXIwMXMwMi5odG1sCisJYXIwMXMwMy5odG1sCisJYXIwMXMwNC5odG1sCisJYXIwMXMwNS5odG1sCisJYXIwMXMwNi5odG1sCisJaW5jbHVkZWFkZGF0dHJpYnV0ZS5jCisJaW5jbHVkZWFkZGtleXdvcmQuYworCWluY2x1ZGVrZXl3b3JkLmMKKwlpbmNsdWRlc3RvcnkueG1sCisJaW5kZXguaHRtbAorCXhtbHR1dG9yaWFsLnhtbAorCWxpYnhtbCB0dXRvcmlhbCwgaW5jbHVkaW5nIGdlbmVyYXRlZCBodG1sCisKK01vbiBKdW4gIDMgMjE6MjE6MjYgMjAwMiAgQWxla3NleSBTYW5pbiAgPGFsZWtzZXlAYWxla3NleS5jb20+CisKKwkqIHJlc3VsdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0qCisJICByZXN1bHQvYzE0bi93aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0qCisJICB0ZXN0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLSoKKwkgIHRlc3QvYzE0bi93aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0qCisJICB0ZXN0QzE0Ti5jIE1ha2VmaWxlLmFtOiBhZGRlZCBtZXJsaW4tYzE0bi10d28udGFyLmd6IHRlc3RzIGZvciAKKwljMTRuL2V4Yy1jMTRuIGFuZCBzbGlnaHRseSBtb2RpZmllZCB0ZXN0IHNjcmlwdCB0byBoYW5kbGUKKwl0aGVzZSB0ZXN0IGNhc2VzCisJKiBjMTRuLmM6IGZpeGVkIGJ1Z3MgZm9yIGNvbXBsaWNhdGVkIG5vZGVzIHNldCAobmFtZXNwYWNlCisJd2l0aG91dCBub2RlIGFuZCBvdGhlcnMgZnJvbSBtZXJsaW4tYzE0bi10d28udGFyLmd6KQorCSogaW5jbHVkZS9saWJ4bWwveHBhdGhJbnRlcm5hbHMuaCB3aW4zMi9kc3AvbGlieG1sMi5kZWYuc3JjCisJd2luMzIvbGlieG1sMi5kZWYuc3JjOiAib3BlbmVkIiB4bWxYUGF0aE5vZGVTZXRGcmVlTnMoKSBmdW5jdGlvbgorCWZvciB4bWxzZWMgcGVyZm9ybWFuY2UgcGF0Y2gKKwkqIHhwYXRoLmM6IGZpeGVkIHNlbGY6Om5vZGUoKSBmb3IgbmFtZXNwYWNlcyBhbmQgYXR0cmlidXRlcworCitNb24gSnVuIDAzIDAwOjA0OjIxIDIwMDIgQ2hlbWEgQ2Vsb3JpbyA8Y2hlbWFAeGltaWFuLmNvbT4KKworCSogdHJlZS5oOiBhZGRlZCB4bWxEb2NGb3JtYXREdW1wIHdoaWNoIGlzIGp1c3QgYXMgeG1sRG9jRHVtcAorCSAgYnV0IHdpdGggdGhlIGZvcm1hdCBwYXJhbWV0ZXIKKwkqIHRyZWUuYzogbWFkZSB4bWxEb2NEdW1wIGEgd3JhcHBlciBhcnJvdW5kIHhtbERvY0Zvcm1hdER1bXAKKworRnJpIE1heSAzMSAxMjoxNjo0OCAyMDAyICBBbGVrc2V5IFNhbmluICA8YWxla3NleUBhbGVrc2V5LmNvbT4KKworCSogTWFrZWZpbGUuYW06IHVwZGF0ZWQgYzE0biB0ZXN0cyBzdWl0ZQorCSogYzE0bi5jOiBwZXJmb3JtYW5jZSBpbXByb3ZlbWVudCBmb3IgcHJldmlvdXMgYzE0biBwYXRjaAorCitGcmkgTWF5IDMxIDExOjQ3OjEyIENFU1QgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlci5jOiBhbm90aGVyIHBlcm9mb3JtYW5jZSBwYXRjaCBmcm9tIFBldGVyIEphY29iaSwgdGhhdAorCSAgdGltZSBvbiBwYXJzaW5nIGF0dHJpYnV0ZSB2YWx1ZXMuCisKK1RodSBNYXkgMzAgMjM6MzQ6MjcgMjAwMiAgQWxla3NleSBTYW5pbiAgPGFsZWtzZXlAYWxla3NleS5jb20+CisKKwkqIE1ha2VmaWxlLmFtIHJlc3VsdC9jMTRuLyogdGVzdC9jMTRuLyo6IEMxNE4gdGVzdHMgaW50ZWdyYXRlZAorCWludG8gTGliWE1MMiB0ZXN0IHN1aXRlCisKK1RodSBNYXkgMzAgMjE6MjM6MDYgMjAwMiAgQWxla3NleSBTYW5pbiAgPGFsZWtzZXlAYWxla3NleS5jb20+CisKKwkqIGMxNG4uYzogcHJvcGFnYXRpbmcgeHBhdGggYW5jZXNzdG9ycyBub2RlIGZpeCB0byBjMTRuCisJcGx1cyBzbWFsbCBwZXJmb3JtYW5jZSBpbXByb3ZlbWVudCB0byByZWR1Y2UgbnVtYmVyIG9mCisJbWFsbG9jcworCSogeHBhdGguYzogZml4ZWQgYW5jZXN0b3JzIGF4aXMgcHJvY2Vzc2luZyBmb3IgbmFtZXNwYWNlIG5vZGVzCisKK1dlZCBNYXkgMjkgMTA6MjE6MzkgQ0VTVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogU0FYLmMgcGFyc2VyLmMgdHJlZS5jIGluY2x1ZGUvbGlieG1sL3RyZWUuaDogcGVyZm9ybWFuY2UgcGF0Y2ggZnJvbQorCSAgUGV0ZXIgSmFjb2JpCisKK01vbiBNYXkgMjcgMjM6MTg6MzMgQ0VTVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogY29uZmlndXJlLmluOiBwcmVwYXJpbmcgMi40LjIyCisKK01vbiBNYXkgMjcgMTY6NDQ6MDQgQ0VTVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogSFRNTHBhcnNlci5jIHdpbjMyL2xpYnhtbDIuZGVmLnNyYyB3aW4zMi9kc3AvbGlieG1sMi5kZWYuc3JjCisJICBpbmNsdWRlL2xpYnhtbC9IVE1McGFyc2VyLmg6IGZpeGluZyAjNzkzMzQgbWFraW5nIGh0bWxQYXJzZURvY3VtZW50CisJICBhIHB1YmxpYyBlbnRyeSBwb2ludC4KKwkqIGRvYy8qOiByZWJ1aWx0IHRoZSBBUEkgYW5kIGRvY3MKKworTW9uIE1heSAyNyAxNDoxNjoyOCBDRVNUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4cGF0aC5jOiBwYXRjaCBmcm9tIFJpY2hhcmQgSmlua3MgdG8gZml4IGEgcHJvYmxlbSBpbnRyb2R1Y2VkCisJICBpbiB0aGUgcHJldmlvdXMgcGF0Y2ggYW5kIHBvaW50ZWQgYnkgTm9ybQorCitGcmkgTWF5IDI0IDEzOjEwOjIyIENFU1QgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGxpYnhtbC5zcGVjLmluOiBmaXhpbmcgYnVnICM4MTExMgorCitGcmkgTWF5IDI0IDEzOjAzOjI0IENFU1QgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHVyaS5jOiBmaXhpbmcgYnVnICM4Mjg0OAorCitGcmkgTWF5IDI0IDA5OjU0OjQ5IENFU1QgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHJlc3VsdC9jYXRhbG9ncy9teWNhdGFsb2cuZnVsbDogQWxla3NleSdzIGNvbW1pdCBjaGFuZ2VkIHRoZQorCSAgb3V0cHV0IG9mIG9uZSBjYXRhbG9nIHRlc3QKKworRnJpIDI0IE1heSAyMDAyIDEyOjE3OjQ1IEFNIFBEVCBBbGVrc2V5IFNhbmluIDxhbGVrc2V5QGFsZWtzZXkuY29tPgorCisJKiBnbG9iYWwuZGF0YSBnbG9iYWxzLmMgdHJlZS5jIGluY2x1ZGUvbGlieG1sL2dsb2JhbHMuaCAKKwl3aW4zMi9saWJ4bWwyLmRlZi5zcmMgd2luMzIvZHNwL2xpYnhtbDIuZGVmLnNyYzogY2hhbmdlZAorCWRlZmF1bHQgdmFsdWUgZm9yIGdsb2JhbCBwYXJhbWV0ZXIgeG1sSW5kZW50VHJlZU91dHB1dCB0byAxIGFuZAorCWludHJvZHVjZWQgbmV3IGdsb2JhbCBwYXJhbWV0ZXIgeG1sVHJlZUluZGVudFN0cmluZyAodGhlIHN0cmluZworCXVzZWQgdG8gZG8gb25lLWxldmVsIGluZGVudCkgd2l0aCBkZWZhdWx0IHZhbHVlICIgICIgKGFzIGl0IHdhcworCWluIHRyZWUuYykKKworVGh1IE1heSAyMyAxMzo1NTo1NyBDRVNUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBNYWtlZmlsZS5hbTogTWVyaWpuIEJyb2VyZW4gcG9pbnRlZCBvdXQgYSBwcm9ibGVtIHdoZW4gY29tcGlsaW5nCisJICB3aXRoIHRyaW8gYW5kIHNjaGVtYXMuCisKK1dlZCBNYXkgMjIgMTE6NTc6NDkgQ0VTVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeHBhdGguYzogcGF0Y2ggZnJvbSBSaWNoYXJkIEppbmtzIHRvIGZpeCB0aGUgcHJvYmxlbSByYWlzZWQgaW4KKwkgIGh0dHA6Ly9tYWlsLmdub21lLm9yZy9hcmNoaXZlcy94bWwvMjAwMi1BcHJpbC9tc2cwMDI0Ni5odG0KKworV2VkIE1heSAyMiAwODozODoxOSBDRVNUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxzY2hlbWFzLmM6IGEgYml0IG9mIHdvcmsgb24gaW1wb3J0LgorCSogeG1sc2NoZW1hc3R5cGVzLmM6IENoYXJsZXMgQm96ZW1hbiBwcm92aWRlZCBhIGNvbXBhcmUgZnVuY3Rpb24KKwkgIGZvciBkYXRlL3RpbWUgdHlwZXMgc28gbWluL21heCBmYWNldCByZXN0cmljdGlvbnMgc2hvdWxkIHdvcmssCisJICBpbmRldGVybWluYXRlIGNvbXBhcmlzb25zIHJldHVybiBhbiBlcnJvciBpbnN0ZWFkIG9mIGVxdWFsLgorCSogdGVzdC9zY2hlbWFzL2RhdGVfMCogcmVzdWx0L3NjaGVtYXMvZGF0ZV8wXzA6IHNwZWNpZmljIHRlc3QKKwkgIGZyb20gQ2hhcmxlcyBCb3plbWFuIHRvbworCitTYXQgTWF5IDE4IDA5OjU0OjEyIENFU1QgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGxpYnhtbC4zIGRvYy9idWlsZERvY0Jvb2tDYXRhbG9nOiBhcHBseSBhIGNvdXBsZSBvZiBwYXRjaGVzCisJICBmcm9tIENocmlzdGlhbiBDb3JuZWxzc2VuIGZpeGluZyB0aGUgbWFuIHBhZ2VzIGFuZCB0aGUgQ2F0YWxvZworCSAgYnVpbGRpbmcgc2NyaXB0LgorCSogeG1sc2NoZW1hcy5jIGluY2x1ZGUvbGlieG1sL3NjaGVtYXNJbnRlcm5hbHMuaDogbm90aGluZyBuZXcgeWV0CisJICBuZXh0IHN0ZXAgaXMgPHhzOmltcG9ydD4gSSBub3cgaGF2ZSBhIHJlYXNvbmFibGUgdW5kZXJzdGFuZGluZworCSAgb2YgaG93IGl0IHdvcmtzLgorCitUaHUgTWF5IDE2IDEwOjQzOjI2IENFU1QgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbElPLmM6IGFwcGxpZWQgYSBzbWFsbCBidWZmZXIgcGVyZm9ybWFuY2UgcGF0Y2ggZnJvbSBHYXJ5IFBlbm5pbmd0b24KKworV2VkIE1heSAxNSAwMDoyNTozNCBDRVNUIDIwMDIgSWdvciBabGF0a292aWMgPGlnb3JAc3R1ZC5maC1mcmFua2Z1cnQuZGU+CisKKwkqIHdpbjMyL2xpYnhtbDIuZGVmLnNyYzogZXhwb3J0ZWQgeG1sWFBhdGhOb2RlU2V0QWRkTnMoKQorCitUdWUgTWF5IDE0IDEzOjAwOjQ4IENFU1QgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhwYXRoLmM6IGZpeGluZyBhbiBYUGF0aCBmdW5jdGlvbiBldmFsdXRhdGlvbiBidWcgcG9pbnRlZCBvdXQKKwkgIGJ5IEFsZXhleSBFZmltb3Ygd2hlcmUgdGhlIGNvbnRleHQgd2FzIGxvc3Qgd2hlbiBldmFsdWF0aW5nCisJICB0aGUgZnVuY3Rpb24gYXJndW1lbnRzCisKK01vbiAxMyBNYXkgMjAwMiAxMTozNzozOSBQTSBQRFQgQWxla3NleSBTYW5pbiA8YWxla3NleUBhbGVrc2V5LmNvbT4KKworCSogeHBhdGguYyBpbmNsdWRlL2xpYnhtbC94cGF0aEludGVybmFscy5oOiBtYWtlZCB4bWxYUGF0aE5vZGVTZXRBZGROcygpIAorCSAgZnVuY3Rpb24gcHVibGljIGZvciBYTUxTZWMgcGVyZm9ybWFuY2Ugb3B0aW1pemF0aW9ucworCitNb24gTWF5IDEzIDEyOjMyOjIyIENFU1QgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHB5dGhvbi9nZW5lcmF0b3IucHkgcHl0aG9uL2xpYnhtbDJjbGFzcy50eHQgOiBmaXhlZCBhIHByb2JsZW0KKwkgIHdpdGggdGhlIEhUTUwgcGFyc2VyIHBvaW50ZWQgYnkgR2FyeSBCZW5zb24KKwkqIHB5dGhvbi90ZXN0cy9NYWtlZmlsZS5hbSBweXRob24vdGVzdHMvcHVzaFNBWGh0bWwucHk6IHNkZGluZyB0aGUKKwkgIGV4YW1wbGUKKworVGh1IDA5IE1heSAyMDAyIDExOjE5OjAwIEFNIFBEVCBBbGVrc2V5IFNhbmluIDxhbGVrc2V5QGFsZWtzZXkuY29tPgorCSogcGFyc2VyLmM6IGZpeGVkIGJ1ZyAjODExNTkgKG1lbW9yeSBncm93dGggaW4gU0FYKQorCitUdWUgMDcgTWF5IDIwMDIgMDk6MjA6MjEgQU0gUERUIEFsZWtzZXkgU2FuaW4gPGFsZWtzZXlAYWxla3NleS5jb20+CisJKiB4cGF0aC5jOiBmaXhlZCBidWcgIzc4ODU4ICh0aGUgcmVhbCBmaXgpCisKK1NhdCAwNCBNYXkgMjAwMiAxMTo1NjozMSBQTSBQRFQgQWxla3NleSBTYW5pbiA8YWxla3NleUBhbGVrc2V5LmNvbT4KKwkqIHhwYXRoLmM6IGZpeGVkIGJ1ZyAjNzg4NTggKHF1aWNrIGFuZCBkdXJ0eSBmaXggdG8gaGlkZSB0aGUgcHJvYmxlbSkKKworU3VuIE1heSAgNSAwODo1NzowOCBDRVNUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB0cmVlLmM6IG1vZGlmaWVkIHhtbE5vZGVTZXRCYXNlIHRvIGFsbG93IGNoYW5naW5nIHRoZQorCSAgYmFzZSBvZiBhIGRvY3VtZW50LgorCitGcmkgTWF5ICAzIDA5OjIwOjQxIENFU1QgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbHNjaGVtYXN0eXBlcy5jOiBwYXRjaCBDaGFybGVzIEJvemVtYW4gZm9yIHZhbGlkYXRpb24gb2YKKwkgIGFsbCB0aGUgZGF0ZSwgdGltZSwgYW5kIGR1cmF0aW9uIHR5cGVzCisJKiB0ZXN0L3NjaGVtYXMvZHVyXzAqIHJlc3VsdC9zY2hlbWFzL2R1cl8wKjogYXNzb2NpYXRlZCB0ZXN0cworCSogY29uZmlndXJlLmluOiBmaXhlZCBhbiBlcnJvciBwb2ludGVkIGJ5IGFuIHVzZXIKKwkqIHhtbDItY29uZmlnLmluOiBmaXhlZCBhbiBlcnJvciBwb2ludGVkIGJ5IGFuIHVzZXIKKworV2VkIDAxIE1heSAyMDAyIDExOjI5OjI3IEFNIFBEVCBBbGVrc2V5IFNhbmluIDxhbGVrc2V5QGFsZWtzZXkuY29tPgorCisJKiBpbmNsdWRlL2xpYnhtbC94bWxJTy5oIHdpbjMyL2RzcC9saWJ4bWwyLmRlZi5zcmMKKwl3aW4zMi9saWJ4bWwyLmRlZi5zcmMgeG1sSU8uYzogZXhwb3J0ZWQgZGVmYXVsdAorCSdmaWxlOicsICdodHRwOicgYW5kICdmdHA6JyBwcm90b2NvbHMgaW5wdXQgaGFuZGxlcnMgCisJYW5kIG1ha2VkIHByb3RvY29scyBjb21wYXJpc3NvbiBjYXNlIGluc2Vuc2l0aXZlCisKK1R1ZSBBcHIgMzAgMTY6Mjk6MDUgQ0VTVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogY29uZmlndXJlLmluOiBOZXZlbiBIYXMgZGV0ZWN0ZWQgYSB0eXBvCisKK1R1ZSBBcHIgMzAgMDg6NDg6MTEgQ0VTVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogQVVUSE9SUyBIQUNLSU5HOiBhZGRlZCBBbGVrc2V5IFNhbmluIDxhbGVrc2V5QGFsZWtzZXkuY29tPgorCSAgYXMgb25lIG9mIHRoZSBwZXJzb25zIGFsbG93ZWQgdG8gY29tbWl0IGRpcmVjdGx5IHRvIHRoZQorCSAgbW9kdWxlLgorCitNb24gQXByIDI5IDE3OjQ4OjI2IENFU1QgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGNvbmZpZ3VyZS5pbiBpbmNsdWRlL2xpYnhtbC94bWx3aW4zMnZlcnNpb24uaDogcHJlcGFyaW5nIDIuNC4yMQorCSogdmFsaWQuYzogcmFpc2VkIGEgdG9vIGxvdyBsaW1pdAorCSogZG9jLyo6IHJlYnVpbHQgdGhlIGRvY3MgCisKK1dlZCBBcHIgMjQgMTM6NDE6MDMgQ0VTVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogdGVzdC9YUGF0aC9leHByL2Zsb2F0cyB0ZXN0L1hQYXRoL2V4cHIvZnVuY3Rpb25zCisJICByZXN1bHQvWFBhdGgvZXhwci9mbG9hdHMgcmVzdWx0L1hQYXRoL2V4cHIvZnVuY3Rpb25zCisJICB4cGF0aC5jOiBhbm90aGVyIFhQYXRoIGNvbmZvcm1hbmNlIHBhdGNoIGZyb20gUmljaGFyZCBKaW5rcworCitUdWUgQXByIDIzIDE5OjUwOjQwIENFU1QgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbHNjaGVtYXMuYzogZml4ZWQgdmFsaWRhdGlvbiBvZiBhdHRyaWJ1dGUgZ3JvdXBzLgorCSogdGVzdC9zY2hlbWFzIHJlc3VsdC9zY2hlbWFzOiBhZGRlZCBhbiBleGFtcGxlIGZyb20gdGhlIHByaW1lcgorCitUdWUgQXByIDIzIDA5OjExOjM3IENFU1QgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIE1ha2VmaWxlLmFtIHhtbHNjaGVtYXMuYyB4bWxzY2hlbWFzdHlwZXMuYzogbW9yZSB3b3JrIG9uIFNjaGVtYXMKKwkqIHRlc3Qvc2NoZW1hcyByZXN1bHQvc2NoZW1hczogdXBkYXRlZCB0aGUgdGVzdCBsaXN0CisKK01vbiBBcHIgMjIgMTc6NTk6MTQgQ0VTVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogVE9ETzogdXBkYXRlZCBhIGJpdAorCSogcGFyc2VyLmM6IG1hZGUgYSBjb21tZW50IG1vcmUgc3BlY2lmaWMKKwkqIHhtbHJlZ2V4cC5jIHhtbHNjaGVtYXMuYyB4bWxzY2hlbWFzdHlwZXMuYzogbW9yZSB3b3JrIG9uIHRoZQorCSAgU2NoZW1hcyBjb25mb3JtYW5jZS4KKwkqIHRlc3Qvc2NoZW1hcyByZXN1bHQvc2NoZW1hczogdXBkYXRlZCB0aGUgdGVzdCBsaXN0CisKK1NhdCBBcHIgMjAgMTk6MzY6MzkgQ0VTVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1scmVnZXhwLmMgeG1sc2NoZW1hcy5jIGluY2x1ZGUvbGlieG1sL3htbGF1dG9tYXRhLmg6CisJICBpbXBsZW1lbnRpbmcgeHM6YWxsIHdpdGggbWluT2NjdXJzID0gMAorCSogdGVzL3NjaGVtYXMvKiByZXN1bHQvc2NoZW1hcy8qOiBhZGRlZCBtb3JlIHRlc3RzIGNvdmVyaW5nCisJICB4czphbGwKKworU2F0IEFwciAyMCAwOToyMjo1MCBDRVNUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxyZWdleHAuYzogZmlyc3QgaW1wbGVtZW50YXRpb24gb2YgdGhlIGFsbCBwYXJ0aWNsZSwgdGhpcworCSAgbWF5IG5lZWQgdG8gYmUgcmV2aXNpdGVkIGZvciBjYXNlIHdoZXJlIG5vdCBhbGwgdHJhbnNpdGlvbnMKKwkgIG11c3QgYmUgY3Jvc3NlZC4KKworRnJpIEFwciAxOSAxODoyNjowNCBDRVNUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB0cmVlLmM6IGFub3RoZXIgZW50aXR5IHByb2Nlc3NpbmcgdXBkYXRlIGZyb20gTWFya3VzIEhlbmtlCisKK0ZyaSBBcHIgMTkgMTc6MTQ6MjQgQ0VTVCAyMDAyIEJqb3JuIFJlZXNlIDxicmVlc2VAdXNlcnMuc291cmNlZm9yZ2UubmV0PgorCisJKiB0cmlvbmFuLmM6IGZpeGVkIGNyYXNoIG9uIE9TRi8xCisKK0ZyaSBBcHIgMTkgMDk6MDA6NTYgQ0VTVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sc2NoZW1hcy5jOiBtb3JlIFNjaGVtYXMgd29yaworCSogdGVzdC9zY2hlbWFzLyogcmVzdWx0L3NjaGVtYXMvKjogYWRkZWQgbW9yZSB0ZXN0cyBjb21pbmcKKwkgIGZyb20gdGhlIHNwZWMuCisKK1RodSBBcHIgMTggMjM6MDA6MDIgQ0VTVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogYzE0bi5jOiBwYXRjaCBmcm9tIEFsZWtzZXkgU2FuaW4gcmVmbGVjdGluZyBhIGNoYW5nZSBpbiB0aGUKKwkgIEV4Y0MxNE4gc3BlY2lmaWNhdGlvbgorCitUaHUgQXByIDE4IDE4OjM4OjMwIENFU1QgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHRyZWUuYzogcGF0Y2ggZnJvbSBNYXJrdXMgSGVua2UsIGZpeCBmb3IgcmVjdXJzaXZlIGVudGl0aWVzLgorCitUaHUgQXByIDE4IDE3OjQ5OjI0IENFU1QgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhwYXRoLmM6IGZpeCBhIHByb2JsZW0gd2l0aCBzdHJpbmcoKSBvbiBhIGRvY3VtZW50IG5vZGUuCisKK1RodSBBcHIgMTggMTY6NDA6NDIgQ0VTVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogTWFrZWZpbGUuYW0geG1sc2NoZW1hcy5jOiBtb3JlIFNjaGVtYXMgd29yaworCSogdGVzdC9zY2hlbWFzLyogcmVzdWx0L3NjaGVtYXMvKjogYWRkZWQgbW9yZSB0ZXN0cyBjb21pbmcKKwkgIGZyb20gdGhlIHNwZWMuCisKK1RodSBBcHIgMTggMTM6NTI6NTIgQ0VTVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogSFRNTHRyZWUuYzogZml4ZWQgJiBzZXJpYWxpemF0aW9uIGJ1ZyBpbnRyb2R1Y2VkIGluIDIuNC4yMAorCSogcmVzdWx0L0hUTUwvKjogdGhpcyBjaGFuZ2VzIGEgZmV3IHRoaW5ncyBpbiB0aGUgcmVzdWx0cworCitXZWQgQXByIDE3IDIwOjM0OjM3IENFU1QgMjAwMiBJZ29yIFpsYXRrb3ZpYyA8aWdvckBzdHVkLmZoLWZyYW5rZnVydC5kZT4KKworCSogaW5jbHVkZS9saWJ4bWwvdHJlZS5oOiBlbGltaW5hdGVkICdkZWNsYXJhdGlvbiBkaWZmZXJlbnQgdGhhbgorCSBwcm90b3R5cGUnIHdhcm5pbmcKKwkqIGluY2x1ZGUvd2luMzJjb25maWcuaDogInJlc29sdmVkIiBjb25mbGljdHMgd2l0aCBlcnJuby5oCisKK1dlZCBBcHIgMTcgMTg6MjY6MDcgQ0VTVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1scmVnZXhwLmMgeG1sc2NoZW1hcy5jIGluY2x1ZGUvbGlieG1sL3htbGF1dG9tYXRhLmg6IG1vcmUgd29yaworCSAgb24gdGhlIGF1dG9tYXRhIGludGVyZmFjZXMgYW5kIGRlYnVnIG9mIGNvdW50ZWQgY2hvaWNlcworCSogdGVzdC9zY2hlbWFzLyogcmVzdWx0L3NjaGVtYXMvKjogYWRkZWQgYSBudW1iZXIgb2YgdGVzdHMKKworV2VkIEFwciAxNyAxMTowMzowMyBDRVNUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxzY2hlbWFzLmMgeG1sc2NoZW1hc3R5cGVzLmMgaW5jbHVkZS9saWJ4bWwveG1sc2NoZW1hcy5oOgorCSAgYSBiaXQgb2Ygd29yayBvbiBTY2hlbWFzCisJKiB0ZXN0U2NoZW1hcy5jOiB0cnkgdG8gbWFrZSBpdCBtb3JlIHVzZWZ1bAorCSogdGVzdC9zY2hlbWFzLyogcmVzdWx0L3NjaGVtYXMvKiBNYWtlZmlsZS5hbTogY2hhbmdlZCB0aGUKKwkgIFNjaGVtYXMgcmVncmVzc2lvbiB0ZXN0IHByb2NlZHVyZSwgc3RhcnRlZCBhZGRpbmcgYSBmZXcgc2FtcGxlcworCitUdWUgQXByIDE2IDE5OjUyOjAxIENFU1QgMjAwMiBJZ29yIFpsYXRrb3ZpYyA8aXpsYXRrb3ZpY0BzdHVkLmZoLWZyYW5rZnVydC5kZT4KKworCSogaW5jbHVkZS9saWJ4bWwvZW5jb2RpbmcuaDogUGF0Y2ggZm9yIHRoZSBCb3JsYW5kIEMrKyBidWlsZGVyCisJKiBpbmNsdWRlL2xpYnhtbC90cmVlLmg6IFBhdGNoIGZvciB0aGUgQm9ybGFuZCBDKysgYnVpbGRlcgorCSogdGhyZWFkcy5jOiBQYXRjaCBmb3IgdGhlIEJvcmxhbmQgQysrIGJ1aWxkZXIKKwkqIHdpbjMyL2JjYjU6IE5ldyBkaXJlY3RvcnkgZm9yIHRoZSBCb3JsYW5kIEMrKyBidWlsZGVyCisJIHByb2plY3QgZmlsZXMgICAgICAgCisKK1R1ZSBBcHIgMTYgMTk6NDY6NTUgQ0VTVCAyMDAyIElnb3IgWmxhdGtvdmljIDxpemxhdGtvdmljQHN0dWQuZmgtZnJhbmtmdXJ0LmRlPgorCisJKiB3aW4zMi9NYWtlZmlsZS5tc3ZjOiBVcGRhdGUgZm9yIFhNTCBTY2hlbWEgc3VwcG9ydAorCSogd2luMzIvY29uZmlndXJlLmpzOiBVcGRhdGUgZm9yIFhNTCBTY2hlbWEgc3VwcG9ydAorCSogd2luMzIvbGlieG1sMi5kZWYuc3JjOiBVcGRhdGUgZm9yIFhNTCBTY2hlbWEgc3VwcG9ydAorCitUdWUgQXByIDE2IDE3OjQ2OjQzIENFU1QgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIE1ha2VmaWxlLmFtIFRPRE9fU0NIRU1BUyBjb25maWd1cmUuaW4gZ2VuVW5pY29kZS5weSB0ZXN0QXV0b21hdGEuYworCSB0ZXN0UmVnZXhwLmMgdGVzdFNjaGVtYXMuYyB4bWxyZWdleHAuYyB4bWxzY2hlbWFzLmMgeG1sc2NoZW1hc3R5cGVzLmMKKwkgeG1sdW5pY29kZS5jIGluY2x1ZGUvbGlieG1sL01ha2VmaWxlLmFtCisJIGluY2x1ZGUvbGlieG1sL3NjaGVtYXNJbnRlcm5hbHMuaCBpbmNsdWRlL2xpYnhtbC94bWxhdXRvbWF0YS5oCisJIGluY2x1ZGUvbGlieG1sL3htbHJlZ2V4cC5oIGluY2x1ZGUvbGlieG1sL3htbHNjaGVtYXMuaAorCSBpbmNsdWRlL2xpYnhtbC94bWxzY2hlbWFzdHlwZXMuaCBpbmNsdWRlL2xpYnhtbC94bWx1bmljb2RlLmgKKwkgaW5jbHVkZS9saWJ4bWwveG1sdmVyc2lvbi5oLmluIDogbWVyZ2VkIHRoZSBjdXJyZW50IHN0YXRlIG9mCisJIFhNTCBTY2hlbWFzIGltcGxlbWVudGF0aW9uLCBpdCBpcyBub3QgY29uZmlndXJlZCBpbiBieSBkZWZhdWx0LAorCSBhIHNwZWNpZmljIC0tc2NoZW1hcyBjb25maWd1cmUgb3B0aW9uIGhhcyBiZWVuIGFkZGVkLgorCSogdGVzdC9hdXRvbWF0YSB0ZXN0L3JlZ2V4cCB0ZXN0L3NjaGVtYXMgTWFrZWZpbGUuYW0KKwkgIHJlc3VsdC9hdXRvbWF0YSByZXN1bHQvcmVnZXhwIHJlc3VsdC9zY2hlbWFzOgorCSAgbWVyZ2VkIGF1dG9tYXRhL3JlZ2V4cC9zY2hlbWFzIHJlZ3Jlc3Npb24gdGVzdHMKKworVHVlIEFwciAxNiAwOTo0ODo0NCBDRVNUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4cGF0aC5jOiBHYXJ5IGZvdW5kIGEgY29tcGlsZSB0aW1lIHByb2JsZW0sIGZpeGVzICM3ODgyMworCitNb24gQXByIDE1IDE5OjExOjM2IENFU1QgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGNvbmZpZ3VyZS5pbjogcmVsZWFzZSBvZiAyLjQuMjAKKwkqIGRvYy8qOiB1cGRhdGVkIGFuZCByZWJ1aWx0IHRoZSBkb2NzCisKK01vbiBBcHIgMTUgMTQ6NTU6NTMgQ0VTVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcHl0aG9uL01ha2VmaWxlLmFtOiBwYXRjaCBmcm9tIENyaXN0aWFuIEdhZnRvbiB0byBidWlsZCBvbgorCSAgUmVkIEhhdCA2LjIsIHNob3VsZCBhbHNvIGZpeCAjNzU3NzkKKworTW9uIEFwciAxNSAxMjoxNDo0OSBDRVNUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB2YWxpZC5jOiBmaXJzdCBwYXJ0IG9mIGZpeGluZyAjNzg3MjkKKworU3VuIEFwciAxNCAyMzo0NDo1OCBDRVNUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBIVE1MdHJlZS5jIHVyaS5jOiBmaXhpbmcgYnVnICM3ODY2MiBpLmUuIGFkZCBwcm9wZXIKKwkgIGVzY2FwaW5nIG9mIFVSSSB3aGVuIHNhdmluZyBIVE1MIGZpbGVzLgorCSogcmVzdWx0L0hUTUwvKjogdGhpcyBpbXBhY3RlZCBzb21lIHRlc3RzCisKK1N1biBBcHIgMTQgMTQ6NTU6MTUgQ0VTVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogY29uZmlndXJlLmluOiB0cnlpbmcgdG8gZml4ICM3NzQ0MQorCitGcmkgQXByIDEyIDIzOjAyOjE2IENFU1QgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGluY2x1ZGUvbGlieG1sL3htbElPLmg6IEhhbGxza2kgY29tcGxhaW5lZCBpdCBjb3VsZCBub3QgYmUKKwkgIGluY2x1ZGVkIGJ5IGl0c2VsZi4KKworVGh1IEFwciAxMSAxMDoyMzozNiBDRVNUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBjb25maWd1cmUuaW46IGFwcGxpZWQgYW4gSUVFRSBmbGFnIHBhdGNoIGZvciBPU0YvMSAjNzc4MjUKKworV2VkIEFwciAxMCAyMzozMTozNCBDRVNUIDIwMDIgSWdvciBabGF0a292aWMgPGlnb3JAc3R1ZC5maC1mcmFua2Z1cnQuZGU+CisKKwkqIHdpbjMyL2NvbmZpZ3VyZS5qczogcGF0Y2ggZnJvbSBOaWxvIGZvciB0aGUgYzE0biBvcHRpb24KKwkqIHdpbjMyL01ha2VmaWxlLm1zdmM6IGZpeGVkIGxpYnhtbDIuZGVmIGdlbmVyYXRpb24gd2l0aCB0aHJlYWRzCisKK1dlZCBBcHIgMTAgMjE6MjQ6MTYgQ0VTVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeHBhdGguYyBpbmNsdWRlL2xpYnhtbC94bWx3aW4zMnZlcnNpb24uaC5pbjogU2lsdmFuIE1pbmdoZXR0aQorCSAgcG9pbnRlZCBlcnJvbmVvdXMgdXNlIG9mIExJQlhNTF9USFJFQURTX0VOQUJMRUQgaW5zdGVhZCBvZgorCSAgIExJQlhNTF9USFJFQURfRU5BQkxFRAorCitXZWQgQXByIDEwIDE4OjEyOjUyIENFU1QgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhwYXRoLmM6IGFub3RoZXIgcGF0Y2ggZnJvbSBSaWNoYXJkIEppbmtzIGZvciBzdWJzdHJpbmcgY29uZm9ybWFuY2UKKwkqIHRlc3QvWFBhdGgvZXhwci9mbG9hdHMgdGVzdC9YUGF0aC9leHByL3N0cmluZ3MKKwkgIHJlc3VsdC9YUGF0aC9leHByL2Zsb2F0cyByZXN1bHQvWFBhdGgvZXhwci9zdHJpbmdzOiB1cGRhdGUgb2YgdGhlCisJICB0ZXN0IHN1aXRlIHRvIGNoZWNrIHRob3NlLgorCitXZWQgQXByIDEwIDEzOjI5OjQ5IENFU1QgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhwYXRoLmM6IHBhdGNoIGZyb20gUmljaGFyZCBKaW5rcyBmb3IgLnggZmxvYXQgcGFyc2luZy4KKworVHVlIEFwciAgOSAxODowOTozMSBDRVNUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBwYXJzZXIuYzogcGF0Y2ggZnJvbSBNYXJrdXMgSGVua2Ugd2hlbiBhbiBlbmNvZGluZyBhaW4ndCByZWNvZ25pemVkCisKK1R1ZSBBcHIgIDkgMTU6NDc6MTQgQ0VTVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogbGlieG1sLm00OiBnb3QgYSByZXBvcnQgdGhhdCAjaW5jbHVkZSA8c3RyaW5nLmg+IHdhcyBuZWVkZWQKKworVHVlIEFwciAgOSAxMTo1MToyNSBDRVNUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxsaW50LmM6IGFwcGxpZWQgYSBmaXggZnJvbSBBbnRob255IEpvbmVzIGZvciAtbyAvLS1vdXRwdXQKKworVHVlIEFwciAgMiAyMDoyNzoxMSBNU1QgMjAwMiBKb2huIEZsZWNrIDxqZmxlY2tAaW5rc3RhaW4ubmV0PgorCisJKiBkb2MvZXhhbXBsZS5odG1sOiBmaXhpbmcgdHlwbworCitNb24gQXByICAxIDEwOjAyOjU3IENFU1QgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhwYXRoLmM6IGZpeGVkIGEgYnVnIGluIHRoZSBub2Rlc2V0IHRvIGJvb2xlYW4gY29tcGFyaXNvbiBjb2RlCisJICBwb2ludGVkIG91dCBieSBNZWx2eW4gU29wYWN1YS4KKworRnJpIE1hciAyOSAyMzo0MTo1MyBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGxpYnhtbC5tNDogRnLDqWTDqXJpYyBDcm96YXQgZ2F2ZSBhIHBhdGNoIHJlbGF0ZWQgdG8gdGhlIGNoYW5nZQorCSAgb2YgSW5jbHVkZSBwYXRocyBicmVha2luZyB0aGUgbGlieG1sLm00CisKK0ZyaSBNYXIgMjkgMTg6MjU6NTQgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4cGF0aC5jOiBGaXggYnVnICM3NjkyNyBmb3Jnb3QgdG8gc2F2ZSBzb21lIGNvbnRleHQKKwkgIHdoZW4gZXZhbHVhdGluZyBiaW5hcnkgZXhwcmVzc2lvbnMKKworVGh1IE1hciAyOCAxOToyMjo0OCBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGNvbmZpZ3VyZS5pbjogZml4ZWQgY29uZmlndXJlIGZvciBNUEUvaVggZnJvbSBNYXJrdXMgSGVua2UKKwkqIHhtbG1lbW9yeS5jOiBmaXhlZCBpbml0aWFsaXphdGlvbiBwcm9ibGVtcworCSogeHBhdGguYzogYW5vdGhlciBzZXQgb2YgcGF0Y2hlcyBmcm9tIFJpY2hhcmQgSmlua3MgdGhpcworCSAgZml4ZXMgIm1ha2UgWFBhdGh0ZXN0cyIgb24gbGludXgKKworV2VkIE1hciAyNyAxNzowOTo0MyBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHRyaW9uYW4uYyB0cmlvbmFuLmggeHBhdGguYzogbW9yZSBwYXRjaGVzIGZyb20gUmljaGFyZCBKaW5rcworCSogdGVzdC9YUGF0aC9leHByL2NvbXBhcmUgdGVzdC9YUGF0aC9leHByL2VxdWFsaXR5CisJICB0ZXN0L1hQYXRoL2V4cHIvZmxvYXRzIHRlc3QvWFBhdGgvZXhwci9mdW5jdGlvbnMKKwkgIHRlc3QvWFBhdGgvZXhwci9zdHJpbmdzIHJlc3VsdC9YUGF0aC9leHByL2NvbXBhcmUKKwkgIHJlc3VsdC9YUGF0aC9leHByL2VxdWFsaXR5IHJlc3VsdC9YUGF0aC9leHByL2Zsb2F0cworCSAgcmVzdWx0L1hQYXRoL2V4cHIvZnVuY3Rpb25zIHJlc3VsdC9YUGF0aC9leHByL3N0cmluZ3M6IFVwZGF0ZWQKKwkgIHRlc3RzIHRob3VnaCB0aGV5IHNob3cgYSBkaXZlcmdlbmNlIG9uIExpbnV4CisKK1dlZCBNYXIgMjcgMTA6MDY6NTMgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4cGF0aC5jIHRyaW9uYW4uYzogcHJldmlvdXMgY29tbWl0IGFsc28gaW5jbHVkZWQgcGF0Y2hlcworCSAgZnJvbSBSaWNoYXJkIEppbmtzIG9uIHNvbWUgSUVFRSBzdXBwb3J0IGNvcm5lciBjYXNlCisKK1dlZCBNYXIgMjcgMTA6MDM6MTEgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBBVVRIT1JTIEhBQ0tJTkc6IEFkZGVkIElnb3IgWmxhdGtvdmljIGFzIG9mZmljaWFsIG1haW50YWluZXIKKwkqIHB5dGhvbi9NYWtlZmlsZS5hbSBweXRob24vdGVzdHMvTWFrZWZpbGUuYW06IEFsYmVydCBDaGluIHBvaW50ZWQKKwkgIHRoYXQgJChkYXRhZGlyKSBzaG91bGQgYmUgdXNlZCBmb3IgZG9jcworCitUdWUgTWFyIDI2IDEzOjQzOjE2IENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sSU8uYzogVGhvbWFzIFN0ZWluYm9ybiBwb2ludGVkIG91dCAjNzY0MDQgdGhhdCBsaWJ4bWwyCisJICBjb3VsZCBsZWFrIGZpbGVkZXNjcmlwdG9ycworCitUdWUgTWFyIDI2IDA4OjU1OjUzIENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogY29uZmlndXJlLmluIG5hbm9odHRwLmM6IGFwcGxpZWQgcGF0Y2ggZnJvbSBBbGxhbiBDbGFyayBmb3IKKwkgIFVuaXhXYXJlL09wZW5TZXJ2ZXIKKworTW9uIE1hciAyNSAxNzo0NTo0NCBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGNvbmZpZ3VyZS5pbjogcHJlcGFyaW5nIDIuNC4xOQorCSogZG9jLyo6IHJlYnVpbHQgdGhlIGRvY3MKKworTW9uIE1hciAyNSAxNzozNDowNiBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIG5hbm9odHRwLmM6IGZpeGluZyAjNzYwNDMsIGdvdCBmZWQgdXAgd2l0aCBub24tcG9ydGFiaWxpdHkKKwkgIG9mIHRoYXQgcGllY2Ugb2YgY29kZS4KKworTW9uIE1hciAyNSAxMzowODoyMSBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHZhbGlkLmMgU0FYLmM6IE5ldmVyIGNvbW1pdCB3aXRob3V0IHJ1bm5pbmcgIm1ha2UgdGVzdHMiIDotKAorCSAgZml4IGEgY291cGxlIG9mIHN0dXBpZGl0aWVzIGluIHRoZSBwcmV2aW91cyBjb21taXQKKwkqIHJlc3VsdC8qOiBhIGZldyBjaGFuZ2VzIGluIHNvbWUgYXR0cmlidXRlIG9yZGVyIHJlc3VsdCBvZiBwcmV2aW91cworCSAgY29tbWl0LgorCitNb24gTWFyIDI1IDExOjQ2OjA1IENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogdmFsaWQuYyBTQVguYzogZml4ZWQgYnVnICM3NjE2OCwgYXR0cmlidXRlIHJlZGVjbGFyZWQgaW4KKwkgIHRoZSBpbnRlcm5hbCBzdWJzZXQgc2hvdWxkIG5vdCByYWlzZSBkdXBsaWNhdGUgSUQgZXJyb3JzLAorCSAgYWxzbyB0aGVyZSB3YXMgYSBzbWFsbCBidWcgaW4gY29uanVuY3Rpb24gdG8gbmFtZXNwYWNlCisJICBkZWNsYXJhdGlvbnMgZGVmYXVsdGVkIGFuZCB4bWw6eHh4IGF0dHJpYnV0ZXMgRFREIGRlZmluaXRpb25zLgorCitGcmkgTWFyIDIyIDE1OjEzOjQ5IENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeHBhdGguYzogUmljaGFyZCBKaW5rcyBhbHNvIHJhaXNlZCBzb21lIHJvdW5kaW5nIHByb2JsZW1zCisJICB0aGlzIHRyaWVzIHRvIGZpeCB0aGVtCisKK0ZyaSBNYXIgMjIgMTM6MjI6MDkgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4cGF0aC5jOiBSaWNoYXJkIEppbmtzIHNwb3R0ZWQgYW4gaW5jb2hlcmVudCBtZW1vcnkgYWxsb2NhdGlvbgorCSAgYmVoYXZpb3VyIGluIHhtbFhQYXRoQ2FzdFRvU3RyaW5nKCkKKworVGh1IE1hciAyMSAxNDoyNToyOSBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGVuY29kaW5nLmM6IGZpeGVkIGEgYnVnIGluIHRoZSBJU08tTGF0aW4gMSB0byBVVEY4IGVuY29kZXIKKwkgIHJhaXNlZCBieSBNb3J1cyBXYWx0ZXIKKworVGh1IE1hciAyMSAxNDowNzoxMyBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbGNhdGFsb2cuYyBpbmNsdWRlL2xpYnhtbC94bWx2ZXJzaW9uLmguaW46IGFwcGxpZWQgMiBmaXh1cHMKKwkgIGZyb20gSWdvcgorCitUaHUgTWFyIDIxIDEzOjMwOjA2IENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeHBhdGguYzogZml4aW5nICM3NTYxOSwgcmVsYXRlZCB0byBhIHByb2JsZW0gd2hlbiB0cnlpbmcKKwkgIHRvIGV2YWx1YXRlIGNvbmRpdGlvbiB3aGVuIHRoZSBjdXJyZW50IG5vZGUgc2V0IHJlc3VsdGluZworCSAgZnJvbSB0aGF0IHN1Yi1zdGVwIGV2YWx1YXRpb24gaXMgZW1wdHkuIEFsc28gZml4ZXMgMiBwb3RlbnRpYWwKKwkgIHByb2JsZW0gd2l0aCBwcmV2aW91cy1zaWJsaW5nIGFuZCBuZXh0LXNpYmxpbmdzIGF4aXMuCisKK1RodSBNYXIgMjEgMDk6MDM6NTkgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBjMTRuLmM6IHBhdGNoIGZyb20gTWFyayBWYWtvYyB0byBidWlsZCBDMTROIGlmIERvY0Jvb2sgYW5kCisJICBIVE1MIHN1cHBvcnQgaXMgbm90IGNvbmZpZ3VyZWQgaW4uCisKK1dlZCBNYXIgMjAgMjI6NDI6NDIgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBIVE1McGFyc2VyLmMgZXJyb3IuYyBwYXJzZXIuYyBwYXJzZXJJbnRlcm5hbHMuYyB0cmVlLmMgeG1sSU8uYworCSAgaW5jbHVkZS9saWJ4bWwvdHJlZS5oOiBkb2hoIEkgcmVhbGx5IGRpZG4ndCBpbnRlbmRlZCB0byBjb21taXQKKwkgIHRoaXMgdGVzdCB2ZXJzaW9uIDotKAorCitXZWQgTWFyIDIwIDIwOjIwOjU3IENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogdGVzdFNBWC5jOiBJIHdhbnRlZCB0byBzZWUgdGhlIHJlYWwgc3BlZWQgYXQgdGhlIFNBWCBpbnRlcmZhY2UKKwkgIGFmdGVyIGEgbGl0dGxlIHRvbyBtYW55IFhpbWlhbmVyIHN0YXJ0ZWQgY29tcGxhaW5pbmcgYWJvdXQgdGhlCisJICBwYXJzZXIgc3BlZWQuCisJICBhZGRlZCBhIC0tcXVpZXQgb3B0aW9uOgorCSAgcGFwaGlvOn4vWE1MIC0+IGxzIC1sIGRiMTAwMDAwLnhtbCAKKwkgIC1ydy1ydy1yLS0gICAgMSB2ZWlsbGFyZCB3d3cgICAgICAyMDE4MjA0MCBNYXIgMjAgMTA6MzAgZGIxMDAwMDAueG1sCisJICBwYXBoaW86fi9YTUwgLT4gdGltZSAuL3Rlc3RTQVggLS1xdWlldCBkYjEwMDAwMC54bWwgCisJICAzMjAwMDA2IGNhbGxiYWNrcyBnZW5lcmF0ZWQKKwkgIHJlYWwJMG0xLjI3MHMKKwkgIFdoaWNoIG1lYW5zIDE2TUJ5dGVzL3MgYW5kIDNNY2FsbGJhY2svcworCitUdWUgTWFyIDE5IDE5OjMzOjU3IENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeHBhdGguYzogdmFsZ3JpbmQgc3BvdHRlZCBhbm90aGVyIGVycm9yIHRoYXQgdGltZSB3aGVuIHJ1bm5pbmcKKwkgIG9uIGxpYnhzbHQgcmVncmVzc2lvbiB0ZXN0cworCitUdWUgTWFyIDE5IDE1OjI0OjQ5IENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogTWFrZWZpbGUuYW06IGFkZGluZyAibWFrZSB2YWxncmluZCIgcnVubmluZyB0aGUgZnVsbCByZWdyZXNzaW9uCisJICB0ZXN0cyAoZXhjZXB0IHB5dGhvbiBvbmVzKSB1bmRlciBWYWxncmluZCAodXNpbmcgdmFsZ3JpbmQgLXEKKwkgIHdoaWNoIHdhcyBraW5kbHkgYWRkZWQgYnkgdGhlIGF1dGhvcikuCisJKiB2YWxpZC5jOiBzdHVwaWQgYnVnIHBpbnBvaW50ZWQgYnkgVmFsZ3JpbmQsIHRoZSByZWdyZXNzaW9uIHRlc3RzCisJICBwYXNzZXMgY2xlYW5seSBub3cgZXhjZXB0IGFuIG9iY3VyZSBmbG9hdGluZyBwb2ludCBpbml0aWFsaXphdGlvbgorCSAgcmFpc2VkIGluIGxvZzEwKCkgaW4gb25lIFhQYXRoIHJlZ3Jlc3Npb24gdGVzdCA/Pz8KKwkqIHRyZWUuYzogZWRpdGVkIHNvbWUgY29tbWVudHMgdG8gY2xvc2UgIzc1MjQ0CisKK1R1ZSBNYXIgMTkgMTI6MTU6MjAgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4cGF0aC5jOiBwcmV0dHkgaW5zYW5lIHRoaW5nLCB0aGUgeG1sWFBhdGhGb3JtYXROdW1iZXIoKQorCSAgd2FzIG5vdCBzZXJpYWxpemluZyAxIGFzICIxIiBpZiBMQ19BTEw9c3ZfU0UgOi0oIGFuZCBpbiB0aGUKKwkgIGNvbnRleHQgb2YgU2Nyb2xsS2VlcGVyLCBtYWRlIHN1cmUgdGhhdCBpZiB0aGUgbnVtYmVyIGlzCisJICBhbiBpbnRlZ2VyLCB0aGUgc2VyaWFsaXphdGlvbiBmb2xsb3dzIHRoZSBkZXNjcmlwdGlvbiBhdAorCSAgaHR0cDovL3d3dy53My5vcmcvVFIveHBhdGgjc2VjdGlvbi1TdHJpbmctRnVuY3Rpb25zCisKK01vbiBNYXIgMTggMTk6MTg6MTMgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBjb25maWd1cmUuaW46IHByZXBhcmluZyAyLjQuMTgKKwkqIGRvYy8qOiB1cGRhdGVkIGFuZCByZWJ1aWx0IHRoZSB3ZWIgc2l0ZQorCSogKi5jIGxpYnhtbC5oOiBpbXBsZW1lbnQgdGhlIG5ldyBJTl9MSUJYTUwgc2NoZW1lIGRpc2N1c3NlZCB3aXRoCisJICB0aGUgV2luZG93cyBhbmQgQ3lnd2luIG1haW50YWluZXJzLgorCSogcGFyc2VyLmM6IGh1bW0sIGNoYW5nZWQgdGhlIHdheSB0aGUgU0FYIHBhcnNlciB3b3JrIHdoZW4KKwkgIHhtbFN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHQoMSkgaXMgc2V0LCBpdCB3aWxsIHRoZW4gCisJICBkbyB0aGUgZW50aXR5IHJlZ2lzdHJhdGlvbiBhbmQgbG9hZGluZyBieSBpdHNlbGYgaW4gY2FzZSB0aGUKKwkgIHVzZXIgcHJvdmlkZWQgU0FYIGdldEVudGl0eSgpIHJldHVybnMgTlVMTC4KKwkqIHRlc3RTQVguYzogYWRkZWQgLS1ub2VudCB0byB0ZXN0IHRoZSBiZWhhdmlvdXIuCisKK01vbiBNYXIgMTggMTI6NDQ6MjMgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBwYXJzZXIuYzogV2lsZnJpZWQgVGVpa2VuIHByb3ZpZGVkIGEgaGFja2lzaCBidXQgd29ya2luZworCSAgd2F5IHRvIGdldCBjb250ZXh0IHJlcG9ydGVkIGJhY2sgb24gZW50aXRpZXMgd2hlbiBwYXJzaW5nCisJICB3aXRoIFNBWCBhbmQgd2l0aG91dCBicmVha2luZyB0aGUgRE9NIGJ1aWxkLgorCitTdW4gTWFyIDE3IDExOjMxOjU1IENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogYzE0bi5jOiBhcHBsaWVkIGEgbmV3IHBhdGNoIGZyb20gQWxla3NleSBTYW5pbgorCSogZG9jL3NpdGUueHNsIGRvYy94bWwuaHRtbCBkb2MvKi5odG1sOiB1cGRhdGVkIHRoZSBkb2N1bWVudGF0aW9uCisJICB0byByZWZlcmVuY2UgQWxla3NleSBpbXBsZW1lbnRhdGlvbiBvZiBYTUwgZGlnaXRhbCBTaWduYXR1cmVzCisKK1NhdCBNYXIgMTYgMjM6MDE6NDIgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4cGF0aC5jOiBzbWFsbCBmaXggdG8gYXZvaWQgcG90ZW50aWFsIHByb2JsZW0gZHVlIHRvCisJICBvcmRlcmluZyBvZiBmcmVlaW5nIGRhdGEKKwkqIHB5dGhvbi9NYWtlZmlsZS5hbTogcGVvcGxlIHdlcmUgY29tcGxhaW5pbmcgYWJvdXQgCisJICB0aGUgZ2VuZXJhdGVkIGZpbGUgaW4gcHl0aG9uIGRpciBub3QgYmVpbmcgYnVpbHQKKworRnJpIE1hciAxNSAyMzoyMTo0MCBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGxpYnhtbC5zcGVjLmluIHB5dGhvbi9NYWtlZmlsZS5hbSBweXRob24vdGVzdHMvTWFrZWZpbGUuYW0KKwkgIHB5dGhvbi9nZW5lcmF0b3IucHkgcHl0aG9uL2xpYnhtbC5jIHB5dGhvbi90eXBlcy5jOiBDbGVhbnVwCisJICBvZiB0aGUgcHl0aG9uIE1ha2VmaWxlcyBiYXNlZCBvbiBKYWNvYiBhbmQgSmFtZXMgZmVlZGJhY2ssCisJICBmaXhlZCB0aGUgc3BlYyBmaWxlIGFjY29yZGluZ2x5LCBmaXhlZCB0aGUgbnVtYmVyIG9mIHdhcm5pbmcKKwkgIHRoYXQgcGFzc2luZyBteSBwZWRhbnRpYyBDRkxBR1Mgd2FzIGdlbmVyYXRpbmcuIENvbmNsdXNpb24KKwkgIGlzIHRoYXQgUHl0aG9uIGluY2x1ZGVzIGFyZSByZWFsIGNyYXAuCisKK0ZyaSBNYXIgMTUgMTk6NDE6MjUgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBjb25maWd1cmUsaW46IGl0IHdhcyByZXBvcnRlZCBxdWl0ZSBhIGZldyB0aW1lcyB0aGF0CisJICB4bWwyLWNvbmZpZyAtLWNmbGFncyBzaG91bGQgbm90IG91dHB1dAorCSAgLUkkaW5jbHVkZXByZWZpeC9saWJ4bWwyL2xpYnhtbCBiZWNhdXNlIGxpYnhtbDIgaGVhZGVyIG5hbWVzCisJICBjbGFzaGVzIHdpdGggZXhpc3RpbmcgbmFtZXMgbGlrZSBsaXN0LmggZnJvbSBDKysgc3RsLgorCSAgSW5jbHVkZXMgc2hvdWxkIGJlICNpbmNsdWRlPGxpYnhtbC94eHguaD4gc28gLi4uCisKK0ZyaSBNYXIgMTUgMTA6NDE6NTAgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBjMTRuLmM6IGFub3RoZXIgcGF0Y2ggZnJvbSBBbGVrc2V5IFNhbmluCisKK0ZyaSBNYXIgMTUgMDg6NTU6NTUgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBjMTRuLmM6IGFwcGxpZWQgcGF0Y2ggZnJvbSBBbGVrc2V5IFNhbmluIGZpeGluZyBhIHByb2JsZW0gaW4gdGhlCisJICBjYW5vbmljYWxpemF0aW9uIGFsZ29yaXRobQorCSogZG9jL3htbC5odG1sIGRvYy9pbmRleC5odG1sOiBhZGRlZCB0aGUgQzE0TiByZWZlcmVuY2VzIG9uIHRoZSAKKwkgIGluZGV4IHBhZ2UuCisKKzIwMDItMDMtMTMgIGphY29iIGJlcmttYW4gIDxqYWNvYkB4aW1pYW4uY29tPgorCisJKiBweXRob24vTWFrZWZpbGUuYW06IHJlbW92ZSBMREFERCBhbmQgQ0ZMQUdTIGFzIHRoaXMgaXMgYnJva2VuCisJdXNhZ2UsIHJlZHVuZGFudCwgYW5kIGdjYyBzcGVjaWZpYworCitXZWQgTWFyIDEzIDExOjAwOjU5IENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeHBhdGguYzogc3BlZWR1cCBzb21lIG5vZGUgc2VsZWN0aW9uIG9wZXJhdGlvbnMsIHRoaXMgY2FuCisJICBoYXZlIGEgc2lnbmlmaWNhbnQgaW1wYWN0IG9uIERvY0Jvb2sgTm9ybSdzIHN0eWxlc2hlZXRzCisJKiBuYW5vaHR0cC5jOiBzb21lb25lIHJlcG9ydGVkIHRoYXQgU09DS0xFTl9UIG1heSBub3QgYmUgZGVmaW5lZAorCSAgbWFrZSBzdXJlIGl0J3MgYWx3YXlzIHRoZSBjYXNlCisJKiBkZWJ1Z1hNTC5jOiBkaXN0aW5ndWlzaCBDREFUQSBhbmQgY29tbWVudHMgaW4gbHMgb3BlcmF0aW9ucworCitUdWUgTWFyIDEyIDE5OjQ1OjI0IENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogaW5jbHVkZS9saWJ4bWwvKi5oOiBIZWlrbyBXLiBSdXBwIGZpeGVkIGEgbG90IG9mIGNvbW1lbnRzCisJICB0byBnZW5lcmF0ZSBiZXR0ZXIgQVBJIGRlc2NyaXB0aW9ucyBldGMuLi4KKworTW9uIE1hciAxMSAxMDoxMDozMCBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGMxNG4uYzogRml4aW5nICM3NDE4NiwgbWFkZSBzdXJlIGFsbCBib29sZWFuIGV4cHJlc3Npb25zCisJICBnZXQgZnVsbHkgcGFyZW50aGVzaXplZCwgcmFuIGluZGVudCBvbiB0aGUgb3V0cHV0CisJKiBjb25maWd1cmUuaW4gSFRNTHRyZWUuYyBTQVguYyBjMTRuLmMgZGVidWdYTUwuYyB0cmVlLmMgeHBvaW50ZXIuYworCSAgaW5jbHVkZS9saWJ4bWwvdHJlZS5oOiBhbHNvICM3NDE4NiByZWxhdGVkLCByZW1vdmVkIHRoZQorCSAgLS13aXRoLWJ1ZmZlcnMgb3B0aW9uLCBhbmQgYWxsIHRoZSBwcmVwcm9jZXNzb3IgY29uZGl0aW9uYWwKKwkgIHNlY3Rpb25zIHRoYXQgd2VyZSByZXN1bHRpbmcgZnJvbSBpdC4KKworU3VuIE1hciAxMCAxNzo0Nzo1OCBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHZhbGlkLmM6IGFwcGxpZWQgcGF0Y2ggZnJvbSBEb2RqaSBTZWtldGVsaSBmaXhpbmcgYW4KKwkgIHVuaW5pdGFpbGl6ZWQgdmFyaWFibGUgaW4geG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzKCkKKworU2F0IE1hciAgOSAxNToxMDo0OSBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGMxNG4uYzogZml4ZWQgYSBmZXcgY29tbWVudHMKKwkqIGRvYy8qLmh0bWwgZG9jLyovKi5odG1sOiByZWdlbmVyYXRlZCB0aGUgZG9jcyBhbmQgYWRkZWQKKwkgIHRoZSBDMTROIEFQSQorCSogZG9jL2FwaS54c2wgZG9jL2dub21lLXhtbC5zZ21sOiBmaXh1cHMgYW5kIGFkZGVkIElEcworCitTYXQgTWFyICA5IDExOjE2OjExIENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogY2hlY2steG1sLXRlc3Qtc3VpdGUucHk6IGZpeCB0byBhZGFwdCB2YXJhaWF0aW9ucyBpbiB0aGUKKwkgIGJpbmRpbmdzCisJKiBjb25maWd1cmUuaW4gcHl0aG9uL3NldHVwLnB5IHB5dGhvbi9zZXR1cC5weS5pbjogZml4ZWQgdG8KKwkgIGhhdmUgdGhlIHZlcnNpb24gb2YgdGhlIHB5dGhvbiBzY3JpcHRzIGF1dG9tYXRpY2FsbHkgdXBkYXRlZAorCitGcmkgTWFyICA4IDE2OjQ1OjU1IENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogdHJlZS5jOiBmaXhlZCBhIGJ1ZyBuZXdseSBpbnRyb2R1Y2VkIGFuZCBwb2ludGVkIGJ5IFV3ZSBGZWNobmVyCisJICBpbiB4bWxDb3B5UHJvcCgpCisKK0ZyaSBNYXIgIDggMTU6NDk6MTAgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBjb25maWd1cmUuaW46IHByZXBhcmluZyAyLjQuMTcgcmVsZWFzZQorCSogZG9jLyo6IHVwZGF0ZWQgYW5kIHJlYnVpbHQgdGhlIGRvY3MKKwkqIHhwYXRoLmM6IGZpeGVkIGEgY29tbWVudAorCSogcHl0aG9uL2xpYnhtbC5jOiBmaXhlZCBhIHBvc3NpYmxlIHJlZW50cmFuY3kgcHJvYmxlbQorCitUaHUgTWFyICA3IDIzOjE5OjI4IENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogdHJlZS5jIHB5dGhvbi90ZXN0cy9NYWtlZmlsZS5hbSBweXRob24vdGVzdHMvYXR0cmlicy5weToKKwkgIGZpeGVkIHhtbEhhc05zUHJvcCgpIGJ1Z3MgZm9yIGRlZmF1bHRlZCBmcm9tIERURCBhdHRyaWJzLAorCSAgYWRkZWQgYSBzcGVjaWZpYyByZWdyZXNzaW9uIHRlc3QKKwkqIHB5dGhvbi9nZW5lcmF0b3IucHk6IHhtbEhhc05zUHJvcCgpIGFuZCB4bWxIYXNQcm9wKCkgc2hhbGwKKwkgIG5vdCByYWlzZSBleGNlcHRpb25zIHdoZW4gZmFpbGluZyB0byBmaW5kIHRoZSBhdHRyaWJ1dGUuCisKK1RodSBNYXIgIDcgMTY6MTE6MzUgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBjb25maWd1cmUuaW4geG1sbGludC5jOiBvd2VuIHBvaW50ZWQgb3V0IGEgcHJvYmxlbSB3aXRoIHRoZQorCSAgZnRtZSBmaXgsIGdldHRpbWVvZmRheSgpIHdhcyBub3QgZGV0ZWN0ZWQgYnkgY29uZmlndXJlIGFuZAorCSAgdGhlIGZ0aW1lIGhlYWRlciB3YXNuJ3QgaW5jbHVkZWQsIGRvaGhoCisKK1RodSBNYXIgIDcgMTI6MTk6MzYgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBjb25maWd1cmUuaW4geG1sbGludC5jOiB0cnlpbmcgdG8gZml4ICM3MTQ1NyBmb3IgdGltaW5nCisJICBwcmVjaXNpb24gd2hlbiBnZXR0aW1lb2ZkYXkoKSBpcyBub3QgYXZhaWxibGUgYnV0IGZ0aW1lKCkgaXMKKworVGh1IE1hciAgNyAxMToyNDowMiBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGxpYnhtbC5zcGVjLmluIGRvYy9NYWtlZmlsZS5hbTogRml4ZWQgIzczNDA4IG1pc3NpbmcgaW1hZ2VzCisJICBhcmUgbm93IGNvcGllZCBvbiBpbnN0YWxsIGFuZCBwYXJ0IG9mIHRoZSAtZGV2ZWwgUlBNCisKK1RodSBNYXIgIDcgMDk6MzQ6MTYgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4cGF0aC5jOiB0cnlpbmcgdG8gYXZvaWQgYnVnICM3MjE1MCB3aGljaCB3YXMgYXBwYXJlbnRseQorCSAgY2F1c2VkIGJ5IGEgZ2NjIGJ1ZyAob3IgYSBwcm9jZXNzb3IgcHJvYmxlbSkgYXMgZGV0YWlsZWQKKwkgIGF0IGh0dHA6Ly92ZWlsbGFyZC5jb20vZ2NjLmJ1ZworCitUaHUgTWFyICA3IDAxOjAyOjM3IENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogdHJlZS5jIHB5dGhvbi90ZXN0cy9NYWtlZmlsZS5hbSBweXRob24vdGVzdHMvY3V0bnBhc3RlLnB5OgorCSAgZml4ZWQgeG1sUmVjb25jaWxpYXRlTnMoKSwgYWRkZWQgYSBQeXRob24gdGVzdC9leGFtcGxlIGZvcgorCSAgaW50ZXItZG9jdW1lbnQgY3V0J24gcGFzdGUKKwkqIHB5dGhvbi9saWJ4bWwucHk6IGZpeGVkIG5vZGUuZG9jIG9uIGRvY3VtZW50IG5vZGVzIGFuZCBhZGRlZAorCSAgeHBhdGhFdmFsKCkgb250byBub2RlIG9iamVjdHMKKworV2VkIE1hciAgNiAyMjozODowMyBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIEhUTUx0cmVlLmM6IGZpeGVkIHNvbWUgaHRtbFNldE1ldGFFbmNvZGluZygpIHByb2JsZW1zCisJKiBweXRob24vbGlieG1sLmMgcHl0aG9uL3Rlc3RzL01ha2VmaWxlLmFtIHB5dGhvbi90ZXN0cy9zZXJpYWxpemUucHk6CisJICBmaXh1cCBhbmQgaW50ZWdyYXRlZCB0ZXN0cyBmb3IgdGhlIHNlcmlhbGl6YXRpb24gc3R1ZmYKKworV2VkIE1hciAgNiAxOTo0MDo1NyBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIE1ha2VmaWxlLmFtIGxpYnhtbC4zIGxpYnhtbC40IGxpYnhtbC5zcGVjLmluOiBGaXhlZCBidWcgIzcyNTcwCisJICBtb3ZlZCB0aGUgbGlieG1sIG1hbiBwYWdlIHRvIHNlY3Rpb24gMworCitXZWQgTWFyICA2IDE4OjM0OjA3IENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogdHJlZS5jOiBmaXggYnVnICM3MjQ5MAorCSogcHl0aG9uL2xpYnhtbC5jIHB5dGhvbi9saWJ4bWwucHk6IGFkZGVkIG1ldGhvZHMgc2VyaWFsaXplKCkKKwkgIGFuZCBzYXZlVG8oKSB0byBhbGwgbm9kZSBlbGVtZW50cy4KKworVHVlIE1hciAgNSAyMToyNzowMyBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbElPLmM6IGNsb3NlZCAjNzM0MzAsIGRvbid0IHJlYWQgZnJvbSBhbiBpbnB1dCBzb3VyY2UKKwkgIHdoaWNoIGluZGljYXRlZCBhbiBlbmQtb2YtZmlsZSBvciBhbiBlcnJvci4KKworVHVlIE1hciAgNSAxNjozMzo0MiBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlci5jOiBtYWtlIHN1cmUgU0FYIGVuZERvY3VtZW50IGlzIGFsd2F5cyBjYWxsZWQgYXMKKwkgIHRoaXMgY291bGQgcmVzdWx0IGluIGEgUHl0aG9uIG1lbW9yeSBsZWFrIG90aGVyd2lzZSAoaXQncworCSAgdXNlZCB0byBkZWNyZW1lbnQgcmVmLWNvdW50aW5nKQorCSogcHl0aG9uL2dlbmVyYXRvci5weSBweXRob24vbGlieG1sLmMgcHl0aG9uL2xpYnhtbC5weQorCSAgcHl0aG9uL2xpYnhtbDItcHl0aG9uLWFwaS54bWwgcHl0aG9uL2xpYnhtbDJjbGFzcy50eHQKKwkgIHB5dGhvbi90ZXN0cy9lcnJvci5weSBweXRob24vdGVzdHMveHBhdGgucHk6IGltcGxlbWVudGVkCisJICB0aGUgc3VnZ2VzdGlvbnMgbWFkZSBieSBHYXJ5IEJlbnNvbiBhbmQgZXh0ZW5kZWQgdGhlIHRlc3RzCisJICB0byBtYXRjaCBpdC4KKworVHVlIE1hciAgNSAxMDozNToyNCBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHB5dGhvbi9nZW5lcmF0b3IucHk6IGFwcGxpZWQgcGF0Y2ggZml4aW5nICM3MzQ1MAorCitNb24gTWFyICA0IDE3OjU5OjI5IENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeHBhdGguYzogZml4aW5nICM2MTI5MCAibmFtZXNwYWNlIG5vZGVzIGhhdmUgbm8gcGFyZW50IgorCSAgbG9uZyBzdGFuZGluZyBkaXZlcmdlbmNlIGZyb20gdGhlIFhQYXRoIFJFQy4gTm9kZVNldHMKKwkgIHNpbXBseSBob2xkIGEgY29weSBvZiBuYW1lc3BhY2Ugbm9kZXMgYW5kIHRob3NlIG5vZGUgLT5uZXh0CisJICBwb2ludHMgdG8gdGhlIHBhcmVudCAod2hpY2ggbWF5IG5vdCBiZSB0aGUgbm9kZSBjYXJyeWluZyB0aGUKKwkgIGRlZmluaXRpb24pLgorCSogaW5jbHVkZS9saWJ4bWwveHBhdGguaDogZmxhZ2dlZCBidXQgZGlkbid0IGFkZGVkIGEgcG9zc2libGUKKwkgIHNwZWVkdXAKKwkqIERPQ0JwYXJzZXIuYyBIVE1McGFyc2VyLmM6IHJlbW92ZWQgc29tZSB3YXJuaW5ncyBmcm9tIHB1c2gKKwkgIHBhcnNlciBkdWUgdG8gbmV3IHN0YXRlIGJlaW5nIGFkZGVkLgorCSogdHJlZS5jOiBuZXcgZml4IGZyb20gQm9yaXMgRXJkbWFubgorCSogY29uZmlndXJlLmluIGMxNG4uYyBpbmNsdWRlL2xpYnhtbC9jMTRuLmggdGVzdEMxNE4uYzogYWRkZWQKKwkgIHRoZSBYTUwgQ2Fub25hbGl6YXRpb24gc3VwcG9ydCBmcm9tIEFsZWtzZXkgU2FuaW4KKworU3VuIE1hciAgMyAxNToxMjo0MiBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHRyZWUuYzogcGF0Y2ggZnJvbSBCb3JpcyBFcmRtYW5uIGZpeGluZyBzb21lIG5hbWVzcGFjZSBvZGl0aWVzCisJICB3aXRoIHhtbENvcHlOb2RlKCkKKworU2F0IE1hciAgMiAxMDozMzowNCBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbElPLmM6IGZpeCBidWcgIzcyNzA2IHdoZW4gbG9hZGluZyBhIE5VTEwgZW50aXR5CisKK0ZyaSBNYXIgIDEgMTc6MTQ6NDIgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBTQVguYzogRml4ZWQgIzcyMzQ2LCBhYm91dCBoYW5kbGluZyBvZiB4bWxuczpmb289IiIsIHRoaXMgY291bGQKKwkgIGFjdHVhbGx5IGNoYW5nZSBpbiBhIGZ1dHVyZSBYTUwgTmFtZXNwYWNlIHJldmlzaW9uLgorCitGcmkgTWFyICAxIDE3OjEyOjE1IENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcHl0aG9uL3R5cGVzLmMgcHl0aG9uL3Rlc3RzL01ha2VmaWxlLmFtIHB5dGhvbi90ZXN0cy94cGF0aHJldC5weToKKwkgIGFkZGVkIHRoZSBwb3NzaWJpbGl0eSBvZiByZXR1cm5pbmcgbm9kZXNldHMgZnJvbSBYUGF0aCBleHRlbnNpb24KKwkgIGZ1bmN0aW9ucyB3cml0dGVuIGluIFB5dGhvbgorCitGcmkgTWFyICAxIDEzOjU2OjEyIENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcHl0aG9uLyo6IGNvbW1pdGluZyBzb21lIFB5dGhvbiBiaW5kaW5ncyB3b3JrIGRvbmUgd2hpbGUgdHJhdmVsbGluZworCitGcmkgTWFyICAxIDEwOjExOjE1IENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sbGludC5jOiBjbG9zZSAjNzI2NjMgYW5kICM3MjY1OCwgZG9uJ3QgbWVtZHVtcCB1bmxlc3MgY29tcGlsZWQKKwkgIGV4cGxpY2l0ZWx5IHdpdGggbWVtb3J5IGRlYnVnZ2luZyBzd2l0Y2hlZCBvbgorCitTYXQgRmViIDIzIDExOjA4OjA5IENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcHl0aG9uL2dlbmVyYXRvci5weSBweXRob24vbGlieG1sLmMgcHl0aG9uL2xpYnhtbDItcHl0aG9uLWFwaS54bWwKKwkgIHB5dGhvbi9saWJ4bWwyY2xhc3MudHh0IHB5dGhvbi9saWJ4bWxfd3JhcC5oIHB5dGhvbi90eXBlcy5jOgorCSAgQWRkZWQgd3JhcHBlciBmb3IgdGhlIHhtbFVSSVB0ciB0eXBlLCBwcm92aWRlZCBhY2Nlc3NvcnMsIGZpeGVkCisJICB0aGUgYWNjZXNzb3IgZ2VuZXJhdG9yIGZvciBzdHJpbmdzCisJKiBweXRob24vdGVzdHMvTWFrZWZpbGUuYW0gcHl0aG9uL3Rlc3RzL3RzdFVSSS5weTogYWRkZWQgYSBzcGVjaWZpYworCSAgcmVncmVzc2lvbiB0ZXN0LgorCitGcmkgRmViIDIyIDIzOjQ0OjU3IENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcHl0aG9uL1JFQURNRSBweXRob24vZ2VuZXJhdG9yLnB5IHB5dGhvbi9saWJ4bWwuYyBweXRob24vc2V0dXAucHk6CisJICBhZGRlZCB0aGUgJ3VzdWFsJyBzZXR1cC5weSB0byBhbGxvdyBidWlsZGluZyBhIGxpYnhtbDItcHl0aG9uCisJICBtb2R1bGUgYmFzZWQgb24gdGhlIHNhbWUgY29kZS4gVGhlIGluaXRpYWxpemF0aW9uIGlzIGhvd2V2ZXIKKwkgIGRpZmZlcmVudCB0aGUgMiAuc28gZmlsZXMgZm8gbGlieG1sMiBhbmQgbGlieHNsdCBhcmUgaWRlbnRpY2FsIGFuZAorCSAgdGhleSBlbnRyeSBwb2ludCBpbml0aWFsaXplIGJvdGggbGlicmFyaWVzLiB0aGlzIGlzIGRvbmUgdG8gYXZvaWQKKwkgIHNvbWUgcG9zc2libGUgbmFzdHkgcHJvYmxlbSBzaW5jZSB0aGUgUHl0aG9uIGRvbid0IG1lcmdlIHRoZSBtYXBzCisJICBvZiBhbGwgc2hhcmVkIG1vZHVsZXMuCisKK1dlZCBGZWIgMjAgMjM6MTY6MDggQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBwYXJzZXIuYzogZml4ZWQgYSBwdXNoL2VuY29kaW5nIGJ1ZyByZXBvcnRlZCBieSBNaWNoYWVsCisJICBvbiBsaWJyc3ZnCisKK1dlZCBGZWIgMjAgMTk6NTQ6MDUgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBpbmNsdWRlL2xpYnhtbC9wYXJzZXJJbnRlcm5hbHMuaDogZml4ZXMgYSBtaXNwbGFjZWQgI2VuZGlmCisKK1dlZCBGZWIgMjAgMTc6NDc6NTUgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBwYXJzZXIuYyB2YWxpZC5jOiBmb3VuZCBhbmQgZml4ZWQgYSBjb3VwbGUgb2YgYWxsb2NhdGlvbiBidWdzCisKK1dlZCBGZWIgMjAgMTU6MzY6MDMgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBkb2MveG1sLmh0bWwgZG9jL3B5dGhvbi5odG1sIGRvYy8qOiBhZGRlZCBhIFB5dGhvbiBhbmQgYmluZGluZworCSAgcGFnZSBkZXNjcmliaW5nIHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSBQeXRob24gYmluZGluZ3MgYW5kIAorCSAgZ2l2aW5nIHBvaW50ZXJzIHRvIHRoZSBvdGhlciBsYW5ndWFnZXMgd3JhcHBlcnMuCisKK1dlZCBGZWIgMjAgMTE6MTY6MTUgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBjb25maWd1cmUuaW4gaW5jbHVkZS9saWJ4bWwveG1sd2luMzJ2ZXJzaW9uLmg6IHByZXBhcmluZyAyLjQuMTYKKwkqIGRvYy8qIHB5dGhvbi9saWJ4bWwyY2xhc3MudHh0OiB1cGRhdGVkIGFuZCByZWJ1aWx0IHRoZSBkb2NzLAorCSAgcmVidWlsdCB0aGUgQVBJIGFuZCB3ZWIgc2l0ZQorCSogeHBhdGguYzogZml4ZWQgIzcxOTc4IHBvcnRhYmlsaXR5IGJ1Z3MKKworVHVlIEZlYiAxOSAyMjo0OTozNiBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIFNBWC5jOiBvb3BzIGJyb2tlIGF1dG9tYXRpYyBkZWZhdWx0aW5nIG9mIG5hbWVzcGFjZXMgYXR0cmlidXRlcy4KKworVHVlIEZlYiAxOSAyMjowMTozNSBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGluY2x1ZGUvbGlieG1sL3BhcnNlckludGVybmFscy5oIHBhcnNlci5jOiBoYWQgdG8gY2hhbmdlCisJICAyIGludGVybmFsIHBhcnNpbmcgQVBJIHdoZW4gcHJvY2Vzc2luZyBkb2N1bWVudCBjb250ZW50CisJICB0byBjaGVjayB0aGUgc3RhcnQgYW5kIGVuZCBvZiBlbGVtZW50IGNvbnRlbnQgYXJlIGRlZmluZWQKKwkgIGluIHRoZSBzYW1lIGVudGl0eQorCSogdmFsaWQuYyBpbmNsdWRlL2xpYnhtbC92YWxpZC5oOiBhdHRyaWJ1dGUgbm9ybWFsaXphdGlvbiBjYW4KKwkgIGdlbmVyYXRlIGEgdmFsaWRpdHkgZXJyb3IgYWRkZWQgeG1sVmFsaWRDdHh0Tm9ybWFsaXplQXR0cmlidXRlVmFsdWUoKQorCSAgd2l0aCB0aGUgY29udGV4dCB0byByZXBvcnQgaXQuCisJKiBTQVguYzogZml4ZWQgdGhlIGxhc3Qga25vd24gYnVncywgY3JhenkgdmFsaWRhdGlvbiBjb25zdHJhaW50cworCSAgd2hlbiBhIGRvY3VtZW50IGlzIHN0YW5kYWxvbmUgc2VlbXMgY29ycmVjdGx5IGhhbmRsZWQuIFRoZXJlCisJICBpcyBhIGNvdXBsZSBvZiBvcGVuIGlzc3VlcyBsZWZ0IHdoaWNoIG5lZWQgY29uc2lkZXJhdGlvbiBlc3BlY2lhbGx5CisJICBQRTkzIG9uIGV4dGVybmFsIHVucGFyc2VkIGVudGl0aWVzIGFuZCBzdGFuZGFsb25lIHN0YXR1cy4gCisJICBSYW4gMTgxOSB0ZXN0czogMTgxNyBzdWNlZWRlZCwgMiBmYWlsZWQgYW5kIDAgZ2VuZXJhdGVkIGFuIGVycm9yIGluIDguMjYgcy4KKwkgIFRoZSAyIHRlc3RzIGxlZnQgZmFpbGluZyBhcmUgYWN0dWFsbHkgaW4gZXJyb3IuIENsZWFudXAgZG9uZS4KKworVHVlIEZlYiAxOSAxNToxNzowMiBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHZhbGlkLmM6IGltcGxlbWVudGVkIEU1OSBzcGFjZXMgaW4gQ0RBVEEgZG9lcyBub3QgbWF0Y2ggdGhlCisJICBub250ZXJtaW5hbCBTCisKK1R1ZSBGZWIgMTkgMTQ6NDQ6NTMgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBTQVguYyBwYXJzZXIuYyB2YWxpZC5jOiBtb3JlIHZhbGlkYXRpb24gdGVzdCBmaXh1cHMKKwkqIGNoZWNrLXhtbC10ZXN0LXN1aXRlLnB5OiBhZGRlZCBkdXJhdGlvbiBpbmZvIGZvciB0aGUgdGVzdHMKKworTW9uIEZlYiAxOCAyMzoyNTowOCBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlci5jIHZhbGlkLmM6IGEgY291cGxlIG9mIGVycm9ycyB3ZXJlIHJlcG9ydGVkIGJ1dCBub3QKKwkgIHNhdmVkIGJhY2sgYXMgc3VjaCBpbiB0aGUgcGFyc2luZyBjb250ZXh0LiBEb3duIHRvIDElIGZhaWx1cmUgcmF0ZQorCSAgUmFuIDE4MTkgdGVzdHM6IDE4MDEgc3VjZWVkZWQsIDE4IGZhaWxlZCBhbmQgMCBnZW5lcmF0ZWQgYW4gZXJyb3IKKworTW9uIEZlYiAxOCAyMDoxNjoxNSBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbEludGVybmFsZC5jOiBpc0V4dGVuZGVyIHdhcyBtaXNzaW5nIGEgY2hhciAKKwkqIHBhcnNlci5jIGluY2x1ZGUvbGlieG1sL3BhcnNlci5oOiAlIGFyZSBhY2NlcHRhYmxlIGluIHRoZQorCSAgaW50ZXJuYWwgc3Vic2V0IGlmIHdpdGhpbiBhIFBVQkxJQyBJRAorCitNb24gRmViIDE4IDE5OjI3OjMyIENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogU0FYLmMgcGFyc2VySW50ZXJuYWxzLmMgdmFsaWQuYzogbW9yZSB3b3JrIG9uIHRoZSBjb25mb3JtYW5jZQorCSAgc3VpdGUuIFRvb2sgdGhlIHN0ZXAgdG8gZmluYWxseSBibG9jayBkb2N1bWVudHMgd2l0aCBlbmNvZGluZworCSAgZXJyb3JzLiBJdCdzIGEgZmF0YWwgZXJyb3IgcGVyIHRoZSBzcGVjLCBwZW9wbGUgc2hvdWxkIGhhdmUgZml4ZWQKKwkgIHRoZWlyIGRvY3VtZW50cyBieSBub3cuCisKK01vbiBGZWIgMTggMTU6MzA6MTQgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBjaGVjay14bWwtdGVzdC1zdWl0ZS5weTogZml4ZWQgdGhlIHRlc3Qgc2NyaXB0IGFmdGVyIHNvbWUgZGlzY3Vzc2lvbgorCSAgb24gdGhlIHNlbWFudGljIG9mIFRZUEU9ImVycm9yIgorCSogTWFrZWZpbGUuYW06IGFkZGVkIHRoZSBzY3JpcHQgdG8gdGhlIGRpc3RyaWIKKworTW9uIEZlYiAxOCAxMjoxNzo0MSBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIFNBWC5jIGVudGl0aWVzLmM6IGZpeGVkIGEgY291cGxlIG9mIGNvbmZvcm1hbmNlcyBpc3N1ZXMgZGVlcAorCSAgaW50byB0aGUgdmFsaWRhdGlvbiBjb2RlIChzdGFuZGFsb25lIGFuZCB1bmRlY2xhcmVkIE5vdGF0aW9ucykKKworTW9uIEZlYiAxOCAwMDoxNzoyNCBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlci5jOiBmaXhlZCAjNzE3NDEgc3VwaWQgdHlwbyBhbiBhIGJ1ZyBhYm91dCBlbmNvZGluZyBwYXJzaW5nCisJICBzdGF5ZWQgdGhlcmUgZm9yIHllYXJzICEKKworTW9uIEZlYiAxOCAwMDowNjo0MiBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHZhbGlkLmMgU0FYLmM6IGZpeGVkICM3MTc0MCBOb3RhdGlvbkRlY2wgd2l0aCBhIHJlcXVpcmVkIGZpZWxkCisJICBtaXNzaW5nCisKK1N1biBGZWIgMTcgMjM6NDU6NDAgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBjaGVjay14bWwtdGVzdC1zdWl0ZS5weTogaW1wcm92ZWQgdGhlIGJlaGF2aW91ciBhIGJpdCBhcworCSAgd2VsbCBhcyB0aGUgbG9ncworCSogcGFyc2VyLmMgdmFsaWQuYyBTQVguYzogZml4ZWQgYSBmZXcgbW9yZSBidWdzIAorCSAgIlJhbiAxODE5IHRlc3RzOiAxNzc4IHN1Y2VlZGVkLCA0MSBmYWlsZWQsIGFuZCAwIGdlbmVyYXRlZCBhbiBlcnJvciIKKworU3VuIEZlYiAxNyAyMDo0MTozNyBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGNoZWNrLXhtbC10ZXN0LXN1aXRlLnB5OiBweXRob24gc2NyaXB0IHRvIHJ1biByZWdyZXNzaW9uIHRlc3RzCisJICBhZ2FpbnN0IHRoZSBYTUwgVGVzdCBzdWl0ZSBvZiBXM0MvT0FTaXMKKwkqIFNBWC5jOiBmaXhlZCBhIHZhbGlkYXRpb24gYnVnCisJKiBwYXJzZXIuYzogZml4ZWQgMyBlcnJvcnMgcG9pbnRlZCBieSB0aGUgdGVzdCBzdWl0ZQorCSogZG9jL2J1aWxkRG9jQm9va0NhdGFsb2c6IGZpeGVkIGEgdHlwbyBwb2ludGVkIGJ5IGRyYWtlCisJKiBweXRob24vTWFrZWZpbGUuYW06IGZpeGVkIGEgZGVwZW5kZW5keQorCitGcmkgRmViIDE1IDIxOjQ3OjEzIENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sbWVtb3J5LmM6IGF2b2lkIGEgd2FybmluZyBidWcgIzcxNTk0CisKK1dlZCBGZWIgMTMgMjI6MTM6MzMgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxtZW1vcnkuYzogSmVzc2UgUGVycnkgcHJvdmlkZWQgYSBwYXRjaCB0byByZW1vdmUgYSBmZXcKKwkgIHdhcm5pbmcgb24gYWxwaGEvVHJ1NjQKKworV2VkIEZlYiAxMyAxNDozMDo0OSBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGluY2x1ZGUvbGlieG1sL2VudGl0aWVzLmg6IGZpeGluZyBhIGNvbW1lbnQKKwkqIHZhbGlkLmM6IGZpeGluZyBzb21lIHRyb3VibGVzIHdpdGggdmFsaWRpdHkgY2hlY2sgb24gbmFtZXNwYWNlcworCSogcmVzdWx0L1ZDL05TMyB0ZXN0L1ZDL05TMzogYWRkZWQgYSBzcGVjaWZpYyByZWdyZXNzaW9uIHRlc3QKKworV2VkIEZlYiAxMyAxNDowNToyNCBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHRyZWUuYzogRml4aW5nICM3MTM0MiBzZXJpYWxpemluZyAnXG4nIGluIGF0dHJpYnV0ZSB2YWx1ZXMKKwkqIHJlc3VsdC9ub2VudC9hdHQzIHJlc3VsdC9hdHQzIHRlc3QvYXR0MzogYWRkZWQgYSBzcGVjaWZpYworCSAgdGVzdC4KKworVHVlIEZlYiAxMiAxNDo0NTozMiBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHB5dGhvbi9saWJ4bWwuYzogY291cGxlIG9mIGJ1ZyBmaXhlcworCitNb24gRmViIDExIDE5OjQxOjI5IENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcHl0aG9uLyoucHk6IHJlbW92ZWQgdGFicyBhbmQgdXNlZCBzcGFjZXMuCisKK01vbiBGZWIgMTEgMTk6MjU6NDQgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBjb25maWd1cmUuaW4gaW5jbHVkZS9saWJ4bWwveG1sd2luMzJ2ZXJzaW9uLmg6IHByZXBhcmluZyAyLjQuMTUKKwkqIGRvYy9uZXdzLmh0bWwgZG9jL3htbC5odG1sIGRvYy94bWxpby5odG1sOiByZWJ1aWx0IHNvbWUgZG9jcworCitNb24gRmViIDExIDE0OjUzOjI0IENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZG9jL3htbGNhdGFsb2dfbWFuLnhtbDogdHJ5aW5nIHRvIGNsb3NlIFJlZCBIYXQgYnVnICM1ODcwNworCSAgaHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD01ODcwNworCitNb24gRmViIDExIDA5OjUzOjAyIENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogaW5jbHVkZS9saWJ4bWwvZW5jb2RpbmcuaCBpbmNsdWRlL2xpYnhtbC9lbnRpdGllcy5oCisJICBpbmNsdWRlL2xpYnhtbC9nbG9iYWxzLmggaW5jbHVkZS9saWJ4bWwvcGFyc2VyLmgKKwkgIGluY2x1ZGUvbGlieG1sL3RocmVhZHMuaCBpbmNsdWRlL2xpYnhtbC90cmVlLmgKKwkgIGluY2x1ZGUvbGlieG1sL3htbG1lbW9yeS5oOiB0cnlpbmcgdG8gZml4IHRoZSBpbmNsdWRlIG1lc3MKKworTW9uIEZlYiAxMSAwODo1MzozMyBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGluY2x1ZGUvbGlieG1sL3htbG1lbW9yeS5oOiByZXZlcnRlZCBwYXJ0IG9mIHRoZSBwcmV2aW91cworCSAgYXR0ZW1wdCB0byBwcm92aWRlICM2OTY1NSwgdGhpcyB3YXMgYnJlYWtpbmcgdGhlIGJ1aWxkLgorCitTdW4gRmViIDEwIDE0OjEzOjM0IENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogSFRNTHRyZWUuYyBNYWtlZmlsZS5hbSBidWlsZF9nbG9iLnB5IGNvbmZpZ3VyZS5pbiBkZWJ1Z1hNTC5jCisJICBnbG9iYWxzLmMgcGFyc2VyLmMgdGhyZWFkcy5jIHRyZWUuYyB2YWxpZC5jIHhtbG1lbW9yeS5jCisJICB4cGF0aC5jIHhwb2ludGVyLmMgaW5jbHVkZS9saWJ4bWwvZ2xvYmFscy5oIGluY2x1ZGUvbGlieG1sL3BhcnNlci5oCisJICBpbmNsdWRlL2xpYnhtbC9wYXJzZXJJbnRlcm5hbHMuaCBpbmNsdWRlL2xpYnhtbC90cmVlLmgKKwkgIGluY2x1ZGUvbGlieG1sL3htbG1lbW9yeS5oIGluY2x1ZGUvbGlieG1sL3hwYXRoSW50ZXJuYWxzLmg6CisJICBUZW50YXRpdmVseSBmaXhlZCAjNjk2NTUgLCBtYWtlIGNvbXBpbGluZyB3aXRoIC1XcmVkdW5kYW50LWRlY2xzCisJICBjbGVhbi4KKwkqIHB5dGhvbi9saWJ4bWwuYzogZml4ZWQgYSB3YXJuaW5nLgorCitTdW4gRmViIDEwIDEyOjAyOjU5IENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogdHJlZS5jIHZhbGlkLmMgeGluY2x1ZGUuYzogZml4ICM2ODg4MiwgY2xlYW51cCB0aGUgWEluY2x1ZGUKKwkgIGNvcHlpbmcgb2Ygbm9kZSwgbWVyZ2UgYmFjayBJRHMgaW4gdGhlIHRhcmdldCBkb2N1bWVudC4KKwkqIHJlc3VsdC9YSW5jbHVkZS9kb2NpZHMueG1sIHRlc3QvWEluY2x1ZGUvZG9jcy9kb2NpZHMueG1sCisJICB0ZXN0L1hJbmNsdWRlL2VudHMvaWRzLnhtbDogdGVzdCBjYXNlCisJKiByZXN1bHQvVkMvRWxlbWVudFZhbGlkNDogb3V0cHV0IGNoYW5nZWQgZHVlIHRvIGEgdHlwbyBmaXgKKworU2F0IEZlYiAgOSAyMzoxNTowNCBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHB5dGhvbi9NYWtlZmlsZS5hbTogc2VlbXMgc29tZSB2ZXJzaW9uIG9mIGF1dG9tYWtlIGRpZG4ndAorCSAgZ2VuZXJhdGUgdGhlIGRlcGVuZGVuY2llcyByaWdodCBhcyBKYWNvYiBmb3VuZCBvdXQuIEFkZAorCSAgYW4gZXh0cmEgZGVwZW5kZW5jeSBydWxlLgorCitTYXQgRmViICA5IDE4OjU5OjIzIENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcGFyc2VySW50ZXJuYWxzLmMgdmFsaWQuYzogSnVzdGluIEZsZXRjaGVyIGZvdW5kIHNvbWUgcGFydHMKKwkgIG9mIHRoZSBjb2RlIG5lZWRpbmcgY2xlYW51cAorCSogbGlieG1sLnNwZWMuaW4gcHl0aG9uL01ha2VmaWxlLmFtIHB5dGhvbi9nZW5lcmF0b3IucHkKKwkgIHB5dGhvbi9saWJ4bWwuYyBweXRob24vbGlieG1sLnB5OiBGaXhlZCB0aGUgcHl0aG9uIE1ha2VmaWxlcworCSAgY29ycmVjdGVkIGEgYnVnIHNob3dpbmcgdXAgb24gaWE2NCwgY2hhbmdlZCB0aGUgbmFtZSBvZiB0aGUKKwkgIHB5dGhvbiBpbnRlcm5hbCBtb2R1bGUgdG9vCisKK0ZyaSBGZWIgIDggMTU6MTk6MjggQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBNYWtlZmlsZS5hbTogYXBwbGllZCBwYXRjaCBmcm9tIEFuZHJpcyBQYXZlbmlzIGZvciBiaW5hcnkKKwkgIG5hbWUgc3VmZml4ZXMKKworRnJpIEZlYiAgOCAxNDo0MzoxNyBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbGxpbnQuYyB3aW4zMi93aW4zMmNvbmZpZy5oOiBmaXhpbmcgIzY4NzQ4CisKK0ZyaSBGZWIgIDggMTQ6Mzc6MDUgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB2YWxpZC5jOiBmaXhpbmcgIzcwMTY2CisKK0ZyaSBGZWIgIDggMTQ6MzE6MjQgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB2YWxpZC5jOiBmaXhpbmcgIzcwMDc3CisKK0ZyaSBGZWIgIDggMTQ6MjQ6MDIgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBDb3B5cmlnaHQgTWFrZWZpbGUuYW0gUkVBRE1FIGNvbmZpZ3VyZS5pbiBsaWJ4bWwuc3BlYy5pbjoKKwkgIENoYW5nZWQgdG8gdGhlIE1JVCBMaWNlbmNlCisJKiBkb2MvRkFRLmh0bWwgZG9jL2NhdGFsb2cuaHRtbCBkb2MvaW50cm8uaHRtbCBkb2MveG1sLmh0bWwKKwkgIGRvYy94bWxpby5odG1sOiB1cGRhdGVkIHRoZSBkb2MgYWNjb3JkaW5nbHkKKwkqIGluY2x1ZGUvbGlieG1sL3htbHdpbjMydmVyc2lvbi5oIGNvbmZpZ3VyZS5pbjogcHJlcGFyaW5nCisJICAyLjQuMTQgcmVsZWFzZQorCSogcHl0aG9uL2dlbmVyYXRvci5weSBweXRob24vbGlieG1sLmMgcHl0aG9uL2xpYnhtbDItcHl0aG9uLWFwaS54bWwKKwkgIHB5dGhvbi9saWJ4bWwyY2xhc3MudHh0IHB5dGhvbi9saWJ4bWxfd3JhcC5oIHB5dGhvbi90eXBlcy5jOgorCSAgZml4ZWQgdGhlIGNvbnN0IHhtbENoYXIgKiB3cmFwcGVyIGFuZCBnZW5lcmF0b3IsIFhQYXRoIGV4dGVuc2lvbgorCSAgZnVuY3Rpb25zIG5vdyB1c2UgdGhlIGNvbnRleHQgYXMgZmlyc3QgYXJndW1lbnQKKwkqIHB5dGhvbi90ZXN0cy90c3R4cGF0aC5weSBweXRob24vdGVzdHMveHBhdGgucHkKKwkgIHB5dGhvbi90ZXN0cy94cGF0aGV4dC5weTogVXBkYXRlZCB0aGUgdGVzdHMgYWNjb3JkaW5nbHkKKwkqIHRyZWUuYzogZml4ZWQgYnVnICM3MDA2NworCitUaHUgRmViICA3IDE3OjMzOjU4IENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogTWFrZWZpbGUuYW06IGNsZWFudXAKKwkqIGRlYnVnWE1MLmM6IGFsd2F5cyB1c2Ugc3Rkb3V0IGlmIG91dHB1dCBpcyBOVUxMCisJKiB4bWxJTy5jOiBkb24ndCBjbG9zZSBmaWxlZGVzY3JpcHRvcnMgcGFzc2VkIHRvIG91dHB1dEJ1ZmZlcnMKKwkqIHB5dGhvbi9NYWtlZmlsZS5hbSBweXRob24vZ2VuZXJhdG9yLnB5IHB5dGhvbi9saWJ4bWwyY2xhc3MudHh0CisJICBweXRob24vbGlieG1sX3dyYXAuaCBweXRob24vdHlwZXMuYzogYXVnbWVudGVkIHRoZSBudW1iZXIgb2YgYmluZGluZ3MKKwkgIGhhbmRsaW5nIEZJTEUgKiBhbmQgWFBhdGggY29udGV4dHMKKwkqIHB5dGhvbi90ZXN0cy9NYWtlZmlsZS5hbTogYXZvaWQgYSBzdHVwaWQgcHJvYmxlbSBkdWUgdG8gdGhlCisJICB1c2Ugb2YgVEVTVC4KKworV2VkIEZlYiAgNiAyMzozNzowNyBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGNvbmZpZ3VyZS5pbjogZml4ZWQgc3R1cGlkIGJ1ZyAjNzA3MzggZm91bmQgYnkgYWxmb25zIGhvb2dlcnZvcnN0CisKK1dlZCBGZWIgIDYgMTc6MDQ6NTEgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBweXRob24vVE9ETyBweXRob24vbGlieG1sLmM6IGNsZWFudXAgdGhlIGV4dGVuc2lvbiBmdW5jdGlvbiBsb29rdXAKKwkqIHhtbG1lbW9yeS5jIGluY2x1ZGUvbGlieG1sL3htbG1lbW9yeS5oOiBhbHdheXMgY29tcGlsZSB0aGUgbGlzdAorCitUdWUgRmViICA1IDE3OjMzOjMwIENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogY29uZmlndXJlLmluIHB5dGhvbi9NYWtlZmlsZS5hbTogZG8gbm90IGluc3RhbGwgb3V0c2lkZQorCSAgb2YgcHJlZml4CisKK01vbiBGZWIgIDQgMTU6MDU6NTUgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBweXRob24vVE9ETyBweXRob24vbGlieG1sLmM6IHN0YXJ0ZWQgYWRkaW5nIFNBWCBpbnRlcmZhY2VzCisJKiBweXRob24vdGVzdHMvTWFrZWZpbGUuYW0gcHl0aG9uL3Rlc3RzL3B1c2hTQVgucHk6IGFkZGVkIGEgYmFzaWMKKwkgIFNBWCB0ZXN0CisKK01vbiBGZWIgIDQgMDE6MTI6NDIgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB0cmVlLmM6IGhhcmRlbmVkIHRoZSBhZGRDaGlsZCBmdW5jdGlvbgorCSogcHl0aG9uL2dlbmVyYXRvci5weSBweXRob24vbGlieG1sLmMgcHl0aG9uL2xpYnhtbDItcHl0aG9uLWFwaS54bWwKKwkgIHB5dGhvbi9saWJ4bWwyY2xhc3MudHh0IHB5dGhvbi9saWJ4bWxfd3JhcC5oIHB5dGhvbi9UT0RPOgorCSAgYWRkZWQgYWNjZXNzb3JzIG5lZWRlZCBmb3IgeG1sTm9kZSwgYSBiaXQgbW9yZSB0ZXN0aW5nIGFuZAorCSAgZXh0ZW5zaW9uIG9mIGludGVyZmFjZXMKKwkqIHB5dGhvbi90ZXN0cy9NYWtlZmlsZS5hbSBweXRob24vdGVzdHMvYnVpbGQucHk6IGFkZGVkIGEgdGVzdAorCSAgYnVpbGQgZnJvbSBzY3JhdGNoL3NhdmUvbG9hZC9jaGVjaworCitTdW4gRmViICAzIDIxOjEwOjM5IENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcGFyc2VySW50ZXJuYWxzLmM6IGNoYW5nZSBhIHNtYWxsIGJpdCBpbiB0aGUgd2F5IHZhbGlkaWR5CisJICBlcnJvciBtZXNzYWdlcyBnZXQgaW5pdGlhbGl6ZWQKKwkqIHB5dGhvbi9UT0RPIHB5dGhvbi9saWJ4bWwuYyBweXRob24vbGlieG1sMi1weXRob24tYXBpLnhtbAorCSAgcHl0aG9uL2xpYnhtbDJjbGFzcy50eHQgcHl0aG9uL2xpYnhtbF93cmFwLmggcHl0aG9uL3R5cGVzLmM6CisJICBhZGRlZCBzb21lIG1lbW9yeSBkZWJ1Z2dpbmcgdG8gdHJhY2sgbGVha3MgYXQgdGhlIGxpYnhtbDIgbGV2ZWwKKwkqIHB5dGhvbi90ZXN0cy8qLnB5OiBjaGFuZ2VkIGFsbCB0ZXN0cyB0byBjaGVjayBmb3IgbGVha3MsCisJICB0aGVyZSBpcyBqdXN0IG9uZSBsZWZ0IGluIFhQYXRoIGV4dGVuc2lvbiByZWdpc3RyYXRpb25zLgorCitTdW4gRmViICAzIDE3OjUwOjQ2IENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcHl0aG9uL1RPRE8gcHl0aG9uL2dlbmVyYXRvci5weSBweXRob24vbGlieG1sMi1weXRob24tYXBpLnhtbAorCSAgcHl0aG9uL2xpYnhtbDJjbGFzcy50eHQ6IG1vcmUgYWNjZXNzb3IgY2xhc3NlcyBmb3IgdGhlIHBhcnNlcgorCSAgY29udGV4dCwgYWxsb3cgdG8gc3dpdGNoIG9uIGFuZCBjaGVjayB2YWxpZGl0eQorCSogcHl0aG9uL3Rlc3RzL01ha2VmaWxlLmFtIHB5dGhvbi90ZXN0cy9lcnJvci5weQorCSAgcHl0aG9uL3Rlc3RzL2ludmFsaWQueG1sIHB5dGhvbi90ZXN0cy92YWxpZC54bWwKKwkgIHB5dGhvbi90ZXN0cy92YWxpZGF0ZS5weTogYXR0ZGVkIG1vcmUgdGVzdCBhbmQgYW5kIGFkZGVkIGVycm9yLnB5CisJICB3aGljaCBJIGZvcmdvdCB0byBjb21taXQgaW4gdGhlIGxhc3Qgc3RlcAorCitTdW4gRmViICAzIDE2OjAzOjU1IENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcHl0aG9uL01ha2VmaWxlLmFtIHB5dGhvbi90eXBlcy5jOiBjbGVhbnVwCisJKiBweXRob24vbGlieG1sLmMgcHl0aG9uL2xpYnhtbC5weSBweXRob24vbGlieG1sX3dyYXAuaAorCSAgcHl0aG9uL2dlbmVyYXRvci5weSBweXRob24vbGlieG1sMi1weXRob24tYXBpLnhtbCAKKwkgIHB5dGhvbi9saWJ4bWwyY2xhc3MudHh0OiBhZGRlZCBjbGFzcyBmb3IgcGFyc2VyIGNvbnRleHQsIGFkZGVkCisJICBmaXJzdCBjdXQgZm9yIHB1c2ggbW9kZSBzdXBwb3J0LiBBZGRlZCBhIGZyYW1ld29yayB0byBnZW5lcmF0ZQorCSAgYWNjZXNzb3JzIGZ1bmN0aW9ucy4KKwkqIHB5dGhvbi90ZXN0cy9NYWtlZmlsZS5hbSBweXRob24vdGVzdHMvcHVzaC5weTogYWRkZWQgYSBwdXNoCisJICB0ZXN0CisKK1N1biBGZWIgIDMgMDA6MTc6MjYgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBweXRob24vTWFrZWZpbGUuYW0gcHl0aG9uL1RPRE8gcHl0aG9uL2xpYnhtbC5weTogZml4ZWQgYSBzbWFsbAorCSAgYnVnIGEgYml0IG9mIGNsZWFudXAuCisKK1NhdCBGZWIgIDIgMjI6NDc6MTAgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBweXRob24vTWFrZWZpbGUuYW0gcHl0aG9uL2xpYnhtbC5jIHB5dGhvbi9saWJ4bWwyLXB5dGhvbi1hcGkueG1sCisJICBweXRob24vbGlieG1sMmNsYXNzLnR4dDogYWRkaW5nIGVycm9yIHJlZGlyZWN0aW9ucyBhbmQgcHJlZm9ybWF0CisJICB0byBhIHB5dGhvbiBoYW5kbGVyCisJKiBweXRob24vdGVzdHMvTWFrZWZpbGUuYW0gcHl0aG9uL3Rlc3RzLyoucHk6IGNsZWFudXAgbWFkZSBhbGwKKwkgIHRlc3RzIHNlbGYgY2hlY2tpbmcKKworU2F0IEZlYiAgMiAxMzoxODo1NCBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHB5dGhvbi9saWJ4bWwuYyBweXRob24vbGlieG1sLnB5OiBmaXhlZCBhIHN0dXBpZCBidWcgd2hlbiByZW5hbWluZworCSAgYSBmdW5jdGlvbgorCitTYXQgRmViICAyIDExOjI1OjUxIENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogbGlieG1sLnNwZWMuaW4gcHl0aG9uL01ha2VmaWxlLmFtIHB5dGhvbi9UT0RPIHB5dGhvbi9nZW5lcmF0b3IucHkKKwkgIHB5dGhvbi9saWJ4bWwuYyBweXRob24vbGlieG1sMi1weXRob24tYXBpLnhtbAorCSAgcHl0aG9uL2xpYnhtbDJjbGFzcy50eHQ6IFByb2dyZXNzaW5nIHRocm91Z2ggdGhlIFRPRE9zLCBjbGFzcworCSAgZGVzY3JpcHRpb24gb3V0cHV0LCBleHRyYSBYTUwgQVBJLCBSUE0gbm93IGJ1aWxkcyB0aGUgd3JhcHBlcnMKKwkgIGZvciBhbGwgcHl0aG9uIGluc3RhbGxlZCB2ZXJzaW9ucworCitTYXQgRmViICAyIDEwOjEzOjUyIENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogY29uZmlndXJlLmluIGxpYnhtbC5zcGVjLmluIHB5dGhvbi9NYWtlZmlsZS5hbSBweXRob24vVE9ETworCSAgcHl0aG9uL2dlbmVyYXRvci5weSBweXRob24vbGlieG1sMmNsYXNzLnR4dDogYWRkZWQgbW9yZSBpbmZvcm1hdGlvbnMKKwkgIGluIHRoZSBsaWJ4bWwyLXB5dGhvbiBwYWNrYWdlIGluY2x1ZGluZyBkb2NzLiBTbGlnaHRseSBjaGFuZ2VkCisJICB0aGUgY2xhc3MgaGllcmFyY2h5CisJKiBweXRob24vdGVzdHMvKjogYWRkZWQgYmFzaWMgcmVncmVzc2lvbiB0ZXN0cyBpbmZyYXN0cnVjdHVyZSB0b28KKworRnJpIEZlYiAgMSAyMzoxMTo1OCBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGNvbmZpZ3VyZS5pbiBsaWJ4bWwuc3BlYy5pbiBleGFtcGxlL01ha2VmaWxlLmFtIHB5dGhvbi9NYWtlZmlsZS5hbToKKwkgIGFkZGVkIGxpYnhtbDItcHl0aG9uIGFzIHBhcnQgb2YgdGhlIHBhY2thZ2VzIGluc3RhbGxlZAorCitGcmkgRmViICAxIDE4OjQ4OjE5IENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcHl0aG9uL01ha2VmaWxlLmFtIHB5dGhvbi9nZW5lcmF0b3IucHkgcHl0aG9uL2xpYnhtbC5jCisJICBweXRob24vbGlieG1sLnB5OiBtb3JlIHdvcmssIG5vdyBhYmxlIHRvIGV4dGVuZCB0aGUKKwkgIFhQYXRoIGludGVycHJldGVyIHdpdGggZnVuY3Rpb25zIHdyaXR0ZW4gaW4gcHl0aG9uLgorCitGcmkgRmViICAxIDEwOjI4OjUxIENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcHl0aG9uL01ha2VmaWxlLmFtOiBKYWNvYiBzZW50IGEgcGF0Y2ggdG8gYWxsb3cgYnVpbGRpbmcgZnJvbQorCSAgdGFyZmlsZS4KKworRnJpIEZlYiAgMSAwMDo0MDo0OCBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHB5dGhvbi9NYWtlZmlsZS5hbSBweXRob24vbGlieG1sLmMgY29uZmlndXJlLmluIE1ha2VmaWxlLmFtOgorCSAgaW5zZXJ0ZWQgdGhlIHB5dGhvbiB3cmFwcGVycyBidWlsZCwgSSBob3BlIHRoaXMgd29uJ3QgYmUgdG9vCisJICB1bnBvcnRhYmxlCisKK1RodSBKYW4gMzEgMjE6Mjc6MzcgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4cGF0aC5jOiBtaW5vciBvcHRpbWl6YXRpb24KKwkqIHB5dGhvbi9nZW5lcmF0b3IucHkgcHl0aG9uL2xpYnhtbC5jIHB5dGhvbi9saWJ4bWwucHkKKwkgIHB5dGhvbi9saWJ4bWxfd3JhcC5oOiBtb3JlIHdvcmsgb24gdGhlIHB5dGhvbiBiaW5kaW5ncywKKwkgIHRoZXkgbm93IHN1cHBvcnQgWFBhdGggYW5kIHRoZXJlIGlzIG5vIGV2aWRlbnQgbGVhaworCitUaHUgSmFuIDMxIDAwOjQ4OjA2IENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcHl0aG9uL2dlbmVyYXRvci5weSBweXRob24vbGlieG1sLmMgcHl0aG9uL2xpYnhtbC5weToKKwkgIG1vcmUgd29yayBvbiB0aGUgcHl0aG9uIGJpbmRpbmdzIGdlbmVyYXRvci4KKworV2VkIEphbiAzMCAyMTo1MToyNiBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHB5dGhvbi9nZW5lcmF0b3IucHkgcHl0aG9uL2xpYnhtbC5jIHB5dGhvbi9saWJ4bWxfd3JhcC5oOgorCSAgbW9yZSB3b3JrIG9uIHRoZSBweXRob24gYmluZGluZ3MuCisKK1dlZCBKYW4gMzAgMTc6MzU6MzMgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBweXRob24vZ2VuZXJhdG9yLnB5IHB5dGhvbi9saWJ4bWwuYyBweXRob24vbGlieG1sLnB5CisJICBweXRob24vbGlieG1sX3dyYXAuaDogY29tbWl0ZWQgZWFybHkgdmVyc2lvbiBvZiBhIHB5dGhvbiBiaW5kaW5nCisJICBmb3IgcHJpdmF0ZSB1c2Ugb25seSBBVE0KKworU2F0IEphbiAyNiAyMjo0MToxMyBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGVudGl0aWVzLmMgdHJlZS5jIGluY2x1ZGUvbGlieG1sL2VudGl0aWVzLmg6IGFwcGxpZWQgcGF0Y2gKKwkgIGZyb20gQW50aG9ueSBKb25lcyB0byBpbXBsZW1lbnQgY29weSBvZiBEVEQgc3VidHJlZSB0b28uIEhhZAorCSAganVzdCB0byBrZWVwIDIgZnVuY3Rpb24gcHJpdmF0ZSB3aGljaCByZWFsbHkgb3VnaHQgdG8gYmVjb21lCisJICBwdWJsaWMgb25lcy4KKworRnJpIEphbiAyNSAxNToxNDo1NSBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbGxpbnQuYzogYWRkZWQgcG9pbnRlcnMgdG8gdGhlIHdlYiBwYWdlcyBpbiB0aGUgdXNhZ2UoKQorCitUaHUgSmFuIDI0IDE3OjA0OjA0IENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogdHJlZS5jOiBtb3JlIGZpeGVzIGZyb20gUGV0ciBLb3plbGthIGZvciBhdHRyaWJ1dGUgaGFuZGxpbmcKKwkgIGluIHRoZSB0cmVlIEFQSSB0byBhbGlnbiB0aGUgc2VtYW50aWMgd2l0aCBET00uCisKK1RodSBKYW4gMjQgMTY6MDA6NTMgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB2YWxpZC5jIHRyZWUuYyBlbnRpdGllcy5jOiBhbm90aGVyIHNldCBvZiBwYXRjaGVzIGZyb20KKwkgIEFudGhvbnkgSm9uZXMgZm9yIGNvcHkgb3BlcmF0aW9ucyBjbGVhbnVwIGFuZCByb2J1c3RuZXNzCisKK1dlZCBKYW4gMjMgMTg6NTM6NTUgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBkb2MvQVBJY2h1bmsqLmh0bWwgZG9jL3BhcnNlZGVjbC5weSBkb2MvYXBpLnhzbDogZ2VuZXJhdGVkCisJICBhbiBhbHBoYWJldGljIGluZGV4IGJhc2VkIG9uIGNvbW1lbnRzIGNvbnRlbnQKKwkqIGRvYy8qOiByZWJ1aWx0IHRoZSB3ZWIgc2l0ZSB3aXRoIHRoZSBuZXcgcmVmZXJlbmNlcworCitXZWQgSmFuIDIzIDE1OjE0OjIyIENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcGFyc2VySW50ZXJuYWxzLmg6IEdyZWcgU2phYXJkZW1hIHN1Z2dlc3RlZCB0byB1c2UgYW4KKwkgIGVwb25lbnRpYWwgYnVmZmVyIGdyb3RoIHBvbGljeSBpbiB4bWxQYXJzZXJBZGROb2RlSW5mbygpCisKK1dlZCBKYW4gMjMgMTM6MzI6NDAgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBkb2MvYXBpLnhzbCBkb2MvQVBJY29uc3RydWN0b3JzLmh0bWwgZG9jL0FQSWZpbGVzLmh0bWwKKwkgIGRvYy9BUElmdW5jdGlvbnMuaHRtbCBkb2MvQVBJc3ltYm9scy5odG1sIGRvYy9saWJ4bWwyLXJlZnMueG1sCisJICBkb2MvcGFyc2VkZWNsLnB5IGRvYy9NYWtlZmlsZS5hbTogdXBkYXRlZCB0aGUgcHl0aG9uIGV4dHJhY3RvcgorCSAgdG8gZ2VuZXJhdGUgY3Jvc3MtcmVmZXJlbmNlcywgYW5kIGFkZGVkL3VwZGF0ZWQgdGhlIHN0eWxlc2hlZXRzCisJICB0byBnZW5lcmF0ZSBhbmQgbGluayBBUEkgaW5kZXhlcy4gVGhlIGdlbmVyaWMga2V5d29yZCBpbmRleAorCSAgaXMgbm90IGRvbmUgeWV0LgorCSogZG9jLyouaHRtbDogcmVnZW5lcmF0ZWQgYWxsIHRoZSB1c3VhbCBkb2NzIHRvbworCitUdWUgSmFuIDIyIDIzOjExOjI2IENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZGVidWdYTUwuYzogYWRkZWQgYW4geHBhdGggZnVuY3Rpb24gdG8gdGhlIHNoZWxsIGZvciBULiBWLiBSYW1hbgorCitUdWUgSmFuIDIyIDIyOjQyOjIzIENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZGVidWdYTUwuYzogcGF0Y2ggZnJvbSBBbnRob255IEpvbmVzIHRvIGNhdGNoIE5VTEwgbm9kZXMgaW4KKwkgIGRlYnVnIHJvdXRpbmVzLgorCitUdWUgSmFuIDIyIDIyOjM4OjQyIENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogdHJlZS5jOiBhcHBseSBhbiBwYXRjaCBmcm9tIFBldHIgS296ZWxrYSBmb3IgdW5saW5rIGFuZCByZXBsYWNlIAorCSAgc3VwcG9ydCBvZiBhdHRyaWJ1dGUgbm9kZXMKKworVHVlIEphbiAyMiAxOToxMjowNiBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGRvYy9saWJ4bWwyLWFwaS54bWwgZG9jL3BhcnNlZGVjbC5weTogQnVpbGQgYSBuZXcgdmVyc2lvbgorCSAgaG9wZWZ1bGx5IG5lYXIgY29tcGxldGUgYW5kIGZ1bGx5IGRvY3VtZW50ZWQgb2YgdGhlIEFQSSBpbiBYTUwKKwkqIEhUTUx0cmVlLmMgU0FYLmMgZGVidWdYTUwuYyBlcnJvci5jIGdsb2JhbHMuYyBwYXJzZXIuYyB0cmVlLmMKKwkgeG1sSU8uYyB4bWxtZW1vcnkuYyBpbmNsdWRlL2xpYnhtbC9jYXRhbG9nLmggaW5jbHVkZS9saWJ4bWwvaGFzaC5oCisJIGluY2x1ZGUvbGlieG1sL2xpc3QuaCBpbmNsdWRlL2xpYnhtbC9wYXJzZXIuaCBpbmNsdWRlL2xpYnhtbC90cmVlLmgKKwkgaW5jbHVkZS9saWJ4bWwvcGFyc2VySW50ZXJuYWxzLmggaW5jbHVkZS9saWJ4bWwvdmFsaWQuaGkKKwkgaW5jbHVkZS9saWJ4bWwveG1sSU8uaCBpbmNsdWRlL2xpYnhtbC94bWxlcnJvci5oaQorCSBpbmNsdWRlL2xpYnhtbC94bWxtZW1vcnkuaCBpbmNsdWRlL2xpYnhtbC94bWx2ZXJzaW9uLmguaW5pCisJIGluY2x1ZGUvbGlieG1sL3hwYXRoLmggaW5jbHVkZS9saWJ4bWwveHBhdGhJbnRlcm5hbHMuaDoKKwkgIENsZWFuZWQgdXAgdGhlIGRvYyBjb21tZW50cyBhIGxvdCBpbiB0aGUgcHJvY2VzcywgdGhlIGludGVyZmFjZQorCSAgY292ZXJhZ2UgaXMgbm93IDEwMCUKKworVHVlIEphbiAyMiAwMDoxMjo1OCBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGRvYy9saWJ4bWwyLWFwaS54bWwgZG9jL3BhcnNlZGVjbC5weTogaW1wcm92ZWQgdGhlIHNjcmlwdCB0bworCSAgZXh0cmFjdHMgY29tbWVudHMgZnJvbSB0aGUgZ3RrLWRvYyBEb2NCb29rIG91dHB1dCAoYSBiaXQKKwkgIGNvbnZvbHV0ZWQgYnV0IHNlZW1zIHRvIHdvcmspLgorCitNb24gSmFuIDIxIDE4OjI5OjE5IENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogTWFrZWZpbGUuYW0gZG9jL01ha2VmaWxlLmFtIGRvYy9saWJ4bWwyLWFwaS54bWwgZG9jL3BhcnNlZGVjbC5weToKKwkgIGFkZGVkIGFuIFhNTCBkZXNjcmlwdGlvbiBvZiB0aGUgQVBJLCBtb3ZlZCB0aGUgc2NyaXB0IGdlbmVyYXRpbmcKKwkgIGl0IGhlcmUuIEFkZGVkIGEgIm1ha2UgYXBpIiB0YXJnZXQKKworTW9uIEphbiAyMSAxNDozNDozNyBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHRyZWUuYzogQWRhbSBMb3VuZHMgcG9pbnRlZCBvdXQgYSBidWcgaW4geG1sU2VhcmNoTnMoKQorCitNb24gSmFuIDIxIDA5OjU1OjIxIENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeHBhdGguYyBpbmNsdWRlL2xpYnhtbC94cGF0aEludGVybmFscy5oOiB0aGUgY2hhbmdlIG1hZGUgdG8KKwkgIHhtbFhQYXRoRnVuY0xvb2t1cEZ1bmMgd2FzIGluY29tcGF0aWJsZSByb2xsIGl0IGJhY2sKKworU3VuIEphbiAyMCAyMzowMzo0MSBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIFNBWC5jOiBjbGVhbnVwIHBhdGNoIGZyb20gQW50aG9ueSBKb25lcworCSogZG9jL01ha2VmaWxlLmFtOiBmaXggdGhlIGhlYWRlcnMgdG8gYXZvaWQgaW4gbWFrZSBzY2FuCisJKiBwYXJzZXJJbnRlcm5hbHMuYyB4cGF0aC5jIGluY2x1ZGUvbGlieG1sLyouaDogY2xlYW51cCBvZiB0aGUKKwkgIGluY2x1ZGVzLCAqIHZzIFB0ciBhbmQgZ2VuZXJhbCBjbGVhbnVwCisJKiBwYXJzZWRlY2wucHk6IGZpcnN0IHZlcnNpb24gb2YgYSBzY3JpcHQgdG8gZXh0cmFjdCB0aGUKKwkgIG1vZHVsZSBpbnRlcmZhY2VzLCB0aGUgZ29hbCB3aWxsIGJlIHRvIHByb3ZpZGUgLmRlY2wgb3IgWE1MCisJICBzcGVjaWZpY2F0aW9uIG9mIHRoZSBpbnRlcmZhY2VzIHRvIGJ1aWxkIHdyYXBwZXJzLgorCitTdW4gSmFuIDIwIDEzOjM4OjIyIENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZG9jL3htbGNhdGFsb2dfbWFuLnhtbCB4bWxjYXRhbG9nLmM6IEZpeGVkIGJ1ZyAjNjg4MzAsIHhtbGNhdGFsb2cKKwkgIG5vdyBwcm92aWRlcyByZXR1cm4gY29kZXMgaW4gY2FzZSBvZiBlcnJvcnMKKworU2F0IEphbiAxOSAxNjozNjoyMSBDRVQgMjAwMiBCam9ybiBSZWVzZSA8YnJlZXNlQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KKworCSogdHJpby5oIHRyaW8uYyB0cmlvZGVmLmggdHJpb3AuaCB0cmlvbmFuLmggdHJpb25hbi5jIE1ha2VmaWxlLmFtOgorCSAgVXBncmFkZWQgdG8gdHJpbyBiYXNlbGluZSAxLjYKKwkqIHN0cmlvLmggc3RyaW8uYzogUmVwbGFjZWQgYnkgdHJpb3N0ci5oIGFuZCB0cmlvc3RyLmMKKworRnJpIEphbiAxOCAxNzoyMjo1MCBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGdsb2JhbHMuYyB4bWxJTy5jIHhtbGNhdGFsb2cuYzogcmVtb3ZlZCB0aGUgbGFzdCBvY2N1cmVuY2VzCisJICBvZiBzdHJkdXAgdXNhZ2UgaW4gdGhlIGNvZGUKKworRnJpIEphbiAxOCAxMjo0NzoxNSBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlci5jIGVycm9yLmM6IEtlaXRoIElzZGFsZSBjb21wbGFpbmVkIHJpZ2h0bHkgdGhhdCAKKwkgIHhtbEluaXRQYXJzZXIoKSBkaWQgbm90IHByZXNlcnZlIHZhbHVlIHNldCBieSB4bWxTZXRHZW5lcmljRXJyb3JGdW5jCisKK1RodSBKYW4gMTcgMDk6NDQ6NDQgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB0cmVlLmM6IGZpeGVkIHRoZSBmdW54dGlvbiB0byBzZXQgdGhlIHhtbDogYXR0cmlidXRlcworCSogZGVidWdYTUwuYzogYWRkZWQgInNldGJhc2UiIHRvIHRlc3QgaXQuCisKK1dlZCBKYW4gMTYgMTY6MzY6MDggQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB0cmVlLmM6IHVwZGF0ZSB4bWxOb2RlU2V0Q29udGVudCgpIGFuZCB4bWxOb2RlU2V0Q29udGVudExlbigpCisJICB0byBhbGxvdyB1cGRhdGluZyBhbiBhdHRyaWJ1dGUgY29udGVudAorCitUdWUgSmFuIDE1IDE4OjA5OjIzIENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogbGlieG1sLmg6IHRyeSB0byBhdm9pZCBwcm9ibGVtcyB3aGVuIGNvbXBpbGluZyBvbiBXaW5kb3dzCisKK01vbiBKYW4gMTQgMTg6NTY6MjUgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBoYXNoLmM6IHBhdGNoIGZyb20gQW50aG9ueSBKb25lcyBmb3IgaGFzaC5jIGFsbG9jYXRpb24gc2l6ZQorCSogTWFrZWZpbGUuYW06IHRyeWluZyB0byB3b3JrIGFyb3VuZCBZZXQgQW5vdGhlciBMaWJ0b29sIE1hZG5lc3MKKwkgIGFuZCBidWlsZCB0aGUgMi40LjEzIHJlbGVhc2UgZmluYWxseSAuLi4KKworTW9uIEphbiAxNCAxODoyNzoxOSBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGNvbmZpZ3VyZS5pbiBpbmNsdWRlL2xpYnhtbC94bWx3aW4zMnZlcnNpb24uaDogdXBkYXRlZCB0byAyLjQuMTMKKwkqIGRvYy8qIDogdXBkYXRlIG9mIHRoZSBkb2N1bWVudGF0aW9uCisKK01vbiBKYW4gMTQgMTc6NTM6NDEgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBkZWJ1Z1hNTC5jIHRyZWUuYzogc29tZSBjbGVhbnVwIGFmdGVyIGFuIHVuc3VjY2Vzc2Z1bCBhdHRlbXB0CisJICBhdCBmaXhpbmcgIzYxMjkwIDotKAorCitTdW4gSmFuIDEzIDIxOjMwOjU0IENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogdHJlZS5jOiBmaXhlZCB4bWxTYXZlRm9ybWF0RmlsZUVuYygpIHdoZW4gZW5jb2RpbmcgPT0gTlVMTAorCSAgRml4ZXMgYnVnICM2NzIyOQorCitTdW4gSmFuIDEzIDE3OjE0OjA2IENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogdHJlZS5jOiB0cnlpbmcgdG8gYXZvaWQgdHJvdWJsZXMgd2hlbiBhIHN1YnRyZWUgaXMgY29waWVkCisJICBhbmQgY29hbGVzY2VkIGluIHBhcnQgd2l0aCB0aGUgdGFyZ2V0IHRyZWUuIFNob3VsZCBmaXggCisJICBidWcgIzY3NDA3CisKK1N1biBKYW4gMTMgMTY6Mzc6MTUgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB2YWxpZC5jOiBmaXhlZCB2YWxpZGF0aW9uIG9mIGF0dHJpYnV0ZXMgY29udGVudCBvZiB0eXBlCisJICBOQU1FIE5BTUVTIE5NVE9LRU4gYW5kIE5NVE9LRU5TIHRvIGFjY2VwdCBpbnRlcm5hdGlvbmFsaXplZAorCSAgdmFsdWVzLCB2ZXJ5IG9sZCBidWcuIEZpeGVzICM2NzY3MQorCitTdW4gSmFuIDEzIDE1OjA3OjQ5IENFVCAyMDAyIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcGFyc2VyLmMgaW5jbHVkZS9saWJ4bWwvcGFyc2VySW50ZXJuYWxzLmggdHJlZS5jOiBpbnRlZ3JhdGVkCisJICBhIGNvdXBsZSBvZiBmaXhlcyBhbmQgYSBuZXcgQVBJIGZ1bmN0aW9uIHhtbFNldEVudGl0eVJlZmVyZW5jZUZ1bmMoKQorCSAgZnJvbSBLZWl0aCBJc2RhbGUgYW5kIGRlZGljYXRlZCB0byB4c2xkYmcgdGhlIFhTTFQgZGVidWdnZXIuCisKK1N1biBKYW4gMTMgMTQ6MjM6MjEgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB0aHJlYWRzLmM6IGFwcGxpZWQgU2VyZ3VlaSBOYXJvam55aSdzIHBhdGNoIHRvIGFkZCBuYXRpdmUKKwkgIHRocmVhZCBzdXBwb3J0IG9uIHRoZSBXaW4zMiBwbGF0Zm9ybQorCSogdGVzdFRocmVhZHNXaW4zMi5jIE1ha2VmaWxlLmFtOiBhZGRlZCB0aGUgdGVzdCBwcm9ncmFtIGFsc28KKwkgIGZyb20gU2VyZ3VlaSwgV2luMzIgc3BlY2lmaWMKKwkqIGluY2x1ZGUvd2luMzJjb25maWcuaCBpbmNsdWRlL2xpYnhtbC94bWx3aW4zMnZlcnNpb24uaC5pbjoKKwkgIGFkZGVkIHBhdGNoIGZyb20gSWdvciBmb3IgdGhlIFdpbmRvd3MgdGhyZWFkIHNwZWNpZmljIGRlZmluZXMuCisKK1dlZCBKYW4gIDkgMTI6NTA6MzkgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBlbnRpdGllcy5jOiBBbnRob255IEpvbmVzIHBvaW50ZWQgYSBidWcgaW4geG1sQ29weUVudGl0eSgpCisKK1R1ZSBKYW4gIDggMTQ6MjM6MjIgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBkb2MvKi5odG1sIGRvYy9zaXRlLnhzbCBkb2MvTWFrZWZpbGU6IHJlbmFtZWQgWE1MLmh0bWwKKwkgIG91dHB1dCBwYWdlIGludG8gWE1MaW5mby5odG1sLiBDbG9zZSBidWcgIzY2OTUxIGFuZAorCSAgcmFpc2VkIGJ5IFJvYmVydCBDb2xsaW5zIHRvby4KKworVHVlIEphbiAgOCAxNDoxMzoxOCBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGVuY29kaW5nLmM6IFBhdWwgS2VvZ2ggcG9pbnRlZCBvdXQgYSBwb3NzaWJpbGl0eSBvZiBzZWdmYXVsdAorCSAgb24gcmVwZXRlZCB4bWxBZGRFbmNvZGluZ0FsaWFzKCkgLyB4bWxDbGVhbnVwRW5jb2RpbmdBbGlhcygpLgorCSAgQ2xvc2VzIGJ1ZyAjIDY4MjM4CisKK1R1ZSBKYW4gIDggMTI6NDg6MjcgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBkb2MvKi5odG1sOiB1cGRhdGVkIHRoZSBHZG9tZTIgbGlua3MKKworVHVlIEphbiAgOCAxMTozMjozMCBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGxpYnhtbC5oOiBBcHBsaWVkIGZvbGxvd2luZyBwYXRjaGVzIGZyb20gUm9iZXJ0IENvbGxpbnMKKwkgIGFuZCBtYWtlIHN1cmUgSU5fTElCWE1MIGlzIGRlZmluZWQgd2hlbiBjb21waWxpbmcgaXQKKwktLS0tLS0tCisJKiBpbmNsdWRlL2xpYnhtbC94bWx2ZXJzaW9uLmguaW4gKExJQlhNTF9ETExfSU1QT1JUKTogVXNlIG9uIEN5Z3dpbgorCSAgYXMgd2VsbCBhcyBWaXN1YWwgQy4KKwkqIHBhcnNlci5jIChYTUxfRElSX1NFUCk6IERvbid0IHVzZSAnXFwnIGZvciBDeWd3aW4uCisJKiBwYXJzZXJJbnRlcm5hbHMuYyAoWE1MX0RJUl9TRVApOiBEb24ndCB1c2UgJ1xcJyBmb3IgQ3lnd2luLgorCSogc3RyaW8uYyAoUExBVEZPUk1fVU5JWCk6IERlZmluZSBmb3IgQ3lnd2luLgorCSogdHJpb2RlZi5oIChUUklPX1BMQVRGT1JNX1VOSVgpOiBEZWZpbmUgZm9yIEN5Z3dpbi4KKwkqIHhtbElPLmMgKHhtbEZpbGVPcGVuKTogVXNlIHVuaXggYmVoYXZpb3VyIGZvciBDeWd3aW4uCisJICBVc2UgYmluYXJ5IG1vZGUgb3BlbnMgZm9yIEN5Z3dpbiAoeG1sRmlsZU9wZW5XIHhtbFBhcnNlckdldERpcmVjdG9yeQorCSAgeG1sU3lzSURFeGlzdHMgeG1sTm9OZXRFeGlzdHMpLgorCSogeG1sbGludC5jOiBEb24ndCBpbmNsdWRlIHdpbnNvY2syLmggZm9yIEN5Z3dpbi4KKworTW9uIEphbiAgNyAxNzo1Mjo0OCBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlci5jOiBKaXJrYSBLb3NlayBwb2ludGVyIG91dCBhIGJ1ZyBpbiB4bWxQYXJzZVRleHREZWNsKCkKKwkgIHdoZW4gdGhlIHZlcnNpb24gaW5mbyBpcyBub3QgcHJlc2VudC4KKworTW9uIEphbiAgNyAwMDowMzo1OCBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHRyZWUuYzogQW50aG9ueSBKb25lcyAgcG9pbnRlZCBvdXQgYSBwcm9ibGVtIGluCisJICB4bWxTdHJpbmdHZXROb2RlTGlzdCgpIGFuZCBwcm92aWRlZCBhIGZpeCBmb3IgaXQKKworU3VuIEphbiAgNiAxMzo0NTo0OSBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlci5jOiBwYXRjaCBmcm9tIEZyYW5rIEogRnJhbmtsaW4gdG8gcmVtb3ZlIGEgYnVnIGluCisJICB4bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dCgpIHdoZW4gdGhlIGluaXRpYWwgYnVmZmVyIHBhc3NlZAorCSAgaXMgbGFyZ2UuCisKK1NhdCBKYW4gIDUgMTk6MjQ6MjMgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB3aW4zMi8qOiBiaWcgY2xlYW51cCBvZiB0aGUgV2luZG93cy9NU1ZDIHByb2plY3QgZmlsZXMKKwkgIGZyb20gSWdvciBabGF0a292aWMKKworV2VkIEphbiAgMiAxNDoxMTozNSBDRVQgMjAwMiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGRvYy9NYWtlZmlsZS5hbTogc2hvdWxkIGZpeCAjNjc2NzQgYW5kIGF2b2lkIHRyb3VibGVzIGlmIAorCSAgeHNsdHByb2MgaXMgbm90IGF2YWlsYWJsZSBvciBmYWlscyBpbiB0aGUgcHJlZml4IHByb3ZpZGVkCisKK1R1ZSBKYW4gIDEgMTc6NDg6NTYgQ0VUIDIwMDIgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxtZW1vcnkuYzogb25lIG1vcmUgZG9jIHBhdGNoIGZyb20gQ2hhcmxpZSBCb3plbWFuLgorCitNb24gRGVjIDMxIDE3OjM1OjQwIENFVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogRE9DQnBhcnNlci5jIHBhcnNlci5jIHZhbGlkLmMgaW5jbHVkZS9saWJ4bWwvcGFyc2VySW50ZXJuYWxzLmgKKwkgIGluY2x1ZGUvbGlieG1sL3htbGVycm9yLmggaW5jbHVkZS9saWJ4bWwveHBhdGhJbnRlcm5hbHMuaDoKKwkgIEZpeGVkIGEgZmV3IG90aGVyIHByb2JsZW1zIHJhaXNlZCBieSBDaGFybGllIEJvemVtYW4uCisJKiByZXN1bHQvVkMvRWxlbWVudFZhbGlkWzUtN106IGZpeGVkIHRoZSBvdXRwdXQKKworTW9uIERlYyAzMSAxNzoxMzozNCBDRVQgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqICouYyBpbmNsdWRlL2xpYnhtbC8qLmggZG9jL2h0bWwvKjogYXBwbGllZCA0MiBkb2N1bWVudGF0aW9uCisJICBwYXRjaGVzIGZyb20gQ2hhcmxpZSBCb3plbWFuLiBSZWdlbmVyYXRlZCB0aGUgSFRNTCBkb2NzLgorCitUaHUgRGVjIDIwIDE0OjU5OjUyIENFVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogaW5jbHVkZS9saWJ4bWwvZGVidWdYTUwuaCB3aW4zMi9kc3AvbGlieG1sMi5kZWYuc3JjOiBmaXhlcworCSAgZm9yIFdpbmRvd3MgZnJvbSBJZ29yCisKK1R1ZSBEZWMgMTggMTI6MTM6MzMgQ0VUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxsaW50LmM6IGFwcGxpZWQgSnVzdGluIEZsZXRjaGVyIHBhdGNoIGZvciAtLW91dHB1dCBvciAtbworCitUdWUgRGVjIDE4IDA4OjUyOjMyIENFVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogd2luMzIvbGlieG1sMi9saWJ4bWwyLmRlZi5zcmM6IGNsb3NlICM2NzAxOQorCitUdWUgRGVjIDE4IDA4OjA4OjUxIENFVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sbGludC5jOiBhcHBsaWVkIEp1c3RpbiBGbGV0Y2hlciBnZW5lcmljIHRpbWluZyBwYXRjaAorCSAgc2ltaWxhciB0byB0aGUgb25lIGFscmVhZHkgYXBwbGllZCB0byB4c2x0cHJvYy4KKworTW9uIERlYyAxNyAxNjoyOTowOCBDRVQgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGluY2x1ZGUvbGlieG1sL3RyZWUuaCB0cmVlLmM6IGFwcGxpZWQgZG9jdW1lbnRhdGlvbiBwYXRjaGVzCisJICBmcm9tIENoYXJsaWUgQm96ZW1hbgorCitUaHUgRGVjIDEzIDIxOjI0OjE2IE1TVCAyMDAxIEpvaG4gRmxlY2sgPGpmbGVja0BpbmtzdGFpbi5uZXQ+CisKKwkqZG9jL3htbGxpbnQueG1sLCB4bWxsaW50LjEgLSBkb2N1bWVudCAtLWRyb3BkdGQKKworVGh1IERlYyAxMyAyMzoxOTo1MCBDRVQgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHZhbGlkLmM6IGZpeCB0aGUgeG1sU3RyZHVwKCkgdXNlZCBpbiB0aGUgcHJldmlvdXMgcGF0Y2guCisJKiB2YWxpZC5jOiBhZGRlZCAtLWRyb3BkdGQKKwkqIHRyZWUuYzogZml4ZWQgeG1sVW5saW5rTm9kZSBzbyBpdCBhbHNvIHJlbW92ZXMgdGhlIHJlZmVyZW5jZXMKKwkgIGZyb20gdGhlIGRvY3VtZW50IGlmIHRoZSBub2RlIGlzIGEgRFRECisKK1RodSBEZWMgMTMgMTU6NTQ6MzUgQ0VUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBIVE1MdHJlZS5jIHZhbGlkLmM6IGNsZWFudXAgc29tZSBzdGF0aWMgZGVjbGFyYXRpb25zCisKK1RodSBEZWMgMTMgMTU6MjM6MDQgQ0VUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxsaW50LmM6IHJlbW92ZWQgYW5vdGhlciBzdHJkdXAoKQorCSogZG9jL0ZBUTogcmVtb3ZlZCB0aGUgSFAvVVggZW50cnkKKworVGh1IERlYyAxMyAwOTo0NDo1OCBDRVQgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHZhbGlkLmM6IGZpeCBidWcgIzY2ODE2IHdoZW4gdmFsaWRhdGluZy4KKwkqIHhtbGxpbnQuYzogZG9uJ3QgdXNlIHN5cy90aW1lLmggaWYgY29uZmlndXJlIGRpZCBub3QgZm91bmQgaXQKKworTW9uIERlYyAxMCAyMTozOTo1NSBNU1QgMjAwMSBKb2huIEZsZWNrIDxqZmxlY2tAaW5rc3RhaW4ubmV0PgorCisJKiBkb2NzL3htbGxpbnQuMSwgeG1sbGludC54bWwsIHhtbGNhdGFsb2cuMSwgeG1sY2F0YWxvZ19tYW4uaHRtbCwKKwl4bWxjYXRhbG9nX21hbi54bWwKKworTW9uIERlYyAxMCAyMjowNjoxNiBDRVQgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGluY2x1ZGUvbGlieG1sL3htbG1lbW9yeS5oOiBIaWV0YW5pZW1pIEphcmtrbyBwb2ludGVkIG91dCB0aGF0CisJICB4bWxJbml0TWVtb3J5KCkgd2FzIGRlY2xhcmVkIHR3aWNlCisKK1N1biBEZWMgIDkgMTQ6NTk6MjMgQ0VUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBnbG9iYWxzLmM6IGRvIG5vdCByZWZlcmVuY2Ugc3RyZHVwKCkgIQorCSogY29uZmlndXJlLmluIGxpYnhtbC0yLjAucGMuaW46IHRyeWluZyB0byBmaXggdGhlIGxpYnMKKwkgIG9mIHRoZSB2YXJpb3VzIGNvbmZpZyBleHRyYWN0aW9uIG1vZHVsZXMKKworRnJpIERlYyAgNyAxNToyMTozMyBDRVQgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGNvbmZpZ3VyZS5pbiA6IHByZXBhcmluZyAyLjQuMTIKKwkqIGRvYy8qIDogdXBkYXRlZCBhbmQgcmVidWlsdCB0aGUgZG9jcworCitGcmkgRGVjICA3IDEyOjMyOjAwIENFVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogdXJpLmM6IGNsb3NlZCBidWcgIzY2MTU5CisJKiB0ZXN0VVJJLmM6IGFkZGVkIC0tZXNjYXBlIG9wdGlvbgorCSogY29uZmlndXJlLmluOiBzb21lIGNsZWFudXAgZm9yIHhtbDItY29uZmlnIC0tY2ZsYWdzCisKK1RodSBEZWMgIDYgMTU6MzE6MzAgQ0VUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBnbG9iYWxzLmMgdGVzdFRocmVhZHMuYzogcmVtb3ZlZCBzb21lIG1pc3BsYWNlZCBpbmNsdWRlcworCSAgb2YgeG1sdmVyc2lvbi5oCisKK1RodSBEZWMgIDYgMDk6MDY6MDggRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB0aHJlYWRzLmM6IHBhdGNoIGZyb20gR2FyeSBQZW5uaW5ndG9uIGZpeGluZyBhIHBvc3NpYmxlCisJICBwcm9ibGVtIGF0IGluaXRpYWxpemF0aW9uIHRpbWUuCisKK1dlZCBEZWMgIDUgMTM6MDE6MzcgQ0VUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBjb25maWd1cmUuaW4gbGlieG1sLmggcGFyc2VyLmMgdGVzdFRocmVhZHMuYyBtYWNvcy86IGludGVncmF0ZWQKKwkgIEVyaWMgTGF2aWduZSBjb250cmlidXRpb24gdG8gYnVpbGQgbGlieG1sMiBvbiBNYWNPUyB1c2luZworCSAgQ29kZVdhcnJpb3IuCisKK1R1ZSBEZWMgIDQgMTQ6MTM6NDQgQ0VUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxsaW50LmM6IGFwcGxpZWQgR2VlcnQgS2xvb3N0ZXJtYW4ncyBwYXRjaCB0byBmaXgKKwkgIC0tcmVwZWF0IC0tdGltaW5nIG91dHB1dAorCitUaHUgTm92IDI5IDE3OjEwOjIyIENFVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcGFyc2VyLmM6IFJvYmluIEJlcmpvbiA8cm9iaW5Aa25vd3NjYXBlLmNvbT4gZm91bmQgYSBjYXNlCisJICB3aGVyZSBub24td2VsbGZvcm1lZCBYTUwgZGVjbGFyYWN0aW9ucyB3ZXJlIG5vdCBkZXRlY3RlZC4KKworV2VkIE5vdiAyOCAxNTo0MTo0MCBDRVQgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhwb2ludGVyLmM6IGZpeGVkIGEgY29tcGlsYXRpb24gYnVnIHBvaW50ZWQgYnkgRGFubnkgSmFtc2h5CisKK1dlZCBOb3YgMjggMTA6MDk6NTEgQ0VUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxJTy5jOiBhcyByb2JlcnQgcG9pbnRlZCBhZ2FpbiwgeG1sSW5wdXRDYWxsYmFja0luaXRpYWxpemVkCisJICBnZXRzIHJlc2V0IGJ5IHhtbENsZWFudXBJbnB1dENhbGxiYWNrcygpIGFuZCB0aGlzIG1ha2VzIHRoZQorCSAgZnVuY3Rpb24gdXNlbGVzcy4gU2FtZSBmb3Igb3V0cHV0LgorCitUdWUgTm92IDI3IDE3OjIyOjM2IENFVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sSU8uYzogcm9iZXJ0IHBvaW50ZWQgb3V0IGEgbG9vcCBlcnJvciBpbiBjYWxsYmFjayBjbGVhbnVwcworCitNb24gTm92IDI2IDE2OjU2OjAwIENFVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogdHJlZS5jIGRlYnVnWE1MLmMgaW5jbHVkZS9saWJ4bWwvdHJlZS5oIGluY2x1ZGUvbGlieG1sL2RlYnVnWE1MLmg6CisJICBtb3ZlZCB4bWxHZXRMaW5lTm8oKSBhbmQgeG1sR2V0Tm9kZVBhdGgoKSBpbnRvIHRoZSBtYWluIHRyZWUgbW9kdWxlLAorCSAgdGhleSBhcmUgbm90IHJlYWxseSB0aWVkIHRvIGRlYnVnZ2luZworCitNb24gTm92IDI2IDExOjMxOjM2IENFVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogY29uZmlndXJlLmluIGluY2x1ZGUvbGlieG1sL3htbHdpbjMydmVyc2lvbi5oOiBwcmVwYXJpbmcgMi40LjExCisJKiB4bWxsaW50LmM6IGJldHRlciAtLWNhdGFsb2dzIGRlc2NyaXB0aW9uCisKK1N1biBOb3YgMjUgMTE6MzQ6MjQgQ0VUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB0cmVlLmM6IGZpeGVkIGEgY291cGxlIG9mIHByb2JsZW1zIGluIHhtbFNldFByb3AoKQorCitUaHUgTm92IDIyIDE5OjE5OjEwIENFVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZGVidWdYTUwuYyB0cmVlLmMgeG1sSU8uYyB4bWxtZW1vcnkuYzogc29tZSBjbGVhbnVwcyB3aGVuIGNoYXNpbmcKKwkgIHVuYXBwcm9wcmlhdGUgc3Rkb3V0IG91dHB1dC4KKworVGh1IE5vdiAyMiAxMzo1ODoxNCBDRVQgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGluY2x1ZGUvbGlieG1sL3RyZWUuaDogRml4ZWQgYSBjb3VwbGUgb2YgbWFjcm8gZXJyb3JzIHBvaW50ZWQgb3V0CisJICBieSBEZW5pcyBCZXVyaXZlLCBjbG9zZXMgIzY1MTExCisKK1R1ZSBOb3YgMjAgMTA6MzQ6MDEgQ0VUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB2YWxpZC5jOiBpbiBjYXNlIG9mIGNvbnRlbnQgbW9kZWwgdmFsaWRpdHkgZXJyb3IsIGRvbid0CisJICBwcmludCBpdCBpZiB2YWxpZGl0eSB3YXJuaW5ncyB3ZXJlIG5vdCByZXF1ZXN0ZWQuCisKK1R1ZSBOb3YgMjAgMDk6MzA6MDIgQ0VUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBuYW5vZnRwLmM6IGFwcGxpZWQgYSBjb3VwbGUgb2YgcGF0Y2hlcyBmcm9tIEJyaWFuIEQgUmlwbGV5LgorCSogcGFyc2VySW50ZXJuYWxzLmM6IHJlbW92ZWQgdGhlIGxhc3QgZXhpdCgpIGNhbGwuIFByaW50IGFuCisJICB1bm1hc2thYmxlIGVycm9yIG9uIHN0ZGVyciBpbnN0ZWFkIChsaWJyYXJ5IG1pc21hdGNoIGRldGVjdGlvbikKKworU2F0IE5vdiAxNyAxNzoxNjo1MSBNU1QgMjAwMSBKb2huIEZsZWNrIDxqZmxlY2tAaW5rc3RhaW4ubmV0PgorCisJKiBkb2MveG1sbGludC54bWwsIGRvYy94bWxsaW50LjEgLSB1cGRhdGUgeG1sbGludCBtYW4gcGFnZSB3aXRoCisJc2hlbGwgaW5zdHJ1Y3Rpb25zIGZyb20gSGVpa28gUnVwcAorCitUaHUgTm92IDE1IDE0OjUzOjQyIENFVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogY2F0YWxvZy5jOiB1c2UgdGhlIFVSTCBub3RhdGlvbiBmaWxlOi8vIGZvciBkZWZhdWx0IGNhdGFsb2cgcGF0aHMKKworV2VkIE5vdiAxNCAxNjowMzowMiBDRVQgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGluY2x1ZGUvbGlieG1sL3RyZWUuaDogYmV0dGVyIGNvbW1lbnRzIGZvciBfcHJpdmF0ZSBmaWVsZHMKKwkqIHRyZWUuYzogcmVtb3ZlZCBhIHByb2JsZW0gd2hlbiBjb3B5aW5nIGFuIGVudGl0eSByZWZlcmVuY2UuCisKK1R1ZSBOb3YgMTMgMTY6MjM6MDQgQ0VUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB2bXMvKjogdXBkYXRlZCBpbnN0cnVjdGlvbnMgYW5kIGRpZmZzIGZyb20gSm9obiBBIEZvdGhlcmluZ2hhbQorCitNb24gTm92IDEyIDIzOjQzOjIyIENFVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogaW5jbHVkZS9saWJ4bWwveG1sZXJyb3IuaDogYXZvaWQgYW4gaW5jbHVkZSBwcm9ibGVtIGlmCisJICAjaW5jbHVkZSA8bGlieG1sL3htbGVycm9yLmg+IGhhcHBlbnMgZmlyc3QgaW4gY29kZQorCSAgc2VlbXMgdG8gYmUgdGhlIGNhc2UgaW4gS0RFIGxpYnMKKworTW9uIE5vdiAxMiAyMjozMjo0MSBDRVQgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHdpbjMyL2RzcC8qIGluY2x1ZGUvbGlieG1sL3htbHdpbjMydmVyc2lvbi5oLmluOiB1cGRhdGUKKwkgIGZyb20gSWdvciBmb3IgV2luZG93cworCitNb24gTm92IDEyIDEwOjE5OjQxIENFVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogTWFrZWZpbGUuYW06IEdhcnkgUGVubmluZ3RvbiBwb2ludGVkIG91dCBhIG1pc3NpbmcgcHJlZml4CisKK1NhdCBOb3YgMTAgMTI6NTU6NDIgQ0VUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBjb25maWd1cmUuaW4gaW5jbHVkZS9saWJ4bWwveG1sd2luMzJ2ZXJzaW9uLmg6IHByZXBhcmluZyAyLjQuMTAKKwkqIGRvYy8qOiB1cGdyYWRlZCBhbmQgcmVidWlsdCB0aGUgZG9jcworCitTYXQgTm92IDEwIDEyOjMzOjM4IENFVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogSFRNTHBhcnNlci5jOiBmaXggY29tbWVudCBpbiBzY3JpcHRzIGVsZW1lbnQgcGFyc2luZy4KKwkqIHJlc3VsdC9IVE1ML2RvYzMqOiB1cGRhdGVkIHRoZSByZXN1bHRzLgorCitTYXQgTm92IDEwIDExOjE4OjE4IENFVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogdXJpLmM6IGFub3RoZXIgVVJJIGJ1ZyBmaXggIzYzMzM2LCB1c2luZyBKb2VsIFlvdW5nIHBhdGNoLgorCitTYXQgTm92IDEwIDExOjA3OjI2IENFVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZGVidWdYTUwuYyBpbmNsdWRlL2xpYnhtbC9kZWJ1Z1hNTC5oOiBhZGQgeG1sR2V0Tm9kZVBhdGgoKQorCSAgYSBjbGVhbmVkIHVwIHZlcnNpb24gb2YgdGhlIFB3ZCBzaGVsbCBzdHJpbmcgZ2VuZXJhdGlvbi4KKworRnJpIE5vdiAgOSAwMDozNDoxMyBDRVQgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHZhbGlkLmMgaW5jbHVkZS9saWJ4bWwvdHJlZS5oOiB0cnlpbmcgdG8gZml4IG5hbWVzcGFjZXMgKworCSAgdmFsaWRhdGlvbiBwcm9ibGVtcyBmb3IgZ29vZCwgY2xvc2luZyAjNjM2MTkgaW4gdGhlIHByb2Nlc3MKKwkqIHJlc3VsdC92YWxpZC9kaWEueG1sIHRlc3QvdmFsaWQvZGlhLnhtbDogdGhlIERpYSB0ZXN0IHdhcworCSAgd3JvbmcgaW4gdGhpcyByZXNwZWN0LCBmaXhlZCBpdC4KKworVGh1IE5vdiAgOCAxODozMTo0MCBDRVQgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbGxpbnQuYzogTW9ydXMgV2FsdGVyIHBhdGNoIHRvIGFsbG93IC0tZm9ybWF0IGFuZCAtLWVuY29kZQorCitUaHUgTm92ICA4IDE0OjUyOjE4IENFVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZGVidWdYTUwuYzogU3RlZmFuIEtvc3QgcHJvdmlkZWQgYW4gaGVscCBjb21tYW5kIGZvciB0aGUgc2hlbGwKKworV2VkIE5vdiAgNyAxNDozMjo1NSBDRVQgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGRlYnVnWE1MLmM6IEhlaWtvIFJ1cHAgcG9pbnRlZCB0aGF0IHRoZSBzaGVsbCB3b3VsZCBjcmFzaAorCSAgb24gZW1wdHkgbm9kZXNldHMgcmV0dXJucy4KKworV2VkIE5vdiAgNyAxMzo1MjozNiBDRVQgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIE1ha2VmaWxlLmFtOiBXZWlxaSBHYW8gcG9pbnRlZCBvdXQgdGhhdCB4bWxjYXRhbG9nCisJICBtaWdoIG5lZWQgdGhlIGhpc3RvcnkgbGlicmFyaWVzCisKK1R1ZSBOb3YgIDYgMjM6NDk6MDkgQ0VUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBIVE1McGFyc2VyLmMgdGVzdC9IVE1ML2x0Lmh0bWwgcmVzdWx0L0hUTUwvbHQuaHRtbCo6CisJICBoYW5kbGUgdGhlIGNhc2Ugb2YgPCBpbiBxdW90ZWQgYXR0cmlidXRlcywgQmFzdGlhbiBLbGVpbmVpZGFtCisKK1R1ZSBOb3YgIDYgMTY6MjE6MzMgQ0VUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBjb25maWd1cmUuaW4gaW5jbHVkZS9saWJ4bWwveG1sd2luMzJ2ZXJzaW9uLmg6IHJlbGVhc2luZyAyLjQuOQorCSAgZml4aW5nIGNhdGFsb2cgYnJlYWthZ2VzCisJKiBNYWtlZmlsZS5hbSBjYXRhbG9nLmMgcmVzdWx0L2NhdGFsb2dzL2NhdGFsIAorCSAgcmVzdWx0L2NhdGFsb2dzL215Y2F0YWxvZy4qIHRlc3QvY2F0YWxvZ3MvY2F0YWwqOgorCSAgZml4ZWQgbW9yZSBwcm9ibGVtcyBpbiBjYXRhbG9nIHN1cHBvcnQsIGFkZGVkIG1vcmUgcmVncmVzc2lvbiB0ZXN0cworCSAgZm9yIGJvdGggWE1MIGFuZCBTR01MIGNhdGFsb2cgaGFuZGxpbmcKKworTW9uIE5vdiAgNSAyMDoyNjo0MSBDRVQgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGRlYnVnWE1MLmM6IGFwcGxpZWQgYW4gaW1wcm92ZW1lbnQgdG8geG1sR2V0TGluZU5vKCkgZnJvbQorCSAgS2VpdGggSXNkYWxlCisKK01vbiBOb3YgIDUgMTU6MjA6MTYgQ0VUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBjYXRhbG9nLmM6IGRvaGhoaCBYTUwgY2F0YWxvZyBhZGQgYW5kIHJlbW92ZSBvcHMgd2VyZSBicm9rZW4gdG9vLgorCSAgU2lkZSBlZmZlY3Qgb2YgdGhlIHByb2dyZXNzaXZlIGNhdGFsb2cgbG9hZGluZworCitNb24gTm92ICA1IDEyOjQwOjU0IENFVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogTWFrZWZpbGUuYW06IGNvbmZleGVjZGlyIGFuZCBjb25mZXhlY19EQVRBIHdlcmUgZGVmaW5lZCB0d2ljZQorCSAgcG9pbnRlZCBvdXQgYnkgS2FybCBFaWNod2FsZGVyCisKK1N1biBOb3YgIDQgMjM6MTg6MzQgQ0VUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxjYXRhbG9nLmM6IGF2b2lkIHVubGluaygpIGFuZCB1c2UgcmVtb3ZlKCkgaW5zdGVhZC4KKworU3VuIE5vdiAgNCAyMzoxMjozOCBDRVQgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGxpYnhtbC5zcGVjLmluOiBjbGVhbnVwCisJKiBpbmNsdWRlL2xpYnhtbC94bWx3aW4zMnZlcnNpb24uaDogdXBkYXRlZCB3aXRoIDIuNC44CisKK1N1biBOb3YgIDQgMjE6MTc6MjQgQ0VUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBlbmNvZGluZy5jIGdsb2JhbC5kYXRhIGdsb2JhbHMuYyB0ZXN0VGhyZWFkcy5jOiBmaXggYnVnICM2Mzc1MgorCSAgb2YgY29tcGlsaW5nIGxpYnhtbCB3aXRoIGEgbm9uIHN0YW5kYXJkIHNldCBvZiBvcHRpb25zCisKK1N1biBOb3YgIDQgMTM6MTE6NDEgTVNUIDIwMDEgSm9obiBGbGVjayA8amZsZWNrQGlua3N0YWluLm5ldAorCisJKiBkb2MveG1sbGludC54bWwsIHhtbGxpbnQuMSAtIHVwZGF0aW5nIHhtbGxpbnQgbWFuIHBhZ2UgdG8KKwlkb2N1bWVudCAtLXNnbWwgb3B0aW9uLCBmaXhpbmcgZ25vbWUgYnVnemlsbGEgIzYzMzgyCisKK1N1biBOb3YgIDQgMjA6NTY6NTMgQ0VUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBpbmNsdWRlL2xpYnhtbC9jYXRhbG9nLmggY2F0YWxvZy5jOiBGaXhlZCBTR01MIGNhdGFsb2dzCisJICBicmVha2FnZSBvZiAyLjQuNywgYWRkZWQgYSBjb3VwbGUgb2YgcmVhbGx5IG5lZWRlZCBBUElzCisJICBsaWtlIHhtbENhdGFsb2dJc0VtcHR5KCkgYW5kIHhtbE5ld0NhdGFsb2coKQorCSogeG1sY2F0YWxvZy5jOiB1cGRhdGVkIC0tc2dtbCAtLW5vb3V0IHRvIGJlIGEgc3VpdGFibGUgcmVwbGFjZW1lbnQKKwkgIGZvciBpbnN0YWxsLWNhdGFsb2cKKwkqIGNvbmZpZ3VyZS5pbjogcHJlcGFyaW5nIDIuNC44CisKK1RodSBOb3YgIDEgMTU6Mjk6MzEgQ0VUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBIVE1MdHJlZS5jIHRyZWUuYyBpbmNsdWRlL2xpYnhtbC9IVE1MdHJlZS5oCisJICBpbmNsdWRlL2xpYnhtbC90cmVlLmggaW5jbHVkZS9saWJ4bWwveG1sSU8uaDogbW9yZSBpbmNsdWRlCisJICBjbGVhbnVwcywgZXhwb3J0IGNsZWFubHkgb25lIGh0bWwgb3V0cHV0ICsgZm9ybWF0IGZ1bmN0aW9uLgorCitUaHUgTm92ICAxIDE0OjEyOjEyIENFVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcGFyc2VyLmM6IHJlbW92ZWQgaW5pdEdlbmVyaWNFcnJvckRlZmF1bHRGdW5jIGNhbGwgZnJvbQorCSAgeG1sSW5pdFBhcnNlcigpIHNpbmNlIGl0IGNvdWxkIGRlc3Ryb3kgcHJldmlvdXMgY2FsbHMgdG8KKwkgIHhzbHRTZXRHZW5lcmljRXJyb3JGdW5jKCkgZWZmZWN0cworCitUaHUgTm92ICAxIDA5OjM3OjEzIENFVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZGVidWdYTUwuYyBpbmNsdWRlL2xpYnhtbC9kZWJ1Z1hNTC5oOiBib29sIGNhbiBiZSBhIHJlc2VydmVkCisJICBrZXl3b3JkLgorCitXZWQgT2N0IDMxIDE4OjUwOjA4IENFVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogTWFrZWZpbGUuYW06IGNsZWFudXAKKwkqIHRocmVhZHMuYzogY2xlYW51cCB0b28KKwkqIHhtbElPLmMgaW5jbHVkZS9saWJ4bWwveG1sSU8uaDogYWRkZWQgeG1sTm9OZXRFeHRlcm5hbEVudGl0eUxvYWRlcigpCisJICBmcm9tIHhzbHRwcm9jCisJKiBpbmNsdWRlL2xpYnhtbC90cmVlLmggaW5jbHVkZS9saWJ4bWwvcGFyc2VyLmg6IHRyeWluZyB0byBicmVhayBhCisJICBkZXBlbmRlbmN5IGxvb3AuCisKK1R1ZSBPY3QgMzAgMTg6Mzg6NTMgQ0VUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBjYXRhbG9nLmM6IEp1c3RpbiBGbGV0Y2hlciBwb2ludGVkIG91dCB0aGF0IHhtbFBhcnNlWE1MQ2F0YWxvZworCSAgd2FzIG5vdCB1c2VkIGFueW1vcmUgIQorCitUdWUgT2N0IDMwIDEzOjMzOjEzIENFVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogY29uZmlndXJlLmluOiBwcmVwYXJpbmcgMi40LjcKKwkqIE1ha2VmaWxlLmFtIGRvYy9NYWtlZmlsZS5hbTogc3dpdGNoZWQgdG8gdGhlIGxhdGVzdCB4bWxsaW50CisJICBtYW51YWwgcGFnZSBmcm9tIEpvaG4KKwkqIGRvYy8qOiB1cGRhdGVkIHRoZSBkb2MgYW5kIHJlYnVpbHQgdGhlIGdlbmVyYXRlZCBwYWdlcworCitUdWUgT2N0IDMwIDExOjMxOjE5IENFVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sSU8uYzogY2xvc2luZyBidWcgIzYyNzExLCB0aGUgbGlicmFyeSBzaG91bGQgbmV2ZXIKKwkgIGNsb3NlIHN0ZGluIG9yIHN0ZG91dC4KKworVHVlIE9jdCAzMCAxMDo0NjoxMiBDRVQgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHVyaS5jOiBzZWNvbmQgcGFzcyBhdCBmaXhpbmcgIzYzMzM2LCB1c2luZyBKb2VsIFlvdW5nCisJICBmaW5hbCBwYXRjaC4gbG9va3Mgb2theS4KKworVHVlIE9jdCAzMCAwMDo1NjowNSBDRVQgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHVyaS5jIGluY2x1ZGUvbGlieG1sL3VyaS5oOiB0cnlpbmcgdG8gY2xlYXIgIzYzMzM2CisJICBhbGxvd2luZyB0aGUgZXNjYXBpbmcgcm91dGluZSB0byBwYXJzZSB1bmNvbmZvcm1hbnQKKwkgIFVSSS1SZWZlcmVuY2VzLgorCitNb24gT2N0IDI5IDE5OjA5OjQ2IENFVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogdm1zL3JlYWRtZS52bXMgdm1zL2J1aWxkX2xpYnhtbC5jb20gbmFub2Z0cC5jIAorCSAgaW5jbHVkZS9saWJ4bWwveG1sdmVyc2lvbi5oLmluOiBhIGZldyBWTVMgdXBkYXRlcyBmcm9tCisJICBKb2huIEEgRm90aGVyaW5naGFtCisJKiBpbmNsdWRlL2xpYnhtbC94bWxJTy5oIHhtbElPLmM6IGFkZGVkIHhtbENsZWFudXBJbnB1dENhbGxiYWNrcygpCisJICBhbmQgeG1sQ2xlYW51cE91dHB1dENhbGxiYWNrcygpIGZvciB0aGUgUGVybCBiaW5kaW5nIHBlb3BsZS4KKworTW9uIE9jdCAyOSAxMjo0NDoxNyBDRVQgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlci5jIGdsb2JhbHMuYyBET0NCcGFyc2VyLmMgSFRNTHBhcnNlci5jIGVycm9yLmM6CisJICBhcHBseSBmaXhlcyB0byBjbG9zZSAjNjMyNzEgYW5kIGF2b2lkIHNlZ2ZhdWx0cyB3aGVuCisJICB0aGUgZXJyb3Igcm91dGluZSBnZXRzIGNhbGxiZWQgYmVmb3JlIHhtbEluaXRQYXJzZXIoKQorCSAgZ2V0IGNhbGxlZC4KKwkqIG5hbm9mdHAuYyBlcnJvci5jOiBBcHBsaWVkIHBhdGNoZXMgZnJvbSBKdXN0aW4gRmxldGNoZXIKKwkgIGNvcnJlY3Rpbmcgc29tZSB4bWxHZW5lcmljRXJyb3IgbWlzdXNlcy4KKworU2F0IE9jdCAyNyAxNDowNDo0NSBNRFQgMjAwMSBKb2huIEZsZWNrIDxqZmxlY2tAaW5rc3RhaW4ubmV0PgorCisJKmRvYy94bWxsaW50LnhtbCwgZG9jL3htbGxpbnQuMQorCU5ldyBhbmQgaW1wcm92ZWQgbWFuIHBhZ2UgZm9yIHhtbGxpbnQgLSAueG1sIGlzIHRoZSBvcmlnaW5hbCwgLjEKKwlpcyB0aGUgZ2VuZXJhdGVkIG1hbiBwYWdlCisKK1dlZCBPY3QgMjQgMTQ6MzQ6MjUgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZG9jL3NpdGUueHNsIGRvYy8qLmh0bWwgZG9jL01ha2VmaWxlLmFtOiBub3cgYXV0b2dlbmVyYXRlCisJICB0aGUgd2ViIHNpdGUgZnJvbSB0aGUgbWFpbiBIVE1MIGRvY3VtZW50LgorCitUdWUgT2N0IDIzIDE0OjMyOjA0IENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlci5jOiBmaXhlZCBhbiBlcnJvbmVvdXMgdmFsaWRhdGlvbiBidWcgd2hlbiBQRSByZWZzCisJICBvY2N1cnMgaW4gZXh0ZXJuYWwgcGFyc2VkIGVudGl0aWVzIHJlZmVyZW5jZWQgZnJvbSB0aGUKKwkgIGludGVybmFscyBzdWJzZXQKKwkqIHRlc3QvdmFsaWQvaW5kZXgueG1sIHRlc3QvdmFsaWQvZHRkcy9uaXRmLTItNS5kdGQKKwkgIHRlc3QvdmFsaWQvZHRkcy9OZXdzTUx2MS4wLmR0ZCByZXN1bHQvdmFsaWQvaW5kZXgueG1sKjoKKwkgIGFkZGVkIHRoZSBhc3NvY2lhdGVkIHRlc3RjYXNlLCBpdCdzIGEgbmljZSBvbmUuCisJKiBIVE1McGFyc2VyLmM6IGdlbmVyYXRlIHRoZSBEVEQgbm9kZSBhcyBIVE1MIHN0aWxsIC4uLgorCSogSFRNTHRyZWUuYzogZml4ZWQgZXJyb3JzIGluIFNldC9HZXRNZXRhRW5jb2RpbmcgCisKK01vbiBPY3QgMjIgMTQ6MjA6MTcgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogSFRNTHBhcnNlci5jOiBmaXhlZCBhIGJ1ZyBpbiBodG1sTmV3RG9jKCkKKworTW9uIE9jdCAyMiAxMTozMjozNiBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB0ZXN0L3RocmVhZHMvKjogYWRkZWQgZW50aXRpZXMgdGVzdGluZyB0byB0aGUgVGhyZWFkIHRlc3QKKwkqIHRlc3RUaHJlYWRzLmM6IG1ha2UgdGhlIHRlc3QgcmVhc29uYWJsZQorCSogRE9DQnBhcnNlci5jOiBmaXggdGhlIERURCBwdWJsaWMgYW5kIHN5c3RlbSBJRAorCSogeG1sbGludC5jOiBhZGRlZCAtLXNnbWwgZm9yIFNHTUwgRG9jQm9vayBpbXBvcnRpbmcKKwkqIE1ha2VmaWxlLmFtOiBhZGRlZCBEb2NidGVzdHMgdGFyZ2V0CisKK0ZyaSBPY3QgMTkgMTE6NDc6MTMgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogbmFub2Z0cC5jOiB1c2Ugb25seSAiYW5vbnltb3VzQCIgc3RyaW5nIGZvciBhbm9ueW1vdXMgcGFzc3dkcworCSogdGVzdFRocmVhZHMuYzogcmVtb3ZlZCBib2d1cyBpbmNsdWRlCisKK1RodSBPY3QgMTggMTY6NTY6MjMgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcGFyc2VyLmMgdmFsaWQuYyByZXN1bHQvdmFsaWQvcnNzLnhtbCByZXN1bHQvdmFsaWQvcnNzLnhtbC5lcnI6CisJICBmaXhlZCBhIHZlcnkgc2VyaW91cyAobG9vcGluZykgdmFsaWRhdGlvbiBidWcKKworV2VkIE9jdCAxNyAxMTo1NjoyNSBFRFQgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGluY2x1ZGUvbGlieG1sL2dsb2JhbHMuaCBpbmNsdWRlL2xpYnhtbC90aHJlYWRzLmggdGhyZWFkcy5jCisJICB0ZXN0VGhyZWFkcy5jOiBmYXIgbW9yZSB0ZXN0aW5nLCBjbGVhbmluZyB1cCBidWdzCisJKiAqLmMgOiBtYWtlIHN1cmUgZ2xvYmFscy5oIGlzIGFsd2F5cyBpbmNsdWRlZC4KKworV2VkIE9jdCAxNyAxNzo0MTo0MSBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBIVE1McGFyc2VyLmM6IHRyeSB0byBnZXQgcmlkIG9mIHBhcnNlciBsb29wcyBmb3IgZ29vZC4KKworV2VkIE9jdCAxNyAxMzoyOTowMiBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBjb25maWd1cmUuaW46IGZpeGVkIHNvbWUgYnVncyBpbiBDRkxBR1MgcGFzc2luZy4KKwkqIHRlc3QvdGhyZWFkcyBNYWtlZmlsZS5hbSB0ZXN0VGhyZWFkcy5jOiBhZGRlZCBhIHNwZWNpZmljCisJICB0aHJlYWRlZCB0ZXN0IGNhc2UgKHJlYWxseSBuYXN0eSwgZ3VhcmFudGVlZCkuCisKK1R1ZSBPY3QgMTYgMjM6MDE6NDkgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogY2F0YWxvZy5jOiBzZXJpb3VzIGNsZWFudXAgb24gdGhlIG1hbmFnZW1lbnQgb2YgdGhlCisJICBYTUwgY2F0YWxvZyB0cmVlLCBtb3JlIHRlc3RzIGRvbmUsIGVzcGVjaWFsbHkgd2l0aAorCSAgdGhlIGNhdGFsb2cgUEkuCisKK1R1ZSBPY3QgMTYgMDg6NDM6NDMgRURUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBjYXRhbG9nLmM6IGF2b2lkIGEgcHJvYmxlbSBpbiBjYXRhbG9nIGNsZWFudXAgb24gU01QIGlmCisJICBjYXRhbG9ncyB3ZXJlIG5vdCBpbml0aWFsaXplZC4KKworVHVlIE9jdCAxNiAxNDozMzoxOSBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBjYXRhbG9nLmMgeHBhdGguYzogdHJ5aW5nIHRvIGNsZWFudXAgdGhlIG5vdCB0aHJlYWQgc2FmZQorCSAgcGFydHMgb2YgdGhlIGxpYnJhcnkuCisKK01vbiBPY3QgMTUgMTQ6MzA6MTEgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogaW5jbHVkZS9saWJ4bWwvZ2xvYmFscy5oIGNvbmZpZ3VyZS5pbiBnbG9iYWwuZGF0YTogbWFrZQorCSAgdGhlIGFsbG9jYXRpb24gYmUgcGVyLXRocmVhZCBhIGNvbmZpZ3VyZSBvcHRpb24KKwkqIGVuY29kaW5nLmMgaW5jbHVkZS9saWJ4bWwvcGFyc2VyLmg6IGZpeGVkIGNvbXBpbGF0aW9uCisJICBlcnJvcnMKKworTW9uIE9jdCAxNSAxMjo0NTowMyBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBpbmNsdWRlL2xpYnhtbC9wYXJzZXIuaDogTm9ybSByZXBvcnRlZCB0aGF0IGEgZmV3IGxpbmVzCisJICBhZGRlZCB3ZXJlIGJyZWFraW5nIGxpYnhzbHQgY29tcGlsZSwgcmVtb3ZlZCB0aGVtIGZvciBub3cKKworU3VuIE9jdCAxNCAwNTo1NTowMSBFRFQgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHBhcnNlci5jIHBhcnNlckludGVybmFscy5jIHRocmVhZHMuYzogZGVidWdnZWQgYW5kIGZpeGVkCisJICBpbml0aWFsaXphdGlvbiBwcm9ibGVtcyB3aGljaCB3ZXJlIGdpdmluZyB0cm91YmxlcyBvbiBTTVAKKwkgIGJveGVzLgorCitTYXQgT2N0IDEzIDE2OjE3OjEzIENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGluY2x1ZGUvbGlieG1sL01ha2VmaWxlLmFtOiBtaXNzaW5nIGdsb2JhbHMuaAorCitTYXQgT2N0IDEzIDE0OjE1OjAwIENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGdsb2JhbHMuYzogYWRkZWQgYSBjb3VwbGUgb2Ygc3RhbmRhcmQgaW5jbHVkZXMuCisKK1NhdCBPY3QgMTMgMTE6MDg6MjAgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogaW5jbHVkZS9saWJ4bWwvU0FYLmggaW5jbHVkZS9saWJ4bWwvZ2xvYmFscy5oIGluY2x1ZGUvbGlieG1sL3BhcnNlci5oCisJICBpbmNsdWRlL2xpYnhtbC9wYXJzZXJJbnRlcm5hbHMuaCBpbmNsdWRlL2xpYnhtbC90cmVlLmgKKwkgIGluY2x1ZGUvbGlieG1sL3htbGVycm9yLmggSFRNTHBhcnNlci5jIFNBWC5jIGVycm9yLmMgZ2xvYmFscy5jCisJICBuYW5vZnRwLmMgbmFub2h0dHAuYyBwYXJzZXIuYyBwYXJzZXJJbnRlcm5hbHMuYyB0ZXN0RG9jYm9vay5jCisJICB0ZXN0SFRNTC5jIHRlc3RTQVguYyB0cmVlLmMgdXJpLmMgeGxpbmsuYyB4bWxtZW1vcnkuYzoKKwkgIEFwcGxpZWQgdGhlIGxhc3QgcGF0Y2hlcyBmcm9tIEdhcnksIGNsZWFudXAsIGFjdGl2YXRlZCB0aHJlYWRpbmcKKwkgIGFsbCB1c2VyIGFjY2Vzc2libGUgZ2xvYmFsIHZhcmlhYmxlcyBhcmUgbm93IGhhbmRsZWQgaW4gZ2xvYmFscy5bY2hdCisJICBTdGlsbCBhIGJpdCByb3VnaHQgYnV0IG1ha2UgdGVzdHMgcGFzc2VzIHdpdGggZWl0aGVyIAorCSAgLS13aXRoLXRocmVhZHMgZGVmaW5lZCBhdCBjb25maWd1cmUgdGltZSBvciBub3QuCisJKiBNYWtlZmlsZS5hbSBleGFtcGxlL01ha2VmaWxlLmFtOiBhZGRlZCBnbG9iYWxzLltjaF0gYW5kIHRocmVhZHMKKwkgIGxpbmtpbmcgb3B0aW9ucworCitGcmkgT2N0IDEyIDE5OjI1OjU1IENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIE1ha2VmaWxlLmFtIGluY2x1ZGUvbGlieG1sL01ha2VmaWxlLmFtCisJICBpbmNsdWRlL2xpYnhtbC9nbG9iYWxzLmggZ2xvYmFscy5jICBpbmNsdWRlL2xpYnhtbC90aHJlYWRzLmgKKwkgIHRocmVhZHMuYyBidWlsZF9nbG9iLnB5IGdsb2JhbC5kYXRhIHhtbGNhdGFsb2cuYyBhY2NvbmZpZy5oCisJICBjb25maWd1cmUuaW46IHN0YXJ0ZWQgaW50ZWdyYXRpbmcgdGhlIGNvcmUgb2YgdGhlIHRocmVhZCBzdXBwb3J0CisJICBub3QgYWN0aXZhdGVkIHlldCBidXQgaGFsZiBpbnRlZ3JhdGVkLiBUaGUgY29kZSBzaG91bGQgc3RpbGwKKwkgIGNvbXBpbGUgYW5kIHdvcmsgYW55d2F5LgorCitGcmkgT2N0IDEyIDAwOjUzOjAzIENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIEhUTUx0cmVlLmMgY2F0YWxvZy5jIGRlYnVnWE1MLmMgZW50aXRpZXMuYyBuYW5vZnRwLmMKKwkgIHBhcnNlci5jIHZhbGlkLmMgeG1sbWVtb3J5LmMgeHBhdGguYyB4cG9pbnRlci5jOiBzdGFydGVkCisJICBpbnRlZ3JhdGluZyB0aGUgbm9uLWNvbnRyb3ZlcnNpYWwgcGFydHMgb2YgR2FyeSBQZW5uaW5ndG9uCisJICBtdWx0aXRocmVhZCBwYXRjaGVzCisJKiBjYXRhbG9nLmM6IGNvcnJlY3RlZCBhIHNtYWxsIGJ1ZyBpbnRyb2R1Y2VkCisKK1RodSBPY3QgMTEgMjA6NTg6MTUgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogY2F0YWxvZy5jIGluY2x1ZGUvbGlieG1sL2NhdGFsb2cuaDogdmVyeSBzZXJpb3VzIGNsZWFudXAsCisJICBpc29sYXRpbmcgdW5wb3J0YWJsZSBjb2RlIGFuZCBhcyBtdWNoIGFzIHBvc3NpYmxlIHRoZSBhY2Nlc3NlcworCSAgdG8gdGhlIGdsb2JhbCBzaGFyZWQgY2F0YWxvZy4gTWF5IG5lZWQgbW9yZSB0ZXN0aW5nICEKKworVGh1IE9jdCAxMSAxMToxMDozMSBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBpbmNsdWRlL2xpYnhtbC9kZWJ1Z1hNTC5oIGRlYnVnWE1MLmMgdHJlZS5jOiBpbnRlZ3JhdGluZworCSAgS2VpdGggSXNkYWxlIHBhdGNoZXMgZm9yIHRoZSBYU0xUIGRlYnVnZ2VyIGludGVyZmFjZXMuIFNvbWUKKwkgIGNsZWFudXAKKworVGh1IE9jdCAxMSAwODo0NDowMSBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB3aW4zMi9NYWtlZmlsZS5taW5ndzogdXBkYXRlIGZyb20gVG9iaWFzIFBldGVycyBmb3IgMi40LjUKKwkqIERPQ0JwYXJzZXIuYzogZ2VuZXJhdGUgbGluZSBudWJlcnMgaW4gZWxlbWVudHMKKworV2VkIE9jdCAxMCAxMTozNTo0NSBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBjb25maWd1cmUuaW46IHByZXBhcmluZyAyLjQuNiByZWxlYXNlCisJKiBkb2MveG1sLmh0bWwgZG9jL2h0bWwvKjogdXBkYXRlZCBhbmQgcmVidWlsdCB0aGUgZG9jcworCSogaW5jbHVkZS9saWJ4bWwvKi5oICouYzogZml4ZWQgYSBudW1iZXIgb2YgdGVoL3RoZSB3aWRodC93aWR0aCB0eXBvcworCitNb24gT2N0ICA4IDIwOjM4OjI3IE1EVCAyMDAxIEpvaG4gRmxlY2sgPGpmbGVja0BpbmtzdGFpbi5uZXQ+CisKKwkqIGRvYy94bWxjYXRhbG9nX21hbi54bWwsIHhtbGNhdGFsb2cuMSwgeG1sY2F0YWxvZ19tYW4uaHRtbAorCWFkZGluZyBkb2N1bWVudGF0aW9uIGZvciBEVidzIHN1cGVyY2F0YWxvZyBzdXBwb3J0CisKK01vbiBPY3QgIDggMTc6MDA6MTYgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogaW5jbHVkZS9saWJ4bWwvY2F0YWxvZy5oIGNhdGFsb2cuYyB4bWxjYXRhbG9nLmM6IGFkZGluZyBTR01MCisJICBzdXBlciBjYXRhbG9nIHN1cHBvcnQgYWRkaW5nIG9uZSBBUEkgYW5kIG9uZSBmbGFnIC0tc2dtbCB0bworCSAgeG1sY2F0YWxvZworCitTdW4gT2N0ICA3IDE2OjQzOjU3IE1EVCAyMDAxIEpvaG4gRmxlY2sgPGpmbGVja0BpbmtzdGFpbi5uZXQ+CisKKwkqIGRvYy94bWxjYXRhbG9nX21hbi54bWwsIHhtbGNhdGFsb2cuMQorCU9uZSBtb3JlIGNyYWNrIGF0CisJaHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD01NDM5MiAKKworU3VuIE9jdCAgNyAxODo0NzowMiBDRVNUIDIwMDEgVGhvbWFzIEJyb3llciA8dGJyb3llckBsdGd0Lm5ldD4KKworCSogeHBhdGguYzogaW1wbGVtZW50ZWQgeG1sWFBhdGhPYmplY3RDb3B5IGZvciBleHRlcm5hbCBvYmplY3RzCisJKiBpbmNsdWRlL2xpYnhtbC94cGF0aEludGVybmFscy5oOiBhZGRlZCB4bWxYUGF0aFN0YWNrSXNFeHRlcm5hbAorCitTYXQgT2N0ICA2IDE2OjI1OjUyIE1EVCAyMDAxIEpvaG4gRmxlY2sgPGpmbGVja0BpbmtzdGFpbi5uZXQ+CisKKwkqZG9jL3htbGNhdGFsb2dfbWFuLnhtbCwgeG1sY2F0YWxvZ19tYW4uaHRtbCwgeG1sY2F0YWxvZy4xCisJZmluaXNoaW5nIHVwIGZpeCB0bworCWh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9NTQzOTIsIG1ha2luZworCXRoZSB4bWxjYXRhbG9nIG1hbiBwYWdlIGRpc3BsYXkgbW9yZSBlbGVnYW50bHkKKworU2F0IE9jdCAgNiAxNToyNzoxMiBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBjb25maWd1cmUuaW46IGNsb3NpbmcgYnVnICM2MTgzMgorCSogSFRNTHBhcnNlci5jOiByZW1vdmVkIGEgd2FybmluZworCitTYXQgT2N0ICA2IDE1OjA3OjE0IENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhwYXRoLmM6IGZpeGluZyAjNjE2NzMgcGFydCBJLCBkbyBub3QgbG9vc2UgZG9jIGluZm9ybWF0aW9uCisJICB3aGVuIGNvcHlpbmcgcmVzdWx0IHZhbHVlIHRyZWVzLgorCitTYXQgT2N0ICA2IDExOjU4OjU4IENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhwYXRoLmM6IHRyeWluZyB0byBoYXJkZW4gdGhlIFhQYXRoIGludGVycHJldGVyCisKK0ZyaSBPY3QgIDUgMjA6Mzc6NTEgTURUIDIwMDEgSm9obiBGbGVjayA8amZsZWNrQGlua3N0YWluLm5ldD4KKworCSogZG9jL3htbGNhdGFsb2cuMSB1cGRhdGVkIHVzaW5nIGEgbmV3IHN0eWxlc2hlZXQgdG8gYWRkcmVzcywgaW4KKwlwYXJ0LCBodHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20vYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTU0MzkyCisKK0ZyaSBPY3QgIDUgMjM6MzU6MDAgSEtUIDIwMDEgV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisKKwkqIEhUTUxwYXJzZXI6IHJlcGFpcmVkIGFub3RoZXIgbG9vcCBwcm9ibGVtCisKK0ZyaSBPY3QgIDUgMTE6MTY6MjEgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogdXJpLmM6IGFwcGxpZWQgZml4IGZyb20gTWF0aGlhcyBIYXNzZWxtYW5uIGFib3V0IGEgYnVnIGluIFVSSQorCSAgcGFyc2luZy4KKwkqIHhwYXRoLmM6IGZpeCBidWcgIzYxMjkxIHRoZSBkZWZhdWx0IFhNTCBuYW1lc3BhY2Ugbm9kZSBpcworCSAgbWlzc2luZyBmcm9tIHRoZSBuYW1lc3BhY2UgYXhpcy4KKwkqIHRyZWUuYzogcmVmdXNlIHRvIGNyZWF0ZSBuYW1lc3BhY2VzIG5vZGVzIHdpdGggcHJlZml4ICJ4bWwiCisKK1RodSBPY3QgIDQgMTY6NDc6NDQgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogU0FYLmM6IG91Y2ggYSBub24tZGVmaW5lZCBuYW1lc3BhY2UgY291bGQgbGVhZCB0byBhIGNyYXNoLAorCSAgZml4ZWQgIzYxMjE1CisKK1RodSBPY3QgIDQgMTY6MjQ6MjYgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcGFyc2VySW50ZXJuYWxzLmM6IGNsb3NlZCBidWcgIzYxMDU0CisKK1dlZCBPY3QgIDMgMTU6MTk6MDQgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogaW5jbHVkZS9saWJ4bWwvTWFrZWZpbGUuYW06IGNsb3NpbmcgIzYwNzA4CisKK1R1ZSBPY3QgIDIgMTU6NTI6MDUgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogd2luMzIvZHNwL2xpYnhtbDIuZGVmLnNyYyBpbmNsdWRlL2xpYnhtbC9wYXJzZXIuaCBwYXJzZXIuYzoKKwkgIGFkZGluZyB4bWxTQVhQYXJzZUZpbGVXaXRoRGF0YSBmb2xsb3dpbmcgTWFyY28gU3RpcGVrIHN1Z2dlc3Rpb24KKworVHVlIE9jdCAgMiAxMToyNzo1OCBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB2YWxpZC5jOiBjbG9zZSBidWcgIzYxNTUwIHdoZW4geG1sOiB3YXNuJ3QgY29uc2lkZXJlZCBhIG5hbWVzcGFjZQorCitUdWUgT2N0ICAyIDExOjE4OjMyIENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHdpbjMyL2RzcC9saWJ4bWwyLmRlZi5zcmM6IElnb3IgWmxhdGtvdmljIHBhdGNoZXMKKwkqIERPQ0JwYXJzZXIuYyBIVE1McGFyc2VyLmMgcGFyc2VyLmM6IGZpeGVkIHR5cG9zCisKK01vbiBPY3QgIDEgMDk6MzQ6NTEgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogY2F0YWxvZy5jOiBKdXN0aW4gRmxldGNoZXIgcHJvdmlkZWQgY2xlYXVwIGNvZGUgaW4gY2FzZQorCSAgSEFWRV9TVEFUIGlzIG5vdCBkZWZpbmVkCisJKiBpbmNsdWRlL3dpbjMyY29uZmlnLmg6IElnb3IgWmxhdGtvdmljIHN1Z2dlc3RlZCB0byBoYXZlCisJICBIQVZFX1NUQVQgZGVmaW5lZCB0aGVyZQorCitTYXQgU2VwIDI5IDAwOjE1OjAwIEhLVCAyMDAxIFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorCisJKiBjYXRhbG9nLmMgLSBmaXhlZCB0eXBpbmcgZXJyb3IgcmVwb3J0ZWQgYnkgTS4gQmFycm9zCisKK1N1biBTZXAgMjMgMjE6MDI6MzkgTURUIDIwMDEgSm9obiBGbGVjayA8amZsZWNrQGlua3N0YWluLm5ldD4KKworCSogeG1sbGludC5jIC0gZml4aW5nIHR5cG8KKworU2F0IFNlcCAyMiAxMDowMDowMCBIS1QgMjAwMSBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKworCSogSFRNTHBhcnNlci5jOiBzbWFsbCBlbmhhbmNlbWVudCB0byBwcmV2ZW50IGxvb3Agb24KKwkgIHVucmVjb2duaXphYmxlIGRhdGEKKworRnJpIFNlcCAyMSAxMTo0NTo1MyBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBwYXJzZXJJbnRlcm5hbHMuYzogYXBwbHlpbmcgcGF0Y2ggZnJvbSBidWcgIzYwNzU3IHRoaXMKKwkgIHNob3VsZCBjbG9zZSBpdAorCitUaHUgU2VwIDIwIDE1OjU0OjI5IENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGNhdGFsb2cuYyB4bWxjYXRhbG9nLmM6IHJlbW92ZWQgYSBjb3VwbGUgb2Ygd2FybmluZworCSogeHBhdGguYzogdHJ5IHRvIHNvbHZlIHRoZSBsaW5raW5nIHByb2JsZW0gb24gcGxhdGZvcm1zCisJICBuZWVkaW5nIHRyaW8gdG8gY29tcGlsZQorCitXZWQgU2VwIDE5IDEwOjAxOjM3IENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIE1ha2VmaWxlLmFtIGxpYnhtbC5zcGVjLmluOiBiYWNraW5nIHVwIG5vbi1kb2N1bWVudGVkIGNoYW5nZXMKKwkgIGNvbW1pdGVkIHdpdGhvdXQgcmV2aWV3IG9yIGFwcm92YWwgYnkgSmVucyBGaW5rZSA8amVuc0Bnbm9tZS5vcmc+CisJKiBIQUNLSU5HOiBtYWRlIDEwMCUgY2xlYXIgdGhhdCBubyBjb21taXQgc2hvdWxkIGJlIGRvbmUgZGlyZWN0bHkKKworTW9uIFNlcCAxNyAxODo1MjozNyBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBjb25maWd1cmUuaW46IEpvZSBPcnRvbiBwcm92aWRlZCBhIHBhdGNoIGZpeGluZyBhIHByb2JsZW0KKwkgIHdoZW4gaWNvbnYgaXMgc3BlY2lmaWVkIHRvIGJlIGluIGEgbm9uLXN0YW5kYXJkIGRpcmVjdG9yeQorCSAgYnV0IHdhc24ndCBleHBvcnRlZCBpbiB4bWwyLWNvbmZpZyAtLWNmbGFncworCitGcmkgU2VwIDE0IDE5OjMyOjQzIENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGNvbmZpZ3VyZS5pbjogbGV0J3Mgc2hpcCAyLjQuNSBiZWZvcmUgZ2V0dGluZyB0b28gbXVjaAorCSAgdHJvdWJsZXMgd2l0aCAyLjQuNCBlcnJvcnMuCisKK0ZyaSBTZXAgMTQgMTI6MjY6NTggQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZW5jb2RpbmcuYyBlbnRpdGllcy5jOiBkbyBub3Qgb3V0cHV0IGhleGFkZWNpbWFsIGNoYXJyZWZzCisJICB3aGVuIHNlcmlhbGl6aW5nIEhUTUwgc2luY2Ugc29tZSB2ZXJzaW9uIG9mIE5ldHNjYXBlIGNhbid0CisJICBncm9rIGl0LCBnZW5lcmF0ZSBkZWNpbWFsIG9uZXMuCisJKiByZXN1bHQvSFRNTC9kb2MzLmh0bTogb3V0cHV0IGNoYW5nZWQgZHVlIHRvIHByZXZpb3VzIHRlc3QKKwkqIHBhcnNlckludGVybmFscy5jOiByZXBhaXIgeG1sS2VlcEJsYW5rc0RlZmF1bHQoKSBicm9rZW4gaW4gMi40LjQKKworVGh1IFNlcCAxMyAxMzozNDoyNyBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBsaWJ4bWwtMi4wLnBjLmluOiBkb2hoIGdlbmVyYXRlZCB0aGUgd3JvbmcgaW5jbHVkZSBwYXRoIDotKAorCSogZG9jL01ha2VmaWxlLmFtIGxpYnhtbC5zcGVjLmluOiByZS1kb2hoIGZvcmdvdCB0aGUgbmV3IG1hbnBhZ2UgOi0oCisKK1dlZCBTZXAgMTIgMjI6MTQ6NTUgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKwlSZWxlYXNlZCAyLjQuNAorCisJKiBjb25maWcuaC5pbiBjb25maWd1cmUuaW4gbGlieG1sLnNwZWMuaW4gaW5jbHVkZS9saWJ4bWwvTWFrZWZpbGUuYW0KKwkgIGxpYnhtbC0yLjAucGMuaW46IG1vdmVkIGluY2x1ZGVzIHRvIGluY2x1ZGVkaXIvbGlieG1sMi9saWJ4bWwsCisJICB1cGRhdGVkIHRoZSBjb25maWd1cmF0aW9uIHNjcmlwdHMgc3lzdGVtcyBhY2NvcmRpbmdseQorCitXZWQgU2VwIDEyIDIwOjQ5OjMyIENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGNvbmZpZ3VyZS5pbjogcHJlcGFyaW5nIGZvciAyLjQuNAorCSogZG9jL3htbC5odG1sIGRvYy9odG1sLyo6IHVwZGF0ZWQgYW5kIHJlYnVpbHQgdGhlIGRvY3MKKworV2VkIFNlcCAxMiAxNjo1ODoxNiBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB3aW4zMi9kc3AvbGlieG1sMi5kZWYuc3JjOiB0cmllZCB0byBpbmNvcnBvcmF0ZSBjb21tZW50cworCSAgZnJvbSBidWcgIzU5MjIwCisKK1R1ZSBTZXAgMTEgMTE6MjU6MzYgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcGFyc2VyLmMgcmVzdWx0L25vZW50L3dtbC54bWw6IGZpeGVkIGJ1ZyAjNTk5ODEgcmVsYXRlZAorCSAgdG8gaGFuZGxpbmcgb2YgJyYnIGluIGF0dHJpYnV0ZXMgd2hlbiBlbnRpdGllcyBhcmUgc3Vic3RpdHVlZAorCitNb24gU2VwIDEwIDIyOjE0OjQyIENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGxpYnhtbC5oIGluY2x1ZGUvbGlieG1sL3htbHZlcnNpb24uaC5pbgorCSAgaW5jbHVkZS9saWJ4bWwveG1sd2luMzJ2ZXJzaW9uLmggaW5jbHVkZS9saWJ4bWwveG1sd2luMzJ2ZXJzaW9uLmguaW46CisJICBUcmllZCB0byBjbG9zZSBidWcgIzYwMTMxCisKK01vbiBTZXAgMTAgMjA6NDY6MDMgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogU0FYLmM6IGZpeGVkIGEgYnVnIGluIHRoZSBIVE1MIHBhcnNlciBpbnRyb2R1Y2VkIFNlcCAgOQorCitNb24gU2VwIDEwIDIwOjEzOjA5IENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIFNBWC5jOiBmaXhpbmcgYnVnICM1OTk0NiBvbiB4bWxucz0iIgorCitNb24gU2VwIDEwIDE2OjM5OjQyIENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGluY2x1ZGUvbGlieG1sL3htbGVycm9yLmggU0FYLmM6IGZpeGluZyBidWcgNTk3MzIsIHNpbXBsZQorCSAgYnV0IGFsbG9jYXRlcyBhIG5ldyBlcnJvciBjb2RlLgorCitTdW4gU2VwICA5IDEwOjMzOjE1IENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbGxpbnQuYzogSm9obiBGbGVjayBmaXhlZCB0eXBvcyBpbiB0aGUgb3B0aW9ucyBvdXRwdXQKKwkqIHBhcnNlci5jIFNBWC5jOiBmaXggaWdub3JhYmxlIHdoaXRlIHNwYWNlIFNBWCBzZWxlY3Rpb24KKworU2F0IFNlcCAgOCAxMTo0Mzo1MyBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBlbnRpdGllcy5jOiBTdGV2ZSBVbmRlcndvb2QgZm91bmQgdGhlIHBvc3NpYmlsaXR5IG9mIGFuCisJICBpbmluaXRlIGxvb3AgaW4gY2FzZSBvZiBlcnJvci4KKworRnJpIFNlcCAgNyAxMTozNTowMCBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBNYWtlZmlsZS5hbTogTmVlZCAkKElDT05WX0xJQlMpIGluIGxpYnhtbDJfbGFfTElCQURECisKK1dlZCBTZXAgIDUgMTc6NDc6NDMgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogcGFyc2VyLmM6IHdhcm4gaWYgdmVyc2lvbiBpcyBub3QgMS4wIGJ1dCBpdCdzIG5vdAorCSAgc3RyaWN0bHkgc3BlYWtpbmcgYW4gZXJyb3IgYWZ0ZXIgYW5hbHl6aW5nIHRoZSBzcGVjCisKK01vbiBTZXAgIDMgMTA6MDc6MDMgTURUIDIwMDEgSm9obiBGbGVjayA8amZsZWNrQGlua3N0YWluLm5ldD4KKworCSpkb2MvY2F0YWxvZy5odG1sIC0gYWRkIGxpbmsgdG8gdGhlIGh0bWwgdmVyc2lvbiBvZiB0aGUKKwltYW4gcGFnZSwgb3RoZXIgbGluZ3Vpc3RpYyBjbGVhbnVwcworCitNb24gU2VwICAzIDA5OjEwOjA4IE1EVCAyMDAxIEpvaG4gRmxlY2sgPGpmbGVja0BpbmtzdGFpbi5uZXQ+CisKKwkqIGRvYy94bWxjYXRhbG9nX21hbi54bWwsIHhtbGNhdGFsb2dfbWFuLmh0bWwsIHhtbGNhdGFsb2cuMQorCWFkZGluZyBkb2N1bWVudGF0aW9uIGZvciB4bWxjYXRhbG9nLiBOb3RlOiB4bWxjYXRhbG9nLjEsIHRoZSBtYW4KKwlmaWxlLCBoYXMgbm90IHlldCBiZWVuIGluY2x1ZGVkIGluIHRoZSBidWlsZC4KKworU2F0IFNlcCAgMSAxODoxNzo0NyBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBjYXRhbG9nLmM6IHJlbW92ZWQgYSBkdXBsaWNhdGUgYWZmZWN0YXRpb24gSnVzdGluIEZsZXRjaGVyCisKK0ZyaSBBdWcgMzEgMjI6MDI6MTAgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogdHJlZS5jOiBBcm1pbiBTYW5kZXIgcG9pbnRlZCBhIHBvc3NpYmxlIHRleHQgY29hbGVzY2luZyAKKwkgIHByb2JsZW0sIGNvbXBsZXRlZCBoaXMgcGF0Y2guCisKK0ZyaSBBdWcgMzEgMTg6MzA6MjggQ0VTVCAyMDAxIEJqb3JuIFJlZXNlIDxicmVlc2VAdXNlcnMuc291cmNlZm9yZ2UubmV0PgorCisJKiB0cmlvbmFuLmM6IEZpeGVkIGNvbnN0IGFuZCB2b2xhdGlsZSByZS1kZWZpbml0aW9uIHByb2JsZW0KKworRnJpIEF1ZyAzMSAxNjo1MToyOCBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBsaWJ4bWwuNCBwYXJzZXIuYzogZG9jIHVwZGF0ZXMgZnJvbSBIZWlrbyBSdXBwCisJKiBwYXJzZXJJbnRlcm5hbHMuYzogMiBzYW5pdHkgY2hlY2tzIGZyb20gSGVpa28gUnVwcAorCitUdWUgQXVnIDI4IDIyOjM4OjQ1IENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHRyZWUuYzogYXBwbGllZCBwYXRjaCBmcm9tIEFybWluIFNhbmRlciB0byBtYWtlIHNvbWUgcG9pbnRlcnMKKwkgIGNvbnN0IGluIHhtbENvcHlOb2RlKCkKKwkqIGluY2x1ZGUvbGlieG1sL3RyZWUuaDogYWRkZWQgZml4IHRvIHRoZSBoZWFkZXIKKworTW9uIEF1ZyAyNyAxNjoyNDo0NyBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4cGF0aC5jOiBodW0sIHJlc3RyaWN0IHRoZSBpbnRlZ2VyIHVzYWdlIGdjYyBidWcgd29ya2Fyb3VuZAorCSAgdG8gb25seSBnY2MgY29tcGlsZXJzIHNvIHRoYXQgb3RoZXIgYXJjaGl0ZWN0dXJlIGRvbid0IGdldAorCSAgcGVuYWxpemVkIGJ5IHRoaXMgbGltaXRhdGlvbi4KKwkqIGluY2x1ZGUvbGlieG1sL3hwYXRoLmg6IHNtYWxsIHR5cG8gZml4IGZyb20gSGVpa28gVy4gUnVwcAorCitTdW4gQXVnIDI2IDIwOjQ1OjA0IENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHZhbGlkLmM6IGZpeGVkIGEgV2luZG93cyBjb21waWxlciB3YXJuaW5nIChDaHJpcyBQb2JsZXRlKQorCSogeHBhdGguYzogZml4IGZvciBtb2Qgd2hlbiBkaXZpZGVuZCBpcyAwIChDaHJpcyBQb2JsZXRlKQorCitTYXQgQXVnIDI1IDE1OjMwOjE3IENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGluY2x1ZGUvbGlieG1sL2NhdGFsb2cuaCBjYXRhbG9nLmMgeG1sY2F0YWxvZy5jOiBhZGRlZCBhIAorCSAgLS1jb252ZXJ0IG9wdGlvbiB0byB4bWxjYXRhbG9nIHRvIGNvbnZlcnQgU0dNTCBvbmVzIHRvCisJICB0aGUgWE1MIHN5bnRheC4KKwkqIHhtbGxpbnQuYzogc21hbGwgY2xlYW51cCBmb3IgJFNHTUxfQ0FUQUxPR19GSUxFUyBzdXBwb3J0LgorCisJMi40LjMgZ290IHJlbGVhc2VkIGF0IHRoYXQgcG9pbnQKK1RodSBBdWcgMjMgMjM6MTY6MzIgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogY2F0YWxvZy5jIHhtbElPLmM6IHN0YXJ0ZWQgc29tZSBzZXJpb3VzIHRlc3RpbmcgYW5kIGZpeGVkCisJICBhIGZldyBidWcgYW5kIG9wdG1pemF0aW9uIG5lZWRzLgorCitUaHUgQXVnIDIzIDE3OjI2OjU4IENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIE1ha2VmaWxlLmFtIGNvbmZpZ3VyZS5pbiBpbmNsdWRlL2xpYnhtbC94bWx3aW4zMnZlcnNpb24uaDoKKwkgIHByZXBhcmluZyBmb3IgYSAyLjQuMyByZWxlYXNlIGV2ZW4gaWYgaXQgbWF5IG5vdCBiZSByZWFkeSB5ZXQKKwkqIGNhdGFsb2cuYyBwYXJzZXIuYyB4bWxJTy5jIGluY2x1ZGUvbGlieG1sL2NhdGFsb2cuaDogcmVkaXJlY3RlZAorCSAgYWxsIGZpbGUgcGFyc2luZyBsb29rdXAgdG8gZ28gdGhyb3VnaCB0aGUgZW50aXR5IHJlc29sdmVyLCBhZGQKKwkgIHRvIGFkZCBhbiBBUEkgdG8gYnlwYXNzIGl0IChuZWVkZWQgdG8gbG9hZCBjYXRhbG9ncyB0aGVtc2VsdmVzKSwKKwkgIHNvbWUgY2xlYW51cCBvbiB0aGUgY2F0YWxvZyBjb2RlIHRvby4KKwkqIG5hbm9mdHAuYzogc21hbGwgY2xlYW51cAorCSogZG9jL2NhdGFsb2cuaHRtbDogc21hbGwgdXBkYXRlCisKK1RodSBBdWcgMjMgMTI6MjI6MjYgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogY2F0YWxvZy5jOiBmaXhlZCBidWdpICM1OTQwNiBpbiBTR01MIGNhdGFsb2cgcGFyc2luZyByZXBvcnRlZCBieQorCSAgSnVuIEt1cml5YW1hCisKK1RodSBBdWcgMjMgMDI6NTE6MjkgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogZG9jL2NhdGFsb2cuaHRtbDogZmluaXNoZWQgdGhlIGNhdGFsb2cgZG9jdW1lbnRhdGlvbgorCitUaHUgQXVnIDIzIDAxOjM4OjQyIENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGRvYy9jYXRhbG9nLmh0bWwgZG9jL3htbC5odG1sOiBhZGRlZCBkb2N1bWVudGF0aW9uIGFib3V0CisJICBDYXRhbG9nIHN1cHBvcnQsIG1pc3NlcyBhbiBBUEkgZGVzY3JpcHRpb24gCisJKiBkb2MvaHRtbC8qOiByZWV4dHJhY3RlZCB0aGUgQVBJIHBhZ2VzCisKK1dlZCBBdWcgMjIgMTg6Mjc6NDcgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogaW5jbHVkZS9saWJ4bWwvY2F0YWxvZy5oIGNhdGFsb2cuYyB4bWxJTy5jIEhUTUxwYXJzZXIuYzoKKwkgIEFkZGVkIHRoZSBwYXJ0IGFib3V0IHNlY3Rpb24gNy4yIG9uIFVSSSByZXNvbHV0aW9uLAorCSAgZml4ZWQgYSBzaWRlIGVmZmVjdCBpbiB0aGUgSFRNTCBwYXJzZXIsIGxvb2sgY29tcGxldGUKKwkgIGFuZCByZWFkeSB0byByb2NrIGV4Y2VwdCB0aGUgVVJJL1N5c3RlbUlEIHBhcnQhCisKK1dlZCBBdWcgMjIgMTY6Mjc6MDMgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogaW5jbHVkZS9saWJ4bWwvY2F0YWxvZy5oIGluY2x1ZGUvbGlieG1sL3BhcnNlci5oCisJICBpbmNsdWRlL2xpYnhtbC94bWxlcnJvci5oIGNhdGFsb2cuYyBwYXJzZXIuYyBwYXJzZXJJbnRlcm5hbHMuYworCSAgeG1sSU8uYzogYWRkZWQgc3VwcG9ydCBhbmQgQVBJcyBuZWVkZWQgZm9yIHRoZSBjYXRhbG9nIFBJCisJKiBpbmNsdWRlL2xpYnhtbC94bWxJTy5oOiBjbGVhbnVwCisKK1dlZCBBdWcgMjIgMDI6MDM6MzEgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogY2F0YWxvZy5jIHBhcnNlci5jIHhtbElPLmMgeG1sY2F0YWxvZy5jIHhtbGxpbnQuYyAKKwkgIGluY2x1ZGUvbGlieG1sL2NhdGFsb2cuaDogc3RhcnRzIHRvIGxvb2sgb2theSwgcmVhbGx5CisJICBwbHVnZ2VkIHRoZSBuZXcgZnJhbWV3b3JrLCBjbGVhbmVkIGEgbG90IG9mIHN0dWZmLAorCSAgYWRkZWQgc29tZSBBUElzLCBleGNlcHQgdGhlIFBJJ3Mgc3VwcG9ydCBtaXNzaW5nIHRoaXMKKwkgIHNob3VsZCBiZSBtb3N0bHkgY29tcGxldGUKKwkqIHJlc3VsdC9jYXRhbG9ncy8qIHRlc3QvY2F0YWxvZ3MvKjogYWRkZWQgbmV3IHRlc3QsIGVucmljaGVkCisJICB0aGUgZXhpc3Rpbmcgb25lIHdpdGggVVJOIElEIHRlc3RzCisKK1R1ZSBBdWcgMjEgMTQ6NTY6MTggQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogY2F0YWxvZy5jOiBmaXhlZCBuZXh0Q2F0YWxvZworCSogcmVzdWx0L2NhdGFsb2dzL2RvY2Jvb2sgdGVzdC9jYXRhbG9ncy8qOiBzdGFydGVkIGFkZGluZworCSAgYSBzbWFsbCByZWdyZXNzaW9uIHRlc3QKKworVHVlIEF1ZyAyMSAxMjo1MjozOCBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBNYWtlZmlsZS5hbSBjYXRhbG9nLmMgeG1sY2F0YWxvZy5jIGluY2x1ZGUvbGlieG1sL2NhdGFsb2cuaDoKKwkgIG1vcmUgd29yayBvbiB0aGUgWE1MIGNhdGFsb2cgc3VwcG9ydC4KKwkqIHBhcnNlci5jIGluY2x1ZGUvbGlieG1sL3BhcnNlci5oOiBzbWFsbCBjbGVhbnVwIHNlZW1zIHVzaW5nCisJICBsaXN0IGFzIGEgcHVibGljIHBhcmFtZXRlciBuYW1lIGNhbiBnaXZlIHBvcnRhYmlsaXR5IHRyb3VibGVzCisJKiB0cmlvbmFuLmMgdHJpb25hbi5oIHhwYXRoLmMgaW5jbHVkZS9saWJ4bWwvdHJpb25hbi5oCisJICBpbmNsdWRlL2xpYnhtbC94cGF0aC5oIGluY2x1ZGUvbGlieG1sL01ha2VmaWxlLmFtOiByZW1vdmVkCisJICB0cmlvbmFuIGZyb20gdGhlIGxpYnhtbCBBUEksIGFkZGVkIHhtbFhQYXRoSXNJbmYgYW5kIHhtbFhQYXRoSXNOYU4KKwkgIHdyYXBwZXJzCisKK1R1ZSBBdWcgMjEgMTE6MTg6NDUgQ0VTVCAyMDAxIEJqb3JuIFJlZXNlIDxicmVlc2VAdXNlcnMuc291cmNlZm9yZ2UubmV0PgorCisJKiBNYWtlZmlsZS5hbSB0cmlvLmMgdHJpb2RlZi5oIHRyaW9uYW4uYyB4cGF0aC5jCisJICBpbmNsdWRlL2xpYnhtbC9NYWtlZmlsZS5hbSBpbmNsdWRlL2xpYnhtbC90cmlvbmFuLmg6CisJICBSZS13b3JrZWQgTm90LUEtTnVtYmVyIGFuZCBJbmZpbml0eSBzdXBwb3J0LgorCSogeG1sY2F0YWxvZy5jOiBhZGRlZCByZWFkbGluZSBpbmNsdWRlIGZpbGVzCisKK01vbiBBdWcgMjAgMDI6MDQ6MTMgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogTWFrZWZpbGUuYW0geG1sY2F0YWxvZy5jIGxpYnhtbC5zcGVjLmluOiByZW5hbWluZyAKKwkgIHRlc3RDYXRhbG9nIGFzIHhtbGNhdGFsb2csIG1ha2luZyBpdCBhbiBpbnN0YWxsZWQgYXBwCisJICBhZGRpbmcgYSBzaGVsbCwgYW5kIHByZXBhcmluZyBpdCB0byBiZSBhIC9ldGMveG1sL2NhdGFsb2cKKwkgIG1hbmFnZW1lbnQgdG9vbCwgdGhvdWdoIG5vdCByZWFkeSB5ZXQKKwkqIGNhdGFsb2cuYyBpbmNsdWRlL2xpYnhtbC9jYXRhbG9nLmg6IGFkZGluZyBzdXBwb3J0IGZvcgorCSAgWE1MIENhdGFsb2dzIGh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvY29tbWl0dGVlcy9lbnRpdHkvCisJICBub3QgZmluaXNoZWQsIHRoZXJlIGlzIHNvbWUgaW50ZXJlc3RpbmcgdHJhZGVvZmZzIGFuZCBhCisJICBmZXcgb3BlbiBxdWVzdGlvbnMgbGVmdC4KKworU3VuIEF1ZyAxOSAxNDo1OTo1NiBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB4bWxsaW50LmM6IGZpeGVkIGEgbGluZSBmb3JtYXR0aW5nIHByb2JsZW0KKworRnJpIEF1ZyAxNyAxMTozNTozMSBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBTQVguYzogcmVtb3ZlZCBhIGNvdXBsZSBvZiB1bnVzZWQgdmFyaWFibGUgKEFsYmVydCBDaGluKQorCitGcmkgQXVnIDE3IDAxOjI1OjIxIENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIEhUTUxwYXJzZXIuYyBIVE1MdHJlZS5jIGluY2x1ZGUvbGlieG1sL0hUTUxwYXJzZXIuaDoKKwkgIHRyeWluZyB0byBmaXggc29tZSB0cm91YmxlcyB3LnIudC4gZnVuY3Rpb24gcmV0dXJuaW5nCisJICBjb25zdCB4eHhQdHIuCisKK1RodSBBdWcgMTYgMjE6MzM6MjAgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogd2luMzIvZHNwL2xpYnhtbDIuZGVmLnNyYzogYW5vdGhlciBzZXQgb2Ygc3ltYm9scyBjb25kaXRpb25hbGx5CisJICBkZWZpbmVkCisKK1RodSBBdWcgMTYgMjE6MzE6MTQgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeHBvaW50ZXIuYzogcmVtb3ZlZCB1bnVzZWQgdmFyCisKK1RodSBBdWcgMTYgMTg6MjY6NDAgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogdGVzdFhQYXRoLmM6IGFub3RoZXIgc21hbGwgY2xlYW51cCBjbG9zaW5nIGJ1ZyAjNTkxMTAKKworVGh1IEF1ZyAxNiAxNzo1OToxOCBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiB3aW4zMi9kc3AvbGlieG1sMi5kZWYuc3JjOiBzbWFsbCBjbGVhbnVwIGNsb3NpbmcgYnVnCisJICAjNTkxMDgKKworV2VkIEF1ZyAxNSAyMjo0NjowMSBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBleGFtcGxlL2dqb2JyZWFkLmM6IGFkZCB4bWxDbGVhbnVwUGFyc2VyKCkgYmVmb3JlIGxlYXZpbmcKKworV2VkIEF1ZyAxNSAxNDo1NzowOCBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBjb25maWcuaC5pbiBjb25maWd1cmUuaW4gaW5jbHVkZS9saWJ4bWwveG1sd2luMzJ2ZXJzaW9uLmg6CisJICByZWxlYXNlZCAyLjQuMgorCitXZWQgQXVnIDE1IDEzOjU2OjIyIENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIGluY2x1ZGUvbGlieG1sL3ZhbGlkLmggZGVidWdYTUwuYyB2YWxpZC5jOiBkZXByZWNhdGUKKwkgIHRoZSBub24tYm91bmRjaGVja2luZyBTcHJpbnRmIGZ1bmN0aW9ucywgYWRkIFNucHJpbnRmCisJICB0aGlzIHNob3VsZCBjbG9zZSBidWcgIzU3OTg0CisKK1dlZCBBdWcgMTUgMTA6NDY6MDcgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeG1sSU8uYzogeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWUoKSBkaWRuJ3QgdW5lc2NhcGVkCisJICBVUklzIGJlZm9yZSBkb2luZyB0aGUgbG9va3VwcyAocG9pbnRlZCBieSBNYXJrIFZha29jKQorCitUdWUgQXVnIDE0IDE4OjM3OjIzIENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhwYXRoLmM6IHNlcmlvdXMgY2hhbmdlcyBvbiBSZXN1bHQgVmFsdWUgVHJlZXMgYW5kIE5vZGVTZXRzCisJICB3LnIudC4gZGVhbGxvY2F0aW9uIGFuZCBjb2xsZWN0IG9wZXJhdGlvbnMuIFByb2JhYmx5IG5vdAorCSAgMTAwJSBjbGVhbiAobWVyZ2Ugb2YgYWxsb2NhdGVkIHRyZWVzIHNtZWxscyBsaWtlIGEgcHJvYmxlbSkuCisJICBTZWVtcyBzdWZmaWNpZW50IHRvIGNsb3NlICM1ODk0MworCitUdWUgQXVnIDE0IDE2OjEyOjAwIENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIHhtbGxpbnQuYzogYWRkaW5nIGEgLS1mb3JtYXQgb3B0aW9uCisKK1R1ZSBBdWcgMTQgMTQ6MTY6MjQgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeHBhdGguYzogY291bnQoKSB3YXMgYnJva2VuIG9uIFJlc3VsdCBWYWx1ZSBUcmVlCisJKiB4bWxJTy5jOiBmaXhlZCBmaWxlOi8vLyBhY2Nlc3NlcyBvbiBfV0lOMzIKKworTW9uIEF1ZyAxMyAxMzoyMjo1MyBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorCisJKiBsaWJ4bWwubTQ6IHMvTElCWE1MX1ZFUlNJT05fTlVNQkVSL0xJQlhNTF9WRVJTSU9OLyBzZWVtcyB0aGUKKwkgIG1hY3JvIHdhcyByZW5hbWVkLCB0aGlzIHNob3VsZCBjbG9zZSBidWcgIzU4NjgzCisKK01vbiBBdWcgMTMgMTI6MzM6NDAgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogU0FYLmM6IHNtYWxsIGZpeCBmaXhpbmcgYnVnICM1ODUzOSByZXBvcnRlZCBieSBjb29sbywgaW4KKwkgIGVudGl0eSBzdWJzdGl0dXRpb24gbW9kZSB0ZXh0IGF0IHRoZSBlbmQgb2YgdGhlIGVudGl0eSBtaWdodAorCSAgYmUgYWRkZWQgZHVlIHRvIHRleHQgY29hbGVzY2luZy4KKwkqIG5hbm9mdHAuYyBwYXJzZXIuYzogc21hbGwgY2xlYW51cAorCitXZWQgQXVnICA4IDIyOjU3OjA1IENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIEhBQ0tJTkc6IGFkZGVkIEpvaG4gRmxlY2sgcmlnaHQgdG8gY29tbWl0IGluIHRoZSBkb2Mgc3ViZGlyCisKK1R1ZSBBdWcgIDcgMDM6MDU6NTggQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogU0FYLmMgdGVzdFhQYXRoLmMgdmFsaWQuYyB4bWxsaW50LmMgaW5jbHVkZS9saWJ4bWwvdmFsaWQuaDoKKwkgIGFsbG93IHRvIGluaGVyaXQgYXR0cmlidXRlcyBmcm9tIHRoZSBEVEQgZGlyZWN0bHkgaW4gdGhlCisJICB0cmVlLCB0aGlzIGlzIG5lZWRlZCBmb3IgWFBhdGggYW5kIGNhbiBiZSBhIHVzZWZ1bCBmZWF0dXJlLgorCSAgSW5oZXJpdGVkIG5hbWVzcGFjZXMgYXJlIGFsd2F5cyBwcm92aWRlZCBhdCB0aGUgdHJlZSBsZXZlbCBub3cKKwkqIHRlc3QvZGVmYXR0ciogcmVzdWx0L2RlZmF0dHIqIHJlc3VsdC9ub2VudC9kZWZhdHRyKjogYWRkZWQgYSBjb3VwbGUKKwkgIG9mIHRlc3RzIGZvciB0aGlzIGZlYXR1cmUgKFhTTFQgYmVpbmcgdGhlIHByaW1lIHVzZXIpLgorCitGcmkgQXVnICAzIDE0OjAyOjIwIENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIERPQ0JwYXJzZXIuYyBNYWtlZmlsZS5hbSBuYW5vaHR0cC5jIHBhcnNlci5jIHRlc3RIVE1MLmMKKwkgIHRlc3RTQVguYyB4bWxJTy5jIHhtbGxpbnQuYyBpbmNsdWRlL3dpbjMyY29uZmlnLmgKKwkgIGluY2x1ZGUvbGlieG1sL3htbHZlcnNpb24uaC5pbiBpbmNsdWRlL2xpYnhtbC94bWx3aW4zMnZlcnNpb24uaAorCSAgaW5jbHVkZS9saWJ4bWwveG1sd2luMzJ2ZXJzaW9uLmguaW4gd2luMzIvUkVBRE1FLk1TRGV2CisJICB3aW4zMi9kc3AvKjogYXBwbGllZCBXaW4zMiBGYWNlbGlmdCBOby4yIHBhdGNoZXMgZnJvbSAKKwkgIElnb3IgWmxhdGtvdmljIGZvciBXaW5kb3dzL01TQworCitXZWQgQXVnICAxIDIzOjIxOjA2IENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisKKwkqIFNBWC5jOiB1bnBhcnNlZEVudGl0eURlY2woKSB0aGUgVVJJIGNvbXB1dGF0aW9uIG9mIHRoZQorCSAgZW50aXR5IHdhc24ndCBkb25lIGJyZWFraW5nIFhTTFQgdW5wYXJzZWQtZW50aXR5LXVyaSgpCisKK1dlZCBBdWcgIDEgMTc6NDQ6NTcgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKworCSogeHBhdGguYzogZml4ZWQgYSBidWcgd2hlbiB3YWxraW5nIHRoZSBkZXNjZW5kYW50cyBhbmQKKwkgIHRoZSBjdXJyZW50IG5vZGUgaGFzIG5vIGNoaWxkcmVuCisJKiBkZWJ1Z1hNTC5jOiBzaG93IHVwIHdoZW4gYSB0ZXh0IG5vZGUgaXMgc3VwcG9zZWQgdG8gbm90IGJlIGVzY2FwZWQKKworV2VkIEF1ZyAgMSAwMTozMzozNSBDRVNUIDIwMDEgVGhvbWFzIEJyb3llciA8dGJyb3llckBsdGd0Lm5ldD4KKworCSogeHBhdGguYzogZml4ZWQgYSBidWcgaW4geG1sWFBhdGhOb2RlVHJhaWxpbmdTb3J0ZWQgKGZvciBub3cgaXQKKwkgIHdvcmtlZCBsaWtlIHRoZSBzZXQ6bGVhZGluZygpIGZ1bmN0aW9uKQorCSogaW5jbHVkZS9saWJ4bWwveHBhdGhJbnRlcm5hbHMuaDogYWRkZWQgeG1sWFBhdGhOb2RlU2V0Q29udGFpbnMKKworVHVlIEp1bCAzMSAxODoyNDozNCBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogbmFub2h0dHAuYzogcHJvdGVjdGVkIGFuIHVzZSBvZiBFQUdBSU4sIEJyaWFuIFN0YWZmb3JkCisKK1R1ZSBKdWwgMzEgMTc6NDg6NDQgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIGluY2x1ZGUvbGlieG1sL3htbElPLmg6IGFwcGx5IGNoYW5nZSB0byBjbG9zZSAjNTgxNDEgCisJKiB3aW4zMi9saWJ4bWwyLyo6IHVwZGF0ZSBvZiB0aGUgTVNDIHByb2plY3RzIGZyb20gSWdvciAgWmxhdGtvdmljCisKK1R1ZSBKdWwgMzEgMTc6MDk6MzEgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIHBhcnNlci5jOiB3aGVuIHRoZSBpbnRlcm5hbCBzdWJzZXQgdXNlcyBhIFBFLCB0aGVuIHRoZQorCSAgaW5jbHVkZWQgZW50aXR5IGNhbiB1c2UgY29uZGl0aW9uYWwgc2VjdGlvbnMuCisKK01vbiBKdWwgMzAgMTI6NTg6MzkgRURUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogeHBhdGguYyBpbmNsdWRlL2xpYnhtbC94cGF0aC5oOiBmaXhlZCBhIHNlcmlvdXMgbWVtb3J5IHByb2JsZW4KKwkgIHdoZW4gd2Fsa2luZyB0aGUgbmFtZXNwYWNlIGF4aXMgc2hvd2luZyB1cCBpbgorCSAgbGlieHN0L3Rlc3RzL2dlbmVyYWwvYnVnLTEyCisJKiB4bWxtZW1vcnkuYzogYWRkZWQgdGhlIHBvc3NpYmlsaXR5IHRvIHRyYWNlIGEgZ2l2ZW4gYmxvY2sKKwkgIGRlZmluZWQgYnkgaXRzIGFkZHJlc3MKKworU3VuIEp1bCAyOSAwNzoxODo1MyBFRFQgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiBwYXJzZXIuYzogZG9uJ3Qgb3ZlcnJpZGUgZXhpc3RpbmcgZW5jb2Rpbmcgc3BlY2lmaWVkIGJlZm9yZQorCSAgc3RhcnRpbmcgeG1sUGFyc2VEb2N1bWVudCgpCisKK1NhdCBKdWwgMjggMTM6MzM6MTAgRURUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogaW5jbHVkZS9saWJ4bWwveG1sd2luMzJ2ZXJzaW9uLmg6IHJlaW5zZXJ0ZWQsIG5lZWRlZCBmb3IKKwkgIFdpbmRvd3MgdXNlcnMgb2YgQ1ZTCisKKzIwMDEtMDctMjcgIERhcmluIEFkbGVyICA8ZGFyaW5AYmVudHNwb29uLmNvbT4KKworCSogZW5jb2RpbmcuYzogKHhtbEljb252V3JhcHBlcik6IEFkZCBjYXN0IHRvIGZpeCB3YXJuaW5nLgorCSogdGVzdENhdGFsb2cuYzogQWRkIGluY2x1ZGUgb2YgPGxpYnhtbC9wYXJzZXIuaD4uCisKKzIwMDEtMDctMjcgIERhcmluIEFkbGVyICA8ZGFyaW5AYmVudHNwb29uLmNvbT4KKworCSogaW5jbHVkZS9saWJ4bWwvLmN2c2lnbm9yZToKKwkqIGluY2x1ZGUvbGlieG1sL3htbHdpbjMydmVyc2lvbi5oOgorCVJlbW92ZSB0aGlzIGZpbGUgZnJvbSBDVlMgYmVjYXVzZSBpdCdzIGdlbmVyYXRlZC4KKworRnJpIEp1bCAyNyAxMDowMzo1NiBFRFQgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiBwYXJzZXIuYyBpbmNsdWRlL2xpYnhtbC9wYXJzZXIuaDogYXBwbGllZCBjb25zdCBwYXRjaGVzIGZyb20KKwkgIFRvbSBNb29nICM1ODAwMgorCitUaHUgSnVsIDI2IDE4OjU1OjUyIENFU1QgMjAwMSBUaG9tYXMgQnJveWVyIDx0YnJveWVyQGx0Z3QubmV0PgorCisJKiB4cGF0aC5jIGluY2x1ZGUvbGlieG1sL3hwYXRoeyxJbnRlcm5hbHN9Lmg6IGFkZGVkIGEgZnVuY3Rpb24KKwkgIGxvb2t1cCBmcmFtZXdvcmsKKworRnJpIEp1bCAyNyAwMTo1MDoyMCBFRFQgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiB0cmVlLmM6IGZpeGVkIHhtbENvcHlOb2RlKCkgZm9yIGRvY3VtZW50cworCitUaHUgSnVsIDI2IDEyOjQwOjM1IEVEVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIHBhcnNlci5jOiBmaXhlZCBidWdzICM1ODA3MyByZXBvcnRlZCBieSBHcmVnIFNodGlsbWFuCisKK1RodSBKdWwgMjYgMTE6Mzg6MzcgRURUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogcGFyc2VyLmM6IGZpeGVzIGJ1ZyAjNTc2NTIgcmVwb3J0ZWQgYnkgTW9ydXMgV2FsdGVyCisKK1RodSBKdWwgMjYgMTA6MjQ6MzQgRURUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogbmFub2h0dHAuYzogSm9obiBLcm9sbCBwcm92aWRlZCBhIHNtYWxsIGZpeCB0byB4bWxOYW5vSFRUUFNhdmUKKworVGh1IEp1bCAyNiAwNzoxNjowNCBFRFQgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiBwYXJzZXIuYyBwYXJzZXJJbnRlcm5hbHMuYzogZml4ZWQgdGhlIHhtbExpbmVOdW1iZXJzRGVmYXVsdCgpCisJICBlcnJvcnMsIGxlc3NvbiBkb24ndCBhZGQgbmV3IGZ1bmN0aW9ucyBhdCAxYW0gYmVmb3JlIGEgcmVsZWFzZQorCSogeHBhdGguYzogaW50ZWdyYXRlZCBmaXggZnJvbSBCam9ybiB0byBhdm9pZCBkaXZpZGUgYnkgemVybworCSAgZnJvbSBYUGF0aCBpbml0aWFsaXphdGlvbiB3aGVuIHBvc3NpYmxlLgorCitUdWUgSnVsIDI0IDE1OjM5OjExIENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiByZXN1bHQvc2NyaXB0cy9iYXNlKjogcmVtb3ZpbmcgaGlzdG9yeS9yZWFkbGluZSBjaGFuZ2VkCisJICB0aGlzIHNsaWdodGx5CisJKiBpbmNsdWRlL2xpYnhtbC9wYXJzZXIuaCBTQVguYyBwYXJzZXIuYyBwYXJzZXJJbnRlcm5hbHMuYworCSAgeG1sbGludC5jOiBtYWtlIGVsZW1lbnQgY29udGVudCBsaW5lIG51bWJlciBnZW5lcmF0aW9uCisJICBvcHRpb25uYWwgdG8gYXZvaWQgYnJlYWtpbmcgb2xkIGFwcHMgYWRkZWQgaW50ZXJmYWNlIHRvIHN3aXRjaAorCitUdWUgSnVsIDI0IDE1OjA2OjU4IENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiBjb25maWd1cmUuaW46IGdldCByaWQgb2YgdGhlIHJlYWRsaW5lIGFuZCBsaWJoaXN0b3J5CisJICBkZXBlbmRlbmNpZXMgYnkgZGVmYXVsdCwgcmVsZWFzZSAyLjQuMSB3aXRoIElBNjQgZml4CisJKiBuYW5vaHR0cC5jIHRyZWUuYyB4bWxJTy5jIGluY2x1ZGUvbGlieG1sL25hbm9odHRwLmgKKwkgIGluY2x1ZGUvbGlieG1sL3RyZWUuaCBpbmNsdWRlL2xpYnhtbC94bWxJTy5oOiBpbmNvcnBvcmF0ZWQKKwkgIEpvaG4gS3JvbGwgZml4ZXMgdG8gYWxsb3cgc2F2aW5nIHRvIEhUVFAgdmlhIFBVVCAob3IKKwkgIFBPU1Qgb2YgbmVlZGVkKS4KKwkqIGRvYy9odG1sLyouaHRtbDogcmVnZW5lcmF0ZWQgdGhlIGRvY3MKKworU3VuIEp1bCAyMiAwNTo1NjoxNiBDRVNUIDIwMDEgVGhvbWFzIEJyb3llciA8dGJyb3llckBsdGd0Lm5ldD4KKworCSogaGFzaC5jIGluY2x1ZGUvbGlieG1sL2hhc2guaDogYWRkZWQgeG1sSGFzaFNjYW5uZXJGdWxsLAorCSAgeG1sSGFzaFNjYW5GdWxsIGFuZCB4bWxIYXNoU2Nhbm5GdWxsMyB0byBnZXQgcGFzc2VkIHRoZQorCSAgdGhyZWUga2V5cyBhcyBhcmd1bWVudHMgdG8gdGhlIGNhbGxiYWNrIGZ1bmN0aW9uCisKK1RodSBKdWwgMTkgMTU6Mjk6MjYgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIGNvbmZpZ3VyZS5pbiBNYWtlZmlsZS5hbTogcmVtb3ZlZCBsaWJ4bWwgc29mdGxpbmsgZm9yIGdvb2QKKwkqIGluY2x1ZGUvbGlieG1sLyouaCAqLmMgZG9jL01ha2VmaWxlLmFtOiBjbGVhbnVwIHRvIGdldAorCSAgMTAwJSBjb3ZlcmFnZSBieSBndGstZG9jCisKK1R1ZSBKdWwgMTcgMTc6MzY6NDYgRURUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogeG1sbWVtb3J5LmMgaW5jbHVkZS9saWJ4bWwveG1sbWVtb3J5Lmg6IGRlYnVnZ2luZyBvbiBJQTY0LAorCSAgZml4ZWQgc2VyaW91cyB0cm91YmxlcyBkdWUgdG8gc2l6ZV90IHZzLiBpbnQgbWlzbWF0Y2gKKworVHVlIEp1bCAxNyAxNjowNDozNiBFRFQgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiBTQVguYyB4bWxJTy5jOiBjbGVhbmVkIHVwIHNvbWUgd2FybmluZyBvbiB0aGUgQWxwaGEKKworTW9uIEp1bCAxNiAwNjozMjo0NCBDRVNUIDIwMDEgVGhvbWFzIEJyb3llciA8dGJyb3llckBsdGd0Lm5ldD4KKworCSogaW5jbHVkZS9saWJ4bWwveHBhdGh7LEludGVybmFsc30uaCB4cGF0aC5jOiBhZGRlZCBhIG1vcmUKKwkgIGNvbnZlbmllbnQgZXh0ZW5zaW9uIEFQSSBmb3IgdmFsdWUgYW5kIGNvbnRleHQgbWFuYWdpbmcKKwkgIE5vdyBoYW5kbGVzIGV4dGVybmFsIG9iamVjdHMgdGhyb3VnaCB4bWxYUGF0aFBvcEV4dGVybmFsLAorCSAgeG1sWFBhdGhXcmFwRXh0ZXJuYWwgYW5kIHhtbFhQYXRoUmV0dXJuRXh0ZXJuYWwuCisJICBBZGRlZCBmdW5jdGlvbnMgZm9yIHNldHMgb3BlcmF0aW9ucyAoaW50ZXJzZWN0aW9uLCBldGMuKQorCitNb24gSnVsIDE2IDIwOjA1OjI3IENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiBpbmNsdWRlL2xpYnhtbC9wYXJzZXJJbnRlcm5hbHMuaCBpbmNsdWRlL2xpYnhtbC9IVE1McGFyc2VyLmgKKwkgIHhtbElPLmMgdHJlZS5jIHBhcnNlckludGVybmFscy5jIGVudGl0aWVzLmMgZW5jb2RpbmcuYworCSAgSFRNTHBhcnNlci5jOiBjbGVhbnVwIG9mIGdsb2JhbCB2YXJpYWJsZXMsIG1hcmtpbmcgc29tZQorCSAgY29uc3Qgb3IgcHJpdmF0ZS4KKworTW9uIEp1bCAxNiAwMDoxNzoxNSBDRVNUIDIwMDEgVGhvbWFzIEJyb3llciA8dGJyb3llckBsdGd0Lm5ldD4KKworCSogaW5jbHVkZS9saWJ4bWwveHBhdGguaDogZXhwb3J0ZWQgeG1sWFBhdGh7TkFOLFBJTkYsTklORn0KKwkgIGZpeGVkIHhtbFhQYXRoTm9kZVNldEl0ZW0gd2hlbiBwYXNzaW5nIGluZGV4PTAKKworU3VuIEp1bCAxNSAxNzo1ODo0NCBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogaW5jbHVkZS9saWJ4bWwveG1sd2luMzJ2ZXJzaW9uLmguaW46IGFkZGVkIHhtbENoZWNrVmVyc2lvbigpCisKK1NhdCBKdWwgMTQgMTk6MzE6MjEgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIHhtbGxpbnQuYzogZml4ZWQgY29tcGlsYXRpb24gdW5kZXIgQ3lnd2luICM1NzUwMworCSogVE9ETzogdXBkYXRlCisKKzIwMDEtMDctMTMgIFBldGVyIFdpbGxpYW1zICA8cGV0ZXJ3QHhpbWlhbi5jb20+CisKKwkqIGNvbmZpZy5oLmluOiBhZGQgI3VuZGVmIEhBVkVfRExGQ05fSAorCisJKiBleGFtcGxlL01ha2VmaWxlLmFtIChJTkNMVURFUyk6IENvbXBpbGUgZml4IHdoZW4gc3JjZGlyICE9CisJYnVpbGRkaXIuCisKK0ZyaSBKdWwgMTMgMTE6MDk6NTYgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIHdpbjMyL2xpYnhtbDIvbGlieG1sMi5kZWYuc3JjOiBhZGRlZCBhIGNvdXBsZSBvZiBleHBvcnRlZCBlbnRyaWVzCisJICByYWlzZWQgYnkgIzU3MzQ4IGFuZCAjNTczODEKKworVGh1IEp1bCAxMiAyMToyMDoxNyBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogRE9DQnBhcnNlci5jIEhUTUxwYXJzZXIuYyBIVE1MdHJlZS5jIFNBWC5jIGRlYnVnWE1MLmMgcGFyc2VyLmMKKwkgIHRyZWUuYyB4cG9pbnRlci5jOiBzdG9yZSB0aGUgbGluZSBudW1iZGVyIGluIGVsZW1lbnQtPmNvbnRlbnQsCisJICBtYXkgYnJlYWsgc29tZSBzb2Z0d2FyZSwgbmVlZCBhIGNvbmZpZ3VyYXRpb24gbWVjaGFuaXNtCisKKzIwMDEtMDctMTAgIERhcmluIEFkbGVyICA8ZGFyaW5AYmVudHNwb29uLmNvbT4KKworCSogLmN2c2lnbm9yZToKKwkqIGV4YW1wbGUvLmN2c2lnbm9yZToKKwkqIGluY2x1ZGUvLmN2c2lnbm9yZToKKwkqIGluY2x1ZGUvbGlieG1sLy5jdnNpZ25vcmU6CisJVmFyaW91cyB0aGluZ3MgdGhhdCBhcmUgZ2VuZXJhdGVkIGFuZCBzaG91bGQgYmUgaWdub3JlZC4KKworVHVlIEp1bCAxMCAxNzo0NzowOSBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogY29uZmlndXJlLmluIGluY2x1ZGUvbGlieG1sL3htbHdpbjMydmVyc2lvbi5oOiByZWxlYXNlIG9mIDIuNC4wCisJKiBkb2MveG1sLmh0bWwgZG9jL2h0bWwvKjogIHVwZGF0ZWQgdGhlIGRvY3MKKworTW9uIEp1bCAgOSAyMjowNjo1MyBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogdmFsaWQuYzogZml4ZWQgIkludGVybmFsOiBNSVhFRCBzdHJ1Y3QgYmFkIiB3aGVuICNDREFUQSBlbGVtZW50cworCSAgdmFsaWRhdGlvbiBvY2N1cmVkIG9uIGNvbnRlbnQgd2l0aCBlbGVtZW50IGNoaWxkCisKK01vbiBKdWwgIDkgMTc6NTk6MDggQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIHRyZWUuYzogZml4ZWQgWE1MIEJhc2UgY29tcHV0YXRpb24gd2hpY2ggd2FzIGJyb2tlbgorCSogZGVidWdYTUwuYzogYWRkZWQgYSBiYXNlIGZ1bmN0aW9uIHRvIHRoZSBzaGVsbAorCSogTWFrZWZpbGUuYW0gcmVzdWx0L3NjcmlwdHMvKiB0ZXN0L3NjcmlwdHMvKjogYWRkZWQgc2NyaXB0cworCSAgYmFzZWQgcmVncmVzc2lvbiB0ZXN0cywgYW5kIGFkZGluZyAyIFhNTCBCYXNlIHRlc3RzCisKK01vbiBKdWwgIDkgMTI6MzE6MDUgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIHRyZWUuYzogc2V0IHByb3BlcnRpZXMgZG9jIGFuZCBjYWxsIHhtbFNldExpc3REb2MgZm9yIHByb3BlcnRpZXMKKwkgIGNvbnRlbnQgd2hlbiBncmFmdGluZyB0aGVtIGluIGEgZGlmZmVyZW50IHRyZWUuCisJKiBhY2xvY2FsLm00OiByZW1vdmUgZnJvbSBDVlMKKworU3VuIEp1bCAgOCAyMzowOTowNyBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogd2luMzIvbGlieG1sMi9saWJ4bWwyLmRlZi5zcmM6IGFkZGVkIHNvbWUgbWlzc2luZyBlbnRyeSBwb2ludAorCSAgZm9yIFhQYXRoIChNYXJrIFZha29jKQorCitTdW4gSnVsICA4IDIwOjM0OjM1IENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiB4bWxJTy5jOiBmaXhlZCBhbiBvbGQgYnVnIHJhaXNlZCBieSBCZXJuaGFyZCBad2lzY2gsIHRoZSBJL08KKwkgIGxheWVyIHNob3VsZCBVUkktVW5lc2NhcGUgYmVmb3JlIHRyeWluZyB0byBvcGVuIHJlc291cmNlcy4KKworU3VuIEp1bCAgOCAxNjoyNjowMCBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogeHBhdGguYzogZml4IHRoZSBuYW1lKCkgYnVnIGZvciBlbGVtZW50cyBpbiB0aGUgZGVmYXVsdCAKKwkgIG5hbWVzcGFjZSByZXBvcnRlZCBieSBDaGFybGllIEJvemVtYW4KKworU3VuIEp1bCAgOCAxNToxMTowNSBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogU0FYLmMgcGFyc2VyLmMgdGVzdFhQYXRoLmMgeHBhdGguYzogdHJ5aW5nIHRvIGZpeCAjNTY5NDgsIHRoaXMKKwkgIGxlZCB0byBhbiBYUGF0aCBmaXgsIGltcHJvdmVtZW50cyBvZiBTQVggaW5pdGlhbGl6YXRpb24sIGFuZAorCSAgYW4gYWRkZWQgb3B0aW9uIC0tbm9jZGF0YSB0byB0ZXN0WFBhdGgKKworU2F0IEp1bCAgNyAyMTowOTo1NSBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogZG9jL2xpYnhtbC1kb2MuZWw6IEZlbGl4IE5hdHRlciBwcm92aWRlZCBhbmV3IHZlcnNpb24gd29ya2luZworCSAgd2l0aCBYRW1hY3MgdG9vCisKK1NhdCBKdWwgIDcgMDI6MTY6MDAgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIGluY2x1ZGUvbGlieG1sL3hwYXRoLmg6IHNtYWxsIGNsZWFudXAKKwkqIGRvYy94bWwuaHRtbDogdXBkYXRlCisKK0ZyaSBKdWwgIDYgMDE6NDA6MjMgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIE1ha2VmaWxlLmFtIGNvbmZpZ3VyZS5pbiBpbmNsdWRlL2xpYnhtbC94bWx3aW4zMnZlcnNpb24uaDoKKwkgIHJlbGVhc2VkIDIuMy4xNAorCitGcmkgSnVsICA2IDAwOjQ3OjQxIENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiBkb2MvaHRtbC8qOiByZWJ1aWx0IHRoZSBkb2NzIGZvciB0aGUgcmVsZWFzZQorCSogZG9jL3htbC5odG1sOiBhZGRlZCAyLjMuMTQgcmVsZWFzZS4KKworVGh1IEp1bCAgNSAyMjowMTozMSBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogeHBhdGguYzogYSBidWcgcmVwb3J0ZWQgYnkgU3RlcGhhbiBLdWxvdyBlbXB0eSBub2Rlc2V0cworCSAgd2VyZSBub3QgZXF1YWwgdG8gZW1wdHkgc3RyaW5ncworCitUaHUgSnVsICA1IDAwOjUyOjI1IENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiBTQVguYzogZml4ZWQgYSBVUkktUmVmZXJlbmNlIGNvbXB1dGF0aW9uIHByb2JsZW0gd2hlbiB2YWxpZGF0aW5nCisJKiB4bWxJTy5jOiBzbWFsbCBjbGVhbnVwCisKK1RodSBKdWwgIDUgMDA6MDQ6NTggQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIHBhcnNlci5jOiBpbXByb3ZlZCB0aGUgZGVzY3JpcHRpb24gb2YgYSBjb3VwbGUgb2YgaW50ZXJmYWNlcworCSAgdXBvbiBMYXJyeSBTdGFtcGVyIHN1Z2dlc3Rpb24KKworV2VkIEp1bCAgNCAyMTo0MjoyNCBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogU0FYLmMgZW50aXRpZXMuYyBwYXJzZXIuYzogY2hhbmdlZCBjb21wbGV0ZWx5IHRoZSB3YXkgZW50aXRpZXMKKwkgIGFyZSBoYW5kbGVkIHdoZW4gcnVubmluZyB0aGUgcGFyc2VyIGluIGVudGl0eSBzdWJzdGl0dXRpb24gbW9kZS4KKwkgIFRoaXMgZml4ZXMgYSBidWcgcmVwb3J0ZWQgYnkgU3RlcGhhbiBLdWxvdyBhbmQgbmVhcmx5IGRpdmlkZXMKKwkgIGJ5IDMgdGhlIGFtb3VudCBvZiBtZW1vcnkgcmVxdWlyZWQgYnkgbGlieHNsdCB0byBsb2FkIGFuZCBwcm9jZXNzCisJICBEb2NCb29rIFRERy4KKworV2VkIEp1bCAgNCAxODowMjo1OCBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogSFRNTHBhcnNlci5jOiBmaXhpbmcgYSB0b28gZWFybHkgcm9vdCBjbG9zaW5nIHByb2JsZW0gcmFpc2VkCisJICBieXQgUHJhc2hhbnRoIE5haWR1CisKK1dlZCBKdWwgIDQgMDE6NDI6MDEgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIHhwYXRoLmM6IGZpeGVkIGEgbWlzc2luZyBjb3B5IGluIHhtbFhQYXRoVmFyaWFibGVMb29rdXBOUygpIAorCSAgcmFpc2VkIGJ5IE1hcmsgVmFrb2MuCisKK1R1ZSBKdWwgIDMgMTg6MzU6NDggQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIGV4YW1wbGUvTWFrZWZpbGUuYW06IGZpeGVkIHRoZSBpbmNsdWRlIHBhdGggdG8gYWRkIHNyY2Rpci9pbmNsdWRlCisJKiBNYWtlZmlsZS5hbSBjb25maWd1cmUuaW46IGZpeCBmcm9tIEFsYmVydCBDaGluIGZvciBpY29udiBkZXRlY3Rpb24KKwkgIGFuZCBzb21lIGNsZWFudXAKKworVHVlIEp1bCAgMyAxMDoxMjowMyBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogeHBhdGguYyBpbmNsdWRlL2xpYnhtbC94cGF0aC5oIGluY2x1ZGUvbGlieG1sL3hwYXRoSW50ZXJuYWxzLmg6CisJICBsb3Qgb2Ygb3B0aW1pemF0aW9uIHdvcmssIHJlc3VsdHMgaW4gc2lnbmlmaWNhbnQgaW1wcm92ZW1lbnRzCisJICB3aGVuIGhhbmRsaW5nIHJlYWxseSBjb21wbGV4IFhQYXRoIHF1ZXJpZXMuIEFkZCBhIHNtYWxsIG9wdGltaXplcgorCSAgZm9yIHVuaW9ucywgaW1wcm92ZSBbbl0gYW5kIFtsYXN0KCldLCBhdm9pZCBzb21lIGNvc3RseSBvcHMuCisKK0ZyaSBKdW4gMjkgMjM6MjY6NTQgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIGluY2x1ZGUvbGlieG1sL3BhcnNlci5oIHBhcnNlci5jOiB4bWxTdHJzdHIgYXJncyBhcmUgYm90aCBjb25zdAorCSogeHBhdGguYzogc21hbGwgY2xlYW51cAorCSogeG1sR2V0TnNMaXN0OiByZWZvcm1hdGVkLCBmaXhlZCBwcm9ibGVtcyBpZiB1c2VkIG9uIEVudGl0aWVzCisKK1RodSBKdW4gMjggMTg6MTk6NDQgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIGRvYy94bWwuaHRtbDogYWRkZWQgMS44LjE0IGFuZCAyLjMuMTMgcmVsZWFzZXMKKworVGh1IEp1biAyOCAxODoxNjoyOCBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogY29uZmlndXJlLmluIGluY2x1ZGUvbGlieG1sL3htbHdpbjMydmVyc2lvbi5oOiByZWxlYXNlZCAyLjMuMTMKKwkqIE1ha2VmaWxlLmFtIGV4YW1wbGUvTWFrZWZpbGUuYW06IHdvcmthcm91bmQgYXV0b21ha2UgZ2VuZXJhdGluZworCSAgZXJyb25lb3VzIGRlcHMKKworVGh1IEp1biAyOCAxNTowODoyMiBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogaW5jbHVkZS93aW4zMmNvbmZpZy5oOiBidWcgIzU2ODAxIFlvbiBEZXJlayBwcm92aWRlZCBhIHBhdGNoCisJICB0byB0aGUgd2luZG93cyBjb25maWcgZmlsZS4KKworVGh1IEp1biAyOCAxNDo1MTo0NCBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogeHBvaW50ZXIuYyBpbmNsdWRlL3dpbjMyY29uZmlnLmggd2luMzIvbGlieG1sMi9saWJ4bWwyLmRlZi5zcmMKKwkgIGxpYnhtbC5oIDogWW9uIERlcmVrIHByb3ZpZGVkIGEgc2V0IG9mIGNoYW5nZXMgdG8gY29tcGlsZSBmcm9tCisJICBDVlMgb24gV2luZG93cy9NU0MKKworVGh1IEp1biAyOCAxNDoxMToyOCBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogcGFyc2VyLmM6IGZpeGVkIFVURjggQk9NIHN1cHBvcnQgaW4gcHVzaCBtb2RlCisJKiB0ZXN0L3V0Zjhib20ueG1sIHJlc3VsdC91dGY4Ym9tLnhtbCByZXN1bHQvbm9lbnQvdXRmOGJvbS54bWw6CisJICBhZGRlZCBhIHNwZWNpZmljIHRlc3RjYXNlCisKK1dlZCBKdW4gMjcgMTg6MzM6MTMgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIE1ha2VmaWxlLmFtOiBhZGRlZCAtLXB1c2ggcmVncmVzc2lvbiB0ZXN0cworCSogcGFyc2VySW50ZXJuYWxzLmM6IHRoZSBYTUwgcGFyc2VyIHNlZ2ZhdWx0ZWQgaW4gLS1wdXNoIG1vZGUKKworV2VkIEp1biAyNyAxMzowOTo1MSBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogY29uZmlndXJlLmluOiBtb3ZlZCB0aGUgc3ltbGlua3MgZGV0ZWN0aW9uIHdpdGhpbiBhIENWUworCSAgY2hlY2ssIHRoaXMgaXMgbm90IHBvcnRhYmxlIGFuZCB3aWxsIGJlIHJlbW92ZWQgc29vbi4KKwkqIHhwYXRoLmM6IHNtYWxsIGNsZWFudXAvc3BlZWR1cAorCitUdWUgSnVuIDI2IDE4OjA1OjI2IENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiBjb25maWd1cmUuaW4gZG9jL3htbC5odG1sIGluY2x1ZGUvbGlieG1sL3htbHdpbjMydmVyc2lvbi5oOgorCSAgcmVsZWFzZSBvZiAyLjMuMTIKKwkqIHBhcnNlci5jOiBtYWtlIGFuIGVycm9yIG1lc3NhZ2UgaWYgdW5rbm93IGVudGl0aWVzIGluIGFsbCBjYXNlcworCitUdWUgSnVuIDI2IDA5OjQ2OjI5IENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiB1cmkuYzogZml4ZWQgMiB1cmkgbm9ybWFsaXphdGlvbiBidWdzIG9uICcvLycgcmVkdWN0aW9uCisKK01vbiBKdW4gMjUgMTg6MDY6MjMgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIGluY2x1ZGUvbGlieG1sL01ha2VmaWxlLmFtOiBMYXN6bG8gUGV0ZXIgcG9pbnRlZCBvdXQgdGhhdAorCSAgaW5jbHVkZXMgd2VyZSBpbnN0YWxsZWQgaW4gdGhlIHdyb25nIGRpcgorCitNb24gSnVuIDI1IDE3OjA3OjM3IENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiBkb2MvaHRtbC54bWw6IHdhcm4gYWdhaW5zdCBzZW5kaW5nIGNvZGUgdG8gZXhoaWJpdCBidWdzLgorCitTdW4gSnVuIDI0IDIzOjMxOjU2IENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiB4cGF0aC5jOiBwYXRjaCB0byB4bWxYUGF0aEZvcm1hdE51bWJlciBmb3IgdGhlIG9wdGltaXplciBvbgorCSAgVHJ1NjQgZnJvbSBUaG9tYXMgTGVpdG5lcgorCitTdW4gSnVuIDI0IDE0OjA1OjU0IENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiBBVVRIT1JTOiBhZGRlZCBXaWxsaWFtIGFuZCBCam9ybgorCSogaW5jbHVkZS9saWJ4bWwvKi5oICouYyBSRUFETUUgZG9jLyouaHRtbCBldGMuOiBjaGFuZ2VkIG9sZCBlbWFpbCB0bworCSAgZGFuaWVsQHZlaWxsYXJkLmNvbSBob3BlZnVsbHkgSSB3b24ndCBoYXZlIHRvIGRvIHRoaXMgYWdhaW4KKwkqIGRvYy9NYWtlZmlsZS5hbSBkb2MvaHRtbC8qLmh0bWw6IGNsZWFudXAgbWFrZWZpbGUsIGNoZWNrZWQgdGhhdAorCSAgZG9jcyBjYW4gYmUgcmVidWlsdCBjbGVhbmx5IG5vdworCSogaW5jbHVkZS9saWJ4bWwveG1sKnZlcnNpb24uaCo6IHJlbW92ZWQgaW5jbHVkZS9saWJ4bWwveG1sdmVyc2lvbi5oCisJICBmcm9tIENWcyBpdCdzIGdlbmVyYXRlZCwgYWRkZWQgaW5jbHVkZS9saWJ4bWwveG1sd2luMzJ2ZXJzaW9uLmgKKwkgIGFsc28gZ2VuZXJhdGVkIGJ1dCB3aGljaCBzaG91bGQgY2hhbmdlIGZhciBsZXNzIGZyZXF1ZW50bHkuCisJKiBjYXRhbG9nLmMgbmFub2Z0cC5jOiBtYWRlIHN1cmUgdG8gaW5jbHVkZSBsaWJ4bWwuaCBub3QKKwkgIGxpYnhtbC94bWx2ZXJzaW9uLmggZGlyZWN0bHkKKwkqIGluY2x1ZGUvbGlieG1sLyouaDogaW5jbHVkZSB4bWx3aW4zMnZlcnNpb24uaCBpbnN0ZWFkIG9mIHhtbHZlcnNpb24uaAorCSAgd2hlbiBjb21waWxpbmcgb24gV0lOMzIgYW5kIE1TQworCitTYXQgSnVuIDIzIDIzOjU0OjEyIENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiBpbmNsdWRlL01ha2VmaWxlLmFtIGluY2x1ZGUvbGlieG1sL01ha2VmaWxlLmFtIGNvbmZpZ3VyZS5pbjoKKwkgIGZpeGVkIG1ha2UgZGlzdGNoZWNrIGFuZCByZWJ1aWxkaW5nIHRoZSBycG1zCisKK1NhdCBKdW4gMjMgMjA6NTA6NTMgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIGNvbmZpZ3VyZS5pbjogc2hvdWxkIGZpbmlzaCB0aGUgbWlncmF0aW9uIG9mIGV4cG9ydGVkIGluY2x1ZGVzCisJICBpbnRvIGEgcmVhbCBpbmNsdWRlL2xpYnhtbCBpbiBDVlMsIGF0IGxlYXN0IGZvciBDVlMgdXNlcnMuCisJKiByZW1vdmVkIHRoZSBleHBvcnRlZCBoZWFkZXJzLCBhZGRlZCBpbiBpbmNsdWRlL2xpYnhtbCAoYXMgd2VsbAorCSAgYXMgeG1sdmVyc2lvbi5oLmluKS4KKworU2F0IEp1biAyMyAyMDozNzoxOSBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogY29uZmlndXJlLmluOiBmaXhlZCB0aGUgd2F5IHRvIGRldGVjdCBzeW1saW5rCisKK1NhdCBKdW4gMjMgMjA6MzA6MTEgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIGNvbmZpZ3VyZS5pbjogdXBkYXRlZCwgaW5jbHVkZS9saWJ4bWwgaXMgbm93IGEgcmVhbCBDVlMgZGlyCisKK1NhdCBKdW4gMjMgMTk6MzY6MzEgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIGRvYy9saWJ4bWwtZG9jLmVsOiBhIG5ldyB2ZXJzaW9uIG9mIGxpYnhtbC1kb2MuZWwuIFRoaXMgbmV3CisJICB2ZXJzaW9uIHdvcmtzIHdpdGggYm90aCBsaWJ4bWwxIGFuZCBsaWJ4bWwyIChpdCBhdXRvZGV0ZWN0cworCSAgdGhlIHByZWZpeCBvZiB0aGUgaHRtbC1maWxlcykgZnJvbSBGZWxpeCBOYXR0ZXIuCisJKiBkb2MveG1sLmh0bWw6IHVwZGF0ZWQgZG9jIGFjY29yZGluZ2x5CisKK1NhdCBKdW4gMjMgMTg6MzA6MjggQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIHhwYXRoLmM6IGZpeGVkIHRoZSBidWcgZ2VuZXJhdGluZyBhIHRlbXBsYXRlIGxvb3AgaW4gbGlieHNsdAorCSAgd2hlbiB1c2luZyBkb2Nib29rLXhzbC0xLjQsICogc2hvdWxkIGZpbHRlciBvdXQgZG9jdW1lbnQgbm9kZXMKKwkqIEhBQ0tJTkc6IGFkZGVkIFdpbGxpYW0KKwkqIFRPRE86IHVwZGF0ZWQKKworRnJpIEp1biAyMiAxODowMjozNyBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogZG9jL0ZBUS5odG1sOiBhZGRlZCBhIHdhcm5pbmcgYWJvdXQgZ2NjLTMuMAorCSogZG9jL3htbC5odG1sOiBhZGRlZCByZWZlcmVuY2UgdG8gZ2RvbWUyIGFuZCByZW1vdmVkIGEgY29uZnVzaW5nCisJICBzZW50ZW5jZQorCitGcmkgSnVuIDIyIDE3OjAyOjE2IENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiB4bWx2ZXJzaW9uLmg6IG9rYXkgdGhpcyBpcyBhIGdlbmVyYXRlZCBmaWxlLCBidXQgV2luZG93cworCSAgdXNlcnMgbmVlZCBpdCBhbmQgdGhleSBjYW4ndCBnZW5lcmF0ZSBpdCwgYW5kIEkgd2FudCBDVlMKKwkgIFdpbmRvd3MgdXNlcnMgLi4uCisJKiB3aW4zMi9saWJ4bWwyL2xpYnhtbDJfc28uZHNwOiBXaW5kb3dzIHByb2plY3QgZmlsZSBmb3IgCisJICB0aGUgc2hhcmVkIGxpYiB2ZXJzaW9uIG9mIGxpYnhtbDIKKwkqIHdpbjMyL2xpYnhtbDIvbGlieG1sMi5kZWYuc3JjOiBidWcgIzU2NTI3IHNldCBvZiBleHBvcnRlZAorCSAgcmVzb3VyY2VzIG5lZWRlZCBmb3IgbGlieHNsdC94c2x0cHJvYyBieSBZb24gRGVyZWsKKworRnJpIEp1biAyMiAxNjozOTozNiBDRVNUIDIwMDEgQmpvcm4gUmVlc2UgPGJyZWVzZUB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CisKKwkqIHRyaW8uYzogTVNWQyBmaXggKHByb3ZpZGVkIGJ5IElnb3IgWmxhdGtvdmljKQorCitGcmkgSnVuIDIyIDEyOjQyOjE2IENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiBpbmNsdWRlL3dpbjMyY29uZmlnLmg6IGFub3RoZXIgc21hbGwgZml4IGZvciBBVFRSSUJVVEVfVU5VU0VECisKK0ZyaSBKdW4gMjIgMTI6NDI6MTYgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIGluY2x1ZGUvd2luMzJjb25maWcuaDogWW9uIERlcmVrIHByb3ZpZGVkIGEgZmlyc3QgZml4CisJICB0byBiZSBhYmxlIHRvIGNvbXBpbGUgbGlieHNsdC94c2x0cHJvYyBvbiBXaW5kb3dzCisKK0ZyaSBKdW4gMjIgMDA6MDQ6MzYgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIHhwYXRoLmM6IGF0dGVtcHQgdG8gd29yayBhcm91bmQgd2hhdCBzZWVtZWQgYSBnY2Mgb3B0aW1pemVyCisJICBidWcgd2hlbiBoYW5kbGluZyBmbG9hdHMgb24gaTM4NiBodHRwOi8vdmVpbGxhcmQuY29tL2djYy5idWcKKwkqIHRyZWUuYyBlbnRpdGllcy5jIGVuY29kaW5nLmM6IGRvaW5nIHNvbWUgY2xlYW51cHMgd2hpbGUKKwkgIGNoYXNpbmcgaXQKKworVGh1IEp1biAyMSAxMzoxMzozNiBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogTWFrZWZpbGUuYW06IGNsZWFudXAgd2hlbiAtLXdpdGhvdXQtZGVidWcgaXMgc3BlY2lmaWVkCisJKiB4aW5jbHVkZS5jIHhwYXRoLmMgeHBhdGhJbnRlcm5hbHMuaCB4cG9pbnRlci5jOiBjbGVhbnVwCisJICB3LnIudC4gLS13aXRob3V0LWRlYnVnIGFuZCBvdGhlciBpbmNsdWRlIHBvaW50cworCSogY2F0YWxvZy5oIHRlc3RDYXRhbG9nLmM6IGEgYml0IG9mIGNsZWFudXAgYW5kIHByZXBhcmUgZm9yIFhNTAorCSAgQ2F0YWxvZ3MKKwkqIGNvbmZpZ3VyZS5pbiBlbnRpdGllcy5oIHRyZWUuaCBIVE1McGFyc2VyLmM6IHJlbW92ZWQKKwkgIC0td2l0aG91dC1jb3JiYSwgbWFkZSB0aGUgX3ByaXZhdGUgZmllbGQgbWFuZGF0b3J5CisKK1dlZCBKdW4gMjAgMTk6Mzc6MjUgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIHBhcnNlci5jIHBhcnNlckludGVybmFscy5jIGVuY29kaW5nLmM6IFNpbmNlIE5vdGVwYWQgb24gV2luMmsKKwkgIG91dHB1dHMgYSBCT00gaW4gVVRGOCwgYW4gZXJyYXRhIGhhcyBiZWVuIGlzc3VlZCB0byBhdm9pZCB0aGUKKwkgIHByb2JsZW0sIHRoYXQgd2FzIHRoZSBtb3N0IHJlYXNvbmFibGUgc29sdXRpb24uLi4gQWRkIHN1cHBvcnQKKwkgIGZvciBhIGxlYWRpbmcgVVRGOCBCT00gaW4gZW50aXRpZXMuCisKK1dlZCBKdW4gMjAgMTU6Mzg6NTkgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIHZhbGlkLmM6IGZpeGVkIGEgYnVnIGZvdW5kIHdoZW4gcG9zdCB2YWxpZGF0aW5nIGFuIGVudGl0eSByZWYKKwkqIHhtbGxpbnQuYzogYWRkZWQgLS1sb2FkZHRkIGFuZCBzbGlnbHkgY2hhbmdlZCAtLXBvc3R2YWxpZCB0bworCSAgYWN0aXZhdGUgaXQgdG9vCisKK1R1ZSBKdW4gMTkgMjA6MDM6NDAgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIHRyZWUuYyB4aW5jbHVkZS5jIHhwb2ludGVyLmM6IGJ1ZyAjNTY0MDIgZXhwb3NlZCBhIG51bWJlciBvZgorCSAgd2Vha25lc3MgaW4gdGhlIG5vZGUgY29weSB0aGUgWFBvaW50ZXIgYW5kIHRoZSBYSW5jbHVkZQorCSAgaW1wbGVtZW50YXRpb25zLiBTZXJpb3VzIGNsZWFudXAuCisKK1R1ZSBKdW4gMTkgMTQ6NTA6MTggQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIE1ha2VmaWxlLmFtOiBLamFydGFuIE1hcmFhcyBwcm92aWRlZCBhIHNtYWxsIHBhdGNoIHRvCisJICBhZGQgeG1sMi1jb25maWcuaW4gdG8gRVhUUkFfRElTVAorCitUdWUgSnVuIDE5IDEzOjA0OjEwIENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiB2YWxpZC5jIHRyZWUuYyBwYXJzZXJJbnRlcm5hbHMuYyBwYXJzZXIuYzogU3RlcGhhbiBLdWxvdworCSAgcHJvdmlkZWQgYW5vdGhlciBmYWlsaW5nIGNhc2UgZm91bmQgaW4gS0RFLCB0aGUgd2F5IHRoZQorCSAgY3R4dC0+dmN0eHQubm9kZVRhYiB3YXMgYWxsb2NhdGVkIGFuZCBmcmVlZCBjaGFuZ2VkIG92ZXIKKwkgIHRpbWUgYnV0IGl0IHdhc24ndCBjb21wbGV0ZWx5IGNsZWFuZWQgdXAuIFRoaXMgc2hvdWxkIGZpeCBpdC4KKworU3VuIEp1biAxNyAxOTo1NjozMyBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogcGFyc2VyLmM6IFN0ZXBoYW4gS3Vsb3cgYWxzbyByYWlzZWQgdGhlIGZhY3QgdGhhdCBsaW5lIG51bWJlcgorCSAgY291bGQgZ2V0IG1pc2NvdW50ZWQgbWFraW5nIGRlYnVnIGhhcmRlciwgZml4ZWQgdGhlIHByb2JsZW0KKwkgIGluIHhtbFBhcnNlQ2hhckRhdGEoKQorCitTdW4gSnVuIDE3IDE5OjE3OjI2IENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiB2YWxpZC5jOiBTdGVwaGFuIEt1bG93IHBvaW50ZWQgb3V0IGEgcHJvYmxlbSB3aGVuIHZhbGlkYXRpbmcKKwkgIGFuZCB1c2luZyBhbiBlbXB0eSBlbnRpdHksIGZvcmdvdCBhICdicmVhaycgaW4gYSBjYXNlLgorCitTdW4gSnVuIDE3IDE2OjQ3OjQwIENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiB0cmVlLmM6IGZpeGVkIHhtbEhhc05zUHJvcCgpIGFjY29yZGluZ2x5IHRvIGJ1ZyAjNTU2ODMKKwkqIGRvYy94bWwuaHRtbDogdXBkYXRlZCB3aXRoIDIuMy4xMQorCitTdW4gSnVuIDE3IDEyOjI0OjExIENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiBUT0RPOiB1cGRhdGVkIGFkZGluZyBjbGVhbnVwIG9mIGdlbmVyYXRlZCBkb2MKKwkqIGNvbmZpZ3VyZS5pbjogcHJlcGFyZWQgdG8gcmVsZWFzZSAyLjMuMTEKKwkqIHhtbGxpbnQuYzogYWRkZWQgLS12ZXJzaW9uIGZvciBidWcgcmVwb3J0aW5nCisJKiBkb2MvaHRtbC8qLmh0bWw6IHJlYnVpbHQgdGhlIGRvYworCitTYXQgSnVuIDE2IDIzOjIzOjMzIENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiB4cGF0aC5jOiBmaXJzdCBwYXJ0IG9mIHRoZSB3b3JrIG9uIHNlbGVjdGluZyBuYW1lc3BhY2UgdG8KKwkgIGZpeCBidWcgIzU2MTE1IAorCitTYXQgSnVuIDE2IDAwOjIwOjQ2IENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiBNYWtlZmlsZS5hbSBleGFtcGxlL01ha2VmaWxlLmFtOiBMYXN6bG8gUEVURVIgcHJvdmlkZWQgYSBmaXgKKwkgIHdoZW4gdXNpbmcgLWxpY29udgorCSogVE9ETzogdXBkYXRlZAorCitGcmkgSnVuIDE1IDA3OjA4OjU3IENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiBIVE1MdHJlZS5bY2hdOiBtb3JlIHdvcmsgb24gdGhlIEhUTUwgc2VyaWFsaXphdGlvbiByb3V0bmVzLAorCSAgY2xlYW51cCwgZW5jb2Rpbmcgc3VwcG9ydC4KKworVGh1IEp1biAxNCAxMDozMToxNyBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogeHBhdGguYzogVGhvbWFzIEJyb3llciBzdWdnZXN0ZWQgYSBiZXR0ZXIgcGF0Y2ggZm9yIHRoZSAvIGFyZworCitUaHUgSnVuIDE0IDAxOjAxOjMwIENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiB4cGF0aC5jOiBidWcgZGV0ZWN0ZWQgYnkgQW5raCB3aGVuIC8gaXMgdXNlZCBhcyBhIGZ1bmN0aW9uIGFyZworCitXZWQgSnVuIDEzIDIzOjA4OjQ2IENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiBIVE1McGFyc2VyLltjaF0gSFRNTHRyZWUuYzogc3RvcmVkIHRoZSBpbmxpbmUvYmxvY2sgcHJvcGVydHkKKwkgIG9mIGVsZW1lbnQgYW5kIHVzZSBpdCB0byBhdm9pZCBvdXRwdXR0aW5nIGZvcm1hdHRpbmcgc3BhY2VzIGF0CisJICB0aGUgd3JvbmcgcGxhY2UuIEltcGxlbWVudGVkIHRoZSBmb3JtYXQgcGFyYW1ldGVyIGZvciBIVE1MIHNhdmUuCisJKiByZXN1bHQvSFRNTC9kb2MyLmh0bSByZXN1bHQvSFRNTC9kb2MzLmh0bSByZXN1bHQvSFRNTC9mcDQwLmh0bQorCSAgcmVzdWx0L0hUTUwvc2NyaXB0Lmh0bWwgcmVzdWx0L0hUTUwvdGVzdDIuaHRtbCByZXN1bHQvSFRNTC90ZXN0My5odG1sCisJICByZXN1bHQvSFRNTC93aXJlZC5odG1sOiBvZiBjb3Vyc2UgdGhpcyBpbXBhY3QgdGhlIHJlc3VsdCBvZiBhCisJICBudW1iZXIgb2YgSFRNTCB0ZXN0cworCitUaHUgSnVuIDE0IDA5OjQ5OjA5IENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiBIVE1MdHJlZS5bY2hdOiBzdGFydGVkIGF1Z21lbnRpbmcgdGhlIEhUTUwgc2F2ZSBBUEkgd2l0aAorCSAgZW5jb2RpbmcgYW5kIGZvcm1hdHRpbmcgcGFyYW1ldGVycworCitXZWQgSnVuIDEzIDA5OjQ0OjE1IENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiBIVE1MdHJlZS5oOiBjbGVhbnVwIGFuZCBzdGFydGVkIGV2YWx1YXRpbmcgdGhlIHdvcmsgbmVlZGVkIG9uCisJICByZXZhbXBpbmcgdGhlIEhUTUwgb3V0cHV0IGNvZGUKKworTW9uIEp1biAxMSAxOToyOTo0MCBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogRE9DQnBhcnNlci5jOiBoYW5kbGluZyBvZiBQSXMgYW5kIDw/c2dtbC1kZWNsYXJhdGlvbiBpbiBlbnRpdGllcy4KKworVHVlIEp1biAxMiAwODo0NjoyOCBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogdmFsaWQuYzogZml4ZWQgYnVnICM1NjA0OSwgZm9yZ290IG9uZSBjaGVjayBpbiB0aGUKKwkgIHZhbGlkYXRpb24gcm91dGluZQorCitUdWUgSnVuIDEyIDA4OjA5OjQ2IENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiB0cmVlLltjaF06IGdycnIgLi4uIG5hbWVzcGFjZSBpcyBhIEMrKyByZXNlcnZlZCBrZXl3b3JkCisKK1R1ZSBKdW4gMTIgMDY6Mjk6MzkgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIGxpYnhtbC5oOiBmaXhlZCBhbiBlcnJvciBpbiBsYXN0IGNvbW1pdAorCSogZG9jL0ZBUS5odG1sOiBhZGRlZCBhbiBlbnRyeSBmb3IgY29tcGlsYXRpb24gZnJvbSBDVlMKKworTW9uIEp1biAxMSAxMDowNzoyOSBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogeG1sdmVyc2lvbi5oLmluIGxpYnhtbC5oOiBDeWd3aW4gcGF0Y2hlcworCSogdHJlZS5jOiB4bWxGcmVlTm9kZUxpc3QgcGF0Y2ggc2ltaWxhciB0byB4bWxGcmVlTm9kZSBvbmUKKwkqIHRyZWUuaDogY2xlYW51cAorCitTYXQgSnVuICA5IDE5OjE2OjAwIENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiB0cmVlLmM6IHBhdGNoZWQgeG1sRnJlZU5vZGUoKSB0byBhdm9pZCBmcmVlaW5nKCkgYSBzdGF0aWMKKwkgIG1lbW9yeSBibG9jayBpbiBhIHN0cmFuZ2UgY2FzZSB3aGVyZSBsaWJ4bWwgaXMgbGlua2VkIHR3aWNlCisJICBpbiB0aGUgYmluYXJ5LgorCitTYXQgSnVuICA5IDE4OjM5OjAzIENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiB2YWxpZC5jOiAoYT8gLCBiPyAsIGM/ICwgLi4uICwgej8pIHdhcyBzdG9yaW5nL3Jlc3RhdXJpbmcKKwkgIHN0YXRlIGZhciB0b28gb2Z0ZW4sIHNpbXBsZSBmaXggdXNlZCB0byBhdm9pZCBpdC4KKworU2F0IEp1biAgOSAxNjoxMDozNiBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogeGluY2x1ZGUuYzogUmFwaGFlbCBIZXJ0em9nIGhhZCBhIHRyb3VibGUgd2l0aCBEVEQgbm9kZXMKKwkgIGJlaW5nIHByb2Nlc3NlZCwgYXBwbGllZCBoaXMgcGF0Y2gKKwkqIHRyZWUuYzogZml4ZWQgYSBidWcgcmFpc2VkIGluIHhtbFN0YXRpY0NvcHlOb2RlTGlzdCgpCisKK1NhdCBKdW4gIDkgMTU6NTA6MTEgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIG5hbm9mdHAuYyBuYW5vaHR0cC5jIHVyaS5jIGluY2x1ZGUvd2luMzJjb25maWcuaDogSWdvciAgWmxhdGtvdmljCisJICBwcm92aWRlZCBmaXhlcyB0byBjb21waWxlIG9uIE1TQ0MgYWdhaW4KKwkqIHdpbjMyL2xpYnhtbDIvbGlieG1sMi5kZWYuc3JjIHdpbjMyL2xpYnhtbDIvbGlieG1sMiouZHNwOiBoZQorCSAgYWxzbyBwcm92aWRlZCBhbiB1cGRhdGUgZm9yIHRoZSBwcm9qZWN0IGZpbGVzLgorCitUaHUgSnVuICA3IDIxOjUyOjEwIENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiB0cmVlLmM6IGFwcGxpZWQgU3RldmUgVGlubmV5IHBhdGNoIHRvIHhtbE5ld05zUHJvcCB0byBmaXgKKwkgIGJ1ZyAjNTU4MTAKKworVGh1IEp1biAgNyAyMToyOTozOSBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogdHJlZS5jOiBmaXhlZCB4bWxHZXROc1Byb3AoKSB0byBjbG9zZSBidWcgIzU1NjgzCisJICBOb3RlIHRoaXMgcmVxdWlyZXMgbGlieHNsdCB0byB1c2UgaXQncyBvd24gZnVuY3Rpb24gaW5zdGVhZC4KKworVGh1IEp1biAgNyAxODowNjozNCBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogSFRNTHRyZWUuYzogd2hlbiBpbiBhIHByZSBlbGVtZW50IG5vIGZvcm1hdHRpbmcgc3BhY2Ugc2hvdWxkCisJICBiZSBhZGRlZC4KKwkqIHRlc3QvSFRNTC9wcmUuaHRtbCByZXN1bHQvSFRNTC9wcmUuaHRtbCo6IGFkZGVkIGEgcmVncmVzc2lvbiB0ZXN0CisKK1RodSBKdW4gIDcgMTc6Mjk6MzggQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIGNvbmZpZ3VyZS5pbjogYWRkZWQgdGVzdHMgZm9yIHNpZ25hbCgpIGFuZCBzaWduYWwuaAorCitGcmkgSnVuICA4IDEwOjE3OjE1IENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiB4cGF0aC5jOiByb2JlcnQgcG9pbnRlZCBvdXQgeG1sWFBhdGhOSU5GIHdhcyBub3QgaW5pdGlhbGl6ZWQKKworRnJpIEp1biAgOCAxMDowMTo0NSBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogZG9jL2xpYnhtbC1kb2MuZWw6IEZlbGl4IE5hdHRlciBwcm92aWRlZCBhIG5ldyB2ZXJzaW9uIGZvcgorCSAgbGlieG1sMgorCitGcmkgSnVuICA4IDA3OjIwOjQ2IENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiBIVE1MdHJlZS5jOiB3aGVuIGluIGEgcHJlIGVsZW1lbnQgbm8gZm9ybWF0dGluZyBzcGFjZSBzaG91bGQKKwkgIGJlIGFkZGVkLgorCitXZWQgSnVuICA2IDE4OjA3OjM2IENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiBjb25maWd1cmUuaW46IGFkZCAtbWllZWUgdG8gQ0ZMQUdTIHdoZW4gY29tcGlsaW5nIG9uIExpbnV4L2FscGhhCisKK1RodSBKdW4gIDcgMDY6NDQ6MDEgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIERPQ0JwYXJzZXIuYzogaW1wbGVtZW50ZWQgdGhlIDw/c2dtbC1kZWNsYXJhdGlvbiBlbmNvZGluZz0ieHh4Ij8+CisJICBoYWNrCisJKiB0cmVlLltjaF06IGFkZGVkIHhtbEhhc05zUHJvcCBhcyBzdWdnZXN0ZWQgaW4gYnVnIHJlcG9ydCAjNTU2NTMgCisJKiB1cmkuYzogZml4ZWQgYSB3YXJuaW5nCisKK1R1ZSBKdW4gIDUgMjI6NTQ6MjEgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIEhUTUx0cmVlLmM6IHRyeWluZyB0byBjbG9zZSBidWcgIzU1NzcyIGVzY2FwaW5nIGluIHNjcmlwdAorCSAgZWxlbWVudHMKKwkqIGRvYy94bWwuaHRtbDogc3VnZ2VzdCB0byBzZW5kIG1haWwgdG8gdGhlIGxpc3QKKworVHVlIEp1biAgNSAxOToxMTowMiBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogZXJyb3IuYzogYXR0ZW1wdCB0byBmaXggdGhlIHhtbEdldFZhclN0ciBicmVha2FnZSBvbmNlIGFuZCBmb3IKKwkgIGdvb2QuIFVzZSBhIG1hY3JvIGFuZCBiYXNlZCBvbiB0aGUgc29sdXRpb24gcHJvdmlkZWQgaW4gCisJICB2c25wcmludGYgbWFudWFsIHBhZ2UgZnJvbSBHTlUuCisKK1R1ZSBKdW4gIDUgMTQ6NDY6MTAgQ0VTVCAyMDAxIEJqb3JuIFJlZXNlIDxicmVlc2VAdXNlcnMuc291cmNlZm9yZ2UubmV0PgorCisJKiBlcnJvci5jOiBXb3JrYXJvdW5kIGZvciBub24tcHJlc2VydmluZyB2YXJpYWRpYyBsaXN0LgorCSogdHJpby5jIHRyaW8uaCB0cmlvcC5oIHN0cmlvLmMgc3RyaW8uaDogVXBncmFkZWQgdG8gdHJpbyBiYXNlbGluZSAxLjQKKworU2F0IEp1biAgMiAwNjoxMjozMyBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogZG9jL3htbC5odG1sOiBhZGRlZCAyLjMuMTAgcmVsZWFzZQorCitGcmkgSnVuICAxIDExOjI3OjExIENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiBjb25maWd1cmUuaW46IHJlbGVhc2luZyAyLjMuMTAKKworVGh1IE1heSAzMSAyMDo0MjozOSBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogeG1sSU8uYzogR2FyeSBQZW5uaW5ndG9uIHNwb3R0ZWQgYSBmZXcgdHJvdWJsZXMgd2l0aCBmaWxlOi8vLworCitUaHUgTWF5IDMxIDIwOjE4OjU5IENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiBlbmNvZGluZy5jOiBSb2JlcnQgQ29sbGlucyBwcm92aWRlZCBhIHBhdGNoIHRvIGFkZCB0aGUKKwkgICJVUy1BU0NJSSIgZW5jb2RpbmcgYWxpYXMKKworV2VkIE1heSAzMCAyMToxMjo0NSBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogeHBhdGguYyBlbmNvZGluZy5bY2hdOiBXaWxsaWFtIE0uIEJyYWNrIHByb3ZpZGVkIGEgc2V0IG9mIFVURjgKKwkgIHN0cmluZyBvcmllbnRlZCBmdW5jdGlvbnMgYW5kIHN0YXJ0ZWQgY2xlYW5pbmcgdGhlIHJlbGF0ZWQgYXJlYXMKKwkgIGluIHhwYXRoLmMgd2hpY2ggbmVlZGVkIGZpeGluZyBpbiB0aGlzIHJlc3BlY3QKKworV2VkIE1heSAzMCAyMDozMDo0NyBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogSFRNTHRyZWUuYzogYXBwbGllZCBwYXRjaCBmcm9tIEphcm9zbGF3IEtvbGFrb3dza2kgdG8gY2xvc2UgYnVnCisJICAjNTUzODAKKwkqIHRyZWUuYzogcGF0Y2ggdG8geG1sTm9kZUdldENvbnRlbnQoKSB0byBnZXQgQ0RBVEEgc2VjdGlvbiBjb250ZW50CisKK01vbiBNYXkgMjggMTI6NTY6MjkgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIFRPRE86IHVwZGF0ZWQKKwkqIG5hbm9odHRwLltjaF0gOiBzdGFydGVkIGFkZGluZyBBUElzIHRvIGdldCB0aGUgcmVkaXJlY3RlZCBVUkwKKwkgIHdoZW4gdGhpcyBvY2N1cnMgKG5lZWRlZCBmb3IgZnVydGhlciBiYXNlIGNvbXB1dGF0aW9uCisJKiB0cmVlLmg6IGNsZWFudXAKKwkqIGVuY29kaW5nLmM6IGNsZWFudXAKKwkqIFNBWC5jOiBtaW5vciBjaGFuZ2UgYXJvdW5kIGN0eHQtPmxvYWRzdWJzZXQKKworRnJpIE1heSAyNSAwOTozNjoyNiBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogTWFrZWZpbGUuYW0gaW5jbHVkZS9NYWtlZmlsZS5hbTogc21hbGwgY2hhbmdlIHRvIGhhdmUKKwkgIGluY2x1ZGUvbGlieG1sIHJlYnVpbHQgaWYgd29ya2luZyBmcm9tIENWUy4KKwkqIHVyaS5jOiBhcHBsaWVkIGFub3RoZXIgcGF0Y2ggZnJvbSBDYXJsIERvdWdsYXMgZm9yIFVSSSBlc2NhcGluZywKKwkgIHRoaXMgc2hvdWxkIGNsb3NlIGJ1ZyAjNTE4NzYKKworV2VkIE1heSAyMyAxNTo0MDoyNyBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogeGluY2x1ZGUuYzogZml4ZWQgWEluY2x1ZGUgcmVjdXJzaXZlIGJlaGF2aW91ciBidWcgIzU0Njc4CisJKiByZXN1bHQvWEluY2x1ZGUvcmVjdXJzaXZlLnhtbCB0ZXN0L1hJbmNsdWRlL2RvY3MvcmVjdXJzaXZlLnhtbAorCSAgdGVzdC9YSW5jbHVkZS9lbnRzL2luYy50eHQgdGVzdC9YSW5jbHVkZS9lbnRzL3N1Yi1pbmMuZW50OgorCSAgYWRkZWQgc3BlY2lmaWMgcmVncmVzc2lvbiB0ZXN0CisJKiBwYXJzZXIuaDogcHJlcGFyaW5nIGZvciB0aGUgWFNMVCBtb2RlIHdoZXJlIERURCBpbmhlcml0ZWQKKwkgIGF0dHJpYnV0ZXMgYXJlIGFkZGVkIHRvIHRoZSB0cmVlLgorCitXZWQgTWF5IDIzIDEzOjU5OjE5IENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiB4aW5jbHVkZS5bY2hdOiBVcGRhdGVkIHRoZSBuYW1lc3BhY2UgZm9yIHRoZSBMYXN0IENhbGwgdmVyc2lvbgorCSogcmVzdWx0L1hJbmNsdWRlL2luY2x1ZGUgdGVzdC9YSW5jbHVkZS9pbmNsdWRlOiB1cGRhdGVkIHRoZQorCSAgdGVzdHN1aXRlIGFjY29yZGluZ2x5CisKK1dlZCBNYXkgMjMgMTI6Mjc6NDQgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIHVyaS5bY2hdOiBhcHBsaWVkIGEgcGF0Y2ggZnJvbSBDYXJsIERvdWdsYXMgZm9yIFVSSSBlc2NhcGluZywKKwkgIHJlbGF0ZWQgdG8gYnVnICM1MTg3NgorCitUdWUgTWF5IDIyIDE4OjQ2OjU2IENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiB0cmVlLmM6IGZpeGVkIGEgZ3Jvc3MgbWlzdGFrZSBpbiBiYXNlIGNvbXB1dGF0aW9uLCB4bWw6YmFzZSBpcworCSAgbm90IGNvbXBsZXRlbHkgY29ycmVjdCB5ZXQgKG5lZWQgY2FzY2FkZSkuCisJKiB4cGF0aC5bY2hdOiBhZGRlZCB0aGUgZmV3IHRoaW5ncyBuZWVkZWQgdG8gZmluZCBhIGZ1bmN0aW9uIG5hbWUKKwkgIGFuZCBVUkkgZnJvbSB0aGUgWFBhdGggY29udGV4dCB3aGVuIGl0IGlzIGNhbGxlZC4KKworVHVlIE1heSAyMiAxNzowMDozNiBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogY2F0YWxvZy5bY2hdOiBmaXhlcyBhbmQgYWRkIHhtbExvYWRDYXRhbG9ncygpCisJKiBET0NCcGFyc2VyLmM6IHNtYWxsIGNsZWFudXAKKwkqIHhtbGxpbnQuYzogYWRkZWQgYSAtLWNhdGFsb2dzIG9wdGlvbiB0byBsb2FkIGNhdGFsb2dzIGZyb20KKwkgICRTR01MX0NBVEFMT0dfRklMRVMKKwkqIHRyZWUuYzogY2xlYW51cAorCSogY29uZmlndXJlLmluOiBpY29udiBsaWJyYXJ5IGZpeHVwLCBJQ09OVl9MSUJTIAorCitNb24gTWF5IDIxIDE2OjA1OjIyIENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiBjYXRhbG9nLmM6IGhhbmRsaW5nIG9mIENBVEFMT0cgZW50cmllcy4gZGV0ZWN0aW9uIG9mIHJlY3Vyc2lvbiwKKwkgIGFuZCBhIGZldyBidWdmaXhlcworCSogeHBhdGguYzogZml4aW5nIGJ1ZyAjNTQ5NTEgUU5BTUUgd2l0aCBubyBwcmVmaXggc2hvdWxkIG5vdCBtYXRjaAorCSAgYWdhaW5zdCB0aGUgZGVmYXVsdCBuYW1lc3BhY2UKKworTW9uIE1heSAyMSAxMDoxNDowNyBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogeHBhdGguYzogSm9lIE9ydG9uIHJlcG9ydGVkIGEgYnVnIGZvdW5kIHdpdGggSVJJeCBjb21waWxlci4KKworU3VuIE1heSAyMCAxNToxNTo0NiBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogcGFyc2VyLmM6IGZpeGVkIHByb3BhZ2F0aW9uIGNvbnRleHQgaW5mbyB3aGVuIHBhcnNpbmcgYW4KKwkgIGV4dGVybmFsIGVudGl0eS4KKwkqIGRvYy9odG1sLyouaHRtbDogcmVnZW5lcmF0ZWQgYSBjb3VwbGUgb2YgZG9jcworCitTYXQgTWF5IDE5IDE3OjExOjE1IENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiBkb2MveG1sLmh0bWw6IHVwZGF0ZSB3aXRoIDIuMy45IGluZm9ybWF0aW9ucworCitTYXQgTWF5IDE5IDE2OjUwOjQ3IENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiBIVE1MdHJlZS5oIGRlYnVnWE1MLmggcGFyc2VySW50ZXJuYWxzLmggdHJlZS5oIHZhbGlkLmMKKwkgIHhtbHZlcnNpb24uaC5pbiB4cGF0aEludGVybmFscy5oIHhwYXRoLmg6IHNvbWUgY2xlYW51cCBmb3IgZ3RrLWRvYworCSogZG9jL2h0bWwvKiA6IHJlYnVpbHQgdGhlIGRvY3MKKwkqIHZhbGlkLmM6IHNtYWxsIHBhdGNoIHdoaWNoIG1heSBpbXByb3ZlIHNvbWUgY2FzZSB3aGVuCisJICB2YWxpZGF0aW5nLgorCitTYXQgTWF5IDE5IDE1OjIwOjAzIENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiBIVE1McGFyc2VyLmM6IENsb3NlZCBidWcgIzU0ODkxCisJKiByZXN1bHQvSFRNTC9jZl8xMjguaHRtbCogdGVzdC9IVE1ML2NmXzEyOC5odG1sOiBhZGRlZCB0aGUgdGVzdAorCSAgdG8gdGhlIHN1aXRlCisKK1RodSBNYXkgMTcgMTQ6MTU6MDcgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIGVuY29kaW5nLmggaGFzaC5jIG5hbm9mdHAuaCBwYXJzZXIuaCB0cmVlLmggdXJpLmggeGxpbmsuaCB4cG9pbnRlci5jOgorCSAgYXBwbGllZCBhIGRvY3VtZW50YXRpb24gcGF0Y2ggZnJvbSBMb3RSIGFuZCBmaWxsZWQgaW4gYSBmZXcgbWlzc2luZworCSAgZGVzY3JpcHRpb25zCisKK1dlZCBNYXkgMTYgMjM6MDI6NDEgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIHhwYXRoLmMgdHJlZS5jIHBhcnNlci5jOiBzcGVlZCBvcHRpbWl6YXRpb25zIGF0IHRoZSBwYXJzZXIgbGV2ZWwKKwkgIGRvY3VtZW50IHRyZWUgZnJlZWluZyBhbmQgeHBhdGggZXZhbHVhdGlvbgorCitXZWQgTWF5IDE2IDEyOjU1OjQ4IENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiBwYXJzZXIuYyBwYXJzZXIuaCBwYXJzZXJJbnRlcm5hbHMuaDogZml4ZWQgYSBjb3VwbGUgb2YKKwkgIGludGVyZmFjZXMgZm9yIGhhbmRsaW5nIG1lbW9yeSBidWZmZXIgaW5wdXQgdG8gY29uc3QgY2hhciAqCisJICB1cG9uIHN1Z2dlc3Rpb24gb2YgSmFtZXNILgorCitUdWUgTWF5IDE1IDE3OjIyOjI3IENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiBjb25maWd1cmUuaW46IExvVFIgc2VudCBhIHBhdGNoIGZpeGluZyB0aGUgcHJldmlvdXMgY29tbWl0IAorCitUdWUgTWF5IDE1IDE0OjQwOjA0IENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiBjb25maWd1cmUuaW46IHRyeWluZyB0byBkZWFsIGFnYWluIHdpdGggdGhlIHN0b29waWQgLVIgbGlua2luZworCSAgZmxhZyBvZiBTb2xhcmlzCisKK1R1ZSBNYXkgMTUgMTI6NDk6NTAgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIHhwYXRoLmg6IHR3byBub2Rlc2V0IGFjY2VzcyBtYWNyb3MgZnJvbSBUaG9tYXMgQnJveWVyCisKK1R1ZSBNYXkgMTUgMTE6NDI6MzkgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIHhwYXRoLmMgeHBhdGguaCB4cGF0aEludGVybmFscy5oOiBhcHBseSBhbiBYUGF0aCBBUEkgY2xlYW51cAorCSAgcGF0Y2ggZnJvbSBUaG9tYXMgQnJveWVyCisKK1R1ZSBNYXkgMTUgMTA6NTI6MTkgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIHZhbGlkLmMgdGVzdC9WQ00vdjJbMzRdLnhtbDogRml4ZWQgYnVnICM1NDYzMSBhZGRlZCBzcGVjaWZpYyB0ZXN0CisJICBjYXNlCisJKiBJTlNUQUxMOiB3YXMgZW1wdHkgYWRkZWQgc3R1ZmYgZnJvbSB0aGUgRkFRCisKK0ZyaSBNYXkgMTEgMTk6Mzc6MzAgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIHRyZWUuW2NoXTogZml4aW5nIGJ1ZyAjNTQ0NDYsIGJ5IGNsZWFuaW5nIHNvbWUgYnVncyBpbiB0aGUKKwkgIGF0dHJpYnV0ZXMgaGFuZGxpbmcgYW5kICM1NDQzMyBieSBhZGRpbmcgeG1sVW5zZXRQcm9wKCkKKwkgIGFuZCB4bWxVbnNldE5zUHJvcCgpCisKK0ZyaSBNYXkgMTEgMTY6MDc6MTMgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIEhUTUxwYXJzZXIuYzogUGF0Y2ggZnJvbSBKb25hcyBCb3Jnc3Ryw7ZtCisJKGh0bWxHZXRFbmRQcmlvcml0eSk6IE5ldyBmdW5jdGlvbiwgcmV0dXJucyAKKwl0aGUgcHJpb3JpdHkgb2YgYSBjZXJ0YWluIGVsZW1lbnQuCisJKGh0bWxBdXRvQ2xvc2VPbkNsb3NlKTogT25seSBjbG9zZSBpbmxpbmUgZWxlbWVudHMgaWYgdGhleSAKKwlhbGwgaGF2ZSBsb3dlciBvciBlcXVhbCBwcmlvcml0eS4KKwkqIHJlc3VsdC9IVE1MOiB0aGlzIG9mIGNvdXJzZSBjaGFuZ2VkIGEgbnVtYmVyIG9mIHRlc3RzIHJlc3VsdHMuCisKK1RodSBNYXkgMTAgMTc6MzA6MjIgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIHhtbElPLmMgY2F0YWxvZy5jOiBwbHVnZ2VkIGluIHRoZSBkZWZhdWx0IGNhdGFsb2cgcmVzb2x1dGlvbgorCSogZG9jL2dub21lLXhtbC5zZ21sOiBsaW5rZWQgaW4gdGhlIERvY2Jvb2sgcGFyc2VyIGFuZCBjYXRhbG9nCisJICBkb2N1bWVudGF0aW9ucworCSogZG9jL2h0bWwvbGlieG1sLSouaHRtbDogcmVidWlsZCBhZGRlZCB0aGUgbWlzc2luZyBvbmVzIHRvIENWUworCitUaHUgTWF5IDEwIDE2OjE0OjM2IENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiBNYWtlZmlsZS5hbSB4bWx2ZXJzaW9uLmguaW4gY29uZmlndXJlLmluIGluY2x1ZGUvTWFrZWZpbGUuYW06CisJICBpbnRlZ3JhdGluZyBjYXRhbG9ncworCSogY2F0YWxvZy5bY2hdIHRlc3RDYXRhbG9nLmM6IGFkZGluZyBhIHNtYWxsIGNhdGFsbyBBUEkKKwkgIChvbmx5IFNHTUwgY2F0YWxvZyBzdXBwb3J0KS4KKwkqIHBhcnNlci5jOiByZXN0YXVyZWQgeG1sS2VlcEJsYW5rc0RlZmF1bHQoMCkgQVBJCisKK1dlZCBNYXkgIDkgMTI6NTA6MTUgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIHRyZWUuYzogemJAYmlzcC5jb20gcmVwb3J0ZWQgYW4gZXJyb3IgaW4geG1sTm9kZUdldExhbmcoKQorCitUdWUgTWF5ICA4IDEyOjMxOjQwIENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiBwYXJzZXIuYzogYWRkZWQgeG1sUGFyc2VFeHRlcm5hbEVudGl0eVByaXZhdGUoKSB0byBhbGxvdworCSAgcHJvcGFnYXRpb24gb2YgY3R4dC0+X3ByaXZhdGUgd2hlbiBwYXJzaW5nIGV4dGVybmFsIGVudGl0aWVzCisKK1R1ZSBNYXkgIDggMTA6MjY6MjIgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIEhUTUx0cmVlLmM6IGZpeGVkIHRoZSBidWcgcmVwb3J0ZWQgYnkgQmpvcm4gaW4gaHRtbE5vZGVEdW1wCisKK1R1ZSBNYXkgIDggMDk6MzA6MTIgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIGNvbmZpZ3VyZS5pbjogZml4ZWQgYSBzbWFsbCBwb3J0YWJpbGl0eSBwcm9ibGVtIHdpdGggQU1fQ09ORElUSU9OQUwKKworTW9uIE1heSAgNyAyMjo0NDo0NSBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogdmFsaWQuYzogd2FybiB3aGVuIGluZGV0ZXJtaW5pc3QgY29udGVudCBtb2RlbCBpcyBkZXRlY3RlZAorCSogcmVzdWx0L1ZDL0VsZW1lbnRWYWxpZDg6IHRoaXMgYWRkcyBhIG1lc3NhZ2UKKwkqIE1ha2VmaWxlLmFtOiBhZGQgLS1ub3ZhbGlkIGZvciBWQ00gdGVzdHMKKwkqIHBhcnNlckludGVybmFscy5jOiBhZGRlZCBhIGNhbGwgdG8gSW5pdCBtZW1vcnkgCisKK0ZyaSBNYXkgIDQgMTk6NTE6MTUgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIEhUTUxwYXJzZXIuYzogZml4ZWQgaHRtbE5ld0RvYyBTWVNURU0gYW5kIFBVQkxJQyBJRCBpbnZlcnNpb24KKwkgIHdoZW4gYm90aCBwYXJhbWV0ZXJzIGFyZSBOVUxMLgorCitGcmkgTWF5ICA0IDE3OjE5OjM5IENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiB2YWxpZC5jOiBhcHBsaWVkIHNtYWxsIHBhdGNoIGZyb20gR2FyeSBQZW5uaW5ndG9uLCByZWluZGVudGVkCisJICBzb21lIHBhcnQgb2YgdGhlIGNvZGUuCisKK1RodSBNYXkgIDMgMTM6MTA6NDMgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIGNvbmZpZ3VyZS5pbiBkb2MveG1sLmh0bWwgZG9jL2h0bWwvKjogcHJlcGFyaW5nIGZvciAyLjMuOAorCSAgcmVsZWFzZSwgdXBkYXRlZCBhbmQgcmVnZW5lcmF0ZWQgdGhlIGRvY3MKKworVGh1IE1heSAgMyAxMjo0Nzo0NiBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogeHBhdGguYyByZXN1bHQvWFBhdGgvZXhwci9mbG9hdHMgOiBjbGFyaWZpZWQgYW5kIGNsZWFudXAKKwkgIHByaW50aW5nIG9mIGFibm9ybWFsIGZsb2F0cyBpbiB0ZXN0cy4KKworVGh1IE1heSAgMyAxMDoyNToxOSBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogSFRNTHBhcnNlci5jOiB0cnlpbmcgdG8gZml4IHRoZSBwcm9ibGVtIHJlcG9ydGVkIGJ5IEpvbmFzIEJvcmdzdHLDtm0KKwkqIHJlc3VsdHMvSFRNTC8gOiBhIGZldyBjaGFuZ2VzIGluIHRoZSBvdXRwdXQgb2YgdGhlIEhUTUwgdGVzdHMgYXMKKwkgIGEgcmVzdWx0LgorCSogY29uZmlndXJlLmluOiB0eWluZyB0byBmaXggLWxpY29udiB3aGVyZSBuZWVkZWQKKworV2VkIE1heSAgMiAxOToxMDoyNiBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogTWFrZWZpbGUuYW06IGZpeGVkIGEgc3R1cGlkIGVycm9yCisKK1dlZCBNYXkgIDIgMTg6Mzk6MzkgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIGNvbmZpZ3VyZS5pbiBNYWtlZmlsZS5hbTogbWFrZSB0aGUgaW5jbHVzaW9uIG9mIHRoZSB0cmlvCisJICBtb2R1bGVzIGluIHRoZSBsaWJyYXJ5IGNvbmRpdGlvbmFsCisKK1dlZCBNYXkgIDIgMTQ6Mzk6NTcgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIERPQ0JwYXJzZXIuYzogcGF0Y2hlIGZyb20gIEzDoXN6bMOzIEtvdsOhY3MsIGZpeGVkIGVudGl0aWVzIHJlZnMKKwkgIGluIGF0dHJpYnV0ZXMgaGFuZGxpbmcKKworV2VkIE1heSAgMiAxMjo1NjowNCBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogeG1sSU8uYzogQmpvcm4gUmVlc2UgcHJvdmlkZWQgYSBmaXggZm9yIGEgcHJvYmxlbSBvbiBidWZmZXIKKwkgZmx1c2hpbmcKKworTW9uIEFwciAzMCAyMjoyOTozNCBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogeHBhdGguYzogZml4IG9mIGFuIFhTTFQgbmFtZXNwYWNlIGJ1ZyByZXBvcnRlZCBvbiB0aGUgbGlzdAorCSAgZ2VuZXJhbC9idWctOC0KKworTW9uIEFwciAzMCAxOTo0Mjo1OCBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogc3RyaW8uaCB0cmlvLmM6IERhbiBNY05pY2hvbCBzdWdnZXN0ZWQgYSBjb3VwbGUgb2Ygc21hbGwKKwkgIGZpeGVzIGZvciBBSVggNC4zLjMgdXNpbmcgVmlzdWFsIEFnZSA1LjAuMiBjb21waWxlcgorCitNb24gQXByIDMwIDEzOjQ0OjQ4IENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiB0cmVlLmMgcGFyc2VyLmMgZW5jb2RpbmcuYzogc3BlbnQgYSBiaXQgbW9yZSB0aW1lIGxvb2tpbmcKKwkgIGF0IHRoZSBwYXJzaW5nIHNwZWVkIGFuZCBET00gaGFuZGxpbmcuIEFkZGVkIGEgZmV3IG1vcmUKKwkgIHNwZWVkdXBzLgorCitTdW4gQXByIDI5IDIxOjUzOjQ3IENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiBwYXJzZXIuYzogc21hbGwgYnV0IGVmZmVjdGl2ZSBwYXJzaW5nIHNwZWVkIGltcHJvdmVtZW50CisKK1N1biBBcHIgMjkgMTk6MDI6MTMgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIGNvbmZpZ3VyZS5pbjogZGVmYXVsdCBvbiB0aGUgRG9jQm9vayBwYXJzZXIgaW5jbHVzaW9uIChmb3IgR25vbWUpCisJKiBET0NCcGFyc2VyLmg6IGZpeGVkIGEgaGVhZGVyIHJlZmVyZW5jZQorCitTYXQgQXByIDI4IDE5OjAwOjM5IENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiBjb25maWd1cmUuaW4geHBhdGguYzogYXBwbGllZCBCam9ybiBwYXRjaGVzIGZvciBGUEUgb24gdGhlCisJICBhbHBoYQorCitTYXQgQXByIDI4IDE4OjU0OjI4IENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiB0cmVlLltjaF0geG1sSU8uaDogYXBwbGllZCBwYXRjaCBmcm9tIEpvZSBNY0FsZXJuZXkgdG8gYWRkCisJICB4bWxTYXZlRm9ybWF0RmlsZVRvKCkKKworU2F0IEFwciAyOCAxNjozMzowNSBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogeHBhdGguYzogc2ltcGxlIGFuZCBlZmZpY2llbnQgb3B0aW1pemF0aW9uLCBYUGF0aCBmdW5jdGlvbnMKKwkgIGF3YXlzIGJpbmQgdG8gdGhlIHNhbWUgY29kZSwgY2FjaGUgdGhpcworCSogVE9ETzogdXBkYXRlZCAoYnkgc2F5aW5nIHNvbWUgaXMgb2Jzb2xldGUpCisKK1NhdCBBcHIgMjggMTQ6MjM6MzAgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIHhwYXRoLmM6IG1vcmUgY2xlYW51cCB3b3JrIG9uIFhQYXRoIG5hbWUgcGFyc2luZyByb3V0aW5lcworCitGcmkgQXByIDI3IDE5OjA2OjEzIENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiBwYXJzZXJJbnRlcm5hbHMuYyB4cGF0aC5bY2hdOiBzb21lIFVURjggY2xlYW51cCBvbgorCSAgeG1sWFBhdGhQYXJzZU5hbWUKKwkqIHhwYXRoLmM6IElnb3IgWmxhdGtvdmljIHN1Z2dlc3RlZCBhIGNoYW5nZSBmb3IgTkFOIGFuZCBNU0MKKwkqIGRlYnVnWE1MLmM6IGF2b2lkIGNvbXBpbGF0aW9uIHByb2JsZW1zIGlmIGNvbXBpbGluZyB3aXRob3V0CisJICBIVE1MIHN1cHBvcnQsIElnb3IgWmxhdGtvdmljCisJKiB3aW4zMi9saWJ4bWwyL2xpYnhtbDIuZGVmLnNyYzogYmVpbmcgYWJsZSB0byBjb21waWxlIHdpdGhvdXQKKwkgIFhQYXRoIG9uIFdpbmRvd3MKKworVGh1IEFwciAyNiAyMjo1MzowMyBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogbGlieG1sLm00OiB5ZXQgYW5vdGhlciBwYXRjaCBmcm9tIFRvc2hpbyBLdXJhdG9taQorCitUaHUgQXByIDI2IDIxOjI3OjQzIENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiBsaWJ4bWwubTQgbGlieG1sMi1zcGVjLmluOiBuZXcgcGF0Y2hlcyBmcm9tIFRvc2hpbyBLdXJhdG9taQorCitUaHUgQXByIDI2IDIwOjUzOjQ4IENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiB0cmVlLltjaF06IGFkZGVkIHhtbFNhdmVGb3JtYXRGaWxlIGludGVyZmFjZSBmb3Igc2F2aW5nCisJICBhbmQgaW5kZW50aW5nIGEgZmlsZS4KKworVGh1IEFwciAyNiAxNjozNTo1MyBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogeHBhdGguYzogZml4ZWQgYnVnICM1MzY4OSByZWxhdGVkIHRvIHByb2Nlc3NpbmctaW5zdHJ1Y3Rpb24oKQorCitUaHUgQXByIDI2IDEyOjU3OjU4IENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiBET0NCcGFyc2VyLmM6IHBhdGNoZSBmcm9tICBMw6FzemzDsyBLb3bDoWNzCisKK1RodSBBcHIgMjYgMTE6MzE6NTQgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIHBhcnNlci5jOiBhcHBsaWVkIGZpeGVzIGZyb20gQ2hyaXN0aWFuIEdsYWhuIGJ1ZyByZXBvcnQgIzUzMzkxCisKK1RodSBBcHIgMjYgMTE6MTQ6NTYgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIGVycm9yLmM6IEplYW4gRnJhbsOnb2lzIExlY29tdGUgcHJvdmlkZWQgYSBjb21wbGV0ZSBkZXNjcmlwdGlvbgorCSAgYW5kIGEgZml4IHRvIGJ1ZyAjNTM1MzcKKworVGh1IEFwciAyNiAwOTo0Mjo1OCBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogbGlieG1sLm00OiBhZGRlZCBBTV9QQVRIX1hNTDIgcHJvdmlkZWQgYnkgVG9zaGlvIEt1cmF0b21pCisKK1dlZCBBcHIgMjUgMjE6MDU6MzEgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIERPQ0JwYXJzZXIuYyBTQVguYzogYSBiaXQgbW9yZSB3b3JrIG9uIGVudGl0aWVzIHByb2Nlc3NpbmcuCisJICBTdGlsbCBOZWVkIHRvIGNsZWFudXAgWE1MIG91dHB1dCBhbmQgcmVmZXJlbmNlcyBpbiBhdHRyaWJ1dGVzCisKK1dlZCBBcHIgMjUgMTc6NTI6MjcgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIERPQ0JwYXJzZXIuYyBpbmNsdWRlL01ha2VmaWxlLmFtOiB0d28gcGF0Y2hlcyBmcm9tIEzDoXN6bMOzIEtvdsOhY3MKKworV2VkIEFwciAyNSAxNDo1NjoyNiBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogdHJlZS5jOiB0cnlpbmcgdG8gZml4ICM1MzU3NCwgbm90IGNvbXBsZXRlbHkgY29tcGxldGUsCisJICBJIHdvdWxkIGxpa2UgeG1sbGludCAtLWNvcHkgLS1kZWJ1ZyB0ZXN0L2VudDEgYW5kCisJICB4bWxsaW50IC0tZGVidWcgdGVzdC9lbnQxIHRvIHNob3cgdGhlIHNhbWUgcmVzdWx0LgorCSogeHBhdGguYzogZml4IGEgYnVnIHdoZW4gdHJ5aW5nIHRvIHNvcnQgbmFtZXNwYWNlIG5vZGVzCisKK1dlZCBBcHIgMjUgMTI6Mjg6NTcgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIEhUTUx0cmVlLmM6IHJlYWwgZml4IGZvciAgIzUzNDAyCisKK1R1ZSBBcHIgMjQgMTc6MzY6MzUgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIEhUTUx0cmVlLmMgSFRNTHRyZWUuaCA6IGNsb3NpbmcgIzUzNDAyIGkuZS4gb3V0cHV0IG9mCisJICBQSXMgd2hlbiB1c2luZyB4c2w6b3V0cHV0CisJKiB2YWxpZC5jOiBjbG9zaW5nICM1MzUzNyBzb21lIGNhc2UgZ2VuZXJhdGUgc2VnZmF1bHRzIGlmIHRoZXJlCisJICBpcyB2YWxpZGl0eSBlcnJvcnMKKworVHVlIEFwciAyNCAxNToxOTo1MyBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogU0FYLmMgdGVzdERvY2Jvb2suYyBET0NCcGFyc2VyLmM6IG1vcmUgd29yayBvbiB0aGUgc3VwcG9ydAorCSAgb2YgZXh0ZXJuYWwgcGFyc2VkIGVudGl0aWVzLCBhZGRlZCAtLW5vZW50IHRvIHRlc3REb2Nib29rCisJKiB2YWxpZC5jOiBHYXJyeSBQZW5uaW5ndG9uIGZvdW5kIGFuIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUKKwkgIGFjY2VzcyBpbiB4bWxWYWxpZGF0ZUVsZW1lbnRDb250ZW50KCkKKworVHVlIEFwciAyNCAxNDo0MToyNSBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogSFRNTHBhcnNlci5jIDogSFRNTCBwYXJzaW5nIHN0aWxsIHN1Y2tzIC4uLiB0cnlpbmcgdG8gZGVhbAorCSAgd2l0aCBtYWRuZXNzCisJKiByZXN1bHQvSFRNTC8gOiB0aGlzIG1vZGlmaWVkIHRoZSByZXN1bHQgb2YgdGhlIHJlZ3Jlc3Npb24gdGVzdHMKKwkgIGEgbG90LgorCitUdWUgQXByIDI0IDE0OjEwOjM4IENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiBlbnRpdGllcy5jOiB4bWxFbmNvZGVFbnRpdGllc1JlZW50cmFudCBmaXhlZCBhIGZldyBhY2Nlc3NlcworCSAgdG8gZG9jIHdoZXJlIGl0IHdhc24ndCBjaGVja2VkIGFnYWluc3QgTlVMTCByZXBvcnRlZCBieQorCSAgSmVucyBMYWFzCisKK1R1ZSBBcHIgMjQgMTM6MjE6MzYgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIEhUTUxwYXJzZXIuYzogSm9uYXMgQm9yZ3N0csO2bSBwYXRjaCwgdGhlIDx0ZD4sIGFuZCA8dGg+IGVsZW1lbnRzCisJICBub3cgbWVhbnMgdGhlIGVuZCBvZiBhbnkgb3BlbiA8c3Bhbj4sPGZvbnQ+LDxhPiw8Yj4sPGk+LDx1Pi4KKworTW9uIEFwciAyMyAxNTo0MDowNCBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogRE9DQnBhcnNlci5jIERPQ0JwYXJzZXIuaCB0ZXN0RG9jYm9vay5jIGNvbmZpZ3VyZS5pbiBNYWtlZmlsZS5hbQorCSAgeG1sdmVyc2lvbi5oLmluOiBzdGFydGVkIChyZSlpbnRlZ3JhdGluZyB0aGUgRG9jQm9vayBTR01MIHBhcnNlci4KKwkqIFNBWC5bY2hdOiBjbGVhbnVwIGFuZCB1cGRhdGVzIGZvciBEb2NCb29rCisJKiBkZWJ1Z1hNTC5jIHBhcnNlci5oIHRyZWUuW2NoXSB2YWxpZC5jIHhwYXRoLmM6IHNtYWxsIG1hY3JvIG9yCisJICBleCBTR01MIGlkZW50aWZpZXIgY2hhbmdlcworCSogdmFsaWQuYzogcmVtb3ZlZCBhIHN0YXRpYyB1bnVzZWQgZnVuY3Rpb24uCisKK01vbiBBcHIgMjMgMTE6MDU6NTYgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIEhUTUx0cmVlLmM6IGFwcGxpZWQgY2hhbmdlIGZvciBQYXVsIFNwb25hZ2wgb24gc2NyaXB0IHNhdmluZworCSogTWFrZWZpbGUuYW06IHRoZSB3YXJuaW5nIGFib3V0IGVudGl0eSB0aXRsZS54bWwgYXJlIG5vcm1hbC4KKworU3VuIEFwciAyMiAyMjowOTozNSBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogY29uZmlndXJlLmluOiByZWxlYXNlIG9mIDIuMy43CisJKiBNYWtlZmlsZS5hbTogZml4aW5nIG1ha2UgZGlzdGNoZWNrCisKK1N1biBBcHIgMjIgMjE6Mjk6NTIgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIGRvYy9odG1sLyogZG9jL3htbC5odG1sOiB1cGRhdGVkIGFuZCByZWdlbmVyYXRlZCB0aGUgZG9jcworCitTdW4gQXByIDIyIDIxOjExOjQ1IENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiB4cGF0aC5jOiBmaXhlZCB0aGUgWFBvaW50ZXIgcHJvYmxlbSBpbnRyb2R1Y2VkIGluIDIuMy42CisKK1N1biBBcHIgMjIgMTQ6MTE6NTggQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIHRyZWUuYzogZml4ZWQgIzUzMzg4IHdpdGggdGhlIHByb3ZpZGVkIHBhdGNoCisKK1N1biBBcHIgMjIgMTI6MzQ6NDEgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIHZhbGlkLmM6IEJqb3JuIGRldGVjdGVkIGFuIGludmFsaWQgbWVtb3J5IGFjY2Vzcy4gRml4ZWQKKwkgIHZzdGF0ZVZQdXNoKCkKKworU3VuIEFwciAyMiAxMDo0OToyMyBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogeHBhdGguYzogZml4ZWQgeG1sWFBhdGhDb21waWxlIHRvIGRldGVjdGVkIHVucHJvcGVybHkgZW5kZWQgZXhwcgorCitTYXQgQXByIDIxIDE4OjI3OjUxIENFU1QgMjAwMSBCam9ybiBSZWVzZSA8YnJlZXNlQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KKworCSogbGlieG1sLmg6IG5ldyBoZWFkZXIgdXNlZCBvbmx5IGZvciB0aGUgY29tcGlsYXRpb24gb2YgbGlieG1sCisJKiBIVE1McGFyc2VyLmMgSFRNTHRyZWUuYyBTQVguYyBkZWJ1Z1hNTC5jIGVuY29kaW5nLmMgZW50aXRpZXMuYworCSAgZXJyb3IuYyBoYXNoLmMgbGlzdC5jIG5hbm9mdHAuYyBuYW5vaHR0cC5jIHBhcnNlci5jCisJICBwYXJzZXJJbnRlcm5hbHMuYyB0ZXN0SFRNTC5jIHRlc3RTQVguYyB0ZXN0VVJJLmMgdGVzdFhQYXRoLmMKKwkgIHRyZWUuYyB1cmkuYyB2YWxpZC5jIHhpbmNsdWRlLmMgeGxpbmsuYyB4bWxJTy5jIHhtbGxpbnQuYworCSAgeG1sbWVtb3J5LmMgeHBhdGguYyB4cG9pbnRlci5jOiBsaWJ4bWwuaCBpbnRlZ3JhdGlvbgorCSogdHJpby5bY2hdIHRyaW9wLmggc3RyaW8uW2NoXTogdXBncmFkZWQgdG8gdGhlIGxhdGVzdCB0cmlvCisJICBiYXNlbGluZSAodmVyc2lvbiAxLjIgcGx1cyBhIHNpbmdsZSBwYXRjaCkuCisJKiB4cGF0aC5jIHJlc3VsdC9YUGF0aC9leHByL2Zsb2F0cyB0ZXN0L1hQYXRoL2V4cHIvZmxvYXRzOiBwYXJzZXMKKwkgIHNjaWVudGlmaWMgbm90YXRpb24gZm9yIG51bWJlcnMuIFRlc3RzIGFkZGVkLgorCSogeHBhdGguYzogZm9ybWF0dGluZyBvZiBudW1iZXJzIGNoYW5nZWQgdG8gdXNlIHNwcmludGYKKwkgIChjb250cmlidXRpb24gZnJvbSBXaWxsaWFtIEJyYWNrKQorCitTYXQgQXByIDIxIDE2OjEyOjU5IENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiB2YWxpZC5jOiBjbGVhbnVwLCBtb3JlIHVzZWZ1bCBkZWJ1Z2dpbmcKKwkqIHBhcnNlckludGVybmFscy5jOiBjbGVhbnVwIHZjdHh0Lm5vZGVUYWIgKGRlKWFsbG9jYXRpb24KKwkqIHhtbElPLmM6IGVudGl0eSBsb2FkaW5nIGlzIHByaW50ZWQgYXMgYW4gZXJyb3Igd2hlbiB2YWxpZGF0aW5nCisKK1NhdCBBcHIgMjEgMTI6MjU6NDkgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIHZhbGlkLmM6IGZpeGVkIHRvIHZhbGlkYXRlIHdpdGhpbiBlbnRpdGllcworCSogdGVzdC9WQ00vdjIyLnhtbDogYWRkZWQgYSBzcGVjaWZpYyB0ZXN0Y2FzZQorCitGcmkgQXByIDIwIDE3OjQ1OjQ3IENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiB2YWxpZC5jOiBmb3Jnb3QgYW4gZXBzaWxvbiB0cmFuc2l0aW9uIGluIGZvciAoKSsKKwkqIHRlc3QvVkNNL3YyMS54bWwgOiBhZGRlZCBhIHNwZWNpZmljIHRlc3QgY2FzZQorCitGcmkgQXByIDIwIDE1OjQ2OjA0IENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiB2YWxpZC5jOiByZW1vdmVkIGEgc3RhdGUgZXhwbG9zaW9uIGV4aGliaXRlZCBieSBSU1MKKwkqIHRlc3QvdmFsaWQvcnNzLnhtbCByZXN1bHQvdmFsaWQvcnNzLnhtbCo6IGFkZGVkIHRoZSB0ZXN0Y2FzZQorCSAgZnJvbSBidWcgIzUxODcyCisKK0ZyaSBBcHIgMjAgMTQ6NTI6NDQgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIHZhbGlkLltjaF0gdHJlZS5oOiB3b3JrZWQgKmhhcmQqIHRvIGdldCBub24tZGV0ZXJtaW5pc3QgY29udGVudAorCSAgdmFsaWRhdGlvbiB3aXRob3V0IHVzaW5nIGFuIHVnbHkgTkZBIC0+IERGQSBhbGdvIGluIHRoZSBzb3VyY2UuCisJICBNYWRlIGEgc3BlY2lmaWMgYWxnb3JpdGhtIGVhc2llciB0byBtYWludGFpbiwgdXNpbmcgYSBzaW5nbGUKKwkgIHN0YWNrIGFuZCB3aXRob3V0IHJlY3Vyc2lvbi4KKwkqIE1ha2VmaWxlLmFtIHRlc3QvVkNNLyoueG1sOiBhZGRlZCBtb3JlIHRlc3RzIHRvICJtYWtlIFZhbGlkdGVzdHMiCisJKiBoYXNoLmM6IG1hZGUgdGhlIGdyb3dpbmcgcm91dGluZSBzdGF0aWMKKwkqIHRyZWUuaCBwYXJzZXIuYzogYWRkZWQgdGhlIHBhcmVudCBpbmZvcm1hdGlvbiB0byBhbgorCSAgeG1sRWxlbWVudENvbnRlbnQgbm9kZS4KKworV2VkIEFwciAxOCAyMzozMzoxMSBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogU0FYLmMgcGFyc2VyLmMgeHBhdGguYzogZ2VuZXJhdGluZyBJRHMgd2hlbiBub3QgdmFsaWRhdGluZworCSAgZnJvbSBhbiBleHRlcm5hbCBwYXJzZWQgZW50aXR5IHdhcyBwb2lzb25pbmcgdGhlIElEIGhhcyB0YWJsZQorCSAgd2l0aCByZW1vdmVkIHZhbHVlcy4gVGhpcyB3YXMga2lsbGluZyBYU0xUIG9uIHRoZSBLREUgaGVscAorCSAgYnJvd3Nlci4KKworV2VkIEFwciAxOCAxNzowOToxNSBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogZW50aXRpZXMuaDogYW5kcmV3QHVnaC5uZXQuYXUgZGV0ZWN0ZWQgYSBkb3VibGUgZGVjbGFyYXRpb24KKworV2VkIEFwciAxOCAxNTowNjozMCBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogZGVidWdYTUwuYyBoYXNoLmMgdHJlZS5oIHZhbGlkLmMgOiBzb21lIGNoYW5nZXMgcmVsYXRlZCB0bworCSAgdGhlIHZhbGlkYXRpb24gc3Vwb3J0IHRvIGltcHJvdmUgc3BlZWQgd2l0aCBEb2NCb29rCisJKiByZXN1bHQvVkMvT25lSUQyIHJlc3VsdC9WQy9PbmVJRDMgOiB0aGlzIHNsaWdodGx5IGNoYW5nZXMKKwkgIHRoZSB3YXkgdmFsaWRhdGlvbiBlcnJvcnMgZ2V0IHJlcG9ydGVkCisKK1dlZCBBcHIgMTggMTE6NDI6NDcgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIEhUTUxwYXJzZXIuYyBIVE1MdHJlZS5jOiBhcHBsaWVkIHBhcnQgb2YgdGhlIHBhdGNoZXMgcHJvdmlkZWQKKwkgIGJ5IFAgQyBDaG93IGFuZCBXaWxsaWFtIE0uIEJyYWNrIGZvciBYU0xUIEhUTUwgb3V0cHV0CisKK01vbiBBcHIgMTYgMTk6NDQ6MzYgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIHhtbHZlcnNpb24uaC5pbiB3aW4zMmNvbmZpZy5oIHdpbjMyL2xpYnhtbDIvKjogYXBwbGllZCAKKwkgIElnb3IgWmxhdGtvdmljIHBhdGNoZXMgZm9yIE1TQyBjb21waWxhdGlvbiBhbmQgYWRkZWQgaGlzCisJICB1cGRhdGVzCisKK1R1ZSBBcHIgMTcgMTA6MDg6MTkgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIHhwYXRoLmM6IGZpeGVkIHhtbFhQYXRoTm9kZUNvbGxlY3RBbmRUZXN0KCkgdG8gZG8gcHJvcGVyCisJICBwcmVmaXggbG9va3VwLgorCSogcGFyc2VySW50ZXJuYWxzLmM6IGZpeGVkIHRoZSBidWcgcmVwb3J0ZWQgYnkgTW9ydXMgV2FsdGVyCisJICBkdWUgdG8gYW4gb2ZmIGJ5IG9uZSB0eXBvIGluIHhtbFN0cmluZ0N1cnJlbnRDaGFyKCkKKworVGh1IEFwciAxMiAxNzo0MTowOSBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogSFRNTHBhcnNlci5jIHJlc3VsdC9IVE1MLyo6IHJldmFtcGVkIHRoZSB3YXkgdGhlIEhUTUwKKwkgIHBhcnNlciBoYW5kbGVzIGVuZCBvZiB0YWdzIG9yIGVuZCBvZiBpbnB1dAorCitUaHUgQXByIDEyIDEwOjUwOjM0IENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiB0cmVlLltjaF0gOiBhZGRlZCB4bWxEb2NDb3B5Tm9kZSBmb3IgZ2RvbWUyIHN1cHBvcnQKKworV2VkIEFwciAxMSAxNjozNzo1MCBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogdHJlZS5oOiBpbmNsdWRlIHhtbG1lbW9yeS5oIHRoaXMgc2VlbXMgdG8gaGF2b2lkIGEgbmFzdHkgZ2xpYmMKKwkgIGJ1ZyB3aGVyZSB0aGUgbGlua3RpbWUgdmVyaW9ucyBvZiBmcmVlKCkgd29uJ3Qgd29yayAuLi4KKworV2VkIEFwciAxMSAxNDoyMTozMSBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogY29uZmlnLmguaW4gY29uZmlndXJlLmluIHhtbHZlcnNpb24uaC5pbjogYWRkZWQgYW5zaWRlY2wuaCB0ZXN0CisKK1dlZCBBcHIgMTEgMTM6NTA6NDIgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIGRvYy94bWwuaHRtbDogYWRkZWQgMi4zLjYgcmVsZWFzZQorCitXZWQgQXByIDExIDEzOjI2OjM0IENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiB0cmVlLmM6IGZpeGVkIHhtbFN0cmluZ0dldE5vZGVMaXN0KCkgdG8gaGFuZGxlIGNoYXJyZWZzCisJKiByZXN1bHQvd21sLnhtbDogcmVzdWx0ZWQgaW4gYSBzbWFsbCBvdXRwdXQgY2hhbmdlCisKK1dlZCBBcHIgMTEgMDk6NDc6NTUgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIHRyZWUuYzogeG1sTmV3RG9jIHdhcyBtaXNzaW5nIHRoZSBjaGFyc2V0IGluaXRpYWxpemF0aW9uCisJKiB4bWxsaW50LmM6IGFkZGVkIC0tYXV0byB0byBhdXRvZ2VuZXJhdGUgYSBkb2MsIGFsbG93IHRvCisJICByZXByb2R1Y2UgdGhlIHByb2JsZW0gZml4ZWQgb24geG1sTmV3RG9jCisKK1R1ZSBBcHIgMTAgMTg6MTM6MTAgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIHhwYXRoLmM6IHRyeWluZyB0byBnZXQgNTI5Nzkgc29sdmVkCisJKiB0cmVlLmMgcmVzdWx0LyByZXN1bHQvbm9lbnQvOiB0cnlpbmcgdG8gZ2V0IDUyNzEyIHNvbHZlZCwgdGhpcworCSAgYWxzbyBtYWRlIG1lIGNsZWFuIHVwIHRoZSBmYWN0IHRoYXQgWE1MIG91dHB1dCBpbiBnZW5lcmFsIHNob3VsZAorCSAgbm90IGFkZCBmb3JtYXRpbmcgYmxhbmtzIGJ5IGRlZmF1bHQsIHRoaXMgY2hhbmdlZCB0aGUgb3V0cHV0IG9mCisJICBhIGZldyB0ZXN0cworCitUdWUgQXByIDEwIDE2OjMwOjIwIENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiB4cGF0aC5jOiBCaWxsIEJyYWNrIHBvaW50ZXIgYW4gZXJyb3IgaW4gZGV0ZWN0aW5nIGEgbnVsbCBub2Rlc2V0CisKK1N1biBBcHIgIDggMTU6MDc6MTYgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIGNvbmZpZ3VyZS5pbjogZmluYWxseSByZWxlYXNlZCAyLjMuNgorCitTdW4gQXByICA4IDExOjM5OjIxIENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiB4cGF0aC5jOiBjaGVja2luZyBmb3IgbnVsbCBwb2ludGVyIGdlbmVyYXRlZCBieSBuZXcgY29kZQorCitGcmkgQXByICA2IDEyOjUzOjA1IENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiB4cGF0aC5jOiBmaXhlZCBhIFtdIGV2YWx1YXRpb24gcHJvYmxlbSByZXBvcnRlZAorCSogdGVzdC9YUGF0aC90ZXN0cy9zaW1wbGVhZGRyOiBleHRlbmRlZCB0ZXN0CisJKiByZXN1bHQvWFBhdGgvc2ltcGxlYWRkcjogdXBkYXRlZCByZXN1bHQKKworV2VkIEFwciAgNCAwMjowNzo1MyBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogeG1sbGludC5jOiBEYW4gVGltaXMgcmVwb3J0ZWQgYSBwb3J0YWJpbGl0eSBwcm9ibGVtCisJICBvbiBNYWNzIHdpdGhvdXQgbW1hcCwgZml4ZWQgaXQuCisKK1R1ZSBBcHIgIDMgMjA6MjA6NTEgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIHRlc3RYUGF0aC5jIDogYWRkZWQgYSAtLXRyZWUgb3B0aW9uIGFsbG93aW5nIHRvIGRpc3BsYXkgdGhlCisJICB0cmVlIGR1bXAgb2YgdGhlIFhQYXRoIGV4cHJlc3Npb24KKworTW9uIEFwciAgMiAxNzoxMzo1MSBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogeHBhdGguYzogZml4ZWQgYSBtZW1sZWFrIHdoZW4gY29tcGFyaW5nIG5vZGVzZXRzCisJKiBIVE1MdHJlZS5jOiBkb24ndCBpbnZlbnQgdGhlIEhUTUwgZG9jdHlwZSBpZiBub3QgYXZhaWxhYmxlIChYU0xUKQorCSogdHJlZS5jOiBhZGRlZCBhIFRPRE8KKworVHVlIE1hciAyNyAxNDozMjowNiBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogY29uZmlndXJlLmluIE1ha2VmaWxlLmFtIGNvbmZpZy5oLmluIHhtbHZlcnNpb24uaC5pbjogZGV0ZWN0IGlmCisJICB3ZSBuZWVkIHN0cmluZyBmdW5jdGlvbnMKKwkqIHRyaW8uW2NoXSBzdHJpby5bY2hdOiBlbWJlZGRlZCB0aGUgVHJpby0wLjIzIHN0cmluZyBmdW5jdGlvbnMKKwkgIHRvIGJlIGFibGUgdG8gdXNlIHRoZW0gd2hlcmUgbmVlZGVkLiBBcHBsaWVkIHNvbWUgY2hhbmdlcworCSAgdG8gcmVkdWNlIG5hbWUgbGlua2luZyBwb2xsdXRpb24gYW5kIGNvbXBpbGUgaW4gb25seSB3aGF0J3MKKwkgIG5lZWRlZC4KKwkqIEhUTUx0cmVlLmMgZGVidWdYTUwuYyBlbnRpdGllcy5jIGVycm9yLmMgbmFub2Z0cC5jIHZhbGlkLmMKKwkgIHhsaW5rLmMgeG1sdmVyc2lvbi5oLmluIHhwYXRoLmM6IGdvdCByaWQgb2YgdGhlICNpZmRlZiAKKwkgIGZvciB0aGUgc3RyaW5nIG1hbmlwdWxhdGlvbiBmdW5jdGlvbnMKKwkqIHhtbG1lbW9yeS5bY2hdOiByZW1vdmVkIERFQlVHX01FTU9SWV9GUkVFRCBhbmQgYWRkZWQgaXQgYXV0b21hdGljYWxseQorCSAgdG8gdGhlIGZyZWUoKSBmdW5jdGlvbiBvZiB4bWxtZW1vcnkuYworCSogZW50aXRpZXMuYyBIVE1MdHJlZS5jIHBhcnNlckludGVybmFscy5jIHRyZWUuYyB1cmkuYyB2YWxpZC5jCisJICB4aW5jbHVkZS5jIHhtbElPLmMgeHBhdGguYyB4cG9pbnRlci5jOiByZW1vdmVkIHRoZSBNRU1fQ0xFQU5VUAorCSAgdXNhZ2UuCisKK1R1ZSBNYXIgMjcgMDI6MzA6MjMgQ0VTVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIGVycm9yLmM6IGFwcGxpZWQgdGhlIGNvbnRleHQgb3V0cHV0IHBhdGNoIG9mIHRoZSBlcnJvcgorCSAgaGFuZGxpbmcgc3VibWl0dGVkIGJ5IENodWNrIEdyaWZmaXRoCisJKiBlcnJvci9WQy8qOiB0aGlzIHNsaWdodGx5IGNoYW5nZSBzb21lIGVycm9yIGxvZ3MKKworVHVlIE1hciAyNyAwMDo1MToyNyBDRVNUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogcGFyc2VyLmM6IGZpeGVkIGxpbmUgbnVtYmVyIHJlcG9ydGluZyBvbiBlcnJvcgorCitNb24gTWFyIDI2IDIzOjIxOjQxIENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiBwYXJzZXIuYzogU3VsbGl2YW4gYW5kIERhcmluIGZvdW5kIGEgcGFyc2VyIGJ1ZywKKwkgIGFwcGxpZWQgdGhlIHBhdGNoLgorCitNb24gTWFyIDI2IDE4OjI0OjUyIENFU1QgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiBIVE1McGFyc2VyLmMgSFRNTHRyZWUuYyBTQVguYyBkZWJ1Z1hNTC5jIGVycm9yLmMgcGFyc2VySW50ZXJuYWxzLmMKKwkgIHRlc3RIVE1MLmMgdGVzdFNBWC5jIHRyZWUuYyB2YWxpZC5jIHhtbElPLmMgeG1sbWVtb3J5LmMKKwkgIHhtbHZlcnNpb24uaC5pbiB4cG9pbnRlci5jOiBvZiBjb3Vyc2UgdGhlIHdheSBJIGRlZmluZWQKKwkgIFVOVVNFRCBicmVha3Mgb24gb2xkIGdjYyB2ZXJzaW9uLiBUcnkgdG8gYmUgc21hcnQgYW5kCisJICBhbHNvIGRlZmluZSBpdCBkaXJlY3RseSBpbiB4bWx2ZXJzaW9uLmgKKwkqIGNvbmZpZ3VyZS5pbjogcmVtb3ZlZCAtYW5zaSBmbGFnIGZyb20gdGhlIHBlZGFudGljIHNldAorCitTYXQgTWFyIDI0IDE3OjQ1OjM2IENFVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisJSHVnZSBjbGVhbnVwLCBJIHN3aXRjaGVkIHRvIGNvbXBpbGUgd2l0aAorCS1XYWxsIC1nIC1PIC1hbnNpIC1wZWRhbnRpYyAtVyAtV3VudXNlZCAtV2ltcGxpY2l0CisJLVdyZXR1cm4tdHlwZSAtV3N3aXRjaCAtV2NvbW1lbnQgLVd0cmlncmFwaHMgLVdmb3JtYXQKKwktV2NoYXItc3Vic2NyaXB0cyAtV3VuaW5pdGlhbGl6ZWQgLVdwYXJlbnRoZXNlcyAtV3NoYWRvdworCS1XcG9pbnRlci1hcml0aCAtV2Nhc3QtYWxpZ24gLVd3cml0ZS1zdHJpbmdzIC1XYWdncmVnYXRlLXJldHVybgorCS1Xc3RyaWN0LXByb3RvdHlwZXMgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVduZXN0ZWQtZXh0ZXJucyAtV2lubGluZQorCSogSFRNTHBhcnNlci5bY2hdIEhUTUx0cmVlLmMgU0FYLmMgZGVidWdYTUwuYyBlbmNvZGluZy5bY2hdCisJICBlbmNvZGluZy5oIGVudGl0aWVzLmMgZXJyb3IuYyBsaXN0LltjaF0gbmFub2Z0cC5jCisJICBuYW5vaHR0cC5jIHBhcnNlci5bY2hdIHBhcnNlckludGVybmFscy5bY2hdIHRlc3RIVE1MLmMKKwkgIHRlc3RTQVguYyB0ZXN0VVJJLmMgdGVzdFhQYXRoLmMgdHJlZS5bY2hdIHVyaS5jCisJICB2YWxpZC5bY2hdIHhpbmNsdWRlLmMgeG1sSU8uW2NoXSB4bWxsaW50LmMgeG1sbWVtb3J5LmMKKwkgIHhwYXRoLmMgeHBhdGhJbnRlcm5hbHMuaCB4cG9pbnRlci5bY2hdIGV4YW1wbGUvZ2pvYnJlYWQuYzoKKwkgIENsZWFudXAsIHN0YXRpY2ZpZWQgYSBudW1iZXIgb2Ygbm9uLWV4cG9ydGVkIGZ1bmN0aW9ucywKKwkgIGRldGVjdGVkIGFuZCBjbGVhbmVkIHVwIGEgZG96ZW4gb2YgcHJvYmxlbSBmb3VuZCB0aGlzIHdheSwKKwkgIGF2b2lkZWQgYSBsb3Qgb2YgcHVibGljIGZ1bmN0aW9uIG5hbWUvdHlwZWRlZi9zeXN0ZW0gbmFtZXMgY2xhc2hlcworCSogZG9jL3htbC5odG1sOiB1cGRhdGVkCisJKiBjb25maWd1cmUuaW46IHN3aXRjaGVkIHByaXZhdGUgZmxhZ3MgdG8gdGhlIHJlYWxseSBwZWRhbnRpYyBvbmVzLgorCitUaHUgTWFyIDIyIDIyOjQ0OjE1IENFVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIGNvbmZpZ3VyZS5pbjogMi4zLjUKKwkqIGRvYy9odG1sLyo6IHJlYnVpbHQgdGhlIGRvY3MKKworVGh1IE1hciAyMiAxNTozNjo0NSBDRVQgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiBwYXJzZXIuYzogZml4ZWQgYSByZXBvcnRlZCBidWcgaW4gTk9UQVRJT04gcGFyc2luZworCSogdXJpLmM6IGFjY2VwdGVkIGJ1dCBub3QgZml4ZWQgYnVnIDUxODc2LCBhZGRlZCBUT0RPIAorCSogTWFrZWZpbGUuYW06IGZpeGVkIGJ1ZyA1MTg3NgorCitUaHUgTWFyIDIyIDEzOjQxOjIyIENFVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIGNvbmZpZy5oLmluIGNvbmZpZ3VyZS5pbiBlcnJvci5jOiBmaXggYSBjb21waWxhdGlvbiBwcm9ibGVtCisJICBvbiBwbGF0Zm9ybXMgd2l0aG91dCB2c25wcmludGYgKHhtbEB0aGV3cml0dGVud29yZC5jb20pCisKK1dlZCBNYXIgMjEgMTk6MDQ6MzQgQ0VUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogcGFyc2VyLmM6IGZpeGVkIGEgZnVuY3Rpb24gbmFtZSBoZWFkZXIgdHlwbworCSogU0FYLmM6IG5vdGF0aW9ucyBjYW4gYWxzbyBvY2N1ciBpbiBleHRlcm5hbCBzdWJzZXQuCisKK1R1ZSBNYXIgMjAgMTQ6MjE6MjggQ0VUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogZXJyb3IuYzogcmVtb3ZlZCBhIEMrKyBsaWtlIGNvbW1lbnQKKworVHVlIE1hciAyMCAxMjoyMjozNiBDRVQgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiBwYXJzZXIuYzogZml4aW5nIGJ1ZyA1MjI5OSBzdHJhbmdlIGNvbmRpdGlvbiBsZWFkaW5nCisJICB0byBhIHBhcnNlciBjcmFzaCBkdWUgdG8gYSBidWZmZXIgb3ZlcmZsb3cKKwkqIHJlc3VsdC9ub2VudC9hdHRyaWIueG1sIHJlc3VsdC9hdHRyaWIueG1sIHRlc3QvYXR0cmliLnhtbDoKKwkgIGFkZGVkIHRoZSBzcGVjaWZpYyB0ZXN0IGNhc2UKKworTW9uIE1hciAxOSAxNjo1MDo1MiBDRVQgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiB4cGF0aC5bY2hdOiBzdGlsbCBhIGxvdCBvZiBjbGVhbnVwIGJhc2VkIG9uIFhTTFQsIGFkZGVkCisJICB4bWxYUGF0aENvbnZlcnR7U3RyaW5nLE51bWJlcixCb29sZWFufSB0byBiZSBhYmxlIHRvIG1ha2UKKwkgIHR5cGUgY2FzdHMgd2l0aG91dCBhIGNvbnRleHQgc3RhY2ssIGZpeGVkIHNvbWUgaW1wbGVtZW50YXRpb24KKwkgIHByb2JsZW1zIHJlbGF0ZWQgdG8gdGhlIGFic2VuY2Ugb2YgY29udGV4dCBhdCBwYXJzZS10aW1lLAorCSAgYWRkZWQgeG1sWFBhdGhFdmFsUHJlZGljYXRlKCkgYW5kIHhtbFhQYXRoRnJlZUNvbXBFeHByKCkKKwkgIGluIHRoZSBwdWJsaWMgQVBJIHRvbworCSogeHBvaW50ZXIuYyB4cGF0aEludGVybmFscy5oOiB3ZSBuZWVkIHRvIGtub3cgYXQgcGFyc2UgdGltZQorCSAgd2hldGhlciB3ZSBhcmUgY29tcGlsaW5nIGFuIFhQb2ludGVyCisKK01vbiBNYXIgMTkgMTE6NTQ6MzEgQ0VUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogeHBhdGguW2NoXSB4cG9pbnRlci5jOiByZXN0YXVyZWQgdGhlIEJpbmFyeSBhbmQgQVBJIGNvbXBhdGliaWxpdHkKKwkgIGNsZWFuZWQgdXAgdGhlIHBhcnNlciBpbnRlcm5hbHMsIHJlZmFjdG9yZWQgWFBhdGggY29kZSwgYWRkZWQKKwkgIG5ldyBjb21waWxhdGlvbiBiYXNlZCBBUElzIGFuZCBjbGVhbmx5IHNlcGFyYXRlZCBwdWJsaWMgYW5kCisJICBwcml2YXRlIEFQSXMuCisKK01vbiBNYXIgMTkgMDA6NTk6MjUgQ0VUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogeHBhdGguaDogdGhlIGNvbXAgZmllbGQgbXVzdCBiZSBhZGRlZCBhdCB0aGUgZW5kIHRvIGF2b2lkCisJICBraWxsaW5nIGJpbmFyeSBjb21wYXQuCisKK01vbiBNYXIgMTkgMDA6MTE6MTggQ0VUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogTWFrZWZpbGUuYW06IGRldGVjdCBYUGF0aCBtZW1sZWFrcyBpbiByZWdyZXNvbiB0ZXN0cworCSogZXJyb3IuYzogZml4ZWQgYW5kIGVycm9yIHcuci50LiBlcnJvciByZXBvcnRpbmcgc3RpbGwgdXNpbmcKKwkgIHN0ZGVycgorCSogaGFzaC5jOiBhZGRlZCBuZXcgbGluZSBhdCBlbmQgb2YgZmlsZQorCSogdHJlZS5oOiBtaW5vciBjbGVhbnVwCisJKiB4cGF0aC5bY2hdIHhwb2ludGVyLltjaF06IE1ham9yIGNoYW5nZXMgISBTZXBhcmF0ZWQgWFBhdGgKKwkgIGV4cHJlc3Npb24gcGFyc2luZyBmcm9tIGV2YWx1YXRpb24sIHJlc3VsdGVkIGluIGEgbnVtYmVyIG9mCisJICBjaGFuZ2VzIGludGVybmFsbHksIGFuZCBpbiBYUG9pbnRlci4gTGlrZWx5IHRvIGJyZWFrIHN0dWZmCisJICB1c2luZyB4cGF0aEludGVybmFscy5oIGJ1dCBzaG91bGQgcmVtYWluIGJpbmFyeSBjb21wYXRpYmxlLAorCSAgbmV3IGludGVyZmFjZXMgd2lsbCBiZSBhZGRlZC4KKworV2VkIE1hciAxNCAyMDozNDowMiBDRVQgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiBjb25maWd1cmUuaW46IGZpeGVkIGEgY291cGxlIG9mIHByb2JsZW1zIHJlcG9ydGVkIGJ5IAorCSAgb2tpZGRsZUB5YWhvby5jby51ayBhbmQgYWxsYW5jQGNoaWNrZW5hbmRwb3JuLmNvbSB3aGVuIGNvbXBpbGluZworCSAgd2l0aG91dCBnY2Mgb24gbm9uIGxpbnV4IHBsYXRmb3Jtcy4KKworV2VkIE1hciAxNCAyMDoxMzo1NCBDRVQgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiBkb2MvTWFrZWZpbGUuYW0gY29uZmlndXJlLmluOiB5ZWFya2VAZW5nLmJ1ZmZhbG8uZWR1IHN1Z2dlc3RlZAorCSAgYSBmaXggZm9yIC0td2l0aC1odG1sLWRpcj0gY29uZmlndXJlIHN1cHBvcnQuIEkgaG9wZSBpdCB3b24ndAorCSAgYnJlYWsgcnBtIGdlbmVyYXRpb24KKworV2VkIE1hciAxNCAxNzoyODo0OSBDRVQgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiB4bWxJTy5jOiBvbmUgZnVuY3Rpb24gY29tbWVudCBjbGVhbnVwLgorCitXZWQgTWFyIDE0IDE0OjU1OjQ2IENFVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIFNBWC5jOiBleHRlcm5hbCBzdWJzZXQgbm90YXRpb25zIHdlcmUgaW1wcm9wZXJseSByZWdpc3RlcmVkCisJICBpbiB0aGUgaW50ZXJuYWwgc3Vic2V0LgorCitUdWUgTWFyIDEzIDEwOjI4OjQ5IENFVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIFJFQURNRS5jdnMtY29tbWl0czogYWRkZWQsIHBvaW50aW5nIHRvIEhBQ0tJTkcKKwkqIEhBQ0tJTkc6IHVwZGF0ZWQKKworTW9uIE1hciAxMiAyMjowOTo0MCBDRVQgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiBwYXJzZXIuYzogYW5kIE1hdHQgU2VyZ2VhbnQgZm91bmQgb25lIGluIHRoZSBYTUwgcHVzaAorCSAgcGFyc2VyIChlcnJvbmVvdXMgY2hlY2sgSSBmb3Jnb3QgdG8gcmVtb3ZlIHdoZW4gSSBmaXhlZCB0aGUKKwkgIG1haW4gcGFyc2VyKS4KKworTW9uIE1hciAxMiAxOToxOTowNCBDRVQgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiB4cGF0aC5jOiBwdGl0dG9tIGZvdW5kIGEgc21hbGwgYnVnIGluIFVuYXJ5RXhwcgorCitTYXQgTWFyIDEwIDEzOjA5OjUzIENFVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIGNvbmZpZ3VyZS5pbjogYnVtcGVkIHRvIDIuMy40CisJKiBlcnJvci5jOiBmaXhlZCBidWcgIzUxODYwCisJKiB0cmVlLmM6IGZpeGVkIGJ1ZyAjNTE4NjEKKwkqIHZhbGlkLmM6IGNsZWFudXAsIG1vcmUgZGVidWcsIGZhaWxlZCB0byBmaXggb25lIGJ1ZyBjcmFwIC4uLgorCSogdHJlZS5bY2hdIDogYWRkZWQgeG1sRGVmYXVsdEJ1ZmZlclNpemUKKwkqIG5hbm9mdHAuYzogdHlwbyBpbiBmdW5jdGlvbiBuYW1lIGhlYWRlciBibG9jaworCSogZG9jL3htbC5odG1sIDogdXBkYXRlZCwgYWRkZWQgbGluayB0byBYTUw6OkxpYlhTTFQKKwkqIGRvYy9odG1sLyogOiByZWJ1aWx0IHRoZSBkb2NzCisKK1dlZCBNYXIgIDcgMjA6NDM6NDcgQ0VUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogcGFyc2VyLmMgU0FYLmM6IHRoZSBuZXcgY29udGVudCBwYXJzaW5nIGNvZGUgcmFpc2VkIGFuCisJICB1Z2x5IGJ1ZyBpbiB0aGUgY2hhcmFjdGVycygpIFNBWCBjYWxsYmFjay4gRm91bmQgaXQKKwkgIGp1c3QgYmVjYXVzZSBvZiBzdHJhbmdlbmVzcyBpbiBYU0xUIFhNTCBSZWMgb3VwdHV0IDotKAorCitXZWQgTWFyICA3IDE2OjUwOjIyIENFVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIE1ha2VmaWxlLmFtOiBNYXJ0aW4gQmF1bGlnIHN1Z2dlc3RlZCB0byBhZGQgLWxtCisJKiB0cmVlLmM6IGZvdW5kIGFub3RoZXIgYnVnIGluIHhtbE5vZGVHZXRDb250ZW50KCkKKworVHVlIE1hciAgNiAwOToyMTozMCBDRVQgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiB4cGF0aC5jOiBCam9ybiBmb3VuZCB0aGUgZXJyb3IgcmVsYXRlZCB0byBzdHJpY3RuZXNzIG9mIGNvbXBhcmlzb24uCisKK01vbiBNYXIgIDUgMjE6NDc6MzEgQ0VUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogcGFyc2VyLmM6IHRyeWluZyB0byBmaXggdGhlIER0ZCBwYXJzaW5nIHByb2JsZW0gcmVwb3J0ZWQKKwkgIGJ5IEdhcnksIHNpZGUgZWZmZWN0IG9mIGxhc3Qgd2VlayBzcGVlZCBvcHRpbWl6YXRpb25zLgorCitTYXQgTWFyICAzIDE5OjQ1OjU5IENFVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIHhtbDJDb25mLnNoLmluOiBmaXhlcyBwb2ludGVkIG91dCBieSBGcmVkcmlrIEhhbGxlbmJlcmcKKwkqIHBhcnNlckludGVybmFscy5jOiByZW1vdmVkIHVubmVlZGVkIHRlc3QgcmFpc2VkIGJ5IFN0cmljCisKK1NhdCBNYXIgIDMgMTM6MDQ6MzcgQ0VUIDIwMDEgQmpvcm4gUmVlc2UgPGJyZWVzZUB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CisKKwkqIHhwYXRoLmM6IEZpeGVkIHhtbFhQYXRoTm9kZUNvbGxlY3RBbmRUZXN0IChwcm9ibGVtIHJlcG9ydGVkCisJICBhbmQgZml4ZWQgYnkgV2lsbGlhbSBCcmFjaykuIEFkZGVkIHhtbFhQYXRoRm9ybWF0TnVtYmVyLgorCSAgQ2hhbmdlZCB0aGUgc29ydGluZyBzbGlnaHRseS4KKwkqIGNvbmZpZ3VyZS5pbiBNYWtlZmlsZS5hbSBleGFtcGxlL01ha2VmaWxlLmFtOiBBZGRlZCAtbG0uCisJICBQbGVhc2Ugbm90ZSB0aGF0IGFwcGxpY2F0aW9ucyBsaW5raW5nIHdpdGggbGlieG1sMiwgbXVzdAorCSAgYWxzbyBsaWtlIHdpdGggdGhlIG1hdGggbGlicmFyeSBmcm9tIG5vdyBvbi4KKworU2F0IE1hciAgMyAwNzozODo1OCBDRVQgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiBIVE1McGFyc2VyLmM6IGZpeGVkIGxvb3AgcmVwb3J0ZWQgYnkgTWFyYyBTYW5mYWNvbgorCitTYXQgTWFyICAzIDAyOjEwOjI0IENFVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIHBhcnNlci5jOiBvbmUgbXVzdCByZXBvcnQgc3BhY2VzIGV2ZW4gaWYgdGhlIER0ZCBlbGVtZW50CisJICBjb250ZW50IHByb3ZlcyB0aGF0IHRoaXMgaXMgbm90IHBhcnQgb2YgdGhlIGVsZW1lbnQgY29udGVudC4KKwkqIHJlc3VsdC92YWxpZC8qLnhtbDogdGhpcyBjaGFuZ2VkIHRoZSBvdXB0dSBzbGlnaHRseQorCitUaHUgTWFyICAxIDE3OjUzOjM5IENFVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIGNvbmZpZ3VyZS5pbjogYnVtcGVkIHRvIDIuMy4zCisJKiBkb2MveG1sLmh0bWw6IHVwZGF0ZWQKKworV2VkIEZlYiAyOCAwMDo0Mzo1OCBDRVQgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiB0cmVlLmM6IG1pbm9yIGRvYyBmaXgKKwkqIHhwYXRoLmM6IGRlYWxsb2NhdGlvbiBpc3N1ZXMgd2hlbiBhIHJlc3VsdCB0cmVlIGhhcyBiZWVuCisJICBjb252ZXJ0ZWQgdG8gYSBub2RlLXNldAorCitNb24gRmViIDI2IDIyOjA5OjQ1IENFVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIGRvYy94bWwuaHRtbDogb29wcyBjb3JyZWN0ZWQgZGF0ZXMgcy8yMDAwLzIwMDEKKworTW9uIEZlYiAyNiAxMjo0ODozNSBDRVQgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiB2YWxpZC5jOiBuZXcgcGF0Y2ggZnJvbSBHYXJ5IFBlbm5pbmd0b24KKworTW9uIEZlYiAyNiAwOTozMDoyMyBDRVQgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiBkb2MveG1sLmh0bWw6IGFwcGxpZWQgcGF0Y2ggZnJvbSBBbmtoCisKK01vbiBGZWIgMjYgMDM6MzQ6NDMgQ0VUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogeGluY2x1ZGUuYzogZml4ZWQgYSBwcm9ibGVtIGJ1aWxkaW5nIG9uIE1hYworCitTdW4gRmViIDI1IDIxOjUyOjMwIENFVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIHBhcnNlci5jOiBtb3JlIHdvcmsgb24gaW5jcmVhc2luZyBwYXJzaW5nIGZlcmZvcm1hbmNlcworCitTdW4gRmViIDI1IDE4OjAzOjQyIENFVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIHhtbG1lbW9yeS5oIEhUTUxwYXJzZXIuYyBIVE1MdHJlZS5jIGVudGl0aWVzLmMgcGFyc2VyLmMKKwkgIHhwYXRoLmMgeHBvaW50ZXIuYyB0cmVlLmMgdXJpLmMgdmFsaWQuYyB4aW5jbHVkZS5jIHhtbElPLmM6CisJICBhdm9pZGluZyBtZW1jcHkgaW4gcHJvZHVjdGlvbiBidWlsZHMgTUVNX0NMRUFOVVAgbWFjcm8gdXNlCisJKiBwYXJzZXIuW2NoXSBwYXJzZXJJbnRlcm5hbHMuYzogb3B0aW1pemF0aW9ucyBvZiB0aGUgdGlnaHRlc3QKKwkgIGludGVybmFsIGxvb3BzIGluc2lkZSB0aGUgcGFyc2VyLiBCZXR0ZXIgY2hlY2tpbmcgb2YgSS9PCisJICBmbHVzaGluZy9sb2FkaW5nIGNvbmRpdGlvbnMKKwkqIHhtbGxpbnQuYyA6IGFkZGVkIC0tdGltaW5nCisKK1N1biBGZWIgMjUgMDU6NDg6NTEgQ0VUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogY29uZmlndXJlLmluOiBidW1wZWQgdG8gMi4zLjIKKwkqIGRvYy94bWwuaHRtbDogdXBkYXRlZCBmb3IgcmVsZWFzZQorCitTYXQgRmViIDI0IDE0OjA3OjUyIENFVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIHhwYXRoLmM6IGZvdW5kIGEgbWVtbGVhayBhbmQgZml4ZWQgYSBuYXN0eSBidWcKKworU2F0IEZlYiAyNCAwMzozNTo0OCBDRVQgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiB4bWxsaW50LltjMV0gOiBhZGRlZCByZXR1cm4gY29kZSBlcnJvcnMgZm9yIHhtbGxpbnQKKwkqIHhwYXRoLmM6IHNwZWNpZmljIGRlYnVnIGR1bXAgZnVuY3Rpb24gZm9yIHJlc3VsdCB2YWx1ZSB0cmVlcworCitUaHUgRmViIDIyIDA3OjUyOjI3IENFVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIHhwYXRoLmM6IGZpbmFsbHkgaW1wbGVtZW50ZWQgeG1sWFBhdGhDb21wYXJlTm9kZVNldHMKKwkqIHRlc3QvWFBhdGgvZXhwci9mbG9hdHMgcmVzdWx0cy9YUGF0aC9leHByL2Zsb2F0czogYWRkZWQgCisJICBhIHRlc3QgZm9yIGZsb2F0IGV4cHJlc3Npb25zCisKK1R1ZSBGZWIgMjAgMTg6NTc6NTQgQ0VUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogdHJlZS5jOiBmaXhlZCB4bWxOb2RlR2V0Q29udGVudCwgaXQgd2FzIG5vdCByZWN1cnNpbmcgb24gY2hpbGQKKwkqIHBhcnNlckludGVybmFscy5bY2hdOiB0cnlpbmcgdG8gc3BlZWQgdXAgcGFyc2luZworCSogeHBhdGguYyA6IHNwZWVkZWQgdXAgbm9kZSBzZXQgZXF1YWxpdHkgb3AKKworTW9uIEZlYiAxOSAxOTowMTo1NyBDRVQgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiBNYWtlZmlsZS5hbSB2YWxpZC5jIGxpc3QuW2NoXTogR2FyeSBQZW5uaW5ndG9uIHByb3ZpZGVkIGEKKwkgIGJldHRlciBoYW5kbGluZyBvZiBJRC9JRFJFRiBhbmQgdGhlIGxpc3QgbW9kdWxlcyBhc3NvY2lhdGVkCisJKiBjb25maWd1cmUuaW46IHNtYWxsIENGTEFHUyBjbGVhbnVwCisKK01vbiBGZWIgMTkgMTY6MTM6MjIgQ0VUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogY29uZmlndXJlLmluOiBmaXhlZCBpY29udiBkZXRlY3Rpb24gb24gQUlYIChzdHJpYykKKworTW9uIEZlYiAxOSAxMDo1OTo0MSBDRVQgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiB4cGF0aC5jOiBmaXhlZCAiKiIgKHVuYmVsaWV2YWJsZSAhKSBhbmQgYSBjb3VwbGUgb2Ygd2FybmluZ3MKKworU3VuIEZlYiAxOCAxNzo1MjozNyBNRVQgMjAwMSBCam9ybiBSZWVzZSA8YnJlZXNlQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KKworCSogeHBhdGguYzogZml4ZWQgd2hpdGVzcGFjZSBoYW5kbGluZyBpbiB4bWxYUGF0aFN0cmluZ0V2YWxOdW1iZXIsCisJICBhbmQgb3B0aW1pemVkIHhtbFhQYXRoTm9kZVNldFNvcnQKKworU2F0IEZlYiAxNyAxNDoxODo0MiBDRVQgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiB4cGF0aC5jOiBidWcgZml4IHdoZW4gY29udGV4dCBzaXplIGlzIDAKKwkqIHBhcnNlci5jOiBJIGxpa2UgTm9ybSdzIER0ZCBiZWNhdXNlIHRoZXkgc3RpbGwgbWFuYWdlIHRvIGJyZWFrCisJICB0aGUgcGFyc2VyIG9jY2FzaW9uYWxseQorCitGcmkgRmViIDE2IDE0OjIwOjM1IENFVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIHhwYXRoLmM6IHhtbFhQYXRoRXF1YWxOb2RlU2V0RmxvYXQgdGhlIGFyZyBpcyByZWFsbHkgYSBkb3VibGUgbm93CisKK0ZyaSBGZWIgMTYgMDE6MTA6MDYgQ0VUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogdHJlZS5bY2hdIHBhcnNlci5jIHhwYXRoLmM6IGZpeGVkIHRoZSBwcm9ibGVtIG9mIGFkZHJlc3NpbmcKKwkgIGF0dHJpYnV0ZXMgd2l0aGluIHRoZSBYTUwtMS4wIG5hbWVzcGFjZQorCitUaHUgRmViIDE1IDE2OjUzOjIwIENFVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIHhwYXRoSW50ZXJuYWxzLmg6IGV4cG9ydGVkIGEgZmV3IGF4aXMgZnVuY3Rpb25zCisJKiBkb2MveG1sLmh0bWw6IHVwZGF0ZWQgdGhlIGRvYworCitUaHUgRmViIDE1IDE1OjU3OjE0IENFVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIGNvbmZpZ3VyZS5pbjogYXBwbGllZCBwYXRjaCBmcm9tIERhbmllbCB2YW4gQmFsZW4gZm9yIE9wZW5CU0QKKwkgIGFuZCBidW1wZWQgdmVyc2lvbiB0byAyLjMuMQorCSogSFRNTHRyZWUuYyByZXN1bHQvSFRNTC9kb2MzLmh0bSByZXN1bHQvSFRNTC93aXJlZC5odG1sOiB0aGUKKwkgIGF0dGVtcHQgdG8gZmluZCBhdXRvY2xvc2luZyB3YXMgc2ltcGx5IGJyb2tlbiwgcmVtb3ZlZCBpdCwKKwkgIHVwZGF0ZWQgdGhlIGV4YW1wbGVzLCB0aGlzIGlzIGJldHRlcgorCitXZWQgRmViIDE0IDExOjM1OjM5IENFVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIGhhc2guW2NoXTogYWRkZWQgUGFvbG8gQ2FzYXJpbmkgcGF0Y2ggdG8gcHJvdmlkZSBEZWxldGUgZnJvbQorCSAgaGFzaCBmdW5jdGlvbm5hbGl0aWVzLgorCSogZG9jL2h0bWwvKiA6IHJlYnVpbGQgdGhlIGRvYworCitUdWUgRmViIDEzIDE4OjAxOjQ4IENFVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIHhwYXRoLmMgcmVzdWx0L1hQYXRoL3Rlc3RzL2NoYXB0ZXJzcHJlZm9sOiBidWdmaXhlcyBvbiBvcmRlciBhbmQKKwkgIG9uIHByZWRpY2F0ZQorCSogSFRNTHBhcnNlci5bY2hdIEhUTUx0cmVlLmMgcmVzdWx0L0hUTUwvZG9jMy5odG0uZXJyCisJICByZXN1bHQvSFRNTC9kb2MzLmh0bS5zYXggcmVzdWx0L0hUTUwvd2lyZWQuaHRtbDogc29tZXRpbWVzIG9uZQorCSAgcmVhbGx5IHdhbnQgdG8gaGF2ZSB0YWdzIGNsb3NlZCBvbiBvdXRwdXQgZXZlbiBpZiB3ZSBhY2NlcHQKKwkgIHVuY2xvc2VkIG9uZXMgb24gaW5wdXQKKworTW9uIEZlYiAxMiAxODozMzoyMCBDRVQgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiB4cGF0aC5jOiBvdWNoIGRvbid0IGZyZWUgTlVMTCwgcmFyZSBjYXNlIGZpeGVkCisJKiB0cmVlLmM6IGRvbid0IGNvYWxlc2NlIHRleHQgbm9kZXMgaWYgdGhleSBkb24ndCBoYXZlIHRoZQorCSAgc2FtZSBiZWhhdmlvdXIgd3J0IGVzY2FwaW5nIG9uIG91dHB1dAorCitTdW4gRmViIDExIDIxOjE1OjQxIENFVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIHhwYXRoLmM6IHNtYWxsIGZpeHVwCisJKiBTQVguYzogZG9uJ3Qgd2FybiBvbiBlbXB0eSBuYW1lc3BhY2VzLgorCitUaHUgRmViICA4IDExOjI4OjU4IENFVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIFJFQURNRTogYSBiaXQgb2YgY2xlYW51cAorCSogY29uZmlndXJlLmluOiBwcmVwYXJpbmcgZm9yIDIuMy4wIHJlbGVhc2UKKworVGh1IEZlYiAgOCAxMDozNzowMCBDRVQgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiBoYXNoLltjaF06IGFkZGVkIGEgZmlyc3QgdmVyc2lvbiBvZiB4bWxIYXNoU2l6ZSgpCisJKiB2YWxpZC5jOiBhbm90aGVyIGJ1ZyBmaXggZnJvbSBHYXJ5IFBlbm5pbmd0b24KKworV2VkIEZlYiAgNyAxOToyMjozNyBDRVQgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiB2YWxpZC5jOiBjb3VwbGUgb2YgYnVnIGZpeGVzIHBvaW50ZWQgYnkgR2FyeSBQZW5uaW5ndG9uCisJKiBIVE1MdHJlZS5jOiAjaWYgMCBjbGVhbnVwCisKK1R1ZSBGZWIgIDYgMTQ6MDI6NTYgQ0VUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogeHBhdGguYzogc3RhcnRlZCBwcm9maWxpbmcgWFNMVCwgYWRkZWQgeG1sWFBhdGhOb2RlU2V0QWRkVW5pcXVlKCkKKwkgIHdoaWNoIHJlbW92ZXMgYSB0aW1lIGNvbnN1bWluZyBjaGVjayBvZiB4bWxYUGF0aE5vZGVTZXRBZGQoKQorCSAgYW5kIHVzZSBpdCBpbiBwbGFjZXMgd2hlcmUgd2UgYXJlIHN1cmUgdG8gbm90IGJyZWFrIHVuaWNpdHkKKworTW9uIEZlYiAgNSAxODo1MTozNiBDRVQgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiB4cGF0aC5jOiBidWcgZml4ZXMgZm91bmQgZnJvbSBYU0xUCisJKiB0cmVlLmM6IHByZXNlcnZlIG5vZGUtPm5hbWUgc3BlY2lhbCB2YWx1ZXMgd2hlbiBjb3B5aW5nIG5vZGVzLgorCSogcGFyc2VySW50ZXJuYWxzLltjaF0gcGFyc2VyLltjaF0gU0FYLmMgOiBhZGRlZCBhIG1vZGUgd2hlcmUKKwkgIGV4dGVybmFsIHN1YnNldCBhcmUgZmV0Y2hlZCB3aGVuIGF2YWlsYWJsZSBidXQgd2l0aG91dCBmdWxsCisJICB2YWxpZGF0aW9uLiBBZGRlZCB4bWxMb2FkRXh0RHRkRGVmYXVsdFZhbHVlLCBuZWVkIGEgZnVuY3Rpb24uCisJKiBIVE1MdHJlZS5jOiBhZGQgc3VwcG9ydCBmb3IgeG1sU3RyaW5nVGV4dE5vZW5jIGZvciBYU0x0IEhUTUwKKwkgIG91dHB1dCB3aXRoIGVuY29kaW5nIGRpc2FibGVkLgorCitTYXQgRmViICAzIDA5OjUwOjI5IENFVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIHhtbGlPLmM6IEhhcnJ5IEJsdW5kZWxsIHBvaW50ZWQgb3V0IHRoYXQgeG1sQ2hlY2tGaWxlbmFtZQorCSAgeG1sQ2hlY2tGaWxlbmFtZSBzaG91bGQgbm90IGJlIGNhbGxlZCBmcm9tIHhtbEZpbGVPcGVuVworCSAgYW5kIHhtbEd6ZmlsZU9wZW5XCisKK0ZyaSBGZWIgIDIgMTg6MDQ6MzUgQ0VUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogdXJpLmM6IHJld3JpdGUgb2YgeG1sTm9ybWFsaXplVVJJUGF0aCBmcm9tIFBhdWwgRC4gU21pdGgKKwkqIHRlc3QvVVJJL3NtaXRoLnVyaSByZXN1bHQvVVJJL3NtaXRoLnVyaSBNYWtlZmlsZS5hbToKKwkgIGFkZGVkIHRoZSBuZXcgdGVzdHMgZm9yIFVSSSBub3JtYWxpemF0aW9uCisJKiB0ZXN0VVJJLmM6IGZpeGVkIHN0b29waWQgYnVncworCSogcmVzdWx0L1ZDL09uZUlEMyByZXN1bHQvVkMvVW5pcXVlRWxlbWVudFR5cGVEZWNsYXJhdGlvbjoKKwkgIHRoZSBVUkkgaW4gdGhlIGVycm9yIG1lc3NhZ2VzIGFyZSBub3cgcHJvcGVybHkgbm9ybWFsaXplZAorCitGcmkgRmViICAyIDA5OjE4OjUzIENFVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIHVyaS5jOiBhcHBsaWVkIE1hcmMgU2FuZmFjb24ncyBwYXRjaCBmb3IgeG1sTm9ybWFsaXplVVJJUGF0aAorCitUaHUgRmViICAxIDA1OjI4OjU1IENFVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIHhwYXRoLmM6IGZpeGVkIGEgbnVtYmVyIG9mIHByb2JsZW1zIGluIFhQQVRIX1hTTFRfVFJFRSBwcm9jZXNzaW5nCisKK1dlZCBKYW4gMzEgMjE6NDU6MzcgQ0VUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogeHBhdGguYzogZml4ZWQgbW9kIG9wZXJhdG9yCisKK1dlZCBKYW4gMzEgMTY6NTA6NDIgQ0VUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogcGFyc2VyLmM6IGZpeGVkIHhtbFN0cmNhdCBkb2MKKwkqIHRyZWUuYzogMiBmaXhlcyBmb3JtIEFuZGVycyBDYXJsc29uIGZvciBjb3B5aW5nIG5vZGVzIGFuZAorCSAgdHJlZXMuCisKK1dlZCBKYW4gMzEgMTQ6MTk6MTYgQ0VUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogeHBhdGguYyByZXN1bHQvWFBhdGgvdGVzdHMvY2hhcHRlcnNiYXNlCisJICByZXN1bHQvWFBhdGgvdGVzdHMvc2ltcGxlYmFzZTogZml4ZWQgWFBhdGggbm9kZSgpIAorCSogdHJlZS5jOiBzbWFsbCBmaXggaW4geG1sTmV3TnMoKQorCSogTWFrZWZpbGUuYW06IHJlbW92ZWQgZXh0cmFuZW91cyB4bWwyQ29uZi5zaCBydWxlCisKK1N1biBKYW4gMjggMDg6Mzc6MDMgQ0VUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogTWFrZWZpbGUuYW0gY29uZmlndXJlLmluIGxpYnhtbC5zcGVjLmluIGV4YW1wbGUvTWFrZWZpbGUuYW06CisJICBDaGFuZ2VkIHRoZSBsaWJyYXJ5IG5hbWUsIGluIG9yZGVyIHRvIGdldCBsaWJ4bWwtZGV2ZWwgYW5kCisJICBsaWJ4bWwyLWRldmVsIHRvIGNvZXhpc3Qgb24gYSBzaW5nbGUgc3lzdGVtCisJKiB4bWwtY29uZmlnLjEgeG1sLWNvbmZpZy5pbiB4bWxDb25mLnNoLmluOiByZW5hbWVkCisJKiB4bWwyLWNvbmZpZy4xIHhtbDItY29uZmlnLmluIHhtbDJDb25mLnNoLmluOiBuZXcgZmlsZXMKKworU2F0IEphbiAyNyAxOTo1ODoyMiBDRVQgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiBNYWtlZmlsZS5hbSBjb25maWd1cmUuaW4gbGlieG1sLTIuMC5wYy5pbjogc3RhcnRlZCB3b3JraW5nIG9uIGdldHRpbmcKKwkgIGxpYnhtbDItZGV2ZWwgaW5zdGFsbGFibGUgaW4gLy8gYXMgbGlieG1sLWRldmVsLgorCitTYXQgSmFuIDI3IDE4OjQ5OjAyIENFVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIGRvYy9NYWtlZmlsZS5hbTogZml4ZWQgbWFrZSByZWJ1aWxkIGluIGRvYworCSogZG9jL2h0bWwvKi5odG1sOiByZWJ1aWx0IHRoZSBkb2NzCisKK0ZyaSBKYW4gMjYgMTA6MzA6NTggQ0VUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogdHJlZS5jOiBwYXRjaCBmcm9tIEJqb3JuIFJlZXNlIG9uIHhtbEJ1ZmZlckNDYXQKKworVGh1IEphbiAyNSAxOToyMjoyNSBDRVQgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiBNYWtlZmlsZS5hbSBkb2MvTWFrZWZpbGUuYW0gbGlieG1sLnNwZWMuaW46IHBhaW5mdWwgd29yayB0byBnZXQKKwkgIHRoZSBIVE1MIGRvYyB0byBnbyBpbnRvIHRoZSAtZGV2ZWwgUlBNIC4uLgorCSogYWNsb2NhbC5tNCBjb25maWcuaC5pbjogc29tZSB1cGRhdGVzIGR1ZSB0byBhdXRvKiBtYWdpYworCitUaHUgSmFuIDI1IDE5OjExOjQ5IENFVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIHhwYXRoLmg6IGFkZGVkIGEgaG9vayBpbiB0aGUgY29udGV4dCBzdHJ1Y3R1cmUgYWxsb3dpbmcgdG8KKwkgIGxpbmsgdG8gZXh0cmEgc3VwcG9ydCwgbmVlZGVkIGZvciBYU0xUCisKK1RodSBKYW4gMjUgMTM6MzQ6MTEgQ0VUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogeHBhdGguW2NoXSB4cG9pbnRlci5jOiBhZGRlZCB4bWxYUGF0aENtcE5vZGVzLCBjaGFuZ2VkCisJICB4bWxYUHRyQ21wUG9pbnRzIHRvIHVzZSBpdC4KKwkqIHByb3BhZ2F0ZWQgdGhlIGZvbGxvd2luZyBwYXRjaCBmcm9tIEFsZWphbmRybyBGb3Jlcm8KKwkqIGluY2x1ZGUvd2luMzJjb25maWcuaCB4bWxJTy5jOiBhcHBsaWVkIGZ1cnRoZXIgc3VnZ2VzdGlvbnMKKwkgIGZyb20gSWdvciBabGF0a292aWMgPGlnb3J6QGRpYWx1cC5uYWNhbWFyLmRlPiBhbmQgY2xlYW51cAorCSogZXhhbXBsZS9nam9icmVhZC5jOiBmaXhlZCB3YXJuaW5ncywgbm93IHRoYXQgaXQgYnVpbGRzCisKK1dlZCBKYW4gMjQgMjA6Mjc6MjggQ09UIDIwMDEgQWxlamFuZHJvIEZvcmVybyA8YmFjaHVlQGJhY2h1ZS5jb20+CisKKwkqIHhtbElPLmMgKHhtbEZpbGVPcGVuLCB4bWxGaWxlT3BlblcpOiBSZW1vdmVkIHVubmVjZXNhcnkgY2hlY2tzLgorCisJKiB4bWxJTy5jICh4bWxDaGVja0ZpbGVuYW1lKTogRnVuY3Rpb24gYWRkZWQgdG8ga25vdyB3aGV0aGVyIGEgZ2l2ZW4KKwkgIGZpbGVuYW1lIHBvaW50cyB0byBhIHZhbGlkIGZpbGUgKG5vdCBhIGRpcmVjdG9yeSkuCisJKiB4bWxJTy5jICh4bWxGaWxlT3BlbiwgeG1sRmlsZU9wZW5XLCB4bWxHemZpbGVPcGVuLCB4bWxHemZpbGVPcGVuVyk6CisJICBBZGRlZCBjYWxscyB0byB4bWxDaGVja0ZpbGVuYW1lRGlyLgorCisJKiB4bWxJTy5jICh4bWxHemZpbGVPcGVuLCB4bWxHemZpbGVPcGVuVywgeG1sRmRPcGVuLCB4bWxGZE9wZW5XKTogUGFzcworCSAgYHBhdGgnIChyYXRoZXIgdGhhbiBgZmlsZW5hbWUnKSBhcyB0aGUgcGFyYW1ldGVyIHRvIGd6b3BlbiBhbmQgb3Blbi4KKworVHVlIEphbiAyMyAxNjoyNjozMCBDRVQgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiBNYWtlZmlsZS5hbTogZml4ZWQgYSBwcm9ibGVtIHdpdGggRVhUUkFfRElTVAorCitNb24gSmFuIDIyIDIzOjQyOjE3IENFVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIE1ha2VmaWxlLmFtIGV4YW1wbGUvTWFrZWZpbGUuYW06IGZpbmFsbHkgZm91bmQgdGhlIHRyaWNrCisJICB0byBidWlsZCB0aGUgZXhhbXBsZSwgaS5lLiBhZGQgIi4iIGluIFNVQkRJUlMgYmVmb3JlIGV4YW1wbGUKKwkgIGluIHRoZSBsaXN0IDxncmluLz4KKworTW9uIEphbiAyMiAxNjozMDozNyBDRVQgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiBkb2MveG1sLmh0bWw6IHVwZGF0ZWQgd2l0aCBhbiBYU0xUIHNlY3Rpb24sIHJlbW92ZWQgcG9pbnRlciB0bworCSAgVzNDIENWUyBiYXNlLgorCitNb24gSmFuIDIyIDExOjQzOjIxIENFVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIHhwYXRoLmM6IHdoZW4gY29weWluZyBhIFhTTFQgdHJlZSBvYmplY3QgdGVoIHRyZWUgbmVlZCB0byBiZSBjb3BpZWQKKwkgIHRvbywgYW5kIGRlYWxsb2NhdGlvbiBuZWVkIHRvIG9jY3VyIHRoZSBzYW1lIHdheS4KKworTW9uIEphbiAyMiAxMDozNTo0MCBDRVQgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiB4cGF0aEludGVybmFscy5oIHhwYXRoLltjaF0gZGVidWdYTUwuYzogYWRkZWQgdGhlIFhQQVRIX1hTTFRfVFJFRQorCSAgdHlwZSBjb3JyZXBvbmRpbmcgdG8gYW4gWFNMVCByZXN1bHQgdHJlZSBmcmFnbWVudC4gU2hhcmUgbW9zdAorCSAgb2YgdGhlIGRhdGEgZm9ybWF0IHdpdGggbm9kZSBzZXQsIGFzIHdlbGwgYXMgb3BlcmF0b3JzLgorCSogSFRNTHRyZWUuYzogYWRkZWQgYSBuZXdsaW5lIGF0IHRoZSBlbmQgb2YgdGhlIGRvY3R5cGUgb3V0cHV0CisJICB3aGUgdGhpcyBvbmUgaXMgbm90IHByZXNlbnQgaW5pdGlhbGx5LgorCSogdHJlZS5jOiBtYWtlIHN1cmUgdGFodCB0aGUgcGFyZW50IGFuZCBkb2MgcG9pbnRlcnMgYXJlIHByb3Blcmx5CisJICBzZXQgd2hlbiBjb3B5aW5nIGF0dHJpYnV0ZXMgKGxpc3RzKS4KKworU3VuIEphbiAyMSAxMDo0NzozOCBDRVQgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiBodG1sVHJlZS5bY2hdIHhtbElPLmg6IGV4cG9ydGVkIGh0bWxEb2NDb250ZW50RHVtcE91dHB1dAorCitGcmkgSmFuIDE5IDE4OjE1OjUwIENFVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIHhwYXRoLmM6IHNlZW1zIEkgZmluYWxseSBraWxsZWQgdGhhdCB1Z2x5IHBhdGggZXZhbHVhdGlvbgorCSAgY29udGV4dCBidWcgKHRhZ2dlZCA5OTk5IGluIGNhc2UgaXMgaXMgd3JvbmcpCisKK0ZyaSBKYW4gMTkgMDY6MzA6MzggQ0VUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogeHBhdGguW2NoXSB4cGF0aEludGVybmFscy5oOiBhZGRlZCB4bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGVMb29rdXAoKQorCSAgZm9yIFhTTFQKKworVGh1IEphbiAxOCAxNjoxOTo0NyBDRVQgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiB4bWxJTy5jOiBHYXJ5IFBlbm5pbmd0b24gPEdhcnkuUGVubmluZ3RvbkB1ay5zdW4uY29tPiBmaXgKKwkgIGZvciB4bWxHemZpbGVPcGVuKCkgYnVnCisKK1RodSBKYW4gMTggMTM6MTE6NTAgQ0VUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogeHBhdGguYzogcmVtb3ZlZCBhbiBlcnJvciBmb3VuZCBieSBYU0xUIHVzYWdlCisJKiB0cmVlLmMgcGFyc2VySW50ZXJuYWxzLmg6IHVzZSBhIHByZWRlZmluZWQgc3RhdGljIHN0cmluZworCSAgZm9yIHRleHQgYW5kIGNvbW1lbnQgbm9kZXMsIGF2b2lkIGZyZWVpbmcgdGhlbSBpbiB4bWxGcmVlTm9kZSwKKwkgIGV4cG9ydGVkIHRoZSBzdHJpbmcgbmFtZSBpbiBwYXJzZXJJbnRlcm5hbHMuaCBhbmQgYWRkZWQKKwkgIGFub3RoZXIgdmFsdWUgdG8gZGlzYWJsZSBlbmNvZGluZyBhdCBvdXRwdXQgKGZvciBYU0xUKSwKKwkgIGdhaW4gbWVtb3J5LCB0aW1lLgorCitXZWQgSmFuIDE3IDA5OjE1OjE2IENFVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIHdpbjMyL1JFQURNRS5NU0RldiB3aW4zMi9saWJ4bWwyL2xpYnhtbDJfYS5kc3AKKwkgIHdpbjMyL2xpYnhtbDIvbGlieG1sMl9zby5kc3A6IG5ldyBtYWtlZmlsZXMgYW5kIHVwZGF0ZQorCSAgcHJvdmlkZWQgYnkgSWdvciBabGF0a292aWMgPGlnb3JAc3R1ZC5maC1mcmFua2Z1cnQuZGU+CisKK1R1ZSBKYW4gMTYgMTg6MjQ6NDYgQ0VUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogdHJlZS5jIDogeG1sU2F2ZUZpbGUsIHhtbFNhdmVGaWxlRW5jLCBhcHBsaWVkIHBhdGNoIGZyb20gCisJICBHYXJ5IFBlbm5pbmd0b24KKworTW9uIEphbiAxNSAyMDoyNDoxOCBDRVQgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiB4cGF0aC5jOiBmaXhlZCB0aGUgY29tYXByaXNpb24gb2YgdmFsdWVzIGFuZCBub2RlbGlzdHMsCisJICBuZWVkIHRvIGNvbXBhcmUgbm9kZWxpc3Qgc3RpbGwgLi4uCisJKiBkZWJ1Z1hNTC5jOiBhdm9pZGVkIGEgcG9zc2libGUgY29yZSBkdW1wCisJKiBIVE1McGFyc2VyLmM6IGNsZWFudXAKKwkqIG5hbm9odHRwLmM6IGNvbnRyaWJ1dGVkIGZpeC4KKwkqIHRyZWUuYzogZml4ZXMgaW4gcHJvcGVydGllcyBoYW5kbGluZyBhZGRlZCB4bWxTZXROc1Byb3AKKwkgIG5lZWRlZCBieSBsaWJ4c2x0CisJKiB4cGF0aEludGVybmFscy5oOiBleHBvcnRlZCB4bWxYUGF0aEJvb2xlYW5GdW5jdGlvbiwgYWRkZWQgYSAKKwkgIGNvbW1lbnQKKwkqIFRPRE86IHVwZGF0ZWQKKworU2F0IEphbiAgNiAyMjowNTowOSBDRVQgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiBwYXJzZXIuYyBwYXJzZXJJbnRlcm5hbHMuYzogYXBwbGllZCBCam9ybiBSZWVzZSBvcHRpbWl6YXRpb24KKwkgIHBhdGNoCisKK1NhdCBKYW4gIDYgMTk6MTM6MjcgQ0VUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogTWFrZWZpbGUuYW06IGFwcGxpZWQgcGF0Y2ggZnJvIG1ha2UgY2hlY2sgZnJvbSBNYXJ0aW4gVmlkbmVyCisKK1RodSBKYW4gIDQgMTk6MDc6NDkgQ0VUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogY29uZmlndXJlLmluOiBwcmVwYXJpbmcgMi4yLjExCisJKiBkb2MvaHRtbC8qOiByZWJ1aWxkIHRoZSBIVE1MIGZpbGVzCisJKiBkb2MveG1sLmh0bWwgOiB1cGRhdGVkCisKK1RodSBKYW4gIDQgMTQ6MDk6NTggQ0VUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogdHJlZS5jOiBmaXhlZCBhIHN0dXBpZCBidWcKKwkqIHZhbGlkLmM6IGFwcGxpZWQgIlBhdWwgRC4gU21pdGgiIDxwYXVzbWl0aEBub3J0ZWxuZXR3b3Jrcy5jb20+CisJICBwYXRjaGVzIHJlbGF0ZWQgdG8gdmFsaWRhdGlvbiBvZiBhbiBYSW5jbHVkZSBwcm9jZXNzaW5nIHJlc3VsdAorCSogVE9ETzogdXBkYXRlZAorCitUaHUgSmFuICA0IDExOjQ2OjQwIENFVCAyMDAxIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQGltYWcuZnI+CisKKwkqIGVuY29kaW5nLmMgeG1sSU8uYzogRml4aW5nIHRoZSBwcm9ibGVtIHJlcG9ydGVkIGJ5IE1hcmMgU2FuZmFjb24KKwkgIG9uIGxhcmdlIGZpbGVzCisKK1dlZCBKYW4gIDMgMjE6NTE6MTMgQ0VUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogeG1sSU8uYzogZml4ZWQgeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVNZW0gZG9jCisKK1dlZCBKYW4gIDMgMTg6NTY6MDAgQ0VUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogSFRNTHBhcnNlci5jOiBodG1sQ2hlY2tQYXJhZ3JhcGggdG8gY2hlY2sgaHRtbE9taXR0ZWREZWZhdWx0VmFsdWUsCisJICByZXBvcnRlZCBieSBKb25hcyBCb3Jnc3Ryw7ZtCisJKiBuYW5vaHR0cC5jOiBBcHBsaWVkIEJqb3JuIFJlZXNlJyBJUFY2IGZpcnN0IHBhdGNoCisKK1dlZCBKYW4gIDMgMTY6MTk6MzkgQ0VUIDIwMDEgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAaW1hZy5mcj4KKworCSogdGVzdFhQYXRoLmMgeHBhdGguYzogZml4aW5nIHRoZSBYUGF0aCB1bmlvbiBleHByZXNzaW9ucyBwcm9ibGVtCisJICByZXBvcnRlZCBieSAgTWFydGluIFZpZG5lciA8bWFydGluQGFydGF4Lmthcmxpbi5tZmYuY3VuaS5jej4KKworV2VkIEphbiAgMyAxNDoyMjozMyBDRVQgMjAwMSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEBpbWFnLmZyPgorCisJKiB4bWxsaW50LmM6IE1hZGUgaXMgc28gaWYgdGhlIGZpbGUgbmFtZSBpcyAiLSIgaXMgd2lsbCByZWFkIGZvcm0KKwkgIHN0YW5kYXJkIGlucHV0LiBTdmVuIEhlaW5pY2tlICA8c3ZlbkB6ZW4ub3JnPgorCSogdHJlZS5jOiBmaXhlZCBhIHByb2JsZW0gd2hlbiBncm93aW5nIGJ1ZmZlcgorCSogdHJlZS5oOiBmaXhlZCB0aGUgY29tbWVudCBvZiB0aGUgbm9kZSB0eXBlcyBmb2xsb3dpbmcgYW5kZXJzY2EKKwkgIGNvbW1lbnQKKwkqIFRPRE86IHVwZGF0ZWQKKworV2VkIERlYyAyNyAxMjozNTo0OSBDRVQgMjAwMCBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIEhUTUxwYXJzZXIuW2NoXTogYWRkZWQgYSB3YXkgdG8gYXZvaWQgYWRkaW5nIGF1dG9tYXRpY2FsbHkKKwkgIG9taXR0ZWQgdGFncy4gaHRtbEhhbmRsZU9taXR0ZWRFbGVtKCkgYWxsb3dzIHRvIGNoYW5nZSB0aGUKKwkgIGRlZmF1bHQgaGFuZGxpbmcuCisJKiB0cmVlLltjaF0geG1sbGludC5jOiBhZGRlZCB4bWxEb2NEdW1wRm9ybWF0TWVtb3J5KCkgYW5kIAorCSAgeG1sRG9jRHVtcEZvcm1hdE1lbW9yeUVuYygpLCB1c2VzIG1lbW9yeSBmdW5jdGlvbnMgZm9yIG91dHB1dAorCSAgb2YgeG1sbGludCB0b28gd2hlbiB1c2luZyAtLW1lbW9yeSBmbGFnLCBhZGRlZCBhIG1lbW9yeSB0ZXN0CisJICBzdWl0ZSBhdCB0aGUgTWFrZWZpbGUgbGV2ZWwuCisJKiB4cGF0aEludGVybmFscy5oIHhwYXRoLltjaF0geHBvaW50ZXIuYzogZml4ZWQgcHJvYmxlbXMKKwkgIHdpdGggbmFtZXNwYWNlIHVzZSB3aGVuIGVuY291bnRlcmluZyBRTmFtZXMgaW4gWFBhdGggZXZhbGF0aW9uLAorCSAgYWRkZWQgeG1sbnMoKSBzY2hlbWUgaW4gWFBvaW50ZXIuCisJKiBuYW5vZnRwLmMgOiBpbmNvcnBvcmF0ZWQgYSBmaXgKKwkqIHBhcnNlci5jIHhtbElPLmM6IGZpeGVkIHByb2JsZW1zIHJhaXNlZCB3aXRoIGVuY29kaW5nIHdoZW4gdXNpbmcKKwkgIHRoZSBtZW1vcnkgSS9PCisJKiBwYXJzZXJJbnRlcm5hbHMuYzogY2xvc2VkIGJ1ZyAyNTkzNCByZXBvcnRlZCBieSAKKwkgIHRvcnN0ZW4ubGFuZHNjaG9mZkBpbm5vbWluYXRlLmRlCisJKiBUT0RPOiB1cGRhdGVkCisKK1NhdCBOb3YgMjUgMTE6NDY6MjcgQ0VUIDIwMDAgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiBjb25maWd1cmUuaW4gZG9jL2h0bWwvKiBkb2MveG1sLmh0bWw6IG1hZGUgYSAyLjIuOSByZWxlYXNlCisJICBvbiBhIG5vbi11cGRhdGVkIHRyZWUgOi0oLCBtYWRlIGEgMi4yLjEwIHJlbGVhc2UgdG8gY29ycmVjdCB0aGUKKwkgIHNpdHVhdGlvbgorCitTYXQgTm92IDI1IDEwOjQxOjM3IENFVCAyMDAwIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogbmFub2h0dHAuYyBwYXJzZXIuW2NoXSB0cmVlLltjaF0geG1sSU8uW2NoXSB4bWxsaW50LmMgeHBhdGguYworCSAgcGFyc2VySW50ZXJuYWxzLmggdm1zL2J1aWxkX2xpYnhtbC5jb20gdm1zL2NvbmZpZy52bXMgTWFrZWZpbGUuYW06CisJICBpbnRlZ3JhdGVkIGEgc2V0IG9mIE9wZW5WTVMgY2hhbmdlcyBmcm9tIEhvd2FyZCBUYXlsb3IKKwkgIDxIb3dhcmQuVGF5bG9yQHBhY29hc3QuY29tPgorCitTYXQgTm92IDI1IDAxOjIxOjAxIENFVCAyMDAwIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogdHJlZS5bY2hdIHhtbElPLmM6IGFkZGVkIHhtbERvY0R1bXBNZW1vcnlFbmMoKSBmcm9tIEpvaG4gS3JvbGwKKwkqIGVycm9yLmM6IGFwcGxpZWQgZml4IHN1Z2dlc3RlZCBieSAiTGVvIERhdmlkc29uIiA8bGVvQG94LmNvbXBzb2MubmV0PgorCitTYXQgTm92IDI1IDAwOjI0OjQ5IENFVCAyMDAwIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogSFRNTHBhcnNlci5jOiBzb21lIGZpeGVzIG9uIGF1dG8tb3BlbiBvZiBodG1sL2hlYWQvYm9keQorCSogZW5jb2RpbmcuYzogZml4ZWQgYSBjb21waWxhdGlvbiBlcnJvciBvbiBzb21lIGdjYyBlbnYKKwkqIHhwYXRoLmMgeHBvaW50ZXIuW2NoXSB4cGF0aEludGVybmFscy5oOiBpbXByb3ZlZCB0aGUKKwkgIFhQb2ludGVyIGltcGxlbWVudGF0aW9uCisJKiB0ZXN0L1hQYXRoL3hwdHIvc3RycG9pbnQgdGVzdC9YUGF0aC94cHRyL3N0cnJhbmdlMzogYWRkZWQKKwkgIHJlbGF0ZWQgWFBvaW50ZXIgdGVzdHMgYW5kIGFzc29jaWF0ZWQgcmVzdWx0cworCitGcmkgTm92IDI0IDE0OjAxOjQ0IENFVCAyMDAwIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogZG9jL3htbGR0ZC5odG1sIGRvYy94bWwuaHRtbDogZm9sbG93aW5nIGEgc2hvcnQgc3RlcCBieSBzdGVwCisJICBndWlkYW5jZSBvbiBJUkMgdG8gaGVscCBtYWNpZWogd2l0aCBEVERzIEkgc3RhcnRlZCBhIHNtYWxsCisJICBwYWdlIG9uIHRoZSBzdWJqZWN0LgorCitGcmkgTm92IDE3IDE3OjI4OjA2IENFVCAyMDAwIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogSFRNTHBhcnNlci5jOiBmaXhlZCBoYW5kbGluZyBvZiBicm9rZW4gY2hhcnJlZnMKKwkqIHhtbG1lbW9yeS5oIGxpYnhtbDIuZHNwIGluY2x1ZGUvd2luMzJjb25maWcuaDogcmVwb3J0aW5nIFdpbmRvd3MKKwkgIHBhdGNoZXMKKworTW9uIE5vdiAxMyAxOToxNzoyMCBDRVQgMjAwMCBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIGRvYy94bWwuaHRtbCBkb2MvaHRtbC8qIDogcmVidWlsdCB0aGUgZG9jcyBhZnRlciBhZGRpbmcKKwkgIHhpbmNsdWRlIGFuZCB1cGRhdGVkIHBhZ2UgZm9yIDIuMi43IGFuZCAyLjIuOAorCSogY29uZmlndXJlLmluOiByZWxlYXNpbmcgMi4yLjgKKworTW9uIE5vdiAxMyAxMjozOTozOCBDRVQgMjAwMCBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIHBhcnNlci5bY2hdIHBhcnNlckludGVybmFscy5jOiBhcHBsaWVkIHRoZSBjb25kaXRpb25hbAorCSAgc2VjdGlvbiBwcm9jZXNzaW5nIGZpeCBmcm9tIEpvbmF0aGFuIFAgU3ByaW5nZXIKKwkgIDxqb25hdGhhbi5zcHJpbmdlcjJAZ3RlLm5ldD4KKwkqIHhtbHZlcnNpb24uaC5pbiB3aW4zMi9saWJ4bWwyL2xpYnhtbDIuZHNwIDogVXBkYXRlZCBNUworCSAgcHJvamVjdCBmaWxlLCBmaXhlZCBpY29udiBkZWZhdWx0IG5vbiBzdXBwb3J0CisJKiB4cGF0aC5jOiBmaXhlZCB0aGUgcHJvYmxlbSBvZiBldmFsdWF0aW5nIHJlbGF0aXZlIGV4cHJlc3Npb25zCisJICB3aGVuIGEgbm9kZSBjb250ZXh0IGlzIHByb3ZpZGVkLgorCitTdW4gTm92IDEyIDE2OjMxOjE5IENFVCAyMDAwIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogbmFub2Z0cC5jOiBmaXhlZCBnY2MgMi45NSBuZXcgd2FybmluZ3MKKwkqIFNBWC5jOiBmaXhlZCBhIHN0dXBpZCBidWcKKwkqIHRyZWUuYzogZml4ZWQgYSBmb3JtYXR0aW5nIHByb2JsZW0gd2hlbiByb3VuZC10cmlwcGluZworCSAgZnJvbS90byBtZW1vcnkKKwkqIHhpbmNsdWRlLmM6IGNoYXNlZCBtZW1sZWFrLCBmaXhlZCBhIGJhc2UgcHJvYmxlbQorCSogeHBvaW50ZXIuYzogYWRkZWQgeG1sWFB0ckJ1aWxkUmFuZ2VOb2RlTGlzdCgpLCBmaW5pc2hlZCA/IAorCSAgeG1sWFB0ckJ1aWxkTm9kZUxpc3QoKQorCSogVE9ETzogdXBkYXRlZAorCSogTWFrZWZpbGUuYW0gdGVzdC9YSW5jbHVkZS9kb2NzIHRlc3QvWEluY2x1ZGUvZW50cyByZXN1bHQvWEluY2x1ZGU6CisJICBhZGRpbmcgYSBmaXJzdCBzbWFsbCBzZXQgb2YgcmVncmVzc2lvbiB0ZXN0cyBmb3IgWEluY2x1ZGUKKworVHVlIE5vdiAgNyAxNToxMTozNCBDRVQgMjAwMCBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIG5hbm9odHRwLltjaF06IGFwcGxpZWQgV2F5bmUgRGF2aXNvbiBwYXRjaGVzIHRvIGFjY2VzcworCSAgdGhlIFdXVy1BdXRob3JpemF0aW9uIGhlYWRlci4KKwkqIHBhcnNlci5jOiBDbG9zZWQgQnVnIzMwODQ3OiBQcm9ibGVtcyB3aGVuIHN3aXRjaGluZyBlbmNvZGluZworCSAgaW4gc2hvcnQgZmlsZXMgYnkgYXBwbHlpbmcgU2ltb24gQmVyZydzIHBhdGNoLgorCSogdmFsaWQuYzogZml4ZWQgYSB2YWxpZGF0aW9uIHByb2JsZW0KKwkqIGhhc2guYyBwYXJzZXIuaCBwYXJzZXJJbnRlcm5hbHMuaCB0ZXN0SFRNTC5jIHRlc3RTQVguYyB0cmVlLmgKKwkgIHhtbGVycm9yLmggeG1sbWVtb3J5LmggeG1sdmVyc2lvbi5oLmluOiBhcHBsaWVkIGEgRExMIHBhdGNoIGZyb20KKwkgIFdheW5lIERhdmlzb24KKwkqIHhwb2ludGVyLltjaF06IGFkZGVkIGZpcnN0IHZlcnNpb24gb2YgeG1sWFB0ckJ1aWxkTm9kZUxpc3QoKQorCSAgbmVlZCB0byBiZSBleHRlbmRlZCB0byBub24gZnVsbCBub2RlcyBzZWxlY3Rpb25zLgorCSogeGluY2x1ZGUuYzogc3RhcnRzIHRvIHdvcmsgZGVjZW50bHkKKworTW9uIE5vdiAgNiAxNzoyMjo0NiBDRVQgMjAwMCBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIHRyZWUuW2NoXSB4aW5jbHVkZS5bY2hdIHhtbGxpbnQuYyBjb25maWd1cmUuaW4gdmFsaWQuYworCSAgZGVidWdYTUwuYyB4bWx2ZXJzaW9uLmguaW46IFN0YXJ0ZWQgYWRkaW5nIFhJbmNsdWRlIHN1cHBvcnQsCisJICB0aGlzIGlzIGEgbmV3IHhtbGxpbnQgb3B0aW9uCisJKiB0cmVlLmMgeHBhdGguYzogYXBwbGllZCBUT00gcGF0Y2hlcyBmb3IgWFBhdGgKKwkqIHhwb2ludGVyLmM6IGZpeGVkIGEgY291cGxlIG9mIGVycm9ycy4KKwkqIHVyaS5jOiBhZGRlZCBhbiBlc2NhcGluZyBmdW5jdGlvbiBuZWVkZWQgZm9yIHhpbmNsdWRlCisJKiB0ZXN0WFBhdGguYyBoYXNoLmMgSFRNTHRyZWUuYzogbWlub3IgY2xlYW51cHMgcmFpc2VkIGJ5CisJICBuZXcgd2FybmluZyBmcm9tIFJINzAgZ2NjJ3MgdmVyc2lvbgorCitUdWUgT2N0IDMxIDE0OjE0OjEzIENFVCAyMDAwIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogSFRNTHBhcnNlci5jOiBmaXhlZCBsb29wIG9uIGludmFsaWQgY2hhciBpbiBzY3JpcHRzCisJKiBwYXJzZXIuYzogdXBkYXRlIHRvIGRlc2NyaXB0aW9uIG9mIHhtbElPUGFyc2VEVEQoKQorCSogbGlieG1sLm00IHhtbHZlcnNpb24uaC5pbjogY2hhbmdlcyBjb250cmlidXRlZCBieQorCSAgTWljaGFlbCBTY2htZWluZyA8bS5zY2htZWluZ0BpbnRlcm5ldC1mYWN0b3J5LmRlPgorCSogY29uZmlndXJlLmluOiBwcmVwYXJpbmcgZm9yIDIuMi43CisJKiBNYWtlZmlsZS5hbTogdHJ5aW5nIHRvIGF2b2lkICBjb25maWcuaCBhbmQgYWNjb25maWcuaAorCSAgYmVpbmcgaW5jbHVkZWQgaW4gdGhlIGRpc3RyaWIKKwkqIGNvbmZpZ3VyZS5pbjogcmVsZWFzZWQgMi4yLjcKKworTW9uIE9jdCAzMCAxNzowODoxMCBDRVQgMjAwMCBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIHRyZWUuW2NoXSBkZWJ1Z1hNTC5jIHBhcnNlckludGVybmFscy5jIHhwYXRoLmM6IERlcHJlY2F0ZWQgUGkncworCSAgbGlrZSBuYW1lc3BhY2VzIGZvciBnb29kLiBVbmlmaWVkIHhtbE5zIGFuZCB4bWxOb2RlIHNvbWV3aGF0LgorCitNb24gT2N0IDMwIDE2OjI2OjQ5IENFVCAyMDAwIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogcGFyc2VyLltjaF06IGFkZGVkIHhtbElPUGFyc2VEVEQoKQorCSogeHBvaW50ZXIuYzogYWRkZWQgc3VwcG9ydCBmb3IgdGhlIDIgZXh0cmEgcGFyYW1ldGVycyBvZgorCSAgc3RyaW5nLXJhbmdlLCBmaXhlZCBhIHN0b29waWQgZXJyb3Igd2hlbiAnMCcgd2FzIHByZXNlbnQKKwkgIGluIFhQb2ludGVyIGV4cHJlc3Npb25zCisJKiB0ZXN0L1hQYXRoL3hwdHIvc3RycmFuZ2UyIHJlc3VsdC9YUGF0aC94cHRyL3N0cnJhbmdlMjogYWRkZWQKKwkgIHRlc3RzdWl0ZSBmb3IgdGhlIGFib3ZlCisKK01vbiBPY3QgMzAgMTA6MjY6NDMgQ0VUIDIwMDAgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiBsaWJ4bWwuc3BlYy5pbjogaW1wcm92ZWQgcGFja2FnZSBkZXNjcmlwdGlvbnMKKworU3VuIE9jdCAyOSAxOTowMzoxMSBDRVQgMjAwMCBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIHhwYXRoLmMgeHBhdGhJbnRlcm5hbHMuaDogYXBwbGllZCBhIGxhcmdlIGNsZWFuaW5nIHBhdGNoCisJICBmcm9tIFRPTSA8cHRpdHRvbUBmcmVlLmZyPiwgaXQgYWxzbyBhZGQgbmFtZXNwYWNlIHN1cHBvcnQKKwkgIGZvciBmdW5jdGlvbiBhbmQgdmFyaWFibGVzIHJlZ2lzdHJhdGlvbi4KKworU3VuIE9jdCAyOSAxODo1MTo0NiBDRVQgMjAwMCBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIHVyaS5jOiBXYXluZSBEYXZpc29uJ3MgcGF0Y2ggZml4aW5nIHhtbEJ1aWxkVVJJKCkKKwkqIE1ha2VmaWxlLm1pbmd3OiBXYXluZSBEYXZpc29uJ3MgdXBkYXRlIGFkZGluZyBoYXNoLmMKKworU3VuIE9jdCAyOSAxODozODoxMiBDRVQgMjAwMCBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIHhwYXRoLmM6IGZpeGVkIHRoZSByb290IGV2YWx1YXRpb24gcHJvYmxlbXMKKwkqIEhUTUxwYXJzZXIuYyByZXN1bHQvSFRNTC9kb2MzLmh0bTogZml4ZWQgdGhlIHByb2JsZW0gb2Ygbm9uCisJICBpZ25vcmFibGUgc3BhY2VzIHdpdGggPGI+IDxib2xkPiA8ZW0+CisJKiB0cmVlLmM6IGZpeGVkIGEgbG9vcCBpbiB4bWxTZWFyY2hOc0J5SHJlZigpCisKK0ZyaSBPY3QgMjcgMTg6NTc6MzIgQ0VTVCAyMDAwIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogeHBhdGguYzogYXBwbGllZCBhbm90aGVyIFhQYXRoIHBhdGNoIGZyb20gVE9NIAorCSogeHBhdGguYyBpbmNsdWRlL21ha2VmaWxlLmFtOiBhcHBsaWVkIGFub3RoZXIgcGF0Y2ggZnJvbSAKKwkgIGNoaW5hQHRoZXdyaXR0ZW53b3JkLmNvbSAoY2xlYW51cCBvbiBJUklYKS4KKworRnJpIE9jdCAyNyAxMzo0NToyOCBDRVNUIDIwMDAgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiB4bWwtY29uZmlnLjE6IHJlY2VpdmVkIGEgZml4ZWQgdmVyc2lvbiBmcm9tIEZyZWRyaWsgSGFsbGVuYmVyZworCSAgPGhhbGxvbkBseXNhdG9yLmxpdS5zZT4KKworVGh1IE9jdCAyNiAxNjowNToyNSBDRVNUIDIwMDAgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiB4cGF0aC5jIHRleHRYUGF0aC5jIHhwYXRoSW50ZXJuYWxzLmg6IGFwcGxpZWQgVE9NIDxwdGl0dG9tQGZyZWUuZnI+CisJICBjbGVhbnVwIHBhdGNoIGZvciBYUGF0aAorCitXZWQgT2N0IDI1IDIxOjMxOjEwIENFU1QgMjAwMCBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIHBhdGNoZWQgdG8gcmVkaXJyZWN0IGFsbCAib3V0IG9mIGNvbnRleHQiIGVycm9yIG1lc3NhZ2VzIHRvCisJICBhIHJlY29uZmlndXJhYmxlIHJvdXRpbmUuIFRoZSBjaGFuZ2VzIGFyZToKKwkqIHhtbGVycm9yLmggOiBhZGRlZCB0aGUgZXhwb3J0IG9mIGFuIGVycm9yIGNvbnRleHQgdHlwZSAodm9pZCAqKQorCSAgYW4gZXJyb3IgaGFuZGxlciB0eXBlIHhtbEdlbmVyaWNFcnJvckZ1bmMgdGhlcmUgaXMgYW4gaW50ZXJmYWNlCisJICB4bWxTZXRHZW5lcmljRXJyb3JGdW5jKHZvaWQgKmN0eCwgeG1sR2VuZXJpY0Vycm9yRnVuYyBoYW5kbGVyKTsKKwkgIHRvIHJlc2V0IHRoZSBlcnJvciBoYW5kbGluZyByb3V0aW5lIGFuZCBpdHMgYXJndW1lbnQKKwkgIChieSBkZWZhdWx0IGl0J3MgZXF1aXZhbGVudCB0byByZXNwZWN0aXZlbHkgZnByaW50ZiBhbmQgc3RkZXJyLgorCSogYWxsIHRoZSBjIGZpbGVzOiBhbGwgd2lsZCBhY2Nlc3NlcyB0byBzdGRlcnIgb3Igc3Rkb3V0IHdpdGhpbgorCSAgdGhlIGxpYnJhcnkgaGF2ZSBiZWVuIHJlcGxhY2VkIHRvIGNhbGxzIHRvIHRoZSBoYW5kbGVyLgorCitXZWQgT2N0IDI1IDE1OjI3OjE5IENFU1QgMjAwMCBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIGNvbmZpZ3VyZS5pbjogcmVsZWFzZSAyLjIuNgorCSogeHBhdGguW2NoXSB4cG9pbnRlci5jIHhwYXRoSW50ZXJuYWxzLmg6IGFkZGVkIHhwYXRoSW50ZXJuYWxzLmgKKwkgIGV4cG9ydGluZyB0aGUgaW5uZXIgZnVuY3Rpb25zIG9mIHhwYXRoIGZvciBleHRlbnNpb24gbW9kdWxlcworCSogZG9jLyo6IHVwZGF0ZWQgYW5kIHJlYnVpbHQgdGhlIGRvYworCitXZWQgT2N0IDI1IDEyOjQ4OjU1IENFU1QgMjAwMCBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIG5hbm9odHRwLmMgOiBhcHBsaWVkIFdheW5lIEhUVFAgY2xlYW51cCBwYXRjaAorCSogdHJlZS5bY2hdOiBhcHBsaWVkIFRPTSA8cHRpdHRvbUBmcmVlLmZyPiBmb3IgeG1sTm9kZVNldEJhc2UoKQorCSAgYW5kIHhtbE5vZGVTZXRTcGFjZVByZXNlcnZlKCkKKworV2VkIE9jdCAyNSAxMjoxMTowMyBDRVNUIDIwMDAgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiB4cGF0aC5jOiBjbG9zaW5nIGJ1ZyAjMjkyNjAKKworVHVlIE9jdCAyNCAxODo0OTozNCBDRVNUIDIwMDAgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiBoYXNoLltjaF0gZGVidWdYTUwuYzogZXhwYW5kZWQvZW5oYW5jZWQgdGhlIEFQSSwgYWRkZWQKKwkgIG11bHRpa2V5IHR1cGxlcywgbWFkZSBoYXNoIHN0cnVjdHVyZSBvcGFxdWUKKwkqIHZhbGlkLltjaF06IG1vdmVkIGVsZW1lbnRzLCBhdHRyaWJ1dGVzLCBub3RhdGlvbnMgZGVjYWxhcmF0aW9ucworCSAgYXMgd2VsbCBhcyBJRCBhbmQgcmVmcyB0byBoYXNoIHRhYmxlcy4KKwkqIGVudGl0aWVzLmM6IGhhc2ggY2xlYW51cAorCSogeG1sbWVtb3J5LmM6IGZpeGVkIGEgZHVtcCBwcm9ibGVtIGluIGRlYnVnIG1vZGUKKwkqIGluY2x1ZGUvTWFrZWZpbGUuYW06IHByb2JsZW0gcGFzc2luZyBpbiBERVNURElSPSB2YWx1ZXMgcGF0Y2gKKwkgIGZyb20gTWFyYyBDaHJpc3RlbnNlbiA8bWFyY0BjYWxkZXJhc3lzdGVtcy5jb20+CisJKiBuYW5vaHR0cC5jOiByZW1vdmVkIGRlYnVnZ2luZyByZW1haW5zCisJKiBIVE1McGFyc2VyLmM6IHRoZSBib2d1cyB0YWcgc2hvdWxkIGJlIGlnbm9yZWQgKFdheW5lKQorCSogSFRNTHBhcnNlci5jIHBhcnNlci5jOiBmaXhpbmcgYSBudW1iZXIgb2YgcHJvYmxlbXMgd2l0aCB0aGUKKwkgIG1hY3JvcyBpbiB0aGUgKnBhcnNlci5jIGZpbGVzIChXYXluZSkuCisJKiBIVE1McGFyc2VyLmM6IGNsb3NlIHRoZSBwcmV2aW91cyBvcHRpb24gd2hlbiBvcGVuaW5nIGEgbmV3IG9uZQorCSAgKE1hcmMgU2FuZmFjb24pLgorCSogcmVzdWx0L0hUTUwvKjogdXBkYXRlZCB0aGUgSFRNTCByZXN1bHRzIGFjY29yZGluZ2x5CisKK1N1biBPY3QgMjIgMTg6Mzk6MTkgQ0VTVCAyMDAwIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogZW50aXRpZXMuW2NoXSB4cGF0aC5bY2hdIGhhc2guW2NoXSBkZWJ1Z1hNTC5jIHRyZWUuaDogYWRkZWQvaGFja2VkCisJICBoYXNoIHRhYmxlcyBmcm9tIEJqb3JuIFJlZXNlIDxicmVlc2VAbWFpbDEuc3RvZmFuZXQuZGs+LiBTd2l0Y2hlZAorCSAgWFBhdGggZnVuY3Rpb25zIGFuZCBYTUwgZW50aXRpZXMgdGFibGUgdG8gdGhlbS4gTW9yZSB0byBjb21lLi4uCisJKiB4bWxJTy5jOiBmaXhlZCBsaWJ4bWwgY2xvc2luZyBGSUxFcyBpdCBkaWRuJ3Qgb3Blbi4KKworU3VuIE9jdCAyMiAxMzo1OTo1MCBDRVNUIDIwMDAgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiB0cmVlLmM6IGNvYWxlc2NlIGFkamFjZW50IHRleHQgbm9kZXMKKwkqIHZhbGlkLmM6IGhhbmRsaW5nIG9mIGJsYW5rIG5vZGVzIGluIERUZCB2YWxpZGF0aW9uIChyYWlzZWQKKwkgIGJ5IHByb2JsZW1zIHdpdGggYSBwb3N0ZXJpb3JpIHZhbGlkYXRpb24pLgorCSogbmFub2h0dHAuYzogY2hhbmdpbmcgYmVoYXZpb3VyIG9uIEhUVFAgd3JpdGUgc3R1ZmYuCisJKiBIVE1MdHJlZS5jOiBmb3JjZWQgYm9keSBhbmQgaHRtbCB0byBiZSBleHBsaWNpdGVseSBjbG9zZWQuCisJKiB4cGF0aC5oOiBleHBvcnRlZCBtb3JlIFhQYXRoIGZ1bmN0aW9ucy4KKworU3VuIE9jdCAxNSAyMjoyODozMiBDRVNUIDIwMDAgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiBSZWxlYXNlIG9mIDIuMi41CisJKiB4cG9pbnRlci5jOiByYW5nZSgpIHJhbmdlLWluc2lkZSBhbmQgb3RoZXIgaGVscGVyIGZ1bmN0aW9ucworCSogcGFyc2VySW50ZXJuYWxzLmM6IGZpeGVkIHBlcmYgcHJvYmxlbSByYWlzZWQgYnkgcm9sZkBwb2ludHNtYW4uZGUKKworU3VuIE9jdCAxNSAxNjoyMToyNyBDRVNUIDIwMDAgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiBTQVguYzogSFRNTCBhdHRyaWJ1dGVzIG5lZWQgbm9ybWFsaXphdGlvbiB0b28gKEJqb3JuIFJlZXNlKQorCSogSFRNTHBhcnNlci5bY2hdOiBhZGRkZWQgaHRtbElzU2NyaXB0QXR0cmlidXRlKCkKKworU3VuIE9jdCAxNSAxMzoxODozNiBDRVNUIDIwMDAgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiBkb2MvKjogcmVidWlsdCBkb2NzIHByZXBhcmluZyBmb3IgMi4yLjUgcmVsZWFzZSwgYWRkZWQgVVJJCisJICBhbmQgWFBvaW50ZXIgbW9kdWxlcworCitTdW4gT2N0IDE1IDEyOjEzOjMwIENFU1QgMjAwMCBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIFNBWC5oOiBjbG9zZWQgIzI1MTA3CisKK1N1biBPY3QgMTUgMTI6MDY6MTYgQ0VTVCAyMDAwIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogdGVzdFNBWC5jOiBmaXhlZCBwcm9ibGVtIHdpdGggY2RhdGEgcmVwb3J0aW5nCisJKiBTQVhyZXN1bHQvKiA6IHVwZGF0ZWQKKworU3VuIE9jdCAxNSAxMjowMDoyNCBDRVNUIDIwMDAgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiBwYXJzZXIuYyB0ZXN0L3dhcC54bWwgcmVzdWx0L25vZW50L3dhcC54bWwgcmVzdWx0L3dhcC54bWw6CisJICBDbG9zZWQgYnVnICMyNzQ5OSwgYWRkZWQgdG8gcmVncmVzc2lvbiB0ZXN0cworCSogVE9ETzogdXBkYXRlZAorCitTdW4gT2N0IDE1IDAxOjM0OjM3IENFU1QgMjAwMCBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIEhUTUxwYXJzZXIuYyBIVE1MdHJlZS5bY2hdIFNBWC5jIHRlc3RIVE1MLmMgdHJlZS5jOiBmaXhlZCBIVE1MCisJICBzdXBwb3J0IGZvciBTQ1JJUFQgYW5kIFNUWUxFIHdpdGggaGVscCBmcm9tIEJqb3JuIFJlZXNlCisJKiB0ZXN0L0hUTUwvKiByZXN1bHQvSFRNTC8qOiBhZGRlZCBzaW1wbGUgdGVzdGNhc2UgYW5kIHVwZGF0ZWQKKwkgIHRoZSBleGlzdGluZyBvbmVzLgorCitGcmkgT2N0IDEzIDE4OjI0OjMxIENFU1QgMjAwMCBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIHhwYXRoLmMgeHBvaW50ZXIuYzogWFBvaW50ZXIgcmVvcmRlciBvZiByYW5nZXMgc3RhcnQvZW5kIGFuZAorCSAgc3RyaW5nLXJhbmdlIGZvciBlbXB0eSBzdHJpbmdzCisJKiB0ZXN0L1hQYXRoL2RvY3Mvc3RyIHRlc3QvWFBhdGgveHB0ci9jaGFwdGVyc3JhbmdlCisJICB0ZXN0L1hQYXRoL3hwdHIvc3RycmFuZ2U6IGF1Z21lbnRlZCB0aGUgWFBvaW50ZXIgdGVzdHN1aXRlCisKK0ZyaSBPY3QgMTMgMTI6MjE6NDggQ0VTVCAyMDAwIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogZG9jL3htbC5odG1sIGRvYy94bWxtZW0uaHRtbDogYWRkZWQgYSBtb2R1bGUgZGVzY3JpYmluZyBtZW1vcnkKKwkgIGludGVyZmFjZXMgYW5kIHVzZSwgdXBkYXRlZCB0aGUgbWFpbiBwYWdlLgorCitGcmkgT2N0IDEzIDAxOjIzOjQ4IENFU1QgMjAwMCBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIG5hbm9mdHAuYyBuYW5vaHR0cC5jIHhtbElPLmM6IFdheW5lIERhdmlzb24gV2luMzIgcGF0Y2gKKwkgIG5hbm9mdHAgY29kZSB3b3JrIG9uIFdpbmRvd3MgdG9vIG5vdworCitGcmkgT2N0IDEzIDAwOjU0OjM3IENFU1QgMjAwMCBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIHRlc3RYUGF0aC5jIHhwYXRoLltjaF06IG1vdmVkIHNvbWUgZGVidWcgZnVuY3Rpb25zIHRvIHhwYXRoIGNvcmUKKwkqIHhwb2ludGVyLmM6IGltcGxlbWVudGVkIHN0cmluZy1yYW5nZSgpIGF0IGxlYXN0IGEgZ29vZCBmaXJzdCB2ZXJzaW9uCisJKiB0ZXN0L1hQYXRoL2RvY3Mvc3RyIHRlc3QvWFBhdGgveHB0ci9zdHJyYW5nZQorCSAgcmVzdWx0L1hQYXRoL3hwdHIvc3RycmFuZ2U6IHRoZSBzdHJpbmctcmFuZ2UoKSB0ZXN0cworCitUaHUgT2N0IDEyIDEwOjAyOjU5IENFU1QgMjAwMCBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIE1ha2VmaWxlLmFtIGluY2x1ZGUvTWFrZWZpbGUuYW0gaW5jbHVkZS93aW4zMmNvbmZpZy5oCisJICB3aW4zMi9NYWtlZmlsZS5taW5ndzogZml4ZWQgcHJvYmxlbXMgcmVwb3J0ZWQgYnkgV2F5bmUgRGF2aXNvbgorCSAgYW5kIG1ha2UgZGlzdGNoZWNrCisKK1RodSBPY3QgMTIgMDE6NDQ6MDggQ0VTVCAyMDAwIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogbmFub2h0dHAuYzogYWRkZWQgeG1sTmFub0hUVFBUaW1lb3V0KGludCBkZWxheSksIHJlbW92ZWQgYSBidWcKKwkgIHhtbE5hbm9IVFRQTWV0aG9kIG9uIGlucHV0IE1pbWVUeXBlIFRvbnkgTGFtIDxUb255LkxhbUBlbmcuc3VuLmNvbT4KKwkqIHhwb2ludGVyLmM6IHNsaWdodCBleHRlbnNpb24gb2YgeG1sWFB0ckxvY2F0aW9uU2V0TWVyZ2UKKworVGh1IE9jdCAxMiAwMTozNzo1MyBDRVNUIDIwMDAgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiBjb25maWcuaC5pbiBjb25maWd1cmUuaW4gbmFub2Z0cC5jIG5hbm9odHRwLmMgeG1sdmVyc2lvbi5oLmluIDoKKwkgIHBhdGNoIGZvciBzb2NrbGVuX3QgZGV0ZWN0aW9uIGJ5CisJICBBbGJlcnQgQ2hpbi1BLVlvdW5nIDxjaGluYUB0aGV3cml0dGVud29yZC5jb20+CisKK1dlZCBPY3QgMTEgMTc6NTM6NTcgQ0VTVCAyMDAwIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogdHJlZS5jIHZhbGlkLmMgeG1sbGludC5jOiBGaXhlZCBhIGZldyBwb3N0dmFsaWRhdGlvbiBidWdzCisJICBhbmQgYWRkZWQgYSAtLWR0ZHZhbGlkIG9wdGlvbiB0byB4bWxsaW50IHVzZWQgdG8gdGVzdCBpdAorCitXZWQgT2N0IDExIDE1OjAxOjI5IENFU1QgMjAwMCBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIHhtbC1jb25maWcuMSBNYWtlZmlsZS5hbSBsaWJ4bWwuc3BlYy5pbjogYWRkaW5nIGEgbWFuIHBhZ2UgZm9yCisJICB4bWwtY29uZmlnIGJ5IEZyZWRyaWsgSGFsbGVuYmVyZyA8aGFsbG9uQGx5c2F0b3IubGl1LnNlPgorCitXZWQgT2N0IDExIDEyOjQxOjMwIENFU1QgMjAwMCBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIHhwYXRoLltjaF0geHBvaW50ZXIuW2NoXTogd29ya2VkIG9uIFhQYXRoIGZ1bmN0aW9ucyBhbmQgdmFyaWFibGUKKwkgIGhhbmRsaW5ncyAocmVnaXN0cmF0aW9uLCBsb29rdXAsIGNsZWFudXApCisKK1dlZCBPY3QgMTEgMDE6NDY6NDQgQ0VTVCAyMDAwIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogY29uZmlndXJlLmluIE1ha2VmaWxlLmFtIGluY2x1ZGUvbWFrZWZpbGUuYW06IGFkZGluZyBYUG9pbnRlcgorCSAgYW5kIFhQdHJ0ZXN0cyB0YXJnZXQKKwkqIHhwb2ludGVyLltjaF0gOiBuZXcgZmlsZXMgZm9yIFhQb2ludGVyIHN1cHBvcnQKKwkqIHRlc3QvWFBhdGgveHB0ciByZXN1bHQvWFBhdGgveHB0cjogYWRkZWQgWFBvaW50ZXIgdGVzdHN1aXRlIGFuZAorCSAgbW9yZSBYUGF0aCB0ZXN0cworCitXZWQgT2N0IDExIDAxOjIzOjI1IENFU1QgMjAwMCBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIGNvbmZpZ3VyZS5pbjogZml4ZWQsIHZlcnkgYnJva2VuLCBtYWtlIGRpc3RjaGVjayB3b3JrcyBhZ2FpbgorCitXZWQgT2N0IDExIDAyOjUzOjEwIENFU1QgMjAwMCBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIE1vcmUgd29yayB0b3dhcmQgMi4yLjUsIGludGVncmF0ZWQgYSBudW1iZXIgb2YgcGF0Y2hlcworCSogY29uZmlndXJlLmluIE1ha2VmaWxlLmFtIHdpbjMyY29uZmlnLmguaW46IHRyeWluZyB0byBjbGVhbnVwCisJICBtYWtlIGRpc3RjaGVjayAuLi4uIGh1aCAuLi4KKwkqIGluY2x1ZGUvTWFrZWZpbGUuYW0gaW5jbHVkZS93aW4zMmNvbmZpZy5oOiBuZXcgZGlyZWN0b3J5CisJICBmb3IgaW5jbHVkZXMKKwkqIHdpbjMyL01ha2VmaWxlLm1pbmd3IHdpbjMyL1JFQURNRS5NU0RldiB3aW4zMi9saWJ4bWwyL2xpYnhtbDIuZHNwCisJICB1cGRhdGVkIHRlaCBtYWtlZmlsZXMgYW5kIGluc3RydWN0aW9ucyBmb3IgV0lOMzIKKwkqIHhwYXRoLmM6IHNtYWxsIGZpeGVzCisJKiB0ZXN0L1hQYXRoLyByZXN1bHRzL1hQYXRoOiB1cGRhdGVkIHRoZSB0ZXN0Y2FzZXMgYW5kIHJlc3VsdHMKKwkqIEhUTUxwYXJzZXIuYyBuYW5vaHR0cC5jIHRlc3RYUGF0aC5jOiBpbmNvcnBvcmF0ZWQgcHJvdmlkZWQgb3IKKwkgIHN1Z2dlc3RlZCBwYXRjaGVzCisJKiB2YWxpZC5jOiBmaXhlZCBhbiBJRCBidWcKKworTW9uIE9jdCAgOSAxNDoyODo1NiBDRVNUIDIwMDAgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiBtb3ZlZCB4bWwtZXJyb3IuaCB0byB4bWxlcnJvci5oOiBzZWVtcyB0aGlzIGFsbG93ZWQgdG8gYnlwYXNzCisJICB0aGUgYXV0b21ha2UgYnVnIHdoZXJlIHdyb25nIGRlcGVuZGVuY2llcyB3ZXJlIGdlbmVyYXRlZC4KKwkqIHhwYXRoLltjaF06IHdvcmtlZCBvbiBYUG9pbnRlcgorCitGcmkgT2N0ICA2IDEyOjU4OjA0IENFU1QgMjAwMCBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIGNvbmZpZ3VyZS5pbiBNYWtlZmlsZS5hbTogMi4yLjUsIHNoaXAgdGhlIGluY2x1ZGUgaW4gYW4KKwkgIGluY2x1ZGUvbGlieG1sIHN1YmRpcmVjdG9yeSwgdXNlIHN5bWxpbmtzIHdoZW4gdXNpbmcgQ1ZTCisJKiB0ZXN0U0FYLmM6IGZpeGVkIHNtYWxsIGJ1ZworCSogdGVzdFhQYXRoLmM6IGNoYW5nZWQgdGhlIHdheSB0ZXN0ZmlsZXMgYXJlIHBhcnNlZAorCSogZGVidWdYTUwuYzogc2FtZSBraW5kIG9mIGNsZWFudXAgd2hlbiBwYXJzaW5nIGFuIGFyZ3VtZW50IGV4cHJlc3Npb24KKwkgIFhQYXRoL1hQb2ludGVycyBjYW4gaGF2ZSBibGFua3MgZW1iZWRkZWQKKwkqIHhwYXRoLltjaF06IG1vcmUgY2xlYW51cCwgcmVvcmdzIGZvciBYUG9pbnRlciB3b3JrCisJKiBwYXJzZXJJbnRlcm5hbHMuYyBwYXJzZXIuYyBIVE1McGFyc2VyLmM6IGZpeGVkIHdyb25nIGluY2x1ZGUKKwkqIHdpbjMyL1JFQURNRS5NU0RldiB3aW4zMi9saWJ4bWwyL2xpYnhtbDIuZHNwOiBXaW5kb3dzIHN0dWZmCisKK1RodSBPY3QgIDUgMTg6MTM6MTUgQ0VTVCAyMDAwIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogZGVidWdYTUwuYyB0ZXN0WFBhdGguYyB4cGF0aC5bY2hdOiBnb3QgcGlzc2VkIGJ5IHNvbWUgbmFzdHluZXNzCisJICBpbiB0aGUgWFBhdGggZW5naW5lLCByZXdyb3RlIGxhcmdlIHBhcnRzIG9mIGl0LCBub3cgaXQncyBmYXIKKwkgIGNsZWFuZXIgYW5kIGluIHN5bmMgd2l0aCB0aGUgUkVDIG5vdCBhbiBvbGQgV0QuIEZpeGVkIGEgcGFyc2luZworCSAgcHJvYmxlbSBpbiB0aGUgaW50ZXJhY3RpdmUgWE1MIHNoZWxsIGZvdW5kIHdoZW4gdGVzdGluZyBYUGF0aC4KKworV2VkIE9jdCAgNCAxNToyNTo1MyBDRVNUIDIwMDAgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiBkZWJ1Z1hNTC5jIHRlc3RYUGF0aC5jIHhwYXRoLltjaF06IE1vcmUgd29yayBvbiBYUGF0aC9YcG9pbnRlciwKKwkgIGluY29ycG9yYXRlZCAiKFRPTSkiIDxwdGl0dG9tQGZyZWUuZnI+IHBhdGNoZXMgcmVidWlsdCB0aGUgWFBhdGgKKwkgIGV4YW1wbGVzIHdpdGggdGhlIGV4dHJhIHRlc3QKKworV2VkIE9jdCAgNCAxNDozOTowMSBDRVNUIDIwMDAgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiBwYXJzZXIuYyB4bWxJTy5jIHhtbElPLmg6IGZpeGVkIGJ1ZyAyNjY1MCwgYW5kIGltcHJvdmVkCisJICB0aGUgZ2xvYmFsIGluaXQgZnVuY3Rpb24uCisKK1R1ZSBPY3QgIDMgMTE6Mjg6NTIgQ0VTVCAyMDAwIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogSFRNTHBhcnNlci5jOiBEb29oaGgsIGF0dHJpYnV0ZSBuYW1lIHBhcnNpbmcgd2FzIHN0aWxsIGNhc2UKKwkgIHNlbnNpdGl2ZSAhIEZpeGVkIHRoaXMgLi4uCisJKiByZXN1bHQvSFRNTC8qIDogdXBkYXRlZCB0aGUgdGVzdHMgcmVzdWx0cyBhY2NvcmRpbmdseQorCitNb24gT2N0ICAyIDIzOjQ3OjMyIENFU1QgMjAwMCBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIHhwYXRoLltjaF0gZGVidWdYTUwuYyB0ZXN0WFBhdGguYzogZml4ZWQgdGhlIFhQYXRoIGV2YWx1YXRpb24KKwkgIGVuZ2luZSwgc2hvdWxkIGJlIGZhciBtb3JlIHN0YWJsZSwgaW5jb3Jwb3JhdGVkIGEgbmV3IHZlcnNpb24gb2YKKwkgIHByZWNlZGluZy9mb2xsb3dpbmcgYXhpcywgbmVlZCB0ZXN0aW5nCisJKiB1cmkuYzogZml4ZWQgZmlsZTovLy9jOi9hL2IvYyBwcm9ibGVtCisJKiB0ZXN0L1hQYXRoL3Rlc3RzL2lkc2ltcGxlOiBhdWdtZW50ZWQgdGhlIFhQYXRoIHRlc3RzCisKK1N1biBPY3QgIDEgMjI6MzM6MDAgQ0VTVCAyMDAwIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogZG9jLyogcmVidWlsZGluZyBkb2NzIGZvciAyLjIuNCByZWxlYXNlCisKK1N1biBPY3QgIDEgMjI6MTY6MzMgQ0VTVCAyMDAwIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogY29uZmlndXJlLmluOiByZWxlYXNpbmcgMi4yLjQKKwkqIHBhcnNlci5bY2hdOiBhZGRlZCB4bWxTdHJFcXVhbCgpCisJKiBIVE1McGFyc2VyLmMgSFRNTHRyZWUuYyBTQVguYyBkZWJ1Z1hNTC5jIGVudGl0aWVzLmMgcGFyc2VyLmMKKwkgIHRyZWUuYyB2YWxpZC5jIHhsaW5rLmMgeHBhdGguYzogY29udmVydGVkIGFsbCAheG1sU3RyY21wIHRvCisJICB1c2UgeG1sU3RyRXF1YWwgaW5zdGVhZAorCSogVE9ETzogdXBkYXRlZAorCSogYWRkZWQgYW4gWFBhdGggdGVzdAorCitTdW4gT2N0ICAxIDIwOjE5OjM5IENFU1QgMjAwMCBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIEhUTUxwYXJzZXIuYzogZml4ZWQgaHRtbFN0YXJ0Q2xvc2VJbmRleGluaXRpYWxpemVkIGluaXQKKwkqIGVudGl0aWVzLmg6IGV4cG9ydGVkIHhtbEluaXRpYWxpemVQcmVkZWZpbmVkRW50aXRpZXMKKwkqIHBhcnNlci5bY2hdIDogYWRkZWQgeG1sSW5pdFBhcnNlcigpCisJKiBwYXJzZXJJbnRlcm5hbHMuaCA6IGhhZCB0byBleHBvcnQgaHRtbEluaXRBdXRvQ2xvc2UoKQorCitTdW4gT2N0ICAxIDE2OjI4OjIyIENFU1QgMjAwMCBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIHhwYXRoLltjaF0gOiBmaXhlZCBzb21lIHNlcmlvdXMgWFBhdGggUHJlZGljYXRlIGV2YWx1YXRpb24KKwkgIHByb2JsZW1zCisJKiBNYWtlZmlsZS5hbSA6IGFkZGVkIFhQYXRoIHJlZ3Jlc3Npb24gdGVzdHMgdG8gbm9ybWFsIHRlc3RzCisJKiB1cmkuYzogZml4ZWQgYSBwcm9ibGVtIHdpdGggbG9jYWwgcGF0aHMsIGNsZWFudXAKKwkqIHBhcnNlci5jOiBmaXhlZCBhIHByb2JsZW0gd2l0aCBsYXJnZSBDRGF0YSBzZWN0aW9ucworCitTYXQgU2VwIDMwIDE2OjM1OjU0IENFU1QgMjAwMCBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIGNvbmZpZ3VyZS5pbiB4bWwtY29uZmlnLmluOiBwYXRjaCBmcm9tICJCZW4gVGF5bG9yIgorCSAgPHNvbDd4ODZAaG90bWFpbC5jb20+IGZvciBzb2xhcmlzIHNoYXJlZCBsaWJzIGxvb2t1cAorCisyMDAwLTA5LTMwICBNYXJ0aW4gQmF1bGlnICA8YmF1bGlnQHN1c2UuZGU+CisKKwkqIGxpYnhtbC0yLjAucGMuaW46IFByb3ZpZGUgcGtnLWNvbmZpZyBzY3JpcHQuCisKKwkqIGNvbmZpZ3VyZS5pbjogQ3JlYXRlIHRoZSBsaWJ4bWwtMi4wLnBjIHNjcmlwdCBmcm9tIHRoZQorCWxpYnhtbC0yLjAucGMuaW4gdGVtcGxhdGVzLgorCSogTWFrZWZpbGUuYW0gKHBrZ2NvbmZpZ19EQVRBKTogSW5zdGFsbCB0aGUgbGlieG1sLTIuMC5wYworCXNjcmlwdCBpbiBgJChsaWJkaXIpL3BrZ2NvbmZpZycuCisKK01vbiBTZXAgMjUgMTY6MjM6NDEgQ0VTVCAyMDAwIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogSFRNTHBhcnNlci5jIHBhcnNlci5jIHRyZWUuYyB0cmVlLmg6IEF2b2lkaW5nIGEgZmV3IHdhcm5pbmcKKwkgIHdoZW4gY29tcGlsaW5nIHdpdGggTVNDCisKK1N1biBTZXAgMjQgMjA6MzI6NTIgQ0VTVCAyMDAwIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogeHBhdGguYzogcGF0Y2ggZm9yIG5vcm1hbGl6ZS1zdHJpbmcoKSBzdWJzdHJpbmctYmVmb3JlKCksCisJICBzdWJzdHJpbmctYWZ0ZXIoKSBhbmQgdHJhbnNsYXRlKCkgZnVuY3Rpb25zIGZyb20gQmpvcm4gUmVlc2UKKwkgIDxicmVlc2VAbWFpbDEuc3RvZmFuZXQuZGs+CisJKiBsaWJ4bWwubTQgTWFrZWZpbGUuYW06IGFkZGVkIGxpYnhtbC5tNCBmcm9tIERlYmlhbiA/CisJICBGcmVkcmlrIEhhbGxlbmJlcmcgPGhhbGxvbkBseXNhdG9yLmxpdS5zZT4KKwkqIFRPRE86IHVwZGF0ZWQKKworU3VuIFNlcCAyNCAxMDowMDo0OSBDRVNUIDIwMDAgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiB4bWx2ZXJzaW9uLmguaW4gbmFub2Z0cC5jIG5hbm9odHRwLmM6IHRyYXlpbmcgdG8gd29yayBvdXQgdGhlCisJICBwcm9ibGVtIG9mIHNvY2tsZW5fdCBiZWluZyB1bmRlZmluZWQgb24gYSBudW1iZXIgb2YgcGxhdGZvcm1zCisJKiBkZWJ1Z1hNTC5jOiBmaXhlZCBhIGNvbXBpbGF0aW9uIHByb2JsZW0gd2hlbiB3aXRob3V0IHNucHJpbnRmCisKK1NhdCBTZXAgMjMgMTI6MTk6NDUgQ0VTVCAyMDAwIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogSFRNTHBhcnNlci5jIHVyaS5jOiBBbm90aGVyIHBhdGNoIGZyb20gV2F5bmUgRGF2aXNvbiwgY29ycmVjdGluZworCSAgYW4gVVJJIGJ1ZyBhbmQgYSBmaXggZm9yIHRoZSBjb250cm9sLWNoYXJhY3Rlci1pbmR1Y2VkIGluZmluaXRlIGxvb3AKKwkqIG5hbm9odHRwLmM6IHByZXZlbnRpdmUgZml4IGZvciBjb21waWxpbmcgb24gV0lOMzIKKworRnJpIFNlcCAyMiAxODowNjowOCBDRVNUIDIwMDAgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiB4bWxpbnQuYzogY2xvc2luZyBidWcgIzI1MDAwCisKK0ZyaSBTZXAgMjIgMTQ6MTc6NTMgQ0VTVCAyMDAwIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogeG1sSU8uaCB0cmVlLmg6IG1hZGUgeG1sTm9kZUR1bXAoKSBhbmQgeG1sTm9kZUR1bXBPdXRwdXQoKSBwdWJsaWMKKwkqIHBhcnNlci5bY2hdIG5hbm9odHRwLmMgSFRNTHRyZWUuYyBIVE1McGFyc2VyLmMgdHJlZS5jOiBhcHBsaWVkIGFuZAorCSAgbW9kaWZpZWQgc2xpZ2h0bHkgV2F5bmUgRGF2aXNvbiBwYXRjaCBhZGRpbmcgeG1sU3RyY2FzZWNtcCBhbmQKKwkgIHJlbGF0ZWQgZnVuY3Rpb24sIGZpeGluZyB4bWxTdHJuY21wKCksIGFuZCBhc3NvY2lhdGVkIGNsZWFudXAKKwkqIHJlc3VsdC9IVE1ML2VudGl0aWVzLmh0bWwuc2F4OiB1cGRhdGluZyByZXN1bHQKKworVHVlIFNlcCAxOSAxNDoyMDoxMCBDRVNUIDIwMDAgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiB1cmkuYzogYXBwbGllZCBwYXRjaCBmb3IgVVJJIGVzY2FwaW5nIGZyb20gV2F5bmUgRGF2aXNvbgorCSAgPHdheW5lZEBibG9yZi5uZXQ+CisJKiB0cmVlLmMgcGFyc2VySW50ZXJuYWxzLmMgSFRNTHBhcnNlci5jOiBtZW1zZXQgY2hlY2tzIHBhdGNoZXMKKwkgIGZyb20gRGVuaXMgQmFyYmllciA8YmFyYmllckBpbWFjcy5wb2x5dGVjaG5pcXVlLmZyPgorCSogSFRNTHBhcnNlci5jOiBVVEY4IGNoYXJhY3RlcnMgaW4gSFRNTCB0YWctYXR0cmlidXRlIHZhbHVlcworCSAgcGF0Y2ggZnJvbSBXYXluZSBEYXZpc29uCisKK1N1biBTZXAgMTcgMTg6Mzc6MDMgQ0VTVCAyMDAwIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogZG9jL3htbC5odG1sIDogdXBkYXRlZCB3aXRoIG5ldyByZWxlYXNlcywgYWRkaW5nICJob3cgdG8gaGVscCIKKworU3VuIFNlcCAxNyAxNzo1ODozNyBDRVNUIDIwMDAgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiBTQVguYyBkZWJ1Z1hNTC5jIHBhcnNlci5jIHBhcnNlckludGVybmFscy5jIHRyZWUuYyB2YWxpZC5jIHhwYXRoLmM6CisJICByZW1vdmVkIGEgZmV3IHdhcm5pbmdzIGluIHBlZGFudGljIG1vZGUgLi4uCisJKiBwYXJzZXJJbnRlcm5hbHMuYyBwYXJzZXIuYzogbW92ZWQgZW5jb2Rpbmcgc3dpdGNoaW5nIGZ1bmN0aW9uCisJICB0byBwYXJzZXJJbnRlcm5hbHMuYworCSogY29uZmlndXJlLmluLCBkb2MvTWFrZWZpbGUuYW0gbGlieG1sLnNwZWMuaW46IHJlbGVhc2VkIDIuMi4zCisKK1NhdCBTZXAgMTYgMjA6MTI6NDEgQ0VTVCAyMDAwIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogSFRNTHBhcnNlci5jIHBhcnNlci5jOiBzZXQgY3R4dC0+ZXJyTm8gYmVmb3JlIGNhbGxpbmcgdGhlCisJICBlcnJvciBvciB3YXJuaW5nIGhhbmRsZXJzCisKK1dlZCBTZXAgMTMgMjI6MDM6MTggQ0VTVCAyMDAwIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogcGFyc2VySW50ZXJuYWxzLmMgcGFyc2VySW50ZXJuYWxzLmggcGFyc2VyLmMgTWFrZWZpbGUuYW06CisJICBjcmVhdGVkIGEgbmV3IG1vZHVsZSBwYXJzZXJJbnRlcm5hbHMuYywgbW92ZWQgbW9zdCBvZiB0aGUKKwkgIGNvZGUgc2hhcmVkIGJ5IHRoZSB2YXJpb3VzIHBhcnNlcnMgdGhlcmUsIGFzIHdlbGwgYXMKKwkgIGRlcHJlY2F0ZWQgIGNvZGUgZnJvbSBwYXJzZXIuYy4gTW9yZSBjbGVhbnVwIG9mIHBhcnNlci5jCisJKiB1cmkuYzogZml4ZWQgYSBwcm9ibGVtIHdoZW4gVVJJIGlzIE5VTEwKKwkqIHZhbGlkLmM6IHNwZWVkdXAgd2hlbiBsb29raW5nIGZvciBhbiBhdHRyaWJ1dGUgZGVjbGFyYXRpb24KKworU3VuIFNlcCAxMCAxNzo1Mzo0OCBDRVNUIDIwMDAgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiB1cmkuYyB0cmVlLmMgU0FYLmMgcGFyc2VyLmMgZW50aXRpZXMuYyBkZWJ1Z1hNTC5jOiBmaW5pc2hlZAorCSAgdGhlIGNsZWFudXAgb2YgdGhlIGNvbXB1dGF0aW9uIG9mIFVSSSByZWZlcmVuY2VzIHdoZW4gc2Vla2luZworCSAgZXh0ZXJuYWwgZW50aXRpZXMuIFRoZSBVUkkgcmVmZXJlbmNlIHN0cmluZyBhbmQgdGhlIHJlc3VsdGluZworCSAgVVJJIGFyZSBib3RoIHN0b3JlZCBub3cuCisJKiBwYXJzZXIuYyBIVE1McGFyc2VyLmMgdmFsaWQuYyBuYW5vZnRwLmMgbmFub2h0dHAuYyB4cGF0aC5jOgorCSAgbGFyZ2UgcyhuKXByaW50ZiBjaGVja3MgYW5kIGNsZWFudXAgZnJvbSBEZW5pcyBCYXJiaWVyCisJICA8YmFyYmllckBpbWFjcy5wb2x5dGVjaG5pcXVlLmZyPgorCSogeG1sdmVyc2lvbi5oLmluIHRyZWUuaDogY291cGxlIG9mIFNHTUwgZGVjbGFyYXRpb25zIGZvciBhCisJICBwb3NzaWJsZSBkb2Nib29rIG1vZHVsZS4KKwkqIHJlc3VsdC9WQy8gOiBhIGNvdXBsZSBvZiB0ZXN0IG91dHB1dCBjaGFuZ2VkIGR1ZSB0byB0aGUgY2hhbmdlCisJICBvZiB0aGUgZW50aXRpZXMgVVJJCisKK1N1biBTZXAgMTAgMTU6NTk6NTggQ0VTVCAyMDAwIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogcGFyc2VyLmg6IGFkZGVkIGEgX3ByaXZhdGUgZmllbGQgZm9yIGxpbmtpbmcgdXNlcidzIGRhdGEKKworU3VuIFNlcCAxMCAxNToxNDo0MyBDRVNUIDIwMDAgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiBwYXJzZXIuYyBwYXJzZXJJbnRlcm5hbHMuaDogZGVtYWNyb2lmaWVkIG1vc3Qgb2YgdGhlIElTX1hYWAorCSAgdGhlIGdhaW4gaW4gc2l6ZSBpcyBzaWduaWZpY2FudCBzbyAuLi4KKworRnJpIFNlcCAgOCAyMDo0ODoyOSBDRVNUIDIwMDAgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiBlbnRpdGllcy5jOiBjYXNlcyB3aGVyZSBsb29raW5nIHVwIGVudGl0aWVzIHdpdGggZG9jPT1OVUxMCisJICBjb3ZlcmVkCisKK1R1ZSBTZXAgIDUgMTI6NDE6MTUgQ0VTVCAyMDAwIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogdXJpLmM6IGFwcGxpZWQgV2F5bmUgRGF2aXNvbiBwYXRjaAorCSogTWFrZWZpbGUuaW4gdGVzdC9VUkkvdXJpLmRhdGEgcmVzdWx0L1VSSS91cmkuZGF0YTogdXBkYXRlZCBVUkkgdGVzdHMKKworTW9uIFNlcCAgNCAxMzowMTo0NSBDRVNUIDIwMDAgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiB1cmkuYyB0ZXN0VXJpLmM6IGFwcGxpZWQgV2F5bmUgRGF2aXNvbiBwYXRjaGVzCisJKiB0ZXN0L1VSSS91cmkuZGF0YSByZXN1bHQvVVJJL3VyaS5kYXRhOiBmaXJzdCBzZXQgb2YgdGVzdHMvcmVzdWx0cworCSogTWFrZWZpbGUuaW46IGFkZGVkIFVSSXRlc3QgYW5kIGluY2x1ZGVkIHRoZW5pbiAibWFrZSB0ZXN0cyIKKworU3VuIFNlcCAgMyAxOToxOToyOSBDRVNUIDIwMDAgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiB4bWx2ZXJzaW9uLmguaW46IGNsb3NlZCBidWcgMjI5NDEKKworVGh1IEF1ZyAzMSAxNjo1NTo1NSBDRVNUIDIwMDAgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiBkb2MveG1saW8uaHRtbDogYWRkZWQgZG9jIGFuZCBleGFtcGxlIGZvciBlbnRpdHkgbG9hZGVyCisJICByZWRlZmluaXRpb24uCisKK1RodSBBdWcgMzEgMTQ6NTk6MjggQ0VTVCAyMDAwIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogZG9jL3htbGlvLmh0bWwgZG9jL3htbC5odG1sOiBhZGRlZCBhIGRvYyBvbiB0aGUgSS9PIG1lY2hhbmlzbQorCSAgdXNlZCBieSBsaWJ4bWwKKworVHVlIEF1ZyAyOSAyMDoyMjo1MyBDRVNUIDIwMDAgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiBwYXJzZXIuYzogRml4ZWQgYnVnIG9uIGludmFsaWQgb250ZW50IGNoYXJhY3RlcnMgYW5kIHdoZW4gdXNpbmcKKwkgIHB1c2guCisJKiB4bWxsaW50LmM6IGZpeGVkIHhtbGxpbnQgZW5kbGluZyBvZiBlcnJvcnMgaW4gcHVzaCBtb2RlCisKK1R1ZSBBdWcgMjkgMTE6MjQ6NDggQ0VTVCAyMDAwIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogSFRNTHBhcnNlci5jIHRlc3RIVE1MLmM6IGFwcGxpZWQgdHdvIG5ldyBwYXRjaGVzIGZyb20KKwkgIFdheW5lIERhdmlzb24gPHdheW5lZEB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CisJKiByZXN1bHQvSFRNTC8qLnNheDogcmVnZW5lcmF0ZWQgSFRNTCBTQVggb3V0cHV0CisJKiBwYXJzZXIuYzogbW9yZSBjbGVhbnVwLgorCitNb24gQXVnIDI4IDExOjU4OjEyIENFU1QgMjAwMCBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIEhUTUxwYXJzZXIuW2NoXSB0ZXN0SFRNTC5jOiBhcHBsaWVkIHRoZSBzZWNvbmQgc2V0IG9mCisJICBwYXRjaGVzIGZyb20gV2F5bmUgRGF2aXNvbiA8d2F5bmVkQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4sCisJICBhZGRpbmcgaHRtbEVuY29kZUVudGl0aWVzKCkKKwkqIEhUTUxwYXJzZXIuYzogZml4ZWQgYW4gaWdub3JhYmxlIHdoaXRlIHNwYWNlIGRldGVjdGlvbiBidWcKKwkgIG9jY3VyaW5nIHdoZW4gcGFyc2luZyB3aXRoIFNBWCBvbmx5CisJKiByZXN1bHQvSFRNTC8qLnNheDogdXBkYXRlZCBzaW5jZSB0aGUgb3V0cHV0IGlzIG5vdyBIVE1MCisJICBlbmNvZGVkLi4uCisKK01vbiBBdWcgMjggMDA6Mzg6MzEgQ0VTVCAyMDAwIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogSFRNTHBhcnNlci5bY2hdOiBhcHBsaWVkIHNvbWUgb2YgV2F5bmUgRGF2aXNvbgorCSAgPHdheW5lZEB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+IHBhdGNoZXMKKworU3VuIEF1ZyAyNyAyMjoxNDowMSBDRVNUIDIwMDAgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiBTQVguYyB0cmVlLmMgZGVidWdYTUwuYzogZml4ZWQgYm9ndXMgYmVoYXZpb3VyIHdoZW4gYW4KKwkgIHVuZGVjbGFyZWQgbmFtZXNwYWNlIHByZWZpeCB3YXMgdXNlZCwgYWRkZWQgYSB3YXJuaW5nLgorCSAgQ2xlYW5lZCB1cCBzdXBwb3J0IHcuci50LiBlbnRpdGllcywgc3BpbGxpbmcgb3V0IGEgd2FybmluZworCSAgYW5kIGJlaW5nIHBlZGFudGljIG9uIGxvb2t1cHMuCisJKiB0ZXN0L3dhcm5pbmcvZW50OSA6IGFkZGVkIHRlc3RjYXNlIGZvciBwcmV2aW91cyBleGFtcGxlLgorCSogVE9ETzogdXBkYXRlZAorCSogcGFyc2VySW50ZXJuYWxzLmggcGFyc2VyLmM6IGNoYW5nZWQgdGhlIHdheSBuYW1lcyBhcmUgcGFyc2VkCisJICBub3cgYWxsb3cgaW5maW5pdGUgc2l6ZSBhbmQgZGVjcmVhc2UgcGVuYWx0eSBmb3Igbm9ybWFsIHVzZQorCSogcGFyc2VyLmM6IFN0YXJ0ZWQgYSBiaWcgY2xlYW51cC9jaGVjayBvZiB0aGUgcGFyc2VyIGNvZGUsCisJICBmaXhlZCBzb21lIG9mIHRoZSBtb3N0IHRvcnR1b3VzIGVudGl0eSBjb2RlLCBzcG90dGVkIGNvZGUKKwkgIHVudXNlZCBhbnltb3JlCisJKiB0ZXN0Lyo6IGFkZGVkIHRlc3RzIGZvciB2ZXJ5IGxvbmcgbmFtZXMgYW5kIHJlbGF0ZWQgbmFzdHkKKwkgIHRoaW5ncy4KKworU2F0IEF1ZyAyNiAyMzozMTowNCBDRVNUIDIwMDAgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiBkb2MvZW5jb2RpbmcuaHRtbDogYWRkZWQgZW5jb2RpbmcgYWxpYXNlcyBkb2MKKwkqIGRvYy94bWwuaHRtbDogdXBkYXRlcworCSogZW5jb2RpbmcuW2NoXTogYWRkZWQgRW5jb2RpbmdBbGlhc2VzIGZ1bmN0aW9ucworCSogZW50aXRpZXMuW2NoXSB2YWxpZC5bY2hdIGRlYnVnWE1MLmM6IHJlbW92ZWQgdHdvIHNlcmlvdXMKKwkgIGJvdHRsZW5lY2sgYWZmZWN0aW5nIGxhcmdlIERURHMgbGlrZSBEb2Nib29rCisJKiBwYXJzZXIuW2NoXSB4bWxsaW50LmM6IGFkZGVkIGEgcGVkYW50aWMgb3B0aW9uLCB3aWxsIGJlCisJICB1c2VmdWwKKwkqIFNBWC5jOiByZWRlZmluaXRpb24gb2YgZW50aXRpZXMgaXMgcmVwb3J0ZWQgaW4gcGVkYW50aWMgbW9kZQorCSogdGVzdEhUTUwuYzogdW5pbml0aWFsaXplZCB3YXJuaW5nIGZyb20gZ2NjCisJKiB1cmkuYzogZml4ZWQgYSBjb3VwbGUgb2YgYnVncworCSogVE9ETzogYWRkZWQgaXNzdWUgcmFpc2VkIGJ5IE1pY2hhZWwKKworV2VkIEF1ZyAyMyAwMTo1MDo1MSBDRVNUIDIwMDAgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiBkb2MvZW5jb2RpbmcuaHRtbDogcHJvcGFnYXRlZCBNYXJ0aW4gRHVlcnN0IHN1Z2dlc3Rpb25zCisKK1dlZCBBdWcgMjMgMDA6MjM6NDEgQ0VTVCAyMDAwIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogcGFyc2VyLmM6IEZpeGVkIEJ1ZyMyMTU1MjogbGlieG1sIGZhaWxzIHRvIGRlY29kZSAmYW1wOworCSogdXJpLmMgdGVzdFVyaS5jIHBhdGNoZXMsIGJ5IE1hcmMgU2FuZmFjb24gKDEgbGVmdCkKKwkqIHBhcnNlci5jIEhUTUxwYXJzZXIuYzogSFRNTC9lbmNvZGluZyBwdXNoIHByb2JsZW1zIHJlcG9ydGVkaQorCSAgYnkgV2F5bmUgRGF2aXNvbgorCitTdW4gQXVnIDIwIDE3OjAzOjM4IENFU1QgMjAwMCBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIG5hbm9mdHAuYyBuYW5vaHR0cC5jOiBzbWFsbCBjbGVhbnVwCisJKiBUT0RPOiB1cGRhdGVkCisKK1NhdCBBdWcgMTkgMjI6NTc6MDIgQ0VTVCAyMDAwIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogYWRkZWQgYW4gb2xkIFZDIHRlc3RjYXNlIGFuZCB1cGRhdGVkIHRpdGxlLnhtbCBlbnRpdHkKKworU2F0IEF1ZyAxOSAyMTowMjowOCBDRVNUIDIwMDAgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiBIVE1McGFyc2VyLmMgU0FYLmMgdHJlZS5jIEhUTUx0cmVlLmggcmVzdWx0L0hUTUwvKjogd29yaworCSAgZG9uZSBvbiBhdXRvLW9wZW5pbmcgb2YgPHA+IHRhZ3MgYW5kIGNsZWFudXAgb2YgU0FYIG91dHB1dAorCitTYXQgQXVnIDE5IDE4OjQ1OjQwIENFU1QgMjAwMCBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIGxpYnhtbC40ICB4bWxsaW50LjEgTWFrZWZpbGUuYW0gbGlieG1sLnNwZWMuaW46IGFkZGVkIG1hbiBwYWdlcworCitTYXQgQXVnIDE5IDE4OjM4OjUzIENFU1QgMjAwMCBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIGRvYy94bWwuaHRtbCBsaWJ4bWwuKiBzdHJ1Y3R1cmUuKjogdXBkYXRlZCB0aGUgZG9jIGEgYml0CisKK1RodSBBdWcgMTcgMTU6NTA6MDAgQ0VTVCAyMDAwIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogdGVzdFNBWC5jIHRlc3RIVE1MLmMgcmVzdWx0L0hUTUwvOiBjbGVhbnVwIG9mIHRoZSBvdXRwdXQKKwkgIG9mIFNBWCB0ZXN0cworCitNb24gQXVnIDE0IDEzOjU2OjMzIEVEVCAyMDAwIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogUGF0Y2ggZnJvbSBBbGJlcnQgQ2hpbi1BLVlvdW5nIDxjaGluYUB0aGV3cml0dGVud29yZC5jb20+OgorCSogeG1sbGludC5jOiB3b3JrYXJvdW5kIGEgTUFQX0ZBSUxFZCBkZWZpbml0aW9uIGJ1ZyBpbiBEVS00LjAKKworTW9uIEF1ZyAxNCAxMToxMDoyMCBFRFQgMjAwMCBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIFBhdGNoIGZyb20gRGF2ZSBZZWFya2UgPHllYXJrZUBlbmcuYnVmZmFsby5lZHU+OgorCSogdGVzdEhUTUwuYzogZml4IGNvcmUgZHVtcCBvbiBTb2xhcmlzIDIueCBzeXN0ZW1zCisJKiBIVE1McGFyc2VyLmM6IGZpeCBzZWdmYXVsdCBpZiBjdHh0LT5zYXgtPmNoYXJhY3RlcnMoKSBpcyBOVUxMCisJKiByZXN1bHQvSFRNTC8qLnNheDogcHJldmlvdXMgYnVnIGZpeCBsZWFkIHRvIG5ldyByZXN1bHRzCisKK01vbiBBdWcgMTQgMTA6MjY6MDkgRURUIDIwMDAgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiBQYXRjaCBmcm9tIEFsYmVydCBDaGluLUEtWW91bmcgPGNoaW5hQHRoZXdyaXR0ZW53b3JkLmNvbT46CisJKiBjb25maWd1cmUuaW46IGFkZGVkIC0td2l0aC1yZWFkbGluZT1ESVIgdG8gYWNjZXB0IGFsdGVybmF0ZQorCSAgcGF0aCBmb3IgcmVhZGxpbmUgaW5jbHVkZS9saWJyYXJ5CisJKiBjb25maWd1cmUuaW46IGFkZGVkIEFNX0NfUFJPVE9UWVBFUyB0byBhZGQgLUFhIC1EX0hQVVhfU09VUkNFCisJICBmb3IgQU5TSSB1bmRlciBIUC1VWAorCSogY29uZmlnLmluOiBSZW1vdmVkIEBMSUJTQCBmcm9tIHhtbC1jb25maWcgYmVjYXVzZSBAWE1MX0xJQlNACisJICBpbmNsdWRlcyBATElCU0AKKworU2F0IEF1ZyAxMiAyMzoxOTo0MiBDRVNUIDIwMDAgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiBkb2MvKiA6IHJlYnVpbHQgdGhlIGRvY3MKKwkqIGdldHRpbmcgcmVhZHkgZm9yIDIuMi4yIHJlbGVhc2UKKworU2F0IEF1ZyAxMiAxNjo0MjozNyBFRFQgMjAwMCBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIHBhcnNlci5bY2hdOiBhZGRlZCB4bWxHZXRGZWF0dXJlc0xpc3QoKSB4bWxHZXRGZWF0dXJlKCkKKwkgIGFuZCB4bWxBZGRGZWF0dXJlKCkKKwkqIHRyZWUuW2NoXTogYWRkZWQgeG1sQWRkQ2hpbGRMaXN0KCkKKwkqIHhtbGxpbnQuYzogTUFQX0ZBSUxFRCBtYWNybyB0ZXN0CisJKiBwYXJzZXIuaDogYWRkZWQgeG1sUGFyc2VDdHh0RXh0ZXJuYWxFbnRpdHkoKQorCSogdmFsaWQuYzogYXBwbGllZCBidWcgZml4ZXMgcmVtb3ZlZCB3YXJuaW5nCisJKiB0cmVlLmM6IGFkZGVkIENEQVRBIGJsb2NrIHRvIGVsZW1lbnRzIGNvbnRlbnQKKwkqIHRlc3RTQVguYzogY2xlYW51cCBvZiBvdXRwdXQKKwkqIHRlc3RIVE1MLmM6IGFkZGVkIFNBWCB0ZXN0aW5nCisJKiBlbmNvZGluZy5jOiBiZXR0ZXIgZXJyb3IgcmVjb3ZlcnkKKwkqIFNBWC5jLCBwYXJzZXIuYzogZml4ZWQgb25lIG9mIHRoZSBleHRlcm5hbCBlbnRpdHkgcHJvY2Vzc2luZworCSAgb2YgdGhlIE9BU2lzIHRlc3RzdWl0ZQorCSogTWFrZWZpbGUuYW06IGFkZGVkIEhUTUwgU0FYIHJlZ3Jlc3Npb24gdGVzdHMKKwkqIGNvbmZpZ3VyZS5pbjogYnVtcGVkIHRvIDIuMi4yCisJKiB0ZXN0L0hUTUwvIHJlc3VsdC9IVE1MOiBhZGRlZCBhIGZldyBvZiBIVE1MIHRlc3RzLCBhbmQgYWRkZWQgdGhlCisJICBTQVggcmVzdWx0cworCitGcmkgQXVnICA0IDExOjIxOjUwIFBEVCAyMDAwIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogY29uZmlndXJlLmluOiBwYXRjaCBmb3IgSFAgY29tcGlsZXIKKworMjAwMC0wOC0wNCAgU3ZlbiBIZWluaWNrZSAgPHN2ZW5AemVuLm9yZz4KKworCSogeG1sbGludC5jOiBXYXMgY29yZWR1bXBpbmcgc29tZXRpbWVzIHdoZW4gdGhlIGZpbGUgZ2l2ZW4gZGlkbid0CisJZXhpc3QuCisKK1NhdCBKdWwgMjIgMDU6NTk6MDUgQ0VTVCAyMDAwIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogcGFyc2VyLmMgeG1sSU8uW2NoXTogZml4ZWQgdGhlIHByb2JsZW0gb2YgZW5jb2Rpbmcgc3VwcG9ydAorCisJICB3aGVuIHVzaW5nIGluIG1lbW9yeSBwYXJzaW5nLiBOZWVkIHNvbWUgY2xlYW51cC4KKwkqIHhtbGxpbnQuYyBjb25maWd1cmUuaW46IGFkZGVkIGEgLS1tZW1vcnkgZmxhZyB0byB0ZXN0IG1lbW9yeQorCSAgcGFyc2luZworCitGcmkgSnVsIDIxIDE3OjA5OjU3IENFU1QgMjAwMCBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIG5hbm9odHRwLmM6IGZpeGVkIHNvY2tsZW5fdCByZXBsYWNlbWVudCB0byB1bnNpZ25lZCBpbnQKKwkqIHBhcnNlci5jOiBmaXhlZCBhIHNwYWNlIGhhbmRkbGluZyBtaXNzaW5nIGF0IHRoZSBlbmQgb2YKKwkgIHByb2R1Y3Rpb24gMjggRE9DVFlQRS4KKwkqIHhtbG1lbW9yeS5jOiBmaXhlZCBhIHN0dXBpZCBidWcgb24gdGhlIHJvdXRpbmUgdG8gb3ZlcnJpZGUKKwkgIGFsbG9jYXRpb24gZnVuY3Rpb25zCisJKiBUT0RPOiB1cGRhdGVkCisKK0ZyaSBKdWwgMTQgMTc6MDE6MTQgQ0VTVCAyMDAwIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogZG9jLyByZWdlbmVyYXRlZCB0aGUgZG9jcworCitGcmkgSnVsIDE0IDE2OjEyOjIwIE1FU1QgMjAwMCBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIGRvYy9lbmNvZGluZy5odG1sIGRvYy94bWwuaHRtbDogYWRkZWQgSTE4TiBkb2MKKwkqIGVuY29kaW5nLltjaF0gSFRNTHRyZWUuW2NoXSBwYXJzZXIuYyBIVE1McGFyc2VyLmM6IEkxOE4gZW5jb2RpbmcKKwkgIGltcHJvdmVtZW50cywgYm90aCBwYXJzZXIgYW5kIGZpbHRlcnMsIGFkZGVkIEFTQ0lJICYgSFRNTCwKKwkgIGZpeGVkIHRoZSBJU08tTGF0aW4tMSBvbmUKKwkqIHhtbGxpbnQuYyB0ZXN0SFRNTC5jOiBhZGRlZC9tYWRlIHZpc2libGUgLS1lbmNvZGUKKwkqIGRlYnVnWE1MLmMgOiBjbGVhbnVwCisJKiBtb3N0IC5jIGZpbGVzOiBhcHBsaWVkIHBhdGNoZXMgZHVlIHRvIHdhcm5pbmcgb24gV2luZG93cyBhbmQKKwkgIHdoZW4gdXNpbmcgU3VuIFBybyBjYyBjb21waWxlcgorCSogeHBhdGguYyA6IGNsZWFudXAgbWVtbGVha3MKKwkqIG5hbm9mdHAuYyA6IGFkZGVkIGEgVEVTVElORyBwcmVwcm9jZXNzb3IgZmxhZyBmb3Igc3RhbmRhbG9uZworCSAgY29tcGlsZSBzbyB0aGF0IHBlb3BsZSBjYW4gcmVwb3J0IGJ1Z3MgbW9yZSBlYXNpbGx5CisJKiBuYW5vaHR0cC5jIDogZGl0Y2hlZCBzb2NrbGVuX3Qgd2hpY2ggd2FzIGEgcG9ydGFiaWxpdHkgbWVzcworCSAgYW5kIHJlcGxhY2VkIGl0IHdpdGggdW5zaWduZWQgaW50LgorCSogdHJlZS5bY2hdOiBhZGRlZCB4bWxIYXNQcm9wKCkKKwkqIFRPRE86IHVwZGF0ZWQKKwkqIHRlc3QvIDogYWRkZWQgbW9yZSB0ZXN0IGZvciBlbnRpdGllcywgTlMsIGVuY29kaW5nLCBIVE1MLCB3YXAKKwkqIGNvbmZpZ3VyZS5pbjogcHJlcGFyaW5nIGZvciAyLjIuMCByZWxlYXNlCisKK01vbiBKdWwgMTAgMTY6MTc6MTggQ0VTVCAyMDAwIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogbmFub2Z0cC5jOiBmaXhlZCB0aGUgd2F5IHRoZSBjb250cm9sIGNvbm5lY3Rpb24gaXMgaGFuZGxlZAorCSogbGlieG1sLnNwZWMuaW46IGZpeGVkIHRoZSBkZXBlbmRlbmNpZXMgYW5kIGNsZWFudXAKKworTW9uIEp1bCAgMyAxNDozNzowNyBDRVNUIDIwMDAgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiBkb2MveG1sLmh0bWw6IGNoYW5nZWQgdGhlIHhtbHNvZnQub3JnIHN0cnVjdHVyZSwgdXBkYXRlZCB0aGUKKwkgIGV4YW1wbGVzIHcuci50LiByb290IGFuZCBjaGlsZHMKKworU3VuIEp1bCAgMiAyMDo1MTo0MyBNRVNUIDIwMDAgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiBsaWJ4bWwuc3BlYy5pbjogZml4ZWQgYnVnICM3NDE5LCBkZXBlbmRlbmNpZXMgZm91bGVkIGZvciBsaWJ4bWwtZGV2ZWwKKworU3VuIEp1bCAgMiAwOTo1Mjo0NSBNRVNUIDIwMDAgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiBIVE1McGFyc2VyLmM6IFdvcmsgb24gY2hhcmFjdGVyIGVuY29kaW5nIHN1cHBvcnQgZm9yIHRoZSBIVE1MIHBhcnNlcgorCSogSFRNTHBhcnNlci5jOiBGaXhlZCBzb21lIGF1dG9vcGVuL2F1dG9jbG9zZSBwcm9icyBmb3IgdGhlIEhUTUwgcGFyc2VyCisJKiBlbmNvZGluZy5jOiBGaXhlZCBhIHBvdGVudGlhbCBtZW1sZWFrIGluIHRoZSBlbmNvZGluZyBzdHVmZgorCitTYXQgSnVsICAxIDEzOjQ0OjIyIE1FU1QgMjAwMCBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIGRvYy9GQVEuaHRtbCBkb2MvTWFrZWZpbGUuYW0gOiBhZGRlZCBhIEZBUQorCitGcmkgSnVuIDMwIDIwOjI5OjA4IE1FU1QgMjAwMCBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIEhUTUxwYXJzZXIuYyBIVE1MdHJlZS5jIFNBWC5jIHZhbGlkLmMgdHJlZS5oIDogbW9yZSBjbGVhbnVwCisJICBvZiB0aGUgSFRNTCBwYXJzZXIgdG8gZm9yY2UgaXQgdG8gbm90IGJ5cGFzcyBTQVgKKworRnJpIEp1biAzMCAxMToxOTo1OSBDRVNUIDIwMDAgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiB3aW4zMmNvbmZpZy5oLmluOiB1cGRhdGVkCisJKiB4bWx2ZXJzaW9uLmguaW46IGNyYXAgZm9yZ290IHRvIHVwZGF0ZSB0aGlzLCB0aGlzIG1lYW4gMi4xLjAKKwkgIGxhY2tzIGljb252IHN1cHBvcnQgOi0oIG5lZWQgdG8gcmVsZWFzZSAyLjEuMQorCSogY29uZmlndXJlLmluOiByZWxlYXNlIDIuMS4xCisJKiBIVE1McGFyc2VyOiBmaXhlZCBidWcgIzE0Nzg0CisJKiB4cGF0aC5jIEhUTUxwYXJzZXIuYyBlbmNvZGluZy5jIHBhcnNlci5jOiBmaXggd2FybmluZyByYWlzZWQKKwkgIGJ5IFdpbmRvd3MgY29tcGlsZXIKKwkqIEhUTUxwYXJzZXIuYyBTQVguYyBIVE1MdHJlZS5oIHRyZWUuaDogY3JlYXRlIEhUTUwgZG9jdW1lbnQgaW4KKwkgIHRoZSBTQVggc3RhcnREb2N1bWVudCgpIGNhbGxiYWNrLgorCSogVE9ETzogdXBkYXRlZAorCitUaHUgSnVuIDI5IDEyOjA2OjQ4IENFU1QgMjAwMCBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIGFkZGVkIHhtbFN0b3BQYXJzZXIoKQorCitXZWQgSnVuIDI4IDIzOjEwOjI2IE1FU1QgMjAwMCBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIGNvbmZpZ3VyZS5pbjogMi4xLjAgcHJlcmVsZWFzZQorCSogTGFyZ2UgcmVzeW5jIGJldHdlZW4gVzNDIGFuZCBHbm9tZSB0cmVlCisJKiBuYW5vZnRwLCBuYW5vaHR0cC5jOiBmaXhlZCBzdGFsbGVkIGNvbm5lY3Rpb25zIHByb2JzCisJKiBIVE1MdHJlZS5jIFNBWC5jIDogc3VwcG9ydCBmb3IgYXR0cmlidXRlIHdpdGhvdXQgdmFsdWVzIGluCisJICBIVE1MIGZvciBhbmRlcnNjYQorCSogdmFsaWQuYzogRml4ZWQgbW9zdCB2YWxpZGF0aW9uICsgbmFtZXNwYWNlIHByb2JsZW1zCisJKiBIVE1McGFyc2VyLmM6IHN0YXJ0IGRvY3VtZW50IGNhbGxiYWNrIGZvciBhbmRlcnNjYQorCSogZGVidWdYTUwuYyB4cGF0aC5jOiBsb3RzIG9mIFhQYXRoIGZpeHVwcyBmcm9tIFBpY2RhciBUZWNobm9sb2d5CisJKiBwYXJzZXIuaCwgU0FYLmM6IHNlcmlvdXMgc3BlZWQgaW1wcm92ZW1lbnQgZm9yIGxhcmdlCisJICBDREFUQSBibG9ja3MKKwkqIGVuY29kaW5nLltjaF0geG1sSU8uW2NoXTogSW1wcm92ZWQgc2VyaW91c2x5IHNhdmluZyB0bworCSAgZGlmZmVyZW50IGVuY29kaW5nCisJKiBleGFtcGxlL01ha2VmaWxlLmFtIGV4YW1wbGUvZ2pvYnJlYWQuYyB0cmVlLmg6IHdvcmsgb24gCisJICBsaWJ4bWwxIGxpYnhtbDIgY29udmVyZ2VuY2UuCisJKiBjb25maWcuaC5pbiBwYXJzZXIuYyB4bWxsaW50LmM6IGFkZGVkIHhtbENoZWNrVmVyc2lvbigpCisJICBhbmQgdGhlIExJQlhNTF9URVNUX1ZFUlNJT04gbWFjcm8KKworRnJpIEp1biAyMyAyMjoyNjowNyBDRVNUIDIwMDAgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiBkb2MveG1sLmh0bWw6IHZhcmlvdXMgcGF0Y2hlcyBhbmQgaW1wcm92ZW1lbnRzIHR5cG8gZml4ZWQgYnkKKwkgIEZlbGl4IE5hdHRlcgorCSogZG9jL2xpYnhtbC1kb2MuZWw6IEVtYWNzIG1vZHVsZSB0byBsb29rdXAgdGhlIGxpYnhtbCBkb2N1bWVudGF0aW9uCisJICBmcm9tIEZlbGl4IE5hdHRlciA8Zm5hdHRlckBnbXgubmV0PgorCitTYXQgTWF5ICA2IDEwOjA5OjQ1IENFU1QgMjAwMCBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIGRvYy91cGdyYWRlLmh0bWw6IHVwZGF0ZWQgd2l0aCBpbnN0cnVjdGlvbnMgZm9yIHN1cHBvcnQgb2YgYm90aAorCSAgbGlieG1sLTEueCBhbmQgbGlieG1sLTIueAorCSogZG9jL2dqb2JyZWFkLmMgOiBhcHBsaWVkIFRvZGQgRHVrZXMgPHRkdWtlc0BpYm1vdG8uY29tPiBwYXRjaAorCSAgZm9yIDIueCBzdXBwb3J0IGFuZCBhbHNvIGZpeGVkIGluY2x1ZGVzCisKK1dlZCBNYXkgIDMgMTQ6MjE6MjUgQ0VTVCAyMDAwIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogZW5jb2RpbmcuW2NoXSwgeG1sSU8uW2NoXSwgcGFyc2VyLmMsIGNvbmZpZ3VyZS5pbiA6IHJldmFtcGVkCisJICB0aGUgZW5jb2Rpbmcgc3VwcG9ydCwgYWRkZWQgaWNvbnYgc3VwcG9ydCwgc28gbm93IGxpYnhtbCBpZgorCSAgY29tcGlsZWQgd2l0aCBpY29udiBhdXRvbWF0aWNhbGx5IHN1cHBvcnQgamFwYW5lc2UgZW5jb2RpbmdzCisJICBhbW9uZyBvdGhlcnMuIFdvcmsgYmFzZWQgb24gaW5pdGlhbCBwYXRjaCBmcm9tIFl1YW4tQ2hlbiBDaGVuZworCSAgSSBtYXkgaGF2ZSBicm9rZW4gYmluYXJ5IGNvbXBhdCBpbiB0aGUgZW5jb2RpbmcgaGFuZGxlcgorCSAgcmVnaXN0cmF0aW9uIHNjaGVtZSwgYnV0IHRoYXQgd2FzIHNvIHV0dGVybHkgYnJva2VuIEkgZG9uJ3QKKwkgIGV4cGVjdCBhbnlib2R5IHRvIGhhdmUgdXNlZCB0aGlzIGZlYXR1cmUgdW50aWwgbm93LgorCSogcGFyc2VySW50ZXJuYWxzLmg6IGZpeHVwIG9uIHRoZSBDSEFSIHJhbmdlIG1hY3JvCisJKiB4bWwtZXJyb3IuaCwgcGFyc2VyLmM6IGNhdGNoIFVSTC9VUkkgZXJyb3JzIHVzaW5nIHRoZSB1cmkuYworCSAgY29kZS4KKwkqIHRyZWUuW2NoXTogYWRkZWQgeG1sQnVmZmVyR3JvdygpLCB3YXMgbmVlZGVkIGZvciBpY29udgorCSogdXJpLmM6IGFkZGVkIHhtbFBhcnNlVVJJKCkgSSBjYW4ndCBiZWxpZXZlIEkgZm9yZ290IHRvCisJICBpbXBsZW1lbnQgdGhpcyBvbmUgaW4gMi4wICEhIQorCSogU0FYLmM6IG1vdmVkIGRvYy0+ZW5jb2RpbmcgdXBkYXRlIGluIHRoZSBlbmREb2N1bWVudCgpIGNhbGwuCisJKiBUT0RPOiB1cGRhdGVkLgorCitNb24gQXByIDI0IDEzOjMwOjEzIENFU1QgMjAwMCBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIHRyZWUuaDogcmVtb3ZlZCBleHRyYW5lb3VzIHhtbFJlbW92ZVByb3AgZGVmaW5pdGlvbgorCSogVE9ETzogYWRkZWQgaXRlbSBhYm91dCAtLWRpc2FibGUtY29yYmEgY29uZmlndXJlIHN3aXRjaAorCSogdHJlZS5jIHBhcnNlci5jOiBmaXhlZCBwcm9ibGVtcyBmb3IgeG1sQ29weURvYyBhbmQgcG9zdHZhbGlkYXRpb24KKwkqIG5hbm9mdHAuYzogZml4ZWQgaW5jbHVkZSBwcm9ibGVtcyBnaXZpbmcgdHJvdWJsZXMgb24gQUlYIGFuZCAKKwkgIHNsb3dsYXJpcworCSogeG1sSU8uW2NoXSB2YWxpZC5oIHRyZWUuW2NoXSB4bGluay5jIHhtbG1lbW9yeS5jIHVyaS5jIAorCSAgcGFyc2VyLmMgbmFub2Z0cC5jIG5hbm9odHRwLmMgU0FYLmMgdGVzdFNBWC5jIDoKKwkgIGNvbW1lbnQgYW5kIGhlYWRlcnMgY2hhbmdlcyB0byBsb3dlciBndGstZG9jIG51bWJlciBvZiB3YXJuaW5ncworCSogZG9jL2h0bWwvKjogcmVidWlsdCBkb2NzCisKK1N1biBBcHIgMTYgMTE6MjM6MjkgQ0VTVCAyMDAwIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogSEFDS0lORzogZG9jdW1lbnRlZCB0aGUgdGFnIGZvciAxLnggYW5kIGluc3RydWN0aW9ucworCitXZWQgQXByIDEyIDE1OjQ3OjIyIENFU1QgMjAwMCBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIHhtbElPLltjaF0gcGFyc2VyLltjaF06IE1vcmUgaW50ZXJmYWNlcyBmb3IgbmV3IEkvTyBmdW5jdGlvbnMKKwkgIHhtbE5ld0lPSW5wdXRTdHJlYW0sIHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlSU8sCisJICB4bWxDcmVhdGVJT1BhcnNlckN0eHQKKwkqIHBhcnNlci5jIHBhcnNlckludGVybmFscy5oOiBzcGVlZHVwIG9mIElTX0NIQVIgbGlrZSBtYWNyb3MsCisJICBzaWduaWZpY2FudCBvdmVyYWxsIGltcHJvdmVtZW50CisJKiB4bWxsaW50LmM6IGFkZGVkIEkvTyB0ZXN0IHRvIHhtbGxpbnQKKwkqIHRlc3RTQVguYzogYWRkZWQgYSBzcGVlZCB0ZXN0CisJKiBkb2MvKiA6IHVwZGF0ZWQvcmVnZW5lcmF0ZWQKKworU2F0IEFwciAgOCAxNDo1NDo1NCBDRVNUIDIwMDAgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiB4cGF0aC5jIHVyaS5oIHBhcnNlckludGVybmFscy5oOiBjb3NtZXRpYyBjaGFuZ2VzIGZyb20KKwkgICJUaW11ciBJLiBCYWtleWV2IiA8dGltdXJAYmF0LnJ1PiwgaW5jbHVkaW5nIG1ha2luZyAKKwkgIHhtbENyZWF0ZVVSSSgpIHB1YmxpYworCitGcmkgQXByICA3IDE4OjM1OjAyIENFU1QgMjAwMCBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIHhtbElPLltjaF0gcGFyc2VyLmM6IGNsZWFuZSB1cCB0aGUgeG1sUGFyc2VySW5wdXRCdWZmZXIgbWVzcworCSAgYW5kIHRoZSBjb2RlIGF0IHRoZSBzYW1lIHRpbWUuIEFkZGVkIGEgY2xlYW4gbWVjaGFuaXNtIGZvcgorCSAgb3ZlcmxvYWQgb3IgYWRkZWQgaW5wdXQgbWV0aG9kczogeG1sUmVnaXN0ZXJJbnB1dENhbGxiYWNrcygpCisJKiB0cmVlLmM6IGZpeGVkIHhtbFByZXZTaWJsaW5nIGFuZCB4bWxOZXh0U2libGluZyBwZXIgCisJICBDaHJpc3RvcGhlIExlIEdhbCAoQ2hyaXN0b3BoZS5MZS1HYWxAaW1hZy5mcikgaW5wdXQKKwkqIFRPRE86IHVwZGF0ZWQKKwkqIGRvYy8qIDogdXBkYXRlZC9yZWdlbmVyYXRlZAorCSogZG9jL01ha2VmaWxlLmFtOiB0d2Vha3MgdG8gYXZvaWQgcHJvYmxlbSB3aXRoIGxpYnhtbCBsaW5rIGluIHRoZQorCSAgc291cmNlIGRpcgorCitXZWQgQXByICA1IDIxOjExOjM1IENFU1QgMjAwMCBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIHRlc3RVUkkuYzogeWV0IGFub3RoZXIgZm9yZ290dGVuIGNvbW1pdCwgSSBzaG91bGQgZ2V0IHNvbWUgc2xlZXAgIQorCitXZWQgQXByICA1IDIwOjM2OjQ2IENFU1QgMjAwMCBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIHhtbGxpbnQuYzogZm9yZ290IHRvIGNvbW1pdCB0aGlzIHRvbyA/CisKK1dlZCBBcHIgIDUgMTY6MjI6NDQgQ0VTVCAyMDAwIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogeG1sdmVyc2lvbi5oLmluIDogZm9yZ290IHRvIGNvbW1pdCB0aGlzIHByZXZpb3VzbHkKKworTW9uIEFwciAgMyAyMTo0NzoxMCBDRVNUIDIwMDAgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiBjb25maWd1cmUuaW46IHByZXBhcmluZyBsaWJ4bWwtMi4wLjAgdmVyc2lvbiBsb29rcyBPayBzbyBmYXIKKwkqIFJFQURNRSBUT0RPOiB1cGRhdGVkIGZvciByZWxlYXNlCisJKiB1cmkuYyB1cmkuaDogYWRkZWQgYXV0aG9yaXR5IHBhcnNpbmcvc2F2aW5nCisJKiB1cmkuYyB0ZXN0VVJJLmMgTWFrZWZpbGUuYW06IG1vdmVkIHRoZSB0ZXN0aW5nIGNvZGUgdG8gdGVzdFVSSS5jCisJKiB4bWx2ZXJzaW9uLmguaW4gY29uZmlndXJlLmluIG5hbm9mdHAuW2NoXSBuYW5vaHR0cC5bY2hdIGVuY29kaW5nLmgKKwkgIGRlYnVnWE1MLltjaF0geHBhdGguW2NoXSB4bWxJTy5jIHRlc3Rlci5jIHRlc3RYUGF0aC5jIHRlc3RIVE1MLmMKKwkgIHRyZWUuYyBIVE1MdHJlZS5jIEhUTUxwYXJzZXIuYyB0cmVlLmMgdHJlZS5oIHBhcnNlci5jCisJICBNYWtlZmlsZS5hbSA6IGFkZGVkIGNvbXBpbGUtdGltZSBjdXN0b21pemF0aW9uIG9mIGxpYnhtbAorCSAgLS13aXRoLWZ0cCAtLXdpdGgtaHR0cCAtLXdpdGgtaHRtbCAtLXdpdGgteHBhdGggLS13aXRoLWRlYnVnCisJICAtLXdpdGgtbWVtLWRlYnVnCisJKiAqLltjaF0gYXV0b2NvbmYuc2ggOiBtb3ZlZCB0byBhbiBhYnNvbHV0ZSBhZHJlc3Npbmcgb2YgaW5jbHVkZXMgOiAKKwkgICNpbmNsdWRlIDxsaWJ4bWwveHh4Lmg+IEkgaG9wZSBpdCB3b24ndCBicmVhayB0b28gbXVjaCBzdHVmZgorCSAgYW5kIHdpbGwgYmUgbWFuYWdlYWJsZSBpbiB0aGUgZnV0dXJlLi4uCisJKiB4bWxsaW50LmMgTWFrZWZpbGUuYW0gbGlieG1sLnNwZWMuaW4gOiByZW5hbWVkIHRlc3Rlci5jIHRvIHhtbGxpbnQuYworCSAgYW5kIGFkZGVkIHhtbGxpbnQgdG8gdGhlIGluc3RhbGxlZCBwcm9ncmFtcworCSogdXJpLmg6IGFkZGVkIHhtbEZyZWVVUkkoKQorCitGcmkgTWFyIDI0IDE0OjM1OjIxIENFVCAyMDAwIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogdXJpLmMgdXJpLmg6IGZpbmlzaGVkIHRoZSBlc2NhcGluZyBoYW5kbGluZywgdGhlIGJhc2Ugc3VwcG9ydAorCSAgYW5kIHRoZSBVUkkgcGF0aCBub3JtYWxpemF0aW9uLiBMb29rcyBnb29kIGp1c3QgbGFja3MgdGhlCisJICBhdXRob3JpdHkgY29udGVudCBwYXJzaW5nIGNvZGUuCisJKiBNYWtlZmlsZS5hbTogYWRkZWQgaW5zdHJ1Y3Rpb25zIHRvIGdlbmVyYXRlIHRlc3RVUkkKKwkqIFRPRE86IHVwZGF0ZWQKKwkqIGRvYy94bWwuaHRtbCwgZG9jL3NtYWxsZm9vdG9ubHkuZ2lmIGRvYy93M2MucG5nOiB1cGRhdGVkLAorCSAgYWRkZWQgbGlua3MgYW5kIGljb25zIGZvciBXM0MgYW5kIEdub21lCisKK01vbiBNYXIgMjAgMTQ6MDU6MjYgQ0VUIDIwMDAgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiB4bWxtZW1vcnkuW2NoXSA6IHNlZW1zIEkgZm9yZ290IHRvIGFjdHVhbGx5IHVwZGF0ZSB0aGUgZmlsZXMgaW4KKwkgIHRoZSBsYXN0IGNvbW1pdCA6LSkKKwkqIGRvYy94bWwuaHRtbCBkb2MvaHRtbC8qIDogdXBkYXRlZCBhbmQgdXBsb2FkZWQgdGhlIGRvY3MKKworTW9uIE1hciAyMCAxMjozMzo1MSBDRVQgMjAwMCBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIHRlc3QvdmFsaWQvZHRkcy94aHRtbCo6IHJlbW92ZWQgUkNTIGluZm9zIChwYWluIHdpdGggQ1ZTKQorCSogVE9ETzogdXBkYXRlZAorCSogeG1sbWVtb3J5LltjaF0gOiBhZGRlZCB4bWxNZW1TZXR1cCgpIGFuZCB4bWxNZW1HZXQoKSB0byBvdmVycmlkZQorCSAgbGlieG1sIGRlZmF1bHQgYWxsb2NhdGlvbiBmdW5jdGlvbiB3aXRoIGFub3RoZXIgc2V0IChsaWtlIGdtYWxsb2MvCisJICBnZnJlZSkuCisJKiBNYWtlZmlsZS5hbSwgdXJpLmMsIHVyaS5oOiBhZGRlZCBhIHNldCBvZiBmdW5jdGlvbnMgdG8gZG8KKwkgIGV4YWN0IChsaXR0ZXJhbHkgY29waWVkIGZyb20gdGhlIFJGQyAyMzk2IHByb2R1Y3Rpb25zKSBwYXJzaW5nCisJICBhbmQgaGFuZGxpbmcgb2YgVVJJLiBXaWxsIGJlIG5lZWRlZCBmb3IgWExpbmssIG9uZSBYTUwgV0ZDLCAKKwkgIFhNTCBCYXNlIGFuZCByZXVzZWQgaW4gdGhlIG5hbm9bZnRwL2h0dHBdIG1vZHVsZXMuIFN0aWxsIHdvcmsKKwkgIHRvIGJlIGRvbmUuCisKK1R1ZSBNYXIgMTQgMjA6NTI6MzUgQ0VUIDIwMDAgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiBjb25maWd1cmUuaW4sIGxpYnhtbC5zcGVjLmluIDogbGlieG1sMgorCSogZG9jLyogOiB1cGRhdGVkIHRoZSBkb2MgcGFnZSwgcmVidWlsdCB0aGUgZG9jcworCitUdWUgTWFyIDE0IDE5OjExOjI5IENFVCAyMDAwIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogYWxsOiB0YWdnZWQgTElCX1hNTF8xX1gKKwkqICouYyAqLmggOiB1cGRhdGVkIGZyb20gVzNDIENWUyB0cmVlCisJKiBjb25maWd1cmUuaW4gOiAyLjAuMC1iZXRhCisJKiBsaWJ4bWwuc3BlYy5pbiA6IGxpYnhtbDIgcGFja2FnZSBuYW0KKwkqIHJlc3VsdC8qIDogbmV3IHZlcnNpb24gb2YgdGhlIHRlc3RzIG91dHB1dAorCitNb24gTWFyICA2IDA5OjM0OjUyIENFVCAyMDAwIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogZG9jL3htbC5odG1sLCBkb2MvdXBkYXRlLmh0bWw6IHVwZGF0ZWQgZG9jcywgMS44LjcKKworU2F0IE1hciAgNCAxNjoxNDo0MiBDRVQgMjAwMCBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIGRvYy8qIDogcmVidWlsdCB0aGUgZG9jcworCSogcGFyc2VyLmM6IGZpbmFsIHBhdGNoIG9uICM2NzY2CisJKiB2YWxpZC5jOiBzbWFsbCBwYXRjaCBvbiB2YWxpZGl0eSBjaGVja3MuCisKK1NhdCBNYXIgIDQgMTI6Mzg6NDEgQ0VUIDIwMDAgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiBkb2MvdXBncmFkZS5odG1sOiBpbnN0cnVjdGlvbiBvbiBob3cgdG8gdXBncmFkZSBmcm9tIDEueCB0byAyLngKKwkgIGFkZGVkCisJKiBwYXJzZXIuYzogYWRkaW5nIHhtbEtlZXBCbGFua3NEZWZhdWx0KCkgYXMgYSB3YXkgdG8gbWFuYWdlCisJICBjb21wYXRpYmlsaXR5IHcuci50LiBYTUwgc3BlYyBhbmQgZXhpc3RpbmcgY29kZS4KKworVGh1IE1hciAgMiAwNDo0NToxNSBDRVQgMjAwMCBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIHBhcnNlci5jOiBzZWVtcyBhIGJldHRlciBzb2x1dGlvbiB0byA8YT4gICA8L2E+IGV4aXN0cywKKwkgIHdpbGwgdHJ5IGl0IGZvciBhIHdoaWxlCisKK1RodSBNYXIgIDIgMDI6MjY6MTMgQ0VUIDIwMDAgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiBwYXJzZXIuYzogdHJpZWQgdG8gcmVtb3ZlIHRoZSA8YT4gICA8L2E+IGdlbmVyYXRpbmcgPGEvPgorCSAgdGhpcyBpcyBoYXJkLiBMZWZ0IGEgZmxhZyBmb3IgdGhhdCBwdXJwb3NlLiBGaXhlZCBidWcgIzY3NjYKKwkqIGNvbmZpZ3VyZS5pbjogcHJlcGFyZWQgMS44Ljcgbm90IHJlbGVhc2VkLCBkdWUgdG8gcHJldmlvdXMKKwkgIHByb2JsZW0KKworVGh1IE1hciAgMiAwMzowMzo1MCBDRVQgMjAwMCBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIGRvYy94bWwuaHRtbCA6IGFwcGxpZWQgc2Vjb25kIHBhdGNoIGZyb20gUGF1bCBEdUJvaXMKKworVHVlIEZlYiAyOSAyMzo1NToxMyBDRVQgMjAwMCBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIGRvYy94bWwuaHRtbCA6IGFwcGxpZWQgcGF0Y2ggZnJvbSBQYXVsIER1Qm9pcworCitUaHUgRmViICAzIDE2OjM2OjM5IENFVCAyMDAwIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogcGFyc2VyLmMgSFRNTHBhcnNlci5jOiBkbyBhIGJpdCBvZiBidWZmZXJpemF0aW9uIGluIHB1c2ggbW9kZS4KKworVGh1IEZlYiAgMyAxNTo1OTozNyBDRVQgMjAwMCBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIG5hbm9mdHAuYyBuYW5vaHR0cC5jIHRyZWUuYyBIVE1MdHJlZS5bY2hdIGRlYnVnWE1MLmMgeHBhdGguYzogRml4ZWQKKwkgIGNvbXBpbGF0aW9uIHdhcm5pbmdzIG9uIHZhcmlvdXMgcGxhdGZvcm1zLgorCSogcGFyc2VyLmM6IEZpeGVkICM1MjgxIHZhbGlkaXR5IGVycm9yIGNhbGxiYWNrcyBhcmUgbm93IGRlc2FjdGl2ZWQKKwkgIGJ5IGRlZmF1bHQgaWYgbm90IHZhbGlkYXRpbmcuCisKK1RodSBGZWIgIDMgMTM6NDY6MTQgQ0VUIDIwMDAgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiBuYW5vZnRwLmMsIHdpbjMyY29uZmlnLmguaW46IHBhdGNoZXMgdG8gY29tcGlsZSBvbiBXSU4zMgorCitXZWQgRmViICAyIDIyOjUxOjE2IENFVCAyMDAwIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogbmFub2Z0cC5jOiBzbnByaW50Zi9zcHJpbnRmIHBhdGNoIGNvdXJ0ZXN5IEdlb3JnZSBLYXRzaXJlbG9zCisJICA8Z2thdHNpQGNzLnRvcm9udG8uZWR1PgorCitNb24gSmFuIDMxIDE4OjU4OjIxIENFVCAyMDAwIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogbmFub2Z0cC5jIG5hbm9odHRwLmM6IEZpeGVkICcjJyBhbmQgJz8nIHN0cmlwcGluZyB3aGVuCisJICBwcm9jZXNzaW5nIFVSTHMKKworTW9uIEphbiAzMSAxNDoyNTo1NyBDRVQgMjAwMCBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIG5hbm9mdHAuW2NoXTogY2xlYW51cCwgYnVnIGZpeGVzLCBpbnRlZ3JhdGlvbiBpbiBycG1maW5kLCBhZGRlZAorCSAgeG1sTmFub0ZUUFVwZGF0ZVVSTCBmb3IgcGVyc2lzdGVudCBjb250cm9sIGNvbm5lY3Rpb25zLgorCSogY29uZmlndXJlLmluOiAxLjguNgorCitUaHUgSmFuIDI3IDE3OjUyOjI5IENFVCAyMDAwIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogbmFub2h0dHAuW2NoXSwgbmFub2Z0cC5bY2hdOiBjbGVhbnVwLCBhZGRlZCBwcm94eSBzdXBwb3J0CisJKiB0cmVlLltjaF0gOiBhZGRlZCB4bWxTYXZlTm9FbXB0eVRhZ3MKKworMjAwMC0wMS0yOSAgSmFtZXMgSGVuc3RyaWRnZSA8amFtZXNAZGFhLmNvbS5hdT4KKworCSogbmFub2Z0cC5jOiBpbmNsdWRlIDxuZXRpbmV0L2luLmg+IGZvciBJUFBST1RPX1RDUC4KKworCSogTWFrZWZpbGUuYW06IGFkZGVkIG5hbm9mdHAuW2NoXSB0byB0aGUgYnVpbGQuCisKK1dlZCBKYW4gMjYgMTg6MTQ6NTUgQ0VUIDIwMDAgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiBuYW5vZnRwLltjaF06IGNsZWFudXAsIGNvbW1lbnRzLCBBUEkKKwkqIGRlYnVnWE1MLmMgOiBmaXhlZCBhIGJ1ZyBpbiB0aGUgY2F0IGNvbW1hbmQKKwkqIGRvYy8qOiByZWdlbmVyYXRlZCB0aGUgZG9jcworCitXZWQgSmFuIDI2IDE2OjUyOjUwIENFVCAyMDAwIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogbmFub2Z0cC5bY2hdIHBhcnNlci5jIHhtbElPLltjaF06IGFkZGVkIGEgTmFubyBGVFAgaW1wbGVtZW50YXRpb24KKwkqIGRlYnVnWE1MLmMgOiBmaXhlZCBhIGJ1ZyBpbiB0aGUgY2F0IGNvbW1hbmQKKwkqIHZhbGlkLmM6IGZpeGluZyBzb21lIHNtYWxsIHByb2JzCisJKiBsaWJ4bWwuc3BlYy5pbjogZ2V0IHJpZCBvZiB0aGUgU05BUCBzdWZmaXgKKwkqIGRvYy94bWwuaHRtbDogdXBkYXRlZCB0aGUgc3RhdHVzCisKK01vbiBKYW4gMjQgMTQ6MzE6MDkgQ0VUIDIwMDAgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiB4bWwtY29uZmlnLmluOiB4bWwtY29uZmlnIC0tdmVyc2lvbiB0byBqdXN0IHJldHVybiB0aGUKKwkgIHZlcnNpb24gbnVtYmVyCisJKiB4cGF0aC5jOiBzb21lIGNsZWFudXAgdy5yLnQuIGF4aXMgd2hlbiB0aGUgY3VycmVudCBub2RlIGlzCisJICBhbiBhdHRyaWJ1dGUuCisJKiBUT0RPOiB1cGRhdGVkCisKK1R1ZSBKYW4gMTggMTg6NDY6MDYgQ0VUIDIwMDAgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiBjb25maWd1cmUuaW46IHByZXBhcmVkIGZvciBsaWJ4bWwtMS44LjUKKwkqIGRvYy8qIHJlY29tcGlsZWQgdGhlIGRvY3VtZW50YXRpb24KKworMjAwMC0wMS0xNyAgSm9keSBHb2xkYmVyZyA8amdvbGRiZXJnQGhvbWUuY29tPgorCisJKiBjb25maWd1cmUuaW4gOiBXQVJOSU5HIGF1dG9jb25mIHN1YnRsZXR5IGFsZXJ0IDoKKwkgIFVzZSBBQ19DSEVDS19IRUFERVJTIHJhdGhlciB0aGFuIEFDX0NIRUNLX0hFQURFUgorCSAgd2hlbiBsb29raW5nIGZvciB6bGliLmggc28gdGhhdCBIQVZFX1pMSUJfSCBpcyBkZWZpbmVkLgorCSogY29uZmlnLmguaW4gOiBIYXZlIGEgI3VuZGVmIGZvciBIQVZFX1pMSUJfSCBzbyB0aGF0IGl0IHdpbGwKKwkgIGdldCBkZWZpbmVkIGJ5IEFDX0NIRUNLX0hFQURFUlMuCisKK01vbiBKYW4gMTcgMTc6MDQ6MTIgQ0VUIDIwMDAgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiB0cmVlLmM6IGZpeGVkIGEgaGlkZW91cyBidWcgaW4geG1sR2V0UHJvcCgpIHRoYW5rcyB0bworCSAgUnVuZS5EanVyaHV1c0BmYXN0Lm5vCisKK1NhdCBKYW4gMTUgMTU6MDk6MDYgQ0VUIDIwMDAgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiBUT0RPOiB1cGRhdGVkCisJKiB0cmVlLmMsIHBhcnNlci5jOiBtYWRlIHN1cmUgdGhhdCBvbmx5IG1lbW9yeSBhbGxvYyBwcm9ibGVtcworCSAgYW5kIGludGVybmFsIHBhcnNlciBlcnJvcnMgYXJlIGFsbG93ZWQgdG8gd3JpdGUgdG8gc3Rkb3V0IG9yCisJICBzdGRlcnIuCisKK1RodSBKYW4gMTMgMTE6NDk6MTEgQ0VUIDIwMDAgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiB0cmVlLmMgOiByZXN0b3JlZCB4bWxOZXdHbG9iYWxOcyBzaW5jZSB0aGlzIHNlZW1zIHVzZWQgYnkKKwkgIGEgbG90IG9mIGV4aXN0aW5nIGNvZGUgOi0oLCBmaXhlZCBhIGJ1ZyBpbiB4bWxOZXdOcworCSogbmFub2h0dHAuYzogZml4ZWQgYSBwcm9ibGVtIHdpdGggSU5DTFVERV9XSU5TT0NLCisJKiBIVE1McGFyc2VyLmMsIHBhcnNlci5jLCBlbnRpdGllcy5jLCB2YWxpZC5jIDogcmVtb3ZlZCBhbGwgY2FsbHMKKwkgIHRvIGV4aXQoKSBmcm9tIHRoZSBsaWJyYXJ5IGNvZGUuCisJKiB4cGF0aC5jLCBwYXJzZXIuYzogcmVtb3ZlZCBidWdzIG9yIHVudXNlZCBjb2RlIGRldGVjdGVkIGJ5IAorCSAgV2luZG93cyBjb21waWxlcnMKKwkqIHBhcnNlci5jOiBzdGFydGVkIGFkZGluZyBpbnRlcmZhY2VzIGZvciBwYXJzaW5nIHdlbGwgYmFsYW5jZWQKKwkgIFhNTCBmcmFnbWVudHMKKwkqIGNvbmZpZ3VyZS5pbjogcmVsZWFzaW5nIDEuOC40CisJKiBkb2MvKiA6IHJlYnVpbHQgdGhlIGRvY3MKKworU3VuIEphbiAgOSAyMzowMzoyMCBDRVQgMjAwMCBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIHRyZWUuW2NoXSA6IGFkZGVkIHhtbE5ld0RvY0ZyYWdtZW50KCkgZm9yIERPTQorCSogdGVzdEhUTUwuYzogdW5pbml0aWFsaXplZCB2YXJpYWJsZS4KKworV2VkIEphbiAgNSAxNzoyOToxNyBDRVQgMjAwMCBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIGRvYy8qIDogcmVidWlsZCB0aGUgZG9jcworCitXZWQgSmFuICA1IDE3OjA4OjQzIENFVCAyMDAwIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogYWNjb25maWcuaDogcmVhZGxpbmUgYW5kIGhpc3RvcnkgcGF0Y2gKKwkqIHZhbGlkLltjaF06IGFkZGVkIHhtbFJlbW92ZUlEKCkgYW5kIHhtbFJlbW92ZVJlZigpCisJKiB0cmVlLmM6IGFkZGVkIGNoZWNrIGFuZCBoYW5kbGluZyB3aGVuIHBvc3NpYmx5IHJlbW92aW5nIGFuIElECisJKiB0cmVlLmMsIEhUTUxwYXJzZXIuaCwgSFRNTHRyZWUuaDogZml4ZWQgZW50aXRpZXMgcGFyc2luZworCSAgICAgYW5kIHNhdmluZy4KKwkqIHRlc3QvSFRNTC9lbnRpdGllcy5odG1sIHJlc3VsdC9IVE1ML2VudGl0aWVzLmh0bWwqIDogdGVzdCBmb3IKKwkgICAgIHZhcmlvdXMgZW50aXRpZXMgcmVmZXJlbmNlIGNhc2VzCisJKiByZXN1bHQvSFRNTC8qIDogYXMgYSByZXN1bHQgb3V0cHV0IG9mIHNvbWUgdGVzdGNhc2UgaGF2ZQorCSAgICAgY2hhbmdlZAorCSogSFRNTHBhcnNlci5jLCBwYXJzZXIuYzogZml4ZWQgYSBidWcgaW4gdGhlIHB1c2ggbW9kZSB0cmlnZ2VyZWQKKwkgICAgIGJ5IHByZXZpb3VzIGV4YW1wbGUuIGFkZGVkIHhtbFBhcnNlVHJ5T3JGaW5pc2goKS4KKwkqIHhwYXRoLmggdHJlZS5oIHBhcnNlci5oIHZhbGlkLmggeG1sSU8uaCB4bGluay5oIGVuY29kaW5nLmgKKwkgIGVudGl0aWVzLmggZGVidWdYTUwuaCBIVE1McGFyc2VyLmg6IGNoYW5nZWQgdGhlIHdheSBzdHJ1Y3QgYXJlIAorCSAgZGVjbGFyZWQgdG8gYWxsb3cgZ3RrLWRvYyB0byBleHBvc2UgdGhvc2UKKwkqIHBhcnNlci5jOiBjbG9zZWQgYnVnICM0OTYwICAKKwkqIE1ha2VmaWxlLmFtIGNvbmZpZ3VyZS5pbjogQXBwbGllZCBwYXRjaCBmcm9tIAorCSAgQWxiZXJ0IENoaW4tQS1Zb3VuZyA8Y2hpbmFAdGhld3JpdHRlbndvcmQuY29tPiBmb3IgYmV0dGVyIHpsaWIKKwkgIGFuZCBtYXRoL3NvY2tldCBsaWJzIGRldGVjdGlvbgorCitNb24gSmFuICAzIDE4OjI5OjQzIENFVCAyMDAwIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogY29uZmlndXJlLmluLCBNYWtlZmlsZS5hbTogbGluayB0ZXN0ZXIgYWdhaW5zdCByZWFkbGluZQorCSogZG9jL3htbC5odG1sIGRvYy8qLyo6IHVwZGF0ZWQgYW5kIHJlYnVpbHQgdGhlIGRvY3VtZW50YXRpb24gcGFnZXMKKworTW9uIEphbiAgMyAxMTo1ODowNSBDRVQgMjAwMCBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIHRyZWUuW2NoXTogYWRkZWQgeG1sUmVtb3ZlUHJvcAorCSogd2luMzJjb25maWcuaC5pbiBuYW5vaHR0cC5jOiBhdm9pZCBpbmNsdWRpbmcgdGhlIFdpbmRvd3MKKwkgICAgc29ja2V0IHN0dWZmIGluIGV2ZXJ5IEMgZmlsZXMKKwkqIHBhcnNlci5jOiByZW1vdmVkIGFuIGluZGV0ZXJtaW5hdGlvbiB4bUxEZWNsL1BJKHhtbC4uLikgaW4KKwkgICAgdGhlIFhtTCBwYXJzZXIocykKKwkqIHRlc3QvbnM0IHJlc3VsdC9uczQgZXRjLi4uOiBhZGRlZCB0ZXN0IGNhc2UgZm9yIHByZXZpb3VzIHByb2IgICAgCisJKiB0cmVlLmM6IHhtbE5ld05zIHdhc24ndCBjaGVja2luZyBmb3IgZG91YmxlIGRlZmluaXRpb24KKwkqIE1ha2VmaWxlLmluOiBmaXhlZCBhIHByb2JsZW0gd2l0aCBkaXN0LWhvb2sgZHVwbGljYXRlcworCSogcGFyc2VyLltoY10sIHhtbElPLmM6IGZpeGVkIHRoZSBsb2FkaW5nIG9mIGV4dGVybmFsIGVudGl0aWVzCisJICAgIEFQSXMsIG5vdyB4bWxMb2FkRXh0ZXJuYWxFbnRpdHkoKSBpcyB1c2VkIGV2ZXJ5d2hlcmUgYW5kCisJICAgIHNldHRpbmcgdXAgYW4gYXBwIHNwZWNpZmljIGZyb250LWVuZCB1c2luZyB0aGUgCisJKiBTQVguYyBwYXJzZXIuYzogc29tZSBmaXhlcywgbm93IHRoZSB4aHRtbCBzcGVjIHZhbGlkYXRlcworCSAgICB3aXRoIHRoZSB4aHRtbCBEVEQuCisJKiBlcnJvci5jOiBmaXhlZCBjcmFzaGVzIGluIGNhc2Ugb2Ygbm8gaW5wdXQgc3RyZWFtICAgIAorCSogdGVzdC92YWxpZC9bZHRkcy9dL3hodG1sKiA6IGFkZGVkIHRoZSB4aHRtbCBzcGVjIGFuZCBkdGRzCisJICAgIHRvIHRoZSB2YWxpZGF0aW9uIHRlc3RzIGFuZCByZXN1bHRzCisKK1dlZCBEZWMgMjkgMTU6Mjk6NTIgQ0VUIDE5OTkgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiBIVE1McGFyc2VyLltjaF0gdGVzdEhUTUwuYzogYWRkZWQgcHVzaCBtb2RlIGZvciB0aGUgSFRNTCBwYXJzZXIKKwkgIHRvbyBodG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQoKSBhbmQgaHRtbFBhcnNlQ2h1bmsoKQorCSogcGFyc2VyLmM6IGEgYml0IG9mIGNsZWFudXAuCisJKiBTQVguYywgSFRNTHBhcnNlci5jOiBzb21lIGF0dHJpYnV0ZXMgbWF5IG5vdCBoYXZlIHZhbHVlcyAoY29udHJhcnkKKwkgIHRvIFhNTCkgcmVtb3ZlZCB0aGUgbGFzdCBtZW0gbGVhayBrbm93bgorCSogSFRNTHRyZWUuYzogb3V0cHV0IG1lc3NhZ2UgY2xlYW51cAorCSogeG1sbWVtb3J5LmM6IGRpc3BsYXkgY29udGVudCBpbmZvIGFib3V0IG1lbW9yeSBibG9ja3MKKwkqIHJlc3VsdC9IVE1ML3dpcmVkLiogOiBtaXNzaW5nIGF0dCB2YWx1ZSB3YXJuaW5nIGNoYW5nZQorCitUdWUgRGVjIDI4IDE3OjQyOjQxIENFVCAxOTk5IERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogZG9jLyogOiByZWJ1aWx0IHRoZSBkb2N1bWVudGF0aW9uCisKK1R1ZSBEZWMgMjggMTg6NDQ6MjIgQ0VUIDE5OTkgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiBwYXJzZXIuW2NoXSBwYXJzZXJJbnRlcm5hbHMuaDogUHVzaCBwYXJzZXIgZm9yIFhNTCwKKwkgICAgIHNlZW1zIHRvIHdvcmsgZmluZSBub3cKKwkqIHRlc3Rlci5jIGRlYnVnWE1MLltjaF06IEFkZGVkIGFuIFhNTCBzaGVsbCBkZWJ1ZyBmYWNpbGl0eSBhbmQKKwkgICAgIC0tcHVzaCBmb3IgcHVzaCB0ZXN0aW5nCisJKiB4cGF0aC5bY2hdIDogY2xlYW5lZCB1cCBmb3IgU2hlbGwgdXNhZ2UsIGFkZGVkIG1pc3NpbmcgQVBJcworCSogdGVzdFNBWC5jOiBhZGRlZCAtLXB1c2gKKwkqIEhUTUx0cmVlLltjaF0gdHJlZS5bY2hdOiBuZXcgZnVuY3Rpb25zIGZvciBkdW1waW5nIHBhcnRzIG9mIHRoZQorCSAgICAgc3VidHJlZQorCSogeG1sSU8uW2NoXSA6IGVucmljaGVkIEFQSSArIGZpeGVzIGZvciBwdXNoIG1vZGUgICAgIAorCSogZW50aXRpZXMuW2NoXTogYWRkZWQgdGhlIGVudGl0eSBjb250ZW50IGxlbmd0aCB0byB0aGUgc3RydWN0LgorCSogeG1sbWVtb3J5LltjaF06IG5ldyBBUEkgdG8gc2hvdyB0aGUgbGFzdCBlbnRyaWVzIGZvciB0aGUgc2hlbGwKKwkqIHZhbGlkLmM6IGFkZGVkIHJlcXVpcmVkIGF0dHJpYnV0ZSB0ZXN0aW5nCisJKiBTQVguYzogdGhlIGNkYXRhIGNhbGxiYWNrIG5vdyBtZXJnZSBjb250aWd1b3VzIGZyYWdtZW50cworCSogSFRNTHBhcnNlci5jOiBjbGVhbnVwIG9mIHNvbWUgbWFjcm9zCisKK1dlZCBEZWMgMjIgMTI6MjA6NTMgQ0VUIDE5OTkgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiBwYXJzZXIuYzogZml4IGZvciBQSXMgbmFtZSBzdGFydGluZyB3aXRoIHhtbAorCSogdHJlZS5jOiBmaXhlZCBhIHBvdGVudGlhbCBwcm9ibGVtIHdpdGggfHwgYW5kICYmIG9wcworCSogKi5jLCBjb25maWd1cmUuaW4gd2luMzJjb25maWcuaC5pbiA6IGdlbmVyYXRlIHdpbjMyY29uZmlnLmggZm9yCisJICB0aG9zZSBvbiB0aGUgT3RoZXIgU2lkZSAhCisKK1R1ZSBEZWMgMjEgMTc6MjI6MTcgQ0VUIDE5OTkgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiBwYXJzZXIuYzogZml4ZWQgYSBzdHVwaWQgPSB2cy4gPT0gYnVnIDotKAorCSogZG9jL2dub21lLXhtbC5zZ21sOiBzL2dsYWRlL3htbC8KKworVHVlIERlYyAyMSAxNDoyOTozNCBDRVQgMTk5OSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIGNvbmZpZ3VyZS5pbiwgZG9jL3htbC5odG1sIDogYnVnIGZpeCByZWxlYXNlIDEuOC4yCisJKiBkZWJ1Z1hNTC5oIG5hbm9odHRwLmggeG1sLWVycm9yLmggeG1sbWVtb3J5LmggeHBhdGguaCA6IAorCSAgSG9wZWZ1bGx5IHRoZSBlbmQgb2YgdGhhdCBzaWxseSBDKysgaW5jbHVkZSBwcm9ibGVtCisJKiB0cmVlLltjaF06IEFkZGVkIGEgZmV3IGZ1bmN0aW9uczogeG1sUmVwbGFjZU5vZGUsIHhtbEFkZFByZXZTaWJsaW5nLAorCSAgICAgIHhtbEFkZE5leHRTaWJsaW5nLCB4bWxOb2RlU2V0TmFtZSBhbmQgeG1sRG9jU2V0Um9vdEVsZW1lbnQKKwkqIEhUTUxwYXJzZXIuYyBIVE1McGFyc2VyLmggSFRNTHRyZWUuYzogV2hlbiBzYXZpbmcgSFRNTCB0cnkgdG8gYXZvaWQgCisJICAgICAgdHJvdWJsZXMgd2l0aCBhdXRvY2xvc2VkIGVsZW1lbnRzIHdoZW4gdGhlIHN0cmVlIHNoYXBlIGRvZXNuJ3QKKwkgICAgICBmb2xsb3cgdGhlIER0RCBzcGVjcy4gQWRkZWQgaHRtbElzQXV0b0Nsb3NlZCgpIGFuZAorCSAgICAgIGh0bWxBdXRvQ2xvc2VUYWcoKQorCSogcmVzdWx0L0hUTUwvKi5odG0qOiBVcGRhdGVkIHRoZSBIVE1MIGV4YW1wbGVzIHJlZ3Jlc3Npb24gdGVzdHMgb3V0cHV0CisJKiBTQVguYyB0cmVlLmM6IGZpeGVkIGJ1ZyBvbiBkZWZhdWx0aW5nIG5hbWVzcGFjZXMgb24gYXR0cmlidXRlcworCSogZGVidWdYTUwuYzogZml4ZWQgYSBidWcgb24gcHJpbnRpbmcgZGVmYXVsdCBuYW1lc3BhY2VzLgorCSogSFRNTHRyZWUuYzogZml4ZWQgYSBwcm9ibGVtIHdoZW4gb3V0cHV0aW5nIFhNTCBwYXJzZWQgZG9jcyBhcyBIVE1MCisKK01vbiBEZWMgMjAgMTY6MjA6NTUgQ0VUIDE5OTkgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiByZXN1bHQvSFRNTC8qLmh0bVtsXSA6IHVwZGF0ZWQgdGhlIEhUTUwgcmVncmVzc2lvbiB0ZXN0cyBhY2NvcmRpbmcKKwkgIHRvIHRoZSBuZXcgb3V0cHV0CisJKiB4cGF0aC5oIHhtbC1lcnJvci5oIHZhbGlkLmggdHJlZS5oIHBhcnNlci5oIGVudGl0aWVzLmggU0FYLmgKKwkgIEhUTUx0cmVlLmggdHJlZS5jIGVudGl0aWVzLmM6IGhlYWRlcnMgdHdlYWtpbmdzIHRvIGF2b2lkIGEgbmFzdHkKKwkgIHByb2JsZW0gZHVlIHRvIGludGVybWl4IG9mIGV4dGVybiAiQyIgeyAuLi4gfSBkZWNsYXJhdGlvbnMgZm9yIEMrKworCSAgYW5kIHJlY3Vyc2l2ZSBpbmNsdWRlcyBpbiB0aGUgaGVhZGVycworCisxOTk5LTEyLTIwICBDaHJpcyBMYWhleSAgPGNsYWhleUB1bWljaC5lZHU+CisKKwkqIEhUTUx0cmVlLmM6IE1hZGUgaXQgc28gdGhhdCBodG1sIG5vZGVzIHdpdGggYSBzaW5nbGUgY2hpbGQgZG8KKwlub3QgaW5zZXJ0IGEgY2FycmlhZ2UgcmV0dXJuIGJlZm9yZSBvciBhZnRlciB0aGUgY2hpbGQgbm9kZS4KKworU2F0IERlYyAxOCAxNjowNzowMyBDRVQgMTk5OSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIGNvbmZpZ3VyZS5pbiwgZG9jL3htbC5odG1sIDogYnVnIGZpeCByZWxlYXNlIDEuOC4xCisJKiBwYXJzZXIuYzogZml4ZWQgYnVnICM0MzQ0CisJKiB4cGF0aC5oIHhtbC1lcnJvci5oIHhsaW5rLmggbmFub2h0dHAuaCBkZWJ1Z1hNTC5oIFNBWC5oIEhUTUxwYXJzZXIuaAorCSAgYWRkZWQgdGhlIGdsdWUgdG8gYXZvaWQgQysrIHByb2JsZW1zCisJKiBkb2MvKiA6IHJlZ2VuZXJhdGVkIHRoZSBkb2N1bWVudGF0aW9uCisKK1RodSBEZWMgMTYgMTY6MTk6MjkgQ0VUIDE5OTkgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiB0cmVlLmM6IGZpeGVkIGEgYnVnIGludHJvZHVjZWQgaW4gMS44LjAgYW5kIGJyZWFraW5nIGRlZmF1bHQKKwkgIG5hbWVzcGFjZSByZWNvZ25pdGlvbiwgYW5kIERpYSBhcyBhIHJlc3VsIDotKAorCSogZW5jb2RpbmcuYzogY2xvc2VkIGJ1ZyAjMzk1MAorCitXZWQgRGVjIDE1IDE5OjIyOjIzIENFVCAxOTk5IERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogdmFsaWQuYzogZGVidWdnaW5nIGEgcG9zdGVyaW9yaSB2YWxpZGF0aW9uLCBleGNlcHQgVVJJIGV4cGFuc2lvbgorCSAgc3R1ZmYgdGhpcyBzaG91bGQgYmUgZml4ZWQgbm93CisJKiBwYXJzZXJJbnRlcm5hbHMuaDogZml4ZWQgYSBidWcgaW4gSVNfQkFTRUNIQVIgcmVwb3J0ZWQgYnkKKwkgIENhcmwgTnlnYXJkIDxjbnlnYXJkQGJlbGxhdGxhbnRpYy5uZXQ+CisJKiB0ZXN0ZXIuYzogYWRkZWQgLS1wb3N0dmFsaWQsIGNsZWFuaW5nIG9mIHRoZSBjb2RlCisJKiB0cmVlLltjaF06IGFkZGVkIHhtbERvY0dldFJvb3RFbGVtZW50KCkKKworVHVlIERlYyAxNCAyMDozMDozNCBQU1QgMTk5OSBSYW1pcm8gRXN0cnVnbyA8cmFtaXJvQGVhemVsLmNvbT4KKworCSogU0FYLmgsIHRyZWUuaCA6IGNoYW5nZWQgJ25hbWVzcGFjZScgdG8gJ25hbWVTcGFjZScgdG8gd29ya2Fyb3VuZAorCWMrKyBsb3NhZ2UuCisKK1N1biBEZWMgMTIgMTM6MDg6MTUgQ0VUIDE5OTkgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiBjb25maWd1cmUuaW4sIGRvYy94bWwuaHRtbCA6IGJ1bXBlZCB0byAxLjguMAorCSogeGxpbmsuW2NoXSwgTWFrZWZpbGUuYW0gOiBhZGRlZCBmcmFtZXdvcmsgZm9yIGxpbmsgZGV0ZWN0aW9uCisJKiBwYXJzZXIuaDogYWRkZWQgbmJDaGFycyB0byBwYXJzZXIgY29udGV4dCwgbmVlZGVkIGZvciBjbGVhbnVwLgorCSogeG1sbWVtb3J5LmM6IHJlbW92ZWQgYSBuYXN0eSBidWcgd2hlbiBvdXQgb2YgbWVtCisJKiB2YWxpZC5bY2hdOiBhZGRpbmcgbmFtZXNwYWNlIHN1cHBvcnQgZm9yIGF0dHJpYnV0ZSBkZWNsCisJKiB0ZXN0ZXIuYzogYWRkZWQgLS1kZWJ1Z2VudCBvcHRpb24KKwkqIGRlYnVnWE1MLltjaF06IGFkZGVkIHhtbERlYnVnRHVtcEVudGl0aWVzKCkKKwkqIHBhcnNlci5jOiBjbGVhbnVwLCBhdm9pZGluZyB1c2Ugb2YgQ1VSX1BUUiBsaWtlIHBsYWd1ZSwgdXNpbmcKKwkgIGJ1ZmZlcnMgaW5zdGVhZCwgdGhpcyB3YXMgcmVhbGx5IG5lZWRlZCwgdmFsaWRhdGlvbiB3YXMgYnJlYWtpbmcKKwkgIGluIHN0cmFuZ2Ugd2F5cyBkdWUgdG8gdGhhdC4gQWRkZWQgeG1sUGFyc2VTdHJpbmdQRVJlZmVyZW5jZSgpCisJICBhbmQgb3RoZXIgcGFyc2luZyBmcm9tIHN0cmluZ3MgZnVuY3Rpb25zLiBFbnRpdGllcyBwcm9jZXNzaW5nCisJICBtb2RpZmllZCBhZ2FpbiwgYnV0IFBFUmVmIGFyZSBzdGlsbCBub3QgaGFuZGxlZCBjb3JyZWNseSBidXQKKwkgIHVubGVzcyB5b3UncmUgRXZlIE1hbGxlciB5b3Ugd29uJ3Qgbm90aWNlIDotKQorCSogSFRNTHBhcnNlci5jOiBsYXJnZSBjaGFuZ2VzIHRvd2FyZCByZWxpYWJpbGl0eSwgYW5kIHN3aXRjaGVkIHRvCisJICBsb3dlcmNhc2UgaW50ZXJuYWwgdGFncywgWEhUTUwgaXMgbG93ZXJjYXNlLCBzbyBpdCB3aWxsIGhlbHAKKwkgIHRoYXQgb3V0cHV0IGlzIGNsb3NlciB0byBuZXh0IHZlcnNpb24uCisJKiBkb2MvKiA6IHJlZ2VuZXJhdGVkIHRoZSBkb2N1bWVudGF0aW9uLCBpdCBpcyBub3cgaG9zdGVkIGF0CisJICBodHRwOi8veG1sc29mdC5vcmcvIChzYW1lIGJpdHMgSSBqdXN0IGJvdWdodCB0aGUgZG9tYWluIDotKQorCitGcmkgRGVjICAzIDEzOjQ2OjMyIENFVCAxOTk5IERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogU0FYLmgsIFNBWC5jLCBtYWtlZmlsZS5hbTogYWRkZWQgU0FYLmggbW9zdGx5IHVzZWZ1bCBmb3IgdGhlCisJICAgICAgICAgZG9jIGdlbmVyYXRpb24KKwkqIHBhcnNlci5jOiBmaXhlZCBidWdzICMzOTA4IGFuZCAjMzkzNyBhbmQgYSBtZW1vcnkgbGVhaworCSAgICAgICAgIGluIHRoZSBTQVggQVBJCisJKiBkb2MvKjogcmVidWlsdCB0aGUgZG9jIG1ha2luZyBzdXJlIGV2ZXJ5dGhpbmcgYXBwZWFycyBpbiB0aGUKKwkgICAgICAgICBIVE1MIGZpbGVzCisKK1dlZCBEZWMgIDEgMTA6Mjc6NDcgQ0VUIDE5OTkgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiB0cmVlLltjaF0gSFRNTHRyZWUuYywgZGVidWdYTUwuYywgY29uZmlndXJlLmluLCB4bWwtY29uZmlnLmluOgorCSAgICAgYWRkZWQgdGhlIHBhdGNoIGZyb20gQ2FybCBOeWdhcmQgPGNueWdhcmRAYmVsbGF0bGFudGljLm5ldD4KKwkgICAgIHdoaWNoIGFsbG93IGltcHJlc3NpdmUgc3BlZWQgaW1wcm92ZW1lbnQgb24gZGF0YXNldCB3aXRoCisJICAgICBsYXJnZSB0ZXh0IHBpZWNlcywgYnV0IGF0IHRoZSBjb3N0IG9mIGJyb2tlbiBiaW5hcnkKKwkgICAgIGNvbXBhdGliaWxpdHkgYW5kIHNsaWdodGx5IGJpZ2dlciBtZW1vcnkgdXNhZ2UuCisJICAgICBDb25maWd1cmUgd2l0aCAtLXdpdGgtYnVmZmVycyB0byBhY3RpdmF0ZSB0aGVtLCB0aGV5CisJICAgICBhcmUgcHJvdGVjdGVkIHdpdGggWE1MX1VTRV9CVUZGRVJfQ09OVEVOVCBkZWZpbmUuCisJKiBlbnRpdGllcy5bY2hdLCBwYXJzZXIuYzogYWRkZWQgeG1sQ2xlYW51cFByZWRlZmluZWRFbnRpdGllcygpLAorCSAgICAgZ29hbCBpcyAwIG1lbW9yeSBsZWZ0IGFsbG9jYXRlZCBvbmNlIHBhcnNlciBpcyBubyBtb3JlIHVzZWQKKwkqIHRlc3REQVYuYywgdGVzdEhUTUwuYywgdGVzdFNBWC5jLCB0ZXN0WFBhdGguYzogbWFrZSBzdXJlIHdlCisJICAgICBjYWxsIHhtbENsZWFudXBQYXJzZXIoKSBhbmQgeG1sTWVtb3J5RHVtcCgpCisKK1dlZCBOb3YgMjQgMTk6MDA6MDYgQ0VUIDE5OTkgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiB0cmVlLltjaF0geG1sSU8uW2NoXSBwYXJzZXIuYyB2YWxpZC5jOiBjb2RlIGNsZWFudXAgd2l0aCAtcGVkYW50aWMKKwkqIHBhcnNlci5bY2hdIGVuY29kaW5nLltjaF06IGFkZGVkIG1lbW9yeSBjbGVhbnVwIHJvdXRpbmVzCisJKiBwYXJzZXIuYzogY2xvc2luZyBidWcgIzM3ODgKKwkqIGRvYy8qOiByZWJ1aWx0IHRoZSBkb2MKKworVHVlIE5vdiAyMyAxMToyMzo1NSBDRVQgMTk5OSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIHRyZWUuW2NoXTogY2xvc2luZyBidWcgMzc0OCwgYWRkZWQgeG1sTmV3RG9jUmF3Tm9kZSgpLCAKKwkgICAgICAgICAgICAgeG1sTmV3VGV4dENoaWxkKCkgYW5kIHhtbFNldENvbXByZXNzTW9kZSgpIGJlaGF2aW91ci4KKwkqIHRlc3Rlci5jOiBhZGRlZCAtLWNvbXByZXNzIG9wdGlvbgorCSogZG9jLyo6IHJlYnVpbHQgdGhlIGRvY3VtZW50YXRpb24KKworRnJpIE5vdiAxOSAxODo0MToyOCBDRVQgMTk5OSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIEhUTUxwYXJzZXIuYzogYnVnZml4aW5nLCB0aGUgZGFtbiB0aGluZyBNVVNUIG5vdCBjcmFzaCBldmVuCisJICAgICAgICAgICAgICAgIGlmIGdpdmVuIC9wcm9jL2tjb3JlIGFzIGlucHV0ICEKKwkqIGRvYy94bWwuaHRtbCBkb2MvKjogdXBkYXRlZCBhbmQgcmVidWlsdCB0aGUgZG9jdW1lbnRhdGlvbgorCitUaHUgTm92IDE4IDE0OjU3OjE4IENFVCAxOTk5IERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogcGFyc2VyLmM6IEZpeGVkIHNvbWUgd3JvbmdseSBzcGFjZSBjb2xsYXBzaW5nIGNvZGUgZHVlIHRvCisJICAgICAgICAgICAgYSBtaXNyZWFkaW5nIG9mIHRoZSBzcGVjLgorCSogcmVzdWx0Lyo6IGZpeGVkIHRoZSBvdXRwdXQgYWNjb3JkaW5nbHkJICAgIAorCitXZWQgTm92IDE3IDE4OjI4OjA2IENFVCAxOTk5IERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogZW5jb2RpbmcuYzogYnVnIGZpeCBhbmQgdHlwb3MKKwkqIHhtbElPLltjaF0gcGFyc2VyLmM6IGZpcnN0IGJpdHMgdG93YXJkIHJlYWwgcHJvZ3Jlc3NpdmUgcGFyc2luZworCSogcGFyc2VyLmM6IGFkZGVkIGF0dHJpYnV0ZSBub3JtYWxpemF0aW9uIGNsb3NpbmcgYnVnICMzNTk3CisJKiB0ZXN0L2F0dCogcmVzdWx0L2F0dCogU0FYcmVzdWx0L2F0dCo6IHRlc3RjYXNlIGZvciBhdHRyaWJ1dGUKKwkgICAgbm9ybWFsaXphdGlvbgorCitNb24gTm92IDE1IDE4OjUwOjU2IENFVCAxOTk5IERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogY29uZmlndXJlLmluOiBjbG9zaW5nIGJ1ZyAjMzE2MyBieSBhZGRpbmcgZXh0cmEgZmxhZ3MgZm9yIHRoZQorCSAgICAgICAgICAgICAgICBjYyBjb21waWxlciBvbiBIUC1VWAorCitGcmkgTm92IDEyIDE3OjQxOjIwIENFVCAxOTk5IERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogdmFsaWQuW2NoXSA6IHJlbW92ZWQgYSB0eXBvIGFuZCBhbiBlbnVtZXJhdGVkIHR5cGUgYnVnIGluIHRoZQorCSAgICAgICAgICAgICAgIHhtbEFkZEVsZW1lbnREZWNsKCkgZnVuY3Rpb24KKwkqIHRyZWUuYyA6IEkgY2hhbmdlZCB4bWxTZXRQcm9wKCkgYW5kIHhtbE5ld1Byb3AoKSB0byBkbyB0aGUKKwkgICAgY2FsbCB0byB4bWxFbmNvZGVFbnRpdGllc1JlZW50cmFudCgpIHNvIHRoYXQgdGhlIGZ1bmN0aW9ucyAKKwkgICAgTmV3LCBTZXQgYW5kIEdldCBhcmUgYXQgdGhlIHNhbWUgbGV2ZWwuCisJKiBwYXJzZXIuYyBIVE1McGFyc2VyLmM6IGV4dHJhIG1lbW9yeSBhbGxvY2F0aW9uIGJ1ZyBmb3IKKwkgICAgYXR0cmlidXRlcyBkZXRlY3RlZCBieSBzb21lb25lIHVzaW5nIGxpYnhtbCBpbiBlbWJlZGRlZCBzeXN0ZW1zIDotKQorCitUaHUgT2N0IDI4IDE3OjQ5OjI2IENFU1QgMTk5OSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIHhtbG1lbW9yeS5oOiB0dXJuZWQgb2ZmIG1lbSBkZWJ1ZyA6LVwKKworTW9uIE9jdCAyNSAxMjoxMzoyNSBDRVNUIDE5OTkgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiBwYXJzZXIuYzogY2xvc2VkIGJ1ZyAjMjc4NCBhIG9uZSBsaW5lIGZpeCwgYnV0IHdvcnRoIHB1c2hpbmcKKwkgICAgICAgICAgICBhIG5ldyByZWxlYXNlIG91dAorCSogSFRNTHBhcnNlci5jOiBmaXhlZCBhdXRvLWNsb3NlIGJ1Z3Mgb24gbGlzdCBpdGVtcywgemVyb2luZworCSAgICAgICAgICAgIHNvbWUgc3RydWN0dXJlcywgY29tbWVudHMgYmVmb3JlIGFuZCBhZnRlciB0aGUKKwkJICAgIG1haW4gZWxlbWVudCwgYW5kIG90aGVyIG5hc3R5bmVzcworCSogSFRNTHRyZWUuYyB0cmVlLmM6IGFjY29tb2RhdGUgdGhlIGV4dGVuZGVkIEhUTUwgc3VwcG9ydGVkCSAgICAKKwkqIGNvbmZpZ3VyZS5pbjogcHVzaGluZyAxLjcuNAorCSogdGVzdC9lbnQ4IGFuZCByZWxhdGVkIG91dHB1dHMgOiBhZGRlZCBhIG5ldyB0ZXN0IGZvciBidWcgIzI3ODQKKwkqIHRlc3QvSFRNTC93aXJlZC5odG1sIGFuZCByZWxhdGVkIG91dHB1dDogYSBuYXN0eSBIVE1MIGV4YW1wbGUKKwkqIE1ha2VmaWxlLmFtOiBpbXByb3ZlZCB0aGUgdGVzdCBzY3JpcHRzCisJKiBkb2NzLyogOiByZXJhbiB0aGUgZG9jdW1lbnRhdGlvbiBleHRyYWN0b3IsIHVwZGF0ZWQgeG1sLmh0bWwKKworVGh1IE9jdCAxNCAxMDoyOTo1NiBDRVNUIDE5OTkgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiBIVE1McGFyc2VyLmMsIEhUTUx0cmVlLmMsIHRyZWUuaDogY29tcGxldGVseSByZXZhbXBlZCB0aGUKKwkgICAgIEhUTUxwYXJzZXIgYW5kIGRlYnVnZ2VkIHRoZSBIVE1MIHJlbGF0ZWQgY29kZS4gSFRNTCBkb2N1bWVudHMKKwkgICAgIG5vdyBoYXZlIHRoZWlyIG93biB0eXBlCisJKiBlbnRpdGllcy5jOiBkbyBub3QgZHVtcCAmYXBvczsgZm9yIEhUTUwgb3V0cHV0CisJKiB4bWxtZW1vcnkuYzogaW1wcm92ZW1lbnQsIGJyZWFrcG9pbnQgbWVjaGFuaXNtCisJKiB0ZXN0SFRNTC5jOiBhZGRlZCAtLXNheCAtLXJlcGVhdCAuLi4KKwkqIE1ha2VmaWxlLmFtOiBpbXByb3ZlZCB0aGUgSFRNTCB0ZXN0cworCSogdmFsaWQuW2NoXTogYWRkZWQgeG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzIGFuZAorCSAgICAgICAgICAgICAgeG1sVmFsaWRHZXRQb3RlbnRpYWxDaGlsZHJlbgorCSogdGVzdGVyLmM6IGFkZGVkIC0taW5zZXJ0IHRvIHRlc3QgdGhlIDIgbmV3IGZ1bmN0aW9ucworCSogdGVzdC8vKiByZXN1bHQvLyogU0FYcmVzdWx0Ly8qIDogcmVncmVzc2lvbiB0ZXN0IGNsZWFudXAKKwkgICAgICAgICAgICAgICBhbmQgZXh0ZW5zaW9uLgorCSogZG9jL2h0bWwgOiBhZGRlZCBkb2MgZm9yIG5ldyBtb2R1bGVzIGdub21lLXhtbC14bWxtZW1vcnkuaHRtbCBhbmQKKwkgICAgICAgICAgICAgZ25vbWUteG1sLW5hbm9odHRwLmh0bWwKKworTW9uIE9jdCAxMSAxNDozMTo1OCBDRVNUIDE5OTkgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiBIVE1McGFyc2VyLmM6IGZpeGVkIHByb2JsZW1zIHdpdGggc29tZSBhdXRvY2xvc2UgdGFncworCSogdHJlZS5jOiBmaXhlZCBYTUwgb3V0cHV0IHByb2JsZW1zLiAKKwkqIHJlc3VsdC8qIFNBWHJlc3VsdC8qOiB1cGRhdGUgb2YgdGhlIHRlc3RzIG91dHB1dAorCitTYXQgT2N0ICA5IDExOjAyOjU3IENFU1QgMTk5OSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIE1ha2VmaWxlLmFtOiBBcnR1cm8gcGF0Y2ggZm9yIHhtbENvbmYuc2ggdmVyc2lvbiBpbmZvCisJKiBwYXJzZXIuYzogVGltIEpvc2xpbmcgcGF0Y2ggZm9yIHNpbmdsZSBxdW90ZWQgaXRlbXMKKwkqIHRlc3Rlci5jOiBUaW0gSm9zbGluZyBwYXRjaCBmb3IgdGVzdGVyIG9wdGlvbnMgdXNhZ2UKKwkqIHRyZWUuaDogaW5kZW50IGNsZWFudXAKKworRnJpIE9jdCAgOCAxNjozNTozNyBDRVNUIDE5OTkgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiBIVE1McGFyc2VyLmMgcGFyc2VyLmggOiBGaXhlZCBwcm9ibGVtcyB3aXRoIEhUTUwgcGFyc2luZworCSAgICByZXBvcnRlZCBieSBLcmlzdGlhbiBIb2dzYmVyZyBLcmlzdGVuc2VuIDxob2dzYmVyZ0BkYWltaS5hdS5kaz4KKworRnJpIE9jdCAgOCAxMTozNzoxMSBDRVNUIDE5OTkgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiB0cmVlLmMgOiBSYXBoIHBhdGNoIGZvciBpbml0aWFsaXphdGlvbiBvZiBDT1JCQSBmaWVsZHMKKwkqIHBhcnNlci5jLCB4cGF0aC5jLCAuLi46IG1vZGlmaWNhdGlvbiBvZiBkb2MgY29tbWVudHMKKwkqIHhwYXRoLmMgOiBhbGxvdyBzcGFjZXMgaW4geHBhdGggZXhwcmVzc2lvbnMKKworTW9uIFNlcCAyNyAxMDoxNjo0MyBDRVNUIDE5OTkgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiB4bWxtZW1vcnkuaDogdHVybmluZyBvZmYgbWVtb3J5IGRlYnVnIDotKAorCitTdW4gU2VwIDI2IDEzOjE2OjU0IENFU1QgMTk5OSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIHBhcnNlci5bY2hdIDogYWRkZWQgeG1sU0FYVXNlclBhcnNlRmlsZSgpIGFuZCB4bWxTQVhVc2VyUGFyc2VNZW1vcnkoKQorCSAgICAgICAgICAgICAgICBiZXR0ZXIgU0FYIGludGVyZmFjZXMuCisJKiB0ZXN0U0FYLmM6IHVzZXMgdGhlIG5ldyBTQVggcm91dGluZSwgYXZvaWQgZmV0Y2hpbmcgYW55IHJlbW90ZQorCSAgICAgICAgICAgICBlbnRpdHkuCisJKiBjb25maWd1cmUuaW46IDEuNy4yCisKK0ZyaSBTZXAgMjQgMTY6MDE6MDEgQ0VTVCAxOTk5IERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogbGlieG1sLnNwZWMuaW46IGZpeGVkIHRoZSBVUkwKKwkqIGRvYy94bWwuaHRtbDogaW1wcm92ZWQgdGhlIGRvY3VtZW50YXRpb24gZnJvbnQtZW5kCisKK0ZyaSBTZXAgMjQgMDE6MDY6MzYgQ0VTVCAxOTk5IERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogbmFub2h0dHAuYzogY29uZGl0aW9ubmVkIHJlZmVyZW5jZXMgdG8gc25wcmludGYgd2l0aCBIQVZFX1NOUFJJTlRGCisKK0ZyaSBTZXAgMjQgMDA6MTU6NTggQ0VTVCAxOTk5IERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogbGlieG1sLnNwZWMuaW46IGZpeGVkIHRoZSBhbHBoYSBjb21waWxlIHByb2JsZW0KKwkqIHBhcnNlci5bY2hdOiBjaGFuZ2VkIGVycm5vIHRvIGVyck5vIGluIHRoZSBwYXJzZXIgY29udGV4dCA6LSgKKwkqICouW2NoXTogY2hhbmdlZCBDSEFSIHRvIHhtbENoYXIgdG8gYXZvaWQgcHJvYmxlbSBvbiBXSU4zMgorCSogZG9jL3htbC5odG1sOiBjaGFuZ2VkIENIQVIgdG8geG1sQ2hhcgorCSogZG9jL2h0bWwvKjogcmVjb21waWxlZCB0aGUgZG9jdW1lbnRhdGlvbgorCSogY29uZmlndXJlLmluOiAxLjcuMQorCitXZWQgU2VwIDIyIDExOjQwOjMxIENFU1QgMTk5OSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIHBhcnNlci5oOiBtb2RpZmllZCB0aGUgcGFyc2VyIGNvbnRleHQgc3RydWN0IHRvIHJlZ2FpbiAxLjQuMAorCSAgICAgICAgICAgIGJpbmFyeSBjb21wYXRpYmlsaXR5CisJKiBwYXJzZXIuYywgeG1sLWVycm9yLmg6IGFkZGVkIGVycm5vIG90IHRlaCBjb250ZXh0IGFuZCBkZWZpbmVkCisJICAgICAgICAgICAgYSBzZXQgb2YgZXJyb3JzIHZhbHVlcyB3aXRoIHVwZGF0ZSBvZiBlcnJubworCSogbmFub2h0dHAuW2NoXTogbWluaW1hbGlzdCBIVFRQIGZyb250LWVuZCBmb3IgZmV0Y2hpbmcgcmVtb3RlCisJICAgICAgICAgICAgRFREcyBhbmQgZW50aXRpZXMKKwkqICouaCwgKi5jOiBjb21wbGV0ZSBjbGVhbnVwIG9mIHRoZSB1c2Ugb2YgY29uZmlnLmggYW5kIGluY2x1ZGUKKwkgICAgICAgICAgICBwcm90ZWN0aW9uIGRlcGVuZGluZyBvbiB0aGUgY3VycmVudCBzZXR1cC4KKwkqIG92ZXJhbGxsIGRlYnVnZ2luZywgbWFpbnRlbmFuY2UgYW5kIGJ1Zy1maXhpbmcgb24gYWxsIG1vZHVsZXMKKwkqIHVwZGF0ZWQgdGhlIGRvY3VtZW50YXRpb24KKwkqIHJlYWR5IGZvciAxLjcuMAorCitXZWQgU2VwICA4IDIyOjQ2OjE0IENFU1QgMTk5OSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIEhUTUxwYXJzZXIuYyA6IGNsZWFudXAKKwkqIFNBWC5jIHZhbGlkLmMgdmFsaWQuaDogYWRkZWQgSUQvSURSRUYgY2hlY2tpbmcKKwkqIHRyZWUuYyB0cmVlLmg6IGV4dGVuZGVkIGRvYyBzdHJ1Y3R1cmUgZm9yIHJlZnMKKwkqIGNvbmZpZ3VyZS5pbjogMS42LjIKKwkqIHBhcnNlci5jOiBwYXRjaGVkIGJ1ZyBpbiBTQVggdXNlciBhcmcgY2FsbAorCSogcGFyc2VySW50ZXJuYWxzLmg6IHBhdGNoZWQgbWlzc2luZyBjbG9zZSBpbiBDKysgd3JhcHBpbmcKKwkqIHRlc3RYUGF0aC5jIHhwYXRoLmMgeHBhdGguaDogcHJlcGFyZWQgZm9yIGV4dGVuc2liaWxpdHksCisJICBlc3BlY2lhbGx5IHVwY29taW5nIFhQb2ludGVyIGltcGxlbWVudGF0aW9uLgorCSogZG9jL3htbC5odG1sOiBhdWdtZW50ZWQsIHR5cG8KKworU2F0IFNlcCAgNCAyMjo0ODowNSBDRVNUIDE5OTkgVGltdXIgQmFrZXlldiA8bWNAYmF0LnJ1PgorCisJKiBkb2MvTWFrZWZpbGUuYW06IHJlcGxhY2VkICJpbnN0YWxsIC1kICIgd2l0aCAibWtpbnN0YWxsZGlycyIgLQorCW5vdCBhbGwgaW52b2NhdGlvbnMgb2YgaW5zdGFsbCB1bmRlcnN0YW5kIC1kLgorCitTYXQgU2VwICA0IDIyOjIwOjA3IENFU1QgMTk5OSBUaW11ciBCYWtleWV2IDxtY0BiYXQucnU+CisKKwkqIE1ha2VmaWxlLmFtOiBwcmVwZW5kIGFsbCB0aGUgdGVzdCogY2FsbHMgd2l0aCAkKHRvcF9idWlsZGRpcikgLQorCXRvIG1ha2UgJ2NoZWNrJyB3b3Jrcywgd2hlbiBidWlsZGRpciAhPSBzcmNkaXIuCisKK1NhdCBTZXAgIDQgMjA6MjU6NDYgQ0VTVCAxOTk5IERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogZG9jL3htbC5odG1sIDogdXBkYXRlZCB0aGUgZG9jdW1lbnRhdGlvbgorCitGcmkgU2VwICAzIDAwOjAxOjA4IENFU1QgMTk5OSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIHhtbG1lbW9yeS5bY2hdIE1ha2VmaWxlLmFtICA6YWRkZWQgYSBtZW1vcnkgd3JhcHBlciB0byBjaGFzZQorCSAgICAgIG5vdCBkZWFsbG9jYXRlZCBtZW1vcnkgYmxvY2tzCisJKiAqLmMgOiByZXBsYWNlcyBhbGwgY2FsbHMgdG8gbWFsbG9jKCkgZnJlZSgpIGFuZCByZWFsbG9jKCkgdG8KKwkgICAgICB0aGUgd3JhcHBlciBmdW5jdGlvbnMvbWFjcm9zCisJKiB0cmVlLmMgOiByZW1vdmVkIG1lbW9yeSBsZWFrcyBkdWVzIHRvIGNhbGxpbmcgeG1sRnJlZU5vZGUoKQorCSAgICAgIGluc3RlYWQgb2YgeG1sRnJlZU5vZGVMaXN0KCkKKworV2VkIFNlcCAgMSAxNDoxNTowOSBDRVNUIDE5OTkgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiBIVE1McGFyc2VyLmM6IGNvcnJlY3RlZCBhIHN0dXBpZCBidWcgbGVhZGluZyB0byBjb3JlIGR1bXAgYXQKKwkgICAgICAgICAgICAgICAgdHJlZSBkZWFsbG9jYXRpb24uIFJlbW92ZWQgd2FybmluZ3MgaW5kaWNhdGVkIGJ5CisJCQlTdGVwaGFuZS5Db252ZXJzeUBscmkuZnIKKwkqIGVudGl0aWVzLmM6IEZpeGVzIFlldCBBbm90aGVyIFN0dXBpZCBCdWcsIGVudGl0aWVzIHdlcmUgbm90CisJICAgICAgICAgICAgICBsb29rZWQgZm9yIGluIHRoZSBleHRlcm5hbCBzdWJzZXQKKworTW9uIEF1ZyAzMCAxMzoyMjoyNiBDRVNUIDE5OTkgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiBwYXJzZXIuYyB2YWxpZC5bY2hdIHhwYXRoLmM6IHBhdGNoZWQgY29tcGlsYXRpb24gd2FybmluZ3MgcmVwb3J0ZWQKKwkgIG9uIFNHSSBieSBTdGVwaGFuZS5Db252ZXJzeUBscmkuZnIKKworU3VuIEF1ZyAyOSAyMjoyNzoyOSBDRVNUIDE5OTkgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiBhbGwgLmggOiBjaGFuZ2VkIHRoZSBwcm90b3R5cGUgZGVjbGFyYXRpb24gaW5kZW50IGFzIGluIGd0aworCSogbW9zdCAuYyA6IHdvcmtpbmcgb24gcmVkdWNpbmcgdGhlIFRPRE9zIGluIHRoZSBjb2RlCisJKiBtb3N0IC5jIDogY2xlYW51cCB0aG91Z2ggLXBlZGFudGljIGFuZCBJbnN1cmUrKworCSogaW1wcm92ZW1lbnRzIG9uIHZhbGlkYXRpb24gSUQgY2hlY2tpbmdzLgorCSogdHJlZS5bY2hdIFNBWC5jOiBhZGRlZCBzdXBwb3J0IGZvciBuYW1lc3BhY2Ugb24gYXR0cmlidXRlcyAjMjAyMgorCSogeG1sLWNvbmZpZy5pbjogY2xvc2VkICMxODEwCisKK01vbiBBdWcgMTYgMDM6Mjc6MzggQ0VTVCAxOTk5IERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogdHJlZS5oLCB2YWxpZC5jLCB2YWxpZC5oOiBtb3JlIHdvcmsgb24gdmFsaWRpdHksIElEcworCSogeHBhdGguYzogYWRkZWQvZml4ZWQgY29tcGFyaWRvbiBhbmQgZXF1bGl0eSwgYWRkZWQgYSBuZXcgaXNpbmYKKwkgIGRlZmluaXRpb24gZm9yIEFJWAorCitTdW4gQXVnIDE1IDIxOjE1OjE3IENFU1QgMTk5OSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIE1ha2VmaWxlLmFtIGxpYnhtbC5zcGVjLmluOiBjb3JyZWN0ZWQgbWlzc2luZyB4bWxDb25mLnNoIGluCisJICB0aGUgZGlzdHJpYnV0aW9uIGR1ZSB0byBhIGN1dCduIHBhc3RlIGVycm9yIGF0IGxhc3QgY29tbWl0CisKK1R1ZSBBdWcgMTAgMjA6Mjg6MDkgQ0VTVCAxOTk5IERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogY29uZmlndXJlLmluOiB1cGdyYWRlZCB0byB2ZXJzaW9uIDEuNC4wCisJKiB2YWxpZC5bY2hdLCBTQVguYywgcGFyc2VyLltjaF0gcGFyc2VySW50ZXJuYWxzLmggLi4uCisJICBCaWcgdXBkYXRlLCBhZGRlZCBhIGxhcmdlIHBhcnQgb2YgdGhlIHZhbGlkYXRpb24gcHJvY2VzcywKKwkgIGl0IHNob3VsZCBiZSB1c2FibGUsIGJ1dCBzb21lIHBhcnRzIGFyZSBtaXNzaW5nCisJKiB4cGF0aC5jOiBpbXByb3ZlZCB0aGUgaW1wbGVtZW50YXRpb24gdy5yLnQuIHJvb3QuCisJKiBNYWtlZmlsZS5hbTogYWRkZWQgbW9yZSB0ZXN0cworCSogdGVzdCBhbmQgcmVzdWx0IHRyZWVzOiBhZGRlZCBhIGxvdCBvZiB0ZXN0cworCSogbGlieG1sLnNwZWMuaW46IGV4cG9ydCBsaWJ4bWwuc28uMCBhbmQgbGlieG1sLnNvLjEKKworVHVlIEF1ZyAxMCAxMTozMzo0MSBDRVNUIDE5OTkgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiBBZGRlZCBhbiBIQUNLSU5HIGZpbGUKKworVHVlIEp1bCAyNyAyMTo0MzowMCBDRVNUIDE5OTkgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiB4cGF0aC5bY2hdIDogaW1wcm92ZW1lbnRzIGFuZCBkZWJ1ZyBvZiB0aGUgWFBhdGggaW1wbGVtZW50YXRpb24KKwkqIHBhcnNlci5jLCBIVE1McGFyc2VyLmMgOiBtb2RpZmllZCB0aGUgcGFyc2VycyB0byBiZSBwcm9ncmVzc2l2ZQorCSogdHJlZS5bY2hdIDogZXh0ZW5kZWQgdGhlIEJ1ZmZlciBwcm9taXRpdmVzCisJKiB4bWxJTy5bY2hdIDogYWRkZWQgYmFzaWMgSS9PIHJvdXRpbmVzIHByb3ZpZGluZyBwcm9ncmVzc2l2ZQorCSAgcGFyc2luZyBhbmQgcmVhZHkgZm9yIEkxOE4gY29udmVyc2lvbiBwbHVnaW5zCisJKiBTQVhyZXN1bHQvKiA6IHRoZSBTQVggY2FsbGJhY2sgc2VxdWVuY2UgbWF5YmUgc2xpZ2h0bHkgZGlmZmVyZW50CisJICBub3cKKwkqIHRlc3QqLmMgOiBpbXByb3ZlZC91cGRhdGVkIHRoZSB0ZXN0cyBwcm9ncmFtcworCSogZG9jLyogOiByZWNvbXBpbGVkIHRoZSBkb2NzLgorCisxOTk5LTA3LTI2ICBNaWNoYWVsIE1lZWtzICA8bWljaGFlbEBlZGVucHJvamVjdC5vcmc+CisKKwkqIHRyZWUuaDogQWRkIGNvbnN0IHRvICdjb250ZW50JyBpbiB4bWxOZXdEb2NOb2RlLCB4bWxOZXdDaGlsZAorCisJKiB0cmVlLmM6IERpdHRvLgorCitUaHUgSnVsIDE1IDE2OjE3OjE2IENFU1QgMTk5OSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIGNvbmZpZ3VyZS5pbjogdXBncmFkZWQgdG8gdmVyc2lvbiAxLjQuMAorCSogeHBhdGguYywgeHBhdGguaCwgdGVzdFhQYXRoLmMsIG1ha2VmaWxlLmFtOiBhZGRlZCBjb2RlIGZvciB0aGUgWFBhdGgKKwkgIGRyYWZ0IGZyb20gVzNDLiBXaWxsIGJlIHVzZWQgYnkgWFBvaW50ZXIsIFhsaW5rLCBYU0wsIGFuZCBwb3NzaWJseQorCSAgWE1MIHF1ZXJ5IGxhbmd1YWdlLCBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIveHBhdGggZm9yIG1vcmUgZGV0YWlscy4KKwkqIHBhcnNlci5jLCBwYXJzZXIuaDogYWRkZWQgQ0hBUiogcmVsYXRlZCBzdHJpbmcgZnVuY3Rpb25zIGZvciBYUGF0aAorCSogSFRNTHBhcnNlci5bY2hdLCBIVE1MdHJlZS5jOiBhIGJpdCBvZiBjbGVhbnVwIG9uIGVudGl0aWVzLgorCSogZG9jL2dub21lLXhtbC5zZ21sLCBkb2MvaHRtbC8qIDogYWRkZWQgWFBhdGggYW5kIEhUTUwgZG9jdW1lbnRhdGlvbiwKKwkgIHJlYnVpbGQgdGhlIGRvY3MuCisJKiBNYWtlZmlsZS5hbSwgdGVzdC9YUGF0aC8qLCByZXN1bHQvWFBhdGgvKjogYWRkZWQgYW4gWFBhdGh0ZXN0cyB0YXJnZXQKKwkgIGFuZCByZWdyZXNzaW9uIHRlc3RpbmcgY2FwYWJpbGl0aWVzIGZvciBYUGF0aC4KKworTW9uIEp1bCAxMiAxMjozNjozOSBDRVNUIDE5OTkgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiBwYXJzZXIuYywgSFRNTHBhcnNlci5jOiBhcHBsaWVkIHBhdGNoIGZyb20gSm9obiBFbGxzb24gPGVsbHNvbkBsdWNlbnQuY29tPgorCSAgY2xvc2luZyBidWcgIzE2NDYKKworTW9uIEp1bCAxMiAxMTowNDo0NCBDRVNUIDE5OTkgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiBNYWtlZmlsZS5hbSwgZXhhbXBsZS9NYWtlZmlsZS5hbTogY2xvc2VkIGJ1ZyAjMTY4MworCitTdW4gSnVsIDExIDE4OjE2OjM0IENFU1QgMTk5OSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIGV4YW1wbGUvTWFrZWZpbGUuYW0sIGNvbmZpZ3VyZS5pbjogYWRkZWQgdGhlIG1ha2VmaWxlIGZvciB0aGUKKwkgIGdqb2JyZWFkIGV4YW1wbGUKKworU2F0IEp1bCAxMCAxNDoxOToxMSBDRVNUIDE5OTkgVG9tYXN6IEvFgm9jemtvICA8a2xvY3pla0BwbGQub3JnLnBsPgorCisJKiBkb2MvTWFrZWZpbGUuYW06CisJLSBmaXggd2hpY2ggYWxsb3cgIm1ha2UgaW5zdGFsbCBERVNURElSPTwvaW5zdGFsbC9wcmVmaXg+Ii4KKworRnJpIEp1bCAgOSAxMjoxMDoyNCBDRVNUIDE5OTkgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiBIVE1McGFyc2VyLmMgcGFyc2VyLmM6IGFwcGxpZWQgcGF0Y2ggZnJvbSBKb2huIEVsbHNvbiA8ZWxsc29uQGx1Y2VudC5jb20+CisJICB3aGljaCBmaXhlZCBhIHByb2JsZW0gb24gdGhlIGZpbGUgcmVhZGluZy1jb2RlLgorCitXZWQgSnVsICA3IDA5OjI4OjQzIENFU1QgMTk5OSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIEhUTUxwYXJzZXIuW2NoXSwgSFRNTHRyZWUuW2NoXTogbW9yZSB3b3JrIGZvciBIVE1MIHBhcnNpbmcgYW5kCisJICBvdXRwdXQuCisJKiBNYWtlZmlsZS5hbSwgdGVzdC9IVE1MLyosIHJlc3VsdC9IVE1MLyo6IGFkZGVkIEhUTUx0ZXN0cyB0YXJnZXRlc3RIVE1MdAorCitXZWQgSnVsICA3IDAwOjI1OjQyIENFU1QgMTk5OSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIHBhcnNlci5oIDogT29wcyByZW1vdmVkIHRoZSBiaW5hcnkgY29tcGF0aWJpbGl0eSBwcm9ibGVtCisJKiBIVE1McGFyc2VyLltjaF0sIEhUTUx0cmVlLmggOiBNb3JlIHdvcmsgb24gdGhlIEhUTUwgcGFyc2UvZHVtcAorCSogcGFyc2VyLmMsIEhUTUxwYXJzZXIuYzogYXBwbGllZCBwYXRjaGVzIGZvciByZWFkaW5nIGZyb20gc3RkaW4KKworTW9uIEp1bCAgNSAxODo0NTozMSBDRVNUIDE5OTkgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiBwYXJzZXIuYywgZW50aXRpZXMuYywgdmFsaWQuYzogY2xlYW51cCBidWcgIzE1OTEKKwkqIGNvbmZpZ3VyZS5pbjogY2xlYW51cCBidWcgIzE1OTIKKwkqIEhUTUxwYXJzZXIuW2NoXSwgdGVzdEhUTUwuYzogc3RhcnRlZCBhZGRpbmcgYW4gSFRNTCBwYXJzZXIgdXNpbmcKKwkgIHRoZSBzYW1lIHRyZWUgYmFjay1lbmQuIEhlbmNlIGdkb21lIHdpbGwgYmUgYXZhaWxhYmxlIGZvciBpdC4KKwkqIGRvYy9NYWtlZmlsZS5hbTogY2xvc2UgYnVnICM2MTcKKworU2F0IEp1biAyNiAyMzozNjozOCBFRFQgMTk5OSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIHBhcnNlci5jOiBhbGxvY3RhdGUgYSBwZXIgcGFyc2VyIGNvbnRleHQgU0FYIGludGVyZmFjZSBibG9jaworCitUdWUgSnVuIDIyIDIzOjQ2OjMyIENFU1QgMTk5OSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIHJlbGVhc2VkIDEuMy4wIHdpdGggeG1sRW5jb2RlRW50aXRpZXMgcmVzdG9yaW5nIG9sZCBiZWhhdmlvdXIKKwkgIGFuZCB4bWxFbmNvZGVFbnRpdGllc1JlZW50cmFudCB3aXRoIHRoZSBjb3JyZWN0IG9uZSA6LVwKKworTW9uIEp1biAyMSAxNDowNzo1MyBDRVNUIDE5OTkgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiBjb21taXQgb2YgbXkgaW50ZXJuYWwgWE1MIGJhc2UgY2hhbmdlcywgcXVpdGUgYSBsb3Qgb2YKKwkgIGNoYW5nZXMsIGNsZWFudXBzLCBiZXR0ZXIgZW50aXRpZXMgc3VwcG9ydCwgZnJhbWV3b3JrIGZvcgorCSAgbmV3IEkvTyBhbmQgY2hhcnNldCBkZXRlY3Rpb24gYW5kIGhhbmRsaW5nCisJKiBGaXhlZCB0aGUgY29uZmlndXJlL01ha2VmaWxlIHN0dWZmIHRvIGdlbmVyYXRlIHNoYXJlZCBsaWJzCisJICB3aXRoIHRoZSBwcm9wZXIgdmVyc2lvbiBpbmZvLCBzbyB3ZSBqdW1wZWQgb24gcmV2IGZyb20KKwkgIDAuMC4wIHRvIDEuMi4wICEgVGhlIGJpbmFyeSBpbnRlcmZhY2VzIGhhdmUgYmVlbiBicm9rZW4sCisJICB4bWxFbmNvZGVFbnRpdGllcygpIHJlc3VsdCBuZWVkIHRvIGJlIGZyZWVkIG5vdywgYW5kIGEgc3RyaW5nCisJICB4bWxQYXJzZXJWZXJzaW9uIHByb3ZpZGUgdGhlIGN1cnJlbnQgbGlicmFyeSB2ZXJzaW9uLgorCitUdWUgSnVuIDE1IDE0OjI0OjE5IDE5OTkgIFJhcGggTGV2aWVuICA8cmFwaEBhY20ub3JnPgorCisJKiBwYXJzZXIuYzogZml4ZWQgYSBidWZmZXIgb3ZlcnJ1biBmb3Igd2hlbiB5b3UgaGF2ZSBhIHZlcnkgbG9uZworCWF0dHJpYnV0ZSB3aXRoIG5vIGVudGl0aWVzIGluIGl0LgorCitNb24gSnVuIDE0IDAwOjE3OjUwIENFU1QgMTk5OSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIGFkZGVkIGV4YW1wbGUgZGlyZWN0b3J5CisJKiBhZGRlZCBleGFtcGxlL2dqb2JzLnhtbCBnam9icmVhZC5jLCBzdGlsbCBuZWVkIGEgTWFrZWZpbGUuaW4KKworV2VkIEp1biAgMiAxOTo0MDo1OCBDRVNUIDE5OTkgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiBSZWxlYXNlIG9mIGxpYnhtbC0xLjEsIG5lYXJseSBldmVyeXRoaW5nIGhhcyBiZWVuIHRvdWNoZWQgZm9yCisJICB0aGlzLgorCSogQWRkZWQgbW9yZSByZWdyZXNzaW9uIHRlc3RzCisJKiBVcGRhdGVkIHRoZSBkb2N1bWVudGF0aW9uCisKK1NhdCBNYXkgMjkgMTM6MzQ6NDIgQ0VTVCAxOTk5IERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogdHJlZS5bY2hdOiB1bmlmaWVkIHRoZSBYTUxfTk9fQ09SQkEgZGVmaW5lcy4KKwkqIHBhcnNlci5jIGVuY29kaW5nLltjaF06IHN0YXJ0ZWQgcGx1Z2dpbmcgaW4gY2hhciBlbmNvZGluZyBkZXRlY3Rpb24KKworRnJpIE1heSAyOCAyMjo1ODo0MiBFRFQgMTk5OSBNYW5pc2ggVmFjaGhhcmFqYW5pIDxtdmFjaGhhckB2Z2VyLnJ1dGdlcnMuZWR1PgorCisJKiB0cmVlLmM6ICh4bWxTYXZlRmlsZSkgLSByZW1vdmVkIGRvdWJsZSBjYWxsIG9mIHhtbENvbnRlbnREdW1wLiAgCisJICBBbHNvIGZyZWVkIGFsbG9jYXRlZCBidWZmZXIuCisKK1dlZCBBcHIgMjEgMjI6MDc6MzUgQ0VTVCAxOTk5IERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKwkqIHBhcnNlci5bY2hdIHRyZWUuW2NoXSBlbnRpdGllcy5bY2hdIHZhbGlkLltjaF0gOiByZW1vdmVkIHRoZSBtYWluCisJICByZWVudHJhbmN5IHByb2JsZW0gYXQgcHJpbnRpbmcuIE9uZSBpcyBsZWZ0IGluIGVudGl0aWVzLmMsIHRvCisJICByZW1vdmUgQVNBUAorCSogdGVzdFNBWC5jIDogYWRkZWQgYSB0ZXN0IGV4YW1wbGUgc2hvd2luZyB0aGUgdXNlIG9mIHRoZSBTQVggCisJICBpbnRlcmZhY2UgaWYgb25lIGRvZXNuJ3Qgd2FudCB0byBidWlsZCB0aGUgRE9NIHRyZWUuCisJKiBodG1sL2dub21lLXhtbC0qLmh0bWwgaHRtbC9pbmRleC5zZ21sOiByZWdlbmVyYXRlZCB0aGUgZG9jdW1lbnRhdGlvbgorCitNb24gQXByICA1IDE0OjE0OjQwIENFU1QgMTk5OSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIHBhcnNlci5bY2hdIHRyZWUuW2NoXSBTQVguYywgcGFyc2VySW50ZXJuYWxzLmggdmFsaWQuW2NoXToKKwkgIGxhcmdlIHJldmFtcGluZyBvZiB0aGUgcGFyc2VyIHRvIHVzZSBTQVggY2FsbGJhY2tzCisJICBodHRwOi8vd3d3Lm1lZ2dpbnNvbi5jb20vU0FYLyAob3IgYXQgbGVhc3QgYSBDIGxpa2UgaW50ZXJmYWNlCisJICBhIGxhIEV4cGF0KS4gSXQncyBub3cgcG9zc2libGUgdG8gc2V0IHVwIHlvdXIgb3duIGNhbGxiYWNrcworCSAgYW5kIHRoZSBwYXJzZXIgd2lsbCBub3QgYnVpbGQgYSBET00gdHJlZS4KKwkqIHRlc3QvKiByZXN1bHQvKjogdXBkYXRlZCB0aGUgdGVzdCBzdWl0ZSwgSSBmaW5hbGx5IHJlbW92ZWQKKwkgIHRoZSBvbGQgTmFtZXNwYWNlIGRyYWZ0IHN1cHBvcnQgKFBJIGJhc2VkKS4KKworRnJpIEFwciAgMiAxNzo1NzozMiBDRVNUIDE5OTkgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiBNYWtlZmlsZS5hbTogYWRkZWQgdGVzdCByZXN1bHQgdG8gRVhUUkFfRElTVCBmb3IgbWFrZSB0ZXN0cworCitXZWQgTWFyIDI0IDIxOjM3OjAyIENFVCAxOTk5IERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogcGFyc2VyLmMsIHBhcnNlckludGVybmFscy5oOiBtb3ZlZCB0aGUgY2hhcnMgbWFjcm8gZGVmaW5pdGlvbnMKKwkgIHRvIHBhcnNlckludGVybmFscy5oCisJKiBwYXJzZXIuYywgZXJyb3IuYzogYXBwbGllZCBwYXRjaGVzIGZyb20gIktudXQgw4VrZXNzb24iCisJICA8a2FAczIuY2hhbG1lcnMuc2U+IGZvciBjbGVhbiBjb21waWxhdGlvbiB1bmRlciBNU1ZDIDYgOi1vCisKK1R1ZSBNYXIgMjMgMTE6MTA6MTUgQ0VUIDE5OTkgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiB4bWwtY29uZmlnLmluIDogYXBwbGllZCBwYXRjaCB0byBtYWtlIC0tdmVyc2lvbiB3b3JrCisKKzE5OTktMDMtMDUgIFJhamEgUiBIYXJpbmF0aCAgPGhhcmluYXRoQGNzLnVtbi5lZHU+CisKKwkqIE1ha2VmaWxlLmFtIChjaGVjay1sb2NhbCk6IEFsaWFzIGZvciBgdGVzdHMnIHRhcmdldC4gIFRoaXMgd2lsbAorCWNhdXNlIGBtYWtlIGNoZWNrJyB0byBkbyB0aGUgcmlnaHQgdGhpbmcuCisJKHRlc3RzKTogRG9uJ3QgcnVuIHRlc3RzIGluIHNyY2Rpci4gIEFsc28sIHJlcGxhY2VkIGNhbGxzIHRvCisJYmFzZW5hbWUgd2l0aCBhIGBzZWQnICJlcXVpdmFsZW50Ii4KKworRnJpIE1hciAgNSAwNzoyMzo1MyBDRVQgMTk5OSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIFJlbmFtZWQgZXJyb3IuaCB0byB4bWwtZXJyb3IuaCwgY29ycmVjdGVkIE1ha2VmaWxlLmFtIHRvIGxpc3QKKwkgIGl0IGluIHRoZSBoZWFkZXIgYW5kIG5vdCB0aGUgc291cmNlcywgdXBkYXRlZCB0aGUgZG9jLgorCSAgVGhhbmtzIHRvIFRpbSBNb29uZXkgPG1vb25leUBkb2diZXJ0LmNjLm5kc3Uubm9kYWsuZWR1PiBmb3IKKwkgIHBvaW50aW5nIHRoaXMgb3V0LgorCitNb24gTWFyICAxIDEzOjI3OjE3IENFVCAxOTk5IERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogcGFyc2VyLmMsIHBhcnNlci5oLCBwYXJzZXJJbnRlcm5hbHMuaDogbWVtb3J5IGxlYWsgaHVudGluZywKKwkgIGV4cG9ydGVkIHRoZSBpbnB1dFN0cmVhbSByb3V0aW5lcy4KKwkqIGRvYy9odG1sLyogOiB1cGRhdGVkIGFjY29yZGluZ2x5CisKK1N1biBGZWIgMjggMjI6NTE6MzMgQ0VUIDE5OTkgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiBwYXJzZXIuYywgcGFyc2VyLmgsIHBhcnNlckludGVybmFscy5oOiBhZGRlZCBhIGZldyBleHRyYQorCSAgaW50ZXJuYWwgY2FsbHMgdG8gYWxsb2NhdGUgYW5kIGZyZWUgcGFyc2VyIGNvbnRleHRzIC4uLgorCSogZG9jL2h0bWwvKiA6IHVwZGF0ZWQgYWNjb3JkaW5nbHkKKworVGh1IEZlYiAyNSAxMTo1MjoyNCBDRVQgMTk5OSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIGNvbmZpZ3VyZS5pbiwgTWFrZWZpbGUuYW0sIGRvYy9tYWtlZmlsZS5hbSA6IEdlbmVyYWwgY2hhbmdlcyBmb3IKKwkgIDEuMC4wIHJlbGVhc2UgYW5kIGluY2x1ZGluZyB0aGUgZ2VuZXJhdGVkIEhUTUwgZG9jdW1lbnRhdGlvbi4KKworVGh1IEZlYiAyNSAwOTo0NDo1MiBDRVQgMTk5OSBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIG1ha2VmaWxlLmFtIDogYWRkZWQgcGFyc2VySW50ZXJuYWxzLmgsIG9vcHMuCisKK01vbiBGZWIgMjIgMTE6MjQ6NTYgQ0VUIDE5OTkgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiBwYXJzZXJJbnRlcm5hbHMuaDogYWRkZWQgdGhpcyBoZWFkZXIgZ2l2aW5nIGFjY2VzcyB0byB0aGUgcGFyc2VyCisJICBpbnRlcm5hbCBmdW5jdGlvbnMuCisJKiBkb2MvTWFrZWZpbGUuYW0gOiBhZGRlZCBhIHJlYnVpbGQgdGFyZ2V0IHdoaWNoIHJlYnVpbGRzIHRoZSBmdWxsCisJICBzZXQgb2YgZG9jdW1lbnRhdGlvbnMKKwkqIHBhcnNlci5bY2hdIHRyZWUuW2NoXSB2YWxpZC5bY2hdOiBzZXJpb3VzIHVwZGF0ZXMgdy5yLnQuIHBhcnNpbmcKKwkgIHRoZSBpbnRlcm5hbCBzdWJzZXQuIAorCSogKi5jICouaDogbW9kaWZpY2F0aW9ucyBuZWVkZWQgdG8gZ2VuZXJhdGUgdGhlIGRvY3VtZW50YXRpb24gdXNpbmcKKwkgIGd0ay1kb2MsIGNsZWFudXAgb2YgZnVuY3Rpb25zIGJsb2NrcywgcmVvcmdhbmlzYXRpb24gb2Ygc3RydWN0CisJICBkZWNsYXJhdGlvbnMuCisKK1R1ZSBGZWIgMTYgMTc6Mjc6MjkgQ0VUIDE5OTkgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiBNYWtlZmlsZS5hbSwgc3BlYywgZG9jL01ha2VmaWxlLmFtIDogdXBncmFkaW5nIHRvIDAuOTkuOCwgZml4aW5nCisJICB0aGUgdGFyIGFuZCBzcGVjIGZpbGUgdG8gaW5jbHVkZSB0aGUgYmVnaW5uaW5nIG9mIHRoZSBkb2MuCisKKzE5OTktMDItMTMgIE51bm8gRmVycmVpcmEgIDxubXJmQHJubC5pc3QudXRsLnB0PgorCisJKiBkb2MvLmN2c2lnbm9yZTogQWRkZWQgdGhpcyBmaWxlLgorCitNb24gRmViICA4IDE5OjI3OjU2IENFVCAxOTk5IERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogdHJlZS5jOiBmaXhlZCB4bWxHZXRQcm9wIHRvIHJldHVybiAiIiB3aGVuIHRoZSBhdHRyaWJ1dGUKKwkgIGV4aXN0cywgZXZlbiBpZiB0aGUgbm9kZS1saXN0IGlzIE5VTEwuCisKK01vbiBGZWIgIDggMTY6MTA6MTUgQ0VUIDE5OTkgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiB0cmVlLmM6IHBhdGNoZWQgYW4gZXJyb3Igb3V0cHV0dGluZyBlbXB0eSBhdHRyaWJ1dGUgdmFsdWVzLgorCSogTWFrZWZpbGUuYW0gYW5kIGRvYy9tYWtlZmlsZS5hbTogaGF2ZSBiZWVuIHVwZGF0ZWQgZHVyaW5nIHRoZQorCSAgd2Vlay1lbmQuIFNvcnJ5IGZvciBhbiBlbXB0eSBDVlMgbG9nLCBJIGdvdCBhIHNoZWxsIHByb2JsZW0uCisKK01vbiBGZWIgIDEgMTI6MTA6MTMgQ0VUIDE5OTkgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiB0cmVlLmg6IGNsZWFuZWQgdXAgdXNpbmcgZW51bXMgaW5zdGVhZCBvZiBkZWZpbmVzCisJKiBwYXJzZXIuYywgdmFsaWQuW2NoXTogbW9yZSB3b3JrIG9uIHBhcnNpbmcvb3V0cHV0IG9mIGVsZW1lbnQKKwkgIGRlY2xhcmF0aW9ucworCitTdW4gSmFuIDMxIDIyOjA2OjQ4IENFVCAxOTk5IERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogdmFsaWQuW2NoXSwgdHJlZS5jLCBwYXJzZXIuYyA6IG1vcmUgd29yayB0b3dhcmQgZnVsbCBwYXJzaW5nCisJICBvZiBYTUwgRFREcy4KKwkqIFJFQURNRTogYWRkZWQgaW5mb3JtYXRpb25zIGFib3V0IG1haWxpbmctbGlzdCBhbmQgb24tbGluZQorCSAgZG9jdW1lbnRhdGlvbgorCisxOTk5LTAxLTI3ICBSYWphIFIgSGFyaW5hdGggIDxoYXJpbmF0aEBjcy51bW4uZWR1PgorCisJKiBjb25maWd1cmUuaW4gKFhNTF9JTkNMVURFRElSKTogVXNlIC1JIG5vdCAtTCBmb3IgaW5jbHVkZXMuCisKK1N1biBKYW4gMTcgMjA6MDY6MzYgQ0VUIDE5OTkgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiBwYXJzZXIuYywgdHJlZS5bY2hdIDogbW9yZSB3b3JrIHRvd2FyZCBjb25mb3JtYW5jZSB0ZXN0aW5nLAorCSAgYWRkZWQgYSBsYXN0IGVsZW1lbnQgdG8gYWNjZWxlcmF0ZSBwYXJzaW5nIG9mIHZlcnkgZmxhdCBzdHJ1Y3R1cmVzCisJICBzdGFydGVkIHdvcmtpbmcgb24gaW50ZXJuYWwgc3Vic2V0IEVsZW1lbnQgY29udGVudCBkZWNsYXJhdGlvbi4KKwkqIHZhbGlkLltjaF0gOiBmaXJzdCBjdXQgYXQgYWRkaW5nIGNvZGUgdG93YXJkIHZhbGlkYXRpb24uCisJKiBwcmV2aW91cyBjaGFuZ2VzIGhhZCBhbHNvIHNtYWxsIGltcGFjdCBvbiBtb3N0IGZpbGVzLCBlc3BlY2lhbGx5CisJICB0aGUgY29uZm9ybWFuY2UgdGVzdGluZyB1c2luZyBKYW1lcyBDbGFyayB0ZXN0IHN1aXRlLgorCitTdW4gSmFuIDE3IDE0OjQ1OjA2IENFVCAxOTk5IERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogdGVzdC8qIDogdXBkYXRlZCB0aGUgZXhhbXBsZXMsIG1vc3Qgb2YgdGhlbSB3ZXJlIG5vdCB3ZWxsCisJICAgICAgICAgICBmb3JtZWQgKGh1bW0pLCBhbmQgYWRkZWQgcmRmMi4KKwkqIHJlc3VsdC8qIDogcmVzdWx0aW5nIGNoYW5nZXMgaW4gdGhlIG91dHB1dC4KKworU3VuIERlYyAgNiAxMzowNjo1OCBFU1QgMTk5OCBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIHRyZWUuYzogY2hhbmdlZCB0aGUgYmVoYXZpb3VyIG9mIHhtbEdldFByb3Agb24gTlVMTCB2YWx1ZXMuCisKK1NhdCBEZWMgIDUgMTI6MjU6MDkgRVNUIDE5OTggRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiB0cmVlLmM6IHBhdGNoZWQgYSBidWcgaW4gdGhlIGdlbmVyYXRpb24gb2YgZW1wdHkgYXR0cmlidXRlcworCitGcmkgTm92IDI3IDAxOjM2OjU0IEVTVCAxOTk4IERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogZW50aXRpZXMuW2NoXSwgdHJlZS5bY2hdLCB0ZXN0ZXIuYzogYWRkZWQgY29weSBpbnRlcmZhY2VzCisJICBmb3Igbm9kZS90cmVlcy9kb2N1bWVudHMvLi4uIEJpZ2dlc3QgcHJvYmxlbSBpcyBuYW1lc3BhY2UKKwkgIHN1cHBvcnQgd2hlbiBjb3B5aW5nIHN1YnRyZWVzLgorCitTdW4gTm92IDE1IDE5OjU5OjQ3IEVTVCAxOTk4IERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogcGFyc2VyLmMsIGVudGl0aWVzLmM6IGltcHJvdmUgZW50aXRpZXMgYW5kIGNoYXIgcmVmIGVuY29kaW5nLAorCSAgYW5kIGNsZWFudXBzIG9mIGVycm9yIG1lc3NhZ2VzLgorCitGcmkgTm92IDEzIDEzOjAzOjEwIEVTVCAxOTk4IERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogcGFyc2VyLmMsIGVudGl0aWVzLmM6IHNpbXBsZSBidWcgaHVudGluZyBkb25lIGR1cmluZyBycG0yaHRtbCBhbmQKKwkgIHJwbWZpbmQgaW50ZWdyYXRpb24uCisKK1N1biBOb3YgIDggMTM6MTE6MDcgRVNUIDE5OTggRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiBwYXJzZXIuW2NoXTogQWRkZWQgaW50ZXJmYWNlcyBhbGxvd2luZyB0byBzcGVjaWZ5IGEgU0FYCisJICBoYW5kbGVyIGJlZm9yZSBwYXJzaW5nLgorCitTdW4gTm92ICA4IDA5OjM5OjE3IEVTVCAxOTk4IERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogcGFyc2VyLmM6IHJlZGlycmVjdCBhbGwgZXJyb3JzIHJlcG9ydGluZyB0aHJvdWdoIHRoZSBTQVgKKwkgIGVycm9yIGZ1bmN0aW9uCisKK1dlZCBOb3YgIDQgMTQ6MjE6NTQgRVNUIDE5OTggRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiBlbnRpdGllcy5jOiByYXRoZXIgdXNlIEhBVkVfU05QUklOVEYgYW5kIG5vdCBkZXBlbmQgb24gZ2xpYgorCSogbGlidG9vbCwgdGxtYWluIC4uLjogdXBkYXRlIG9mIHRoZSBsaWJ0b29sIGZpbGVzCisKKzE5OTgtMTEtMDQgIE1pZ3VlbCBkZSBJY2F6YSAgPG1pZ3VlbEBudWNsZWN1LnVuYW0ubXg+CisKKwkqIGVudGl0aWVzLmM6IFVzZSBnX3NucHJpbnRmIGluc3RlZGEgb2Ygc25wcmludGYuCisKK1N1biBOb3YgIDEgMTQ6MzE6MDYgRVNUIDE5OTggRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiBlbnRpdGllcy5jLCBwYXJzZXIuYzogZGVidWcgYW5kIGNsZWFudXAgb2YgQ2hhclJlZiBoYW5kbGluZy9zYXZpbmcuCisJICBhZGRlZCBlbnQ1IHRlc3QgZm9yIHRoaXMgcHVycG9zZS4KKwkqIHBhcnNlci5jLCBwYXJzZXIuaDogZm9ybWF0dGluZywgY29tbWVudHMgYW5kIFVURi04IHBsYW5uaW5nLgorCitGcmkgT2N0IDMwIDAxOjM2OjUyIEVTVCAxOTk4IERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogcGFyc2VyLmM6IGZpeGVkPyBhIHN0cmFuZ2UgZXJyb3IgZHVlIHRvIGNvbXByZXNzaW9uIG9uIGEgR1dQCisJICBkb2N1bWVudC4KKworVGh1IE9jdCAyOSAwMDo0ODo0NSBFU1QgMTk5OCBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIHRyZWUuW2NoXTogYnVnIGZpeGluZworCSogZW50aXRpZXMuW2NoXTogZGVmaW5lZCBhIHNwZWNpZmljIHR5cGUgZm9yIHByZWRlZmluZWQgZW50aXRpZXMKKwkqIGRvYy94bWwuaHRtbDogbW9yZSBkb2N1bWVudGF0aW9uIG9uIHRoZSBsaWJyYXJ5LCBob3cgdG8gdXNlIGl0LAorCSAgb3ZlcnZpZXcgb2YgdGhlIGludGVyZmFjZXMuCisKK1dlZCBPY3QgMjggMTc6NTY6MzUgRVNUIDE5OTggRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiB0cmVlLltjaF06IG1vcmUgY2xlYW51cCBvbiB0aGUgQVBJLCBtYWRlIHRoZSB0cmVlIG1vciBjb25mb3JtYW50LgorCitUdWUgT2N0IDI3IDE3OjU0OjAwIEVTVCAxOTk4IERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogdHJlZS5jOiBjb3JyZWN0ZWQgYSBzbWFsbCBidWcKKwkqIGRvYy94bWwuaHRtbDogY29udGludWluZyB3cml0aW5nIGRvY3VtZW50YXRpb24uCisKK1R1ZSBPY3QgMjcgMTc6NTQ6MDAgRVNUIDE5OTggRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiBkZWJ1Z1hNTC5oIGRlYnVnWE1MLmM6IGFkZGVkIGRlYnVnZ2luZyB1dGlsaXRpZXMuCisJKiB0ZXN0ZXIuYzogYWRkZWQgLS1kZWJ1ZyBzd2l0Y2guCisJKiB0cmVlLmM6IHBhdGNoZWQgYW4gaW5jb3JyZWN0IG5vZGUtPnR5cGUgYXNzaWdubWVudC4KKwkqIHBhcnNlci5jOiBmb3JtYXR0aW5nLCBlbnN1cmUgdGhhdCBub2RlLT5kb2MgIT0gTlVMTCBpbiBhdHRyaWJ1dGVzCisKK1R1ZSBPY3QgMjcgMDE6MTU6MzkgRVNUIDE5OTggRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiBwYXJzZXIuW2NoXSBTQVguYyB0cmVlLltjaF06IGxhcmdlIGFtb3VudCBvZiBjaGFuZ2VzIHRvIGltcHJvdmUKKwkgIGVudGl0eSBzdXBwb3J0IGFuZCBwcm92aWRlIGFuIGludGVybmFsIHJlcHJlc2VudGF0aW9uIGNsb3NlIHRvCisJICBET00gb25lIChlbnRpdHkgcmVmIG5vZGVzLCBhbmQgYXR0cmlidXRlIHZhbHVlIGFzIHRyZWUpLiBJIHRyaWVkCisJICB0byBwcmVzZXJ2ZSB0aGUgaW50ZXJmYWNlIGJ1dCB0aGlzIHdpbGwgc3VyZWx5IGJyZWFrIHNvbWUgYXBwcworCSAgKEkgaGF2ZSB0byBjaGFuZ2UgcnBtMmh0bWwvcnBtZmluZCBmb3IgZXhhbXBsZSkuIEkgaGFkIHRvIGNoYW5nZQorCSAgdHdvIGludGVyZmFjZXMsIGFuZCB0aGUgZ2VuZXJhdGVkIHRyZWUgaXMgc29tZXdoYXQgZGlmZmVyZW50LgorCSogZG9jLyogOiBzdGFydGVkIGRvY3VtZW50aW5nIHRoZSBYTUwgbGlicmFyeSwgdGhlIHRyZWUgYW5kCisJICBET00vQ29yYmEuIFRoaXMgaXMgYSBmaXJzdCBzdGVwLgorCitTYXQgT2N0IDI0IDE0OjIzOjUxIEVEVCAxOTk4IERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogcGFyc2VyLmM6IFNldCB1cCB0aGUgZm9uY3Rpb25zIGNvbW1lbnQgYmxvY2ssIGJvcmluZyBidXQgdXNlZnVsLgorCSogcGFyc2VyLmgsIFNBWC5jLCBwYXJzZXIuYzogbm93IGF0dHJpYnV0ZXMgYXJlIHByb2Nlc3NlZCB0aHJvdWdoCisJICB0aGUgU0FYIGludGVyZmFjZS4gVGhlIHByb2JsZW0gaXMgdGhhdCBteSBTQVggaW50ZXJmYWNlIGRpdmVyZ2VkCisJICBxdWl0ZSBhIGJpdCBmcm9tIHRoZSBvcmlnaW5hbCBvbmUsIHdlbGwgdGhpcyBpcyBub3QgYW4gb2ZmaWNpYWwKKwkgIHNwZWMsIGFuZCB0cmFuc2xhdGluZyBpdCBmcm9tIEphdmEgdG8gQyBpcyBoYWlyeSBhbnl3YXkuLi4KKworVHVlIE9jdCAyMCAwMjoxMToyMSBFRFQgMTk5OCBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIFNBWC5jLCBlbnRpdGllcy5jLCB0cmVlLmMsIGVuY29kaW5nLmMsIGVycm9yLmM6IFNldCB1cCB0aGUKKwkgIGZvbmN0aW9ucyBjb21tZW50IGJsb2NrLCBib3JpbmcgYnV0IHVzZWZ1bC4KKworU3VuIE9jdCAxOCAyMDo0MDo1OCBFRFQgMTk5OCBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIGVuY29kaW5nLltjaF0sIE1ha2VmaWxlLmFtOiBBZGRlZCB0aGUgVVRGLTgsIFVURi0xNiBhbmQgSVNPIExhdGluIDEKKwkgIGNvbnZlcnNpb24gcm91dGluZXMuIEhvd2V2ZXIgdGhleSBhcmUgbm90IHlldCB1c2VkIHRvIGNvbnZlcnQgdGhlCisJICBpbnB1dHMuIFRoZSBjb3JlIHdpbGwgcnVuIHdpdGggVVRGLTguCisKK1N1biBPY3QgMTggMTU6MDg6MTkgRURUIDE5OTggRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiB0cmVlLmMgOiBtYWtlIHN1cmUgdGhhdCB0aGUgdHlwZSBpZCBpcyBwcm9wZXJseSBzZXQtdXAgd2hlbgorCSAgYSBuZXcgb2JqZWN0IGlzIGFsbG9jYXRlZCwgbmVlZGVkIGZvciBET00uCisKK1NhdCBPY3QgMTcgMDI6NDM6MjEgRURUIDE5OTggRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiB0cmVlLmgsIHRyZWUuYzogT2ssIHRoZSBtYWluIG9iamVjdHMgaW4gdGhlIHRyZWUgd2lsbCBiZSBuYXRpdmUKKwkgIGNvcmJhIG9iamVjdHMsIGl0IGNvc3RzIDggYnl0ZXMgcGVyIE5vZGUsIEF0dHJpYnV0ZSBhbmQgRG9jdW1lbnQKKwkgIGJ1dCBpdCBzaW1wbGlmaWVzIHRoZSBDb3JiYSBpbnRlZ3JhdGlvbiBhIGxvdCAobm8gZXh0cmEgaW50ZXJmYWNlCisJICBvYmplY3RzIHRvIGFsbG9jYXRlL2ZyZWUpLgorCitUdWUgT2N0IDEzIDIxOjQ2OjU3IEVEVCAxOTk4IERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogdHJlZS5oLCB0cmVlLmMsIHBhcnNlci5jOiBhZGRlZCBwcmV2IGFuZCBkb2MgcG9pbnRlcnMgdG8gTm9kZSwKKwkgIGFuZCBjaGFuZ2VkIE5PREVzIGNvbnRhbnRzIGZvciBjb25mb3JtaXR5IHdpdGggRE9NIExldmVsIDEKKworV2VkIE9jdCAgNyAyMzo0Mjo0NiBFRFQgMTk5OCBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIGFkZGVkIGhvb2tzIHRvIGtlZXAgdHJhY2sgb2Ygc2VydmFudHMgd2hlbiBjcmVhdGluZyBvYmplY3RzCisJICB4bWxEb2MgYW5kIHhtbE5vZGUgKGZvciBDb3JiYSBleHBvcnQpLgorCitTdW4gT2N0ICA0IDAzOjE4OjA5IEVEVCAxOTk4IERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogYWRkZWQgeG1sLWNvbmZpZyBzY3JpcHQuCisKK1RodSBPY3QgIDEgMTY6MjI6MzcgRURUIDE5OTggRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiBhdXRvZ2VuLnNoIDogYXBwbGllZCBwYXRjaCBmcm9tIEZyZWRlcmljIERldmVybmF5IDxkZXZlcm5heUBpc3Rhci5mcj4KKwkgIHRvIGF1dG91cGRhdGUgbGlidG9vbCBhbmQgYXV0b21ha2UgY29uZiBmaWxlcy4KKworMTk5OC0wOS0zMCAgTWlndWVsIGRlIEljYXphICA8bWlndWVsQG51Y2xlY3UudW5hbS5teD4KKworCSogTWFrZWZpbGUuYW06IFVzZSAnPycgdG8gc2VwYXJhdGUgdGhlIHNlZAorCWNvbW1hbmRzIGFzICcsJyBpcyB1c2VkIHdoZW4gcGVvcGxlIHBhc3MgLVdsLHNvbWV0aGluZy4KKworVGh1IFNlcCAyNCAxNToxMzoyOSBFRFQgMTk5OCBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIHRyZWUuYywgdHJlZS5oOiBhZGRlZCBhIHBlci1kb2N1bWVudCBjb21wcmVzc2lvbiBpbnRlcmZhY2UuCisKK1R1ZSBTZXAgMjIgMjA6NDc6MzggRURUIDE5OTgKKworCSogdHJlZS5jLCB0cmVlLmg6IGFkZGVkIHNhdmluZyB3aXRoIGNvbXByZXNzaW9uIGFuZCBhZGRlZCBpbnRlcmZhY2VzCisJICB0byBjb250cm9sIHRoZSBjb21wcmVzc2lvbiBsZXZlbCAoeG1sR2V0Q29tcHJlc3NNb2RlLAorCSAgeG1sU2V0Q29tcHJlc3NNb2RlKSBhbmQgYSBuZXcgc2F2ZSB0byBmaWxlbmFtZSBmdW5jdGlvbiAoeG1sU2F2ZUZpbGUpLgorCitNb24gU2VwIDIxIDIwOjExOjEzIEVEVCAxOTk4IERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogcGFyc2VyLmM6IGNvcnJlY3RlZCBhIGxvb3AgZm9yIGZpbGVzIG9mIHNpemUgMAorCisxOTk4LTA4LTIwICBSYWphIFIgSGFyaW5hdGggIDxoYXJpbmF0aEBjcy51bW4uZWR1PgorCisJKiBlcnJvci5oOiBOZXcgZmlsZS4gIENvbnRhaW5zIHByb3RvdHllcyBmcm9tIGBlcnJvci5jJy4KKworVGh1IEF1ZyAxMyAxOTowMjozNCAxOTk4ICBUb20gVHJvbWV5ICA8dHJvbWV5QGN5Z251cy5jb20+CisKKwkqIE1ha2VmaWxlLmFtICh4bWxpbmNkaXIpOiBOZXcgbWFjcm8uCisJKHhtbGluY19IRUFERVJTKTogUmVuYW1lZCBmcm9tIGluY2x1ZGVfSEVBREVSUy4KKworVGh1IEF1ZyAxMyAwMDo0MDoxNCBFRFQgMTk5OCAgRGFuaWVsIFZlaWxsYXJkIDxEYW5pZWwuVmVpbGxhcmRAdzMub3JnPgorCisJKiBhcHBsaWVkIHNtYWxsIHBhdGNoIG9uIG51bWVyaWMgZW50aXRpZXMgZnJvbQorCSAgQ2hyaXN0b3BoZXIgQmxpenphcmQgPGJsaXp6YXJkQGFwcGxpZWR0aGVvcnkuY29tPgorCitXZWQgQXVnIDEyIDIzOjEyOjU4IEVEVCAxOTk4ICBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIE5ldyByZWxlYXNlIDAuMiwgcmVtb3ZlZCB0aGUgb2xkIHhtbF8qIGZpbGVzIHNvIHRoYXQgaXQncworCSAgICBjb2hlcmVudCB3aXRoIHRoZSBvdGhlciBDVlMgYmFzZSAoVzNDKSwgZmFyIGJldHRlciBjb25mb3JtYW5jZQorCSAgICB0byBzdGFuZGFyZCwgbmV3IG5hbWVzcGFjZXMsIGRlY2VudCBlbnRpdGllcyBzdXBwb3J0LCBiZWdpbm5pbmcKKwkgICAgb2YgYSBTQVgtbGlrZSBpbnRlcmZhY2UuIE5lYXJseSBub3RoaW5nIGxlZnQgaW50YWN0LCBldmVuIHRoZQorCSAgICB0ZXN0IGV4YW1wbGVzIC4uLgorCisxOTk4LTA3LTMwICBDaHJpc3RvcGhlciBCbGl6emFyZCAgPGJsaXp6YXJkQGFwcGxpZWR0aGVvcnkuY29tPgorCisJKiAuY3ZzaWdub3JlOiBBZGQgLmRlcHMgZGlyCisKK1N1biBKdWwgMjYgMTc6Mjk6NTIgRURUIDE5OTggIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogeG1sX3RyZWU6IGNoYW5nZWQgdGhlIG1lbW9yeSBhbGxvY2F0aW9uIHNjaGVtZSBmb3IgbmFtZSBpbiB4bWxOZXdOb2RlCisKK1N1biBKdWwgMjYgMDA6MTc6NTEgRURUIDE5OTggIERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJkQHczLm9yZz4KKworCSogY29uZmlndXJlLmluOiBhZGRlZCB0ZXN0IGZvciBDUFAKKwkqIEFVVEhPUlMsIENoYW5nZWxvZzogdGhlIG9yaWdpbmFsIG9uZXMgZGlkbid0IGdldCBjb21taXRlZCBidXQgdGhlCisJICAgIGdsaWIgb25lcyBpbnN0ZWFkLCBmaXhlZC4KKwkqIE1ha2VmaWxlLmFtOiBjb3JyZWN0ZWQgYW4gZXJyb3IgaW4gbGlicmFyeSBuYW1pbmcKKworRnJpIEp1bCAyNCAxNjo0NzoxNCAxOTk4ICBEYW5pZWwgVmVpbGxhcmQgPERhbmllbC5WZWlsbGFyZEB3My5vcmc+CisKKwkqIGludGVncmF0ZWQgY29kZSBkZXZlbG9wcGVkIGF0IFczQworCSogY2hhbmdlZCB0aGUgb3JpZ2luYWwgQ29weXJpZ2h0CisJKiBtaWdyYXRlZCB0byBhdXRvbWFrZQorCSogcHJlZml4ZWQgdGhlIGZpbGVuYW1lcyBieSB4bWxfIHRvIGF2b2lkIGZpbGVuYW1lIGNsYXNoZXMKKworIworIyB2aW06IHNldCBlbmM9dXRmLTgKKyMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvQ2xlYW5TcGVjLm1rIGIvbGlieG1sMi9DbGVhblNwZWMubWsKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGY4MzkzZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvQ2xlYW5TcGVjLm1rCkBAIC0wLDAgKzEsNTIgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDA3IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyMKKyMgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisjIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyMgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisjCisjICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisjCisjIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyMgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisjIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyMgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisjCisKKyMgSWYgeW91IGRvbid0IG5lZWQgdG8gZG8gYSBmdWxsIGNsZWFuIGJ1aWxkIGJ1dCB3b3VsZCBsaWtlIHRvIHRvdWNoCisjIGEgZmlsZSBvciBkZWxldGUgc29tZSBpbnRlcm1lZGlhdGUgZmlsZXMsIGFkZCBhIGNsZWFuIHN0ZXAgdG8gdGhlIGVuZAorIyBvZiB0aGUgbGlzdC4gIFRoZXNlIHN0ZXBzIHdpbGwgb25seSBiZSBydW4gb25jZSwgaWYgdGhleSBoYXZlbid0IGJlZW4KKyMgcnVuIGJlZm9yZS4KKyMKKyMgRS5nLjoKKyMgICAgICQoY2FsbCBhZGQtY2xlYW4tc3RlcCwgdG91Y2ggLWMgZXh0ZXJuYWwvc3FsaXRlL3NxbGl0ZTMuaCkKKyMgICAgICQoY2FsbCBhZGQtY2xlYW4tc3RlcCwgcm0gLXJmICQoUFJPRFVDVF9PVVQpL29iai9TVEFUSUNfTElCUkFSSUVTL2xpYnpfaW50ZXJtZWRpYXRlcykKKyMKKyMgQWx3YXlzIHVzZSAidG91Y2ggLWMiIGFuZCAicm0gLWYiIG9yICJybSAtcmYiIHRvIGdyYWNlZnVsbHkgZGVhbCB3aXRoCisjIGZpbGVzIHRoYXQgYXJlIG1pc3Npbmcgb3IgaGF2ZSBiZWVuIG1vdmVkLgorIworIyBVc2UgJChQUk9EVUNUX09VVCkgdG8gZ2V0IHRvIHRoZSAib3V0L3RhcmdldC9wcm9kdWN0L2JsYWgvIiBkaXJlY3RvcnkuCisjIFVzZSAkKE9VVF9ESVIpIHRvIHJlZmVyIHRvIHRoZSAib3V0IiBkaXJlY3RvcnkuCisjCisjIElmIHlvdSBuZWVkIHRvIHJlLWRvIHNvbWV0aGluZyB0aGF0J3MgYWxyZWFkeSBtZW50aW9uZWQsIGp1c3QgY29weQorIyB0aGUgY29tbWFuZCBhbmQgYWRkIGl0IHRvIHRoZSBib3R0b20gb2YgdGhlIGxpc3QuICBFLmcuLCBpZiBhIGNoYW5nZQorIyB0aGF0IHlvdSBtYWRlIGxhc3Qgd2VlayByZXF1aXJlZCB0b3VjaGluZyBhIGZpbGUgYW5kIGEgY2hhbmdlIHlvdQorIyBtYWRlIHRvZGF5IHJlcXVpcmVzIHRvdWNoaW5nIHRoZSBzYW1lIGZpbGUsIGp1c3QgY29weSB0aGUgb2xkCisjIHRvdWNoIHN0ZXAgYW5kIGFkZCBpdCB0byB0aGUgZW5kIG9mIHRoZSBsaXN0LgorIworIyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyMgTkVXRVIgQ0xFQU4gU1RFUFMgTVVTVCBCRSBBVCBUSEUgRU5EIE9GIFRIRSBMSVNUCisjICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorCisjIEZvciBleGFtcGxlOgorIyQoY2FsbCBhZGQtY2xlYW4tc3RlcCwgcm0gLXJmICQoT1VUX0RJUikvdGFyZ2V0L2NvbW1vbi9vYmovQVBQUy9BbmRyb2lkVGVzdHNfaW50ZXJtZWRpYXRlcykKKyMkKGNhbGwgYWRkLWNsZWFuLXN0ZXAsIHJtIC1yZiAkKE9VVF9ESVIpL3RhcmdldC9jb21tb24vb2JqL0pBVkFfTElCUkFSSUVTL2NvcmVfaW50ZXJtZWRpYXRlcykKKyMkKGNhbGwgYWRkLWNsZWFuLXN0ZXAsIGZpbmQgJChPVVRfRElSKSAtdHlwZSBmIC1uYW1lICJJR1RhbGtTZXNzaW9uKiIgLXByaW50MCB8IHhhcmdzIC0wIHJtIC1mKQorIyQoY2FsbCBhZGQtY2xlYW4tc3RlcCwgcm0gLXJmICQoUFJPRFVDVF9PVVQpL2RhdGEvKikKKworJChjYWxsIGFkZC1jbGVhbi1zdGVwLCBybSAtcmYgJChQUk9EVUNUX09VVCkvb2JqL1NUQVRJQ19MSUJSQVJJRVMvbGlieG1sMl9pbnRlcm1lZGlhdGVzKQorJChjYWxsIGFkZC1jbGVhbi1zdGVwLCBybSAtcmYgJChIT1NUX09VVCkvb2JqL1NUQVRJQ19MSUJSQVJJRVMvbGlieG1sMl9pbnRlcm1lZGlhdGVzKQorCisjICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIyBORVdFUiBDTEVBTiBTVEVQUyBNVVNUIEJFIEFUIFRIRSBFTkQgT0YgVEhFIExJU1QKKyMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCmRpZmYgLS1naXQgYS9saWJ4bWwyL0NvcHlyaWdodCBiL2xpYnhtbDIvQ29weXJpZ2h0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ2MTMxODUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL0NvcHlyaWdodApAQCAtMCwwICsxLDIzIEBACitFeGNlcHQgd2hlcmUgb3RoZXJ3aXNlIG5vdGVkIGluIHRoZSBzb3VyY2UgY29kZSAoZS5nLiB0aGUgZmlsZXMgaGFzaC5jLAorbGlzdC5jIGFuZCB0aGUgdHJpbyBmaWxlcywgd2hpY2ggYXJlIGNvdmVyZWQgYnkgYSBzaW1pbGFyIGxpY2VuY2UgYnV0Cit3aXRoIGRpZmZlcmVudCBDb3B5cmlnaHQgbm90aWNlcykgYWxsIHRoZSBmaWxlcyBhcmU6CisKKyBDb3B5cmlnaHQgKEMpIDE5OTgtMjAxMiBEYW5pZWwgVmVpbGxhcmQuICBBbGwgUmlnaHRzIFJlc2VydmVkLgorCitQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5CitvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbAoraW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cwordG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbAorY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1ci0KK25pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisKK1RoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluCithbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KKworVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKK0lNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLCBGSVQtCitORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFCitBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSCitMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLAorT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTgorVEhFIFNPRlRXQVJFLgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9ET0NCcGFyc2VyLmMgYi9saWJ4bWwyL0RPQ0JwYXJzZXIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMTI1MTFiCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9ET0NCcGFyc2VyLmMKQEAgLTAsMCArMSwzMDUgQEAKKy8qCisgKiBET0NCcGFyc2VyLmMgOiBhbiBhdHRlbXB0IHRvIHBhcnNlIFNHTUwgRG9jYm9vayBkb2N1bWVudHMKKyAqCisgKiBUaGlzIGlzIGRlcHJlY2F0ZWQgISEhCisgKiBDb2RlIHJlbW92ZWQgd2l0aCByZWxlYXNlIDIuNi4wIGl0IHdhcyBicm9rZW4uCisgKiBUaGUgZG9jIGFyZSBleHBlY3QgdG8gYmUgbWlncmF0ZWQgdG8gWE1MIERvY0Jvb2sKKyAqCisgKiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisgKgorICogZGFuaWVsQHZlaWxsYXJkLmNvbQorICovCisKKyNkZWZpbmUgSU5fTElCWE1MCisjaW5jbHVkZSAibGlieG1sLmgiCisjaWZkZWYgTElCWE1MX0RPQ0JfRU5BQkxFRAorCisjaW5jbHVkZSA8bGlieG1sL3htbGVycm9yLmg+CisjaW5jbHVkZSA8bGlieG1sL0RPQ0JwYXJzZXIuaD4KKworLyoqCisgKiBkb2NiRW5jb2RlRW50aXRpZXM6CisgKiBAb3V0OiAgYSBwb2ludGVyIHRvIGFuIGFycmF5IG9mIGJ5dGVzIHRvIHN0b3JlIHRoZSByZXN1bHQKKyAqIEBvdXRsZW46ICB0aGUgbGVuZ3RoIG9mIEBvdXQKKyAqIEBpbjogIGEgcG9pbnRlciB0byBhbiBhcnJheSBvZiBVVEYtOCBjaGFycworICogQGlubGVuOiAgdGhlIGxlbmd0aCBvZiBAaW4KKyAqIEBxdW90ZUNoYXI6IHRoZSBxdW90ZSBjaGFyYWN0ZXIgdG8gZXNjYXBlICgnIG9yICIpIG9yIHplcm8uCisgKgorICogVGFrZSBhIGJsb2NrIG9mIFVURi04IGNoYXJzIGluIGFuZCB0cnkgdG8gY29udmVydCBpdCB0byBhbiBBU0NJSQorICogcGx1cyBTR01MIGVudGl0aWVzIGJsb2NrIG9mIGNoYXJzIG91dC4KKyAqCisgKiBSZXR1cm5zIDAgaWYgc3VjY2VzcywgLTIgaWYgdGhlIHRyYW5zY29kaW5nIGZhaWxzLCBvciAtMSBvdGhlcndpc2UKKyAqIFRoZSB2YWx1ZSBvZiBAaW5sZW4gYWZ0ZXIgcmV0dXJuIGlzIHRoZSBudW1iZXIgb2Ygb2N0ZXRzIGNvbnN1bWVkCisgKiAgICAgYXMgdGhlIHJldHVybiB2YWx1ZSBpcyBwb3NpdGl2ZSwgZWxzZSB1bnByZWRpY3RhYmxlLgorICogVGhlIHZhbHVlIG9mIEBvdXRsZW4gYWZ0ZXIgcmV0dXJuIGlzIHRoZSBudW1iZXIgb2Ygb2N0ZXRzIGNvbnN1bWVkLgorICovCitpbnQKK2RvY2JFbmNvZGVFbnRpdGllcyh1bnNpZ25lZCBjaGFyICpvdXQgQVRUUklCVVRFX1VOVVNFRCwKKyAgICAgICAgICAgICAgICAgICBpbnQgKm91dGxlbiBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmluIEFUVFJJQlVURV9VTlVTRUQsCisgICAgICAgICAgICAgICAgICAgaW50ICppbmxlbiBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgICAgICAgIGludCBxdW90ZUNoYXIgQVRUUklCVVRFX1VOVVNFRCkKK3sKKyAgICBzdGF0aWMgaW50IGRlcHJlY2F0ZWQgPSAwOworCisgICAgaWYgKCFkZXByZWNhdGVkKSB7CisgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgImRvY2JFbmNvZGVFbnRpdGllcygpIGRlcHJlY2F0ZWQgZnVuY3Rpb24gcmVhY2hlZFxuIik7CisgICAgICAgIGRlcHJlY2F0ZWQgPSAxOworICAgIH0KKyAgICByZXR1cm4oLTEpOworfQorCisvKioKKyAqIGRvY2JQYXJzZURvY3VtZW50OgorICogQGN0eHQ6ICBhbiBTR01MIHBhcnNlciBjb250ZXh0CisgKgorICogcGFyc2UgYW4gU0dNTCBkb2N1bWVudCAoYW5kIGJ1aWxkIGEgdHJlZSBpZiB1c2luZyB0aGUgc3RhbmRhcmQgU0FYCisgKiBpbnRlcmZhY2UpLgorICoKKyAqIFJldHVybnMgMCwgLTEgaW4gY2FzZSBvZiBlcnJvci4gdGhlIHBhcnNlciBjb250ZXh0IGlzIGF1Z21lbnRlZAorICogICAgICAgICAgICAgICAgYXMgYSByZXN1bHQgb2YgdGhlIHBhcnNpbmcuCisgKi8KKworaW50Citkb2NiUGFyc2VEb2N1bWVudChkb2NiUGFyc2VyQ3R4dFB0ciBjdHh0IEFUVFJJQlVURV9VTlVTRUQpCit7CisgICAgc3RhdGljIGludCBkZXByZWNhdGVkID0gMDsKKworICAgIGlmICghZGVwcmVjYXRlZCkgeworICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJkb2NiUGFyc2VEb2N1bWVudCgpIGRlcHJlY2F0ZWQgZnVuY3Rpb24gcmVhY2hlZFxuIik7CisgICAgICAgIGRlcHJlY2F0ZWQgPSAxOworICAgIH0KKyAgICByZXR1cm4gKHhtbFBhcnNlRG9jdW1lbnQoY3R4dCkpOworfQorCisvKioKKyAqIGRvY2JGcmVlUGFyc2VyQ3R4dDoKKyAqIEBjdHh0OiAgYW4gU0dNTCBwYXJzZXIgY29udGV4dAorICoKKyAqIEZyZWUgYWxsIHRoZSBtZW1vcnkgdXNlZCBieSBhIHBhcnNlciBjb250ZXh0LiBIb3dldmVyIHRoZSBwYXJzZWQKKyAqIGRvY3VtZW50IGluIGN0eHQtPm15RG9jIGlzIG5vdCBmcmVlZC4KKyAqLworCit2b2lkCitkb2NiRnJlZVBhcnNlckN0eHQoZG9jYlBhcnNlckN0eHRQdHIgY3R4dCBBVFRSSUJVVEVfVU5VU0VEKQoreworICAgIHN0YXRpYyBpbnQgZGVwcmVjYXRlZCA9IDA7CisKKyAgICBpZiAoIWRlcHJlY2F0ZWQpIHsKKyAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAiZG9jYkZyZWVQYXJzZXJDdHh0KCkgZGVwcmVjYXRlZCBmdW5jdGlvbiByZWFjaGVkXG4iKTsKKyAgICAgICAgZGVwcmVjYXRlZCA9IDE7CisgICAgfQorICAgIHhtbEZyZWVQYXJzZXJDdHh0KGN0eHQpOworfQorCisvKioKKyAqIGRvY2JQYXJzZUNodW5rOgorICogQGN0eHQ6ICBhbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBjaHVuazogIGFuIGNoYXIgYXJyYXkKKyAqIEBzaXplOiAgdGhlIHNpemUgaW4gYnl0ZSBvZiB0aGUgY2h1bmsKKyAqIEB0ZXJtaW5hdGU6ICBsYXN0IGNodW5rIGluZGljYXRvcgorICoKKyAqIFBhcnNlIGEgQ2h1bmsgb2YgbWVtb3J5CisgKgorICogUmV0dXJucyB6ZXJvIGlmIG5vIGVycm9yLCB0aGUgeG1sUGFyc2VyRXJyb3JzIG90aGVyd2lzZS4KKyAqLworaW50Citkb2NiUGFyc2VDaHVuayhkb2NiUGFyc2VyQ3R4dFB0ciBjdHh0IEFUVFJJQlVURV9VTlVTRUQsCisgICAgICAgICAgICAgICBjb25zdCBjaGFyICpjaHVuayBBVFRSSUJVVEVfVU5VU0VELAorCSAgICAgICBpbnQgc2l6ZSBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgICAgaW50IHRlcm1pbmF0ZSBBVFRSSUJVVEVfVU5VU0VEKQoreworICAgIHN0YXRpYyBpbnQgZGVwcmVjYXRlZCA9IDA7CisKKyAgICBpZiAoIWRlcHJlY2F0ZWQpIHsKKyAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAiZG9jYlBhcnNlQ2h1bmsoKSBkZXByZWNhdGVkIGZ1bmN0aW9uIHJlYWNoZWRcbiIpOworICAgICAgICBkZXByZWNhdGVkID0gMTsKKyAgICB9CisKKyAgICByZXR1cm4gKHhtbFBhcnNlQ2h1bmsoY3R4dCwgY2h1bmssIHNpemUsIHRlcm1pbmF0ZSkpOworfQorCisvKioKKyAqIGRvY2JDcmVhdGVQdXNoUGFyc2VyQ3R4dDoKKyAqIEBzYXg6ICBhIFNBWCBoYW5kbGVyCisgKiBAdXNlcl9kYXRhOiAgVGhlIHVzZXIgZGF0YSByZXR1cm5lZCBvbiBTQVggY2FsbGJhY2tzCisgKiBAY2h1bms6ICBhIHBvaW50ZXIgdG8gYW4gYXJyYXkgb2YgY2hhcnMKKyAqIEBzaXplOiAgbnVtYmVyIG9mIGNoYXJzIGluIHRoZSBhcnJheQorICogQGZpbGVuYW1lOiAgYW4gb3B0aW9uYWwgZmlsZSBuYW1lIG9yIFVSSQorICogQGVuYzogIGFuIG9wdGlvbmFsIGVuY29kaW5nCisgKgorICogQ3JlYXRlIGEgcGFyc2VyIGNvbnRleHQgZm9yIHVzaW5nIHRoZSBEb2NCb29rIFNHTUwgcGFyc2VyIGluIHB1c2ggbW9kZQorICogVG8gYWxsb3cgY29udGVudCBlbmNvZGluZyBkZXRlY3Rpb24sIEBzaXplIHNob3VsZCBiZSA+PSA0CisgKiBUaGUgdmFsdWUgb2YgQGZpbGVuYW1lIGlzIHVzZWQgZm9yIGZldGNoaW5nIGV4dGVybmFsIGVudGl0aWVzCisgKiBhbmQgZXJyb3Ivd2FybmluZyByZXBvcnRzLgorICoKKyAqIFJldHVybnMgdGhlIG5ldyBwYXJzZXIgY29udGV4dCBvciBOVUxMCisgKi8KK2RvY2JQYXJzZXJDdHh0UHRyCitkb2NiQ3JlYXRlUHVzaFBhcnNlckN0eHQoZG9jYlNBWEhhbmRsZXJQdHIgc2F4IEFUVFJJQlVURV9VTlVTRUQsCisgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqdXNlcl9kYXRhIEFUVFJJQlVURV9VTlVTRUQsCisgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqY2h1bmsgQVRUUklCVVRFX1VOVVNFRCwKKwkJCSBpbnQgc2l6ZSBBVFRSSUJVVEVfVU5VU0VELAorCQkJIGNvbnN0IGNoYXIgKmZpbGVuYW1lIEFUVFJJQlVURV9VTlVTRUQsCisgICAgICAgICAgICAgICAgICAgICAgICAgeG1sQ2hhckVuY29kaW5nIGVuYyBBVFRSSUJVVEVfVU5VU0VEKQoreworICAgIHN0YXRpYyBpbnQgZGVwcmVjYXRlZCA9IDA7CisKKyAgICBpZiAoIWRlcHJlY2F0ZWQpIHsKKyAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAiZG9jYlBhcnNlQ2h1bmsoKSBkZXByZWNhdGVkIGZ1bmN0aW9uIHJlYWNoZWRcbiIpOworICAgICAgICBkZXByZWNhdGVkID0gMTsKKyAgICB9CisKKyAgICByZXR1cm4oeG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQoc2F4LCB1c2VyX2RhdGEsIGNodW5rLCBzaXplLCBmaWxlbmFtZSkpOworfQorCisvKioKKyAqIGRvY2JTQVhQYXJzZURvYzoKKyAqIEBjdXI6ICBhIHBvaW50ZXIgdG8gYW4gYXJyYXkgb2YgeG1sQ2hhcgorICogQGVuY29kaW5nOiAgYSBmcmVlIGZvcm0gQyBzdHJpbmcgZGVzY3JpYmluZyB0aGUgU0dNTCBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTAorICogQHNheDogIHRoZSBTQVggaGFuZGxlciBibG9jaworICogQHVzZXJEYXRhOiBpZiB1c2luZyBTQVgsIHRoaXMgcG9pbnRlciB3aWxsIGJlIHByb3ZpZGVkIG9uIGNhbGxiYWNrcy4KKyAqCisgKiBwYXJzZSBhbiBTR01MIGluLW1lbW9yeSBkb2N1bWVudCBhbmQgYnVpbGQgYSB0cmVlLgorICogSXQgdXNlIHRoZSBnaXZlbiBTQVggZnVuY3Rpb24gYmxvY2sgdG8gaGFuZGxlIHRoZSBwYXJzaW5nIGNhbGxiYWNrLgorICogSWYgc2F4IGlzIE5VTEwsIGZhbGxiYWNrIHRvIHRoZSBkZWZhdWx0IERPTSB0cmVlIGJ1aWxkaW5nIHJvdXRpbmVzLgorICoKKyAqIFJldHVybnMgdGhlIHJlc3VsdGluZyBkb2N1bWVudCB0cmVlCisgKi8KKworZG9jYkRvY1B0cgorZG9jYlNBWFBhcnNlRG9jKHhtbENoYXIgKiBjdXIgQVRUUklCVVRFX1VOVVNFRCwKKyAgICAgICAgICAgICAgICBjb25zdCBjaGFyICplbmNvZGluZyBBVFRSSUJVVEVfVU5VU0VELAorCQlkb2NiU0FYSGFuZGxlclB0ciBzYXggQVRUUklCVVRFX1VOVVNFRCwKKyAgICAgICAgICAgICAgICB2b2lkICp1c2VyRGF0YSBBVFRSSUJVVEVfVU5VU0VEKQoreworICAgIHN0YXRpYyBpbnQgZGVwcmVjYXRlZCA9IDA7CisKKyAgICBpZiAoIWRlcHJlY2F0ZWQpIHsKKyAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAiZG9jYlBhcnNlQ2h1bmsoKSBkZXByZWNhdGVkIGZ1bmN0aW9uIHJlYWNoZWRcbiIpOworICAgICAgICBkZXByZWNhdGVkID0gMTsKKyAgICB9CisKKyAgICByZXR1cm4gKHhtbFNBWFBhcnNlTWVtb3J5V2l0aERhdGEoc2F4LCAoY29uc3QgY2hhciAqKWN1ciwKKwkJCSAgeG1sU3RybGVuKChjb25zdCB4bWxDaGFyICopIGN1ciksIDAsICB1c2VyRGF0YSkpOworfQorCisvKioKKyAqIGRvY2JQYXJzZURvYzoKKyAqIEBjdXI6ICBhIHBvaW50ZXIgdG8gYW4gYXJyYXkgb2YgeG1sQ2hhcgorICogQGVuY29kaW5nOiAgYSBmcmVlIGZvcm0gQyBzdHJpbmcgZGVzY3JpYmluZyB0aGUgU0dNTCBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTAorICoKKyAqIHBhcnNlIGFuIFNHTUwgaW4tbWVtb3J5IGRvY3VtZW50IGFuZCBidWlsZCBhIHRyZWUuCisgKgorICogUmV0dXJucyB0aGUgcmVzdWx0aW5nIGRvY3VtZW50IHRyZWUKKyAqLworCitkb2NiRG9jUHRyCitkb2NiUGFyc2VEb2MoeG1sQ2hhciAqIGN1ciBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmVuY29kaW5nIEFUVFJJQlVURV9VTlVTRUQpCit7CisgICAgc3RhdGljIGludCBkZXByZWNhdGVkID0gMDsKKworICAgIGlmICghZGVwcmVjYXRlZCkgeworICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJkb2NiUGFyc2VDaHVuaygpIGRlcHJlY2F0ZWQgZnVuY3Rpb24gcmVhY2hlZFxuIik7CisgICAgICAgIGRlcHJlY2F0ZWQgPSAxOworICAgIH0KKworICAgIHJldHVybiAoeG1sUGFyc2VEb2MoY3VyKSk7Cit9CisKKworLyoqCisgKiBkb2NiQ3JlYXRlRmlsZVBhcnNlckN0eHQ6CisgKiBAZmlsZW5hbWU6ICB0aGUgZmlsZW5hbWUKKyAqIEBlbmNvZGluZzogIHRoZSBTR01MIGRvY3VtZW50IGVuY29kaW5nLCBvciBOVUxMCisgKgorICogQ3JlYXRlIGEgcGFyc2VyIGNvbnRleHQgZm9yIGEgZmlsZSBjb250ZW50LgorICogQXV0b21hdGljIHN1cHBvcnQgZm9yIFpMSUIvQ29tcHJlc3MgY29tcHJlc3NlZCBkb2N1bWVudCBpcyBwcm92aWRlZAorICogYnkgZGVmYXVsdCBpZiBmb3VuZCBhdCBjb21waWxlLXRpbWUuCisgKgorICogUmV0dXJucyB0aGUgbmV3IHBhcnNlciBjb250ZXh0IG9yIE5VTEwKKyAqLworZG9jYlBhcnNlckN0eHRQdHIKK2RvY2JDcmVhdGVGaWxlUGFyc2VyQ3R4dChjb25zdCBjaGFyICpmaWxlbmFtZSBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmVuY29kaW5nIEFUVFJJQlVURV9VTlVTRUQpCit7CisgICAgc3RhdGljIGludCBkZXByZWNhdGVkID0gMDsKKworICAgIGlmICghZGVwcmVjYXRlZCkgeworICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJkb2NiQ3JlYXRlRmlsZVBhcnNlckN0eHQoKSBkZXByZWNhdGVkIGZ1bmN0aW9uIHJlYWNoZWRcbiIpOworICAgICAgICBkZXByZWNhdGVkID0gMTsKKyAgICB9CisKKyAgICByZXR1cm4gKHhtbENyZWF0ZUZpbGVQYXJzZXJDdHh0KGZpbGVuYW1lKSk7Cit9CisKKy8qKgorICogZG9jYlNBWFBhcnNlRmlsZToKKyAqIEBmaWxlbmFtZTogIHRoZSBmaWxlbmFtZQorICogQGVuY29kaW5nOiAgYSBmcmVlIGZvcm0gQyBzdHJpbmcgZGVzY3JpYmluZyB0aGUgU0dNTCBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTAorICogQHNheDogIHRoZSBTQVggaGFuZGxlciBibG9jaworICogQHVzZXJEYXRhOiBpZiB1c2luZyBTQVgsIHRoaXMgcG9pbnRlciB3aWxsIGJlIHByb3ZpZGVkIG9uIGNhbGxiYWNrcy4KKyAqCisgKiBwYXJzZSBhbiBTR01MIGZpbGUgYW5kIGJ1aWxkIGEgdHJlZS4gQXV0b21hdGljIHN1cHBvcnQgZm9yIFpMSUIvQ29tcHJlc3MKKyAqIGNvbXByZXNzZWQgZG9jdW1lbnQgaXMgcHJvdmlkZWQgYnkgZGVmYXVsdCBpZiBmb3VuZCBhdCBjb21waWxlLXRpbWUuCisgKiBJdCB1c2UgdGhlIGdpdmVuIFNBWCBmdW5jdGlvbiBibG9jayB0byBoYW5kbGUgdGhlIHBhcnNpbmcgY2FsbGJhY2suCisgKiBJZiBzYXggaXMgTlVMTCwgZmFsbGJhY2sgdG8gdGhlIGRlZmF1bHQgRE9NIHRyZWUgYnVpbGRpbmcgcm91dGluZXMuCisgKgorICogUmV0dXJucyB0aGUgcmVzdWx0aW5nIGRvY3VtZW50IHRyZWUKKyAqLworCitkb2NiRG9jUHRyCitkb2NiU0FYUGFyc2VGaWxlKGNvbnN0IGNoYXIgKmZpbGVuYW1lIEFUVFJJQlVURV9VTlVTRUQsCisgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmVuY29kaW5nIEFUVFJJQlVURV9VTlVTRUQsCisgICAgICAgICAgICAgICAgIGRvY2JTQVhIYW5kbGVyUHRyIHNheCBBVFRSSUJVVEVfVU5VU0VELAorCQkgdm9pZCAqdXNlckRhdGEgQVRUUklCVVRFX1VOVVNFRCkKK3sKKyAgICBzdGF0aWMgaW50IGRlcHJlY2F0ZWQgPSAwOworCisgICAgaWYgKCFkZXByZWNhdGVkKSB7CisgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgImRvY2JTQVhQYXJzZUZpbGUoKSBkZXByZWNhdGVkIGZ1bmN0aW9uIHJlYWNoZWRcbiIpOworICAgICAgICBkZXByZWNhdGVkID0gMTsKKyAgICB9CisKKyAgICByZXR1cm4gKHhtbFNBWFBhcnNlRmlsZVdpdGhEYXRhKHNheCwgZmlsZW5hbWUsIDAsIHVzZXJEYXRhKSk7Cit9CisKKy8qKgorICogZG9jYlBhcnNlRmlsZToKKyAqIEBmaWxlbmFtZTogIHRoZSBmaWxlbmFtZQorICogQGVuY29kaW5nOiAgYSBmcmVlIGZvcm0gQyBzdHJpbmcgZGVzY3JpYmluZyBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTAorICoKKyAqIHBhcnNlIGEgRG9jYm9vayBTR01MIGZpbGUgYW5kIGJ1aWxkIGEgdHJlZS4gQXV0b21hdGljIHN1cHBvcnQgZm9yCisgKiBaTElCL0NvbXByZXNzIGNvbXByZXNzZWQgZG9jdW1lbnQgaXMgcHJvdmlkZWQgYnkgZGVmYXVsdCBpZiBmb3VuZAorICogYXQgY29tcGlsZS10aW1lLgorICoKKyAqIFJldHVybnMgdGhlIHJlc3VsdGluZyBkb2N1bWVudCB0cmVlCisgKi8KKworZG9jYkRvY1B0cgorZG9jYlBhcnNlRmlsZShjb25zdCBjaGFyICpmaWxlbmFtZSBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgICBjb25zdCBjaGFyICplbmNvZGluZyBBVFRSSUJVVEVfVU5VU0VEKQoreworICAgIHN0YXRpYyBpbnQgZGVwcmVjYXRlZCA9IDA7CisKKyAgICBpZiAoIWRlcHJlY2F0ZWQpIHsKKyAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAiZG9jYlBhcnNlRmlsZSgpIGRlcHJlY2F0ZWQgZnVuY3Rpb24gcmVhY2hlZFxuIik7CisgICAgICAgIGRlcHJlY2F0ZWQgPSAxOworICAgIH0KKworICAgIHJldHVybiAoeG1sUGFyc2VGaWxlKGZpbGVuYW1lKSk7Cit9CisjZGVmaW5lIGJvdHRvbV9ET0NCcGFyc2VyCisjaW5jbHVkZSAiZWxmZ2NjaGFjay5oIgorI2VuZGlmIC8qIExJQlhNTF9ET0NCX0VOQUJMRUQgKi8KZGlmZiAtLWdpdCBhL2xpYnhtbDIvSEFDS0lORyBiL2xpYnhtbDIvSEFDS0lORwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZDI4Mjk0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9IQUNLSU5HCkBAIC0wLDAgKzEsMzcgQEAKK05PVEU6IAorICAtIHRoZSBoZWFkIG9mIHRoaXMgbW9kdWxlIGlzIHBhY2thZ2UgbGlieG1sLTIgLiBUaGVyZSBpcyBpbmNvbXBhdGliaWxpdGllcworICAgIHdpdGggdGhlIG9sZCBsaWJ4bWwtMSBoZWFkZXJzLiBJIHBvc3RlZCBvbiBnbm9tZS1oYWNrZXJzIGEgcmVjaXBlIHRvCisgICAgY2hhbmdlIHlvdXIgY29kZSB0byBjb21waWxlIHdpdGggYm90aCwgY2hlY2sgaXQgb3V0ICEgQWxzbyByZWFkCisgICAgaHR0cDovL3htbHNvZnQub3JnL3VwZ3JhZGUuaHRtbAorICAtIGluIHRoZSBtZWFudGltZSB0aGUgb2xkIDEueCBjb2RlIGhhcyBiZWVuIHRhZ2dlZCB3aXRoIExJQl9YTUxfMV9CUkFOQ0gKKyAgICBleHRyYWN0IHRoaXMgdmVyc2lvbiBhbmQgZHJvcCBtZSBhIG1haWwgaWYgeW91IHdhbnQgbWUgdG8gdGFrZSBjYXJlIG9mCisgICAgdGhlIHVwZGF0ZSBvZiB5b3VyIG1vZHVsZSB0byBsaWJ4bWwtMiA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKyAgLSB0aGUgMS54IGJyYW5jaCBoYXMgYSBzZXBhcmF0ZSBjb21taXQgcG9saWN5LCBwbGVhc2UgY2hlY2sgdGhlIEhBQ0tJTkcKKyAgICBmaWxlIGZvciB0aGlzIGJyYW5jaAorCisgICAgIFJ1bGVzIGZvciBjb21taXRzIG9uIHRoZSBnbm9tZS14bWwgbW9kdWxlCisgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKKyAgQkVGT1JFIFJFQURJTkcgRlVSVEhFUjogRE8gTk9UIENPTU1JVCBESVJFQ1RMWSAhCisKKyBJbiB0aGUgZXhjZXB0aW9uYWwgY2FzZSB3aGVyZSBhIHNlcmlvdXMgYnJlYWthZ2UgaW4gdGhpcyBtb2R1bGUKK3ByZXZlbnRzIG90aGVyIGNvcmUgcHJvamVjdHMgZnJvbSBtYWtpbmcgcHJvZ3Jlc3MsIHRoZW4gZmVlbCBmcmVlCit0byBwYXRjaCBmaXJzdCBhbmQgc2VuZCBtYWlsIGFmdGVyd2FyZCBhcyBsb25nIGFzIHRoZSBjaGFuZ2VzIGFyZSBsaW1pdGVkLgorUGxlYXNlIGtlZXAgaW4gbWluZCB0aGF0IGEgbGFyZ2UgcGFydCBvZiBteSB1c2VyIGJhc2UgaXMgb24gV2luZG93cywgc28KK2JlIGNhcmVmdWwgd2l0aCBwb3RlbnRpYWwgcG9ydGFiaWxpdHkgcHJvYmxlbXMgdGhlcmUuCisKK090aGVyd2lzZSwgc2VuZCBtZSAodmVpbGxhcmRAcmVkaGF0LmNvbSkgYSBtYWlsIGFuZCBpZiBpdCdzIGEgYnVnCitpc3N1ZSwgcmVnaXN0ZXIgaXQgYXQgYnVnemlsbGEuZ25vbWUub3JnIChtb2R1bGUgbGlieG1sKS4gSSBjaGVjayBib3RoCitteSBtYWlsIGFuZCB0aGUgYnVnIGRhdGFiYXNlIG9uIGEgcmVndWxhciBiYXNpcy4gSWYgeW91IGRvbid0IGdldCBhbgorYW5zd2VyIHdpdGhpbiBhIHdlZWsgKHdoaWNoIGlzIGhpZ2hseSB1bnByb2JhYmxlKSB0aGVuIGNvbW1pdCB5b3VyIGNoYW5nZXMuCitUaGlzIHNpbXBseSBtZWFuIHRoYXQgSSdtIG9uIGhvbGxpZGF5IG9yIG9uIHRoZSByb2FkLgorCisgIHRoYW5rcyBpbiBhZHZhbmNlIGZvciBmb2xsb3dpbmcgdGhlIHJ1bGUsCisKK0RhbmllbAorCitQLlMuOiBCam9ybiBSZWVzZSwgV2lsbGlhbSBCcmFjaywgVGhvbWFzIEJyb3llciwgSWdvciBabGF0a292aWMgYW5kCisgICAgICBBbGVrc2V5IFNhbmluIGdldCBhbiBleGNlcHRpb24gZm9yIHRoZSBzZW5kIGJlZm9yZSBjb21taXQgcnVsZQorICAgICAgYXMgd2VsbCBhcyBKb2huIEZsZWNrIGZvciB0aGUgZG9jIG1haW50ZW5hbmNlIFNlbmQgdGhlbSBtYWlsIGlmCisgICAgICBJIGRvbid0IGFuc3dlciB0byByZXF1ZXN0IGluIGEgdGltZWx5IGZhc2hpb24KKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9IVE1McGFyc2VyLmMgYi9saWJ4bWwyL0hUTUxwYXJzZXIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMzI5ZDNiCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9IVE1McGFyc2VyLmMKQEAgLTAsMCArMSw3MDg3IEBACisvKgorICogSFRNTHBhcnNlci5jIDogYW4gSFRNTCA0LjAgbm9uLXZlcmlmeWluZyBwYXJzZXIKKyAqCisgKiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisgKgorICogZGFuaWVsQHZlaWxsYXJkLmNvbQorICovCisKKyNkZWZpbmUgSU5fTElCWE1MCisjaW5jbHVkZSAibGlieG1sLmgiCisjaWZkZWYgTElCWE1MX0hUTUxfRU5BQkxFRAorCisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaWZkZWYgSEFWRV9DVFlQRV9ICisjaW5jbHVkZSA8Y3R5cGUuaD4KKyNlbmRpZgorI2lmZGVmIEhBVkVfU1RETElCX0gKKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNlbmRpZgorI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjZW5kaWYKKyNpZmRlZiBIQVZFX0ZDTlRMX0gKKyNpbmNsdWRlIDxmY250bC5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9VTklTVERfSAorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9aTElCX0gKKyNpbmNsdWRlIDx6bGliLmg+CisjZW5kaWYKKworI2luY2x1ZGUgPGxpYnhtbC94bWxtZW1vcnkuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvdHJlZS5oPgorI2luY2x1ZGUgPGxpYnhtbC9wYXJzZXIuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvcGFyc2VySW50ZXJuYWxzLmg+CisjaW5jbHVkZSA8bGlieG1sL3htbGVycm9yLmg+CisjaW5jbHVkZSA8bGlieG1sL0hUTUxwYXJzZXIuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvSFRNTHRyZWUuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvZW50aXRpZXMuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvZW5jb2RpbmcuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvdmFsaWQuaD4KKyNpbmNsdWRlIDxsaWJ4bWwveG1sSU8uaD4KKyNpbmNsdWRlIDxsaWJ4bWwvZ2xvYmFscy5oPgorI2luY2x1ZGUgPGxpYnhtbC91cmkuaD4KKworI2luY2x1ZGUgImJ1Zi5oIgorI2luY2x1ZGUgImVuYy5oIgorCisjZGVmaW5lIEhUTUxfTUFYX05BTUVMRU4gMTAwMAorI2RlZmluZSBIVE1MX1BBUlNFUl9CSUdfQlVGRkVSX1NJWkUgMTAwMAorI2RlZmluZSBIVE1MX1BBUlNFUl9CVUZGRVJfU0laRSAxMDAKKworLyogI2RlZmluZSBERUJVRyAqLworLyogI2RlZmluZSBERUJVR19QVVNIICovCisKK3N0YXRpYyBpbnQgaHRtbE9taXR0ZWREZWZhdWx0VmFsdWUgPSAxOworCit4bWxDaGFyICogaHRtbERlY29kZUVudGl0aWVzKGh0bWxQYXJzZXJDdHh0UHRyIGN0eHQsIGludCBsZW4sCisJCQkgICAgIHhtbENoYXIgZW5kLCB4bWxDaGFyICBlbmQyLCB4bWxDaGFyIGVuZDMpOworc3RhdGljIHZvaWQgaHRtbFBhcnNlQ29tbWVudChodG1sUGFyc2VyQ3R4dFB0ciBjdHh0KTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJU29tZSBmYWN0b3JpemVkIGVycm9yIHJvdXRpbmVzCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqCisgKiBodG1sRXJyTWVtb3J5OgorICogQGN0eHQ6ICBhbiBIVE1MIHBhcnNlciBjb250ZXh0CisgKiBAZXh0cmE6ICBleHRyYSBpbmZvcm1hdGlvbnMKKyAqCisgKiBIYW5kbGUgYSByZWRlZmluaXRpb24gb2YgYXR0cmlidXRlIGVycm9yCisgKi8KK3N0YXRpYyB2b2lkCitodG1sRXJyTWVtb3J5KHhtbFBhcnNlckN0eHRQdHIgY3R4dCwgY29uc3QgY2hhciAqZXh0cmEpCit7CisgICAgaWYgKChjdHh0ICE9IE5VTEwpICYmIChjdHh0LT5kaXNhYmxlU0FYICE9IDApICYmCisgICAgICAgIChjdHh0LT5pbnN0YXRlID09IFhNTF9QQVJTRVJfRU9GKSkKKwlyZXR1cm47CisgICAgaWYgKGN0eHQgIT0gTlVMTCkgeworICAgICAgICBjdHh0LT5lcnJObyA9IFhNTF9FUlJfTk9fTUVNT1JZOworICAgICAgICBjdHh0LT5pbnN0YXRlID0gWE1MX1BBUlNFUl9FT0Y7CisgICAgICAgIGN0eHQtPmRpc2FibGVTQVggPSAxOworICAgIH0KKyAgICBpZiAoZXh0cmEpCisgICAgICAgIF9feG1sUmFpc2VFcnJvcihOVUxMLCBOVUxMLCBOVUxMLCBjdHh0LCBOVUxMLCBYTUxfRlJPTV9QQVJTRVIsCisgICAgICAgICAgICAgICAgICAgICAgICBYTUxfRVJSX05PX01FTU9SWSwgWE1MX0VSUl9GQVRBTCwgTlVMTCwgMCwgZXh0cmEsCisgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCBOVUxMLCAwLCAwLAorICAgICAgICAgICAgICAgICAgICAgICAgIk1lbW9yeSBhbGxvY2F0aW9uIGZhaWxlZCA6ICVzXG4iLCBleHRyYSk7CisgICAgZWxzZQorICAgICAgICBfX3htbFJhaXNlRXJyb3IoTlVMTCwgTlVMTCwgTlVMTCwgY3R4dCwgTlVMTCwgWE1MX0ZST01fUEFSU0VSLAorICAgICAgICAgICAgICAgICAgICAgICAgWE1MX0VSUl9OT19NRU1PUlksIFhNTF9FUlJfRkFUQUwsIE5VTEwsIDAsIE5VTEwsCisgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCBOVUxMLCAwLCAwLCAiTWVtb3J5IGFsbG9jYXRpb24gZmFpbGVkXG4iKTsKK30KKworLyoqCisgKiBodG1sUGFyc2VFcnI6CisgKiBAY3R4dDogIGFuIEhUTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBlcnJvcjogIHRoZSBlcnJvciBudW1iZXIKKyAqIEBtc2c6ICB0aGUgZXJyb3IgbWVzc2FnZQorICogQHN0cjE6ICBzdHJpbmcgaW5mb3IKKyAqIEBzdHIyOiAgc3RyaW5nIGluZm9yCisgKgorICogSGFuZGxlIGEgZmF0YWwgcGFyc2VyIGVycm9yLCBpLmUuIHZpb2xhdGluZyBXZWxsLUZvcm1lZG5lc3MgY29uc3RyYWludHMKKyAqLworc3RhdGljIHZvaWQKK2h0bWxQYXJzZUVycih4bWxQYXJzZXJDdHh0UHRyIGN0eHQsIHhtbFBhcnNlckVycm9ycyBlcnJvciwKKyAgICAgICAgICAgICBjb25zdCBjaGFyICptc2csIGNvbnN0IHhtbENoYXIgKnN0cjEsIGNvbnN0IHhtbENoYXIgKnN0cjIpCit7CisgICAgaWYgKChjdHh0ICE9IE5VTEwpICYmIChjdHh0LT5kaXNhYmxlU0FYICE9IDApICYmCisgICAgICAgIChjdHh0LT5pbnN0YXRlID09IFhNTF9QQVJTRVJfRU9GKSkKKwlyZXR1cm47CisgICAgaWYgKGN0eHQgIT0gTlVMTCkKKwljdHh0LT5lcnJObyA9IGVycm9yOworICAgIF9feG1sUmFpc2VFcnJvcihOVUxMLCBOVUxMLCBOVUxMLCBjdHh0LCBOVUxMLCBYTUxfRlJPTV9IVE1MLCBlcnJvciwKKyAgICAgICAgICAgICAgICAgICAgWE1MX0VSUl9FUlJPUiwgTlVMTCwgMCwKKwkJICAgIChjb25zdCBjaGFyICopIHN0cjEsIChjb25zdCBjaGFyICopIHN0cjIsCisJCSAgICBOVUxMLCAwLCAwLAorCQkgICAgbXNnLCBzdHIxLCBzdHIyKTsKKyAgICBpZiAoY3R4dCAhPSBOVUxMKQorCWN0eHQtPndlbGxGb3JtZWQgPSAwOworfQorCisvKioKKyAqIGh0bWxQYXJzZUVyckludDoKKyAqIEBjdHh0OiAgYW4gSFRNTCBwYXJzZXIgY29udGV4dAorICogQGVycm9yOiAgdGhlIGVycm9yIG51bWJlcgorICogQG1zZzogIHRoZSBlcnJvciBtZXNzYWdlCisgKiBAdmFsOiAgaW50ZWdlciBpbmZvCisgKgorICogSGFuZGxlIGEgZmF0YWwgcGFyc2VyIGVycm9yLCBpLmUuIHZpb2xhdGluZyBXZWxsLUZvcm1lZG5lc3MgY29uc3RyYWludHMKKyAqLworc3RhdGljIHZvaWQKK2h0bWxQYXJzZUVyckludCh4bWxQYXJzZXJDdHh0UHRyIGN0eHQsIHhtbFBhcnNlckVycm9ycyBlcnJvciwKKyAgICAgICAgICAgICBjb25zdCBjaGFyICptc2csIGludCB2YWwpCit7CisgICAgaWYgKChjdHh0ICE9IE5VTEwpICYmIChjdHh0LT5kaXNhYmxlU0FYICE9IDApICYmCisgICAgICAgIChjdHh0LT5pbnN0YXRlID09IFhNTF9QQVJTRVJfRU9GKSkKKwlyZXR1cm47CisgICAgaWYgKGN0eHQgIT0gTlVMTCkKKwljdHh0LT5lcnJObyA9IGVycm9yOworICAgIF9feG1sUmFpc2VFcnJvcihOVUxMLCBOVUxMLCBOVUxMLCBjdHh0LCBOVUxMLCBYTUxfRlJPTV9IVE1MLCBlcnJvciwKKyAgICAgICAgICAgICAgICAgICAgWE1MX0VSUl9FUlJPUiwgTlVMTCwgMCwgTlVMTCwgTlVMTCwKKwkJICAgIE5VTEwsIHZhbCwgMCwgbXNnLCB2YWwpOworICAgIGlmIChjdHh0ICE9IE5VTEwpCisJY3R4dC0+d2VsbEZvcm1lZCA9IDA7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJUGFyc2VyIHN0YWNrcyByZWxhdGVkIGZ1bmN0aW9ucyBhbmQgbWFjcm9zCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKgorICogaHRtbG5hbWVQdXNoOgorICogQGN0eHQ6ICBhbiBIVE1MIHBhcnNlciBjb250ZXh0CisgKiBAdmFsdWU6ICB0aGUgZWxlbWVudCBuYW1lCisgKgorICogUHVzaGVzIGEgbmV3IGVsZW1lbnQgbmFtZSBvbiB0b3Agb2YgdGhlIG5hbWUgc3RhY2sKKyAqCisgKiBSZXR1cm5zIDAgaW4gY2FzZSBvZiBlcnJvciwgdGhlIGluZGV4IGluIHRoZSBzdGFjayBvdGhlcndpc2UKKyAqLworc3RhdGljIGludAoraHRtbG5hbWVQdXNoKGh0bWxQYXJzZXJDdHh0UHRyIGN0eHQsIGNvbnN0IHhtbENoYXIgKiB2YWx1ZSkKK3sKKyAgICBpZiAoKGN0eHQtPmh0bWwgPCAzKSAmJiAoeG1sU3RyRXF1YWwodmFsdWUsIEJBRF9DQVNUICJoZWFkIikpKQorICAgICAgICBjdHh0LT5odG1sID0gMzsKKyAgICBpZiAoKGN0eHQtPmh0bWwgPCAxMCkgJiYgKHhtbFN0ckVxdWFsKHZhbHVlLCBCQURfQ0FTVCAiYm9keSIpKSkKKyAgICAgICAgY3R4dC0+aHRtbCA9IDEwOworICAgIGlmIChjdHh0LT5uYW1lTnIgPj0gY3R4dC0+bmFtZU1heCkgeworICAgICAgICBjdHh0LT5uYW1lTWF4ICo9IDI7CisgICAgICAgIGN0eHQtPm5hbWVUYWIgPSAoY29uc3QgeG1sQ2hhciAqICopCisgICAgICAgICAgICAgICAgICAgICAgICAgeG1sUmVhbGxvYygoeG1sQ2hhciAqICopY3R4dC0+bmFtZVRhYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN0eHQtPm5hbWVNYXggKgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKGN0eHQtPm5hbWVUYWJbMF0pKTsKKyAgICAgICAgaWYgKGN0eHQtPm5hbWVUYWIgPT0gTlVMTCkgeworICAgICAgICAgICAgaHRtbEVyck1lbW9yeShjdHh0LCBOVUxMKTsKKyAgICAgICAgICAgIHJldHVybiAoMCk7CisgICAgICAgIH0KKyAgICB9CisgICAgY3R4dC0+bmFtZVRhYltjdHh0LT5uYW1lTnJdID0gdmFsdWU7CisgICAgY3R4dC0+bmFtZSA9IHZhbHVlOworICAgIHJldHVybiAoY3R4dC0+bmFtZU5yKyspOworfQorLyoqCisgKiBodG1sbmFtZVBvcDoKKyAqIEBjdHh0OiBhbiBIVE1MIHBhcnNlciBjb250ZXh0CisgKgorICogUG9wcyB0aGUgdG9wIGVsZW1lbnQgbmFtZSBmcm9tIHRoZSBuYW1lIHN0YWNrCisgKgorICogUmV0dXJucyB0aGUgbmFtZSBqdXN0IHJlbW92ZWQKKyAqLworc3RhdGljIGNvbnN0IHhtbENoYXIgKgoraHRtbG5hbWVQb3AoaHRtbFBhcnNlckN0eHRQdHIgY3R4dCkKK3sKKyAgICBjb25zdCB4bWxDaGFyICpyZXQ7CisKKyAgICBpZiAoY3R4dC0+bmFtZU5yIDw9IDApCisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgY3R4dC0+bmFtZU5yLS07CisgICAgaWYgKGN0eHQtPm5hbWVOciA8IDApCisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgaWYgKGN0eHQtPm5hbWVOciA+IDApCisgICAgICAgIGN0eHQtPm5hbWUgPSBjdHh0LT5uYW1lVGFiW2N0eHQtPm5hbWVOciAtIDFdOworICAgIGVsc2UKKyAgICAgICAgY3R4dC0+bmFtZSA9IE5VTEw7CisgICAgcmV0ID0gY3R4dC0+bmFtZVRhYltjdHh0LT5uYW1lTnJdOworICAgIGN0eHQtPm5hbWVUYWJbY3R4dC0+bmFtZU5yXSA9IE5VTEw7CisgICAgcmV0dXJuIChyZXQpOworfQorCisvKioKKyAqIGh0bWxOb2RlSW5mb1B1c2g6CisgKiBAY3R4dDogIGFuIEhUTUwgcGFyc2VyIGNvbnRleHQKKyAqIEB2YWx1ZTogIHRoZSBub2RlIGluZm8KKyAqCisgKiBQdXNoZXMgYSBuZXcgZWxlbWVudCBuYW1lIG9uIHRvcCBvZiB0aGUgbm9kZSBpbmZvIHN0YWNrCisgKgorICogUmV0dXJucyAwIGluIGNhc2Ugb2YgZXJyb3IsIHRoZSBpbmRleCBpbiB0aGUgc3RhY2sgb3RoZXJ3aXNlCisgKi8KK3N0YXRpYyBpbnQKK2h0bWxOb2RlSW5mb1B1c2goaHRtbFBhcnNlckN0eHRQdHIgY3R4dCwgaHRtbFBhcnNlck5vZGVJbmZvICp2YWx1ZSkKK3sKKyAgICBpZiAoY3R4dC0+bm9kZUluZm9OciA+PSBjdHh0LT5ub2RlSW5mb01heCkgeworICAgICAgICBpZiAoY3R4dC0+bm9kZUluZm9NYXggPT0gMCkKKyAgICAgICAgICAgICAgICBjdHh0LT5ub2RlSW5mb01heCA9IDU7CisgICAgICAgIGN0eHQtPm5vZGVJbmZvTWF4ICo9IDI7CisgICAgICAgIGN0eHQtPm5vZGVJbmZvVGFiID0gKGh0bWxQYXJzZXJOb2RlSW5mbyAqKQorICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFJlYWxsb2MoKGh0bWxQYXJzZXJOb2RlSW5mbyAqKWN0eHQtPm5vZGVJbmZvVGFiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3R4dC0+bm9kZUluZm9NYXggKgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKGN0eHQtPm5vZGVJbmZvVGFiWzBdKSk7CisgICAgICAgIGlmIChjdHh0LT5ub2RlSW5mb1RhYiA9PSBOVUxMKSB7CisgICAgICAgICAgICBodG1sRXJyTWVtb3J5KGN0eHQsIE5VTEwpOworICAgICAgICAgICAgcmV0dXJuICgwKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBjdHh0LT5ub2RlSW5mb1RhYltjdHh0LT5ub2RlSW5mb05yXSA9ICp2YWx1ZTsKKyAgICBjdHh0LT5ub2RlSW5mbyA9ICZjdHh0LT5ub2RlSW5mb1RhYltjdHh0LT5ub2RlSW5mb05yXTsKKyAgICByZXR1cm4gKGN0eHQtPm5vZGVJbmZvTnIrKyk7Cit9CisKKy8qKgorICogaHRtbE5vZGVJbmZvUG9wOgorICogQGN0eHQ6ICBhbiBIVE1MIHBhcnNlciBjb250ZXh0CisgKgorICogUG9wcyB0aGUgdG9wIGVsZW1lbnQgbmFtZSBmcm9tIHRoZSBub2RlIGluZm8gc3RhY2sKKyAqCisgKiBSZXR1cm5zIDAgaW4gY2FzZSBvZiBlcnJvciwgdGhlIHBvaW50ZXIgdG8gTm9kZUluZm8gb3RoZXJ3aXNlCisgKi8KK3N0YXRpYyBodG1sUGFyc2VyTm9kZUluZm8gKgoraHRtbE5vZGVJbmZvUG9wKGh0bWxQYXJzZXJDdHh0UHRyIGN0eHQpCit7CisgICAgaWYgKGN0eHQtPm5vZGVJbmZvTnIgPD0gMCkKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICBjdHh0LT5ub2RlSW5mb05yLS07CisgICAgaWYgKGN0eHQtPm5vZGVJbmZvTnIgPCAwKQorICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIGlmIChjdHh0LT5ub2RlSW5mb05yID4gMCkKKyAgICAgICAgY3R4dC0+bm9kZUluZm8gPSAmY3R4dC0+bm9kZUluZm9UYWJbY3R4dC0+bm9kZUluZm9OciAtIDFdOworICAgIGVsc2UKKyAgICAgICAgY3R4dC0+bm9kZUluZm8gPSBOVUxMOworICAgIHJldHVybiAmY3R4dC0+bm9kZUluZm9UYWJbY3R4dC0+bm9kZUluZm9Ocl07Cit9CisKKy8qCisgKiBNYWNyb3MgZm9yIGFjY2Vzc2luZyB0aGUgY29udGVudC4gVGhvc2Ugc2hvdWxkIGJlIHVzZWQgb25seSBieSB0aGUgcGFyc2VyLAorICogYW5kIG5vdCBleHBvcnRlZC4KKyAqCisgKiBEaXJ0eSBtYWNyb3MsIGkuZS4gb25lIG5lZWQgdG8gbWFrZSBhc3N1bXB0aW9uIG9uIHRoZSBjb250ZXh0IHRvIHVzZSB0aGVtCisgKgorICogICBDVVJfUFRSIHJldHVybiB0aGUgY3VycmVudCBwb2ludGVyIHRvIHRoZSB4bWxDaGFyIHRvIGJlIHBhcnNlZC4KKyAqICAgQ1VSICAgICByZXR1cm5zIHRoZSBjdXJyZW50IHhtbENoYXIgdmFsdWUsIGkuZS4gYSA4IGJpdCB2YWx1ZSBpZiBjb21waWxlZAorICogICAgICAgICAgIGluIElTTy1MYXRpbiBvciBVVEYtOCwgYW5kIHRoZSBjdXJyZW50IDE2IGJpdCB2YWx1ZSBpZiBjb21waWxlZAorICogICAgICAgICAgIGluIFVOSUNPREUgbW9kZS4gVGhpcyBzaG91bGQgYmUgdXNlZCBpbnRlcm5hbGx5IGJ5IHRoZSBwYXJzZXIKKyAqICAgICAgICAgICBvbmx5IHRvIGNvbXBhcmUgdG8gQVNDSUkgdmFsdWVzIG90aGVyd2lzZSBpdCB3b3VsZCBicmVhayB3aGVuCisgKiAgICAgICAgICAgcnVubmluZyB3aXRoIFVURi04IGVuY29kaW5nLgorICogICBOWFQobikgIHJldHVybnMgdGhlIG4ndGggbmV4dCB4bWxDaGFyLiBTYW1lIGFzIENVUiBpcyBzaG91bGQgYmUgdXNlZCBvbmx5CisgKiAgICAgICAgICAgdG8gY29tcGFyZSBvbiBBU0NJSSBiYXNlZCBzdWJzdHJpbmcuCisgKiAgIFVQUChuKSAgcmV0dXJucyB0aGUgbid0aCBuZXh0IHhtbENoYXIgY29udmVydGVkIHRvIHVwcGVyY2FzZS4gU2FtZSBhcyBDVVIKKyAqICAgICAgICAgICBpdCBzaG91bGQgYmUgdXNlZCBvbmx5IHRvIGNvbXBhcmUgb24gQVNDSUkgYmFzZWQgc3Vic3RyaW5nLgorICogICBTS0lQKG4pIFNraXAgbiB4bWxDaGFyLCBhbmQgbXVzdCBhbHNvIGJlIHVzZWQgb25seSB0byBza2lwIEFTQ0lJIGRlZmluZWQKKyAqICAgICAgICAgICBzdHJpbmdzIHdpdGhvdXQgbmV3bGluZXMgd2l0aGluIHRoZSBwYXJzZXIuCisgKgorICogQ2xlYW4gbWFjcm9zLCBub3QgZGVwZW5kZW50IG9mIGFuIEFTQ0lJIGNvbnRleHQsIGV4cGVjdCBVVEYtOCBlbmNvZGluZworICoKKyAqICAgQ1VSUkVOVCBSZXR1cm5zIHRoZSBjdXJyZW50IGNoYXIgdmFsdWUsIHdpdGggdGhlIGZ1bGwgZGVjb2Rpbmcgb2YKKyAqICAgICAgICAgICBVVEYtOCBpZiB3ZSBhcmUgdXNpbmcgdGhpcyBtb2RlLiBJdCByZXR1cm5zIGFuIGludC4KKyAqICAgTkVYVCAgICBTa2lwIHRvIHRoZSBuZXh0IGNoYXJhY3RlciwgdGhpcyBkb2VzIHRoZSBwcm9wZXIgZGVjb2RpbmcKKyAqICAgICAgICAgICBpbiBVVEYtOCBtb2RlLiBJdCBhbHNvIHBvcC11cCB1bmZpbmlzaGVkIGVudGl0aWVzIG9uIHRoZSBmbHkuCisgKiAgIE5FWFRMKGwpIFNraXAgdGhlIGN1cnJlbnQgdW5pY29kZSBjaGFyYWN0ZXIgb2YgbCB4bWxDaGFycyBsb25nLgorICogICBDT1BZKHRvKSBjb3B5IG9uZSBjaGFyIHRvICp0bywgaW5jcmVtZW50IENVUl9QVFIgYW5kIHRvIGFjY29yZGluZ2x5CisgKi8KKworI2RlZmluZSBVUFBFUiAodG91cHBlcigqY3R4dC0+aW5wdXQtPmN1cikpCisKKyNkZWZpbmUgU0tJUCh2YWwpIGN0eHQtPm5iQ2hhcnMgKz0gKHZhbCksY3R4dC0+aW5wdXQtPmN1ciArPSAodmFsKSxjdHh0LT5pbnB1dC0+Y29sKz0odmFsKQorCisjZGVmaW5lIE5YVCh2YWwpIGN0eHQtPmlucHV0LT5jdXJbKHZhbCldCisKKyNkZWZpbmUgVVBQKHZhbCkgKHRvdXBwZXIoY3R4dC0+aW5wdXQtPmN1clsodmFsKV0pKQorCisjZGVmaW5lIENVUl9QVFIgY3R4dC0+aW5wdXQtPmN1cgorCisjZGVmaW5lIFNIUklOSyBpZiAoKGN0eHQtPmlucHV0LT5jdXIgLSBjdHh0LT5pbnB1dC0+YmFzZSA+IDIgKiBJTlBVVF9DSFVOSykgJiYgXAorCQkgICAoY3R4dC0+aW5wdXQtPmVuZCAtIGN0eHQtPmlucHV0LT5jdXIgPCAyICogSU5QVVRfQ0hVTkspKSBcCisJeG1sUGFyc2VySW5wdXRTaHJpbmsoY3R4dC0+aW5wdXQpCisKKyNkZWZpbmUgR1JPVyBpZiAoKGN0eHQtPnByb2dyZXNzaXZlID09IDApICYmCQkJCVwKKwkJIChjdHh0LT5pbnB1dC0+ZW5kIC0gY3R4dC0+aW5wdXQtPmN1ciA8IElOUFVUX0NIVU5LKSkJXAorCXhtbFBhcnNlcklucHV0R3JvdyhjdHh0LT5pbnB1dCwgSU5QVVRfQ0hVTkspCisKKyNkZWZpbmUgQ1VSUkVOVCAoKGludCkgKCpjdHh0LT5pbnB1dC0+Y3VyKSkKKworI2RlZmluZSBTS0lQX0JMQU5LUyBodG1sU2tpcEJsYW5rQ2hhcnMoY3R4dCkKKworLyogSW5wb3J0ZWQgZnJvbSBYTUwgKi8KKworLyogI2RlZmluZSBDVVIgKGN0eHQtPnRva2VuID8gY3R4dC0+dG9rZW4gOiAoaW50KSAoKmN0eHQtPmlucHV0LT5jdXIpKSAqLworI2RlZmluZSBDVVIgKChpbnQpICgqY3R4dC0+aW5wdXQtPmN1cikpCisjZGVmaW5lIE5FWFQgeG1sTmV4dENoYXIoY3R4dCkKKworI2RlZmluZSBSQVcgKGN0eHQtPnRva2VuID8gLTEgOiAoKmN0eHQtPmlucHV0LT5jdXIpKQorCisKKyNkZWZpbmUgTkVYVEwobCkgZG8gewkJCQkJCQlcCisgICAgaWYgKCooY3R4dC0+aW5wdXQtPmN1cikgPT0gJ1xuJykgewkJCQkJXAorCWN0eHQtPmlucHV0LT5saW5lKys7IGN0eHQtPmlucHV0LT5jb2wgPSAxOwkJCVwKKyAgICB9IGVsc2UgY3R4dC0+aW5wdXQtPmNvbCsrOwkJCQkJCVwKKyAgICBjdHh0LT50b2tlbiA9IDA7IGN0eHQtPmlucHV0LT5jdXIgKz0gbDsgY3R4dC0+bmJDaGFycysrOwkJXAorICB9IHdoaWxlICgwKQorCisvKioqKioqKioqKioqCisgICAgXAorICAgIGlmICgqY3R4dC0+aW5wdXQtPmN1ciA9PSAnJScpIHhtbFBhcnNlckhhbmRsZVBFUmVmZXJlbmNlKGN0eHQpOwlcCisgICAgaWYgKCpjdHh0LT5pbnB1dC0+Y3VyID09ICcmJykgeG1sUGFyc2VySGFuZGxlUmVmZXJlbmNlKGN0eHQpOworICoqKioqKioqKioqKi8KKworI2RlZmluZSBDVVJfQ0hBUihsKSBodG1sQ3VycmVudENoYXIoY3R4dCwgJmwpCisjZGVmaW5lIENVUl9TQ0hBUihzLCBsKSB4bWxTdHJpbmdDdXJyZW50Q2hhcihjdHh0LCBzLCAmbCkKKworI2RlZmluZSBDT1BZX0JVRihsLGIsaSx2KQkJCQkJCVwKKyAgICBpZiAobCA9PSAxKSBiW2krK10gPSAoeG1sQ2hhcikgdjsJCQkJCVwKKyAgICBlbHNlIGkgKz0geG1sQ29weUNoYXIobCwmYltpXSx2KQorCisvKioKKyAqIGh0bWxGaW5kRW5jb2Rpbmc6CisgKiBAdGhlIEhUTUwgcGFyc2VyIGNvbnRleHQKKyAqCisgKiBUeSB0byBmaW5kIGFuZCBlbmNvZGluZyBpbiB0aGUgY3VycmVudCBkYXRhIGF2YWlsYWJsZSBpbiB0aGUgaW5wdXQKKyAqIGJ1ZmZlciB0aGlzIGlzIG5lZWRlZCB0byB0cnkgdG8gc3dpdGNoIHRvIHRoZSBwcm9wZXIgZW5jb2Rpbmcgd2hlbgorICogb25lIGZhY2UgYSBjaGFyYWN0ZXIgZXJyb3IuCisgKiBUaGF0J3MgYW4gaGV1cmlzdGljLCBzaW5jZSBpdCdzIG9wZXJhdGluZyBvdXRzaWRlIG9mIHBhcnNpbmcgaXQgY291bGQKKyAqIHRyeSB0byB1c2UgYSBtZXRhIHdoaWNoIGhhZCBiZWVuIGNvbW1lbnRlZCBvdXQsIHRoYXQncyB0aGUgcmVhc29uIGl0CisgKiBzaG91bGQgb25seSBiZSB1c2VkIGluIGNhc2Ugb2YgZXJyb3IsIG5vdCBhcyBhIGRlZmF1bHQuCisgKgorICogUmV0dXJucyBhbiBlbmNvZGluZyBzdHJpbmcgb3IgTlVMTCBpZiBub3QgZm91bmQsIHRoZSBzdHJpbmcgbmVlZCB0bworICogICBiZSBmcmVlZAorICovCitzdGF0aWMgeG1sQ2hhciAqCitodG1sRmluZEVuY29kaW5nKHhtbFBhcnNlckN0eHRQdHIgY3R4dCkgeworICAgIGNvbnN0IHhtbENoYXIgKnN0YXJ0LCAqY3VyLCAqZW5kOworCisgICAgaWYgKChjdHh0ID09IE5VTEwpIHx8IChjdHh0LT5pbnB1dCA9PSBOVUxMKSB8fAorICAgICAgICAoY3R4dC0+aW5wdXQtPmVuY29kaW5nICE9IE5VTEwpIHx8IChjdHh0LT5pbnB1dC0+YnVmID09IE5VTEwpIHx8CisgICAgICAgIChjdHh0LT5pbnB1dC0+YnVmLT5lbmNvZGVyICE9IE5VTEwpKQorICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgaWYgKChjdHh0LT5pbnB1dC0+Y3VyID09IE5VTEwpIHx8IChjdHh0LT5pbnB1dC0+ZW5kID09IE5VTEwpKQorICAgICAgICByZXR1cm4oTlVMTCk7CisKKyAgICBzdGFydCA9IGN0eHQtPmlucHV0LT5jdXI7CisgICAgZW5kID0gY3R4dC0+aW5wdXQtPmVuZDsKKyAgICAvKiB3ZSBhbHNvIGV4cGVjdCB0aGUgaW5wdXQgYnVmZmVyIHRvIGJlIHplcm8gdGVybWluYXRlZCAqLworICAgIGlmICgqZW5kICE9IDApCisgICAgICAgIHJldHVybihOVUxMKTsKKworICAgIGN1ciA9IHhtbFN0cmNhc2VzdHIoc3RhcnQsIEJBRF9DQVNUICJIVFRQLUVRVUlWIik7CisgICAgaWYgKGN1ciA9PSBOVUxMKQorICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgY3VyID0geG1sU3RyY2FzZXN0cihjdXIsIEJBRF9DQVNUICAiQ09OVEVOVCIpOworICAgIGlmIChjdXIgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuKE5VTEwpOworICAgIGN1ciA9IHhtbFN0cmNhc2VzdHIoY3VyLCBCQURfQ0FTVCAgIkNIQVJTRVQ9Iik7CisgICAgaWYgKGN1ciA9PSBOVUxMKQorICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgY3VyICs9IDg7CisgICAgc3RhcnQgPSBjdXI7CisgICAgd2hpbGUgKCgoKmN1ciA+PSAnQScpICYmICgqY3VyIDw9ICdaJykpIHx8CisgICAgICAgICAgICgoKmN1ciA+PSAnYScpICYmICgqY3VyIDw9ICd6JykpIHx8CisgICAgICAgICAgICgoKmN1ciA+PSAnMCcpICYmICgqY3VyIDw9ICc5JykpIHx8CisgICAgICAgICAgICgqY3VyID09ICctJykgfHwgKCpjdXIgPT0gJ18nKSB8fCAoKmN1ciA9PSAnOicpIHx8ICgqY3VyID09ICcvJykpCisgICAgICAgICAgIGN1cisrOworICAgIGlmIChjdXIgPT0gc3RhcnQpCisgICAgICAgIHJldHVybihOVUxMKTsKKyAgICByZXR1cm4oeG1sU3RybmR1cChzdGFydCwgY3VyIC0gc3RhcnQpKTsKK30KKworLyoqCisgKiBodG1sQ3VycmVudENoYXI6CisgKiBAY3R4dDogIHRoZSBIVE1MIHBhcnNlciBjb250ZXh0CisgKiBAbGVuOiAgcG9pbnRlciB0byB0aGUgbGVuZ3RoIG9mIHRoZSBjaGFyIHJlYWQKKyAqCisgKiBUaGUgY3VycmVudCBjaGFyIHZhbHVlLCBpZiB1c2luZyBVVEYtOCB0aGlzIG1heSBhY3R1YWxseSBzcGFuIG11bHRpcGxlCisgKiBieXRlcyBpbiB0aGUgaW5wdXQgYnVmZmVyLiBJbXBsZW1lbnQgdGhlIGVuZCBvZiBsaW5lIG5vcm1hbGl6YXRpb246CisgKiAyLjExIEVuZC1vZi1MaW5lIEhhbmRsaW5nCisgKiBJZiB0aGUgZW5jb2RpbmcgaXMgdW5zcGVjaWZpZWQsIGluIHRoZSBjYXNlIHdlIGZpbmQgYW4gSVNPLUxhdGluLTEKKyAqIGNoYXIsIHRoZW4gdGhlIGVuY29kaW5nIGNvbnZlcnRlciBpcyBwbHVnZ2VkIGluIGF1dG9tYXRpY2FsbHkuCisgKgorICogUmV0dXJucyB0aGUgY3VycmVudCBjaGFyIHZhbHVlIGFuZCBpdHMgbGVuZ3RoCisgKi8KKworc3RhdGljIGludAoraHRtbEN1cnJlbnRDaGFyKHhtbFBhcnNlckN0eHRQdHIgY3R4dCwgaW50ICpsZW4pIHsKKyAgICBpZiAoY3R4dC0+aW5zdGF0ZSA9PSBYTUxfUEFSU0VSX0VPRikKKwlyZXR1cm4oMCk7CisKKyAgICBpZiAoY3R4dC0+dG9rZW4gIT0gMCkgeworCSpsZW4gPSAwOworCXJldHVybihjdHh0LT50b2tlbik7CisgICAgfQorICAgIGlmIChjdHh0LT5jaGFyc2V0ID09IFhNTF9DSEFSX0VOQ09ESU5HX1VURjgpIHsKKwkvKgorCSAqIFdlIGFyZSBzdXBwb3NlZCB0byBoYW5kbGUgVVRGOCwgY2hlY2sgaXQncyB2YWxpZAorCSAqIEZyb20gcmZjMjA0NDogZW5jb2Rpbmcgb2YgdGhlIFVuaWNvZGUgdmFsdWVzIG9uIFVURi04OgorCSAqCisJICogVUNTLTQgcmFuZ2UgKGhleC4pICAgICAgICAgICBVVEYtOCBvY3RldCBzZXF1ZW5jZSAoYmluYXJ5KQorCSAqIDAwMDAgMDAwMC0wMDAwIDAwN0YgICAweHh4eHh4eAorCSAqIDAwMDAgMDA4MC0wMDAwIDA3RkYgICAxMTB4eHh4eCAxMHh4eHh4eAorCSAqIDAwMDAgMDgwMC0wMDAwIEZGRkYgICAxMTEweHh4eCAxMHh4eHh4eCAxMHh4eHh4eAorCSAqCisJICogQ2hlY2sgZm9yIHRoZSAweDExMDAwMCBsaW1pdCB0b28KKwkgKi8KKwljb25zdCB1bnNpZ25lZCBjaGFyICpjdXIgPSBjdHh0LT5pbnB1dC0+Y3VyOworCXVuc2lnbmVkIGNoYXIgYzsKKwl1bnNpZ25lZCBpbnQgdmFsOworCisJYyA9ICpjdXI7CisJaWYgKGMgJiAweDgwKSB7CisJICAgIGlmIChjdXJbMV0gPT0gMCkgeworCQl4bWxQYXJzZXJJbnB1dEdyb3coY3R4dC0+aW5wdXQsIElOUFVUX0NIVU5LKTsKKyAgICAgICAgICAgICAgICBjdXIgPSBjdHh0LT5pbnB1dC0+Y3VyOworICAgICAgICAgICAgfQorCSAgICBpZiAoKGN1clsxXSAmIDB4YzApICE9IDB4ODApCisJCWdvdG8gZW5jb2RpbmdfZXJyb3I7CisJICAgIGlmICgoYyAmIDB4ZTApID09IDB4ZTApIHsKKworCQlpZiAoY3VyWzJdID09IDApIHsKKwkJICAgIHhtbFBhcnNlcklucHV0R3JvdyhjdHh0LT5pbnB1dCwgSU5QVVRfQ0hVTkspOworICAgICAgICAgICAgICAgICAgICBjdXIgPSBjdHh0LT5pbnB1dC0+Y3VyOworICAgICAgICAgICAgICAgIH0KKwkJaWYgKChjdXJbMl0gJiAweGMwKSAhPSAweDgwKQorCQkgICAgZ290byBlbmNvZGluZ19lcnJvcjsKKwkJaWYgKChjICYgMHhmMCkgPT0gMHhmMCkgeworCQkgICAgaWYgKGN1clszXSA9PSAwKSB7CisJCQl4bWxQYXJzZXJJbnB1dEdyb3coY3R4dC0+aW5wdXQsIElOUFVUX0NIVU5LKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGN1ciA9IGN0eHQtPmlucHV0LT5jdXI7CisgICAgICAgICAgICAgICAgICAgIH0KKwkJICAgIGlmICgoKGMgJiAweGY4KSAhPSAweGYwKSB8fAorCQkJKChjdXJbM10gJiAweGMwKSAhPSAweDgwKSkKKwkJCWdvdG8gZW5jb2RpbmdfZXJyb3I7CisJCSAgICAvKiA0LWJ5dGUgY29kZSAqLworCQkgICAgKmxlbiA9IDQ7CisJCSAgICB2YWwgPSAoY3VyWzBdICYgMHg3KSA8PCAxODsKKwkJICAgIHZhbCB8PSAoY3VyWzFdICYgMHgzZikgPDwgMTI7CisJCSAgICB2YWwgfD0gKGN1clsyXSAmIDB4M2YpIDw8IDY7CisJCSAgICB2YWwgfD0gY3VyWzNdICYgMHgzZjsKKwkJfSBlbHNlIHsKKwkJICAvKiAzLWJ5dGUgY29kZSAqLworCQkgICAgKmxlbiA9IDM7CisJCSAgICB2YWwgPSAoY3VyWzBdICYgMHhmKSA8PCAxMjsKKwkJICAgIHZhbCB8PSAoY3VyWzFdICYgMHgzZikgPDwgNjsKKwkJICAgIHZhbCB8PSBjdXJbMl0gJiAweDNmOworCQl9CisJICAgIH0gZWxzZSB7CisJICAgICAgLyogMi1ieXRlIGNvZGUgKi8KKwkJKmxlbiA9IDI7CisJCXZhbCA9IChjdXJbMF0gJiAweDFmKSA8PCA2OworCQl2YWwgfD0gY3VyWzFdICYgMHgzZjsKKwkgICAgfQorCSAgICBpZiAoIUlTX0NIQVIodmFsKSkgeworCSAgICAgICAgaHRtbFBhcnNlRXJySW50KGN0eHQsIFhNTF9FUlJfSU5WQUxJRF9DSEFSLAorCQkJCSJDaGFyIDB4JVggb3V0IG9mIGFsbG93ZWQgcmFuZ2VcbiIsIHZhbCk7CisJICAgIH0KKwkgICAgcmV0dXJuKHZhbCk7CisJfSBlbHNlIHsKKyAgICAgICAgICAgIGlmICgoKmN0eHQtPmlucHV0LT5jdXIgPT0gMCkgJiYKKyAgICAgICAgICAgICAgICAoY3R4dC0+aW5wdXQtPmN1ciA8IGN0eHQtPmlucHV0LT5lbmQpKSB7CisgICAgICAgICAgICAgICAgICAgIGh0bWxQYXJzZUVyckludChjdHh0LCBYTUxfRVJSX0lOVkFMSURfQ0hBUiwKKwkJCQkiQ2hhciAweCVYIG91dCBvZiBhbGxvd2VkIHJhbmdlXG4iLCAwKTsKKyAgICAgICAgICAgICAgICAqbGVuID0gMTsKKyAgICAgICAgICAgICAgICByZXR1cm4oJyAnKTsKKyAgICAgICAgICAgIH0KKwkgICAgLyogMS1ieXRlIGNvZGUgKi8KKwkgICAgKmxlbiA9IDE7CisJICAgIHJldHVybigoaW50KSAqY3R4dC0+aW5wdXQtPmN1cik7CisJfQorICAgIH0KKyAgICAvKgorICAgICAqIEFzc3VtZSBpdCdzIGEgZml4ZWQgbGVuZ3RoIGVuY29kaW5nICgxKSB3aXRoCisgICAgICogYSBjb21wYXRpYmxlIGVuY29kaW5nIGZvciB0aGUgQVNDSUkgc2V0LCBzaW5jZQorICAgICAqIFhNTCBjb25zdHJ1Y3RzIG9ubHkgdXNlIDwgMTI4IGNoYXJzCisgICAgICovCisgICAgKmxlbiA9IDE7CisgICAgaWYgKChpbnQpICpjdHh0LT5pbnB1dC0+Y3VyIDwgMHg4MCkKKwlyZXR1cm4oKGludCkgKmN0eHQtPmlucHV0LT5jdXIpOworCisgICAgLyoKKyAgICAgKiBIdW1tIHRoaXMgaXMgYmFkLCBkbyBhbiBhdXRvbWF0aWMgZmxvdyBjb252ZXJzaW9uCisgICAgICovCisgICAgeworICAgICAgICB4bWxDaGFyICogZ3Vlc3M7CisgICAgICAgIHhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIgaGFuZGxlcjsKKworICAgICAgICBndWVzcyA9IGh0bWxGaW5kRW5jb2RpbmcoY3R4dCk7CisgICAgICAgIGlmIChndWVzcyA9PSBOVUxMKSB7CisgICAgICAgICAgICB4bWxTd2l0Y2hFbmNvZGluZyhjdHh0LCBYTUxfQ0hBUl9FTkNPRElOR184ODU5XzEpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgaWYgKGN0eHQtPmlucHV0LT5lbmNvZGluZyAhPSBOVUxMKQorICAgICAgICAgICAgICAgIHhtbEZyZWUoKHhtbENoYXIgKikgY3R4dC0+aW5wdXQtPmVuY29kaW5nKTsKKyAgICAgICAgICAgIGN0eHQtPmlucHV0LT5lbmNvZGluZyA9IGd1ZXNzOworICAgICAgICAgICAgaGFuZGxlciA9IHhtbEZpbmRDaGFyRW5jb2RpbmdIYW5kbGVyKChjb25zdCBjaGFyICopIGd1ZXNzKTsKKyAgICAgICAgICAgIGlmIChoYW5kbGVyICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICB4bWxTd2l0Y2hUb0VuY29kaW5nKGN0eHQsIGhhbmRsZXIpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBodG1sUGFyc2VFcnIoY3R4dCwgWE1MX0VSUl9JTlZBTElEX0VOQ09ESU5HLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVW5zdXBwb3J0ZWQgZW5jb2RpbmcgJXMiLCBndWVzcywgTlVMTCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgY3R4dC0+Y2hhcnNldCA9IFhNTF9DSEFSX0VOQ09ESU5HX1VURjg7CisgICAgfQorCisgICAgcmV0dXJuKHhtbEN1cnJlbnRDaGFyKGN0eHQsIGxlbikpOworCitlbmNvZGluZ19lcnJvcjoKKyAgICAvKgorICAgICAqIElmIHdlIGRldGVjdCBhbiBVVEY4IGVycm9yIHRoYXQgcHJvYmFibHkgbWVhbiB0aGF0IHRoZQorICAgICAqIGlucHV0IGVuY29kaW5nIGRpZG4ndCBnZXQgcHJvcGVybHkgYWR2ZXJ0aXplZCBpbiB0aGUKKyAgICAgKiBkZWNsYXJhdGlvbiBoZWFkZXIuIFJlcG9ydCB0aGUgZXJyb3IgYW5kIHN3aXRjaCB0aGUgZW5jb2RpbmcKKyAgICAgKiB0byBJU08tTGF0aW4tMSAoaWYgeW91IGRvbid0IGxpa2UgdGhpcyBwb2xpY3ksIGp1c3QgZGVjbGFyZSB0aGUKKyAgICAgKiBlbmNvZGluZyAhKQorICAgICAqLworICAgIHsKKyAgICAgICAgY2hhciBidWZmZXJbMTUwXTsKKworCWlmIChjdHh0LT5pbnB1dC0+ZW5kIC0gY3R4dC0+aW5wdXQtPmN1ciA+PSA0KSB7CisJICAgIHNucHJpbnRmKGJ1ZmZlciwgMTQ5LCAiQnl0ZXM6IDB4JTAyWCAweCUwMlggMHglMDJYIDB4JTAyWFxuIiwKKwkJCSAgICBjdHh0LT5pbnB1dC0+Y3VyWzBdLCBjdHh0LT5pbnB1dC0+Y3VyWzFdLAorCQkJICAgIGN0eHQtPmlucHV0LT5jdXJbMl0sIGN0eHQtPmlucHV0LT5jdXJbM10pOworCX0gZWxzZSB7CisJICAgIHNucHJpbnRmKGJ1ZmZlciwgMTQ5LCAiQnl0ZXM6IDB4JTAyWFxuIiwgY3R4dC0+aW5wdXQtPmN1clswXSk7CisJfQorCWh0bWxQYXJzZUVycihjdHh0LCBYTUxfRVJSX0lOVkFMSURfRU5DT0RJTkcsCisJCSAgICAgIklucHV0IGlzIG5vdCBwcm9wZXIgVVRGLTgsIGluZGljYXRlIGVuY29kaW5nICFcbiIsCisJCSAgICAgQkFEX0NBU1QgYnVmZmVyLCBOVUxMKTsKKyAgICB9CisKKyAgICBjdHh0LT5jaGFyc2V0ID0gWE1MX0NIQVJfRU5DT0RJTkdfODg1OV8xOworICAgICpsZW4gPSAxOworICAgIHJldHVybigoaW50KSAqY3R4dC0+aW5wdXQtPmN1cik7Cit9CisKKy8qKgorICogaHRtbFNraXBCbGFua0NoYXJzOgorICogQGN0eHQ6ICB0aGUgSFRNTCBwYXJzZXIgY29udGV4dAorICoKKyAqIHNraXAgYWxsIGJsYW5rcyBjaGFyYWN0ZXIgZm91bmQgYXQgdGhhdCBwb2ludCBpbiB0aGUgaW5wdXQgc3RyZWFtcy4KKyAqCisgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2Ygc3BhY2UgY2hhcnMgc2tpcHBlZAorICovCisKK3N0YXRpYyBpbnQKK2h0bWxTa2lwQmxhbmtDaGFycyh4bWxQYXJzZXJDdHh0UHRyIGN0eHQpIHsKKyAgICBpbnQgcmVzID0gMDsKKworICAgIHdoaWxlIChJU19CTEFOS19DSCgqKGN0eHQtPmlucHV0LT5jdXIpKSkgeworCWlmICgoKmN0eHQtPmlucHV0LT5jdXIgPT0gMCkgJiYKKwkgICAgKHhtbFBhcnNlcklucHV0R3JvdyhjdHh0LT5pbnB1dCwgSU5QVVRfQ0hVTkspIDw9IDApKSB7CisJCXhtbFBvcElucHV0KGN0eHQpOworCX0gZWxzZSB7CisJICAgIGlmICgqKGN0eHQtPmlucHV0LT5jdXIpID09ICdcbicpIHsKKwkJY3R4dC0+aW5wdXQtPmxpbmUrKzsgY3R4dC0+aW5wdXQtPmNvbCA9IDE7CisJICAgIH0gZWxzZSBjdHh0LT5pbnB1dC0+Y29sKys7CisJICAgIGN0eHQtPmlucHV0LT5jdXIrKzsKKwkgICAgY3R4dC0+bmJDaGFycysrOworCSAgICBpZiAoKmN0eHQtPmlucHV0LT5jdXIgPT0gMCkKKwkJeG1sUGFyc2VySW5wdXRHcm93KGN0eHQtPmlucHV0LCBJTlBVVF9DSFVOSyk7CisJfQorCXJlcysrOworICAgIH0KKyAgICByZXR1cm4ocmVzKTsKK30KKworCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJVGhlIGxpc3Qgb2YgSFRNTCBlbGVtZW50cyBhbmQgdGhlaXIgcHJvcGVydGllcwkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKgorICogIFN0YXJ0IFRhZzogMSBtZWFucyB0aGUgc3RhcnQgdGFnIGNhbiBiZSBvbW1pdGVkCisgKiAgRW5kIFRhZzogICAxIG1lYW5zIHRoZSBlbmQgdGFnIGNhbiBiZSBvbW1pdGVkCisgKiAgICAgICAgICAgICAyIG1lYW5zIGl0J3MgZm9yYmlkZGVuIChlbXB0eSBlbGVtZW50cykKKyAqICAgICAgICAgICAgIDMgbWVhbnMgdGhlIHRhZyBpcyBzdHlsaXN0aWMgYW5kIHNob3VsZCBiZSBjbG9zZWQgZWFzaWx5CisgKiAgRGVwcjogICAgICB0aGlzIGVsZW1lbnQgaXMgZGVwcmVjYXRlZAorICogIERURDogICAgICAgMSBtZWFucyB0aGF0IHRoaXMgZWxlbWVudCBpcyB2YWxpZCBvbmx5IGluIHRoZSBMb29zZSBEVEQKKyAqICAgICAgICAgICAgIDIgbWVhbnMgdGhhdCB0aGlzIGVsZW1lbnQgaXMgdmFsaWQgb25seSBpbiB0aGUgRnJhbWVzZXQgRFRECisgKgorICogTmFtZSxTdGFydCBUYWcsRW5kIFRhZyxTYXZlIEVuZCxFbXB0eSxEZXByZWNhdGVkLERURCxpbmxpbmUsRGVzY3JpcHRpb24KKwksIHN1YkVsZW1lbnRzICwgaW1wbGllZHN1YmVsdCAsIEF0dHJpYnV0ZXMsIHVzZXJkYXRhCisgKi8KKworLyogRGVmaW5pdGlvbnMgYW5kIGEgY291cGxlIG9mIHZhcnMgZm9yIEhUTUwgRWxlbWVudHMgKi8KKworI2RlZmluZSBGT05UU1RZTEUgInR0IiwgImkiLCAiYiIsICJ1IiwgInMiLCAic3RyaWtlIiwgImJpZyIsICJzbWFsbCIKKyNkZWZpbmUgTkJfRk9OVFNUWUxFIDgKKyNkZWZpbmUgUEhSQVNFICJlbSIsICJzdHJvbmciLCAiZGZuIiwgImNvZGUiLCAic2FtcCIsICJrYmQiLCAidmFyIiwgImNpdGUiLCAiYWJiciIsICJhY3JvbnltIgorI2RlZmluZSBOQl9QSFJBU0UgMTAKKyNkZWZpbmUgU1BFQ0lBTCAiYSIsICJpbWciLCAiYXBwbGV0IiwgImVtYmVkIiwgIm9iamVjdCIsICJmb250IiwgImJhc2Vmb250IiwgImJyIiwgInNjcmlwdCIsICJtYXAiLCAicSIsICJzdWIiLCAic3VwIiwgInNwYW4iLCAiYmRvIiwgImlmcmFtZSIKKyNkZWZpbmUgTkJfU1BFQ0lBTCAxNgorI2RlZmluZSBJTkxJTkUgRk9OVFNUWUxFLCBQSFJBU0UsIFNQRUNJQUwsIEZPUk1DVFJMCisjZGVmaW5lIE5CX0lOTElORSBOQl9QQ0RBVEEgKyBOQl9GT05UU1RZTEUgKyBOQl9QSFJBU0UgKyBOQl9TUEVDSUFMICsgTkJfRk9STUNUUkwKKyNkZWZpbmUgQkxPQ0sgSEVBRElORywgTElTVCwgInByZSIsICJwIiwgImRsIiwgImRpdiIsICJjZW50ZXIiLCAibm9zY3JpcHQiLCAibm9mcmFtZXMiLCAiYmxvY2txdW90ZSIsICJmb3JtIiwgImlzaW5kZXgiLCAiaHIiLCAidGFibGUiLCAiZmllbGRzZXQiLCAiYWRkcmVzcyIKKyNkZWZpbmUgTkJfQkxPQ0sgTkJfSEVBRElORyArIE5CX0xJU1QgKyAxNAorI2RlZmluZSBGT1JNQ1RSTCAiaW5wdXQiLCAic2VsZWN0IiwgInRleHRhcmVhIiwgImxhYmVsIiwgImJ1dHRvbiIKKyNkZWZpbmUgTkJfRk9STUNUUkwgNQorI2RlZmluZSBQQ0RBVEEKKyNkZWZpbmUgTkJfUENEQVRBIDAKKyNkZWZpbmUgSEVBRElORyAiaDEiLCAiaDIiLCAiaDMiLCAiaDQiLCAiaDUiLCAiaDYiCisjZGVmaW5lIE5CX0hFQURJTkcgNgorI2RlZmluZSBMSVNUICJ1bCIsICJvbCIsICJkaXIiLCAibWVudSIKKyNkZWZpbmUgTkJfTElTVCA0CisjZGVmaW5lIE1PRElGSUVSCisjZGVmaW5lIE5CX01PRElGSUVSIDAKKyNkZWZpbmUgRkxPVyBCTE9DSyxJTkxJTkUKKyNkZWZpbmUgTkJfRkxPVyBOQl9CTE9DSyArIE5CX0lOTElORQorI2RlZmluZSBFTVBUWSBOVUxMCisKKworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGh0bWxfZmxvd1tdID0geyBGTE9XLCBOVUxMIH0gOworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGh0bWxfaW5saW5lW10gPSB7IElOTElORSwgTlVMTCB9IDsKKworLyogcGxhY2Vob2xkZXJzOiBlbHRzIHdpdGggY29udGVudCBidXQgbm8gc3ViZWxlbWVudHMgKi8KK3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBodG1sX3BjZGF0YVtdID0geyBOVUxMIH0gOworI2RlZmluZSBodG1sX2NkYXRhIGh0bWxfcGNkYXRhCisKKworLyogLi4uIGFuZCBmb3IgSFRNTCBBdHRyaWJ1dGVzICovCisKKyNkZWZpbmUgQ09SRUFUVFJTICJpZCIsICJjbGFzcyIsICJzdHlsZSIsICJ0aXRsZSIKKyNkZWZpbmUgTkJfQ09SRUFUVFJTIDQKKyNkZWZpbmUgSTE4TiAibGFuZyIsICJkaXIiCisjZGVmaW5lIE5CX0kxOE4gMgorI2RlZmluZSBFVkVOVFMgIm9uY2xpY2siLCAib25kYmxjbGljayIsICJvbm1vdXNlZG93biIsICJvbm1vdXNldXAiLCAib25tb3VzZW92ZXIiLCAib25tb3VzZW91dCIsICJvbmtleXByZXNzIiwgIm9ua2V5ZG93biIsICJvbmtleXVwIgorI2RlZmluZSBOQl9FVkVOVFMgOQorI2RlZmluZSBBVFRSUyBDT1JFQVRUUlMsSTE4TixFVkVOVFMKKyNkZWZpbmUgTkJfQVRUUlMgTkJfTkJfQ09SRUFUVFJTICsgTkJfSTE4TiArIE5CX0VWRU5UUworI2RlZmluZSBDRUxMSEFMSUdOICJhbGlnbiIsICJjaGFyIiwgImNoYXJvZmYiCisjZGVmaW5lIE5CX0NFTExIQUxJR04gMworI2RlZmluZSBDRUxMVkFMSUdOICJ2YWxpZ24iCisjZGVmaW5lIE5CX0NFTExWQUxJR04gMQorCitzdGF0aWMgY29uc3QgY2hhciogY29uc3QgaHRtbF9hdHRyc1tdID0geyBBVFRSUywgTlVMTCB9IDsKK3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBjb3JlX2kxOG5fYXR0cnNbXSA9IHsgQ09SRUFUVFJTLCBJMThOLCBOVUxMIH0gOworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGNvcmVfYXR0cnNbXSA9IHsgQ09SRUFUVFJTLCBOVUxMIH0gOworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGkxOG5fYXR0cnNbXSA9IHsgSTE4TiwgTlVMTCB9IDsKKworCisvKiBPdGhlciBkZWNsYXJhdGlvbnMgdGhhdCBzaG91bGQgZ28gaW5saW5lIC4uLiAqLworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGFfYXR0cnNbXSA9IHsgQVRUUlMsICJjaGFyc2V0IiwgInR5cGUiLCAibmFtZSIsCisJImhyZWYiLCAiaHJlZmxhbmciLCAicmVsIiwgInJldiIsICJhY2Nlc3NrZXkiLCAic2hhcGUiLCAiY29vcmRzIiwKKwkidGFiaW5kZXgiLCAib25mb2N1cyIsICJvbmJsdXIiLCBOVUxMIH0gOworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IHRhcmdldF9hdHRyW10gPSB7ICJ0YXJnZXQiLCBOVUxMIH0gOworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IHJvd3NfY29sc19hdHRyW10gPSB7ICJyb3dzIiwgImNvbHMiLCBOVUxMIH0gOworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGFsdF9hdHRyW10gPSB7ICJhbHQiLCBOVUxMIH0gOworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IHNyY19hbHRfYXR0cnNbXSA9IHsgInNyYyIsICJhbHQiLCBOVUxMIH0gOworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGhyZWZfYXR0cnNbXSA9IHsgImhyZWYiLCBOVUxMIH0gOworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGNsZWFyX2F0dHJzW10gPSB7ICJjbGVhciIsIE5VTEwgfSA7CitzdGF0aWMgY29uc3QgY2hhciogY29uc3QgaW5saW5lX3BbXSA9IHsgSU5MSU5FLCAicCIsIE5VTEwgfSA7CisKK3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBmbG93X3BhcmFtW10gPSB7IEZMT1csICJwYXJhbSIsIE5VTEwgfSA7CitzdGF0aWMgY29uc3QgY2hhciogY29uc3QgYXBwbGV0X2F0dHJzW10gPSB7IENPUkVBVFRSUyAsICJjb2RlYmFzZSIsCisJCSJhcmNoaXZlIiwgImFsdCIsICJuYW1lIiwgImhlaWdodCIsICJ3aWR0aCIsICJhbGlnbiIsCisJCSJoc3BhY2UiLCAidnNwYWNlIiwgTlVMTCB9IDsKK3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBhcmVhX2F0dHJzW10gPSB7ICJzaGFwZSIsICJjb29yZHMiLCAiaHJlZiIsICJub2hyZWYiLAorCSJ0YWJpbmRleCIsICJhY2Nlc3NrZXkiLCAib25mb2N1cyIsICJvbmJsdXIiLCBOVUxMIH0gOworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGJhc2Vmb250X2F0dHJzW10gPQorCXsgImlkIiwgInNpemUiLCAiY29sb3IiLCAiZmFjZSIsIE5VTEwgfSA7CitzdGF0aWMgY29uc3QgY2hhciogY29uc3QgcXVvdGVfYXR0cnNbXSA9IHsgQVRUUlMsICJjaXRlIiwgTlVMTCB9IDsKK3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBib2R5X2NvbnRlbnRzW10gPSB7IEZMT1csICJpbnMiLCAiZGVsIiwgTlVMTCB9IDsKK3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBib2R5X2F0dHJzW10gPSB7IEFUVFJTLCAib25sb2FkIiwgIm9udW5sb2FkIiwgTlVMTCB9IDsKK3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBib2R5X2RlcHJbXSA9IHsgImJhY2tncm91bmQiLCAiYmdjb2xvciIsICJ0ZXh0IiwKKwkibGluayIsICJ2bGluayIsICJhbGluayIsIE5VTEwgfSA7CitzdGF0aWMgY29uc3QgY2hhciogY29uc3QgYnV0dG9uX2F0dHJzW10gPSB7IEFUVFJTLCAibmFtZSIsICJ2YWx1ZSIsICJ0eXBlIiwKKwkiZGlzYWJsZWQiLCAidGFiaW5kZXgiLCAiYWNjZXNza2V5IiwgIm9uZm9jdXMiLCAib25ibHVyIiwgTlVMTCB9IDsKKworCitzdGF0aWMgY29uc3QgY2hhciogY29uc3QgY29sX2F0dHJzW10gPSB7IEFUVFJTLCAic3BhbiIsICJ3aWR0aCIsIENFTExIQUxJR04sIENFTExWQUxJR04sIE5VTEwgfSA7CitzdGF0aWMgY29uc3QgY2hhciogY29uc3QgY29sX2VsdFtdID0geyAiY29sIiwgTlVMTCB9IDsKK3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBlZGl0X2F0dHJzW10gPSB7IEFUVFJTLCAiZGF0ZXRpbWUiLCAiY2l0ZSIsIE5VTEwgfSA7CitzdGF0aWMgY29uc3QgY2hhciogY29uc3QgY29tcGFjdF9hdHRyc1tdID0geyBBVFRSUywgImNvbXBhY3QiLCBOVUxMIH0gOworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGRsX2NvbnRlbnRzW10gPSB7ICJkdCIsICJkZCIsIE5VTEwgfSA7CitzdGF0aWMgY29uc3QgY2hhciogY29uc3QgY29tcGFjdF9hdHRyW10gPSB7ICJjb21wYWN0IiwgTlVMTCB9IDsKK3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBsYWJlbF9hdHRyW10gPSB7ICJsYWJlbCIsIE5VTEwgfSA7CitzdGF0aWMgY29uc3QgY2hhciogY29uc3QgZmllbGRzZXRfY29udGVudHNbXSA9IHsgRkxPVywgImxlZ2VuZCIgfSA7CitzdGF0aWMgY29uc3QgY2hhciogY29uc3QgZm9udF9hdHRyc1tdID0geyBDT1JFQVRUUlMsIEkxOE4sICJzaXplIiwgImNvbG9yIiwgImZhY2UiICwgTlVMTCB9IDsKK3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBmb3JtX2NvbnRlbnRzW10gPSB7IEhFQURJTkcsIExJU1QsIElOTElORSwgInByZSIsICJwIiwgImRpdiIsICJjZW50ZXIiLCAibm9zY3JpcHQiLCAibm9mcmFtZXMiLCAiYmxvY2txdW90ZSIsICJpc2luZGV4IiwgImhyIiwgInRhYmxlIiwgImZpZWxkc2V0IiwgImFkZHJlc3MiLCBOVUxMIH0gOworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGZvcm1fYXR0cnNbXSA9IHsgQVRUUlMsICJtZXRob2QiLCAiZW5jdHlwZSIsICJhY2NlcHQiLCAibmFtZSIsICJvbnN1Ym1pdCIsICJvbnJlc2V0IiwgImFjY2VwdC1jaGFyc2V0IiwgTlVMTCB9IDsKK3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBmcmFtZV9hdHRyc1tdID0geyBDT1JFQVRUUlMsICJsb25nZGVzYyIsICJuYW1lIiwgInNyYyIsICJmcmFtZWJvcmRlciIsICJtYXJnaW53aWR0aCIsICJtYXJnaW5oZWlnaHQiLCAibm9yZXNpemUiLCAic2Nyb2xsaW5nIiAsIE5VTEwgfSA7CitzdGF0aWMgY29uc3QgY2hhciogY29uc3QgZnJhbWVzZXRfYXR0cnNbXSA9IHsgQ09SRUFUVFJTLCAicm93cyIsICJjb2xzIiwgIm9ubG9hZCIsICJvbnVubG9hZCIsIE5VTEwgfSA7CitzdGF0aWMgY29uc3QgY2hhciogY29uc3QgZnJhbWVzZXRfY29udGVudHNbXSA9IHsgImZyYW1lc2V0IiwgImZyYW1lIiwgIm5vZnJhbWVzIiwgTlVMTCB9IDsKK3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBoZWFkX2F0dHJzW10gPSB7IEkxOE4sICJwcm9maWxlIiwgTlVMTCB9IDsKK3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBoZWFkX2NvbnRlbnRzW10gPSB7ICJ0aXRsZSIsICJpc2luZGV4IiwgImJhc2UiLCAic2NyaXB0IiwgInN0eWxlIiwgIm1ldGEiLCAibGluayIsICJvYmplY3QiLCBOVUxMIH0gOworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGhyX2RlcHJbXSA9IHsgImFsaWduIiwgIm5vc2hhZGUiLCAic2l6ZSIsICJ3aWR0aCIsIE5VTEwgfSA7CitzdGF0aWMgY29uc3QgY2hhciogY29uc3QgdmVyc2lvbl9hdHRyW10gPSB7ICJ2ZXJzaW9uIiwgTlVMTCB9IDsKK3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBodG1sX2NvbnRlbnRbXSA9IHsgImhlYWQiLCAiYm9keSIsICJmcmFtZXNldCIsIE5VTEwgfSA7CitzdGF0aWMgY29uc3QgY2hhciogY29uc3QgaWZyYW1lX2F0dHJzW10gPSB7IENPUkVBVFRSUywgImxvbmdkZXNjIiwgIm5hbWUiLCAic3JjIiwgImZyYW1lYm9yZGVyIiwgIm1hcmdpbndpZHRoIiwgIm1hcmdpbmhlaWdodCIsICJzY3JvbGxpbmciLCAiYWxpZ24iLCAiaGVpZ2h0IiwgIndpZHRoIiwgTlVMTCB9IDsKK3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBpbWdfYXR0cnNbXSA9IHsgQVRUUlMsICJsb25nZGVzYyIsICJuYW1lIiwgImhlaWdodCIsICJ3aWR0aCIsICJ1c2VtYXAiLCAiaXNtYXAiLCBOVUxMIH0gOworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGVtYmVkX2F0dHJzW10gPSB7IENPUkVBVFRSUywgImFsaWduIiwgImFsdCIsICJib3JkZXIiLCAiY29kZSIsICJjb2RlYmFzZSIsICJmcmFtZWJvcmRlciIsICJoZWlnaHQiLCAiaGlkZGVuIiwgImhzcGFjZSIsICJuYW1lIiwgInBhbGV0dGUiLCAicGx1Z2luc3BhY2UiLCAicGx1Z2ludXJsIiwgInNyYyIsICJ0eXBlIiwgInVuaXRzIiwgInZzcGFjZSIsICJ3aWR0aCIsIE5VTEwgfSA7CitzdGF0aWMgY29uc3QgY2hhciogY29uc3QgaW5wdXRfYXR0cnNbXSA9IHsgQVRUUlMsICJ0eXBlIiwgIm5hbWUiLCAidmFsdWUiLCAiY2hlY2tlZCIsICJkaXNhYmxlZCIsICJyZWFkb25seSIsICJzaXplIiwgIm1heGxlbmd0aCIsICJzcmMiLCAiYWx0IiwgInVzZW1hcCIsICJpc21hcCIsICJ0YWJpbmRleCIsICJhY2Nlc3NrZXkiLCAib25mb2N1cyIsICJvbmJsdXIiLCAib25zZWxlY3QiLCAib25jaGFuZ2UiLCAiYWNjZXB0IiwgTlVMTCB9IDsKK3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBwcm9tcHRfYXR0cnNbXSA9IHsgQ09SRUFUVFJTLCBJMThOLCAicHJvbXB0IiwgTlVMTCB9IDsKK3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBsYWJlbF9hdHRyc1tdID0geyBBVFRSUywgImZvciIsICJhY2Nlc3NrZXkiLCAib25mb2N1cyIsICJvbmJsdXIiLCBOVUxMIH0gOworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGxlZ2VuZF9hdHRyc1tdID0geyBBVFRSUywgImFjY2Vzc2tleSIsIE5VTEwgfSA7CitzdGF0aWMgY29uc3QgY2hhciogY29uc3QgYWxpZ25fYXR0cltdID0geyAiYWxpZ24iLCBOVUxMIH0gOworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGxpbmtfYXR0cnNbXSA9IHsgQVRUUlMsICJjaGFyc2V0IiwgImhyZWYiLCAiaHJlZmxhbmciLCAidHlwZSIsICJyZWwiLCAicmV2IiwgIm1lZGlhIiwgTlVMTCB9IDsKK3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBtYXBfY29udGVudHNbXSA9IHsgQkxPQ0ssICJhcmVhIiwgTlVMTCB9IDsKK3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBuYW1lX2F0dHJbXSA9IHsgIm5hbWUiLCBOVUxMIH0gOworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGFjdGlvbl9hdHRyW10gPSB7ICJhY3Rpb24iLCBOVUxMIH0gOworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGJsb2NrbGlfZWx0W10gPSB7IEJMT0NLLCAibGkiLCBOVUxMIH0gOworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IG1ldGFfYXR0cnNbXSA9IHsgSTE4TiwgImh0dHAtZXF1aXYiLCAibmFtZSIsICJzY2hlbWUiLCAiY2hhcnNldCIsIE5VTEwgfSA7CitzdGF0aWMgY29uc3QgY2hhciogY29uc3QgY29udGVudF9hdHRyW10gPSB7ICJjb250ZW50IiwgTlVMTCB9IDsKK3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCB0eXBlX2F0dHJbXSA9IHsgInR5cGUiLCBOVUxMIH0gOworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IG5vZnJhbWVzX2NvbnRlbnRbXSA9IHsgImJvZHkiLCBGTE9XIE1PRElGSUVSLCBOVUxMIH0gOworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IG9iamVjdF9jb250ZW50c1tdID0geyBGTE9XLCAicGFyYW0iLCBOVUxMIH0gOworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IG9iamVjdF9hdHRyc1tdID0geyBBVFRSUywgImRlY2xhcmUiLCAiY2xhc3NpZCIsICJjb2RlYmFzZSIsICJkYXRhIiwgInR5cGUiLCAiY29kZXR5cGUiLCAiYXJjaGl2ZSIsICJzdGFuZGJ5IiwgImhlaWdodCIsICJ3aWR0aCIsICJ1c2VtYXAiLCAibmFtZSIsICJ0YWJpbmRleCIsIE5VTEwgfSA7CitzdGF0aWMgY29uc3QgY2hhciogY29uc3Qgb2JqZWN0X2RlcHJbXSA9IHsgImFsaWduIiwgImJvcmRlciIsICJoc3BhY2UiLCAidnNwYWNlIiwgTlVMTCB9IDsKK3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBvbF9hdHRyc1tdID0geyAidHlwZSIsICJjb21wYWN0IiwgInN0YXJ0IiwgTlVMTH0gOworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IG9wdGlvbl9lbHRbXSA9IHsgIm9wdGlvbiIsIE5VTEwgfSA7CitzdGF0aWMgY29uc3QgY2hhciogY29uc3Qgb3B0Z3JvdXBfYXR0cnNbXSA9IHsgQVRUUlMsICJkaXNhYmxlZCIsIE5VTEwgfSA7CitzdGF0aWMgY29uc3QgY2hhciogY29uc3Qgb3B0aW9uX2F0dHJzW10gPSB7IEFUVFJTLCAiZGlzYWJsZWQiLCAibGFiZWwiLCAic2VsZWN0ZWQiLCAidmFsdWUiLCBOVUxMIH0gOworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IHBhcmFtX2F0dHJzW10gPSB7ICJpZCIsICJ2YWx1ZSIsICJ2YWx1ZXR5cGUiLCAidHlwZSIsIE5VTEwgfSA7CitzdGF0aWMgY29uc3QgY2hhciogY29uc3Qgd2lkdGhfYXR0cltdID0geyAid2lkdGgiLCBOVUxMIH0gOworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IHByZV9jb250ZW50W10gPSB7IFBIUkFTRSwgInR0IiwgImkiLCAiYiIsICJ1IiwgInMiLCAic3RyaWtlIiwgImEiLCAiYnIiLCAic2NyaXB0IiwgIm1hcCIsICJxIiwgInNwYW4iLCAiYmRvIiwgImlmcmFtZSIsIE5VTEwgfSA7CitzdGF0aWMgY29uc3QgY2hhciogY29uc3Qgc2NyaXB0X2F0dHJzW10gPSB7ICJjaGFyc2V0IiwgInNyYyIsICJkZWZlciIsICJldmVudCIsICJmb3IiLCBOVUxMIH0gOworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGxhbmd1YWdlX2F0dHJbXSA9IHsgImxhbmd1YWdlIiwgTlVMTCB9IDsKK3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBzZWxlY3RfY29udGVudFtdID0geyAib3B0Z3JvdXAiLCAib3B0aW9uIiwgTlVMTCB9IDsKK3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBzZWxlY3RfYXR0cnNbXSA9IHsgQVRUUlMsICJuYW1lIiwgInNpemUiLCAibXVsdGlwbGUiLCAiZGlzYWJsZWQiLCAidGFiaW5kZXgiLCAib25mb2N1cyIsICJvbmJsdXIiLCAib25jaGFuZ2UiLCBOVUxMIH0gOworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IHN0eWxlX2F0dHJzW10gPSB7IEkxOE4sICJtZWRpYSIsICJ0aXRsZSIsIE5VTEwgfSA7CitzdGF0aWMgY29uc3QgY2hhciogY29uc3QgdGFibGVfYXR0cnNbXSA9IHsgQVRUUlMsICJzdW1tYXJ5IiwgIndpZHRoIiwgImJvcmRlciIsICJmcmFtZSIsICJydWxlcyIsICJjZWxsc3BhY2luZyIsICJjZWxscGFkZGluZyIsICJkYXRhcGFnZXNpemUiLCBOVUxMIH0gOworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IHRhYmxlX2RlcHJbXSA9IHsgImFsaWduIiwgImJnY29sb3IiLCBOVUxMIH0gOworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IHRhYmxlX2NvbnRlbnRzW10gPSB7ICJjYXB0aW9uIiwgImNvbCIsICJjb2xncm91cCIsICJ0aGVhZCIsICJ0Zm9vdCIsICJ0Ym9keSIsICJ0ciIsIE5VTEx9IDsKK3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCB0cl9lbHRbXSA9IHsgInRyIiwgTlVMTCB9IDsKK3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCB0YWxpZ25fYXR0cnNbXSA9IHsgQVRUUlMsIENFTExIQUxJR04sIENFTExWQUxJR04sIE5VTEx9IDsKK3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCB0aF90ZF9kZXByW10gPSB7ICJub3dyYXAiLCAiYmdjb2xvciIsICJ3aWR0aCIsICJoZWlnaHQiLCBOVUxMIH0gOworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IHRoX3RkX2F0dHJbXSA9IHsgQVRUUlMsICJhYmJyIiwgImF4aXMiLCAiaGVhZGVycyIsICJzY29wZSIsICJyb3dzcGFuIiwgImNvbHNwYW4iLCBDRUxMSEFMSUdOLCBDRUxMVkFMSUdOLCBOVUxMIH0gOworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IHRleHRhcmVhX2F0dHJzW10gPSB7IEFUVFJTLCAibmFtZSIsICJkaXNhYmxlZCIsICJyZWFkb25seSIsICJ0YWJpbmRleCIsICJhY2Nlc3NrZXkiLCAib25mb2N1cyIsICJvbmJsdXIiLCAib25zZWxlY3QiLCAib25jaGFuZ2UiLCBOVUxMIH0gOworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IHRyX2NvbnRlbnRzW10gPSB7ICJ0aCIsICJ0ZCIsIE5VTEwgfSA7CitzdGF0aWMgY29uc3QgY2hhciogY29uc3QgYmdjb2xvcl9hdHRyW10gPSB7ICJiZ2NvbG9yIiwgTlVMTCB9IDsKK3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBsaV9lbHRbXSA9IHsgImxpIiwgTlVMTCB9IDsKK3N0YXRpYyBjb25zdCBjaGFyKiBjb25zdCB1bF9kZXByW10gPSB7ICJ0eXBlIiwgImNvbXBhY3QiLCBOVUxMfSA7CitzdGF0aWMgY29uc3QgY2hhciogY29uc3QgZGlyX2F0dHJbXSA9IHsgImRpciIsIE5VTEx9IDsKKworI2RlZmluZSBERUNMIChjb25zdCBjaGFyKiopCisKK3N0YXRpYyBjb25zdCBodG1sRWxlbURlc2MKK2h0bWw0MEVsZW1lbnRUYWJsZVtdID0geworeyAiYSIsCQkwLCAwLCAwLCAwLCAwLCAwLCAxLCAiYW5jaG9yICIsCisJREVDTCBodG1sX2lubGluZSAsIE5VTEwgLCBERUNMIGFfYXR0cnMgLCBERUNMIHRhcmdldF9hdHRyLCBOVUxMCit9LAoreyAiYWJiciIsCTAsIDAsIDAsIDAsIDAsIDAsIDEsICJhYmJyZXZpYXRlZCBmb3JtIiwKKwlERUNMIGh0bWxfaW5saW5lICwgTlVMTCAsIERFQ0wgaHRtbF9hdHRycywgTlVMTCwgTlVMTAorfSwKK3sgImFjcm9ueW0iLAkwLCAwLCAwLCAwLCAwLCAwLCAxLCAiIiwKKwlERUNMIGh0bWxfaW5saW5lICwgTlVMTCAsIERFQ0wgaHRtbF9hdHRycywgTlVMTCwgTlVMTAorfSwKK3sgImFkZHJlc3MiLAkwLCAwLCAwLCAwLCAwLCAwLCAwLCAiaW5mb3JtYXRpb24gb24gYXV0aG9yICIsCisJREVDTCBpbmxpbmVfcCAgLCBOVUxMICwgREVDTCBodG1sX2F0dHJzLCBOVUxMLCBOVUxMCit9LAoreyAiYXBwbGV0IiwJMCwgMCwgMCwgMCwgMSwgMSwgMiwgImphdmEgYXBwbGV0ICIsCisJREVDTCBmbG93X3BhcmFtICwgTlVMTCAsIE5VTEwgLCBERUNMIGFwcGxldF9hdHRycywgTlVMTAorfSwKK3sgImFyZWEiLAkwLCAyLCAyLCAxLCAwLCAwLCAwLCAiY2xpZW50LXNpZGUgaW1hZ2UgbWFwIGFyZWEgIiwKKwlFTVBUWSAsICBOVUxMICwgREVDTCBhcmVhX2F0dHJzICwgREVDTCB0YXJnZXRfYXR0ciwgREVDTCBhbHRfYXR0cgorfSwKK3sgImIiLAkJMCwgMywgMCwgMCwgMCwgMCwgMSwgImJvbGQgdGV4dCBzdHlsZSIsCisJREVDTCBodG1sX2lubGluZSAsIE5VTEwgLCBERUNMIGh0bWxfYXR0cnMsIE5VTEwsIE5VTEwKK30sCit7ICJiYXNlIiwJMCwgMiwgMiwgMSwgMCwgMCwgMCwgImRvY3VtZW50IGJhc2UgdXJpICIsCisJRU1QVFkgLCBOVUxMICwgTlVMTCAsIERFQ0wgdGFyZ2V0X2F0dHIsIERFQ0wgaHJlZl9hdHRycworfSwKK3sgImJhc2Vmb250IiwJMCwgMiwgMiwgMSwgMSwgMSwgMSwgImJhc2UgZm9udCBzaXplICIgLAorCUVNUFRZICwgTlVMTCAsIE5VTEwsIERFQ0wgYmFzZWZvbnRfYXR0cnMsIE5VTEwKK30sCit7ICJiZG8iLAkwLCAwLCAwLCAwLCAwLCAwLCAxLCAiaTE4biBiaWRpIG92ZXItcmlkZSAiLAorCURFQ0wgaHRtbF9pbmxpbmUgLCBOVUxMICwgREVDTCBjb3JlX2kxOG5fYXR0cnMsIE5VTEwsIERFQ0wgZGlyX2F0dHIKK30sCit7ICJiaWciLAkwLCAzLCAwLCAwLCAwLCAwLCAxLCAibGFyZ2UgdGV4dCBzdHlsZSIsCisJREVDTCBodG1sX2lubGluZSAsIE5VTEwgLCBERUNMIGh0bWxfYXR0cnMsIE5VTEwsIE5VTEwKK30sCit7ICJibG9ja3F1b3RlIiwJMCwgMCwgMCwgMCwgMCwgMCwgMCwgImxvbmcgcXVvdGF0aW9uICIsCisJREVDTCBodG1sX2Zsb3cgLCBOVUxMICwgREVDTCBxdW90ZV9hdHRycyAsIE5VTEwsIE5VTEwKK30sCit7ICJib2R5IiwJMSwgMSwgMCwgMCwgMCwgMCwgMCwgImRvY3VtZW50IGJvZHkgIiwKKwlERUNMIGJvZHlfY29udGVudHMgLCAiZGl2IiAsIERFQ0wgYm9keV9hdHRycywgREVDTCBib2R5X2RlcHIsIE5VTEwKK30sCit7ICJiciIsCQkwLCAyLCAyLCAxLCAwLCAwLCAxLCAiZm9yY2VkIGxpbmUgYnJlYWsgIiwKKwlFTVBUWSAsIE5VTEwgLCBERUNMIGNvcmVfYXR0cnMsIERFQ0wgY2xlYXJfYXR0cnMgLCBOVUxMCit9LAoreyAiYnV0dG9uIiwJMCwgMCwgMCwgMCwgMCwgMCwgMiwgInB1c2ggYnV0dG9uICIsCisJREVDTCBodG1sX2Zsb3cgTU9ESUZJRVIgLCBOVUxMICwgREVDTCBidXR0b25fYXR0cnMsIE5VTEwsIE5VTEwKK30sCit7ICJjYXB0aW9uIiwJMCwgMCwgMCwgMCwgMCwgMCwgMCwgInRhYmxlIGNhcHRpb24gIiwKKwlERUNMIGh0bWxfaW5saW5lICwgTlVMTCAsIERFQ0wgaHRtbF9hdHRycywgTlVMTCwgTlVMTAorfSwKK3sgImNlbnRlciIsCTAsIDMsIDAsIDAsIDEsIDEsIDAsICJzaG9ydGhhbmQgZm9yIGRpdiBhbGlnbj1jZW50ZXIgIiwKKwlERUNMIGh0bWxfZmxvdyAsIE5VTEwgLCBOVUxMLCBERUNMIGh0bWxfYXR0cnMsIE5VTEwKK30sCit7ICJjaXRlIiwJMCwgMCwgMCwgMCwgMCwgMCwgMSwgImNpdGF0aW9uIiwKKwlERUNMIGh0bWxfaW5saW5lICwgTlVMTCAsIERFQ0wgaHRtbF9hdHRycywgTlVMTCwgTlVMTAorfSwKK3sgImNvZGUiLAkwLCAwLCAwLCAwLCAwLCAwLCAxLCAiY29tcHV0ZXIgY29kZSBmcmFnbWVudCIsCisJREVDTCBodG1sX2lubGluZSAsIE5VTEwgLCBERUNMIGh0bWxfYXR0cnMsIE5VTEwsIE5VTEwKK30sCit7ICJjb2wiLAkwLCAyLCAyLCAxLCAwLCAwLCAwLCAidGFibGUgY29sdW1uICIsCisJRU1QVFkgLCBOVUxMICwgREVDTCBjb2xfYXR0cnMgLCBOVUxMLCBOVUxMCit9LAoreyAiY29sZ3JvdXAiLAkwLCAxLCAwLCAwLCAwLCAwLCAwLCAidGFibGUgY29sdW1uIGdyb3VwICIsCisJREVDTCBjb2xfZWx0ICwgImNvbCIgLCBERUNMIGNvbF9hdHRycyAsIE5VTEwsIE5VTEwKK30sCit7ICJkZCIsCQkwLCAxLCAwLCAwLCAwLCAwLCAwLCAiZGVmaW5pdGlvbiBkZXNjcmlwdGlvbiAiLAorCURFQ0wgaHRtbF9mbG93ICwgTlVMTCAsIERFQ0wgaHRtbF9hdHRycywgTlVMTCwgTlVMTAorfSwKK3sgImRlbCIsCTAsIDAsIDAsIDAsIDAsIDAsIDIsICJkZWxldGVkIHRleHQgIiwKKwlERUNMIGh0bWxfZmxvdyAsIE5VTEwgLCBERUNMIGVkaXRfYXR0cnMgLCBOVUxMLCBOVUxMCit9LAoreyAiZGZuIiwJMCwgMCwgMCwgMCwgMCwgMCwgMSwgImluc3RhbmNlIGRlZmluaXRpb24iLAorCURFQ0wgaHRtbF9pbmxpbmUgLCBOVUxMICwgREVDTCBodG1sX2F0dHJzLCBOVUxMLCBOVUxMCit9LAoreyAiZGlyIiwJMCwgMCwgMCwgMCwgMSwgMSwgMCwgImRpcmVjdG9yeSBsaXN0IiwKKwlERUNMIGJsb2NrbGlfZWx0LCAibGkiICwgTlVMTCwgREVDTCBjb21wYWN0X2F0dHJzLCBOVUxMCit9LAoreyAiZGl2IiwJMCwgMCwgMCwgMCwgMCwgMCwgMCwgImdlbmVyaWMgbGFuZ3VhZ2Uvc3R5bGUgY29udGFpbmVyIiwKKwlERUNMIGh0bWxfZmxvdywgTlVMTCwgREVDTCBodG1sX2F0dHJzLCBERUNMIGFsaWduX2F0dHIsIE5VTEwKK30sCit7ICJkbCIsCQkwLCAwLCAwLCAwLCAwLCAwLCAwLCAiZGVmaW5pdGlvbiBsaXN0ICIsCisJREVDTCBkbF9jb250ZW50cyAsICJkZCIgLCBERUNMIGh0bWxfYXR0cnMsIERFQ0wgY29tcGFjdF9hdHRyLCBOVUxMCit9LAoreyAiZHQiLAkJMCwgMSwgMCwgMCwgMCwgMCwgMCwgImRlZmluaXRpb24gdGVybSAiLAorCURFQ0wgaHRtbF9pbmxpbmUsIE5VTEwsIERFQ0wgaHRtbF9hdHRycywgTlVMTCwgTlVMTAorfSwKK3sgImVtIiwJCTAsIDMsIDAsIDAsIDAsIDAsIDEsICJlbXBoYXNpcyIsCisJREVDTCBodG1sX2lubGluZSwgTlVMTCwgREVDTCBodG1sX2F0dHJzLCBOVUxMLCBOVUxMCit9LAoreyAiZW1iZWQiLAkwLCAxLCAwLCAwLCAxLCAxLCAxLCAiZ2VuZXJpYyBlbWJlZGRlZCBvYmplY3QgIiwKKwlFTVBUWSwgTlVMTCwgREVDTCBlbWJlZF9hdHRycywgTlVMTCwgTlVMTAorfSwKK3sgImZpZWxkc2V0IiwJMCwgMCwgMCwgMCwgMCwgMCwgMCwgImZvcm0gY29udHJvbCBncm91cCAiLAorCURFQ0wgZmllbGRzZXRfY29udGVudHMgLCBOVUxMLCBERUNMIGh0bWxfYXR0cnMsIE5VTEwsIE5VTEwKK30sCit7ICJmb250IiwJMCwgMywgMCwgMCwgMSwgMSwgMSwgImxvY2FsIGNoYW5nZSB0byBmb250ICIsCisJREVDTCBodG1sX2lubGluZSwgTlVMTCwgTlVMTCwgREVDTCBmb250X2F0dHJzLCBOVUxMCit9LAoreyAiZm9ybSIsCTAsIDAsIDAsIDAsIDAsIDAsIDAsICJpbnRlcmFjdGl2ZSBmb3JtICIsCisJREVDTCBmb3JtX2NvbnRlbnRzLCAiZmllbGRzZXQiLCBERUNMIGZvcm1fYXR0cnMgLCBERUNMIHRhcmdldF9hdHRyLCBERUNMIGFjdGlvbl9hdHRyCit9LAoreyAiZnJhbWUiLAkwLCAyLCAyLCAxLCAwLCAyLCAwLCAic3Vid2luZG93ICIgLAorCUVNUFRZLCBOVUxMLCBOVUxMLCBERUNMIGZyYW1lX2F0dHJzLCBOVUxMCit9LAoreyAiZnJhbWVzZXQiLAkwLCAwLCAwLCAwLCAwLCAyLCAwLCAid2luZG93IHN1YmRpdmlzaW9uIiAsCisJREVDTCBmcmFtZXNldF9jb250ZW50cywgIm5vZnJhbWVzIiAsIE5VTEwgLCBERUNMIGZyYW1lc2V0X2F0dHJzLCBOVUxMCit9LAoreyAiaDEiLAkJMCwgMCwgMCwgMCwgMCwgMCwgMCwgImhlYWRpbmcgIiwKKwlERUNMIGh0bWxfaW5saW5lLCBOVUxMLCBERUNMIGh0bWxfYXR0cnMsIERFQ0wgYWxpZ25fYXR0ciwgTlVMTAorfSwKK3sgImgyIiwJCTAsIDAsIDAsIDAsIDAsIDAsIDAsICJoZWFkaW5nICIsCisJREVDTCBodG1sX2lubGluZSwgTlVMTCwgREVDTCBodG1sX2F0dHJzLCBERUNMIGFsaWduX2F0dHIsIE5VTEwKK30sCit7ICJoMyIsCQkwLCAwLCAwLCAwLCAwLCAwLCAwLCAiaGVhZGluZyAiLAorCURFQ0wgaHRtbF9pbmxpbmUsIE5VTEwsIERFQ0wgaHRtbF9hdHRycywgREVDTCBhbGlnbl9hdHRyLCBOVUxMCit9LAoreyAiaDQiLAkJMCwgMCwgMCwgMCwgMCwgMCwgMCwgImhlYWRpbmcgIiwKKwlERUNMIGh0bWxfaW5saW5lLCBOVUxMLCBERUNMIGh0bWxfYXR0cnMsIERFQ0wgYWxpZ25fYXR0ciwgTlVMTAorfSwKK3sgImg1IiwJCTAsIDAsIDAsIDAsIDAsIDAsIDAsICJoZWFkaW5nICIsCisJREVDTCBodG1sX2lubGluZSwgTlVMTCwgREVDTCBodG1sX2F0dHJzLCBERUNMIGFsaWduX2F0dHIsIE5VTEwKK30sCit7ICJoNiIsCQkwLCAwLCAwLCAwLCAwLCAwLCAwLCAiaGVhZGluZyAiLAorCURFQ0wgaHRtbF9pbmxpbmUsIE5VTEwsIERFQ0wgaHRtbF9hdHRycywgREVDTCBhbGlnbl9hdHRyLCBOVUxMCit9LAoreyAiaGVhZCIsCTEsIDEsIDAsIDAsIDAsIDAsIDAsICJkb2N1bWVudCBoZWFkICIsCisJREVDTCBoZWFkX2NvbnRlbnRzLCBOVUxMLCBERUNMIGhlYWRfYXR0cnMsIE5VTEwsIE5VTEwKK30sCit7ICJociIsCQkwLCAyLCAyLCAxLCAwLCAwLCAwLCAiaG9yaXpvbnRhbCBydWxlICIgLAorCUVNUFRZLCBOVUxMLCBERUNMIGh0bWxfYXR0cnMsIERFQ0wgaHJfZGVwciwgTlVMTAorfSwKK3sgImh0bWwiLAkxLCAxLCAwLCAwLCAwLCAwLCAwLCAiZG9jdW1lbnQgcm9vdCBlbGVtZW50ICIsCisJREVDTCBodG1sX2NvbnRlbnQgLCBOVUxMICwgREVDTCBpMThuX2F0dHJzLCBERUNMIHZlcnNpb25fYXR0ciwgTlVMTAorfSwKK3sgImkiLAkJMCwgMywgMCwgMCwgMCwgMCwgMSwgIml0YWxpYyB0ZXh0IHN0eWxlIiwKKwlERUNMIGh0bWxfaW5saW5lLCBOVUxMLCBERUNMIGh0bWxfYXR0cnMsIE5VTEwsIE5VTEwKK30sCit7ICJpZnJhbWUiLAkwLCAwLCAwLCAwLCAwLCAxLCAyLCAiaW5saW5lIHN1YndpbmRvdyAiLAorCURFQ0wgaHRtbF9mbG93LCBOVUxMLCBOVUxMLCBERUNMIGlmcmFtZV9hdHRycywgTlVMTAorfSwKK3sgImltZyIsCTAsIDIsIDIsIDEsIDAsIDAsIDEsICJlbWJlZGRlZCBpbWFnZSAiLAorCUVNUFRZLCBOVUxMLCBERUNMIGltZ19hdHRycywgREVDTCBhbGlnbl9hdHRyLCBERUNMIHNyY19hbHRfYXR0cnMKK30sCit7ICJpbnB1dCIsCTAsIDIsIDIsIDEsIDAsIDAsIDEsICJmb3JtIGNvbnRyb2wgIiwKKwlFTVBUWSwgTlVMTCwgREVDTCBpbnB1dF9hdHRycyAsIERFQ0wgYWxpZ25fYXR0ciwgTlVMTAorfSwKK3sgImlucyIsCTAsIDAsIDAsIDAsIDAsIDAsIDIsICJpbnNlcnRlZCB0ZXh0IiwKKwlERUNMIGh0bWxfZmxvdywgTlVMTCwgREVDTCBlZGl0X2F0dHJzLCBOVUxMLCBOVUxMCit9LAoreyAiaXNpbmRleCIsCTAsIDIsIDIsIDEsIDEsIDEsIDAsICJzaW5nbGUgbGluZSBwcm9tcHQgIiwKKwlFTVBUWSwgTlVMTCwgTlVMTCwgREVDTCBwcm9tcHRfYXR0cnMsIE5VTEwKK30sCit7ICJrYmQiLAkwLCAwLCAwLCAwLCAwLCAwLCAxLCAidGV4dCB0byBiZSBlbnRlcmVkIGJ5IHRoZSB1c2VyIiwKKwlERUNMIGh0bWxfaW5saW5lLCBOVUxMLCBERUNMIGh0bWxfYXR0cnMsIE5VTEwsIE5VTEwKK30sCit7ICJsYWJlbCIsCTAsIDAsIDAsIDAsIDAsIDAsIDEsICJmb3JtIGZpZWxkIGxhYmVsIHRleHQgIiwKKwlERUNMIGh0bWxfaW5saW5lIE1PRElGSUVSLCBOVUxMLCBERUNMIGxhYmVsX2F0dHJzICwgTlVMTCwgTlVMTAorfSwKK3sgImxlZ2VuZCIsCTAsIDAsIDAsIDAsIDAsIDAsIDAsICJmaWVsZHNldCBsZWdlbmQgIiwKKwlERUNMIGh0bWxfaW5saW5lLCBOVUxMLCBERUNMIGxlZ2VuZF9hdHRycyAsIERFQ0wgYWxpZ25fYXR0ciwgTlVMTAorfSwKK3sgImxpIiwJCTAsIDEsIDEsIDAsIDAsIDAsIDAsICJsaXN0IGl0ZW0gIiwKKwlERUNMIGh0bWxfZmxvdywgTlVMTCwgREVDTCBodG1sX2F0dHJzLCBOVUxMLCBOVUxMCit9LAoreyAibGluayIsCTAsIDIsIDIsIDEsIDAsIDAsIDAsICJhIG1lZGlhLWluZGVwZW5kZW50IGxpbmsgIiwKKwlFTVBUWSwgTlVMTCwgREVDTCBsaW5rX2F0dHJzLCBERUNMIHRhcmdldF9hdHRyLCBOVUxMCit9LAoreyAibWFwIiwJMCwgMCwgMCwgMCwgMCwgMCwgMiwgImNsaWVudC1zaWRlIGltYWdlIG1hcCAiLAorCURFQ0wgbWFwX2NvbnRlbnRzICwgTlVMTCwgREVDTCBodG1sX2F0dHJzICwgTlVMTCwgREVDTCBuYW1lX2F0dHIKK30sCit7ICJtZW51IiwJMCwgMCwgMCwgMCwgMSwgMSwgMCwgIm1lbnUgbGlzdCAiLAorCURFQ0wgYmxvY2tsaV9lbHQgLCBOVUxMLCBOVUxMLCBERUNMIGNvbXBhY3RfYXR0cnMsIE5VTEwKK30sCit7ICJtZXRhIiwJMCwgMiwgMiwgMSwgMCwgMCwgMCwgImdlbmVyaWMgbWV0YWluZm9ybWF0aW9uICIsCisJRU1QVFksIE5VTEwsIERFQ0wgbWV0YV9hdHRycyAsIE5VTEwgLCBERUNMIGNvbnRlbnRfYXR0cgorfSwKK3sgIm5vZnJhbWVzIiwJMCwgMCwgMCwgMCwgMCwgMiwgMCwgImFsdGVybmF0ZSBjb250ZW50IGNvbnRhaW5lciBmb3Igbm9uIGZyYW1lLWJhc2VkIHJlbmRlcmluZyAiLAorCURFQ0wgbm9mcmFtZXNfY29udGVudCwgImJvZHkiICwgREVDTCBodG1sX2F0dHJzLCBOVUxMLCBOVUxMCit9LAoreyAibm9zY3JpcHQiLAkwLCAwLCAwLCAwLCAwLCAwLCAwLCAiYWx0ZXJuYXRlIGNvbnRlbnQgY29udGFpbmVyIGZvciBub24gc2NyaXB0LWJhc2VkIHJlbmRlcmluZyAiLAorCURFQ0wgaHRtbF9mbG93LCAiZGl2IiwgREVDTCBodG1sX2F0dHJzLCBOVUxMLCBOVUxMCit9LAoreyAib2JqZWN0IiwJMCwgMCwgMCwgMCwgMCwgMCwgMiwgImdlbmVyaWMgZW1iZWRkZWQgb2JqZWN0ICIsCisJREVDTCBvYmplY3RfY29udGVudHMgLCAiZGl2IiAsIERFQ0wgb2JqZWN0X2F0dHJzLCBERUNMIG9iamVjdF9kZXByLCBOVUxMCit9LAoreyAib2wiLAkJMCwgMCwgMCwgMCwgMCwgMCwgMCwgIm9yZGVyZWQgbGlzdCAiLAorCURFQ0wgbGlfZWx0ICwgImxpIiAsIERFQ0wgaHRtbF9hdHRycywgREVDTCBvbF9hdHRycywgTlVMTAorfSwKK3sgIm9wdGdyb3VwIiwJMCwgMCwgMCwgMCwgMCwgMCwgMCwgIm9wdGlvbiBncm91cCAiLAorCURFQ0wgb3B0aW9uX2VsdCAsICJvcHRpb24iLCBERUNMIG9wdGdyb3VwX2F0dHJzLCBOVUxMLCBERUNMIGxhYmVsX2F0dHIKK30sCit7ICJvcHRpb24iLAkwLCAxLCAwLCAwLCAwLCAwLCAwLCAic2VsZWN0YWJsZSBjaG9pY2UgIiAsCisJREVDTCBodG1sX3BjZGF0YSwgTlVMTCwgREVDTCBvcHRpb25fYXR0cnMsIE5VTEwsIE5VTEwKK30sCit7ICJwIiwJCTAsIDEsIDAsIDAsIDAsIDAsIDAsICJwYXJhZ3JhcGggIiwKKwlERUNMIGh0bWxfaW5saW5lLCBOVUxMLCBERUNMIGh0bWxfYXR0cnMsIERFQ0wgYWxpZ25fYXR0ciwgTlVMTAorfSwKK3sgInBhcmFtIiwJMCwgMiwgMiwgMSwgMCwgMCwgMCwgIm5hbWVkIHByb3BlcnR5IHZhbHVlICIsCisJRU1QVFksIE5VTEwsIERFQ0wgcGFyYW1fYXR0cnMsIE5VTEwsIERFQ0wgbmFtZV9hdHRyCit9LAoreyAicHJlIiwJMCwgMCwgMCwgMCwgMCwgMCwgMCwgInByZWZvcm1hdHRlZCB0ZXh0ICIsCisJREVDTCBwcmVfY29udGVudCwgTlVMTCwgREVDTCBodG1sX2F0dHJzLCBERUNMIHdpZHRoX2F0dHIsIE5VTEwKK30sCit7ICJxIiwJCTAsIDAsIDAsIDAsIDAsIDAsIDEsICJzaG9ydCBpbmxpbmUgcXVvdGF0aW9uICIsCisJREVDTCBodG1sX2lubGluZSwgTlVMTCwgREVDTCBxdW90ZV9hdHRycywgTlVMTCwgTlVMTAorfSwKK3sgInMiLAkJMCwgMywgMCwgMCwgMSwgMSwgMSwgInN0cmlrZS10aHJvdWdoIHRleHQgc3R5bGUiLAorCURFQ0wgaHRtbF9pbmxpbmUsIE5VTEwsIE5VTEwsIERFQ0wgaHRtbF9hdHRycywgTlVMTAorfSwKK3sgInNhbXAiLAkwLCAwLCAwLCAwLCAwLCAwLCAxLCAic2FtcGxlIHByb2dyYW0gb3V0cHV0LCBzY3JpcHRzLCBldGMuIiwKKwlERUNMIGh0bWxfaW5saW5lLCBOVUxMLCBERUNMIGh0bWxfYXR0cnMsIE5VTEwsIE5VTEwKK30sCit7ICJzY3JpcHQiLAkwLCAwLCAwLCAwLCAwLCAwLCAyLCAic2NyaXB0IHN0YXRlbWVudHMgIiwKKwlERUNMIGh0bWxfY2RhdGEsIE5VTEwsIERFQ0wgc2NyaXB0X2F0dHJzLCBERUNMIGxhbmd1YWdlX2F0dHIsIERFQ0wgdHlwZV9hdHRyCit9LAoreyAic2VsZWN0IiwJMCwgMCwgMCwgMCwgMCwgMCwgMSwgIm9wdGlvbiBzZWxlY3RvciAiLAorCURFQ0wgc2VsZWN0X2NvbnRlbnQsIE5VTEwsIERFQ0wgc2VsZWN0X2F0dHJzLCBOVUxMLCBOVUxMCit9LAoreyAic21hbGwiLAkwLCAzLCAwLCAwLCAwLCAwLCAxLCAic21hbGwgdGV4dCBzdHlsZSIsCisJREVDTCBodG1sX2lubGluZSwgTlVMTCwgREVDTCBodG1sX2F0dHJzLCBOVUxMLCBOVUxMCit9LAoreyAic3BhbiIsCTAsIDAsIDAsIDAsIDAsIDAsIDEsICJnZW5lcmljIGxhbmd1YWdlL3N0eWxlIGNvbnRhaW5lciAiLAorCURFQ0wgaHRtbF9pbmxpbmUsIE5VTEwsIERFQ0wgaHRtbF9hdHRycywgTlVMTCwgTlVMTAorfSwKK3sgInN0cmlrZSIsCTAsIDMsIDAsIDAsIDEsIDEsIDEsICJzdHJpa2UtdGhyb3VnaCB0ZXh0IiwKKwlERUNMIGh0bWxfaW5saW5lLCBOVUxMLCBOVUxMLCBERUNMIGh0bWxfYXR0cnMsIE5VTEwKK30sCit7ICJzdHJvbmciLAkwLCAzLCAwLCAwLCAwLCAwLCAxLCAic3Ryb25nIGVtcGhhc2lzIiwKKwlERUNMIGh0bWxfaW5saW5lLCBOVUxMLCBERUNMIGh0bWxfYXR0cnMsIE5VTEwsIE5VTEwKK30sCit7ICJzdHlsZSIsCTAsIDAsIDAsIDAsIDAsIDAsIDAsICJzdHlsZSBpbmZvICIsCisJREVDTCBodG1sX2NkYXRhLCBOVUxMLCBERUNMIHN0eWxlX2F0dHJzLCBOVUxMLCBERUNMIHR5cGVfYXR0cgorfSwKK3sgInN1YiIsCTAsIDMsIDAsIDAsIDAsIDAsIDEsICJzdWJzY3JpcHQiLAorCURFQ0wgaHRtbF9pbmxpbmUsIE5VTEwsIERFQ0wgaHRtbF9hdHRycywgTlVMTCwgTlVMTAorfSwKK3sgInN1cCIsCTAsIDMsIDAsIDAsIDAsIDAsIDEsICJzdXBlcnNjcmlwdCAiLAorCURFQ0wgaHRtbF9pbmxpbmUsIE5VTEwsIERFQ0wgaHRtbF9hdHRycywgTlVMTCwgTlVMTAorfSwKK3sgInRhYmxlIiwJMCwgMCwgMCwgMCwgMCwgMCwgMCwgIiIsCisJREVDTCB0YWJsZV9jb250ZW50cyAsICJ0ciIgLCBERUNMIHRhYmxlX2F0dHJzICwgREVDTCB0YWJsZV9kZXByLCBOVUxMCit9LAoreyAidGJvZHkiLAkxLCAwLCAwLCAwLCAwLCAwLCAwLCAidGFibGUgYm9keSAiLAorCURFQ0wgdHJfZWx0ICwgInRyIiAsIERFQ0wgdGFsaWduX2F0dHJzLCBOVUxMLCBOVUxMCit9LAoreyAidGQiLAkJMCwgMCwgMCwgMCwgMCwgMCwgMCwgInRhYmxlIGRhdGEgY2VsbCIsCisJREVDTCBodG1sX2Zsb3csIE5VTEwsIERFQ0wgdGhfdGRfYXR0ciwgREVDTCB0aF90ZF9kZXByLCBOVUxMCit9LAoreyAidGV4dGFyZWEiLAkwLCAwLCAwLCAwLCAwLCAwLCAxLCAibXVsdGktbGluZSB0ZXh0IGZpZWxkICIsCisJREVDTCBodG1sX3BjZGF0YSwgTlVMTCwgREVDTCB0ZXh0YXJlYV9hdHRycywgTlVMTCwgREVDTCByb3dzX2NvbHNfYXR0cgorfSwKK3sgInRmb290IiwJMCwgMSwgMCwgMCwgMCwgMCwgMCwgInRhYmxlIGZvb3RlciAiLAorCURFQ0wgdHJfZWx0ICwgInRyIiAsIERFQ0wgdGFsaWduX2F0dHJzLCBOVUxMLCBOVUxMCit9LAoreyAidGgiLAkJMCwgMSwgMCwgMCwgMCwgMCwgMCwgInRhYmxlIGhlYWRlciBjZWxsIiwKKwlERUNMIGh0bWxfZmxvdywgTlVMTCwgREVDTCB0aF90ZF9hdHRyLCBERUNMIHRoX3RkX2RlcHIsIE5VTEwKK30sCit7ICJ0aGVhZCIsCTAsIDEsIDAsIDAsIDAsIDAsIDAsICJ0YWJsZSBoZWFkZXIgIiwKKwlERUNMIHRyX2VsdCAsICJ0ciIgLCBERUNMIHRhbGlnbl9hdHRycywgTlVMTCwgTlVMTAorfSwKK3sgInRpdGxlIiwJMCwgMCwgMCwgMCwgMCwgMCwgMCwgImRvY3VtZW50IHRpdGxlICIsCisJREVDTCBodG1sX3BjZGF0YSwgTlVMTCwgREVDTCBpMThuX2F0dHJzLCBOVUxMLCBOVUxMCit9LAoreyAidHIiLAkJMCwgMCwgMCwgMCwgMCwgMCwgMCwgInRhYmxlIHJvdyAiLAorCURFQ0wgdHJfY29udGVudHMgLCAidGQiICwgREVDTCB0YWxpZ25fYXR0cnMsIERFQ0wgYmdjb2xvcl9hdHRyLCBOVUxMCit9LAoreyAidHQiLAkJMCwgMywgMCwgMCwgMCwgMCwgMSwgInRlbGV0eXBlIG9yIG1vbm9zcGFjZWQgdGV4dCBzdHlsZSIsCisJREVDTCBodG1sX2lubGluZSwgTlVMTCwgREVDTCBodG1sX2F0dHJzLCBOVUxMLCBOVUxMCit9LAoreyAidSIsCQkwLCAzLCAwLCAwLCAxLCAxLCAxLCAidW5kZXJsaW5lZCB0ZXh0IHN0eWxlIiwKKwlERUNMIGh0bWxfaW5saW5lLCBOVUxMLCBOVUxMLCBERUNMIGh0bWxfYXR0cnMsIE5VTEwKK30sCit7ICJ1bCIsCQkwLCAwLCAwLCAwLCAwLCAwLCAwLCAidW5vcmRlcmVkIGxpc3QgIiwKKwlERUNMIGxpX2VsdCAsICJsaSIgLCBERUNMIGh0bWxfYXR0cnMsIERFQ0wgdWxfZGVwciwgTlVMTAorfSwKK3sgInZhciIsCTAsIDAsIDAsIDAsIDAsIDAsIDEsICJpbnN0YW5jZSBvZiBhIHZhcmlhYmxlIG9yIHByb2dyYW0gYXJndW1lbnQiLAorCURFQ0wgaHRtbF9pbmxpbmUsIE5VTEwsIERFQ0wgaHRtbF9hdHRycywgTlVMTCwgTlVMTAorfQorfTsKKworLyoKKyAqIHN0YXJ0IHRhZ3MgdGhhdCBpbXBseSB0aGUgZW5kIG9mIGN1cnJlbnQgZWxlbWVudAorICovCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGh0bWxTdGFydENsb3NlW10gPSB7CisiZm9ybSIsCQkiZm9ybSIsICJwIiwgImhyIiwgImgxIiwgImgyIiwgImgzIiwgImg0IiwgImg1IiwgImg2IiwKKwkJImRsIiwgInVsIiwgIm9sIiwgIm1lbnUiLCAiZGlyIiwgImFkZHJlc3MiLCAicHJlIiwKKwkJImxpc3RpbmciLCAieG1wIiwgImhlYWQiLCBOVUxMLAorImhlYWQiLAkJInAiLCBOVUxMLAorInRpdGxlIiwJInAiLCBOVUxMLAorImJvZHkiLAkJImhlYWQiLCAic3R5bGUiLCAibGluayIsICJ0aXRsZSIsICJwIiwgTlVMTCwKKyJmcmFtZXNldCIsCSJoZWFkIiwgInN0eWxlIiwgImxpbmsiLCAidGl0bGUiLCAicCIsIE5VTEwsCisibGkiLAkJInAiLCAiaDEiLCAiaDIiLCAiaDMiLCAiaDQiLCAiaDUiLCAiaDYiLCAiZGwiLCAiYWRkcmVzcyIsCisJCSJwcmUiLCAibGlzdGluZyIsICJ4bXAiLCAiaGVhZCIsICJsaSIsIE5VTEwsCisiaHIiLAkJInAiLCAiaGVhZCIsIE5VTEwsCisiaDEiLAkJInAiLCAiaGVhZCIsIE5VTEwsCisiaDIiLAkJInAiLCAiaGVhZCIsIE5VTEwsCisiaDMiLAkJInAiLCAiaGVhZCIsIE5VTEwsCisiaDQiLAkJInAiLCAiaGVhZCIsIE5VTEwsCisiaDUiLAkJInAiLCAiaGVhZCIsIE5VTEwsCisiaDYiLAkJInAiLCAiaGVhZCIsIE5VTEwsCisiZGlyIiwJCSJwIiwgImhlYWQiLCBOVUxMLAorImFkZHJlc3MiLAkicCIsICJoZWFkIiwgInVsIiwgTlVMTCwKKyJwcmUiLAkJInAiLCAiaGVhZCIsICJ1bCIsIE5VTEwsCisibGlzdGluZyIsCSJwIiwgImhlYWQiLCBOVUxMLAorInhtcCIsCQkicCIsICJoZWFkIiwgTlVMTCwKKyJibG9ja3F1b3RlIiwJInAiLCAiaGVhZCIsIE5VTEwsCisiZGwiLAkJInAiLCAiZHQiLCAibWVudSIsICJkaXIiLCAiYWRkcmVzcyIsICJwcmUiLCAibGlzdGluZyIsCisJCSJ4bXAiLCAiaGVhZCIsIE5VTEwsCisiZHQiLAkJInAiLCAibWVudSIsICJkaXIiLCAiYWRkcmVzcyIsICJwcmUiLCAibGlzdGluZyIsICJ4bXAiLAorICAgICAgICAgICAgICAgICJoZWFkIiwgImRkIiwgTlVMTCwKKyJkZCIsCQkicCIsICJtZW51IiwgImRpciIsICJhZGRyZXNzIiwgInByZSIsICJsaXN0aW5nIiwgInhtcCIsCisgICAgICAgICAgICAgICAgImhlYWQiLCAiZHQiLCBOVUxMLAorInVsIiwJCSJwIiwgImhlYWQiLCAib2wiLCAibWVudSIsICJkaXIiLCAiYWRkcmVzcyIsICJwcmUiLAorCQkibGlzdGluZyIsICJ4bXAiLCBOVUxMLAorIm9sIiwJCSJwIiwgImhlYWQiLCAidWwiLCBOVUxMLAorIm1lbnUiLAkJInAiLCAiaGVhZCIsICJ1bCIsIE5VTEwsCisicCIsCQkicCIsICJoZWFkIiwgImgxIiwgImgyIiwgImgzIiwgImg0IiwgImg1IiwgImg2IiwgRk9OVFNUWUxFLCBOVUxMLAorImRpdiIsCQkicCIsICJoZWFkIiwgTlVMTCwKKyJub3NjcmlwdCIsCSJwIiwgTlVMTCwKKyJjZW50ZXIiLAkiZm9udCIsICJiIiwgImkiLCAicCIsICJoZWFkIiwgTlVMTCwKKyJhIiwJCSJhIiwgImhlYWQiLCBOVUxMLAorImNhcHRpb24iLAkicCIsIE5VTEwsCisiY29sZ3JvdXAiLAkiY2FwdGlvbiIsICJjb2xncm91cCIsICJjb2wiLCAicCIsIE5VTEwsCisiY29sIiwJCSJjYXB0aW9uIiwgImNvbCIsICJwIiwgTlVMTCwKKyJ0YWJsZSIsCSJwIiwgImhlYWQiLCAiaDEiLCAiaDIiLCAiaDMiLCAiaDQiLCAiaDUiLCAiaDYiLCAicHJlIiwKKwkJImxpc3RpbmciLCAieG1wIiwgImEiLCBOVUxMLAorInRoIiwJCSJ0aCIsICJ0ZCIsICJwIiwgInNwYW4iLCAiZm9udCIsICJhIiwgImIiLCAiaSIsICJ1IiwgTlVMTCwKKyJ0ZCIsCQkidGgiLCAidGQiLCAicCIsICJzcGFuIiwgImZvbnQiLCAiYSIsICJiIiwgImkiLCAidSIsIE5VTEwsCisidHIiLAkJInRoIiwgInRkIiwgInRyIiwgImNhcHRpb24iLCAiY29sIiwgImNvbGdyb3VwIiwgInAiLCBOVUxMLAorInRoZWFkIiwJImNhcHRpb24iLCAiY29sIiwgImNvbGdyb3VwIiwgTlVMTCwKKyJ0Zm9vdCIsCSJ0aCIsICJ0ZCIsICJ0ciIsICJjYXB0aW9uIiwgImNvbCIsICJjb2xncm91cCIsICJ0aGVhZCIsCisJCSJ0Ym9keSIsICJwIiwgTlVMTCwKKyJ0Ym9keSIsCSJ0aCIsICJ0ZCIsICJ0ciIsICJjYXB0aW9uIiwgImNvbCIsICJjb2xncm91cCIsICJ0aGVhZCIsCisJCSJ0Zm9vdCIsICJ0Ym9keSIsICJwIiwgTlVMTCwKKyJvcHRncm91cCIsCSJvcHRpb24iLCBOVUxMLAorIm9wdGlvbiIsCSJvcHRpb24iLCBOVUxMLAorImZpZWxkc2V0IiwJImxlZ2VuZCIsICJwIiwgImhlYWQiLCAiaDEiLCAiaDIiLCAiaDMiLCAiaDQiLCAiaDUiLCAiaDYiLAorCQkicHJlIiwgImxpc3RpbmciLCAieG1wIiwgImEiLCBOVUxMLAorLyogbW9zdCB0YWdzIGluIGluIEZPTlRTVFlMRSwgUEhSQVNFIGFuZCBTUEVDSUFMIHNob3VsZCBjbG9zZSA8aGVhZD4gKi8KKyJ0dCIsCQkiaGVhZCIsIE5VTEwsCisiaSIsCQkiaGVhZCIsIE5VTEwsCisiYiIsCQkiaGVhZCIsIE5VTEwsCisidSIsCQkiaGVhZCIsIE5VTEwsCisicyIsCQkiaGVhZCIsIE5VTEwsCisic3RyaWtlIiwJImhlYWQiLCBOVUxMLAorImJpZyIsCQkiaGVhZCIsIE5VTEwsCisic21hbGwiLAkiaGVhZCIsIE5VTEwsCisKKyJlbSIsCQkiaGVhZCIsIE5VTEwsCisic3Ryb25nIiwJImhlYWQiLCBOVUxMLAorImRmbiIsCQkiaGVhZCIsIE5VTEwsCisiY29kZSIsCQkiaGVhZCIsIE5VTEwsCisic2FtcCIsCQkiaGVhZCIsIE5VTEwsCisia2JkIiwJCSJoZWFkIiwgTlVMTCwKKyJ2YXIiLAkJImhlYWQiLCBOVUxMLAorImNpdGUiLAkJImhlYWQiLCBOVUxMLAorImFiYnIiLAkJImhlYWQiLCBOVUxMLAorImFjcm9ueW0iLAkiaGVhZCIsIE5VTEwsCisKKy8qICJhIiAqLworImltZyIsCQkiaGVhZCIsIE5VTEwsCisvKiAiYXBwbGV0IiAqLworLyogImVtYmVkIiAqLworLyogIm9iamVjdCIgKi8KKyJmb250IiwJCSJoZWFkIiwgTlVMTCwKKy8qICJiYXNlZm9udCIgKi8KKyJiciIsCQkiaGVhZCIsIE5VTEwsCisvKiAic2NyaXB0IiAqLworIm1hcCIsCQkiaGVhZCIsIE5VTEwsCisicSIsCQkiaGVhZCIsIE5VTEwsCisic3ViIiwJCSJoZWFkIiwgTlVMTCwKKyJzdXAiLAkJImhlYWQiLCBOVUxMLAorInNwYW4iLAkJImhlYWQiLCBOVUxMLAorImJkbyIsCQkiaGVhZCIsIE5VTEwsCisiaWZyYW1lIiwJImhlYWQiLCBOVUxMLAorTlVMTAorfTsKKworLyoKKyAqIFRoZSBsaXN0IG9mIEhUTUwgZWxlbWVudHMgd2hpY2ggYXJlIHN1cHBvc2VkIG5vdCB0byBoYXZlCisgKiBDREFUQSBjb250ZW50IGFuZCB3aGVyZSBhIHAgZWxlbWVudCB3aWxsIGJlIGltcGxpZWQKKyAqCisgKiBUT0RPOiBleHRlbmQgdGhhdCBsaXN0IGJ5IHJlYWRpbmcgdGhlIEhUTUwgU0dNTCBEVEQgb24KKyAqICAgICAgIGltcGxpZWQgcGFyYWdyYXBoCisgKi8KK3N0YXRpYyBjb25zdCBjaGFyICpjb25zdCBodG1sTm9Db250ZW50RWxlbWVudHNbXSA9IHsKKyAgICAiaHRtbCIsCisgICAgImhlYWQiLAorICAgIE5VTEwKK307CisKKy8qCisgKiBUaGUgbGlzdCBvZiBIVE1MIGF0dHJpYnV0ZXMgd2hpY2ggYXJlIG9mIGNvbnRlbnQgJVNjcmlwdDsKKyAqIE5PVEU6IHdoZW4gYWRkaW5nIG9uZXMsIGNoZWNrIGh0bWxJc1NjcmlwdEF0dHJpYnV0ZSgpIHNpbmNlCisgKiAgICAgICBpdCBhc3N1bWVzIHRoZSBuYW1lIHN0YXJ0cyB3aXRoICdvbicKKyAqLworc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IGh0bWxTY3JpcHRBdHRyaWJ1dGVzW10gPSB7CisgICAgIm9uY2xpY2siLAorICAgICJvbmRibGNsaWNrIiwKKyAgICAib25tb3VzZWRvd24iLAorICAgICJvbm1vdXNldXAiLAorICAgICJvbm1vdXNlb3ZlciIsCisgICAgIm9ubW91c2Vtb3ZlIiwKKyAgICAib25tb3VzZW91dCIsCisgICAgIm9ua2V5cHJlc3MiLAorICAgICJvbmtleWRvd24iLAorICAgICJvbmtleXVwIiwKKyAgICAib25sb2FkIiwKKyAgICAib251bmxvYWQiLAorICAgICJvbmZvY3VzIiwKKyAgICAib25ibHVyIiwKKyAgICAib25zdWJtaXQiLAorICAgICJvbnJlc2V0IiwKKyAgICAib25jaGFuZ2UiLAorICAgICJvbnNlbGVjdCIKK307CisKKy8qCisgKiBUaGlzIHRhYmxlIGlzIHVzZWQgYnkgdGhlIGh0bWxwYXJzZXIgdG8ga25vdyB3aGF0IHRvIGRvIHdpdGgKKyAqIGJyb2tlbiBodG1sIHBhZ2VzLiBCeSBhc3NpZ25pbmcgZGlmZmVyZW50IHByaW9yaXRpZXMgdG8gZGlmZmVyZW50CisgKiBlbGVtZW50cyB0aGUgcGFyc2VyIGNhbiBkZWNpZGUgaG93IHRvIGhhbmRsZSBleHRyYSBlbmR0YWdzLgorICogRW5kdGFncyBhcmUgb25seSBhbGxvd2VkIHRvIGNsb3NlIGVsZW1lbnRzIHdpdGggbG93ZXIgb3IgZXF1YWwKKyAqIHByaW9yaXR5LgorICovCisKK3R5cGVkZWYgc3RydWN0IHsKKyAgICBjb25zdCBjaGFyICpuYW1lOworICAgIGludCBwcmlvcml0eTsKK30gZWxlbWVudFByaW9yaXR5OworCitzdGF0aWMgY29uc3QgZWxlbWVudFByaW9yaXR5IGh0bWxFbmRQcmlvcml0eVtdID0geworICAgIHsiZGl2IiwgICAxNTB9LAorICAgIHsidGQiLCAgICAxNjB9LAorICAgIHsidGgiLCAgICAxNjB9LAorICAgIHsidHIiLCAgICAxNzB9LAorICAgIHsidGhlYWQiLCAxODB9LAorICAgIHsidGJvZHkiLCAxODB9LAorICAgIHsidGZvb3QiLCAxODB9LAorICAgIHsidGFibGUiLCAxOTB9LAorICAgIHsiaGVhZCIsICAyMDB9LAorICAgIHsiYm9keSIsICAyMDB9LAorICAgIHsiaHRtbCIsICAyMjB9LAorICAgIHtOVUxMLCAgICAxMDB9IC8qIERlZmF1bHQgcHJpb3JpdHkgKi8KK307CisKK3N0YXRpYyBjb25zdCBjaGFyKiogaHRtbFN0YXJ0Q2xvc2VJbmRleFsxMDBdOworc3RhdGljIGludCBodG1sU3RhcnRDbG9zZUluZGV4aW5pdGlhbGl6ZWQgPSAwOworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCWZ1bmN0aW9ucyB0byBoYW5kbGUgSFRNTCBzcGVjaWZpYyBkYXRhCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioKKyAqIGh0bWxJbml0QXV0b0Nsb3NlOgorICoKKyAqIEluaXRpYWxpemUgdGhlIGh0bWxTdGFydENsb3NlSW5kZXggZm9yIGZhc3QgbG9va3VwIG9mIGNsb3NpbmcgdGFncyBuYW1lcy4KKyAqIFRoaXMgaXMgbm90IHJlZW50cmFudC4gQ2FsbCB4bWxJbml0UGFyc2VyKCkgb25jZSBiZWZvcmUgcHJvY2Vzc2luZyBpbgorICogY2FzZSBvZiB1c2UgaW4gbXVsdGl0aHJlYWRlZCBwcm9ncmFtcy4KKyAqLwordm9pZAoraHRtbEluaXRBdXRvQ2xvc2Uodm9pZCkgeworICAgIGludCBpbmR4LCBpID0gMDsKKworICAgIGlmIChodG1sU3RhcnRDbG9zZUluZGV4aW5pdGlhbGl6ZWQpIHJldHVybjsKKworICAgIGZvciAoaW5keCA9IDA7aW5keCA8IDEwMDtpbmR4ICsrKSBodG1sU3RhcnRDbG9zZUluZGV4W2luZHhdID0gTlVMTDsKKyAgICBpbmR4ID0gMDsKKyAgICB3aGlsZSAoKGh0bWxTdGFydENsb3NlW2ldICE9IE5VTEwpICYmIChpbmR4IDwgMTAwIC0gMSkpIHsKKyAgICAgICAgaHRtbFN0YXJ0Q2xvc2VJbmRleFtpbmR4KytdID0gKGNvbnN0IGNoYXIqKikgJmh0bWxTdGFydENsb3NlW2ldOworCXdoaWxlIChodG1sU3RhcnRDbG9zZVtpXSAhPSBOVUxMKSBpKys7CisJaSsrOworICAgIH0KKyAgICBodG1sU3RhcnRDbG9zZUluZGV4aW5pdGlhbGl6ZWQgPSAxOworfQorCisvKioKKyAqIGh0bWxUYWdMb29rdXA6CisgKiBAdGFnOiAgVGhlIHRhZyBuYW1lIGluIGxvd2VyY2FzZQorICoKKyAqIExvb2t1cCB0aGUgSFRNTCB0YWcgaW4gdGhlIEVsZW1lbnRUYWJsZQorICoKKyAqIFJldHVybnMgdGhlIHJlbGF0ZWQgaHRtbEVsZW1EZXNjUHRyIG9yIE5VTEwgaWYgbm90IGZvdW5kLgorICovCitjb25zdCBodG1sRWxlbURlc2MgKgoraHRtbFRhZ0xvb2t1cChjb25zdCB4bWxDaGFyICp0YWcpIHsKKyAgICB1bnNpZ25lZCBpbnQgaTsKKworICAgIGZvciAoaSA9IDA7IGkgPCAoc2l6ZW9mKGh0bWw0MEVsZW1lbnRUYWJsZSkgLworICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKGh0bWw0MEVsZW1lbnRUYWJsZVswXSkpO2krKykgeworICAgICAgICBpZiAoIXhtbFN0cmNhc2VjbXAodGFnLCBCQURfQ0FTVCBodG1sNDBFbGVtZW50VGFibGVbaV0ubmFtZSkpCisJICAgIHJldHVybigoaHRtbEVsZW1EZXNjUHRyKSAmaHRtbDQwRWxlbWVudFRhYmxlW2ldKTsKKyAgICB9CisgICAgcmV0dXJuKE5VTEwpOworfQorCisvKioKKyAqIGh0bWxHZXRFbmRQcmlvcml0eToKKyAqIEBuYW1lOiBUaGUgbmFtZSBvZiB0aGUgZWxlbWVudCB0byBsb29rIHVwIHRoZSBwcmlvcml0eSBmb3IuCisgKgorICogUmV0dXJuIHZhbHVlOiBUaGUgImVuZHRhZyIgcHJpb3JpdHkuCisgKiovCitzdGF0aWMgaW50CitodG1sR2V0RW5kUHJpb3JpdHkgKGNvbnN0IHhtbENoYXIgKm5hbWUpIHsKKyAgICBpbnQgaSA9IDA7CisKKyAgICB3aGlsZSAoKGh0bWxFbmRQcmlvcml0eVtpXS5uYW1lICE9IE5VTEwpICYmCisJICAgKCF4bWxTdHJFcXVhbCgoY29uc3QgeG1sQ2hhciAqKWh0bWxFbmRQcmlvcml0eVtpXS5uYW1lLCBuYW1lKSkpCisJaSsrOworCisgICAgcmV0dXJuKGh0bWxFbmRQcmlvcml0eVtpXS5wcmlvcml0eSk7Cit9CisKKworLyoqCisgKiBodG1sQ2hlY2tBdXRvQ2xvc2U6CisgKiBAbmV3dGFnOiAgVGhlIG5ldyB0YWcgbmFtZQorICogQG9sZHRhZzogIFRoZSBvbGQgdGFnIG5hbWUKKyAqCisgKiBDaGVja3Mgd2hldGhlciB0aGUgbmV3IHRhZyBpcyBvbmUgb2YgdGhlIHJlZ2lzdGVyZWQgdmFsaWQgdGFncyBmb3IKKyAqIGNsb3Npbmcgb2xkLgorICogSW5pdGlhbGl6ZSB0aGUgaHRtbFN0YXJ0Q2xvc2VJbmRleCBmb3IgZmFzdCBsb29rdXAgb2YgY2xvc2luZyB0YWdzIG5hbWVzLgorICoKKyAqIFJldHVybnMgMCBpZiBubywgMSBpZiB5ZXMuCisgKi8KK3N0YXRpYyBpbnQKK2h0bWxDaGVja0F1dG9DbG9zZShjb25zdCB4bWxDaGFyICogbmV3dGFnLCBjb25zdCB4bWxDaGFyICogb2xkdGFnKQoreworICAgIGludCBpLCBpbmR4OworICAgIGNvbnN0IGNoYXIgKipjbG9zZWQgPSBOVUxMOworCisgICAgaWYgKGh0bWxTdGFydENsb3NlSW5kZXhpbml0aWFsaXplZCA9PSAwKQorICAgICAgICBodG1sSW5pdEF1dG9DbG9zZSgpOworCisgICAgLyogaW5lZmZpY2llbnQsIGJ1dCBub3QgYSBiaWcgZGVhbCAqLworICAgIGZvciAoaW5keCA9IDA7IGluZHggPCAxMDA7IGluZHgrKykgeworICAgICAgICBjbG9zZWQgPSBodG1sU3RhcnRDbG9zZUluZGV4W2luZHhdOworICAgICAgICBpZiAoY2xvc2VkID09IE5VTEwpCisgICAgICAgICAgICByZXR1cm4gKDApOworICAgICAgICBpZiAoeG1sU3RyRXF1YWwoQkFEX0NBU1QgKiBjbG9zZWQsIG5ld3RhZykpCisgICAgICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICBpID0gY2xvc2VkIC0gaHRtbFN0YXJ0Q2xvc2U7CisgICAgaSsrOworICAgIHdoaWxlIChodG1sU3RhcnRDbG9zZVtpXSAhPSBOVUxMKSB7CisgICAgICAgIGlmICh4bWxTdHJFcXVhbChCQURfQ0FTVCBodG1sU3RhcnRDbG9zZVtpXSwgb2xkdGFnKSkgeworICAgICAgICAgICAgcmV0dXJuICgxKTsKKyAgICAgICAgfQorICAgICAgICBpKys7CisgICAgfQorICAgIHJldHVybiAoMCk7Cit9CisKKy8qKgorICogaHRtbEF1dG9DbG9zZU9uQ2xvc2U6CisgKiBAY3R4dDogIGFuIEhUTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBuZXd0YWc6ICBUaGUgbmV3IHRhZyBuYW1lCisgKiBAZm9yY2U6ICBmb3JjZSB0aGUgdGFnIGNsb3N1cmUKKyAqCisgKiBUaGUgSFRNTCBEVEQgYWxsb3dzIGFuIGVuZGluZyB0YWcgdG8gaW1wbGljaXRseSBjbG9zZSBvdGhlciB0YWdzLgorICovCitzdGF0aWMgdm9pZAoraHRtbEF1dG9DbG9zZU9uQ2xvc2UoaHRtbFBhcnNlckN0eHRQdHIgY3R4dCwgY29uc3QgeG1sQ2hhciAqIG5ld3RhZykKK3sKKyAgICBjb25zdCBodG1sRWxlbURlc2MgKmluZm87CisgICAgaW50IGksIHByaW9yaXR5OworCisgICAgcHJpb3JpdHkgPSBodG1sR2V0RW5kUHJpb3JpdHkobmV3dGFnKTsKKworICAgIGZvciAoaSA9IChjdHh0LT5uYW1lTnIgLSAxKTsgaSA+PSAwOyBpLS0pIHsKKworICAgICAgICBpZiAoeG1sU3RyRXF1YWwobmV3dGFnLCBjdHh0LT5uYW1lVGFiW2ldKSkKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICAvKgorICAgICAgICAgKiBBIG1pc3NwbGFjZWQgZW5kdGFnIGNhbiBvbmx5IGNsb3NlIGVsZW1lbnRzIHdpdGggbG93ZXIKKyAgICAgICAgICogb3IgZXF1YWwgcHJpb3JpdHksIHNvIGlmIHdlIGZpbmQgYW4gZWxlbWVudCB3aXRoIGhpZ2hlcgorICAgICAgICAgKiBwcmlvcml0eSBiZWZvcmUgd2UgZmluZCBhbiBlbGVtZW50IHdpdGgKKyAgICAgICAgICogbWF0Y2hpbmcgbmFtZSwgd2UganVzdCBpZ25vcmUgdGhpcyBlbmR0YWcKKyAgICAgICAgICovCisgICAgICAgIGlmIChodG1sR2V0RW5kUHJpb3JpdHkoY3R4dC0+bmFtZVRhYltpXSkgPiBwcmlvcml0eSkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgaWYgKGkgPCAwKQorICAgICAgICByZXR1cm47CisKKyAgICB3aGlsZSAoIXhtbFN0ckVxdWFsKG5ld3RhZywgY3R4dC0+bmFtZSkpIHsKKyAgICAgICAgaW5mbyA9IGh0bWxUYWdMb29rdXAoY3R4dC0+bmFtZSk7CisgICAgICAgIGlmICgoaW5mbyAhPSBOVUxMKSAmJiAoaW5mby0+ZW5kVGFnID09IDMpKSB7CisgICAgICAgICAgICBodG1sUGFyc2VFcnIoY3R4dCwgWE1MX0VSUl9UQUdfTkFNRV9NSVNNQVRDSCwKKwkgICAgICAgICAgICAgICAgICJPcGVuaW5nIGFuZCBlbmRpbmcgdGFnIG1pc21hdGNoOiAlcyBhbmQgJXNcbiIsCisJCQkgbmV3dGFnLCBjdHh0LT5uYW1lKTsKKyAgICAgICAgfQorICAgICAgICBpZiAoKGN0eHQtPnNheCAhPSBOVUxMKSAmJiAoY3R4dC0+c2F4LT5lbmRFbGVtZW50ICE9IE5VTEwpKQorICAgICAgICAgICAgY3R4dC0+c2F4LT5lbmRFbGVtZW50KGN0eHQtPnVzZXJEYXRhLCBjdHh0LT5uYW1lKTsKKwlodG1sbmFtZVBvcChjdHh0KTsKKyAgICB9Cit9CisKKy8qKgorICogaHRtbEF1dG9DbG9zZU9uRW5kOgorICogQGN0eHQ6ICBhbiBIVE1MIHBhcnNlciBjb250ZXh0CisgKgorICogQ2xvc2UgYWxsIHJlbWFpbmluZyB0YWdzIGF0IHRoZSBlbmQgb2YgdGhlIHN0cmVhbQorICovCitzdGF0aWMgdm9pZAoraHRtbEF1dG9DbG9zZU9uRW5kKGh0bWxQYXJzZXJDdHh0UHRyIGN0eHQpCit7CisgICAgaW50IGk7CisKKyAgICBpZiAoY3R4dC0+bmFtZU5yID09IDApCisgICAgICAgIHJldHVybjsKKyAgICBmb3IgKGkgPSAoY3R4dC0+bmFtZU5yIC0gMSk7IGkgPj0gMDsgaS0tKSB7CisgICAgICAgIGlmICgoY3R4dC0+c2F4ICE9IE5VTEwpICYmIChjdHh0LT5zYXgtPmVuZEVsZW1lbnQgIT0gTlVMTCkpCisgICAgICAgICAgICBjdHh0LT5zYXgtPmVuZEVsZW1lbnQoY3R4dC0+dXNlckRhdGEsIGN0eHQtPm5hbWUpOworCWh0bWxuYW1lUG9wKGN0eHQpOworICAgIH0KK30KKworLyoqCisgKiBodG1sQXV0b0Nsb3NlOgorICogQGN0eHQ6ICBhbiBIVE1MIHBhcnNlciBjb250ZXh0CisgKiBAbmV3dGFnOiAgVGhlIG5ldyB0YWcgbmFtZSBvciBOVUxMCisgKgorICogVGhlIEhUTUwgRFREIGFsbG93cyBhIHRhZyB0byBpbXBsaWNpdGx5IGNsb3NlIG90aGVyIHRhZ3MuCisgKiBUaGUgbGlzdCBpcyBrZXB0IGluIGh0bWxTdGFydENsb3NlIGFycmF5LiBUaGlzIGZ1bmN0aW9uIGlzCisgKiBjYWxsZWQgd2hlbiBhIG5ldyB0YWcgaGFzIGJlZW4gZGV0ZWN0ZWQgYW5kIGdlbmVyYXRlcyB0aGUKKyAqIGFwcHJvcHJpYXRlcyBjbG9zZXMgaWYgcG9zc2libGUvbmVlZGVkLgorICogSWYgbmV3dGFnIGlzIE5VTEwgdGhpcyBtZWFuIHdlIGFyZSBhdCB0aGUgZW5kIG9mIHRoZSByZXNvdXJjZQorICogYW5kIHdlIHNob3VsZCBjaGVjaworICovCitzdGF0aWMgdm9pZAoraHRtbEF1dG9DbG9zZShodG1sUGFyc2VyQ3R4dFB0ciBjdHh0LCBjb25zdCB4bWxDaGFyICogbmV3dGFnKQoreworICAgIHdoaWxlICgobmV3dGFnICE9IE5VTEwpICYmIChjdHh0LT5uYW1lICE9IE5VTEwpICYmCisgICAgICAgICAgIChodG1sQ2hlY2tBdXRvQ2xvc2UobmV3dGFnLCBjdHh0LT5uYW1lKSkpIHsKKyAgICAgICAgaWYgKChjdHh0LT5zYXggIT0gTlVMTCkgJiYgKGN0eHQtPnNheC0+ZW5kRWxlbWVudCAhPSBOVUxMKSkKKyAgICAgICAgICAgIGN0eHQtPnNheC0+ZW5kRWxlbWVudChjdHh0LT51c2VyRGF0YSwgY3R4dC0+bmFtZSk7CisJaHRtbG5hbWVQb3AoY3R4dCk7CisgICAgfQorICAgIGlmIChuZXd0YWcgPT0gTlVMTCkgeworICAgICAgICBodG1sQXV0b0Nsb3NlT25FbmQoY3R4dCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgd2hpbGUgKChuZXd0YWcgPT0gTlVMTCkgJiYgKGN0eHQtPm5hbWUgIT0gTlVMTCkgJiYKKyAgICAgICAgICAgKCh4bWxTdHJFcXVhbChjdHh0LT5uYW1lLCBCQURfQ0FTVCAiaGVhZCIpKSB8fAorICAgICAgICAgICAgKHhtbFN0ckVxdWFsKGN0eHQtPm5hbWUsIEJBRF9DQVNUICJib2R5IikpIHx8CisgICAgICAgICAgICAoeG1sU3RyRXF1YWwoY3R4dC0+bmFtZSwgQkFEX0NBU1QgImh0bWwiKSkpKSB7CisgICAgICAgIGlmICgoY3R4dC0+c2F4ICE9IE5VTEwpICYmIChjdHh0LT5zYXgtPmVuZEVsZW1lbnQgIT0gTlVMTCkpCisgICAgICAgICAgICBjdHh0LT5zYXgtPmVuZEVsZW1lbnQoY3R4dC0+dXNlckRhdGEsIGN0eHQtPm5hbWUpOworCWh0bWxuYW1lUG9wKGN0eHQpOworICAgIH0KK30KKworLyoqCisgKiBodG1sQXV0b0Nsb3NlVGFnOgorICogQGRvYzogIHRoZSBIVE1MIGRvY3VtZW50CisgKiBAbmFtZTogIFRoZSB0YWcgbmFtZQorICogQGVsZW06ICB0aGUgSFRNTCBlbGVtZW50CisgKgorICogVGhlIEhUTUwgRFREIGFsbG93cyBhIHRhZyB0byBpbXBsaWNpdGx5IGNsb3NlIG90aGVyIHRhZ3MuCisgKiBUaGUgbGlzdCBpcyBrZXB0IGluIGh0bWxTdGFydENsb3NlIGFycmF5LiBUaGlzIGZ1bmN0aW9uIGNoZWNrcworICogaWYgdGhlIGVsZW1lbnQgb3Igb25lIG9mIGl0J3MgY2hpbGRyZW4gd291bGQgYXV0b2Nsb3NlIHRoZQorICogZ2l2ZW4gdGFnLgorICoKKyAqIFJldHVybnMgMSBpZiBhdXRvY2xvc2UsIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoraHRtbEF1dG9DbG9zZVRhZyhodG1sRG9jUHRyIGRvYywgY29uc3QgeG1sQ2hhciAqbmFtZSwgaHRtbE5vZGVQdHIgZWxlbSkgeworICAgIGh0bWxOb2RlUHRyIGNoaWxkOworCisgICAgaWYgKGVsZW0gPT0gTlVMTCkgcmV0dXJuKDEpOworICAgIGlmICh4bWxTdHJFcXVhbChuYW1lLCBlbGVtLT5uYW1lKSkgcmV0dXJuKDApOworICAgIGlmIChodG1sQ2hlY2tBdXRvQ2xvc2UoZWxlbS0+bmFtZSwgbmFtZSkpIHJldHVybigxKTsKKyAgICBjaGlsZCA9IGVsZW0tPmNoaWxkcmVuOworICAgIHdoaWxlIChjaGlsZCAhPSBOVUxMKSB7CisgICAgICAgIGlmIChodG1sQXV0b0Nsb3NlVGFnKGRvYywgbmFtZSwgY2hpbGQpKSByZXR1cm4oMSk7CisJY2hpbGQgPSBjaGlsZC0+bmV4dDsKKyAgICB9CisgICAgcmV0dXJuKDApOworfQorCisvKioKKyAqIGh0bWxJc0F1dG9DbG9zZWQ6CisgKiBAZG9jOiAgdGhlIEhUTUwgZG9jdW1lbnQKKyAqIEBlbGVtOiAgdGhlIEhUTUwgZWxlbWVudAorICoKKyAqIFRoZSBIVE1MIERURCBhbGxvd3MgYSB0YWcgdG8gaW1wbGljaXRseSBjbG9zZSBvdGhlciB0YWdzLgorICogVGhlIGxpc3QgaXMga2VwdCBpbiBodG1sU3RhcnRDbG9zZSBhcnJheS4gVGhpcyBmdW5jdGlvbiBjaGVja3MKKyAqIGlmIGEgdGFnIGlzIGF1dG9jbG9zZWQgYnkgb25lIG9mIGl0J3MgY2hpbGQKKyAqCisgKiBSZXR1cm5zIDEgaWYgYXV0b2Nsb3NlZCwgMCBvdGhlcndpc2UKKyAqLworaW50CitodG1sSXNBdXRvQ2xvc2VkKGh0bWxEb2NQdHIgZG9jLCBodG1sTm9kZVB0ciBlbGVtKSB7CisgICAgaHRtbE5vZGVQdHIgY2hpbGQ7CisKKyAgICBpZiAoZWxlbSA9PSBOVUxMKSByZXR1cm4oMSk7CisgICAgY2hpbGQgPSBlbGVtLT5jaGlsZHJlbjsKKyAgICB3aGlsZSAoY2hpbGQgIT0gTlVMTCkgeworCWlmIChodG1sQXV0b0Nsb3NlVGFnKGRvYywgZWxlbS0+bmFtZSwgY2hpbGQpKSByZXR1cm4oMSk7CisJY2hpbGQgPSBjaGlsZC0+bmV4dDsKKyAgICB9CisgICAgcmV0dXJuKDApOworfQorCisvKioKKyAqIGh0bWxDaGVja0ltcGxpZWQ6CisgKiBAY3R4dDogIGFuIEhUTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBuZXd0YWc6ICBUaGUgbmV3IHRhZyBuYW1lCisgKgorICogVGhlIEhUTUwgRFREIGFsbG93cyBhIHRhZyB0byBleGlzdHMgb25seSBpbXBsaWNpdGx5CisgKiBjYWxsZWQgd2hlbiBhIG5ldyB0YWcgaGFzIGJlZW4gZGV0ZWN0ZWQgYW5kIGdlbmVyYXRlcyB0aGUKKyAqIGFwcHJvcHJpYXRlcyBpbXBsaWNpdCB0YWdzIGlmIG1pc3NpbmcKKyAqLworc3RhdGljIHZvaWQKK2h0bWxDaGVja0ltcGxpZWQoaHRtbFBhcnNlckN0eHRQdHIgY3R4dCwgY29uc3QgeG1sQ2hhciAqbmV3dGFnKSB7CisgICAgaW50IGk7CisKKyAgICBpZiAoY3R4dC0+b3B0aW9ucyAmIEhUTUxfUEFSU0VfTk9JTVBMSUVEKQorICAgICAgICByZXR1cm47CisgICAgaWYgKCFodG1sT21pdHRlZERlZmF1bHRWYWx1ZSkKKwlyZXR1cm47CisgICAgaWYgKHhtbFN0ckVxdWFsKG5ld3RhZywgQkFEX0NBU1QiaHRtbCIpKQorCXJldHVybjsKKyAgICBpZiAoY3R4dC0+bmFtZU5yIDw9IDApIHsKKwlodG1sbmFtZVB1c2goY3R4dCwgQkFEX0NBU1QiaHRtbCIpOworCWlmICgoY3R4dC0+c2F4ICE9IE5VTEwpICYmIChjdHh0LT5zYXgtPnN0YXJ0RWxlbWVudCAhPSBOVUxMKSkKKwkgICAgY3R4dC0+c2F4LT5zdGFydEVsZW1lbnQoY3R4dC0+dXNlckRhdGEsIEJBRF9DQVNUImh0bWwiLCBOVUxMKTsKKyAgICB9CisgICAgaWYgKCh4bWxTdHJFcXVhbChuZXd0YWcsIEJBRF9DQVNUImJvZHkiKSkgfHwgKHhtbFN0ckVxdWFsKG5ld3RhZywgQkFEX0NBU1QiaGVhZCIpKSkKKyAgICAgICAgcmV0dXJuOworICAgIGlmICgoY3R4dC0+bmFtZU5yIDw9IDEpICYmCisgICAgICAgICgoeG1sU3RyRXF1YWwobmV3dGFnLCBCQURfQ0FTVCJzY3JpcHQiKSkgfHwKKwkgKHhtbFN0ckVxdWFsKG5ld3RhZywgQkFEX0NBU1Qic3R5bGUiKSkgfHwKKwkgKHhtbFN0ckVxdWFsKG5ld3RhZywgQkFEX0NBU1QibWV0YSIpKSB8fAorCSAoeG1sU3RyRXF1YWwobmV3dGFnLCBCQURfQ0FTVCJsaW5rIikpIHx8CisJICh4bWxTdHJFcXVhbChuZXd0YWcsIEJBRF9DQVNUInRpdGxlIikpIHx8CisJICh4bWxTdHJFcXVhbChuZXd0YWcsIEJBRF9DQVNUImJhc2UiKSkpKSB7CisgICAgICAgIGlmIChjdHh0LT5odG1sID49IDMpIHsKKyAgICAgICAgICAgIC8qIHdlIGFscmVhZHkgc2F3IG9yIGdlbmVyYXRlZCBhbiA8aGVhZD4gYmVmb3JlICovCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgLyoKKyAgICAgICAgICogZHJvcHBlZCBPQkpFQ1QgLi4uIGkgeW91IHB1dCBpdCBmaXJzdCBCT0RZIHdpbGwgYmUKKyAgICAgICAgICogYXNzdW1lZCAhCisgICAgICAgICAqLworICAgICAgICBodG1sbmFtZVB1c2goY3R4dCwgQkFEX0NBU1QiaGVhZCIpOworICAgICAgICBpZiAoKGN0eHQtPnNheCAhPSBOVUxMKSAmJiAoY3R4dC0+c2F4LT5zdGFydEVsZW1lbnQgIT0gTlVMTCkpCisgICAgICAgICAgICBjdHh0LT5zYXgtPnN0YXJ0RWxlbWVudChjdHh0LT51c2VyRGF0YSwgQkFEX0NBU1QiaGVhZCIsIE5VTEwpOworICAgIH0gZWxzZSBpZiAoKCF4bWxTdHJFcXVhbChuZXd0YWcsIEJBRF9DQVNUIm5vZnJhbWVzIikpICYmCisJICAgICAgICgheG1sU3RyRXF1YWwobmV3dGFnLCBCQURfQ0FTVCJmcmFtZSIpKSAmJgorCSAgICAgICAoIXhtbFN0ckVxdWFsKG5ld3RhZywgQkFEX0NBU1QiZnJhbWVzZXQiKSkpIHsKKyAgICAgICAgaWYgKGN0eHQtPmh0bWwgPj0gMTApIHsKKyAgICAgICAgICAgIC8qIHdlIGFscmVhZHkgc2F3IG9yIGdlbmVyYXRlZCBhIDxib2R5PiBiZWZvcmUgKi8KKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCWZvciAoaSA9IDA7aSA8IGN0eHQtPm5hbWVOcjtpKyspIHsKKwkgICAgaWYgKHhtbFN0ckVxdWFsKGN0eHQtPm5hbWVUYWJbaV0sIEJBRF9DQVNUImJvZHkiKSkgeworCQlyZXR1cm47CisJICAgIH0KKwkgICAgaWYgKHhtbFN0ckVxdWFsKGN0eHQtPm5hbWVUYWJbaV0sIEJBRF9DQVNUImhlYWQiKSkgeworCQlyZXR1cm47CisJICAgIH0KKwl9CisKKwlodG1sbmFtZVB1c2goY3R4dCwgQkFEX0NBU1QiYm9keSIpOworCWlmICgoY3R4dC0+c2F4ICE9IE5VTEwpICYmIChjdHh0LT5zYXgtPnN0YXJ0RWxlbWVudCAhPSBOVUxMKSkKKwkgICAgY3R4dC0+c2F4LT5zdGFydEVsZW1lbnQoY3R4dC0+dXNlckRhdGEsIEJBRF9DQVNUImJvZHkiLCBOVUxMKTsKKyAgICB9Cit9CisKKy8qKgorICogaHRtbENoZWNrUGFyYWdyYXBoCisgKiBAY3R4dDogIGFuIEhUTUwgcGFyc2VyIGNvbnRleHQKKyAqCisgKiBDaGVjayB3aGV0aGVyIGEgcCBlbGVtZW50IG5lZWQgdG8gYmUgaW1wbGllZCBiZWZvcmUgaW5zZXJ0aW5nCisgKiBjaGFyYWN0ZXJzIGluIHRoZSBjdXJyZW50IGVsZW1lbnQuCisgKgorICogUmV0dXJucyAxIGlmIGEgcGFyYWdyYXBoIGhhcyBiZWVuIGluc2VydGVkLCAwIGlmIG5vdCBhbmQgLTEKKyAqICAgICAgICAgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworCitzdGF0aWMgaW50CitodG1sQ2hlY2tQYXJhZ3JhcGgoaHRtbFBhcnNlckN0eHRQdHIgY3R4dCkgeworICAgIGNvbnN0IHhtbENoYXIgKnRhZzsKKyAgICBpbnQgaTsKKworICAgIGlmIChjdHh0ID09IE5VTEwpCisJcmV0dXJuKC0xKTsKKyAgICB0YWcgPSBjdHh0LT5uYW1lOworICAgIGlmICh0YWcgPT0gTlVMTCkgeworCWh0bWxBdXRvQ2xvc2UoY3R4dCwgQkFEX0NBU1QicCIpOworCWh0bWxDaGVja0ltcGxpZWQoY3R4dCwgQkFEX0NBU1QicCIpOworCWh0bWxuYW1lUHVzaChjdHh0LCBCQURfQ0FTVCJwIik7CisJaWYgKChjdHh0LT5zYXggIT0gTlVMTCkgJiYgKGN0eHQtPnNheC0+c3RhcnRFbGVtZW50ICE9IE5VTEwpKQorCSAgICBjdHh0LT5zYXgtPnN0YXJ0RWxlbWVudChjdHh0LT51c2VyRGF0YSwgQkFEX0NBU1QicCIsIE5VTEwpOworCXJldHVybigxKTsKKyAgICB9CisgICAgaWYgKCFodG1sT21pdHRlZERlZmF1bHRWYWx1ZSkKKwlyZXR1cm4oMCk7CisgICAgZm9yIChpID0gMDsgaHRtbE5vQ29udGVudEVsZW1lbnRzW2ldICE9IE5VTEw7IGkrKykgeworCWlmICh4bWxTdHJFcXVhbCh0YWcsIEJBRF9DQVNUIGh0bWxOb0NvbnRlbnRFbGVtZW50c1tpXSkpIHsKKwkgICAgaHRtbEF1dG9DbG9zZShjdHh0LCBCQURfQ0FTVCJwIik7CisJICAgIGh0bWxDaGVja0ltcGxpZWQoY3R4dCwgQkFEX0NBU1QicCIpOworCSAgICBodG1sbmFtZVB1c2goY3R4dCwgQkFEX0NBU1QicCIpOworCSAgICBpZiAoKGN0eHQtPnNheCAhPSBOVUxMKSAmJiAoY3R4dC0+c2F4LT5zdGFydEVsZW1lbnQgIT0gTlVMTCkpCisJCWN0eHQtPnNheC0+c3RhcnRFbGVtZW50KGN0eHQtPnVzZXJEYXRhLCBCQURfQ0FTVCJwIiwgTlVMTCk7CisJICAgIHJldHVybigxKTsKKwl9CisgICAgfQorICAgIHJldHVybigwKTsKK30KKworLyoqCisgKiBodG1sSXNTY3JpcHRBdHRyaWJ1dGU6CisgKiBAbmFtZTogIGFuIGF0dHJpYnV0ZSBuYW1lCisgKgorICogQ2hlY2sgaWYgYW4gYXR0cmlidXRlIGlzIG9mIGNvbnRlbnQgdHlwZSBTY3JpcHQKKyAqCisgKiBSZXR1cm5zIDEgaXMgdGhlIGF0dHJpYnV0ZSBpcyBhIHNjcmlwdCAwIG90aGVyd2lzZQorICovCitpbnQKK2h0bWxJc1NjcmlwdEF0dHJpYnV0ZShjb25zdCB4bWxDaGFyICpuYW1lKSB7CisgICAgdW5zaWduZWQgaW50IGk7CisKKyAgICBpZiAobmFtZSA9PSBOVUxMKQorICAgICAgcmV0dXJuKDApOworICAgIC8qCisgICAgICogYWxsIHNjcmlwdCBhdHRyaWJ1dGVzIHN0YXJ0IHdpdGggJ29uJworICAgICAqLworICAgIGlmICgobmFtZVswXSAhPSAnbycpIHx8IChuYW1lWzFdICE9ICduJykpCisgICAgICByZXR1cm4oMCk7CisgICAgZm9yIChpID0gMDsKKwkgaSA8IHNpemVvZihodG1sU2NyaXB0QXR0cmlidXRlcykvc2l6ZW9mKGh0bWxTY3JpcHRBdHRyaWJ1dGVzWzBdKTsKKwkgaSsrKSB7CisJaWYgKHhtbFN0ckVxdWFsKG5hbWUsIChjb25zdCB4bWxDaGFyICopIGh0bWxTY3JpcHRBdHRyaWJ1dGVzW2ldKSkKKwkgICAgcmV0dXJuKDEpOworICAgIH0KKyAgICByZXR1cm4oMCk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJVGhlIGxpc3Qgb2YgSFRNTCBwcmVkZWZpbmVkIGVudGl0aWVzCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisKK3N0YXRpYyBjb25zdCBodG1sRW50aXR5RGVzYyAgaHRtbDQwRW50aXRpZXNUYWJsZVtdID0geworLyoKKyAqIHRoZSA0IGFic29sdXRlIG9uZXMsIHBsdXMgYXBvc3Ryb3BoZS4KKyAqLworeyAzNCwJInF1b3QiLAkicXVvdGF0aW9uIG1hcmsgPSBBUEwgcXVvdGUsIFUrMDAyMiBJU09udW0iIH0sCit7IDM4LAkiYW1wIiwJImFtcGVyc2FuZCwgVSswMDI2IElTT251bSIgfSwKK3sgMzksCSJhcG9zIiwJInNpbmdsZSBxdW90ZSIgfSwKK3sgNjAsCSJsdCIsCSJsZXNzLXRoYW4gc2lnbiwgVSswMDNDIElTT251bSIgfSwKK3sgNjIsCSJndCIsCSJncmVhdGVyLXRoYW4gc2lnbiwgVSswMDNFIElTT251bSIgfSwKKworLyoKKyAqIEEgYnVuY2ggc3RpbGwgaW4gdGhlIDEyOC0yNTUgcmFuZ2UKKyAqIFJlcGxhY2luZyB0aGVtIGRlcGVuZCByZWFsbHkgb24gdGhlIGNoYXJzZXQgdXNlZC4KKyAqLworeyAxNjAsCSJuYnNwIiwJIm5vLWJyZWFrIHNwYWNlID0gbm9uLWJyZWFraW5nIHNwYWNlLCBVKzAwQTAgSVNPbnVtIiB9LAoreyAxNjEsCSJpZXhjbCIsImludmVydGVkIGV4Y2xhbWF0aW9uIG1hcmssIFUrMDBBMSBJU09udW0iIH0sCit7IDE2MiwJImNlbnQiLAkiY2VudCBzaWduLCBVKzAwQTIgSVNPbnVtIiB9LAoreyAxNjMsCSJwb3VuZCIsInBvdW5kIHNpZ24sIFUrMDBBMyBJU09udW0iIH0sCit7IDE2NCwJImN1cnJlbiIsImN1cnJlbmN5IHNpZ24sIFUrMDBBNCBJU09udW0iIH0sCit7IDE2NSwJInllbiIsCSJ5ZW4gc2lnbiA9IHl1YW4gc2lnbiwgVSswMEE1IElTT251bSIgfSwKK3sgMTY2LAkiYnJ2YmFyIiwiYnJva2VuIGJhciA9IGJyb2tlbiB2ZXJ0aWNhbCBiYXIsIFUrMDBBNiBJU09udW0iIH0sCit7IDE2NywJInNlY3QiLAkic2VjdGlvbiBzaWduLCBVKzAwQTcgSVNPbnVtIiB9LAoreyAxNjgsCSJ1bWwiLAkiZGlhZXJlc2lzID0gc3BhY2luZyBkaWFlcmVzaXMsIFUrMDBBOCBJU09kaWEiIH0sCit7IDE2OSwJImNvcHkiLAkiY29weXJpZ2h0IHNpZ24sIFUrMDBBOSBJU09udW0iIH0sCit7IDE3MCwJIm9yZGYiLAkiZmVtaW5pbmUgb3JkaW5hbCBpbmRpY2F0b3IsIFUrMDBBQSBJU09udW0iIH0sCit7IDE3MSwJImxhcXVvIiwibGVmdC1wb2ludGluZyBkb3VibGUgYW5nbGUgcXVvdGF0aW9uIG1hcmsgPSBsZWZ0IHBvaW50aW5nIGd1aWxsZW1ldCwgVSswMEFCIElTT251bSIgfSwKK3sgMTcyLAkibm90IiwJIm5vdCBzaWduLCBVKzAwQUMgSVNPbnVtIiB9LAoreyAxNzMsCSJzaHkiLAkic29mdCBoeXBoZW4gPSBkaXNjcmV0aW9uYXJ5IGh5cGhlbiwgVSswMEFEIElTT251bSIgfSwKK3sgMTc0LAkicmVnIiwJInJlZ2lzdGVyZWQgc2lnbiA9IHJlZ2lzdGVyZWQgdHJhZGUgbWFyayBzaWduLCBVKzAwQUUgSVNPbnVtIiB9LAoreyAxNzUsCSJtYWNyIiwJIm1hY3JvbiA9IHNwYWNpbmcgbWFjcm9uID0gb3ZlcmxpbmUgPSBBUEwgb3ZlcmJhciwgVSswMEFGIElTT2RpYSIgfSwKK3sgMTc2LAkiZGVnIiwJImRlZ3JlZSBzaWduLCBVKzAwQjAgSVNPbnVtIiB9LAoreyAxNzcsCSJwbHVzbW4iLCJwbHVzLW1pbnVzIHNpZ24gPSBwbHVzLW9yLW1pbnVzIHNpZ24sIFUrMDBCMSBJU09udW0iIH0sCit7IDE3OCwJInN1cDIiLAkic3VwZXJzY3JpcHQgdHdvID0gc3VwZXJzY3JpcHQgZGlnaXQgdHdvID0gc3F1YXJlZCwgVSswMEIyIElTT251bSIgfSwKK3sgMTc5LAkic3VwMyIsCSJzdXBlcnNjcmlwdCB0aHJlZSA9IHN1cGVyc2NyaXB0IGRpZ2l0IHRocmVlID0gY3ViZWQsIFUrMDBCMyBJU09udW0iIH0sCit7IDE4MCwJImFjdXRlIiwiYWN1dGUgYWNjZW50ID0gc3BhY2luZyBhY3V0ZSwgVSswMEI0IElTT2RpYSIgfSwKK3sgMTgxLAkibWljcm8iLCJtaWNybyBzaWduLCBVKzAwQjUgSVNPbnVtIiB9LAoreyAxODIsCSJwYXJhIiwJInBpbGNyb3cgc2lnbiA9IHBhcmFncmFwaCBzaWduLCBVKzAwQjYgSVNPbnVtIiB9LAoreyAxODMsCSJtaWRkb3QiLCJtaWRkbGUgZG90ID0gR2VvcmdpYW4gY29tbWEgR3JlZWsgbWlkZGxlIGRvdCwgVSswMEI3IElTT251bSIgfSwKK3sgMTg0LAkiY2VkaWwiLCJjZWRpbGxhID0gc3BhY2luZyBjZWRpbGxhLCBVKzAwQjggSVNPZGlhIiB9LAoreyAxODUsCSJzdXAxIiwJInN1cGVyc2NyaXB0IG9uZSA9IHN1cGVyc2NyaXB0IGRpZ2l0IG9uZSwgVSswMEI5IElTT251bSIgfSwKK3sgMTg2LAkib3JkbSIsCSJtYXNjdWxpbmUgb3JkaW5hbCBpbmRpY2F0b3IsIFUrMDBCQSBJU09udW0iIH0sCit7IDE4NywJInJhcXVvIiwicmlnaHQtcG9pbnRpbmcgZG91YmxlIGFuZ2xlIHF1b3RhdGlvbiBtYXJrIHJpZ2h0IHBvaW50aW5nIGd1aWxsZW1ldCwgVSswMEJCIElTT251bSIgfSwKK3sgMTg4LAkiZnJhYzE0IiwidnVsZ2FyIGZyYWN0aW9uIG9uZSBxdWFydGVyID0gZnJhY3Rpb24gb25lIHF1YXJ0ZXIsIFUrMDBCQyBJU09udW0iIH0sCit7IDE4OSwJImZyYWMxMiIsInZ1bGdhciBmcmFjdGlvbiBvbmUgaGFsZiA9IGZyYWN0aW9uIG9uZSBoYWxmLCBVKzAwQkQgSVNPbnVtIiB9LAoreyAxOTAsCSJmcmFjMzQiLCJ2dWxnYXIgZnJhY3Rpb24gdGhyZWUgcXVhcnRlcnMgPSBmcmFjdGlvbiB0aHJlZSBxdWFydGVycywgVSswMEJFIElTT251bSIgfSwKK3sgMTkxLAkiaXF1ZXN0IiwiaW52ZXJ0ZWQgcXVlc3Rpb24gbWFyayA9IHR1cm5lZCBxdWVzdGlvbiBtYXJrLCBVKzAwQkYgSVNPbnVtIiB9LAoreyAxOTIsCSJBZ3JhdmUiLCJsYXRpbiBjYXBpdGFsIGxldHRlciBBIHdpdGggZ3JhdmUgPSBsYXRpbiBjYXBpdGFsIGxldHRlciBBIGdyYXZlLCBVKzAwQzAgSVNPbGF0MSIgfSwKK3sgMTkzLAkiQWFjdXRlIiwibGF0aW4gY2FwaXRhbCBsZXR0ZXIgQSB3aXRoIGFjdXRlLCBVKzAwQzEgSVNPbGF0MSIgfSwKK3sgMTk0LAkiQWNpcmMiLCJsYXRpbiBjYXBpdGFsIGxldHRlciBBIHdpdGggY2lyY3VtZmxleCwgVSswMEMyIElTT2xhdDEiIH0sCit7IDE5NSwJIkF0aWxkZSIsImxhdGluIGNhcGl0YWwgbGV0dGVyIEEgd2l0aCB0aWxkZSwgVSswMEMzIElTT2xhdDEiIH0sCit7IDE5NiwJIkF1bWwiLAkibGF0aW4gY2FwaXRhbCBsZXR0ZXIgQSB3aXRoIGRpYWVyZXNpcywgVSswMEM0IElTT2xhdDEiIH0sCit7IDE5NywJIkFyaW5nIiwibGF0aW4gY2FwaXRhbCBsZXR0ZXIgQSB3aXRoIHJpbmcgYWJvdmUgPSBsYXRpbiBjYXBpdGFsIGxldHRlciBBIHJpbmcsIFUrMDBDNSBJU09sYXQxIiB9LAoreyAxOTgsCSJBRWxpZyIsImxhdGluIGNhcGl0YWwgbGV0dGVyIEFFID0gbGF0aW4gY2FwaXRhbCBsaWdhdHVyZSBBRSwgVSswMEM2IElTT2xhdDEiIH0sCit7IDE5OSwJIkNjZWRpbCIsImxhdGluIGNhcGl0YWwgbGV0dGVyIEMgd2l0aCBjZWRpbGxhLCBVKzAwQzcgSVNPbGF0MSIgfSwKK3sgMjAwLAkiRWdyYXZlIiwibGF0aW4gY2FwaXRhbCBsZXR0ZXIgRSB3aXRoIGdyYXZlLCBVKzAwQzggSVNPbGF0MSIgfSwKK3sgMjAxLAkiRWFjdXRlIiwibGF0aW4gY2FwaXRhbCBsZXR0ZXIgRSB3aXRoIGFjdXRlLCBVKzAwQzkgSVNPbGF0MSIgfSwKK3sgMjAyLAkiRWNpcmMiLCJsYXRpbiBjYXBpdGFsIGxldHRlciBFIHdpdGggY2lyY3VtZmxleCwgVSswMENBIElTT2xhdDEiIH0sCit7IDIwMywJIkV1bWwiLAkibGF0aW4gY2FwaXRhbCBsZXR0ZXIgRSB3aXRoIGRpYWVyZXNpcywgVSswMENCIElTT2xhdDEiIH0sCit7IDIwNCwJIklncmF2ZSIsImxhdGluIGNhcGl0YWwgbGV0dGVyIEkgd2l0aCBncmF2ZSwgVSswMENDIElTT2xhdDEiIH0sCit7IDIwNSwJIklhY3V0ZSIsImxhdGluIGNhcGl0YWwgbGV0dGVyIEkgd2l0aCBhY3V0ZSwgVSswMENEIElTT2xhdDEiIH0sCit7IDIwNiwJIkljaXJjIiwibGF0aW4gY2FwaXRhbCBsZXR0ZXIgSSB3aXRoIGNpcmN1bWZsZXgsIFUrMDBDRSBJU09sYXQxIiB9LAoreyAyMDcsCSJJdW1sIiwJImxhdGluIGNhcGl0YWwgbGV0dGVyIEkgd2l0aCBkaWFlcmVzaXMsIFUrMDBDRiBJU09sYXQxIiB9LAoreyAyMDgsCSJFVEgiLAkibGF0aW4gY2FwaXRhbCBsZXR0ZXIgRVRILCBVKzAwRDAgSVNPbGF0MSIgfSwKK3sgMjA5LAkiTnRpbGRlIiwibGF0aW4gY2FwaXRhbCBsZXR0ZXIgTiB3aXRoIHRpbGRlLCBVKzAwRDEgSVNPbGF0MSIgfSwKK3sgMjEwLAkiT2dyYXZlIiwibGF0aW4gY2FwaXRhbCBsZXR0ZXIgTyB3aXRoIGdyYXZlLCBVKzAwRDIgSVNPbGF0MSIgfSwKK3sgMjExLAkiT2FjdXRlIiwibGF0aW4gY2FwaXRhbCBsZXR0ZXIgTyB3aXRoIGFjdXRlLCBVKzAwRDMgSVNPbGF0MSIgfSwKK3sgMjEyLAkiT2NpcmMiLCJsYXRpbiBjYXBpdGFsIGxldHRlciBPIHdpdGggY2lyY3VtZmxleCwgVSswMEQ0IElTT2xhdDEiIH0sCit7IDIxMywJIk90aWxkZSIsImxhdGluIGNhcGl0YWwgbGV0dGVyIE8gd2l0aCB0aWxkZSwgVSswMEQ1IElTT2xhdDEiIH0sCit7IDIxNCwJIk91bWwiLAkibGF0aW4gY2FwaXRhbCBsZXR0ZXIgTyB3aXRoIGRpYWVyZXNpcywgVSswMEQ2IElTT2xhdDEiIH0sCit7IDIxNSwJInRpbWVzIiwibXVsdGlwbGljYXRpb24gc2lnbiwgVSswMEQ3IElTT251bSIgfSwKK3sgMjE2LAkiT3NsYXNoIiwibGF0aW4gY2FwaXRhbCBsZXR0ZXIgTyB3aXRoIHN0cm9rZSBsYXRpbiBjYXBpdGFsIGxldHRlciBPIHNsYXNoLCBVKzAwRDggSVNPbGF0MSIgfSwKK3sgMjE3LAkiVWdyYXZlIiwibGF0aW4gY2FwaXRhbCBsZXR0ZXIgVSB3aXRoIGdyYXZlLCBVKzAwRDkgSVNPbGF0MSIgfSwKK3sgMjE4LAkiVWFjdXRlIiwibGF0aW4gY2FwaXRhbCBsZXR0ZXIgVSB3aXRoIGFjdXRlLCBVKzAwREEgSVNPbGF0MSIgfSwKK3sgMjE5LAkiVWNpcmMiLCJsYXRpbiBjYXBpdGFsIGxldHRlciBVIHdpdGggY2lyY3VtZmxleCwgVSswMERCIElTT2xhdDEiIH0sCit7IDIyMCwJIlV1bWwiLAkibGF0aW4gY2FwaXRhbCBsZXR0ZXIgVSB3aXRoIGRpYWVyZXNpcywgVSswMERDIElTT2xhdDEiIH0sCit7IDIyMSwJIllhY3V0ZSIsImxhdGluIGNhcGl0YWwgbGV0dGVyIFkgd2l0aCBhY3V0ZSwgVSswMEREIElTT2xhdDEiIH0sCit7IDIyMiwJIlRIT1JOIiwibGF0aW4gY2FwaXRhbCBsZXR0ZXIgVEhPUk4sIFUrMDBERSBJU09sYXQxIiB9LAoreyAyMjMsCSJzemxpZyIsImxhdGluIHNtYWxsIGxldHRlciBzaGFycCBzID0gZXNzLXplZCwgVSswMERGIElTT2xhdDEiIH0sCit7IDIyNCwJImFncmF2ZSIsImxhdGluIHNtYWxsIGxldHRlciBhIHdpdGggZ3JhdmUgPSBsYXRpbiBzbWFsbCBsZXR0ZXIgYSBncmF2ZSwgVSswMEUwIElTT2xhdDEiIH0sCit7IDIyNSwJImFhY3V0ZSIsImxhdGluIHNtYWxsIGxldHRlciBhIHdpdGggYWN1dGUsIFUrMDBFMSBJU09sYXQxIiB9LAoreyAyMjYsCSJhY2lyYyIsImxhdGluIHNtYWxsIGxldHRlciBhIHdpdGggY2lyY3VtZmxleCwgVSswMEUyIElTT2xhdDEiIH0sCit7IDIyNywJImF0aWxkZSIsImxhdGluIHNtYWxsIGxldHRlciBhIHdpdGggdGlsZGUsIFUrMDBFMyBJU09sYXQxIiB9LAoreyAyMjgsCSJhdW1sIiwJImxhdGluIHNtYWxsIGxldHRlciBhIHdpdGggZGlhZXJlc2lzLCBVKzAwRTQgSVNPbGF0MSIgfSwKK3sgMjI5LAkiYXJpbmciLCJsYXRpbiBzbWFsbCBsZXR0ZXIgYSB3aXRoIHJpbmcgYWJvdmUgPSBsYXRpbiBzbWFsbCBsZXR0ZXIgYSByaW5nLCBVKzAwRTUgSVNPbGF0MSIgfSwKK3sgMjMwLAkiYWVsaWciLCJsYXRpbiBzbWFsbCBsZXR0ZXIgYWUgPSBsYXRpbiBzbWFsbCBsaWdhdHVyZSBhZSwgVSswMEU2IElTT2xhdDEiIH0sCit7IDIzMSwJImNjZWRpbCIsImxhdGluIHNtYWxsIGxldHRlciBjIHdpdGggY2VkaWxsYSwgVSswMEU3IElTT2xhdDEiIH0sCit7IDIzMiwJImVncmF2ZSIsImxhdGluIHNtYWxsIGxldHRlciBlIHdpdGggZ3JhdmUsIFUrMDBFOCBJU09sYXQxIiB9LAoreyAyMzMsCSJlYWN1dGUiLCJsYXRpbiBzbWFsbCBsZXR0ZXIgZSB3aXRoIGFjdXRlLCBVKzAwRTkgSVNPbGF0MSIgfSwKK3sgMjM0LAkiZWNpcmMiLCJsYXRpbiBzbWFsbCBsZXR0ZXIgZSB3aXRoIGNpcmN1bWZsZXgsIFUrMDBFQSBJU09sYXQxIiB9LAoreyAyMzUsCSJldW1sIiwJImxhdGluIHNtYWxsIGxldHRlciBlIHdpdGggZGlhZXJlc2lzLCBVKzAwRUIgSVNPbGF0MSIgfSwKK3sgMjM2LAkiaWdyYXZlIiwibGF0aW4gc21hbGwgbGV0dGVyIGkgd2l0aCBncmF2ZSwgVSswMEVDIElTT2xhdDEiIH0sCit7IDIzNywJImlhY3V0ZSIsImxhdGluIHNtYWxsIGxldHRlciBpIHdpdGggYWN1dGUsIFUrMDBFRCBJU09sYXQxIiB9LAoreyAyMzgsCSJpY2lyYyIsImxhdGluIHNtYWxsIGxldHRlciBpIHdpdGggY2lyY3VtZmxleCwgVSswMEVFIElTT2xhdDEiIH0sCit7IDIzOSwJIml1bWwiLAkibGF0aW4gc21hbGwgbGV0dGVyIGkgd2l0aCBkaWFlcmVzaXMsIFUrMDBFRiBJU09sYXQxIiB9LAoreyAyNDAsCSJldGgiLAkibGF0aW4gc21hbGwgbGV0dGVyIGV0aCwgVSswMEYwIElTT2xhdDEiIH0sCit7IDI0MSwJIm50aWxkZSIsImxhdGluIHNtYWxsIGxldHRlciBuIHdpdGggdGlsZGUsIFUrMDBGMSBJU09sYXQxIiB9LAoreyAyNDIsCSJvZ3JhdmUiLCJsYXRpbiBzbWFsbCBsZXR0ZXIgbyB3aXRoIGdyYXZlLCBVKzAwRjIgSVNPbGF0MSIgfSwKK3sgMjQzLAkib2FjdXRlIiwibGF0aW4gc21hbGwgbGV0dGVyIG8gd2l0aCBhY3V0ZSwgVSswMEYzIElTT2xhdDEiIH0sCit7IDI0NCwJIm9jaXJjIiwibGF0aW4gc21hbGwgbGV0dGVyIG8gd2l0aCBjaXJjdW1mbGV4LCBVKzAwRjQgSVNPbGF0MSIgfSwKK3sgMjQ1LAkib3RpbGRlIiwibGF0aW4gc21hbGwgbGV0dGVyIG8gd2l0aCB0aWxkZSwgVSswMEY1IElTT2xhdDEiIH0sCit7IDI0NiwJIm91bWwiLAkibGF0aW4gc21hbGwgbGV0dGVyIG8gd2l0aCBkaWFlcmVzaXMsIFUrMDBGNiBJU09sYXQxIiB9LAoreyAyNDcsCSJkaXZpZGUiLCJkaXZpc2lvbiBzaWduLCBVKzAwRjcgSVNPbnVtIiB9LAoreyAyNDgsCSJvc2xhc2giLCJsYXRpbiBzbWFsbCBsZXR0ZXIgbyB3aXRoIHN0cm9rZSwgPSBsYXRpbiBzbWFsbCBsZXR0ZXIgbyBzbGFzaCwgVSswMEY4IElTT2xhdDEiIH0sCit7IDI0OSwJInVncmF2ZSIsImxhdGluIHNtYWxsIGxldHRlciB1IHdpdGggZ3JhdmUsIFUrMDBGOSBJU09sYXQxIiB9LAoreyAyNTAsCSJ1YWN1dGUiLCJsYXRpbiBzbWFsbCBsZXR0ZXIgdSB3aXRoIGFjdXRlLCBVKzAwRkEgSVNPbGF0MSIgfSwKK3sgMjUxLAkidWNpcmMiLCJsYXRpbiBzbWFsbCBsZXR0ZXIgdSB3aXRoIGNpcmN1bWZsZXgsIFUrMDBGQiBJU09sYXQxIiB9LAoreyAyNTIsCSJ1dW1sIiwJImxhdGluIHNtYWxsIGxldHRlciB1IHdpdGggZGlhZXJlc2lzLCBVKzAwRkMgSVNPbGF0MSIgfSwKK3sgMjUzLAkieWFjdXRlIiwibGF0aW4gc21hbGwgbGV0dGVyIHkgd2l0aCBhY3V0ZSwgVSswMEZEIElTT2xhdDEiIH0sCit7IDI1NCwJInRob3JuIiwibGF0aW4gc21hbGwgbGV0dGVyIHRob3JuIHdpdGgsIFUrMDBGRSBJU09sYXQxIiB9LAoreyAyNTUsCSJ5dW1sIiwJImxhdGluIHNtYWxsIGxldHRlciB5IHdpdGggZGlhZXJlc2lzLCBVKzAwRkYgSVNPbGF0MSIgfSwKKworeyAzMzgsCSJPRWxpZyIsImxhdGluIGNhcGl0YWwgbGlnYXR1cmUgT0UsIFUrMDE1MiBJU09sYXQyIiB9LAoreyAzMzksCSJvZWxpZyIsImxhdGluIHNtYWxsIGxpZ2F0dXJlIG9lLCBVKzAxNTMgSVNPbGF0MiIgfSwKK3sgMzUyLAkiU2Nhcm9uIiwibGF0aW4gY2FwaXRhbCBsZXR0ZXIgUyB3aXRoIGNhcm9uLCBVKzAxNjAgSVNPbGF0MiIgfSwKK3sgMzUzLAkic2Nhcm9uIiwibGF0aW4gc21hbGwgbGV0dGVyIHMgd2l0aCBjYXJvbiwgVSswMTYxIElTT2xhdDIiIH0sCit7IDM3NiwJIll1bWwiLAkibGF0aW4gY2FwaXRhbCBsZXR0ZXIgWSB3aXRoIGRpYWVyZXNpcywgVSswMTc4IElTT2xhdDIiIH0sCisKKy8qCisgKiBBbnl0aGluZyBiZWxvdyBzaG91bGQgcmVhbGx5IGJlIGtlcHQgYXMgZW50aXRpZXMgcmVmZXJlbmNlcworICovCit7IDQwMiwJImZub2YiLAkibGF0aW4gc21hbGwgZiB3aXRoIGhvb2sgPSBmdW5jdGlvbiA9IGZsb3JpbiwgVSswMTkyIElTT3RlY2giIH0sCisKK3sgNzEwLAkiY2lyYyIsCSJtb2RpZmllciBsZXR0ZXIgY2lyY3VtZmxleCBhY2NlbnQsIFUrMDJDNiBJU09wdWIiIH0sCit7IDczMiwJInRpbGRlIiwic21hbGwgdGlsZGUsIFUrMDJEQyBJU09kaWEiIH0sCisKK3sgOTEzLAkiQWxwaGEiLCJncmVlayBjYXBpdGFsIGxldHRlciBhbHBoYSwgVSswMzkxIiB9LAoreyA5MTQsCSJCZXRhIiwJImdyZWVrIGNhcGl0YWwgbGV0dGVyIGJldGEsIFUrMDM5MiIgfSwKK3sgOTE1LAkiR2FtbWEiLCJncmVlayBjYXBpdGFsIGxldHRlciBnYW1tYSwgVSswMzkzIElTT2dyazMiIH0sCit7IDkxNiwJIkRlbHRhIiwiZ3JlZWsgY2FwaXRhbCBsZXR0ZXIgZGVsdGEsIFUrMDM5NCBJU09ncmszIiB9LAoreyA5MTcsCSJFcHNpbG9uIiwiZ3JlZWsgY2FwaXRhbCBsZXR0ZXIgZXBzaWxvbiwgVSswMzk1IiB9LAoreyA5MTgsCSJaZXRhIiwJImdyZWVrIGNhcGl0YWwgbGV0dGVyIHpldGEsIFUrMDM5NiIgfSwKK3sgOTE5LAkiRXRhIiwJImdyZWVrIGNhcGl0YWwgbGV0dGVyIGV0YSwgVSswMzk3IiB9LAoreyA5MjAsCSJUaGV0YSIsImdyZWVrIGNhcGl0YWwgbGV0dGVyIHRoZXRhLCBVKzAzOTggSVNPZ3JrMyIgfSwKK3sgOTIxLAkiSW90YSIsCSJncmVlayBjYXBpdGFsIGxldHRlciBpb3RhLCBVKzAzOTkiIH0sCit7IDkyMiwJIkthcHBhIiwiZ3JlZWsgY2FwaXRhbCBsZXR0ZXIga2FwcGEsIFUrMDM5QSIgfSwKK3sgOTIzLAkiTGFtYmRhIiwgImdyZWVrIGNhcGl0YWwgbGV0dGVyIGxhbWJkYSwgVSswMzlCIElTT2dyazMiIH0sCit7IDkyNCwJIk11IiwJImdyZWVrIGNhcGl0YWwgbGV0dGVyIG11LCBVKzAzOUMiIH0sCit7IDkyNSwJIk51IiwJImdyZWVrIGNhcGl0YWwgbGV0dGVyIG51LCBVKzAzOUQiIH0sCit7IDkyNiwJIlhpIiwJImdyZWVrIGNhcGl0YWwgbGV0dGVyIHhpLCBVKzAzOUUgSVNPZ3JrMyIgfSwKK3sgOTI3LAkiT21pY3JvbiIsImdyZWVrIGNhcGl0YWwgbGV0dGVyIG9taWNyb24sIFUrMDM5RiIgfSwKK3sgOTI4LAkiUGkiLAkiZ3JlZWsgY2FwaXRhbCBsZXR0ZXIgcGksIFUrMDNBMCBJU09ncmszIiB9LAoreyA5MjksCSJSaG8iLAkiZ3JlZWsgY2FwaXRhbCBsZXR0ZXIgcmhvLCBVKzAzQTEiIH0sCit7IDkzMSwJIlNpZ21hIiwiZ3JlZWsgY2FwaXRhbCBsZXR0ZXIgc2lnbWEsIFUrMDNBMyBJU09ncmszIiB9LAoreyA5MzIsCSJUYXUiLAkiZ3JlZWsgY2FwaXRhbCBsZXR0ZXIgdGF1LCBVKzAzQTQiIH0sCit7IDkzMywJIlVwc2lsb24iLCJncmVlayBjYXBpdGFsIGxldHRlciB1cHNpbG9uLCBVKzAzQTUgSVNPZ3JrMyIgfSwKK3sgOTM0LAkiUGhpIiwJImdyZWVrIGNhcGl0YWwgbGV0dGVyIHBoaSwgVSswM0E2IElTT2dyazMiIH0sCit7IDkzNSwJIkNoaSIsCSJncmVlayBjYXBpdGFsIGxldHRlciBjaGksIFUrMDNBNyIgfSwKK3sgOTM2LAkiUHNpIiwJImdyZWVrIGNhcGl0YWwgbGV0dGVyIHBzaSwgVSswM0E4IElTT2dyazMiIH0sCit7IDkzNywJIk9tZWdhIiwiZ3JlZWsgY2FwaXRhbCBsZXR0ZXIgb21lZ2EsIFUrMDNBOSBJU09ncmszIiB9LAorCit7IDk0NSwJImFscGhhIiwiZ3JlZWsgc21hbGwgbGV0dGVyIGFscGhhLCBVKzAzQjEgSVNPZ3JrMyIgfSwKK3sgOTQ2LAkiYmV0YSIsCSJncmVlayBzbWFsbCBsZXR0ZXIgYmV0YSwgVSswM0IyIElTT2dyazMiIH0sCit7IDk0NywJImdhbW1hIiwiZ3JlZWsgc21hbGwgbGV0dGVyIGdhbW1hLCBVKzAzQjMgSVNPZ3JrMyIgfSwKK3sgOTQ4LAkiZGVsdGEiLCJncmVlayBzbWFsbCBsZXR0ZXIgZGVsdGEsIFUrMDNCNCBJU09ncmszIiB9LAoreyA5NDksCSJlcHNpbG9uIiwiZ3JlZWsgc21hbGwgbGV0dGVyIGVwc2lsb24sIFUrMDNCNSBJU09ncmszIiB9LAoreyA5NTAsCSJ6ZXRhIiwJImdyZWVrIHNtYWxsIGxldHRlciB6ZXRhLCBVKzAzQjYgSVNPZ3JrMyIgfSwKK3sgOTUxLAkiZXRhIiwJImdyZWVrIHNtYWxsIGxldHRlciBldGEsIFUrMDNCNyBJU09ncmszIiB9LAoreyA5NTIsCSJ0aGV0YSIsImdyZWVrIHNtYWxsIGxldHRlciB0aGV0YSwgVSswM0I4IElTT2dyazMiIH0sCit7IDk1MywJImlvdGEiLAkiZ3JlZWsgc21hbGwgbGV0dGVyIGlvdGEsIFUrMDNCOSBJU09ncmszIiB9LAoreyA5NTQsCSJrYXBwYSIsImdyZWVrIHNtYWxsIGxldHRlciBrYXBwYSwgVSswM0JBIElTT2dyazMiIH0sCit7IDk1NSwJImxhbWJkYSIsImdyZWVrIHNtYWxsIGxldHRlciBsYW1iZGEsIFUrMDNCQiBJU09ncmszIiB9LAoreyA5NTYsCSJtdSIsCSJncmVlayBzbWFsbCBsZXR0ZXIgbXUsIFUrMDNCQyBJU09ncmszIiB9LAoreyA5NTcsCSJudSIsCSJncmVlayBzbWFsbCBsZXR0ZXIgbnUsIFUrMDNCRCBJU09ncmszIiB9LAoreyA5NTgsCSJ4aSIsCSJncmVlayBzbWFsbCBsZXR0ZXIgeGksIFUrMDNCRSBJU09ncmszIiB9LAoreyA5NTksCSJvbWljcm9uIiwiZ3JlZWsgc21hbGwgbGV0dGVyIG9taWNyb24sIFUrMDNCRiBORVciIH0sCit7IDk2MCwJInBpIiwJImdyZWVrIHNtYWxsIGxldHRlciBwaSwgVSswM0MwIElTT2dyazMiIH0sCit7IDk2MSwJInJobyIsCSJncmVlayBzbWFsbCBsZXR0ZXIgcmhvLCBVKzAzQzEgSVNPZ3JrMyIgfSwKK3sgOTYyLAkic2lnbWFmIiwiZ3JlZWsgc21hbGwgbGV0dGVyIGZpbmFsIHNpZ21hLCBVKzAzQzIgSVNPZ3JrMyIgfSwKK3sgOTYzLAkic2lnbWEiLCJncmVlayBzbWFsbCBsZXR0ZXIgc2lnbWEsIFUrMDNDMyBJU09ncmszIiB9LAoreyA5NjQsCSJ0YXUiLAkiZ3JlZWsgc21hbGwgbGV0dGVyIHRhdSwgVSswM0M0IElTT2dyazMiIH0sCit7IDk2NSwJInVwc2lsb24iLCJncmVlayBzbWFsbCBsZXR0ZXIgdXBzaWxvbiwgVSswM0M1IElTT2dyazMiIH0sCit7IDk2NiwJInBoaSIsCSJncmVlayBzbWFsbCBsZXR0ZXIgcGhpLCBVKzAzQzYgSVNPZ3JrMyIgfSwKK3sgOTY3LAkiY2hpIiwJImdyZWVrIHNtYWxsIGxldHRlciBjaGksIFUrMDNDNyBJU09ncmszIiB9LAoreyA5NjgsCSJwc2kiLAkiZ3JlZWsgc21hbGwgbGV0dGVyIHBzaSwgVSswM0M4IElTT2dyazMiIH0sCit7IDk2OSwJIm9tZWdhIiwiZ3JlZWsgc21hbGwgbGV0dGVyIG9tZWdhLCBVKzAzQzkgSVNPZ3JrMyIgfSwKK3sgOTc3LAkidGhldGFzeW0iLCJncmVlayBzbWFsbCBsZXR0ZXIgdGhldGEgc3ltYm9sLCBVKzAzRDEgTkVXIiB9LAoreyA5NzgsCSJ1cHNpaCIsImdyZWVrIHVwc2lsb24gd2l0aCBob29rIHN5bWJvbCwgVSswM0QyIE5FVyIgfSwKK3sgOTgyLAkicGl2IiwJImdyZWVrIHBpIHN5bWJvbCwgVSswM0Q2IElTT2dyazMiIH0sCisKK3sgODE5NCwJImVuc3AiLAkiZW4gc3BhY2UsIFUrMjAwMiBJU09wdWIiIH0sCit7IDgxOTUsCSJlbXNwIiwJImVtIHNwYWNlLCBVKzIwMDMgSVNPcHViIiB9LAoreyA4MjAxLAkidGhpbnNwIiwidGhpbiBzcGFjZSwgVSsyMDA5IElTT3B1YiIgfSwKK3sgODIwNCwJInp3bmoiLAkiemVybyB3aWR0aCBub24tam9pbmVyLCBVKzIwMEMgTkVXIFJGQyAyMDcwIiB9LAoreyA4MjA1LAkiendqIiwJInplcm8gd2lkdGggam9pbmVyLCBVKzIwMEQgTkVXIFJGQyAyMDcwIiB9LAoreyA4MjA2LAkibHJtIiwJImxlZnQtdG8tcmlnaHQgbWFyaywgVSsyMDBFIE5FVyBSRkMgMjA3MCIgfSwKK3sgODIwNywJInJsbSIsCSJyaWdodC10by1sZWZ0IG1hcmssIFUrMjAwRiBORVcgUkZDIDIwNzAiIH0sCit7IDgyMTEsCSJuZGFzaCIsImVuIGRhc2gsIFUrMjAxMyBJU09wdWIiIH0sCit7IDgyMTIsCSJtZGFzaCIsImVtIGRhc2gsIFUrMjAxNCBJU09wdWIiIH0sCit7IDgyMTYsCSJsc3F1byIsImxlZnQgc2luZ2xlIHF1b3RhdGlvbiBtYXJrLCBVKzIwMTggSVNPbnVtIiB9LAoreyA4MjE3LAkicnNxdW8iLCJyaWdodCBzaW5nbGUgcXVvdGF0aW9uIG1hcmssIFUrMjAxOSBJU09udW0iIH0sCit7IDgyMTgsCSJzYnF1byIsInNpbmdsZSBsb3ctOSBxdW90YXRpb24gbWFyaywgVSsyMDFBIE5FVyIgfSwKK3sgODIyMCwJImxkcXVvIiwibGVmdCBkb3VibGUgcXVvdGF0aW9uIG1hcmssIFUrMjAxQyBJU09udW0iIH0sCit7IDgyMjEsCSJyZHF1byIsInJpZ2h0IGRvdWJsZSBxdW90YXRpb24gbWFyaywgVSsyMDFEIElTT251bSIgfSwKK3sgODIyMiwJImJkcXVvIiwiZG91YmxlIGxvdy05IHF1b3RhdGlvbiBtYXJrLCBVKzIwMUUgTkVXIiB9LAoreyA4MjI0LAkiZGFnZ2VyIiwiZGFnZ2VyLCBVKzIwMjAgSVNPcHViIiB9LAoreyA4MjI1LAkiRGFnZ2VyIiwiZG91YmxlIGRhZ2dlciwgVSsyMDIxIElTT3B1YiIgfSwKKworeyA4MjI2LAkiYnVsbCIsCSJidWxsZXQgPSBibGFjayBzbWFsbCBjaXJjbGUsIFUrMjAyMiBJU09wdWIiIH0sCit7IDgyMzAsCSJoZWxsaXAiLCJob3Jpem9udGFsIGVsbGlwc2lzID0gdGhyZWUgZG90IGxlYWRlciwgVSsyMDI2IElTT3B1YiIgfSwKKworeyA4MjQwLAkicGVybWlsIiwicGVyIG1pbGxlIHNpZ24sIFUrMjAzMCBJU090ZWNoIiB9LAorCit7IDgyNDIsCSJwcmltZSIsInByaW1lID0gbWludXRlcyA9IGZlZXQsIFUrMjAzMiBJU090ZWNoIiB9LAoreyA4MjQzLAkiUHJpbWUiLCJkb3VibGUgcHJpbWUgPSBzZWNvbmRzID0gaW5jaGVzLCBVKzIwMzMgSVNPdGVjaCIgfSwKKworeyA4MjQ5LAkibHNhcXVvIiwic2luZ2xlIGxlZnQtcG9pbnRpbmcgYW5nbGUgcXVvdGF0aW9uIG1hcmssIFUrMjAzOSBJU08gcHJvcG9zZWQiIH0sCit7IDgyNTAsCSJyc2FxdW8iLCJzaW5nbGUgcmlnaHQtcG9pbnRpbmcgYW5nbGUgcXVvdGF0aW9uIG1hcmssIFUrMjAzQSBJU08gcHJvcG9zZWQiIH0sCisKK3sgODI1NCwJIm9saW5lIiwib3ZlcmxpbmUgPSBzcGFjaW5nIG92ZXJzY29yZSwgVSsyMDNFIE5FVyIgfSwKK3sgODI2MCwJImZyYXNsIiwiZnJhY3Rpb24gc2xhc2gsIFUrMjA0NCBORVciIH0sCisKK3sgODM2NCwJImV1cm8iLAkiZXVybyBzaWduLCBVKzIwQUMgTkVXIiB9LAorCit7IDg0NjUsCSJpbWFnZSIsImJsYWNrbGV0dGVyIGNhcGl0YWwgSSA9IGltYWdpbmFyeSBwYXJ0LCBVKzIxMTEgSVNPYW1zbyIgfSwKK3sgODQ3MiwJIndlaWVycCIsInNjcmlwdCBjYXBpdGFsIFAgPSBwb3dlciBzZXQgPSBXZWllcnN0cmFzcyBwLCBVKzIxMTggSVNPYW1zbyIgfSwKK3sgODQ3NiwJInJlYWwiLAkiYmxhY2tsZXR0ZXIgY2FwaXRhbCBSID0gcmVhbCBwYXJ0IHN5bWJvbCwgVSsyMTFDIElTT2Ftc28iIH0sCit7IDg0ODIsCSJ0cmFkZSIsInRyYWRlIG1hcmsgc2lnbiwgVSsyMTIyIElTT251bSIgfSwKK3sgODUwMSwJImFsZWZzeW0iLCJhbGVmIHN5bWJvbCA9IGZpcnN0IHRyYW5zZmluaXRlIGNhcmRpbmFsLCBVKzIxMzUgTkVXIiB9LAoreyA4NTkyLAkibGFyciIsCSJsZWZ0d2FyZHMgYXJyb3csIFUrMjE5MCBJU09udW0iIH0sCit7IDg1OTMsCSJ1YXJyIiwJInVwd2FyZHMgYXJyb3csIFUrMjE5MSBJU09udW0iIH0sCit7IDg1OTQsCSJyYXJyIiwJInJpZ2h0d2FyZHMgYXJyb3csIFUrMjE5MiBJU09udW0iIH0sCit7IDg1OTUsCSJkYXJyIiwJImRvd253YXJkcyBhcnJvdywgVSsyMTkzIElTT251bSIgfSwKK3sgODU5NiwJImhhcnIiLAkibGVmdCByaWdodCBhcnJvdywgVSsyMTk0IElTT2Ftc2EiIH0sCit7IDg2MjksCSJjcmFyciIsImRvd253YXJkcyBhcnJvdyB3aXRoIGNvcm5lciBsZWZ0d2FyZHMgPSBjYXJyaWFnZSByZXR1cm4sIFUrMjFCNSBORVciIH0sCit7IDg2NTYsCSJsQXJyIiwJImxlZnR3YXJkcyBkb3VibGUgYXJyb3csIFUrMjFEMCBJU090ZWNoIiB9LAoreyA4NjU3LAkidUFyciIsCSJ1cHdhcmRzIGRvdWJsZSBhcnJvdywgVSsyMUQxIElTT2Ftc2EiIH0sCit7IDg2NTgsCSJyQXJyIiwJInJpZ2h0d2FyZHMgZG91YmxlIGFycm93LCBVKzIxRDIgSVNPdGVjaCIgfSwKK3sgODY1OSwJImRBcnIiLAkiZG93bndhcmRzIGRvdWJsZSBhcnJvdywgVSsyMUQzIElTT2Ftc2EiIH0sCit7IDg2NjAsCSJoQXJyIiwJImxlZnQgcmlnaHQgZG91YmxlIGFycm93LCBVKzIxRDQgSVNPYW1zYSIgfSwKKworeyA4NzA0LAkiZm9yYWxsIiwiZm9yIGFsbCwgVSsyMjAwIElTT3RlY2giIH0sCit7IDg3MDYsCSJwYXJ0IiwJInBhcnRpYWwgZGlmZmVyZW50aWFsLCBVKzIyMDIgSVNPdGVjaCIgfSwKK3sgODcwNywJImV4aXN0IiwidGhlcmUgZXhpc3RzLCBVKzIyMDMgSVNPdGVjaCIgfSwKK3sgODcwOSwJImVtcHR5IiwiZW1wdHkgc2V0ID0gbnVsbCBzZXQgPSBkaWFtZXRlciwgVSsyMjA1IElTT2Ftc28iIH0sCit7IDg3MTEsCSJuYWJsYSIsIm5hYmxhID0gYmFja3dhcmQgZGlmZmVyZW5jZSwgVSsyMjA3IElTT3RlY2giIH0sCit7IDg3MTIsCSJpc2luIiwJImVsZW1lbnQgb2YsIFUrMjIwOCBJU090ZWNoIiB9LAoreyA4NzEzLAkibm90aW4iLCJub3QgYW4gZWxlbWVudCBvZiwgVSsyMjA5IElTT3RlY2giIH0sCit7IDg3MTUsCSJuaSIsCSJjb250YWlucyBhcyBtZW1iZXIsIFUrMjIwQiBJU090ZWNoIiB9LAoreyA4NzE5LAkicHJvZCIsCSJuLWFyeSBwcm9kdWN0ID0gcHJvZHVjdCBzaWduLCBVKzIyMEYgSVNPYW1zYiIgfSwKK3sgODcyMSwJInN1bSIsCSJuLWFyeSBzdW1tYXRpb24sIFUrMjIxMSBJU09hbXNiIiB9LAoreyA4NzIyLAkibWludXMiLCJtaW51cyBzaWduLCBVKzIyMTIgSVNPdGVjaCIgfSwKK3sgODcyNywJImxvd2FzdCIsImFzdGVyaXNrIG9wZXJhdG9yLCBVKzIyMTcgSVNPdGVjaCIgfSwKK3sgODczMCwJInJhZGljIiwic3F1YXJlIHJvb3QgPSByYWRpY2FsIHNpZ24sIFUrMjIxQSBJU090ZWNoIiB9LAoreyA4NzMzLAkicHJvcCIsCSJwcm9wb3J0aW9uYWwgdG8sIFUrMjIxRCBJU090ZWNoIiB9LAoreyA4NzM0LAkiaW5maW4iLCJpbmZpbml0eSwgVSsyMjFFIElTT3RlY2giIH0sCit7IDg3MzYsCSJhbmciLAkiYW5nbGUsIFUrMjIyMCBJU09hbXNvIiB9LAoreyA4NzQzLAkiYW5kIiwJImxvZ2ljYWwgYW5kID0gd2VkZ2UsIFUrMjIyNyBJU090ZWNoIiB9LAoreyA4NzQ0LAkib3IiLAkibG9naWNhbCBvciA9IHZlZSwgVSsyMjI4IElTT3RlY2giIH0sCit7IDg3NDUsCSJjYXAiLAkiaW50ZXJzZWN0aW9uID0gY2FwLCBVKzIyMjkgSVNPdGVjaCIgfSwKK3sgODc0NiwJImN1cCIsCSJ1bmlvbiA9IGN1cCwgVSsyMjJBIElTT3RlY2giIH0sCit7IDg3NDcsCSJpbnQiLAkiaW50ZWdyYWwsIFUrMjIyQiBJU090ZWNoIiB9LAoreyA4NzU2LAkidGhlcmU0IiwidGhlcmVmb3JlLCBVKzIyMzQgSVNPdGVjaCIgfSwKK3sgODc2NCwJInNpbSIsCSJ0aWxkZSBvcGVyYXRvciA9IHZhcmllcyB3aXRoID0gc2ltaWxhciB0bywgVSsyMjNDIElTT3RlY2giIH0sCit7IDg3NzMsCSJjb25nIiwJImFwcHJveGltYXRlbHkgZXF1YWwgdG8sIFUrMjI0NSBJU090ZWNoIiB9LAoreyA4Nzc2LAkiYXN5bXAiLCJhbG1vc3QgZXF1YWwgdG8gPSBhc3ltcHRvdGljIHRvLCBVKzIyNDggSVNPYW1zciIgfSwKK3sgODgwMCwJIm5lIiwJIm5vdCBlcXVhbCB0bywgVSsyMjYwIElTT3RlY2giIH0sCit7IDg4MDEsCSJlcXVpdiIsImlkZW50aWNhbCB0bywgVSsyMjYxIElTT3RlY2giIH0sCit7IDg4MDQsCSJsZSIsCSJsZXNzLXRoYW4gb3IgZXF1YWwgdG8sIFUrMjI2NCBJU090ZWNoIiB9LAoreyA4ODA1LAkiZ2UiLAkiZ3JlYXRlci10aGFuIG9yIGVxdWFsIHRvLCBVKzIyNjUgSVNPdGVjaCIgfSwKK3sgODgzNCwJInN1YiIsCSJzdWJzZXQgb2YsIFUrMjI4MiBJU090ZWNoIiB9LAoreyA4ODM1LAkic3VwIiwJInN1cGVyc2V0IG9mLCBVKzIyODMgSVNPdGVjaCIgfSwKK3sgODgzNiwJIm5zdWIiLAkibm90IGEgc3Vic2V0IG9mLCBVKzIyODQgSVNPYW1zbiIgfSwKK3sgODgzOCwJInN1YmUiLAkic3Vic2V0IG9mIG9yIGVxdWFsIHRvLCBVKzIyODYgSVNPdGVjaCIgfSwKK3sgODgzOSwJInN1cGUiLAkic3VwZXJzZXQgb2Ygb3IgZXF1YWwgdG8sIFUrMjI4NyBJU090ZWNoIiB9LAoreyA4ODUzLAkib3BsdXMiLCJjaXJjbGVkIHBsdXMgPSBkaXJlY3Qgc3VtLCBVKzIyOTUgSVNPYW1zYiIgfSwKK3sgODg1NSwJIm90aW1lcyIsImNpcmNsZWQgdGltZXMgPSB2ZWN0b3IgcHJvZHVjdCwgVSsyMjk3IElTT2Ftc2IiIH0sCit7IDg4NjksCSJwZXJwIiwJInVwIHRhY2sgPSBvcnRob2dvbmFsIHRvID0gcGVycGVuZGljdWxhciwgVSsyMkE1IElTT3RlY2giIH0sCit7IDg5MDEsCSJzZG90IiwJImRvdCBvcGVyYXRvciwgVSsyMkM1IElTT2Ftc2IiIH0sCit7IDg5NjgsCSJsY2VpbCIsImxlZnQgY2VpbGluZyA9IGFwbCB1cHN0aWxlLCBVKzIzMDggSVNPYW1zYyIgfSwKK3sgODk2OSwJInJjZWlsIiwicmlnaHQgY2VpbGluZywgVSsyMzA5IElTT2Ftc2MiIH0sCit7IDg5NzAsCSJsZmxvb3IiLCJsZWZ0IGZsb29yID0gYXBsIGRvd25zdGlsZSwgVSsyMzBBIElTT2Ftc2MiIH0sCit7IDg5NzEsCSJyZmxvb3IiLCJyaWdodCBmbG9vciwgVSsyMzBCIElTT2Ftc2MiIH0sCit7IDkwMDEsCSJsYW5nIiwJImxlZnQtcG9pbnRpbmcgYW5nbGUgYnJhY2tldCA9IGJyYSwgVSsyMzI5IElTT3RlY2giIH0sCit7IDkwMDIsCSJyYW5nIiwJInJpZ2h0LXBvaW50aW5nIGFuZ2xlIGJyYWNrZXQgPSBrZXQsIFUrMjMyQSBJU090ZWNoIiB9LAoreyA5Njc0LAkibG96IiwJImxvemVuZ2UsIFUrMjVDQSBJU09wdWIiIH0sCisKK3sgOTgyNCwJInNwYWRlcyIsImJsYWNrIHNwYWRlIHN1aXQsIFUrMjY2MCBJU09wdWIiIH0sCit7IDk4MjcsCSJjbHVicyIsImJsYWNrIGNsdWIgc3VpdCA9IHNoYW1yb2NrLCBVKzI2NjMgSVNPcHViIiB9LAoreyA5ODI5LAkiaGVhcnRzIiwiYmxhY2sgaGVhcnQgc3VpdCA9IHZhbGVudGluZSwgVSsyNjY1IElTT3B1YiIgfSwKK3sgOTgzMCwJImRpYW1zIiwiYmxhY2sgZGlhbW9uZCBzdWl0LCBVKzI2NjYgSVNPcHViIiB9LAorCit9OworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQlDb21tb2RpdHkgZnVuY3Rpb25zIHRvIGhhbmRsZSBlbnRpdGllcwkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoKKyAqIE1hY3JvIHVzZWQgdG8gZ3JvdyB0aGUgY3VycmVudCBidWZmZXIuCisgKi8KKyNkZWZpbmUgZ3Jvd0J1ZmZlcihidWZmZXIpIHsJCQkJCQlcCisgICAgeG1sQ2hhciAqdG1wOwkJCQkJCQlcCisgICAgYnVmZmVyIyNfc2l6ZSAqPSAyOwkJCQkJCQlcCisgICAgdG1wID0gKHhtbENoYXIgKikgeG1sUmVhbGxvYyhidWZmZXIsIGJ1ZmZlciMjX3NpemUgKiBzaXplb2YoeG1sQ2hhcikpOyBcCisgICAgaWYgKHRtcCA9PSBOVUxMKSB7CQkJCQkJXAorCWh0bWxFcnJNZW1vcnkoY3R4dCwgImdyb3dpbmcgYnVmZmVyXG4iKTsJCQlcCisJeG1sRnJlZShidWZmZXIpOwkJCQkJCVwKKwlyZXR1cm4oTlVMTCk7CQkJCQkJCVwKKyAgICB9CQkJCQkJCQkJXAorICAgIGJ1ZmZlciA9IHRtcDsJCQkJCQkJXAorfQorCisvKioKKyAqIGh0bWxFbnRpdHlMb29rdXA6CisgKiBAbmFtZTogdGhlIGVudGl0eSBuYW1lCisgKgorICogTG9va3VwIHRoZSBnaXZlbiBlbnRpdHkgaW4gRW50aXRpZXNUYWJsZQorICoKKyAqIFRPRE86IHRoZSBsaW5lYXIgc2NhbiBpcyByZWFsbHkgdWdseSwgYW4gaGFzaCB0YWJsZSBpcyByZWFsbHkgbmVlZGVkLgorICoKKyAqIFJldHVybnMgdGhlIGFzc29jaWF0ZWQgaHRtbEVudGl0eURlc2NQdHIgaWYgZm91bmQsIE5VTEwgb3RoZXJ3aXNlLgorICovCitjb25zdCBodG1sRW50aXR5RGVzYyAqCitodG1sRW50aXR5TG9va3VwKGNvbnN0IHhtbENoYXIgKm5hbWUpIHsKKyAgICB1bnNpZ25lZCBpbnQgaTsKKworICAgIGZvciAoaSA9IDA7aSA8IChzaXplb2YoaHRtbDQwRW50aXRpZXNUYWJsZSkvCisgICAgICAgICAgICAgICAgICAgIHNpemVvZihodG1sNDBFbnRpdGllc1RhYmxlWzBdKSk7aSsrKSB7CisgICAgICAgIGlmICh4bWxTdHJFcXVhbChuYW1lLCBCQURfQ0FTVCBodG1sNDBFbnRpdGllc1RhYmxlW2ldLm5hbWUpKSB7CisgICAgICAgICAgICByZXR1cm4oKGh0bWxFbnRpdHlEZXNjUHRyKSAmaHRtbDQwRW50aXRpZXNUYWJsZVtpXSk7CisJfQorICAgIH0KKyAgICByZXR1cm4oTlVMTCk7Cit9CisKKy8qKgorICogaHRtbEVudGl0eVZhbHVlTG9va3VwOgorICogQHZhbHVlOiB0aGUgZW50aXR5J3MgdW5pY29kZSB2YWx1ZQorICoKKyAqIExvb2t1cCB0aGUgZ2l2ZW4gZW50aXR5IGluIEVudGl0aWVzVGFibGUKKyAqCisgKiBUT0RPOiB0aGUgbGluZWFyIHNjYW4gaXMgcmVhbGx5IHVnbHksIGFuIGhhc2ggdGFibGUgaXMgcmVhbGx5IG5lZWRlZC4KKyAqCisgKiBSZXR1cm5zIHRoZSBhc3NvY2lhdGVkIGh0bWxFbnRpdHlEZXNjUHRyIGlmIGZvdW5kLCBOVUxMIG90aGVyd2lzZS4KKyAqLworY29uc3QgaHRtbEVudGl0eURlc2MgKgoraHRtbEVudGl0eVZhbHVlTG9va3VwKHVuc2lnbmVkIGludCB2YWx1ZSkgeworICAgIHVuc2lnbmVkIGludCBpOworCisgICAgZm9yIChpID0gMDtpIDwgKHNpemVvZihodG1sNDBFbnRpdGllc1RhYmxlKS8KKyAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKGh0bWw0MEVudGl0aWVzVGFibGVbMF0pKTtpKyspIHsKKyAgICAgICAgaWYgKGh0bWw0MEVudGl0aWVzVGFibGVbaV0udmFsdWUgPj0gdmFsdWUpIHsKKwkgICAgaWYgKGh0bWw0MEVudGl0aWVzVGFibGVbaV0udmFsdWUgPiB2YWx1ZSkKKwkJYnJlYWs7CisgICAgICAgICAgICByZXR1cm4oKGh0bWxFbnRpdHlEZXNjUHRyKSAmaHRtbDQwRW50aXRpZXNUYWJsZVtpXSk7CisJfQorICAgIH0KKyAgICByZXR1cm4oTlVMTCk7Cit9CisKKy8qKgorICogVVRGOFRvSHRtbDoKKyAqIEBvdXQ6ICBhIHBvaW50ZXIgdG8gYW4gYXJyYXkgb2YgYnl0ZXMgdG8gc3RvcmUgdGhlIHJlc3VsdAorICogQG91dGxlbjogIHRoZSBsZW5ndGggb2YgQG91dAorICogQGluOiAgYSBwb2ludGVyIHRvIGFuIGFycmF5IG9mIFVURi04IGNoYXJzCisgKiBAaW5sZW46ICB0aGUgbGVuZ3RoIG9mIEBpbgorICoKKyAqIFRha2UgYSBibG9jayBvZiBVVEYtOCBjaGFycyBpbiBhbmQgdHJ5IHRvIGNvbnZlcnQgaXQgdG8gYW4gQVNDSUkKKyAqIHBsdXMgSFRNTCBlbnRpdGllcyBibG9jayBvZiBjaGFycyBvdXQuCisgKgorICogUmV0dXJucyAwIGlmIHN1Y2Nlc3MsIC0yIGlmIHRoZSB0cmFuc2NvZGluZyBmYWlscywgb3IgLTEgb3RoZXJ3aXNlCisgKiBUaGUgdmFsdWUgb2YgQGlubGVuIGFmdGVyIHJldHVybiBpcyB0aGUgbnVtYmVyIG9mIG9jdGV0cyBjb25zdW1lZAorICogICAgIGFzIHRoZSByZXR1cm4gdmFsdWUgaXMgcG9zaXRpdmUsIGVsc2UgdW5wcmVkaWN0YWJsZS4KKyAqIFRoZSB2YWx1ZSBvZiBAb3V0bGVuIGFmdGVyIHJldHVybiBpcyB0aGUgbnVtYmVyIG9mIG9jdGV0cyBjb25zdW1lZC4KKyAqLworaW50CitVVEY4VG9IdG1sKHVuc2lnbmVkIGNoYXIqIG91dCwgaW50ICpvdXRsZW4sCisgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGluLCBpbnQgKmlubGVuKSB7CisgICAgY29uc3QgdW5zaWduZWQgY2hhciogcHJvY2Vzc2VkID0gaW47CisgICAgY29uc3QgdW5zaWduZWQgY2hhciogb3V0ZW5kOworICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqIG91dHN0YXJ0ID0gb3V0OworICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGluc3RhcnQgPSBpbjsKKyAgICBjb25zdCB1bnNpZ25lZCBjaGFyKiBpbmVuZDsKKyAgICB1bnNpZ25lZCBpbnQgYywgZDsKKyAgICBpbnQgdHJhaWxpbmc7CisKKyAgICBpZiAoKG91dCA9PSBOVUxMKSB8fCAob3V0bGVuID09IE5VTEwpIHx8IChpbmxlbiA9PSBOVUxMKSkgcmV0dXJuKC0xKTsKKyAgICBpZiAoaW4gPT0gTlVMTCkgeworICAgICAgICAvKgorCSAqIGluaXRpYWxpemF0aW9uIG5vdGhpbmcgdG8gZG8KKwkgKi8KKwkqb3V0bGVuID0gMDsKKwkqaW5sZW4gPSAwOworCXJldHVybigwKTsKKyAgICB9CisgICAgaW5lbmQgPSBpbiArICgqaW5sZW4pOworICAgIG91dGVuZCA9IG91dCArICgqb3V0bGVuKTsKKyAgICB3aGlsZSAoaW4gPCBpbmVuZCkgeworCWQgPSAqaW4rKzsKKwlpZiAgICAgIChkIDwgMHg4MCkgIHsgYz0gZDsgdHJhaWxpbmc9IDA7IH0KKwllbHNlIGlmIChkIDwgMHhDMCkgeworCSAgICAvKiB0cmFpbGluZyBieXRlIGluIGxlYWRpbmcgcG9zaXRpb24gKi8KKwkgICAgKm91dGxlbiA9IG91dCAtIG91dHN0YXJ0OworCSAgICAqaW5sZW4gPSBwcm9jZXNzZWQgLSBpbnN0YXJ0OworCSAgICByZXR1cm4oLTIpOworICAgICAgICB9IGVsc2UgaWYgKGQgPCAweEUwKSAgeyBjPSBkICYgMHgxRjsgdHJhaWxpbmc9IDE7IH0KKyAgICAgICAgZWxzZSBpZiAoZCA8IDB4RjApICB7IGM9IGQgJiAweDBGOyB0cmFpbGluZz0gMjsgfQorICAgICAgICBlbHNlIGlmIChkIDwgMHhGOCkgIHsgYz0gZCAmIDB4MDc7IHRyYWlsaW5nPSAzOyB9CisJZWxzZSB7CisJICAgIC8qIG5vIGNoYW5jZSBmb3IgdGhpcyBpbiBBc2NpaSAqLworCSAgICAqb3V0bGVuID0gb3V0IC0gb3V0c3RhcnQ7CisJICAgICppbmxlbiA9IHByb2Nlc3NlZCAtIGluc3RhcnQ7CisJICAgIHJldHVybigtMik7CisJfQorCisJaWYgKGluZW5kIC0gaW4gPCB0cmFpbGluZykgeworCSAgICBicmVhazsKKwl9CisKKwlmb3IgKCA7IHRyYWlsaW5nOyB0cmFpbGluZy0tKSB7CisJICAgIGlmICgoaW4gPj0gaW5lbmQpIHx8ICgoKGQ9ICppbisrKSAmIDB4QzApICE9IDB4ODApKQorCQlicmVhazsKKwkgICAgYyA8PD0gNjsKKwkgICAgYyB8PSBkICYgMHgzRjsKKwl9CisKKwkvKiBhc3NlcnRpb246IGMgaXMgYSBzaW5nbGUgVVRGLTQgdmFsdWUgKi8KKwlpZiAoYyA8IDB4ODApIHsKKwkgICAgaWYgKG91dCArIDEgPj0gb3V0ZW5kKQorCQlicmVhazsKKwkgICAgKm91dCsrID0gYzsKKwl9IGVsc2UgeworCSAgICBpbnQgbGVuOworCSAgICBjb25zdCBodG1sRW50aXR5RGVzYyAqIGVudDsKKwkgICAgY29uc3QgY2hhciAqY3A7CisJICAgIGNoYXIgbmJ1ZlsxNl07CisKKwkgICAgLyoKKwkgICAgICogVHJ5IHRvIGxvb2t1cCBhIHByZWRlZmluZWQgSFRNTCBlbnRpdHkgZm9yIGl0CisJICAgICAqLworCisJICAgIGVudCA9IGh0bWxFbnRpdHlWYWx1ZUxvb2t1cChjKTsKKwkgICAgaWYgKGVudCA9PSBOVUxMKSB7CisJICAgICAgc25wcmludGYobmJ1Ziwgc2l6ZW9mKG5idWYpLCAiIyV1IiwgYyk7CisJICAgICAgY3AgPSBuYnVmOworCSAgICB9CisJICAgIGVsc2UKKwkgICAgICBjcCA9IGVudC0+bmFtZTsKKwkgICAgbGVuID0gc3RybGVuKGNwKTsKKwkgICAgaWYgKG91dCArIDIgKyBsZW4gPj0gb3V0ZW5kKQorCQlicmVhazsKKwkgICAgKm91dCsrID0gJyYnOworCSAgICBtZW1jcHkob3V0LCBjcCwgbGVuKTsKKwkgICAgb3V0ICs9IGxlbjsKKwkgICAgKm91dCsrID0gJzsnOworCX0KKwlwcm9jZXNzZWQgPSBpbjsKKyAgICB9CisgICAgKm91dGxlbiA9IG91dCAtIG91dHN0YXJ0OworICAgICppbmxlbiA9IHByb2Nlc3NlZCAtIGluc3RhcnQ7CisgICAgcmV0dXJuKDApOworfQorCisvKioKKyAqIGh0bWxFbmNvZGVFbnRpdGllczoKKyAqIEBvdXQ6ICBhIHBvaW50ZXIgdG8gYW4gYXJyYXkgb2YgYnl0ZXMgdG8gc3RvcmUgdGhlIHJlc3VsdAorICogQG91dGxlbjogIHRoZSBsZW5ndGggb2YgQG91dAorICogQGluOiAgYSBwb2ludGVyIHRvIGFuIGFycmF5IG9mIFVURi04IGNoYXJzCisgKiBAaW5sZW46ICB0aGUgbGVuZ3RoIG9mIEBpbgorICogQHF1b3RlQ2hhcjogdGhlIHF1b3RlIGNoYXJhY3RlciB0byBlc2NhcGUgKCcgb3IgIikgb3IgemVyby4KKyAqCisgKiBUYWtlIGEgYmxvY2sgb2YgVVRGLTggY2hhcnMgaW4gYW5kIHRyeSB0byBjb252ZXJ0IGl0IHRvIGFuIEFTQ0lJCisgKiBwbHVzIEhUTUwgZW50aXRpZXMgYmxvY2sgb2YgY2hhcnMgb3V0LgorICoKKyAqIFJldHVybnMgMCBpZiBzdWNjZXNzLCAtMiBpZiB0aGUgdHJhbnNjb2RpbmcgZmFpbHMsIG9yIC0xIG90aGVyd2lzZQorICogVGhlIHZhbHVlIG9mIEBpbmxlbiBhZnRlciByZXR1cm4gaXMgdGhlIG51bWJlciBvZiBvY3RldHMgY29uc3VtZWQKKyAqICAgICBhcyB0aGUgcmV0dXJuIHZhbHVlIGlzIHBvc2l0aXZlLCBlbHNlIHVucHJlZGljdGFibGUuCisgKiBUaGUgdmFsdWUgb2YgQG91dGxlbiBhZnRlciByZXR1cm4gaXMgdGhlIG51bWJlciBvZiBvY3RldHMgY29uc3VtZWQuCisgKi8KK2ludAoraHRtbEVuY29kZUVudGl0aWVzKHVuc2lnbmVkIGNoYXIqIG91dCwgaW50ICpvdXRsZW4sCisJCSAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGluLCBpbnQgKmlubGVuLCBpbnQgcXVvdGVDaGFyKSB7CisgICAgY29uc3QgdW5zaWduZWQgY2hhciogcHJvY2Vzc2VkID0gaW47CisgICAgY29uc3QgdW5zaWduZWQgY2hhciogb3V0ZW5kOworICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqIG91dHN0YXJ0ID0gb3V0OworICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGluc3RhcnQgPSBpbjsKKyAgICBjb25zdCB1bnNpZ25lZCBjaGFyKiBpbmVuZDsKKyAgICB1bnNpZ25lZCBpbnQgYywgZDsKKyAgICBpbnQgdHJhaWxpbmc7CisKKyAgICBpZiAoKG91dCA9PSBOVUxMKSB8fCAob3V0bGVuID09IE5VTEwpIHx8IChpbmxlbiA9PSBOVUxMKSB8fCAoaW4gPT0gTlVMTCkpCisgICAgICAgIHJldHVybigtMSk7CisgICAgb3V0ZW5kID0gb3V0ICsgKCpvdXRsZW4pOworICAgIGluZW5kID0gaW4gKyAoKmlubGVuKTsKKyAgICB3aGlsZSAoaW4gPCBpbmVuZCkgeworCWQgPSAqaW4rKzsKKwlpZiAgICAgIChkIDwgMHg4MCkgIHsgYz0gZDsgdHJhaWxpbmc9IDA7IH0KKwllbHNlIGlmIChkIDwgMHhDMCkgeworCSAgICAvKiB0cmFpbGluZyBieXRlIGluIGxlYWRpbmcgcG9zaXRpb24gKi8KKwkgICAgKm91dGxlbiA9IG91dCAtIG91dHN0YXJ0OworCSAgICAqaW5sZW4gPSBwcm9jZXNzZWQgLSBpbnN0YXJ0OworCSAgICByZXR1cm4oLTIpOworICAgICAgICB9IGVsc2UgaWYgKGQgPCAweEUwKSAgeyBjPSBkICYgMHgxRjsgdHJhaWxpbmc9IDE7IH0KKyAgICAgICAgZWxzZSBpZiAoZCA8IDB4RjApICB7IGM9IGQgJiAweDBGOyB0cmFpbGluZz0gMjsgfQorICAgICAgICBlbHNlIGlmIChkIDwgMHhGOCkgIHsgYz0gZCAmIDB4MDc7IHRyYWlsaW5nPSAzOyB9CisJZWxzZSB7CisJICAgIC8qIG5vIGNoYW5jZSBmb3IgdGhpcyBpbiBBc2NpaSAqLworCSAgICAqb3V0bGVuID0gb3V0IC0gb3V0c3RhcnQ7CisJICAgICppbmxlbiA9IHByb2Nlc3NlZCAtIGluc3RhcnQ7CisJICAgIHJldHVybigtMik7CisJfQorCisJaWYgKGluZW5kIC0gaW4gPCB0cmFpbGluZykKKwkgICAgYnJlYWs7CisKKwl3aGlsZSAodHJhaWxpbmctLSkgeworCSAgICBpZiAoKChkPSAqaW4rKykgJiAweEMwKSAhPSAweDgwKSB7CisJCSpvdXRsZW4gPSBvdXQgLSBvdXRzdGFydDsKKwkJKmlubGVuID0gcHJvY2Vzc2VkIC0gaW5zdGFydDsKKwkJcmV0dXJuKC0yKTsKKwkgICAgfQorCSAgICBjIDw8PSA2OworCSAgICBjIHw9IGQgJiAweDNGOworCX0KKworCS8qIGFzc2VydGlvbjogYyBpcyBhIHNpbmdsZSBVVEYtNCB2YWx1ZSAqLworCWlmICgoYyA8IDB4ODApICYmIChjICE9ICh1bnNpZ25lZCBpbnQpIHF1b3RlQ2hhcikgJiYKKwkgICAgKGMgIT0gJyYnKSAmJiAoYyAhPSAnPCcpICYmIChjICE9ICc+JykpIHsKKwkgICAgaWYgKG91dCA+PSBvdXRlbmQpCisJCWJyZWFrOworCSAgICAqb3V0KysgPSBjOworCX0gZWxzZSB7CisJICAgIGNvbnN0IGh0bWxFbnRpdHlEZXNjICogZW50OworCSAgICBjb25zdCBjaGFyICpjcDsKKwkgICAgY2hhciBuYnVmWzE2XTsKKwkgICAgaW50IGxlbjsKKworCSAgICAvKgorCSAgICAgKiBUcnkgdG8gbG9va3VwIGEgcHJlZGVmaW5lZCBIVE1MIGVudGl0eSBmb3IgaXQKKwkgICAgICovCisJICAgIGVudCA9IGh0bWxFbnRpdHlWYWx1ZUxvb2t1cChjKTsKKwkgICAgaWYgKGVudCA9PSBOVUxMKSB7CisJCXNucHJpbnRmKG5idWYsIHNpemVvZihuYnVmKSwgIiMldSIsIGMpOworCQljcCA9IG5idWY7CisJICAgIH0KKwkgICAgZWxzZQorCQljcCA9IGVudC0+bmFtZTsKKwkgICAgbGVuID0gc3RybGVuKGNwKTsKKwkgICAgaWYgKG91dCArIDIgKyBsZW4gPiBvdXRlbmQpCisJCWJyZWFrOworCSAgICAqb3V0KysgPSAnJic7CisJICAgIG1lbWNweShvdXQsIGNwLCBsZW4pOworCSAgICBvdXQgKz0gbGVuOworCSAgICAqb3V0KysgPSAnOyc7CisJfQorCXByb2Nlc3NlZCA9IGluOworICAgIH0KKyAgICAqb3V0bGVuID0gb3V0IC0gb3V0c3RhcnQ7CisgICAgKmlubGVuID0gcHJvY2Vzc2VkIC0gaW5zdGFydDsKKyAgICByZXR1cm4oMCk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCUNvbW1vZGl0eSBmdW5jdGlvbnMgdG8gaGFuZGxlIHN0cmVhbXMJCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKgorICogaHRtbE5ld0lucHV0U3RyZWFtOgorICogQGN0eHQ6ICBhbiBIVE1MIHBhcnNlciBjb250ZXh0CisgKgorICogQ3JlYXRlIGEgbmV3IGlucHV0IHN0cmVhbSBzdHJ1Y3R1cmUKKyAqIFJldHVybnMgdGhlIG5ldyBpbnB1dCBzdHJlYW0gb3IgTlVMTAorICovCitzdGF0aWMgaHRtbFBhcnNlcklucHV0UHRyCitodG1sTmV3SW5wdXRTdHJlYW0oaHRtbFBhcnNlckN0eHRQdHIgY3R4dCkgeworICAgIGh0bWxQYXJzZXJJbnB1dFB0ciBpbnB1dDsKKworICAgIGlucHV0ID0gKHhtbFBhcnNlcklucHV0UHRyKSB4bWxNYWxsb2Moc2l6ZW9mKGh0bWxQYXJzZXJJbnB1dCkpOworICAgIGlmIChpbnB1dCA9PSBOVUxMKSB7CisgICAgICAgIGh0bWxFcnJNZW1vcnkoY3R4dCwgImNvdWxkbid0IGFsbG9jYXRlIGEgbmV3IGlucHV0IHN0cmVhbVxuIik7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBtZW1zZXQoaW5wdXQsIDAsIHNpemVvZihodG1sUGFyc2VySW5wdXQpKTsKKyAgICBpbnB1dC0+ZmlsZW5hbWUgPSBOVUxMOworICAgIGlucHV0LT5kaXJlY3RvcnkgPSBOVUxMOworICAgIGlucHV0LT5iYXNlID0gTlVMTDsKKyAgICBpbnB1dC0+Y3VyID0gTlVMTDsKKyAgICBpbnB1dC0+YnVmID0gTlVMTDsKKyAgICBpbnB1dC0+bGluZSA9IDE7CisgICAgaW5wdXQtPmNvbCA9IDE7CisgICAgaW5wdXQtPmJ1ZiA9IE5VTEw7CisgICAgaW5wdXQtPmZyZWUgPSBOVUxMOworICAgIGlucHV0LT52ZXJzaW9uID0gTlVMTDsKKyAgICBpbnB1dC0+Y29uc3VtZWQgPSAwOworICAgIGlucHV0LT5sZW5ndGggPSAwOworICAgIHJldHVybihpbnB1dCk7Cit9CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJQ29tbW9kaXR5IGZ1bmN0aW9ucywgY2xlYW51cCBuZWVkZWQgPwkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qCisgKiBhbGwgdGFncyBhbGxvd2luZyBwYyBkYXRhIGZyb20gdGhlIGh0bWwgNC4wMSBsb29zZSBkdGQKKyAqIE5PVEU6IGl0IG1pZ2h0IGJlIG1vcmUgYXByb3ByaWF0ZSB0byBpbnRlZ3JhdGUgdGhpcyBpbmZvcm1hdGlvbgorICogaW50byB0aGUgaHRtbDQwRWxlbWVudFRhYmxlIGFycmF5IGJ1dCBJIGRvbid0IHdhbnQgdG8gcmlzayBhbnkKKyAqIGJpbmFyeSBpbmNvbXB0aWJpbGl0eQorICovCitzdGF0aWMgY29uc3QgY2hhciAqYWxsb3dQQ0RhdGFbXSA9IHsKKyAgICAiYSIsICJhYmJyIiwgImFjcm9ueW0iLCAiYWRkcmVzcyIsICJhcHBsZXQiLCAiYiIsICJiZG8iLCAiYmlnIiwKKyAgICAiYmxvY2txdW90ZSIsICJib2R5IiwgImJ1dHRvbiIsICJjYXB0aW9uIiwgImNlbnRlciIsICJjaXRlIiwgImNvZGUiLAorICAgICJkZCIsICJkZWwiLCAiZGZuIiwgImRpdiIsICJkdCIsICJlbSIsICJmb250IiwgImZvcm0iLCAiaDEiLCAiaDIiLAorICAgICJoMyIsICJoNCIsICJoNSIsICJoNiIsICJpIiwgImlmcmFtZSIsICJpbnMiLCAia2JkIiwgImxhYmVsIiwgImxlZ2VuZCIsCisgICAgImxpIiwgIm5vZnJhbWVzIiwgIm5vc2NyaXB0IiwgIm9iamVjdCIsICJwIiwgInByZSIsICJxIiwgInMiLCAic2FtcCIsCisgICAgInNtYWxsIiwgInNwYW4iLCAic3RyaWtlIiwgInN0cm9uZyIsICJ0ZCIsICJ0aCIsICJ0dCIsICJ1IiwgInZhciIKK307CisKKy8qKgorICogYXJlQmxhbmtzOgorICogQGN0eHQ6ICBhbiBIVE1MIHBhcnNlciBjb250ZXh0CisgKiBAc3RyOiAgYSB4bWxDaGFyICoKKyAqIEBsZW46ICB0aGUgc2l6ZSBvZiBAc3RyCisgKgorICogSXMgdGhpcyBhIHNlcXVlbmNlIG9mIGJsYW5rIGNoYXJzIHRoYXQgb25lIGNhbiBpZ25vcmUgPworICoKKyAqIFJldHVybnMgMSBpZiBpZ25vcmFibGUgMCBvdGhlcndpc2UuCisgKi8KKworc3RhdGljIGludCBhcmVCbGFua3MoaHRtbFBhcnNlckN0eHRQdHIgY3R4dCwgY29uc3QgeG1sQ2hhciAqc3RyLCBpbnQgbGVuKSB7CisgICAgdW5zaWduZWQgaW50IGk7CisgICAgaW50IGo7CisgICAgeG1sTm9kZVB0ciBsYXN0Q2hpbGQ7CisgICAgeG1sRHRkUHRyIGR0ZDsKKworICAgIGZvciAoaiA9IDA7aiA8IGxlbjtqKyspCisgICAgICAgIGlmICghKElTX0JMQU5LX0NIKHN0cltqXSkpKSByZXR1cm4oMCk7CisKKyAgICBpZiAoQ1VSID09IDApIHJldHVybigxKTsKKyAgICBpZiAoQ1VSICE9ICc8JykgcmV0dXJuKDApOworICAgIGlmIChjdHh0LT5uYW1lID09IE5VTEwpCisJcmV0dXJuKDEpOworICAgIGlmICh4bWxTdHJFcXVhbChjdHh0LT5uYW1lLCBCQURfQ0FTVCJodG1sIikpCisJcmV0dXJuKDEpOworICAgIGlmICh4bWxTdHJFcXVhbChjdHh0LT5uYW1lLCBCQURfQ0FTVCJoZWFkIikpCisJcmV0dXJuKDEpOworCisgICAgLyogT25seSBzdHJpcCBDREFUQSBjaGlsZHJlbiBvZiB0aGUgYm9keSB0YWcgZm9yIHN0cmljdCBIVE1MIERURHMgKi8KKyAgICBpZiAoeG1sU3RyRXF1YWwoY3R4dC0+bmFtZSwgQkFEX0NBU1QgImJvZHkiKSAmJiBjdHh0LT5teURvYyAhPSBOVUxMKSB7CisgICAgICAgIGR0ZCA9IHhtbEdldEludFN1YnNldChjdHh0LT5teURvYyk7CisgICAgICAgIGlmIChkdGQgIT0gTlVMTCAmJiBkdGQtPkV4dGVybmFsSUQgIT0gTlVMTCkgeworICAgICAgICAgICAgaWYgKCF4bWxTdHJjYXNlY21wKGR0ZC0+RXh0ZXJuYWxJRCwgQkFEX0NBU1QgIi0vL1czQy8vRFREIEhUTUwgNC4wMS8vRU4iKSB8fAorICAgICAgICAgICAgICAgICAgICAheG1sU3RyY2FzZWNtcChkdGQtPkV4dGVybmFsSUQsIEJBRF9DQVNUICItLy9XM0MvL0RURCBIVE1MIDQvL0VOIikpCisgICAgICAgICAgICAgICAgcmV0dXJuKDEpOworICAgICAgICB9CisgICAgfQorCisgICAgaWYgKGN0eHQtPm5vZGUgPT0gTlVMTCkgcmV0dXJuKDApOworICAgIGxhc3RDaGlsZCA9IHhtbEdldExhc3RDaGlsZChjdHh0LT5ub2RlKTsKKyAgICB3aGlsZSAoKGxhc3RDaGlsZCkgJiYgKGxhc3RDaGlsZC0+dHlwZSA9PSBYTUxfQ09NTUVOVF9OT0RFKSkKKwlsYXN0Q2hpbGQgPSBsYXN0Q2hpbGQtPnByZXY7CisgICAgaWYgKGxhc3RDaGlsZCA9PSBOVUxMKSB7CisgICAgICAgIGlmICgoY3R4dC0+bm9kZS0+dHlwZSAhPSBYTUxfRUxFTUVOVF9OT0RFKSAmJgorICAgICAgICAgICAgKGN0eHQtPm5vZGUtPmNvbnRlbnQgIT0gTlVMTCkpIHJldHVybigwKTsKKwkvKiBrZWVwIHdzIGluIGNvbnN0cnVjdHMgbGlrZSAuLi48Yj4gPC9iPi4uLgorCSAgIGZvciBhbGwgdGFncyAiYiIgYWxsb3dpbmcgUENEQVRBICovCisJZm9yICggaSA9IDA7IGkgPCBzaXplb2YoYWxsb3dQQ0RhdGEpL3NpemVvZihhbGxvd1BDRGF0YVswXSk7IGkrKyApIHsKKwkgICAgaWYgKCB4bWxTdHJFcXVhbChjdHh0LT5uYW1lLCBCQURfQ0FTVCBhbGxvd1BDRGF0YVtpXSkgKSB7CisJCXJldHVybigwKTsKKwkgICAgfQorCX0KKyAgICB9IGVsc2UgaWYgKHhtbE5vZGVJc1RleHQobGFzdENoaWxkKSkgeworICAgICAgICByZXR1cm4oMCk7CisgICAgfSBlbHNlIHsKKwkvKiBrZWVwIHdzIGluIGNvbnN0cnVjdHMgbGlrZSA8cD48Yj54eTwvYj4gPGk+ejwvaT48cD4KKwkgICBmb3IgYWxsIHRhZ3MgInAiIGFsbG93aW5nIFBDREFUQSAqLworCWZvciAoIGkgPSAwOyBpIDwgc2l6ZW9mKGFsbG93UENEYXRhKS9zaXplb2YoYWxsb3dQQ0RhdGFbMF0pOyBpKysgKSB7CisJICAgIGlmICggeG1sU3RyRXF1YWwobGFzdENoaWxkLT5uYW1lLCBCQURfQ0FTVCBhbGxvd1BDRGF0YVtpXSkgKSB7CisJCXJldHVybigwKTsKKwkgICAgfQorCX0KKyAgICB9CisgICAgcmV0dXJuKDEpOworfQorCisvKioKKyAqIGh0bWxOZXdEb2NOb0R0RDoKKyAqIEBVUkk6ICBVUkkgZm9yIHRoZSBkdGQsIG9yIE5VTEwKKyAqIEBFeHRlcm5hbElEOiAgdGhlIGV4dGVybmFsIElEIG9mIHRoZSBEVEQsIG9yIE5VTEwKKyAqCisgKiBDcmVhdGVzIGEgbmV3IEhUTUwgZG9jdW1lbnQgd2l0aG91dCBhIERURCBub2RlIGlmIEBVUkkgYW5kIEBFeHRlcm5hbElECisgKiBhcmUgTlVMTAorICoKKyAqIFJldHVybnMgYSBuZXcgZG9jdW1lbnQsIGRvIG5vdCBpbml0aWFsaXplIHRoZSBEVEQgaWYgbm90IHByb3ZpZGVkCisgKi8KK2h0bWxEb2NQdHIKK2h0bWxOZXdEb2NOb0R0RChjb25zdCB4bWxDaGFyICpVUkksIGNvbnN0IHhtbENoYXIgKkV4dGVybmFsSUQpIHsKKyAgICB4bWxEb2NQdHIgY3VyOworCisgICAgLyoKKyAgICAgKiBBbGxvY2F0ZSBhIG5ldyBkb2N1bWVudCBhbmQgZmlsbCB0aGUgZmllbGRzLgorICAgICAqLworICAgIGN1ciA9ICh4bWxEb2NQdHIpIHhtbE1hbGxvYyhzaXplb2YoeG1sRG9jKSk7CisgICAgaWYgKGN1ciA9PSBOVUxMKSB7CisJaHRtbEVyck1lbW9yeShOVUxMLCAiSFRNTCBkb2N1bWVudCBjcmVhdGlvbiBmYWlsZWRcbiIpOworCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgbWVtc2V0KGN1ciwgMCwgc2l6ZW9mKHhtbERvYykpOworCisgICAgY3VyLT50eXBlID0gWE1MX0hUTUxfRE9DVU1FTlRfTk9ERTsKKyAgICBjdXItPnZlcnNpb24gPSBOVUxMOworICAgIGN1ci0+aW50U3Vic2V0ID0gTlVMTDsKKyAgICBjdXItPmRvYyA9IGN1cjsKKyAgICBjdXItPm5hbWUgPSBOVUxMOworICAgIGN1ci0+Y2hpbGRyZW4gPSBOVUxMOworICAgIGN1ci0+ZXh0U3Vic2V0ID0gTlVMTDsKKyAgICBjdXItPm9sZE5zID0gTlVMTDsKKyAgICBjdXItPmVuY29kaW5nID0gTlVMTDsKKyAgICBjdXItPnN0YW5kYWxvbmUgPSAxOworICAgIGN1ci0+Y29tcHJlc3Npb24gPSAwOworICAgIGN1ci0+aWRzID0gTlVMTDsKKyAgICBjdXItPnJlZnMgPSBOVUxMOworICAgIGN1ci0+X3ByaXZhdGUgPSBOVUxMOworICAgIGN1ci0+Y2hhcnNldCA9IFhNTF9DSEFSX0VOQ09ESU5HX1VURjg7CisgICAgY3VyLT5wcm9wZXJ0aWVzID0gWE1MX0RPQ19IVE1MIHwgWE1MX0RPQ19VU0VSQlVJTFQ7CisgICAgaWYgKChFeHRlcm5hbElEICE9IE5VTEwpIHx8CisJKFVSSSAhPSBOVUxMKSkKKwl4bWxDcmVhdGVJbnRTdWJzZXQoY3VyLCBCQURfQ0FTVCAiaHRtbCIsIEV4dGVybmFsSUQsIFVSSSk7CisgICAgcmV0dXJuKGN1cik7Cit9CisKKy8qKgorICogaHRtbE5ld0RvYzoKKyAqIEBVUkk6ICBVUkkgZm9yIHRoZSBkdGQsIG9yIE5VTEwKKyAqIEBFeHRlcm5hbElEOiAgdGhlIGV4dGVybmFsIElEIG9mIHRoZSBEVEQsIG9yIE5VTEwKKyAqCisgKiBDcmVhdGVzIGEgbmV3IEhUTUwgZG9jdW1lbnQKKyAqCisgKiBSZXR1cm5zIGEgbmV3IGRvY3VtZW50CisgKi8KK2h0bWxEb2NQdHIKK2h0bWxOZXdEb2MoY29uc3QgeG1sQ2hhciAqVVJJLCBjb25zdCB4bWxDaGFyICpFeHRlcm5hbElEKSB7CisgICAgaWYgKChVUkkgPT0gTlVMTCkgJiYgKEV4dGVybmFsSUQgPT0gTlVMTCkpCisJcmV0dXJuKGh0bWxOZXdEb2NOb0R0RCgKKwkJICAgIEJBRF9DQVNUICJodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtaHRtbDQwL2xvb3NlLmR0ZCIsCisJCSAgICBCQURfQ0FTVCAiLS8vVzNDLy9EVEQgSFRNTCA0LjAgVHJhbnNpdGlvbmFsLy9FTiIpKTsKKworICAgIHJldHVybihodG1sTmV3RG9jTm9EdEQoVVJJLCBFeHRlcm5hbElEKSk7Cit9CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJCVRoZSBwYXJzZXIgaXRzZWxmCQkJCSoKKyAqCVJlbGF0ZXMgdG8gaHR0cDovL3d3dy53My5vcmcvVFIvaHRtbDQwCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJCVRoZSBwYXJzZXIgaXRzZWxmCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworc3RhdGljIGNvbnN0IHhtbENoYXIgKiBodG1sUGFyc2VOYW1lQ29tcGxleCh4bWxQYXJzZXJDdHh0UHRyIGN0eHQpOworCisvKioKKyAqIGh0bWxQYXJzZUhUTUxOYW1lOgorICogQGN0eHQ6ICBhbiBIVE1MIHBhcnNlciBjb250ZXh0CisgKgorICogcGFyc2UgYW4gSFRNTCB0YWcgb3IgYXR0cmlidXRlIG5hbWUsIG5vdGUgdGhhdCB3ZSBjb252ZXJ0IGl0IHRvIGxvd2VyY2FzZQorICogc2luY2UgSFRNTCBuYW1lcyBhcmUgbm90IGNhc2Utc2Vuc2l0aXZlLgorICoKKyAqIFJldHVybnMgdGhlIFRhZyBOYW1lIHBhcnNlZCBvciBOVUxMCisgKi8KKworc3RhdGljIGNvbnN0IHhtbENoYXIgKgoraHRtbFBhcnNlSFRNTE5hbWUoaHRtbFBhcnNlckN0eHRQdHIgY3R4dCkgeworICAgIGludCBpID0gMDsKKyAgICB4bWxDaGFyIGxvY1tIVE1MX1BBUlNFUl9CVUZGRVJfU0laRV07CisKKyAgICBpZiAoIUlTX0FTQ0lJX0xFVFRFUihDVVIpICYmIChDVVIgIT0gJ18nKSAmJgorICAgICAgICAoQ1VSICE9ICc6JykgJiYgKENVUiAhPSAnLicpKSByZXR1cm4oTlVMTCk7CisKKyAgICB3aGlsZSAoKGkgPCBIVE1MX1BBUlNFUl9CVUZGRVJfU0laRSkgJiYKKyAgICAgICAgICAgKChJU19BU0NJSV9MRVRURVIoQ1VSKSkgfHwgKElTX0FTQ0lJX0RJR0lUKENVUikpIHx8CisJICAgKENVUiA9PSAnOicpIHx8IChDVVIgPT0gJy0nKSB8fCAoQ1VSID09ICdfJykgfHwKKyAgICAgICAgICAgKENVUiA9PSAnLicpKSkgeworCWlmICgoQ1VSID49ICdBJykgJiYgKENVUiA8PSAnWicpKSBsb2NbaV0gPSBDVVIgKyAweDIwOworICAgICAgICBlbHNlIGxvY1tpXSA9IENVUjsKKwlpKys7CisKKwlORVhUOworICAgIH0KKworICAgIHJldHVybih4bWxEaWN0TG9va3VwKGN0eHQtPmRpY3QsIGxvYywgaSkpOworfQorCisKKy8qKgorICogaHRtbFBhcnNlSFRNTE5hbWVfbm9uSW52YXNpdmU6CisgKiBAY3R4dDogIGFuIEhUTUwgcGFyc2VyIGNvbnRleHQKKyAqCisgKiBwYXJzZSBhbiBIVE1MIHRhZyBvciBhdHRyaWJ1dGUgbmFtZSwgbm90ZSB0aGF0IHdlIGNvbnZlcnQgaXQgdG8gbG93ZXJjYXNlCisgKiBzaW5jZSBIVE1MIG5hbWVzIGFyZSBub3QgY2FzZS1zZW5zaXRpdmUsIHRoaXMgZG9lc24ndCBjb25zdW1lIHRoZSBkYXRhCisgKiBmcm9tIHRoZSBzdHJlYW0sIGl0J3MgYSBsb29rLWFoZWFkCisgKgorICogUmV0dXJucyB0aGUgVGFnIE5hbWUgcGFyc2VkIG9yIE5VTEwKKyAqLworCitzdGF0aWMgY29uc3QgeG1sQ2hhciAqCitodG1sUGFyc2VIVE1MTmFtZV9ub25JbnZhc2l2ZShodG1sUGFyc2VyQ3R4dFB0ciBjdHh0KSB7CisgICAgaW50IGkgPSAwOworICAgIHhtbENoYXIgbG9jW0hUTUxfUEFSU0VSX0JVRkZFUl9TSVpFXTsKKworICAgIGlmICghSVNfQVNDSUlfTEVUVEVSKE5YVCgxKSkgJiYgKE5YVCgxKSAhPSAnXycpICYmCisgICAgICAgIChOWFQoMSkgIT0gJzonKSkgcmV0dXJuKE5VTEwpOworCisgICAgd2hpbGUgKChpIDwgSFRNTF9QQVJTRVJfQlVGRkVSX1NJWkUpICYmCisgICAgICAgICAgICgoSVNfQVNDSUlfTEVUVEVSKE5YVCgxK2kpKSkgfHwgKElTX0FTQ0lJX0RJR0lUKE5YVCgxK2kpKSkgfHwKKwkgICAoTlhUKDEraSkgPT0gJzonKSB8fCAoTlhUKDEraSkgPT0gJy0nKSB8fCAoTlhUKDEraSkgPT0gJ18nKSkpIHsKKwlpZiAoKE5YVCgxK2kpID49ICdBJykgJiYgKE5YVCgxK2kpIDw9ICdaJykpIGxvY1tpXSA9IE5YVCgxK2kpICsgMHgyMDsKKyAgICAgICAgZWxzZSBsb2NbaV0gPSBOWFQoMStpKTsKKwlpKys7CisgICAgfQorCisgICAgcmV0dXJuKHhtbERpY3RMb29rdXAoY3R4dC0+ZGljdCwgbG9jLCBpKSk7Cit9CisKKworLyoqCisgKiBodG1sUGFyc2VOYW1lOgorICogQGN0eHQ6ICBhbiBIVE1MIHBhcnNlciBjb250ZXh0CisgKgorICogcGFyc2UgYW4gSFRNTCBuYW1lLCB0aGlzIHJvdXRpbmUgaXMgY2FzZSBzZW5zaXRpdmUuCisgKgorICogUmV0dXJucyB0aGUgTmFtZSBwYXJzZWQgb3IgTlVMTAorICovCisKK3N0YXRpYyBjb25zdCB4bWxDaGFyICoKK2h0bWxQYXJzZU5hbWUoaHRtbFBhcnNlckN0eHRQdHIgY3R4dCkgeworICAgIGNvbnN0IHhtbENoYXIgKmluOworICAgIGNvbnN0IHhtbENoYXIgKnJldDsKKyAgICBpbnQgY291bnQgPSAwOworCisgICAgR1JPVzsKKworICAgIC8qCisgICAgICogQWNjZWxlcmF0b3IgZm9yIHNpbXBsZSBBU0NJSSBuYW1lcworICAgICAqLworICAgIGluID0gY3R4dC0+aW5wdXQtPmN1cjsKKyAgICBpZiAoKCgqaW4gPj0gMHg2MSkgJiYgKCppbiA8PSAweDdBKSkgfHwKKwkoKCppbiA+PSAweDQxKSAmJiAoKmluIDw9IDB4NUEpKSB8fAorCSgqaW4gPT0gJ18nKSB8fCAoKmluID09ICc6JykpIHsKKwlpbisrOworCXdoaWxlICgoKCppbiA+PSAweDYxKSAmJiAoKmluIDw9IDB4N0EpKSB8fAorCSAgICAgICAoKCppbiA+PSAweDQxKSAmJiAoKmluIDw9IDB4NUEpKSB8fAorCSAgICAgICAoKCppbiA+PSAweDMwKSAmJiAoKmluIDw9IDB4MzkpKSB8fAorCSAgICAgICAoKmluID09ICdfJykgfHwgKCppbiA9PSAnLScpIHx8CisJICAgICAgICgqaW4gPT0gJzonKSB8fCAoKmluID09ICcuJykpCisJICAgIGluKys7CisJaWYgKCgqaW4gPiAwKSAmJiAoKmluIDwgMHg4MCkpIHsKKwkgICAgY291bnQgPSBpbiAtIGN0eHQtPmlucHV0LT5jdXI7CisJICAgIHJldCA9IHhtbERpY3RMb29rdXAoY3R4dC0+ZGljdCwgY3R4dC0+aW5wdXQtPmN1ciwgY291bnQpOworCSAgICBjdHh0LT5pbnB1dC0+Y3VyID0gaW47CisJICAgIGN0eHQtPm5iQ2hhcnMgKz0gY291bnQ7CisJICAgIGN0eHQtPmlucHV0LT5jb2wgKz0gY291bnQ7CisJICAgIHJldHVybihyZXQpOworCX0KKyAgICB9CisgICAgcmV0dXJuKGh0bWxQYXJzZU5hbWVDb21wbGV4KGN0eHQpKTsKK30KKworc3RhdGljIGNvbnN0IHhtbENoYXIgKgoraHRtbFBhcnNlTmFtZUNvbXBsZXgoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0KSB7CisgICAgaW50IGxlbiA9IDAsIGw7CisgICAgaW50IGM7CisgICAgaW50IGNvdW50ID0gMDsKKworICAgIC8qCisgICAgICogSGFuZGxlciBmb3IgbW9yZSBjb21wbGV4IGNhc2VzCisgICAgICovCisgICAgR1JPVzsKKyAgICBjID0gQ1VSX0NIQVIobCk7CisgICAgaWYgKChjID09ICcgJykgfHwgKGMgPT0gJz4nKSB8fCAoYyA9PSAnLycpIHx8IC8qIGFjY2VsZXJhdG9ycyAqLworCSghSVNfTEVUVEVSKGMpICYmIChjICE9ICdfJykgJiYKKyAgICAgICAgIChjICE9ICc6JykpKSB7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKworICAgIHdoaWxlICgoYyAhPSAnICcpICYmIChjICE9ICc+JykgJiYgKGMgIT0gJy8nKSAmJiAvKiB0ZXN0IGJpZ25hbWUueG1sICovCisJICAgKChJU19MRVRURVIoYykpIHx8IChJU19ESUdJVChjKSkgfHwKKyAgICAgICAgICAgIChjID09ICcuJykgfHwgKGMgPT0gJy0nKSB8fAorCSAgICAoYyA9PSAnXycpIHx8IChjID09ICc6JykgfHwKKwkgICAgKElTX0NPTUJJTklORyhjKSkgfHwKKwkgICAgKElTX0VYVEVOREVSKGMpKSkpIHsKKwlpZiAoY291bnQrKyA+IDEwMCkgeworCSAgICBjb3VudCA9IDA7CisJICAgIEdST1c7CisJfQorCWxlbiArPSBsOworCU5FWFRMKGwpOworCWMgPSBDVVJfQ0hBUihsKTsKKyAgICB9CisgICAgcmV0dXJuKHhtbERpY3RMb29rdXAoY3R4dC0+ZGljdCwgY3R4dC0+aW5wdXQtPmN1ciAtIGxlbiwgbGVuKSk7Cit9CisKKworLyoqCisgKiBodG1sUGFyc2VIVE1MQXR0cmlidXRlOgorICogQGN0eHQ6ICBhbiBIVE1MIHBhcnNlciBjb250ZXh0CisgKiBAc3RvcDogIGEgY2hhciBzdG9wIHZhbHVlCisgKgorICogcGFyc2UgYW4gSFRNTCBhdHRyaWJ1dGUgdmFsdWUgdGlsbCB0aGUgc3RvcCAocXVvdGUpLCBpZgorICogc3RvcCBpcyAwIHRoZW4gaXQgc3RvcHMgYXQgdGhlIGZpcnN0IHNwYWNlCisgKgorICogUmV0dXJucyB0aGUgYXR0cmlidXRlIHBhcnNlZCBvciBOVUxMCisgKi8KKworc3RhdGljIHhtbENoYXIgKgoraHRtbFBhcnNlSFRNTEF0dHJpYnV0ZShodG1sUGFyc2VyQ3R4dFB0ciBjdHh0LCBjb25zdCB4bWxDaGFyIHN0b3ApIHsKKyAgICB4bWxDaGFyICpidWZmZXIgPSBOVUxMOworICAgIGludCBidWZmZXJfc2l6ZSA9IDA7CisgICAgeG1sQ2hhciAqb3V0ID0gTlVMTDsKKyAgICBjb25zdCB4bWxDaGFyICpuYW1lID0gTlVMTDsKKyAgICBjb25zdCB4bWxDaGFyICpjdXIgPSBOVUxMOworICAgIGNvbnN0IGh0bWxFbnRpdHlEZXNjICogZW50OworCisgICAgLyoKKyAgICAgKiBhbGxvY2F0ZSBhIHRyYW5zbGF0aW9uIGJ1ZmZlci4KKyAgICAgKi8KKyAgICBidWZmZXJfc2l6ZSA9IEhUTUxfUEFSU0VSX0JVRkZFUl9TSVpFOworICAgIGJ1ZmZlciA9ICh4bWxDaGFyICopIHhtbE1hbGxvY0F0b21pYyhidWZmZXJfc2l6ZSAqIHNpemVvZih4bWxDaGFyKSk7CisgICAgaWYgKGJ1ZmZlciA9PSBOVUxMKSB7CisJaHRtbEVyck1lbW9yeShjdHh0LCAiYnVmZmVyIGFsbG9jYXRpb24gZmFpbGVkXG4iKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIG91dCA9IGJ1ZmZlcjsKKworICAgIC8qCisgICAgICogT2sgbG9vcCB1bnRpbCB3ZSByZWFjaCBvbmUgb2YgdGhlIGVuZGluZyBjaGFycworICAgICAqLworICAgIHdoaWxlICgoQ1VSICE9IDApICYmIChDVVIgIT0gc3RvcCkpIHsKKwlpZiAoKHN0b3AgPT0gMCkgJiYgKENVUiA9PSAnPicpKSBicmVhazsKKwlpZiAoKHN0b3AgPT0gMCkgJiYgKElTX0JMQU5LX0NIKENVUikpKSBicmVhazsKKyAgICAgICAgaWYgKENVUiA9PSAnJicpIHsKKwkgICAgaWYgKE5YVCgxKSA9PSAnIycpIHsKKwkJdW5zaWduZWQgaW50IGM7CisJCWludCBiaXRzOworCisJCWMgPSBodG1sUGFyc2VDaGFyUmVmKGN0eHQpOworCQlpZiAgICAgIChjIDwgICAgMHg4MCkKKwkJICAgICAgICB7ICpvdXQrKyAgPSBjOyAgICAgICAgICAgICAgICBiaXRzPSAtNjsgfQorCQllbHNlIGlmIChjIDwgICAweDgwMCkKKwkJICAgICAgICB7ICpvdXQrKyAgPSgoYyA+PiAgNikgJiAweDFGKSB8IDB4QzA7ICBiaXRzPSAgMDsgfQorCQllbHNlIGlmIChjIDwgMHgxMDAwMCkKKwkJICAgICAgICB7ICpvdXQrKyAgPSgoYyA+PiAxMikgJiAweDBGKSB8IDB4RTA7ICBiaXRzPSAgNjsgfQorCQllbHNlCisJCSAgICAgICAgeyAqb3V0KysgID0oKGMgPj4gMTgpICYgMHgwNykgfCAweEYwOyAgYml0cz0gMTI7IH0KKworCQlmb3IgKCA7IGJpdHMgPj0gMDsgYml0cy09IDYpIHsKKwkJICAgICpvdXQrKyAgPSAoKGMgPj4gYml0cykgJiAweDNGKSB8IDB4ODA7CisJCX0KKworCQlpZiAob3V0IC0gYnVmZmVyID4gYnVmZmVyX3NpemUgLSAxMDApIHsKKwkJCWludCBpbmR4ID0gb3V0IC0gYnVmZmVyOworCisJCQlncm93QnVmZmVyKGJ1ZmZlcik7CisJCQlvdXQgPSAmYnVmZmVyW2luZHhdOworCQl9CisJICAgIH0gZWxzZSB7CisJCWVudCA9IGh0bWxQYXJzZUVudGl0eVJlZihjdHh0LCAmbmFtZSk7CisJCWlmIChuYW1lID09IE5VTEwpIHsKKwkJICAgICpvdXQrKyA9ICcmJzsKKwkJICAgIGlmIChvdXQgLSBidWZmZXIgPiBidWZmZXJfc2l6ZSAtIDEwMCkgeworCQkJaW50IGluZHggPSBvdXQgLSBidWZmZXI7CisKKwkJCWdyb3dCdWZmZXIoYnVmZmVyKTsKKwkJCW91dCA9ICZidWZmZXJbaW5keF07CisJCSAgICB9CisJCX0gZWxzZSBpZiAoZW50ID09IE5VTEwpIHsKKwkJICAgICpvdXQrKyA9ICcmJzsKKwkJICAgIGN1ciA9IG5hbWU7CisJCSAgICB3aGlsZSAoKmN1ciAhPSAwKSB7CisJCQlpZiAob3V0IC0gYnVmZmVyID4gYnVmZmVyX3NpemUgLSAxMDApIHsKKwkJCSAgICBpbnQgaW5keCA9IG91dCAtIGJ1ZmZlcjsKKworCQkJICAgIGdyb3dCdWZmZXIoYnVmZmVyKTsKKwkJCSAgICBvdXQgPSAmYnVmZmVyW2luZHhdOworCQkJfQorCQkJKm91dCsrID0gKmN1cisrOworCQkgICAgfQorCQl9IGVsc2UgeworCQkgICAgdW5zaWduZWQgaW50IGM7CisJCSAgICBpbnQgYml0czsKKworCQkgICAgaWYgKG91dCAtIGJ1ZmZlciA+IGJ1ZmZlcl9zaXplIC0gMTAwKSB7CisJCQlpbnQgaW5keCA9IG91dCAtIGJ1ZmZlcjsKKworCQkJZ3Jvd0J1ZmZlcihidWZmZXIpOworCQkJb3V0ID0gJmJ1ZmZlcltpbmR4XTsKKwkJICAgIH0KKwkJICAgIGMgPSBlbnQtPnZhbHVlOworCQkgICAgaWYgICAgICAoYyA8ICAgIDB4ODApCisJCQl7ICpvdXQrKyAgPSBjOyAgICAgICAgICAgICAgICBiaXRzPSAtNjsgfQorCQkgICAgZWxzZSBpZiAoYyA8ICAgMHg4MDApCisJCQl7ICpvdXQrKyAgPSgoYyA+PiAgNikgJiAweDFGKSB8IDB4QzA7ICBiaXRzPSAgMDsgfQorCQkgICAgZWxzZSBpZiAoYyA8IDB4MTAwMDApCisJCQl7ICpvdXQrKyAgPSgoYyA+PiAxMikgJiAweDBGKSB8IDB4RTA7ICBiaXRzPSAgNjsgfQorCQkgICAgZWxzZQorCQkJeyAqb3V0KysgID0oKGMgPj4gMTgpICYgMHgwNykgfCAweEYwOyAgYml0cz0gMTI7IH0KKworCQkgICAgZm9yICggOyBiaXRzID49IDA7IGJpdHMtPSA2KSB7CisJCQkqb3V0KysgID0gKChjID4+IGJpdHMpICYgMHgzRikgfCAweDgwOworCQkgICAgfQorCQl9CisJICAgIH0KKwl9IGVsc2UgeworCSAgICB1bnNpZ25lZCBpbnQgYzsKKwkgICAgaW50IGJpdHMsIGw7CisKKwkgICAgaWYgKG91dCAtIGJ1ZmZlciA+IGJ1ZmZlcl9zaXplIC0gMTAwKSB7CisJCWludCBpbmR4ID0gb3V0IC0gYnVmZmVyOworCisJCWdyb3dCdWZmZXIoYnVmZmVyKTsKKwkJb3V0ID0gJmJ1ZmZlcltpbmR4XTsKKwkgICAgfQorCSAgICBjID0gQ1VSX0NIQVIobCk7CisJICAgIGlmICAgICAgKGMgPCAgICAweDgwKQorCQkgICAgeyAqb3V0KysgID0gYzsgICAgICAgICAgICAgICAgYml0cz0gLTY7IH0KKwkgICAgZWxzZSBpZiAoYyA8ICAgMHg4MDApCisJCSAgICB7ICpvdXQrKyAgPSgoYyA+PiAgNikgJiAweDFGKSB8IDB4QzA7ICBiaXRzPSAgMDsgfQorCSAgICBlbHNlIGlmIChjIDwgMHgxMDAwMCkKKwkJICAgIHsgKm91dCsrICA9KChjID4+IDEyKSAmIDB4MEYpIHwgMHhFMDsgIGJpdHM9ICA2OyB9CisJICAgIGVsc2UKKwkJICAgIHsgKm91dCsrICA9KChjID4+IDE4KSAmIDB4MDcpIHwgMHhGMDsgIGJpdHM9IDEyOyB9CisKKwkgICAgZm9yICggOyBiaXRzID49IDA7IGJpdHMtPSA2KSB7CisJCSpvdXQrKyAgPSAoKGMgPj4gYml0cykgJiAweDNGKSB8IDB4ODA7CisJICAgIH0KKwkgICAgTkVYVDsKKwl9CisgICAgfQorICAgICpvdXQgPSAwOworICAgIHJldHVybihidWZmZXIpOworfQorCisvKioKKyAqIGh0bWxQYXJzZUVudGl0eVJlZjoKKyAqIEBjdHh0OiAgYW4gSFRNTCBwYXJzZXIgY29udGV4dAorICogQHN0cjogIGxvY2F0aW9uIHRvIHN0b3JlIHRoZSBlbnRpdHkgbmFtZQorICoKKyAqIHBhcnNlIGFuIEhUTUwgRU5USVRZIHJlZmVyZW5jZXMKKyAqCisgKiBbNjhdIEVudGl0eVJlZiA6Oj0gJyYnIE5hbWUgJzsnCisgKgorICogUmV0dXJucyB0aGUgYXNzb2NpYXRlZCBodG1sRW50aXR5RGVzY1B0ciBpZiBmb3VuZCwgb3IgTlVMTCBvdGhlcndpc2UsCisgKiAgICAgICAgIGlmIG5vbi1OVUxMICpzdHIgd2lsbCBoYXZlIHRvIGJlIGZyZWVkIGJ5IHRoZSBjYWxsZXIuCisgKi8KK2NvbnN0IGh0bWxFbnRpdHlEZXNjICoKK2h0bWxQYXJzZUVudGl0eVJlZihodG1sUGFyc2VyQ3R4dFB0ciBjdHh0LCBjb25zdCB4bWxDaGFyICoqc3RyKSB7CisgICAgY29uc3QgeG1sQ2hhciAqbmFtZTsKKyAgICBjb25zdCBodG1sRW50aXR5RGVzYyAqIGVudCA9IE5VTEw7CisKKyAgICBpZiAoc3RyICE9IE5VTEwpICpzdHIgPSBOVUxMOworICAgIGlmICgoY3R4dCA9PSBOVUxMKSB8fCAoY3R4dC0+aW5wdXQgPT0gTlVMTCkpIHJldHVybihOVUxMKTsKKworICAgIGlmIChDVVIgPT0gJyYnKSB7CisgICAgICAgIE5FWFQ7CisgICAgICAgIG5hbWUgPSBodG1sUGFyc2VOYW1lKGN0eHQpOworCWlmIChuYW1lID09IE5VTEwpIHsKKwkgICAgaHRtbFBhcnNlRXJyKGN0eHQsIFhNTF9FUlJfTkFNRV9SRVFVSVJFRCwKKwkgICAgICAgICAgICAgICAgICJodG1sUGFyc2VFbnRpdHlSZWY6IG5vIG5hbWVcbiIsIE5VTEwsIE5VTEwpOworCX0gZWxzZSB7CisJICAgIEdST1c7CisJICAgIGlmIChDVVIgPT0gJzsnKSB7CisJICAgICAgICBpZiAoc3RyICE9IE5VTEwpCisJCSAgICAqc3RyID0gbmFtZTsKKworCQkvKgorCQkgKiBMb29rdXAgdGhlIGVudGl0eSBpbiB0aGUgdGFibGUuCisJCSAqLworCQllbnQgPSBodG1sRW50aXR5TG9va3VwKG5hbWUpOworCQlpZiAoZW50ICE9IE5VTEwpIC8qIE9LIHRoYXQncyB1Z2x5ICEhISAqLworCQkgICAgTkVYVDsKKwkgICAgfSBlbHNlIHsKKwkJaHRtbFBhcnNlRXJyKGN0eHQsIFhNTF9FUlJfRU5USVRZUkVGX1NFTUlDT0xfTUlTU0lORywKKwkJICAgICAgICAgICAgICJodG1sUGFyc2VFbnRpdHlSZWY6IGV4cGVjdGluZyAnOydcbiIsCisJCQkgICAgIE5VTEwsIE5VTEwpOworCSAgICAgICAgaWYgKHN0ciAhPSBOVUxMKQorCQkgICAgKnN0ciA9IG5hbWU7CisJICAgIH0KKwl9CisgICAgfQorICAgIHJldHVybihlbnQpOworfQorCisvKioKKyAqIGh0bWxQYXJzZUF0dFZhbHVlOgorICogQGN0eHQ6ICBhbiBIVE1MIHBhcnNlciBjb250ZXh0CisgKgorICogcGFyc2UgYSB2YWx1ZSBmb3IgYW4gYXR0cmlidXRlCisgKiBOb3RlOiB0aGUgcGFyc2VyIHdvbid0IGRvIHN1YnN0aXR1dGlvbiBvZiBlbnRpdGllcyBoZXJlLCB0aGlzCisgKiB3aWxsIGJlIGhhbmRsZWQgbGF0ZXIgaW4geG1sU3RyaW5nR2V0Tm9kZUxpc3QsIHVubGVzcyBpdCB3YXMKKyAqIGFza2VkIGZvciBjdHh0LT5yZXBsYWNlRW50aXRpZXMgIT0gMAorICoKKyAqIFJldHVybnMgdGhlIEF0dFZhbHVlIHBhcnNlZCBvciBOVUxMLgorICovCisKK3N0YXRpYyB4bWxDaGFyICoKK2h0bWxQYXJzZUF0dFZhbHVlKGh0bWxQYXJzZXJDdHh0UHRyIGN0eHQpIHsKKyAgICB4bWxDaGFyICpyZXQgPSBOVUxMOworCisgICAgaWYgKENVUiA9PSAnIicpIHsKKyAgICAgICAgTkVYVDsKKwlyZXQgPSBodG1sUGFyc2VIVE1MQXR0cmlidXRlKGN0eHQsICciJyk7CisgICAgICAgIGlmIChDVVIgIT0gJyInKSB7CisJICAgIGh0bWxQYXJzZUVycihjdHh0LCBYTUxfRVJSX0FUVFJJQlVURV9OT1RfRklOSVNIRUQsCisJICAgICAgICAgICAgICAgICAiQXR0VmFsdWU6IFwiIGV4cGVjdGVkXG4iLCBOVUxMLCBOVUxMKTsKKwl9IGVsc2UKKwkgICAgTkVYVDsKKyAgICB9IGVsc2UgaWYgKENVUiA9PSAnXCcnKSB7CisgICAgICAgIE5FWFQ7CisJcmV0ID0gaHRtbFBhcnNlSFRNTEF0dHJpYnV0ZShjdHh0LCAnXCcnKTsKKyAgICAgICAgaWYgKENVUiAhPSAnXCcnKSB7CisJICAgIGh0bWxQYXJzZUVycihjdHh0LCBYTUxfRVJSX0FUVFJJQlVURV9OT1RfRklOSVNIRUQsCisJICAgICAgICAgICAgICAgICAiQXR0VmFsdWU6ICcgZXhwZWN0ZWRcbiIsIE5VTEwsIE5VTEwpOworCX0gZWxzZQorCSAgICBORVhUOworICAgIH0gZWxzZSB7CisgICAgICAgIC8qCisJICogVGhhdCdzIGFuIEhUTUxpc20sIHRoZSBhdHRyaWJ1dGUgdmFsdWUgbWF5IG5vdCBiZSBxdW90ZWQKKwkgKi8KKwlyZXQgPSBodG1sUGFyc2VIVE1MQXR0cmlidXRlKGN0eHQsIDApOworCWlmIChyZXQgPT0gTlVMTCkgeworCSAgICBodG1sUGFyc2VFcnIoY3R4dCwgWE1MX0VSUl9BVFRSSUJVVEVfV0lUSE9VVF9WQUxVRSwKKwkgICAgICAgICAgICAgICAgICJBdHRWYWx1ZTogbm8gdmFsdWUgZm91bmRcbiIsIE5VTEwsIE5VTEwpOworCX0KKyAgICB9CisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogaHRtbFBhcnNlU3lzdGVtTGl0ZXJhbDoKKyAqIEBjdHh0OiAgYW4gSFRNTCBwYXJzZXIgY29udGV4dAorICoKKyAqIHBhcnNlIGFuIEhUTUwgTGl0ZXJhbAorICoKKyAqIFsxMV0gU3lzdGVtTGl0ZXJhbCA6Oj0gKCciJyBbXiJdKiAnIicpIHwgKCInIiBbXiddKiAiJyIpCisgKgorICogUmV0dXJucyB0aGUgU3lzdGVtTGl0ZXJhbCBwYXJzZWQgb3IgTlVMTAorICovCisKK3N0YXRpYyB4bWxDaGFyICoKK2h0bWxQYXJzZVN5c3RlbUxpdGVyYWwoaHRtbFBhcnNlckN0eHRQdHIgY3R4dCkgeworICAgIGNvbnN0IHhtbENoYXIgKnE7CisgICAgeG1sQ2hhciAqcmV0ID0gTlVMTDsKKworICAgIGlmIChDVVIgPT0gJyInKSB7CisgICAgICAgIE5FWFQ7CisJcSA9IENVUl9QVFI7CisJd2hpbGUgKChJU19DSEFSX0NIKENVUikpICYmIChDVVIgIT0gJyInKSkKKwkgICAgTkVYVDsKKwlpZiAoIUlTX0NIQVJfQ0goQ1VSKSkgeworCSAgICBodG1sUGFyc2VFcnIoY3R4dCwgWE1MX0VSUl9MSVRFUkFMX05PVF9GSU5JU0hFRCwKKwkJCSAiVW5maW5pc2hlZCBTeXN0ZW1MaXRlcmFsXG4iLCBOVUxMLCBOVUxMKTsKKwl9IGVsc2UgeworCSAgICByZXQgPSB4bWxTdHJuZHVwKHEsIENVUl9QVFIgLSBxKTsKKwkgICAgTkVYVDsKKyAgICAgICAgfQorICAgIH0gZWxzZSBpZiAoQ1VSID09ICdcJycpIHsKKyAgICAgICAgTkVYVDsKKwlxID0gQ1VSX1BUUjsKKwl3aGlsZSAoKElTX0NIQVJfQ0goQ1VSKSkgJiYgKENVUiAhPSAnXCcnKSkKKwkgICAgTkVYVDsKKwlpZiAoIUlTX0NIQVJfQ0goQ1VSKSkgeworCSAgICBodG1sUGFyc2VFcnIoY3R4dCwgWE1MX0VSUl9MSVRFUkFMX05PVF9GSU5JU0hFRCwKKwkJCSAiVW5maW5pc2hlZCBTeXN0ZW1MaXRlcmFsXG4iLCBOVUxMLCBOVUxMKTsKKwl9IGVsc2UgeworCSAgICByZXQgPSB4bWxTdHJuZHVwKHEsIENVUl9QVFIgLSBxKTsKKwkgICAgTkVYVDsKKyAgICAgICAgfQorICAgIH0gZWxzZSB7CisJaHRtbFBhcnNlRXJyKGN0eHQsIFhNTF9FUlJfTElURVJBTF9OT1RfU1RBUlRFRCwKKwkgICAgICAgICAgICAgIiBvciAnIGV4cGVjdGVkXG4iLCBOVUxMLCBOVUxMKTsKKyAgICB9CisKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiBodG1sUGFyc2VQdWJpZExpdGVyYWw6CisgKiBAY3R4dDogIGFuIEhUTUwgcGFyc2VyIGNvbnRleHQKKyAqCisgKiBwYXJzZSBhbiBIVE1MIHB1YmxpYyBsaXRlcmFsCisgKgorICogWzEyXSBQdWJpZExpdGVyYWwgOjo9ICciJyBQdWJpZENoYXIqICciJyB8ICInIiAoUHViaWRDaGFyIC0gIiciKSogIiciCisgKgorICogUmV0dXJucyB0aGUgUHViaWRMaXRlcmFsIHBhcnNlZCBvciBOVUxMLgorICovCisKK3N0YXRpYyB4bWxDaGFyICoKK2h0bWxQYXJzZVB1YmlkTGl0ZXJhbChodG1sUGFyc2VyQ3R4dFB0ciBjdHh0KSB7CisgICAgY29uc3QgeG1sQ2hhciAqcTsKKyAgICB4bWxDaGFyICpyZXQgPSBOVUxMOworICAgIC8qCisgICAgICogTmFtZSA6Oj0gKExldHRlciB8ICdfJykgKE5hbWVDaGFyKSoKKyAgICAgKi8KKyAgICBpZiAoQ1VSID09ICciJykgeworICAgICAgICBORVhUOworCXEgPSBDVVJfUFRSOworCXdoaWxlIChJU19QVUJJRENIQVJfQ0goQ1VSKSkgTkVYVDsKKwlpZiAoQ1VSICE9ICciJykgeworCSAgICBodG1sUGFyc2VFcnIoY3R4dCwgWE1MX0VSUl9MSVRFUkFMX05PVF9GSU5JU0hFRCwKKwkgICAgICAgICAgICAgICAgICJVbmZpbmlzaGVkIFB1YmlkTGl0ZXJhbFxuIiwgTlVMTCwgTlVMTCk7CisJfSBlbHNlIHsKKwkgICAgcmV0ID0geG1sU3RybmR1cChxLCBDVVJfUFRSIC0gcSk7CisJICAgIE5FWFQ7CisJfQorICAgIH0gZWxzZSBpZiAoQ1VSID09ICdcJycpIHsKKyAgICAgICAgTkVYVDsKKwlxID0gQ1VSX1BUUjsKKwl3aGlsZSAoKElTX1BVQklEQ0hBUl9DSChDVVIpKSAmJiAoQ1VSICE9ICdcJycpKQorCSAgICBORVhUOworCWlmIChDVVIgIT0gJ1wnJykgeworCSAgICBodG1sUGFyc2VFcnIoY3R4dCwgWE1MX0VSUl9MSVRFUkFMX05PVF9GSU5JU0hFRCwKKwkgICAgICAgICAgICAgICAgICJVbmZpbmlzaGVkIFB1YmlkTGl0ZXJhbFxuIiwgTlVMTCwgTlVMTCk7CisJfSBlbHNlIHsKKwkgICAgcmV0ID0geG1sU3RybmR1cChxLCBDVVJfUFRSIC0gcSk7CisJICAgIE5FWFQ7CisJfQorICAgIH0gZWxzZSB7CisJaHRtbFBhcnNlRXJyKGN0eHQsIFhNTF9FUlJfTElURVJBTF9OT1RfU1RBUlRFRCwKKwkgICAgICAgICAgICAgIlB1YmlkTGl0ZXJhbCBcIiBvciAnIGV4cGVjdGVkXG4iLCBOVUxMLCBOVUxMKTsKKyAgICB9CisKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiBodG1sUGFyc2VTY3JpcHQ6CisgKiBAY3R4dDogIGFuIEhUTUwgcGFyc2VyIGNvbnRleHQKKyAqCisgKiBwYXJzZSB0aGUgY29udGVudCBvZiBhbiBIVE1MIFNDUklQVCBvciBTVFlMRSBlbGVtZW50CisgKiBodHRwOi8vd3d3LnczLm9yZy9UUi9odG1sNC9zZ21sL2R0ZC5odG1sI1NjcmlwdAorICogaHR0cDovL3d3dy53My5vcmcvVFIvaHRtbDQvc2dtbC9kdGQuaHRtbCNTdHlsZVNoZWV0CisgKiBodHRwOi8vd3d3LnczLm9yZy9UUi9odG1sNC90eXBlcy5odG1sI3R5cGUtc2NyaXB0CisgKiBodHRwOi8vd3d3LnczLm9yZy9UUi9odG1sNC90eXBlcy5odG1sI2gtNi4xNQorICogaHR0cDovL3d3dy53My5vcmcvVFIvaHRtbDQvYXBwZW5kaXgvbm90ZXMuaHRtbCNoLUIuMy4yLjEKKyAqCisgKiBTY3JpcHQgZGF0YSAoICVTY3JpcHQ7IGluIHRoZSBEVEQpIGNhbiBiZSB0aGUgY29udGVudCBvZiB0aGUgU0NSSVBUCisgKiBlbGVtZW50IGFuZCB0aGUgdmFsdWUgb2YgaW50cmluc2ljIGV2ZW50IGF0dHJpYnV0ZXMuIFVzZXIgYWdlbnRzIG11c3QKKyAqIG5vdCBldmFsdWF0ZSBzY3JpcHQgZGF0YSBhcyBIVE1MIG1hcmt1cCBidXQgaW5zdGVhZCBtdXN0IHBhc3MgaXQgb24gYXMKKyAqIGRhdGEgdG8gYSBzY3JpcHQgZW5naW5lLgorICogTk9URVM6CisgKiAtIFRoZSBjb250ZW50IGlzIHBhc3NlZCBsaWtlIENEQVRBCisgKiAtIHRoZSBhdHRyaWJ1dGVzIGZvciBzdHlsZSBhbmQgc2NyaXB0aW5nICJvblhYWCIgYXJlIGFsc28gZGVzY3JpYmVkCisgKiAgIGFzIENEQVRBIGJ1dCBTR01MIGFsbG93cyBlbnRpdGllcyByZWZlcmVuY2VzIGluIGF0dHJpYnV0ZXMgc28gdGhlaXIKKyAqICAgcHJvY2Vzc2luZyBpcyBpZGVudGljYWwgYXMgb3RoZXIgYXR0cmlidXRlcworICovCitzdGF0aWMgdm9pZAoraHRtbFBhcnNlU2NyaXB0KGh0bWxQYXJzZXJDdHh0UHRyIGN0eHQpIHsKKyAgICB4bWxDaGFyIGJ1ZltIVE1MX1BBUlNFUl9CSUdfQlVGRkVSX1NJWkUgKyA1XTsKKyAgICBpbnQgbmJjaGFyID0gMDsKKyAgICBpbnQgY3VyLGw7CisKKyAgICBTSFJJTks7CisgICAgY3VyID0gQ1VSX0NIQVIobCk7CisgICAgd2hpbGUgKElTX0NIQVJfQ0goY3VyKSkgeworCWlmICgoY3VyID09ICc8JykgJiYgKE5YVCgxKSA9PSAnLycpKSB7CisgICAgICAgICAgICAvKgorICAgICAgICAgICAgICogT25lIHNob3VsZCBicmVhayBoZXJlLCB0aGUgc3BlY2lmaWNhdGlvbiBpcyBjbGVhcjoKKyAgICAgICAgICAgICAqIEF1dGhvcnMgc2hvdWxkIHRoZXJlZm9yZSBlc2NhcGUgIjwvIiB3aXRoaW4gdGhlIGNvbnRlbnQuCisgICAgICAgICAgICAgKiBFc2NhcGUgbWVjaGFuaXNtcyBhcmUgc3BlY2lmaWMgdG8gZWFjaCBzY3JpcHRpbmcgb3IKKyAgICAgICAgICAgICAqIHN0eWxlIHNoZWV0IGxhbmd1YWdlLgorICAgICAgICAgICAgICoKKyAgICAgICAgICAgICAqIEluIHJlY292ZXJ5IG1vZGUsIG9ubHkgYnJlYWsgaWYgZW5kIHRhZyBtYXRjaCB0aGUKKyAgICAgICAgICAgICAqIGN1cnJlbnQgdGFnLCBlZmZlY3RpdmVseSBpZ25vcmluZyBhbGwgdGFncyBpbnNpZGUgdGhlCisgICAgICAgICAgICAgKiBzY3JpcHQvc3R5bGUgYmxvY2sgYW5kIHRyZWF0aW5nIHRoZSBlbnRpcmUgYmxvY2sgYXMKKyAgICAgICAgICAgICAqIENEQVRBLgorICAgICAgICAgICAgICovCisgICAgICAgICAgICBpZiAoY3R4dC0+cmVjb3ZlcnkpIHsKKyAgICAgICAgICAgICAgICBpZiAoeG1sU3RybmNhc2VjbXAoY3R4dC0+bmFtZSwgY3R4dC0+aW5wdXQtPmN1cisyLAorCQkJCSAgIHhtbFN0cmxlbihjdHh0LT5uYW1lKSkgPT0gMCkKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOyAvKiB3aGlsZSAqLworICAgICAgICAgICAgICAgIH0gZWxzZSB7CisJCSAgICBodG1sUGFyc2VFcnIoY3R4dCwgWE1MX0VSUl9UQUdfTkFNRV9NSVNNQVRDSCwKKwkJCQkgIkVsZW1lbnQgJXMgZW1iZWRzIGNsb3NlIHRhZ1xuIiwKKwkJICAgICAgICAgICAgICAgICBjdHh0LT5uYW1lLCBOVUxMKTsKKwkJfQorICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBpZiAoKChOWFQoMikgPj0gJ0EnKSAmJiAoTlhUKDIpIDw9ICdaJykpIHx8CisgICAgICAgICAgICAgICAgICAgICgoTlhUKDIpID49ICdhJykgJiYgKE5YVCgyKSA8PSAneicpKSkKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOyAvKiB3aGlsZSAqLworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKwl9CisJQ09QWV9CVUYobCxidWYsbmJjaGFyLGN1cik7CisJaWYgKG5iY2hhciA+PSBIVE1MX1BBUlNFUl9CSUdfQlVGRkVSX1NJWkUpIHsKKwkgICAgaWYgKGN0eHQtPnNheC0+Y2RhdGFCbG9jayE9IE5VTEwpIHsKKwkJLyoKKwkJICogSW5zZXJ0IGFzIENEQVRBLCB3aGljaCBpcyB0aGUgc2FtZSBhcyBIVE1MX1BSRVNFUlZFX05PREUKKwkJICovCisJCWN0eHQtPnNheC0+Y2RhdGFCbG9jayhjdHh0LT51c2VyRGF0YSwgYnVmLCBuYmNoYXIpOworCSAgICB9IGVsc2UgaWYgKGN0eHQtPnNheC0+Y2hhcmFjdGVycyAhPSBOVUxMKSB7CisJCWN0eHQtPnNheC0+Y2hhcmFjdGVycyhjdHh0LT51c2VyRGF0YSwgYnVmLCBuYmNoYXIpOworCSAgICB9CisJICAgIG5iY2hhciA9IDA7CisJfQorCUdST1c7CisJTkVYVEwobCk7CisJY3VyID0gQ1VSX0NIQVIobCk7CisgICAgfQorCisgICAgaWYgKCghKElTX0NIQVJfQ0goY3VyKSkpICYmICghKChjdXIgPT0gMCkgJiYgKGN0eHQtPnByb2dyZXNzaXZlKSkpKSB7CisgICAgICAgIGh0bWxQYXJzZUVyckludChjdHh0LCBYTUxfRVJSX0lOVkFMSURfQ0hBUiwKKyAgICAgICAgICAgICAgICAgICAgIkludmFsaWQgY2hhciBpbiBDREFUQSAweCVYXG4iLCBjdXIpOworICAgICAgICBpZiAoY3R4dC0+aW5wdXQtPmN1ciA8IGN0eHQtPmlucHV0LT5lbmQpIHsKKyAgICAgICAgICAgIE5FWFQ7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBpZiAoKG5iY2hhciAhPSAwKSAmJiAoY3R4dC0+c2F4ICE9IE5VTEwpICYmICghY3R4dC0+ZGlzYWJsZVNBWCkpIHsKKwlpZiAoY3R4dC0+c2F4LT5jZGF0YUJsb2NrIT0gTlVMTCkgeworCSAgICAvKgorCSAgICAgKiBJbnNlcnQgYXMgQ0RBVEEsIHdoaWNoIGlzIHRoZSBzYW1lIGFzIEhUTUxfUFJFU0VSVkVfTk9ERQorCSAgICAgKi8KKwkgICAgY3R4dC0+c2F4LT5jZGF0YUJsb2NrKGN0eHQtPnVzZXJEYXRhLCBidWYsIG5iY2hhcik7CisJfSBlbHNlIGlmIChjdHh0LT5zYXgtPmNoYXJhY3RlcnMgIT0gTlVMTCkgeworCSAgICBjdHh0LT5zYXgtPmNoYXJhY3RlcnMoY3R4dC0+dXNlckRhdGEsIGJ1ZiwgbmJjaGFyKTsKKwl9CisgICAgfQorfQorCisKKy8qKgorICogaHRtbFBhcnNlQ2hhckRhdGE6CisgKiBAY3R4dDogIGFuIEhUTUwgcGFyc2VyIGNvbnRleHQKKyAqCisgKiBwYXJzZSBhIENoYXJEYXRhIHNlY3Rpb24uCisgKiBpZiB3ZSBhcmUgd2l0aGluIGEgQ0RBVEEgc2VjdGlvbiAnXV0+JyBtYXJrcyBhbiBlbmQgb2Ygc2VjdGlvbi4KKyAqCisgKiBbMTRdIENoYXJEYXRhIDo6PSBbXjwmXSogLSAoW148Jl0qICddXT4nIFtePCZdKikKKyAqLworCitzdGF0aWMgdm9pZAoraHRtbFBhcnNlQ2hhckRhdGEoaHRtbFBhcnNlckN0eHRQdHIgY3R4dCkgeworICAgIHhtbENoYXIgYnVmW0hUTUxfUEFSU0VSX0JJR19CVUZGRVJfU0laRSArIDVdOworICAgIGludCBuYmNoYXIgPSAwOworICAgIGludCBjdXIsIGw7CisgICAgaW50IGNodW5rID0gMDsKKworICAgIFNIUklOSzsKKyAgICBjdXIgPSBDVVJfQ0hBUihsKTsKKyAgICB3aGlsZSAoKChjdXIgIT0gJzwnKSB8fCAoY3R4dC0+dG9rZW4gPT0gJzwnKSkgJiYKKyAgICAgICAgICAgKChjdXIgIT0gJyYnKSB8fCAoY3R4dC0+dG9rZW4gPT0gJyYnKSkgJiYKKwkgICAoY3VyICE9IDApKSB7CisJaWYgKCEoSVNfQ0hBUihjdXIpKSkgeworCSAgICBodG1sUGFyc2VFcnJJbnQoY3R4dCwgWE1MX0VSUl9JTlZBTElEX0NIQVIsCisJICAgICAgICAgICAgICAgICJJbnZhbGlkIGNoYXIgaW4gQ0RBVEEgMHglWFxuIiwgY3VyKTsKKwl9IGVsc2UgeworCSAgICBDT1BZX0JVRihsLGJ1ZixuYmNoYXIsY3VyKTsKKwl9CisJaWYgKG5iY2hhciA+PSBIVE1MX1BBUlNFUl9CSUdfQlVGRkVSX1NJWkUpIHsKKwkgICAgLyoKKwkgICAgICogT2sgdGhlIHNlZ21lbnQgaXMgdG8gYmUgY29uc3VtZWQgYXMgY2hhcnMuCisJICAgICAqLworCSAgICBpZiAoKGN0eHQtPnNheCAhPSBOVUxMKSAmJiAoIWN0eHQtPmRpc2FibGVTQVgpKSB7CisJCWlmIChhcmVCbGFua3MoY3R4dCwgYnVmLCBuYmNoYXIpKSB7CisJCSAgICBpZiAoY3R4dC0+a2VlcEJsYW5rcykgeworCQkJaWYgKGN0eHQtPnNheC0+Y2hhcmFjdGVycyAhPSBOVUxMKQorCQkJICAgIGN0eHQtPnNheC0+Y2hhcmFjdGVycyhjdHh0LT51c2VyRGF0YSwgYnVmLCBuYmNoYXIpOworCQkgICAgfSBlbHNlIHsKKwkJCWlmIChjdHh0LT5zYXgtPmlnbm9yYWJsZVdoaXRlc3BhY2UgIT0gTlVMTCkKKwkJCSAgICBjdHh0LT5zYXgtPmlnbm9yYWJsZVdoaXRlc3BhY2UoY3R4dC0+dXNlckRhdGEsCisJCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZiwgbmJjaGFyKTsKKwkJICAgIH0KKwkJfSBlbHNlIHsKKwkJICAgIGh0bWxDaGVja1BhcmFncmFwaChjdHh0KTsKKwkJICAgIGlmIChjdHh0LT5zYXgtPmNoYXJhY3RlcnMgIT0gTlVMTCkKKwkJCWN0eHQtPnNheC0+Y2hhcmFjdGVycyhjdHh0LT51c2VyRGF0YSwgYnVmLCBuYmNoYXIpOworCQl9CisJICAgIH0KKwkgICAgbmJjaGFyID0gMDsKKwl9CisJTkVYVEwobCk7CisgICAgICAgIGNodW5rKys7CisgICAgICAgIGlmIChjaHVuayA+IEhUTUxfUEFSU0VSX0JVRkZFUl9TSVpFKSB7CisgICAgICAgICAgICBjaHVuayA9IDA7CisgICAgICAgICAgICBTSFJJTks7CisgICAgICAgICAgICBHUk9XOworICAgICAgICB9CisJY3VyID0gQ1VSX0NIQVIobCk7CisJaWYgKGN1ciA9PSAwKSB7CisJICAgIFNIUklOSzsKKwkgICAgR1JPVzsKKwkgICAgY3VyID0gQ1VSX0NIQVIobCk7CisJfQorICAgIH0KKyAgICBpZiAobmJjaGFyICE9IDApIHsKKyAgICAgICAgYnVmW25iY2hhcl0gPSAwOworCisJLyoKKwkgKiBPayB0aGUgc2VnbWVudCBpcyB0byBiZSBjb25zdW1lZCBhcyBjaGFycy4KKwkgKi8KKwlpZiAoKGN0eHQtPnNheCAhPSBOVUxMKSAmJiAoIWN0eHQtPmRpc2FibGVTQVgpKSB7CisJICAgIGlmIChhcmVCbGFua3MoY3R4dCwgYnVmLCBuYmNoYXIpKSB7CisJCWlmIChjdHh0LT5rZWVwQmxhbmtzKSB7CisJCSAgICBpZiAoY3R4dC0+c2F4LT5jaGFyYWN0ZXJzICE9IE5VTEwpCisJCQljdHh0LT5zYXgtPmNoYXJhY3RlcnMoY3R4dC0+dXNlckRhdGEsIGJ1ZiwgbmJjaGFyKTsKKwkJfSBlbHNlIHsKKwkJICAgIGlmIChjdHh0LT5zYXgtPmlnbm9yYWJsZVdoaXRlc3BhY2UgIT0gTlVMTCkKKwkJCWN0eHQtPnNheC0+aWdub3JhYmxlV2hpdGVzcGFjZShjdHh0LT51c2VyRGF0YSwKKwkJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWYsIG5iY2hhcik7CisJCX0KKwkgICAgfSBlbHNlIHsKKwkJaHRtbENoZWNrUGFyYWdyYXBoKGN0eHQpOworCQlpZiAoY3R4dC0+c2F4LT5jaGFyYWN0ZXJzICE9IE5VTEwpCisJCSAgICBjdHh0LT5zYXgtPmNoYXJhY3RlcnMoY3R4dC0+dXNlckRhdGEsIGJ1ZiwgbmJjaGFyKTsKKwkgICAgfQorCX0KKyAgICB9IGVsc2UgeworCS8qCisJICogTG9vcCBkZXRlY3Rpb24KKwkgKi8KKwlpZiAoY3VyID09IDApCisJICAgIGN0eHQtPmluc3RhdGUgPSBYTUxfUEFSU0VSX0VPRjsKKyAgICB9Cit9CisKKy8qKgorICogaHRtbFBhcnNlRXh0ZXJuYWxJRDoKKyAqIEBjdHh0OiAgYW4gSFRNTCBwYXJzZXIgY29udGV4dAorICogQHB1YmxpY0lEOiAgYSB4bWxDaGFyKiogcmVjZWl2aW5nIFB1YmlkTGl0ZXJhbAorICoKKyAqIFBhcnNlIGFuIEV4dGVybmFsIElEIG9yIGEgUHVibGljIElECisgKgorICogWzc1XSBFeHRlcm5hbElEIDo6PSAnU1lTVEVNJyBTIFN5c3RlbUxpdGVyYWwKKyAqICAgICAgICAgICAgICAgICAgIHwgJ1BVQkxJQycgUyBQdWJpZExpdGVyYWwgUyBTeXN0ZW1MaXRlcmFsCisgKgorICogWzgzXSBQdWJsaWNJRCA6Oj0gJ1BVQkxJQycgUyBQdWJpZExpdGVyYWwKKyAqCisgKiBSZXR1cm5zIHRoZSBmdW5jdGlvbiByZXR1cm5zIFN5c3RlbUxpdGVyYWwgYW5kIGluIHRoZSBzZWNvbmQKKyAqICAgICAgICAgICAgICAgIGNhc2UgcHVibGljSUQgcmVjZWl2ZXMgUHViaWRMaXRlcmFsLCBpcyBzdHJpY3QgaXMgb2ZmCisgKiAgICAgICAgICAgICAgICBpdCBpcyBwb3NzaWJsZSB0byByZXR1cm4gTlVMTCBhbmQgaGF2ZSBwdWJsaWNJRCBzZXQuCisgKi8KKworc3RhdGljIHhtbENoYXIgKgoraHRtbFBhcnNlRXh0ZXJuYWxJRChodG1sUGFyc2VyQ3R4dFB0ciBjdHh0LCB4bWxDaGFyICoqcHVibGljSUQpIHsKKyAgICB4bWxDaGFyICpVUkkgPSBOVUxMOworCisgICAgaWYgKChVUFBFUiA9PSAnUycpICYmIChVUFAoMSkgPT0gJ1knKSAmJgorICAgICAgICAgKFVQUCgyKSA9PSAnUycpICYmIChVUFAoMykgPT0gJ1QnKSAmJgorCSAoVVBQKDQpID09ICdFJykgJiYgKFVQUCg1KSA9PSAnTScpKSB7CisgICAgICAgIFNLSVAoNik7CisJaWYgKCFJU19CTEFOS19DSChDVVIpKSB7CisJICAgIGh0bWxQYXJzZUVycihjdHh0LCBYTUxfRVJSX1NQQUNFX1JFUVVJUkVELAorCSAgICAgICAgICAgICAgICAgIlNwYWNlIHJlcXVpcmVkIGFmdGVyICdTWVNURU0nXG4iLCBOVUxMLCBOVUxMKTsKKwl9CisgICAgICAgIFNLSVBfQkxBTktTOworCVVSSSA9IGh0bWxQYXJzZVN5c3RlbUxpdGVyYWwoY3R4dCk7CisJaWYgKFVSSSA9PSBOVUxMKSB7CisJICAgIGh0bWxQYXJzZUVycihjdHh0LCBYTUxfRVJSX1VSSV9SRVFVSVJFRCwKKwkgICAgICAgICAgICAgICAgICJodG1sUGFyc2VFeHRlcm5hbElEOiBTWVNURU0sIG5vIFVSSVxuIiwgTlVMTCwgTlVMTCk7CisgICAgICAgIH0KKyAgICB9IGVsc2UgaWYgKChVUFBFUiA9PSAnUCcpICYmIChVUFAoMSkgPT0gJ1UnKSAmJgorCSAgICAgICAoVVBQKDIpID09ICdCJykgJiYgKFVQUCgzKSA9PSAnTCcpICYmCisJICAgICAgIChVUFAoNCkgPT0gJ0knKSAmJiAoVVBQKDUpID09ICdDJykpIHsKKyAgICAgICAgU0tJUCg2KTsKKwlpZiAoIUlTX0JMQU5LX0NIKENVUikpIHsKKwkgICAgaHRtbFBhcnNlRXJyKGN0eHQsIFhNTF9FUlJfU1BBQ0VfUkVRVUlSRUQsCisJICAgICAgICAgICAgICAgICAiU3BhY2UgcmVxdWlyZWQgYWZ0ZXIgJ1BVQkxJQydcbiIsIE5VTEwsIE5VTEwpOworCX0KKyAgICAgICAgU0tJUF9CTEFOS1M7CisJKnB1YmxpY0lEID0gaHRtbFBhcnNlUHViaWRMaXRlcmFsKGN0eHQpOworCWlmICgqcHVibGljSUQgPT0gTlVMTCkgeworCSAgICBodG1sUGFyc2VFcnIoY3R4dCwgWE1MX0VSUl9QVUJJRF9SRVFVSVJFRCwKKwkgICAgICAgICAgICAgICAgICJodG1sUGFyc2VFeHRlcm5hbElEOiBQVUJMSUMsIG5vIFB1YmxpYyBJZGVudGlmaWVyXG4iLAorCQkJIE5VTEwsIE5VTEwpOworCX0KKyAgICAgICAgU0tJUF9CTEFOS1M7CisgICAgICAgIGlmICgoQ1VSID09ICciJykgfHwgKENVUiA9PSAnXCcnKSkgeworCSAgICBVUkkgPSBodG1sUGFyc2VTeXN0ZW1MaXRlcmFsKGN0eHQpOworCX0KKyAgICB9CisgICAgcmV0dXJuKFVSSSk7Cit9CisKKy8qKgorICogeG1sUGFyc2VQSToKKyAqIEBjdHh0OiAgYW4gWE1MIHBhcnNlciBjb250ZXh0CisgKgorICogcGFyc2UgYW4gWE1MIFByb2Nlc3NpbmcgSW5zdHJ1Y3Rpb24uCisgKgorICogWzE2XSBQSSA6Oj0gJzw/JyBQSVRhcmdldCAoUyAoQ2hhciogLSAoQ2hhciogJz8+JyBDaGFyKikpKT8gJz8+JworICovCitzdGF0aWMgdm9pZAoraHRtbFBhcnNlUEkoaHRtbFBhcnNlckN0eHRQdHIgY3R4dCkgeworICAgIHhtbENoYXIgKmJ1ZiA9IE5VTEw7CisgICAgaW50IGxlbiA9IDA7CisgICAgaW50IHNpemUgPSBIVE1MX1BBUlNFUl9CVUZGRVJfU0laRTsKKyAgICBpbnQgY3VyLCBsOworICAgIGNvbnN0IHhtbENoYXIgKnRhcmdldDsKKyAgICB4bWxQYXJzZXJJbnB1dFN0YXRlIHN0YXRlOworICAgIGludCBjb3VudCA9IDA7CisKKyAgICBpZiAoKFJBVyA9PSAnPCcpICYmIChOWFQoMSkgPT0gJz8nKSkgeworCXN0YXRlID0gY3R4dC0+aW5zdGF0ZTsKKyAgICAgICAgY3R4dC0+aW5zdGF0ZSA9IFhNTF9QQVJTRVJfUEk7CisJLyoKKwkgKiB0aGlzIGlzIGEgUHJvY2Vzc2luZyBJbnN0cnVjdGlvbi4KKwkgKi8KKwlTS0lQKDIpOworCVNIUklOSzsKKworCS8qCisJICogUGFyc2UgdGhlIHRhcmdldCBuYW1lIGFuZCBjaGVjayBmb3Igc3BlY2lhbCBzdXBwb3J0IGxpa2UKKwkgKiBuYW1lc3BhY2UuCisJICovCisgICAgICAgIHRhcmdldCA9IGh0bWxQYXJzZU5hbWUoY3R4dCk7CisJaWYgKHRhcmdldCAhPSBOVUxMKSB7CisJICAgIGlmIChSQVcgPT0gJz4nKSB7CisJCVNLSVAoMSk7CisKKwkJLyoKKwkJICogU0FYOiBQSSBkZXRlY3RlZC4KKwkJICovCisJCWlmICgoY3R4dC0+c2F4KSAmJiAoIWN0eHQtPmRpc2FibGVTQVgpICYmCisJCSAgICAoY3R4dC0+c2F4LT5wcm9jZXNzaW5nSW5zdHJ1Y3Rpb24gIT0gTlVMTCkpCisJCSAgICBjdHh0LT5zYXgtPnByb2Nlc3NpbmdJbnN0cnVjdGlvbihjdHh0LT51c2VyRGF0YSwKKwkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldCwgTlVMTCk7CisJCWN0eHQtPmluc3RhdGUgPSBzdGF0ZTsKKwkJcmV0dXJuOworCSAgICB9CisJICAgIGJ1ZiA9ICh4bWxDaGFyICopIHhtbE1hbGxvY0F0b21pYyhzaXplICogc2l6ZW9mKHhtbENoYXIpKTsKKwkgICAgaWYgKGJ1ZiA9PSBOVUxMKSB7CisJCWh0bWxFcnJNZW1vcnkoY3R4dCwgTlVMTCk7CisJCWN0eHQtPmluc3RhdGUgPSBzdGF0ZTsKKwkJcmV0dXJuOworCSAgICB9CisJICAgIGN1ciA9IENVUjsKKwkgICAgaWYgKCFJU19CTEFOSyhjdXIpKSB7CisJCWh0bWxQYXJzZUVycihjdHh0LCBYTUxfRVJSX1NQQUNFX1JFUVVJUkVELAorCQkJICAiUGFyc2VQSTogUEkgJXMgc3BhY2UgZXhwZWN0ZWRcbiIsIHRhcmdldCwgTlVMTCk7CisJICAgIH0KKyAgICAgICAgICAgIFNLSVBfQkxBTktTOworCSAgICBjdXIgPSBDVVJfQ0hBUihsKTsKKwkgICAgd2hpbGUgKElTX0NIQVIoY3VyKSAmJiAoY3VyICE9ICc+JykpIHsKKwkJaWYgKGxlbiArIDUgPj0gc2l6ZSkgeworCQkgICAgeG1sQ2hhciAqdG1wOworCisJCSAgICBzaXplICo9IDI7CisJCSAgICB0bXAgPSAoeG1sQ2hhciAqKSB4bWxSZWFsbG9jKGJ1Ziwgc2l6ZSAqIHNpemVvZih4bWxDaGFyKSk7CisJCSAgICBpZiAodG1wID09IE5VTEwpIHsKKwkJCWh0bWxFcnJNZW1vcnkoY3R4dCwgTlVMTCk7CisJCQl4bWxGcmVlKGJ1Zik7CisJCQljdHh0LT5pbnN0YXRlID0gc3RhdGU7CisJCQlyZXR1cm47CisJCSAgICB9CisJCSAgICBidWYgPSB0bXA7CisJCX0KKwkJY291bnQrKzsKKwkJaWYgKGNvdW50ID4gNTApIHsKKwkJICAgIEdST1c7CisJCSAgICBjb3VudCA9IDA7CisJCX0KKwkJQ09QWV9CVUYobCxidWYsbGVuLGN1cik7CisJCU5FWFRMKGwpOworCQljdXIgPSBDVVJfQ0hBUihsKTsKKwkJaWYgKGN1ciA9PSAwKSB7CisJCSAgICBTSFJJTks7CisJCSAgICBHUk9XOworCQkgICAgY3VyID0gQ1VSX0NIQVIobCk7CisJCX0KKwkgICAgfQorCSAgICBidWZbbGVuXSA9IDA7CisJICAgIGlmIChjdXIgIT0gJz4nKSB7CisJCWh0bWxQYXJzZUVycihjdHh0LCBYTUxfRVJSX1BJX05PVF9GSU5JU0hFRCwKKwkJICAgICAgIlBhcnNlUEk6IFBJICVzIG5ldmVyIGVuZCAuLi5cbiIsIHRhcmdldCwgTlVMTCk7CisJICAgIH0gZWxzZSB7CisJCVNLSVAoMSk7CisKKwkJLyoKKwkJICogU0FYOiBQSSBkZXRlY3RlZC4KKwkJICovCisJCWlmICgoY3R4dC0+c2F4KSAmJiAoIWN0eHQtPmRpc2FibGVTQVgpICYmCisJCSAgICAoY3R4dC0+c2F4LT5wcm9jZXNzaW5nSW5zdHJ1Y3Rpb24gIT0gTlVMTCkpCisJCSAgICBjdHh0LT5zYXgtPnByb2Nlc3NpbmdJbnN0cnVjdGlvbihjdHh0LT51c2VyRGF0YSwKKwkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldCwgYnVmKTsKKwkgICAgfQorCSAgICB4bWxGcmVlKGJ1Zik7CisJfSBlbHNlIHsKKwkgICAgaHRtbFBhcnNlRXJyKGN0eHQsIFhNTF9FUlJfUElfTk9UX1NUQVJURUQsCisgICAgICAgICAgICAgICAgICAgICAgICAgIlBJIGlzIG5vdCBzdGFydGVkIGNvcnJlY3RseSIsIE5VTEwsIE5VTEwpOworCX0KKwljdHh0LT5pbnN0YXRlID0gc3RhdGU7CisgICAgfQorfQorCisvKioKKyAqIGh0bWxQYXJzZUNvbW1lbnQ6CisgKiBAY3R4dDogIGFuIEhUTUwgcGFyc2VyIGNvbnRleHQKKyAqCisgKiBQYXJzZSBhbiBYTUwgKFNHTUwpIGNvbW1lbnQgPCEtLSAuLi4uIC0tPgorICoKKyAqIFsxNV0gQ29tbWVudCA6Oj0gJzwhLS0nICgoQ2hhciAtICctJykgfCAoJy0nIChDaGFyIC0gJy0nKSkpKiAnLS0+JworICovCitzdGF0aWMgdm9pZAoraHRtbFBhcnNlQ29tbWVudChodG1sUGFyc2VyQ3R4dFB0ciBjdHh0KSB7CisgICAgeG1sQ2hhciAqYnVmID0gTlVMTDsKKyAgICBpbnQgbGVuOworICAgIGludCBzaXplID0gSFRNTF9QQVJTRVJfQlVGRkVSX1NJWkU7CisgICAgaW50IHEsIHFsOworICAgIGludCByLCBybDsKKyAgICBpbnQgY3VyLCBsOworICAgIHhtbFBhcnNlcklucHV0U3RhdGUgc3RhdGU7CisKKyAgICAvKgorICAgICAqIENoZWNrIHRoYXQgdGhlcmUgaXMgYSBjb21tZW50IHJpZ2h0IGhlcmUuCisgICAgICovCisgICAgaWYgKChSQVcgIT0gJzwnKSB8fCAoTlhUKDEpICE9ICchJykgfHwKKyAgICAgICAgKE5YVCgyKSAhPSAnLScpIHx8IChOWFQoMykgIT0gJy0nKSkgcmV0dXJuOworCisgICAgc3RhdGUgPSBjdHh0LT5pbnN0YXRlOworICAgIGN0eHQtPmluc3RhdGUgPSBYTUxfUEFSU0VSX0NPTU1FTlQ7CisgICAgU0hSSU5LOworICAgIFNLSVAoNCk7CisgICAgYnVmID0gKHhtbENoYXIgKikgeG1sTWFsbG9jQXRvbWljKHNpemUgKiBzaXplb2YoeG1sQ2hhcikpOworICAgIGlmIChidWYgPT0gTlVMTCkgeworICAgICAgICBodG1sRXJyTWVtb3J5KGN0eHQsICJidWZmZXIgYWxsb2NhdGlvbiBmYWlsZWRcbiIpOworCWN0eHQtPmluc3RhdGUgPSBzdGF0ZTsKKwlyZXR1cm47CisgICAgfQorICAgIHEgPSBDVVJfQ0hBUihxbCk7CisgICAgTkVYVEwocWwpOworICAgIHIgPSBDVVJfQ0hBUihybCk7CisgICAgTkVYVEwocmwpOworICAgIGN1ciA9IENVUl9DSEFSKGwpOworICAgIGxlbiA9IDA7CisgICAgd2hpbGUgKElTX0NIQVIoY3VyKSAmJgorICAgICAgICAgICAoKGN1ciAhPSAnPicpIHx8CisJICAgIChyICE9ICctJykgfHwgKHEgIT0gJy0nKSkpIHsKKwlpZiAobGVuICsgNSA+PSBzaXplKSB7CisJICAgIHhtbENoYXIgKnRtcDsKKworCSAgICBzaXplICo9IDI7CisJICAgIHRtcCA9ICh4bWxDaGFyICopIHhtbFJlYWxsb2MoYnVmLCBzaXplICogc2l6ZW9mKHhtbENoYXIpKTsKKwkgICAgaWYgKHRtcCA9PSBOVUxMKSB7CisJICAgICAgICB4bWxGcmVlKGJ1Zik7CisJICAgICAgICBodG1sRXJyTWVtb3J5KGN0eHQsICJncm93aW5nIGJ1ZmZlciBmYWlsZWRcbiIpOworCQljdHh0LT5pbnN0YXRlID0gc3RhdGU7CisJCXJldHVybjsKKwkgICAgfQorCSAgICBidWYgPSB0bXA7CisJfQorCUNPUFlfQlVGKHFsLGJ1ZixsZW4scSk7CisJcSA9IHI7CisJcWwgPSBybDsKKwlyID0gY3VyOworCXJsID0gbDsKKwlORVhUTChsKTsKKwljdXIgPSBDVVJfQ0hBUihsKTsKKwlpZiAoY3VyID09IDApIHsKKwkgICAgU0hSSU5LOworCSAgICBHUk9XOworCSAgICBjdXIgPSBDVVJfQ0hBUihsKTsKKwl9CisgICAgfQorICAgIGJ1ZltsZW5dID0gMDsKKyAgICBpZiAoIUlTX0NIQVIoY3VyKSkgeworCWh0bWxQYXJzZUVycihjdHh0LCBYTUxfRVJSX0NPTU1FTlRfTk9UX0ZJTklTSEVELAorCSAgICAgICAgICAgICAiQ29tbWVudCBub3QgdGVybWluYXRlZCBcbjwhLS0lLjUwc1xuIiwgYnVmLCBOVUxMKTsKKwl4bWxGcmVlKGJ1Zik7CisgICAgfSBlbHNlIHsKKyAgICAgICAgTkVYVDsKKwlpZiAoKGN0eHQtPnNheCAhPSBOVUxMKSAmJiAoY3R4dC0+c2F4LT5jb21tZW50ICE9IE5VTEwpICYmCisJICAgICghY3R4dC0+ZGlzYWJsZVNBWCkpCisJICAgIGN0eHQtPnNheC0+Y29tbWVudChjdHh0LT51c2VyRGF0YSwgYnVmKTsKKwl4bWxGcmVlKGJ1Zik7CisgICAgfQorICAgIGN0eHQtPmluc3RhdGUgPSBzdGF0ZTsKK30KKworLyoqCisgKiBodG1sUGFyc2VDaGFyUmVmOgorICogQGN0eHQ6ICBhbiBIVE1MIHBhcnNlciBjb250ZXh0CisgKgorICogcGFyc2UgUmVmZXJlbmNlIGRlY2xhcmF0aW9ucworICoKKyAqIFs2Nl0gQ2hhclJlZiA6Oj0gJyYjJyBbMC05XSsgJzsnIHwKKyAqICAgICAgICAgICAgICAgICAgJyYjeCcgWzAtOWEtZkEtRl0rICc7JworICoKKyAqIFJldHVybnMgdGhlIHZhbHVlIHBhcnNlZCAoYXMgYW4gaW50KQorICovCitpbnQKK2h0bWxQYXJzZUNoYXJSZWYoaHRtbFBhcnNlckN0eHRQdHIgY3R4dCkgeworICAgIGludCB2YWwgPSAwOworCisgICAgaWYgKChjdHh0ID09IE5VTEwpIHx8IChjdHh0LT5pbnB1dCA9PSBOVUxMKSkgeworCWh0bWxQYXJzZUVycihjdHh0LCBYTUxfRVJSX0lOVEVSTkFMX0VSUk9SLAorCQkgICAgICJodG1sUGFyc2VDaGFyUmVmOiBjb250ZXh0IGVycm9yXG4iLAorCQkgICAgIE5VTEwsIE5VTEwpOworICAgICAgICByZXR1cm4oMCk7CisgICAgfQorICAgIGlmICgoQ1VSID09ICcmJykgJiYgKE5YVCgxKSA9PSAnIycpICYmCisgICAgICAgICgoTlhUKDIpID09ICd4JykgfHwgTlhUKDIpID09ICdYJykpIHsKKwlTS0lQKDMpOworCXdoaWxlIChDVVIgIT0gJzsnKSB7CisJICAgIGlmICgoQ1VSID49ICcwJykgJiYgKENVUiA8PSAnOScpKQorCSAgICAgICAgdmFsID0gdmFsICogMTYgKyAoQ1VSIC0gJzAnKTsKKwkgICAgZWxzZSBpZiAoKENVUiA+PSAnYScpICYmIChDVVIgPD0gJ2YnKSkKKwkgICAgICAgIHZhbCA9IHZhbCAqIDE2ICsgKENVUiAtICdhJykgKyAxMDsKKwkgICAgZWxzZSBpZiAoKENVUiA+PSAnQScpICYmIChDVVIgPD0gJ0YnKSkKKwkgICAgICAgIHZhbCA9IHZhbCAqIDE2ICsgKENVUiAtICdBJykgKyAxMDsKKwkgICAgZWxzZSB7CisJICAgICAgICBodG1sUGFyc2VFcnIoY3R4dCwgWE1MX0VSUl9JTlZBTElEX0hFWF9DSEFSUkVGLAorCQkgICAgICAgICAgICAgImh0bWxQYXJzZUNoYXJSZWY6IG1pc3Npbmcgc2VtaWNvbG9uXG4iLAorCQkJICAgICBOVUxMLCBOVUxMKTsKKwkJYnJlYWs7CisJICAgIH0KKwkgICAgTkVYVDsKKwl9CisJaWYgKENVUiA9PSAnOycpCisJICAgIE5FWFQ7CisgICAgfSBlbHNlIGlmICAoKENVUiA9PSAnJicpICYmIChOWFQoMSkgPT0gJyMnKSkgeworCVNLSVAoMik7CisJd2hpbGUgKENVUiAhPSAnOycpIHsKKwkgICAgaWYgKChDVVIgPj0gJzAnKSAmJiAoQ1VSIDw9ICc5JykpCisJICAgICAgICB2YWwgPSB2YWwgKiAxMCArIChDVVIgLSAnMCcpOworCSAgICBlbHNlIHsKKwkgICAgICAgIGh0bWxQYXJzZUVycihjdHh0LCBYTUxfRVJSX0lOVkFMSURfREVDX0NIQVJSRUYsCisJCSAgICAgICAgICAgICAiaHRtbFBhcnNlQ2hhclJlZjogbWlzc2luZyBzZW1pY29sb25cbiIsCisJCQkgICAgIE5VTEwsIE5VTEwpOworCQlicmVhazsKKwkgICAgfQorCSAgICBORVhUOworCX0KKwlpZiAoQ1VSID09ICc7JykKKwkgICAgTkVYVDsKKyAgICB9IGVsc2UgeworCWh0bWxQYXJzZUVycihjdHh0LCBYTUxfRVJSX0lOVkFMSURfQ0hBUlJFRiwKKwkgICAgICAgICAgICAgImh0bWxQYXJzZUNoYXJSZWY6IGludmFsaWQgdmFsdWVcbiIsIE5VTEwsIE5VTEwpOworICAgIH0KKyAgICAvKgorICAgICAqIENoZWNrIHRoZSB2YWx1ZSBJU19DSEFSIC4uLgorICAgICAqLworICAgIGlmIChJU19DSEFSKHZhbCkpIHsKKyAgICAgICAgcmV0dXJuKHZhbCk7CisgICAgfSBlbHNlIHsKKwlodG1sUGFyc2VFcnJJbnQoY3R4dCwgWE1MX0VSUl9JTlZBTElEX0NIQVIsCisJCQkiaHRtbFBhcnNlQ2hhclJlZjogaW52YWxpZCB4bWxDaGFyIHZhbHVlICVkXG4iLAorCQkJdmFsKTsKKyAgICB9CisgICAgcmV0dXJuKDApOworfQorCisKKy8qKgorICogaHRtbFBhcnNlRG9jVHlwZURlY2w6CisgKiBAY3R4dDogIGFuIEhUTUwgcGFyc2VyIGNvbnRleHQKKyAqCisgKiBwYXJzZSBhIERPQ1RZUEUgZGVjbGFyYXRpb24KKyAqCisgKiBbMjhdIGRvY3R5cGVkZWNsIDo6PSAnPCFET0NUWVBFJyBTIE5hbWUgKFMgRXh0ZXJuYWxJRCk/IFM/CisgKiAgICAgICAgICAgICAgICAgICAgICAoJ1snIChtYXJrdXBkZWNsIHwgUEVSZWZlcmVuY2UgfCBTKSogJ10nIFM/KT8gJz4nCisgKi8KKworc3RhdGljIHZvaWQKK2h0bWxQYXJzZURvY1R5cGVEZWNsKGh0bWxQYXJzZXJDdHh0UHRyIGN0eHQpIHsKKyAgICBjb25zdCB4bWxDaGFyICpuYW1lOworICAgIHhtbENoYXIgKkV4dGVybmFsSUQgPSBOVUxMOworICAgIHhtbENoYXIgKlVSSSA9IE5VTEw7CisKKyAgICAvKgorICAgICAqIFdlIGtub3cgdGhhdCAnPCFET0NUWVBFJyBoYXMgYmVlbiBkZXRlY3RlZC4KKyAgICAgKi8KKyAgICBTS0lQKDkpOworCisgICAgU0tJUF9CTEFOS1M7CisKKyAgICAvKgorICAgICAqIFBhcnNlIHRoZSBET0NUWVBFIG5hbWUuCisgICAgICovCisgICAgbmFtZSA9IGh0bWxQYXJzZU5hbWUoY3R4dCk7CisgICAgaWYgKG5hbWUgPT0gTlVMTCkgeworCWh0bWxQYXJzZUVycihjdHh0LCBYTUxfRVJSX05BTUVfUkVRVUlSRUQsCisJICAgICAgICAgICAgICJodG1sUGFyc2VEb2NUeXBlRGVjbCA6IG5vIERPQ1RZUEUgbmFtZSAhXG4iLAorCQkgICAgIE5VTEwsIE5VTEwpOworICAgIH0KKyAgICAvKgorICAgICAqIENoZWNrIHRoYXQgdXBwZXIobmFtZSkgPT0gIkhUTUwiICEhISEhISEhISEhISEKKyAgICAgKi8KKworICAgIFNLSVBfQkxBTktTOworCisgICAgLyoKKyAgICAgKiBDaGVjayBmb3IgU3lzdGVtSUQgYW5kIEV4dGVybmFsSUQKKyAgICAgKi8KKyAgICBVUkkgPSBodG1sUGFyc2VFeHRlcm5hbElEKGN0eHQsICZFeHRlcm5hbElEKTsKKyAgICBTS0lQX0JMQU5LUzsKKworICAgIC8qCisgICAgICogV2Ugc2hvdWxkIGJlIGF0IHRoZSBlbmQgb2YgdGhlIERPQ1RZUEUgZGVjbGFyYXRpb24uCisgICAgICovCisgICAgaWYgKENVUiAhPSAnPicpIHsKKwlodG1sUGFyc2VFcnIoY3R4dCwgWE1MX0VSUl9ET0NUWVBFX05PVF9GSU5JU0hFRCwKKwkgICAgICAgICAgICAgIkRPQ1RZUEUgaW1wcm9wZXJseSB0ZXJtaW5hdGVkXG4iLCBOVUxMLCBOVUxMKTsKKyAgICAgICAgLyogV2Ugc2hvdWxkbid0IHRyeSB0byByZXN5bmNocm9uaXplIC4uLiAqLworICAgIH0KKyAgICBORVhUOworCisgICAgLyoKKyAgICAgKiBDcmVhdGUgb3IgdXBkYXRlIHRoZSBkb2N1bWVudCBhY2NvcmRpbmdseSB0byB0aGUgRE9DVFlQRQorICAgICAqLworICAgIGlmICgoY3R4dC0+c2F4ICE9IE5VTEwpICYmIChjdHh0LT5zYXgtPmludGVybmFsU3Vic2V0ICE9IE5VTEwpICYmCisJKCFjdHh0LT5kaXNhYmxlU0FYKSkKKwljdHh0LT5zYXgtPmludGVybmFsU3Vic2V0KGN0eHQtPnVzZXJEYXRhLCBuYW1lLCBFeHRlcm5hbElELCBVUkkpOworCisgICAgLyoKKyAgICAgKiBDbGVhbnVwLCBzaW5jZSB3ZSBkb24ndCB1c2UgYWxsIHRob3NlIGlkZW50aWZpZXJzCisgICAgICovCisgICAgaWYgKFVSSSAhPSBOVUxMKSB4bWxGcmVlKFVSSSk7CisgICAgaWYgKEV4dGVybmFsSUQgIT0gTlVMTCkgeG1sRnJlZShFeHRlcm5hbElEKTsKK30KKworLyoqCisgKiBodG1sUGFyc2VBdHRyaWJ1dGU6CisgKiBAY3R4dDogIGFuIEhUTUwgcGFyc2VyIGNvbnRleHQKKyAqIEB2YWx1ZTogIGEgeG1sQ2hhciAqKiB1c2VkIHRvIHN0b3JlIHRoZSB2YWx1ZSBvZiB0aGUgYXR0cmlidXRlCisgKgorICogcGFyc2UgYW4gYXR0cmlidXRlCisgKgorICogWzQxXSBBdHRyaWJ1dGUgOjo9IE5hbWUgRXEgQXR0VmFsdWUKKyAqCisgKiBbMjVdIEVxIDo6PSBTPyAnPScgUz8KKyAqCisgKiBXaXRoIG5hbWVzcGFjZToKKyAqCisgKiBbTlMgMTFdIEF0dHJpYnV0ZSA6Oj0gUU5hbWUgRXEgQXR0VmFsdWUKKyAqCisgKiBBbHNvIHRoZSBjYXNlIFFOYW1lID09IHhtbG5zOj8/PyBpcyBoYW5kbGVkIGluZGVwZW5kZW50bHkgYXMgYSBuYW1lc3BhY2UKKyAqIGRlZmluaXRpb24uCisgKgorICogUmV0dXJucyB0aGUgYXR0cmlidXRlIG5hbWUsIGFuZCB0aGUgdmFsdWUgaW4gKnZhbHVlLgorICovCisKK3N0YXRpYyBjb25zdCB4bWxDaGFyICoKK2h0bWxQYXJzZUF0dHJpYnV0ZShodG1sUGFyc2VyQ3R4dFB0ciBjdHh0LCB4bWxDaGFyICoqdmFsdWUpIHsKKyAgICBjb25zdCB4bWxDaGFyICpuYW1lOworICAgIHhtbENoYXIgKnZhbCA9IE5VTEw7CisKKyAgICAqdmFsdWUgPSBOVUxMOworICAgIG5hbWUgPSBodG1sUGFyc2VIVE1MTmFtZShjdHh0KTsKKyAgICBpZiAobmFtZSA9PSBOVUxMKSB7CisJaHRtbFBhcnNlRXJyKGN0eHQsIFhNTF9FUlJfTkFNRV9SRVFVSVJFRCwKKwkgICAgICAgICAgICAgImVycm9yIHBhcnNpbmcgYXR0cmlidXRlIG5hbWVcbiIsIE5VTEwsIE5VTEwpOworICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgfQorCisgICAgLyoKKyAgICAgKiByZWFkIHRoZSB2YWx1ZQorICAgICAqLworICAgIFNLSVBfQkxBTktTOworICAgIGlmIChDVVIgPT0gJz0nKSB7CisgICAgICAgIE5FWFQ7CisJU0tJUF9CTEFOS1M7CisJdmFsID0gaHRtbFBhcnNlQXR0VmFsdWUoY3R4dCk7CisgICAgfQorCisgICAgKnZhbHVlID0gdmFsOworICAgIHJldHVybihuYW1lKTsKK30KKworLyoqCisgKiBodG1sQ2hlY2tFbmNvZGluZ0RpcmVjdDoKKyAqIEBjdHh0OiAgYW4gSFRNTCBwYXJzZXIgY29udGV4dAorICogQGF0dHZhbHVlOiB0aGUgYXR0cmlidXRlIHZhbHVlCisgKgorICogQ2hlY2tzIGFuIGF0dHJpYnV0ZSB2YWx1ZSB0byBkZXRlY3QKKyAqIHRoZSBlbmNvZGluZworICogSWYgYSBuZXcgZW5jb2RpbmcgaXMgZGV0ZWN0ZWQgdGhlIHBhcnNlciBpcyBzd2l0Y2hlZCB0byBkZWNvZGUKKyAqIGl0IGFuZCBwYXNzIFVURjgKKyAqLworc3RhdGljIHZvaWQKK2h0bWxDaGVja0VuY29kaW5nRGlyZWN0KGh0bWxQYXJzZXJDdHh0UHRyIGN0eHQsIGNvbnN0IHhtbENoYXIgKmVuY29kaW5nKSB7CisKKyAgICBpZiAoKGN0eHQgPT0gTlVMTCkgfHwgKGVuY29kaW5nID09IE5VTEwpIHx8CisgICAgICAgIChjdHh0LT5vcHRpb25zICYgSFRNTF9QQVJTRV9JR05PUkVfRU5DKSkKKwlyZXR1cm47CisKKyAgICAvKiBkbyBub3QgY2hhbmdlIGVuY29kaW5nICovCisgICAgaWYgKGN0eHQtPmlucHV0LT5lbmNvZGluZyAhPSBOVUxMKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoZW5jb2RpbmcgIT0gTlVMTCkgeworCXhtbENoYXJFbmNvZGluZyBlbmM7CisJeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0ciBoYW5kbGVyOworCisJd2hpbGUgKCgqZW5jb2RpbmcgPT0gJyAnKSB8fCAoKmVuY29kaW5nID09ICdcdCcpKSBlbmNvZGluZysrOworCisJaWYgKGN0eHQtPmlucHV0LT5lbmNvZGluZyAhPSBOVUxMKQorCSAgICB4bWxGcmVlKCh4bWxDaGFyICopIGN0eHQtPmlucHV0LT5lbmNvZGluZyk7CisJY3R4dC0+aW5wdXQtPmVuY29kaW5nID0geG1sU3RyZHVwKGVuY29kaW5nKTsKKworCWVuYyA9IHhtbFBhcnNlQ2hhckVuY29kaW5nKChjb25zdCBjaGFyICopIGVuY29kaW5nKTsKKwkvKgorCSAqIHJlZ2lzdGVyZWQgc2V0IG9mIGtub3duIGVuY29kaW5ncworCSAqLworCWlmIChlbmMgIT0gWE1MX0NIQVJfRU5DT0RJTkdfRVJST1IpIHsKKwkgICAgaWYgKCgoZW5jID09IFhNTF9DSEFSX0VOQ09ESU5HX1VURjE2TEUpIHx8CisJICAgICAgICAgKGVuYyA9PSBYTUxfQ0hBUl9FTkNPRElOR19VVEYxNkJFKSB8fAorCQkgKGVuYyA9PSBYTUxfQ0hBUl9FTkNPRElOR19VQ1M0TEUpIHx8CisJCSAoZW5jID09IFhNTF9DSEFSX0VOQ09ESU5HX1VDUzRCRSkpICYmCisJCShjdHh0LT5pbnB1dC0+YnVmICE9IE5VTEwpICYmCisJCShjdHh0LT5pbnB1dC0+YnVmLT5lbmNvZGVyID09IE5VTEwpKSB7CisJCWh0bWxQYXJzZUVycihjdHh0LCBYTUxfRVJSX0lOVkFMSURfRU5DT0RJTkcsCisJCSAgICAgICAgICAgICAiaHRtbENoZWNrRW5jb2Rpbmc6IHdyb25nIGVuY29kaW5nIG1ldGFcbiIsCisJCQkgICAgIE5VTEwsIE5VTEwpOworCSAgICB9IGVsc2UgeworCQl4bWxTd2l0Y2hFbmNvZGluZyhjdHh0LCBlbmMpOworCSAgICB9CisJICAgIGN0eHQtPmNoYXJzZXQgPSBYTUxfQ0hBUl9FTkNPRElOR19VVEY4OworCX0gZWxzZSB7CisJICAgIC8qCisJICAgICAqIGZhbGxiYWNrIGZvciB1bmtub3duIGVuY29kaW5ncworCSAgICAgKi8KKwkgICAgaGFuZGxlciA9IHhtbEZpbmRDaGFyRW5jb2RpbmdIYW5kbGVyKChjb25zdCBjaGFyICopIGVuY29kaW5nKTsKKwkgICAgaWYgKGhhbmRsZXIgIT0gTlVMTCkgeworCQl4bWxTd2l0Y2hUb0VuY29kaW5nKGN0eHQsIGhhbmRsZXIpOworCQljdHh0LT5jaGFyc2V0ID0gWE1MX0NIQVJfRU5DT0RJTkdfVVRGODsKKwkgICAgfSBlbHNlIHsKKwkJaHRtbFBhcnNlRXJyKGN0eHQsIFhNTF9FUlJfVU5TVVBQT1JURURfRU5DT0RJTkcsCisJCSAgICAgICAgICAgICAiaHRtbENoZWNrRW5jb2Rpbmc6IHVua25vd24gZW5jb2RpbmcgJXNcbiIsCisJCQkgICAgIGVuY29kaW5nLCBOVUxMKTsKKwkgICAgfQorCX0KKworCWlmICgoY3R4dC0+aW5wdXQtPmJ1ZiAhPSBOVUxMKSAmJgorCSAgICAoY3R4dC0+aW5wdXQtPmJ1Zi0+ZW5jb2RlciAhPSBOVUxMKSAmJgorCSAgICAoY3R4dC0+aW5wdXQtPmJ1Zi0+cmF3ICE9IE5VTEwpICYmCisJICAgIChjdHh0LT5pbnB1dC0+YnVmLT5idWZmZXIgIT0gTlVMTCkpIHsKKwkgICAgaW50IG5iY2hhcnM7CisJICAgIGludCBwcm9jZXNzZWQ7CisKKwkgICAgLyoKKwkgICAgICogY29udmVydCBhcyBtdWNoIGFzIHBvc3NpYmxlIHRvIHRoZSBwYXJzZXIgcmVhZGluZyBidWZmZXIuCisJICAgICAqLworCSAgICBwcm9jZXNzZWQgPSBjdHh0LT5pbnB1dC0+Y3VyIC0gY3R4dC0+aW5wdXQtPmJhc2U7CisJICAgIHhtbEJ1ZlNocmluayhjdHh0LT5pbnB1dC0+YnVmLT5idWZmZXIsIHByb2Nlc3NlZCk7CisJICAgIG5iY2hhcnMgPSB4bWxDaGFyRW5jSW5wdXQoY3R4dC0+aW5wdXQtPmJ1ZiwgMSk7CisJICAgIGlmIChuYmNoYXJzIDwgMCkgeworCQlodG1sUGFyc2VFcnIoY3R4dCwgWE1MX0VSUl9JTlZBTElEX0VOQ09ESU5HLAorCQkgICAgICAgICAgICAgImh0bWxDaGVja0VuY29kaW5nOiBlbmNvZGVyIGVycm9yXG4iLAorCQkJICAgICBOVUxMLCBOVUxMKTsKKwkgICAgfQorICAgICAgICAgICAgeG1sQnVmUmVzZXRJbnB1dChjdHh0LT5pbnB1dC0+YnVmLT5idWZmZXIsIGN0eHQtPmlucHV0KTsKKwl9CisgICAgfQorfQorCisvKioKKyAqIGh0bWxDaGVja0VuY29kaW5nOgorICogQGN0eHQ6ICBhbiBIVE1MIHBhcnNlciBjb250ZXh0CisgKiBAYXR0dmFsdWU6IHRoZSBhdHRyaWJ1dGUgdmFsdWUKKyAqCisgKiBDaGVja3MgYW4gaHR0cC1lcXVpdiBhdHRyaWJ1dGUgZnJvbSBhIE1ldGEgdGFnIHRvIGRldGVjdAorICogdGhlIGVuY29kaW5nCisgKiBJZiBhIG5ldyBlbmNvZGluZyBpcyBkZXRlY3RlZCB0aGUgcGFyc2VyIGlzIHN3aXRjaGVkIHRvIGRlY29kZQorICogaXQgYW5kIHBhc3MgVVRGOAorICovCitzdGF0aWMgdm9pZAoraHRtbENoZWNrRW5jb2RpbmcoaHRtbFBhcnNlckN0eHRQdHIgY3R4dCwgY29uc3QgeG1sQ2hhciAqYXR0dmFsdWUpIHsKKyAgICBjb25zdCB4bWxDaGFyICplbmNvZGluZzsKKworICAgIGlmICghYXR0dmFsdWUpCisJcmV0dXJuOworCisgICAgZW5jb2RpbmcgPSB4bWxTdHJjYXNlc3RyKGF0dHZhbHVlLCBCQURfQ0FTVCJjaGFyc2V0Iik7CisgICAgaWYgKGVuY29kaW5nICE9IE5VTEwpIHsKKwllbmNvZGluZyArPSA3OworICAgIH0KKyAgICAvKgorICAgICAqIHNraXAgYmxhbmsKKyAgICAgKi8KKyAgICBpZiAoZW5jb2RpbmcgJiYgSVNfQkxBTktfQ0goKmVuY29kaW5nKSkKKwllbmNvZGluZyA9IHhtbFN0cmNhc2VzdHIoYXR0dmFsdWUsIEJBRF9DQVNUIj0iKTsKKyAgICBpZiAoZW5jb2RpbmcgJiYgKmVuY29kaW5nID09ICc9JykgeworCWVuY29kaW5nICsrOworCWh0bWxDaGVja0VuY29kaW5nRGlyZWN0KGN0eHQsIGVuY29kaW5nKTsKKyAgICB9Cit9CisKKy8qKgorICogaHRtbENoZWNrTWV0YToKKyAqIEBjdHh0OiAgYW4gSFRNTCBwYXJzZXIgY29udGV4dAorICogQGF0dHM6ICB0aGUgYXR0cmlidXRlcyB2YWx1ZXMKKyAqCisgKiBDaGVja3MgYW4gYXR0cmlidXRlcyBmcm9tIGEgTWV0YSB0YWcKKyAqLworc3RhdGljIHZvaWQKK2h0bWxDaGVja01ldGEoaHRtbFBhcnNlckN0eHRQdHIgY3R4dCwgY29uc3QgeG1sQ2hhciAqKmF0dHMpIHsKKyAgICBpbnQgaTsKKyAgICBjb25zdCB4bWxDaGFyICphdHQsICp2YWx1ZTsKKyAgICBpbnQgaHR0cCA9IDA7CisgICAgY29uc3QgeG1sQ2hhciAqY29udGVudCA9IE5VTEw7CisKKyAgICBpZiAoKGN0eHQgPT0gTlVMTCkgfHwgKGF0dHMgPT0gTlVMTCkpCisJcmV0dXJuOworCisgICAgaSA9IDA7CisgICAgYXR0ID0gYXR0c1tpKytdOworICAgIHdoaWxlIChhdHQgIT0gTlVMTCkgeworCXZhbHVlID0gYXR0c1tpKytdOworCWlmICgodmFsdWUgIT0gTlVMTCkgJiYgKCF4bWxTdHJjYXNlY21wKGF0dCwgQkFEX0NBU1QiaHR0cC1lcXVpdiIpKQorCSAmJiAoIXhtbFN0cmNhc2VjbXAodmFsdWUsIEJBRF9DQVNUIkNvbnRlbnQtVHlwZSIpKSkKKwkgICAgaHR0cCA9IDE7CisJZWxzZSBpZiAoKHZhbHVlICE9IE5VTEwpICYmICgheG1sU3RyY2FzZWNtcChhdHQsIEJBRF9DQVNUImNoYXJzZXQiKSkpCisJICAgIGh0bWxDaGVja0VuY29kaW5nRGlyZWN0KGN0eHQsIHZhbHVlKTsKKwllbHNlIGlmICgodmFsdWUgIT0gTlVMTCkgJiYgKCF4bWxTdHJjYXNlY21wKGF0dCwgQkFEX0NBU1QiY29udGVudCIpKSkKKwkgICAgY29udGVudCA9IHZhbHVlOworCWF0dCA9IGF0dHNbaSsrXTsKKyAgICB9CisgICAgaWYgKChodHRwKSAmJiAoY29udGVudCAhPSBOVUxMKSkKKwlodG1sQ2hlY2tFbmNvZGluZyhjdHh0LCBjb250ZW50KTsKKworfQorCisvKioKKyAqIGh0bWxQYXJzZVN0YXJ0VGFnOgorICogQGN0eHQ6ICBhbiBIVE1MIHBhcnNlciBjb250ZXh0CisgKgorICogcGFyc2UgYSBzdGFydCBvZiB0YWcgZWl0aGVyIGZvciBydWxlIGVsZW1lbnQgb3IKKyAqIEVtcHR5RWxlbWVudC4gSW4gYm90aCBjYXNlIHdlIGRvbid0IHBhcnNlIHRoZSB0YWcgY2xvc2luZyBjaGFycy4KKyAqCisgKiBbNDBdIFNUYWcgOjo9ICc8JyBOYW1lIChTIEF0dHJpYnV0ZSkqIFM/ICc+JworICoKKyAqIFs0NF0gRW1wdHlFbGVtVGFnIDo6PSAnPCcgTmFtZSAoUyBBdHRyaWJ1dGUpKiBTPyAnLz4nCisgKgorICogV2l0aCBuYW1lc3BhY2U6CisgKgorICogW05TIDhdIFNUYWcgOjo9ICc8JyBRTmFtZSAoUyBBdHRyaWJ1dGUpKiBTPyAnPicKKyAqCisgKiBbTlMgMTBdIEVtcHR5RWxlbWVudCA6Oj0gJzwnIFFOYW1lIChTIEF0dHJpYnV0ZSkqIFM/ICcvPicKKyAqCisgKiBSZXR1cm5zIDAgaW4gY2FzZSBvZiBzdWNjZXNzLCAtMSBpbiBjYXNlIG9mIGVycm9yIGFuZCAxIGlmIGRpc2NhcmRlZAorICovCisKK3N0YXRpYyBpbnQKK2h0bWxQYXJzZVN0YXJ0VGFnKGh0bWxQYXJzZXJDdHh0UHRyIGN0eHQpIHsKKyAgICBjb25zdCB4bWxDaGFyICpuYW1lOworICAgIGNvbnN0IHhtbENoYXIgKmF0dG5hbWU7CisgICAgeG1sQ2hhciAqYXR0dmFsdWU7CisgICAgY29uc3QgeG1sQ2hhciAqKmF0dHM7CisgICAgaW50IG5iYXR0cyA9IDA7CisgICAgaW50IG1heGF0dHM7CisgICAgaW50IG1ldGEgPSAwOworICAgIGludCBpOworICAgIGludCBkaXNjYXJkdGFnID0gMDsKKworICAgIGlmICgoY3R4dCA9PSBOVUxMKSB8fCAoY3R4dC0+aW5wdXQgPT0gTlVMTCkpIHsKKwlodG1sUGFyc2VFcnIoY3R4dCwgWE1MX0VSUl9JTlRFUk5BTF9FUlJPUiwKKwkJICAgICAiaHRtbFBhcnNlU3RhcnRUYWc6IGNvbnRleHQgZXJyb3JcbiIsIE5VTEwsIE5VTEwpOworCXJldHVybiAtMTsKKyAgICB9CisgICAgaWYgKGN0eHQtPmluc3RhdGUgPT0gWE1MX1BBUlNFUl9FT0YpCisgICAgICAgIHJldHVybigtMSk7CisgICAgaWYgKENVUiAhPSAnPCcpIHJldHVybiAtMTsKKyAgICBORVhUOworCisgICAgYXR0cyA9IGN0eHQtPmF0dHM7CisgICAgbWF4YXR0cyA9IGN0eHQtPm1heGF0dHM7CisKKyAgICBHUk9XOworICAgIG5hbWUgPSBodG1sUGFyc2VIVE1MTmFtZShjdHh0KTsKKyAgICBpZiAobmFtZSA9PSBOVUxMKSB7CisJaHRtbFBhcnNlRXJyKGN0eHQsIFhNTF9FUlJfTkFNRV9SRVFVSVJFRCwKKwkgICAgICAgICAgICAgImh0bWxQYXJzZVN0YXJ0VGFnOiBpbnZhbGlkIGVsZW1lbnQgbmFtZVxuIiwKKwkJICAgICBOVUxMLCBOVUxMKTsKKwkvKiBEdW1wIHRoZSBib2d1cyB0YWcgbGlrZSBicm93c2VycyBkbyAqLworCXdoaWxlICgoSVNfQ0hBUl9DSChDVVIpKSAmJiAoQ1VSICE9ICc+JykgJiYKKyAgICAgICAgICAgICAgIChjdHh0LT5pbnN0YXRlICE9IFhNTF9QQVJTRVJfRU9GKSkKKwkgICAgTkVYVDsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKyAgICBpZiAoeG1sU3RyRXF1YWwobmFtZSwgQkFEX0NBU1QibWV0YSIpKQorCW1ldGEgPSAxOworCisgICAgLyoKKyAgICAgKiBDaGVjayBmb3IgYXV0by1jbG9zdXJlIG9mIEhUTUwgZWxlbWVudHMuCisgICAgICovCisgICAgaHRtbEF1dG9DbG9zZShjdHh0LCBuYW1lKTsKKworICAgIC8qCisgICAgICogQ2hlY2sgZm9yIGltcGxpZWQgSFRNTCBlbGVtZW50cy4KKyAgICAgKi8KKyAgICBodG1sQ2hlY2tJbXBsaWVkKGN0eHQsIG5hbWUpOworCisgICAgLyoKKyAgICAgKiBBdm9pZCBodG1sIGF0IGFueSBsZXZlbCA+IDAsIGhlYWQgYXQgYW55IGxldmVsICE9IDEKKyAgICAgKiBvciBhbnkgYXR0ZW1wdCB0byByZWN1cnNlIGJvZHkKKyAgICAgKi8KKyAgICBpZiAoKGN0eHQtPm5hbWVOciA+IDApICYmICh4bWxTdHJFcXVhbChuYW1lLCBCQURfQ0FTVCJodG1sIikpKSB7CisJaHRtbFBhcnNlRXJyKGN0eHQsIFhNTF9IVE1MX1NUUlVDVVJFX0VSUk9SLAorCSAgICAgICAgICAgICAiaHRtbFBhcnNlU3RhcnRUYWc6IG1pc3BsYWNlZCA8aHRtbD4gdGFnXG4iLAorCQkgICAgIG5hbWUsIE5VTEwpOworCWRpc2NhcmR0YWcgPSAxOworCWN0eHQtPmRlcHRoKys7CisgICAgfQorICAgIGlmICgoY3R4dC0+bmFtZU5yICE9IDEpICYmCisJKHhtbFN0ckVxdWFsKG5hbWUsIEJBRF9DQVNUImhlYWQiKSkpIHsKKwlodG1sUGFyc2VFcnIoY3R4dCwgWE1MX0hUTUxfU1RSVUNVUkVfRVJST1IsCisJICAgICAgICAgICAgICJodG1sUGFyc2VTdGFydFRhZzogbWlzcGxhY2VkIDxoZWFkPiB0YWdcbiIsCisJCSAgICAgbmFtZSwgTlVMTCk7CisJZGlzY2FyZHRhZyA9IDE7CisJY3R4dC0+ZGVwdGgrKzsKKyAgICB9CisgICAgaWYgKHhtbFN0ckVxdWFsKG5hbWUsIEJBRF9DQVNUImJvZHkiKSkgeworCWludCBpbmR4OworCWZvciAoaW5keCA9IDA7aW5keCA8IGN0eHQtPm5hbWVOcjtpbmR4KyspIHsKKwkgICAgaWYgKHhtbFN0ckVxdWFsKGN0eHQtPm5hbWVUYWJbaW5keF0sIEJBRF9DQVNUImJvZHkiKSkgeworCQlodG1sUGFyc2VFcnIoY3R4dCwgWE1MX0hUTUxfU1RSVUNVUkVfRVJST1IsCisJCSAgICAgICAgICAgICAiaHRtbFBhcnNlU3RhcnRUYWc6IG1pc3BsYWNlZCA8Ym9keT4gdGFnXG4iLAorCQkJICAgICBuYW1lLCBOVUxMKTsKKwkJZGlzY2FyZHRhZyA9IDE7CisJCWN0eHQtPmRlcHRoKys7CisJICAgIH0KKwl9CisgICAgfQorCisgICAgLyoKKyAgICAgKiBOb3cgcGFyc2UgdGhlIGF0dHJpYnV0ZXMsIGl0IGVuZHMgdXAgd2l0aCB0aGUgZW5kaW5nCisgICAgICoKKyAgICAgKiAoUyBBdHRyaWJ1dGUpKiBTPworICAgICAqLworICAgIFNLSVBfQkxBTktTOworICAgIHdoaWxlICgoSVNfQ0hBUl9DSChDVVIpKSAmJgorICAgICAgICAgICAoQ1VSICE9ICc+JykgJiYKKwkgICAoKENVUiAhPSAnLycpIHx8IChOWFQoMSkgIT0gJz4nKSkpIHsKKwlsb25nIGNvbnMgPSBjdHh0LT5uYkNoYXJzOworCisJR1JPVzsKKwlhdHRuYW1lID0gaHRtbFBhcnNlQXR0cmlidXRlKGN0eHQsICZhdHR2YWx1ZSk7CisgICAgICAgIGlmIChhdHRuYW1lICE9IE5VTEwpIHsKKworCSAgICAvKgorCSAgICAgKiBXZWxsIGZvcm1lZG5lc3MgcmVxdWlyZXMgYXQgbW9zdCBvbmUgZGVjbGFyYXRpb24gb2YgYW4gYXR0cmlidXRlCisJICAgICAqLworCSAgICBmb3IgKGkgPSAwOyBpIDwgbmJhdHRzO2kgKz0gMikgeworCSAgICAgICAgaWYgKHhtbFN0ckVxdWFsKGF0dHNbaV0sIGF0dG5hbWUpKSB7CisJCSAgICBodG1sUGFyc2VFcnIoY3R4dCwgWE1MX0VSUl9BVFRSSUJVVEVfUkVERUZJTkVELAorCQkgICAgICAgICAgICAgICAgICJBdHRyaWJ1dGUgJXMgcmVkZWZpbmVkXG4iLCBhdHRuYW1lLCBOVUxMKTsKKwkJICAgIGlmIChhdHR2YWx1ZSAhPSBOVUxMKQorCQkJeG1sRnJlZShhdHR2YWx1ZSk7CisJCSAgICBnb3RvIGZhaWxlZDsKKwkJfQorCSAgICB9CisKKwkgICAgLyoKKwkgICAgICogQWRkIHRoZSBwYWlyIHRvIGF0dHMKKwkgICAgICovCisJICAgIGlmIChhdHRzID09IE5VTEwpIHsKKwkgICAgICAgIG1heGF0dHMgPSAyMjsgLyogYWxsb3cgZm9yIDEwIGF0dHJzIGJ5IGRlZmF1bHQgKi8KKwkgICAgICAgIGF0dHMgPSAoY29uc3QgeG1sQ2hhciAqKikKKwkJICAgICAgIHhtbE1hbGxvYyhtYXhhdHRzICogc2l6ZW9mKHhtbENoYXIgKikpOworCQlpZiAoYXR0cyA9PSBOVUxMKSB7CisJCSAgICBodG1sRXJyTWVtb3J5KGN0eHQsIE5VTEwpOworCQkgICAgaWYgKGF0dHZhbHVlICE9IE5VTEwpCisJCQl4bWxGcmVlKGF0dHZhbHVlKTsKKwkJICAgIGdvdG8gZmFpbGVkOworCQl9CisJCWN0eHQtPmF0dHMgPSBhdHRzOworCQljdHh0LT5tYXhhdHRzID0gbWF4YXR0czsKKwkgICAgfSBlbHNlIGlmIChuYmF0dHMgKyA0ID4gbWF4YXR0cykgeworCSAgICAgICAgY29uc3QgeG1sQ2hhciAqKm47CisKKwkgICAgICAgIG1heGF0dHMgKj0gMjsKKwkgICAgICAgIG4gPSAoY29uc3QgeG1sQ2hhciAqKikgeG1sUmVhbGxvYygodm9pZCAqKSBhdHRzLAorCQkJCQkgICAgIG1heGF0dHMgKiBzaXplb2YoY29uc3QgeG1sQ2hhciAqKSk7CisJCWlmIChuID09IE5VTEwpIHsKKwkJICAgIGh0bWxFcnJNZW1vcnkoY3R4dCwgTlVMTCk7CisJCSAgICBpZiAoYXR0dmFsdWUgIT0gTlVMTCkKKwkJCXhtbEZyZWUoYXR0dmFsdWUpOworCQkgICAgZ290byBmYWlsZWQ7CisJCX0KKwkJYXR0cyA9IG47CisJCWN0eHQtPmF0dHMgPSBhdHRzOworCQljdHh0LT5tYXhhdHRzID0gbWF4YXR0czsKKwkgICAgfQorCSAgICBhdHRzW25iYXR0cysrXSA9IGF0dG5hbWU7CisJICAgIGF0dHNbbmJhdHRzKytdID0gYXR0dmFsdWU7CisJICAgIGF0dHNbbmJhdHRzXSA9IE5VTEw7CisJICAgIGF0dHNbbmJhdHRzICsgMV0gPSBOVUxMOworCX0KKwllbHNlIHsKKwkgICAgaWYgKGF0dHZhbHVlICE9IE5VTEwpCisJICAgICAgICB4bWxGcmVlKGF0dHZhbHVlKTsKKwkgICAgLyogRHVtcCB0aGUgYm9ndXMgYXR0cmlidXRlIHN0cmluZyB1cCB0byB0aGUgbmV4dCBibGFuayBvcgorCSAgICAgKiB0aGUgZW5kIG9mIHRoZSB0YWcuICovCisJICAgIHdoaWxlICgoSVNfQ0hBUl9DSChDVVIpKSAmJgorCSAgICAgICAgICAgIShJU19CTEFOS19DSChDVVIpKSAmJiAoQ1VSICE9ICc+JykgJiYKKwkJICAgKChDVVIgIT0gJy8nKSB8fCAoTlhUKDEpICE9ICc+JykpKQorCQlORVhUOworCX0KKworZmFpbGVkOgorCVNLSVBfQkxBTktTOworICAgICAgICBpZiAoY29ucyA9PSBjdHh0LT5uYkNoYXJzKSB7CisJICAgIGh0bWxQYXJzZUVycihjdHh0LCBYTUxfRVJSX0lOVEVSTkFMX0VSUk9SLAorCSAgICAgICAgICAgICAgICAgImh0bWxQYXJzZVN0YXJ0VGFnOiBwcm9ibGVtIHBhcnNpbmcgYXR0cmlidXRlc1xuIiwKKwkJCSBOVUxMLCBOVUxMKTsKKwkgICAgYnJlYWs7CisJfQorICAgIH0KKworICAgIC8qCisgICAgICogSGFuZGxlIHNwZWNpZmljIGFzc29jaWF0aW9uIHRvIHRoZSBNRVRBIHRhZworICAgICAqLworICAgIGlmIChtZXRhICYmIChuYmF0dHMgIT0gMCkpCisJaHRtbENoZWNrTWV0YShjdHh0LCBhdHRzKTsKKworICAgIC8qCisgICAgICogU0FYOiBTdGFydCBvZiBFbGVtZW50ICEKKyAgICAgKi8KKyAgICBpZiAoIWRpc2NhcmR0YWcpIHsKKwlodG1sbmFtZVB1c2goY3R4dCwgbmFtZSk7CisJaWYgKChjdHh0LT5zYXggIT0gTlVMTCkgJiYgKGN0eHQtPnNheC0+c3RhcnRFbGVtZW50ICE9IE5VTEwpKSB7CisJICAgIGlmIChuYmF0dHMgIT0gMCkKKwkJY3R4dC0+c2F4LT5zdGFydEVsZW1lbnQoY3R4dC0+dXNlckRhdGEsIG5hbWUsIGF0dHMpOworCSAgICBlbHNlCisJCWN0eHQtPnNheC0+c3RhcnRFbGVtZW50KGN0eHQtPnVzZXJEYXRhLCBuYW1lLCBOVUxMKTsKKwl9CisgICAgfQorCisgICAgaWYgKGF0dHMgIT0gTlVMTCkgeworICAgICAgICBmb3IgKGkgPSAxO2kgPCBuYmF0dHM7aSArPSAyKSB7CisJICAgIGlmIChhdHRzW2ldICE9IE5VTEwpCisJCXhtbEZyZWUoKHhtbENoYXIgKikgYXR0c1tpXSk7CisJfQorICAgIH0KKworICAgIHJldHVybihkaXNjYXJkdGFnKTsKK30KKworLyoqCisgKiBodG1sUGFyc2VFbmRUYWc6CisgKiBAY3R4dDogIGFuIEhUTUwgcGFyc2VyIGNvbnRleHQKKyAqCisgKiBwYXJzZSBhbiBlbmQgb2YgdGFnCisgKgorICogWzQyXSBFVGFnIDo6PSAnPC8nIE5hbWUgUz8gJz4nCisgKgorICogV2l0aCBuYW1lc3BhY2UKKyAqCisgKiBbTlMgOV0gRVRhZyA6Oj0gJzwvJyBRTmFtZSBTPyAnPicKKyAqCisgKiBSZXR1cm5zIDEgaWYgdGhlIGN1cnJlbnQgbGV2ZWwgc2hvdWxkIGJlIGNsb3NlZC4KKyAqLworCitzdGF0aWMgaW50CitodG1sUGFyc2VFbmRUYWcoaHRtbFBhcnNlckN0eHRQdHIgY3R4dCkKK3sKKyAgICBjb25zdCB4bWxDaGFyICpuYW1lOworICAgIGNvbnN0IHhtbENoYXIgKm9sZG5hbWU7CisgICAgaW50IGksIHJldDsKKworICAgIGlmICgoQ1VSICE9ICc8JykgfHwgKE5YVCgxKSAhPSAnLycpKSB7CisgICAgICAgIGh0bWxQYXJzZUVycihjdHh0LCBYTUxfRVJSX0xUU0xBU0hfUkVRVUlSRUQsCisJICAgICAgICAgICAgICJodG1sUGFyc2VFbmRUYWc6ICc8Lycgbm90IGZvdW5kXG4iLCBOVUxMLCBOVUxMKTsKKyAgICAgICAgcmV0dXJuICgwKTsKKyAgICB9CisgICAgU0tJUCgyKTsKKworICAgIG5hbWUgPSBodG1sUGFyc2VIVE1MTmFtZShjdHh0KTsKKyAgICBpZiAobmFtZSA9PSBOVUxMKQorICAgICAgICByZXR1cm4gKDApOworICAgIC8qCisgICAgICogV2Ugc2hvdWxkIGRlZmluaXRlbHkgYmUgYXQgdGhlIGVuZGluZyAiUz8gJz4nIiBwYXJ0CisgICAgICovCisgICAgU0tJUF9CTEFOS1M7CisgICAgaWYgKCghSVNfQ0hBUl9DSChDVVIpKSB8fCAoQ1VSICE9ICc+JykpIHsKKyAgICAgICAgaHRtbFBhcnNlRXJyKGN0eHQsIFhNTF9FUlJfR1RfUkVRVUlSRUQsCisJICAgICAgICAgICAgICJFbmQgdGFnIDogZXhwZWN0ZWQgJz4nXG4iLCBOVUxMLCBOVUxMKTsKKwlpZiAoY3R4dC0+cmVjb3ZlcnkpIHsKKwkgICAgLyoKKwkgICAgICogV2UncmUgbm90IGF0IHRoZSBlbmRpbmcgPiAhIQorCSAgICAgKiBFcnJvciwgdW5sZXNzIGluIHJlY292ZXIgbW9kZSB3aGVyZSB3ZSBzZWFyY2ggZm9yd2FyZHMKKwkgICAgICogdW50aWwgd2UgZmluZCBhID4KKwkgICAgICovCisJICAgIHdoaWxlIChDVVIgIT0gJ1wwJyAmJiBDVVIgIT0gJz4nKSBORVhUOworCSAgICBORVhUOworCX0KKyAgICB9IGVsc2UKKyAgICAgICAgTkVYVDsKKworICAgIC8qCisgICAgICogaWYgd2UgaWdub3JlZCBtaXNwbGFjZWQgdGFncyBpbiBodG1sUGFyc2VTdGFydFRhZyBkb24ndCBwb3AgdGhlbQorICAgICAqIG91dCBub3cuCisgICAgICovCisgICAgaWYgKChjdHh0LT5kZXB0aCA+IDApICYmCisgICAgICAgICh4bWxTdHJFcXVhbChuYW1lLCBCQURfQ0FTVCAiaHRtbCIpIHx8CisgICAgICAgICB4bWxTdHJFcXVhbChuYW1lLCBCQURfQ0FTVCAiYm9keSIpIHx8CisJIHhtbFN0ckVxdWFsKG5hbWUsIEJBRF9DQVNUICJoZWFkIikpKSB7CisJY3R4dC0+ZGVwdGgtLTsKKwlyZXR1cm4gKDApOworICAgIH0KKworICAgIC8qCisgICAgICogSWYgdGhlIG5hbWUgcmVhZCBpcyBub3Qgb25lIG9mIHRoZSBlbGVtZW50IGluIHRoZSBwYXJzaW5nIHN0YWNrCisgICAgICogdGhlbiByZXR1cm4sIGl0J3MganVzdCBhbiBlcnJvci4KKyAgICAgKi8KKyAgICBmb3IgKGkgPSAoY3R4dC0+bmFtZU5yIC0gMSk7IGkgPj0gMDsgaS0tKSB7CisgICAgICAgIGlmICh4bWxTdHJFcXVhbChuYW1lLCBjdHh0LT5uYW1lVGFiW2ldKSkKKyAgICAgICAgICAgIGJyZWFrOworICAgIH0KKyAgICBpZiAoaSA8IDApIHsKKyAgICAgICAgaHRtbFBhcnNlRXJyKGN0eHQsIFhNTF9FUlJfVEFHX05BTUVfTUlTTUFUQ0gsCisJICAgICAgICAgICAgICJVbmV4cGVjdGVkIGVuZCB0YWcgOiAlc1xuIiwgbmFtZSwgTlVMTCk7CisgICAgICAgIHJldHVybiAoMCk7CisgICAgfQorCisKKyAgICAvKgorICAgICAqIENoZWNrIGZvciBhdXRvLWNsb3N1cmUgb2YgSFRNTCBlbGVtZW50cy4KKyAgICAgKi8KKworICAgIGh0bWxBdXRvQ2xvc2VPbkNsb3NlKGN0eHQsIG5hbWUpOworCisgICAgLyoKKyAgICAgKiBXZWxsIGZvcm1lZG5lc3MgY29uc3RyYWludHMsIG9wZW5pbmcgYW5kIGNsb3NpbmcgbXVzdCBtYXRjaC4KKyAgICAgKiBXaXRoIHRoZSBleGNlcHRpb24gdGhhdCB0aGUgYXV0b2Nsb3NlIG1heSBoYXZlIHBvcHBlZCBzdHVmZiBvdXQKKyAgICAgKiBvZiB0aGUgc3RhY2suCisgICAgICovCisgICAgaWYgKCF4bWxTdHJFcXVhbChuYW1lLCBjdHh0LT5uYW1lKSkgeworICAgICAgICBpZiAoKGN0eHQtPm5hbWUgIT0gTlVMTCkgJiYgKCF4bWxTdHJFcXVhbChjdHh0LT5uYW1lLCBuYW1lKSkpIHsKKyAgICAgICAgICAgIGh0bWxQYXJzZUVycihjdHh0LCBYTUxfRVJSX1RBR19OQU1FX01JU01BVENILAorCSAgICAgICAgICAgICAgICAgIk9wZW5pbmcgYW5kIGVuZGluZyB0YWcgbWlzbWF0Y2g6ICVzIGFuZCAlc1xuIiwKKwkJCSBuYW1lLCBjdHh0LT5uYW1lKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIC8qCisgICAgICogU0FYOiBFbmQgb2YgVGFnCisgICAgICovCisgICAgb2xkbmFtZSA9IGN0eHQtPm5hbWU7CisgICAgaWYgKChvbGRuYW1lICE9IE5VTEwpICYmICh4bWxTdHJFcXVhbChvbGRuYW1lLCBuYW1lKSkpIHsKKyAgICAgICAgaWYgKChjdHh0LT5zYXggIT0gTlVMTCkgJiYgKGN0eHQtPnNheC0+ZW5kRWxlbWVudCAhPSBOVUxMKSkKKyAgICAgICAgICAgIGN0eHQtPnNheC0+ZW5kRWxlbWVudChjdHh0LT51c2VyRGF0YSwgbmFtZSk7CisJaHRtbE5vZGVJbmZvUG9wKGN0eHQpOworICAgICAgICBodG1sbmFtZVBvcChjdHh0KTsKKyAgICAgICAgcmV0ID0gMTsKKyAgICB9IGVsc2UgeworICAgICAgICByZXQgPSAwOworICAgIH0KKworICAgIHJldHVybiAocmV0KTsKK30KKworCisvKioKKyAqIGh0bWxQYXJzZVJlZmVyZW5jZToKKyAqIEBjdHh0OiAgYW4gSFRNTCBwYXJzZXIgY29udGV4dAorICoKKyAqIHBhcnNlIGFuZCBoYW5kbGUgZW50aXR5IHJlZmVyZW5jZXMgaW4gY29udGVudCwKKyAqIHRoaXMgd2lsbCBlbmQtdXAgaW4gYSBjYWxsIHRvIGNoYXJhY3RlcigpIHNpbmNlIHRoaXMgaXMgZWl0aGVyIGEKKyAqIENoYXJSZWYsIG9yIGEgcHJlZGVmaW5lZCBlbnRpdHkuCisgKi8KK3N0YXRpYyB2b2lkCitodG1sUGFyc2VSZWZlcmVuY2UoaHRtbFBhcnNlckN0eHRQdHIgY3R4dCkgeworICAgIGNvbnN0IGh0bWxFbnRpdHlEZXNjICogZW50OworICAgIHhtbENoYXIgb3V0WzZdOworICAgIGNvbnN0IHhtbENoYXIgKm5hbWU7CisgICAgaWYgKENVUiAhPSAnJicpIHJldHVybjsKKworICAgIGlmIChOWFQoMSkgPT0gJyMnKSB7CisJdW5zaWduZWQgaW50IGM7CisJaW50IGJpdHMsIGkgPSAwOworCisJYyA9IGh0bWxQYXJzZUNoYXJSZWYoY3R4dCk7CisJaWYgKGMgPT0gMCkKKwkgICAgcmV0dXJuOworCisgICAgICAgIGlmICAgICAgKGMgPCAgICAweDgwKSB7IG91dFtpKytdPSBjOyAgICAgICAgICAgICAgICBiaXRzPSAtNjsgfQorICAgICAgICBlbHNlIGlmIChjIDwgICAweDgwMCkgeyBvdXRbaSsrXT0oKGMgPj4gIDYpICYgMHgxRikgfCAweEMwOyAgYml0cz0gIDA7IH0KKyAgICAgICAgZWxzZSBpZiAoYyA8IDB4MTAwMDApIHsgb3V0W2krK109KChjID4+IDEyKSAmIDB4MEYpIHwgMHhFMDsgIGJpdHM9ICA2OyB9CisgICAgICAgIGVsc2UgICAgICAgICAgICAgICAgICB7IG91dFtpKytdPSgoYyA+PiAxOCkgJiAweDA3KSB8IDB4RjA7ICBiaXRzPSAxMjsgfQorCisgICAgICAgIGZvciAoIDsgYml0cyA+PSAwOyBiaXRzLT0gNikgeworICAgICAgICAgICAgb3V0W2krK109ICgoYyA+PiBiaXRzKSAmIDB4M0YpIHwgMHg4MDsKKyAgICAgICAgfQorCW91dFtpXSA9IDA7CisKKwlodG1sQ2hlY2tQYXJhZ3JhcGgoY3R4dCk7CisJaWYgKChjdHh0LT5zYXggIT0gTlVMTCkgJiYgKGN0eHQtPnNheC0+Y2hhcmFjdGVycyAhPSBOVUxMKSkKKwkgICAgY3R4dC0+c2F4LT5jaGFyYWN0ZXJzKGN0eHQtPnVzZXJEYXRhLCBvdXQsIGkpOworICAgIH0gZWxzZSB7CisJZW50ID0gaHRtbFBhcnNlRW50aXR5UmVmKGN0eHQsICZuYW1lKTsKKwlpZiAobmFtZSA9PSBOVUxMKSB7CisJICAgIGh0bWxDaGVja1BhcmFncmFwaChjdHh0KTsKKwkgICAgaWYgKChjdHh0LT5zYXggIT0gTlVMTCkgJiYgKGN0eHQtPnNheC0+Y2hhcmFjdGVycyAhPSBOVUxMKSkKKwkgICAgICAgIGN0eHQtPnNheC0+Y2hhcmFjdGVycyhjdHh0LT51c2VyRGF0YSwgQkFEX0NBU1QgIiYiLCAxKTsKKwkgICAgcmV0dXJuOworCX0KKwlpZiAoKGVudCA9PSBOVUxMKSB8fCAhKGVudC0+dmFsdWUgPiAwKSkgeworCSAgICBodG1sQ2hlY2tQYXJhZ3JhcGgoY3R4dCk7CisJICAgIGlmICgoY3R4dC0+c2F4ICE9IE5VTEwpICYmIChjdHh0LT5zYXgtPmNoYXJhY3RlcnMgIT0gTlVMTCkpIHsKKwkJY3R4dC0+c2F4LT5jaGFyYWN0ZXJzKGN0eHQtPnVzZXJEYXRhLCBCQURfQ0FTVCAiJiIsIDEpOworCQljdHh0LT5zYXgtPmNoYXJhY3RlcnMoY3R4dC0+dXNlckRhdGEsIG5hbWUsIHhtbFN0cmxlbihuYW1lKSk7CisJCS8qIGN0eHQtPnNheC0+Y2hhcmFjdGVycyhjdHh0LT51c2VyRGF0YSwgQkFEX0NBU1QgIjsiLCAxKTsgKi8KKwkgICAgfQorCX0gZWxzZSB7CisJICAgIHVuc2lnbmVkIGludCBjOworCSAgICBpbnQgYml0cywgaSA9IDA7CisKKwkgICAgYyA9IGVudC0+dmFsdWU7CisJICAgIGlmICAgICAgKGMgPCAgICAweDgwKQorCSAgICAgICAgICAgIHsgb3V0W2krK109IGM7ICAgICAgICAgICAgICAgIGJpdHM9IC02OyB9CisJICAgIGVsc2UgaWYgKGMgPCAgIDB4ODAwKQorCSAgICAgICAgICAgIHsgb3V0W2krK109KChjID4+ICA2KSAmIDB4MUYpIHwgMHhDMDsgIGJpdHM9ICAwOyB9CisJICAgIGVsc2UgaWYgKGMgPCAweDEwMDAwKQorCSAgICAgICAgICAgIHsgb3V0W2krK109KChjID4+IDEyKSAmIDB4MEYpIHwgMHhFMDsgIGJpdHM9ICA2OyB9CisJICAgIGVsc2UKKwkgICAgICAgICAgICB7IG91dFtpKytdPSgoYyA+PiAxOCkgJiAweDA3KSB8IDB4RjA7ICBiaXRzPSAxMjsgfQorCisJICAgIGZvciAoIDsgYml0cyA+PSAwOyBiaXRzLT0gNikgeworCQlvdXRbaSsrXT0gKChjID4+IGJpdHMpICYgMHgzRikgfCAweDgwOworCSAgICB9CisJICAgIG91dFtpXSA9IDA7CisKKwkgICAgaHRtbENoZWNrUGFyYWdyYXBoKGN0eHQpOworCSAgICBpZiAoKGN0eHQtPnNheCAhPSBOVUxMKSAmJiAoY3R4dC0+c2F4LT5jaGFyYWN0ZXJzICE9IE5VTEwpKQorCQljdHh0LT5zYXgtPmNoYXJhY3RlcnMoY3R4dC0+dXNlckRhdGEsIG91dCwgaSk7CisJfQorICAgIH0KK30KKworLyoqCisgKiBodG1sUGFyc2VDb250ZW50OgorICogQGN0eHQ6ICBhbiBIVE1MIHBhcnNlciBjb250ZXh0CisgKgorICogUGFyc2UgYSBjb250ZW50OiBjb21tZW50LCBzdWItZWxlbWVudCwgcmVmZXJlbmNlIG9yIHRleHQuCisgKiBLZXB0IGZvciBjb21wYXRpYmlsaXR5IHdpdGggb2xkIGNvZGUKKyAqLworCitzdGF0aWMgdm9pZAoraHRtbFBhcnNlQ29udGVudChodG1sUGFyc2VyQ3R4dFB0ciBjdHh0KSB7CisgICAgeG1sQ2hhciAqY3VycmVudE5vZGU7CisgICAgaW50IGRlcHRoOworICAgIGNvbnN0IHhtbENoYXIgKm5hbWU7CisKKyAgICBjdXJyZW50Tm9kZSA9IHhtbFN0cmR1cChjdHh0LT5uYW1lKTsKKyAgICBkZXB0aCA9IGN0eHQtPm5hbWVOcjsKKyAgICB3aGlsZSAoMSkgeworCWxvbmcgY29ucyA9IGN0eHQtPm5iQ2hhcnM7CisKKyAgICAgICAgR1JPVzsKKworICAgICAgICBpZiAoY3R4dC0+aW5zdGF0ZSA9PSBYTUxfUEFSU0VSX0VPRikKKyAgICAgICAgICAgIGJyZWFrOworCisJLyoKKwkgKiBPdXIgdGFnIG9yIG9uZSBvZiBpdCdzIHBhcmVudCBvciBjaGlsZHJlbiBpcyBlbmRpbmcuCisJICovCisgICAgICAgIGlmICgoQ1VSID09ICc8JykgJiYgKE5YVCgxKSA9PSAnLycpKSB7CisJICAgIGlmIChodG1sUGFyc2VFbmRUYWcoY3R4dCkgJiYKKwkJKChjdXJyZW50Tm9kZSAhPSBOVUxMKSB8fCAoY3R4dC0+bmFtZU5yID09IDApKSkgeworCQlpZiAoY3VycmVudE5vZGUgIT0gTlVMTCkKKwkJICAgIHhtbEZyZWUoY3VycmVudE5vZGUpOworCQlyZXR1cm47CisJICAgIH0KKwkgICAgY29udGludWU7IC8qIHdoaWxlICovCisgICAgICAgIH0KKworCWVsc2UgaWYgKChDVVIgPT0gJzwnKSAmJgorCSAgICAgICAgICgoSVNfQVNDSUlfTEVUVEVSKE5YVCgxKSkpIHx8CisJCSAgKE5YVCgxKSA9PSAnXycpIHx8IChOWFQoMSkgPT0gJzonKSkpIHsKKwkgICAgbmFtZSA9IGh0bWxQYXJzZUhUTUxOYW1lX25vbkludmFzaXZlKGN0eHQpOworCSAgICBpZiAobmFtZSA9PSBOVUxMKSB7CisJICAgICAgICBodG1sUGFyc2VFcnIoY3R4dCwgWE1MX0VSUl9OQU1FX1JFUVVJUkVELAorCQkJICJodG1sUGFyc2VTdGFydFRhZzogaW52YWxpZCBlbGVtZW50IG5hbWVcbiIsCisJCQkgTlVMTCwgTlVMTCk7CisJICAgICAgICAvKiBEdW1wIHRoZSBib2d1cyB0YWcgbGlrZSBicm93c2VycyBkbyAqLworICAgICAgICB3aGlsZSAoKElTX0NIQVJfQ0goQ1VSKSkgJiYgKENVUiAhPSAnPicpKQorCSAgICAgICAgICAgIE5FWFQ7CisKKwkgICAgICAgIGlmIChjdXJyZW50Tm9kZSAhPSBOVUxMKQorCSAgICAgICAgICAgIHhtbEZyZWUoY3VycmVudE5vZGUpOworCSAgICAgICAgcmV0dXJuOworCSAgICB9CisKKwkgICAgaWYgKGN0eHQtPm5hbWUgIT0gTlVMTCkgeworCSAgICAgICAgaWYgKGh0bWxDaGVja0F1dG9DbG9zZShuYW1lLCBjdHh0LT5uYW1lKSA9PSAxKSB7CisJICAgICAgICAgICAgaHRtbEF1dG9DbG9zZShjdHh0LCBuYW1lKTsKKwkgICAgICAgICAgICBjb250aW51ZTsKKwkgICAgICAgIH0KKwkgICAgfQorCX0KKworCS8qCisJICogSGFzIHRoaXMgbm9kZSBiZWVuIHBvcHBlZCBvdXQgZHVyaW5nIHBhcnNpbmcgb2YKKwkgKiB0aGUgbmV4dCBlbGVtZW50CisJICovCisgICAgICAgIGlmICgoY3R4dC0+bmFtZU5yID4gMCkgJiYgKGRlcHRoID49IGN0eHQtPm5hbWVOcikgJiYKKwkgICAgKCF4bWxTdHJFcXVhbChjdXJyZW50Tm9kZSwgY3R4dC0+bmFtZSkpKQorCSAgICAgeworCSAgICBpZiAoY3VycmVudE5vZGUgIT0gTlVMTCkgeG1sRnJlZShjdXJyZW50Tm9kZSk7CisJICAgIHJldHVybjsKKwl9CisKKwlpZiAoKENVUiAhPSAwKSAmJiAoKHhtbFN0ckVxdWFsKGN1cnJlbnROb2RlLCBCQURfQ0FTVCJzY3JpcHQiKSkgfHwKKwkgICAgKHhtbFN0ckVxdWFsKGN1cnJlbnROb2RlLCBCQURfQ0FTVCJzdHlsZSIpKSkpIHsKKwkgICAgLyoKKwkgICAgICogSGFuZGxlIFNDUklQVC9TVFlMRSBzZXBhcmF0ZWx5CisJICAgICAqLworCSAgICBodG1sUGFyc2VTY3JpcHQoY3R4dCk7CisJfSBlbHNlIHsKKwkgICAgLyoKKwkgICAgICogU29tZXRpbWVzIERPQ1RZUEUgYXJyaXZlcyBpbiB0aGUgbWlkZGxlIG9mIHRoZSBkb2N1bWVudAorCSAgICAgKi8KKwkgICAgaWYgKChDVVIgPT0gJzwnKSAmJiAoTlhUKDEpID09ICchJykgJiYKKwkJKFVQUCgyKSA9PSAnRCcpICYmIChVUFAoMykgPT0gJ08nKSAmJgorCQkoVVBQKDQpID09ICdDJykgJiYgKFVQUCg1KSA9PSAnVCcpICYmCisJCShVUFAoNikgPT0gJ1knKSAmJiAoVVBQKDcpID09ICdQJykgJiYKKwkJKFVQUCg4KSA9PSAnRScpKSB7CisJCWh0bWxQYXJzZUVycihjdHh0LCBYTUxfSFRNTF9TVFJVQ1VSRV9FUlJPUiwKKwkJICAgICAgICAgICAgICJNaXNwbGFjZWQgRE9DVFlQRSBkZWNsYXJhdGlvblxuIiwKKwkJCSAgICAgQkFEX0NBU1QgIkRPQ1RZUEUiICwgTlVMTCk7CisJCWh0bWxQYXJzZURvY1R5cGVEZWNsKGN0eHQpOworCSAgICB9CisKKwkgICAgLyoKKwkgICAgICogRmlyc3QgY2FzZSA6ICBhIGNvbW1lbnQKKwkgICAgICovCisJICAgIGlmICgoQ1VSID09ICc8JykgJiYgKE5YVCgxKSA9PSAnIScpICYmCisJCShOWFQoMikgPT0gJy0nKSAmJiAoTlhUKDMpID09ICctJykpIHsKKwkJaHRtbFBhcnNlQ29tbWVudChjdHh0KTsKKwkgICAgfQorCisJICAgIC8qCisJICAgICAqIFNlY29uZCBjYXNlIDogYSBQcm9jZXNzaW5nIEluc3RydWN0aW9uLgorCSAgICAgKi8KKwkgICAgZWxzZSBpZiAoKENVUiA9PSAnPCcpICYmIChOWFQoMSkgPT0gJz8nKSkgeworCQlodG1sUGFyc2VQSShjdHh0KTsKKwkgICAgfQorCisJICAgIC8qCisJICAgICAqIFRoaXJkIGNhc2UgOiAgYSBzdWItZWxlbWVudC4KKwkgICAgICovCisJICAgIGVsc2UgaWYgKENVUiA9PSAnPCcpIHsKKwkJaHRtbFBhcnNlRWxlbWVudChjdHh0KTsKKwkgICAgfQorCisJICAgIC8qCisJICAgICAqIEZvdXJ0aCBjYXNlIDogYSByZWZlcmVuY2UuIElmIGlmIGhhcyBub3QgYmVlbiByZXNvbHZlZCwKKwkgICAgICogICAgcGFyc2luZyByZXR1cm5zIGl0J3MgTmFtZSwgY3JlYXRlIHRoZSBub2RlCisJICAgICAqLworCSAgICBlbHNlIGlmIChDVVIgPT0gJyYnKSB7CisJCWh0bWxQYXJzZVJlZmVyZW5jZShjdHh0KTsKKwkgICAgfQorCisJICAgIC8qCisJICAgICAqIEZpZnRoIGNhc2UgOiBlbmQgb2YgdGhlIHJlc291cmNlCisJICAgICAqLworCSAgICBlbHNlIGlmIChDVVIgPT0gMCkgeworCQlodG1sQXV0b0Nsb3NlT25FbmQoY3R4dCk7CisJCWJyZWFrOworCSAgICB9CisKKwkgICAgLyoKKwkgICAgICogTGFzdCBjYXNlLCB0ZXh0LiBOb3RlIHRoYXQgUmVmZXJlbmNlcyBhcmUgaGFuZGxlZCBkaXJlY3RseS4KKwkgICAgICovCisJICAgIGVsc2UgeworCQlodG1sUGFyc2VDaGFyRGF0YShjdHh0KTsKKwkgICAgfQorCisJICAgIGlmIChjb25zID09IGN0eHQtPm5iQ2hhcnMpIHsKKwkJaWYgKGN0eHQtPm5vZGUgIT0gTlVMTCkgeworCQkgICAgaHRtbFBhcnNlRXJyKGN0eHQsIFhNTF9FUlJfSU5URVJOQUxfRVJST1IsCisJCSAgICAgICAgICAgICAgICAgImRldGVjdGVkIGFuIGVycm9yIGluIGVsZW1lbnQgY29udGVudFxuIiwKKwkJCQkgTlVMTCwgTlVMTCk7CisJCX0KKwkJYnJlYWs7CisJICAgIH0KKwl9CisgICAgICAgIEdST1c7CisgICAgfQorICAgIGlmIChjdXJyZW50Tm9kZSAhPSBOVUxMKSB4bWxGcmVlKGN1cnJlbnROb2RlKTsKK30KKworLyoqCisgKiBodG1sUGFyc2VFbGVtZW50OgorICogQGN0eHQ6ICBhbiBIVE1MIHBhcnNlciBjb250ZXh0CisgKgorICogcGFyc2UgYW4gSFRNTCBlbGVtZW50LCB0aGlzIGlzIGhpZ2hseSByZWN1cnNpdmUKKyAqIHRoaXMgaXMga2VwdCBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIHByZXZpb3VzIGNvZGUgdmVyc2lvbnMKKyAqCisgKiBbMzldIGVsZW1lbnQgOjo9IEVtcHR5RWxlbVRhZyB8IFNUYWcgY29udGVudCBFVGFnCisgKgorICogWzQxXSBBdHRyaWJ1dGUgOjo9IE5hbWUgRXEgQXR0VmFsdWUKKyAqLworCit2b2lkCitodG1sUGFyc2VFbGVtZW50KGh0bWxQYXJzZXJDdHh0UHRyIGN0eHQpIHsKKyAgICBjb25zdCB4bWxDaGFyICpuYW1lOworICAgIHhtbENoYXIgKmN1cnJlbnROb2RlID0gTlVMTDsKKyAgICBjb25zdCBodG1sRWxlbURlc2MgKiBpbmZvOworICAgIGh0bWxQYXJzZXJOb2RlSW5mbyBub2RlX2luZm87CisgICAgaW50IGZhaWxlZDsKKyAgICBpbnQgZGVwdGg7CisgICAgY29uc3QgeG1sQ2hhciAqb2xkcHRyOworCisgICAgaWYgKChjdHh0ID09IE5VTEwpIHx8IChjdHh0LT5pbnB1dCA9PSBOVUxMKSkgeworCWh0bWxQYXJzZUVycihjdHh0LCBYTUxfRVJSX0lOVEVSTkFMX0VSUk9SLAorCQkgICAgICJodG1sUGFyc2VFbGVtZW50OiBjb250ZXh0IGVycm9yXG4iLCBOVUxMLCBOVUxMKTsKKwlyZXR1cm47CisgICAgfQorCisgICAgaWYgKGN0eHQtPmluc3RhdGUgPT0gWE1MX1BBUlNFUl9FT0YpCisgICAgICAgIHJldHVybjsKKworICAgIC8qIENhcHR1cmUgc3RhcnQgcG9zaXRpb24gKi8KKyAgICBpZiAoY3R4dC0+cmVjb3JkX2luZm8pIHsKKyAgICAgICAgbm9kZV9pbmZvLmJlZ2luX3BvcyA9IGN0eHQtPmlucHV0LT5jb25zdW1lZCArCisgICAgICAgICAgICAgICAgICAgICAgICAgIChDVVJfUFRSIC0gY3R4dC0+aW5wdXQtPmJhc2UpOworCW5vZGVfaW5mby5iZWdpbl9saW5lID0gY3R4dC0+aW5wdXQtPmxpbmU7CisgICAgfQorCisgICAgZmFpbGVkID0gaHRtbFBhcnNlU3RhcnRUYWcoY3R4dCk7CisgICAgbmFtZSA9IGN0eHQtPm5hbWU7CisgICAgaWYgKChmYWlsZWQgPT0gLTEpIHx8IChuYW1lID09IE5VTEwpKSB7CisJaWYgKENVUiA9PSAnPicpCisJICAgIE5FWFQ7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvKgorICAgICAqIExvb2t1cCB0aGUgaW5mbyBmb3IgdGhhdCBlbGVtZW50LgorICAgICAqLworICAgIGluZm8gPSBodG1sVGFnTG9va3VwKG5hbWUpOworICAgIGlmIChpbmZvID09IE5VTEwpIHsKKwlodG1sUGFyc2VFcnIoY3R4dCwgWE1MX0hUTUxfVU5LTk9XTl9UQUcsCisJICAgICAgICAgICAgICJUYWcgJXMgaW52YWxpZFxuIiwgbmFtZSwgTlVMTCk7CisgICAgfQorCisgICAgLyoKKyAgICAgKiBDaGVjayBmb3IgYW4gRW1wdHkgRWxlbWVudCBsYWJlbGVkIHRoZSBYTUwvU0dNTCB3YXkKKyAgICAgKi8KKyAgICBpZiAoKENVUiA9PSAnLycpICYmIChOWFQoMSkgPT0gJz4nKSkgeworICAgICAgICBTS0lQKDIpOworCWlmICgoY3R4dC0+c2F4ICE9IE5VTEwpICYmIChjdHh0LT5zYXgtPmVuZEVsZW1lbnQgIT0gTlVMTCkpCisJICAgIGN0eHQtPnNheC0+ZW5kRWxlbWVudChjdHh0LT51c2VyRGF0YSwgbmFtZSk7CisJaHRtbG5hbWVQb3AoY3R4dCk7CisJcmV0dXJuOworICAgIH0KKworICAgIGlmIChDVVIgPT0gJz4nKSB7CisgICAgICAgIE5FWFQ7CisgICAgfSBlbHNlIHsKKwlodG1sUGFyc2VFcnIoY3R4dCwgWE1MX0VSUl9HVF9SRVFVSVJFRCwKKwkgICAgICAgICAgICAgIkNvdWxkbid0IGZpbmQgZW5kIG9mIFN0YXJ0IFRhZyAlc1xuIiwgbmFtZSwgTlVMTCk7CisKKwkvKgorCSAqIGVuZCBvZiBwYXJzaW5nIG9mIHRoaXMgbm9kZS4KKwkgKi8KKwlpZiAoeG1sU3RyRXF1YWwobmFtZSwgY3R4dC0+bmFtZSkpIHsKKwkgICAgbm9kZVBvcChjdHh0KTsKKwkgICAgaHRtbG5hbWVQb3AoY3R4dCk7CisJfQorCisJLyoKKwkgKiBDYXB0dXJlIGVuZCBwb3NpdGlvbiBhbmQgYWRkIG5vZGUKKwkgKi8KKwlpZiAoY3R4dC0+cmVjb3JkX2luZm8pIHsKKwkgICBub2RlX2luZm8uZW5kX3BvcyA9IGN0eHQtPmlucHV0LT5jb25zdW1lZCArCisJCQkgICAgICAoQ1VSX1BUUiAtIGN0eHQtPmlucHV0LT5iYXNlKTsKKwkgICBub2RlX2luZm8uZW5kX2xpbmUgPSBjdHh0LT5pbnB1dC0+bGluZTsKKwkgICBub2RlX2luZm8ubm9kZSA9IGN0eHQtPm5vZGU7CisJICAgeG1sUGFyc2VyQWRkTm9kZUluZm8oY3R4dCwgJm5vZGVfaW5mbyk7CisJfQorCXJldHVybjsKKyAgICB9CisKKyAgICAvKgorICAgICAqIENoZWNrIGZvciBhbiBFbXB0eSBFbGVtZW50IGZyb20gRFREIGRlZmluaXRpb24KKyAgICAgKi8KKyAgICBpZiAoKGluZm8gIT0gTlVMTCkgJiYgKGluZm8tPmVtcHR5KSkgeworCWlmICgoY3R4dC0+c2F4ICE9IE5VTEwpICYmIChjdHh0LT5zYXgtPmVuZEVsZW1lbnQgIT0gTlVMTCkpCisJICAgIGN0eHQtPnNheC0+ZW5kRWxlbWVudChjdHh0LT51c2VyRGF0YSwgbmFtZSk7CisJaHRtbG5hbWVQb3AoY3R4dCk7CisJcmV0dXJuOworICAgIH0KKworICAgIC8qCisgICAgICogUGFyc2UgdGhlIGNvbnRlbnQgb2YgdGhlIGVsZW1lbnQ6CisgICAgICovCisgICAgY3VycmVudE5vZGUgPSB4bWxTdHJkdXAoY3R4dC0+bmFtZSk7CisgICAgZGVwdGggPSBjdHh0LT5uYW1lTnI7CisgICAgd2hpbGUgKElTX0NIQVJfQ0goQ1VSKSkgeworCW9sZHB0ciA9IGN0eHQtPmlucHV0LT5jdXI7CisJaHRtbFBhcnNlQ29udGVudChjdHh0KTsKKwlpZiAob2xkcHRyPT1jdHh0LT5pbnB1dC0+Y3VyKSBicmVhazsKKwlpZiAoY3R4dC0+bmFtZU5yIDwgZGVwdGgpIGJyZWFrOworICAgIH0KKworICAgIC8qCisgICAgICogQ2FwdHVyZSBlbmQgcG9zaXRpb24gYW5kIGFkZCBub2RlCisgICAgICovCisgICAgaWYgKCBjdXJyZW50Tm9kZSAhPSBOVUxMICYmIGN0eHQtPnJlY29yZF9pbmZvICkgeworICAgICAgIG5vZGVfaW5mby5lbmRfcG9zID0gY3R4dC0+aW5wdXQtPmNvbnN1bWVkICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKENVUl9QVFIgLSBjdHh0LT5pbnB1dC0+YmFzZSk7CisgICAgICAgbm9kZV9pbmZvLmVuZF9saW5lID0gY3R4dC0+aW5wdXQtPmxpbmU7CisgICAgICAgbm9kZV9pbmZvLm5vZGUgPSBjdHh0LT5ub2RlOworICAgICAgIHhtbFBhcnNlckFkZE5vZGVJbmZvKGN0eHQsICZub2RlX2luZm8pOworICAgIH0KKyAgICBpZiAoIUlTX0NIQVJfQ0goQ1VSKSkgeworCWh0bWxBdXRvQ2xvc2VPbkVuZChjdHh0KTsKKyAgICB9CisKKyAgICBpZiAoY3VycmVudE5vZGUgIT0gTlVMTCkKKwl4bWxGcmVlKGN1cnJlbnROb2RlKTsKK30KKworc3RhdGljIHZvaWQKK2h0bWxQYXJzZXJGaW5pc2hFbGVtZW50UGFyc2luZyhodG1sUGFyc2VyQ3R4dFB0ciBjdHh0KSB7CisgICAgLyoKKyAgICAgKiBDYXB0dXJlIGVuZCBwb3NpdGlvbiBhbmQgYWRkIG5vZGUKKyAgICAgKi8KKyAgICBpZiAoIGN0eHQtPm5vZGUgIT0gTlVMTCAmJiBjdHh0LT5yZWNvcmRfaW5mbyApIHsKKyAgICAgICBjdHh0LT5ub2RlSW5mby0+ZW5kX3BvcyA9IGN0eHQtPmlucHV0LT5jb25zdW1lZCArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChDVVJfUFRSIC0gY3R4dC0+aW5wdXQtPmJhc2UpOworICAgICAgIGN0eHQtPm5vZGVJbmZvLT5lbmRfbGluZSA9IGN0eHQtPmlucHV0LT5saW5lOworICAgICAgIGN0eHQtPm5vZGVJbmZvLT5ub2RlID0gY3R4dC0+bm9kZTsKKyAgICAgICB4bWxQYXJzZXJBZGROb2RlSW5mbyhjdHh0LCBjdHh0LT5ub2RlSW5mbyk7CisgICAgICAgaHRtbE5vZGVJbmZvUG9wKGN0eHQpOworICAgIH0KKyAgICBpZiAoIUlTX0NIQVJfQ0goQ1VSKSkgeworICAgICAgIGh0bWxBdXRvQ2xvc2VPbkVuZChjdHh0KTsKKyAgICB9Cit9CisKKy8qKgorICogaHRtbFBhcnNlRWxlbWVudEludGVybmFsOgorICogQGN0eHQ6ICBhbiBIVE1MIHBhcnNlciBjb250ZXh0CisgKgorICogcGFyc2UgYW4gSFRNTCBlbGVtZW50LCBuZXcgdmVyc2lvbiwgbm9uIHJlY3Vyc2l2ZQorICoKKyAqIFszOV0gZWxlbWVudCA6Oj0gRW1wdHlFbGVtVGFnIHwgU1RhZyBjb250ZW50IEVUYWcKKyAqCisgKiBbNDFdIEF0dHJpYnV0ZSA6Oj0gTmFtZSBFcSBBdHRWYWx1ZQorICovCisKK3N0YXRpYyB2b2lkCitodG1sUGFyc2VFbGVtZW50SW50ZXJuYWwoaHRtbFBhcnNlckN0eHRQdHIgY3R4dCkgeworICAgIGNvbnN0IHhtbENoYXIgKm5hbWU7CisgICAgY29uc3QgaHRtbEVsZW1EZXNjICogaW5mbzsKKyAgICBodG1sUGFyc2VyTm9kZUluZm8gbm9kZV9pbmZvID0geyAwLCB9OworICAgIGludCBmYWlsZWQ7CisKKyAgICBpZiAoKGN0eHQgPT0gTlVMTCkgfHwgKGN0eHQtPmlucHV0ID09IE5VTEwpKSB7CisJaHRtbFBhcnNlRXJyKGN0eHQsIFhNTF9FUlJfSU5URVJOQUxfRVJST1IsCisJCSAgICAgImh0bWxQYXJzZUVsZW1lbnRJbnRlcm5hbDogY29udGV4dCBlcnJvclxuIiwgTlVMTCwgTlVMTCk7CisJcmV0dXJuOworICAgIH0KKworICAgIGlmIChjdHh0LT5pbnN0YXRlID09IFhNTF9QQVJTRVJfRU9GKQorICAgICAgICByZXR1cm47CisKKyAgICAvKiBDYXB0dXJlIHN0YXJ0IHBvc2l0aW9uICovCisgICAgaWYgKGN0eHQtPnJlY29yZF9pbmZvKSB7CisgICAgICAgIG5vZGVfaW5mby5iZWdpbl9wb3MgPSBjdHh0LT5pbnB1dC0+Y29uc3VtZWQgKworICAgICAgICAgICAgICAgICAgICAgICAgICAoQ1VSX1BUUiAtIGN0eHQtPmlucHV0LT5iYXNlKTsKKwlub2RlX2luZm8uYmVnaW5fbGluZSA9IGN0eHQtPmlucHV0LT5saW5lOworICAgIH0KKworICAgIGZhaWxlZCA9IGh0bWxQYXJzZVN0YXJ0VGFnKGN0eHQpOworICAgIG5hbWUgPSBjdHh0LT5uYW1lOworICAgIGlmICgoZmFpbGVkID09IC0xKSB8fCAobmFtZSA9PSBOVUxMKSkgeworCWlmIChDVVIgPT0gJz4nKQorCSAgICBORVhUOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgLyoKKyAgICAgKiBMb29rdXAgdGhlIGluZm8gZm9yIHRoYXQgZWxlbWVudC4KKyAgICAgKi8KKyAgICBpbmZvID0gaHRtbFRhZ0xvb2t1cChuYW1lKTsKKyAgICBpZiAoaW5mbyA9PSBOVUxMKSB7CisJaHRtbFBhcnNlRXJyKGN0eHQsIFhNTF9IVE1MX1VOS05PV05fVEFHLAorCSAgICAgICAgICAgICAiVGFnICVzIGludmFsaWRcbiIsIG5hbWUsIE5VTEwpOworICAgIH0KKworICAgIC8qCisgICAgICogQ2hlY2sgZm9yIGFuIEVtcHR5IEVsZW1lbnQgbGFiZWxlZCB0aGUgWE1ML1NHTUwgd2F5CisgICAgICovCisgICAgaWYgKChDVVIgPT0gJy8nKSAmJiAoTlhUKDEpID09ICc+JykpIHsKKyAgICAgICAgU0tJUCgyKTsKKwlpZiAoKGN0eHQtPnNheCAhPSBOVUxMKSAmJiAoY3R4dC0+c2F4LT5lbmRFbGVtZW50ICE9IE5VTEwpKQorCSAgICBjdHh0LT5zYXgtPmVuZEVsZW1lbnQoY3R4dC0+dXNlckRhdGEsIG5hbWUpOworCWh0bWxuYW1lUG9wKGN0eHQpOworCXJldHVybjsKKyAgICB9CisKKyAgICBpZiAoQ1VSID09ICc+JykgeworICAgICAgICBORVhUOworICAgIH0gZWxzZSB7CisJaHRtbFBhcnNlRXJyKGN0eHQsIFhNTF9FUlJfR1RfUkVRVUlSRUQsCisJICAgICAgICAgICAgICJDb3VsZG4ndCBmaW5kIGVuZCBvZiBTdGFydCBUYWcgJXNcbiIsIG5hbWUsIE5VTEwpOworCisJLyoKKwkgKiBlbmQgb2YgcGFyc2luZyBvZiB0aGlzIG5vZGUuCisJICovCisJaWYgKHhtbFN0ckVxdWFsKG5hbWUsIGN0eHQtPm5hbWUpKSB7CisJICAgIG5vZGVQb3AoY3R4dCk7CisJICAgIGh0bWxuYW1lUG9wKGN0eHQpOworCX0KKworICAgICAgICBpZiAoY3R4dC0+cmVjb3JkX2luZm8pCisgICAgICAgICAgICBodG1sTm9kZUluZm9QdXNoKGN0eHQsICZub2RlX2luZm8pOworICAgICAgICBodG1sUGFyc2VyRmluaXNoRWxlbWVudFBhcnNpbmcoY3R4dCk7CisJcmV0dXJuOworICAgIH0KKworICAgIC8qCisgICAgICogQ2hlY2sgZm9yIGFuIEVtcHR5IEVsZW1lbnQgZnJvbSBEVEQgZGVmaW5pdGlvbgorICAgICAqLworICAgIGlmICgoaW5mbyAhPSBOVUxMKSAmJiAoaW5mby0+ZW1wdHkpKSB7CisJaWYgKChjdHh0LT5zYXggIT0gTlVMTCkgJiYgKGN0eHQtPnNheC0+ZW5kRWxlbWVudCAhPSBOVUxMKSkKKwkgICAgY3R4dC0+c2F4LT5lbmRFbGVtZW50KGN0eHQtPnVzZXJEYXRhLCBuYW1lKTsKKwlodG1sbmFtZVBvcChjdHh0KTsKKwlyZXR1cm47CisgICAgfQorCisgICAgaWYgKGN0eHQtPnJlY29yZF9pbmZvKQorICAgICAgICBodG1sTm9kZUluZm9QdXNoKGN0eHQsICZub2RlX2luZm8pOworfQorCisvKioKKyAqIGh0bWxQYXJzZUNvbnRlbnRJbnRlcm5hbDoKKyAqIEBjdHh0OiAgYW4gSFRNTCBwYXJzZXIgY29udGV4dAorICoKKyAqIFBhcnNlIGEgY29udGVudDogY29tbWVudCwgc3ViLWVsZW1lbnQsIHJlZmVyZW5jZSBvciB0ZXh0LgorICogTmV3IHZlcnNpb24gZm9yIG5vbiByZWN1cnNpdmUgaHRtbFBhcnNlRWxlbWVudEludGVybmFsCisgKi8KKworc3RhdGljIHZvaWQKK2h0bWxQYXJzZUNvbnRlbnRJbnRlcm5hbChodG1sUGFyc2VyQ3R4dFB0ciBjdHh0KSB7CisgICAgeG1sQ2hhciAqY3VycmVudE5vZGU7CisgICAgaW50IGRlcHRoOworICAgIGNvbnN0IHhtbENoYXIgKm5hbWU7CisKKyAgICBjdXJyZW50Tm9kZSA9IHhtbFN0cmR1cChjdHh0LT5uYW1lKTsKKyAgICBkZXB0aCA9IGN0eHQtPm5hbWVOcjsKKyAgICB3aGlsZSAoMSkgeworCWxvbmcgY29ucyA9IGN0eHQtPm5iQ2hhcnM7CisKKyAgICAgICAgR1JPVzsKKworICAgICAgICBpZiAoY3R4dC0+aW5zdGF0ZSA9PSBYTUxfUEFSU0VSX0VPRikKKyAgICAgICAgICAgIGJyZWFrOworCisJLyoKKwkgKiBPdXIgdGFnIG9yIG9uZSBvZiBpdCdzIHBhcmVudCBvciBjaGlsZHJlbiBpcyBlbmRpbmcuCisJICovCisgICAgICAgIGlmICgoQ1VSID09ICc8JykgJiYgKE5YVCgxKSA9PSAnLycpKSB7CisJICAgIGlmIChodG1sUGFyc2VFbmRUYWcoY3R4dCkgJiYKKwkJKChjdXJyZW50Tm9kZSAhPSBOVUxMKSB8fCAoY3R4dC0+bmFtZU5yID09IDApKSkgeworCQlpZiAoY3VycmVudE5vZGUgIT0gTlVMTCkKKwkJICAgIHhtbEZyZWUoY3VycmVudE5vZGUpOworCisJICAgICAgICBjdXJyZW50Tm9kZSA9IHhtbFN0cmR1cChjdHh0LT5uYW1lKTsKKwkgICAgICAgIGRlcHRoID0gY3R4dC0+bmFtZU5yOworCSAgICB9CisJICAgIGNvbnRpbnVlOyAvKiB3aGlsZSAqLworICAgICAgICB9CisKKwllbHNlIGlmICgoQ1VSID09ICc8JykgJiYKKwkgICAgICAgICAoKElTX0FTQ0lJX0xFVFRFUihOWFQoMSkpKSB8fAorCQkgIChOWFQoMSkgPT0gJ18nKSB8fCAoTlhUKDEpID09ICc6JykpKSB7CisJICAgIG5hbWUgPSBodG1sUGFyc2VIVE1MTmFtZV9ub25JbnZhc2l2ZShjdHh0KTsKKwkgICAgaWYgKG5hbWUgPT0gTlVMTCkgeworCSAgICAgICAgaHRtbFBhcnNlRXJyKGN0eHQsIFhNTF9FUlJfTkFNRV9SRVFVSVJFRCwKKwkJCSAiaHRtbFBhcnNlU3RhcnRUYWc6IGludmFsaWQgZWxlbWVudCBuYW1lXG4iLAorCQkJIE5VTEwsIE5VTEwpOworCSAgICAgICAgLyogRHVtcCB0aGUgYm9ndXMgdGFnIGxpa2UgYnJvd3NlcnMgZG8gKi8KKwkgICAgICAgIHdoaWxlICgoSVNfQ0hBUl9DSChDVVIpKSAmJiAoQ1VSICE9ICc+JykpCisJICAgICAgICAgICAgTkVYVDsKKworCSAgICAgICAgaHRtbFBhcnNlckZpbmlzaEVsZW1lbnRQYXJzaW5nKGN0eHQpOworCSAgICAgICAgaWYgKGN1cnJlbnROb2RlICE9IE5VTEwpCisJICAgICAgICAgICAgeG1sRnJlZShjdXJyZW50Tm9kZSk7CisKKwkgICAgICAgIGN1cnJlbnROb2RlID0geG1sU3RyZHVwKGN0eHQtPm5hbWUpOworCSAgICAgICAgZGVwdGggPSBjdHh0LT5uYW1lTnI7CisJICAgICAgICBjb250aW51ZTsKKwkgICAgfQorCisJICAgIGlmIChjdHh0LT5uYW1lICE9IE5VTEwpIHsKKwkgICAgICAgIGlmIChodG1sQ2hlY2tBdXRvQ2xvc2UobmFtZSwgY3R4dC0+bmFtZSkgPT0gMSkgeworCSAgICAgICAgICAgIGh0bWxBdXRvQ2xvc2UoY3R4dCwgbmFtZSk7CisJICAgICAgICAgICAgY29udGludWU7CisJICAgICAgICB9CisJICAgIH0KKwl9CisKKwkvKgorCSAqIEhhcyB0aGlzIG5vZGUgYmVlbiBwb3BwZWQgb3V0IGR1cmluZyBwYXJzaW5nIG9mCisJICogdGhlIG5leHQgZWxlbWVudAorCSAqLworICAgICAgICBpZiAoKGN0eHQtPm5hbWVOciA+IDApICYmIChkZXB0aCA+PSBjdHh0LT5uYW1lTnIpICYmCisJICAgICgheG1sU3RyRXF1YWwoY3VycmVudE5vZGUsIGN0eHQtPm5hbWUpKSkKKwkgICAgIHsKKwkgICAgaHRtbFBhcnNlckZpbmlzaEVsZW1lbnRQYXJzaW5nKGN0eHQpOworCSAgICBpZiAoY3VycmVudE5vZGUgIT0gTlVMTCkgeG1sRnJlZShjdXJyZW50Tm9kZSk7CisKKwkgICAgY3VycmVudE5vZGUgPSB4bWxTdHJkdXAoY3R4dC0+bmFtZSk7CisJICAgIGRlcHRoID0gY3R4dC0+bmFtZU5yOworCSAgICBjb250aW51ZTsKKwl9CisKKwlpZiAoKENVUiAhPSAwKSAmJiAoKHhtbFN0ckVxdWFsKGN1cnJlbnROb2RlLCBCQURfQ0FTVCJzY3JpcHQiKSkgfHwKKwkgICAgKHhtbFN0ckVxdWFsKGN1cnJlbnROb2RlLCBCQURfQ0FTVCJzdHlsZSIpKSkpIHsKKwkgICAgLyoKKwkgICAgICogSGFuZGxlIFNDUklQVC9TVFlMRSBzZXBhcmF0ZWx5CisJICAgICAqLworCSAgICBodG1sUGFyc2VTY3JpcHQoY3R4dCk7CisJfSBlbHNlIHsKKwkgICAgLyoKKwkgICAgICogU29tZXRpbWVzIERPQ1RZUEUgYXJyaXZlcyBpbiB0aGUgbWlkZGxlIG9mIHRoZSBkb2N1bWVudAorCSAgICAgKi8KKwkgICAgaWYgKChDVVIgPT0gJzwnKSAmJiAoTlhUKDEpID09ICchJykgJiYKKwkJKFVQUCgyKSA9PSAnRCcpICYmIChVUFAoMykgPT0gJ08nKSAmJgorCQkoVVBQKDQpID09ICdDJykgJiYgKFVQUCg1KSA9PSAnVCcpICYmCisJCShVUFAoNikgPT0gJ1knKSAmJiAoVVBQKDcpID09ICdQJykgJiYKKwkJKFVQUCg4KSA9PSAnRScpKSB7CisJCWh0bWxQYXJzZUVycihjdHh0LCBYTUxfSFRNTF9TVFJVQ1VSRV9FUlJPUiwKKwkJICAgICAgICAgICAgICJNaXNwbGFjZWQgRE9DVFlQRSBkZWNsYXJhdGlvblxuIiwKKwkJCSAgICAgQkFEX0NBU1QgIkRPQ1RZUEUiICwgTlVMTCk7CisJCWh0bWxQYXJzZURvY1R5cGVEZWNsKGN0eHQpOworCSAgICB9CisKKwkgICAgLyoKKwkgICAgICogRmlyc3QgY2FzZSA6ICBhIGNvbW1lbnQKKwkgICAgICovCisJICAgIGlmICgoQ1VSID09ICc8JykgJiYgKE5YVCgxKSA9PSAnIScpICYmCisJCShOWFQoMikgPT0gJy0nKSAmJiAoTlhUKDMpID09ICctJykpIHsKKwkJaHRtbFBhcnNlQ29tbWVudChjdHh0KTsKKwkgICAgfQorCisJICAgIC8qCisJICAgICAqIFNlY29uZCBjYXNlIDogYSBQcm9jZXNzaW5nIEluc3RydWN0aW9uLgorCSAgICAgKi8KKwkgICAgZWxzZSBpZiAoKENVUiA9PSAnPCcpICYmIChOWFQoMSkgPT0gJz8nKSkgeworCQlodG1sUGFyc2VQSShjdHh0KTsKKwkgICAgfQorCisJICAgIC8qCisJICAgICAqIFRoaXJkIGNhc2UgOiAgYSBzdWItZWxlbWVudC4KKwkgICAgICovCisJICAgIGVsc2UgaWYgKENVUiA9PSAnPCcpIHsKKwkJaHRtbFBhcnNlRWxlbWVudEludGVybmFsKGN0eHQpOworCQlpZiAoY3VycmVudE5vZGUgIT0gTlVMTCkgeG1sRnJlZShjdXJyZW50Tm9kZSk7CisKKwkJY3VycmVudE5vZGUgPSB4bWxTdHJkdXAoY3R4dC0+bmFtZSk7CisJCWRlcHRoID0gY3R4dC0+bmFtZU5yOworCSAgICB9CisKKwkgICAgLyoKKwkgICAgICogRm91cnRoIGNhc2UgOiBhIHJlZmVyZW5jZS4gSWYgaWYgaGFzIG5vdCBiZWVuIHJlc29sdmVkLAorCSAgICAgKiAgICBwYXJzaW5nIHJldHVybnMgaXQncyBOYW1lLCBjcmVhdGUgdGhlIG5vZGUKKwkgICAgICovCisJICAgIGVsc2UgaWYgKENVUiA9PSAnJicpIHsKKwkJaHRtbFBhcnNlUmVmZXJlbmNlKGN0eHQpOworCSAgICB9CisKKwkgICAgLyoKKwkgICAgICogRmlmdGggY2FzZSA6IGVuZCBvZiB0aGUgcmVzb3VyY2UKKwkgICAgICovCisJICAgIGVsc2UgaWYgKENVUiA9PSAwKSB7CisJCWh0bWxBdXRvQ2xvc2VPbkVuZChjdHh0KTsKKwkJYnJlYWs7CisJICAgIH0KKworCSAgICAvKgorCSAgICAgKiBMYXN0IGNhc2UsIHRleHQuIE5vdGUgdGhhdCBSZWZlcmVuY2VzIGFyZSBoYW5kbGVkIGRpcmVjdGx5LgorCSAgICAgKi8KKwkgICAgZWxzZSB7CisJCWh0bWxQYXJzZUNoYXJEYXRhKGN0eHQpOworCSAgICB9CisKKwkgICAgaWYgKGNvbnMgPT0gY3R4dC0+bmJDaGFycykgeworCQlpZiAoY3R4dC0+bm9kZSAhPSBOVUxMKSB7CisJCSAgICBodG1sUGFyc2VFcnIoY3R4dCwgWE1MX0VSUl9JTlRFUk5BTF9FUlJPUiwKKwkJICAgICAgICAgICAgICAgICAiZGV0ZWN0ZWQgYW4gZXJyb3IgaW4gZWxlbWVudCBjb250ZW50XG4iLAorCQkJCSBOVUxMLCBOVUxMKTsKKwkJfQorCQlicmVhazsKKwkgICAgfQorCX0KKyAgICAgICAgR1JPVzsKKyAgICB9CisgICAgaWYgKGN1cnJlbnROb2RlICE9IE5VTEwpIHhtbEZyZWUoY3VycmVudE5vZGUpOworfQorCisvKioKKyAqIGh0bWxQYXJzZUNvbnRlbnQ6CisgKiBAY3R4dDogIGFuIEhUTUwgcGFyc2VyIGNvbnRleHQKKyAqCisgKiBQYXJzZSBhIGNvbnRlbnQ6IGNvbW1lbnQsIHN1Yi1lbGVtZW50LCByZWZlcmVuY2Ugb3IgdGV4dC4KKyAqIFRoaXMgaXMgdGhlIGVudHJ5IHBvaW50IHdoZW4gY2FsbGVkIGZyb20gcGFyc2VyLmMKKyAqLworCit2b2lkCitfX2h0bWxQYXJzZUNvbnRlbnQodm9pZCAqY3R4dCkgeworICAgIGlmIChjdHh0ICE9IE5VTEwpCisJaHRtbFBhcnNlQ29udGVudEludGVybmFsKChodG1sUGFyc2VyQ3R4dFB0cikgY3R4dCk7Cit9CisKKy8qKgorICogaHRtbFBhcnNlRG9jdW1lbnQ6CisgKiBAY3R4dDogIGFuIEhUTUwgcGFyc2VyIGNvbnRleHQKKyAqCisgKiBwYXJzZSBhbiBIVE1MIGRvY3VtZW50IChhbmQgYnVpbGQgYSB0cmVlIGlmIHVzaW5nIHRoZSBzdGFuZGFyZCBTQVgKKyAqIGludGVyZmFjZSkuCisgKgorICogUmV0dXJucyAwLCAtMSBpbiBjYXNlIG9mIGVycm9yLiB0aGUgcGFyc2VyIGNvbnRleHQgaXMgYXVnbWVudGVkCisgKiAgICAgICAgICAgICAgICBhcyBhIHJlc3VsdCBvZiB0aGUgcGFyc2luZy4KKyAqLworCitpbnQKK2h0bWxQYXJzZURvY3VtZW50KGh0bWxQYXJzZXJDdHh0UHRyIGN0eHQpIHsKKyAgICB4bWxDaGFyIHN0YXJ0WzRdOworICAgIHhtbENoYXJFbmNvZGluZyBlbmM7CisgICAgeG1sRHRkUHRyIGR0ZDsKKworICAgIHhtbEluaXRQYXJzZXIoKTsKKworICAgIGh0bWxEZWZhdWx0U0FYSGFuZGxlckluaXQoKTsKKworICAgIGlmICgoY3R4dCA9PSBOVUxMKSB8fCAoY3R4dC0+aW5wdXQgPT0gTlVMTCkpIHsKKwlodG1sUGFyc2VFcnIoY3R4dCwgWE1MX0VSUl9JTlRFUk5BTF9FUlJPUiwKKwkJICAgICAiaHRtbFBhcnNlRG9jdW1lbnQ6IGNvbnRleHQgZXJyb3JcbiIsIE5VTEwsIE5VTEwpOworCXJldHVybihYTUxfRVJSX0lOVEVSTkFMX0VSUk9SKTsKKyAgICB9CisgICAgY3R4dC0+aHRtbCA9IDE7CisgICAgY3R4dC0+bGluZW51bWJlcnMgPSAxOworICAgIEdST1c7CisgICAgLyoKKyAgICAgKiBTQVg6IGJlZ2lubmluZyBvZiB0aGUgZG9jdW1lbnQgcHJvY2Vzc2luZy4KKyAgICAgKi8KKyAgICBpZiAoKGN0eHQtPnNheCkgJiYgKGN0eHQtPnNheC0+c2V0RG9jdW1lbnRMb2NhdG9yKSkKKyAgICAgICAgY3R4dC0+c2F4LT5zZXREb2N1bWVudExvY2F0b3IoY3R4dC0+dXNlckRhdGEsICZ4bWxEZWZhdWx0U0FYTG9jYXRvcik7CisKKyAgICBpZiAoKGN0eHQtPmVuY29kaW5nID09IChjb25zdCB4bWxDaGFyICopWE1MX0NIQVJfRU5DT0RJTkdfTk9ORSkgJiYKKyAgICAgICAgKChjdHh0LT5pbnB1dC0+ZW5kIC0gY3R4dC0+aW5wdXQtPmN1cikgPj0gNCkpIHsKKwkvKgorCSAqIEdldCB0aGUgNCBmaXJzdCBieXRlcyBhbmQgZGVjb2RlIHRoZSBjaGFyc2V0CisJICogaWYgZW5jICE9IFhNTF9DSEFSX0VOQ09ESU5HX05PTkUKKwkgKiBwbHVnIHNvbWUgZW5jb2RpbmcgY29udmVyc2lvbiByb3V0aW5lcy4KKwkgKi8KKwlzdGFydFswXSA9IFJBVzsKKwlzdGFydFsxXSA9IE5YVCgxKTsKKwlzdGFydFsyXSA9IE5YVCgyKTsKKwlzdGFydFszXSA9IE5YVCgzKTsKKwllbmMgPSB4bWxEZXRlY3RDaGFyRW5jb2RpbmcoJnN0YXJ0WzBdLCA0KTsKKwlpZiAoZW5jICE9IFhNTF9DSEFSX0VOQ09ESU5HX05PTkUpIHsKKwkgICAgeG1sU3dpdGNoRW5jb2RpbmcoY3R4dCwgZW5jKTsKKwl9CisgICAgfQorCisgICAgLyoKKyAgICAgKiBXaXBlIG91dCBldmVyeXRoaW5nIHdoaWNoIGlzIGJlZm9yZSB0aGUgZmlyc3QgJzwnCisgICAgICovCisgICAgU0tJUF9CTEFOS1M7CisgICAgaWYgKENVUiA9PSAwKSB7CisJaHRtbFBhcnNlRXJyKGN0eHQsIFhNTF9FUlJfRE9DVU1FTlRfRU1QVFksCisJICAgICAgICAgICAgICJEb2N1bWVudCBpcyBlbXB0eVxuIiwgTlVMTCwgTlVMTCk7CisgICAgfQorCisgICAgaWYgKChjdHh0LT5zYXgpICYmIChjdHh0LT5zYXgtPnN0YXJ0RG9jdW1lbnQpICYmICghY3R4dC0+ZGlzYWJsZVNBWCkpCisJY3R4dC0+c2F4LT5zdGFydERvY3VtZW50KGN0eHQtPnVzZXJEYXRhKTsKKworCisgICAgLyoKKyAgICAgKiBQYXJzZSBwb3NzaWJsZSBjb21tZW50cyBhbmQgUElzIGJlZm9yZSBhbnkgY29udGVudAorICAgICAqLworICAgIHdoaWxlICgoKENVUiA9PSAnPCcpICYmIChOWFQoMSkgPT0gJyEnKSAmJgorICAgICAgICAgICAgKE5YVCgyKSA9PSAnLScpICYmIChOWFQoMykgPT0gJy0nKSkgfHwKKwkgICAoKENVUiA9PSAnPCcpICYmIChOWFQoMSkgPT0gJz8nKSkpIHsKKyAgICAgICAgaHRtbFBhcnNlQ29tbWVudChjdHh0KTsKKyAgICAgICAgaHRtbFBhcnNlUEkoY3R4dCk7CisJU0tJUF9CTEFOS1M7CisgICAgfQorCisKKyAgICAvKgorICAgICAqIFRoZW4gcG9zc2libHkgZG9jIHR5cGUgZGVjbGFyYXRpb24ocykgYW5kIG1vcmUgTWlzYworICAgICAqIChkb2N0eXBlZGVjbCBNaXNjKik/CisgICAgICovCisgICAgaWYgKChDVVIgPT0gJzwnKSAmJiAoTlhUKDEpID09ICchJykgJiYKKwkoVVBQKDIpID09ICdEJykgJiYgKFVQUCgzKSA9PSAnTycpICYmCisJKFVQUCg0KSA9PSAnQycpICYmIChVUFAoNSkgPT0gJ1QnKSAmJgorCShVUFAoNikgPT0gJ1knKSAmJiAoVVBQKDcpID09ICdQJykgJiYKKwkoVVBQKDgpID09ICdFJykpIHsKKwlodG1sUGFyc2VEb2NUeXBlRGVjbChjdHh0KTsKKyAgICB9CisgICAgU0tJUF9CTEFOS1M7CisKKyAgICAvKgorICAgICAqIFBhcnNlIHBvc3NpYmxlIGNvbW1lbnRzIGFuZCBQSXMgYmVmb3JlIGFueSBjb250ZW50CisgICAgICovCisgICAgd2hpbGUgKCgoQ1VSID09ICc8JykgJiYgKE5YVCgxKSA9PSAnIScpICYmCisgICAgICAgICAgICAoTlhUKDIpID09ICctJykgJiYgKE5YVCgzKSA9PSAnLScpKSB8fAorCSAgICgoQ1VSID09ICc8JykgJiYgKE5YVCgxKSA9PSAnPycpKSkgeworICAgICAgICBodG1sUGFyc2VDb21tZW50KGN0eHQpOworICAgICAgICBodG1sUGFyc2VQSShjdHh0KTsKKwlTS0lQX0JMQU5LUzsKKyAgICB9CisKKyAgICAvKgorICAgICAqIFRpbWUgdG8gc3RhcnQgcGFyc2luZyB0aGUgdHJlZSBpdHNlbGYKKyAgICAgKi8KKyAgICBodG1sUGFyc2VDb250ZW50SW50ZXJuYWwoY3R4dCk7CisKKyAgICAvKgorICAgICAqIGF1dG9jbG9zZQorICAgICAqLworICAgIGlmIChDVVIgPT0gMCkKKwlodG1sQXV0b0Nsb3NlT25FbmQoY3R4dCk7CisKKworICAgIC8qCisgICAgICogU0FYOiBlbmQgb2YgdGhlIGRvY3VtZW50IHByb2Nlc3NpbmcuCisgICAgICovCisgICAgaWYgKChjdHh0LT5zYXgpICYmIChjdHh0LT5zYXgtPmVuZERvY3VtZW50ICE9IE5VTEwpKQorICAgICAgICBjdHh0LT5zYXgtPmVuZERvY3VtZW50KGN0eHQtPnVzZXJEYXRhKTsKKworICAgIGlmICgoIShjdHh0LT5vcHRpb25zICYgSFRNTF9QQVJTRV9OT0RFRkRURCkpICYmIChjdHh0LT5teURvYyAhPSBOVUxMKSkgeworCWR0ZCA9IHhtbEdldEludFN1YnNldChjdHh0LT5teURvYyk7CisJaWYgKGR0ZCA9PSBOVUxMKQorCSAgICBjdHh0LT5teURvYy0+aW50U3Vic2V0ID0KKwkJeG1sQ3JlYXRlSW50U3Vic2V0KGN0eHQtPm15RG9jLCBCQURfQ0FTVCAiaHRtbCIsCisJCSAgICBCQURfQ0FTVCAiLS8vVzNDLy9EVEQgSFRNTCA0LjAgVHJhbnNpdGlvbmFsLy9FTiIsCisJCSAgICBCQURfQ0FTVCAiaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLWh0bWw0MC9sb29zZS5kdGQiKTsKKyAgICB9CisgICAgaWYgKCEgY3R4dC0+d2VsbEZvcm1lZCkgcmV0dXJuKC0xKTsKKyAgICByZXR1cm4oMCk7Cit9CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJCVBhcnNlciBjb250ZXh0cyBoYW5kbGluZwkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqCisgKiBodG1sSW5pdFBhcnNlckN0eHQ6CisgKiBAY3R4dDogIGFuIEhUTUwgcGFyc2VyIGNvbnRleHQKKyAqCisgKiBJbml0aWFsaXplIGEgcGFyc2VyIGNvbnRleHQKKyAqCisgKiBSZXR1cm5zIDAgaW4gY2FzZSBvZiBzdWNjZXNzIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KKworc3RhdGljIGludAoraHRtbEluaXRQYXJzZXJDdHh0KGh0bWxQYXJzZXJDdHh0UHRyIGN0eHQpCit7CisgICAgaHRtbFNBWEhhbmRsZXIgKnNheDsKKworICAgIGlmIChjdHh0ID09IE5VTEwpIHJldHVybigtMSk7CisgICAgbWVtc2V0KGN0eHQsIDAsIHNpemVvZihodG1sUGFyc2VyQ3R4dCkpOworCisgICAgY3R4dC0+ZGljdCA9IHhtbERpY3RDcmVhdGUoKTsKKyAgICBpZiAoY3R4dC0+ZGljdCA9PSBOVUxMKSB7CisgICAgICAgIGh0bWxFcnJNZW1vcnkoTlVMTCwgImh0bWxJbml0UGFyc2VyQ3R4dDogb3V0IG9mIG1lbW9yeVxuIik7CisJcmV0dXJuKC0xKTsKKyAgICB9CisgICAgc2F4ID0gKGh0bWxTQVhIYW5kbGVyICopIHhtbE1hbGxvYyhzaXplb2YoaHRtbFNBWEhhbmRsZXIpKTsKKyAgICBpZiAoc2F4ID09IE5VTEwpIHsKKyAgICAgICAgaHRtbEVyck1lbW9yeShOVUxMLCAiaHRtbEluaXRQYXJzZXJDdHh0OiBvdXQgb2YgbWVtb3J5XG4iKTsKKwlyZXR1cm4oLTEpOworICAgIH0KKyAgICBlbHNlCisgICAgICAgIG1lbXNldChzYXgsIDAsIHNpemVvZihodG1sU0FYSGFuZGxlcikpOworCisgICAgLyogQWxsb2NhdGUgdGhlIElucHV0IHN0YWNrICovCisgICAgY3R4dC0+aW5wdXRUYWIgPSAoaHRtbFBhcnNlcklucHV0UHRyICopCisgICAgICAgICAgICAgICAgICAgICAgeG1sTWFsbG9jKDUgKiBzaXplb2YoaHRtbFBhcnNlcklucHV0UHRyKSk7CisgICAgaWYgKGN0eHQtPmlucHV0VGFiID09IE5VTEwpIHsKKyAgICAgICAgaHRtbEVyck1lbW9yeShOVUxMLCAiaHRtbEluaXRQYXJzZXJDdHh0OiBvdXQgb2YgbWVtb3J5XG4iKTsKKwljdHh0LT5pbnB1dE5yID0gMDsKKwljdHh0LT5pbnB1dE1heCA9IDA7CisJY3R4dC0+aW5wdXQgPSBOVUxMOworCXJldHVybigtMSk7CisgICAgfQorICAgIGN0eHQtPmlucHV0TnIgPSAwOworICAgIGN0eHQtPmlucHV0TWF4ID0gNTsKKyAgICBjdHh0LT5pbnB1dCA9IE5VTEw7CisgICAgY3R4dC0+dmVyc2lvbiA9IE5VTEw7CisgICAgY3R4dC0+ZW5jb2RpbmcgPSBOVUxMOworICAgIGN0eHQtPnN0YW5kYWxvbmUgPSAtMTsKKyAgICBjdHh0LT5pbnN0YXRlID0gWE1MX1BBUlNFUl9TVEFSVDsKKworICAgIC8qIEFsbG9jYXRlIHRoZSBOb2RlIHN0YWNrICovCisgICAgY3R4dC0+bm9kZVRhYiA9IChodG1sTm9kZVB0ciAqKSB4bWxNYWxsb2MoMTAgKiBzaXplb2YoaHRtbE5vZGVQdHIpKTsKKyAgICBpZiAoY3R4dC0+bm9kZVRhYiA9PSBOVUxMKSB7CisgICAgICAgIGh0bWxFcnJNZW1vcnkoTlVMTCwgImh0bWxJbml0UGFyc2VyQ3R4dDogb3V0IG9mIG1lbW9yeVxuIik7CisJY3R4dC0+bm9kZU5yID0gMDsKKwljdHh0LT5ub2RlTWF4ID0gMDsKKwljdHh0LT5ub2RlID0gTlVMTDsKKwljdHh0LT5pbnB1dE5yID0gMDsKKwljdHh0LT5pbnB1dE1heCA9IDA7CisJY3R4dC0+aW5wdXQgPSBOVUxMOworCXJldHVybigtMSk7CisgICAgfQorICAgIGN0eHQtPm5vZGVOciA9IDA7CisgICAgY3R4dC0+bm9kZU1heCA9IDEwOworICAgIGN0eHQtPm5vZGUgPSBOVUxMOworCisgICAgLyogQWxsb2NhdGUgdGhlIE5hbWUgc3RhY2sgKi8KKyAgICBjdHh0LT5uYW1lVGFiID0gKGNvbnN0IHhtbENoYXIgKiopIHhtbE1hbGxvYygxMCAqIHNpemVvZih4bWxDaGFyICopKTsKKyAgICBpZiAoY3R4dC0+bmFtZVRhYiA9PSBOVUxMKSB7CisgICAgICAgIGh0bWxFcnJNZW1vcnkoTlVMTCwgImh0bWxJbml0UGFyc2VyQ3R4dDogb3V0IG9mIG1lbW9yeVxuIik7CisJY3R4dC0+bmFtZU5yID0gMDsKKwljdHh0LT5uYW1lTWF4ID0gMDsKKwljdHh0LT5uYW1lID0gTlVMTDsKKwljdHh0LT5ub2RlTnIgPSAwOworCWN0eHQtPm5vZGVNYXggPSAwOworCWN0eHQtPm5vZGUgPSBOVUxMOworCWN0eHQtPmlucHV0TnIgPSAwOworCWN0eHQtPmlucHV0TWF4ID0gMDsKKwljdHh0LT5pbnB1dCA9IE5VTEw7CisJcmV0dXJuKC0xKTsKKyAgICB9CisgICAgY3R4dC0+bmFtZU5yID0gMDsKKyAgICBjdHh0LT5uYW1lTWF4ID0gMTA7CisgICAgY3R4dC0+bmFtZSA9IE5VTEw7CisKKyAgICBjdHh0LT5ub2RlSW5mb1RhYiA9IE5VTEw7CisgICAgY3R4dC0+bm9kZUluZm9OciAgPSAwOworICAgIGN0eHQtPm5vZGVJbmZvTWF4ID0gMDsKKworICAgIGlmIChzYXggPT0gTlVMTCkgY3R4dC0+c2F4ID0gKHhtbFNBWEhhbmRsZXJQdHIpICZodG1sRGVmYXVsdFNBWEhhbmRsZXI7CisgICAgZWxzZSB7CisgICAgICAgIGN0eHQtPnNheCA9IHNheDsKKwltZW1jcHkoc2F4LCAmaHRtbERlZmF1bHRTQVhIYW5kbGVyLCBzaXplb2YoeG1sU0FYSGFuZGxlclYxKSk7CisgICAgfQorICAgIGN0eHQtPnVzZXJEYXRhID0gY3R4dDsKKyAgICBjdHh0LT5teURvYyA9IE5VTEw7CisgICAgY3R4dC0+d2VsbEZvcm1lZCA9IDE7CisgICAgY3R4dC0+cmVwbGFjZUVudGl0aWVzID0gMDsKKyAgICBjdHh0LT5saW5lbnVtYmVycyA9IHhtbExpbmVOdW1iZXJzRGVmYXVsdFZhbHVlOworICAgIGN0eHQtPmh0bWwgPSAxOworICAgIGN0eHQtPnZjdHh0LmZpbmlzaER0ZCA9IFhNTF9DVFhUX0ZJTklTSF9EVERfMDsKKyAgICBjdHh0LT52Y3R4dC51c2VyRGF0YSA9IGN0eHQ7CisgICAgY3R4dC0+dmN0eHQuZXJyb3IgPSB4bWxQYXJzZXJWYWxpZGl0eUVycm9yOworICAgIGN0eHQtPnZjdHh0Lndhcm5pbmcgPSB4bWxQYXJzZXJWYWxpZGl0eVdhcm5pbmc7CisgICAgY3R4dC0+cmVjb3JkX2luZm8gPSAwOworICAgIGN0eHQtPnZhbGlkYXRlID0gMDsKKyAgICBjdHh0LT5uYkNoYXJzID0gMDsKKyAgICBjdHh0LT5jaGVja0luZGV4ID0gMDsKKyAgICBjdHh0LT5jYXRhbG9ncyA9IE5VTEw7CisgICAgeG1sSW5pdE5vZGVJbmZvU2VxKCZjdHh0LT5ub2RlX3NlcSk7CisgICAgcmV0dXJuKDApOworfQorCisvKioKKyAqIGh0bWxGcmVlUGFyc2VyQ3R4dDoKKyAqIEBjdHh0OiAgYW4gSFRNTCBwYXJzZXIgY29udGV4dAorICoKKyAqIEZyZWUgYWxsIHRoZSBtZW1vcnkgdXNlZCBieSBhIHBhcnNlciBjb250ZXh0LiBIb3dldmVyIHRoZSBwYXJzZWQKKyAqIGRvY3VtZW50IGluIGN0eHQtPm15RG9jIGlzIG5vdCBmcmVlZC4KKyAqLworCit2b2lkCitodG1sRnJlZVBhcnNlckN0eHQoaHRtbFBhcnNlckN0eHRQdHIgY3R4dCkKK3sKKyAgICB4bWxGcmVlUGFyc2VyQ3R4dChjdHh0KTsKK30KKworLyoqCisgKiBodG1sTmV3UGFyc2VyQ3R4dDoKKyAqCisgKiBBbGxvY2F0ZSBhbmQgaW5pdGlhbGl6ZSBhIG5ldyBwYXJzZXIgY29udGV4dC4KKyAqCisgKiBSZXR1cm5zIHRoZSBodG1sUGFyc2VyQ3R4dFB0ciBvciBOVUxMIGluIGNhc2Ugb2YgYWxsb2NhdGlvbiBlcnJvcgorICovCisKK2h0bWxQYXJzZXJDdHh0UHRyCitodG1sTmV3UGFyc2VyQ3R4dCh2b2lkKQoreworICAgIHhtbFBhcnNlckN0eHRQdHIgY3R4dDsKKworICAgIGN0eHQgPSAoeG1sUGFyc2VyQ3R4dFB0cikgeG1sTWFsbG9jKHNpemVvZih4bWxQYXJzZXJDdHh0KSk7CisgICAgaWYgKGN0eHQgPT0gTlVMTCkgeworICAgICAgICBodG1sRXJyTWVtb3J5KE5VTEwsICJOZXdQYXJzZXJDdHh0OiBvdXQgb2YgbWVtb3J5XG4iKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIG1lbXNldChjdHh0LCAwLCBzaXplb2YoeG1sUGFyc2VyQ3R4dCkpOworICAgIGlmIChodG1sSW5pdFBhcnNlckN0eHQoY3R4dCkgPCAwKSB7CisgICAgICAgIGh0bWxGcmVlUGFyc2VyQ3R4dChjdHh0KTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIHJldHVybihjdHh0KTsKK30KKworLyoqCisgKiBodG1sQ3JlYXRlTWVtb3J5UGFyc2VyQ3R4dDoKKyAqIEBidWZmZXI6ICBhIHBvaW50ZXIgdG8gYSBjaGFyIGFycmF5CisgKiBAc2l6ZTogIHRoZSBzaXplIG9mIHRoZSBhcnJheQorICoKKyAqIENyZWF0ZSBhIHBhcnNlciBjb250ZXh0IGZvciBhbiBIVE1MIGluLW1lbW9yeSBkb2N1bWVudC4KKyAqCisgKiBSZXR1cm5zIHRoZSBuZXcgcGFyc2VyIGNvbnRleHQgb3IgTlVMTAorICovCitodG1sUGFyc2VyQ3R4dFB0cgoraHRtbENyZWF0ZU1lbW9yeVBhcnNlckN0eHQoY29uc3QgY2hhciAqYnVmZmVyLCBpbnQgc2l6ZSkgeworICAgIHhtbFBhcnNlckN0eHRQdHIgY3R4dDsKKyAgICB4bWxQYXJzZXJJbnB1dFB0ciBpbnB1dDsKKyAgICB4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciBidWY7CisKKyAgICBpZiAoYnVmZmVyID09IE5VTEwpCisJcmV0dXJuKE5VTEwpOworICAgIGlmIChzaXplIDw9IDApCisJcmV0dXJuKE5VTEwpOworCisgICAgY3R4dCA9IGh0bWxOZXdQYXJzZXJDdHh0KCk7CisgICAgaWYgKGN0eHQgPT0gTlVMTCkKKwlyZXR1cm4oTlVMTCk7CisKKyAgICBidWYgPSB4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZU1lbShidWZmZXIsIHNpemUsIFhNTF9DSEFSX0VOQ09ESU5HX05PTkUpOworICAgIGlmIChidWYgPT0gTlVMTCkgcmV0dXJuKE5VTEwpOworCisgICAgaW5wdXQgPSB4bWxOZXdJbnB1dFN0cmVhbShjdHh0KTsKKyAgICBpZiAoaW5wdXQgPT0gTlVMTCkgeworCXhtbEZyZWVQYXJzZXJDdHh0KGN0eHQpOworCXJldHVybihOVUxMKTsKKyAgICB9CisKKyAgICBpbnB1dC0+ZmlsZW5hbWUgPSBOVUxMOworICAgIGlucHV0LT5idWYgPSBidWY7CisgICAgeG1sQnVmUmVzZXRJbnB1dChidWYtPmJ1ZmZlciwgaW5wdXQpOworCisgICAgaW5wdXRQdXNoKGN0eHQsIGlucHV0KTsKKyAgICByZXR1cm4oY3R4dCk7Cit9CisKKy8qKgorICogaHRtbENyZWF0ZURvY1BhcnNlckN0eHQ6CisgKiBAY3VyOiAgYSBwb2ludGVyIHRvIGFuIGFycmF5IG9mIHhtbENoYXIKKyAqIEBlbmNvZGluZzogIGEgZnJlZSBmb3JtIEMgc3RyaW5nIGRlc2NyaWJpbmcgdGhlIEhUTUwgZG9jdW1lbnQgZW5jb2RpbmcsIG9yIE5VTEwKKyAqCisgKiBDcmVhdGUgYSBwYXJzZXIgY29udGV4dCBmb3IgYW4gSFRNTCBkb2N1bWVudC4KKyAqCisgKiBUT0RPOiBjaGVjayB0aGUgbmVlZCB0byBhZGQgZW5jb2RpbmcgaGFuZGxpbmcgdGhlcmUKKyAqCisgKiBSZXR1cm5zIHRoZSBuZXcgcGFyc2VyIGNvbnRleHQgb3IgTlVMTAorICovCitzdGF0aWMgaHRtbFBhcnNlckN0eHRQdHIKK2h0bWxDcmVhdGVEb2NQYXJzZXJDdHh0KGNvbnN0IHhtbENoYXIgKmN1ciwgY29uc3QgY2hhciAqZW5jb2RpbmcpIHsKKyAgICBpbnQgbGVuOworICAgIGh0bWxQYXJzZXJDdHh0UHRyIGN0eHQ7CisKKyAgICBpZiAoY3VyID09IE5VTEwpCisJcmV0dXJuKE5VTEwpOworICAgIGxlbiA9IHhtbFN0cmxlbihjdXIpOworICAgIGN0eHQgPSBodG1sQ3JlYXRlTWVtb3J5UGFyc2VyQ3R4dCgoY2hhciAqKWN1ciwgbGVuKTsKKyAgICBpZiAoY3R4dCA9PSBOVUxMKQorCXJldHVybihOVUxMKTsKKworICAgIGlmIChlbmNvZGluZyAhPSBOVUxMKSB7CisJeG1sQ2hhckVuY29kaW5nIGVuYzsKKwl4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyIGhhbmRsZXI7CisKKwlpZiAoY3R4dC0+aW5wdXQtPmVuY29kaW5nICE9IE5VTEwpCisJICAgIHhtbEZyZWUoKHhtbENoYXIgKikgY3R4dC0+aW5wdXQtPmVuY29kaW5nKTsKKwljdHh0LT5pbnB1dC0+ZW5jb2RpbmcgPSB4bWxTdHJkdXAoKGNvbnN0IHhtbENoYXIgKikgZW5jb2RpbmcpOworCisJZW5jID0geG1sUGFyc2VDaGFyRW5jb2RpbmcoZW5jb2RpbmcpOworCS8qCisJICogcmVnaXN0ZXJlZCBzZXQgb2Yga25vd24gZW5jb2RpbmdzCisJICovCisJaWYgKGVuYyAhPSBYTUxfQ0hBUl9FTkNPRElOR19FUlJPUikgeworCSAgICB4bWxTd2l0Y2hFbmNvZGluZyhjdHh0LCBlbmMpOworCSAgICBpZiAoY3R4dC0+ZXJyTm8gPT0gWE1MX0VSUl9VTlNVUFBPUlRFRF9FTkNPRElORykgeworCQlodG1sUGFyc2VFcnIoY3R4dCwgWE1MX0VSUl9VTlNVUFBPUlRFRF9FTkNPRElORywKKwkJICAgICAgICAgICAgICJVbnN1cHBvcnRlZCBlbmNvZGluZyAlc1xuIiwKKwkJCSAgICAgKGNvbnN0IHhtbENoYXIgKikgZW5jb2RpbmcsIE5VTEwpOworCSAgICB9CisJfSBlbHNlIHsKKwkgICAgLyoKKwkgICAgICogZmFsbGJhY2sgZm9yIHVua25vd24gZW5jb2RpbmdzCisJICAgICAqLworCSAgICBoYW5kbGVyID0geG1sRmluZENoYXJFbmNvZGluZ0hhbmRsZXIoKGNvbnN0IGNoYXIgKikgZW5jb2RpbmcpOworCSAgICBpZiAoaGFuZGxlciAhPSBOVUxMKSB7CisJCXhtbFN3aXRjaFRvRW5jb2RpbmcoY3R4dCwgaGFuZGxlcik7CisJICAgIH0gZWxzZSB7CisJCWh0bWxQYXJzZUVycihjdHh0LCBYTUxfRVJSX1VOU1VQUE9SVEVEX0VOQ09ESU5HLAorCQkgICAgICAgICAgICAgIlVuc3VwcG9ydGVkIGVuY29kaW5nICVzXG4iLAorCQkJICAgICAoY29uc3QgeG1sQ2hhciAqKSBlbmNvZGluZywgTlVMTCk7CisJICAgIH0KKwl9CisgICAgfQorICAgIHJldHVybihjdHh0KTsKK30KKworI2lmZGVmIExJQlhNTF9QVVNIX0VOQUJMRUQKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJUHJvZ3Jlc3NpdmUgcGFyc2luZyBpbnRlcmZhY2VzCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqCisgKiBodG1sUGFyc2VMb29rdXBTZXF1ZW5jZToKKyAqIEBjdHh0OiAgYW4gSFRNTCBwYXJzZXIgY29udGV4dAorICogQGZpcnN0OiAgdGhlIGZpcnN0IGNoYXIgdG8gbG9va3VwCisgKiBAbmV4dDogIHRoZSBuZXh0IGNoYXIgdG8gbG9va3VwIG9yIHplcm8KKyAqIEB0aGlyZDogIHRoZSBuZXh0IGNoYXIgdG8gbG9va3VwIG9yIHplcm8KKyAqIEBjb21tZW50OiBmbGFnIHRvIGZvcmNlIGNoZWNraW5nIGluc2lkZSBjb21tZW50cworICoKKyAqIFRyeSB0byBmaW5kIGlmIGEgc2VxdWVuY2UgKGZpcnN0LCBuZXh0LCB0aGlyZCkgb3IgIGp1c3QgKGZpcnN0IG5leHQpIG9yCisgKiAoZmlyc3QpIGlzIGF2YWlsYWJsZSBpbiB0aGUgaW5wdXQgc3RyZWFtLgorICogVGhpcyBmdW5jdGlvbiBoYXMgYSBzaWRlIGVmZmVjdCBvZiAocG9zc2libHkpIGluY3JlbWVudGluZyBjdHh0LT5jaGVja0luZGV4CisgKiB0byBhdm9pZCByZXNjYW5uaW5nIHNlcXVlbmNlcyBvZiBieXRlcywgaXQgRE9FUyBjaGFuZ2UgdGhlIHN0YXRlIG9mIHRoZQorICogcGFyc2VyLCBkbyBub3QgdXNlIGxpYmVyYWxseS4KKyAqIFRoaXMgaXMgYmFzaWNhbGx5IHNpbWlsYXIgdG8geG1sUGFyc2VMb29rdXBTZXF1ZW5jZSgpCisgKgorICogUmV0dXJucyB0aGUgaW5kZXggdG8gdGhlIGN1cnJlbnQgcGFyc2luZyBwb2ludCBpZiB0aGUgZnVsbCBzZXF1ZW5jZQorICogICAgICBpcyBhdmFpbGFibGUsIC0xIG90aGVyd2lzZS4KKyAqLworc3RhdGljIGludAoraHRtbFBhcnNlTG9va3VwU2VxdWVuY2UoaHRtbFBhcnNlckN0eHRQdHIgY3R4dCwgeG1sQ2hhciBmaXJzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgIHhtbENoYXIgbmV4dCwgeG1sQ2hhciB0aGlyZCwgaW50IGlzY29tbWVudCwKKyAgICAgICAgICAgICAgICAgICAgICAgIGludCBpZ25vcmVhdHRydmFsKQoreworICAgIGludCBiYXNlLCBsZW47CisgICAgaHRtbFBhcnNlcklucHV0UHRyIGluOworICAgIGNvbnN0IHhtbENoYXIgKmJ1ZjsKKyAgICBpbnQgaW5jb21tZW50ID0gMDsKKyAgICBpbnQgaW52YWx1ZSA9IDA7CisgICAgY2hhciB2YWxkZWxsaW0gPSAweDA7CisKKyAgICBpbiA9IGN0eHQtPmlucHV0OworICAgIGlmIChpbiA9PSBOVUxMKQorICAgICAgICByZXR1cm4gKC0xKTsKKworICAgIGJhc2UgPSBpbi0+Y3VyIC0gaW4tPmJhc2U7CisgICAgaWYgKGJhc2UgPCAwKQorICAgICAgICByZXR1cm4gKC0xKTsKKworICAgIGlmIChjdHh0LT5jaGVja0luZGV4ID4gYmFzZSkKKyAgICAgICAgYmFzZSA9IGN0eHQtPmNoZWNrSW5kZXg7CisKKyAgICBpZiAoaW4tPmJ1ZiA9PSBOVUxMKSB7CisgICAgICAgIGJ1ZiA9IGluLT5iYXNlOworICAgICAgICBsZW4gPSBpbi0+bGVuZ3RoOworICAgIH0gZWxzZSB7CisgICAgICAgIGJ1ZiA9IHhtbEJ1ZkNvbnRlbnQoaW4tPmJ1Zi0+YnVmZmVyKTsKKyAgICAgICAgbGVuID0geG1sQnVmVXNlKGluLT5idWYtPmJ1ZmZlcik7CisgICAgfQorCisgICAgLyogdGFrZSBpbnRvIGFjY291bnQgdGhlIHNlcXVlbmNlIGxlbmd0aCAqLworICAgIGlmICh0aGlyZCkKKyAgICAgICAgbGVuIC09IDI7CisgICAgZWxzZSBpZiAobmV4dCkKKyAgICAgICAgbGVuLS07CisgICAgZm9yICg7IGJhc2UgPCBsZW47IGJhc2UrKykgeworICAgICAgICBpZiAoKCFpbmNvbW1lbnQpICYmIChiYXNlICsgNCA8IGxlbikgJiYgKCFpc2NvbW1lbnQpKSB7CisgICAgICAgICAgICBpZiAoKGJ1ZltiYXNlXSA9PSAnPCcpICYmIChidWZbYmFzZSArIDFdID09ICchJykgJiYKKyAgICAgICAgICAgICAgICAoYnVmW2Jhc2UgKyAyXSA9PSAnLScpICYmIChidWZbYmFzZSArIDNdID09ICctJykpIHsKKyAgICAgICAgICAgICAgICBpbmNvbW1lbnQgPSAxOworICAgICAgICAgICAgICAgIC8qIGRvIG5vdCBpbmNyZW1lbnQgcGFzdCA8ISAtIHNvbWUgcGVvcGxlIHVzZSA8IS0tPiAqLworICAgICAgICAgICAgICAgIGJhc2UgKz0gMjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBpZiAoaWdub3JlYXR0cnZhbCkgeworICAgICAgICAgICAgaWYgKGJ1ZltiYXNlXSA9PSAnIicgfHwgYnVmW2Jhc2VdID09ICdcJycpIHsKKyAgICAgICAgICAgICAgICBpZiAoaW52YWx1ZSkgeworICAgICAgICAgICAgICAgICAgICBpZiAoYnVmW2Jhc2VdID09IHZhbGRlbGxpbSkgeworICAgICAgICAgICAgICAgICAgICAgICAgaW52YWx1ZSA9IDA7CisgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIHZhbGRlbGxpbSA9IGJ1ZltiYXNlXTsKKyAgICAgICAgICAgICAgICAgICAgaW52YWx1ZSA9IDE7CisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0gZWxzZSBpZiAoaW52YWx1ZSkgeworICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIGlmIChpbmNvbW1lbnQpIHsKKyAgICAgICAgICAgIGlmIChiYXNlICsgMyA+IGxlbikKKyAgICAgICAgICAgICAgICByZXR1cm4gKC0xKTsKKyAgICAgICAgICAgIGlmICgoYnVmW2Jhc2VdID09ICctJykgJiYgKGJ1ZltiYXNlICsgMV0gPT0gJy0nKSAmJgorICAgICAgICAgICAgICAgIChidWZbYmFzZSArIDJdID09ICc+JykpIHsKKyAgICAgICAgICAgICAgICBpbmNvbW1lbnQgPSAwOworICAgICAgICAgICAgICAgIGJhc2UgKz0gMjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICB9CisgICAgICAgIGlmIChidWZbYmFzZV0gPT0gZmlyc3QpIHsKKyAgICAgICAgICAgIGlmICh0aGlyZCAhPSAwKSB7CisgICAgICAgICAgICAgICAgaWYgKChidWZbYmFzZSArIDFdICE9IG5leHQpIHx8IChidWZbYmFzZSArIDJdICE9IHRoaXJkKSkKKyAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICB9IGVsc2UgaWYgKG5leHQgIT0gMCkgeworICAgICAgICAgICAgICAgIGlmIChidWZbYmFzZSArIDFdICE9IG5leHQpCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgfQorICAgICAgICAgICAgY3R4dC0+Y2hlY2tJbmRleCA9IDA7CisjaWZkZWYgREVCVUdfUFVTSAorICAgICAgICAgICAgaWYgKG5leHQgPT0gMCkKKyAgICAgICAgICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkhQUDogbG9va3VwICclYycgZm91bmQgYXQgJWRcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpcnN0LCBiYXNlKTsKKyAgICAgICAgICAgIGVsc2UgaWYgKHRoaXJkID09IDApCisgICAgICAgICAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJIUFA6IGxvb2t1cCAnJWMlYycgZm91bmQgYXQgJWRcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpcnN0LCBuZXh0LCBiYXNlKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkhQUDogbG9va3VwICclYyVjJWMnIGZvdW5kIGF0ICVkXG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaXJzdCwgbmV4dCwgdGhpcmQsIGJhc2UpOworI2VuZGlmCisgICAgICAgICAgICByZXR1cm4gKGJhc2UgLSAoaW4tPmN1ciAtIGluLT5iYXNlKSk7CisgICAgICAgIH0KKyAgICB9CisgICAgaWYgKCghaW5jb21tZW50KSAmJiAoIWludmFsdWUpKQorICAgICAgICBjdHh0LT5jaGVja0luZGV4ID0gYmFzZTsKKyNpZmRlZiBERUJVR19QVVNICisgICAgaWYgKG5leHQgPT0gMCkKKyAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAiSFBQOiBsb29rdXAgJyVjJyBmYWlsZWRcbiIsIGZpcnN0KTsKKyAgICBlbHNlIGlmICh0aGlyZCA9PSAwKQorICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJIUFA6IGxvb2t1cCAnJWMlYycgZmFpbGVkXG4iLCBmaXJzdCwgbmV4dCk7CisgICAgZWxzZQorICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJIUFA6IGxvb2t1cCAnJWMlYyVjJyBmYWlsZWRcbiIsIGZpcnN0LCBuZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgdGhpcmQpOworI2VuZGlmCisgICAgcmV0dXJuICgtMSk7Cit9CisKKy8qKgorICogaHRtbFBhcnNlTG9va3VwQ2hhcnM6CisgKiBAY3R4dDogYW4gSFRNTCBwYXJzZXIgY29udGV4dAorICogQHN0b3A6IEFycmF5IG9mIGNoYXJzLCB3aGljaCBzdG9wIHRoZSBsb29rdXAuCisgKiBAc3RvcExlbjogTGVuZ3RoIG9mIHN0b3AtQXJyYXkKKyAqCisgKiBUcnkgdG8gZmluZCBpZiBhbnkgY2hhciBvZiB0aGUgc3RvcC1BcnJheSBpcyBhdmFpbGFibGUgaW4gdGhlIGlucHV0CisgKiBzdHJlYW0uCisgKiBUaGlzIGZ1bmN0aW9uIGhhcyBhIHNpZGUgZWZmZWN0IG9mIChwb3NzaWJseSkgaW5jcmVtZW50aW5nIGN0eHQtPmNoZWNrSW5kZXgKKyAqIHRvIGF2b2lkIHJlc2Nhbm5pbmcgc2VxdWVuY2VzIG9mIGJ5dGVzLCBpdCBET0VTIGNoYW5nZSB0aGUgc3RhdGUgb2YgdGhlCisgKiBwYXJzZXIsIGRvIG5vdCB1c2UgbGliZXJhbGx5LgorICoKKyAqIFJldHVybnMgdGhlIGluZGV4IHRvIHRoZSBjdXJyZW50IHBhcnNpbmcgcG9pbnQgaWYgYSBzdG9wQ2hhcgorICogICAgICBpcyBhdmFpbGFibGUsIC0xIG90aGVyd2lzZS4KKyAqLworc3RhdGljIGludAoraHRtbFBhcnNlTG9va3VwQ2hhcnMoaHRtbFBhcnNlckN0eHRQdHIgY3R4dCwgY29uc3QgeG1sQ2hhciAqIHN0b3AsCisgICAgICAgICAgICAgICAgICAgICBpbnQgc3RvcExlbikKK3sKKyAgICBpbnQgYmFzZSwgbGVuOworICAgIGh0bWxQYXJzZXJJbnB1dFB0ciBpbjsKKyAgICBjb25zdCB4bWxDaGFyICpidWY7CisgICAgaW50IGluY29tbWVudCA9IDA7CisgICAgaW50IGk7CisKKyAgICBpbiA9IGN0eHQtPmlucHV0OworICAgIGlmIChpbiA9PSBOVUxMKQorICAgICAgICByZXR1cm4gKC0xKTsKKworICAgIGJhc2UgPSBpbi0+Y3VyIC0gaW4tPmJhc2U7CisgICAgaWYgKGJhc2UgPCAwKQorICAgICAgICByZXR1cm4gKC0xKTsKKworICAgIGlmIChjdHh0LT5jaGVja0luZGV4ID4gYmFzZSkKKyAgICAgICAgYmFzZSA9IGN0eHQtPmNoZWNrSW5kZXg7CisKKyAgICBpZiAoaW4tPmJ1ZiA9PSBOVUxMKSB7CisgICAgICAgIGJ1ZiA9IGluLT5iYXNlOworICAgICAgICBsZW4gPSBpbi0+bGVuZ3RoOworICAgIH0gZWxzZSB7CisgICAgICAgIGJ1ZiA9IHhtbEJ1ZkNvbnRlbnQoaW4tPmJ1Zi0+YnVmZmVyKTsKKyAgICAgICAgbGVuID0geG1sQnVmVXNlKGluLT5idWYtPmJ1ZmZlcik7CisgICAgfQorCisgICAgZm9yICg7IGJhc2UgPCBsZW47IGJhc2UrKykgeworICAgICAgICBpZiAoIWluY29tbWVudCAmJiAoYmFzZSArIDQgPCBsZW4pKSB7CisgICAgICAgICAgICBpZiAoKGJ1ZltiYXNlXSA9PSAnPCcpICYmIChidWZbYmFzZSArIDFdID09ICchJykgJiYKKyAgICAgICAgICAgICAgICAoYnVmW2Jhc2UgKyAyXSA9PSAnLScpICYmIChidWZbYmFzZSArIDNdID09ICctJykpIHsKKyAgICAgICAgICAgICAgICBpbmNvbW1lbnQgPSAxOworICAgICAgICAgICAgICAgIC8qIGRvIG5vdCBpbmNyZW1lbnQgcGFzdCA8ISAtIHNvbWUgcGVvcGxlIHVzZSA8IS0tPiAqLworICAgICAgICAgICAgICAgIGJhc2UgKz0gMjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBpZiAoaW5jb21tZW50KSB7CisgICAgICAgICAgICBpZiAoYmFzZSArIDMgPiBsZW4pCisgICAgICAgICAgICAgICAgcmV0dXJuICgtMSk7CisgICAgICAgICAgICBpZiAoKGJ1ZltiYXNlXSA9PSAnLScpICYmIChidWZbYmFzZSArIDFdID09ICctJykgJiYKKyAgICAgICAgICAgICAgICAoYnVmW2Jhc2UgKyAyXSA9PSAnPicpKSB7CisgICAgICAgICAgICAgICAgaW5jb21tZW50ID0gMDsKKyAgICAgICAgICAgICAgICBiYXNlICs9IDI7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgfQorICAgICAgICBmb3IgKGkgPSAwOyBpIDwgc3RvcExlbjsgKytpKSB7CisgICAgICAgICAgICBpZiAoYnVmW2Jhc2VdID09IHN0b3BbaV0pIHsKKyAgICAgICAgICAgICAgICBjdHh0LT5jaGVja0luZGV4ID0gMDsKKyAgICAgICAgICAgICAgICByZXR1cm4gKGJhc2UgLSAoaW4tPmN1ciAtIGluLT5iYXNlKSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisgICAgY3R4dC0+Y2hlY2tJbmRleCA9IGJhc2U7CisgICAgcmV0dXJuICgtMSk7Cit9CisKKy8qKgorICogaHRtbFBhcnNlVHJ5T3JGaW5pc2g6CisgKiBAY3R4dDogIGFuIEhUTUwgcGFyc2VyIGNvbnRleHQKKyAqIEB0ZXJtaW5hdGU6ICBsYXN0IGNodW5rIGluZGljYXRvcgorICoKKyAqIFRyeSB0byBwcm9ncmVzcyBvbiBwYXJzaW5nCisgKgorICogUmV0dXJucyB6ZXJvIGlmIG5vIHBhcnNpbmcgd2FzIHBvc3NpYmxlCisgKi8KK3N0YXRpYyBpbnQKK2h0bWxQYXJzZVRyeU9yRmluaXNoKGh0bWxQYXJzZXJDdHh0UHRyIGN0eHQsIGludCB0ZXJtaW5hdGUpIHsKKyAgICBpbnQgcmV0ID0gMDsKKyAgICBodG1sUGFyc2VySW5wdXRQdHIgaW47CisgICAgaW50IGF2YWlsID0gMDsKKyAgICB4bWxDaGFyIGN1ciwgbmV4dDsKKworICAgIGh0bWxQYXJzZXJOb2RlSW5mbyBub2RlX2luZm87CisKKyNpZmRlZiBERUJVR19QVVNICisgICAgc3dpdGNoIChjdHh0LT5pbnN0YXRlKSB7CisJY2FzZSBYTUxfUEFSU0VSX0VPRjoKKwkgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSAgICAiSFBQOiB0cnkgRU9GXG4iKTsgYnJlYWs7CisJY2FzZSBYTUxfUEFSU0VSX1NUQVJUOgorCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJICAgICJIUFA6IHRyeSBTVEFSVFxuIik7IGJyZWFrOworCWNhc2UgWE1MX1BBUlNFUl9NSVNDOgorCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJICAgICJIUFA6IHRyeSBNSVNDXG4iKTticmVhazsKKwljYXNlIFhNTF9QQVJTRVJfQ09NTUVOVDoKKwkgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSAgICAiSFBQOiB0cnkgQ09NTUVOVFxuIik7YnJlYWs7CisJY2FzZSBYTUxfUEFSU0VSX1BST0xPRzoKKwkgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSAgICAiSFBQOiB0cnkgUFJPTE9HXG4iKTticmVhazsKKwljYXNlIFhNTF9QQVJTRVJfU1RBUlRfVEFHOgorCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJICAgICJIUFA6IHRyeSBTVEFSVF9UQUdcbiIpO2JyZWFrOworCWNhc2UgWE1MX1BBUlNFUl9DT05URU5UOgorCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJICAgICJIUFA6IHRyeSBDT05URU5UXG4iKTticmVhazsKKwljYXNlIFhNTF9QQVJTRVJfQ0RBVEFfU0VDVElPTjoKKwkgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSAgICAiSFBQOiB0cnkgQ0RBVEFfU0VDVElPTlxuIik7YnJlYWs7CisJY2FzZSBYTUxfUEFSU0VSX0VORF9UQUc6CisJICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkgICAgIkhQUDogdHJ5IEVORF9UQUdcbiIpO2JyZWFrOworCWNhc2UgWE1MX1BBUlNFUl9FTlRJVFlfREVDTDoKKwkgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSAgICAiSFBQOiB0cnkgRU5USVRZX0RFQ0xcbiIpO2JyZWFrOworCWNhc2UgWE1MX1BBUlNFUl9FTlRJVFlfVkFMVUU6CisJICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkgICAgIkhQUDogdHJ5IEVOVElUWV9WQUxVRVxuIik7YnJlYWs7CisJY2FzZSBYTUxfUEFSU0VSX0FUVFJJQlVURV9WQUxVRToKKwkgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSAgICAiSFBQOiB0cnkgQVRUUklCVVRFX1ZBTFVFXG4iKTticmVhazsKKwljYXNlIFhNTF9QQVJTRVJfRFREOgorCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJICAgICJIUFA6IHRyeSBEVERcbiIpO2JyZWFrOworCWNhc2UgWE1MX1BBUlNFUl9FUElMT0c6CisJICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkgICAgIkhQUDogdHJ5IEVQSUxPR1xuIik7YnJlYWs7CisJY2FzZSBYTUxfUEFSU0VSX1BJOgorCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJICAgICJIUFA6IHRyeSBQSVxuIik7YnJlYWs7CisJY2FzZSBYTUxfUEFSU0VSX1NZU1RFTV9MSVRFUkFMOgorCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJICAgICJIUFA6IHRyeSBTWVNURU1fTElURVJBTFxuIik7YnJlYWs7CisgICAgfQorI2VuZGlmCisKKyAgICB3aGlsZSAoMSkgeworCisJaW4gPSBjdHh0LT5pbnB1dDsKKwlpZiAoaW4gPT0gTlVMTCkgYnJlYWs7CisJaWYgKGluLT5idWYgPT0gTlVMTCkKKwkgICAgYXZhaWwgPSBpbi0+bGVuZ3RoIC0gKGluLT5jdXIgLSBpbi0+YmFzZSk7CisJZWxzZQorCSAgICBhdmFpbCA9IHhtbEJ1ZlVzZShpbi0+YnVmLT5idWZmZXIpIC0gKGluLT5jdXIgLSBpbi0+YmFzZSk7CisJaWYgKChhdmFpbCA9PSAwKSAmJiAodGVybWluYXRlKSkgeworCSAgICBodG1sQXV0b0Nsb3NlT25FbmQoY3R4dCk7CisJICAgIGlmICgoY3R4dC0+bmFtZU5yID09IDApICYmIChjdHh0LT5pbnN0YXRlICE9IFhNTF9QQVJTRVJfRU9GKSkgeworCQkvKgorCQkgKiBTQVg6IGVuZCBvZiB0aGUgZG9jdW1lbnQgcHJvY2Vzc2luZy4KKwkJICovCisJCWN0eHQtPmluc3RhdGUgPSBYTUxfUEFSU0VSX0VPRjsKKwkJaWYgKChjdHh0LT5zYXgpICYmIChjdHh0LT5zYXgtPmVuZERvY3VtZW50ICE9IE5VTEwpKQorCQkgICAgY3R4dC0+c2F4LT5lbmREb2N1bWVudChjdHh0LT51c2VyRGF0YSk7CisJICAgIH0KKwl9CisgICAgICAgIGlmIChhdmFpbCA8IDEpCisJICAgIGdvdG8gZG9uZTsKKwljdXIgPSBpbi0+Y3VyWzBdOworCWlmIChjdXIgPT0gMCkgeworCSAgICBTS0lQKDEpOworCSAgICBjb250aW51ZTsKKwl9CisKKyAgICAgICAgc3dpdGNoIChjdHh0LT5pbnN0YXRlKSB7CisgICAgICAgICAgICBjYXNlIFhNTF9QQVJTRVJfRU9GOgorCSAgICAgICAgLyoKKwkJICogRG9jdW1lbnQgcGFyc2luZyBpcyBkb25lICEKKwkJICovCisJICAgICAgICBnb3RvIGRvbmU7CisgICAgICAgICAgICBjYXNlIFhNTF9QQVJTRVJfU1RBUlQ6CisJICAgICAgICAvKgorCQkgKiBWZXJ5IGZpcnN0IGNoYXJzIHJlYWQgZnJvbSB0aGUgZG9jdW1lbnQgZmxvdy4KKwkJICovCisJCWN1ciA9IGluLT5jdXJbMF07CisJCWlmIChJU19CTEFOS19DSChjdXIpKSB7CisJCSAgICBTS0lQX0JMQU5LUzsKKwkJICAgIGlmIChpbi0+YnVmID09IE5VTEwpCisJCQlhdmFpbCA9IGluLT5sZW5ndGggLSAoaW4tPmN1ciAtIGluLT5iYXNlKTsKKwkJICAgIGVsc2UKKwkJCWF2YWlsID0geG1sQnVmVXNlKGluLT5idWYtPmJ1ZmZlcikgLSAoaW4tPmN1ciAtIGluLT5iYXNlKTsKKwkJfQorCQlpZiAoKGN0eHQtPnNheCkgJiYgKGN0eHQtPnNheC0+c2V0RG9jdW1lbnRMb2NhdG9yKSkKKwkJICAgIGN0eHQtPnNheC0+c2V0RG9jdW1lbnRMb2NhdG9yKGN0eHQtPnVzZXJEYXRhLAorCQkJCQkJICAmeG1sRGVmYXVsdFNBWExvY2F0b3IpOworCQlpZiAoKGN0eHQtPnNheCkgJiYgKGN0eHQtPnNheC0+c3RhcnREb2N1bWVudCkgJiYKKwkgICAgICAgICAgICAoIWN0eHQtPmRpc2FibGVTQVgpKQorCQkgICAgY3R4dC0+c2F4LT5zdGFydERvY3VtZW50KGN0eHQtPnVzZXJEYXRhKTsKKworCQljdXIgPSBpbi0+Y3VyWzBdOworCQluZXh0ID0gaW4tPmN1clsxXTsKKwkJaWYgKChjdXIgPT0gJzwnKSAmJiAobmV4dCA9PSAnIScpICYmCisJCSAgICAoVVBQKDIpID09ICdEJykgJiYgKFVQUCgzKSA9PSAnTycpICYmCisJCSAgICAoVVBQKDQpID09ICdDJykgJiYgKFVQUCg1KSA9PSAnVCcpICYmCisJCSAgICAoVVBQKDYpID09ICdZJykgJiYgKFVQUCg3KSA9PSAnUCcpICYmCisJCSAgICAoVVBQKDgpID09ICdFJykpIHsKKwkJICAgIGlmICgoIXRlcm1pbmF0ZSkgJiYKKwkJICAgICAgICAoaHRtbFBhcnNlTG9va3VwU2VxdWVuY2UoY3R4dCwgJz4nLCAwLCAwLCAwLCAxKSA8IDApKQorCQkJZ290byBkb25lOworI2lmZGVmIERFQlVHX1BVU0gKKwkJICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkJICAgICJIUFA6IFBhcnNpbmcgaW50ZXJuYWwgc3Vic2V0XG4iKTsKKyNlbmRpZgorCQkgICAgaHRtbFBhcnNlRG9jVHlwZURlY2woY3R4dCk7CisJCSAgICBjdHh0LT5pbnN0YXRlID0gWE1MX1BBUlNFUl9QUk9MT0c7CisjaWZkZWYgREVCVUdfUFVTSAorCQkgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCQkgICAgIkhQUDogZW50ZXJpbmcgUFJPTE9HXG4iKTsKKyNlbmRpZgorICAgICAgICAgICAgICAgIH0gZWxzZSB7CisJCSAgICBjdHh0LT5pbnN0YXRlID0gWE1MX1BBUlNFUl9NSVNDOworI2lmZGVmIERFQlVHX1BVU0gKKwkJICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkJICAgICJIUFA6IGVudGVyaW5nIE1JU0NcbiIpOworI2VuZGlmCisJCX0KKwkJYnJlYWs7CisgICAgICAgICAgICBjYXNlIFhNTF9QQVJTRVJfTUlTQzoKKwkJU0tJUF9CTEFOS1M7CisJCWlmIChpbi0+YnVmID09IE5VTEwpCisJCSAgICBhdmFpbCA9IGluLT5sZW5ndGggLSAoaW4tPmN1ciAtIGluLT5iYXNlKTsKKwkJZWxzZQorCQkgICAgYXZhaWwgPSB4bWxCdWZVc2UoaW4tPmJ1Zi0+YnVmZmVyKSAtIChpbi0+Y3VyIC0gaW4tPmJhc2UpOworCQkvKgorCQkgKiBubyBjaGFycyBpbiBidWZmZXIKKwkJICovCisJCWlmIChhdmFpbCA8IDEpCisJCSAgICBnb3RvIGRvbmU7CisJCS8qCisJCSAqIG5vdCBlbm91dGggY2hhcnMgaW4gYnVmZmVyCisJCSAqLworCQlpZiAoYXZhaWwgPCAyKSB7CisJCSAgICBpZiAoIXRlcm1pbmF0ZSkKKwkJCWdvdG8gZG9uZTsKKwkJICAgIGVsc2UKKwkJCW5leHQgPSAnICc7CisJCX0gZWxzZSB7CisJCSAgICBuZXh0ID0gaW4tPmN1clsxXTsKKwkJfQorCQljdXIgPSBpbi0+Y3VyWzBdOworCSAgICAgICAgaWYgKChjdXIgPT0gJzwnKSAmJiAobmV4dCA9PSAnIScpICYmCisJCSAgICAoaW4tPmN1clsyXSA9PSAnLScpICYmIChpbi0+Y3VyWzNdID09ICctJykpIHsKKwkJICAgIGlmICgoIXRlcm1pbmF0ZSkgJiYKKwkJICAgICAgICAoaHRtbFBhcnNlTG9va3VwU2VxdWVuY2UoY3R4dCwgJy0nLCAnLScsICc+JywgMSwgMSkgPCAwKSkKKwkJCWdvdG8gZG9uZTsKKyNpZmRlZiBERUJVR19QVVNICisJCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJCSAgICAiSFBQOiBQYXJzaW5nIENvbW1lbnRcbiIpOworI2VuZGlmCisJCSAgICBodG1sUGFyc2VDb21tZW50KGN0eHQpOworCQkgICAgY3R4dC0+aW5zdGF0ZSA9IFhNTF9QQVJTRVJfTUlTQzsKKwkgICAgICAgIH0gZWxzZSBpZiAoKGN1ciA9PSAnPCcpICYmIChuZXh0ID09ICc/JykpIHsKKwkJICAgIGlmICgoIXRlcm1pbmF0ZSkgJiYKKwkJICAgICAgICAoaHRtbFBhcnNlTG9va3VwU2VxdWVuY2UoY3R4dCwgJz4nLCAwLCAwLCAwLCAxKSA8IDApKQorCQkJZ290byBkb25lOworI2lmZGVmIERFQlVHX1BVU0gKKwkJICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkJICAgICJIUFA6IFBhcnNpbmcgUElcbiIpOworI2VuZGlmCisJCSAgICBodG1sUGFyc2VQSShjdHh0KTsKKwkJICAgIGN0eHQtPmluc3RhdGUgPSBYTUxfUEFSU0VSX01JU0M7CisJCX0gZWxzZSBpZiAoKGN1ciA9PSAnPCcpICYmIChuZXh0ID09ICchJykgJiYKKwkJICAgIChVUFAoMikgPT0gJ0QnKSAmJiAoVVBQKDMpID09ICdPJykgJiYKKwkJICAgIChVUFAoNCkgPT0gJ0MnKSAmJiAoVVBQKDUpID09ICdUJykgJiYKKwkJICAgIChVUFAoNikgPT0gJ1knKSAmJiAoVVBQKDcpID09ICdQJykgJiYKKwkJICAgIChVUFAoOCkgPT0gJ0UnKSkgeworCQkgICAgaWYgKCghdGVybWluYXRlKSAmJgorCQkgICAgICAgIChodG1sUGFyc2VMb29rdXBTZXF1ZW5jZShjdHh0LCAnPicsIDAsIDAsIDAsIDEpIDwgMCkpCisJCQlnb3RvIGRvbmU7CisjaWZkZWYgREVCVUdfUFVTSAorCQkgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCQkgICAgIkhQUDogUGFyc2luZyBpbnRlcm5hbCBzdWJzZXRcbiIpOworI2VuZGlmCisJCSAgICBodG1sUGFyc2VEb2NUeXBlRGVjbChjdHh0KTsKKwkJICAgIGN0eHQtPmluc3RhdGUgPSBYTUxfUEFSU0VSX1BST0xPRzsKKyNpZmRlZiBERUJVR19QVVNICisJCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJCSAgICAiSFBQOiBlbnRlcmluZyBQUk9MT0dcbiIpOworI2VuZGlmCisJCX0gZWxzZSBpZiAoKGN1ciA9PSAnPCcpICYmIChuZXh0ID09ICchJykgJiYKKwkJICAgICAgICAgICAoYXZhaWwgPCA5KSkgeworCQkgICAgZ290byBkb25lOworCQl9IGVsc2UgeworCQkgICAgY3R4dC0+aW5zdGF0ZSA9IFhNTF9QQVJTRVJfU1RBUlRfVEFHOworI2lmZGVmIERFQlVHX1BVU0gKKwkJICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkJICAgICJIUFA6IGVudGVyaW5nIFNUQVJUX1RBR1xuIik7CisjZW5kaWYKKwkJfQorCQlicmVhazsKKyAgICAgICAgICAgIGNhc2UgWE1MX1BBUlNFUl9QUk9MT0c6CisJCVNLSVBfQkxBTktTOworCQlpZiAoaW4tPmJ1ZiA9PSBOVUxMKQorCQkgICAgYXZhaWwgPSBpbi0+bGVuZ3RoIC0gKGluLT5jdXIgLSBpbi0+YmFzZSk7CisJCWVsc2UKKwkJICAgIGF2YWlsID0geG1sQnVmVXNlKGluLT5idWYtPmJ1ZmZlcikgLSAoaW4tPmN1ciAtIGluLT5iYXNlKTsKKwkJaWYgKGF2YWlsIDwgMikKKwkJICAgIGdvdG8gZG9uZTsKKwkJY3VyID0gaW4tPmN1clswXTsKKwkJbmV4dCA9IGluLT5jdXJbMV07CisJCWlmICgoY3VyID09ICc8JykgJiYgKG5leHQgPT0gJyEnKSAmJgorCQkgICAgKGluLT5jdXJbMl0gPT0gJy0nKSAmJiAoaW4tPmN1clszXSA9PSAnLScpKSB7CisJCSAgICBpZiAoKCF0ZXJtaW5hdGUpICYmCisJCSAgICAgICAgKGh0bWxQYXJzZUxvb2t1cFNlcXVlbmNlKGN0eHQsICctJywgJy0nLCAnPicsIDEsIDEpIDwgMCkpCisJCQlnb3RvIGRvbmU7CisjaWZkZWYgREVCVUdfUFVTSAorCQkgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCQkgICAgIkhQUDogUGFyc2luZyBDb21tZW50XG4iKTsKKyNlbmRpZgorCQkgICAgaHRtbFBhcnNlQ29tbWVudChjdHh0KTsKKwkJICAgIGN0eHQtPmluc3RhdGUgPSBYTUxfUEFSU0VSX1BST0xPRzsKKwkgICAgICAgIH0gZWxzZSBpZiAoKGN1ciA9PSAnPCcpICYmIChuZXh0ID09ICc/JykpIHsKKwkJICAgIGlmICgoIXRlcm1pbmF0ZSkgJiYKKwkJICAgICAgICAoaHRtbFBhcnNlTG9va3VwU2VxdWVuY2UoY3R4dCwgJz4nLCAwLCAwLCAwLCAxKSA8IDApKQorCQkJZ290byBkb25lOworI2lmZGVmIERFQlVHX1BVU0gKKwkJICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkJICAgICJIUFA6IFBhcnNpbmcgUElcbiIpOworI2VuZGlmCisJCSAgICBodG1sUGFyc2VQSShjdHh0KTsKKwkJICAgIGN0eHQtPmluc3RhdGUgPSBYTUxfUEFSU0VSX1BST0xPRzsKKwkJfSBlbHNlIGlmICgoY3VyID09ICc8JykgJiYgKG5leHQgPT0gJyEnKSAmJgorCQkgICAgICAgICAgIChhdmFpbCA8IDQpKSB7CisJCSAgICBnb3RvIGRvbmU7CisJCX0gZWxzZSB7CisJCSAgICBjdHh0LT5pbnN0YXRlID0gWE1MX1BBUlNFUl9TVEFSVF9UQUc7CisjaWZkZWYgREVCVUdfUFVTSAorCQkgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCQkgICAgIkhQUDogZW50ZXJpbmcgU1RBUlRfVEFHXG4iKTsKKyNlbmRpZgorCQl9CisJCWJyZWFrOworICAgICAgICAgICAgY2FzZSBYTUxfUEFSU0VSX0VQSUxPRzoKKwkJaWYgKGluLT5idWYgPT0gTlVMTCkKKwkJICAgIGF2YWlsID0gaW4tPmxlbmd0aCAtIChpbi0+Y3VyIC0gaW4tPmJhc2UpOworCQllbHNlCisJCSAgICBhdmFpbCA9IHhtbEJ1ZlVzZShpbi0+YnVmLT5idWZmZXIpIC0gKGluLT5jdXIgLSBpbi0+YmFzZSk7CisJCWlmIChhdmFpbCA8IDEpCisJCSAgICBnb3RvIGRvbmU7CisJCWN1ciA9IGluLT5jdXJbMF07CisJCWlmIChJU19CTEFOS19DSChjdXIpKSB7CisJCSAgICBodG1sUGFyc2VDaGFyRGF0YShjdHh0KTsKKwkJICAgIGdvdG8gZG9uZTsKKwkJfQorCQlpZiAoYXZhaWwgPCAyKQorCQkgICAgZ290byBkb25lOworCQluZXh0ID0gaW4tPmN1clsxXTsKKwkgICAgICAgIGlmICgoY3VyID09ICc8JykgJiYgKG5leHQgPT0gJyEnKSAmJgorCQkgICAgKGluLT5jdXJbMl0gPT0gJy0nKSAmJiAoaW4tPmN1clszXSA9PSAnLScpKSB7CisJCSAgICBpZiAoKCF0ZXJtaW5hdGUpICYmCisJCSAgICAgICAgKGh0bWxQYXJzZUxvb2t1cFNlcXVlbmNlKGN0eHQsICctJywgJy0nLCAnPicsIDEsIDEpIDwgMCkpCisJCQlnb3RvIGRvbmU7CisjaWZkZWYgREVCVUdfUFVTSAorCQkgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCQkgICAgIkhQUDogUGFyc2luZyBDb21tZW50XG4iKTsKKyNlbmRpZgorCQkgICAgaHRtbFBhcnNlQ29tbWVudChjdHh0KTsKKwkJICAgIGN0eHQtPmluc3RhdGUgPSBYTUxfUEFSU0VSX0VQSUxPRzsKKwkgICAgICAgIH0gZWxzZSBpZiAoKGN1ciA9PSAnPCcpICYmIChuZXh0ID09ICc/JykpIHsKKwkJICAgIGlmICgoIXRlcm1pbmF0ZSkgJiYKKwkJICAgICAgICAoaHRtbFBhcnNlTG9va3VwU2VxdWVuY2UoY3R4dCwgJz4nLCAwLCAwLCAwLCAxKSA8IDApKQorCQkJZ290byBkb25lOworI2lmZGVmIERFQlVHX1BVU0gKKwkJICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkJICAgICJIUFA6IFBhcnNpbmcgUElcbiIpOworI2VuZGlmCisJCSAgICBodG1sUGFyc2VQSShjdHh0KTsKKwkJICAgIGN0eHQtPmluc3RhdGUgPSBYTUxfUEFSU0VSX0VQSUxPRzsKKwkJfSBlbHNlIGlmICgoY3VyID09ICc8JykgJiYgKG5leHQgPT0gJyEnKSAmJgorCQkgICAgICAgICAgIChhdmFpbCA8IDQpKSB7CisJCSAgICBnb3RvIGRvbmU7CisJCX0gZWxzZSB7CisJCSAgICBjdHh0LT5lcnJObyA9IFhNTF9FUlJfRE9DVU1FTlRfRU5EOworCQkgICAgY3R4dC0+d2VsbEZvcm1lZCA9IDA7CisJCSAgICBjdHh0LT5pbnN0YXRlID0gWE1MX1BBUlNFUl9FT0Y7CisjaWZkZWYgREVCVUdfUFVTSAorCQkgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCQkgICAgIkhQUDogZW50ZXJpbmcgRU9GXG4iKTsKKyNlbmRpZgorCQkgICAgaWYgKChjdHh0LT5zYXgpICYmIChjdHh0LT5zYXgtPmVuZERvY3VtZW50ICE9IE5VTEwpKQorCQkJY3R4dC0+c2F4LT5lbmREb2N1bWVudChjdHh0LT51c2VyRGF0YSk7CisJCSAgICBnb3RvIGRvbmU7CisJCX0KKwkJYnJlYWs7CisgICAgICAgICAgICBjYXNlIFhNTF9QQVJTRVJfU1RBUlRfVEFHOiB7CisJICAgICAgICBjb25zdCB4bWxDaGFyICpuYW1lOworCQlpbnQgZmFpbGVkOworCQljb25zdCBodG1sRWxlbURlc2MgKiBpbmZvOworCisJCS8qCisJCSAqIG5vIGNoYXJzIGluIGJ1ZmZlcgorCQkgKi8KKwkJaWYgKGF2YWlsIDwgMSkKKwkJICAgIGdvdG8gZG9uZTsKKwkJLyoKKwkJICogbm90IGVub3V0aCBjaGFycyBpbiBidWZmZXIKKwkJICovCisJCWlmIChhdmFpbCA8IDIpIHsKKwkJICAgIGlmICghdGVybWluYXRlKQorCQkJZ290byBkb25lOworCQkgICAgZWxzZQorCQkJbmV4dCA9ICcgJzsKKwkJfSBlbHNlIHsKKwkJICAgIG5leHQgPSBpbi0+Y3VyWzFdOworCQl9CisJCWN1ciA9IGluLT5jdXJbMF07CisJICAgICAgICBpZiAoY3VyICE9ICc8JykgeworCQkgICAgY3R4dC0+aW5zdGF0ZSA9IFhNTF9QQVJTRVJfQ09OVEVOVDsKKyNpZmRlZiBERUJVR19QVVNICisJCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJCSAgICAiSFBQOiBlbnRlcmluZyBDT05URU5UXG4iKTsKKyNlbmRpZgorCQkgICAgYnJlYWs7CisJCX0KKwkJaWYgKG5leHQgPT0gJy8nKSB7CisJCSAgICBjdHh0LT5pbnN0YXRlID0gWE1MX1BBUlNFUl9FTkRfVEFHOworCQkgICAgY3R4dC0+Y2hlY2tJbmRleCA9IDA7CisjaWZkZWYgREVCVUdfUFVTSAorCQkgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCQkgICAgIkhQUDogZW50ZXJpbmcgRU5EX1RBR1xuIik7CisjZW5kaWYKKwkJICAgIGJyZWFrOworCQl9CisJCWlmICgoIXRlcm1pbmF0ZSkgJiYKKwkJICAgIChodG1sUGFyc2VMb29rdXBTZXF1ZW5jZShjdHh0LCAnPicsIDAsIDAsIDAsIDEpIDwgMCkpCisJCSAgICBnb3RvIGRvbmU7CisKKyAgICAgICAgICAgICAgICAvKiBDYXB0dXJlIHN0YXJ0IHBvc2l0aW9uICovCisJICAgICAgICBpZiAoY3R4dC0+cmVjb3JkX2luZm8pIHsKKwkgICAgICAgICAgICAgbm9kZV9pbmZvLmJlZ2luX3BvcyA9IGN0eHQtPmlucHV0LT5jb25zdW1lZCArCisJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoQ1VSX1BUUiAtIGN0eHQtPmlucHV0LT5iYXNlKTsKKwkgICAgICAgICAgICAgbm9kZV9pbmZvLmJlZ2luX2xpbmUgPSBjdHh0LT5pbnB1dC0+bGluZTsKKwkgICAgICAgIH0KKworCisJCWZhaWxlZCA9IGh0bWxQYXJzZVN0YXJ0VGFnKGN0eHQpOworCQluYW1lID0gY3R4dC0+bmFtZTsKKwkJaWYgKChmYWlsZWQgPT0gLTEpIHx8CisJCSAgICAobmFtZSA9PSBOVUxMKSkgeworCQkgICAgaWYgKENVUiA9PSAnPicpCisJCQlORVhUOworCQkgICAgYnJlYWs7CisJCX0KKworCQkvKgorCQkgKiBMb29rdXAgdGhlIGluZm8gZm9yIHRoYXQgZWxlbWVudC4KKwkJICovCisJCWluZm8gPSBodG1sVGFnTG9va3VwKG5hbWUpOworCQlpZiAoaW5mbyA9PSBOVUxMKSB7CisJCSAgICBodG1sUGFyc2VFcnIoY3R4dCwgWE1MX0hUTUxfVU5LTk9XTl9UQUcsCisJCSAgICAgICAgICAgICAgICAgIlRhZyAlcyBpbnZhbGlkXG4iLCBuYW1lLCBOVUxMKTsKKwkJfQorCisJCS8qCisJCSAqIENoZWNrIGZvciBhbiBFbXB0eSBFbGVtZW50IGxhYmVsZWQgdGhlIFhNTC9TR01MIHdheQorCQkgKi8KKwkJaWYgKChDVVIgPT0gJy8nKSAmJiAoTlhUKDEpID09ICc+JykpIHsKKwkJICAgIFNLSVAoMik7CisJCSAgICBpZiAoKGN0eHQtPnNheCAhPSBOVUxMKSAmJiAoY3R4dC0+c2F4LT5lbmRFbGVtZW50ICE9IE5VTEwpKQorCQkJY3R4dC0+c2F4LT5lbmRFbGVtZW50KGN0eHQtPnVzZXJEYXRhLCBuYW1lKTsKKwkJICAgIGh0bWxuYW1lUG9wKGN0eHQpOworCQkgICAgY3R4dC0+aW5zdGF0ZSA9IFhNTF9QQVJTRVJfQ09OVEVOVDsKKyNpZmRlZiBERUJVR19QVVNICisJCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJCSAgICAiSFBQOiBlbnRlcmluZyBDT05URU5UXG4iKTsKKyNlbmRpZgorCQkgICAgYnJlYWs7CisJCX0KKworCQlpZiAoQ1VSID09ICc+JykgeworCQkgICAgTkVYVDsKKwkJfSBlbHNlIHsKKwkJICAgIGh0bWxQYXJzZUVycihjdHh0LCBYTUxfRVJSX0dUX1JFUVVJUkVELAorCQkgICAgICAgICAgICAgICAgICJDb3VsZG4ndCBmaW5kIGVuZCBvZiBTdGFydCBUYWcgJXNcbiIsCisJCQkJIG5hbWUsIE5VTEwpOworCisJCSAgICAvKgorCQkgICAgICogZW5kIG9mIHBhcnNpbmcgb2YgdGhpcyBub2RlLgorCQkgICAgICovCisJCSAgICBpZiAoeG1sU3RyRXF1YWwobmFtZSwgY3R4dC0+bmFtZSkpIHsKKwkJCW5vZGVQb3AoY3R4dCk7CisJCQlodG1sbmFtZVBvcChjdHh0KTsKKwkJICAgIH0KKworCQkgICAgaWYgKGN0eHQtPnJlY29yZF9pbmZvKQorCQkgICAgICAgIGh0bWxOb2RlSW5mb1B1c2goY3R4dCwgJm5vZGVfaW5mbyk7CisKKwkJICAgIGN0eHQtPmluc3RhdGUgPSBYTUxfUEFSU0VSX0NPTlRFTlQ7CisjaWZkZWYgREVCVUdfUFVTSAorCQkgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCQkgICAgIkhQUDogZW50ZXJpbmcgQ09OVEVOVFxuIik7CisjZW5kaWYKKwkJICAgIGJyZWFrOworCQl9CisKKwkJLyoKKwkJICogQ2hlY2sgZm9yIGFuIEVtcHR5IEVsZW1lbnQgZnJvbSBEVEQgZGVmaW5pdGlvbgorCQkgKi8KKwkJaWYgKChpbmZvICE9IE5VTEwpICYmIChpbmZvLT5lbXB0eSkpIHsKKwkJICAgIGlmICgoY3R4dC0+c2F4ICE9IE5VTEwpICYmIChjdHh0LT5zYXgtPmVuZEVsZW1lbnQgIT0gTlVMTCkpCisJCQljdHh0LT5zYXgtPmVuZEVsZW1lbnQoY3R4dC0+dXNlckRhdGEsIG5hbWUpOworCQkgICAgaHRtbG5hbWVQb3AoY3R4dCk7CisJCX0KKworICAgICAgICAgICAgICAgIGlmIChjdHh0LT5yZWNvcmRfaW5mbykKKwkgICAgICAgICAgICBodG1sTm9kZUluZm9QdXNoKGN0eHQsICZub2RlX2luZm8pOworCisJCWN0eHQtPmluc3RhdGUgPSBYTUxfUEFSU0VSX0NPTlRFTlQ7CisjaWZkZWYgREVCVUdfUFVTSAorCQl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJCSJIUFA6IGVudGVyaW5nIENPTlRFTlRcbiIpOworI2VuZGlmCisgICAgICAgICAgICAgICAgYnJlYWs7CisJICAgIH0KKyAgICAgICAgICAgIGNhc2UgWE1MX1BBUlNFUl9DT05URU5UOiB7CisJCWxvbmcgY29uczsKKyAgICAgICAgICAgICAgICAvKgorCQkgKiBIYW5kbGUgcHJlcGFyc2VkIGVudGl0aWVzIGFuZCBjaGFyUmVmCisJCSAqLworCQlpZiAoY3R4dC0+dG9rZW4gIT0gMCkgeworCQkgICAgeG1sQ2hhciBjaHJbMl0gPSB7IDAgLCAwIH0gOworCisJCSAgICBjaHJbMF0gPSAoeG1sQ2hhcikgY3R4dC0+dG9rZW47CisJCSAgICBodG1sQ2hlY2tQYXJhZ3JhcGgoY3R4dCk7CisJCSAgICBpZiAoKGN0eHQtPnNheCAhPSBOVUxMKSAmJiAoY3R4dC0+c2F4LT5jaGFyYWN0ZXJzICE9IE5VTEwpKQorCQkJY3R4dC0+c2F4LT5jaGFyYWN0ZXJzKGN0eHQtPnVzZXJEYXRhLCBjaHIsIDEpOworCQkgICAgY3R4dC0+dG9rZW4gPSAwOworCQkgICAgY3R4dC0+Y2hlY2tJbmRleCA9IDA7CisJCX0KKwkJaWYgKChhdmFpbCA9PSAxKSAmJiAodGVybWluYXRlKSkgeworCQkgICAgY3VyID0gaW4tPmN1clswXTsKKwkJICAgIGlmICgoY3VyICE9ICc8JykgJiYgKGN1ciAhPSAnJicpKSB7CisJCQlpZiAoY3R4dC0+c2F4ICE9IE5VTEwpIHsKKwkJCSAgICBpZiAoSVNfQkxBTktfQ0goY3VyKSkgeworCQkJCWlmIChjdHh0LT5rZWVwQmxhbmtzKSB7CisJCQkJICAgIGlmIChjdHh0LT5zYXgtPmNoYXJhY3RlcnMgIT0gTlVMTCkKKwkJCQkJY3R4dC0+c2F4LT5jaGFyYWN0ZXJzKAorCQkJCQkJY3R4dC0+dXNlckRhdGEsICZjdXIsIDEpOworCQkJCX0gZWxzZSB7CisJCQkJICAgIGlmIChjdHh0LT5zYXgtPmlnbm9yYWJsZVdoaXRlc3BhY2UgIT0gTlVMTCkKKwkJCQkJY3R4dC0+c2F4LT5pZ25vcmFibGVXaGl0ZXNwYWNlKAorCQkJCQkJY3R4dC0+dXNlckRhdGEsICZjdXIsIDEpOworCQkJCX0KKwkJCSAgICB9IGVsc2UgeworCQkJCWh0bWxDaGVja1BhcmFncmFwaChjdHh0KTsKKwkJCQlpZiAoY3R4dC0+c2F4LT5jaGFyYWN0ZXJzICE9IE5VTEwpCisJCQkJICAgIGN0eHQtPnNheC0+Y2hhcmFjdGVycygKKwkJCQkJICAgIGN0eHQtPnVzZXJEYXRhLCAmY3VyLCAxKTsKKwkJCSAgICB9CisJCQl9CisJCQljdHh0LT50b2tlbiA9IDA7CisJCQljdHh0LT5jaGVja0luZGV4ID0gMDsKKwkJCWluLT5jdXIrKzsKKwkJCWJyZWFrOworCQkgICAgfQorCQl9CisJCWlmIChhdmFpbCA8IDIpCisJCSAgICBnb3RvIGRvbmU7CisJCWN1ciA9IGluLT5jdXJbMF07CisJCW5leHQgPSBpbi0+Y3VyWzFdOworCQljb25zID0gY3R4dC0+bmJDaGFyczsKKwkJaWYgKCh4bWxTdHJFcXVhbChjdHh0LT5uYW1lLCBCQURfQ0FTVCJzY3JpcHQiKSkgfHwKKwkJICAgICh4bWxTdHJFcXVhbChjdHh0LT5uYW1lLCBCQURfQ0FTVCJzdHlsZSIpKSkgeworCQkgICAgLyoKKwkJICAgICAqIEhhbmRsZSBTQ1JJUFQvU1RZTEUgc2VwYXJhdGVseQorCQkgICAgICovCisJCSAgICBpZiAoIXRlcm1pbmF0ZSkgeworCQkgICAgICAgIGludCBpZHg7CisJCQl4bWxDaGFyIHZhbDsKKworCQkJaWR4ID0gaHRtbFBhcnNlTG9va3VwU2VxdWVuY2UoY3R4dCwgJzwnLCAnLycsIDAsIDAsIDApOworCQkJaWYgKGlkeCA8IDApCisJCQkgICAgZ290byBkb25lOworCQkgICAgICAgIHZhbCA9IGluLT5jdXJbaWR4ICsgMl07CisJCQlpZiAodmFsID09IDApIC8qIGJhZCBjdXQgb2YgaW5wdXQgKi8KKwkJCSAgICBnb3RvIGRvbmU7CisJCSAgICB9CisJCSAgICBodG1sUGFyc2VTY3JpcHQoY3R4dCk7CisJCSAgICBpZiAoKGN1ciA9PSAnPCcpICYmIChuZXh0ID09ICcvJykpIHsKKwkJCWN0eHQtPmluc3RhdGUgPSBYTUxfUEFSU0VSX0VORF9UQUc7CisJCQljdHh0LT5jaGVja0luZGV4ID0gMDsKKyNpZmRlZiBERUJVR19QVVNICisJCQl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJCQkiSFBQOiBlbnRlcmluZyBFTkRfVEFHXG4iKTsKKyNlbmRpZgorCQkJYnJlYWs7CisJCSAgICB9CisJCX0gZWxzZSB7CisJCSAgICAvKgorCQkgICAgICogU29tZXRpbWVzIERPQ1RZUEUgYXJyaXZlcyBpbiB0aGUgbWlkZGxlIG9mIHRoZSBkb2N1bWVudAorCQkgICAgICovCisJCSAgICBpZiAoKGN1ciA9PSAnPCcpICYmIChuZXh0ID09ICchJykgJiYKKwkJCShVUFAoMikgPT0gJ0QnKSAmJiAoVVBQKDMpID09ICdPJykgJiYKKwkJCShVUFAoNCkgPT0gJ0MnKSAmJiAoVVBQKDUpID09ICdUJykgJiYKKwkJCShVUFAoNikgPT0gJ1knKSAmJiAoVVBQKDcpID09ICdQJykgJiYKKwkJCShVUFAoOCkgPT0gJ0UnKSkgeworCQkJaWYgKCghdGVybWluYXRlKSAmJgorCQkJICAgIChodG1sUGFyc2VMb29rdXBTZXF1ZW5jZShjdHh0LCAnPicsIDAsIDAsIDAsIDEpIDwgMCkpCisJCQkgICAgZ290byBkb25lOworCQkJaHRtbFBhcnNlRXJyKGN0eHQsIFhNTF9IVE1MX1NUUlVDVVJFX0VSUk9SLAorCQkJICAgICAgICAgICAgICJNaXNwbGFjZWQgRE9DVFlQRSBkZWNsYXJhdGlvblxuIiwKKwkJCQkgICAgIEJBRF9DQVNUICJET0NUWVBFIiAsIE5VTEwpOworCQkJaHRtbFBhcnNlRG9jVHlwZURlY2woY3R4dCk7CisJCSAgICB9IGVsc2UgaWYgKChjdXIgPT0gJzwnKSAmJiAobmV4dCA9PSAnIScpICYmCisJCQkoaW4tPmN1clsyXSA9PSAnLScpICYmIChpbi0+Y3VyWzNdID09ICctJykpIHsKKwkJCWlmICgoIXRlcm1pbmF0ZSkgJiYKKwkJCSAgICAoaHRtbFBhcnNlTG9va3VwU2VxdWVuY2UoCisJCQkJY3R4dCwgJy0nLCAnLScsICc+JywgMSwgMSkgPCAwKSkKKwkJCSAgICBnb3RvIGRvbmU7CisjaWZkZWYgREVCVUdfUFVTSAorCQkJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCQkJIkhQUDogUGFyc2luZyBDb21tZW50XG4iKTsKKyNlbmRpZgorCQkJaHRtbFBhcnNlQ29tbWVudChjdHh0KTsKKwkJCWN0eHQtPmluc3RhdGUgPSBYTUxfUEFSU0VSX0NPTlRFTlQ7CisJCSAgICB9IGVsc2UgaWYgKChjdXIgPT0gJzwnKSAmJiAobmV4dCA9PSAnPycpKSB7CisJCQlpZiAoKCF0ZXJtaW5hdGUpICYmCisJCQkgICAgKGh0bWxQYXJzZUxvb2t1cFNlcXVlbmNlKGN0eHQsICc+JywgMCwgMCwgMCwgMSkgPCAwKSkKKwkJCSAgICBnb3RvIGRvbmU7CisjaWZkZWYgREVCVUdfUFVTSAorCQkJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCQkJIkhQUDogUGFyc2luZyBQSVxuIik7CisjZW5kaWYKKwkJCWh0bWxQYXJzZVBJKGN0eHQpOworCQkJY3R4dC0+aW5zdGF0ZSA9IFhNTF9QQVJTRVJfQ09OVEVOVDsKKwkJICAgIH0gZWxzZSBpZiAoKGN1ciA9PSAnPCcpICYmIChuZXh0ID09ICchJykgJiYgKGF2YWlsIDwgNCkpIHsKKwkJCWdvdG8gZG9uZTsKKwkJICAgIH0gZWxzZSBpZiAoKGN1ciA9PSAnPCcpICYmIChuZXh0ID09ICcvJykpIHsKKwkJCWN0eHQtPmluc3RhdGUgPSBYTUxfUEFSU0VSX0VORF9UQUc7CisJCQljdHh0LT5jaGVja0luZGV4ID0gMDsKKyNpZmRlZiBERUJVR19QVVNICisJCQl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJCQkiSFBQOiBlbnRlcmluZyBFTkRfVEFHXG4iKTsKKyNlbmRpZgorCQkJYnJlYWs7CisJCSAgICB9IGVsc2UgaWYgKGN1ciA9PSAnPCcpIHsKKwkJCWN0eHQtPmluc3RhdGUgPSBYTUxfUEFSU0VSX1NUQVJUX1RBRzsKKwkJCWN0eHQtPmNoZWNrSW5kZXggPSAwOworI2lmZGVmIERFQlVHX1BVU0gKKwkJCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkJCSJIUFA6IGVudGVyaW5nIFNUQVJUX1RBR1xuIik7CisjZW5kaWYKKwkJCWJyZWFrOworCQkgICAgfSBlbHNlIGlmIChjdXIgPT0gJyYnKSB7CisJCQlpZiAoKCF0ZXJtaW5hdGUpICYmCisJCQkgICAgKGh0bWxQYXJzZUxvb2t1cENoYXJzKGN0eHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJBRF9DQVNUICI7ID4vIiwgNCkgPCAwKSkKKwkJCSAgICBnb3RvIGRvbmU7CisjaWZkZWYgREVCVUdfUFVTSAorCQkJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCQkJIkhQUDogUGFyc2luZyBSZWZlcmVuY2VcbiIpOworI2VuZGlmCisJCQkvKiBUT0RPOiBjaGVjayBnZW5lcmF0aW9uIG9mIHN1YnRyZWVzIGlmIG5vZW50ICEhISAqLworCQkJaHRtbFBhcnNlUmVmZXJlbmNlKGN0eHQpOworCQkgICAgfSBlbHNlIHsKKwkJICAgICAgICAvKgorCQkJICogY2hlY2sgdGhhdCB0aGUgdGV4dCBzZXF1ZW5jZSBpcyBjb21wbGV0ZQorCQkJICogYmVmb3JlIGhhbmRpbmcgb3V0IHRoZSBkYXRhIHRvIHRoZSBwYXJzZXIKKwkJCSAqIHRvIGF2b2lkIHByb2JsZW1zIHdpdGggZXJyb25lb3VzIGVuZCBvZgorCQkJICogZGF0YSBkZXRlY3Rpb24uCisJCQkgKi8KKwkJCWlmICgoIXRlcm1pbmF0ZSkgJiYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaHRtbFBhcnNlTG9va3VwQ2hhcnMoY3R4dCwgQkFEX0NBU1QgIjwmIiwgMikgPCAwKSkKKwkJCSAgICBnb3RvIGRvbmU7CisJCQljdHh0LT5jaGVja0luZGV4ID0gMDsKKyNpZmRlZiBERUJVR19QVVNICisJCQl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJCQkiSFBQOiBQYXJzaW5nIGNoYXIgZGF0YVxuIik7CisjZW5kaWYKKwkJCWh0bWxQYXJzZUNoYXJEYXRhKGN0eHQpOworCQkgICAgfQorCQl9CisJCWlmIChjb25zID09IGN0eHQtPm5iQ2hhcnMpIHsKKwkJICAgIGlmIChjdHh0LT5ub2RlICE9IE5VTEwpIHsKKwkJCWh0bWxQYXJzZUVycihjdHh0LCBYTUxfRVJSX0lOVEVSTkFMX0VSUk9SLAorCQkJICAgICAgICAgICAgICJkZXRlY3RlZCBhbiBlcnJvciBpbiBlbGVtZW50IGNvbnRlbnRcbiIsCisJCQkJICAgICBOVUxMLCBOVUxMKTsKKwkJICAgIH0KKwkJICAgIE5FWFQ7CisJCSAgICBicmVhazsKKwkJfQorCisJCWJyZWFrOworCSAgICB9CisgICAgICAgICAgICBjYXNlIFhNTF9QQVJTRVJfRU5EX1RBRzoKKwkJaWYgKGF2YWlsIDwgMikKKwkJICAgIGdvdG8gZG9uZTsKKwkJaWYgKCghdGVybWluYXRlKSAmJgorCQkgICAgKGh0bWxQYXJzZUxvb2t1cFNlcXVlbmNlKGN0eHQsICc+JywgMCwgMCwgMCwgMSkgPCAwKSkKKwkJICAgIGdvdG8gZG9uZTsKKwkJaHRtbFBhcnNlRW5kVGFnKGN0eHQpOworCQlpZiAoY3R4dC0+bmFtZU5yID09IDApIHsKKwkJICAgIGN0eHQtPmluc3RhdGUgPSBYTUxfUEFSU0VSX0VQSUxPRzsKKwkJfSBlbHNlIHsKKwkJICAgIGN0eHQtPmluc3RhdGUgPSBYTUxfUEFSU0VSX0NPTlRFTlQ7CisJCX0KKwkJY3R4dC0+Y2hlY2tJbmRleCA9IDA7CisjaWZkZWYgREVCVUdfUFVTSAorCQl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJCSJIUFA6IGVudGVyaW5nIENPTlRFTlRcbiIpOworI2VuZGlmCisJICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgWE1MX1BBUlNFUl9DREFUQV9TRUNUSU9OOgorCQlodG1sUGFyc2VFcnIoY3R4dCwgWE1MX0VSUl9JTlRFUk5BTF9FUlJPUiwKKwkJCSJIUFA6IGludGVybmFsIGVycm9yLCBzdGF0ZSA9PSBDREFUQVxuIiwKKwkJCSAgICAgTlVMTCwgTlVMTCk7CisJCWN0eHQtPmluc3RhdGUgPSBYTUxfUEFSU0VSX0NPTlRFTlQ7CisJCWN0eHQtPmNoZWNrSW5kZXggPSAwOworI2lmZGVmIERFQlVHX1BVU0gKKwkJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCQkiSFBQOiBlbnRlcmluZyBDT05URU5UXG4iKTsKKyNlbmRpZgorCQlicmVhazsKKyAgICAgICAgICAgIGNhc2UgWE1MX1BBUlNFUl9EVEQ6CisJCWh0bWxQYXJzZUVycihjdHh0LCBYTUxfRVJSX0lOVEVSTkFMX0VSUk9SLAorCQkJIkhQUDogaW50ZXJuYWwgZXJyb3IsIHN0YXRlID09IERURFxuIiwKKwkJCSAgICAgTlVMTCwgTlVMTCk7CisJCWN0eHQtPmluc3RhdGUgPSBYTUxfUEFSU0VSX0NPTlRFTlQ7CisJCWN0eHQtPmNoZWNrSW5kZXggPSAwOworI2lmZGVmIERFQlVHX1BVU0gKKwkJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCQkiSFBQOiBlbnRlcmluZyBDT05URU5UXG4iKTsKKyNlbmRpZgorCQlicmVhazsKKyAgICAgICAgICAgIGNhc2UgWE1MX1BBUlNFUl9DT01NRU5UOgorCQlodG1sUGFyc2VFcnIoY3R4dCwgWE1MX0VSUl9JTlRFUk5BTF9FUlJPUiwKKwkJCSJIUFA6IGludGVybmFsIGVycm9yLCBzdGF0ZSA9PSBDT01NRU5UXG4iLAorCQkJICAgICBOVUxMLCBOVUxMKTsKKwkJY3R4dC0+aW5zdGF0ZSA9IFhNTF9QQVJTRVJfQ09OVEVOVDsKKwkJY3R4dC0+Y2hlY2tJbmRleCA9IDA7CisjaWZkZWYgREVCVUdfUFVTSAorCQl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJCSJIUFA6IGVudGVyaW5nIENPTlRFTlRcbiIpOworI2VuZGlmCisJCWJyZWFrOworICAgICAgICAgICAgY2FzZSBYTUxfUEFSU0VSX1BJOgorCQlodG1sUGFyc2VFcnIoY3R4dCwgWE1MX0VSUl9JTlRFUk5BTF9FUlJPUiwKKwkJCSJIUFA6IGludGVybmFsIGVycm9yLCBzdGF0ZSA9PSBQSVxuIiwKKwkJCSAgICAgTlVMTCwgTlVMTCk7CisJCWN0eHQtPmluc3RhdGUgPSBYTUxfUEFSU0VSX0NPTlRFTlQ7CisJCWN0eHQtPmNoZWNrSW5kZXggPSAwOworI2lmZGVmIERFQlVHX1BVU0gKKwkJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCQkiSFBQOiBlbnRlcmluZyBDT05URU5UXG4iKTsKKyNlbmRpZgorCQlicmVhazsKKyAgICAgICAgICAgIGNhc2UgWE1MX1BBUlNFUl9FTlRJVFlfREVDTDoKKwkJaHRtbFBhcnNlRXJyKGN0eHQsIFhNTF9FUlJfSU5URVJOQUxfRVJST1IsCisJCQkiSFBQOiBpbnRlcm5hbCBlcnJvciwgc3RhdGUgPT0gRU5USVRZX0RFQ0xcbiIsCisJCQkgICAgIE5VTEwsIE5VTEwpOworCQljdHh0LT5pbnN0YXRlID0gWE1MX1BBUlNFUl9DT05URU5UOworCQljdHh0LT5jaGVja0luZGV4ID0gMDsKKyNpZmRlZiBERUJVR19QVVNICisJCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkJIkhQUDogZW50ZXJpbmcgQ09OVEVOVFxuIik7CisjZW5kaWYKKwkJYnJlYWs7CisgICAgICAgICAgICBjYXNlIFhNTF9QQVJTRVJfRU5USVRZX1ZBTFVFOgorCQlodG1sUGFyc2VFcnIoY3R4dCwgWE1MX0VSUl9JTlRFUk5BTF9FUlJPUiwKKwkJCSJIUFA6IGludGVybmFsIGVycm9yLCBzdGF0ZSA9PSBFTlRJVFlfVkFMVUVcbiIsCisJCQkgICAgIE5VTEwsIE5VTEwpOworCQljdHh0LT5pbnN0YXRlID0gWE1MX1BBUlNFUl9DT05URU5UOworCQljdHh0LT5jaGVja0luZGV4ID0gMDsKKyNpZmRlZiBERUJVR19QVVNICisJCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkJIkhQUDogZW50ZXJpbmcgRFREXG4iKTsKKyNlbmRpZgorCQlicmVhazsKKyAgICAgICAgICAgIGNhc2UgWE1MX1BBUlNFUl9BVFRSSUJVVEVfVkFMVUU6CisJCWh0bWxQYXJzZUVycihjdHh0LCBYTUxfRVJSX0lOVEVSTkFMX0VSUk9SLAorCQkJIkhQUDogaW50ZXJuYWwgZXJyb3IsIHN0YXRlID09IEFUVFJJQlVURV9WQUxVRVxuIiwKKwkJCSAgICAgTlVMTCwgTlVMTCk7CisJCWN0eHQtPmluc3RhdGUgPSBYTUxfUEFSU0VSX1NUQVJUX1RBRzsKKwkJY3R4dC0+Y2hlY2tJbmRleCA9IDA7CisjaWZkZWYgREVCVUdfUFVTSAorCQl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJCSJIUFA6IGVudGVyaW5nIFNUQVJUX1RBR1xuIik7CisjZW5kaWYKKwkJYnJlYWs7CisJICAgIGNhc2UgWE1MX1BBUlNFUl9TWVNURU1fTElURVJBTDoKKwkJaHRtbFBhcnNlRXJyKGN0eHQsIFhNTF9FUlJfSU5URVJOQUxfRVJST1IsCisJCSAgICAiSFBQOiBpbnRlcm5hbCBlcnJvciwgc3RhdGUgPT0gWE1MX1BBUlNFUl9TWVNURU1fTElURVJBTFxuIiwKKwkJCSAgICAgTlVMTCwgTlVMTCk7CisJCWN0eHQtPmluc3RhdGUgPSBYTUxfUEFSU0VSX0NPTlRFTlQ7CisJCWN0eHQtPmNoZWNrSW5kZXggPSAwOworI2lmZGVmIERFQlVHX1BVU0gKKwkJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCQkiSFBQOiBlbnRlcmluZyBDT05URU5UXG4iKTsKKyNlbmRpZgorCQlicmVhazsKKwkgICAgY2FzZSBYTUxfUEFSU0VSX0lHTk9SRToKKwkJaHRtbFBhcnNlRXJyKGN0eHQsIFhNTF9FUlJfSU5URVJOQUxfRVJST1IsCisJCQkiSFBQOiBpbnRlcm5hbCBlcnJvciwgc3RhdGUgPT0gWE1MX1BBUlNFUl9JR05PUkVcbiIsCisJCQkgICAgIE5VTEwsIE5VTEwpOworCQljdHh0LT5pbnN0YXRlID0gWE1MX1BBUlNFUl9DT05URU5UOworCQljdHh0LT5jaGVja0luZGV4ID0gMDsKKyNpZmRlZiBERUJVR19QVVNICisJCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkJIkhQUDogZW50ZXJpbmcgQ09OVEVOVFxuIik7CisjZW5kaWYKKwkJYnJlYWs7CisJICAgIGNhc2UgWE1MX1BBUlNFUl9QVUJMSUNfTElURVJBTDoKKwkJaHRtbFBhcnNlRXJyKGN0eHQsIFhNTF9FUlJfSU5URVJOQUxfRVJST1IsCisJCQkiSFBQOiBpbnRlcm5hbCBlcnJvciwgc3RhdGUgPT0gWE1MX1BBUlNFUl9MSVRFUkFMXG4iLAorCQkJICAgICBOVUxMLCBOVUxMKTsKKwkJY3R4dC0+aW5zdGF0ZSA9IFhNTF9QQVJTRVJfQ09OVEVOVDsKKwkJY3R4dC0+Y2hlY2tJbmRleCA9IDA7CisjaWZkZWYgREVCVUdfUFVTSAorCQl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJCSJIUFA6IGVudGVyaW5nIENPTlRFTlRcbiIpOworI2VuZGlmCisJCWJyZWFrOworCisJfQorICAgIH0KK2RvbmU6CisgICAgaWYgKChhdmFpbCA9PSAwKSAmJiAodGVybWluYXRlKSkgeworCWh0bWxBdXRvQ2xvc2VPbkVuZChjdHh0KTsKKwlpZiAoKGN0eHQtPm5hbWVOciA9PSAwKSAmJiAoY3R4dC0+aW5zdGF0ZSAhPSBYTUxfUEFSU0VSX0VPRikpIHsKKwkgICAgLyoKKwkgICAgICogU0FYOiBlbmQgb2YgdGhlIGRvY3VtZW50IHByb2Nlc3NpbmcuCisJICAgICAqLworCSAgICBjdHh0LT5pbnN0YXRlID0gWE1MX1BBUlNFUl9FT0Y7CisJICAgIGlmICgoY3R4dC0+c2F4KSAmJiAoY3R4dC0+c2F4LT5lbmREb2N1bWVudCAhPSBOVUxMKSkKKwkJY3R4dC0+c2F4LT5lbmREb2N1bWVudChjdHh0LT51c2VyRGF0YSk7CisJfQorICAgIH0KKyAgICBpZiAoKCEoY3R4dC0+b3B0aW9ucyAmIEhUTUxfUEFSU0VfTk9ERUZEVEQpKSAmJiAoY3R4dC0+bXlEb2MgIT0gTlVMTCkgJiYKKwkoKHRlcm1pbmF0ZSkgfHwgKGN0eHQtPmluc3RhdGUgPT0gWE1MX1BBUlNFUl9FT0YpIHx8CisJIChjdHh0LT5pbnN0YXRlID09IFhNTF9QQVJTRVJfRVBJTE9HKSkpIHsKKwl4bWxEdGRQdHIgZHRkOworCWR0ZCA9IHhtbEdldEludFN1YnNldChjdHh0LT5teURvYyk7CisJaWYgKGR0ZCA9PSBOVUxMKQorCSAgICBjdHh0LT5teURvYy0+aW50U3Vic2V0ID0KKwkJeG1sQ3JlYXRlSW50U3Vic2V0KGN0eHQtPm15RG9jLCBCQURfQ0FTVCAiaHRtbCIsCisJCSAgICBCQURfQ0FTVCAiLS8vVzNDLy9EVEQgSFRNTCA0LjAgVHJhbnNpdGlvbmFsLy9FTiIsCisJCSAgICBCQURfQ0FTVCAiaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLWh0bWw0MC9sb29zZS5kdGQiKTsKKyAgICB9CisjaWZkZWYgREVCVUdfUFVTSAorICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCAiSFBQOiBkb25lICVkXG4iLCByZXQpOworI2VuZGlmCisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogaHRtbFBhcnNlQ2h1bms6CisgKiBAY3R4dDogIGFuIEhUTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBjaHVuazogIGFuIGNoYXIgYXJyYXkKKyAqIEBzaXplOiAgdGhlIHNpemUgaW4gYnl0ZSBvZiB0aGUgY2h1bmsKKyAqIEB0ZXJtaW5hdGU6ICBsYXN0IGNodW5rIGluZGljYXRvcgorICoKKyAqIFBhcnNlIGEgQ2h1bmsgb2YgbWVtb3J5CisgKgorICogUmV0dXJucyB6ZXJvIGlmIG5vIGVycm9yLCB0aGUgeG1sUGFyc2VyRXJyb3JzIG90aGVyd2lzZS4KKyAqLworaW50CitodG1sUGFyc2VDaHVuayhodG1sUGFyc2VyQ3R4dFB0ciBjdHh0LCBjb25zdCBjaGFyICpjaHVuaywgaW50IHNpemUsCisgICAgICAgICAgICAgIGludCB0ZXJtaW5hdGUpIHsKKyAgICBpZiAoKGN0eHQgPT0gTlVMTCkgfHwgKGN0eHQtPmlucHV0ID09IE5VTEwpKSB7CisJaHRtbFBhcnNlRXJyKGN0eHQsIFhNTF9FUlJfSU5URVJOQUxfRVJST1IsCisJCSAgICAgImh0bWxQYXJzZUNodW5rOiBjb250ZXh0IGVycm9yXG4iLCBOVUxMLCBOVUxMKTsKKwlyZXR1cm4oWE1MX0VSUl9JTlRFUk5BTF9FUlJPUik7CisgICAgfQorICAgIGlmICgoc2l6ZSA+IDApICYmIChjaHVuayAhPSBOVUxMKSAmJiAoY3R4dC0+aW5wdXQgIT0gTlVMTCkgJiYKKyAgICAgICAgKGN0eHQtPmlucHV0LT5idWYgIT0gTlVMTCkgJiYgKGN0eHQtPmluc3RhdGUgIT0gWE1MX1BBUlNFUl9FT0YpKSAgeworCXNpemVfdCBiYXNlID0geG1sQnVmR2V0SW5wdXRCYXNlKGN0eHQtPmlucHV0LT5idWYtPmJ1ZmZlciwgY3R4dC0+aW5wdXQpOworCXNpemVfdCBjdXIgPSBjdHh0LT5pbnB1dC0+Y3VyIC0gY3R4dC0+aW5wdXQtPmJhc2U7CisJaW50IHJlczsKKworCXJlcyA9IHhtbFBhcnNlcklucHV0QnVmZmVyUHVzaChjdHh0LT5pbnB1dC0+YnVmLCBzaXplLCBjaHVuayk7CisJaWYgKHJlcyA8IDApIHsKKwkgICAgY3R4dC0+ZXJyTm8gPSBYTUxfUEFSU0VSX0VPRjsKKwkgICAgY3R4dC0+ZGlzYWJsZVNBWCA9IDE7CisJICAgIHJldHVybiAoWE1MX1BBUlNFUl9FT0YpOworCX0KKyAgICAgICAgeG1sQnVmU2V0SW5wdXRCYXNlQ3VyKGN0eHQtPmlucHV0LT5idWYtPmJ1ZmZlciwgY3R4dC0+aW5wdXQsIGJhc2UsIGN1cik7CisjaWZkZWYgREVCVUdfUFVTSAorCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCAiSFBQOiBwdXNoZWQgJWRcbiIsIHNpemUpOworI2VuZGlmCisKKyNpZiAwCisJaWYgKCh0ZXJtaW5hdGUpIHx8IChjdHh0LT5pbnB1dC0+YnVmLT5idWZmZXItPnVzZSA+IDgwKSkKKwkgICAgaHRtbFBhcnNlVHJ5T3JGaW5pc2goY3R4dCwgdGVybWluYXRlKTsKKyNlbmRpZgorICAgIH0gZWxzZSBpZiAoY3R4dC0+aW5zdGF0ZSAhPSBYTUxfUEFSU0VSX0VPRikgeworCWlmICgoY3R4dC0+aW5wdXQgIT0gTlVMTCkgJiYgY3R4dC0+aW5wdXQtPmJ1ZiAhPSBOVUxMKSB7CisJICAgIHhtbFBhcnNlcklucHV0QnVmZmVyUHRyIGluID0gY3R4dC0+aW5wdXQtPmJ1ZjsKKwkgICAgaWYgKChpbi0+ZW5jb2RlciAhPSBOVUxMKSAmJiAoaW4tPmJ1ZmZlciAhPSBOVUxMKSAmJgorCQkgICAgKGluLT5yYXcgIT0gTlVMTCkpIHsKKwkJaW50IG5iY2hhcnM7CisJCXNpemVfdCBiYXNlID0geG1sQnVmR2V0SW5wdXRCYXNlKGluLT5idWZmZXIsIGN0eHQtPmlucHV0KTsKKwkJc2l6ZV90IGN1cnJlbnQgPSBjdHh0LT5pbnB1dC0+Y3VyIC0gY3R4dC0+aW5wdXQtPmJhc2U7CisKKwkJbmJjaGFycyA9IHhtbENoYXJFbmNJbnB1dChpbiwgdGVybWluYXRlKTsKKwkJaWYgKG5iY2hhcnMgPCAwKSB7CisJCSAgICBodG1sUGFyc2VFcnIoY3R4dCwgWE1MX0VSUl9JTlZBTElEX0VOQ09ESU5HLAorCQkJICAgICAgICAgImVuY29kZXIgZXJyb3JcbiIsIE5VTEwsIE5VTEwpOworCQkgICAgcmV0dXJuKFhNTF9FUlJfSU5WQUxJRF9FTkNPRElORyk7CisJCX0KKwkJeG1sQnVmU2V0SW5wdXRCYXNlQ3VyKGluLT5idWZmZXIsIGN0eHQtPmlucHV0LCBiYXNlLCBjdXJyZW50KTsKKwkgICAgfQorCX0KKyAgICB9CisgICAgaHRtbFBhcnNlVHJ5T3JGaW5pc2goY3R4dCwgdGVybWluYXRlKTsKKyAgICBpZiAodGVybWluYXRlKSB7CisJaWYgKChjdHh0LT5pbnN0YXRlICE9IFhNTF9QQVJTRVJfRU9GKSAmJgorCSAgICAoY3R4dC0+aW5zdGF0ZSAhPSBYTUxfUEFSU0VSX0VQSUxPRykgJiYKKwkgICAgKGN0eHQtPmluc3RhdGUgIT0gWE1MX1BBUlNFUl9NSVNDKSkgeworCSAgICBjdHh0LT5lcnJObyA9IFhNTF9FUlJfRE9DVU1FTlRfRU5EOworCSAgICBjdHh0LT53ZWxsRm9ybWVkID0gMDsKKwl9CisJaWYgKGN0eHQtPmluc3RhdGUgIT0gWE1MX1BBUlNFUl9FT0YpIHsKKwkgICAgaWYgKChjdHh0LT5zYXgpICYmIChjdHh0LT5zYXgtPmVuZERvY3VtZW50ICE9IE5VTEwpKQorCQljdHh0LT5zYXgtPmVuZERvY3VtZW50KGN0eHQtPnVzZXJEYXRhKTsKKwl9CisJY3R4dC0+aW5zdGF0ZSA9IFhNTF9QQVJTRVJfRU9GOworICAgIH0KKyAgICByZXR1cm4oKHhtbFBhcnNlckVycm9ycykgY3R4dC0+ZXJyTm8pOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQkJVXNlciBlbnRyeSBwb2ludHMJCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioKKyAqIGh0bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dDoKKyAqIEBzYXg6ICBhIFNBWCBoYW5kbGVyCisgKiBAdXNlcl9kYXRhOiAgVGhlIHVzZXIgZGF0YSByZXR1cm5lZCBvbiBTQVggY2FsbGJhY2tzCisgKiBAY2h1bms6ICBhIHBvaW50ZXIgdG8gYW4gYXJyYXkgb2YgY2hhcnMKKyAqIEBzaXplOiAgbnVtYmVyIG9mIGNoYXJzIGluIHRoZSBhcnJheQorICogQGZpbGVuYW1lOiAgYW4gb3B0aW9uYWwgZmlsZSBuYW1lIG9yIFVSSQorICogQGVuYzogIGFuIG9wdGlvbmFsIGVuY29kaW5nCisgKgorICogQ3JlYXRlIGEgcGFyc2VyIGNvbnRleHQgZm9yIHVzaW5nIHRoZSBIVE1MIHBhcnNlciBpbiBwdXNoIG1vZGUKKyAqIFRoZSB2YWx1ZSBvZiBAZmlsZW5hbWUgaXMgdXNlZCBmb3IgZmV0Y2hpbmcgZXh0ZXJuYWwgZW50aXRpZXMKKyAqIGFuZCBlcnJvci93YXJuaW5nIHJlcG9ydHMuCisgKgorICogUmV0dXJucyB0aGUgbmV3IHBhcnNlciBjb250ZXh0IG9yIE5VTEwKKyAqLworaHRtbFBhcnNlckN0eHRQdHIKK2h0bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dChodG1sU0FYSGFuZGxlclB0ciBzYXgsIHZvaWQgKnVzZXJfZGF0YSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpjaHVuaywgaW50IHNpemUsIGNvbnN0IGNoYXIgKmZpbGVuYW1lLAorCQkJIHhtbENoYXJFbmNvZGluZyBlbmMpIHsKKyAgICBodG1sUGFyc2VyQ3R4dFB0ciBjdHh0OworICAgIGh0bWxQYXJzZXJJbnB1dFB0ciBpbnB1dFN0cmVhbTsKKyAgICB4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciBidWY7CisKKyAgICB4bWxJbml0UGFyc2VyKCk7CisKKyAgICBidWYgPSB4bWxBbGxvY1BhcnNlcklucHV0QnVmZmVyKGVuYyk7CisgICAgaWYgKGJ1ZiA9PSBOVUxMKSByZXR1cm4oTlVMTCk7CisKKyAgICBjdHh0ID0gaHRtbE5ld1BhcnNlckN0eHQoKTsKKyAgICBpZiAoY3R4dCA9PSBOVUxMKSB7CisJeG1sRnJlZVBhcnNlcklucHV0QnVmZmVyKGJ1Zik7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBpZihlbmM9PVhNTF9DSEFSX0VOQ09ESU5HX1VURjggfHwgYnVmLT5lbmNvZGVyKQorCWN0eHQtPmNoYXJzZXQ9WE1MX0NIQVJfRU5DT0RJTkdfVVRGODsKKyAgICBpZiAoc2F4ICE9IE5VTEwpIHsKKwlpZiAoY3R4dC0+c2F4ICE9ICh4bWxTQVhIYW5kbGVyUHRyKSAmaHRtbERlZmF1bHRTQVhIYW5kbGVyKQorCSAgICB4bWxGcmVlKGN0eHQtPnNheCk7CisJY3R4dC0+c2F4ID0gKGh0bWxTQVhIYW5kbGVyUHRyKSB4bWxNYWxsb2Moc2l6ZW9mKGh0bWxTQVhIYW5kbGVyKSk7CisJaWYgKGN0eHQtPnNheCA9PSBOVUxMKSB7CisJICAgIHhtbEZyZWUoYnVmKTsKKwkgICAgeG1sRnJlZShjdHh0KTsKKwkgICAgcmV0dXJuKE5VTEwpOworCX0KKwltZW1jcHkoY3R4dC0+c2F4LCBzYXgsIHNpemVvZihodG1sU0FYSGFuZGxlcikpOworCWlmICh1c2VyX2RhdGEgIT0gTlVMTCkKKwkgICAgY3R4dC0+dXNlckRhdGEgPSB1c2VyX2RhdGE7CisgICAgfQorICAgIGlmIChmaWxlbmFtZSA9PSBOVUxMKSB7CisJY3R4dC0+ZGlyZWN0b3J5ID0gTlVMTDsKKyAgICB9IGVsc2UgeworICAgICAgICBjdHh0LT5kaXJlY3RvcnkgPSB4bWxQYXJzZXJHZXREaXJlY3RvcnkoZmlsZW5hbWUpOworICAgIH0KKworICAgIGlucHV0U3RyZWFtID0gaHRtbE5ld0lucHV0U3RyZWFtKGN0eHQpOworICAgIGlmIChpbnB1dFN0cmVhbSA9PSBOVUxMKSB7CisJeG1sRnJlZVBhcnNlckN0eHQoY3R4dCk7CisJeG1sRnJlZShidWYpOworCXJldHVybihOVUxMKTsKKyAgICB9CisKKyAgICBpZiAoZmlsZW5hbWUgPT0gTlVMTCkKKwlpbnB1dFN0cmVhbS0+ZmlsZW5hbWUgPSBOVUxMOworICAgIGVsc2UKKwlpbnB1dFN0cmVhbS0+ZmlsZW5hbWUgPSAoY2hhciAqKQorCSAgICB4bWxDYW5vbmljUGF0aCgoY29uc3QgeG1sQ2hhciAqKSBmaWxlbmFtZSk7CisgICAgaW5wdXRTdHJlYW0tPmJ1ZiA9IGJ1ZjsKKyAgICB4bWxCdWZSZXNldElucHV0KGJ1Zi0+YnVmZmVyLCBpbnB1dFN0cmVhbSk7CisKKyAgICBpbnB1dFB1c2goY3R4dCwgaW5wdXRTdHJlYW0pOworCisgICAgaWYgKChzaXplID4gMCkgJiYgKGNodW5rICE9IE5VTEwpICYmIChjdHh0LT5pbnB1dCAhPSBOVUxMKSAmJgorICAgICAgICAoY3R4dC0+aW5wdXQtPmJ1ZiAhPSBOVUxMKSkgIHsKKwlzaXplX3QgYmFzZSA9IHhtbEJ1ZkdldElucHV0QmFzZShjdHh0LT5pbnB1dC0+YnVmLT5idWZmZXIsIGN0eHQtPmlucHV0KTsKKwlzaXplX3QgY3VyID0gY3R4dC0+aW5wdXQtPmN1ciAtIGN0eHQtPmlucHV0LT5iYXNlOworCisJeG1sUGFyc2VySW5wdXRCdWZmZXJQdXNoKGN0eHQtPmlucHV0LT5idWYsIHNpemUsIGNodW5rKTsKKworICAgICAgICB4bWxCdWZTZXRJbnB1dEJhc2VDdXIoY3R4dC0+aW5wdXQtPmJ1Zi0+YnVmZmVyLCBjdHh0LT5pbnB1dCwgYmFzZSwgY3VyKTsKKyNpZmRlZiBERUJVR19QVVNICisJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICJIUFA6IHB1c2hlZCAlZFxuIiwgc2l6ZSk7CisjZW5kaWYKKyAgICB9CisgICAgY3R4dC0+cHJvZ3Jlc3NpdmUgPSAxOworCisgICAgcmV0dXJuKGN0eHQpOworfQorI2VuZGlmIC8qIExJQlhNTF9QVVNIX0VOQUJMRUQgKi8KKworLyoqCisgKiBodG1sU0FYUGFyc2VEb2M6CisgKiBAY3VyOiAgYSBwb2ludGVyIHRvIGFuIGFycmF5IG9mIHhtbENoYXIKKyAqIEBlbmNvZGluZzogIGEgZnJlZSBmb3JtIEMgc3RyaW5nIGRlc2NyaWJpbmcgdGhlIEhUTUwgZG9jdW1lbnQgZW5jb2RpbmcsIG9yIE5VTEwKKyAqIEBzYXg6ICB0aGUgU0FYIGhhbmRsZXIgYmxvY2sKKyAqIEB1c2VyRGF0YTogaWYgdXNpbmcgU0FYLCB0aGlzIHBvaW50ZXIgd2lsbCBiZSBwcm92aWRlZCBvbiBjYWxsYmFja3MuCisgKgorICogUGFyc2UgYW4gSFRNTCBpbi1tZW1vcnkgZG9jdW1lbnQuIElmIHNheCBpcyBub3QgTlVMTCwgdXNlIHRoZSBTQVggY2FsbGJhY2tzCisgKiB0byBoYW5kbGUgcGFyc2UgZXZlbnRzLiBJZiBzYXggaXMgTlVMTCwgZmFsbGJhY2sgdG8gdGhlIGRlZmF1bHQgRE9NCisgKiBiZWhhdmlvciBhbmQgcmV0dXJuIGEgdHJlZS4KKyAqCisgKiBSZXR1cm5zIHRoZSByZXN1bHRpbmcgZG9jdW1lbnQgdHJlZSB1bmxlc3MgU0FYIGlzIE5VTEwgb3IgdGhlIGRvY3VtZW50IGlzCisgKiAgICAgbm90IHdlbGwgZm9ybWVkLgorICovCisKK2h0bWxEb2NQdHIKK2h0bWxTQVhQYXJzZURvYyh4bWxDaGFyICpjdXIsIGNvbnN0IGNoYXIgKmVuY29kaW5nLCBodG1sU0FYSGFuZGxlclB0ciBzYXgsIHZvaWQgKnVzZXJEYXRhKSB7CisgICAgaHRtbERvY1B0ciByZXQ7CisgICAgaHRtbFBhcnNlckN0eHRQdHIgY3R4dDsKKworICAgIHhtbEluaXRQYXJzZXIoKTsKKworICAgIGlmIChjdXIgPT0gTlVMTCkgcmV0dXJuKE5VTEwpOworCisKKyAgICBjdHh0ID0gaHRtbENyZWF0ZURvY1BhcnNlckN0eHQoY3VyLCBlbmNvZGluZyk7CisgICAgaWYgKGN0eHQgPT0gTlVMTCkgcmV0dXJuKE5VTEwpOworICAgIGlmIChzYXggIT0gTlVMTCkgeworICAgICAgICBpZiAoY3R4dC0+c2F4ICE9IE5VTEwpIHhtbEZyZWUgKGN0eHQtPnNheCk7CisgICAgICAgIGN0eHQtPnNheCA9IHNheDsKKyAgICAgICAgY3R4dC0+dXNlckRhdGEgPSB1c2VyRGF0YTsKKyAgICB9CisKKyAgICBodG1sUGFyc2VEb2N1bWVudChjdHh0KTsKKyAgICByZXQgPSBjdHh0LT5teURvYzsKKyAgICBpZiAoc2F4ICE9IE5VTEwpIHsKKwljdHh0LT5zYXggPSBOVUxMOworCWN0eHQtPnVzZXJEYXRhID0gTlVMTDsKKyAgICB9CisgICAgaHRtbEZyZWVQYXJzZXJDdHh0KGN0eHQpOworCisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogaHRtbFBhcnNlRG9jOgorICogQGN1cjogIGEgcG9pbnRlciB0byBhbiBhcnJheSBvZiB4bWxDaGFyCisgKiBAZW5jb2Rpbmc6ICBhIGZyZWUgZm9ybSBDIHN0cmluZyBkZXNjcmliaW5nIHRoZSBIVE1MIGRvY3VtZW50IGVuY29kaW5nLCBvciBOVUxMCisgKgorICogcGFyc2UgYW4gSFRNTCBpbi1tZW1vcnkgZG9jdW1lbnQgYW5kIGJ1aWxkIGEgdHJlZS4KKyAqCisgKiBSZXR1cm5zIHRoZSByZXN1bHRpbmcgZG9jdW1lbnQgdHJlZQorICovCisKK2h0bWxEb2NQdHIKK2h0bWxQYXJzZURvYyh4bWxDaGFyICpjdXIsIGNvbnN0IGNoYXIgKmVuY29kaW5nKSB7CisgICAgcmV0dXJuKGh0bWxTQVhQYXJzZURvYyhjdXIsIGVuY29kaW5nLCBOVUxMLCBOVUxMKSk7Cit9CisKKworLyoqCisgKiBodG1sQ3JlYXRlRmlsZVBhcnNlckN0eHQ6CisgKiBAZmlsZW5hbWU6ICB0aGUgZmlsZW5hbWUKKyAqIEBlbmNvZGluZzogIGEgZnJlZSBmb3JtIEMgc3RyaW5nIGRlc2NyaWJpbmcgdGhlIEhUTUwgZG9jdW1lbnQgZW5jb2RpbmcsIG9yIE5VTEwKKyAqCisgKiBDcmVhdGUgYSBwYXJzZXIgY29udGV4dCBmb3IgYSBmaWxlIGNvbnRlbnQuCisgKiBBdXRvbWF0aWMgc3VwcG9ydCBmb3IgWkxJQi9Db21wcmVzcyBjb21wcmVzc2VkIGRvY3VtZW50IGlzIHByb3ZpZGVkCisgKiBieSBkZWZhdWx0IGlmIGZvdW5kIGF0IGNvbXBpbGUtdGltZS4KKyAqCisgKiBSZXR1cm5zIHRoZSBuZXcgcGFyc2VyIGNvbnRleHQgb3IgTlVMTAorICovCitodG1sUGFyc2VyQ3R4dFB0cgoraHRtbENyZWF0ZUZpbGVQYXJzZXJDdHh0KGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBjb25zdCBjaGFyICplbmNvZGluZykKK3sKKyAgICBodG1sUGFyc2VyQ3R4dFB0ciBjdHh0OworICAgIGh0bWxQYXJzZXJJbnB1dFB0ciBpbnB1dFN0cmVhbTsKKyAgICBjaGFyICpjYW5vbmljRmlsZW5hbWU7CisgICAgLyogaHRtbENoYXJFbmNvZGluZyBlbmM7ICovCisgICAgeG1sQ2hhciAqY29udGVudCwgKmNvbnRlbnRfbGluZSA9ICh4bWxDaGFyICopICJjaGFyc2V0PSI7CisKKyAgICBpZiAoZmlsZW5hbWUgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuKE5VTEwpOworCisgICAgY3R4dCA9IGh0bWxOZXdQYXJzZXJDdHh0KCk7CisgICAgaWYgKGN0eHQgPT0gTlVMTCkgeworCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgY2Fub25pY0ZpbGVuYW1lID0gKGNoYXIgKikgeG1sQ2Fub25pY1BhdGgoKGNvbnN0IHhtbENoYXIgKikgZmlsZW5hbWUpOworICAgIGlmIChjYW5vbmljRmlsZW5hbWUgPT0gTlVMTCkgeworI2lmZGVmIExJQlhNTF9TQVgxX0VOQUJMRUQKKwlpZiAoeG1sRGVmYXVsdFNBWEhhbmRsZXIuZXJyb3IgIT0gTlVMTCkgeworCSAgICB4bWxEZWZhdWx0U0FYSGFuZGxlci5lcnJvcihOVUxMLCAib3V0IG9mIG1lbW9yeVxuIik7CisJfQorI2VuZGlmCisJeG1sRnJlZVBhcnNlckN0eHQoY3R4dCk7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKworICAgIGlucHV0U3RyZWFtID0geG1sTG9hZEV4dGVybmFsRW50aXR5KGNhbm9uaWNGaWxlbmFtZSwgTlVMTCwgY3R4dCk7CisgICAgeG1sRnJlZShjYW5vbmljRmlsZW5hbWUpOworICAgIGlmIChpbnB1dFN0cmVhbSA9PSBOVUxMKSB7CisJeG1sRnJlZVBhcnNlckN0eHQoY3R4dCk7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKworICAgIGlucHV0UHVzaChjdHh0LCBpbnB1dFN0cmVhbSk7CisKKyAgICAvKiBzZXQgZW5jb2RpbmcgKi8KKyAgICBpZiAoZW5jb2RpbmcpIHsKKyAgICAgICAgc2l6ZV90IGwgPSBzdHJsZW4oZW5jb2RpbmcpOworCisJaWYgKGwgPCAxMDAwKSB7CisJICAgIGNvbnRlbnQgPSB4bWxNYWxsb2NBdG9taWMgKHhtbFN0cmxlbihjb250ZW50X2xpbmUpICsgbCArIDEpOworCSAgICBpZiAoY29udGVudCkgeworCQlzdHJjcHkgKChjaGFyICopY29udGVudCwgKGNoYXIgKiljb250ZW50X2xpbmUpOworCQlzdHJjYXQgKChjaGFyICopY29udGVudCwgKGNoYXIgKillbmNvZGluZyk7CisJCWh0bWxDaGVja0VuY29kaW5nIChjdHh0LCBjb250ZW50KTsKKwkJeG1sRnJlZSAoY29udGVudCk7CisJICAgIH0KKwl9CisgICAgfQorCisgICAgcmV0dXJuKGN0eHQpOworfQorCisvKioKKyAqIGh0bWxTQVhQYXJzZUZpbGU6CisgKiBAZmlsZW5hbWU6ICB0aGUgZmlsZW5hbWUKKyAqIEBlbmNvZGluZzogIGEgZnJlZSBmb3JtIEMgc3RyaW5nIGRlc2NyaWJpbmcgdGhlIEhUTUwgZG9jdW1lbnQgZW5jb2RpbmcsIG9yIE5VTEwKKyAqIEBzYXg6ICB0aGUgU0FYIGhhbmRsZXIgYmxvY2sKKyAqIEB1c2VyRGF0YTogaWYgdXNpbmcgU0FYLCB0aGlzIHBvaW50ZXIgd2lsbCBiZSBwcm92aWRlZCBvbiBjYWxsYmFja3MuCisgKgorICogcGFyc2UgYW4gSFRNTCBmaWxlIGFuZCBidWlsZCBhIHRyZWUuIEF1dG9tYXRpYyBzdXBwb3J0IGZvciBaTElCL0NvbXByZXNzCisgKiBjb21wcmVzc2VkIGRvY3VtZW50IGlzIHByb3ZpZGVkIGJ5IGRlZmF1bHQgaWYgZm91bmQgYXQgY29tcGlsZS10aW1lLgorICogSXQgdXNlIHRoZSBnaXZlbiBTQVggZnVuY3Rpb24gYmxvY2sgdG8gaGFuZGxlIHRoZSBwYXJzaW5nIGNhbGxiYWNrLgorICogSWYgc2F4IGlzIE5VTEwsIGZhbGxiYWNrIHRvIHRoZSBkZWZhdWx0IERPTSB0cmVlIGJ1aWxkaW5nIHJvdXRpbmVzLgorICoKKyAqIFJldHVybnMgdGhlIHJlc3VsdGluZyBkb2N1bWVudCB0cmVlIHVubGVzcyBTQVggaXMgTlVMTCBvciB0aGUgZG9jdW1lbnQgaXMKKyAqICAgICBub3Qgd2VsbCBmb3JtZWQuCisgKi8KKworaHRtbERvY1B0cgoraHRtbFNBWFBhcnNlRmlsZShjb25zdCBjaGFyICpmaWxlbmFtZSwgY29uc3QgY2hhciAqZW5jb2RpbmcsIGh0bWxTQVhIYW5kbGVyUHRyIHNheCwKKyAgICAgICAgICAgICAgICAgdm9pZCAqdXNlckRhdGEpIHsKKyAgICBodG1sRG9jUHRyIHJldDsKKyAgICBodG1sUGFyc2VyQ3R4dFB0ciBjdHh0OworICAgIGh0bWxTQVhIYW5kbGVyUHRyIG9sZHNheCA9IE5VTEw7CisKKyAgICB4bWxJbml0UGFyc2VyKCk7CisKKyAgICBjdHh0ID0gaHRtbENyZWF0ZUZpbGVQYXJzZXJDdHh0KGZpbGVuYW1lLCBlbmNvZGluZyk7CisgICAgaWYgKGN0eHQgPT0gTlVMTCkgcmV0dXJuKE5VTEwpOworICAgIGlmIChzYXggIT0gTlVMTCkgeworCW9sZHNheCA9IGN0eHQtPnNheDsKKyAgICAgICAgY3R4dC0+c2F4ID0gc2F4OworICAgICAgICBjdHh0LT51c2VyRGF0YSA9IHVzZXJEYXRhOworICAgIH0KKworICAgIGh0bWxQYXJzZURvY3VtZW50KGN0eHQpOworCisgICAgcmV0ID0gY3R4dC0+bXlEb2M7CisgICAgaWYgKHNheCAhPSBOVUxMKSB7CisgICAgICAgIGN0eHQtPnNheCA9IG9sZHNheDsKKyAgICAgICAgY3R4dC0+dXNlckRhdGEgPSBOVUxMOworICAgIH0KKyAgICBodG1sRnJlZVBhcnNlckN0eHQoY3R4dCk7CisKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiBodG1sUGFyc2VGaWxlOgorICogQGZpbGVuYW1lOiAgdGhlIGZpbGVuYW1lCisgKiBAZW5jb2Rpbmc6ICBhIGZyZWUgZm9ybSBDIHN0cmluZyBkZXNjcmliaW5nIHRoZSBIVE1MIGRvY3VtZW50IGVuY29kaW5nLCBvciBOVUxMCisgKgorICogcGFyc2UgYW4gSFRNTCBmaWxlIGFuZCBidWlsZCBhIHRyZWUuIEF1dG9tYXRpYyBzdXBwb3J0IGZvciBaTElCL0NvbXByZXNzCisgKiBjb21wcmVzc2VkIGRvY3VtZW50IGlzIHByb3ZpZGVkIGJ5IGRlZmF1bHQgaWYgZm91bmQgYXQgY29tcGlsZS10aW1lLgorICoKKyAqIFJldHVybnMgdGhlIHJlc3VsdGluZyBkb2N1bWVudCB0cmVlCisgKi8KKworaHRtbERvY1B0cgoraHRtbFBhcnNlRmlsZShjb25zdCBjaGFyICpmaWxlbmFtZSwgY29uc3QgY2hhciAqZW5jb2RpbmcpIHsKKyAgICByZXR1cm4oaHRtbFNBWFBhcnNlRmlsZShmaWxlbmFtZSwgZW5jb2RpbmcsIE5VTEwsIE5VTEwpKTsKK30KKworLyoqCisgKiBodG1sSGFuZGxlT21pdHRlZEVsZW06CisgKiBAdmFsOiAgaW50IDAgb3IgMQorICoKKyAqIFNldCBhbmQgcmV0dXJuIHRoZSBwcmV2aW91cyB2YWx1ZSBmb3IgaGFuZGxpbmcgSFRNTCBvbWl0dGVkIHRhZ3MuCisgKgorICogUmV0dXJucyB0aGUgbGFzdCB2YWx1ZSBmb3IgMCBmb3Igbm8gaGFuZGxpbmcsIDEgZm9yIGF1dG8gaW5zZXJ0aW9uLgorICovCisKK2ludAoraHRtbEhhbmRsZU9taXR0ZWRFbGVtKGludCB2YWwpIHsKKyAgICBpbnQgb2xkID0gaHRtbE9taXR0ZWREZWZhdWx0VmFsdWU7CisKKyAgICBodG1sT21pdHRlZERlZmF1bHRWYWx1ZSA9IHZhbDsKKyAgICByZXR1cm4ob2xkKTsKK30KKworLyoqCisgKiBodG1sRWxlbWVudEFsbG93ZWRIZXJlOgorICogQHBhcmVudDogSFRNTCBwYXJlbnQgZWxlbWVudAorICogQGVsdDogSFRNTCBlbGVtZW50CisgKgorICogQ2hlY2tzIHdoZXRoZXIgYW4gSFRNTCBlbGVtZW50IG1heSBiZSBhIGRpcmVjdCBjaGlsZCBvZiBhIHBhcmVudCBlbGVtZW50LgorICogTm90ZSAtIGRvZXNuJ3QgY2hlY2sgZm9yIGRlcHJlY2F0ZWQgZWxlbWVudHMKKyAqCisgKiBSZXR1cm5zIDEgaWYgYWxsb3dlZDsgMCBvdGhlcndpc2UuCisgKi8KK2ludAoraHRtbEVsZW1lbnRBbGxvd2VkSGVyZShjb25zdCBodG1sRWxlbURlc2MqIHBhcmVudCwgY29uc3QgeG1sQ2hhciogZWx0KSB7CisgIGNvbnN0IGNoYXIqKiBwIDsKKworICBpZiAoICEgZWx0IHx8ICEgcGFyZW50IHx8ICEgcGFyZW50LT5zdWJlbHRzICkKKwlyZXR1cm4gMCA7CisKKyAgZm9yICggcCA9IHBhcmVudC0+c3ViZWx0czsgKnA7ICsrcCApCisgICAgaWYgKCAheG1sU3RyY21wKChjb25zdCB4bWxDaGFyICopKnAsIGVsdCkgKQorICAgICAgcmV0dXJuIDEgOworCisgIHJldHVybiAwIDsKK30KKy8qKgorICogaHRtbEVsZW1lbnRTdGF0dXNIZXJlOgorICogQHBhcmVudDogSFRNTCBwYXJlbnQgZWxlbWVudAorICogQGVsdDogSFRNTCBlbGVtZW50CisgKgorICogQ2hlY2tzIHdoZXRoZXIgYW4gSFRNTCBlbGVtZW50IG1heSBiZSBhIGRpcmVjdCBjaGlsZCBvZiBhIHBhcmVudCBlbGVtZW50LgorICogYW5kIGlmIHNvIHdoZXRoZXIgaXQgaXMgdmFsaWQgb3IgZGVwcmVjYXRlZC4KKyAqCisgKiBSZXR1cm5zIG9uZSBvZiBIVE1MX1ZBTElELCBIVE1MX0RFUFJFQ0FURUQsIEhUTUxfSU5WQUxJRAorICovCitodG1sU3RhdHVzCitodG1sRWxlbWVudFN0YXR1c0hlcmUoY29uc3QgaHRtbEVsZW1EZXNjKiBwYXJlbnQsIGNvbnN0IGh0bWxFbGVtRGVzYyogZWx0KSB7CisgIGlmICggISBwYXJlbnQgfHwgISBlbHQgKQorICAgIHJldHVybiBIVE1MX0lOVkFMSUQgOworICBpZiAoICEgaHRtbEVsZW1lbnRBbGxvd2VkSGVyZShwYXJlbnQsIChjb25zdCB4bWxDaGFyKikgZWx0LT5uYW1lICkgKQorICAgIHJldHVybiBIVE1MX0lOVkFMSUQgOworCisgIHJldHVybiAoIGVsdC0+ZHRkID09IDAgKSA/IEhUTUxfVkFMSUQgOiBIVE1MX0RFUFJFQ0FURUQgOworfQorLyoqCisgKiBodG1sQXR0ckFsbG93ZWQ6CisgKiBAZWx0OiBIVE1MIGVsZW1lbnQKKyAqIEBhdHRyOiBIVE1MIGF0dHJpYnV0ZQorICogQGxlZ2FjeTogd2hldGhlciB0byBhbGxvdyBkZXByZWNhdGVkIGF0dHJpYnV0ZXMKKyAqCisgKiBDaGVja3Mgd2hldGhlciBhbiBhdHRyaWJ1dGUgaXMgdmFsaWQgZm9yIGFuIGVsZW1lbnQKKyAqIEhhcyBmdWxsIGtub3dsZWRnZSBvZiBSZXF1aXJlZCBhbmQgRGVwcmVjYXRlZCBhdHRyaWJ1dGVzCisgKgorICogUmV0dXJucyBvbmUgb2YgSFRNTF9SRVFVSVJFRCwgSFRNTF9WQUxJRCwgSFRNTF9ERVBSRUNBVEVELCBIVE1MX0lOVkFMSUQKKyAqLworaHRtbFN0YXR1cworaHRtbEF0dHJBbGxvd2VkKGNvbnN0IGh0bWxFbGVtRGVzYyogZWx0LCBjb25zdCB4bWxDaGFyKiBhdHRyLCBpbnQgbGVnYWN5KSB7CisgIGNvbnN0IGNoYXIqKiBwIDsKKworICBpZiAoICFlbHQgfHwgISBhdHRyICkKKwlyZXR1cm4gSFRNTF9JTlZBTElEIDsKKworICBpZiAoIGVsdC0+YXR0cnNfcmVxICkKKyAgICBmb3IgKCBwID0gZWx0LT5hdHRyc19yZXE7ICpwOyArK3ApCisgICAgICBpZiAoICF4bWxTdHJjbXAoKGNvbnN0IHhtbENoYXIqKSpwLCBhdHRyKSApCisgICAgICAgIHJldHVybiBIVE1MX1JFUVVJUkVEIDsKKworICBpZiAoIGVsdC0+YXR0cnNfb3B0ICkKKyAgICBmb3IgKCBwID0gZWx0LT5hdHRyc19vcHQ7ICpwOyArK3ApCisgICAgICBpZiAoICF4bWxTdHJjbXAoKGNvbnN0IHhtbENoYXIqKSpwLCBhdHRyKSApCisgICAgICAgIHJldHVybiBIVE1MX1ZBTElEIDsKKworICBpZiAoIGxlZ2FjeSAmJiBlbHQtPmF0dHJzX2RlcHIgKQorICAgIGZvciAoIHAgPSBlbHQtPmF0dHJzX2RlcHI7ICpwOyArK3ApCisgICAgICBpZiAoICF4bWxTdHJjbXAoKGNvbnN0IHhtbENoYXIqKSpwLCBhdHRyKSApCisgICAgICAgIHJldHVybiBIVE1MX0RFUFJFQ0FURUQgOworCisgIHJldHVybiBIVE1MX0lOVkFMSUQgOworfQorLyoqCisgKiBodG1sTm9kZVN0YXR1czoKKyAqIEBub2RlOiBhbiBodG1sTm9kZVB0ciBpbiBhIHRyZWUKKyAqIEBsZWdhY3k6IHdoZXRoZXIgdG8gYWxsb3cgZGVwcmVjYXRlZCBlbGVtZW50cyAoWUVTIGlzIGZhc3RlciBoZXJlCisgKglmb3IgRWxlbWVudCBub2RlcykKKyAqCisgKiBDaGVja3Mgd2hldGhlciB0aGUgdHJlZSBub2RlIGlzIHZhbGlkLiAgRXhwZXJpbWVudGFsICh0aGUgYXV0aG9yCisgKiAgICAgb25seSB1c2VzIHRoZSBIVE1MIGVuaGFuY2VtZW50cyBpbiBhIFNBWCBwYXJzZXIpCisgKgorICogUmV0dXJuOiBmb3IgRWxlbWVudCBub2RlcywgYSByZXR1cm4gZnJvbSBodG1sRWxlbWVudEFsbG93ZWRIZXJlIChpZgorICoJbGVnYWN5IGFsbG93ZWQpIG9yIGh0bWxFbGVtZW50U3RhdHVzSGVyZSAob3RoZXJ3aXNlKS4KKyAqCWZvciBBdHRyaWJ1dGUgbm9kZXMsIGEgcmV0dXJuIGZyb20gaHRtbEF0dHJBbGxvd2VkCisgKglmb3Igb3RoZXIgbm9kZXMsIEhUTUxfTkEgKG5vIGNoZWNrcyBwZXJmb3JtZWQpCisgKi8KK2h0bWxTdGF0dXMKK2h0bWxOb2RlU3RhdHVzKGNvbnN0IGh0bWxOb2RlUHRyIG5vZGUsIGludCBsZWdhY3kpIHsKKyAgaWYgKCAhIG5vZGUgKQorICAgIHJldHVybiBIVE1MX0lOVkFMSUQgOworCisgIHN3aXRjaCAoIG5vZGUtPnR5cGUgKSB7CisgICAgY2FzZSBYTUxfRUxFTUVOVF9OT0RFOgorICAgICAgcmV0dXJuIGxlZ2FjeQorCT8gKCBodG1sRWxlbWVudEFsbG93ZWRIZXJlICgKKwkJaHRtbFRhZ0xvb2t1cChub2RlLT5wYXJlbnQtPm5hbWUpICwgbm9kZS0+bmFtZQorCQkpID8gSFRNTF9WQUxJRCA6IEhUTUxfSU5WQUxJRCApCisJOiBodG1sRWxlbWVudFN0YXR1c0hlcmUoCisJCWh0bWxUYWdMb29rdXAobm9kZS0+cGFyZW50LT5uYW1lKSAsCisJCWh0bWxUYWdMb29rdXAobm9kZS0+bmFtZSkgKQorCTsKKyAgICBjYXNlIFhNTF9BVFRSSUJVVEVfTk9ERToKKyAgICAgIHJldHVybiBodG1sQXR0ckFsbG93ZWQoCisJaHRtbFRhZ0xvb2t1cChub2RlLT5wYXJlbnQtPm5hbWUpICwgbm9kZS0+bmFtZSwgbGVnYWN5KSA7CisgICAgZGVmYXVsdDogcmV0dXJuIEhUTUxfTkEgOworICB9Cit9CisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCU5ldyBzZXQgKDIuNi4wKSBvZiBzaW1wbGVyIGFuZCBtb3JlIGZsZXhpYmxlIEFQSXMJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qKgorICogRElDVF9GUkVFOgorICogQHN0cjogIGEgc3RyaW5nCisgKgorICogRnJlZSBhIHN0cmluZyBpZiBpdCBpcyBub3Qgb3duZWQgYnkgdGhlICJkaWN0IiBkaWN0aW9ubmFyeSBpbiB0aGUKKyAqIGN1cnJlbnQgc2NvcGUKKyAqLworI2RlZmluZSBESUNUX0ZSRUUoc3RyKQkJCQkJCVwKKwlpZiAoKHN0cikgJiYgKCghZGljdCkgfHwJCQkJXAorCSAgICAoeG1sRGljdE93bnMoZGljdCwgKGNvbnN0IHhtbENoYXIgKikoc3RyKSkgPT0gMCkpKQlcCisJICAgIHhtbEZyZWUoKGNoYXIgKikoc3RyKSk7CisKKy8qKgorICogaHRtbEN0eHRSZXNldDoKKyAqIEBjdHh0OiBhbiBIVE1MIHBhcnNlciBjb250ZXh0CisgKgorICogUmVzZXQgYSBwYXJzZXIgY29udGV4dAorICovCit2b2lkCitodG1sQ3R4dFJlc2V0KGh0bWxQYXJzZXJDdHh0UHRyIGN0eHQpCit7CisgICAgeG1sUGFyc2VySW5wdXRQdHIgaW5wdXQ7CisgICAgeG1sRGljdFB0ciBkaWN0OworCisgICAgaWYgKGN0eHQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuOworCisgICAgeG1sSW5pdFBhcnNlcigpOworICAgIGRpY3QgPSBjdHh0LT5kaWN0OworCisgICAgd2hpbGUgKChpbnB1dCA9IGlucHV0UG9wKGN0eHQpKSAhPSBOVUxMKSB7IC8qIE5vbiBjb25zdW1pbmcgKi8KKyAgICAgICAgeG1sRnJlZUlucHV0U3RyZWFtKGlucHV0KTsKKyAgICB9CisgICAgY3R4dC0+aW5wdXROciA9IDA7CisgICAgY3R4dC0+aW5wdXQgPSBOVUxMOworCisgICAgY3R4dC0+c3BhY2VOciA9IDA7CisgICAgaWYgKGN0eHQtPnNwYWNlVGFiICE9IE5VTEwpIHsKKwljdHh0LT5zcGFjZVRhYlswXSA9IC0xOworCWN0eHQtPnNwYWNlID0gJmN0eHQtPnNwYWNlVGFiWzBdOworICAgIH0gZWxzZSB7CisJY3R4dC0+c3BhY2UgPSBOVUxMOworICAgIH0KKworCisgICAgY3R4dC0+bm9kZU5yID0gMDsKKyAgICBjdHh0LT5ub2RlID0gTlVMTDsKKworICAgIGN0eHQtPm5hbWVOciA9IDA7CisgICAgY3R4dC0+bmFtZSA9IE5VTEw7CisKKyAgICBESUNUX0ZSRUUoY3R4dC0+dmVyc2lvbik7CisgICAgY3R4dC0+dmVyc2lvbiA9IE5VTEw7CisgICAgRElDVF9GUkVFKGN0eHQtPmVuY29kaW5nKTsKKyAgICBjdHh0LT5lbmNvZGluZyA9IE5VTEw7CisgICAgRElDVF9GUkVFKGN0eHQtPmRpcmVjdG9yeSk7CisgICAgY3R4dC0+ZGlyZWN0b3J5ID0gTlVMTDsKKyAgICBESUNUX0ZSRUUoY3R4dC0+ZXh0U3ViVVJJKTsKKyAgICBjdHh0LT5leHRTdWJVUkkgPSBOVUxMOworICAgIERJQ1RfRlJFRShjdHh0LT5leHRTdWJTeXN0ZW0pOworICAgIGN0eHQtPmV4dFN1YlN5c3RlbSA9IE5VTEw7CisgICAgaWYgKGN0eHQtPm15RG9jICE9IE5VTEwpCisgICAgICAgIHhtbEZyZWVEb2MoY3R4dC0+bXlEb2MpOworICAgIGN0eHQtPm15RG9jID0gTlVMTDsKKworICAgIGN0eHQtPnN0YW5kYWxvbmUgPSAtMTsKKyAgICBjdHh0LT5oYXNFeHRlcm5hbFN1YnNldCA9IDA7CisgICAgY3R4dC0+aGFzUEVyZWZzID0gMDsKKyAgICBjdHh0LT5odG1sID0gMTsKKyAgICBjdHh0LT5leHRlcm5hbCA9IDA7CisgICAgY3R4dC0+aW5zdGF0ZSA9IFhNTF9QQVJTRVJfU1RBUlQ7CisgICAgY3R4dC0+dG9rZW4gPSAwOworCisgICAgY3R4dC0+d2VsbEZvcm1lZCA9IDE7CisgICAgY3R4dC0+bnNXZWxsRm9ybWVkID0gMTsKKyAgICBjdHh0LT5kaXNhYmxlU0FYID0gMDsKKyAgICBjdHh0LT52YWxpZCA9IDE7CisgICAgY3R4dC0+dmN0eHQudXNlckRhdGEgPSBjdHh0OworICAgIGN0eHQtPnZjdHh0LmVycm9yID0geG1sUGFyc2VyVmFsaWRpdHlFcnJvcjsKKyAgICBjdHh0LT52Y3R4dC53YXJuaW5nID0geG1sUGFyc2VyVmFsaWRpdHlXYXJuaW5nOworICAgIGN0eHQtPnJlY29yZF9pbmZvID0gMDsKKyAgICBjdHh0LT5uYkNoYXJzID0gMDsKKyAgICBjdHh0LT5jaGVja0luZGV4ID0gMDsKKyAgICBjdHh0LT5pblN1YnNldCA9IDA7CisgICAgY3R4dC0+ZXJyTm8gPSBYTUxfRVJSX09LOworICAgIGN0eHQtPmRlcHRoID0gMDsKKyAgICBjdHh0LT5jaGFyc2V0ID0gWE1MX0NIQVJfRU5DT0RJTkdfTk9ORTsKKyAgICBjdHh0LT5jYXRhbG9ncyA9IE5VTEw7CisgICAgeG1sSW5pdE5vZGVJbmZvU2VxKCZjdHh0LT5ub2RlX3NlcSk7CisKKyAgICBpZiAoY3R4dC0+YXR0c0RlZmF1bHQgIT0gTlVMTCkgeworICAgICAgICB4bWxIYXNoRnJlZShjdHh0LT5hdHRzRGVmYXVsdCwgKHhtbEhhc2hEZWFsbG9jYXRvcikgeG1sRnJlZSk7CisgICAgICAgIGN0eHQtPmF0dHNEZWZhdWx0ID0gTlVMTDsKKyAgICB9CisgICAgaWYgKGN0eHQtPmF0dHNTcGVjaWFsICE9IE5VTEwpIHsKKyAgICAgICAgeG1sSGFzaEZyZWUoY3R4dC0+YXR0c1NwZWNpYWwsIE5VTEwpOworICAgICAgICBjdHh0LT5hdHRzU3BlY2lhbCA9IE5VTEw7CisgICAgfQorfQorCisvKioKKyAqIGh0bWxDdHh0VXNlT3B0aW9uczoKKyAqIEBjdHh0OiBhbiBIVE1MIHBhcnNlciBjb250ZXh0CisgKiBAb3B0aW9uczogIGEgY29tYmluYXRpb24gb2YgaHRtbFBhcnNlck9wdGlvbihzKQorICoKKyAqIEFwcGxpZXMgdGhlIG9wdGlvbnMgdG8gdGhlIHBhcnNlciBjb250ZXh0CisgKgorICogUmV0dXJucyAwIGluIGNhc2Ugb2Ygc3VjY2VzcywgdGhlIHNldCBvZiB1bmtub3duIG9yIHVuaW1wbGVtZW50ZWQgb3B0aW9ucworICogICAgICAgICBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQKK2h0bWxDdHh0VXNlT3B0aW9ucyhodG1sUGFyc2VyQ3R4dFB0ciBjdHh0LCBpbnQgb3B0aW9ucykKK3sKKyAgICBpZiAoY3R4dCA9PSBOVUxMKQorICAgICAgICByZXR1cm4oLTEpOworCisgICAgaWYgKG9wdGlvbnMgJiBIVE1MX1BBUlNFX05PV0FSTklORykgeworICAgICAgICBjdHh0LT5zYXgtPndhcm5pbmcgPSBOVUxMOworICAgICAgICBjdHh0LT52Y3R4dC53YXJuaW5nID0gTlVMTDsKKyAgICAgICAgb3B0aW9ucyAtPSBYTUxfUEFSU0VfTk9XQVJOSU5HOworCWN0eHQtPm9wdGlvbnMgfD0gWE1MX1BBUlNFX05PV0FSTklORzsKKyAgICB9CisgICAgaWYgKG9wdGlvbnMgJiBIVE1MX1BBUlNFX05PRVJST1IpIHsKKyAgICAgICAgY3R4dC0+c2F4LT5lcnJvciA9IE5VTEw7CisgICAgICAgIGN0eHQtPnZjdHh0LmVycm9yID0gTlVMTDsKKyAgICAgICAgY3R4dC0+c2F4LT5mYXRhbEVycm9yID0gTlVMTDsKKyAgICAgICAgb3B0aW9ucyAtPSBYTUxfUEFSU0VfTk9FUlJPUjsKKwljdHh0LT5vcHRpb25zIHw9IFhNTF9QQVJTRV9OT0VSUk9SOworICAgIH0KKyAgICBpZiAob3B0aW9ucyAmIEhUTUxfUEFSU0VfUEVEQU5USUMpIHsKKyAgICAgICAgY3R4dC0+cGVkYW50aWMgPSAxOworICAgICAgICBvcHRpb25zIC09IFhNTF9QQVJTRV9QRURBTlRJQzsKKwljdHh0LT5vcHRpb25zIHw9IFhNTF9QQVJTRV9QRURBTlRJQzsKKyAgICB9IGVsc2UKKyAgICAgICAgY3R4dC0+cGVkYW50aWMgPSAwOworICAgIGlmIChvcHRpb25zICYgWE1MX1BBUlNFX05PQkxBTktTKSB7CisgICAgICAgIGN0eHQtPmtlZXBCbGFua3MgPSAwOworICAgICAgICBjdHh0LT5zYXgtPmlnbm9yYWJsZVdoaXRlc3BhY2UgPSB4bWxTQVgySWdub3JhYmxlV2hpdGVzcGFjZTsKKyAgICAgICAgb3B0aW9ucyAtPSBYTUxfUEFSU0VfTk9CTEFOS1M7CisJY3R4dC0+b3B0aW9ucyB8PSBYTUxfUEFSU0VfTk9CTEFOS1M7CisgICAgfSBlbHNlCisgICAgICAgIGN0eHQtPmtlZXBCbGFua3MgPSAxOworICAgIGlmIChvcHRpb25zICYgSFRNTF9QQVJTRV9SRUNPVkVSKSB7CisgICAgICAgIGN0eHQtPnJlY292ZXJ5ID0gMTsKKwlvcHRpb25zIC09IEhUTUxfUEFSU0VfUkVDT1ZFUjsKKyAgICB9IGVsc2UKKyAgICAgICAgY3R4dC0+cmVjb3ZlcnkgPSAwOworICAgIGlmIChvcHRpb25zICYgSFRNTF9QQVJTRV9DT01QQUNUKSB7CisJY3R4dC0+b3B0aW9ucyB8PSBIVE1MX1BBUlNFX0NPTVBBQ1Q7CisgICAgICAgIG9wdGlvbnMgLT0gSFRNTF9QQVJTRV9DT01QQUNUOworICAgIH0KKyAgICBpZiAob3B0aW9ucyAmIFhNTF9QQVJTRV9IVUdFKSB7CisJY3R4dC0+b3B0aW9ucyB8PSBYTUxfUEFSU0VfSFVHRTsKKyAgICAgICAgb3B0aW9ucyAtPSBYTUxfUEFSU0VfSFVHRTsKKyAgICB9CisgICAgaWYgKG9wdGlvbnMgJiBIVE1MX1BBUlNFX05PREVGRFREKSB7CisJY3R4dC0+b3B0aW9ucyB8PSBIVE1MX1BBUlNFX05PREVGRFREOworICAgICAgICBvcHRpb25zIC09IEhUTUxfUEFSU0VfTk9ERUZEVEQ7CisgICAgfQorICAgIGlmIChvcHRpb25zICYgSFRNTF9QQVJTRV9JR05PUkVfRU5DKSB7CisJY3R4dC0+b3B0aW9ucyB8PSBIVE1MX1BBUlNFX0lHTk9SRV9FTkM7CisgICAgICAgIG9wdGlvbnMgLT0gSFRNTF9QQVJTRV9JR05PUkVfRU5DOworICAgIH0KKyAgICBpZiAob3B0aW9ucyAmIEhUTUxfUEFSU0VfTk9JTVBMSUVEKSB7CisgICAgICAgIGN0eHQtPm9wdGlvbnMgfD0gSFRNTF9QQVJTRV9OT0lNUExJRUQ7CisgICAgICAgIG9wdGlvbnMgLT0gSFRNTF9QQVJTRV9OT0lNUExJRUQ7CisgICAgfQorICAgIGN0eHQtPmRpY3ROYW1lcyA9IDA7CisgICAgcmV0dXJuIChvcHRpb25zKTsKK30KKworLyoqCisgKiBodG1sRG9SZWFkOgorICogQGN0eHQ6ICBhbiBIVE1MIHBhcnNlciBjb250ZXh0CisgKiBAVVJMOiAgdGhlIGJhc2UgVVJMIHRvIHVzZSBmb3IgdGhlIGRvY3VtZW50CisgKiBAZW5jb2Rpbmc6ICB0aGUgZG9jdW1lbnQgZW5jb2RpbmcsIG9yIE5VTEwKKyAqIEBvcHRpb25zOiAgYSBjb21iaW5hdGlvbiBvZiBodG1sUGFyc2VyT3B0aW9uKHMpCisgKiBAcmV1c2U6ICBrZWVwIHRoZSBjb250ZXh0IGZvciByZXVzZQorICoKKyAqIENvbW1vbiBmcm9udC1lbmQgZm9yIHRoZSBodG1sUmVhZCBmdW5jdGlvbnMKKyAqCisgKiBSZXR1cm5zIHRoZSByZXN1bHRpbmcgZG9jdW1lbnQgdHJlZSBvciBOVUxMCisgKi8KK3N0YXRpYyBodG1sRG9jUHRyCitodG1sRG9SZWFkKGh0bWxQYXJzZXJDdHh0UHRyIGN0eHQsIGNvbnN0IGNoYXIgKlVSTCwgY29uc3QgY2hhciAqZW5jb2RpbmcsCisgICAgICAgICAgaW50IG9wdGlvbnMsIGludCByZXVzZSkKK3sKKyAgICBodG1sRG9jUHRyIHJldDsKKworICAgIGh0bWxDdHh0VXNlT3B0aW9ucyhjdHh0LCBvcHRpb25zKTsKKyAgICBjdHh0LT5odG1sID0gMTsKKyAgICBpZiAoZW5jb2RpbmcgIT0gTlVMTCkgeworICAgICAgICB4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyIGhkbHI7CisKKwloZGxyID0geG1sRmluZENoYXJFbmNvZGluZ0hhbmRsZXIoZW5jb2RpbmcpOworCWlmIChoZGxyICE9IE5VTEwpIHsKKwkgICAgeG1sU3dpdGNoVG9FbmNvZGluZyhjdHh0LCBoZGxyKTsKKwkgICAgaWYgKGN0eHQtPmlucHV0LT5lbmNvZGluZyAhPSBOVUxMKQorCSAgICAgIHhtbEZyZWUoKHhtbENoYXIgKikgY3R4dC0+aW5wdXQtPmVuY29kaW5nKTsKKyAgICAgICAgICAgIGN0eHQtPmlucHV0LT5lbmNvZGluZyA9IHhtbFN0cmR1cCgoeG1sQ2hhciAqKWVuY29kaW5nKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBpZiAoKFVSTCAhPSBOVUxMKSAmJiAoY3R4dC0+aW5wdXQgIT0gTlVMTCkgJiYKKyAgICAgICAgKGN0eHQtPmlucHV0LT5maWxlbmFtZSA9PSBOVUxMKSkKKyAgICAgICAgY3R4dC0+aW5wdXQtPmZpbGVuYW1lID0gKGNoYXIgKikgeG1sU3RyZHVwKChjb25zdCB4bWxDaGFyICopIFVSTCk7CisgICAgaHRtbFBhcnNlRG9jdW1lbnQoY3R4dCk7CisgICAgcmV0ID0gY3R4dC0+bXlEb2M7CisgICAgY3R4dC0+bXlEb2MgPSBOVUxMOworICAgIGlmICghcmV1c2UpIHsKKyAgICAgICAgaWYgKChjdHh0LT5kaWN0TmFtZXMpICYmCisJICAgIChyZXQgIT0gTlVMTCkgJiYKKwkgICAgKHJldC0+ZGljdCA9PSBjdHh0LT5kaWN0KSkKKwkgICAgY3R4dC0+ZGljdCA9IE5VTEw7CisJeG1sRnJlZVBhcnNlckN0eHQoY3R4dCk7CisgICAgfQorICAgIHJldHVybiAocmV0KTsKK30KKworLyoqCisgKiBodG1sUmVhZERvYzoKKyAqIEBjdXI6ICBhIHBvaW50ZXIgdG8gYSB6ZXJvIHRlcm1pbmF0ZWQgc3RyaW5nCisgKiBAVVJMOiAgdGhlIGJhc2UgVVJMIHRvIHVzZSBmb3IgdGhlIGRvY3VtZW50CisgKiBAZW5jb2Rpbmc6ICB0aGUgZG9jdW1lbnQgZW5jb2RpbmcsIG9yIE5VTEwKKyAqIEBvcHRpb25zOiAgYSBjb21iaW5hdGlvbiBvZiBodG1sUGFyc2VyT3B0aW9uKHMpCisgKgorICogcGFyc2UgYW4gWE1MIGluLW1lbW9yeSBkb2N1bWVudCBhbmQgYnVpbGQgYSB0cmVlLgorICoKKyAqIFJldHVybnMgdGhlIHJlc3VsdGluZyBkb2N1bWVudCB0cmVlCisgKi8KK2h0bWxEb2NQdHIKK2h0bWxSZWFkRG9jKGNvbnN0IHhtbENoYXIgKiBjdXIsIGNvbnN0IGNoYXIgKlVSTCwgY29uc3QgY2hhciAqZW5jb2RpbmcsIGludCBvcHRpb25zKQoreworICAgIGh0bWxQYXJzZXJDdHh0UHRyIGN0eHQ7CisKKyAgICBpZiAoY3VyID09IE5VTEwpCisgICAgICAgIHJldHVybiAoTlVMTCk7CisKKyAgICB4bWxJbml0UGFyc2VyKCk7CisgICAgY3R4dCA9IGh0bWxDcmVhdGVEb2NQYXJzZXJDdHh0KGN1ciwgTlVMTCk7CisgICAgaWYgKGN0eHQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICByZXR1cm4gKGh0bWxEb1JlYWQoY3R4dCwgVVJMLCBlbmNvZGluZywgb3B0aW9ucywgMCkpOworfQorCisvKioKKyAqIGh0bWxSZWFkRmlsZToKKyAqIEBmaWxlbmFtZTogIGEgZmlsZSBvciBVUkwKKyAqIEBlbmNvZGluZzogIHRoZSBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTAorICogQG9wdGlvbnM6ICBhIGNvbWJpbmF0aW9uIG9mIGh0bWxQYXJzZXJPcHRpb24ocykKKyAqCisgKiBwYXJzZSBhbiBYTUwgZmlsZSBmcm9tIHRoZSBmaWxlc3lzdGVtIG9yIHRoZSBuZXR3b3JrLgorICoKKyAqIFJldHVybnMgdGhlIHJlc3VsdGluZyBkb2N1bWVudCB0cmVlCisgKi8KK2h0bWxEb2NQdHIKK2h0bWxSZWFkRmlsZShjb25zdCBjaGFyICpmaWxlbmFtZSwgY29uc3QgY2hhciAqZW5jb2RpbmcsIGludCBvcHRpb25zKQoreworICAgIGh0bWxQYXJzZXJDdHh0UHRyIGN0eHQ7CisKKyAgICB4bWxJbml0UGFyc2VyKCk7CisgICAgY3R4dCA9IGh0bWxDcmVhdGVGaWxlUGFyc2VyQ3R4dChmaWxlbmFtZSwgZW5jb2RpbmcpOworICAgIGlmIChjdHh0ID09IE5VTEwpCisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgcmV0dXJuIChodG1sRG9SZWFkKGN0eHQsIE5VTEwsIE5VTEwsIG9wdGlvbnMsIDApKTsKK30KKworLyoqCisgKiBodG1sUmVhZE1lbW9yeToKKyAqIEBidWZmZXI6ICBhIHBvaW50ZXIgdG8gYSBjaGFyIGFycmF5CisgKiBAc2l6ZTogIHRoZSBzaXplIG9mIHRoZSBhcnJheQorICogQFVSTDogIHRoZSBiYXNlIFVSTCB0byB1c2UgZm9yIHRoZSBkb2N1bWVudAorICogQGVuY29kaW5nOiAgdGhlIGRvY3VtZW50IGVuY29kaW5nLCBvciBOVUxMCisgKiBAb3B0aW9uczogIGEgY29tYmluYXRpb24gb2YgaHRtbFBhcnNlck9wdGlvbihzKQorICoKKyAqIHBhcnNlIGFuIFhNTCBpbi1tZW1vcnkgZG9jdW1lbnQgYW5kIGJ1aWxkIGEgdHJlZS4KKyAqCisgKiBSZXR1cm5zIHRoZSByZXN1bHRpbmcgZG9jdW1lbnQgdHJlZQorICovCitodG1sRG9jUHRyCitodG1sUmVhZE1lbW9yeShjb25zdCBjaGFyICpidWZmZXIsIGludCBzaXplLCBjb25zdCBjaGFyICpVUkwsIGNvbnN0IGNoYXIgKmVuY29kaW5nLCBpbnQgb3B0aW9ucykKK3sKKyAgICBodG1sUGFyc2VyQ3R4dFB0ciBjdHh0OworCisgICAgeG1sSW5pdFBhcnNlcigpOworICAgIGN0eHQgPSB4bWxDcmVhdGVNZW1vcnlQYXJzZXJDdHh0KGJ1ZmZlciwgc2l6ZSk7CisgICAgaWYgKGN0eHQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICBodG1sRGVmYXVsdFNBWEhhbmRsZXJJbml0KCk7CisgICAgaWYgKGN0eHQtPnNheCAhPSBOVUxMKQorICAgICAgICBtZW1jcHkoY3R4dC0+c2F4LCAmaHRtbERlZmF1bHRTQVhIYW5kbGVyLCBzaXplb2YoeG1sU0FYSGFuZGxlclYxKSk7CisgICAgcmV0dXJuIChodG1sRG9SZWFkKGN0eHQsIFVSTCwgZW5jb2RpbmcsIG9wdGlvbnMsIDApKTsKK30KKworLyoqCisgKiBodG1sUmVhZEZkOgorICogQGZkOiAgYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3IKKyAqIEBVUkw6ICB0aGUgYmFzZSBVUkwgdG8gdXNlIGZvciB0aGUgZG9jdW1lbnQKKyAqIEBlbmNvZGluZzogIHRoZSBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTAorICogQG9wdGlvbnM6ICBhIGNvbWJpbmF0aW9uIG9mIGh0bWxQYXJzZXJPcHRpb24ocykKKyAqCisgKiBwYXJzZSBhbiBYTUwgZnJvbSBhIGZpbGUgZGVzY3JpcHRvciBhbmQgYnVpbGQgYSB0cmVlLgorICoKKyAqIFJldHVybnMgdGhlIHJlc3VsdGluZyBkb2N1bWVudCB0cmVlCisgKi8KK2h0bWxEb2NQdHIKK2h0bWxSZWFkRmQoaW50IGZkLCBjb25zdCBjaGFyICpVUkwsIGNvbnN0IGNoYXIgKmVuY29kaW5nLCBpbnQgb3B0aW9ucykKK3sKKyAgICBodG1sUGFyc2VyQ3R4dFB0ciBjdHh0OworICAgIHhtbFBhcnNlcklucHV0QnVmZmVyUHRyIGlucHV0OworICAgIHhtbFBhcnNlcklucHV0UHRyIHN0cmVhbTsKKworICAgIGlmIChmZCA8IDApCisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgeG1sSW5pdFBhcnNlcigpOworCisgICAgeG1sSW5pdFBhcnNlcigpOworICAgIGlucHV0ID0geG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGZChmZCwgWE1MX0NIQVJfRU5DT0RJTkdfTk9ORSk7CisgICAgaWYgKGlucHV0ID09IE5VTEwpCisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgY3R4dCA9IHhtbE5ld1BhcnNlckN0eHQoKTsKKyAgICBpZiAoY3R4dCA9PSBOVUxMKSB7CisgICAgICAgIHhtbEZyZWVQYXJzZXJJbnB1dEJ1ZmZlcihpbnB1dCk7CisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgfQorICAgIHN0cmVhbSA9IHhtbE5ld0lPSW5wdXRTdHJlYW0oY3R4dCwgaW5wdXQsIFhNTF9DSEFSX0VOQ09ESU5HX05PTkUpOworICAgIGlmIChzdHJlYW0gPT0gTlVMTCkgeworICAgICAgICB4bWxGcmVlUGFyc2VySW5wdXRCdWZmZXIoaW5wdXQpOworCXhtbEZyZWVQYXJzZXJDdHh0KGN0eHQpOworICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIH0KKyAgICBpbnB1dFB1c2goY3R4dCwgc3RyZWFtKTsKKyAgICByZXR1cm4gKGh0bWxEb1JlYWQoY3R4dCwgVVJMLCBlbmNvZGluZywgb3B0aW9ucywgMCkpOworfQorCisvKioKKyAqIGh0bWxSZWFkSU86CisgKiBAaW9yZWFkOiAgYW4gSS9PIHJlYWQgZnVuY3Rpb24KKyAqIEBpb2Nsb3NlOiAgYW4gSS9PIGNsb3NlIGZ1bmN0aW9uCisgKiBAaW9jdHg6ICBhbiBJL08gaGFuZGxlcgorICogQFVSTDogIHRoZSBiYXNlIFVSTCB0byB1c2UgZm9yIHRoZSBkb2N1bWVudAorICogQGVuY29kaW5nOiAgdGhlIGRvY3VtZW50IGVuY29kaW5nLCBvciBOVUxMCisgKiBAb3B0aW9uczogIGEgY29tYmluYXRpb24gb2YgaHRtbFBhcnNlck9wdGlvbihzKQorICoKKyAqIHBhcnNlIGFuIEhUTUwgZG9jdW1lbnQgZnJvbSBJL08gZnVuY3Rpb25zIGFuZCBzb3VyY2UgYW5kIGJ1aWxkIGEgdHJlZS4KKyAqCisgKiBSZXR1cm5zIHRoZSByZXN1bHRpbmcgZG9jdW1lbnQgdHJlZQorICovCitodG1sRG9jUHRyCitodG1sUmVhZElPKHhtbElucHV0UmVhZENhbGxiYWNrIGlvcmVhZCwgeG1sSW5wdXRDbG9zZUNhbGxiYWNrIGlvY2xvc2UsCisgICAgICAgICAgdm9pZCAqaW9jdHgsIGNvbnN0IGNoYXIgKlVSTCwgY29uc3QgY2hhciAqZW5jb2RpbmcsIGludCBvcHRpb25zKQoreworICAgIGh0bWxQYXJzZXJDdHh0UHRyIGN0eHQ7CisgICAgeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIgaW5wdXQ7CisgICAgeG1sUGFyc2VySW5wdXRQdHIgc3RyZWFtOworCisgICAgaWYgKGlvcmVhZCA9PSBOVUxMKQorICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIHhtbEluaXRQYXJzZXIoKTsKKworICAgIGlucHV0ID0geG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVJTyhpb3JlYWQsIGlvY2xvc2UsIGlvY3R4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfQ0hBUl9FTkNPRElOR19OT05FKTsKKyAgICBpZiAoaW5wdXQgPT0gTlVMTCkgeworICAgICAgICBpZiAoaW9jbG9zZSAhPSBOVUxMKQorICAgICAgICAgICAgaW9jbG9zZShpb2N0eCk7CisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgfQorICAgIGN0eHQgPSBodG1sTmV3UGFyc2VyQ3R4dCgpOworICAgIGlmIChjdHh0ID09IE5VTEwpIHsKKyAgICAgICAgeG1sRnJlZVBhcnNlcklucHV0QnVmZmVyKGlucHV0KTsKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICB9CisgICAgc3RyZWFtID0geG1sTmV3SU9JbnB1dFN0cmVhbShjdHh0LCBpbnB1dCwgWE1MX0NIQVJfRU5DT0RJTkdfTk9ORSk7CisgICAgaWYgKHN0cmVhbSA9PSBOVUxMKSB7CisgICAgICAgIHhtbEZyZWVQYXJzZXJJbnB1dEJ1ZmZlcihpbnB1dCk7CisJeG1sRnJlZVBhcnNlckN0eHQoY3R4dCk7CisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgfQorICAgIGlucHV0UHVzaChjdHh0LCBzdHJlYW0pOworICAgIHJldHVybiAoaHRtbERvUmVhZChjdHh0LCBVUkwsIGVuY29kaW5nLCBvcHRpb25zLCAwKSk7Cit9CisKKy8qKgorICogaHRtbEN0eHRSZWFkRG9jOgorICogQGN0eHQ6ICBhbiBIVE1MIHBhcnNlciBjb250ZXh0CisgKiBAY3VyOiAgYSBwb2ludGVyIHRvIGEgemVybyB0ZXJtaW5hdGVkIHN0cmluZworICogQFVSTDogIHRoZSBiYXNlIFVSTCB0byB1c2UgZm9yIHRoZSBkb2N1bWVudAorICogQGVuY29kaW5nOiAgdGhlIGRvY3VtZW50IGVuY29kaW5nLCBvciBOVUxMCisgKiBAb3B0aW9uczogIGEgY29tYmluYXRpb24gb2YgaHRtbFBhcnNlck9wdGlvbihzKQorICoKKyAqIHBhcnNlIGFuIFhNTCBpbi1tZW1vcnkgZG9jdW1lbnQgYW5kIGJ1aWxkIGEgdHJlZS4KKyAqIFRoaXMgcmV1c2VzIHRoZSBleGlzdGluZyBAY3R4dCBwYXJzZXIgY29udGV4dAorICoKKyAqIFJldHVybnMgdGhlIHJlc3VsdGluZyBkb2N1bWVudCB0cmVlCisgKi8KK2h0bWxEb2NQdHIKK2h0bWxDdHh0UmVhZERvYyhodG1sUGFyc2VyQ3R4dFB0ciBjdHh0LCBjb25zdCB4bWxDaGFyICogY3VyLAorICAgICAgICAgICAgICAgY29uc3QgY2hhciAqVVJMLCBjb25zdCBjaGFyICplbmNvZGluZywgaW50IG9wdGlvbnMpCit7CisgICAgeG1sUGFyc2VySW5wdXRQdHIgc3RyZWFtOworCisgICAgaWYgKGN1ciA9PSBOVUxMKQorICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIGlmIChjdHh0ID09IE5VTEwpCisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgeG1sSW5pdFBhcnNlcigpOworCisgICAgaHRtbEN0eHRSZXNldChjdHh0KTsKKworICAgIHN0cmVhbSA9IHhtbE5ld1N0cmluZ0lucHV0U3RyZWFtKGN0eHQsIGN1cik7CisgICAgaWYgKHN0cmVhbSA9PSBOVUxMKSB7CisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgfQorICAgIGlucHV0UHVzaChjdHh0LCBzdHJlYW0pOworICAgIHJldHVybiAoaHRtbERvUmVhZChjdHh0LCBVUkwsIGVuY29kaW5nLCBvcHRpb25zLCAxKSk7Cit9CisKKy8qKgorICogaHRtbEN0eHRSZWFkRmlsZToKKyAqIEBjdHh0OiAgYW4gSFRNTCBwYXJzZXIgY29udGV4dAorICogQGZpbGVuYW1lOiAgYSBmaWxlIG9yIFVSTAorICogQGVuY29kaW5nOiAgdGhlIGRvY3VtZW50IGVuY29kaW5nLCBvciBOVUxMCisgKiBAb3B0aW9uczogIGEgY29tYmluYXRpb24gb2YgaHRtbFBhcnNlck9wdGlvbihzKQorICoKKyAqIHBhcnNlIGFuIFhNTCBmaWxlIGZyb20gdGhlIGZpbGVzeXN0ZW0gb3IgdGhlIG5ldHdvcmsuCisgKiBUaGlzIHJldXNlcyB0aGUgZXhpc3RpbmcgQGN0eHQgcGFyc2VyIGNvbnRleHQKKyAqCisgKiBSZXR1cm5zIHRoZSByZXN1bHRpbmcgZG9jdW1lbnQgdHJlZQorICovCitodG1sRG9jUHRyCitodG1sQ3R4dFJlYWRGaWxlKGh0bWxQYXJzZXJDdHh0UHRyIGN0eHQsIGNvbnN0IGNoYXIgKmZpbGVuYW1lLAorICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmVuY29kaW5nLCBpbnQgb3B0aW9ucykKK3sKKyAgICB4bWxQYXJzZXJJbnB1dFB0ciBzdHJlYW07CisKKyAgICBpZiAoZmlsZW5hbWUgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICBpZiAoY3R4dCA9PSBOVUxMKQorICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIHhtbEluaXRQYXJzZXIoKTsKKworICAgIGh0bWxDdHh0UmVzZXQoY3R4dCk7CisKKyAgICBzdHJlYW0gPSB4bWxMb2FkRXh0ZXJuYWxFbnRpdHkoZmlsZW5hbWUsIE5VTEwsIGN0eHQpOworICAgIGlmIChzdHJlYW0gPT0gTlVMTCkgeworICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIH0KKyAgICBpbnB1dFB1c2goY3R4dCwgc3RyZWFtKTsKKyAgICByZXR1cm4gKGh0bWxEb1JlYWQoY3R4dCwgTlVMTCwgZW5jb2RpbmcsIG9wdGlvbnMsIDEpKTsKK30KKworLyoqCisgKiBodG1sQ3R4dFJlYWRNZW1vcnk6CisgKiBAY3R4dDogIGFuIEhUTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBidWZmZXI6ICBhIHBvaW50ZXIgdG8gYSBjaGFyIGFycmF5CisgKiBAc2l6ZTogIHRoZSBzaXplIG9mIHRoZSBhcnJheQorICogQFVSTDogIHRoZSBiYXNlIFVSTCB0byB1c2UgZm9yIHRoZSBkb2N1bWVudAorICogQGVuY29kaW5nOiAgdGhlIGRvY3VtZW50IGVuY29kaW5nLCBvciBOVUxMCisgKiBAb3B0aW9uczogIGEgY29tYmluYXRpb24gb2YgaHRtbFBhcnNlck9wdGlvbihzKQorICoKKyAqIHBhcnNlIGFuIFhNTCBpbi1tZW1vcnkgZG9jdW1lbnQgYW5kIGJ1aWxkIGEgdHJlZS4KKyAqIFRoaXMgcmV1c2VzIHRoZSBleGlzdGluZyBAY3R4dCBwYXJzZXIgY29udGV4dAorICoKKyAqIFJldHVybnMgdGhlIHJlc3VsdGluZyBkb2N1bWVudCB0cmVlCisgKi8KK2h0bWxEb2NQdHIKK2h0bWxDdHh0UmVhZE1lbW9yeShodG1sUGFyc2VyQ3R4dFB0ciBjdHh0LCBjb25zdCBjaGFyICpidWZmZXIsIGludCBzaXplLAorICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqVVJMLCBjb25zdCBjaGFyICplbmNvZGluZywgaW50IG9wdGlvbnMpCit7CisgICAgeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIgaW5wdXQ7CisgICAgeG1sUGFyc2VySW5wdXRQdHIgc3RyZWFtOworCisgICAgaWYgKGN0eHQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICBpZiAoYnVmZmVyID09IE5VTEwpCisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgeG1sSW5pdFBhcnNlcigpOworCisgICAgaHRtbEN0eHRSZXNldChjdHh0KTsKKworICAgIGlucHV0ID0geG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVNZW0oYnVmZmVyLCBzaXplLCBYTUxfQ0hBUl9FTkNPRElOR19OT05FKTsKKyAgICBpZiAoaW5wdXQgPT0gTlVMTCkgeworCXJldHVybihOVUxMKTsKKyAgICB9CisKKyAgICBzdHJlYW0gPSB4bWxOZXdJT0lucHV0U3RyZWFtKGN0eHQsIGlucHV0LCBYTUxfQ0hBUl9FTkNPRElOR19OT05FKTsKKyAgICBpZiAoc3RyZWFtID09IE5VTEwpIHsKKwl4bWxGcmVlUGFyc2VySW5wdXRCdWZmZXIoaW5wdXQpOworCXJldHVybihOVUxMKTsKKyAgICB9CisKKyAgICBpbnB1dFB1c2goY3R4dCwgc3RyZWFtKTsKKyAgICByZXR1cm4gKGh0bWxEb1JlYWQoY3R4dCwgVVJMLCBlbmNvZGluZywgb3B0aW9ucywgMSkpOworfQorCisvKioKKyAqIGh0bWxDdHh0UmVhZEZkOgorICogQGN0eHQ6ICBhbiBIVE1MIHBhcnNlciBjb250ZXh0CisgKiBAZmQ6ICBhbiBvcGVuIGZpbGUgZGVzY3JpcHRvcgorICogQFVSTDogIHRoZSBiYXNlIFVSTCB0byB1c2UgZm9yIHRoZSBkb2N1bWVudAorICogQGVuY29kaW5nOiAgdGhlIGRvY3VtZW50IGVuY29kaW5nLCBvciBOVUxMCisgKiBAb3B0aW9uczogIGEgY29tYmluYXRpb24gb2YgaHRtbFBhcnNlck9wdGlvbihzKQorICoKKyAqIHBhcnNlIGFuIFhNTCBmcm9tIGEgZmlsZSBkZXNjcmlwdG9yIGFuZCBidWlsZCBhIHRyZWUuCisgKiBUaGlzIHJldXNlcyB0aGUgZXhpc3RpbmcgQGN0eHQgcGFyc2VyIGNvbnRleHQKKyAqCisgKiBSZXR1cm5zIHRoZSByZXN1bHRpbmcgZG9jdW1lbnQgdHJlZQorICovCitodG1sRG9jUHRyCitodG1sQ3R4dFJlYWRGZChodG1sUGFyc2VyQ3R4dFB0ciBjdHh0LCBpbnQgZmQsCisgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKlVSTCwgY29uc3QgY2hhciAqZW5jb2RpbmcsIGludCBvcHRpb25zKQoreworICAgIHhtbFBhcnNlcklucHV0QnVmZmVyUHRyIGlucHV0OworICAgIHhtbFBhcnNlcklucHV0UHRyIHN0cmVhbTsKKworICAgIGlmIChmZCA8IDApCisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgaWYgKGN0eHQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICB4bWxJbml0UGFyc2VyKCk7CisKKyAgICBodG1sQ3R4dFJlc2V0KGN0eHQpOworCisKKyAgICBpbnB1dCA9IHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmQoZmQsIFhNTF9DSEFSX0VOQ09ESU5HX05PTkUpOworICAgIGlmIChpbnB1dCA9PSBOVUxMKQorICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIHN0cmVhbSA9IHhtbE5ld0lPSW5wdXRTdHJlYW0oY3R4dCwgaW5wdXQsIFhNTF9DSEFSX0VOQ09ESU5HX05PTkUpOworICAgIGlmIChzdHJlYW0gPT0gTlVMTCkgeworICAgICAgICB4bWxGcmVlUGFyc2VySW5wdXRCdWZmZXIoaW5wdXQpOworICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIH0KKyAgICBpbnB1dFB1c2goY3R4dCwgc3RyZWFtKTsKKyAgICByZXR1cm4gKGh0bWxEb1JlYWQoY3R4dCwgVVJMLCBlbmNvZGluZywgb3B0aW9ucywgMSkpOworfQorCisvKioKKyAqIGh0bWxDdHh0UmVhZElPOgorICogQGN0eHQ6ICBhbiBIVE1MIHBhcnNlciBjb250ZXh0CisgKiBAaW9yZWFkOiAgYW4gSS9PIHJlYWQgZnVuY3Rpb24KKyAqIEBpb2Nsb3NlOiAgYW4gSS9PIGNsb3NlIGZ1bmN0aW9uCisgKiBAaW9jdHg6ICBhbiBJL08gaGFuZGxlcgorICogQFVSTDogIHRoZSBiYXNlIFVSTCB0byB1c2UgZm9yIHRoZSBkb2N1bWVudAorICogQGVuY29kaW5nOiAgdGhlIGRvY3VtZW50IGVuY29kaW5nLCBvciBOVUxMCisgKiBAb3B0aW9uczogIGEgY29tYmluYXRpb24gb2YgaHRtbFBhcnNlck9wdGlvbihzKQorICoKKyAqIHBhcnNlIGFuIEhUTUwgZG9jdW1lbnQgZnJvbSBJL08gZnVuY3Rpb25zIGFuZCBzb3VyY2UgYW5kIGJ1aWxkIGEgdHJlZS4KKyAqIFRoaXMgcmV1c2VzIHRoZSBleGlzdGluZyBAY3R4dCBwYXJzZXIgY29udGV4dAorICoKKyAqIFJldHVybnMgdGhlIHJlc3VsdGluZyBkb2N1bWVudCB0cmVlCisgKi8KK2h0bWxEb2NQdHIKK2h0bWxDdHh0UmVhZElPKGh0bWxQYXJzZXJDdHh0UHRyIGN0eHQsIHhtbElucHV0UmVhZENhbGxiYWNrIGlvcmVhZCwKKyAgICAgICAgICAgICAgeG1sSW5wdXRDbG9zZUNhbGxiYWNrIGlvY2xvc2UsIHZvaWQgKmlvY3R4LAorCSAgICAgIGNvbnN0IGNoYXIgKlVSTCwKKyAgICAgICAgICAgICAgY29uc3QgY2hhciAqZW5jb2RpbmcsIGludCBvcHRpb25zKQoreworICAgIHhtbFBhcnNlcklucHV0QnVmZmVyUHRyIGlucHV0OworICAgIHhtbFBhcnNlcklucHV0UHRyIHN0cmVhbTsKKworICAgIGlmIChpb3JlYWQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICBpZiAoY3R4dCA9PSBOVUxMKQorICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIHhtbEluaXRQYXJzZXIoKTsKKworICAgIGh0bWxDdHh0UmVzZXQoY3R4dCk7CisKKyAgICBpbnB1dCA9IHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlSU8oaW9yZWFkLCBpb2Nsb3NlLCBpb2N0eCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWE1MX0NIQVJfRU5DT0RJTkdfTk9ORSk7CisgICAgaWYgKGlucHV0ID09IE5VTEwpIHsKKyAgICAgICAgaWYgKGlvY2xvc2UgIT0gTlVMTCkKKyAgICAgICAgICAgIGlvY2xvc2UoaW9jdHgpOworICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIH0KKyAgICBzdHJlYW0gPSB4bWxOZXdJT0lucHV0U3RyZWFtKGN0eHQsIGlucHV0LCBYTUxfQ0hBUl9FTkNPRElOR19OT05FKTsKKyAgICBpZiAoc3RyZWFtID09IE5VTEwpIHsKKyAgICAgICAgeG1sRnJlZVBhcnNlcklucHV0QnVmZmVyKGlucHV0KTsKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICB9CisgICAgaW5wdXRQdXNoKGN0eHQsIHN0cmVhbSk7CisgICAgcmV0dXJuIChodG1sRG9SZWFkKGN0eHQsIFVSTCwgZW5jb2RpbmcsIG9wdGlvbnMsIDEpKTsKK30KKworI2RlZmluZSBib3R0b21fSFRNTHBhcnNlcgorI2luY2x1ZGUgImVsZmdjY2hhY2suaCIKKyNlbmRpZiAvKiBMSUJYTUxfSFRNTF9FTkFCTEVEICovCmRpZmYgLS1naXQgYS9saWJ4bWwyL0hUTUx0cmVlLmMgYi9saWJ4bWwyL0hUTUx0cmVlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWM1N2ZjNQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvSFRNTHRyZWUuYwpAQCAtMCwwICsxLDEyODAgQEAKKy8qCisgKiBIVE1MdHJlZS5jIDogaW1wbGVtZW50YXRpb24gb2YgYWNjZXNzIGZ1bmN0aW9uIGZvciBhbiBIVE1MIHRyZWUuCisgKgorICogU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgorICoKKyAqIGRhbmllbEB2ZWlsbGFyZC5jb20KKyAqLworCisKKyNkZWZpbmUgSU5fTElCWE1MCisjaW5jbHVkZSAibGlieG1sLmgiCisjaWZkZWYgTElCWE1MX0hUTUxfRU5BQkxFRAorCisjaW5jbHVkZSA8c3RyaW5nLmg+IC8qIGZvciBtZW1zZXQoKSBvbmx5ICEgKi8KKworI2lmZGVmIEhBVkVfQ1RZUEVfSAorI2luY2x1ZGUgPGN0eXBlLmg+CisjZW5kaWYKKyNpZmRlZiBIQVZFX1NURExJQl9ICisjaW5jbHVkZSA8c3RkbGliLmg+CisjZW5kaWYKKworI2luY2x1ZGUgPGxpYnhtbC94bWxtZW1vcnkuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvSFRNTHBhcnNlci5oPgorI2luY2x1ZGUgPGxpYnhtbC9IVE1MdHJlZS5oPgorI2luY2x1ZGUgPGxpYnhtbC9lbnRpdGllcy5oPgorI2luY2x1ZGUgPGxpYnhtbC92YWxpZC5oPgorI2luY2x1ZGUgPGxpYnhtbC94bWxlcnJvci5oPgorI2luY2x1ZGUgPGxpYnhtbC9wYXJzZXJJbnRlcm5hbHMuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvZ2xvYmFscy5oPgorI2luY2x1ZGUgPGxpYnhtbC91cmkuaD4KKworI2luY2x1ZGUgImJ1Zi5oIgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQlHZXR0aW5nL1NldHRpbmcgZW5jb2RpbmcgbWV0YSB0YWdzCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioKKyAqIGh0bWxHZXRNZXRhRW5jb2Rpbmc6CisgKiBAZG9jOiAgdGhlIGRvY3VtZW50CisgKgorICogRW5jb2RpbmcgZGVmaW5pdGlvbiBsb29rdXAgaW4gdGhlIE1ldGEgdGFncworICoKKyAqIFJldHVybnMgdGhlIGN1cnJlbnQgZW5jb2RpbmcgYXMgZmxhZ2dlZCBpbiB0aGUgSFRNTCBzb3VyY2UKKyAqLworY29uc3QgeG1sQ2hhciAqCitodG1sR2V0TWV0YUVuY29kaW5nKGh0bWxEb2NQdHIgZG9jKSB7CisgICAgaHRtbE5vZGVQdHIgY3VyOworICAgIGNvbnN0IHhtbENoYXIgKmNvbnRlbnQ7CisgICAgY29uc3QgeG1sQ2hhciAqZW5jb2Rpbmc7CisKKyAgICBpZiAoZG9jID09IE5VTEwpCisJcmV0dXJuKE5VTEwpOworICAgIGN1ciA9IGRvYy0+Y2hpbGRyZW47CisKKyAgICAvKgorICAgICAqIFNlYXJjaCB0aGUgaHRtbAorICAgICAqLworICAgIHdoaWxlIChjdXIgIT0gTlVMTCkgeworCWlmICgoY3VyLT50eXBlID09IFhNTF9FTEVNRU5UX05PREUpICYmIChjdXItPm5hbWUgIT0gTlVMTCkpIHsKKwkgICAgaWYgKHhtbFN0ckVxdWFsKGN1ci0+bmFtZSwgQkFEX0NBU1QiaHRtbCIpKQorCQlicmVhazsKKwkgICAgaWYgKHhtbFN0ckVxdWFsKGN1ci0+bmFtZSwgQkFEX0NBU1QiaGVhZCIpKQorCQlnb3RvIGZvdW5kX2hlYWQ7CisJICAgIGlmICh4bWxTdHJFcXVhbChjdXItPm5hbWUsIEJBRF9DQVNUIm1ldGEiKSkKKwkJZ290byBmb3VuZF9tZXRhOworCX0KKwljdXIgPSBjdXItPm5leHQ7CisgICAgfQorICAgIGlmIChjdXIgPT0gTlVMTCkKKwlyZXR1cm4oTlVMTCk7CisgICAgY3VyID0gY3VyLT5jaGlsZHJlbjsKKworICAgIC8qCisgICAgICogU2VhcmNoIHRoZSBoZWFkCisgICAgICovCisgICAgd2hpbGUgKGN1ciAhPSBOVUxMKSB7CisJaWYgKChjdXItPnR5cGUgPT0gWE1MX0VMRU1FTlRfTk9ERSkgJiYgKGN1ci0+bmFtZSAhPSBOVUxMKSkgeworCSAgICBpZiAoeG1sU3RyRXF1YWwoY3VyLT5uYW1lLCBCQURfQ0FTVCJoZWFkIikpCisJCWJyZWFrOworCSAgICBpZiAoeG1sU3RyRXF1YWwoY3VyLT5uYW1lLCBCQURfQ0FTVCJtZXRhIikpCisJCWdvdG8gZm91bmRfbWV0YTsKKwl9CisJY3VyID0gY3VyLT5uZXh0OworICAgIH0KKyAgICBpZiAoY3VyID09IE5VTEwpCisJcmV0dXJuKE5VTEwpOworZm91bmRfaGVhZDoKKyAgICBjdXIgPSBjdXItPmNoaWxkcmVuOworCisgICAgLyoKKyAgICAgKiBTZWFyY2ggdGhlIG1ldGEgZWxlbWVudHMKKyAgICAgKi8KK2ZvdW5kX21ldGE6CisgICAgd2hpbGUgKGN1ciAhPSBOVUxMKSB7CisJaWYgKChjdXItPnR5cGUgPT0gWE1MX0VMRU1FTlRfTk9ERSkgJiYgKGN1ci0+bmFtZSAhPSBOVUxMKSkgeworCSAgICBpZiAoeG1sU3RyRXF1YWwoY3VyLT5uYW1lLCBCQURfQ0FTVCJtZXRhIikpIHsKKwkJeG1sQXR0clB0ciBhdHRyID0gY3VyLT5wcm9wZXJ0aWVzOworCQlpbnQgaHR0cDsKKwkJY29uc3QgeG1sQ2hhciAqdmFsdWU7CisKKwkJY29udGVudCA9IE5VTEw7CisJCWh0dHAgPSAwOworCQl3aGlsZSAoYXR0ciAhPSBOVUxMKSB7CisJCSAgICBpZiAoKGF0dHItPmNoaWxkcmVuICE9IE5VTEwpICYmCisJCSAgICAgICAgKGF0dHItPmNoaWxkcmVuLT50eXBlID09IFhNTF9URVhUX05PREUpICYmCisJCSAgICAgICAgKGF0dHItPmNoaWxkcmVuLT5uZXh0ID09IE5VTEwpKSB7CisJCQl2YWx1ZSA9IGF0dHItPmNoaWxkcmVuLT5jb250ZW50OworCQkJaWYgKCgheG1sU3RyY2FzZWNtcChhdHRyLT5uYW1lLCBCQURfQ0FTVCJodHRwLWVxdWl2IikpCisJCQkgJiYgKCF4bWxTdHJjYXNlY21wKHZhbHVlLCBCQURfQ0FTVCJDb250ZW50LVR5cGUiKSkpCisJCQkgICAgaHR0cCA9IDE7CisJCQllbHNlIGlmICgodmFsdWUgIT0gTlVMTCkKKwkJCSAmJiAoIXhtbFN0cmNhc2VjbXAoYXR0ci0+bmFtZSwgQkFEX0NBU1QiY29udGVudCIpKSkKKwkJCSAgICBjb250ZW50ID0gdmFsdWU7CisJCQlpZiAoKGh0dHAgIT0gMCkgJiYgKGNvbnRlbnQgIT0gTlVMTCkpCisJCQkgICAgZ290byBmb3VuZF9jb250ZW50OworCQkgICAgfQorCQkgICAgYXR0ciA9IGF0dHItPm5leHQ7CisJCX0KKwkgICAgfQorCX0KKwljdXIgPSBjdXItPm5leHQ7CisgICAgfQorICAgIHJldHVybihOVUxMKTsKKworZm91bmRfY29udGVudDoKKyAgICBlbmNvZGluZyA9IHhtbFN0cnN0cihjb250ZW50LCBCQURfQ0FTVCJjaGFyc2V0PSIpOworICAgIGlmIChlbmNvZGluZyA9PSBOVUxMKQorCWVuY29kaW5nID0geG1sU3Ryc3RyKGNvbnRlbnQsIEJBRF9DQVNUIkNoYXJzZXQ9Iik7CisgICAgaWYgKGVuY29kaW5nID09IE5VTEwpCisJZW5jb2RpbmcgPSB4bWxTdHJzdHIoY29udGVudCwgQkFEX0NBU1QiQ0hBUlNFVD0iKTsKKyAgICBpZiAoZW5jb2RpbmcgIT0gTlVMTCkgeworCWVuY29kaW5nICs9IDg7CisgICAgfSBlbHNlIHsKKwllbmNvZGluZyA9IHhtbFN0cnN0cihjb250ZW50LCBCQURfQ0FTVCJjaGFyc2V0ID0iKTsKKwlpZiAoZW5jb2RpbmcgPT0gTlVMTCkKKwkgICAgZW5jb2RpbmcgPSB4bWxTdHJzdHIoY29udGVudCwgQkFEX0NBU1QiQ2hhcnNldCA9Iik7CisJaWYgKGVuY29kaW5nID09IE5VTEwpCisJICAgIGVuY29kaW5nID0geG1sU3Ryc3RyKGNvbnRlbnQsIEJBRF9DQVNUIkNIQVJTRVQgPSIpOworCWlmIChlbmNvZGluZyAhPSBOVUxMKQorCSAgICBlbmNvZGluZyArPSA5OworICAgIH0KKyAgICBpZiAoZW5jb2RpbmcgIT0gTlVMTCkgeworCXdoaWxlICgoKmVuY29kaW5nID09ICcgJykgfHwgKCplbmNvZGluZyA9PSAnXHQnKSkgZW5jb2RpbmcrKzsKKyAgICB9CisgICAgcmV0dXJuKGVuY29kaW5nKTsKK30KKworLyoqCisgKiBodG1sU2V0TWV0YUVuY29kaW5nOgorICogQGRvYzogIHRoZSBkb2N1bWVudAorICogQGVuY29kaW5nOiAgdGhlIGVuY29kaW5nIHN0cmluZworICoKKyAqIFNldHMgdGhlIGN1cnJlbnQgZW5jb2RpbmcgaW4gdGhlIE1ldGEgdGFncworICogTk9URTogdGhpcyB3aWxsIG5vdCBjaGFuZ2UgdGhlIGRvY3VtZW50IGNvbnRlbnQgZW5jb2RpbmcsIGp1c3QKKyAqIHRoZSBNRVRBIGZsYWcgYXNzb2NpYXRlZC4KKyAqCisgKiBSZXR1cm5zIDAgaW4gY2FzZSBvZiBzdWNjZXNzIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK2ludAoraHRtbFNldE1ldGFFbmNvZGluZyhodG1sRG9jUHRyIGRvYywgY29uc3QgeG1sQ2hhciAqZW5jb2RpbmcpIHsKKyAgICBodG1sTm9kZVB0ciBjdXIsIG1ldGEgPSBOVUxMLCBoZWFkID0gTlVMTDsKKyAgICBjb25zdCB4bWxDaGFyICpjb250ZW50ID0gTlVMTDsKKyAgICBjaGFyIG5ld2NvbnRlbnRbMTAwXTsKKworICAgIG5ld2NvbnRlbnRbMF0gPSAwOworCisgICAgaWYgKGRvYyA9PSBOVUxMKQorCXJldHVybigtMSk7CisKKyAgICAvKiBodG1sIGlzbid0IGEgcmVhbCBlbmNvZGluZyBpdCdzIGp1c3QgbGlieG1sMiB3YXkgdG8gZ2V0IGVudGl0aWVzICovCisgICAgaWYgKCF4bWxTdHJjYXNlY21wKGVuY29kaW5nLCBCQURfQ0FTVCAiaHRtbCIpKQorICAgICAgICByZXR1cm4oLTEpOworCisgICAgaWYgKGVuY29kaW5nICE9IE5VTEwpIHsKKwlzbnByaW50ZihuZXdjb250ZW50LCBzaXplb2YobmV3Y29udGVudCksICJ0ZXh0L2h0bWw7IGNoYXJzZXQ9JXMiLAorICAgICAgICAgICAgICAgIChjaGFyICopZW5jb2RpbmcpOworCW5ld2NvbnRlbnRbc2l6ZW9mKG5ld2NvbnRlbnQpIC0gMV0gPSAwOworICAgIH0KKworICAgIGN1ciA9IGRvYy0+Y2hpbGRyZW47CisKKyAgICAvKgorICAgICAqIFNlYXJjaCB0aGUgaHRtbAorICAgICAqLworICAgIHdoaWxlIChjdXIgIT0gTlVMTCkgeworCWlmICgoY3VyLT50eXBlID09IFhNTF9FTEVNRU5UX05PREUpICYmIChjdXItPm5hbWUgIT0gTlVMTCkpIHsKKwkgICAgaWYgKHhtbFN0cmNhc2VjbXAoY3VyLT5uYW1lLCBCQURfQ0FTVCJodG1sIikgPT0gMCkKKwkJYnJlYWs7CisJICAgIGlmICh4bWxTdHJjYXNlY21wKGN1ci0+bmFtZSwgQkFEX0NBU1QiaGVhZCIpID09IDApCisJCWdvdG8gZm91bmRfaGVhZDsKKwkgICAgaWYgKHhtbFN0cmNhc2VjbXAoY3VyLT5uYW1lLCBCQURfQ0FTVCJtZXRhIikgPT0gMCkKKwkJZ290byBmb3VuZF9tZXRhOworCX0KKwljdXIgPSBjdXItPm5leHQ7CisgICAgfQorICAgIGlmIChjdXIgPT0gTlVMTCkKKwlyZXR1cm4oLTEpOworICAgIGN1ciA9IGN1ci0+Y2hpbGRyZW47CisKKyAgICAvKgorICAgICAqIFNlYXJjaCB0aGUgaGVhZAorICAgICAqLworICAgIHdoaWxlIChjdXIgIT0gTlVMTCkgeworCWlmICgoY3VyLT50eXBlID09IFhNTF9FTEVNRU5UX05PREUpICYmIChjdXItPm5hbWUgIT0gTlVMTCkpIHsKKwkgICAgaWYgKHhtbFN0cmNhc2VjbXAoY3VyLT5uYW1lLCBCQURfQ0FTVCJoZWFkIikgPT0gMCkKKwkJYnJlYWs7CisJICAgIGlmICh4bWxTdHJjYXNlY21wKGN1ci0+bmFtZSwgQkFEX0NBU1QibWV0YSIpID09IDApIHsKKyAgICAgICAgICAgICAgICBoZWFkID0gY3VyLT5wYXJlbnQ7CisJCWdvdG8gZm91bmRfbWV0YTsKKyAgICAgICAgICAgIH0KKwl9CisJY3VyID0gY3VyLT5uZXh0OworICAgIH0KKyAgICBpZiAoY3VyID09IE5VTEwpCisJcmV0dXJuKC0xKTsKK2ZvdW5kX2hlYWQ6CisgICAgaGVhZCA9IGN1cjsKKyAgICBpZiAoY3VyLT5jaGlsZHJlbiA9PSBOVUxMKQorICAgICAgICBnb3RvIGNyZWF0ZTsKKyAgICBjdXIgPSBjdXItPmNoaWxkcmVuOworCitmb3VuZF9tZXRhOgorICAgIC8qCisgICAgICogU2VhcmNoIGFuZCB1cGRhdGUgYWxsIHRoZSByZW1haW5pbmcgdGhlIG1ldGEgZWxlbWVudHMgY2FycnlpbmcKKyAgICAgKiBlbmNvZGluZyBpbmZvcm1hdGlvbnMKKyAgICAgKi8KKyAgICB3aGlsZSAoY3VyICE9IE5VTEwpIHsKKwlpZiAoKGN1ci0+dHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFKSAmJiAoY3VyLT5uYW1lICE9IE5VTEwpKSB7CisJICAgIGlmICh4bWxTdHJjYXNlY21wKGN1ci0+bmFtZSwgQkFEX0NBU1QibWV0YSIpID09IDApIHsKKwkJeG1sQXR0clB0ciBhdHRyID0gY3VyLT5wcm9wZXJ0aWVzOworCQlpbnQgaHR0cDsKKwkJY29uc3QgeG1sQ2hhciAqdmFsdWU7CisKKwkJY29udGVudCA9IE5VTEw7CisJCWh0dHAgPSAwOworCQl3aGlsZSAoYXR0ciAhPSBOVUxMKSB7CisJCSAgICBpZiAoKGF0dHItPmNoaWxkcmVuICE9IE5VTEwpICYmCisJCSAgICAgICAgKGF0dHItPmNoaWxkcmVuLT50eXBlID09IFhNTF9URVhUX05PREUpICYmCisJCSAgICAgICAgKGF0dHItPmNoaWxkcmVuLT5uZXh0ID09IE5VTEwpKSB7CisJCQl2YWx1ZSA9IGF0dHItPmNoaWxkcmVuLT5jb250ZW50OworCQkJaWYgKCgheG1sU3RyY2FzZWNtcChhdHRyLT5uYW1lLCBCQURfQ0FTVCJodHRwLWVxdWl2IikpCisJCQkgJiYgKCF4bWxTdHJjYXNlY21wKHZhbHVlLCBCQURfQ0FTVCJDb250ZW50LVR5cGUiKSkpCisJCQkgICAgaHR0cCA9IDE7CisJCQllbHNlCisgICAgICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKHZhbHVlICE9IE5VTEwpICYmCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCF4bWxTdHJjYXNlY21wKGF0dHItPm5hbWUsIEJBRF9DQVNUImNvbnRlbnQiKSkpCisJCQkgICAgICAgY29udGVudCA9IHZhbHVlOworICAgICAgICAgICAgICAgICAgICAgICAgfQorCQkgICAgICAgIGlmICgoaHR0cCAhPSAwKSAmJiAoY29udGVudCAhPSBOVUxMKSkKKwkJCSAgICBicmVhazsKKwkJICAgIH0KKwkJICAgIGF0dHIgPSBhdHRyLT5uZXh0OworCQl9CisJCWlmICgoaHR0cCAhPSAwKSAmJiAoY29udGVudCAhPSBOVUxMKSkgeworCQkgICAgbWV0YSA9IGN1cjsKKwkJICAgIGJyZWFrOworCQl9CisKKwkgICAgfQorCX0KKwljdXIgPSBjdXItPm5leHQ7CisgICAgfQorY3JlYXRlOgorICAgIGlmIChtZXRhID09IE5VTEwpIHsKKyAgICAgICAgaWYgKChlbmNvZGluZyAhPSBOVUxMKSAmJiAoaGVhZCAhPSBOVUxMKSkgeworICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAqIENyZWF0ZSBhIG5ldyBNZXRhIGVsZW1lbnQgd2l0aCB0aGUgcmlnaHQgYXR0cmlidXRlcworICAgICAgICAgICAgICovCisKKyAgICAgICAgICAgIG1ldGEgPSB4bWxOZXdEb2NOb2RlKGRvYywgTlVMTCwgQkFEX0NBU1QibWV0YSIsIE5VTEwpOworICAgICAgICAgICAgaWYgKGhlYWQtPmNoaWxkcmVuID09IE5VTEwpCisgICAgICAgICAgICAgICAgeG1sQWRkQ2hpbGQoaGVhZCwgbWV0YSk7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgeG1sQWRkUHJldlNpYmxpbmcoaGVhZC0+Y2hpbGRyZW4sIG1ldGEpOworICAgICAgICAgICAgeG1sTmV3UHJvcChtZXRhLCBCQURfQ0FTVCJodHRwLWVxdWl2IiwgQkFEX0NBU1QiQ29udGVudC1UeXBlIik7CisgICAgICAgICAgICB4bWxOZXdQcm9wKG1ldGEsIEJBRF9DQVNUImNvbnRlbnQiLCBCQURfQ0FTVCBuZXdjb250ZW50KTsKKyAgICAgICAgfQorICAgIH0gZWxzZSB7CisgICAgICAgIC8qIHJlbW92ZSB0aGUgbWV0YSB0YWcgaWYgTlVMTCBpcyBwYXNzZWQgKi8KKyAgICAgICAgaWYgKGVuY29kaW5nID09IE5VTEwpIHsKKyAgICAgICAgICAgIHhtbFVubGlua05vZGUobWV0YSk7CisgICAgICAgICAgICB4bWxGcmVlTm9kZShtZXRhKTsKKyAgICAgICAgfQorICAgICAgICAvKiBjaGFuZ2UgdGhlIGRvY3VtZW50IG9ubHkgaWYgdGhlcmUgaXMgYSByZWFsIGVuY29kaW5nIGNoYW5nZSAqLworICAgICAgICBlbHNlIGlmICh4bWxTdHJjYXNlc3RyKGNvbnRlbnQsIGVuY29kaW5nKSA9PSBOVUxMKSB7CisgICAgICAgICAgICB4bWxTZXRQcm9wKG1ldGEsIEJBRF9DQVNUImNvbnRlbnQiLCBCQURfQ0FTVCBuZXdjb250ZW50KTsKKyAgICAgICAgfQorICAgIH0KKworCisgICAgcmV0dXJuKDApOworfQorCisvKioKKyAqIGJvb2xlYW5IVE1MQXR0cnM6CisgKgorICogVGhlc2UgYXJlIHRoZSBIVE1MIGF0dHJpYnV0ZXMgd2hpY2ggd2lsbCBiZSBvdXRwdXQKKyAqIGluIG1pbmltaXplZCBmb3JtLCBpLmUuIDxvcHRpb24gc2VsZWN0ZWQ9InNlbGVjdGVkIj4gd2lsbCBiZQorICogb3V0cHV0IGFzIDxvcHRpb24gc2VsZWN0ZWQ+LCBhcyBwZXIgWFNMVCAxLjAgMTYuMiAiSFRNTCBPdXRwdXQgTWV0aG9kIgorICoKKyAqLworc3RhdGljIGNvbnN0IGNoYXIqIGh0bWxCb29sZWFuQXR0cnNbXSA9IHsKKyAgImNoZWNrZWQiLCAiY29tcGFjdCIsICJkZWNsYXJlIiwgImRlZmVyIiwgImRpc2FibGVkIiwgImlzbWFwIiwKKyAgIm11bHRpcGxlIiwgIm5vaHJlZiIsICJub3Jlc2l6ZSIsICJub3NoYWRlIiwgIm5vd3JhcCIsICJyZWFkb25seSIsCisgICJzZWxlY3RlZCIsIE5VTEwKK307CisKKworLyoqCisgKiBodG1sSXNCb29sZWFuQXR0cjoKKyAqIEBuYW1lOiAgdGhlIG5hbWUgb2YgdGhlIGF0dHJpYnV0ZSB0byBjaGVjaworICoKKyAqIERldGVybWluZSBpZiBhIGdpdmVuIGF0dHJpYnV0ZSBpcyBhIGJvb2xlYW4gYXR0cmlidXRlLgorICoKKyAqIHJldHVybnM6IGZhbHNlIGlmIHRoZSBhdHRyaWJ1dGUgaXMgbm90IGJvb2xlYW4sIHRydWUgb3RoZXJ3aXNlLgorICovCitpbnQKK2h0bWxJc0Jvb2xlYW5BdHRyKGNvbnN0IHhtbENoYXIgKm5hbWUpCit7CisgICAgaW50IGkgPSAwOworCisgICAgd2hpbGUgKGh0bWxCb29sZWFuQXR0cnNbaV0gIT0gTlVMTCkgeworICAgICAgICBpZiAoeG1sU3RyY2FzZWNtcCgoY29uc3QgeG1sQ2hhciAqKWh0bWxCb29sZWFuQXR0cnNbaV0sIG5hbWUpID09IDApCisgICAgICAgICAgICByZXR1cm4gMTsKKyAgICAgICAgaSsrOworICAgIH0KKyAgICByZXR1cm4gMDsKK30KKworI2lmZGVmIExJQlhNTF9PVVRQVVRfRU5BQkxFRAorLyoKKyAqIHByaXZhdGUgcm91dGluZSBleHBvcnRlZCBmcm9tIHhtbElPLmMKKyAqLworeG1sT3V0cHV0QnVmZmVyUHRyCit4bWxBbGxvY091dHB1dEJ1ZmZlckludGVybmFsKHhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIgZW5jb2Rlcik7CisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQkJT3V0cHV0IGVycm9yIGhhbmRsZXJzCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qKgorICogaHRtbFNhdmVFcnJNZW1vcnk6CisgKiBAZXh0cmE6ICBleHRyYSBpbmZvcm1hdGlvbnMKKyAqCisgKiBIYW5kbGUgYW4gb3V0IG9mIG1lbW9yeSBjb25kaXRpb24KKyAqLworc3RhdGljIHZvaWQKK2h0bWxTYXZlRXJyTWVtb3J5KGNvbnN0IGNoYXIgKmV4dHJhKQoreworICAgIF9feG1sU2ltcGxlRXJyb3IoWE1MX0ZST01fT1VUUFVULCBYTUxfRVJSX05PX01FTU9SWSwgTlVMTCwgTlVMTCwgZXh0cmEpOworfQorCisvKioKKyAqIGh0bWxTYXZlRXJyOgorICogQGNvZGU6ICB0aGUgZXJyb3IgbnVtYmVyCisgKiBAbm9kZTogIHRoZSBsb2NhdGlvbiBvZiB0aGUgZXJyb3IuCisgKiBAZXh0cmE6ICBleHRyYSBpbmZvcm1hdGlvbnMKKyAqCisgKiBIYW5kbGUgYW4gb3V0IG9mIG1lbW9yeSBjb25kaXRpb24KKyAqLworc3RhdGljIHZvaWQKK2h0bWxTYXZlRXJyKGludCBjb2RlLCB4bWxOb2RlUHRyIG5vZGUsIGNvbnN0IGNoYXIgKmV4dHJhKQoreworICAgIGNvbnN0IGNoYXIgKm1zZyA9IE5VTEw7CisKKyAgICBzd2l0Y2goY29kZSkgeworICAgICAgICBjYXNlIFhNTF9TQVZFX05PVF9VVEY4OgorCSAgICBtc2cgPSAic3RyaW5nIGlzIG5vdCBpbiBVVEYtOFxuIjsKKwkgICAgYnJlYWs7CisJY2FzZSBYTUxfU0FWRV9DSEFSX0lOVkFMSUQ6CisJICAgIG1zZyA9ICJpbnZhbGlkIGNoYXJhY3RlciB2YWx1ZVxuIjsKKwkgICAgYnJlYWs7CisJY2FzZSBYTUxfU0FWRV9VTktOT1dOX0VOQ09ESU5HOgorCSAgICBtc2cgPSAidW5rbm93biBlbmNvZGluZyAlc1xuIjsKKwkgICAgYnJlYWs7CisJY2FzZSBYTUxfU0FWRV9OT19ET0NUWVBFOgorCSAgICBtc2cgPSAiSFRNTCBoYXMgbm8gRE9DVFlQRVxuIjsKKwkgICAgYnJlYWs7CisJZGVmYXVsdDoKKwkgICAgbXNnID0gInVuZXhwZWN0ZWQgZXJyb3IgbnVtYmVyXG4iOworICAgIH0KKyAgICBfX3htbFNpbXBsZUVycm9yKFhNTF9GUk9NX09VVFBVVCwgY29kZSwgbm9kZSwgbXNnLCBleHRyYSk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCUR1bXBpbmcgSFRNTCB0cmVlIGNvbnRlbnQgdG8gYSBzaW1wbGUgYnVmZmVyCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKgorICogaHRtbEJ1Zk5vZGVEdW1wRm9ybWF0OgorICogQGJ1ZjogIHRoZSB4bWxCdWZQdHIgb3V0cHV0CisgKiBAZG9jOiAgdGhlIGRvY3VtZW50CisgKiBAY3VyOiAgdGhlIGN1cnJlbnQgbm9kZQorICogQGZvcm1hdDogIHNob3VsZCBmb3JtYXR0aW5nIHNwYWNlcyBiZWVuIGFkZGVkCisgKgorICogRHVtcCBhbiBIVE1MIG5vZGUsIHJlY3Vyc2l2ZSBiZWhhdmlvdXIsY2hpbGRyZW4gYXJlIHByaW50ZWQgdG9vLgorICoKKyAqIFJldHVybnMgdGhlIG51bWJlciBvZiBieXRlIHdyaXR0ZW4gb3IgLTEgaW4gY2FzZSBvZiBlcnJvcgorICovCitzdGF0aWMgc2l6ZV90CitodG1sQnVmTm9kZUR1bXBGb3JtYXQoeG1sQnVmUHRyIGJ1ZiwgeG1sRG9jUHRyIGRvYywgeG1sTm9kZVB0ciBjdXIsCisJICAgICAgICAgICBpbnQgZm9ybWF0KSB7CisgICAgc2l6ZV90IHVzZTsKKyAgICBpbnQgcmV0OworICAgIHhtbE91dHB1dEJ1ZmZlclB0ciBvdXRidWY7CisKKyAgICBpZiAoY3VyID09IE5VTEwpIHsKKwlyZXR1cm4gKC0xKTsKKyAgICB9CisgICAgaWYgKGJ1ZiA9PSBOVUxMKSB7CisJcmV0dXJuICgtMSk7CisgICAgfQorICAgIG91dGJ1ZiA9ICh4bWxPdXRwdXRCdWZmZXJQdHIpIHhtbE1hbGxvYyhzaXplb2YoeG1sT3V0cHV0QnVmZmVyKSk7CisgICAgaWYgKG91dGJ1ZiA9PSBOVUxMKSB7CisgICAgICAgIGh0bWxTYXZlRXJyTWVtb3J5KCJhbGxvY2F0aW5nIEhUTUwgb3V0cHV0IGJ1ZmZlciIpOworCXJldHVybiAoLTEpOworICAgIH0KKyAgICBtZW1zZXQob3V0YnVmLCAwLCAoc2l6ZV90KSBzaXplb2YoeG1sT3V0cHV0QnVmZmVyKSk7CisgICAgb3V0YnVmLT5idWZmZXIgPSBidWY7CisgICAgb3V0YnVmLT5lbmNvZGVyID0gTlVMTDsKKyAgICBvdXRidWYtPndyaXRlY2FsbGJhY2sgPSBOVUxMOworICAgIG91dGJ1Zi0+Y2xvc2VjYWxsYmFjayA9IE5VTEw7CisgICAgb3V0YnVmLT5jb250ZXh0ID0gTlVMTDsKKyAgICBvdXRidWYtPndyaXR0ZW4gPSAwOworCisgICAgdXNlID0geG1sQnVmVXNlKGJ1Zik7CisgICAgaHRtbE5vZGVEdW1wRm9ybWF0T3V0cHV0KG91dGJ1ZiwgZG9jLCBjdXIsIE5VTEwsIGZvcm1hdCk7CisgICAgeG1sRnJlZShvdXRidWYpOworICAgIHJldCA9IHhtbEJ1ZlVzZShidWYpIC0gdXNlOworICAgIHJldHVybiAocmV0KTsKK30KKworLyoqCisgKiBodG1sTm9kZUR1bXA6CisgKiBAYnVmOiAgdGhlIEhUTUwgYnVmZmVyIG91dHB1dAorICogQGRvYzogIHRoZSBkb2N1bWVudAorICogQGN1cjogIHRoZSBjdXJyZW50IG5vZGUKKyAqCisgKiBEdW1wIGFuIEhUTUwgbm9kZSwgcmVjdXJzaXZlIGJlaGF2aW91cixjaGlsZHJlbiBhcmUgcHJpbnRlZCB0b28sCisgKiBhbmQgZm9ybWF0dGluZyByZXR1cm5zIGFyZSBhZGRlZC4KKyAqCisgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgYnl0ZSB3cml0dGVuIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworaW50CitodG1sTm9kZUR1bXAoeG1sQnVmZmVyUHRyIGJ1ZiwgeG1sRG9jUHRyIGRvYywgeG1sTm9kZVB0ciBjdXIpIHsKKyAgICB4bWxCdWZQdHIgYnVmZmVyOworICAgIHNpemVfdCByZXQ7CisKKyAgICBpZiAoKGJ1ZiA9PSBOVUxMKSB8fCAoY3VyID09IE5VTEwpKQorICAgICAgICByZXR1cm4oLTEpOworCisgICAgeG1sSW5pdFBhcnNlcigpOworICAgIGJ1ZmZlciA9IHhtbEJ1ZkZyb21CdWZmZXIoYnVmKTsKKyAgICBpZiAoYnVmZmVyID09IE5VTEwpCisgICAgICAgIHJldHVybigtMSk7CisKKyAgICByZXQgPSBodG1sQnVmTm9kZUR1bXBGb3JtYXQoYnVmZmVyLCBkb2MsIGN1ciwgMSk7CisKKyAgICB4bWxCdWZCYWNrVG9CdWZmZXIoYnVmZmVyKTsKKworICAgIGlmIChyZXQgPiBJTlRfTUFYKQorICAgICAgICByZXR1cm4oLTEpOworICAgIHJldHVybigoaW50KSByZXQpOworfQorCisvKioKKyAqIGh0bWxOb2RlRHVtcEZpbGVGb3JtYXQ6CisgKiBAb3V0OiAgdGhlIEZJTEUgcG9pbnRlcgorICogQGRvYzogIHRoZSBkb2N1bWVudAorICogQGN1cjogIHRoZSBjdXJyZW50IG5vZGUKKyAqIEBlbmNvZGluZzogdGhlIGRvY3VtZW50IGVuY29kaW5nCisgKiBAZm9ybWF0OiAgc2hvdWxkIGZvcm1hdHRpbmcgc3BhY2VzIGJlZW4gYWRkZWQKKyAqCisgKiBEdW1wIGFuIEhUTUwgbm9kZSwgcmVjdXJzaXZlIGJlaGF2aW91cixjaGlsZHJlbiBhcmUgcHJpbnRlZCB0b28uCisgKgorICogVE9ETzogaWYgZW5jb2RpbmcgPT0gTlVMTCB0cnkgdG8gc2F2ZSBpbiB0aGUgZG9jIGVuY29kaW5nCisgKgorICogcmV0dXJuczogdGhlIG51bWJlciBvZiBieXRlIHdyaXR0ZW4gb3IgLTEgaW4gY2FzZSBvZiBmYWlsdXJlLgorICovCitpbnQKK2h0bWxOb2RlRHVtcEZpbGVGb3JtYXQoRklMRSAqb3V0LCB4bWxEb2NQdHIgZG9jLAorCSAgICAgICAgICAgICAgIHhtbE5vZGVQdHIgY3VyLCBjb25zdCBjaGFyICplbmNvZGluZywgaW50IGZvcm1hdCkgeworICAgIHhtbE91dHB1dEJ1ZmZlclB0ciBidWY7CisgICAgeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0ciBoYW5kbGVyID0gTlVMTDsKKyAgICBpbnQgcmV0OworCisgICAgeG1sSW5pdFBhcnNlcigpOworCisgICAgaWYgKGVuY29kaW5nICE9IE5VTEwpIHsKKwl4bWxDaGFyRW5jb2RpbmcgZW5jOworCisJZW5jID0geG1sUGFyc2VDaGFyRW5jb2RpbmcoZW5jb2RpbmcpOworCWlmIChlbmMgIT0gWE1MX0NIQVJfRU5DT0RJTkdfVVRGOCkgeworCSAgICBoYW5kbGVyID0geG1sRmluZENoYXJFbmNvZGluZ0hhbmRsZXIoZW5jb2RpbmcpOworCSAgICBpZiAoaGFuZGxlciA9PSBOVUxMKQorCQlodG1sU2F2ZUVycihYTUxfU0FWRV9VTktOT1dOX0VOQ09ESU5HLCBOVUxMLCBlbmNvZGluZyk7CisJfQorICAgIH0KKworICAgIC8qCisgICAgICogRmFsbGJhY2sgdG8gSFRNTCBvciBBU0NJSSB3aGVuIHRoZSBlbmNvZGluZyBpcyB1bnNwZWNpZmllZAorICAgICAqLworICAgIGlmIChoYW5kbGVyID09IE5VTEwpCisJaGFuZGxlciA9IHhtbEZpbmRDaGFyRW5jb2RpbmdIYW5kbGVyKCJIVE1MIik7CisgICAgaWYgKGhhbmRsZXIgPT0gTlVMTCkKKwloYW5kbGVyID0geG1sRmluZENoYXJFbmNvZGluZ0hhbmRsZXIoImFzY2lpIik7CisKKyAgICAvKgorICAgICAqIHNhdmUgdGhlIGNvbnRlbnQgdG8gYSB0ZW1wIGJ1ZmZlci4KKyAgICAgKi8KKyAgICBidWYgPSB4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlKG91dCwgaGFuZGxlcik7CisgICAgaWYgKGJ1ZiA9PSBOVUxMKSByZXR1cm4oMCk7CisKKyAgICBodG1sTm9kZUR1bXBGb3JtYXRPdXRwdXQoYnVmLCBkb2MsIGN1ciwgZW5jb2RpbmcsIGZvcm1hdCk7CisKKyAgICByZXQgPSB4bWxPdXRwdXRCdWZmZXJDbG9zZShidWYpOworICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIGh0bWxOb2RlRHVtcEZpbGU6CisgKiBAb3V0OiAgdGhlIEZJTEUgcG9pbnRlcgorICogQGRvYzogIHRoZSBkb2N1bWVudAorICogQGN1cjogIHRoZSBjdXJyZW50IG5vZGUKKyAqCisgKiBEdW1wIGFuIEhUTUwgbm9kZSwgcmVjdXJzaXZlIGJlaGF2aW91cixjaGlsZHJlbiBhcmUgcHJpbnRlZCB0b28sCisgKiBhbmQgZm9ybWF0dGluZyByZXR1cm5zIGFyZSBhZGRlZC4KKyAqLwordm9pZAoraHRtbE5vZGVEdW1wRmlsZShGSUxFICpvdXQsIHhtbERvY1B0ciBkb2MsIHhtbE5vZGVQdHIgY3VyKSB7CisgICAgaHRtbE5vZGVEdW1wRmlsZUZvcm1hdChvdXQsIGRvYywgY3VyLCBOVUxMLCAxKTsKK30KKworLyoqCisgKiBodG1sRG9jRHVtcE1lbW9yeUZvcm1hdDoKKyAqIEBjdXI6ICB0aGUgZG9jdW1lbnQKKyAqIEBtZW06ICBPVVQ6IHRoZSBtZW1vcnkgcG9pbnRlcgorICogQHNpemU6ICBPVVQ6IHRoZSBtZW1vcnkgbGVuZ3RoCisgKiBAZm9ybWF0OiAgc2hvdWxkIGZvcm1hdHRpbmcgc3BhY2VzIGJlZW4gYWRkZWQKKyAqCisgKiBEdW1wIGFuIEhUTUwgZG9jdW1lbnQgaW4gbWVtb3J5IGFuZCByZXR1cm4gdGhlIHhtbENoYXIgKiBhbmQgaXQncyBzaXplLgorICogSXQncyB1cCB0byB0aGUgY2FsbGVyIHRvIGZyZWUgdGhlIG1lbW9yeS4KKyAqLwordm9pZAoraHRtbERvY0R1bXBNZW1vcnlGb3JtYXQoeG1sRG9jUHRyIGN1ciwgeG1sQ2hhcioqbWVtLCBpbnQgKnNpemUsIGludCBmb3JtYXQpIHsKKyAgICB4bWxPdXRwdXRCdWZmZXJQdHIgYnVmOworICAgIHhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIgaGFuZGxlciA9IE5VTEw7CisgICAgY29uc3QgY2hhciAqZW5jb2Rpbmc7CisKKyAgICB4bWxJbml0UGFyc2VyKCk7CisKKyAgICBpZiAoKG1lbSA9PSBOVUxMKSB8fCAoc2l6ZSA9PSBOVUxMKSkKKyAgICAgICAgcmV0dXJuOworICAgIGlmIChjdXIgPT0gTlVMTCkgeworCSptZW0gPSBOVUxMOworCSpzaXplID0gMDsKKwlyZXR1cm47CisgICAgfQorCisgICAgZW5jb2RpbmcgPSAoY29uc3QgY2hhciAqKSBodG1sR2V0TWV0YUVuY29kaW5nKGN1cik7CisKKyAgICBpZiAoZW5jb2RpbmcgIT0gTlVMTCkgeworCXhtbENoYXJFbmNvZGluZyBlbmM7CisKKwllbmMgPSB4bWxQYXJzZUNoYXJFbmNvZGluZyhlbmNvZGluZyk7CisJaWYgKGVuYyAhPSBjdXItPmNoYXJzZXQpIHsKKwkgICAgaWYgKGN1ci0+Y2hhcnNldCAhPSBYTUxfQ0hBUl9FTkNPRElOR19VVEY4KSB7CisJCS8qCisJCSAqIE5vdCBzdXBwb3J0ZWQgeWV0CisJCSAqLworCQkqbWVtID0gTlVMTDsKKwkJKnNpemUgPSAwOworCQlyZXR1cm47CisJICAgIH0KKworCSAgICBoYW5kbGVyID0geG1sRmluZENoYXJFbmNvZGluZ0hhbmRsZXIoZW5jb2RpbmcpOworCSAgICBpZiAoaGFuZGxlciA9PSBOVUxMKQorICAgICAgICAgICAgICAgIGh0bWxTYXZlRXJyKFhNTF9TQVZFX1VOS05PV05fRU5DT0RJTkcsIE5VTEwsIGVuY29kaW5nKTsKKworCX0gZWxzZSB7CisJICAgIGhhbmRsZXIgPSB4bWxGaW5kQ2hhckVuY29kaW5nSGFuZGxlcihlbmNvZGluZyk7CisJfQorICAgIH0KKworICAgIC8qCisgICAgICogRmFsbGJhY2sgdG8gSFRNTCBvciBBU0NJSSB3aGVuIHRoZSBlbmNvZGluZyBpcyB1bnNwZWNpZmllZAorICAgICAqLworICAgIGlmIChoYW5kbGVyID09IE5VTEwpCisJaGFuZGxlciA9IHhtbEZpbmRDaGFyRW5jb2RpbmdIYW5kbGVyKCJIVE1MIik7CisgICAgaWYgKGhhbmRsZXIgPT0gTlVMTCkKKwloYW5kbGVyID0geG1sRmluZENoYXJFbmNvZGluZ0hhbmRsZXIoImFzY2lpIik7CisKKyAgICBidWYgPSB4bWxBbGxvY091dHB1dEJ1ZmZlckludGVybmFsKGhhbmRsZXIpOworICAgIGlmIChidWYgPT0gTlVMTCkgeworCSptZW0gPSBOVUxMOworCSpzaXplID0gMDsKKwlyZXR1cm47CisgICAgfQorCisgICAgaHRtbERvY0NvbnRlbnREdW1wRm9ybWF0T3V0cHV0KGJ1ZiwgY3VyLCBOVUxMLCBmb3JtYXQpOworCisgICAgeG1sT3V0cHV0QnVmZmVyRmx1c2goYnVmKTsKKyAgICBpZiAoYnVmLT5jb252ICE9IE5VTEwpIHsKKwkqc2l6ZSA9IHhtbEJ1ZlVzZShidWYtPmNvbnYpOworCSptZW0gPSB4bWxTdHJuZHVwKHhtbEJ1ZkNvbnRlbnQoYnVmLT5jb252KSwgKnNpemUpOworICAgIH0gZWxzZSB7CisJKnNpemUgPSB4bWxCdWZVc2UoYnVmLT5idWZmZXIpOworCSptZW0gPSB4bWxTdHJuZHVwKHhtbEJ1ZkNvbnRlbnQoYnVmLT5idWZmZXIpLCAqc2l6ZSk7CisgICAgfQorICAgICh2b2lkKXhtbE91dHB1dEJ1ZmZlckNsb3NlKGJ1Zik7Cit9CisKKy8qKgorICogaHRtbERvY0R1bXBNZW1vcnk6CisgKiBAY3VyOiAgdGhlIGRvY3VtZW50CisgKiBAbWVtOiAgT1VUOiB0aGUgbWVtb3J5IHBvaW50ZXIKKyAqIEBzaXplOiAgT1VUOiB0aGUgbWVtb3J5IGxlbmd0aAorICoKKyAqIER1bXAgYW4gSFRNTCBkb2N1bWVudCBpbiBtZW1vcnkgYW5kIHJldHVybiB0aGUgeG1sQ2hhciAqIGFuZCBpdCdzIHNpemUuCisgKiBJdCdzIHVwIHRvIHRoZSBjYWxsZXIgdG8gZnJlZSB0aGUgbWVtb3J5LgorICovCit2b2lkCitodG1sRG9jRHVtcE1lbW9yeSh4bWxEb2NQdHIgY3VyLCB4bWxDaGFyKiptZW0sIGludCAqc2l6ZSkgeworCWh0bWxEb2NEdW1wTWVtb3J5Rm9ybWF0KGN1ciwgbWVtLCBzaXplLCAxKTsKK30KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQlEdW1waW5nIEhUTUwgdHJlZSBjb250ZW50IHRvIGFuIEkvTyBvdXRwdXQgYnVmZmVyCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKwordm9pZCB4bWxOc0xpc3REdW1wT3V0cHV0KHhtbE91dHB1dEJ1ZmZlclB0ciBidWYsIHhtbE5zUHRyIGN1cik7CisKKy8qKgorICogaHRtbER0ZER1bXBPdXRwdXQ6CisgKiBAYnVmOiAgdGhlIEhUTUwgYnVmZmVyIG91dHB1dAorICogQGRvYzogIHRoZSBkb2N1bWVudAorICogQGVuY29kaW5nOiAgdGhlIGVuY29kaW5nIHN0cmluZworICoKKyAqIFRPRE86IGNoZWNrIHdoZXRoZXIgZW5jb2RpbmcgaXMgbmVlZGVkCisgKgorICogRHVtcCB0aGUgSFRNTCBkb2N1bWVudCBEVEQsIGlmIGFueS4KKyAqLworc3RhdGljIHZvaWQKK2h0bWxEdGREdW1wT3V0cHV0KHhtbE91dHB1dEJ1ZmZlclB0ciBidWYsIHhtbERvY1B0ciBkb2MsCisJICAgICAgICAgIGNvbnN0IGNoYXIgKmVuY29kaW5nIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICB4bWxEdGRQdHIgY3VyID0gZG9jLT5pbnRTdWJzZXQ7CisKKyAgICBpZiAoY3VyID09IE5VTEwpIHsKKwlodG1sU2F2ZUVycihYTUxfU0FWRV9OT19ET0NUWVBFLCAoeG1sTm9kZVB0cikgZG9jLCBOVUxMKTsKKwlyZXR1cm47CisgICAgfQorICAgIHhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nKGJ1ZiwgIjwhRE9DVFlQRSAiKTsKKyAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyhidWYsIChjb25zdCBjaGFyICopY3VyLT5uYW1lKTsKKyAgICBpZiAoY3VyLT5FeHRlcm5hbElEICE9IE5VTEwpIHsKKwl4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyhidWYsICIgUFVCTElDICIpOworCXhtbEJ1ZldyaXRlUXVvdGVkU3RyaW5nKGJ1Zi0+YnVmZmVyLCBjdXItPkV4dGVybmFsSUQpOworCWlmIChjdXItPlN5c3RlbUlEICE9IE5VTEwpIHsKKwkgICAgeG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcoYnVmLCAiICIpOworCSAgICB4bWxCdWZXcml0ZVF1b3RlZFN0cmluZyhidWYtPmJ1ZmZlciwgY3VyLT5TeXN0ZW1JRCk7CisJfQorICAgIH0gIGVsc2UgaWYgKGN1ci0+U3lzdGVtSUQgIT0gTlVMTCkgeworCXhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nKGJ1ZiwgIiBTWVNURU0gIik7CisJeG1sQnVmV3JpdGVRdW90ZWRTdHJpbmcoYnVmLT5idWZmZXIsIGN1ci0+U3lzdGVtSUQpOworICAgIH0KKyAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyhidWYsICI+XG4iKTsKK30KKworLyoqCisgKiBodG1sQXR0ckR1bXBPdXRwdXQ6CisgKiBAYnVmOiAgdGhlIEhUTUwgYnVmZmVyIG91dHB1dAorICogQGRvYzogIHRoZSBkb2N1bWVudAorICogQGN1cjogIHRoZSBhdHRyaWJ1dGUgcG9pbnRlcgorICogQGVuY29kaW5nOiAgdGhlIGVuY29kaW5nIHN0cmluZworICoKKyAqIER1bXAgYW4gSFRNTCBhdHRyaWJ1dGUKKyAqLworc3RhdGljIHZvaWQKK2h0bWxBdHRyRHVtcE91dHB1dCh4bWxPdXRwdXRCdWZmZXJQdHIgYnVmLCB4bWxEb2NQdHIgZG9jLCB4bWxBdHRyUHRyIGN1ciwKKwkgICAgICAgICAgIGNvbnN0IGNoYXIgKmVuY29kaW5nIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICB4bWxDaGFyICp2YWx1ZTsKKworICAgIC8qCisgICAgICogVGhlIGh0bWwgb3V0cHV0IG1ldGhvZCBzaG91bGQgbm90IGVzY2FwZSBhICYgY2hhcmFjdGVyCisgICAgICogb2NjdXJyaW5nIGluIGFuIGF0dHJpYnV0ZSB2YWx1ZSBpbW1lZGlhdGVseSBmb2xsb3dlZCBieQorICAgICAqIGEgeyBjaGFyYWN0ZXIgKHNlZSBTZWN0aW9uIEIuNy4xIG9mIHRoZSBIVE1MIDQuMCBSZWNvbW1lbmRhdGlvbikuCisgICAgICogVGhpcyBpcyBpbXBsZW1lbnRlZCBpbiB4bWxFbmNvZGVFbnRpdGllc1JlZW50cmFudAorICAgICAqLworCisgICAgaWYgKGN1ciA9PSBOVUxMKSB7CisJcmV0dXJuOworICAgIH0KKyAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyhidWYsICIgIik7CisgICAgaWYgKChjdXItPm5zICE9IE5VTEwpICYmIChjdXItPm5zLT5wcmVmaXggIT0gTlVMTCkpIHsKKyAgICAgICAgeG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcoYnVmLCAoY29uc3QgY2hhciAqKWN1ci0+bnMtPnByZWZpeCk7CisJeG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcoYnVmLCAiOiIpOworICAgIH0KKyAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyhidWYsIChjb25zdCBjaGFyICopY3VyLT5uYW1lKTsKKyAgICBpZiAoKGN1ci0+Y2hpbGRyZW4gIT0gTlVMTCkgJiYgKCFodG1sSXNCb29sZWFuQXR0cihjdXItPm5hbWUpKSkgeworCXZhbHVlID0geG1sTm9kZUxpc3RHZXRTdHJpbmcoZG9jLCBjdXItPmNoaWxkcmVuLCAwKTsKKwlpZiAodmFsdWUpIHsKKwkgICAgeG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcoYnVmLCAiPSIpOworCSAgICBpZiAoKGN1ci0+bnMgPT0gTlVMTCkgJiYgKGN1ci0+cGFyZW50ICE9IE5VTEwpICYmCisJCShjdXItPnBhcmVudC0+bnMgPT0gTlVMTCkgJiYKKwkJKCgheG1sU3RyY2FzZWNtcChjdXItPm5hbWUsIEJBRF9DQVNUICJocmVmIikpIHx8CisJICAgICAgICAgKCF4bWxTdHJjYXNlY21wKGN1ci0+bmFtZSwgQkFEX0NBU1QgImFjdGlvbiIpKSB8fAorCQkgKCF4bWxTdHJjYXNlY21wKGN1ci0+bmFtZSwgQkFEX0NBU1QgInNyYyIpKSB8fAorCQkgKCgheG1sU3RyY2FzZWNtcChjdXItPm5hbWUsIEJBRF9DQVNUICJuYW1lIikpICYmCisJCSAgKCF4bWxTdHJjYXNlY21wKGN1ci0+cGFyZW50LT5uYW1lLCBCQURfQ0FTVCAiYSIpKSkpKSB7CisJCXhtbENoYXIgKnRtcCA9IHZhbHVlOworCQkvKiB4bWxVUklFc2NhcGVTdHIoKSBlc2NhcGVzICciJyBzbyBpdCBjYW4gYmUgc2FmZWx5IHVzZWQuICovCisJCXhtbEJ1ZkNDYXQoYnVmLT5idWZmZXIsICJcIiIpOworCisJCXdoaWxlIChJU19CTEFOS19DSCgqdG1wKSkgdG1wKys7CisKKwkJLyogVVJJIEVzY2FwZSBldmVyeXRoaW5nLCBleGNlcHQgc2VydmVyIHNpZGUgaW5jbHVkZXMuICovCisJCWZvciAoIDsgOyApIHsKKwkJICAgIHhtbENoYXIgKmVzY2FwZWQ7CisJCSAgICB4bWxDaGFyIGVuZENoYXI7CisJCSAgICB4bWxDaGFyICplbmQgPSBOVUxMOworCQkgICAgeG1sQ2hhciAqc3RhcnQgPSAoeG1sQ2hhciAqKXhtbFN0cnN0cih0bXAsIEJBRF9DQVNUICI8IS0tIik7CisJCSAgICBpZiAoc3RhcnQgIT0gTlVMTCkgeworCQkJZW5kID0gKHhtbENoYXIgKil4bWxTdHJzdHIodG1wLCBCQURfQ0FTVCAiLS0+Iik7CisJCQlpZiAoZW5kICE9IE5VTEwpIHsKKwkJCSAgICAqc3RhcnQgPSAnXDAnOworCQkJfQorCQkgICAgfQorCisJCSAgICAvKiBFc2NhcGUgdGhlIHdob2xlIHN0cmluZywgb3IgdW50aWwgc3RhcnQgKHNldCB0byAnXDAnKS4gKi8KKwkJICAgIGVzY2FwZWQgPSB4bWxVUklFc2NhcGVTdHIodG1wLCBCQURfQ0FTVCJALzo9PzsjJSYsKyIpOworCQkgICAgaWYgKGVzY2FwZWQgIT0gTlVMTCkgeworCQkgICAgICAgIHhtbEJ1ZkNhdChidWYtPmJ1ZmZlciwgZXNjYXBlZCk7CisJCSAgICAgICAgeG1sRnJlZShlc2NhcGVkKTsKKwkJICAgIH0gZWxzZSB7CisJCSAgICAgICAgeG1sQnVmQ2F0KGJ1Zi0+YnVmZmVyLCB0bXApOworCQkgICAgfQorCisJCSAgICBpZiAoZW5kID09IE5VTEwpIHsgLyogRXZlcnl0aGluZyBoYXMgYmVlbiB3cml0dGVuLiAqLworCQkJYnJlYWs7CisJCSAgICB9CisKKwkJICAgIC8qIERvIG5vdCBlc2NhcGUgYW55dGhpbmcgd2l0aGluIHNlcnZlciBzaWRlIGluY2x1ZGVzLiAqLworCQkgICAgKnN0YXJ0ID0gJzwnOyAvKiBSZXN0b3JlIHRoZSBmaXJzdCBjaGFyYWN0ZXIgb2YgIjwhLS0iLiAqLworCQkgICAgZW5kICs9IDM7IC8qIHN0cmxlbigiLS0+IikgKi8KKwkJICAgIGVuZENoYXIgPSAqZW5kOworCQkgICAgKmVuZCA9ICdcMCc7CisJCSAgICB4bWxCdWZDYXQoYnVmLT5idWZmZXIsIHN0YXJ0KTsKKwkJICAgICplbmQgPSBlbmRDaGFyOworCQkgICAgdG1wID0gZW5kOworCQl9CisKKwkJeG1sQnVmQ0NhdChidWYtPmJ1ZmZlciwgIlwiIik7CisJICAgIH0gZWxzZSB7CisJCXhtbEJ1ZldyaXRlUXVvdGVkU3RyaW5nKGJ1Zi0+YnVmZmVyLCB2YWx1ZSk7CisJICAgIH0KKwkgICAgeG1sRnJlZSh2YWx1ZSk7CisJfSBlbHNlICB7CisJICAgIHhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nKGJ1ZiwgIj1cIlwiIik7CisJfQorICAgIH0KK30KKworLyoqCisgKiBodG1sQXR0ckxpc3REdW1wT3V0cHV0OgorICogQGJ1ZjogIHRoZSBIVE1MIGJ1ZmZlciBvdXRwdXQKKyAqIEBkb2M6ICB0aGUgZG9jdW1lbnQKKyAqIEBjdXI6ICB0aGUgZmlyc3QgYXR0cmlidXRlIHBvaW50ZXIKKyAqIEBlbmNvZGluZzogIHRoZSBlbmNvZGluZyBzdHJpbmcKKyAqCisgKiBEdW1wIGEgbGlzdCBvZiBIVE1MIGF0dHJpYnV0ZXMKKyAqLworc3RhdGljIHZvaWQKK2h0bWxBdHRyTGlzdER1bXBPdXRwdXQoeG1sT3V0cHV0QnVmZmVyUHRyIGJ1ZiwgeG1sRG9jUHRyIGRvYywgeG1sQXR0clB0ciBjdXIsIGNvbnN0IGNoYXIgKmVuY29kaW5nKSB7CisgICAgaWYgKGN1ciA9PSBOVUxMKSB7CisJcmV0dXJuOworICAgIH0KKyAgICB3aGlsZSAoY3VyICE9IE5VTEwpIHsKKyAgICAgICAgaHRtbEF0dHJEdW1wT3V0cHV0KGJ1ZiwgZG9jLCBjdXIsIGVuY29kaW5nKTsKKwljdXIgPSBjdXItPm5leHQ7CisgICAgfQorfQorCisKKworLyoqCisgKiBodG1sTm9kZUxpc3REdW1wT3V0cHV0OgorICogQGJ1ZjogIHRoZSBIVE1MIGJ1ZmZlciBvdXRwdXQKKyAqIEBkb2M6ICB0aGUgZG9jdW1lbnQKKyAqIEBjdXI6ICB0aGUgZmlyc3Qgbm9kZQorICogQGVuY29kaW5nOiAgdGhlIGVuY29kaW5nIHN0cmluZworICogQGZvcm1hdDogIHNob3VsZCBmb3JtYXR0aW5nIHNwYWNlcyBiZWVuIGFkZGVkCisgKgorICogRHVtcCBhbiBIVE1MIG5vZGUgbGlzdCwgcmVjdXJzaXZlIGJlaGF2aW91cixjaGlsZHJlbiBhcmUgcHJpbnRlZCB0b28uCisgKi8KK3N0YXRpYyB2b2lkCitodG1sTm9kZUxpc3REdW1wT3V0cHV0KHhtbE91dHB1dEJ1ZmZlclB0ciBidWYsIHhtbERvY1B0ciBkb2MsCisJICAgICAgICAgICAgICAgeG1sTm9kZVB0ciBjdXIsIGNvbnN0IGNoYXIgKmVuY29kaW5nLCBpbnQgZm9ybWF0KSB7CisgICAgaWYgKGN1ciA9PSBOVUxMKSB7CisJcmV0dXJuOworICAgIH0KKyAgICB3aGlsZSAoY3VyICE9IE5VTEwpIHsKKyAgICAgICAgaHRtbE5vZGVEdW1wRm9ybWF0T3V0cHV0KGJ1ZiwgZG9jLCBjdXIsIGVuY29kaW5nLCBmb3JtYXQpOworCWN1ciA9IGN1ci0+bmV4dDsKKyAgICB9Cit9CisKKy8qKgorICogaHRtbE5vZGVEdW1wRm9ybWF0T3V0cHV0OgorICogQGJ1ZjogIHRoZSBIVE1MIGJ1ZmZlciBvdXRwdXQKKyAqIEBkb2M6ICB0aGUgZG9jdW1lbnQKKyAqIEBjdXI6ICB0aGUgY3VycmVudCBub2RlCisgKiBAZW5jb2Rpbmc6ICB0aGUgZW5jb2Rpbmcgc3RyaW5nCisgKiBAZm9ybWF0OiAgc2hvdWxkIGZvcm1hdHRpbmcgc3BhY2VzIGJlZW4gYWRkZWQKKyAqCisgKiBEdW1wIGFuIEhUTUwgbm9kZSwgcmVjdXJzaXZlIGJlaGF2aW91cixjaGlsZHJlbiBhcmUgcHJpbnRlZCB0b28uCisgKi8KK3ZvaWQKK2h0bWxOb2RlRHVtcEZvcm1hdE91dHB1dCh4bWxPdXRwdXRCdWZmZXJQdHIgYnVmLCB4bWxEb2NQdHIgZG9jLAorCSAgICAgICAgICAgICAgICAgeG1sTm9kZVB0ciBjdXIsIGNvbnN0IGNoYXIgKmVuY29kaW5nLCBpbnQgZm9ybWF0KSB7CisgICAgY29uc3QgaHRtbEVsZW1EZXNjICogaW5mbzsKKworICAgIHhtbEluaXRQYXJzZXIoKTsKKworICAgIGlmICgoY3VyID09IE5VTEwpIHx8IChidWYgPT0gTlVMTCkpIHsKKwlyZXR1cm47CisgICAgfQorICAgIC8qCisgICAgICogU3BlY2lhbCBjYXNlcy4KKyAgICAgKi8KKyAgICBpZiAoY3VyLT50eXBlID09IFhNTF9EVERfTk9ERSkKKwlyZXR1cm47CisgICAgaWYgKChjdXItPnR5cGUgPT0gWE1MX0hUTUxfRE9DVU1FTlRfTk9ERSkgfHwKKyAgICAgICAgKGN1ci0+dHlwZSA9PSBYTUxfRE9DVU1FTlRfTk9ERSkpeworCWh0bWxEb2NDb250ZW50RHVtcE91dHB1dChidWYsICh4bWxEb2NQdHIpIGN1ciwgZW5jb2RpbmcpOworCXJldHVybjsKKyAgICB9CisgICAgaWYgKGN1ci0+dHlwZSA9PSBYTUxfQVRUUklCVVRFX05PREUpIHsKKyAgICAgICAgaHRtbEF0dHJEdW1wT3V0cHV0KGJ1ZiwgZG9jLCAoeG1sQXR0clB0cikgY3VyLCBlbmNvZGluZyk7CisJcmV0dXJuOworICAgIH0KKyAgICBpZiAoY3VyLT50eXBlID09IEhUTUxfVEVYVF9OT0RFKSB7CisJaWYgKGN1ci0+Y29udGVudCAhPSBOVUxMKSB7CisJICAgIGlmICgoKGN1ci0+bmFtZSA9PSAoY29uc3QgeG1sQ2hhciAqKXhtbFN0cmluZ1RleHQpIHx8CisJCSAoY3VyLT5uYW1lICE9IChjb25zdCB4bWxDaGFyICopeG1sU3RyaW5nVGV4dE5vZW5jKSkgJiYKKwkJKChjdXItPnBhcmVudCA9PSBOVUxMKSB8fAorCQkgKCh4bWxTdHJjYXNlY21wKGN1ci0+cGFyZW50LT5uYW1lLCBCQURfQ0FTVCAic2NyaXB0IikpICYmCisJCSAgKHhtbFN0cmNhc2VjbXAoY3VyLT5wYXJlbnQtPm5hbWUsIEJBRF9DQVNUICJzdHlsZSIpKSkpKSB7CisJCXhtbENoYXIgKmJ1ZmZlcjsKKworCQlidWZmZXIgPSB4bWxFbmNvZGVFbnRpdGllc1JlZW50cmFudChkb2MsIGN1ci0+Y29udGVudCk7CisJCWlmIChidWZmZXIgIT0gTlVMTCkgeworCQkgICAgeG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcoYnVmLCAoY29uc3QgY2hhciAqKWJ1ZmZlcik7CisJCSAgICB4bWxGcmVlKGJ1ZmZlcik7CisJCX0KKwkgICAgfSBlbHNlIHsKKwkJeG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcoYnVmLCAoY29uc3QgY2hhciAqKWN1ci0+Y29udGVudCk7CisJICAgIH0KKwl9CisJcmV0dXJuOworICAgIH0KKyAgICBpZiAoY3VyLT50eXBlID09IEhUTUxfQ09NTUVOVF9OT0RFKSB7CisJaWYgKGN1ci0+Y29udGVudCAhPSBOVUxMKSB7CisJICAgIHhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nKGJ1ZiwgIjwhLS0iKTsKKwkgICAgeG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcoYnVmLCAoY29uc3QgY2hhciAqKWN1ci0+Y29udGVudCk7CisJICAgIHhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nKGJ1ZiwgIi0tPiIpOworCX0KKwlyZXR1cm47CisgICAgfQorICAgIGlmIChjdXItPnR5cGUgPT0gSFRNTF9QSV9OT0RFKSB7CisJaWYgKGN1ci0+bmFtZSA9PSBOVUxMKQorCSAgICByZXR1cm47CisJeG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcoYnVmLCAiPD8iKTsKKwl4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyhidWYsIChjb25zdCBjaGFyICopY3VyLT5uYW1lKTsKKwlpZiAoY3VyLT5jb250ZW50ICE9IE5VTEwpIHsKKwkgICAgeG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcoYnVmLCAiICIpOworCSAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyhidWYsIChjb25zdCBjaGFyICopY3VyLT5jb250ZW50KTsKKwl9CisJeG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcoYnVmLCAiPiIpOworCXJldHVybjsKKyAgICB9CisgICAgaWYgKGN1ci0+dHlwZSA9PSBIVE1MX0VOVElUWV9SRUZfTk9ERSkgeworICAgICAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyhidWYsICImIik7CisJeG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcoYnVmLCAoY29uc3QgY2hhciAqKWN1ci0+bmFtZSk7CisgICAgICAgIHhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nKGJ1ZiwgIjsiKTsKKwlyZXR1cm47CisgICAgfQorICAgIGlmIChjdXItPnR5cGUgPT0gSFRNTF9QUkVTRVJWRV9OT0RFKSB7CisJaWYgKGN1ci0+Y29udGVudCAhPSBOVUxMKSB7CisJICAgIHhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nKGJ1ZiwgKGNvbnN0IGNoYXIgKiljdXItPmNvbnRlbnQpOworCX0KKwlyZXR1cm47CisgICAgfQorCisgICAgLyoKKyAgICAgKiBHZXQgc3BlY2lmaWMgSFRNTCBpbmZvIGZvciB0aGF0IG5vZGUuCisgICAgICovCisgICAgaWYgKGN1ci0+bnMgPT0gTlVMTCkKKwlpbmZvID0gaHRtbFRhZ0xvb2t1cChjdXItPm5hbWUpOworICAgIGVsc2UKKwlpbmZvID0gTlVMTDsKKworICAgIHhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nKGJ1ZiwgIjwiKTsKKyAgICBpZiAoKGN1ci0+bnMgIT0gTlVMTCkgJiYgKGN1ci0+bnMtPnByZWZpeCAhPSBOVUxMKSkgeworICAgICAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyhidWYsIChjb25zdCBjaGFyICopY3VyLT5ucy0+cHJlZml4KTsKKwl4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyhidWYsICI6Iik7CisgICAgfQorICAgIHhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nKGJ1ZiwgKGNvbnN0IGNoYXIgKiljdXItPm5hbWUpOworICAgIGlmIChjdXItPm5zRGVmKQorCXhtbE5zTGlzdER1bXBPdXRwdXQoYnVmLCBjdXItPm5zRGVmKTsKKyAgICBpZiAoY3VyLT5wcm9wZXJ0aWVzICE9IE5VTEwpCisgICAgICAgIGh0bWxBdHRyTGlzdER1bXBPdXRwdXQoYnVmLCBkb2MsIGN1ci0+cHJvcGVydGllcywgZW5jb2RpbmcpOworCisgICAgaWYgKChpbmZvICE9IE5VTEwpICYmIChpbmZvLT5lbXB0eSkpIHsKKyAgICAgICAgeG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcoYnVmLCAiPiIpOworCWlmICgoZm9ybWF0KSAmJiAoIWluZm8tPmlzaW5saW5lKSAmJiAoY3VyLT5uZXh0ICE9IE5VTEwpKSB7CisJICAgIGlmICgoY3VyLT5uZXh0LT50eXBlICE9IEhUTUxfVEVYVF9OT0RFKSAmJgorCQkoY3VyLT5uZXh0LT50eXBlICE9IEhUTUxfRU5USVRZX1JFRl9OT0RFKSAmJgorCQkoY3VyLT5wYXJlbnQgIT0gTlVMTCkgJiYKKwkJKGN1ci0+cGFyZW50LT5uYW1lICE9IE5VTEwpICYmCisJCShjdXItPnBhcmVudC0+bmFtZVswXSAhPSAncCcpKSAvKiBwLCBwcmUsIHBhcmFtICovCisJCXhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nKGJ1ZiwgIlxuIik7CisJfQorCXJldHVybjsKKyAgICB9CisgICAgaWYgKCgoY3VyLT50eXBlID09IFhNTF9FTEVNRU5UX05PREUpIHx8IChjdXItPmNvbnRlbnQgPT0gTlVMTCkpICYmCisJKGN1ci0+Y2hpbGRyZW4gPT0gTlVMTCkpIHsKKyAgICAgICAgaWYgKChpbmZvICE9IE5VTEwpICYmIChpbmZvLT5zYXZlRW5kVGFnICE9IDApICYmCisJICAgICh4bWxTdHJjbXAoQkFEX0NBU1QgaW5mby0+bmFtZSwgQkFEX0NBU1QgImh0bWwiKSkgJiYKKwkgICAgKHhtbFN0cmNtcChCQURfQ0FTVCBpbmZvLT5uYW1lLCBCQURfQ0FTVCAiYm9keSIpKSkgeworCSAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyhidWYsICI+Iik7CisJfSBlbHNlIHsKKwkgICAgeG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcoYnVmLCAiPjwvIik7CisgICAgICAgICAgICBpZiAoKGN1ci0+bnMgIT0gTlVMTCkgJiYgKGN1ci0+bnMtPnByZWZpeCAhPSBOVUxMKSkgeworICAgICAgICAgICAgICAgIHhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nKGJ1ZiwgKGNvbnN0IGNoYXIgKiljdXItPm5zLT5wcmVmaXgpOworICAgICAgICAgICAgICAgIHhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nKGJ1ZiwgIjoiKTsKKyAgICAgICAgICAgIH0KKwkgICAgeG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcoYnVmLCAoY29uc3QgY2hhciAqKWN1ci0+bmFtZSk7CisJICAgIHhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nKGJ1ZiwgIj4iKTsKKwl9CisJaWYgKChmb3JtYXQpICYmIChjdXItPm5leHQgIT0gTlVMTCkgJiYKKyAgICAgICAgICAgIChpbmZvICE9IE5VTEwpICYmICghaW5mby0+aXNpbmxpbmUpKSB7CisJICAgIGlmICgoY3VyLT5uZXh0LT50eXBlICE9IEhUTUxfVEVYVF9OT0RFKSAmJgorCQkoY3VyLT5uZXh0LT50eXBlICE9IEhUTUxfRU5USVRZX1JFRl9OT0RFKSAmJgorCQkoY3VyLT5wYXJlbnQgIT0gTlVMTCkgJiYKKwkJKGN1ci0+cGFyZW50LT5uYW1lICE9IE5VTEwpICYmCisJCShjdXItPnBhcmVudC0+bmFtZVswXSAhPSAncCcpKSAvKiBwLCBwcmUsIHBhcmFtICovCisJCXhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nKGJ1ZiwgIlxuIik7CisJfQorCXJldHVybjsKKyAgICB9CisgICAgeG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcoYnVmLCAiPiIpOworICAgIGlmICgoY3VyLT50eXBlICE9IFhNTF9FTEVNRU5UX05PREUpICYmCisJKGN1ci0+Y29udGVudCAhPSBOVUxMKSkgeworCSAgICAvKgorCSAgICAgKiBVc2VzIHRoZSBPdXRwdXRCdWZmZXIgcHJvcGVydHkgdG8gYXV0b21hdGljYWxseSBjb252ZXJ0CisJICAgICAqIGludmFsaWRzIHRvIGNoYXJyZWZzCisJICAgICAqLworCisgICAgICAgICAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyhidWYsIChjb25zdCBjaGFyICopIGN1ci0+Y29udGVudCk7CisgICAgfQorICAgIGlmIChjdXItPmNoaWxkcmVuICE9IE5VTEwpIHsKKyAgICAgICAgaWYgKChmb3JtYXQpICYmIChpbmZvICE9IE5VTEwpICYmICghaW5mby0+aXNpbmxpbmUpICYmCisJICAgIChjdXItPmNoaWxkcmVuLT50eXBlICE9IEhUTUxfVEVYVF9OT0RFKSAmJgorCSAgICAoY3VyLT5jaGlsZHJlbi0+dHlwZSAhPSBIVE1MX0VOVElUWV9SRUZfTk9ERSkgJiYKKwkgICAgKGN1ci0+Y2hpbGRyZW4gIT0gY3VyLT5sYXN0KSAmJgorCSAgICAoY3VyLT5uYW1lICE9IE5VTEwpICYmCisJICAgIChjdXItPm5hbWVbMF0gIT0gJ3AnKSkgLyogcCwgcHJlLCBwYXJhbSAqLworCSAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyhidWYsICJcbiIpOworCWh0bWxOb2RlTGlzdER1bXBPdXRwdXQoYnVmLCBkb2MsIGN1ci0+Y2hpbGRyZW4sIGVuY29kaW5nLCBmb3JtYXQpOworICAgICAgICBpZiAoKGZvcm1hdCkgJiYgKGluZm8gIT0gTlVMTCkgJiYgKCFpbmZvLT5pc2lubGluZSkgJiYKKwkgICAgKGN1ci0+bGFzdC0+dHlwZSAhPSBIVE1MX1RFWFRfTk9ERSkgJiYKKwkgICAgKGN1ci0+bGFzdC0+dHlwZSAhPSBIVE1MX0VOVElUWV9SRUZfTk9ERSkgJiYKKwkgICAgKGN1ci0+Y2hpbGRyZW4gIT0gY3VyLT5sYXN0KSAmJgorCSAgICAoY3VyLT5uYW1lICE9IE5VTEwpICYmCisJICAgIChjdXItPm5hbWVbMF0gIT0gJ3AnKSkgLyogcCwgcHJlLCBwYXJhbSAqLworCSAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyhidWYsICJcbiIpOworICAgIH0KKyAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyhidWYsICI8LyIpOworICAgIGlmICgoY3VyLT5ucyAhPSBOVUxMKSAmJiAoY3VyLT5ucy0+cHJlZml4ICE9IE5VTEwpKSB7CisgICAgICAgIHhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nKGJ1ZiwgKGNvbnN0IGNoYXIgKiljdXItPm5zLT5wcmVmaXgpOworCXhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nKGJ1ZiwgIjoiKTsKKyAgICB9CisgICAgeG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcoYnVmLCAoY29uc3QgY2hhciAqKWN1ci0+bmFtZSk7CisgICAgeG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcoYnVmLCAiPiIpOworICAgIGlmICgoZm9ybWF0KSAmJiAoaW5mbyAhPSBOVUxMKSAmJiAoIWluZm8tPmlzaW5saW5lKSAmJgorCShjdXItPm5leHQgIT0gTlVMTCkpIHsKKyAgICAgICAgaWYgKChjdXItPm5leHQtPnR5cGUgIT0gSFRNTF9URVhUX05PREUpICYmCisJICAgIChjdXItPm5leHQtPnR5cGUgIT0gSFRNTF9FTlRJVFlfUkVGX05PREUpICYmCisJICAgIChjdXItPnBhcmVudCAhPSBOVUxMKSAmJgorCSAgICAoY3VyLT5wYXJlbnQtPm5hbWUgIT0gTlVMTCkgJiYKKwkgICAgKGN1ci0+cGFyZW50LT5uYW1lWzBdICE9ICdwJykpIC8qIHAsIHByZSwgcGFyYW0gKi8KKwkgICAgeG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcoYnVmLCAiXG4iKTsKKyAgICB9Cit9CisKKy8qKgorICogaHRtbE5vZGVEdW1wT3V0cHV0OgorICogQGJ1ZjogIHRoZSBIVE1MIGJ1ZmZlciBvdXRwdXQKKyAqIEBkb2M6ICB0aGUgZG9jdW1lbnQKKyAqIEBjdXI6ICB0aGUgY3VycmVudCBub2RlCisgKiBAZW5jb2Rpbmc6ICB0aGUgZW5jb2Rpbmcgc3RyaW5nCisgKgorICogRHVtcCBhbiBIVE1MIG5vZGUsIHJlY3Vyc2l2ZSBiZWhhdmlvdXIsY2hpbGRyZW4gYXJlIHByaW50ZWQgdG9vLAorICogYW5kIGZvcm1hdHRpbmcgcmV0dXJucy9zcGFjZXMgYXJlIGFkZGVkLgorICovCit2b2lkCitodG1sTm9kZUR1bXBPdXRwdXQoeG1sT3V0cHV0QnVmZmVyUHRyIGJ1ZiwgeG1sRG9jUHRyIGRvYywKKwkgICAgICAgICAgIHhtbE5vZGVQdHIgY3VyLCBjb25zdCBjaGFyICplbmNvZGluZykgeworICAgIGh0bWxOb2RlRHVtcEZvcm1hdE91dHB1dChidWYsIGRvYywgY3VyLCBlbmNvZGluZywgMSk7Cit9CisKKy8qKgorICogaHRtbERvY0NvbnRlbnREdW1wRm9ybWF0T3V0cHV0OgorICogQGJ1ZjogIHRoZSBIVE1MIGJ1ZmZlciBvdXRwdXQKKyAqIEBjdXI6ICB0aGUgZG9jdW1lbnQKKyAqIEBlbmNvZGluZzogIHRoZSBlbmNvZGluZyBzdHJpbmcKKyAqIEBmb3JtYXQ6ICBzaG91bGQgZm9ybWF0dGluZyBzcGFjZXMgYmVlbiBhZGRlZAorICoKKyAqIER1bXAgYW4gSFRNTCBkb2N1bWVudC4KKyAqLwordm9pZAoraHRtbERvY0NvbnRlbnREdW1wRm9ybWF0T3V0cHV0KHhtbE91dHB1dEJ1ZmZlclB0ciBidWYsIHhtbERvY1B0ciBjdXIsCisJICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICplbmNvZGluZywgaW50IGZvcm1hdCkgeworICAgIGludCB0eXBlOworCisgICAgeG1sSW5pdFBhcnNlcigpOworCisgICAgaWYgKChidWYgPT0gTlVMTCkgfHwgKGN1ciA9PSBOVUxMKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgLyoKKyAgICAgKiBmb3JjZSB0byBvdXRwdXQgdGhlIHN0dWZmIGFzIEhUTUwsIGVzcGVjaWFsbHkgZm9yIGVudGl0aWVzCisgICAgICovCisgICAgdHlwZSA9IGN1ci0+dHlwZTsKKyAgICBjdXItPnR5cGUgPSBYTUxfSFRNTF9ET0NVTUVOVF9OT0RFOworICAgIGlmIChjdXItPmludFN1YnNldCAhPSBOVUxMKSB7CisgICAgICAgIGh0bWxEdGREdW1wT3V0cHV0KGJ1ZiwgY3VyLCBOVUxMKTsKKyAgICB9CisgICAgaWYgKGN1ci0+Y2hpbGRyZW4gIT0gTlVMTCkgeworICAgICAgICBodG1sTm9kZUxpc3REdW1wT3V0cHV0KGJ1ZiwgY3VyLCBjdXItPmNoaWxkcmVuLCBlbmNvZGluZywgZm9ybWF0KTsKKyAgICB9CisgICAgeG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcoYnVmLCAiXG4iKTsKKyAgICBjdXItPnR5cGUgPSAoeG1sRWxlbWVudFR5cGUpIHR5cGU7Cit9CisKKy8qKgorICogaHRtbERvY0NvbnRlbnREdW1wT3V0cHV0OgorICogQGJ1ZjogIHRoZSBIVE1MIGJ1ZmZlciBvdXRwdXQKKyAqIEBjdXI6ICB0aGUgZG9jdW1lbnQKKyAqIEBlbmNvZGluZzogIHRoZSBlbmNvZGluZyBzdHJpbmcKKyAqCisgKiBEdW1wIGFuIEhUTUwgZG9jdW1lbnQuIEZvcm1hdGluZyByZXR1cm4vc3BhY2VzIGFyZSBhZGRlZC4KKyAqLwordm9pZAoraHRtbERvY0NvbnRlbnREdW1wT3V0cHV0KHhtbE91dHB1dEJ1ZmZlclB0ciBidWYsIHhtbERvY1B0ciBjdXIsCisJICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICplbmNvZGluZykgeworICAgIGh0bWxEb2NDb250ZW50RHVtcEZvcm1hdE91dHB1dChidWYsIGN1ciwgZW5jb2RpbmcsIDEpOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQlTYXZpbmcgZnVuY3Rpb25zIGZyb250LWVuZHMJCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioKKyAqIGh0bWxEb2NEdW1wOgorICogQGY6ICB0aGUgRklMRSoKKyAqIEBjdXI6ICB0aGUgZG9jdW1lbnQKKyAqCisgKiBEdW1wIGFuIEhUTUwgZG9jdW1lbnQgdG8gYW4gb3BlbiBGSUxFLgorICoKKyAqIHJldHVybnM6IHRoZSBudW1iZXIgb2YgYnl0ZSB3cml0dGVuIG9yIC0xIGluIGNhc2Ugb2YgZmFpbHVyZS4KKyAqLworaW50CitodG1sRG9jRHVtcChGSUxFICpmLCB4bWxEb2NQdHIgY3VyKSB7CisgICAgeG1sT3V0cHV0QnVmZmVyUHRyIGJ1ZjsKKyAgICB4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyIGhhbmRsZXIgPSBOVUxMOworICAgIGNvbnN0IGNoYXIgKmVuY29kaW5nOworICAgIGludCByZXQ7CisKKyAgICB4bWxJbml0UGFyc2VyKCk7CisKKyAgICBpZiAoKGN1ciA9PSBOVUxMKSB8fCAoZiA9PSBOVUxMKSkgeworCXJldHVybigtMSk7CisgICAgfQorCisgICAgZW5jb2RpbmcgPSAoY29uc3QgY2hhciAqKSBodG1sR2V0TWV0YUVuY29kaW5nKGN1cik7CisKKyAgICBpZiAoZW5jb2RpbmcgIT0gTlVMTCkgeworCXhtbENoYXJFbmNvZGluZyBlbmM7CisKKwllbmMgPSB4bWxQYXJzZUNoYXJFbmNvZGluZyhlbmNvZGluZyk7CisJaWYgKGVuYyAhPSBjdXItPmNoYXJzZXQpIHsKKwkgICAgaWYgKGN1ci0+Y2hhcnNldCAhPSBYTUxfQ0hBUl9FTkNPRElOR19VVEY4KSB7CisJCS8qCisJCSAqIE5vdCBzdXBwb3J0ZWQgeWV0CisJCSAqLworCQlyZXR1cm4oLTEpOworCSAgICB9CisKKwkgICAgaGFuZGxlciA9IHhtbEZpbmRDaGFyRW5jb2RpbmdIYW5kbGVyKGVuY29kaW5nKTsKKwkgICAgaWYgKGhhbmRsZXIgPT0gTlVMTCkKKwkJaHRtbFNhdmVFcnIoWE1MX1NBVkVfVU5LTk9XTl9FTkNPRElORywgTlVMTCwgZW5jb2RpbmcpOworCX0gZWxzZSB7CisJICAgIGhhbmRsZXIgPSB4bWxGaW5kQ2hhckVuY29kaW5nSGFuZGxlcihlbmNvZGluZyk7CisJfQorICAgIH0KKworICAgIC8qCisgICAgICogRmFsbGJhY2sgdG8gSFRNTCBvciBBU0NJSSB3aGVuIHRoZSBlbmNvZGluZyBpcyB1bnNwZWNpZmllZAorICAgICAqLworICAgIGlmIChoYW5kbGVyID09IE5VTEwpCisJaGFuZGxlciA9IHhtbEZpbmRDaGFyRW5jb2RpbmdIYW5kbGVyKCJIVE1MIik7CisgICAgaWYgKGhhbmRsZXIgPT0gTlVMTCkKKwloYW5kbGVyID0geG1sRmluZENoYXJFbmNvZGluZ0hhbmRsZXIoImFzY2lpIik7CisKKyAgICBidWYgPSB4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlKGYsIGhhbmRsZXIpOworICAgIGlmIChidWYgPT0gTlVMTCkgcmV0dXJuKC0xKTsKKyAgICBodG1sRG9jQ29udGVudER1bXBPdXRwdXQoYnVmLCBjdXIsIE5VTEwpOworCisgICAgcmV0ID0geG1sT3V0cHV0QnVmZmVyQ2xvc2UoYnVmKTsKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiBodG1sU2F2ZUZpbGU6CisgKiBAZmlsZW5hbWU6ICB0aGUgZmlsZW5hbWUgKG9yIFVSTCkKKyAqIEBjdXI6ICB0aGUgZG9jdW1lbnQKKyAqCisgKiBEdW1wIGFuIEhUTUwgZG9jdW1lbnQgdG8gYSBmaWxlLiBJZiBAZmlsZW5hbWUgaXMgIi0iIHRoZSBzdGRvdXQgZmlsZSBpcworICogdXNlZC4KKyAqIHJldHVybnM6IHRoZSBudW1iZXIgb2YgYnl0ZSB3cml0dGVuIG9yIC0xIGluIGNhc2Ugb2YgZmFpbHVyZS4KKyAqLworaW50CitodG1sU2F2ZUZpbGUoY29uc3QgY2hhciAqZmlsZW5hbWUsIHhtbERvY1B0ciBjdXIpIHsKKyAgICB4bWxPdXRwdXRCdWZmZXJQdHIgYnVmOworICAgIHhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIgaGFuZGxlciA9IE5VTEw7CisgICAgY29uc3QgY2hhciAqZW5jb2Rpbmc7CisgICAgaW50IHJldDsKKworICAgIGlmICgoY3VyID09IE5VTEwpIHx8IChmaWxlbmFtZSA9PSBOVUxMKSkKKyAgICAgICAgcmV0dXJuKC0xKTsKKworICAgIHhtbEluaXRQYXJzZXIoKTsKKworICAgIGVuY29kaW5nID0gKGNvbnN0IGNoYXIgKikgaHRtbEdldE1ldGFFbmNvZGluZyhjdXIpOworCisgICAgaWYgKGVuY29kaW5nICE9IE5VTEwpIHsKKwl4bWxDaGFyRW5jb2RpbmcgZW5jOworCisJZW5jID0geG1sUGFyc2VDaGFyRW5jb2RpbmcoZW5jb2RpbmcpOworCWlmIChlbmMgIT0gY3VyLT5jaGFyc2V0KSB7CisJICAgIGlmIChjdXItPmNoYXJzZXQgIT0gWE1MX0NIQVJfRU5DT0RJTkdfVVRGOCkgeworCQkvKgorCQkgKiBOb3Qgc3VwcG9ydGVkIHlldAorCQkgKi8KKwkJcmV0dXJuKC0xKTsKKwkgICAgfQorCisJICAgIGhhbmRsZXIgPSB4bWxGaW5kQ2hhckVuY29kaW5nSGFuZGxlcihlbmNvZGluZyk7CisJICAgIGlmIChoYW5kbGVyID09IE5VTEwpCisJCWh0bWxTYXZlRXJyKFhNTF9TQVZFX1VOS05PV05fRU5DT0RJTkcsIE5VTEwsIGVuY29kaW5nKTsKKwl9CisgICAgfQorCisgICAgLyoKKyAgICAgKiBGYWxsYmFjayB0byBIVE1MIG9yIEFTQ0lJIHdoZW4gdGhlIGVuY29kaW5nIGlzIHVuc3BlY2lmaWVkCisgICAgICovCisgICAgaWYgKGhhbmRsZXIgPT0gTlVMTCkKKwloYW5kbGVyID0geG1sRmluZENoYXJFbmNvZGluZ0hhbmRsZXIoIkhUTUwiKTsKKyAgICBpZiAoaGFuZGxlciA9PSBOVUxMKQorCWhhbmRsZXIgPSB4bWxGaW5kQ2hhckVuY29kaW5nSGFuZGxlcigiYXNjaWkiKTsKKworICAgIC8qCisgICAgICogc2F2ZSB0aGUgY29udGVudCB0byBhIHRlbXAgYnVmZmVyLgorICAgICAqLworICAgIGJ1ZiA9IHhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lKGZpbGVuYW1lLCBoYW5kbGVyLCBjdXItPmNvbXByZXNzaW9uKTsKKyAgICBpZiAoYnVmID09IE5VTEwpIHJldHVybigwKTsKKworICAgIGh0bWxEb2NDb250ZW50RHVtcE91dHB1dChidWYsIGN1ciwgTlVMTCk7CisKKyAgICByZXQgPSB4bWxPdXRwdXRCdWZmZXJDbG9zZShidWYpOworICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIGh0bWxTYXZlRmlsZUZvcm1hdDoKKyAqIEBmaWxlbmFtZTogIHRoZSBmaWxlbmFtZQorICogQGN1cjogIHRoZSBkb2N1bWVudAorICogQGZvcm1hdDogIHNob3VsZCBmb3JtYXR0aW5nIHNwYWNlcyBiZWVuIGFkZGVkCisgKiBAZW5jb2Rpbmc6IHRoZSBkb2N1bWVudCBlbmNvZGluZworICoKKyAqIER1bXAgYW4gSFRNTCBkb2N1bWVudCB0byBhIGZpbGUgdXNpbmcgYSBnaXZlbiBlbmNvZGluZy4KKyAqCisgKiByZXR1cm5zOiB0aGUgbnVtYmVyIG9mIGJ5dGUgd3JpdHRlbiBvciAtMSBpbiBjYXNlIG9mIGZhaWx1cmUuCisgKi8KK2ludAoraHRtbFNhdmVGaWxlRm9ybWF0KGNvbnN0IGNoYXIgKmZpbGVuYW1lLCB4bWxEb2NQdHIgY3VyLAorCSAgICAgICAgICAgY29uc3QgY2hhciAqZW5jb2RpbmcsIGludCBmb3JtYXQpIHsKKyAgICB4bWxPdXRwdXRCdWZmZXJQdHIgYnVmOworICAgIHhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIgaGFuZGxlciA9IE5VTEw7CisgICAgaW50IHJldDsKKworICAgIGlmICgoY3VyID09IE5VTEwpIHx8IChmaWxlbmFtZSA9PSBOVUxMKSkKKyAgICAgICAgcmV0dXJuKC0xKTsKKworICAgIHhtbEluaXRQYXJzZXIoKTsKKworICAgIGlmIChlbmNvZGluZyAhPSBOVUxMKSB7CisJeG1sQ2hhckVuY29kaW5nIGVuYzsKKworCWVuYyA9IHhtbFBhcnNlQ2hhckVuY29kaW5nKGVuY29kaW5nKTsKKwlpZiAoZW5jICE9IGN1ci0+Y2hhcnNldCkgeworCSAgICBpZiAoY3VyLT5jaGFyc2V0ICE9IFhNTF9DSEFSX0VOQ09ESU5HX1VURjgpIHsKKwkJLyoKKwkJICogTm90IHN1cHBvcnRlZCB5ZXQKKwkJICovCisJCXJldHVybigtMSk7CisJICAgIH0KKworCSAgICBoYW5kbGVyID0geG1sRmluZENoYXJFbmNvZGluZ0hhbmRsZXIoZW5jb2RpbmcpOworCSAgICBpZiAoaGFuZGxlciA9PSBOVUxMKQorCQlodG1sU2F2ZUVycihYTUxfU0FWRV9VTktOT1dOX0VOQ09ESU5HLCBOVUxMLCBlbmNvZGluZyk7CisJfQorICAgICAgICBodG1sU2V0TWV0YUVuY29kaW5nKGN1ciwgKGNvbnN0IHhtbENoYXIgKikgZW5jb2RpbmcpOworICAgIH0gZWxzZSB7CisJaHRtbFNldE1ldGFFbmNvZGluZyhjdXIsIChjb25zdCB4bWxDaGFyICopICJVVEYtOCIpOworICAgIH0KKworICAgIC8qCisgICAgICogRmFsbGJhY2sgdG8gSFRNTCBvciBBU0NJSSB3aGVuIHRoZSBlbmNvZGluZyBpcyB1bnNwZWNpZmllZAorICAgICAqLworICAgIGlmIChoYW5kbGVyID09IE5VTEwpCisJaGFuZGxlciA9IHhtbEZpbmRDaGFyRW5jb2RpbmdIYW5kbGVyKCJIVE1MIik7CisgICAgaWYgKGhhbmRsZXIgPT0gTlVMTCkKKwloYW5kbGVyID0geG1sRmluZENoYXJFbmNvZGluZ0hhbmRsZXIoImFzY2lpIik7CisKKyAgICAvKgorICAgICAqIHNhdmUgdGhlIGNvbnRlbnQgdG8gYSB0ZW1wIGJ1ZmZlci4KKyAgICAgKi8KKyAgICBidWYgPSB4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZShmaWxlbmFtZSwgaGFuZGxlciwgMCk7CisgICAgaWYgKGJ1ZiA9PSBOVUxMKSByZXR1cm4oMCk7CisKKyAgICBodG1sRG9jQ29udGVudER1bXBGb3JtYXRPdXRwdXQoYnVmLCBjdXIsIGVuY29kaW5nLCBmb3JtYXQpOworCisgICAgcmV0ID0geG1sT3V0cHV0QnVmZmVyQ2xvc2UoYnVmKTsKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiBodG1sU2F2ZUZpbGVFbmM6CisgKiBAZmlsZW5hbWU6ICB0aGUgZmlsZW5hbWUKKyAqIEBjdXI6ICB0aGUgZG9jdW1lbnQKKyAqIEBlbmNvZGluZzogdGhlIGRvY3VtZW50IGVuY29kaW5nCisgKgorICogRHVtcCBhbiBIVE1MIGRvY3VtZW50IHRvIGEgZmlsZSB1c2luZyBhIGdpdmVuIGVuY29kaW5nCisgKiBhbmQgZm9ybWF0dGluZyByZXR1cm5zL3NwYWNlcyBhcmUgYWRkZWQuCisgKgorICogcmV0dXJuczogdGhlIG51bWJlciBvZiBieXRlIHdyaXR0ZW4gb3IgLTEgaW4gY2FzZSBvZiBmYWlsdXJlLgorICovCitpbnQKK2h0bWxTYXZlRmlsZUVuYyhjb25zdCBjaGFyICpmaWxlbmFtZSwgeG1sRG9jUHRyIGN1ciwgY29uc3QgY2hhciAqZW5jb2RpbmcpIHsKKyAgICByZXR1cm4oaHRtbFNhdmVGaWxlRm9ybWF0KGZpbGVuYW1lLCBjdXIsIGVuY29kaW5nLCAxKSk7Cit9CisKKyNlbmRpZiAvKiBMSUJYTUxfT1VUUFVUX0VOQUJMRUQgKi8KKworI2RlZmluZSBib3R0b21fSFRNTHRyZWUKKyNpbmNsdWRlICJlbGZnY2NoYWNrLmgiCisjZW5kaWYgLyogTElCWE1MX0hUTUxfRU5BQkxFRCAqLwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9JTlNUQUxMLmxpYnhtbDIgYi9saWJ4bWwyL0lOU1RBTEwubGlieG1sMgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZGYzMWYzCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9JTlNUQUxMLmxpYnhtbDIKQEAgLTAsMCArMSw2MSBAQAorRXh0cmFjdGVkIGZyb20gdGhlIGRvY3VtZW50YXRpb246CisgICBodHRwOi8veG1sc29mdC5vcmcvRkFRLmh0bWwjQ29tcGlsYXRpbworCitTZWUgYWxzbyB0aGUgZ2VuZXJpYyBJTlNUQUxMIGZpbGUgZm9yIGNvbmZpZ3VyZSBvcHRpb25zCisKK0NvbXBpbGF0aW9uCisKKyAgIDEuV2hhdCBpcyB0aGUgcHJvY2VzcyB0byBjb21waWxlIGxpYnhtbCA/IAorCisgICAgIEFzIG1vc3QgVU5JWCBsaWJyYXJpZXMgbGlieG1sIGZvbGxvd3MgdGhlICJzdGFuZGFyZCI6CisKKyAgICAgZ3VuemlwIC1jIHh4eC50YXIuZ3ogfCB0YXIgeHZmIC0KKworICAgICBjZCBsaWJ4bWwteHh4eAorCisgICAgIC4vY29uZmlndXJlIC0taGVscAorCisgICAgIHRvIHNlZSB0aGUgb3B0aW9ucywgdGhlbiB0aGUgY29tcGlsYXRpb24vaW5zdGFsbGF0aW9uIHByb3BlcgorCisgICAgIC4vY29uZmlndXJlIFtwb3NzaWJsZSBvcHRpb25zXQorCisgICAgIG1ha2UKKworICAgICBtYWtlIGluc3RhbGwKKworICAgICBBdCB0aGF0IHBvaW50IHlvdSBtYXkgaGF2ZSB0byByZXJ1biBsZGNvbmZpZyBvciBzaW1pbGFyIHV0aWxpdHkgdG8KKyAgICAgdXBkYXRlIHlvdXIgbGlzdCBvZiBpbnN0YWxsZWQgc2hhcmVkIGxpYnMuCisKKyAgICAgQXQgdGhpcyBwb2ludCB5b3UgY2FuIGNoZWNrIHRoYXQgdGhlIGxpYnJhcnkgaXMgcHJvcGVybHkgZnVuY3Rpb25uaW5nCisgICAgIGJ5IHJ1bm5pbmcKKworICAgICBtYWtlIHRlc3RzCisKKyAgIDIuV2hhdCBvdGhlciBsaWJyYXJpZXMgYXJlIG5lZWRlZCB0byBjb21waWxlL2luc3RhbGwgbGlieG1sID8gCisKKyAgICAgTGlieG1sIGRvZXMgbm90IHJlcXVpcmVzIGFueSBvdGhlciBsaWJyYXJ5LCB0aGUgbm9ybWFsIEMgQU5TSSBBUEkKKyAgICAgc2hvdWxkIGJlIHN1ZmZpY2llbnQgKHBsZWFzZSByZXBvcnQgYW55IHZpb2xhdGlvbiB0byB0aGlzIHJ1bGUgeW91CisgICAgIG1heSBmaW5kKS4KKworICAgICBIb3dldmVyIGlmIGZvdW5kIGF0IGNvbmZpZ3VyYXRpb24gdGltZSBsaWJ4bWwgd2lsbCBkZXRlY3QgYW5kIHVzZQorICAgICB0aGUgZm9sbG93aW5nIGxpYnM6CisKKyAgICAgICAgIGxpYno6IGEgaGlnaGx5IHBvcnRhYmxlIGFuZCBhdmFpbGFibGUgd2lkZWx5IGNvbXByZXNzaW9uIGxpYnJhcnkgCisgICAgICAgICAgICAgaHR0cDovL3d3dy5pbmZvLXppcC5vcmcvcHViL2luZm96aXAvemxpYi8KKyAgICAgICAgIGljb252OiBhIHBvd2VyZnVsIGNoYXJhY3RlciBlbmNvZGluZyBjb252ZXJzaW9uIGxpYnJhcnkuIEl0J3MKKwkgICAgIGluY2x1ZGVkIGJ5IGRlZmF1bHQgb24gcmVjZW50IGdsaWJjIGxpYnJhcmllcywgc28gaXQgZG9lc24ndAorCSAgICAgbmVlZCB0byBiZSBpbnN0YWxsZWQgc3BlY2lmaWNhbGx5IG9uIGxpbnV4LiBJdCBzZWVtcyBpdCdzCisJICAgICBub3cgcGFydCBvZiB0aGUgb2ZmaWNpYWwgVU5JWCBzcGVjaWZpY2F0aW9uLiBIZXJlIGlzIG9uZQorCSAgICAgaW1wbGVtZW50YXRpb24gb2YgdGhlIGxpYnJhcnkgd2hpY2ggc291cmNlIGNhbiBiZSBmb3VuZCBoZXJlLgorICAgICAgICAgICAgIGh0dHA6Ly9jbGlzcC5jb25zLm9yZy9+aGFpYmxlL3BhY2thZ2VzLWxpYmljb252Lmh0bWwKKyAgICAgICAgICAgICBmdHA6Ly9mdHAuaWxvZy5mci9wdWIvVXNlcnMvaGFpYmxlL2dudS8KKworICAgMy5tYWtlIHRlc3RzIG1heSBmYWlsIG9uIHNvbWUgcGxhdGZvcm1zIAorCisgICAgIFNvbWV0aW1lIHRoZSByZWdyZXNzaW9uIHRlc3RzIHJlc3VsdHMgZG9uJ3QgY29tcGxldGVseSBtYXRjaCB0aGUKKyAgICAgdmFsdWUgcHJvZHVjZWQgYnkgdGhlIHBhcnNlciwgYW5kIHRoZSBtYWtlZmlsZSB1c2VzIGRpZmYgdG8gcHJpbnQKKyAgICAgdGhlIGRlbHRhLiBPbiBzb21lIHBsYXRmb3JtcyB0aGUgZGlmZiByZXR1cm4gYnJlYWtzIHRoZSBjb21waWxhdGlvbgorICAgICBwcm9jZXNzLCBpZiB0aGUgZGlmZiBpcyBzbWFsbCB0aGlzIGlzIHByb2JhYmx5IG5vdCBhIHNlcmlvdXMgcHJvYmxlbQorCitEYW5pZWwKK3ZlaWxsYXJkQHJlZGhhdC5jb20KZGlmZiAtLWdpdCBhL2xpYnhtbDIvTUFJTlRBSU5FUlMgYi9saWJ4bWwyL01BSU5UQUlORVJTCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBlNjgwNmUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL01BSU5UQUlORVJTCkBAIC0wLDAgKzEsOSBAQAorU2VlIGZpcnN0IGh0dHA6Ly94bWxzb2Z0Lm9yZy9idWdzLmh0bWwgYW5kIHVzZSB0aGUgbGlzdCBwbGVhc2UuCisKK0RhbmllbCBWZWlsbGFyZAorRS1tYWlsOiB2ZWlsbGFyZEByZWRoYXQuY29tCitVc2VyaWQ6IHZlaWxsYXJkCisKK0NvLW1haW50YWluZXI6IFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorV2luZG93cyBwb3J0OiBJZ29yIFpsYXRrb3ZpYyA8aWdvckB6bGF0a292aWMuY29tPgorICAgICAgICAgICAgICBSb2IgUmljaGFyZHMgPHJyaWNoYXJkc0BjdGluZHVzdHJpZXMubmV0PgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9NT0RVTEVfTElDRU5TRV9NSVQgYi9saWJ4bWwyL01PRFVMRV9MSUNFTlNFX01JVApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9NT0RVTEVfTElDRU5TRV9NSVQKZGlmZiAtLWdpdCBhL2xpYnhtbDIvTWFrZWZpbGUuYW0gYi9saWJ4bWwyL01ha2VmaWxlLmFtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcwNzIwZjMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL01ha2VmaWxlLmFtCkBAIC0wLDAgKzEsMTI3OSBAQAorIyMgUHJvY2VzcyB0aGlzIGZpbGUgd2l0aCBhdXRvbWFrZSB0byBwcm9kdWNlIE1ha2VmaWxlLmluCisKK0FDTE9DQUxfQU1GTEFHUyA9IC1JIG00CisKK1NVQkRJUlMgPSBpbmNsdWRlIC4gZG9jIGV4YW1wbGUgeHN0YyAkKFBZVEhPTl9TVUJESVIpCisKK0RJU1RfU1VCRElSUyA9IGluY2x1ZGUgLiBkb2MgZXhhbXBsZSBweXRob24geHN0YworCitBTV9DUFBGTEFHUyA9IC1JJCh0b3BfYnVpbGRkaXIpL2luY2x1ZGUgLUkkKHNyY2RpcikvaW5jbHVkZQorCitBTV9DRkxBR1MgPSAkKFRIUkVBRF9DRkxBR1MpICQoWl9DRkxBR1MpICQoTFpNQV9DRkxBR1MpCisKK25vaW5zdF9QUk9HUkFNUz10ZXN0U2NoZW1hcyB0ZXN0UmVsYXggdGVzdFNBWCB0ZXN0SFRNTCB0ZXN0WFBhdGggdGVzdFVSSSBcCisgICAgICAgICAgICAgICAgdGVzdFRocmVhZHMgdGVzdEMxNE4gdGVzdEF1dG9tYXRhIHRlc3RSZWdleHAgXAorICAgICAgICAgICAgICAgIHRlc3RSZWFkZXIgdGVzdGFwaSB0ZXN0TW9kdWxlIHJ1bnRlc3QgcnVuc3VpdGUgdGVzdGNoYXIgXAorCQl0ZXN0ZGljdCBydW54bWxjb25mIHRlc3RyZWN1cnNlIHRlc3RsaW1pdHMKKworYmluX1BST0dSQU1TID0geG1sbGludCB4bWxjYXRhbG9nCisKK2Jpbl9TQ1JJUFRTPXhtbDItY29uZmlnCisKK2xpYl9MVExJQlJBUklFUyA9IGxpYnhtbDIubGEKK2xpYnhtbDJfbGFfTElCQUREID0gJChJQ1VfTElCUykgJChUSFJFQURfTElCUykgJChaX0xJQlMpICQoTFpNQV9MSUJTKSAkKElDT05WX0xJQlMpICQoTV9MSUJTKSAkKFdJTjMyX0VYVFJBX0xJQkFERCkKKworaWYgVVNFX1ZFUlNJT05fU0NSSVBUCitMSUJYTUwyX1ZFUlNJT05fU0NSSVBUID0gJChWRVJTSU9OX1NDUklQVF9GTEFHUykkKHNyY2RpcikvbGlieG1sMi5zeW1zCitlbHNlCitMSUJYTUwyX1ZFUlNJT05fU0NSSVBUID0KK2VuZGlmCisKK2xpYnhtbDJfbGFfTERGTEFHUyA9ICQoQ1lHV0lOX0VYVFJBX0xERkxBR1MpICQoV0lOMzJfRVhUUkFfTERGTEFHUykgXAorCQkgICAgICQoTElCWE1MMl9WRVJTSU9OX1NDUklQVCkgXAorCQkgICAgIC12ZXJzaW9uLWluZm8gJChMSUJYTUxfVkVSU0lPTl9JTkZPKSBcCisJCSAgICAgJChNT0RVTEVfUExBVEZPUk1fTElCUykKKworaWYgV0lUSF9TQVgxX1NPVVJDRVMKK2RvY2Jfc291cmNlcyA9IERPQ0JwYXJzZXIuYworZWxzZQorZG9jYl9zb3VyY2VzID0KK2VuZGlmCisKK2lmIFdJVEhfVFJJT19TT1VSQ0VTCit0cmlvX3NvdXJjZXMgPSB0cmlvc3RyLmMgdHJpby5jCitlbHNlCit0cmlvX3NvdXJjZXMgPQorZW5kaWYKKworbGlieG1sMl9sYV9TT1VSQ0VTID0gU0FYLmMgZW50aXRpZXMuYyBlbmNvZGluZy5jIGVycm9yLmMgcGFyc2VySW50ZXJuYWxzLmMgIFwKKwkJcGFyc2VyLmMgdHJlZS5jIGhhc2guYyBsaXN0LmMgeG1sSU8uYyB4bWxtZW1vcnkuYyB1cmkuYyAgXAorCQl2YWxpZC5jIHhsaW5rLmMgSFRNTHBhcnNlci5jIEhUTUx0cmVlLmMgZGVidWdYTUwuYyB4cGF0aC5jICBcCisJCXhwb2ludGVyLmMgeGluY2x1ZGUuYyBuYW5vaHR0cC5jIG5hbm9mdHAuYyBcCisJCSQoZG9jYl9zb3VyY2VzKSBcCisJCWNhdGFsb2cuYyBnbG9iYWxzLmMgdGhyZWFkcy5jIGMxNG4uYyB4bWxzdHJpbmcuYyBidWYuYyBcCisJCXhtbHJlZ2V4cC5jIHhtbHNjaGVtYXMuYyB4bWxzY2hlbWFzdHlwZXMuYyB4bWx1bmljb2RlLmMgXAorCQkkKHRyaW9fc291cmNlcykgXAorCQl4bWxyZWFkZXIuYyByZWxheG5nLmMgZGljdC5jIFNBWDIuYyBcCisJCXhtbHdyaXRlci5jIGxlZ2FjeS5jIGNodmFsaWQuYyBwYXR0ZXJuLmMgeG1sc2F2ZS5jIFwKKwkJeG1sbW9kdWxlLmMgc2NoZW1hdHJvbi5jIHh6bGliLmMKKworREVQUyA9ICQodG9wX2J1aWxkZGlyKS9saWJ4bWwyLmxhCitMREFERFMgPSAkKFNUQVRJQ19CSU5BUklFUykgJCh0b3BfYnVpbGRkaXIpL2xpYnhtbDIubGEgJChUSFJFQURfTElCUykgJChaX0xJQlMpICQoTFpNQV9MSUJTKSAkKElDT05WX0xJQlMpICQoTV9MSUJTKSAkKFdJTjMyX0VYVFJBX0xJQkFERCkKKworCittYW5fTUFOUyA9IHhtbDItY29uZmlnLjEgbGlieG1sLjMKKworbTRkYXRhZGlyID0gJChkYXRhZGlyKS9hY2xvY2FsCittNGRhdGFfREFUQSA9IGxpYnhtbC5tNAorCitydW50ZXN0X1NPVVJDRVM9cnVudGVzdC5jCitydW50ZXN0X0xERkxBR1MgPSAKK3J1bnRlc3RfREVQRU5ERU5DSUVTID0gJChERVBTKQorcnVudGVzdF9MREFERD0gJChCQVNFX1RIUkVBRF9MSUJTKSAkKFJETF9MSUJTKSAkKExEQUREUykKKwordGVzdHJlY3Vyc2VfU09VUkNFUz10ZXN0cmVjdXJzZS5jCit0ZXN0cmVjdXJzZV9MREZMQUdTID0gCit0ZXN0cmVjdXJzZV9ERVBFTkRFTkNJRVMgPSAkKERFUFMpCit0ZXN0cmVjdXJzZV9MREFERD0gJChCQVNFX1RIUkVBRF9MSUJTKSAkKFJETF9MSUJTKSAkKExEQUREUykKKwordGVzdGxpbWl0c19TT1VSQ0VTPXRlc3RsaW1pdHMuYwordGVzdGxpbWl0c19MREZMQUdTID0gCit0ZXN0bGltaXRzX0RFUEVOREVOQ0lFUyA9ICQoREVQUykKK3Rlc3RsaW1pdHNfTERBREQ9ICQoQkFTRV9USFJFQURfTElCUykgJChSRExfTElCUykgJChMREFERFMpCisKK3Rlc3RjaGFyX1NPVVJDRVM9dGVzdGNoYXIuYwordGVzdGNoYXJfTERGTEFHUyA9IAordGVzdGNoYXJfREVQRU5ERU5DSUVTID0gJChERVBTKQordGVzdGNoYXJfTERBREQ9ICQoUkRMX0xJQlMpICQoTERBRERTKQorCit0ZXN0ZGljdF9TT1VSQ0VTPXRlc3RkaWN0LmMKK3Rlc3RkaWN0X0xERkxBR1MgPSAKK3Rlc3RkaWN0X0RFUEVOREVOQ0lFUyA9ICQoREVQUykKK3Rlc3RkaWN0X0xEQUREPSAkKFJETF9MSUJTKSAkKExEQUREUykKKworcnVuc3VpdGVfU09VUkNFUz1ydW5zdWl0ZS5jCitydW5zdWl0ZV9MREZMQUdTID0gCitydW5zdWl0ZV9ERVBFTkRFTkNJRVMgPSAkKERFUFMpCitydW5zdWl0ZV9MREFERD0gJChSRExfTElCUykgJChMREFERFMpCisKK3htbGxpbnRfU09VUkNFUz14bWxsaW50LmMKK3htbGxpbnRfTERGTEFHUyA9IAoreG1sbGludF9ERVBFTkRFTkNJRVMgPSAkKERFUFMpCit4bWxsaW50X0xEQUREPSAgJChSRExfTElCUykgJChMREFERFMpCisKK3Rlc3RTQVhfU09VUkNFUz10ZXN0U0FYLmMKK3Rlc3RTQVhfTERGTEFHUyA9IAordGVzdFNBWF9ERVBFTkRFTkNJRVMgPSAkKERFUFMpCit0ZXN0U0FYX0xEQUREPSAkKExEQUREUykKKwordGVzdEhUTUxfU09VUkNFUz10ZXN0SFRNTC5jCit0ZXN0SFRNTF9MREZMQUdTID0gCit0ZXN0SFRNTF9ERVBFTkRFTkNJRVMgPSAkKERFUFMpCit0ZXN0SFRNTF9MREFERD0gJChMREFERFMpCisKK3htbGNhdGFsb2dfU09VUkNFUz14bWxjYXRhbG9nLmMKK3htbGNhdGFsb2dfTERGTEFHUyA9IAoreG1sY2F0YWxvZ19ERVBFTkRFTkNJRVMgPSAkKERFUFMpCit4bWxjYXRhbG9nX0xEQUREID0gJChSRExfTElCUykgJChMREFERFMpCisKK3Rlc3RYUGF0aF9TT1VSQ0VTPXRlc3RYUGF0aC5jCit0ZXN0WFBhdGhfTERGTEFHUyA9IAordGVzdFhQYXRoX0RFUEVOREVOQ0lFUyA9ICQoREVQUykKK3Rlc3RYUGF0aF9MREFERD0gJChMREFERFMpCisKK3Rlc3RDMTROX1NPVVJDRVM9dGVzdEMxNE4uYwordGVzdEMxNE5fTERGTEFHUyA9IAordGVzdEMxNE5fREVQRU5ERU5DSUVTID0gJChERVBTKQordGVzdEMxNE5fTERBREQ9ICQoTERBRERTKQorCitpZiBUSFJFQURTX1czMgordGVzdFRocmVhZHNfU09VUkNFUyA9IHRlc3RUaHJlYWRzV2luMzIuYworZWxzZQordGVzdFRocmVhZHNfU09VUkNFUyA9IHRlc3RUaHJlYWRzLmMKK2VuZGlmCit0ZXN0VGhyZWFkc19MREZMQUdTID0gCit0ZXN0VGhyZWFkc19ERVBFTkRFTkNJRVMgPSAkKERFUFMpCit0ZXN0VGhyZWFkc19MREFERD0gJChCQVNFX1RIUkVBRF9MSUJTKSAkKExEQUREUykKKwordGVzdFVSSV9TT1VSQ0VTPXRlc3RVUkkuYwordGVzdFVSSV9MREZMQUdTID0gCit0ZXN0VVJJX0RFUEVOREVOQ0lFUyA9ICQoREVQUykKK3Rlc3RVUklfTERBREQ9ICQoTERBRERTKQorCit0ZXN0UmVnZXhwX1NPVVJDRVM9dGVzdFJlZ2V4cC5jCit0ZXN0UmVnZXhwX0xERkxBR1MgPSAKK3Rlc3RSZWdleHBfREVQRU5ERU5DSUVTID0gJChERVBTKQordGVzdFJlZ2V4cF9MREFERD0gJChMREFERFMpCisKK3Rlc3RBdXRvbWF0YV9TT1VSQ0VTPXRlc3RBdXRvbWF0YS5jCit0ZXN0QXV0b21hdGFfTERGTEFHUyA9IAordGVzdEF1dG9tYXRhX0RFUEVOREVOQ0lFUyA9ICQoREVQUykKK3Rlc3RBdXRvbWF0YV9MREFERD0gJChMREFERFMpCisKK3Rlc3RTY2hlbWFzX1NPVVJDRVM9dGVzdFNjaGVtYXMuYwordGVzdFNjaGVtYXNfTERGTEFHUyA9IAordGVzdFNjaGVtYXNfREVQRU5ERU5DSUVTID0gJChERVBTKQordGVzdFNjaGVtYXNfTERBREQ9ICQoTERBRERTKQorCit0ZXN0UmVsYXhfU09VUkNFUz10ZXN0UmVsYXguYwordGVzdFJlbGF4X0xERkxBR1MgPSAKK3Rlc3RSZWxheF9ERVBFTkRFTkNJRVMgPSAkKERFUFMpCit0ZXN0UmVsYXhfTERBREQ9ICQoTERBRERTKQorCit0ZXN0UmVhZGVyX1NPVVJDRVM9dGVzdFJlYWRlci5jCit0ZXN0UmVhZGVyX0xERkxBR1MgPSAKK3Rlc3RSZWFkZXJfREVQRU5ERU5DSUVTID0gJChERVBTKQordGVzdFJlYWRlcl9MREFERD0gJChMREFERFMpCisKK3Rlc3RNb2R1bGVfU09VUkNFUz10ZXN0TW9kdWxlLmMKK3Rlc3RNb2R1bGVfTERGTEFHUyA9IAordGVzdE1vZHVsZV9ERVBFTkRFTkNJRVMgPSAkKERFUFMpCit0ZXN0TW9kdWxlX0xEQUREPSAkKExEQUREUykKKworbm9pbnN0X0xUTElCUkFSSUVTID0gdGVzdGRzby5sYQordGVzdGRzb19sYV9TT1VSQ0VTID0gdGVzdGRzby5jCit0ZXN0ZHNvX2xhX0xERkxBR1MgPSAtbW9kdWxlIC1uby11bmRlZmluZWQgLWF2b2lkLXZlcnNpb24gLXJwYXRoICQobGliZGlyKQorCisjIHRoYXQgb25lIGZvcmNlcyB0aGUgcmVidWlsZCB3aGVuICJtYWtlIHJlYnVpbGQiIGlzIHJ1biBvbiBkb2MvCityZWJ1aWxkX3Rlc3RhcGk6CisJLUAoaWYgWyAiJChQWVRIT04pIiAhPSAiIiBdIDsgdGhlbiBcCisJICAgICQoUFlUSE9OKSAkKHNyY2RpcikvZ2VudGVzdC5weSAkKHNyY2RpcikgOyBmaSApCisKKyMgdGhhdCBvbmUgaXMganVzdCB0byBtYWtlIHN1cmUgaXQgaXMgcmVidWlsdCBpZiBtaXNzaW5nCisjIGJ1dCBhZGRpbmcgdGhlIGRlcGVuZGFuY2VzIGdlbmVyYXRlIG1lc3MKK3Rlc3RhcGkuYzogJChzcmNkaXIpL2dlbnRlc3QucHkKKwktQChpZiBbICIkKFBZVEhPTikiICE9ICIiIF0gOyB0aGVuIFwKKwkgICAgJChQWVRIT04pICQoc3JjZGlyKS9nZW50ZXN0LnB5ICQoc3JjZGlyKSA7IGZpICkKKworQlVJTFRfU09VUkNFUyA9IHRlc3RhcGkuYworCit0ZXN0YXBpX1NPVVJDRVM9dGVzdGFwaS5jCit0ZXN0YXBpX0xERkxBR1MgPSAKK3Rlc3RhcGlfREVQRU5ERU5DSUVTID0gJChERVBTKQordGVzdGFwaV9MREFERD0gJChMREFERFMpCisKK3J1bnhtbGNvbmZfU09VUkNFUz1ydW54bWxjb25mLmMKK3J1bnhtbGNvbmZfTERGTEFHUyA9IAorcnVueG1sY29uZl9ERVBFTkRFTkNJRVMgPSAkKERFUFMpCitydW54bWxjb25mX0xEQUREPSAkKExEQUREUykKKworI3Rlc3RPT01fU09VUkNFUz10ZXN0T09NLmMgdGVzdE9PTWxpYi5oIHRlc3RPT01saWIuYworI3Rlc3RPT01fTERGTEFHUyA9IAorI3Rlc3RPT01fREVQRU5ERU5DSUVTID0gJChERVBTKQorI3Rlc3RPT01fTERBREQ9ICQoTERBRERTKQorCitydW50ZXN0czoKKwlbIC1kIHRlc3QgICBdIHx8ICQoTE5fUykgJChzcmNkaXIpL3Rlc3QgICAuCisJWyAtZCByZXN1bHQgXSB8fCAkKExOX1MpICQoc3JjZGlyKS9yZXN1bHQgLgorCSQoQ0hFQ0tFUikgLi9ydW50ZXN0JChFWEVFWFQpICYmICQoQ0hFQ0tFUikgLi90ZXN0cmVjdXJzZSQoRVhFRVhUKSAmJiQoQ0hFQ0tFUikgLi90ZXN0YXBpJChFWEVFWFQpICYmICQoQ0hFQ0tFUikgLi90ZXN0Y2hhciQoRVhFRVhUKSYmICQoQ0hFQ0tFUikgLi90ZXN0ZGljdCQoRVhFRVhUKSAmJiAkKENIRUNLRVIpIC4vcnVueG1sY29uZiQoRVhFRVhUKQorCUAoaWYgWyAiJChQWVRIT05fU1VCRElSKSIgIT0gIiIgXSA7IHRoZW4gY2QgcHl0aG9uIDsgXAorCSAgICAkKE1BS0UpIHRlc3RzIDsgZmkpCisKK2NoZWNrOiBhbGwgcnVudGVzdHMKKworY2hlY2stdmFsZ3JpbmQgdmFsZ3JpbmQ6IGFsbAorCUBlY2hvICcjIyBSdW5uaW5nIHRoZSByZWdyZXNzaW9uIHRlc3RzIHVuZGVyIFZhbGdyaW5kJworCUBlY2hvICcjIyBHbyBnZXQgYSBjdXAgb2YgY29mZmVlIGl0IGlzIGdvbm5hIHRha2UgYSB3aGlsZSAuLi4nCisJJChNQUtFKSBDSEVDS0VSPSd2YWxncmluZCAtcScgcnVudGVzdHMKKwordGVzdGFsbCA6IHRlc3RzIFNWR3Rlc3RzIFNBWHRlc3RzCisKK3Rlc3RzOiBYTUx0ZXN0cyBYTUxlbnR0ZXN0cyBOU3Rlc3RzIElEdGVzdHMgRXJydGVzdHMgQVBJdGVzdHMgJChSRUFERVJfVEVTVCkgJChURVNUX1NBWCkgJChURVNUX1BVU0gpICQoVEVTVF9IVE1MKSAkKFRFU1RfUEhUTUwpICQoVEVTVF9WQUxJRCkgVVJJdGVzdHMgJChURVNUX1BBVFRFUk4pICQoVEVTVF9YUEFUSCkgJChURVNUX1hQVFIpICQoVEVTVF9YSU5DTFVERSkgJChURVNUX0MxNE4pICQoVEVTVF9ERUJVRykgJChURVNUX0NBVEFMT0cpICQoVEVTVF9SRUdFWFBTKSAkKFRFU1RfU0NIRU1BUykgJChURVNUX1NDSEVNQVRST04pICQoVEVTVF9USFJFQURTKSBUaW1pbmd0ZXN0cyAkKFRFU1RfVlRJTUUpICQoUFlUSE9OX1RFU1RTKSAkKFRFU1RfTU9EVUxFUykKKwlAKGlmIFsgIiQoUFlUSE9OX1NVQkRJUikiICE9ICIiIF0gOyB0aGVuIGNkIHB5dGhvbiA7IFwKKwkgICAgJChNQUtFKSB0ZXN0cyA7IGZpKQorCUAoY2QgZG9jL2V4YW1wbGVzIDsgJChNQUtFKSB0ZXN0cykKKworQVBJdGVzdHM6IHRlc3RhcGkkKEVYRUVYVCkKKwlAZWNobyAiIyMgUnVubmluZyB0aGUgQVBJIHJlZ3Jlc3Npb24gdGVzdHMgdGhpcyBtYXkgdGFrZSBhIGxpdHRsZSB3aGlsZSIKKwktQCgkKENIRUNLRVIpICQodG9wX2J1aWxkZGlyKS90ZXN0YXBpIC1xKQorCitIVE1MdGVzdHMgOiB0ZXN0SFRNTCQoRVhFRVhUKQorCUAoZWNobyA+IC5tZW1kdW1wKQorCUBlY2hvICIjIyBIVE1MIHJlZ3Jlc3Npb24gdGVzdHMiCisJLUAoZm9yIGkgaW4gJChzcmNkaXIpL3Rlc3QvSFRNTC8qIDsgZG8gXAorCSAgbmFtZT1gYmFzZW5hbWUgJCRpYDsgXAorCSAgaWYgWyAhIC1kICQkaSBdIDsgdGhlbiBcCisJICBpZiBbICEgLWYgJChzcmNkaXIpL3Jlc3VsdC9IVE1MLyQkbmFtZSBdIDsgdGhlbiBcCisJICAgICAgZWNobyBOZXcgdGVzdCBmaWxlICQkbmFtZSA7IFwKKwkgICAgICAkKENIRUNLRVIpICQodG9wX2J1aWxkZGlyKS90ZXN0SFRNTCAkJGkgPiAkKHNyY2RpcikvcmVzdWx0L0hUTUwvJCRuYW1lIDI+JChzcmNkaXIpL3Jlc3VsdC9IVE1MLyQkbmFtZS5lcnIgOyBcCisJICBlbHNlIFwKKwkgICAgICBsb2c9YCQoQ0hFQ0tFUikgJCh0b3BfYnVpbGRkaXIpL3Rlc3RIVE1MICQkaSA+IHJlc3VsdC4kJG5hbWUgMj4gZXJyb3IuJCRuYW1lIDsgXAorCSAgICAgIGdyZXAgIk1PUlkgQUxMTyIgLm1lbWR1bXAgIHwgZ3JlcCAtdiAiTUVNT1JZIEFMTE9DQVRFRCA6IDAiO1wKKwkgICAgICBkaWZmICQoc3JjZGlyKS9yZXN1bHQvSFRNTC8kJG5hbWUgcmVzdWx0LiQkbmFtZSA7IFwKKwkgICAgICBkaWZmIC1iICQoc3JjZGlyKS9yZXN1bHQvSFRNTC8kJG5hbWUuZXJyIGVycm9yLiQkbmFtZSA7IFwKKwkgICAgICAkKENIRUNLRVIpICQodG9wX2J1aWxkZGlyKS90ZXN0SFRNTCByZXN1bHQuJCRuYW1lID4gcmVzdWx0Mi4kJG5hbWUgMj5lcnJvci4kJG5hbWUgOyBcCisJICAgICAgZGlmZiByZXN1bHQuJCRuYW1lIHJlc3VsdDIuJCRuYW1lYCA7IFwKKwkgICAgICBpZiBbIC1uICIkJGxvZyIgXSA7IHRoZW4gZWNobyAkJG5hbWUgcmVzdWx0IDsgZWNobyAkJGxvZyA7IGZpIDsgXAorCSAgICAgIHJtIHJlc3VsdC4kJG5hbWUgcmVzdWx0Mi4kJG5hbWUgZXJyb3IuJCRuYW1lIDsgXAorCSAgZmkgOyBmaSA7IGRvbmUpCisKK0hUTUxQdXNodGVzdHMgOiB0ZXN0SFRNTCQoRVhFRVhUKQorCUBlY2hvICIjIyBQdXNoIEhUTUwgcmVncmVzc2lvbiB0ZXN0cyIKKwktQChmb3IgaSBpbiAkKHNyY2RpcikvdGVzdC9IVE1MLyogOyBkbyBcCisJICBuYW1lPWBiYXNlbmFtZSAkJGlgOyBcCisJICBpZiBbICEgLWQgJCRpIF0gOyB0aGVuIFwKKwkgIGlmIFsgISAtZiAkKHNyY2RpcikvcmVzdWx0L0hUTUwvJCRuYW1lIF0gOyB0aGVuIFwKKwkgICAgICBlY2hvIE5ldyB0ZXN0IGZpbGUgJCRuYW1lIDsgXAorCSAgICAgICQoQ0hFQ0tFUikgJCh0b3BfYnVpbGRkaXIpL3Rlc3RIVE1MIC0tcHVzaCAkJGkgPiAkKHNyY2RpcikvcmVzdWx0L0hUTUwvJCRuYW1lIDI+JChzcmNkaXIpL3Jlc3VsdC9IVE1MLyQkbmFtZS5lcnIgOyBcCisJICBlbHNlIFwKKwkgICAgICBsb2c9YCQoQ0hFQ0tFUikgJCh0b3BfYnVpbGRkaXIpL3Rlc3RIVE1MIC0tcHVzaCAkJGkgPiByZXN1bHQuJCRuYW1lIDI+IGVycm9yLiQkbmFtZSA7IFwKKwkgICAgICBncmVwICJNT1JZIEFMTE8iIC5tZW1kdW1wICB8IGdyZXAgLXYgIk1FTU9SWSBBTExPQ0FURUQgOiAwIjtcCisJICAgICAgZGlmZiAkKHNyY2RpcikvcmVzdWx0L0hUTUwvJCRuYW1lIHJlc3VsdC4kJG5hbWUgOyBcCisJICAgICAgY3V0IC1iIDEtMTUgJChzcmNkaXIpL3Jlc3VsdC9IVE1MLyQkbmFtZS5lcnIgPiBlcnJvcmN1dC4kJG5hbWU7IFwKKwkgICAgICBjdXQgLWIgMS0xNSBlcnJvci4kJG5hbWUgPiBlcnJvcmN1dDIuJCRuYW1lOyBcCisJICAgICAgZGlmZiAtYiBlcnJvcmN1dC4kJG5hbWUgZXJyb3JjdXQyLiQkbmFtZSA7IFwKKwkgICAgICAkKENIRUNLRVIpICQodG9wX2J1aWxkZGlyKS90ZXN0SFRNTCAtLXB1c2ggcmVzdWx0LiQkbmFtZSA+IHJlc3VsdDIuJCRuYW1lIDI+ZXJyb3IuJCRuYW1lIDsgXAorCSAgICAgIGRpZmYgcmVzdWx0LiQkbmFtZSByZXN1bHQyLiQkbmFtZWAgOyBcCisJICAgICAgaWYgWyAtbiAiJCRsb2ciIF0gOyB0aGVuIGVjaG8gJCRuYW1lIHJlc3VsdCA7IGVjaG8gJCRsb2cgOyBmaSA7IFwKKwkgICAgICBybSByZXN1bHQuJCRuYW1lIHJlc3VsdDIuJCRuYW1lIGVycm9yLiQkbmFtZSBlcnJvcmN1dC4kJG5hbWUgZXJyb3JjdXQyLiQkbmFtZSA7IFwKKwkgIGZpIDsgZmkgOyBkb25lKQorCUBlY2hvICIjIyBIVE1MIFNBWCByZWdyZXNzaW9uIHRlc3RzIgorCS1AKGZvciBpIGluICQoc3JjZGlyKS90ZXN0L0hUTUwvKiA7IGRvIFwKKwkgIG5hbWU9YGJhc2VuYW1lICQkaWA7IFwKKwkgIGlmIFsgISAtZCAkJGkgXSA7IHRoZW4gXAorCSAgaWYgWyAhIC1mICQoc3JjZGlyKS9yZXN1bHQvSFRNTC8kJG5hbWUuc2F4IF0gOyB0aGVuIFwKKwkgICAgICBlY2hvIE5ldyB0ZXN0IGZpbGUgJCRuYW1lIDsgXAorCSAgICAgICQoQ0hFQ0tFUikgJCh0b3BfYnVpbGRkaXIpL3Rlc3RIVE1MIC0tc2F4ICQkaSA+ICQoc3JjZGlyKS9yZXN1bHQvSFRNTC8kJG5hbWUuc2F4IDsgXAorCSAgZWxzZSBcCisJICAgICAgbG9nPWAkKENIRUNLRVIpICQodG9wX2J1aWxkZGlyKS90ZXN0SFRNTCAtLXNheCAkJGkgPiByZXN1bHQuJCRuYW1lLnNheCA7IFwKKwkgICAgICBncmVwICJNT1JZIEFMTE8iIC5tZW1kdW1wICB8IGdyZXAgLXYgIk1FTU9SWSBBTExPQ0FURUQgOiAwIjtcCisJICAgICAgZGlmZiAkKHNyY2RpcikvcmVzdWx0L0hUTUwvJCRuYW1lLnNheCByZXN1bHQuJCRuYW1lLnNheGAgOyBcCisJICAgICAgaWYgWyAtbiAiJCRsb2ciIF0gOyB0aGVuIGVjaG8gJCRuYW1lIHJlc3VsdCA7IGVjaG8gJCRsb2cgOyBmaSA7IFwKKwkgICAgICBybSByZXN1bHQuJCRuYW1lLnNheCA7IFwKKwkgIGZpIDsgZmkgOyBkb25lKQorCUBlY2hvICIjIyBQdXNoIEhUTUwgU0FYIHJlZ3Jlc3Npb24gdGVzdHMiCisJLUAoZm9yIGkgaW4gJChzcmNkaXIpL3Rlc3QvSFRNTC8qIDsgZG8gXAorCSAgbmFtZT1gYmFzZW5hbWUgJCRpYDsgXAorCSAgaWYgWyAhIC1kICQkaSBdIDsgdGhlbiBcCisJICBpZiBbICEgLWYgJChzcmNkaXIpL3Jlc3VsdC9IVE1MLyQkbmFtZSBdIDsgdGhlbiBcCisJICAgICAgZWNobyBOZXcgdGVzdCBmaWxlICQkbmFtZSA7IFwKKwkgICAgICAkKENIRUNLRVIpICQodG9wX2J1aWxkZGlyKS90ZXN0SFRNTCAtLXB1c2ggLS1zYXggJCRpID4gJChzcmNkaXIpL3Jlc3VsdC9IVE1MLyQkbmFtZS5zYXggOyBcCisJICBlbHNlIFwKKwkgICAgICBsb2c9YCQoQ0hFQ0tFUikgJCh0b3BfYnVpbGRkaXIpL3Rlc3RIVE1MIC0tcHVzaCAtLXNheCAkJGkgMj4mMSA+IHJlc3VsdC4kJG5hbWUuc2F4IDsgXAorCSAgICAgIGdyZXAgIk1PUlkgQUxMTyIgLm1lbWR1bXAgIHwgZ3JlcCAtdiAiTUVNT1JZIEFMTE9DQVRFRCA6IDAiO1wKKwkgICAgICBkaWZmICQoc3JjZGlyKS9yZXN1bHQvSFRNTC8kJG5hbWUuc2F4IHJlc3VsdC4kJG5hbWUuc2F4YCA7IFwKKwkgICAgICBpZiBbIC1uICIkJGxvZyIgXSA7IHRoZW4gZWNobyAkJG5hbWUgcmVzdWx0IDsgZWNobyAkJGxvZyA7IGZpIDsgXAorCSAgICAgIHJtIHJlc3VsdC4kJG5hbWUuc2F4IDsgXAorCSAgZmkgOyBmaSA7IGRvbmUpCisKK1hNTHRlc3RzIDogeG1sbGludCQoRVhFRVhUKQorCUAoZWNobyA+IC5tZW1kdW1wKQorCUBlY2hvICIjIyBYTUwgcmVncmVzc2lvbiB0ZXN0cyIKKwktQChmb3IgaSBpbiAkKHNyY2RpcikvdGVzdC8qIDsgZG8gXAorCSAgbmFtZT1gYmFzZW5hbWUgJCRpYDsgXAorCSAgaWYgWyAhIC1kICQkaSBdIDsgdGhlbiBcCisJICBpZiBbICEgLWYgJChzcmNkaXIpL3Jlc3VsdC8kJG5hbWUgXSA7IHRoZW4gXAorCSAgICAgIGVjaG8gTmV3IHRlc3QgZmlsZSAkJG5hbWUgOyBcCisJICAgICAgJChDSEVDS0VSKSAkKHRvcF9idWlsZGRpcikveG1sbGludCAkJGkgPiAkKHNyY2RpcikvcmVzdWx0LyQkbmFtZSA7IFwKKwkgICAgICBncmVwICJNT1JZIEFMTE8iIC5tZW1kdW1wICB8IGdyZXAgLXYgIk1FTU9SWSBBTExPQ0FURUQgOiAwIjsgXAorCSAgZWxzZSBcCisJICAgICAgbG9nPWAkKENIRUNLRVIpICQodG9wX2J1aWxkZGlyKS94bWxsaW50ICQkaSAyPiYxID4gcmVzdWx0LiQkbmFtZSA7IFwKKwkgICAgICBncmVwICJNT1JZIEFMTE8iIC5tZW1kdW1wICB8IGdyZXAgLXYgIk1FTU9SWSBBTExPQ0FURUQgOiAwIjsgXAorCSAgICAgIGRpZmYgJChzcmNkaXIpL3Jlc3VsdC8kJG5hbWUgcmVzdWx0LiQkbmFtZSA7IFwKKwkgICAgICAkKENIRUNLRVIpICQodG9wX2J1aWxkZGlyKS94bWxsaW50IHJlc3VsdC4kJG5hbWUgMj4mMSA+IHJlc3VsdDIuJCRuYW1lIHwgZ3JlcCAtdiAnZmFpbGVkIHRvIGxvYWQgZXh0ZXJuYWwgZW50aXR5JyA7IFwKKwkgICAgICBncmVwICJNT1JZIEFMTE8iIC5tZW1kdW1wICB8IGdyZXAgLXYgIk1FTU9SWSBBTExPQ0FURUQgOiAwIjsgXAorCSAgICAgIGRpZmYgcmVzdWx0LiQkbmFtZSByZXN1bHQyLiQkbmFtZWAgO1wKKwkgICAgICBpZiBbIC1uICIkJGxvZyIgXSA7IHRoZW4gZWNobyAkJG5hbWUgcmVzdWx0IDsgZWNobyAkJGxvZyA7IGZpIDsgXAorCSAgICAgIHJtIHJlc3VsdC4kJG5hbWUgcmVzdWx0Mi4kJG5hbWUgOyBcCisJICBmaSA7IGZpIDsgZG9uZSkKKwlAZWNobyAiIyMgWE1MIHJlZ3Jlc3Npb24gdGVzdHMgb24gbWVtb3J5IgorCS1AKGZvciBpIGluICQoc3JjZGlyKS90ZXN0LyogOyBkbyBcCisJICBuYW1lPWBiYXNlbmFtZSAkJGlgOyBcCisJICBpZiBbICEgLWQgJCRpIF0gOyB0aGVuIFwKKwkgIGlmIFsgISAtZiAkKHNyY2RpcikvcmVzdWx0LyQkbmFtZSBdIDsgdGhlbiBcCisJICAgICAgZWNobyBOZXcgdGVzdCBmaWxlICQkbmFtZSA7IFwKKwkgICAgICAkKENIRUNLRVIpICQodG9wX2J1aWxkZGlyKS94bWxsaW50IC0tbWVtb3J5ICQkaSA+ICQoc3JjZGlyKS9yZXN1bHQvJCRuYW1lIDsgXAorCSAgICAgIGdyZXAgIk1PUlkgQUxMTyIgLm1lbWR1bXAgIHwgZ3JlcCAtdiAiTUVNT1JZIEFMTE9DQVRFRCA6IDAiOyBcCisJICBlbHNlIFwKKwkgICAgICBsb2c9YCQoQ0hFQ0tFUikgJCh0b3BfYnVpbGRkaXIpL3htbGxpbnQgLS1tZW1vcnkgJCRpIDI+JjEgPiByZXN1bHQuJCRuYW1lIDsgXAorCSAgICAgIGdyZXAgIk1PUlkgQUxMTyIgLm1lbWR1bXAgIHwgZ3JlcCAtdiAiTUVNT1JZIEFMTE9DQVRFRCA6IDAiO1wKKwkgICAgICBkaWZmICQoc3JjZGlyKS9yZXN1bHQvJCRuYW1lIHJlc3VsdC4kJG5hbWUgOyBcCisJICAgICAgJChDSEVDS0VSKSAkKHRvcF9idWlsZGRpcikveG1sbGludCAtLW1lbW9yeSByZXN1bHQuJCRuYW1lIDI+JjEgPiByZXN1bHQyLiQkbmFtZSB8IGdyZXAgLXYgJ2ZhaWxlZCB0byBsb2FkIGV4dGVybmFsIGVudGl0eScgOyBcCisJICAgICAgZ3JlcCAiTU9SWSBBTExPIiAubWVtZHVtcCAgfCBncmVwIC12ICJNRU1PUlkgQUxMT0NBVEVEIDogMCJgOyBcCisJICAgICAgaWYgWyAtbiAiJCRsb2ciIF0gOyB0aGVuIGVjaG8gJCRuYW1lIHJlc3VsdCA7IGVjaG8gJCRsb2cgOyBmaSA7IFwKKwkgICAgICBkaWZmIHJlc3VsdC4kJG5hbWUgcmVzdWx0Mi4kJG5hbWUgOyBcCisJICAgICAgcm0gcmVzdWx0LiQkbmFtZSByZXN1bHQyLiQkbmFtZSA7IFwKKwkgIGZpIDsgZmkgOyBkb25lKQorCitYTUxQdXNodGVzdHM6IHhtbGxpbnQkKEVYRUVYVCkKKwlAKGVjaG8gPiAubWVtZHVtcCkKKwlAZWNobyAiIyMgWE1MIHB1c2ggcmVncmVzc2lvbiB0ZXN0cyIKKwktQChmb3IgaSBpbiAkKHNyY2RpcikvdGVzdC8qIDsgZG8gXAorCSAgbmFtZT1gYmFzZW5hbWUgJCRpYDsgXAorCSAgaWYgWyAhIC1kICQkaSBdIDsgdGhlbiBcCisJICBpZiBbICEgLWYgJChzcmNkaXIpL3Jlc3VsdC8kJG5hbWUgXSA7IHRoZW4gXAorCSAgICAgIGVjaG8gTmV3IHRlc3QgZmlsZSAkJG5hbWUgOyBcCisJICAgICAgJChDSEVDS0VSKSAkKHRvcF9idWlsZGRpcikveG1sbGludCAtLXB1c2ggJCRpID4gJChzcmNkaXIpL3Jlc3VsdC8kJG5hbWUgOyBcCisJICAgICAgZ3JlcCAiTU9SWSBBTExPIiAubWVtZHVtcCAgfCBncmVwIC12ICJNRU1PUlkgQUxMT0NBVEVEIDogMCI7IFwKKwkgIGVsc2UgXAorCSAgICAgIGxvZz1gJChDSEVDS0VSKSAkKHRvcF9idWlsZGRpcikveG1sbGludCAtLXB1c2ggJCRpIDI+JjEgPiByZXN1bHQuJCRuYW1lIDsgXAorCSAgICAgIGdyZXAgIk1PUlkgQUxMTyIgLm1lbWR1bXAgIHwgZ3JlcCAtdiAiTUVNT1JZIEFMTE9DQVRFRCA6IDAiOyBcCisJICAgICAgZGlmZiAkKHNyY2RpcikvcmVzdWx0LyQkbmFtZSByZXN1bHQuJCRuYW1lIDsgXAorCSAgICAgICQoQ0hFQ0tFUikgJCh0b3BfYnVpbGRkaXIpL3htbGxpbnQgLS1wdXNoIHJlc3VsdC4kJG5hbWUgMj4mMSA+IHJlc3VsdDIuJCRuYW1lIHwgZ3JlcCAtdiAnZmFpbGVkIHRvIGxvYWQgZXh0ZXJuYWwgZW50aXR5JyA7IFwKKwkgICAgICBncmVwICJNT1JZIEFMTE8iIC5tZW1kdW1wICB8IGdyZXAgLXYgIk1FTU9SWSBBTExPQ0FURUQgOiAwIjsgXAorCSAgICAgIGRpZmYgcmVzdWx0LiQkbmFtZSByZXN1bHQyLiQkbmFtZWAgOyBcCisJICAgICAgaWYgWyAtbiAiJCRsb2ciIF0gOyB0aGVuIGVjaG8gJCRuYW1lIHJlc3VsdCA7IGVjaG8gJCRsb2cgOyBmaSA7IFwKKwkgICAgICBybSByZXN1bHQuJCRuYW1lIHJlc3VsdDIuJCRuYW1lIDsgXAorCSAgZmkgOyBmaSA7IGRvbmUpCisKK05TdGVzdHMgOiB4bWxsaW50JChFWEVFWFQpCisJQChlY2hvID4gLm1lbWR1bXApCisJQGVjaG8gIiMjIFhNTCBOYW1lc3BhY2VzIHJlZ3Jlc3Npb24gdGVzdHMiCisJLUAoZm9yIGkgaW4gJChzcmNkaXIpL3Rlc3QvbmFtZXNwYWNlcy8qIDsgZG8gXAorCSAgbmFtZT1gYmFzZW5hbWUgJCRpYDsgXAorCSAgaWYgWyAhIC1kICQkaSBdIDsgdGhlbiBcCisJICBpZiBbICEgLWYgJChzcmNkaXIpL3Jlc3VsdC9uYW1lc3BhY2VzLyQkbmFtZSBdIDsgdGhlbiBcCisJICAgICAgZWNobyBOZXcgdGVzdCBmaWxlICQkbmFtZSA7IFwKKwkgICAgICAkKENIRUNLRVIpICQodG9wX2J1aWxkZGlyKS94bWxsaW50ICQkaSBcCisJICAgICAgICAgMj4gJChzcmNkaXIpL3Jlc3VsdC9uYW1lc3BhY2VzLyQkbmFtZS5lcnIgXAorCQkgPiAkKHNyY2RpcikvcmVzdWx0L25hbWVzcGFjZXMvJCRuYW1lIDsgXAorCSAgICAgIGdyZXAgIk1PUlkgQUxMTyIgLm1lbWR1bXAgIHwgZ3JlcCAtdiAiTUVNT1JZIEFMTE9DQVRFRCA6IDAiOyBcCisJICBlbHNlIFwKKwkgICAgICBsb2c9YCQoQ0hFQ0tFUikgJCh0b3BfYnVpbGRkaXIpL3htbGxpbnQgJCRpIDI+IGVycm9yLiQkbmFtZSA+IHJlc3VsdC4kJG5hbWUgOyBcCisJICAgICAgZ3JlcCAiTU9SWSBBTExPIiAubWVtZHVtcCAgfCBncmVwIC12ICJNRU1PUlkgQUxMT0NBVEVEIDogMCI7IFwKKwkgICAgICBkaWZmICQoc3JjZGlyKS9yZXN1bHQvbmFtZXNwYWNlcy8kJG5hbWUgcmVzdWx0LiQkbmFtZSA7IFwKKwkgICAgICBkaWZmICQoc3JjZGlyKS9yZXN1bHQvbmFtZXNwYWNlcy8kJG5hbWUuZXJyIGVycm9yLiQkbmFtZWA7IFwKKwkgICAgICBpZiBbIC1uICIkJGxvZyIgXSA7IHRoZW4gZWNobyAkJG5hbWUgcmVzdWx0IDsgZWNobyAkJGxvZyA7IGZpIDsgXAorCSAgICAgIHJtIHJlc3VsdC4kJG5hbWUgZXJyb3IuJCRuYW1lIDsgXAorCSAgZmkgOyBmaSA7IGRvbmUpCisKK0lEdGVzdHMgOiB4bWxsaW50JChFWEVFWFQpIHRlc3RYUGF0aCQoRVhFRVhUKQorCUAoZWNobyA+IC5tZW1kdW1wKQorCUBlY2hvICIjIyB4bWw6aWQgcmVncmVzc2lvbiB0ZXN0cyIKKwktQChmb3IgaSBpbiAkKHNyY2RpcikvdGVzdC94bWxpZC9pZF8qLnhtbCA7IGRvIFwKKwkgIG5hbWU9YGJhc2VuYW1lICQkaWA7IFwKKwkgIGlmIFsgISAtZCAkJGkgXSA7IHRoZW4gXAorCSAgaWYgWyAhIC1mICQoc3JjZGlyKS9yZXN1bHQveG1saWQvJCRuYW1lIF0gOyB0aGVuIFwKKwkgICAgICBlY2hvIE5ldyB0ZXN0IGZpbGUgJCRuYW1lIDsgXAorCSAgICAgICQoQ0hFQ0tFUikgJCh0b3BfYnVpbGRkaXIpL3Rlc3RYUGF0aCAtaSAkJGkgImlkKCdiYXInKSIgXAorCSAgICAgICAgIDI+ICQoc3JjZGlyKS9yZXN1bHQveG1saWQvJCRuYW1lLmVyciBcCisJCSA+ICQoc3JjZGlyKS9yZXN1bHQveG1saWQvJCRuYW1lIDsgXAorCSAgICAgIGdyZXAgIk1PUlkgQUxMTyIgLm1lbWR1bXAgIHwgZ3JlcCAtdiAiTUVNT1JZIEFMTE9DQVRFRCA6IDAiOyBcCisJICBlbHNlIFwKKwkgICAgICBsb2c9YCQoQ0hFQ0tFUikgJCh0b3BfYnVpbGRkaXIpL3Rlc3RYUGF0aCAtaSAkJGkgImlkKCdiYXInKSIgMj4gZXJyb3IuJCRuYW1lID4gcmVzdWx0LiQkbmFtZSA7IFwKKwkgICAgICBncmVwICJNT1JZIEFMTE8iIC5tZW1kdW1wICB8IGdyZXAgLXYgIk1FTU9SWSBBTExPQ0FURUQgOiAwIjsgXAorCSAgICAgIGRpZmYgJChzcmNkaXIpL3Jlc3VsdC94bWxpZC8kJG5hbWUgcmVzdWx0LiQkbmFtZSA7IFwKKwkgICAgICBkaWZmICQoc3JjZGlyKS9yZXN1bHQveG1saWQvJCRuYW1lLmVyciBlcnJvci4kJG5hbWVgIDsgXAorCSAgICAgIGlmIFsgLW4gIiQkbG9nIiBdIDsgdGhlbiBlY2hvICQkbmFtZSByZXN1bHQgOyBlY2hvICQkbG9nIDsgZmkgOyBcCisJICAgICAgcm0gcmVzdWx0LiQkbmFtZSBlcnJvci4kJG5hbWUgOyBcCisJICBmaSA7IGZpIDsgZG9uZSkKKworRXJydGVzdHMgOiB4bWxsaW50JChFWEVFWFQpCisJQChlY2hvID4gLm1lbWR1bXApCisJQGVjaG8gIiMjIEVycm9yIGNhc2VzIHJlZ3Jlc3Npb24gdGVzdHMiCisJLUAoZm9yIGkgaW4gJChzcmNkaXIpL3Rlc3QvZXJyb3JzLyoueG1sIDsgZG8gXAorCSAgbmFtZT1gYmFzZW5hbWUgJCRpYDsgXAorCSAgaWYgWyAhIC1kICQkaSBdIDsgdGhlbiBcCisJICBpZiBbICEgLWYgJChzcmNkaXIpL3Jlc3VsdC9lcnJvcnMvJCRuYW1lIF0gOyB0aGVuIFwKKwkgICAgICBlY2hvIE5ldyB0ZXN0IGZpbGUgJCRuYW1lIDsgXAorCSAgICAgICQoQ0hFQ0tFUikgJCh0b3BfYnVpbGRkaXIpL3htbGxpbnQgJCRpIFwKKwkgICAgICAgICAyPiAkKHNyY2RpcikvcmVzdWx0L2Vycm9ycy8kJG5hbWUuZXJyIFwKKwkJID4gJChzcmNkaXIpL3Jlc3VsdC9lcnJvcnMvJCRuYW1lIDsgXAorCSAgICAgIGdyZXAgIk1PUlkgQUxMTyIgLm1lbWR1bXAgIHwgZ3JlcCAtdiAiTUVNT1JZIEFMTE9DQVRFRCA6IDAiOyBcCisJICBlbHNlIFwKKwkgICAgICBsb2c9YCQoQ0hFQ0tFUikgJCh0b3BfYnVpbGRkaXIpL3htbGxpbnQgJCRpIDI+IGVycm9yLiQkbmFtZSA+IHJlc3VsdC4kJG5hbWUgOyBcCisJICAgICAgZ3JlcCAiTU9SWSBBTExPIiAubWVtZHVtcCAgfCBncmVwIC12ICJNRU1PUlkgQUxMT0NBVEVEIDogMCI7IFwKKwkgICAgICBkaWZmICQoc3JjZGlyKS9yZXN1bHQvZXJyb3JzLyQkbmFtZSByZXN1bHQuJCRuYW1lIDsgXAorCSAgICAgIGRpZmYgJChzcmNkaXIpL3Jlc3VsdC9lcnJvcnMvJCRuYW1lLmVyciBlcnJvci4kJG5hbWVgIDsgXAorCSAgICAgIGlmIFsgLW4gIiQkbG9nIiBdIDsgdGhlbiBlY2hvICQkbmFtZSByZXN1bHQgOyBlY2hvICQkbG9nIDsgZmkgOyBcCisJICAgICAgcm0gcmVzdWx0LiQkbmFtZSBlcnJvci4kJG5hbWUgOyBcCisJICBmaSA7IGZpIDsgZG9uZSkKKwlAZWNobyAiIyMgRXJyb3IgY2FzZXMgc3RyZWFtIHJlZ3Jlc3Npb24gdGVzdHMiCisJLUAoZm9yIGkgaW4gJChzcmNkaXIpL3Rlc3QvZXJyb3JzLyoueG1sIDsgZG8gXAorCSAgbmFtZT1gYmFzZW5hbWUgJCRpYDsgXAorCSAgaWYgWyAhIC1kICQkaSBdIDsgdGhlbiBcCisJICBpZiBbICEgLWYgJChzcmNkaXIpL3Jlc3VsdC9lcnJvcnMvJCRuYW1lLnN0ciBdIDsgdGhlbiBcCisJICAgICAgZWNobyBOZXcgdGVzdCBmaWxlICQkbmFtZSA7IFwKKwkgICAgICAkKENIRUNLRVIpICQodG9wX2J1aWxkZGlyKS94bWxsaW50IC0tc3RyZWFtICQkaSBcCisJICAgICAgICAgMj4gJChzcmNkaXIpL3Jlc3VsdC9lcnJvcnMvJCRuYW1lLnN0ciBcCisJCSA+IC9kZXYvbnVsbCA7IFwKKwkgICAgICBncmVwICJNT1JZIEFMTE8iIC5tZW1kdW1wICB8IGdyZXAgLXYgIk1FTU9SWSBBTExPQ0FURUQgOiAwIjsgXAorCSAgZWxzZSBcCisJICAgICAgbG9nPWAkKENIRUNLRVIpICQodG9wX2J1aWxkZGlyKS94bWxsaW50IC0tc3RyZWFtICQkaSAyPiBlcnJvci4kJG5hbWUgPiAvZGV2L251bGwgOyBcCisJICAgICAgZ3JlcCAiTU9SWSBBTExPIiAubWVtZHVtcCAgfCBncmVwIC12ICJNRU1PUlkgQUxMT0NBVEVEIDogMCI7IFwKKwkgICAgICBkaWZmICQoc3JjZGlyKS9yZXN1bHQvZXJyb3JzLyQkbmFtZS5zdHIgZXJyb3IuJCRuYW1lYCA7IFwKKwkgICAgICBpZiBbIC1uICIkJGxvZyIgXSA7IHRoZW4gZWNobyAkJG5hbWUgcmVzdWx0IDsgZWNobyAkJGxvZyA7IGZpIDsgXAorCSAgICAgIHJtIGVycm9yLiQkbmFtZSA7IFwKKwkgIGZpIDsgZmkgOyBkb25lKQorCitEb2NidGVzdHMgOiB4bWxsaW50JChFWEVFWFQpCisKK1hNTGVudHRlc3RzIDogeG1sbGludCQoRVhFRVhUKQorCUAoZWNobyA+IC5tZW1kdW1wKQorCUBlY2hvICIjIyBYTUwgZW50aXR5IHN1YnN0IHJlZ3Jlc3Npb24gdGVzdHMiCisJLUAoZm9yIGkgaW4gJChzcmNkaXIpL3Rlc3QvKiA7IGRvIFwKKwkgIG5hbWU9YGJhc2VuYW1lICQkaWA7IFwKKwkgIGlmIFsgISAtZCAkJGkgXSA7IHRoZW4gXAorCSAgaWYgWyAhIC1mICQoc3JjZGlyKS9yZXN1bHQvbm9lbnQvJCRuYW1lIF0gOyB0aGVuIFwKKwkgICAgICBlY2hvIE5ldyB0ZXN0IGZpbGUgJCRuYW1lIDsgXAorCSAgICAgICQoQ0hFQ0tFUikgJCh0b3BfYnVpbGRkaXIpL3htbGxpbnQgLS1ub2VudCAkJGkgPiAkKHNyY2RpcikvcmVzdWx0L25vZW50LyQkbmFtZSA7IFwKKwkgICAgICBncmVwICJNT1JZIEFMTE8iIC5tZW1kdW1wICB8IGdyZXAgLXYgIk1FTU9SWSBBTExPQ0FURUQgOiAwIjsgXAorCSAgZWxzZSBcCisJICAgICAgbG9nPWAkKENIRUNLRVIpICQodG9wX2J1aWxkZGlyKS94bWxsaW50IC0tbm9lbnQgJCRpIDI+JjEgPiByZXN1bHQuJCRuYW1lIDsgXAorCSAgICAgIGdyZXAgIk1PUlkgQUxMTyIgLm1lbWR1bXAgIHwgZ3JlcCAtdiAiTUVNT1JZIEFMTE9DQVRFRCA6IDAiOyBcCisJICAgICAgZGlmZiAkKHNyY2RpcikvcmVzdWx0L25vZW50LyQkbmFtZSByZXN1bHQuJCRuYW1lIDsgXAorCSAgICAgICQoQ0hFQ0tFUikgJCh0b3BfYnVpbGRkaXIpL3htbGxpbnQgLS1ub2VudCByZXN1bHQuJCRuYW1lIDI+JjEgPiByZXN1bHQyLiQkbmFtZSA7IFwKKwkgICAgICBncmVwICJNT1JZIEFMTE8iIC5tZW1kdW1wICB8IGdyZXAgLXYgIk1FTU9SWSBBTExPQ0FURUQgOiAwIjsgXAorCSAgICAgIGRpZmYgcmVzdWx0LiQkbmFtZSByZXN1bHQyLiQkbmFtZWAgOyBcCisJICAgICAgaWYgWyAtbiAiJCRsb2ciIF0gOyB0aGVuIGVjaG8gJCRuYW1lIHJlc3VsdCA7IGVjaG8gJCRsb2cgOyBmaSA7IFwKKwkgICAgICBybSByZXN1bHQuJCRuYW1lIHJlc3VsdDIuJCRuYW1lIDsgXAorCSAgZmkgOyBmaSA7IGRvbmUpCisKK1VSSXRlc3RzIDogdGVzdFVSSSQoRVhFRVhUKQorCUAoZWNobyA+IC5tZW1kdW1wKQorCUBlY2hvICIjIyBVUkkgbW9kdWxlIHJlZ3Jlc3Npb24gdGVzdHMiCisJLUAoZm9yIGkgaW4gJChzcmNkaXIpL3Rlc3QvVVJJLyouZGF0YSA7IGRvIFwKKwkgIG5hbWU9YGJhc2VuYW1lICQkaWA7IFwKKwkgIGlmIFsgISAtZCAkJGkgXSA7IHRoZW4gXAorCSAgaWYgWyAhIC1mICQoc3JjZGlyKS9yZXN1bHQvVVJJLyQkbmFtZSBdIDsgdGhlbiBcCisJICAgICAgZWNobyBOZXcgdGVzdCBmaWxlICQkbmFtZSA7IFwKKwkgICAgICAkKENIRUNLRVIpICQodG9wX2J1aWxkZGlyKS90ZXN0VVJJIC1iYXNlICdodHRwOi8vZm9vLmNvbS9wYXRoL3RvL2luZGV4Lmh0bWw/b3JpZyNoZWxwJyA8ICQkaSA+ICQoc3JjZGlyKS9yZXN1bHQvVVJJLyQkbmFtZSA7IFwKKwkgICAgICBncmVwICJNT1JZIEFMTE8iIC5tZW1kdW1wICB8IGdyZXAgLXYgIk1FTU9SWSBBTExPQ0FURUQgOiAwIjsgXAorCSAgZWxzZSBcCisJICAgICAgbG9nPWAkKENIRUNLRVIpICQodG9wX2J1aWxkZGlyKS90ZXN0VVJJIC1iYXNlICdodHRwOi8vZm9vLmNvbS9wYXRoL3RvL2luZGV4Lmh0bWw/b3JpZyNoZWxwJyA8ICQkaSAyPiYxID4gcmVzdWx0LiQkbmFtZSA7IFwKKwkgICAgICBncmVwICJNT1JZIEFMTE8iIC5tZW1kdW1wICB8IGdyZXAgLXYgIk1FTU9SWSBBTExPQ0FURUQgOiAwIjtcCisJICAgICAgZGlmZiAkKHNyY2RpcikvcmVzdWx0L1VSSS8kJG5hbWUgcmVzdWx0LiQkbmFtZWAgOyBcCisJICAgICAgaWYgWyAtbiAiJCRsb2ciIF0gOyB0aGVuIGVjaG8gJCRuYW1lIHJlc3VsdCA7IGVjaG8gJCRsb2cgOyBmaSA7IFwKKwkgICAgICBybSByZXN1bHQuJCRuYW1lIDsgXAorCSAgZmkgOyBmaSA7IGRvbmUpCisJLUAoZm9yIGkgaW4gJChzcmNkaXIpL3Rlc3QvVVJJLyoudXJpIDsgZG8gXAorCSAgbmFtZT1gYmFzZW5hbWUgJCRpYDsgXAorCSAgaWYgWyAhIC1kICQkaSBdIDsgdGhlbiBcCisJICBpZiBbICEgLWYgJChzcmNkaXIpL3Jlc3VsdC9VUkkvJCRuYW1lIF0gOyB0aGVuIFwKKwkgICAgICBlY2hvIE5ldyB0ZXN0IGZpbGUgJCRuYW1lIDsgXAorCSAgICAgICQoQ0hFQ0tFUikgJCh0b3BfYnVpbGRkaXIpL3Rlc3RVUkkgPCAkJGkgPiAkKHNyY2RpcikvcmVzdWx0L1VSSS8kJG5hbWUgOyBcCisJICAgICAgZ3JlcCAiTU9SWSBBTExPIiAubWVtZHVtcCAgfCBncmVwIC12ICJNRU1PUlkgQUxMT0NBVEVEIDogMCI7IFwKKwkgIGVsc2UgXAorCSAgICAgIGxvZz1gJChDSEVDS0VSKSAkKHRvcF9idWlsZGRpcikvdGVzdFVSSSA8ICQkaSAyPiYxID4gcmVzdWx0LiQkbmFtZSA7IFwKKwkgICAgICBncmVwICJNT1JZIEFMTE8iIC5tZW1kdW1wICB8IGdyZXAgLXYgIk1FTU9SWSBBTExPQ0FURUQgOiAwIjtcCisJICAgICAgZGlmZiAkKHNyY2RpcikvcmVzdWx0L1VSSS8kJG5hbWUgcmVzdWx0LiQkbmFtZWAgOyBcCisJICAgICAgaWYgWyAtbiAiJCRsb2ciIF0gOyB0aGVuIGVjaG8gJCRuYW1lIHJlc3VsdCA7IGVjaG8gJCRsb2cgOyBmaSA7IFwKKwkgICAgICBybSByZXN1bHQuJCRuYW1lIDsgXAorCSAgZmkgOyBmaSA7IGRvbmUpCisKK1hQYXRodGVzdHMgOiB0ZXN0WFBhdGgkKEVYRUVYVCkKKwlAKGVjaG8gPiAubWVtZHVtcCkKKwlAZWNobyAiIyMgWFBhdGggcmVncmVzc2lvbiB0ZXN0cyIKKwktQChpZiBbICJgJCh0b3BfYnVpbGRkaXIpL3Rlc3RYUGF0aCB8IGdyZXAgJ3N1cHBvcnQgbm90IGNvbXBpbGVkIGluJ2AiICE9ICIiIF0gOyBcCisJICB0aGVuIGVjaG8gU2tpcHBpbmcgZGVidWcgbm90IGNvbXBpbGVkIGluIDsgZXhpdCAwIDsgZmkgOyBcCisJICBmb3IgaSBpbiAkKHNyY2RpcikvdGVzdC9YUGF0aC9leHByLyogOyBkbyBcCisJICBuYW1lPWBiYXNlbmFtZSAkJGlgOyBcCisJICBpZiBbICEgLWQgJCRpIF0gOyB0aGVuIFwKKwkgIGlmIFsgISAtZiAkKHNyY2RpcikvcmVzdWx0L1hQYXRoL2V4cHIvJCRuYW1lIF0gOyB0aGVuIFwKKwkgICAgICBlY2hvIE5ldyB0ZXN0IGZpbGUgJCRuYW1lIDsgXAorCSAgICAgICQoQ0hFQ0tFUikgJCh0b3BfYnVpbGRkaXIpL3Rlc3RYUGF0aCAtZiAtLWV4cHIgJCRpID4gJChzcmNkaXIpL3Jlc3VsdC9YUGF0aC9leHByLyQkbmFtZSA7IFwKKwkgICAgICBncmVwICJNT1JZIEFMTE8iIC5tZW1kdW1wICB8IGdyZXAgLXYgIk1FTU9SWSBBTExPQ0FURUQgOiAwIjtcCisJICBlbHNlIFwKKwkgICAgICBsb2c9YCQoQ0hFQ0tFUikgJCh0b3BfYnVpbGRkaXIpL3Rlc3RYUGF0aCAtZiAtLWV4cHIgJCRpIDI+JjEgPiByZXN1bHQuJCRuYW1lIDsgXAorCSAgICAgIGdyZXAgIk1PUlkgQUxMTyIgLm1lbWR1bXAgIHwgZ3JlcCAtdiAiTUVNT1JZIEFMTE9DQVRFRCA6IDAiO1wKKwkgICAgICBkaWZmICQoc3JjZGlyKS9yZXN1bHQvWFBhdGgvZXhwci8kJG5hbWUgcmVzdWx0LiQkbmFtZWAgOyBcCisJICAgICAgaWYgWyAtbiAiJCRsb2ciIF0gOyB0aGVuIGVjaG8gJCRuYW1lIHJlc3VsdCA7IGVjaG8gJCRsb2cgOyBmaSA7IFwKKwkgICAgICBybSByZXN1bHQuJCRuYW1lIDsgXAorCSAgZmkgOyBmaSA7IGRvbmUgOyBcCisJICBmb3IgaSBpbiAkKHNyY2RpcikvdGVzdC9YUGF0aC9kb2NzLyogOyBkbyBcCisJICBpZiBbICEgLWQgJCRpIF0gOyB0aGVuIFwKKwkgIGRvYz1gYmFzZW5hbWUgJCRpYDsgXAorCSAgZm9yIGogaW4gJChzcmNkaXIpL3Rlc3QvWFBhdGgvdGVzdHMvJCRkb2MqIDsgZG8gXAorCSAgaWYgWyAhIC1mICQkaiBdIDsgdGhlbiBjb250aW51ZSA7IGZpIDsgXAorCSAgbmFtZT1gYmFzZW5hbWUgJCRqYDsgXAorCSAgaWYgWyAhIC1kICQkaiBdIDsgdGhlbiBcCisJICBpZiBbICEgLWYgJChzcmNkaXIpL3Jlc3VsdC9YUGF0aC90ZXN0cy8kJG5hbWUgXSA7IHRoZW4gXAorCSAgICAgIGVjaG8gTmV3IHRlc3QgZmlsZSAkJG5hbWUgOyBcCisJICAgICAgJChDSEVDS0VSKSAkKHRvcF9idWlsZGRpcikvdGVzdFhQYXRoIC1mIC1pICQkaSAkJGogPiAkKHNyY2RpcikvcmVzdWx0L1hQYXRoL3Rlc3RzLyQkbmFtZSA7IFwKKwkgICAgICBncmVwICJNT1JZIEFMTE8iIC5tZW1kdW1wICB8IGdyZXAgLXYgIk1FTU9SWSBBTExPQ0FURUQgOiAwIjtcCisJICBlbHNlIFwKKwkgICAgICBsb2c9YCQoQ0hFQ0tFUikgJCh0b3BfYnVpbGRkaXIpL3Rlc3RYUGF0aCAtZiAtaSAkJGkgJCRqIDI+JjEgPiByZXN1bHQuJCRuYW1lIDsgXAorCSAgICAgIGdyZXAgIk1PUlkgQUxMTyIgLm1lbWR1bXAgIHwgZ3JlcCAtdiAiTUVNT1JZIEFMTE9DQVRFRCA6IDAiO1wKKwkgICAgICBkaWZmICQoc3JjZGlyKS9yZXN1bHQvWFBhdGgvdGVzdHMvJCRuYW1lIHJlc3VsdC4kJG5hbWVgIDsgXAorCSAgICAgIGlmIFsgLW4gIiQkbG9nIiBdIDsgdGhlbiBlY2hvICQkbmFtZSByZXN1bHQgOyBlY2hvICQkbG9nIDsgZmkgOyBcCisJICAgICAgcm0gcmVzdWx0LiQkbmFtZSA7IFwKKwkgIGZpIDsgZmkgOyBkb25lIDsgZmkgOyBkb25lKQorCitYUHRydGVzdHMgOiB0ZXN0WFBhdGgkKEVYRUVYVCkKKwlAKGVjaG8gPiAubWVtZHVtcCkKKwlAZWNobyAiIyMgWFBvaW50ZXIgcmVncmVzc2lvbiB0ZXN0cyIKKwktQChpZiBbICJgJCh0b3BfYnVpbGRkaXIpL3Rlc3RYUGF0aCB8IGdyZXAgJ3N1cHBvcnQgbm90IGNvbXBpbGVkIGluJ2AiICE9ICIiIF0gOyBcCisJICB0aGVuIGVjaG8gU2tpcHBpbmcgZGVidWcgbm90IGNvbXBpbGVkIGluIDsgZXhpdCAwIDsgZmkgOyBcCisJICBmb3IgaSBpbiAkKHNyY2RpcikvdGVzdC9YUGF0aC9kb2NzLyogOyBkbyBcCisJICBpZiBbICEgLWQgJCRpIF0gOyB0aGVuIFwKKwkgIGRvYz1gYmFzZW5hbWUgJCRpYDsgXAorCSAgZm9yIGogaW4gJChzcmNkaXIpL3Rlc3QvWFBhdGgveHB0ci8kJGRvYyogOyBkbyBcCisJICBpZiBbICEgLWYgJCRqIF0gOyB0aGVuIGNvbnRpbnVlIDsgZmkgOyBcCisJICBuYW1lPWBiYXNlbmFtZSAkJGpgOyBcCisJICBpZiBbICEgLWQgJCRqIF0gOyB0aGVuIFwKKwkgIGlmIFsgISAtZiAkKHNyY2RpcikvcmVzdWx0L1hQYXRoL3hwdHIvJCRuYW1lIF0gOyB0aGVuIFwKKwkgICAgICBlY2hvIE5ldyB0ZXN0IGZpbGUgJCRuYW1lIDsgXAorCSAgICAgICQoQ0hFQ0tFUikgJCh0b3BfYnVpbGRkaXIpL3Rlc3RYUGF0aCAteHB0ciAtZiAtaSAkJGkgJCRqID4gJChzcmNkaXIpL3Jlc3VsdC9YUGF0aC94cHRyLyQkbmFtZSA7IFwKKwkgICAgICBncmVwICJNT1JZIEFMTE8iIC5tZW1kdW1wICB8IGdyZXAgLXYgIk1FTU9SWSBBTExPQ0FURUQgOiAwIjsgXAorCSAgZWxzZSBcCisJICAgICAgbG9nPWAkKENIRUNLRVIpICQodG9wX2J1aWxkZGlyKS90ZXN0WFBhdGggLXhwdHIgLWYgLWkgJCRpICQkaiAyPiYxID4gcmVzdWx0LiQkbmFtZSA7IFwKKwkgICAgICBncmVwICJNT1JZIEFMTE8iIC5tZW1kdW1wICB8IGdyZXAgLXYgIk1FTU9SWSBBTExPQ0FURUQgOiAwIjtcCisJICAgICAgZGlmZiAkKHNyY2RpcikvcmVzdWx0L1hQYXRoL3hwdHIvJCRuYW1lIHJlc3VsdC4kJG5hbWVgIDsgXAorCSAgICAgIGlmIFsgLW4gIiQkbG9nIiBdIDsgdGhlbiBlY2hvICQkbmFtZSByZXN1bHQgOyBlY2hvICQkbG9nIDsgZmkgOyBcCisJICAgICAgcm0gcmVzdWx0LiQkbmFtZSA7IFwKKwkgIGZpIDsgZmkgOyBkb25lIDsgZmkgOyBkb25lKQorCitYSW5jbHVkZXRlc3RzIDogeG1sbGludCQoRVhFRVhUKQorCUAoZWNobyA+IC5tZW1kdW1wKQorCUBlY2hvICIjIyBYSW5jbHVkZSByZWdyZXNzaW9uIHRlc3RzIgorCS1AKGZvciBpIGluICQoc3JjZGlyKS90ZXN0L1hJbmNsdWRlL2RvY3MvKiA7IGRvIFwKKwkgIG5hbWU9YGJhc2VuYW1lICQkaWA7IFwKKwkgIGlmIFsgISAtZCAkJGkgXSA7IHRoZW4gXAorCSAgaWYgWyAhIC1mICQoc3JjZGlyKS9yZXN1bHQvWEluY2x1ZGUvJCRuYW1lIF0gOyB0aGVuIFwKKwkgICAgICBlY2hvIE5ldyB0ZXN0IGZpbGUgJCRuYW1lIDsgXAorCSAgICAgICQoQ0hFQ0tFUikgJCh0b3BfYnVpbGRkaXIpL3htbGxpbnQgLS1ub3dhcm5pbmcgLS14aW5jbHVkZSAkJGkgPiAkKHNyY2RpcikvcmVzdWx0L1hJbmNsdWRlLyQkbmFtZSAyPiAkKHNyY2RpcikvcmVzdWx0L1hJbmNsdWRlLyQkbmFtZS5lcnIgOyBcCisJICAgICAgZ3JlcCAiTU9SWSBBTExPIiAubWVtZHVtcCAgfCBncmVwIC12ICJNRU1PUlkgQUxMT0NBVEVEIDogMCI7XAorCSAgZWxzZSBcCisJICAgICAgbG9nPWAkKENIRUNLRVIpICQodG9wX2J1aWxkZGlyKS94bWxsaW50IC0tbm93YXJuaW5nIC0teGluY2x1ZGUgJCRpID4gcmVzdWx0LiQkbmFtZSAyPmVycm9yLiQkbmFtZSA7IFwKKwkgICAgICBncmVwICJNT1JZIEFMTE8iIC5tZW1kdW1wICB8IGdyZXAgLXYgIk1FTU9SWSBBTExPQ0FURUQgOiAwIjtcCisJICAgICAgZGlmZiAkKHNyY2RpcikvcmVzdWx0L1hJbmNsdWRlLyQkbmFtZSByZXN1bHQuJCRuYW1lIDsgXAorCSAgICAgIGRpZmYgJChzcmNkaXIpL3Jlc3VsdC9YSW5jbHVkZS8kJG5hbWUuZXJyIGVycm9yLiQkbmFtZWAgOyBcCisJICAgICAgaWYgWyAtbiAiJCRsb2ciIF0gOyB0aGVuIGVjaG8gJCRuYW1lIHJlc3VsdCA7IGVjaG8gJCRsb2cgOyBmaSA7IFwKKwkgICAgICBybSByZXN1bHQuJCRuYW1lIGVycm9yLiQkbmFtZSA7IFwKKwkgIGZpIDsgZmkgOyBkb25lKQorCS1AKGZvciBpIGluICQoc3JjZGlyKS90ZXN0L1hJbmNsdWRlL2RvY3MvKiA7IGRvIFwKKwkgIG5hbWU9YGJhc2VuYW1lICQkaWA7IFwKKwkgIGlmIFsgISAtZCAkJGkgXSA7IHRoZW4gXAorCSAgaWYgWyAhIC1mICQoc3JjZGlyKS9yZXN1bHQvWEluY2x1ZGUvJCRuYW1lIF0gOyB0aGVuIFwKKwkgICAgICBlY2hvIE5ldyB0ZXN0IGZpbGUgJCRuYW1lIDsgXAorCSAgICAgICQoQ0hFQ0tFUikgJCh0b3BfYnVpbGRkaXIpL3htbGxpbnQgLS1ub3dhcm5pbmcgLS1ub3hpbmNsdWRlbm9kZSAkJGkgPiAkKHNyY2RpcikvcmVzdWx0L1hJbmNsdWRlLyQkbmFtZSAyPiAkKHNyY2RpcikvcmVzdWx0L1hJbmNsdWRlLyQkbmFtZS5lcnIgOyBcCisJICAgICAgZ3JlcCAiTU9SWSBBTExPIiAubWVtZHVtcCAgfCBncmVwIC12ICJNRU1PUlkgQUxMT0NBVEVEIDogMCI7XAorCSAgZWxzZSBcCisJICAgICAgbG9nPWAkKENIRUNLRVIpICQodG9wX2J1aWxkZGlyKS94bWxsaW50IC0tbm93YXJuaW5nIC0tbm94aW5jbHVkZW5vZGUgJCRpID4gcmVzdWx0LiQkbmFtZSAyPmVycm9yLiQkbmFtZSA7IFwKKwkgICAgICBncmVwICJNT1JZIEFMTE8iIC5tZW1kdW1wICB8IGdyZXAgLXYgIk1FTU9SWSBBTExPQ0FURUQgOiAwIjtcCisJICAgICAgZGlmZiAkKHNyY2RpcikvcmVzdWx0L1hJbmNsdWRlLyQkbmFtZSByZXN1bHQuJCRuYW1lIDsgXAorCSAgICAgIGRpZmYgJChzcmNkaXIpL3Jlc3VsdC9YSW5jbHVkZS8kJG5hbWUuZXJyIGVycm9yLiQkbmFtZWAgOyBcCisJICAgICAgaWYgWyAtbiAiJCRsb2ciIF0gOyB0aGVuIGVjaG8gJCRuYW1lIHJlc3VsdCA7IGVjaG8gJCRsb2cgOyBmaSA7IFwKKwkgICAgICBybSByZXN1bHQuJCRuYW1lIGVycm9yLiQkbmFtZSA7IFwKKwkgIGZpIDsgZmkgOyBkb25lKQorCUAoZWNobyA+IC5tZW1kdW1wKQorCUBlY2hvICIjIyBYSW5jbHVkZSB4bWxSZWFkZXIgcmVncmVzc2lvbiB0ZXN0cyIKKwktQChmb3IgaSBpbiAkKHNyY2RpcikvdGVzdC9YSW5jbHVkZS9kb2NzLyogOyBkbyBcCisJICBuYW1lPWBiYXNlbmFtZSAkJGlgOyBcCisJICBpZiBbICEgLWQgJCRpIF0gOyB0aGVuIFwKKwkgIGlmIFsgISAtZiAkKHNyY2RpcikvcmVzdWx0L1hJbmNsdWRlLyQkbmFtZS5yZHIgXSA7IHRoZW4gXAorCSAgICAgIGVjaG8gTmV3IHRlc3QgZmlsZSAkJG5hbWUgOyBcCisJICAgICAgJChDSEVDS0VSKSAkKHRvcF9idWlsZGRpcikveG1sbGludCAtLW5vd2FybmluZyAtLXhpbmNsdWRlIC0tc3RyZWFtIC0tZGVidWcgJCRpID4gJChzcmNkaXIpL3Jlc3VsdC9YSW5jbHVkZS8kJG5hbWUucmRyIDsgXAorCSAgICAgIGdyZXAgIk1PUlkgQUxMTyIgLm1lbWR1bXAgIHwgZ3JlcCAtdiAiTUVNT1JZIEFMTE9DQVRFRCA6IDAiO1wKKwkgIGVsc2UgXAorCSAgICAgIGxvZz1gJChDSEVDS0VSKSAkKHRvcF9idWlsZGRpcikveG1sbGludCAtLW5vd2FybmluZyAtLXhpbmNsdWRlIC0tc3RyZWFtIC0tZGVidWcgJCRpID4gcmVzdWx0LiQkbmFtZSAyPmVycm9yLiQkbmFtZSA7IFwKKwkgICAgICBncmVwICJNT1JZIEFMTE8iIC5tZW1kdW1wICB8IGdyZXAgLXYgIk1FTU9SWSBBTExPQ0FURUQgOiAwIjtcCisJICAgICAgZGlmZiAkKHNyY2RpcikvcmVzdWx0L1hJbmNsdWRlLyQkbmFtZS5lcnIgZXJyb3IuJCRuYW1lIDsgXAorCSAgICAgIGRpZmYgJChzcmNkaXIpL3Jlc3VsdC9YSW5jbHVkZS8kJG5hbWUucmRyIHJlc3VsdC4kJG5hbWVgIDsgXAorCSAgICAgIGlmIFsgLW4gIiQkbG9nIiBdIDsgdGhlbiBlY2hvICQkbmFtZSByZXN1bHQgOyBlY2hvICQkbG9nIDsgZmkgOyBcCisJICAgICAgcm0gcmVzdWx0LiQkbmFtZSBlcnJvci4kJG5hbWUgOyBcCisJICBmaSA7IGZpIDsgZG9uZSkKKwktQChmb3IgaSBpbiAkKHNyY2RpcikvdGVzdC9YSW5jbHVkZS9kb2NzLyogOyBkbyBcCisJICBuYW1lPWBiYXNlbmFtZSAkJGlgOyBcCisJICBpZiBbICEgLWQgJCRpIF0gOyB0aGVuIFwKKwkgIGlmIFsgISAtZiAkKHNyY2RpcikvcmVzdWx0L1hJbmNsdWRlLyQkbmFtZS5yZHIgXSA7IHRoZW4gXAorCSAgICAgIGVjaG8gTmV3IHRlc3QgZmlsZSAkJG5hbWUgOyBcCisJICAgICAgJChDSEVDS0VSKSAkKHRvcF9idWlsZGRpcikveG1sbGludCAtLW5vd2FybmluZyAtLW5veGluY2x1ZGVub2RlIC0tc3RyZWFtIC0tZGVidWcgJCRpID4gJChzcmNkaXIpL3Jlc3VsdC9YSW5jbHVkZS8kJG5hbWUucmRyIDsgXAorCSAgICAgIGdyZXAgIk1PUlkgQUxMTyIgLm1lbWR1bXAgIHwgZ3JlcCAtdiAiTUVNT1JZIEFMTE9DQVRFRCA6IDAiO1wKKwkgIGVsc2UgXAorCSAgICAgIGxvZz1gJChDSEVDS0VSKSAkKHRvcF9idWlsZGRpcikveG1sbGludCAtLW5vd2FybmluZyAtLXhpbmNsdWRlIC0tc3RyZWFtIC0tZGVidWcgJCRpID4gcmVzdWx0LiQkbmFtZSAyPmVycm9yLiQkbmFtZSA7IFwKKwkgICAgICBncmVwICJNT1JZIEFMTE8iIC5tZW1kdW1wICB8IGdyZXAgLXYgIk1FTU9SWSBBTExPQ0FURUQgOiAwIjtcCisJICAgICAgZGlmZiAkKHNyY2RpcikvcmVzdWx0L1hJbmNsdWRlLyQkbmFtZS5lcnIgZXJyb3IuJCRuYW1lIDsgXAorCSAgICAgIGRpZmYgJChzcmNkaXIpL3Jlc3VsdC9YSW5jbHVkZS8kJG5hbWUucmRyIHJlc3VsdC4kJG5hbWVgIDsgXAorCSAgICAgIGlmIFsgLW4gIiQkbG9nIiBdIDsgdGhlbiBlY2hvICQkbmFtZSByZXN1bHQgOyBlY2hvICQkbG9nIDsgZmkgOyBcCisJICAgICAgcm0gcmVzdWx0LiQkbmFtZSBlcnJvci4kJG5hbWUgOyBcCisJICBmaSA7IGZpIDsgZG9uZSkKKworU2NyaXB0dGVzdHMgOiB4bWxsaW50JChFWEVFWFQpCisJQChlY2hvID4gLm1lbWR1bXApCisJQGVjaG8gIiMjIFNjcmlwdHMgcmVncmVzc2lvbiB0ZXN0cyIKKwlAZWNobyAiIyMgU29tZSBvZiB0aGUgYmFzZSBjb21wdXRhdGlvbnMgbWF5IGJlIGRpZmZlcmVudCBpZiBzcmNkaXIgIT0gLiIKKwktQChmb3IgaSBpbiAkKHNyY2RpcikvdGVzdC9zY3JpcHRzLyouc2NyaXB0IDsgZG8gXAorCSAgbmFtZT1gYmFzZW5hbWUgJCRpIC5zY3JpcHRgOyBcCisJICB4bWw9JChzcmNkaXIpL3Rlc3Qvc2NyaXB0cy9gYmFzZW5hbWUgJCRpIC5zY3JpcHRgLnhtbDsgXAorCSAgaWYgWyAtZiAkJHhtbCBdIDsgdGhlbiBcCisJICBpZiBbICEgLWYgJChzcmNkaXIpL3Jlc3VsdC9zY3JpcHRzLyQkbmFtZSBdIDsgdGhlbiBcCisJICAgICAgZWNobyBOZXcgdGVzdCBmaWxlICQkbmFtZSA7IFwKKwkgICAgICAkKENIRUNLRVIpICQodG9wX2J1aWxkZGlyKS94bWxsaW50IC0tc2hlbGwgJCR4bWwgPCAkJGkgPiAkKHNyY2RpcikvcmVzdWx0L3NjcmlwdHMvJCRuYW1lIDI+ICQoc3JjZGlyKS9yZXN1bHQvc2NyaXB0cy8kJG5hbWUuZXJyIDsgXAorCSAgICAgIGdyZXAgIk1PUlkgQUxMTyIgLm1lbWR1bXAgIHwgZ3JlcCAtdiAiTUVNT1JZIEFMTE9DQVRFRCA6IDAiO1wKKwkgIGVsc2UgXAorCSAgICAgIGxvZz1gJChDSEVDS0VSKSAkKHRvcF9idWlsZGRpcikveG1sbGludCAtLXNoZWxsICQkeG1sIDwgJCRpID4gcmVzdWx0LiQkbmFtZSAyPiByZXN1bHQuJCRuYW1lLmVyciA7IFwKKwkgICAgICBncmVwICJNT1JZIEFMTE8iIC5tZW1kdW1wICB8IGdyZXAgLXYgIk1FTU9SWSBBTExPQ0FURUQgOiAwIjtcCisJICAgICAgZGlmZiAkKHNyY2RpcikvcmVzdWx0L3NjcmlwdHMvJCRuYW1lIHJlc3VsdC4kJG5hbWUgOyBcCisJICAgICAgZGlmZiAkKHNyY2RpcikvcmVzdWx0L3NjcmlwdHMvJCRuYW1lLmVyciByZXN1bHQuJCRuYW1lLmVycmAgOyBcCisJICAgICAgaWYgWyAtbiAiJCRsb2ciIF0gOyB0aGVuIGVjaG8gJCRuYW1lIHJlc3VsdCA7IGVjaG8gJCRsb2cgOyBmaSA7IFwKKwkgICAgICBybSByZXN1bHQuJCRuYW1lIHJlc3VsdC4kJG5hbWUuZXJyIDsgXAorCSAgZmkgOyBmaSA7IGRvbmUpCisKK0NhdGF0ZXN0cyA6IHhtbGNhdGFsb2ckKEVYRUVYVCkKKwlAKGVjaG8gPiAubWVtZHVtcCkKKwlAZWNobyAiIyMgQ2F0YWxvZyByZWdyZXNzaW9uIHRlc3RzIgorCS1AKGZvciBpIGluICQoc3JjZGlyKS90ZXN0L2NhdGFsb2dzLyouc2NyaXB0IDsgZG8gXAorCSAgbmFtZT1gYmFzZW5hbWUgJCRpIC5zY3JpcHRgOyBcCisJICB4bWw9JChzcmNkaXIpL3Rlc3QvY2F0YWxvZ3MvYGJhc2VuYW1lICQkaSAuc2NyaXB0YC54bWw7IFwKKwkgIGlmIFsgLWYgJCR4bWwgXSA7IHRoZW4gXAorCSAgaWYgWyAhIC1mICQoc3JjZGlyKS9yZXN1bHQvY2F0YWxvZ3MvJCRuYW1lIF0gOyB0aGVuIFwKKwkgICAgICBlY2hvIE5ldyB0ZXN0IGZpbGUgJCRuYW1lIDsgXAorCSAgICAgICQoQ0hFQ0tFUikgJCh0b3BfYnVpbGRkaXIpL3htbGNhdGFsb2cgLS1zaGVsbCAkJHhtbCA8ICQkaSAyPiYxID4gJChzcmNkaXIpL3Jlc3VsdC9jYXRhbG9ncy8kJG5hbWUgOyBcCisJICAgICAgZ3JlcCAiTU9SWSBBTExPIiAubWVtZHVtcCAgfCBncmVwIC12ICJNRU1PUlkgQUxMT0NBVEVEIDogMCI7XAorCSAgZWxzZSBcCisJICAgICAgbG9nPWAkKENIRUNLRVIpICQodG9wX2J1aWxkZGlyKS94bWxjYXRhbG9nIC0tc2hlbGwgJCR4bWwgPCAkJGkgMj4mMSA+IHJlc3VsdC4kJG5hbWUgOyBcCisJICAgICAgZ3JlcCAiTU9SWSBBTExPIiAubWVtZHVtcCAgfCBncmVwIC12ICJNRU1PUlkgQUxMT0NBVEVEIDogMCI7XAorCSAgICAgIGRpZmYgJChzcmNkaXIpL3Jlc3VsdC9jYXRhbG9ncy8kJG5hbWUgcmVzdWx0LiQkbmFtZWAgOyBcCisJICAgICAgaWYgWyAtbiAiJCRsb2ciIF0gOyB0aGVuIGVjaG8gJCRuYW1lIHJlc3VsdCA7IGVjaG8gJCRsb2cgOyBmaSA7IFwKKwkgICAgICBybSByZXN1bHQuJCRuYW1lIDsgXAorCSAgZmkgOyBmaSA7IGRvbmUpCisJLUAoZm9yIGkgaW4gJChzcmNkaXIpL3Rlc3QvY2F0YWxvZ3MvKi5zY3JpcHQgOyBkbyBcCisJICBuYW1lPWBiYXNlbmFtZSAkJGkgLnNjcmlwdGA7IFwKKwkgIHNnbWw9JChzcmNkaXIpL3Rlc3QvY2F0YWxvZ3MvYGJhc2VuYW1lICQkaSAuc2NyaXB0YC5zZ21sOyBcCisJICBpZiBbIC1mICQkc2dtbCBdIDsgdGhlbiBcCisJICBpZiBbICEgLWYgJChzcmNkaXIpL3Jlc3VsdC9jYXRhbG9ncy8kJG5hbWUgXSA7IHRoZW4gXAorCSAgICAgIGVjaG8gTmV3IHRlc3QgZmlsZSAkJG5hbWUgOyBcCisJICAgICAgJChDSEVDS0VSKSAkKHRvcF9idWlsZGRpcikveG1sY2F0YWxvZyAtLXNoZWxsICQkc2dtbCA8ICQkaSA+ICQoc3JjZGlyKS9yZXN1bHQvY2F0YWxvZ3MvJCRuYW1lIDsgXAorCSAgICAgIGdyZXAgIk1PUlkgQUxMTyIgLm1lbWR1bXAgIHwgZ3JlcCAtdiAiTUVNT1JZIEFMTE9DQVRFRCA6IDAiO1wKKwkgIGVsc2UgXAorCSAgICAgIGxvZz1gJChDSEVDS0VSKSAkKHRvcF9idWlsZGRpcikveG1sY2F0YWxvZyAtLXNoZWxsICQkc2dtbCA8ICQkaSA+IHJlc3VsdC4kJG5hbWUgOyBcCisJICAgICAgZ3JlcCAiTU9SWSBBTExPIiAubWVtZHVtcCAgfCBncmVwIC12ICJNRU1PUlkgQUxMT0NBVEVEIDogMCI7XAorCSAgICAgIGRpZmYgJChzcmNkaXIpL3Jlc3VsdC9jYXRhbG9ncy8kJG5hbWUgcmVzdWx0LiQkbmFtZWAgOyBcCisJICAgICAgaWYgWyAtbiAiJCRsb2ciIF0gOyB0aGVuIGVjaG8gJCRuYW1lIHJlc3VsdCA7IGVjaG8gJCRsb2cgOyBmaSA7IFwKKwkgICAgICBybSByZXN1bHQuJCRuYW1lIDsgXAorCSAgZmkgOyBmaSA7IGRvbmUpCisJQGVjaG8gIiMjIEFkZCBhbmQgZGVsIG9wZXJhdGlvbnMgb24gWE1MIENhdGFsb2dzIgorCS1AKCQoQ0hFQ0tFUikgJCh0b3BfYnVpbGRkaXIpL3htbGNhdGFsb2cgLS1jcmVhdGUgLS1ub291dCAkKHNyY2RpcikvcmVzdWx0L2NhdGFsb2dzL215Y2F0YWxvZzsgXAorCWdyZXAgIk1PUlkgQUxMTyIgLm1lbWR1bXAgIHwgZ3JlcCAtdiAiTUVNT1JZIEFMTE9DQVRFRCA6IDAiOyBcCisJJChDSEVDS0VSKSAkKHRvcF9idWlsZGRpcikveG1sY2F0YWxvZyAtLW5vb3V0IC0tYWRkIHB1YmxpYyBQdWJpZCBzeXNpZCAkKHNyY2RpcikvcmVzdWx0L2NhdGFsb2dzL215Y2F0YWxvZzsgXAorCWdyZXAgIk1PUlkgQUxMTyIgLm1lbWR1bXAgIHwgZ3JlcCAtdiAiTUVNT1JZIEFMTE9DQVRFRCA6IDAiOyBcCisJJChDSEVDS0VSKSAkKHRvcF9idWlsZGRpcikveG1sY2F0YWxvZyAtLW5vb3V0IC0tYWRkIHB1YmxpYyBQdWJpZDIgc3lzaWQyICQoc3JjZGlyKS9yZXN1bHQvY2F0YWxvZ3MvbXljYXRhbG9nOyBcCisJZ3JlcCAiTU9SWSBBTExPIiAubWVtZHVtcCAgfCBncmVwIC12ICJNRU1PUlkgQUxMT0NBVEVEIDogMCI7IFwKKwkkKENIRUNLRVIpICQodG9wX2J1aWxkZGlyKS94bWxjYXRhbG9nIC0tbm9vdXQgLS1hZGQgcHVibGljIFB1YmlkMyBzeXNpZDMgJChzcmNkaXIpL3Jlc3VsdC9jYXRhbG9ncy9teWNhdGFsb2c7IFwKKwlncmVwICJNT1JZIEFMTE8iIC5tZW1kdW1wICB8IGdyZXAgLXYgIk1FTU9SWSBBTExPQ0FURUQgOiAwIjsgXAorCWRpZmYgcmVzdWx0L2NhdGFsb2dzL215Y2F0YWxvZy5mdWxsICQoc3JjZGlyKS9yZXN1bHQvY2F0YWxvZ3MvbXljYXRhbG9nOyBcCisJZ3JlcCAiTU9SWSBBTExPIiAubWVtZHVtcCAgfCBncmVwIC12ICJNRU1PUlkgQUxMT0NBVEVEIDogMCI7IFwKKwkkKENIRUNLRVIpICQodG9wX2J1aWxkZGlyKS94bWxjYXRhbG9nIC0tbm9vdXQgLS1kZWwgc3lzaWQgJChzcmNkaXIpL3Jlc3VsdC9jYXRhbG9ncy9teWNhdGFsb2c7IFwKKwlncmVwICJNT1JZIEFMTE8iIC5tZW1kdW1wICB8IGdyZXAgLXYgIk1FTU9SWSBBTExPQ0FURUQgOiAwIjsgXAorCSQoQ0hFQ0tFUikgJCh0b3BfYnVpbGRkaXIpL3htbGNhdGFsb2cgLS1ub291dCAtLWRlbCBzeXNpZDMgJChzcmNkaXIpL3Jlc3VsdC9jYXRhbG9ncy9teWNhdGFsb2c7IFwKKwlncmVwICJNT1JZIEFMTE8iIC5tZW1kdW1wICB8IGdyZXAgLXYgIk1FTU9SWSBBTExPQ0FURUQgOiAwIjsgXAorCSQoQ0hFQ0tFUikgJCh0b3BfYnVpbGRkaXIpL3htbGNhdGFsb2cgLS1ub291dCAtLWRlbCBzeXNpZDIgJChzcmNkaXIpL3Jlc3VsdC9jYXRhbG9ncy9teWNhdGFsb2c7IFwKKwlncmVwICJNT1JZIEFMTE8iIC5tZW1kdW1wICB8IGdyZXAgLXYgIk1FTU9SWSBBTExPQ0FURUQgOiAwIjsgXAorCWRpZmYgcmVzdWx0L2NhdGFsb2dzL215Y2F0YWxvZy5lbXB0eSAkKHNyY2RpcikvcmVzdWx0L2NhdGFsb2dzL215Y2F0YWxvZzsgXAorCWdyZXAgIk1PUlkgQUxMTyIgLm1lbWR1bXAgIHwgZ3JlcCAtdiAiTUVNT1JZIEFMTE9DQVRFRCA6IDAiOyBcCisJcm0gLWYgJChzcmNkaXIpL3Jlc3VsdC9jYXRhbG9ncy9teWNhdGFsb2cpCisKK1NWR3Rlc3RzIDogeG1sbGludCQoRVhFRVhUKQorCUBlY2hvICIjIyBTVkcgcGFyc2luZyByZWdyZXNzaW9uIHRlc3RzIgorCS1AKGZvciBpIGluICQoc3JjZGlyKS90ZXN0L1NWRy8qIDsgZG8gXAorCSAgbmFtZT1gYmFzZW5hbWUgJCRpYDsgXAorCSAgaWYgWyAhIC1kICQkaSBdIDsgdGhlbiBcCisJICBpZiBbICEgLWYgJChzcmNkaXIpL3Jlc3VsdC9TVkcvJCRuYW1lIF0gOyB0aGVuIFwKKwkgICAgICBlY2hvIE5ldyB0ZXN0IGZpbGUgJCRuYW1lIDsgXAorCSAgICAgICQoQ0hFQ0tFUikgJCh0b3BfYnVpbGRkaXIpL3htbGxpbnQgJCRpID4gJChzcmNkaXIpL3Jlc3VsdC9TVkcvJCRuYW1lIDsgXAorCSAgICAgIGdyZXAgIk1PUlkgQUxMTyIgLm1lbWR1bXAgIHwgZ3JlcCAtdiAiTUVNT1JZIEFMTE9DQVRFRCA6IDAiO1wKKwkgIGVsc2UgXAorCSAgICAgIGVjaG8gVGVzdGluZyAkJG5hbWUgOyBcCisJICAgICAgJChDSEVDS0VSKSAkKHRvcF9idWlsZGRpcikveG1sbGludCAkJGkgPiByZXN1bHQuJCRuYW1lIDsgXAorCSAgICAgIGdyZXAgIk1PUlkgQUxMTyIgLm1lbWR1bXAgIHwgZ3JlcCAtdiAiTUVNT1JZIEFMTE9DQVRFRCA6IDAiO1wKKwkgICAgICBkaWZmICQoc3JjZGlyKS9yZXN1bHQvU1ZHLyQkbmFtZSByZXN1bHQuJCRuYW1lIDsgXAorCSAgICAgICQoQ0hFQ0tFUikgJCh0b3BfYnVpbGRkaXIpL3htbGxpbnQgcmVzdWx0LiQkbmFtZSA+IHJlc3VsdDIuJCRuYW1lIDsgXAorCSAgICAgIGdyZXAgIk1PUlkgQUxMTyIgLm1lbWR1bXAgIHwgZ3JlcCAtdiAiTUVNT1JZIEFMTE9DQVRFRCA6IDAiO1wKKwkgICAgICBkaWZmIHJlc3VsdC4kJG5hbWUgcmVzdWx0Mi4kJG5hbWUgOyBcCisJICAgICAgcm0gcmVzdWx0LiQkbmFtZSByZXN1bHQyLiQkbmFtZSA7IFwKKwkgIGZpIDsgZmkgOyBkb25lKQorCitUaHJlYWR0ZXN0cyA6IHRlc3RUaHJlYWRzJChFWEVFWFQpCisJQGVjaG8gIiMjIFRocmVhZGVkIHJlZ3Jlc3Npb24gdGVzdHMiCisJLUAoJChDSEVDS0VSKSAkKHRvcF9idWlsZGRpcikvdGVzdFRocmVhZHMgOyBcCisJICAgZ3JlcCAiTU9SWSBBTExPIiAubWVtZHVtcCAgfCBncmVwIC12ICJNRU1PUlkgQUxMT0NBVEVEIDogMCI7IFwKKwkgICBleGl0IDApCisKK1JlYWRlcnRlc3RzIDogeG1sbGludCQoRVhFRVhUKQorCUAoZWNobyA+IC5tZW1kdW1wKQorCUBlY2hvICIjIyBSZWFkZXIgcmVncmVzc2lvbiB0ZXN0cyIKKwktQChmb3IgaSBpbiAkKHNyY2RpcikvdGVzdC8qIDsgZG8gXAorCSAgbmFtZT1gYmFzZW5hbWUgJCRpYDsgXAorCSAgaWYgWyAhIC1kICQkaSBdIDsgdGhlbiBcCisJICBpZiBbICEgLWYgJChzcmNkaXIpL3Jlc3VsdC8kJG5hbWUucmRyIF0gOyB0aGVuIFwKKwkgICAgICBlY2hvIE5ldyB0ZXN0IGZpbGUgJCRuYW1lIDsgXAorCSAgICAgICQoQ0hFQ0tFUikgJCh0b3BfYnVpbGRkaXIpL3htbGxpbnQgLS1ub25ldCAtLWRlYnVnIC0tc3RyZWFtICQkaSA+ICQoc3JjZGlyKS9yZXN1bHQvJCRuYW1lLnJkciAyPi9kZXYvbnVsbCA7IFwKKwkgICAgICBncmVwICJNT1JZIEFMTE8iIC5tZW1kdW1wICB8IGdyZXAgLXYgIk1FTU9SWSBBTExPQ0FURUQgOiAwIjtcCisJICBlbHNlIFwKKwkgICAgICBsb2c9YCQoQ0hFQ0tFUikgJCh0b3BfYnVpbGRkaXIpL3htbGxpbnQgLS1ub25ldCAtLWRlYnVnIC0tc3RyZWFtICQkaSA+IHJlc3VsdC4kJG5hbWUgMj4vZGV2L251bGwgOyBcCisJICAgICAgZ3JlcCAiTU9SWSBBTExPIiAubWVtZHVtcCAgfCBncmVwIC12ICJNRU1PUlkgQUxMT0NBVEVEIDogMCI7XAorCSAgICAgIGRpZmYgJChzcmNkaXIpL3Jlc3VsdC8kJG5hbWUucmRyIHJlc3VsdC4kJG5hbWVgIDsgXAorCSAgICAgIGlmIFsgLW4gIiQkbG9nIiBdIDsgdGhlbiBlY2hvICQkbmFtZSByZXN1bHQgOyBlY2hvICQkbG9nIDsgZmkgOyBcCisJICAgICAgcm0gcmVzdWx0LiQkbmFtZSA7IFwKKwkgIGZpIDsgZmkgOyBkb25lKQorCUBlY2hvICIjIyBSZWFkZXIgb24gbWVtb3J5IHJlZ3Jlc3Npb24gdGVzdHMiCisJLUAoZm9yIGkgaW4gJChzcmNkaXIpL3Rlc3QvKiA7IGRvIFwKKwkgIG5hbWU9YGJhc2VuYW1lICQkaWA7IFwKKwkgIGlmIFsgISAtZCAkJGkgXSA7IHRoZW4gXAorCSAgaWYgWyAhIC1mICQoc3JjZGlyKS9yZXN1bHQvJCRuYW1lLnJkciBdIDsgdGhlbiBcCisJICAgICAgZWNobyBOZXcgdGVzdCBmaWxlICQkbmFtZSA7IFwKKwkgICAgICAkKENIRUNLRVIpICQodG9wX2J1aWxkZGlyKS94bWxsaW50IC0tbWVtb3J5IC0tbm9uZXQgLS1kZWJ1ZyAtLXN0cmVhbSAkJGkgPiAkKHNyY2RpcikvcmVzdWx0LyQkbmFtZS5yZHIgMj4vZGV2L251bGwgOyBcCisJICAgICAgZ3JlcCAiTU9SWSBBTExPIiAubWVtZHVtcCAgfCBncmVwIC12ICJNRU1PUlkgQUxMT0NBVEVEIDogMCI7XAorCSAgZWxzZSBcCisJICAgICAgbG9nPWAkKENIRUNLRVIpICQodG9wX2J1aWxkZGlyKS94bWxsaW50IC0tbWVtb3J5IC0tbm9uZXQgLS1kZWJ1ZyAtLXN0cmVhbSAkJGkgPiByZXN1bHQuJCRuYW1lIDI+L2Rldi9udWxsIDsgXAorCSAgICAgIGdyZXAgIk1PUlkgQUxMTyIgLm1lbWR1bXAgIHwgZ3JlcCAtdiAiTUVNT1JZIEFMTE9DQVRFRCA6IDAiO1wKKwkgICAgICBkaWZmICQoc3JjZGlyKS9yZXN1bHQvJCRuYW1lLnJkciByZXN1bHQuJCRuYW1lYCA7IFwKKwkgICAgICBpZiBbIC1uICIkJGxvZyIgXSA7IHRoZW4gZWNobyAkJG5hbWUgcmVzdWx0IDsgZWNobyAkJGxvZyA7IGZpIDsgXAorCSAgICAgIHJtIHJlc3VsdC4kJG5hbWUgOyBcCisJICBmaSA7IGZpIDsgZG9uZSkKKwlAKGVjaG8gPiAubWVtZHVtcCkKKwlAZWNobyAiIyMgV2Fsa2VyIHJlZ3Jlc3Npb24gdGVzdHMiCisJLUAoZm9yIGkgaW4gJChzcmNkaXIpL3Rlc3QvKiA7IGRvIFwKKwkgIG5hbWU9YGJhc2VuYW1lICQkaWA7IFwKKwkgIGlmIFsgISAtZCAkJGkgXSA7IHRoZW4gXAorCSAgaWYgWyAhIC1mICQoc3JjZGlyKS9yZXN1bHQvJCRuYW1lLnJkciBdIDsgdGhlbiBcCisJICAgICAgZWNobyBOZXcgdGVzdCBmaWxlICQkbmFtZSA7IFwKKwkgICAgICAkKENIRUNLRVIpICQodG9wX2J1aWxkZGlyKS94bWxsaW50IC0tbm9uZXQgLS1kZWJ1ZyAtLXdhbGtlciAkJGkgPiAkKHNyY2RpcikvcmVzdWx0LyQkbmFtZS5yZHIgMj4vZGV2L251bGwgOyBcCisJICAgICAgZ3JlcCAiTU9SWSBBTExPIiAubWVtZHVtcCAgfCBncmVwIC12ICJNRU1PUlkgQUxMT0NBVEVEIDogMCI7XAorCSAgZWxzZSBcCisJICAgICAgbG9nPWAkKENIRUNLRVIpICQodG9wX2J1aWxkZGlyKS94bWxsaW50IC0tbm9uZXQgLS1kZWJ1ZyAtLXdhbGtlciAkJGkgPiByZXN1bHQuJCRuYW1lIDI+L2Rldi9udWxsIDsgXAorCSAgICAgIGdyZXAgIk1PUlkgQUxMTyIgLm1lbWR1bXAgIHwgZ3JlcCAtdiAiTUVNT1JZIEFMTE9DQVRFRCA6IDAiO1wKKwkgICAgICBkaWZmICQoc3JjZGlyKS9yZXN1bHQvJCRuYW1lLnJkciByZXN1bHQuJCRuYW1lYCA7IFwKKwkgICAgICBpZiBbIC1uICIkJGxvZyIgXSA7IHRoZW4gZWNobyAkJG5hbWUgcmVzdWx0IDsgZWNobyAkJGxvZyA7IGZpIDsgXAorCSAgICAgIHJtIHJlc3VsdC4kJG5hbWUgOyBcCisJICBmaSA7IGZpIDsgZG9uZSkKKwlAZWNobyAiIyMgUmVhZGVyIGVudGl0aWVzIHN1YnN0aXR1dGlvbiByZWdyZXNzaW9uIHRlc3RzIgorCS1AKGZvciBpIGluICQoc3JjZGlyKS90ZXN0LyogOyBkbyBcCisJICBuYW1lPWBiYXNlbmFtZSAkJGlgOyBcCisJICBpZiBbICEgLWQgJCRpIF0gOyB0aGVuIFwKKwkgIGlmIFsgISAtZiAkKHNyY2RpcikvcmVzdWx0LyQkbmFtZS5yZGUgXSA7IHRoZW4gXAorCSAgICAgIGVjaG8gTmV3IHRlc3QgZmlsZSAkJG5hbWUgOyBcCisJICAgICAgJChDSEVDS0VSKSAkKHRvcF9idWlsZGRpcikveG1sbGludCAtLW5vZW50IC0tbm9uZXQgLS1kZWJ1ZyAtLXN0cmVhbSAkJGkgPiAkKHNyY2RpcikvcmVzdWx0LyQkbmFtZS5yZGUgMj4vZGV2L251bGwgOyBcCisJICAgICAgZ3JlcCAiTU9SWSBBTExPIiAubWVtZHVtcCAgfCBncmVwIC12ICJNRU1PUlkgQUxMT0NBVEVEIDogMCI7XAorCSAgZWxzZSBcCisJICAgICAgbG9nPWAkKENIRUNLRVIpICQodG9wX2J1aWxkZGlyKS94bWxsaW50IC0tbm9lbnQgLS1ub25ldCAtLWRlYnVnIC0tc3RyZWFtICQkaSA+IHJlc3VsdC4kJG5hbWUgMj4vZGV2L251bGwgOyBcCisJICAgICAgZ3JlcCAiTU9SWSBBTExPIiAubWVtZHVtcCAgfCBncmVwIC12ICJNRU1PUlkgQUxMT0NBVEVEIDogMCI7XAorCSAgICAgIGRpZmYgJChzcmNkaXIpL3Jlc3VsdC8kJG5hbWUucmRlIHJlc3VsdC4kJG5hbWVgIDsgXAorCSAgICAgIGlmIFsgLW4gIiQkbG9nIiBdIDsgdGhlbiBlY2hvICQkbmFtZSByZXN1bHQgOyBlY2hvICQkbG9nIDsgZmkgOyBcCisJICAgICAgcm0gcmVzdWx0LiQkbmFtZSA7IFwKKwkgIGZpIDsgZmkgOyBkb25lKQorCitTQVh0ZXN0cyA6IHRlc3RTQVgkKEVYRUVYVCkKKwlAKGVjaG8gPiAubWVtZHVtcCkKKwlAZWNobyAiIyMgU0FYMSBjYWxsYmFja3MgcmVncmVzc2lvbiB0ZXN0cyIKKwktQChmb3IgaSBpbiAkKHNyY2RpcikvdGVzdC8qIDsgZG8gXAorCSAgbmFtZT1gYmFzZW5hbWUgJCRpYDsgXAorCSAgaWYgWyAhIC1kICQkaSBdIDsgdGhlbiBcCisJICBpZiBbICEgLWYgJChzcmNkaXIpL3Jlc3VsdC8kJG5hbWUuc2F4IF0gOyB0aGVuIFwKKwkgICAgICBlY2hvIE5ldyB0ZXN0IGZpbGUgJCRuYW1lIDsgXAorCSAgICAgICQoQ0hFQ0tFUikgJCh0b3BfYnVpbGRkaXIpL3Rlc3RTQVggJCRpID4gJChzcmNkaXIpL3Jlc3VsdC8kJG5hbWUuc2F4IDI+IC9kZXYvbnVsbCA7IFwKKwkgICAgICBncmVwICJNT1JZIEFMTE8iIC5tZW1kdW1wICB8IGdyZXAgLXYgIk1FTU9SWSBBTExPQ0FURUQgOiAwIjtcCisJICBlbHNlIFwKKwkgICAgICBsb2c9YCQoQ0hFQ0tFUikgJCh0b3BfYnVpbGRkaXIpL3Rlc3RTQVggJCRpID4gcmVzdWx0LiQkbmFtZSAyPiAvZGV2L251bGwgOyBcCisJICAgICAgZ3JlcCAiTU9SWSBBTExPIiAubWVtZHVtcCAgfCBncmVwIC12ICJNRU1PUlkgQUxMT0NBVEVEIDogMCI7XAorCSAgICAgIGRpZmYgJChzcmNkaXIpL3Jlc3VsdC8kJG5hbWUuc2F4IHJlc3VsdC4kJG5hbWVgIDsgXAorCSAgICAgIGlmIFsgLW4gIiQkbG9nIiBdIDsgdGhlbiBlY2hvICQkbmFtZSByZXN1bHQgOyBlY2hvICQkbG9nIDsgZmkgOyBcCisJICAgICAgcm0gcmVzdWx0LiQkbmFtZSA7IFwKKwkgIGZpIDsgZmkgOyBkb25lKQorCUBlY2hvICIjIyBTQVgyIGNhbGxiYWNrcyByZWdyZXNzaW9uIHRlc3RzIgorCS1AKGZvciBpIGluICQoc3JjZGlyKS90ZXN0LyogOyBkbyBcCisJICBuYW1lPWBiYXNlbmFtZSAkJGlgOyBcCisJICBpZiBbICEgLWQgJCRpIF0gOyB0aGVuIFwKKwkgIGlmIFsgISAtZiAkKHNyY2RpcikvcmVzdWx0LyQkbmFtZS5zYXgyIF0gOyB0aGVuIFwKKwkgICAgICBlY2hvIE5ldyB0ZXN0IGZpbGUgJCRuYW1lIDsgXAorCSAgICAgICQoQ0hFQ0tFUikgJCh0b3BfYnVpbGRkaXIpL3Rlc3RTQVggLS1zYXgyICQkaSA+ICQoc3JjZGlyKS9yZXN1bHQvJCRuYW1lLnNheDIgMj4gL2Rldi9udWxsIDsgXAorCSAgICAgIGdyZXAgIk1PUlkgQUxMTyIgLm1lbWR1bXAgIHwgZ3JlcCAtdiAiTUVNT1JZIEFMTE9DQVRFRCA6IDAiO1wKKwkgIGVsc2UgXAorCSAgICAgIGxvZz1gJChDSEVDS0VSKSAkKHRvcF9idWlsZGRpcikvdGVzdFNBWCAtLXNheDIgJCRpID4gcmVzdWx0LiQkbmFtZSAyPiAvZGV2L251bGwgOyBcCisJICAgICAgZ3JlcCAiTU9SWSBBTExPIiAubWVtZHVtcCAgfCBncmVwIC12ICJNRU1PUlkgQUxMT0NBVEVEIDogMCI7XAorCSAgICAgIGRpZmYgJChzcmNkaXIpL3Jlc3VsdC8kJG5hbWUuc2F4MiByZXN1bHQuJCRuYW1lYCA7IFwKKwkgICAgICBpZiBbIC1uICIkJGxvZyIgXSA7IHRoZW4gZWNobyAkJG5hbWUgcmVzdWx0IDsgZWNobyAkJGxvZyA7IGZpIDsgXAorCSAgICAgIHJtIHJlc3VsdC4kJG5hbWUgOyBcCisJICBmaSA7IGZpIDsgZG9uZSkKKworVmFsaWR0ZXN0cyA6IHhtbGxpbnQkKEVYRUVYVCkKKwlAKGVjaG8gPiAubWVtZHVtcCkKKwlAZWNobyAiIyMgVmFsaWQgZG9jdW1lbnRzIHJlZ3Jlc3Npb24gdGVzdHMiCisJLUAoZm9yIGkgaW4gJChzcmNkaXIpL3Rlc3QvVkNNLyogOyBkbyBcCisJICBuYW1lPWBiYXNlbmFtZSAkJGlgOyBcCisJICBpZiBbICEgLWQgJCRpIF0gOyB0aGVuIFwKKwkgICAgICBsb2c9YCQoQ0hFQ0tFUikgJCh0b3BfYnVpbGRkaXIpL3htbGxpbnQgLS12YWxpZCAtLW5vb3V0IC0tbm93YXJuaW5nICQkaSA7IFwKKwkgICAgICBncmVwICJNT1JZIEFMTE8iIC5tZW1kdW1wICB8IGdyZXAgLXYgIk1FTU9SWSBBTExPQ0FURUQgOiAwImA7XAorCSAgICAgIGlmIFsgLW4gIiQkbG9nIiBdIDsgdGhlbiBlY2hvICQkbmFtZSByZXN1bHQgOyBlY2hvICQkbG9nIDsgZmkgOyBcCisJICBmaSA7IGRvbmUgOyBleGl0IDApCisJQGVjaG8gIiMjIFZhbGlkaXR5IGNoZWNraW5nIHJlZ3Jlc3Npb24gdGVzdHMiCisJLUAoZm9yIGkgaW4gJChzcmNkaXIpL3Rlc3QvVkMvKiA7IGRvIFwKKwkgIG5hbWU9YGJhc2VuYW1lICQkaWA7IFwKKwkgIGlmIFsgISAtZCAkJGkgXSA7IHRoZW4gXAorCSAgaWYgWyAhIC1mICQoc3JjZGlyKS9yZXN1bHQvVkMvJCRuYW1lIF0gOyB0aGVuIFwKKwkgICAgICBlY2hvIE5ldyB0ZXN0IGZpbGUgJCRuYW1lIDsgXAorCSAgICAgICQoQ0hFQ0tFUikgJCh0b3BfYnVpbGRkaXIpL3htbGxpbnQgLS1ub291dCAtLXZhbGlkICQkaSAyPiAkKHNyY2RpcikvcmVzdWx0L1ZDLyQkbmFtZSA7IFwKKwkgICAgICBncmVwICJNT1JZIEFMTE8iIC5tZW1kdW1wICB8IGdyZXAgLXYgIk1FTU9SWSBBTExPQ0FURUQgOiAwIjtcCisJICBlbHNlIFwKKwkgICAgICBsb2c9YCQoQ0hFQ0tFUikgJCh0b3BfYnVpbGRkaXIpL3htbGxpbnQgLS1ub291dCAtLXZhbGlkICQkaSAyPiByZXN1bHQuJCRuYW1lIDsgXAorCSAgICAgIGdyZXAgIk1PUlkgQUxMTyIgLm1lbWR1bXAgIHwgZ3JlcCAtdiAiTUVNT1JZIEFMTE9DQVRFRCA6IDAiO1wKKwkgICAgICBkaWZmICQoc3JjZGlyKS9yZXN1bHQvVkMvJCRuYW1lIHJlc3VsdC4kJG5hbWVgIDsgXAorCSAgICAgIGlmIFsgLW4gIiQkbG9nIiBdIDsgdGhlbiBlY2hvICQkbmFtZSByZXN1bHQgOyBlY2hvICQkbG9nIDsgZmkgOyBcCisJICAgICAgcm0gcmVzdWx0LiQkbmFtZSA7IFwKKwkgIGZpIDsgZmkgOyBkb25lKQorCUBlY2hvICIjIyBHZW5lcmFsIGRvY3VtZW50cyB2YWxpZCByZWdyZXNzaW9uIHRlc3RzIgorCS1AKGZvciBpIGluICQoc3JjZGlyKS90ZXN0L3ZhbGlkLyogOyBkbyBcCisJICBuYW1lPWBiYXNlbmFtZSAkJGlgOyBcCisJICBpZiBbICEgLWQgJCRpIF0gOyB0aGVuIFwKKwkgIGlmIFsgISAtZiAkKHNyY2RpcikvcmVzdWx0L3ZhbGlkLyQkbmFtZSBdIDsgdGhlbiBcCisJICAgICAgZWNobyBOZXcgdGVzdCBmaWxlICQkbmFtZSA7IFwKKwkgICAgICAkKENIRUNLRVIpICQodG9wX2J1aWxkZGlyKS94bWxsaW50IC0tdmFsaWQgJCRpID4gJChzcmNkaXIpL3Jlc3VsdC92YWxpZC8kJG5hbWUgMj4kKHNyY2RpcikvcmVzdWx0L3ZhbGlkLyQkbmFtZS5lcnIgOyBcCisJICAgICAgZ3JlcCAiTU9SWSBBTExPIiAubWVtZHVtcCAgfCBncmVwIC12ICJNRU1PUlkgQUxMT0NBVEVEIDogMCI7XAorCSAgZWxzZSBcCisJICAgICAgbG9nPWAkKENIRUNLRVIpICQodG9wX2J1aWxkZGlyKS94bWxsaW50IC0tdmFsaWQgJCRpID4gcmVzdWx0LiQkbmFtZSAyPmVycm9yLiQkbmFtZSA7IFwKKwkgICAgICBncmVwICJNT1JZIEFMTE8iIC5tZW1kdW1wICB8IGdyZXAgLXYgIk1FTU9SWSBBTExPQ0FURUQgOiAwIjtcCisJICAgICAgZGlmZiAkKHNyY2RpcikvcmVzdWx0L3ZhbGlkLyQkbmFtZSByZXN1bHQuJCRuYW1lIDsgXAorCSAgICAgIGRpZmYgJChzcmNkaXIpL3Jlc3VsdC92YWxpZC8kJG5hbWUuZXJyIGVycm9yLiQkbmFtZWAgOyBcCisJICAgICAgaWYgWyAtbiAiJCRsb2ciIF0gOyB0aGVuIGVjaG8gJCRuYW1lIHJlc3VsdCA7IGVjaG8gJCRsb2cgOyBmaSA7IFwKKwkgICAgICBybSByZXN1bHQuJCRuYW1lIGVycm9yLiQkbmFtZSA7IFwKKwkgIGZpIDsgZmkgOyBkb25lKQorCitSZWdleHB0ZXN0czogdGVzdFJlZ2V4cCQoRVhFRVhUKQorCUAoZWNobyA+IC5tZW1kdW1wKQorCUBlY2hvICIjIyBSZWdleHAgcmVncmVzc2lvbiB0ZXN0cyIKKwktQChmb3IgaSBpbiAkKHNyY2RpcikvdGVzdC9yZWdleHAvKiA7IGRvIFwKKwkgIG5hbWU9YGJhc2VuYW1lICQkaWA7IFwKKwkgIGlmIFsgISAtZCAkJGkgXSA7IHRoZW4gXAorCSAgaWYgWyAhIC1mICQoc3JjZGlyKS9yZXN1bHQvcmVnZXhwLyQkbmFtZSBdIDsgdGhlbiBcCisJICAgICAgZWNobyBOZXcgdGVzdCBmaWxlICQkbmFtZSA7IFwKKwkgICAgICAkKENIRUNLRVIpICQodG9wX2J1aWxkZGlyKS90ZXN0UmVnZXhwIC1pICQkaSA+ICQoc3JjZGlyKS9yZXN1bHQvcmVnZXhwLyQkbmFtZTsgXAorCSAgICAgIGdyZXAgIk1PUlkgQUxMTyIgLm1lbWR1bXAgIHwgZ3JlcCAtdiAiTUVNT1JZIEFMTE9DQVRFRCA6IDAiO1wKKwkgIGVsc2UgXAorCSAgICAgIGxvZz1gJChDSEVDS0VSKSAkKHRvcF9idWlsZGRpcikvdGVzdFJlZ2V4cCAtaSAkJGkgMj4mMSA+IHJlc3VsdC4kJG5hbWUgOyBcCisJICAgICAgZ3JlcCAiTU9SWSBBTExPIiAubWVtZHVtcCAgfCBncmVwIC12ICJNRU1PUlkgQUxMT0NBVEVEIDogMCI7XAorCSAgICAgIGRpZmYgJChzcmNkaXIpL3Jlc3VsdC9yZWdleHAvJCRuYW1lIHJlc3VsdC4kJG5hbWVgIDsgXAorCSAgICAgIGlmIFsgLW4gIiQkbG9nIiBdIDsgdGhlbiBlY2hvICQkbmFtZSByZXN1bHQgOyBlY2hvICQkbG9nIDsgZmkgOyBcCisJICAgICAgcm0gcmVzdWx0LiQkbmFtZSA7IFwKKwkgIGZpIDsgZmkgOyBkb25lKQorCUBlY2hvICIjIyBGb3JtYWwgZXhwcmVzc3Npb25zIHJlZ3Jlc3Npb24gdGVzdHMiCisJLUAoZm9yIGkgaW4gJChzcmNkaXIpL3Rlc3QvZXhwci8qIDsgZG8gXAorCSAgbmFtZT1gYmFzZW5hbWUgJCRpYDsgXAorCSAgaWYgWyAhIC1kICQkaSBdIDsgdGhlbiBcCisJICBpZiBbICEgLWYgJChzcmNkaXIpL3Jlc3VsdC9leHByLyQkbmFtZSBdIDsgdGhlbiBcCisJICAgICAgZWNobyBOZXcgdGVzdCBmaWxlICQkbmFtZSA7IFwKKwkgICAgICAkKENIRUNLRVIpICQodG9wX2J1aWxkZGlyKS90ZXN0UmVnZXhwIC0tZXhwciAtaSAkJGkgPiAkKHNyY2RpcikvcmVzdWx0L2V4cHIvJCRuYW1lOyBcCisJICAgICAgZ3JlcCAiTU9SWSBBTExPIiAubWVtZHVtcCAgfCBncmVwIC12ICJNRU1PUlkgQUxMT0NBVEVEIDogMCI7XAorCSAgZWxzZSBcCisJICAgICAgbG9nPWAkKENIRUNLRVIpICQodG9wX2J1aWxkZGlyKS90ZXN0UmVnZXhwIC0tZXhwciAtaSAkJGkgMj4mMSA+IHJlc3VsdC4kJG5hbWUgOyBcCisJICAgICAgZ3JlcCAiTU9SWSBBTExPIiAubWVtZHVtcCAgfCBncmVwIC12ICJNRU1PUlkgQUxMT0NBVEVEIDogMCI7XAorCSAgICAgIGRpZmYgJChzcmNkaXIpL3Jlc3VsdC9leHByLyQkbmFtZSByZXN1bHQuJCRuYW1lYCA7IFwKKwkgICAgICBpZiBbIC1uICIkJGxvZyIgXSA7IHRoZW4gZWNobyAkJG5hbWUgcmVzdWx0IDsgZWNobyAkJGxvZyA7IGZpIDsgXAorCSAgICAgIHJtIHJlc3VsdC4kJG5hbWUgOyBcCisJICBmaSA7IGZpIDsgZG9uZSkKKworQXV0b21hdGF0ZXN0czogdGVzdEF1dG9tYXRhJChFWEVFWFQpCisJQChlY2hvID4gLm1lbWR1bXApCisJQGVjaG8gIiMjIEF1dG9tYXRhIHJlZ3Jlc3Npb24gdGVzdHMiCisJLUAoZm9yIGkgaW4gJChzcmNkaXIpL3Rlc3QvYXV0b21hdGEvKiA7IGRvIFwKKwkgIG5hbWU9YGJhc2VuYW1lICQkaWA7IFwKKwkgIGlmIFsgISAtZCAkJGkgXSA7IHRoZW4gXAorCSAgaWYgWyAhIC1mICQoc3JjZGlyKS9yZXN1bHQvYXV0b21hdGEvJCRuYW1lIF0gOyB0aGVuIFwKKwkgICAgICBlY2hvIE5ldyB0ZXN0IGZpbGUgJCRuYW1lIDsgXAorCSAgICAgICQoQ0hFQ0tFUikgJCh0b3BfYnVpbGRkaXIpL3Rlc3RBdXRvbWF0YSAkJGkgPiAkKHNyY2RpcikvcmVzdWx0L2F1dG9tYXRhLyQkbmFtZTsgXAorCSAgICAgIGdyZXAgIk1PUlkgQUxMTyIgLm1lbWR1bXAgIHwgZ3JlcCAtdiAiTUVNT1JZIEFMTE9DQVRFRCA6IDAiO1wKKwkgIGVsc2UgXAorCSAgICAgIGxvZz1gJChDSEVDS0VSKSAkKHRvcF9idWlsZGRpcikvdGVzdEF1dG9tYXRhICQkaSAyPiYxID4gcmVzdWx0LiQkbmFtZSA7IFwKKwkgICAgICBncmVwICJNT1JZIEFMTE8iIC5tZW1kdW1wICB8IGdyZXAgLXYgIk1FTU9SWSBBTExPQ0FURUQgOiAwIjtcCisJICAgICAgZGlmZiAkKHNyY2RpcikvcmVzdWx0L2F1dG9tYXRhLyQkbmFtZSByZXN1bHQuJCRuYW1lYCA7IFwKKwkgICAgICBpZiBbIC1uICIkJGxvZyIgXSA7IHRoZW4gZWNobyAkJG5hbWUgcmVzdWx0IDsgZWNobyAkJGxvZyA7IGZpIDsgXAorCSAgICAgIHJtIHJlc3VsdC4kJG5hbWUgOyBcCisJICBmaSA7IGZpIDsgZG9uZSkKKworZGJhMTAwMDAwLnhtbDogZGJnZW5hdHRyLnBsCisJQGVjaG8gIiMjIGdlbmVyYXRpbmcgZGJhMTAwMDAwLnhtbCIKKwlAKCQoUEVSTCkgJCh0b3Bfc3JjZGlyKS9kYmdlbmF0dHIucGwgMTAwMDAwID4gZGJhMTAwMDAwLnhtbCkKKworVGltaW5ndGVzdHM6IHhtbGxpbnQkKEVYRUVYVCkgZGJhMTAwMDAwLnhtbAorCUBlY2hvICIjIyBUaW1pbmcgdGVzdHMgdG8gdHJ5IHRvIGRldGVjdCBwZXJmb3JtYW5jZSIKKwlAZWNobyAiIyMgYXMgd2VsbCBhIG1lbW9yeSB1c2FnZSBicmVha2FnZSB3aGVuIHN0cmVhbWluZyIKKwlAZWNobyAiIyMgMS8gdXNpbmcgdGhlIGZpbGUgaW50ZXJmYWNlIgorCUBlY2hvICIjIyAyLyB1c2luZyB0aGUgbWVtb3J5IGludGVyZmFjZSIKKwlAZWNobyAiIyMgMy8gcmVwZWF0ZWQgRE9NIHBhcnNpbmciCisJQGVjaG8gIiMjIDQvIHJlcGVhdGVkIERPTSB2YWxpZGF0aW9uIgorCS1AKCQodG9wX2J1aWxkZGlyKS94bWxsaW50IC0tc3RyZWFtIC0tdGltaW5nIGRiYTEwMDAwMC54bWw7IFwKKwkgICBNRU09YGNhdCAubWVtZHVtcCB8IGdyZXAgIk1FTU9SWSBBTExPQ0FURUQiIHwgYXdrICd7IHByaW50ICQkN30nYDtcCisJICAgaWYgWyAiJCRNRU0iICE9ICIiIF0gOyB0aGVuIGVjaG8gVXNpbmcgJCRNRU0gYnl0ZXMgOyBmaSA7IFwKKwkgICBncmVwICJNT1JZIEFMTE8iIC5tZW1kdW1wICB8IGdyZXAgLXYgIk1FTU9SWSBBTExPQ0FURUQgOiAwIjtcCisJICAgZXhpdCAwKQorCS1AKCQodG9wX2J1aWxkZGlyKS94bWxsaW50IC0tc3RyZWFtIC0tdGltaW5nIC0tbWVtb3J5IGRiYTEwMDAwMC54bWw7IFwKKwkgICBNRU09YGNhdCAubWVtZHVtcCB8IGdyZXAgIk1FTU9SWSBBTExPQ0FURUQiIHwgYXdrICd7IHByaW50ICQkN30nYDtcCisJICAgaWYgWyAiJCRNRU0iICE9ICIiIF0gOyB0aGVuIGVjaG8gVXNpbmcgJCRNRU0gYnl0ZXMgOyBmaSA7IFwKKwkgICBncmVwICJNT1JZIEFMTE8iIC5tZW1kdW1wICB8IGdyZXAgLXYgIk1FTU9SWSBBTExPQ0FURUQgOiAwIjtcCisJICAgZXhpdCAwKQorCS1AKCQodG9wX2J1aWxkZGlyKS94bWxsaW50IC0tbm9vdXQgLS10aW1pbmcgLS1yZXBlYXQgJChzcmNkaXIpL3Rlc3QvdmFsaWQvUkVDLXhtbC0xOTk4MDIxMC54bWw7IFwKKwkgICBNRU09YGNhdCAubWVtZHVtcCB8IGdyZXAgIk1FTU9SWSBBTExPQ0FURUQiIHwgYXdrICd7IHByaW50ICQkN30nYDtcCisJICAgaWYgWyAiJCRNRU0iICE9ICIiIF0gOyB0aGVuIGVjaG8gVXNpbmcgJCRNRU0gYnl0ZXMgOyBmaSA7IFwKKwkgICBncmVwICJNT1JZIEFMTE8iIC5tZW1kdW1wICB8IGdyZXAgLXYgIk1FTU9SWSBBTExPQ0FURUQgOiAwIjtcCisJICAgZXhpdCAwKQorCitWVGltaW5ndGVzdHM6IHhtbGxpbnQkKEVYRUVYVCkKKwktQCgkKHRvcF9idWlsZGRpcikveG1sbGludCAtLW5vb3V0IC0tdGltaW5nIC0tdmFsaWQgLS1yZXBlYXQgJChzcmNkaXIpL3Rlc3QvdmFsaWQvUkVDLXhtbC0xOTk4MDIxMC54bWw7IFwKKwkgICBNRU09YGNhdCAubWVtZHVtcCB8IGdyZXAgIk1FTU9SWSBBTExPQ0FURUQiIHwgYXdrICd7IHByaW50ICQkN30nYDtcCisJICAgaWYgWyAiJCRNRU0iICE9ICIiIF0gOyB0aGVuIGVjaG8gVXNpbmcgJCRNRU0gYnl0ZXMgOyBmaSA7IFwKKwkgICBncmVwICJNT1JZIEFMTE8iIC5tZW1kdW1wICB8IGdyZXAgLXYgIk1FTU9SWSBBTExPQ0FURUQgOiAwIjtcCisJICAgZXhpdCAwKQorCitDMTROdGVzdHMgOiB0ZXN0QzE0TiQoRVhFRVhUKQorCUBlY2hvICIjIyBDMTROIGFuZCBYUGF0aCByZWdyZXNzaW9uIHRlc3RzIgorCS1AKGZvciBtIGluIHdpdGgtY29tbWVudHMgd2l0aG91dC1jb21tZW50cyAxLTEtd2l0aG91dC1jb21tZW50cyBleGMtd2l0aG91dC1jb21tZW50cyA7IGRvIFwKKwkgICAgZm9yIGkgaW4gJChzcmNkaXIpL3Rlc3QvYzE0bi8kJG0vKi54bWwgOyBkbyAgXAorCQlpZiBbICEgLWQgJCRpIF0gOyB0aGVuIFwKKwkJICAgIG5hbWU9YGJhc2VuYW1lICQkaSAueG1sYDsgXAorCQkgICAgY21kbGluZT0iJChDSEVDS0VSKSAkKHRvcF9idWlsZGRpcikvdGVzdEMxNE4gLS0kJG0gJCRpIjsgXAorCQkgICAgaWYgWyAtZiAkKHNyY2RpcikvdGVzdC9jMTRuLyQkbS8kJG5hbWUueHBhdGggXSA7IHRoZW4gXAorCQkJY21kbGluZT0iJCRjbWRsaW5lICQoc3JjZGlyKS90ZXN0L2MxNG4vJCRtLyQkbmFtZS54cGF0aCI7IFwKKwkJCWlmIFsgLWYgJChzcmNkaXIpL3Rlc3QvYzE0bi8kJG0vJCRuYW1lLm5zIF0gOyB0aGVuIFwKKwkJCSAgICBjbWRsaW5lPSIkJGNtZGxpbmUgJ2BjYXQgJChzcmNkaXIpL3Rlc3QvYzE0bi8kJG0vJCRuYW1lLm5zYCciOyBcCisJCQlmaTsgXAorCQkgICAgZmk7IFwKKwkJICAgICQkY21kbGluZSA+ICQoc3JjZGlyKS90ZXN0L2MxNG4vdGVzdC50bXA7IFwKKwkJICAgIGlmIFsgJCQ/IC1lcSAwIF07IHRoZW4gXAorCQkJZGlmZiAgJChzcmNkaXIpL3Jlc3VsdC9jMTRuLyQkbS8kJG5hbWUgJChzcmNkaXIpL3Rlc3QvYzE0bi90ZXN0LnRtcDsgXAorCQkJaWYgWyAkJD8gLW5lIDAgXTsgdGhlbiBcCisJCQkgICAgZWNobyAiVGVzdCAkJG0vJCRuYW1lIGZhaWxlZCI7IFwKKwkJCSAgICBjYXQgJChzcmNkaXIpL3Rlc3QvYzE0bi90ZXN0LnRtcDsgXAorCQkJZmk7IFwKKwkJICAgIGVsc2UgXAorCQkJZWNobyAiQzE0TiBmYWlsZWQiOyBcCisJCSAgICBmaTsgXAorCQkgICAgZ3JlcCAiTU9SWSBBTExPIiAubWVtZHVtcCAgfCBncmVwIC12ICJNRU1PUlkgQUxMT0NBVEVEIDogMCI7XAorCQlmaTsgXAorCQlybSAtZiAkKHNyY2RpcikvdGVzdC9jMTRuL3Rlc3QudG1wOyBcCisJICAgIGRvbmU7IFwKKwlkb25lKQorCitTY2hlbWFzdGVzdHM6IHRlc3RTY2hlbWFzJChFWEVFWFQpCisJQChlY2hvID4gLm1lbWR1bXApCisJQGVjaG8gIiMjIFNjaGVtYXMgcmVncmVzc2lvbiB0ZXN0cyIKKwktQChmb3IgaSBpbiAkKHNyY2RpcikvdGVzdC9zY2hlbWFzLypfKi54c2QgOyBkbyBcCisJICBuYW1lPWBiYXNlbmFtZSAkJGkgfCBzZWQgJ3MrXy4qKysnYDsgXAorCSAgc25vPWBiYXNlbmFtZSAkJGkgfCBzZWQgJ3MrLipfXCguKlwpLnhzZCtcMSsnYDsgXAorCSAgZm9yIGogaW4gJChzcmNkaXIpL3Rlc3Qvc2NoZW1hcy8iJCRuYW1lIl8qLnhtbCA7IGRvIFwKKwkgICAgICBpZiBbIC1mICQkaiBdIDsgdGhlbiBcCisJICAgICAgeG5vPWBiYXNlbmFtZSAkJGogfCBzZWQgJ3MrLipfXCguKlwpLnhtbCtcMSsnYDsgXAorCSAgICAgIGlmIFsgISAtZiAkKHNyY2RpcikvcmVzdWx0L3NjaGVtYXMvIiQkbmFtZSJfIiQkc25vIl8iJCR4bm8iIF07IFwKKwkgICAgICB0aGVuIFwKKwkJICBlY2hvIE5ldyB0ZXN0IGZpbGUgIiQkbmFtZSJfIiQkc25vIl8iJCR4bm8iIDsgXAorCQkgICQoQ0hFQ0tFUikgJCh0b3BfYnVpbGRkaXIpL3Rlc3RTY2hlbWFzICQkaSAkJGogXAorCQkgICAgPiAkKHNyY2RpcikvcmVzdWx0L3NjaGVtYXMvIiQkbmFtZSJfIiQkc25vIl8iJCR4bm8iIFwKKwkJICAgIDI+ICQoc3JjZGlyKS9yZXN1bHQvc2NoZW1hcy8iJCRuYW1lIl8iJCRzbm8iXyIkJHhubyIuZXJyOyBcCisJICAgICAgICAgIGdyZXAgIk1PUlkgQUxMTyIgLm1lbWR1bXAgIHwgZ3JlcCAtdiAiTUVNT1JZIEFMTE9DQVRFRCA6IDAiO1wKKwkgICAgICBlbHNlIFwKKwkgICAgICAgICAgbG9nPWAkKENIRUNLRVIpICQodG9wX2J1aWxkZGlyKS90ZXN0U2NoZW1hcyAkJGkgJCRqIFwKKwkJICAgID4gcmVzLiQkbmFtZSAyPiBlcnIuJCRuYW1lO1wKKwkgICAgICAgICAgZ3JlcCAiTU9SWSBBTExPIiAubWVtZHVtcCAgfCBncmVwIC12ICJNRU1PUlkgQUxMT0NBVEVEIDogMCI7XAorCSAgICAgICAgICBkaWZmICQoc3JjZGlyKS9yZXN1bHQvc2NoZW1hcy8iJCRuYW1lIl8iJCRzbm8iXyIkJHhubyIgXAorCQkgICAgICAgcmVzLiQkbmFtZTtcCisJICAgICAgICAgIGRpZmYgJChzcmNkaXIpL3Jlc3VsdC9zY2hlbWFzLyIkJG5hbWUiXyIkJHNubyJfIiQkeG5vIi5lcnIgXAorCQkgICAgICAgZXJyLiQkbmFtZTtcCisJCSAgZ3JlcCBVbmltcGxlbWVudGVkIGVyci4kJG5hbWVgOyBcCisJICAgICAgICAgIGlmIFsgLW4gIiQkbG9nIiBdIDsgdGhlbiBlY2hvICIkJG5hbWUiXyIkJHNubyJfIiQkeG5vIiByZXN1bHQgOyBlY2hvICQkbG9nIDsgZmkgOyBcCisJICAgICAgICAgIHJtIHJlcy4kJG5hbWUgZXJyLiQkbmFtZSA7IFwKKwkgICAgICAgZmkgOyBmaSA7XAorCSAgZG9uZTsgZG9uZSkKKworUmVsYXh0ZXN0czogeG1sbGludCQoRVhFRVhUKQorCUAoZWNobyA+IC5tZW1kdW1wKQorCUBlY2hvICIjIyBSZWxheC1ORyByZWdyZXNzaW9uIHRlc3RzIgorCS1AKGZvciBpIGluICQoc3JjZGlyKS90ZXN0L3JlbGF4bmcvKi5ybmcgOyBkbyBcCisJICBuYW1lPWBiYXNlbmFtZSAkJGkgfCBzZWQgJ3MrXC5ybmcrKydgOyBcCisJICBpZiBbICEgLWYgJChzcmNkaXIpL3Jlc3VsdC9yZWxheG5nLyIkJG5hbWUiX3ZhbGlkIF0gOyB0aGVuIFwKKwkgICAgICBlY2hvIE5ldyBzY2hlbWFzICQkbmFtZSA7IFwKKwkgICAgICAkKENIRUNLRVIpICQodG9wX2J1aWxkZGlyKS94bWxsaW50JChFWEVFWFQpIC0tbm9vdXQgLS1yZWxheG5nICQoc3JjZGlyKS90ZXN0L3JlbGF4bmcvdHV0b3JBLnJuZyAkJGkgXAorCQkgICAgICA+ICQoc3JjZGlyKS9yZXN1bHQvcmVsYXhuZy8iJCRuYW1lIl92YWxpZCBcCisJCSAgICAgIDI+ICQoc3JjZGlyKS9yZXN1bHQvcmVsYXhuZy8iJCRuYW1lIl9lcnI7IFwKKwkgICAgICBncmVwICJNT1JZIEFMTE8iIC5tZW1kdW1wICB8IGdyZXAgLXYgIk1FTU9SWSBBTExPQ0FURUQgOiAwIjtcCisJICBlbHNlIFwKKwkgICAgICBsb2c9YCQoQ0hFQ0tFUikgJCh0b3BfYnVpbGRkaXIpL3htbGxpbnQkKEVYRUVYVCkgLS1ub291dCAtLXJlbGF4bmcgJChzcmNkaXIpL3Rlc3QvcmVsYXhuZy90dXRvckEucm5nICQkaSBcCisJICAgICAgPiByZXMuJCRuYW1lIDI+IGVyci4kJG5hbWU7XAorCSAgICAgIGdyZXAgIk1PUlkgQUxMTyIgLm1lbWR1bXAgIHwgZ3JlcCAtdiAiTUVNT1JZIEFMTE9DQVRFRCA6IDAiO1wKKwkgICAgICBkaWZmICQoc3JjZGlyKS9yZXN1bHQvcmVsYXhuZy8iJCRuYW1lIl92YWxpZCBcCisJCSAgIHJlcy4kJG5hbWU7XAorCSAgICAgIGRpZmYgJChzcmNkaXIpL3Jlc3VsdC9yZWxheG5nLyIkJG5hbWUiX2VyciBcCisJCSAgIGVyci4kJG5hbWUgfCBncmVwIC12ICJlcnJvciBkZXRlY3RlZCBhdCI7XAorCSAgICAgIGdyZXAgVW5pbXBsZW1lbnRlZCBlcnIuJCRuYW1lYDsgXAorCSAgICAgIGlmIFsgLW4gIiQkbG9nIiBdIDsgdGhlbiBlY2hvIHNjaGVtYXMgJCRuYW1lIHJlc3VsdCA7IGVjaG8gJCRsb2cgOyBmaSA7IFwKKwkgICAgICBybSByZXMuJCRuYW1lIGVyci4kJG5hbWUgOyBcCisJICBmaTsgXAorCSAgZm9yIGogaW4gJChzcmNkaXIpL3Rlc3QvcmVsYXhuZy8iJCRuYW1lIl8qLnhtbCA7IGRvIFwKKwkgICAgICBpZiBbIC1mICQkaiBdIDsgdGhlbiBcCisJICAgICAgeG5vPWBiYXNlbmFtZSAkJGogfCBzZWQgJ3MrLipfXCguKlwpLnhtbCtcMSsnYDsgXAorCSAgICAgIGlmIFsgISAtZiAkKHNyY2RpcikvcmVzdWx0L3JlbGF4bmcvIiQkbmFtZSJfIiQkeG5vIiBdOyBcCisJICAgICAgdGhlbiBcCisJCSAgZWNobyBOZXcgdGVzdCBmaWxlICIkJG5hbWUiXyIkJHhubyIgOyBcCisJCSAgJChDSEVDS0VSKSAkKHRvcF9idWlsZGRpcikveG1sbGludCQoRVhFRVhUKSAtLW5vb3V0IC0tcmVsYXhuZyAkJGkgJCRqIFwKKwkJICAgID4gJChzcmNkaXIpL3Jlc3VsdC9yZWxheG5nLyIkJG5hbWUiXyIkJHhubyIgXAorCQkgICAgMj4gJChzcmNkaXIpL3Jlc3VsdC9yZWxheG5nLyIkJG5hbWUiXyIkJHhubyIuZXJyOyBcCisJICAgICAgICAgIGdyZXAgIk1PUlkgQUxMTyIgLm1lbWR1bXAgIHwgZ3JlcCAtdiAiTUVNT1JZIEFMTE9DQVRFRCA6IDAiO1wKKwkgICAgICBlbHNlIFwKKwkgICAgICAgICAgbG9nPWAkKENIRUNLRVIpICQodG9wX2J1aWxkZGlyKS94bWxsaW50JChFWEVFWFQpIC0tbm9vdXQgLS1yZWxheG5nICQkaSAkJGogXAorCQkgICAgPiByZXMuJCRuYW1lIDI+IGVyci4kJG5hbWU7XAorCSAgICAgICAgICBncmVwICJNT1JZIEFMTE8iIC5tZW1kdW1wICB8IGdyZXAgLXYgIk1FTU9SWSBBTExPQ0FURUQgOiAwIjtcCisJICAgICAgICAgIGRpZmYgJChzcmNkaXIpL3Jlc3VsdC9yZWxheG5nLyIkJG5hbWUiXyIkJHhubyIgXAorCQkgICAgICAgcmVzLiQkbmFtZTtcCisJICAgICAgICAgIGRpZmYgJChzcmNkaXIpL3Jlc3VsdC9yZWxheG5nLyIkJG5hbWUiXyIkJHhubyIuZXJyIFwKKwkJICAgICAgIGVyci4kJG5hbWUgfCBncmVwIC12ICJlcnJvciBkZXRlY3RlZCBhdCI7XAorCQkgIGdyZXAgVW5pbXBsZW1lbnRlZCBlcnIuJCRuYW1lYDsgXAorCQkgIGlmIFsgLW4gIiQkbG9nIiBdIDsgdGhlbiBlY2hvICIkJG5hbWUiXyIkJHhubyIgcmVzdWx0IDsgZWNobyAkJGxvZyA7IGZpIDsgXAorCSAgICAgICAgICBybSByZXMuJCRuYW1lIGVyci4kJG5hbWUgOyBcCisJICAgICAgIGZpIDsgZmkgOyBcCisJICBkb25lOyBkb25lKQorCUBlY2hvICIjIyBSZWxheC1ORyBzdHJlYW1pbmcgcmVncmVzc2lvbiB0ZXN0cyIKKwktQChmb3IgaSBpbiAkKHNyY2RpcikvdGVzdC9yZWxheG5nLyoucm5nIDsgZG8gXAorCSAgbmFtZT1gYmFzZW5hbWUgJCRpIHwgc2VkICdzK1wucm5nKysnYDsgXAorCSAgZm9yIGogaW4gJChzcmNkaXIpL3Rlc3QvcmVsYXhuZy8iJCRuYW1lIl8qLnhtbCA7IGRvIFwKKwkgICAgICBpZiBbIC1mICQkaiBdIDsgdGhlbiBcCisJICAgICAgeG5vPWBiYXNlbmFtZSAkJGogfCBzZWQgJ3MrLipfXCguKlwpLnhtbCtcMSsnYDsgXAorCSAgICAgIGlmIFsgISAtZiAkKHNyY2RpcikvcmVzdWx0L3JlbGF4bmcvIiQkbmFtZSJfIiQkeG5vIiBdOyBcCisJICAgICAgdGhlbiBcCisJCSAgZWNobyBOZXcgdGVzdCBmaWxlICIkJG5hbWUiXyIkJHhubyIgOyBcCisJCSAgJChDSEVDS0VSKSAkKHRvcF9idWlsZGRpcikveG1sbGludCQoRVhFRVhUKSAtLW5vb3V0IC0tcmVsYXhuZyAkJGkgJCRqIFwKKwkJICAgID4gJChzcmNkaXIpL3Jlc3VsdC9yZWxheG5nLyIkJG5hbWUiXyIkJHhubyIgXAorCQkgICAgMj4gJChzcmNkaXIpL3Jlc3VsdC9yZWxheG5nLyIkJG5hbWUiXyIkJHhubyIuZXJyOyBcCisJICAgICAgICAgIGdyZXAgIk1PUlkgQUxMTyIgLm1lbWR1bXAgIHwgZ3JlcCAtdiAiTUVNT1JZIEFMTE9DQVRFRCA6IDAiO1wKKwkgICAgICBlbHNlIFwKKwkgICAgICAgICAgbG9nPWAkKENIRUNLRVIpICQodG9wX2J1aWxkZGlyKS94bWxsaW50JChFWEVFWFQpIC0tbm9vdXQgLS1zdHJlYW0gLS1yZWxheG5nICQkaSAkJGogXAorCQkgICAgPiByZXMuJCRuYW1lIDI+IGVyci4kJG5hbWU7XAorCSAgICAgICAgICBncmVwICJNT1JZIEFMTE8iIC5tZW1kdW1wICB8IGdyZXAgLXYgIk1FTU9SWSBBTExPQ0FURUQgOiAwIjtcCisJICAgICAgICAgIGRpZmYgJChzcmNkaXIpL3Jlc3VsdC9yZWxheG5nLyIkJG5hbWUiXyIkJHhubyIgcmVzLiQkbmFtZTtcCisJCSAgaWYgWyAiJCRuYW1lIiAhPSAidHV0b3IxMF8xIiAtYSAiJCRuYW1lIiAhPSAidHV0b3IxMF8yIiAtYSAiJCRuYW1lIiAhPSAidHV0b3IzXzIiIC1hICIkJG5hbWUiICE9ICIzMDczNzciIC1hICIkJG5hbWUiICE9ICJ0dXRvcjhfMiIgXSA7IHRoZW4gXAorCQkgICAgICBkaWZmICQoc3JjZGlyKS9yZXN1bHQvcmVsYXhuZy8iJCRuYW1lIl8iJCR4bm8iLmVyciBcCisJCQkgICBlcnIuJCRuYW1lIHwgZ3JlcCAtdiAiZXJyb3IgZGV0ZWN0ZWQgYXQiO1wKKwkJICBmaSA7IGdyZXAgVW5pbXBsZW1lbnRlZCBlcnIuJCRuYW1lYDsgXAorCSAgICAgICAgICBpZiBbIC1uICIkJGxvZyIgXSA7IHRoZW4gZWNobyAiJCRuYW1lIl8iJCR4bm8iIHJlc3VsdCA7IGVjaG8gJCRsb2cgOyBmaSA7IFwKKwkgICAgICAgICAgcm0gcmVzLiQkbmFtZSBlcnIuJCRuYW1lIDsgXAorCSAgICAgICBmaSA7IGZpIDsgXAorCSAgZG9uZTsgZG9uZSkKKworU2NoZW1hdHJvbnRlc3RzOiB4bWxsaW50JChFWEVFWFQpCisJQChlY2hvID4gLm1lbWR1bXApCisJQGVjaG8gIiMjIFNjaGVtYXRyb24gcmVncmVzc2lvbiB0ZXN0cyIKKwktQChmb3IgaSBpbiAkKHNyY2RpcikvdGVzdC9zY2hlbWF0cm9uLyouc2N0IDsgZG8gXAorCSAgbmFtZT1gYmFzZW5hbWUgJCRpIHwgc2VkICdzK1wuc2N0KysnYDsgXAorCSAgZm9yIGogaW4gJChzcmNkaXIpL3Rlc3Qvc2NoZW1hdHJvbi8iJCRuYW1lIl8qLnhtbCA7IGRvIFwKKwkgICAgICBpZiBbIC1mICQkaiBdIDsgdGhlbiBcCisJICAgICAgeG5vPWBiYXNlbmFtZSAkJGogfCBzZWQgJ3MrLipfXCguKlwpLnhtbCtcMSsnYDsgXAorCSAgICAgIGlmIFsgISAtZiAkKHNyY2RpcikvcmVzdWx0L3NjaGVtYXRyb24vIiQkbmFtZSJfIiQkeG5vIiBdOyBcCisJICAgICAgdGhlbiBcCisJCSAgZWNobyBOZXcgdGVzdCBmaWxlICIkJG5hbWUiXyIkJHhubyIgOyBcCisJCSAgJChDSEVDS0VSKSAkKHRvcF9idWlsZGRpcikveG1sbGludCQoRVhFRVhUKSAtLXNjaGVtYXRyb24gJCRpICQkaiBcCisJCSAgICA+ICQoc3JjZGlyKS9yZXN1bHQvc2NoZW1hdHJvbi8iJCRuYW1lIl8iJCR4bm8iIFwKKwkJICAgIDI+ICQoc3JjZGlyKS9yZXN1bHQvc2NoZW1hdHJvbi8iJCRuYW1lIl8iJCR4bm8iLmVycjsgXAorCSAgICAgICAgICBncmVwICJNT1JZIEFMTE8iIC5tZW1kdW1wICB8IGdyZXAgLXYgIk1FTU9SWSBBTExPQ0FURUQgOiAwIjtcCisJICAgICAgZWxzZSBcCisJICAgICAgICAgIGxvZz1gJChDSEVDS0VSKSAkKHRvcF9idWlsZGRpcikveG1sbGludCQoRVhFRVhUKSAtLXNjaGVtYXRyb24gJCRpICQkaiBcCisJCSAgICA+IHJlcy4kJG5hbWUgMj4gZXJyLiQkbmFtZTtcCisJICAgICAgICAgIGdyZXAgIk1PUlkgQUxMTyIgLm1lbWR1bXAgIHwgZ3JlcCAtdiAiTUVNT1JZIEFMTE9DQVRFRCA6IDAiO1wKKwkgICAgICAgICAgZGlmZiAkKHNyY2RpcikvcmVzdWx0L3NjaGVtYXRyb24vIiQkbmFtZSJfIiQkeG5vIiBcCisJCSAgICAgICByZXMuJCRuYW1lO1wKKwkgICAgICAgICAgZGlmZiAkKHNyY2RpcikvcmVzdWx0L3NjaGVtYXRyb24vIiQkbmFtZSJfIiQkeG5vIi5lcnIgXAorCQkgICAgICAgZXJyLiQkbmFtZSB8IGdyZXAgLXYgImVycm9yIGRldGVjdGVkIGF0IjtcCisJCSAgZ3JlcCBVbmltcGxlbWVudGVkIGVyci4kJG5hbWVgOyBcCisJCSAgaWYgWyAtbiAiJCRsb2ciIF0gOyB0aGVuIGVjaG8gIiQkbmFtZSJfIiQkeG5vIiByZXN1bHQgOyBlY2hvICQkbG9nIDsgZmkgOyBcCisJICAgICAgICAgIHJtIHJlcy4kJG5hbWUgZXJyLiQkbmFtZSA7IFwKKwkgICAgICAgZmkgOyBmaSA7IFwKKwkgIGRvbmU7IGRvbmUpCisKK1JlbGF4TkdQeXRob25UZXN0czoKKwlAKGlmIFsgLXggJChQWVRIT04pIF0gOyB0aGVuIFwKKwkgICAgUFlUSE9OUEFUSD0kKHRvcF9idWlsZGRpcikvcHl0aG9uOiQodG9wX2J1aWxkZGlyKS9weXRob24vLmxpYnM6JCRQWVRIT05QQVRIIDsgXAorCSAgICBleHBvcnQgUFlUSE9OUEFUSDsgXAorCSAgICBMRF9MSUJSQVJZX1BBVEg9IiQodG9wX2J1aWxkZGlyKS8ubGliczokJExEX0xJQlJBUllfUEFUSCIgOyBcCisJICAgIGV4cG9ydCBMRF9MSUJSQVJZX1BBVEg7IFwKKwkgICAgZWNobyAiIyMgUmVsYXgtTkcgUHl0aG9uIGJhc2VkIHRlc3Qgc3VpdGUgMSIgOyBcCisJICAgICQoQ0hFQ0tFUikgJChQWVRIT04pICQoc3JjZGlyKS9jaGVjay1yZWxheG5nLXRlc3Qtc3VpdGUucHkgOyBcCisJICAgIGVjaG8gIiMjIFJlbGF4LU5HIFB5dGhvbiBiYXNlZCB0ZXN0IHN1aXRlIDIiIDsgXAorCSAgICAkKENIRUNLRVIpICQoUFlUSE9OKSAkKHNyY2RpcikvY2hlY2stcmVsYXhuZy10ZXN0LXN1aXRlMi5weSA7IFwKKwkgIGZpKQorCitTY2hlbWFzUHl0aG9uVGVzdHM6CisJQChpZiBbIC14ICQoUFlUSE9OKSBdIDsgdGhlbiBcCisJICAgIFBZVEhPTlBBVEg9JCh0b3BfYnVpbGRkaXIpL3B5dGhvbjokKHRvcF9idWlsZGRpcikvcHl0aG9uLy5saWJzOiQkUFlUSE9OUEFUSDsgXAorCSAgICBleHBvcnQgUFlUSE9OUEFUSDsgXAorCSAgICBMRF9MSUJSQVJZX1BBVEg9IiQodG9wX2J1aWxkZGlyKS8ubGliczokJExEX0xJQlJBUllfUEFUSCIgOyBcCisJICAgIGV4cG9ydCBMRF9MSUJSQVJZX1BBVEg7IFwKKwkgICAgZWNobyAiIyMgWE1MIFNjaGVtYXMgZGF0YXR5cGVzIFB5dGhvbiBiYXNlZCB0ZXN0IHN1aXRlIiA7IFwKKwkgICAgZWNobyAiIyMgSXQgaXMgbm9ybWFsIHRvIHNlZSAxMSBlcnJvcnMgcmVwb3J0ZWQiIDsgXAorCSAgICAkKENIRUNLRVIpICQoUFlUSE9OKSAkKHNyY2RpcikvY2hlY2steHNkZGF0YS10ZXN0LXN1aXRlLnB5IDsgXAorCSAgZmkpCisJQChpZiBbIC14ICQoUFlUSE9OKSAtYSAtZCB4c3RjIF0gOyB0aGVuIGNkIHhzdGMgOyAkKE1BS0UpIENIRUNLRVI9IiQoQ0hFQ0tFUikiIHB5dGVzdHMgOyBmaSkKKworUGF0dGVybnRlc3RzOiB4bWxsaW50JChFWEVFWFQpCisJQChlY2hvID4gLm1lbWR1bXApCisJQGVjaG8gIiMjIFBhdHRlcm4gcmVncmVzc2lvbiB0ZXN0cyIKKwktQChmb3IgaSBpbiAkKHNyY2RpcikvdGVzdC9wYXR0ZXJuLyoucGF0IDsgZG8gXAorCSAgbmFtZT1gYmFzZW5hbWUgJCRpIC5wYXRgOyBcCisJICBpZiBbIC1mICQoc3JjZGlyKS90ZXN0L3BhdHRlcm4vJCRuYW1lLnhtbCBdIDsgdGhlbiBcCisJICBpZiBbICEgLWYgJChzcmNkaXIpL3Jlc3VsdC9wYXR0ZXJuLyQkbmFtZSBdIDsgdGhlbiBcCisJICAgICAgcm0gLWYgcmVzdWx0LiQkbmFtZSA7IFwKKwkgICAgICBlY2hvIE5ldyB0ZXN0IGZpbGUgJCRuYW1lIDsgXAorCSAgICAgIGZvciBwYXQgaW4gYGNhdCAkJGlgIDsgZG8gXAorCSAgICAgICQoQ0hFQ0tFUikgJCh0b3BfYnVpbGRkaXIpL3htbGxpbnQgLS13YWxrZXIgLS1wYXR0ZXJuICQkcGF0ICQoc3JjZGlyKS90ZXN0L3BhdHRlcm4vJCRuYW1lLnhtbCA+PiAkKHNyY2RpcikvcmVzdWx0L3BhdHRlcm4vJCRuYW1lIDsgXAorCSAgICAgIGdyZXAgIk1PUlkgQUxMTyIgLm1lbWR1bXAgIHwgZ3JlcCAtdiAiTUVNT1JZIEFMTE9DQVRFRCA6IDAiO1wKKwkgICAgICBkb25lIDtcCisJICBlbHNlIFwKKwkgICAgICBybSAtZiByZXN1bHQuJCRuYW1lIDsgXAorCSAgICAgIGxzdD1gY2F0ICQkaWAgOyBcCisJICAgICAgbG9nPWBmb3IgcGF0IGluICQkbHN0IDsgZG8gJChDSEVDS0VSKSAkKHRvcF9idWlsZGRpcikveG1sbGludCAtLXdhbGtlciAtLXBhdHRlcm4gJCRwYXQgJChzcmNkaXIpL3Rlc3QvcGF0dGVybi8kJG5hbWUueG1sIDI+JjEgPj4gcmVzdWx0LiQkbmFtZSA7IFwKKwkgICAgICBncmVwICJNT1JZIEFMTE8iIC5tZW1kdW1wICB8IGdyZXAgLXYgIk1FTU9SWSBBTExPQ0FURUQgOiAwIjtcCisJICAgICAgZG9uZSA7XAorCSAgICAgIGRpZmYgJChzcmNkaXIpL3Jlc3VsdC9wYXR0ZXJuLyQkbmFtZSByZXN1bHQuJCRuYW1lYCA7IFwKKwkgICAgICBpZiBbIC1uICIkJGxvZyIgXSA7IHRoZW4gZWNobyAkJG5hbWUgcmVzdWx0IDsgZWNobyAkJGxvZyA7IGZpIDsgXAorCSAgICAgIHJtIHJlc3VsdC4kJG5hbWUgOyBcCisJICBmaSA7IGZpIDsgZG9uZSA7KQorCitNb2R1bGVUZXN0czogdGVzdE1vZHVsZSQoRVhFRVhUKSB0ZXN0ZHNvLmxhCisJQGVjaG8gIiMjIE1vZHVsZSB0ZXN0cyIKKwlAKC4vdGVzdE1vZHVsZSQoRVhFRVhUKSkKKworY2xlYW51cDoKKwktQChmaW5kIC4gLW5hbWUgLlwjXCogLWV4ZWMgcm0ge30gXDspCisJLUAoZmluZCAuIC1uYW1lIFwqLmdjZGEgLW8gLW5hbWUgXCouZ2NubyAtZXhlYyBybSAtZiB7fSBcOykKKwktQChmaW5kIC4gLW5hbWUgXCoub3JpZyAtbyAtbmFtZSBcKi5yZWogLW8gLW5hbWUgXCoub2xkIC1leGVjIHJtIC1mIHt9IFw7KQorCitkaXN0LWhvb2s6IGNsZWFudXAgbGlieG1sMi5zcGVjCisJLWNwIGxpYnhtbDIuc3BlYyAkKGRpc3RkaXIpCisJKGNkICQoc3JjZGlyKSA7IHRhciAtY2YgLSAtLWV4Y2x1ZGUgQ1ZTIC0tZXhjbHVkZSAuc3ZuIC0tZXhjbHVkZSAuZ2l0IHdpbjMyIG1hY29zIG9zNDAwIHZtcyBWeFdvcmtzIGJha2VmaWxlIHRlc3QgcmVzdWx0KSB8IChjZCAkKGRpc3RkaXIpOyB0YXIgeGYgLSkKKworZGlzdC1zb3VyY2U6IGRpc3RkaXIKKwkkKEFNVEFSKSAtY2hvZiAtIC0tZXhjbHVkZSBUZXN0cyAtLWV4Y2x1ZGUgdGVzdCAtLWV4Y2x1ZGUgcmVzdWx0ICQoZGlzdGRpcikgfCBHWklQPSQoR1pJUF9FTlYpIGd6aXAgLWMgPmBlY2hvICIkKGRpc3RkaXIpIiB8IHNlZCAicytsaWJ4bWwyK2xpYnhtbDItc291cmNlcysiYC50YXIuZ3oKKworZGlzdC10ZXN0OiBkaXN0ZGlyCisJKG1rZGlyIC1wICQoZGlzdGRpcikpCisJKGNkICQoc3JjZGlyKSA7IHRhciAtY2YgLSAtLWV4Y2x1ZGUgQ1ZTIC0tZXhjbHVkZSAuc3ZuIC0tZXhjbHVkZSAuZ2l0IHhzdGMvVGVzdHMpIHwgKGNkICQoZGlzdGRpcik7IHRhciB4ZiAtKQorCXRhciAtY2YgLSAkKGRpc3RkaXIpL3Rlc3QgJChkaXN0ZGlyKS9yZXN1bHQgJChkaXN0ZGlyKS94c3RjL1Rlc3RzICAkKGRpc3RkaXIpL01ha2VmaWxlLnRlc3RzICQoZGlzdGRpcikvUkVBRE1FICQoZGlzdGRpcikvUkVBRE1FLnRlc3RzICQoZGlzdGRpcikvQVVUSE9SUyAkKGRpc3RkaXIpL3Rlc3RhcGkuYyAkKGRpc3RkaXIpL3J1bnRlc3QuYyAkKGRpc3RkaXIpL3J1bnN1aXRlLmMgfCBHWklQPSQoR1pJUF9FTlYpIGd6aXAgLWMgPmBlY2hvICIkKGRpc3RkaXIpIiB8IHNlZCAicytsaWJ4bWwyK2xpYnhtbDItdGVzdHMrImAudGFyLmd6CisJQChybSAtcmYgJChkaXN0ZGlyKS94c3RjL1Rlc3QpCisKK2NsZWFudGFyOgorCUAocm0gLWYgbGlieG1sKi50YXIuZ3ogQ09QWUlORy5MSUIpCisKK3JwbTogY2xlYW51cCBjbGVhbnRhcgorCUAodW5zZXQgQ0RQQVRIIDsgJChNQUtFKSBkaXN0LXNvdXJjZSBkaXN0ICYmIHJwbWJ1aWxkIC10YSAkKGRpc3RkaXIpLnRhci5neikKKworIyMgV2UgY3JlYXRlIHhtbDJDb25mLnNoIGhlcmUgYW5kIG5vdCBmcm9tIGNvbmZpZ3VyZSBiZWNhdXNlIHdlIHdhbnQKKyMjIHRvIGdldCB0aGUgcGF0aHMgZXhwYW5kZWQgY29ycmVjdGx5LiAgTWFjcm9zIGxpa2Ugc3JjZGlyIGFyZSBnaXZlbgorIyMgdGhlIHZhbHVlIE5PTkUgaW4gY29uZmlndXJlIGlmIHRoZSB1c2VyIGRvZXNuJ3Qgc3BlY2lmeSB0aGVtICh0aGlzCisjIyBpcyBhbiBhdXRvY29uZiBmZWF0dXJlLCBub3QgYSBidWcpLgorCit4bWwyQ29uZi5zaDogeG1sMkNvbmYuc2guaW4gTWFrZWZpbGUKKyMjIFVzZSBzZWQgYW5kIHRoZW4gbXYgdG8gYXZvaWQgcHJvYmxlbXMgaWYgdGhlIHVzZXIgaW50ZXJydXB0cy4KKwlzZWQgLWUgJ3M/XEBYTUxfTElCRElSXEA/JChYTUxfTElCRElSKT9nJyBcCisJICAgIC1lICdzP1xAWE1MX0lOQ0xVREVESVJcQD8kKFhNTF9JTkNMVURFRElSKT9nJyBcCisJICAgIC1lICdzP1xAVkVSU0lPTlxAPyQoVkVSU0lPTik/ZycgXAorCSAgICAtZSAncz9cQFhNTF9MSUJTXEA/JChYTUxfTElCUyk/ZycgXAorCSAgICAgICA8ICQoc3JjZGlyKS94bWwyQ29uZi5zaC5pbiA+IHhtbDJDb25mLnRtcCBcCisJJiYgbXYgeG1sMkNvbmYudG1wIHhtbDJDb25mLnNoCisKK0NMRUFORklMRVMgPSBydW54bWxjb25mLmxvZyB0ZXN0Lm91dCB4bWwyQ29uZi5zaCAqLmdjZGEgKi5nY25vICoucmVzCitESVNUQ0xFQU5GSUxFUyA9IENPUFlJTkcgbWlzc2luZy5sc3QKKworY29uZmV4ZWNkaXI9JChsaWJkaXIpCitjb25mZXhlY19EQVRBID0geG1sMkNvbmYuc2gKK0NWU19FWFRSQV9ESVNUPQorRVhUUkFfRElTVCA9IHhtbDItY29uZmlnLmluIHhtbDJDb25mLnNoLmluIGxpYnhtbC5zcGVjLmluIGxpYnhtbDIuc3BlYyBcCisgICAgICAgICAgICAgbGlieG1sLm00IENvcHlyaWdodCBjaGVjay14bWwtdGVzdC1zdWl0ZS5weSBnZW50ZXN0LnB5IFwKKwkgICAgIGNoZWNrLXJlbGF4bmctdGVzdC1zdWl0ZS5weSBjaGVjay1yZWxheG5nLXRlc3Qtc3VpdGUyLnB5IFwKKwkgICAgIGNoZWNrLXhzZGRhdGEtdGVzdC1zdWl0ZS5weSBjaGVjay14aW5jbHVkZS10ZXN0LXN1aXRlLnB5IFwKKyAgICAgICAgICAgICBleGFtcGxlL01ha2VmaWxlLmFtIGV4YW1wbGUvZ2pvYnJlYWQuYyBleGFtcGxlL2dqb2JzLnhtbCBcCisJICAgICAkKG1hbl9NQU5TKSBsaWJ4bWwtMi4wLnBjLmluIGxpYnhtbC0yLjAtdW5pbnN0YWxsZWQucGMuaW4gXAorCSAgICAgbGlieG1sMi1jb25maWcuY21ha2UuaW4gXAorCSAgICAgdHJpb25hbi5jIHRyaW9uYW4uaCB0cmlvc3RyLmMgdHJpb3N0ci5oIHRyaW8uYyB0cmlvLmggXAorCSAgICAgdHJpb3AuaCB0cmlvZGVmLmggbGlieG1sLmggZWxmZ2NjaGFjay5oIHh6bGliLmggYnVmLmggXAorCSAgICAgZW5jLmggc2F2ZS5oIHRlc3RUaHJlYWRzV2luMzIuYyBnZW5Vbmljb2RlLnB5IFRPRE9fU0NIRU1BUyBcCisJICAgICBkYmdlbi5wbCBkYmdlbmF0dHIucGwgcmVncmVzc2lvbnMucHkgcmVncmVzc2lvbnMueG1sIFwKKwkgICAgIFJFQURNRS50ZXN0cyBNYWtlZmlsZS50ZXN0cyBsaWJ4bWwyLnN5bXMgdGltc29ydC5oIFwKKwkgICAgICQoQ1ZTX0VYVFJBX0RJU1QpCisKKworcGtnY29uZmlnZGlyID0gJChsaWJkaXIpL3BrZ2NvbmZpZworcGtnY29uZmlnX0RBVEEgPSBsaWJ4bWwtMi4wLnBjCisKK2NtYWtlZGlyID0gJChsaWJkaXIpL2NtYWtlL2xpYnhtbDIKK2NtYWtlX0RBVEEgPSBsaWJ4bWwyLWNvbmZpZy5jbWFrZQorCisjCisjIEluc3RhbGwgdGhlIHRlc3RzIHByb2dyYW0gc291cmNlcyBhcyBleGFtcGxlcyAKKyMKK0JBU0VfRElSPSQoZGF0YWRpcikvZG9jCitET0NfTU9EVUxFPWxpYnhtbDItJChWRVJTSU9OKQorRVhBTVBMRVNfRElSPSQoQkFTRV9ESVIpLyQoRE9DX01PRFVMRSkvZXhhbXBsZXMKKworaW5zdGFsbC1kYXRhLWxvY2FsOiAKKwkkKE1LRElSX1ApICQoREVTVERJUikkKEJBU0VfRElSKS8kKERPQ19NT0RVTEUpCisJLSQoSU5TVEFMTCkgLW0gMDY0NCAkKHNyY2RpcikvQ29weXJpZ2h0ICQoREVTVERJUikkKEJBU0VfRElSKS8kKERPQ19NT0RVTEUpCisJJChNS0RJUl9QKSAkKERFU1RESVIpJChFWEFNUExFU19ESVIpCisJLSQoSU5TVEFMTCkgLW0gMDY0NCAkKHNyY2RpcikveG1sbGludC5jICQoREVTVERJUikkKEVYQU1QTEVTX0RJUikKKwktJChJTlNUQUxMKSAtbSAwNjQ0ICQoc3JjZGlyKS90ZXN0U0FYLmMgJChERVNURElSKSQoRVhBTVBMRVNfRElSKQorCS0kKElOU1RBTEwpIC1tIDA2NDQgJChzcmNkaXIpL3Rlc3RIVE1MLmMgJChERVNURElSKSQoRVhBTVBMRVNfRElSKQorCS0kKElOU1RBTEwpIC1tIDA2NDQgJChzcmNkaXIpL3Rlc3RYUGF0aC5jICQoREVTVERJUikkKEVYQU1QTEVTX0RJUikKKwordW5pbnN0YWxsLWxvY2FsOgorCXJtIC1mICQoREVTVERJUikkKEVYQU1QTEVTX0RJUikvdGVzdFhQYXRoLmMKKwlybSAtZiAkKERFU1RESVIpJChFWEFNUExFU19ESVIpL3Rlc3RIVE1MLmMKKwlybSAtZiAkKERFU1RESVIpJChFWEFNUExFU19ESVIpL3Rlc3RTQVguYworCXJtIC1mICQoREVTVERJUikkKEVYQU1QTEVTX0RJUikveG1sbGludC5jCisJcm0gLXJmICQoREVTVERJUikkKEVYQU1QTEVTX0RJUikKKwlybSAtZiAkKERFU1RESVIpJChCQVNFX0RJUikvJChET0NfTU9EVUxFKS9Db3B5cmlnaHQKKwlybSAtcmYgJChERVNURElSKSQoQkFTRV9ESVIpLyQoRE9DX01PRFVMRSkKKwordHN0OiB0c3QuYworCSQoQ0MpICQoQ0ZMQUdTKSAtSWluY2x1ZGUgLW8gdHN0IHRzdC5jIC5saWJzL2xpYnhtbDIuYSAtbHB0aHJlYWQgLWxtIC1seiAtbGx6bWEKKworc3BhcnNlOiBjbGVhbgorCSQoTUFLRSkgQ0M9Y2djYworCisjCisjIENvdmVyYWdlIHN1cHBvcnQsIGxhcmdlbHkgYm9ycm93ZWQgZnJvbSBsaWJ2aXJ0CisjIEJvdGggYmluYXJpZXMgY29tZXMgZnJvbSB0aGUgbGNvdiBwYWNrYWdlIGluIEZlZG9yYQorIworTENPViA9IC91c3IvYmluL2xjb3YKK0dFTkhUTUwgPSAvdXNyL2Jpbi9nZW5odG1sCisKK2NvdjogY2xlYW4tY292CisJaWYgWyAiYGVjaG8gJChMREZMQUdTKSB8IGdyZXAgY292ZXJhZ2VgIiA9ICIiIF0gOyB0aGVuIFwKKwkgICAgZWNobyBub3QgY29uZmlndXJlZCB3aXRoIGNvdmVyYWdlOyBleGl0IDEgOyBmaQorCWlmIFsgISAteCAkKExDT1YpIC1vICEgLXggJChHRU5IVE1MKSBdIDsgdGhlbiBcCisJICAgIGVjaG8gTmVlZCAkKExDT1YpIGFuZCAkKEdFTkhUTUwpIGV4Y2VjdXRhYmxlczsgZXhpdCAxIDsgZmkKKwktQCgkKE1BS0UpIGNoZWNrKQorCS1AKC4vcnVuc3VpdGUkKEVYRUVYVCkpCisJbWtkaXIgJCh0b3BfYnVpbGRkaXIpL2NvdmVyYWdlCisJJChMQ09WKSAtYyAtbyAkKHRvcF9idWlsZGRpcikvY292ZXJhZ2UvbGlieG1sMi5pbmZvLnRtcCAtZCAkKHRvcF9zcmNkaXIpCisJJChMQ09WKSAtciAkKHRvcF9idWlsZGRpcikvY292ZXJhZ2UvbGlieG1sMi5pbmZvLnRtcCAtbyAkKHRvcF9idWlsZGRpcikvY292ZXJhZ2UvbGlieG1sMi5pbmZvICp1c3IqCisJcm0gJCh0b3BfYnVpbGRkaXIpL2NvdmVyYWdlL2xpYnhtbDIuaW5mby50bXAKKwkkKEdFTkhUTUwpIC1zIC10ICJsaWJ4bWwyIiAtbyAkKHRvcF9idWlsZGRpcikvY292ZXJhZ2UgLS1sZWdlbmQgJCh0b3BfYnVpbGRkaXIpL2NvdmVyYWdlL2xpYnhtbDIuaW5mbworCWVjaG8gIkNvdmVyYWdlIHJlcG9ydCBpcyBpbiAkKHRvcF9idWlsZGRpcikvY292ZXJhZ2UvaW5kZXguaHRtbCIKKworY2xlYW4tY292OgorCXJtIC1yZiAkKHRvcF9idWlsZGRpcikvY292ZXJhZ2UKKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9NYWtlZmlsZS50ZXN0cyBiL2xpYnhtbDIvTWFrZWZpbGUudGVzdHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjE5Y2JmYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvTWFrZWZpbGUudGVzdHMKQEAgLTAsMCArMSw0MSBAQAorIworIyBZb3UgbWF5IGhhdmUgdG8gYWp1c3QgdG8gY2FsbCB0aGUgcmlnaHQgY29tcGlsZXIsIG9yIG90aGVyIG9wcmlvbnMKKyMgZm9yIGNvbXBpbGluZyBhbmQgbGlua2luZworIworCitDRkxBR1M9YHhtbDItY29uZmlnIC0tY2ZsYWdzYAorTElCUz1geG1sMi1jb25maWcgLS1saWJzYAorVEhSRUFETElCPSAtbHB0aHJlYWQKK0VYRUVYVD0KKworYWxsOiBydW50ZXN0JChFWEVFWFQpIHJ1bnN1aXRlJChFWEVFWFQpIHRlc3RhcGkkKEVYRUVYVCkgdGVzdGNoYXIkKEVYRUVYVCkKKworY2xlYW46CisJJChSTSkgcnVudGVzdCQoRVhFRVhUKSBydW5zdWl0ZSQoRVhFRVhUKSB0ZXN0YXBpJChFWEVFWFQpCisKK2NoZWNrOiBkb19ydW50ZXN0IGRvX3Rlc3RjaGFyIGRvX3Rlc3RhcGkgZG9fcnVuc3VpdGUKKworcnVudGVzdCQoRVhFRVhUKTogcnVudGVzdC5jCisJJChDQykgLW8gcnVudGVzdCQoRVhFRVhUKSAkKENGTEFHUykgcnVudGVzdC5jICQoTElCUykgJChUSFJFQURMSUIpCisKK2RvX3J1bnRlc3Q6IHJ1bnRlc3QkKEVYRUVYVCkKKwkuL3J1bnRlc3QKKworcnVuc3VpdGUkKEVYRUVYVCk6IHJ1bnN1aXRlLmMKKwkkKENDKSAtbyBydW5zdWl0ZSQoRVhFRVhUKSAkKENGTEFHUykgcnVuc3VpdGUuYyAkKExJQlMpCisKK2RvX3J1bnN1aXRlOiBydW5zdWl0ZSQoRVhFRVhUKQorCS4vcnVuc3VpdGUKKwordGVzdGFwaSQoRVhFRVhUKTogdGVzdGFwaS5jCisJJChDQykgLW8gdGVzdGFwaSQoRVhFRVhUKSAkKENGTEFHUykgdGVzdGFwaS5jICQoTElCUykKKworZG9fdGVzdGFwaTogdGVzdGFwaSQoRVhFRVhUKQorCS4vdGVzdGFwaQorCit0ZXN0Y2hhciQoRVhFRVhUKTogdGVzdGNoYXIuYworCSQoQ0MpIC1vIHRlc3RjaGFyJChFWEVFWFQpICQoQ0ZMQUdTKSB0ZXN0Y2hhci5jICQoTElCUykKKworZG9fdGVzdGNoYXI6IHRlc3RjaGFyJChFWEVFWFQpCisJLi90ZXN0Y2hhcgorCmRpZmYgLS1naXQgYS9saWJ4bWwyL01ha2VmaWxlLndpbiBiL2xpYnhtbDIvTWFrZWZpbGUud2luCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBkMzYwNTcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL01ha2VmaWxlLndpbgpAQCAtMCwwICsxLDM0IEBACisjIFRoaXMgaXMgYSBtYWtlZmlsZSBmb3Igd2luMzIgc3lzdGVtcyAoVkMgNS4wKS4KKyMgQ2hyaXN0b3BoZXIgQmxpenphcmQKKyMgaHR0cDovL29kaW4uYXBwbGllZHRoZW9yeS5jb20vCisKK0NDID0gY2wKK0NGTEFHUyA9IC9jIC9HQiAvR2kgL25vbG9nbyAvSS4gL0RXSU4zMiAvTVQgL1ppCisKK0xEID0gbGluaworTERGTEFHUyA9IC9ERUJVRyAvTk9ERUZBVUxUTElCOmxpYmMKKworQVIgPSBsaWIKKworYWxsOiB4bWwubGliCisKK3Rlc3Q6IHRlc3Rlci5leGUKKworU0hBUkVEX09CSlMgPSBlbnRpdGllcy5vYmogcGFyc2VyLm9iaiB0cmVlLm9iaiBTQVgub2JqCisKK3htbC5saWI6ICQoU0hBUkVEX09CSlMpCisJJChBUikgL291dDp4bWwubGliICQoU0hBUkVEX09CSlMpCisKK3Rlc3Rlci5vYmo6ICQoU0hBUkVEX09CSlMpCisJJChDQykgJChDRkxBR1MpIHRlc3Rlci5jIC9vdXQ6dGVzdGVyLm9iagorCit0ZXN0ZXIuZXhlOiB0ZXN0ZXIub2JqIHhtbC5saWIKKwkkKExEKSAkKExERkxBR1MpIC9vdXQ6dGVzdGVyLmV4ZSB0ZXN0ZXIub2JqIHhtbC5saWIKKworY2xlYW46CisJLWRlbCAvZiAkKFNIQVJFRF9PQkpTKSB0ZXN0ZXIub2JqCisJLWRlbCAvZiB0ZXN0ZXIuZXhlCisJLWRlbCAvZiB4bWwubGliCisJLWRlbCAvZiAqLnBkYgorCS1kZWwgL2YgKi5pZGIKKwktZGVsIC9mICouaWxrCmRpZmYgLS1naXQgYS9saWJ4bWwyL05FV1MgYi9saWJ4bWwyL05FV1MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODAyN2Q1NQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvTkVXUwpAQCAtMCwwICsxLDI2NDIgQEAKKworICAgICAgICBORVdTIGZpbGUgZm9yIGxpYnhtbDIKKworICBOb3RlIHRoYXQgdGhpcyBpcyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBuZXdzIHdlYnBhZ2UgYXQ6CisgICAgICAgaHR0cDovL3htbHNvZnQub3JnL25ld3MuaHRtbAorCitUaGUgY2hhbmdlIGxvZyBhdCAKK0NoYW5nZUxvZy5odG1sCisgZGVzY3JpYmVzIHRoZSByZWNlbnRzIGNvbW1pdHMKK3RvIHRoZSBHSVQgYXQgCitodHRwOi8vZ2l0Lmdub21lLm9yZy9icm93c2UvbGlieG1sMi8KKyBjb2RlIGJhc2UuSGVyZSBpcyB0aGUgbGlzdCBvZiBwdWJsaWMgcmVsZWFzZXM6CisyLjkuMjogT2N0IDE2IDIwMTQ6CisgICAtIFNlY3VyaXR5OgorICBGaXggZm9yIENWRS0yMDE0LTM2NjAgYmlsbGlvbiBsYXVnaCB2YXJpYW50IChEYW5pZWwgVmVpbGxhcmQpLAorICBDVkUtMjAxNC0wMTkxIERvIG5vdCBmZXRjaCBleHRlcm5hbCBwYXJhbWV0ZXIgZW50aXRpZXMgKERhbmllbCBWZWlsbGFyZCkKKyAgCisgICAtIEJ1ZyBGaXhlczoKKyAgZml4IG1lbW9yeSBsZWFrIHhtbCBoZWFkZXIgZW5jb2RpbmcgZmllbGQgd2l0aCBYTUxfUEFSU0VfSUdOT1JFX0VOQyAoQmFydCBEZSBTY2h1eW1lciksCisgIHhtbG1lbW9yeTogaGFuZGxlIHJlYWxsb2MgcHJvcGVybHkgKFllZ29yIFllZnJlbW92KSwKKyAgUHl0aG9uIGdlbmVyYXRvciBidWcgcmFpc2VkIGJ5IHRoZSBjb25zdCBjaGFuZ2UgKERhbmllbCBWZWlsbGFyZCksCisgIFdpbmRvd3MgQ3JpdGljYWwgc2VjdGlvbnMgbm90IHJlbGVhc2VkIGNvcnJlY3RseSAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgUGFyc2VyIGVycm9yIG9uIHJlcGVhdGVkIHJlY3Vyc2l2ZSBlbnRpdHkgZXhwYW5zaW9uIGNvbnRhaW5pbmcgJmx0OyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgeHBvaW50ZXIgOiBmaXhpbmcgTnVsbCBQb2ludGVycyAoR2F1cmF2IEd1cHRhKSwKKyAgUmVtb3ZlIFVubmVjZXNzYXJ5IE51bGwgY2hlY2sgaW4geHBvaW50ZXIuYyAoR2F1cmF2IEd1cHRhKSwKKyAgcGFyc2VyIGJ1ZyBvbiBtaXNmb3JtZWQgbmFtZXNwYWNlIGF0dHJpYnV0ZXMgKERlbm5pcyBGaWxkZXIpLAorICBQb2ludGVyIGRlcmVmZXJlbmNlZCBiZWZvcmUgbnVsbCBjaGVjayAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgTGVhayBvZiBzdHJ1Y3QgYWRkcmluZm8gaW4geG1sTmFub0ZUUENvbm5lY3QoKSAoR2F1cmF2IEd1cHRhKSwKKyAgUG9zc2libGUgb3ZlcmZsb3cgaW4gSFRNTFBhcnNlci5jIChEYW5pZWwgVmVpbGxhcmQpLAorICBweXRob24vdGVzdHMvc3luYy5weSBhc3N1bWVzIFB5dGhvbiBkaWN0aW9uYXJpZXMgYXJlIG9yZGVyZWQgKEpvaG4gQmVjayksCisgIEZpeCBFbnVtIGNoZWNrIGFuZCBtaXNzaW5nIGJyZWFrIChHYXVyYXYgR3VwdGEpLAorICB4bWxJTzogSGFuZGxlIGVycm9yIHJldHVybnMgZnJvbSBkdXAoKSAoUGhpbGlwIFdpdGhuYWxsKSwKKyAgRml4IGEgcHJvYmxlbSBwcm9wZXJseSBzYXZpbmcgVVJJcyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgd3JvbmcgZXJyb3IgY29sdW1uIGluIHN0cnVjdHVyZWQgZXJyb3Igd2hlbiBwYXJzaW5nIGF0dHJpYnV0ZSB2YWx1ZXMgKEp1ZXJnZW4gS2VpbCksCisgIHdyb25nIGVycm9yIGNvbHVtbiBpbiBzdHJ1Y3R1cmVkIGVycm9yIHdoZW4gc2tpcHBpbmcgd2hpdGVzcGFjZSBpbiB4bWwgZGVjbCAoSnVlcmdlbiBLZWlsKSwKKyAgbm8gZXJyb3IgY29sdW1uIGluIHN0cnVjdHVyZWQgZXJyb3IgaGFuZGxlciBmb3IgeG1sIHNjaGVtYSB2YWxpZGF0aW9uIGVycm9ycyAoSnVlcmdlbiBLZWlsKSwKKyAgQ291cGxlIG9mIE1pc3NpbmcgTnVsbCBjaGVja3MgKEdhdXJhdiBHdXB0YSksCisgIEFkZCBjb3VwbGUgb2YgbWlzc2luZyBOdWxsIGNoZWNrcyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgeG1sc2NoZW1hc3R5cGVzOiBGaXggcG90ZW50aWFsIGFycmF5IG92ZXJmbG93IChQaGlsaXAgV2l0aG5hbGwpLAorICBydW50ZXN0OiBGaXggYSBtZW1vcnkgbGVhayBvbiBwYXJzZSBmYWlsdXJlIChQaGlsaXAgV2l0aG5hbGwpLAorICB4bWxJTzogRml4IGFuIEZEIGxlYWsgb24gZ3pkb3BlbigpIGZhaWx1cmUgKFBoaWxpcCBXaXRobmFsbCksCisgIHhtbGNhdGFsb2c6IEZpeCBhIG1lbW9yeSBsZWFrIG9uIHF1aXQgKFBoaWxpcCBXaXRobmFsbCksCisgIEhUTUxwYXJzZXI6IENvcnJlY3RseSBpbml0aWFsaXNlIGEgc3RhY2sgYWxsb2NhdGVkIHN0cnVjdHVyZSAoUGhpbGlwIFdpdGhuYWxsKSwKKyAgQ2hlY2sgZm9yIHRtb24gaW4gX3htbFNjaGVtYURhdGVBZGQoKSBpcyBpbmNvcnJlY3QgKERhdmlkIEtpbHplciksCisgIEF2b2lkIFBvc3NpYmxlIE51bGwgUG9pbnRlciBpbiB0cmlvLmMgKEdhdXJhdiBHdXB0YSksCisgIEZpeCBwcm9jZXNzaW5nIGluIFNBWDIgaW4gY2FzZSBvZiBhbiBhbGxvY2F0aW9uIGZhaWx1cmUgKERhbmllbCBWZWlsbGFyZCksCisgIFhNTCBTaGVsbCBjb21tYW5kICJjZCIgZG9lcyBub3QgaGFuZGxlICIvIiBhdCBlbmQgb2YgcGF0aCAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgRml4IHZhcmlvdXMgTWlzc2luZyBOdWxsIGNoZWNrcyAoR2F1cmF2IEd1cHRhKSwKKyAgRml4IGEgcG90ZW50aWFsIE5VTEwgZGVyZWZlcmVuY2UgKERhbmllbCBWZWlsbGFyZCksCisgIEFkZCBhIGNvdXBsZSBvZiBtaXNpc25nIGNoZWNrIGluIHhtbFJlbGF4TkdDbGVhbnVwVHJlZSAoR2F1cmF2IEd1cHRhKSwKKyAgQWRkIGEgbWlzc2luZyBhcmd1bWVudCBjaGVjayAoR2F1cmF2IEd1cHRhKSwKKyAgQWRkaW5nIGEgY2hlY2sgaW4gY2FzZSBvZiBhbGxvY2F0aW9uIGVycm9yIChHYXVyYXYgR3VwdGEpLAorICB4bWxTYXZlVXJpKCkgaW5jb3JyZWN0bHkgcmVjb21wb3NlcyBVUklzIHdpdGggcm9vdGxlc3MgcGF0aHMgKERlbm5pcyBGaWxkZXIpLAorICBBZGRpbmcgc29tZSBtaXNzaW5nIE5VTEwgY2hlY2tzIChHYXVyYXYpLAorICBGaXhlcyBmb3IgeG1sSW5pdFBhcnNlckN0eHQgKERhbmllbCBWZWlsbGFyZCksCisgIEZpeCByZWdyZXNzaW9ucyBpbnRyb2R1Y2VkIGJ5IENWRS0yMDE0LTAxOTEgcGF0Y2ggKERhbmllbCBWZWlsbGFyZCksCisgIGVycm9uZW91c2x5IGlnbm9yZXMgYSB2YWxpZGF0aW9uIGVycm9yIGlmIG5vIGVycm9yIGNhbGxiYWNrIHNldCAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgeG1sbGludCB3YXMgbm90IHBhcnNpbmcgdGhlIC0tYzE0bjExIGZsYWcgKFPDqXJnaW8gQmF0aXN0YSksCisgIEF2b2lkIFBvc3NpYmxlIG51bGwgcG9pbnRlciBkZXJlZmVyZW5jZSBpbiBtZW1vcnkgZGVidWcgbW9kZSAoR2F1cmF2KSwKKyAgQXZvaWQgRG91YmxlIE51bGwgQ2hlY2sgKEdhdXJhdiksCisgIFJlc3RvcmUgY29udGV4dCBzaXplIGFuZCBwb3NpdGlvbiBhZnRlciBYUEFUSF9PUF9BUkcgKE5pY2sgV2VsbG5ob2ZlciksCisgIEZpeCB4bWxQYXJzZUluTm9kZUNvbnRleHQoKSBpZiBub2RlIGlzIG5vdCBlbGVtZW50IChEYW5pZWwgVmVpbGxhcmQpLAorICBBdm9pZCBhIHBvc3NpYmxlIE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZSAoR2F1cmF2KSwKKyAgRml4IHhtbFRleHRXcml0ZXJXcml0ZUVsZW1lbnQgd2hlbiBhIG51bGwgY29udGVudCBpcyBnaXZlbiAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgRml4IGFuIHR5cG8gJ29ucmVzdCcgaW4gaHRtbFNjcmlwdEF0dHJpYnV0ZXMgKERhbmllbCBWZWlsbGFyZCksCisgIGZpeGluZyBhIHB0b3RlbnRpYWwgdW5pbml0aWFsaXplZCBhY2Nlc3MgKERhbmllbCBWZWlsbGFyZCksCisgIEZpeCBhbiBmZCBsZWFrIGluIGFuIGVycm9yIGNhc2UgKERhbmllbCBWZWlsbGFyZCksCisgIE1pc3NpbmcgaW5pdGlhbGl6YXRpb24gZm9yIHRoZSBjYXRhbG9nIG1vZHVsZSAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgSGFuZGxpbmcgb2YgWFBhdGggZnVuY3Rpb24gYXJndW1lbnRzIGluIGVycm9yIGNhc2UgKE5pY2sgV2VsbG5ob2ZlciksCisgIEZpeCBhIGNvdXBsZSBvZiBtaXNzaW5nIE5VTEwgY2hlY2tzIChHYXVyYXYpLAorICBBdm9pZCBhIHBvc3NpYmlsaXR5IG9mIGRhbmdsaW5nIGVuY29kaW5nIGhhbmRsZXIgKEdhdXJhdiksCisgIEZpeCBIVE1MIHB1c2ggcGFyc2VyIHRvIGFjY2VwdCBIVE1MX1BBUlNFX05PREVGRFREIChBcm5vbGQgSGVuZHJpa3MpLAorICBGaXggYSBidWcgbG9hZGluZyBzb21lIGNvbXByZXNzZWQgZmlsZXMgKE1pa2UgQWxleGFuZGVyKSwKKyAgRml4IFhQYXRoIG5vZGUgY29tcGFyaXNvbiBidWcgKEdhdXJhdiksCisgIFR5cGUgbWlzbWF0Y2ggaW4geG1sc2NoZW1hcy5jIChHYXVyYXYpLAorICBUeXBlIG1pc21hdGNoIGluIHhtbHNjaGVtYXN0eXBlcy5jIChHYXVyYXYpLAorICBBdm9pZCBhIGRlYWRjb2RlIGluIGNhdGFsb2cuYyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgcnVuIGNsb3NlIHNvY2tldCBvbiBTb2xhcmlzLCBzYW1lIGFzIHdlIGRvIG9uIG90aGVyIHBsYXRmb3JtcyAoRGVuaXMgUGF1ayksCisgIEZpeCBwb2ludGVyIGRlcmVmZXJlbmNlZCBiZWZvcmUgbnVsbCBjaGVjayAoR2F1cmF2KSwKKyAgRml4IGEgcG90ZW50aWFsIE5VTEwgZGVyZWZlcmVuY2UgaW4gdHJlZSBjb2RlIChEYW5pZWwgVmVpbGxhcmQpLAorICBGaXggcG90ZW50aWFsIE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZXMgaW4gcmVnZXhwIGNvZGUgKEdhdXJhdiksCisgIHhtbGxpbnQgLS1wcmV0dHkgY3Jhc2hlZCB3aXRob3V0IGZvbGxvd2luZyBudW1lcmljIGFyZ3VtZW50IChUaW0gR2FsZWNrYXMpLAorICBGaXggWFBhdGggZXhwcmVzc2lvbnMgb2YgdGhlIGZvcm0gJ0BuczoqJyAoTmljayBXZWxsbmhvZmVyKSwKKyAgRml4IFhQYXRoICcvLycgb3B0aW1pemF0aW9uIHdpdGggcHJlZGljYXRlcyAoTmljayBXZWxsbmhvZmVyKSwKKyAgQ2xlYXIgdXAgYSBwb3RlbnRpYWwgTlVMTCBkZXJlZmVyZW5jZSAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgRml4IGEgcG9zc2libGUgTlVMTCBkZXJlZmVyZW5jZSAoR2F1cmF2KSwKKyAgQXZvaWQgY3Jhc2ggaWYgYWxsb2NhdGlvbiBmYWlscyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgUmVtb3ZlIG9jY2FzaW9uYWwgbGVhZGluZyBzcGFjZSBpbiBYUGF0aCBudW1iZXIgZm9ybWF0dGluZyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgRml4IGhhbmRsaW5nIG9mIG1tYXAgZXJyb3JzIChEYW5pZWwgVmVpbGxhcmQpLAorICBDYXRjaCBtYWxsb2MgZXJyb3IgYW5kIGV4aXQgYWNjb3JkaW5nbHkgKERhbmllbCBWZWlsbGFyZCksCisgIG1pc3NpbmcgZWxzZSBpbiB4bGluay5jIChBbWkgRmlzY2htYW4pLAorICBGaXggYSBwYXJzaW5nIGJ1ZyBvbiBub24tYXNjaWkgZWxlbWVudCBhbmQgQ1IvTEYgdXNhZ2UgKERhbmllbCBWZWlsbGFyZCksCisgIEZpeCBhIHJlZ3Jlc3Npb24gaW4geG1sR2V0RG9jQ29tcHJlc3NNb2RlKCkgKERhbmllbCBWZWlsbGFyZCksCisgIHByb3Blcmx5IHF1b3RlIHRoZSBuYW1lc3BhY2UgdXJpcyB3cml0dGVuIG91dCBkdXJpbmcgYzE0biAoQWxla3NleSBTYW5pbiksCisgIFJlbW92ZSBwcmVtYXR1cmUgWEluY2x1ZGUgY2hlY2sgb24gVVJJIGJlaW5nIHJlbGF0aXZlIChBbGV4ZXkgTmV5bWFuKSwKKyAgRml4IG1pc3NpbmcgYnJlYWsgb24gbGFzdCgpIGZ1bmN0aW9uIGZvciBhdHRyaWJ1dGVzIChkY2IpLAorICBEbyBub3QgVVJJIGVzY2FwZSBpbiBzZXJ2ZXIgc2lkZSBpbmNsdWRlcyAoUm9tYWluIEJvbmR1ZSksCisgIEZpeCBhbiBlcnJvciBpbiB4bWxDbGVhbnVwUGFyc2VyIChBbGV4YW5kZXIgUGFzdHVraG92KQorICAKKyAgIC0gRG9jdW1lbnRhdGlvbjoKKyAgdHlwbyBpbiBlcnJvciBtZXNzYWdlcyAiY29sb24gYXJlIGZvcmJpZGRlbiBmcm9tLi4uIiAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgRml4IGEgbGluayB0byBKYW1lcyBTQVggZG9jdW1lbnRhdGlvbiBvbGQgcGFnZSAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgRml4IHR5cG9zIGluIHJlbGF4bmcuYyAoSmFuIFBva29ybsO9KSwKKyAgRml4IGEgZG9jIHR5cG8gKERhbmllbCBWZWlsbGFyZCksCisgIEZpeCB0eXBvcyBpbiB7dHJlZSx4cGF0aH0uYyAoZXJycm9yKSAoSmFuIFBva29ybsO9KSwKKyAgQWRkIGxpbWl0YXRpb25zIGFib3V0IGVuY29kaW5nIGNvbnZlcnNpb24gKERhbmllbCBWZWlsbGFyZCksCisgIEZpeCB0eXBvcyBpbiB4bWxzY2hlbWFzeyx0eXBlc30uYyAoSmFuIFBva29ybsO9KSwKKyAgRml4IGluY29ycmVjdCBzcGVsbGluZyBlbnRpdGVzLT5lbnRpdGllcyAoSmFuIFBva29ybsO9KSwKKyAgRm9yZ290IHRvIGRvY3VtZW50IDIuOS4xIHJlbGVhc2UsIHJlZ2VuZXJhdGUgZG9jcyAoRGFuaWVsIFZlaWxsYXJkKQorICAKKyAgIC0gUG9ydGFiaWxpdHk6CisgIEFDX0NPTkZJR19GSUxFUyBhbmQgZXhlY3V0YWJsZSBiaXQgKFJvdW1lbiBQZXRyb3YpLAorICByZW1vdmUgSEFWRV9DT05GSUdfSCBkZXBlbmRlbmN5IGluIHRlc3RsaW1pdHMuYyAoUm91bWVuIFBldHJvdiksCisgIGZpeCBzb21lIHRhYnMgbWl4aW5nIGluY29tcGF0aWJsZSB3aXRoIHB5dGhvbjMgKFJvdW1lbiBQZXRyb3YpLAorICBWaXN1YWwgU3R1ZGlvIDE0IENUUCBkZWZpbmVzIHNucHJpbnRmKCkgKEZyYW5jaXMgRHVwb250KSwKKyAgT1M0MDA6IGRvIG5vdCB0cnkgdG8gY29weSB1bmV4aXN0aW5nIGRvYyBmaWxlcyAoUGF0cmljayBNb25uZXJhdCksCisgIE9TNDAwOiB1c2UgZWl0aGVyIGNvbmZpZ3VyZS5hYyBvciBjb25maWd1cmUuaW4uIChQYXRyaWNrIE1vbm5lcmF0KSwKKyAgb3M0MDA6IG1ha2Utc3JjLnNoOiBjcmVhdGUgcGh5c2ljYWwgZmlsZSB3aXRoIHRhcmdldCBDQ1NJRCAoUGF0cmljayBNb25uZXJhdCksCisgIE9TNDAwOiBBZGQgc29tZSBtb3JlIEMgbWFjcm9zIGVxdWl2YWxlbnQgcHJvY2VkdXJlcy4gKFBhdHJpY2sgTW9ubmVyYXQpLAorICBPUzQwMDogdXNlIEMgbWFjcm9zIHRvIGltcGxlbWVudCBlcXVpdmFsZW50IFJQRyBzdXBwb3J0IHByb2NlZHVyZXMuIChQYXRyaWNrIE1vbm5lcmF0KSwKKyAgT1M0MDA6IGltcGxlbWVudCBYUGF0aCBtYWNyb3MgYXMgcHJvY2VkdXJlcyBmb3IgSUxFL1JQRyBzdXBwb3J0LiAoUGF0cmljayBNb25uZXJhdCksCisgIE9TNDAwOiBpbmNsdWRlIGluIGRpc3RyaWJ1dGlvbiB0YXJiYWxsLiAoUGF0cmljayBNb25uZXJhdCksCisgIE9TNDAwOiBBZGQgUkVBRE1FOiBjb21waWxhdGlvbiBkaXJlY3RpdmVzIGFuZCBPUy80MDAgc3BlY2lmaWMgc3R1ZmYuIChQYXRyaWNrIE1vbm5lcmF0KSwKKyAgT1M0MDA6IEFkZCBjb21waWxhdGlvbiBzY3JpcHRzLiAoUGF0cmljayBNb25uZXJhdCksCisgIE9TNDAwOiBJTEUgUlBHIGxhbmd1YWdlIGhlYWRlciBmaWxlcy4gKFBhdHJpY2sgTW9ubmVyYXQpLAorICBPUzQwMDogaW1wbGVtZW50IHNvbWUgbWFjcm9zIGFzIGZ1bmN0aW9ucyBmb3IgSUxFL1JQRyBsYW5ndWFnZSBzdXBwb3J0ICh0aGF0IGFzIG5vIG1hY3JvcykuIChQYXRyaWNrIE1vbm5lcmF0KSwKKyAgT1M0MDA6IFVURjg8LS0+RUJDRElDIHdyYXBwZXJzIGZvciBzeXN0ZW0gYW5kIGV4dGVybmFsIGxpYnJhcnkgY2FsbHMgKFBhdHJpY2sgTW9ubmVyYXQpLAorICBPUzQwMDogRWFzeSBjaGFyYWN0ZXIgdHJhbnNjb2Rpbmcgc3VwcG9ydCAoUGF0cmljayBNb25uZXJhdCksCisgIE9TNDAwOiBpY29udiBmdW5jdGlvbnMgY29tcGF0aWJpbGl0eSB3cmFwcGVycyBhbmQgdGFibGUgYnVpbGRlci4gKFBhdHJpY2sgTW9ubmVyYXQpLAorICBPUzQwMDogY3JlYXRlIGFyY2hpdGVjdHVyZSBkaXJlY3RvcnkuIEltcGxlbWVudCBkbGZjbiBlbXVsYXRpb24uIChQYXRyaWNrIE1vbm5lcmF0KSwKKyAgRml4IGJ1aWxkaW5nIHdoZW4gY29uZmlndXJpbmcgd2l0aG91dCB4cGF0aCBhbmQgeHB0ciAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgY29uZmlndXJlOiBBZGQgLS13aXRoLXB5dGhvbi1pbnN0YWxsLWRpciAoSm9uYXMgRXJpa3Nzb24pLAorICBGaXggY29tcGlsYXRpb24gd2l0aCBtaW5pbXVtIGFuZCB4aW5jbHVkZS4gKE5pY29sYXMgTGUgQ2FtKSwKKyAgQ29tcGlsZSBvdXQgdXNlIG9mIHhtbFZhbGlkYXRlTkNOYW1lKCkgd2hlbiBub3QgYXZhaWxhYmxlLiAoTmljb2xhcyBMZSBDYW0pLAorICBGaXggY29tcGlsYXRpb24gd2l0aCBtaW5pbXVtIGFuZCBzY2hlbWF0cm9uLiAoTmljb2xhcyBMZSBDYW0pLAorICBMZWdhY3kgbmVlZHMgeG1sU0FYMlN0YXJ0RWxlbWVudCgpIGFuZCB4bWxTQVgyRW5kRWxlbWVudCgpLiAoTmljb2xhcyBMZSBDYW0pLAorICBEb24ndCB1c2UgeG1sVmFsaWRhdGVOYW1lKCkgd2hlbiBub3QgYXZhaWxhYmxlLiAoTmljb2xhcyBMZSBDYW0pLAorICBGaXggYSBwb3J0YWJpbGl0eSBpc3N1ZSBvbiBXaW5kb3dzIChMb25nc3RyZXRoIEpvbiksCisgIFZhcmlvdXMgcG9ydGFiaWxpdHkgcGF0Y2hlcyBmb3IgT3BlblZNUyAoSmFjb2IgKEpvdWspIEphbnNlbiksCisgIFVzZSBzcGVjaWZpYyBtYWNyb3MgZm9yIHBvcnRhYmlsaXR5IHRvIE9TLzQwMCAoUGF0cmljayBNb25uZXJhdCksCisgIEFkZCBtYWNyb3MgbmVlZGVkIGZvciBPUy80MDAgcG9ydGFiaWxpdHkgKFBhdHJpY2sgTW9ubmVyYXQpLAorICBQb3J0YWJpbGl0eSBwYXRjaCBmb3IgZm9wZW4gb24gT1MvNDAwIChQYXRyaWNrIE1vbm5lcmF0KSwKKyAgUG9ydGFiaWxpdHkgZml4ZXMgZm9yIE9TLzQwMCAoUGF0cmljayBNb25uZXJhdCksCisgIEltcHJvdmUgdmFfbGlzdCBwb3J0YWJpbGl0eSAoUGF0cmljayBNb25uZXJhdCksCisgIFBvcnRhYmlsaXR5IGZpeCAoUGF0cmljayBNb25uZXJhdCksCisgIFBvcnRhYmlsaXR5IGZpeCAoUGF0cmljayBNb25uZXJhdCksCisgIEdlbmVyaWMgcG9ydGFiaWxpdHkgZml4IChQYXRyaWNrIE1vbm5lcmF0KSwKKyAgU2hvcnRlbmluZyBsaW5lcyBpbiBoZWFkZXJzIChQYXRyaWNrIE1vbm5lcmF0KSwKKyAgYnVpbGQ6IFVzZSBwa2ctY29uZmlnIHRvIGZpbmQgbGlibHptYSBpbiBwcmVmZXJlbmNlIHRvIEFDX0NIRUNLX0xJQiAoUGhpbGlwIFdpdGhuYWxsKSwKKyAgYnVpbGQ6IEFkZCBATFpNQV9MSUJTQCB0byBsaWJ4bWzigJlzIHBrZy1jb25maWcgZmlsZXMgKFBoaWxpcCBXaXRobmFsbCksCisgIGZpeCBzb21lIHRhYnMgbWl4aW5nIGluY29tcGF0aWJsZSB3aXRoIHB5dGhvbjMgKERhbmllbCBWZWlsbGFyZCksCisgIGFkZCBhZGRpdGlvbmFsIGRlZmluZXMgY2hlY2tzIGZvciBzdXBwb3J0ICIuL2NvbmZpZ3VyZSAtLXdpdGgtbWluaW11bSIgKERlbmlzIFBhdWspLAorICBBbm90aGVyIHJvdW5kIG9mIGZpeGVzIGZvciBvbGRlciB2ZXJzaW9ucyBvZiBQeXRob24gKEFyZnJldmVyIEZyZWh0ZXMgVGFpZmVyc2FyIEFyYWhlc2lzKSwKKyAgcHl0aG9uOiBmaXggZHJ2X2xpYnhtbDIucHkgZm9yIHB5dGhvbjMgY29tcGF0aWJpbGl0eSAoQWxleGFuZHJlIFJvc3RvdnRzZXYpLAorICBweXRob246IEZpeCBjb21waWxlciB3YXJuaW5ncyB3aGVuIGJ1aWxkaW5nIHB5dGhvbjMgYmluZGluZ3MgKEFybWluIEspLAorICBGaXggZm9yIGNvbXBpbGF0aW9uIHdpdGggcHl0aG9uIDIuNi44IChQZXRyIFN1bWJlcmEpCisgIAorICAgLSBJbXByb3ZlbWVudHM6CisgIHdpbjMyL2xpYnhtbDIuZGVmLnNyYyBhZnRlciByZWJ1aWxkIGluIGRvYyAoUm91bWVuIFBldHJvdiksCisgIGVsZmdjY2hhY2suaDogbW9yZSBsZWdhY3kgbmVlZHMgeG1sU0FYMlN0YXJ0RWxlbWVudCgpIGFuZCB4bWxTQVgyRW5kRWxlbWVudCgpIChSb3VtZW4gUGV0cm92KSwKKyAgZWxmZ2NjaGFjay5oOiBhZGQgeG1sWFBhdGhOb2RlRXZhbCBhbmQgeG1sWFBhdGhTZXRDb250ZXh0Tm9kZSAoUm91bWVuIFBldHJvdiksCisgIFByb3ZpZGUgY21ha2UgbW9kdWxlIChTYW11ZWwgTWFydGluKSwKKyAgRml4IGEgY291cGxlIG9mIGlzc3VlcyByYWlzZWQgYnkgbWFrZSBkaXN0IChEYW5pZWwgVmVpbGxhcmQpLAorICBGaXggYW5kIGFkZCBjb25zdCBxdWFsaWZpZXJzIChLdXJ0IFJvZWNreCksCisgIFByZXBhcmluZyBmb3IgdXBjb21pbmcgcmVsZWFzZSBvZiAyLjkuMiAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgRml4IHpsaWIgYW5kIGx6bWEgbGlicmFyaWVzIGNoZWNrIHZpYSBjb21tYW5kIGxpbmUgKERtaXRyaXkpLAorICB3cm9uZyBlcnJvciBjb2x1bW4gaW4gc3RydWN0dXJlZCBlcnJvciB3aGVuIHBhcnNpbmcgZW5kIHRhZyAoSnVlcmdlbiBLZWlsKSwKKyAgZG9jL25ld3MuaHRtbDogc21hbGwgdXBkYXRlIHRvIGF2b2lkIGxpbmUgam9pbiB3aGlsZSBnZW5lcmF0aW5nIE5FV1MuIChQYXRyaWNrIE1vbm5lcmF0KSwKKyAgQWRkIG1ldGhvZHMgZm9yIHB5dGhvbjMgaXRlcmF0b3IgKFJvbiBBbmdlbGVzKSwKKyAgU3VwcG9ydCBlbGVtZW50IG5vZGUgdHJhdmVyc2FsIGluIGRvY3VtZW50IGZyYWdtZW50cy4gKEt5bGUgVmFuZGVyQmVlayksCisgIHhtbE5vZGVTZXROYW1lOiBBbGxvdyBzZXR0aW5nIHRoZSBuYW1lIHRvIGEgc3Vic3RyaW5nIG9mIHRoZSBjdXJyZW50bHkgc2V0IG5hbWUgKFRyaXN0YW4gVmFuIEJlcmtvbSksCisgIEFkZGVkIG1hY3JvcyBmb3IgYXJndW1lbnQgY2FzdHMgKEVyaWMgWnVyY2hlciksCisgIGFkZGluZyBpbml0IGNhbGxzIHRvIHhtbCBhbmQgaHRtbCBSZWFkIHBhcnNpbmcgZW50cnkgcG9pbnRzIChEYW5pZWwgVmVpbGxhcmQpLAorICBHZXQgcmlkIG9mICdSRVBMQUNFTUVOVCBDSEFSQUNURVInIFVuaWNvZGUgY2hhcnMgaW4geG1sc2NoZW1hcy5jIChKYW4gUG9rb3Juw70pLAorICBJbXBsZW1lbnQgY2hvaWNlIGZvciBuYW1lIGNsYXNzZXMgb24gYXR0cmlidXRlcyAoU2hhdW4gTWNDYW5jZSksCisgIFR3byBzbWFsbCBuYW1lc3BhY2UgdHdlYWtzIChEYW5pZWwgVmVpbGxhcmQpLAorICB4bWxsaW50IC0tbWVtb3J5IHNob3VsZCBmYWlsIG9uIGVtcHR5IGZpbGVzIChEYW5pZWwgVmVpbGxhcmQpLAorICBDYXN0IGVuY29kaW5nIG5hbWUgdG8gY2hhciBwb2ludGVyIHRvIG1hdGNoIGFyZyB0eXBlIChOaWtvbGF5IFNpdm92KQorICAKKyAgIC0gQ2xlYW51cHM6CisgIFJlbW92YWwgb2Ygb2xkIGNvbmZpZ3VyZS5pbiAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgVW5yZWFjaGFibGUgY29kZSBpbiB0cmVlLmMgKEdhdXJhdiBHdXB0YSksCisgIFJlbW92ZSBhIGNvdXBsZSBvZiBkZWFkIGNvbmRpdGlvbnMgKEdhdXJhdiBHdXB0YSksCisgIEF2b2lkIHNvbWUgZGVhZCBjb2RlIGFuZCBjbGVhbnVwIGluIHJlbGF4bmcuYyAoR2F1cmF2KSwKKyAgRHJvcCBub3QgbmVlZGVkIGNoZWNrcyAoRGVuaXMgUGF1ayksCisgIEZpeCBhIHdyb25nIHRlc3QgKERhbmllbCBWZWlsbGFyZCkKKyAgCisKKworMi45LjE6IEFwciAxOSAyMDEzOgorICAgLSAgRmVhdHVyZXM6CisgICAgU3VwcG9ydCBmb3IgUHl0aG9uMyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBBZGQgeG1sWFBhdGhTZXRDb250ZXh0Tm9kZSBhbmQgeG1sWFBhdGhOb2RlRXZhbCAoQWxleCBCbGlnaCkKKyAgCisgICAtICBEb2N1bWVudGF0aW9uOgorICAgIEFkZCBkb2N1bWVudGF0aW9uIGZvciB4bWxsaW50IC0teHBhdGggKERhbmllbCBWZWlsbGFyZCksCisgICAgRml4IHRoZSBVUkwgb2YgdGhlIFNBWCBkb2N1bWVudGF0aW9uIGZyb20gSmFtZXMgKERhbmllbCBWZWlsbGFyZCksCisgICAgRml4IHNwZWxsaW5nIG9mICJsZW5ndGgiLiAoTWljaGFlbCBXb29kKQorICAKKyAgIC0gIFBvcnRhYmlsaXR5OgorICAgIEZpeCBweXRob24gYmluZGluZ3Mgd2l0aCB2ZXJzaW9ucyBvbGRlciB0aGFuIDIuNyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICByZWJ1aWxkIGRvY3M6TWFrZWZpbGUuYW0gKFJvdW1lbiBQZXRyb3YpLAorICAgIGVsZmdjY2hhY2suaCBhZnRlciByZWJ1aWxkIGluIGRvYyAoUm91bWVuIFBldHJvdiksCisgICAgZWxmZ2NjaGFjayBmb3IgYnVmIG1vZHVsZSAoUm91bWVuIFBldHJvdiksCisgICAgRml4IGEgdW5lZWRlZCBhbmQgd3JvbmcgZXh0cmEgbGluayBwYXJhbWV0ZXIgKERhbmllbCBWZWlsbGFyZCksCisgICAgRmV3IGNsZWFudXAgcGF0Y2hlcyBmb3IgV2luZG93cyAoRGVuaXMgUGF1ayksCisgICAgRml4IHJwbWJ1aWxkIC0tbm9jaGVjayAoTWFyayBTYWx0ZXIpLAorICAgIEZpeCBmb3Igd2luMzIvY29uZmlndXJlLmpzIGFuZCBXSVRIX1RIUkVBRF9BTExPQyAoRGFuaWVsIFJpY2hhcmQpLAorICAgIEZpeCBCcm9rZW4gbXVsdGktYXJjaCBzdXBwb3J0IGluIHhtbDItY29uZmlnIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEZpeCBhIHBvcnRhYmlsaXR5IGlzc3VlIGZvciBHQ0MgPCAzLjQuMCAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBXaW5kb3dzIGJ1aWxkIGZpeGVzIChEYW5pZWwgUmljaGFyZCksCisgICAgRml4IGEgdGhyZWFkIHBvcnRhYmlsaXR5IHByb2JsZW0gKEZyaWVkcmljaCBIYXViZW5zYWspLAorICAgIERvd25ncmFkZSBhdXRvY29uZiByZXF1aXJlbWVudCB0byAyLjYzIChEYW5pZWwgVmVpbGxhcmQpCisgIAorICAgLSAgQnVnIEZpeGVzOgorICAgIEZpeCBhIGxpbmtpbmcgZXJyb3IgZm9yIHB5dGhvbiBiaW5kaW5ncyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggYSBjb3VwbGUgb2YgcmV0dXJuIHdpdGhvdXQgdmFsdWUgKErDvHJpIEFlZGxhKSwKKyAgICBJbXByb3ZlIHRoZSBoYXNoaW5nIGZ1bmN0aW9ucyAoRGFuaWVsIEZyYW5rZSksCisgICAgSW1wcm92ZSBoYW5kbGluZyBvZiB4bWxTdG9wUGFyc2VyKCkgKERhbmllbCBWZWlsbGFyZCksCisgICAgUmVtb3ZlIHJpc2sgb2YgbG9ja3VwIGluIGRpY3Rpb25hcnkgaW5pdGlhbGl6YXRpb24gKERhbmllbCBWZWlsbGFyZCksCisgICAgQWN0aXZhdGUgZGV0ZWN0aW9uIG9mIGVuY29kaW5nIGluIGV4dGVybmFsIHN1YnNldCAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggYW4gb3V0cHV0IGJ1ZmZlciBmbHVzaGluZyBjb252ZXJzaW9uIGJ1ZyAoTWlraGFpbCBUaXRvdiksCisgICAgRml4IGFuIG9sZCBidWcgaW4geG1sU2NoZW1hVmFsaWRhdGVPbmVFbGVtZW50IChDc2FiYSBMw6FzemzDsyksCisgICAgRml4IGNvbmZpZ3VyZSBjYW5ub3QgcmVtb3ZlIG1lc3NhZ2VzIChHaWxsZXMgRXNwaW5hc3NlKSwKKyAgICBmaXggc2NoZW1hIHZhbGlkYXRpb24gaW4gY29tYmluYXRpb24gd2l0aCB4c2k6bmlsIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIHhtbEN0eHRSZWFkRmlsZSBkb2Vzbid0IHdvcmsgd2l0aCBsaXRlcmFsIElQdjYgVVJMcyAoU3RldmUgV29sZiksCisgICAgRml4IGEgZmV3IHByb2JsZW1zIHdpdGggc2V0RW50aXR5TG9hZGVyIChBbGV4ZXkgTmV5bWFuKSwKKyAgICBEZXRlY3QgZXhjZXNzaXZlIGVudGl0aWVzIGV4cGFuc2lvbiB1cG9uIHJlcGxhY2VtZW50IChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEZpeCB0aGUgZmx1c2hpbmcgb3V0IG9mIHJhdyBidWZmZXJzIG9uIGVuY29kaW5nIGNvbnZlcnNpb25zIChEYW5pZWwsCitWZWlsbGFyZCksCisgICAgRml4IHNvbWUgYnVmZmVyIGNvbnZlcnNpb24gaXNzdWVzIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIFdoZW4gY2FsbGluZyB4bWxOb2RlRHVtcCBtYWtlIHN1cmUgd2UgZ3JvdyB0aGUgYnVmZmVyIHF1aWNrbHkgKERhbmllbCwKK1ZlaWxsYXJkKSwKKyAgICBGaXggYW4gZXJyb3IgaW4gdGhlIHByb2dyZXNzaXZlIERURCBwYXJzaW5nIGNvZGUgKERhbiBXaW5zaGlwKSwKKyAgICB4bWxsaW50IHNob3VsZCBub3QgbG9hZCBEVEQgYnkgZGVmYXVsdCB3aGVuIHVzaW5nIHRoZSByZWFkZXIgKERhbmllbCwKK1ZlaWxsYXJkKSwKKyAgICBUcnkgSUJNLTAzNyB3aGVuIGxvb2tpbmcgZm9yIEVCQ0RJQyBoYW5kbGVycyAoUGV0ciBTdW1iZXJhKSwKKyAgICBGaXggcG90ZW50aWFsIG91dCBvZiBib3VuZCBhY2Nlc3MgKERhbmllbCBWZWlsbGFyZCksCisgICAgRml4IGxhcmdlIHBhcnNlIG9mIGZpbGUgZnJvbSBtZW1vcnkgKERhbmllbCBWZWlsbGFyZCksCisgICAgRml4IGEgYnVnIGluIHRoZSBuc2NsZWFuIG9wdGlvbiBvZiB0aGUgcGFyc2VyIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEZpeCBhIHJlZ3Jlc3Npb24gaW4gMi45LjAgYnJlYWtpbmcgdmFsaWRhdGlvbiB3aGlsZSBzdHJlYW1pbmcgKERhbmllbCwKK1ZlaWxsYXJkKSwKKyAgICBSZW1vdmUgcG90ZW50aWFsIGNhbGxzIHRvIGV4aXQoKSAoRGFuaWVsIFZlaWxsYXJkKQorICAKKyAgIC0gIEltcHJvdmVtZW50czoKKyAgICBSZWdlbmVyYXRlZCBBUEksIGFuZCB0ZXN0YXBpLCByZWJ1aWxkIGRvY3VtZW50YXRpb24gKERhbmllbCBWZWlsbGFyZCksCisgICAgRml4IHRyZWUgaXRlcmF0b3JzIGJyb2tlbiBieSAydG8zIHNjcmlwdCAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICB1cGRhdGUgYWxsIHRlc3RzIGZvciBQeXRob24zIGFuZCBQeXRob24yIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEEgZmV3IG1vcmUgZml4ZXMgZm9yIHB5dGhvbiAzIGFmZmVjdGluZyBsaWJ4bWwyLnB5IChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEZpeCBjb21waWxhdGlvbiBvbiBQeXRob24zIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIENvbnZlcnRpbmcgYXBpYnVpbGQucHkgdG8gcHl0aG9uMyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXJzdCBwYXNzIGF0IHN0YXJ0aW5nIHBvcnRpbmcgdG8gcHl0aG9uMyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICB1cGRhdGVkIGNvbmZpZ3VyZS5pbiBmb3IgcHl0aG9uMyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBBZGQgc3VwcG9ydCBmb3IgeHBhdGhSZWdpc3RlclZhcmlhYmxlIGluIFB5dGhvbiAoU2hhdW4gTWNDYW5jZSksCisgICAgQWRkZWQgYSByZWdyZXNzaW9uIHRlc3RzIGZyb20gYnVnIDY5NDIyOCBkYXRhIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIENhY2hlIHByZXNlbmNlIG9mICc8JyBpbiBlbnRpdGllcyBjb250ZW50IChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEF2b2lkIGV4dHJhIHByb2Nlc3Npbmcgb24gZW50aXRpZXMgKERhbmllbCBWZWlsbGFyZCksCisgICAgUHl0aG9uIGJpbmRpbmcgZm9yIHhtbFJlZ2lzdGVySW5wdXRDYWxsYmFjayAoQWxleGV5IE5leW1hbiksCisgICAgUHl0aG9uIGJpbmRpbmdzOiBET00gY2FzdHMgZXZlcnl0aGluZyB0byB4bWxOb2RlIChBbGV4ZXkgTmV5bWFuKSwKKyAgICBEZWZpbmUgTElCWE1MX1RIUkVBRF9BTExPQ19FTkFCTEVEIHZpYSB4bWx2ZXJzaW9uLmggKFRpbSBTdGFybGluZyksCisgICAgQWRkaW5nIHN0cmVhbWluZyB2YWxpZGF0aW9uIHRvIHJ1bnRlc3QgY2hlY2tzIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEFkZCBhIC0tcHVzaHNtYWxsIG9wdGlvbiB0byB4bWxsaW50IChEYW5pZWwgVmVpbGxhcmQpCisgIAorICAgLSAgQ2xlYW51cHM6CisgICAgU3dpdGNoZWQgY29tbWVudCBpbiBmaWxlIHRvIFVURi04IGVuY29kaW5nIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEV4dGVuZCBnaXRpZ25vcmUgKERhbmllbCBWZWlsbGFyZCksCisgICAgU2lsZW50IHRoZSBuZXcgcHl0aG9uIHRlc3Qgb24gaW5wdXQgKEFsZXhleSBOZXltYW4pLAorICAgIENsZWFudXAgb2YgYSBkdXBsaWNhdGUgdGVzdCAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBDbGVhbnVwIG9uIGR1cGxpY2F0ZSB0ZXN0IGV4cHJlc3Npb25zIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEZpeCBjb21waWxlciB3YXJuaW5nIGFmdGVyIDE1M2NmMTU5MDVjZjRlYzA4MDYxMmFkYTY3MDM3NTdkMTBjYWJhMWUgKFBhdHJpY2ssCitHYW5zdGVyZXIpLAorICAgIFNwZWMgY2xlYW51cHMgYW5kIGEgZml4IGZvciBtdWx0aWFyY2ggc3VwcG9ydCAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBTaWxlbmNlIGEgY2xhbmcgd2FybmluZyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBDbGVhbnVwIHRoZSBDb3B5cmlnaHQgdG8gYmUgcHVyZSBNSVQgTGljZW5jZSB3b3JkaW5nIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIHJhbmRfc2VlZCBzaG91bGQgYmUgc3RhdGljIGluIGRpY3QuYyAoV291dGVyIFZhbiBSb295KSwKKyAgICBGaXggdHlwb3MgaW4gcGFyc2VyIGNvbW1lbnRzIChKYW4gUG9rb3Juw70pCisgIAorCisKKzIuOS4wOiBTZXAgMTEgMjAxMjoKKyAgIC0gIEZlYXR1cmVzOgorICAgIEEgZmV3IG5ldyBBUEkgZW50cnkgcG9pbnRzLAorICAgIE1vcmUgcmVzaWxpZW50IHB1c2ggcGFyc2VyIG1vZGUsCisgICAgQSBsb3Qgb2YgcG9ydGFiaWxpdHkgaW1wcm92ZW1lbnQsCisgICAgRmFzdGVyIFhQYXRoIGV2YWx1YXRpb24KKyAgCisgICAtICBEb2N1bWVudGF0aW9uOgorICAgIHhtbDItY29uZmlnLjEgbWFya3VwIGVycm9yIChDaHJpc3RpYW4gV2Vpc2dlcmJlciksCisgICAgbGlieG1sKDMpIG1hbnBhZ2UgdHlwbyBmaXggKEpvaG4gQnJhZHNoYXcpLAorICAgIE1vcmUgY2xlYW51cHMgdG8gdGhlIGRvY3VtZW50YXRpb24gcGFydCBvZiBsaWJ4bWwyIChEYW5pZWwgUmljaGFyZCBHKQorICAKKyAgIC0gIFBvcnRhYmlsaXR5OgorICAgIEJ1ZyA2NzY1NDQgLSBmYWlscyB0byBidWlsZCB3aXRoIC0td2l0aG91dC1zYXgxIChBa2lyYSBUQUdPSCksCisgICAgZml4IGJ1aWxkcyBub3QgaGF2aW5nIHN0ZGludC5oIChSb2IgUmljaGFyZHMpLAorICAgIEdldFByb2NBZGRyZXNzQSBpcyBhdmFpbGFibGUgb25seSBvbiBXaW5DRSAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBNb3JlIHVwZGF0ZXMgYW5kIGNsZWFudXBzIG9uIGF1dG90b29scyBhbmQgTWFrZWZpbGVzIChEYW5pZWwgUmljaGFyZCBHKSwKKyAgICBNb3JlIGNoYW5nZXMgZm9yIFdpbjMyIGNvbXBpbGF0aW9uIChFcmljIFp1cmNoZXIpLAorICAgIEJhc2ljIGNoYW5nZXMgZm9yIFdpbjMyIGJ1aWxkcyBvZiByZWxlYXNlIDIuOS4wOiBjb21waWxlIGJ1Zi5jIChFcmljIFp1cmNoZXIpLAorICAgIEJ1bmRsZXMgYWxsIGdlbmVyYXRlZCBmaWxlcyBmb3IgcHl0aG9uIGludG8gdGhlIGRpc3RyaWJ1dGlvbiAoRGFuaWVsIFJpY2hhcmQgRyksCisgICAgRml4IGNvbXBpbGVyIHdhcm5pbmdzIG9mIHdpbmNlY29tcGF0LmMgKFBhdHJpY2sgR2Fuc3RlcmVyKSwKKyAgICBGaXggbm9uIF9fR05VQ19fIGJ1aWxkIChQYXRyaWNrIEdhbnN0ZXJlciksCisgICAgRml4IHdpbmRvd3MgdW5pY29kZSBidWlsZCAoUGF0cmljayBHYW5zdGVyZXIpLAorICAgIGNsZWFuIHJlZGVmaW5pdGlvbiBvZiB7dn1zbnByaW50ZiBpbiBDLXNvdXJjZSAoUm91bWVuIFBldHJvdiksCisgICAgdXNlIHhtbEJ1Zi4uLiBpZiBERUJVR19JTlBVVCBpcyBkZWZpbmVkIChSb3VtZW4gUGV0cm92KSwKKyAgICBmaXggcnVudGVzdHMgdG8gdXNlIHB0aHJlYWRzIHN1cHBvcnQgZm9yIHZhcmlvdXMgVW5peCBwbGF0Zm9ybXMgKERhbmllbCBSaWNoYXJkIEcpLAorICAgIFZhcmlvdXMgIm1ha2UgZGlzdGNoZWNrIiBhbmQgcG9ydGFiaWxpdHkgZml4dXBzIDJuZCBwYXJ0IChEYW5pZWwgUmljaGFyZCBHKSwKKyAgICBWYXJpb3VzICJtYWtlIGRpc3RjaGVjayIgYW5kIHBvcnRhYmlsaXR5IGZpeHVwcyAoRGFuaWVsIFJpY2hhcmQgRyksCisgICAgRml4IGNvbXBpbGF0aW9uIG9uIG9sZGVyIFZpc3VhbCBTdHVkaW8gKERhbmllbCBWZWlsbGFyZCkKKyAgCisgICAtICBCdWcgRml4ZXM6CisgICAgQ2hhbmdlIHRoZSBYUGF0aCBjb2RlIHRvIHBlcmNvbGF0ZSBhbGxvY2F0aW9uIGVycm9ycyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggcmV1c2Ugb2YgeG1sSW5pdFBhcnNlciAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggcG90ZW50aWFsIGNyYXNoIG9uIGVudGl0aWVzIGVycm9ycyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBpbml0aWFsaXplIHZhciAoUm9iIFJpY2hhcmRzKSwKKyAgICBGaXggdGhlIFhQYXRoIGFyaXR5IGNoZWNrIHRvIGFsc28gY2hlY2sgdGhlIFhQYXRoIHN0YWNrIGxpbWl0cyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggcHJvYmxlbSB3aXRoIHNwZWNpZmljIGFuZCBnZW5lcmljIGVycm9yIGhhbmRsZXJzIChQaWV0cm8gQ2VydXR0aSksCisgICAgQXZvaWQgYSBwb3RlbnRpYWwgaW5maW5pdGUgcmVjdXJzaW9uIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEZpeCBhbiBYU0QgZXJyb3Igd2hlbiBnZW5lcmF0aW5nIGludGVybmFsIGF1dG9tYXRhIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIFBhdGNoIGZvciB4aW5jbHVkZSBvZiB0ZXh0IHVzaW5nIG11bHRpYnl0ZSBjaGFyYWN0ZXJzIChWaXRhbHkgT3N0YW5pbiksCisgICAgRml4IGEgc2VnZmF1bHQgb24gWFNEIHZhbGlkYXRpb24gb24gcGF0dGVybiBlcnJvciAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggbWlzc2luZyB4bWxzYXZlLmggbW9kdWxlIHdoaWNoIHdhcyBpZ25vcmVkIGluIHJlY2VudCBidWlsZHMgKERhbmllbCBWZWlsbGFyZCksCisgICAgQWRkIGEgbWlzc2luZyBlbGVtZW50IGNoZWNrIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEFkZGluZyB2YXJpb3VzIGNoZWNrcyBvbiBub2RlIHR5cGUgdGhvdWdoIHRoZSBBUEkgKERhbmllbCBWZWlsbGFyZCksCisgICAgTmFtZXNwYWNlIG5vZGVzIGNhbid0IGJlIHVubGlua2VkIHdpdGggeG1sVW5saW5rTm9kZSAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggbWFrZSBkaXN0IHRvIGluY2x1ZGUgbmV3IHByaXZhdGUgaGVhZGVyIGZpbGVzIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIE1vcmUgZml4dXBzIG9uIHRoZSBwdXNoIHBhcnNlciBiZWhhdmlvdXIgKERhbmllbCBWZWlsbGFyZCksCisgICAgU3RyZW5ndGhlbiBiZWhhdmlvdXIgb2YgdGhlIHB1c2ggcGFyc2VyIGluIHByb2JsZW1hdGljIHNpdHVhdGlvbnMgKERhbmllbCBWZWlsbGFyZCksCisgICAgRW5mb3JjZSBYTUxfUEFSU0VSX0VPRiBzdGF0ZSBoYW5kbGluZyB0aHJvdWdoIHRoZSBwYXJzZXIgKERhbmllbCBWZWlsbGFyZCksCisgICAgRml4dXAgbGltaXRzIHBhcnNlciAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBEbyBub3QgZmV0Y2ggZXh0ZXJuYWwgcGFyc2VkIGVudGl0aWVzIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEZpeCBhbiBlcnJvciBpbiBwcmV2aW91cyBjb21taXQgKEFyb24gWHUpLAorICAgIEZpeCBlbnRpdGllcyBsb2NhbCBidWZmZXJzIHNpemUgcHJvYmxlbXMgKERhbmllbCBWZWlsbGFyZCksCisgICAgRml4IHBhcnNlciBsb2NhbCBidWZmZXJzIHNpemUgcHJvYmxlbXMgKERhbmllbCBWZWlsbGFyZCksCisgICAgRml4IGEgZmFpbHVyZSB0byByZXBvcnQgeG1scmVhZGVyIHBhcnNpbmcgZmFpbHVyZXMgKERhbmllbCBWZWlsbGFyZCkKKyAgCisgICAtICBJbXByb3ZlbWVudHM6CisgICAgS2VlcCBsaWJ4bWwyLnN5bXMgd2hlbiBydW5uaW5nICJtYWtlIGRpc3RjbGVhbiIgKERhbmllbCBWZWlsbGFyZCksCisgICAgQWxsb3cgdG8gc2V0IHRoZSBxdW90aW5nIGNoYXJhY3RlciBvZiBhbiB4bWxXcml0ZXIgKENzYWJhIFJhZHVseSksCisgICAgS2VlcCBub24tc2lnbmlmaWNhbnQgYmxhbmtzIG5vZGUgaW4gSFRNTCBwYXJzZXIgKERhbmllbCBWZWlsbGFyZCksCisgICAgQWRkIGEgZm9yYmlkZGVuIHZhcmlhYmxlIGVycm9yIG51bWJlciBhbmQgbWVzc2FnZSB0byBYUGF0aCAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBTdXBwb3J0IGxvbmcgcGF0aCBuYW1lcyBvbiBXTlQgKE1pY2hhZWwgU3RhaGwpLAorICAgIEltcHJvdmUgSFRNTCBlc2NhcGluZyBvZiBhdHRyaWJ1dGUgb24gb3V0cHV0IChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEhhbmRsZSBJQ1VfTElCUyBhcyBMSUJBREQsIG5vdCBMREZMQUdTIHRvIHByZXZlbnQgbGlua2luZyBlcnJvcnMgKEFyZnJldmVyIEZyZWh0ZXMgVGFpZmVyc2FyIEFyYWhlc2lzKSwKKyAgICBTd2l0Y2hpbmcgWFBhdGggbm9kZSBzb3J0aW5nIHRvIFRpbXNvcnQgKFZvanRlY2ggRnJpZWQpLAorICAgIE9wdGltaXppbmcgJy8vJyBpbiBYUGF0aCBleHByZXNzaW9ucyAoTmljayBXZWxsbmhvZmVyKSwKKyAgICBFeHBvc2UgeG1sQnVmU2hyaW5rIGluIHRoZSBwdWJsaWMgdHJlZSBBUEkgKERhbmllbCBWZWlsbGFyZCksCisgICAgVmlzaWJsZSBIVE1MIGVsZW1lbnRzIGNsb3NlIHRoZSBoZWFkIHRhZyAoQ29ucmFkIElyd2luKSwKKyAgICBGaXggZmlsZSBhbmQgbGluZSByZXBvcnQgZm9yIFhTRCBTQVggYW5kIHJlYWRlciBzdHJlYW1pbmcgdmFsaWRhdGlvbiAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggY29uc3QgcXVhbGlmeWVyIHRvIGRlZmluaXRpb24gb2YgeG1sQnVmZmVyRGV0YWNoIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIG1pbmltaXplIHVzZSBvZiBIQVZFX0NPTkZJR19IIChSb3VtZW4gUGV0cm92KSwKKyAgICBmaXh1cCByZWdyZXNzaW9uIGluIFZhcmlvdXMgIm1ha2UgZGlzdGNoZWNrIiBhbmQgcG9ydGFiaWxpdHkgZml4dXBzIChSb3VtZW4gUGV0cm92KSwKKyAgICBBZGQgc3VwcG9ydCBmb3IgYmlnIGxpbmUgbnVtYmVycyBpbiBlcnJvciByZXBvcnRpbmcgKERhbmllbCBWZWlsbGFyZCksCisgICAgQXZvaWQgdXNpbmcgeG1sQnVmZmVyIGZvciBzZXJpYWxpemF0aW9uIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEltcHJvdmUgY29tcGF0aWJpbGl0eSBiZXR3ZWVuIHhtbEJ1ZiBhbmQgeG1sQnVmZmVyIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIFByb3ZpZGUgbmV3IGFjY2Vzc29ycyBmb3IgeG1sT3V0cHV0QnVmZmVyIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEltcHJvdmVtZW50cyBmb3Igb2xkIGJ1ZmZlciBjb21wYXRpYmlsaXR5IChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEV4cGFuZCB0aGUgbGltaXQgdGVzdCBwcm9ncmFtIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEltcHJvdmUgZXJyb3IgcmVwb3J0aW5nIG9uIHBhcnNlciBlcnJvcnMgKERhbmllbCBWZWlsbGFyZCksCisgICAgSW1wbGVtZW50IHNvbWUgZGVmYXVsdCBsaW1pdHMgaW4gdGhlIFhQYXRoIG1vZHVsZSAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBJbnRyb2R1Y2Ugc29tZSBkZWZhdWx0IHBhcnNlciBsaW1pdHMgKERhbmllbCBWZWlsbGFyZCksCisgICAgQ2xlYW51cHMgYW5kIG5ldyBsaW1pdCBBUElzIGZvciBkaWN0aW9uYXJpZXMgKERhbmllbCBWZWlsbGFyZCksCisgICAgRml4dXAgZm9yIGJ1Zi5jIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIENsZWFudXAgVVJJIG1vZHVsZSBtZW1vcnkgYWxsb2NhdGlvbiBjb2RlIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEV4dGVuZCB0ZXN0bGltaXRzIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIE1vcmUgYXZvaWQgcXVhZHJhdGljIGJlaGF2aW91ciAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBJbXBvc2UgYSByZWFzb25hYmxlIGxpbWl0IG9uIFBJIHNpemUgKERhbmllbCBWZWlsbGFyZCksCisgICAgZmlyc3QgdmVyc2lvbiBvZiB0ZXN0bGltaXRzIG5ldyB0ZXN0IChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEF2b2lkIHF1YWRyYXRpYyBiZWhhdmlvdXIgaW4gc29tZSBwdXNoIHBhcnNpbmcgY2FzZXMgKERhbmllbCBWZWlsbGFyZCksCisgICAgSW1wb3NlIGEgcmVhc29uYWJsZSBsaW1pdCBvbiBjb21tZW50IHNpemUgKERhbmllbCBWZWlsbGFyZCksCisgICAgSW1wb3NlIGEgcmVhc29uYWJsZSBsaW1pdCBvbiBhdHRyaWJ1dGUgc2l6ZSAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBIYXJkZW4gdGhlIGJ1ZmZlciBjb2RlIGFuZCBtYWtlIGl0IG1vcmUgY29tcGF0aWJsZSAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBNb3JlIGNsZWFudXBzIGZvciBpbnB1dC9idWZmZXJzIGNvZGUgKERhbmllbCBWZWlsbGFyZCksCisgICAgQ2xlYW51cCBmdW5jdGlvbiB4bWxCdWZSZXNldElucHV0KCksIHRvIHNldCBpbnB1dCBmcm9tIEJ1ZmZlciAoRGFuaWVsIFZlaWxsYXJkKQorICAgIFN3aWN0aCB0aGUgdGVzdCBwcm9ncmFtIGZvciBjaGFyYWN0ZXJzIHRvIG5ldyBpbnB1dCBidWZmZXJzIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIENvbnZlcnQgdGhlIEhUTUwgdHJlZSBtb2R1bGUgdG8gdGhlIG5ldyBidWZmZXJzIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIENvbnZlcnQgb2YgdGhlIEhUTUwgcGFyc2VyIHRvIG5ldyBpbnB1dCBidWZmZXJzIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIENvbnZlcnQgdGhlIHdyaXRlciB0byBuZXcgb3V0cHV0IGJ1ZmZlciBhbmQgc2F2ZSBBUElzIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIENvbnZlcnQgWE1MUmVhZGVyIHRvIHRoZSBuZXcgaW5wdXQgYnVmZmVycyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBOZXcgc2F2aW5nIGZ1bmN0aW9ucyB1c2luZyB4bWxCdWYgYW5kIGNvbnZlcnNpb24gKERhbmllbCBWZWlsbGFyZCksCisgICAgUHJvdmlkZSBuZXcgeG1sQnVmIGJhc2VkIHNhdmluZyBmdW5jdGlvbnMgKERhbmllbCBWZWlsbGFyZCksCisgICAgQ29udmVydCBYSW5jbHVkZSB0byB0aGUgbmV3IGlucHV0IGJ1ZmZlcnMgKERhbmllbCBWZWlsbGFyZCksCisgICAgQ29udmVydCBjYXRhbG9nIGNvZGUgdG8gdGhlIG5ldyBpbnB1dCBidWZmZXJzIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIENvbnZlcnQgQzE0TiB0byB0aGUgbmV3IElucHV0IGJ1ZmZlciAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBDb252ZXJ0IHhtbElPLmMgdG8gdGhlIG5ldyBpbnB1dCBhbmQgb3V0cHV0IGJ1ZmZlcnMgKERhbmllbCBWZWlsbGFyZCksCisgICAgQ29udmVydCBYTUwgcGFyc2VyIHRvIHRoZSBuZXcgaW5wdXQgYnVmZmVycyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBJbmNvbXBhdGlibGUgY2hhbmdlIHRvIHRoZSBJbnB1dCBhbmQgT3V0cHV0IGJ1ZmZlcnMgKERhbmllbCBWZWlsbGFyZCksCisgICAgQWRkaW5nIG5ldyBlbmNvZGluZyBmdW5jdGlvbiB0byBkZWFsIHdpdGggdGhlIG5ldyBzdHJ1Y3R1cmVzIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIENvbnZlcnQgWFBhdGggdG8geG1sQnVmIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEFkZGluZyBhIG5ldyBidWYgbW9kdWxlIGZvciBidWZmZXJzIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIE1lbW9yeSBlcnJvciB3aXRoaW4gU0FYMiByZXVzZSBjb21tb24gZnJhbWV3b3JrIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEZpeCB4bWxsaW50IC0teHBhdGggbm9kZSBpbml0aWFsaXphdGlvbiAoRGFuaWVsIFZlaWxsYXJkKQorICAKKyAgIC0gIENsZWFudXBzOgorICAgIFZhcmlvdXMgY2xlYW51cHMgdG8gYXZvaWQgY29tcGlsZXIgd2FybmluZ3MgKERhbmllbCBWZWlsbGFyZCksCisgICAgQmlnIHNwYWNlIGFuZCB0YWIgY2xlYW51cCAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGb2xsb3d1cCB0byBMaWJYTUwyIGRvY3MvZXhhbXBsZXMgY2xlYW51cCBwYXRjaCAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBTZWNvbmQgcm91bmQgb2YgY2xlYW51cHMgZm9yIExpYlhNTDIgZG9jcy9leGFtcGxlcyAoRGFuaWVsIFJpY2hhcmQpLAorICAgIFJlbW92ZSBhbGwgLmN2c2lnbm9yZSBhcyB0aGV5IGFyZSBub3QgdXNlZCBhbnltb3JlIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEZpeCBhIFRpbXNvcnQgZnVuY3Rpb24gaGVscGVyIGNvbW1lbnQgKERhbmllbCBWZWlsbGFyZCksCisgICAgU21hbGwgY2xlYW51cCBmb3IgdmFsZ3JpbmQgdGFyZ2V0IChEYW5pZWwgVmVpbGxhcmQpLAorICAgIFBhdGNoIGZvciBwb3J0YWJpbGl0eSBvZiBsYXRpbiBjaGFyYWN0ZXJzIGluIEMgZmlsZXMgKERhbmllbCBWZWlsbGFyZCksCisgICAgQ2xlYW51cCBzb21lIG9mIHRoZSBwYXJzZXIgY29kZSAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggYSB2YXJpYWJsZSBuYW1lIGluIGNvbW1lbnQgKERhbmllbCBWZWlsbGFyZCksCisgICAgUmVnZW5lcmF0ZWQgdGVzdGFwaS5jIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIFJlZ2VuZXJhdGluZyBkb2NzIGFuZCBBUEkgZmlsZXMgKERhbmllbCBWZWlsbGFyZCksCisgICAgU21hbGwgY2xlYW51cCBvZiB1bnVzZWQgdmFyaWFibGVzIGluIHRlc3QgKERhbmllbCBWZWlsbGFyZCksCisgICAgRXhwYW5kIC5naXRpZ25vcmUgd2l0aCBtb3JlIGZpbGVzIChEYW5pZWwgVmVpbGxhcmQpCisgIAorCisKKzIuOC4wOiBNYXkgMjMgMjAxMjoKKyAgIC0gRmVhdHVyZXM6CisgIGFkZCBsem1hIGNvbXByZXNzaW9uIHN1cHBvcnQgKEFuZGVycyBGIEJqb3JrbHVuZCkKKyAgCisgICAtIERvY3VtZW50YXRpb246CisgICAgeG1sY2F0YWxvZzogQWRkIHVyaSBhbmQgZGVsZWdhdGVVUkkgdG8gcG9zc2libGUgYWRkIHR5cGVzIGluIG1hbiBwYWdlLiAoVmlsbGUgU2t5dHTDpCksCisgICAgVXBkYXRlIFJFQURNRS50ZXN0cyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBVUkkgaGFuZGxpbmcgY29kZSBpcyBub3QgT09NIHJlc2lsaWVudCAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggYW4gZXJyb3IgaW4gY29tbWVudCAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXhlZCBidWcgIzYxNzAxNiAoRGFuaWVsIE11c3RpZWxlcyksCisgICAgRml4ZWQgdHdvIHR5cG9zIGluIHRoZSBSRUFETUUgZG9jdW1lbnQgKERhbmllbCBOZWVsKSwKKyAgICBhZGQgZ2VuZXJhdGVkIGh0bWwgZmlsZXMgKEFuZGVycyBGIEJqb3JrbHVuZCksCisgICAgQ2xhcmlmeSB0aGUgbmVlZCB0byB1c2UgeG1sRnJlZU5vZGUgYWZ0ZXIgeG1sVW5saW5rTm9kZSAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBJbXByb3ZlIGRvY3VtZW50YXRpb24gYSBiaXQgKERhbmllbCBWZWlsbGFyZCksCisgICAgVXBkYXRlZCBVUkwgZm9yIGx4bWwgcHl0aG9uIGJpbmRpbmdzIChEYW5pZWwgVmVpbGxhcmQpCisgIAorICAgLSBQb3J0YWJpbGl0eToKKyAgICBSZXN0b3JlIGNvZGUgZm9yIFdpbmRvd3MgY29tcGlsYXRpb24gKERhbmllbCBWZWlsbGFyZCksCisgICAgUmVtb3ZlIGdpdCBlcnJvciBtZXNzYWdlIGR1cmluZyBjb25maWd1cmUgKENocmlzdGlhbiBEeXdhbiksCisgICAgeG1sbGludDogQnVpbGQgZml4IGZvciBlbmRUaW1lciBpZiAhZGVmaW5lZChIQVZFX0dFVFRJTUVPRkRBWSkgKFBhdHJpY2sgUi4gR2Fuc3RlcmVyKSwKKyAgICByZW1vdmUgYSBiYXNoaXNtIGluIGNvbmZndXJlLmluIChKb2huIEhlaW4pLAorICAgIHVuZGVmIEVSUk9SIGlmIGFscmVhZHkgZGVmaW5lZCAoUGF0cmljayBSLiBHYW5zdGVyZXIpLAorICAgIEZpeCBsaWJyYXJ5IHByb2JsZW1zIHdpdGggbWluZ3ctdzY0IChNaWNoYWVsIENyb25lbndvcnRoKSwKKyAgICBmaXggd2luZG93cyBidWlsZC4gaWZkZWYgYWRkaXRpb24gZnJvbSBidWcgNjY2NDkxIG1ha2VzIG5vIHNlbnNlIChSb2IgUmljaGFyZHMpLAorICAgIHByZWZlciBuYXRpdmUgdGhyZWFkcyBvbiB3aW4zMiAoU2FtIFRodXJzZmllbGQpLAorICAgIEFsbG93IHRvIGNvbXBpbGUgd2l0aCBWaXN1YWwgU3R1ZGlvIDIwMTAgKFRob21hcyBMZW1tKSwKKyAgICBGaXggbWluZ3cncyBzbnByaW50ZiBjb25maWd1cmUgY2hlY2sgKEFuZG9uaSBNb3JhbGVzKSwKKyAgICBmaXhlZCBhIDY0Yml0IGJpZyBlbmRpYW4gaXNzdWUgKE1hcmN1cyBNZWlzc25lciksCisgICAgRml4IHBvcnRhYmlsaXR5IGZhaWx1cmUgaWYgbmV0ZGIuaCBsYWNrcyBOT19BRERSRVNTIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEZpeCB3aW5kb3dzIGJ1aWxkIGZyb20gbHptYSBhZGRpdGlvbiAoUm9iIFJpY2hhcmRzKSwKKyAgICBhdXRvZ2VuOiBPbmx5IGNoZWNrIGZvciBsaWJ0b29saXplIChDb2xpbiBXYWx0ZXJzKSwKKyAgICBGaXggdGhlIFdpbmRvd3MgYnVpbGQgZmlsZXMgKFBhdHJpY2sgdm9uIFJldGgpLAorICAgIDYzNDg0NiBSZW1vdmUgYSBsaW5raW5nIG9wdGlvbiBicmVha2luZyBXaW5kb3dzIFZDMTAgKERhbmllbCBWZWlsbGFyZCksCisgICAgNTk5MjQxIGZpeCBhbiBpbml0aWFsaXphdGlvbiBwcm9ibGVtIG9uIFdpbjY0IChBbmRyZXcgVy4gTm9zZW5rbyksCisgICAgZml4IHdpbiBidWlsZCAoUm9iIFJpY2hhcmRzKQorICAKKyAgIC0gQnVnIGZpeGVzOgorICAgIFBhcnQgZm9yIHJhbmRfciBjaGVja2luZyBtaXNzaW5nIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIENsZWFudXAgb24gcmFuZG9taXphdGlvbiAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggdW5kZWZpbmVkIHJlZmVyZW5jZSBpbiBweXRob24gbW9kdWxlIChQYWNobyBSYW1vcyksCisgICAgRml4IGEgcmFjZSBpbiB4bWxOZXdJbnB1dFN0cmVhbSAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggd2VpcmQgc3RyZWFtaW5nIFJlbGF4TkcgZXJyb3JzIChOb2FtKSwKKyAgICBGaXggdmFyaW91cyBidWdzIGluIG5ldyBjb2RlIHJhaXNlZCBieSB0aGUgQVBJIGNoZWNraW5nIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEZpeCB2YXJpb3VzIHByb2JsZW1zIHdpdGggIm1ha2UgZGlzdCIgKERhbmllbCBWZWlsbGFyZCksCisgICAgRml4IGEgbWVtb3J5IGxlYWsgaW4gdGhlIHh6bGliIGNvZGUgKERhbmllbCBWZWlsbGFyZCksCisgICAgSFRNTCBwYXJzZXIgZXJyb3Igd2l0aCA8bm9zY3JpcHQ+IGluIHRoZSA8aGVhZD4gKERlbmlzIFBhdWspLAorICAgIFhTRDogb3B0aW9uYWwgZWxlbWVudCBpbiBjb21wbGV4IHR5cGUgZXh0ZW5zaW9uIChSZW1pIEdhY29nbmUpLAorICAgIEZpeCBodG1sIHNlcmlhbGl6YXRpb24gZXJyb3IgYW5kIGh0bWxTZXRNZXRhRW5jb2RpbmcoKSAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggYSB3cm9uZyByZXR1cm4gdmFsdWUgaW4gcHJldmlvdXMgcGF0Y2ggKERhbmllbCBWZWlsbGFyZCksCisgICAgRml4IGFuIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgdXNlIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEZpeCBhIGNvbXBpbGF0aW9uIHByb2JsZW0gd2l0aCAtLW1pbmltdW0gKEJyYW5kb24gU2xhY2spLAorICAgIFJlbW92ZSByZWR1bmRhbnQgYW5kIHVuZ2FyZGVkIGluY2x1ZGUgb2YgcmVzb2x2LmggKERhbmllbCBWZWlsbGFyZCksCisgICAgeGluY2x1ZGUgd2l0aCBwYXJzZT0idGV4dCIgZG9lcyBub3QgdXNlIHRoZSBlbnRpdHkgbG9hZGVyIChTaGF1biBNY0NhbmNlKSwKKyAgICBBbGxvdyB0byBwYXJzZSAxIGJ5dGUgSFRNTCBmaWxlcyAoRGVuaXMgUGF1ayksCisgICAgUGF0Y2ggdGhhdCBmaXhlcyB0aGUgc2tpcHBpbmcgb2YgdGhlIEhUTUxfUEFSU0VfTk9JTVBMSUVEIGZsYWcgKE1hcnRpbiBTY2hyw7ZkZXIpLAorICAgIEF2b2lkIG1lbW9yeSBsZWFrIGlmIHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlSU8gZmFpbHMgKExpbiBZaS1MaSksCisgICAgUHJldmVudCBhbiBpbmZpbml0ZSBsb29wIHdoZW4gZHVtcGluZyBhIG5vZGUgd2l0aCBlbmNvZGluZyBwcm9ibGVtcyAoVGltb3RoeSBFbGxpb3R0KSwKKyAgICB4bWxQYXJzZU5vZGVJbkNvbnRleHQgcHJvYmxlbXMgd2l0aCBhbiBlbXB0eSBkb2N1bWVudCAoVGltIEVsbGlvdHQpLAorICAgIEhUTUwgZWxlbWVudCBwb3NpdGlvbiBpcyBub3QgZGV0ZWN0ZWQgcHJvcHBlcmx5IChQYXZlbCBBbmRyZWpzKSwKKyAgICBGaXggYW4gb2ZmIGJ5IG9uZSBwb2ludGVyIGFjY2VzcyAoSsO8cmkgQWVkbGEpLAorICAgIFRyeSB0byBmaXggYSBwcm9ibGVtIHdpdGggZW50aXRpZXMgaW4gU0FYIG1vZGUgKERhbmllbCBWZWlsbGFyZCksCisgICAgRml4IGEgY3Jhc2ggd2l0aCB4bWxsaW50IC0tcGF0aCBvbiBlbXB0eSByZXN1bHRzIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEZpeGVkIGJ1ZyAjNjY3OTQ2IChEYW5pZWwgTXVzdGllbGVzKSwKKyAgICBGaXggYSBsb2dpYyBlcnJvciBpbiBTY2hlbWFzIENvbXBvbmVudCBDb25zdHJhaW50cyAoUnlhbiBTbGVldmkpLAorICAgIEZpeCBhIHdyb25nIGVudW0gdHlwZSB1c2UgaW4gU2NoZW1hcyBUeXBlcyAoTmljbyBXZWJlciksCisgICAgRml4IFNBWDIgYnVpbGRlciBpbiBjYXNlIG9mIHVuZGVmaW5lZCBhdHRyaWJ1dGVzIG5hbWVzcGFjZSAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggU0FYMiBidWlsZGVyIGluIGNhc2Ugb2YgdW5kZWZpbmVkIGVsZW1lbnQgbmFtZXNwYWNlcyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBmaXggcmVmZXJlbmNlIHRvIFNURE9VVF9GSUxFTk8gb24gTVNWQyAoVGF5IFJheSBDaHVhbiksCisgICAgZml4IGEgcGFpciBvZiBwb3NzaWJsZSBvdXQgb2YgYXJyYXkgY2hhciByZWZlcmVuY2VzIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEZpeCBhbiBhbGxvY2F0aW9uIGVycm9yIHdoZW4gY29weWluZyBlbnRpdGllcyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBNYWtlIHN1cmUgdGhlIHBhcnNlciByZXR1cm5zIHdoZW4gZ2V0dGluZyBhIFN0b3Agb3JkZXIgKENocmlzIEV2YW5zKSwKKyAgICBGaXggc29tZSBwb3RlbnRpYWwgcHJvYmxlbXMgb24gcmVhbGxvY2F0aW9uIGZhaWx1cmVzKHBhcnNlci5jKSAoWGlhIFhpbmZlbmcpLAorICAgIEZpeCBhIHNjaGVtYSB0eXBlIGR1cmF0aW9uIGNvbXBhcmlzb24gb3ZlcmZsb3cgKERhbmllbCBWZWlsbGFyZCksCisgICAgRml4IGFuIHVuaW1wbGVtZW50ZWQgcGFydCBpbiBSTkcgdmFsdWUgdmFsaWRhdGlvbiAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggbWlzc2luZyBlcnJvciBzdGF0dXMgaW4gWFBhdGggZXZhbHVhdGlvbiAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBIYXJkZW5pbmcgb2YgWFBhdGggZXZhbHVhdGlvbiAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggYW4gb2ZmIGJ5IG9uZSBlcnJvciBpbiBlbmNvZGluZyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggUkVMQVggTkcgaW5jbHVkZSBidWcgIzY1NTI4OCAoU2hhdW4gTWNDYW5jZSksCisgICAgRml4IFhTRCB2YWxpZGF0aW9uIGJ1ZyAjNjMwMTMwIChUb3lvZGEgRWl6aSksCisgICAgRml4IHNvbWUgcG90ZW50aWFsIHByb2JsZW1zIG9uIHJlYWxsb2NhdGlvbiBmYWlsdXJlcyAoQ2hyaXMgRXZhbnMpLAorICAgIF9feG1sUmFpc2VFcnJvcjogZml4IHVzZSBvZiB0aGUgc3RydWN0dXJlZCBjYWxsYmFjayBjaGFubmVsIChEbWl0cnkgVi4gTGV2aW4pLAorICAgIF9feG1sUmFpc2VFcnJvcjogZml4IHRoZSBzdHJ1Y3R1cmVkIGNhbGxiYWNrIGNoYW5uZWwncyBkYXRhIGluaXRpYWxpemF0aW9uIChEbWl0cnkgVi4gTGV2aW4pLAorICAgIEZpeCBtZW1vcnkgY29ycnVwdGlvbiB3aGVuIHhtbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeUludGVybmFsIGlzIGNhbGxlZCBmcm9tIHhtbFBhcnNlQmFsYW5jZWRDaHVuayAoUm9iIFJpY2hhcmRzKSwKKyAgICBTbWFsbCBmaXggZm9yIHByZXZpb3VzIGNvbW1pdCAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggYSBwb3RlbnRpYWwgZnJlZWluZyBlcnJvciBpbiBYUGF0aCAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggYSBwb3RlbnRpYWwgbWVtb3J5IGFjY2VzcyBlcnJvciAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBSZWFjdGl2YXRlIHRoZSBzaGFyZWQgbGlicmFyeSB2ZXJzaW9ubmluZyBzY3JpcHQgKERhbmllbCBWZWlsbGFyZCkKKyAgCisgICAtIEltcHJvdmVtZW50czoKKyAgICB1c2UgbWluZ3cgQzk5IGNvbXBhdGlibGUgZnVuY3Rpb25zIHt2fXNucHJpbnRmIGluc3RlYWQgdGhvc2UgZnJvbSBNU1ZDIHJ1bnRpbWUgKFJvdW1lbiBQZXRyb3YpLAorICAgIE5ldyBzeW1ib2xzIGFkZGVkIGZvciB0aGUgbmV4dCByZWxlYXNlIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIHhtbFRleHRSZWFkZXIgYmFpbHMgdG9vIHF1aWNrbHkgb24gZXJyb3IgKEFuZHkgTHV0b21pcnNraSksCisgICAgVXNlIGEgaHlicmlkIGFsbG9jYXRpb24gc2NoZW1lIGluIHhtbE5vZGVTZXRDb250ZW50IChDb25yYWQgSXJ3aW4pLAorICAgIFVzZSBidWZmZXJzIHdoZW4gY29uc3RydWN0aW5nIHN0cmluZyBub2RlIGxpc3RzLiAoQ29ucmFkIElyd2luKSwKKyAgICBBZGQgSFRNTCBwYXJzZXIgc3VwcG9ydCBmb3IgSFRNTDUgbWV0YSBjaGFyc2V0IGVuY29kaW5nIGRlY2xhcmF0aW9uIChEZW5pcyBQYXVrKSwKKyAgICB3cm9uZyBtZXNzYWdlIGZvciBkb3VibGUgaHlwaGVuIGluIGNvbW1lbnQgWE1MIGVycm9yIChCcnlhbiBIZW5kZXJzb24pLAorICAgIEZpeCAibWFrZSB0c3QiIHRvIGdyYWIgbHptYSBsaWIgdG9vIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEFkZCAid2hlcmVpcyIgY29tbWFuZCB0byB4bWxsaW50IHNoZWxsIChSeWFuKSwKKyAgICBJbXByb3ZlIHhtbGxpbnQgc2hlbGwgKFJ5YW4pLAorICAgIGFkZCBmdW5jdGlvbiB4bWxUZXh0UmVhZGVyUmVsYXhOR1ZhbGlkYXRlQ3R4dCgpIChOb2FtIFBvc3RhdnNreSksCisgICAgQWRkIC0tc3lzdGVtIHN1cHBvcnQgdG8gYXV0b2dlbi5zaCAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBBZGQgaGFzaCByYW5kb21pemF0aW9uIHRvIGhhc2ggYW5kIGRpY3Qgc3RydWN0dXJlcyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBpbmNsdWRlZCB4emxpYiBpbiBkaXN0IChBbmRlcnMgRiBCam9ya2x1bmQpLAorICAgIG1vdmUgeHovbHptYSBoZWxwZXJzIHRvIHNlcGFyYXRlIGluY2x1ZGVkIGZpbGVzIChBbmRlcnMgRiBCam9ya2x1bmQpLAorICAgIGFkZCBnZW5lcmF0ZWQgZGV2aGVscCBmaWxlcyAoQW5kZXJzIEYgQmpvcmtsdW5kKSwKKyAgICBhZGQgWE1MX1dJVEhfTFpNQSB0byBhcGkgKEFuZGVycyBGIEJqb3JrbHVuZCksCisgICAgYXV0b2dlbi5zaDogSG9ub3IgTk9DT05GSUdVUkUgZW52aXJvbm1lbnQgdmFyaWFibGUgKENvbGluIFdhbHRlcnMpLAorICAgIEltcHJvdmUgdGhlIGVycm9yIHJlcG9ydCBvbiB1bmRlZmluZWQgUkVGcyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBBZGQgZXhjZXB0aW9uIGZvciBuZXcgVzNDIFBJIHhtbC1tb2RlbCAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBBZGQgb3B0aW9ucyB0byBpZ25vcmUgdGhlIGludGVybmFsIGVuY29kaW5nIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIHRlc3RhcGk6IHVzZSB0aGUgcmlnaHQgdHlwZSBmb3IgdGhlIGNoZWNrIChTdGVmYW4gS29zdCksCisgICAgdmFyaW91czogaGFuZGxlIHJldHVybiB2YWx1ZXMgb2Ygd3JpdGUgY2FsbHMgKFN0ZWZhbiBLb3N0KSwKKyAgICB0ZXN0V3JpdGVyOiB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRFbGVtZW50IHdhbnRzIGFuIGludCBpbnN0ZWFkIG9mIGEgbG9uZyBpbnQgKFN0ZWZhbiBLb3N0KSwKKyAgICBydW54bWxjb25mOiB1cGRhdGUgdG8gbGF0ZXN0IHRlc3RzdWl0ZSB2ZXJzaW9uIChTdGVmYW4gS29zdCksCisgICAgY29uZmlndXJlOiBhZGQgLVduby1sb25nLWxvbmcgdG8gQ0ZMQUdTIChTdGVmYW4gS29zdCksCisgICAgY29uZmlndXJlOiBzdXBwb3J0IHNpbGVudCBhdXRvbWFrZSBydWxlcyBpZiBwb3NzaWJsZSAoU3RlZmFuIEtvc3QpLAorICAgIHhtbG1lbW9yeTogYWRkIGEgY2FzdCBhcyBzaXplX3QgaGFzIG5vIHBvcnRhYmxlIHByaW50ZiBtb2RpZmllciAoU3RlZmFuIEtvc3QpLAorICAgIF9feG1sUmFpc2VFcnJvcjogcmVtb3ZlIHJlZHVuZGFudCBzY2hhbm5lbCBpbml0aWFsaXphdGlvbiAoRG1pdHJ5IFYuIExldmluKSwKKyAgICBfX3htbFJhaXNlRXJyb3I6IGRvIGNoZWFwIGNvZGUgY2hlY2sgZWFybHkgKERtaXRyeSBWLiBMZXZpbikKKyAgCisgICAtIENsZWFudXBzOgorICAgIENsZWFudXBzIGJlZm9yZSAyLjguMC1yYzIgKERhbmllbCBWZWlsbGFyZCksCisgICAgQXZvaWQgYW4gZXh0cmEgb3BlcmF0aW9uIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIFJlbW92ZSB2ZXN0aWdpYWwgZGUtQU5TSS1maWNhdGlvbiBzdXBwb3J0LiAoSmF2aWVyIEphcmTDs24pLAorICAgIGF1dG9nZW4uc2g6IEZpeCB0eXBvIChKYXZpZXIgSmFyZMOzbiksCisgICAgRG8gbm90IHVzZSB1bnNpZ25lZCBidXQgdW5zaWduZWQgaW50IChEYW5pZWwgVmVpbGxhcmQpLAorICAgIFJlbW92ZSB0d28gcmVmZXJlbmNlcyB0byB1X3Nob3J0IChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEZpeCAtV2VtcHR5LWJvZHkgd2FybmluZyBmcm9tIGNsYW5nIChOaWNvIFdlYmVyKSwKKyAgICBDbGVhbnVwcyBvZiBsem1hIHN1cHBvcnQgKERhbmllbCBWZWlsbGFyZCksCisgICAgQXVnbWVudCB0aGUgbGlzdCBvZiBpZ25vcmVkIGZpbGVzIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIHB5dGhvbjogcmVtb3ZlIHVudXNlZCB2YXJpYWJsZSAoU3RlZmFuIEtvc3QpLAorICAgIHB5dGhvbjogZmxhZyB0d28gdW51c2VkIGFyZ3MgKFN0ZWZhbiBLb3N0KSwKKyAgICBjb25maWd1cmU6IGFjY29uZmlnLmggaXMgZGVwcmVjYXRlZCBzaW5jZSBhdXRvY29uZi0yLjUwIChTdGVmYW4gS29zdCksCisgICAgeHBhdGg6IHJlbW92ZSB1bnVzZWQgdmFyaWFibGUgKFN0ZWZhbiBLb3N0KQorICAKKworCisyLjcuODogTm92IDQgMjAxMDoKKyAgIC0gIEZlYXR1cmVzOgorICAgIDQ4MDMyMyBhZGQgY29kZSB0byBwbHVnIGluIElDVSBjb252ZXJ0ZXJzIGJ5IGRlZmF1bHQgKEdpdXNlcHBlIEl1Y3VsYW5vKSwKKyAgICBBZGQgeG1sU2F2ZU9wdGlvbiBYTUxfU0FWRV9XU05PTlNJRyAoQWRhbSBTcHJhZ2cpCisgIAorICAgLSAgRG9jdW1lbnRhdGlvbjoKKyAgICBGaXggZGV2aGVscCBkb2N1bWVudGF0aW9uIGluc3RhbGxhdGlvbiAoTWlrZSBIb21tZXkpLAorICAgIEZpeCB3ZWIgc2l0ZSBlbmNvZGluZyBwcm9ibGVtcyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggYSBjb3VwbGUgb2YgdHlwbyBpbiBIVE1MIHBhcnNlciBlcnJvciBtZXNzYWdlcyAoTWljaGFlbCBEYXkpLAorICAgIEZvcmdvdCB0byB1cGRhdGUgdGhlIG5ld3MgcGFnZSBmb3IgMC43LjcgKERhbmllbCBWZWlsbGFyZCkKKyAgCisgICAtICBQb3J0YWJpbGl0eToKKyAgICA2MDcyNzMgRml4IHB5dGhvbiBkZXRlY3Rpb24gb24gTVN5cy9XaW5kb3dzIChMUk4pLAorICAgIDYxNDA4NyBGaXggU29ja2V0IEFQSSB1c2FnZSB0byBhbGxvdyBXaW5kb3dzNjQgY29tcGlsYXRpb24gKE96a2FuIFNlemVyKSwKKyAgICBGaXggY29tcGlsYXRpb24gd2l0aCBDbGFuZyAoS29vcCBNYXN0KSwKKyAgICBGaXggV2luMzIgYnVpbGQgKFJvYiBSaWNoYXJkcykKKyAgCisgICAtICBCdWcgRml4ZXM6CisgICAgNTk1Nzg5IGZpeCBhIHJlbWFpbmluZyBwb3RlbnRpYWwgU29sYXJpcyBwcm9ibGVtIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIDYxNzQ2OCBmaXggcHJvZ3Jlc3NpdmUgSFRNTCBwYXJzaW5nIHdpdGggc3R5bGUgdXNpbmcgIiciIChEZW5pcyBQYXVrKSwKKyAgICA2MTY0NzggRml4IHhtbGxpbnQgc2hlbGwgd3JpdGUgY29tbWFuZCAoR3dlbm4gS2FoeiksCisgICAgNjE0MDA1IFBvc3NpYmxlIGVycm9uZW91cyBIVE1MIHBhcnNpbmcgb24gdW50ZXJtaW5hdGVkIHNjcmlwdCAoUGllcnJlIEJlbHppbGUpLAorICAgIDYyNzk4NyBGaXggWFNEIElEQyBlcnJvcnMgaW4gaW1wb3J0ZWQgc2NoZW1hcyAoSmltIFBhbmV0dGEpLAorICAgIDYyOTMyNSBYUGF0aCByb3VuZGluZyBlcnJvcnMgZmlyc3QgY2xlYW51cCAoUGhpbCBTaGFmZXIpLAorICAgIDYzMDE0MCBmaXggaXNvOTk1eCBlbmNvZGluZyBlcnJvciAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBtYWtlIHN1cmUgaHRtbEN0eHRSZXNldCBkbyByZXNldCB0aGUgZGlzYWJsZVNBWCBmaWVsZCAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggYSBjaGFuZ2Ugb2Ygc2VtYW50aWMgb24gWFBhdGggcHJlY2VkaW5nIGFuZCBmb2xsb3dpbmcgYXhpcyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggYSBwb3RlbnRpYWwgc2VnZmF1bHQgZHVlIHRvIHdlYWsgc3ltYm9scyBvbiBwdGhyZWFkcyAoTWlrZSBIb21tZXkpLAorICAgIEZpeCBhIGxlYWsgaW4gWFBhdGggY29tcGlsYXRpb24gKERhbmllbCBWZWlsbGFyZCksCisgICAgRml4IHRoZSBzZW1hbnRpYyBvZiBYUGF0aCBheGlzIGZvciBuYW1lc3BhY2UvYXR0cmlidXRlIGNvbnRleHQgbm9kZXMgKERhbmllbCBWZWlsbGFyZCksCisgICAgQXZvaWQgYSBkZXNjcmlwdG9yIGxlYWsgaW4gY2F0YWxvZyBsb2FkaW5nIGNvZGUgKENhcmxvIEJyYW1pbmkpLAorICAgIEZpeCBhIHNtYWxsIGJ1ZyBpbiBYUGF0aCBldmFsdWF0aW9uIGNvZGUgKE1hcml1cyBXYWNodGxlciksCisgICAgRml4IGhhbmRsaW5nIG9mIFhNTC0xLjAgWE1MIG5hbWVzcGFjZSBkZWNsYXJhdGlvbiAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggZXJyb3JzIGluIFhTRCBkb3VibGUgdmFsaWRhdGlvbiBjaGVjayAoQ3NhYmEgUmFkdWx5KSwKKyAgICBGaXggaGFuZGxpbmcgb2YgYXBvcyBpbiBVUklzIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIHhtbFRleHRSZWFkZXJSZWFkT3V0ZXJYbWwgc2hvdWxkIGhhbmRsZSBEVEQgKFJvYiBSaWNoYXJkcyksCisgICAgQXV0b2dlbi5zaCBuZWVkcyB0byBjcmVhdGUgbTQgZGlyZWN0b3J5IChSb2IgUmljaGFyZHMpCisgIAorICAgLSAgSW1wcm92ZW1lbnRzOgorICAgIDYwNjU5MiB1cGRhdGUgbGFuZ3VhZ2UgSUQgcGFyc2VyIHRvIFJGQyA1NjQ2IChEYW5pZWwgVmVpbGxhcmQpLAorICAgIFNvcnQgcHl0aG9uIGdlbmVyYXRlZCBzdHVicyAoTWlrZSBIb21tZXkpLAorICAgIEFkZCBhbiBIVE1MIHBhcnNlciBvcHRpb24gdG8gYXZvaWQgYSBkZWZhdWx0IGRvY3R5cGUgKERhbmllbCBWZWlsbGFyZCkKKyAgCisgICAtICBDbGVhbnVwczoKKyAgICA2MTg4MzEgZG9uJ3Qgc2hpcCBnZW5lcmF0ZWQgZmlsZXMgaW4gZ2l0IChBZHJpYW4gQnVuayksCisgICAgU3dpdGNoIGZyb20gdGhlIG9ic29sZXRlIG1raW5zdGFsbGRpcnMgdG8gQUNfUFJPR19NS0RJUl9QIChBZHJpYW4gQnVuayksCisgICAgVmFyaW91cyBjbGVhbnVwcyBvbiBlbmNvZGluZyBoYW5kbGluZyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggeG1sbGludCB0byB1c2UgZm9ybWF0PTEgZm9yIGRlZmF1bHQgZm9ybWF0dGluZyAoQWRhbSBTcHJhZ2cpLAorICAgIEZvcmNlIF94bWxTYXZlQ3R4dC5mb3JtYXQgdG8gYmUgMCBvciAxIChBZGFtIFNwcmFnZyksCisgICAgQ2xlYW51cCBlbmNvZGluZyBwb2ludGVyIGNvbXBhcmlzb24gKE5pa29sYXkgU2l2b3YpLAorICAgIFNtYWxsIGNvZGUgY2xlYW51cCBvbiBwcmV2aW91cyBwYXRjaCAoRGFuaWVsIFZlaWxsYXJkKQorICAKKworCisyLjcuNzogTWFyIDE1IDIwMTA6CisgICAtICBJbXByb3ZlbWVudHM6CisgICAgQWRkaW5nIGEgLS14cGF0aCBvcHRpb24gdG8geG1sbGludCAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBNYWtlIEhUTUwgcGFyc2VyIG5vbi1yZWN1cnNpdmUgKEV1Z2VuZSBQaW1lbm92KQorICAKKyAgIC0gIFBvcnRhYmlsaXR5OgorICAgIHJlbGF4bmcuYzogY2FzdCB0byBhbGxvdyBjb21waWxhdGlvbiB3aXRoIHN1biBzdHVkaW8gMTEgKEJlbiBXYWx0b24pLAorICAgIEZpeCBidWlsZCBmYWlsdXJlIG9uIFNwYXJjIHNvbGFyaXMgKFJvdW1lbiBQZXRyb3YpLAorICAgIHVzZSBhdXRvcmVjb25mIGluIGF1dG9nZW4uc2ggKERhbmllbCBWZWlsbGFyZCksCisgICAgRml4IGJ1aWxkIHdpdGggbWluZ3cgKFJvdW1lbiBQZXRyb3YpLAorICAgIFVwZ3JhZGUgc29tZSBvZiB0aGUgY29uZmlndXJlIGFuZCBhdXRvZ2VuIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEZpeCByZWxheE5HIHRlc3RzIGluIHJ1bnRlc3QgZm9yIFdpbmRvd3MgcnVudGVzdC5jOiBpbml0aWFsaXplIHJldCAoUm9iIFJpY2hhcmRzKSwKKyAgICBGaXggYSBjb25zdCB3YXJuaW5nIGluIHhtbE5vZGVTZXRCYXNlIChNYXJ0aW4gVHJhcHBlbCksCisgICAgRml4IHB5dGhvbiBnZW5lcmF0b3IgdG8gbm90IHVzZSBkZXByZWNhdGVkIHhtbGxpYiAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBVcGRhdGUgc29tZSBhdXRvbWFrZSBmaWxlcyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICA1OTg3ODUgRml4IG5hbm9odHRwIG9uIFdpbmRvd3MgKHNwYWRpeCkKKyAgCisgICAtICBCdWcgRml4ZXM6CisgICAgbGlieG1sIHZpb2xhdGVzIHRoZSB6bGliIGludGVyZmFjZSBhbmQgY3Jhc2hlcyAoTWFyayBBZGxlciksCisgICAgRml4IGJyb2tlbiBlc2NhcGUgYmVoYXZpb3VyIGluIHJlZ2V4cCByYW5nZXMgKERhbmllbCBWZWlsbGFyZCksCisgICAgRml4ICBtaXNzaW5nIHdpbjMyIGxpYnJhcmllcyBpbiBsaWJ4bWwtMi4wLnBjIChWb2xrZXIgR3JhYnNjaCksCisgICAgRml4IGRldGVjdGlvbiBvZiBweXRob24gbGlua2VyIGZsYWdzIChEYW5pZWwgTWFja3MpLAorICAgIGZpeCBidWlsZCBlcnJvciBpbiBsaWJ4bWwyL3B5dGhvbiAoUGF1bCBTbWl0aCksCisgICAgQ2h1bmtQYXJzZXI6IEluY29ycmVjdCBkZWNvZGluZyBvZiBzbWFsbCB4bWwgZmlsZXMgKFJhdWwgSHVkZWEpLAorICAgIGh0bWxDaGVja0VuY29kaW5nIGRvZXNuJ3QgdXBkYXRlIGlucHV0LWVuZCBhZnRlciBzaHJpbmsgKEV1Z2VuZSBQaW1lbm92KSwKKyAgICBGaXggYSBtaXNzaW5nICNpZmRlZiAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggZW5jb2Rpbmcgc2VsZWN0aW9uIGZvciB4bWxQYXJzZUluTm9kZUNvbnRleHQgKERhbmllbCBWZWlsbGFyZCksCisgICAgeG1sUHJldmlvdXNFbGVtZW50U2libGluZyBtaXN0YWtlIChGcmFuw4PCp29pcyBEZWx5b24pLAorICAgIDYwODc3MyBhZGQgYSBtaXNzaW5nIGNoZWNrIGluIHhtbEdST1cgKERhbmllbCBWZWlsbGFyZCksCisgICAgRml4IHhtbFBhcnNlSW5Ob2RlQ29udGV4dCBmb3IgSFRNTCBjb250ZW50IChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEZpeCBsb3N0IG5hbWVzcGFjZSB3aGVuIGNvcHlpbmcgbm9kZSAqIHRyZWUuYzogcmVjb25jaWxlIG5hbWVzcGFjZSBpZiBub3QgZm91bmQgKFJvYiBSaWNoYXJkcyksCisgICAgRml4IHNvbWUgbWlzc2luZyBjb21tYXMgaW4gSFRNTCBlbGVtZW50IGxpc3RzIChFdWdlbmUgUGltZW5vdiksCisgICAgQ29ycmVjdCB2YXJpYWJsZSB0eXBlIHRvIHVuc2lnbmVkIChOaWtvbGF5IFNpdm92KSwKKyAgICBSZWNvZ25pemUgSUQgYXR0cmlidXRlIGluIEhUTUwgd2l0aG91dCBET0NUWVBFIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEZpeCBtZW1vcnkgbGVhayBpbiB4bWxYUGF0aEV2YWxFeHByZXNzaW9uKCkgKE1hcnRpbiksCisgICAgRml4IGFuIGluaXQgYnVnIGluIGdsb2JhbC5jIChLYWkgSGVubmluZyksCisgICAgRml4IHhtbE5vZGVTZXRCYXNlKCkgY29tbWVudCAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggYnJva2VuIGVzY2FwZSBiZWhhdmlvdXIgaW4gcmVnZXhwIHJhbmdlcyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBEb24ndCBnaXZlIGRlZmF1bHQgSFRNTCBib29sZWFuIGF0dHJpYnV0ZSB2YWx1ZXMgaW4gcGFyc2VyIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIHhtbEN0eHRSZXNldExhc3RFcnJvciBzaG91bGQgcmVzZXQgY3R4dC1lcnJObyAoRGFuaWVsIFZlaWxsYXJkKQorICAKKyAgIC0gIENsZWFudXBzOgorICAgIENsZWFudXAgYSBjb3VwbGUgb2Ygd2VpcmRuZXNzIGluIEhUTUwgcGFyc2VyIChFdWdlbmUgUGltZW5vdikKKyAgCisKKworMi43LjY6IE9jdCAgNiAyMDA5OgorICAgLSAgQnVnIEZpeGVzOgorICAgICBSZXN0b3JlIHRocmVhZCBzdXBwb3J0IGluIGRlZmF1bHQgY29uZmlndXJhdGlvbiAoQW5kcmV3IFcuIE5vc2Vua28pLAorICAgICBVUkkgd2l0aCBubyBwYXRoIHBhcnNpbmcgcHJvYmxlbSAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICAgTWlub3IgcGF0Y2ggZm9yIGNvbmRpdGlvbmFsIGRlZmluZXMgaW4gdGhyZWFkcy5jIChFcmljIFp1cmNoZXIpCisgIAorCisKKzIuNy41OiBTZXAgMjQgMjAwOToKKyAgIC0gIEJ1ZyBGaXhlczoKKyAgICBSZXN0b3JlIGJlaGF2aW9yIG9mIC0td2l0aC10aHJlYWRzIHdpdGhvdXQgYXJndW1lbnQgKEFuZHJldyBXLiBOb3NlbmtvKSwKKyAgICBGaXggbWVtb3J5IGxlYWsgd2hlbiBkb2MgaXMgTlVMTCAoUm9iIFJpY2hhcmRzKSwKKyAgICA1OTU3OTIgZml4aW5nIGEgUmVsYXhORyBidWcgaW50cm9kdWNlZCBpbiAyLjcuNCAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggYSBSZWxheG5nIGJ1ZyByYWlzZWQgYnkgbGlidmlydCB0ZXN0IHN1aXRlIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEZpeCBhIHBhcnNpbmcgcHJvYmxlbSB3aXRoIGxpdHRsZSBkYXRhIGF0IHN0YXJ0dXAgKERhbmllbCBWZWlsbGFyZCksCisgICAgbGluayBweXRob24gbW9kdWxlIHdpdGggcHl0aG9uIGxpYnJhcnkgKEZyZWRlcmljIENyb3phdCksCisgICAgNTk0ODc0IEZvcmdvdCBhbiBmY2xvc2UgaW4geG1sbGludCAoRGFuaWVsIFZlaWxsYXJkKQorICAKKyAgIC0gIENsZWFudXA6CisgICAgQWRkaW5nIHN5bWJvbHMueG1sIHRvIEVYVFJBX0RJU1QgKERhbmllbCBWZWlsbGFyZCkKKyAgCisKKworMi43LjQ6IFNlcCAxMCAyMDA5OgorICAgLSBJbXByb3ZlbWVudHM6CisgICAgU3dpdGNoIHRvIEdJVCAoR05PTUUpLAorICAgIEFkZCBzeW1ib2wgdmVyc2lvbmluZyB0byBsaWJ4bWwyIHNoYXJlZCBsaWJzIChEYW5pZWwgVmVpbGxhcmQpCisgIAorICAgLSBQb3J0YWJpbGl0eToKKyAgICA1OTM4NTcgdHJ5IHRvIHdvcmsgYXJvdW5kIHRocmVhZCBwYm0gTWluR1cgNC40IChEYW5pZWwgVmVpbGxhcmQpLAorICAgIDU5NDI1MCByZW5hbWUgQVRUUklCVVRFX0FMTE9DX1NJWkUgdG8gYXZvaWQgY2xhc2hlcyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggV2luZG93cyBidWlsZCAqIHJlbGF4bmcuYzogZml4IHdpbmRvd3MgYnVpbGQgKFJvYiBSaWNoYXJkcyksCisgICAgRml4IHRoZSBnbG9iYWxzLmggdG8gdXNlIFhNTFBVQkZVTiAoUGF1bCBTbWl0aCksCisgICAgUHJvYmxlbSB3aXRoIGV4dGVybiBleHRlcm4gaW4gaGVhZGVyIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEFkZCAtbG5ldHdvcmsgZm9yIGNvbXBpbGluZyBvbiBIYWlrdSAoU2NvdHQgTWNDcmVhcnkpLAorICAgIFJ1bnRlc3QgcG9ydGFiaWxpdHkgcGF0Y2ggZm9yIFNvbGFyaXMgKFRpbSBSaWNlKSwKKyAgICBTbWFsbCBwYXRjaCB0byBhY2NvbW9kYXRlIHRoZSBIYWlrdSBPUyAoU2NvdHQgTWNDcmVhcnkpLAorICAgIDU4NDYwNSBwYWNrYWdlIFZ4V29ya3MgZm9sZGVyIGluIHRoZSBkaXN0cmlidXRpb24gKERhbmllbCBWZWlsbGFyZCksCisgICAgNTc0MDE3IFJlYWxsb2MgdG9vIGV4cGVuc2l2ZSBvbiBtb3N0IHBsYXRmb3JtIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEZpeCB3aW5kb3dzIGJ1aWxkIChSb2IgUmljaGFyZHMpLAorICAgIDU0NTU3OSBkb2Vzbid0IGNvbXBpbGUgd2l0aG91dCBzY2hlbWEgc3VwcG9ydCAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICB4bWxsaW50IHVzZSB4bWxHZXROb2RlUGF0aCB3aGVuIG5vdCBjb21waWxlZCBpbiAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBUcnkgdG8gYXZvaWQgX19pbXBfX3htbEZyZWUgbGluayB0cm91YmxlIG9uIG1zeXMgKERhbmllbCBWZWlsbGFyZCksCisgICAgQWxsb3cgdG8gc2VsZWN0IHRoZSB0aHJlYWRpbmcgc3lzdGVtIG9uIFdpbmRvd3MgKExSTiksCisgICAgRml4IFNvbGFyaXMgYmluYXJ5IGxpbmtzLCBjbGVhbnVwcyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBCdWcgNTcxMDU5IMOiwoDCkyBNU1ZDIGRvZXNuJ3Qgd29yayB3aXRoIHRoZSBiYWtlZmlsZSAoSW50cm9uKSwKKyAgICBmaXggQVRUUklCVVRFX1BSSU5URiBoZWFkZXIgY2xhc2ggKEJlbGdhYm9yIGFuZCBNaWtlIEhvbW1leSksCisgICAgZml4ZXMgZm9yIEJvcmxhbmQvQ29kZUdlYXIvRW1iYXJjYWRlcm8gY29tcGlsZXJzIChFcmljIFp1cmNoZXIpCisgIAorICAgLSBEb2N1bWVudGF0aW9uOgorICAgIDU0NDkxMCB0eXBvOiAicmVuY2lsaWF0ZU5zIiAoTGVvbmlkIEV2ZG9raW1vdiksCisgICAgQWRkIFZ4V29ya3MgdG8gbGlzdCBvZiBPU2VzIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIFJlZ2VuZXJhdGUgdGhlIGRvY3VtZW50YXRpb24gYW5kIHVwZGF0ZSBmb3IgZ2l0IChEYW5pZWwgVmVpbGxhcmQpLAorICAgIDU2MDUyNCDDgsK/IHhtbFRleHRSZWFkZXJMb2NhbE5hbWUgZGVzY3JpcHRpb24gKERhbmllbCBWZWlsbGFyZCksCisgICAgQWRkZWQgc3BvbnNvcmluZyBieSBBT0UgbWVkaWEgZm9yIHRoZSBzZXJ2ZXIgKERhbmllbCBWZWlsbGFyZCksCisgICAgdXBkYXRlZCBVUkxzIGZvciBHTk9NRSAoVmluY2VudCBMZWZldnJlKSwKKyAgICBtb3JlIHdhcm5pbmdzIGFib3V0IHhtbENsZWFudXBUaHJlYWRzIGFuZCB4bWxDbGVhbnVwUGFyc2VyIChEYW5pZWwgVmVpbGxhcmQpCisgIAorICAgLSBCdWcgZml4ZXM6CisgICAgNTk0NTE0IG1lbW9yeSBsZWFrcyAtIGR1cGxpY2F0ZSBpbml0aWFsaXphdGlvbiAoTU9EKSwKKyAgICBXcm9uZyBibG9jayBvcGVuaW5nIGluIGh0bWxOb2RlRHVtcE91dHB1dEludGVybmFsIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIDQ5MjMxNyBGaXggIFJlbGF4LU5HIHZhbGlkYXRpb24gcHJvYmxlbXMgKERhbmllbCBWZWlsbGFyZCksCisgICAgNTU4NDUyIGZpZ2h0IHdpdGggcmVnIHRlc3QgYW5kIGVycm9yIHJlcG9ydCAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICA1NTg0NTIgUk5HIGNvbXBpbGF0aW9uIG9mIG9wdGlvbmFsIG11bHRpcGxlIGNoaWxkIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIDU3OTc0NiBYU0QgdmFsaWRhdGlvbiBub3QgY29ycmVjdCAvIG5pbGFibGUgZ3JvdXBzIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIDUwMjk2MCBwcm92aWRlIG5hbWVzcGFjZSBzdGFjayB3aGVuIHBhcnNpbmcgZW50aXR5IChEYW5pZWwgVmVpbGxhcmQpLAorICAgIDU2NjAxMiBwYXJ0IDIgZml4IHJlZ3Jlc2lvbiB0ZXN0cyBhbmQgcHVzaCBtb2RlIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIDU2NjAxMiBhdXRvZGV0ZWN0ZWQgZW5jb2RpbmcgYW5kIGVuY29kaW5nIGNvbmZsaWN0IChEYW5pZWwgVmVpbGxhcmQpLAorICAgIDU4NDIyMCB4cG9pbnRlcigvKSBhbmQgeGluY2x1ZGUgcHJvYmxlbXMgKERhbmllbCBWZWlsbGFyZCksCisgICAgNTg3NjYzIEluY29ycmVjdCBBdHRyaWJ1dGUtVmFsdWUgTm9ybWFsaXphdGlvbiAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICA0NDQ5OTQgSFRNTCBjaHVua2VkIGZhaWx1cmUgZm9yIGF0dHJpYnV0ZSB3aXRoIDw+IChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEZpeCBlbmQgb2YgYnVmZmVyIGNoYXIgYmVpbmcgc3BsaXQgaW4gWE1MIHBhcnNlciAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBOb24gQVNDSUkgY2hhcmFjdGVyIG1heSBiZSBzcGxpdCBhdCBidWZmZXIgZW5kIChBZGllbCBNaXR0bWFubiksCisgICAgNDQwMjI2IEFkZCB4bWxYSW5jbHVkZVByb2Nlc3NUcmVlRmxhZ3NEYXRhIEFQSSAoU3RlZmFuIEJlaG5lbCksCisgICAgNTcyMTI5IHNwZWVkIHVwIHBhcnNpbmcgb2YgbGFyZ2UgSFRNTCB0ZXh0IG5vZGVzIChNYXJrdXMgS3VsbCksCisgICAgRml4IEhUTUwgcGFyc2luZyB3aXRoIDAgY2hhcmFjdGVyIGluIENEQVRBIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEZpeCBTZXRHZW5lcmljRXJyb3JGdW5jIGFuZCBTZXRTdHJ1Y3R1cmVkIGNsYXNoIChXYW5nIExhbSksCisgICAgNTY2MDEyICBJbmNvbXBsZXRlIEVCQ0RJQyBwYXJzaW5nIHN1cHBvcnQgKE1hcnRpbiBLb2dsZXIpLAorICAgIDU0MTMzNSBIVE1MIGF2b2lkIGNyZWF0aW5nIDIgaGVhZCBvciAyIGJvZHkgZWxlbWVudCAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICA1NDEyMzcgZXJyb3IgY29ycmVjdGluZyBtaXNzaW5nIGVuZCB0YWdzIGluIEhUTUwgKERhbmllbCBWZWlsbGFyZCksCisgICAgNTgzNDM5IG1pc3NpbmcgbGluZSBudW1iZXJzIGluIHB1c2ggbW9kZSAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICA1ODc4NjcgeG1sbGludCAtLWh0bWwgLS14bWxvdXQgc2VyaWFsaXppbmcgYXMgSFRNTCAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICA1NTk1MDEgYXZvaWQgc2VsZWN0IGFuZCB1c2UgcG9sbCBmb3IgbmFub2h0dHAgKFJhcGhhZWwgUHJldm9zdCksCisgICAgNTU5NDEwIC0gIFJlZ2V4cCBidWcgb24gKC4uLik/IGNvbnN0cnVjdHMgKERhbmllbCBWZWlsbGFyZCksCisgICAgRml4IGEgc21hbGwgcHJvYmxlbSBvbiBwcmV2aW91cyBIVE1MIHBhcnNlciBwYXRjaCAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICA1OTI0MzAgLSAgSFRNTCBwYXJzZXIgcnVucyBpbnRvIGVuZGxlc3MgbG9vcCAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICA0NDc4OTkgcG90ZW50aWFsIGRvdWJsZSBmcmVlIGluIHhtbEZyZWVUZXh0UmVhZGVyIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIDQ0NjYxMyBzbWFsbCB2YWxpZGF0aW9uIGJ1ZyBtaXhlZCBjb250ZW50IHdpdGggTlMgKERhbmllbCBWZWlsbGFyZCksCisgICAgRml4IHRoZSBwcm9ibGVtIG9mIHJldmFsaWRhdGluZyBhIGRvYyB3aXRoIFJORyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggeG1sS2VlcEJsYW5rc0RlZmF1bHQgdG8gbm90IGJyZWFrIGluZGVudCAoTmljayBXZWxsbmhvZmVyKSwKKyAgICA1MTIxMzEgcmVmcyBmcm9tIGV4dGVybmFsUmVmIHBhcnQgbmVlZCB0byBiZSBhZGRlZCAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICA1MTIxMzEgY3Jhc2ggaW4geG1sUmVsYXhOR1ZhbGlkYXRlRnVsbEVsZW1lbnQgKERhbmllbCBWZWlsbGFyZCksCisgICAgNTg4NDQxIGFsbG93ICcuJyBpbiBIVE1MIE5hbWVzIGV2ZW4gaWYgaW52YWxpZCAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICA1ODI5MTMgRml4IGh0bWxTZXRNZXRhRW5jb2RpbmcoKSB0byBiZSBuaWNlciAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICA1NzkzMTcgVHJ5IHRvIGZpbmQgdGhlIEhUTUwgZW5jb2RpbmcgaW5mb3JtYXRpb24gKERhbmllbCBWZWlsbGFyZCksCisgICAgNTc1ODc1IGRvbid0IG91dHB1dCBjaGFyc2V0PWh0bWwgKERhbmllbCBWZWlsbGFyZCksCisgICAgNTcxMjcxIGZpeCBzZW1hbnRpYyBvZiB4c2Q6YWxsIHdpdGggbWluT2NjdXJzPTAgKERhbmllbCBWZWlsbGFyZCksCisgICAgNTcwNzAyIGZpeCBhIGJ1ZyBpbiByZWdleHAgZGV0ZXJtaW5pc20gY2hlY2tpbmcgKERhbmllbCBWZWlsbGFyZCksCisgICAgNTY3NjE5IHhtbFZhbGlkYXRlTm90YXRpb25Vc2UgbWlzc2luZyBwYXJhbSB0ZXN0IChEYW5pZWwgVmVpbGxhcmQpLAorICAgIDU3NDM5MyDDgsK/IHV0Zi04IGZpbGVuYW1lIG1hZ2ljIGZvciBjb21wcmVzc2VkIGZpbGVzIChIYW5zIEJyZXVlciksCisgICAgRml4IGEgY291cGxlIG9mIHByb2JsZW1zIGluIHRoZSBwYXJzZXIgKERhbmllbCBWZWlsbGFyZCksCisgICAgNTg1NTA1IMOCwr8gRG9jdW1lbnQgaWRzIGFuZCByZWZzIHBvcHVsYXRlZCBieSBYU0QgKFdheW5lIEplbnNlbiksCisgICAgNTgyOTA2IFhTRCB2YWxpZGF0aW5nIG11bHRpcGxlIGltcG9ydHMgb2YgdGhlIHNhbWUgc2NoZW1hIChKYXNvbiBDaGlsZHMpLAorICAgIEJ1ZyA1ODI4ODcgw4LCvyBwcm9ibGVtcyB2YWxpZGF0aW5nIGNvbXBsZXggc2NoZW1hcyAoSmFzb24gQ2hpbGRzKSwKKyAgICBCdWcgNTc5NzI5IMOCwr8gZml4IFhTRCBzY2hlbWFzIHBhcnNpbmcgY3Jhc2ggKE1pcm9zbGF2IEJhanRvcyksCisgICAgNTc2MzY4IMOCwr8gaHRtbENodW5rUGFyc2VyIHdpdGggc3BlY2lhbCBhdHRyaWJ1dGVzIChKaXJpIE5ldG9saWNreSksCisgICAgQnVnIDU2NTc0NyDDgsK/IHJlbGF4IGFueVVSSSBkYXRhIGNoYXJhY3RlciBjaGVja2luZyAoVmluY2VudCBMZWZldnJlKSwKKyAgICBQcmVzZXJ2ZSBhdHRyaWJ1dGVzIG9mIGluY2x1ZGUgc3RhcnQgb24gdHJlZSBjb3B5IChQZXRyIFBhamFzKSwKKyAgICBTa2lwIHNpbGVudGx5IHVucmVjb2duaXplZCBYUG9pbnRlciBzY2hlbWVzIChKYWt1YiBXaWxrKSwKKyAgICBGaXggbGVhayBvbiBTQVgxLCB4bWxsaW50IC0tc2F4MSBvcHRpb24gYW5kIGRlYnVnIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIHBvdGVudGlhbCBOVUxMIGRlcmVmZXJlbmNlIG9uIG5vbi1nbGliYyAoSmltIE1leWVyaW5nKSwKKyAgICBGaXggYW4gWFNEIHZhbGlkYXRpb24gY3Jhc2ggKERhbmllbCBWZWlsbGFyZCksCisgICAgRml4IGEgcmVncmVzc2lvbiBpbiBzdHJlYW1pbmcgZW50aXRpZXMgc3VwcG9ydCAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggYSBjb3VwbGUgb2YgQUJJIGlzc3VlcyB3aXRoIEMxNE4gMS4xIChBbGVrc2V5IFNhbmluKSwKKyAgICBBbGVrc2V5IFNhbmluIHN1cHBvcnQgZm9yIGMxNG4gMS4xIChBbGVrc2V5IFNhbmluKSwKKyAgICByZWFkZXIgYnVnIGZpeCB3aXRoIGVudGl0aWVzIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIHVzZSBvcHRpb25zIGZyb20gY3VycmVudCBwYXJzZXIgY3R4dCBmb3IgZXh0ZXJuYWwgZW50aXRpZXMgKFJvYiBSaWNoYXJkcyksCisgICAgNTgxNjEyIHVzZSAlcyB0byBwcmludGYgc3RyaW5ncyAoQ2hyaXN0aWFuIFBlcnNjaCksCisgICAgNTg0NjA1IGNoYW5nZSB0aGUgdGhyZWFkaW5nIGluaXRpYWxpemF0aW9uIHNlcXVlbmNlIChJZ29yIE5vdm9zZWx0c2V2KSwKKyAgICA1ODA3MDUga2VlcCBsaW5lIG51bWJlcnMgaW4gSFRNTCBwYXJzZXIgKEFhcm9uIFBhdHRlcnNvbiksCisgICAgNTgxODAzIGJyb2tlbiBIVE1MIHRhYmxlIGF0dHJpYnV0ZXMgaW5pdCAoUm9sYW5kIFN0ZWluZXIpLAorICAgIGRvIG5vdCBzZXQgZXJyb3IgY29kZSBpbiB4bWxOc1dhcm4gKFJvYiBSaWNoYXJkcyksCisgICAgNTY0MjE3IGZpeCBzdHJ1Y3R1cmVkIGVycm9yIGhhbmRsaW5nIHByb2JsZW1zLAorICAgIHJldXNlIG9wdGlvbnMgZnJvbSBjdXJyZW50IHBhcnNlciBmb3IgZW50aXRpZXMgKFJvYiBSaWNoYXJkcyksCisgICAgeG1sWFBhdGhSZWdpc3Rlck5zIHNob3VsZCBub3QgYWxsb3cgZW5wdHkgcHJlZml4ZXMgKERhbmllbCBWZWlsbGFyZCksCisgICAgYWRkIGEgbWlzc2luZyBjaGVjayBpbiB4bWxBZGRTaWJsaW5nIChLcmlzIEJyZXVrZXIpLAorICAgIGF2b2lkIGxlYWtzIG9uIGVycm9ycyAoSmlubWVpIFRhdHV5YSkKKyAgCisgICAtIENsZWFudXA6CisgICAgQ2hhc2luZyBkZWFkIGFzc2lnbm1lbnRzIHJlcG9ydGVkIGJ5IGNsYW5nLXNjYW4gKERhbmllbCBWZWlsbGFyZCksCisgICAgQSBmZXcgbW9yZSBzYWZldHkgY2xlYW51cCByYWlzZWQgYnkgc2NhbiAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXhpbmcgYXNzb3J0ZWQgcG90ZW50aWFsIHByb2JsZW1zIHJhaXNlZCBieSBzY2FuIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIFBvdGVudGlhbCB1bmluaXRpYWxpemVkIGFyZ3VtZW50cyByYWlzZWQgYnkgc2NhbiAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggYSBidW5jaCBvZiBzY2FuICdkZWFkIGluY3JlbWVudHMnIGFuZCBjbGVhbnVwIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIFJlbW92ZSBhIHBlZGFudGljIHdhcm5pbmcgKERhbmllbCBWZWlsbGFyZCksCisgICAgNTU1ODMzIGFsd2F5cyB1c2Ugcm0gLWYgaW4gdW5pbnN0YWxsLWxvY2FsIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIDU0MjM5NCB4bWxSZWdpc3Rlck91dHB1dENhbGxiYWNrcyBNQVhfSU5QVVRfQ0FMTEJBQ0sgKERhbmllbCBWZWlsbGFyZCksCisgICAgQXV0b3JlZ2VuZXJhdGUgbGlieG1sMi5zeW1zIGF1dG9tYXRlZCBjaGVja2luZ3MgKERhbmllbCBWZWlsbGFyZCksCisgICAgTWFrZSB4bWxSZWNvdmVyRG9jIGNvbnN0IChNYXJ0aW4gVHJhcHBlbCkgKERhbmllbCBWZWlsbGFyZCksCisgICAgQm90aCBhcmdzIG9mIHhtbFN0cmNhc2VzdHIgYXJlIGNvbnN0IChEYW5pZWwgVmVpbGxhcmQpLAorICAgIGhpZGUgdGhlIG5iUGFyc2UqIHZhcmlhYmxlcyB1c2VkIGZvciBkZWJ1Z2dpbmcgKE1pa2UgSG9tbWV5KSwKKyAgICA1NzA4MDYgY2hhbmdlZCBpbmNsdWRlIG9mIGNvbmZpZy5oIChXaWxsaWFtIE0uIEJyYWNrKSwKKyAgICBjbGVhbnVwcyBhbmQgZXJyb3IgcmVwb3J0cyB3aGVuIHhtbFRleHRXcml0ZXJWU3ByaW50ZiBmYWlscyAoSmlubWVpIFRhdHV5YSkKKyAgCisKKworMi43LjM6IEphbiAxOCAyMDA5OgorICAgLSBCdWlsZCBmaXg6IGZpeCBidWlsZCB3aGVuIEhUTUwgc3VwcG9ydCBpcyBub3QgaW5jbHVkZWQuCisgICAtIEJ1ZyBmaXhlczogYXZvaWQgbWVtb3J5IG92ZXJmbG93IGluIGdpZ2FudGljIHRleHQgbm9kZXMsCisgICAgICBpbmRlbnRhdGlvbiBwcm9ibGVtIG9uIHRoZSB3cml0ZWQgKFJvYiBSaWNoYXJkcyksCisgICAgICB4bWxBZGRDaGlsZExpc3QgcG9pbnRlciBwcm9ibGVtIChSb2IgUmljaGFyZHMgYW5kIEtldmluIE1pbGJ1cm4pLAorICAgICAgeG1sQWRkQ2hpbGQgcHJvYmxlbSB3aXRoIGF0dHJpYnV0ZSAoUm9iIFJpY2hhcmRzIGFuZCBLcmlzIEJyZXVrZXIpLAorICAgICAgYXZvaWQgYSBtZW1vcnkgbGVhayBpbiBhbiBlZGdlIGNhc2UgKERhbmllbCBaaW1tZXJtYW5uKSwKKyAgICAgIGRlYWxsb2NhdGUgc29tZSBwdGhyZWFkIGRhdGEgKEFsZXggT3R0KS4KKyAgIC0gSW1wcm92ZW1lbnRzOiBjb25maWd1cmUgb3B0aW9uIHRvIGF2b2lkIHJlYnVpbGRpbmcgZG9jcyAoQWRyaWFuIEJ1bmspLAorICAgICAgbGltaXQgdGV4dCBub2RlcyB0byAxME1CIG1heCBieSBkZWZhdWx0LCBhZGQgZWxlbWVudCB0cmF2ZXJzYWwKKyAgICAgIEFQSXMsIGFkZCBhIHBhcnNlciBvcHRpb24gdG8gZW5hYmxlIHByZSAyLjcgU0FYIGJlaGF2aW9yIChSb2IgUmljaGFyZHMpLAorICAgICAgYWRkIGdjYyBtYWxsb2MgY2hlY2tpbmcgKE1hcmN1cyBNZWlzc25lciksIGFkZCBnY2MgcHJpbnRmIGxpa2UgZnVuY3Rpb25zCisgICAgICBwYXJhbWV0ZXJzIGNoZWNraW5nIChNYXJjdXMgTWVpc3NuZXIpLgorCisKKzIuNy4yOiBPY3QgMyAyMDA4OgorICAgLSBQb3J0YWJpbGl0eSBmaXg6IGZpeCBzb2xhcmlzIGNvbXBpbGF0aW9uIHByb2JsZW0sIGZpeCBjb21waWxhdGlvbgorICAgICAgICBpZiBYUGF0aCBpcyBub3QgY29uZmlndXJlZCBpbgorICAgLSBCdWcgZml4ZXM6IG5hc3R5IGVudGl0eSBidWcgaW50cm9kdWNlZCBpbiAyLjcuMCwgcmVzdG9yZSBvbGQgYmVoYXZpb3VyCisgICAgICAgIHdoZW4gc2F2aW5nIGFuIEhUTUwgZG9jIHdpdGggYW4geG1sIGR1bXAgZnVuY3Rpb24sIEhUTUwgVVRGLTggcGFyc2luZworICAgICAgICBidWcsIGZpeCByZWFkZXIgY3VzdG9tIGVycm9yIGhhbmRsZXJzIChSaWNjYXJkbyBTY3Vzc2F0KQorICAgIAorICAgLSBJbXByb3ZlbWVudDogeG1sU2F2ZSBvcHRpb25zIGZvciBtb3JlIGZsZXhpYmlsaXR5IHRvIHNhdmUgYXMKKyAgICAgICAgWE1ML0hUTUwvWEhUTUwsIGhhbmRsZSBsZWFkaW5nIEJPTSBpbiBIVE1MIGRvY3VtZW50cworCisKKzIuNy4xOiBTZXAgMSAyMDA4OgorICAgLSBQb3J0YWJpbGl0eSBmaXg6IEJvcmxhbmQgQyBmaXggKE1vcml0eiBCb3RoKQorICAgLSBCdWcgZml4ZXM6IHB5dGhvbiBzZXJpYWxpemF0aW9uIHdyYXBwZXJzLCBYUGF0aCBRTmFtZSBjb3JuZXIKKyAgICAgICAgY2FzZSBoYW5ka2luZyBhbmQgbGVha3MgKE1hcnRpbikKKyAgIC0gSW1wcm92ZW1lbnQ6IGV4dGVuZCB0aGUgeG1sU2F2ZSB0byBoYW5kbGUgSFRNTCBkb2N1bWVudHMgYW5kIHRyZWVzCisgICAtIENsZWFudXA6IHB5dGhvbiBzZXJpYWxpemF0aW9uIHdyYXBwZXJzCisKKworMi43LjA6IEF1ZyAzMCAyMDA4OgorICAgLSBEb2N1bWVudGF0aW9uOiBzd2l0Y2ggQ2hhbmdlTG9nIHRvIFVURi04LCBpbXByb3ZlIG11dGl0aHJlYWRzIGFuZAorICAgICAgeG1sUGFyc2VyQ2xlYW51cCBkb2NzCisgICAtIFBvcnRhYmlsaXR5IGZpeGVzOiBPbGRlciBXaW4zMiBwbGF0Zm9ybXMgKFJvYiBSaWNoYXJkcyksIE1TVkMKKyAgICAgIHBvcnRpbmcgZml4IChSb2IgUmljaGFyZHMpLCBNYWMgT1MgWCByZWdyZXNzaW9uIHRlc3RzIChTdmVuIEhlcnpiZXJnKSwKKyAgICAgIG5vbiBHTlVDQyBidWlsZHMgKFJvYiBSaWNoYXJkcyksIGNvbXBpbGF0aW9uIG9uIEhhaWt1IChBbmRyZWFzIEbDg8KkcmJlcikKKyAgICAgIAorICAgLSBCdWcgZml4ZXM6IHZhcmlvdXMgcmVhbGxvYyBwcm9ibGVtcyAoQXNod2luKSwgcG90ZW50aWFsIGRvdWJsZS1mcmVlCisgICAgICAoQXNod2luKSwgcmVnZXhwIGNyYXNoLCBpY3Jhc2ggd2l0aCBpbnZhbGlkIHdoaXRlc3BhY2UgZmFjZXRzIChSb2IKKyAgICAgIFJpY2hhcmRzKSwgcGF0dGVybiBmaXggd2hlbiBzdHJlYW1pbmcgKFdpbGxpYW0gQnJhY2spLCB2YXJpb3VzIFhNTAorICAgICAgcGFyc2luZyBhbmQgdmFsaWRhdGlvbiBmaXhlcyBiYXNlZCBvbiB0aGUgVzNDIHJlZ3Jlc3Npb24gdGVzdHMsIHJlYWRlcgorICAgICAgdHJlZSBza2lwcGluZyBmdW5jdGlvbiBmaXggKEFzaHdpbiksIFNjaGVtYXMgcmVnZXhwcyBlc2NhcGluZyBmaXgKKyAgICAgIChWb2xrZXIgR3JhYnNjaCksIGhhbmRsaW5nIG9mIGVudGl0eSBwdXNoIGVycm9ycyAoQXNod2luKSwgZml4IGEgc2xvd2Rvd24KKyAgICAgIHdoZW4gZW5jb2RlciBjYW50IHNlcmlhbGl6ZSBjaGFyYWN0ZXJzIG9uIG91dHB1dAorICAgLSBDb2RlIGNsZWFudXA6IGNvbXBpbGF0aW9uIGZpeCB3aXRob3V0IHRoZSByZWFkZXIsIHdpdGhvdXQgdGhlIG91dHB1dAorICAgICAgKFJvYmVydCBTY2h3ZWJlbCksIHB5dGhvbiB3aGl0ZXNwYWNlIChNYXJ0aW4pLCBtYW55IHNwYWNlL3RhYnMgY2xlYW51cHMsCisgICAgICBzZXJpb3VzIGNsZWFudXAgb2YgdGhlIGVudGl0eSBoYW5kbGluZyBjb2RlCisgICAtIEltcHJvdmVtZW50OiBzd2l0Y2ggcGFyc2VyIHRvIFhNTC0xLjAgNXRoIGVkaXRpb24sIGFkZCBwYXJzaW5nIGZsYWdzCisgICAgICBmb3Igb2xkIHZlcnNpb25zLCBzd2l0Y2ggVVJJIHBhcnNpbmcgdG8gUkZDIDM5ODYsCisgICAgICBhZGQgeG1sU2NoZW1hVmFsaWRDdHh0R2V0UGFyc2VyQ3R4dCAoSG9sZ2VyIEthZWxiZXJlciksCisgICAgICBuZXcgaGFzaGluZyBmdW5jdGlvbnMgZm9yIGRpY3Rpb25uYXJpZXMgKGJhc2VkIG9uIFN0ZWZhbiBCZWhuZWwgd29yayksCisgICAgICBpbXByb3ZlIGhhbmRsaW5nIG9mIG1pc3BsYWNlZCBodG1sL2hlYWQvYm9keSBpbiBIVE1MIHBhcnNlciwgYmV0dGVyCisgICAgICByZWdyZXNzaW9uIHRlc3QgdG9vbHMgYW5kIGNvZGUgY292ZXJhZ2UgZGlzcGxheSwgYmV0dGVyIGFsZ29yaXRobXMKKyAgICAgIHRvIGRldGVjdCB2YXJpb3VzIHZlcnNpb25zIG9mIHRoZSBiaWxsaW9uIGxhdWdodHMgYXR0YWNrcywgbWFrZQorICAgICAgYXJiaXRyYXJ5IHBhcnNlciBsaW1pdHMgYXZvaWRhYmxlIGFzIGEgcGFyc2VyIG9wdGlvbgorCisKKzIuNi4zMjogQXByIDggMjAwODoKKyAgIC0gRG9jdW1lbnRhdGlvbjogcmV0dXJuaW5nIGhlYXAgbWVtb3J5IHRvIGtlcm5lbCAoV29sZnJhbSBTYW5nKSwKKyAgICAgIHRyeWluZyB0byBjbGFyaWZ5IHhtbENsZWFudXBQYXJzZXIoKSB1c2UsIHhtbFhQYXRoQ29udGV4dCBpbXByb3ZlbWVudAorICAgICAgKEphY2sgSmFuc2VuKSwgaW1wcm92ZSB0aGUgKlJlY292ZXIqIGZ1bmN0aW9ucyBkb2N1bWVudGF0aW9uLAorICAgICAgWG1sTm9kZVR5cGUgZG9jIGxpbmsgZml4IChNYXJ0aWpuIEFydHMpCisgICAtIEJ1ZyBmaXhlczogaW50ZXJuYWwgc3Vic2V0IG1lbW9yeSBsZWFrIChBc2h3aW4pLCBhdm9pZCBwcm9ibGVtIHdpdGgKKyAgICAgIHBhdGhzIHN0YXJ0aW5nIHdpdGggLy8gKFBldHIgU3VtYmVyYSksIHN0cmVhbWluZyBYU0QgdmFsaWRhdGlvbiBjYWxsYmFjaworICAgICAgcGF0Y2hlcyAoQXNod2luKSwgZml4IHJlZGlyZWN0aW9uIG9uIHBvcnQgb3RoZXIgdGhhbiA4MCAoV2lsbGlhbSBCcmFjayksCisgICAgICBTQVgyIGxlYWsgKEFzaHdpbiksIFhJbmNsdWRlIGZyYWdtZW50IG9mIG93biBkb2N1bWVudCAoQ2hyaXMgUnlhbiksCisgICAgICByZWdleHAgYnVnIHdpdGggJy4nIChBbmRyZXcgVG9zaCksIGZsdXNoIHRoZSB3cml0ZXIgYXQgdGhlIGVuZCBvZiB0aGUKKyAgICAgIGRvY3VtZW50IChBbGZyZWQgTWlja2F1dHNjaCksIG91dHB1dCBJL08gYnVnIGZpeCAoV2lsbGlhbSBCcmFjayksCisgICAgICB3cml0ZXIgQ0RBVEEgb3V0cHV0IGFmdGVyIGEgdGV4dCBub2RlIChBbGV4IEtoZXNpbiksIFVURi0xNiBlbmNvZGluZworICAgICAgZGV0ZWN0aW9uIChXaWxsaWFtIEJyYWNrKSwgZml4IGhhbmRsaW5nIG9mIGVtcHR5IENEQVRBIG5vZGVzIGZvciBTYWZhcmkKKyAgICAgIHRlYW0sIHB5dGhvbiBiaW5kaW5nIHByb2JsZW0gd2l0aCBuYW1lc3BhY2Ugbm9kZXMsIGltcHJvdmUgSFRNTCBwYXJzaW5nCisgICAgICAoQXJub2xkIEhlbmRyaWtzKSwgcmVnZXhwIGF1dG9tYXRhIGJ1aWxkIGJ1ZywgbWVtb3J5IGxlYWsgZml4IChWYXNpbHkKKyAgICAgIENoZWthbGtpbiksIFhTRCB0ZXN0IGNyYXNoLCB3ZWlyZCBzeXN0ZW0gcGFyYW1ldGVyIGVudGl0eSBwYXJzaW5nIHByb2JsZW0sCisgICAgICBhbGxvdyBzYXZlIHRvIGZpbGU6Ly8vWDovIHdpbmRvd3MgcGF0aHMsIHZhcmlvdXMgYXR0cmlidXRlIG5vcm1hbGlzYXRpb24KKyAgICAgIHByb2JsZW1zLCBleHRlcm5hbFN1YnNldFNwbGl0IGZpeCAoQXNod2luKSwgYXR0cmlidXRlIHJlZGVmaW5pdGlvbiBpbgorICAgICAgdGhlIERURCAoQXNod2luKSwgZml4IGluIGNoYXIgcmVmIHBhcnNpbmcgY2hlY2sgKEFsZXggS2hlc2luKSwgbWFueQorICAgICAgb3V0IG9mIG1lbW9yeSBoYW5kbGluZyBmaXhlcyAoQXNod2luKSwgWFBhdGggb3V0IG9mIG1lbW9yeSBoYW5kbGluZyBmaXhlcworICAgICAgKEFsdmFybyBIZXJyZXJhKSwgdmFyaW91cyByZWFsbG9jIHByb2JsZW1zIChBc2h3aW4pLCBVQ1M0IGVuY29kaW5nCisgICAgICBjb252ZXJzaW9uIGJ1ZmZlciBzaXplIChDaHJpc3RpYW4gRnJ1dGgpLCBwcm9ibGVtcyB3aXRoIEVhdE5hbWUKKyAgICAgIGZ1bmN0aW9ucyBvbiBtZW1vcnkgZXJyb3JzLCBCT00gaGFuZGxpbmcgaW4gZXh0ZXJuYWwgcGFyc2VkIGVudGl0aWVzCisgICAgICAoTWFyayBSb3dlKQorICAgLSBDb2RlIGNsZWFudXA6IGZpeCBidWlsZCB1bmRlciBWUyAyMDA4IChEYXZpZCBXaW1zZXkpLCByZW1vdmUgdXNlbGVzcworICAgICAgbXV0ZXggaW4geG1sRGljdCAoRmxvcmVudCBHdWlsaWFuKSwgTWluZ3czMiBjb21waWxhdGlvbiBmaXggKENhcmxvCisgICAgICBCcmFtaW5pKSwgV2luIGFuZCBNYWNPUyBFT0wgY2xlYW51cHMgKEZsb3JlbnQgR3VpbGlhbmkpLCBpY29udiBuZWVkCisgICAgICBhIGNvbnN0IGRldGVjdGlvbiAoUm91bWVuIFBldHJvdiksIHNpbXBsaWZ5IHhtbFNldFByb3AgKEp1bGllbiBDaGFyYm9uKSwKKyAgICAgIGNyb3NzIGNvbXBpbGF0aW9uIGZpeGVzIGZvciBNaW5ndyAoUm91bWVuIFBldHJvdiksIFNDTyBPcGVuc2VydmVyIGJ1aWxkCisgICAgICBmaXggKEZsb3JlbnQgR3VpbGlhbmkpLCBpY29udiB1c2VzIGNvbnN0IG9uIFdpbjMyIChSb2IgUmljaGFyZHMpLAorICAgICAgZHVwbGljYXRlIGNvZGUgcmVtb3ZhbCAoQXNod2luKSwgbWlzc2luZyBtYWxsb2MgdGVzdCBhbmQgZXJyb3IgcmVwb3J0cworICAgICAgKEFzaHdpbiksIFZNUyBtYWtlZmlsZSBmaXggKFR5Y2hvIEhpbGhvcnN0KQorICAgLSBpbXByb3ZlbWVudHM6IGJldHRlciBwbHVnIG9mIHNjaGVtYXRyb24gaW4gdGhlIG5vcm1hbCBlcnJvciBoYW5kbGluZworICAgICAgKFRvYmlhcyBNaW5pY2gpCisKKworMi42LjMxOiBKYW4gMTEgMjAwODoKKyAgIC0gU2VjdXJpdHkgZml4OiBtaXNzaW5nIG9mIGNoZWNrcyBpbiBVVEYtOCBwYXJzaW5nCisgICAtIEJ1ZyBmaXhlczogcmVnZXhwIGJ1ZywgZHVtcCBhdHRyaWJ1dGUgZnJvbSBYSFRNTCBkb2N1bWVudCwgZml4CisgICAgICB4bWxGcmVlKE5VTEwpIHRvIG5vdCBjcmFzaCBpbiBkZWJ1ZyBtb2RlLCBTY2hlbWF0cm9uIHBhcnNpbmcgY3Jhc2gKKyAgICAgIChSb2IgUmljaGFyZHMpLCBnbG9iYWwgbG9jayBmcmVlIG9uIFdpbmRvd3MgKE1hcmMtQW50b2luZSBSdWVsKSwKKyAgICAgIFhTRCBjcmFzaCBkdWUgdG8gZG91YmxlIGZyZWUgKFJvYiBSaWNoYXJkcyksIGluZGVudGF0aW9uIGZpeCBpbgorICAgICAgeG1sVGV4dFdyaXRlckZ1bGxFbmRFbGVtZW50IChGZWxpcGUgUGVuYSksIGVycm9yIGluIGF0dHJpYnV0ZSB0eXBlCisgICAgICBwYXJzaW5nIGlmIGF0dHJpYnV0ZSByZWRlY2xhcmVkLCBhdm9pZCBjcmFzaCBpbiBoYXNoIGxpc3Qgc2Nhbm5lciBpZgorICAgICAgZGVsZXRpbmcgZWxlbWVudHMsIGNvbHVtbiBjb3VudGVyIGJ1ZyBmaXggKENocmlzdGlhbiBTY2htaWR0KSwKKyAgICAgIEhUTUwgZW1iZWQgZWxlbWVudCBzYXZpbmcgZml4IChTdGVmYW4gQmVobmVsKSwgYXZvaWQgLUwvdXNyL2xpYgorICAgICAgb3V0cHV0IGZyb20geG1sMi1jb25maWcgKEZyZWQgQ3JvemF0KSwgYXZvaWQgYW4geG1sbGludCBjcmFzaCAKKyAgICAgIChTdGVmYW4gS29zdCksIGRvbid0IHN0b3AgSFRNTCBwYXJzaW5nIG9uIG91dCBvZiByYW5nZSBjaGFycy4KKyAgICAgIAorICAgLSBDb2RlIGNsZWFudXA6IGZpeCBvcGVuKCkgY2FsbCB0aGlyZCBhcmd1bWVudCwgcmVnZXhwIGN1dCduIHBhc3RlCisgICAgICBjb3B5IGVycm9yLCB1bnVzZWQgdmFyaWFibGUgaW4gX194bWxHbG9iYWxJbml0TXV0ZXhMb2NrIChIYW5uZXMgRWRlciksCisgICAgICBzb21lIG1ha2UgZGlzdGNoZWNrIHJlYWx0ZWQgZml4ZXMgKEpvaG4gQ2FycikKKyAgIC0gSW1wcm92ZW1lbnRzOiBIVFRQIEhlYWRlcjogaW5jbHVkZXMgcG9ydCBudW1iZXIgKFdpbGxpYW0gQnJhY2spLAorICAgICAgdGVzdFVSSSAtLWRlYnVnIG9wdGlvbiwgCisKKworMi42LjMwOiBBdWcgMjMgMjAwNzoKKyAgIC0gUG9ydGFiaWxpdHk6IFNvbGFyaXMgY3Jhc2ggb24gZXJyb3IgaGFuZGxpbmcsIHdpbmRvd3MgcGF0aCBmaXhlcworICAgICAgKFJvbGFuZCBTY2h3YXJ6IGFuZCBSb2IgUmljaGFyZHMpLCBtaW5ndyBidWlsZCAoUm9sYW5kIFNjaHdhcnopCisgICAtIEJ1Z2ZpeGVzOiB4bWxYUGF0aE5vZGVTZXRTb3J0IHByb2JsZW0gKFdpbGxpYW0gQnJhY2spLCBsZWFrIHdoZW4KKyAgICAgIHJldXNpbmcgYSB3cml0ZXIgZm9yIGEgbmV3IGRvY3VtZW50IChEb2RqaSBTZWtldGVsaSksIFNjaGVtYXMKKyAgICAgIHhzaTpuaWwgaGFuZGxpbmcgcGF0Y2ggKEZyYW5rIEdyb3NzKSwgcmVsYXRpdmUgVVJJIGJ1aWxkIHByb2JsZW0KKyAgICAgIChQYXRyaWsgRmltbWwpLCBjcmFzaCBpbiB4bWxEb2NGb3JtYXREdW1wLCBpbnZhbGlkIGNoYXIgaW4gY29tbWVudAorICAgICAgZGV0ZWN0aW9uIGJ1ZywgZml4IGRpc3Bhcml0eSB3aXRoIHhtbFNBWFVzZXJQYXJzZU1lbW9yeSwgYXV0b21hdGEKKyAgICAgIGdlbmVyYXRpb24gZm9yIGNvbXBsZXggcmVnZXhwIGNvdW50cyBwcm9ibGVtcywgU2NoZW1hcyBJREMgaW1wb3J0CisgICAgICBwcm9ibGVtcyAoRnJhbmsgR3Jvc3MpLCB4cGF0aCBwcmVkaWNhdGUgZXZhaWxhdGlvbiBlcnJvciBoYW5kbGluZworICAgICAgKFdpbGxpYW0gQnJhY2spCisKKworMi42LjI5OiBKdW4gMTIgMjAwNzoKKyAgIC0gUG9ydGFiaWxpdHk6IHBhdGNoZXMgZnJvbSBBbmRyZWFzIFN0cmlja2UgZm9yIFdpbkNFaSwKKyAgICAgIGZpeCBjb21waWxhdGlvbiB3YXJuaW5ncyAoV2lsbGlhbSBCcmFjayksIGF2b2lkIHdhcm5pbmdzIG9uIEFwcGxlIE9TL1gKKyAgICAgIChXZW5keSBEb3lsZSBhbmQgTWFyayBSb3dlKSwgV2luZG93cyBjb21waWxhdGlvbiBhbmQgdGhyZWFkaW5nCisgICAgICBpbXByb3ZlbWVudHMgKFJvYiBSaWNoYXJkcyksIGNvbXBpbGF0aW9uIGFnYWluc3Qgb2xkIFB5dGhvbiB2ZXJzaW9ucywKKyAgICAgIG5ldyBHTlUgdGFyIGNoYW5nZXMgKFJ5YW4gSGlsbCkKKyAgIC0gRG9jdW1lbnRhdGlvbjogeG1sVVJJVW5lc2NhcGVTdHJpbmcgY29tbWVudCwgCisgICAtIEJ1Z2ZpeGVzOiB4bWxCdWZmZXJBZGQgcHJvYmxlbSAoUmljaGFyZCBKb25lcyksICdtYWtlIHZhbGdyaW5kJworICAgICAgZmxhZyBmaXggKFJpY2hhcmQgSm9uZXMpLCByZWdleHAgaW50ZXJwcmV0YXRpb24gb2YgXCwKKyAgICAgIGh0bWxDcmVhdGVEb2NQYXJzZXJDdHh0IChKZWFuLURhbmllbCBEdXBhcyksIGNvbmZpZ3VyZS5pbgorICAgICAgdHlwbyAoQmpvcm4gUmVlc2UpLCBlbnRpdHkgY29udGVudCBmYWlsdXJlLCB4bWxMaXN0QXBwZW5kKCkgZml4CisgICAgICAoR2Vvcmdlcy1BbmRyw4PCqSBTaWxiZXIpLCBYUGF0aCBudW1iZXIgc2VyaWFsaXphdGlvbiAoV2lsbGlhbSBCcmFjayksCisgICAgICBuYW5vaHR0cCBnemlwcGVkIHN0cmVhbSBmaXggKFdpbGxpYW0gQnJhY2sgYW5kIEFsZXggQ29ybmVqbyksCisgICAgICB4bWxDaGFyRW5jRmlyc3RMaW5lIHR5cG8gKE1hcmsgUm93ZSksIHVyaSBidWcgKEZyYW7Dg8Knb2lzIERlbHlvbiksCisgICAgICBYUGF0aCBzdHJpbmcgdmFsdWUgb2YgUEkgbm9kZXMgKFdpbGxpYW0gQnJhY2spLCBYUGF0aCBub2RlIHNldAorICAgICAgc29ydGluZyBidWdzIChXaWxsaWFtIEJyYWNrKSwgYXZvaWQgb3V0cHV0dGluZyBuYW1lc3BhY2UgZGVjbAorICAgICAgZHVwcyBpbiB0aGUgd3JpdGVyIChSb2IgUmljaGFyZHMpLCB4bWxDdHh0UmVzZXQgYnVnLCBVVEYtOCBlbmNvZGluZworICAgICAgZXJyb3IgaGFuZGxpbmcsIHJlY3VzdGlvbiBvbiBuZXh0IGluIGNhdGFsb2dzLCBmaXggYSBSZWxheC1ORyBjcmFzaCwKKyAgICAgIHdvcmthcm91bmQgd3JvbmcgZmlsZTogVVJJcywgaHRtbE5vZGVEdW1wRm9ybWF0T3V0cHV0IG9uIGF0dHJpYnV0ZXMsCisgICAgICBpbnZhbGlkIGNoYXJhY3RlciBpbiBhdHRyaWJ1dGUgZGV0ZWN0aW9uIGJ1ZywgYmlnIGNvbW1lbnRzIGJlZm9yZSAKKyAgICAgIGludGVybmFsIHN1YnNldCBzdHJlYW1pbmcgYnVnLCBIVE1MIHBhcnNpbmcgb2YgYXR0cmlidXRlcyB3aXRoIDogaW4KKyAgICAgIHRoZSBuYW1lLCBJRG5lc3Mgb2YgbmFtZSBpbiBIVE1MIChEYWdmaW5uIEkuIE1hbm5zw4PCpWtlcikgCisgICAtIEltcHJvdmVtZW50OiBrZWVwIFVSSSBxdWVyeSBwYXJ0cyBpbiByYXcgZm9ybSAoUmljaGFyZCBKb25lcyksCisgICAgICBlbWJlZCB0YWcgc3VwcG9ydCBpbiBIVE1MIChNaWNoYWVsIERheSkgCisKKworMi42LjI4OiBBcHIgMTcgMjAwNzoKKyAgIC0gRG9jdW1lbnRhdGlvbjogY29tbWVudCBmaXhlcyAoTWFya3VzIEtlaW0pLCB4cGF0aCBjb21tZW50cyBmaXhlcyB0b28KKyAgICAgIChKYW1lcyBEZW5uZXR0KQorICAgLSBCdWcgZml4ZXM6IFhQYXRoIGJ1ZyAoV2lsbGlhbSBCcmFjayksIEhUTUwgcGFyc2VyIGF1dG9jbG9zZSBzdGFjayB1c2FnZQorICAgICAgKFVzYW1haCBNYWxpayksIHZhcmlvdXMgcmVnZXhwIGJ1ZyBmaXhlcyAoRFYgYW5kIFdpbGxpYW0pLCBwYXRoIGNvbnZlcnNpb24KKyAgICAgIG9uIFdpbmRvd3MgKElnb3IgWmxhdGtvdmljKSwgaHRtbEN0eHRSZXNldCBmaXggKE1pY2hhZWwgRGF5KSwgWFBhdGgKKyAgICAgIHByaW5jaXBhbCBub2RlIG9mIGF4aXMgYnVnLCBIVE1MIHNlcmlhbGl6YXRpb24gb2Ygc29tZSBjb2RlcG9pbnQKKyAgICAgIChTdGV2ZW4gUmFpbndhdGVyKSwgdXNlciBkYXRhIHByb3BhZ2F0aW9uIGluIFhJbmNsdWRlIChNaWNoYWVsIERheSksCisgICAgICBzdGFuZGFsb25lIGFuZCBYTUwgZGVjbCBkZXRlY3Rpb24gKE1pY2hhZWwgRGF5KSwgUHl0aG9uIGlkIG91cHR1dAorICAgICAgZm9yIHNvbWUgaWQsIGZpeCB0aGUgYmlnIHB5dGhvbiBzdHJpbmcgbWVtb3J5IGxlYWssIFVSSSBwYXJzaW5nIGZpeGVzCisgICAgICAoU3TDg8KpcGhhbmUgQmlkb3VsIGFuZCBXaWxsaWFtKSwgbG9uZyBjb21tZW50cyBwYXJzaW5nIGJ1ZyAoV2lsbGlhbSksCisgICAgICBjb25jdXJyZW50IHRocmVhZHMgaW5pdGlhbGl6YXRpb24gKFRlZCBQaGVscHMpLCBpbnZhbGlkIGNoYXIKKyAgICAgIGluIHRleHQgWEluY2x1ZGUgKFdpbGxpYW0pLCBYUGF0aCBtZW1vcnkgbGVhayAoV2lsbGlhbSksIHRhYiBpbgorICAgICAgcHl0aG9uIHByb2JsZW1zIChBbmRyZWFzIEhhbmtlKSwgWFBhdGggbm9kZSBjb21wYXJpc29uIGVycm9yCisgICAgICAoT2xlZyBQYXJhc2NoZW5rbyksIGNsZWFudXAgcGF0Y2ggZm9yIHJlYWRlciAoSnVsaWVuIFJlaWNoZWwpLAorICAgICAgWE1MIFNjaGVtYXMgYXR0cmlidXRlIGdyb3VwIChXaWxsaWFtKSwgSFRNTCBwYXJzaW5nIHByb2JsZW0gKFdpbGxpYW0pLAorICAgICAgZml4IGNoYXIgMHgyZCBpbiByZWdleHBzIChXaWxsaWFtKSwgcmVnZXhwIHF1YW50aWZpZXIgcmFuZ2Ugd2l0aAorICAgICAgbWluIG9jY3VycyBvZiAwIChXaWxsaWFtKSwgSFRNTCBzY3JpcHQvc3R5bGUgcGFyc2luZyAoTWlrZSBEYXkpCisgICAtIEltcHJvdmVtZW50OiBtYWtlIHhtbFRleHRSZWFkZXJTZXR1cCgpIHB1YmxpYworICAgLSBDb21waWxhdGlvbiBhbmQgcG9zdGFiaWxpdHk6IGZpeCBhIG1pc3NpbmcgaW5jbHVkZSBwcm9ibGVtIChXaWxsaWFtKSwKKyAgICAgIF9fc3NfZmFtaWxseSBvbiBBSVggYWdhaW4gKEJqw4PCtnJuIFdpYmVyZyksIGNvbXBpbGF0aW9uIHdpdGhvdXQgemxpYgorICAgICAgKE1pY2hhZWwgRGF5KSwgY2F0YWxvZyBwYXRjaCBmb3IgV2luMzIgKENocmlzdGlhbiBFaHJsaWNoZXIpLAorICAgICAgV2luZG93cyBDRSBmaXhlcyAoQW5kcmVhcyBTdHJpY2tlKQorICAgLSBWYXJpb3VzIENWUyB0byBTVk4gaW5mcmFzdHJ1Y3R1cmUgY2hhbmdlcworCisKKzIuNi4yNzogT2N0IDI1IDIwMDY6CisgICAtIFBvcnRhYmlsaXR5IGZpeGVzOiBmaWxlIG5hbWVzIG9uIHdpbmRvd3MgKFJvbGFuZCBTY2h3aW5nZWwsIAorICAgICAgRW1lbHlhbm92IEFsZXhleSksIHdpbmRvd3MgY29tcGlsZSBmaXh1cCAoUm9iIFJpY2hhcmRzKSwgCisgICAgICBBSVggaWNvbnYoKSBpcyBhcHBhcmVudGx5IGNhc2Ugc2Vuc2l0aXZlCisgICAtIGltcHJvdmVtZW50czogUHl0aG9uIFhQYXRoIHR5cGVzIG1hcHBpbmcgKE5pYyBGZXJyaWVyKSwgWFBhdGggb3B0aW1pemF0aW9uCisgICAgICAoS2FzaW1pZXIpLCBhZGQgeG1sWFBhdGhDb21waWxlZEV2YWxUb0Jvb2xlYW4gKEthc2ltaWVyKSwgUHl0aG9uIG5vZGUKKyAgICAgIGVxdWFsaXR5IGFuZCBjb21wYXJpc29uIChBbmRyZWFzIFBha3VsYXQpLCB4bWxYUGF0aENvbGxlY3RBbmRUZXN0CisgICAgICBpbXByb3ZlbWVtdCAoS2FzaW1pZXIpLCBleHBvc2UgaWYgbGlicmFyeSB3YXMgY29tcGlsZWQgd2l0aCB6bGliIAorICAgICAgc3VwcG9ydCAoQW5kcmV3IE5vc2Vua28pLCBjYWNoZSBmb3IgeG1sU2NoZW1hSURDTWF0Y2hlciBzdHJ1Y3RzCisgICAgICAoS2FzaW1pZXIpLCB4bWxUZXh0Q29uY2F0IHNob3VsZCB3b3JrIHdpdGggY29tbWVudHMgYW5kIFBJcyAoUm9iCisgICAgICBSaWNoYXJkcyksIGV4cG9ydCBodG1sTmV3UGFyc2VyQ3R4dCBuZWVkZWQgYnkgTWljaGFlbCBEYXksIHJlZmFjdG9yaW5nCisgICAgICBvZiBjYXRhbG9nIGVudGl0eSBsb2FkZXJzIChNaWNoYWVsIERheSksIGFkZCBYUG9pbnRlciBzdXBwb3J0IHRvIAorICAgICAgcHl0aG9uIGJpbmRpbmdzIChSb3NzIFJlZWRzdHJvbSwgQnJpYW4gV2VzdCBhbmQgU3RlZmFuIEFuY2EpLCAKKyAgICAgIHRyeSB0byBzb3J0IG91dCBtb3N0IGZpbGUgcGF0aCB0byBVUkkgY29udmVyc2lvbnMgYW5kIHhtbFBhdGhUb1VyaSwKKyAgICAgIGFkZCAtLWh0bWwgLS1tZW1vcnkgY2FzZSB0byB4bWxsaW50CisgICAtIGJ1aWxkaW5nIGZpeDogZml4IC0td2l0aC1taW5pbXVtIChGZWxpcGUgQ29udHJlcmFzKSwgVk1TIGZpeCwgCisgICAgICBjb25zdCdpZmljYXRpb24gb2YgSFRNTCBwYXJzZXIgc3RydWN0dXJlcyAoTWF0dGhpYXMgQ2xhc2VuKSwKKyAgICAgIHBvcnRhYmlsaXR5IGZpeCAoRW1lbHlhbm92IEFsZXhleSksIHdnZXQgYXV0b2RldGVjdGlvbiAoUGV0ZXIKKyAgICAgIEJyZWl0ZW5sb2huZXIpLCAgcmVtb3ZlIHRoZSBidWlsZCBwYXRoIHJlY29yZGVkIGluIHRoZSBweXRob24KKyAgICAgIHNoYXJlZCBtb2R1bGUsIHNlcGFyYXRlIGxpYnJhcnkgZmxhZ3MgZm9yIHNoYXJlZCBhbmQgc3RhdGljIGJ1aWxkcworICAgICAgKE1pa2hhaWwgWmFiYWx1ZXYpLCBmaXggLS13aXRoLW1pbmltdW0gLS13aXRoLXNheDEgYnVpbGRzLCBmaXgKKyAgICAgIC0td2l0aC1taW5pbXVtIC0td2l0aC1zY2hlbWFzIGJ1aWxkcworICAgLSBidWcgZml4OiB4bWxHZXROb2RlUGF0aCBmaXggKEthc2ltaWVyKSwgeG1sRE9NV3JhcEFkb3B0Tm9kZSBhbmQKKyAgICAgIGF0dHJpYnV0ZSAoS2FzaW1pZXIpLCBjcmFzaCB3aGVuIHVzaW5nIHRoZSByZWNvdmVyIG1vZGUsIAorICAgICAgeG1sWFBhdGhFdmFsRXhwciBwcm9ibGVtIChLYXNpbWllciksIHhtbFhQYXRoQ29tcEV4cHJBZGQgYnVnIChLYXNpbWllciksCisgICAgICBtaXNzaW5nIGRlc3RyeSBpbiB4bWxGcmVlUk11dGV4IChBbmRyZXcgTm9zZW5rbyksIFhNTCBTY2hlbWFzIGZpeGVzCisgICAgICAoS2FzaW1pZXIpLCB3YXJuaW5nIG9uIGVudGl0aWVzIHByb2Nlc3NpbmcsIFhIVE1MIHNjcmlwdCBhbmQgc3R5bGUKKyAgICAgIHNlcmlhbGl6YXRpb24gKEthc2ltaWVyKSwgcHl0aG9uIGdlbmVyYXRvciBmb3IgbG9uZyB0eXBlcywgYnVnIGluCisgICAgICB4bWxTY2hlbWFDbGVhclZhbGlkQ3R4dCAoQmVydHJhbmQgRnJpdHNjaCksIHhtbFNjaGVtYVhQYXRoRXZhbHVhdGUKKyAgICAgIGFsbG9jYXRpb24gYnVnIChNYXJ0b24gSWxsZXMpLCBlcnJvciBtZXNzYWdlIGVuZCBvZiBsaW5lIChSb2IgUmljaGFyZHMpLAorICAgICAgZml4IGF0dHJpYnV0ZSBzZXJpYWxpemF0aW9uIGluIHdyaXRlciAoUm9iIFJpY2hhcmRzKSwgUEhQNCBEVEQgdmFsaWRhdGlvbgorICAgICAgY3Jhc2hlciwgcGFyc2VyIHNhZmV0eSBwYXRjaCAoQmVuIERhcm5lbGwpLCBfcHJpdmF0ZSBjb250ZXh0IHByb3BhZ2F0aW9uCisgICAgICB3aGVuIHBhcnNpbmcgZW50aXRpZXMgKHdpdGggTWljaGFlbCBEYXkpLCBmaXggZW50aXRpZXMgYmVoYXZpb3VyIHdoZW4gCisgICAgICB1c2luZyBTQVgsIFVSSSB0byBmaWxlIHBhdGggZml4IChNaWtoYWlsIFphYmFsdWV2KSwgZGlzYXBlYXJpbmcgdmFsaWRpdHkKKyAgICAgIGNvbnRleHQsIGFyZyBlcnJvciBpbiBTQVggY2FsbGJhY2sgKE1pa2UgSG9tbWV5KSwgZml4IG1peGVkLWNvbnRlbnQKKyAgICAgIGF1dG9kZXRlY3Qgd2hlbiB1c2luZyAtLW5vYmxhbmtzLCBmaXggeG1sSU9QYXJzZURURCBlcnJvciBoYW5kbGluZywKKyAgICAgIGZpeCBidWcgaW4geG1sU3BsaXRRTmFtZSBvbiBzcGVjaWFsIE5hbWVzLCBmaXggUmVsYXgtTkcgZWxlbWVudCBjb250ZW50CisgICAgICB2YWxpZGF0aW9uIGJ1ZywgZml4IHhtbFJlY29uY2lsaWF0ZU5zIGJ1ZywgZml4IHBvdGVudGlhbCBhdHRyaWJ1dGUgCisgICAgICBYTUwgcGFyc2luZyBidWcsIGZpeCBsaW5lL2NvbHVtbiBhY2NvdW50aW5nIGluIFhNTCBwYXJzZXIsIGNodW5raW5nIGJ1ZworICAgICAgaW4gdGhlIEhUTUwgcGFyc2VyIG9uIHNjcmlwdCwgdHJ5IHRvIGRldGVjdCBvYnZpb3VzbHkgYnVnZ3kgSFRNTAorICAgICAgbWV0YSBlbmNvZGluZyBpbmRpY2F0aW9ucywgYnVncyB3aXRoIGVuY29kaW5nIEJPTSBhbmQgeG1sU2F2ZURvYywgCisgICAgICBIVE1MIGVudGl0aWVzIGluIGF0dHJpYnV0ZXMgcGFyc2luZywgSFRNTCBtaW5pbWl6ZWQgYXR0cmlidXRlIHZhbHVlcywKKyAgICAgIGh0bWxSZWFkRG9jIGFuZCBodG1sUmVhZElPIHdlcmUgYnJva2VuLCBlcnJvciBoYW5kbGluZyBidWcgaW4KKyAgICAgIHhtbFhQYXRoRXZhbEV4cHJlc3Npb24gKE9sYWYgV2Fsa293aWFrKSwgZml4IGEgcHJvYmxlbSBpbgorICAgICAgaHRtbEN0eHRVc2VPcHRpb25zLCB4bWxOZXdJbnB1dEZyb21GaWxlIGNvdWxkIGxlYWsgKE1hcml1cyBLb25pdHplciksCisgICAgICBidWcgb24gbWlzZm9ybWVkIFNTRCByZWdleHBzIChDaHJpc3RvcGhlciBCb3VtZW5vdCkKKyAgICAgIAorICAgLSBkb2N1bWVudGF0aW9uOiB3YXJuaW5nIGFib3V0IFhNTF9QQVJTRV9DT01QQUNUIChLYXNpbWllciBCdWNoY2lrKSwKKyAgICAgIGZpeCB4bWxYUGF0aENhc3RUb1N0cmluZyBkb2N1bWVudGF0aW9uLCBpbXByb3ZlIG1hbiBwYWdlcyBmb3IKKyAgICAgIHhtbGxpdG4gYW5kIHhtbGNhdGFsb2cgKERhbmllbCBMZWlkZXJ0KSwgZml4ZWQgY29tbWVudHMgb2YgYSBmZXcKKyAgICAgIGZ1bmN0aW9ucworCisKKzIuNi4yNjogSnVuIDYgMjAwNjoKKyAgIC0gcG9ydGFiaWxpdHkgZml4ZXM6IFB5dGhvbiBkZXRlY3Rpb24gKEpvc2VwaCBTYWNjbyksIGNvbXBpbGF0aW9uCisgICAgZXJyb3IoV2lsbGlhbSBCcmFjayBhbmQgR3JhaGFtIEJlbm5ldHQpLCBMeW54T1MgcGF0Y2ggKE9sbGkgU2F2aWEpCisgICAtIGJ1ZyBmaXhlczogZW5jb2RpbmcgYnVmZmVyIHByb2JsZW0sIG1peCBvZiBjb2RlIGFuZCBkYXRhIGluCisgICAgeG1sSU8uYyhLamFydGFuIE1hcmFhcyksIGVudGl0aWVzIGluIFhTRCB2YWxpZGF0aW9uIChLYXNpbWllciBCdWNoY2lrKSwKKyAgICB2YXJpb3VzWFNEIHZhbGlkYXRpb24gZml4ZXMgKEthc2ltaWVyKSwgbWVtb3J5IGxlYWsgaW4gcGF0dGVybiAoUm9iCisgICAgUmljaGFyZHMgYW5kS2FzaW1pZXIpLCBhdHRyaWJ1dGUgd2l0aCBjb2xvbiBpbiBuYW1lIChSb2IgUmljaGFyZHMpLCBYUGF0aAorICAgIGxlYWsgaW5lcnJvciByZXBvcnRpbmcgKEFsZWtzZXkgU2FuaW4pLCBYSW5jbHVkZSB0ZXh0IGluY2x1ZGUgb2YKKyAgICBzZWxmZG9jdW1lbnQuCisgICAtIGltcHJvdmVtZW50czogWHBhdGggb3B0aW1pemF0aW9ucyAoS2FzaW1pZXIpLCBYUGF0aCBvYmplY3QKKyAgICBjYWNoZShLYXNpbWllcikKKworCisyLjYuMjU6IEp1biA2IDIwMDY6OgorRG8gbm90IHVzZSBvciBwYWNrYWdlIDIuNi4yNQorMi42LjI0OiBBcHIgMjggMjAwNjoKKyAgIC0gUG9ydGFiaWxpdHkgZml4ZXM6IGNvbmZpZ3VyZSBvbiBXaW5kb3dzLCB0ZXN0YXBpIGNvbXBpbGUgb24gd2luZG93cworICAgICAgKEthc2ltaWVyIEJ1Y2hjaWssIHZlbmthdCBuYWlkdSksIEJvcmxhbmQgQysrIDYgY29tcGlsZSAoRXJpYyBadXJjaGVyKSwKKyAgICAgIEhQLVVYIGNvbXBpbGVyIHdvcmthcm91bmQgKFJpY2sgSm9uZXMpLCB4bWwyLWNvbmZpZyBidWdmaXgsIGdjYy00LjEKKyAgICAgIGNsZWFudXBzLCBQeXRob24gZGV0ZWN0aW9uIHNjaGVtZSAoSm9zZXBoIFNhY2NvKSwgVVRGLTggZmlsZSBwYXRocyBvbgorICAgICAgV2luZG93cyAoUm9sYW5kIFNjaHdpbmdlbCkuCisgICAgICAKKyAgIC0gSW1wcm92ZW1lbnRzOiB4bWxET01XcmFwUmVjb25jaWxlTmFtZXNwYWNlcyB4bWxET01XcmFwQ2xvbmVOb2RlIChLYXNpbWllcgorICAgICAgQnVjaGNpayksIFhNTCBjYXRhbG9nIGRlYnVnZ2luZyAoUmljayBKb25lcyksIHVwZGF0ZSB0byBVbmljb2RlIDQuMDEuCisgICAtIEJ1ZyBmaXhlczogeG1sUGFyc2VDaHVuaygpIHByb2JsZW0gaW4gMi42LjIzLCB4bWxQYXJzZUluTm9kZUNvbnRleHQoKQorICAgICAgb24gSFRNTCBkb2NzLCBVUkkgYmVoYXZpb3VyIG9uIFdpbmRvd3MgKFJvYiBSaWNoYXJkcyksIGNvbW1lbnQgc3RyZWFtaW5nCisgICAgICBidWcsIHhtbFBhcnNlQ29tbWVudCAod2l0aCBXaWxsaWFtIEJyYWNrKSwgcmVnZXhwIGJ1ZyBmaXhlcyAoRFYgJgorICAgICAgWW91cmkgR29sb3Zhbm92KSwgeG1sR2V0Tm9kZVBhdGggb24gdGV4dC9DREFUQSAoS2FzaW1pZXIpLAorICAgICAgb25lIFJlbGF4LU5HIGludGVybGVhdmUgYnVnLCB4bWxsaW50IC0tcGF0aCBhbmQgLS12YWxpZCwKKyAgICAgIFhTRCBidWdmaXhlcyAoS2FzaW1pZXIpLCByZW1vdmUgZGVidWcKKyAgICAgIGxlZnQgaW4gUHl0aG9uIGJpbmRpbmdzIChOaWMgRmVycmllciksIHhtbENhdGFsb2dBZGQgYnVnIChNYXJ0aW4gQ29sZSksCisgICAgICB4bWxTZXRQcm9wIGZpeGVzIChSb2IgUmljaGFyZHMpLCBIVE1MIElEbmVzcyAoUm9iIFJpY2hhcmRzKSwgYSBsYXJnZQorICAgICAgbnVtYmVyIG9mIGNsZWFudXBzIGFuZCBzbWFsbCBmaXhlcyBiYXNlZCBvbiBDb3Zlcml0eSByZXBvcnRzLCBidWcKKyAgICAgIGluIGNoYXJhY3RlciByYW5nZXMsIFVuaWNvZGUgdGFibGVzIGNvbnN0IChBaXZhcnMgS2FsdmFucyksIHNjaGVtYXMKKyAgICAgIGZpeCAoU3RlZmFuIEtvc3QpLCB4bWxSZWxheE5HUGFyc2UgZXJyb3IgZGVhbGxvY2F0aW9uLCAKKyAgICAgIHhtbFNjaGVtYUFkZFNjaGVtYURvYyBlcnJvciBkZWFsbG9jYXRpb24sIGVycm9yIGhhbmRsaW5nIG9uIHVuYWxsb3dlZAorICAgICAgY29kZSBwb2ludCwgaXhtbGxpbnQgLS1ub25ldCB0byBuZXZlciByZWFjaCB0aGUgbmV0IChHYXJ5IENvYWR5KSwKKyAgICAgIGxpbmUgYnJlYWsgaW4gd3JpdGVyIGFmdGVyIGVuZCBQSSAoSmFzb24gVmllcnMpLiAKKyAgIC0gRG9jdW1lbnRhdGlvbjogbWFuIHBhZ2VzIHVwZGF0ZXMgYW5kIGNsZWFudXBzIChEYW5pZWwgTGVpZGVydCkuCisgICAtIE5ldyBmZWF0dXJlczogUmVsYXggTkcgc3RydWN0dXJlIGVycm9yIGhhbmRsZXJzLgorCisKKzIuNi4yMzogSmFuIDUgMjAwNjoKKyAgIC0gcG9ydGFiaWxpdHkgZml4ZXM6IFdpbmRvd3MgKFJvYiBSaWNoYXJkcyksIGdldGFkZHJpbmZvIG9uIFdpbmRvd3MKKyAgICAoS29samEgTm93YWssIFJvYiBSaWNoYXJkcyksIGljYyB3YXJuaW5ncyAoS2phcnRhbiBNYXJhYXMpLAorICAgIC0td2l0aC1taW5pbXVtIGNvbXBpbGF0aW9uIGZpeGVzIChXaWxsaWFtIEJyYWNrKSwgZXJyb3IgY2FzZSBoYW5kbGluZyBmaXgKKyAgICBvbiBTb2xhcmlzIChBbGJlcnQgQ2hpbiksIGRvbid0IHVzZSAnbGlzdCcgYXMgcGFyYW1ldGVyIG5hbWUgcmVwb3J0ZWQgYnkKKyAgICBTYW11ZWwgRGlheiBHYXJjaWEsIG1vcmUgb2xkIFVuaWNlcyBwb3J0YWJpbGl0eSBmaXhlcyAoQWxiZXJ0IENoaW4pLAorICAgIE1pbkdXIGNvbXBpbGF0aW9uIChNYXJrIEp1bmtlciksIEhQLVVYIGNvbXBpbGVyIHdhcm5pbmdzIChSaWNrCisgIEpvbmVzKSwKKyAgIC0gY29kZSBjbGVhbnVwOiB4bWxSZXBvcnRFcnJvciAoQWRyaWFuIE1vdWF0KSwgcmVtb3ZlIHhtbEJ1ZmZlckNsb3NlCisgICAgKEdlZXJ0IEphbnNlbiksIHVucmVhY2hhYmxlIGNvZGUgKE9sZWtzYW5kciBLb25vbmVua28pLCByZWZhY3RvcmluZworICAgIHBhcnNpbmcgY29kZSAoQmpvcm4gUmVlc2UpCisgICAtIGJ1ZyBmaXhlczogeG1sQnVpbGRSZWxhdGl2ZVVSSSBhbmQgZW1wdHkgcGF0aCAoV2lsbGlhbSBCcmFjayksCisgICAgY29tYmluYXRvcnkgZXhwbG9zaW9uIGFuZCBwZXJmb3JtYW5jZXMgaW4gcmVnZXhwIGNvZGUsIGxlYWsgaW4KKyAgICB4bWxUZXh0UmVhZGVyUmVhZFN0cmluZygpLCB4bWxTdHJpbmdMZW5EZWNvZGVFbnRpdGllcyBwcm9ibGVtIChNYXNzaW1vCisgICAgTW9yYXJhKSwgSWRlbnRpdHkgQ29uc3RyYWludHMgYnVncyBhbmQgYSBzZWdmYXVsdCAoS2FzaW1pZXIgQnVjaGNpayksCisgICAgWFBhdGggcGF0dGVybiBiYXNlZCBldmFsdWF0aW9uIGJ1Z3MgKERWICYgS2FzaW1pZXIpLAorICAgIHhtbFNjaGVtYUNvbnRlbnRNb2RlbER1bXAoKSBtZW1vcnkgbGVhayAoS2FzaW1pZXIpLCBwb3RlbnRpYWwgbGVhayBpbgorICAgIHhtbFNjaGVtYUNoZWNrQ1NlbGVjdG9yWFBhdGgoKSwgeG1sVGV4dFdyaXRlclZTcHJpbnRmKCkgbWlzdXNlIG9mCisgICAgdnNucHJpbnRmIChXaWxsaWFtIEJyYWNrKSwgWEhUTUwgc2VyaWFsaXphdGlvbiBmaXggKFJvYiBSaWNoYXJkcyksIENSTEYKKyAgICBzcGxpdCBwcm9ibGVtIChXaWxsaWFtKSwgaXNzdWVzIHdpdGggbm9uLW5hbWVzcGFjZWQgYXR0cmlidXRlcyBpbgorICAgIHhtbEFkZENoaWxkKCkgeG1sQWRkTmV4dFNpYmxpbmcoKSBhbmQgeG1sQWRkUHJldlNpYmxpbmcoKSAoUm9iIFJpY2hhcmRzKSwKKyAgICBIVE1MIHBhcnNpbmcgb2Ygc2NyaXB0LCBQeXRob24gbXVzdCBub3Qgb3V0cHV0IHRvIHN0ZG91dCAoTmljIEZlcnJpZXIpLAorICAgIGV4Y2x1c2l2ZSBDMTROIG5hbWVzcGFjZSB2aXNpYmlsaXR5IChBbGVrc2V5IFNhbmluKSwgWFNEIGRhdGF5cGUKKyAgICB0b3RhbERpZ2l0cyBidWcgKEthc2ltaWVyIEJ1Y2hjaWspLCBlcnJvciBoYW5kbGluZyB3aGVuIHdyaXRpbmcgdG8gYW4KKyAgICB4bWxCdWZmZXIgKFJvYiBSaWNoYXJkcyksIHJ1bnRlc3Qgc2NoZW1hcyBlcnJvciBub3QgcmVwb3J0ZWQgKEhpc2FzaGkKKyAgICBGdWppbmFrYSksIHNpZ25lZC91bnNpZ25lZCBwcm9ibGVtIGluIGRhdGUvdGltZSBjb2RlIChBbGJlcnQgQ2hpbiksIGZpeAorICAgIFhTSSBkcml2ZW4gWFNEIHZhbGlkYXRpb24gKEthc2ltaWVyKSwgcGFyc2luZyBvZiB4czpkZWNpbWFsIChLYXNpbWllciksCisgICAgZml4IERURCB3cml0ZXIgb3V0cHV0IChSb2IgUmljaGFyZHMpLCBsZWFrIGluIHhtbFRleHRSZWFkZXJSZWFkSW5uZXJYbWwKKyAgICAoR2FyeSBDb2FkeSksIHJlZ2V4cCBidWcgYWZmZWN0aW5nIHNjaGVtYXMgKEthc2ltaWVyKSwgY29uZmlndXJhdGlvbiBvZgorICAgIHJ1bnRpbWUgZGVidWdnaW5nIChLYXNpbWllciksIHhtbE5vZGVCdWZHZXRDb250ZW50IGJ1ZyBvbiBlbnRpdHkgcmVmcworICAgIChPbGVrc2FuZHIgS29ub25lbmtvKSwgeG1sUmVnRXhlY1B1c2hTdHJpbmcyIGJ1ZyAoU3JlZW5pIE5haXIpLAorICAgIGNvbXBpbGF0aW9uIGFuZCBidWlsZCBmaXhlcyAoTWljaGFlbCBEYXkpLCByZW1vdmVkIGRlcGVuZGFuY2llcyBvbgorICAgIHhtbFNjaGVtYVZhbGlkRXJyb3IgKEthc2ltaWVyKSwgYnVnIHdpdGggPHhtbDpmb28vPiwgbW9yZSBYUGF0aAorICAgIHBhdHRlcm4gYmFzZWQgZXZhbHVhdGlvbiBmaXhlcyAoS2FzaW1pZXIpCisgICAtIGltcHJvdmVtZW50czogWFNEIFNjaGVtYXMgcmVkZWZpbml0aW9ucy9yZXN0cmljdGlvbnMgKEthc2ltaWVyCisgICAgQnVjaGNpayksIG5vZGUgY29weSBjaGVja3MgYW5kIGZpeCBmb3IgYXR0cmlidXRlIChSb2IgUmljaGFyZHMpLCBjb3VudGVkCisgICAgdHJhbnNpdGlvbiBidWcgaW4gcmVnZXhwcywgY3R4dC0+c3RhbmRhbG9uZSA9IC0yIHRvIGluZGljYXRlIG5vCisgICAgc3RhbmRhbG9uZSBhdHRyaWJ1dGUgd2FzIGZvdW5kLCBhZGQgeG1sU2NoZW1hU2V0UGFyc2VyU3RydWN0dXJlZEVycm9ycygpCisgICAgKEthc2ltaWVyIEJ1Y2hjaWspLCBhZGQgeG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlQ3R4dCgpIHRvIEFQSQorICAgIChLYXNpbWllciksIGhhbmRsZSBnemlwcGVkIEhUVFAgcmVzb3VyY2VzIChHYXJ5IENvYWR5KSwgYWRkCisgICAgaHRtbERvY0R1bXBNZW1vcnlGb3JtYXQuIChSb2IgUmljaGFyZHMpLAorICAgLSBkb2N1bWVudGF0aW9uOiB0eXBvIChNaWNoYWVsIERheSksIGxpYnhtbCBtYW4gcGFnZSAoQWxiZXJ0IENoaW4pLCBzYXZlCisgICAgZnVuY3Rpb24gdG8gWE1MIGJ1ZmZlciAoR2VlcnQgSmFuc2VuKSwgc21hbGwgZG9jIGZpeCAoQXJvbiBTdGFuc3ZpayksCisKKworMi42LjIyOiBTZXAgMTIgMjAwNToKKyAgIC0gYnVpbGQgZml4ZXM6IGNvbXBpbGUgd2l0aG91dCBzY2hlbWF0cm9uIChTdMODwqlwaGFuZSBCaWRvdWwpCisgICAtIGJ1ZyBmaXhlczogeG1sRGVidWdEdW1wTm9kZSBvbiBuYW1lc3BhY2Ugbm9kZSAoT2xlZyBQYXJhc2NoZW5rbylpLAorICAgIENEQVRBIHB1c2ggcGFyc2VyIGJ1ZywgeG1sRWxlbUR1bXAgcHJvYmxlbSB3aXRoIFhIVE1MMSBkb2MsCisgICAgWE1MX0ZFQVRVUkVfeHh4IGNsYXNoIHdpdGggZXhwYXQgaGVhZGVycyByZW5hbWVkIFhNTF9XSVRIX3h4eCwgZml4IHNvbWUKKyAgICBvdXRwdXQgZm9ybWF0dGluZyBmb3IgbWV0YSBlbGVtZW50IChSb2IgUmljaGFyZHMpLCBzY3JpcHQgYW5kIHN0eWxlCisgICAgWEhUTUwxIHNlcmlhbGl6YXRpb24gKERhdmlkIE1hZG9yZSksIEF0dHJpYnV0ZSBkZXJpdmF0aW9uIGZpeHVwcyBpbiBYU0QKKyAgICAoS2FzaW1pZXIgQnVjaGNpayksIGJldHRlciBJREMgZXJyb3IgcmVwb3J0cyAoS2FzaW1pZXIgQnVjaGNpaykKKyAgIC0gaW1wcm92ZW1lbnRzOiBhZGQgWE1MX1NBVkVfTk9fRU1QVFkgeG1sU2F2ZU9wdGlvbiAoUm9iIFJpY2hhcmRzKSwgYWRkCisgICAgWE1MX1NBVkVfTk9fWEhUTUwgeG1sU2F2ZU9wdGlvbiwgWE1MIFNjaGVtYXMgaW1wcm92ZW1lbnRzIHByZXBhcmluZyBmb3IKKyAgICBkZXJpdmUgKEthc2ltaWVyIEJ1Y2hjaWspLgorICAgLSBkb2N1bWVudGF0aW9uOiBnZW5lcmF0aW9uIG9mIGd0ay1kb2MgbGlrZSBkb2NzLCBpbnRlZ3JhdGlvbiB3aXRoCisgICAgZGV2aGVscC4KKworCisyLjYuMjE6IFNlcCA0IDIwMDU6CisgICAtIGJ1aWxkIGZpeGVzOiBDeWd3aW4gcG9ydGFiaWxpdHkgZml4ZXMgKEdlcnJpdCBQLiBIYWFzZSksIGNhbGxpbmcKKyAgICBjb252ZW50aW9uIHByb2JsZW1zIG9uIFdpbmRvd3MgKE1hcmN1cyBCb2VyZ2VyKSwgY2xlYW51cHMgYmFzZWQgb24gTGludXMnCisgICAgc3BhcnNlIHRvb2wsIHVwZGF0ZSBvZiB3aW4zMi9jb25maWd1cmUuanMgKFJvYiBSaWNoYXJkcyksIHJlbW92ZSB3YXJuaW5ncworICAgIG9uIFdpbmRvd3MoTWFyY3VzIEJvZXJnZXIpLCBjb21waWxhdGlvbiB3aXRob3V0IFNBWDEsIGRldGVjdGlvbiBvZiB0aGUKKyAgICBQeXRob24gYmluYXJ5LCB1c2UgJEdDQyBpbmVzdGFkIG9mICRDQyA9ICdnY2MnIChBbmRyZXcgVy4gTm9zZW5rbyksCisgICAgY29tcGlsYXRpb24vbGluayB3aXRoIHRocmVhZHMgYW5kIG9sZCBnY2MsIGNvbXBpbGUgcHJvYmxlbSBieSBDMzcwIG9uCisgICAgWi9PUywKKyAgIC0gYnVnIGZpeGVzOiBodHRwX3Byb3h5IGVudmlyb25tZW50cyAoUGV0ZXIgQnJlaXRlbmxvaG5lciksIEhUTUwgVVRGLTgKKyAgICBidWcgKEppcmkgTmV0b2xpY2t5KSwgWFBhdGggTmFOIGNvbXBhcmUgYnVnIChXaWxsaWFtIEJyYWNrKSwKKyAgICBodG1sUGFyc2VTY3JpcHQgcG90ZW50aWFsIGJ1ZywgU2NoZW1hcyByZWdleHAgaGFuZGxpbmcgb2Ygc3BhY2VzLCBCYXNlNjQKKyAgICBTY2hlbWFzIGNvbXBhcmlzb25zIE5JU1QgcGFzc2VzLCBhdXRvbWF0YSBidWlsZCBlcnJvciB4c2Q6YWxsLAorICAgIHhtbEdldE5vZGVQYXRoIGZvciBuYW1lc3BhY2VkIGF0dHJpYnV0ZXMgKEFsZXhhbmRlciBQb2hveWRhKSwgeG1sU2NoZW1hcworICAgIGZvcmVpZ24gbmFtZXNwYWNlcyBoYW5kbGluZywgWE1MIFNjaGVtYXMgZmFjZXQgY29tcGFyaXNvbiAoS3Vwcml5YW5vdgorICAgIEFuYXRvbGlqKSwgeG1sU2NoZW1hUFNpbXBsZVR5cGVFcnIgZXJyb3IgcmVwb3J0IChLYXNpbWllciBCdWNoY2lrKSwgeG1sOgorICAgIG5hbWVzcGFjZSBhaG5kbGluZyBpbiBTY2hlbWFzIChLYXNpbWllciksIGVtcHR5IG1vZGVsIGdyb3VwIGluIFNjaGVtYXMKKyAgICAoS2FzaW1pZXIpLCB3aWxjYXJkIGluIFNjaGVtYXMgKEthc2ltaWVyKSwgVVJJIGNvbXBvc2l0aW9uIChXaWxsaWFtKSwKKyAgICB4czphbnlUeXBlIGluIFNjaGVtYXMgKEthc2ltaWVyKSwgUHl0aG9uIHJlc29sdmVyIGVtbWl0dGluZyBlcnJvcgorICAgIG1lc3NhZ2VzIGRpcmVjdGx5LCBQeXRob24geG1sQXR0ci5wYXJlbnQgKEpha3ViIFBpb3RyIENsYXBhKSwgdHJ5aW5nIHRvCisgICAgZml4IHRoZSBmaWxlIHBhdGgvVVJJIGNvbnZlcnNpb24sIHhtbFRleHRSZWFkZXJHZXRBdHRyaWJ1dGUgZml4IChSb2IKKyAgICBSaWNoYXJkcyksIHhtbFNjaGVtYUZyZWVBbm5vdCBtZW1sZWFrIChLYXNpbWllciksIEhUTUwgVVRGLTgKKyAgICBzZXJpYWxpemF0aW9uLCBzdHJlYW1pbmcgWFBhdGgsIFNjaGVtYXMgZGV0ZXJtaW5pc20gZGV0ZWN0aW9uIHByb2JsZW0sCisgICAgWEluY2x1ZGUgYnVnLCBTY2hlbWFzIGNvbnRleHQgdHlwZSAoRGVhbiBIaWxsKSwgdmFsaWRhdGlvbiBmaXggKERlcmVrCisgICAgUG9vbiksIHhtbFRleHRSZWFkZXJHZXRBdHRyaWJ1dGVbTnNdIG5hbWVzcGFjZXMgKFJvYiBSaWNoYXJkcyksIFNjaGVtYXMKKyAgICB0eXBlIGZpeCAoS3ViYSBOb3dha293c2tpKSwgVVRGLTggcGFyc2VyIGJ1ZywgZXJyb3IgaW4gZW5jb2RpbmcgaGFuZGxpbmcsCisgICAgeG1sR2V0TGluZU5vIGZpeGVzLCBidWcgb24gZW50aXRpZXMgaGFuZGxpbmcsIGVudGl0eSBuYW1lIGV4dHJhY3Rpb24gaW4KKyAgICBlcnJvciBoYW5kbGluZyB3aXRoIFhJbmNsdWRlLCB0ZXh0IG5vZGVzIGluIEhUTUwgYm9keSB0YWdzIChHYXJ5IENvYWR5KSwKKyAgICB4bWw6aWQgYW5kIElEbmVzcyBhdCB0aGUgdHJlZWUgbGV2ZWwgZml4ZXMsIFhQYXRoIHN0cmVhbWluZyBwYXR0ZXJucworICBidWdzLgorICAgLSBpbXByb3ZlbWVudHM6IHN0cnVjdHVyZWQgaW50ZXJmYWNlcyBmb3Igc2NoZW1hcyBhbmQgUk5HIGVycm9yIHJlcG9ydHMKKyAgICAoTWFyY3VzIEJvZXJnZXIpLCBvcHRpbWl6YXRpb24gb2YgdGhlIGNoYXIgZGF0YSBpbm5lciBsb29wIHBhcnNpbmcKKyAgICAodGhhbmtzIHRvIEJlaGRhZCBFc2ZhaGJvZCBmb3IgdGhlIGlkZWEpLCBzY2hlbWF0cm9uIHZhbGlkYXRpb24gdGhvdWdoCisgICAgbm90IGZpbmlzaGVkIHlldCwgeG1sU2F2ZU9wdGlvbiB0byBvbWl0IFhNTCBkZWNsYXJhdGlvbiwga2V5cmVmIG1hdGNoCisgICAgZXJyb3IgcmVwb3J0cyAoS2FzaW1pZXIpLCBmb3JtYWwgZXhwcmVzc2lvbiBoYW5kbGluZyBjb2RlIG5vdCBwbHVnZ2VkCisgICAgeWV0LCBtb3JlIGxheCBtb2RlIGZvciB0aGUgSFRNTCBwYXJzZXIsIHBhcnNlciBYTUxfUEFSU0VfQ09NUEFDVCBvcHRpb24KKyAgICBmb3IgdGV4dCBub2RlcyBhbGxvY2F0aW9uLgorICAgLSBkb2N1bWVudGF0aW9uOiB4bWxsaW50IG1hbiBwYWdlIGhhZCAtLW5vbmV0IGR1cGxpY2F0ZWQKKworCisyLjYuMjA6IEp1bCAxMCAyMDA1OgorICAgLSBidWlsZCBmaXhlczogV2luZG93cyBidWlsZCAoUm9iIFJpY2hhcmRzKSwgTWluZ3cgY29tcGlsYXRpb24gKElnb3IKKyAgICBabGF0a292aWMpLCBXaW5kb3dzIE1ha2VmaWxlIChJZ29yKSwgZ2NjIHdhcm5pbmdzIChLYXNpbWllciBhbmQKKyAgICBhbmRyaXlAZ29vZ2xlLmNvbSksIHVzZSBnY2Mgd2VhayByZWZlcmVuY2VzIHRvIHB0aHJlYWQgdG8gYXZvaWQgdGhlCisgICAgcHRocmVhZCBkZXBlbmRhbmN5IG9uIExpbnV4LCBjb21waWxhdGlvbiBwcm9ibGVtIChTdGV2ZSBOYWlybiksIGNvbXBpbGluZworICAgIG9mIHN1YnNldCAoTW9ydGVuIFdlbGluZGVyKSwgSVB2Ni9zc19mYW1pbHkgY29tcGlsYXRpb24gKFdpbGxpYW0gQnJhY2spLAorICAgIGNvbXBpbGF0aW9uIHdoZW4gZGlzYWJsaW5nIHBhcnRzIG9mIHRoZSBsaWJyYXJ5LCBzdGFuZGFsb25lIHRlc3QKKyAgICBkaXN0cmlidXRpb24uCisgICAtIGJ1ZyBmaXhlczogYnVnIGluIGxhbmcoKSwgbWVtb3J5IGNsZWFudXAgb24gZXJyb3JzIChXaWxsaWFtIEJyYWNrKSwKKyAgICBIVFRQIHF1ZXJ5IHN0cmluZ3MgKEFyb24gU3RhbnN2aWspLCBtZW1vcnkgbGVhayBpbiBEVEQgKFdpbGxpYW0pLCBpbnRlZ2VyCisgICAgb3ZlcmZsb3cgaW4gWFBhdGggKFdpbGxpYW0pLCBuYW5vZnRwIGJ1ZmZlciBzaXplLCBwYXR0ZXJuICIuIiBhcHRoIGZpeHVwCisgICAgKEthc2ltaWVyKSwgbGVhayBpbiB0cmVlIHJlcG9ydGVkIGJ5IE1hbGNvbG0gUm93ZSwgcmVwbGFjZU5vZGUgcGF0Y2gKKyAgICAoQnJlbnQgSGVuZHJpY2tzKSwgQ0RBVEEgd2l0aCBOVUxMIGNvbnRlbnQgKE1hcmsgVmFrb2MpLCB4bWw6YmFzZSBmaXh1cAorICAgIG9uIFhJbmNsdWRlIChXaWxsaWFtKSwgcGF0dGVybiBmaXhlcyAoV2lsbGlhbSksIGF0dHJpYnV0ZSBidWcgaW4KKyAgICBleGNsdXNpdmUgYzE0biAoQWxla3NleSBTYW5pbiksIHhtbDpzcGFjZSBhbmQgeG1sOmxhbmcgd2l0aCBTQVgyIChSb2IKKyAgICBSaWNoYXJkcyksIG5hbWVzcGFjZSB0cm91YmxlIGluIGNvbXBsZXggcGFyc2luZyAoTWFsY29sbSBSb3dlKSwgWFNEIHR5cGUKKyAgICBRTmFtZXMgZml4ZXMgKEthc2ltaWVyKSwgWFBhdGggc3RyZWFtaW5nIGZpeHVwcyAoV2lsbGlhbSksIFJlbGF4TkcgYnVnCisgICAgKFJvYiBSaWNoYXJkcyksIFNjaGVtYXMgZm9yIFNjaGVtYXMgZml4ZXMgKEthc2ltaWVyKSwgcmVtb3ZhbCBvZiBJRCAoUm9iCisgICAgUmljaGFyZHMpLCBhIHNtYWxsIFJlbGF4TkcgbGVhaywgSFRNTCBwYXJzaW5nIGluIHB1c2ggbW9kZSBidWcgKEphbWVzCisgICAgQnVyc2EpLCBmYWlsdXJlIHRvIGRldGVjdCBVVEYtOCBwYXJzaW5nIGJ1Z3MgaW4gQ0RBVEEgc2VjdGlvbnMsCisgICAgYXJlQmxhbmtzKCkgaGV1cmlzdGljIGZhaWx1cmUsIGR1cGxpY2F0ZSBhdHRyaWJ1dGVzIGluIERURCBidWcKKyAgKFdpbGxpYW0pLgorICAgLSBpbXByb3ZlbWVudHM6IGxvdCBvZiB3b3JrIG9uIFNjaGVtYXMgYnkgS2FzaW1pZXIgQnVjaGNpayBib3RoIG9uCisgICAgY29uZm9ybWFuY2UgYW5kIHN0cmVhbWluZywgU2NoZW1hcyB2YWxpZGF0aW9uIG1lc3NhZ2VzIChLYXNpbWllciBCdWNoY2lrLAorICAgIE1hdHRoZXcgQnVyZ2VzcyksIG5hbWVzcGFjZSByZW1vdmFsIGF0IHRoZSBweXRob24gbGV2ZWwgKEJyZW50CisgICAgSGVuZHJpY2tzKSwgVXBkYXRlIHRvIG5ldyBTY2hlbWFzIHJlZ3Jlc3Npb24gdGVzdHMgZnJvbSBXM0MvTmlzdAorICAgIChLYXNpbWllciksIHhtbFNjaGVtYVZhbGlkYXRlRmlsZSgpIChLYXNpbWllciksIGltcGxlbWVudGF0aW9uIG9mCisgICAgeG1sVGV4dFJlYWRlclJlYWRJbm5lclhtbCBhbmQgeG1sVGV4dFJlYWRlclJlYWRPdXRlclhtbCAoSmFtZXMgV2VydCksCisgICAgc3RhbmRhbG9uZSB0ZXN0IGZyYW1ld29yayBhbmQgcHJvZ3JhbXMsIG5ldyBET00gaW1wb3J0IEFQSXMKKyAgICB4bWxET01XcmFwUmVjb25jaWxlTmFtZXNwYWNlcygpIHhtbERPTVdyYXBBZG9wdE5vZGUoKSBhbmQKKyAgICB4bWxET01XcmFwUmVtb3ZlTm9kZSgpLCBleHRlbnNpb24gb2YgeG1sbGludCBjYXBhYmlsaXRpZXMgZm9yIFNBWCBhbmQKKyAgICBTY2hlbWFzIHJlZ3Jlc3Npb24gdGVzdHMsIHhtbFN0b3BQYXJzZXIoKSBhdmFpbGFibGUgaW4gcHVsbCBtb2RlIHRvbywKKyAgICBpZW5oYW5jZW1lbnQgdG8geG1sbGludCAtLXNoZWxsIG5hbWVzcGFjZXMgc3VwcG9ydCwgV2luZG93cyBwb3J0IG9mIHRoZQorICAgIHN0YW5kYWxvbmUgdGVzdGluZyB0b29scyAoS2FzaW1pZXIgYW5kIFdpbGxpYW0pLAorICAgIHhtbFNjaGVtYVZhbGlkYXRlU3RyZWFtKCkgeG1sU2NoZW1hU0FYUGx1ZygpIGFuZCB4bWxTY2hlbWFTQVhVbnBsdWcoKSBTQVgKKyAgICBTY2hlbWFzIEFQSXMsIFNjaGVtYXMgeG1sUmVhZGVyIHN1cHBvcnQuCisKKworMi42LjE5OiBBcHIgMDIgMjAwNToKKyAgIC0gYnVpbGQgZml4ZXM6IGRyb3AgLmxhIGZyb20gUlBNcywgLS13aXRoLW1pbmltdW0gYnVpbGQgZml4IChXaWxsaWFtCisgICAgQnJhY2spLCB1c2UgWE1MX1NPQ0tMRU5fVCBpbnN0ZWFkIG9mIFNPQ0tMRU5fVCBiZWNhdXNlIGl0IGJyZWFrcyB3aXRoIEFJWAorICAgIDUuMyBjb21waWxlciwgZml4ZWQgZWxmZ2NjaGFjay5oIGdlbmVyYXRpb24gYW5kIFBMVCByZWR1Y3Rpb24gY29kZSBvbgorICAgIExpbnV4L0VMRi9nY2M0CisgICAtIGJ1ZyBmaXhlczogc2NoZW1hcyB0eXBlIGRlY2ltYWwgZml4dXBzIChXaWxsaWFtIEJyYWNrKSwgeG1tbGludCByZXR1cm4KKyAgICBjb2RlIChHZXJyeSBNdXJwaHkpLCBzbWFsbCBzY2hlbWFzIGZpeGVzIChNYXR0aGV3IEJ1cmdlc3MgYW5kIEdVWQorICAgIEZhYnJpY2UpLCB3b3JrYXJvdW5kICJEQVY6IiBuYW1lc3BhY2UgYnJva2VuZXNzIGluIGMxNG4gKEFsZWtzZXkgU2FuaW4pLAorICAgIHNlZ2ZhdWx0IGluIFNjaGVtYXMgKEthc2ltaWVyIEJ1Y2hjaWspLCBTY2hlbWFzIGF0dHJpYnV0ZSB2YWxpZGF0aW9uCisgICAgKEthc2ltaWVyKSwgUHJvcCByZWxhdGVkIGZ1bmN0aW9ucyBhbmQgeG1sTmV3Tm9kZUVhdE5hbWUgKFJvYiBSaWNoYXJkcyksCisgICAgSFRNTCBzZXJpYWxpemF0aW9uIG9mIG5hbWUgYXR0cmlidXRlIG9uIGEgZWxlbWVudHMsIFB5dGhvbiBlcnJvciBoYW5kbGVycworICAgIGxlYWtzIGFuZCBpbXByb3ZlbWVudCAoQnJlbnQgSGVuZHJpY2tzKSwgdW5pbml0aWFsaXplZCB2YXJpYWJsZSBpbgorICAgIGVuY29kaW5nIGNvZGUsIFJlbGF4LU5HIHZhbGlkYXRpb24gYnVnLCBwb3RlbnRpYWwgY3Jhc2ggaWYKKyAgICBnbm9yYWJsZVdoaXRlc3BhY2UgaXMgTlVMTCwgeG1sU0FYUGFyc2VEb2MgYW5kIHhtbFBhcnNlRG9jIHNpZ25hdHVyZXMsCisgICAgc3dpdGNoZWQgYmFjayB0byBhc3N1bWluZyBVVEYtOCBpbiBjYXNlIG5vIGVuY29kaW5nIGlzIGdpdmVuIGF0CisgICAgc2VyaWFsaXphdGlvbiB0aW1lCisgICAtIGltcHJvdmVtZW50czogbG90IG9mIHdvcmsgb24gU2NoZW1hcyBieSBLYXNpbWllciBCdWNoY2lrIG9uIGZhY2V0cworICAgIGNoZWNraW5nIGFuZCBhbHNvIG1peGVkIGhhbmRsaW5nLgorICAgLSAKKworCisyLjYuMTg6IE1hciAxMyAyMDA1OgorICAgLSBidWlsZCBmaXhlczogd2FybmluZ3MgKFBldGVyIEJyZWl0ZW5sb2huZXIpLCB0ZXN0YXBpLmMgZ2VuZXJhdGlvbiwKKyAgICBCYWtlZmlsZSBzdXBwb3J0IChGcmFuY2VzY28gTW9udG9yc2kpLCBXaW5kb3dzIGNvbXBpbGF0aW9uIChKb2VsIFJlZWQpLAorICAgIHNvbWUgZ2NjNCBmaXhlcywgSFAtVVggcG9ydGFiaWxpdHkgZml4ZXMgKFJpY2sgSm9uZXMpLgorICAgLSBidWcgZml4ZXM6IHhtbFNjaGVtYUVsZW1lbnREdW1wIG5hbWVzcGFjZSAoS2FzaW1pZXIgQnVjaGNpayksIHB1c2ggYW5kCisgICAgeG1scmVhZGVyIHN0b3BwaW5nIG9uIG5vbi1mYXRhbCBlcnJvcnMsIHRocmVhZCBzdXBwb3J0IGZvciBkaWN0aW9ubmFyaWVzCisgICAgcmVmZXJlbmNlIGNvdW50aW5nIChHYXJ5IENvYWR5KSwgaW50ZXJuYWwgc3Vic2V0IGFuZCBwdXNoIHByb2JsZW0sIFVSTAorICAgIHNhdmVkIGluIHhtbENvcHlEb2MsIHZhcmlvdXMgc2NoZW1hcyBidWcgZml4ZXMgKEthc2ltaWVyKSwgUHl0aG9uIHBhdGhzCisgICAgZml4dXAgKFN0ZXBoYW5lIEJpZG91bCksIHhtbEdldE5vZGVQYXRoIGFuZCBuYW1lc3BhY2VzLCB4bWxTZXROc1Byb3AgZml4CisgICAgKE1pa2UgSG9tbWV5KSwgd2FybmluZyBzaG91bGQgbm90IGNvdW50IGFzIGVycm9yIChXaWxsaWFtIEJyYWNrKSwKKyAgICB4bWxDcmVhdGVQdXNoUGFyc2VyIGVtcHR5IGNodW5rLCBYSW5jbHVkZSBwYXJzZXIgZmxhZ3MgKFdpbGxpYW0pLCBjbGVhbnVwCisgICAgRlRQIGFuZCBIVFRQIGNvZGUgdG8gcmV1c2UgdGhlIHVyaSBwYXJzaW5nIGFuZCBJUHY2IChXaWxsaWFtKSwKKyAgICB4bWxUZXh0V3JpdGVyU3RhcnRBdHRyaWJ1dGVOUyBmaXggKFJvYiBSaWNoYXJkcyksIFhNTExJTlRfSU5ERU5UIGJlaW5nCisgICAgZW1wdHkgKFdpbGxpYW0pLCB4bWxXcml0ZXIgYnVncyAoUm9iIFJpY2hhcmRzKSwgbXVsdGl0aHJlYWRpbmcgb24gV2luZG93cworICAgIChSaWNoIFNhbHopLCB4bWxTZWFyY2hOc0J5SHJlZiBmaXggKEthc2ltaWVyKSwgUHl0aG9uIGJpbmRpbmcgbGVhayAoQnJlbnQKKyAgICBIZW5kcmlja3MpLCBhbGlhc2luZyBidWcgZXhwb3NlZCBieSBnY2M0IG9uIHMzOTAsIHhtbFRleHRSZWFkZXJOZXh0IGJ1ZworICAgIChSb2IgUmljaGFyZHMpLCBTY2hlbWFzIGRlY2ltYWwgdHlwZSBmaXhlcyAoV2lsbGlhbSBCcmFjayksCisgICAgeG1sQnl0ZUNvbnN1bWVkIHN0YXRpYyBidWZmZXIgKEJlbiBNYXVyZXIpLgorICAgLSBpbXByb3ZlbWVudDogc3BlZWR1cCBwYXJzaW5nIGNvbW1lbnRzIGFuZCBEVERzLCBkaWN0aW9ubmFyeSBzdXBwb3J0IGZvcgorICAgIGhhc2ggdGFibGVzLCBTY2hlbWFzIElkZW50aXR5IGNvbnN0cmFpbnRzIChLYXNpbWllciksIHN0cmVhbWluZyBYUGF0aAorICAgIHN1YnNldCwgeG1sVGV4dFJlYWRlclJlYWRTdHJpbmcgYWRkZWQgKEJqb3JuIFJlZXNlKSwgU2NoZW1hcyBjYW5vbmljYWwKKyAgICB2YWx1ZXMgaGFuZGxpbmcgKEthc2ltaWVyKSwgYWRkIHhtbFRleHRSZWFkZXJCeXRlQ29uc3VtZWQgKEFyb24KKyAgU3RhbnN2aWspLAorICAgLSBEb2N1bWVudGF0aW9uOiBXaWtpIHN1cHBvcnQgKEpvZWwgUmVlZCkKKworCisyLjYuMTc6IEphbiAxNiAyMDA1OgorICAgLSBidWlsZCBmaXhlczogV2luZG93cywgd2FybmluZ3MgcmVtb3ZhbCAoV2lsbGlhbSBCcmFjayksCisgICAgbWFpbnRhaW5lci1jbGVhbiBkZXBlbmRlbmN5KFdpbGxpYW0pLCBidWlsZCBpbiBhIGRpZmZlcmVudCBkaXJlY3RvcnkKKyAgICAoV2lsbGlhbSksIGZpeGluZyAtLXdpdGgtbWluaW11bSBjb25maWd1cmUgYnVpbGQgKFdpbGxpYW0pLCBCZU9TIGJ1aWxkCisgICAgKE1hcmNpbiBLb25pY2tpKSwgUHl0aG9uLTIuNCBkZXRlY3Rpb24gKFdpbGxpYW0pLCBjb21waWxhdGlvbiBvbiBBSVggKERhbgorICAgIE1jTmljaG9sKQorICAgLSBidWcgZml4ZXM6IHhtbFRleHRSZWFkZXJIYXNBdHRyaWJ1dGVzIChSb2IgUmljaGFyZHMpLCB4bWxDdHh0UmVhZEZpbGUoKQorICAgIHRvIHVzZSB0aGUgY2F0YWxvZyhzKSwgbG9vcCBvbiBvdXRwdXQgKFdpbGxpYW0gQnJhY2spLCBYUGF0aCBtZW1vcnkgbGVhaywKKyAgICBJRCBkZWFsbG9jYXRpb24gcHJvYmxlbSAoU3RldmUgU2hlcGFyZCksIGRlYnVnRHVtcE5vZGUgY3Jhc2ggKFdpbGxpYW0pLAorICAgIHdhcm5pbmcgbm90IHVzaW5nIGVycm9yIGNhbGxiYWNrIChXaWxsaWFtKSwgeG1sU3RvcFBhcnNlciBidWcgKFdpbGxpYW0pLAorICAgIFVURi0xNiB3aXRoIEJPTSBvbiBEVERzIChXaWxsaWFtKSwgbmFtZXNwYWNlIGJ1ZyBvbiBlbXB0eSBlbGVtZW50cyBpbgorICAgIHB1c2ggbW9kZSAoUm9iIFJpY2hhcmRzKSwgbGluZSBhbmQgY29sIGNvbXB1dGF0aW9ucyBmaXh1cHMgKEFsZWtzZXkKKyAgICBTYW5pbiksIHhtbFVSSUVzY2FwZSBmaXggKFdpbGxpYW0pLCB4bWxYUGF0aEVyciBvbiBiYWQgcmFuZ2UgKFdpbGxpYW0pLAorICAgIHBhdHRlcm5zIHdpdGggdG9vIG1hbnkgc3RlcHMsIGJ1ZyBpbiBSTkcgY2hvaWNlIG9wdGltaXphdGlvbiwgbGluZSBudW1iZXIKKyAgICBzb21ldGltZXMgbWlzc2luZy4KKyAgIC0gaW1wcm92ZW1lbnRzOiBYU0QgU2NoZW1hcyAoS2FzaW1pZXIgQnVjaGNpayksIHB5dGhvbiBnZW5lcmF0b3IKKyAgICAoV2lsbGlhbSksIHhtbFVURjhTdHJwb3Mgc3BlZWR1cCAoV2lsbGlhbSksIHVuaWNvZGUgUHl0aG9uIHN0cmluZ3MKKyAgICAoV2lsbGlhbSksIFhTRCBlcnJvciByZXBvcnRzIChLYXNpbWllciBCdWNoY2lrKSwgUHl0aG9uIF9fc3RyX18gY2FsbAorICAgIHNlcmlhbGl6ZSgpLgorICAgLSBuZXcgQVBJczogYWRkZWQgeG1sRGljdEV4aXN0cygpLCBHZXRMaW5lTnVtYmVyIGFuZCBHZXRDb2x1bW5OdW1iZXIgZm9yCisgICAgdGhlIHhtbFJlYWRlciAoQWxla3NleSBTYW5pbiksIER5bmFtaWMgU2hhcmVkIExpYnJhcmllcyBBUElzIChtb3N0bHkgSm9lbAorICAgIFJlZWQpLCBlcnJvciBleHRyYWN0aW9uIEFQSSBmcm9tIHJlZ2V4cHMsIG5ldyBYTUxTYXZlIG9wdGlvbiBmb3IgZm9ybWF0CisgICAgKFBoaWwgU2hhZmVyKQorICAgLSBkb2N1bWVudGF0aW9uOiBzaXRlIGltcHJvdmVtZW50IChKb2huIEZsZWNrKSwgRkFRIGVudHJpZXMKKyAgKFdpbGxpYW0pLgorCisKKzIuNi4xNjogTm92IDEwIDIwMDQ6CisgICAtIGdlbmVyYWwgaGFyZGVuaW5nIGFuZCBidWcgZml4aW5nIGNyb3NzaW5nIGFsbCB0aGUgQVBJIGJhc2VkIG9uIG5ldworICAgIGF1dG9tYXRlZCByZWdyZXNzaW9uIHRlc3RpbmcKKyAgIC0gYnVpbGQgZml4OiBJUHY2IGJ1aWxkIGFuZCB0ZXN0IG9uIEFJWCAoRG9kamkgU2VrZXRlbGkpCisgICAtIGJ1ZyBmaXhlczogcHJvYmxlbSB3aXRoIFhNTDo6TGlieG1sIHJlcG9ydGVkIGJ5IFBldHIgUGFqYXMsICBlbmNvZGluZworICAgIGNvbnZlcnNpb24gZnVuY3Rpb25zIHJldHVybiB2YWx1ZXMsIFVURi04IGJ1ZyBhZmZlY3RpbmcgWFBhdGggcmVwb3J0ZWQgYnkKKyAgICBNYXJrdXMgQmVydGhlYXUsIGNhdGFsb2cgcHJvYmxlbSB3aXRoIE5VTEwgZW50cmllcyAoV2lsbGlhbSBCcmFjaykKKyAgIC0gZG9jdW1lbnRhdGlvbjogZml4IHRvIHhtbGxpbnQgbWFuIHBhZ2UsIHNvbWUgQVBJIGZ1bmN0aW9uIGRlc2NyaXRwaW9uCisgICAgd2VyZSB1cGRhdGVkLgorICAgLSBpbXByb3ZlbWVudHM6IERURCB2YWxpZGF0aW9uIEFQSXMgcHJvdmlkZWQgYXQgdGhlIFB5dGhvbiBsZXZlbCAoQnJlbnQKKyAgICBIZW5kcmlja3MpCisKKworMi42LjE1OiBPY3QgMjcgMjAwNDoKKyAgIC0gc2VjdXJpdHkgZml4ZXMgb24gdGhlIG5hbm9mdHAgYW5kIG5hbm9odHRwIG1vZHVsZXMKKyAgIC0gYnVpbGQgZml4ZXM6IHhtbGxpbnQgZGV0ZWN0aW9uIGJ1ZyBpbiBjb25maWd1cmUsIGJ1aWxkaW5nIG91dHNpZGUgdGhlCisgICAgc291cmNlIHRyZWUgKFRob21hcyBGaXR6c2ltbW9ucykKKyAgIC0gYnVnIGZpeGVzOiBIVE1MIHBhcnNlciBvbiBicm9rZW4gQVNDSUkgY2hhcnMgaW4gbmFtZXMgKFdpbGxpYW0pLCBQeXRob24KKyAgICBwYXRocyAoTWFsY29sbSBUcmVkaW5uaWNrKSwgeG1sSGFzTnNQcm9wIGFuZCBkZWZhdWx0IG5hbWVzcGFjZSAoV2lsbGlhbSksCisgICAgc2F2aW5nIHRvIHB5dGhvbiBmaWxlIG9iamVjdHMgKE1hbGNvbG0gVHJlZGlubmljayksIERURCBsb29rdXAgZml4CisgICAgKE1hbGNvbG0pLCBzYXZlIGJhY2sgPGdyb3VwPiBpbiBjYXRhbG9ncyAoV2lsbGlhbSksIHRyZWUgYnVpbGQKKyAgICBmaXhlcyAoRFYgYW5kIFJvYiBSaWNoYXJkcyksIFNjaGVtYXMgbWVtb3J5IGJ1Zywgc3RydWN0dXJlZCBlcnJvciBoYW5kbGVyCisgICAgb24gUHl0aG9uIDY0Yml0cywgdGhyZWFkIGxvY2FsIG1lbW9yeSBkZWFsbG9jYXRpb24sIG1lbW9yeSBsZWFrIHJlcG9ydGVkCisgICAgYnkgVm9sa2VyIFJvdGgsIHhtbFZhbGlkYXRlRHRkIGluIHRoZSBwcmVzZW5jZSBvZiBhbiBpbnRlcm5hbCBzdWJzZXQsCisgICAgZW50aXRpZXMgYW5kIF9wcml2YXRlIHByb2JsZW0gKFdpbGxpYW0pLCB4bWxCdWlsZFJlbGF0aXZlVVJJIGVycm9yCisgICAgKFdpbGxpYW0pLgorICAgLSBpbXByb3ZlbWVudHM6IGJldHRlciBYSW5jbHVkZSBlcnJvciByZXBvcnRzIChXaWxsaWFtKSwgdHJlZSBkZWJ1Z2dpbmcKKyAgICBtb2R1bGUgYW5kIHRlc3RzLCBjb252ZW5pZW5jZSBmdW5jdGlvbnMgYXQgdGhlIFJlYWRlciBBUEkgKEdyYWhhbQorICAgIEJlbm5ldHQpLCBhZGQgc3VwcG9ydCBmb3IgUEkgaW4gdGhlIEhUTUwgcGFyc2VyLgorCisKKzIuNi4xNDogU2VwIDI5IDIwMDQ6CisgICAtIGJ1aWxkIGZpeGVzOiBjb25maWd1cmUgcGF0aHMgZm9yIHhtbGxpbnQgYW5kIHhzbHRwcm9jLCBjb21waWxhdGlvbgorICAgIHdpdGhvdXQgSFRNTCBwYXJzZXIsIGNvbXBpbGF0aW9uIHdhcm5pbmcgY2xlYW51cHMgKFdpbGxpYW0gQnJhY2sgJgorICAgIE1hbGNvbG0gVHJlZGlubmljayksIFZNUyBtYWtlZmlsZSB1cGRhdGUgKENyYWlnIEJlcnJ5KSwKKyAgIC0gYnVnIGZpeGVzOiB4bWxHZXRVVEY4Q2hhciAoV2lsbGlhbSBCcmFjayksIFFOYW1lIHByb3BlcnRpZXMgKEthc2ltaWVyCisgICAgQnVjaGNpayksIFhJbmNsdWRlIHRlc3RpbmcsIE5vdGF0aW9uIHNlcmlhbGl6YXRpb24sIFVURjhUb0lTTzg4NTl4CisgICAgdHJhbnNjb2RpbmcgKE1hcmsgSXR6Y292aXR6KSwgbG90cyBvZiBYTUwgU2NoZW1hcyBjbGVhbnVwIGFuZCBmaXhlcworICAgIChLYXNpbWllciksIENoYW5nZUxvZyBjbGVhbnVwIChTdGVwYW4gS2FzYWwpLCBtZW1vcnkgZml4ZXMgKE1hcmsgVmFrb2MpLAorICAgIGhhbmRsaW5nIG9mIGZhaWxlZCByZWFsbG9jKCksIG91dCBvZiBib3VuZCBhcnJheSBhZHJlc3NpbmcgaW4gU2NoZW1hcworICAgIGRhdGUgaGFuZGxpbmcsIFB5dGhvbiBzcGFjZS90YWJzIGNsZWFudXBzIChNYWxjb2xtIFRyZWRpbm5pY2spLCBOTVRPS0VOUworICAgIEUyMCB2YWxpZGF0aW9uIGZpeCAoTWFsY29sbSksCisgICAtIGltcHJvdmVtZW50czogYWRkZWQgVzNDIFhNTCBTY2hlbWFzIHRlc3RzdWl0ZSAoS2FzaW1pZXIgQnVjaGNpayksIGFkZAorICAgIHhtbFNjaGVtYVZhbGlkYXRlT25lRWxlbWVudCAoS2FzaW1pZXIpLCBQeXRob24gZXhjZXB0aW9uIGhpZXJlYXJjaHkKKyAgICAoTWFsY29sbSBUcmVkaW5uaWNrKSwgUHl0aG9uIGxpYnhtbDIgZHJpdmVyIGltcHJvdmVtZW50IChNYWxjb2xtCisgICAgVHJlZGlubmljayksIFNjaGVtYXMgc3VwcG9ydCBmb3IgeHNpOnNjaGVtYUxvY2F0aW9uLAorICAgIHhzaTpub05hbWVzcGFjZVNjaGVtYUxvY2F0aW9uLCB4c2k6dHlwZSAoS2FzaW1pZXIgQnVjaGNpaykKKworCisyLjYuMTM6IEF1ZyAzMSAyMDA0OgorICAgLSBidWlsZCBmaXhlczogV2luZG93cyBhbmQgemxpYiAoSWdvciBabGF0a292aWMpLCAtTyBmbGFnIHdpdGggZ2NjLAorICAgIFNvbGFyaXMgY29tcGlsZXIgd2FybmluZywgZml4aW5nIFJQTSBCdWlsZFJlcXVpcmVzLAorICAgLSBmaXhlczogRFREIGxvYWRpbmcgb24gV2luZG93cyAoSWdvciksIFNjaGVtYXMgZXJyb3IgcmVwb3J0cyBBUElzCisgICAgKEthc2ltaWVyIEJ1Y2hjaWspLCBTY2hlbWFzIHZhbGlkYXRpb24gY3Jhc2gsIHhtbENoZWNrVVRGOCAoV2lsbGlhbSBCcmFjaworICAgIGFuZCBKdWxpdXMgTWl0dGVuendlaSksIFNjaGVtYXMgZmFjZXQgY2hlY2sgKEthc2ltaWVyKSwgZGVmYXVsdCBuYW1lc3BhY2UKKyAgICBwcm9ibGVtIChXaWxsaWFtKSwgU2NoZW1hcyBoZXhiaW5hcnkgZW1wdHkgdmFsdWVzLCBlbmNvZGluZyBlcnJvciBjb3VsZAorICAgIGdlbnJhdGUgYSBzZXJpYWxpemF0aW9uIGxvb3AuCisgICAtIEltcHJvdmVtZW50czogU2NoZW1hcyB2YWxpZGl0eSBpbXByb3ZlbWVudHMgKEthc2ltaWVyKSwgYWRkZWQgLS1wYXRoCisgICAgYW5kIC0tbG9hZC10cmFjZSBvcHRpb25zIHRvIHhtbGxpbnQKKyAgIC0gZG9jdW1lbnRhdGlvbjogdHV0b3JpYWwgdXBkYXRlIChKb2huIEZsZWNrKQorCisKKzIuNi4xMjogQXVnIDIyIDIwMDQ6CisgICAtIGJ1aWxkIGZpeGVzOiBmaXggLS13aXRoLW1pbmltdW0sIGVsZmdjY2hhY2suaCBmaXhlcyAoUGV0ZXIKKyAgICBCcmVpdGVubG9obmVyKSwgcGVybCBwYXRoIGxvb2t1cCAoV2lsbGlhbSksIGRpZmYgb24gU29sYXJpcyAoQWxiZXJ0CisgICAgQ2hpbiksIHNvbWUgNjRiaXRzIGNsZWFudXBzLgorICAgLSBQeXRob246IGF2b2lkIGEgd2FybmluZyB3aXRoIDIuMyAoV2lsbGlhbSBCcmFjayksIHRhYiBhbmQgc3BhY2UgbWl4ZXMKKyAgICAoV2lsbGlhbSksIHdyYXBwZXIgZ2VuZXJhdG9yIGZpeGVzIChXaWxsaWFtKSwgQ3lnd2luIHN1cHBvcnQgKEdlcnJpdCBQLgorICAgIEhhYXNlKSwgbm9kZSB3cmFwcGVyIGZpeCAoTWFyYy1BbnRvaW5lIFBhcmVudCksIFhNTCBTY2hlbWFzIHN1cHBvcnQKKyAgICAoVG9ya2VsIEx5bmcpCisgICAtIFNjaGVtYXM6IGEgbG90IG9mIGJ1ZyBmaXhlcyBhbmQgaW1wcm92ZW1lbnRzIGZyb20gS2FzaW1pZXIgQnVjaGNpaworICAgLSBmaXhlczogUlZUIGZpeGVzIChXaWxsaWFtKSwgWFBhdGggY29udGV4dCByZXNldHMgYnVnIChXaWxsaWFtKSwgbWVtb3J5CisgICAgZGVidWcgKFN0ZXZlIEhheSksIGNhdGFsb2cgd2hpdGUgc3BhY2UgaGFuZGxpbmcgKFBldGVyIEJyZWl0ZW5sb2huZXIpLAorICAgIHhtbFJlYWRlciBzdGF0ZSBhZnRlciBhdHRyaWJ1dGUgcmVhZGluZyAoV2lsbGlhbSksIHN0cnVjdHVyZWQgZXJyb3IKKyAgICBoYW5kbGVyIChXaWxsaWFtKSwgWEluY2x1ZGUgZ2VuZXJhdGVkIHhtbDpiYXNlIGZpeHVwIChXaWxsaWFtKSwgV2luZG93cworICAgIG1lbW9yeSByZWFsbG9jYXRpb24gcHJvYmxlbSAoU3RldmUgSGF5KSwgT3V0IG9mIE1lbW9yeSBjb25kaXRpb25zCisgICAgaGFuZGxpbmcgKFdpbGxpYW0gYW5kIE9saXZpZXIgQW5kcmlldSksIGh0bWxOZXdEb2MoKSBjaGFyc2V0IGJ1ZywKKyAgICBodG1sUmVhZE1lbW9yeSBpbml0IChXaWxsaWFtKSwgYSBwb3N0ZXJpb3JpIHZhbGlkYXRpb24gRFREIGJhc2UKKyAgICAoV2lsbGlhbSksIG5vdGF0aW9ucyBzZXJpYWxpemF0aW9uIG1pc3NpbmcsIHhtbEdldE5vZGVQYXRoIChEb2RqaSksCisgICAgeG1sQ2hlY2tVVEY4IChEaWVnbyBUYXJ0YXJhKSwgbWlzc2luZyBsaW5lIG51bWJlcnMgb24gZW50aXR5CisgIChXaWxsaWFtKQorICAgLSBpbXByb3ZlbWVudHM6IERvY0Jvb2sgY2F0YWxvZyBidWlsZCBzY3JpcCAoV2lsbGlhbSksIHhtbGNhdGFsb2cgdG9vbAorICAgIChBbGJlcnQgQ2hpbiksIHhtbGxpbnQgLS1jMTRuIG9wdGlvbiwgbm9fcHJveHkgZW52aXJvbm1lbnQgKE1pa2UgSG9tbWV5KSwKKyAgICB4bWxQYXJzZUluTm9kZUNvbnRleHQoKSBhZGRpdGlvbiwgZXh0ZW5kIHhtbGxpbnQgLS1zaGVsbCwgYWxsb3cgWEluY2x1ZGUKKyAgICB0byBub3QgZ2VuZXJhdGUgc3RhcnQvZW5kIG5vZGVzLCBleHRlbmQgeG1sbGludCAtLXZlcnNpb24gdG8gaW5jbHVkZSBDVlMKKyAgICB0YWcgKFdpbGxpYW0pCisgICAtIGRvY3VtZW50YXRpb246IHdlYiBwYWdlcyBmaXhlcywgdmFsaWRpdHkgQVBJIGRvY3MgZml4ZXMgKFdpbGxpYW0pCisgICAgc2NoZW1hcyBBUEkgZml4IChFcmljIEhhc3psYWtpZXdpY3opLCB4bWxsaW50IG1hbiBwYWdlIChKb2huIEZsZWNrKQorCisKKzIuNi4xMTogSnVseSA1IDIwMDQ6CisgICAtIFNjaGVtYXM6IGEgbG90IG9mIGNoYW5nZXMgYW5kIGltcHJvdmVtZW50cyBieSBLYXNpbWllciBCdWNoY2lrIGZvcgorICAgIGF0dHJpYnV0ZXMsIG5hbWVzcGFjZXMgYW5kIHNpbXBsZSB0eXBlcy4KKyAgIC0gYnVpbGQgZml4ZXM6IC0td2l0aC1taW5pbXVtIChXaWxsaWFtIEJyYWNrKSwgIHNvbWUgZ2NjIGNsZWFudXAKKyAgICAoV2lsbGlhbSksIC0td2l0aC10aHJlYWQtYWxsb2MgKFdpbGxpYW0pCisgICAtIHBvcnRhYmlsaXR5OiBXaW5kb3dzIGJpbmFyeSBwYWNrYWdlIGNoYW5nZSAoSWdvciBabGF0a292aWMpLCBDYXRhbG9nCisgICAgcGF0aCBvbiBXaW5kb3dzCisgICAtIGRvY3VtZW50YXRpb246IHVwZGF0ZSB0byB0aGUgdHV0b3JpYWwgKEpvaG4gRmxlY2spLCB4bWxsaW50IHJldHVybiBjb2RlCisgICAgKEpvaG4gRmxlY2spLCBtYW4gcGFnZXMgKFZpbGxlIFNreXR0YSksCisgICAtIGJ1ZyBmaXhlczogQzE0TiBidWcgc2VyaWFsaXppbmcgbmFtZXNwYWNlcyAoQWxla3NleSBTYW5pbiksIHRlc3RTQVgKKyAgICBwcm9wZXJseSBpbml0aWFsaXplIHRoZSBsaWJyYXJ5IChXaWxsaWFtKSwgZW1wdHkgbm9kZSBzZXQgaW4gWFBhdGgKKyAgICAoV2lsbGlhbSksIHhtbFNjaGVtYXMgZXJyb3JzIChXaWxsaWFtKSwgaW52YWxpZCBjaGFycmVmIHByb2JsZW0gcG9pbnRlZAorICAgIGJ5IE1vcnVzIFdhbHRlciwgWEluY2x1ZGUgeG1sOmJhc2UgZ2VuZXJhdGlvbiAoV2lsbGlhbSksIFJlbGF4LU5HIGJ1ZworICAgIHdpdGggZGl2IHByb2Nlc3NpbmcgKFdpbGxpYW0pLCBYUG9pbnRlciBhbmQgeG1sOmJhc2UgcHJvYmxlbShXaWxsaWFtKSwKKyAgICBSZWFkZXIgYW5kIGVudGl0aWVzLCB4bWxsaW50IHJldHVybiBjb2RlIGZvciBzY2hlbWFzIChXaWxsaWFtKSwgcmVhZGVyCisgICAgc3RyZWFtaW5nIHByb2JsZW0gKFN0ZXZlIEJhbGwpLCBEVEQgc2VyaWFsaXphdGlvbiBwcm9ibGVtIChXaWxsaWFtKSwKKyAgICBsaWJ4bWwubTQgZml4ZXMgKE1pa2UgSG9tbWV5KSwgZG8gbm90IHByb3ZpZGUgZGVzdHJ1Y3RvcnMgYXMgbWV0aG9kcyBvbgorICAgIFB5dGhvbiBjbGFzc2VzLCB4bWxSZWFkZXIgYnVmZmVyIGJ1ZywgUHl0aG9uIGJpbmRpbmdzIG1lbW9yeSBpbnRlcmZhY2VzCisgICAgaW1wcm92ZW1lbnQgKHdpdGggU3TDg8KpcGhhbmUgQmlkb3VsKSwgRml4ZWQgdGhlIHB1c2ggcGFyc2VyIHRvIGJlIGJhY2sgdG8KKyAgICBzeW5jaHJvbm91cyBiZWhhdmlvdXIuCisgICAtIGltcHJvdmVtZW50OiBjdXN0b20gcGVyLXRocmVhZCBJL08gZW5oYW5jZW1lbnQgKFJvYiBSaWNoYXJkcyksIHJlZ2lzdGVyCisgICAgbmFtZXNwYWNlIGluIGRlYnVnIHNoZWxsIChTdGVmYW5vIERlYmVuZWRldHRpKSwgUHl0aG9uIGJhc2VkIHJlZ3Jlc3Npb24KKyAgICB0ZXN0IGZvciBub24tVW5peCB1c2VycyAoV2lsbGlhbSksIGR5bmFtaWNhbGx5IGluY3JlYXNlIHRoZSBudW1iZXIgb2YKKyAgICBYUGF0aCBleHRlbnNpb24gZnVuY3Rpb25zIGluIFB5dGhvbiBhbmQgZml4IGEgbWVtb3J5IGxlYWsgKE1hcmMtQW50b2luZQorICAgIFBhcmVudCBhbmQgV2lsbGlhbSkKKyAgIC0gcGVyZm9ybWFuY2U6IGhhY2sgZG9uZSB3aXRoIEFyamFuIHZhbiBkZSBWZW4gdG8gcmVkdWNlIEVMRiBmb290cHJpbnQKKyAgICBhbmQgZ2VuZXJhdGVkIGNvZGUgb24gTGludXgsIHBsdXMgdXNlIGdjYyBydW50aW1lIHByb2ZpbGluZyB0byBvcHRpbWl6ZQorICAgIHRoZSBjb2RlIGdlbmVyYXRlZCBpbiB0aGUgUlBNIHBhY2thZ2VzLgorCisKKzIuNi4xMDogTWF5IDE3IDIwMDQ6CisgICAtIFdlYiBwYWdlIGdlbmVyYXRlZCBmb3IgQ2hhbmdlTG9nCisgICAtIGJ1aWxkIGZpeGVzOiAtLXdpdGhvdXQtaHRtbCBwcm9ibGVtcywgbWFrZSBjaGVjayB3aXRob3V0IG1ha2UgYWxsCisgICAtIHBvcnRhYmlsaXR5OiBwcm9ibGVtIHdpdGggeHBhdGguYyBvbiBXaW5kb3dzIChNU0MgYW5kIEJvcmxhbmQpLCBtZW1jbXAKKyAgICB2cy4gc3RybmNtcCBvbiBTb2xhcmlzLCBYUGF0aCB0ZXN0cyBvbiBXaW5kb3dzIChNYXJrIFZha29jKSwgQysrIGRvIG5vdAorICAgIHVzZSAibGlzdCIgYXMgcGFyYW1ldGVyIG5hbWUsIG1ha2UgdGVzdHMgd29yayB3aXRoIFB5dGhvbiAxLjUgKEVkCisgIERhdmlzKSwKKyAgIC0gaW1wcm92ZW1lbnRzOiBtYWRlIHhtbFRleHRSZWFkZXJNb2RlIHB1YmxpYywgc21hbGwgYnVmZmVycyByZXNpemluZworICAgIChNb3J0ZW4gV2VsaW5kZXIpLCBhZGQgLS1tYXhtZW0gb3B0aW9uIHRvIHhtbGxpbnQsIGFkZAorICAgIHhtbFBvcElucHV0Q2FsbGJhY2soKSBmb3IgTWF0dCBTZXJnZWFudCwgcmVmYWN0b3Jpbmcgb2Ygc2VyaWFsaXphdGlvbgorICAgIGVzY2FwaW5nLCBhZGRlZCBlc2NhcGluZyBjdXN0b21pemF0aW9uCisgICAtIGJ1Z2ZpeGVzOiB4c2Q6ZXh0ZW5zaW9uIChUYWloZWkgR29pKSwgYXNzb3J0ZWQgcmVnZXhwIGJ1Z3MgKFdpbGxpYW0KKyAgICBCcmFjayksIHhtbFJlYWRlciBlbmQgb2Ygc3RyZWFtIHByb2JsZW0sIG5vZGUgZGVyZWdpc3RyYXRpb24gd2l0aCByZWFkZXIsCisgICAgVVJJIGVzY2FwaW5nIGFuZCBmaWxlbWFuZXMsICBYSFRNTDEgZm9ybWF0dGluZyAoTmljayBXZWxsbmhvZmVyKSwgcmVnZXhwCisgICAgdHJhbnNpdGlvbiByZWR1Y3Rpb24gKFdpbGxpYW0pLCB2YXJpb3VzIFhTRCBTY2hlbWFzIGZpeGVzIChLYXNpbWllcgorICAgIEJ1Y2hjaWspLCBYSW5jbHVkZSBmYWxsYmFjayBwcm9ibGVtIChXaWxsaWFtKSwgd2VpcmQgcHJvYmxlbXMgd2l0aCBEVEQKKyAgICAoV2lsbGlhbSksIHN0cnVjdHVyZWQgZXJyb3IgaGFuZGxlciBjYWxsYmFjayBjb250ZXh0IChXaWxsaWFtKSwgcmV2ZXJzZQorICAgIHhtbEVuY29kZVNwZWNpYWxDaGFycygpIGJlaGF2aW91ciBiYWNrIHRvIGVzY2FwaW5nICciJworCisKKzIuNi45OiBBcHIgMTggMjAwNDoKKyAgIC0gaW1wbGVtZW50IHhtbDppZCBXb3JraW5nIERyYWZ0LCByZWxheGVkIFhQYXRoIGlkKCkgY2hlY2tpbmcKKyAgIC0gYnVnZml4ZXM6IHhtbEN0eHRSZXNldCAoQnJlbnQgSGVuZHJpY2tzKSwgbGluZSBudW1iZXIgYW5kIENEQVRBIChEYXZlCisgICAgQmVja2V0dCksIFJlbGF4LU5HIGNvbXBpbGF0aW9uIChXaWxsaWFtIEJyYWNrKSwgUmVnZXhwIHBhdGNoZXMgKHdpdGgKKyAgICBXaWxsaWFtKSwgeG1sVXJpRXNjYXBlIChNYXJrIFZha29jKSwgYSBSZWxheC1ORyBub3RBbGxvd2VkIHByb2JsZW0gKHdpdGgKKyAgICBXaWxsaWFtKSwgUmVsYXgtTkcgbmFtZSBjbGFzc2VzIGNvbXBhcmVzIChXaWxsaWFtKSwgWEluY2x1ZGUgZHVwbGljYXRlCisgICAgZmFsbGJhY2sgKFdpbGxpYW0pLCBleHRlcm5hbCBEVEQgZW5jb2RpbmcgZGV0ZWN0aW9uIChXaWxsaWFtKSwgYSBEVEQKKyAgICB2YWxpZGF0aW9uIGJ1ZyAoV2lsbGlhbSksIHhtbFJlYWRlciBDbG9zZSgpIGZpeCwgcmVjdXNpdmUgZXh0ZW50aW9uCisgICAgc2NoZW1hcworICAgLSBpbXByb3ZlbWVudHM6IHVzZSB4bWxSZWFkKiBBUElzIGluIHRlc3QgdG9vbHMgKE1hcmsgVmFrb2MpLCBpbmRlbnRpbmcKKyAgICBzYXZlIG9wdGltaXphdGlvbiwgYmV0dGVyIGhhbmRsZSBJSVMgYnJva2VuIEhUVFAgcmVkaXJlY3QgIGJlaGF2aW91ciAoSWFuCisgICAgSHVtbWVsKSwgSFRNTCBwYXJzZXIgZnJhbWVzZXQgKEphbWVzIEJ1cnNhKSwgbGlieG1sMi1weXRob24gUlBNCisgICAgZGVwZW5kYW5jeSwgWE1MIFNjaGVtYXMgdW5pb24gc3VwcG9ydCAoS2FzaW1pZXIgQnVjaGNpayksIHdhcm5pbmcgcmVtb3ZhbAorICAgIGNsYW51cCAoV2lsbGlhbSksIGtlZXAgQ2hhbmdlTG9nIGNvbXByZXNzZWQgd2hlbiBpbnN0YWxsaW5nIGZyb20gUlBNcworICAgLSBkb2N1bWVudGF0aW9uOiBleGFtcGxlcyBhbmQgeG1sRG9jRHVtcE1lbW9yeSBkb2NzIChKb2huIEZsZWNrKSwgbmV3CisgICAgZXhhbXBsZSAobG9hZCwgeHBhdGgsIG1vZGlmeSwgc2F2ZSksIHhtbENhdGFsb2dEdW1wKCkgY29tbWVudHMsCisgICAtIFdpbmRvd3M6IEJvcmxhbmQgQysrIGJ1aWxkZXIgKEVyaWMgWnVyY2hlciksIHdvcmsgYXJvdW5kIE1pY3Jvc29mdAorICAgIGNvbXBpbGVyIE5hTiBoYW5kbGluZyBidWcgKE1hcmsgVmFrb2MpCisKKworMi42Ljg6IE1hciAyMyAyMDA0OgorICAgLSBGaXJzdCBzdGVwIG9mIHRoZSBjbGVhbnVwIG9mIHRoZSBzZXJpYWxpemF0aW9uIGNvZGUgYW5kIEFQSXMKKyAgIC0gWE1MIFNjaGVtYXM6IG1peGVkIGNvbnRlbnQgKEFkYW0gRGlja21laXNzKSwgUU5hbWUgaGFuZGxpbmcgZml4ZXMgKEFkYW0KKyAgICBEaWNrbWVpc3MpLCBhbnlVUkkgZm9yICIiIChKb2huIEJlbG1vbnRlKQorICAgLSBQeXRob246IENhbm9uaWNhbGl6YXRpb24gQzE0TiBzdXBwb3J0IGFkZGVkIChBbnRob255IENhcnJpY28pCisgICAtIHhtbERvY0NvcHlOb2RlKCkgZXh0ZW5zaW9uIChXaWxsaWFtKQorICAgLSBSZWxheC1ORzogZml4IHdoZW4gcHJvY2Vzc2luZyBYSW5jbHVkZSByZXN1bHRzIChXaWxsaWFtKSwgZXh0ZXJuYWwKKyAgICByZWZlcmVuY2UgaW4gaW50ZXJsZWF2ZSAoV2lsbGlhbSksIG1pc3NpbmcgZXJyb3Igb24gPGNob2ljZT4KKyAgICBmYWlsdXJlIChXaWxsaWFtKSwgbWVtb3J5IGxlYWsgaW4gc2NoZW1hcyBkYXRhdHlwZSBmYWNldHMuCisgICAtIHhtbFdyaXRlcjogcGF0Y2ggZm9yIGJldHRlciBEVEQgc3VwcG9ydCAoQWxmcmVkIE1pY2thdXRzY2gpCisgICAtIGJ1ZyBmaXhlczogeG1sWFBhdGhMYW5nRnVuY3Rpb24gbWVtb3J5IGxlYWsgKE1pa2UgSG9tbWV5IGFuZCBXaWxsaWFtCisgICAgQnJhY2spLCBubyBJRCBlcnJvcnMgaWYgdXNpbmcgSFRNTF9QQVJTRV9OT0VSUk9SLCB4bWxjYXRhbG9nIGZhbGxiYWNrcyB0bworICAgIFVSSSBvbiBTWVNURU0gbG9va3VwIGZhaWx1cmUsIFhJbmNsdWRlIHBhcnNlIGZsYWdzIGluaGVyaXRhbmNlIChXaWxsaWFtKSwKKyAgICBYSW5jbHVkZSBhbmQgWFBvaW50ZXIgZml4ZXMgZm9yIGVudGl0aWVzIChXaWxsaWFtKSwgWE1MIHBhcnNlciBidWcKKyAgICByZXBvcnRlZCBieSBIb2xnZXIgUmF1Y2gsIG5hbm9odHRwIGZkIGxlYWsgKFdpbGxpYW0pLCAgcmVnZXhwcyBjaGFyCisgICAgZ3JvdXBzICctJyBoYW5kbGluZyAoV2lsbGlhbSksIGRpY3Rpb25uYXJ5IHJlZmVyZW5jZSBjb3VudGluZyBwcm9ibGVtcywKKyAgICBkbyBub3QgY2xvc2Ugc3RkZXJyLgorICAgLSBwZXJmb3JtYW5jZSBwYXRjaGVzIGZyb20gUGV0ciBQYWphcworICAgLSBEb2N1bWVudGF0aW9uIGZpeGVzOiBYTUxfQ0FUQUxPR19GSUxFUyBpbiBtYW4gcGFnZXMgKE1pa2UgSG9tbWV5KQorICAgLSBjb21waWxhdGlvbiBhbmQgcG9ydGFiaWxpdHkgZml4ZXM6IC0td2l0aG91dC12YWxpZCwgY2F0YWxvZyBjbGVhbnVwcworICAgIChQZXRlciBCcmVpdGVubG9obmVyKSwgTWluZ1cgcGF0Y2ggKFJvbGFuZCBTY2h3aW5nZWwpLCBjcm9zcy1jb21waWxhdGlvbgorICAgIHRvIFdpbmRvd3MgKENocmlzdG9waGUgZGUgVmllbm5lKSwgIC0td2l0aC1odG1sLWRpciBmaXh1cCAoSnVsaW8gTWVyaW5vCisgICAgVmlkYWwpLCBXaW5kb3dzIGJ1aWxkIChFcmljIFp1cmNoZXIpCisKKworMi42Ljc6IEZlYiAyMyAyMDA0OgorICAgLSBkb2N1bWVudGF0aW9uOiB0dXRvcmlhbCB1cGRhdGVzIChKb2huIEZsZWNrKSwgYmVuY2htYXJrIHJlc3VsdHMKKyAgIC0geG1sV3JpdGVyOiB1cGRhdGVzIGFuZCBmaXhlcyAoQWxmcmVkIE1pY2thdXRzY2gsIEx1Y2FzIEJyYXNpbGlubykKKyAgIC0gWFBhdGggb3B0aW1pemF0aW9uIChQZXRyIFBhamFzKQorICAgLSBEVEQgSUQgaGFuZGxpbmcgb3B0aW1pemF0aW9uCisgICAtIGJ1Z2ZpeGVzOiB4cGF0aCBudW1iZXIgd2l0aCAgPiAxOSBmcmFjdGlvbmFsIChXaWxsaWFtIEJyYWNrKSwgcHVzaAorICAgIG1vZGUgd2l0aCB1bmVzY2FwZWQgJz4nIGNoYXJhY3RlcnMsIGZpeCB4bWxsaW50IC0tc3RyZWFtIC0tdGltaW5nLCBmaXgKKyAgICB4bWxsaW50IC0tbWVtb3J5IC0tc3RyZWFtIG1lbW9yeSB1c2FnZSwgeG1sQXR0clNlcmlhbGl6ZVR4dENvbnRlbnQKKyAgICBoYW5kbGluZyBOVUxMLCB0cnlpbmcgdG8gZml4IFJlbGF4LU5HL1BlcmwgaW50ZXJmYWNlLgorICAgLSBweXRob246IDIuMyBjb21wYXRpYmlsaXR5LCB3aGl0ZXNwYWNlIGZpeGVzIChNYWxjb2xtIFRyZWRpbm5pY2spCisgICAtIEFkZGVkIHJlbGF4bmcgb3B0aW9uIHRvIHhtbGxpbnQgLS1zaGVsbAorCisKKzIuNi42OiBGZWIgMTIgMjAwNDoKKyAgIC0gbmFub2h0dHAgYW5kIG5hbm9mdHA6IGJ1ZmZlciBvdmVyZmxvdyBlcnJvciBvbiBVUkkgcGFyc2luZyAoSWdvciBhbmQKKyAgICBXaWxsaWFtKSByZXBvcnRlZCBieSBZdXVpY2hpIFRlcmFuaXNoaQorICAgLSBidWdmaXhlczogbWFrZSB0ZXN0IGFuZCBwYXRoIGlzc3VlcywgeG1sV3JpdGVyIGF0dHJpYnV0ZSBzZXJpYWxpemF0aW9uCisgICAgKFdpbGxpYW0gQnJhY2spLCB4bWxXcml0ZXIgaW5kZW50YXRpb24gKFdpbGxpYW0pLCBzY2hlbWFzIHZhbGlkYXRpb24KKyAgICAoRXJpYyBIYXN6bGFraWV3aWN6KSwgWEluY2x1ZGUgZGljdGlvbm5hcmllcyBpc3N1ZXMgKFdpbGxpYW0gYW5kIE9sZWcKKyAgICBQYXJhc2NoZW5rbyksIFhJbmNsdWRlIGVtcHR5IGZhbGxiYWNrIChXaWxsaWFtKSwgSFRNTCB3YXJuaW5ncyAoV2lsbGlhbSksCisgICAgWFBvaW50ZXIgaW4gWEluY2x1ZGUgKFdpbGxpYW0pLCBQeXRob24gbmFtZXNwYWNlIHNlcmlhbGl6YXRpb24sCisgICAgaXNvbGF0MVRvVVRGOCBib3VuZCBlcnJvciAoQWxmcmVkIE1pY2thdXRzY2gpLCBvdXRwdXQgb2YgcGFyYW1ldGVyCisgICAgZW50aXRpZXMgaW4gaW50ZXJuYWwgc3Vic2V0IChXaWxsaWFtKSwgaW50ZXJuYWwgc3Vic2V0IGJ1ZyBpbiBwdXNoIG1vZGUsCisgICAgPHhzOmFsbD4gZml4IChBbGV4ZXkgU2FyeXRjaGV2KQorICAgLSBCdWlsZDogZml4IGZvciBhdXRvbWFrZS0xLjggKEFsZXhhbmRlciBXaW5zdG9uKSwgd2FybmluZ3MgcmVtb3ZhbAorICAgIChQaGlsaXAgTHVkbGFtKSwgU09DS0xFTl9UIGRldGVjdGlvbiBmaXhlcyAoRGFuaWVsIFJpY2hhcmQpLCBmaXgKKyAgICAtLXdpdGgtbWluaW11bSBjb25maWd1cmF0aW9uLgorICAgLSBYSW5jbHVkZTogYWxsb3cgdGhlIDIwMDEgbmFtZXNwYWNlIHdpdGhvdXQgd2FybmluZy4KKyAgIC0gRG9jdW1lbnRhdGlvbjogbWlzc2luZyBleGFtcGxlL2luZGV4Lmh0bWwgKEpvaG4gRmxlY2spLCB2ZXJzaW9uCisgICAgZGVwZW5kYW5jaWVzIChKb2huIEZsZWNrKQorICAgLSByZWFkZXIgQVBJOiBzdHJ1Y3R1cmVkIGVycm9yIHJlcG9ydGluZyAoU3RldmUgQmFsbCkKKyAgIC0gV2luZG93cyBjb21waWxhdGlvbjogbWluZ3csIG1zeXMgKE1pa2hhaWwgR3J1c2hpbnNraXkpLCBmdW5jdGlvbgorICAgIHByb3RvdHlwZSAoQ2FtZXJvbiBKb2huc29uKSwgTVNWQzYgY29tcGlsZXIgd2FybmluZ3MsIF9XSU5TT0NLQVBJXworICBwYXRjaAorICAgLSBQYXJzZXJzOiBhZGRlZCB4bWxCeXRlQ29uc3VtZWQoY3R4dCkgQVBJIHRvIGdldCB0aGUgYnl0ZSBvZmZlc3QgaW4KKyAgICBpbnB1dC4KKworCisyLjYuNTogSmFuIDI1IDIwMDQ6CisgICAtIEJ1Z2ZpeGVzOiBkaWN0aW9ubmFyaWVzIGZvciBzY2hlbWFzIChXaWxsaWFtIEJyYWNrKSwgcmVnZXhwIHNlZ2ZhdWx0CisgICAgKFdpbGxpYW0pLCB4czphbGwgcHJvYmxlbSAoV2lsbGlhbSksIGEgbnVtYmVyIG9mIFhQb2ludGVyIGJ1Z2ZpeGVzCisgICAgKFdpbGxpYW0pLCB4bWxsaW50IGVycm9yIGdvIHRvIHN0ZGVyciwgRFREIHZhbGlkYXRpb24gcHJvYmxlbSB3aXRoCisgICAgbmFtZXNwYWNlLCBtZW1vcnkgbGVhayAoV2lsbGlhbSksIFNBWDEgY2xlYW51cCBhbmQgbWluaW1hbCBvcHRpb25zIGZpeGVzCisgICAgKE1hcmsgVmFkb2MpLCBwYXJzZXIgY29udGV4dCByZXNldCBvbiBlcnJvciAoU2hhdW4gTWNDYW5jZSksIFhQYXRoIHVuaW9uCisgICAgZXZhbHVhdGlvbiBwcm9ibGVtIChXaWxsaWFtKSAsIHhtbFJlYWxsb2NMb2Mgd2l0aCBOVUxMIChBbGVrc2V5IFNhbmluKSwKKyAgICBYTUwgU2NoZW1hcyBkb3VibGUgZnJlZSAoU3RldmUgQmFsbCksIFhJbmNsdWRlIHdpdGggbm8gaHJlZiwgYXJndW1lbnQKKyAgICBjYWxsYmFja3Mgb3JkZXIgZm9yIFhQYXRoIGNhbGxiYWNrcyAoRnJlZGVyaWMgUGV0ZXJzKQorICAgLSBEb2N1bWVudGF0aW9uOiBweXRob24gc2NyaXB0cyAoV2lsbGlhbSBCcmFjayksIHhzbHQgc3R5bGVzaGVldHMgKEpvaG4KKyAgICBGbGVjayksIGRvYyAoU3ZlbiBaaW1tZXJtYW4pLCBJL08gZXhhbXBsZS4KKyAgIC0gUHl0aG9uIGJpbmRpbmdzOiBmaXhlcyAoV2lsbGlhbSksIGVudW0gc3VwcG9ydCAoU3TDg8KpcGhhbmUgQmlkb3VsKSwKKyAgICBzdHJ1Y3R1cmVkIGVycm9yIHJlcG9ydGluZyAoU3TDg8KpcGhhbmUgQmlkb3VsKQorICAgLSBYSW5jbHVkZTogdmFyaW91cyBmaXhlcyBmb3IgY29uZm9ybWFuY2UsIHByb2JsZW0gcmVsYXRlZCB0byBkaWN0aW9ubmFyeQorICAgIHJlZmVyZW5jZXMgKFdpbGxpYW0gJiBtZSksIHJlY3Vyc2lvbiAoV2lsbGlhbSkKKyAgIC0geG1sV3JpdGVyOiBpbmRlbnRhdGlvbiAoTHVjYXMgQnJhc2lsaW5vKSwgbWVtb3J5IGxlYWtzIChBbGZyZWQKKyAgICBNaWNrYXV0c2NoKSwKKyAgIC0geG1sU2NoZW1hczogbm9ybWFsaXplZFN0cmluZyBkYXRhdHlwZSAoSm9obiBCZWxtb250ZSkKKyAgIC0gY29kZSBjbGVhbnVwIGZvciBzdHJpbmdzIGZ1bmN0aW9ucyAoV2lsbGlhbSkKKyAgIC0gV2luZG93czogY29tcGlsZXIgcGF0Y2hlcyAoTWFyayBWYWtvYykKKyAgIC0gUGFyc2VyIG9wdGltaXphdGlvbnMsIGEgZmV3IG5ldyBYUGF0aCBhbmQgZGljdGlvbm5hcnkgQVBJcyBmb3IgZnV0dXJlCisgICAgWFNMVCBvcHRpbWl6YXRpb25zLgorCisKKzIuNi40OiBEZWMgMjQgMjAwMzoKKyAgIC0gV2luZG93cyBidWlsZCBmaXhlcyAoSWdvciBabGF0a292aWMpCisgICAtIFNvbWUgc2VyaW91cyBYSW5jbHVkZSBwcm9ibGVtcyByZXBvcnRlZCBieSBPbGVnIFBhcmFzY2hlbmtvIGFuZAorICAgLSBVbml4IGFuZCBNYWtlZmlsZSBwYWNrYWdpbmcgZml4ZXMgKG1lLCBXaWxsaWFtIEJyYWNrLAorICAgLSBEb2N1bWVudGF0aW9uIGltcHJvdmVtZW50cyAoSm9obiBGbGVjaywgV2lsbGlhbSBCcmFjayksIGV4YW1wbGUgZml4CisgICAgKEx1Y2FzIEJyYXNpbGlubykKKyAgIC0gYnVnZml4ZXM6IHhtbFRleHRSZWFkZXJFeHBhbmQoKSB3aXRoIHhtbFJlYWRlcldhbGtlciwgWFBhdGggaGFuZGxpbmcgb2YKKyAgICBOVUxMIHN0cmluZ3MgKFdpbGxpYW0gQnJhY2spICwgQVBJIGJ1aWxkaW5nIHJlYWRlciBvciBwYXJzZXIgZnJvbQorICAgIGZpbGVkZXNjcmlwdG9yIHNob3VsZCBub3QgY2xvc2UgaXQsIGNoYW5nZWQgWFBhdGggc29ydGluZyB0byBiZSBzdGFibGUKKyAgICBhZ2FpbiAoV2lsbGlhbSBCcmFjayksIHhtbEdldE5vZGVQYXRoKCkgZ2VuZXJhdGluZyAnKG51bGwpJyAoV2lsbGlhbQorICAgIEJyYWNrKSwgRFREIHZhbGlkYXRpb24gYW5kIG5hbWVzcGFjZSBidWcgKFdpbGxpYW0gQnJhY2spLCBYTUwgU2NoZW1hcworICAgIGRvdWJsZSBpbmNsdXNpb24gYmVoYXZpb3VyCisKKworMi42LjM6IERlYyAxMCAyMDAzOgorICAgLSBkb2N1bWVudGF0aW9uIHVwZGF0ZXMgYW5kIGNsZWFudXAgKERWLCBXaWxsaWFtIEJyYWNrLCBKb2huIEZsZWNrKQorICAgLSBhZGRlZCBhIHJlcG9zaXRvcnkgb2YgZXhhbXBsZXMsIGV4YW1wbGVzIGZyb20gQWxla3NleSBTYW5pbiwgRG9kamkKKyAgICBTZWtldGVsaSwgQWxmcmVkIE1pY2thdXRzY2gKKyAgIC0gV2luZG93cyB1cGRhdGVzOiBNYXJrIFZha29jLCBJZ29yIFpsYXRrb3ZpYywgRXJpYyBadXJjaGVyLCBNaW5ndworICAgIChLZW5uZXRoIEhhbGV5KQorICAgLSBVbmljb2RlIHJhbmdlIGNoZWNraW5nIChXaWxsaWFtIEJyYWNrKQorICAgLSBjb2RlIGNsZWFudXAgKFdpbGxpYW0gQnJhY2spCisgICAtIFB5dGhvbiBiaW5kaW5nczogZG9jIChKb2huIEZsZWNrKSwgIGJ1ZyBmaXhlcworICAgLSBVVEYtMTYgY2xlYW51cCBhbmQgQk9NIGlzc3VlcyAoV2lsbGlhbSBCcmFjaykKKyAgIC0gYnVnIGZpeGVzOiBJRCBhbmQgeG1sUmVhZGVyIHZhbGlkYXRpb24sIFhQYXRoIChXaWxsaWFtIEJyYWNrKSwKKyAgICB4bWxXcml0ZXIgKEFsZnJlZCBNaWNrYXV0c2NoKSwgaGFzaC5oIGluY2x1c2lvbiBwcm9ibGVtLCBIVE1MIHBhcnNlcgorICAgIChKYW1lcyBCdXJzYSksIGF0dHJpYnV0ZSBkZWZhdWx0aW5nIGFuZCB2YWxpZGF0aW9uLCBzb21lIHNlcmlhbGl6YXRpb24KKyAgICBjbGVhbnVwcywgWE1MX0dFVF9MSU5FIG1hY3JvLCBtZW1vcnkgZGVidWcgd2hlbiB1c2luZyB0aHJlYWRzIChXaWxsaWFtCisgICAgQnJhY2spLCBzZXJpYWxpemF0aW9uIG9mIGF0dHJpYnV0ZXMgYW5kIGVudGl0aWVzIGNvbnRlbnQsIHhtbFdyaXRlcgorICAgIChEYW5pZWwgU2NodWxtYW4pCisgICAtIFhJbmNsdWRlIGJ1Z2ZpeCwgbmV3IEFQSXMgYW5kIHVwZGF0ZSB0byB0aGUgbGFzdCB2ZXJzaW9uIGluY2x1ZGluZyB0aGUKKyAgICBuYW1lc3BhY2UgY2hhbmdlLgorICAgLSBYTUwgU2NoZW1hcyBpbXByb3ZlbWVudHM6IGluY2x1ZGUgKFJvYmVydCBTdGVwYW5layksIGltcG9ydCBhbmQKKyAgICBuYW1lc3BhY2UgaGFuZGxpbmcsIGZpeGVkIHRoZSByZWdyZXNzaW9uIHRlc3RzIHRyb3VibGVzLCBhZGRlZCBleGFtcGxlcworICAgIGJhc2VkIG9uIEVyaWMgdmFuIGRlciBWbGlzdCBib29rLCByZWdleHAgZml4ZXMKKyAgIC0gcHJlbGltaW5hcnkgcGF0dGVybiBzdXBwb3J0IGZvciBzdHJlYW1pbmcgKG5lZWRlZCBmb3Igc2NoZW1hcworICAgIGNvbnN0cmFpbnRzKSwgYWRkZWQgeG1sVGV4dFJlYWRlclByZXNlcnZlUGF0dGVybigpIHRvIGNvbGxlY3Qgc3ViZG9jdW1lbnQKKyAgICB3aGVuIHN0cmVhbWluZy4KKyAgIC0gdmFyaW91cyBmaXhlcyBpbiB0aGUgc3RydWN0dXJlZCBlcnJvciBoYW5kbGluZworCisKKzIuNi4yOiBOb3YgNCAyMDAzOgorICAgLSBYUGF0aCBjb250ZXh0IHVucmVnaXN0cmF0aW9uIGZpeGVzCisgICAtIHRleHQgbm9kZSBjb2FsZXNjaW5nIGZpeGVzIChNYXJrIExpbGJhY2spCisgICAtIEFQSSB0byBzY3JlYXRlIGEgVzNDIFNjaGVtYXMgZnJvbSBhbiBleGlzdGluZyBkb2N1bWVudCAoU3RldmUgQmFsbCkKKyAgIC0gQmVPUyBwYXRjaGVzIChNYXJjaW4gJ1NoYXJkJyBLb25pY2tpKQorICAgLSB4bWxTdHJWUHJpbnRmIGZ1bmN0aW9uIGFkZGVkIChBbGVrc2V5IFNhbmluKQorICAgLSBjb21waWxhdGlvbiBmaXhlcyAoTWFyayBWYWtvYykKKyAgIC0gc3RkaW4gcGFyc2luZyBmaXggKFdpbGxpYW0gQnJhY2spCisgICAtIGEgcG9zdGVyaW9yaSBEVEQgdmFsaWRhdGlvbiBmaXhlcworICAgLSB4bWxSZWFkZXIgYnVnIGZpeGVzOiBXYWxrZXIgZml4ZXMsIHB5dGhvbiBiaW5kaW5ncworICAgLSBmaXhlZCB4bWxTdG9wUGFyc2VyKCkgdG8gcmVhbGx5IHN0b3AgdGhlIHBhcnNlciBhbmQgZXJyb3JzCisgICAtIGFsd2F5cyBnZW5lcmF0ZSBsaW5lIG51bWJlcnMgd2hlbiB1c2luZyB0aGUgbmV3IHhtbFJlYWR4eHgKKyAgZnVuY3Rpb25zCisgICAtIGFkZGVkIFhJbmNsdWRlIHN1cHBvcnQgdG8gdGhlIHhtbFJlYWRlciBpbnRlcmZhY2UKKyAgIC0gaW1wbGVtZW50ZWQgWE1MX1BBUlNFX05PTkVUIHBhcnNlciBvcHRpb24KKyAgIC0gRG9jQm9vayBYU0xUIHByb2Nlc3NpbmcgYnVnIGZpeGVkCisgICAtIEhUTUwgc2VyaWFsaXphdGlvbiBmb3IgPHA+IGVsZW1lbnRzIChXaWxsaWFtIEJyYWNrIGFuZCBtZSkKKyAgIC0gWFBvaW50ZXIgZmFpbHVyZSBpbiBYSW5jbHVkZSBhcmUgbm93IGhhbmRsZWQgYXMgcmVzb3VyY2UgZXJyb3JzCisgICAtIGZpeGVkIHhtbGxpbnQgLS1odG1sIHRvIHVzZSB0aGUgSFRNTCBzZXJpYWxpemVyIG9uIG91dHB1dCAoYWRkZWQKKyAgICAtLXhtbG91dCB0byBpbXBsZW1lbnQgdGhlIHByZXZpb3VzIGJlaGF2aW91ciBvZiBzYXZpbmcgaXQgdXNpbmcgdGhlIFhNTAorICAgIHNlcmlhbGl6ZXIpCisKKworMi42LjE6IE9jdCAyOCAyMDAzOgorICAgLSBNb3N0bHkgYnVnZml4ZXMgYWZ0ZXIgdGhlIGJpZyAyLjYuMCBjaGFuZ2VzCisgICAtIFVuaXggY29tcGlsYXRpb24gcGF0Y2hlczogbGlieG1sLm00IChQYXRyaWNrIFdlbGNoZSksIHdhcm5pbmdzIGNsZWFudXAKKyAgICAoV2lsbGlhbSBCcmFjaykKKyAgIC0gV2luZG93cyBjb21waWxhdGlvbiBwYXRjaGVzIChKb2FjaGltIEJhdWNoLCBTdGVwaGFuZSBCaWRvdWwsIElnb3IKKyAgICBabGF0a292aWMpCisgICAtIHhtbFdyaXRlciBidWdmaXggKEFsZnJlZCBNaWNrYXV0c2NoKQorICAgLSBjaHZhbGlkLltjaF06IGNvdXBsZSBvZiBmaXhlcyBmcm9tIFN0ZXBoYW5lIEJpZG91bAorICAgLSBjb250ZXh0IHJlc2V0OiBlcnJvciBzdGF0ZSByZXNldCwgcHVzaCBwYXJzZXIgcmVzZXQgKEdyYWhhbQorICBCZW5uZXR0KQorICAgLSBjb250ZXh0IHJldXNlOiBnZW5lcmF0ZSBlcnJvcnMgaWYgZmlsZSBpcyBub3QgcmVhZGFibGUKKyAgIC0gZGVmYXVsdGVkIGF0dHJpYnV0ZXMgZm9yIGVsZW1lbnQgY29taW5nIGZyb20gaW50ZXJuYWwgZW50aXRpZXMKKyAgICAoU3RlcGhhbmUgQmlkb3VsKQorICAgLSBQeXRob246IHRhYiBhbmQgc3BhY2VzIG1peCAoV2lsbGlhbSBCcmFjaykKKyAgIC0gRXJyb3IgaGFuZGxlciBjb3VsZCBjcmFzaCBpbiBEVEQgdmFsaWRhdGlvbiBpbiAyLjYuMAorICAgLSB4bWxSZWFkZXI6IGRvIG5vdCB1c2UgdGhlIGRvY3VtZW50IG9yIGVsZW1lbnQgX3ByaXZhdGUgZmllbGQKKyAgIC0gdGVzdFNBWC5jOiBhdm9pZCBhIHByb2JsZW0gd2l0aCBzb21lIFBJcyAoTWFzc2ltbyBNb3JhcmEpCisgICAtIGdlbmVyYWwgYnVnIGZpeGVzOiBtYW5kYXRvcnkgZW5jb2RpbmcgaW4gdGV4dCBkZWNsLCBzZXJpYWxpemluZworICAgIERvY3VtZW50IEZyYWdtZW50IG5vZGVzLCB4bWxTZWFyY2hOcyAyLjYuMCBwcm9ibGVtIChLYXNpbWllciBCdWNoY2lrKSwKKyAgICBYUGF0aCBlcnJvcnMgbm90IHJlcG9ydGVkLCAgc2xvdyBIVE1MIHBhcnNpbmcgb2YgbGFyZ2UgZG9jdW1lbnRzLgorCisKKzIuNi4wOiBPY3QgMjAgMjAwMzoKKyAgIC0gTWFqb3IgcmV2aXNpb24gcmVsZWFzZTogc2hvdWxkIGJlIEFQSSBhbmQgQUJJIGNvbXBhdGlibGUgYnV0IGdvdCBhIGxvdAorICAgIG9mIGNoYW5nZQorICAgLSBJbmNyZWFzZWQgdGhlIGxpYnJhcnkgbW9kdWxhcml0eSwgZmFyIG1vcmUgb3B0aW9ucyBjYW4gYmUgc3RyaXBwZWQgb3V0LAorICAgIGEgLS13aXRoLW1pbmltdW0gY29uZmlndXJhdGlvbiB3aWxsIHdlaWdodCBhcm91bmQgMTYwS0J5dGVzCisgICAtIFVzZSBwZXIgcGFyc2VyIGFuZCBwZXIgZG9jdW1lbnQgZGljdGlvbm5hcnksIGFsbG9jYXRlIG5hbWVzIGFuZCBzbWFsbAorICAgIHRleHQgbm9kZXMgZnJvbSB0aGUgZGljdGlvbm5hcnkKKyAgIC0gU3dpdGNoIHRvIGEgU0FYMiBsaWtlIHBhcnNlciByZXdyb3RlIG1vc3Qgb2YgdGhlIFhNTCBwYXJzZXIgY29yZSwKKyAgICBwcm92aWRlcyBuYW1lc3BhY2UgcmVzb2x1dGlvbiBhbmQgZGVmYXVsdGVkIGF0dHJpYnV0ZXMsIG1pbmltaXplIG1lbW9yeQorICAgIGFsbG9jYXRpb25zIGFuZCBjb3BpZXMsIG5hbWVzcGFjZSBjaGVja2luZyBhbmQgc3BlY2lmaWMgZXJyb3IgaGFuZGxpbmcsCisgICAgaW1tdXRhYmxlIGJ1ZmZlcnMsIG1ha2UgcHJlZGVmaW5lZCBlbnRpdGllcyBzdGF0aWMgc3RydWN0dXJlcywgZXRjLi4uCisgICAtIHJld3JvdGUgYWxsIHRoZSBlcnJvciBoYW5kbGluZyBpbiB0aGUgbGlicmFyeSwgYWxsIGVycm9ycyBjYW4gYmUKKyAgICBpbnRlcmNlcHRlZCBhdCBhIHN0cnVjdHVyZWQgbGV2ZWwsIHdpdGggcHJlY2lzZSBpbmZvcm1hdGlvbgorICBhdmFpbGFibGUuCisgICAtIE5ldyBzaW1wbGVyIGFuZCBtb3JlIGdlbmVyaWMgWE1MIGFuZCBIVE1MIHBhcnNlciBBUElzLCBhbGxvd2luZyB0bworICAgIGVhc2lsbHkgbW9kaWZ5IHRoZSBwYXJzaW5nIG9wdGlvbnMgYW5kIHJldXNlIHBhcnNlciBjb250ZXh0IGZvciBtdWx0aXBsZQorICAgIGNvbnNlY3V0aXZlIGRvY3VtZW50cy4KKyAgIC0gU2ltaWxhciBuZXcgQVBJcyBmb3IgdGhlIHhtbFJlYWRlciwgZm9yIG9wdGlvbnMgYW5kIHJldXNlLCBwcm92aWRlZCBuZXcKKyAgICBmdW5jdGlvbnMgdG8gYWNjZXNzIGNvbnRlbnQgYXMgY29uc3Qgc3RyaW5ncywgdXNlIHRoZW0gZm9yIFB5dGhvbgorICBiaW5kaW5ncworICAgLSBhICBsb3Qgb2Ygb3RoZXIgc21hbGxlciBBUEkgaW1wcm92ZW1lbnRzOiB4bWxTdHJQcmludGYgKEFsZWtzZXkgU2FuaW4pLAorICAgIFdhbGtlciBpLmUuIHJlYWRlciBvbiBhIGRvY3VtZW50IHRyZWUgYmFzZWQgb24gQWxmcmVkIE1pY2thdXRzY2ggY29kZSwKKyAgICBtYWtlIHJvb20gaW4gbm9kZXMgZm9yIGxpbmUgbnVtYmVycywgcmVmZXJlbmNlIGNvdW50aW5nIGFuZCBmdXR1cmUgUFNWSQorICAgIGV4dGVuc2lvbnMsIGdlbmVyYXRpb24gb2YgY2hhcmFjdGVyIHJhbmdlcyB0byBiZSBjaGVja2VkIHdpdGggZmFzdGVyCisgICAgYWxnb3JpdGhtIChXaWxsaWFtKSwgIHhtbFBhcnNlck1heERlcHRoIChDcnV0Y2hlciBEdW5uYXZhbnQpLCBidWZmZXIKKyAgICBhY2Nlc3MKKyAgIC0gTmV3IHhtbFdyaXRlciBBUEkgcHJvdmlkZWQgYnkgQWxmcmVkIE1pY2thdXRzY2gKKyAgIC0gU2NoZW1hczogYmFzZTY0IHN1cHBvcnQgYnkgQW50aG9ueSBDYXJyaWNvCisgICAtIFBhcnNlcjwtPkhUVFAgaW50ZWdyYXRpb24gZml4LCBwcm9wZXIgcHJvY2Vzc2luZyBvZiB0aGUgTWltZS1UeXBlCisgICAgYW5kIGNoYXJzZXQgaW5mb3JtYXRpb24gaWYgYXZhaWxhYmxlLgorICAgLSBSZWxheC1ORzogYnVnIGZpeGVzIGluY2x1ZGluZyB0aGUgb25lIHJlcG9ydGVkIGJ5IE1hcnRpam4gRmFhc3NlbiBhbmQKKyAgICB6ZXJvT3JNb3JlLCBiZXR0ZXIgZXJyb3IgcmVwb3J0aW5nLgorICAgLSBQeXRob24gYmluZGluZ3MgKFN0w4PCqXBoYW5lIEJpZG91bCksIG5ldmVyIHVzZSBzdGRvdXQgZm9yIGVycm9ycworICBvdXRwdXQKKyAgIC0gUG9ydGFiaWxpdHk6IGFsbCB0aGUgaGVhZGVycyBoYXZlIG1hY3JvcyBmb3IgZXhwb3J0IGFuZCBjYWxsaW5nCisgICAgY29udmVudGlvbiBkZWZpbml0aW9ucyAoSWdvciBabGF0a292aWMpLCBWTVMgdXBkYXRlIChDcmFpZyBBLiBCZXJyeSksCisgICAgV2luZG93czogdGhyZWFkcyAoSmVzc2UgUGVsdG9uKSwgQm9ybGFuZCBjb21waWxlciAoRXJpYyBadXJjaGVyLCAgSWdvciksCisgICAgTWluZ3cgKElnb3IpLCB0eXBvcyAoTWFyayBWYWtvYyksICBiZXRhIHZlcnNpb24gKFN0ZXBoYW5lIEJpZG91bCksCisgICAgd2FybmluZyBjbGVhbnVwcyBvbiBBSVggYW5kIE1JUFMgY29tcGlsZXJzIChXaWxsaWFtIEJyYWNrKSwgQmVPUyAoTWFyY2luCisgICAgJ1NoYXJkJyBLb25pY2tpKQorICAgLSBEb2N1bWVudGF0aW9uIGZpeGVzIGFuZCBSRUFETUUgKFdpbGxpYW0gQnJhY2spLCBzZWFyY2ggZml4IChXaWxsaWFtKSwKKyAgICB0dXRvcmlhbCB1cGRhdGVzIChKb2huIEZsZWNrKSwgbmFtZXNwYWNlIGRvY3MgKFN0ZWZhbiBLb3N0KQorICAgLSBCdWcgZml4ZXM6IHhtbENsZWFudXBQYXJzZXIgKERhdmUgQmVja2V0dCksIHRocmVhZGluZyB1bmluaXRpYWxpemVkCisgICAgbXV0ZXhlcywgSFRNTCBkb2N0eXBlIGxvd2VyY2FzZSwgIFNBWC9JTyAoV2lsbGlhbSksIGNvbXByZXNzaW9uIGRldGVjdGlvbgorICAgIGFuZCByZXN0b3JlIChXaWxsaWFtKSwgYXR0cmlidXRlIGRlY2xhcmF0aW9uIGluIERURHMgKFdpbGxpYW0pLCBuYW1lc3BhY2UKKyAgICBvbiBhdHRyaWJ1dGUgaW4gSFRNTCBvdXRwdXQgKFdpbGxpYW0pLCBpbnB1dCBmaWxlbmFtZSAoUm9iIFJpY2hhcmRzKSwKKyAgICBuYW1lc3BhY2UgRFREIHZhbGlkYXRpb24sIHhtbFJlcGxhY2VOb2RlIChDaHJpcyBSeWxhbmQpLCBJL08gY2FsbGJhY2tzCisgICAgKE1hcmt1cyBLZWltKSwgQ0RBVEEgc2VyaWFsaXphdGlvbiAoU2hhdW4gTWNDYW5jZSksIHhtbFJlYWRlciAoUGV0ZXIKKyAgICBEZXJyKSwgaGlnaCBjb2RlcG9pbnQgY2hhcnJlZiBsaWtlICYjeDEwRkZGRjssIGJ1ZmZlciBhY2Nlc3MgaW4gcHVzaAorICAgIG1vZGUgKEp1c3RpbiBGbGV0Y2hlciksIFRMUyB0aHJlYWRzIG9uIFdpbmRvd3MgKEplc3NlIFBlbHRvbiksIFhQYXRoIGJ1ZworICAgIChXaWxsaWFtKSwgeG1sQ2xlYW51cFBhcnNlciAoTWFyYyBMaXlhbmFnZSksIENEQVRBIG91dHB1dCAoV2lsbGlhbSksIEhUVFAKKyAgICBlcnJvciBoYW5kbGluZy4KKyAgIC0geG1sbGludCBvcHRpb25zOiAtLWR0ZHZhbGlkZnBpIGZvciBUb2JpYXMgUmVpZiwgLS1zYXgxIGZvciBjb21wYXQKKyAgICB0ZXN0aW5nLCAgLS1ub2RpY3QgZm9yIGJ1aWxkaW5nIHdpdGhvdXQgdHJlZSBkaWN0aW9ubmFyeSwgLS1ub2NkYXRhIHRvCisgICAgcmVwbGFjZSBDREFUQSBieSB0ZXh0LCAtLW5zY2xlYW4gdG8gcmVtb3ZlIHN1cnBlcmZsdW91cyAgbmFtZXNwYWNlCisgICAgZGVjbGFyYXRpb25zCisgICAtIGFkZGVkIHhtbDItY29uZmlnIC0tbGlidG9vbC1saWJzIG9wdGlvbiBmcm9tIEtldmluIFAuIEZsZW1pbmcKKyAgIC0gYSBsb3Qgb2YgcHJvZmlsaW5nIGFuZCB0dW5pbmcgb2YgdGhlIGNvZGUsIHNwZWVkdXAgcGF0Y2ggZm9yCisgICAgeG1sU2VhcmNoTnMoKSBieSBMdWNhIFBhZG92YW5pLiBUaGUgeG1sUmVhZGVyIHNob3VsZCBkbyBmYXIgbGVzcworICAgIGFsbG9jYXRpb24gYW5kIGl0IHNwZWVkIHNob3VsZCBnZXQgY2xvc2VyIHRvIFNBWC4gQ2hyaXMgQW5kZXJzb24gd29ya2VkCisgICAgb24gc3BlZWRpbmcgYW5kIGNsZWFuaW5nIHVwIHJlcGV0aXRpdmUgY2hlY2tpbmcgY29kZS4KKyAgIC0gY2xlYW51cCBvZiAibWFrZSB0ZXN0cyIKKyAgIC0gbGlieG1sLTIuMC11bmluc3RhbGxlZC5wYyBmcm9tIE1hbGNvbG0gVHJlZGlubmljaworICAgLSBkZWFjdGl2YXRlZCB0aGUgYnJva2VuIGRvY0Jvb2sgU0dNTCBwYXJzZXIgY29kZSBhbmQgcGx1Z2dlZCB0aGUgWE1MCisgICAgcGFyc2VyIGluc3RlYWQuCisKKworMi41LjExOiBTZXAgOSAyMDAzOgorQSBidWdmaXggb25seSByZWxlYXNlOiAgIC0gcmlzayBvZiBjcmFzaCBpbiBSZWxheC1ORworICAgLSByaXNrIG9mIGNyYXNoIHdoZW4gdXNpbmcgbXVsdGl0aHJlYWRlZCBwcm9ncmFtcworCisKKzIuNS4xMDogQXVnIDE1IDIwMDM6CitBIGJ1Z2ZpeGVzIG9ubHkgcmVsZWFzZSAgIC0gV2luZG93cyBNYWtlZmlsZXMgKFdpbGxpYW0gQnJhY2spCisgICAtIFVURi0xNiBzdXBwb3J0IGZpeGVzIChNYXJrIEl0emNvdml0eikKKyAgIC0gTWFrZWZpbGUgYW5kIHBvcnRhYmlsaXR5IChXaWxsaWFtIEJyYWNrKSBhdXRvbWFrZSwgTGludXggYWxwaGEsIE1pbmd3CisgICAgb24gV2luZG93cyAoTWlraGFpbCBHcnVzaGluc2tpeSkKKyAgIC0gSFRNTCBwYXJzZXIgKE9saXZlciBTdG9lbmViZXJnKQorICAgLSBYSW5jbHVkZSBwZXJmb3JtYW5jZSBwcm9ibGVtIHJlcG9ydGVkIGJ5IEtldmluIFJ1c2NvZQorICAgLSBYTUwgcGFyc2VyIHBlcmZvcm1hbmNlIHByb2JsZW0gcmVwb3J0ZWQgYnkgR3JhbnQgR29vZGFsZQorICAgLSB4bWxTQVhQYXJzZURURCgpIGJ1ZyBmaXggZnJvbSBNYWxjb2xtIFRyZWRpbm5pY2sKKyAgIC0gYW5kIGEgY291cGxlIG90aGVyIGNsZWFudXAKKworCisyLjUuOTogQXVnIDkgMjAwMzoKKyAgIC0gYnVnZml4ZXM6IElQdjYgcG9ydGFiaWxpdHksIHhtbEhhc05zUHJvcCAoTWFya3VzIEtlaW0pLCBXaW5kb3dzIGJ1aWxkCisgICAgKFdpbGlhbSBCcmFrZSwgSmVzc2UgUGVsdG9uLCBJZ29yKSwgU2NoZW1hcyAoUGV0ZXIgU29iaXNjaCksIHRocmVhZGluZworICAgIChSb2IgUmljaGFyZHMpLCBoZXhCaW5hcnkgdHlwZSAoKSwgVVRGLTE2IEJPTSAoRG9kamkgU2VrZXRlbGkpLAorICAgIHhtbFJlYWRlciwgUmVsYXgtTkcgc2NoZW1hcyBjb21waWxhdGlvbiwgbmFtZXNwYWNlIGhhbmRsaW5nLCAgRVhTTFQgKFNlYW4KKyAgICBHcmlmZmluKSwgSFRNTCBwYXJzaW5nIHByb2JsZW0gKFdpbGxpYW0gQnJhY2spLCBEVEQgdmFsaWRhdGlvbiBmb3IgbWl4ZWQKKyAgICBjb250ZW50ICsgbmFtZXNwYWNlcywgSFRNTCBzZXJpYWxpemF0aW9uLCBsaWJyYXJ5IGluaXRpYWxpemF0aW9uLAorICAgIHByb2dyZXNzaXZlIEhUTUwgcGFyc2VyCisgICAtIGJldHRlciBpbnRlcmZhY2VzIGZvciBSZWxheC1ORyBlcnJvciBoYW5kbGluZyAoSm9hY2hpbSBCYXVjaCwgKQorICAgLSBhZGRpbmcgeG1sWEluY2x1ZGVQcm9jZXNzVHJlZSgpIGZvciBYSW5jbHVkJ2luZyBpbiBhIHN1YnRyZWUKKyAgIC0gZG9jIGZpeGVzIGFuZCBpbXByb3ZlbWVudHMgKEpvaG4gRmxlY2spCisgICAtIGNvbmZpZ3VyZSBmbGFnIGZvciAtd2l0aC1mZXhjZXB0aW9ucyB3aGVuIGVtYmVkZGluZyBpbiBDKysKKyAgIC0gY291cGxlIG9mIG5ldyBVVEYtOCBoZWxwZXIgZnVuY3Rpb25zIChXaWxsaWFtIEJyYWNrKQorICAgLSBnZW5lcmFsIGVuY29kaW5nIGNsZWFudXAgKyBJU08tODg1OS14IHdpdGhvdXQgaWNvbnYgKFBldGVyIEphY29iaSkKKyAgIC0geG1sVGV4dFJlYWRlciBjbGVhbnVwICsgZW51bSBmb3Igbm9kZSB0eXBlcyAoQmpvcm4gUmVlc2UpCisgICAtIGdlbmVyYWwgY29tcGlsYXRpb24vd2FybmluZyBjbGVhbnVwIFNvbGFyaXMvSFAtVVgvLi4uIChXaWxsaWFtCisgIEJyYWNrKQorCisKKzIuNS44OiBKdWwgNiAyMDAzOgorICAgLSBidWdmaXhlczogWFBhdGgsIFhJbmNsdWRlLCBmaWxlL1VSSSBtYXBwaW5nLCBVVEYtMTYgc2F2ZSAoTWFyaworICAgIEl0emNvdml0eiksIFVURi04IGNoZWNraW5nLCBVUkkgc2F2aW5nLCBlcnJvciBwcmludGluZyAoV2lsbGlhbSBCcmFjayksCisgICAgUEkgcmVsYXRlZCBtZW1sZWFrLCBjb21waWxhdGlvbiB3aXRob3V0IHNjaGVtYXMgb3Igd2l0aG91dCB4cGF0aCAoSm9lcmcKKyAgICBTY2htaXR6LUxpbm5ld2ViZXIvR2FycnkgUGVubmluZ3RvbiksIHhtbFVubGlua05vZGUgcHJvYmxlbSB3aXRoIERURHMsCisgICAgcnBtIHByb2JsZW0gb24gLCBpODZfNjQsIHJlbW92ZWQgYSBmZXcgY29tcGlsYXRpb24gcHJvYmxlbXMgZnJvbSAyLjUuNywKKyAgICB4bWxJT1BhcnNlRFRELCBhbmQgeG1sU0FYUGFyc2VEVEQgKE1hbGNvbG0gVHJlZGlubmljaykKKyAgIC0gcG9ydGFiaWxpdHk6IERKR1BQIChNc0RvcykgLCBPcGVuVk1TIChDcmFpZyBBLiBCZXJyeSkKKyAgIC0gV2lsbGlhbSBCcmFjayBmaXhlZCBtdWx0aXRocmVhZGluZyBsb2NrIHByb2JsZW1zCisgICAtIElQdjYgcGF0Y2ggZm9yIEZUUCBhbmQgSFRUUCBhY2Nlc3NlcyAoQXJjaGFuYSBTaGFoL1dpcHJvKQorICAgLSBXaW5kb3dzIGZpeGVzIChJZ29yIFpsYXRrb3ZpYywgIEVyaWMgWnVyY2hlciksIHRocmVhZGluZyAoU3TDg8KpcGhhbmUKKyAgICBCaWRvdWwpCisgICAtIEEgZmV3IFczQyBTY2hlbWFzIFN0cnVjdHVyZSBpbXByb3ZlbWVudHMKKyAgIC0gVzNDIFNjaGVtYXMgRGF0YXR5cGUgaW1wcm92ZW1lbnRzIChDaGFybGllIEJvemVtYW4pCisgICAtIFB5dGhvbiBiaW5kaW5ncyBmb3IgdGhyZWFkIGdsb2JhbHMgKFN0w4PCqXBoYW5lIEJpZG91bCksIGFuZCBtZXRob2QvY2xhc3MKKyAgICBnZW5lcmF0b3IKKyAgIC0gYWRkZWQgLS1ub25ldCBvcHRpb24gdG8geG1sbGludAorICAgLSBkb2N1bWVudGF0aW9uIGltcHJvdmVtZW50cyAoSm9obiBGbGVjaykKKworCisyLjUuNzogQXByIDI1IDIwMDM6CisgICAtIFJlbGF4LU5HOiBDb21waWxpbmcgdG8gcmVnZXhwIGFuZCBzdHJlYW1pbmcgdmFsaWRhdGlvbiBvbiB0b3Agb2YgdGhlCisgICAgeG1sUmVhZGVyIGludGVyZmFjZSwgYWRkZWQgdG8geG1sbGludCAtLXN0cmVhbQorICAgLSB4bWxSZWFkZXI6IEV4cGFuZCgpLCBOZXh0KCkgYW5kIERPTSBhY2Nlc3MgZ2x1ZSwgYnVnIGZpeGVzCisgICAtIFN1cHBvcnQgZm9yIGxhcmdlIGZpbGVzOiBSR04gdmFsaWRhdGVkIGEgNC41R0IgaW5zdGFuY2UKKyAgIC0gVGhyZWFkIHN1cHBvcnQgaXMgbm93IGNvbmZpZ3VyZWQgaW4gYnkgZGVmYXVsdAorICAgLSBGaXhlczogdXBkYXRlIG9mIHRoZSBUcmlvIGNvZGUgKEJqb3JuKSwgV1hTIERhdGUgYW5kIER1cmF0aW9uIGZpeGVzCisgICAgKENoYXJsZXMgQm96ZW1hbiksIERURCBhbmQgbmFtZXNwYWNlcyAoQnJlbnQgSGVuZHJpY2tzKSwgSFRNTCBwdXNoIHBhcnNlcgorICAgIGFuZCB6ZXJvIGJ5dGVzIGhhbmRsaW5nLCBzb21lIG1pc3NpbmcgV2luZG93cyBmaWxlIHBhdGggY29udmVyc2lvbnMsCisgICAgYmVoYXZpb3VyIG9mIHRoZSBwYXJzZXIgYW5kIHZhbGlkYXRvciBpbiB0aGUgcHJlc2VuY2Ugb2YgIm91dCBvZiBtZW1vcnkiCisgICAgZXJyb3IgY29uZGl0aW9ucworICAgLSBleHRlbmRlZCB0aGUgQVBJIHRvIGJlIGFibGUgdG8gcGx1ZyBhIGdhcmJhZ2UgY29sbGVjdGluZyBtZW1vcnkKKyAgICBhbGxvY2F0b3IsIGFkZGVkIHhtbE1hbGxvY0F0b21pYygpIGFuZCBtb2RpZmllZCB0aGUgYWxsb2NhdGlvbnMKKyAgICBhY2NvcmRpbmdseS4KKyAgIC0gUGVyZm9ybWFuY2VzOiByZW1vdmVkIGV4Y2Vzc2l2ZSBtYWxsb2MoKSBjYWxscywgc3BlZWR1cCBvZiB0aGUgcHVzaCBhbmQKKyAgICB4bWxSZWFkZXIgaW50ZXJmYWNlcywgcmVtb3ZlZCBleGNlc3NpdmUgdGhyZWFkIGxvY2tpbmcKKyAgIC0gRG9jdW1lbnRhdGlvbjogbWFuIHBhZ2UgKEpvaG4gRmxlY2spLCB4bWxSZWFkZXIgZG9jdW1lbnRhdGlvbgorICAgLSBQeXRob246IGFkZGluZyBiaW5kaW5nIGZvciB4bWxDYXRhbG9nQWRkTG9jYWwgKEJyZW50IE0gSGVuZHJpY2tzKQorCisKKzIuNS42OiBBcHIgMSAyMDAzOgorICAgLSBGaXhlZCBXM0MgWE1MIFNjaGVtYXMgZGF0YXR5cGUsIHNob3VsZCBiZSBjb21wbGlhbnQgbm93IGV4Y2VwdCBmb3IKKyAgICBiaW5IZXggYW5kIGJhc2U2NCB3aGljaCBhcmUgbm90IHN1cHBvcnRlZCB5ZXQuCisgICAtIGJ1ZyBmaXhlczogbm9uLUFTQ0lJIElEcywgSFRNTCBvdXRwdXQsIFhJbmNsdWRlIG9uIGxhcmdlIGRvY3MgYW5kCisgICAgWEluY2x1ZGUgZW50aXRpZXMgaGFuZGxpbmcsIGVuY29kaW5nIGRldGVjdGlvbiBvbiBleHRlcm5hbCBzdWJzZXRzLCBYTUwKKyAgICBTY2hlbWFzIGJ1Z3MgYW5kIG1lbW9yeSBsZWFrcywgSFRNTCBwYXJzZXIgKEphbWVzIEJ1cnNhKQorICAgLSBwb3J0YWJpbGl0eTogcHl0aG9uL3RyaW8gKEFsYmVydCBDaGluKSwgU3VuIGNvbXBpbGVyIHdhcm5pbmdzCisgICAtIGRvY3VtZW50YXRpb246IGFkZGVkIC0tcmVsYXhuZyBvcHRpb24gdG8geG1sbGludCBtYW4gcGFnZSAoSm9obikKKyAgIC0gaW1wcm92ZWQgZXJyb3IgcmVwb3J0aW5nOiB4bWw6c3BhY2UsIHN0YXJ0L2VuZCB0YWcgbWlzbWF0Y2hlcywgUmVsYXggTkcKKyAgICBlcnJvcnMKKworCisyLjUuNTogTWFyIDI0IDIwMDM6CisgICAtIExvdCBvZiBmaXhlcyBvbiB0aGUgUmVsYXggTkcgaW1wbGVtZW50YXRpb24uIE1vcmUgdGVzdGluZyBpbmNsdWRpbmcKKyAgICBEb2NCb29rIGFuZCBURUkgZXhhbXBsZXMuCisgICAtIEluY3JlYXNlZCB0aGUgc3VwcG9ydCBmb3IgVzNDIFhNTCBTY2hlbWFzIGRhdGF0eXBlCisgICAtIFNldmVyYWwgYnVnIGZpeGVzIGluIHRoZSBVUkkgaGFuZGxpbmcgbGF5ZXIKKyAgIC0gQnVnIGZpeGVzOiBIVE1MIHBhcnNlciwgeG1sUmVhZGVyLCBEVEQgdmFsaWRhdGlvbiwgWFBhdGgsIGVuY29kaW5nCisgICAgY29udmVyc2lvbiwgbGluZSBjb3VudGluZyBpbiB0aGUgcGFyc2VyLgorICAgLSBBZGRlZCBzdXBwb3J0IGZvciAkWE1MTElOVF9JTkRFTlQgZW52aXJvbm1lbnQgdmFyaWFibGUsIEZUUCBkZWxldGUKKyAgIC0gRml4ZWQgdGhlIFJQTSBzcGVjIGZpbGUgbmFtZQorCisKKzIuNS40OiBGZWIgMjAgMjAwMzoKKyAgIC0gQ29uZm9ybWFuY2UgdGVzdGluZyBhbmQgbG90IG9mIGZpeGVzIG9uIFJlbGF4IE5HIGFuZCBYSW5jbHVkZQorICAgIGltcGxlbWVudGF0aW9uCisgICAtIEltcGxlbWVudGF0aW9uIG9mIFhQb2ludGVyIGVsZW1lbnQoKSBzY2hlbWUKKyAgIC0gQnVnIGZpeGVzOiBYTUwgcGFyc2VyLCBYSW5jbHVkZSBlbnRpdGllcyBtZXJnZSwgdmFsaWRpdHkgY2hlY2tpbmcgb24KKyAgICBuYW1lc3BhY2VzLAorICAgIDIgc2VyaWFsaXphdGlvbiBidWdzLCBub2RlIGluZm8gZ2VuZXJhdGlvbiBwcm9ibGVtcywgYSBEVEQgcmVnZXhwCisgICAgZ2VuZXJhdGlvbiBwcm9ibGVtLgorICAKKyAgIC0gUG9ydGFiaWxpdHk6IHdpbmRvd3MgdXBkYXRlcyBhbmQgcGF0aCBjYW5vbmljYWxpemF0aW9uIChJZ29yKQorICAgLSBBIGZldyB0eXBvIGZpeGVzIChLamFydGFuIE1hcmFhcykKKyAgIC0gUHl0aG9uIGJpbmRpbmdzIGdlbmVyYXRvciBmaXhlcyAoU3RlcGhhbmUgQmlkb3VsKQorCisKKzIuNS4zOiBGZWIgMTAgMjAwMzoKKyAgIC0gUmVsYXhORyBhbmQgWE1MIFNjaGVtYXMgZGF0YXR5cGVzIGltcHJvdmVtZW50cywgYW5kIGFkZGVkIGEgZmlyc3QKKyAgICB2ZXJzaW9uIG9mIFJlbGF4TkcgUHl0aG9uIGJpbmRpbmdzCisgICAtIEZpeGVzOiBYTGluayAoU2VhbiBDaGl0dGVuZGVuKSwgWEluY2x1ZGUgKFNlYW4gQ2hpdHRlbmRlbiksIEFQSSBmaXggZm9yCisgICAgc2VyaWFsaXppbmcgbmFtZXNwYWNlIG5vZGVzLCBlbmNvZGluZyBjb252ZXJzaW9uIGJ1ZywgWEhUTUwxCisgIHNlcmlhbGl6YXRpb24KKyAgIC0gUG9ydGFiaWxpdHkgZml4ZXM6IFdpbmRvd3MgKElnb3IpLCBBTUQgNjRiaXRzIFJQTSBzcGVjIGZpbGUKKworCisyLjUuMjogRmViIDUgMjAwMzoKKyAgIC0gRmlyc3QgaW1wbGVtZW50YXRpb24gb2YgUmVsYXhORywgYWRkZWQgLS1yZWxheG5nIGZsYWcgdG8geG1sbGludAorICAgLSBTY2hlbWFzIHN1cHBvcnQgbm93IGNvbXBpbGVkIGluIGJ5IGRlZmF1bHQuCisgICAtIEJ1ZyBmaXhlczogRFREIHZhbGlkYXRpb24sIG5hbWVzcGFjZSBjaGVja2luZywgWEluY2x1ZGUgYW5kIGVudGl0aWVzLAorICAgIGRlbGVnYXRlVVJJIGluIFhNTCBDYXRhbG9ncywgSFRNTCBwYXJzZXIsIFhNTCByZWFkZXIgKFN0w4PCqXBoYW5lIEJpZG91bCksCisgICAgWFBhdGggcGFyc2VyIGFuZCBldmFsdWF0aW9uLCAgVVRGOFRvVVRGOCBzZXJpYWxpemF0aW9uLCBYTUwgcmVhZGVyIG1lbW9yeQorICAgIGNvbnN1bXB0aW9uLCBIVE1MIHBhcnNlciwgSFRNTCBzZXJpYWxpemF0aW9uIGluIHRoZSBwcmVzZW5jZSBvZgorICBuYW1lc3BhY2VzCisgICAtIGFkZGVkIGFuIEhUTUwgQVBJIHRvIGNoZWNrIGVsZW1lbnRzIGFuZCBhdHRyaWJ1dGVzLgorICAgLSBEb2N1bWVudGF0aW9uIGltcHJvdmVtZW50LCBQREYgZm9yIHRoZSB0dXRvcmlhbCAoSm9obiBGbGVjayksIGRvYworICAgIHBhdGNoZXMgKFN0ZWZhbiBLb3N0KQorICAgLSBQb3J0YWJpbGl0eSBmaXhlczogTmV0QlNEIChKdWxpbyBNZXJpbm8pLCBXaW5kb3dzIChJZ29yIFpsYXRrb3ZpYykKKyAgIC0gQWRkZWQgcHl0aG9uIGJpbmRpbmdzIGZvciBYUG9pbnRlciwgY29udGV4dHVhbCBlcnJvciByZXBvcnRpbmcKKyAgICAoU3TDg8KpcGhhbmUgQmlkb3VsKQorICAgLSBVUkkvZmlsZSBlc2NhcGluZyBwcm9ibGVtcyAoU3RlZmFubyBaYWNjaGlyb2xpKQorCisKKzIuNS4xOiBKYW4gOCAyMDAzOgorICAgLSBGaXhlcyBhIG1lbW9yeSBsZWFrIGFuZCBjb25maWd1cmF0aW9uL2NvbXBpbGF0aW9uIHByb2JsZW1zIGluIDIuNS4wCisgICAtIGRvY3VtZW50YXRpb24gdXBkYXRlcyAoSm9obikKKyAgIC0gYSBjb3VwbGUgb2YgWG1sVGV4dFJlYWRlciBmaXhlcworCisKKzIuNS4wOiBKYW4gNiAyMDAzOgorICAgLSBOZXcgWG1sdGV4dFJlYWRlciBpbnRlcmZhY2UgYmFzZWQgb24gQyMKKyAgICBBUEkgKHdpdGggaGVscCBvZiBTdMODwqlwaGFuZSBCaWRvdWwpCisgICAtIFdpbmRvd3M6IG1vcmUgZXhwb3J0cywgaW5jbHVkaW5nIHRoZSBuZXcgQVBJIChJZ29yKQorICAgLSBYSW5jbHVkZSBmYWxsYmFjayBmaXgKKyAgIC0gUHl0aG9uOiBiaW5kaW5ncyBmb3IgdGhlIG5ldyBBUEksIHBhY2thZ2luZyAoU3TDg8KpcGhhbmUgQmlkb3VsKSwKKyAgICBkcnZfbGlieG1sMi5weSBQeXRob24geG1sLnNheCBkcml2ZXIgKFN0w4PCqXBoYW5lIEJpZG91bCksIGZpeGVzLCBzcGVlZHVwCisgICAgYW5kIGl0ZXJhdG9ycyBmb3IgUHl0aG9uLTIuMiAoSGFubnUgS3Jvc2luZykKKyAgIC0gVHV0b3JpYWwgZml4ZXMgKGpvaG4gRmxlY2sgYW5kIE5pcmFqIFRvbGlhKSB4bWxsaW50IG1hbiB1cGRhdGUKKyAgKEpvaG4pCisgICAtIEZpeCBhbiBYTUwgcGFyc2VyIGJ1ZyByYWlzZWQgYnkgVnlhY2hlc2xhdiBQaW5keXVyYQorICAgLSBGaXggZm9yIFZNUyBzZXJpYWxpemF0aW9uIChOaWdlbCBIYWxsKSBhbmQgY29uZmlnIChDcmFpZyBBLiBCZXJyeSkKKyAgIC0gRW50aXRpZXMgaGFuZGxpbmcgZml4ZXMKKyAgIC0gbmV3IEFQSSB0byBvcHRpb25hbGx5IHRyYWNrIG5vZGUgY3JlYXRpb24gYW5kIGRlbGV0aW9uIChMdWthcworICBTY2hyb2VkZXIpCisgICAtIEFkZGVkIGRvY3VtZW50YXRpb24gZm9yIHRoZSBYbWx0ZXh0UmVhZGVyIGludGVyZmFjZSBhbmQgc29tZSBYTUwgZ3VpZGVsaW5lcworCisKKzIuNC4zMDogRGVjIDEyIDIwMDI6CisgICAtIDIuNC4yOSBicm9rZSB0aGUgcHl0aG9uIGJpbmRpbmdzLCByZXJlbGVhc2luZworICAgLSBJbXByb3ZlbWVudC9maXhlcyBvZiB0aGUgWE1MIEFQSSBnZW5lcmF0b3IsIGFuZCBjb3VwbGUgb2YgbWlub3IgY29kZQorICAgIGZpeGVzLgorCisKKzIuNC4yOTogRGVjIDExIDIwMDI6CisgICAtIFdpbmRvd3MgZml4ZXMgKElnb3IpOiBXaW5kb3dzIENFIHBvcnQsIHB0aHJlYWQgbGlua2luZywgcHl0aG9uIGJpbmRpbmdzCisgICAgKFN0w4PCqXBoYW5lIEJpZG91bCksIE1pbmd3IChNYWdudXMgSGVub2NoKSwgYW5kIGV4cG9ydCBsaXN0IHVwZGF0ZXMKKyAgIC0gRml4IGZvciBwcmV2IGluIHB5dGhvbiBiaW5kaW5ncyAoRVJESSBHZXJnbykKKyAgIC0gRml4IGZvciBlbnRpdGllcyBoYW5kbGluZyAoTWFyY3VzIENsYXJrZSkKKyAgIC0gUmVmYWN0b3JlZCB0aGUgWE1MIGFuZCBIVE1MIGR1bXBzIHRvIGEgc2luZ2xlIGNvZGUgcGF0aCwgZml4ZWQgWEhUTUwxCisgICAgZHVtcAorICAgLSBGaXggZm9yIFVSSSBwYXJzaW5nIHdoZW4gaGFuZGxpbmcgVVJOcyB3aXRoIGZyYWdtZW50IGlkZW50aWZpZXJzCisgICAtIEZpeCBmb3IgSFRUUCBVUkwgZXNjYXBpbmcgcHJvYmxlbQorICAgLSBhZGRlZCBhbiBUZXh0WG1sUmVhZGVyIChDIykgbGlrZSBBUEkgKHdvcmsgaW4gcHJvZ3Jlc3MpCisgICAtIFJld3JvdGUgdGhlIEFQSSBpbiBYTUwgZ2VuZXJhdGlvbiBzY3JpcHQsIGluY2x1ZGVzIGEgQyBwYXJzZXIgYW5kIHNhdmVzCisgICAgbW9yZSBpbmZvcm1hdGlvbiBuZWVkZWQgZm9yIEMjIGJpbmRpbmdzCisKKworMi40LjI4OiBOb3YgMjIgMjAwMjoKKyAgIC0gYSBjb3VwbGUgb2YgcHl0aG9uIGJpbmRpbmcgZml4ZXMKKyAgIC0gMiBidWcgZml4ZXMgaW4gdGhlIFhNTCBwdXNoIHBhcnNlcgorICAgLSBwb3RlbnRpYWwgbWVtb3J5IGxlYWsgcmVtb3ZlZCAoTWFydGluIFN0b2lsb3YpCisgICAtIGZpeCB0byB0aGUgY29uZmlndXJlIHNjcmlwdCBmb3IgVW5peCAoRGltaXRyaSBQYXBhZG9wb3Vsb3MpCisgICAtIGFkZGVkIGVuY29kaW5nIHN1cHBvcnQgZm9yIFhJbmNsdWRlIHBhcnNlPSJ0ZXh0IgorICAgLSBhdXRvZGV0ZWN0aW9uIG9mIFhIVE1MMSBhbmQgc3BlY2lmaWMgc2VyaWFsaXphdGlvbiBydWxlcyBhZGRlZAorICAgLSBuYXN0eSB0aHJlYWRpbmcgYnVnIGZpeGVkIChXaWxsaWFtIEJyYWNrKQorCisKKzIuNC4yNzogTm92IDE3IDIwMDI6CisgICAtIGZpeGVzIGZvciB0aGUgUHl0aG9uIGJpbmRpbmdzCisgICAtIGEgbnVtYmVyIG9mIGJ1ZyBmaXhlczogU0dNTCBjYXRhbG9ncywgeG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5KCksCisgICAgSFRNTCBwYXJzZXIsICBTY2hlbWFzIChDaGFybGVzIEJvemVtYW4pLCBkb2N1bWVudCBmcmFnbWVudCBzdXBwb3J0CisgICAgKENocmlzdGlhbiBHbGFobiksIHhtbFJlY29uY2lsaWF0ZU5zIChCcmlhbiBTdGFmZm9yZCksIFhQb2ludGVyLAorICAgIHhtbEZyZWVOb2RlKCksIHhtbFNBWFBhcnNlTWVtb3J5IChQZXRlciBKb25lcyksIHhtbEdldE5vZGVQYXRoIChQZXRyCisgICAgUGFqYXMpLCBlbnRpdGllcyBwcm9jZXNzaW5nCisgICAtIGFkZGVkIGdyZXAgdG8geG1sbGludCAtLXNoZWxsCisgICAtIFZNUyB1cGRhdGUgcGF0Y2ggZnJvbSBDcmFpZyBBLiBCZXJyeQorICAgLSBjbGVhbnVwIG9mIHRoZSBXaW5kb3dzIGJ1aWxkIHdpdGggc3VwcG9ydCBmb3IgbW9yZSBjb21waWxlcnMgKElnb3IpLAorICAgIGJldHRlciB0aHJlYWQgc3VwcG9ydCBvbiBXaW5kb3dzCisgICAtIGNsZWFudXAgb2YgVW5peCBNYWtlZmlsZXMgYW5kIHNwZWMgZmlsZQorICAgLSBJbXByb3ZlbWVudHMgdG8gdGhlIGRvY3VtZW50YXRpb24gKEpvaG4gRmxlY2spCisKKworMi40LjI2OiBPY3QgMTggMjAwMjoKKyAgIC0gUGF0Y2hlcyBmb3IgV2luZG93cyBDRSBwb3J0LCBpbXByb3ZlbWVudHMgb24gV2luZG93cyBwYXRocyBoYW5kbGluZworICAgLSBGaXhlcyB0byB0aGUgdmFsaWRhdGlvbiAgY29kZSAoRFREIGFuZCBTY2hlbWFzKSwgeG1sTm9kZUdldFBhdGgoKSAsCisgICAgSFRNTCBzZXJpYWxpemF0aW9uLCBOYW1lc3BhY2UgY29tcGxpYW5jZSwgIGFuZCBhIG51bWJlciBvZiBzbWFsbAorICBwcm9ibGVtcworCisKKzIuNC4yNTogU2VwIDI2IDIwMDI6CisgICAtIEEgbnVtYmVyIG9mIGJ1ZyBmaXhlczogWFBhdGgsIHZhbGlkYXRpb24sIFB5dGhvbiBiaW5kaW5ncywgRE9NIGFuZAorICAgIHRyZWUsIHhtbEkvTywgIEh0bWwKKyAgIC0gU2VyaW91cyByZXdyaXRlIG9mIFhJbmNsdWRlCisgICAtIE1hZGUgWE1MIFNjaGVtYXMgcmVnZXhwIHBhcnQgb2YgdGhlIGRlZmF1bHQgYnVpbGQgYW5kIEFQSXMsIHNtYWxsIGZpeAorICAgIGFuZCBpbXByb3ZlbWVudCBvZiB0aGUgcmVnZXhwIGNvcmUKKyAgIC0gQ2hhbmdlZCB0aGUgdmFsaWRhdGlvbiBjb2RlIHRvIHJldXNlIFhNTCBTY2hlbWFzIHJlZ2V4cCBBUElzCisgICAtIEJldHRlciBoYW5kbGluZyBvZiBXaW5kb3dzIGZpbGUgcGF0aHMsIGltcHJvdmVtZW50IG9mIE1ha2VmaWxlcyAoSWdvciwKKyAgICBEYW5pZWwgR2VocmlnZXIsIE1hcmsgVmFrb2MpCisgICAtIEltcHJvdmVkIHRoZSBweXRob24gSS9PIGJpbmRpbmdzLCB0aGUgdGVzdHMsIGFkZGVkIHJlc29sdmVyIGFuZCByZWdleHAKKyAgICBBUElzCisgICAtIE5ldyBsb2dvcyBmcm9tIE1hcmMgTGl5YW5hZ2UKKyAgIC0gVHV0b3JpYWwgaW1wcm92ZW1lbnRzOiBKb2huIEZsZWNrLCBDaHJpc3RvcGhlciBIYXJyaXMKKyAgIC0gTWFrZWZpbGU6IEZpeGVzIGZvciBBTUQgeDg2XzY0IChNYW5kcmFrZSksIERFU1RESVIgKENocmlzdG9waGUKKyAgTWVybGV0KQorICAgLSByZW1vdmFsIG9mIGFsbCBzdGRlcnIvcGVycm9yIHVzZSBmb3IgZXJyb3IgcmVwb3J0aW5nCisgICAtIEJldHRlciBlcnJvciByZXBvcnRpbmc6IFhQYXRoIGFuZCBEVEQgdmFsaWRhdGlvbgorICAgLSB1cGRhdGUgb2YgdGhlIHRyaW8gcG9ydGFiaWxpdHkgbGF5ZXIgKEJqb3JuIFJlZXNlKQorCisyLjQuMjQ6IEF1ZyAyMiAyMDAyICAgLSBYUGF0aCBmaXhlcyAoV2lsbGlhbSksIHhmOmVzY2FwZS11cmkoKSAoV2VzbGV5IFRlcnBzdHJhKQorICAgLSBQeXRob24gYmluZGluZyBmaXhlczogbWFrZWZpbGVzIChXaWxsaWFtKSwgZ2VuZXJhdG9yLCBycG0gYnVpbGQsIHg4Ni02NAorICAgIChmY3JvemF0KQorICAgLSBIVE1MIDxzdHlsZT4gYW5kIGJvb2xlYW4gYXR0cmlidXRlcyBzZXJpYWxpemVyIGZpeGVzCisgICAtIEMxNE4gaW1wcm92ZW1lbnRzIGJ5IEFsZWtzZXkKKyAgIC0gZG9jIGNsZWFudXBzOiBSaWNrIEpvbmVzCisgICAtIFdpbmRvd3MgY29tcGlsZXIgbWFrZWZpbGUgdXBkYXRlczogSWdvciBhbmQgRWxpemFiZXRoIEJhcmhhbQorICAgLSBYSW5jbHVkZTogaW1wbGVtZW50YXRpb24gb2YgZmFsbGJhY2sgYW5kIHhtbDpiYXNlIGZpeHVwIGFkZGVkCisKKworMi40LjIzOiBKdWx5IDYgMjAwMjoKKyAgIC0gcGVyZm9ybWFuY2VzIHBhdGNoZXM6IFBldGVyIEphY29iaQorICAgLSBjMTRuIGZpeGVzLCB0ZXN0c3VpdGUgYW5kIHBlcmZvcm1hbmNlczogQWxla3NleSBTYW5pbgorICAgLSBhZGRlZCB4bWxEb2NGb3JtYXREdW1wOiBDaGVtYSBDZWxvcmlvCisgICAtIG5ldyB0dXRvcmlhbDogSm9obiBGbGVjaworICAgLSBuZXcgaGFzaCBmdW5jdGlvbnMgYW5kIHBlcmZvcm1hbmNlczogU2FuZGVyIFZlc2lrLCBwb3J0YWJpbGl0eSBmaXggZnJvbQorICAgIFBldGVyIEphY29iaQorICAgLSBhIG51bWJlciBvZiBidWcgZml4ZXM6IFhQYXRoIChXaWxsaWFtIEJyYWNrLCBSaWNoYXJkIEppbmtzKSwgWE1MIGFuZAorICAgIEhUTUwgcGFyc2VycywgSUQgbG9va3VwIGZ1bmN0aW9uCisgICAtIHJlbW92YWwgb2YgYWxsIHJlbWFpbmluZyBzcHJpbnRmOiBBbGVrc2V5IFNhbmluCisKKworMi40LjIyOiBNYXkgMjcgMjAwMjoKKyAgIC0gYSBudW1iZXIgb2YgYnVnIGZpeGVzOiBjb25maWd1cmUgc2NyaXB0cywgYmFzZSBoYW5kbGluZywgcGFyc2VyLCBtZW1vcnkKKyAgICB1c2FnZSwgSFRNTCBwYXJzZXIsIFhQYXRoLCBkb2N1bWVudGF0aW9uIChDaHJpc3RpYW4gQ29ybmVsc3NlbiksCisgICAgaW5kZW50YXRpb24sIFVSSSBwYXJzaW5nCisgICAtIE9wdGltaXphdGlvbnMgZm9yIFhNTFNlYywgZml4aW5nIGFuZCBtYWtpbmcgcHVibGljIHNvbWUgb2YgdGhlIG5ldHdvcmsKKyAgICBwcm90b2NvbCBoYW5kbGVycyAoQWxla3NleSkKKyAgIC0gcGVyZm9ybWFuY2UgcGF0Y2ggZnJvbSBHYXJ5IFBlbm5pbmd0b24KKyAgIC0gQ2hhcmxlcyBCb3plbWFuIHByb3ZpZGVkIGRhdGUgYW5kIHRpbWUgc3VwcG9ydCBmb3IgWE1MIFNjaGVtYXMKKyAgZGF0YXR5cGVzCisKKworMi40LjIxOiBBcHIgMjkgMjAwMjoKK1RoaXMgcmVsZWFzZSBpcyBib3RoIGEgYnVnIGZpeCByZWxlYXNlIGFuZCBhbHNvIGNvbnRhaW5zIHRoZSBlYXJseSBYTUwKK1NjaGVtYXMgc3RydWN0dXJlcyBhdCAKK2h0dHA6Ly93d3cudzMub3JnL1RSL3htbHNjaGVtYS0xLworIGFuZCBkYXRhdHlwZXMgYXQgCitodHRwOi8vd3d3LnczLm9yZy9UUi94bWxzY2hlbWEtMi8KKyBjb2RlLCBiZXdhcmUsIGFsbAoraW50ZXJmYWNlcyBhcmUgbGlrZWx5IHRvIGNoYW5nZSwgdGhlcmUgaXMgaHVnZSBob2xlcywgaXQgaXMgY2xlYXJseSBhIHdvcmsgaW4KK3Byb2dyZXNzIGFuZCBkb24ndCBldmVuIHRoaW5rIG9mIHB1dHRpbmcgdGhpcyBjb2RlIGluIGEgcHJvZHVjdGlvbiBzeXN0ZW0sCitpdCdzIGFjdHVhbGx5IG5vdCBjb21waWxlZCBpbiBieSBkZWZhdWx0LiBUaGUgcmVhbCBmaXhlcyBhcmU6CisgICAtIGEgY291cGxlIG9mIGJ1Z3Mgb3IgbGltaXRhdGlvbnMgaW50cm9kdWNlZCBpbiAyLjQuMjAKKyAgIC0gcGF0Y2hlcyBmb3IgQm9ybGFuZCBDKysgYW5kIE1TQyBieSBJZ29yCisgICAtIHNvbWUgZml4ZXMgb24gWFBhdGggc3RyaW5ncyBhbmQgY29uZm9ybWFuY2UgcGF0Y2hlcyBieSBSaWNoYXJkCisgIEppbmtzCisgICAtIHBhdGNoIGZyb20gQWxla3NleSBmb3IgdGhlIEV4Y0MxNE4gc3BlY2lmaWNhdGlvbgorICAgLSBPU0YvMSBidWcgZml4IGJ5IEJqb3JuCisKKworMi40LjIwOiBBcHIgMTUgMjAwMjoKKyAgIC0gYnVnIGZpeGVzOiBmaWxlIGRlc2NyaXB0b3IgbGVhaywgWFBhdGgsIEhUTUwgb3V0cHV0LCBEVEQgdmFsaWRhdGlvbgorICAgLSBYUGF0aCBjb25mb3JtYW5jZSB0ZXN0aW5nIGJ5IFJpY2hhcmQgSmlua3MKKyAgIC0gUG9ydGFiaWxpdHkgZml4ZXM6IFNvbGFyaXMsIE1QRS9pWCwgV2luZG93cywgT1NGLzEsIHB5dGhvbiBiaW5kaW5ncywKKyAgICBsaWJ4bWwubTQKKworCisyLjQuMTk6IE1hciAyNSAyMDAyOgorICAgLSBidWcgZml4ZXM6IGhhbGYgYSBkb3plbiBYUGF0aCBidWdzLCBWYWxpZGF0aW9uLCBJU08tTGF0aW4gdG8gVVRGOAorICAgIGVuY29kZXIKKyAgIC0gcG9ydGFiaWxpdHkgZml4ZXMgaW4gdGhlIEhUVFAgY29kZQorICAgLSBtZW1vcnkgYWxsb2NhdGlvbiBjaGVja3MgdXNpbmcgdmFsZ3JpbmQsIGFuZCBwcm9maWxpbmcgdGVzdHMKKyAgIC0gcmV2YW1wIG9mIHRoZSBXaW5kb3dzIGJ1aWxkIGFuZCBNYWtlZmlsZXMKKworCisyLjQuMTg6IE1hciAxOCAyMDAyOgorICAgLSBidWcgZml4ZXM6IHRyZWUsIFNBWCwgY2Fub25pY2FsaXphdGlvbiwgdmFsaWRhdGlvbiwgcG9ydGFiaWxpdHksCisgIFhQYXRoCisgICAtIHJlbW92ZWQgdGhlIC0td2l0aC1idWZmZXIgb3B0aW9uIGl0IHdhcyBiZWNvbWluZyB1bm1haW50YWluYWJsZQorICAgLSBzZXJpb3VzIGNsZWFudXAgb2YgdGhlIFB5dGhvbiBtYWtlZmlsZXMKKyAgIC0gc3BlZWR1cCBwYXRjaCB0byBYUGF0aCB2ZXJ5IGVmZmVjdGl2ZSBmb3IgRG9jQm9vayBzdHlsZXNoZWV0cworICAgLSBGaXhlcyBmb3IgV2luZG93cyBidWlsZCwgY2xlYW51cCBvZiB0aGUgZG9jdW1lbnRhdGlvbgorCisKKzIuNC4xNzogTWFyIDggMjAwMjoKKyAgIC0gYSBsb3Qgb2YgYnVnIGZpeGVzLCBpbmNsdWRpbmcgIm5hbWVzcGFjZSBub2RlcyBoYXZlIG5vIHBhcmVudHMgaW4KKyAgWFBhdGgiCisgICAtIGZpeGVkL2ltcHJvdmVkIHRoZSBQeXRob24gd3JhcHBlcnMsIGFkZGVkIG1vcmUgZXhhbXBsZXMgYW5kIG1vcmUKKyAgICByZWdyZXNzaW9uIHRlc3RzLCBYUGF0aCBleHRlbnNpb24gZnVuY3Rpb25zIGNhbiBub3cgcmV0dXJuIG5vZGUtc2V0cworICAgLSBhZGRlZCB0aGUgWE1MIENhbm9uaWNhbGl6YXRpb24gc3VwcG9ydCBmcm9tIEFsZWtzZXkgU2FuaW4KKworCisyLjQuMTY6IEZlYiAyMCAyMDAyOgorICAgLSBhIGxvdCBvZiBidWcgZml4ZXMsIG1vc3Qgb2YgdGhlbSB3ZXJlIHRyaWdnZXJlZCBieSB0aGUgWE1MIFRlc3RzdWl0ZQorICAgIGZyb20gT0FTSVMgYW5kIFczQy4gQ29tcGxpYW5jZSBoYXMgYmVlbiBzaWduaWZpY2FudGx5IGltcHJvdmVkLgorICAgLSBhIGNvdXBsZSBvZiBwb3J0YWJpbGl0eSBmaXhlcyB0b28uCisKKworMi40LjE1OiBGZWIgMTEgMjAwMjoKKyAgIC0gRml4ZWQgdGhlIE1ha2VmaWxlcywgZXNwZWNpYWxseSB0aGUgcHl0aG9uIG1vZHVsZSBvbmVzCisgICAtIEEgZmV3IGJ1ZyBmaXhlcyBhbmQgY2xlYW51cAorICAgLSBJbmNsdWRlcyBjbGVhbnVwCisKKworMi40LjE0OiBGZWIgOCAyMDAyOgorICAgLSBDaGFuZ2Ugb2YgTGljZW5zZSB0byB0aGUgTUlUCisgICAgTGljZW5zZSBiYXNpY2FsbHkgZm9yIGludGVncmF0aW9uIGluIFhGcmVlODYgY29kZWJhc2UsIGFuZCByZW1vdmluZworICAgIGNvbmZ1c2lvbiBhcm91bmQgdGhlIHByZXZpb3VzIGR1YWwtbGljZW5zaW5nCisgICAtIGFkZGVkIFB5dGhvbiBiaW5kaW5ncywgYmV0YSBzb2Z0d2FyZSBidXQgc2hvdWxkIGFscmVhZHkgYmUgcXVpdGUKKyAgICBjb21wbGV0ZQorICAgLSBhIGxhcmdlIG51bWJlciBvZiBmaXhlcyBhbmQgY2xlYW51cHMsIGVzcGVjaWFsbHkgZm9yIGFsbCB0cmVlCisgICAgbWFuaXB1bGF0aW9ucworICAgLSBjbGVhbnVwIG9mIHRoZSBoZWFkZXJzLCBnZW5lcmF0aW9uIG9mIGEgcmVmZXJlbmNlIEFQSSBkZWZpbml0aW9uIGluCisgIFhNTAorCisKKzIuNC4xMzogSmFuIDE0IDIwMDI6CisgICAtIHVwZGF0ZSBvZiB0aGUgZG9jdW1lbnRhdGlvbjogSm9obiBGbGVjayBhbmQgQ2hhcmxpZSBCb3plbWFuCisgICAtIGNsZWFudXAgb2YgdGltaW5nIGNvZGUgZnJvbSBKdXN0aW4gRmxldGNoZXIKKyAgIC0gZml4ZXMgZm9yIFdpbmRvd3MgYW5kIGluaXRpYWwgdGhyZWFkIHN1cHBvcnQgb24gV2luMzI6IElnb3IgYW5kIFNlcmd1ZWkKKyAgICBOYXJvam55aQorICAgLSBDeWd3aW4gcGF0Y2ggZnJvbSBSb2JlcnQgQ29sbGlucworICAgLSBhZGRlZCB4bWxTZXRFbnRpdHlSZWZlcmVuY2VGdW5jKCkgZm9yIEtlaXRoIElzZGFsZSB3b3JrIG9uIHhzbGRiZworCisKKzIuNC4xMjogRGVjIDcgMjAwMToKKyAgIC0gYSBmZXcgYnVnIGZpeGVzOiB0aHJlYWQgKEdhcnkgUGVubmluZ3RvbiksIHhtbGxpbnQgKEdlZXJ0IEtsb29zdGVybWFuKSwKKyAgICBYTUwgcGFyc2VyIChSb2JpbiBCZXJqb24pLCBYUG9pbnRlciAoRGFubnkgSmFtc2h5KSwgSS9PIGNsZWFudXBzCisgIChyb2JlcnQpCisgICAtIEVyaWMgTGF2aWduZSBjb250cmlidXRlZCBwcm9qZWN0IGZpbGVzIGZvciBNYWNPUworICAgLSBzb21lIG1ha2VmaWxlcyBjbGVhbnVwcworCisKKzIuNC4xMTogTm92IDI2IDIwMDE6CisgICAtIGZpeGVkIGEgY291cGxlIG9mIGVycm9ycyBpbiB0aGUgaW5jbHVkZXMsIGZpeGVkIGEgZmV3IGJ1Z3MsIHNvbWUgY29kZQorICAgIGNsZWFudXBzCisgICAtIHhtbGxpbnQgbWFuIHBhZ2VzIGltcHJvdmVtZW50IGJ5IEhlaWtvIFJ1cHAKKyAgIC0gdXBkYXRlZCBWTVMgYnVpbGQgaW5zdHJ1Y3Rpb25zIGZyb20gSm9obiBBIEZvdGhlcmluZ2hhbQorICAgLSBXaW5kb3dzIE1ha2VmaWxlcyB1cGRhdGVzIGZyb20gSWdvcgorCisKKzIuNC4xMDogTm92IDEwIDIwMDE6CisgICAtIFVSSSBlc2NhcGluZyBmaXggKEpvZWwgWW91bmcpCisgICAtIGFkZGVkIHhtbEdldE5vZGVQYXRoKCkgKGZvciBwYXRocyBvciBYUG9pbnRlcnMgZ2VuZXJhdGlvbikKKyAgIC0gRml4ZXMgbmFtZXNwYWNlIGhhbmRsaW5nIHByb2JsZW1zIHdoZW4gdXNpbmcgRFREIGFuZCB2YWxpZGF0aW9uCisgICAtIGltcHJvdmVtZW50cyBvbiB4bWxsaW50OiBNb3J1cyBXYWx0ZXIgcGF0Y2hlcyBmb3IgLS1mb3JtYXQgYW5kCisgICAgLS1lbmNvZGUsIFN0ZWZhbiBLb3N0IGFuZCBIZWlrbyBSdXBwIGltcHJvdmVtZW50cyBvbiB0aGUgLS1zaGVsbAorICAgLSBmaXhlcyBmb3IgeG1sY2F0YWxvZyBsaW5raW5nIHBvaW50ZWQgYnkgV2VpcWkgR2FvCisgICAtIGZpeGVzIHRvIHRoZSBIVE1MIHBhcnNlcgorCisKKzIuNC45OiBOb3YgNiAyMDAxOgorICAgLSBmaXhlcyBtb3JlIGNhdGFsb2cgYnVncworICAgLSBhdm9pZCBhIGNvbXBpbGF0aW9uIHByb2JsZW0sIGltcHJvdmUgeG1sR2V0TGluZU5vKCkKKworCisyLjQuODogTm92IDQgMjAwMToKKyAgIC0gZml4ZWQgU0dNTCBjYXRhbG9ncyBicm9rZW4gaW4gcHJldmlvdXMgcmVsZWFzZSwgdXBkYXRlZCB4bWxjYXRhbG9nCisgIHRvb2wKKyAgIC0gZml4ZWQgYSBjb21waWxlIGVycm9ycyBhbmQgc29tZSBpbmNsdWRlcyB0cm91Ymxlcy4KKworCisyLjQuNzogT2N0IDMwIDIwMDE6CisgICAtIGV4cG9ydGVkIHNvbWUgZGVidWdnaW5nIGludGVyZmFjZXMKKyAgIC0gc2VyaW91cyByZXdyaXRlIG9mIHRoZSBjYXRhbG9nIGNvZGUKKyAgIC0gaW50ZWdyYXRlZCBHYXJ5IFBlbm5pbmd0b24gdGhyZWFkIHNhZmV0eSBwYXRjaCwgYWRkZWQgY29uZmlndXJlIG9wdGlvbgorICAgIGFuZCByZWdyZXNzaW9uIHRlc3RzCisgICAtIHJlbW92ZWQgYW4gSFRNTCBwYXJzZXIgYnVnCisgICAtIGZpeGVkIGEgY291cGxlIG9mIHBvdGVudGlhbGx5IHNlcmlvdXMgdmFsaWRhdGlvbiBidWdzCisgICAtIGludGVncmF0ZWQgdGhlIFNHTUwgRG9jQm9vayBzdXBwb3J0IGluIHhtbGxpbnQKKyAgIC0gY2hhbmdlZCB0aGUgbmFub2Z0cCBhbm9ueW1vdXMgbG9naW4gcGFzc3dkCisgICAtIHNvbWUgSS9PIGNsZWFudXAgYW5kIGEgY291cGxlIG9mIGludGVyZmFjZXMgZm9yIFBlcmwgd3JhcHBlcgorICAgLSBnZW5lcmFsIGJ1ZyBmaXhlcworICAgLSB1cGRhdGVkIHhtbGxpbnQgbWFuIHBhZ2UgYnkgSm9obiBGbGVjaworICAgLSBzb21lIFZNUyBhbmQgV2luZG93cyB1cGRhdGVzCisKKworMi40LjY6IE9jdCAxMCAyMDAxOgorICAgLSBhZGRlZCBhbiB1cGRhdGVkIG1hbiBwYWdlcyBieSBKb2huIEZsZWNrCisgICAtIHBvcnRhYmlsaXR5IGFuZCBjb25maWd1cmUgZml4ZXMKKyAgIC0gYW4gaW5maW5pdGUgbG9vcCBvbiB0aGUgSFRNTCBwYXJzZXIgd2FzIHJlbW92ZWQgKFdpbGxpYW0pCisgICAtIFdpbmRvd3MgbWFrZWZpbGUgcGF0Y2hlcyBmcm9tIElnb3IKKyAgIC0gZml4ZWQgaGFsZiBhIGRvemVuIGJ1Z3MgcmVwb3J0ZWQgZm9yIGxpYnhtbCBvciBsaWJ4c2x0CisgICAtIHVwZGF0ZWQgeG1sY2F0YWxvZyB0byBiZSBhYmxlIHRvIG1vZGlmeSBTR01MIHN1cGVyIGNhdGFsb2dzCisKKworMi40LjU6IFNlcCAxNCAyMDAxOgorICAgLSBSZW1vdmUgYSBmZXcgYW5ub3lpbmcgYnVncyBpbiAyLjQuNAorICAgLSBmb3JjZXMgdGhlIEhUTUwgc2VyaWFsaXplciB0byBvdXRwdXQgZGVjaW1hbCBjaGFycmVmcyBzaW5jZSBzb21lCisgICAgdmVyc2lvbiBvZiBOZXRzY2FwZSBjYW4ndCBoYW5kbGUgaGV4YWRlY2ltYWwgb25lcworCisKKzEuOC4xNjogU2VwIDE0IDIwMDE6CisgICAtIG1haW50ZW5hbmNlIHJlbGVhc2Ugb2YgdGhlIG9sZCBsaWJ4bWwxIGJyYW5jaCwgY291cGxlIG9mIGJ1ZyBhbmQKKyAgICBwb3J0YWJpbGl0eSBmaXhlcworCisKKzIuNC40OiBTZXAgMTIgMjAwMToKKyAgIC0gYWRkZWQgLS1jb252ZXJ0IHRvIHhtbGNhdGFsb2csIGJ1ZyBmaXhlcyBhbmQgY2xlYW51cHMgb2YgWE1MCisgIENhdGFsb2cKKyAgIC0gYSBmZXcgYnVnIGZpeGVzIGFuZCBzb21lIHBvcnRhYmlsaXR5IGNoYW5nZXMKKyAgIC0gc29tZSBkb2N1bWVudGF0aW9uIGNsZWFudXBzCisKKworMi40LjM6ICBBdWcgMjMgMjAwMToKKyAgIC0gWE1MIENhdGFsb2cgc3VwcG9ydCBzZWUgdGhlIGRvYworICAgLSBOZXcgTmFOL0luZmluaXR5IGZsb2F0aW5nIHBvaW50IGNvZGUKKyAgIC0gQSBmZXcgYnVnIGZpeGVzCisKKworMi40LjI6ICBBdWcgMTUgMjAwMToKKyAgIC0gYWRkcyB4bWxMaW5lTnVtYmVyc0RlZmF1bHQoKSB0byBjb250cm9sIGxpbmUgbnVtYmVyIGdlbmVyYXRpb24KKyAgIC0gbG90IG9mIGJ1ZyBmaXhlcworICAgLSB0aGUgTWljcm9zb2Z0IE1TQyBwcm9qZWN0cyBmaWxlcyBzaG91bGQgbm93IGJlIHVwIHRvIGRhdGUKKyAgIC0gaW5oZXJpdGFuY2Ugb2YgbmFtZXNwYWNlcyBmcm9tIERURCBkZWZhdWx0ZWQgYXR0cmlidXRlcworICAgLSBmaXhlcyBhIHNlcmlvdXMgcG90ZW50aWFsIHNlY3VyaXR5IGJ1ZworICAgLSBhZGRlZCBhIC0tZm9ybWF0IG9wdGlvbiB0byB4bWxsaW50CisKKworMi40LjE6ICBKdWx5IDI0IDIwMDE6CisgICAtIHBvc3NpYmlsaXR5IHRvIGtlZXAgbGluZSBudW1iZXJzIGluIHRoZSB0cmVlCisgICAtIHNvbWUgY29tcHV0YXRpb24gTmFOIGZpeGVzCisgICAtIGV4dGVuc2lvbiBvZiB0aGUgWFBhdGggQVBJCisgICAtIGNsZWFudXAgZm9yIGFscGhhIGFuZCBpYTY0IHRhcmdldHMKKyAgIC0gcGF0Y2ggdG8gYWxsb3cgc2F2aW5nIHRocm91Z2ggSFRUUCBQVVQgb3IgUE9TVAorCisKKzIuNC4wOiBKdWx5IDEwIDIwMDE6CisgICAtIEZpeGVkIGEgZmV3IGJ1Z3MgaW4gWFBhdGgsIHZhbGlkYXRpb24sIGFuZCB0cmVlIGhhbmRsaW5nLgorICAgLSBGaXhlZCBYTUwgQmFzZSBpbXBsZW1lbnRhdGlvbiwgYWRkZWQgYSBjb3VwbGUgb2YgZXhhbXBsZXMgdG8gdGhlCisgICAgcmVncmVzc2lvbiB0ZXN0cworICAgLSBBIGJpdCBvZiBjbGVhbnVwCisKKworMi4zLjE0OiBKdWx5IDUgMjAwMToKKyAgIC0gZml4ZWQgc29tZSBlbnRpdGllcyBwcm9ibGVtcyBhbmQgcmVkdWNlIG1lbW9yeSByZXF1aXJlbWVudCB3aGVuCisgICAgc3Vic3RpdHV0aW5nIHRoZW0KKyAgIC0gbG90cyBvZiBpbXByb3ZlbWVudHMgaW4gdGhlIFhQYXRoIHF1ZXJpZXMgaW50ZXJwcmV0ZXIgY2FuIGJlCisgICAgc3Vic3RhbnRpYWxseSBmYXN0ZXIKKyAgIC0gTWFrZWZpbGVzIGFuZCBjb25maWd1cmUgY2xlYW51cHMKKyAgIC0gRml4ZXMgdG8gWFBhdGggdmFyaWFibGUgZXZhbCwgYW5kIGNvbXBhcmUgb24gZW1wdHkgbm9kZSBzZXQKKyAgIC0gSFRNTCB0YWcgY2xvc2luZyBidWcgZml4ZWQKKyAgIC0gRml4ZWQgYW4gVVJJIHJlZmVyZW5jZSBjb21wdXRhdGlvbiBwcm9ibGVtIHdoZW4gdmFsaWRhdGluZworCisKKzIuMy4xMzogSnVuZSAyOCAyMDAxOgorICAgLSAyLjMuMTIgY29uZmlndXJlLmluIHdhcyBicm9rZW4gYXMgd2VsbCBhcyB0aGUgcHVzaCBtb2RlIFhNTCBwYXJzZXIKKyAgIC0gYSBmZXcgbW9yZSBmaXhlcyBmb3IgY29tcGlsYXRpb24gb24gV2luZG93cyBNU0MgYnkgWW9uIERlcmVrCisKKworMS44LjE0OiBKdW5lIDI4IDIwMDE6CisgICAtIFpiaWduaWV3IENoeWxhIGdhdmUgYSBwYXRjaCB0byB1c2UgdGhlIG9sZCBYTUwgcGFyc2VyIGluIHB1c2ggbW9kZQorICAgLSBTbWFsbCBNYWtlZmlsZSBmaXgKKworCisyLjMuMTI6IEp1bmUgMjYgMjAwMToKKyAgIC0gbG90cyBvZiBjbGVhbnVwCisgICAtIGEgY291cGxlIG9mIHZhbGlkYXRpb24gZml4CisgICAtIGZpeGVkIGxpbmUgbnVtYmVyIGNvdW50aW5nCisgICAtIGZpeGVkIHNlcmlvdXMgcHJvYmxlbXMgaW4gdGhlIFhJbmNsdWRlIHByb2Nlc3NpbmcKKyAgIC0gYWRkZWQgc3VwcG9ydCBmb3IgVVRGOCBCT00gYXQgYmVnaW5uaW5nIG9mIGVudGl0aWVzCisgICAtIGZpeGVkIGEgc3RyYW5nZSBnY2Mgb3B0aW1pemVyIGJ1Z3MgaW4geHBhdGggaGFuZGxpbmcgb2YgZmxvYXQsIGdjYy0zLjAKKyAgICBtaXNjb21waWxlIHVyaS5jIChXaWxsaWFtKSwgVGhvbWFzIExlaXRuZXIgcHJvdmlkZWQgYSBmaXggZm9yIHRoZQorICAgIG9wdGltaXplciBvbiBUcnU2NAorICAgLSBpbmNvcnBvcmF0ZWQgWW9uIERlcmVrIGFuZCBJZ29yIFpsYXRrb3ZpYyAgZml4ZXMgYW5kIGltcHJvdmVtZW50cyBmb3IKKyAgICBjb21waWxhdGlvbiBvbiBXaW5kb3dzIE1TQworICAgLSB1cGRhdGUgb2YgbGlieG1sLWRvYy5lbCAoRmVsaXggTmF0dGVyKQorICAgLSBmaXhlZCAyIGJ1Z3MgaW4gVVJJIG5vcm1hbGl6YXRpb24gY29kZQorCisKKzIuMy4xMTogSnVuZSAxNyAyMDAxOgorICAgLSB1cGRhdGVzIHRvIHRyaW8sIE1ha2VmaWxlcyBhbmQgY29uZmlndXJlIHNob3VsZCBmaXggc29tZSBwb3J0YWJpbGl0eQorICAgIHByb2JsZW1zIChhbHBoYSkKKyAgIC0gZml4ZWQgc29tZSBIVE1MIHNlcmlhbGl6YXRpb24gcHJvYmxlbXMgKHByZSwgc2NyaXB0LCBhbmQgYmxvY2svaW5saW5lCisgICAgaGFuZGxpbmcpLCBhZGRlZCBlbmNvZGluZyBhd2FyZSBBUElzLCBjbGVhbnVwIG9mIHRoaXMgY29kZQorICAgLSBhZGRlZCB4bWxIYXNOc1Byb3AoKQorICAgLSBpbXBsZW1lbnRlZCBhIHNwZWNpZmljIFBJIGZvciBlbmNvZGluZyBzdXBwb3J0IGluIHRoZSBEb2NCb29rIFNHTUwKKyAgICBwYXJzZXIKKyAgIC0gc29tZSBYUGF0aCBmaXhlcyAoLUluZmluaXR5LCAvIGFzIGEgZnVuY3Rpb24gcGFyYW1ldGVyIGFuZCBuYW1lc3BhY2VzCisgICAgbm9kZSBzZWxlY3Rpb24pCisgICAtIGZpeGVkIGEgcGVyZm9ybWFuY2UgcHJvYmxlbSBhbmQgYW4gZXJyb3IgaW4gdGhlIHZhbGlkYXRpb24gY29kZQorICAgLSBmaXhlZCBYSW5jbHVkZSByb3V0aW5lIHRvIGltcGxlbWVudCB0aGUgcmVjdXJzaXZlIGJlaGF2aW91cgorICAgLSBmaXhlZCB4bWxGcmVlTm9kZSBwcm9ibGVtIHdoZW4gbGlieG1sIGlzIGluY2x1ZGVkIHN0YXRpY2FsbHkgdHdpY2UKKyAgIC0gYWRkZWQgLS12ZXJzaW9uIHRvIHhtbGxpbnQgZm9yIGJ1ZyByZXBvcnRzCisKKworMi4zLjEwOiBKdW5lIDEgMjAwMToKKyAgIC0gZml4ZWQgdGhlIFNHTUwgY2F0YWxvZyBzdXBwb3J0CisgICAtIGEgbnVtYmVyIG9mIHJlcG9ydGVkIGJ1Z3MgZ290IGZpeGVkLCBpbiBYUGF0aCwgaWNvbnYgZGV0ZWN0aW9uLAorICAgIFhJbmNsdWRlIHByb2Nlc3NpbmcKKyAgIC0gWFBhdGggc3RyaW5nIGZ1bmN0aW9uIHNob3VsZCBub3cgaGFuZGxlIHVuaWNvZGUgY29ycmVjdGx5CisKKworMi4zLjk6IE1heSAxOSAyMDAxOgorTG90cyBvZiBidWdmaXhlcywgYW5kIGFkZGVkIGEgYmFzaWMgU0dNTCBjYXRhbG9nIHN1cHBvcnQ6CisgICAtIEhUTUwgcHVzaCBidWdmaXggIzU0ODkxIGFuZCBhbm90aGVyIHBhdGNoIGZyb20gSm9uYXMgQm9yZ3N0cm9tCisgICAtIHNvbWUgc2VyaW91cyBzcGVlZCBvcHRpbWl6YXRpb24gYWdhaW4KKyAgIC0gc29tZSBkb2N1bWVudGF0aW9uIGNsZWFudXBzCisgICAtIHRyeWluZyB0byBnZXQgYmV0dGVyIGxpbmtpbmcgb24gU29sYXJpcyAoLVIpCisgICAtIFhQYXRoIEFQSSBjbGVhbnVwIGZyb20gVGhvbWFzIEJyb3llcgorICAgLSBWYWxpZGF0aW9uIGJ1ZyBmaXhlZCAjNTQ2MzEsIGFkZGVkIGEgcGF0Y2ggZnJvbSBHYXJ5IFBlbm5pbmd0b24sIGZpeGVkCisgICAgeG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzKCkKKyAgIC0gQWRkZWQgYW4gSU5TVEFMTCBmaWxlCisgICAtIEF0dHJpYnV0ZSByZW1vdmFsIGFkZGVkIHRvIEFQSTogIzU0NDMzCisgICAtIGFkZGVkIGEgYmFzaWMgc3VwcG9ydCBmb3IgU0dNTCBjYXRhbG9ncworICAgLSBmaXhlZCB4bWxLZWVwQmxhbmtzRGVmYXVsdCgwKSBBUEkKKyAgIC0gYnVnZml4IGluIHhtbE5vZGVHZXRMYW5nKCkKKyAgIC0gZml4ZWQgYSBzbWFsbCBjb25maWd1cmUgcG9ydGFiaWxpdHkgcHJvYmxlbQorICAgLSBmaXhlZCBhbiBpbnZlcnNpb24gb2YgU1lTVEVNIGFuZCBQVUJMSUMgaWRlbnRpZmllciBpbiBIVE1MIGRvY3VtZW50CisKKworMS44LjEzOiBNYXkgMTQgMjAwMToKKyAgIC0gYnVnZml4ZXMgcmVsZWFzZSBvZiB0aGUgb2xkIGxpYnhtbDEgYnJhbmNoIHVzZWQgYnkgR25vbWUKKworCisyLjMuODogTWF5IDMgMjAwMToKKyAgIC0gSW50ZWdyYXRlZCBhbiBTR01MIERvY0Jvb2sgcGFyc2VyIGZvciB0aGUgR25vbWUgcHJvamVjdAorICAgLSBGaXhlZCBhIGZldyB0aGluZ3MgaW4gdGhlIEhUTUwgcGFyc2VyCisgICAtIEZpeGVkIHNvbWUgWFBhdGggYnVncyByYWlzZWQgYnkgWFNMVCB1c2UsIHRyaWVkIHRvIGZpeCB0aGUgZmxvYXRpbmcKKyAgICBwb2ludCBwb3J0YWJpbGl0eSBpc3N1ZQorICAgLSBTcGVlZCBpbXByb3ZlbWVudCAoOE0vcyBmb3IgU0FYLCAzTS9zIGZvciBET00sIDEuNU0vcyBmb3IKKyAgICBET00rdmFsaWRhdGlvbiB1c2luZyB0aGUgWE1MIFJFQyBhcyBpbnB1dCBhbmQgYSA3MDBNSHogY2VsZXJvbikuCisgICAtIGluY29ycG9yYXRlZCBtb3JlIFdpbmRvd3MgY2xlYW51cAorICAgLSBhZGRlZCB4bWxTYXZlRm9ybWF0RmlsZSgpCisgICAtIGZpeGVkIHByb2JsZW1zIGluIGNvcHlpbmcgbm9kZXMgd2l0aCBlbnRpdGllcyByZWZlcmVuY2VzIChnZG9tZSkKKyAgIC0gcmVtb3ZlZCBzb21lIHRyb3VibGVzIHN1cnJvdW5kaW5nIHRoZSBuZXcgdmFsaWRhdGlvbiBtb2R1bGUKKworCisyLjMuNzogQXByaWwgMjIgMjAwMToKKyAgIC0gbG90cyBvZiBzbWFsbCBidWcgZml4ZXMsIGNvcnJlY3RlZCBYUG9pbnRlcgorICAgLSBOb24gZGV0ZXJtaW5pc3RpYyBjb250ZW50IG1vZGVsIHZhbGlkYXRpb24gc3VwcG9ydAorICAgLSBhZGRlZCB4bWxEb2NDb3B5Tm9kZSBmb3IgZ2RvbWUyCisgICAtIHJldmFtcGVkIHRoZSB3YXkgdGhlIEhUTUwgcGFyc2VyIGhhbmRsZXMgZW5kIG9mIHRhZ3MKKyAgIC0gWFBhdGg6IGNvcnJlY3Rpb25zIG9mIG5hbWVzcGFjZXMgc3VwcG9ydCBhbmQgbnVtYmVyIGZvcm1hdHRpbmcKKyAgIC0gV2luZG93czogSWdvciBabGF0a292aWMgcGF0Y2hlcyBmb3IgTVNDIGNvbXBpbGF0aW9uCisgICAtIEhUTUwgb3V0cHV0IGZpeGVzIGZyb20gUCBDIENob3cgYW5kIFdpbGxpYW0gTS4gQnJhY2sKKyAgIC0gSW1wcm92ZWQgdmFsaWRhdGlvbiBzcGVlZCBzZW5zaWJsZSBmb3IgRG9jQm9vaworICAgLSBmaXhlZCBhIGJpZyBidWcgd2l0aCBJRCBkZWNsYXJlZCBpbiBleHRlcm5hbCBwYXJzZWQgZW50aXRpZXMKKyAgIC0gcG9ydGFiaWxpdHkgZml4ZXMsIHVwZGF0ZSBvZiBUcmlvIGZyb20gQmpvcm4gUmVlc2UKKworCisyLjMuNjogQXByaWwgOCAyMDAxOgorICAgLSBDb2RlIGNsZWFudXAgdXNpbmcgZXh0cmVtZSBnY2MgY29tcGlsZXIgd2FybmluZyBvcHRpb25zLCBmb3VuZCBhbmQKKyAgICBjbGVhcmVkIGhhbGYgYSBkb3plbiBwb3RlbnRpYWwgcHJvYmxlbQorICAgLSB0aGUgRWF6ZWwgdGVhbSBmb3VuZCBhbiBYTUwgcGFyc2VyIGJ1ZworICAgLSBjbGVhbmVkIHVwIHRoZSB1c2VyIG9mIHNvbWUgb2YgdGhlIHN0cmluZyBmb3JtYXR0aW5nIGZ1bmN0aW9uLiB1c2VkIHRoZQorICAgIHRyaW8gbGlicmFyeSBjb2RlIHRvIHByb3ZpZGUgdGhlIG9uZSBuZWVkZWQgd2hlbiB0aGUgcGxhdGZvcm0gaXMgbWlzc2luZworICAgIHRoZW0KKyAgIC0geHBhdGg6IHJlbW92ZWQgYSBtZW1vcnkgbGVhayBhbmQgZml4ZWQgdGhlIHByZWRpY2F0ZSBldmFsdWF0aW9uCisgICAgcHJvYmxlbSwgZXh0ZW5kZWQgdGhlIHRlc3RzdWl0ZSBhbmQgY2xlYW5lZCB1cCB0aGUgcmVzdWx0LiBYUG9pbnRlciBzZWVtcworICAgIGJyb2tlbiAuLi4KKworCisyLjMuNTogTWFyIDIzIDIwMDE6CisgICAtIEJpZ2dlc3QgY2hhbmdlIGlzIHNlcGFyYXRlIHBhcnNpbmcgYW5kIGV2YWx1YXRpb24gb2YgWFBhdGggZXhwcmVzc2lvbnMsCisgICAgdGhlcmUgaXMgc29tZSBuZXcgQVBJcyBmb3IgdGhpcyB0b28KKyAgIC0gaW5jbHVkZWQgYSBudW1iZXIgb2YgYnVnIGZpeGVzKFhNTCBwdXNoIHBhcnNlciwgNTE4NzYsIG5vdGF0aW9ucywKKyAgNTIyOTkpCisgICAtIEZpeGVkIHNvbWUgcG9ydGFiaWxpdHkgaXNzdWVzCisKKworMi4zLjQ6IE1hciAxMCAyMDAxOgorICAgLSBGaXhlZCBidWdzICM1MTg2MCBhbmQgIzUxODYxCisgICAtIEFkZGVkIGEgZ2xvYmFsIHZhcmlhYmxlIHhtbERlZmF1bHRCdWZmZXJTaXplIHRvIGFsbG93IGRlZmF1bHQgYnVmZmVyCisgICAgc2l6ZSB0byBiZSBhcHBsaWNhdGlvbiB0dW5hYmxlLgorICAgLSBTb21lIGNsZWFudXAgaW4gdGhlIHZhbGlkYXRpb24gY29kZSwgc3RpbGwgYSBidWcgbGVmdCBhbmQgdGhpcyBwYXJ0CisgICAgc2hvdWxkIHByb2JhYmx5IGJlIHJld3JpdHRlbiB0byBzdXBwb3J0IGFtYmlndW91cyBjb250ZW50IG1vZGVsIDotXAorICAgLSBGaXggYSBjb3VwbGUgb2Ygc2VyaW91cyBidWdzIGludHJvZHVjZWQgb3IgcmFpc2VkIGJ5IGNoYW5nZXMgaW4gMi4zLjMKKyAgICBwYXJzZXIKKyAgIC0gRml4ZWQgYW5vdGhlciBidWcgaW4geG1sTm9kZUdldENvbnRlbnQoKQorICAgLSBCam9ybiBmaXhlZCBYUGF0aCBub2RlIGNvbGxlY3Rpb24gYW5kIE51bWJlciBmb3JtYXR0aW5nCisgICAtIEZpeGVkIGEgbG9vcCByZXBvcnRlZCBpbiB0aGUgSFRNTCBwYXJzaW5nCisgICAtIGJsYW5rIHNwYWNlIGFyZSByZXBvcnRlZCBldmVuIGlmIHRoZSBEdGQgY29udGVudCBtb2RlbCBwcm92ZXMgdGhhdCB0aGV5CisgICAgYXJlIGZvcm1hdHRpbmcgc3BhY2VzLCB0aGlzIGlzIGZvciBYTUwgY29uZm9ybWFuY2UKKworCisyLjMuMzogTWFyIDEgMjAwMToKKyAgIC0gc21hbGwgY2hhbmdlIGluIFhQYXRoIGZvciBYU0xUCisgICAtIGRvY3VtZW50YXRpb24gY2xlYW51cHMKKyAgIC0gZml4IGluIHZhbGlkYXRpb24gYnkgR2FyeSBQZW5uaW5ndG9uCisgICAtIHNlcmlvdXMgcGFyc2luZyBwZXJmb3JtYW5jZXMgaW1wcm92ZW1lbnRzCisKKworMi4zLjI6IEZlYiAyNCAyMDAxOgorICAgLSBjaGFzaW5nIFhQYXRoIGJ1Z3MsIGZvdW5kIGEgYnVuY2gsIGNvbXBsZXRlZCBzb21lIFRPRE8KKyAgIC0gZml4ZWQgYSBEdGQgcGFyc2luZyBidWcKKyAgIC0gZml4ZWQgYSBidWcgaW4geG1sTm9kZUdldENvbnRlbnQKKyAgIC0gSUQvSURSRUYgc3VwcG9ydCBwYXJ0bHkgcmV3cml0dGVuIGJ5IEdhcnkgUGVubmluZ3RvbgorCisKKzIuMy4xOiBGZWIgMTUgMjAwMToKKyAgIC0gc29tZSBYUGF0aCBhbmQgSFRNTCBidWcgZml4ZXMgZm9yIFhTTFQKKyAgIC0gc21hbGwgZXh0ZW5zaW9uIG9mIHRoZSBoYXNoIHRhYmxlIGludGVyZmFjZXMgZm9yIERPTSBnZG9tZTIKKyAgICBpbXBsZW1lbnRhdGlvbgorICAgLSBBIGZldyBidWcgZml4ZXMKKworCisyLjMuMDogRmViIDggMjAwMSAoMi4yLjEyIHdhcyBvbiAyNSBKYW4gYnV0IEkgZGlkbid0IGtlcHQgdHJhY2spOgorICAgLSBMb3RzIG9mIFhQYXRoIGJ1ZyBmaXhlcworICAgLSBBZGQgYSBtb2RlIHdpdGggRHRkIGxvb2t1cCBidXQgd2l0aG91dCB2YWxpZGF0aW9uIGVycm9yIHJlcG9ydGluZyBmb3IKKyAgICBYU0xUCisgICAtIEFkZCBzdXBwb3J0IGZvciB0ZXh0IG5vZGUgd2l0aG91dCBlc2NhcGluZyAoWFNMVCkKKyAgIC0gYnVnIGZpeGVzIGZvciB4bWxDaGVja0ZpbGVuYW1lCisgICAtIHZhbGlkYXRpb24gY29kZSBidWcgZml4ZXMgZnJvbSBHYXJ5IFBlbm5pbmd0b24KKyAgIC0gUGF0Y2ggZnJvbSBQYXVsIEQuIFNtaXRoIGNvcnJlY3RpbmcgVVJJIHBhdGggbm9ybWFsaXphdGlvbgorICAgLSBQYXRjaCB0byBhbGxvdyBzaW11bHRhbmVvdXMgaW5zdGFsbCBvZiBsaWJ4bWwtZGV2ZWwgYW5kCisgIGxpYnhtbDItZGV2ZWwKKyAgIC0gdGhlIGV4YW1wbGUgTWFrZWZpbGUgaXMgbm93IGZpeGVkCisgICAtIGFkZGVkIEhUTUwgdG8gdGhlIFJQTSBwYWNrYWdlcworICAgLSB0cmVlIGNvcHlpbmcgYnVnZml4ZXMKKyAgIC0gdXBkYXRlcyB0byBXaW5kb3dzIG1ha2VmaWxlcworICAgLSBvcHRpbWl6YXRpb24gcGF0Y2ggZnJvbSBCam9ybiBSZWVzZQorCisKKzIuMi4xMTogSmFuIDQgMjAwMToKKyAgIC0gYnVuY2ggb2YgYnVnIGZpeGVzIChtZW1vcnkgSS9PLCB4cGF0aCwgZnRwL2h0dHAsIC4uLikKKyAgIC0gYWRkZWQgaHRtbEhhbmRsZU9taXR0ZWRFbGVtKCkKKyAgIC0gQXBwbGllZCBCam9ybiBSZWVzZSdzIElQVjYgZmlyc3QgcGF0Y2gKKyAgIC0gQXBwbGllZCBQYXVsIEQuIFNtaXRoIHBhdGNoZXMgZm9yIHZhbGlkYXRpb24gb2YgWEluY2x1ZGUgcmVzdWx0cworICAgLSBhZGRlZCBYUG9pbnRlciB4bWxucygpIG5ldyBzY2hlbWUgc3VwcG9ydAorCisKKzIuMi4xMDogTm92IDI1IDIwMDA6CisgICAtIEZpeCB0aGUgV2luZG93cyBwcm9ibGVtcyBvZiAyLjIuOAorICAgLSBpbnRlZ3JhdGUgT3BlblZNUyBwYXRjaGVzCisgICAtIGJldHRlciBoYW5kbGluZyBvZiBzb21lIG5hc3R5IEhUTUwgaW5wdXQKKyAgIC0gSW1wcm92ZWQgdGhlIFhQb2ludGVyIGltcGxlbWVudGF0aW9uCisgICAtIGludGVncmF0ZSBhIG51bWJlciBvZiBwcm92aWRlZCBwYXRjaGVzCisKKworMi4yLjk6IE5vdiAyNSAyMDAwOgorICAgLSBlcnJvbmVvdXMgcmVsZWFzZSA6LSgKKworCisyLjIuODogTm92IDEzIDIwMDA6CisgICAtIEZpcnN0IHZlcnNpb24gb2YgWEluY2x1ZGUKKyAgICBzdXBwb3J0CisgICAtIFBhdGNoIGluIGNvbmRpdGlvbmFsIHNlY3Rpb24gaGFuZGxpbmcKKyAgIC0gdXBkYXRlZCBNUyBjb21waWxlciBwcm9qZWN0CisgICAtIGZpeGVkIHNvbWUgWFBhdGggcHJvYmxlbXMKKyAgIC0gYWRkZWQgYW4gVVJJIGVzY2FwaW5nIGZ1bmN0aW9uCisgICAtIHNvbWUgb3RoZXIgYnVnIGZpeGVzCisKKworMi4yLjc6IE9jdCAzMSAyMDAwOgorICAgLSBhZGRlZCBtZXNzYWdlIHJlZGlyZWN0aW9uCisgICAtIFhQYXRoIGltcHJvdmVtZW50cyAodGhhbmtzIFRPTSAhKQorICAgLSB4bWxJT1BhcnNlRFREKCkgYWRkZWQKKyAgIC0gdmFyaW91cyBzbWFsbCBmaXhlcyBpbiB0aGUgSFRNTCwgVVJJLCBIVFRQIGFuZCBYUG9pbnRlciBzdXBwb3J0CisgICAtIHNvbWUgY2xlYW51cCBvZiB0aGUgTWFrZWZpbGUsIGF1dG9jb25mIGFuZCB0aGUgZGlzdHJpYnV0aW9uIGNvbnRlbnQKKworCisyLjIuNjogT2N0IDI1IDIwMDA6OgorICAgLSBBZGRlZCBhbiBoYXNoIHRhYmxlIG1vZHVsZSwgbWlncmF0ZWQgYSBudW1iZXIgb2YgaW50ZXJuYWwgc3RydWN0dXJlIHRvCisgICAgdGhvc2UKKyAgIC0gRml4ZWQgYSBwb3N0ZXJpb3JpIHZhbGlkYXRpb24gcHJvYmxlbXMKKyAgIC0gSFRUUCBtb2R1bGUgY2xlYW51cHMKKyAgIC0gSFRNTCBwYXJzZXIgaW1wcm92ZW1lbnRzICh0YWcgZXJyb3JzLCBzY3JpcHQvc3R5bGUgaGFuZGxpbmcsIGF0dHJpYnV0ZQorICAgIG5vcm1hbGl6YXRpb24pCisgICAtIGNvYWxlc2Npbmcgb2YgYWRqYWNlbnQgdGV4dCBub2RlcworICAgLSBjb3VwbGUgb2YgWFBhdGggYnVnIGZpeGVzLCBleHBvcnRlZCB0aGUgaW50ZXJuYWwgQVBJCisKKworMi4yLjU6IE9jdCAxNSAyMDAwOjoKKyAgIC0gWFBvaW50ZXIgaW1wbGVtZW50YXRpb24gYW5kIHRlc3RzdWl0ZQorICAgLSBMb3Qgb2YgWFBhdGggZml4ZXMsIGFkZGVkIHZhcmlhYmxlIGFuZCBmdW5jdGlvbnMgcmVnaXN0cmF0aW9uLCBtb3JlCisgICAgdGVzdHMKKyAgIC0gUG9ydGFiaWxpdHkgZml4ZXMsIGxvdHMgb2YgZW5oYW5jZW1lbnRzIHRvd2FyZCBhbiBlYXN5IFdpbmRvd3MgYnVpbGQKKyAgICBhbmQgcmVsZWFzZQorICAgLSBMYXRlIHZhbGlkYXRpb24gZml4ZXMKKyAgIC0gSW50ZWdyYXRlZCBhIGxvdCBvZiBjb250cmlidXRlZCBwYXRjaGVzCisgICAtIGFkZGVkIG1lbW9yeSBtYW5hZ2VtZW50IGRvY3MKKyAgIC0gYSBwZXJmb3JtYW5jZSBwcm9ibGVtIHdoZW4gdXNpbmcgbGFyZ2UgYnVmZmVyIHNlZW1zIGZpeGVkCisKKworMi4yLjQ6IE9jdCAxIDIwMDA6OgorICAgLSBtYWluIFhQYXRoIHByb2JsZW0gZml4ZWQKKyAgIC0gSW50ZWdyYXRlZCBwb3J0YWJpbGl0eSBwYXRjaGVzIGZvciBXaW5kb3dzCisgICAtIFNlcmlvdXMgYnVnIGZpeGVzIG9uIHRoZSBVUkkgYW5kIEhUTUwgY29kZQorCisKKzIuMi4zOiBTZXAgMTcgMjAwMDoKKyAgIC0gYnVnIGZpeGVzCisgICAtIGNsZWFudXAgb2YgZW50aXR5IGhhbmRsaW5nIGNvZGUKKyAgIC0gb3ZlcmFsbCByZXZpZXcgb2YgYWxsIGxvb3BzIGluIHRoZSBwYXJzZXJzLCBhbGwgc3ByaW50ZiB1c2FnZSBoYXMgYmVlbgorICAgIGNoZWNrZWQgdG9vCisgICAtIEZhciBiZXR0ZXIgaGFuZGxpbmcgb2YgbGFyZ2VzIER0ZC4gVmFsaWRhdGluZyBhZ2FpbnN0IERvY0Jvb2sgWE1MIER0ZAorICAgIHdvcmtzIHNtb290aGx5IG5vdy4KKworCisxLjguMTA6IFNlcCA2IDIwMDA6CisgICAtIGJ1ZyBmaXggcmVsZWFzZSBmb3Igc29tZSBHbm9tZSBwcm9qZWN0cworCisKKzIuMi4yOiBBdWd1c3QgMTIgMjAwMDoKKyAgIC0gbW9zdGx5IGJ1ZyBmaXhlcworICAgLSBzdGFydGVkIGFkZGluZyByb3V0aW5lcyB0byBhY2Nlc3MgeG1sIHBhcnNlciBjb250ZXh0IG9wdGlvbnMKKworCisyLjIuMTogSnVseSAyMSAyMDAwOgorICAgLSBhIHB1cmVseSBidWcgZml4ZXMgcmVsZWFzZQorICAgLSBmaXhlZCBhbiBlbmNvZGluZyBzdXBwb3J0IHByb2JsZW0gd2hlbiBwYXJzaW5nIGZyb20gYSBtZW1vcnkgYmxvY2sKKyAgIC0gZml4ZWQgYSBET0NUWVBFIHBhcnNpbmcgcHJvYmxlbQorICAgLSByZW1vdmVkIGEgYnVnIGluIHRoZSBmdW5jdGlvbiBhbGxvd2luZyB0byBvdmVycmlkZSB0aGUgbWVtb3J5CisgICAgYWxsb2NhdGlvbiByb3V0aW5lcworCisKKzIuMi4wOiBKdWx5IDE0IDIwMDA6CisgICAtIGFwcGxpZWQgYSBsb3Qgb2YgcG9ydGFiaWxpdHkgZml4ZXMKKyAgIC0gYmV0dGVyIGVuY29kaW5nIHN1cHBvcnQvY2xlYW51cCBhbmQgc2F2aW5nIChjb250ZW50IGlzIG5vdyBhbHdheXMKKyAgICBlbmNvZGVkIGluIFVURi04KQorICAgLSB0aGUgSFRNTCBwYXJzZXIgbm93IGNvcnJlY3RseSBoYW5kbGVzIGVuY29kaW5ncworICAgLSBhZGRlZCB4bWxIYXNQcm9wKCkKKyAgIC0gZml4ZWQgYSBzZXJpb3VzIHByb2JsZW0gd2l0aCAmIzM4OworICAgLSBwcm9wYWdhdGVkIHRoZSBmaXggdG8gRlRQIGNsaWVudAorICAgLSBjbGVhbnVwLCBidWdmaXhlcywgZXRjIC4uLgorICAgLSBBZGRlZCBhIHBhZ2UgYWJvdXQgbGlieG1sIEludGVybmF0aW9uYWxpemF0aW9uCisgICAgc3VwcG9ydAorCisKKzEuOC45OiAgSnVseSA5IDIwMDA6CisgICAtIGZpeGVkIHRoZSBzcGVjIHRoZSBSUE1zIHNob3VsZCBiZSBiZXR0ZXIKKyAgIC0gZml4ZWQgYSBzZXJpb3VzIGJ1ZyBpbiB0aGUgRlRQIGltcGxlbWVudGF0aW9uLCByZWxlYXNlZCAxLjguOSB0byBzb2x2ZQorICAgIHJwbWZpbmQgdXNlcnMgcHJvYmxlbQorCisKKzIuMS4xOiBKdWx5IDEgMjAwMDoKKyAgIC0gZml4ZXMgYSBjb3VwbGUgb2YgYnVncyBpbiB0aGUgMi4xLjAgcGFja2FnaW5nCisgICAtIGltcHJvdmVtZW50cyBvbiB0aGUgSFRNTCBwYXJzZXIKKworCisyLjEuMCBhbmQgMS44Ljg6IEp1bmUgMjkgMjAwMDoKKyAgIC0gMS44LjggaXMgbW9zdGx5IGEgY29tbW9kaXR5IHBhY2thZ2UgZm9yIHVwZ3JhZGluZyB0byBsaWJ4bWwyIGFjY29yZGluZworICAgIHRvIG5ldyBpbnN0cnVjdGlvbnMuIEl0IGZpeGVzIGEgbmFzdHkgcHJvYmxlbQorICAgIGFib3V0ICYjMzg7IGNoYXJyZWYgcGFyc2luZworICAgLSAyLjEuMCBhbHNvIGVhc2UgdGhlIHVwZ3JhZGUgZnJvbSBsaWJ4bWwgdjEgdG8gdGhlIHJlY2VudCB2ZXJzaW9uLiBpdAorICAgIGFsc28gY29udGFpbnMgbnVtZXJvdXMgZml4ZXMgYW5kIGVuaGFuY2VtZW50czoKKyAgICAKKyAgICAgIGFkZGVkIHhtbFN0b3BQYXJzZXIoKSB0byBzdG9wIHBhcnNpbmcKKyAgICAgIGltcHJvdmVkIGEgbG90IHBhcnNpbmcgc3BlZWQgd2hlbiB0aGVyZSBpcyBsYXJnZSBDREFUQSBibG9jcworICAgICAgaW5jbHVkZXMgWFBhdGggcGF0Y2hlcyBwcm92aWRlZCBieSBQaWNkYXIgVGVjaG5vbG9neQorICAgICAgdHJpZWQgdG8gZml4IGFzIG11Y2ggYXMgcG9zc2libGUgRFREIHZhbGlkYXRpb24gYW5kIG5hbWVzcGFjZQorICAgICAgICByZWxhdGVkIHByb2JsZW1zCisgICAgICBvdXRwdXQgdG8gYSBnaXZlbiBlbmNvZGluZyBoYXMgYmVlbiBhZGRlZC90ZXN0ZWQKKyAgICAgIGxvdCBvZiB2YXJpb3VzIGZpeGVzCisgICAgCisgIAorICAgLSBhZGRlZCB4bWxTdG9wUGFyc2VyKCkgdG8gc3RvcCBwYXJzaW5nCisgICAtIGltcHJvdmVkIGEgbG90IHBhcnNpbmcgc3BlZWQgd2hlbiB0aGVyZSBpcyBsYXJnZSBDREFUQSBibG9jcworICAgLSBpbmNsdWRlcyBYUGF0aCBwYXRjaGVzIHByb3ZpZGVkIGJ5IFBpY2RhciBUZWNobm9sb2d5CisgICAtIHRyaWVkIHRvIGZpeCBhcyBtdWNoIGFzIHBvc3NpYmxlIERURCB2YWxpZGF0aW9uIGFuZCBuYW1lc3BhY2UKKyAgICAgICAgcmVsYXRlZCBwcm9ibGVtcworICAgLSBvdXRwdXQgdG8gYSBnaXZlbiBlbmNvZGluZyBoYXMgYmVlbiBhZGRlZC90ZXN0ZWQKKyAgIC0gbG90IG9mIHZhcmlvdXMgZml4ZXMKKworCisyLjAuMDogQXByIDEyIDIwMDA6CisgICAtIEZpcnN0IHB1YmxpYyByZWxlYXNlIG9mIGxpYnhtbDIuIElmIHlvdSBhcmUgdXNpbmcgbGlieG1sLCBpdCdzIGEgZ29vZAorICAgIGlkZWEgdG8gY2hlY2sgdGhlIDEueCB0byAyLnggdXBncmFkZSBpbnN0cnVjdGlvbnMuIE5PVEU6IHdoaWxlIGluaXRpYWxseQorICAgIHNjaGVkdWxlZCBmb3IgQXByIDMgdGhlIHJlbGVhc2Ugb2NjdXJyZWQgb25seSBvbiBBcHIgMTIgZHVlIHRvIG1hc3NpdmUKKyAgICB3b3JrbG9hZC4KKyAgIC0gVGhlIGluY2x1ZGUgYXJlIG5vdyBsb2NhdGVkIHVuZGVyICRwcmVmaXgvaW5jbHVkZS9saWJ4bWwgKGluc3RlYWQgb2YKKyAgICAkcHJlZml4L2luY2x1ZGUvZ25vbWUteG1sKSwgdGhleSBhbHNvIGFyZSByZWZlcmVuY2VkIGJ5CisgICAgI2luY2x1ZGUgPGxpYnhtbC94eHguaD4KKyAgICBpbnN0ZWFkIG9mCisgICAgI2luY2x1ZGUgInh4eC5oIgorICAKKyAgIC0gYSBuZXcgVVJJIG1vZHVsZSBmb3IgcGFyc2luZyBVUklzIGFuZCBmb2xsb3dpbmcgc3RyaWN0bHkgUkZDIDIzOTYKKyAgIC0gdGhlIG1lbW9yeSBhbGxvY2F0aW9uIHJvdXRpbmVzIHVzZWQgYnkgbGlieG1sIGNhbiBub3cgYmUgb3ZlcmxvYWRlZAorICAgIGR5bmFtaWNhbGx5IGJ5IHVzaW5nIHhtbE1lbVNldHVwKCkKKyAgIC0gVGhlIHByZXZpb3VzbHkgQ1ZTIG9ubHkgdG9vbCB0ZXN0ZXIgaGFzIGJlZW4gcmVuYW1lZAorICAgIHhtbGxpbnQgYW5kIGlzIG5vdyBpbnN0YWxsZWQgYXMgcGFydCBvZiB0aGUgbGlieG1sMgorICAgIHBhY2thZ2UKKyAgIC0gVGhlIEkvTyBpbnRlcmZhY2UgaGFzIGJlZW4gcmV2YW1wZWQuIFRoZXJlIGlzIG5vdyB3YXlzIHRvIHBsdWcgaW4KKyAgICBzcGVjaWZpYyBJL08gbW9kdWxlcywgZWl0aGVyIGF0IHRoZSBVUkkgc2NoZW1lIGRldGVjdGlvbiBsZXZlbCB1c2luZworICAgIHhtbFJlZ2lzdGVySW5wdXRDYWxsYmFja3MoKSAgb3IgYnkgcGFzc2luZyBJL08gZnVuY3Rpb25zIHdoZW4gY3JlYXRpbmcgYQorICAgIHBhcnNlciBjb250ZXh0IHVzaW5nIHhtbENyZWF0ZUlPUGFyc2VyQ3R4dCgpCisgICAtIHRoZXJlIGlzIGEgQyBwcmVwcm9jZXNzb3IgbWFjcm8gTElCWE1MX1ZFUlNJT04gcHJvdmlkaW5nIHRoZSB2ZXJzaW9uCisgICAgbnVtYmVyIG9mIHRoZSBsaWJ4bWwgbW9kdWxlIGluIHVzZQorICAgLSBhIG51bWJlciBvZiBvcHRpb25hbCBmZWF0dXJlcyBvZiBsaWJ4bWwgY2FuIG5vdyBiZSBleGNsdWRlZCBhdAorICAgIGNvbmZpZ3VyZSB0aW1lIChGVFAvSFRUUC9IVE1ML1hQYXRoL0RlYnVnKQorCisKKzIuMC4wYmV0YTogTWFyIDE0IDIwMDA6CisgICAtIFRoaXMgaXMgYSBmaXJzdCBCZXRhIHJlbGVhc2Ugb2YgbGlieG1sIHZlcnNpb24gMgorICAgLSBJdCdzIGF2YWlsYWJsZSBvbmx5IGZyb214bWxzb2Z0Lm9yZworICAgIEZUUCwgaXQncyBwYWNrYWdlZCBhcyBsaWJ4bWwyLTIuMC4wYmV0YSBhbmQgYXZhaWxhYmxlIGFzIHRhciBhbmQKKyAgUlBNcworICAgLSBUaGlzIHZlcnNpb24gaXMgbm93IHRoZSBoZWFkIGluIHRoZSBHbm9tZSBDVlMgYmFzZSwgdGhlIG9sZCBvbmUgaXMKKyAgICBhdmFpbGFibGUgdW5kZXIgdGhlIHRhZyBMSUJfWE1MXzFfWAorICAgLSBUaGlzIGluY2x1ZGVzIGEgdmVyeSBsYXJnZSBzZXQgb2YgY2hhbmdlcy4gRnJvbSBhICBwcm9ncmFtbWF0aWMgcG9pbnQKKyAgICBvZiB2aWV3IGFwcGxpY2F0aW9ucyBzaG91bGQgbm90IGhhdmUgdG8gYmUgbW9kaWZpZWQgdG9vIG11Y2gsIGNoZWNrIHRoZQorICAgIHVwZ3JhZGUgcGFnZQorICAgLSBTb21lIGludGVyZmFjZXMgbWF5IGNoYW5nZXMgKGVzcGVjaWFsbHkgYSBiaXQgYWJvdXQgZW5jb2RpbmcpLgorICAgLSB0aGUgdXBkYXRlcyBpbmNsdWRlczoKKyAgICAKKyAgICAgIGZpeCBJMThOIHN1cHBvcnQuIElTTy1MYXRpbi14L1VURi04L1VURi0xNiAobmVhcmx5KSBzZWVtcyBjb3JyZWN0bHkKKyAgICAgICAgaGFuZGxlZCBub3cKKyAgICAgIEJldHRlciBoYW5kbGluZyBvZiBlbnRpdGllcywgZXNwZWNpYWxseSB3ZWxsLWZvcm1lZG5lc3MgY2hlY2tpbmcKKyAgICAgICAgYW5kIHByb3BlciBQRXJlZiBleHRlbnNpb25zIGluIGV4dGVybmFsIHN1YnNldHMKKyAgICAgIERURCBjb25kaXRpb25hbCBzZWN0aW9ucworICAgICAgVmFsaWRhdGlvbiBub3cgY29ycmVjdGx5IGhhbmRsZSBlbnRpdGllcyBjb250ZW50CisgICAgICBjaGFuZ2UKKyAgICAgICAgc3RydWN0dXJlcyB0byBhY2NvbW1vZGF0ZSBET00KKyAgICAKKyAgCisgICAtIGZpeCBJMThOIHN1cHBvcnQuIElTTy1MYXRpbi14L1VURi04L1VURi0xNiAobmVhcmx5KSBzZWVtcyBjb3JyZWN0bHkKKyAgICAgICAgaGFuZGxlZCBub3cKKyAgIC0gQmV0dGVyIGhhbmRsaW5nIG9mIGVudGl0aWVzLCBlc3BlY2lhbGx5IHdlbGwtZm9ybWVkbmVzcyBjaGVja2luZworICAgICAgICBhbmQgcHJvcGVyIFBFcmVmIGV4dGVuc2lvbnMgaW4gZXh0ZXJuYWwgc3Vic2V0cworICAgLSBEVEQgY29uZGl0aW9uYWwgc2VjdGlvbnMKKyAgIC0gVmFsaWRhdGlvbiBub3cgY29ycmVjdGx5IGhhbmRsZSBlbnRpdGllcyBjb250ZW50CisgICAtIGNoYW5nZQorICAgICAgICBzdHJ1Y3R1cmVzIHRvIGFjY29tbW9kYXRlIERPTQorICAgLSBTZXJpb3VzIHByb2dyZXNzIHdlcmUgbWFkZSB0b3dhcmQgY29tcGxpYW5jZSwgaGVyZSBhcmUgdGhlIHJlc3VsdCBvZiB0aGUgdGVzdCBhZ2FpbnN0IHRoZQorICAgIE9BU0lTIHRlc3RzdWl0ZSAoZXhjZXB0IHRoZSBKYXBhbmVzZSB0ZXN0cyBzaW5jZSBJIGRvbid0IHN1cHBvcnQgdGhhdAorICAgIGVuY29kaW5nIHlldCkuIFRoaXMgVVJMIGlzIHJlYnVpbHQgZXZlcnkgY291cGxlIG9mIGhvdXJzIHVzaW5nIHRoZSBDVlMKKyAgICBoZWFkIHZlcnNpb24uCisKKworMS44Ljc6IE1hciA2IDIwMDA6CisgICAtIFRoaXMgaXMgYSBidWcgZml4IHJlbGVhc2U6CisgICAtIEl0IGlzIHBvc3NpYmxlIHRvIGRpc2FibGUgdGhlIGlnbm9yYWJsZSBibGFua3MgaGV1cmlzdGljIHVzZWQgYnkKKyAgICBsaWJ4bWwtMS54LCBhIG5ldyBmdW5jdGlvbiAgeG1sS2VlcEJsYW5rc0RlZmF1bHQoMCkgd2lsbCBhbGxvdyB0aGlzLiBOb3RlCisgICAgdGhhdCBmb3IgYWRoZXJlbmNlIHRvIFhNTCBzcGVjLCB0aGlzIGJlaGF2aW91ciB3aWxsIGJlIGRpc2FibGVkIGJ5CisgICAgZGVmYXVsdCBpbiAyLnggLiBUaGUgc2FtZSBmdW5jdGlvbiB3aWxsIGFsbG93IHRvIGtlZXAgY29tcGF0aWJpbGl0eSBmb3IKKyAgICBvbGQgY29kZS4KKyAgIC0gQmxhbmtzIGluIDxhPiAgPC9hPiBjb25zdHJ1Y3RzIGFyZSBub3QgaWdub3JlZCBhbnltb3JlLAorICAgIGF2b2lkaW5nIGhldXJpc3RpYyBpcyByZWFsbHkgdGhlIFJpZ2h0IFdheSA6LVwKKyAgIC0gVGhlIHVuY2hlY2tlZCB1c2Ugb2Ygc25wcmludGYgd2hpY2ggd2FzIGJyZWFraW5nIGxpYnhtbC0xLjguNgorICAgIGNvbXBpbGF0aW9uIG9uIHNvbWUgcGxhdGZvcm1zIGhhcyBiZWVuIGZpeGVkCisgICAtIG5hbm9mdHAuYyBuYW5vaHR0cC5jOiBGaXhlZCAnIycgYW5kICc/JyBzdHJpcHBpbmcgd2hlbiBwcm9jZXNzaW5nCisgIFVSSXMKKworCisxLjguNjogSmFuIDMxIDIwMDA6CisgICAtIGFkZGVkIGEgbmFub0ZUUCB0cmFuc3BvcnQgbW9kdWxlLCBkZWJ1Z2dlZCB1bnRpbCB0aGUgbmV3IHZlcnNpb24gb2YgcnBtZmluZCBjYW4gdXNlCisgICAgaXQgd2l0aG91dCB0cm91YmxlcworCisKKzEuOC41OiBKYW4gMjEgMjAwMDoKKyAgIC0gYWRkaW5nIEFQSXMgdG8gcGFyc2UgYSB3ZWxsIGJhbGFuY2VkIGNodW5rIG9mIFhNTCAocHJvZHVjdGlvbiBbNDNdIGNvbnRlbnQgb2YgdGhlCisgICAgWE1MIHNwZWMpCisgICAtIGZpeGVkIGEgaGlkZW91cyBidWcgaW4geG1sR2V0UHJvcCBwb2ludGVkIGJ5IFJ1bmUuRGp1cmh1dXNAZmFzdC5ubworICAgLSBKb2R5IEdvbGRiZXJnIDxqZ29sZGJlcmdAaG9tZS5jb20+IHByb3ZpZGVkIGFub3RoZXIgcGF0Y2ggdHJ5aW5nCisgICAgdG8gc29sdmUgdGhlIHpsaWIgY2hlY2tzIHByb2JsZW1zCisgICAtIFRoZSBjdXJyZW50IHN0YXRlIGluIGdub21lIENWUyBiYXNlIGlzIGV4cGVjdGVkIHRvIHNoaXAgYXMgMS44LjUgd2l0aAorICAgIGdudW1lcmljIHNvb24KKworCisxLjguNDogSmFuIDEzIDIwMDA6CisgICAtIGJ1ZyBmaXhlcywgcmVpbnRyb2R1Y2VkIHhtbE5ld0dsb2JhbE5zKCksIGZpeGVkIHhtbE5ld05zKCkKKyAgIC0gYWxsIGV4aXQoKSBjYWxsIHNob3VsZCBoYXZlIGJlZW4gcmVtb3ZlZCBmcm9tIGxpYnhtbAorICAgLSBmaXhlZCBhIHByb2JsZW0gd2l0aCBJTkNMVURFX1dJTlNPQ0sgb24gV0lOMzIgcGxhdGZvcm0KKyAgIC0gYWRkZWQgbmV3RG9jRnJhZ21lbnQoKQorCisKKzEuOC4zOiBKYW4gNSAyMDAwOgorICAgLSBhIFB1c2ggaW50ZXJmYWNlIGZvciB0aGUgWE1MIGFuZCBIVE1MIHBhcnNlcnMKKyAgIC0gYSBzaGVsbC1saWtlIGludGVyZmFjZSB0byB0aGUgZG9jdW1lbnQgdHJlZSAodHJ5IHRlc3RlciAtLXNoZWxsIDotKQorICAgLSBsb3RzIG9mIGJ1ZyBmaXhlcyBhbmQgaW1wcm92ZW1lbnQgYWRkZWQgb3ZlciBYTWFzIGhvbGlkYXlzCisgICAtIGZpeGVkIHRoZSBEVEQgcGFyc2luZyBjb2RlIHRvIHdvcmsgd2l0aCB0aGUgeGh0bWwgRFRECisgICAtIGFkZGVkIHhtbFJlbW92ZVByb3AoKSwgeG1sUmVtb3ZlSUQoKSBhbmQgeG1sUmVtb3ZlUmVmKCkKKyAgIC0gRml4ZWQgYnVncyBpbiB4bWxOZXdOcygpCisgICAtIEV4dGVybmFsIGVudGl0eSBsb2FkaW5nIGNvZGUgaGFzIGJlZW4gcmV2YW1wZWQsIG5vdyBpdCB1c2VzCisgICAgeG1sTG9hZEV4dGVybmFsRW50aXR5KCksIHNvbWUgZml4IG9uIGVudGl0aWVzIHByb2Nlc3Npbmcgd2VyZSBhZGRlZAorICAgLSBjbGVhbmVkIHVwIFdJTjMyIGluY2x1ZGVzIG9mIHNvY2tldCBzdHVmZgorCisKKzEuOC4yOiBEZWMgMjEgMTk5OToKKyAgIC0gSSBnb3QgYW5vdGhlciBwcm9ibGVtIHdpdGggaW5jbHVkZXMgYW5kIEMrKywgSSBob3BlIHRoaXMgaXNzdWUgaXMgZml4ZWQKKyAgICBmb3IgZ29vZCB0aGlzIHRpbWUKKyAgIC0gQWRkZWQgYSBmZXcgdHJlZSBtb2RpZmljYXRpb24gZnVuY3Rpb25zOiB4bWxSZXBsYWNlTm9kZSwKKyAgICB4bWxBZGRQcmV2U2libGluZywgeG1sQWRkTmV4dFNpYmxpbmcsIHhtbE5vZGVTZXROYW1lIGFuZAorICAgIHhtbERvY1NldFJvb3RFbGVtZW50CisgICAtIFRyaWVkIHRvIGltcHJvdmUgdGhlIEhUTUwgb3V0cHV0IHdpdGggaGVscCBmcm9tIENocmlzIExhaGV5CisKKworMS44LjE6IERlYyAxOCAxOTk5OgorICAgLSB2YXJpb3VzIHBhdGNoZXMgdG8gYXZvaWQgdHJvdWJsZXMgd2hlbiB1c2luZyBsaWJ4bWwgd2l0aCBDKysgY29tcGlsZXJzCisgICAgdGhlICJuYW1lc3BhY2UiIGtleXdvcmQgYW5kIEMgZXNjYXBpbmcgaW4gaW5jbHVkZSBmaWxlcworICAgLSBhIHByb2JsZW0gaW4gb25lIG9mIHRoZSBjb3JlIG1hY3JvcyBJU19DSEFSIHdhcyBjb3JyZWN0ZWQKKyAgIC0gZml4ZWQgYSBidWcgaW50cm9kdWNlZCBpbiAxLjguMCBicmVha2luZyBkZWZhdWx0IG5hbWVzcGFjZSBwcm9jZXNzaW5nLAorICAgIGFuZCBtb3JlIHNwZWNpZmljYWxseSB0aGUgRGlhIGFwcGxpY2F0aW9uCisgICAtIGZpeGVkIGEgcG9zdGVyaW9yaSB2YWxpZGF0aW9uICh2YWxpZGF0aW9uIGFmdGVyIHBhcnNpbmcsIG9yIGJ5IHVzaW5nIGEKKyAgICBEdGQgbm90IHNwZWNpZmllZCBpbiB0aGUgb3JpZ2luYWwgZG9jdW1lbnQpCisgICAtIGZpeGVkIGEgYnVnIGluCisKKworMS44LjA6IERlYyAxMiAxOTk5OgorICAgLSBjbGVhbnVwLCBlc3BlY2lhbGx5IG1lbW9yeSB3aXNlCisgICAtIHRoZSBwYXJzZXIgc2hvdWxkIGJlIG1vcmUgcmVsaWFibGUsIGVzcGVjaWFsbHkgdGhlIEhUTUwgb25lLCBpdCBzaG91bGQKKyAgICBub3QgY3Jhc2gsIHdoYXRldmVyIHRoZSBpbnB1dCAhCisgICAtIEludGVncmF0ZWQgdmFyaW91cyBwYXRjaGVzLCBlc3BlY2lhbGx5IGEgc3BlZWR1cCBpbXByb3ZlbWVudCBmb3IgbGFyZ2UKKyAgICBkYXRhc2V0IGZyb20gQ2FybCBOeWdhcmQsCisgICAgY29uZmlndXJlIHdpdGggLS13aXRoLWJ1ZmZlcnMgdG8gZW5hYmxlIHRoZW0uCisgICAtIGF0dHJpYnV0ZSBub3JtYWxpemF0aW9uLCBvb3BzIHNob3VsZCBoYXZlIGJlZW4gYWRkZWQgbG9uZyBhZ28gIQorICAgLSBhdHRyaWJ1dGVzIGRlZmF1bHRlZCBmcm9tIERURHMgc2hvdWxkIGJlIGF2YWlsYWJsZSwgeG1sU2V0UHJvcCgpIG5vdworICAgIGRvZXMgZW50aXRpZXMgZXNjYXBpbmcgYnkgZGVmYXVsdC4KKworCisxLjcuNDogT2N0IDI1IDE5OTk6CisgICAtIExvdHMgb2YgSFRNTCBpbXByb3ZlbWVudAorICAgLSBGaXhlZCBzb21lIGVycm9ycyB3aGVuIHNhdmluZyBib3RoIFhNTCBhbmQgSFRNTAorICAgLSBNb3JlIGV4YW1wbGVzLCB0aGUgcmVncmVzc2lvbiB0ZXN0cyBzaG91bGQgbm93IGxvb2sgY2xlYW4KKyAgIC0gRml4ZWQgYSBidWcgd2l0aCBjb250aWd1b3VzIGNoYXJyZWYKKworCisxLjcuMzogU2VwIDI5IDE5OTk6CisgICAtIHBvcnRhYmlsaXR5IHByb2JsZW1zIGZpeGVkCisgICAtIHNucHJpbnRmIHdhcyB1c2VkIHVuY29uZGl0aW9uYWxseSwgbGVhZGluZyB0byBsaW5rIHByb2JsZW1zIG9uIHN5c3RlbQorICAgIHdlcmUgaXQncyBub3QgYXZhaWxhYmxlLCBmaXhlZAorCisKKzEuNy4xOiBTZXAgMjQgMTk5OToKKyAgIC0gVGhlIGJhc2ljIHR5cGUgZm9yIHN0cmluZ3MgbWFuaXB1bGF0ZWQgYnkgbGlieG1sIGhhcyBiZWVuIHJlbmFtZWQgaW4KKyAgICAxLjcuMSBmcm9tIENIQVIgdG8geG1sQ2hhci4gVGhlIHJlYXNvbgorICAgIGlzIHRoYXQgQ0hBUiB3YXMgY29uZmxpY3Rpbmcgd2l0aCBhIHByZWRlZmluZWQgdHlwZSBvbiBXaW5kb3dzLiBIb3dldmVyCisgICAgb24gbm9uIFdJTjMyIGVudmlyb25tZW50LCBjb21wYXRpYmlsaXR5IGlzIHByb3ZpZGVkIGJ5IHRoZSB3YXkgb2YgIGEKKyAgICAjZGVmaW5lIC4KKyAgIC0gQ2hhbmdlZCBhbm90aGVyIGVycm9yIDogdGhlIHVzZSBvZiBhIHN0cnVjdHVyZSBmaWVsZCBjYWxsZWQgZXJybm8sIGFuZAorICAgIGxlYWRpbmcgdG8gdHJvdWJsZXMgb24gcGxhdGZvcm1zIHdoZXJlIGl0J3MgYSBtYWNybworCisKKzEuNy4wOiBTZXAgMjMgMTk5OToKKyAgIC0gQWRkZWQgdGhlIGFiaWxpdHkgdG8gZmV0Y2ggcmVtb3RlIERURCBvciBwYXJzZWQgZW50aXRpZXMsIHNlZSB0aGUgbmFub2h0dHAgbW9kdWxlLgorICAgLSBBZGRlZCBhbiBlcnJubyB0byByZXBvcnQgZXJyb3JzIGJ5IGFub3RoZXIgbWVhbiB0aGFuIGEgc2ltcGxlIHByaW50ZgorICAgIGxpa2UgY2FsbGJhY2sKKyAgIC0gRmluaXNoZWQgSUQvSURSRUYgc3VwcG9ydCBhbmQgY2hlY2tpbmcgd2hlbiB2YWxpZGF0aW9uCisgICAtIFNlcmlvdXMgbWVtb3J5IGxlYWtzIGZpeGVkICh0aGVyZSBpcyBub3cgYSBtZW1vcnkgd3JhcHBlciBtb2R1bGUpCisgICAtIEltcHJvdmVtZW50IG9mIFhQYXRoCisgICAgaW1wbGVtZW50YXRpb24KKyAgIC0gQWRkZWQgYW4gSFRNTCBwYXJzZXIgZnJvbnQtZW5kCisKK0RhbmllbCBWZWlsbGFyZCBhdCAKK2J1Z3MuaHRtbApkaWZmIC0tZ2l0IGEvbGlieG1sMi9OT1RJQ0UgYi9saWJ4bWwyL05PVElDRQpuZXcgZmlsZSBtb2RlIDEyMDAwMAppbmRleCAwMDAwMDAwLi44NmE5MTY0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9OT1RJQ0UKQEAgLTAsMCArMSBAQAorQ29weXJpZ2h0ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9SRUFETUUgYi9saWJ4bWwyL1JFQURNRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NDllNjcxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9SRUFETUUKQEAgLTAsMCArMSwzOSBAQAorCisgICAgICAgICAgICAgICAgICBYTUwgdG9vbGtpdCBmcm9tIHRoZSBHTk9NRSBwcm9qZWN0CisKK0Z1bGwgZG9jdW1lbnRhdGlvbiBpcyBhdmFpbGFibGUgb24tbGluZSBhdAorICAgIGh0dHA6Ly94bWxzb2Z0Lm9yZy8KKworVGhpcyBjb2RlIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5jZSBzZWUgdGhlIENvcHlyaWdodCBmaWxlLgorCitUbyBidWlsZCBvbiBhbiBVbml4aXNlZCBzZXR1cDoKKyAgIC4vY29uZmlndXJlIDsgbWFrZSA7IG1ha2UgaW5zdGFsbAorVG8gYnVpbGQgb24gV2luZG93czoKKyAgIHNlZSBpbnN0cnVjdGlvbnMgb24gd2luMzIvUmVhZG1lLnR4dAorCitUbyBhc3NlcnQgYnVpbGQgcXVhbGl0eToKKyAgIG9uIGFuIFVuaXhpc2VkIHNldHVwOgorICAgICAgcnVuIG1ha2UgdGVzdHMKKyAgIG90aGVyd2lzZToKKyAgICAgICBUaGVyZSBpcyAzIHN0YW5kYWxvbmUgdG9vbHMgcnVudGVzdC5jIHJ1bnN1aXRlLmMgdGVzdGFwaS5jLCB3aGljaAorICAgICAgIHNob3VsZCBjb21waWxlIGFzIHBhcnQgb2YgdGhlIGJ1aWxkIG9yIGFzIGFueSBhcHBsaWNhdGlvbiB3b3VsZC4KKyAgICAgICBMYXVuY2ggdGhlbSBmcm9tIHRoaXMgZGlyZWN0b3J5IHRvIGdldCByZXN1bHRzLCBydW50ZXN0IGNoZWNrcyAKKyAgICAgICB0aGUgcHJvcGVyIGZ1bmN0aW9ubmluZyBvZiBsaWJ4bWwyIG1haW4gQVBJcyB3aGlsZSB0ZXN0YXBpIGRvZXMKKyAgICAgICBhIGZ1bGwgY292ZXJhZ2UgY2hlY2suIFJlcG9ydCBmYWlsdXJlcyB0byB0aGUgbGlzdC4KKworVG8gcmVwb3J0IGJ1Z3MsIGZvbGxvdyB0aGUgaW5zdHJ1Y3Rpb25zIGF0OiAKKyAgaHR0cDovL3htbHNvZnQub3JnL2J1Z3MuaHRtbAorCitBIG1haWxpbmctbGlzdCB4bWxAZ25vbWUub3JnIGlzIGF2YWlsYWJsZSwgdG8gc3Vic2NyaWJlOgorICAgIGh0dHA6Ly9tYWlsLmdub21lLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3htbAorCitUaGUgbGlzdCBhcmNoaXZlIGlzIGF0OgorICAgIGh0dHA6Ly9tYWlsLmdub21lLm9yZy9hcmNoaXZlcy94bWwvCisKK0FsbCB0ZWNobmljYWwgYW5zd2VycyBhc2tlZCBwcml2YXRlbHkgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGFuc3dlcmVkIG9uCit0aGUgbGlzdCBhbmQgYXJjaGl2ZWQgZm9yIHB1YmxpYyBhY2Nlc3MgdW5sZXNzIHByaXZhY3kgaXMgZXhwbGljaXRseQorcmVxdWlyZWQgYW5kIGp1c3RpZmllZC4KKworRGFuaWVsIFZlaWxsYXJkCisKKyRJZCQKZGlmZiAtLWdpdCBhL2xpYnhtbDIvUkVBRE1FLmN2cy1jb21taXRzIGIvbGlieG1sMi9SRUFETUUuY3ZzLWNvbW1pdHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTRiZDg0MQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvUkVBRE1FLmN2cy1jb21taXRzCkBAIC0wLDAgKzEsNSBAQAorIFBsZWFzZSByZWFkIHRoZSBIQUNLSU5HIGZpbGUgZm9yIGluc3RydWN0aW9ucworCitEYW5pZWwKKworJElkJApkaWZmIC0tZ2l0IGEvbGlieG1sMi9SRUFETUUudGVzdHMgYi9saWJ4bWwyL1JFQURNRS50ZXN0cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZDg2ZjJhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9SRUFETUUudGVzdHMKQEAgLTAsMCArMSwzOSBAQAorICAgICAgICAgICAgICAgICAgICAgICBSRUFETUUudGVzdHMKKworICAgSW5zdHJ1Y3Rpb25zIGZvciBzdGFuZGFsb25lIHRlc3QgcmVncmVzc2lvbnMgb2YgbGlieG1sMgorCitsaWJ4bWwyLXRlc3RzLSR2ZXJzaW9uLnRhci5neiBjb250YWlucyAzIHN0YW5kYWxvbmUgQyBwcm9ncmFtcyBhcyB3ZWxsCithcyBhIGxhcmdlIGFtb3VudCBvZiB0ZXN0cyBhbmQgcmVzdWx0cyBjb21pbmcgZnJvbSBsaWJ4bWwyIGl0c2VsZiBhbmQKK2Zyb20gVzNDLCBOSVNULCBTdW4gTWljcm9zeXN0ZW1zLCBNaWNyb3NvZnQgYW5kIEphbWVzIENsYXJrLiBFYWNoIEMKK3Byb2dyYW0gaGFzIGEgZGlmZmVyZW50IHRlc3RpbmcgcHVycG9zZToKKworICBydW50ZXN0LmMgOiBydW5zIGxpYnhtbDIgYmFzaWMgaW50ZXJuYWwgcmVncmVzc2lvbiB0ZXN0cworICBydW5zdWl0ZS5jOiBydW5zIGxpYnhtbDIgYWdhaW5zdCBleHRlcm5hbCByZWdyZXNzaW9uIHRlc3RzCisgIHRlc3RhcGkuYyA6IGV4ZXJjaXNlcyB0aGUgbGlicmFyeSBwdWJsaWMgZW50cnkgcG9pbnRzCisgIHRlc3RjaGFyLmM6IGV4ZXJjaXNlIHRoZSBjaGVjayBvZiBjaGFyYWN0ZXIgcmFuZ2VzIGFuZCBVVEYtOCB2YWxpZGF0aW9uCisKK1RoZSBjb21tYW5kOgorCisgIG1ha2UgY2hlY2sKK29yCisgIG1ha2UgLWYgTWFrZWZpbGUudGVzdHMgY2hlY2sKKworc2hvdWxkIGJlIHN1ZmZpY2llbnQgb24gYW4gVW5peCBzeXN0ZW0gdG8gYnVpbGQgYW5kIGV4ZXJjaXNlIHRoZSB0ZXN0cworZm9yIHRoZSB2ZXJzaW9uIG9mIHRoZSBsaWJyYXJ5IGluc3RhbGxlZCBvbiB0aGUgc3lzdGVtLiBOb3RlIGhvd2V2ZXIKK3RoYXQgdGhlcmUgaXNuJ3QgYmFja3dhcmQgY29tcGF0aWJpbGl0eSBwcm92aWRlZCBzbyBpZiB0aGUgaW5zdGFsbGVkCit2ZXJzaW9uIGlzIG9sZGVyIHRoYW4gdGhlIHRlc3RzdWl0ZSBvbmUsIGZhaWxpbmcgdG8gY29tcGlsZSBvciBydW4gdGhlIHRlc3RzCitpcyBsaWtlbHkuIEluIGFueSBldmVudCB0aGlzIHdvbid0IHdvcmsgd2l0aCBhbiBpbnN0YWxsZWQgbGlieG1sMiBvbGRlcgordGhhbiAyLjYuMjAuCisKK0J1aWxkaW5nIG9uIG90aGVyIHBsYXRmb3JtcyBzaG91bGQgYmUgYSBtYXR0ZXIgb2YgY29tcGlsaW5nIHRoZSBDIGZpbGVzCitsaWtlIGFueSBvdGhlciBwcm9ncmFtIHVzaW5nIGxpYnhtbDIsIHJ1bm5pbmcgdGhlIHRlc3Qgc2hvdWxkIGJlIGRvbmUKK3NpbXBseSBieSBsYXVuY2hpbmcgdGhlIHJlc3VsdGluZyBleGVjdXRhYmxlcy4KKworQWxzbyBub3RlIHRoZSBhdmFpbGFiaWxpdHkgb2YgYSAibWFrZSB2YWxncmluZCIgdGFyZ2V0IHdoaWNoIHdpbGwgcnVuIHRoZQorYWJvdmUgdGVzdHMgdW5kZXIgdmFsZ3JpbmQgdG8gY2hlY2sgZm9yIG1lbW9yeSBlcnJvcnMgKGJ1dCB0aGlzIHJlbGllcworb24gdGhlIGF2YWlsYWJpbGl0eSBvZiB0aGUgdmFsZ3JpbmQgY29tbWFuZCBhbmQgdGFrZSBmYXIgbW9yZSB0aW1lIHRvCitjb21wbGV0ZSkuCisKK0RhbmllbCBWZWlsbGFyZAorTW9uIE1heSAgNyAyMDEyCisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvU0FYLmMgYi9saWJ4bWwyL1NBWC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI5MmFmNTcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL1NBWC5jCkBAIC0wLDAgKzEsMTgwIEBACisvKgorICogU0FYLmMgOiBPbGQgU0FYIHYxIGhhbmRsZXJzIHRvIGJ1aWxkIGEgdHJlZS4KKyAqICAgICAgICAgRGVwcmVjYXRlZCBleGNlcHQgZm9yIGNvbXBhdGliaWxpdHkKKyAqCisgKiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisgKgorICogRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorICovCisKKworI2RlZmluZSBJTl9MSUJYTUwKKyNpbmNsdWRlICJsaWJ4bWwuaCIKKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxsaWJ4bWwveG1sbWVtb3J5Lmg+CisjaW5jbHVkZSA8bGlieG1sL3RyZWUuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvcGFyc2VyLmg+CisjaW5jbHVkZSA8bGlieG1sL3BhcnNlckludGVybmFscy5oPgorI2luY2x1ZGUgPGxpYnhtbC92YWxpZC5oPgorI2luY2x1ZGUgPGxpYnhtbC9lbnRpdGllcy5oPgorI2luY2x1ZGUgPGxpYnhtbC94bWxlcnJvci5oPgorI2luY2x1ZGUgPGxpYnhtbC9kZWJ1Z1hNTC5oPgorI2luY2x1ZGUgPGxpYnhtbC94bWxJTy5oPgorI2luY2x1ZGUgPGxpYnhtbC9TQVguaD4KKyNpbmNsdWRlIDxsaWJ4bWwvdXJpLmg+CisjaW5jbHVkZSA8bGlieG1sL3ZhbGlkLmg+CisjaW5jbHVkZSA8bGlieG1sL0hUTUx0cmVlLmg+CisjaW5jbHVkZSA8bGlieG1sL2dsb2JhbHMuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvU0FYMi5oPgorCisjaWZkZWYgTElCWE1MX0xFR0FDWV9FTkFCTEVECisjaWZkZWYgTElCWE1MX1NBWDFfRU5BQkxFRAorLyoqCisgKiBpbml0eG1sRGVmYXVsdFNBWEhhbmRsZXI6CisgKiBAaGRscjogIHRoZSBTQVggaGFuZGxlcgorICogQHdhcm5pbmc6ICBmbGFnIGlmIG5vbi16ZXJvIHNldHMgdGhlIGhhbmRsZXIgd2FybmluZyBwcm9jZWR1cmUKKyAqCisgKiBJbml0aWFsaXplIHRoZSBkZWZhdWx0IFhNTCBTQVggdmVyc2lvbiAxIGhhbmRsZXIKKyAqIERFUFJFQ0FURUQ6IHVzZSB4bWxTQVgySW5pdERlZmF1bHRTQVhIYW5kbGVyKCkgZm9yIHRoZSBuZXcgU0FYMiBibG9ja3MKKyAqLwordm9pZAoraW5pdHhtbERlZmF1bHRTQVhIYW5kbGVyKHhtbFNBWEhhbmRsZXJWMSAqaGRsciwgaW50IHdhcm5pbmcpCit7CisKKyAgICBpZihoZGxyLT5pbml0aWFsaXplZCA9PSAxKQorCXJldHVybjsKKworICAgIGhkbHItPmludGVybmFsU3Vic2V0ID0geG1sU0FYMkludGVybmFsU3Vic2V0OworICAgIGhkbHItPmV4dGVybmFsU3Vic2V0ID0geG1sU0FYMkV4dGVybmFsU3Vic2V0OworICAgIGhkbHItPmlzU3RhbmRhbG9uZSA9IHhtbFNBWDJJc1N0YW5kYWxvbmU7CisgICAgaGRsci0+aGFzSW50ZXJuYWxTdWJzZXQgPSB4bWxTQVgySGFzSW50ZXJuYWxTdWJzZXQ7CisgICAgaGRsci0+aGFzRXh0ZXJuYWxTdWJzZXQgPSB4bWxTQVgySGFzRXh0ZXJuYWxTdWJzZXQ7CisgICAgaGRsci0+cmVzb2x2ZUVudGl0eSA9IHhtbFNBWDJSZXNvbHZlRW50aXR5OworICAgIGhkbHItPmdldEVudGl0eSA9IHhtbFNBWDJHZXRFbnRpdHk7CisgICAgaGRsci0+Z2V0UGFyYW1ldGVyRW50aXR5ID0geG1sU0FYMkdldFBhcmFtZXRlckVudGl0eTsKKyAgICBoZGxyLT5lbnRpdHlEZWNsID0geG1sU0FYMkVudGl0eURlY2w7CisgICAgaGRsci0+YXR0cmlidXRlRGVjbCA9IHhtbFNBWDJBdHRyaWJ1dGVEZWNsOworICAgIGhkbHItPmVsZW1lbnREZWNsID0geG1sU0FYMkVsZW1lbnREZWNsOworICAgIGhkbHItPm5vdGF0aW9uRGVjbCA9IHhtbFNBWDJOb3RhdGlvbkRlY2w7CisgICAgaGRsci0+dW5wYXJzZWRFbnRpdHlEZWNsID0geG1sU0FYMlVucGFyc2VkRW50aXR5RGVjbDsKKyAgICBoZGxyLT5zZXREb2N1bWVudExvY2F0b3IgPSB4bWxTQVgyU2V0RG9jdW1lbnRMb2NhdG9yOworICAgIGhkbHItPnN0YXJ0RG9jdW1lbnQgPSB4bWxTQVgyU3RhcnREb2N1bWVudDsKKyAgICBoZGxyLT5lbmREb2N1bWVudCA9IHhtbFNBWDJFbmREb2N1bWVudDsKKyAgICBoZGxyLT5zdGFydEVsZW1lbnQgPSB4bWxTQVgyU3RhcnRFbGVtZW50OworICAgIGhkbHItPmVuZEVsZW1lbnQgPSB4bWxTQVgyRW5kRWxlbWVudDsKKyAgICBoZGxyLT5yZWZlcmVuY2UgPSB4bWxTQVgyUmVmZXJlbmNlOworICAgIGhkbHItPmNoYXJhY3RlcnMgPSB4bWxTQVgyQ2hhcmFjdGVyczsKKyAgICBoZGxyLT5jZGF0YUJsb2NrID0geG1sU0FYMkNEYXRhQmxvY2s7CisgICAgaGRsci0+aWdub3JhYmxlV2hpdGVzcGFjZSA9IHhtbFNBWDJDaGFyYWN0ZXJzOworICAgIGhkbHItPnByb2Nlc3NpbmdJbnN0cnVjdGlvbiA9IHhtbFNBWDJQcm9jZXNzaW5nSW5zdHJ1Y3Rpb247CisgICAgaWYgKHdhcm5pbmcgPT0gMCkKKwloZGxyLT53YXJuaW5nID0gTlVMTDsKKyAgICBlbHNlCisJaGRsci0+d2FybmluZyA9IHhtbFBhcnNlcldhcm5pbmc7CisgICAgaGRsci0+ZXJyb3IgPSB4bWxQYXJzZXJFcnJvcjsKKyAgICBoZGxyLT5mYXRhbEVycm9yID0geG1sUGFyc2VyRXJyb3I7CisKKyAgICBoZGxyLT5pbml0aWFsaXplZCA9IDE7Cit9CisKKyNpZmRlZiBMSUJYTUxfSFRNTF9FTkFCTEVECisKKy8qKgorICogaW5pdGh0bWxEZWZhdWx0U0FYSGFuZGxlcjoKKyAqIEBoZGxyOiAgdGhlIFNBWCBoYW5kbGVyCisgKgorICogSW5pdGlhbGl6ZSB0aGUgZGVmYXVsdCBIVE1MIFNBWCB2ZXJzaW9uIDEgaGFuZGxlcgorICogREVQUkVDQVRFRDogdXNlIHhtbFNBWDJJbml0SHRtbERlZmF1bHRTQVhIYW5kbGVyKCkgZm9yIHRoZSBuZXcgU0FYMiBibG9ja3MKKyAqLwordm9pZAoraW5pdGh0bWxEZWZhdWx0U0FYSGFuZGxlcih4bWxTQVhIYW5kbGVyVjEgKmhkbHIpCit7CisgICAgaWYoaGRsci0+aW5pdGlhbGl6ZWQgPT0gMSkKKwlyZXR1cm47CisKKyAgICBoZGxyLT5pbnRlcm5hbFN1YnNldCA9IHhtbFNBWDJJbnRlcm5hbFN1YnNldDsKKyAgICBoZGxyLT5leHRlcm5hbFN1YnNldCA9IE5VTEw7CisgICAgaGRsci0+aXNTdGFuZGFsb25lID0gTlVMTDsKKyAgICBoZGxyLT5oYXNJbnRlcm5hbFN1YnNldCA9IE5VTEw7CisgICAgaGRsci0+aGFzRXh0ZXJuYWxTdWJzZXQgPSBOVUxMOworICAgIGhkbHItPnJlc29sdmVFbnRpdHkgPSBOVUxMOworICAgIGhkbHItPmdldEVudGl0eSA9IHhtbFNBWDJHZXRFbnRpdHk7CisgICAgaGRsci0+Z2V0UGFyYW1ldGVyRW50aXR5ID0gTlVMTDsKKyAgICBoZGxyLT5lbnRpdHlEZWNsID0gTlVMTDsKKyAgICBoZGxyLT5hdHRyaWJ1dGVEZWNsID0gTlVMTDsKKyAgICBoZGxyLT5lbGVtZW50RGVjbCA9IE5VTEw7CisgICAgaGRsci0+bm90YXRpb25EZWNsID0gTlVMTDsKKyAgICBoZGxyLT51bnBhcnNlZEVudGl0eURlY2wgPSBOVUxMOworICAgIGhkbHItPnNldERvY3VtZW50TG9jYXRvciA9IHhtbFNBWDJTZXREb2N1bWVudExvY2F0b3I7CisgICAgaGRsci0+c3RhcnREb2N1bWVudCA9IHhtbFNBWDJTdGFydERvY3VtZW50OworICAgIGhkbHItPmVuZERvY3VtZW50ID0geG1sU0FYMkVuZERvY3VtZW50OworICAgIGhkbHItPnN0YXJ0RWxlbWVudCA9IHhtbFNBWDJTdGFydEVsZW1lbnQ7CisgICAgaGRsci0+ZW5kRWxlbWVudCA9IHhtbFNBWDJFbmRFbGVtZW50OworICAgIGhkbHItPnJlZmVyZW5jZSA9IE5VTEw7CisgICAgaGRsci0+Y2hhcmFjdGVycyA9IHhtbFNBWDJDaGFyYWN0ZXJzOworICAgIGhkbHItPmNkYXRhQmxvY2sgPSB4bWxTQVgyQ0RhdGFCbG9jazsKKyAgICBoZGxyLT5pZ25vcmFibGVXaGl0ZXNwYWNlID0geG1sU0FYMklnbm9yYWJsZVdoaXRlc3BhY2U7CisgICAgaGRsci0+cHJvY2Vzc2luZ0luc3RydWN0aW9uID0geG1sU0FYMlByb2Nlc3NpbmdJbnN0cnVjdGlvbjsKKyAgICBoZGxyLT5jb21tZW50ID0geG1sU0FYMkNvbW1lbnQ7CisgICAgaGRsci0+d2FybmluZyA9IHhtbFBhcnNlcldhcm5pbmc7CisgICAgaGRsci0+ZXJyb3IgPSB4bWxQYXJzZXJFcnJvcjsKKyAgICBoZGxyLT5mYXRhbEVycm9yID0geG1sUGFyc2VyRXJyb3I7CisKKyAgICBoZGxyLT5pbml0aWFsaXplZCA9IDE7Cit9CisKKyNlbmRpZiAvKiBMSUJYTUxfSFRNTF9FTkFCTEVEICovCisKKyNpZmRlZiBMSUJYTUxfRE9DQl9FTkFCTEVECisvKioKKyAqIGluaXRkb2NiRGVmYXVsdFNBWEhhbmRsZXI6CisgKiBAaGRscjogIHRoZSBTQVggaGFuZGxlcgorICoKKyAqIEluaXRpYWxpemUgdGhlIGRlZmF1bHQgRG9jQm9vayBTQVggdmVyc2lvbiAxIGhhbmRsZXIKKyAqIERFUFJFQ0FURUQ6IHVzZSB4bWxTQVgySW5pdERvY2JEZWZhdWx0U0FYSGFuZGxlcigpIGZvciB0aGUgbmV3IFNBWDIgYmxvY2tzCisgKi8KK3ZvaWQKK2luaXRkb2NiRGVmYXVsdFNBWEhhbmRsZXIoeG1sU0FYSGFuZGxlclYxICpoZGxyKQoreworICAgIGlmKGhkbHItPmluaXRpYWxpemVkID09IDEpCisJcmV0dXJuOworCisgICAgaGRsci0+aW50ZXJuYWxTdWJzZXQgPSB4bWxTQVgySW50ZXJuYWxTdWJzZXQ7CisgICAgaGRsci0+ZXh0ZXJuYWxTdWJzZXQgPSBOVUxMOworICAgIGhkbHItPmlzU3RhbmRhbG9uZSA9IHhtbFNBWDJJc1N0YW5kYWxvbmU7CisgICAgaGRsci0+aGFzSW50ZXJuYWxTdWJzZXQgPSB4bWxTQVgySGFzSW50ZXJuYWxTdWJzZXQ7CisgICAgaGRsci0+aGFzRXh0ZXJuYWxTdWJzZXQgPSB4bWxTQVgySGFzRXh0ZXJuYWxTdWJzZXQ7CisgICAgaGRsci0+cmVzb2x2ZUVudGl0eSA9IHhtbFNBWDJSZXNvbHZlRW50aXR5OworICAgIGhkbHItPmdldEVudGl0eSA9IHhtbFNBWDJHZXRFbnRpdHk7CisgICAgaGRsci0+Z2V0UGFyYW1ldGVyRW50aXR5ID0gTlVMTDsKKyAgICBoZGxyLT5lbnRpdHlEZWNsID0geG1sU0FYMkVudGl0eURlY2w7CisgICAgaGRsci0+YXR0cmlidXRlRGVjbCA9IE5VTEw7CisgICAgaGRsci0+ZWxlbWVudERlY2wgPSBOVUxMOworICAgIGhkbHItPm5vdGF0aW9uRGVjbCA9IE5VTEw7CisgICAgaGRsci0+dW5wYXJzZWRFbnRpdHlEZWNsID0gTlVMTDsKKyAgICBoZGxyLT5zZXREb2N1bWVudExvY2F0b3IgPSB4bWxTQVgyU2V0RG9jdW1lbnRMb2NhdG9yOworICAgIGhkbHItPnN0YXJ0RG9jdW1lbnQgPSB4bWxTQVgyU3RhcnREb2N1bWVudDsKKyAgICBoZGxyLT5lbmREb2N1bWVudCA9IHhtbFNBWDJFbmREb2N1bWVudDsKKyAgICBoZGxyLT5zdGFydEVsZW1lbnQgPSB4bWxTQVgyU3RhcnRFbGVtZW50OworICAgIGhkbHItPmVuZEVsZW1lbnQgPSB4bWxTQVgyRW5kRWxlbWVudDsKKyAgICBoZGxyLT5yZWZlcmVuY2UgPSB4bWxTQVgyUmVmZXJlbmNlOworICAgIGhkbHItPmNoYXJhY3RlcnMgPSB4bWxTQVgyQ2hhcmFjdGVyczsKKyAgICBoZGxyLT5jZGF0YUJsb2NrID0gTlVMTDsKKyAgICBoZGxyLT5pZ25vcmFibGVXaGl0ZXNwYWNlID0geG1sU0FYMklnbm9yYWJsZVdoaXRlc3BhY2U7CisgICAgaGRsci0+cHJvY2Vzc2luZ0luc3RydWN0aW9uID0gTlVMTDsKKyAgICBoZGxyLT5jb21tZW50ID0geG1sU0FYMkNvbW1lbnQ7CisgICAgaGRsci0+d2FybmluZyA9IHhtbFBhcnNlcldhcm5pbmc7CisgICAgaGRsci0+ZXJyb3IgPSB4bWxQYXJzZXJFcnJvcjsKKyAgICBoZGxyLT5mYXRhbEVycm9yID0geG1sUGFyc2VyRXJyb3I7CisKKyAgICBoZGxyLT5pbml0aWFsaXplZCA9IDE7Cit9CisKKyNlbmRpZiAvKiBMSUJYTUxfRE9DQl9FTkFCTEVEICovCisKKyNlbmRpZiAvKiBMSUJYTUxfU0FYMV9FTkFCTEVEICovCisKKyNkZWZpbmUgYm90dG9tX1NBWAorI2luY2x1ZGUgImVsZmdjY2hhY2suaCIKKyNlbmRpZiAvKiBMSUJYTUxfTEVHQUNZX0VOQUJMRUQgKi8KZGlmZiAtLWdpdCBhL2xpYnhtbDIvU0FYMi5jIGIvbGlieG1sMi9TQVgyLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmZlZjNlMQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvU0FYMi5jCkBAIC0wLDAgKzEsMzA0NSBAQAorLyoKKyAqIFNBWDIuYyA6IERlZmF1bHQgU0FYMiBoYW5kbGVyIHRvIGJ1aWxkIGEgdHJlZS4KKyAqCisgKiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisgKgorICogRGFuaWVsIFZlaWxsYXJkIDxkYW5pZWxAdmVpbGxhcmQuY29tPgorICovCisKKworI2RlZmluZSBJTl9MSUJYTUwKKyNpbmNsdWRlICJsaWJ4bWwuaCIKKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxsaW1pdHMuaD4KKyNpbmNsdWRlIDxsaWJ4bWwveG1sbWVtb3J5Lmg+CisjaW5jbHVkZSA8bGlieG1sL3RyZWUuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvcGFyc2VyLmg+CisjaW5jbHVkZSA8bGlieG1sL3BhcnNlckludGVybmFscy5oPgorI2luY2x1ZGUgPGxpYnhtbC92YWxpZC5oPgorI2luY2x1ZGUgPGxpYnhtbC9lbnRpdGllcy5oPgorI2luY2x1ZGUgPGxpYnhtbC94bWxlcnJvci5oPgorI2luY2x1ZGUgPGxpYnhtbC9kZWJ1Z1hNTC5oPgorI2luY2x1ZGUgPGxpYnhtbC94bWxJTy5oPgorI2luY2x1ZGUgPGxpYnhtbC9TQVguaD4KKyNpbmNsdWRlIDxsaWJ4bWwvdXJpLmg+CisjaW5jbHVkZSA8bGlieG1sL3ZhbGlkLmg+CisjaW5jbHVkZSA8bGlieG1sL0hUTUx0cmVlLmg+CisjaW5jbHVkZSA8bGlieG1sL2dsb2JhbHMuaD4KKworLyogRGVmaW5lIFNJWkVfVF9NQVggdW5sZXNzIGRlZmluZWQgdGhyb3VnaCA8bGltaXRzLmg+LiAqLworI2lmbmRlZiBTSVpFX1RfTUFYCisjIGRlZmluZSBTSVpFX1RfTUFYICAgICAoKHNpemVfdCktMSkKKyNlbmRpZiAvKiAhU0laRV9UX01BWCAqLworCisvKiAjZGVmaW5lIERFQlVHX1NBWDIgKi8KKy8qICNkZWZpbmUgREVCVUdfU0FYMl9UUkVFICovCisKKy8qKgorICogVE9ETzoKKyAqCisgKiBtYWNybyB0byBmbGFnIHVuaW1wbGVtZW50ZWQgYmxvY2tzCisgKiBYTUxfQ0FUQUxPR19QUkVGRVIgdXNlciBlbnYgdG8gc2VsZWN0IGJldHdlZW4gc3lzdGVtL3B1YmxpYyBwcmVmZXJlZAorICogb3B0aW9uLiBDLmYuIFJpY2hhcmQgVG9iaW4gPHJpY2hhcmRAY29nc2NpLmVkLmFjLnVrPgorICo+IEp1c3QgRllJLCBJIGFtIHVzaW5nIGFuIGVudmlyb25tZW50IHZhcmlhYmxlIFhNTF9DQVRBTE9HX1BSRUZFUiB3aXRoCisgKj4gdmFsdWVzICJzeXN0ZW0iIGFuZCAicHVibGljIi4gIEkgaGF2ZSBtYWRlIHRoZSBkZWZhdWx0IGJlICJzeXN0ZW0iIHRvCisgKj4gbWF0Y2ggeW91cnMuCisgKi8KKyNkZWZpbmUgVE9ETwkJCQkJCQkJXAorICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAkJCQlcCisJICAgICJVbmltcGxlbWVudGVkIGJsb2NrIGF0ICVzOiVkXG4iLAkJCQlcCisgICAgICAgICAgICBfX0ZJTEVfXywgX19MSU5FX18pOworCisvKgorICogeG1sU0FYMkVyck1lbW9yeToKKyAqIEBjdHh0OiAgYW4gWE1MIHZhbGlkYXRpb24gcGFyc2VyIGNvbnRleHQKKyAqIEBtc2c6ICAgYSBzdHJpbmcgdG8gYWNjb21wYW55IHRoZSBlcnJvciBtZXNzYWdlCisgKi8KK3N0YXRpYyB2b2lkCit4bWxTQVgyRXJyTWVtb3J5KHhtbFBhcnNlckN0eHRQdHIgY3R4dCwgY29uc3QgY2hhciAqbXNnKSB7CisgICAgeG1sU3RydWN0dXJlZEVycm9yRnVuYyBzY2hhbm5lbCA9IE5VTEw7CisgICAgY29uc3QgY2hhciAqc3RyMSA9ICJvdXQgb2YgbWVtb3J5XG4iOworCisgICAgaWYgKGN0eHQgIT0gTlVMTCkgeworCWN0eHQtPmVyck5vID0gWE1MX0VSUl9OT19NRU1PUlk7CisJaWYgKChjdHh0LT5zYXggIT0gTlVMTCkgJiYgKGN0eHQtPnNheC0+aW5pdGlhbGl6ZWQgPT0gWE1MX1NBWDJfTUFHSUMpKQorCSAgICBzY2hhbm5lbCA9IGN0eHQtPnNheC0+c2Vycm9yOworCV9feG1sUmFpc2VFcnJvcihzY2hhbm5lbCwKKwkJCWN0eHQtPnZjdHh0LmVycm9yLCBjdHh0LT52Y3R4dC51c2VyRGF0YSwKKwkJCWN0eHQsIE5VTEwsIFhNTF9GUk9NX1BBUlNFUiwgWE1MX0VSUl9OT19NRU1PUlksCisJCQlYTUxfRVJSX0VSUk9SLCBOVUxMLCAwLCAoY29uc3QgY2hhciAqKSBzdHIxLAorCQkJTlVMTCwgTlVMTCwgMCwgMCwKKwkJCW1zZywgKGNvbnN0IGNoYXIgKikgc3RyMSwgTlVMTCk7CisJY3R4dC0+ZXJyTm8gPSBYTUxfRVJSX05PX01FTU9SWTsKKwljdHh0LT5pbnN0YXRlID0gWE1MX1BBUlNFUl9FT0Y7CisJY3R4dC0+ZGlzYWJsZVNBWCA9IDE7CisgICAgfSBlbHNlIHsKKwlfX3htbFJhaXNlRXJyb3Ioc2NoYW5uZWwsCisJCQlOVUxMLCBOVUxMLAorCQkJY3R4dCwgTlVMTCwgWE1MX0ZST01fUEFSU0VSLCBYTUxfRVJSX05PX01FTU9SWSwKKwkJCVhNTF9FUlJfRVJST1IsIE5VTEwsIDAsIChjb25zdCBjaGFyICopIHN0cjEsCisJCQlOVUxMLCBOVUxMLCAwLCAwLAorCQkJbXNnLCAoY29uc3QgY2hhciAqKSBzdHIxLCBOVUxMKTsKKyAgICB9Cit9CisKKy8qKgorICogeG1sVmFsaWRFcnJvcjoKKyAqIEBjdHh0OiAgYW4gWE1MIHZhbGlkYXRpb24gcGFyc2VyIGNvbnRleHQKKyAqIEBlcnJvcjogIHRoZSBlcnJvciBudW1iZXIKKyAqIEBtc2c6ICB0aGUgZXJyb3IgbWVzc2FnZQorICogQHN0cjE6ICBleHRyYSBkYXRhCisgKiBAc3RyMjogIGV4dHJhIGRhdGEKKyAqCisgKiBIYW5kbGUgYSB2YWxpZGF0aW9uIGVycm9yCisgKi8KK3N0YXRpYyB2b2lkCit4bWxFcnJWYWxpZCh4bWxQYXJzZXJDdHh0UHRyIGN0eHQsIHhtbFBhcnNlckVycm9ycyBlcnJvciwKKyAgICAgICAgICAgIGNvbnN0IGNoYXIgKm1zZywgY29uc3QgY2hhciAqc3RyMSwgY29uc3QgY2hhciAqc3RyMikKK3sKKyAgICB4bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jIHNjaGFubmVsID0gTlVMTDsKKworICAgIGlmICgoY3R4dCAhPSBOVUxMKSAmJiAoY3R4dC0+ZGlzYWJsZVNBWCAhPSAwKSAmJgorICAgICAgICAoY3R4dC0+aW5zdGF0ZSA9PSBYTUxfUEFSU0VSX0VPRikpCisJcmV0dXJuOworICAgIGlmIChjdHh0ICE9IE5VTEwpIHsKKwljdHh0LT5lcnJObyA9IGVycm9yOworCWlmICgoY3R4dC0+c2F4ICE9IE5VTEwpICYmIChjdHh0LT5zYXgtPmluaXRpYWxpemVkID09IFhNTF9TQVgyX01BR0lDKSkKKwkgICAgc2NoYW5uZWwgPSBjdHh0LT5zYXgtPnNlcnJvcjsKKwlfX3htbFJhaXNlRXJyb3Ioc2NoYW5uZWwsCisJCQljdHh0LT52Y3R4dC5lcnJvciwgY3R4dC0+dmN0eHQudXNlckRhdGEsCisJCQljdHh0LCBOVUxMLCBYTUxfRlJPTV9EVEQsIGVycm9yLAorCQkJWE1MX0VSUl9FUlJPUiwgTlVMTCwgMCwgKGNvbnN0IGNoYXIgKikgc3RyMSwKKwkJCShjb25zdCBjaGFyICopIHN0cjIsIE5VTEwsIDAsIDAsCisJCQltc2csIChjb25zdCBjaGFyICopIHN0cjEsIChjb25zdCBjaGFyICopIHN0cjIpOworCWN0eHQtPnZhbGlkID0gMDsKKyAgICB9IGVsc2UgeworCV9feG1sUmFpc2VFcnJvcihzY2hhbm5lbCwKKwkJCU5VTEwsIE5VTEwsCisJCQljdHh0LCBOVUxMLCBYTUxfRlJPTV9EVEQsIGVycm9yLAorCQkJWE1MX0VSUl9FUlJPUiwgTlVMTCwgMCwgKGNvbnN0IGNoYXIgKikgc3RyMSwKKwkJCShjb25zdCBjaGFyICopIHN0cjIsIE5VTEwsIDAsIDAsCisJCQltc2csIChjb25zdCBjaGFyICopIHN0cjEsIChjb25zdCBjaGFyICopIHN0cjIpOworICAgIH0KK30KKworLyoqCisgKiB4bWxGYXRhbEVyck1zZzoKKyAqIEBjdHh0OiAgYW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAZXJyb3I6ICB0aGUgZXJyb3IgbnVtYmVyCisgKiBAbXNnOiAgdGhlIGVycm9yIG1lc3NhZ2UKKyAqIEBzdHIxOiAgYW4gZXJyb3Igc3RyaW5nCisgKiBAc3RyMjogIGFuIGVycm9yIHN0cmluZworICoKKyAqIEhhbmRsZSBhIGZhdGFsIHBhcnNlciBlcnJvciwgaS5lLiB2aW9sYXRpbmcgV2VsbC1Gb3JtZWRuZXNzIGNvbnN0cmFpbnRzCisgKi8KK3N0YXRpYyB2b2lkCit4bWxGYXRhbEVyck1zZyh4bWxQYXJzZXJDdHh0UHRyIGN0eHQsIHhtbFBhcnNlckVycm9ycyBlcnJvciwKKyAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKm1zZywgY29uc3QgeG1sQ2hhciAqc3RyMSwgY29uc3QgeG1sQ2hhciAqc3RyMikKK3sKKyAgICBpZiAoKGN0eHQgIT0gTlVMTCkgJiYgKGN0eHQtPmRpc2FibGVTQVggIT0gMCkgJiYKKyAgICAgICAgKGN0eHQtPmluc3RhdGUgPT0gWE1MX1BBUlNFUl9FT0YpKQorCXJldHVybjsKKyAgICBpZiAoY3R4dCAhPSBOVUxMKQorCWN0eHQtPmVyck5vID0gZXJyb3I7CisgICAgX194bWxSYWlzZUVycm9yKE5VTEwsIE5VTEwsIE5VTEwsIGN0eHQsIE5VTEwsIFhNTF9GUk9NX1BBUlNFUiwgZXJyb3IsCisgICAgICAgICAgICAgICAgICAgIFhNTF9FUlJfRkFUQUwsIE5VTEwsIDAsCisJCSAgICAoY29uc3QgY2hhciAqKSBzdHIxLCAoY29uc3QgY2hhciAqKSBzdHIyLAorCQkgICAgTlVMTCwgMCwgMCwgbXNnLCBzdHIxLCBzdHIyKTsKKyAgICBpZiAoY3R4dCAhPSBOVUxMKSB7CisJY3R4dC0+d2VsbEZvcm1lZCA9IDA7CisJY3R4dC0+dmFsaWQgPSAwOworCWlmIChjdHh0LT5yZWNvdmVyeSA9PSAwKQorCSAgICBjdHh0LT5kaXNhYmxlU0FYID0gMTsKKyAgICB9Cit9CisKKy8qKgorICogeG1sV2Fybk1zZzoKKyAqIEBjdHh0OiAgYW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAZXJyb3I6ICB0aGUgZXJyb3IgbnVtYmVyCisgKiBAbXNnOiAgdGhlIGVycm9yIG1lc3NhZ2UKKyAqIEBzdHIxOiAgYW4gZXJyb3Igc3RyaW5nCisgKiBAc3RyMjogIGFuIGVycm9yIHN0cmluZworICoKKyAqIEhhbmRsZSBhIHBhcnNlciB3YXJuaW5nCisgKi8KK3N0YXRpYyB2b2lkCit4bWxXYXJuTXNnKHhtbFBhcnNlckN0eHRQdHIgY3R4dCwgeG1sUGFyc2VyRXJyb3JzIGVycm9yLAorICAgICAgICAgICAgICAgY29uc3QgY2hhciAqbXNnLCBjb25zdCB4bWxDaGFyICpzdHIxKQoreworICAgIGlmICgoY3R4dCAhPSBOVUxMKSAmJiAoY3R4dC0+ZGlzYWJsZVNBWCAhPSAwKSAmJgorICAgICAgICAoY3R4dC0+aW5zdGF0ZSA9PSBYTUxfUEFSU0VSX0VPRikpCisJcmV0dXJuOworICAgIGlmIChjdHh0ICE9IE5VTEwpCisJY3R4dC0+ZXJyTm8gPSBlcnJvcjsKKyAgICBfX3htbFJhaXNlRXJyb3IoTlVMTCwgTlVMTCwgTlVMTCwgY3R4dCwgTlVMTCwgWE1MX0ZST01fUEFSU0VSLCBlcnJvciwKKyAgICAgICAgICAgICAgICAgICAgWE1MX0VSUl9XQVJOSU5HLCBOVUxMLCAwLAorCQkgICAgKGNvbnN0IGNoYXIgKikgc3RyMSwgTlVMTCwKKwkJICAgIE5VTEwsIDAsIDAsIG1zZywgc3RyMSk7Cit9CisKKy8qKgorICogeG1sTnNFcnJNc2c6CisgKiBAY3R4dDogIGFuIFhNTCBwYXJzZXIgY29udGV4dAorICogQGVycm9yOiAgdGhlIGVycm9yIG51bWJlcgorICogQG1zZzogIHRoZSBlcnJvciBtZXNzYWdlCisgKiBAc3RyMTogIGFuIGVycm9yIHN0cmluZworICogQHN0cjI6ICBhbiBlcnJvciBzdHJpbmcKKyAqCisgKiBIYW5kbGUgYSBuYW1lc3BhY2UgZXJyb3IKKyAqLworc3RhdGljIHZvaWQKK3htbE5zRXJyTXNnKHhtbFBhcnNlckN0eHRQdHIgY3R4dCwgeG1sUGFyc2VyRXJyb3JzIGVycm9yLAorICAgICAgICAgICAgY29uc3QgY2hhciAqbXNnLCBjb25zdCB4bWxDaGFyICpzdHIxLCBjb25zdCB4bWxDaGFyICpzdHIyKQoreworICAgIGlmICgoY3R4dCAhPSBOVUxMKSAmJiAoY3R4dC0+ZGlzYWJsZVNBWCAhPSAwKSAmJgorICAgICAgICAoY3R4dC0+aW5zdGF0ZSA9PSBYTUxfUEFSU0VSX0VPRikpCisJcmV0dXJuOworICAgIGlmIChjdHh0ICE9IE5VTEwpCisJY3R4dC0+ZXJyTm8gPSBlcnJvcjsKKyAgICBfX3htbFJhaXNlRXJyb3IoTlVMTCwgTlVMTCwgTlVMTCwgY3R4dCwgTlVMTCwgWE1MX0ZST01fTkFNRVNQQUNFLCBlcnJvciwKKyAgICAgICAgICAgICAgICAgICAgWE1MX0VSUl9FUlJPUiwgTlVMTCwgMCwKKwkJICAgIChjb25zdCBjaGFyICopIHN0cjEsIChjb25zdCBjaGFyICopIHN0cjIsCisJCSAgICBOVUxMLCAwLCAwLCBtc2csIHN0cjEsIHN0cjIpOworfQorCisvKioKKyAqIHhtbE5zV2Fybk1zZzoKKyAqIEBjdHh0OiAgYW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAZXJyb3I6ICB0aGUgZXJyb3IgbnVtYmVyCisgKiBAbXNnOiAgdGhlIGVycm9yIG1lc3NhZ2UKKyAqIEBzdHIxOiAgYW4gZXJyb3Igc3RyaW5nCisgKgorICogSGFuZGxlIGEgbmFtZXNwYWNlIHdhcm5pbmcKKyAqLworc3RhdGljIHZvaWQKK3htbE5zV2Fybk1zZyh4bWxQYXJzZXJDdHh0UHRyIGN0eHQsIHhtbFBhcnNlckVycm9ycyBlcnJvciwKKyAgICAgICAgICAgICBjb25zdCBjaGFyICptc2csIGNvbnN0IHhtbENoYXIgKnN0cjEsIGNvbnN0IHhtbENoYXIgKnN0cjIpCit7CisgICAgaWYgKChjdHh0ICE9IE5VTEwpICYmIChjdHh0LT5kaXNhYmxlU0FYICE9IDApICYmCisgICAgICAgIChjdHh0LT5pbnN0YXRlID09IFhNTF9QQVJTRVJfRU9GKSkKKwlyZXR1cm47CisgICAgaWYgKGN0eHQgIT0gTlVMTCkKKwljdHh0LT5lcnJObyA9IGVycm9yOworICAgIF9feG1sUmFpc2VFcnJvcihOVUxMLCBOVUxMLCBOVUxMLCBjdHh0LCBOVUxMLCBYTUxfRlJPTV9OQU1FU1BBQ0UsIGVycm9yLAorICAgICAgICAgICAgICAgICAgICBYTUxfRVJSX1dBUk5JTkcsIE5VTEwsIDAsCisJCSAgICAoY29uc3QgY2hhciAqKSBzdHIxLCAoY29uc3QgY2hhciAqKSBzdHIyLAorCQkgICAgTlVMTCwgMCwgMCwgbXNnLCBzdHIxLCBzdHIyKTsKK30KKworLyoqCisgKiB4bWxTQVgyR2V0UHVibGljSWQ6CisgKiBAY3R4OiB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpCisgKgorICogUHJvdmlkZXMgdGhlIHB1YmxpYyBJRCBlLmcuICItLy9TR01MU09VUkNFLy9EVEQgREVNTy8vRU4iCisgKgorICogUmV0dXJucyBhIHhtbENoYXIgKgorICovCitjb25zdCB4bWxDaGFyICoKK3htbFNBWDJHZXRQdWJsaWNJZCh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCkKK3sKKyAgICAvKiB4bWxQYXJzZXJDdHh0UHRyIGN0eHQgPSAoeG1sUGFyc2VyQ3R4dFB0cikgY3R4OyAqLworICAgIHJldHVybihOVUxMKTsKK30KKworLyoqCisgKiB4bWxTQVgyR2V0U3lzdGVtSWQ6CisgKiBAY3R4OiB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpCisgKgorICogUHJvdmlkZXMgdGhlIHN5c3RlbSBJRCwgYmFzaWNhbGx5IFVSTCBvciBmaWxlbmFtZSBlLmcuCisgKiBodHRwOi8vd3d3LnNnbWxzb3VyY2UuY29tL2R0ZHMvbWVtby5kdGQKKyAqCisgKiBSZXR1cm5zIGEgeG1sQ2hhciAqCisgKi8KK2NvbnN0IHhtbENoYXIgKgoreG1sU0FYMkdldFN5c3RlbUlkKHZvaWQgKmN0eCkKK3sKKyAgICB4bWxQYXJzZXJDdHh0UHRyIGN0eHQgPSAoeG1sUGFyc2VyQ3R4dFB0cikgY3R4OworICAgIGlmICgoY3R4ID09IE5VTEwpIHx8IChjdHh0LT5pbnB1dCA9PSBOVUxMKSkgcmV0dXJuKE5VTEwpOworICAgIHJldHVybigoY29uc3QgeG1sQ2hhciAqKSBjdHh0LT5pbnB1dC0+ZmlsZW5hbWUpOworfQorCisvKioKKyAqIHhtbFNBWDJHZXRMaW5lTnVtYmVyOgorICogQGN0eDogdGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KQorICoKKyAqIFByb3ZpZGUgdGhlIGxpbmUgbnVtYmVyIG9mIHRoZSBjdXJyZW50IHBhcnNpbmcgcG9pbnQuCisgKgorICogUmV0dXJucyBhbiBpbnQKKyAqLworaW50Cit4bWxTQVgyR2V0TGluZU51bWJlcih2b2lkICpjdHgpCit7CisgICAgeG1sUGFyc2VyQ3R4dFB0ciBjdHh0ID0gKHhtbFBhcnNlckN0eHRQdHIpIGN0eDsKKyAgICBpZiAoKGN0eCA9PSBOVUxMKSB8fCAoY3R4dC0+aW5wdXQgPT0gTlVMTCkpIHJldHVybigwKTsKKyAgICByZXR1cm4oY3R4dC0+aW5wdXQtPmxpbmUpOworfQorCisvKioKKyAqIHhtbFNBWDJHZXRDb2x1bW5OdW1iZXI6CisgKiBAY3R4OiB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpCisgKgorICogUHJvdmlkZSB0aGUgY29sdW1uIG51bWJlciBvZiB0aGUgY3VycmVudCBwYXJzaW5nIHBvaW50LgorICoKKyAqIFJldHVybnMgYW4gaW50CisgKi8KK2ludAoreG1sU0FYMkdldENvbHVtbk51bWJlcih2b2lkICpjdHgpCit7CisgICAgeG1sUGFyc2VyQ3R4dFB0ciBjdHh0ID0gKHhtbFBhcnNlckN0eHRQdHIpIGN0eDsKKyAgICBpZiAoKGN0eCA9PSBOVUxMKSB8fCAoY3R4dC0+aW5wdXQgPT0gTlVMTCkpIHJldHVybigwKTsKKyAgICByZXR1cm4oY3R4dC0+aW5wdXQtPmNvbCk7Cit9CisKKy8qKgorICogeG1sU0FYMklzU3RhbmRhbG9uZToKKyAqIEBjdHg6IHRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCkKKyAqCisgKiBJcyB0aGlzIGRvY3VtZW50IHRhZ2dlZCBzdGFuZGFsb25lID8KKyAqCisgKiBSZXR1cm5zIDEgaWYgdHJ1ZQorICovCitpbnQKK3htbFNBWDJJc1N0YW5kYWxvbmUodm9pZCAqY3R4KQoreworICAgIHhtbFBhcnNlckN0eHRQdHIgY3R4dCA9ICh4bWxQYXJzZXJDdHh0UHRyKSBjdHg7CisgICAgaWYgKChjdHggPT0gTlVMTCkgfHwgKGN0eHQtPm15RG9jID09IE5VTEwpKSByZXR1cm4oMCk7CisgICAgcmV0dXJuKGN0eHQtPm15RG9jLT5zdGFuZGFsb25lID09IDEpOworfQorCisvKioKKyAqIHhtbFNBWDJIYXNJbnRlcm5hbFN1YnNldDoKKyAqIEBjdHg6IHRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCkKKyAqCisgKiBEb2VzIHRoaXMgZG9jdW1lbnQgaGFzIGFuIGludGVybmFsIHN1YnNldAorICoKKyAqIFJldHVybnMgMSBpZiB0cnVlCisgKi8KK2ludAoreG1sU0FYMkhhc0ludGVybmFsU3Vic2V0KHZvaWQgKmN0eCkKK3sKKyAgICB4bWxQYXJzZXJDdHh0UHRyIGN0eHQgPSAoeG1sUGFyc2VyQ3R4dFB0cikgY3R4OworICAgIGlmICgoY3R4dCA9PSBOVUxMKSB8fCAoY3R4dC0+bXlEb2MgPT0gTlVMTCkpIHJldHVybigwKTsKKyAgICByZXR1cm4oY3R4dC0+bXlEb2MtPmludFN1YnNldCAhPSBOVUxMKTsKK30KKworLyoqCisgKiB4bWxTQVgySGFzRXh0ZXJuYWxTdWJzZXQ6CisgKiBAY3R4OiB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpCisgKgorICogRG9lcyB0aGlzIGRvY3VtZW50IGhhcyBhbiBleHRlcm5hbCBzdWJzZXQKKyAqCisgKiBSZXR1cm5zIDEgaWYgdHJ1ZQorICovCitpbnQKK3htbFNBWDJIYXNFeHRlcm5hbFN1YnNldCh2b2lkICpjdHgpCit7CisgICAgeG1sUGFyc2VyQ3R4dFB0ciBjdHh0ID0gKHhtbFBhcnNlckN0eHRQdHIpIGN0eDsKKyAgICBpZiAoKGN0eHQgPT0gTlVMTCkgfHwgKGN0eHQtPm15RG9jID09IE5VTEwpKSByZXR1cm4oMCk7CisgICAgcmV0dXJuKGN0eHQtPm15RG9jLT5leHRTdWJzZXQgIT0gTlVMTCk7Cit9CisKKy8qKgorICogeG1sU0FYMkludGVybmFsU3Vic2V0OgorICogQGN0eDogIHRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCkKKyAqIEBuYW1lOiAgdGhlIHJvb3QgZWxlbWVudCBuYW1lCisgKiBARXh0ZXJuYWxJRDogIHRoZSBleHRlcm5hbCBJRAorICogQFN5c3RlbUlEOiAgdGhlIFNZU1RFTSBJRCAoZS5nLiBmaWxlbmFtZSBvciBVUkwpCisgKgorICogQ2FsbGJhY2sgb24gaW50ZXJuYWwgc3Vic2V0IGRlY2xhcmF0aW9uLgorICovCit2b2lkCit4bWxTQVgySW50ZXJuYWxTdWJzZXQodm9pZCAqY3R4LCBjb25zdCB4bWxDaGFyICpuYW1lLAorCSAgICAgICBjb25zdCB4bWxDaGFyICpFeHRlcm5hbElELCBjb25zdCB4bWxDaGFyICpTeXN0ZW1JRCkKK3sKKyAgICB4bWxQYXJzZXJDdHh0UHRyIGN0eHQgPSAoeG1sUGFyc2VyQ3R4dFB0cikgY3R4OworICAgIHhtbER0ZFB0ciBkdGQ7CisgICAgaWYgKGN0eCA9PSBOVUxMKSByZXR1cm47CisjaWZkZWYgREVCVUdfU0FYCisgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJICAgICJTQVgueG1sU0FYMkludGVybmFsU3Vic2V0KCVzLCAlcywgJXMpXG4iLAorICAgICAgICAgICAgbmFtZSwgRXh0ZXJuYWxJRCwgU3lzdGVtSUQpOworI2VuZGlmCisKKyAgICBpZiAoY3R4dC0+bXlEb2MgPT0gTlVMTCkKKwlyZXR1cm47CisgICAgZHRkID0geG1sR2V0SW50U3Vic2V0KGN0eHQtPm15RG9jKTsKKyAgICBpZiAoZHRkICE9IE5VTEwpIHsKKwlpZiAoY3R4dC0+aHRtbCkKKwkgICAgcmV0dXJuOworCXhtbFVubGlua05vZGUoKHhtbE5vZGVQdHIpIGR0ZCk7CisJeG1sRnJlZUR0ZChkdGQpOworCWN0eHQtPm15RG9jLT5pbnRTdWJzZXQgPSBOVUxMOworICAgIH0KKyAgICBjdHh0LT5teURvYy0+aW50U3Vic2V0ID0KKwl4bWxDcmVhdGVJbnRTdWJzZXQoY3R4dC0+bXlEb2MsIG5hbWUsIEV4dGVybmFsSUQsIFN5c3RlbUlEKTsKKyAgICBpZiAoY3R4dC0+bXlEb2MtPmludFN1YnNldCA9PSBOVUxMKQorICAgICAgICB4bWxTQVgyRXJyTWVtb3J5KGN0eHQsICJ4bWxTQVgySW50ZXJuYWxTdWJzZXQiKTsKK30KKworLyoqCisgKiB4bWxTQVgyRXh0ZXJuYWxTdWJzZXQ6CisgKiBAY3R4OiB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpCisgKiBAbmFtZTogIHRoZSByb290IGVsZW1lbnQgbmFtZQorICogQEV4dGVybmFsSUQ6ICB0aGUgZXh0ZXJuYWwgSUQKKyAqIEBTeXN0ZW1JRDogIHRoZSBTWVNURU0gSUQgKGUuZy4gZmlsZW5hbWUgb3IgVVJMKQorICoKKyAqIENhbGxiYWNrIG9uIGV4dGVybmFsIHN1YnNldCBkZWNsYXJhdGlvbi4KKyAqLwordm9pZAoreG1sU0FYMkV4dGVybmFsU3Vic2V0KHZvaWQgKmN0eCwgY29uc3QgeG1sQ2hhciAqbmFtZSwKKwkgICAgICAgY29uc3QgeG1sQ2hhciAqRXh0ZXJuYWxJRCwgY29uc3QgeG1sQ2hhciAqU3lzdGVtSUQpCit7CisgICAgeG1sUGFyc2VyQ3R4dFB0ciBjdHh0ID0gKHhtbFBhcnNlckN0eHRQdHIpIGN0eDsKKyAgICBpZiAoY3R4ID09IE5VTEwpIHJldHVybjsKKyNpZmRlZiBERUJVR19TQVgKKyAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkgICAgIlNBWC54bWxTQVgyRXh0ZXJuYWxTdWJzZXQoJXMsICVzLCAlcylcbiIsCisgICAgICAgICAgICBuYW1lLCBFeHRlcm5hbElELCBTeXN0ZW1JRCk7CisjZW5kaWYKKyAgICBpZiAoKChFeHRlcm5hbElEICE9IE5VTEwpIHx8IChTeXN0ZW1JRCAhPSBOVUxMKSkgJiYKKyAgICAgICAgKCgoY3R4dC0+dmFsaWRhdGUpIHx8IChjdHh0LT5sb2Fkc3Vic2V0ICE9IDApKSAmJgorCSAoY3R4dC0+d2VsbEZvcm1lZCAmJiBjdHh0LT5teURvYykpKSB7CisJLyoKKwkgKiBUcnkgdG8gZmV0Y2ggYW5kIHBhcnNlIHRoZSBleHRlcm5hbCBzdWJzZXQuCisJICovCisJeG1sUGFyc2VySW5wdXRQdHIgb2xkaW5wdXQ7CisJaW50IG9sZGlucHV0TnI7CisJaW50IG9sZGlucHV0TWF4OworCXhtbFBhcnNlcklucHV0UHRyICpvbGRpbnB1dFRhYjsKKwl4bWxQYXJzZXJJbnB1dFB0ciBpbnB1dCA9IE5VTEw7CisJeG1sQ2hhckVuY29kaW5nIGVuYzsKKwlpbnQgb2xkY2hhcnNldDsKKwljb25zdCB4bWxDaGFyICpvbGRlbmNvZGluZzsKKworCS8qCisJICogQXNrIHRoZSBFbnRpdHkgcmVzb2x2ZXIgdG8gbG9hZCB0aGUgZGFtbiB0aGluZworCSAqLworCWlmICgoY3R4dC0+c2F4ICE9IE5VTEwpICYmIChjdHh0LT5zYXgtPnJlc29sdmVFbnRpdHkgIT0gTlVMTCkpCisJICAgIGlucHV0ID0gY3R4dC0+c2F4LT5yZXNvbHZlRW50aXR5KGN0eHQtPnVzZXJEYXRhLCBFeHRlcm5hbElELAorCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTeXN0ZW1JRCk7CisJaWYgKGlucHV0ID09IE5VTEwpIHsKKwkgICAgcmV0dXJuOworCX0KKworCXhtbE5ld0R0ZChjdHh0LT5teURvYywgbmFtZSwgRXh0ZXJuYWxJRCwgU3lzdGVtSUQpOworCisJLyoKKwkgKiBtYWtlIHN1cmUgd2Ugd29uJ3QgZGVzdHJveSB0aGUgbWFpbiBkb2N1bWVudCBjb250ZXh0CisJICovCisJb2xkaW5wdXQgPSBjdHh0LT5pbnB1dDsKKwlvbGRpbnB1dE5yID0gY3R4dC0+aW5wdXROcjsKKwlvbGRpbnB1dE1heCA9IGN0eHQtPmlucHV0TWF4OworCW9sZGlucHV0VGFiID0gY3R4dC0+aW5wdXRUYWI7CisJb2xkY2hhcnNldCA9IGN0eHQtPmNoYXJzZXQ7CisJb2xkZW5jb2RpbmcgPSBjdHh0LT5lbmNvZGluZzsKKwljdHh0LT5lbmNvZGluZyA9IE5VTEw7CisKKwljdHh0LT5pbnB1dFRhYiA9ICh4bWxQYXJzZXJJbnB1dFB0ciAqKQorCSAgICAgICAgICAgICAgICAgeG1sTWFsbG9jKDUgKiBzaXplb2YoeG1sUGFyc2VySW5wdXRQdHIpKTsKKwlpZiAoY3R4dC0+aW5wdXRUYWIgPT0gTlVMTCkgeworCSAgICB4bWxTQVgyRXJyTWVtb3J5KGN0eHQsICJ4bWxTQVgyRXh0ZXJuYWxTdWJzZXQiKTsKKwkgICAgY3R4dC0+aW5wdXQgPSBvbGRpbnB1dDsKKwkgICAgY3R4dC0+aW5wdXROciA9IG9sZGlucHV0TnI7CisJICAgIGN0eHQtPmlucHV0TWF4ID0gb2xkaW5wdXRNYXg7CisJICAgIGN0eHQtPmlucHV0VGFiID0gb2xkaW5wdXRUYWI7CisJICAgIGN0eHQtPmNoYXJzZXQgPSBvbGRjaGFyc2V0OworCSAgICBjdHh0LT5lbmNvZGluZyA9IG9sZGVuY29kaW5nOworCSAgICByZXR1cm47CisJfQorCWN0eHQtPmlucHV0TnIgPSAwOworCWN0eHQtPmlucHV0TWF4ID0gNTsKKwljdHh0LT5pbnB1dCA9IE5VTEw7CisJeG1sUHVzaElucHV0KGN0eHQsIGlucHV0KTsKKworCS8qCisJICogT24gdGhlIGZseSBlbmNvZGluZyBjb252ZXJzaW9uIGlmIG5lZWRlZAorCSAqLworCWlmIChjdHh0LT5pbnB1dC0+bGVuZ3RoID49IDQpIHsKKwkgICAgZW5jID0geG1sRGV0ZWN0Q2hhckVuY29kaW5nKGN0eHQtPmlucHV0LT5jdXIsIDQpOworCSAgICB4bWxTd2l0Y2hFbmNvZGluZyhjdHh0LCBlbmMpOworCX0KKworCWlmIChpbnB1dC0+ZmlsZW5hbWUgPT0gTlVMTCkKKwkgICAgaW5wdXQtPmZpbGVuYW1lID0gKGNoYXIgKikgeG1sQ2Fub25pY1BhdGgoU3lzdGVtSUQpOworCWlucHV0LT5saW5lID0gMTsKKwlpbnB1dC0+Y29sID0gMTsKKwlpbnB1dC0+YmFzZSA9IGN0eHQtPmlucHV0LT5jdXI7CisJaW5wdXQtPmN1ciA9IGN0eHQtPmlucHV0LT5jdXI7CisJaW5wdXQtPmZyZWUgPSBOVUxMOworCisJLyoKKwkgKiBsZXQncyBwYXJzZSB0aGF0IGVudGl0eSBrbm93aW5nIGl0J3MgYW4gZXh0ZXJuYWwgc3Vic2V0LgorCSAqLworCXhtbFBhcnNlRXh0ZXJuYWxTdWJzZXQoY3R4dCwgRXh0ZXJuYWxJRCwgU3lzdGVtSUQpOworCisgICAgICAgIC8qCisJICogRnJlZSB1cCB0aGUgZXh0ZXJuYWwgZW50aXRpZXMKKwkgKi8KKworCXdoaWxlIChjdHh0LT5pbnB1dE5yID4gMSkKKwkgICAgeG1sUG9wSW5wdXQoY3R4dCk7CisJeG1sRnJlZUlucHV0U3RyZWFtKGN0eHQtPmlucHV0KTsKKyAgICAgICAgeG1sRnJlZShjdHh0LT5pbnB1dFRhYik7CisKKwkvKgorCSAqIFJlc3RvcmUgdGhlIHBhcnNpbmcgY29udGV4dCBvZiB0aGUgbWFpbiBlbnRpdHkKKwkgKi8KKwljdHh0LT5pbnB1dCA9IG9sZGlucHV0OworCWN0eHQtPmlucHV0TnIgPSBvbGRpbnB1dE5yOworCWN0eHQtPmlucHV0TWF4ID0gb2xkaW5wdXRNYXg7CisJY3R4dC0+aW5wdXRUYWIgPSBvbGRpbnB1dFRhYjsKKwljdHh0LT5jaGFyc2V0ID0gb2xkY2hhcnNldDsKKwlpZiAoKGN0eHQtPmVuY29kaW5nICE9IE5VTEwpICYmCisJICAgICgoY3R4dC0+ZGljdCA9PSBOVUxMKSB8fAorCSAgICAgKCF4bWxEaWN0T3ducyhjdHh0LT5kaWN0LCBjdHh0LT5lbmNvZGluZykpKSkKKwkgICAgeG1sRnJlZSgoeG1sQ2hhciAqKSBjdHh0LT5lbmNvZGluZyk7CisJY3R4dC0+ZW5jb2RpbmcgPSBvbGRlbmNvZGluZzsKKwkvKiBjdHh0LT53ZWxsRm9ybWVkID0gb2xkd2VsbEZvcm1lZDsgKi8KKyAgICB9Cit9CisKKy8qKgorICogeG1sU0FYMlJlc29sdmVFbnRpdHk6CisgKiBAY3R4OiB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpCisgKiBAcHVibGljSWQ6IFRoZSBwdWJsaWMgSUQgb2YgdGhlIGVudGl0eQorICogQHN5c3RlbUlkOiBUaGUgc3lzdGVtIElEIG9mIHRoZSBlbnRpdHkKKyAqCisgKiBUaGUgZW50aXR5IGxvYWRlciwgdG8gY29udHJvbCB0aGUgbG9hZGluZyBvZiBleHRlcm5hbCBlbnRpdGllcywKKyAqIHRoZSBhcHBsaWNhdGlvbiBjYW4gZWl0aGVyOgorICogICAgLSBvdmVycmlkZSB0aGlzIHhtbFNBWDJSZXNvbHZlRW50aXR5KCkgY2FsbGJhY2sgaW4gdGhlIFNBWCBibG9jaworICogICAgLSBvciBiZXR0ZXIgdXNlIHRoZSB4bWxTZXRFeHRlcm5hbEVudGl0eUxvYWRlcigpIGZ1bmN0aW9uIHRvCisgKiAgICAgIHNldCB1cCBpdCdzIG93biBlbnRpdHkgcmVzb2x1dGlvbiByb3V0aW5lCisgKgorICogUmV0dXJucyB0aGUgeG1sUGFyc2VySW5wdXRQdHIgaWYgaW5saW5lZCBvciBOVUxMIGZvciBET00gYmVoYXZpb3VyLgorICovCit4bWxQYXJzZXJJbnB1dFB0cgoreG1sU0FYMlJlc29sdmVFbnRpdHkodm9pZCAqY3R4LCBjb25zdCB4bWxDaGFyICpwdWJsaWNJZCwgY29uc3QgeG1sQ2hhciAqc3lzdGVtSWQpCit7CisgICAgeG1sUGFyc2VyQ3R4dFB0ciBjdHh0ID0gKHhtbFBhcnNlckN0eHRQdHIpIGN0eDsKKyAgICB4bWxQYXJzZXJJbnB1dFB0ciByZXQ7CisgICAgeG1sQ2hhciAqVVJJOworICAgIGNvbnN0IGNoYXIgKmJhc2UgPSBOVUxMOworCisgICAgaWYgKGN0eCA9PSBOVUxMKSByZXR1cm4oTlVMTCk7CisgICAgaWYgKGN0eHQtPmlucHV0ICE9IE5VTEwpCisJYmFzZSA9IGN0eHQtPmlucHV0LT5maWxlbmFtZTsKKyAgICBpZiAoYmFzZSA9PSBOVUxMKQorCWJhc2UgPSBjdHh0LT5kaXJlY3Rvcnk7CisKKyAgICBVUkkgPSB4bWxCdWlsZFVSSShzeXN0ZW1JZCwgKGNvbnN0IHhtbENoYXIgKikgYmFzZSk7CisKKyNpZmRlZiBERUJVR19TQVgKKyAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkgICAgIlNBWC54bWxTQVgyUmVzb2x2ZUVudGl0eSglcywgJXMpXG4iLCBwdWJsaWNJZCwgc3lzdGVtSWQpOworI2VuZGlmCisKKyAgICByZXQgPSB4bWxMb2FkRXh0ZXJuYWxFbnRpdHkoKGNvbnN0IGNoYXIgKikgVVJJLAorCQkJCShjb25zdCBjaGFyICopIHB1YmxpY0lkLCBjdHh0KTsKKyAgICBpZiAoVVJJICE9IE5VTEwpCisJeG1sRnJlZShVUkkpOworICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbFNBWDJHZXRFbnRpdHk6CisgKiBAY3R4OiB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpCisgKiBAbmFtZTogVGhlIGVudGl0eSBuYW1lCisgKgorICogR2V0IGFuIGVudGl0eSBieSBuYW1lCisgKgorICogUmV0dXJucyB0aGUgeG1sRW50aXR5UHRyIGlmIGZvdW5kLgorICovCit4bWxFbnRpdHlQdHIKK3htbFNBWDJHZXRFbnRpdHkodm9pZCAqY3R4LCBjb25zdCB4bWxDaGFyICpuYW1lKQoreworICAgIHhtbFBhcnNlckN0eHRQdHIgY3R4dCA9ICh4bWxQYXJzZXJDdHh0UHRyKSBjdHg7CisgICAgeG1sRW50aXR5UHRyIHJldCA9IE5VTEw7CisKKyAgICBpZiAoY3R4ID09IE5VTEwpIHJldHVybihOVUxMKTsKKyNpZmRlZiBERUJVR19TQVgKKyAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkgICAgIlNBWC54bWxTQVgyR2V0RW50aXR5KCVzKVxuIiwgbmFtZSk7CisjZW5kaWYKKworICAgIGlmIChjdHh0LT5pblN1YnNldCA9PSAwKSB7CisJcmV0ID0geG1sR2V0UHJlZGVmaW5lZEVudGl0eShuYW1lKTsKKwlpZiAocmV0ICE9IE5VTEwpCisJICAgIHJldHVybihyZXQpOworICAgIH0KKyAgICBpZiAoKGN0eHQtPm15RG9jICE9IE5VTEwpICYmIChjdHh0LT5teURvYy0+c3RhbmRhbG9uZSA9PSAxKSkgeworCWlmIChjdHh0LT5pblN1YnNldCA9PSAyKSB7CisJICAgIGN0eHQtPm15RG9jLT5zdGFuZGFsb25lID0gMDsKKwkgICAgcmV0ID0geG1sR2V0RG9jRW50aXR5KGN0eHQtPm15RG9jLCBuYW1lKTsKKwkgICAgY3R4dC0+bXlEb2MtPnN0YW5kYWxvbmUgPSAxOworCX0gZWxzZSB7CisJICAgIHJldCA9IHhtbEdldERvY0VudGl0eShjdHh0LT5teURvYywgbmFtZSk7CisJICAgIGlmIChyZXQgPT0gTlVMTCkgeworCQljdHh0LT5teURvYy0+c3RhbmRhbG9uZSA9IDA7CisJCXJldCA9IHhtbEdldERvY0VudGl0eShjdHh0LT5teURvYywgbmFtZSk7CisJCWlmIChyZXQgIT0gTlVMTCkgeworCQkgICAgeG1sRmF0YWxFcnJNc2coY3R4dCwgWE1MX0VSUl9OT1RfU1RBTkRBTE9ORSwKKwkgIkVudGl0eSglcykgZG9jdW1lbnQgbWFya2VkIHN0YW5kYWxvbmUgYnV0IHJlcXVpcmVzIGV4dGVybmFsIHN1YnNldFxuIiwKKwkJCQkgICBuYW1lLCBOVUxMKTsKKwkJfQorCQljdHh0LT5teURvYy0+c3RhbmRhbG9uZSA9IDE7CisJICAgIH0KKwl9CisgICAgfSBlbHNlIHsKKwlyZXQgPSB4bWxHZXREb2NFbnRpdHkoY3R4dC0+bXlEb2MsIG5hbWUpOworICAgIH0KKyAgICBpZiAoKHJldCAhPSBOVUxMKSAmJgorCSgoY3R4dC0+dmFsaWRhdGUpIHx8IChjdHh0LT5yZXBsYWNlRW50aXRpZXMpKSAmJgorCShyZXQtPmNoaWxkcmVuID09IE5VTEwpICYmCisJKHJldC0+ZXR5cGUgPT0gWE1MX0VYVEVSTkFMX0dFTkVSQUxfUEFSU0VEX0VOVElUWSkpIHsKKwlpbnQgdmFsOworCisJLyoKKwkgKiBmb3IgdmFsaWRhdGlvbiBwdXJwb3NlcyB3ZSByZWFsbHkgbmVlZCB0byBmZXRjaCBhbmQKKwkgKiBwYXJzZSB0aGUgZXh0ZXJuYWwgZW50aXR5CisJICovCisJeG1sTm9kZVB0ciBjaGlsZHJlbjsKKwl1bnNpZ25lZCBsb25nIG9sZG5iZW50ID0gY3R4dC0+bmJlbnRpdGllczsKKworICAgICAgICB2YWwgPSB4bWxQYXJzZUN0eHRFeHRlcm5hbEVudGl0eShjdHh0LCByZXQtPlVSSSwKKwkJICAgICAgICAgICAgICAgICAgICAgICAgIHJldC0+RXh0ZXJuYWxJRCwgJmNoaWxkcmVuKTsKKwlpZiAodmFsID09IDApIHsKKwkgICAgeG1sQWRkQ2hpbGRMaXN0KCh4bWxOb2RlUHRyKSByZXQsIGNoaWxkcmVuKTsKKwl9IGVsc2UgeworCSAgICB4bWxGYXRhbEVyck1zZyhjdHh0LCBYTUxfRVJSX0VOVElUWV9QUk9DRVNTSU5HLAorCQkgICAgICAgICAgICJGYWlsdXJlIHRvIHByb2Nlc3MgZW50aXR5ICVzXG4iLCBuYW1lLCBOVUxMKTsKKwkgICAgY3R4dC0+dmFsaWRhdGUgPSAwOworCSAgICByZXR1cm4oTlVMTCk7CisJfQorCXJldC0+b3duZXIgPSAxOworCWlmIChyZXQtPmNoZWNrZWQgPT0gMCkgeworCSAgICByZXQtPmNoZWNrZWQgPSAoY3R4dC0+bmJlbnRpdGllcyAtIG9sZG5iZW50ICsgMSkgKiAyOworCSAgICBpZiAoKHJldC0+Y29udGVudCAhPSBOVUxMKSAmJiAoeG1sU3RyY2hyKHJldC0+Y29udGVudCwgJzwnKSkpCisJICAgICAgICByZXQtPmNoZWNrZWQgfD0gMTsKKwl9CisgICAgfQorICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbFNBWDJHZXRQYXJhbWV0ZXJFbnRpdHk6CisgKiBAY3R4OiB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpCisgKiBAbmFtZTogVGhlIGVudGl0eSBuYW1lCisgKgorICogR2V0IGEgcGFyYW1ldGVyIGVudGl0eSBieSBuYW1lCisgKgorICogUmV0dXJucyB0aGUgeG1sRW50aXR5UHRyIGlmIGZvdW5kLgorICovCit4bWxFbnRpdHlQdHIKK3htbFNBWDJHZXRQYXJhbWV0ZXJFbnRpdHkodm9pZCAqY3R4LCBjb25zdCB4bWxDaGFyICpuYW1lKQoreworICAgIHhtbFBhcnNlckN0eHRQdHIgY3R4dCA9ICh4bWxQYXJzZXJDdHh0UHRyKSBjdHg7CisgICAgeG1sRW50aXR5UHRyIHJldDsKKworICAgIGlmIChjdHggPT0gTlVMTCkgcmV0dXJuKE5VTEwpOworI2lmZGVmIERFQlVHX1NBWAorICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCSAgICAiU0FYLnhtbFNBWDJHZXRQYXJhbWV0ZXJFbnRpdHkoJXMpXG4iLCBuYW1lKTsKKyNlbmRpZgorCisgICAgcmV0ID0geG1sR2V0UGFyYW1ldGVyRW50aXR5KGN0eHQtPm15RG9jLCBuYW1lKTsKKyAgICByZXR1cm4ocmV0KTsKK30KKworCisvKioKKyAqIHhtbFNBWDJFbnRpdHlEZWNsOgorICogQGN0eDogdGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KQorICogQG5hbWU6ICB0aGUgZW50aXR5IG5hbWUKKyAqIEB0eXBlOiAgdGhlIGVudGl0eSB0eXBlCisgKiBAcHVibGljSWQ6IFRoZSBwdWJsaWMgSUQgb2YgdGhlIGVudGl0eQorICogQHN5c3RlbUlkOiBUaGUgc3lzdGVtIElEIG9mIHRoZSBlbnRpdHkKKyAqIEBjb250ZW50OiB0aGUgZW50aXR5IHZhbHVlICh3aXRob3V0IHByb2Nlc3NpbmcpLgorICoKKyAqIEFuIGVudGl0eSBkZWZpbml0aW9uIGhhcyBiZWVuIHBhcnNlZAorICovCit2b2lkCit4bWxTQVgyRW50aXR5RGVjbCh2b2lkICpjdHgsIGNvbnN0IHhtbENoYXIgKm5hbWUsIGludCB0eXBlLAorICAgICAgICAgIGNvbnN0IHhtbENoYXIgKnB1YmxpY0lkLCBjb25zdCB4bWxDaGFyICpzeXN0ZW1JZCwgeG1sQ2hhciAqY29udGVudCkKK3sKKyAgICB4bWxFbnRpdHlQdHIgZW50OworICAgIHhtbFBhcnNlckN0eHRQdHIgY3R4dCA9ICh4bWxQYXJzZXJDdHh0UHRyKSBjdHg7CisKKyAgICBpZiAoY3R4ID09IE5VTEwpIHJldHVybjsKKyNpZmRlZiBERUJVR19TQVgKKyAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkgICAgIlNBWC54bWxTQVgyRW50aXR5RGVjbCglcywgJWQsICVzLCAlcywgJXMpXG4iLAorICAgICAgICAgICAgbmFtZSwgdHlwZSwgcHVibGljSWQsIHN5c3RlbUlkLCBjb250ZW50KTsKKyNlbmRpZgorICAgIGlmIChjdHh0LT5pblN1YnNldCA9PSAxKSB7CisJZW50ID0geG1sQWRkRG9jRW50aXR5KGN0eHQtPm15RG9jLCBuYW1lLCB0eXBlLCBwdWJsaWNJZCwKKwkJICAgICAgICAgICAgICBzeXN0ZW1JZCwgY29udGVudCk7CisJaWYgKChlbnQgPT0gTlVMTCkgJiYgKGN0eHQtPnBlZGFudGljKSkKKwkgICAgeG1sV2Fybk1zZyhjdHh0LCBYTUxfV0FSX0VOVElUWV9SRURFRklORUQsCisJICAgICAiRW50aXR5KCVzKSBhbHJlYWR5IGRlZmluZWQgaW4gdGhlIGludGVybmFsIHN1YnNldFxuIiwKKwkgICAgICAgICAgICAgICBuYW1lKTsKKwlpZiAoKGVudCAhPSBOVUxMKSAmJiAoZW50LT5VUkkgPT0gTlVMTCkgJiYgKHN5c3RlbUlkICE9IE5VTEwpKSB7CisJICAgIHhtbENoYXIgKlVSSTsKKwkgICAgY29uc3QgY2hhciAqYmFzZSA9IE5VTEw7CisKKwkgICAgaWYgKGN0eHQtPmlucHV0ICE9IE5VTEwpCisJCWJhc2UgPSBjdHh0LT5pbnB1dC0+ZmlsZW5hbWU7CisJICAgIGlmIChiYXNlID09IE5VTEwpCisJCWJhc2UgPSBjdHh0LT5kaXJlY3Rvcnk7CisKKwkgICAgVVJJID0geG1sQnVpbGRVUkkoc3lzdGVtSWQsIChjb25zdCB4bWxDaGFyICopIGJhc2UpOworCSAgICBlbnQtPlVSSSA9IFVSSTsKKwl9CisgICAgfSBlbHNlIGlmIChjdHh0LT5pblN1YnNldCA9PSAyKSB7CisJZW50ID0geG1sQWRkRHRkRW50aXR5KGN0eHQtPm15RG9jLCBuYW1lLCB0eXBlLCBwdWJsaWNJZCwKKwkJICAgICAgICAgICAgICBzeXN0ZW1JZCwgY29udGVudCk7CisJaWYgKChlbnQgPT0gTlVMTCkgJiYgKGN0eHQtPnBlZGFudGljKSAmJgorCSAgICAoY3R4dC0+c2F4ICE9IE5VTEwpICYmIChjdHh0LT5zYXgtPndhcm5pbmcgIT0gTlVMTCkpCisJICAgIGN0eHQtPnNheC0+d2FybmluZyhjdHh0LT51c2VyRGF0YSwKKwkgICAgICJFbnRpdHkoJXMpIGFscmVhZHkgZGVmaW5lZCBpbiB0aGUgZXh0ZXJuYWwgc3Vic2V0XG4iLCBuYW1lKTsKKwlpZiAoKGVudCAhPSBOVUxMKSAmJiAoZW50LT5VUkkgPT0gTlVMTCkgJiYgKHN5c3RlbUlkICE9IE5VTEwpKSB7CisJICAgIHhtbENoYXIgKlVSSTsKKwkgICAgY29uc3QgY2hhciAqYmFzZSA9IE5VTEw7CisKKwkgICAgaWYgKGN0eHQtPmlucHV0ICE9IE5VTEwpCisJCWJhc2UgPSBjdHh0LT5pbnB1dC0+ZmlsZW5hbWU7CisJICAgIGlmIChiYXNlID09IE5VTEwpCisJCWJhc2UgPSBjdHh0LT5kaXJlY3Rvcnk7CisKKwkgICAgVVJJID0geG1sQnVpbGRVUkkoc3lzdGVtSWQsIChjb25zdCB4bWxDaGFyICopIGJhc2UpOworCSAgICBlbnQtPlVSSSA9IFVSSTsKKwl9CisgICAgfSBlbHNlIHsKKwl4bWxGYXRhbEVyck1zZyhjdHh0LCBYTUxfRVJSX0VOVElUWV9QUk9DRVNTSU5HLAorCSAgICAgICAgICAgICAgICJTQVgueG1sU0FYMkVudGl0eURlY2woJXMpIGNhbGxlZCB3aGlsZSBub3QgaW4gc3Vic2V0XG4iLAorCQkgICAgICAgbmFtZSwgTlVMTCk7CisgICAgfQorfQorCisvKioKKyAqIHhtbFNBWDJBdHRyaWJ1dGVEZWNsOgorICogQGN0eDogdGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KQorICogQGVsZW06ICB0aGUgbmFtZSBvZiB0aGUgZWxlbWVudAorICogQGZ1bGxuYW1lOiAgdGhlIGF0dHJpYnV0ZSBuYW1lCisgKiBAdHlwZTogIHRoZSBhdHRyaWJ1dGUgdHlwZQorICogQGRlZjogIHRoZSB0eXBlIG9mIGRlZmF1bHQgdmFsdWUKKyAqIEBkZWZhdWx0VmFsdWU6IHRoZSBhdHRyaWJ1dGUgZGVmYXVsdCB2YWx1ZQorICogQHRyZWU6ICB0aGUgdHJlZSBvZiBlbnVtZXJhdGVkIHZhbHVlIHNldAorICoKKyAqIEFuIGF0dHJpYnV0ZSBkZWZpbml0aW9uIGhhcyBiZWVuIHBhcnNlZAorICovCit2b2lkCit4bWxTQVgyQXR0cmlidXRlRGVjbCh2b2lkICpjdHgsIGNvbnN0IHhtbENoYXIgKmVsZW0sIGNvbnN0IHhtbENoYXIgKmZ1bGxuYW1lLAorICAgICAgICAgICAgICBpbnQgdHlwZSwgaW50IGRlZiwgY29uc3QgeG1sQ2hhciAqZGVmYXVsdFZhbHVlLAorCSAgICAgIHhtbEVudW1lcmF0aW9uUHRyIHRyZWUpCit7CisgICAgeG1sUGFyc2VyQ3R4dFB0ciBjdHh0ID0gKHhtbFBhcnNlckN0eHRQdHIpIGN0eDsKKyAgICB4bWxBdHRyaWJ1dGVQdHIgYXR0cjsKKyAgICB4bWxDaGFyICpuYW1lID0gTlVMTCwgKnByZWZpeCA9IE5VTEw7CisKKyAgICBpZiAoKGN0eHQgPT0gTlVMTCkgfHwgKGN0eHQtPm15RG9jID09IE5VTEwpKQorICAgICAgICByZXR1cm47CisKKyNpZmRlZiBERUJVR19TQVgKKyAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkgICAgIlNBWC54bWxTQVgyQXR0cmlidXRlRGVjbCglcywgJXMsICVkLCAlZCwgJXMsIC4uLilcbiIsCisgICAgICAgICAgICBlbGVtLCBmdWxsbmFtZSwgdHlwZSwgZGVmLCBkZWZhdWx0VmFsdWUpOworI2VuZGlmCisgICAgaWYgKCh4bWxTdHJFcXVhbChmdWxsbmFtZSwgQkFEX0NBU1QgInhtbDppZCIpKSAmJgorICAgICAgICAodHlwZSAhPSBYTUxfQVRUUklCVVRFX0lEKSkgeworCS8qCisJICogUmFpc2UgdGhlIGVycm9yIGJ1dCBrZWVwIHRoZSB2YWxpZGl0eSBmbGFnCisJICovCisJaW50IHRtcCA9IGN0eHQtPnZhbGlkOworCXhtbEVyclZhbGlkKGN0eHQsIFhNTF9EVERfWE1MSURfVFlQRSwKKwkgICAgICAieG1sOmlkIDogYXR0cmlidXRlIHR5cGUgc2hvdWxkIGJlIElEXG4iLCBOVUxMLCBOVUxMKTsKKwljdHh0LT52YWxpZCA9IHRtcDsKKyAgICB9CisgICAgLyogVE9ETzogb3B0aW1pemUgbmFtZS9wcmVmaXggYWxsb2NhdGlvbiAqLworICAgIG5hbWUgPSB4bWxTcGxpdFFOYW1lKGN0eHQsIGZ1bGxuYW1lLCAmcHJlZml4KTsKKyAgICBjdHh0LT52Y3R4dC52YWxpZCA9IDE7CisgICAgaWYgKGN0eHQtPmluU3Vic2V0ID09IDEpCisJYXR0ciA9IHhtbEFkZEF0dHJpYnV0ZURlY2woJmN0eHQtPnZjdHh0LCBjdHh0LT5teURvYy0+aW50U3Vic2V0LCBlbGVtLAorCSAgICAgICBuYW1lLCBwcmVmaXgsICh4bWxBdHRyaWJ1dGVUeXBlKSB0eXBlLAorCSAgICAgICAoeG1sQXR0cmlidXRlRGVmYXVsdCkgZGVmLCBkZWZhdWx0VmFsdWUsIHRyZWUpOworICAgIGVsc2UgaWYgKGN0eHQtPmluU3Vic2V0ID09IDIpCisJYXR0ciA9IHhtbEFkZEF0dHJpYnV0ZURlY2woJmN0eHQtPnZjdHh0LCBjdHh0LT5teURvYy0+ZXh0U3Vic2V0LCBlbGVtLAorCSAgIG5hbWUsIHByZWZpeCwgKHhtbEF0dHJpYnV0ZVR5cGUpIHR5cGUsCisJICAgKHhtbEF0dHJpYnV0ZURlZmF1bHQpIGRlZiwgZGVmYXVsdFZhbHVlLCB0cmVlKTsKKyAgICBlbHNlIHsKKyAgICAgICAgeG1sRmF0YWxFcnJNc2coY3R4dCwgWE1MX0VSUl9JTlRFUk5BTF9FUlJPUiwKKwkgICAgICJTQVgueG1sU0FYMkF0dHJpYnV0ZURlY2woJXMpIGNhbGxlZCB3aGlsZSBub3QgaW4gc3Vic2V0XG4iLAorCSAgICAgICAgICAgICAgIG5hbWUsIE5VTEwpOworCXhtbEZyZWVFbnVtZXJhdGlvbih0cmVlKTsKKwlyZXR1cm47CisgICAgfQorI2lmZGVmIExJQlhNTF9WQUxJRF9FTkFCTEVECisgICAgaWYgKGN0eHQtPnZjdHh0LnZhbGlkID09IDApCisJY3R4dC0+dmFsaWQgPSAwOworICAgIGlmICgoYXR0ciAhPSBOVUxMKSAmJiAoY3R4dC0+dmFsaWRhdGUpICYmIChjdHh0LT53ZWxsRm9ybWVkKSAmJgorICAgICAgICAoY3R4dC0+bXlEb2MtPmludFN1YnNldCAhPSBOVUxMKSkKKwljdHh0LT52YWxpZCAmPSB4bWxWYWxpZGF0ZUF0dHJpYnV0ZURlY2woJmN0eHQtPnZjdHh0LCBjdHh0LT5teURvYywKKwkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0cik7CisjZW5kaWYgLyogTElCWE1MX1ZBTElEX0VOQUJMRUQgKi8KKyAgICBpZiAocHJlZml4ICE9IE5VTEwpCisJeG1sRnJlZShwcmVmaXgpOworICAgIGlmIChuYW1lICE9IE5VTEwpCisJeG1sRnJlZShuYW1lKTsKK30KKworLyoqCisgKiB4bWxTQVgyRWxlbWVudERlY2w6CisgKiBAY3R4OiB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpCisgKiBAbmFtZTogIHRoZSBlbGVtZW50IG5hbWUKKyAqIEB0eXBlOiAgdGhlIGVsZW1lbnQgdHlwZQorICogQGNvbnRlbnQ6IHRoZSBlbGVtZW50IHZhbHVlIHRyZWUKKyAqCisgKiBBbiBlbGVtZW50IGRlZmluaXRpb24gaGFzIGJlZW4gcGFyc2VkCisgKi8KK3ZvaWQKK3htbFNBWDJFbGVtZW50RGVjbCh2b2lkICpjdHgsIGNvbnN0IHhtbENoYXIgKiBuYW1lLCBpbnQgdHlwZSwKKyAgICAgICAgICAgIHhtbEVsZW1lbnRDb250ZW50UHRyIGNvbnRlbnQpCit7CisgICAgeG1sUGFyc2VyQ3R4dFB0ciBjdHh0ID0gKHhtbFBhcnNlckN0eHRQdHIpIGN0eDsKKyAgICB4bWxFbGVtZW50UHRyIGVsZW0gPSBOVUxMOworCisgICAgaWYgKChjdHh0ID09IE5VTEwpIHx8IChjdHh0LT5teURvYyA9PSBOVUxMKSkKKyAgICAgICAgcmV0dXJuOworCisjaWZkZWYgREVCVUdfU0FYCisgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICJTQVgueG1sU0FYMkVsZW1lbnREZWNsKCVzLCAlZCwgLi4uKVxuIiwgbmFtZSwgdHlwZSk7CisjZW5kaWYKKworICAgIGlmIChjdHh0LT5pblN1YnNldCA9PSAxKQorICAgICAgICBlbGVtID0geG1sQWRkRWxlbWVudERlY2woJmN0eHQtPnZjdHh0LCBjdHh0LT5teURvYy0+aW50U3Vic2V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSwgKHhtbEVsZW1lbnRUeXBlVmFsKSB0eXBlLCBjb250ZW50KTsKKyAgICBlbHNlIGlmIChjdHh0LT5pblN1YnNldCA9PSAyKQorICAgICAgICBlbGVtID0geG1sQWRkRWxlbWVudERlY2woJmN0eHQtPnZjdHh0LCBjdHh0LT5teURvYy0+ZXh0U3Vic2V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSwgKHhtbEVsZW1lbnRUeXBlVmFsKSB0eXBlLCBjb250ZW50KTsKKyAgICBlbHNlIHsKKyAgICAgICAgeG1sRmF0YWxFcnJNc2coY3R4dCwgWE1MX0VSUl9JTlRFUk5BTF9FUlJPUiwKKwkgICAgICJTQVgueG1sU0FYMkVsZW1lbnREZWNsKCVzKSBjYWxsZWQgd2hpbGUgbm90IGluIHN1YnNldFxuIiwKKwkgICAgICAgICAgICAgICBuYW1lLCBOVUxMKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyNpZmRlZiBMSUJYTUxfVkFMSURfRU5BQkxFRAorICAgIGlmIChlbGVtID09IE5VTEwpCisgICAgICAgIGN0eHQtPnZhbGlkID0gMDsKKyAgICBpZiAoY3R4dC0+dmFsaWRhdGUgJiYgY3R4dC0+d2VsbEZvcm1lZCAmJgorICAgICAgICBjdHh0LT5teURvYyAmJiBjdHh0LT5teURvYy0+aW50U3Vic2V0KQorICAgICAgICBjdHh0LT52YWxpZCAmPQorICAgICAgICAgICAgeG1sVmFsaWRhdGVFbGVtZW50RGVjbCgmY3R4dC0+dmN0eHQsIGN0eHQtPm15RG9jLCBlbGVtKTsKKyNlbmRpZiAvKiBMSUJYTUxfVkFMSURfRU5BQkxFRCAqLworfQorCisvKioKKyAqIHhtbFNBWDJOb3RhdGlvbkRlY2w6CisgKiBAY3R4OiB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpCisgKiBAbmFtZTogVGhlIG5hbWUgb2YgdGhlIG5vdGF0aW9uCisgKiBAcHVibGljSWQ6IFRoZSBwdWJsaWMgSUQgb2YgdGhlIGVudGl0eQorICogQHN5c3RlbUlkOiBUaGUgc3lzdGVtIElEIG9mIHRoZSBlbnRpdHkKKyAqCisgKiBXaGF0IHRvIGRvIHdoZW4gYSBub3RhdGlvbiBkZWNsYXJhdGlvbiBoYXMgYmVlbiBwYXJzZWQuCisgKi8KK3ZvaWQKK3htbFNBWDJOb3RhdGlvbkRlY2wodm9pZCAqY3R4LCBjb25zdCB4bWxDaGFyICpuYW1lLAorCSAgICAgY29uc3QgeG1sQ2hhciAqcHVibGljSWQsIGNvbnN0IHhtbENoYXIgKnN5c3RlbUlkKQoreworICAgIHhtbFBhcnNlckN0eHRQdHIgY3R4dCA9ICh4bWxQYXJzZXJDdHh0UHRyKSBjdHg7CisgICAgeG1sTm90YXRpb25QdHIgbm90YSA9IE5VTEw7CisKKyAgICBpZiAoKGN0eHQgPT0gTlVMTCkgfHwgKGN0eHQtPm15RG9jID09IE5VTEwpKQorICAgICAgICByZXR1cm47CisKKyNpZmRlZiBERUJVR19TQVgKKyAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkgICAgIlNBWC54bWxTQVgyTm90YXRpb25EZWNsKCVzLCAlcywgJXMpXG4iLCBuYW1lLCBwdWJsaWNJZCwgc3lzdGVtSWQpOworI2VuZGlmCisKKyAgICBpZiAoKHB1YmxpY0lkID09IE5VTEwpICYmIChzeXN0ZW1JZCA9PSBOVUxMKSkgeworCXhtbEZhdGFsRXJyTXNnKGN0eHQsIFhNTF9FUlJfTk9UQVRJT05fUFJPQ0VTU0lORywKKwkgICAgICJTQVgueG1sU0FYMk5vdGF0aW9uRGVjbCglcykgZXh0ZXJuYWxJRCBvciBQdWJsaWNJRCBtaXNzaW5nXG4iLAorCSAgICAgICAgICAgICAgIG5hbWUsIE5VTEwpOworCXJldHVybjsKKyAgICB9IGVsc2UgaWYgKGN0eHQtPmluU3Vic2V0ID09IDEpCisJbm90YSA9IHhtbEFkZE5vdGF0aW9uRGVjbCgmY3R4dC0+dmN0eHQsIGN0eHQtPm15RG9jLT5pbnRTdWJzZXQsIG5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWNJZCwgc3lzdGVtSWQpOworICAgIGVsc2UgaWYgKGN0eHQtPmluU3Vic2V0ID09IDIpCisJbm90YSA9IHhtbEFkZE5vdGF0aW9uRGVjbCgmY3R4dC0+dmN0eHQsIGN0eHQtPm15RG9jLT5leHRTdWJzZXQsIG5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWNJZCwgc3lzdGVtSWQpOworICAgIGVsc2UgeworCXhtbEZhdGFsRXJyTXNnKGN0eHQsIFhNTF9FUlJfTk9UQVRJT05fUFJPQ0VTU0lORywKKwkgICAgICJTQVgueG1sU0FYMk5vdGF0aW9uRGVjbCglcykgY2FsbGVkIHdoaWxlIG5vdCBpbiBzdWJzZXRcbiIsCisJICAgICAgICAgICAgICAgbmFtZSwgTlVMTCk7CisJcmV0dXJuOworICAgIH0KKyNpZmRlZiBMSUJYTUxfVkFMSURfRU5BQkxFRAorICAgIGlmIChub3RhID09IE5VTEwpIGN0eHQtPnZhbGlkID0gMDsKKyAgICBpZiAoKGN0eHQtPnZhbGlkYXRlKSAmJiAoY3R4dC0+d2VsbEZvcm1lZCkgJiYKKyAgICAgICAgKGN0eHQtPm15RG9jLT5pbnRTdWJzZXQgIT0gTlVMTCkpCisJY3R4dC0+dmFsaWQgJj0geG1sVmFsaWRhdGVOb3RhdGlvbkRlY2woJmN0eHQtPnZjdHh0LCBjdHh0LT5teURvYywKKwkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub3RhKTsKKyNlbmRpZiAvKiBMSUJYTUxfVkFMSURfRU5BQkxFRCAqLworfQorCisvKioKKyAqIHhtbFNBWDJVbnBhcnNlZEVudGl0eURlY2w6CisgKiBAY3R4OiB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpCisgKiBAbmFtZTogVGhlIG5hbWUgb2YgdGhlIGVudGl0eQorICogQHB1YmxpY0lkOiBUaGUgcHVibGljIElEIG9mIHRoZSBlbnRpdHkKKyAqIEBzeXN0ZW1JZDogVGhlIHN5c3RlbSBJRCBvZiB0aGUgZW50aXR5CisgKiBAbm90YXRpb25OYW1lOiB0aGUgbmFtZSBvZiB0aGUgbm90YXRpb24KKyAqCisgKiBXaGF0IHRvIGRvIHdoZW4gYW4gdW5wYXJzZWQgZW50aXR5IGRlY2xhcmF0aW9uIGlzIHBhcnNlZAorICovCit2b2lkCit4bWxTQVgyVW5wYXJzZWRFbnRpdHlEZWNsKHZvaWQgKmN0eCwgY29uc3QgeG1sQ2hhciAqbmFtZSwKKwkJICAgY29uc3QgeG1sQ2hhciAqcHVibGljSWQsIGNvbnN0IHhtbENoYXIgKnN5c3RlbUlkLAorCQkgICBjb25zdCB4bWxDaGFyICpub3RhdGlvbk5hbWUpCit7CisgICAgeG1sRW50aXR5UHRyIGVudDsKKyAgICB4bWxQYXJzZXJDdHh0UHRyIGN0eHQgPSAoeG1sUGFyc2VyQ3R4dFB0cikgY3R4OworICAgIGlmIChjdHggPT0gTlVMTCkgcmV0dXJuOworI2lmZGVmIERFQlVHX1NBWAorICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCSAgICAiU0FYLnhtbFNBWDJVbnBhcnNlZEVudGl0eURlY2woJXMsICVzLCAlcywgJXMpXG4iLAorICAgICAgICAgICAgbmFtZSwgcHVibGljSWQsIHN5c3RlbUlkLCBub3RhdGlvbk5hbWUpOworI2VuZGlmCisgICAgaWYgKGN0eHQtPmluU3Vic2V0ID09IDEpIHsKKwllbnQgPSB4bWxBZGREb2NFbnRpdHkoY3R4dC0+bXlEb2MsIG5hbWUsCisJCQlYTUxfRVhURVJOQUxfR0VORVJBTF9VTlBBUlNFRF9FTlRJVFksCisJCQlwdWJsaWNJZCwgc3lzdGVtSWQsIG5vdGF0aW9uTmFtZSk7CisJaWYgKChlbnQgPT0gTlVMTCkgJiYgKGN0eHQtPnBlZGFudGljKSAmJgorCSAgICAoY3R4dC0+c2F4ICE9IE5VTEwpICYmIChjdHh0LT5zYXgtPndhcm5pbmcgIT0gTlVMTCkpCisJICAgIGN0eHQtPnNheC0+d2FybmluZyhjdHh0LT51c2VyRGF0YSwKKwkgICAgICJFbnRpdHkoJXMpIGFscmVhZHkgZGVmaW5lZCBpbiB0aGUgaW50ZXJuYWwgc3Vic2V0XG4iLCBuYW1lKTsKKwlpZiAoKGVudCAhPSBOVUxMKSAmJiAoZW50LT5VUkkgPT0gTlVMTCkgJiYgKHN5c3RlbUlkICE9IE5VTEwpKSB7CisJICAgIHhtbENoYXIgKlVSSTsKKwkgICAgY29uc3QgY2hhciAqYmFzZSA9IE5VTEw7CisKKwkgICAgaWYgKGN0eHQtPmlucHV0ICE9IE5VTEwpCisJCWJhc2UgPSBjdHh0LT5pbnB1dC0+ZmlsZW5hbWU7CisJICAgIGlmIChiYXNlID09IE5VTEwpCisJCWJhc2UgPSBjdHh0LT5kaXJlY3Rvcnk7CisKKwkgICAgVVJJID0geG1sQnVpbGRVUkkoc3lzdGVtSWQsIChjb25zdCB4bWxDaGFyICopIGJhc2UpOworCSAgICBlbnQtPlVSSSA9IFVSSTsKKwl9CisgICAgfSBlbHNlIGlmIChjdHh0LT5pblN1YnNldCA9PSAyKSB7CisJZW50ID0geG1sQWRkRHRkRW50aXR5KGN0eHQtPm15RG9jLCBuYW1lLAorCQkJWE1MX0VYVEVSTkFMX0dFTkVSQUxfVU5QQVJTRURfRU5USVRZLAorCQkJcHVibGljSWQsIHN5c3RlbUlkLCBub3RhdGlvbk5hbWUpOworCWlmICgoZW50ID09IE5VTEwpICYmIChjdHh0LT5wZWRhbnRpYykgJiYKKwkgICAgKGN0eHQtPnNheCAhPSBOVUxMKSAmJiAoY3R4dC0+c2F4LT53YXJuaW5nICE9IE5VTEwpKQorCSAgICBjdHh0LT5zYXgtPndhcm5pbmcoY3R4dC0+dXNlckRhdGEsCisJICAgICAiRW50aXR5KCVzKSBhbHJlYWR5IGRlZmluZWQgaW4gdGhlIGV4dGVybmFsIHN1YnNldFxuIiwgbmFtZSk7CisJaWYgKChlbnQgIT0gTlVMTCkgJiYgKGVudC0+VVJJID09IE5VTEwpICYmIChzeXN0ZW1JZCAhPSBOVUxMKSkgeworCSAgICB4bWxDaGFyICpVUkk7CisJICAgIGNvbnN0IGNoYXIgKmJhc2UgPSBOVUxMOworCisJICAgIGlmIChjdHh0LT5pbnB1dCAhPSBOVUxMKQorCQliYXNlID0gY3R4dC0+aW5wdXQtPmZpbGVuYW1lOworCSAgICBpZiAoYmFzZSA9PSBOVUxMKQorCQliYXNlID0gY3R4dC0+ZGlyZWN0b3J5OworCisJICAgIFVSSSA9IHhtbEJ1aWxkVVJJKHN5c3RlbUlkLCAoY29uc3QgeG1sQ2hhciAqKSBiYXNlKTsKKwkgICAgZW50LT5VUkkgPSBVUkk7CisJfQorICAgIH0gZWxzZSB7CisgICAgICAgIHhtbEZhdGFsRXJyTXNnKGN0eHQsIFhNTF9FUlJfSU5URVJOQUxfRVJST1IsCisJICAgICAiU0FYLnhtbFNBWDJVbnBhcnNlZEVudGl0eURlY2woJXMpIGNhbGxlZCB3aGlsZSBub3QgaW4gc3Vic2V0XG4iLAorCSAgICAgICAgICAgICAgIG5hbWUsIE5VTEwpOworICAgIH0KK30KKworLyoqCisgKiB4bWxTQVgyU2V0RG9jdW1lbnRMb2NhdG9yOgorICogQGN0eDogdGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KQorICogQGxvYzogQSBTQVggTG9jYXRvcgorICoKKyAqIFJlY2VpdmUgdGhlIGRvY3VtZW50IGxvY2F0b3IgYXQgc3RhcnR1cCwgYWN0dWFsbHkgeG1sRGVmYXVsdFNBWExvY2F0b3IKKyAqIEV2ZXJ5dGhpbmcgaXMgYXZhaWxhYmxlIG9uIHRoZSBjb250ZXh0LCBzbyB0aGlzIGlzIHVzZWxlc3MgaW4gb3VyIGNhc2UuCisgKi8KK3ZvaWQKK3htbFNBWDJTZXREb2N1bWVudExvY2F0b3Iodm9pZCAqY3R4IEFUVFJJQlVURV9VTlVTRUQsIHhtbFNBWExvY2F0b3JQdHIgbG9jIEFUVFJJQlVURV9VTlVTRUQpCit7CisgICAgLyogeG1sUGFyc2VyQ3R4dFB0ciBjdHh0ID0gKHhtbFBhcnNlckN0eHRQdHIpIGN0eDsgKi8KKyNpZmRlZiBERUJVR19TQVgKKyAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkgICAgIlNBWC54bWxTQVgyU2V0RG9jdW1lbnRMb2NhdG9yKClcbiIpOworI2VuZGlmCit9CisKKy8qKgorICogeG1sU0FYMlN0YXJ0RG9jdW1lbnQ6CisgKiBAY3R4OiB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpCisgKgorICogY2FsbGVkIHdoZW4gdGhlIGRvY3VtZW50IHN0YXJ0IGJlaW5nIHByb2Nlc3NlZC4KKyAqLwordm9pZAoreG1sU0FYMlN0YXJ0RG9jdW1lbnQodm9pZCAqY3R4KQoreworICAgIHhtbFBhcnNlckN0eHRQdHIgY3R4dCA9ICh4bWxQYXJzZXJDdHh0UHRyKSBjdHg7CisgICAgeG1sRG9jUHRyIGRvYzsKKworICAgIGlmIChjdHggPT0gTlVMTCkgcmV0dXJuOworCisjaWZkZWYgREVCVUdfU0FYCisgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJICAgICJTQVgueG1sU0FYMlN0YXJ0RG9jdW1lbnQoKVxuIik7CisjZW5kaWYKKyAgICBpZiAoY3R4dC0+aHRtbCkgeworI2lmZGVmIExJQlhNTF9IVE1MX0VOQUJMRUQKKwlpZiAoY3R4dC0+bXlEb2MgPT0gTlVMTCkKKwkgICAgY3R4dC0+bXlEb2MgPSBodG1sTmV3RG9jTm9EdEQoTlVMTCwgTlVMTCk7CisJaWYgKGN0eHQtPm15RG9jID09IE5VTEwpIHsKKwkgICAgeG1sU0FYMkVyck1lbW9yeShjdHh0LCAieG1sU0FYMlN0YXJ0RG9jdW1lbnQiKTsKKwkgICAgcmV0dXJuOworCX0KKwljdHh0LT5teURvYy0+cHJvcGVydGllcyA9IFhNTF9ET0NfSFRNTDsKKwljdHh0LT5teURvYy0+cGFyc2VGbGFncyA9IGN0eHQtPm9wdGlvbnM7CisjZWxzZQorICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJImxpYnhtbDIgYnVpbHQgd2l0aG91dCBIVE1MIHN1cHBvcnRcbiIpOworCWN0eHQtPmVyck5vID0gWE1MX0VSUl9JTlRFUk5BTF9FUlJPUjsKKwljdHh0LT5pbnN0YXRlID0gWE1MX1BBUlNFUl9FT0Y7CisJY3R4dC0+ZGlzYWJsZVNBWCA9IDE7CisJcmV0dXJuOworI2VuZGlmCisgICAgfSBlbHNlIHsKKwlkb2MgPSBjdHh0LT5teURvYyA9IHhtbE5ld0RvYyhjdHh0LT52ZXJzaW9uKTsKKwlpZiAoZG9jICE9IE5VTEwpIHsKKwkgICAgZG9jLT5wcm9wZXJ0aWVzID0gMDsKKwkgICAgaWYgKGN0eHQtPm9wdGlvbnMgJiBYTUxfUEFSU0VfT0xEMTApCisJICAgICAgICBkb2MtPnByb3BlcnRpZXMgfD0gWE1MX0RPQ19PTEQxMDsKKwkgICAgZG9jLT5wYXJzZUZsYWdzID0gY3R4dC0+b3B0aW9uczsKKwkgICAgaWYgKGN0eHQtPmVuY29kaW5nICE9IE5VTEwpCisJCWRvYy0+ZW5jb2RpbmcgPSB4bWxTdHJkdXAoY3R4dC0+ZW5jb2RpbmcpOworCSAgICBlbHNlCisJCWRvYy0+ZW5jb2RpbmcgPSBOVUxMOworCSAgICBkb2MtPnN0YW5kYWxvbmUgPSBjdHh0LT5zdGFuZGFsb25lOworCX0gZWxzZSB7CisJICAgIHhtbFNBWDJFcnJNZW1vcnkoY3R4dCwgInhtbFNBWDJTdGFydERvY3VtZW50Iik7CisJICAgIHJldHVybjsKKwl9CisJaWYgKChjdHh0LT5kaWN0TmFtZXMpICYmIChkb2MgIT0gTlVMTCkpIHsKKwkgICAgZG9jLT5kaWN0ID0gY3R4dC0+ZGljdDsKKwkgICAgeG1sRGljdFJlZmVyZW5jZShkb2MtPmRpY3QpOworCX0KKyAgICB9CisgICAgaWYgKChjdHh0LT5teURvYyAhPSBOVUxMKSAmJiAoY3R4dC0+bXlEb2MtPlVSTCA9PSBOVUxMKSAmJgorCShjdHh0LT5pbnB1dCAhPSBOVUxMKSAmJiAoY3R4dC0+aW5wdXQtPmZpbGVuYW1lICE9IE5VTEwpKSB7CisJY3R4dC0+bXlEb2MtPlVSTCA9IHhtbFBhdGhUb1VSSSgoY29uc3QgeG1sQ2hhciAqKWN0eHQtPmlucHV0LT5maWxlbmFtZSk7CisJaWYgKGN0eHQtPm15RG9jLT5VUkwgPT0gTlVMTCkKKwkgICAgeG1sU0FYMkVyck1lbW9yeShjdHh0LCAieG1sU0FYMlN0YXJ0RG9jdW1lbnQiKTsKKyAgICB9Cit9CisKKy8qKgorICogeG1sU0FYMkVuZERvY3VtZW50OgorICogQGN0eDogdGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KQorICoKKyAqIGNhbGxlZCB3aGVuIHRoZSBkb2N1bWVudCBlbmQgaGFzIGJlZW4gZGV0ZWN0ZWQuCisgKi8KK3ZvaWQKK3htbFNBWDJFbmREb2N1bWVudCh2b2lkICpjdHgpCit7CisgICAgeG1sUGFyc2VyQ3R4dFB0ciBjdHh0ID0gKHhtbFBhcnNlckN0eHRQdHIpIGN0eDsKKyNpZmRlZiBERUJVR19TQVgKKyAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkgICAgIlNBWC54bWxTQVgyRW5kRG9jdW1lbnQoKVxuIik7CisjZW5kaWYKKyAgICBpZiAoY3R4ID09IE5VTEwpIHJldHVybjsKKyNpZmRlZiBMSUJYTUxfVkFMSURfRU5BQkxFRAorICAgIGlmIChjdHh0LT52YWxpZGF0ZSAmJiBjdHh0LT53ZWxsRm9ybWVkICYmCisgICAgICAgIGN0eHQtPm15RG9jICYmIGN0eHQtPm15RG9jLT5pbnRTdWJzZXQpCisJY3R4dC0+dmFsaWQgJj0geG1sVmFsaWRhdGVEb2N1bWVudEZpbmFsKCZjdHh0LT52Y3R4dCwgY3R4dC0+bXlEb2MpOworI2VuZGlmIC8qIExJQlhNTF9WQUxJRF9FTkFCTEVEICovCisKKyAgICAvKgorICAgICAqIEdyYWIgdGhlIGVuY29kaW5nIGlmIGl0IHdhcyBhZGRlZCBvbi10aGUtZmx5CisgICAgICovCisgICAgaWYgKChjdHh0LT5lbmNvZGluZyAhPSBOVUxMKSAmJiAoY3R4dC0+bXlEb2MgIT0gTlVMTCkgJiYKKwkoY3R4dC0+bXlEb2MtPmVuY29kaW5nID09IE5VTEwpKSB7CisJY3R4dC0+bXlEb2MtPmVuY29kaW5nID0gY3R4dC0+ZW5jb2Rpbmc7CisJY3R4dC0+ZW5jb2RpbmcgPSBOVUxMOworICAgIH0KKyAgICBpZiAoKGN0eHQtPmlucHV0VGFiICE9IE5VTEwpICYmCisgICAgICAgIChjdHh0LT5pbnB1dE5yID4gMCkgJiYgKGN0eHQtPmlucHV0VGFiWzBdICE9IE5VTEwpICYmCisgICAgICAgIChjdHh0LT5pbnB1dFRhYlswXS0+ZW5jb2RpbmcgIT0gTlVMTCkgJiYgKGN0eHQtPm15RG9jICE9IE5VTEwpICYmCisJKGN0eHQtPm15RG9jLT5lbmNvZGluZyA9PSBOVUxMKSkgeworCWN0eHQtPm15RG9jLT5lbmNvZGluZyA9IHhtbFN0cmR1cChjdHh0LT5pbnB1dFRhYlswXS0+ZW5jb2RpbmcpOworICAgIH0KKyAgICBpZiAoKGN0eHQtPmNoYXJzZXQgIT0gWE1MX0NIQVJfRU5DT0RJTkdfTk9ORSkgJiYgKGN0eHQtPm15RG9jICE9IE5VTEwpICYmCisJKGN0eHQtPm15RG9jLT5jaGFyc2V0ID09IFhNTF9DSEFSX0VOQ09ESU5HX05PTkUpKSB7CisJY3R4dC0+bXlEb2MtPmNoYXJzZXQgPSBjdHh0LT5jaGFyc2V0OworICAgIH0KK30KKworI2lmIGRlZmluZWQoTElCWE1MX1NBWDFfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfRE9DQl9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9MRUdBQ1lfRU5BQkxFRCkKKy8qKgorICogeG1sU0FYMkF0dHJpYnV0ZUludGVybmFsOgorICogQGN0eDogdGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KQorICogQGZ1bGxuYW1lOiAgVGhlIGF0dHJpYnV0ZSBuYW1lLCBpbmNsdWRpbmcgbmFtZXNwYWNlIHByZWZpeAorICogQHZhbHVlOiAgVGhlIGF0dHJpYnV0ZSB2YWx1ZQorICogQHByZWZpeDogdGhlIHByZWZpeCBvbiB0aGUgZWxlbWVudCBub2RlCisgKgorICogSGFuZGxlIGFuIGF0dHJpYnV0ZSB0aGF0IGhhcyBiZWVuIHJlYWQgYnkgdGhlIHBhcnNlci4KKyAqIFRoZSBkZWZhdWx0IGhhbmRsaW5nIGlzIHRvIGNvbnZlcnQgdGhlIGF0dHJpYnV0ZSBpbnRvIGFuCisgKiBET00gc3VidHJlZSBhbmQgcGFzdCBpdCBpbiBhIG5ldyB4bWxBdHRyIGVsZW1lbnQgYWRkZWQgdG8KKyAqIHRoZSBlbGVtZW50LgorICovCitzdGF0aWMgdm9pZAoreG1sU0FYMkF0dHJpYnV0ZUludGVybmFsKHZvaWQgKmN0eCwgY29uc3QgeG1sQ2hhciAqZnVsbG5hbWUsCisgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqdmFsdWUsIGNvbnN0IHhtbENoYXIgKnByZWZpeCBBVFRSSUJVVEVfVU5VU0VEKQoreworICAgIHhtbFBhcnNlckN0eHRQdHIgY3R4dCA9ICh4bWxQYXJzZXJDdHh0UHRyKSBjdHg7CisgICAgeG1sQXR0clB0ciByZXQ7CisgICAgeG1sQ2hhciAqbmFtZTsKKyAgICB4bWxDaGFyICpuczsKKyAgICB4bWxDaGFyICpudmFsOworICAgIHhtbE5zUHRyIG5hbWVzcGFjZTsKKworICAgIGlmIChjdHh0LT5odG1sKSB7CisJbmFtZSA9IHhtbFN0cmR1cChmdWxsbmFtZSk7CisJbnMgPSBOVUxMOworCW5hbWVzcGFjZSA9IE5VTEw7CisgICAgfSBlbHNlIHsKKwkvKgorCSAqIFNwbGl0IHRoZSBmdWxsIG5hbWUgaW50byBhIG5hbWVzcGFjZSBwcmVmaXggYW5kIHRoZSB0YWcgbmFtZQorCSAqLworCW5hbWUgPSB4bWxTcGxpdFFOYW1lKGN0eHQsIGZ1bGxuYW1lLCAmbnMpOworCWlmICgobmFtZSAhPSBOVUxMKSAmJiAobmFtZVswXSA9PSAwKSkgeworCSAgICBpZiAoeG1sU3RyRXF1YWwobnMsIEJBRF9DQVNUICJ4bWxucyIpKSB7CisJCXhtbE5zRXJyTXNnKGN0eHQsIFhNTF9FUlJfTlNfREVDTF9FUlJPUiwKKwkJCSAgICAiaW52YWxpZCBuYW1lc3BhY2UgZGVjbGFyYXRpb24gJyVzJ1xuIiwKKwkJCSAgICBmdWxsbmFtZSwgTlVMTCk7CisJICAgIH0gZWxzZSB7CisJCXhtbE5zV2Fybk1zZyhjdHh0LCBYTUxfV0FSX05TX0NPTFVNTiwKKwkJCSAgICAgIkF2b2lkIGF0dHJpYnV0ZSBlbmRpbmcgd2l0aCAnOicgbGlrZSAnJXMnXG4iLAorCQkJICAgICBmdWxsbmFtZSwgTlVMTCk7CisJICAgIH0KKwkgICAgaWYgKG5zICE9IE5VTEwpCisJCXhtbEZyZWUobnMpOworCSAgICBucyA9IE5VTEw7CisJICAgIHhtbEZyZWUobmFtZSk7CisJICAgIG5hbWUgPSB4bWxTdHJkdXAoZnVsbG5hbWUpOworCX0KKyAgICB9CisgICAgaWYgKG5hbWUgPT0gTlVMTCkgeworICAgICAgICB4bWxTQVgyRXJyTWVtb3J5KGN0eHQsICJ4bWxTQVgyU3RhcnRFbGVtZW50Iik7CisJaWYgKG5zICE9IE5VTEwpCisJICAgIHhtbEZyZWUobnMpOworCXJldHVybjsKKyAgICB9CisKKyNpZmRlZiBMSUJYTUxfSFRNTF9FTkFCTEVECisgICAgaWYgKChjdHh0LT5odG1sKSAmJgorICAgICAgICAodmFsdWUgPT0gTlVMTCkgJiYgKGh0bWxJc0Jvb2xlYW5BdHRyKGZ1bGxuYW1lKSkpIHsKKyAgICAgICAgICAgIG52YWwgPSB4bWxTdHJkdXAoZnVsbG5hbWUpOworICAgICAgICAgICAgdmFsdWUgPSAoY29uc3QgeG1sQ2hhciAqKSBudmFsOworICAgIH0gZWxzZQorI2VuZGlmCisgICAgeworI2lmZGVmIExJQlhNTF9WQUxJRF9FTkFCTEVECisgICAgICAgIC8qCisgICAgICAgICAqIERvIHRoZSBsYXN0IHN0YWdlIG9mIHRoZSBhdHRyaWJ1dGUgbm9ybWFsaXphdGlvbgorICAgICAgICAgKiBOZWVkZWQgZm9yIEhUTUwgdG9vOgorICAgICAgICAgKiAgIGh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L3R5cGVzLmh0bWwjaC02LjIKKyAgICAgICAgICovCisgICAgICAgIGN0eHQtPnZjdHh0LnZhbGlkID0gMTsKKyAgICAgICAgbnZhbCA9IHhtbFZhbGlkQ3R4dE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlKCZjdHh0LT52Y3R4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3R4dC0+bXlEb2MsIGN0eHQtPm5vZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bGxuYW1lLCB2YWx1ZSk7CisgICAgICAgIGlmIChjdHh0LT52Y3R4dC52YWxpZCAhPSAxKSB7CisgICAgICAgICAgICBjdHh0LT52YWxpZCA9IDA7CisgICAgICAgIH0KKyAgICAgICAgaWYgKG52YWwgIT0gTlVMTCkKKyAgICAgICAgICAgIHZhbHVlID0gbnZhbDsKKyNlbHNlCisgICAgICAgIG52YWwgPSBOVUxMOworI2VuZGlmIC8qIExJQlhNTF9WQUxJRF9FTkFCTEVEICovCisgICAgfQorCisgICAgLyoKKyAgICAgKiBDaGVjayB3aGV0aGVyIGl0J3MgYSBuYW1lc3BhY2UgZGVmaW5pdGlvbgorICAgICAqLworICAgIGlmICgoIWN0eHQtPmh0bWwpICYmIChucyA9PSBOVUxMKSAmJgorICAgICAgICAobmFtZVswXSA9PSAneCcpICYmIChuYW1lWzFdID09ICdtJykgJiYgKG5hbWVbMl0gPT0gJ2wnKSAmJgorICAgICAgICAobmFtZVszXSA9PSAnbicpICYmIChuYW1lWzRdID09ICdzJykgJiYgKG5hbWVbNV0gPT0gMCkpIHsKKwl4bWxOc1B0ciBuc3JldDsKKwl4bWxDaGFyICp2YWw7CisKKyAgICAgICAgaWYgKCFjdHh0LT5yZXBsYWNlRW50aXRpZXMpIHsKKwkgICAgY3R4dC0+ZGVwdGgrKzsKKwkgICAgdmFsID0geG1sU3RyaW5nRGVjb2RlRW50aXRpZXMoY3R4dCwgdmFsdWUsIFhNTF9TVUJTVElUVVRFX1JFRiwKKwkJICAgICAgICAgICAgICAgICAgICAgICAgICAwLDAsMCk7CisJICAgIGN0eHQtPmRlcHRoLS07CisJICAgIGlmICh2YWwgPT0gTlVMTCkgeworCSAgICAgICAgeG1sU0FYMkVyck1lbW9yeShjdHh0LCAieG1sU0FYMlN0YXJ0RWxlbWVudCIpOworCQlpZiAobmFtZSAhPSBOVUxMKQorCQkgICAgeG1sRnJlZShuYW1lKTsKKwkJcmV0dXJuOworCSAgICB9CisJfSBlbHNlIHsKKwkgICAgdmFsID0gKHhtbENoYXIgKikgdmFsdWU7CisJfQorCisJaWYgKHZhbFswXSAhPSAwKSB7CisJICAgIHhtbFVSSVB0ciB1cmk7CisKKwkgICAgdXJpID0geG1sUGFyc2VVUkkoKGNvbnN0IGNoYXIgKil2YWwpOworCSAgICBpZiAodXJpID09IE5VTEwpIHsKKwkJaWYgKChjdHh0LT5zYXggIT0gTlVMTCkgJiYgKGN0eHQtPnNheC0+d2FybmluZyAhPSBOVUxMKSkKKwkJICAgIGN0eHQtPnNheC0+d2FybmluZyhjdHh0LT51c2VyRGF0YSwKKwkJCSAieG1sbnM6ICVzIG5vdCBhIHZhbGlkIFVSSVxuIiwgdmFsKTsKKwkgICAgfSBlbHNlIHsKKwkJaWYgKHVyaS0+c2NoZW1lID09IE5VTEwpIHsKKwkJICAgIGlmICgoY3R4dC0+c2F4ICE9IE5VTEwpICYmIChjdHh0LT5zYXgtPndhcm5pbmcgIT0gTlVMTCkpCisJCQljdHh0LT5zYXgtPndhcm5pbmcoY3R4dC0+dXNlckRhdGEsCisJCQkgICAgICJ4bWxuczogVVJJICVzIGlzIG5vdCBhYnNvbHV0ZVxuIiwgdmFsKTsKKwkJfQorCQl4bWxGcmVlVVJJKHVyaSk7CisJICAgIH0KKwl9CisKKwkvKiBhIGRlZmF1bHQgbmFtZXNwYWNlIGRlZmluaXRpb24gKi8KKwluc3JldCA9IHhtbE5ld05zKGN0eHQtPm5vZGUsIHZhbCwgTlVMTCk7CisKKyNpZmRlZiBMSUJYTUxfVkFMSURfRU5BQkxFRAorCS8qCisJICogVmFsaWRhdGUgYWxzbyBmb3IgbmFtZXNwYWNlIGRlY2xzLCB0aGV5IGFyZSBhdHRyaWJ1dGVzIGZyb20KKwkgKiBhbiBYTUwtMS4wIHBlcnNwZWN0aXZlCisJICovCisgICAgICAgIGlmIChuc3JldCAhPSBOVUxMICYmIGN0eHQtPnZhbGlkYXRlICYmIGN0eHQtPndlbGxGb3JtZWQgJiYKKwkgICAgY3R4dC0+bXlEb2MgJiYgY3R4dC0+bXlEb2MtPmludFN1YnNldCkKKwkgICAgY3R4dC0+dmFsaWQgJj0geG1sVmFsaWRhdGVPbmVOYW1lc3BhY2UoJmN0eHQtPnZjdHh0LCBjdHh0LT5teURvYywKKwkJCQkJICAgY3R4dC0+bm9kZSwgcHJlZml4LCBuc3JldCwgdmFsKTsKKyNlbmRpZiAvKiBMSUJYTUxfVkFMSURfRU5BQkxFRCAqLworCWlmIChuYW1lICE9IE5VTEwpCisJICAgIHhtbEZyZWUobmFtZSk7CisJaWYgKG52YWwgIT0gTlVMTCkKKwkgICAgeG1sRnJlZShudmFsKTsKKwlpZiAodmFsICE9IHZhbHVlKQorCSAgICB4bWxGcmVlKHZhbCk7CisJcmV0dXJuOworICAgIH0KKyAgICBpZiAoKCFjdHh0LT5odG1sKSAmJgorCShucyAhPSBOVUxMKSAmJiAobnNbMF0gPT0gJ3gnKSAmJiAobnNbMV0gPT0gJ20nKSAmJiAobnNbMl0gPT0gJ2wnKSAmJgorICAgICAgICAobnNbM10gPT0gJ24nKSAmJiAobnNbNF0gPT0gJ3MnKSAmJiAobnNbNV0gPT0gMCkpIHsKKwl4bWxOc1B0ciBuc3JldDsKKwl4bWxDaGFyICp2YWw7CisKKyAgICAgICAgaWYgKCFjdHh0LT5yZXBsYWNlRW50aXRpZXMpIHsKKwkgICAgY3R4dC0+ZGVwdGgrKzsKKwkgICAgdmFsID0geG1sU3RyaW5nRGVjb2RlRW50aXRpZXMoY3R4dCwgdmFsdWUsIFhNTF9TVUJTVElUVVRFX1JFRiwKKwkJICAgICAgICAgICAgICAgICAgICAgICAgICAwLDAsMCk7CisJICAgIGN0eHQtPmRlcHRoLS07CisJICAgIGlmICh2YWwgPT0gTlVMTCkgeworCSAgICAgICAgeG1sU0FYMkVyck1lbW9yeShjdHh0LCAieG1sU0FYMlN0YXJ0RWxlbWVudCIpOworCSAgICAgICAgeG1sRnJlZShucyk7CisJCWlmIChuYW1lICE9IE5VTEwpCisJCSAgICB4bWxGcmVlKG5hbWUpOworCQlyZXR1cm47CisJICAgIH0KKwl9IGVsc2UgeworCSAgICB2YWwgPSAoeG1sQ2hhciAqKSB2YWx1ZTsKKwl9CisKKwlpZiAodmFsWzBdID09IDApIHsKKwkgICAgeG1sTnNFcnJNc2coY3R4dCwgWE1MX05TX0VSUl9FTVBUWSwKKwkJICAgICAgICAiRW1wdHkgbmFtZXNwYWNlIG5hbWUgZm9yIHByZWZpeCAlc1xuIiwgbmFtZSwgTlVMTCk7CisJfQorCWlmICgoY3R4dC0+cGVkYW50aWMgIT0gMCkgJiYgKHZhbFswXSAhPSAwKSkgeworCSAgICB4bWxVUklQdHIgdXJpOworCisJICAgIHVyaSA9IHhtbFBhcnNlVVJJKChjb25zdCBjaGFyICopdmFsKTsKKwkgICAgaWYgKHVyaSA9PSBOVUxMKSB7CisJICAgICAgICB4bWxOc1dhcm5Nc2coY3R4dCwgWE1MX1dBUl9OU19VUkksCisJCQkgInhtbG5zOiVzOiAlcyBub3QgYSB2YWxpZCBVUklcbiIsIG5hbWUsIHZhbHVlKTsKKwkgICAgfSBlbHNlIHsKKwkJaWYgKHVyaS0+c2NoZW1lID09IE5VTEwpIHsKKwkJICAgIHhtbE5zV2Fybk1zZyhjdHh0LCBYTUxfV0FSX05TX1VSSV9SRUxBVElWRSwKKwkJCSAgICJ4bWxuczolczogVVJJICVzIGlzIG5vdCBhYnNvbHV0ZVxuIiwgbmFtZSwgdmFsdWUpOworCQl9CisJCXhtbEZyZWVVUkkodXJpKTsKKwkgICAgfQorCX0KKworCS8qIGEgc3RhbmRhcmQgbmFtZXNwYWNlIGRlZmluaXRpb24gKi8KKwluc3JldCA9IHhtbE5ld05zKGN0eHQtPm5vZGUsIHZhbCwgbmFtZSk7CisJeG1sRnJlZShucyk7CisjaWZkZWYgTElCWE1MX1ZBTElEX0VOQUJMRUQKKwkvKgorCSAqIFZhbGlkYXRlIGFsc28gZm9yIG5hbWVzcGFjZSBkZWNscywgdGhleSBhcmUgYXR0cmlidXRlcyBmcm9tCisJICogYW4gWE1MLTEuMCBwZXJzcGVjdGl2ZQorCSAqLworICAgICAgICBpZiAobnNyZXQgIT0gTlVMTCAmJiBjdHh0LT52YWxpZGF0ZSAmJiBjdHh0LT53ZWxsRm9ybWVkICYmCisJICAgIGN0eHQtPm15RG9jICYmIGN0eHQtPm15RG9jLT5pbnRTdWJzZXQpCisJICAgIGN0eHQtPnZhbGlkICY9IHhtbFZhbGlkYXRlT25lTmFtZXNwYWNlKCZjdHh0LT52Y3R4dCwgY3R4dC0+bXlEb2MsCisJCQkJCSAgIGN0eHQtPm5vZGUsIHByZWZpeCwgbnNyZXQsIHZhbHVlKTsKKyNlbmRpZiAvKiBMSUJYTUxfVkFMSURfRU5BQkxFRCAqLworCWlmIChuYW1lICE9IE5VTEwpCisJICAgIHhtbEZyZWUobmFtZSk7CisJaWYgKG52YWwgIT0gTlVMTCkKKwkgICAgeG1sRnJlZShudmFsKTsKKwlpZiAodmFsICE9IHZhbHVlKQorCSAgICB4bWxGcmVlKHZhbCk7CisJcmV0dXJuOworICAgIH0KKworICAgIGlmIChucyAhPSBOVUxMKSB7CisJbmFtZXNwYWNlID0geG1sU2VhcmNoTnMoY3R4dC0+bXlEb2MsIGN0eHQtPm5vZGUsIG5zKTsKKworCWlmIChuYW1lc3BhY2UgPT0gTlVMTCkgeworCSAgICB4bWxOc0Vyck1zZyhjdHh0LCBYTUxfTlNfRVJSX1VOREVGSU5FRF9OQU1FU1BBQ0UsCisJCSAgICAiTmFtZXNwYWNlIHByZWZpeCAlcyBvZiBhdHRyaWJ1dGUgJXMgaXMgbm90IGRlZmluZWRcbiIsCisJCSAgICAgICAgICAgICBucywgbmFtZSk7CisJfSBlbHNlIHsKKyAgICAgICAgICAgIHhtbEF0dHJQdHIgcHJvcDsKKworICAgICAgICAgICAgcHJvcCA9IGN0eHQtPm5vZGUtPnByb3BlcnRpZXM7CisgICAgICAgICAgICB3aGlsZSAocHJvcCAhPSBOVUxMKSB7CisgICAgICAgICAgICAgICAgaWYgKHByb3AtPm5zICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKCh4bWxTdHJFcXVhbChuYW1lLCBwcm9wLT5uYW1lKSkgJiYKKyAgICAgICAgICAgICAgICAgICAgICAgICgobmFtZXNwYWNlID09IHByb3AtPm5zKSB8fAorICAgICAgICAgICAgICAgICAgICAgICAgICh4bWxTdHJFcXVhbChuYW1lc3BhY2UtPmhyZWYsIHByb3AtPm5zLT5ocmVmKSkpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sTnNFcnJNc2coY3R4dCwgWE1MX0VSUl9BVFRSSUJVVEVfUkVERUZJTkVELAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkF0dHJpYnV0ZSAlcyBpbiAlcyByZWRlZmluZWRcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lLCBuYW1lc3BhY2UtPmhyZWYpOworICAgICAgICAgICAgICAgICAgICAgICAgY3R4dC0+d2VsbEZvcm1lZCA9IDA7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY3R4dC0+cmVjb3ZlcnkgPT0gMCkgY3R4dC0+ZGlzYWJsZVNBWCA9IDE7CisgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHByb3AgPSBwcm9wLT5uZXh0OworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfSBlbHNlIHsKKwluYW1lc3BhY2UgPSBOVUxMOworICAgIH0KKworICAgIC8qICEhISEhISA8YSB0b3RvOmFyZz0iIiB4bWxuczp0b3RvPSJodHRwOi8vdG90by5jb20iPiAqLworICAgIHJldCA9IHhtbE5ld05zUHJvcEVhdE5hbWUoY3R4dC0+bm9kZSwgbmFtZXNwYWNlLCBuYW1lLCBOVUxMKTsKKworICAgIGlmIChyZXQgIT0gTlVMTCkgeworICAgICAgICBpZiAoKGN0eHQtPnJlcGxhY2VFbnRpdGllcyA9PSAwKSAmJiAoIWN0eHQtPmh0bWwpKSB7CisJICAgIHhtbE5vZGVQdHIgdG1wOworCisJICAgIHJldC0+Y2hpbGRyZW4gPSB4bWxTdHJpbmdHZXROb2RlTGlzdChjdHh0LT5teURvYywgdmFsdWUpOworCSAgICB0bXAgPSByZXQtPmNoaWxkcmVuOworCSAgICB3aGlsZSAodG1wICE9IE5VTEwpIHsKKwkJdG1wLT5wYXJlbnQgPSAoeG1sTm9kZVB0cikgcmV0OworCQlpZiAodG1wLT5uZXh0ID09IE5VTEwpCisJCSAgICByZXQtPmxhc3QgPSB0bXA7CisJCXRtcCA9IHRtcC0+bmV4dDsKKwkgICAgfQorCX0gZWxzZSBpZiAodmFsdWUgIT0gTlVMTCkgeworCSAgICByZXQtPmNoaWxkcmVuID0geG1sTmV3RG9jVGV4dChjdHh0LT5teURvYywgdmFsdWUpOworCSAgICByZXQtPmxhc3QgPSByZXQtPmNoaWxkcmVuOworCSAgICBpZiAocmV0LT5jaGlsZHJlbiAhPSBOVUxMKQorCQlyZXQtPmNoaWxkcmVuLT5wYXJlbnQgPSAoeG1sTm9kZVB0cikgcmV0OworCX0KKyAgICB9CisKKyNpZmRlZiBMSUJYTUxfVkFMSURfRU5BQkxFRAorICAgIGlmICgoIWN0eHQtPmh0bWwpICYmIGN0eHQtPnZhbGlkYXRlICYmIGN0eHQtPndlbGxGb3JtZWQgJiYKKyAgICAgICAgY3R4dC0+bXlEb2MgJiYgY3R4dC0+bXlEb2MtPmludFN1YnNldCkgeworCisJLyoKKwkgKiBJZiB3ZSBkb24ndCBzdWJzdGl0dXRlIGVudGl0aWVzLCB0aGUgdmFsaWRhdGlvbiBzaG91bGQgYmUKKwkgKiBkb25lIG9uIGEgdmFsdWUgd2l0aCByZXBsYWNlZCBlbnRpdGllcyBhbnl3YXkuCisJICovCisgICAgICAgIGlmICghY3R4dC0+cmVwbGFjZUVudGl0aWVzKSB7CisJICAgIHhtbENoYXIgKnZhbDsKKworCSAgICBjdHh0LT5kZXB0aCsrOworCSAgICB2YWwgPSB4bWxTdHJpbmdEZWNvZGVFbnRpdGllcyhjdHh0LCB2YWx1ZSwgWE1MX1NVQlNUSVRVVEVfUkVGLAorCQkgICAgICAgICAgICAgICAgICAgICAgICAgIDAsMCwwKTsKKwkgICAgY3R4dC0+ZGVwdGgtLTsKKworCSAgICBpZiAodmFsID09IE5VTEwpCisJCWN0eHQtPnZhbGlkICY9IHhtbFZhbGlkYXRlT25lQXR0cmlidXRlKCZjdHh0LT52Y3R4dCwKKwkJCQljdHh0LT5teURvYywgY3R4dC0+bm9kZSwgcmV0LCB2YWx1ZSk7CisJICAgIGVsc2UgeworCQl4bWxDaGFyICpudmFsbm9ybTsKKworCQkvKgorCQkgKiBEbyB0aGUgbGFzdCBzdGFnZSBvZiB0aGUgYXR0cmlidXRlIG5vcm1hbGl6YXRpb24KKwkJICogSXQgbmVlZCB0byBiZSBkb25lIHR3aWNlIC4uLiBpdCdzIGFuIGV4dHJhIGJ1cmRlbiByZWxhdGVkCisJCSAqIHRvIHRoZSBhYmlsaXR5IHRvIGtlZXAgeG1sU0FYMlJlZmVyZW5jZXMgaW4gYXR0cmlidXRlcworCQkgKi8KKwkJbnZhbG5vcm0gPSB4bWxWYWxpZE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlKGN0eHQtPm15RG9jLAorCQkJCQkgICAgY3R4dC0+bm9kZSwgZnVsbG5hbWUsIHZhbCk7CisJCWlmIChudmFsbm9ybSAhPSBOVUxMKSB7CisJCSAgICB4bWxGcmVlKHZhbCk7CisJCSAgICB2YWwgPSBudmFsbm9ybTsKKwkJfQorCisJCWN0eHQtPnZhbGlkICY9IHhtbFZhbGlkYXRlT25lQXR0cmlidXRlKCZjdHh0LT52Y3R4dCwKKwkJCSAgICAgICAgY3R4dC0+bXlEb2MsIGN0eHQtPm5vZGUsIHJldCwgdmFsKTsKKyAgICAgICAgICAgICAgICB4bWxGcmVlKHZhbCk7CisJICAgIH0KKwl9IGVsc2UgeworCSAgICBjdHh0LT52YWxpZCAmPSB4bWxWYWxpZGF0ZU9uZUF0dHJpYnV0ZSgmY3R4dC0+dmN0eHQsIGN0eHQtPm15RG9jLAorCQkJCQkgICAgICAgY3R4dC0+bm9kZSwgcmV0LCB2YWx1ZSk7CisJfQorICAgIH0gZWxzZQorI2VuZGlmIC8qIExJQlhNTF9WQUxJRF9FTkFCTEVEICovCisgICAgICAgICAgIGlmICgoKGN0eHQtPmxvYWRzdWJzZXQgJiBYTUxfU0tJUF9JRFMpID09IDApICYmCisJICAgICAgICgoKGN0eHQtPnJlcGxhY2VFbnRpdGllcyA9PSAwKSAmJiAoY3R4dC0+ZXh0ZXJuYWwgIT0gMikpIHx8CisJICAgICAgICAoKGN0eHQtPnJlcGxhY2VFbnRpdGllcyAhPSAwKSAmJiAoY3R4dC0+aW5TdWJzZXQgPT0gMCkpKSkgeworICAgICAgICAvKgorCSAqIHdoZW4gdmFsaWRhdGluZywgdGhlIElEIHJlZ2lzdHJhdGlvbiBpcyBkb25lIGF0IHRoZSBhdHRyaWJ1dGUKKwkgKiB2YWxpZGF0aW9uIGxldmVsLiBPdGhlcndpc2Ugd2UgaGF2ZSB0byBkbyBzcGVjaWZpYyBoYW5kbGluZyBoZXJlLgorCSAqLworCWlmICh4bWxTdHJFcXVhbChmdWxsbmFtZSwgQkFEX0NBU1QgInhtbDppZCIpKSB7CisJICAgIC8qCisJICAgICAqIEFkZCB0aGUgeG1sOmlkIHZhbHVlCisJICAgICAqCisJICAgICAqIE9wZW4gaXNzdWU6IG5vcm1hbGl6YXRpb24gb2YgdGhlIHZhbHVlLgorCSAgICAgKi8KKwkgICAgaWYgKHhtbFZhbGlkYXRlTkNOYW1lKHZhbHVlLCAxKSAhPSAwKSB7CisJICAgICAgICB4bWxFcnJWYWxpZChjdHh0LCBYTUxfRFREX1hNTElEX1ZBTFVFLAorCQkgICAgICAieG1sOmlkIDogYXR0cmlidXRlIHZhbHVlICVzIGlzIG5vdCBhbiBOQ05hbWVcbiIsCisJCQkgICAgKGNvbnN0IGNoYXIgKikgdmFsdWUsIE5VTEwpOworCSAgICB9CisJICAgIHhtbEFkZElEKCZjdHh0LT52Y3R4dCwgY3R4dC0+bXlEb2MsIHZhbHVlLCByZXQpOworCX0gZWxzZSBpZiAoeG1sSXNJRChjdHh0LT5teURvYywgY3R4dC0+bm9kZSwgcmV0KSkKKwkgICAgeG1sQWRkSUQoJmN0eHQtPnZjdHh0LCBjdHh0LT5teURvYywgdmFsdWUsIHJldCk7CisJZWxzZSBpZiAoeG1sSXNSZWYoY3R4dC0+bXlEb2MsIGN0eHQtPm5vZGUsIHJldCkpCisJICAgIHhtbEFkZFJlZigmY3R4dC0+dmN0eHQsIGN0eHQtPm15RG9jLCB2YWx1ZSwgcmV0KTsKKyAgICB9CisKK2Vycm9yOgorICAgIGlmIChudmFsICE9IE5VTEwpCisJeG1sRnJlZShudmFsKTsKKyAgICBpZiAobnMgIT0gTlVMTCkKKwl4bWxGcmVlKG5zKTsKK30KKworLyoKKyAqIHhtbENoZWNrRGVmYXVsdGVkQXR0cmlidXRlczoKKyAqCisgKiBDaGVjayBkZWZhdWx0ZWQgYXR0cmlidXRlcyBmcm9tIHRoZSBEVEQKKyAqLworc3RhdGljIHZvaWQKK3htbENoZWNrRGVmYXVsdGVkQXR0cmlidXRlcyh4bWxQYXJzZXJDdHh0UHRyIGN0eHQsIGNvbnN0IHhtbENoYXIgKm5hbWUsCisJY29uc3QgeG1sQ2hhciAqcHJlZml4LCBjb25zdCB4bWxDaGFyICoqYXR0cykgeworICAgIHhtbEVsZW1lbnRQdHIgZWxlbURlY2w7CisgICAgY29uc3QgeG1sQ2hhciAqYXR0OworICAgIGludCBpbnRlcm5hbCA9IDE7CisgICAgaW50IGk7CisKKyAgICBlbGVtRGVjbCA9IHhtbEdldER0ZFFFbGVtZW50RGVzYyhjdHh0LT5teURvYy0+aW50U3Vic2V0LCBuYW1lLCBwcmVmaXgpOworICAgIGlmIChlbGVtRGVjbCA9PSBOVUxMKSB7CisJZWxlbURlY2wgPSB4bWxHZXREdGRRRWxlbWVudERlc2MoY3R4dC0+bXlEb2MtPmV4dFN1YnNldCwgbmFtZSwgcHJlZml4KTsKKwlpbnRlcm5hbCA9IDA7CisgICAgfQorCitwcm9jZXNzX2V4dGVybmFsX3N1YnNldDoKKworICAgIGlmIChlbGVtRGVjbCAhPSBOVUxMKSB7CisJeG1sQXR0cmlidXRlUHRyIGF0dHIgPSBlbGVtRGVjbC0+YXR0cmlidXRlczsKKwkvKgorCSAqIENoZWNrIGFnYWluc3QgZGVmYXVsdGVkIGF0dHJpYnV0ZXMgZnJvbSB0aGUgZXh0ZXJuYWwgc3Vic2V0CisJICogaWYgdGhlIGRvY3VtZW50IGlzIHN0YW1wZWQgYXMgc3RhbmRhbG9uZQorCSAqLworCWlmICgoY3R4dC0+bXlEb2MtPnN0YW5kYWxvbmUgPT0gMSkgJiYKKwkgICAgKGN0eHQtPm15RG9jLT5leHRTdWJzZXQgIT0gTlVMTCkgJiYKKwkgICAgKGN0eHQtPnZhbGlkYXRlKSkgeworCSAgICB3aGlsZSAoYXR0ciAhPSBOVUxMKSB7CisJCWlmICgoYXR0ci0+ZGVmYXVsdFZhbHVlICE9IE5VTEwpICYmCisJCSAgICAoeG1sR2V0RHRkUUF0dHJEZXNjKGN0eHQtPm15RG9jLT5leHRTdWJzZXQsCisJCQkJCWF0dHItPmVsZW0sIGF0dHItPm5hbWUsCisJCQkJCWF0dHItPnByZWZpeCkgPT0gYXR0cikgJiYKKwkJICAgICh4bWxHZXREdGRRQXR0ckRlc2MoY3R4dC0+bXlEb2MtPmludFN1YnNldCwKKwkJCQkJYXR0ci0+ZWxlbSwgYXR0ci0+bmFtZSwKKwkJCQkJYXR0ci0+cHJlZml4KSA9PSBOVUxMKSkgeworCQkgICAgeG1sQ2hhciAqZnVsbG47CisKKwkJICAgIGlmIChhdHRyLT5wcmVmaXggIT0gTlVMTCkgeworCQkJZnVsbG4gPSB4bWxTdHJkdXAoYXR0ci0+cHJlZml4KTsKKwkJCWZ1bGxuID0geG1sU3RyY2F0KGZ1bGxuLCBCQURfQ0FTVCAiOiIpOworCQkJZnVsbG4gPSB4bWxTdHJjYXQoZnVsbG4sIGF0dHItPm5hbWUpOworCQkgICAgfSBlbHNlIHsKKwkJCWZ1bGxuID0geG1sU3RyZHVwKGF0dHItPm5hbWUpOworCQkgICAgfQorICAgICAgICAgICAgICAgICAgICBpZiAoZnVsbG4gPT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICAgICAgeG1sU0FYMkVyck1lbW9yeShjdHh0LCAieG1sU0FYMlN0YXJ0RWxlbWVudCIpOworICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgIH0KKworCQkgICAgLyoKKwkJICAgICAqIENoZWNrIHRoYXQgdGhlIGF0dHJpYnV0ZSBpcyBub3QgZGVjbGFyZWQgaW4gdGhlCisJCSAgICAgKiBzZXJpYWxpemF0aW9uCisJCSAgICAgKi8KKwkJICAgIGF0dCA9IE5VTEw7CisJCSAgICBpZiAoYXR0cyAhPSBOVUxMKSB7CisJCQlpID0gMDsKKwkJCWF0dCA9IGF0dHNbaV07CisJCQl3aGlsZSAoYXR0ICE9IE5VTEwpIHsKKwkJCSAgICBpZiAoeG1sU3RyRXF1YWwoYXR0LCBmdWxsbikpCisJCQkJYnJlYWs7CisJCQkgICAgaSArPSAyOworCQkJICAgIGF0dCA9IGF0dHNbaV07CisJCQl9CisJCSAgICB9CisJCSAgICBpZiAoYXR0ID09IE5VTEwpIHsKKwkJICAgICAgICB4bWxFcnJWYWxpZChjdHh0LCBYTUxfRFREX1NUQU5EQUxPTkVfREVGQVVMVEVELAorICAgICAgInN0YW5kYWxvbmU6IGF0dHJpYnV0ZSAlcyBvbiAlcyBkZWZhdWx0ZWQgZnJvbSBleHRlcm5hbCBzdWJzZXRcbiIsCisJCQkJICAgIChjb25zdCBjaGFyICopZnVsbG4sCisJCQkJICAgIChjb25zdCBjaGFyICopYXR0ci0+ZWxlbSk7CisJCSAgICB9CisgICAgICAgICAgICAgICAgICAgIHhtbEZyZWUoZnVsbG4pOworCQl9CisJCWF0dHIgPSBhdHRyLT5uZXh0aDsKKwkgICAgfQorCX0KKworCS8qCisJICogQWN0dWFsbHkgaW5zZXJ0IGRlZmF1bHRlZCB2YWx1ZXMgd2hlbiBuZWVkZWQKKwkgKi8KKwlhdHRyID0gZWxlbURlY2wtPmF0dHJpYnV0ZXM7CisJd2hpbGUgKGF0dHIgIT0gTlVMTCkgeworCSAgICAvKgorCSAgICAgKiBNYWtlIHN1cmUgdGhhdCBhdHRyaWJ1dGVzIHJlZGVmaW5pdGlvbiBvY2N1cmluZyBpbiB0aGUKKwkgICAgICogaW50ZXJuYWwgc3Vic2V0IGFyZSBub3Qgb3ZlcnJpZGVuIGJ5IGRlZmluaXRpb25zIGluIHRoZQorCSAgICAgKiBleHRlcm5hbCBzdWJzZXQuCisJICAgICAqLworCSAgICBpZiAoYXR0ci0+ZGVmYXVsdFZhbHVlICE9IE5VTEwpIHsKKwkJLyoKKwkJICogdGhlIGVsZW1lbnQgc2hvdWxkIGJlIGluc3RhbnRpYXRlZCBpbiB0aGUgdHJlZSBpZjoKKwkJICogIC0gdGhpcyBpcyBhIG5hbWVzcGFjZSBwcmVmaXgKKwkJICogIC0gdGhlIHVzZXIgcmVxdWlyZWQgZm9yIGNvbXBsZXRpb24gaW4gdGhlIHRyZWUKKwkJICogICAgbGlrZSBYU0xUCisJCSAqICAtIHRoZXJlIGlzbid0IGFscmVhZHkgYW4gYXR0cmlidXRlIGRlZmluaXRpb24KKwkJICogICAgaW4gdGhlIGludGVybmFsIHN1YnNldCBvdmVycmlkaW5nIGl0LgorCQkgKi8KKwkJaWYgKCgoYXR0ci0+cHJlZml4ICE9IE5VTEwpICYmCisJCSAgICAgKHhtbFN0ckVxdWFsKGF0dHItPnByZWZpeCwgQkFEX0NBU1QgInhtbG5zIikpKSB8fAorCQkgICAgKChhdHRyLT5wcmVmaXggPT0gTlVMTCkgJiYKKwkJICAgICAoeG1sU3RyRXF1YWwoYXR0ci0+bmFtZSwgQkFEX0NBU1QgInhtbG5zIikpKSB8fAorCQkgICAgKGN0eHQtPmxvYWRzdWJzZXQgJiBYTUxfQ09NUExFVEVfQVRUUlMpKSB7CisJCSAgICB4bWxBdHRyaWJ1dGVQdHIgdHN0OworCisJCSAgICB0c3QgPSB4bWxHZXREdGRRQXR0ckRlc2MoY3R4dC0+bXlEb2MtPmludFN1YnNldCwKKwkJCQkJICAgICBhdHRyLT5lbGVtLCBhdHRyLT5uYW1lLAorCQkJCQkgICAgIGF0dHItPnByZWZpeCk7CisJCSAgICBpZiAoKHRzdCA9PSBhdHRyKSB8fCAodHN0ID09IE5VTEwpKSB7CisJCSAgICAgICAgeG1sQ2hhciBmbls1MF07CisJCQl4bWxDaGFyICpmdWxsbjsKKworICAgICAgICAgICAgICAgICAgICAgICAgZnVsbG4gPSB4bWxCdWlsZFFOYW1lKGF0dHItPm5hbWUsIGF0dHItPnByZWZpeCwgZm4sIDUwKTsKKwkJCWlmIChmdWxsbiA9PSBOVUxMKSB7CisJCQkgICAgeG1sU0FYMkVyck1lbW9yeShjdHh0LCAieG1sU0FYMlN0YXJ0RWxlbWVudCIpOworCQkJICAgIHJldHVybjsKKwkJCX0KKworCQkJLyoKKwkJCSAqIENoZWNrIHRoYXQgdGhlIGF0dHJpYnV0ZSBpcyBub3QgZGVjbGFyZWQgaW4gdGhlCisJCQkgKiBzZXJpYWxpemF0aW9uCisJCQkgKi8KKwkJCWF0dCA9IE5VTEw7CisJCQlpZiAoYXR0cyAhPSBOVUxMKSB7CisJCQkgICAgaSA9IDA7CisJCQkgICAgYXR0ID0gYXR0c1tpXTsKKwkJCSAgICB3aGlsZSAoYXR0ICE9IE5VTEwpIHsKKwkJCQlpZiAoeG1sU3RyRXF1YWwoYXR0LCBmdWxsbikpCisJCQkJICAgIGJyZWFrOworCQkJCWkgKz0gMjsKKwkJCQlhdHQgPSBhdHRzW2ldOworCQkJICAgIH0KKwkJCX0KKwkJCWlmIChhdHQgPT0gTlVMTCkgeworCQkJICAgIHhtbFNBWDJBdHRyaWJ1dGVJbnRlcm5hbChjdHh0LCBmdWxsbiwKKwkJCQkJCSBhdHRyLT5kZWZhdWx0VmFsdWUsIHByZWZpeCk7CisJCQl9CisJCQlpZiAoKGZ1bGxuICE9IGZuKSAmJiAoZnVsbG4gIT0gYXR0ci0+bmFtZSkpCisJCQkgICAgeG1sRnJlZShmdWxsbik7CisJCSAgICB9CisJCX0KKwkgICAgfQorCSAgICBhdHRyID0gYXR0ci0+bmV4dGg7CisJfQorCWlmIChpbnRlcm5hbCA9PSAxKSB7CisJICAgIGVsZW1EZWNsID0geG1sR2V0RHRkUUVsZW1lbnREZXNjKGN0eHQtPm15RG9jLT5leHRTdWJzZXQsCisJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSwgcHJlZml4KTsKKwkgICAgaW50ZXJuYWwgPSAwOworCSAgICBnb3RvIHByb2Nlc3NfZXh0ZXJuYWxfc3Vic2V0OworCX0KKyAgICB9Cit9CisKKy8qKgorICogeG1sU0FYMlN0YXJ0RWxlbWVudDoKKyAqIEBjdHg6IHRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCkKKyAqIEBmdWxsbmFtZTogIFRoZSBlbGVtZW50IG5hbWUsIGluY2x1ZGluZyBuYW1lc3BhY2UgcHJlZml4CisgKiBAYXR0czogIEFuIGFycmF5IG9mIG5hbWUvdmFsdWUgYXR0cmlidXRlcyBwYWlycywgTlVMTCB0ZXJtaW5hdGVkCisgKgorICogY2FsbGVkIHdoZW4gYW4gb3BlbmluZyB0YWcgaGFzIGJlZW4gcHJvY2Vzc2VkLgorICovCit2b2lkCit4bWxTQVgyU3RhcnRFbGVtZW50KHZvaWQgKmN0eCwgY29uc3QgeG1sQ2hhciAqZnVsbG5hbWUsIGNvbnN0IHhtbENoYXIgKiphdHRzKQoreworICAgIHhtbFBhcnNlckN0eHRQdHIgY3R4dCA9ICh4bWxQYXJzZXJDdHh0UHRyKSBjdHg7CisgICAgeG1sTm9kZVB0ciByZXQ7CisgICAgeG1sTm9kZVB0ciBwYXJlbnQ7CisgICAgeG1sTnNQdHIgbnM7CisgICAgeG1sQ2hhciAqbmFtZTsKKyAgICB4bWxDaGFyICpwcmVmaXg7CisgICAgY29uc3QgeG1sQ2hhciAqYXR0OworICAgIGNvbnN0IHhtbENoYXIgKnZhbHVlOworICAgIGludCBpOworCisgICAgaWYgKChjdHggPT0gTlVMTCkgfHwgKGZ1bGxuYW1lID09IE5VTEwpIHx8IChjdHh0LT5teURvYyA9PSBOVUxMKSkgcmV0dXJuOworICAgIHBhcmVudCA9IGN0eHQtPm5vZGU7CisjaWZkZWYgREVCVUdfU0FYCisgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJICAgICJTQVgueG1sU0FYMlN0YXJ0RWxlbWVudCglcylcbiIsIGZ1bGxuYW1lKTsKKyNlbmRpZgorCisgICAgLyoKKyAgICAgKiBGaXJzdCBjaGVjayBvbiB2YWxpZGl0eToKKyAgICAgKi8KKyAgICBpZiAoY3R4dC0+dmFsaWRhdGUgJiYgKGN0eHQtPm15RG9jLT5leHRTdWJzZXQgPT0gTlVMTCkgJiYKKyAgICAgICAgKChjdHh0LT5teURvYy0+aW50U3Vic2V0ID09IE5VTEwpIHx8CisJICgoY3R4dC0+bXlEb2MtPmludFN1YnNldC0+bm90YXRpb25zID09IE5VTEwpICYmCisJICAoY3R4dC0+bXlEb2MtPmludFN1YnNldC0+ZWxlbWVudHMgPT0gTlVMTCkgJiYKKwkgIChjdHh0LT5teURvYy0+aW50U3Vic2V0LT5hdHRyaWJ1dGVzID09IE5VTEwpICYmCisJICAoY3R4dC0+bXlEb2MtPmludFN1YnNldC0+ZW50aXRpZXMgPT0gTlVMTCkpKSkgeworCXhtbEVyclZhbGlkKGN0eHQsIFhNTF9FUlJfTk9fRFRELAorCSAgIlZhbGlkYXRpb24gZmFpbGVkOiBubyBEVEQgZm91bmQgISIsIE5VTEwsIE5VTEwpOworCWN0eHQtPnZhbGlkYXRlID0gMDsKKyAgICB9CisKKworICAgIC8qCisgICAgICogU3BsaXQgdGhlIGZ1bGwgbmFtZSBpbnRvIGEgbmFtZXNwYWNlIHByZWZpeCBhbmQgdGhlIHRhZyBuYW1lCisgICAgICovCisgICAgbmFtZSA9IHhtbFNwbGl0UU5hbWUoY3R4dCwgZnVsbG5hbWUsICZwcmVmaXgpOworCisKKyAgICAvKgorICAgICAqIE5vdGUgOiB0aGUgbmFtZXNwYWNlIHJlc29sdXRpb24gaXMgZGVmZXJyZWQgdW50aWwgdGhlIGVuZCBvZiB0aGUKKyAgICAgKiAgICAgICAgYXR0cmlidXRlcyBwYXJzaW5nLCBzaW5jZSBsb2NhbCBuYW1lc3BhY2UgY2FuIGJlIGRlZmluZWQgYXMKKyAgICAgKiAgICAgICAgYW4gYXR0cmlidXRlIGF0IHRoaXMgbGV2ZWwuCisgICAgICovCisgICAgcmV0ID0geG1sTmV3RG9jTm9kZUVhdE5hbWUoY3R4dC0+bXlEb2MsIE5VTEwsIG5hbWUsIE5VTEwpOworICAgIGlmIChyZXQgPT0gTlVMTCkgeworICAgICAgICBpZiAocHJlZml4ICE9IE5VTEwpCisJICAgIHhtbEZyZWUocHJlZml4KTsKKwl4bWxTQVgyRXJyTWVtb3J5KGN0eHQsICJ4bWxTQVgyU3RhcnRFbGVtZW50Iik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgaWYgKGN0eHQtPm15RG9jLT5jaGlsZHJlbiA9PSBOVUxMKSB7CisjaWZkZWYgREVCVUdfU0FYX1RSRUUKKwl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgIlNldHRpbmcgJXMgYXMgcm9vdFxuIiwgbmFtZSk7CisjZW5kaWYKKyAgICAgICAgeG1sQWRkQ2hpbGQoKHhtbE5vZGVQdHIpIGN0eHQtPm15RG9jLCAoeG1sTm9kZVB0cikgcmV0KTsKKyAgICB9IGVsc2UgaWYgKHBhcmVudCA9PSBOVUxMKSB7CisgICAgICAgIHBhcmVudCA9IGN0eHQtPm15RG9jLT5jaGlsZHJlbjsKKyAgICB9CisgICAgY3R4dC0+bm9kZW1lbSA9IC0xOworICAgIGlmIChjdHh0LT5saW5lbnVtYmVycykgeworCWlmIChjdHh0LT5pbnB1dCAhPSBOVUxMKSB7CisJICAgIGlmIChjdHh0LT5pbnB1dC0+bGluZSA8IDY1NTM1KQorCQlyZXQtPmxpbmUgPSAoc2hvcnQpIGN0eHQtPmlucHV0LT5saW5lOworCSAgICBlbHNlCisJICAgICAgICByZXQtPmxpbmUgPSA2NTUzNTsKKwl9CisgICAgfQorCisgICAgLyoKKyAgICAgKiBXZSBhcmUgcGFyc2luZyBhIG5ldyBub2RlLgorICAgICAqLworI2lmZGVmIERFQlVHX1NBWF9UUkVFCisgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICJwdXNoaW5nKCVzKVxuIiwgbmFtZSk7CisjZW5kaWYKKyAgICBub2RlUHVzaChjdHh0LCByZXQpOworCisgICAgLyoKKyAgICAgKiBMaW5rIHRoZSBjaGlsZCBlbGVtZW50CisgICAgICovCisgICAgaWYgKHBhcmVudCAhPSBOVUxMKSB7CisgICAgICAgIGlmIChwYXJlbnQtPnR5cGUgPT0gWE1MX0VMRU1FTlRfTk9ERSkgeworI2lmZGVmIERFQlVHX1NBWF9UUkVFCisJICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkgICAgImFkZGluZyBjaGlsZCAlcyB0byAlc1xuIiwgbmFtZSwgcGFyZW50LT5uYW1lKTsKKyNlbmRpZgorCSAgICB4bWxBZGRDaGlsZChwYXJlbnQsIHJldCk7CisJfSBlbHNlIHsKKyNpZmRlZiBERUJVR19TQVhfVFJFRQorCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJICAgICJhZGRpbmcgc2libGluZyAlcyB0byAiLCBuYW1lKTsKKwkgICAgeG1sRGVidWdEdW1wT25lTm9kZShzdGRlcnIsIHBhcmVudCwgMCk7CisjZW5kaWYKKwkgICAgeG1sQWRkU2libGluZyhwYXJlbnQsIHJldCk7CisJfQorICAgIH0KKworICAgIC8qCisgICAgICogSW5zZXJ0IGFsbCB0aGUgZGVmYXVsdGVkIGF0dHJpYnV0ZXMgZnJvbSB0aGUgRFREIGVzcGVjaWFsbHkgbmFtZXNwYWNlcworICAgICAqLworICAgIGlmICgoIWN0eHQtPmh0bWwpICYmCisJKChjdHh0LT5teURvYy0+aW50U3Vic2V0ICE9IE5VTEwpIHx8CisJIChjdHh0LT5teURvYy0+ZXh0U3Vic2V0ICE9IE5VTEwpKSkgeworCXhtbENoZWNrRGVmYXVsdGVkQXR0cmlidXRlcyhjdHh0LCBuYW1lLCBwcmVmaXgsIGF0dHMpOworICAgIH0KKworICAgIC8qCisgICAgICogcHJvY2VzcyBhbGwgdGhlIGF0dHJpYnV0ZXMgd2hvc2UgbmFtZSBzdGFydCB3aXRoICJ4bWxucyIKKyAgICAgKi8KKyAgICBpZiAoYXR0cyAhPSBOVUxMKSB7CisgICAgICAgIGkgPSAwOworCWF0dCA9IGF0dHNbaSsrXTsKKwl2YWx1ZSA9IGF0dHNbaSsrXTsKKwlpZiAoIWN0eHQtPmh0bWwpIHsKKwkgICAgd2hpbGUgKChhdHQgIT0gTlVMTCkgJiYgKHZhbHVlICE9IE5VTEwpKSB7CisJCWlmICgoYXR0WzBdID09ICd4JykgJiYgKGF0dFsxXSA9PSAnbScpICYmIChhdHRbMl0gPT0gJ2wnKSAmJgorCQkgICAgKGF0dFszXSA9PSAnbicpICYmIChhdHRbNF0gPT0gJ3MnKSkKKwkJICAgIHhtbFNBWDJBdHRyaWJ1dGVJbnRlcm5hbChjdHh0LCBhdHQsIHZhbHVlLCBwcmVmaXgpOworCisJCWF0dCA9IGF0dHNbaSsrXTsKKwkJdmFsdWUgPSBhdHRzW2krK107CisJICAgIH0KKwl9CisgICAgfQorCisgICAgLyoKKyAgICAgKiBTZWFyY2ggdGhlIG5hbWVzcGFjZSwgbm90ZSB0aGF0IHNpbmNlIHRoZSBhdHRyaWJ1dGVzIGhhdmUgYmVlbgorICAgICAqIHByb2Nlc3NlZCwgdGhlIGxvY2FsIG5hbWVzcGFjZXMgYXJlIGF2YWlsYWJsZS4KKyAgICAgKi8KKyAgICBucyA9IHhtbFNlYXJjaE5zKGN0eHQtPm15RG9jLCByZXQsIHByZWZpeCk7CisgICAgaWYgKChucyA9PSBOVUxMKSAmJiAocGFyZW50ICE9IE5VTEwpKQorCW5zID0geG1sU2VhcmNoTnMoY3R4dC0+bXlEb2MsIHBhcmVudCwgcHJlZml4KTsKKyAgICBpZiAoKHByZWZpeCAhPSBOVUxMKSAmJiAobnMgPT0gTlVMTCkpIHsKKwlucyA9IHhtbE5ld05zKHJldCwgTlVMTCwgcHJlZml4KTsKKwl4bWxOc1dhcm5Nc2coY3R4dCwgWE1MX05TX0VSUl9VTkRFRklORURfTkFNRVNQQUNFLAorCQkgICAgICJOYW1lc3BhY2UgcHJlZml4ICVzIGlzIG5vdCBkZWZpbmVkXG4iLAorCQkgICAgIHByZWZpeCwgTlVMTCk7CisgICAgfQorCisgICAgLyoKKyAgICAgKiBzZXQgdGhlIG5hbWVzcGFjZSBub2RlLCBtYWtpbmcgc3VyZSB0aGF0IGlmIHRoZSBkZWZhdWx0IG5hbXNwYWNlCisgICAgICogaXMgdW5ib3VuZCBvbiBhIHBhcmVudCB3ZSBzaW1wbHkga2VlIGl0IE5VTEwKKyAgICAgKi8KKyAgICBpZiAoKG5zICE9IE5VTEwpICYmIChucy0+aHJlZiAhPSBOVUxMKSAmJgorCSgobnMtPmhyZWZbMF0gIT0gMCkgfHwgKG5zLT5wcmVmaXggIT0gTlVMTCkpKQorCXhtbFNldE5zKHJldCwgbnMpOworCisgICAgLyoKKyAgICAgKiBwcm9jZXNzIGFsbCB0aGUgb3RoZXIgYXR0cmlidXRlcworICAgICAqLworICAgIGlmIChhdHRzICE9IE5VTEwpIHsKKyAgICAgICAgaSA9IDA7CisJYXR0ID0gYXR0c1tpKytdOworCXZhbHVlID0gYXR0c1tpKytdOworCWlmIChjdHh0LT5odG1sKSB7CisJICAgIHdoaWxlIChhdHQgIT0gTlVMTCkgeworCQl4bWxTQVgyQXR0cmlidXRlSW50ZXJuYWwoY3R4dCwgYXR0LCB2YWx1ZSwgTlVMTCk7CisJCWF0dCA9IGF0dHNbaSsrXTsKKwkJdmFsdWUgPSBhdHRzW2krK107CisJICAgIH0KKwl9IGVsc2UgeworCSAgICB3aGlsZSAoKGF0dCAhPSBOVUxMKSAmJiAodmFsdWUgIT0gTlVMTCkpIHsKKwkJaWYgKChhdHRbMF0gIT0gJ3gnKSB8fCAoYXR0WzFdICE9ICdtJykgfHwgKGF0dFsyXSAhPSAnbCcpIHx8CisJCSAgICAoYXR0WzNdICE9ICduJykgfHwgKGF0dFs0XSAhPSAncycpKQorCQkgICAgeG1sU0FYMkF0dHJpYnV0ZUludGVybmFsKGN0eHQsIGF0dCwgdmFsdWUsIE5VTEwpOworCisJCS8qCisJCSAqIE5leHQgb25lcworCQkgKi8KKwkJYXR0ID0gYXR0c1tpKytdOworCQl2YWx1ZSA9IGF0dHNbaSsrXTsKKwkgICAgfQorCX0KKyAgICB9CisKKyNpZmRlZiBMSUJYTUxfVkFMSURfRU5BQkxFRAorICAgIC8qCisgICAgICogSWYgaXQncyB0aGUgRG9jdW1lbnQgcm9vdCwgZmluaXNoIHRoZSBEVEQgdmFsaWRhdGlvbiBhbmQKKyAgICAgKiBjaGVjayB0aGUgZG9jdW1lbnQgcm9vdCBlbGVtZW50IGZvciB2YWxpZGl0eQorICAgICAqLworICAgIGlmICgoY3R4dC0+dmFsaWRhdGUpICYmIChjdHh0LT52Y3R4dC5maW5pc2hEdGQgPT0gWE1MX0NUWFRfRklOSVNIX0RURF8wKSkgeworCWludCBjaGs7CisKKwljaGsgPSB4bWxWYWxpZGF0ZUR0ZEZpbmFsKCZjdHh0LT52Y3R4dCwgY3R4dC0+bXlEb2MpOworCWlmIChjaGsgPD0gMCkKKwkgICAgY3R4dC0+dmFsaWQgPSAwOworCWlmIChjaGsgPCAwKQorCSAgICBjdHh0LT53ZWxsRm9ybWVkID0gMDsKKwljdHh0LT52YWxpZCAmPSB4bWxWYWxpZGF0ZVJvb3QoJmN0eHQtPnZjdHh0LCBjdHh0LT5teURvYyk7CisJY3R4dC0+dmN0eHQuZmluaXNoRHRkID0gWE1MX0NUWFRfRklOSVNIX0RURF8xOworICAgIH0KKyNlbmRpZiAvKiBMSUJYTUxfVkFMSURfRU5BQkxFRCAqLworCisgICAgaWYgKHByZWZpeCAhPSBOVUxMKQorCXhtbEZyZWUocHJlZml4KTsKKworfQorCisvKioKKyAqIHhtbFNBWDJFbmRFbGVtZW50OgorICogQGN0eDogdGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KQorICogQG5hbWU6ICBUaGUgZWxlbWVudCBuYW1lCisgKgorICogY2FsbGVkIHdoZW4gdGhlIGVuZCBvZiBhbiBlbGVtZW50IGhhcyBiZWVuIGRldGVjdGVkLgorICovCit2b2lkCit4bWxTQVgyRW5kRWxlbWVudCh2b2lkICpjdHgsIGNvbnN0IHhtbENoYXIgKm5hbWUgQVRUUklCVVRFX1VOVVNFRCkKK3sKKyAgICB4bWxQYXJzZXJDdHh0UHRyIGN0eHQgPSAoeG1sUGFyc2VyQ3R4dFB0cikgY3R4OworICAgIHhtbE5vZGVQdHIgY3VyOworCisgICAgaWYgKGN0eCA9PSBOVUxMKSByZXR1cm47CisgICAgY3VyID0gY3R4dC0+bm9kZTsKKyNpZmRlZiBERUJVR19TQVgKKyAgICBpZiAobmFtZSA9PSBOVUxMKQorICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgIlNBWC54bWxTQVgyRW5kRWxlbWVudChOVUxMKVxuIik7CisgICAgZWxzZQorCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCAiU0FYLnhtbFNBWDJFbmRFbGVtZW50KCVzKVxuIiwgbmFtZSk7CisjZW5kaWYKKworICAgIC8qIENhcHR1cmUgZW5kIHBvc2l0aW9uIGFuZCBhZGQgbm9kZSAqLworICAgIGlmIChjdXIgIT0gTlVMTCAmJiBjdHh0LT5yZWNvcmRfaW5mbykgeworICAgICAgY3R4dC0+bm9kZUluZm8tPmVuZF9wb3MgPSBjdHh0LT5pbnB1dC0+Y3VyIC0gY3R4dC0+aW5wdXQtPmJhc2U7CisgICAgICBjdHh0LT5ub2RlSW5mby0+ZW5kX2xpbmUgPSBjdHh0LT5pbnB1dC0+bGluZTsKKyAgICAgIGN0eHQtPm5vZGVJbmZvLT5ub2RlID0gY3VyOworICAgICAgeG1sUGFyc2VyQWRkTm9kZUluZm8oY3R4dCwgY3R4dC0+bm9kZUluZm8pOworICAgIH0KKyAgICBjdHh0LT5ub2RlbWVtID0gLTE7CisKKyNpZmRlZiBMSUJYTUxfVkFMSURfRU5BQkxFRAorICAgIGlmIChjdHh0LT52YWxpZGF0ZSAmJiBjdHh0LT53ZWxsRm9ybWVkICYmCisgICAgICAgIGN0eHQtPm15RG9jICYmIGN0eHQtPm15RG9jLT5pbnRTdWJzZXQpCisgICAgICAgIGN0eHQtPnZhbGlkICY9IHhtbFZhbGlkYXRlT25lRWxlbWVudCgmY3R4dC0+dmN0eHQsIGN0eHQtPm15RG9jLAorCQkJCQkgICAgIGN1cik7CisjZW5kaWYgLyogTElCWE1MX1ZBTElEX0VOQUJMRUQgKi8KKworCisgICAgLyoKKyAgICAgKiBlbmQgb2YgcGFyc2luZyBvZiB0aGlzIG5vZGUuCisgICAgICovCisjaWZkZWYgREVCVUdfU0FYX1RSRUUKKyAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgInBvcHBpbmcoJXMpXG4iLCBjdXItPm5hbWUpOworI2VuZGlmCisgICAgbm9kZVBvcChjdHh0KTsKK30KKyNlbmRpZiAvKiBMSUJYTUxfU0FYMV9FTkFCTEVEIHx8IExJQlhNTF9IVE1MX0VOQUJMRUQgfHwgTElCWE1MX0xFR0FDWV9FTkFCTEVEICovCisKKy8qCisgKiB4bWxTQVgyVGV4dE5vZGU6CisgKiBAY3R4dDogIHRoZSBwYXJzZXIgY29udGV4dAorICogQHN0cjogIHRoZSBpbnB1dCBzdHJpbmcKKyAqIEBsZW46IHRoZSBzdHJpbmcgbGVuZ3RoCisgKgorICogQ2FsbGJhY2sgZm9yIGEgdGV4dCBub2RlCisgKgorICogUmV0dXJucyB0aGUgbmV3bHkgYWxsb2NhdGVkIHN0cmluZyBvciBOVUxMIGlmIG5vdCBuZWVkZWQgb3IgZXJyb3IKKyAqLworc3RhdGljIHhtbE5vZGVQdHIKK3htbFNBWDJUZXh0Tm9kZSh4bWxQYXJzZXJDdHh0UHRyIGN0eHQsIGNvbnN0IHhtbENoYXIgKnN0ciwgaW50IGxlbikgeworICAgIHhtbE5vZGVQdHIgcmV0OworICAgIGNvbnN0IHhtbENoYXIgKmludGVybiA9IE5VTEw7CisKKyAgICAvKgorICAgICAqIEFsbG9jYXRlCisgICAgICovCisgICAgaWYgKGN0eHQtPmZyZWVFbGVtcyAhPSBOVUxMKSB7CisJcmV0ID0gY3R4dC0+ZnJlZUVsZW1zOworCWN0eHQtPmZyZWVFbGVtcyA9IHJldC0+bmV4dDsKKwljdHh0LT5mcmVlRWxlbXNOci0tOworICAgIH0gZWxzZSB7CisJcmV0ID0gKHhtbE5vZGVQdHIpIHhtbE1hbGxvYyhzaXplb2YoeG1sTm9kZSkpOworICAgIH0KKyAgICBpZiAocmV0ID09IE5VTEwpIHsKKyAgICAgICAgeG1sRXJyTWVtb3J5KGN0eHQsICJ4bWxTQVgyQ2hhcmFjdGVycyIpOworCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgbWVtc2V0KHJldCwgMCwgc2l6ZW9mKHhtbE5vZGUpKTsKKyAgICAvKgorICAgICAqIGludGVybiB0aGUgZm9ybWF0dGluZyBibGFua3MgZm91bmQgYmV0d2VlbiB0YWdzLCBvciB0aGUKKyAgICAgKiB2ZXJ5IHNob3J0IHN0cmluZ3MKKyAgICAgKi8KKyAgICBpZiAoY3R4dC0+ZGljdE5hbWVzKSB7CisgICAgICAgIHhtbENoYXIgY3VyID0gc3RyW2xlbl07CisKKwlpZiAoKGxlbiA8IChpbnQpICgyICogc2l6ZW9mKHZvaWQgKikpKSAmJgorCSAgICAoY3R4dC0+b3B0aW9ucyAmIFhNTF9QQVJTRV9DT01QQUNUKSkgeworCSAgICAvKiBzdG9yZSB0aGUgc3RyaW5nIGluIHRoZSBub2RlIG92ZXJyaWRpbmcgcHJvcGVydGllcyBhbmQgbnNEZWYgKi8KKwkgICAgeG1sQ2hhciAqdG1wID0gKHhtbENoYXIgKikgJihyZXQtPnByb3BlcnRpZXMpOworCSAgICBtZW1jcHkodG1wLCBzdHIsIGxlbik7CisJICAgIHRtcFtsZW5dID0gMDsKKwkgICAgaW50ZXJuID0gdG1wOworCX0gZWxzZSBpZiAoKGxlbiA8PSAzKSAmJiAoKGN1ciA9PSAnIicpIHx8IChjdXIgPT0gJ1wnJykgfHwKKwkgICAgKChjdXIgPT0gJzwnKSAmJiAoc3RyW2xlbiArIDFdICE9ICchJykpKSkgeworCSAgICBpbnRlcm4gPSB4bWxEaWN0TG9va3VwKGN0eHQtPmRpY3QsIHN0ciwgbGVuKTsKKwl9IGVsc2UgaWYgKElTX0JMQU5LX0NIKCpzdHIpICYmIChsZW4gPCA2MCkgJiYgKGN1ciA9PSAnPCcpICYmCisJICAgICAgICAgICAoc3RyW2xlbiArIDFdICE9ICchJykpIHsKKwkgICAgaW50IGk7CisKKwkgICAgZm9yIChpID0gMTtpIDwgbGVuO2krKykgeworCQlpZiAoIUlTX0JMQU5LX0NIKHN0cltpXSkpIGdvdG8gc2tpcDsKKwkgICAgfQorCSAgICBpbnRlcm4gPSB4bWxEaWN0TG9va3VwKGN0eHQtPmRpY3QsIHN0ciwgbGVuKTsKKwl9CisgICAgfQorc2tpcDoKKyAgICByZXQtPnR5cGUgPSBYTUxfVEVYVF9OT0RFOworCisgICAgcmV0LT5uYW1lID0geG1sU3RyaW5nVGV4dDsKKyAgICBpZiAoaW50ZXJuID09IE5VTEwpIHsKKwlyZXQtPmNvbnRlbnQgPSB4bWxTdHJuZHVwKHN0ciwgbGVuKTsKKwlpZiAocmV0LT5jb250ZW50ID09IE5VTEwpIHsKKwkgICAgeG1sU0FYMkVyck1lbW9yeShjdHh0LCAieG1sU0FYMlRleHROb2RlIik7CisJICAgIHhtbEZyZWUocmV0KTsKKwkgICAgcmV0dXJuKE5VTEwpOworCX0KKyAgICB9IGVsc2UKKwlyZXQtPmNvbnRlbnQgPSAoeG1sQ2hhciAqKSBpbnRlcm47CisKKyAgICBpZiAoY3R4dC0+bGluZW51bWJlcnMpIHsKKwlpZiAoY3R4dC0+aW5wdXQgIT0gTlVMTCkgeworCSAgICBpZiAoY3R4dC0+aW5wdXQtPmxpbmUgPCA2NTUzNSkKKwkJcmV0LT5saW5lID0gKHNob3J0KSBjdHh0LT5pbnB1dC0+bGluZTsKKwkgICAgZWxzZSB7CisJICAgICAgICByZXQtPmxpbmUgPSA2NTUzNTsKKwkJaWYgKGN0eHQtPm9wdGlvbnMgJiBYTUxfUEFSU0VfQklHX0xJTkVTKQorCQkgICAgcmV0LT5wc3ZpID0gKHZvaWQgKikgKGxvbmcpIGN0eHQtPmlucHV0LT5saW5lOworCSAgICB9CisJfQorICAgIH0KKworICAgIGlmICgoX194bWxSZWdpc3RlckNhbGxiYWNrcykgJiYgKHhtbFJlZ2lzdGVyTm9kZURlZmF1bHRWYWx1ZSkpCisJeG1sUmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlKHJldCk7CisgICAgcmV0dXJuKHJldCk7Cit9CisKKyNpZmRlZiBMSUJYTUxfVkFMSURfRU5BQkxFRAorLyoKKyAqIHhtbFNBWDJEZWNvZGVBdHRyRW50aXRpZXM6CisgKiBAY3R4dDogIHRoZSBwYXJzZXIgY29udGV4dAorICogQHN0cjogIHRoZSBpbnB1dCBzdHJpbmcKKyAqIEBsZW46IHRoZSBzdHJpbmcgbGVuZ3RoCisgKgorICogUmVtb3ZlIHRoZSBlbnRpdGllcyBmcm9tIGFuIGF0dHJpYnV0ZSB2YWx1ZQorICoKKyAqIFJldHVybnMgdGhlIG5ld2x5IGFsbG9jYXRlZCBzdHJpbmcgb3IgTlVMTCBpZiBub3QgbmVlZGVkIG9yIGVycm9yCisgKi8KK3N0YXRpYyB4bWxDaGFyICoKK3htbFNBWDJEZWNvZGVBdHRyRW50aXRpZXMoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0LCBjb25zdCB4bWxDaGFyICpzdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKmVuZCkgeworICAgIGNvbnN0IHhtbENoYXIgKmluOworICAgIHhtbENoYXIgKnJldDsKKworICAgIGluID0gc3RyOworICAgIHdoaWxlIChpbiA8IGVuZCkKKyAgICAgICAgaWYgKCppbisrID09ICcmJykKKwkgICAgZ290byBkZWNvZGU7CisgICAgcmV0dXJuKE5VTEwpOworZGVjb2RlOgorICAgIGN0eHQtPmRlcHRoKys7CisgICAgcmV0ID0geG1sU3RyaW5nTGVuRGVjb2RlRW50aXRpZXMoY3R4dCwgc3RyLCBlbmQgLSBzdHIsCisJCQkJICAgICBYTUxfU1VCU1RJVFVURV9SRUYsIDAsMCwwKTsKKyAgICBjdHh0LT5kZXB0aC0tOworICAgIHJldHVybihyZXQpOworfQorI2VuZGlmIC8qIExJQlhNTF9WQUxJRF9FTkFCTEVEICovCisKKy8qKgorICogeG1sU0FYMkF0dHJpYnV0ZU5zOgorICogQGN0eDogdGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KQorICogQGxvY2FsbmFtZTogIHRoZSBsb2NhbCBuYW1lIG9mIHRoZSBhdHRyaWJ1dGUKKyAqIEBwcmVmaXg6ICB0aGUgYXR0cmlidXRlIG5hbWVzcGFjZSBwcmVmaXggaWYgYXZhaWxhYmxlCisgKiBAVVJJOiAgdGhlIGF0dHJpYnV0ZSBuYW1lc3BhY2UgbmFtZSBpZiBhdmFpbGFibGUKKyAqIEB2YWx1ZTogIFN0YXJ0IG9mIHRoZSBhdHRyaWJ1dGUgdmFsdWUKKyAqIEB2YWx1ZWVuZDogZW5kIG9mIHRoZSBhdHRyaWJ1dGUgdmFsdWUKKyAqCisgKiBIYW5kbGUgYW4gYXR0cmlidXRlIHRoYXQgaGFzIGJlZW4gcmVhZCBieSB0aGUgcGFyc2VyLgorICogVGhlIGRlZmF1bHQgaGFuZGxpbmcgaXMgdG8gY29udmVydCB0aGUgYXR0cmlidXRlIGludG8gYW4KKyAqIERPTSBzdWJ0cmVlIGFuZCBwYXN0IGl0IGluIGEgbmV3IHhtbEF0dHIgZWxlbWVudCBhZGRlZCB0bworICogdGhlIGVsZW1lbnQuCisgKi8KK3N0YXRpYyB2b2lkCit4bWxTQVgyQXR0cmlidXRlTnMoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0LAorICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBsb2NhbG5hbWUsCisgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIHByZWZpeCwKKwkJICAgY29uc3QgeG1sQ2hhciAqIHZhbHVlLAorCQkgICBjb25zdCB4bWxDaGFyICogdmFsdWVlbmQpCit7CisgICAgeG1sQXR0clB0ciByZXQ7CisgICAgeG1sTnNQdHIgbmFtZXNwYWNlID0gTlVMTDsKKyAgICB4bWxDaGFyICpkdXAgPSBOVUxMOworCisgICAgLyoKKyAgICAgKiBOb3RlOiBpZiBwcmVmaXggPT0gTlVMTCwgdGhlIGF0dHJpYnV0ZSBpcyBub3QgaW4gdGhlIGRlZmF1bHQgbmFtZXNwYWNlCisgICAgICovCisgICAgaWYgKHByZWZpeCAhPSBOVUxMKQorCW5hbWVzcGFjZSA9IHhtbFNlYXJjaE5zKGN0eHQtPm15RG9jLCBjdHh0LT5ub2RlLCBwcmVmaXgpOworCisgICAgLyoKKyAgICAgKiBhbGxvY2F0ZSB0aGUgbm9kZQorICAgICAqLworICAgIGlmIChjdHh0LT5mcmVlQXR0cnMgIT0gTlVMTCkgeworICAgICAgICByZXQgPSBjdHh0LT5mcmVlQXR0cnM7CisJY3R4dC0+ZnJlZUF0dHJzID0gcmV0LT5uZXh0OworCWN0eHQtPmZyZWVBdHRyc05yLS07CisJbWVtc2V0KHJldCwgMCwgc2l6ZW9mKHhtbEF0dHIpKTsKKwlyZXQtPnR5cGUgPSBYTUxfQVRUUklCVVRFX05PREU7CisKKwlyZXQtPnBhcmVudCA9IGN0eHQtPm5vZGU7CisJcmV0LT5kb2MgPSBjdHh0LT5teURvYzsKKwlyZXQtPm5zID0gbmFtZXNwYWNlOworCisJaWYgKGN0eHQtPmRpY3ROYW1lcykKKwkgICAgcmV0LT5uYW1lID0gbG9jYWxuYW1lOworCWVsc2UKKwkgICAgcmV0LT5uYW1lID0geG1sU3RyZHVwKGxvY2FsbmFtZSk7CisKKyAgICAgICAgLyogbGluayBhdCB0aGUgZW5kIHRvIHByZXNlcnYgb3JkZXIsIFRPRE8gc3BlZWQgdXAgd2l0aCBhIGxhc3QgKi8KKwlpZiAoY3R4dC0+bm9kZS0+cHJvcGVydGllcyA9PSBOVUxMKSB7CisJICAgIGN0eHQtPm5vZGUtPnByb3BlcnRpZXMgPSByZXQ7CisJfSBlbHNlIHsKKwkgICAgeG1sQXR0clB0ciBwcmV2ID0gY3R4dC0+bm9kZS0+cHJvcGVydGllczsKKworCSAgICB3aGlsZSAocHJldi0+bmV4dCAhPSBOVUxMKSBwcmV2ID0gcHJldi0+bmV4dDsKKwkgICAgcHJldi0+bmV4dCA9IHJldDsKKwkgICAgcmV0LT5wcmV2ID0gcHJldjsKKwl9CisKKwlpZiAoKF9feG1sUmVnaXN0ZXJDYWxsYmFja3MpICYmICh4bWxSZWdpc3Rlck5vZGVEZWZhdWx0VmFsdWUpKQorCSAgICB4bWxSZWdpc3Rlck5vZGVEZWZhdWx0VmFsdWUoKHhtbE5vZGVQdHIpcmV0KTsKKyAgICB9IGVsc2UgeworCWlmIChjdHh0LT5kaWN0TmFtZXMpCisJICAgIHJldCA9IHhtbE5ld05zUHJvcEVhdE5hbWUoY3R4dC0+bm9kZSwgbmFtZXNwYWNlLAorCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh4bWxDaGFyICopIGxvY2FsbmFtZSwgTlVMTCk7CisJZWxzZQorCSAgICByZXQgPSB4bWxOZXdOc1Byb3AoY3R4dC0+bm9kZSwgbmFtZXNwYWNlLCBsb2NhbG5hbWUsIE5VTEwpOworCWlmIChyZXQgPT0gTlVMTCkgeworCSAgICB4bWxFcnJNZW1vcnkoY3R4dCwgInhtbFNBWDJBdHRyaWJ1dGVOcyIpOworCSAgICByZXR1cm47CisJfQorICAgIH0KKworICAgIGlmICgoY3R4dC0+cmVwbGFjZUVudGl0aWVzID09IDApICYmICghY3R4dC0+aHRtbCkpIHsKKwl4bWxOb2RlUHRyIHRtcDsKKworCS8qCisJICogV2Uga25vdyB0aGF0IGlmIHRoZXJlIGlzIGFuIGVudGl0eSByZWZlcmVuY2UsIHRoZW4KKwkgKiB0aGUgc3RyaW5nIGhhcyBiZWVuIGR1cCdlZCBhbmQgdGVybWluYXRlcyB3aXRoIDAKKwkgKiBvdGhlcndpc2Ugd2l0aCAnIG9yICIKKwkgKi8KKwlpZiAoKnZhbHVlZW5kICE9IDApIHsKKwkgICAgdG1wID0geG1sU0FYMlRleHROb2RlKGN0eHQsIHZhbHVlLCB2YWx1ZWVuZCAtIHZhbHVlKTsKKwkgICAgcmV0LT5jaGlsZHJlbiA9IHRtcDsKKwkgICAgcmV0LT5sYXN0ID0gdG1wOworCSAgICBpZiAodG1wICE9IE5VTEwpIHsKKwkJdG1wLT5kb2MgPSByZXQtPmRvYzsKKwkJdG1wLT5wYXJlbnQgPSAoeG1sTm9kZVB0cikgcmV0OworCSAgICB9CisJfSBlbHNlIHsKKwkgICAgcmV0LT5jaGlsZHJlbiA9IHhtbFN0cmluZ0xlbkdldE5vZGVMaXN0KGN0eHQtPm15RG9jLCB2YWx1ZSwKKwkJCQkJCSAgICB2YWx1ZWVuZCAtIHZhbHVlKTsKKwkgICAgdG1wID0gcmV0LT5jaGlsZHJlbjsKKwkgICAgd2hpbGUgKHRtcCAhPSBOVUxMKSB7CisJICAgICAgICB0bXAtPmRvYyA9IHJldC0+ZG9jOworCQl0bXAtPnBhcmVudCA9ICh4bWxOb2RlUHRyKSByZXQ7CisJCWlmICh0bXAtPm5leHQgPT0gTlVMTCkKKwkJICAgIHJldC0+bGFzdCA9IHRtcDsKKwkJdG1wID0gdG1wLT5uZXh0OworCSAgICB9CisJfQorICAgIH0gZWxzZSBpZiAodmFsdWUgIT0gTlVMTCkgeworCXhtbE5vZGVQdHIgdG1wOworCisJdG1wID0geG1sU0FYMlRleHROb2RlKGN0eHQsIHZhbHVlLCB2YWx1ZWVuZCAtIHZhbHVlKTsKKwlyZXQtPmNoaWxkcmVuID0gdG1wOworCXJldC0+bGFzdCA9IHRtcDsKKwlpZiAodG1wICE9IE5VTEwpIHsKKwkgICAgdG1wLT5kb2MgPSByZXQtPmRvYzsKKwkgICAgdG1wLT5wYXJlbnQgPSAoeG1sTm9kZVB0cikgcmV0OworCX0KKyAgICB9CisKKyNpZmRlZiBMSUJYTUxfVkFMSURfRU5BQkxFRAorICAgIGlmICgoIWN0eHQtPmh0bWwpICYmIGN0eHQtPnZhbGlkYXRlICYmIGN0eHQtPndlbGxGb3JtZWQgJiYKKyAgICAgICAgY3R4dC0+bXlEb2MgJiYgY3R4dC0+bXlEb2MtPmludFN1YnNldCkgeworCS8qCisJICogSWYgd2UgZG9uJ3Qgc3Vic3RpdHV0ZSBlbnRpdGllcywgdGhlIHZhbGlkYXRpb24gc2hvdWxkIGJlCisJICogZG9uZSBvbiBhIHZhbHVlIHdpdGggcmVwbGFjZWQgZW50aXRpZXMgYW55d2F5LgorCSAqLworICAgICAgICBpZiAoIWN0eHQtPnJlcGxhY2VFbnRpdGllcykgeworCSAgICBkdXAgPSB4bWxTQVgyRGVjb2RlQXR0ckVudGl0aWVzKGN0eHQsIHZhbHVlLCB2YWx1ZWVuZCk7CisJICAgIGlmIChkdXAgPT0gTlVMTCkgeworCSAgICAgICAgaWYgKCp2YWx1ZWVuZCA9PSAwKSB7CisJCSAgICBjdHh0LT52YWxpZCAmPSB4bWxWYWxpZGF0ZU9uZUF0dHJpYnV0ZSgmY3R4dC0+dmN0eHQsCisJCQkJICAgIGN0eHQtPm15RG9jLCBjdHh0LT5ub2RlLCByZXQsIHZhbHVlKTsKKwkJfSBlbHNlIHsKKwkJICAgIC8qCisJCSAgICAgKiBUaGF0IHNob3VsZCBhbHJlYWR5IGJlIG5vcm1hbGl6ZWQuCisJCSAgICAgKiBjaGVhcGVyIHRvIGZpbmFsbHkgYWxsb2NhdGUgaGVyZSB0aGFuIGR1cGxpY2F0ZQorCQkgICAgICogZW50cnkgcG9pbnRzIGluIHRoZSBmdWxsIHZhbGlkYXRpb24gY29kZQorCQkgICAgICovCisJCSAgICBkdXAgPSB4bWxTdHJuZHVwKHZhbHVlLCB2YWx1ZWVuZCAtIHZhbHVlKTsKKworCQkgICAgY3R4dC0+dmFsaWQgJj0geG1sVmFsaWRhdGVPbmVBdHRyaWJ1dGUoJmN0eHQtPnZjdHh0LAorCQkJCSAgICBjdHh0LT5teURvYywgY3R4dC0+bm9kZSwgcmV0LCBkdXApOworCQl9CisJICAgIH0gZWxzZSB7CisJICAgICAgICAvKgorCQkgKiBkdXAgbm93IGNvbnRhaW5zIGEgc3RyaW5nIG9mIHRoZSBmbGF0dGVuZWQgYXR0cmlidXRlCisJCSAqIGNvbnRlbnQgd2l0aCBlbnRpdGllcyBzdWJzdGl0dWVkLiBDaGVjayBpZiB3ZSBuZWVkIHRvCisJCSAqIGFwcGx5IGFuIGV4dHJhIGxheWVyIG9mIG5vcm1hbGl6YXRpb24uCisJCSAqIEl0IG5lZWQgdG8gYmUgZG9uZSB0d2ljZSAuLi4gaXQncyBhbiBleHRyYSBidXJkZW4gcmVsYXRlZAorCQkgKiB0byB0aGUgYWJpbGl0eSB0byBrZWVwIHJlZmVyZW5jZXMgaW4gYXR0cmlidXRlcworCQkgKi8KKwkJaWYgKGN0eHQtPmF0dHNTcGVjaWFsICE9IE5VTEwpIHsKKwkJICAgIHhtbENoYXIgKm52YWxub3JtOworCQkgICAgeG1sQ2hhciBmbls1MF07CisJCSAgICB4bWxDaGFyICpmdWxsbmFtZTsKKworCQkgICAgZnVsbG5hbWUgPSB4bWxCdWlsZFFOYW1lKGxvY2FsbmFtZSwgcHJlZml4LCBmbiwgNTApOworCQkgICAgaWYgKGZ1bGxuYW1lICE9IE5VTEwpIHsKKwkJCWN0eHQtPnZjdHh0LnZhbGlkID0gMTsKKwkJICAgICAgICBudmFsbm9ybSA9IHhtbFZhbGlkQ3R4dE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlKAorCQkJICAgICAgICAgICAgICAgICAmY3R4dC0+dmN0eHQsIGN0eHQtPm15RG9jLAorCQkJCQkgY3R4dC0+bm9kZSwgZnVsbG5hbWUsIGR1cCk7CisJCQlpZiAoY3R4dC0+dmN0eHQudmFsaWQgIT0gMSkKKwkJCSAgICBjdHh0LT52YWxpZCA9IDA7CisKKwkJCWlmICgoZnVsbG5hbWUgIT0gZm4pICYmIChmdWxsbmFtZSAhPSBsb2NhbG5hbWUpKQorCQkJICAgIHhtbEZyZWUoZnVsbG5hbWUpOworCQkJaWYgKG52YWxub3JtICE9IE5VTEwpIHsKKwkJCSAgICB4bWxGcmVlKGR1cCk7CisJCQkgICAgZHVwID0gbnZhbG5vcm07CisJCQl9CisJCSAgICB9CisJCX0KKworCQljdHh0LT52YWxpZCAmPSB4bWxWYWxpZGF0ZU9uZUF0dHJpYnV0ZSgmY3R4dC0+dmN0eHQsCisJCQkgICAgICAgIGN0eHQtPm15RG9jLCBjdHh0LT5ub2RlLCByZXQsIGR1cCk7CisJICAgIH0KKwl9IGVsc2UgeworCSAgICAvKgorCSAgICAgKiBpZiBlbnRpdGllcyBhbHJlYWR5IGhhdmUgYmVlbiBzdWJzdGl0dWVkLCB0aGVuCisJICAgICAqIHRoZSBhdHRyaWJ1dGUgYXMgcGFzc2VkIGlzIGFscmVhZHkgbm9ybWFsaXplZAorCSAgICAgKi8KKwkgICAgZHVwID0geG1sU3RybmR1cCh2YWx1ZSwgdmFsdWVlbmQgLSB2YWx1ZSk7CisKKwkgICAgY3R4dC0+dmFsaWQgJj0geG1sVmFsaWRhdGVPbmVBdHRyaWJ1dGUoJmN0eHQtPnZjdHh0LAorCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3R4dC0+bXlEb2MsIGN0eHQtPm5vZGUsIHJldCwgZHVwKTsKKwl9CisgICAgfSBlbHNlCisjZW5kaWYgLyogTElCWE1MX1ZBTElEX0VOQUJMRUQgKi8KKyAgICAgICAgICAgaWYgKCgoY3R4dC0+bG9hZHN1YnNldCAmIFhNTF9TS0lQX0lEUykgPT0gMCkgJiYKKwkgICAgICAgKCgoY3R4dC0+cmVwbGFjZUVudGl0aWVzID09IDApICYmIChjdHh0LT5leHRlcm5hbCAhPSAyKSkgfHwKKwkgICAgICAgICgoY3R4dC0+cmVwbGFjZUVudGl0aWVzICE9IDApICYmIChjdHh0LT5pblN1YnNldCA9PSAwKSkpKSB7CisgICAgICAgIC8qCisJICogd2hlbiB2YWxpZGF0aW5nLCB0aGUgSUQgcmVnaXN0cmF0aW9uIGlzIGRvbmUgYXQgdGhlIGF0dHJpYnV0ZQorCSAqIHZhbGlkYXRpb24gbGV2ZWwuIE90aGVyd2lzZSB3ZSBoYXZlIHRvIGRvIHNwZWNpZmljIGhhbmRsaW5nIGhlcmUuCisJICovCisgICAgICAgIGlmICgocHJlZml4ID09IGN0eHQtPnN0cl94bWwpICYmCisJICAgICAgICAgICAobG9jYWxuYW1lWzBdID09ICdpJykgJiYgKGxvY2FsbmFtZVsxXSA9PSAnZCcpICYmCisJCSAgIChsb2NhbG5hbWVbMl0gPT0gMCkpIHsKKwkgICAgLyoKKwkgICAgICogQWRkIHRoZSB4bWw6aWQgdmFsdWUKKwkgICAgICoKKwkgICAgICogT3BlbiBpc3N1ZTogbm9ybWFsaXphdGlvbiBvZiB0aGUgdmFsdWUuCisJICAgICAqLworCSAgICBpZiAoZHVwID09IE5VTEwpCisJICAgICAgICBkdXAgPSB4bWxTdHJuZHVwKHZhbHVlLCB2YWx1ZWVuZCAtIHZhbHVlKTsKKyNpZiBkZWZpbmVkKExJQlhNTF9TQVgxX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX0hUTUxfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX0RPQ0JfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfTEVHQUNZX0VOQUJMRUQpCisjaWZkZWYgTElCWE1MX1ZBTElEX0VOQUJMRUQKKwkgICAgaWYgKHhtbFZhbGlkYXRlTkNOYW1lKGR1cCwgMSkgIT0gMCkgeworCSAgICAgICAgeG1sRXJyVmFsaWQoY3R4dCwgWE1MX0RURF9YTUxJRF9WQUxVRSwKKwkJICAgICAgInhtbDppZCA6IGF0dHJpYnV0ZSB2YWx1ZSAlcyBpcyBub3QgYW4gTkNOYW1lXG4iLAorCQkJICAgIChjb25zdCBjaGFyICopIGR1cCwgTlVMTCk7CisJICAgIH0KKyNlbmRpZgorI2VuZGlmCisJICAgIHhtbEFkZElEKCZjdHh0LT52Y3R4dCwgY3R4dC0+bXlEb2MsIGR1cCwgcmV0KTsKKwl9IGVsc2UgaWYgKHhtbElzSUQoY3R4dC0+bXlEb2MsIGN0eHQtPm5vZGUsIHJldCkpIHsKKwkgICAgLyogbWlnaHQgYmUgd29ydGggZHVwbGljYXRlIGVudHJ5IHBvaW50cyBhbmQgbm90IGNvcHkgKi8KKwkgICAgaWYgKGR1cCA9PSBOVUxMKQorCSAgICAgICAgZHVwID0geG1sU3RybmR1cCh2YWx1ZSwgdmFsdWVlbmQgLSB2YWx1ZSk7CisJICAgIHhtbEFkZElEKCZjdHh0LT52Y3R4dCwgY3R4dC0+bXlEb2MsIGR1cCwgcmV0KTsKKwl9IGVsc2UgaWYgKHhtbElzUmVmKGN0eHQtPm15RG9jLCBjdHh0LT5ub2RlLCByZXQpKSB7CisJICAgIGlmIChkdXAgPT0gTlVMTCkKKwkgICAgICAgIGR1cCA9IHhtbFN0cm5kdXAodmFsdWUsIHZhbHVlZW5kIC0gdmFsdWUpOworCSAgICB4bWxBZGRSZWYoJmN0eHQtPnZjdHh0LCBjdHh0LT5teURvYywgZHVwLCByZXQpOworCX0KKyAgICB9CisgICAgaWYgKGR1cCAhPSBOVUxMKQorCXhtbEZyZWUoZHVwKTsKK30KKworLyoqCisgKiB4bWxTQVgyU3RhcnRFbGVtZW50TnM6CisgKiBAY3R4OiAgdGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KQorICogQGxvY2FsbmFtZTogIHRoZSBsb2NhbCBuYW1lIG9mIHRoZSBlbGVtZW50CisgKiBAcHJlZml4OiAgdGhlIGVsZW1lbnQgbmFtZXNwYWNlIHByZWZpeCBpZiBhdmFpbGFibGUKKyAqIEBVUkk6ICB0aGUgZWxlbWVudCBuYW1lc3BhY2UgbmFtZSBpZiBhdmFpbGFibGUKKyAqIEBuYl9uYW1lc3BhY2VzOiAgbnVtYmVyIG9mIG5hbWVzcGFjZSBkZWZpbml0aW9ucyBvbiB0aGF0IG5vZGUKKyAqIEBuYW1lc3BhY2VzOiAgcG9pbnRlciB0byB0aGUgYXJyYXkgb2YgcHJlZml4L1VSSSBwYWlycyBuYW1lc3BhY2UgZGVmaW5pdGlvbnMKKyAqIEBuYl9hdHRyaWJ1dGVzOiAgdGhlIG51bWJlciBvZiBhdHRyaWJ1dGVzIG9uIHRoYXQgbm9kZQorICogQG5iX2RlZmF1bHRlZDogIHRoZSBudW1iZXIgb2YgZGVmYXVsdGVkIGF0dHJpYnV0ZXMuCisgKiBAYXR0cmlidXRlczogIHBvaW50ZXIgdG8gdGhlIGFycmF5IG9mIChsb2NhbG5hbWUvcHJlZml4L1VSSS92YWx1ZS9lbmQpCisgKiAgICAgICAgICAgICAgIGF0dHJpYnV0ZSB2YWx1ZXMuCisgKgorICogU0FYMiBjYWxsYmFjayB3aGVuIGFuIGVsZW1lbnQgc3RhcnQgaGFzIGJlZW4gZGV0ZWN0ZWQgYnkgdGhlIHBhcnNlci4KKyAqIEl0IHByb3ZpZGVzIHRoZSBuYW1lc3BhY2UgaW5mb3JtYXRpb25zIGZvciB0aGUgZWxlbWVudCwgYXMgd2VsbCBhcworICogdGhlIG5ldyBuYW1lc3BhY2UgZGVjbGFyYXRpb25zIG9uIHRoZSBlbGVtZW50LgorICovCit2b2lkCit4bWxTQVgyU3RhcnRFbGVtZW50TnModm9pZCAqY3R4LAorICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKmxvY2FsbmFtZSwKKwkJICAgICAgY29uc3QgeG1sQ2hhciAqcHJlZml4LAorCQkgICAgICBjb25zdCB4bWxDaGFyICpVUkksCisJCSAgICAgIGludCBuYl9uYW1lc3BhY2VzLAorCQkgICAgICBjb25zdCB4bWxDaGFyICoqbmFtZXNwYWNlcywKKwkJICAgICAgaW50IG5iX2F0dHJpYnV0ZXMsCisJCSAgICAgIGludCBuYl9kZWZhdWx0ZWQsCisJCSAgICAgIGNvbnN0IHhtbENoYXIgKiphdHRyaWJ1dGVzKQoreworICAgIHhtbFBhcnNlckN0eHRQdHIgY3R4dCA9ICh4bWxQYXJzZXJDdHh0UHRyKSBjdHg7CisgICAgeG1sTm9kZVB0ciByZXQ7CisgICAgeG1sTm9kZVB0ciBwYXJlbnQ7CisgICAgeG1sTnNQdHIgbGFzdCA9IE5VTEwsIG5zOworICAgIGNvbnN0IHhtbENoYXIgKnVyaSwgKnByZWY7CisgICAgeG1sQ2hhciAqbG5hbWUgPSBOVUxMOworICAgIGludCBpLCBqOworCisgICAgaWYgKGN0eCA9PSBOVUxMKSByZXR1cm47CisgICAgcGFyZW50ID0gY3R4dC0+bm9kZTsKKyAgICAvKgorICAgICAqIEZpcnN0IGNoZWNrIG9uIHZhbGlkaXR5OgorICAgICAqLworICAgIGlmIChjdHh0LT52YWxpZGF0ZSAmJiAoY3R4dC0+bXlEb2MtPmV4dFN1YnNldCA9PSBOVUxMKSAmJgorICAgICAgICAoKGN0eHQtPm15RG9jLT5pbnRTdWJzZXQgPT0gTlVMTCkgfHwKKwkgKChjdHh0LT5teURvYy0+aW50U3Vic2V0LT5ub3RhdGlvbnMgPT0gTlVMTCkgJiYKKwkgIChjdHh0LT5teURvYy0+aW50U3Vic2V0LT5lbGVtZW50cyA9PSBOVUxMKSAmJgorCSAgKGN0eHQtPm15RG9jLT5pbnRTdWJzZXQtPmF0dHJpYnV0ZXMgPT0gTlVMTCkgJiYKKwkgIChjdHh0LT5teURvYy0+aW50U3Vic2V0LT5lbnRpdGllcyA9PSBOVUxMKSkpKSB7CisJeG1sRXJyVmFsaWQoY3R4dCwgWE1MX0RURF9OT19EVEQsCisJICAiVmFsaWRhdGlvbiBmYWlsZWQ6IG5vIERURCBmb3VuZCAhIiwgTlVMTCwgTlVMTCk7CisJY3R4dC0+dmFsaWRhdGUgPSAwOworICAgIH0KKworICAgIC8qCisgICAgICogVGFrZSBjYXJlIG9mIHRoZSByYXJlIGNhc2Ugb2YgYW4gdW5kZWZpbmVkIG5hbWVzcGFjZSBwcmVmaXgKKyAgICAgKi8KKyAgICBpZiAoKHByZWZpeCAhPSBOVUxMKSAmJiAoVVJJID09IE5VTEwpKSB7CisgICAgICAgIGlmIChjdHh0LT5kaWN0TmFtZXMpIHsKKwkgICAgY29uc3QgeG1sQ2hhciAqZnVsbG5hbWU7CisKKwkgICAgZnVsbG5hbWUgPSB4bWxEaWN0UUxvb2t1cChjdHh0LT5kaWN0LCBwcmVmaXgsIGxvY2FsbmFtZSk7CisJICAgIGlmIChmdWxsbmFtZSAhPSBOVUxMKQorCSAgICAgICAgbG9jYWxuYW1lID0gZnVsbG5hbWU7CisJfSBlbHNlIHsKKwkgICAgbG5hbWUgPSB4bWxCdWlsZFFOYW1lKGxvY2FsbmFtZSwgcHJlZml4LCBOVUxMLCAwKTsKKwl9CisgICAgfQorICAgIC8qCisgICAgICogYWxsb2NhdGUgdGhlIG5vZGUKKyAgICAgKi8KKyAgICBpZiAoY3R4dC0+ZnJlZUVsZW1zICE9IE5VTEwpIHsKKyAgICAgICAgcmV0ID0gY3R4dC0+ZnJlZUVsZW1zOworCWN0eHQtPmZyZWVFbGVtcyA9IHJldC0+bmV4dDsKKwljdHh0LT5mcmVlRWxlbXNOci0tOworCW1lbXNldChyZXQsIDAsIHNpemVvZih4bWxOb2RlKSk7CisJcmV0LT50eXBlID0gWE1MX0VMRU1FTlRfTk9ERTsKKworCWlmIChjdHh0LT5kaWN0TmFtZXMpCisJICAgIHJldC0+bmFtZSA9IGxvY2FsbmFtZTsKKwllbHNlIHsKKwkgICAgaWYgKGxuYW1lID09IE5VTEwpCisJCXJldC0+bmFtZSA9IHhtbFN0cmR1cChsb2NhbG5hbWUpOworCSAgICBlbHNlCisJICAgICAgICByZXQtPm5hbWUgPSBsbmFtZTsKKwkgICAgaWYgKHJldC0+bmFtZSA9PSBOVUxMKSB7CisJICAgICAgICB4bWxTQVgyRXJyTWVtb3J5KGN0eHQsICJ4bWxTQVgyU3RhcnRFbGVtZW50TnMiKTsKKwkJcmV0dXJuOworCSAgICB9CisJfQorCWlmICgoX194bWxSZWdpc3RlckNhbGxiYWNrcykgJiYgKHhtbFJlZ2lzdGVyTm9kZURlZmF1bHRWYWx1ZSkpCisJICAgIHhtbFJlZ2lzdGVyTm9kZURlZmF1bHRWYWx1ZShyZXQpOworICAgIH0gZWxzZSB7CisJaWYgKGN0eHQtPmRpY3ROYW1lcykKKwkgICAgcmV0ID0geG1sTmV3RG9jTm9kZUVhdE5hbWUoY3R4dC0+bXlEb2MsIE5VTEwsCisJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh4bWxDaGFyICopIGxvY2FsbmFtZSwgTlVMTCk7CisJZWxzZSBpZiAobG5hbWUgPT0gTlVMTCkKKwkgICAgcmV0ID0geG1sTmV3RG9jTm9kZShjdHh0LT5teURvYywgTlVMTCwgbG9jYWxuYW1lLCBOVUxMKTsKKwllbHNlCisJICAgIHJldCA9IHhtbE5ld0RvY05vZGVFYXROYW1lKGN0eHQtPm15RG9jLCBOVUxMLAorCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoeG1sQ2hhciAqKSBsbmFtZSwgTlVMTCk7CisJaWYgKHJldCA9PSBOVUxMKSB7CisJICAgIHhtbFNBWDJFcnJNZW1vcnkoY3R4dCwgInhtbFNBWDJTdGFydEVsZW1lbnROcyIpOworCSAgICByZXR1cm47CisJfQorICAgIH0KKyAgICBpZiAoY3R4dC0+bGluZW51bWJlcnMpIHsKKwlpZiAoY3R4dC0+aW5wdXQgIT0gTlVMTCkgeworCSAgICBpZiAoY3R4dC0+aW5wdXQtPmxpbmUgPCA2NTUzNSkKKwkJcmV0LT5saW5lID0gKHNob3J0KSBjdHh0LT5pbnB1dC0+bGluZTsKKwkgICAgZWxzZQorCSAgICAgICAgcmV0LT5saW5lID0gNjU1MzU7CisJfQorICAgIH0KKworICAgIGlmIChwYXJlbnQgPT0gTlVMTCkgeworICAgICAgICB4bWxBZGRDaGlsZCgoeG1sTm9kZVB0cikgY3R4dC0+bXlEb2MsICh4bWxOb2RlUHRyKSByZXQpOworICAgIH0KKyAgICAvKgorICAgICAqIEJ1aWxkIHRoZSBuYW1lc3BhY2UgbGlzdAorICAgICAqLworICAgIGZvciAoaSA9IDAsaiA9IDA7aiA8IG5iX25hbWVzcGFjZXM7aisrKSB7CisgICAgICAgIHByZWYgPSBuYW1lc3BhY2VzW2krK107CisJdXJpID0gbmFtZXNwYWNlc1tpKytdOworCW5zID0geG1sTmV3TnMoTlVMTCwgdXJpLCBwcmVmKTsKKwlpZiAobnMgIT0gTlVMTCkgeworCSAgICBpZiAobGFzdCA9PSBOVUxMKSB7CisJICAgICAgICByZXQtPm5zRGVmID0gbGFzdCA9IG5zOworCSAgICB9IGVsc2UgeworCSAgICAgICAgbGFzdC0+bmV4dCA9IG5zOworCQlsYXN0ID0gbnM7CisJICAgIH0KKwkgICAgaWYgKChVUkkgIT0gTlVMTCkgJiYgKHByZWZpeCA9PSBwcmVmKSkKKwkJcmV0LT5ucyA9IG5zOworCX0gZWxzZSB7CisgICAgICAgICAgICAvKgorICAgICAgICAgICAgICogYW55IG91dCBvZiBtZW1vcnkgZXJyb3Igd291bGQgYWxyZWFkeSBoYXZlIGJlZW4gcmFpc2VkCisgICAgICAgICAgICAgKiBidXQgd2UgY2FuJ3QgYmUgZ2FyYW50ZWVkIGl0J3MgdGhlIGFjdHVhbCBlcnJvciBkdWUgdG8gdGhlCisgICAgICAgICAgICAgKiBBUEksIGJlc3QgaXMgdG8gc2tpcCBpbiB0aGlzIGNhc2UKKyAgICAgICAgICAgICAqLworCSAgICBjb250aW51ZTsKKwl9CisjaWZkZWYgTElCWE1MX1ZBTElEX0VOQUJMRUQKKwlpZiAoKCFjdHh0LT5odG1sKSAmJiBjdHh0LT52YWxpZGF0ZSAmJiBjdHh0LT53ZWxsRm9ybWVkICYmCisJICAgIGN0eHQtPm15RG9jICYmIGN0eHQtPm15RG9jLT5pbnRTdWJzZXQpIHsKKwkgICAgY3R4dC0+dmFsaWQgJj0geG1sVmFsaWRhdGVPbmVOYW1lc3BhY2UoJmN0eHQtPnZjdHh0LCBjdHh0LT5teURvYywKKwkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0LCBwcmVmaXgsIG5zLCB1cmkpOworCX0KKyNlbmRpZiAvKiBMSUJYTUxfVkFMSURfRU5BQkxFRCAqLworICAgIH0KKyAgICBjdHh0LT5ub2RlbWVtID0gLTE7CisKKyAgICAvKgorICAgICAqIFdlIGFyZSBwYXJzaW5nIGEgbmV3IG5vZGUuCisgICAgICovCisgICAgbm9kZVB1c2goY3R4dCwgcmV0KTsKKworICAgIC8qCisgICAgICogTGluayB0aGUgY2hpbGQgZWxlbWVudAorICAgICAqLworICAgIGlmIChwYXJlbnQgIT0gTlVMTCkgeworICAgICAgICBpZiAocGFyZW50LT50eXBlID09IFhNTF9FTEVNRU5UX05PREUpIHsKKwkgICAgeG1sQWRkQ2hpbGQocGFyZW50LCByZXQpOworCX0gZWxzZSB7CisJICAgIHhtbEFkZFNpYmxpbmcocGFyZW50LCByZXQpOworCX0KKyAgICB9CisKKyAgICAvKgorICAgICAqIEluc2VydCB0aGUgZGVmYXVsdGVkIGF0dHJpYnV0ZXMgZnJvbSB0aGUgRFREIG9ubHkgaWYgcmVxdWVzdGVkOgorICAgICAqLworICAgIGlmICgobmJfZGVmYXVsdGVkICE9IDApICYmCisgICAgICAgICgoY3R4dC0+bG9hZHN1YnNldCAmIFhNTF9DT01QTEVURV9BVFRSUykgPT0gMCkpCisJbmJfYXR0cmlidXRlcyAtPSBuYl9kZWZhdWx0ZWQ7CisKKyAgICAvKgorICAgICAqIFNlYXJjaCB0aGUgbmFtZXNwYWNlIGlmIGl0IHdhc24ndCBhbHJlYWR5IGZvdW5kCisgICAgICogTm90ZSB0aGF0LCBpZiBwcmVmaXggaXMgTlVMTCwgdGhpcyBzZWFyY2hlcyBmb3IgdGhlIGRlZmF1bHQgTnMKKyAgICAgKi8KKyAgICBpZiAoKFVSSSAhPSBOVUxMKSAmJiAocmV0LT5ucyA9PSBOVUxMKSkgeworICAgICAgICByZXQtPm5zID0geG1sU2VhcmNoTnMoY3R4dC0+bXlEb2MsIHBhcmVudCwgcHJlZml4KTsKKwlpZiAoKHJldC0+bnMgPT0gTlVMTCkgJiYgKHhtbFN0ckVxdWFsKHByZWZpeCwgQkFEX0NBU1QgInhtbCIpKSkgeworCSAgICByZXQtPm5zID0geG1sU2VhcmNoTnMoY3R4dC0+bXlEb2MsIHJldCwgcHJlZml4KTsKKwl9CisJaWYgKHJldC0+bnMgPT0gTlVMTCkgeworCSAgICBucyA9IHhtbE5ld05zKHJldCwgTlVMTCwgcHJlZml4KTsKKwkgICAgaWYgKG5zID09IE5VTEwpIHsKKworCSAgICAgICAgeG1sU0FYMkVyck1lbW9yeShjdHh0LCAieG1sU0FYMlN0YXJ0RWxlbWVudE5zIik7CisJCXJldHVybjsKKwkgICAgfQorICAgICAgICAgICAgaWYgKHByZWZpeCAhPSBOVUxMKQorICAgICAgICAgICAgICAgIHhtbE5zV2Fybk1zZyhjdHh0LCBYTUxfTlNfRVJSX1VOREVGSU5FRF9OQU1FU1BBQ0UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJOYW1lc3BhY2UgcHJlZml4ICVzIHdhcyBub3QgZm91bmRcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZWZpeCwgTlVMTCk7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgeG1sTnNXYXJuTXNnKGN0eHQsIFhNTF9OU19FUlJfVU5ERUZJTkVEX05BTUVTUEFDRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5hbWVzcGFjZSBkZWZhdWx0IHByZWZpeCB3YXMgbm90IGZvdW5kXG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCBOVUxMKTsKKwl9CisgICAgfQorCisgICAgLyoKKyAgICAgKiBwcm9jZXNzIGFsbCB0aGUgb3RoZXIgYXR0cmlidXRlcworICAgICAqLworICAgIGlmIChuYl9hdHRyaWJ1dGVzID4gMCkgeworICAgICAgICBmb3IgKGogPSAwLGkgPSAwO2kgPCBuYl9hdHRyaWJ1dGVzO2krKyxqKz01KSB7CisJICAgIC8qCisJICAgICAqIEhhbmRsZSB0aGUgcmFyZSBjYXNlIG9mIGFuIHVuZGVmaW5lZCBhdHJpYnV0ZSBwcmVmaXgKKwkgICAgICovCisJICAgIGlmICgoYXR0cmlidXRlc1tqKzFdICE9IE5VTEwpICYmIChhdHRyaWJ1dGVzW2orMl0gPT0gTlVMTCkpIHsKKwkJaWYgKGN0eHQtPmRpY3ROYW1lcykgeworCQkgICAgY29uc3QgeG1sQ2hhciAqZnVsbG5hbWU7CisKKwkJICAgIGZ1bGxuYW1lID0geG1sRGljdFFMb29rdXAoY3R4dC0+ZGljdCwgYXR0cmlidXRlc1tqKzFdLAorCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzW2pdKTsKKwkJICAgIGlmIChmdWxsbmFtZSAhPSBOVUxMKSB7CisJCQl4bWxTQVgyQXR0cmlidXRlTnMoY3R4dCwgZnVsbG5hbWUsIE5VTEwsCisJCQkgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlc1tqKzNdLCBhdHRyaWJ1dGVzW2orNF0pOworCQkgICAgICAgIGNvbnRpbnVlOworCQkgICAgfQorCQl9IGVsc2UgeworCQkgICAgbG5hbWUgPSB4bWxCdWlsZFFOYW1lKGF0dHJpYnV0ZXNbal0sIGF0dHJpYnV0ZXNbaisxXSwKKwkJICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCAwKTsKKwkJICAgIGlmIChsbmFtZSAhPSBOVUxMKSB7CisJCQl4bWxTQVgyQXR0cmlidXRlTnMoY3R4dCwgbG5hbWUsIE5VTEwsCisJCQkgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlc1tqKzNdLCBhdHRyaWJ1dGVzW2orNF0pOworCQkJeG1sRnJlZShsbmFtZSk7CisJCSAgICAgICAgY29udGludWU7CisJCSAgICB9CisJCX0KKwkgICAgfQorCSAgICB4bWxTQVgyQXR0cmlidXRlTnMoY3R4dCwgYXR0cmlidXRlc1tqXSwgYXR0cmlidXRlc1tqKzFdLAorCQkJICAgICAgIGF0dHJpYnV0ZXNbaiszXSwgYXR0cmlidXRlc1tqKzRdKTsKKwl9CisgICAgfQorCisjaWZkZWYgTElCWE1MX1ZBTElEX0VOQUJMRUQKKyAgICAvKgorICAgICAqIElmIGl0J3MgdGhlIERvY3VtZW50IHJvb3QsIGZpbmlzaCB0aGUgRFREIHZhbGlkYXRpb24gYW5kCisgICAgICogY2hlY2sgdGhlIGRvY3VtZW50IHJvb3QgZWxlbWVudCBmb3IgdmFsaWRpdHkKKyAgICAgKi8KKyAgICBpZiAoKGN0eHQtPnZhbGlkYXRlKSAmJiAoY3R4dC0+dmN0eHQuZmluaXNoRHRkID09IFhNTF9DVFhUX0ZJTklTSF9EVERfMCkpIHsKKwlpbnQgY2hrOworCisJY2hrID0geG1sVmFsaWRhdGVEdGRGaW5hbCgmY3R4dC0+dmN0eHQsIGN0eHQtPm15RG9jKTsKKwlpZiAoY2hrIDw9IDApCisJICAgIGN0eHQtPnZhbGlkID0gMDsKKwlpZiAoY2hrIDwgMCkKKwkgICAgY3R4dC0+d2VsbEZvcm1lZCA9IDA7CisJY3R4dC0+dmFsaWQgJj0geG1sVmFsaWRhdGVSb290KCZjdHh0LT52Y3R4dCwgY3R4dC0+bXlEb2MpOworCWN0eHQtPnZjdHh0LmZpbmlzaER0ZCA9IFhNTF9DVFhUX0ZJTklTSF9EVERfMTsKKyAgICB9CisjZW5kaWYgLyogTElCWE1MX1ZBTElEX0VOQUJMRUQgKi8KK30KKworLyoqCisgKiB4bWxTQVgyRW5kRWxlbWVudE5zOgorICogQGN0eDogIHRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCkKKyAqIEBsb2NhbG5hbWU6ICB0aGUgbG9jYWwgbmFtZSBvZiB0aGUgZWxlbWVudAorICogQHByZWZpeDogIHRoZSBlbGVtZW50IG5hbWVzcGFjZSBwcmVmaXggaWYgYXZhaWxhYmxlCisgKiBAVVJJOiAgdGhlIGVsZW1lbnQgbmFtZXNwYWNlIG5hbWUgaWYgYXZhaWxhYmxlCisgKgorICogU0FYMiBjYWxsYmFjayB3aGVuIGFuIGVsZW1lbnQgZW5kIGhhcyBiZWVuIGRldGVjdGVkIGJ5IHRoZSBwYXJzZXIuCisgKiBJdCBwcm92aWRlcyB0aGUgbmFtZXNwYWNlIGluZm9ybWF0aW9ucyBmb3IgdGhlIGVsZW1lbnQuCisgKi8KK3ZvaWQKK3htbFNBWDJFbmRFbGVtZW50TnModm9pZCAqY3R4LAorICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogbG9jYWxuYW1lIEFUVFJJQlVURV9VTlVTRUQsCisgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBwcmVmaXggQVRUUklCVVRFX1VOVVNFRCwKKwkJICAgIGNvbnN0IHhtbENoYXIgKiBVUkkgQVRUUklCVVRFX1VOVVNFRCkKK3sKKyAgICB4bWxQYXJzZXJDdHh0UHRyIGN0eHQgPSAoeG1sUGFyc2VyQ3R4dFB0cikgY3R4OworICAgIHhtbFBhcnNlck5vZGVJbmZvIG5vZGVfaW5mbzsKKyAgICB4bWxOb2RlUHRyIGN1cjsKKworICAgIGlmIChjdHggPT0gTlVMTCkgcmV0dXJuOworICAgIGN1ciA9IGN0eHQtPm5vZGU7CisgICAgLyogQ2FwdHVyZSBlbmQgcG9zaXRpb24gYW5kIGFkZCBub2RlICovCisgICAgaWYgKChjdHh0LT5yZWNvcmRfaW5mbykgJiYgKGN1ciAhPSBOVUxMKSkgeworICAgICAgICBub2RlX2luZm8uZW5kX3BvcyA9IGN0eHQtPmlucHV0LT5jdXIgLSBjdHh0LT5pbnB1dC0+YmFzZTsKKyAgICAgICAgbm9kZV9pbmZvLmVuZF9saW5lID0gY3R4dC0+aW5wdXQtPmxpbmU7CisgICAgICAgIG5vZGVfaW5mby5ub2RlID0gY3VyOworICAgICAgICB4bWxQYXJzZXJBZGROb2RlSW5mbyhjdHh0LCAmbm9kZV9pbmZvKTsKKyAgICB9CisgICAgY3R4dC0+bm9kZW1lbSA9IC0xOworCisjaWZkZWYgTElCWE1MX1ZBTElEX0VOQUJMRUQKKyAgICBpZiAoY3R4dC0+dmFsaWRhdGUgJiYgY3R4dC0+d2VsbEZvcm1lZCAmJgorICAgICAgICBjdHh0LT5teURvYyAmJiBjdHh0LT5teURvYy0+aW50U3Vic2V0KQorICAgICAgICBjdHh0LT52YWxpZCAmPSB4bWxWYWxpZGF0ZU9uZUVsZW1lbnQoJmN0eHQtPnZjdHh0LCBjdHh0LT5teURvYywgY3VyKTsKKyNlbmRpZiAvKiBMSUJYTUxfVkFMSURfRU5BQkxFRCAqLworCisgICAgLyoKKyAgICAgKiBlbmQgb2YgcGFyc2luZyBvZiB0aGlzIG5vZGUuCisgICAgICovCisgICAgbm9kZVBvcChjdHh0KTsKK30KKworLyoqCisgKiB4bWxTQVgyUmVmZXJlbmNlOgorICogQGN0eDogdGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KQorICogQG5hbWU6ICBUaGUgZW50aXR5IG5hbWUKKyAqCisgKiBjYWxsZWQgd2hlbiBhbiBlbnRpdHkgeG1sU0FYMlJlZmVyZW5jZSBpcyBkZXRlY3RlZC4KKyAqLwordm9pZAoreG1sU0FYMlJlZmVyZW5jZSh2b2lkICpjdHgsIGNvbnN0IHhtbENoYXIgKm5hbWUpCit7CisgICAgeG1sUGFyc2VyQ3R4dFB0ciBjdHh0ID0gKHhtbFBhcnNlckN0eHRQdHIpIGN0eDsKKyAgICB4bWxOb2RlUHRyIHJldDsKKworICAgIGlmIChjdHggPT0gTlVMTCkgcmV0dXJuOworI2lmZGVmIERFQlVHX1NBWAorICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCSAgICAiU0FYLnhtbFNBWDJSZWZlcmVuY2UoJXMpXG4iLCBuYW1lKTsKKyNlbmRpZgorICAgIGlmIChuYW1lWzBdID09ICcjJykKKwlyZXQgPSB4bWxOZXdDaGFyUmVmKGN0eHQtPm15RG9jLCBuYW1lKTsKKyAgICBlbHNlCisJcmV0ID0geG1sTmV3UmVmZXJlbmNlKGN0eHQtPm15RG9jLCBuYW1lKTsKKyNpZmRlZiBERUJVR19TQVhfVFJFRQorICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCSAgICAiYWRkIHhtbFNBWDJSZWZlcmVuY2UgJXMgdG8gJXMgXG4iLCBuYW1lLCBjdHh0LT5ub2RlLT5uYW1lKTsKKyNlbmRpZgorICAgIGlmICh4bWxBZGRDaGlsZChjdHh0LT5ub2RlLCByZXQpID09IE5VTEwpIHsKKyAgICAgICAgeG1sRnJlZU5vZGUocmV0KTsKKyAgICB9Cit9CisKKy8qKgorICogeG1sU0FYMkNoYXJhY3RlcnM6CisgKiBAY3R4OiB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpCisgKiBAY2g6ICBhIHhtbENoYXIgc3RyaW5nCisgKiBAbGVuOiB0aGUgbnVtYmVyIG9mIHhtbENoYXIKKyAqCisgKiByZWNlaXZpbmcgc29tZSBjaGFycyBmcm9tIHRoZSBwYXJzZXIuCisgKi8KK3ZvaWQKK3htbFNBWDJDaGFyYWN0ZXJzKHZvaWQgKmN0eCwgY29uc3QgeG1sQ2hhciAqY2gsIGludCBsZW4pCit7CisgICAgeG1sUGFyc2VyQ3R4dFB0ciBjdHh0ID0gKHhtbFBhcnNlckN0eHRQdHIpIGN0eDsKKyAgICB4bWxOb2RlUHRyIGxhc3RDaGlsZDsKKworICAgIGlmIChjdHggPT0gTlVMTCkgcmV0dXJuOworI2lmZGVmIERFQlVHX1NBWAorICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCSAgICAiU0FYLnhtbFNBWDJDaGFyYWN0ZXJzKCUuMzBzLCAlZClcbiIsIGNoLCBsZW4pOworI2VuZGlmCisgICAgLyoKKyAgICAgKiBIYW5kbGUgdGhlIGRhdGEgaWYgYW55LiBJZiB0aGVyZSBpcyBubyBjaGlsZAorICAgICAqIGFkZCBpdCBhcyBjb250ZW50LCBvdGhlcndpc2UgaWYgdGhlIGxhc3QgY2hpbGQgaXMgdGV4dCwKKyAgICAgKiBjb25jYXRlbmF0ZSBpdCwgZWxzZSBjcmVhdGUgYSBuZXcgbm9kZSBvZiB0eXBlIHRleHQuCisgICAgICovCisKKyAgICBpZiAoY3R4dC0+bm9kZSA9PSBOVUxMKSB7CisjaWZkZWYgREVCVUdfU0FYX1RSRUUKKwl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJImFkZCBjaGFyczogY3R4dC0+bm9kZSA9PSBOVUxMICFcbiIpOworI2VuZGlmCisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgbGFzdENoaWxkID0gY3R4dC0+bm9kZS0+bGFzdDsKKyNpZmRlZiBERUJVR19TQVhfVFJFRQorICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCSAgICAiYWRkIGNoYXJzIHRvICVzIFxuIiwgY3R4dC0+bm9kZS0+bmFtZSk7CisjZW5kaWYKKworICAgIC8qCisgICAgICogSGVyZSB3ZSBuZWVkZWQgYW4gYWNjZWxlcmF0b3IgbWVjaGFuaXNtIGluIGNhc2Ugb2YgdmVyeSBsYXJnZQorICAgICAqIGVsZW1lbnRzLiBVc2UgYW4gYXR0cmlidXRlIGluIHRoZSBzdHJ1Y3R1cmUgISEhCisgICAgICovCisgICAgaWYgKGxhc3RDaGlsZCA9PSBOVUxMKSB7CisgICAgICAgIGxhc3RDaGlsZCA9IHhtbFNBWDJUZXh0Tm9kZShjdHh0LCBjaCwgbGVuKTsKKwlpZiAobGFzdENoaWxkICE9IE5VTEwpIHsKKwkgICAgY3R4dC0+bm9kZS0+Y2hpbGRyZW4gPSBsYXN0Q2hpbGQ7CisJICAgIGN0eHQtPm5vZGUtPmxhc3QgPSBsYXN0Q2hpbGQ7CisJICAgIGxhc3RDaGlsZC0+cGFyZW50ID0gY3R4dC0+bm9kZTsKKwkgICAgbGFzdENoaWxkLT5kb2MgPSBjdHh0LT5ub2RlLT5kb2M7CisJICAgIGN0eHQtPm5vZGVsZW4gPSBsZW47CisJICAgIGN0eHQtPm5vZGVtZW0gPSBsZW4gKyAxOworCX0gZWxzZSB7CisJICAgIHhtbFNBWDJFcnJNZW1vcnkoY3R4dCwgInhtbFNBWDJDaGFyYWN0ZXJzIik7CisJICAgIHJldHVybjsKKwl9CisgICAgfSBlbHNlIHsKKwlpbnQgY29hbGVzY2VUZXh0ID0gKGxhc3RDaGlsZCAhPSBOVUxMKSAmJgorCSAgICAobGFzdENoaWxkLT50eXBlID09IFhNTF9URVhUX05PREUpICYmCisJICAgIChsYXN0Q2hpbGQtPm5hbWUgPT0geG1sU3RyaW5nVGV4dCk7CisJaWYgKChjb2FsZXNjZVRleHQpICYmIChjdHh0LT5ub2RlbWVtICE9IDApKSB7CisJICAgIC8qCisJICAgICAqIFRoZSB3aG9sZSBwb2ludCBvZiBtYWludGFpbmluZyBub2RlbGVuIGFuZCBub2RlbWVtLAorCSAgICAgKiB4bWxUZXh0Q29uY2F0IGlzIHRvbyBjb3N0bHksIGkuZS4gY29tcHV0ZSBsZW5ndGgsCisJICAgICAqIHJlYWxsb2NhdGUgYSBuZXcgYnVmZmVyLCBtb3ZlIGRhdGEsIGFwcGVuZCBjaC4gSGVyZQorCSAgICAgKiBXZSB0cnkgdG8gbWluaW1hemUgcmVhbGxvYygpIHVzZXMgYW5kIGF2b2lkIGNvcHlpbmcKKwkgICAgICogYW5kIHJlY29tcHV0aW5nIGxlbmd0aCBvdmVyIGFuZCBvdmVyLgorCSAgICAgKi8KKwkgICAgaWYgKGxhc3RDaGlsZC0+Y29udGVudCA9PSAoeG1sQ2hhciAqKSYobGFzdENoaWxkLT5wcm9wZXJ0aWVzKSkgeworCQlsYXN0Q2hpbGQtPmNvbnRlbnQgPSB4bWxTdHJkdXAobGFzdENoaWxkLT5jb250ZW50KTsKKwkJbGFzdENoaWxkLT5wcm9wZXJ0aWVzID0gTlVMTDsKKwkgICAgfSBlbHNlIGlmICgoY3R4dC0+bm9kZW1lbSA9PSBjdHh0LT5ub2RlbGVuICsgMSkgJiYKKwkgICAgICAgICAgICAgICAoeG1sRGljdE93bnMoY3R4dC0+ZGljdCwgbGFzdENoaWxkLT5jb250ZW50KSkpIHsKKwkJbGFzdENoaWxkLT5jb250ZW50ID0geG1sU3RyZHVwKGxhc3RDaGlsZC0+Y29udGVudCk7CisJICAgIH0KKwkgICAgaWYgKGxhc3RDaGlsZC0+Y29udGVudCA9PSBOVUxMKSB7CisJCXhtbFNBWDJFcnJNZW1vcnkoY3R4dCwgInhtbFNBWDJDaGFyYWN0ZXJzOiB4bWxTdHJkdXAgcmV0dXJuZWQgTlVMTCIpOworCQlyZXR1cm47CisgCSAgICB9CisgICAgICAgICAgICBpZiAoKChzaXplX3QpY3R4dC0+bm9kZWxlbiArIChzaXplX3QpbGVuID4gWE1MX01BWF9URVhUX0xFTkdUSCkgJiYKKyAgICAgICAgICAgICAgICAoKGN0eHQtPm9wdGlvbnMgJiBYTUxfUEFSU0VfSFVHRSkgPT0gMCkpIHsKKyAgICAgICAgICAgICAgICB4bWxTQVgyRXJyTWVtb3J5KGN0eHQsICJ4bWxTQVgyQ2hhcmFjdGVyczogaHVnZSB0ZXh0IG5vZGUiKTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisJICAgIGlmICgoc2l6ZV90KWN0eHQtPm5vZGVsZW4gPiBTSVpFX1RfTUFYIC0gKHNpemVfdClsZW4gfHwKKwkgICAgICAgIChzaXplX3QpY3R4dC0+bm9kZW1lbSArIChzaXplX3QpbGVuID4gU0laRV9UX01BWCAvIDIpIHsKKyAgICAgICAgICAgICAgICB4bWxTQVgyRXJyTWVtb3J5KGN0eHQsICJ4bWxTQVgyQ2hhcmFjdGVycyBvdmVyZmxvdyBwcmV2ZW50ZWQiKTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisJICAgIH0KKwkgICAgaWYgKGN0eHQtPm5vZGVsZW4gKyBsZW4gPj0gY3R4dC0+bm9kZW1lbSkgeworCQl4bWxDaGFyICpuZXdidWY7CisJCXNpemVfdCBzaXplOworCisJCXNpemUgPSBjdHh0LT5ub2RlbWVtICsgbGVuOworCQlzaXplICo9IDI7CisgICAgICAgICAgICAgICAgbmV3YnVmID0gKHhtbENoYXIgKikgeG1sUmVhbGxvYyhsYXN0Q2hpbGQtPmNvbnRlbnQsc2l6ZSk7CisJCWlmIChuZXdidWYgPT0gTlVMTCkgeworCQkgICAgeG1sU0FYMkVyck1lbW9yeShjdHh0LCAieG1sU0FYMkNoYXJhY3RlcnMiKTsKKwkJICAgIHJldHVybjsKKwkJfQorCQljdHh0LT5ub2RlbWVtID0gc2l6ZTsKKwkJbGFzdENoaWxkLT5jb250ZW50ID0gbmV3YnVmOworCSAgICB9CisJICAgIG1lbWNweSgmbGFzdENoaWxkLT5jb250ZW50W2N0eHQtPm5vZGVsZW5dLCBjaCwgbGVuKTsKKwkgICAgY3R4dC0+bm9kZWxlbiArPSBsZW47CisJICAgIGxhc3RDaGlsZC0+Y29udGVudFtjdHh0LT5ub2RlbGVuXSA9IDA7CisJfSBlbHNlIGlmIChjb2FsZXNjZVRleHQpIHsKKwkgICAgaWYgKHhtbFRleHRDb25jYXQobGFzdENoaWxkLCBjaCwgbGVuKSkgeworCQl4bWxTQVgyRXJyTWVtb3J5KGN0eHQsICJ4bWxTQVgyQ2hhcmFjdGVycyIpOworCSAgICB9CisJICAgIGlmIChjdHh0LT5ub2RlLT5jaGlsZHJlbiAhPSBOVUxMKSB7CisJCWN0eHQtPm5vZGVsZW4gPSB4bWxTdHJsZW4obGFzdENoaWxkLT5jb250ZW50KTsKKwkJY3R4dC0+bm9kZW1lbSA9IGN0eHQtPm5vZGVsZW4gKyAxOworCSAgICB9CisJfSBlbHNlIHsKKwkgICAgLyogTWl4ZWQgY29udGVudCwgZmlyc3QgdGltZSAqLworCSAgICBsYXN0Q2hpbGQgPSB4bWxTQVgyVGV4dE5vZGUoY3R4dCwgY2gsIGxlbik7CisJICAgIGlmIChsYXN0Q2hpbGQgIT0gTlVMTCkgeworCQl4bWxBZGRDaGlsZChjdHh0LT5ub2RlLCBsYXN0Q2hpbGQpOworCQlpZiAoY3R4dC0+bm9kZS0+Y2hpbGRyZW4gIT0gTlVMTCkgeworCQkgICAgY3R4dC0+bm9kZWxlbiA9IGxlbjsKKwkJICAgIGN0eHQtPm5vZGVtZW0gPSBsZW4gKyAxOworCQl9CisJICAgIH0KKwl9CisgICAgfQorfQorCisvKioKKyAqIHhtbFNBWDJJZ25vcmFibGVXaGl0ZXNwYWNlOgorICogQGN0eDogdGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KQorICogQGNoOiAgYSB4bWxDaGFyIHN0cmluZworICogQGxlbjogdGhlIG51bWJlciBvZiB4bWxDaGFyCisgKgorICogcmVjZWl2aW5nIHNvbWUgaWdub3JhYmxlIHdoaXRlc3BhY2VzIGZyb20gdGhlIHBhcnNlci4KKyAqIFVOVVNFRDogYnkgZGVmYXVsdCB0aGUgRE9NIGJ1aWxkaW5nIHdpbGwgdXNlIHhtbFNBWDJDaGFyYWN0ZXJzCisgKi8KK3ZvaWQKK3htbFNBWDJJZ25vcmFibGVXaGl0ZXNwYWNlKHZvaWQgKmN0eCBBVFRSSUJVVEVfVU5VU0VELCBjb25zdCB4bWxDaGFyICpjaCBBVFRSSUJVVEVfVU5VU0VELCBpbnQgbGVuIEFUVFJJQlVURV9VTlVTRUQpCit7CisgICAgLyogeG1sUGFyc2VyQ3R4dFB0ciBjdHh0ID0gKHhtbFBhcnNlckN0eHRQdHIpIGN0eDsgKi8KKyNpZmRlZiBERUJVR19TQVgKKyAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkgICAgIlNBWC54bWxTQVgySWdub3JhYmxlV2hpdGVzcGFjZSglLjMwcywgJWQpXG4iLCBjaCwgbGVuKTsKKyNlbmRpZgorfQorCisvKioKKyAqIHhtbFNBWDJQcm9jZXNzaW5nSW5zdHJ1Y3Rpb246CisgKiBAY3R4OiB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpCisgKiBAdGFyZ2V0OiAgdGhlIHRhcmdldCBuYW1lCisgKiBAZGF0YTogdGhlIFBJIGRhdGEncworICoKKyAqIEEgcHJvY2Vzc2luZyBpbnN0cnVjdGlvbiBoYXMgYmVlbiBwYXJzZWQuCisgKi8KK3ZvaWQKK3htbFNBWDJQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24odm9pZCAqY3R4LCBjb25zdCB4bWxDaGFyICp0YXJnZXQsCisgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqZGF0YSkKK3sKKyAgICB4bWxQYXJzZXJDdHh0UHRyIGN0eHQgPSAoeG1sUGFyc2VyQ3R4dFB0cikgY3R4OworICAgIHhtbE5vZGVQdHIgcmV0OworICAgIHhtbE5vZGVQdHIgcGFyZW50OworCisgICAgaWYgKGN0eCA9PSBOVUxMKSByZXR1cm47CisgICAgcGFyZW50ID0gY3R4dC0+bm9kZTsKKyNpZmRlZiBERUJVR19TQVgKKyAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkgICAgIlNBWC54bWxTQVgyUHJvY2Vzc2luZ0luc3RydWN0aW9uKCVzLCAlcylcbiIsIHRhcmdldCwgZGF0YSk7CisjZW5kaWYKKworICAgIHJldCA9IHhtbE5ld0RvY1BJKGN0eHQtPm15RG9jLCB0YXJnZXQsIGRhdGEpOworICAgIGlmIChyZXQgPT0gTlVMTCkgcmV0dXJuOworCisgICAgaWYgKGN0eHQtPmxpbmVudW1iZXJzKSB7CisJaWYgKGN0eHQtPmlucHV0ICE9IE5VTEwpIHsKKwkgICAgaWYgKGN0eHQtPmlucHV0LT5saW5lIDwgNjU1MzUpCisJCXJldC0+bGluZSA9IChzaG9ydCkgY3R4dC0+aW5wdXQtPmxpbmU7CisJICAgIGVsc2UKKwkgICAgICAgIHJldC0+bGluZSA9IDY1NTM1OworCX0KKyAgICB9CisgICAgaWYgKGN0eHQtPmluU3Vic2V0ID09IDEpIHsKKwl4bWxBZGRDaGlsZCgoeG1sTm9kZVB0cikgY3R4dC0+bXlEb2MtPmludFN1YnNldCwgcmV0KTsKKwlyZXR1cm47CisgICAgfSBlbHNlIGlmIChjdHh0LT5pblN1YnNldCA9PSAyKSB7CisJeG1sQWRkQ2hpbGQoKHhtbE5vZGVQdHIpIGN0eHQtPm15RG9jLT5leHRTdWJzZXQsIHJldCk7CisJcmV0dXJuOworICAgIH0KKyAgICBpZiAocGFyZW50ID09IE5VTEwpIHsKKyNpZmRlZiBERUJVR19TQVhfVFJFRQorCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJICAgICJTZXR0aW5nIFBJICVzIGFzIHJvb3RcbiIsIHRhcmdldCk7CisjZW5kaWYKKyAgICAgICAgeG1sQWRkQ2hpbGQoKHhtbE5vZGVQdHIpIGN0eHQtPm15RG9jLCAoeG1sTm9kZVB0cikgcmV0KTsKKwlyZXR1cm47CisgICAgfQorICAgIGlmIChwYXJlbnQtPnR5cGUgPT0gWE1MX0VMRU1FTlRfTk9ERSkgeworI2lmZGVmIERFQlVHX1NBWF9UUkVFCisJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSJhZGRpbmcgUEkgJXMgY2hpbGQgdG8gJXNcbiIsIHRhcmdldCwgcGFyZW50LT5uYW1lKTsKKyNlbmRpZgorCXhtbEFkZENoaWxkKHBhcmVudCwgcmV0KTsKKyAgICB9IGVsc2UgeworI2lmZGVmIERFQlVHX1NBWF9UUkVFCisJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSJhZGRpbmcgUEkgJXMgc2libGluZyB0byAiLCB0YXJnZXQpOworCXhtbERlYnVnRHVtcE9uZU5vZGUoc3RkZXJyLCBwYXJlbnQsIDApOworI2VuZGlmCisJeG1sQWRkU2libGluZyhwYXJlbnQsIHJldCk7CisgICAgfQorfQorCisvKioKKyAqIHhtbFNBWDJDb21tZW50OgorICogQGN0eDogdGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KQorICogQHZhbHVlOiAgdGhlIHhtbFNBWDJDb21tZW50IGNvbnRlbnQKKyAqCisgKiBBIHhtbFNBWDJDb21tZW50IGhhcyBiZWVuIHBhcnNlZC4KKyAqLwordm9pZAoreG1sU0FYMkNvbW1lbnQodm9pZCAqY3R4LCBjb25zdCB4bWxDaGFyICp2YWx1ZSkKK3sKKyAgICB4bWxQYXJzZXJDdHh0UHRyIGN0eHQgPSAoeG1sUGFyc2VyQ3R4dFB0cikgY3R4OworICAgIHhtbE5vZGVQdHIgcmV0OworICAgIHhtbE5vZGVQdHIgcGFyZW50OworCisgICAgaWYgKGN0eCA9PSBOVUxMKSByZXR1cm47CisgICAgcGFyZW50ID0gY3R4dC0+bm9kZTsKKyNpZmRlZiBERUJVR19TQVgKKyAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgIlNBWC54bWxTQVgyQ29tbWVudCglcylcbiIsIHZhbHVlKTsKKyNlbmRpZgorICAgIHJldCA9IHhtbE5ld0RvY0NvbW1lbnQoY3R4dC0+bXlEb2MsIHZhbHVlKTsKKyAgICBpZiAocmV0ID09IE5VTEwpIHJldHVybjsKKyAgICBpZiAoY3R4dC0+bGluZW51bWJlcnMpIHsKKwlpZiAoY3R4dC0+aW5wdXQgIT0gTlVMTCkgeworCSAgICBpZiAoY3R4dC0+aW5wdXQtPmxpbmUgPCA2NTUzNSkKKwkJcmV0LT5saW5lID0gKHNob3J0KSBjdHh0LT5pbnB1dC0+bGluZTsKKwkgICAgZWxzZQorCSAgICAgICAgcmV0LT5saW5lID0gNjU1MzU7CisJfQorICAgIH0KKworICAgIGlmIChjdHh0LT5pblN1YnNldCA9PSAxKSB7CisJeG1sQWRkQ2hpbGQoKHhtbE5vZGVQdHIpIGN0eHQtPm15RG9jLT5pbnRTdWJzZXQsIHJldCk7CisJcmV0dXJuOworICAgIH0gZWxzZSBpZiAoY3R4dC0+aW5TdWJzZXQgPT0gMikgeworCXhtbEFkZENoaWxkKCh4bWxOb2RlUHRyKSBjdHh0LT5teURvYy0+ZXh0U3Vic2V0LCByZXQpOworCXJldHVybjsKKyAgICB9CisgICAgaWYgKHBhcmVudCA9PSBOVUxMKSB7CisjaWZkZWYgREVCVUdfU0FYX1RSRUUKKwkgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSAgICAiU2V0dGluZyB4bWxTQVgyQ29tbWVudCBhcyByb290XG4iKTsKKyNlbmRpZgorICAgICAgICB4bWxBZGRDaGlsZCgoeG1sTm9kZVB0cikgY3R4dC0+bXlEb2MsICh4bWxOb2RlUHRyKSByZXQpOworCXJldHVybjsKKyAgICB9CisgICAgaWYgKHBhcmVudC0+dHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFKSB7CisjaWZkZWYgREVCVUdfU0FYX1RSRUUKKwl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJImFkZGluZyB4bWxTQVgyQ29tbWVudCBjaGlsZCB0byAlc1xuIiwgcGFyZW50LT5uYW1lKTsKKyNlbmRpZgorCXhtbEFkZENoaWxkKHBhcmVudCwgcmV0KTsKKyAgICB9IGVsc2UgeworI2lmZGVmIERFQlVHX1NBWF9UUkVFCisJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSJhZGRpbmcgeG1sU0FYMkNvbW1lbnQgc2libGluZyB0byAiKTsKKwl4bWxEZWJ1Z0R1bXBPbmVOb2RlKHN0ZGVyciwgcGFyZW50LCAwKTsKKyNlbmRpZgorCXhtbEFkZFNpYmxpbmcocGFyZW50LCByZXQpOworICAgIH0KK30KKworLyoqCisgKiB4bWxTQVgyQ0RhdGFCbG9jazoKKyAqIEBjdHg6IHRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCkKKyAqIEB2YWx1ZTogIFRoZSBwY2RhdGEgY29udGVudAorICogQGxlbjogIHRoZSBibG9jayBsZW5ndGgKKyAqCisgKiBjYWxsZWQgd2hlbiBhIHBjZGF0YSBibG9jayBoYXMgYmVlbiBwYXJzZWQKKyAqLwordm9pZAoreG1sU0FYMkNEYXRhQmxvY2sodm9pZCAqY3R4LCBjb25zdCB4bWxDaGFyICp2YWx1ZSwgaW50IGxlbikKK3sKKyAgICB4bWxQYXJzZXJDdHh0UHRyIGN0eHQgPSAoeG1sUGFyc2VyQ3R4dFB0cikgY3R4OworICAgIHhtbE5vZGVQdHIgcmV0LCBsYXN0Q2hpbGQ7CisKKyAgICBpZiAoY3R4ID09IE5VTEwpIHJldHVybjsKKyNpZmRlZiBERUJVR19TQVgKKyAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkgICAgIlNBWC5wY2RhdGEoJS4xMHMsICVkKVxuIiwgdmFsdWUsIGxlbik7CisjZW5kaWYKKyAgICBsYXN0Q2hpbGQgPSB4bWxHZXRMYXN0Q2hpbGQoY3R4dC0+bm9kZSk7CisjaWZkZWYgREVCVUdfU0FYX1RSRUUKKyAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkgICAgImFkZCBjaGFycyB0byAlcyBcbiIsIGN0eHQtPm5vZGUtPm5hbWUpOworI2VuZGlmCisgICAgaWYgKChsYXN0Q2hpbGQgIT0gTlVMTCkgJiYKKyAgICAgICAgKGxhc3RDaGlsZC0+dHlwZSA9PSBYTUxfQ0RBVEFfU0VDVElPTl9OT0RFKSkgeworCXhtbFRleHRDb25jYXQobGFzdENoaWxkLCB2YWx1ZSwgbGVuKTsKKyAgICB9IGVsc2UgeworCXJldCA9IHhtbE5ld0NEYXRhQmxvY2soY3R4dC0+bXlEb2MsIHZhbHVlLCBsZW4pOworCXhtbEFkZENoaWxkKGN0eHQtPm5vZGUsIHJldCk7CisgICAgfQorfQorCitzdGF0aWMgaW50IHhtbFNBWDJEZWZhdWx0VmVyc2lvblZhbHVlID0gMjsKKworI2lmZGVmIExJQlhNTF9TQVgxX0VOQUJMRUQKKy8qKgorICogeG1sU0FYRGVmYXVsdFZlcnNpb246CisgKiBAdmVyc2lvbjogIHRoZSB2ZXJzaW9uLCAxIG9yIDIKKyAqCisgKiBTZXQgdGhlIGRlZmF1bHQgdmVyc2lvbiBvZiBTQVggdXNlZCBnbG9iYWxseSBieSB0aGUgbGlicmFyeS4KKyAqIEJ5IGRlZmF1bHQsIGR1cmluZyBpbml0aWFsaXphdGlvbiB0aGUgZGVmYXVsdCBpcyBzZXQgdG8gMi4KKyAqIE5vdGUgdGhhdCBpdCBpcyBnZW5lcmFsbHkgYSBiZXR0ZXIgY29kaW5nIHN0eWxlIHRvIHVzZQorICogeG1sU0FYVmVyc2lvbigpIHRvIHNldCB1cCB0aGUgdmVyc2lvbiBleHBsaWNpdGx5IGZvciBhIGdpdmVuCisgKiBwYXJzaW5nIGNvbnRleHQuCisgKgorICogUmV0dXJucyB0aGUgcHJldmlvdXMgdmFsdWUgaW4gY2FzZSBvZiBzdWNjZXNzIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQKK3htbFNBWERlZmF1bHRWZXJzaW9uKGludCB2ZXJzaW9uKQoreworICAgIGludCByZXQgPSB4bWxTQVgyRGVmYXVsdFZlcnNpb25WYWx1ZTsKKworICAgIGlmICgodmVyc2lvbiAhPSAxKSAmJiAodmVyc2lvbiAhPSAyKSkKKyAgICAgICAgcmV0dXJuKC0xKTsKKyAgICB4bWxTQVgyRGVmYXVsdFZlcnNpb25WYWx1ZSA9IHZlcnNpb247CisgICAgcmV0dXJuKHJldCk7Cit9CisjZW5kaWYgLyogTElCWE1MX1NBWDFfRU5BQkxFRCAqLworCisvKioKKyAqIHhtbFNBWFZlcnNpb246CisgKiBAaGRscjogIHRoZSBTQVggaGFuZGxlcgorICogQHZlcnNpb246ICB0aGUgdmVyc2lvbiwgMSBvciAyCisgKgorICogSW5pdGlhbGl6ZSB0aGUgZGVmYXVsdCBYTUwgU0FYIGhhbmRsZXIgYWNjb3JkaW5nIHRvIHRoZSB2ZXJzaW9uCisgKgorICogUmV0dXJucyAwIGluIGNhc2Ugb2Ygc3VjY2VzcyBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50Cit4bWxTQVhWZXJzaW9uKHhtbFNBWEhhbmRsZXIgKmhkbHIsIGludCB2ZXJzaW9uKQoreworICAgIGlmIChoZGxyID09IE5VTEwpIHJldHVybigtMSk7CisgICAgaWYgKHZlcnNpb24gPT0gMikgeworCWhkbHItPnN0YXJ0RWxlbWVudCA9IE5VTEw7CisJaGRsci0+ZW5kRWxlbWVudCA9IE5VTEw7CisJaGRsci0+c3RhcnRFbGVtZW50TnMgPSB4bWxTQVgyU3RhcnRFbGVtZW50TnM7CisJaGRsci0+ZW5kRWxlbWVudE5zID0geG1sU0FYMkVuZEVsZW1lbnROczsKKwloZGxyLT5zZXJyb3IgPSBOVUxMOworCWhkbHItPmluaXRpYWxpemVkID0gWE1MX1NBWDJfTUFHSUM7CisjaWZkZWYgTElCWE1MX1NBWDFfRU5BQkxFRAorICAgIH0gZWxzZSBpZiAodmVyc2lvbiA9PSAxKSB7CisJaGRsci0+c3RhcnRFbGVtZW50ID0geG1sU0FYMlN0YXJ0RWxlbWVudDsKKwloZGxyLT5lbmRFbGVtZW50ID0geG1sU0FYMkVuZEVsZW1lbnQ7CisJaGRsci0+aW5pdGlhbGl6ZWQgPSAxOworI2VuZGlmIC8qIExJQlhNTF9TQVgxX0VOQUJMRUQgKi8KKyAgICB9IGVsc2UKKyAgICAgICAgcmV0dXJuKC0xKTsKKyAgICBoZGxyLT5pbnRlcm5hbFN1YnNldCA9IHhtbFNBWDJJbnRlcm5hbFN1YnNldDsKKyAgICBoZGxyLT5leHRlcm5hbFN1YnNldCA9IHhtbFNBWDJFeHRlcm5hbFN1YnNldDsKKyAgICBoZGxyLT5pc1N0YW5kYWxvbmUgPSB4bWxTQVgySXNTdGFuZGFsb25lOworICAgIGhkbHItPmhhc0ludGVybmFsU3Vic2V0ID0geG1sU0FYMkhhc0ludGVybmFsU3Vic2V0OworICAgIGhkbHItPmhhc0V4dGVybmFsU3Vic2V0ID0geG1sU0FYMkhhc0V4dGVybmFsU3Vic2V0OworICAgIGhkbHItPnJlc29sdmVFbnRpdHkgPSB4bWxTQVgyUmVzb2x2ZUVudGl0eTsKKyAgICBoZGxyLT5nZXRFbnRpdHkgPSB4bWxTQVgyR2V0RW50aXR5OworICAgIGhkbHItPmdldFBhcmFtZXRlckVudGl0eSA9IHhtbFNBWDJHZXRQYXJhbWV0ZXJFbnRpdHk7CisgICAgaGRsci0+ZW50aXR5RGVjbCA9IHhtbFNBWDJFbnRpdHlEZWNsOworICAgIGhkbHItPmF0dHJpYnV0ZURlY2wgPSB4bWxTQVgyQXR0cmlidXRlRGVjbDsKKyAgICBoZGxyLT5lbGVtZW50RGVjbCA9IHhtbFNBWDJFbGVtZW50RGVjbDsKKyAgICBoZGxyLT5ub3RhdGlvbkRlY2wgPSB4bWxTQVgyTm90YXRpb25EZWNsOworICAgIGhkbHItPnVucGFyc2VkRW50aXR5RGVjbCA9IHhtbFNBWDJVbnBhcnNlZEVudGl0eURlY2w7CisgICAgaGRsci0+c2V0RG9jdW1lbnRMb2NhdG9yID0geG1sU0FYMlNldERvY3VtZW50TG9jYXRvcjsKKyAgICBoZGxyLT5zdGFydERvY3VtZW50ID0geG1sU0FYMlN0YXJ0RG9jdW1lbnQ7CisgICAgaGRsci0+ZW5kRG9jdW1lbnQgPSB4bWxTQVgyRW5kRG9jdW1lbnQ7CisgICAgaGRsci0+cmVmZXJlbmNlID0geG1sU0FYMlJlZmVyZW5jZTsKKyAgICBoZGxyLT5jaGFyYWN0ZXJzID0geG1sU0FYMkNoYXJhY3RlcnM7CisgICAgaGRsci0+Y2RhdGFCbG9jayA9IHhtbFNBWDJDRGF0YUJsb2NrOworICAgIGhkbHItPmlnbm9yYWJsZVdoaXRlc3BhY2UgPSB4bWxTQVgyQ2hhcmFjdGVyczsKKyAgICBoZGxyLT5wcm9jZXNzaW5nSW5zdHJ1Y3Rpb24gPSB4bWxTQVgyUHJvY2Vzc2luZ0luc3RydWN0aW9uOworICAgIGhkbHItPmNvbW1lbnQgPSB4bWxTQVgyQ29tbWVudDsKKyAgICBoZGxyLT53YXJuaW5nID0geG1sUGFyc2VyV2FybmluZzsKKyAgICBoZGxyLT5lcnJvciA9IHhtbFBhcnNlckVycm9yOworICAgIGhkbHItPmZhdGFsRXJyb3IgPSB4bWxQYXJzZXJFcnJvcjsKKworICAgIHJldHVybigwKTsKK30KKworLyoqCisgKiB4bWxTQVgySW5pdERlZmF1bHRTQVhIYW5kbGVyOgorICogQGhkbHI6ICB0aGUgU0FYIGhhbmRsZXIKKyAqIEB3YXJuaW5nOiAgZmxhZyBpZiBub24temVybyBzZXRzIHRoZSBoYW5kbGVyIHdhcm5pbmcgcHJvY2VkdXJlCisgKgorICogSW5pdGlhbGl6ZSB0aGUgZGVmYXVsdCBYTUwgU0FYMiBoYW5kbGVyCisgKi8KK3ZvaWQKK3htbFNBWDJJbml0RGVmYXVsdFNBWEhhbmRsZXIoeG1sU0FYSGFuZGxlciAqaGRsciwgaW50IHdhcm5pbmcpCit7CisgICAgaWYgKChoZGxyID09IE5VTEwpIHx8IChoZGxyLT5pbml0aWFsaXplZCAhPSAwKSkKKwlyZXR1cm47CisKKyAgICB4bWxTQVhWZXJzaW9uKGhkbHIsIHhtbFNBWDJEZWZhdWx0VmVyc2lvblZhbHVlKTsKKyAgICBpZiAod2FybmluZyA9PSAwKQorCWhkbHItPndhcm5pbmcgPSBOVUxMOworICAgIGVsc2UKKwloZGxyLT53YXJuaW5nID0geG1sUGFyc2VyV2FybmluZzsKK30KKworLyoqCisgKiB4bWxEZWZhdWx0U0FYSGFuZGxlckluaXQ6CisgKgorICogSW5pdGlhbGl6ZSB0aGUgZGVmYXVsdCBTQVgyIGhhbmRsZXIKKyAqLwordm9pZAoreG1sRGVmYXVsdFNBWEhhbmRsZXJJbml0KHZvaWQpCit7CisjaWZkZWYgTElCWE1MX1NBWDFfRU5BQkxFRAorICAgIHhtbFNBWFZlcnNpb24oKHhtbFNBWEhhbmRsZXJQdHIpICZ4bWxEZWZhdWx0U0FYSGFuZGxlciwgMSk7CisjZW5kaWYgLyogTElCWE1MX1NBWDFfRU5BQkxFRCAqLworfQorCisjaWZkZWYgTElCWE1MX0hUTUxfRU5BQkxFRAorCisvKioKKyAqIHhtbFNBWDJJbml0SHRtbERlZmF1bHRTQVhIYW5kbGVyOgorICogQGhkbHI6ICB0aGUgU0FYIGhhbmRsZXIKKyAqCisgKiBJbml0aWFsaXplIHRoZSBkZWZhdWx0IEhUTUwgU0FYMiBoYW5kbGVyCisgKi8KK3ZvaWQKK3htbFNBWDJJbml0SHRtbERlZmF1bHRTQVhIYW5kbGVyKHhtbFNBWEhhbmRsZXIgKmhkbHIpCit7CisgICAgaWYgKChoZGxyID09IE5VTEwpIHx8IChoZGxyLT5pbml0aWFsaXplZCAhPSAwKSkKKwlyZXR1cm47CisKKyAgICBoZGxyLT5pbnRlcm5hbFN1YnNldCA9IHhtbFNBWDJJbnRlcm5hbFN1YnNldDsKKyAgICBoZGxyLT5leHRlcm5hbFN1YnNldCA9IE5VTEw7CisgICAgaGRsci0+aXNTdGFuZGFsb25lID0gTlVMTDsKKyAgICBoZGxyLT5oYXNJbnRlcm5hbFN1YnNldCA9IE5VTEw7CisgICAgaGRsci0+aGFzRXh0ZXJuYWxTdWJzZXQgPSBOVUxMOworICAgIGhkbHItPnJlc29sdmVFbnRpdHkgPSBOVUxMOworICAgIGhkbHItPmdldEVudGl0eSA9IHhtbFNBWDJHZXRFbnRpdHk7CisgICAgaGRsci0+Z2V0UGFyYW1ldGVyRW50aXR5ID0gTlVMTDsKKyAgICBoZGxyLT5lbnRpdHlEZWNsID0gTlVMTDsKKyAgICBoZGxyLT5hdHRyaWJ1dGVEZWNsID0gTlVMTDsKKyAgICBoZGxyLT5lbGVtZW50RGVjbCA9IE5VTEw7CisgICAgaGRsci0+bm90YXRpb25EZWNsID0gTlVMTDsKKyAgICBoZGxyLT51bnBhcnNlZEVudGl0eURlY2wgPSBOVUxMOworICAgIGhkbHItPnNldERvY3VtZW50TG9jYXRvciA9IHhtbFNBWDJTZXREb2N1bWVudExvY2F0b3I7CisgICAgaGRsci0+c3RhcnREb2N1bWVudCA9IHhtbFNBWDJTdGFydERvY3VtZW50OworICAgIGhkbHItPmVuZERvY3VtZW50ID0geG1sU0FYMkVuZERvY3VtZW50OworICAgIGhkbHItPnN0YXJ0RWxlbWVudCA9IHhtbFNBWDJTdGFydEVsZW1lbnQ7CisgICAgaGRsci0+ZW5kRWxlbWVudCA9IHhtbFNBWDJFbmRFbGVtZW50OworICAgIGhkbHItPnJlZmVyZW5jZSA9IE5VTEw7CisgICAgaGRsci0+Y2hhcmFjdGVycyA9IHhtbFNBWDJDaGFyYWN0ZXJzOworICAgIGhkbHItPmNkYXRhQmxvY2sgPSB4bWxTQVgyQ0RhdGFCbG9jazsKKyAgICBoZGxyLT5pZ25vcmFibGVXaGl0ZXNwYWNlID0geG1sU0FYMklnbm9yYWJsZVdoaXRlc3BhY2U7CisgICAgaGRsci0+cHJvY2Vzc2luZ0luc3RydWN0aW9uID0geG1sU0FYMlByb2Nlc3NpbmdJbnN0cnVjdGlvbjsKKyAgICBoZGxyLT5jb21tZW50ID0geG1sU0FYMkNvbW1lbnQ7CisgICAgaGRsci0+d2FybmluZyA9IHhtbFBhcnNlcldhcm5pbmc7CisgICAgaGRsci0+ZXJyb3IgPSB4bWxQYXJzZXJFcnJvcjsKKyAgICBoZGxyLT5mYXRhbEVycm9yID0geG1sUGFyc2VyRXJyb3I7CisKKyAgICBoZGxyLT5pbml0aWFsaXplZCA9IDE7Cit9CisKKy8qKgorICogaHRtbERlZmF1bHRTQVhIYW5kbGVySW5pdDoKKyAqCisgKiBJbml0aWFsaXplIHRoZSBkZWZhdWx0IFNBWCBoYW5kbGVyCisgKi8KK3ZvaWQKK2h0bWxEZWZhdWx0U0FYSGFuZGxlckluaXQodm9pZCkKK3sKKyAgICB4bWxTQVgySW5pdEh0bWxEZWZhdWx0U0FYSGFuZGxlcigoeG1sU0FYSGFuZGxlclB0cikgJmh0bWxEZWZhdWx0U0FYSGFuZGxlcik7Cit9CisKKyNlbmRpZiAvKiBMSUJYTUxfSFRNTF9FTkFCTEVEICovCisKKyNpZmRlZiBMSUJYTUxfRE9DQl9FTkFCTEVECisKKy8qKgorICogeG1sU0FYMkluaXREb2NiRGVmYXVsdFNBWEhhbmRsZXI6CisgKiBAaGRscjogIHRoZSBTQVggaGFuZGxlcgorICoKKyAqIEluaXRpYWxpemUgdGhlIGRlZmF1bHQgRG9jQm9vayBTQVgyIGhhbmRsZXIKKyAqLwordm9pZAoreG1sU0FYMkluaXREb2NiRGVmYXVsdFNBWEhhbmRsZXIoeG1sU0FYSGFuZGxlciAqaGRscikKK3sKKyAgICBpZiAoKGhkbHIgPT0gTlVMTCkgfHwgKGhkbHItPmluaXRpYWxpemVkICE9IDApKQorCXJldHVybjsKKworICAgIGhkbHItPmludGVybmFsU3Vic2V0ID0geG1sU0FYMkludGVybmFsU3Vic2V0OworICAgIGhkbHItPmV4dGVybmFsU3Vic2V0ID0gTlVMTDsKKyAgICBoZGxyLT5pc1N0YW5kYWxvbmUgPSB4bWxTQVgySXNTdGFuZGFsb25lOworICAgIGhkbHItPmhhc0ludGVybmFsU3Vic2V0ID0geG1sU0FYMkhhc0ludGVybmFsU3Vic2V0OworICAgIGhkbHItPmhhc0V4dGVybmFsU3Vic2V0ID0geG1sU0FYMkhhc0V4dGVybmFsU3Vic2V0OworICAgIGhkbHItPnJlc29sdmVFbnRpdHkgPSB4bWxTQVgyUmVzb2x2ZUVudGl0eTsKKyAgICBoZGxyLT5nZXRFbnRpdHkgPSB4bWxTQVgyR2V0RW50aXR5OworICAgIGhkbHItPmdldFBhcmFtZXRlckVudGl0eSA9IE5VTEw7CisgICAgaGRsci0+ZW50aXR5RGVjbCA9IHhtbFNBWDJFbnRpdHlEZWNsOworICAgIGhkbHItPmF0dHJpYnV0ZURlY2wgPSBOVUxMOworICAgIGhkbHItPmVsZW1lbnREZWNsID0gTlVMTDsKKyAgICBoZGxyLT5ub3RhdGlvbkRlY2wgPSBOVUxMOworICAgIGhkbHItPnVucGFyc2VkRW50aXR5RGVjbCA9IE5VTEw7CisgICAgaGRsci0+c2V0RG9jdW1lbnRMb2NhdG9yID0geG1sU0FYMlNldERvY3VtZW50TG9jYXRvcjsKKyAgICBoZGxyLT5zdGFydERvY3VtZW50ID0geG1sU0FYMlN0YXJ0RG9jdW1lbnQ7CisgICAgaGRsci0+ZW5kRG9jdW1lbnQgPSB4bWxTQVgyRW5kRG9jdW1lbnQ7CisgICAgaGRsci0+c3RhcnRFbGVtZW50ID0geG1sU0FYMlN0YXJ0RWxlbWVudDsKKyAgICBoZGxyLT5lbmRFbGVtZW50ID0geG1sU0FYMkVuZEVsZW1lbnQ7CisgICAgaGRsci0+cmVmZXJlbmNlID0geG1sU0FYMlJlZmVyZW5jZTsKKyAgICBoZGxyLT5jaGFyYWN0ZXJzID0geG1sU0FYMkNoYXJhY3RlcnM7CisgICAgaGRsci0+Y2RhdGFCbG9jayA9IE5VTEw7CisgICAgaGRsci0+aWdub3JhYmxlV2hpdGVzcGFjZSA9IHhtbFNBWDJJZ25vcmFibGVXaGl0ZXNwYWNlOworICAgIGhkbHItPnByb2Nlc3NpbmdJbnN0cnVjdGlvbiA9IE5VTEw7CisgICAgaGRsci0+Y29tbWVudCA9IHhtbFNBWDJDb21tZW50OworICAgIGhkbHItPndhcm5pbmcgPSB4bWxQYXJzZXJXYXJuaW5nOworICAgIGhkbHItPmVycm9yID0geG1sUGFyc2VyRXJyb3I7CisgICAgaGRsci0+ZmF0YWxFcnJvciA9IHhtbFBhcnNlckVycm9yOworCisgICAgaGRsci0+aW5pdGlhbGl6ZWQgPSAxOworfQorCisvKioKKyAqIGRvY2JEZWZhdWx0U0FYSGFuZGxlckluaXQ6CisgKgorICogSW5pdGlhbGl6ZSB0aGUgZGVmYXVsdCBTQVggaGFuZGxlcgorICovCit2b2lkCitkb2NiRGVmYXVsdFNBWEhhbmRsZXJJbml0KHZvaWQpCit7CisgICAgeG1sU0FYMkluaXREb2NiRGVmYXVsdFNBWEhhbmRsZXIoKHhtbFNBWEhhbmRsZXJQdHIpICZkb2NiRGVmYXVsdFNBWEhhbmRsZXIpOworfQorCisjZW5kaWYgLyogTElCWE1MX0RPQ0JfRU5BQkxFRCAqLworI2RlZmluZSBib3R0b21fU0FYMgorI2luY2x1ZGUgImVsZmdjY2hhY2suaCIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvVE9ETyBiL2xpYnhtbDIvVE9ETwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YzMyMjI0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9UT0RPCkBAIC0wLDAgKzEsMjc4IEBACisxMjQ5MDcgSFRNTCBwYXJzZSBidWZmZXIgcHJvYmxlbSB3aGVuIHBhcnNpbmcgbGFyc2UgaW4tbWVtb3J5IGRvY3MKKzEyNDExMCBEVEQgdmFsaWRhdGlvbiAmJiB3cm9uZyBuYW1lc3BhY2UKKzEyMzU2NCB4bWxsaW50IC0taHRtbCAtLWZvcm1hdAorCisgICAgICAgICAgIFRPRE8gZm9yIHRoZSBYTUwgcGFyc2VyIGFuZCBzdHVmZjoKKwkgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKKyAgICAgICRJZCQKKworICAgIHRoaXMgdGVuZCB0byBiZSBvdXRkYXRlZCA6LVwgLi4uCisKK0RPQ1M6Cis9PT09PQorCistIHVzZSBjYXNlIG9mIHVzaW5nIFhJbmNsdWRlIHRvIGxvYWQgZm9yIGV4YW1wbGUgYSBkZXNjcmlwdGlvbi4KKyAgb3JkZXIgZG9jdW1lbnQgKyBwcm9kdWN0IGJhc2UgLShYU0xUKS0+IHF1b3RlIHdpdGggWEluY2x1ZGVzIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICBIVE1MIG91dHB1dCB3aXRoIGRlc2NyaXB0aW9uIG9mIHBhcnRzIDwtLS0oWFNMVCktLQorCitUT0RPOgorPT09PT0KKy0gWEluY2x1ZGUgYXQgdGhlIFNBWCBsZXZlbCAobGliU1JWRykKKy0gZml4IHRoZSBDIGNvZGUgcHJvdG90eXBlIHRvIGJyaW5nIGJhY2sgZG9jL2xpYnhtbC11bmRvY3VtZW50ZWQudHh0CisgIHRvIGEgcmVhc29uYWJsZSBsZXZlbAorLSBDb21wdXRhdGlvbiBvZiBiYXNlIHdoZW4gSFRUUCByZWRpcmVjdCBvY2N1cnMsIG1pZ2h0IGFmZmVjdCBIVFRQCisgIGludGVyZmFjZXMuCistIENvbXB1dGF0aW9uIG9mIGJhc2UgaW4gWEluY2x1ZGUuIFJlbGF0aXZpemF0aW9uIG9mIFVSSXMuCistIGxpc3RpbmcgYWxsIGF0dHJpYnV0ZXMgaW4gYSBub2RlLgorLSBCZXR0ZXIgY2hlY2tpbmcgb2YgZXh0ZXJuYWwgcGFyc2VkIGVudGl0aWVzIFRBRyAxMjM0CistIEdvIHRocm91Z2ggZXJyYXRhcyBhbmQgZG8gdGhlIGNsZWFudXAuCisgIGh0dHA6Ly93d3cudzMub3JnL1hNTC94bWwtMTk5ODAyMTAtZXJyYXRhIC4uLiBzdGFydGVkIC4uLgorLSBqYW1lc2ggc3VnZ2VzdGlvbjogU0FYIGxpa2UgZnVuY3Rpb25zIHRvIHNhdmUgYSBkb2N1bWVudCBpZS4gY2FsbCBhCisgIGZ1bmN0aW9uIHRvIG9wZW4gYSBuZXcgZWxlbWVudCB3aXRoIGdpdmVuIGF0dHJpYnV0ZXMsIHdyaXRlIGNoYXJhY3RlcgorICBkYXRhLCBjbG9zZSBsYXN0IGVsZW1lbnQsIGV0YworICArIGludmVyc3RlZCBTQVgsIGluaXRpYWwgcGF0Y2ggaW4gQXByaWwgMjAwMiBhcmNoaXZlcy4KKy0gaHRtbFBhcnNlRG9jIGhhcyBwYXJhbWV0ZXIgZW5jb2Rpbmcgd2hpY2ggaXMgbm90IHVzZWQuCisgIEZ1bmN0aW9uIGh0bWxDcmVhdGVEb2NQYXJzZXJDdHh0IGlnbm9yZSBpdC4KKy0gZml4IHJlYWxsb2MoKSB1c2FnZS4KKy0gU3RyaWN0ZW4gdGhlIFVURjggY29uZm9ybWFuY2UgKE1hcnRpbiBEdWVyc3QpOgorICBodHRwOi8vd3d3LnczLm9yZy8yMDAxLzA2L3V0Zi04LXRlc3QvLgorICBUaGUgYmFkIGZpbGVzIGFyZSBpbiBodHRwOi8vd3d3LnczLm9yZy8yMDAxLzA2L3V0Zi04LXdyb25nLy4KKy0geG1sOmlkIG5vcm1hbGl6ZWQgdmFsdWUKKworVE9ETzoKKz09PT09CisKKy0gbW92ZSBhbGwgc3RyaW5nIG1hbmlwdWxhdGlvbiBmdW5jdGlvbnMgKHhtbFN0cmR1cCwgeG1sU3RybGVuLCBldGMuKSB0bworICBnbG9iYWwuYy4gQmpvcm4gbm90ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGZpbGVzIGRlcGVuZHMgb24gcGFyc2VyLm8gc29sZWx5CisgIGJlY2F1c2Ugb2YgdGhlc2Ugc3RyaW5nIGZ1bmN0aW9uczogZW50aXRpZXMubywgZ2xvYmFsLm8sIGhhc2gubywgdHJlZS5vLAorICB4bWxJTy5vLCBhbmQgeHBhdGguby4KKworLSBPcHRpbWl6YXRpb24gb2YgdGFnIHN0cmluZ3MgYWxsb2NhdGlvbiA/CisKKy0gbWFpbnRhaW4gY29oZXJlbmN5IG9mIG5hbWVzcGFjZSB3aGVuIGRvaW5nIGN1dCduIHBhc3RlIG9wZXJhdGlvbnMKKyAgPT4gdGhlIGZ1bmN0aW9ucyBhcmUgY29kZWQsIGJ1dCBuZWVkIHRlc3RpbmcKKworLSBmdW5jdGlvbiB0byByZWJ1aWxkIHRoZSBJRCB0YWJsZQorLSBmdW5jdGlvbnMgdG8gcmVidWlsZCB0aGUgRFREIGhhc2ggdGFibGVzIChhZnRlciBEVEQgY2hhbmdlcykuCisgICAKKworRVhURU5TSU9OUzoKKz09PT09PT09PT09CisKKy0gVG9vbHMgdG8gcHJvZHVjZSBtYW4gcGFnZXMgZnJvbSB0aGUgU0dNTCBkb2NzLgorCistIEFkZCBYcG9pbnRlciByZWNvZ25pdGlvbi9BUEkKKworLSBBZGQgWGxpbmsgcmVjb2duaXRpb24vQVBJCisgID0+IHN0YXJ0ZWQgYWRkaW5nIGFuIHhsaW5rLltjaF0gd2l0aCBhIHVuaWZpZWQgQVBJIGZvciBYTUwgYW5kIEhUTUwuCisgICAgIGl0J3MgY3JhcCA6LSgKKworLSBJbXBsZW1lbnQgWFNjaGVtYXMKKyAgPT4gUmVhbGx5IG5lZWQgdG8gYmUgZG9uZSA8Z3Jpbi8+CisgIC0gZGF0YXR5cGUgYXJlIGNvbXBsZXRlLCBidXQgc3RydWN0dXJlIHN1cHBvcnQgaXMgdmVyeSBsaW1pdGVkLgorCistIGV4dGVuZCB0aGUgc2hlbGwgd2l0aDoKKyAgIC0gZWRpdAorICAgLSBsb2FkL3NhdmUKKyAgIC0gbXYgKHl1bSwgeXVtLCBidXQgaXQncyBoYXJkZXIgYmVjYXVzZSBkaXJlY3RvcmllcyBhcmUgb3JkZXJlZCBpbgorICAgICBvdXIgY2FzZSwgbXZ1cCBhbmQgbXZkb3duIHdvdWxkIGJlIHJlcXVpcmVkKQorCisKK0RvbmU6Cis9PT09PQorCistIEFkZCBIVE1MIHZhbGlkYXRpb24gdXNpbmcgdGhlIFhIVE1MIERURAorICAtIHByb2JsZW06IGRvIHdlIHdhbnQgdG8ga2VlcCBhbmQgbWFpbnRhaW4gdGhlIGNvZGUgZm9yIGhhbmRsaW5nCisgICAgRFREL1N5c3RlbSBJRCBjYWNoZSBkaXJlY3RseSBpbiBsaWJ4bWwgPworICA9PiBub3QgcmVhbGx5IGRvbmUgdGhhdCB3YXksIGJ1dCB0aGVyZSBhcmUgbmV3IEFQSXMgdG8gY2hlY2sgZWxlbWVudHMKKyAgICAgb3IgYXR0cmlidXRlcy4gT3RoZXJ3aXNlIFhIVE1MIHZhbGlkYXRpb24gZGlyZWN0bHkgLi4uCisKKy0gWE1MIFNjaGVtYXMgZGF0YXR5cGVzIGV4Y2VwdCBCYXNlNjQgYW5kIEJpbkhleAorCistIFJlbGF4IE5HIHZhbGlkYXRpb24KKworLSBYbWxUZXh0UmVhZGVyIHN0cmVhbWluZyBBUEkgKyB2YWxpZGF0aW9uCisKKy0gQWRkIGEgRFREIGNhY2hlIHByZWZpbGxlZCB3aXRoIHhodG1sIERURHMgYW5kIGVudGl0aWVzIGFuZCBhIHByb2dyYW0gdG8KKyAgbWFuYWdlIHRoZW0gLT4gbGlrZSB0aGUgL3Vzci9iaW4vaW5zdGFsbC1jYXRhbG9nIGZyb20gU0dNTAorICByaWdodCBwbGFjZSBzZWVtcyAkZGF0YWRpci94bWxkdGRzCisgIE1heWJlIHRoaXMgaXMgYmV0dGVyIGxlZnQgdG8gdXNlciBhcHBzCisgID0+IHVzZSBhIGNhdGFsb2cgaW5zdGVhZCAsIGFuZCB4aHRtbDEtZHRkIHBhY2thZ2UKKworLSBBZGQgb3V0cHV0IHRvIFhIVE1MCisgID0+IFhNTCBzZXJpYWxpemVyIGF1dG9tYXRpY2FsbHkgcmVjb2duaXplIHRoZSBEVGQgYW5kIGFwcGx5IHRoZSBzcGVjaWZpYworICAgICBydWxlcy4KKworLSBGaXggb3V0cHV0IG9mIDx0c3QgdmFsPSJ4JiN4QTt5Ii8+CisKKy0gY29tcGxpYW5jZSB0byBYTUwtTmFtZXNwYWNlIGNoZWNraW5nLCBzZWUgc2VjdGlvbiA2IG9mCisgIGh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy14bWwtbmFtZXMvCisKKy0gQ29ycmVjdCBzdGFuZGFsb25lIGNoZWNraW5nL2VtaXR0aW5nIChoYXJkKQorICAyLjkgU3RhbmRhbG9uZSBEb2N1bWVudCBEZWNsYXJhdGlvbgorCistIEltcGxlbWVudCBPQVNJUyBYTUwgQ2F0YWxvZyBzdXBwb3J0CisgIGh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvY29tbWl0dGVlcy9lbnRpdHkvCisKKy0gR2V0IE9BU0lTIHRlc3RzdWl0ZSB0byBhIG1vcmUgZnJpZW5kbHkgcmVzdWx0LCBjaGVjayBhbGwgdGhlIHJlc3VsdHMKKyAgb25jZSBzdGFibGUuIHRoZSBjaGVjay14bWwtdGVzdC1zdWl0ZS5weSBzY3JpcHQgZG9lcyB0aGlzCisKKy0gSW1wbGVtZW50IFhTTFQKKyAgPT4gbGlieHNsdAorCistIEZpbmlzaCBYUGF0aAorICA9PiBhdHRyaWJ1dGVzIGFkZHJlc3NpbmcgdHJvdWJsZXMKKyAgPT4gZGVmYXVsdGVkIGF0dHJpYnV0ZXMgaGFuZGxpbmcKKyAgPT4gbmFtZXNwYWNlIGF4aXMgPworICBkb25lIGFzIFhTTFQgZ290IGRlYnVnZ2VkCisKKy0gYnVnIHJlcG9ydGVkIGJ5IE1pY2hhZWwgTWVhbGxpbiBvbiB2YWxpZGF0aW9uIHByb2JsZW1zCisgID0+IEFjdHVhbGx5IG1lYW5zIEkgbmVlZCB0byBhZGQgc3VwcG9ydCAoYW5kIHdhcm4pIGZvciBub24tZGV0ZXJtaW5pc3RpYworICAgICBjb250ZW50IG1vZGVsLgorLSBIYW5kbGUgdW5kZWZpbmVkIG5hbWVzcGFjZXMgaW4gZW50aXR5IGNvbnRlbnRzIGJldHRlciAuLi4gYXQgbGVhc3QKKyAgaXNzdWUgYSB3YXJuaW5nCistIERPTSBuZWVkcworICBpbnQgeG1sUHJ1bmVQcm9wKHhtbE5vZGVQdHIgbm9kZSwgeG1sQXR0dHJQdHIgYXR0cik7CisgID0+IGRvbmUgaXQncyBhY3R1YWxseSB4bWxSZW1vdmVQcm9wIHhtbFVuc2V0UHJvcCB4bWxVbnNldE5zUHJvcAorCistIEhUTUw6IGhhbmRsaW5nIG9mIFNjcmlwdCBhbmQgc3R5bGUgZGF0YSBlbGVtZW50cywgbmVlZCBzcGVjaWFsIGNvZGUgaW4KKyAgdGhlIHBhcnNlciBhbmQgc2F2aW5nIGZ1bmN0aW9ucyAoaGFuZGxpbmcgb2YgPCA+ICIgJyAuLi4pOgorICBodHRwOi8vd3d3LnczLm9yZy9UUi9odG1sNC90eXBlcy5odG1sI3R5cGUtc2NyaXB0CisgIEF0dHJpYnV0ZXMgYXJlIG5vIHByb2JsZW1zIHNpbmNlIGVudGl0aWVzIGFyZSBhY2NlcHRlZC4KKy0gRE9NIG5lZWRzCisgIHhtbEF0dHJQdHIgeG1sTmV3RG9jUHJvcCh4bWxEb2NQdHIgZG9jLCBjb25zdCB4bWxDaGFyICpuYW1lLCBjb25zdCB4bWxDaGFyICp2YWx1ZSkKKy0gcHJvYmxlbSB3aGVuIHBhcnNpbmcgaHJlZnMgd2l0aCAmIHdpdGggdGhlIEhUTUwgcGFyc2VyIChJUkMgYWMpCistIElmIHRoZSBpbnRlcm5hbCBlbmNvZGluZyBpcyBub3QgVVRGOCBzYXZpbmcgdG8gYSBnaXZlbiBlbmNvZGluZyBkb2Vzbid0CisgIHdvcmsgPT4gZml4IHRvIGZvcmNlIFVURjggZW5jb2RpbmcgLi4uCisgIGRvbmUsIGFkZGVkIGRvY3VtZW50YXRpb24gdG9vCistIEFkZCBhbiBBU0NJSSBJL08gZW5jb2RlciAoYXNjaWlUb1VURjggYW5kIFVURjhUb2FzY2lpKQorLSBJc3N1ZSB3YXJuaW5nIHdoZW4gdXNpbmcgbm9uLWFic29sdXRlIG5hbWVzcGFjZXMgVVJJLgorLSB0aGUgaHRtbCBwYXJzZXIgc2hvdWxkIGFkZCA8aGVhZD4gYW5kIDxib2R5PiBpZiB0aGV5IGRvbid0IGV4aXN0CisgIHN0YXJ0ZWQsIG5vdCBmaW5pc2hlZC4KKyAgRG9uZSwgdGhlIGF1dG9tYXRpYyBjbG9zaW5nIGlzIGFkZGVkIGFuZCAzIHRlc3RjYXNlcyB3ZXJlIGluc2VydGVkCistIENvbW1hbmQgdG8gZm9yY2UgdGhlIHBhcnNlciB0byBzdG9wIHBhcnNpbmcgYW5kIGlnbm9yZSB0aGUgcmVzdCBvZiB0aGUgZmlsZS4KKyAgeG1sU3RvcFBhcnNlcigpIHNob3VsZCBhbGxvdyB0aGlzLCBtb3N0bHkgdW50ZXN0ZWQKKy0gc3VwcG9ydCBmb3IgSFRNTCBlbXB0eSBhdHRyaWJ1dGVzIGxpa2UgPGhyIG5vc2hhZGU+CistIHBsdWdnZWQgaWNvbnYoKSBpbiBmb3Igc3VwcG9ydCBvZiBhIGxhcmdlIHNldCBvZiBlbmNvZGluZ3MuCistIHhtbFN3aXRjaFRvRW5jb2RpbmcoKSByZXdyaXRlIGRvbmUKKy0gVVJJIGNoZWNraW5ncyAobm8gZnJhZ21lbnRzKSByZmMyMzk2LnR4dAorLSBBZGRlZCBhIGNsZWFuIG1lY2hhbmlzbSBmb3Igb3ZlcmxvYWQgb3IgYWRkZWQgaW5wdXQgbWV0aG9kczoKKyAgeG1sUmVnaXN0ZXJJbnB1dENhbGxiYWNrcygpCistIGR5bmFtaWNhbGx5IGFkYXB0IHRoZSBhbGxvYyBlbnRyeSBwb2ludCB0byB1c2UgZ19hbGxvYygpL2dfZnJlZSgpCisgIGlmIHRoZSBwcm9ncmFtbWVyIHdhbnRzIGl0OiAKKyAgICAtIHVzZSB4bWxNZW1TZXR1cCgpIHRvIHJlc2V0IHRoZSByb3V0aW5lcyB1c2VkLgorLSBDaGVjayBhdHRyaWJ1dGUgbm9ybWFsaXphdGlvbiBlc3BlY2lhbGx5IHhtbEdldFByb3AoKQorLSBWYWxpZGl0eSBjaGVja2luZyBwcm9ibGVtcyBmb3IgTk9UQVRJT05TIGF0dHJpYnV0ZXMKKy0gVmFsaWRpdHkgY2hlY2tpbmcgcHJvYmxlbXMgZm9yIEVOVElUWSBFTlRJVElFUyBhdHRyaWJ1dGVzCistIFBhcnNpbmcgb2YgYSB3ZWxsIGJhbGFuY2VkIGNodW5rIHhtbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeSgpCistIFVSSSBtb2R1bGU6IHZhbGlkYXRpb24sIGJhc2UsIGV0YyAuLi4gc2VlIHVyaS5bY2hdCistIHR1cm4gdGVzdGVyIGludG8gYSBnZW5lcmljIHByb2dyYW0geG1sbGludCBpbnN0YWxsZWQgd2l0aCBsaWJ4bWwKKy0gZXh0ZW5kIHZhbGlkaXR5IGNoZWNrcyB0byBnbyB0aHJvdWdoIGVudGl0aWVzIGNvbnRlbnQgaW5zdGVhZCBvZgorICBqdXN0IGxhYmVsbGluZyB0aGVtIFBDREFUQQorLSBTYXZlIER0ZHMgdXNpbmcgdGhlIGNoaWxkcmVuIGxpc3QgaW5zdGVhZCBvZiBkdW1waW5nIHRoZSB0YWJsZXMsCisgIG9yZGVyIGlzIHByZXNlcnZlZCBhcyB3ZWxsIGFzIGNvbW1lbnRzIGFuZCBQSXMKKy0gV3JvdGUgYSBub3RpY2Ugb2YgY2hhbmdlcyByZXF1aXJlcyB0byBnbyBmcm9tIDEueCB0byAyLngKKy0gbWFrZSBzdXJlIHRoYXQgYWxsIFNBWCBjYWxsYmFja3MgYXJlIGRpc2FibGVkIGlmIGEgV0YgZXJyb3IgaXMgZGV0ZWN0ZWQKKy0gY2hlY2tpbmcvaGFuZGxpbmcgb2YgbmV3bGluZSBub3JtYWxpemF0aW9uCisgIGh0dHA6Ly9sb2NhbGhvc3Qvd3d3LnhtbC5jb20vYXhtbC90YXJnZXQuaHRtbCNzZWMtbGluZS1lbmRzCistIGNvcnJlY3QgY2hlY2tpbmcgb2YgJyYnICclJyBvbiBlbnRpdGllcyBjb250ZW50LgorLSBjaGVja2luZyBvZiBQRS9OZXN0aW5nIG9uIGVudGl0aWVzIGRlY2xhcmF0aW9uCistIGNoZWNraW5nL2hhbmRsaW5nIG9mIHhtbDpzcGFjZQorICAgLSBjaGVja2luZyBkb25lLgorICAgLSBoYW5kbGluZyBkb25lLCBub3Qgd2VsbCB0ZXN0ZWQKKy0gTGFuZ3VhZ2UgaWRlbnRpZmljYXRpb24gY29kZSwgcHJvZHVjdGlvbnMgWzMzXSB0byBbMzhdCisgID0+IGRvbmUsIHRoZSBjaGVjayBoYXMgYmVlbiBhZGRlZCBhbmQgcmVwb3J0IFdGbmVzcyBlcnJvcnMKKy0gQ29uZGl0aW9uYWwgc2VjdGlvbnMgaW4gRFREcyBbNjFdIHRvIFs2NV0KKyAgPT4gc2hvdWxkIHRoaXMgY3JhcCBiZSByZWFsbHkgaW1wbGVtZW50ZWQgPz8/CisgID0+IFllcCBPQVNJUyB0ZXN0c3VpdGUgdXNlcyB0aGVtCistIEFsbG93IHBhcnNlZCBlbnRpdGllcyBkZWZpbmVkIGluIHRoZSBpbnRlcm5hbCBzdWJzZXQgdG8gb3ZlcnJpZGUKKyAgdGhlIG9uZXMgZGVmaW5lZCBpbiB0aGUgZXh0ZXJuYWwgc3Vic2V0IChEdEQgY3VzdG9taXphdGlvbikuCisgID0+IFRoaXMgbWVhbiB0aGF0IHRoZSBlbnRpdHkgY29udGVudCBzaG91bGQgYmUgY29tcHV0ZWQgb25seSBhdAorICAgICB1c2UgdGltZSwgaS5lLiBrZWVwIHRoZSBvcmlnIHN0cmluZyBvbmx5IGF0IHBhcnNlIHRpbWUgYW5kIGV4cGFuZAorICAgICBvbmx5IHdoZW4gcmVmZXJlbmNlZCBmcm9tIHRoZSBleHRlcm5hbCBzdWJzZXQgOi0oCisgICAgIE5lZWRlZCBmb3IgY29tcGxldGUgdXNlIG9mIG1vc3QgRFREIGZyb20gRXZlIE1hbGVyCistIEFkZCByZWdyZXNzaW9uIHRlc3RzIGZvciBhbGwgV0ZDIGVycm9ycworICA9PiBkaWQgc29tZSBpbiB0ZXN0L1dGQworICA9PiBhZGRlZCBPQVNJUyB0ZXN0c3VpdGUgcm91dGluZXMKKyAgICAgaHR0cDovL3htbHNvZnQub3JnL2NvbmYvcmVzdWx0Lmh0bWwKKworLSBJMThOOiBodHRwOi8vd2FwLnRyb25kaGVpbS5jb20vdmFlci9pbmRleC5waHRtbCBpcyBub3QgWE1MIGFuZCBhY2NlcHRlZAorICBieSB0aGUgWE1MIHBhcnNlciwgVVRGLTggc2hvdWxkIGJlIGNoZWNrZWQgd2hlbiB0aGVyZSBpcyBubyAiZW5jb2RpbmciCisgIGRlY2xhcmVkICEKKy0gU3VwcG9ydCBmb3IgVVRGLTggYW5kIFVURi0xNiBlbmNvZGluZworICA9PiBhZGRlZCBzb21lIGNvbnZlcnRpb24gcm91dGluZXMgcHJvdmlkZWQgYnkgTWFydGluIER1cnN0CisgICAgIHBhdGNoZWQgdGhlbSwgZ290IGZpeGVzIGZyb20gQEBACisgICAgIEkgcGxhbiB0byBrZWVwIGV2ZXJ5dGhpbmcgaW50ZXJuYWxseSBhcyBVVEYtOCAob3IgSVNPLUxhdGluLVgpCisgICAgIHRoaXMgaXMgc2xpZ2h0bHkgbW9yZSBjb3N0bHkgYnV0IG1vcmUgY29tcGFjdCwgYW5kIHJlY2VudCBwcm9jZXNzb3JzCisgICAgIGVmZmljaWVuY3kgaXMgY2FjaGUgcmVsYXRlZC4gVGhlIGtleSBmb3IgZ29vZCBwZXJmb3JtYW5jZXMgaXMga2VlcGluZworICAgICB0aGUgZGF0YSBzZXQgc21hbGwsIHNvIHdpbGwgSS4KKyAgPT4gdGhlIG5ldyBwcm9ncmVzc2l2ZSByZWFkaW5nIHJvdXRpbmVzIGNhbGwgdGhlIGRldGVjdGlvbiBjb2RlCisgICAgIGlzIGVuYWJsZWQsIHRlc3RlZCB0aGUgSVNPLT5VVEYtOCBzdHVmZgorLSBFeHRlcm5hbCBlbnRpdGllcyBsb2FkaW5nOiAKKyAgIC0gYWxsb3cgb3ZlcnJpZGUgYnkgY2xpZW50IGNvZGUKKyAgIC0gbWFrZSBzdXJlIGl0IGlzIGFsbGVkIGZvciBhbGwgZXh0ZXJuYWwgZW50aXRpZXMgcmVmZXJlbmNlZAorICBEb25lLCBjbGllbnQgY29kZSBzaG91bGQgdXNlIHhtbFNldEV4dGVybmFsRW50aXR5TG9hZGVyKCkgdG8gc2V0CisgIHRoZSBkZWZhdWx0IGxvYWRpbmcgcm91dGluZS4gSXQgd2lsbCBiZSBjYWxsZWQgZWFjaCB0aW1lIGFuIGV4dGVybmFsCisgIGVudGl0eSBlbnRpdHkgcmVzb2x1dGlvbiBpcyB0cmlnZ2VyZWQuCistIG1haW50YWluIElEIGNvaGVyZW5jeSB3aGVuIHJlbW92aW5nL2NoYW5naW5nIGF0dHJpYnV0ZXMKKyAgVGhlIGZ1bmN0aW9uIHVzZWQgdG8gZGVhbGxvY2F0ZSBhdHRyaWJ1dGVzIG5vdyBjaGVjayBmb3IgaXQgYmVpbmcgYW4KKyAgSUQgYW5kIHJlbW92ZXMgaXQgZnJvbSB0aGUgdGFibGUuCistIHB1c2ggbW9kZSBwYXJzaW5nIGkuZS4gbm9uLWJsb2NraW5nIHN0YXRlIGJhc2VkIHBhcnNlcgorICBkb25lLCBib3RoIGZvciBYTUwgYW5kIEhUTUwgcGFyc2Vycy4gVXNlIHhtbENyZWF0ZVB1c2hQYXJzZXJDdHh0KCkKKyAgYW5kIHhtbFBhcnNlQ2h1bmsoKSBhbmQgaHRtbCBjb3VudGVycGFydHMuCisgIFRoZSB0ZXN0ZXIgcHJvZ3JhbSBub3cgaGFzIGEgLS1wdXNoIG9wdGlvbiB0byBzZWxlY3QgdGhhdCBwYXJzZXIgCisgIGZyb250LWVuZC4gRG91cGxpY2F0ZWQgdGVzdHMgdG8gdXNlIGJvdGggYW5kIGNoZWNrIHJlc3VsdHMgYXJlIHNpbWlsYXIuCisKKy0gTW9zdCBvZiBYUGF0aCwgc3RpbGwgc2VlIHNvbWUgdHJvdWJsZXMgYW5kIG9jY2FzaW9ubmFsIG1lbWxlYWtzLgorLSBhbiBYTUwgc2hlbGwsIGFsbG93aW5nIHRvIHRyYXZlcnNlL21hbmlwdWxhdGUgYW4gWE1MIGRvY3VtZW50IHdpdGgKKyAgYSBzaGVsbCBsaWtlIGludGVyZmFjZSwgYW5kIHVzaW5nIFhQYXRoIGZvciB0aGUgYW5taW5nIHN5bnRheAorICAtIHVzZSBvZiByZWFkbGluZSBhbmQgaGlzdG9yeSBhZGRlZCB3aGVuIGF2YWlsYWJsZQorICAtIHRoZSBzaGVsbCBpbnRlcmZhY2UgaGFzIGJlZW4gY2xlYW5seSBzZXBhcmF0ZWQgYW5kIG1vdmVkIHRvIGRlYnVnWE1MLmMKKy0gSFRNTCBwYXJzZXIsIHNob3VsZCBiZSBmYWlybHkgc3RhYmxlIG5vdworLSBBUEkgdG8gc2VhcmNoIHRoZSBsYW5nIG9mIGFuIGF0dHJpYnV0ZQorLSBDb2xsZWN0IElEcyBhdCBwYXJzaW5nIGFuZCBtYWludGFpbiBhIHRhYmxlLiAKKyAgIFBCTTogbWFpbnRhaW4gdGhlIHRhYmxlIGNvaGVyZW5jeQorICAgUEJNOiBob3cgdG8gZGV0ZWN0IElEIHR5cGVzIGluIGFic2VuY2Ugb2YgRHREICEKKy0gVXNlIGl0IGZvciBYUGF0aCBJRCBzdXBwb3J0CistIEFkZCB2YWxpZGl0eSBjaGVja2luZworICBTaG91bGQgYmUgZmluaXNoZWQgbm93ICEKKy0gQWRkIHJlZ3Jlc3Npb24gdGVzdHMgd2l0aCBlbnRpdHkgc3Vic3RpdHV0aW9ucworCistIEV4dGVybmFsIFBhcnNlZCBlbnRpdGllcywgZWl0aGVyIFhNTCBvciBleHRlcm5hbCBTdWJzZXQgWzc4XSBhbmQgWzc5XQorICBwYXJzaW5nIHRoZSB4bWxsYW5nIER0RCBub3cgd29ya3MsIHNvIGl0IHNob3VsZCBiZSBzdWZmaWNpZW50IGZvcgorICBtb3N0IGNhc2VzICEKKworLSBwcm9ncmVzc2l2ZSByZWFkaW5nLiBUaGUgZW50aXR5IHN1cHBvcnQgaXMgYSBmaXJzdCBzdGVwIHRvd2FyZAorICBhc2J0cmFjdGlvbiBvZiBhbiBpbnB1dCBzdHJlYW0uIEEgbGFyZ2UgcGFydCBvZiB0aGUgY29udGV4dCBpcyBzdGlsbAorICBsb2NhdGVkIG9uIHRoZSBzdGFjaywgbW92aW5nIHRvIGEgc3RhdGUgbWFjaGluZSBhbmQgcHV0dGluZyBldmVyeXRpbmcKKyAgaW4gdGhlIHBhcnNpbmcgY29udGV4dCBzaG91bGQgcHJvdmlkZSBhbiBhZGVxdWF0ZSBzb2x1dGlvbi4KKyAgPT4gUmF0aGVyIHRoYW4gcHJvZ3Jlc3NpdmUgcGFyc2luZywgZ2l2ZSBtb3JlIHBvd2VyIHRvIHRoZSBTQVgtbGlrZQorICAgICBpbnRlcmZhY2UuIEN1cnJlbnRseSB0aGUgRE9NLWxpa2UgcmVwcmVzZW50YXRpb24gaXMgYnVpbHQgYnV0CisgICAgID0+IGl0IHNob3VsZCBiZSBwb3NzaWJsZSB0byBkZWZpbmUgdGhhdCBvbmx5IGFzIGEgc2V0IG9mIFNBWCBjYWxsYmFja3MKKwlhbmQgcmVtb3ZlIHRoZSB0cmVlIGNyZWF0aW9uIGZyb20gdGhlIHBhcnNlciBjb2RlLgorCURPTkUKKworLSBET00gc3VwcG9ydCwgaW5zdGVhZCBvZiB1c2luZyBhIHByb3ByaWV0YXJ5IGluIG1lbW9yeQorICBmb3JtYXQgZm9yIHRoZSBkb2N1bWVudCByZXByZXNlbnRhdGlvbiwgdGhlIHBhcnNlciBzaG91bGQKKyAgY2FsbCBhIERPTSBBUEkgdG8gYWN0dWFsbHkgYnVpbGQgdGhlIHJlc3VsdGluZyBkb2N1bWVudC4KKyAgVGhlbiB0aGUgcGFyc2VyIGJlY29tZXMgaW5kZXBlbmRlbnQgb2YgdGhlIGluLW1lbW9yeQorICByZXByZXNlbnRhdGlvbiBvZiB0aGUgZG9jdW1lbnQuIEV2ZW4gYmV0dGVyIHVzaW5nIFJQQydzCisgIHRoZSBwYXJzZXIgY2FuIGFjdHVhbGx5IGJ1aWxkIHRoZSBkb2N1bWVudCBpbiBhbm90aGVyCisgIHByb2dyYW0uCisgID0+IFdvcmsgc3RhcnRlZCwgbm93IHRoZSBpbnRlcm5hbCByZXByZXNlbnRhdGlvbiBpcyBieSBkZWZhdWx0CisgICAgIHZlcnkgbmVhciBhIGRpcmVjdCBET00gaW1wbGVtZW50YXRpb24uIFRoZSBET00gZ2x1ZSBpcyBpbXBsZW1lbnRlZAorICAgICBhcyBhIHNlcGFyYXRlIG1vZHVsZS4gU2VlIHRoZSBHTk9NRSBnZG9tZSBtb2R1bGUuCisKKy0gQysrIHN1cHBvcnQgOiBKb2huIEVocmVzbWFuIDxqZWhyZXNtYUBkc2cuaGFydmFyZC5lZHU+CistIFVwZGF0ZWQgY29kZSB0byBmb2xsb3cgbW9yZSByZWNlbnQgc3BlY3MsIGFkZGVkIGNvbXBhdGliaWxpdHkgZmxhZworLSBCZXR0ZXIgZXJyb3IgaGFuZGxpbmcsIHVzZSBhIGRlZGljYXRlZCwgb3ZlcnJpZGFibGUgZXJyb3IKKyAgaGFuZGxpbmcgZnVuY3Rpb24uCistIFN1cHBvcnQgZm9yIENEQVRBLgorLSBLZWVwIHRyYWNrIG9mIGxpbmUgbnVtYmVycyBmb3IgYmV0dGVyIGVycm9yIHJlcG9ydGluZy4KKy0gU3VwcG9ydCBmb3IgUEkgKFNBWCBvbmUpLgorLSBTdXBwb3J0IGZvciBDb21tZW50cyAoYmFkLCBzaG91bGQgYmUgaW4gQVNBUCwgdGhleSBhcmUgcGFyc2VkCisgIGJ1dCBub3Qgc3RvcmVkKSwgc2hvdWxkIGJlIGNvbmZpZ3VyYWJsZS4KKy0gSW1wcm92ZSB0aGUgc3VwcG9ydCBvZiBlbnRpdGllcyBvbiBzYXZlICgrU0FYKS4KKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9UT0RPX1NDSEVNQVMgYi9saWJ4bWwyL1RPRE9fU0NIRU1BUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNDVhNGVkCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9UT0RPX1NDSEVNQVMKQEAgLTAsMCArMSwzMSBAQAorLSBpbXBsZW1lbnQgY291bnRlZCB0cmFuc2l0aW9ucyBhdCB0aGUgYXV0b21hdGEgbGV2ZWwKKworLSBVbmljb2RlOgorICArIHVwZ3JhZGUgdG8gMy4yCisgICsgaW1wcm92ZSB0aGUgcHl0aG9uIHNjcmlwdCB0byBnZW5lcmF0ZSBiZXR0ZXIgdGVzdAorICAgIGV4cHJlc3Npb25zIHRvIGNoZWNrIHRoZSBsaXN0IG9mIHJhbmdlcy4KKworLSBJbXBsZW1lbnQgdGhlIGludGVyZmFjZSBhdCB0aGUgU0FYIGxldmVsCisKKy0gSW1wbGVtZW50IHRoZSBtaXNzaW5nIHBhcnRzIGluIHRoZSBTdHJ1Y3R1cmUgcGFydAorICAgKyBhbGwgY29udGVudCBtb2RlbAorICAgKyBlbnVtZXJhdGlvbnMKKyAgICsgY291bnRsZXNzIG90aGVycyBjLmYuIHRoZSBUT0RPIHNjYXR0ZXJlZCBpbiB0aGUgY29kZQorCistIENvbXBsZXRlIHRoZSBCdWlsdC1JbiBkYXRhdHlwZSBjb2xsZWN0aW9ucyBhbmQgRmFjZXRzIGltcGxlbWVudGF0aW9ucworCistIFJlZ3Jlc3Npb24gdGVzdHMgYmFzZWQgb24KKyAgKyB0aGUgcHJpbWVyOgorICAgIGh0dHA6Ly93d3cudzMub3JnL1RSL3htbHNjaGVtYS0wLworICArIHRoZSBTY2hlbWFzIFRlc3QgQ29sbGVjdGlvbjoKKyAgICBodHRwOi8vd3d3LnczLm9yZy8yMDAxLzA1L3htbHNjaGVtYS10ZXN0LWNvbGxlY3Rpb24vCisgICsgYXJjaGl2ZXMgb2YgdGhlIHNjaGVtYXMtZGV2IGxpc3QKKworLSBJbnRlZ3JpdHkgY29uc3RyYWludHM6CisgICsgd2hhdCdzIHRoYXQgPyBIb3cgbmVlZCB0byByZWFkIGFib3V0IGl0CisKKy0gImZvcm1hbCIgY2hlY2tpbmcsIGkuZS4gZ28gdGhyb3VnaCB0aGUgZnVsbCBTdHJ1Y3R1cmUgc3BlYyBhbmQKKyAgYmluZCBjb2RlIGFuZCBhc3NvY2lhdGVkIHBhcnRzIG9mIHRoZSBTY2hlbWFzIHNwZWMKKworLSBnbyB0aG91Z2ggdGhlIGVycmF0YXMKKyAgaHR0cDovL3d3dy53My5vcmcvMjAwMS8wNS94bWxzY2hlbWEtZXJyYXRhCmRpZmYgLS1naXQgYS9saWJ4bWwyL1Z4V29ya3MvTWFrZWZpbGUgYi9saWJ4bWwyL1Z4V29ya3MvTWFrZWZpbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTFmNjkwMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvVnhXb3Jrcy9NYWtlZmlsZQpAQCAtMCwwICsxLDY4IEBACisjIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCisjIw0KKyMjLS0gRmlsZW5hbWU6IE1ha2VmaWxlDQorIyMNCisjIy0tICREYXRlOiAyMDA4LzAyLzIzIDAyOjU2OjE3ICQNCisjIy0tICRSZXZpc2lvbjogMS4yICQNCisjIy0tICROYW1lOiAgJA0KKyMjDQorIyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorDQorTkFNRSA9IHhtbDINCitUT09MX0ZBTUlMWT1nbnUNCisNCitpbmNsdWRlICQoV0lORF9VU1IpL3Rvb2wvZ251L21ha2UuJChWWENQVSkNCisNCitGTEFHUyA9IC1XYWxsIC1nIC1Jc3JjIC1Jc3JjL2luY2x1ZGUgLURfUkVFTlRSQU5UPTENCisjRkxBR1MgPSAtV2FsbCAtTzIgLUlzcmMgLUlzcmMvaW5jbHVkZSAtRF9SRUVOVFJBTlQ9MQ0KKw0KK0ZMQUdTICs9ICQoREVGSU5FX0NDKSAkKENDX0FSQ0hfU1BFQykgLU1EIC1NUCAtRF9WWF9DUFU9X1ZYXyQoQ1BVKSAtRF9WWF9UT09MX0ZBTUlMWT1nbnUgLURfVlhfVE9PTD0kKFRPT0wpDQoraWZlcSAoJChWWFRZUEUpLFJUUCkNCitGTEFHUyArPSAtbXJ0cCAtZnBpYyAtSSQoV0lORF9VU1IpL2ggLUkkKFdJTkRfVVNSKS9oL3dybi9jb3JlaXANCitlbHNlDQorRkxBR1MgKz0gLURfV1JTX0tFUk5FTCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwDQorZW5kaWYNCisNCitpZmVxICgkKFZYVFlQRSksUlRQKQ0KK2lmZXEgKCQoQ1BVKSxTSDMyKQ0KK0xJQl9MREZMQUdTICs9IC1MJChXSU5EX1VTUikvbGliL3NoL1NIMzIvY29tbW9ubGUvUElDDQorZWxzZQ0KK0xJQl9MREZMQUdTICs9ICQoTERfTElOS19QQVRIX0FURU5EKSAkKExEX1BBUlRJQUxfTEFTVF9GTEFHUykNCitlbmRpZg0KK2VuZGlmDQorDQorT0JKUyA9CWMxNG4ubyBjYXRhbG9nLm8gY2h2YWxpZC5vIFwNCisJCWRlYnVnWE1MLm8gZGljdC5vIERPQ0JwYXJzZXIubyBcDQorCQllbmNvZGluZy5vIGVudGl0aWVzLm8gZXJyb3IubyBcDQorCQlnbG9iYWxzLm8gXA0KKwkJaGFzaC5vIFwNCisJCWxlZ2FjeS5vIGxpc3QubyBcDQorCQlwYXJzZXIubyBwYXJzZXJJbnRlcm5hbHMubyBwYXR0ZXJuLm8gXA0KKwkJcmVsYXhuZy5vIFwNCisJCVNBWDIubyBTQVgubyBzY2hlbWF0cm9uLm8gXA0KKwkJdGhyZWFkcy5vIHRyZWUubyBcDQorCQl1cmkubyBcDQorCQl2YWxpZC5vIFwNCisJCXhpbmNsdWRlLm8geGxpbmsubyB4bWxjYXRhbG9nLm8geG1sSU8ubyBcDQorCQl4bWxtZW1vcnkubyB4bWxtb2R1bGUubyB4bWxyZWFkZXIubyB4bWxyZWdleHAubyBcDQorCQl4bWxzYXZlLm8geG1sc2NoZW1hcy5vIHhtbHNjaGVtYXN0eXBlcy5vIHhtbHN0cmluZy5vIFwNCisJCXhtbHVuaWNvZGUubyB4bWx3cml0ZXIubyB4cGF0aC5vIHhwb2ludGVyLm8NCisNCithbGwgOiBsaWIkKE5BTUUpLnNvDQorDQoraW5pdCA6IA0KKwlta2RpciAtcCBvYmpzDQorCQ0KKy5QSE9OWSA6IGxpYiQoTkFNRSkuc28NCisJDQorbGliJChOQU1FKS5zbyA6IGluaXQgJChwYXRzdWJzdCAlLm8sIG9ianMvJS5vLCAkKE9CSlMpKQ0KKwkkKENDKSAkKEZMQUdTKSAkKExJQl9MREZMQUdTKSAtc2hhcmVkIC1vICRAICQocGF0c3Vic3QgJS5vLCBvYmpzLyUubywgJChPQkpTKSkNCisJDQorKE5BTUUpLm91dCA6IGluaXQgJChwYXRzdWJzdCAlLm8sIG9ianMvJS5vLCAkKE9CSlMpKQ0KKwkkKENDKSAkKEZMQUdTKSAtbyAkQCAkKHBhdHN1YnN0ICUubywgb2Jqcy8lLm8sICQoT0JKUykpDQorDQorb2Jqcy8lLm86IHNyYy8lLmMNCisJICQoQ0MpICQoRkxBR1MpIC1vICRAIC1jICQ8DQorCQ0KK2NsZWFuOg0KKwlybSAtZlIgKi5zbyBvYmpzDQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9WeFdvcmtzL1JFQURNRSBiL2xpYnhtbDIvVnhXb3Jrcy9SRUFETUUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjc1NjY3NwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvVnhXb3Jrcy9SRUFETUUKQEAgLTAsMCArMSw4NiBAQAorICAgICAgICAgICAgIGxpYnhtbDIgb24gVnhXb3JrcyA2LjQrCisKK0hlcmUgYXJlIG15IGluc3RydWN0aW9ucyBmb3IgYnVpbGRpbmcgb24gVnhXb3Jrcy4uLi4gSSBhbSB2ZXJ5IGFzaGFtZWQgb2YKK2hvdyBJIGRpZCB0aGlzIGJlY2F1c2UgaXQgaXMgYSBjb21wbGV0ZSBoYWNrLCBidXQgaXQgd29ya3MgZ3JlYXQsIHNvIEkKK2Nhbid0IGNvbXBsYWluIHRvbyBtdWNoLgorCitHZW5lcmFsIEluZm9ybWF0aW9uCisKKzEuIFRoZSBvbmx5IHdheSB0byBidWlsZCBmb3IgVnhXb3JrcyBpcyB0byBjcm9zcyBjb21waWxlIGZyb20gYSB3aW5kb3dzIG9yCitsaW51eCBzeXN0ZW0uICBXZSB1c2UgYSBSZWRIYXQgNS4xIHdvcmtzdGF0aW9uIHN5c3RlbSBhcyBvdXIgYnVpbGQKK2Vudmlyb25tZW50LgorCisyLiBWeFdvcmtzIDYuWCBoYXMgdHdvIG1haW4gdHlwZXMgb2YgZXhlY3V0YWJsZSwgREtNcyAoZHluYW1pYyBrZXJuZWwKK21vZHVsZXMpLCBhbmQgUlRQcyAocmVhbC10aW1lIHByb2Nlc3NlcykuICBLZXJuZWwgbW9kdWxlcyBhcmUgdGhlIGJyZWFkCithbmQgYnV0dGVyIG9mIFZ4V29ya3MsIGJ1dCB0aGV5IGxvb2sgbm90aGluZyBsaWtlIHByb2Nlc3Nlcy90aHJlYWRzIGluCitub3JtYWwgVU5JWC9XaW5kb3dzIHN5c3RlbXMuICBSVFBzIGFyZSBtb3JlIGxpa2UgcHJvY2Vzc2VzIHRoYXQgaGF2ZQorbWVtb3J5IHByb3RlY3Rpb24sIHRocmVhZHMsIGV0Yy4gIFZ4V29ya3MgNi5YIGFsc28gaW50cm9kdWNlcyBzb21lIGxldmVsCitvZiBQT1NJWCBjb25mb3JtYW5jZSB0byB0aGVpciBlbnZpcm9ubWVudC4gIFRoZSBQT1NJWCBjb25mb3JtYW5jZSB3YXMgdGhlCitrZXkgZm9yIHVzIHRvIGJlIGFibGUgdG8gcG9ydCBsaWJ4bWwyLiAgV2Ugc3VwcG9ydCBhY2Nlc3NpbmcgbGlieG1sMiBmcm9tCitib3RoIERLTXMgYW5kIFJUUHMuCisKKzMuIFRoZXJlIGFyZSAyIGNvbXBpbGVycyBmb3IgVnhXb3JrcywgdGhlIFdpbmRSaXZlciBjb21waWxlciwgYW5kIGEgcG9ydAorb2YgdGhlIEdOVSB0b29sY2hhaW4sIHdlIGhhdmUgb25seSB0ZXN0ZWQgYW5kIGJ1aWx0IHdpdGggdGhlIEdOVQordG9vbGNoYWluLgorCitIb3cgVG8gQnVpbGQKKworMS4gUnVuIHRoZSBjb25maWd1cmUgb24geW91ciBuYXRpdmUgbGludXggc3lzdGVtICh0aGlzIGlzIHRoZSBjaGVlc3kKK2hhY2spLiAgU2luY2UgdGhlIFZ4V29ya3MgR05VIHRvb2xjaGFpbiBpcyB2ZXJ5IGNsb3NlIGluIHZlcnNpb24gdG8gdGhlCitvbmUgaW4gcmVkIGhhdCwgaXQgZ2VuZXJhdGVzIGEgZ29vZCBjb25maWcuaCBmaWxlLiAgV2UgY29uZmlndXJlZCBsaWJ4bWwyCit3aXRoIHRoZSBmb2xsb3dpbmcgdG8ga2VlcCB0aGUgc2l6ZSBkb3duLCAoYnV0IHdlIGhhdmUgZG9uZSBiYXNpYyB0ZXN0aW5nCit3aXRoIGV2ZXJ5dGhpbmcgY29tcGlsZWQgaW4pLgorCisuL2NvbmZpZ3VyZSAtLXdpdGgtbWluaW11bSAtLXdpdGgtcmVhZGVyIC0td2l0aC13cml0ZXIgLS13aXRoLXJlZ2V4cHMKKy0td2l0aC10aHJlYWRzIC0td2l0aC10aHJlYWQtYWxsb2MKKworMi4gUmVuYW1lIHRoZSBsaWJ4bWwyIGZvbGRlciB0byAic3JjIi4gIFRoaXMgc3RlcCBpcyByZXF1aXJlZCBmb3Igb3VyCityZXBsYWNlbWVudCBtYWtlZmlsZSB0byB3b3JrLgorCiszLiBSdW4gdGhlIHJlcGxhY2VtZW50IG1ha2VmaWxlLiAgSSB3cm90ZSBhIG5ldyBtYWtlZmlsZSB0aGF0IHNldHMgYWxsIHRoZQorcHJvcGVyIHZ4d29ya3MgZGVmaW5lcyBhbmQgdXNlcyB0aGUgY29ycmVjdCBjb21waWxlcnMuICBUaGUgdHdvIGRlZmluZXMgb24KK3RoZSBtYWtlIGNvbW1hbmQgbGluZSBhcmUgdG8gdGVsbCBpdCB3aGljaCBWeFdvcmtzIFRhcmdldCAoU0gzLjIgbGl0dGxlCitlbmRpYW4pLCBhbmQgdGhlIGV4ZWN1dGFibGUgdHlwZS4gIFdlIGhhdmUgdGVzdGVkIHRoaXMgY29kZSBvbiBQRU5USVVNMmdudQorYW5kIFNIMzJnbnVsZS4KKworVGhpcyBtYWtlZmlsZSBjcmVhdGVzIGEgc2hhcmVkIGxpYnJhcnkgdGhhdCBydW5zIG9uIFZ4V29ya3M6IChsaWJ4bWwyLnNvKQorbWFrZSAtZiBNYWtlZmlsZS52eHdvcmtzIGNsZWFuIGFsbCBWWENQVT1TSDMyZ251bGUgVlhUWVBFPVJUUAorCitUaGlzIG1ha2VmaWxlIGNyZWF0ZXMgYSBrZXJuZWwgbW9kdWxlIHRoYXQgcnVucyBvbiBWeFdvcmtzOiAoeG1sMi5vdXQpCittYWtlIC1mIE1ha2VmaWxlLnZ4d29ya3MgY2xlYW4gYWxsIFZYQ1BVPVNIMzJnbnVsZSBWWFRZUEU9REtNCisKK0ltcG9ydGFudCBOb3RlcworCisxLiBUaGVyZSBhcmUgc2V2ZXJhbCB3YXlzIHRoYXQgdGhpcyBwcm9jZXNzIGNvdWxkIGJlIGltcHJvdmVkLCBidXQgYXQgdGhlCitlbmQgb2YgdGhlIGRheSwgd2UgbWFrZSBwcm9kdWN0cywgbm90IHBvcnQgbGlicmFyaWVzLCBzbyB3ZSBkaWQgYSBtZWV0cworbWluaW11bSBmb3Igb3VyIG5lZWRzLgorCisyLiBWeFdvcmtzIGlzIHRoZSBkZXZpbCwgZ2l2ZSBtZSBlbWJlZGRlZCBsaW51eCBldmVyeSBkYXkuCisKKzMuIE5vIG1hdHRlciB3aGF0IEkgdHJpZWQsIEkgY291bGRuJ3QgZ2V0IHRoZSBjb25maWd1cmUgdG8gcGljayB1cCB0aGUKK1Z4V29ya3MgdG9vbGNoYWluLCBhbmQgaW4gbXkgaW52ZXN0aWdhdGlvbiwgaXQgaGFzIHNvbWV0aGluZyB0byBkbyB3aXRoCithdXRvbWFrZS9hdXRvY29uZiwgbm90IGFueSBpbmRpdmlkdWFsIHBhY2thZ2UuICBWeFdvcmtzIGRvZXNuJ3QgcGxheSBieQordGhlIG5vcm1hbCBydWxlcyBmb3IgYnVpbGRpbmcgdG9vbGNoYWlucy4KKworNC4gVGhlIFBJQyBmbGFnIGluIFZ4V29ya3MgKGVzcGVjaWFsbHkgZm9yIFNIIHByb2Nlc3NvcnMpIGlzIHZlcnkKK2ltcG9ydGFudCwgYW5kIHZlcnkgdHJvdWJsZXNvbWUuICBPbiBsaW51eCwgeW91IGNhbiBsaWJlcmFsbHkgdXNlIHRoZSBQSUMKK2ZsYWcgd2hlbiBjb21waWxpbmcgYW5kIHRoZSBjb21waWxlci9saW5rZXIgd2lsbCBpZ25vcmUgaXQgYXMgbmVlZGVkLCBvbgorVnhXb3JrcyBpZiBtdXN0IGFsd2F5cyBiZSBvbiBmb3Igc2hhcmVkIGxpYnJhcmllcywgYW5kIGFsd2F5cyBiZSBvZmYgZm9yCitzdGF0aWMgbGlicmFyaWVzIGFuZCBleGVjdXRhYmxlcy4KKworNS4gSWYgYW55b25lIHdhbnRzIHRvIHdvcmsgb24gYSBiZXR0ZXIgd2F5IHRvIGRvIHRoZSBidWlsZCBvZiBsaWJ4bWwyIGZvcgorVnhXb3JrcywgSSdtIGhhcHB5IHRvIGhlbHAgYXMgbXVjaCBhcyBJIGNhbiwgYnV0IEknbSBub3QgbG9va2luZyB0bworc3VwcG9ydCBpdCBteXNlbGYuCisKK0F0dGFjaGVkIEZpbGVzCisKKzEuIFRvIHVzZSBteSBNYWtlZmlsZSBmb3Igdnh3b3JrcywgeW91IHNob3VsZCBlbnRlciB0aGUgdnh3b3JrcworZW52aXJvbm1lbnQgKC9vcHQvd2luZHJpdmVyL3dyZW52LmxpbnV4IC1wIHZ4d29ya3MtNi40IGZvciBtZSkuCisyLiBSdW46IGJ1aWxkLnNoIGxpYnhtbDItMi42LjMyIFNIMzJnbnVsZSBSVFAgKHdoZXJlIHlvdSBoYXZlCitsaWJ4bWwyLTIuNi4zMi50YXIuZ3ogYW5kIHRoZSBNYWtlZmlsZSBpbiB0aGUgc2FtZSBkaXJlY3RvcnkgYXMgdGhlIHNjcmlwdAorZmlsZSkuCisKK1RoYW5rcywKKworSmltIFdlcnQgSnIuCitKV2VydEBJTFNUZWNobm9sb2d5LmNvbQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9WeFdvcmtzL2J1aWxkLnNoIGIvbGlieG1sMi9WeFdvcmtzL2J1aWxkLnNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMxOTUwNjIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL1Z4V29ya3MvYnVpbGQuc2gKQEAgLTAsMCArMSw4NSBAQAorTElCWE1MMj0kMQ0KK1RBUkdFVENQVT0kMg0KK1RBUkdFVFRZUEU9JDMNCisNCitpZiBbIC16ICIkMiIgXTsgdGhlbg0KKwlUQVJHRVRDUFU9U0lNUEVOVElVTWdudQ0KK2ZpDQorDQoraWYgWyAteiAiJDMiIF07IHRoZW4NCisJVEFSR0VUVFlQRT1SVFANCitmaQ0KKw0KK2VjaG8gIkxJQlhNTDIgVmVyc2lvbjogICAgICR7TElCWE1MMn0iDQorZWNobyAiTElCWE1MMiBUYXJnZXQgQ1BVOiAgJHtUQVJHRVRDUFV9Ig0KK2VjaG8gIkxJQlhNTDIgVGFyZ2V0IFR5cGU6ICR7VEFSR0VUVFlQRX0iDQorDQorcm0gLWZSIHNyYw0KK3RhciB4dnpmICR7TElCWE1MMn0udGFyLmd6DQorbXYgJHtMSUJYTUwyfSBzcmMNCitjZCBzcmMNCisNCisuL2NvbmZpZ3VyZSAtLXdpdGgtbWluaW11bSAtLXdpdGgtcmVhZGVyIC0td2l0aC13cml0ZXIgLS13aXRoLXJlZ2V4cHMgLS13aXRoLXRocmVhZHMgLS13aXRoLXRocmVhZC1hbGxvYw0KKw0KK2ZpbmQgLiAtbmFtZSAnKi5pbicgLWV4ZWMgcm0gLWZSIHt9ICsNCitmaW5kIC4gLW5hbWUgJyouYW0nIC1leGVjIHJtIC1mUiB7fSArDQorcm0gLWZSICoubTQNCitybSAtZlIgKi5wYw0KK3JtIC1mUiAqLnBsDQorcm0gLWZSICoucHkNCitybSAtZlIgKi5zcGVjDQorcm0gLWZSIC5kZXBzDQorcm0gLWZSIEFVVEhPUlMNCitybSAtZlIgYmFrZWZpbGUNCitybSAtZlIgQ2hhbmdlTG9nDQorcm0gLWZSIGNvbmZpZy5ndWVzcw0KK3JtIC1mUiBjb25maWcubG9nDQorcm0gLWZSIGNvbmZpZy5zdGF0dXMNCitybSAtZlIgY29uZmlnLnN0dWINCitybSAtZlIgY29uZmlnLnN1Yg0KK3JtIC1mUiBjb25maWd1cmUNCitybSAtZlIgQ09QWUlORw0KK3JtIC1mUiBDb3B5cmlnaHQNCitybSAtZlIgZGVwY29tcA0KK3JtIC1mUiBkb2MNCitybSAtZlIgZXhhbXBsZQ0KK3JtIC1mUiBJTlNUQUxMDQorcm0gLWZSIGluc3RhbGwtc2gNCitybSAtZlIgbGlieG1sLjMNCitybSAtZlIgbHRtYWluLnNoDQorcm0gLWZSIE1ha2VmaWxlDQorcm0gLWZSIE1ha2VmaWxlLnRlc3RzDQorcm0gLWZSIG1hY29zDQorcm0gLWZSIG1raW5zdGFsbGRpcnMNCitybSAtZlIgbWlzc2luZw0KK3JtIC1mUiBuYW5vZnRwLmMNCitybSAtZlIgbmFub2h0dHAuYw0KK3JtIC1mUiBORVdTDQorcm0gLWZSIHB5dGhvbg0KK3JtIC1mUiBSRUFETUUNCitybSAtZlIgUkVBRE1FLnRlc3RzDQorcm0gLWZSIHJlZ3Jlc3Npb25zLnhtbA0KK3JtIC1mUiByZXN1bHQNCitybSAtZlIgcnVuc3VpdGUuYw0KK3JtIC1mUiBydW50ZXN0LmMNCitybSAtZlIgdGVzdA0KK3JtIC1mUiB0ZXN0Ki5jDQorcm0gLWZSIFRPRE8qDQorcm0gLWZSIHRyaW8qDQorcm0gLWZSIHZtcw0KK3JtIC1mUiB3aW4zMg0KK3JtIC1mUiB4bWwyKg0KK3JtIC1mUiB4bWxsaW50LmMNCitybSAtZlIgeHN0Yw0KKw0KK2NkIC4uDQorDQorbWFrZSBjbGVhbiBhbGwgVlhDUFU9JHtUQVJHRVRDUFV9IFZYVFlQRT0ke1RBUkdFVFRZUEV9DQorDQoraWYgWyAiJHtUQVJHRVRUWVBFfSIgPSAiUlRQIiBdOyB0aGVuDQorCWNwIGxpYnhtbDIuc28gLi4vLi4vbGliLy4NCitlbHNlDQorCWNwIHhtbDIub3V0IC4uLy4uL2Jpbi8uDQorZmkNCisNCitjcCAtUiBzcmMvaW5jbHVkZS9saWJ4bWwgLi4vLi4vaW5jbHVkZS8uClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9hY2luY2x1ZGUubTQgYi9saWJ4bWwyL2FjaW5jbHVkZS5tNApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YWQ4NjMwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9hY2luY2x1ZGUubTQKQEAgLTAsMCArMSwyOCBAQAorZG5sIExpa2UgQUNfVFJZX0VWQUwgYnV0IGFsc28gZXJyb3JzIG91dCBpZiB0aGUgY29tcGlsZXIgZ2VuZXJhdGVzCitkbmwgX2FueV8gb3V0cHV0LiBTb21lIGNvbXBpbGVycyBtaWdodCBpc3N1ZSB3YXJuaW5ncyB3aGljaCB3ZSB3YW50CitkbmwgdG8gY2F0Y2guCitBQ19ERUZVTihbQUNfVFJZX0VWQUwyXSwKK1t7IChldmFsIGVjaG8gY29uZmlndXJlOl9fb2xpbmVfXzogXCJbJF0kMVwiKSAxPiZBU19NRVNTQUdFX0xPR19GRDsgZG5sCisoZXZhbCBbJF0kMSkgMj4mQVNfTUVTU0FHRV9MT0dfRkQ7IF9vdXQ9YGV2YWwgWyRdJDEgMj4mMWAgJiYgdGVzdCAieCRfb3V0IiA9IHg7IH1dKQorCitkbmwgTGlrZSBBQ19UUllfQ09NUElMRSBidXQgY2FsbHMgQUNfVFJZX0VWQUwyIGluc3RlYWQgb2YgQUNfVFJZX0VWQUwKK0FDX0RFRlVOKFtBQ19UUllfQ09NUElMRTJdLAorW2NhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKK1sjXWxpbmUgX19vbGluZV9fICJjb25maWd1cmUiCisjaW5jbHVkZSAiY29uZmRlZnMuaCIKK1skMV0KK2ludCBtYWluKHZvaWQpIHsKK1skMl0KKzsgcmV0dXJuIDA7IH0KK0VPRgoraWYgQUNfVFJZX0VWQUwyKGFjX2NvbXBpbGUpOyB0aGVuCisgIGlmZWxzZShbJDNdLCAsIDosIFtybSAtcmYgY29uZnRlc3QqCisgICQzXSkKK2Vsc2UKKyAgZWNobyAiY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JkFTX01FU1NBR0VfTE9HX0ZECisgIGNhdCBjb25mdGVzdC4kYWNfZXh0ID4mQVNfTUVTU0FHRV9MT0dfRkQKK2lmZWxzZShbJDRdLCAsICwgWyAgcm0gLXJmIGNvbmZ0ZXN0KgorICAkNAorXSlkbmwKK2ZpCitybSAtZiBjb25mdGVzdCpdKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9hdXRvZ2VuLnNoIGIvbGlieG1sMi9hdXRvZ2VuLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjhiNDdlYTUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2F1dG9nZW4uc2gKQEAgLTAsMCArMSw4MSBAQAorIyEvYmluL3NoCisjIFJ1biB0aGlzIHRvIGdlbmVyYXRlIGFsbCB0aGUgaW5pdGlhbCBtYWtlZmlsZXMsIGV0Yy4KKworc3JjZGlyPWBkaXJuYW1lICQwYAordGVzdCAteiAiJHNyY2RpciIgJiYgc3JjZGlyPS4gCisKK1RIRURJUj1gcHdkYAorY2QgJHNyY2RpcgorRElFPTAKKworKGF1dG9jb25mIC0tdmVyc2lvbikgPCAvZGV2L251bGwgPiAvZGV2L251bGwgMj4mMSB8fCB7CisJZWNobworCWVjaG8gIllvdSBtdXN0IGhhdmUgYXV0b2NvbmYgaW5zdGFsbGVkIHRvIGNvbXBpbGUgbGlieG1sLiIKKwllY2hvICJEb3dubG9hZCB0aGUgYXBwcm9wcmlhdGUgcGFja2FnZSBmb3IgeW91ciBkaXN0cmlidXRpb24sIgorCWVjaG8gIm9yIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvYXV0b2NvbmYiCisJRElFPTEKK30KKworKGxpYnRvb2xpemUgLS12ZXJzaW9uKSA8IC9kZXYvbnVsbCA+IC9kZXYvbnVsbCAyPiYxIHx8IHsKKwllY2hvCisJZWNobyAiWW91IG11c3QgaGF2ZSBsaWJ0b29sIGluc3RhbGxlZCB0byBjb21waWxlIGxpYnhtbC4iCisJZWNobyAiRG93bmxvYWQgdGhlIGFwcHJvcHJpYXRlIHBhY2thZ2UgZm9yIHlvdXIgZGlzdHJpYnV0aW9uLCIKKwllY2hvICJvciBzZWUgaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2xpYnRvb2wiCisJRElFPTEKK30KKworKGF1dG9tYWtlIC0tdmVyc2lvbikgPCAvZGV2L251bGwgPiAvZGV2L251bGwgMj4mMSB8fCB7CisJZWNobworCURJRT0xCisJZWNobyAiWW91IG11c3QgaGF2ZSBhdXRvbWFrZSBpbnN0YWxsZWQgdG8gY29tcGlsZSBsaWJ4bWwuIgorCWVjaG8gIkRvd25sb2FkIHRoZSBhcHByb3ByaWF0ZSBwYWNrYWdlIGZvciB5b3VyIGRpc3RyaWJ1dGlvbiwiCisJZWNobyAib3Igc2VlIGh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9hdXRvbWFrZSIKK30KKworaWYgdGVzdCAiJERJRSIgLWVxIDE7IHRoZW4KKwlleGl0IDEKK2ZpCisKK3Rlc3QgLWYgZW50aXRpZXMuYyB8fCB7CisJZWNobyAiWW91IG11c3QgcnVuIHRoaXMgc2NyaXB0IGluIHRoZSB0b3AtbGV2ZWwgbGlieG1sIGRpcmVjdG9yeSIKKwlleGl0IDEKK30KKworRVhUUkFfQVJHUz0KK2lmIHRlc3QgIngkMSIgPSAieC0tc3lzdGVtIjsgdGhlbgorICAgIHNoaWZ0CisgICAgcHJlZml4PS91c3IKKyAgICBsaWJkaXI9JHByZWZpeC9saWIKKyAgICBzeXNjb25mZGlyPS9ldGMKKyAgICBsb2NhbHN0YXRlZGlyPS92YXIKKyAgICBpZiBbIC1kIC91c3IvbGliNjQgXTsgdGhlbgorICAgICAgbGliZGlyPSRwcmVmaXgvbGliNjQKKyAgICBmaQorICAgIEVYVFJBX0FSR1M9Ii0tcHJlZml4PSRwcmVmaXggLS1zeXNjb25mZGlyPSRzeXNjb25mZGlyIC0tbG9jYWxzdGF0ZWRpcj0kbG9jYWxzdGF0ZWRpciAtLWxpYmRpcj0kbGliZGlyIgorICAgIGVjaG8gIlJ1bm5pbmcgLi9jb25maWd1cmUgd2l0aCAkRVhUUkFfQVJHUyAkQCIKK2Vsc2UKKyAgICBpZiB0ZXN0IC16ICIkTk9DT05GSUdVUkUiICYmIHRlc3QgLXogIiQqIjsgdGhlbgorICAgICAgICBlY2hvICJJIGFtIGdvaW5nIHRvIHJ1biAuL2NvbmZpZ3VyZSB3aXRoIG5vIGFyZ3VtZW50cyAtIGlmIHlvdSB3aXNoICIKKyAgICAgICAgZWNobyAidG8gcGFzcyBhbnkgdG8gaXQsIHBsZWFzZSBzcGVjaWZ5IHRoZW0gb24gdGhlICQwIGNvbW1hbmQgbGluZS4iCisgICAgZmkKK2ZpCisKK2lmIFsgISAtZCAkc3JjZGlyL200IF07IHRoZW4KKyAgICAgICAgbWtkaXIgJHNyY2Rpci9tNAorZmkKKworIyBSZXBsYWNlZCBieSBhdXRvcmVjb25mIGJlbG93CithdXRvcmVjb25mIC1pZiAtV2FsbAorCitjZCAkVEhFRElSCisKK2lmIHRlc3QgeCRPQkpfRElSICE9IHg7IHRoZW4KKyAgICBta2RpciAtcCAiJE9CSl9ESVIiCisgICAgY2QgIiRPQkpfRElSIgorZmkKKworaWYgdGVzdCAteiAiJE5PQ09ORklHVVJFIjsgdGhlbgorICAgICRzcmNkaXIvY29uZmlndXJlICRFWFRSQV9BUkdTICIkQCIKKyAgICBlY2hvCisgICAgZWNobyAiTm93IHR5cGUgJ21ha2UnIHRvIGNvbXBpbGUgbGlieG1sMi4iCitmaQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9iYWtlZmlsZS9CYWtlZmlsZXMuYmtnZW4gYi9saWJ4bWwyL2Jha2VmaWxlL0Jha2VmaWxlcy5ia2dlbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MzQyZGUzCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9iYWtlZmlsZS9CYWtlZmlsZXMuYmtnZW4KQEAgLTAsMCArMSwxNSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiA/Pg0KKzwhLS0gJElkJCAtLT4NCisNCis8YmFrZWZpbGUtZ2VuPg0KKyAgICANCisgICAgPGRpc2FibGUtZm9ybWF0cz5nbnUsZG1hcnMsY2J4X3VuaXgsY2J1aWxkZXJ4PC9kaXNhYmxlLWZvcm1hdHM+DQorICAgIDxpbnB1dD5saWJ4bWwyLmJrbDwvaW5wdXQ+DQorDQorICAgIDwhLS0gTGlzdCBvZiBvdXRwdXQgZm9ybWF0cyB0byBnZW5lcmF0ZTogLS0+DQorICAgIDxhZGQtZm9ybWF0cz4NCisgICAgICAgIGJvcmxhbmQsZG1hcnMsbWluZ3csbXN2Yyxtc3ZjNnByaix3YXRjb20sY2J1aWxkZXJ4LGNieF91bml4LGdudQ0KKyAgICA8L2FkZC1mb3JtYXRzPg0KKw0KKw0KKzwvYmFrZWZpbGUtZ2VuPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvYmFrZWZpbGUvUmVhZG1lLnR4dCBiL2xpYnhtbDIvYmFrZWZpbGUvUmVhZG1lLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45OGE5Y2E4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9iYWtlZmlsZS9SZWFkbWUudHh0CkBAIC0wLDAgKzEsOTIgQEAKKw0KKyBMSUJYTUwyIGJ1aWxkIHN5c3RlbSBmb3IgV2luMzIgUkVBRE1FDQorIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCisNCisgSW4gdGhpcyBmb2xkZXIgYXJlIHN0b3JlZCBhbGwgdGhlIGZpbGVzIHJlcXVpcmVkIHRvIGNvbXBpbGUgTElCWE1MMiB3aXRoIHdpbjMyIGNvbXBpbGVycy4NCisgQmFrZWZpbGUgKGh0dHA6Ly9iYWtlZmlsZS5zb3VyY2Vmb3JnZS5uZXQpIGlzIHVzZWQgYXMgbWFrZWZpbGUgZ2VuZXJhdG9yLg0KKw0KKyBTdXBwb3J0ZWQgbWFrZWZpbGVzOg0KKyAtIG1ha2VmaWxlLnZjICAgICBmb3IgTWljcm9zb2Z0IE5NQUtFDQorIC0gbWFrZWZpbGUuYmNjICAgIGZvciBCb3JsYW5kIE1BS0UNCisgLSBtYWtlZmlsZS53YXQgICAgZm9yIE9wZW5XYXRjb20gTUFLRQ0KKyAtIG1ha2VmaWxlLmdjYyAgICBmb3IgTWluR1cgTUlOR1czMi1NQUtFDQorIC0gYWxsIERTUCAmIERTVyAgIGZvciBNaWNyb3NvZnQgVmlzdWFsQysrIDYuMCAoY2FuIGJlIHVzZWQgYWxzbyB3aXRoIFZTLk5FVCBBRkFJSykNCisNCisgVGhpcyByZWFkbWUgaXMgb3JnYW5pemVkIGFzOg0KKyAgIDEuMCBIT1dUTyBjb21waWxlIExJQlhNTDIgdXNpbmcgbWFrZWZpbGVzICAgICA8LS0gZm9yIHVzZXJzIHdobyB3YW50IHRvIGJ1aWxkIHRoZSBsaWJyYXJ5IHVzaW5nICpjb21tYW5kLWxpbmUqDQorICAgMS4xIEhPV1RPIGNvbXBpbGUgTElCWE1MMiB1c2luZyBhbiBJREUgICAgICAgIDwtLSBmb3IgdXNlcnMgd2hvIHdhbnQgdG8gYnVpbGQgdGhlIGxpYnJhcnkgdXNpbmcgYW4gKklERSoNCisgICAxLjIgSE9XVE8gcmVnZW5lcmF0ZSBtYWtlZmlsZXMgZm9yIExJQlhNTDIgICAgPC0tIGZvciBsaWJ4bWwyIG1hbnRhaW5lcnMvZGV2ZWxvcGVycy9hZHZhbmNlZCB1c2Vycw0KKw0KKyBJZiB5b3UganVzdCB3YW50IHRvIGNvbXBpbGUgdGhlIGxpYnJhcnkgKGFuZCB0aGUgdGVzdCBwcm9ncmFtcykgeW91IHNob3VsZCBkZWZpbml0ZWx5IGF2b2lkIHRoZQ0KKyBzZWN0aW9uIDEuMSBhbmQgZm9jdXMgb24gdGhlIDEuMC4NCisgDQorDQorDQorDQorDQorDQorIDEuMCBIT1dUTyBjb21waWxlIExJQlhNTDIgdXNpbmcgbWFrZWZpbGVzDQorIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorIA0KKyBDaG9vc2UgeW91ciBwcmVmZXJyZWQgY29tcGlsZXIgYW1vbmcgdGhvc2UgYWN0dWFsbHkgc3VwcG9ydGVkIChzZWUgYWJvdmUpIGFuZCB0aGVuIHJ1bg0KKyANCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBteWNvbXBpbGVybWFrZSAtZm1ha2VmaWxlLm1ha2VmaWxlZXh0IFtvcHRpb25zXQ0KKw0KKyBmb3IgYSBmdWxsIGxpc3Qgb2YgdGhlIGF2YWlsYWJsZSBvcHRpb25zIHlvdSBzaG91bGQgb3BlbiB3aXRoIGEgbm90ZXBhZCAob3Igc29tZXRoaW5nIGxpa2UgdGhhdCkNCisgdGhlIG1ha2VmaWxlIHlvdSB3YW50IHRvIHVzZTsgYXQgdGhlIGJlZ2lubmluZyB5b3Ugc2hvdWxkIHNlZSBhIHNlY3Rpb24gd2hpY2ggc3RhcnRzIGFzOg0KKw0KKyAgICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorICAgICAjIFRoZXNlIGFyZSBjb25maWd1cmFibGUgb3B0aW9uczoNCisgICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKw0KKyBoZXJlIHlvdSBjYW4gZmluZCBhbGwgdGhlIG9wdGlvbnMgYWN0dWFsbHkgdXNlZCBieSB0aGF0IG1ha2VmaWxlLiANCisgVGhleSBjYW4gYmUgY3VzdG9taXplZCB3aGVuIHJ1bm5pbmcgdGhlIG1ha2VmaWxlIHdyaXRpbmcgc29tZXRoaW5nIGxpa2U6DQorDQorIG5tYWtlIC1mbWFrZWZpbGUudmMgQlVJTEQ9cmVsZWFzZQ0KKyBtaW5ndzMyLW1ha2UgLWZtYWtlZmlsZS5nY2MgQlVJTEQ9ZGVidWcgSUNPTlZfRElSPWM6XG15aWNvbnYNCisNCisgb3IgdGhleSBjYW4gYmUgcGVybWFuZW50bHkgY2hhbmdlZCBtb2RpZnlpbmcgdGhlIG1ha2VmaWxlLg0KKyBUaGF0J3MgYWxsOiBmb3IgYW55IHByb2JsZW0vY29tcGlsZS1lcnJvci9zdWdnZXN0aW9uLCB3cml0ZSB0byANCisgZnJtQHVzZXJzLnNvdXJjZWZvcmdlLm5ldCB3aXRoIHRoZSB3b3JkICJsaWJ4bWwyIiBpbiB0aGUgc3ViamVjdC4NCisNCisNCisNCisNCisNCisgMS4xIEhPV1RPIGNvbXBpbGUgTElCWE1MMiB1c2luZyBhbiBJREUNCisgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCisgDQorIEFjdHVhbGx5IG9ubHkgdGhlIE1pY3Jvc29mdCBWaXN1YWxDKysgNi4wIHByb2plY3QgZmlsZXMgYXJlIGdlbmVyYXRlZC4NCisgSW4gZnV0dXJlIG90aGVyIEludGVncmF0ZWQgRGV2ZWxvcG1lbnQgRW52aXJvbm1lbnRzIChJREVzKSB3aWxsIGJlIHN1cHBvcnRlZCBhcyB3ZWxsLg0KKyANCisgV2l0aCBNU1ZDKysgNi4wLCB5b3Ugc2hvdWxkIG9wZW4gdGhlIERTVyBmaWxlIGFuZCB0aGVuIHNldCBhcyB0aGUgYWN0aXZlIHByb2plY3QgdGhlDQorICJsaWJ4bWwyIiBwcm9qZWN0LCBpZiB5b3Ugd2FudCB0byBidWlsZCB0aGUgbGlicmFyeSBvciBvbmUgb2YgdGhlIHRlc3QgcHJvamVjdHMgaWYgeW91DQorIHdhbnQgdG8gcnVuIHRoZW0uDQorIFVzaW5nIHRoZSBjb21tYW5kICJCdWlsZC0+U2V0IEFjdGl2ZSBDb25maWd1cmF0aW9uIiB5b3UgY2FuIGNob29zZSBvbmUgb2YgdGhlIHByZWRlZmluZWQNCisgY29uZmlndXJhdGlvbi4NCisNCisNCisNCisNCisNCisgMS4yIEhPV1RPIHJlZ2VuZXJhdGUgbWFrZWZpbGVzIGZvciBMSUJYTUwyDQorIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKyANCisgQmUgc3VyZSB0byBoYXZlIGluc3RhbGxlZCBCYWtlZmlsZSAoaHR0cDovL2Jha2VmaWxlLnNvdXJjZWZvcmdlLm5ldCkuDQorIEp1c3QgcnVuIHRoZSAiYmFrZWZpbGVfZ2VuIiBjb21tYW5kIGluc2lkZSB0aGUgZm9sZGVyIGNvbnRhaW5pbmcgdGhlICJsaWJ4bWwyLmJrbCIgZmlsZS4NCisgTk9URTogaWYgeW91IHdhbnQgdG8gcmVtb3ZlIGFsbCB0aGUgbWFrZWZpbGVzLCB5b3UgY2FuIHVzZSB0aGUgImJha2VmaWxlX2dlbiAtYyIgY29tbWFuZC4NCisgDQorIFRoZSB0ZW1wbGF0ZSBmaWxlcyB1c2VkIHRvIGdlbmVyYXRlIGFsbCBtYWtlZmlsZXMgYXJlIG9ubHkgdHdvOg0KKyAtIGxpYnhtbDIuYmtsICAgICAgKHRoZSBtYWluIG9uZSkNCisgLSBCYWtlZmlsZXMuYmtnZW4NCisgQWxsIHRoZSBvdGhlciBmaWxlcyBjYW4gYmUgZGluYW1pY2FsbHkgcmVnZW5lcmF0ZWQuDQorDQorDQorDQorDQorDQorIElmIHlvdSBoYXZlIHByb2JsZW1zIHdpdGggdGhlIGNvbXBpbGF0aW9uIG9mIExJQlhNTDIgdW5kZXIgd2luZG93cyAodXNpbmcgb25lIG9mIHRoZSBzdXBwb3J0ZWQgY29tcGlsZXIpDQorIHBsZWFzZSB3cml0ZSB0bzoNCisNCisgICAgIEZyYW5jZXNjbyBNb250b3JzaSA8ZnJtQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4NCisNCmRpZmYgLS1naXQgYS9saWJ4bWwyL2Jha2VmaWxlL2xpYnhtbDIuYmtsIGIvbGlieG1sMi9iYWtlZmlsZS9saWJ4bWwyLmJrbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMzE0NDY1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9iYWtlZmlsZS9saWJ4bWwyLmJrbApAQCAtMCwwICsxLDc0OSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiA/Pg0KKw0KKzwhLS0gQXV0aG9yOiBGcmFuY2VzY28gTW9udG9yc2kgPGZybUB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+ICAgICAgICAgLS0+DQorPCEtLSBEYXRlOiAzMC84LzIwMDQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCis8IS0tIExhc3QgcmV2aXNpb246IDI2LzEvMjAwNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPg0KKw0KKw0KKzwhLS0gICAgICAgICAgICAgICAgICAgIExJQlhNTDIgQkFLRUZJTEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQorPCEtLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCis8IS0tICAgIFRoZSBiYWtlZmlsZSB1c2VkIHRvIGJ1aWxkIHRoZSBsaWJyYXJ5IGFuZCB0aGUgdGVzdCAgICAgICAgIC0tPg0KKzwhLS0gICAgcHJvZ3JhbXMuIFRoZSBtYWtlZmlsZXMgb3V0cHV0IGlzIHB1dDogICAgICAgICAgICAgICAgICAgICAgLS0+DQorPCEtLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCis8IS0tICAgIC0gaW4gdGhlIC4uXExJQiBmb2xkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPg0KKzwhLS0gICAgLSBpbiB0aGUgLi5cQklOIGZvbGRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQorPCEtLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCisNCis8bWFrZWZpbGU+DQorDQorICAgIDx1c2luZyBtb2R1bGU9ImRhdGFmaWxlcyIvPg0KKyAgICA8cmVxdWlyZXMgdmVyc2lvbj0iMC4xLjUiLz4NCisgICAgDQorDQorICAgIDwhLS0gVGhpcyBpcyBhIGJha2VmaWxlLCB0aGF0IGlzLCBhIGdlbmVyaWMgdGVtcGxhdGUgdXNlZCB0byAgICAtLT4NCisgICAgPCEtLSBnZW5lcmF0ZSBtYWtlZmlsZXMgQUxMIHN1cHBvcnRlZCBjb21waWxlcnMuICAgICAgICAgICAgICAgIC0tPg0KKyAgICA8IS0tIFRvIHVzZSB0aGlzIHByb2plY3QgZmlsZSB5b3UgbmVlZCBCYWtlZmlsZSBpbnN0YWxsZWQuICAgICAgLS0+DQorICAgIDwhLS0gV2l0aCB0aGUgY29tbWFuZCAiYmFrZWZpbGVfZ2VuIiB5b3UgY2FuIHJlZ2VuIGFsbCB0aGUgICAgICAtLT4NCisgICAgPCEtLSBtYWtlZmlsZXMgYW5kIHByb2plY3QgZmlsZXMuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPg0KKyAgICA8IS0tIFNlZSBodHRwOi8vYmFrZWZpbGUuc291cmNlZm9yZ2UubmV0IGZvciBtb3JlIGluZm8uICAgICAgICAgLS0+DQorDQorDQorCTwhLS0NCisJIFRoaXMgZmlsZSBpcyBkaXZpZGVkIGluOg0KKwkJLSBnZW5lcmljIG9wdGlvbnMNCisJCS0gZ2VuZXJpYyB2YXJpYWJsZXMNCisJCS0gbGlieG1sMiBvcHRpb25zDQorCQktIGxpYnhtbDIgdmFyaWFibGVzDQorCQktIGFib3V0IGNvbmZpZy5oIGNyZWF0aW9uDQorCQktIHRlbXBsYXRlcw0KKwkJLSBsaWJ4bWwyIGxpYnJhcnkgdGFyZ2V0DQorCQktIGxpYnhtbDIgdGVzdCBwcm9ncmFtIHRhcmdldHMNCisJLS0+DQorDQorDQorDQorICAgIDwhLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCisgICAgPCEtLSAgICAgICAgICAgICAgICAgICAgICBHRU5FUklDIE9QVElPTlMgICAgICAgICAgICAgICAgICAgICAgIC0tPg0KKyAgICA8IS0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQorDQorICAgICANCisgICAgPCEtLSAgICBUaGlzIGlzIGEgc3RhbmRhcmQgb3B0aW9uIHRoYXQgZGV0ZXJtaW5lcyAgICAgICAgICAgICAgIC0tPg0KKyAgICA8IS0tICAgIHdoZXRoZXIgdGhlIHVzZXIgd2FudHMgdG8gYnVpbGQgdGhpcyBsaWJyYXJ5IGFzICAgICAgICAgLS0+DQorICAgIDwhLS0gICAgYSBkbGwgb3IgYXMgYSBzdGF0aWMgbGlicmFyeS4gICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCisgICAgPG9wdGlvbiBuYW1lPSJTSEFSRUQiPg0KKyAgICAgICAgPHZhbHVlcz4wLDE8L3ZhbHVlcz4NCisgICAgICAgIDx2YWx1ZXMtZGVzY3JpcHRpb24+LERMTDwvdmFsdWVzLWRlc2NyaXB0aW9uPg0KKyAgICAgICAgPGRlZmF1bHQtdmFsdWU+MDwvZGVmYXVsdC12YWx1ZT4NCisgICAgICAgIDxkZXNjcmlwdGlvbj5JZiBzZXQgdG8gemVybyBhIFNUQVRJQyBsaWJ4bWwgbGlicmFyeSB3aWxsIGJlIGJ1aWx0PC9kZXNjcmlwdGlvbj4NCisgICAgPC9vcHRpb24+DQorDQorICAgIDwhLS0gQ29uZmlndXJhdGlvbiBmb3IgYnVpbGRpbmcgdGhlIGJha2VmaWxlIHdpdGggICAgICAgICAgICAgICAtLT4NCisgICAgPCEtLSB1bmljb2RlIHN0cmluZ3Mgb3Igbm90ICh1bmljb2RlIG9yIGFuc2kpLiAgICAgICAgICAgICAgICAgIC0tPg0KKyAgICA8b3B0aW9uIG5hbWU9IlVOSUNPREUiPg0KKyAgICAgICAgPHZhbHVlcz4wLDE8L3ZhbHVlcz4NCisgICAgICAgIDx2YWx1ZXMtZGVzY3JpcHRpb24+LFVuaWNvZGU8L3ZhbHVlcy1kZXNjcmlwdGlvbj4NCisgICAgICAgIDxkZWZhdWx0LXZhbHVlPjA8L2RlZmF1bHQtdmFsdWU+ICAgICAgICANCisgICAgICAgIDxkZXNjcmlwdGlvbj5Db21waWxlIFVuaWNvZGUgYnVpbGQ/PC9kZXNjcmlwdGlvbj4NCisgICAgPC9vcHRpb24+DQorDQorDQorICAgIDwhLS0gVGhlcmUgYXJlIHNldmVyYWwgb3B0aW9ucyB0aGF0IGRlYWwgd2l0aCBidWlsZCAgICAgICAgICAgICAtLT4NCisgICAgPCEtLSB0eXBlcy4gRmlyc3QsIHRoZXJlJ3MgdGhpcyBvbmUsIEJVSUxELiAgICAgICAgICAgICAgICAgICAgIC0tPg0KKyAgICA8IS0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQorICAgIDwhLS0gQlVJTEQgZGV0ZXJtaW5lcyB3aGV0aGVyIG9yIG5vdCB3ZSB3YW50IHRvIGJ1aWxkICAgICAgICAgICAtLT4NCisgICAgPCEtLSBpbiByZWxlYXNlIG9yIGRlYnVnIG1vZGUuICBOb3RlIHRoYXQgaW4gcHJhY3RpY2UgICAgICAgICAgIC0tPg0KKyAgICA8IS0tIHRoaXMgbWVhbnMgbW9kaWZ5aW5nIHRoZSBvcHRpbWl6ZSB0YWcsIHdoaWNoIGJ5ICAgICAgICAgICAgLS0+DQorICAgIDwhLS0gZGVmYXVsdCBpcyBzZXQgdG8gb2ZmLiAgSW4gdGhpcyBjYXNlIGRlYnVnIG1lYW5zICAgICAgICAgICAtLT4NCisgICAgPCEtLSBvZmYgKG5vIG9wdGltaXphdGlvbnMpLCBhbmQgcmVsZWFzZSBtZWFucyBzcGVlZCAgICAgICAgICAgIC0tPg0KKyAgICA8IS0tIChmYXN0IHdpdGggaW5saW5pbmcpLiAgVGhlcmUgaXMgYWxzbyBhIHNpemUgb3B0aW9uICAgICAgICAgLS0+DQorICAgIDwhLS0gdGhhdCBpcyBub3QgYWRkcmVzc2VkIGluIHRoaXMgZXhhbXBsZSBiYWtlZmlsZS4gICAgICAgICAgICAtLT4NCisgICAgPG9wdGlvbiBuYW1lPSJCVUlMRCI+DQorICAgICAgICA8dmFsdWVzPmRlYnVnLHJlbGVhc2U8L3ZhbHVlcz4NCisgICAgICAgIDx2YWx1ZXMtZGVzY3JpcHRpb24+RGVidWcsUmVsZWFzZTwvdmFsdWVzLWRlc2NyaXB0aW9uPg0KKyAgICAgICAgPGRlZmF1bHQtdmFsdWU+cmVsZWFzZTwvZGVmYXVsdC12YWx1ZT4NCisgICAgICAgIDxkZXNjcmlwdGlvbj4NCisgICAgICAgICAgICBUeXBlIG9mIGNvbXBpbGVkIGJpbmFyaWVzDQorICAgICAgICA8L2Rlc2NyaXB0aW9uPg0KKyAgICA8L29wdGlvbj4NCisNCisNCisNCisgICAgPCEtLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPg0KKyAgICA8IS0tICAgICAgICAgICAgICAgICAgICBHRU5FUklDIFZBUklBQkxFUyAgICAgICAgICAgICAgICAgICAgICAgLS0+DQorICAgIDwhLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCisNCisgICAgPCEtLSAgICBTZXQgdGhlIElTRExMIHZhcmlhYmxlLCBzbyB0aGF0IHdlIGNhbiB1c2UgaXQgICAgICAgICAgIC0tPg0KKyAgICA8IS0tICAgIGluc2lkZSBhbiBpZiBzdGF0ZW1lbnQgbGF0ZXIgb24gKG9wdGlvbnMgbm90ICAgICAgICAgICAgLS0+DQorICAgIDwhLS0gICAgYWxsb3dlZCBpbiBpZiBzdGF0ZW1lbnRzKS4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCisgICAgPHNldCB2YXI9IklTRExMIiBjb25kPSJTSEFSRUQ9PScxJyI+MTwvc2V0Pg0KKyAgICA8c2V0IHZhcj0iSVNETEwiIGNvbmQ9IlNIQVJFRD09JzAnIj4wPC9zZXQ+DQorDQorICAgIDwhLS0gICAgVGhlIHVuaWNvZGUgZGVmaW5lIHdlIHdhbnQuICBCeSBkZWZhdWx0IGJha2VmaWxlICAgICAgICAtLT4NCisgICAgPCEtLSAgICBtYWtlcyB2YXJpYWJsZXMgYW4gZW1wdHkgc3RyaW5nLCBzbyBpZiB1bmljb2RlICAgICAgICAgIC0tPg0KKyAgICA8IS0tICAgIGlzIG5vdCBkZWZpbmVkICQoVU5JQ09ERV9ERUZJTkUpIHdvdWxkIGV4cGFuZCAgICAgICAgICAgLS0+DQorICAgIDwhLS0gICAgdG8gbm90aGluZyAobGl0ZXJhbGx5KS4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCisgICAgPHNldCB2YXI9IlVOSUNPREVfREVGSU5FIj4NCisgICAgICAgIDxpZiBjb25kPSJGT1JNQVQhPSdhdXRvY29uZicgYW5kIFVOSUNPREU9PScxJyI+X1VOSUNPREU8L2lmPg0KKyAgICA8L3NldD4gICAgDQorICAgIA0KKyAgICA8IS0tICAgIFRoZSBkZWJ1ZyBkZWZpbmUgd2UgbmVlZCB3aXRoIHdpbjMyIGNvbXBpbGVycyAgICAgICAgICAgLS0+ICAgIA0KKyAgICA8IS0tICAgIChvbiBMaW51eCwgdGhlIHd4LWNvbmZpZyBwcm9ncmFtIGlzIHVzZWQpLiAgICAgICAgICAgICAgLS0+ICAgIA0KKyAgICA8c2V0IHZhcj0iREVCVUdfREVGSU5FIj4gICAgICAgIA0KKyAgICAgICAgPGlmIGNvbmQ9IkZPUk1BVCE9J2F1dG9jb25mJyBhbmQgQlVJTEQ9PSdkZWJ1ZyciPg0KKyAgICAgICAgICAgIF9fV1hERUJVR19fDQorICAgICAgICA8L2lmPiAgICANCisgICAgPC9zZXQ+DQorDQorICAgIDwhLS0gICAgVmFsdWUgd2Ugd2lsbCB1c2UgbGF0ZXIgb24gZm9yIHRoZSBkZWJ1Zy1pbmZvICAgICAgICAgICAtLT4NCisgICAgPCEtLSAgICB0YWcgaW5zaWRlIG91ciB0ZW1wbGF0ZXMuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPg0KKyAgICA8c2V0IHZhcj0iREVCVUdJTkZPIj4NCisgICAgICAgIDxpZiBjb25kPSJCVUlMRD09J2RlYnVnJyI+b248L2lmPg0KKyAgICAgICAgPGlmIGNvbmQ9IkJVSUxEPT0ncmVsZWFzZSciPm9mZjwvaWY+DQorICAgIDwvc2V0Pg0KKw0KKyAgICA8IS0tICAgIFZhbHVlIHdlIHdpbGwgdXNlIGxhdGVyIG9uIGZvciB0aGUgZGVidWctcnVudGltZSAgICAgICAgLS0+DQorICAgIDwhLS0gICAgdGFnIGluc2lkZSBvdXIgdGVtcGxhdGVzLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCisgICAgPHNldCB2YXI9IkRFQlVHUlVOVElNRSI+DQorICAgICAgICA8aWYgY29uZD0iQlVJTEQ9PSdkZWJ1ZyciPm9uPC9pZj4NCisgICAgICAgIDxpZiBjb25kPSJCVUlMRD09J3JlbGVhc2UnIj5vZmY8L2lmPg0KKyAgICA8L3NldD4NCisNCisgICAgPCEtLSAgICBWYWx1ZSBmb3Igb3B0aW1pemUgdGFnLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPg0KKyAgICA8c2V0IHZhcj0iT1BUSU1JWkVGTEFHIj4NCisgICAgICAgIDxpZiBjb25kPSJCVUlMRD09J2RlYnVnJyI+b2ZmPC9pZj4NCisgICAgICAgIDxpZiBjb25kPSJCVUlMRD09J3JlbGVhc2UnIj5zcGVlZDwvaWY+DQorICAgIDwvc2V0Pg0KKw0KKyAgICA8IS0tIExldmVsIG9mIHdhcm5pbmdzLiAgSGVyZSB3ZSBtYXggaXQgb3V0IGluIGRlYnVnICAgICAgICAgICAgLS0+DQorICAgIDwhLS0gbW9kZSwgYW5kIHR1cm4gdGhlbSBvZmYgaW4gcmVsZWFzZSBtb2RlLiAgICAgICAgICAgICAgICAgICAtLT4NCisgICAgPHNldCB2YXI9IldBUk5JTkdTIj4NCisgICAgICAgIDxpZiBjb25kPSJCVUlMRD09J2RlYnVnJyI+bWF4PC9pZj4NCisgICAgICAgIDxpZiBjb25kPSJCVUlMRD09J3JlbGVhc2UnIj5ubzwvaWY+DQorICAgIDwvc2V0Pg0KKw0KKyAgICA8IS0tIFNldCBNWUNQUEZMQUdTIGFzIGVtcHR5OyBtYXliZSBpdCB3aWxsIGJlIGZpbGxlZCBsYXRlci4uLiAgLS0+DQorICAgIDxzZXQgdmFyPSJNWUNQUEZMQUdTIj48L3NldD4NCisgICAgPGlmIGNvbmQ9IkZPUk1BVD09J21pbmd3JyBvciBGT1JNQVQ9PSdhdXRvY29uZiciPg0KKw0KKyAgICAgICAgPCEtLSBXaXRoIEdDQywgc2V0dGluZ3Mgd2FybmluZ3MgdG8gTUFYIHdvdWxkIGZvcmNlICAgICAgICAgLS0+DQorICAgICAgICA8IS0tIEJha2VmaWxlIHRvIGNhbGwgR0NDIHdpdGggIi1XIC1XYWxsIiB3aGljaCBnZW5lcmF0ZXMgICAtLT4NCisgICAgICAgIDwhLS0gYSAqbG90KiBvZiB3YXJuaW5ncyBhYm91dCB3eFdpZGdldHMgaGVhZGVycy4uLiAgICAgICAgIC0tPg0KKyAgICAgICAgPCEtLSB0aGlzIGlzIHdoeSAiLVcgLVdhbGwiIGlzIGhlcmUgcmVwbGFjZWQgYnkgIi1XYWxsIi4gICAgLS0+DQorICAgICAgICA8c2V0IHZhcj0iV0FSTklOR1MiPmRlZmF1bHQ8L3NldD4NCisgICAgICAgIDxzZXQgdmFyPSJNWUNQUEZMQUdTIj4tV2FsbDwvc2V0Pg0KKyAgICA8L2lmPg0KKyAgICANCisgICAgDQorICAgIA0KKyAgDQorDQorDQorICAgIDwhLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCisgICAgPCEtLSAgICAgICAgICAgICAgICAgICAgICBMSUJYTUwyIE9QVElPTlMgICAgICAgICAgICAgICAgICAgICAgIC0tPg0KKyAgICA8IS0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQorICAgIDwhLS0gTm90ZSAjMTogbm90IGFsbCBvZiB0aGVtIGFyZSB1c2VkIGJ5IHdpbjMyIG1ha2VmaWxlcyAgICAgICAtLT4NCisJPCEtLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPg0KKwk8IS0tIE5vdGUgIzI6IHNpbmNlIGFsbCBjb21iaW5hdGlvbnMgb2Ygbm9uLXBhdGggb3B0aW9ucyBhcmUgICAgLS0+DQorCTwhLS0gICAgICAgICAgdHJhbnNsYXRlZCBpbnRvIGRpZmZlcmVudCAnY29uZmlndXJhdGlvbnMnIGJ5ICAgICAtLT4NCisJPCEtLSAgICAgICAgICBCYWtlZmlsZSB3aGVuIHVzaW5nIHRoZSBNU1ZDNlBSSiBvdXRwdXQsIHdlIG11c3QgIC0tPg0KKwk8IS0tICAgICAgICAgIGF2b2lkIHRvIGNyZWF0ZSBhIDEwIE1CIGxpYnhtbDIuZHNwIGZpbGUgZm9yY2luZyAgLS0+DQorCTwhLS0gICAgICAgICAgc29tZSBvcHRpb25zIHRvIHRoZWlyIGRlZmF1bHQgdmFsdWVzLi4uIHRoaXMgICAgICAtLT4NCisJPCEtLSAgICAgICAgICBiZWhhdmlvdXIgY2FuIGJlIG92ZXJyaWRkZW4gYnkgdGhlICAgICAgICAgICAgICAgIC0tPg0KKwk8IS0tICAgICAgICAgICAgICAgICAgICAgICAgRlVMTF9PUFRJT05TX1NVUFBPUlQgICAgICAgICAgICAgICAgLS0+DQorCTwhLS0gICAgICAgICAgdmFyaWFibGUgZGVmaW5lZCBiZWxvdy4uLiAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCisgICAgDQorCTxzZXQgdmFyPSJGVUxMX09QVElPTlNfU1VQUE9SVCI+DQorCQk8aWYgY29uZD0iRk9STUFUPT0nbXN2YzZwcmonIj4wPC9pZj4NCisJCTxpZiBjb25kPSJGT1JNQVQhPSdtc3ZjNnByaiciPjE8L2lmPg0KKwk8L3NldD4NCisNCisgICAgPG9wdGlvbiBuYW1lPSJJQ09OVl9ESVIiIGNhdGVnb3J5PSJwYXRoIj4NCisgICAgICAgIDxkZWZhdWx0LXZhbHVlPmM6XGljb252PC9kZWZhdWx0LXZhbHVlPg0KKyAgICAgICAgPGRlc2NyaXB0aW9uPlRoZSBpY29udiBsaWJyYXJ5IG1haW4gZm9sZGVyPC9kZXNjcmlwdGlvbj4NCisgICAgPC9vcHRpb24+DQorDQorICAgIDxvcHRpb24gbmFtZT0iV0lUSF9UUklPIj4NCisgICAgCTx2YWx1ZXM+MCwxPC92YWx1ZXM+DQorICAgICAgICA8ZGVmYXVsdC12YWx1ZT4wPC9kZWZhdWx0LXZhbHVlPg0KKyAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBUUklPIHN0cmluZyBtYW5pcHVsYXRvcjwvZGVzY3JpcHRpb24+DQorICAgIDwvb3B0aW9uPg0KKw0KKwk8IS0tIHNlZSB0aGUgbm90ZSAjMiAtLT4NCisJPGlmIGNvbmQ9IkZVTExfT1BUSU9OU19TVVBQT1JUPT0nMCciPg0KKwkJPHNldCB2YXI9IldJVEhfVEhSRUFEUyI+bmF0aXZlPC9zZXQ+DQorCTwvaWY+DQorCTxpZiBjb25kPSJGVUxMX09QVElPTlNfU1VQUE9SVD09JzEnIj4NCisJCTxvcHRpb24gbmFtZT0iV0lUSF9USFJFQURTIj4NCisgICAgCQk8dmFsdWVzPm5vLGN0bHMsbmF0aXZlLHBvc2l4PC92YWx1ZXM+DQorCQkJPGRlZmF1bHQtdmFsdWU+bmF0aXZlPC9kZWZhdWx0LXZhbHVlPg0KKwkJCTxkZXNjcmlwdGlvbj5FbmFibGUgdGhyZWFkIHNhZmV0eTwvZGVzY3JpcHRpb24+DQorCQk8L29wdGlvbj4NCisgICAgPC9pZj4NCisNCisgICAgPG9wdGlvbiBuYW1lPSJXSVRIX0ZUUCI+DQorICAgIAk8dmFsdWVzPjAsMTwvdmFsdWVzPg0KKyAgICAgICAgPGRlZmF1bHQtdmFsdWU+MTwvZGVmYXVsdC12YWx1ZT4NCisgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgRlRQIGNsaWVudDwvZGVzY3JpcHRpb24+DQorICAgIDwvb3B0aW9uPg0KKw0KKyAgICA8b3B0aW9uIG5hbWU9IldJVEhfSFRUUCI+DQorICAgIAk8dmFsdWVzPjAsMTwvdmFsdWVzPg0KKyAgICAgICAgPGRlZmF1bHQtdmFsdWU+MTwvZGVmYXVsdC12YWx1ZT4NCisgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgSFRUUCBjbGllbnQ8L2Rlc2NyaXB0aW9uPg0KKyAgICA8L29wdGlvbj4NCisNCisgICAgPG9wdGlvbiBuYW1lPSJXSVRIX0MxNE4iPg0KKyAgICAJPHZhbHVlcz4wLDE8L3ZhbHVlcz4NCisgICAgICAgIDxkZWZhdWx0LXZhbHVlPjE8L2RlZmF1bHQtdmFsdWU+DQorICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIEMxNE4gc3VwcG9ydDwvZGVzY3JpcHRpb24+DQorICAgIDwvb3B0aW9uPg0KKw0KKyAgICA8b3B0aW9uIG5hbWU9IldJVEhfQ0FUQUxPRyI+DQorICAgIAk8dmFsdWVzPjAsMTwvdmFsdWVzPg0KKyAgICAgICAgPGRlZmF1bHQtdmFsdWU+MTwvZGVmYXVsdC12YWx1ZT4NCisgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgY2F0YWxvZyBzdXBwb3J0PC9kZXNjcmlwdGlvbj4NCisgICAgPC9vcHRpb24+DQorDQorICAgIDxvcHRpb24gbmFtZT0iV0lUSF9ET0NCIj4NCisgICAgCTx2YWx1ZXM+MCwxPC92YWx1ZXM+DQorICAgICAgICA8ZGVmYXVsdC12YWx1ZT4xPC9kZWZhdWx0LXZhbHVlPg0KKyAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBEb2NCb29rIHN1cHBvcnQ8L2Rlc2NyaXB0aW9uPg0KKyAgICA8L29wdGlvbj4NCisJDQorICAgIDxvcHRpb24gbmFtZT0iV0lUSF9YUEFUSCI+DQorICAgIAk8dmFsdWVzPjAsMTwvdmFsdWVzPg0KKyAgICAgICAgPGRlZmF1bHQtdmFsdWU+MTwvZGVmYXVsdC12YWx1ZT4NCisgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgWFBhdGggc3VwcG9ydDwvZGVzY3JpcHRpb24+DQorICAgIDwvb3B0aW9uPg0KKwkNCisgICAgPG9wdGlvbiBuYW1lPSJXSVRIX1hQVFIiPg0KKyAgICAJPHZhbHVlcz4wLDE8L3ZhbHVlcz4NCisgICAgICAgIDxkZWZhdWx0LXZhbHVlPjE8L2RlZmF1bHQtdmFsdWU+DQorICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIFhQb2ludGVyIHN1cHBvcnQ8L2Rlc2NyaXB0aW9uPg0KKyAgICA8L29wdGlvbj4NCisJDQorICAgIDxvcHRpb24gbmFtZT0iV0lUSF9YSU5DTFVERSI+DQorICAgIAk8dmFsdWVzPjAsMTwvdmFsdWVzPg0KKyAgICAgICAgPGRlZmF1bHQtdmFsdWU+MTwvZGVmYXVsdC12YWx1ZT4NCisgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgWEluY2x1ZGUgc3VwcG9ydDwvZGVzY3JpcHRpb24+DQorICAgIDwvb3B0aW9uPg0KKwkNCisJPCEtLSBzZWUgdGhlIG5vdGUgIzIgLS0+DQorCTxpZiBjb25kPSJGVUxMX09QVElPTlNfU1VQUE9SVD09JzAnIj4NCisJCTxzZXQgdmFyPSJXSVRIX0lDT05WIj4xPC9zZXQ+DQorCTwvaWY+DQorCTxpZiBjb25kPSJGVUxMX09QVElPTlNfU1VQUE9SVD09JzEnIj4NCisJCTxvcHRpb24gbmFtZT0iV0lUSF9JQ09OViI+DQorICAgIAkJPHZhbHVlcz4wLDE8L3ZhbHVlcz4NCisJCQk8ZGVmYXVsdC12YWx1ZT4xPC9kZWZhdWx0LXZhbHVlPg0KKwkJCTxkZXNjcmlwdGlvbj5FbmFibGUgaWNvbnYgc3VwcG9ydDwvZGVzY3JpcHRpb24+DQorCQk8L29wdGlvbj4NCisJPC9pZj4NCisJDQorICAgIDxvcHRpb24gbmFtZT0iV0lUSF9JU084ODU5WCI+DQorICAgIAk8dmFsdWVzPjAsMTwvdmFsdWVzPg0KKyAgICAgICAgPGRlZmF1bHQtdmFsdWU+MDwvZGVmYXVsdC12YWx1ZT4NCisgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgaXNvODg1OXggc3VwcG9ydDwvZGVzY3JpcHRpb24+DQorICAgIDwvb3B0aW9uPg0KKwkNCisJPCEtLSBzZWUgdGhlIG5vdGUgIzIgLS0+DQorCTxpZiBjb25kPSJGVUxMX09QVElPTlNfU1VQUE9SVD09JzAnIj4NCisJCTxzZXQgdmFyPSJXSVRIX1pMSUIiPjA8L3NldD4NCisJPC9pZj4NCisJPGlmIGNvbmQ9IkZVTExfT1BUSU9OU19TVVBQT1JUPT0nMSciPg0KKwkJPG9wdGlvbiBuYW1lPSJXSVRIX1pMSUIiPg0KKyAgICAJCTx2YWx1ZXM+MCwxPC92YWx1ZXM+DQorCQkJPGRlZmF1bHQtdmFsdWU+MDwvZGVmYXVsdC12YWx1ZT4NCisJCQk8ZGVzY3JpcHRpb24+RW5hYmxlIFpMSUIgc3VwcG9ydDwvZGVzY3JpcHRpb24+DQorCQk8L29wdGlvbj4NCisJPC9pZj4NCisJDQorICAgIDxvcHRpb24gbmFtZT0iV0lUSF9SRUdFWFBTIj4NCisgICAgCTx2YWx1ZXM+MCwxPC92YWx1ZXM+DQorICAgICAgICA8ZGVmYXVsdC12YWx1ZT4xPC9kZWZhdWx0LXZhbHVlPg0KKyAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSByZWd1bGFyIGV4cHJlc3Npb25zPC9kZXNjcmlwdGlvbj4NCisgICAgPC9vcHRpb24+DQorCQ0KKyAgICA8b3B0aW9uIG5hbWU9IldJVEhfVFJFRSI+DQorICAgIAk8dmFsdWVzPjAsMTwvdmFsdWVzPg0KKyAgICAgICAgPGRlZmF1bHQtdmFsdWU+MTwvZGVmYXVsdC12YWx1ZT4NCisgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgdHJlZSBhcGk8L2Rlc2NyaXB0aW9uPg0KKyAgICA8L29wdGlvbj4NCisJDQorICAgIDxvcHRpb24gbmFtZT0iV0lUSF9SRUFERVIiPg0KKyAgICAJPHZhbHVlcz4wLDE8L3ZhbHVlcz4NCisgICAgICAgIDxkZWZhdWx0LXZhbHVlPjE8L2RlZmF1bHQtdmFsdWU+DQorICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHhtbFJlYWRlciBhcGk8L2Rlc2NyaXB0aW9uPg0KKyAgICA8L29wdGlvbj4NCisJDQorICAgIDxvcHRpb24gbmFtZT0iV0lUSF9XUklURVIiPg0KKyAgICAJPHZhbHVlcz4wLDE8L3ZhbHVlcz4NCisgICAgICAgIDxkZWZhdWx0LXZhbHVlPjE8L2RlZmF1bHQtdmFsdWU+DQorICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHhtbFdyaXRlciBhcGk8L2Rlc2NyaXB0aW9uPg0KKyAgICA8L29wdGlvbj4NCisJDQorICAgIDxvcHRpb24gbmFtZT0iV0lUSF9XQUxLRVIiPg0KKyAgICAJPHZhbHVlcz4wLDE8L3ZhbHVlcz4NCisgICAgICAgIDxkZWZhdWx0LXZhbHVlPjE8L2RlZmF1bHQtdmFsdWU+DQorICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHhtbERvY1dhbGtlciBhcGk8L2Rlc2NyaXB0aW9uPg0KKyAgICA8L29wdGlvbj4gICAgDQorCQ0KKyAgICA8b3B0aW9uIG5hbWU9IldJVEhfUEFUVEVSTiI+DQorICAgIAk8dmFsdWVzPjAsMTwvdmFsdWVzPg0KKyAgICAgICAgPGRlZmF1bHQtdmFsdWU+MTwvZGVmYXVsdC12YWx1ZT4NCisgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgeG1sUGF0dGVybiBhcGk8L2Rlc2NyaXB0aW9uPg0KKyAgICA8L29wdGlvbj4NCisJDQorICAgIDxvcHRpb24gbmFtZT0iV0lUSF9QVVNIIj4NCisgICAgCTx2YWx1ZXM+MCwxPC92YWx1ZXM+DQorICAgICAgICA8ZGVmYXVsdC12YWx1ZT4xPC9kZWZhdWx0LXZhbHVlPg0KKyAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBwdXNoIGFwaTwvZGVzY3JpcHRpb24+DQorICAgIDwvb3B0aW9uPg0KKwkNCisgICAgPG9wdGlvbiBuYW1lPSJXSVRIX1ZBTElEIj4NCisgICAgCTx2YWx1ZXM+MCwxPC92YWx1ZXM+DQorICAgICAgICA8ZGVmYXVsdC12YWx1ZT4xPC9kZWZhdWx0LXZhbHVlPg0KKyAgICAgICAgPGRlc2NyaXB0aW9uPkVuYWJsZSBEVEQgdmFsaWRhdGlvbiBzdXBwb3J0PC9kZXNjcmlwdGlvbj4NCisgICAgPC9vcHRpb24+DQorCQ0KKyAgICA8b3B0aW9uIG5hbWU9IldJVEhfU0FYMSI+DQorICAgIAk8dmFsdWVzPjAsMTwvdmFsdWVzPg0KKyAgICAgICAgPGRlZmF1bHQtdmFsdWU+MTwvZGVmYXVsdC12YWx1ZT4NCisgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgU0FYMSBhcGk8L2Rlc2NyaXB0aW9uPg0KKyAgICA8L29wdGlvbj4gICAgDQorICAgICAgICAgICAgICAgIAkNCisgICAgPG9wdGlvbiBuYW1lPSJXSVRIX1NDSEVNQVMiPg0KKyAgICAJPHZhbHVlcz4wLDE8L3ZhbHVlcz4NCisgICAgICAgIDxkZWZhdWx0LXZhbHVlPjE8L2RlZmF1bHQtdmFsdWU+DQorICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIFhNTCBTY2hlbWEgc3VwcG9ydDwvZGVzY3JpcHRpb24+DQorICAgIDwvb3B0aW9uPg0KKwkNCisgICAgPG9wdGlvbiBuYW1lPSJXSVRIX0xFR0FDWSI+DQorICAgIAk8dmFsdWVzPjAsMTwvdmFsdWVzPg0KKyAgICAgICAgPGRlZmF1bHQtdmFsdWU+MTwvZGVmYXVsdC12YWx1ZT4NCisgICAgICAgIDxkZXNjcmlwdGlvbj5FbmFibGUgZGVwcmVjYXRlZCBBUElzPC9kZXNjcmlwdGlvbj4NCisgICAgPC9vcHRpb24+ICAgIA0KKyAgICAgICAgICAgICAgICAJDQorICAgIDxvcHRpb24gbmFtZT0iV0lUSF9PVVRQVVQiPg0KKyAgICAJPHZhbHVlcz4wLDE8L3ZhbHVlcz4NCisgICAgICAgIDxkZWZhdWx0LXZhbHVlPjE8L2RlZmF1bHQtdmFsdWU+DQorICAgICAgICA8ZGVzY3JpcHRpb24+RW5hYmxlIHNlcmlhbGl6YXRpb24gc3VwcG9ydDwvZGVzY3JpcHRpb24+DQorICAgIDwvb3B0aW9uPgkJCQkJDQorICAgICAgICAgICAgICAgIAkNCisgICAgPG9wdGlvbiBuYW1lPSJXSVRIX1BZVEhPTiI+DQorICAgIAk8dmFsdWVzPjAsMTwvdmFsdWVzPg0KKyAgICAgICAgPGRlZmF1bHQtdmFsdWU+MDwvZGVmYXVsdC12YWx1ZT4NCisgICAgICAgIDxkZXNjcmlwdGlvbj5CdWlsZCBQeXRob24gYmluZGluZ3M8L2Rlc2NyaXB0aW9uPg0KKyAgICA8L29wdGlvbj4NCisNCisNCisgDQorDQorICAgIDwhLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCisgICAgPCEtLSAgICAgICAgICAgICAgICAgICAgTElCWE1MMiBWQVJJQUJMRVMgICAgICAgICAgICAgICAgICAgICAgIC0tPg0KKyAgICA8IS0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+ICAgDQorDQorICAgIDwhLS0gUHV0IGFsbCB0aGUgb2JqZWN0cyBmaWxlcyBnZW5lcmF0ZWQgYnkgICAgICAgICAtLT4NCisgICAgPCEtLSB0aGUgY29tcGlsYXRpb24gaW4gYSBzdWJmb2xkZXIgb2YgQlVJTEQgICAgICAgIC0tPg0KKyAgICA8c2V0IHZhcj0iQlVJTERESVIiPiQoRk9STUFUKTwvc2V0Pg0KKyAgICANCisgICAgPCEtLSBUaGlzIHZhcmlhYmxlIGlzIHNldCB0byAxIHdoZW4gdGhlIGN1cnJlbnQgb3V0cHV0IHdyaXRlciBzdXBwb3J0cyAtLT4NCisgICAJPCEtLSB0aGUgX19ERUZJTkVfQVJHIHZhcmlhYmxlLiBPdGhlcndpc2UgaXQncyBzZXQgdG8gemVyby4gLS0+DQorICAgCTxzZXQgdmFyPSJIQVNfREVGSU5FX0FSRyI+DQorICAgCQk8aWYgY29uZD0iRk9STUFUIT0nbXN2YzZwcmonIj4xPC9pZj4NCisgICAJCTxpZiBjb25kPSJGT1JNQVQ9PSdtc3ZjNnByaiciPjA8L2lmPiAgIAkJDQorICAgCTwvc2V0Pg0KKw0KKwk8IS0tIFRoZSByb290IGRpcmVjdG9yeSBvZiBsaWJ4bWwyIC0tPg0KKwk8c2V0IHZhcj0iWE1MQkFTRURJUiI+Li48L3NldD4NCisJDQorCTwhLS0gVGhlIGRpcmVjdG9yeSB3aGVyZSBsaWJ4bWwyJyB0ZXN0cyB3aWxsIGJlIHB1dCAtLT4NCisJPHNldCB2YXI9IlhNTFRFU1RESVIiPiQoWE1MQkFTRURJUikkKERJUlNFUCliaW48L3NldD4NCisJDQorCTxzZXQgdmFyPSJMSUJYTUxfTUFKT1JfVkVSU0lPTiI+Mjwvc2V0Pg0KKwk8c2V0IHZhcj0iTElCWE1MX01JTk9SX1ZFUlNJT04iPjY8L3NldD4NCisJPHNldCB2YXI9IkxJQlhNTF9NSUNST19WRVJTSU9OIj4xNjwvc2V0Pg0KKwkNCisJPCEtLSBzb21lIGRlZmluZXMgcmVsYXRlZCB0byB0aHJlYWRzIC0tPg0KKwk8c2V0IHZhcj0iVEhSRUFEU19ERUYiPg0KKwkJPGlmIGNvbmQ9IkhBU19ERUZJTkVfQVJHPT0nMScgYW5kIFdJVEhfVEhSRUFEUz09J25hdGl2ZSciPg0KKwkJCSQoX19ERUZJTkVfQVJHKV9SRUVOVFJBTlQgJChfX0RFRklORV9BUkcpSEFWRV9XSU4zMl9USFJFQURTDQorCQk8L2lmPg0KKwkJPGlmIGNvbmQ9IkhBU19ERUZJTkVfQVJHPT0nMScgYW5kIFdJVEhfVEhSRUFEUz09J2N0bHMnIj4NCisJCQkkKF9fREVGSU5FX0FSRylfUkVFTlRSQU5UICQoX19ERUZJTkVfQVJHKUhBVkVfV0lOMzJfVEhSRUFEUyAkKF9fREVGSU5FX0FSRylIQVZFX0NPTVBJTEVSX1RMUw0KKwkJPC9pZj4NCisJCTxpZiBjb25kPSJIQVNfREVGSU5FX0FSRz09JzEnIGFuZCBXSVRIX1RIUkVBRFM9PSdwb3NpeCciPg0KKwkJCSQoX19ERUZJTkVfQVJHKV9SRUVOVFJBTlQgJChfX0RFRklORV9BUkcpSEFWRV9QVEhSRUFEX0gNCisJCTwvaWY+DQorCTwvc2V0Pg0KKwk8aWYgY29uZD0iRk9STUFUPT0nYm9ybGFuZCciPg0KKwkJPHNldCB2YXI9IlRIUkVBRFNfREVGIj4NCisJCQk8aWYgY29uZD0iV0lUSF9USFJFQURTPT0nbmF0aXZlJyI+JChUSFJFQURTX0RFRikgJChfX0RFRklORV9BUkcpX19NVF9fPC9pZj4NCisJCQk8aWYgY29uZD0iV0lUSF9USFJFQURTPT0nY3RscyciPiQoVEhSRUFEU19ERUYpICQoX19ERUZJTkVfQVJHKV9fTVRfXzwvaWY+DQorCQkJPGlmIGNvbmQ9IldJVEhfVEhSRUFEUz09J3Bvc2l4JyI+JChUSFJFQURTX0RFRikgJChfX0RFRklORV9BUkcpX19NVF9fPC9pZj4NCisJCTwvc2V0Pg0KKwk8L2lmPgkNCisJDQorCQ0KKwk8IS0tIHNvbWUgb3RoZXIgY29uZGl0aW9uYWwgZGVmaW5lcyAtLT4NCisJPHNldCB2YXI9IlpMSUJfREVGIj48aWYgY29uZD0iV0lUSF9aTElCPT0nMSciPkhBVkVfWkxJQl9IPC9pZj48L3NldD4NCisJPHNldCB2YXI9IkRFQlVHX0RFRiI+PGlmIGNvbmQ9IkJVSUxEPT0nZGVidWcnIj5fREVCVUc8L2lmPjwvc2V0Pg0KKwk8c2V0IHZhcj0iREVCVUdfREVGIj48aWYgY29uZD0iQlVJTEQ9PSdyZWxlYXNlJyI+TkRFQlVHPC9pZj48L3NldD4NCisJDQorCTwhLS0gdGhpcyBpcyB2ZXJ5IHZlcnkgaW1wb3J0YW50IHdoZW4gY29tcGlsaW5nIHdpdGggTUlOR1c6IHdpdGhvdXQgdGhpcyBsaW5lLA0KKwl0aGUgdGVzdCBwcm9ncmFtcyAoYW5kIGFsbCB0aGUgcHJvZ3JhbXMgYnVpbHQgd2l0aCBsaWJ4bWwyIHdoaWNoIHVzZSB4bWxGcmVlKQ0KKwl3b24ndCBidWlsZCBiZWNhdXNlIG9mICJ1bmRlZmluZWQgcmVmZXJlbmNlcyB0byBfX3htbEZyZWUiIC0tPg0KKwk8c2V0IHZhcj0iU1RBVElDX0RFRiI+PGlmIGNvbmQ9IlNIQVJFRD09JzAnIj5MSUJYTUxfU1RBVElDPC9pZj48L3NldD4NCisJDQorCTwhLS0gc29tZSBjb25kaXRpb25hbCBsaWJyYXJpZXMgZGVwZW5kZW5jaWVzIC0tPg0KKwk8c2V0IHZhcj0iSUNPTlZfTElCIj48aWYgY29uZD0iV0lUSF9JQ09OVj09JzEnIj5pY29udjwvaWY+PC9zZXQ+DQorCTxzZXQgdmFyPSJXU09DSzMyX0xJQiI+PGlmIGNvbmQ9IldJVEhfVEhSRUFEUz09J25hdGl2ZSciPndzb2NrMzI8L2lmPjwvc2V0Pg0KKwk8c2V0IHZhcj0iWkxJQl9MSUIiPjxpZiBjb25kPSJXSVRIX1pMSUI9PScxJyI+emRsbDwvaWY+PC9zZXQ+DQorCTxzZXQgdmFyPSJQT1NJWF9MSUIiPjxpZiBjb25kPSJXSVRIX1RIUkVBRFM9PSdwb3NpeCciPnB0aHJlYWRWQzwvaWY+PC9zZXQ+DQorCQ0KKwk8c2V0IHZhcj0iWE1MSU5DTFVERURJUiI+JChYTUxCQVNFRElSKSQoRElSU0VQKWluY2x1ZGUkKERJUlNFUClsaWJ4bWwkKERJUlNFUCk8L3NldD4NCisNCisgIA0KKw0KKyANCisgICAgPCEtLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPg0KKyAgICA8IS0tICAgICAgICAgICAgICAgQUJPVVQgQ09ORklHLkggSEVBREVSIENSRUFUSU9OICAgICAgICAgICAgICAgLS0+DQorICAgIDwhLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4gICANCisgICAgDQorICAgIDxzZXQgdmFyPSJDT05GSUdfU1JDTkFNRSI+d2luMzJjb25maWcuaDwvc2V0Pg0KKyAgICA8c2V0IHZhcj0iQ09ORklHX0RTVE5BTUUiPmNvbmZpZy5oPC9zZXQ+DQorICAgIA0KKwk8aWYgY29uZD0iRk9STUFUIT0nbXN2YzZwcmonIGFuZCBGT1JNQVQhPSdhdXRvY29uZicgYW5kIEZPUk1BVCE9J2dudSciPg0KKwkJPGNvcHktZmlsZS10by1maWxlIGlkPSJzZXR1cCI+DQorCQkJPCEtLSBPbiB3aW4zMiB3ZSBuZWVkIHRvIG1hbnVhbGx5IGNvcHkgYSBkZWZhdWx0IGNvbmZpZy5oIGZpbGUgLS0+DQorCQkJPCEtLSBmcm9tIHRoZSBpbmNsdWRlL21jL21zdyBmb2xkZXIgdG8gaW5jbHVkZS9tYwkJCSAgIC0tPg0KKwkJCTxzcmM+Li4vaW5jbHVkZS8kKENPTkZJR19TUkNOQU1FKTwvc3JjPg0KKwkJCTxkc3Q+Li4vJChDT05GSUdfRFNUTkFNRSk8L2RzdD4NCisJCQk8ZGVwZW5kZW5jeS1vZj5hbGw8L2RlcGVuZGVuY3ktb2Y+DQorDQorCQkJPCEtLSBXaXRoIGF1dG9jb25mLCB3ZSB3aWxsIHVzZSB0aGUgY29uZmlndXJlIHNjcmlwdCB0byB0cmFuc2xhdGUgLS0+DQorCQkJPCEtLSBpbmNsdWRlL21jL2NvbmZpZy5oLmluIHRvIGluY2x1ZGUvbWMvY29uZmlnLmggYW5kIHRodXMgd2UgZG8gLS0+DQorCQkJPCEtLSBub3QgbmVlZCB0byBkbyBhbnl0aGluZyBoZXJlLi4uCQkJCQkJCSAgLS0+DQorCQk8L2NvcHktZmlsZS10by1maWxlPg0KKwk8L2lmPg0KKyAgICANCisJPGlmIGNvbmQ9IkZPUk1BVCE9J21zdmM2cHJqJyI+DQorCSAgICANCisJCTxta2RpciBpZD0ic2V0dXBsaWJkaXIiPjxkaXI+JChYTUxCQVNFRElSKSQoRElSU0VQKWxpYjwvZGlyPjwvbWtkaXI+DQorCQk8bWtkaXIgaWQ9InNldHVwYmluZGlyIj48ZGlyPiQoWE1MQkFTRURJUikkKERJUlNFUCliaW48L2Rpcj48L21rZGlyPg0KKwkJCQ0KKwkgICAgPCEtLSBDcmVhdGVzIGFsbCBvdXRwdXQgZm9sZGVycyAtLT4JDQorCSAgICA8cGhvbnkgaWQ9InNldHVwZGlycyI+DQorCQkJPGRlcGVuZGVuY3ktb2Y+YWxsPC9kZXBlbmRlbmN5LW9mPgkgICAgDQorCSAgICAJPGRlcGVuZHM+c2V0dXBsaWJkaXI8L2RlcGVuZHM+DQorCSAgICAJPGRlcGVuZHM+c2V0dXBiaW5kaXI8L2RlcGVuZHM+DQorCSAgICA8L3Bob255Pg0KKwk8L2lmPg0KKw0KKyAgICA8IS0tIFRoaXMgZGVmaW5lcyBhIHRhZyB3aGljaCBpbmNsdWRlcyBoZWFkZXJzIG9uIE1TVkMgICAgICAgICAgLS0+DQorICAgIDwhLS0gTm90ZSB0aGF0ICQodmFsdWUpIGlzIHN0dWNrIGluIHRoZXJlIGJ5IGJha2VmaWxlLCAgICAgICAgICAtLT4NCisgICAgPCEtLSBhbmQgaXMgdGhlIHZhbHVlIGJldHdlZW4gdGhlIGJlZ2lubmluZyBhbmQgZW5kIHRhZy4gICAgICAgIC0tPg0KKyAgICA8ZGVmaW5lLXRhZyBuYW1lPSJoZWFkZXJzIiBydWxlcz0iZGxsLGxpYixleGUiPg0KKyAgICAgICAgPGlmIGNvbmQ9IkZPUk1BVD09J21zdmM2cHJqJyI+DQorICAgICAgICAgICAgPG1zdmMtcHJvamVjdC1maWxlcz4NCisgICAgICAgICAgICAgICAgJCh2YWx1ZSkNCisgICAgICAgICAgICA8L21zdmMtcHJvamVjdC1maWxlcz4NCisgICAgICAgIDwvaWY+DQorICAgIDwvZGVmaW5lLXRhZz4NCisgICAgCQkNCisJPCEtLSBDcmVhdGVzIHRoZSBmb2xsb3dpbmcgY3VzdG9tIGJ1aWxkIHJ1bGUgZm9yIE1TVkM2UFJKIGZpbGU6DQorCSAgICAgY29waWVzIC4uXGluY2x1ZGVcd2luMzJjb25maWcuaCBpbnRvIC4uXGNvbmZpZy5oDQorCSAgICAgTk9URTogdGhpcyB0YWcgbXVzdCBiZSB1c2VkIGJlZm9yZSB0aGUgPHNvdXJjZXM+IHRhZyBpZiB5b3Ugd2FudCB0aGF0IHRoZSBjb25maWd1cmF0aW9uDQorCSAgICAgICAgICAgZmlsZSB3aWxsIGJlIGNyZWF0ZWQgYmVmb3JlIGFueSBvdGhlciBzb3VyY2UgZmlsZSBpcyBjb21waWxlZC4uLiAtLT4NCisgICAgPGRlZmluZS10YWcgbmFtZT0ibXN2Yy1jb3B5LXNldHVwLWgiIHJ1bGVzPSJkbGwsbGliLGFjdGlvbiI+DQorICAgICAgICA8aWYgY29uZD0iRk9STUFUPT0nbXN2YzZwcmonIj4NCisJICAgICAgICA8aGVhZGVycz4kKFhNTEJBU0VESVIpXGluY2x1ZGVcJChDT05GSUdfU1JDTkFNRSk8L2hlYWRlcnM+DQorCSAgICAgICAgPHNldCB2YXI9Il9fc3ViZGlyIj4kKHZhbHVlKTwvc2V0Pg0KKyAgICAgICAgICAgIDxzZXQgdmFyPSJfY3VzdG9tX2J1aWxkX2ZpbGVzIiBhcHBlbmQ9IjEiPiQoWE1MQkFTRURJUilcaW5jbHVkZVwkKENPTkZJR19TUkNOQU1FKTwvc2V0Pg0KKyAgICAgICAgICAgIDxzZXQgdmFyPSJfY3VzdG9tX2J1aWxkX19fX2luY2x1ZGVfd2luMzJjb25maWdfaCI+DQorQ3JlYXRpbmcgdGhlIGNvbmZpZ3VyYXRpb24gZmlsZSAuLlwkKENPTkZJR19EU1ROQU1FKSBmcm9tIC4uXGluY2x1ZGVcJChDT05GSUdfU1JDTkFNRSkNCitJbnB1dFBhdGg9Li5caW5jbHVkZVwkKENPTkZJR19TUkNOQU1FKQ0KKw0KKyIuLlwkKENPTkZJR19EU1ROQU1FKSIgOiAkKERPTExBUikoU09VUkNFKSAiJChET0xMQVIpKElOVERJUikiICIkKERPTExBUikoT1VURElSKSINCiskKFRBQiljb3B5ICIkKERPTExBUikoSW5wdXRQYXRoKSIgLi5cJChDT05GSUdfRFNUTkFNRSkNCisgICAgICAgICAgICA8L3NldD4NCisgICAgICAgIDwvaWY+DQorICAgIDwvZGVmaW5lLXRhZz4NCisNCisgDQorDQorDQorDQorICAgIDwhLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4NCisgICAgPCEtLSAgICAgICAgICAgICAgICAgICAgICAgICAgVEVNUExBVEVTICAgICAgICAgICAgICAgICAgICAgICAgIC0tPg0KKyAgICA8IS0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+ICAgDQorDQorCTwhLS0gVGhlIGJhc2ljIHRlbXBsYXRlOiB1c2VkIGJ5IGFsbCB0aGUgdGFyZ2V0cyAtLT4NCisgICAgPHRlbXBsYXRlIGlkPSJiYXNlIj4NCisgICAgICAgIDxpZiBjb25kPSJGT1JNQVQ9PSdtaW5ndyciPiAgICAgICAgICAgICAgICAgICAgDQorICAgICAgICAgICAgPGRlZmluZT5IQVZFX1czMkFQSV9IPC9kZWZpbmU+DQorICAgICAgICAgICAgPGxkZmxhZ3M+LW10aHJlYWRzPC9sZGZsYWdzPg0KKyAgICAgICAgPC9pZj4NCisNCisgICAgICAgIDxjeHhmbGFncz4kKE1ZQ1BQRkxBR1MpPC9jeHhmbGFncz4NCisgICAgICAgIDx3YXJuaW5ncz4kKFdBUk5JTkdTKTwvd2FybmluZ3M+DQorICAgICAgICA8ZGVmaW5lPiQoVU5JQ09ERV9ERUZJTkUpPC9kZWZpbmU+DQorICAgICAgICA8b3B0aW1pemU+JChPUFRJTUlaRUZMQUcpPC9vcHRpbWl6ZT4NCisgICAgICAgIDxkZWJ1Zy1pbmZvPiQoREVCVUdJTkZPKTwvZGVidWctaW5mbz4NCisgICAgICAgIDxkZWJ1Zy1ydW50aW1lLWxpYnM+JChERUJVR1JVTlRJTUUpPC9kZWJ1Zy1ydW50aW1lLWxpYnM+DQorCTwvdGVtcGxhdGU+DQorCQ0KKwk8IS0tIFRoZSB0ZW1wbGF0ZSB1c2VkIGJvdGggYnkgdGhlIGxpYnJhcnkgYW5kIGJ5IHRoZSB0ZXN0IHByb2dyYW1zIC0tPg0KKyAgICA8dGVtcGxhdGUgaWQ9InhtbDIiIHRlbXBsYXRlPSJiYXNlIj4NCisgICAgDQorICAgICAgICA8IS0tIC1JICYgLUwgZXF1aXZhbGVudHMgLS0+DQorICAgICAgICA8aW5jbHVkZT4kKFhNTEJBU0VESVIpJChESVJTRVApaW5jbHVkZTwvaW5jbHVkZT4NCisgICAgICAgIDxpbmNsdWRlPiQoSUNPTlZfRElSKSQoRElSU0VQKWluY2x1ZGU8L2luY2x1ZGU+DQorICAgICAgICA8bGliLXBhdGg+JChJQ09OVl9ESVIpJChESVJTRVApbGliPC9saWItcGF0aD4gICAgDQorICAgICAgICANCisJCTwhLS0gc29tZSBjb25kaXRpb25hbCBkZWZpbmUgZmxhZ3MgLS0+DQorICAgICAgICA8Y2ZsYWdzPiQoVEhSRUFEU19ERUYpPC9jZmxhZ3M+DQorCQk8ZGVmaW5lPiQoWkxJQl9ERUYpPC9kZWZpbmU+DQorCQk8ZGVmaW5lPiQoREVCVUdfREVGKTwvZGVmaW5lPg0KKwkJPGRlZmluZT4kKFNUQVRJQ19ERUYpPC9kZWZpbmU+DQorCQ0KKwkJPGlmIGNvbmQ9IkhBU19ERUZJTkVfQVJHPT0nMCciPg0KKwkJDQorCQkJPCEtLSB3ZSBhcmUgcHJvYmFibHkgdXNpbmcgYW4gSURFIG91dHB1dDogZGVmYXVsdHMgdG8gV0lUSF9USFJFQURTPT0nbmF0aXZlJyAtLT4NCisJCQk8ZGVmaW5lPl9SRUVOVFJBTlQ8L2RlZmluZT4NCisJCQk8ZGVmaW5lPkhBVkVfV0lOMzJfVEhSRUFEUzwvZGVmaW5lPg0KKwkJPC9pZj4NCisNCisJCQ0KKwkJPCEtLSB0aGVzZSBtdXN0IGFsd2F5cyBiZSBkZWZpbmVkIG9uIHdpbjMyIC0tPg0KKwkJPGRlZmluZT5XSU4zMjwvZGVmaW5lPgkJDQorCQk8ZGVmaW5lPl9XSU5ET1dTPC9kZWZpbmU+DQorCQk8ZGVmaW5lPl9NQkNTPC9kZWZpbmU+DQorDQorCQk8aWYgY29uZD0iRk9STUFUPT0nYm9ybGFuZCciPg0KKwkJCTxkZWZpbmU+X05PX1ZDTDwvZGVmaW5lPg0KKwkJCTxkZWZpbmU+RUlMU0VRPTI8L2RlZmluZT4NCisJCTwvaWY+DQorICAgIDwvdGVtcGxhdGU+DQorICAgIA0KKwk8IS0tIFRoZSB0ZW1wbGF0ZSB1c2VkIGJ5IGxpYnhtbDIgdGVzdCBwcm9ncmFtcyAtLT4NCisJPHRlbXBsYXRlIGlkPSJ4bWwydGVzdCIgdGVtcGxhdGU9InhtbDIiPg0KKyAgICAgICAgPGRpcm5hbWU+JChYTUxURVNURElSKTwvZGlybmFtZT4NCisgICAgICAgIDxhcHAtdHlwZT5jb25zb2xlPC9hcHAtdHlwZT4gICAgICAgIA0KKw0KKyAgICAgICAgPGxpYnJhcnk+bGlieG1sMjwvbGlicmFyeT4NCisJCQ0KKyAgICAgICAgPHN5cy1saWI+JChJQ09OVl9MSUIpPC9zeXMtbGliPg0KKyAgICAgICAgPHN5cy1saWI+JChXU09DSzMyX0xJQik8L3N5cy1saWI+DQorCQk8c3lzLWxpYj4kKFpMSUJfTElCKTwvc3lzLWxpYj4gDQorICAgICAgICA8c3lzLWxpYj4kKFBPU0lYX0xJQik8L3N5cy1saWI+DQorCTwvdGVtcGxhdGU+DQorDQorDQorDQorDQorIA0KKw0KKyAgICA8IS0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQorICAgIDwhLS0gICAgICAgICAgICAgICAgICBMSUJYTUwyIExJQlJBUlkgVEFSR0VUICAgICAgICAgICAgICAgICAgICAtLT4NCisgICAgPCEtLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPiAgDQorICAgIA0KKyAgICA8bGliIGlkPSJsaWJ4bWwyIiB0ZW1wbGF0ZT0ieG1sMiI+DQorICAgIAkNCisgICAgCTwhLS0gdGhpcyBpcyB1c2VmdWwgb25seSB3aGVuIHVzaW5nIE1TVkM2UFJKIC0tPg0KKyAgICAJPGlmIGNvbmQ9IkZPUk1BVD09J21zdmM2cHJqJyI+DQorICAgIAkJPG1zdmMtY29weS1zZXR1cC1oLz4NCisgICAgCQk8bXN2Yy1maWxlLWdyb3VwPkNvbmZpZyBoZWFkZXJzOipjb25maWcuaDwvbXN2Yy1maWxlLWdyb3VwPg0KKyAgICAJPC9pZj4NCisgICAgCTxpZiBjb25kPSJGT1JNQVQhPSdtc3ZjNnByaiciPg0KKwkgICAgCTxkZXBlbmRzPnNldHVwPC9kZXBlbmRzPg0KKyAgICAJCTxkZXBlbmRzPnNldHVwbGliZGlyPC9kZXBlbmRzPg0KKyAgICAJPC9pZj4NCisgICAgCSAgICANCisgICAgCTwhLS0gb3V0cHV0IGZvbGRlciAtLT4NCisgICAgICAgIDxkaXJuYW1lPiQoWE1MQkFTRURJUikkKERJUlNFUClsaWI8L2Rpcm5hbWU+DQorCQkNCisJCTwhLS0gVGhlIG91dHB1dCBuYW1lIG11c3QgYmUgImxpYnhtbDIubGliIiB3aXRoIGFsbCBjb21waWxlcnMuDQorCQkgICAgIFNpbmNlIG1pbmd3IGZvcm1hdCBhdXRvYWRkcyB0aGUgImxpYiIgcHJlZml4IHRvIHRoZSBsaWJyYXJ5DQorCQkJIG5hbWUsIHdlIG11c3QgaW50ZXJjZXB0IHRoYXQgY2FzZSB0byBhdm9pZCB0byBnZXQgImxpYmxpYnhtbDIuYSIgLS0+DQorCQk8aWYgY29uZD0iRk9STUFUIT0nbWluZ3cnIj4NCisJICAgICAgICA8bGlibmFtZT5saWJ4bWwyPC9saWJuYW1lPg0KKwkJPC9pZj4NCisJCTxpZiBjb25kPSJGT1JNQVQ9PSdtaW5ndyciPg0KKwkgICAgICAgIDxsaWJuYW1lPnhtbDI8L2xpYm5hbWU+DQorCQk8L2lmPg0KKwkJICAgICAgICANCisgICAgICAgIDwhLS0gdGhlIGxpc3Qgb2Ygc291cmNlIGZpbGVzIHRvIGNvbXBpbGUgLS0+ICAgICAgICAgICAgDQorICAgICAgICA8c291cmNlcz4NCisJCQkkKFhNTEJBU0VESVIpJChESVJTRVApYzE0bi5jDQorCQkJJChYTUxCQVNFRElSKSQoRElSU0VQKWNhdGFsb2cuYw0KKwkJCSQoWE1MQkFTRURJUikkKERJUlNFUCljaHZhbGlkLmMNCisJCQkkKFhNTEJBU0VESVIpJChESVJTRVApZGVidWdYTUwuYw0KKwkJCSQoWE1MQkFTRURJUikkKERJUlNFUClkaWN0LmMNCisJCQkkKFhNTEJBU0VESVIpJChESVJTRVApRE9DQnBhcnNlci5jDQorCQkJJChYTUxCQVNFRElSKSQoRElSU0VQKWVuY29kaW5nLmMNCisJCQkkKFhNTEJBU0VESVIpJChESVJTRVApZW50aXRpZXMuYw0KKwkJCSQoWE1MQkFTRURJUikkKERJUlNFUCllcnJvci5jDQorCQkJJChYTUxCQVNFRElSKSQoRElSU0VQKWdsb2JhbHMuYw0KKwkJCSQoWE1MQkFTRURJUikkKERJUlNFUCloYXNoLmMNCisJCQkkKFhNTEJBU0VESVIpJChESVJTRVApSFRNTHBhcnNlci5jDQorCQkJJChYTUxCQVNFRElSKSQoRElSU0VQKUhUTUx0cmVlLmMNCisJCQkkKFhNTEJBU0VESVIpJChESVJTRVApbGVnYWN5LmMNCisJCQkkKFhNTEJBU0VESVIpJChESVJTRVApbGlzdC5jDQorCQkJJChYTUxCQVNFRElSKSQoRElSU0VQKW5hbm9mdHAuYw0KKwkJCSQoWE1MQkFTRURJUikkKERJUlNFUCluYW5vaHR0cC5jDQorCQkJJChYTUxCQVNFRElSKSQoRElSU0VQKXBhcnNlci5jDQorCQkJJChYTUxCQVNFRElSKSQoRElSU0VQKXBhcnNlckludGVybmFscy5jDQorCQkJJChYTUxCQVNFRElSKSQoRElSU0VQKXBhdHRlcm4uYw0KKwkJCSQoWE1MQkFTRURJUikkKERJUlNFUClyZWxheG5nLmMNCisJCQkkKFhNTEJBU0VESVIpJChESVJTRVApU0FYMi5jDQorCQkJJChYTUxCQVNFRElSKSQoRElSU0VQKVNBWC5jDQorCQkJJChYTUxCQVNFRElSKSQoRElSU0VQKXRocmVhZHMuYw0KKwkJCSQoWE1MQkFTRURJUikkKERJUlNFUCl0cmVlLmMNCisJCQkkKFhNTEJBU0VESVIpJChESVJTRVApdXJpLmMNCisJCQkkKFhNTEJBU0VESVIpJChESVJTRVApdmFsaWQuYw0KKwkJCSQoWE1MQkFTRURJUikkKERJUlNFUCl4aW5jbHVkZS5jDQorCQkJJChYTUxCQVNFRElSKSQoRElSU0VQKXhsaW5rLmMNCisJCQkkKFhNTEJBU0VESVIpJChESVJTRVApeG1sSU8uYw0KKwkJCSQoWE1MQkFTRURJUikkKERJUlNFUCl4bWxtZW1vcnkuYw0KKwkJCSQoWE1MQkFTRURJUikkKERJUlNFUCl4bWxyZWFkZXIuYw0KKwkJCSQoWE1MQkFTRURJUikkKERJUlNFUCl4bWxyZWdleHAuYw0KKwkJCSQoWE1MQkFTRURJUikkKERJUlNFUCl4bWxzYXZlLmMNCisJCQkkKFhNTEJBU0VESVIpJChESVJTRVApeG1sc2NoZW1hcy5jDQorCQkJJChYTUxCQVNFRElSKSQoRElSU0VQKXhtbHNjaGVtYXN0eXBlcy5jDQorCQkJJChYTUxCQVNFRElSKSQoRElSU0VQKXhtbHVuaWNvZGUuYw0KKwkJCSQoWE1MQkFTRURJUikkKERJUlNFUCl4bWx3cml0ZXIuYw0KKwkJCSQoWE1MQkFTRURJUikkKERJUlNFUCl4cGF0aC5jDQorCQkJJChYTUxCQVNFRElSKSQoRElSU0VQKXhwb2ludGVyLmMNCisJCQkkKFhNTEJBU0VESVIpJChESVJTRVApeG1sc3RyaW5nLmMNCisgICAgICAgIDwvc291cmNlcz4NCisgICAgICAgIA0KKyAgICAgICAgPCEtLSB0aGUgbGlzdCBvZiBoZWFkZXIgZmlsZXMgKGZvciBJREUgcHJvamVjdHMpIC0tPg0KKyAgICAgICAgPGhlYWRlcnM+DQorCQkJJChYTUxJTkNMVURFRElSKWMxNG4uaA0KKwkJCSQoWE1MSU5DTFVERURJUiljYXRhbG9nLmgNCisJCQkkKFhNTElOQ0xVREVESVIpY2h2YWxpZC5oDQorCQkJJChYTUxJTkNMVURFRElSKWRlYnVnWE1MLmgNCisJCQkkKFhNTElOQ0xVREVESVIpZGljdC5oDQorCQkJJChYTUxJTkNMVURFRElSKURPQ0JwYXJzZXIuaA0KKwkJCSQoWE1MSU5DTFVERURJUillbmNvZGluZy5oDQorCQkJJChYTUxJTkNMVURFRElSKWVudGl0aWVzLmgNCisJCQkkKFhNTElOQ0xVREVESVIpZ2xvYmFscy5oDQorCQkJJChYTUxJTkNMVURFRElSKWhhc2guaA0KKwkJCSQoWE1MSU5DTFVERURJUilIVE1McGFyc2VyLmgNCisJCQkkKFhNTElOQ0xVREVESVIpSFRNTHRyZWUuaA0KKwkJCSQoWE1MSU5DTFVERURJUilsaXN0LmgNCisJCQkkKFhNTElOQ0xVREVESVIpbmFub2Z0cC5oDQorCQkJJChYTUxJTkNMVURFRElSKW5hbm9odHRwLmgNCisJCQkkKFhNTElOQ0xVREVESVIpcGFyc2VyLmgNCisJCQkkKFhNTElOQ0xVREVESVIpcGFyc2VySW50ZXJuYWxzLmgNCisJCQkkKFhNTElOQ0xVREVESVIpcGF0dGVybi5oDQorCQkJJChYTUxJTkNMVURFRElSKXJlbGF4bmcuaA0KKwkJCSQoWE1MSU5DTFVERURJUilTQVguaA0KKwkJCSQoWE1MSU5DTFVERURJUilTQVgyLmgNCisJCQkkKFhNTElOQ0xVREVESVIpc2NoZW1hc0ludGVybmFscy5oDQorCQkJJChYTUxJTkNMVURFRElSKXRocmVhZHMuaA0KKwkJCSQoWE1MSU5DTFVERURJUil0cmVlLmgNCisJCQkkKFhNTElOQ0xVREVESVIpdXJpLmgNCisJCQkkKFhNTElOQ0xVREVESVIpdmFsaWQuaA0KKwkJCSQoWE1MSU5DTFVERURJUil4aW5jbHVkZS5oDQorCQkJJChYTUxJTkNMVURFRElSKXhsaW5rLmgNCisJCQkkKFhNTElOQ0xVREVESVIpeG1sYXV0b21hdGEuaA0KKwkJCSQoWE1MSU5DTFVERURJUil4bWxlcnJvci5oDQorCQkJJChYTUxJTkNMVURFRElSKXhtbGV4cG9ydHMuaA0KKwkJCSQoWE1MSU5DTFVERURJUil4bWxJTy5oDQorCQkJJChYTUxJTkNMVURFRElSKXhtbG1lbW9yeS5oDQorCQkJJChYTUxJTkNMVURFRElSKXhtbG1vZHVsZS5oDQorCQkJJChYTUxJTkNMVURFRElSKXhtbHJlYWRlci5oDQorCQkJJChYTUxJTkNMVURFRElSKXhtbHJlZ2V4cC5oDQorCQkJJChYTUxJTkNMVURFRElSKXhtbHNhdmUuaA0KKwkJCSQoWE1MSU5DTFVERURJUil4bWxzY2hlbWFzLmgNCisJCQkkKFhNTElOQ0xVREVESVIpeG1sc2NoZW1hc3R5cGVzLmgNCisJCQkkKFhNTElOQ0xVREVESVIpeG1sc3RyaW5nLmgNCisJCQkkKFhNTElOQ0xVREVESVIpeG1sdW5pY29kZS5oDQorCQkJJChYTUxJTkNMVURFRElSKXhtbHZlcnNpb24uaAkJCQ0KKwkJCSQoWE1MSU5DTFVERURJUil4bWx3cml0ZXIuaA0KKwkJCSQoWE1MSU5DTFVERURJUil4cGF0aC5oDQorCQkJJChYTUxJTkNMVURFRElSKXhwYXRoSW50ZXJuYWxzLmgNCisJCQkkKFhNTElOQ0xVREVESVIpeHBvaW50ZXIuaA0KKwkJPC9oZWFkZXJzPg0KKw0KKwkJPCEtLSB0aGVzZSBvbmVzIGFyZSBub3QgaW5zaWRlIHRoZSBpbmNsdWRlL2xpYnhtbCBmb2xkZXIgLS0+DQorCQk8aGVhZGVycz4NCisJCQkkKFhNTEJBU0VESVIpJChESVJTRVApbGlieG1sLmgNCisJCQkkKFhNTEJBU0VESVIpJChESVJTRVApdHJpb2RlZi5oDQorCQkJJChYTUxCQVNFRElSKSQoRElSU0VQKXRyaW9uYW4uaA0KKwkJCSQoWE1MQkFTRURJUikkKERJUlNFUClpbmNsdWRlJChESVJTRVApd3NvY2tjb21wYXQuaAkJCQ0KKyAgICAgICA8L2hlYWRlcnM+DQorICAgIDwvbGliPg0KKw0KKw0KKw0KKyAgICA8IS0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+DQorICAgIDwhLS0gICAgICAgICAgICAgICBMSUJYTUwyIHRlc3QgcHJvZ3JhbXMgICAgICAgICAgICAtLT4NCisgICAgPCEtLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPg0KKwkNCisJPHNldCB2YXI9IkJVSUxEX0FMTF9URVNUUyI+DQorDQorCQk8IS0tIHdoZW4gdXNpbmcgZnVsbCBvcHRpb25zIHN1cHBvcnQgd2l0aCBNU1ZDNlBSSiB3ZSBzaG91bGQNCisJCSAgICAgYXZvaWQgdG8gY3JlYXRlIGFsbCB0aGUgRFNQIGZpbGVzIHJlcXVpcmVkIGZvciB0aGUgdGVzdA0KKwkJCSBwcm9ncmFtczogdGhleSB3b3VsZCB0YWtlIGEgX2xvdF8gb2Ygc3BhY2UgISEgLS0+DQorCQk8aWYgY29uZD0iRk9STUFUPT0nbXN2YzZwcmonIGFuZCBGVUxMX09QVElPTlNfU1VQUE9SVD09JzEnIj4wPC9pZj4NCisNCisJCTwhLS0gd2hlbiBjcmVhdGluZyBhIG1ha2VmaWxlIG9yIHVzaW5nIE1TVkM2UFJKIHdpdGggbGltaXRlZA0KKwkJICAgICBvcHRpb25zIHN1cHBvcnQsIHRoZW4gd2UgY2FuIGJ1aWxkIGFsbCB0aGUgdGVzdHMgc2FmZWx5IC0tPg0KKwkJPGlmIGNvbmQ9IkZPUk1BVCE9J21zdmM2cHJqJyBvciBGVUxMX09QVElPTlNfU1VQUE9SVD09JzAnIj4xPC9pZj4NCisNCisJPC9zZXQ+DQorDQorICAgIDxpZiBjb25kPSJCVUlMRF9BTExfVEVTVFM9PScxJyI+DQorDQorCQk8ZXhlIGlkPSJ0ZXN0QXV0b21hdGEiIHRlbXBsYXRlPSJ4bWwydGVzdCI+PHNvdXJjZXM+JChYTUxCQVNFRElSKSQoRElSU0VQKXRlc3RBdXRvbWF0YS5jPC9zb3VyY2VzPjwvZXhlPg0KKwkJPGV4ZSBpZD0idGVzdEMxNE4iIHRlbXBsYXRlPSJ4bWwydGVzdCI+PHNvdXJjZXM+JChYTUxCQVNFRElSKSQoRElSU0VQKXRlc3RDMTROLmM8L3NvdXJjZXM+PC9leGU+DQorCQk8ZXhlIGlkPSJ0ZXN0SFRNTCIgdGVtcGxhdGU9InhtbDJ0ZXN0Ij48c291cmNlcz4kKFhNTEJBU0VESVIpJChESVJTRVApdGVzdEhUTUwuYzwvc291cmNlcz48L2V4ZT4NCisJCTxleGUgaWQ9InRlc3RSZWFkZXIiIHRlbXBsYXRlPSJ4bWwydGVzdCI+PHNvdXJjZXM+JChYTUxCQVNFRElSKSQoRElSU0VQKXRlc3RSZWFkZXIuYzwvc291cmNlcz48L2V4ZT4NCisJCTxleGUgaWQ9InRlc3RSZWdleHAiIHRlbXBsYXRlPSJ4bWwydGVzdCI+PHNvdXJjZXM+JChYTUxCQVNFRElSKSQoRElSU0VQKXRlc3RSZWdleHAuYzwvc291cmNlcz48L2V4ZT4NCisJCTxleGUgaWQ9InRlc3RSZWxheCIgdGVtcGxhdGU9InhtbDJ0ZXN0Ij48c291cmNlcz4kKFhNTEJBU0VESVIpJChESVJTRVApdGVzdFJlbGF4LmM8L3NvdXJjZXM+PC9leGU+DQorCQk8ZXhlIGlkPSJ0ZXN0U2F4IiB0ZW1wbGF0ZT0ieG1sMnRlc3QiPjxzb3VyY2VzPiQoWE1MQkFTRURJUikkKERJUlNFUCl0ZXN0U2F4LmM8L3NvdXJjZXM+PC9leGU+DQorCQk8ZXhlIGlkPSJ0ZXN0U2NoZW1hcyIgdGVtcGxhdGU9InhtbDJ0ZXN0Ij48c291cmNlcz4kKFhNTEJBU0VESVIpJChESVJTRVApdGVzdFNjaGVtYXMuYzwvc291cmNlcz48L2V4ZT4NCisJCTxleGUgaWQ9InRlc3RVUkkiIHRlbXBsYXRlPSJ4bWwydGVzdCI+PHNvdXJjZXM+JChYTUxCQVNFRElSKSQoRElSU0VQKXRlc3RVUkkuYzwvc291cmNlcz48L2V4ZT4NCisJCTxleGUgaWQ9InRlc3RYUGF0aCIgdGVtcGxhdGU9InhtbDJ0ZXN0Ij48c291cmNlcz4kKFhNTEJBU0VESVIpJChESVJTRVApdGVzdFhQYXRoLmM8L3NvdXJjZXM+PC9leGU+DQorCQk8ZXhlIGlkPSJ4bWxsaW50IiB0ZW1wbGF0ZT0ieG1sMnRlc3QiPjxzb3VyY2VzPiQoWE1MQkFTRURJUikkKERJUlNFUCl4bWxsaW50LmM8L3NvdXJjZXM+PC9leGU+DQorDQorCQk8aWYgY29uZD0iRk9STUFUPT0nYXV0b2NvbmYnIj4NCisJCQk8ZXhlIGlkPSJ0ZXN0ZHNvIiB0ZW1wbGF0ZT0ieG1sMnRlc3QiPjxzb3VyY2VzPiQoWE1MQkFTRURJUikkKERJUlNFUCl0ZXN0ZHNvLmM8L3NvdXJjZXM+PC9leGU+DQorCQk8L2lmPg0KKw0KKwk8IS0tIEZJWE1FOg0KKwkJPGV4ZSBpZD0idGVzdE1vZHVsZSIgdGVtcGxhdGU9InhtbDJ0ZXN0Ij48c291cmNlcz4kKFhNTEJBU0VESVIpJChESVJTRVApdGVzdE1vZHVsZS5jPC9zb3VyY2VzPjwvZXhlPg0KKw0KKwkJPGlmIGNvbmQ9IldJVEhfVEhSRUFEUz09J3Bvc2l4JyI+DQorCQkJPGV4ZSBpZD0idGVzdFRocmVhZHMiIHRlbXBsYXRlPSJ4bWwydGVzdCI+PHNvdXJjZXM+JChYTUxCQVNFRElSKSQoRElSU0VQKXRlc3RUaHJlYWRzLmM8L3NvdXJjZXM+PC9leGU+DQorCQk8L2lmPg0KKwkJPGlmIGNvbmQ9IldJVEhfVEhSRUFEUz09J2N0bHMnIG9yIFdJVEhfVEhSRUFEUz09J25hdGl2ZSciPg0KKwkJCTxleGUgaWQ9InRlc3RUaHJlYWRzV2luMzIiIHRlbXBsYXRlPSJ4bWwydGVzdCI+PHNvdXJjZXM+JChYTUxCQVNFRElSKSQoRElSU0VQKXRlc3RUaHJlYWRzV2luMzIuYzwvc291cmNlcz48L2V4ZT4NCisJCTwvaWY+DQorCS0tPg0KKwk8L2lmPg0KKw0KKzwvbWFrZWZpbGU+DQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9idWYuYyBiL2xpYnhtbDIvYnVmLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmVmYzdiNgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvYnVmLmMKQEAgLTAsMCArMSwxMzA0IEBACisvKgorICogYnVmLmM6IG1lbW9yeSBidWZmZXJzIGZvciBsaWJ4bWwyCisgKgorICogbmV3IGJ1ZmZlciBzdHJ1Y3R1cmVzIGFuZCBlbnRyeSBwb2ludHMgdG8gc2ltcGxpZnkgdGhlIG1haW50YWluYW5jZQorICogb2YgbGlieG1sMiBhbmQgZW5zdXJlIHdlIGtlZXAgZ29vZCBjb250cm9sIG92ZXIgbWVtb3J5IGFsbG9jYXRpb25zCisgKiBhbmQgc3RheSA2NCBiaXRzIGNsZWFuLgorICogVGhlIG5ldyBlbnRyeSBwb2ludCB1c2UgdGhlIHhtbEJ1ZlB0ciBvcGFxdWUgc3RydWN0dXJlIGFuZAorICogeG1sQnVmLi4uKCkgY291bnRlcnBhcnRzIHRvIHRoZSBvbGQgeG1sQnVmLi4uKCkgZnVuY3Rpb25zCisgKgorICogU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgorICoKKyAqIGRhbmllbEB2ZWlsbGFyZC5jb20KKyAqLworCisjZGVmaW5lIElOX0xJQlhNTAorI2luY2x1ZGUgImxpYnhtbC5oIgorCisjaW5jbHVkZSA8c3RyaW5nLmg+IC8qIGZvciBtZW1zZXQoKSBvbmx5ICEgKi8KKyNpbmNsdWRlIDxsaW1pdHMuaD4KKyNpZmRlZiBIQVZFX0NUWVBFX0gKKyNpbmNsdWRlIDxjdHlwZS5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9TVERMSUJfSAorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2VuZGlmCisKKyNpbmNsdWRlIDxsaWJ4bWwvdHJlZS5oPgorI2luY2x1ZGUgPGxpYnhtbC9nbG9iYWxzLmg+CisjaW5jbHVkZSA8bGlieG1sL3RyZWUuaD4KKyNpbmNsdWRlICJidWYuaCIKKworI2RlZmluZSBXSVRIX0JVRkZFUl9DT01QQVQKKworLyoqCisgKiB4bWxCdWY6CisgKgorICogQSBidWZmZXIgc3RydWN0dXJlLiBUaGUgYmFzZSBvZiB0aGUgc3RydWN0dXJlIGlzIHNvbWVob3cgY29tcGF0aWJsZQorICogd2l0aCBzdHJ1Y3QgX3htbEJ1ZmZlciB0byBsaW1pdCByaXNrcyBvbiBhcHBsaWNhdGlvbiB3aGljaCBhY2Nlc3NlZAorICogZGlyZWN0bHkgdGhlIGlucHV0LT5idWYtPmJ1ZmZlciBzdHJ1Y3R1cmVzLgorICovCisKK3N0cnVjdCBfeG1sQnVmIHsKKyAgICB4bWxDaGFyICpjb250ZW50OwkJLyogVGhlIGJ1ZmZlciBjb250ZW50IFVURjggKi8KKyAgICB1bnNpZ25lZCBpbnQgY29tcGF0X3VzZTsgICAgLyogZm9yIGJpbmFyeSBjb21wYXRpYmlsaXR5ICovCisgICAgdW5zaWduZWQgaW50IGNvbXBhdF9zaXplOyAgIC8qIGZvciBiaW5hcnkgY29tcGF0aWJpbGl0eSAqLworICAgIHhtbEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUgYWxsb2M7IC8qIFRoZSByZWFsbG9jIG1ldGhvZCAqLworICAgIHhtbENoYXIgKmNvbnRlbnRJTzsJCS8qIGluIElPIG1vZGUgd2UgbWF5IGhhdmUgYSBkaWZmZXJlbnQgYmFzZSAqLworICAgIHNpemVfdCB1c2U7CQkgICAgICAgIC8qIFRoZSBidWZmZXIgc2l6ZSB1c2VkICovCisgICAgc2l6ZV90IHNpemU7CQkvKiBUaGUgYnVmZmVyIHNpemUgKi8KKyAgICB4bWxCdWZmZXJQdHIgYnVmZmVyOyAgICAgICAgLyogd3JhcHBlciBmb3IgYW4gb2xkIGJ1ZmZlciAqLworICAgIGludCBlcnJvcjsgICAgICAgICAgICAgICAgICAvKiBhbiBlcnJvciBjb2RlIGlmIGEgZmFpbHVyZSBvY2N1cmVkICovCit9OworCisjaWZkZWYgV0lUSF9CVUZGRVJfQ09NUEFUCisvKgorICogTWFjcm8gZm9yIGNvbXBhdGliaWxpdHkgd2l0aCB4bWxCdWZmZXIgdG8gYmUgdXNlZCBhZnRlciBhbiB4bWxCdWYKKyAqIGlzIHVwZGF0ZWQuIFRoaXMgbWFrZXMgc3VyZSB0aGUgY29tcGF0IGZpZWxkcyBhcmUgdXBkYXRlZCB0b28uCisgKi8KKyNkZWZpbmUgVVBEQVRFX0NPTVBBVChidWYpCQkJCSAgICBcCisgICAgIGlmIChidWYtPnNpemUgPCBJTlRfTUFYKSBidWYtPmNvbXBhdF9zaXplID0gYnVmLT5zaXplOyBcCisgICAgIGVsc2UgYnVmLT5jb21wYXRfc2l6ZSA9IElOVF9NQVg7CQkJICAgIFwKKyAgICAgaWYgKGJ1Zi0+dXNlIDwgSU5UX01BWCkgYnVmLT5jb21wYXRfdXNlID0gYnVmLT51c2U7IFwKKyAgICAgZWxzZSBidWYtPmNvbXBhdF91c2UgPSBJTlRfTUFYOworCisvKgorICogTWFjcm8gZm9yIGNvbXBhdGliaWxpdHkgd2l0aCB4bWxCdWZmZXIgdG8gYmUgdXNlZCBpbiBhbGwgdGhlIHhtbEJ1ZgorICogZW50cnkgcG9pbnRzLCBpdCBjaGVja3MgdGhhdCB0aGUgY29tcGF0IGZpZWxkcyBoYXZlIG5vdCBiZWVuIG1vZGlmaWVkCisgKiBieSBkaXJlY3QgY2FsbCB0byB4bWxCdWZmZXIgZnVuY3Rpb24gZnJvbSBjb2RlIGNvbXBpbGVkIGJlZm9yZSAyLjkuMCAuCisgKi8KKyNkZWZpbmUgQ0hFQ0tfQ09NUEFUKGJ1ZikJCQkJICAgIFwKKyAgICAgaWYgKGJ1Zi0+c2l6ZSAhPSAoc2l6ZV90KSBidWYtPmNvbXBhdF9zaXplKQkgICAgXAorICAgICAgICAgaWYgKGJ1Zi0+Y29tcGF0X3NpemUgPCBJTlRfTUFYKQkJICAgIFwKKwkgICAgIGJ1Zi0+c2l6ZSA9IGJ1Zi0+Y29tcGF0X3NpemU7CQkgICAgXAorICAgICBpZiAoYnVmLT51c2UgIT0gKHNpemVfdCkgYnVmLT5jb21wYXRfdXNlKQkJICAgIFwKKyAgICAgICAgIGlmIChidWYtPmNvbXBhdF91c2UgPCBJTlRfTUFYKQkJCSAgICBcCisJICAgICBidWYtPnVzZSA9IGJ1Zi0+Y29tcGF0X3VzZTsKKworI2Vsc2UgLyogISBXSVRIX0JVRkZFUl9DT01QQVQgKi8KKyNkZWZpbmUgVVBEQVRFX0NPTVBBVChidWYpCisjZGVmaW5lIENIRUNLX0NPTVBBVChidWYpCisjZW5kaWYgLyogV0lUSF9CVUZGRVJfQ09NUEFUICovCisKKy8qKgorICogeG1sQnVmTWVtb3J5RXJyb3I6CisgKiBAZXh0cmE6ICBleHRyYSBpbmZvcm1hdGlvbnMKKyAqCisgKiBIYW5kbGUgYW4gb3V0IG9mIG1lbW9yeSBjb25kaXRpb24KKyAqIFRvIGJlIGltcHJvdmVkLi4uCisgKi8KK3N0YXRpYyB2b2lkCit4bWxCdWZNZW1vcnlFcnJvcih4bWxCdWZQdHIgYnVmLCBjb25zdCBjaGFyICpleHRyYSkKK3sKKyAgICBfX3htbFNpbXBsZUVycm9yKFhNTF9GUk9NX0JVRkZFUiwgWE1MX0VSUl9OT19NRU1PUlksIE5VTEwsIE5VTEwsIGV4dHJhKTsKKyAgICBpZiAoKGJ1ZikgJiYgKGJ1Zi0+ZXJyb3IgPT0gMCkpCisgICAgICAgIGJ1Zi0+ZXJyb3IgPSBYTUxfRVJSX05PX01FTU9SWTsKK30KKworLyoqCisgKiB4bWxCdWZPdmVyZmxvd0Vycm9yOgorICogQGV4dHJhOiAgZXh0cmEgaW5mb3JtYXRpb25zCisgKgorICogSGFuZGxlIGEgYnVmZmVyIG92ZXJmbG93IGVycm9yCisgKiBUbyBiZSBpbXByb3ZlZC4uLgorICovCitzdGF0aWMgdm9pZAoreG1sQnVmT3ZlcmZsb3dFcnJvcih4bWxCdWZQdHIgYnVmLCBjb25zdCBjaGFyICpleHRyYSkKK3sKKyAgICBfX3htbFNpbXBsZUVycm9yKFhNTF9GUk9NX0JVRkZFUiwgWE1MX0JVRl9PVkVSRkxPVywgTlVMTCwgTlVMTCwgZXh0cmEpOworICAgIGlmICgoYnVmKSAmJiAoYnVmLT5lcnJvciA9PSAwKSkKKyAgICAgICAgYnVmLT5lcnJvciA9IFhNTF9CVUZfT1ZFUkZMT1c7Cit9CisKKworLyoqCisgKiB4bWxCdWZDcmVhdGU6CisgKgorICogcm91dGluZSB0byBjcmVhdGUgYW4gWE1MIGJ1ZmZlci4KKyAqIHJldHVybnMgdGhlIG5ldyBzdHJ1Y3R1cmUuCisgKi8KK3htbEJ1ZlB0cgoreG1sQnVmQ3JlYXRlKHZvaWQpIHsKKyAgICB4bWxCdWZQdHIgcmV0OworCisgICAgcmV0ID0gKHhtbEJ1ZlB0cikgeG1sTWFsbG9jKHNpemVvZih4bWxCdWYpKTsKKyAgICBpZiAocmV0ID09IE5VTEwpIHsKKwl4bWxCdWZNZW1vcnlFcnJvcihOVUxMLCAiY3JlYXRpbmcgYnVmZmVyIik7CisgICAgICAgIHJldHVybihOVUxMKTsKKyAgICB9CisgICAgcmV0LT5jb21wYXRfdXNlID0gMDsKKyAgICByZXQtPnVzZSA9IDA7CisgICAgcmV0LT5lcnJvciA9IDA7CisgICAgcmV0LT5idWZmZXIgPSBOVUxMOworICAgIHJldC0+c2l6ZSA9IHhtbERlZmF1bHRCdWZmZXJTaXplOworICAgIHJldC0+Y29tcGF0X3NpemUgPSB4bWxEZWZhdWx0QnVmZmVyU2l6ZTsKKyAgICByZXQtPmFsbG9jID0geG1sQnVmZmVyQWxsb2NTY2hlbWU7CisgICAgcmV0LT5jb250ZW50ID0gKHhtbENoYXIgKikgeG1sTWFsbG9jQXRvbWljKHJldC0+c2l6ZSAqIHNpemVvZih4bWxDaGFyKSk7CisgICAgaWYgKHJldC0+Y29udGVudCA9PSBOVUxMKSB7CisJeG1sQnVmTWVtb3J5RXJyb3IocmV0LCAiY3JlYXRpbmcgYnVmZmVyIik7CisJeG1sRnJlZShyZXQpOworICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgfQorICAgIHJldC0+Y29udGVudFswXSA9IDA7CisgICAgcmV0LT5jb250ZW50SU8gPSBOVUxMOworICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbEJ1ZkNyZWF0ZVNpemU6CisgKiBAc2l6ZTogaW5pdGlhbCBzaXplIG9mIGJ1ZmZlcgorICoKKyAqIHJvdXRpbmUgdG8gY3JlYXRlIGFuIFhNTCBidWZmZXIuCisgKiByZXR1cm5zIHRoZSBuZXcgc3RydWN0dXJlLgorICovCit4bWxCdWZQdHIKK3htbEJ1ZkNyZWF0ZVNpemUoc2l6ZV90IHNpemUpIHsKKyAgICB4bWxCdWZQdHIgcmV0OworCisgICAgcmV0ID0gKHhtbEJ1ZlB0cikgeG1sTWFsbG9jKHNpemVvZih4bWxCdWYpKTsKKyAgICBpZiAocmV0ID09IE5VTEwpIHsKKwl4bWxCdWZNZW1vcnlFcnJvcihOVUxMLCAiY3JlYXRpbmcgYnVmZmVyIik7CisgICAgICAgIHJldHVybihOVUxMKTsKKyAgICB9CisgICAgcmV0LT5jb21wYXRfdXNlID0gMDsKKyAgICByZXQtPnVzZSA9IDA7CisgICAgcmV0LT5lcnJvciA9IDA7CisgICAgcmV0LT5idWZmZXIgPSBOVUxMOworICAgIHJldC0+YWxsb2MgPSB4bWxCdWZmZXJBbGxvY1NjaGVtZTsKKyAgICByZXQtPnNpemUgPSAoc2l6ZSA/IHNpemUrMiA6IDApOyAgICAgICAgIC8qICsxIGZvciBlbmRpbmcgbnVsbCAqLworICAgIHJldC0+Y29tcGF0X3NpemUgPSAoaW50KSByZXQtPnNpemU7CisgICAgaWYgKHJldC0+c2l6ZSl7CisgICAgICAgIHJldC0+Y29udGVudCA9ICh4bWxDaGFyICopIHhtbE1hbGxvY0F0b21pYyhyZXQtPnNpemUgKiBzaXplb2YoeG1sQ2hhcikpOworICAgICAgICBpZiAocmV0LT5jb250ZW50ID09IE5VTEwpIHsKKwkgICAgeG1sQnVmTWVtb3J5RXJyb3IocmV0LCAiY3JlYXRpbmcgYnVmZmVyIik7CisgICAgICAgICAgICB4bWxGcmVlKHJldCk7CisgICAgICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgICAgIH0KKyAgICAgICAgcmV0LT5jb250ZW50WzBdID0gMDsKKyAgICB9IGVsc2UKKwlyZXQtPmNvbnRlbnQgPSBOVUxMOworICAgIHJldC0+Y29udGVudElPID0gTlVMTDsKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxCdWZEZXRhY2g6CisgKiBAYnVmOiAgdGhlIGJ1ZmZlcgorICoKKyAqIFJlbW92ZSB0aGUgc3RyaW5nIGNvbnRhaW5lZCBpbiBhIGJ1ZmZlciBhbmQgZ2l2ZSBpdCBiYWNrIHRvIHRoZQorICogY2FsbGVyLiBUaGUgYnVmZmVyIGlzIHJlc2V0IHRvIGFuIGVtcHR5IGNvbnRlbnQuCisgKiBUaGlzIGRvZXNuJ3Qgd29yayB3aXRoIGltbXV0YWJsZSBidWZmZXJzIGFzIHRoZXkgY2FuJ3QgYmUgcmVzZXQuCisgKgorICogUmV0dXJucyB0aGUgcHJldmlvdXMgc3RyaW5nIGNvbnRhaW5lZCBieSB0aGUgYnVmZmVyLgorICovCit4bWxDaGFyICoKK3htbEJ1ZkRldGFjaCh4bWxCdWZQdHIgYnVmKSB7CisgICAgeG1sQ2hhciAqcmV0OworCisgICAgaWYgKGJ1ZiA9PSBOVUxMKQorICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgaWYgKGJ1Zi0+YWxsb2MgPT0gWE1MX0JVRkZFUl9BTExPQ19JTU1VVEFCTEUpCisgICAgICAgIHJldHVybihOVUxMKTsKKyAgICBpZiAoYnVmLT5idWZmZXIgIT0gTlVMTCkKKyAgICAgICAgcmV0dXJuKE5VTEwpOworICAgIGlmIChidWYtPmVycm9yKQorICAgICAgICByZXR1cm4oTlVMTCk7CisKKyAgICByZXQgPSBidWYtPmNvbnRlbnQ7CisgICAgYnVmLT5jb250ZW50ID0gTlVMTDsKKyAgICBidWYtPnNpemUgPSAwOworICAgIGJ1Zi0+dXNlID0gMDsKKyAgICBidWYtPmNvbXBhdF91c2UgPSAwOworICAgIGJ1Zi0+Y29tcGF0X3NpemUgPSAwOworCisgICAgcmV0dXJuIHJldDsKK30KKworCisvKioKKyAqIHhtbEJ1ZkNyZWF0ZVN0YXRpYzoKKyAqIEBtZW06IHRoZSBtZW1vcnkgYXJlYQorICogQHNpemU6ICB0aGUgc2l6ZSBpbiBieXRlCisgKgorICogcm91dGluZSB0byBjcmVhdGUgYW4gWE1MIGJ1ZmZlciBmcm9tIGFuIGltbXV0YWJsZSBtZW1vcnkgYXJlYS4KKyAqIFRoZSBhcmVhIHdvbid0IGJlIG1vZGlmaWVkIG5vciBjb3BpZWQsIGFuZCBpcyBleHBlY3RlZCB0byBiZQorICogcHJlc2VudCB1bnRpbCB0aGUgZW5kIG9mIHRoZSBidWZmZXIgbGlmZXRpbWUuCisgKgorICogcmV0dXJucyB0aGUgbmV3IHN0cnVjdHVyZS4KKyAqLworeG1sQnVmUHRyCit4bWxCdWZDcmVhdGVTdGF0aWModm9pZCAqbWVtLCBzaXplX3Qgc2l6ZSkgeworICAgIHhtbEJ1ZlB0ciByZXQ7CisKKyAgICBpZiAoKG1lbSA9PSBOVUxMKSB8fCAoc2l6ZSA9PSAwKSkKKyAgICAgICAgcmV0dXJuKE5VTEwpOworCisgICAgcmV0ID0gKHhtbEJ1ZlB0cikgeG1sTWFsbG9jKHNpemVvZih4bWxCdWYpKTsKKyAgICBpZiAocmV0ID09IE5VTEwpIHsKKwl4bWxCdWZNZW1vcnlFcnJvcihOVUxMLCAiY3JlYXRpbmcgYnVmZmVyIik7CisgICAgICAgIHJldHVybihOVUxMKTsKKyAgICB9CisgICAgaWYgKHNpemUgPCBJTlRfTUFYKSB7CisgICAgICAgIHJldC0+Y29tcGF0X3VzZSA9IHNpemU7CisgICAgICAgIHJldC0+Y29tcGF0X3NpemUgPSBzaXplOworICAgIH0gZWxzZSB7CisgICAgICAgIHJldC0+Y29tcGF0X3VzZSA9IElOVF9NQVg7CisgICAgICAgIHJldC0+Y29tcGF0X3NpemUgPSBJTlRfTUFYOworICAgIH0KKyAgICByZXQtPnVzZSA9IHNpemU7CisgICAgcmV0LT5zaXplID0gc2l6ZTsKKyAgICByZXQtPmFsbG9jID0gWE1MX0JVRkZFUl9BTExPQ19JTU1VVEFCTEU7CisgICAgcmV0LT5jb250ZW50ID0gKHhtbENoYXIgKikgbWVtOworICAgIHJldC0+ZXJyb3IgPSAwOworICAgIHJldC0+YnVmZmVyID0gTlVMTDsKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxCdWZHZXRBbGxvY2F0aW9uU2NoZW1lOgorICogQGJ1ZjogIHRoZSBidWZmZXIKKyAqCisgKiBHZXQgdGhlIGJ1ZmZlciBhbGxvY2F0aW9uIHNjaGVtZQorICoKKyAqIFJldHVybnMgdGhlIHNjaGVtZSBvciAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK2ludAoreG1sQnVmR2V0QWxsb2NhdGlvblNjaGVtZSh4bWxCdWZQdHIgYnVmKSB7CisgICAgaWYgKGJ1ZiA9PSBOVUxMKSB7CisjaWZkZWYgREVCVUdfQlVGRkVSCisgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkieG1sQnVmR2V0QWxsb2NhdGlvblNjaGVtZTogYnVmID09IE5VTExcbiIpOworI2VuZGlmCisgICAgICAgIHJldHVybigtMSk7CisgICAgfQorICAgIHJldHVybihidWYtPmFsbG9jKTsKK30KKworLyoqCisgKiB4bWxCdWZTZXRBbGxvY2F0aW9uU2NoZW1lOgorICogQGJ1ZjogIHRoZSBidWZmZXIgdG8gdHVuZQorICogQHNjaGVtZTogIGFsbG9jYXRpb24gc2NoZW1lIHRvIHVzZQorICoKKyAqIFNldHMgdGhlIGFsbG9jYXRpb24gc2NoZW1lIGZvciB0aGlzIGJ1ZmZlcgorICoKKyAqIHJldHVybnMgMCBpbiBjYXNlIG9mIHN1Y2Nlc3MgYW5kIC0xIGluIGNhc2Ugb2YgZmFpbHVyZQorICovCitpbnQKK3htbEJ1ZlNldEFsbG9jYXRpb25TY2hlbWUoeG1sQnVmUHRyIGJ1ZiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sQnVmZmVyQWxsb2NhdGlvblNjaGVtZSBzY2hlbWUpIHsKKyAgICBpZiAoKGJ1ZiA9PSBOVUxMKSB8fCAoYnVmLT5lcnJvciAhPSAwKSkgeworI2lmZGVmIERFQlVHX0JVRkZFUgorICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJInhtbEJ1ZlNldEFsbG9jYXRpb25TY2hlbWU6IGJ1ZiA9PSBOVUxMIG9yIGluIGVycm9yXG4iKTsKKyNlbmRpZgorICAgICAgICByZXR1cm4oLTEpOworICAgIH0KKyAgICBpZiAoKGJ1Zi0+YWxsb2MgPT0gWE1MX0JVRkZFUl9BTExPQ19JTU1VVEFCTEUpIHx8CisgICAgICAgIChidWYtPmFsbG9jID09IFhNTF9CVUZGRVJfQUxMT0NfSU8pKQorICAgICAgICByZXR1cm4oLTEpOworICAgIGlmICgoc2NoZW1lID09IFhNTF9CVUZGRVJfQUxMT0NfRE9VQkxFSVQpIHx8CisgICAgICAgIChzY2hlbWUgPT0gWE1MX0JVRkZFUl9BTExPQ19FWEFDVCkgfHwKKyAgICAgICAgKHNjaGVtZSA9PSBYTUxfQlVGRkVSX0FMTE9DX0hZQlJJRCkgfHwKKyAgICAgICAgKHNjaGVtZSA9PSBYTUxfQlVGRkVSX0FMTE9DX0lNTVVUQUJMRSkpIHsKKwlidWYtPmFsbG9jID0gc2NoZW1lOworICAgICAgICBpZiAoYnVmLT5idWZmZXIpCisgICAgICAgICAgICBidWYtPmJ1ZmZlci0+YWxsb2MgPSBzY2hlbWU7CisgICAgICAgIHJldHVybigwKTsKKyAgICB9CisgICAgLyoKKyAgICAgKiBTd2l0Y2hpbmcgYSBidWZmZXIgQUxMT0NfSU8gaGFzIHRoZSBzaWRlIGVmZmVjdCBvZiBpbml0aWFsaXppbmcKKyAgICAgKiB0aGUgY29udGVudElPIGZpZWxkIHdpdGggdGhlIGN1cnJlbnQgY29udGVudAorICAgICAqLworICAgIGlmIChzY2hlbWUgPT0gWE1MX0JVRkZFUl9BTExPQ19JTykgeworICAgICAgICBidWYtPmFsbG9jID0gWE1MX0JVRkZFUl9BTExPQ19JTzsKKyAgICAgICAgYnVmLT5jb250ZW50SU8gPSBidWYtPmNvbnRlbnQ7CisgICAgfQorICAgIHJldHVybigtMSk7Cit9CisKKy8qKgorICogeG1sQnVmRnJlZToKKyAqIEBidWY6ICB0aGUgYnVmZmVyIHRvIGZyZWUKKyAqCisgKiBGcmVlcyBhbiBYTUwgYnVmZmVyLiBJdCBmcmVlcyBib3RoIHRoZSBjb250ZW50IGFuZCB0aGUgc3RydWN0dXJlIHdoaWNoCisgKiBlbmNhcHN1bGF0ZSBpdC4KKyAqLwordm9pZAoreG1sQnVmRnJlZSh4bWxCdWZQdHIgYnVmKSB7CisgICAgaWYgKGJ1ZiA9PSBOVUxMKSB7CisjaWZkZWYgREVCVUdfQlVGRkVSCisgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkieG1sQnVmRnJlZTogYnVmID09IE5VTExcbiIpOworI2VuZGlmCisJcmV0dXJuOworICAgIH0KKworICAgIGlmICgoYnVmLT5hbGxvYyA9PSBYTUxfQlVGRkVSX0FMTE9DX0lPKSAmJgorICAgICAgICAoYnVmLT5jb250ZW50SU8gIT0gTlVMTCkpIHsKKyAgICAgICAgeG1sRnJlZShidWYtPmNvbnRlbnRJTyk7CisgICAgfSBlbHNlIGlmICgoYnVmLT5jb250ZW50ICE9IE5VTEwpICYmCisgICAgICAgIChidWYtPmFsbG9jICE9IFhNTF9CVUZGRVJfQUxMT0NfSU1NVVRBQkxFKSkgeworICAgICAgICB4bWxGcmVlKGJ1Zi0+Y29udGVudCk7CisgICAgfQorICAgIHhtbEZyZWUoYnVmKTsKK30KKworLyoqCisgKiB4bWxCdWZFbXB0eToKKyAqIEBidWY6ICB0aGUgYnVmZmVyCisgKgorICogZW1wdHkgYSBidWZmZXIuCisgKi8KK3ZvaWQKK3htbEJ1ZkVtcHR5KHhtbEJ1ZlB0ciBidWYpIHsKKyAgICBpZiAoKGJ1ZiA9PSBOVUxMKSB8fCAoYnVmLT5lcnJvciAhPSAwKSkgcmV0dXJuOworICAgIGlmIChidWYtPmNvbnRlbnQgPT0gTlVMTCkgcmV0dXJuOworICAgIENIRUNLX0NPTVBBVChidWYpCisgICAgYnVmLT51c2UgPSAwOworICAgIGlmIChidWYtPmFsbG9jID09IFhNTF9CVUZGRVJfQUxMT0NfSU1NVVRBQkxFKSB7CisgICAgICAgIGJ1Zi0+Y29udGVudCA9IEJBRF9DQVNUICIiOworICAgIH0gZWxzZSBpZiAoKGJ1Zi0+YWxsb2MgPT0gWE1MX0JVRkZFUl9BTExPQ19JTykgJiYKKyAgICAgICAgICAgICAgIChidWYtPmNvbnRlbnRJTyAhPSBOVUxMKSkgeworICAgICAgICBzaXplX3Qgc3RhcnRfYnVmID0gYnVmLT5jb250ZW50IC0gYnVmLT5jb250ZW50SU87CisKKwlidWYtPnNpemUgKz0gc3RhcnRfYnVmOworICAgICAgICBidWYtPmNvbnRlbnQgPSBidWYtPmNvbnRlbnRJTzsKKyAgICAgICAgYnVmLT5jb250ZW50WzBdID0gMDsKKyAgICB9IGVsc2UgeworICAgICAgICBidWYtPmNvbnRlbnRbMF0gPSAwOworICAgIH0KKyAgICBVUERBVEVfQ09NUEFUKGJ1ZikKK30KKworLyoqCisgKiB4bWxCdWZTaHJpbms6CisgKiBAYnVmOiAgdGhlIGJ1ZmZlciB0byBkdW1wCisgKiBAbGVuOiAgdGhlIG51bWJlciBvZiB4bWxDaGFyIHRvIHJlbW92ZQorICoKKyAqIFJlbW92ZSB0aGUgYmVnaW5uaW5nIG9mIGFuIFhNTCBidWZmZXIuCisgKiBOT1RFIHRoYXQgdGhpcyByb3V0aW5lIGJlaGF2aW91ciBkaWZmZXJzIGZyb20geG1sQnVmZmVyU2hyaW5rKCkKKyAqIGFzIGl0IHdpbGwgcmV0dXJuIDAgb24gZXJyb3IgaW5zdGVhZCBvZiAtMSBkdWUgdG8gc2l6ZV90IGJlaW5nCisgKiB1c2VkIGFzIHRoZSByZXR1cm4gdHlwZS4KKyAqCisgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgYnl0ZSByZW1vdmVkIG9yIDAgaW4gY2FzZSBvZiBmYWlsdXJlCisgKi8KK3NpemVfdAoreG1sQnVmU2hyaW5rKHhtbEJ1ZlB0ciBidWYsIHNpemVfdCBsZW4pIHsKKyAgICBpZiAoKGJ1ZiA9PSBOVUxMKSB8fCAoYnVmLT5lcnJvciAhPSAwKSkgcmV0dXJuKDApOworICAgIENIRUNLX0NPTVBBVChidWYpCisgICAgaWYgKGxlbiA9PSAwKSByZXR1cm4oMCk7CisgICAgaWYgKGxlbiA+IGJ1Zi0+dXNlKSByZXR1cm4oMCk7CisKKyAgICBidWYtPnVzZSAtPSBsZW47CisgICAgaWYgKChidWYtPmFsbG9jID09IFhNTF9CVUZGRVJfQUxMT0NfSU1NVVRBQkxFKSB8fAorICAgICAgICAoKGJ1Zi0+YWxsb2MgPT0gWE1MX0JVRkZFUl9BTExPQ19JTykgJiYgKGJ1Zi0+Y29udGVudElPICE9IE5VTEwpKSkgeworCS8qCisJICogd2UganVzdCBtb3ZlIHRoZSBjb250ZW50IHBvaW50ZXIsIGJ1dCBhbHNvIG1ha2Ugc3VyZQorCSAqIHRoZSBwZXJjZWl2ZWQgYnVmZmVyIHNpemUgaGFzIHNocmlua2VkIGFjY29yZGluZ2x5CisJICovCisgICAgICAgIGJ1Zi0+Y29udGVudCArPSBsZW47CisJYnVmLT5zaXplIC09IGxlbjsKKworICAgICAgICAvKgorCSAqIHNvbWV0aW1lcyB0aG91Z2ggaXQgbWF5YmUgYmUgYmV0dGVyIHRvIHJlYWxseSBzaHJpbmsKKwkgKiBvbiBJTyBidWZmZXJzCisJICovCisJaWYgKChidWYtPmFsbG9jID09IFhNTF9CVUZGRVJfQUxMT0NfSU8pICYmIChidWYtPmNvbnRlbnRJTyAhPSBOVUxMKSkgeworCSAgICBzaXplX3Qgc3RhcnRfYnVmID0gYnVmLT5jb250ZW50IC0gYnVmLT5jb250ZW50SU87CisJICAgIGlmIChzdGFydF9idWYgPj0gYnVmLT5zaXplKSB7CisJCW1lbW1vdmUoYnVmLT5jb250ZW50SU8sICZidWYtPmNvbnRlbnRbMF0sIGJ1Zi0+dXNlKTsKKwkJYnVmLT5jb250ZW50ID0gYnVmLT5jb250ZW50SU87CisJCWJ1Zi0+Y29udGVudFtidWYtPnVzZV0gPSAwOworCQlidWYtPnNpemUgKz0gc3RhcnRfYnVmOworCSAgICB9CisJfQorICAgIH0gZWxzZSB7CisJbWVtbW92ZShidWYtPmNvbnRlbnQsICZidWYtPmNvbnRlbnRbbGVuXSwgYnVmLT51c2UpOworCWJ1Zi0+Y29udGVudFtidWYtPnVzZV0gPSAwOworICAgIH0KKyAgICBVUERBVEVfQ09NUEFUKGJ1ZikKKyAgICByZXR1cm4obGVuKTsKK30KKworLyoqCisgKiB4bWxCdWZHcm93SW50ZXJuYWw6CisgKiBAYnVmOiAgdGhlIGJ1ZmZlcgorICogQGxlbjogIHRoZSBtaW5pbXVtIGZyZWUgc2l6ZSB0byBhbGxvY2F0ZQorICoKKyAqIEdyb3cgdGhlIGF2YWlsYWJsZSBzcGFjZSBvZiBhbiBYTUwgYnVmZmVyLCBAbGVuIGlzIHRoZSB0YXJnZXQgdmFsdWUKKyAqIEVycm9yIGNoZWNraW5nIHNob3VsZCBiZSBkb25lIG9uIGJ1Zi0+ZXJyb3Igc2luY2UgdXNpbmcgdGhlIHJldHVybgorICogdmFsdWUgZG9lc24ndCB3b3JrIHRoYXQgd2VsbAorICoKKyAqIFJldHVybnMgMCBpbiBjYXNlIG9mIGVycm9yIG9yIHRoZSBsZW5ndGggbWFkZSBhdmFpbGFibGUgb3RoZXJ3aXNlCisgKi8KK3N0YXRpYyBzaXplX3QKK3htbEJ1Zkdyb3dJbnRlcm5hbCh4bWxCdWZQdHIgYnVmLCBzaXplX3QgbGVuKSB7CisgICAgc2l6ZV90IHNpemU7CisgICAgeG1sQ2hhciAqbmV3YnVmOworCisgICAgaWYgKChidWYgPT0gTlVMTCkgfHwgKGJ1Zi0+ZXJyb3IgIT0gMCkpIHJldHVybigwKTsKKyAgICBDSEVDS19DT01QQVQoYnVmKQorCisgICAgaWYgKGJ1Zi0+YWxsb2MgPT0gWE1MX0JVRkZFUl9BTExPQ19JTU1VVEFCTEUpIHJldHVybigwKTsKKyAgICBpZiAoYnVmLT51c2UgKyBsZW4gPCBidWYtPnNpemUpCisgICAgICAgIHJldHVybihidWYtPnNpemUgLSBidWYtPnVzZSk7CisKKyAgICAvKgorICAgICAqIFdpbmRvd3MgaGFzIGEgQklHIHByb2JsZW0gb24gcmVhbGxvYyB0aW1pbmcsIHNvIHdlIHRyeSB0byBkb3VibGUKKyAgICAgKiB0aGUgYnVmZmVyIHNpemUgKGlmIHRoYXQncyBlbm91Z2gpIChidWcgMTQ2Njk3KQorICAgICAqIEFwcGFyZW50bHkgQlNEIHRvbywgYW5kIGl0J3MgcHJvYmFibHkgYmVzdCBmb3IgbGludXggdG9vCisgICAgICogT24gYW4gZW1iZWRkZWQgc3lzdGVtIHRoaXMgbWF5IGJlIHNvbWV0aGluZyB0byBjaGFuZ2UKKyAgICAgKi8KKyNpZiAxCisgICAgaWYgKGJ1Zi0+c2l6ZSA+IChzaXplX3QpIGxlbikKKyAgICAgICAgc2l6ZSA9IGJ1Zi0+c2l6ZSAqIDI7CisgICAgZWxzZQorICAgICAgICBzaXplID0gYnVmLT51c2UgKyBsZW4gKyAxMDA7CisjZWxzZQorICAgIHNpemUgPSBidWYtPnVzZSArIGxlbiArIDEwMDsKKyNlbmRpZgorCisgICAgaWYgKChidWYtPmFsbG9jID09IFhNTF9CVUZGRVJfQUxMT0NfSU8pICYmIChidWYtPmNvbnRlbnRJTyAhPSBOVUxMKSkgeworICAgICAgICBzaXplX3Qgc3RhcnRfYnVmID0gYnVmLT5jb250ZW50IC0gYnVmLT5jb250ZW50SU87CisKKwluZXdidWYgPSAoeG1sQ2hhciAqKSB4bWxSZWFsbG9jKGJ1Zi0+Y29udGVudElPLCBzdGFydF9idWYgKyBzaXplKTsKKwlpZiAobmV3YnVmID09IE5VTEwpIHsKKwkgICAgeG1sQnVmTWVtb3J5RXJyb3IoYnVmLCAiZ3Jvd2luZyBidWZmZXIiKTsKKwkgICAgcmV0dXJuKDApOworCX0KKwlidWYtPmNvbnRlbnRJTyA9IG5ld2J1ZjsKKwlidWYtPmNvbnRlbnQgPSBuZXdidWYgKyBzdGFydF9idWY7CisgICAgfSBlbHNlIHsKKwluZXdidWYgPSAoeG1sQ2hhciAqKSB4bWxSZWFsbG9jKGJ1Zi0+Y29udGVudCwgc2l6ZSk7CisJaWYgKG5ld2J1ZiA9PSBOVUxMKSB7CisJICAgIHhtbEJ1Zk1lbW9yeUVycm9yKGJ1ZiwgImdyb3dpbmcgYnVmZmVyIik7CisJICAgIHJldHVybigwKTsKKwl9CisJYnVmLT5jb250ZW50ID0gbmV3YnVmOworICAgIH0KKyAgICBidWYtPnNpemUgPSBzaXplOworICAgIFVQREFURV9DT01QQVQoYnVmKQorICAgIHJldHVybihidWYtPnNpemUgLSBidWYtPnVzZSk7Cit9CisKKy8qKgorICogeG1sQnVmR3JvdzoKKyAqIEBidWY6ICB0aGUgYnVmZmVyCisgKiBAbGVuOiAgdGhlIG1pbmltdW0gZnJlZSBzaXplIHRvIGFsbG9jYXRlCisgKgorICogR3JvdyB0aGUgYXZhaWxhYmxlIHNwYWNlIG9mIGFuIFhNTCBidWZmZXIsIEBsZW4gaXMgdGhlIHRhcmdldCB2YWx1ZQorICogVGhpcyBpcyBiZWVuIGtlcHQgY29tcGF0aWJsZSB3aXRoIHhtbEJ1ZmZlckdyb3coKSBhcyBtdWNoIGFzIHBvc3NpYmxlCisgKgorICogUmV0dXJucyAtMSBpbiBjYXNlIG9mIGVycm9yIG9yIHRoZSBsZW5ndGggbWFkZSBhdmFpbGFibGUgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sQnVmR3Jvdyh4bWxCdWZQdHIgYnVmLCBpbnQgbGVuKSB7CisgICAgc2l6ZV90IHJldDsKKworICAgIGlmICgoYnVmID09IE5VTEwpIHx8IChsZW4gPCAwKSkgcmV0dXJuKC0xKTsKKyAgICBpZiAobGVuID09IDApCisgICAgICAgIHJldHVybigwKTsKKyAgICByZXQgPSB4bWxCdWZHcm93SW50ZXJuYWwoYnVmLCBsZW4pOworICAgIGlmIChidWYtPmVycm9yICE9IDApCisgICAgICAgIHJldHVybigtMSk7CisgICAgcmV0dXJuKChpbnQpIHJldCk7Cit9CisKKy8qKgorICogeG1sQnVmSW5mbGF0ZToKKyAqIEBidWY6ICB0aGUgYnVmZmVyCisgKiBAbGVuOiAgdGhlIG1pbmltdW0gZXh0cmEgZnJlZSBzaXplIHRvIGFsbG9jYXRlCisgKgorICogR3JvdyB0aGUgYXZhaWxhYmxlIHNwYWNlIG9mIGFuIFhNTCBidWZmZXIsIGFkZGluZyBhdCBsZWFzdCBAbGVuIGJ5dGVzCisgKgorICogUmV0dXJucyAwIGlmIHN1Y2Nlc3NmdWwgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcgorICovCitpbnQKK3htbEJ1ZkluZmxhdGUoeG1sQnVmUHRyIGJ1Ziwgc2l6ZV90IGxlbikgeworICAgIGlmIChidWYgPT0gTlVMTCkgcmV0dXJuKC0xKTsKKyAgICB4bWxCdWZHcm93SW50ZXJuYWwoYnVmLCBsZW4gKyBidWYtPnNpemUpOworICAgIGlmIChidWYtPmVycm9yKQorICAgICAgICByZXR1cm4oLTEpOworICAgIHJldHVybigwKTsKK30KKworLyoqCisgKiB4bWxCdWZEdW1wOgorICogQGZpbGU6ICB0aGUgZmlsZSBvdXRwdXQKKyAqIEBidWY6ICB0aGUgYnVmZmVyIHRvIGR1bXAKKyAqCisgKiBEdW1wcyBhbiBYTUwgYnVmZmVyIHRvICBhIEZJTEUgKi4KKyAqIFJldHVybnMgdGhlIG51bWJlciBvZiAjeG1sQ2hhciB3cml0dGVuCisgKi8KK3NpemVfdAoreG1sQnVmRHVtcChGSUxFICpmaWxlLCB4bWxCdWZQdHIgYnVmKSB7CisgICAgc2l6ZV90IHJldDsKKworICAgIGlmICgoYnVmID09IE5VTEwpIHx8IChidWYtPmVycm9yICE9IDApKSB7CisjaWZkZWYgREVCVUdfQlVGRkVSCisgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkieG1sQnVmRHVtcDogYnVmID09IE5VTEwgb3IgaW4gZXJyb3JcbiIpOworI2VuZGlmCisJcmV0dXJuKDApOworICAgIH0KKyAgICBpZiAoYnVmLT5jb250ZW50ID09IE5VTEwpIHsKKyNpZmRlZiBERUJVR19CVUZGRVIKKyAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSJ4bWxCdWZEdW1wOiBidWYtPmNvbnRlbnQgPT0gTlVMTFxuIik7CisjZW5kaWYKKwlyZXR1cm4oMCk7CisgICAgfQorICAgIENIRUNLX0NPTVBBVChidWYpCisgICAgaWYgKGZpbGUgPT0gTlVMTCkKKwlmaWxlID0gc3Rkb3V0OworICAgIHJldCA9IGZ3cml0ZShidWYtPmNvbnRlbnQsIHNpemVvZih4bWxDaGFyKSwgYnVmLT51c2UsIGZpbGUpOworICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbEJ1ZkNvbnRlbnQ6CisgKiBAYnVmOiAgdGhlIGJ1ZmZlcgorICoKKyAqIEZ1bmN0aW9uIHRvIGV4dHJhY3QgdGhlIGNvbnRlbnQgb2YgYSBidWZmZXIKKyAqCisgKiBSZXR1cm5zIHRoZSBpbnRlcm5hbCBjb250ZW50CisgKi8KKworeG1sQ2hhciAqCit4bWxCdWZDb250ZW50KGNvbnN0IHhtbEJ1ZiAqYnVmKQoreworICAgIGlmICgoIWJ1ZikgfHwgKGJ1Zi0+ZXJyb3IpKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIHJldHVybihidWYtPmNvbnRlbnQpOworfQorCisvKioKKyAqIHhtbEJ1ZkVuZDoKKyAqIEBidWY6ICB0aGUgYnVmZmVyCisgKgorICogRnVuY3Rpb24gdG8gZXh0cmFjdCB0aGUgZW5kIG9mIHRoZSBjb250ZW50IG9mIGEgYnVmZmVyCisgKgorICogUmV0dXJucyB0aGUgZW5kIG9mIHRoZSBpbnRlcm5hbCBjb250ZW50IG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcgorICovCisKK3htbENoYXIgKgoreG1sQnVmRW5kKHhtbEJ1ZlB0ciBidWYpCit7CisgICAgaWYgKCghYnVmKSB8fCAoYnVmLT5lcnJvcikpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIENIRUNLX0NPTVBBVChidWYpCisKKyAgICByZXR1cm4oJmJ1Zi0+Y29udGVudFtidWYtPnVzZV0pOworfQorCisvKioKKyAqIHhtbEJ1ZkFkZExlbjoKKyAqIEBidWY6ICB0aGUgYnVmZmVyCisgKiBAbGVuOiAgdGhlIHNpemUgd2hpY2ggd2VyZSBhZGRlZCBhdCB0aGUgZW5kCisgKgorICogU29tZXRpbWUgZGF0YSBtYXkgYmUgYWRkZWQgYXQgdGhlIGVuZCBvZiB0aGUgYnVmZmVyIHdpdGhvdXQKKyAqIHVzaW5nIHRoZSB4bWxCdWYgQVBJcyB0aGF0IGlzIHVzZWQgdG8gZXhwYW5kIHRoZSB1c2VkIHNwYWNlCisgKiBhbmQgc2V0IHRoZSB6ZXJvIHRlcm1pbmF0aW5nIGF0IHRoZSBlbmQgb2YgdGhlIGJ1ZmZlcgorICoKKyAqIFJldHVybnMgLTEgaW4gY2FzZSBvZiBlcnJvciBhbmQgMCBvdGhlcndpc2UKKyAqLworaW50Cit4bWxCdWZBZGRMZW4oeG1sQnVmUHRyIGJ1Ziwgc2l6ZV90IGxlbikgeworICAgIGlmICgoYnVmID09IE5VTEwpIHx8IChidWYtPmVycm9yKSkKKyAgICAgICAgcmV0dXJuKC0xKTsKKyAgICBDSEVDS19DT01QQVQoYnVmKQorICAgIGlmIChsZW4gPiAoYnVmLT5zaXplIC0gYnVmLT51c2UpKQorICAgICAgICByZXR1cm4oLTEpOworICAgIGJ1Zi0+dXNlICs9IGxlbjsKKyAgICBVUERBVEVfQ09NUEFUKGJ1ZikKKyAgICBpZiAoYnVmLT5zaXplID4gYnVmLT51c2UpCisgICAgICAgIGJ1Zi0+Y29udGVudFtidWYtPnVzZV0gPSAwOworICAgIGVsc2UKKyAgICAgICAgcmV0dXJuKC0xKTsKKyAgICByZXR1cm4oMCk7Cit9CisKKy8qKgorICogeG1sQnVmRXJhc2U6CisgKiBAYnVmOiAgdGhlIGJ1ZmZlcgorICogQGxlbjogIHRoZSBzaXplIHRvIGVyYXNlIGF0IHRoZSBlbmQKKyAqCisgKiBTb21ldGltZSBkYXRhIG5lZWQgdG8gYmUgZXJhc2VkIGF0IHRoZSBlbmQgb2YgdGhlIGJ1ZmZlcgorICoKKyAqIFJldHVybnMgLTEgaW4gY2FzZSBvZiBlcnJvciBhbmQgMCBvdGhlcndpc2UKKyAqLworaW50Cit4bWxCdWZFcmFzZSh4bWxCdWZQdHIgYnVmLCBzaXplX3QgbGVuKSB7CisgICAgaWYgKChidWYgPT0gTlVMTCkgfHwgKGJ1Zi0+ZXJyb3IpKQorICAgICAgICByZXR1cm4oLTEpOworICAgIENIRUNLX0NPTVBBVChidWYpCisgICAgaWYgKGxlbiA+IGJ1Zi0+dXNlKQorICAgICAgICByZXR1cm4oLTEpOworICAgIGJ1Zi0+dXNlIC09IGxlbjsKKyAgICBidWYtPmNvbnRlbnRbYnVmLT51c2VdID0gMDsKKyAgICBVUERBVEVfQ09NUEFUKGJ1ZikKKyAgICByZXR1cm4oMCk7Cit9CisKKy8qKgorICogeG1sQnVmTGVuZ3RoOgorICogQGJ1ZjogIHRoZSBidWZmZXIKKyAqCisgKiBGdW5jdGlvbiB0byBnZXQgdGhlIGxlbmd0aCBvZiBhIGJ1ZmZlcgorICoKKyAqIFJldHVybnMgdGhlIGxlbmd0aCBvZiBkYXRhIGluIHRoZSBpbnRlcm5hbCBjb250ZW50CisgKi8KKworc2l6ZV90Cit4bWxCdWZMZW5ndGgoY29uc3QgeG1sQnVmUHRyIGJ1ZikKK3sKKyAgICBpZiAoKCFidWYpIHx8IChidWYtPmVycm9yKSkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgQ0hFQ0tfQ09NUEFUKGJ1ZikKKworICAgIHJldHVybihidWYtPnVzZSk7Cit9CisKKy8qKgorICogeG1sQnVmVXNlOgorICogQGJ1ZjogIHRoZSBidWZmZXIKKyAqCisgKiBGdW5jdGlvbiB0byBnZXQgdGhlIGxlbmd0aCBvZiBhIGJ1ZmZlcgorICoKKyAqIFJldHVybnMgdGhlIGxlbmd0aCBvZiBkYXRhIGluIHRoZSBpbnRlcm5hbCBjb250ZW50CisgKi8KKworc2l6ZV90Cit4bWxCdWZVc2UoY29uc3QgeG1sQnVmUHRyIGJ1ZikKK3sKKyAgICBpZiAoKCFidWYpIHx8IChidWYtPmVycm9yKSkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgQ0hFQ0tfQ09NUEFUKGJ1ZikKKworICAgIHJldHVybihidWYtPnVzZSk7Cit9CisKKy8qKgorICogeG1sQnVmQXZhaWw6CisgKiBAYnVmOiAgdGhlIGJ1ZmZlcgorICoKKyAqIEZ1bmN0aW9uIHRvIGZpbmQgaG93IG11Y2ggZnJlZSBzcGFjZSBpcyBhbGxvY2F0ZWQgYnV0IG5vdAorICogdXNlZCBpbiB0aGUgYnVmZmVyLiBJdCBkb2VzIG5vdCBhY2NvdW50IGZvciB0aGUgdGVybWluYXRpbmcgemVybworICogdXN1YWxseSBuZWVkZWQKKyAqCisgKiBSZXR1cm5zIHRoZSBhbW91bnQgb3IgMCBpZiBub25lIG9yIGFuIGVycm9yIG9jY3VyZWQKKyAqLworCitzaXplX3QKK3htbEJ1ZkF2YWlsKGNvbnN0IHhtbEJ1ZlB0ciBidWYpCit7CisgICAgaWYgKCghYnVmKSB8fCAoYnVmLT5lcnJvcikpCisgICAgICAgIHJldHVybiAwOworICAgIENIRUNLX0NPTVBBVChidWYpCisKKyAgICByZXR1cm4oYnVmLT5zaXplIC0gYnVmLT51c2UpOworfQorCisvKioKKyAqIHhtbEJ1ZklzRW1wdHk6CisgKiBAYnVmOiAgdGhlIGJ1ZmZlcgorICoKKyAqIFRlbGwgaWYgYSBidWZmZXIgaXMgZW1wdHkKKyAqCisgKiBSZXR1cm5zIDAgaWYgbm8sIDEgaWYgeWVzIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK2ludAoreG1sQnVmSXNFbXB0eShjb25zdCB4bWxCdWZQdHIgYnVmKQoreworICAgIGlmICgoIWJ1ZikgfHwgKGJ1Zi0+ZXJyb3IpKQorICAgICAgICByZXR1cm4oLTEpOworICAgIENIRUNLX0NPTVBBVChidWYpCisKKyAgICByZXR1cm4oYnVmLT51c2UgPT0gMCk7Cit9CisKKy8qKgorICogeG1sQnVmUmVzaXplOgorICogQGJ1ZjogIHRoZSBidWZmZXIgdG8gcmVzaXplCisgKiBAc2l6ZTogIHRoZSBkZXNpcmVkIHNpemUKKyAqCisgKiBSZXNpemUgYSBidWZmZXIgdG8gYWNjb21tb2RhdGUgbWluaW11bSBzaXplIG9mIEBzaXplLgorICoKKyAqIFJldHVybnMgIDAgaW4gY2FzZSBvZiBwcm9ibGVtcywgMSBvdGhlcndpc2UKKyAqLworaW50Cit4bWxCdWZSZXNpemUoeG1sQnVmUHRyIGJ1Ziwgc2l6ZV90IHNpemUpCit7CisgICAgdW5zaWduZWQgaW50IG5ld1NpemU7CisgICAgeG1sQ2hhciogcmVidWYgPSBOVUxMOworICAgIHNpemVfdCBzdGFydF9idWY7CisKKyAgICBpZiAoKGJ1ZiA9PSBOVUxMKSB8fCAoYnVmLT5lcnJvcikpCisgICAgICAgIHJldHVybigwKTsKKyAgICBDSEVDS19DT01QQVQoYnVmKQorCisgICAgaWYgKGJ1Zi0+YWxsb2MgPT0gWE1MX0JVRkZFUl9BTExPQ19JTU1VVEFCTEUpIHJldHVybigwKTsKKworICAgIC8qIERvbid0IHJlc2l6ZSBpZiB3ZSBkb24ndCBoYXZlIHRvICovCisgICAgaWYgKHNpemUgPCBidWYtPnNpemUpCisgICAgICAgIHJldHVybiAxOworCisgICAgLyogZmlndXJlIG91dCBuZXcgc2l6ZSAqLworICAgIHN3aXRjaCAoYnVmLT5hbGxvYyl7CisJY2FzZSBYTUxfQlVGRkVSX0FMTE9DX0lPOgorCWNhc2UgWE1MX0JVRkZFUl9BTExPQ19ET1VCTEVJVDoKKwkgICAgLyp0YWtlIGNhcmUgb2YgZW1wdHkgY2FzZSovCisJICAgIG5ld1NpemUgPSAoYnVmLT5zaXplID8gYnVmLT5zaXplKjIgOiBzaXplICsgMTApOworCSAgICB3aGlsZSAoc2l6ZSA+IG5ld1NpemUpIHsKKwkgICAgICAgIGlmIChuZXdTaXplID4gVUlOVF9NQVggLyAyKSB7CisJICAgICAgICAgICAgeG1sQnVmTWVtb3J5RXJyb3IoYnVmLCAiZ3Jvd2luZyBidWZmZXIiKTsKKwkgICAgICAgICAgICByZXR1cm4gMDsKKwkgICAgICAgIH0KKwkgICAgICAgIG5ld1NpemUgKj0gMjsKKwkgICAgfQorCSAgICBicmVhazsKKwljYXNlIFhNTF9CVUZGRVJfQUxMT0NfRVhBQ1Q6CisJICAgIG5ld1NpemUgPSBzaXplKzEwOworCSAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfQlVGRkVSX0FMTE9DX0hZQlJJRDoKKyAgICAgICAgICAgIGlmIChidWYtPnVzZSA8IEJBU0VfQlVGRkVSX1NJWkUpCisgICAgICAgICAgICAgICAgbmV3U2l6ZSA9IHNpemU7CisgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgICBuZXdTaXplID0gYnVmLT5zaXplICogMjsKKyAgICAgICAgICAgICAgICB3aGlsZSAoc2l6ZSA+IG5ld1NpemUpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKG5ld1NpemUgPiBVSU5UX01BWCAvIDIpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHhtbEJ1Zk1lbW9yeUVycm9yKGJ1ZiwgImdyb3dpbmcgYnVmZmVyIik7CisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBuZXdTaXplICo9IDI7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgICAgYnJlYWs7CisKKwlkZWZhdWx0OgorCSAgICBuZXdTaXplID0gc2l6ZSsxMDsKKwkgICAgYnJlYWs7CisgICAgfQorCisgICAgaWYgKChidWYtPmFsbG9jID09IFhNTF9CVUZGRVJfQUxMT0NfSU8pICYmIChidWYtPmNvbnRlbnRJTyAhPSBOVUxMKSkgeworICAgICAgICBzdGFydF9idWYgPSBidWYtPmNvbnRlbnQgLSBidWYtPmNvbnRlbnRJTzsKKworICAgICAgICBpZiAoc3RhcnRfYnVmID4gbmV3U2l6ZSkgeworCSAgICAvKiBtb3ZlIGRhdGEgYmFjayB0byBzdGFydCAqLworCSAgICBtZW1tb3ZlKGJ1Zi0+Y29udGVudElPLCBidWYtPmNvbnRlbnQsIGJ1Zi0+dXNlKTsKKwkgICAgYnVmLT5jb250ZW50ID0gYnVmLT5jb250ZW50SU87CisJICAgIGJ1Zi0+Y29udGVudFtidWYtPnVzZV0gPSAwOworCSAgICBidWYtPnNpemUgKz0gc3RhcnRfYnVmOworCX0gZWxzZSB7CisJICAgIHJlYnVmID0gKHhtbENoYXIgKikgeG1sUmVhbGxvYyhidWYtPmNvbnRlbnRJTywgc3RhcnRfYnVmICsgbmV3U2l6ZSk7CisJICAgIGlmIChyZWJ1ZiA9PSBOVUxMKSB7CisJCXhtbEJ1Zk1lbW9yeUVycm9yKGJ1ZiwgImdyb3dpbmcgYnVmZmVyIik7CisJCXJldHVybiAwOworCSAgICB9CisJICAgIGJ1Zi0+Y29udGVudElPID0gcmVidWY7CisJICAgIGJ1Zi0+Y29udGVudCA9IHJlYnVmICsgc3RhcnRfYnVmOworCX0KKyAgICB9IGVsc2UgeworCWlmIChidWYtPmNvbnRlbnQgPT0gTlVMTCkgeworCSAgICByZWJ1ZiA9ICh4bWxDaGFyICopIHhtbE1hbGxvY0F0b21pYyhuZXdTaXplKTsKKwl9IGVsc2UgaWYgKGJ1Zi0+c2l6ZSAtIGJ1Zi0+dXNlIDwgMTAwKSB7CisJICAgIHJlYnVmID0gKHhtbENoYXIgKikgeG1sUmVhbGxvYyhidWYtPmNvbnRlbnQsIG5ld1NpemUpOworICAgICAgICB9IGVsc2UgeworCSAgICAvKgorCSAgICAgKiBpZiB3ZSBhcmUgcmVhbGxvY2F0aW5nIGEgYnVmZmVyIGZhciBmcm9tIGJlaW5nIGZ1bGwsIGl0J3MKKwkgICAgICogYmV0dGVyIHRvIG1ha2UgYSBuZXcgYWxsb2NhdGlvbiBhbmQgY29weSBvbmx5IHRoZSB1c2VkIHJhbmdlCisJICAgICAqIGFuZCBmcmVlIHRoZSBvbGQgb25lLgorCSAgICAgKi8KKwkgICAgcmVidWYgPSAoeG1sQ2hhciAqKSB4bWxNYWxsb2NBdG9taWMobmV3U2l6ZSk7CisJICAgIGlmIChyZWJ1ZiAhPSBOVUxMKSB7CisJCW1lbWNweShyZWJ1ZiwgYnVmLT5jb250ZW50LCBidWYtPnVzZSk7CisJCXhtbEZyZWUoYnVmLT5jb250ZW50KTsKKwkJcmVidWZbYnVmLT51c2VdID0gMDsKKwkgICAgfQorCX0KKwlpZiAocmVidWYgPT0gTlVMTCkgeworCSAgICB4bWxCdWZNZW1vcnlFcnJvcihidWYsICJncm93aW5nIGJ1ZmZlciIpOworCSAgICByZXR1cm4gMDsKKwl9CisJYnVmLT5jb250ZW50ID0gcmVidWY7CisgICAgfQorICAgIGJ1Zi0+c2l6ZSA9IG5ld1NpemU7CisgICAgVVBEQVRFX0NPTVBBVChidWYpCisKKyAgICByZXR1cm4gMTsKK30KKworLyoqCisgKiB4bWxCdWZBZGQ6CisgKiBAYnVmOiAgdGhlIGJ1ZmZlciB0byBkdW1wCisgKiBAc3RyOiAgdGhlICN4bWxDaGFyIHN0cmluZworICogQGxlbjogIHRoZSBudW1iZXIgb2YgI3htbENoYXIgdG8gYWRkCisgKgorICogQWRkIGEgc3RyaW5nIHJhbmdlIHRvIGFuIFhNTCBidWZmZXIuIGlmIGxlbiA9PSAtMSwgdGhlIGxlbmd0aCBvZgorICogc3RyIGlzIHJlY29tcHV0ZWQuCisgKgorICogUmV0dXJucyAwIHN1Y2Nlc3NmdWwsIGEgcG9zaXRpdmUgZXJyb3IgY29kZSBudW1iZXIgb3RoZXJ3aXNlCisgKiAgICAgICAgIGFuZCAtMSBpbiBjYXNlIG9mIGludGVybmFsIG9yIEFQSSBlcnJvci4KKyAqLworaW50Cit4bWxCdWZBZGQoeG1sQnVmUHRyIGJ1ZiwgY29uc3QgeG1sQ2hhciAqc3RyLCBpbnQgbGVuKSB7CisgICAgdW5zaWduZWQgaW50IG5lZWRTaXplOworCisgICAgaWYgKChzdHIgPT0gTlVMTCkgfHwgKGJ1ZiA9PSBOVUxMKSB8fCAoYnVmLT5lcnJvcikpCisJcmV0dXJuIC0xOworICAgIENIRUNLX0NPTVBBVChidWYpCisKKyAgICBpZiAoYnVmLT5hbGxvYyA9PSBYTUxfQlVGRkVSX0FMTE9DX0lNTVVUQUJMRSkgcmV0dXJuIC0xOworICAgIGlmIChsZW4gPCAtMSkgeworI2lmZGVmIERFQlVHX0JVRkZFUgorICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJInhtbEJ1ZkFkZDogbGVuIDwgMFxuIik7CisjZW5kaWYKKwlyZXR1cm4gLTE7CisgICAgfQorICAgIGlmIChsZW4gPT0gMCkgcmV0dXJuIDA7CisKKyAgICBpZiAobGVuIDwgMCkKKyAgICAgICAgbGVuID0geG1sU3RybGVuKHN0cik7CisKKyAgICBpZiAobGVuIDwgMCkgcmV0dXJuIC0xOworICAgIGlmIChsZW4gPT0gMCkgcmV0dXJuIDA7CisKKyAgICBuZWVkU2l6ZSA9IGJ1Zi0+dXNlICsgbGVuICsgMjsKKyAgICBpZiAobmVlZFNpemUgPiBidWYtPnNpemUpeworICAgICAgICBpZiAoIXhtbEJ1ZlJlc2l6ZShidWYsIG5lZWRTaXplKSl7CisJICAgIHhtbEJ1Zk1lbW9yeUVycm9yKGJ1ZiwgImdyb3dpbmcgYnVmZmVyIik7CisgICAgICAgICAgICByZXR1cm4gWE1MX0VSUl9OT19NRU1PUlk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBtZW1tb3ZlKCZidWYtPmNvbnRlbnRbYnVmLT51c2VdLCBzdHIsIGxlbipzaXplb2YoeG1sQ2hhcikpOworICAgIGJ1Zi0+dXNlICs9IGxlbjsKKyAgICBidWYtPmNvbnRlbnRbYnVmLT51c2VdID0gMDsKKyAgICBVUERBVEVfQ09NUEFUKGJ1ZikKKyAgICByZXR1cm4gMDsKK30KKworLyoqCisgKiB4bWxCdWZBZGRIZWFkOgorICogQGJ1ZjogIHRoZSBidWZmZXIKKyAqIEBzdHI6ICB0aGUgI3htbENoYXIgc3RyaW5nCisgKiBAbGVuOiAgdGhlIG51bWJlciBvZiAjeG1sQ2hhciB0byBhZGQKKyAqCisgKiBBZGQgYSBzdHJpbmcgcmFuZ2UgdG8gdGhlIGJlZ2lubmluZyBvZiBhbiBYTUwgYnVmZmVyLgorICogaWYgbGVuID09IC0xLCB0aGUgbGVuZ3RoIG9mIEBzdHIgaXMgcmVjb21wdXRlZC4KKyAqCisgKiBSZXR1cm5zIDAgc3VjY2Vzc2Z1bCwgYSBwb3NpdGl2ZSBlcnJvciBjb2RlIG51bWJlciBvdGhlcndpc2UKKyAqICAgICAgICAgYW5kIC0xIGluIGNhc2Ugb2YgaW50ZXJuYWwgb3IgQVBJIGVycm9yLgorICovCitpbnQKK3htbEJ1ZkFkZEhlYWQoeG1sQnVmUHRyIGJ1ZiwgY29uc3QgeG1sQ2hhciAqc3RyLCBpbnQgbGVuKSB7CisgICAgdW5zaWduZWQgaW50IG5lZWRTaXplOworCisgICAgaWYgKChidWYgPT0gTlVMTCkgfHwgKGJ1Zi0+ZXJyb3IpKQorICAgICAgICByZXR1cm4oLTEpOworICAgIENIRUNLX0NPTVBBVChidWYpCisgICAgaWYgKGJ1Zi0+YWxsb2MgPT0gWE1MX0JVRkZFUl9BTExPQ19JTU1VVEFCTEUpIHJldHVybiAtMTsKKyAgICBpZiAoc3RyID09IE5VTEwpIHsKKyNpZmRlZiBERUJVR19CVUZGRVIKKyAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSJ4bWxCdWZBZGRIZWFkOiBzdHIgPT0gTlVMTFxuIik7CisjZW5kaWYKKwlyZXR1cm4gLTE7CisgICAgfQorICAgIGlmIChsZW4gPCAtMSkgeworI2lmZGVmIERFQlVHX0JVRkZFUgorICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJInhtbEJ1ZkFkZEhlYWQ6IGxlbiA8IDBcbiIpOworI2VuZGlmCisJcmV0dXJuIC0xOworICAgIH0KKyAgICBpZiAobGVuID09IDApIHJldHVybiAwOworCisgICAgaWYgKGxlbiA8IDApCisgICAgICAgIGxlbiA9IHhtbFN0cmxlbihzdHIpOworCisgICAgaWYgKGxlbiA8PSAwKSByZXR1cm4gLTE7CisKKyAgICBpZiAoKGJ1Zi0+YWxsb2MgPT0gWE1MX0JVRkZFUl9BTExPQ19JTykgJiYgKGJ1Zi0+Y29udGVudElPICE9IE5VTEwpKSB7CisgICAgICAgIHNpemVfdCBzdGFydF9idWYgPSBidWYtPmNvbnRlbnQgLSBidWYtPmNvbnRlbnRJTzsKKworCWlmIChzdGFydF9idWYgPiAodW5zaWduZWQgaW50KSBsZW4pIHsKKwkgICAgLyoKKwkgICAgICogV2UgY2FuIGFkZCBpdCBpbiB0aGUgc3BhY2UgcHJldmlvdXNseSBzaHJpbmtlZAorCSAgICAgKi8KKwkgICAgYnVmLT5jb250ZW50IC09IGxlbjsKKyAgICAgICAgICAgIG1lbW1vdmUoJmJ1Zi0+Y29udGVudFswXSwgc3RyLCBsZW4pOworCSAgICBidWYtPnVzZSArPSBsZW47CisJICAgIGJ1Zi0+c2l6ZSArPSBsZW47CisJICAgIFVQREFURV9DT01QQVQoYnVmKQorCSAgICByZXR1cm4oMCk7CisJfQorICAgIH0KKyAgICBuZWVkU2l6ZSA9IGJ1Zi0+dXNlICsgbGVuICsgMjsKKyAgICBpZiAobmVlZFNpemUgPiBidWYtPnNpemUpeworICAgICAgICBpZiAoIXhtbEJ1ZlJlc2l6ZShidWYsIG5lZWRTaXplKSl7CisJICAgIHhtbEJ1Zk1lbW9yeUVycm9yKGJ1ZiwgImdyb3dpbmcgYnVmZmVyIik7CisgICAgICAgICAgICByZXR1cm4gWE1MX0VSUl9OT19NRU1PUlk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBtZW1tb3ZlKCZidWYtPmNvbnRlbnRbbGVuXSwgJmJ1Zi0+Y29udGVudFswXSwgYnVmLT51c2UpOworICAgIG1lbW1vdmUoJmJ1Zi0+Y29udGVudFswXSwgc3RyLCBsZW4pOworICAgIGJ1Zi0+dXNlICs9IGxlbjsKKyAgICBidWYtPmNvbnRlbnRbYnVmLT51c2VdID0gMDsKKyAgICBVUERBVEVfQ09NUEFUKGJ1ZikKKyAgICByZXR1cm4gMDsKK30KKworLyoqCisgKiB4bWxCdWZDYXQ6CisgKiBAYnVmOiAgdGhlIGJ1ZmZlciB0byBhZGQgdG8KKyAqIEBzdHI6ICB0aGUgI3htbENoYXIgc3RyaW5nCisgKgorICogQXBwZW5kIGEgemVybyB0ZXJtaW5hdGVkIHN0cmluZyB0byBhbiBYTUwgYnVmZmVyLgorICoKKyAqIFJldHVybnMgMCBzdWNjZXNzZnVsLCBhIHBvc2l0aXZlIGVycm9yIGNvZGUgbnVtYmVyIG90aGVyd2lzZQorICogICAgICAgICBhbmQgLTEgaW4gY2FzZSBvZiBpbnRlcm5hbCBvciBBUEkgZXJyb3IuCisgKi8KK2ludAoreG1sQnVmQ2F0KHhtbEJ1ZlB0ciBidWYsIGNvbnN0IHhtbENoYXIgKnN0cikgeworICAgIGlmICgoYnVmID09IE5VTEwpIHx8IChidWYtPmVycm9yKSkKKyAgICAgICAgcmV0dXJuKC0xKTsKKyAgICBDSEVDS19DT01QQVQoYnVmKQorICAgIGlmIChidWYtPmFsbG9jID09IFhNTF9CVUZGRVJfQUxMT0NfSU1NVVRBQkxFKSByZXR1cm4gLTE7CisgICAgaWYgKHN0ciA9PSBOVUxMKSByZXR1cm4gLTE7CisgICAgcmV0dXJuIHhtbEJ1ZkFkZChidWYsIHN0ciwgLTEpOworfQorCisvKioKKyAqIHhtbEJ1ZkNDYXQ6CisgKiBAYnVmOiAgdGhlIGJ1ZmZlciB0byBkdW1wCisgKiBAc3RyOiAgdGhlIEMgY2hhciBzdHJpbmcKKyAqCisgKiBBcHBlbmQgYSB6ZXJvIHRlcm1pbmF0ZWQgQyBzdHJpbmcgdG8gYW4gWE1MIGJ1ZmZlci4KKyAqCisgKiBSZXR1cm5zIDAgc3VjY2Vzc2Z1bCwgYSBwb3NpdGl2ZSBlcnJvciBjb2RlIG51bWJlciBvdGhlcndpc2UKKyAqICAgICAgICAgYW5kIC0xIGluIGNhc2Ugb2YgaW50ZXJuYWwgb3IgQVBJIGVycm9yLgorICovCitpbnQKK3htbEJ1ZkNDYXQoeG1sQnVmUHRyIGJ1ZiwgY29uc3QgY2hhciAqc3RyKSB7CisgICAgY29uc3QgY2hhciAqY3VyOworCisgICAgaWYgKChidWYgPT0gTlVMTCkgfHwgKGJ1Zi0+ZXJyb3IpKQorICAgICAgICByZXR1cm4oLTEpOworICAgIENIRUNLX0NPTVBBVChidWYpCisgICAgaWYgKGJ1Zi0+YWxsb2MgPT0gWE1MX0JVRkZFUl9BTExPQ19JTU1VVEFCTEUpIHJldHVybiAtMTsKKyAgICBpZiAoc3RyID09IE5VTEwpIHsKKyNpZmRlZiBERUJVR19CVUZGRVIKKyAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSJ4bWxCdWZDQ2F0OiBzdHIgPT0gTlVMTFxuIik7CisjZW5kaWYKKwlyZXR1cm4gLTE7CisgICAgfQorICAgIGZvciAoY3VyID0gc3RyOypjdXIgIT0gMDtjdXIrKykgeworICAgICAgICBpZiAoYnVmLT51c2UgICsgMTAgPj0gYnVmLT5zaXplKSB7CisgICAgICAgICAgICBpZiAoIXhtbEJ1ZlJlc2l6ZShidWYsIGJ1Zi0+dXNlKzEwKSl7CisJCXhtbEJ1Zk1lbW9yeUVycm9yKGJ1ZiwgImdyb3dpbmcgYnVmZmVyIik7CisgICAgICAgICAgICAgICAgcmV0dXJuIFhNTF9FUlJfTk9fTUVNT1JZOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIGJ1Zi0+Y29udGVudFtidWYtPnVzZSsrXSA9ICpjdXI7CisgICAgfQorICAgIGJ1Zi0+Y29udGVudFtidWYtPnVzZV0gPSAwOworICAgIFVQREFURV9DT01QQVQoYnVmKQorICAgIHJldHVybiAwOworfQorCisvKioKKyAqIHhtbEJ1ZldyaXRlQ0hBUjoKKyAqIEBidWY6ICB0aGUgWE1MIGJ1ZmZlcgorICogQHN0cmluZzogIHRoZSBzdHJpbmcgdG8gYWRkCisgKgorICogcm91dGluZSB3aGljaCBtYW5hZ2VzIGFuZCBncm93cyBhbiBvdXRwdXQgYnVmZmVyLiBUaGlzIG9uZSBhZGRzCisgKiB4bWxDaGFycyBhdCB0aGUgZW5kIG9mIHRoZSBidWZmZXIuCisgKgorICogUmV0dXJucyAwIGlmIHN1Y2Nlc3NmdWwsIGEgcG9zaXRpdmUgZXJyb3IgY29kZSBudW1iZXIgb3RoZXJ3aXNlCisgKiAgICAgICAgIGFuZCAtMSBpbiBjYXNlIG9mIGludGVybmFsIG9yIEFQSSBlcnJvci4KKyAqLworaW50Cit4bWxCdWZXcml0ZUNIQVIoeG1sQnVmUHRyIGJ1ZiwgY29uc3QgeG1sQ2hhciAqc3RyaW5nKSB7CisgICAgaWYgKChidWYgPT0gTlVMTCkgfHwgKGJ1Zi0+ZXJyb3IpKQorICAgICAgICByZXR1cm4oLTEpOworICAgIENIRUNLX0NPTVBBVChidWYpCisgICAgaWYgKGJ1Zi0+YWxsb2MgPT0gWE1MX0JVRkZFUl9BTExPQ19JTU1VVEFCTEUpCisgICAgICAgIHJldHVybigtMSk7CisgICAgcmV0dXJuKHhtbEJ1ZkNhdChidWYsIHN0cmluZykpOworfQorCisvKioKKyAqIHhtbEJ1ZldyaXRlQ2hhcjoKKyAqIEBidWY6ICB0aGUgWE1MIGJ1ZmZlciBvdXRwdXQKKyAqIEBzdHJpbmc6ICB0aGUgc3RyaW5nIHRvIGFkZAorICoKKyAqIHJvdXRpbmUgd2hpY2ggbWFuYWdlIGFuZCBncm93cyBhbiBvdXRwdXQgYnVmZmVyLiBUaGlzIG9uZSBhZGQKKyAqIEMgY2hhcnMgYXQgdGhlIGVuZCBvZiB0aGUgYXJyYXkuCisgKgorICogUmV0dXJucyAwIGlmIHN1Y2Nlc3NmdWwsIGEgcG9zaXRpdmUgZXJyb3IgY29kZSBudW1iZXIgb3RoZXJ3aXNlCisgKiAgICAgICAgIGFuZCAtMSBpbiBjYXNlIG9mIGludGVybmFsIG9yIEFQSSBlcnJvci4KKyAqLworaW50Cit4bWxCdWZXcml0ZUNoYXIoeG1sQnVmUHRyIGJ1ZiwgY29uc3QgY2hhciAqc3RyaW5nKSB7CisgICAgaWYgKChidWYgPT0gTlVMTCkgfHwgKGJ1Zi0+ZXJyb3IpKQorICAgICAgICByZXR1cm4oLTEpOworICAgIENIRUNLX0NPTVBBVChidWYpCisgICAgaWYgKGJ1Zi0+YWxsb2MgPT0gWE1MX0JVRkZFUl9BTExPQ19JTU1VVEFCTEUpCisgICAgICAgIHJldHVybigtMSk7CisgICAgcmV0dXJuKHhtbEJ1ZkNDYXQoYnVmLCBzdHJpbmcpKTsKK30KKworCisvKioKKyAqIHhtbEJ1ZldyaXRlUXVvdGVkU3RyaW5nOgorICogQGJ1ZjogIHRoZSBYTUwgYnVmZmVyIG91dHB1dAorICogQHN0cmluZzogIHRoZSBzdHJpbmcgdG8gYWRkCisgKgorICogcm91dGluZSB3aGljaCBtYW5hZ2UgYW5kIGdyb3dzIGFuIG91dHB1dCBidWZmZXIuIFRoaXMgb25lIHdyaXRlcworICogYSBxdW90ZWQgb3IgZG91YmxlIHF1b3RlZCAjeG1sQ2hhciBzdHJpbmcsIGNoZWNraW5nIGZpcnN0IGlmIGl0IGhvbGRzCisgKiBxdW90ZSBvciBkb3VibGUtcXVvdGVzIGludGVybmFsbHkKKyAqCisgKiBSZXR1cm5zIDAgaWYgc3VjY2Vzc2Z1bCwgYSBwb3NpdGl2ZSBlcnJvciBjb2RlIG51bWJlciBvdGhlcndpc2UKKyAqICAgICAgICAgYW5kIC0xIGluIGNhc2Ugb2YgaW50ZXJuYWwgb3IgQVBJIGVycm9yLgorICovCitpbnQKK3htbEJ1ZldyaXRlUXVvdGVkU3RyaW5nKHhtbEJ1ZlB0ciBidWYsIGNvbnN0IHhtbENoYXIgKnN0cmluZykgeworICAgIGNvbnN0IHhtbENoYXIgKmN1ciwgKmJhc2U7CisgICAgaWYgKChidWYgPT0gTlVMTCkgfHwgKGJ1Zi0+ZXJyb3IpKQorICAgICAgICByZXR1cm4oLTEpOworICAgIENIRUNLX0NPTVBBVChidWYpCisgICAgaWYgKGJ1Zi0+YWxsb2MgPT0gWE1MX0JVRkZFUl9BTExPQ19JTU1VVEFCTEUpCisgICAgICAgIHJldHVybigtMSk7CisgICAgaWYgKHhtbFN0cmNocihzdHJpbmcsICdcIicpKSB7CisgICAgICAgIGlmICh4bWxTdHJjaHIoc3RyaW5nLCAnXCcnKSkgeworI2lmZGVmIERFQlVHX0JVRkZFUgorCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKyAieG1sQnVmV3JpdGVRdW90ZWRTdHJpbmc6IHN0cmluZyBjb250YWlucyBxdW90ZSBhbmQgZG91YmxlLXF1b3RlcyAhXG4iKTsKKyNlbmRpZgorCSAgICB4bWxCdWZDQ2F0KGJ1ZiwgIlwiIik7CisgICAgICAgICAgICBiYXNlID0gY3VyID0gc3RyaW5nOworICAgICAgICAgICAgd2hpbGUoKmN1ciAhPSAwKXsKKyAgICAgICAgICAgICAgICBpZigqY3VyID09ICciJyl7CisgICAgICAgICAgICAgICAgICAgIGlmIChiYXNlICE9IGN1cikKKyAgICAgICAgICAgICAgICAgICAgICAgIHhtbEJ1ZkFkZChidWYsIGJhc2UsIGN1ciAtIGJhc2UpOworICAgICAgICAgICAgICAgICAgICB4bWxCdWZBZGQoYnVmLCBCQURfQ0FTVCAiJnF1b3Q7IiwgNik7CisgICAgICAgICAgICAgICAgICAgIGN1cisrOworICAgICAgICAgICAgICAgICAgICBiYXNlID0gY3VyOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgY3VyKys7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKGJhc2UgIT0gY3VyKQorICAgICAgICAgICAgICAgIHhtbEJ1ZkFkZChidWYsIGJhc2UsIGN1ciAtIGJhc2UpOworCSAgICB4bWxCdWZDQ2F0KGJ1ZiwgIlwiIik7CisJfQorICAgICAgICBlbHNleworCSAgICB4bWxCdWZDQ2F0KGJ1ZiwgIlwnIik7CisgICAgICAgICAgICB4bWxCdWZDYXQoYnVmLCBzdHJpbmcpOworCSAgICB4bWxCdWZDQ2F0KGJ1ZiwgIlwnIik7CisgICAgICAgIH0KKyAgICB9IGVsc2UgeworICAgICAgICB4bWxCdWZDQ2F0KGJ1ZiwgIlwiIik7CisgICAgICAgIHhtbEJ1ZkNhdChidWYsIHN0cmluZyk7CisgICAgICAgIHhtbEJ1ZkNDYXQoYnVmLCAiXCIiKTsKKyAgICB9CisgICAgcmV0dXJuKDApOworfQorCisvKioKKyAqIHhtbEJ1ZkZyb21CdWZmZXI6CisgKiBAYnVmZmVyOiBpbmNvbWluZyBvbGQgYnVmZmVyIHRvIGNvbnZlcnQgdG8gYSBuZXcgb25lCisgKgorICogSGVscGVyIHJvdXRpbmUgdG8gc3dpdGNoIGZyb20gdGhlIG9sZCBidWZmZXIgc3RydWN0dXJlcyBpbiB1c2UKKyAqIGluIHZhcmlvdXMgQVBJcy4gSXQgY3JlYXRlcyBhIHdyYXBwZXIgeG1sQnVmUHRyIHdoaWNoIHdpbGwgYmUKKyAqIHVzZWQgZm9yIGludGVybmFsIHByb2Nlc3NpbmcgdW50aWwgdGhlIHhtbEJ1ZkJhY2tUb0J1ZmZlcigpIGlzCisgKiBpc3N1ZWQuCisgKgorICogUmV0dXJucyBhIG5ldyB4bWxCdWZQdHIgdW5sZXNzIHRoZSBjYWxsIGZhaWxlZCBhbmQgTlVMTCBpcyByZXR1cm5lZAorICovCit4bWxCdWZQdHIKK3htbEJ1ZkZyb21CdWZmZXIoeG1sQnVmZmVyUHRyIGJ1ZmZlcikgeworICAgIHhtbEJ1ZlB0ciByZXQ7CisKKyAgICBpZiAoYnVmZmVyID09IE5VTEwpCisgICAgICAgIHJldHVybihOVUxMKTsKKworICAgIHJldCA9ICh4bWxCdWZQdHIpIHhtbE1hbGxvYyhzaXplb2YoeG1sQnVmKSk7CisgICAgaWYgKHJldCA9PSBOVUxMKSB7CisJeG1sQnVmTWVtb3J5RXJyb3IoTlVMTCwgImNyZWF0aW5nIGJ1ZmZlciIpOworICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgfQorICAgIHJldC0+dXNlID0gYnVmZmVyLT51c2U7CisgICAgcmV0LT5zaXplID0gYnVmZmVyLT5zaXplOworICAgIHJldC0+Y29tcGF0X3VzZSA9IGJ1ZmZlci0+dXNlOworICAgIHJldC0+Y29tcGF0X3NpemUgPSBidWZmZXItPnNpemU7CisgICAgcmV0LT5lcnJvciA9IDA7CisgICAgcmV0LT5idWZmZXIgPSBidWZmZXI7CisgICAgcmV0LT5hbGxvYyA9IGJ1ZmZlci0+YWxsb2M7CisgICAgcmV0LT5jb250ZW50ID0gYnVmZmVyLT5jb250ZW50OworICAgIHJldC0+Y29udGVudElPID0gYnVmZmVyLT5jb250ZW50SU87CisKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxCdWZCYWNrVG9CdWZmZXI6CisgKiBAYnVmOiBuZXcgYnVmZmVyIHdyYXBwaW5nIHRoZSBvbGQgb25lCisgKgorICogRnVuY3Rpb24gdG8gYmUgY2FsbGVkIG9uY2UgaW50ZXJuYWwgcHJvY2Vzc2luZyBoYWQgYmVlbiBkb25lIHRvCisgKiB1cGRhdGUgYmFjayB0aGUgYnVmZmVyIHByb3ZpZGVkIGJ5IHRoZSB1c2VyLiBUaGlzIGNhbiBsZWFkIHRvCisgKiBhIGZhaWx1cmUgaW4gY2FzZSB0aGUgc2l6ZSBhY2N1bXVsYXRlZCBpbiB0aGUgeG1sQnVmIGlzIGxhcmdlcgorICogdGhhbiB3aGF0IGFuIHhtbEJ1ZmZlciBjYW4gc3VwcG9ydCBvbiA2NCBiaXRzIChJTlRfTUFYKQorICogVGhlIHhtbEJ1ZlB0ciBAYnVmIHdyYXBwZXIgaXMgZGVhbGxvY2F0ZWQgYnkgdGhpcyBjYWxsIGluIGFueSBjYXNlLgorICoKKyAqIFJldHVybnMgdGhlIG9sZCB4bWxCdWZmZXJQdHIgdW5sZXNzIHRoZSBjYWxsIGZhaWxlZCBhbmQgTlVMTCBpcyByZXR1cm5lZAorICovCit4bWxCdWZmZXJQdHIKK3htbEJ1ZkJhY2tUb0J1ZmZlcih4bWxCdWZQdHIgYnVmKSB7CisgICAgeG1sQnVmZmVyUHRyIHJldDsKKworICAgIGlmICgoYnVmID09IE5VTEwpIHx8IChidWYtPmVycm9yKSkKKyAgICAgICAgcmV0dXJuKE5VTEwpOworICAgIENIRUNLX0NPTVBBVChidWYpCisgICAgaWYgKGJ1Zi0+YnVmZmVyID09IE5VTEwpIHsKKyAgICAgICAgeG1sQnVmRnJlZShidWYpOworICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgfQorCisgICAgcmV0ID0gYnVmLT5idWZmZXI7CisgICAgLyoKKyAgICAgKiBXaGF0IHRvIGRvIGluIGNhc2Ugb2YgZXJyb3IgaW4gdGhlIGJ1ZmZlciA/Pz8KKyAgICAgKi8KKyAgICBpZiAoYnVmLT51c2UgPiBJTlRfTUFYKSB7CisgICAgICAgIC8qCisgICAgICAgICAqIFdvcnNlIGNhc2UsIHdlIHJlYWxseSBhbGxvY2F0ZWQgYW5kIHVzZWQgbW9yZSB0aGFuIHRoZQorICAgICAgICAgKiBtYXhpbXVtIGFsbG93ZWQgbWVtb3J5IGZvciBhbiB4bWxCdWZmZXIgb24gdGhpcyBhcmNoaXRlY3R1cmUuCisgICAgICAgICAqIEtlZXAgdGhlIGJ1ZmZlciBidXQgcHJvdmlkZSBhIHRydW5jYXRlZCBzaXplIHZhbHVlLgorICAgICAgICAgKi8KKyAgICAgICAgeG1sQnVmT3ZlcmZsb3dFcnJvcihidWYsICJVc2VkIHNpemUgdG9vIGJpZyBmb3IgeG1sQnVmZmVyIik7CisgICAgICAgIHJldC0+dXNlID0gSU5UX01BWDsKKyAgICAgICAgcmV0LT5zaXplID0gSU5UX01BWDsKKyAgICB9IGVsc2UgaWYgKGJ1Zi0+c2l6ZSA+IElOVF9NQVgpIHsKKyAgICAgICAgLyoKKyAgICAgICAgICogbWlsZGVyIGNhc2UsIHdlIGFsbG9jYXRlZCBtb3JlIHRoYW4gdGhlIG1heGltdW0gYWxsb3dlZCBtZW1vcnkKKyAgICAgICAgICogZm9yIGFuIHhtbEJ1ZmZlciBvbiB0aGlzIGFyY2hpdGVjdHVyZSwgYnV0IHVzZWQgbGVzcyB0aGFuIHRoZQorICAgICAgICAgKiBsaW1pdC4KKyAgICAgICAgICogS2VlcCB0aGUgYnVmZmVyIGJ1dCBwcm92aWRlIGEgdHJ1bmNhdGVkIHNpemUgdmFsdWUuCisgICAgICAgICAqLworICAgICAgICB4bWxCdWZPdmVyZmxvd0Vycm9yKGJ1ZiwgIkFsbG9jYXRlZCBzaXplIHRvbyBiaWcgZm9yIHhtbEJ1ZmZlciIpOworICAgICAgICByZXQtPnNpemUgPSBJTlRfTUFYOworICAgIH0KKyAgICByZXQtPnVzZSA9IChpbnQpIGJ1Zi0+dXNlOworICAgIHJldC0+c2l6ZSA9IChpbnQpIGJ1Zi0+c2l6ZTsKKyAgICByZXQtPmFsbG9jID0gYnVmLT5hbGxvYzsKKyAgICByZXQtPmNvbnRlbnQgPSBidWYtPmNvbnRlbnQ7CisgICAgcmV0LT5jb250ZW50SU8gPSBidWYtPmNvbnRlbnRJTzsKKyAgICB4bWxGcmVlKGJ1Zik7CisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogeG1sQnVmTWVyZ2VCdWZmZXI6CisgKiBAYnVmOiBhbiB4bWxCdWZQdHIKKyAqIEBidWZmZXI6IHRoZSBidWZmZXIgdG8gY29uc3VtZSBpbnRvIEBidWYKKyAqCisgKiBUaGUgY29udGVudCBvZiBAYnVmZmVyIGlzIGFwcGVuZGVkIHRvIEBidWYgYW5kIEBidWZmZXIgaXMgZnJlZWQKKyAqCisgKiBSZXR1cm5zIC0xIGluIGNhc2Ugb2YgZXJyb3IsIDAgb3RoZXJ3aXNlLCBpbiBhbnkgY2FzZSBAYnVmZmVyIGlzIGZyZWVkCisgKi8KK2ludAoreG1sQnVmTWVyZ2VCdWZmZXIoeG1sQnVmUHRyIGJ1ZiwgeG1sQnVmZmVyUHRyIGJ1ZmZlcikgeworICAgIGludCByZXQgPSAwOworCisgICAgaWYgKChidWYgPT0gTlVMTCkgfHwgKGJ1Zi0+ZXJyb3IpKSB7CisJeG1sQnVmZmVyRnJlZShidWZmZXIpOworICAgICAgICByZXR1cm4oLTEpOworICAgIH0KKyAgICBDSEVDS19DT01QQVQoYnVmKQorICAgIGlmICgoYnVmZmVyICE9IE5VTEwpICYmIChidWZmZXItPmNvbnRlbnQgIT0gTlVMTCkgJiYKKyAgICAgICAgICAgICAoYnVmZmVyLT51c2UgPiAwKSkgeworICAgICAgICByZXQgPSB4bWxCdWZBZGQoYnVmLCBidWZmZXItPmNvbnRlbnQsIGJ1ZmZlci0+dXNlKTsKKyAgICB9CisgICAgeG1sQnVmZmVyRnJlZShidWZmZXIpOworICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbEJ1ZlJlc2V0SW5wdXQ6CisgKiBAYnVmOiBhbiB4bWxCdWZQdHIKKyAqIEBpbnB1dDogYW4geG1sUGFyc2VySW5wdXRQdHIKKyAqCisgKiBVcGRhdGUgdGhlIGlucHV0IHRvIHVzZSB0aGUgY3VycmVudCBzZXQgb2YgcG9pbnRlcnMgZnJvbSB0aGUgYnVmZmVyLgorICoKKyAqIFJldHVybnMgLTEgaW4gY2FzZSBvZiBlcnJvciwgMCBvdGhlcndpc2UKKyAqLworaW50Cit4bWxCdWZSZXNldElucHV0KHhtbEJ1ZlB0ciBidWYsIHhtbFBhcnNlcklucHV0UHRyIGlucHV0KSB7CisgICAgaWYgKChpbnB1dCA9PSBOVUxMKSB8fCAoYnVmID09IE5VTEwpIHx8IChidWYtPmVycm9yKSkKKyAgICAgICAgcmV0dXJuKC0xKTsKKyAgICBDSEVDS19DT01QQVQoYnVmKQorICAgIGlucHV0LT5iYXNlID0gaW5wdXQtPmN1ciA9IGJ1Zi0+Y29udGVudDsKKyAgICBpbnB1dC0+ZW5kID0gJmJ1Zi0+Y29udGVudFtidWYtPnVzZV07CisgICAgcmV0dXJuKDApOworfQorCisvKioKKyAqIHhtbEJ1ZkdldElucHV0QmFzZToKKyAqIEBidWY6IGFuIHhtbEJ1ZlB0cgorICogQGlucHV0OiBhbiB4bWxQYXJzZXJJbnB1dFB0cgorICoKKyAqIEdldCB0aGUgYmFzZSBvZiB0aGUgQGlucHV0IHJlbGF0aXZlIHRvIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGJ1ZmZlcgorICoKKyAqIFJldHVybnMgdGhlIHNpemVfdCBjb3JyZXNwb25kaW5nIHRvIHRoZSBkaXNwbGFjZW1lbnQKKyAqLworc2l6ZV90Cit4bWxCdWZHZXRJbnB1dEJhc2UoeG1sQnVmUHRyIGJ1ZiwgeG1sUGFyc2VySW5wdXRQdHIgaW5wdXQpIHsKKyAgICBzaXplX3QgYmFzZTsKKworICAgIGlmICgoaW5wdXQgPT0gTlVMTCkgfHwgKGJ1ZiA9PSBOVUxMKSB8fCAoYnVmLT5lcnJvcikpCisgICAgICAgIHJldHVybigtMSk7CisgICAgQ0hFQ0tfQ09NUEFUKGJ1ZikKKyAgICBiYXNlID0gaW5wdXQtPmJhc2UgLSBidWYtPmNvbnRlbnQ7CisgICAgLyoKKyAgICAgKiBXZSBjb3VsZCBkbyBzb21lIHBvaW50ZXIgYXJ5dGhtZXRpYyBjaGVja3MgYnV0IHRoYXQncyBwcm9iYWJseQorICAgICAqIHN1ZmZpY2llbnQuCisgICAgICovCisgICAgaWYgKGJhc2UgPiBidWYtPnNpemUpIHsKKyAgICAgICAgeG1sQnVmT3ZlcmZsb3dFcnJvcihidWYsICJJbnB1dCByZWZlcmVuY2Ugb3V0c2lkZSBvZiB0aGUgYnVmZmVyIik7CisgICAgICAgIGJhc2UgPSAwOworICAgIH0KKyAgICByZXR1cm4oYmFzZSk7Cit9CisKKy8qKgorICogeG1sQnVmU2V0SW5wdXRCYXNlQ3VyOgorICogQGJ1ZjogYW4geG1sQnVmUHRyCisgKiBAaW5wdXQ6IGFuIHhtbFBhcnNlcklucHV0UHRyCisgKiBAYmFzZTogdGhlIGJhc2UgdmFsdWUgcmVsYXRpdmUgdG8gdGhlIGJlZ2lubmluZyBvZiB0aGUgYnVmZmVyCisgKiBAY3VyOiB0aGUgY3VyIHZhbHVlIHJlbGF0aXZlIHRvIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGJ1ZmZlcgorICoKKyAqIFVwZGF0ZSB0aGUgaW5wdXQgdG8gdXNlIHRoZSBiYXNlIGFuZCBjdXIgcmVsYXRpdmUgdG8gdGhlIGJ1ZmZlcgorICogYWZ0ZXIgYSBwb3NzaWJsZSByZWFsbG9jYXRpb24gb2YgaXRzIGNvbnRlbnQKKyAqCisgKiBSZXR1cm5zIC0xIGluIGNhc2Ugb2YgZXJyb3IsIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sQnVmU2V0SW5wdXRCYXNlQ3VyKHhtbEJ1ZlB0ciBidWYsIHhtbFBhcnNlcklucHV0UHRyIGlucHV0LAorICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBiYXNlLCBzaXplX3QgY3VyKSB7CisgICAgaWYgKChpbnB1dCA9PSBOVUxMKSB8fCAoYnVmID09IE5VTEwpIHx8IChidWYtPmVycm9yKSkKKyAgICAgICAgcmV0dXJuKC0xKTsKKyAgICBDSEVDS19DT01QQVQoYnVmKQorICAgIGlucHV0LT5iYXNlID0gJmJ1Zi0+Y29udGVudFtiYXNlXTsKKyAgICBpbnB1dC0+Y3VyID0gaW5wdXQtPmJhc2UgKyBjdXI7CisgICAgaW5wdXQtPmVuZCA9ICZidWYtPmNvbnRlbnRbYnVmLT51c2VdOworICAgIHJldHVybigwKTsKK30KKworI2RlZmluZSBib3R0b21fYnVmCisjaW5jbHVkZSAiZWxmZ2NjaGFjay5oIgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9idWYuaCBiL2xpYnhtbDIvYnVmLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWJkYzk3OAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvYnVmLmgKQEAgLTAsMCArMSw3MiBAQAorLyoKKyAqIFN1bW1hcnk6IEludGVybmFsIEludGVyZmFjZXMgZm9yIG1lbW9yeSBidWZmZXJzIGluIGxpYnhtbDIKKyAqIERlc2NyaXB0aW9uOiB0aGlzIG1vZHVsZSBkZXNjcmliZXMgbW9zdCBvZiB0aGUgbmV3IHhtbEJ1ZiBidWZmZXIKKyAqICAgICAgICAgICAgICBlbnRyeSBwb2ludHMsIHRob3NlIGFyZSBwcml2YXRlIHJvdXRpbmVzLCB3aXRoIGEKKyAqICAgICAgICAgICAgICBmZXcgZXhjZXB0aW9ucyBleHBvcnRlZCBpbiB0cmVlLmguIFRoaXMgd2FzIGFkZGVkCisgKiAgICAgICAgICAgICAgaW4gMi45LjAuCisgKgorICogQ29weTogU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgorICoKKyAqIEF1dGhvcjogRGFuaWVsIFZlaWxsYXJkCisgKi8KKworI2lmbmRlZiBfX1hNTF9CVUZfSF9fCisjZGVmaW5lIF9fWE1MX0JVRl9IX18KKworI2luY2x1ZGUgPGxpYnhtbC90cmVlLmg+CisKKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7CisjZW5kaWYKKworeG1sQnVmUHRyIHhtbEJ1ZkNyZWF0ZSh2b2lkKTsKK3htbEJ1ZlB0ciB4bWxCdWZDcmVhdGVTaXplKHNpemVfdCBzaXplKTsKK3htbEJ1ZlB0ciB4bWxCdWZDcmVhdGVTdGF0aWModm9pZCAqbWVtLCBzaXplX3Qgc2l6ZSk7CisKK2ludCB4bWxCdWZTZXRBbGxvY2F0aW9uU2NoZW1lKHhtbEJ1ZlB0ciBidWYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxCdWZmZXJBbGxvY2F0aW9uU2NoZW1lIHNjaGVtZSk7CitpbnQgeG1sQnVmR2V0QWxsb2NhdGlvblNjaGVtZSh4bWxCdWZQdHIgYnVmKTsKKwordm9pZCB4bWxCdWZGcmVlKHhtbEJ1ZlB0ciBidWYpOwordm9pZCB4bWxCdWZFbXB0eSh4bWxCdWZQdHIgYnVmKTsKKworLyogc2l6ZV90IHhtbEJ1ZlNocmluayh4bWxCdWZQdHIgYnVmLCBzaXplX3QgbGVuKTsgKi8KK2ludCB4bWxCdWZHcm93KHhtbEJ1ZlB0ciBidWYsIGludCBsZW4pOworaW50IHhtbEJ1ZkluZmxhdGUoeG1sQnVmUHRyIGJ1Ziwgc2l6ZV90IGxlbik7CitpbnQgeG1sQnVmUmVzaXplKHhtbEJ1ZlB0ciBidWYsIHNpemVfdCBsZW4pOworCitpbnQgeG1sQnVmQWRkKHhtbEJ1ZlB0ciBidWYsIGNvbnN0IHhtbENoYXIgKnN0ciwgaW50IGxlbik7CitpbnQgeG1sQnVmQWRkSGVhZCh4bWxCdWZQdHIgYnVmLCBjb25zdCB4bWxDaGFyICpzdHIsIGludCBsZW4pOworaW50IHhtbEJ1ZkNhdCh4bWxCdWZQdHIgYnVmLCBjb25zdCB4bWxDaGFyICpzdHIpOworaW50IHhtbEJ1ZkNDYXQoeG1sQnVmUHRyIGJ1ZiwgY29uc3QgY2hhciAqc3RyKTsKK2ludCB4bWxCdWZXcml0ZUNIQVIoeG1sQnVmUHRyIGJ1ZiwgY29uc3QgeG1sQ2hhciAqc3RyaW5nKTsKK2ludCB4bWxCdWZXcml0ZUNoYXIoeG1sQnVmUHRyIGJ1ZiwgY29uc3QgY2hhciAqc3RyaW5nKTsKK2ludCB4bWxCdWZXcml0ZVF1b3RlZFN0cmluZyh4bWxCdWZQdHIgYnVmLCBjb25zdCB4bWxDaGFyICpzdHJpbmcpOworCitzaXplX3QgeG1sQnVmQXZhaWwoY29uc3QgeG1sQnVmUHRyIGJ1Zik7CitzaXplX3QgeG1sQnVmTGVuZ3RoKGNvbnN0IHhtbEJ1ZlB0ciBidWYpOworLyogc2l6ZV90IHhtbEJ1ZlVzZShjb25zdCB4bWxCdWZQdHIgYnVmKTsgKi8KK2ludCB4bWxCdWZJc0VtcHR5KGNvbnN0IHhtbEJ1ZlB0ciBidWYpOworaW50IHhtbEJ1ZkFkZExlbih4bWxCdWZQdHIgYnVmLCBzaXplX3QgbGVuKTsKK2ludCB4bWxCdWZFcmFzZSh4bWxCdWZQdHIgYnVmLCBzaXplX3QgbGVuKTsKKworLyogY29uc3QgeG1sQ2hhciAqIHhtbEJ1ZkNvbnRlbnQoY29uc3QgeG1sQnVmICpidWYpOyAqLworLyogY29uc3QgeG1sQ2hhciAqIHhtbEJ1ZkVuZCh4bWxCdWZQdHIgYnVmKTsgKi8KKworeG1sQ2hhciAqIHhtbEJ1ZkRldGFjaCh4bWxCdWZQdHIgYnVmKTsKKworc2l6ZV90IHhtbEJ1ZkR1bXAoRklMRSAqZmlsZSwgeG1sQnVmUHRyIGJ1Zik7CisKK3htbEJ1ZlB0ciB4bWxCdWZGcm9tQnVmZmVyKHhtbEJ1ZmZlclB0ciBidWZmZXIpOworeG1sQnVmZmVyUHRyIHhtbEJ1ZkJhY2tUb0J1ZmZlcih4bWxCdWZQdHIgYnVmKTsKK2ludCB4bWxCdWZNZXJnZUJ1ZmZlcih4bWxCdWZQdHIgYnVmLCB4bWxCdWZmZXJQdHIgYnVmZmVyKTsKKworaW50IHhtbEJ1ZlJlc2V0SW5wdXQoeG1sQnVmUHRyIGJ1ZiwgeG1sUGFyc2VySW5wdXRQdHIgaW5wdXQpOworc2l6ZV90IHhtbEJ1ZkdldElucHV0QmFzZSh4bWxCdWZQdHIgYnVmLCB4bWxQYXJzZXJJbnB1dFB0ciBpbnB1dCk7CitpbnQgeG1sQnVmU2V0SW5wdXRCYXNlQ3VyKHhtbEJ1ZlB0ciBidWYsIHhtbFBhcnNlcklucHV0UHRyIGlucHV0LAorICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgYmFzZSwgc2l6ZV90IGN1cik7CisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorI2VuZGlmIC8qIF9fWE1MX0JVRl9IX18gKi8KKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9idWlsZF9nbG9iLnB5IGIvbGlieG1sMi9idWlsZF9nbG9iLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjg4NTVlYzcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2J1aWxkX2dsb2IucHkKQEAgLTAsMCArMSwxMjIgQEAKKyMhIC91c3IvYmluL2VudiBweXRob24KKyMjIworIworIyAgICAgICBidWlsZF9nbG9iLnB5IDogQnVpbGQgdGhlIGdsb2JhbF9mdW5jdGlvbnMuaCBhbmQgZ2xvYmFsX2Z1bmN0aW9ucy5jCisjICAgICAgICAgICAgICAgICAgICAgICBmaWxlcyB3aGljaCBhcmUgcmVxdWlyZWQgdG8gaW1wbGVtZW50IHRoZSB1c2VyCisjICAgICAgICAgICAgICAgICAgICAgICBpbnRlcmZhY2UgdG8gZ2xvYmFsIHZhcmlhYmxlcyBub3cgdGhhdCB0aHJlYWQgc3BlY2lmaWMKKyMgICAgICAgICAgICAgICAgICAgICAgIGRhdGEgKFRTRCkgaXMgdXNlZCB0byBlbXVsYXRlIGdsb2JhbCBzdGF0ZS4KKyMKKyMgICAgICAgU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgorIyAgICAgICBHYXJ5LlBlbm5pbmd0b25Ac3VuLmNvbQorIyMjCitpbXBvcnQgb3MsIHN0cmluZworCitjbGFzcyBnbG9idmFyOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCB0eXBlLCBuYW1lKToKKyAgICAgICAgc2VsZi50eXBlPXR5cGUKKyAgICAgICAgc2VsZi5uYW1lPW5hbWUKKworZGVmIHN0cmlwbGluZXNlcChsaW5lKToKKyAgICB3aGlsZSBsaW5lIGFuZCBsaW5lWy0xXSBpbiAoJ1xyJywnXG4nKToKKyAgICAgICAgbGluZSA9IGxpbmVbOi0xXQorICAgIHJldHVybiBsaW5lCisKK2RlZiB3cml0ZWxpbmUoZmlsZSwgbGluZT1Ob25lKToKKyAgICBpZiBsaW5lOgorICAgICAgICBmaWxlLndyaXRlKGxpbmUpCisgICAgZmlsZS53cml0ZSgiXG4iKQorCitpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgorICAgIGdsb2JhbHM9e30KKyAgICBnbG9iYWxfZGF0YT1vcGVuKCJnbG9iYWwuZGF0YSIpLnJlYWRsaW5lcygpCisgICAgZ2xvYmFsX2NvZGU9b3BlbigiZ2xvYmFscy5jIikucmVhZGxpbmVzKCkKKyAgICBnbG9iYWxfaGRyPW9wZW4oImluY2x1ZGUvbGlieG1sL2dsb2JhbHMuaCIpLnJlYWRsaW5lcygpCisgICAgZ2xvYmFsX2Z1bmN0aW9uc19oZHI9b3BlbigiaW5jbHVkZS9saWJ4bWwvZ2xvYmFscy5oIiwgIncrIikKKyAgICBnbG9iYWxfZnVuY3Rpb25zX2ltcGw9b3BlbigiZ2xvYmFscy5jIiwgIncrIikKKworICAgICMKKyAgICAjIFJlYnVpbGQgdGhlIGJlZ2lubmluZyBvZiB0aGUgZmlsZSB1cCB0byB0aGUKKyAgICAjIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIHN0cmluZworICAgICMgCisgICAgZm9yIGxpbmUgaW4gZ2xvYmFsX2hkcjoKKyAgICAgICAgbGluZSA9IHN0cmlwbGluZXNlcChsaW5lKQorICAgICAgICBpZiBsaW5lID09ICIgKiBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSBidWlsZF9nbG9iLnB5LiI6CisJICAgIGJyZWFrCisJd3JpdGVsaW5lKGdsb2JhbF9mdW5jdGlvbnNfaGRyLCBsaW5lKQorCisgICAgd3JpdGVsaW5lKGdsb2JhbF9mdW5jdGlvbnNfaGRyLCAiICogQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgYnVpbGRfZ2xvYi5weS4iKQorICAgIHdyaXRlbGluZShnbG9iYWxfZnVuY3Rpb25zX2hkciwgIiAqIERvIG5vdCBtb2RpZnkgdGhlIHByZXZpb3VzIGxpbmUuIikKKyAgICB3cml0ZWxpbmUoZ2xvYmFsX2Z1bmN0aW9uc19oZHIsICIgKi8iKQorICAgIHdyaXRlbGluZShnbG9iYWxfZnVuY3Rpb25zX2hkcikKKworICAgIGZvciBsaW5lIGluIGdsb2JhbF9jb2RlOgorICAgICAgICBsaW5lID0gc3RyaXBsaW5lc2VwKGxpbmUpCisgICAgICAgIGlmIGxpbmUgPT0gIiAqIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IGJ1aWxkX2dsb2IucHkuIjoKKwkgICAgYnJlYWsKKwl3cml0ZWxpbmUoZ2xvYmFsX2Z1bmN0aW9uc19pbXBsLCBsaW5lKQorCisgICAgd3JpdGVsaW5lKGdsb2JhbF9mdW5jdGlvbnNfaW1wbCwgIiAqIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IGJ1aWxkX2dsb2IucHkuIikKKyAgICB3cml0ZWxpbmUoZ2xvYmFsX2Z1bmN0aW9uc19pbXBsLCAiICogRG8gbm90IG1vZGlmeSB0aGUgcHJldmlvdXMgbGluZS4iKQorICAgIHdyaXRlbGluZShnbG9iYWxfZnVuY3Rpb25zX2ltcGwsICIgKi8iKQorICAgIHdyaXRlbGluZShnbG9iYWxfZnVuY3Rpb25zX2ltcGwpCisKKyAgICAjIE5vdyBwcm9jZXNzIHRoZSBkYXRhIGFuZCB3cml0ZSBpdCB0byB0aGUgYXBwcm9wcmlhdGUgb3V0cHV0IGZpbGUKKyAgICBmb3IgbGluZSBpbiBnbG9iYWxfZGF0YToKKyAgICAgICAgaWYgbGluZVswXT09JyMnOgorICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgbGluZSA9IHN0cmlwbGluZXNlcChsaW5lKQorICAgICAgICBmaWVsZHMgPSBzdHJpbmcuc3BsaXQobGluZSwgIiwiKQorICAgICAgICAjIFVwZGF0ZSB0aGUgaGVhZGVyIGZpbGUKKyAgICAgICAgd3JpdGVsaW5lKGdsb2JhbF9mdW5jdGlvbnNfaGRyKQorICAgICAgICBnbG9iYWxfZnVuY3Rpb25zX2hkci53cml0ZSgiZXh0ZXJuICIrZmllbGRzWzBdKyIgKiIpCisgICAgICAgIGlmIGZpZWxkc1syXToKKyAgICAgICAgICAgIGdsb2JhbF9mdW5jdGlvbnNfaGRyLndyaXRlKCIoKiIpCisgICAgICAgIGdsb2JhbF9mdW5jdGlvbnNfaGRyLndyaXRlKCJfXyIrZmllbGRzWzFdKyIodm9pZCkiKQorICAgICAgICBpZiBmaWVsZHNbMl06CisgICAgICAgICAgICBnbG9iYWxfZnVuY3Rpb25zX2hkci53cml0ZSgiKSIrZmllbGRzWzJdKQorICAgICAgICB3cml0ZWxpbmUoZ2xvYmFsX2Z1bmN0aW9uc19oZHIsIjsiKQorICAgICAgICB3cml0ZWxpbmUoZ2xvYmFsX2Z1bmN0aW9uc19oZHIsICIjaWZkZWYgTElCWE1MX1RIUkVBRF9FTkFCTEVEIikKKyAgICAgICAgd3JpdGVsaW5lKGdsb2JhbF9mdW5jdGlvbnNfaGRyLCIjZGVmaW5lICIrZmllbGRzWzFdKyIgXFwiKQorICAgICAgICB3cml0ZWxpbmUoZ2xvYmFsX2Z1bmN0aW9uc19oZHIsIigqKF9fIitmaWVsZHNbMV0rIigpKSkiKQorICAgICAgICB3cml0ZWxpbmUoZ2xvYmFsX2Z1bmN0aW9uc19oZHIsIiNlbHNlIikKKyAgICAgICAgaWYgZmllbGRzWzJdOgorICAgICAgICAgICAgd3JpdGVsaW5lKGdsb2JhbF9mdW5jdGlvbnNfaGRyLCJMSUJYTUxfRExMX0lNUE9SVCBleHRlcm4gIitmaWVsZHNbMF0rIiAiK2ZpZWxkc1sxXStmaWVsZHNbMl0rIjsiKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgd3JpdGVsaW5lKGdsb2JhbF9mdW5jdGlvbnNfaGRyLCJMSUJYTUxfRExMX0lNUE9SVCBleHRlcm4gIitmaWVsZHNbMF0rIiAiK2ZpZWxkc1sxXSsiOyIpCisgICAgICAgIHdyaXRlbGluZShnbG9iYWxfZnVuY3Rpb25zX2hkciwiI2VuZGlmIikKKyAgICAgICAgIyBzZXQvZ2V0IGZvciBwZXItdGhyZWFkIGdsb2JhbCBkZWZhdWx0cworICAgICAgICBpZiBmaWVsZHNbM106CisgICAgICAgICAgICB3cml0ZWxpbmUoZ2xvYmFsX2Z1bmN0aW9uc19oZHIsZmllbGRzWzBdKyIgIitmaWVsZHNbMV1bOjNdKyJUaHJEZWYiK2ZpZWxkc1sxXVszOl0rIigiK2ZpZWxkc1swXSsiIHYpOyIpCisgICAgICAgICMgVXBkYXRlIHRoZSBpbXBsZW1lbnRhdGlvbiBmaWxlCisgICAgICAgIHdyaXRlbGluZShnbG9iYWxfZnVuY3Rpb25zX2ltcGwpCisjICAgICAgICB3cml0ZWxpbmUoZ2xvYmFsX2Z1bmN0aW9uc19pbXBsLCAiZXh0ZXJuICIrZmllbGRzWzBdKyIgIitmaWVsZHNbMV0rIjsiKQorICAgICAgICB3cml0ZWxpbmUoZ2xvYmFsX2Z1bmN0aW9uc19pbXBsLCAiI3VuZGVmXHQiK2ZpZWxkc1sxXSkKKyAgICAgICAgd3JpdGVsaW5lKGdsb2JhbF9mdW5jdGlvbnNfaW1wbCwgZmllbGRzWzBdKyIgKiIpCisgICAgICAgIGlmIGZpZWxkc1syXToKKyAgICAgICAgICAgIGdsb2JhbF9mdW5jdGlvbnNfaW1wbC53cml0ZSgiKCoiKQorICAgICAgICBnbG9iYWxfZnVuY3Rpb25zX2ltcGwud3JpdGUoIl9fIitmaWVsZHNbMV0rIih2b2lkKSIpCisgICAgICAgIGlmIGZpZWxkc1syXToKKyAgICAgICAgICAgIHdyaXRlbGluZShnbG9iYWxfZnVuY3Rpb25zX2ltcGwsICIpW10iKQorICAgICAgICB3cml0ZWxpbmUoZ2xvYmFsX2Z1bmN0aW9uc19pbXBsLCAiIHsiKQorICAgICAgICB3cml0ZWxpbmUoZ2xvYmFsX2Z1bmN0aW9uc19pbXBsLCAiICAgIGlmIChJU19NQUlOX1RIUkVBRCkiKQorICAgICAgICB3cml0ZWxpbmUoZ2xvYmFsX2Z1bmN0aW9uc19pbXBsLCAiXHRyZXR1cm4gKCYiK2ZpZWxkc1sxXSsiKTsiKQorICAgICAgICB3cml0ZWxpbmUoZ2xvYmFsX2Z1bmN0aW9uc19pbXBsLCAiICAgIGVsc2UiKQorICAgICAgICB3cml0ZWxpbmUoZ2xvYmFsX2Z1bmN0aW9uc19pbXBsLCAiXHRyZXR1cm4gKCZ4bWxHZXRHbG9iYWxTdGF0ZSgpLT4iK2ZpZWxkc1sxXSsiKTsiKQorICAgICAgICB3cml0ZWxpbmUoZ2xvYmFsX2Z1bmN0aW9uc19pbXBsLCAifSIpCisgICAgICAgICMgc2V0L2dldCBmb3IgcGVyLXRocmVhZCBnbG9iYWwgZGVmYXVsdHMKKyAgICAgICAgaWYgZmllbGRzWzNdOgorICAgICAgICAgICAgd3JpdGVsaW5lKGdsb2JhbF9mdW5jdGlvbnNfaW1wbCxmaWVsZHNbMF0rIiAiK2ZpZWxkc1sxXVs6M10rIlRockRlZiIrZmllbGRzWzFdWzM6XSsiKCIrZmllbGRzWzBdKyIgdikgeyIpCisgICAgICAgICAgICB3cml0ZWxpbmUoZ2xvYmFsX2Z1bmN0aW9uc19pbXBsLCIgICAgIitmaWVsZHNbMF0rIiByZXQ7Iik7CisgICAgICAgICAgICB3cml0ZWxpbmUoZ2xvYmFsX2Z1bmN0aW9uc19pbXBsLCIgICAgeG1sTXV0ZXhMb2NrKHhtbFRockRlZk11dGV4KTsiKQorICAgICAgICAgICAgd3JpdGVsaW5lKGdsb2JhbF9mdW5jdGlvbnNfaW1wbCwiICAgIHJldCA9ICIrZmllbGRzWzFdWzozXStmaWVsZHNbMV1bMzpdKyJUaHJEZWY7IikKKyAgICAgICAgICAgIHdyaXRlbGluZShnbG9iYWxfZnVuY3Rpb25zX2ltcGwsIiAgICAiK2ZpZWxkc1sxXVs6M10rZmllbGRzWzFdWzM6XSsiVGhyRGVmID0gdjsiKQorICAgICAgICAgICAgd3JpdGVsaW5lKGdsb2JhbF9mdW5jdGlvbnNfaW1wbCwiICAgIHhtbE11dGV4VW5sb2NrKHhtbFRockRlZk11dGV4KTsiKQorICAgICAgICAgICAgd3JpdGVsaW5lKGdsb2JhbF9mdW5jdGlvbnNfaW1wbCwiICAgIHJldHVybiByZXQ7IikKKyAgICAgICAgICAgIHdyaXRlbGluZShnbG9iYWxfZnVuY3Rpb25zX2ltcGwsIn0iKQorICAgICMgVGVybWluYXRlIHRoZSBoZWFkZXIgZmlsZSB3aXRoIGFwcHJvcHJpYXRlIGJvaWxlcnBsYXRlCisgICAgd3JpdGVsaW5lKGdsb2JhbF9mdW5jdGlvbnNfaGRyKQorICAgIHdyaXRlbGluZShnbG9iYWxfZnVuY3Rpb25zX2hkciwgIiNpZmRlZiBfX2NwbHVzcGx1cyIpCisgICAgd3JpdGVsaW5lKGdsb2JhbF9mdW5jdGlvbnNfaGRyLCAifSIpCisgICAgd3JpdGVsaW5lKGdsb2JhbF9mdW5jdGlvbnNfaGRyLCAiI2VuZGlmIikKKyAgICB3cml0ZWxpbmUoZ2xvYmFsX2Z1bmN0aW9uc19oZHIpCisgICAgd3JpdGVsaW5lKGdsb2JhbF9mdW5jdGlvbnNfaGRyLCAiI2VuZGlmIC8qIF9fWE1MX0dMT0JBTFNfSCAqLyIpCmRpZmYgLS1naXQgYS9saWJ4bWwyL2MxNG4uYyBiL2xpYnhtbDIvYzE0bi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNhNzdmOTIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2MxNG4uYwpAQCAtMCwwICsxLDIyMzggQEAKKy8qCisgKiAiQ2Fub25pY2FsIFhNTCIgaW1wbGVtZW50YXRpb24KKyAqIGh0dHA6Ly93d3cudzMub3JnL1RSL3htbC1jMTRuCisgKgorICogIkV4Y2x1c2l2ZSBYTUwgQ2Fub25pY2FsaXphdGlvbiIgaW1wbGVtZW50YXRpb24KKyAqIGh0dHA6Ly93d3cudzMub3JnL1RSL3htbC1leGMtYzE0bgorICoKKyAqIFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyAqCisgKiBBdXRob3I6IEFsZWtzZXkgU2FuaW4gPGFsZWtzZXlAYWxla3NleS5jb20+CisgKi8KKyNkZWZpbmUgSU5fTElCWE1MCisjaW5jbHVkZSAibGlieG1sLmgiCisjaWZkZWYgTElCWE1MX0MxNE5fRU5BQkxFRAorI2lmZGVmIExJQlhNTF9PVVRQVVRfRU5BQkxFRAorCisjaWZkZWYgSEFWRV9TVERMSUJfSAorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2VuZGlmCisjaW5jbHVkZSA8c3RyaW5nLmg+CisKKyNpbmNsdWRlIDxsaWJ4bWwvdHJlZS5oPgorI2luY2x1ZGUgPGxpYnhtbC9wYXJzZXIuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvdXJpLmg+CisjaW5jbHVkZSA8bGlieG1sL3htbGVycm9yLmg+CisjaW5jbHVkZSA8bGlieG1sL2dsb2JhbHMuaD4KKyNpbmNsdWRlIDxsaWJ4bWwveHBhdGhJbnRlcm5hbHMuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvYzE0bi5oPgorCisjaW5jbHVkZSAiYnVmLmgiCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCVNvbWUgZGVjbGFyYXRpb24gYmV0dGVyIGxlZnQgcHJpdmF0ZSBBVE0JCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKwordHlwZWRlZiBlbnVtIHsKKyAgICBYTUxDMTROX0JFRk9SRV9ET0NVTUVOVF9FTEVNRU5UID0gMCwKKyAgICBYTUxDMTROX0lOU0lERV9ET0NVTUVOVF9FTEVNRU5UID0gMSwKKyAgICBYTUxDMTROX0FGVEVSX0RPQ1VNRU5UX0VMRU1FTlQgPSAyCit9IHhtbEMxNE5Qb3NpdGlvbjsKKwordHlwZWRlZiBzdHJ1Y3QgX3htbEMxNE5WaXNpYmxlTnNTdGFjayB7CisgICAgaW50IG5zQ3VyRW5kOyAgICAgICAgICAgLyogbnVtYmVyIG9mIG5vZGVzIGluIHRoZSBzZXQgKi8KKyAgICBpbnQgbnNQcmV2U3RhcnQ7ICAgICAgICAvKiB0aGUgYmVnZ2lubmluZyBvZiB0aGUgc3RhY2sgZm9yIHByZXZpb3VzIHZpc2libGUgbm9kZSAqLworICAgIGludCBuc1ByZXZFbmQ7ICAgICAgICAgIC8qIHRoZSBlbmQgb2YgdGhlIHN0YWNrIGZvciBwcmV2aW91cyB2aXNpYmxlIG5vZGUgKi8KKyAgICBpbnQgbnNNYXg7ICAgICAgICAgICAgICAvKiBzaXplIG9mIHRoZSBhcnJheSBhcyBhbGxvY2F0ZWQgKi8KKyAgICB4bWxOc1B0cgkqbnNUYWI7CSAgICAvKiBhcnJheSBvZiBucyBpbiBubyBwYXJ0aWN1bGFyIG9yZGVyICovCisgICAgeG1sTm9kZVB0cgkqbm9kZVRhYjsgICAvKiBhcnJheSBvZiBub2RlcyBpbiBubyBwYXJ0aWN1bGFyIG9yZGVyICovCit9IHhtbEMxNE5WaXNpYmxlTnNTdGFjaywgKnhtbEMxNE5WaXNpYmxlTnNTdGFja1B0cjsKKwordHlwZWRlZiBzdHJ1Y3QgX3htbEMxNE5DdHggeworICAgIC8qIGlucHV0IHBhcmFtZXRlcnMgKi8KKyAgICB4bWxEb2NQdHIgZG9jOworICAgIHhtbEMxNE5Jc1Zpc2libGVDYWxsYmFjayBpc192aXNpYmxlX2NhbGxiYWNrOworICAgIHZvaWQqIHVzZXJfZGF0YTsKKyAgICBpbnQgd2l0aF9jb21tZW50czsKKyAgICB4bWxPdXRwdXRCdWZmZXJQdHIgYnVmOworCisgICAgLyogcG9zaXRpb24gaW4gdGhlIFhNTCBkb2N1bWVudCAqLworICAgIHhtbEMxNE5Qb3NpdGlvbiBwb3M7CisgICAgaW50IHBhcmVudF9pc19kb2M7CisgICAgeG1sQzE0TlZpc2libGVOc1N0YWNrUHRyIG5zX3JlbmRlcmVkOworCisgICAgLyogQzE0TiBtb2RlICovCisgICAgeG1sQzE0Tk1vZGUgbW9kZTsKKworICAgIC8qIGV4Y2x1c2l2ZSBjYW5vbmljYWxpemF0aW9uICovCisgICAgeG1sQ2hhciAqKmluY2x1c2l2ZV9uc19wcmVmaXhlczsKKworICAgIC8qIGVycm9yIG51bWJlciAqLworICAgIGludCBlcnJvcjsKK30geG1sQzE0TkN0eCwgKnhtbEMxNE5DdHhQdHI7CisKK3N0YXRpYyB4bWxDMTROVmlzaWJsZU5zU3RhY2tQdHIJeG1sQzE0TlZpc2libGVOc1N0YWNrQ3JlYXRlCSh2b2lkKTsKK3N0YXRpYyB2b2lkICAgICB4bWxDMTROVmlzaWJsZU5zU3RhY2tEZXN0cm95CSh4bWxDMTROVmlzaWJsZU5zU3RhY2tQdHIgY3VyKTsKK3N0YXRpYyB2b2lkICAgICB4bWxDMTROVmlzaWJsZU5zU3RhY2tBZGQJICAgICh4bWxDMTROVmlzaWJsZU5zU3RhY2tQdHIgY3VyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbE5zUHRyIG5zLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbE5vZGVQdHIgbm9kZSk7CitzdGF0aWMgdm9pZAkJCXhtbEMxNE5WaXNpYmxlTnNTdGFja1NhdmUJKHhtbEMxNE5WaXNpYmxlTnNTdGFja1B0ciBjdXIsCisJCQkJCQkJCSB4bWxDMTROVmlzaWJsZU5zU3RhY2tQdHIgc3RhdGUpOworc3RhdGljIHZvaWQJCQl4bWxDMTROVmlzaWJsZU5zU3RhY2tSZXN0b3JlCSh4bWxDMTROVmlzaWJsZU5zU3RhY2tQdHIgY3VyLAorCQkJCQkJCQkgeG1sQzE0TlZpc2libGVOc1N0YWNrUHRyIHN0YXRlKTsKK3N0YXRpYyB2b2lkCQkJeG1sQzE0TlZpc2libGVOc1N0YWNrU2hpZnQJKHhtbEMxNE5WaXNpYmxlTnNTdGFja1B0ciBjdXIpOworc3RhdGljIGludAkJCXhtbEMxNE5WaXNpYmxlTnNTdGFja0ZpbmQJKHhtbEMxNE5WaXNpYmxlTnNTdGFja1B0ciBjdXIsCisJCQkJCQkJCSB4bWxOc1B0ciBucyk7CitzdGF0aWMgaW50CQkJeG1sRXhjQzE0TlZpc2libGVOc1N0YWNrRmluZAkoeG1sQzE0TlZpc2libGVOc1N0YWNrUHRyIGN1ciwKKwkJCQkJCQkJIHhtbE5zUHRyIG5zLAorCQkJCQkJCQkgeG1sQzE0TkN0eFB0ciBjdHgpOworCitzdGF0aWMgaW50CQkJeG1sQzE0TklzTm9kZUluTm9kZXNldAkJKHhtbE5vZGVTZXRQdHIgbm9kZXMsCisJCQkJCQkJCSB4bWxOb2RlUHRyIG5vZGUsCisJCQkJCQkJCSB4bWxOb2RlUHRyIHBhcmVudCk7CisKKworCitzdGF0aWMgaW50IHhtbEMxNE5Qcm9jZXNzTm9kZSh4bWxDMTROQ3R4UHRyIGN0eCwgeG1sTm9kZVB0ciBjdXIpOworc3RhdGljIGludCB4bWxDMTROUHJvY2Vzc05vZGVMaXN0KHhtbEMxNE5DdHhQdHIgY3R4LCB4bWxOb2RlUHRyIGN1cik7Cit0eXBlZGVmIGVudW0geworICAgIFhNTEMxNE5fTk9STUFMSVpFX0FUVFIgPSAwLAorICAgIFhNTEMxNE5fTk9STUFMSVpFX0NPTU1FTlQgPSAxLAorICAgIFhNTEMxNE5fTk9STUFMSVpFX1BJID0gMiwKKyAgICBYTUxDMTROX05PUk1BTElaRV9URVhUID0gMworfSB4bWxDMTROTm9ybWFsaXphdGlvbk1vZGU7CisKK3N0YXRpYyB4bWxDaGFyICp4bWxDMTFOTm9ybWFsaXplU3RyaW5nKGNvbnN0IHhtbENoYXIgKiBpbnB1dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbEMxNE5Ob3JtYWxpemF0aW9uTW9kZSBtb2RlKTsKKworI2RlZmluZQl4bWxDMTFOTm9ybWFsaXplQXR0ciggYSApIFwKKyAgICB4bWxDMTFOTm9ybWFsaXplU3RyaW5nKChhKSwgWE1MQzE0Tl9OT1JNQUxJWkVfQVRUUikKKyNkZWZpbmUJeG1sQzExTk5vcm1hbGl6ZUNvbW1lbnQoIGEgKSBcCisgICAgeG1sQzExTk5vcm1hbGl6ZVN0cmluZygoYSksIFhNTEMxNE5fTk9STUFMSVpFX0NPTU1FTlQpCisjZGVmaW5lCXhtbEMxMU5Ob3JtYWxpemVQSSggYSApCVwKKyAgICB4bWxDMTFOTm9ybWFsaXplU3RyaW5nKChhKSwgWE1MQzE0Tl9OT1JNQUxJWkVfUEkpCisjZGVmaW5lCXhtbEMxMU5Ob3JtYWxpemVUZXh0KCBhICkgXAorICAgIHhtbEMxMU5Ob3JtYWxpemVTdHJpbmcoKGEpLCBYTUxDMTROX05PUk1BTElaRV9URVhUKQorCisjZGVmaW5lCXhtbEMxNE5Jc1Zpc2libGUoIGN0eCwgbm9kZSwgcGFyZW50ICkgXAorICAgICAoKChjdHgpLT5pc192aXNpYmxlX2NhbGxiYWNrICE9IE5VTEwpID8gXAorCShjdHgpLT5pc192aXNpYmxlX2NhbGxiYWNrKChjdHgpLT51c2VyX2RhdGEsIFwKKwkJKHhtbE5vZGVQdHIpKG5vZGUpLCAoeG1sTm9kZVB0cikocGFyZW50KSkgOiAxKQorCisjZGVmaW5lCXhtbEMxNE5Jc0V4Y2x1c2l2ZSggY3R4ICkgXAorICAgICggKGN0eCktPm1vZGUgPT0gWE1MX0MxNE5fRVhDTFVTSVZFXzFfMCApCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCVNvbWUgZmFjdG9yaXplZCBlcnJvciByb3V0aW5lcwkJCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKgorICogeG1sQzE0TkVyck1lbW9yeToKKyAqIEBleHRyYTogIGV4dHJhIGluZm9ybWF0aW9ucworICoKKyAqIEhhbmRsZSBhIHJlZGVmaW5pdGlvbiBvZiBtZW1vcnkgZXJyb3IKKyAqLworc3RhdGljIHZvaWQKK3htbEMxNE5FcnJNZW1vcnkoY29uc3QgY2hhciAqZXh0cmEpCit7CisgICAgX194bWxSYWlzZUVycm9yKE5VTEwsIE5VTEwsIE5VTEwsIE5VTEwsIE5VTEwsIFhNTF9GUk9NX0MxNE4sCisJCSAgICBYTUxfRVJSX05PX01FTU9SWSwgWE1MX0VSUl9FUlJPUiwgTlVMTCwgMCwgZXh0cmEsCisJCSAgICBOVUxMLCBOVUxMLCAwLCAwLAorCQkgICAgIk1lbW9yeSBhbGxvY2F0aW9uIGZhaWxlZCA6ICVzXG4iLCBleHRyYSk7Cit9CisKKy8qKgorICogeG1sQzE0TkVyclBhcmFtOgorICogQGV4dHJhOiAgZXh0cmEgaW5mb3JtYXRpb25zCisgKgorICogSGFuZGxlIGEgcmVkZWZpbml0aW9uIG9mIHBhcmFtIGVycm9yCisgKi8KK3N0YXRpYyB2b2lkCit4bWxDMTRORXJyUGFyYW0oY29uc3QgY2hhciAqZXh0cmEpCit7CisgICAgX194bWxSYWlzZUVycm9yKE5VTEwsIE5VTEwsIE5VTEwsIE5VTEwsIE5VTEwsIFhNTF9GUk9NX0MxNE4sCisJCSAgICBYTUxfRVJSX0lOVEVSTkFMX0VSUk9SLCBYTUxfRVJSX0VSUk9SLCBOVUxMLCAwLCBleHRyYSwKKwkJICAgIE5VTEwsIE5VTEwsIDAsIDAsCisJCSAgICAiSW52YWxpZCBwYXJhbWV0ZXIgOiAlc1xuIiwgZXh0cmEpOworfQorCisvKioKKyAqIHhtbEMxNE5FcnJJbnRlcm5hbDoKKyAqIEBleHRyYTogIGV4dHJhIGluZm9ybWF0aW9ucworICoKKyAqIEhhbmRsZSBhIHJlZGVmaW5pdGlvbiBvZiBpbnRlcm5hbCBlcnJvcgorICovCitzdGF0aWMgdm9pZAoreG1sQzE0TkVyckludGVybmFsKGNvbnN0IGNoYXIgKmV4dHJhKQoreworICAgIF9feG1sUmFpc2VFcnJvcihOVUxMLCBOVUxMLCBOVUxMLCBOVUxMLCBOVUxMLCBYTUxfRlJPTV9DMTROLAorCQkgICAgWE1MX0VSUl9JTlRFUk5BTF9FUlJPUiwgWE1MX0VSUl9FUlJPUiwgTlVMTCwgMCwgZXh0cmEsCisJCSAgICBOVUxMLCBOVUxMLCAwLCAwLAorCQkgICAgIkludGVybmFsIGVycm9yIDogJXNcbiIsIGV4dHJhKTsKK30KKworLyoqCisgKiB4bWxDMTRORXJySW52YWxpZE5vZGU6CisgKiBAZXh0cmE6ICBleHRyYSBpbmZvcm1hdGlvbnMKKyAqCisgKiBIYW5kbGUgYSByZWRlZmluaXRpb24gb2YgaW52YWxpZCBub2RlIGVycm9yCisgKi8KK3N0YXRpYyB2b2lkCit4bWxDMTRORXJySW52YWxpZE5vZGUoY29uc3QgY2hhciAqbm9kZV90eXBlLCBjb25zdCBjaGFyICpleHRyYSkKK3sKKyAgICBfX3htbFJhaXNlRXJyb3IoTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwgWE1MX0ZST01fQzE0TiwKKwkJICAgIFhNTF9DMTROX0lOVkFMSURfTk9ERSwgWE1MX0VSUl9FUlJPUiwgTlVMTCwgMCwgZXh0cmEsCisJCSAgICBOVUxMLCBOVUxMLCAwLCAwLAorCQkgICAgIk5vZGUgJXMgaXMgaW52YWxpZCBoZXJlIDogJXNcbiIsIG5vZGVfdHlwZSwgZXh0cmEpOworfQorCisvKioKKyAqIHhtbEMxNE5FcnJVbmtub3duTm9kZToKKyAqIEBleHRyYTogIGV4dHJhIGluZm9ybWF0aW9ucworICoKKyAqIEhhbmRsZSBhIHJlZGVmaW5pdGlvbiBvZiB1bmtub3duIG5vZGUgZXJyb3IKKyAqLworc3RhdGljIHZvaWQKK3htbEMxNE5FcnJVbmtub3duTm9kZShpbnQgbm9kZV90eXBlLCBjb25zdCBjaGFyICpleHRyYSkKK3sKKyAgICBfX3htbFJhaXNlRXJyb3IoTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwgWE1MX0ZST01fQzE0TiwKKwkJICAgIFhNTF9DMTROX1VOS05PV19OT0RFLCBYTUxfRVJSX0VSUk9SLCBOVUxMLCAwLCBleHRyYSwKKwkJICAgIE5VTEwsIE5VTEwsIDAsIDAsCisJCSAgICAiVW5rbm93biBub2RlIHR5cGUgJWQgZm91bmQgOiAlc1xuIiwgbm9kZV90eXBlLCBleHRyYSk7Cit9CisKKy8qKgorICogeG1sQzE0TkVyclJlbGF0aXZlTmFtZXNwYWNlOgorICogQGV4dHJhOiAgZXh0cmEgaW5mb3JtYXRpb25zCisgKgorICogSGFuZGxlIGEgcmVkZWZpbml0aW9uIG9mIHJlbGF0aXZlIG5hbWVzcGFjZSBlcnJvcgorICovCitzdGF0aWMgdm9pZAoreG1sQzE0TkVyclJlbGF0aXZlTmFtZXNwYWNlKGNvbnN0IGNoYXIgKm5zX3VyaSkKK3sKKyAgICBfX3htbFJhaXNlRXJyb3IoTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwgWE1MX0ZST01fQzE0TiwKKwkJICAgIFhNTF9DMTROX1JFTEFUSVZFX05BTUVTUEFDRSwgWE1MX0VSUl9FUlJPUiwgTlVMTCwgMCwgTlVMTCwKKwkJICAgIE5VTEwsIE5VTEwsIDAsIDAsCisJCSAgICAiUmVsYXRpdmUgbmFtZXNwYWNlIFVSIGlzIGludmFsaWQgaGVyZSA6ICVzXG4iLCBuc191cmkpOworfQorCisKKworLyoqCisgKiB4bWxDMTRORXJyOgorICogQGN0eHQ6ICBhIEMxNE4gZXZhbHVhdGlvbiBjb250ZXh0CisgKiBAbm9kZTogIHRoZSBjb250ZXh0IG5vZGUKKyAqIEBlcnJvcjogIHRoZSBlcm9yciBjb2RlCisgKiBAbXNnOiAgdGhlIG1lc3NhZ2UKKyAqIEBleHRyYTogIGV4dHJhIGluZm9ybWF0aW9ucworICoKKyAqIEhhbmRsZSBhIHJlZGVmaW5pdGlvbiBvZiBhdHRyaWJ1dGUgZXJyb3IKKyAqLworc3RhdGljIHZvaWQKK3htbEMxNE5FcnIoeG1sQzE0TkN0eFB0ciBjdHh0LCB4bWxOb2RlUHRyIG5vZGUsIGludCBlcnJvciwKKyAgICAgICAgICAgY29uc3QgY2hhciAqIG1zZykKK3sKKyAgICBpZiAoY3R4dCAhPSBOVUxMKQorICAgICAgICBjdHh0LT5lcnJvciA9IGVycm9yOworICAgIF9feG1sUmFpc2VFcnJvcihOVUxMLCBOVUxMLCBOVUxMLAorCQkgICAgY3R4dCwgbm9kZSwgWE1MX0ZST01fQzE0TiwgZXJyb3IsCisJCSAgICBYTUxfRVJSX0VSUk9SLCBOVUxMLCAwLAorCQkgICAgTlVMTCwgTlVMTCwgTlVMTCwgMCwgMCwgIiVzIiwgbXNnKTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJVGhlIGltcGxlbWVudGF0aW9uIGludGVybmFscwkJCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lIFhNTF9OQU1FU1BBQ0VTX0RFRkFVTFQJCTE2CisKK3N0YXRpYyBpbnQKK3htbEMxNE5Jc05vZGVJbk5vZGVzZXQoeG1sTm9kZVNldFB0ciBub2RlcywgeG1sTm9kZVB0ciBub2RlLCB4bWxOb2RlUHRyIHBhcmVudCkgeworICAgIGlmKChub2RlcyAhPSBOVUxMKSAmJiAobm9kZSAhPSBOVUxMKSkgeworCWlmKG5vZGUtPnR5cGUgIT0gWE1MX05BTUVTUEFDRV9ERUNMKSB7CisJICAgIHJldHVybih4bWxYUGF0aE5vZGVTZXRDb250YWlucyhub2Rlcywgbm9kZSkpOworCX0gZWxzZSB7CisJICAgIHhtbE5zIG5zOworCisJICAgIG1lbWNweSgmbnMsIG5vZGUsIHNpemVvZihucykpOworCisJICAgIC8qIHRoaXMgaXMgYSBsaWJ4bWwgaGFjayEgY2hlY2sgeHBhdGguYyBmb3IgZGV0YWlscyAqLworCSAgICBpZigocGFyZW50ICE9IE5VTEwpICYmIChwYXJlbnQtPnR5cGUgPT0gWE1MX0FUVFJJQlVURV9OT0RFKSkgeworCQlucy5uZXh0ID0gKHhtbE5zUHRyKXBhcmVudC0+cGFyZW50OworCSAgICB9IGVsc2UgeworCQlucy5uZXh0ID0gKHhtbE5zUHRyKXBhcmVudDsKKwkgICAgfQorCisJICAgIC8qCisJICAgICAqIElmIHRoZSBpbnB1dCBpcyBhbiBYUGF0aCBub2RlLXNldCwgdGhlbiB0aGUgbm9kZS1zZXQgbXVzdCBleHBsaWNpdGx5CisJICAgICAqIGNvbnRhaW4gZXZlcnkgbm9kZSB0byBiZSByZW5kZXJlZCB0byB0aGUgY2Fub25pY2FsIGZvcm0uCisJICAgICAqLworCSAgICByZXR1cm4oeG1sWFBhdGhOb2RlU2V0Q29udGFpbnMobm9kZXMsICh4bWxOb2RlUHRyKSZucykpOworCX0KKyAgICB9CisgICAgcmV0dXJuKDEpOworfQorCitzdGF0aWMgeG1sQzE0TlZpc2libGVOc1N0YWNrUHRyCit4bWxDMTROVmlzaWJsZU5zU3RhY2tDcmVhdGUodm9pZCkgeworICAgIHhtbEMxNE5WaXNpYmxlTnNTdGFja1B0ciByZXQ7CisKKyAgICByZXQgPSAoeG1sQzE0TlZpc2libGVOc1N0YWNrUHRyKSB4bWxNYWxsb2Moc2l6ZW9mKHhtbEMxNE5WaXNpYmxlTnNTdGFjaykpOworICAgIGlmIChyZXQgPT0gTlVMTCkgeworICAgICAgICB4bWxDMTRORXJyTWVtb3J5KCJjcmVhdGluZyBuYW1lc3BhY2VzIHN0YWNrIik7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBtZW1zZXQocmV0LCAwICwgKHNpemVfdCkgc2l6ZW9mKHhtbEMxNE5WaXNpYmxlTnNTdGFjaykpOworICAgIHJldHVybihyZXQpOworfQorCitzdGF0aWMgdm9pZAoreG1sQzE0TlZpc2libGVOc1N0YWNrRGVzdHJveSh4bWxDMTROVmlzaWJsZU5zU3RhY2tQdHIgY3VyKSB7CisgICAgaWYoY3VyID09IE5VTEwpIHsKKyAgICAgICAgeG1sQzE0TkVyclBhcmFtKCJkZXN0cm95aW5nIG5hbWVzcGFjZXMgc3RhY2siKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBpZihjdXItPm5zVGFiICE9IE5VTEwpIHsKKwltZW1zZXQoY3VyLT5uc1RhYiwgMCwgY3VyLT5uc01heCAqIHNpemVvZih4bWxOc1B0cikpOworCXhtbEZyZWUoY3VyLT5uc1RhYik7CisgICAgfQorICAgIGlmKGN1ci0+bm9kZVRhYiAhPSBOVUxMKSB7CisJbWVtc2V0KGN1ci0+bm9kZVRhYiwgMCwgY3VyLT5uc01heCAqIHNpemVvZih4bWxOb2RlUHRyKSk7CisJeG1sRnJlZShjdXItPm5vZGVUYWIpOworICAgIH0KKyAgICBtZW1zZXQoY3VyLCAwLCBzaXplb2YoeG1sQzE0TlZpc2libGVOc1N0YWNrKSk7CisgICAgeG1sRnJlZShjdXIpOworCit9CisKK3N0YXRpYyB2b2lkCit4bWxDMTROVmlzaWJsZU5zU3RhY2tBZGQoeG1sQzE0TlZpc2libGVOc1N0YWNrUHRyIGN1ciwgeG1sTnNQdHIgbnMsIHhtbE5vZGVQdHIgbm9kZSkgeworICAgIGlmKChjdXIgPT0gTlVMTCkgfHwKKyAgICAgICAoKGN1ci0+bnNUYWIgPT0gTlVMTCkgJiYgKGN1ci0+bm9kZVRhYiAhPSBOVUxMKSkgfHwKKyAgICAgICAoKGN1ci0+bnNUYWIgIT0gTlVMTCkgJiYgKGN1ci0+bm9kZVRhYiA9PSBOVUxMKSkpIHsKKyAgICAgICAgeG1sQzE0TkVyclBhcmFtKCJhZGRpbmcgbmFtZXNwYWNlIHRvIHN0YWNrIik7CisJcmV0dXJuOworICAgIH0KKworICAgIGlmICgoY3VyLT5uc1RhYiA9PSBOVUxMKSAmJiAoY3VyLT5ub2RlVGFiID09IE5VTEwpKSB7CisgICAgICAgIGN1ci0+bnNUYWIgPSAoeG1sTnNQdHIqKSB4bWxNYWxsb2MoWE1MX05BTUVTUEFDRVNfREVGQVVMVCAqIHNpemVvZih4bWxOc1B0cikpOworICAgICAgICBjdXItPm5vZGVUYWIgPSAoeG1sTm9kZVB0ciopIHhtbE1hbGxvYyhYTUxfTkFNRVNQQUNFU19ERUZBVUxUICogc2l6ZW9mKHhtbE5vZGVQdHIpKTsKKwlpZiAoKGN1ci0+bnNUYWIgPT0gTlVMTCkgfHwgKGN1ci0+bm9kZVRhYiA9PSBOVUxMKSkgeworCSAgICB4bWxDMTRORXJyTWVtb3J5KCJhZGRpbmcgbm9kZSB0byBzdGFjayIpOworCSAgICByZXR1cm47CisJfQorCW1lbXNldChjdXItPm5zVGFiLCAwICwgWE1MX05BTUVTUEFDRVNfREVGQVVMVCAqIHNpemVvZih4bWxOc1B0cikpOworCW1lbXNldChjdXItPm5vZGVUYWIsIDAgLCBYTUxfTkFNRVNQQUNFU19ERUZBVUxUICogc2l6ZW9mKHhtbE5vZGVQdHIpKTsKKyAgICAgICAgY3VyLT5uc01heCA9IFhNTF9OQU1FU1BBQ0VTX0RFRkFVTFQ7CisgICAgfSBlbHNlIGlmKGN1ci0+bnNNYXggPT0gY3VyLT5uc0N1ckVuZCkgeworCXZvaWQgKnRtcDsKKwlpbnQgdG1wU2l6ZTsKKworCXRtcFNpemUgPSAyICogY3VyLT5uc01heDsKKwl0bXAgPSB4bWxSZWFsbG9jKGN1ci0+bnNUYWIsIHRtcFNpemUgKiBzaXplb2YoeG1sTnNQdHIpKTsKKwlpZiAodG1wID09IE5VTEwpIHsKKwkgICAgeG1sQzE0TkVyck1lbW9yeSgiYWRkaW5nIG5vZGUgdG8gc3RhY2siKTsKKwkgICAgcmV0dXJuOworCX0KKwljdXItPm5zVGFiID0gKHhtbE5zUHRyKil0bXA7CisKKwl0bXAgPSB4bWxSZWFsbG9jKGN1ci0+bm9kZVRhYiwgdG1wU2l6ZSAqIHNpemVvZih4bWxOb2RlUHRyKSk7CisJaWYgKHRtcCA9PSBOVUxMKSB7CisJICAgIHhtbEMxNE5FcnJNZW1vcnkoImFkZGluZyBub2RlIHRvIHN0YWNrIik7CisJICAgIHJldHVybjsKKwl9CisJY3VyLT5ub2RlVGFiID0gKHhtbE5vZGVQdHIqKXRtcDsKKworCWN1ci0+bnNNYXggPSB0bXBTaXplOworICAgIH0KKyAgICBjdXItPm5zVGFiW2N1ci0+bnNDdXJFbmRdID0gbnM7CisgICAgY3VyLT5ub2RlVGFiW2N1ci0+bnNDdXJFbmRdID0gbm9kZTsKKworICAgICsrY3VyLT5uc0N1ckVuZDsKK30KKworc3RhdGljIHZvaWQKK3htbEMxNE5WaXNpYmxlTnNTdGFja1NhdmUoeG1sQzE0TlZpc2libGVOc1N0YWNrUHRyIGN1ciwgeG1sQzE0TlZpc2libGVOc1N0YWNrUHRyIHN0YXRlKSB7CisgICAgaWYoKGN1ciA9PSBOVUxMKSB8fCAoc3RhdGUgPT0gTlVMTCkpIHsKKyAgICAgICAgeG1sQzE0TkVyclBhcmFtKCJzYXZpbmcgbmFtZXNwYWNlcyBzdGFjayIpOworCXJldHVybjsKKyAgICB9CisKKyAgICBzdGF0ZS0+bnNDdXJFbmQgPSBjdXItPm5zQ3VyRW5kOworICAgIHN0YXRlLT5uc1ByZXZTdGFydCA9IGN1ci0+bnNQcmV2U3RhcnQ7CisgICAgc3RhdGUtPm5zUHJldkVuZCA9IGN1ci0+bnNQcmV2RW5kOworfQorCitzdGF0aWMgdm9pZAoreG1sQzE0TlZpc2libGVOc1N0YWNrUmVzdG9yZSh4bWxDMTROVmlzaWJsZU5zU3RhY2tQdHIgY3VyLCB4bWxDMTROVmlzaWJsZU5zU3RhY2tQdHIgc3RhdGUpIHsKKyAgICBpZigoY3VyID09IE5VTEwpIHx8IChzdGF0ZSA9PSBOVUxMKSkgeworICAgICAgICB4bWxDMTRORXJyUGFyYW0oInJlc3RvcmluZyBuYW1lc3BhY2VzIHN0YWNrIik7CisJcmV0dXJuOworICAgIH0KKyAgICBjdXItPm5zQ3VyRW5kID0gc3RhdGUtPm5zQ3VyRW5kOworICAgIGN1ci0+bnNQcmV2U3RhcnQgPSBzdGF0ZS0+bnNQcmV2U3RhcnQ7CisgICAgY3VyLT5uc1ByZXZFbmQgPSBzdGF0ZS0+bnNQcmV2RW5kOworfQorCitzdGF0aWMgdm9pZAoreG1sQzE0TlZpc2libGVOc1N0YWNrU2hpZnQoeG1sQzE0TlZpc2libGVOc1N0YWNrUHRyIGN1cikgeworICAgIGlmKGN1ciA9PSBOVUxMKSB7CisgICAgICAgIHhtbEMxNE5FcnJQYXJhbSgic2hpZnRpbmcgbmFtZXNwYWNlcyBzdGFjayIpOworCXJldHVybjsKKyAgICB9CisgICAgY3VyLT5uc1ByZXZTdGFydCA9IGN1ci0+bnNQcmV2RW5kOworICAgIGN1ci0+bnNQcmV2RW5kID0gY3VyLT5uc0N1ckVuZDsKK30KKworc3RhdGljIGludAoreG1sQzE0TlN0ckVxdWFsKGNvbnN0IHhtbENoYXIgKnN0cjEsIGNvbnN0IHhtbENoYXIgKnN0cjIpIHsKKyAgICBpZiAoc3RyMSA9PSBzdHIyKSByZXR1cm4oMSk7CisgICAgaWYgKHN0cjEgPT0gTlVMTCkgcmV0dXJuKCgqc3RyMikgPT0gJ1wwJyk7CisgICAgaWYgKHN0cjIgPT0gTlVMTCkgcmV0dXJuKCgqc3RyMSkgPT0gJ1wwJyk7CisgICAgZG8geworCWlmICgqc3RyMSsrICE9ICpzdHIyKSByZXR1cm4oMCk7CisgICAgfSB3aGlsZSAoKnN0cjIrKyk7CisgICAgcmV0dXJuKDEpOworfQorCisvKioKKyAqIHhtbEMxNE5WaXNpYmxlTnNTdGFja0ZpbmQ6CisgKiBAY3R4OgkJdGhlIEMxNE4gY29udGV4dAorICogQG5zOgkJCXRoZSBuYW1lc3BhY2UgdG8gY2hlY2sKKyAqCisgKiBDaGVja3Mgd2hldGhlciB0aGUgZ2l2ZW4gbmFtZXNwYWNlIHdhcyBhbHJlYWR5IHJlbmRlcmVkIG9yIG5vdAorICoKKyAqIFJldHVybnMgMSBpZiB3ZSBhbHJlYWR5IHdyb3RlIHRoaXMgbmFtZXNwYWNlIG9yIDAgb3RoZXJ3aXNlCisgKi8KK3N0YXRpYyBpbnQKK3htbEMxNE5WaXNpYmxlTnNTdGFja0ZpbmQoeG1sQzE0TlZpc2libGVOc1N0YWNrUHRyIGN1ciwgeG1sTnNQdHIgbnMpCit7CisgICAgaW50IGk7CisgICAgY29uc3QgeG1sQ2hhciAqcHJlZml4OworICAgIGNvbnN0IHhtbENoYXIgKmhyZWY7CisgICAgaW50IGhhc19lbXB0eV9uczsKKworICAgIGlmKGN1ciA9PSBOVUxMKSB7CisgICAgICAgIHhtbEMxNE5FcnJQYXJhbSgic2VhcmNoaW5nIG5hbWVzcGFjZXMgc3RhY2sgKGMxNG4pIik7CisgICAgICAgIHJldHVybiAoMCk7CisgICAgfQorCisgICAgLyoKKyAgICAgKiBpZiB0aGUgZGVmYXVsdCBuYW1lc3BhY2UgeG1sbnM9IiIgaXMgbm90IGRlZmluZWQgeWV0IHRoZW4KKyAgICAgKiB3ZSBkbyBub3Qgd2FudCB0byBwcmludCBpdCBvdXQKKyAgICAgKi8KKyAgICBwcmVmaXggPSAoKG5zID09IE5VTEwpIHx8IChucy0+cHJlZml4ID09IE5VTEwpKSA/IEJBRF9DQVNUICIiIDogbnMtPnByZWZpeDsKKyAgICBocmVmID0gKChucyA9PSBOVUxMKSB8fCAobnMtPmhyZWYgPT0gTlVMTCkpID8gQkFEX0NBU1QgIiIgOiBucy0+aHJlZjsKKyAgICBoYXNfZW1wdHlfbnMgPSAoeG1sQzE0TlN0ckVxdWFsKHByZWZpeCwgTlVMTCkgJiYgeG1sQzE0TlN0ckVxdWFsKGhyZWYsIE5VTEwpKTsKKworICAgIGlmIChjdXItPm5zVGFiICE9IE5VTEwpIHsKKwlpbnQgc3RhcnQgPSAoaGFzX2VtcHR5X25zKSA/IDAgOiBjdXItPm5zUHJldlN0YXJ0OworICAgICAgICBmb3IgKGkgPSBjdXItPm5zQ3VyRW5kIC0gMTsgaSA+PSBzdGFydDsgLS1pKSB7CisgICAgICAgICAgICB4bWxOc1B0ciBuczEgPSBjdXItPm5zVGFiW2ldOworCisJICAgIGlmKHhtbEMxNE5TdHJFcXVhbChwcmVmaXgsIChuczEgIT0gTlVMTCkgPyBuczEtPnByZWZpeCA6IE5VTEwpKSB7CisJCXJldHVybih4bWxDMTROU3RyRXF1YWwoaHJlZiwgKG5zMSAhPSBOVUxMKSA/IG5zMS0+aHJlZiA6IE5VTEwpKTsKKwkgICAgfQorICAgICAgICB9CisgICAgfQorICAgIHJldHVybihoYXNfZW1wdHlfbnMpOworfQorCitzdGF0aWMgaW50Cit4bWxFeGNDMTROVmlzaWJsZU5zU3RhY2tGaW5kKHhtbEMxNE5WaXNpYmxlTnNTdGFja1B0ciBjdXIsIHhtbE5zUHRyIG5zLCB4bWxDMTROQ3R4UHRyIGN0eCkgeworICAgIGludCBpOworICAgIGNvbnN0IHhtbENoYXIgKnByZWZpeDsKKyAgICBjb25zdCB4bWxDaGFyICpocmVmOworICAgIGludCBoYXNfZW1wdHlfbnM7CisKKyAgICBpZihjdXIgPT0gTlVMTCkgeworICAgICAgICB4bWxDMTRORXJyUGFyYW0oInNlYXJjaGluZyBuYW1lc3BhY2VzIHN0YWNrIChleGMgYzE0bikiKTsKKyAgICAgICAgcmV0dXJuICgwKTsKKyAgICB9CisKKyAgICAvKgorICAgICAqIGlmIHRoZSBkZWZhdWx0IG5hbWVzcGFjZSB4bWxucz0iIiBpcyBub3QgZGVmaW5lZCB5ZXQgdGhlbgorICAgICAqIHdlIGRvIG5vdCB3YW50IHRvIHByaW50IGl0IG91dAorICAgICAqLworICAgIHByZWZpeCA9ICgobnMgPT0gTlVMTCkgfHwgKG5zLT5wcmVmaXggPT0gTlVMTCkpID8gQkFEX0NBU1QgIiIgOiBucy0+cHJlZml4OworICAgIGhyZWYgPSAoKG5zID09IE5VTEwpIHx8IChucy0+aHJlZiA9PSBOVUxMKSkgPyBCQURfQ0FTVCAiIiA6IG5zLT5ocmVmOworICAgIGhhc19lbXB0eV9ucyA9ICh4bWxDMTROU3RyRXF1YWwocHJlZml4LCBOVUxMKSAmJiB4bWxDMTROU3RyRXF1YWwoaHJlZiwgTlVMTCkpOworCisgICAgaWYgKGN1ci0+bnNUYWIgIT0gTlVMTCkgeworCWludCBzdGFydCA9IDA7CisgICAgICAgIGZvciAoaSA9IGN1ci0+bnNDdXJFbmQgLSAxOyBpID49IHN0YXJ0OyAtLWkpIHsKKyAgICAgICAgICAgIHhtbE5zUHRyIG5zMSA9IGN1ci0+bnNUYWJbaV07CisKKwkgICAgaWYoeG1sQzE0TlN0ckVxdWFsKHByZWZpeCwgKG5zMSAhPSBOVUxMKSA/IG5zMS0+cHJlZml4IDogTlVMTCkpIHsKKwkJaWYoeG1sQzE0TlN0ckVxdWFsKGhyZWYsIChuczEgIT0gTlVMTCkgPyBuczEtPmhyZWYgOiBOVUxMKSkgeworCQkgICAgcmV0dXJuKHhtbEMxNE5Jc1Zpc2libGUoY3R4LCBuczEsIGN1ci0+bm9kZVRhYltpXSkpOworCQl9IGVsc2UgeworCQkgICAgcmV0dXJuKDApOworCQl9CisJICAgIH0KKyAgICAgICAgfQorICAgIH0KKyAgICByZXR1cm4oaGFzX2VtcHR5X25zKTsKK30KKworCisKKworLyoqCisgKiB4bWxDMTROSXNYbWxOczoKKyAqIEBuczoJCXRoZSBuYW1lc3BhY2UgdG8gY2hlY2sKKyAqCisgKiBDaGVja3Mgd2hldGhlciB0aGUgZ2l2ZW4gbmFtZXNwYWNlIGlzIGEgZGVmYXVsdCAieG1sOiIgbmFtZXNwYWNlCisgKiB3aXRoIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZSIKKyAqCisgKiBSZXR1cm5zIDEgaWYgdGhlIG5vZGUgaXMgZGVmYXVsdCBvciAwIG90aGVyd2lzZQorICovCisKKy8qIHRvZG86IG1ha2UgaXQgYSBkZWZpbmU/ICovCitzdGF0aWMgaW50Cit4bWxDMTROSXNYbWxOcyh4bWxOc1B0ciBucykKK3sKKyAgICByZXR1cm4gKChucyAhPSBOVUxMKSAmJgorICAgICAgICAgICAgKHhtbFN0ckVxdWFsKG5zLT5wcmVmaXgsIEJBRF9DQVNUICJ4bWwiKSkgJiYKKyAgICAgICAgICAgICh4bWxTdHJFcXVhbChucy0+aHJlZiwgWE1MX1hNTF9OQU1FU1BBQ0UpKSk7Cit9CisKKworLyoqCisgKiB4bWxDMTROTnNDb21wYXJlOgorICogQG5zMToJCXRoZSBwb2ludGVyIHRvIGZpcnN0IG5hbWVzcGFjZQorICogQG5zMjoJCXRoZSBwb2ludGVyIHRvIHNlY29uZCBuYW1lc3BhY2UKKyAqCisgKiBDb21wYXJlcyB0aGUgbmFtZXNwYWNlcyBieSBuYW1lcyAocHJlZml4ZXMpLgorICoKKyAqIFJldHVybnMgLTEgaWYgbnMxIDwgbnMyLCAwIGlmIG5zMSA9PSBuczIgb3IgMSBpZiBuczEgPiBuczIuCisgKi8KK3N0YXRpYyBpbnQKK3htbEMxNE5Oc0NvbXBhcmUoeG1sTnNQdHIgbnMxLCB4bWxOc1B0ciBuczIpCit7CisgICAgaWYgKG5zMSA9PSBuczIpCisgICAgICAgIHJldHVybiAoMCk7CisgICAgaWYgKG5zMSA9PSBOVUxMKQorICAgICAgICByZXR1cm4gKC0xKTsKKyAgICBpZiAobnMyID09IE5VTEwpCisgICAgICAgIHJldHVybiAoMSk7CisKKyAgICByZXR1cm4gKHhtbFN0cmNtcChuczEtPnByZWZpeCwgbnMyLT5wcmVmaXgpKTsKK30KKworCisvKioKKyAqIHhtbEMxNE5QcmludE5hbWVzcGFjZXM6CisgKiBAbnM6CQkJdGhlIHBvaW50ZXIgdG8gbmFtZXNwYWNlCisgKiBAY3R4OgkJdGhlIEMxNE4gY29udGV4dAorICoKKyAqIFByaW50cyB0aGUgZ2l2ZW4gbmFtZXNwYWNlIHRvIHRoZSBvdXRwdXQgYnVmZmVyIGZyb20gQzE0TiBjb250ZXh0LgorICoKKyAqIFJldHVybnMgMSBvbiBzdWNjZXNzIG9yIDAgb24gZmFpbC4KKyAqLworc3RhdGljIGludAoreG1sQzE0TlByaW50TmFtZXNwYWNlcyhjb25zdCB4bWxOc1B0ciBucywgeG1sQzE0TkN0eFB0ciBjdHgpCit7CisKKyAgICBpZiAoKG5zID09IE5VTEwpIHx8IChjdHggPT0gTlVMTCkpIHsKKyAgICAgICAgeG1sQzE0TkVyclBhcmFtKCJ3cml0aW5nIG5hbWVzcGFjZXMiKTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCisgICAgaWYgKG5zLT5wcmVmaXggIT0gTlVMTCkgeworICAgICAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyhjdHgtPmJ1ZiwgIiB4bWxuczoiKTsKKyAgICAgICAgeG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcoY3R4LT5idWYsIChjb25zdCBjaGFyICopIG5zLT5wcmVmaXgpOworICAgICAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyhjdHgtPmJ1ZiwgIj0iKTsKKyAgICB9IGVsc2UgeworICAgICAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyhjdHgtPmJ1ZiwgIiB4bWxucz0iKTsKKyAgICB9CisgICAgaWYobnMtPmhyZWYgIT0gTlVMTCkgeworCXhtbEJ1ZldyaXRlUXVvdGVkU3RyaW5nKGN0eC0+YnVmLT5idWZmZXIsIG5zLT5ocmVmKTsKKyAgICB9IGVsc2UgeworICAgIAl4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyhjdHgtPmJ1ZiwgIlwiXCIiKTsKKyAgICB9CisgICAgcmV0dXJuICgxKTsKK30KKworLyoqCisgKiB4bWxDMTROUHJvY2Vzc05hbWVzcGFjZXNBeGlzOgorICogQGN0eDoJCXRoZSBDMTROIGNvbnRleHQKKyAqIEBub2RlOgkJdGhlIGN1cnJlbnQgbm9kZQorICoKKyAqIFByaW50cyBvdXQgY2Fub25pY2FsIG5hbWVzcGFjZSBheGlzIG9mIHRoZSBjdXJyZW50IG5vZGUgdG8gdGhlCisgKiBidWZmZXIgZnJvbSBDMTROIGNvbnRleHQgYXMgZm9sbG93cworICoKKyAqIENhbm9uaWNhbCBYTUwgdiAxLjAgKGh0dHA6Ly93d3cudzMub3JnL1RSL3htbC1jMTRuKQorICoKKyAqIE5hbWVzcGFjZSBBeGlzCisgKiBDb25zaWRlciBhIGxpc3QgTCBjb250YWluaW5nIG9ubHkgbmFtZXNwYWNlIG5vZGVzIGluIHRoZQorICogYXhpcyBhbmQgaW4gdGhlIG5vZGUtc2V0IGluIGxleGljb2dyYXBoaWMgb3JkZXIgKGFzY2VuZGluZykuIFRvIGJlZ2luCisgKiBwcm9jZXNzaW5nIEwsIGlmIHRoZSBmaXJzdCBub2RlIGlzIG5vdCB0aGUgZGVmYXVsdCBuYW1lc3BhY2Ugbm9kZSAoYSBub2RlCisgKiB3aXRoIG5vIG5hbWVzcGFjZSBVUkkgYW5kIG5vIGxvY2FsIG5hbWUpLCB0aGVuIGdlbmVyYXRlIGEgc3BhY2UgZm9sbG93ZWQKKyAqIGJ5IHhtbG5zPSIiIGlmIGFuZCBvbmx5IGlmIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OgorICogICAgLSB0aGUgZWxlbWVudCBFIHRoYXQgb3ducyB0aGUgYXhpcyBpcyBpbiB0aGUgbm9kZS1zZXQKKyAqICAgIC0gVGhlIG5lYXJlc3QgYW5jZXN0b3IgZWxlbWVudCBvZiBFIGluIHRoZSBub2RlLXNldCBoYXMgYSBkZWZhdWx0CisgKgkgICAgbmFtZXNwYWNlIG5vZGUgaW4gdGhlIG5vZGUtc2V0IChkZWZhdWx0IG5hbWVzcGFjZSBub2RlcyBhbHdheXMKKyAqICAgICAgaGF2ZSBub24tZW1wdHkgdmFsdWVzIGluIFhQYXRoKQorICogVGhlIGxhdHRlciBjb25kaXRpb24gZWxpbWluYXRlcyB1bm5lY2Vzc2FyeSBvY2N1cnJlbmNlcyBvZiB4bWxucz0iIiBpbgorICogdGhlIGNhbm9uaWNhbCBmb3JtIHNpbmNlIGFuIGVsZW1lbnQgb25seSByZWNlaXZlcyBhbiB4bWxucz0iIiBpZiBpdHMKKyAqIGRlZmF1bHQgbmFtZXNwYWNlIGlzIGVtcHR5IGFuZCBpZiBpdCBoYXMgYW4gaW1tZWRpYXRlIHBhcmVudCBpbiB0aGUKKyAqIGNhbm9uaWNhbCBmb3JtIHRoYXQgaGFzIGEgbm9uLWVtcHR5IGRlZmF1bHQgbmFtZXNwYWNlLiBUbyBmaW5pc2gKKyAqIHByb2Nlc3NpbmcgIEwsIHNpbXBseSBwcm9jZXNzIGV2ZXJ5IG5hbWVzcGFjZSBub2RlIGluIEwsIGV4Y2VwdCBvbWl0CisgKiBuYW1lc3BhY2Ugbm9kZSB3aXRoIGxvY2FsIG5hbWUgeG1sLCB3aGljaCBkZWZpbmVzIHRoZSB4bWwgcHJlZml4LAorICogaWYgaXRzIHN0cmluZyB2YWx1ZSBpcyBodHRwOi8vd3d3LnczLm9yZy9YTUwvMTk5OC9uYW1lc3BhY2UuCisgKgorICogRXhjbHVzaXZlIFhNTCBDYW5vbmljYWxpemF0aW9uIHYgMS4wIChodHRwOi8vd3d3LnczLm9yZy9UUi94bWwtZXhjLWMxNG4pCisgKiBDYW5vbmljYWwgWE1MIGFwcGxpZWQgdG8gYSBkb2N1bWVudCBzdWJzZXQgcmVxdWlyZXMgdGhlIHNlYXJjaCBvZiB0aGUKKyAqIGFuY2VzdG9yIG5vZGVzIG9mIGVhY2ggb3JwaGFuIGVsZW1lbnQgbm9kZSBmb3IgYXR0cmlidXRlcyBpbiB0aGUgeG1sCisgKiBuYW1lc3BhY2UsIHN1Y2ggYXMgeG1sOmxhbmcgYW5kIHhtbDpzcGFjZS4gVGhlc2UgYXJlIGNvcGllZCBpbnRvIHRoZQorICogZWxlbWVudCBub2RlIGV4Y2VwdCBpZiBhIGRlY2xhcmF0aW9uIG9mIHRoZSBzYW1lIGF0dHJpYnV0ZSBpcyBhbHJlYWR5CisgKiBpbiB0aGUgYXR0cmlidXRlIGF4aXMgb2YgdGhlIGVsZW1lbnQgKHdoZXRoZXIgb3Igbm90IGl0IGlzIGluY2x1ZGVkIGluCisgKiB0aGUgZG9jdW1lbnQgc3Vic2V0KS4gVGhpcyBzZWFyY2ggYW5kIGNvcHlpbmcgYXJlIG9taXR0ZWQgZnJvbSB0aGUKKyAqIEV4Y2x1c2l2ZSBYTUwgQ2Fub25pY2FsaXphdGlvbiBtZXRob2QuCisgKgorICogUmV0dXJucyAwIG9uIHN1Y2Nlc3Mgb3IgLTEgb24gZmFpbC4KKyAqLworc3RhdGljIGludAoreG1sQzE0TlByb2Nlc3NOYW1lc3BhY2VzQXhpcyh4bWxDMTROQ3R4UHRyIGN0eCwgeG1sTm9kZVB0ciBjdXIsIGludCB2aXNpYmxlKQoreworICAgIHhtbE5vZGVQdHIgbjsKKyAgICB4bWxOc1B0ciBucywgdG1wOworICAgIHhtbExpc3RQdHIgbGlzdDsKKyAgICBpbnQgYWxyZWFkeV9yZW5kZXJlZDsKKyAgICBpbnQgaGFzX2VtcHR5X25zID0gMDsKKworICAgIGlmICgoY3R4ID09IE5VTEwpIHx8IChjdXIgPT0gTlVMTCkgfHwgKGN1ci0+dHlwZSAhPSBYTUxfRUxFTUVOVF9OT0RFKSkgeworICAgICAgICB4bWxDMTRORXJyUGFyYW0oInByb2Nlc3NpbmcgbmFtZXNwYWNlcyBheGlzIChjMTRuKSIpOworICAgICAgICByZXR1cm4gKC0xKTsKKyAgICB9CisKKyAgICAvKgorICAgICAqIENyZWF0ZSBhIHNvcnRlZCBsaXN0IHRvIHN0b3JlIGVsZW1lbnQgbmFtZXNwYWNlcworICAgICAqLworICAgIGxpc3QgPSB4bWxMaXN0Q3JlYXRlKE5VTEwsICh4bWxMaXN0RGF0YUNvbXBhcmUpIHhtbEMxNE5Oc0NvbXBhcmUpOworICAgIGlmIChsaXN0ID09IE5VTEwpIHsKKyAgICAgICAgeG1sQzE0TkVyckludGVybmFsKCJjcmVhdGluZyBuYW1lc3BhY2VzIGxpc3QgKGMxNG4pIik7CisgICAgICAgIHJldHVybiAoLTEpOworICAgIH0KKworICAgIC8qIGNoZWNrIGFsbCBuYW1lc3BhY2VzICovCisgICAgZm9yKG4gPSBjdXI7IG4gIT0gTlVMTDsgbiA9IG4tPnBhcmVudCkgeworCWZvcihucyA9IG4tPm5zRGVmOyBucyAhPSBOVUxMOyBucyA9IG5zLT5uZXh0KSB7CisJICAgIHRtcCA9IHhtbFNlYXJjaE5zKGN1ci0+ZG9jLCBjdXIsIG5zLT5wcmVmaXgpOworCisJICAgIGlmKCh0bXAgPT0gbnMpICYmICF4bWxDMTROSXNYbWxOcyhucykgJiYgeG1sQzE0TklzVmlzaWJsZShjdHgsIG5zLCBjdXIpKSB7CisJCWFscmVhZHlfcmVuZGVyZWQgPSB4bWxDMTROVmlzaWJsZU5zU3RhY2tGaW5kKGN0eC0+bnNfcmVuZGVyZWQsIG5zKTsKKwkJaWYodmlzaWJsZSkgeworCSAgICB4bWxDMTROVmlzaWJsZU5zU3RhY2tBZGQoY3R4LT5uc19yZW5kZXJlZCwgbnMsIGN1cik7CisJCX0KKwkJaWYoIWFscmVhZHlfcmVuZGVyZWQpIHsKKwkJICAgIHhtbExpc3RJbnNlcnQobGlzdCwgbnMpOworCQl9CisJCWlmKHhtbFN0cmxlbihucy0+cHJlZml4KSA9PSAwKSB7CisJCSAgICBoYXNfZW1wdHlfbnMgPSAxOworCQl9CisJICAgIH0KKwl9CisgICAgfQorCisgICAgLyoqCisgICAgICogaWYgdGhlIGZpcnN0IG5vZGUgaXMgbm90IHRoZSBkZWZhdWx0IG5hbWVzcGFjZSBub2RlIChhIG5vZGUgd2l0aCBubworICAgICAqIG5hbWVzcGFjZSBVUkkgYW5kIG5vIGxvY2FsIG5hbWUpLCB0aGVuIGdlbmVyYXRlIGEgc3BhY2UgZm9sbG93ZWQgYnkKKyAgICAgKiB4bWxucz0iIiBpZiBhbmQgb25seSBpZiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKKyAgICAgKiAgLSB0aGUgZWxlbWVudCBFIHRoYXQgb3ducyB0aGUgYXhpcyBpcyBpbiB0aGUgbm9kZS1zZXQKKyAgICAgKiAgLSB0aGUgbmVhcmVzdCBhbmNlc3RvciBlbGVtZW50IG9mIEUgaW4gdGhlIG5vZGUtc2V0IGhhcyBhIGRlZmF1bHQKKyAgICAgKiAgICAgbmFtZXNwYWNlIG5vZGUgaW4gdGhlIG5vZGUtc2V0IChkZWZhdWx0IG5hbWVzcGFjZSBub2RlcyBhbHdheXMKKyAgICAgKiAgICAgaGF2ZSBub24tZW1wdHkgdmFsdWVzIGluIFhQYXRoKQorICAgICAqLworICAgIGlmKHZpc2libGUgJiYgIWhhc19lbXB0eV9ucykgeworICAgICAgICBzdGF0aWMgeG1sTnMgbnNfZGVmYXVsdDsKKworICAgICAgICBtZW1zZXQoJm5zX2RlZmF1bHQsIDAsIHNpemVvZihuc19kZWZhdWx0KSk7CisgICAgICAgIGlmKCF4bWxDMTROVmlzaWJsZU5zU3RhY2tGaW5kKGN0eC0+bnNfcmVuZGVyZWQsICZuc19kZWZhdWx0KSkgeworCSAgICB4bWxDMTROUHJpbnROYW1lc3BhY2VzKCZuc19kZWZhdWx0LCBjdHgpOworCX0KKyAgICB9CisKKworICAgIC8qCisgICAgICogcHJpbnQgb3V0IGFsbCBlbGVtZW50cyBmcm9tIGxpc3QKKyAgICAgKi8KKyAgICB4bWxMaXN0V2FsayhsaXN0LCAoeG1sTGlzdFdhbGtlcikgeG1sQzE0TlByaW50TmFtZXNwYWNlcywgKGNvbnN0IHZvaWQgKikgY3R4KTsKKworICAgIC8qCisgICAgICogQ2xlYW51cAorICAgICAqLworICAgIHhtbExpc3REZWxldGUobGlzdCk7CisgICAgcmV0dXJuICgwKTsKK30KKworCisvKioKKyAqIHhtbEV4Y0MxNE5Qcm9jZXNzTmFtZXNwYWNlc0F4aXM6CisgKiBAY3R4OgkJdGhlIEMxNE4gY29udGV4dAorICogQG5vZGU6CQl0aGUgY3VycmVudCBub2RlCisgKgorICogUHJpbnRzIG91dCBleGNsdXNpdmUgY2Fub25pY2FsIG5hbWVzcGFjZSBheGlzIG9mIHRoZSBjdXJyZW50IG5vZGUgdG8gdGhlCisgKiBidWZmZXIgZnJvbSBDMTROIGNvbnRleHQgYXMgZm9sbG93cworICoKKyAqIEV4Y2x1c2l2ZSBYTUwgQ2Fub25pY2FsaXphdGlvbgorICogaHR0cDovL3d3dy53My5vcmcvVFIveG1sLWV4Yy1jMTRuCisgKgorICogSWYgdGhlIGVsZW1lbnQgbm9kZSBpcyBpbiB0aGUgWFBhdGggc3Vic2V0IHRoZW4gb3V0cHV0IHRoZSBub2RlIGluCisgKiBhY2NvcmRhbmNlIHdpdGggQ2Fub25pY2FsIFhNTCBleGNlcHQgZm9yIG5hbWVzcGFjZSBub2RlcyB3aGljaCBhcmUKKyAqIHJlbmRlcmVkIGFzIGZvbGxvd3M6CisgKgorICogMS4gUmVuZGVyIGVhY2ggbmFtZXNwYWNlIG5vZGUgaWZmOgorICogICAgKiBpdCBpcyB2aXNpYmx5IHV0aWxpemVkIGJ5IHRoZSBpbW1lZGlhdGUgcGFyZW50IGVsZW1lbnQgb3Igb25lIG9mCisgKiAgICAgIGl0cyBhdHRyaWJ1dGVzLCBvciBpcyBwcmVzZW50IGluIEluY2x1c2l2ZU5hbWVzcGFjZXMgUHJlZml4TGlzdCwgYW5kCisgKiAgICAqIGl0cyBwcmVmaXggYW5kIHZhbHVlIGRvIG5vdCBhcHBlYXIgaW4gbnNfcmVuZGVyZWQuIG5zX3JlbmRlcmVkIGlzCisgKiAgICAgIG9idGFpbmVkIGJ5IHBvcHBpbmcgdGhlIHN0YXRlIHN0YWNrIGluIG9yZGVyIHRvIG9idGFpbiBhIGxpc3Qgb2YKKyAqICAgICAgcHJlZml4ZXMgYW5kIHRoZWlyIHZhbHVlcyB3aGljaCBoYXZlIGFscmVhZHkgYmVlbiByZW5kZXJlZCBieQorICogICAgICBhbiBvdXRwdXQgYW5jZXN0b3Igb2YgdGhlIG5hbWVzcGFjZSBub2RlJ3MgcGFyZW50IGVsZW1lbnQuCisgKiAyLiBBcHBlbmQgdGhlIHJlbmRlcmVkIG5hbWVzcGFjZSBub2RlIHRvIHRoZSBsaXN0IG5zX3JlbmRlcmVkIG9mIG5hbWVzcGFjZQorICogbm9kZXMgcmVuZGVyZWQgYnkgb3V0cHV0IGFuY2VzdG9ycy4gUHVzaCBuc19yZW5kZXJlZCBvbiBzdGF0ZSBzdGFjayBhbmQKKyAqIHJlY3Vyc2UuCisgKiAzLiBBZnRlciB0aGUgcmVjdXJzaW9uIHJldHVybnMsIHBvcCB0aGVzdGF0ZSBzdGFjay4KKyAqCisgKgorICogUmV0dXJucyAwIG9uIHN1Y2Nlc3Mgb3IgLTEgb24gZmFpbC4KKyAqLworc3RhdGljIGludAoreG1sRXhjQzE0TlByb2Nlc3NOYW1lc3BhY2VzQXhpcyh4bWxDMTROQ3R4UHRyIGN0eCwgeG1sTm9kZVB0ciBjdXIsIGludCB2aXNpYmxlKQoreworICAgIHhtbE5zUHRyIG5zOworICAgIHhtbExpc3RQdHIgbGlzdDsKKyAgICB4bWxBdHRyUHRyIGF0dHI7CisgICAgaW50IGFscmVhZHlfcmVuZGVyZWQ7CisgICAgaW50IGhhc19lbXB0eV9ucyA9IDA7CisgICAgaW50IGhhc192aXNpYmx5X3V0aWxpemVkX2VtcHR5X25zID0gMDsKKyAgICBpbnQgaGFzX2VtcHR5X25zX2luX2luY2x1c2l2ZV9saXN0ID0gMDsKKworICAgIGlmICgoY3R4ID09IE5VTEwpIHx8IChjdXIgPT0gTlVMTCkgfHwgKGN1ci0+dHlwZSAhPSBYTUxfRUxFTUVOVF9OT0RFKSkgeworICAgICAgICB4bWxDMTRORXJyUGFyYW0oInByb2Nlc3NpbmcgbmFtZXNwYWNlcyBheGlzIChleGMgYzE0bikiKTsKKyAgICAgICAgcmV0dXJuICgtMSk7CisgICAgfQorCisgICAgaWYoIXhtbEMxNE5Jc0V4Y2x1c2l2ZShjdHgpKSB7CisgICAgICAgIHhtbEMxNE5FcnJQYXJhbSgicHJvY2Vzc2luZyBuYW1lc3BhY2VzIGF4aXMgKGV4YyBjMTRuKSIpOworICAgICAgICByZXR1cm4gKC0xKTsKKworICAgIH0KKworICAgIC8qCisgICAgICogQ3JlYXRlIGEgc29ydGVkIGxpc3QgdG8gc3RvcmUgZWxlbWVudCBuYW1lc3BhY2VzCisgICAgICovCisgICAgbGlzdCA9IHhtbExpc3RDcmVhdGUoTlVMTCwgKHhtbExpc3REYXRhQ29tcGFyZSkgeG1sQzE0Tk5zQ29tcGFyZSk7CisgICAgaWYgKGxpc3QgPT0gTlVMTCkgeworICAgICAgICB4bWxDMTRORXJySW50ZXJuYWwoImNyZWF0aW5nIG5hbWVzcGFjZXMgbGlzdCAoZXhjIGMxNG4pIik7CisgICAgICAgIHJldHVybiAoLTEpOworICAgIH0KKworICAgIC8qCisgICAgICogcHJvY2VzcyBpbmNsdXNpdmUgbmFtZXNwYWNlczoKKyAgICAgKiBBbGwgbmFtZXNwYWNlIG5vZGVzIGFwcGVhcmluZyBvbiBpbmNsdXNpdmUgbnMgbGlzdCBhcmUKKyAgICAgKiBoYW5kbGVkIGFzIHByb3ZpZGVkIGluIENhbm9uaWNhbCBYTUwKKyAgICAgKi8KKyAgICBpZihjdHgtPmluY2x1c2l2ZV9uc19wcmVmaXhlcyAhPSBOVUxMKSB7CisJeG1sQ2hhciAqcHJlZml4OworCWludCBpOworCisJZm9yIChpID0gMDsgY3R4LT5pbmNsdXNpdmVfbnNfcHJlZml4ZXNbaV0gIT0gTlVMTDsgKytpKSB7CisJICAgIHByZWZpeCA9IGN0eC0+aW5jbHVzaXZlX25zX3ByZWZpeGVzW2ldOworCSAgICAvKgorCSAgICAgKiBTcGVjaWFsIHZhbHVlcyBmb3IgbmFtZXNwYWNlIHdpdGggZW1wdHkgcHJlZml4CisJICAgICAqLworICAgICAgICAgICAgaWYgKHhtbFN0ckVxdWFsKHByZWZpeCwgQkFEX0NBU1QgIiNkZWZhdWx0IikKKyAgICAgICAgICAgICAgICB8fCB4bWxTdHJFcXVhbChwcmVmaXgsIEJBRF9DQVNUICIiKSkgeworICAgICAgICAgICAgICAgIHByZWZpeCA9IE5VTEw7CisJCWhhc19lbXB0eV9uc19pbl9pbmNsdXNpdmVfbGlzdCA9IDE7CisgICAgICAgICAgICB9CisKKwkgICAgbnMgPSB4bWxTZWFyY2hOcyhjdXItPmRvYywgY3VyLCBwcmVmaXgpOworCSAgICBpZigobnMgIT0gTlVMTCkgJiYgIXhtbEMxNE5Jc1htbE5zKG5zKSAmJiB4bWxDMTROSXNWaXNpYmxlKGN0eCwgbnMsIGN1cikpIHsKKwkJYWxyZWFkeV9yZW5kZXJlZCA9IHhtbEMxNE5WaXNpYmxlTnNTdGFja0ZpbmQoY3R4LT5uc19yZW5kZXJlZCwgbnMpOworCQlpZih2aXNpYmxlKSB7CisJCSAgICB4bWxDMTROVmlzaWJsZU5zU3RhY2tBZGQoY3R4LT5uc19yZW5kZXJlZCwgbnMsIGN1cik7CisJCX0KKwkJaWYoIWFscmVhZHlfcmVuZGVyZWQpIHsKKwkJICAgIHhtbExpc3RJbnNlcnQobGlzdCwgbnMpOworCQl9CisJCWlmKHhtbFN0cmxlbihucy0+cHJlZml4KSA9PSAwKSB7CisJCSAgICBoYXNfZW1wdHlfbnMgPSAxOworCQl9CisJICAgIH0KKwl9CisgICAgfQorCisgICAgLyogYWRkIG5vZGUgbmFtZXNwYWNlICovCisgICAgaWYoY3VyLT5ucyAhPSBOVUxMKSB7CisJbnMgPSBjdXItPm5zOworICAgIH0gZWxzZSB7CisgICAgICAgIG5zID0geG1sU2VhcmNoTnMoY3VyLT5kb2MsIGN1ciwgTlVMTCk7CisJaGFzX3Zpc2libHlfdXRpbGl6ZWRfZW1wdHlfbnMgPSAxOworICAgIH0KKyAgICBpZigobnMgIT0gTlVMTCkgJiYgIXhtbEMxNE5Jc1htbE5zKG5zKSkgeworCWlmKHZpc2libGUgJiYgeG1sQzE0TklzVmlzaWJsZShjdHgsIG5zLCBjdXIpKSB7CisJICAgIGlmKCF4bWxFeGNDMTROVmlzaWJsZU5zU3RhY2tGaW5kKGN0eC0+bnNfcmVuZGVyZWQsIG5zLCBjdHgpKSB7CisJCXhtbExpc3RJbnNlcnQobGlzdCwgbnMpOworCSAgICB9CisJfQorCWlmKHZpc2libGUpIHsKKwkgICAgeG1sQzE0TlZpc2libGVOc1N0YWNrQWRkKGN0eC0+bnNfcmVuZGVyZWQsIG5zLCBjdXIpOworCX0KKwlpZih4bWxTdHJsZW4obnMtPnByZWZpeCkgPT0gMCkgeworCSAgICBoYXNfZW1wdHlfbnMgPSAxOworCX0KKyAgICB9CisKKworICAgIC8qIGFkZCBhdHRyaWJ1dGVzICovCisgICAgZm9yKGF0dHIgPSBjdXItPnByb3BlcnRpZXM7IGF0dHIgIT0gTlVMTDsgYXR0ciA9IGF0dHItPm5leHQpIHsKKyAgICAgICAgLyoKKyAgICAgICAgICogd2UgbmVlZCB0byBjaGVjayB0aGF0IGF0dHJpYnV0ZSBpcyB2aXNpYmxlIGFuZCBoYXMgbm9uCisgICAgICAgICAqIGRlZmF1bHQgbmFtZXNwYWNlIChYTUwgTmFtZXNwYWNlczogImRlZmF1bHQgbmFtZXNwYWNlcworCSAqIGRvIG5vdCBhcHBseSBkaXJlY3RseSB0byBhdHRyaWJ1dGVzIikKKyAgICAgICAgICovCisJaWYoKGF0dHItPm5zICE9IE5VTEwpICYmICF4bWxDMTROSXNYbWxOcyhhdHRyLT5ucykgJiYgeG1sQzE0TklzVmlzaWJsZShjdHgsIGF0dHIsIGN1cikpIHsKKwkgICAgYWxyZWFkeV9yZW5kZXJlZCA9IHhtbEV4Y0MxNE5WaXNpYmxlTnNTdGFja0ZpbmQoY3R4LT5uc19yZW5kZXJlZCwgYXR0ci0+bnMsIGN0eCk7CisJICAgIHhtbEMxNE5WaXNpYmxlTnNTdGFja0FkZChjdHgtPm5zX3JlbmRlcmVkLCBhdHRyLT5ucywgY3VyKTsKKwkgICAgaWYoIWFscmVhZHlfcmVuZGVyZWQgJiYgdmlzaWJsZSkgeworCQl4bWxMaXN0SW5zZXJ0KGxpc3QsIGF0dHItPm5zKTsKKwkgICAgfQorCSAgICBpZih4bWxTdHJsZW4oYXR0ci0+bnMtPnByZWZpeCkgPT0gMCkgeworCQloYXNfZW1wdHlfbnMgPSAxOworCSAgICB9CisJfSBlbHNlIGlmKChhdHRyLT5ucyAhPSBOVUxMKSAmJiAoeG1sU3RybGVuKGF0dHItPm5zLT5wcmVmaXgpID09IDApICYmICh4bWxTdHJsZW4oYXR0ci0+bnMtPmhyZWYpID09IDApKSB7CisJICAgIGhhc192aXNpYmx5X3V0aWxpemVkX2VtcHR5X25zID0gMTsKKwl9CisgICAgfQorCisgICAgLyoKKyAgICAgKiBQcm9jZXNzIHhtbG5zPSIiCisgICAgICovCisgICAgaWYodmlzaWJsZSAmJiBoYXNfdmlzaWJseV91dGlsaXplZF9lbXB0eV9ucyAmJgorCSAgICAhaGFzX2VtcHR5X25zICYmICFoYXNfZW1wdHlfbnNfaW5faW5jbHVzaXZlX2xpc3QpIHsKKyAgICAgICAgc3RhdGljIHhtbE5zIG5zX2RlZmF1bHQ7CisKKyAgICAgICAgbWVtc2V0KCZuc19kZWZhdWx0LCAwLCBzaXplb2YobnNfZGVmYXVsdCkpOworCisgICAgICAgIGFscmVhZHlfcmVuZGVyZWQgPSB4bWxFeGNDMTROVmlzaWJsZU5zU3RhY2tGaW5kKGN0eC0+bnNfcmVuZGVyZWQsICZuc19kZWZhdWx0LCBjdHgpOworCWlmKCFhbHJlYWR5X3JlbmRlcmVkKSB7CisJICAgIHhtbEMxNE5QcmludE5hbWVzcGFjZXMoJm5zX2RlZmF1bHQsIGN0eCk7CisJfQorICAgIH0gZWxzZSBpZih2aXNpYmxlICYmICFoYXNfZW1wdHlfbnMgJiYgaGFzX2VtcHR5X25zX2luX2luY2x1c2l2ZV9saXN0KSB7CisgICAgICAgIHN0YXRpYyB4bWxOcyBuc19kZWZhdWx0OworCisgICAgICAgIG1lbXNldCgmbnNfZGVmYXVsdCwgMCwgc2l6ZW9mKG5zX2RlZmF1bHQpKTsKKyAgICAgICAgaWYoIXhtbEMxNE5WaXNpYmxlTnNTdGFja0ZpbmQoY3R4LT5uc19yZW5kZXJlZCwgJm5zX2RlZmF1bHQpKSB7CisJICAgIHhtbEMxNE5QcmludE5hbWVzcGFjZXMoJm5zX2RlZmF1bHQsIGN0eCk7CisJfQorICAgIH0KKworCisKKyAgICAvKgorICAgICAqIHByaW50IG91dCBhbGwgZWxlbWVudHMgZnJvbSBsaXN0CisgICAgICovCisgICAgeG1sTGlzdFdhbGsobGlzdCwgKHhtbExpc3RXYWxrZXIpIHhtbEMxNE5QcmludE5hbWVzcGFjZXMsIChjb25zdCB2b2lkICopIGN0eCk7CisKKyAgICAvKgorICAgICAqIENsZWFudXAKKyAgICAgKi8KKyAgICB4bWxMaXN0RGVsZXRlKGxpc3QpOworICAgIHJldHVybiAoMCk7Cit9CisKKworLyoqCisgKiB4bWxDMTROSXNYbWxBdHRyOgorICogQGF0dHI6CQl0aGUgYXR0ciB0byBjaGVjaworICoKKyAqIENoZWNrcyB3aGV0aGVyIHRoZSBnaXZlbiBhdHRyaWJ1dGUgaXMgYSBkZWZhdWx0ICJ4bWw6IiBuYW1lc3BhY2UKKyAqIHdpdGggaHJlZj0iaHR0cDovL3d3dy53My5vcmcvWE1MLzE5OTgvbmFtZXNwYWNlIgorICoKKyAqIFJldHVybnMgMSBpZiB0aGUgbm9kZSBpcyBkZWZhdWx0IG9yIDAgb3RoZXJ3aXNlCisgKi8KKworLyogdG9kbzogbWFrZSBpdCBhIGRlZmluZT8gKi8KK3N0YXRpYyBpbnQKK3htbEMxNE5Jc1htbEF0dHIoeG1sQXR0clB0ciBhdHRyKQoreworICAgIHJldHVybiAoKGF0dHItPm5zICE9IE5VTEwpICYmCisgICAgICAgICAgICh4bWxDMTROSXNYbWxOcyhhdHRyLT5ucykgIT0gMCkpOworfQorCisKKy8qKgorICogeG1sQzE0TkF0dHJzQ29tcGFyZToKKyAqIEBhdHRyMToJCXRoZSBwb2ludGVyIHRscyBvIGZpcnN0IGF0dHIKKyAqIEBhdHRyMjoJCXRoZSBwb2ludGVyIHRvIHNlY29uZCBhdHRyCisgKgorICogUHJpbnRzIHRoZSBnaXZlbiBhdHRyaWJ1dGUgdG8gdGhlIG91dHB1dCBidWZmZXIgZnJvbSBDMTROIGNvbnRleHQuCisgKgorICogUmV0dXJucyAtMSBpZiBhdHRyMSA8IGF0dHIyLCAwIGlmIGF0dHIxID09IGF0dHIyIG9yIDEgaWYgYXR0cjEgPiBhdHRyMi4KKyAqLworc3RhdGljIGludAoreG1sQzE0TkF0dHJzQ29tcGFyZSh4bWxBdHRyUHRyIGF0dHIxLCB4bWxBdHRyUHRyIGF0dHIyKQoreworICAgIGludCByZXQgPSAwOworCisgICAgLyoKKyAgICAgKiBTaW1wbGUgY2FzZXMKKyAgICAgKi8KKyAgICBpZiAoYXR0cjEgPT0gYXR0cjIpCisgICAgICAgIHJldHVybiAoMCk7CisgICAgaWYgKGF0dHIxID09IE5VTEwpCisgICAgICAgIHJldHVybiAoLTEpOworICAgIGlmIChhdHRyMiA9PSBOVUxMKQorICAgICAgICByZXR1cm4gKDEpOworICAgIGlmIChhdHRyMS0+bnMgPT0gYXR0cjItPm5zKSB7CisgICAgICAgIHJldHVybiAoeG1sU3RyY21wKGF0dHIxLT5uYW1lLCBhdHRyMi0+bmFtZSkpOworICAgIH0KKworICAgIC8qCisgICAgICogQXR0cmlidXRlcyBpbiB0aGUgZGVmYXVsdCBuYW1lc3BhY2UgYXJlIGZpcnN0CisgICAgICogYmVjYXVzZSB0aGUgZGVmYXVsdCBuYW1lc3BhY2UgaXMgbm90IGFwcGxpZWQgdG8KKyAgICAgKiB1bnF1YWxpZmllZCBhdHRyaWJ1dGVzCisgICAgICovCisgICAgaWYgKGF0dHIxLT5ucyA9PSBOVUxMKQorICAgICAgICByZXR1cm4gKC0xKTsKKyAgICBpZiAoYXR0cjItPm5zID09IE5VTEwpCisgICAgICAgIHJldHVybiAoMSk7CisgICAgaWYgKGF0dHIxLT5ucy0+cHJlZml4ID09IE5VTEwpCisgICAgICAgIHJldHVybiAoLTEpOworICAgIGlmIChhdHRyMi0+bnMtPnByZWZpeCA9PSBOVUxMKQorICAgICAgICByZXR1cm4gKDEpOworCisgICAgcmV0ID0geG1sU3RyY21wKGF0dHIxLT5ucy0+aHJlZiwgYXR0cjItPm5zLT5ocmVmKTsKKyAgICBpZiAocmV0ID09IDApIHsKKyAgICAgICAgcmV0ID0geG1sU3RyY21wKGF0dHIxLT5uYW1lLCBhdHRyMi0+bmFtZSk7CisgICAgfQorICAgIHJldHVybiAocmV0KTsKK30KKworCisvKioKKyAqIHhtbEMxNE5QcmludEF0dHJzOgorICogQGF0dHI6CQl0aGUgcG9pbnRlciB0byBhdHRyCisgKiBAY3R4OgkJdGhlIEMxNE4gY29udGV4dAorICoKKyAqIFByaW50cyBvdXQgY2Fub25pY2FsIGF0dHJpYnV0ZSB1cnJlbnQgbm9kZSB0byB0aGUKKyAqIGJ1ZmZlciBmcm9tIEMxNE4gY29udGV4dCBhcyBmb2xsb3dzCisgKgorICogQ2Fub25pY2FsIFhNTCB2IDEuMCAoaHR0cDovL3d3dy53My5vcmcvVFIveG1sLWMxNG4pCisgKgorICogUmV0dXJucyAxIG9uIHN1Y2Nlc3Mgb3IgMCBvbiBmYWlsLgorICovCitzdGF0aWMgaW50Cit4bWxDMTROUHJpbnRBdHRycyhjb25zdCB4bWxBdHRyUHRyIGF0dHIsIHhtbEMxNE5DdHhQdHIgY3R4KQoreworICAgIHhtbENoYXIgKnZhbHVlOworICAgIHhtbENoYXIgKmJ1ZmZlcjsKKworICAgIGlmICgoYXR0ciA9PSBOVUxMKSB8fCAoY3R4ID09IE5VTEwpKSB7CisgICAgICAgIHhtbEMxNE5FcnJQYXJhbSgid3JpdGluZyBhdHRyaWJ1dGVzIik7CisgICAgICAgIHJldHVybiAoMCk7CisgICAgfQorCisgICAgeG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcoY3R4LT5idWYsICIgIik7CisgICAgaWYgKGF0dHItPm5zICE9IE5VTEwgJiYgeG1sU3RybGVuKGF0dHItPm5zLT5wcmVmaXgpID4gMCkgeworICAgICAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyhjdHgtPmJ1ZiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0IGNoYXIgKikgYXR0ci0+bnMtPnByZWZpeCk7CisgICAgICAgIHhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nKGN0eC0+YnVmLCAiOiIpOworICAgIH0KKyAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyhjdHgtPmJ1ZiwgKGNvbnN0IGNoYXIgKikgYXR0ci0+bmFtZSk7CisgICAgeG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcoY3R4LT5idWYsICI9XCIiKTsKKworICAgIHZhbHVlID0geG1sTm9kZUxpc3RHZXRTdHJpbmcoY3R4LT5kb2MsIGF0dHItPmNoaWxkcmVuLCAxKTsKKyAgICAvKiB0b2RvOiBzaG91bGQgd2UgbG9nIGFuIGVycm9yIGlmIHZhbHVlPT1OVUxMID8gKi8KKyAgICBpZiAodmFsdWUgIT0gTlVMTCkgeworICAgICAgICBidWZmZXIgPSB4bWxDMTFOTm9ybWFsaXplQXR0cih2YWx1ZSk7CisgICAgICAgIHhtbEZyZWUodmFsdWUpOworICAgICAgICBpZiAoYnVmZmVyICE9IE5VTEwpIHsKKyAgICAgICAgICAgIHhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nKGN0eC0+YnVmLCAoY29uc3QgY2hhciAqKSBidWZmZXIpOworICAgICAgICAgICAgeG1sRnJlZShidWZmZXIpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgeG1sQzE0TkVyckludGVybmFsKCJub3JtYWxpemluZyBhdHRyaWJ1dGVzIGF4aXMiKTsKKyAgICAgICAgICAgIHJldHVybiAoMCk7CisgICAgICAgIH0KKyAgICB9CisgICAgeG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcoY3R4LT5idWYsICJcIiIpOworICAgIHJldHVybiAoMSk7Cit9CisKKy8qKgorICogeG1sQzE0TkZpbmRIaWRkZW5QYXJlbnRBdHRyOgorICoKKyAqIEZpbmRzIGFuIGF0dHJpYnV0ZSBpbiBhIGhpZGRlbiBwYXJlbnQgbm9kZS4KKyAqCisgKiBSZXR1cm5zIGEgcG9pbnRlciB0byB0aGUgYXR0cmlidXRlIG5vZGUgKGlmIGZvdW5kKSBvciBOVUxMIG90aGVyd2lzZS4KKyAqLworc3RhdGljIHhtbEF0dHJQdHIKK3htbEMxNE5GaW5kSGlkZGVuUGFyZW50QXR0cih4bWxDMTROQ3R4UHRyIGN0eCwgeG1sTm9kZVB0ciBjdXIsIGNvbnN0IHhtbENoYXIgKiBuYW1lLCBjb25zdCB4bWxDaGFyICogbnMpCit7CisgICAgeG1sQXR0clB0ciByZXM7CisgICAgd2hpbGUoKGN1ciAhPSBOVUxMKSAmJiAoIXhtbEMxNE5Jc1Zpc2libGUoY3R4LCBjdXIsIGN1ci0+cGFyZW50KSkpIHsKKyAgICAgICAgcmVzID0geG1sSGFzTnNQcm9wKGN1ciwgbmFtZSwgbnMpOworICAgICAgICBpZihyZXMgIT0gTlVMTCkgeworICAgICAgICAgICAgcmV0dXJuIHJlczsKKyAgICAgICAgfQorCisgICAgICAgIGN1ciA9IGN1ci0+cGFyZW50OworICAgIH0KKworICAgIHJldHVybiBOVUxMOworfQorCisvKioKKyAqIHhtbEMxNE5GaXh1cEJhc2VBdHRyOgorICoKKyAqIEZpeGVzIHVwIHRoZSB4bWw6YmFzZSBhdHRyaWJ1dGUKKyAqCisgKiBSZXR1cm5zIHRoZSBuZXdseSBjcmVhdGVkIGF0dHJpYnV0ZSBvciBOVUxMCisgKi8KK3N0YXRpYyB4bWxBdHRyUHRyCit4bWxDMTRORml4dXBCYXNlQXR0cih4bWxDMTROQ3R4UHRyIGN0eCwgeG1sQXR0clB0ciB4bWxfYmFzZV9hdHRyKQoreworICAgIHhtbENoYXIgKiByZXMgPSBOVUxMOworICAgIHhtbE5vZGVQdHIgY3VyOworICAgIHhtbEF0dHJQdHIgYXR0cjsKKyAgICB4bWxDaGFyICogdG1wX3N0cjsKKyAgICB4bWxDaGFyICogdG1wX3N0cjI7CisgICAgaW50IHRtcF9zdHJfbGVuOworCisgICAgaWYgKChjdHggPT0gTlVMTCkgfHwgKHhtbF9iYXNlX2F0dHIgPT0gTlVMTCkgfHwgKHhtbF9iYXNlX2F0dHItPnBhcmVudCA9PSBOVUxMKSkgeworICAgICAgICB4bWxDMTRORXJyUGFyYW0oInByb2Nlc3NpbmcgeG1sOmJhc2UgYXR0cmlidXRlIik7CisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgfQorCisgICAgLyogc3RhcnQgZnJvbSBjdXJyZW50IHZhbHVlICovCisgICAgcmVzID0geG1sTm9kZUxpc3RHZXRTdHJpbmcoY3R4LT5kb2MsIHhtbF9iYXNlX2F0dHItPmNoaWxkcmVuLCAxKTsKKyAgICBpZihyZXMgPT0gTlVMTCkgeworICAgICAgICB4bWxDMTRORXJySW50ZXJuYWwoInByb2Nlc3NpbmcgeG1sOmJhc2UgYXR0cmlidXRlIC0gY2FuJ3QgZ2V0IGF0dHIgdmFsdWUiKTsKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICB9CisKKyAgICAvKiBnbyB1cCB0aGUgc3RhY2sgdW50aWwgd2UgZmluZCBhIG5vZGUgdGhhdCB3ZSByZW5kZXJlZCBhbHJlYWR5ICovCisgICAgY3VyID0geG1sX2Jhc2VfYXR0ci0+cGFyZW50LT5wYXJlbnQ7CisgICAgd2hpbGUoKGN1ciAhPSBOVUxMKSAmJiAoIXhtbEMxNE5Jc1Zpc2libGUoY3R4LCBjdXIsIGN1ci0+cGFyZW50KSkpIHsKKyAgICAgICAgYXR0ciA9IHhtbEhhc05zUHJvcChjdXIsIEJBRF9DQVNUICJiYXNlIiwgWE1MX1hNTF9OQU1FU1BBQ0UpOworICAgICAgICBpZihhdHRyICE9IE5VTEwpIHsKKyAgICAgICAgICAgIC8qIGdldCBhdHRyIHZhbHVlICovCisgICAgICAgICAgICB0bXBfc3RyID0geG1sTm9kZUxpc3RHZXRTdHJpbmcoY3R4LT5kb2MsIGF0dHItPmNoaWxkcmVuLCAxKTsKKyAgICAgICAgICAgIGlmKHRtcF9zdHIgPT0gTlVMTCkgeworICAgICAgICAgICAgICAgIHhtbEZyZWUocmVzKTsKKworICAgICAgICAgICAgICAgIHhtbEMxNE5FcnJJbnRlcm5hbCgicHJvY2Vzc2luZyB4bWw6YmFzZSBhdHRyaWJ1dGUgLSBjYW4ndCBnZXQgYXR0ciB2YWx1ZSIpOworICAgICAgICAgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIC8qIHdlIG5lZWQgdG8gYWRkICcvJyBpZiBvdXIgY3VycmVudCBiYXNlIHVyaSBlbmRzIHdpdGggJy4uJyBvciAnLicKKyAgICAgICAgICAgIHRvIGVuc3VyZSB0aGF0IHdlIGFyZSBmb3JjZWQgdG8gZ28gInVwIiBhbGwgdGhlIHRpbWUgKi8KKyAgICAgICAgICAgIHRtcF9zdHJfbGVuID0geG1sU3RybGVuKHRtcF9zdHIpOworICAgICAgICAgICAgaWYodG1wX3N0cl9sZW4gPiAxICYmIHRtcF9zdHJbdG1wX3N0cl9sZW4gLSAyXSA9PSAnLicpIHsKKyAgICAgICAgICAgICAgICB0bXBfc3RyMiA9IHhtbFN0cmNhdCh0bXBfc3RyLCBCQURfQ0FTVCAiLyIpOworICAgICAgICAgICAgICAgIGlmKHRtcF9zdHIyID09IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgeG1sRnJlZSh0bXBfc3RyKTsKKyAgICAgICAgICAgICAgICAgICAgeG1sRnJlZShyZXMpOworCisgICAgICAgICAgICAgICAgICAgIHhtbEMxNE5FcnJJbnRlcm5hbCgicHJvY2Vzc2luZyB4bWw6YmFzZSBhdHRyaWJ1dGUgLSBjYW4ndCBtb2RpZnkgdXJpIik7CisgICAgICAgICAgICAgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgdG1wX3N0ciA9IHRtcF9zdHIyOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICAvKiBidWlsZCB1cmkgKi8KKyAgICAgICAgICAgIHRtcF9zdHIyID0geG1sQnVpbGRVUkkocmVzLCB0bXBfc3RyKTsKKyAgICAgICAgICAgIGlmKHRtcF9zdHIyID09IE5VTEwpIHsKKyAgICAgICAgICAgICAgICB4bWxGcmVlKHRtcF9zdHIpOworICAgICAgICAgICAgICAgIHhtbEZyZWUocmVzKTsKKworICAgICAgICAgICAgICAgIHhtbEMxNE5FcnJJbnRlcm5hbCgicHJvY2Vzc2luZyB4bWw6YmFzZSBhdHRyaWJ1dGUgLSBjYW4ndCBjb25zdHJ1Y3QgdXJpIik7CisgICAgICAgICAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgLyogY2xlYW51cCBhbmQgc2V0IHRoZSBuZXcgcmVzICovCisgICAgICAgICAgICB4bWxGcmVlKHRtcF9zdHIpOworICAgICAgICAgICAgeG1sRnJlZShyZXMpOworICAgICAgICAgICAgcmVzID0gdG1wX3N0cjI7CisgICAgICAgIH0KKworICAgICAgICAvKiBuZXh0ICovCisgICAgICAgIGN1ciA9IGN1ci0+cGFyZW50OworICAgIH0KKworICAgIC8qIGNoZWNrIGlmIHJlc3VsdCB1cmkgaXMgZW1wdHkgb3Igbm90ICovCisgICAgaWYoKHJlcyA9PSBOVUxMKSB8fCB4bWxTdHJFcXVhbChyZXMsIEJBRF9DQVNUICIiKSkgeworICAgICAgICB4bWxGcmVlKHJlcyk7CisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgfQorCisgICAgLyogY3JlYXRlIGFuZCByZXR1cm4gdGhlIG5ldyBhdHRyaWJ1dGUgbm9kZSAqLworICAgIGF0dHIgPSB4bWxOZXdOc1Byb3AoTlVMTCwgeG1sX2Jhc2VfYXR0ci0+bnMsIEJBRF9DQVNUICJiYXNlIiwgcmVzKTsKKyAgICBpZihhdHRyID09IE5VTEwpIHsKKyAgICAgICAgeG1sRnJlZShyZXMpOworCisgICAgICAgIHhtbEMxNE5FcnJJbnRlcm5hbCgicHJvY2Vzc2luZyB4bWw6YmFzZSBhdHRyaWJ1dGUgLSBjYW4ndCBjb25zdHJ1Y3QgYXR0cmlidXRlIik7CisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgfQorCisgICAgLyogZG9uZSAqLworICAgIHhtbEZyZWUocmVzKTsKKyAgICByZXR1cm4gKGF0dHIpOworfQorCisvKioKKyAqIHhtbEMxNE5Qcm9jZXNzQXR0cnNBeGlzOgorICogQGN0eDoJCXRoZSBDMTROIGNvbnRleHQKKyAqIEBjdXI6CQl0aGUgY3VycmVudCBub2RlCisgKiBAcGFyZW50X3Zpc2libGU6CXRoZSB2aXNpYmlsaXR5IG9mIHBhcmVudCBub2RlCisgKiBAYWxsX3BhcmVudHNfdmlzaWJsZTogdGhlIHZpc2liaWxpdHkgb2YgYWxsIHBhcmVudCBub2RlcworICoKKyAqIFByaW50cyBvdXQgY2Fub25pY2FsIGF0dHJpYnV0ZSBheGlzIG9mIHRoZSBjdXJyZW50IG5vZGUgdG8gdGhlCisgKiBidWZmZXIgZnJvbSBDMTROIGNvbnRleHQgYXMgZm9sbG93cworICoKKyAqIENhbm9uaWNhbCBYTUwgdiAxLjAgKGh0dHA6Ly93d3cudzMub3JnL1RSL3htbC1jMTRuKQorICoKKyAqIEF0dHJpYnV0ZSBBeGlzCisgKiBJbiBsZXhpY29ncmFwaGljIG9yZGVyIChhc2NlbmRpbmcpLCBwcm9jZXNzIGVhY2ggbm9kZSB0aGF0CisgKiBpcyBpbiB0aGUgZWxlbWVudCdzIGF0dHJpYnV0ZSBheGlzIGFuZCBpbiB0aGUgbm9kZS1zZXQuCisgKgorICogVGhlIHByb2Nlc3Npbmcgb2YgYW4gZWxlbWVudCBub2RlIEUgTVVTVCBiZSBtb2RpZmllZCBzbGlnaHRseQorICogd2hlbiBhbiBYUGF0aCBub2RlLXNldCBpcyBnaXZlbiBhcyBpbnB1dCBhbmQgdGhlIGVsZW1lbnQncworICogcGFyZW50IGlzIG9taXR0ZWQgZnJvbSB0aGUgbm9kZS1zZXQuCisgKgorICoKKyAqIEV4Y2x1c2l2ZSBYTUwgQ2Fub25pY2FsaXphdGlvbiB2IDEuMCAoaHR0cDovL3d3dy53My5vcmcvVFIveG1sLWV4Yy1jMTRuKQorICoKKyAqIENhbm9uaWNhbCBYTUwgYXBwbGllZCB0byBhIGRvY3VtZW50IHN1YnNldCByZXF1aXJlcyB0aGUgc2VhcmNoIG9mIHRoZQorICogYW5jZXN0b3Igbm9kZXMgb2YgZWFjaCBvcnBoYW4gZWxlbWVudCBub2RlIGZvciBhdHRyaWJ1dGVzIGluIHRoZSB4bWwKKyAqIG5hbWVzcGFjZSwgc3VjaCBhcyB4bWw6bGFuZyBhbmQgeG1sOnNwYWNlLiBUaGVzZSBhcmUgY29waWVkIGludG8gdGhlCisgKiBlbGVtZW50IG5vZGUgZXhjZXB0IGlmIGEgZGVjbGFyYXRpb24gb2YgdGhlIHNhbWUgYXR0cmlidXRlIGlzIGFscmVhZHkKKyAqIGluIHRoZSBhdHRyaWJ1dGUgYXhpcyBvZiB0aGUgZWxlbWVudCAod2hldGhlciBvciBub3QgaXQgaXMgaW5jbHVkZWQgaW4KKyAqIHRoZSBkb2N1bWVudCBzdWJzZXQpLiBUaGlzIHNlYXJjaCBhbmQgY29weWluZyBhcmUgb21pdHRlZCBmcm9tIHRoZQorICogRXhjbHVzaXZlIFhNTCBDYW5vbmljYWxpemF0aW9uIG1ldGhvZC4KKyAqCisgKiBSZXR1cm5zIDAgb24gc3VjY2VzcyBvciAtMSBvbiBmYWlsLgorICovCitzdGF0aWMgaW50Cit4bWxDMTROUHJvY2Vzc0F0dHJzQXhpcyh4bWxDMTROQ3R4UHRyIGN0eCwgeG1sTm9kZVB0ciBjdXIsIGludCBwYXJlbnRfdmlzaWJsZSkKK3sKKyAgICB4bWxBdHRyUHRyIGF0dHI7CisgICAgeG1sTGlzdFB0ciBsaXN0OworICAgIHhtbEF0dHJQdHIgYXR0cnNfdG9fZGVsZXRlID0gTlVMTDsKKworICAgIC8qIHNwZWNpYWwgcHJvY2Vzc2luZyBmb3IgMS4xIHNwZWMgKi8KKyAgICB4bWxBdHRyUHRyIHhtbF9iYXNlX2F0dHIgPSBOVUxMOworICAgIHhtbEF0dHJQdHIgeG1sX2xhbmdfYXR0ciA9IE5VTEw7CisgICAgeG1sQXR0clB0ciB4bWxfc3BhY2VfYXR0ciA9IE5VTEw7CisKKyAgICBpZiAoKGN0eCA9PSBOVUxMKSB8fCAoY3VyID09IE5VTEwpIHx8IChjdXItPnR5cGUgIT0gWE1MX0VMRU1FTlRfTk9ERSkpIHsKKyAgICAgICAgeG1sQzE0TkVyclBhcmFtKCJwcm9jZXNzaW5nIGF0dHJpYnV0ZXMgYXhpcyIpOworICAgICAgICByZXR1cm4gKC0xKTsKKyAgICB9CisKKyAgICAvKgorICAgICAqIENyZWF0ZSBhIHNvcnRlZCBsaXN0IHRvIHN0b3JlIGVsZW1lbnQgYXR0cmlidXRlcworICAgICAqLworICAgIGxpc3QgPSB4bWxMaXN0Q3JlYXRlKE5VTEwsICh4bWxMaXN0RGF0YUNvbXBhcmUpIHhtbEMxNE5BdHRyc0NvbXBhcmUpOworICAgIGlmIChsaXN0ID09IE5VTEwpIHsKKyAgICAgICAgeG1sQzE0TkVyckludGVybmFsKCJjcmVhdGluZyBhdHRyaWJ1dGVzIGxpc3QiKTsKKyAgICAgICAgcmV0dXJuICgtMSk7CisgICAgfQorCisgICAgc3dpdGNoKGN0eC0+bW9kZSkgeworICAgIGNhc2UgWE1MX0MxNE5fMV8wOgorICAgICAgICAvKiBUaGUgcHJvY2Vzc2luZyBvZiBhbiBlbGVtZW50IG5vZGUgRSBNVVNUIGJlIG1vZGlmaWVkIHNsaWdodGx5IHdoZW4gYW4gWFBhdGggbm9kZS1zZXQgaXMKKyAgICAgICAgICogZ2l2ZW4gYXMgaW5wdXQgYW5kIHRoZSBlbGVtZW50J3MgcGFyZW50IGlzIG9taXR0ZWQgZnJvbSB0aGUgbm9kZS1zZXQuIFRoZSBtZXRob2QgZm9yIHByb2Nlc3NpbmcKKyAgICAgICAgICogdGhlIGF0dHJpYnV0ZSBheGlzIG9mIGFuIGVsZW1lbnQgRSBpbiB0aGUgbm9kZS1zZXQgaXMgZW5oYW5jZWQuIEFsbCBlbGVtZW50IG5vZGVzIGFsb25nIEUncworICAgICAgICAgKiBhbmNlc3RvciBheGlzIGFyZSBleGFtaW5lZCBmb3IgbmVhcmVzdCBvY2N1cnJlbmNlcyBvZiBhdHRyaWJ1dGVzIGluIHRoZSB4bWwgbmFtZXNwYWNlLCBzdWNoCisgICAgICAgICAqIGFzIHhtbDpsYW5nIGFuZCB4bWw6c3BhY2UgKHdoZXRoZXIgb3Igbm90IHRoZXkgYXJlIGluIHRoZSBub2RlLXNldCkuIEZyb20gdGhpcyBsaXN0IG9mIGF0dHJpYnV0ZXMsCisgICAgICAgICAqIHJlbW92ZSBhbnkgdGhhdCBhcmUgaW4gRSdzIGF0dHJpYnV0ZSBheGlzICh3aGV0aGVyIG9yIG5vdCB0aGV5IGFyZSBpbiB0aGUgbm9kZS1zZXQpLiBUaGVuLAorICAgICAgICAgKiBsZXhpY29ncmFwaGljYWxseSBtZXJnZSB0aGlzIGF0dHJpYnV0ZSBsaXN0IHdpdGggdGhlIG5vZGVzIG9mIEUncyBhdHRyaWJ1dGUgYXhpcyB0aGF0IGFyZSBpbgorICAgICAgICAgKiB0aGUgbm9kZS1zZXQuIFRoZSByZXN1bHQgb2YgdmlzaXRpbmcgdGhlIGF0dHJpYnV0ZSBheGlzIGlzIGNvbXB1dGVkIGJ5IHByb2Nlc3NpbmcgdGhlIGF0dHJpYnV0ZQorICAgICAgICAgKiBub2RlcyBpbiB0aGlzIG1lcmdlZCBhdHRyaWJ1dGUgbGlzdC4KKyAgICAgICAgICovCisKKyAgICAgICAgLyoKKyAgICAgICAgICogQWRkIGFsbCB2aXNpYmxlIGF0dHJpYnV0ZXMgZnJvbSBjdXJyZW50IG5vZGUuCisgICAgICAgICAqLworICAgICAgICBhdHRyID0gY3VyLT5wcm9wZXJ0aWVzOworICAgICAgICB3aGlsZSAoYXR0ciAhPSBOVUxMKSB7CisgICAgICAgICAgICAvKiBjaGVjayB0aGF0IGF0dHJpYnV0ZSBpcyB2aXNpYmxlICovCisgICAgICAgICAgICBpZiAoeG1sQzE0TklzVmlzaWJsZShjdHgsIGF0dHIsIGN1cikpIHsKKyAgICAgICAgICAgICAgICB4bWxMaXN0SW5zZXJ0KGxpc3QsIGF0dHIpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgYXR0ciA9IGF0dHItPm5leHQ7CisgICAgICAgIH0KKworICAgICAgICAvKgorICAgICAgICAgKiBIYW5kbGUgeG1sIGF0dHJpYnV0ZXMKKyAgICAgICAgICovCisgICAgICAgIGlmIChwYXJlbnRfdmlzaWJsZSAmJiAoY3VyLT5wYXJlbnQgIT0gTlVMTCkgJiYKKyAgICAgICAgICAgICgheG1sQzE0TklzVmlzaWJsZShjdHgsIGN1ci0+cGFyZW50LCBjdXItPnBhcmVudC0+cGFyZW50KSkpCisgICAgICAgIHsKKyAgICAgICAgICAgIHhtbE5vZGVQdHIgdG1wOworCisgICAgICAgICAgICAvKgorICAgICAgICAgICAgICogSWYgWFBhdGggbm9kZS1zZXQgaXMgbm90IHNwZWNpZmllZCB0aGVuIHRoZSBwYXJlbnQgaXMgYWx3YXlzCisgICAgICAgICAgICAgKiB2aXNpYmxlIQorICAgICAgICAgICAgICovCisgICAgICAgICAgICB0bXAgPSBjdXItPnBhcmVudDsKKyAgICAgICAgICAgIHdoaWxlICh0bXAgIT0gTlVMTCkgeworICAgICAgICAgICAgICAgIGF0dHIgPSB0bXAtPnByb3BlcnRpZXM7CisgICAgICAgICAgICAgICAgd2hpbGUgKGF0dHIgIT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICBpZiAoeG1sQzE0TklzWG1sQXR0cihhdHRyKSAhPSAwKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeG1sTGlzdFNlYXJjaChsaXN0LCBhdHRyKSA9PSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sTGlzdEluc2VydChsaXN0LCBhdHRyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBhdHRyID0gYXR0ci0+bmV4dDsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgdG1wID0gdG1wLT5wYXJlbnQ7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICAvKiBkb25lICovCisgICAgICAgIGJyZWFrOworICAgIGNhc2UgWE1MX0MxNE5fRVhDTFVTSVZFXzFfMDoKKyAgICAgICAgLyogYXR0cmlidXRlcyBpbiB0aGUgWE1MIG5hbWVzcGFjZSwgc3VjaCBhcyB4bWw6bGFuZyBhbmQgeG1sOnNwYWNlCisgICAgICAgICAqIGFyZSBub3QgaW1wb3J0ZWQgaW50byBvcnBoYW4gbm9kZXMgb2YgdGhlIGRvY3VtZW50IHN1YnNldAorICAgICAgICAgKi8KKworICAgICAgICAvKgorICAgICAgICAgKiBBZGQgYWxsIHZpc2libGUgYXR0cmlidXRlcyBmcm9tIGN1cnJlbnQgbm9kZS4KKyAgICAgICAgICovCisgICAgICAgIGF0dHIgPSBjdXItPnByb3BlcnRpZXM7CisgICAgICAgIHdoaWxlIChhdHRyICE9IE5VTEwpIHsKKyAgICAgICAgICAgIC8qIGNoZWNrIHRoYXQgYXR0cmlidXRlIGlzIHZpc2libGUgKi8KKyAgICAgICAgICAgIGlmICh4bWxDMTROSXNWaXNpYmxlKGN0eCwgYXR0ciwgY3VyKSkgeworICAgICAgICAgICAgICAgIHhtbExpc3RJbnNlcnQobGlzdCwgYXR0cik7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBhdHRyID0gYXR0ci0+bmV4dDsKKyAgICAgICAgfQorCisgICAgICAgIC8qIGRvIG5vdGhpbmcgc3BlY2lhbCBmb3IgeG1sIGF0dHJpYnV0ZXMgKi8KKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBYTUxfQzE0Tl8xXzE6CisgICAgICAgIC8qIFRoZSBwcm9jZXNzaW5nIG9mIGFuIGVsZW1lbnQgbm9kZSBFIE1VU1QgYmUgbW9kaWZpZWQgc2xpZ2h0bHkgd2hlbiBhbiBYUGF0aCBub2RlLXNldCBpcworICAgICAgICAgKiBnaXZlbiBhcyBpbnB1dCBhbmQgc29tZSBvZiB0aGUgZWxlbWVudCdzIGFuY2VzdG9ycyBhcmUgb21pdHRlZCBmcm9tIHRoZSBub2RlLXNldC4KKyAgICAgICAgICoKKyAgICAgICAgICogU2ltcGxlIGluaGVyaXRhYmxlIGF0dHJpYnV0ZXMgYXJlIGF0dHJpYnV0ZXMgdGhhdCBoYXZlIGEgdmFsdWUgdGhhdCByZXF1aXJlcyBhdCBtb3N0IGEgc2ltcGxlCisgICAgICAgICAqIHJlZGVjbGFyYXRpb24uIFRoaXMgcmVkZWNsYXJhdGlvbiBpcyBkb25lIGJ5IHN1cHBseWluZyBhIG5ldyB2YWx1ZSBpbiB0aGUgY2hpbGQgYXhpcy4gVGhlCisgICAgICAgICAqIHJlZGVjbGFyYXRpb24gb2YgYSBzaW1wbGUgaW5oZXJpdGFibGUgYXR0cmlidXRlIEEgY29udGFpbmVkIGluIG9uZSBvZiBFJ3MgYW5jZXN0b3JzIGlzIGRvbmUKKyAgICAgICAgICogYnkgc3VwcGx5aW5nIGEgdmFsdWUgdG8gYW4gYXR0cmlidXRlIEFlIGluc2lkZSBFIHdpdGggdGhlIHNhbWUgbmFtZS4gU2ltcGxlIGluaGVyaXRhYmxlIGF0dHJpYnV0ZXMKKyAgICAgICAgICogYXJlIHhtbDpsYW5nIGFuZCB4bWw6c3BhY2UuCisgICAgICAgICAqCisgICAgICAgICAqIFRoZSBtZXRob2QgZm9yIHByb2Nlc3NpbmcgdGhlIGF0dHJpYnV0ZSBheGlzIG9mIGFuIGVsZW1lbnQgRSBpbiB0aGUgbm9kZS1zZXQgaXMgaGVuY2UgZW5oYW5jZWQuCisgICAgICAgICAqIEFsbCBlbGVtZW50IG5vZGVzIGFsb25nIEUncyBhbmNlc3RvciBheGlzIGFyZSBleGFtaW5lZCBmb3IgdGhlIG5lYXJlc3Qgb2NjdXJyZW5jZXMgb2Ygc2ltcGxlCisgICAgICAgICAqIGluaGVyaXRhYmxlIGF0dHJpYnV0ZXMgaW4gdGhlIHhtbCBuYW1lc3BhY2UsIHN1Y2ggYXMgeG1sOmxhbmcgYW5kIHhtbDpzcGFjZSAod2hldGhlciBvciBub3QgdGhleQorICAgICAgICAgKiBhcmUgaW4gdGhlIG5vZGUtc2V0KS4gRnJvbSB0aGlzIGxpc3Qgb2YgYXR0cmlidXRlcywgYW55IHNpbXBsZSBpbmhlcml0YWJsZSBhdHRyaWJ1dGVzIHRoYXQgYXJlCisgICAgICAgICAqIGFscmVhZHkgaW4gRSdzIGF0dHJpYnV0ZSBheGlzICh3aGV0aGVyIG9yIG5vdCB0aGV5IGFyZSBpbiB0aGUgbm9kZS1zZXQpIGFyZSByZW1vdmVkLiBUaGVuLAorICAgICAgICAgKiBsZXhpY29ncmFwaGljYWxseSBtZXJnZSB0aGlzIGF0dHJpYnV0ZSBsaXN0IHdpdGggdGhlIG5vZGVzIG9mIEUncyBhdHRyaWJ1dGUgYXhpcyB0aGF0IGFyZSBpbgorICAgICAgICAgKiB0aGUgbm9kZS1zZXQuIFRoZSByZXN1bHQgb2YgdmlzaXRpbmcgdGhlIGF0dHJpYnV0ZSBheGlzIGlzIGNvbXB1dGVkIGJ5IHByb2Nlc3NpbmcgdGhlIGF0dHJpYnV0ZQorICAgICAgICAgKiBub2RlcyBpbiB0aGlzIG1lcmdlZCBhdHRyaWJ1dGUgbGlzdC4KKyAgICAgICAgICoKKyAgICAgICAgICogVGhlIHhtbDppZCBhdHRyaWJ1dGUgaXMgbm90IGEgc2ltcGxlIGluaGVyaXRhYmxlIGF0dHJpYnV0ZSBhbmQgbm8gcHJvY2Vzc2luZyBvZiB0aGVzZSBhdHRyaWJ1dGVzIGlzCisgICAgICAgICAqIHBlcmZvcm1lZC4KKyAgICAgICAgICoKKyAgICAgICAgICogVGhlIHhtbDpiYXNlIGF0dHJpYnV0ZSBpcyBub3QgYSBzaW1wbGUgaW5oZXJpdGFibGUgYXR0cmlidXRlIGFuZCByZXF1aXJlcyBzcGVjaWFsIHByb2Nlc3NpbmcgYmV5b25kCisgICAgICAgICAqIGEgc2ltcGxlIHJlZGVjbGFyYXRpb24uCisgICAgICAgICAqCisgICAgICAgICAqIEF0dHJpYnV0ZXMgaW4gdGhlIFhNTCBuYW1lc3BhY2Ugb3RoZXIgdGhhbiB4bWw6YmFzZSwgeG1sOmlkLCB4bWw6bGFuZywgYW5kIHhtbDpzcGFjZSBNVVNUIGJlIHByb2Nlc3NlZAorICAgICAgICAgKiBhcyBvcmRpbmFyeSBhdHRyaWJ1dGVzLgorICAgICAgICAgKi8KKworICAgICAgICAvKgorICAgICAgICAgKiBBZGQgYWxsIHZpc2libGUgYXR0cmlidXRlcyBmcm9tIGN1cnJlbnQgbm9kZS4KKyAgICAgICAgICovCisgICAgICAgIGF0dHIgPSBjdXItPnByb3BlcnRpZXM7CisgICAgICAgIHdoaWxlIChhdHRyICE9IE5VTEwpIHsKKyAgICAgICAgICAgIC8qIHNwZWNpYWwgcHJvY2Vzc2luZyBmb3IgWE1MIGF0dHJpYnV0ZSBraWtzIGluIG9ubHkgd2hlbiB3ZSBoYXZlIGludmlzaWJsZSBwYXJlbnRzICovCisgICAgICAgICAgICBpZiAoKCFwYXJlbnRfdmlzaWJsZSkgfHwgKHhtbEMxNE5Jc1htbEF0dHIoYXR0cikgPT0gMCkpIHsKKyAgICAgICAgICAgICAgICAvKiBjaGVjayB0aGF0IGF0dHJpYnV0ZSBpcyB2aXNpYmxlICovCisgICAgICAgICAgICAgICAgaWYgKHhtbEMxNE5Jc1Zpc2libGUoY3R4LCBhdHRyLCBjdXIpKSB7CisgICAgICAgICAgICAgICAgICAgIHhtbExpc3RJbnNlcnQobGlzdCwgYXR0cik7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBpbnQgbWF0Y2hlZCA9IDA7CisKKyAgICAgICAgICAgICAgICAvKiBjaGVjayBmb3Igc2ltcGxlIGluaGVyaXRhbmNlIGF0dHJpYnV0ZXMgKi8KKyAgICAgICAgICAgICAgICBpZigoIW1hdGNoZWQpICYmICh4bWxfbGFuZ19hdHRyID09IE5VTEwpICYmIHhtbFN0ckVxdWFsKGF0dHItPm5hbWUsIEJBRF9DQVNUICJsYW5nIikpIHsKKyAgICAgICAgICAgICAgICAgICAgeG1sX2xhbmdfYXR0ciA9IGF0dHI7CisgICAgICAgICAgICAgICAgICAgIG1hdGNoZWQgPSAxOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBpZigoIW1hdGNoZWQpICYmICh4bWxfc3BhY2VfYXR0ciA9PSBOVUxMKSAmJiB4bWxTdHJFcXVhbChhdHRyLT5uYW1lLCBCQURfQ0FTVCAic3BhY2UiKSkgeworICAgICAgICAgICAgICAgICAgICB4bWxfc3BhY2VfYXR0ciA9IGF0dHI7CisgICAgICAgICAgICAgICAgICAgIG1hdGNoZWQgPSAxOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIC8qIGNoZWNrIGZvciBiYXNlIGF0dHIgKi8KKyAgICAgICAgICAgICAgICBpZigoIW1hdGNoZWQpICYmICh4bWxfYmFzZV9hdHRyID09IE5VTEwpICYmIHhtbFN0ckVxdWFsKGF0dHItPm5hbWUsIEJBRF9DQVNUICJiYXNlIikpIHsKKyAgICAgICAgICAgICAgICAgICAgeG1sX2Jhc2VfYXR0ciA9IGF0dHI7CisgICAgICAgICAgICAgICAgICAgIG1hdGNoZWQgPSAxOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIC8qIG90aGVyd2lzZSwgaXQgaXMgYSBub3JtYWwgYXR0cmlidXRlLCBzbyBqdXN0IGNoZWNrIGlmIGl0IGlzIHZpc2libGUgKi8KKyAgICAgICAgICAgICAgICBpZigoIW1hdGNoZWQpICYmIHhtbEMxNE5Jc1Zpc2libGUoY3R4LCBhdHRyLCBjdXIpKSB7CisgICAgICAgICAgICAgICAgICAgIHhtbExpc3RJbnNlcnQobGlzdCwgYXR0cik7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorCisgICAgICAgICAgICAvKiBtb3ZlIHRvIHRoZSBuZXh0IG9uZSAqLworICAgICAgICAgICAgYXR0ciA9IGF0dHItPm5leHQ7CisgICAgICAgIH0KKworICAgICAgICAvKiBzcGVjaWFsIHByb2Nlc3NpbmcgZm9yIFhNTCBhdHRyaWJ1dGUga2lrcyBpbiBvbmx5IHdoZW4gd2UgaGF2ZSBpbnZpc2libGUgcGFyZW50cyAqLworICAgICAgICBpZiAoKHBhcmVudF92aXNpYmxlKSkgeworCisgICAgICAgICAgICAvKiBzaW1wbGUgaW5oZXJpdGFuY2UgYXR0cmlidXRlcyAtIGNvcHkgKi8KKyAgICAgICAgICAgIGlmKHhtbF9sYW5nX2F0dHIgPT0gTlVMTCkgeworICAgICAgICAgICAgICAgIHhtbF9sYW5nX2F0dHIgPSB4bWxDMTRORmluZEhpZGRlblBhcmVudEF0dHIoY3R4LCBjdXItPnBhcmVudCwgQkFEX0NBU1QgImxhbmciLCBYTUxfWE1MX05BTUVTUEFDRSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZih4bWxfbGFuZ19hdHRyICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICB4bWxMaXN0SW5zZXJ0KGxpc3QsIHhtbF9sYW5nX2F0dHIpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYoeG1sX3NwYWNlX2F0dHIgPT0gTlVMTCkgeworICAgICAgICAgICAgICAgIHhtbF9zcGFjZV9hdHRyID0geG1sQzE0TkZpbmRIaWRkZW5QYXJlbnRBdHRyKGN0eCwgY3VyLT5wYXJlbnQsIEJBRF9DQVNUICJzcGFjZSIsIFhNTF9YTUxfTkFNRVNQQUNFKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmKHhtbF9zcGFjZV9hdHRyICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICB4bWxMaXN0SW5zZXJ0KGxpc3QsIHhtbF9zcGFjZV9hdHRyKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgLyogYmFzZSB1cmkgYXR0cmlidXRlIC0gZml4IHVwICovCisgICAgICAgICAgICBpZih4bWxfYmFzZV9hdHRyID09IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAvKiBpZiB3ZSBkb24ndCBoYXZlIGJhc2UgdXJpIGF0dHJpYnV0ZSwgY2hlY2sgaWYgd2UgaGF2ZSBhICJoaWRkZW4iIG9uZSBhYm92ZSAqLworICAgICAgICAgICAgICAgIHhtbF9iYXNlX2F0dHIgPSB4bWxDMTRORmluZEhpZGRlblBhcmVudEF0dHIoY3R4LCBjdXItPnBhcmVudCwgQkFEX0NBU1QgImJhc2UiLCBYTUxfWE1MX05BTUVTUEFDRSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZih4bWxfYmFzZV9hdHRyICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICB4bWxfYmFzZV9hdHRyID0geG1sQzE0TkZpeHVwQmFzZUF0dHIoY3R4LCB4bWxfYmFzZV9hdHRyKTsKKyAgICAgICAgICAgICAgICBpZih4bWxfYmFzZV9hdHRyICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgeG1sTGlzdEluc2VydChsaXN0LCB4bWxfYmFzZV9hdHRyKTsKKworICAgICAgICAgICAgICAgICAgICAvKiBub3RlIHRoYXQgd2UgTVVTVCBkZWxldGUgcmV0dXJuZWQgYXR0ciBub2RlIG91cnNlbHZlcyEgKi8KKyAgICAgICAgICAgICAgICAgICAgeG1sX2Jhc2VfYXR0ci0+bmV4dCA9IGF0dHJzX3RvX2RlbGV0ZTsKKyAgICAgICAgICAgICAgICAgICAgYXR0cnNfdG9fZGVsZXRlID0geG1sX2Jhc2VfYXR0cjsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICAvKiBkb25lICovCisgICAgICAgIGJyZWFrOworICAgIH0KKworICAgIC8qCisgICAgICogcHJpbnQgb3V0IGFsbCBlbGVtZW50cyBmcm9tIGxpc3QKKyAgICAgKi8KKyAgICB4bWxMaXN0V2FsayhsaXN0LCAoeG1sTGlzdFdhbGtlcikgeG1sQzE0TlByaW50QXR0cnMsIChjb25zdCB2b2lkICopIGN0eCk7CisKKyAgICAvKgorICAgICAqIENsZWFudXAKKyAgICAgKi8KKyAgICB4bWxGcmVlUHJvcExpc3QoYXR0cnNfdG9fZGVsZXRlKTsKKyAgICB4bWxMaXN0RGVsZXRlKGxpc3QpOworICAgIHJldHVybiAoMCk7Cit9CisKKy8qKgorICogeG1sQzE0TkNoZWNrRm9yUmVsYXRpdmVOYW1lc3BhY2VzOgorICogQGN0eDoJCXRoZSBDMTROIGNvbnRleHQKKyAqIEBjdXI6CQl0aGUgY3VycmVudCBlbGVtZW50IG5vZGUKKyAqCisgKiBDaGVja3MgdGhhdCBjdXJyZW50IGVsZW1lbnQgbm9kZSBoYXMgbm8gcmVsYXRpdmUgbmFtZXNwYWNlcyBkZWZpbmVkCisgKgorICogUmV0dXJucyAwIGlmIHRoZSBub2RlIGhhcyBubyByZWxhdGl2ZSBuYW1lc3BhY2VzIG9yIC0xIG90aGVyd2lzZS4KKyAqLworc3RhdGljIGludAoreG1sQzE0TkNoZWNrRm9yUmVsYXRpdmVOYW1lc3BhY2VzKHhtbEMxNE5DdHhQdHIgY3R4LCB4bWxOb2RlUHRyIGN1cikKK3sKKyAgICB4bWxOc1B0ciBuczsKKworICAgIGlmICgoY3R4ID09IE5VTEwpIHx8IChjdXIgPT0gTlVMTCkgfHwgKGN1ci0+dHlwZSAhPSBYTUxfRUxFTUVOVF9OT0RFKSkgeworICAgICAgICB4bWxDMTRORXJyUGFyYW0oImNoZWNraW5nIGZvciByZWxhdGl2ZSBuYW1lc3BhY2VzIik7CisgICAgICAgIHJldHVybiAoLTEpOworICAgIH0KKworICAgIG5zID0gY3VyLT5uc0RlZjsKKyAgICB3aGlsZSAobnMgIT0gTlVMTCkgeworICAgICAgICBpZiAoeG1sU3RybGVuKG5zLT5ocmVmKSA+IDApIHsKKyAgICAgICAgICAgIHhtbFVSSVB0ciB1cmk7CisKKyAgICAgICAgICAgIHVyaSA9IHhtbFBhcnNlVVJJKChjb25zdCBjaGFyICopIG5zLT5ocmVmKTsKKyAgICAgICAgICAgIGlmICh1cmkgPT0gTlVMTCkgeworICAgICAgICAgICAgICAgIHhtbEMxNE5FcnJJbnRlcm5hbCgicGFyc2luZyBuYW1lc3BhY2UgdXJpIik7CisgICAgICAgICAgICAgICAgcmV0dXJuICgtMSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAoeG1sU3RybGVuKChjb25zdCB4bWxDaGFyICopIHVyaS0+c2NoZW1lKSA9PSAwKSB7CisgICAgICAgICAgICAgICAgeG1sQzE0TkVyclJlbGF0aXZlTmFtZXNwYWNlKHVyaS0+c2NoZW1lKTsKKyAgICAgICAgICAgICAgICB4bWxGcmVlVVJJKHVyaSk7CisgICAgICAgICAgICAgICAgcmV0dXJuICgtMSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAoKHhtbFN0cmNhc2VjbXAoKGNvbnN0IHhtbENoYXIgKikgdXJpLT5zY2hlbWUsIEJBRF9DQVNUICJ1cm4iKSAhPSAwKQorICAgICAgICAgICAgICAgICYmICh4bWxTdHJjYXNlY21wKChjb25zdCB4bWxDaGFyICopIHVyaS0+c2NoZW1lLCBCQURfQ0FTVCAiZGF2IikgIT0wKQorICAgICAgICAgICAgICAgICYmICh4bWxTdHJsZW4oKGNvbnN0IHhtbENoYXIgKikgdXJpLT5zZXJ2ZXIpID09IDApKSB7CisgICAgICAgICAgICAgICAgeG1sQzE0TkVyclJlbGF0aXZlTmFtZXNwYWNlKHVyaS0+c2NoZW1lKTsKKyAgICAgICAgICAgICAgICB4bWxGcmVlVVJJKHVyaSk7CisgICAgICAgICAgICAgICAgcmV0dXJuICgtMSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICB4bWxGcmVlVVJJKHVyaSk7CisgICAgICAgIH0KKyAgICAgICAgbnMgPSBucy0+bmV4dDsKKyAgICB9CisgICAgcmV0dXJuICgwKTsKK30KKworLyoqCisgKiB4bWxDMTROUHJvY2Vzc0VsZW1lbnROb2RlOgorICogQGN0eDoJCXRoZSBwb2ludGVyIHRvIEMxNE4gY29udGV4dCBvYmplY3QKKyAqIEBjdXI6CQl0aGUgbm9kZSB0byBwcm9jZXNzCisgKiBAdmlzaWJsZTogICAgdGhpcyBub2RlIGlzIHZpc2libGUKKyAqIEBhbGxfcGFyZW50c192aXNpYmxlOiB3aGV0aGVyIGFsbCB0aGUgcGFyZW50cyBvZiB0aGlzIG5vZGUgYXJlIHZpc2libGUKKyAqCisgKiBDYW5vbmljYWwgWE1MIHYgMS4wIChodHRwOi8vd3d3LnczLm9yZy9UUi94bWwtYzE0bikKKyAqCisgKiBFbGVtZW50IE5vZGVzCisgKiBJZiB0aGUgZWxlbWVudCBpcyBub3QgaW4gdGhlIG5vZGUtc2V0LCB0aGVuIHRoZSByZXN1bHQgaXMgb2J0YWluZWQKKyAqIGJ5IHByb2Nlc3NpbmcgdGhlIG5hbWVzcGFjZSBheGlzLCB0aGVuIHRoZSBhdHRyaWJ1dGUgYXhpcywgdGhlbgorICogcHJvY2Vzc2luZyB0aGUgY2hpbGQgbm9kZXMgb2YgdGhlIGVsZW1lbnQgdGhhdCBhcmUgaW4gdGhlIG5vZGUtc2V0CisgKiAoaW4gZG9jdW1lbnQgb3JkZXIpLiBJZiB0aGUgZWxlbWVudCBpcyBpbiB0aGUgbm9kZS1zZXQsIHRoZW4gdGhlIHJlc3VsdAorICogaXMgYW4gb3BlbiBhbmdsZSBicmFja2V0ICg8KSwgdGhlIGVsZW1lbnQgUU5hbWUsIHRoZSByZXN1bHQgb2YKKyAqIHByb2Nlc3NpbmcgdGhlIG5hbWVzcGFjZSBheGlzLCB0aGUgcmVzdWx0IG9mIHByb2Nlc3NpbmcgdGhlIGF0dHJpYnV0ZQorICogYXhpcywgYSBjbG9zZSBhbmdsZSBicmFja2V0ICg+KSwgdGhlIHJlc3VsdCBvZiBwcm9jZXNzaW5nIHRoZSBjaGlsZAorICogbm9kZXMgb2YgdGhlIGVsZW1lbnQgdGhhdCBhcmUgaW4gdGhlIG5vZGUtc2V0IChpbiBkb2N1bWVudCBvcmRlciksIGFuCisgKiBvcGVuIGFuZ2xlIGJyYWNrZXQsIGEgZm9yd2FyZCBzbGFzaCAoLyksIHRoZSBlbGVtZW50IFFOYW1lLCBhbmQgYSBjbG9zZQorICogYW5nbGUgYnJhY2tldC4KKyAqCisgKiBSZXR1cm5zIG5vbi1uZWdhdGl2ZSB2YWx1ZSBvbiBzdWNjZXNzIG9yIG5lZ2F0aXZlIHZhbHVlIG9uIGZhaWwKKyAqLworc3RhdGljIGludAoreG1sQzE0TlByb2Nlc3NFbGVtZW50Tm9kZSh4bWxDMTROQ3R4UHRyIGN0eCwgeG1sTm9kZVB0ciBjdXIsIGludCB2aXNpYmxlKQoreworICAgIGludCByZXQ7CisgICAgeG1sQzE0TlZpc2libGVOc1N0YWNrIHN0YXRlOworICAgIGludCBwYXJlbnRfaXNfZG9jID0gMDsKKworICAgIGlmICgoY3R4ID09IE5VTEwpIHx8IChjdXIgPT0gTlVMTCkgfHwgKGN1ci0+dHlwZSAhPSBYTUxfRUxFTUVOVF9OT0RFKSkgeworICAgICAgICB4bWxDMTRORXJyUGFyYW0oInByb2Nlc3NpbmcgZWxlbWVudCBub2RlIik7CisgICAgICAgIHJldHVybiAoLTEpOworICAgIH0KKworICAgIC8qCisgICAgICogQ2hlY2sgcmVsYXRpdmUgcmVsYXRpdmUgbmFtZXNwYWNlczoKKyAgICAgKiBpbXBsZW1lbnRhdGlvbnMgb2YgWE1MIGNhbm9uaWNhbGl6YXRpb24gTVVTVCByZXBvcnQgYW4gb3BlcmF0aW9uCisgICAgICogZmFpbHVyZSBvbiBkb2N1bWVudHMgY29udGFpbmluZyByZWxhdGl2ZSBuYW1lc3BhY2UgVVJJcy4KKyAgICAgKi8KKyAgICBpZiAoeG1sQzE0TkNoZWNrRm9yUmVsYXRpdmVOYW1lc3BhY2VzKGN0eCwgY3VyKSA8IDApIHsKKyAgICAgICAgeG1sQzE0TkVyckludGVybmFsKCJjaGVja2luZyBmb3IgcmVsYXRpdmUgbmFtZXNwYWNlcyIpOworICAgICAgICByZXR1cm4gKC0xKTsKKyAgICB9CisKKworICAgIC8qCisgICAgICogU2F2ZSBuc19yZW5kZXJlZCBzdGFjayBwb3NpdGlvbgorICAgICAqLworICAgIG1lbXNldCgmc3RhdGUsIDAsIHNpemVvZihzdGF0ZSkpOworICAgIHhtbEMxNE5WaXNpYmxlTnNTdGFja1NhdmUoY3R4LT5uc19yZW5kZXJlZCwgJnN0YXRlKTsKKworICAgIGlmICh2aXNpYmxlKSB7CisgICAgICAgIGlmIChjdHgtPnBhcmVudF9pc19kb2MpIHsKKwkgICAgLyogc2F2ZSB0aGlzIGZsYWcgaW50byB0aGUgc3RhY2sgKi8KKwkgICAgcGFyZW50X2lzX2RvYyA9IGN0eC0+cGFyZW50X2lzX2RvYzsKKwkgICAgY3R4LT5wYXJlbnRfaXNfZG9jID0gMDsKKyAgICAgICAgICAgIGN0eC0+cG9zID0gWE1MQzE0Tl9JTlNJREVfRE9DVU1FTlRfRUxFTUVOVDsKKyAgICAgICAgfQorICAgICAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyhjdHgtPmJ1ZiwgIjwiKTsKKworICAgICAgICBpZiAoKGN1ci0+bnMgIT0gTlVMTCkgJiYgKHhtbFN0cmxlbihjdXItPm5zLT5wcmVmaXgpID4gMCkpIHsKKyAgICAgICAgICAgIHhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nKGN0eC0+YnVmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0IGNoYXIgKikgY3VyLT5ucy0+cHJlZml4KTsKKyAgICAgICAgICAgIHhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nKGN0eC0+YnVmLCAiOiIpOworICAgICAgICB9CisgICAgICAgIHhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nKGN0eC0+YnVmLCAoY29uc3QgY2hhciAqKSBjdXItPm5hbWUpOworICAgIH0KKworICAgIGlmICgheG1sQzE0TklzRXhjbHVzaXZlKGN0eCkpIHsKKyAgICAgICAgcmV0ID0geG1sQzE0TlByb2Nlc3NOYW1lc3BhY2VzQXhpcyhjdHgsIGN1ciwgdmlzaWJsZSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgcmV0ID0geG1sRXhjQzE0TlByb2Nlc3NOYW1lc3BhY2VzQXhpcyhjdHgsIGN1ciwgdmlzaWJsZSk7CisgICAgfQorICAgIGlmIChyZXQgPCAwKSB7CisgICAgICAgIHhtbEMxNE5FcnJJbnRlcm5hbCgicHJvY2Vzc2luZyBuYW1lc3BhY2VzIGF4aXMiKTsKKyAgICAgICAgcmV0dXJuICgtMSk7CisgICAgfQorICAgIC8qIHRvZG86IHNob3VsZG4ndCB0aGlzIGdvIHRvICJ2aXNpYmxlIG9ubHkiPyAqLworICAgIGlmKHZpc2libGUpIHsKKwl4bWxDMTROVmlzaWJsZU5zU3RhY2tTaGlmdChjdHgtPm5zX3JlbmRlcmVkKTsKKyAgICB9CisKKyAgICByZXQgPSB4bWxDMTROUHJvY2Vzc0F0dHJzQXhpcyhjdHgsIGN1ciwgdmlzaWJsZSk7CisgICAgaWYgKHJldCA8IDApIHsKKwl4bWxDMTRORXJySW50ZXJuYWwoInByb2Nlc3NpbmcgYXR0cmlidXRlcyBheGlzIik7CisJcmV0dXJuICgtMSk7CisgICAgfQorCisgICAgaWYgKHZpc2libGUpIHsKKyAgICAgICAgeG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcoY3R4LT5idWYsICI+Iik7CisgICAgfQorICAgIGlmIChjdXItPmNoaWxkcmVuICE9IE5VTEwpIHsKKyAgICAgICAgcmV0ID0geG1sQzE0TlByb2Nlc3NOb2RlTGlzdChjdHgsIGN1ci0+Y2hpbGRyZW4pOworICAgICAgICBpZiAocmV0IDwgMCkgeworICAgICAgICAgICAgeG1sQzE0TkVyckludGVybmFsKCJwcm9jZXNzaW5nIGNoaWxkcmVucyBsaXN0Iik7CisgICAgICAgICAgICByZXR1cm4gKC0xKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBpZiAodmlzaWJsZSkgeworICAgICAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyhjdHgtPmJ1ZiwgIjwvIik7CisgICAgICAgIGlmICgoY3VyLT5ucyAhPSBOVUxMKSAmJiAoeG1sU3RybGVuKGN1ci0+bnMtPnByZWZpeCkgPiAwKSkgeworICAgICAgICAgICAgeG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcoY3R4LT5idWYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29uc3QgY2hhciAqKSBjdXItPm5zLT5wcmVmaXgpOworICAgICAgICAgICAgeG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcoY3R4LT5idWYsICI6Iik7CisgICAgICAgIH0KKyAgICAgICAgeG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcoY3R4LT5idWYsIChjb25zdCBjaGFyICopIGN1ci0+bmFtZSk7CisgICAgICAgIHhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nKGN0eC0+YnVmLCAiPiIpOworICAgICAgICBpZiAocGFyZW50X2lzX2RvYykgeworCSAgICAvKiByZXN0b3JlIHRoaXMgZmxhZyBmcm9tIHRoZSBzdGFjayBmb3IgbmV4dCBub2RlICovCisgICAgICAgICAgICBjdHgtPnBhcmVudF9pc19kb2MgPSBwYXJlbnRfaXNfZG9jOworCSAgICBjdHgtPnBvcyA9IFhNTEMxNE5fQUZURVJfRE9DVU1FTlRfRUxFTUVOVDsKKyAgICAgICAgfQorICAgIH0KKworICAgIC8qCisgICAgICogUmVzdG9yZSBuc19yZW5kZXJlZCBzdGFjayBwb3NpdGlvbgorICAgICAqLworICAgIHhtbEMxNE5WaXNpYmxlTnNTdGFja1Jlc3RvcmUoY3R4LT5uc19yZW5kZXJlZCwgJnN0YXRlKTsKKyAgICByZXR1cm4gKDApOworfQorCisvKioKKyAqIHhtbEMxNE5Qcm9jZXNzTm9kZToKKyAqIEBjdHg6CQl0aGUgcG9pbnRlciB0byBDMTROIGNvbnRleHQgb2JqZWN0CisgKiBAY3VyOgkJdGhlIG5vZGUgdG8gcHJvY2VzcworICoKKyAqIFByb2Nlc3NlcyB0aGUgZ2l2ZW4gbm9kZQorICoKKyAqIFJldHVybnMgbm9uLW5lZ2F0aXZlIHZhbHVlIG9uIHN1Y2Nlc3Mgb3IgbmVnYXRpdmUgdmFsdWUgb24gZmFpbAorICovCitzdGF0aWMgaW50Cit4bWxDMTROUHJvY2Vzc05vZGUoeG1sQzE0TkN0eFB0ciBjdHgsIHhtbE5vZGVQdHIgY3VyKQoreworICAgIGludCByZXQgPSAwOworICAgIGludCB2aXNpYmxlOworCisgICAgaWYgKChjdHggPT0gTlVMTCkgfHwgKGN1ciA9PSBOVUxMKSkgeworICAgICAgICB4bWxDMTRORXJyUGFyYW0oInByb2Nlc3Npbmcgbm9kZSIpOworICAgICAgICByZXR1cm4gKC0xKTsKKyAgICB9CisKKyAgICB2aXNpYmxlID0geG1sQzE0TklzVmlzaWJsZShjdHgsIGN1ciwgY3VyLT5wYXJlbnQpOworICAgIHN3aXRjaCAoY3VyLT50eXBlKSB7CisgICAgICAgIGNhc2UgWE1MX0VMRU1FTlRfTk9ERToKKyAgICAgICAgICAgIHJldCA9IHhtbEMxNE5Qcm9jZXNzRWxlbWVudE5vZGUoY3R4LCBjdXIsIHZpc2libGUpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0NEQVRBX1NFQ1RJT05fTk9ERToKKyAgICAgICAgY2FzZSBYTUxfVEVYVF9OT0RFOgorICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAqIFRleHQgTm9kZXMKKyAgICAgICAgICAgICAqIHRoZSBzdHJpbmcgdmFsdWUsIGV4Y2VwdCBhbGwgYW1wZXJzYW5kcyBhcmUgcmVwbGFjZWQKKyAgICAgICAgICAgICAqIGJ5ICZhbXA7LCBhbGwgb3BlbiBhbmdsZSBicmFja2V0cyAoPCkgYXJlIHJlcGxhY2VkIGJ5ICZsdDssIGFsbCBjbG9zaW5nCisgICAgICAgICAgICAgKiBhbmdsZSBicmFja2V0cyAoPikgYXJlIHJlcGxhY2VkIGJ5ICZndDssIGFuZCBhbGwgI3hEIGNoYXJhY3RlcnMgYXJlCisgICAgICAgICAgICAgKiByZXBsYWNlZCBieSAmI3hEOy4KKyAgICAgICAgICAgICAqLworICAgICAgICAgICAgLyogY2RhdGEgc2VjdGlvbnMgYXJlIHByb2Nlc3NlZCBhcyB0ZXh0IG5vZGVzICovCisgICAgICAgICAgICAvKiB0b2RvOiB2ZXJpZnkgdGhhdCBjZGF0YSBzZWN0aW9ucyBhcmUgaW5jbHVkZWQgaW4gWFBhdGggbm9kZXMgc2V0ICovCisgICAgICAgICAgICBpZiAoKHZpc2libGUpICYmIChjdXItPmNvbnRlbnQgIT0gTlVMTCkpIHsKKyAgICAgICAgICAgICAgICB4bWxDaGFyICpidWZmZXI7CisKKyAgICAgICAgICAgICAgICBidWZmZXIgPSB4bWxDMTFOTm9ybWFsaXplVGV4dChjdXItPmNvbnRlbnQpOworICAgICAgICAgICAgICAgIGlmIChidWZmZXIgIT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyhjdHgtPmJ1ZiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0IGNoYXIgKikgYnVmZmVyKTsKKyAgICAgICAgICAgICAgICAgICAgeG1sRnJlZShidWZmZXIpOworICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIHhtbEMxNE5FcnJJbnRlcm5hbCgibm9ybWFsaXppbmcgdGV4dCBub2RlIik7CisgICAgICAgICAgICAgICAgICAgIHJldHVybiAoLTEpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9QSV9OT0RFOgorICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAqIFByb2Nlc3NpbmcgSW5zdHJ1Y3Rpb24gKFBJKSBOb2Rlcy0KKyAgICAgICAgICAgICAqIFRoZSBvcGVuaW5nIFBJIHN5bWJvbCAoPD8pLCB0aGUgUEkgdGFyZ2V0IG5hbWUgb2YgdGhlIG5vZGUsCisgICAgICAgICAgICAgKiBhIGxlYWRpbmcgc3BhY2UgYW5kIHRoZSBzdHJpbmcgdmFsdWUgaWYgaXQgaXMgbm90IGVtcHR5LCBhbmQKKyAgICAgICAgICAgICAqIHRoZSBjbG9zaW5nIFBJIHN5bWJvbCAoPz4pLiBJZiB0aGUgc3RyaW5nIHZhbHVlIGlzIGVtcHR5LAorICAgICAgICAgICAgICogdGhlbiB0aGUgbGVhZGluZyBzcGFjZSBpcyBub3QgYWRkZWQuIEFsc28sIGEgdHJhaWxpbmcgI3hBIGlzCisgICAgICAgICAgICAgKiByZW5kZXJlZCBhZnRlciB0aGUgY2xvc2luZyBQSSBzeW1ib2wgZm9yIFBJIGNoaWxkcmVuIG9mIHRoZQorICAgICAgICAgICAgICogcm9vdCBub2RlIHdpdGggYSBsZXNzZXIgZG9jdW1lbnQgb3JkZXIgdGhhbiB0aGUgZG9jdW1lbnQKKyAgICAgICAgICAgICAqIGVsZW1lbnQsIGFuZCBhIGxlYWRpbmcgI3hBIGlzIHJlbmRlcmVkIGJlZm9yZSB0aGUgb3BlbmluZyBQSQorICAgICAgICAgICAgICogc3ltYm9sIG9mIFBJIGNoaWxkcmVuIG9mIHRoZSByb290IG5vZGUgd2l0aCBhIGdyZWF0ZXIgZG9jdW1lbnQKKyAgICAgICAgICAgICAqIG9yZGVyIHRoYW4gdGhlIGRvY3VtZW50IGVsZW1lbnQuCisgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgIGlmICh2aXNpYmxlKSB7CisgICAgICAgICAgICAgICAgaWYgKGN0eC0+cG9zID09IFhNTEMxNE5fQUZURVJfRE9DVU1FTlRfRUxFTUVOVCkgeworICAgICAgICAgICAgICAgICAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyhjdHgtPmJ1ZiwgIlx4MEE8PyIpOworICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIHhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nKGN0eC0+YnVmLCAiPD8iKTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyhjdHgtPmJ1ZiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29uc3QgY2hhciAqKSBjdXItPm5hbWUpOworICAgICAgICAgICAgICAgIGlmICgoY3VyLT5jb250ZW50ICE9IE5VTEwpICYmICgqKGN1ci0+Y29udGVudCkgIT0gJ1wwJykpIHsKKyAgICAgICAgICAgICAgICAgICAgeG1sQ2hhciAqYnVmZmVyOworCisgICAgICAgICAgICAgICAgICAgIHhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nKGN0eC0+YnVmLCAiICIpOworCisgICAgICAgICAgICAgICAgICAgIC8qIHRvZG86IGRvIHdlIG5lZWQgdG8gbm9ybWFsaXplIHBpPyAqLworICAgICAgICAgICAgICAgICAgICBidWZmZXIgPSB4bWxDMTFOTm9ybWFsaXplUEkoY3VyLT5jb250ZW50KTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGJ1ZmZlciAhPSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgICAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyhjdHgtPmJ1ZiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb25zdCBjaGFyICopIGJ1ZmZlcik7CisgICAgICAgICAgICAgICAgICAgICAgICB4bWxGcmVlKGJ1ZmZlcik7CisgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICB4bWxDMTRORXJySW50ZXJuYWwoIm5vcm1hbGl6aW5nIHBpIG5vZGUiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoLTEpOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgaWYgKGN0eC0+cG9zID09IFhNTEMxNE5fQkVGT1JFX0RPQ1VNRU5UX0VMRU1FTlQpIHsKKyAgICAgICAgICAgICAgICAgICAgeG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcoY3R4LT5idWYsICI/Plx4MEEiKTsKKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyhjdHgtPmJ1ZiwgIj8+Iik7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0NPTU1FTlRfTk9ERToKKyAgICAgICAgICAgIC8qCisgICAgICAgICAgICAgKiBDb21tZW50IE5vZGVzCisgICAgICAgICAgICAgKiBOb3RoaW5nIGlmIGdlbmVyYXRpbmcgY2Fub25pY2FsIFhNTCB3aXRob3V0ICBjb21tZW50cy4gRm9yCisgICAgICAgICAgICAgKiBjYW5vbmljYWwgWE1MIHdpdGggY29tbWVudHMsIGdlbmVyYXRlIHRoZSBvcGVuaW5nIGNvbW1lbnQKKyAgICAgICAgICAgICAqIHN5bWJvbCAoPCEtLSksIHRoZSBzdHJpbmcgdmFsdWUgb2YgdGhlIG5vZGUsIGFuZCB0aGUKKyAgICAgICAgICAgICAqIGNsb3NpbmcgY29tbWVudCBzeW1ib2wgKC0tPikuIEFsc28sIGEgdHJhaWxpbmcgI3hBIGlzIHJlbmRlcmVkCisgICAgICAgICAgICAgKiBhZnRlciB0aGUgY2xvc2luZyBjb21tZW50IHN5bWJvbCBmb3IgY29tbWVudCBjaGlsZHJlbiBvZiB0aGUKKyAgICAgICAgICAgICAqIHJvb3Qgbm9kZSB3aXRoIGEgbGVzc2VyIGRvY3VtZW50IG9yZGVyIHRoYW4gdGhlIGRvY3VtZW50CisgICAgICAgICAgICAgKiBlbGVtZW50LCBhbmQgYSBsZWFkaW5nICN4QSBpcyByZW5kZXJlZCBiZWZvcmUgdGhlIG9wZW5pbmcKKyAgICAgICAgICAgICAqIGNvbW1lbnQgc3ltYm9sIG9mIGNvbW1lbnQgY2hpbGRyZW4gb2YgdGhlIHJvb3Qgbm9kZSB3aXRoIGEKKyAgICAgICAgICAgICAqIGdyZWF0ZXIgZG9jdW1lbnQgb3JkZXIgdGhhbiB0aGUgZG9jdW1lbnQgZWxlbWVudC4gKENvbW1lbnQKKyAgICAgICAgICAgICAqIGNoaWxkcmVuIG9mIHRoZSByb290IG5vZGUgcmVwcmVzZW50IGNvbW1lbnRzIG91dHNpZGUgb2YgdGhlCisgICAgICAgICAgICAgKiB0b3AtbGV2ZWwgZG9jdW1lbnQgZWxlbWVudCBhbmQgb3V0c2lkZSBvZiB0aGUgZG9jdW1lbnQgdHlwZQorICAgICAgICAgICAgICogZGVjbGFyYXRpb24pLgorICAgICAgICAgICAgICovCisgICAgICAgICAgICBpZiAodmlzaWJsZSAmJiBjdHgtPndpdGhfY29tbWVudHMpIHsKKyAgICAgICAgICAgICAgICBpZiAoY3R4LT5wb3MgPT0gWE1MQzE0Tl9BRlRFUl9ET0NVTUVOVF9FTEVNRU5UKSB7CisgICAgICAgICAgICAgICAgICAgIHhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nKGN0eC0+YnVmLCAiXHgwQTwhLS0iKTsKKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyhjdHgtPmJ1ZiwgIjwhLS0iKTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBpZiAoY3VyLT5jb250ZW50ICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgeG1sQ2hhciAqYnVmZmVyOworCisgICAgICAgICAgICAgICAgICAgIC8qIHRvZG86IGRvIHdlIG5lZWQgdG8gbm9ybWFsaXplIGNvbW1lbnQ/ICovCisgICAgICAgICAgICAgICAgICAgIGJ1ZmZlciA9IHhtbEMxMU5Ob3JtYWxpemVDb21tZW50KGN1ci0+Y29udGVudCk7CisgICAgICAgICAgICAgICAgICAgIGlmIChidWZmZXIgIT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICAgICAgeG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcoY3R4LT5idWYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29uc3QgY2hhciAqKSBidWZmZXIpOworICAgICAgICAgICAgICAgICAgICAgICAgeG1sRnJlZShidWZmZXIpOworICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAgeG1sQzE0TkVyckludGVybmFsKCJub3JtYWxpemluZyBjb21tZW50IG5vZGUiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoLTEpOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgaWYgKGN0eC0+cG9zID09IFhNTEMxNE5fQkVGT1JFX0RPQ1VNRU5UX0VMRU1FTlQpIHsKKyAgICAgICAgICAgICAgICAgICAgeG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcoY3R4LT5idWYsICItLT5ceDBBIik7CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgeG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcoY3R4LT5idWYsICItLT4iKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfRE9DVU1FTlRfTk9ERToKKyAgICAgICAgY2FzZSBYTUxfRE9DVU1FTlRfRlJBR19OT0RFOiAgIC8qIHNob3VsZCBiZSBwcm9jZXNzZWQgYXMgZG9jdW1lbnQ/ICovCisjaWZkZWYgTElCWE1MX0RPQ0JfRU5BQkxFRAorICAgICAgICBjYXNlIFhNTF9ET0NCX0RPQ1VNRU5UX05PREU6ICAgLyogc2hvdWxkIGJlIHByb2Nlc3NlZCBhcyBkb2N1bWVudD8gKi8KKyNlbmRpZgorI2lmZGVmIExJQlhNTF9IVE1MX0VOQUJMRUQKKyAgICAgICAgY2FzZSBYTUxfSFRNTF9ET0NVTUVOVF9OT0RFOiAgIC8qIHNob3VsZCBiZSBwcm9jZXNzZWQgYXMgZG9jdW1lbnQ/ICovCisjZW5kaWYKKyAgICAgICAgICAgIGlmIChjdXItPmNoaWxkcmVuICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICBjdHgtPnBvcyA9IFhNTEMxNE5fQkVGT1JFX0RPQ1VNRU5UX0VMRU1FTlQ7CisgICAgICAgICAgICAgICAgY3R4LT5wYXJlbnRfaXNfZG9jID0gMTsKKyAgICAgICAgICAgICAgICByZXQgPSB4bWxDMTROUHJvY2Vzc05vZGVMaXN0KGN0eCwgY3VyLT5jaGlsZHJlbik7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBjYXNlIFhNTF9BVFRSSUJVVEVfTk9ERToKKyAgICAgICAgICAgIHhtbEMxNE5FcnJJbnZhbGlkTm9kZSgiWE1MX0FUVFJJQlVURV9OT0RFIiwgInByb2Nlc3Npbmcgbm9kZSIpOworICAgICAgICAgICAgcmV0dXJuICgtMSk7CisgICAgICAgIGNhc2UgWE1MX05BTUVTUEFDRV9ERUNMOgorICAgICAgICAgICAgeG1sQzE0TkVyckludmFsaWROb2RlKCJYTUxfTkFNRVNQQUNFX0RFQ0wiLCAicHJvY2Vzc2luZyBub2RlIik7CisgICAgICAgICAgICByZXR1cm4gKC0xKTsKKyAgICAgICAgY2FzZSBYTUxfRU5USVRZX1JFRl9OT0RFOgorICAgICAgICAgICAgeG1sQzE0TkVyckludmFsaWROb2RlKCJYTUxfRU5USVRZX1JFRl9OT0RFIiwgInByb2Nlc3Npbmcgbm9kZSIpOworICAgICAgICAgICAgcmV0dXJuICgtMSk7CisgICAgICAgIGNhc2UgWE1MX0VOVElUWV9OT0RFOgorICAgICAgICAgICAgeG1sQzE0TkVyckludmFsaWROb2RlKCJYTUxfRU5USVRZX05PREUiLCAicHJvY2Vzc2luZyBub2RlIik7CisgICAgICAgICAgICByZXR1cm4gKC0xKTsKKworICAgICAgICBjYXNlIFhNTF9ET0NVTUVOVF9UWVBFX05PREU6CisgICAgICAgIGNhc2UgWE1MX05PVEFUSU9OX05PREU6CisgICAgICAgIGNhc2UgWE1MX0RURF9OT0RFOgorICAgICAgICBjYXNlIFhNTF9FTEVNRU5UX0RFQ0w6CisgICAgICAgIGNhc2UgWE1MX0FUVFJJQlVURV9ERUNMOgorICAgICAgICBjYXNlIFhNTF9FTlRJVFlfREVDTDoKKyNpZmRlZiBMSUJYTUxfWElOQ0xVREVfRU5BQkxFRAorICAgICAgICBjYXNlIFhNTF9YSU5DTFVERV9TVEFSVDoKKyAgICAgICAgY2FzZSBYTUxfWElOQ0xVREVfRU5EOgorI2VuZGlmCisgICAgICAgICAgICAvKgorICAgICAgICAgICAgICogc2hvdWxkIGJlIGlnbm9yZWQgYWNjb3JkaW5nIHRvICJXM0MgQ2Fub25pY2FsIFhNTCIKKyAgICAgICAgICAgICAqLworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICB4bWxDMTRORXJyVW5rbm93bk5vZGUoY3VyLT50eXBlLCAicHJvY2Vzc2luZyBub2RlIik7CisgICAgICAgICAgICByZXR1cm4gKC0xKTsKKyAgICB9CisKKyAgICByZXR1cm4gKHJldCk7Cit9CisKKy8qKgorICogeG1sQzE0TlByb2Nlc3NOb2RlTGlzdDoKKyAqIEBjdHg6CQl0aGUgcG9pbnRlciB0byBDMTROIGNvbnRleHQgb2JqZWN0CisgKiBAY3VyOgkJdGhlIG5vZGUgdG8gc3RhcnQgZnJvbQorICoKKyAqIFByb2Nlc3NlcyBhbGwgbm9kZXMgaW4gdGhlIHJvdyBzdGFydGluZyBmcm9tIGN1ci4KKyAqCisgKiBSZXR1cm5zIG5vbi1uZWdhdGl2ZSB2YWx1ZSBvbiBzdWNjZXNzIG9yIG5lZ2F0aXZlIHZhbHVlIG9uIGZhaWwKKyAqLworc3RhdGljIGludAoreG1sQzE0TlByb2Nlc3NOb2RlTGlzdCh4bWxDMTROQ3R4UHRyIGN0eCwgeG1sTm9kZVB0ciBjdXIpCit7CisgICAgaW50IHJldDsKKworICAgIGlmIChjdHggPT0gTlVMTCkgeworICAgICAgICB4bWxDMTRORXJyUGFyYW0oInByb2Nlc3Npbmcgbm9kZSBsaXN0Iik7CisgICAgICAgIHJldHVybiAoLTEpOworICAgIH0KKworICAgIGZvciAocmV0ID0gMDsgY3VyICE9IE5VTEwgJiYgcmV0ID49IDA7IGN1ciA9IGN1ci0+bmV4dCkgeworICAgICAgICByZXQgPSB4bWxDMTROUHJvY2Vzc05vZGUoY3R4LCBjdXIpOworICAgIH0KKyAgICByZXR1cm4gKHJldCk7Cit9CisKKworLyoqCisgKiB4bWxDMTRORnJlZUN0eDoKKyAqIEBjdHg6IHRoZSBwb2ludGVyIHRvIEMxNE4gY29udGV4dCBvYmplY3QKKyAqCisgKiBDbGVhbnVwcyB0aGUgQzE0TiBjb250ZXh0IG9iamVjdC4KKyAqLworCitzdGF0aWMgdm9pZAoreG1sQzE0TkZyZWVDdHgoeG1sQzE0TkN0eFB0ciBjdHgpCit7CisgICAgaWYgKGN0eCA9PSBOVUxMKSB7CisgICAgICAgIHhtbEMxNE5FcnJQYXJhbSgiZnJlZWluZyBjb250ZXh0Iik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAoY3R4LT5uc19yZW5kZXJlZCAhPSBOVUxMKSB7CisgICAgICAgIHhtbEMxNE5WaXNpYmxlTnNTdGFja0Rlc3Ryb3koY3R4LT5uc19yZW5kZXJlZCk7CisgICAgfQorICAgIHhtbEZyZWUoY3R4KTsKK30KKworLyoqCisgKiB4bWxDMTROTmV3Q3R4OgorICogQGRvYzoJCXRoZSBYTUwgZG9jdW1lbnQgZm9yIGNhbm9uaXphdGlvbgorICogQGlzX3Zpc2libGVfY2FsbGJhY2s6dGhlIGZ1bmN0aW9uIHRvIHVzZSB0byBkZXRlcm1pbmUgaXMgbm9kZSB2aXNpYmxlCisgKgkJCW9yIG5vdAorICogQHVzZXJfZGF0YToJCXRoZSBmaXJzdCBwYXJhbWV0ZXIgZm9yIEBpc192aXNpYmxlX2NhbGxiYWNrIGZ1bmN0aW9uCisgKgkJCShpbiBtb3N0IGNhc2VzLCBpdCBpcyBub2RlcyBzZXQpCisgKiBAbW9kZTogICB0aGUgYzE0biBtb2RlIChzZWUgQHhtbEMxNE5Nb2RlKQorICogQGluY2x1c2l2ZV9uc19wcmVmaXhlIHRoZSBsaXN0IG9mIGluY2x1c2l2ZSBuYW1lc3BhY2UgcHJlZml4ZXMKKyAqCQkJZW5kZWQgd2l0aCBhIE5VTEwgb3IgTlVMTCBpZiB0aGVyZSBpcyBubworICoJCQlpbmNsdXNpdmUgbmFtZXNwYWNlcyAob25seSBmb3IgYAorICoJCQljYW5vbmljYWxpemF0aW9uKQorICogQHdpdGhfY29tbWVudHM6CWluY2x1ZGUgY29tbWVudHMgaW4gdGhlIHJlc3VsdCAoIT0wKSBvciBub3QgKD09MCkKKyAqIEBidWY6CQl0aGUgb3V0cHV0IGJ1ZmZlciB0byBzdG9yZSBjYW5vbmljYWwgWE1MOyB0aGlzCisgKgkJCWJ1ZmZlciBNVVNUIGhhdmUgZW5jb2Rlcj09TlVMTCBiZWNhdXNlIEMxNE4gcmVxdWlyZXMKKyAqCQkJVVRGLTggb3V0cHV0CisgKgorICogQ3JlYXRlcyBuZXcgQzE0TiBjb250ZXh0IG9iamVjdCB0byBzdG9yZSBDMTROIHBhcmFtZXRlcnMuCisgKgorICogUmV0dXJucyBwb2ludGVyIHRvIG5ld2x5IGNyZWF0ZWQgb2JqZWN0IChzdWNjZXNzKSBvciBOVUxMIChmYWlsKQorICovCitzdGF0aWMgeG1sQzE0TkN0eFB0cgoreG1sQzE0Tk5ld0N0eCh4bWxEb2NQdHIgZG9jLAorCSAgICAgIHhtbEMxNE5Jc1Zpc2libGVDYWxsYmFjayBpc192aXNpYmxlX2NhbGxiYWNrLCB2b2lkKiB1c2VyX2RhdGEsCisgICAgICAgICAgICAgIHhtbEMxNE5Nb2RlIG1vZGUsIHhtbENoYXIgKiogaW5jbHVzaXZlX25zX3ByZWZpeGVzLAorICAgICAgICAgICAgICBpbnQgd2l0aF9jb21tZW50cywgeG1sT3V0cHV0QnVmZmVyUHRyIGJ1ZikKK3sKKyAgICB4bWxDMTROQ3R4UHRyIGN0eCA9IE5VTEw7CisKKyAgICBpZiAoKGRvYyA9PSBOVUxMKSB8fCAoYnVmID09IE5VTEwpKSB7CisgICAgICAgIHhtbEMxNE5FcnJQYXJhbSgiY3JlYXRpbmcgbmV3IGNvbnRleHQiKTsKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICB9CisKKyAgICAvKgorICAgICAqICBWYWxpZGF0ZSB0aGUgZW5jb2Rpbmcgb3V0cHV0IGJ1ZmZlciBlbmNvZGluZworICAgICAqLworICAgIGlmIChidWYtPmVuY29kZXIgIT0gTlVMTCkgeworICAgICAgICB4bWxDMTRORXJyKGN0eCwgKHhtbE5vZGVQdHIpIGRvYywgWE1MX0MxNE5fUkVRVUlSRVNfVVRGOCwKKyJ4bWxDMTROTmV3Q3R4OiBvdXRwdXQgYnVmZmVyIGVuY29kZXIgIT0gTlVMTCBidXQgQzE0TiByZXF1aXJlcyBVVEY4IG91dHB1dFxuIik7CisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgfQorCisgICAgLyoKKyAgICAgKiAgVmFsaWRhdGUgdGhlIFhNTCBkb2N1bWVudCBlbmNvZGluZyB2YWx1ZSwgaWYgcHJvdmlkZWQuCisgICAgICovCisgICAgaWYgKGRvYy0+Y2hhcnNldCAhPSBYTUxfQ0hBUl9FTkNPRElOR19VVEY4KSB7CisgICAgICAgIHhtbEMxNE5FcnIoY3R4LCAoeG1sTm9kZVB0cikgZG9jLCBYTUxfQzE0Tl9SRVFVSVJFU19VVEY4LAorCQkgICAieG1sQzE0Tk5ld0N0eDogc291cmNlIGRvY3VtZW50IG5vdCBpbiBVVEY4XG4iKTsKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICB9CisKKyAgICAvKgorICAgICAqIEFsbG9jYXRlIGEgbmV3IHhtbEMxNE5DdHhQdHIgYW5kIGZpbGwgdGhlIGZpZWxkcy4KKyAgICAgKi8KKyAgICBjdHggPSAoeG1sQzE0TkN0eFB0cikgeG1sTWFsbG9jKHNpemVvZih4bWxDMTROQ3R4KSk7CisgICAgaWYgKGN0eCA9PSBOVUxMKSB7CisJeG1sQzE0TkVyck1lbW9yeSgiY3JlYXRpbmcgY29udGV4dCIpOworICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIH0KKyAgICBtZW1zZXQoY3R4LCAwLCBzaXplb2YoeG1sQzE0TkN0eCkpOworCisgICAgLyoKKyAgICAgKiBpbml0aWFsaXplIEMxNE4gY29udGV4dAorICAgICAqLworICAgIGN0eC0+ZG9jID0gZG9jOworICAgIGN0eC0+d2l0aF9jb21tZW50cyA9IHdpdGhfY29tbWVudHM7CisgICAgY3R4LT5pc192aXNpYmxlX2NhbGxiYWNrID0gaXNfdmlzaWJsZV9jYWxsYmFjazsKKyAgICBjdHgtPnVzZXJfZGF0YSA9IHVzZXJfZGF0YTsKKyAgICBjdHgtPmJ1ZiA9IGJ1ZjsKKyAgICBjdHgtPnBhcmVudF9pc19kb2MgPSAxOworICAgIGN0eC0+cG9zID0gWE1MQzE0Tl9CRUZPUkVfRE9DVU1FTlRfRUxFTUVOVDsKKyAgICBjdHgtPm5zX3JlbmRlcmVkID0geG1sQzE0TlZpc2libGVOc1N0YWNrQ3JlYXRlKCk7CisKKyAgICBpZihjdHgtPm5zX3JlbmRlcmVkID09IE5VTEwpIHsKKyAgICAgICAgeG1sQzE0TkVycihjdHgsICh4bWxOb2RlUHRyKSBkb2MsIFhNTF9DMTROX0NSRUFURV9TVEFDSywKKwkJICAgInhtbEMxNE5OZXdDdHg6IHhtbEMxNE5WaXNpYmxlTnNTdGFja0NyZWF0ZSBmYWlsZWRcbiIpOworCXhtbEMxNE5GcmVlQ3R4KGN0eCk7CisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgfQorCisgICAgLyoKKyAgICAgKiBTZXQgIm1vZGUiIGZsYWcgYW5kIHJlbWVtYmVyIGxpc3Qgb2YgaW5jbHVzZXZlIHByZWZpeGVzCisgICAgICogZm9yIGV4Y2x1c2l2ZSBjMTRuCisgICAgICovCisgICAgY3R4LT5tb2RlID0gbW9kZTsKKyAgICBpZih4bWxDMTROSXNFeGNsdXNpdmUoY3R4KSkgeworICAgICAgICBjdHgtPmluY2x1c2l2ZV9uc19wcmVmaXhlcyA9IGluY2x1c2l2ZV9uc19wcmVmaXhlczsKKyAgICB9CisgICAgcmV0dXJuIChjdHgpOworfQorCisvKioKKyAqIHhtbEMxNE5FeGVjdXRlOgorICogQGRvYzoJCXRoZSBYTUwgZG9jdW1lbnQgZm9yIGNhbm9uaXphdGlvbgorICogQGlzX3Zpc2libGVfY2FsbGJhY2s6dGhlIGZ1bmN0aW9uIHRvIHVzZSB0byBkZXRlcm1pbmUgaXMgbm9kZSB2aXNpYmxlCisgKgkJCW9yIG5vdAorICogQHVzZXJfZGF0YToJCXRoZSBmaXJzdCBwYXJhbWV0ZXIgZm9yIEBpc192aXNpYmxlX2NhbGxiYWNrIGZ1bmN0aW9uCisgKgkJCShpbiBtb3N0IGNhc2VzLCBpdCBpcyBub2RlcyBzZXQpCisgKiBAbW9kZToJdGhlIGMxNG4gbW9kZSAoc2VlIEB4bWxDMTROTW9kZSkKKyAqIEBpbmNsdXNpdmVfbnNfcHJlZml4ZXM6IHRoZSBsaXN0IG9mIGluY2x1c2l2ZSBuYW1lc3BhY2UgcHJlZml4ZXMKKyAqCQkJZW5kZWQgd2l0aCBhIE5VTEwgb3IgTlVMTCBpZiB0aGVyZSBpcyBubworICoJCQlpbmNsdXNpdmUgbmFtZXNwYWNlcyAob25seSBmb3IgZXhjbHVzaXZlCisgKgkJCWNhbm9uaWNhbGl6YXRpb24sIGlnbm9yZWQgb3RoZXJ3aXNlKQorICogQHdpdGhfY29tbWVudHM6CWluY2x1ZGUgY29tbWVudHMgaW4gdGhlIHJlc3VsdCAoIT0wKSBvciBub3QgKD09MCkKKyAqIEBidWY6CQl0aGUgb3V0cHV0IGJ1ZmZlciB0byBzdG9yZSBjYW5vbmljYWwgWE1MOyB0aGlzCisgKgkJCWJ1ZmZlciBNVVNUIGhhdmUgZW5jb2Rlcj09TlVMTCBiZWNhdXNlIEMxNE4gcmVxdWlyZXMKKyAqCQkJVVRGLTggb3V0cHV0CisgKgorICogRHVtcHMgdGhlIGNhbm9uaXplZCBpbWFnZSBvZiBnaXZlbiBYTUwgZG9jdW1lbnQgaW50byB0aGUgcHJvdmlkZWQgYnVmZmVyLgorICogRm9yIGRldGFpbHMgc2VlICJDYW5vbmljYWwgWE1MIiAoaHR0cDovL3d3dy53My5vcmcvVFIveG1sLWMxNG4pIG9yCisgKiAiRXhjbHVzaXZlIFhNTCBDYW5vbmljYWxpemF0aW9uIiAoaHR0cDovL3d3dy53My5vcmcvVFIveG1sLWV4Yy1jMTRuKQorICoKKyAqIFJldHVybnMgbm9uLW5lZ2F0aXZlIHZhbHVlIG9uIHN1Y2Nlc3Mgb3IgYSBuZWdhdGl2ZSB2YWx1ZSBvbiBmYWlsCisgKi8KK2ludAoreG1sQzE0TkV4ZWN1dGUoeG1sRG9jUHRyIGRvYywgeG1sQzE0TklzVmlzaWJsZUNhbGxiYWNrIGlzX3Zpc2libGVfY2FsbGJhY2ssCisJIHZvaWQqIHVzZXJfZGF0YSwgaW50IG1vZGUsIHhtbENoYXIgKippbmNsdXNpdmVfbnNfcHJlZml4ZXMsCisJIGludCB3aXRoX2NvbW1lbnRzLCB4bWxPdXRwdXRCdWZmZXJQdHIgYnVmKSB7CisKKyAgICB4bWxDMTROQ3R4UHRyIGN0eDsKKyAgICB4bWxDMTROTW9kZSBjMTRuX21vZGUgPSBYTUxfQzE0Tl8xXzA7CisgICAgaW50IHJldDsKKworICAgIGlmICgoYnVmID09IE5VTEwpIHx8IChkb2MgPT0gTlVMTCkpIHsKKyAgICAgICAgeG1sQzE0TkVyclBhcmFtKCJleGVjdXRpbmcgYzE0biIpOworICAgICAgICByZXR1cm4gKC0xKTsKKyAgICB9CisKKyAgICAvKiBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSwgd2UgaGF2ZSB0byBoYXZlICJtb2RlIiBhcyAiaW50IgorICAgICAgIGFuZCBoZXJlIHdlIGNoZWNrIHRoYXQgdXNlciBnaXZlcyB2YWxpZCB2YWx1ZSAqLworICAgIHN3aXRjaChtb2RlKSB7CisgICAgY2FzZSBYTUxfQzE0Tl8xXzA6CisgICAgY2FzZSBYTUxfQzE0Tl9FWENMVVNJVkVfMV8wOgorICAgIGNhc2UgWE1MX0MxNE5fMV8xOgorICAgICAgICAgYzE0bl9tb2RlID0gKHhtbEMxNE5Nb2RlKW1vZGU7CisgICAgICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAgICAgICB4bWxDMTRORXJyUGFyYW0oImludmFsaWQgbW9kZSBmb3IgZXhlY3V0aW5nIGMxNG4iKTsKKyAgICAgICAgcmV0dXJuICgtMSk7CisgICAgfQorCisgICAgLyoKKyAgICAgKiAgVmFsaWRhdGUgdGhlIGVuY29kaW5nIG91dHB1dCBidWZmZXIgZW5jb2RpbmcKKyAgICAgKi8KKyAgICBpZiAoYnVmLT5lbmNvZGVyICE9IE5VTEwpIHsKKyAgICAgICAgeG1sQzE0TkVycihOVUxMLCAoeG1sTm9kZVB0cikgZG9jLCBYTUxfQzE0Tl9SRVFVSVJFU19VVEY4LAorInhtbEMxNE5FeGVjdXRlOiBvdXRwdXQgYnVmZmVyIGVuY29kZXIgIT0gTlVMTCBidXQgQzE0TiByZXF1aXJlcyBVVEY4IG91dHB1dFxuIik7CisgICAgICAgIHJldHVybiAoLTEpOworICAgIH0KKworICAgIGN0eCA9IHhtbEMxNE5OZXdDdHgoZG9jLCBpc192aXNpYmxlX2NhbGxiYWNrLCB1c2VyX2RhdGEsCisJICAgICAgICAgICAgYzE0bl9tb2RlLCBpbmNsdXNpdmVfbnNfcHJlZml4ZXMsCisgICAgICAgICAgICAgICAgICAgIHdpdGhfY29tbWVudHMsIGJ1Zik7CisgICAgaWYgKGN0eCA9PSBOVUxMKSB7CisgICAgICAgIHhtbEMxNE5FcnIoTlVMTCwgKHhtbE5vZGVQdHIpIGRvYywgWE1MX0MxNE5fQ1JFQVRFX0NUWFQsCisJCSAgICJ4bWxDMTRORXhlY3V0ZTogdW5hYmxlIHRvIGNyZWF0ZSBDMTROIGNvbnRleHRcbiIpOworICAgICAgICByZXR1cm4gKC0xKTsKKyAgICB9CisKKworCisgICAgLyoKKyAgICAgKiBSb290IE5vZGUKKyAgICAgKiBUaGUgcm9vdCBub2RlIGlzIHRoZSBwYXJlbnQgb2YgdGhlIHRvcC1sZXZlbCBkb2N1bWVudCBlbGVtZW50LiBUaGUKKyAgICAgKiByZXN1bHQgb2YgcHJvY2Vzc2luZyBlYWNoIG9mIGl0cyBjaGlsZCBub2RlcyB0aGF0IGlzIGluIHRoZSBub2RlLXNldAorICAgICAqIGluIGRvY3VtZW50IG9yZGVyLiBUaGUgcm9vdCBub2RlIGRvZXMgbm90IGdlbmVyYXRlIGEgYnl0ZSBvcmRlciBtYXJrLAorICAgICAqIFhNTCBkZWNsYXJhdGlvbiwgbm9yIGFueXRoaW5nIGZyb20gd2l0aGluIHRoZSBkb2N1bWVudCB0eXBlCisgICAgICogZGVjbGFyYXRpb24uCisgICAgICovCisgICAgaWYgKGRvYy0+Y2hpbGRyZW4gIT0gTlVMTCkgeworICAgICAgICByZXQgPSB4bWxDMTROUHJvY2Vzc05vZGVMaXN0KGN0eCwgZG9jLT5jaGlsZHJlbik7CisgICAgICAgIGlmIChyZXQgPCAwKSB7CisgICAgICAgICAgICB4bWxDMTRORXJySW50ZXJuYWwoInByb2Nlc3NpbmcgZG9jcyBjaGlsZHJlbiBsaXN0Iik7CisgICAgICAgICAgICB4bWxDMTRORnJlZUN0eChjdHgpOworICAgICAgICAgICAgcmV0dXJuICgtMSk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICAvKgorICAgICAqIEZsdXNoIGJ1ZmZlciB0byBnZXQgbnVtYmVyIG9mIGJ5dGVzIHdyaXR0ZW4KKyAgICAgKi8KKyAgICByZXQgPSB4bWxPdXRwdXRCdWZmZXJGbHVzaChidWYpOworICAgIGlmIChyZXQgPCAwKSB7CisgICAgICAgIHhtbEMxNE5FcnJJbnRlcm5hbCgiZmx1c2hpbmcgb3V0cHV0IGJ1ZmZlciIpOworICAgICAgICB4bWxDMTRORnJlZUN0eChjdHgpOworICAgICAgICByZXR1cm4gKC0xKTsKKyAgICB9CisKKyAgICAvKgorICAgICAqIENsZWFudXAKKyAgICAgKi8KKyAgICB4bWxDMTRORnJlZUN0eChjdHgpOworICAgIHJldHVybiAocmV0KTsKK30KKworLyoqCisgKiB4bWxDMTRORG9jU2F2ZVRvOgorICogQGRvYzoJCXRoZSBYTUwgZG9jdW1lbnQgZm9yIGNhbm9uaXphdGlvbgorICogQG5vZGVzOgkJdGhlIG5vZGVzIHNldCB0byBiZSBpbmNsdWRlZCBpbiB0aGUgY2Fub25pemVkIGltYWdlCisgKgkJb3IgTlVMTCBpZiBhbGwgZG9jdW1lbnQgbm9kZXMgc2hvdWxkIGJlIGluY2x1ZGVkCisgKiBAbW9kZToJCXRoZSBjMTRuIG1vZGUgKHNlZSBAeG1sQzE0Tk1vZGUpCisgKiBAaW5jbHVzaXZlX25zX3ByZWZpeGVzOiB0aGUgbGlzdCBvZiBpbmNsdXNpdmUgbmFtZXNwYWNlIHByZWZpeGVzCisgKgkJCWVuZGVkIHdpdGggYSBOVUxMIG9yIE5VTEwgaWYgdGhlcmUgaXMgbm8KKyAqCQkJaW5jbHVzaXZlIG5hbWVzcGFjZXMgKG9ubHkgZm9yIGV4Y2x1c2l2ZQorICoJCQljYW5vbmljYWxpemF0aW9uLCBpZ25vcmVkIG90aGVyd2lzZSkKKyAqIEB3aXRoX2NvbW1lbnRzOglpbmNsdWRlIGNvbW1lbnRzIGluIHRoZSByZXN1bHQgKCE9MCkgb3Igbm90ICg9PTApCisgKiBAYnVmOgkJdGhlIG91dHB1dCBidWZmZXIgdG8gc3RvcmUgY2Fub25pY2FsIFhNTDsgdGhpcworICoJCQlidWZmZXIgTVVTVCBoYXZlIGVuY29kZXI9PU5VTEwgYmVjYXVzZSBDMTROIHJlcXVpcmVzCisgKgkJCVVURi04IG91dHB1dAorICoKKyAqIER1bXBzIHRoZSBjYW5vbml6ZWQgaW1hZ2Ugb2YgZ2l2ZW4gWE1MIGRvY3VtZW50IGludG8gdGhlIHByb3ZpZGVkIGJ1ZmZlci4KKyAqIEZvciBkZXRhaWxzIHNlZSAiQ2Fub25pY2FsIFhNTCIgKGh0dHA6Ly93d3cudzMub3JnL1RSL3htbC1jMTRuKSBvcgorICogIkV4Y2x1c2l2ZSBYTUwgQ2Fub25pY2FsaXphdGlvbiIgKGh0dHA6Ly93d3cudzMub3JnL1RSL3htbC1leGMtYzE0bikKKyAqCisgKiBSZXR1cm5zIG5vbi1uZWdhdGl2ZSB2YWx1ZSBvbiBzdWNjZXNzIG9yIGEgbmVnYXRpdmUgdmFsdWUgb24gZmFpbAorICovCitpbnQKK3htbEMxNE5Eb2NTYXZlVG8oeG1sRG9jUHRyIGRvYywgeG1sTm9kZVNldFB0ciBub2RlcywKKyAgICAgICAgICAgICAgICAgaW50IG1vZGUsIHhtbENoYXIgKiogaW5jbHVzaXZlX25zX3ByZWZpeGVzLAorICAgICAgICAgICAgICAgICBpbnQgd2l0aF9jb21tZW50cywgeG1sT3V0cHV0QnVmZmVyUHRyIGJ1ZikgeworICAgIHJldHVybih4bWxDMTRORXhlY3V0ZShkb2MsCisJCQkoeG1sQzE0TklzVmlzaWJsZUNhbGxiYWNrKXhtbEMxNE5Jc05vZGVJbk5vZGVzZXQsCisJCQlub2RlcywKKwkJCW1vZGUsCisJCQlpbmNsdXNpdmVfbnNfcHJlZml4ZXMsCisJCQl3aXRoX2NvbW1lbnRzLAorCQkJYnVmKSk7Cit9CisKKworLyoqCisgKiB4bWxDMTRORG9jRHVtcE1lbW9yeToKKyAqIEBkb2M6CQl0aGUgWE1MIGRvY3VtZW50IGZvciBjYW5vbml6YXRpb24KKyAqIEBub2RlczoJCXRoZSBub2RlcyBzZXQgdG8gYmUgaW5jbHVkZWQgaW4gdGhlIGNhbm9uaXplZCBpbWFnZQorICoJCW9yIE5VTEwgaWYgYWxsIGRvY3VtZW50IG5vZGVzIHNob3VsZCBiZSBpbmNsdWRlZAorICogQG1vZGU6CQl0aGUgYzE0biBtb2RlIChzZWUgQHhtbEMxNE5Nb2RlKQorICogQGluY2x1c2l2ZV9uc19wcmVmaXhlczogdGhlIGxpc3Qgb2YgaW5jbHVzaXZlIG5hbWVzcGFjZSBwcmVmaXhlcworICoJCQllbmRlZCB3aXRoIGEgTlVMTCBvciBOVUxMIGlmIHRoZXJlIGlzIG5vCisgKgkJCWluY2x1c2l2ZSBuYW1lc3BhY2VzIChvbmx5IGZvciBleGNsdXNpdmUKKyAqCQkJY2Fub25pY2FsaXphdGlvbiwgaWdub3JlZCBvdGhlcndpc2UpCisgKiBAd2l0aF9jb21tZW50czoJaW5jbHVkZSBjb21tZW50cyBpbiB0aGUgcmVzdWx0ICghPTApIG9yIG5vdCAoPT0wKQorICogQGRvY190eHRfcHRyOgl0aGUgbWVtb3J5IHBvaW50ZXIgZm9yIGFsbG9jYXRlZCBjYW5vbmljYWwgWE1MIHRleHQ7CisgKgkJCXRoZSBjYWxsZXIgb2YgdGhpcyBmdW5jdGlvbnMgaXMgcmVzcG9uc2libGUgZm9yIGNhbGxpbmcKKyAqCQkJeG1sRnJlZSgpIHRvIGZyZWUgYWxsb2NhdGVkIG1lbW9yeQorICoKKyAqIER1bXBzIHRoZSBjYW5vbml6ZWQgaW1hZ2Ugb2YgZ2l2ZW4gWE1MIGRvY3VtZW50IGludG8gbWVtb3J5LgorICogRm9yIGRldGFpbHMgc2VlICJDYW5vbmljYWwgWE1MIiAoaHR0cDovL3d3dy53My5vcmcvVFIveG1sLWMxNG4pIG9yCisgKiAiRXhjbHVzaXZlIFhNTCBDYW5vbmljYWxpemF0aW9uIiAoaHR0cDovL3d3dy53My5vcmcvVFIveG1sLWV4Yy1jMTRuKQorICoKKyAqIFJldHVybnMgdGhlIG51bWJlciBvZiBieXRlcyB3cml0dGVuIG9uIHN1Y2Nlc3Mgb3IgYSBuZWdhdGl2ZSB2YWx1ZSBvbiBmYWlsCisgKi8KK2ludAoreG1sQzE0TkRvY0R1bXBNZW1vcnkoeG1sRG9jUHRyIGRvYywgeG1sTm9kZVNldFB0ciBub2RlcywKKyAgICAgICAgICAgICAgICAgICAgIGludCBtb2RlLCB4bWxDaGFyICoqIGluY2x1c2l2ZV9uc19wcmVmaXhlcywKKyAgICAgICAgICAgICAgICAgICAgIGludCB3aXRoX2NvbW1lbnRzLCB4bWxDaGFyICoqIGRvY190eHRfcHRyKQoreworICAgIGludCByZXQ7CisgICAgeG1sT3V0cHV0QnVmZmVyUHRyIGJ1ZjsKKworICAgIGlmIChkb2NfdHh0X3B0ciA9PSBOVUxMKSB7CisgICAgICAgIHhtbEMxNE5FcnJQYXJhbSgiZHVtcGluZyBkb2MgdG8gbWVtb3J5Iik7CisgICAgICAgIHJldHVybiAoLTEpOworICAgIH0KKworICAgICpkb2NfdHh0X3B0ciA9IE5VTEw7CisKKyAgICAvKgorICAgICAqIGNyZWF0ZSBtZW1vcnkgYnVmZmVyIHdpdGggVVRGOCAoZGVmYXVsdCkgZW5jb2RpbmcKKyAgICAgKi8KKyAgICBidWYgPSB4bWxBbGxvY091dHB1dEJ1ZmZlcihOVUxMKTsKKyAgICBpZiAoYnVmID09IE5VTEwpIHsKKyAgICAgICAgeG1sQzE0TkVyck1lbW9yeSgiY3JlYXRpbmcgb3V0cHV0IGJ1ZmZlciIpOworICAgICAgICByZXR1cm4gKC0xKTsKKyAgICB9CisKKyAgICAvKgorICAgICAqIGNhbm9uaXplIGRvY3VtZW50IGFuZCB3cml0ZSB0byBidWZmZXIKKyAgICAgKi8KKyAgICByZXQgPSB4bWxDMTRORG9jU2F2ZVRvKGRvYywgbm9kZXMsIG1vZGUsIGluY2x1c2l2ZV9uc19wcmVmaXhlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGhfY29tbWVudHMsIGJ1Zik7CisgICAgaWYgKHJldCA8IDApIHsKKyAgICAgICAgeG1sQzE0TkVyckludGVybmFsKCJzYXZpbmcgZG9jIHRvIG91dHB1dCBidWZmZXIiKTsKKyAgICAgICAgKHZvaWQpIHhtbE91dHB1dEJ1ZmZlckNsb3NlKGJ1Zik7CisgICAgICAgIHJldHVybiAoLTEpOworICAgIH0KKworICAgIHJldCA9IHhtbEJ1ZlVzZShidWYtPmJ1ZmZlcik7CisgICAgaWYgKHJldCA+IDApIHsKKyAgICAgICAgKmRvY190eHRfcHRyID0geG1sU3RybmR1cCh4bWxCdWZDb250ZW50KGJ1Zi0+YnVmZmVyKSwgcmV0KTsKKyAgICB9CisgICAgKHZvaWQpIHhtbE91dHB1dEJ1ZmZlckNsb3NlKGJ1Zik7CisKKyAgICBpZiAoKCpkb2NfdHh0X3B0ciA9PSBOVUxMKSAmJiAocmV0ID4gMCkpIHsKKyAgICAgICAgeG1sQzE0TkVyck1lbW9yeSgiY29waW5nIGNhbm9uaWNhbml6ZWQgZG9jdW1lbnQiKTsKKyAgICAgICAgcmV0dXJuICgtMSk7CisgICAgfQorICAgIHJldHVybiAocmV0KTsKK30KKworLyoqCisgKiB4bWxDMTRORG9jU2F2ZToKKyAqIEBkb2M6CQl0aGUgWE1MIGRvY3VtZW50IGZvciBjYW5vbml6YXRpb24KKyAqIEBub2RlczoJCXRoZSBub2RlcyBzZXQgdG8gYmUgaW5jbHVkZWQgaW4gdGhlIGNhbm9uaXplZCBpbWFnZQorICoJCW9yIE5VTEwgaWYgYWxsIGRvY3VtZW50IG5vZGVzIHNob3VsZCBiZSBpbmNsdWRlZAorICogQG1vZGU6CQl0aGUgYzE0biBtb2RlIChzZWUgQHhtbEMxNE5Nb2RlKQorICogQGluY2x1c2l2ZV9uc19wcmVmaXhlczogdGhlIGxpc3Qgb2YgaW5jbHVzaXZlIG5hbWVzcGFjZSBwcmVmaXhlcworICoJCQllbmRlZCB3aXRoIGEgTlVMTCBvciBOVUxMIGlmIHRoZXJlIGlzIG5vCisgKgkJCWluY2x1c2l2ZSBuYW1lc3BhY2VzIChvbmx5IGZvciBleGNsdXNpdmUKKyAqCQkJY2Fub25pY2FsaXphdGlvbiwgaWdub3JlZCBvdGhlcndpc2UpCisgKiBAd2l0aF9jb21tZW50czoJaW5jbHVkZSBjb21tZW50cyBpbiB0aGUgcmVzdWx0ICghPTApIG9yIG5vdCAoPT0wKQorICogQGZpbGVuYW1lOgkJdGhlIGZpbGVuYW1lIHRvIHN0b3JlIGNhbm9uaWNhbCBYTUwgaW1hZ2UKKyAqIEBjb21wcmVzc2lvbjoJdGhlIGNvbXByZXNzaW9uIGxldmVsICh6bGliIHJlcXVyZWQpOgorICoJCQkJLTEgLSBsaWJ4bWwgZGVmYXVsdCwKKyAqCQkJCSAwIC0gdW5jb21wcmVzc2VkLAorICoJCQkJPjAgLSBjb21wcmVzc2lvbiBsZXZlbAorICoKKyAqIER1bXBzIHRoZSBjYW5vbml6ZWQgaW1hZ2Ugb2YgZ2l2ZW4gWE1MIGRvY3VtZW50IGludG8gdGhlIGZpbGUuCisgKiBGb3IgZGV0YWlscyBzZWUgIkNhbm9uaWNhbCBYTUwiIChodHRwOi8vd3d3LnczLm9yZy9UUi94bWwtYzE0bikgb3IKKyAqICJFeGNsdXNpdmUgWE1MIENhbm9uaWNhbGl6YXRpb24iIChodHRwOi8vd3d3LnczLm9yZy9UUi94bWwtZXhjLWMxNG4pCisgKgorICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIGJ5dGVzIHdyaXR0ZW4gc3VjY2VzcyBvciBhIG5lZ2F0aXZlIHZhbHVlIG9uIGZhaWwKKyAqLworaW50Cit4bWxDMTRORG9jU2F2ZSh4bWxEb2NQdHIgZG9jLCB4bWxOb2RlU2V0UHRyIG5vZGVzLAorICAgICAgICAgICAgICAgaW50IG1vZGUsIHhtbENoYXIgKiogaW5jbHVzaXZlX25zX3ByZWZpeGVzLAorICAgICAgICAgICAgICAgaW50IHdpdGhfY29tbWVudHMsIGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBpbnQgY29tcHJlc3Npb24pCit7CisgICAgeG1sT3V0cHV0QnVmZmVyUHRyIGJ1ZjsKKyAgICBpbnQgcmV0OworCisgICAgaWYgKGZpbGVuYW1lID09IE5VTEwpIHsKKyAgICAgICAgeG1sQzE0TkVyclBhcmFtKCJzYXZpbmcgZG9jIik7CisgICAgICAgIHJldHVybiAoLTEpOworICAgIH0KKyNpZmRlZiBIQVZFX1pMSUJfSAorICAgIGlmIChjb21wcmVzc2lvbiA8IDApCisgICAgICAgIGNvbXByZXNzaW9uID0geG1sR2V0Q29tcHJlc3NNb2RlKCk7CisjZW5kaWYKKworICAgIC8qCisgICAgICogc2F2ZSB0aGUgY29udGVudCB0byBhIHRlbXAgYnVmZmVyLCB1c2UgZGVmYXVsdCBVVEY4IGVuY29kaW5nLgorICAgICAqLworICAgIGJ1ZiA9IHhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lKGZpbGVuYW1lLCBOVUxMLCBjb21wcmVzc2lvbik7CisgICAgaWYgKGJ1ZiA9PSBOVUxMKSB7CisgICAgICAgIHhtbEMxNE5FcnJJbnRlcm5hbCgiY3JlYXRpbmcgdGVtcG9yYXJ5IGZpbGVuYW1lIik7CisgICAgICAgIHJldHVybiAoLTEpOworICAgIH0KKworICAgIC8qCisgICAgICogY2Fub25pemUgZG9jdW1lbnQgYW5kIHdyaXRlIHRvIGJ1ZmZlcgorICAgICAqLworICAgIHJldCA9IHhtbEMxNE5Eb2NTYXZlVG8oZG9jLCBub2RlcywgbW9kZSwgaW5jbHVzaXZlX25zX3ByZWZpeGVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aF9jb21tZW50cywgYnVmKTsKKyAgICBpZiAocmV0IDwgMCkgeworICAgICAgICB4bWxDMTRORXJySW50ZXJuYWwoImNhbm5pY2FuaXplIGRvY3VtZW50IHRvIGJ1ZmZlciIpOworICAgICAgICAodm9pZCkgeG1sT3V0cHV0QnVmZmVyQ2xvc2UoYnVmKTsKKyAgICAgICAgcmV0dXJuICgtMSk7CisgICAgfQorCisgICAgLyoKKyAgICAgKiBnZXQgdGhlIG51bWJlcnMgb2YgYnl0ZXMgd3JpdHRlbgorICAgICAqLworICAgIHJldCA9IHhtbE91dHB1dEJ1ZmZlckNsb3NlKGJ1Zik7CisgICAgcmV0dXJuIChyZXQpOworfQorCisKKworLyoKKyAqIE1hY3JvIHVzZWQgdG8gZ3JvdyB0aGUgY3VycmVudCBidWZmZXIuCisgKi8KKyNkZWZpbmUgZ3Jvd0J1ZmZlclJlZW50cmFudCgpIHsJCQkJCQlcCisgICAgYnVmZmVyX3NpemUgKj0gMjsJCQkJCQkJXAorICAgIGJ1ZmZlciA9ICh4bWxDaGFyICopCQkJCQkJXAorCQl4bWxSZWFsbG9jKGJ1ZmZlciwgYnVmZmVyX3NpemUgKiBzaXplb2YoeG1sQ2hhcikpOwlcCisgICAgaWYgKGJ1ZmZlciA9PSBOVUxMKSB7CQkJCQkJXAorCXhtbEMxNE5FcnJNZW1vcnkoImdyb3dpbmcgYnVmZmVyIik7CQkJCVwKKwlyZXR1cm4oTlVMTCk7CQkJCQkJCVwKKyAgICB9CQkJCQkJCQkJXAorfQorCisvKioKKyAqIHhtbEMxMU5Ob3JtYWxpemVTdHJpbmc6CisgKiBAaW5wdXQ6CQl0aGUgaW5wdXQgc3RyaW5nCisgKiBAbW9kZToJCXRoZSBub3JtYWxpemF0aW9uIG1vZGUgKGF0dHJpYnV0ZSwgY29tbWVudCwgUEkgb3IgdGV4dCkKKyAqCisgKiBDb252ZXJ0cyBhIHN0cmluZyB0byBhIGNhbm9uaWNhbCAobm9ybWFsaXplZCkgZm9ybWF0LiBUaGUgY29kZSBpcyBzdG9sZW4KKyAqIGZyb20geG1sRW5jb2RlRW50aXRpZXNSZWVudHJhbnQoKS4gQWRkZWQgbm9ybWFsaXphdGlvbiBvZiBceDA5LCBceDBhLCBceDBBCisgKiBhbmQgdGhlIEBtb2RlIHBhcmFtZXRlcgorICoKKyAqIFJldHVybnMgYSBub3JtYWxpemVkIHN0cmluZyAoY2FsbGVyIGlzIHJlc3BvbnNpYmxlIGZvciBjYWxsaW5nIHhtbEZyZWUoKSkKKyAqIG9yIE5VTEwgaWYgYW4gZXJyb3Igb2NjdXJzCisgKi8KK3N0YXRpYyB4bWxDaGFyICoKK3htbEMxMU5Ob3JtYWxpemVTdHJpbmcoY29uc3QgeG1sQ2hhciAqIGlucHV0LAorICAgICAgICAgICAgICAgICAgICAgICB4bWxDMTROTm9ybWFsaXphdGlvbk1vZGUgbW9kZSkKK3sKKyAgICBjb25zdCB4bWxDaGFyICpjdXIgPSBpbnB1dDsKKyAgICB4bWxDaGFyICpidWZmZXIgPSBOVUxMOworICAgIHhtbENoYXIgKm91dCA9IE5VTEw7CisgICAgaW50IGJ1ZmZlcl9zaXplID0gMDsKKworICAgIGlmIChpbnB1dCA9PSBOVUxMKQorICAgICAgICByZXR1cm4gKE5VTEwpOworCisgICAgLyoKKyAgICAgKiBhbGxvY2F0ZSBhbiB0cmFuc2xhdGlvbiBidWZmZXIuCisgICAgICovCisgICAgYnVmZmVyX3NpemUgPSAxMDAwOworICAgIGJ1ZmZlciA9ICh4bWxDaGFyICopIHhtbE1hbGxvY0F0b21pYyhidWZmZXJfc2l6ZSAqIHNpemVvZih4bWxDaGFyKSk7CisgICAgaWYgKGJ1ZmZlciA9PSBOVUxMKSB7CisJeG1sQzE0TkVyck1lbW9yeSgiYWxsb2NhdGluZyBidWZmZXIiKTsKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICB9CisgICAgb3V0ID0gYnVmZmVyOworCisgICAgd2hpbGUgKCpjdXIgIT0gJ1wwJykgeworICAgICAgICBpZiAoKG91dCAtIGJ1ZmZlcikgPiAoYnVmZmVyX3NpemUgLSAxMCkpIHsKKyAgICAgICAgICAgIGludCBpbmR4ID0gb3V0IC0gYnVmZmVyOworCisgICAgICAgICAgICBncm93QnVmZmVyUmVlbnRyYW50KCk7CisgICAgICAgICAgICBvdXQgPSAmYnVmZmVyW2luZHhdOworICAgICAgICB9CisKKyAgICAgICAgaWYgKCgqY3VyID09ICc8JykgJiYgKChtb2RlID09IFhNTEMxNE5fTk9STUFMSVpFX0FUVFIpIHx8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobW9kZSA9PSBYTUxDMTROX05PUk1BTElaRV9URVhUKSkpIHsKKyAgICAgICAgICAgICpvdXQrKyA9ICcmJzsKKyAgICAgICAgICAgICpvdXQrKyA9ICdsJzsKKyAgICAgICAgICAgICpvdXQrKyA9ICd0JzsKKyAgICAgICAgICAgICpvdXQrKyA9ICc7JzsKKyAgICAgICAgfSBlbHNlIGlmICgoKmN1ciA9PSAnPicpICYmIChtb2RlID09IFhNTEMxNE5fTk9STUFMSVpFX1RFWFQpKSB7CisgICAgICAgICAgICAqb3V0KysgPSAnJic7CisgICAgICAgICAgICAqb3V0KysgPSAnZyc7CisgICAgICAgICAgICAqb3V0KysgPSAndCc7CisgICAgICAgICAgICAqb3V0KysgPSAnOyc7CisgICAgICAgIH0gZWxzZSBpZiAoKCpjdXIgPT0gJyYnKSAmJiAoKG1vZGUgPT0gWE1MQzE0Tl9OT1JNQUxJWkVfQVRUUikgfHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobW9kZSA9PSBYTUxDMTROX05PUk1BTElaRV9URVhUKSkpIHsKKyAgICAgICAgICAgICpvdXQrKyA9ICcmJzsKKyAgICAgICAgICAgICpvdXQrKyA9ICdhJzsKKyAgICAgICAgICAgICpvdXQrKyA9ICdtJzsKKyAgICAgICAgICAgICpvdXQrKyA9ICdwJzsKKyAgICAgICAgICAgICpvdXQrKyA9ICc7JzsKKyAgICAgICAgfSBlbHNlIGlmICgoKmN1ciA9PSAnIicpICYmIChtb2RlID09IFhNTEMxNE5fTk9STUFMSVpFX0FUVFIpKSB7CisgICAgICAgICAgICAqb3V0KysgPSAnJic7CisgICAgICAgICAgICAqb3V0KysgPSAncSc7CisgICAgICAgICAgICAqb3V0KysgPSAndSc7CisgICAgICAgICAgICAqb3V0KysgPSAnbyc7CisgICAgICAgICAgICAqb3V0KysgPSAndCc7CisgICAgICAgICAgICAqb3V0KysgPSAnOyc7CisgICAgICAgIH0gZWxzZSBpZiAoKCpjdXIgPT0gJ1x4MDknKSAmJiAobW9kZSA9PSBYTUxDMTROX05PUk1BTElaRV9BVFRSKSkgeworICAgICAgICAgICAgKm91dCsrID0gJyYnOworICAgICAgICAgICAgKm91dCsrID0gJyMnOworICAgICAgICAgICAgKm91dCsrID0gJ3gnOworICAgICAgICAgICAgKm91dCsrID0gJzknOworICAgICAgICAgICAgKm91dCsrID0gJzsnOworICAgICAgICB9IGVsc2UgaWYgKCgqY3VyID09ICdceDBBJykgJiYgKG1vZGUgPT0gWE1MQzE0Tl9OT1JNQUxJWkVfQVRUUikpIHsKKyAgICAgICAgICAgICpvdXQrKyA9ICcmJzsKKyAgICAgICAgICAgICpvdXQrKyA9ICcjJzsKKyAgICAgICAgICAgICpvdXQrKyA9ICd4JzsKKyAgICAgICAgICAgICpvdXQrKyA9ICdBJzsKKyAgICAgICAgICAgICpvdXQrKyA9ICc7JzsKKyAgICAgICAgfSBlbHNlIGlmICgoKmN1ciA9PSAnXHgwRCcpICYmICgobW9kZSA9PSBYTUxDMTROX05PUk1BTElaRV9BVFRSKSB8fAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RlID09IFhNTEMxNE5fTk9STUFMSVpFX1RFWFQpIHx8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1vZGUgPT0gWE1MQzE0Tl9OT1JNQUxJWkVfQ09NTUVOVCkgfHwKKwkJCQkJKG1vZGUgPT0gWE1MQzE0Tl9OT1JNQUxJWkVfUEkpKSkgeworICAgICAgICAgICAgKm91dCsrID0gJyYnOworICAgICAgICAgICAgKm91dCsrID0gJyMnOworICAgICAgICAgICAgKm91dCsrID0gJ3gnOworICAgICAgICAgICAgKm91dCsrID0gJ0QnOworICAgICAgICAgICAgKm91dCsrID0gJzsnOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAqIFdvcmtzIGJlY2F1c2Ugb24gVVRGLTgsIGFsbCBleHRlbmRlZCBzZXF1ZW5jZXMgY2Fubm90CisgICAgICAgICAgICAgKiByZXN1bHQgaW4gYnl0ZXMgaW4gdGhlIEFTQ0lJIHJhbmdlLgorICAgICAgICAgICAgICovCisgICAgICAgICAgICAqb3V0KysgPSAqY3VyOworICAgICAgICB9CisgICAgICAgIGN1cisrOworICAgIH0KKyAgICAqb3V0ID0gMDsKKyAgICByZXR1cm4gKGJ1ZmZlcik7Cit9CisjZW5kaWYgLyogTElCWE1MX09VVFBVVF9FTkFCTEVEICovCisjZGVmaW5lIGJvdHRvbV9jMTRuCisjaW5jbHVkZSAiZWxmZ2NjaGFjay5oIgorI2VuZGlmIC8qIExJQlhNTF9DMTROX0VOQUJMRUQgKi8KZGlmZiAtLWdpdCBhL2xpYnhtbDIvY2F0YWxvZy5jIGIvbGlieG1sMi9jYXRhbG9nLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTc3M2RiMwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvY2F0YWxvZy5jCkBAIC0wLDAgKzEsMzgyNSBAQAorLyoqCisgKiBjYXRhbG9nLmM6IHNldCBvZiBnZW5lcmljIENhdGFsb2cgcmVsYXRlZCByb3V0aW5lcworICoKKyAqIFJlZmVyZW5jZTogIFNHTUwgT3BlbiBUZWNobmljYWwgUmVzb2x1dGlvbiBUUjk0MDE6MTk5Ny4KKyAqICAgICAgICAgICAgIGh0dHA6Ly93d3cuamNsYXJrLmNvbS9zcC9jYXRhbG9nLmh0bQorICoKKyAqICAgICAgICAgICAgIFhNTCBDYXRhbG9ncyBXb3JraW5nIERyYWZ0IDA2IEF1Z3VzdCAyMDAxCisgKiAgICAgICAgICAgICBodHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL2NvbW1pdHRlZXMvZW50aXR5L3NwZWMtMjAwMS0wOC0wNi5odG1sCisgKgorICogU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgorICoKKyAqIERhbmllbC5WZWlsbGFyZEBpbWFnLmZyCisgKi8KKworI2RlZmluZSBJTl9MSUJYTUwKKyNpbmNsdWRlICJsaWJ4bWwuaCIKKworI2lmZGVmIExJQlhNTF9DQVRBTE9HX0VOQUJMRUQKKyNpZmRlZiBIQVZFX1NZU19UWVBFU19ICisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjZW5kaWYKKyNpZmRlZiBIQVZFX1NZU19TVEFUX0gKKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9VTklTVERfSAorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9GQ05UTF9ICisjaW5jbHVkZSA8ZmNudGwuaD4KKyNlbmRpZgorI2lmZGVmIEhBVkVfU1RETElCX0gKKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNlbmRpZgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGxpYnhtbC94bWxtZW1vcnkuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvaGFzaC5oPgorI2luY2x1ZGUgPGxpYnhtbC91cmkuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvcGFyc2VySW50ZXJuYWxzLmg+CisjaW5jbHVkZSA8bGlieG1sL2NhdGFsb2cuaD4KKyNpbmNsdWRlIDxsaWJ4bWwveG1sZXJyb3IuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvdGhyZWFkcy5oPgorI2luY2x1ZGUgPGxpYnhtbC9nbG9iYWxzLmg+CisKKyNpbmNsdWRlICJidWYuaCIKKworI2RlZmluZSBNQVhfREVMRUdBVEUJNTAKKyNkZWZpbmUgTUFYX0NBVEFMX0RFUFRICTUwCisKKyNpZmRlZiBfV0lOMzIKKyMgZGVmaW5lIFBBVEhfU0VBUEFSQVRPUiAnOycKKyNlbHNlCisjIGRlZmluZSBQQVRIX1NFQVBBUkFUT1IgJzonCisjZW5kaWYKKworLyoqCisgKiBUT0RPOgorICoKKyAqIG1hY3JvIHRvIGZsYWcgdW5pbXBsZW1lbnRlZCBibG9ja3MKKyAqIFhNTF9DQVRBTE9HX1BSRUZFUiB1c2VyIGVudiB0byBzZWxlY3QgYmV0d2VlbiBzeXN0ZW0vcHVibGljIHByZWZlcmVkCisgKiBvcHRpb24uIEMuZi4gUmljaGFyZCBUb2JpbiA8cmljaGFyZEBjb2dzY2kuZWQuYWMudWs+CisgKj4gSnVzdCBGWUksIEkgYW0gdXNpbmcgYW4gZW52aXJvbm1lbnQgdmFyaWFibGUgWE1MX0NBVEFMT0dfUFJFRkVSIHdpdGgKKyAqPiB2YWx1ZXMgInN5c3RlbSIgYW5kICJwdWJsaWMiLiAgSSBoYXZlIG1hZGUgdGhlIGRlZmF1bHQgYmUgInN5c3RlbSIgdG8KKyAqPiBtYXRjaCB5b3Vycy4KKyAqLworI2RlZmluZSBUT0RPCQkJCQkJCQlcCisgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCQkJCVwKKwkgICAgIlVuaW1wbGVtZW50ZWQgYmxvY2sgYXQgJXM6JWRcbiIsCQkJCVwKKyAgICAgICAgICAgIF9fRklMRV9fLCBfX0xJTkVfXyk7CisKKyNkZWZpbmUgWE1MX1VSTl9QVUJJRCAidXJuOnB1YmxpY2lkOiIKKyNkZWZpbmUgWE1MX0NBVEFMX0JSRUFLICgoeG1sQ2hhciAqKSAtMSkKKyNpZm5kZWYgWE1MX1hNTF9ERUZBVUxUX0NBVEFMT0cKKyNkZWZpbmUgWE1MX1hNTF9ERUZBVUxUX0NBVEFMT0cgImZpbGU6Ly8vZXRjL3htbC9jYXRhbG9nIgorI2VuZGlmCisjaWZuZGVmIFhNTF9TR01MX0RFRkFVTFRfQ0FUQUxPRworI2RlZmluZSBYTUxfU0dNTF9ERUZBVUxUX0NBVEFMT0cgImZpbGU6Ly8vZXRjL3NnbWwvY2F0YWxvZyIKKyNlbmRpZgorCisjaWYgZGVmaW5lZChfV0lOMzIpICYmIGRlZmluZWQoX01TQ19WRVIpCisjdW5kZWYgWE1MX1hNTF9ERUZBVUxUX0NBVEFMT0cKK3N0YXRpYyBjaGFyIFhNTF9YTUxfREVGQVVMVF9DQVRBTE9HWzI1Nl0gPSAiZmlsZTovLy9ldGMveG1sL2NhdGFsb2ciOworI2lmIGRlZmluZWQoX1dJTjMyX1dDRSkKKy8qIFdpbmRvd3MgQ0UgZG9uJ3QgaGF2ZSBhIEEgdmFyaWFudCAqLworI2RlZmluZSBHZXRNb2R1bGVIYW5kbGVBIEdldE1vZHVsZUhhbmRsZQorI2RlZmluZSBHZXRNb2R1bGVGaWxlTmFtZUEgR2V0TW9kdWxlRmlsZU5hbWUKKyNlbHNlCisjaWYgIWRlZmluZWQoX1dJTkRPV1NfKQordm9pZCogX19zdGRjYWxsIEdldE1vZHVsZUhhbmRsZUEoY29uc3QgY2hhciopOwordW5zaWduZWQgbG9uZyBfX3N0ZGNhbGwgR2V0TW9kdWxlRmlsZU5hbWVBKHZvaWQqLCBjaGFyKiwgdW5zaWduZWQgbG9uZyk7CisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKK3N0YXRpYyB4bWxDaGFyICp4bWxDYXRhbG9nTm9ybWFsaXplUHVibGljKGNvbnN0IHhtbENoYXIgKnB1YklEKTsKK3N0YXRpYyBpbnQgeG1sRXhwYW5kQ2F0YWxvZyh4bWxDYXRhbG9nUHRyIGNhdGFsLCBjb25zdCBjaGFyICpmaWxlbmFtZSk7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCQlUeXBlcywgYWxsIHByaXZhdGUJCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCit0eXBlZGVmIGVudW0geworICAgIFhNTF9DQVRBX1JFTU9WRUQgPSAtMSwKKyAgICBYTUxfQ0FUQV9OT05FID0gMCwKKyAgICBYTUxfQ0FUQV9DQVRBTE9HLAorICAgIFhNTF9DQVRBX0JST0tFTl9DQVRBTE9HLAorICAgIFhNTF9DQVRBX05FWFRfQ0FUQUxPRywKKyAgICBYTUxfQ0FUQV9HUk9VUCwKKyAgICBYTUxfQ0FUQV9QVUJMSUMsCisgICAgWE1MX0NBVEFfU1lTVEVNLAorICAgIFhNTF9DQVRBX1JFV1JJVEVfU1lTVEVNLAorICAgIFhNTF9DQVRBX0RFTEVHQVRFX1BVQkxJQywKKyAgICBYTUxfQ0FUQV9ERUxFR0FURV9TWVNURU0sCisgICAgWE1MX0NBVEFfVVJJLAorICAgIFhNTF9DQVRBX1JFV1JJVEVfVVJJLAorICAgIFhNTF9DQVRBX0RFTEVHQVRFX1VSSSwKKyAgICBTR01MX0NBVEFfU1lTVEVNLAorICAgIFNHTUxfQ0FUQV9QVUJMSUMsCisgICAgU0dNTF9DQVRBX0VOVElUWSwKKyAgICBTR01MX0NBVEFfUEVOVElUWSwKKyAgICBTR01MX0NBVEFfRE9DVFlQRSwKKyAgICBTR01MX0NBVEFfTElOS1RZUEUsCisgICAgU0dNTF9DQVRBX05PVEFUSU9OLAorICAgIFNHTUxfQ0FUQV9ERUxFR0FURSwKKyAgICBTR01MX0NBVEFfQkFTRSwKKyAgICBTR01MX0NBVEFfQ0FUQUxPRywKKyAgICBTR01MX0NBVEFfRE9DVU1FTlQsCisgICAgU0dNTF9DQVRBX1NHTUxERUNMCit9IHhtbENhdGFsb2dFbnRyeVR5cGU7CisKK3R5cGVkZWYgc3RydWN0IF94bWxDYXRhbG9nRW50cnkgeG1sQ2F0YWxvZ0VudHJ5OwordHlwZWRlZiB4bWxDYXRhbG9nRW50cnkgKnhtbENhdGFsb2dFbnRyeVB0cjsKK3N0cnVjdCBfeG1sQ2F0YWxvZ0VudHJ5IHsKKyAgICBzdHJ1Y3QgX3htbENhdGFsb2dFbnRyeSAqbmV4dDsKKyAgICBzdHJ1Y3QgX3htbENhdGFsb2dFbnRyeSAqcGFyZW50OworICAgIHN0cnVjdCBfeG1sQ2F0YWxvZ0VudHJ5ICpjaGlsZHJlbjsKKyAgICB4bWxDYXRhbG9nRW50cnlUeXBlIHR5cGU7CisgICAgeG1sQ2hhciAqbmFtZTsKKyAgICB4bWxDaGFyICp2YWx1ZTsKKyAgICB4bWxDaGFyICpVUkw7ICAvKiBUaGUgZXhwYW5kZWQgVVJMIHVzaW5nIHRoZSBiYXNlICovCisgICAgeG1sQ2F0YWxvZ1ByZWZlciBwcmVmZXI7CisgICAgaW50IGRlYWxsb2M7CisgICAgaW50IGRlcHRoOworICAgIHN0cnVjdCBfeG1sQ2F0YWxvZ0VudHJ5ICpncm91cDsKK307CisKK3R5cGVkZWYgZW51bSB7CisgICAgWE1MX1hNTF9DQVRBTE9HX1RZUEUgPSAxLAorICAgIFhNTF9TR01MX0NBVEFMT0dfVFlQRQorfSB4bWxDYXRhbG9nVHlwZTsKKworI2RlZmluZSBYTUxfTUFYX1NHTUxfQ0FUQV9ERVBUSCAxMAorc3RydWN0IF94bWxDYXRhbG9nIHsKKyAgICB4bWxDYXRhbG9nVHlwZSB0eXBlOwkvKiBlaXRoZXIgWE1MIG9yIFNHTUwgKi8KKworICAgIC8qCisgICAgICogU0dNTCBDYXRhbG9ncyBhcmUgc3RvcmVkIGFzIGEgc2ltcGxlIGhhc2ggdGFibGUgb2YgY2F0YWxvZyBlbnRyaWVzCisgICAgICogQ2F0YWxvZyBzdGFjayB0byBjaGVjayBhZ2FpbnN0IG92ZXJmbG93cyB3aGVuIGJ1aWxkaW5nIHRoZQorICAgICAqIFNHTUwgY2F0YWxvZworICAgICAqLworICAgIGNoYXIgKmNhdGFsVGFiW1hNTF9NQVhfU0dNTF9DQVRBX0RFUFRIXTsJLyogc3RhY2sgb2YgY2F0YWxzICovCisgICAgaW50ICAgICAgICAgIGNhdGFsTnI7CS8qIE51bWJlciBvZiBjdXJyZW50IGNhdGFsIHN0cmVhbXMgKi8KKyAgICBpbnQgICAgICAgICAgY2F0YWxNYXg7CS8qIE1heCBudW1iZXIgb2YgY2F0YWwgc3RyZWFtcyAqLworICAgIHhtbEhhc2hUYWJsZVB0ciBzZ21sOworCisgICAgLyoKKyAgICAgKiBYTUwgQ2F0YWxvZ3MgYXJlIHN0b3JlZCBhcyBhIHRyZWUgb2YgQ2F0YWxvZyBlbnRyaWVzCisgICAgICovCisgICAgeG1sQ2F0YWxvZ1ByZWZlciBwcmVmZXI7CisgICAgeG1sQ2F0YWxvZ0VudHJ5UHRyIHhtbDsKK307CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCQlHbG9iYWwgdmFyaWFibGVzCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoKKyAqIFRob3NlIGFyZSBwcmVmZXJlbmNlcworICovCitzdGF0aWMgaW50IHhtbERlYnVnQ2F0YWxvZ3MgPSAwOyAgIC8qIHVzZWQgZm9yIGRlYnVnZ2luZyAqLworc3RhdGljIHhtbENhdGFsb2dBbGxvdyB4bWxDYXRhbG9nRGVmYXVsdEFsbG93ID0gWE1MX0NBVEFfQUxMT1dfQUxMOworc3RhdGljIHhtbENhdGFsb2dQcmVmZXIgeG1sQ2F0YWxvZ0RlZmF1bHRQcmVmZXIgPSBYTUxfQ0FUQV9QUkVGRVJfUFVCTElDOworCisvKgorICogSGFzaCB0YWJsZSBjb250YWluaW5nIGFsbCB0aGUgdHJlZXMgb2YgWE1MIGNhdGFsb2dzIHBhcnNlZCBieQorICogdGhlIGFwcGxpY2F0aW9uLgorICovCitzdGF0aWMgeG1sSGFzaFRhYmxlUHRyIHhtbENhdGFsb2dYTUxGaWxlcyA9IE5VTEw7CisKKy8qCisgKiBUaGUgZGVmYXVsdCBjYXRhbG9nIGluIHVzZSBieSB0aGUgYXBwbGljYXRpb24KKyAqLworc3RhdGljIHhtbENhdGFsb2dQdHIgeG1sRGVmYXVsdENhdGFsb2cgPSBOVUxMOworCisvKgorICogQSBtdXRleCBmb3IgbW9kaWZ5aW5nIHRoZSBzaGFyZWQgZ2xvYmFsIGNhdGFsb2cocykKKyAqIHhtbERlZmF1bHRDYXRhbG9nIHRyZWUuCisgKiBJdCBhbHNvIHByb3RlY3RzIHhtbENhdGFsb2dYTUxGaWxlcworICogVGhlIGNvcmUgb2YgdGhpcyByZWFkZXJzL3dyaXRlciBzY2hlbWUgaXMgaW4geG1sRmV0Y2hYTUxDYXRhbG9nRmlsZSgpCisgKi8KK3N0YXRpYyB4bWxSTXV0ZXhQdHIgeG1sQ2F0YWxvZ011dGV4ID0gTlVMTDsKKworLyoKKyAqIFdoZXRoZXIgdGhlIGNhdGFsb2cgc3VwcG9ydCB3YXMgaW5pdGlhbGl6ZWQuCisgKi8KK3N0YXRpYyBpbnQgeG1sQ2F0YWxvZ0luaXRpYWxpemVkID0gMDsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJCUNhdGFsb2cgZXJyb3IgaGFuZGxlcnMJCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioKKyAqIHhtbENhdGFsb2dFcnJNZW1vcnk6CisgKiBAZXh0cmE6ICBleHRyYSBpbmZvcm1hdGlvbnMKKyAqCisgKiBIYW5kbGUgYW4gb3V0IG9mIG1lbW9yeSBjb25kaXRpb24KKyAqLworc3RhdGljIHZvaWQKK3htbENhdGFsb2dFcnJNZW1vcnkoY29uc3QgY2hhciAqZXh0cmEpCit7CisgICAgX194bWxSYWlzZUVycm9yKE5VTEwsIE5VTEwsIE5VTEwsIE5VTEwsIE5VTEwsIFhNTF9GUk9NX0NBVEFMT0csCisgICAgICAgICAgICAgICAgICAgIFhNTF9FUlJfTk9fTUVNT1JZLCBYTUxfRVJSX0VSUk9SLCBOVUxMLCAwLAorCQkgICAgZXh0cmEsIE5VTEwsIE5VTEwsIDAsIDAsCisJCSAgICAiTWVtb3J5IGFsbG9jYXRpb24gZmFpbGVkIDogJXNcbiIsIGV4dHJhKTsKK30KKworLyoqCisgKiB4bWxDYXRhbG9nRXJyOgorICogQGNhdGFsOiB0aGUgQ2F0YWxvZyBlbnRyeQorICogQG5vZGU6IHRoZSBjb250ZXh0IG5vZGUKKyAqIEBtc2c6ICB0aGUgZXJyb3IgbWVzc2FnZQorICogQGV4dHJhOiAgZXh0cmEgaW5mb3JtYXRpb25zCisgKgorICogSGFuZGxlIGEgY2F0YWxvZyBlcnJvcgorICovCitzdGF0aWMgdm9pZAoreG1sQ2F0YWxvZ0Vycih4bWxDYXRhbG9nRW50cnlQdHIgY2F0YWwsIHhtbE5vZGVQdHIgbm9kZSwgaW50IGVycm9yLAorICAgICAgICAgICAgICAgY29uc3QgY2hhciAqbXNnLCBjb25zdCB4bWxDaGFyICpzdHIxLCBjb25zdCB4bWxDaGFyICpzdHIyLAorCSAgICAgICBjb25zdCB4bWxDaGFyICpzdHIzKQoreworICAgIF9feG1sUmFpc2VFcnJvcihOVUxMLCBOVUxMLCBOVUxMLCBjYXRhbCwgbm9kZSwgWE1MX0ZST01fQ0FUQUxPRywKKyAgICAgICAgICAgICAgICAgICAgZXJyb3IsIFhNTF9FUlJfRVJST1IsIE5VTEwsIDAsCisJCSAgICAoY29uc3QgY2hhciAqKSBzdHIxLCAoY29uc3QgY2hhciAqKSBzdHIyLAorCQkgICAgKGNvbnN0IGNoYXIgKikgc3RyMywgMCwgMCwKKwkJICAgIG1zZywgc3RyMSwgc3RyMiwgc3RyMyk7Cit9CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJCUFsbG9jYXRpb24gYW5kIEZyZWVpbmcJCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioKKyAqIHhtbE5ld0NhdGFsb2dFbnRyeToKKyAqIEB0eXBlOiAgdHlwZSBvZiBlbnRyeQorICogQG5hbWU6ICBuYW1lIG9mIHRoZSBlbnRyeQorICogQHZhbHVlOiAgdmFsdWUgb2YgdGhlIGVudHJ5CisgKiBAcHJlZmVyOiAgdGhlIFBVQkxJQyB2cy4gU1lTVEVNIGN1cnJlbnQgcHJlZmVyZW5jZSB2YWx1ZQorICogQGdyb3VwOiAgZm9yIG1lbWJlcnMgb2YgYSBncm91cCwgdGhlIGdyb3VwIGVudHJ5CisgKgorICogY3JlYXRlIGEgbmV3IENhdGFsb2cgZW50cnksIHRoaXMgdHlwZSBpcyBzaGFyZWQgYm90aCBieSBYTUwgYW5kCisgKiBTR01MIGNhdGFsb2dzLCBidXQgdGhlIGFjY2VwdGFibGUgdHlwZXMgdmFsdWVzIGRpZmZlcnMuCisgKgorICogUmV0dXJucyB0aGUgeG1sQ2F0YWxvZ0VudHJ5UHRyIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcgorICovCitzdGF0aWMgeG1sQ2F0YWxvZ0VudHJ5UHRyCit4bWxOZXdDYXRhbG9nRW50cnkoeG1sQ2F0YWxvZ0VudHJ5VHlwZSB0eXBlLCBjb25zdCB4bWxDaGFyICpuYW1lLAorCSAgIGNvbnN0IHhtbENoYXIgKnZhbHVlLCBjb25zdCB4bWxDaGFyICpVUkwsIHhtbENhdGFsb2dQcmVmZXIgcHJlZmVyLAorCSAgIHhtbENhdGFsb2dFbnRyeVB0ciBncm91cCkgeworICAgIHhtbENhdGFsb2dFbnRyeVB0ciByZXQ7CisgICAgeG1sQ2hhciAqbm9ybWlkID0gTlVMTDsKKworICAgIHJldCA9ICh4bWxDYXRhbG9nRW50cnlQdHIpIHhtbE1hbGxvYyhzaXplb2YoeG1sQ2F0YWxvZ0VudHJ5KSk7CisgICAgaWYgKHJldCA9PSBOVUxMKSB7CisgICAgICAgIHhtbENhdGFsb2dFcnJNZW1vcnkoImFsbG9jYXRpbmcgY2F0YWxvZyBlbnRyeSIpOworCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgcmV0LT5uZXh0ID0gTlVMTDsKKyAgICByZXQtPnBhcmVudCA9IE5VTEw7CisgICAgcmV0LT5jaGlsZHJlbiA9IE5VTEw7CisgICAgcmV0LT50eXBlID0gdHlwZTsKKyAgICBpZiAodHlwZSA9PSBYTUxfQ0FUQV9QVUJMSUMgfHwgdHlwZSA9PSBYTUxfQ0FUQV9ERUxFR0FURV9QVUJMSUMpIHsKKyAgICAgICAgbm9ybWlkID0geG1sQ2F0YWxvZ05vcm1hbGl6ZVB1YmxpYyhuYW1lKTsKKyAgICAgICAgaWYgKG5vcm1pZCAhPSBOVUxMKQorICAgICAgICAgICAgbmFtZSA9ICgqbm9ybWlkICE9IDAgPyBub3JtaWQgOiBOVUxMKTsKKyAgICB9CisgICAgaWYgKG5hbWUgIT0gTlVMTCkKKwlyZXQtPm5hbWUgPSB4bWxTdHJkdXAobmFtZSk7CisgICAgZWxzZQorCXJldC0+bmFtZSA9IE5VTEw7CisgICAgaWYgKG5vcm1pZCAhPSBOVUxMKQorICAgICAgICB4bWxGcmVlKG5vcm1pZCk7CisgICAgaWYgKHZhbHVlICE9IE5VTEwpCisJcmV0LT52YWx1ZSA9IHhtbFN0cmR1cCh2YWx1ZSk7CisgICAgZWxzZQorCXJldC0+dmFsdWUgPSBOVUxMOworICAgIGlmIChVUkwgPT0gTlVMTCkKKwlVUkwgPSB2YWx1ZTsKKyAgICBpZiAoVVJMICE9IE5VTEwpCisJcmV0LT5VUkwgPSB4bWxTdHJkdXAoVVJMKTsKKyAgICBlbHNlCisJcmV0LT5VUkwgPSBOVUxMOworICAgIHJldC0+cHJlZmVyID0gcHJlZmVyOworICAgIHJldC0+ZGVhbGxvYyA9IDA7CisgICAgcmV0LT5kZXB0aCA9IDA7CisgICAgcmV0LT5ncm91cCA9IGdyb3VwOworICAgIHJldHVybihyZXQpOworfQorCitzdGF0aWMgdm9pZAoreG1sRnJlZUNhdGFsb2dFbnRyeUxpc3QoeG1sQ2F0YWxvZ0VudHJ5UHRyIHJldCk7CisKKy8qKgorICogeG1sRnJlZUNhdGFsb2dFbnRyeToKKyAqIEByZXQ6ICBhIENhdGFsb2cgZW50cnkKKyAqCisgKiBGcmVlIHRoZSBtZW1vcnkgYWxsb2NhdGVkIHRvIGEgQ2F0YWxvZyBlbnRyeQorICovCitzdGF0aWMgdm9pZAoreG1sRnJlZUNhdGFsb2dFbnRyeSh4bWxDYXRhbG9nRW50cnlQdHIgcmV0KSB7CisgICAgaWYgKHJldCA9PSBOVUxMKQorCXJldHVybjsKKyAgICAvKgorICAgICAqIEVudHJpZXMgc3RvcmVkIGluIHRoZSBmaWxlIGhhc2ggbXVzdCBiZSBkZWFsbG9jYXRlZAorICAgICAqIG9ubHkgYnkgdGhlIGZpbGUgaGFzaCBjbGVhbmVyICEKKyAgICAgKi8KKyAgICBpZiAocmV0LT5kZWFsbG9jID09IDEpCisJcmV0dXJuOworCisgICAgaWYgKHhtbERlYnVnQ2F0YWxvZ3MpIHsKKwlpZiAocmV0LT5uYW1lICE9IE5VTEwpCisJICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkgICAgIkZyZWUgY2F0YWxvZyBlbnRyeSAlc1xuIiwgcmV0LT5uYW1lKTsKKwllbHNlIGlmIChyZXQtPnZhbHVlICE9IE5VTEwpCisJICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkgICAgIkZyZWUgY2F0YWxvZyBlbnRyeSAlc1xuIiwgcmV0LT52YWx1ZSk7CisJZWxzZQorCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJICAgICJGcmVlIGNhdGFsb2cgZW50cnlcbiIpOworICAgIH0KKworICAgIGlmIChyZXQtPm5hbWUgIT0gTlVMTCkKKwl4bWxGcmVlKHJldC0+bmFtZSk7CisgICAgaWYgKHJldC0+dmFsdWUgIT0gTlVMTCkKKwl4bWxGcmVlKHJldC0+dmFsdWUpOworICAgIGlmIChyZXQtPlVSTCAhPSBOVUxMKQorCXhtbEZyZWUocmV0LT5VUkwpOworICAgIHhtbEZyZWUocmV0KTsKK30KKworLyoqCisgKiB4bWxGcmVlQ2F0YWxvZ0VudHJ5TGlzdDoKKyAqIEByZXQ6ICBhIENhdGFsb2cgZW50cnkgbGlzdAorICoKKyAqIEZyZWUgdGhlIG1lbW9yeSBhbGxvY2F0ZWQgdG8gYSBmdWxsIGNoYWluZWQgbGlzdCBvZiBDYXRhbG9nIGVudHJpZXMKKyAqLworc3RhdGljIHZvaWQKK3htbEZyZWVDYXRhbG9nRW50cnlMaXN0KHhtbENhdGFsb2dFbnRyeVB0ciByZXQpIHsKKyAgICB4bWxDYXRhbG9nRW50cnlQdHIgbmV4dDsKKworICAgIHdoaWxlIChyZXQgIT0gTlVMTCkgeworCW5leHQgPSByZXQtPm5leHQ7CisJeG1sRnJlZUNhdGFsb2dFbnRyeShyZXQpOworCXJldCA9IG5leHQ7CisgICAgfQorfQorCisvKioKKyAqIHhtbEZyZWVDYXRhbG9nSGFzaEVudHJ5TGlzdDoKKyAqIEByZXQ6ICBhIENhdGFsb2cgZW50cnkgbGlzdAorICoKKyAqIEZyZWUgdGhlIG1lbW9yeSBhbGxvY2F0ZWQgdG8gbGlzdCBvZiBDYXRhbG9nIGVudHJpZXMgZnJvbSB0aGUKKyAqIGNhdGFsb2cgZmlsZSBoYXNoLgorICovCitzdGF0aWMgdm9pZAoreG1sRnJlZUNhdGFsb2dIYXNoRW50cnlMaXN0KHhtbENhdGFsb2dFbnRyeVB0ciBjYXRhbCkgeworICAgIHhtbENhdGFsb2dFbnRyeVB0ciBjaGlsZHJlbiwgbmV4dDsKKworICAgIGlmIChjYXRhbCA9PSBOVUxMKQorCXJldHVybjsKKworICAgIGNoaWxkcmVuID0gY2F0YWwtPmNoaWxkcmVuOworICAgIHdoaWxlIChjaGlsZHJlbiAhPSBOVUxMKSB7CisJbmV4dCA9IGNoaWxkcmVuLT5uZXh0OworCWNoaWxkcmVuLT5kZWFsbG9jID0gMDsKKwljaGlsZHJlbi0+Y2hpbGRyZW4gPSBOVUxMOworCXhtbEZyZWVDYXRhbG9nRW50cnkoY2hpbGRyZW4pOworCWNoaWxkcmVuID0gbmV4dDsKKyAgICB9CisgICAgY2F0YWwtPmRlYWxsb2MgPSAwOworICAgIHhtbEZyZWVDYXRhbG9nRW50cnkoY2F0YWwpOworfQorCisvKioKKyAqIHhtbENyZWF0ZU5ld0NhdGFsb2c6CisgKiBAdHlwZTogIHR5cGUgb2YgY2F0YWxvZworICogQHByZWZlcjogIHRoZSBQVUJMSUMgdnMuIFNZU1RFTSBjdXJyZW50IHByZWZlcmVuY2UgdmFsdWUKKyAqCisgKiBjcmVhdGUgYSBuZXcgQ2F0YWxvZywgdGhpcyB0eXBlIGlzIHNoYXJlZCBib3RoIGJ5IFhNTCBhbmQKKyAqIFNHTUwgY2F0YWxvZ3MsIGJ1dCB0aGUgYWNjZXB0YWJsZSB0eXBlcyB2YWx1ZXMgZGlmZmVycy4KKyAqCisgKiBSZXR1cm5zIHRoZSB4bWxDYXRhbG9nUHRyIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcgorICovCitzdGF0aWMgeG1sQ2F0YWxvZ1B0cgoreG1sQ3JlYXRlTmV3Q2F0YWxvZyh4bWxDYXRhbG9nVHlwZSB0eXBlLCB4bWxDYXRhbG9nUHJlZmVyIHByZWZlcikgeworICAgIHhtbENhdGFsb2dQdHIgcmV0OworCisgICAgcmV0ID0gKHhtbENhdGFsb2dQdHIpIHhtbE1hbGxvYyhzaXplb2YoeG1sQ2F0YWxvZykpOworICAgIGlmIChyZXQgPT0gTlVMTCkgeworICAgICAgICB4bWxDYXRhbG9nRXJyTWVtb3J5KCJhbGxvY2F0aW5nIGNhdGFsb2ciKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIG1lbXNldChyZXQsIDAsIHNpemVvZih4bWxDYXRhbG9nKSk7CisgICAgcmV0LT50eXBlID0gdHlwZTsKKyAgICByZXQtPmNhdGFsTnIgPSAwOworICAgIHJldC0+Y2F0YWxNYXggPSBYTUxfTUFYX1NHTUxfQ0FUQV9ERVBUSDsKKyAgICByZXQtPnByZWZlciA9IHByZWZlcjsKKyAgICBpZiAocmV0LT50eXBlID09IFhNTF9TR01MX0NBVEFMT0dfVFlQRSkKKwlyZXQtPnNnbWwgPSB4bWxIYXNoQ3JlYXRlKDEwKTsKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxGcmVlQ2F0YWxvZzoKKyAqIEBjYXRhbDogIGEgQ2F0YWxvZworICoKKyAqIEZyZWUgdGhlIG1lbW9yeSBhbGxvY2F0ZWQgdG8gYSBDYXRhbG9nCisgKi8KK3ZvaWQKK3htbEZyZWVDYXRhbG9nKHhtbENhdGFsb2dQdHIgY2F0YWwpIHsKKyAgICBpZiAoY2F0YWwgPT0gTlVMTCkKKwlyZXR1cm47CisgICAgaWYgKGNhdGFsLT54bWwgIT0gTlVMTCkKKwl4bWxGcmVlQ2F0YWxvZ0VudHJ5TGlzdChjYXRhbC0+eG1sKTsKKyAgICBpZiAoY2F0YWwtPnNnbWwgIT0gTlVMTCkKKwl4bWxIYXNoRnJlZShjYXRhbC0+c2dtbCwKKwkJKHhtbEhhc2hEZWFsbG9jYXRvcikgeG1sRnJlZUNhdGFsb2dFbnRyeSk7CisgICAgeG1sRnJlZShjYXRhbCk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCQlTZXJpYWxpemluZyBDYXRhbG9ncwkJCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZmRlZiBMSUJYTUxfT1VUUFVUX0VOQUJMRUQKKy8qKgorICogeG1sQ2F0YWxvZ0R1bXBFbnRyeToKKyAqIEBlbnRyeTogIHRoZSBjYXRhbG9nIGVudHJ5CisgKiBAb3V0OiAgdGhlIGZpbGUuCisgKgorICogU2VyaWFsaXplIGFuIFNHTUwgQ2F0YWxvZyBlbnRyeQorICovCitzdGF0aWMgdm9pZAoreG1sQ2F0YWxvZ0R1bXBFbnRyeSh4bWxDYXRhbG9nRW50cnlQdHIgZW50cnksIEZJTEUgKm91dCkgeworICAgIGlmICgoZW50cnkgPT0gTlVMTCkgfHwgKG91dCA9PSBOVUxMKSkKKwlyZXR1cm47CisgICAgc3dpdGNoIChlbnRyeS0+dHlwZSkgeworCWNhc2UgU0dNTF9DQVRBX0VOVElUWToKKwkgICAgZnByaW50ZihvdXQsICJFTlRJVFkgIik7IGJyZWFrOworCWNhc2UgU0dNTF9DQVRBX1BFTlRJVFk6CisJICAgIGZwcmludGYob3V0LCAiRU5USVRZICUlIik7IGJyZWFrOworCWNhc2UgU0dNTF9DQVRBX0RPQ1RZUEU6CisJICAgIGZwcmludGYob3V0LCAiRE9DVFlQRSAiKTsgYnJlYWs7CisJY2FzZSBTR01MX0NBVEFfTElOS1RZUEU6CisJICAgIGZwcmludGYob3V0LCAiTElOS1RZUEUgIik7IGJyZWFrOworCWNhc2UgU0dNTF9DQVRBX05PVEFUSU9OOgorCSAgICBmcHJpbnRmKG91dCwgIk5PVEFUSU9OICIpOyBicmVhazsKKwljYXNlIFNHTUxfQ0FUQV9QVUJMSUM6CisJICAgIGZwcmludGYob3V0LCAiUFVCTElDICIpOyBicmVhazsKKwljYXNlIFNHTUxfQ0FUQV9TWVNURU06CisJICAgIGZwcmludGYob3V0LCAiU1lTVEVNICIpOyBicmVhazsKKwljYXNlIFNHTUxfQ0FUQV9ERUxFR0FURToKKwkgICAgZnByaW50ZihvdXQsICJERUxFR0FURSAiKTsgYnJlYWs7CisJY2FzZSBTR01MX0NBVEFfQkFTRToKKwkgICAgZnByaW50ZihvdXQsICJCQVNFICIpOyBicmVhazsKKwljYXNlIFNHTUxfQ0FUQV9DQVRBTE9HOgorCSAgICBmcHJpbnRmKG91dCwgIkNBVEFMT0cgIik7IGJyZWFrOworCWNhc2UgU0dNTF9DQVRBX0RPQ1VNRU5UOgorCSAgICBmcHJpbnRmKG91dCwgIkRPQ1VNRU5UICIpOyBicmVhazsKKwljYXNlIFNHTUxfQ0FUQV9TR01MREVDTDoKKwkgICAgZnByaW50ZihvdXQsICJTR01MREVDTCAiKTsgYnJlYWs7CisJZGVmYXVsdDoKKwkgICAgcmV0dXJuOworICAgIH0KKyAgICBzd2l0Y2ggKGVudHJ5LT50eXBlKSB7CisJY2FzZSBTR01MX0NBVEFfRU5USVRZOgorCWNhc2UgU0dNTF9DQVRBX1BFTlRJVFk6CisJY2FzZSBTR01MX0NBVEFfRE9DVFlQRToKKwljYXNlIFNHTUxfQ0FUQV9MSU5LVFlQRToKKwljYXNlIFNHTUxfQ0FUQV9OT1RBVElPTjoKKwkgICAgZnByaW50ZihvdXQsICIlcyIsIChjb25zdCBjaGFyICopIGVudHJ5LT5uYW1lKTsgYnJlYWs7CisJY2FzZSBTR01MX0NBVEFfUFVCTElDOgorCWNhc2UgU0dNTF9DQVRBX1NZU1RFTToKKwljYXNlIFNHTUxfQ0FUQV9TR01MREVDTDoKKwljYXNlIFNHTUxfQ0FUQV9ET0NVTUVOVDoKKwljYXNlIFNHTUxfQ0FUQV9DQVRBTE9HOgorCWNhc2UgU0dNTF9DQVRBX0JBU0U6CisJY2FzZSBTR01MX0NBVEFfREVMRUdBVEU6CisJICAgIGZwcmludGYob3V0LCAiXCIlc1wiIiwgZW50cnktPm5hbWUpOyBicmVhazsKKwlkZWZhdWx0OgorCSAgICBicmVhazsKKyAgICB9CisgICAgc3dpdGNoIChlbnRyeS0+dHlwZSkgeworCWNhc2UgU0dNTF9DQVRBX0VOVElUWToKKwljYXNlIFNHTUxfQ0FUQV9QRU5USVRZOgorCWNhc2UgU0dNTF9DQVRBX0RPQ1RZUEU6CisJY2FzZSBTR01MX0NBVEFfTElOS1RZUEU6CisJY2FzZSBTR01MX0NBVEFfTk9UQVRJT046CisJY2FzZSBTR01MX0NBVEFfUFVCTElDOgorCWNhc2UgU0dNTF9DQVRBX1NZU1RFTToKKwljYXNlIFNHTUxfQ0FUQV9ERUxFR0FURToKKwkgICAgZnByaW50ZihvdXQsICIgXCIlc1wiIiwgZW50cnktPnZhbHVlKTsgYnJlYWs7CisJZGVmYXVsdDoKKwkgICAgYnJlYWs7CisgICAgfQorICAgIGZwcmludGYob3V0LCAiXG4iKTsKK30KKworLyoqCisgKiB4bWxEdW1wWE1MQ2F0YWxvZ05vZGU6CisgKiBAY2F0YWw6ICB0b3AgY2F0YWxvZyBlbnRyeQorICogQGNhdGFsb2c6IHBvaW50ZXIgdG8gdGhlIHhtbCB0cmVlCisgKiBAZG9jOiB0aGUgY29udGFpbmluZyBkb2N1bWVudAorICogQG5zOiB0aGUgY3VycmVudCBuYW1lc3BhY2UKKyAqIEBjZ3JvdXA6IGdyb3VwIG5vZGUgZm9yIGdyb3VwIG1lbWJlcnMKKyAqCisgKiBTZXJpYWxpemVzIGEgQ2F0YWxvZyBlbnRyeSwgY2FsbGVkIGJ5IHhtbER1bXBYTUxDYXRhbG9nIGFuZCByZWN1cnNpdmVseQorICogZm9yIGdyb3VwIGVudHJpZXMKKyAqLworc3RhdGljIHZvaWQgeG1sRHVtcFhNTENhdGFsb2dOb2RlKHhtbENhdGFsb2dFbnRyeVB0ciBjYXRhbCwgeG1sTm9kZVB0ciBjYXRhbG9nLAorCQkgICAgeG1sRG9jUHRyIGRvYywgeG1sTnNQdHIgbnMsIHhtbENhdGFsb2dFbnRyeVB0ciBjZ3JvdXApIHsKKyAgICB4bWxOb2RlUHRyIG5vZGU7CisgICAgeG1sQ2F0YWxvZ0VudHJ5UHRyIGN1cjsKKyAgICAvKgorICAgICAqIGFkZCBhbGwgdGhlIGNhdGFsb2cgZW50cmllcworICAgICAqLworICAgIGN1ciA9IGNhdGFsOworICAgIHdoaWxlIChjdXIgIT0gTlVMTCkgeworICAgICAgICBpZiAoY3VyLT5ncm91cCA9PSBjZ3JvdXApIHsKKwkgICAgc3dpdGNoIChjdXItPnR5cGUpIHsKKwkgICAgICAgIGNhc2UgWE1MX0NBVEFfUkVNT1ZFRDoKKwkJICAgIGJyZWFrOworCSAgICAgICAgY2FzZSBYTUxfQ0FUQV9CUk9LRU5fQ0FUQUxPRzoKKwkgICAgICAgIGNhc2UgWE1MX0NBVEFfQ0FUQUxPRzoKKwkJICAgIGlmIChjdXIgPT0gY2F0YWwpIHsKKwkJCWN1ciA9IGN1ci0+Y2hpbGRyZW47CisJCSAgICAgICAgY29udGludWU7CisJCSAgICB9CisJCSAgICBicmVhazsKKwkJY2FzZSBYTUxfQ0FUQV9ORVhUX0NBVEFMT0c6CisJCSAgICBub2RlID0geG1sTmV3RG9jTm9kZShkb2MsIG5zLCBCQURfQ0FTVCAibmV4dENhdGFsb2ciLCBOVUxMKTsKKwkJICAgIHhtbFNldFByb3Aobm9kZSwgQkFEX0NBU1QgImNhdGFsb2ciLCBjdXItPnZhbHVlKTsKKwkJICAgIHhtbEFkZENoaWxkKGNhdGFsb2csIG5vZGUpOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKwkJY2FzZSBYTUxfQ0FUQV9OT05FOgorCQkgICAgYnJlYWs7CisJCWNhc2UgWE1MX0NBVEFfR1JPVVA6CisJCSAgICBub2RlID0geG1sTmV3RG9jTm9kZShkb2MsIG5zLCBCQURfQ0FTVCAiZ3JvdXAiLCBOVUxMKTsKKwkJICAgIHhtbFNldFByb3Aobm9kZSwgQkFEX0NBU1QgImlkIiwgY3VyLT5uYW1lKTsKKwkJICAgIGlmIChjdXItPnZhbHVlICE9IE5VTEwpIHsKKwkJICAgICAgICB4bWxOc1B0ciB4bnM7CisJCQl4bnMgPSB4bWxTZWFyY2hOc0J5SHJlZihkb2MsIG5vZGUsIFhNTF9YTUxfTkFNRVNQQUNFKTsKKwkJCWlmICh4bnMgIT0gTlVMTCkKKwkJCSAgICB4bWxTZXROc1Byb3Aobm9kZSwgeG5zLCBCQURfQ0FTVCAiYmFzZSIsCisJCQkJCSBjdXItPnZhbHVlKTsKKwkJICAgIH0KKwkJICAgIHN3aXRjaCAoY3VyLT5wcmVmZXIpIHsKKwkJCWNhc2UgWE1MX0NBVEFfUFJFRkVSX05PTkU6CisJCSAgICAgICAgICAgIGJyZWFrOworCQkJY2FzZSBYTUxfQ0FUQV9QUkVGRVJfUFVCTElDOgorCQkgICAgICAgICAgICB4bWxTZXRQcm9wKG5vZGUsIEJBRF9DQVNUICJwcmVmZXIiLCBCQURfQ0FTVCAicHVibGljIik7CisJCQkgICAgYnJlYWs7CisJCQljYXNlIFhNTF9DQVRBX1BSRUZFUl9TWVNURU06CisJCSAgICAgICAgICAgIHhtbFNldFByb3Aobm9kZSwgQkFEX0NBU1QgInByZWZlciIsIEJBRF9DQVNUICJzeXN0ZW0iKTsKKwkJCSAgICBicmVhazsKKwkJICAgIH0KKwkJICAgIHhtbER1bXBYTUxDYXRhbG9nTm9kZShjdXItPm5leHQsIG5vZGUsIGRvYywgbnMsIGN1cik7CisJCSAgICB4bWxBZGRDaGlsZChjYXRhbG9nLCBub2RlKTsKKwkgICAgICAgICAgICBicmVhazsKKwkJY2FzZSBYTUxfQ0FUQV9QVUJMSUM6CisJCSAgICBub2RlID0geG1sTmV3RG9jTm9kZShkb2MsIG5zLCBCQURfQ0FTVCAicHVibGljIiwgTlVMTCk7CisJCSAgICB4bWxTZXRQcm9wKG5vZGUsIEJBRF9DQVNUICJwdWJsaWNJZCIsIGN1ci0+bmFtZSk7CisJCSAgICB4bWxTZXRQcm9wKG5vZGUsIEJBRF9DQVNUICJ1cmkiLCBjdXItPnZhbHVlKTsKKwkJICAgIHhtbEFkZENoaWxkKGNhdGFsb2csIG5vZGUpOworCQkgICAgYnJlYWs7CisJCWNhc2UgWE1MX0NBVEFfU1lTVEVNOgorCQkgICAgbm9kZSA9IHhtbE5ld0RvY05vZGUoZG9jLCBucywgQkFEX0NBU1QgInN5c3RlbSIsIE5VTEwpOworCQkgICAgeG1sU2V0UHJvcChub2RlLCBCQURfQ0FTVCAic3lzdGVtSWQiLCBjdXItPm5hbWUpOworCQkgICAgeG1sU2V0UHJvcChub2RlLCBCQURfQ0FTVCAidXJpIiwgY3VyLT52YWx1ZSk7CisJCSAgICB4bWxBZGRDaGlsZChjYXRhbG9nLCBub2RlKTsKKwkJICAgIGJyZWFrOworCQljYXNlIFhNTF9DQVRBX1JFV1JJVEVfU1lTVEVNOgorCQkgICAgbm9kZSA9IHhtbE5ld0RvY05vZGUoZG9jLCBucywgQkFEX0NBU1QgInJld3JpdGVTeXN0ZW0iLCBOVUxMKTsKKwkJICAgIHhtbFNldFByb3Aobm9kZSwgQkFEX0NBU1QgInN5c3RlbUlkU3RhcnRTdHJpbmciLCBjdXItPm5hbWUpOworCQkgICAgeG1sU2V0UHJvcChub2RlLCBCQURfQ0FTVCAicmV3cml0ZVByZWZpeCIsIGN1ci0+dmFsdWUpOworCQkgICAgeG1sQWRkQ2hpbGQoY2F0YWxvZywgbm9kZSk7CisJCSAgICBicmVhazsKKwkJY2FzZSBYTUxfQ0FUQV9ERUxFR0FURV9QVUJMSUM6CisJCSAgICBub2RlID0geG1sTmV3RG9jTm9kZShkb2MsIG5zLCBCQURfQ0FTVCAiZGVsZWdhdGVQdWJsaWMiLCBOVUxMKTsKKwkJICAgIHhtbFNldFByb3Aobm9kZSwgQkFEX0NBU1QgInB1YmxpY0lkU3RhcnRTdHJpbmciLCBjdXItPm5hbWUpOworCQkgICAgeG1sU2V0UHJvcChub2RlLCBCQURfQ0FTVCAiY2F0YWxvZyIsIGN1ci0+dmFsdWUpOworCQkgICAgeG1sQWRkQ2hpbGQoY2F0YWxvZywgbm9kZSk7CisJCSAgICBicmVhazsKKwkJY2FzZSBYTUxfQ0FUQV9ERUxFR0FURV9TWVNURU06CisJCSAgICBub2RlID0geG1sTmV3RG9jTm9kZShkb2MsIG5zLCBCQURfQ0FTVCAiZGVsZWdhdGVTeXN0ZW0iLCBOVUxMKTsKKwkJICAgIHhtbFNldFByb3Aobm9kZSwgQkFEX0NBU1QgInN5c3RlbUlkU3RhcnRTdHJpbmciLCBjdXItPm5hbWUpOworCQkgICAgeG1sU2V0UHJvcChub2RlLCBCQURfQ0FTVCAiY2F0YWxvZyIsIGN1ci0+dmFsdWUpOworCQkgICAgeG1sQWRkQ2hpbGQoY2F0YWxvZywgbm9kZSk7CisJCSAgICBicmVhazsKKwkJY2FzZSBYTUxfQ0FUQV9VUkk6CisJCSAgICBub2RlID0geG1sTmV3RG9jTm9kZShkb2MsIG5zLCBCQURfQ0FTVCAidXJpIiwgTlVMTCk7CisJCSAgICB4bWxTZXRQcm9wKG5vZGUsIEJBRF9DQVNUICJuYW1lIiwgY3VyLT5uYW1lKTsKKwkJICAgIHhtbFNldFByb3Aobm9kZSwgQkFEX0NBU1QgInVyaSIsIGN1ci0+dmFsdWUpOworCQkgICAgeG1sQWRkQ2hpbGQoY2F0YWxvZywgbm9kZSk7CisJCSAgICBicmVhazsKKwkJY2FzZSBYTUxfQ0FUQV9SRVdSSVRFX1VSSToKKwkJICAgIG5vZGUgPSB4bWxOZXdEb2NOb2RlKGRvYywgbnMsIEJBRF9DQVNUICJyZXdyaXRlVVJJIiwgTlVMTCk7CisJCSAgICB4bWxTZXRQcm9wKG5vZGUsIEJBRF9DQVNUICJ1cmlTdGFydFN0cmluZyIsIGN1ci0+bmFtZSk7CisJCSAgICB4bWxTZXRQcm9wKG5vZGUsIEJBRF9DQVNUICJyZXdyaXRlUHJlZml4IiwgY3VyLT52YWx1ZSk7CisJCSAgICB4bWxBZGRDaGlsZChjYXRhbG9nLCBub2RlKTsKKwkJICAgIGJyZWFrOworCQljYXNlIFhNTF9DQVRBX0RFTEVHQVRFX1VSSToKKwkJICAgIG5vZGUgPSB4bWxOZXdEb2NOb2RlKGRvYywgbnMsIEJBRF9DQVNUICJkZWxlZ2F0ZVVSSSIsIE5VTEwpOworCQkgICAgeG1sU2V0UHJvcChub2RlLCBCQURfQ0FTVCAidXJpU3RhcnRTdHJpbmciLCBjdXItPm5hbWUpOworCQkgICAgeG1sU2V0UHJvcChub2RlLCBCQURfQ0FTVCAiY2F0YWxvZyIsIGN1ci0+dmFsdWUpOworCQkgICAgeG1sQWRkQ2hpbGQoY2F0YWxvZywgbm9kZSk7CisJCSAgICBicmVhazsKKwkJY2FzZSBTR01MX0NBVEFfU1lTVEVNOgorCQljYXNlIFNHTUxfQ0FUQV9QVUJMSUM6CisJCWNhc2UgU0dNTF9DQVRBX0VOVElUWToKKwkJY2FzZSBTR01MX0NBVEFfUEVOVElUWToKKwkJY2FzZSBTR01MX0NBVEFfRE9DVFlQRToKKwkJY2FzZSBTR01MX0NBVEFfTElOS1RZUEU6CisJCWNhc2UgU0dNTF9DQVRBX05PVEFUSU9OOgorCQljYXNlIFNHTUxfQ0FUQV9ERUxFR0FURToKKwkJY2FzZSBTR01MX0NBVEFfQkFTRToKKwkJY2FzZSBTR01MX0NBVEFfQ0FUQUxPRzoKKwkJY2FzZSBTR01MX0NBVEFfRE9DVU1FTlQ6CisJCWNhc2UgU0dNTF9DQVRBX1NHTUxERUNMOgorCQkgICAgYnJlYWs7CisJICAgIH0KKyAgICAgICAgfQorCWN1ciA9IGN1ci0+bmV4dDsKKyAgICB9Cit9CisKK3N0YXRpYyBpbnQKK3htbER1bXBYTUxDYXRhbG9nKEZJTEUgKm91dCwgeG1sQ2F0YWxvZ0VudHJ5UHRyIGNhdGFsKSB7CisgICAgaW50IHJldDsKKyAgICB4bWxEb2NQdHIgZG9jOworICAgIHhtbE5zUHRyIG5zOworICAgIHhtbER0ZFB0ciBkdGQ7CisgICAgeG1sTm9kZVB0ciBjYXRhbG9nOworICAgIHhtbE91dHB1dEJ1ZmZlclB0ciBidWY7CisKKyAgICAvKgorICAgICAqIFJlYnVpbGQgYSBjYXRhbG9nCisgICAgICovCisgICAgZG9jID0geG1sTmV3RG9jKE5VTEwpOworICAgIGlmIChkb2MgPT0gTlVMTCkKKwlyZXR1cm4oLTEpOworICAgIGR0ZCA9IHhtbE5ld0R0ZChkb2MsIEJBRF9DQVNUICJjYXRhbG9nIiwKKwkgICAgICAgQkFEX0NBU1QgIi0vL09BU0lTLy9EVEQgRW50aXR5IFJlc29sdXRpb24gWE1MIENhdGFsb2cgVjEuMC8vRU4iLAorQkFEX0NBU1QgImh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvY29tbWl0dGVlcy9lbnRpdHkvcmVsZWFzZS8xLjAvY2F0YWxvZy5kdGQiKTsKKworICAgIHhtbEFkZENoaWxkKCh4bWxOb2RlUHRyKSBkb2MsICh4bWxOb2RlUHRyKSBkdGQpOworCisgICAgbnMgPSB4bWxOZXdOcyhOVUxMLCBYTUxfQ0FUQUxPR1NfTkFNRVNQQUNFLCBOVUxMKTsKKyAgICBpZiAobnMgPT0gTlVMTCkgeworCXhtbEZyZWVEb2MoZG9jKTsKKwlyZXR1cm4oLTEpOworICAgIH0KKyAgICBjYXRhbG9nID0geG1sTmV3RG9jTm9kZShkb2MsIG5zLCBCQURfQ0FTVCAiY2F0YWxvZyIsIE5VTEwpOworICAgIGlmIChjYXRhbG9nID09IE5VTEwpIHsKKwl4bWxGcmVlTnMobnMpOworCXhtbEZyZWVEb2MoZG9jKTsKKwlyZXR1cm4oLTEpOworICAgIH0KKyAgICBjYXRhbG9nLT5uc0RlZiA9IG5zOworICAgIHhtbEFkZENoaWxkKCh4bWxOb2RlUHRyKSBkb2MsIGNhdGFsb2cpOworCisgICAgeG1sRHVtcFhNTENhdGFsb2dOb2RlKGNhdGFsLCBjYXRhbG9nLCBkb2MsIG5zLCBOVUxMKTsKKworICAgIC8qCisgICAgICogcmVzZXJpYWxpemUgaXQKKyAgICAgKi8KKyAgICBidWYgPSB4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlKG91dCwgTlVMTCk7CisgICAgaWYgKGJ1ZiA9PSBOVUxMKSB7CisJeG1sRnJlZURvYyhkb2MpOworCXJldHVybigtMSk7CisgICAgfQorICAgIHJldCA9IHhtbFNhdmVGb3JtYXRGaWxlVG8oYnVmLCBkb2MsIE5VTEwsIDEpOworCisgICAgLyoKKyAgICAgKiBGcmVlIGl0CisgICAgICovCisgICAgeG1sRnJlZURvYyhkb2MpOworCisgICAgcmV0dXJuKHJldCk7Cit9CisjZW5kaWYgLyogTElCWE1MX09VVFBVVF9FTkFCTEVEICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCQlDb252ZXJ0aW5nIFNHTUwgQ2F0YWxvZ3MgdG8gWE1MCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioKKyAqIHhtbENhdGFsb2dDb252ZXJ0RW50cnk6CisgKiBAZW50cnk6ICB0aGUgZW50cnkKKyAqIEBjYXRhbDogIHBvaW50ZXIgdG8gdGhlIGNhdGFsb2cgYmVpbmcgY29udmVydGVkCisgKgorICogQ29udmVydCBvbmUgZW50cnkgZnJvbSB0aGUgY2F0YWxvZworICovCitzdGF0aWMgdm9pZAoreG1sQ2F0YWxvZ0NvbnZlcnRFbnRyeSh4bWxDYXRhbG9nRW50cnlQdHIgZW50cnksIHhtbENhdGFsb2dQdHIgY2F0YWwpIHsKKyAgICBpZiAoKGVudHJ5ID09IE5VTEwpIHx8IChjYXRhbCA9PSBOVUxMKSB8fCAoY2F0YWwtPnNnbWwgPT0gTlVMTCkgfHwKKwkoY2F0YWwtPnhtbCA9PSBOVUxMKSkKKwlyZXR1cm47CisgICAgc3dpdGNoIChlbnRyeS0+dHlwZSkgeworCWNhc2UgU0dNTF9DQVRBX0VOVElUWToKKwkgICAgZW50cnktPnR5cGUgPSBYTUxfQ0FUQV9QVUJMSUM7CisJICAgIGJyZWFrOworCWNhc2UgU0dNTF9DQVRBX1BFTlRJVFk6CisJICAgIGVudHJ5LT50eXBlID0gWE1MX0NBVEFfUFVCTElDOworCSAgICBicmVhazsKKwljYXNlIFNHTUxfQ0FUQV9ET0NUWVBFOgorCSAgICBlbnRyeS0+dHlwZSA9IFhNTF9DQVRBX1BVQkxJQzsKKwkgICAgYnJlYWs7CisJY2FzZSBTR01MX0NBVEFfTElOS1RZUEU6CisJICAgIGVudHJ5LT50eXBlID0gWE1MX0NBVEFfUFVCTElDOworCSAgICBicmVhazsKKwljYXNlIFNHTUxfQ0FUQV9OT1RBVElPTjoKKwkgICAgZW50cnktPnR5cGUgPSBYTUxfQ0FUQV9QVUJMSUM7CisJICAgIGJyZWFrOworCWNhc2UgU0dNTF9DQVRBX1BVQkxJQzoKKwkgICAgZW50cnktPnR5cGUgPSBYTUxfQ0FUQV9QVUJMSUM7CisJICAgIGJyZWFrOworCWNhc2UgU0dNTF9DQVRBX1NZU1RFTToKKwkgICAgZW50cnktPnR5cGUgPSBYTUxfQ0FUQV9TWVNURU07CisJICAgIGJyZWFrOworCWNhc2UgU0dNTF9DQVRBX0RFTEVHQVRFOgorCSAgICBlbnRyeS0+dHlwZSA9IFhNTF9DQVRBX0RFTEVHQVRFX1BVQkxJQzsKKwkgICAgYnJlYWs7CisJY2FzZSBTR01MX0NBVEFfQ0FUQUxPRzoKKwkgICAgZW50cnktPnR5cGUgPSBYTUxfQ0FUQV9DQVRBTE9HOworCSAgICBicmVhazsKKwlkZWZhdWx0OgorCSAgICB4bWxIYXNoUmVtb3ZlRW50cnkoY2F0YWwtPnNnbWwsIGVudHJ5LT5uYW1lLAorCQkgICAgICAgICAgICAgICAoeG1sSGFzaERlYWxsb2NhdG9yKSB4bWxGcmVlQ2F0YWxvZ0VudHJ5KTsKKwkgICAgcmV0dXJuOworICAgIH0KKyAgICAvKgorICAgICAqIENvbnZlcnNpb24gc3VjY2Vzc2Z1bCwgcmVtb3ZlIGZyb20gdGhlIFNHTUwgY2F0YWxvZworICAgICAqIGFuZCBhZGQgaXQgdG8gdGhlIGRlZmF1bHQgWE1MIG9uZQorICAgICAqLworICAgIHhtbEhhc2hSZW1vdmVFbnRyeShjYXRhbC0+c2dtbCwgZW50cnktPm5hbWUsIE5VTEwpOworICAgIGVudHJ5LT5wYXJlbnQgPSBjYXRhbC0+eG1sOworICAgIGVudHJ5LT5uZXh0ID0gTlVMTDsKKyAgICBpZiAoY2F0YWwtPnhtbC0+Y2hpbGRyZW4gPT0gTlVMTCkKKwljYXRhbC0+eG1sLT5jaGlsZHJlbiA9IGVudHJ5OworICAgIGVsc2UgeworCXhtbENhdGFsb2dFbnRyeVB0ciBwcmV2OworCisJcHJldiA9IGNhdGFsLT54bWwtPmNoaWxkcmVuOworCXdoaWxlIChwcmV2LT5uZXh0ICE9IE5VTEwpCisJICAgIHByZXYgPSBwcmV2LT5uZXh0OworCXByZXYtPm5leHQgPSBlbnRyeTsKKyAgICB9Cit9CisKKy8qKgorICogeG1sQ29udmVydFNHTUxDYXRhbG9nOgorICogQGNhdGFsOiB0aGUgY2F0YWxvZworICoKKyAqIENvbnZlcnQgYWxsIHRoZSBTR01MIGNhdGFsb2cgZW50cmllcyBhcyBYTUwgb25lcworICoKKyAqIFJldHVybnMgdGhlIG51bWJlciBvZiBlbnRyaWVzIGNvbnZlcnRlZCBpZiBzdWNjZXNzZnVsLCAtMSBvdGhlcndpc2UKKyAqLworaW50Cit4bWxDb252ZXJ0U0dNTENhdGFsb2coeG1sQ2F0YWxvZ1B0ciBjYXRhbCkgeworCisgICAgaWYgKChjYXRhbCA9PSBOVUxMKSB8fCAoY2F0YWwtPnR5cGUgIT0gWE1MX1NHTUxfQ0FUQUxPR19UWVBFKSkKKwlyZXR1cm4oLTEpOworCisgICAgaWYgKHhtbERlYnVnQ2F0YWxvZ3MpIHsKKwl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJIkNvbnZlcnRpbmcgU0dNTCBjYXRhbG9nIHRvIFhNTFxuIik7CisgICAgfQorICAgIHhtbEhhc2hTY2FuKGNhdGFsLT5zZ21sLAorCQkoeG1sSGFzaFNjYW5uZXIpIHhtbENhdGFsb2dDb252ZXJ0RW50cnksCisJCSZjYXRhbCk7CisgICAgcmV0dXJuKDApOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQkJSGVscGVyIGZ1bmN0aW9uCQkJCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKgorICogeG1sQ2F0YWxvZ1VuV3JhcFVSTjoKKyAqIEB1cm46ICBhbiAidXJuOnB1YmxpY2lkOiIgdG8gdW53cmFwCisgKgorICogRXhwYW5kIHRoZSBVUk4gaW50byB0aGUgZXF1aXZhbGVudCBQdWJsaWMgSWRlbnRpZmllcgorICoKKyAqIFJldHVybnMgdGhlIG5ldyBpZGVudGlmaWVyIG9yIE5VTEwsIHRoZSBzdHJpbmcgbXVzdCBiZSBkZWFsbG9jYXRlZAorICogICAgICAgICBieSB0aGUgY2FsbGVyLgorICovCitzdGF0aWMgeG1sQ2hhciAqCit4bWxDYXRhbG9nVW5XcmFwVVJOKGNvbnN0IHhtbENoYXIgKnVybikgeworICAgIHhtbENoYXIgcmVzdWx0WzIwMDBdOworICAgIHVuc2lnbmVkIGludCBpID0gMDsKKworICAgIGlmICh4bWxTdHJuY21wKHVybiwgQkFEX0NBU1QgWE1MX1VSTl9QVUJJRCwgc2l6ZW9mKFhNTF9VUk5fUFVCSUQpIC0gMSkpCisJcmV0dXJuKE5VTEwpOworICAgIHVybiArPSBzaXplb2YoWE1MX1VSTl9QVUJJRCkgLSAxOworCisgICAgd2hpbGUgKCp1cm4gIT0gMCkgeworCWlmIChpID4gc2l6ZW9mKHJlc3VsdCkgLSA0KQorCSAgICBicmVhazsKKwlpZiAoKnVybiA9PSAnKycpIHsKKwkgICAgcmVzdWx0W2krK10gPSAnICc7CisJICAgIHVybisrOworCX0gZWxzZSBpZiAoKnVybiA9PSAnOicpIHsKKwkgICAgcmVzdWx0W2krK10gPSAnLyc7CisJICAgIHJlc3VsdFtpKytdID0gJy8nOworCSAgICB1cm4rKzsKKwl9IGVsc2UgaWYgKCp1cm4gPT0gJzsnKSB7CisJICAgIHJlc3VsdFtpKytdID0gJzonOworCSAgICByZXN1bHRbaSsrXSA9ICc6JzsKKwkgICAgdXJuKys7CisJfSBlbHNlIGlmICgqdXJuID09ICclJykgeworCSAgICBpZiAoKHVyblsxXSA9PSAnMicpICYmICh1cm5bMl0gPT0gJ0InKSkKKwkJcmVzdWx0W2krK10gPSAnKyc7CisJICAgIGVsc2UgaWYgKCh1cm5bMV0gPT0gJzMnKSAmJiAodXJuWzJdID09ICdBJykpCisJCXJlc3VsdFtpKytdID0gJzonOworCSAgICBlbHNlIGlmICgodXJuWzFdID09ICcyJykgJiYgKHVyblsyXSA9PSAnRicpKQorCQlyZXN1bHRbaSsrXSA9ICcvJzsKKwkgICAgZWxzZSBpZiAoKHVyblsxXSA9PSAnMycpICYmICh1cm5bMl0gPT0gJ0InKSkKKwkJcmVzdWx0W2krK10gPSAnOyc7CisJICAgIGVsc2UgaWYgKCh1cm5bMV0gPT0gJzInKSAmJiAodXJuWzJdID09ICc3JykpCisJCXJlc3VsdFtpKytdID0gJ1wnJzsKKwkgICAgZWxzZSBpZiAoKHVyblsxXSA9PSAnMycpICYmICh1cm5bMl0gPT0gJ0YnKSkKKwkJcmVzdWx0W2krK10gPSAnPyc7CisJICAgIGVsc2UgaWYgKCh1cm5bMV0gPT0gJzInKSAmJiAodXJuWzJdID09ICczJykpCisJCXJlc3VsdFtpKytdID0gJyMnOworCSAgICBlbHNlIGlmICgodXJuWzFdID09ICcyJykgJiYgKHVyblsyXSA9PSAnNScpKQorCQlyZXN1bHRbaSsrXSA9ICclJzsKKwkgICAgZWxzZSB7CisJCXJlc3VsdFtpKytdID0gKnVybjsKKwkJdXJuKys7CisJCWNvbnRpbnVlOworCSAgICB9CisJICAgIHVybiArPSAzOworCX0gZWxzZSB7CisJICAgIHJlc3VsdFtpKytdID0gKnVybjsKKwkgICAgdXJuKys7CisJfQorICAgIH0KKyAgICByZXN1bHRbaV0gPSAwOworCisgICAgcmV0dXJuKHhtbFN0cmR1cChyZXN1bHQpKTsKK30KKworLyoqCisgKiB4bWxQYXJzZUNhdGFsb2dGaWxlOgorICogQGZpbGVuYW1lOiAgdGhlIGZpbGVuYW1lCisgKgorICogcGFyc2UgYW4gWE1MIGZpbGUgYW5kIGJ1aWxkIGEgdHJlZS4gSXQncyBsaWtlIHhtbFBhcnNlRmlsZSgpCisgKiBleGNlcHQgaXQgYnlwYXNzIGFsbCBjYXRhbG9nIGxvb2t1cHMuCisgKgorICogUmV0dXJucyB0aGUgcmVzdWx0aW5nIGRvY3VtZW50IHRyZWUgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yCisgKi8KKworeG1sRG9jUHRyCit4bWxQYXJzZUNhdGFsb2dGaWxlKGNvbnN0IGNoYXIgKmZpbGVuYW1lKSB7CisgICAgeG1sRG9jUHRyIHJldDsKKyAgICB4bWxQYXJzZXJDdHh0UHRyIGN0eHQ7CisgICAgY2hhciAqZGlyZWN0b3J5ID0gTlVMTDsKKyAgICB4bWxQYXJzZXJJbnB1dFB0ciBpbnB1dFN0cmVhbTsKKyAgICB4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciBidWY7CisKKyAgICBjdHh0ID0geG1sTmV3UGFyc2VyQ3R4dCgpOworICAgIGlmIChjdHh0ID09IE5VTEwpIHsKKyNpZmRlZiBMSUJYTUxfU0FYMV9FTkFCTEVECisJaWYgKHhtbERlZmF1bHRTQVhIYW5kbGVyLmVycm9yICE9IE5VTEwpIHsKKwkgICAgeG1sRGVmYXVsdFNBWEhhbmRsZXIuZXJyb3IoTlVMTCwgIm91dCBvZiBtZW1vcnlcbiIpOworCX0KKyNlbmRpZgorCXJldHVybihOVUxMKTsKKyAgICB9CisKKyAgICBidWYgPSB4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lKGZpbGVuYW1lLCBYTUxfQ0hBUl9FTkNPRElOR19OT05FKTsKKyAgICBpZiAoYnVmID09IE5VTEwpIHsKKwl4bWxGcmVlUGFyc2VyQ3R4dChjdHh0KTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorCisgICAgaW5wdXRTdHJlYW0gPSB4bWxOZXdJbnB1dFN0cmVhbShjdHh0KTsKKyAgICBpZiAoaW5wdXRTdHJlYW0gPT0gTlVMTCkgeworCXhtbEZyZWVQYXJzZXJDdHh0KGN0eHQpOworCXJldHVybihOVUxMKTsKKyAgICB9CisKKyAgICBpbnB1dFN0cmVhbS0+ZmlsZW5hbWUgPSAoY2hhciAqKSB4bWxDYW5vbmljUGF0aCgoY29uc3QgeG1sQ2hhciAqKWZpbGVuYW1lKTsKKyAgICBpbnB1dFN0cmVhbS0+YnVmID0gYnVmOworICAgIHhtbEJ1ZlJlc2V0SW5wdXQoYnVmLT5idWZmZXIsIGlucHV0U3RyZWFtKTsKKworICAgIGlucHV0UHVzaChjdHh0LCBpbnB1dFN0cmVhbSk7CisgICAgaWYgKChjdHh0LT5kaXJlY3RvcnkgPT0gTlVMTCkgJiYgKGRpcmVjdG9yeSA9PSBOVUxMKSkKKyAgICAgICAgZGlyZWN0b3J5ID0geG1sUGFyc2VyR2V0RGlyZWN0b3J5KGZpbGVuYW1lKTsKKyAgICBpZiAoKGN0eHQtPmRpcmVjdG9yeSA9PSBOVUxMKSAmJiAoZGlyZWN0b3J5ICE9IE5VTEwpKQorICAgICAgICBjdHh0LT5kaXJlY3RvcnkgPSBkaXJlY3Rvcnk7CisgICAgY3R4dC0+dmFsaWQgPSAwOworICAgIGN0eHQtPnZhbGlkYXRlID0gMDsKKyAgICBjdHh0LT5sb2Fkc3Vic2V0ID0gMDsKKyAgICBjdHh0LT5wZWRhbnRpYyA9IDA7CisgICAgY3R4dC0+ZGljdE5hbWVzID0gMTsKKworICAgIHhtbFBhcnNlRG9jdW1lbnQoY3R4dCk7CisKKyAgICBpZiAoY3R4dC0+d2VsbEZvcm1lZCkKKwlyZXQgPSBjdHh0LT5teURvYzsKKyAgICBlbHNlIHsKKyAgICAgICAgcmV0ID0gTlVMTDsKKyAgICAgICAgeG1sRnJlZURvYyhjdHh0LT5teURvYyk7CisgICAgICAgIGN0eHQtPm15RG9jID0gTlVMTDsKKyAgICB9CisgICAgeG1sRnJlZVBhcnNlckN0eHQoY3R4dCk7CisKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxMb2FkRmlsZUNvbnRlbnQ6CisgKiBAZmlsZW5hbWU6ICBhIGZpbGUgcGF0aAorICoKKyAqIExvYWQgYSBmaWxlIGNvbnRlbnQgaW50byBtZW1vcnkuCisgKgorICogUmV0dXJucyBhIHBvaW50ZXIgdG8gdGhlIDAgdGVybWluYXRlZCBzdHJpbmcgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3N0YXRpYyB4bWxDaGFyICoKK3htbExvYWRGaWxlQ29udGVudChjb25zdCBjaGFyICpmaWxlbmFtZSkKK3sKKyNpZmRlZiBIQVZFX1NUQVQKKyAgICBpbnQgZmQ7CisjZWxzZQorICAgIEZJTEUgKmZkOworI2VuZGlmCisgICAgaW50IGxlbjsKKyAgICBsb25nIHNpemU7CisKKyNpZmRlZiBIQVZFX1NUQVQKKyAgICBzdHJ1Y3Qgc3RhdCBpbmZvOworI2VuZGlmCisgICAgeG1sQ2hhciAqY29udGVudDsKKworICAgIGlmIChmaWxlbmFtZSA9PSBOVUxMKQorICAgICAgICByZXR1cm4gKE5VTEwpOworCisjaWZkZWYgSEFWRV9TVEFUCisgICAgaWYgKHN0YXQoZmlsZW5hbWUsICZpbmZvKSA8IDApCisgICAgICAgIHJldHVybiAoTlVMTCk7CisjZW5kaWYKKworI2lmZGVmIEhBVkVfU1RBVAorICAgIGlmICgoZmQgPSBvcGVuKGZpbGVuYW1lLCBPX1JET05MWSkpIDwgMCkKKyNlbHNlCisgICAgaWYgKChmZCA9IGZvcGVuKGZpbGVuYW1lLCAicmIiKSkgPT0gTlVMTCkKKyNlbmRpZgorICAgIHsKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICB9CisjaWZkZWYgSEFWRV9TVEFUCisgICAgc2l6ZSA9IGluZm8uc3Rfc2l6ZTsKKyNlbHNlCisgICAgaWYgKGZzZWVrKGZkLCAwLCBTRUVLX0VORCkgfHwgKHNpemUgPSBmdGVsbChmZCkpID09IEVPRiB8fCBmc2VlayhmZCwgMCwgU0VFS19TRVQpKSB7ICAgICAgICAvKiBGaWxlIG9wZXJhdGlvbnMgZGVuaWVkPyBvaywganVzdCBjbG9zZSBhbmQgcmV0dXJuIGZhaWx1cmUgKi8KKyAgICAgICAgZmNsb3NlKGZkKTsKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICB9CisjZW5kaWYKKyAgICBjb250ZW50ID0gKHhtbENoYXIqKXhtbE1hbGxvY0F0b21pYyhzaXplICsgMTApOworICAgIGlmIChjb250ZW50ID09IE5VTEwpIHsKKyAgICAgICAgeG1sQ2F0YWxvZ0Vyck1lbW9yeSgiYWxsb2NhdGluZyBjYXRhbG9nIGRhdGEiKTsKKyNpZmRlZiBIQVZFX1NUQVQKKwljbG9zZShmZCk7CisjZWxzZQorCWZjbG9zZShmZCk7CisjZW5kaWYKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICB9CisjaWZkZWYgSEFWRV9TVEFUCisgICAgbGVuID0gcmVhZChmZCwgY29udGVudCwgc2l6ZSk7CisgICAgY2xvc2UoZmQpOworI2Vsc2UKKyAgICBsZW4gPSBmcmVhZChjb250ZW50LCAxLCBzaXplLCBmZCk7CisgICAgZmNsb3NlKGZkKTsKKyNlbmRpZgorICAgIGlmIChsZW4gPCAwKSB7CisgICAgICAgIHhtbEZyZWUoY29udGVudCk7CisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgfQorICAgIGNvbnRlbnRbbGVuXSA9IDA7CisKKyAgICByZXR1cm4oY29udGVudCk7Cit9CisKKy8qKgorICogeG1sQ2F0YWxvZ05vcm1hbGl6ZVB1YmxpYzoKKyAqIEBwdWJJRDogIHRoZSBwdWJsaWMgSUQgc3RyaW5nCisgKgorICogIE5vcm1hbGl6ZXMgdGhlIFB1YmxpYyBJZGVudGlmaWVyCisgKgorICogSW1wbGVtZW50cyA2LjIuIFB1YmxpYyBJZGVudGlmaWVyIE5vcm1hbGl6YXRpb24KKyAqIGZyb20gaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9jb21taXR0ZWVzL2VudGl0eS9zcGVjLTIwMDEtMDgtMDYuaHRtbAorICoKKyAqIFJldHVybnMgdGhlIG5ldyBzdHJpbmcgb3IgTlVMTCwgdGhlIHN0cmluZyBtdXN0IGJlIGRlYWxsb2NhdGVkCisgKiAgICAgICAgIGJ5IHRoZSBjYWxsZXIuCisgKi8KK3N0YXRpYyB4bWxDaGFyICoKK3htbENhdGFsb2dOb3JtYWxpemVQdWJsaWMoY29uc3QgeG1sQ2hhciAqcHViSUQpCit7CisgICAgaW50IG9rID0gMTsKKyAgICBpbnQgd2hpdGU7CisgICAgY29uc3QgeG1sQ2hhciAqcDsKKyAgICB4bWxDaGFyICpyZXQ7CisgICAgeG1sQ2hhciAqcTsKKworICAgIGlmIChwdWJJRCA9PSBOVUxMKQorICAgICAgICByZXR1cm4oTlVMTCk7CisKKyAgICB3aGl0ZSA9IDE7CisgICAgZm9yIChwID0gcHViSUQ7KnAgIT0gMCAmJiBvaztwKyspIHsKKyAgICAgICAgaWYgKCF4bWxJc0JsYW5rX2NoKCpwKSkKKyAgICAgICAgICAgIHdoaXRlID0gMDsKKyAgICAgICAgZWxzZSBpZiAoKnAgPT0gMHgyMCAmJiAhd2hpdGUpCisgICAgICAgICAgICB3aGl0ZSA9IDE7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIG9rID0gMDsKKyAgICB9CisgICAgaWYgKG9rICYmICF3aGl0ZSkJLyogaXMgbm9ybWFsaXplZCAqLworICAgICAgICByZXR1cm4oTlVMTCk7CisKKyAgICByZXQgPSB4bWxTdHJkdXAocHViSUQpOworICAgIHEgPSByZXQ7CisgICAgd2hpdGUgPSAwOworICAgIGZvciAocCA9IHB1YklEOypwICE9IDA7cCsrKSB7CisgICAgICAgIGlmICh4bWxJc0JsYW5rX2NoKCpwKSkgeworICAgICAgICAgICAgaWYgKHEgIT0gcmV0KQorICAgICAgICAgICAgICAgIHdoaXRlID0gMTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGlmICh3aGl0ZSkgeworICAgICAgICAgICAgICAgICoocSsrKSA9IDB4MjA7CisgICAgICAgICAgICAgICAgd2hpdGUgPSAwOworICAgICAgICAgICAgfQorICAgICAgICAgICAgKihxKyspID0gKnA7CisgICAgICAgIH0KKyAgICB9CisgICAgKnEgPSAwOworICAgIHJldHVybihyZXQpOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQkJVGhlIFhNTCBDYXRhbG9nIHBhcnNlcgkJCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK3N0YXRpYyB4bWxDYXRhbG9nRW50cnlQdHIKK3htbFBhcnNlWE1MQ2F0YWxvZ0ZpbGUoeG1sQ2F0YWxvZ1ByZWZlciBwcmVmZXIsIGNvbnN0IHhtbENoYXIgKmZpbGVuYW1lKTsKK3N0YXRpYyB2b2lkCit4bWxQYXJzZVhNTENhdGFsb2dOb2RlTGlzdCh4bWxOb2RlUHRyIGN1ciwgeG1sQ2F0YWxvZ1ByZWZlciBwcmVmZXIsCisJICAgICAgICAgICAgICAgICAgIHhtbENhdGFsb2dFbnRyeVB0ciBwYXJlbnQsIHhtbENhdGFsb2dFbnRyeVB0ciBjZ3JvdXApOworc3RhdGljIHhtbENoYXIgKgoreG1sQ2F0YWxvZ0xpc3RYTUxSZXNvbHZlKHhtbENhdGFsb2dFbnRyeVB0ciBjYXRhbCwgY29uc3QgeG1sQ2hhciAqcHViSUQsCisJICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICpzeXNJRCk7CitzdGF0aWMgeG1sQ2hhciAqCit4bWxDYXRhbG9nTGlzdFhNTFJlc29sdmVVUkkoeG1sQ2F0YWxvZ0VudHJ5UHRyIGNhdGFsLCBjb25zdCB4bWxDaGFyICpVUkkpOworCisKKy8qKgorICogeG1sR2V0WE1MQ2F0YWxvZ0VudHJ5VHlwZToKKyAqIEBuYW1lOiAgdGhlIG5hbWUKKyAqCisgKiBsb29rdXAgdGhlIGludGVybmFsIHR5cGUgYXNzb2NpYXRlZCB0byBhbiBYTUwgY2F0YWxvZyBlbnRyeSBuYW1lCisgKgorICogUmV0dXJucyB0aGUgdHlwZSBhc3NvY2lhdGVkIHdpdGggdGhhdCBuYW1lCisgKi8KK3N0YXRpYyB4bWxDYXRhbG9nRW50cnlUeXBlCit4bWxHZXRYTUxDYXRhbG9nRW50cnlUeXBlKGNvbnN0IHhtbENoYXIgKm5hbWUpIHsKKyAgICB4bWxDYXRhbG9nRW50cnlUeXBlIHR5cGUgPSBYTUxfQ0FUQV9OT05FOworICAgIGlmICh4bWxTdHJFcXVhbChuYW1lLCAoY29uc3QgeG1sQ2hhciAqKSAic3lzdGVtIikpCisJdHlwZSA9IFhNTF9DQVRBX1NZU1RFTTsKKyAgICBlbHNlIGlmICh4bWxTdHJFcXVhbChuYW1lLCAoY29uc3QgeG1sQ2hhciAqKSAicHVibGljIikpCisJdHlwZSA9IFhNTF9DQVRBX1BVQkxJQzsKKyAgICBlbHNlIGlmICh4bWxTdHJFcXVhbChuYW1lLCAoY29uc3QgeG1sQ2hhciAqKSAicmV3cml0ZVN5c3RlbSIpKQorCXR5cGUgPSBYTUxfQ0FUQV9SRVdSSVRFX1NZU1RFTTsKKyAgICBlbHNlIGlmICh4bWxTdHJFcXVhbChuYW1lLCAoY29uc3QgeG1sQ2hhciAqKSAiZGVsZWdhdGVQdWJsaWMiKSkKKwl0eXBlID0gWE1MX0NBVEFfREVMRUdBVEVfUFVCTElDOworICAgIGVsc2UgaWYgKHhtbFN0ckVxdWFsKG5hbWUsIChjb25zdCB4bWxDaGFyICopICJkZWxlZ2F0ZVN5c3RlbSIpKQorCXR5cGUgPSBYTUxfQ0FUQV9ERUxFR0FURV9TWVNURU07CisgICAgZWxzZSBpZiAoeG1sU3RyRXF1YWwobmFtZSwgKGNvbnN0IHhtbENoYXIgKikgInVyaSIpKQorCXR5cGUgPSBYTUxfQ0FUQV9VUkk7CisgICAgZWxzZSBpZiAoeG1sU3RyRXF1YWwobmFtZSwgKGNvbnN0IHhtbENoYXIgKikgInJld3JpdGVVUkkiKSkKKwl0eXBlID0gWE1MX0NBVEFfUkVXUklURV9VUkk7CisgICAgZWxzZSBpZiAoeG1sU3RyRXF1YWwobmFtZSwgKGNvbnN0IHhtbENoYXIgKikgImRlbGVnYXRlVVJJIikpCisJdHlwZSA9IFhNTF9DQVRBX0RFTEVHQVRFX1VSSTsKKyAgICBlbHNlIGlmICh4bWxTdHJFcXVhbChuYW1lLCAoY29uc3QgeG1sQ2hhciAqKSAibmV4dENhdGFsb2ciKSkKKwl0eXBlID0gWE1MX0NBVEFfTkVYVF9DQVRBTE9HOworICAgIGVsc2UgaWYgKHhtbFN0ckVxdWFsKG5hbWUsIChjb25zdCB4bWxDaGFyICopICJjYXRhbG9nIikpCisJdHlwZSA9IFhNTF9DQVRBX0NBVEFMT0c7CisgICAgcmV0dXJuKHR5cGUpOworfQorCisvKioKKyAqIHhtbFBhcnNlWE1MQ2F0YWxvZ09uZU5vZGU6CisgKiBAY3VyOiAgdGhlIFhNTCBub2RlCisgKiBAdHlwZTogIHRoZSB0eXBlIG9mIENhdGFsb2cgZW50cnkKKyAqIEBuYW1lOiAgdGhlIG5hbWUgb2YgdGhlIG5vZGUKKyAqIEBhdHRyTmFtZTogIHRoZSBhdHRyaWJ1dGUgaG9sZGluZyB0aGUgdmFsdWUKKyAqIEB1cmlBdHRyTmFtZTogIHRoZSBhdHRyaWJ1dGUgaG9sZGluZyB0aGUgVVJJLVJlZmVyZW5jZQorICogQHByZWZlcjogIHRoZSBQVUJMSUMgdnMuIFNZU1RFTSBjdXJyZW50IHByZWZlcmVuY2UgdmFsdWUKKyAqIEBjZ3JvdXA6ICB0aGUgZ3JvdXAgd2hpY2ggaW5jbHVkZXMgdGhpcyBub2RlCisgKgorICogRmluaXNoZXMgdGhlIGV4YW1pbmF0aW9uIG9mIGFuIFhNTCB0cmVlIG5vZGUgb2YgYSBjYXRhbG9nIGFuZCBidWlsZAorICogYSBDYXRhbG9nIGVudHJ5IGZyb20gaXQuCisgKgorICogUmV0dXJucyB0aGUgbmV3IENhdGFsb2cgZW50cnkgbm9kZSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK3N0YXRpYyB4bWxDYXRhbG9nRW50cnlQdHIKK3htbFBhcnNlWE1MQ2F0YWxvZ09uZU5vZGUoeG1sTm9kZVB0ciBjdXIsIHhtbENhdGFsb2dFbnRyeVR5cGUgdHlwZSwKKwkJCSAgY29uc3QgeG1sQ2hhciAqbmFtZSwgY29uc3QgeG1sQ2hhciAqYXR0ck5hbWUsCisJCQkgIGNvbnN0IHhtbENoYXIgKnVyaUF0dHJOYW1lLCB4bWxDYXRhbG9nUHJlZmVyIHByZWZlciwKKwkJCSAgeG1sQ2F0YWxvZ0VudHJ5UHRyIGNncm91cCkgeworICAgIGludCBvayA9IDE7CisgICAgeG1sQ2hhciAqdXJpVmFsdWU7CisgICAgeG1sQ2hhciAqbmFtZVZhbHVlID0gTlVMTDsKKyAgICB4bWxDaGFyICpiYXNlID0gTlVMTDsKKyAgICB4bWxDaGFyICpVUkwgPSBOVUxMOworICAgIHhtbENhdGFsb2dFbnRyeVB0ciByZXQgPSBOVUxMOworCisgICAgaWYgKGF0dHJOYW1lICE9IE5VTEwpIHsKKwluYW1lVmFsdWUgPSB4bWxHZXRQcm9wKGN1ciwgYXR0ck5hbWUpOworCWlmIChuYW1lVmFsdWUgPT0gTlVMTCkgeworCSAgICB4bWxDYXRhbG9nRXJyKHJldCwgY3VyLCBYTUxfQ0FUQUxPR19NSVNTSU5HX0FUVFIsCisJCQkgICIlcyBlbnRyeSBsYWNrcyAnJXMnXG4iLCBuYW1lLCBhdHRyTmFtZSwgTlVMTCk7CisJICAgIG9rID0gMDsKKwl9CisgICAgfQorICAgIHVyaVZhbHVlID0geG1sR2V0UHJvcChjdXIsIHVyaUF0dHJOYW1lKTsKKyAgICBpZiAodXJpVmFsdWUgPT0gTlVMTCkgeworCXhtbENhdGFsb2dFcnIocmV0LCBjdXIsIFhNTF9DQVRBTE9HX01JU1NJTkdfQVRUUiwKKwkJIiVzIGVudHJ5IGxhY2tzICclcydcbiIsIG5hbWUsIHVyaUF0dHJOYW1lLCBOVUxMKTsKKwlvayA9IDA7CisgICAgfQorICAgIGlmICghb2spIHsKKwlpZiAobmFtZVZhbHVlICE9IE5VTEwpCisJICAgIHhtbEZyZWUobmFtZVZhbHVlKTsKKwlpZiAodXJpVmFsdWUgIT0gTlVMTCkKKwkgICAgeG1sRnJlZSh1cmlWYWx1ZSk7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKworICAgIGJhc2UgPSB4bWxOb2RlR2V0QmFzZShjdXItPmRvYywgY3VyKTsKKyAgICBVUkwgPSB4bWxCdWlsZFVSSSh1cmlWYWx1ZSwgYmFzZSk7CisgICAgaWYgKFVSTCAhPSBOVUxMKSB7CisJaWYgKHhtbERlYnVnQ2F0YWxvZ3MgPiAxKSB7CisJICAgIGlmIChuYW1lVmFsdWUgIT0gTlVMTCkKKwkJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCQkiRm91bmQgJXM6ICclcycgJyVzJ1xuIiwgbmFtZSwgbmFtZVZhbHVlLCBVUkwpOworCSAgICBlbHNlCisJCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkJIkZvdW5kICVzOiAnJXMnXG4iLCBuYW1lLCBVUkwpOworCX0KKwlyZXQgPSB4bWxOZXdDYXRhbG9nRW50cnkodHlwZSwgbmFtZVZhbHVlLCB1cmlWYWx1ZSwgVVJMLCBwcmVmZXIsIGNncm91cCk7CisgICAgfSBlbHNlIHsKKwl4bWxDYXRhbG9nRXJyKHJldCwgY3VyLCBYTUxfQ0FUQUxPR19FTlRSWV9CUk9LRU4sCisJCSIlcyBlbnRyeSAnJXMnIGJyb2tlbiA/OiAlc1xuIiwgbmFtZSwgdXJpQXR0ck5hbWUsIHVyaVZhbHVlKTsKKyAgICB9CisgICAgaWYgKG5hbWVWYWx1ZSAhPSBOVUxMKQorCXhtbEZyZWUobmFtZVZhbHVlKTsKKyAgICBpZiAodXJpVmFsdWUgIT0gTlVMTCkKKwl4bWxGcmVlKHVyaVZhbHVlKTsKKyAgICBpZiAoYmFzZSAhPSBOVUxMKQorCXhtbEZyZWUoYmFzZSk7CisgICAgaWYgKFVSTCAhPSBOVUxMKQorCXhtbEZyZWUoVVJMKTsKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxQYXJzZVhNTENhdGFsb2dOb2RlOgorICogQGN1cjogIHRoZSBYTUwgbm9kZQorICogQHByZWZlcjogIHRoZSBQVUJMSUMgdnMuIFNZU1RFTSBjdXJyZW50IHByZWZlcmVuY2UgdmFsdWUKKyAqIEBwYXJlbnQ6ICB0aGUgcGFyZW50IENhdGFsb2cgZW50cnkKKyAqIEBjZ3JvdXA6ICB0aGUgZ3JvdXAgd2hpY2ggaW5jbHVkZXMgdGhpcyBub2RlCisgKgorICogRXhhbWluZXMgYW4gWE1MIHRyZWUgbm9kZSBvZiBhIGNhdGFsb2cgYW5kIGJ1aWxkCisgKiBhIENhdGFsb2cgZW50cnkgZnJvbSBpdCBhZGRpbmcgaXQgdG8gaXRzIHBhcmVudC4gVGhlIGV4YW1pbmF0aW9uIGNhbgorICogYmUgcmVjdXJzaXZlLgorICovCitzdGF0aWMgdm9pZAoreG1sUGFyc2VYTUxDYXRhbG9nTm9kZSh4bWxOb2RlUHRyIGN1ciwgeG1sQ2F0YWxvZ1ByZWZlciBwcmVmZXIsCisJICAgICAgICAgICAgICAgeG1sQ2F0YWxvZ0VudHJ5UHRyIHBhcmVudCwgeG1sQ2F0YWxvZ0VudHJ5UHRyIGNncm91cCkKK3sKKyAgICB4bWxDaGFyICpiYXNlID0gTlVMTDsKKyAgICB4bWxDYXRhbG9nRW50cnlQdHIgZW50cnkgPSBOVUxMOworCisgICAgaWYgKGN1ciA9PSBOVUxMKQorICAgICAgICByZXR1cm47CisgICAgaWYgKHhtbFN0ckVxdWFsKGN1ci0+bmFtZSwgQkFEX0NBU1QgImdyb3VwIikpIHsKKyAgICAgICAgeG1sQ2hhciAqcHJvcDsKKwl4bWxDYXRhbG9nUHJlZmVyIHByZWYgPSBYTUxfQ0FUQV9QUkVGRVJfTk9ORTsKKworICAgICAgICBwcm9wID0geG1sR2V0UHJvcChjdXIsIEJBRF9DQVNUICJwcmVmZXIiKTsKKyAgICAgICAgaWYgKHByb3AgIT0gTlVMTCkgeworICAgICAgICAgICAgaWYgKHhtbFN0ckVxdWFsKHByb3AsIEJBRF9DQVNUICJzeXN0ZW0iKSkgeworICAgICAgICAgICAgICAgIHByZWZlciA9IFhNTF9DQVRBX1BSRUZFUl9TWVNURU07CisgICAgICAgICAgICB9IGVsc2UgaWYgKHhtbFN0ckVxdWFsKHByb3AsIEJBRF9DQVNUICJwdWJsaWMiKSkgeworICAgICAgICAgICAgICAgIHByZWZlciA9IFhNTF9DQVRBX1BSRUZFUl9QVUJMSUM7CisgICAgICAgICAgICB9IGVsc2UgeworCQl4bWxDYXRhbG9nRXJyKHBhcmVudCwgY3VyLCBYTUxfQ0FUQUxPR19QUkVGRVJfVkFMVUUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiSW52YWxpZCB2YWx1ZSBmb3IgcHJlZmVyOiAnJXMnXG4iLAorCQkJICAgICAgcHJvcCwgTlVMTCwgTlVMTCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICB4bWxGcmVlKHByb3ApOworCSAgICBwcmVmID0gcHJlZmVyOworICAgICAgICB9CisJcHJvcCA9IHhtbEdldFByb3AoY3VyLCBCQURfQ0FTVCAiaWQiKTsKKwliYXNlID0geG1sR2V0TnNQcm9wKGN1ciwgQkFEX0NBU1QgImJhc2UiLCBYTUxfWE1MX05BTUVTUEFDRSk7CisJZW50cnkgPSB4bWxOZXdDYXRhbG9nRW50cnkoWE1MX0NBVEFfR1JPVVAsIHByb3AsIGJhc2UsIE5VTEwsIHByZWYsIGNncm91cCk7CisJeG1sRnJlZShwcm9wKTsKKyAgICB9IGVsc2UgaWYgKHhtbFN0ckVxdWFsKGN1ci0+bmFtZSwgQkFEX0NBU1QgInB1YmxpYyIpKSB7CisJZW50cnkgPSB4bWxQYXJzZVhNTENhdGFsb2dPbmVOb2RlKGN1ciwgWE1MX0NBVEFfUFVCTElDLAorCQlCQURfQ0FTVCAicHVibGljIiwgQkFEX0NBU1QgInB1YmxpY0lkIiwgQkFEX0NBU1QgInVyaSIsIHByZWZlciwgY2dyb3VwKTsKKyAgICB9IGVsc2UgaWYgKHhtbFN0ckVxdWFsKGN1ci0+bmFtZSwgQkFEX0NBU1QgInN5c3RlbSIpKSB7CisJZW50cnkgPSB4bWxQYXJzZVhNTENhdGFsb2dPbmVOb2RlKGN1ciwgWE1MX0NBVEFfU1lTVEVNLAorCQlCQURfQ0FTVCAic3lzdGVtIiwgQkFEX0NBU1QgInN5c3RlbUlkIiwgQkFEX0NBU1QgInVyaSIsIHByZWZlciwgY2dyb3VwKTsKKyAgICB9IGVsc2UgaWYgKHhtbFN0ckVxdWFsKGN1ci0+bmFtZSwgQkFEX0NBU1QgInJld3JpdGVTeXN0ZW0iKSkgeworCWVudHJ5ID0geG1sUGFyc2VYTUxDYXRhbG9nT25lTm9kZShjdXIsIFhNTF9DQVRBX1JFV1JJVEVfU1lTVEVNLAorCQlCQURfQ0FTVCAicmV3cml0ZVN5c3RlbSIsIEJBRF9DQVNUICJzeXN0ZW1JZFN0YXJ0U3RyaW5nIiwKKwkJQkFEX0NBU1QgInJld3JpdGVQcmVmaXgiLCBwcmVmZXIsIGNncm91cCk7CisgICAgfSBlbHNlIGlmICh4bWxTdHJFcXVhbChjdXItPm5hbWUsIEJBRF9DQVNUICJkZWxlZ2F0ZVB1YmxpYyIpKSB7CisJZW50cnkgPSB4bWxQYXJzZVhNTENhdGFsb2dPbmVOb2RlKGN1ciwgWE1MX0NBVEFfREVMRUdBVEVfUFVCTElDLAorCQlCQURfQ0FTVCAiZGVsZWdhdGVQdWJsaWMiLCBCQURfQ0FTVCAicHVibGljSWRTdGFydFN0cmluZyIsCisJCUJBRF9DQVNUICJjYXRhbG9nIiwgcHJlZmVyLCBjZ3JvdXApOworICAgIH0gZWxzZSBpZiAoeG1sU3RyRXF1YWwoY3VyLT5uYW1lLCBCQURfQ0FTVCAiZGVsZWdhdGVTeXN0ZW0iKSkgeworCWVudHJ5ID0geG1sUGFyc2VYTUxDYXRhbG9nT25lTm9kZShjdXIsIFhNTF9DQVRBX0RFTEVHQVRFX1NZU1RFTSwKKwkJQkFEX0NBU1QgImRlbGVnYXRlU3lzdGVtIiwgQkFEX0NBU1QgInN5c3RlbUlkU3RhcnRTdHJpbmciLAorCQlCQURfQ0FTVCAiY2F0YWxvZyIsIHByZWZlciwgY2dyb3VwKTsKKyAgICB9IGVsc2UgaWYgKHhtbFN0ckVxdWFsKGN1ci0+bmFtZSwgQkFEX0NBU1QgInVyaSIpKSB7CisJZW50cnkgPSB4bWxQYXJzZVhNTENhdGFsb2dPbmVOb2RlKGN1ciwgWE1MX0NBVEFfVVJJLAorCQlCQURfQ0FTVCAidXJpIiwgQkFEX0NBU1QgIm5hbWUiLAorCQlCQURfQ0FTVCAidXJpIiwgcHJlZmVyLCBjZ3JvdXApOworICAgIH0gZWxzZSBpZiAoeG1sU3RyRXF1YWwoY3VyLT5uYW1lLCBCQURfQ0FTVCAicmV3cml0ZVVSSSIpKSB7CisJZW50cnkgPSB4bWxQYXJzZVhNTENhdGFsb2dPbmVOb2RlKGN1ciwgWE1MX0NBVEFfUkVXUklURV9VUkksCisJCUJBRF9DQVNUICJyZXdyaXRlVVJJIiwgQkFEX0NBU1QgInVyaVN0YXJ0U3RyaW5nIiwKKwkJQkFEX0NBU1QgInJld3JpdGVQcmVmaXgiLCBwcmVmZXIsIGNncm91cCk7CisgICAgfSBlbHNlIGlmICh4bWxTdHJFcXVhbChjdXItPm5hbWUsIEJBRF9DQVNUICJkZWxlZ2F0ZVVSSSIpKSB7CisJZW50cnkgPSB4bWxQYXJzZVhNTENhdGFsb2dPbmVOb2RlKGN1ciwgWE1MX0NBVEFfREVMRUdBVEVfVVJJLAorCQlCQURfQ0FTVCAiZGVsZWdhdGVVUkkiLCBCQURfQ0FTVCAidXJpU3RhcnRTdHJpbmciLAorCQlCQURfQ0FTVCAiY2F0YWxvZyIsIHByZWZlciwgY2dyb3VwKTsKKyAgICB9IGVsc2UgaWYgKHhtbFN0ckVxdWFsKGN1ci0+bmFtZSwgQkFEX0NBU1QgIm5leHRDYXRhbG9nIikpIHsKKwllbnRyeSA9IHhtbFBhcnNlWE1MQ2F0YWxvZ09uZU5vZGUoY3VyLCBYTUxfQ0FUQV9ORVhUX0NBVEFMT0csCisJCUJBRF9DQVNUICJuZXh0Q2F0YWxvZyIsIE5VTEwsCisJCUJBRF9DQVNUICJjYXRhbG9nIiwgcHJlZmVyLCBjZ3JvdXApOworICAgIH0KKyAgICBpZiAoZW50cnkgIT0gTlVMTCkgeworICAgICAgICBpZiAocGFyZW50ICE9IE5VTEwpIHsKKwkgICAgZW50cnktPnBhcmVudCA9IHBhcmVudDsKKwkgICAgaWYgKHBhcmVudC0+Y2hpbGRyZW4gPT0gTlVMTCkKKwkJcGFyZW50LT5jaGlsZHJlbiA9IGVudHJ5OworCSAgICBlbHNlIHsKKwkJeG1sQ2F0YWxvZ0VudHJ5UHRyIHByZXY7CisKKwkJcHJldiA9IHBhcmVudC0+Y2hpbGRyZW47CisJCXdoaWxlIChwcmV2LT5uZXh0ICE9IE5VTEwpCisJCSAgICBwcmV2ID0gcHJldi0+bmV4dDsKKwkJcHJldi0+bmV4dCA9IGVudHJ5OworCSAgICB9CisJfQorCWlmIChlbnRyeS0+dHlwZSA9PSBYTUxfQ0FUQV9HUk9VUCkgeworCSAgICAvKgorCSAgICAgKiBSZWN1cnNlIHRvIHByb3BhZ2F0ZSBwcmVmZXIgdG8gdGhlIHN1YnRyZWUKKwkgICAgICogKHhtbDpiYXNlIGhhbmRsaW5nIGlzIGF1dG9tYXRlZCkKKwkgICAgICovCisgICAgICAgICAgICB4bWxQYXJzZVhNTENhdGFsb2dOb2RlTGlzdChjdXItPmNoaWxkcmVuLCBwcmVmZXIsIHBhcmVudCwgZW50cnkpOworCX0KKyAgICB9CisgICAgaWYgKGJhc2UgIT0gTlVMTCkKKwl4bWxGcmVlKGJhc2UpOworfQorCisvKioKKyAqIHhtbFBhcnNlWE1MQ2F0YWxvZ05vZGVMaXN0OgorICogQGN1cjogIHRoZSBYTUwgbm9kZSBsaXN0IG9mIHNpYmxpbmdzCisgKiBAcHJlZmVyOiAgdGhlIFBVQkxJQyB2cy4gU1lTVEVNIGN1cnJlbnQgcHJlZmVyZW5jZSB2YWx1ZQorICogQHBhcmVudDogIHRoZSBwYXJlbnQgQ2F0YWxvZyBlbnRyeQorICogQGNncm91cDogIHRoZSBncm91cCB3aGljaCBpbmNsdWRlcyB0aGlzIGxpc3QKKyAqCisgKiBFeGFtaW5lcyBhIGxpc3Qgb2YgWE1MIHNpYmxpbmcgbm9kZXMgb2YgYSBjYXRhbG9nIGFuZCBidWlsZAorICogYSBsaXN0IG9mIENhdGFsb2cgZW50cnkgZnJvbSBpdCBhZGRpbmcgaXQgdG8gdGhlIHBhcmVudC4KKyAqIFRoZSBleGFtaW5hdGlvbiB3aWxsIHJlY3Vyc2UgdG8gZXhhbWluZSBub2RlIHN1YnRyZWVzLgorICovCitzdGF0aWMgdm9pZAoreG1sUGFyc2VYTUxDYXRhbG9nTm9kZUxpc3QoeG1sTm9kZVB0ciBjdXIsIHhtbENhdGFsb2dQcmVmZXIgcHJlZmVyLAorCSAgICAgICAgICAgICAgICAgICB4bWxDYXRhbG9nRW50cnlQdHIgcGFyZW50LCB4bWxDYXRhbG9nRW50cnlQdHIgY2dyb3VwKSB7CisgICAgd2hpbGUgKGN1ciAhPSBOVUxMKSB7CisJaWYgKChjdXItPm5zICE9IE5VTEwpICYmIChjdXItPm5zLT5ocmVmICE9IE5VTEwpICYmCisJICAgICh4bWxTdHJFcXVhbChjdXItPm5zLT5ocmVmLCBYTUxfQ0FUQUxPR1NfTkFNRVNQQUNFKSkpIHsKKwkgICAgeG1sUGFyc2VYTUxDYXRhbG9nTm9kZShjdXIsIHByZWZlciwgcGFyZW50LCBjZ3JvdXApOworCX0KKwljdXIgPSBjdXItPm5leHQ7CisgICAgfQorICAgIC8qIFRPRE86IHNvcnQgdGhlIGxpc3QgYWNjb3JkaW5nIHRvIFJFV1JJVEUgbGVuZ3RocyBhbmQgcHJlZmVyIHZhbHVlICovCit9CisKKy8qKgorICogeG1sUGFyc2VYTUxDYXRhbG9nRmlsZToKKyAqIEBwcmVmZXI6ICB0aGUgUFVCTElDIHZzLiBTWVNURU0gY3VycmVudCBwcmVmZXJlbmNlIHZhbHVlCisgKiBAZmlsZW5hbWU6ICB0aGUgZmlsZW5hbWUgZm9yIHRoZSBjYXRhbG9nCisgKgorICogUGFyc2VzIHRoZSBjYXRhbG9nIGZpbGUgdG8gZXh0cmFjdCB0aGUgWE1MIHRyZWUgYW5kIHRoZW4gYW5hbHl6ZSB0aGUKKyAqIHRyZWUgdG8gYnVpbGQgYSBsaXN0IG9mIENhdGFsb2cgZW50cmllcyBjb3JyZXNwb25kaW5nIHRvIHRoaXMgY2F0YWxvZworICoKKyAqIFJldHVybnMgdGhlIHJlc3VsdGluZyBDYXRhbG9nIGVudHJpZXMgbGlzdAorICovCitzdGF0aWMgeG1sQ2F0YWxvZ0VudHJ5UHRyCit4bWxQYXJzZVhNTENhdGFsb2dGaWxlKHhtbENhdGFsb2dQcmVmZXIgcHJlZmVyLCBjb25zdCB4bWxDaGFyICpmaWxlbmFtZSkgeworICAgIHhtbERvY1B0ciBkb2M7CisgICAgeG1sTm9kZVB0ciBjdXI7CisgICAgeG1sQ2hhciAqcHJvcDsKKyAgICB4bWxDYXRhbG9nRW50cnlQdHIgcGFyZW50ID0gTlVMTDsKKworICAgIGlmIChmaWxlbmFtZSA9PSBOVUxMKQorICAgICAgICByZXR1cm4oTlVMTCk7CisKKyAgICBkb2MgPSB4bWxQYXJzZUNhdGFsb2dGaWxlKChjb25zdCBjaGFyICopIGZpbGVuYW1lKTsKKyAgICBpZiAoZG9jID09IE5VTEwpIHsKKwlpZiAoeG1sRGVidWdDYXRhbG9ncykKKwkgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSAgICAiRmFpbGVkIHRvIHBhcnNlIGNhdGFsb2cgJXNcbiIsIGZpbGVuYW1lKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorCisgICAgaWYgKHhtbERlYnVnQ2F0YWxvZ3MpCisJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSIlZCBQYXJzaW5nIGNhdGFsb2cgJXNcbiIsIHhtbEdldFRocmVhZElkKCksIGZpbGVuYW1lKTsKKworICAgIGN1ciA9IHhtbERvY0dldFJvb3RFbGVtZW50KGRvYyk7CisgICAgaWYgKChjdXIgIT0gTlVMTCkgJiYgKHhtbFN0ckVxdWFsKGN1ci0+bmFtZSwgQkFEX0NBU1QgImNhdGFsb2ciKSkgJiYKKwkoY3VyLT5ucyAhPSBOVUxMKSAmJiAoY3VyLT5ucy0+aHJlZiAhPSBOVUxMKSAmJgorCSh4bWxTdHJFcXVhbChjdXItPm5zLT5ocmVmLCBYTUxfQ0FUQUxPR1NfTkFNRVNQQUNFKSkpIHsKKworCXBhcmVudCA9IHhtbE5ld0NhdGFsb2dFbnRyeShYTUxfQ0FUQV9DQVRBTE9HLCBOVUxMLAorCQkJCSAgICAoY29uc3QgeG1sQ2hhciAqKWZpbGVuYW1lLCBOVUxMLCBwcmVmZXIsIE5VTEwpOworICAgICAgICBpZiAocGFyZW50ID09IE5VTEwpIHsKKwkgICAgeG1sRnJlZURvYyhkb2MpOworCSAgICByZXR1cm4oTlVMTCk7CisJfQorCisJcHJvcCA9IHhtbEdldFByb3AoY3VyLCBCQURfQ0FTVCAicHJlZmVyIik7CisJaWYgKHByb3AgIT0gTlVMTCkgeworCSAgICBpZiAoeG1sU3RyRXF1YWwocHJvcCwgQkFEX0NBU1QgInN5c3RlbSIpKSB7CisJCXByZWZlciA9IFhNTF9DQVRBX1BSRUZFUl9TWVNURU07CisJICAgIH0gZWxzZSBpZiAoeG1sU3RyRXF1YWwocHJvcCwgQkFEX0NBU1QgInB1YmxpYyIpKSB7CisJCXByZWZlciA9IFhNTF9DQVRBX1BSRUZFUl9QVUJMSUM7CisJICAgIH0gZWxzZSB7CisJCXhtbENhdGFsb2dFcnIoTlVMTCwgY3VyLCBYTUxfQ0FUQUxPR19QUkVGRVJfVkFMVUUsCisJCQkgICAgICAiSW52YWxpZCB2YWx1ZSBmb3IgcHJlZmVyOiAnJXMnXG4iLAorCQkJICAgICAgcHJvcCwgTlVMTCwgTlVMTCk7CisJICAgIH0KKwkgICAgeG1sRnJlZShwcm9wKTsKKwl9CisJY3VyID0gY3VyLT5jaGlsZHJlbjsKKwl4bWxQYXJzZVhNTENhdGFsb2dOb2RlTGlzdChjdXIsIHByZWZlciwgcGFyZW50LCBOVUxMKTsKKyAgICB9IGVsc2UgeworCXhtbENhdGFsb2dFcnIoTlVMTCwgKHhtbE5vZGVQdHIpIGRvYywgWE1MX0NBVEFMT0dfTk9UX0NBVEFMT0csCisJCSAgICAgICJGaWxlICVzIGlzIG5vdCBhbiBYTUwgQ2F0YWxvZ1xuIiwKKwkJICAgICAgZmlsZW5hbWUsIE5VTEwsIE5VTEwpOworCXhtbEZyZWVEb2MoZG9jKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIHhtbEZyZWVEb2MoZG9jKTsKKyAgICByZXR1cm4ocGFyZW50KTsKK30KKworLyoqCisgKiB4bWxGZXRjaFhNTENhdGFsb2dGaWxlOgorICogQGNhdGFsOiAgYW4gZXhpc3RpbmcgYnV0IGluY29tcGxldGUgY2F0YWxvZyBlbnRyeQorICoKKyAqIEZldGNoIGFuZCBwYXJzZSB0aGUgc3ViY2F0YWxvZyByZWZlcmVuY2VkIGJ5IGFuIGVudHJ5CisgKgorICogUmV0dXJucyAwIGluIGNhc2Ugb2Ygc3VjY2VzcywgLTEgb3RoZXJ3aXNlCisgKi8KK3N0YXRpYyBpbnQKK3htbEZldGNoWE1MQ2F0YWxvZ0ZpbGUoeG1sQ2F0YWxvZ0VudHJ5UHRyIGNhdGFsKSB7CisgICAgeG1sQ2F0YWxvZ0VudHJ5UHRyIGRvYzsKKworICAgIGlmIChjYXRhbCA9PSBOVUxMKQorCXJldHVybigtMSk7CisgICAgaWYgKGNhdGFsLT5VUkwgPT0gTlVMTCkKKwlyZXR1cm4oLTEpOworCisgICAgLyoKKyAgICAgKiBsb2NrIHRoZSB3aG9sZSBjYXRhbG9nIGZvciBtb2RpZmljYXRpb24KKyAgICAgKi8KKyAgICB4bWxSTXV0ZXhMb2NrKHhtbENhdGFsb2dNdXRleCk7CisgICAgaWYgKGNhdGFsLT5jaGlsZHJlbiAhPSBOVUxMKSB7CisJLyogT2theSBzb21lb25lIGVsc2UgZGlkIGl0IGluIHRoZSBtZWFudGltZSAqLworCXhtbFJNdXRleFVubG9jayh4bWxDYXRhbG9nTXV0ZXgpOworCXJldHVybigwKTsKKyAgICB9CisKKyAgICBpZiAoeG1sQ2F0YWxvZ1hNTEZpbGVzICE9IE5VTEwpIHsKKwlkb2MgPSAoeG1sQ2F0YWxvZ0VudHJ5UHRyKQorCSAgICB4bWxIYXNoTG9va3VwKHhtbENhdGFsb2dYTUxGaWxlcywgY2F0YWwtPlVSTCk7CisJaWYgKGRvYyAhPSBOVUxMKSB7CisJICAgIGlmICh4bWxEZWJ1Z0NhdGFsb2dzKQorCQl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJICAgICJGb3VuZCAlcyBpbiBmaWxlIGhhc2hcbiIsIGNhdGFsLT5VUkwpOworCisJICAgIGlmIChjYXRhbC0+dHlwZSA9PSBYTUxfQ0FUQV9DQVRBTE9HKQorCQljYXRhbC0+Y2hpbGRyZW4gPSBkb2MtPmNoaWxkcmVuOworCSAgICBlbHNlCisJCWNhdGFsLT5jaGlsZHJlbiA9IGRvYzsKKwkgICAgY2F0YWwtPmRlYWxsb2MgPSAwOworCSAgICB4bWxSTXV0ZXhVbmxvY2soeG1sQ2F0YWxvZ011dGV4KTsKKwkgICAgcmV0dXJuKDApOworCX0KKwlpZiAoeG1sRGVidWdDYXRhbG9ncykKKwkgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSIlcyBub3QgZm91bmQgaW4gZmlsZSBoYXNoXG4iLCBjYXRhbC0+VVJMKTsKKyAgICB9CisKKyAgICAvKgorICAgICAqIEZldGNoIGFuZCBwYXJzZS4gTm90ZSB0aGF0IHhtbFBhcnNlWE1MQ2F0YWxvZ0ZpbGUgZG9lcyBub3QKKyAgICAgKiB1c2UgdGhlIGV4aXN0aW5nIGNhdGFsb2csIHRoZXJlIGlzIG5vIHJlY3Vyc2lvbiBhbGxvd2VkIGF0CisgICAgICogdGhhdCBsZXZlbC4KKyAgICAgKi8KKyAgICBkb2MgPSB4bWxQYXJzZVhNTENhdGFsb2dGaWxlKGNhdGFsLT5wcmVmZXIsIGNhdGFsLT5VUkwpOworICAgIGlmIChkb2MgPT0gTlVMTCkgeworCWNhdGFsLT50eXBlID0gWE1MX0NBVEFfQlJPS0VOX0NBVEFMT0c7CisJeG1sUk11dGV4VW5sb2NrKHhtbENhdGFsb2dNdXRleCk7CisJcmV0dXJuKC0xKTsKKyAgICB9CisKKyAgICBpZiAoY2F0YWwtPnR5cGUgPT0gWE1MX0NBVEFfQ0FUQUxPRykKKwljYXRhbC0+Y2hpbGRyZW4gPSBkb2MtPmNoaWxkcmVuOworICAgIGVsc2UKKwljYXRhbC0+Y2hpbGRyZW4gPSBkb2M7CisKKyAgICBkb2MtPmRlYWxsb2MgPSAxOworCisgICAgaWYgKHhtbENhdGFsb2dYTUxGaWxlcyA9PSBOVUxMKQorCXhtbENhdGFsb2dYTUxGaWxlcyA9IHhtbEhhc2hDcmVhdGUoMTApOworICAgIGlmICh4bWxDYXRhbG9nWE1MRmlsZXMgIT0gTlVMTCkgeworCWlmICh4bWxEZWJ1Z0NhdGFsb2dzKQorCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJIiVzIGFkZGVkIHRvIGZpbGUgaGFzaFxuIiwgY2F0YWwtPlVSTCk7CisJeG1sSGFzaEFkZEVudHJ5KHhtbENhdGFsb2dYTUxGaWxlcywgY2F0YWwtPlVSTCwgZG9jKTsKKyAgICB9CisgICAgeG1sUk11dGV4VW5sb2NrKHhtbENhdGFsb2dNdXRleCk7CisgICAgcmV0dXJuKDApOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQkJWE1MIENhdGFsb2cgaGFuZGxpbmcJCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioKKyAqIHhtbEFkZFhNTENhdGFsb2c6CisgKiBAY2F0YWw6ICB0b3Agb2YgYW4gWE1MIGNhdGFsb2cKKyAqIEB0eXBlOiAgdGhlIHR5cGUgb2YgcmVjb3JkIHRvIGFkZCB0byB0aGUgY2F0YWxvZworICogQG9yaWc6ICB0aGUgc3lzdGVtLCBwdWJsaWMgb3IgcHJlZml4IHRvIG1hdGNoIChvciBOVUxMKQorICogQHJlcGxhY2U6ICB0aGUgcmVwbGFjZW1lbnQgdmFsdWUgZm9yIHRoZSBtYXRjaAorICoKKyAqIEFkZCBhbiBlbnRyeSBpbiB0aGUgWE1MIGNhdGFsb2csIGl0IG1heSBvdmVyd3JpdGUgZXhpc3RpbmcgYnV0CisgKiBkaWZmZXJlbnQgZW50cmllcy4KKyAqCisgKiBSZXR1cm5zIDAgaWYgc3VjY2Vzc2Z1bCwgLTEgb3RoZXJ3aXNlCisgKi8KK3N0YXRpYyBpbnQKK3htbEFkZFhNTENhdGFsb2coeG1sQ2F0YWxvZ0VudHJ5UHRyIGNhdGFsLCBjb25zdCB4bWxDaGFyICp0eXBlLAorCSAgICAgIGNvbnN0IHhtbENoYXIgKm9yaWcsIGNvbnN0IHhtbENoYXIgKnJlcGxhY2UpIHsKKyAgICB4bWxDYXRhbG9nRW50cnlQdHIgY3VyOworICAgIHhtbENhdGFsb2dFbnRyeVR5cGUgdHlwOworICAgIGludCBkb3JlZ2lzdGVyID0gMDsKKworICAgIGlmICgoY2F0YWwgPT0gTlVMTCkgfHwKKwkoKGNhdGFsLT50eXBlICE9IFhNTF9DQVRBX0NBVEFMT0cpICYmCisJIChjYXRhbC0+dHlwZSAhPSBYTUxfQ0FUQV9CUk9LRU5fQ0FUQUxPRykpKQorCXJldHVybigtMSk7CisgICAgaWYgKGNhdGFsLT5jaGlsZHJlbiA9PSBOVUxMKSB7CisJeG1sRmV0Y2hYTUxDYXRhbG9nRmlsZShjYXRhbCk7CisgICAgfQorICAgIGlmIChjYXRhbC0+Y2hpbGRyZW4gPT0gTlVMTCkKKwlkb3JlZ2lzdGVyID0gMTsKKworICAgIHR5cCA9IHhtbEdldFhNTENhdGFsb2dFbnRyeVR5cGUodHlwZSk7CisgICAgaWYgKHR5cCA9PSBYTUxfQ0FUQV9OT05FKSB7CisJaWYgKHhtbERlYnVnQ2F0YWxvZ3MpCisJICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkgICAgIkZhaWxlZCB0byBhZGQgdW5rbm93biBlbGVtZW50ICVzIHRvIGNhdGFsb2dcbiIsIHR5cGUpOworCXJldHVybigtMSk7CisgICAgfQorCisgICAgY3VyID0gY2F0YWwtPmNoaWxkcmVuOworICAgIC8qCisgICAgICogTWlnaHQgYmUgYSBzaW1wbGUgInVwZGF0ZSBpbiBwbGFjZSIKKyAgICAgKi8KKyAgICBpZiAoY3VyICE9IE5VTEwpIHsKKwl3aGlsZSAoY3VyICE9IE5VTEwpIHsKKwkgICAgaWYgKChvcmlnICE9IE5VTEwpICYmIChjdXItPnR5cGUgPT0gdHlwKSAmJgorCQkoeG1sU3RyRXF1YWwob3JpZywgY3VyLT5uYW1lKSkpIHsKKwkJaWYgKHhtbERlYnVnQ2F0YWxvZ3MpCisJCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJCSAgICAiVXBkYXRpbmcgZWxlbWVudCAlcyB0byBjYXRhbG9nXG4iLCB0eXBlKTsKKwkJaWYgKGN1ci0+dmFsdWUgIT0gTlVMTCkKKwkJICAgIHhtbEZyZWUoY3VyLT52YWx1ZSk7CisJCWlmIChjdXItPlVSTCAhPSBOVUxMKQorCQkgICAgeG1sRnJlZShjdXItPlVSTCk7CisJCWN1ci0+dmFsdWUgPSB4bWxTdHJkdXAocmVwbGFjZSk7CisJCWN1ci0+VVJMID0geG1sU3RyZHVwKHJlcGxhY2UpOworCQlyZXR1cm4oMCk7CisJICAgIH0KKwkgICAgaWYgKGN1ci0+bmV4dCA9PSBOVUxMKQorCQlicmVhazsKKwkgICAgY3VyID0gY3VyLT5uZXh0OworCX0KKyAgICB9CisgICAgaWYgKHhtbERlYnVnQ2F0YWxvZ3MpCisJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSJBZGRpbmcgZWxlbWVudCAlcyB0byBjYXRhbG9nXG4iLCB0eXBlKTsKKyAgICBpZiAoY3VyID09IE5VTEwpCisJY2F0YWwtPmNoaWxkcmVuID0geG1sTmV3Q2F0YWxvZ0VudHJ5KHR5cCwgb3JpZywgcmVwbGFjZSwKKwkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCBjYXRhbC0+cHJlZmVyLCBOVUxMKTsKKyAgICBlbHNlCisJY3VyLT5uZXh0ID0geG1sTmV3Q2F0YWxvZ0VudHJ5KHR5cCwgb3JpZywgcmVwbGFjZSwKKwkJICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCBjYXRhbC0+cHJlZmVyLCBOVUxMKTsKKyAgICBpZiAoZG9yZWdpc3RlcikgeworICAgICAgICBjYXRhbC0+dHlwZSA9IFhNTF9DQVRBX0NBVEFMT0c7CisJY3VyID0gKHhtbENhdGFsb2dFbnRyeVB0cil4bWxIYXNoTG9va3VwKHhtbENhdGFsb2dYTUxGaWxlcywgY2F0YWwtPlVSTCk7CisJaWYgKGN1ciAhPSBOVUxMKQorCSAgICBjdXItPmNoaWxkcmVuID0gY2F0YWwtPmNoaWxkcmVuOworICAgIH0KKworICAgIHJldHVybigwKTsKK30KKworLyoqCisgKiB4bWxEZWxYTUxDYXRhbG9nOgorICogQGNhdGFsOiAgdG9wIG9mIGFuIFhNTCBjYXRhbG9nCisgKiBAdmFsdWU6ICB0aGUgdmFsdWUgdG8gcmVtb3ZlIGZyb20gdGhlIGNhdGFsb2cKKyAqCisgKiBSZW1vdmUgZW50cmllcyBpbiB0aGUgWE1MIGNhdGFsb2cgd2hlcmUgdGhlIHZhbHVlIG9yIHRoZSBVUkkKKyAqIGlzIGVxdWFsIHRvIEB2YWx1ZQorICoKKyAqIFJldHVybnMgdGhlIG51bWJlciBvZiBlbnRyaWVzIHJlbW92ZWQgaWYgc3VjY2Vzc2Z1bCwgLTEgb3RoZXJ3aXNlCisgKi8KK3N0YXRpYyBpbnQKK3htbERlbFhNTENhdGFsb2coeG1sQ2F0YWxvZ0VudHJ5UHRyIGNhdGFsLCBjb25zdCB4bWxDaGFyICp2YWx1ZSkgeworICAgIHhtbENhdGFsb2dFbnRyeVB0ciBjdXI7CisgICAgaW50IHJldCA9IDA7CisKKyAgICBpZiAoKGNhdGFsID09IE5VTEwpIHx8CisJKChjYXRhbC0+dHlwZSAhPSBYTUxfQ0FUQV9DQVRBTE9HKSAmJgorCSAoY2F0YWwtPnR5cGUgIT0gWE1MX0NBVEFfQlJPS0VOX0NBVEFMT0cpKSkKKwlyZXR1cm4oLTEpOworICAgIGlmICh2YWx1ZSA9PSBOVUxMKQorCXJldHVybigtMSk7CisgICAgaWYgKGNhdGFsLT5jaGlsZHJlbiA9PSBOVUxMKSB7CisJeG1sRmV0Y2hYTUxDYXRhbG9nRmlsZShjYXRhbCk7CisgICAgfQorCisgICAgLyoKKyAgICAgKiBTY2FuIHRoZSBjaGlsZHJlbgorICAgICAqLworICAgIGN1ciA9IGNhdGFsLT5jaGlsZHJlbjsKKyAgICB3aGlsZSAoY3VyICE9IE5VTEwpIHsKKwlpZiAoKChjdXItPm5hbWUgIT0gTlVMTCkgJiYgKHhtbFN0ckVxdWFsKHZhbHVlLCBjdXItPm5hbWUpKSkgfHwKKwkgICAgKHhtbFN0ckVxdWFsKHZhbHVlLCBjdXItPnZhbHVlKSkpIHsKKwkgICAgaWYgKHhtbERlYnVnQ2F0YWxvZ3MpIHsKKwkJaWYgKGN1ci0+bmFtZSAhPSBOVUxMKQorCQkgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCQkgICAgIlJlbW92aW5nIGVsZW1lbnQgJXMgZnJvbSBjYXRhbG9nXG4iLCBjdXItPm5hbWUpOworCQllbHNlCisJCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJCSAgICAiUmVtb3ZpbmcgZWxlbWVudCAlcyBmcm9tIGNhdGFsb2dcbiIsIGN1ci0+dmFsdWUpOworCSAgICB9CisJICAgIGN1ci0+dHlwZSA9IFhNTF9DQVRBX1JFTU9WRUQ7CisJfQorCWN1ciA9IGN1ci0+bmV4dDsKKyAgICB9CisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogeG1sQ2F0YWxvZ1hNTFJlc29sdmU6CisgKiBAY2F0YWw6ICBhIGNhdGFsb2cgbGlzdAorICogQHB1YklEOiAgdGhlIHB1YmxpYyBJRCBzdHJpbmcKKyAqIEBzeXNJRDogIHRoZSBzeXN0ZW0gSUQgc3RyaW5nCisgKgorICogRG8gYSBjb21wbGV0ZSByZXNvbHV0aW9uIGxvb2t1cCBvZiBhbiBFeHRlcm5hbCBJZGVudGlmaWVyIGZvciBhCisgKiBsaXN0IG9mIGNhdGFsb2cgZW50cmllcy4KKyAqCisgKiBJbXBsZW1lbnRzIChvciB0cmllcyB0bykgNy4xLiBFeHRlcm5hbCBJZGVudGlmaWVyIFJlc29sdXRpb24KKyAqIGZyb20gaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9jb21taXR0ZWVzL2VudGl0eS9zcGVjLTIwMDEtMDgtMDYuaHRtbAorICoKKyAqIFJldHVybnMgdGhlIFVSSSBvZiB0aGUgcmVzb3VyY2Ugb3IgTlVMTCBpZiBub3QgZm91bmQKKyAqLworc3RhdGljIHhtbENoYXIgKgoreG1sQ2F0YWxvZ1hNTFJlc29sdmUoeG1sQ2F0YWxvZ0VudHJ5UHRyIGNhdGFsLCBjb25zdCB4bWxDaGFyICpwdWJJRCwKKwkgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKnN5c0lEKSB7CisgICAgeG1sQ2hhciAqcmV0ID0gTlVMTDsKKyAgICB4bWxDYXRhbG9nRW50cnlQdHIgY3VyOworICAgIGludCBoYXZlRGVsZWdhdGUgPSAwOworICAgIGludCBoYXZlTmV4dCA9IDA7CisKKyAgICAvKgorICAgICAqIHByb3RlY3Rpb24gYWdhaW5zdCBsb29wcworICAgICAqLworICAgIGlmIChjYXRhbC0+ZGVwdGggPiBNQVhfQ0FUQUxfREVQVEgpIHsKKwl4bWxDYXRhbG9nRXJyKGNhdGFsLCBOVUxMLCBYTUxfQ0FUQUxPR19SRUNVUlNJT04sCisJCSAgICAgICJEZXRlY3RlZCByZWN1cnNpb24gaW4gY2F0YWxvZyAlc1xuIiwKKwkJICAgICAgY2F0YWwtPm5hbWUsIE5VTEwsIE5VTEwpOworCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgY2F0YWwtPmRlcHRoKys7CisKKyAgICAvKgorICAgICAqIEZpcnN0IHRyaWVzIHN0ZXBzIDIvIDMvIDQvIGlmIGEgc3lzdGVtIElEIGlzIHByb3ZpZGVkLgorICAgICAqLworICAgIGlmIChzeXNJRCAhPSBOVUxMKSB7CisJeG1sQ2F0YWxvZ0VudHJ5UHRyIHJld3JpdGUgPSBOVUxMOworCWludCBsZW5yZXdyaXRlID0gMCwgbGVuOworCWN1ciA9IGNhdGFsOworCWhhdmVEZWxlZ2F0ZSA9IDA7CisJd2hpbGUgKGN1ciAhPSBOVUxMKSB7CisJICAgIHN3aXRjaCAoY3VyLT50eXBlKSB7CisJCWNhc2UgWE1MX0NBVEFfU1lTVEVNOgorCQkgICAgaWYgKHhtbFN0ckVxdWFsKHN5c0lELCBjdXItPm5hbWUpKSB7CisJCQlpZiAoeG1sRGVidWdDYXRhbG9ncykKKwkJCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJCQkgICAgIkZvdW5kIHN5c3RlbSBtYXRjaCAlcywgdXNpbmcgJXNcbiIsCisJCQkJICAgICAgICAgICAgY3VyLT5uYW1lLCBjdXItPlVSTCk7CisJCQljYXRhbC0+ZGVwdGgtLTsKKwkJCXJldHVybih4bWxTdHJkdXAoY3VyLT5VUkwpKTsKKwkJICAgIH0KKwkJICAgIGJyZWFrOworCQljYXNlIFhNTF9DQVRBX1JFV1JJVEVfU1lTVEVNOgorCQkgICAgbGVuID0geG1sU3RybGVuKGN1ci0+bmFtZSk7CisJCSAgICBpZiAoKGxlbiA+IGxlbnJld3JpdGUpICYmCisJCQkoIXhtbFN0cm5jbXAoc3lzSUQsIGN1ci0+bmFtZSwgbGVuKSkpIHsKKwkJCWxlbnJld3JpdGUgPSBsZW47CisJCQlyZXdyaXRlID0gY3VyOworCQkgICAgfQorCQkgICAgYnJlYWs7CisJCWNhc2UgWE1MX0NBVEFfREVMRUdBVEVfU1lTVEVNOgorCQkgICAgaWYgKCF4bWxTdHJuY21wKHN5c0lELCBjdXItPm5hbWUsIHhtbFN0cmxlbihjdXItPm5hbWUpKSkKKwkJCWhhdmVEZWxlZ2F0ZSsrOworCQkgICAgYnJlYWs7CisJCWNhc2UgWE1MX0NBVEFfTkVYVF9DQVRBTE9HOgorCQkgICAgaGF2ZU5leHQrKzsKKwkJICAgIGJyZWFrOworCQlkZWZhdWx0OgorCQkgICAgYnJlYWs7CisJICAgIH0KKwkgICAgY3VyID0gY3VyLT5uZXh0OworCX0KKwlpZiAocmV3cml0ZSAhPSBOVUxMKSB7CisJICAgIGlmICh4bWxEZWJ1Z0NhdGFsb2dzKQorCQl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJCSJVc2luZyByZXdyaXRpbmcgcnVsZSAlc1xuIiwgcmV3cml0ZS0+bmFtZSk7CisJICAgIHJldCA9IHhtbFN0cmR1cChyZXdyaXRlLT5VUkwpOworCSAgICBpZiAocmV0ICE9IE5VTEwpCisJCXJldCA9IHhtbFN0cmNhdChyZXQsICZzeXNJRFtsZW5yZXdyaXRlXSk7CisJICAgIGNhdGFsLT5kZXB0aC0tOworCSAgICByZXR1cm4ocmV0KTsKKwl9CisJaWYgKGhhdmVEZWxlZ2F0ZSkgeworCSAgICBjb25zdCB4bWxDaGFyICpkZWxlZ2F0ZXNbTUFYX0RFTEVHQVRFXTsKKwkgICAgaW50IG5iTGlzdCA9IDAsIGk7CisKKwkgICAgLyoKKwkgICAgICogQXNzdW1lIHRoZSBlbnRyaWVzIGhhdmUgYmVlbiBzb3J0ZWQgYnkgZGVjcmVhc2luZyBzdWJzdHJpbmcKKwkgICAgICogbWF0Y2hlcyB3aGVuIHRoZSBsaXN0IHdhcyBwcm9kdWNlZC4KKwkgICAgICovCisJICAgIGN1ciA9IGNhdGFsOworCSAgICB3aGlsZSAoY3VyICE9IE5VTEwpIHsKKwkJaWYgKChjdXItPnR5cGUgPT0gWE1MX0NBVEFfREVMRUdBVEVfU1lTVEVNKSAmJgorCQkgICAgKCF4bWxTdHJuY21wKHN5c0lELCBjdXItPm5hbWUsIHhtbFN0cmxlbihjdXItPm5hbWUpKSkpIHsKKwkJICAgIGZvciAoaSA9IDA7aSA8IG5iTGlzdDtpKyspCisJCQlpZiAoeG1sU3RyRXF1YWwoY3VyLT5VUkwsIGRlbGVnYXRlc1tpXSkpCisJCQkgICAgYnJlYWs7CisJCSAgICBpZiAoaSA8IG5iTGlzdCkgeworCQkJY3VyID0gY3VyLT5uZXh0OworCQkJY29udGludWU7CisJCSAgICB9CisJCSAgICBpZiAobmJMaXN0IDwgTUFYX0RFTEVHQVRFKQorCQkJZGVsZWdhdGVzW25iTGlzdCsrXSA9IGN1ci0+VVJMOworCisJCSAgICBpZiAoY3VyLT5jaGlsZHJlbiA9PSBOVUxMKSB7CisJCQl4bWxGZXRjaFhNTENhdGFsb2dGaWxlKGN1cik7CisJCSAgICB9CisJCSAgICBpZiAoY3VyLT5jaGlsZHJlbiAhPSBOVUxMKSB7CisJCQlpZiAoeG1sRGVidWdDYXRhbG9ncykKKwkJCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJCQkgICAgIlRyeWluZyBzeXN0ZW0gZGVsZWdhdGUgJXNcbiIsIGN1ci0+VVJMKTsKKwkJCXJldCA9IHhtbENhdGFsb2dMaXN0WE1MUmVzb2x2ZSgKKwkJCQljdXItPmNoaWxkcmVuLCBOVUxMLCBzeXNJRCk7CisJCQlpZiAocmV0ICE9IE5VTEwpIHsKKwkJCSAgICBjYXRhbC0+ZGVwdGgtLTsKKwkJCSAgICByZXR1cm4ocmV0KTsKKwkJCX0KKwkJICAgIH0KKwkJfQorCQljdXIgPSBjdXItPm5leHQ7CisJICAgIH0KKwkgICAgLyoKKwkgICAgICogQXBwbHkgdGhlIGN1dCBhbGdvcml0aG0gZXhwbGFpbmVkIGluIDQvCisJICAgICAqLworCSAgICBjYXRhbC0+ZGVwdGgtLTsKKwkgICAgcmV0dXJuKFhNTF9DQVRBTF9CUkVBSyk7CisJfQorICAgIH0KKyAgICAvKgorICAgICAqIFRoZW4gdHJpZXMgNS8gNi8gaWYgYSBwdWJsaWMgSUQgaXMgcHJvdmlkZWQKKyAgICAgKi8KKyAgICBpZiAocHViSUQgIT0gTlVMTCkgeworCWN1ciA9IGNhdGFsOworCWhhdmVEZWxlZ2F0ZSA9IDA7CisJd2hpbGUgKGN1ciAhPSBOVUxMKSB7CisJICAgIHN3aXRjaCAoY3VyLT50eXBlKSB7CisJCWNhc2UgWE1MX0NBVEFfUFVCTElDOgorCQkgICAgaWYgKHhtbFN0ckVxdWFsKHB1YklELCBjdXItPm5hbWUpKSB7CisJCQlpZiAoeG1sRGVidWdDYXRhbG9ncykKKwkJCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJCQkgICAgIkZvdW5kIHB1YmxpYyBtYXRjaCAlc1xuIiwgY3VyLT5uYW1lKTsKKwkJCWNhdGFsLT5kZXB0aC0tOworCQkJcmV0dXJuKHhtbFN0cmR1cChjdXItPlVSTCkpOworCQkgICAgfQorCQkgICAgYnJlYWs7CisJCWNhc2UgWE1MX0NBVEFfREVMRUdBVEVfUFVCTElDOgorCQkgICAgaWYgKCF4bWxTdHJuY21wKHB1YklELCBjdXItPm5hbWUsIHhtbFN0cmxlbihjdXItPm5hbWUpKSAmJgorCQkJKGN1ci0+cHJlZmVyID09IFhNTF9DQVRBX1BSRUZFUl9QVUJMSUMpKQorCQkJaGF2ZURlbGVnYXRlKys7CisJCSAgICBicmVhazsKKwkJY2FzZSBYTUxfQ0FUQV9ORVhUX0NBVEFMT0c6CisJCSAgICBpZiAoc3lzSUQgPT0gTlVMTCkKKwkJCWhhdmVOZXh0Kys7CisJCSAgICBicmVhazsKKwkJZGVmYXVsdDoKKwkJICAgIGJyZWFrOworCSAgICB9CisJICAgIGN1ciA9IGN1ci0+bmV4dDsKKwl9CisJaWYgKGhhdmVEZWxlZ2F0ZSkgeworCSAgICBjb25zdCB4bWxDaGFyICpkZWxlZ2F0ZXNbTUFYX0RFTEVHQVRFXTsKKwkgICAgaW50IG5iTGlzdCA9IDAsIGk7CisKKwkgICAgLyoKKwkgICAgICogQXNzdW1lIHRoZSBlbnRyaWVzIGhhdmUgYmVlbiBzb3J0ZWQgYnkgZGVjcmVhc2luZyBzdWJzdHJpbmcKKwkgICAgICogbWF0Y2hlcyB3aGVuIHRoZSBsaXN0IHdhcyBwcm9kdWNlZC4KKwkgICAgICovCisJICAgIGN1ciA9IGNhdGFsOworCSAgICB3aGlsZSAoY3VyICE9IE5VTEwpIHsKKwkJaWYgKChjdXItPnR5cGUgPT0gWE1MX0NBVEFfREVMRUdBVEVfUFVCTElDKSAmJgorCQkgICAgKGN1ci0+cHJlZmVyID09IFhNTF9DQVRBX1BSRUZFUl9QVUJMSUMpICYmCisJCSAgICAoIXhtbFN0cm5jbXAocHViSUQsIGN1ci0+bmFtZSwgeG1sU3RybGVuKGN1ci0+bmFtZSkpKSkgeworCisJCSAgICBmb3IgKGkgPSAwO2kgPCBuYkxpc3Q7aSsrKQorCQkJaWYgKHhtbFN0ckVxdWFsKGN1ci0+VVJMLCBkZWxlZ2F0ZXNbaV0pKQorCQkJICAgIGJyZWFrOworCQkgICAgaWYgKGkgPCBuYkxpc3QpIHsKKwkJCWN1ciA9IGN1ci0+bmV4dDsKKwkJCWNvbnRpbnVlOworCQkgICAgfQorCQkgICAgaWYgKG5iTGlzdCA8IE1BWF9ERUxFR0FURSkKKwkJCWRlbGVnYXRlc1tuYkxpc3QrK10gPSBjdXItPlVSTDsKKworCQkgICAgaWYgKGN1ci0+Y2hpbGRyZW4gPT0gTlVMTCkgeworCQkJeG1sRmV0Y2hYTUxDYXRhbG9nRmlsZShjdXIpOworCQkgICAgfQorCQkgICAgaWYgKGN1ci0+Y2hpbGRyZW4gIT0gTlVMTCkgeworCQkJaWYgKHhtbERlYnVnQ2F0YWxvZ3MpCisJCQkgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCQkJICAgICJUcnlpbmcgcHVibGljIGRlbGVnYXRlICVzXG4iLCBjdXItPlVSTCk7CisJCQlyZXQgPSB4bWxDYXRhbG9nTGlzdFhNTFJlc29sdmUoCisJCQkJY3VyLT5jaGlsZHJlbiwgcHViSUQsIE5VTEwpOworCQkJaWYgKHJldCAhPSBOVUxMKSB7CisJCQkgICAgY2F0YWwtPmRlcHRoLS07CisJCQkgICAgcmV0dXJuKHJldCk7CisJCQl9CisJCSAgICB9CisJCX0KKwkJY3VyID0gY3VyLT5uZXh0OworCSAgICB9CisJICAgIC8qCisJICAgICAqIEFwcGx5IHRoZSBjdXQgYWxnb3JpdGhtIGV4cGxhaW5lZCBpbiA0LworCSAgICAgKi8KKwkgICAgY2F0YWwtPmRlcHRoLS07CisJICAgIHJldHVybihYTUxfQ0FUQUxfQlJFQUspOworCX0KKyAgICB9CisgICAgaWYgKGhhdmVOZXh0KSB7CisJY3VyID0gY2F0YWw7CisJd2hpbGUgKGN1ciAhPSBOVUxMKSB7CisJICAgIGlmIChjdXItPnR5cGUgPT0gWE1MX0NBVEFfTkVYVF9DQVRBTE9HKSB7CisJCWlmIChjdXItPmNoaWxkcmVuID09IE5VTEwpIHsKKwkJICAgIHhtbEZldGNoWE1MQ2F0YWxvZ0ZpbGUoY3VyKTsKKwkJfQorCQlpZiAoY3VyLT5jaGlsZHJlbiAhPSBOVUxMKSB7CisJCSAgICByZXQgPSB4bWxDYXRhbG9nTGlzdFhNTFJlc29sdmUoY3VyLT5jaGlsZHJlbiwgcHViSUQsIHN5c0lEKTsKKwkJICAgIGlmIChyZXQgIT0gTlVMTCkgeworCQkJY2F0YWwtPmRlcHRoLS07CisJCQlyZXR1cm4ocmV0KTsKKwkJICAgIH0gZWxzZSBpZiAoY2F0YWwtPmRlcHRoID4gTUFYX0NBVEFMX0RFUFRIKSB7CisJCSAgICAgICAgcmV0dXJuKE5VTEwpOworCQkgICAgfQorCQl9CisJICAgIH0KKwkgICAgY3VyID0gY3VyLT5uZXh0OworCX0KKyAgICB9CisKKyAgICBjYXRhbC0+ZGVwdGgtLTsKKyAgICByZXR1cm4oTlVMTCk7Cit9CisKKy8qKgorICogeG1sQ2F0YWxvZ1hNTFJlc29sdmVVUkk6CisgKiBAY2F0YWw6ICBhIGNhdGFsb2cgbGlzdAorICogQFVSSTogIHRoZSBVUkkKKyAqIEBzeXNJRDogIHRoZSBzeXN0ZW0gSUQgc3RyaW5nCisgKgorICogRG8gYSBjb21wbGV0ZSByZXNvbHV0aW9uIGxvb2t1cCBvZiBhbiBFeHRlcm5hbCBJZGVudGlmaWVyIGZvciBhCisgKiBsaXN0IG9mIGNhdGFsb2cgZW50cmllcy4KKyAqCisgKiBJbXBsZW1lbnRzIChvciB0cmllcyB0bykgNy4yLjIuIFVSSSBSZXNvbHV0aW9uCisgKiBmcm9tIGh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvY29tbWl0dGVlcy9lbnRpdHkvc3BlYy0yMDAxLTA4LTA2Lmh0bWwKKyAqCisgKiBSZXR1cm5zIHRoZSBVUkkgb2YgdGhlIHJlc291cmNlIG9yIE5VTEwgaWYgbm90IGZvdW5kCisgKi8KK3N0YXRpYyB4bWxDaGFyICoKK3htbENhdGFsb2dYTUxSZXNvbHZlVVJJKHhtbENhdGFsb2dFbnRyeVB0ciBjYXRhbCwgY29uc3QgeG1sQ2hhciAqVVJJKSB7CisgICAgeG1sQ2hhciAqcmV0ID0gTlVMTDsKKyAgICB4bWxDYXRhbG9nRW50cnlQdHIgY3VyOworICAgIGludCBoYXZlRGVsZWdhdGUgPSAwOworICAgIGludCBoYXZlTmV4dCA9IDA7CisgICAgeG1sQ2F0YWxvZ0VudHJ5UHRyIHJld3JpdGUgPSBOVUxMOworICAgIGludCBsZW5yZXdyaXRlID0gMCwgbGVuOworCisgICAgaWYgKGNhdGFsID09IE5VTEwpCisJcmV0dXJuKE5VTEwpOworCisgICAgaWYgKFVSSSA9PSBOVUxMKQorCXJldHVybihOVUxMKTsKKworICAgIGlmIChjYXRhbC0+ZGVwdGggPiBNQVhfQ0FUQUxfREVQVEgpIHsKKwl4bWxDYXRhbG9nRXJyKGNhdGFsLCBOVUxMLCBYTUxfQ0FUQUxPR19SRUNVUlNJT04sCisJCSAgICAgICJEZXRlY3RlZCByZWN1cnNpb24gaW4gY2F0YWxvZyAlc1xuIiwKKwkJICAgICAgY2F0YWwtPm5hbWUsIE5VTEwsIE5VTEwpOworCXJldHVybihOVUxMKTsKKyAgICB9CisKKyAgICAvKgorICAgICAqIEZpcnN0IHRyaWVzIHN0ZXBzIDIvIDMvIDQvIGlmIGEgc3lzdGVtIElEIGlzIHByb3ZpZGVkLgorICAgICAqLworICAgIGN1ciA9IGNhdGFsOworICAgIGhhdmVEZWxlZ2F0ZSA9IDA7CisgICAgd2hpbGUgKGN1ciAhPSBOVUxMKSB7CisJc3dpdGNoIChjdXItPnR5cGUpIHsKKwkgICAgY2FzZSBYTUxfQ0FUQV9VUkk6CisJCWlmICh4bWxTdHJFcXVhbChVUkksIGN1ci0+bmFtZSkpIHsKKwkJICAgIGlmICh4bWxEZWJ1Z0NhdGFsb2dzKQorCQkJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCQkJIkZvdW5kIFVSSSBtYXRjaCAlc1xuIiwgY3VyLT5uYW1lKTsKKwkJICAgIHJldHVybih4bWxTdHJkdXAoY3VyLT5VUkwpKTsKKwkJfQorCQlicmVhazsKKwkgICAgY2FzZSBYTUxfQ0FUQV9SRVdSSVRFX1VSSToKKwkJbGVuID0geG1sU3RybGVuKGN1ci0+bmFtZSk7CisJCWlmICgobGVuID4gbGVucmV3cml0ZSkgJiYKKwkJICAgICgheG1sU3RybmNtcChVUkksIGN1ci0+bmFtZSwgbGVuKSkpIHsKKwkJICAgIGxlbnJld3JpdGUgPSBsZW47CisJCSAgICByZXdyaXRlID0gY3VyOworCQl9CisJCWJyZWFrOworCSAgICBjYXNlIFhNTF9DQVRBX0RFTEVHQVRFX1VSSToKKwkJaWYgKCF4bWxTdHJuY21wKFVSSSwgY3VyLT5uYW1lLCB4bWxTdHJsZW4oY3VyLT5uYW1lKSkpCisJCSAgICBoYXZlRGVsZWdhdGUrKzsKKwkJYnJlYWs7CisJICAgIGNhc2UgWE1MX0NBVEFfTkVYVF9DQVRBTE9HOgorCQloYXZlTmV4dCsrOworCQlicmVhazsKKwkgICAgZGVmYXVsdDoKKwkJYnJlYWs7CisJfQorCWN1ciA9IGN1ci0+bmV4dDsKKyAgICB9CisgICAgaWYgKHJld3JpdGUgIT0gTlVMTCkgeworCWlmICh4bWxEZWJ1Z0NhdGFsb2dzKQorCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJICAgICJVc2luZyByZXdyaXRpbmcgcnVsZSAlc1xuIiwgcmV3cml0ZS0+bmFtZSk7CisJcmV0ID0geG1sU3RyZHVwKHJld3JpdGUtPlVSTCk7CisJaWYgKHJldCAhPSBOVUxMKQorCSAgICByZXQgPSB4bWxTdHJjYXQocmV0LCAmVVJJW2xlbnJld3JpdGVdKTsKKwlyZXR1cm4ocmV0KTsKKyAgICB9CisgICAgaWYgKGhhdmVEZWxlZ2F0ZSkgeworCWNvbnN0IHhtbENoYXIgKmRlbGVnYXRlc1tNQVhfREVMRUdBVEVdOworCWludCBuYkxpc3QgPSAwLCBpOworCisJLyoKKwkgKiBBc3N1bWUgdGhlIGVudHJpZXMgaGF2ZSBiZWVuIHNvcnRlZCBieSBkZWNyZWFzaW5nIHN1YnN0cmluZworCSAqIG1hdGNoZXMgd2hlbiB0aGUgbGlzdCB3YXMgcHJvZHVjZWQuCisJICovCisJY3VyID0gY2F0YWw7CisJd2hpbGUgKGN1ciAhPSBOVUxMKSB7CisJICAgIGlmICgoKGN1ci0+dHlwZSA9PSBYTUxfQ0FUQV9ERUxFR0FURV9TWVNURU0pIHx8CisJICAgICAgICAgKGN1ci0+dHlwZSA9PSBYTUxfQ0FUQV9ERUxFR0FURV9VUkkpKSAmJgorCQkoIXhtbFN0cm5jbXAoVVJJLCBjdXItPm5hbWUsIHhtbFN0cmxlbihjdXItPm5hbWUpKSkpIHsKKwkJZm9yIChpID0gMDtpIDwgbmJMaXN0O2krKykKKwkJICAgIGlmICh4bWxTdHJFcXVhbChjdXItPlVSTCwgZGVsZWdhdGVzW2ldKSkKKwkJCWJyZWFrOworCQlpZiAoaSA8IG5iTGlzdCkgeworCQkgICAgY3VyID0gY3VyLT5uZXh0OworCQkgICAgY29udGludWU7CisJCX0KKwkJaWYgKG5iTGlzdCA8IE1BWF9ERUxFR0FURSkKKwkJICAgIGRlbGVnYXRlc1tuYkxpc3QrK10gPSBjdXItPlVSTDsKKworCQlpZiAoY3VyLT5jaGlsZHJlbiA9PSBOVUxMKSB7CisJCSAgICB4bWxGZXRjaFhNTENhdGFsb2dGaWxlKGN1cik7CisJCX0KKwkJaWYgKGN1ci0+Y2hpbGRyZW4gIT0gTlVMTCkgeworCQkgICAgaWYgKHhtbERlYnVnQ2F0YWxvZ3MpCisJCQl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJCQkiVHJ5aW5nIFVSSSBkZWxlZ2F0ZSAlc1xuIiwgY3VyLT5VUkwpOworCQkgICAgcmV0ID0geG1sQ2F0YWxvZ0xpc3RYTUxSZXNvbHZlVVJJKAorCQkJICAgIGN1ci0+Y2hpbGRyZW4sIFVSSSk7CisJCSAgICBpZiAocmV0ICE9IE5VTEwpCisJCQlyZXR1cm4ocmV0KTsKKwkJfQorCSAgICB9CisJICAgIGN1ciA9IGN1ci0+bmV4dDsKKwl9CisJLyoKKwkgKiBBcHBseSB0aGUgY3V0IGFsZ29yaXRobSBleHBsYWluZWQgaW4gNC8KKwkgKi8KKwlyZXR1cm4oWE1MX0NBVEFMX0JSRUFLKTsKKyAgICB9CisgICAgaWYgKGhhdmVOZXh0KSB7CisJY3VyID0gY2F0YWw7CisJd2hpbGUgKGN1ciAhPSBOVUxMKSB7CisJICAgIGlmIChjdXItPnR5cGUgPT0gWE1MX0NBVEFfTkVYVF9DQVRBTE9HKSB7CisJCWlmIChjdXItPmNoaWxkcmVuID09IE5VTEwpIHsKKwkJICAgIHhtbEZldGNoWE1MQ2F0YWxvZ0ZpbGUoY3VyKTsKKwkJfQorCQlpZiAoY3VyLT5jaGlsZHJlbiAhPSBOVUxMKSB7CisJCSAgICByZXQgPSB4bWxDYXRhbG9nTGlzdFhNTFJlc29sdmVVUkkoY3VyLT5jaGlsZHJlbiwgVVJJKTsKKwkJICAgIGlmIChyZXQgIT0gTlVMTCkKKwkJCXJldHVybihyZXQpOworCQl9CisJICAgIH0KKwkgICAgY3VyID0gY3VyLT5uZXh0OworCX0KKyAgICB9CisKKyAgICByZXR1cm4oTlVMTCk7Cit9CisKKy8qKgorICogeG1sQ2F0YWxvZ0xpc3RYTUxSZXNvbHZlOgorICogQGNhdGFsOiAgYSBjYXRhbG9nIGxpc3QKKyAqIEBwdWJJRDogIHRoZSBwdWJsaWMgSUQgc3RyaW5nCisgKiBAc3lzSUQ6ICB0aGUgc3lzdGVtIElEIHN0cmluZworICoKKyAqIERvIGEgY29tcGxldGUgcmVzb2x1dGlvbiBsb29rdXAgb2YgYW4gRXh0ZXJuYWwgSWRlbnRpZmllciBmb3IgYQorICogbGlzdCBvZiBjYXRhbG9ncworICoKKyAqIEltcGxlbWVudHMgKG9yIHRyaWVzIHRvKSA3LjEuIEV4dGVybmFsIElkZW50aWZpZXIgUmVzb2x1dGlvbgorICogZnJvbSBodHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL2NvbW1pdHRlZXMvZW50aXR5L3NwZWMtMjAwMS0wOC0wNi5odG1sCisgKgorICogUmV0dXJucyB0aGUgVVJJIG9mIHRoZSByZXNvdXJjZSBvciBOVUxMIGlmIG5vdCBmb3VuZAorICovCitzdGF0aWMgeG1sQ2hhciAqCit4bWxDYXRhbG9nTGlzdFhNTFJlc29sdmUoeG1sQ2F0YWxvZ0VudHJ5UHRyIGNhdGFsLCBjb25zdCB4bWxDaGFyICpwdWJJRCwKKwkgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKnN5c0lEKSB7CisgICAgeG1sQ2hhciAqcmV0ID0gTlVMTDsKKyAgICB4bWxDaGFyICp1cm5JRCA9IE5VTEw7CisgICAgeG1sQ2hhciAqbm9ybWlkOworCisgICAgaWYgKGNhdGFsID09IE5VTEwpCisgICAgICAgIHJldHVybihOVUxMKTsKKyAgICBpZiAoKHB1YklEID09IE5VTEwpICYmIChzeXNJRCA9PSBOVUxMKSkKKwlyZXR1cm4oTlVMTCk7CisKKyAgICBub3JtaWQgPSB4bWxDYXRhbG9nTm9ybWFsaXplUHVibGljKHB1YklEKTsKKyAgICBpZiAobm9ybWlkICE9IE5VTEwpCisgICAgICAgIHB1YklEID0gKCpub3JtaWQgIT0gMCA/IG5vcm1pZCA6IE5VTEwpOworCisgICAgaWYgKCF4bWxTdHJuY21wKHB1YklELCBCQURfQ0FTVCBYTUxfVVJOX1BVQklELCBzaXplb2YoWE1MX1VSTl9QVUJJRCkgLSAxKSkgeworCXVybklEID0geG1sQ2F0YWxvZ1VuV3JhcFVSTihwdWJJRCk7CisJaWYgKHhtbERlYnVnQ2F0YWxvZ3MpIHsKKwkgICAgaWYgKHVybklEID09IE5VTEwpCisJCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkJIlB1YmxpYyBVUk4gSUQgJXMgZXhwYW5kZWQgdG8gTlVMTFxuIiwgcHViSUQpOworCSAgICBlbHNlCisJCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkJIlB1YmxpYyBVUk4gSUQgZXhwYW5kZWQgdG8gJXNcbiIsIHVybklEKTsKKwl9CisJcmV0ID0geG1sQ2F0YWxvZ0xpc3RYTUxSZXNvbHZlKGNhdGFsLCB1cm5JRCwgc3lzSUQpOworCWlmICh1cm5JRCAhPSBOVUxMKQorCSAgICB4bWxGcmVlKHVybklEKTsKKwlpZiAobm9ybWlkICE9IE5VTEwpCisJICAgIHhtbEZyZWUobm9ybWlkKTsKKwlyZXR1cm4ocmV0KTsKKyAgICB9CisgICAgaWYgKCF4bWxTdHJuY21wKHN5c0lELCBCQURfQ0FTVCBYTUxfVVJOX1BVQklELCBzaXplb2YoWE1MX1VSTl9QVUJJRCkgLSAxKSkgeworCXVybklEID0geG1sQ2F0YWxvZ1VuV3JhcFVSTihzeXNJRCk7CisJaWYgKHhtbERlYnVnQ2F0YWxvZ3MpIHsKKwkgICAgaWYgKHVybklEID09IE5VTEwpCisJCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkJIlN5c3RlbSBVUk4gSUQgJXMgZXhwYW5kZWQgdG8gTlVMTFxuIiwgc3lzSUQpOworCSAgICBlbHNlCisJCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkJIlN5c3RlbSBVUk4gSUQgZXhwYW5kZWQgdG8gJXNcbiIsIHVybklEKTsKKwl9CisJaWYgKHB1YklEID09IE5VTEwpCisJICAgIHJldCA9IHhtbENhdGFsb2dMaXN0WE1MUmVzb2x2ZShjYXRhbCwgdXJuSUQsIE5VTEwpOworCWVsc2UgaWYgKHhtbFN0ckVxdWFsKHB1YklELCB1cm5JRCkpCisJICAgIHJldCA9IHhtbENhdGFsb2dMaXN0WE1MUmVzb2x2ZShjYXRhbCwgcHViSUQsIE5VTEwpOworCWVsc2UgeworCSAgICByZXQgPSB4bWxDYXRhbG9nTGlzdFhNTFJlc29sdmUoY2F0YWwsIHB1YklELCB1cm5JRCk7CisJfQorCWlmICh1cm5JRCAhPSBOVUxMKQorCSAgICB4bWxGcmVlKHVybklEKTsKKwlpZiAobm9ybWlkICE9IE5VTEwpCisJICAgIHhtbEZyZWUobm9ybWlkKTsKKwlyZXR1cm4ocmV0KTsKKyAgICB9CisgICAgd2hpbGUgKGNhdGFsICE9IE5VTEwpIHsKKwlpZiAoY2F0YWwtPnR5cGUgPT0gWE1MX0NBVEFfQ0FUQUxPRykgeworCSAgICBpZiAoY2F0YWwtPmNoaWxkcmVuID09IE5VTEwpIHsKKwkJeG1sRmV0Y2hYTUxDYXRhbG9nRmlsZShjYXRhbCk7CisJICAgIH0KKwkgICAgaWYgKGNhdGFsLT5jaGlsZHJlbiAhPSBOVUxMKSB7CisJCXJldCA9IHhtbENhdGFsb2dYTUxSZXNvbHZlKGNhdGFsLT5jaGlsZHJlbiwgcHViSUQsIHN5c0lEKTsKKwkJaWYgKHJldCAhPSBOVUxMKSB7CisJCSAgICBicmVhazsKKyAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKChjYXRhbC0+Y2hpbGRyZW4gIT0gTlVMTCkgJiYKKwkJICAgICAgICAgICAoY2F0YWwtPmNoaWxkcmVuLT5kZXB0aCA+IE1BWF9DQVRBTF9ERVBUSCkpIHsKKwkgICAgICAgICAgICByZXQgPSBOVUxMOworCQkgICAgYnJlYWs7CisJICAgICAgICB9CisJICAgIH0KKwl9CisJY2F0YWwgPSBjYXRhbC0+bmV4dDsKKyAgICB9CisgICAgaWYgKG5vcm1pZCAhPSBOVUxMKQorCXhtbEZyZWUobm9ybWlkKTsKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxDYXRhbG9nTGlzdFhNTFJlc29sdmVVUkk6CisgKiBAY2F0YWw6ICBhIGNhdGFsb2cgbGlzdAorICogQFVSSTogIHRoZSBVUkkKKyAqCisgKiBEbyBhIGNvbXBsZXRlIHJlc29sdXRpb24gbG9va3VwIG9mIGFuIFVSSSBmb3IgYSBsaXN0IG9mIGNhdGFsb2dzCisgKgorICogSW1wbGVtZW50cyAob3IgdHJpZXMgdG8pIDcuMi4gVVJJIFJlc29sdXRpb24KKyAqIGZyb20gaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9jb21taXR0ZWVzL2VudGl0eS9zcGVjLTIwMDEtMDgtMDYuaHRtbAorICoKKyAqIFJldHVybnMgdGhlIFVSSSBvZiB0aGUgcmVzb3VyY2Ugb3IgTlVMTCBpZiBub3QgZm91bmQKKyAqLworc3RhdGljIHhtbENoYXIgKgoreG1sQ2F0YWxvZ0xpc3RYTUxSZXNvbHZlVVJJKHhtbENhdGFsb2dFbnRyeVB0ciBjYXRhbCwgY29uc3QgeG1sQ2hhciAqVVJJKSB7CisgICAgeG1sQ2hhciAqcmV0ID0gTlVMTDsKKyAgICB4bWxDaGFyICp1cm5JRCA9IE5VTEw7CisKKyAgICBpZiAoY2F0YWwgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuKE5VTEwpOworICAgIGlmIChVUkkgPT0gTlVMTCkKKwlyZXR1cm4oTlVMTCk7CisKKyAgICBpZiAoIXhtbFN0cm5jbXAoVVJJLCBCQURfQ0FTVCBYTUxfVVJOX1BVQklELCBzaXplb2YoWE1MX1VSTl9QVUJJRCkgLSAxKSkgeworCXVybklEID0geG1sQ2F0YWxvZ1VuV3JhcFVSTihVUkkpOworCWlmICh4bWxEZWJ1Z0NhdGFsb2dzKSB7CisJICAgIGlmICh1cm5JRCA9PSBOVUxMKQorCQl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJCSJVUk4gSUQgJXMgZXhwYW5kZWQgdG8gTlVMTFxuIiwgVVJJKTsKKwkgICAgZWxzZQorCQl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJCSJVUk4gSUQgZXhwYW5kZWQgdG8gJXNcbiIsIHVybklEKTsKKwl9CisJcmV0ID0geG1sQ2F0YWxvZ0xpc3RYTUxSZXNvbHZlKGNhdGFsLCB1cm5JRCwgTlVMTCk7CisJaWYgKHVybklEICE9IE5VTEwpCisJICAgIHhtbEZyZWUodXJuSUQpOworCXJldHVybihyZXQpOworICAgIH0KKyAgICB3aGlsZSAoY2F0YWwgIT0gTlVMTCkgeworCWlmIChjYXRhbC0+dHlwZSA9PSBYTUxfQ0FUQV9DQVRBTE9HKSB7CisJICAgIGlmIChjYXRhbC0+Y2hpbGRyZW4gPT0gTlVMTCkgeworCQl4bWxGZXRjaFhNTENhdGFsb2dGaWxlKGNhdGFsKTsKKwkgICAgfQorCSAgICBpZiAoY2F0YWwtPmNoaWxkcmVuICE9IE5VTEwpIHsKKwkJcmV0ID0geG1sQ2F0YWxvZ1hNTFJlc29sdmVVUkkoY2F0YWwtPmNoaWxkcmVuLCBVUkkpOworCQlpZiAocmV0ICE9IE5VTEwpCisJCSAgICByZXR1cm4ocmV0KTsKKwkgICAgfQorCX0KKwljYXRhbCA9IGNhdGFsLT5uZXh0OworICAgIH0KKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJCVRoZSBTR01MIENhdGFsb2cgcGFyc2VyCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworCisjZGVmaW5lIFJBVyAqY3VyCisjZGVmaW5lIE5FWFQgY3VyKys7CisjZGVmaW5lIFNLSVAoeCkgY3VyICs9IHg7CisKKyNkZWZpbmUgU0tJUF9CTEFOS1Mgd2hpbGUgKElTX0JMQU5LX0NIKCpjdXIpKSBORVhUOworCisvKioKKyAqIHhtbFBhcnNlU0dNTENhdGFsb2dDb21tZW50OgorICogQGN1cjogIHRoZSBjdXJyZW50IGNoYXJhY3RlcgorICoKKyAqIFNraXAgYSBjb21tZW50IGluIGFuIFNHTUwgY2F0YWxvZworICoKKyAqIFJldHVybnMgbmV3IGN1cnJlbnQgY2hhcmFjdGVyCisgKi8KK3N0YXRpYyBjb25zdCB4bWxDaGFyICoKK3htbFBhcnNlU0dNTENhdGFsb2dDb21tZW50KGNvbnN0IHhtbENoYXIgKmN1cikgeworICAgIGlmICgoY3VyWzBdICE9ICctJykgfHwgKGN1clsxXSAhPSAnLScpKQorCXJldHVybihjdXIpOworICAgIFNLSVAoMik7CisgICAgd2hpbGUgKChjdXJbMF0gIT0gMCkgJiYgKChjdXJbMF0gIT0gJy0nKSB8fCAoKGN1clsxXSAhPSAnLScpKSkpCisJTkVYVDsKKyAgICBpZiAoY3VyWzBdID09IDApIHsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIHJldHVybihjdXIgKyAyKTsKK30KKworLyoqCisgKiB4bWxQYXJzZVNHTUxDYXRhbG9nUHViaWQ6CisgKiBAY3VyOiAgdGhlIGN1cnJlbnQgY2hhcmFjdGVyCisgKiBAaWQ6ICB0aGUgcmV0dXJuIGxvY2F0aW9uCisgKgorICogUGFyc2UgYW4gU0dNTCBjYXRhbG9nIElECisgKgorICogUmV0dXJucyBuZXcgY3VycmVudCBjaGFyYWN0ZXIgYW5kIHN0b3JlIHRoZSB2YWx1ZSBpbiBAaWQKKyAqLworc3RhdGljIGNvbnN0IHhtbENoYXIgKgoreG1sUGFyc2VTR01MQ2F0YWxvZ1B1YmlkKGNvbnN0IHhtbENoYXIgKmN1ciwgeG1sQ2hhciAqKmlkKSB7CisgICAgeG1sQ2hhciAqYnVmID0gTlVMTCwgKnRtcDsKKyAgICBpbnQgbGVuID0gMDsKKyAgICBpbnQgc2l6ZSA9IDUwOworICAgIHhtbENoYXIgc3RvcDsKKyAgICBpbnQgY291bnQgPSAwOworCisgICAgKmlkID0gTlVMTDsKKworICAgIGlmIChSQVcgPT0gJyInKSB7CisgICAgICAgIE5FWFQ7CisJc3RvcCA9ICciJzsKKyAgICB9IGVsc2UgaWYgKFJBVyA9PSAnXCcnKSB7CisgICAgICAgIE5FWFQ7CisJc3RvcCA9ICdcJyc7CisgICAgfSBlbHNlIHsKKwlzdG9wID0gJyAnOworICAgIH0KKyAgICBidWYgPSAoeG1sQ2hhciAqKSB4bWxNYWxsb2NBdG9taWMoc2l6ZSAqIHNpemVvZih4bWxDaGFyKSk7CisgICAgaWYgKGJ1ZiA9PSBOVUxMKSB7CisgICAgICAgIHhtbENhdGFsb2dFcnJNZW1vcnkoImFsbG9jYXRpbmcgcHVibGljIElEIik7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICB3aGlsZSAoSVNfUFVCSURDSEFSX0NIKCpjdXIpIHx8ICgqY3VyID09ICc/JykpIHsKKwlpZiAoKCpjdXIgPT0gc3RvcCkgJiYgKHN0b3AgIT0gJyAnKSkKKwkgICAgYnJlYWs7CisJaWYgKChzdG9wID09ICcgJykgJiYgKElTX0JMQU5LX0NIKCpjdXIpKSkKKwkgICAgYnJlYWs7CisJaWYgKGxlbiArIDEgPj0gc2l6ZSkgeworCSAgICBzaXplICo9IDI7CisJICAgIHRtcCA9ICh4bWxDaGFyICopIHhtbFJlYWxsb2MoYnVmLCBzaXplICogc2l6ZW9mKHhtbENoYXIpKTsKKwkgICAgaWYgKHRtcCA9PSBOVUxMKSB7CisJCXhtbENhdGFsb2dFcnJNZW1vcnkoImFsbG9jYXRpbmcgcHVibGljIElEIik7CisJCXhtbEZyZWUoYnVmKTsKKwkJcmV0dXJuKE5VTEwpOworCSAgICB9CisJICAgIGJ1ZiA9IHRtcDsKKwl9CisJYnVmW2xlbisrXSA9ICpjdXI7CisJY291bnQrKzsKKwlORVhUOworICAgIH0KKyAgICBidWZbbGVuXSA9IDA7CisgICAgaWYgKHN0b3AgPT0gJyAnKSB7CisJaWYgKCFJU19CTEFOS19DSCgqY3VyKSkgeworCSAgICB4bWxGcmVlKGJ1Zik7CisJICAgIHJldHVybihOVUxMKTsKKwl9CisgICAgfSBlbHNlIHsKKwlpZiAoKmN1ciAhPSBzdG9wKSB7CisJICAgIHhtbEZyZWUoYnVmKTsKKwkgICAgcmV0dXJuKE5VTEwpOworCX0KKwlORVhUOworICAgIH0KKyAgICAqaWQgPSBidWY7CisgICAgcmV0dXJuKGN1cik7Cit9CisKKy8qKgorICogeG1sUGFyc2VTR01MQ2F0YWxvZ05hbWU6CisgKiBAY3VyOiAgdGhlIGN1cnJlbnQgY2hhcmFjdGVyCisgKiBAbmFtZTogIHRoZSByZXR1cm4gbG9jYXRpb24KKyAqCisgKiBQYXJzZSBhbiBTR01MIGNhdGFsb2cgbmFtZQorICoKKyAqIFJldHVybnMgbmV3IGN1cnJlbnQgY2hhcmFjdGVyIGFuZCBzdG9yZSB0aGUgdmFsdWUgaW4gQG5hbWUKKyAqLworc3RhdGljIGNvbnN0IHhtbENoYXIgKgoreG1sUGFyc2VTR01MQ2F0YWxvZ05hbWUoY29uc3QgeG1sQ2hhciAqY3VyLCB4bWxDaGFyICoqbmFtZSkgeworICAgIHhtbENoYXIgYnVmW1hNTF9NQVhfTkFNRUxFTiArIDVdOworICAgIGludCBsZW4gPSAwOworICAgIGludCBjOworCisgICAgKm5hbWUgPSBOVUxMOworCisgICAgLyoKKyAgICAgKiBIYW5kbGVyIGZvciBtb3JlIGNvbXBsZXggY2FzZXMKKyAgICAgKi8KKyAgICBjID0gKmN1cjsKKyAgICBpZiAoKCFJU19MRVRURVIoYykgJiYgKGMgIT0gJ18nKSAmJiAoYyAhPSAnOicpKSkgeworCXJldHVybihOVUxMKTsKKyAgICB9CisKKyAgICB3aGlsZSAoKChJU19MRVRURVIoYykpIHx8IChJU19ESUdJVChjKSkgfHwKKyAgICAgICAgICAgIChjID09ICcuJykgfHwgKGMgPT0gJy0nKSB8fAorCSAgICAoYyA9PSAnXycpIHx8IChjID09ICc6JykpKSB7CisJYnVmW2xlbisrXSA9IGM7CisJY3VyKys7CisJYyA9ICpjdXI7CisJaWYgKGxlbiA+PSBYTUxfTUFYX05BTUVMRU4pCisJICAgIHJldHVybihOVUxMKTsKKyAgICB9CisgICAgKm5hbWUgPSB4bWxTdHJuZHVwKGJ1ZiwgbGVuKTsKKyAgICByZXR1cm4oY3VyKTsKK30KKworLyoqCisgKiB4bWxHZXRTR01MQ2F0YWxvZ0VudHJ5VHlwZToKKyAqIEBuYW1lOiAgdGhlIGVudHJ5IG5hbWUKKyAqCisgKiBHZXQgdGhlIENhdGFsb2cgZW50cnkgdHlwZSBmb3IgYSBnaXZlbiBTR01MIENhdGFsb2cgbmFtZQorICoKKyAqIFJldHVybnMgQ2F0YWxvZyBlbnRyeSB0eXBlCisgKi8KK3N0YXRpYyB4bWxDYXRhbG9nRW50cnlUeXBlCit4bWxHZXRTR01MQ2F0YWxvZ0VudHJ5VHlwZShjb25zdCB4bWxDaGFyICpuYW1lKSB7CisgICAgeG1sQ2F0YWxvZ0VudHJ5VHlwZSB0eXBlID0gWE1MX0NBVEFfTk9ORTsKKyAgICBpZiAoeG1sU3RyRXF1YWwobmFtZSwgKGNvbnN0IHhtbENoYXIgKikgIlNZU1RFTSIpKQorCXR5cGUgPSBTR01MX0NBVEFfU1lTVEVNOworICAgIGVsc2UgaWYgKHhtbFN0ckVxdWFsKG5hbWUsIChjb25zdCB4bWxDaGFyICopICJQVUJMSUMiKSkKKwl0eXBlID0gU0dNTF9DQVRBX1BVQkxJQzsKKyAgICBlbHNlIGlmICh4bWxTdHJFcXVhbChuYW1lLCAoY29uc3QgeG1sQ2hhciAqKSAiREVMRUdBVEUiKSkKKwl0eXBlID0gU0dNTF9DQVRBX0RFTEVHQVRFOworICAgIGVsc2UgaWYgKHhtbFN0ckVxdWFsKG5hbWUsIChjb25zdCB4bWxDaGFyICopICJFTlRJVFkiKSkKKwl0eXBlID0gU0dNTF9DQVRBX0VOVElUWTsKKyAgICBlbHNlIGlmICh4bWxTdHJFcXVhbChuYW1lLCAoY29uc3QgeG1sQ2hhciAqKSAiRE9DVFlQRSIpKQorCXR5cGUgPSBTR01MX0NBVEFfRE9DVFlQRTsKKyAgICBlbHNlIGlmICh4bWxTdHJFcXVhbChuYW1lLCAoY29uc3QgeG1sQ2hhciAqKSAiTElOS1RZUEUiKSkKKwl0eXBlID0gU0dNTF9DQVRBX0xJTktUWVBFOworICAgIGVsc2UgaWYgKHhtbFN0ckVxdWFsKG5hbWUsIChjb25zdCB4bWxDaGFyICopICJOT1RBVElPTiIpKQorCXR5cGUgPSBTR01MX0NBVEFfTk9UQVRJT047CisgICAgZWxzZSBpZiAoeG1sU3RyRXF1YWwobmFtZSwgKGNvbnN0IHhtbENoYXIgKikgIlNHTUxERUNMIikpCisJdHlwZSA9IFNHTUxfQ0FUQV9TR01MREVDTDsKKyAgICBlbHNlIGlmICh4bWxTdHJFcXVhbChuYW1lLCAoY29uc3QgeG1sQ2hhciAqKSAiRE9DVU1FTlQiKSkKKwl0eXBlID0gU0dNTF9DQVRBX0RPQ1VNRU5UOworICAgIGVsc2UgaWYgKHhtbFN0ckVxdWFsKG5hbWUsIChjb25zdCB4bWxDaGFyICopICJDQVRBTE9HIikpCisJdHlwZSA9IFNHTUxfQ0FUQV9DQVRBTE9HOworICAgIGVsc2UgaWYgKHhtbFN0ckVxdWFsKG5hbWUsIChjb25zdCB4bWxDaGFyICopICJCQVNFIikpCisJdHlwZSA9IFNHTUxfQ0FUQV9CQVNFOworICAgIHJldHVybih0eXBlKTsKK30KKworLyoqCisgKiB4bWxQYXJzZVNHTUxDYXRhbG9nOgorICogQGNhdGFsOiAgdGhlIFNHTUwgQ2F0YWxvZworICogQHZhbHVlOiAgdGhlIGNvbnRlbnQgb2YgdGhlIFNHTUwgQ2F0YWxvZyBzZXJpYWxpemF0aW9uCisgKiBAZmlsZTogIHRoZSBmaWxlcGF0aCBmb3IgdGhlIGNhdGFsb2cKKyAqIEBzdXBlcjogIHNob3VsZCB0aGlzIGJlIGhhbmRsZWQgYXMgYSBTdXBlciBDYXRhbG9nIGluIHdoaWNoIGNhc2UKKyAqICAgICAgICAgIHBhcnNpbmcgaXMgbm90IHJlY3Vyc2l2ZQorICoKKyAqIFBhcnNlIGFuIFNHTUwgY2F0YWxvZyBjb250ZW50IGFuZCBmaWxsIHVwIHRoZSBAY2F0YWwgaGFzaCB0YWJsZSB3aXRoCisgKiB0aGUgbmV3IGVudHJpZXMgZm91bmQuCisgKgorICogUmV0dXJucyAwIGluIGNhc2Ugb2Ygc3VjY2VzcywgLTEgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworc3RhdGljIGludAoreG1sUGFyc2VTR01MQ2F0YWxvZyh4bWxDYXRhbG9nUHRyIGNhdGFsLCBjb25zdCB4bWxDaGFyICp2YWx1ZSwKKwkgICAgICAgICAgICBjb25zdCBjaGFyICpmaWxlLCBpbnQgc3VwZXIpIHsKKyAgICBjb25zdCB4bWxDaGFyICpjdXIgPSB2YWx1ZTsKKyAgICB4bWxDaGFyICpiYXNlID0gTlVMTDsKKyAgICBpbnQgcmVzOworCisgICAgaWYgKChjdXIgPT0gTlVMTCkgfHwgKGZpbGUgPT0gTlVMTCkpCisgICAgICAgIHJldHVybigtMSk7CisgICAgYmFzZSA9IHhtbFN0cmR1cCgoY29uc3QgeG1sQ2hhciAqKSBmaWxlKTsKKworICAgIHdoaWxlICgoY3VyICE9IE5VTEwpICYmIChjdXJbMF0gIT0gMCkpIHsKKwlTS0lQX0JMQU5LUzsKKwlpZiAoY3VyWzBdID09IDApCisJICAgIGJyZWFrOworCWlmICgoY3VyWzBdID09ICctJykgJiYgKGN1clsxXSA9PSAnLScpKSB7CisJICAgIGN1ciA9IHhtbFBhcnNlU0dNTENhdGFsb2dDb21tZW50KGN1cik7CisJICAgIGlmIChjdXIgPT0gTlVMTCkgeworCQkvKiBlcnJvciAqLworCQlicmVhazsKKwkgICAgfQorCX0gZWxzZSB7CisJICAgIHhtbENoYXIgKnN5c2lkID0gTlVMTDsKKwkgICAgeG1sQ2hhciAqbmFtZSA9IE5VTEw7CisJICAgIHhtbENhdGFsb2dFbnRyeVR5cGUgdHlwZSA9IFhNTF9DQVRBX05PTkU7CisKKwkgICAgY3VyID0geG1sUGFyc2VTR01MQ2F0YWxvZ05hbWUoY3VyLCAmbmFtZSk7CisJICAgIGlmIChuYW1lID09IE5VTEwpIHsKKwkJLyogZXJyb3IgKi8KKwkJYnJlYWs7CisJICAgIH0KKwkgICAgaWYgKCFJU19CTEFOS19DSCgqY3VyKSkgeworCQkvKiBlcnJvciAqLworCQlicmVhazsKKwkgICAgfQorCSAgICBTS0lQX0JMQU5LUzsKKwkgICAgaWYgKHhtbFN0ckVxdWFsKG5hbWUsIChjb25zdCB4bWxDaGFyICopICJTWVNURU0iKSkKKyAgICAgICAgICAgICAgICB0eXBlID0gU0dNTF9DQVRBX1NZU1RFTTsKKwkgICAgZWxzZSBpZiAoeG1sU3RyRXF1YWwobmFtZSwgKGNvbnN0IHhtbENoYXIgKikgIlBVQkxJQyIpKQorICAgICAgICAgICAgICAgIHR5cGUgPSBTR01MX0NBVEFfUFVCTElDOworCSAgICBlbHNlIGlmICh4bWxTdHJFcXVhbChuYW1lLCAoY29uc3QgeG1sQ2hhciAqKSAiREVMRUdBVEUiKSkKKyAgICAgICAgICAgICAgICB0eXBlID0gU0dNTF9DQVRBX0RFTEVHQVRFOworCSAgICBlbHNlIGlmICh4bWxTdHJFcXVhbChuYW1lLCAoY29uc3QgeG1sQ2hhciAqKSAiRU5USVRZIikpCisgICAgICAgICAgICAgICAgdHlwZSA9IFNHTUxfQ0FUQV9FTlRJVFk7CisJICAgIGVsc2UgaWYgKHhtbFN0ckVxdWFsKG5hbWUsIChjb25zdCB4bWxDaGFyICopICJET0NUWVBFIikpCisgICAgICAgICAgICAgICAgdHlwZSA9IFNHTUxfQ0FUQV9ET0NUWVBFOworCSAgICBlbHNlIGlmICh4bWxTdHJFcXVhbChuYW1lLCAoY29uc3QgeG1sQ2hhciAqKSAiTElOS1RZUEUiKSkKKyAgICAgICAgICAgICAgICB0eXBlID0gU0dNTF9DQVRBX0xJTktUWVBFOworCSAgICBlbHNlIGlmICh4bWxTdHJFcXVhbChuYW1lLCAoY29uc3QgeG1sQ2hhciAqKSAiTk9UQVRJT04iKSkKKyAgICAgICAgICAgICAgICB0eXBlID0gU0dNTF9DQVRBX05PVEFUSU9OOworCSAgICBlbHNlIGlmICh4bWxTdHJFcXVhbChuYW1lLCAoY29uc3QgeG1sQ2hhciAqKSAiU0dNTERFQ0wiKSkKKyAgICAgICAgICAgICAgICB0eXBlID0gU0dNTF9DQVRBX1NHTUxERUNMOworCSAgICBlbHNlIGlmICh4bWxTdHJFcXVhbChuYW1lLCAoY29uc3QgeG1sQ2hhciAqKSAiRE9DVU1FTlQiKSkKKyAgICAgICAgICAgICAgICB0eXBlID0gU0dNTF9DQVRBX0RPQ1VNRU5UOworCSAgICBlbHNlIGlmICh4bWxTdHJFcXVhbChuYW1lLCAoY29uc3QgeG1sQ2hhciAqKSAiQ0FUQUxPRyIpKQorICAgICAgICAgICAgICAgIHR5cGUgPSBTR01MX0NBVEFfQ0FUQUxPRzsKKwkgICAgZWxzZSBpZiAoeG1sU3RyRXF1YWwobmFtZSwgKGNvbnN0IHhtbENoYXIgKikgIkJBU0UiKSkKKyAgICAgICAgICAgICAgICB0eXBlID0gU0dNTF9DQVRBX0JBU0U7CisJICAgIGVsc2UgaWYgKHhtbFN0ckVxdWFsKG5hbWUsIChjb25zdCB4bWxDaGFyICopICJPVkVSUklERSIpKSB7CisJCXhtbEZyZWUobmFtZSk7CisJCWN1ciA9IHhtbFBhcnNlU0dNTENhdGFsb2dOYW1lKGN1ciwgJm5hbWUpOworCQlpZiAobmFtZSA9PSBOVUxMKSB7CisJCSAgICAvKiBlcnJvciAqLworCQkgICAgYnJlYWs7CisJCX0KKwkJeG1sRnJlZShuYW1lKTsKKwkJY29udGludWU7CisJICAgIH0KKwkgICAgeG1sRnJlZShuYW1lKTsKKwkgICAgbmFtZSA9IE5VTEw7CisKKwkgICAgc3dpdGNoKHR5cGUpIHsKKwkJY2FzZSBTR01MX0NBVEFfRU5USVRZOgorCQkgICAgaWYgKCpjdXIgPT0gJyUnKQorCQkJdHlwZSA9IFNHTUxfQ0FUQV9QRU5USVRZOworCQljYXNlIFNHTUxfQ0FUQV9QRU5USVRZOgorCQljYXNlIFNHTUxfQ0FUQV9ET0NUWVBFOgorCQljYXNlIFNHTUxfQ0FUQV9MSU5LVFlQRToKKwkJY2FzZSBTR01MX0NBVEFfTk9UQVRJT046CisJCSAgICBjdXIgPSB4bWxQYXJzZVNHTUxDYXRhbG9nTmFtZShjdXIsICZuYW1lKTsKKwkJICAgIGlmIChjdXIgPT0gTlVMTCkgeworCQkJLyogZXJyb3IgKi8KKwkJCWJyZWFrOworCQkgICAgfQorCQkgICAgaWYgKCFJU19CTEFOS19DSCgqY3VyKSkgeworCQkJLyogZXJyb3IgKi8KKwkJCWJyZWFrOworCQkgICAgfQorCQkgICAgU0tJUF9CTEFOS1M7CisJCSAgICBjdXIgPSB4bWxQYXJzZVNHTUxDYXRhbG9nUHViaWQoY3VyLCAmc3lzaWQpOworCQkgICAgaWYgKGN1ciA9PSBOVUxMKSB7CisJCQkvKiBlcnJvciAqLworCQkJYnJlYWs7CisJCSAgICB9CisJCSAgICBicmVhazsKKwkJY2FzZSBTR01MX0NBVEFfUFVCTElDOgorCQljYXNlIFNHTUxfQ0FUQV9TWVNURU06CisJCWNhc2UgU0dNTF9DQVRBX0RFTEVHQVRFOgorCQkgICAgY3VyID0geG1sUGFyc2VTR01MQ2F0YWxvZ1B1YmlkKGN1ciwgJm5hbWUpOworCQkgICAgaWYgKGN1ciA9PSBOVUxMKSB7CisJCQkvKiBlcnJvciAqLworCQkJYnJlYWs7CisJCSAgICB9CisJCSAgICBpZiAodHlwZSAhPSBTR01MX0NBVEFfU1lTVEVNKSB7CisJCSAgICAgICAgeG1sQ2hhciAqbm9ybWlkOworCisJCSAgICAgICAgbm9ybWlkID0geG1sQ2F0YWxvZ05vcm1hbGl6ZVB1YmxpYyhuYW1lKTsKKwkJICAgICAgICBpZiAobm9ybWlkICE9IE5VTEwpIHsKKwkJICAgICAgICAgICAgaWYgKG5hbWUgIT0gTlVMTCkKKwkJICAgICAgICAgICAgICAgIHhtbEZyZWUobmFtZSk7CisJCSAgICAgICAgICAgIGlmICgqbm9ybWlkICE9IDApCisJCSAgICAgICAgICAgICAgICBuYW1lID0gbm9ybWlkOworCQkgICAgICAgICAgICBlbHNlIHsKKwkJICAgICAgICAgICAgICAgIHhtbEZyZWUobm9ybWlkKTsKKwkJICAgICAgICAgICAgICAgIG5hbWUgPSBOVUxMOworCQkgICAgICAgICAgICB9CisJCSAgICAgICAgfQorCQkgICAgfQorCQkgICAgaWYgKCFJU19CTEFOS19DSCgqY3VyKSkgeworCQkJLyogZXJyb3IgKi8KKwkJCWJyZWFrOworCQkgICAgfQorCQkgICAgU0tJUF9CTEFOS1M7CisJCSAgICBjdXIgPSB4bWxQYXJzZVNHTUxDYXRhbG9nUHViaWQoY3VyLCAmc3lzaWQpOworCQkgICAgaWYgKGN1ciA9PSBOVUxMKSB7CisJCQkvKiBlcnJvciAqLworCQkJYnJlYWs7CisJCSAgICB9CisJCSAgICBicmVhazsKKwkJY2FzZSBTR01MX0NBVEFfQkFTRToKKwkJY2FzZSBTR01MX0NBVEFfQ0FUQUxPRzoKKwkJY2FzZSBTR01MX0NBVEFfRE9DVU1FTlQ6CisJCWNhc2UgU0dNTF9DQVRBX1NHTUxERUNMOgorCQkgICAgY3VyID0geG1sUGFyc2VTR01MQ2F0YWxvZ1B1YmlkKGN1ciwgJnN5c2lkKTsKKwkJICAgIGlmIChjdXIgPT0gTlVMTCkgeworCQkJLyogZXJyb3IgKi8KKwkJCWJyZWFrOworCQkgICAgfQorCQkgICAgYnJlYWs7CisJCWRlZmF1bHQ6CisJCSAgICBicmVhazsKKwkgICAgfQorCSAgICBpZiAoY3VyID09IE5VTEwpIHsKKwkJaWYgKG5hbWUgIT0gTlVMTCkKKwkJICAgIHhtbEZyZWUobmFtZSk7CisJCWlmIChzeXNpZCAhPSBOVUxMKQorCQkgICAgeG1sRnJlZShzeXNpZCk7CisJCWJyZWFrOworCSAgICB9IGVsc2UgaWYgKHR5cGUgPT0gU0dNTF9DQVRBX0JBU0UpIHsKKwkJaWYgKGJhc2UgIT0gTlVMTCkKKwkJICAgIHhtbEZyZWUoYmFzZSk7CisJCWJhc2UgPSB4bWxTdHJkdXAoc3lzaWQpOworCSAgICB9IGVsc2UgaWYgKCh0eXBlID09IFNHTUxfQ0FUQV9QVUJMSUMpIHx8CisJCSAgICAgICAodHlwZSA9PSBTR01MX0NBVEFfU1lTVEVNKSkgeworCQl4bWxDaGFyICpmaWxlbmFtZTsKKworCQlmaWxlbmFtZSA9IHhtbEJ1aWxkVVJJKHN5c2lkLCBiYXNlKTsKKwkJaWYgKGZpbGVuYW1lICE9IE5VTEwpIHsKKwkJICAgIHhtbENhdGFsb2dFbnRyeVB0ciBlbnRyeTsKKworCQkgICAgZW50cnkgPSB4bWxOZXdDYXRhbG9nRW50cnkodHlwZSwgbmFtZSwgZmlsZW5hbWUsCisJCQkgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIFhNTF9DQVRBX1BSRUZFUl9OT05FLCBOVUxMKTsKKwkJICAgIHJlcyA9IHhtbEhhc2hBZGRFbnRyeShjYXRhbC0+c2dtbCwgbmFtZSwgZW50cnkpOworCQkgICAgaWYgKHJlcyA8IDApIHsKKwkJCXhtbEZyZWVDYXRhbG9nRW50cnkoZW50cnkpOworCQkgICAgfQorCQkgICAgeG1sRnJlZShmaWxlbmFtZSk7CisJCX0KKworCSAgICB9IGVsc2UgaWYgKHR5cGUgPT0gU0dNTF9DQVRBX0NBVEFMT0cpIHsKKwkJaWYgKHN1cGVyKSB7CisJCSAgICB4bWxDYXRhbG9nRW50cnlQdHIgZW50cnk7CisKKwkJICAgIGVudHJ5ID0geG1sTmV3Q2F0YWxvZ0VudHJ5KHR5cGUsIHN5c2lkLCBOVUxMLCBOVUxMLAorCQkJICAgICAgICAgICAgICAgICAgICAgICBYTUxfQ0FUQV9QUkVGRVJfTk9ORSwgTlVMTCk7CisJCSAgICByZXMgPSB4bWxIYXNoQWRkRW50cnkoY2F0YWwtPnNnbWwsIHN5c2lkLCBlbnRyeSk7CisJCSAgICBpZiAocmVzIDwgMCkgeworCQkJeG1sRnJlZUNhdGFsb2dFbnRyeShlbnRyeSk7CisJCSAgICB9CisJCX0gZWxzZSB7CisJCSAgICB4bWxDaGFyICpmaWxlbmFtZTsKKworCQkgICAgZmlsZW5hbWUgPSB4bWxCdWlsZFVSSShzeXNpZCwgYmFzZSk7CisJCSAgICBpZiAoZmlsZW5hbWUgIT0gTlVMTCkgeworCQkJeG1sRXhwYW5kQ2F0YWxvZyhjYXRhbCwgKGNvbnN0IGNoYXIgKilmaWxlbmFtZSk7CisJCQl4bWxGcmVlKGZpbGVuYW1lKTsKKwkJICAgIH0KKwkJfQorCSAgICB9CisJICAgIC8qCisJICAgICAqIGRyb3AgYW55dGhpbmcgZWxzZSB3ZSB3b24ndCBoYW5kbGUgaXQKKwkgICAgICovCisJICAgIGlmIChuYW1lICE9IE5VTEwpCisJCXhtbEZyZWUobmFtZSk7CisJICAgIGlmIChzeXNpZCAhPSBOVUxMKQorCQl4bWxGcmVlKHN5c2lkKTsKKwl9CisgICAgfQorICAgIGlmIChiYXNlICE9IE5VTEwpCisJeG1sRnJlZShiYXNlKTsKKyAgICBpZiAoY3VyID09IE5VTEwpCisJcmV0dXJuKC0xKTsKKyAgICByZXR1cm4oMCk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCQlTR01MIENhdGFsb2cgaGFuZGxpbmcJCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioKKyAqIHhtbENhdGFsb2dHZXRTR01MUHVibGljOgorICogQGNhdGFsOiAgYW4gU0dNTCBjYXRhbG9nIGhhc2gKKyAqIEBwdWJJRDogIHRoZSBwdWJsaWMgSUQgc3RyaW5nCisgKgorICogVHJ5IHRvIGxvb2t1cCB0aGUgY2F0YWxvZyBsb2NhbCByZWZlcmVuY2UgYXNzb2NpYXRlZCB0byBhIHB1YmxpYyBJRAorICoKKyAqIFJldHVybnMgdGhlIGxvY2FsIHJlc291cmNlIGlmIGZvdW5kIG9yIE5VTEwgb3RoZXJ3aXNlLgorICovCitzdGF0aWMgY29uc3QgeG1sQ2hhciAqCit4bWxDYXRhbG9nR2V0U0dNTFB1YmxpYyh4bWxIYXNoVGFibGVQdHIgY2F0YWwsIGNvbnN0IHhtbENoYXIgKnB1YklEKSB7CisgICAgeG1sQ2F0YWxvZ0VudHJ5UHRyIGVudHJ5OworICAgIHhtbENoYXIgKm5vcm1pZDsKKworICAgIGlmIChjYXRhbCA9PSBOVUxMKQorCXJldHVybihOVUxMKTsKKworICAgIG5vcm1pZCA9IHhtbENhdGFsb2dOb3JtYWxpemVQdWJsaWMocHViSUQpOworICAgIGlmIChub3JtaWQgIT0gTlVMTCkKKyAgICAgICAgcHViSUQgPSAoKm5vcm1pZCAhPSAwID8gbm9ybWlkIDogTlVMTCk7CisKKyAgICBlbnRyeSA9ICh4bWxDYXRhbG9nRW50cnlQdHIpIHhtbEhhc2hMb29rdXAoY2F0YWwsIHB1YklEKTsKKyAgICBpZiAoZW50cnkgPT0gTlVMTCkgeworCWlmIChub3JtaWQgIT0gTlVMTCkKKwkgICAgeG1sRnJlZShub3JtaWQpOworCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgaWYgKGVudHJ5LT50eXBlID09IFNHTUxfQ0FUQV9QVUJMSUMpIHsKKwlpZiAobm9ybWlkICE9IE5VTEwpCisJICAgIHhtbEZyZWUobm9ybWlkKTsKKwlyZXR1cm4oZW50cnktPlVSTCk7CisgICAgfQorICAgIGlmIChub3JtaWQgIT0gTlVMTCkKKyAgICAgICAgeG1sRnJlZShub3JtaWQpOworICAgIHJldHVybihOVUxMKTsKK30KKworLyoqCisgKiB4bWxDYXRhbG9nR2V0U0dNTFN5c3RlbToKKyAqIEBjYXRhbDogIGFuIFNHTUwgY2F0YWxvZyBoYXNoCisgKiBAc3lzSUQ6ICB0aGUgc3lzdGVtIElEIHN0cmluZworICoKKyAqIFRyeSB0byBsb29rdXAgdGhlIGNhdGFsb2cgbG9jYWwgcmVmZXJlbmNlIGZvciBhIHN5c3RlbSBJRAorICoKKyAqIFJldHVybnMgdGhlIGxvY2FsIHJlc291cmNlIGlmIGZvdW5kIG9yIE5VTEwgb3RoZXJ3aXNlLgorICovCitzdGF0aWMgY29uc3QgeG1sQ2hhciAqCit4bWxDYXRhbG9nR2V0U0dNTFN5c3RlbSh4bWxIYXNoVGFibGVQdHIgY2F0YWwsIGNvbnN0IHhtbENoYXIgKnN5c0lEKSB7CisgICAgeG1sQ2F0YWxvZ0VudHJ5UHRyIGVudHJ5OworCisgICAgaWYgKGNhdGFsID09IE5VTEwpCisJcmV0dXJuKE5VTEwpOworCisgICAgZW50cnkgPSAoeG1sQ2F0YWxvZ0VudHJ5UHRyKSB4bWxIYXNoTG9va3VwKGNhdGFsLCBzeXNJRCk7CisgICAgaWYgKGVudHJ5ID09IE5VTEwpCisJcmV0dXJuKE5VTEwpOworICAgIGlmIChlbnRyeS0+dHlwZSA9PSBTR01MX0NBVEFfU1lTVEVNKQorCXJldHVybihlbnRyeS0+VVJMKTsKKyAgICByZXR1cm4oTlVMTCk7Cit9CisKKy8qKgorICogeG1sQ2F0YWxvZ1NHTUxSZXNvbHZlOgorICogQGNhdGFsOiAgdGhlIFNHTUwgY2F0YWxvZworICogQHB1YklEOiAgdGhlIHB1YmxpYyBJRCBzdHJpbmcKKyAqIEBzeXNJRDogIHRoZSBzeXN0ZW0gSUQgc3RyaW5nCisgKgorICogRG8gYSBjb21wbGV0ZSByZXNvbHV0aW9uIGxvb2t1cCBvZiBhbiBFeHRlcm5hbCBJZGVudGlmaWVyCisgKgorICogUmV0dXJucyB0aGUgVVJJIG9mIHRoZSByZXNvdXJjZSBvciBOVUxMIGlmIG5vdCBmb3VuZAorICovCitzdGF0aWMgY29uc3QgeG1sQ2hhciAqCit4bWxDYXRhbG9nU0dNTFJlc29sdmUoeG1sQ2F0YWxvZ1B0ciBjYXRhbCwgY29uc3QgeG1sQ2hhciAqcHViSUQsCisJICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICpzeXNJRCkgeworICAgIGNvbnN0IHhtbENoYXIgKnJldCA9IE5VTEw7CisKKyAgICBpZiAoY2F0YWwtPnNnbWwgPT0gTlVMTCkKKwlyZXR1cm4oTlVMTCk7CisKKyAgICBpZiAocHViSUQgIT0gTlVMTCkKKwlyZXQgPSB4bWxDYXRhbG9nR2V0U0dNTFB1YmxpYyhjYXRhbC0+c2dtbCwgcHViSUQpOworICAgIGlmIChyZXQgIT0gTlVMTCkKKwlyZXR1cm4ocmV0KTsKKyAgICBpZiAoc3lzSUQgIT0gTlVMTCkKKwlyZXQgPSB4bWxDYXRhbG9nR2V0U0dNTFN5c3RlbShjYXRhbC0+c2dtbCwgc3lzSUQpOworICAgIGlmIChyZXQgIT0gTlVMTCkKKwlyZXR1cm4ocmV0KTsKKyAgICByZXR1cm4oTlVMTCk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCQlTcGVjaWZpYyBQdWJsaWMgaW50ZXJmYWNlcwkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqCisgKiB4bWxMb2FkU0dNTFN1cGVyQ2F0YWxvZzoKKyAqIEBmaWxlbmFtZTogIGEgZmlsZSBwYXRoCisgKgorICogTG9hZCBhbiBTR01MIHN1cGVyIGNhdGFsb2cuIEl0IHdvbid0IGV4cGFuZCBDQVRBTE9HIG9yIERFTEVHQVRFCisgKiByZWZlcmVuY2VzLiBUaGlzIGlzIG9ubHkgbmVlZGVkIGZvciBtYW5pcHVsYXRpbmcgU0dNTCBTdXBlciBDYXRhbG9ncworICogbGlrZSBhZGRpbmcgYW5kIHJlbW92aW5nIENBVEFMT0cgb3IgREVMRUdBVEUgZW50cmllcy4KKyAqCisgKiBSZXR1cm5zIHRoZSBjYXRhbG9nIHBhcnNlZCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworeG1sQ2F0YWxvZ1B0cgoreG1sTG9hZFNHTUxTdXBlckNhdGFsb2coY29uc3QgY2hhciAqZmlsZW5hbWUpCit7CisgICAgeG1sQ2hhciAqY29udGVudDsKKyAgICB4bWxDYXRhbG9nUHRyIGNhdGFsOworICAgIGludCByZXQ7CisKKyAgICBjb250ZW50ID0geG1sTG9hZEZpbGVDb250ZW50KGZpbGVuYW1lKTsKKyAgICBpZiAoY29udGVudCA9PSBOVUxMKQorICAgICAgICByZXR1cm4oTlVMTCk7CisKKyAgICBjYXRhbCA9IHhtbENyZWF0ZU5ld0NhdGFsb2coWE1MX1NHTUxfQ0FUQUxPR19UWVBFLCB4bWxDYXRhbG9nRGVmYXVsdFByZWZlcik7CisgICAgaWYgKGNhdGFsID09IE5VTEwpIHsKKwl4bWxGcmVlKGNvbnRlbnQpOworCXJldHVybihOVUxMKTsKKyAgICB9CisKKyAgICByZXQgPSB4bWxQYXJzZVNHTUxDYXRhbG9nKGNhdGFsLCBjb250ZW50LCBmaWxlbmFtZSwgMSk7CisgICAgeG1sRnJlZShjb250ZW50KTsKKyAgICBpZiAocmV0IDwgMCkgeworCXhtbEZyZWVDYXRhbG9nKGNhdGFsKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIHJldHVybiAoY2F0YWwpOworfQorCisvKioKKyAqIHhtbExvYWRBQ2F0YWxvZzoKKyAqIEBmaWxlbmFtZTogIGEgZmlsZSBwYXRoCisgKgorICogTG9hZCB0aGUgY2F0YWxvZyBhbmQgYnVpbGQgdGhlIGFzc29jaWF0ZWQgZGF0YSBzdHJ1Y3R1cmVzLgorICogVGhpcyBjYW4gYmUgZWl0aGVyIGFuIFhNTCBDYXRhbG9nIG9yIGFuIFNHTUwgQ2F0YWxvZworICogSXQgd2lsbCByZWN1cnNlIGluIFNHTUwgQ0FUQUxPRyBlbnRyaWVzLiBPbiB0aGUgb3RoZXIgaGFuZCBYTUwKKyAqIENhdGFsb2dzIGFyZSBub3QgaGFuZGxlZCByZWN1cnNpdmVseS4KKyAqCisgKiBSZXR1cm5zIHRoZSBjYXRhbG9nIHBhcnNlZCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworeG1sQ2F0YWxvZ1B0cgoreG1sTG9hZEFDYXRhbG9nKGNvbnN0IGNoYXIgKmZpbGVuYW1lKQoreworICAgIHhtbENoYXIgKmNvbnRlbnQ7CisgICAgeG1sQ2hhciAqZmlyc3Q7CisgICAgeG1sQ2F0YWxvZ1B0ciBjYXRhbDsKKyAgICBpbnQgcmV0OworCisgICAgY29udGVudCA9IHhtbExvYWRGaWxlQ29udGVudChmaWxlbmFtZSk7CisgICAgaWYgKGNvbnRlbnQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuKE5VTEwpOworCisKKyAgICBmaXJzdCA9IGNvbnRlbnQ7CisKKyAgICB3aGlsZSAoKCpmaXJzdCAhPSAwKSAmJiAoKmZpcnN0ICE9ICctJykgJiYgKCpmaXJzdCAhPSAnPCcpICYmCisJICAgKCEoKCgqZmlyc3QgPj0gJ0EnKSAmJiAoKmZpcnN0IDw9ICdaJykpIHx8CisJICAgICAgKCgqZmlyc3QgPj0gJ2EnKSAmJiAoKmZpcnN0IDw9ICd6JykpKSkpCisJZmlyc3QrKzsKKworICAgIGlmICgqZmlyc3QgIT0gJzwnKSB7CisJY2F0YWwgPSB4bWxDcmVhdGVOZXdDYXRhbG9nKFhNTF9TR01MX0NBVEFMT0dfVFlQRSwgeG1sQ2F0YWxvZ0RlZmF1bHRQcmVmZXIpOworCWlmIChjYXRhbCA9PSBOVUxMKSB7CisJICAgIHhtbEZyZWUoY29udGVudCk7CisJICAgIHJldHVybihOVUxMKTsKKwl9CisgICAgICAgIHJldCA9IHhtbFBhcnNlU0dNTENhdGFsb2coY2F0YWwsIGNvbnRlbnQsIGZpbGVuYW1lLCAwKTsKKwlpZiAocmV0IDwgMCkgeworCSAgICB4bWxGcmVlQ2F0YWxvZyhjYXRhbCk7CisJICAgIHhtbEZyZWUoY29udGVudCk7CisJICAgIHJldHVybihOVUxMKTsKKwl9CisgICAgfSBlbHNlIHsKKwljYXRhbCA9IHhtbENyZWF0ZU5ld0NhdGFsb2coWE1MX1hNTF9DQVRBTE9HX1RZUEUsIHhtbENhdGFsb2dEZWZhdWx0UHJlZmVyKTsKKwlpZiAoY2F0YWwgPT0gTlVMTCkgeworCSAgICB4bWxGcmVlKGNvbnRlbnQpOworCSAgICByZXR1cm4oTlVMTCk7CisJfQorICAgICAgICBjYXRhbC0+eG1sID0geG1sTmV3Q2F0YWxvZ0VudHJ5KFhNTF9DQVRBX0NBVEFMT0csIE5VTEwsCisJCSAgICAgICBOVUxMLCBCQURfQ0FTVCBmaWxlbmFtZSwgeG1sQ2F0YWxvZ0RlZmF1bHRQcmVmZXIsIE5VTEwpOworICAgIH0KKyAgICB4bWxGcmVlKGNvbnRlbnQpOworICAgIHJldHVybiAoY2F0YWwpOworfQorCisvKioKKyAqIHhtbEV4cGFuZENhdGFsb2c6CisgKiBAY2F0YWw6ICBhIGNhdGFsb2cKKyAqIEBmaWxlbmFtZTogIGEgZmlsZSBwYXRoCisgKgorICogTG9hZCB0aGUgY2F0YWxvZyBhbmQgZXhwYW5kIHRoZSBleGlzdGluZyBjYXRhbCBzdHJ1Y3R1cmUuCisgKiBUaGlzIGNhbiBiZSBlaXRoZXIgYW4gWE1MIENhdGFsb2cgb3IgYW4gU0dNTCBDYXRhbG9nCisgKgorICogUmV0dXJucyAwIGluIGNhc2Ugb2Ygc3VjY2VzcywgLTEgaW4gY2FzZSBvZiBlcnJvcgorICovCitzdGF0aWMgaW50Cit4bWxFeHBhbmRDYXRhbG9nKHhtbENhdGFsb2dQdHIgY2F0YWwsIGNvbnN0IGNoYXIgKmZpbGVuYW1lKQoreworICAgIGludCByZXQ7CisKKyAgICBpZiAoKGNhdGFsID09IE5VTEwpIHx8IChmaWxlbmFtZSA9PSBOVUxMKSkKKwlyZXR1cm4oLTEpOworCisKKyAgICBpZiAoY2F0YWwtPnR5cGUgPT0gWE1MX1NHTUxfQ0FUQUxPR19UWVBFKSB7CisJeG1sQ2hhciAqY29udGVudDsKKworCWNvbnRlbnQgPSB4bWxMb2FkRmlsZUNvbnRlbnQoZmlsZW5hbWUpOworCWlmIChjb250ZW50ID09IE5VTEwpCisJICAgIHJldHVybigtMSk7CisKKyAgICAgICAgcmV0ID0geG1sUGFyc2VTR01MQ2F0YWxvZyhjYXRhbCwgY29udGVudCwgZmlsZW5hbWUsIDApOworCWlmIChyZXQgPCAwKSB7CisJICAgIHhtbEZyZWUoY29udGVudCk7CisJICAgIHJldHVybigtMSk7CisJfQorCXhtbEZyZWUoY29udGVudCk7CisgICAgfSBlbHNlIHsKKwl4bWxDYXRhbG9nRW50cnlQdHIgdG1wLCBjdXI7CisJdG1wID0geG1sTmV3Q2F0YWxvZ0VudHJ5KFhNTF9DQVRBX0NBVEFMT0csIE5VTEwsCisJCSAgICAgICBOVUxMLCBCQURfQ0FTVCBmaWxlbmFtZSwgeG1sQ2F0YWxvZ0RlZmF1bHRQcmVmZXIsIE5VTEwpOworCisJY3VyID0gY2F0YWwtPnhtbDsKKwlpZiAoY3VyID09IE5VTEwpIHsKKwkgICAgY2F0YWwtPnhtbCA9IHRtcDsKKwl9IGVsc2UgeworCSAgICB3aGlsZSAoY3VyLT5uZXh0ICE9IE5VTEwpIGN1ciA9IGN1ci0+bmV4dDsKKwkgICAgY3VyLT5uZXh0ID0gdG1wOworCX0KKyAgICB9CisgICAgcmV0dXJuICgwKTsKK30KKworLyoqCisgKiB4bWxBQ2F0YWxvZ1Jlc29sdmVTeXN0ZW06CisgKiBAY2F0YWw6ICBhIENhdGFsb2cKKyAqIEBzeXNJRDogIHRoZSBzeXN0ZW0gSUQgc3RyaW5nCisgKgorICogVHJ5IHRvIGxvb2t1cCB0aGUgY2F0YWxvZyByZXNvdXJjZSBmb3IgYSBzeXN0ZW0gSUQKKyAqCisgKiBSZXR1cm5zIHRoZSByZXNvdXJjZSBpZiBmb3VuZCBvciBOVUxMIG90aGVyd2lzZSwgdGhlIHZhbHVlIHJldHVybmVkCisgKiAgICAgIG11c3QgYmUgZnJlZWQgYnkgdGhlIGNhbGxlci4KKyAqLworeG1sQ2hhciAqCit4bWxBQ2F0YWxvZ1Jlc29sdmVTeXN0ZW0oeG1sQ2F0YWxvZ1B0ciBjYXRhbCwgY29uc3QgeG1sQ2hhciAqc3lzSUQpIHsKKyAgICB4bWxDaGFyICpyZXQgPSBOVUxMOworCisgICAgaWYgKChzeXNJRCA9PSBOVUxMKSB8fCAoY2F0YWwgPT0gTlVMTCkpCisJcmV0dXJuKE5VTEwpOworCisgICAgaWYgKHhtbERlYnVnQ2F0YWxvZ3MpCisJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSJSZXNvbHZlIHN5c0lEICVzXG4iLCBzeXNJRCk7CisKKyAgICBpZiAoY2F0YWwtPnR5cGUgPT0gWE1MX1hNTF9DQVRBTE9HX1RZUEUpIHsKKwlyZXQgPSB4bWxDYXRhbG9nTGlzdFhNTFJlc29sdmUoY2F0YWwtPnhtbCwgTlVMTCwgc3lzSUQpOworCWlmIChyZXQgPT0gWE1MX0NBVEFMX0JSRUFLKQorCSAgICByZXQgPSBOVUxMOworICAgIH0gZWxzZSB7CisJY29uc3QgeG1sQ2hhciAqc2dtbDsKKworCXNnbWwgPSB4bWxDYXRhbG9nR2V0U0dNTFN5c3RlbShjYXRhbC0+c2dtbCwgc3lzSUQpOworCWlmIChzZ21sICE9IE5VTEwpCisJICAgIHJldCA9IHhtbFN0cmR1cChzZ21sKTsKKyAgICB9CisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogeG1sQUNhdGFsb2dSZXNvbHZlUHVibGljOgorICogQGNhdGFsOiAgYSBDYXRhbG9nCisgKiBAcHViSUQ6ICB0aGUgcHVibGljIElEIHN0cmluZworICoKKyAqIFRyeSB0byBsb29rdXAgdGhlIGNhdGFsb2cgbG9jYWwgcmVmZXJlbmNlIGFzc29jaWF0ZWQgdG8gYSBwdWJsaWMgSUQgaW4gdGhhdCBjYXRhbG9nCisgKgorICogUmV0dXJucyB0aGUgbG9jYWwgcmVzb3VyY2UgaWYgZm91bmQgb3IgTlVMTCBvdGhlcndpc2UsIHRoZSB2YWx1ZSByZXR1cm5lZAorICogICAgICBtdXN0IGJlIGZyZWVkIGJ5IHRoZSBjYWxsZXIuCisgKi8KK3htbENoYXIgKgoreG1sQUNhdGFsb2dSZXNvbHZlUHVibGljKHhtbENhdGFsb2dQdHIgY2F0YWwsIGNvbnN0IHhtbENoYXIgKnB1YklEKSB7CisgICAgeG1sQ2hhciAqcmV0ID0gTlVMTDsKKworICAgIGlmICgocHViSUQgPT0gTlVMTCkgfHwgKGNhdGFsID09IE5VTEwpKQorCXJldHVybihOVUxMKTsKKworICAgIGlmICh4bWxEZWJ1Z0NhdGFsb2dzKQorCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkiUmVzb2x2ZSBwdWJJRCAlc1xuIiwgcHViSUQpOworCisgICAgaWYgKGNhdGFsLT50eXBlID09IFhNTF9YTUxfQ0FUQUxPR19UWVBFKSB7CisJcmV0ID0geG1sQ2F0YWxvZ0xpc3RYTUxSZXNvbHZlKGNhdGFsLT54bWwsIHB1YklELCBOVUxMKTsKKwlpZiAocmV0ID09IFhNTF9DQVRBTF9CUkVBSykKKwkgICAgcmV0ID0gTlVMTDsKKyAgICB9IGVsc2UgeworCWNvbnN0IHhtbENoYXIgKnNnbWw7CisKKwlzZ21sID0geG1sQ2F0YWxvZ0dldFNHTUxQdWJsaWMoY2F0YWwtPnNnbWwsIHB1YklEKTsKKwlpZiAoc2dtbCAhPSBOVUxMKQorCSAgICByZXQgPSB4bWxTdHJkdXAoc2dtbCk7CisgICAgfQorICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbEFDYXRhbG9nUmVzb2x2ZToKKyAqIEBjYXRhbDogIGEgQ2F0YWxvZworICogQHB1YklEOiAgdGhlIHB1YmxpYyBJRCBzdHJpbmcKKyAqIEBzeXNJRDogIHRoZSBzeXN0ZW0gSUQgc3RyaW5nCisgKgorICogRG8gYSBjb21wbGV0ZSByZXNvbHV0aW9uIGxvb2t1cCBvZiBhbiBFeHRlcm5hbCBJZGVudGlmaWVyCisgKgorICogUmV0dXJucyB0aGUgVVJJIG9mIHRoZSByZXNvdXJjZSBvciBOVUxMIGlmIG5vdCBmb3VuZCwgaXQgbXVzdCBiZSBmcmVlZAorICogICAgICBieSB0aGUgY2FsbGVyLgorICovCit4bWxDaGFyICoKK3htbEFDYXRhbG9nUmVzb2x2ZSh4bWxDYXRhbG9nUHRyIGNhdGFsLCBjb25zdCB4bWxDaGFyICogcHViSUQsCisgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIHN5c0lEKQoreworICAgIHhtbENoYXIgKnJldCA9IE5VTEw7CisKKyAgICBpZiAoKChwdWJJRCA9PSBOVUxMKSAmJiAoc3lzSUQgPT0gTlVMTCkpIHx8IChjYXRhbCA9PSBOVUxMKSkKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKworICAgIGlmICh4bWxEZWJ1Z0NhdGFsb2dzKSB7CisgICAgICAgICBpZiAoKHB1YklEICE9IE5VTEwpICYmIChzeXNJRCAhPSBOVUxMKSkgeworICAgICAgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUmVzb2x2ZTogcHViSUQgJXMgc3lzSUQgJXNcbiIsIHB1YklELCBzeXNJRCk7CisgICAgICAgICB9IGVsc2UgaWYgKHB1YklEICE9IE5VTEwpIHsKKyAgICAgICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJlc29sdmU6IHB1YklEICVzXG4iLCBwdWJJRCk7CisgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUmVzb2x2ZTogc3lzSUQgJXNcbiIsIHN5c0lEKTsKKyAgICAgICAgIH0KKyAgICB9CisKKyAgICBpZiAoY2F0YWwtPnR5cGUgPT0gWE1MX1hNTF9DQVRBTE9HX1RZUEUpIHsKKyAgICAgICAgcmV0ID0geG1sQ2F0YWxvZ0xpc3RYTUxSZXNvbHZlKGNhdGFsLT54bWwsIHB1YklELCBzeXNJRCk7CisJaWYgKHJldCA9PSBYTUxfQ0FUQUxfQlJFQUspCisJICAgIHJldCA9IE5VTEw7CisgICAgfSBlbHNlIHsKKyAgICAgICAgY29uc3QgeG1sQ2hhciAqc2dtbDsKKworICAgICAgICBzZ21sID0geG1sQ2F0YWxvZ1NHTUxSZXNvbHZlKGNhdGFsLCBwdWJJRCwgc3lzSUQpOworICAgICAgICBpZiAoc2dtbCAhPSBOVUxMKQorICAgICAgICAgICAgcmV0ID0geG1sU3RyZHVwKHNnbWwpOworICAgIH0KKyAgICByZXR1cm4gKHJldCk7Cit9CisKKy8qKgorICogeG1sQUNhdGFsb2dSZXNvbHZlVVJJOgorICogQGNhdGFsOiAgYSBDYXRhbG9nCisgKiBAVVJJOiAgdGhlIFVSSQorICoKKyAqIERvIGEgY29tcGxldGUgcmVzb2x1dGlvbiBsb29rdXAgb2YgYW4gVVJJCisgKgorICogUmV0dXJucyB0aGUgVVJJIG9mIHRoZSByZXNvdXJjZSBvciBOVUxMIGlmIG5vdCBmb3VuZCwgaXQgbXVzdCBiZSBmcmVlZAorICogICAgICBieSB0aGUgY2FsbGVyLgorICovCit4bWxDaGFyICoKK3htbEFDYXRhbG9nUmVzb2x2ZVVSSSh4bWxDYXRhbG9nUHRyIGNhdGFsLCBjb25zdCB4bWxDaGFyICpVUkkpIHsKKyAgICB4bWxDaGFyICpyZXQgPSBOVUxMOworCisgICAgaWYgKChVUkkgPT0gTlVMTCkgfHwgKGNhdGFsID09IE5VTEwpKQorCXJldHVybihOVUxMKTsKKworICAgIGlmICh4bWxEZWJ1Z0NhdGFsb2dzKQorCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkiUmVzb2x2ZSBVUkkgJXNcbiIsIFVSSSk7CisKKyAgICBpZiAoY2F0YWwtPnR5cGUgPT0gWE1MX1hNTF9DQVRBTE9HX1RZUEUpIHsKKwlyZXQgPSB4bWxDYXRhbG9nTGlzdFhNTFJlc29sdmVVUkkoY2F0YWwtPnhtbCwgVVJJKTsKKwlpZiAocmV0ID09IFhNTF9DQVRBTF9CUkVBSykKKwkgICAgcmV0ID0gTlVMTDsKKyAgICB9IGVsc2UgeworCWNvbnN0IHhtbENoYXIgKnNnbWw7CisKKwlzZ21sID0geG1sQ2F0YWxvZ1NHTUxSZXNvbHZlKGNhdGFsLCBOVUxMLCBVUkkpOworCWlmIChzZ21sICE9IE5VTEwpCisgICAgICAgICAgICByZXQgPSB4bWxTdHJkdXAoc2dtbCk7CisgICAgfQorICAgIHJldHVybihyZXQpOworfQorCisjaWZkZWYgTElCWE1MX09VVFBVVF9FTkFCTEVECisvKioKKyAqIHhtbEFDYXRhbG9nRHVtcDoKKyAqIEBjYXRhbDogIGEgQ2F0YWxvZworICogQG91dDogIHRoZSBmaWxlLgorICoKKyAqIER1bXAgdGhlIGdpdmVuIGNhdGFsb2cgdG8gdGhlIGdpdmVuIGZpbGUuCisgKi8KK3ZvaWQKK3htbEFDYXRhbG9nRHVtcCh4bWxDYXRhbG9nUHRyIGNhdGFsLCBGSUxFICpvdXQpIHsKKyAgICBpZiAoKG91dCA9PSBOVUxMKSB8fCAoY2F0YWwgPT0gTlVMTCkpCisJcmV0dXJuOworCisgICAgaWYgKGNhdGFsLT50eXBlID09IFhNTF9YTUxfQ0FUQUxPR19UWVBFKSB7CisJeG1sRHVtcFhNTENhdGFsb2cob3V0LCBjYXRhbC0+eG1sKTsKKyAgICB9IGVsc2UgeworCXhtbEhhc2hTY2FuKGNhdGFsLT5zZ21sLAorCQkgICAgKHhtbEhhc2hTY2FubmVyKSB4bWxDYXRhbG9nRHVtcEVudHJ5LCBvdXQpOworICAgIH0KK30KKyNlbmRpZiAvKiBMSUJYTUxfT1VUUFVUX0VOQUJMRUQgKi8KKworLyoqCisgKiB4bWxBQ2F0YWxvZ0FkZDoKKyAqIEBjYXRhbDogIGEgQ2F0YWxvZworICogQHR5cGU6ICB0aGUgdHlwZSBvZiByZWNvcmQgdG8gYWRkIHRvIHRoZSBjYXRhbG9nCisgKiBAb3JpZzogIHRoZSBzeXN0ZW0sIHB1YmxpYyBvciBwcmVmaXggdG8gbWF0Y2gKKyAqIEByZXBsYWNlOiAgdGhlIHJlcGxhY2VtZW50IHZhbHVlIGZvciB0aGUgbWF0Y2gKKyAqCisgKiBBZGQgYW4gZW50cnkgaW4gdGhlIGNhdGFsb2csIGl0IG1heSBvdmVyd3JpdGUgZXhpc3RpbmcgYnV0CisgKiBkaWZmZXJlbnQgZW50cmllcy4KKyAqCisgKiBSZXR1cm5zIDAgaWYgc3VjY2Vzc2Z1bCwgLTEgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sQUNhdGFsb2dBZGQoeG1sQ2F0YWxvZ1B0ciBjYXRhbCwgY29uc3QgeG1sQ2hhciAqIHR5cGUsCisgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBvcmlnLCBjb25zdCB4bWxDaGFyICogcmVwbGFjZSkKK3sKKyAgICBpbnQgcmVzID0gLTE7CisKKyAgICBpZiAoY2F0YWwgPT0gTlVMTCkKKwlyZXR1cm4oLTEpOworCisgICAgaWYgKGNhdGFsLT50eXBlID09IFhNTF9YTUxfQ0FUQUxPR19UWVBFKSB7CisgICAgICAgIHJlcyA9IHhtbEFkZFhNTENhdGFsb2coY2F0YWwtPnhtbCwgdHlwZSwgb3JpZywgcmVwbGFjZSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgeG1sQ2F0YWxvZ0VudHJ5VHlwZSBjYXR0eXBlOworCisgICAgICAgIGNhdHR5cGUgPSB4bWxHZXRTR01MQ2F0YWxvZ0VudHJ5VHlwZSh0eXBlKTsKKyAgICAgICAgaWYgKGNhdHR5cGUgIT0gWE1MX0NBVEFfTk9ORSkgeworICAgICAgICAgICAgeG1sQ2F0YWxvZ0VudHJ5UHRyIGVudHJ5OworCisgICAgICAgICAgICBlbnRyeSA9IHhtbE5ld0NhdGFsb2dFbnRyeShjYXR0eXBlLCBvcmlnLCByZXBsYWNlLCBOVUxMLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWE1MX0NBVEFfUFJFRkVSX05PTkUsIE5VTEwpOworCSAgICBpZiAoY2F0YWwtPnNnbWwgPT0gTlVMTCkKKwkJY2F0YWwtPnNnbWwgPSB4bWxIYXNoQ3JlYXRlKDEwKTsKKyAgICAgICAgICAgIHJlcyA9IHhtbEhhc2hBZGRFbnRyeShjYXRhbC0+c2dtbCwgb3JpZywgZW50cnkpOworICAgICAgICB9CisgICAgfQorICAgIHJldHVybiAocmVzKTsKK30KKworLyoqCisgKiB4bWxBQ2F0YWxvZ1JlbW92ZToKKyAqIEBjYXRhbDogIGEgQ2F0YWxvZworICogQHZhbHVlOiAgdGhlIHZhbHVlIHRvIHJlbW92ZQorICoKKyAqIFJlbW92ZSBhbiBlbnRyeSBmcm9tIHRoZSBjYXRhbG9nCisgKgorICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIGVudHJpZXMgcmVtb3ZlZCBpZiBzdWNjZXNzZnVsLCAtMSBvdGhlcndpc2UKKyAqLworaW50Cit4bWxBQ2F0YWxvZ1JlbW92ZSh4bWxDYXRhbG9nUHRyIGNhdGFsLCBjb25zdCB4bWxDaGFyICp2YWx1ZSkgeworICAgIGludCByZXMgPSAtMTsKKworICAgIGlmICgoY2F0YWwgPT0gTlVMTCkgfHwgKHZhbHVlID09IE5VTEwpKQorCXJldHVybigtMSk7CisKKyAgICBpZiAoY2F0YWwtPnR5cGUgPT0gWE1MX1hNTF9DQVRBTE9HX1RZUEUpIHsKKwlyZXMgPSB4bWxEZWxYTUxDYXRhbG9nKGNhdGFsLT54bWwsIHZhbHVlKTsKKyAgICB9IGVsc2UgeworCXJlcyA9IHhtbEhhc2hSZW1vdmVFbnRyeShjYXRhbC0+c2dtbCwgdmFsdWUsCisJCSh4bWxIYXNoRGVhbGxvY2F0b3IpIHhtbEZyZWVDYXRhbG9nRW50cnkpOworCWlmIChyZXMgPT0gMCkKKwkgICAgcmVzID0gMTsKKyAgICB9CisgICAgcmV0dXJuKHJlcyk7Cit9CisKKy8qKgorICogeG1sTmV3Q2F0YWxvZzoKKyAqIEBzZ21sOiAgc2hvdWxkIHRoaXMgY3JlYXRlIGFuIFNHTUwgY2F0YWxvZworICoKKyAqIGNyZWF0ZSBhIG5ldyBDYXRhbG9nLgorICoKKyAqIFJldHVybnMgdGhlIHhtbENhdGFsb2dQdHIgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3htbENhdGFsb2dQdHIKK3htbE5ld0NhdGFsb2coaW50IHNnbWwpIHsKKyAgICB4bWxDYXRhbG9nUHRyIGNhdGFsID0gTlVMTDsKKworICAgIGlmIChzZ21sKSB7CisJY2F0YWwgPSB4bWxDcmVhdGVOZXdDYXRhbG9nKFhNTF9TR01MX0NBVEFMT0dfVFlQRSwKKwkJICAgICAgICAgICAgICAgICAgICB4bWxDYXRhbG9nRGVmYXVsdFByZWZlcik7CisgICAgICAgIGlmICgoY2F0YWwgIT0gTlVMTCkgJiYgKGNhdGFsLT5zZ21sID09IE5VTEwpKQorCSAgICBjYXRhbC0+c2dtbCA9IHhtbEhhc2hDcmVhdGUoMTApOworICAgIH0gZWxzZQorCWNhdGFsID0geG1sQ3JlYXRlTmV3Q2F0YWxvZyhYTUxfWE1MX0NBVEFMT0dfVFlQRSwKKwkJICAgICAgICAgICAgICAgICAgICB4bWxDYXRhbG9nRGVmYXVsdFByZWZlcik7CisgICAgcmV0dXJuKGNhdGFsKTsKK30KKworLyoqCisgKiB4bWxDYXRhbG9nSXNFbXB0eToKKyAqIEBjYXRhbDogIHNob3VsZCB0aGlzIGNyZWF0ZSBhbiBTR01MIGNhdGFsb2cKKyAqCisgKiBDaGVjayBpcyBhIGNhdGFsb2cgaXMgZW1wdHkKKyAqCisgKiBSZXR1cm5zIDEgaWYgdGhlIGNhdGFsb2cgaXMgZW1wdHksIDAgaWYgbm90LCBhbWQgLTEgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50Cit4bWxDYXRhbG9nSXNFbXB0eSh4bWxDYXRhbG9nUHRyIGNhdGFsKSB7CisgICAgaWYgKGNhdGFsID09IE5VTEwpCisJcmV0dXJuKC0xKTsKKworICAgIGlmIChjYXRhbC0+dHlwZSA9PSBYTUxfWE1MX0NBVEFMT0dfVFlQRSkgeworCWlmIChjYXRhbC0+eG1sID09IE5VTEwpCisJICAgIHJldHVybigxKTsKKwlpZiAoKGNhdGFsLT54bWwtPnR5cGUgIT0gWE1MX0NBVEFfQ0FUQUxPRykgJiYKKwkgICAgKGNhdGFsLT54bWwtPnR5cGUgIT0gWE1MX0NBVEFfQlJPS0VOX0NBVEFMT0cpKQorCSAgICByZXR1cm4oLTEpOworCWlmIChjYXRhbC0+eG1sLT5jaGlsZHJlbiA9PSBOVUxMKQorCSAgICByZXR1cm4oMSk7CisgICAgICAgIHJldHVybigwKTsKKyAgICB9IGVsc2UgeworCWludCByZXM7CisKKwlpZiAoY2F0YWwtPnNnbWwgPT0gTlVMTCkKKwkgICAgcmV0dXJuKDEpOworCXJlcyA9IHhtbEhhc2hTaXplKGNhdGFsLT5zZ21sKTsKKwlpZiAocmVzID09IDApCisJICAgIHJldHVybigxKTsKKwlpZiAocmVzIDwgMCkKKwkgICAgcmV0dXJuKC0xKTsKKyAgICB9CisgICAgcmV0dXJuKDApOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqICAgUHVibGljIGludGVyZmFjZXMgbWFuaXB1bGF0aW5nIHRoZSBnbG9iYWwgc2hhcmVkIGRlZmF1bHQgY2F0YWxvZwkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKgorICogeG1sSW5pdGlhbGl6ZUNhdGFsb2dEYXRhOgorICoKKyAqIERvIHRoZSBjYXRhbG9nIGluaXRpYWxpemF0aW9uIG9ubHkgb2YgZ2xvYmFsIGRhdGEsIGRvZXNuJ3QgdHJ5IHRvIGxvYWQKKyAqIGFueSBjYXRhbG9nIGFjdHVhbGx5LgorICogdGhpcyBmdW5jdGlvbiBpcyBub3QgdGhyZWFkIHNhZmUsIGNhdGFsb2cgaW5pdGlhbGl6YXRpb24gc2hvdWxkCisgKiBwcmVmZXJhYmx5IGJlIGRvbmUgb25jZSBhdCBzdGFydHVwCisgKi8KK3N0YXRpYyB2b2lkCit4bWxJbml0aWFsaXplQ2F0YWxvZ0RhdGEodm9pZCkgeworICAgIGlmICh4bWxDYXRhbG9nSW5pdGlhbGl6ZWQgIT0gMCkKKwlyZXR1cm47CisKKyAgICBpZiAoZ2V0ZW52KCJYTUxfREVCVUdfQ0FUQUxPRyIpKQorCXhtbERlYnVnQ2F0YWxvZ3MgPSAxOworICAgIHhtbENhdGFsb2dNdXRleCA9IHhtbE5ld1JNdXRleCgpOworCisgICAgeG1sQ2F0YWxvZ0luaXRpYWxpemVkID0gMTsKK30KKy8qKgorICogeG1sSW5pdGlhbGl6ZUNhdGFsb2c6CisgKgorICogRG8gdGhlIGNhdGFsb2cgaW5pdGlhbGl6YXRpb24uCisgKiB0aGlzIGZ1bmN0aW9uIGlzIG5vdCB0aHJlYWQgc2FmZSwgY2F0YWxvZyBpbml0aWFsaXphdGlvbiBzaG91bGQKKyAqIHByZWZlcmFibHkgYmUgZG9uZSBvbmNlIGF0IHN0YXJ0dXAKKyAqLwordm9pZAoreG1sSW5pdGlhbGl6ZUNhdGFsb2codm9pZCkgeworICAgIGlmICh4bWxDYXRhbG9nSW5pdGlhbGl6ZWQgIT0gMCkKKwlyZXR1cm47CisKKyAgICB4bWxJbml0aWFsaXplQ2F0YWxvZ0RhdGEoKTsKKyAgICB4bWxSTXV0ZXhMb2NrKHhtbENhdGFsb2dNdXRleCk7CisKKyAgICBpZiAoZ2V0ZW52KCJYTUxfREVCVUdfQ0FUQUxPRyIpKQorCXhtbERlYnVnQ2F0YWxvZ3MgPSAxOworCisgICAgaWYgKHhtbERlZmF1bHRDYXRhbG9nID09IE5VTEwpIHsKKwljb25zdCBjaGFyICpjYXRhbG9nczsKKwljaGFyICpwYXRoOworCWNvbnN0IGNoYXIgKmN1ciwgKnBhdGhzOworCXhtbENhdGFsb2dQdHIgY2F0YWw7CisJeG1sQ2F0YWxvZ0VudHJ5UHRyICpuZXh0ZW50OworCisJY2F0YWxvZ3MgPSAoY29uc3QgY2hhciAqKSBnZXRlbnYoIlhNTF9DQVRBTE9HX0ZJTEVTIik7CisJaWYgKGNhdGFsb2dzID09IE5VTEwpCisjaWYgZGVmaW5lZChfV0lOMzIpICYmIGRlZmluZWQoX01TQ19WRVIpCisgICAgeworCQl2b2lkKiBobW9kdWxlOworCQlobW9kdWxlID0gR2V0TW9kdWxlSGFuZGxlQSgibGlieG1sMi5kbGwiKTsKKwkJaWYgKGhtb2R1bGUgPT0gTlVMTCkKKwkJCWhtb2R1bGUgPSBHZXRNb2R1bGVIYW5kbGVBKE5VTEwpOworCQlpZiAoaG1vZHVsZSAhPSBOVUxMKSB7CisJCQljaGFyIGJ1ZlsyNTZdOworCQkJdW5zaWduZWQgbG9uZyBsZW4gPSBHZXRNb2R1bGVGaWxlTmFtZUEoaG1vZHVsZSwgYnVmLCAyNTUpOworCQkJaWYgKGxlbiAhPSAwKSB7CisJCQkJY2hhciogcCA9ICYoYnVmW2xlbl0pOworCQkJCXdoaWxlICgqcCAhPSAnXFwnICYmIHAgPiBidWYpCisJCQkJCXAtLTsKKwkJCQlpZiAocCAhPSBidWYpIHsKKwkJCQkJeG1sQ2hhciogdXJpOworCQkJCQlzdHJuY3B5KHAsICJcXC4uXFxldGNcXGNhdGFsb2ciLCAyNTUgLSAocCAtIGJ1ZikpOworCQkJCQl1cmkgPSB4bWxDYW5vbmljUGF0aCgoY29uc3QgeG1sQ2hhciopYnVmKTsKKwkJCQkJaWYgKHVyaSAhPSBOVUxMKSB7CisJCQkJCQlzdHJuY3B5KFhNTF9YTUxfREVGQVVMVF9DQVRBTE9HLCB1cmksIDI1NSk7CisJCQkJCQl4bWxGcmVlKHVyaSk7CisJCQkJCX0KKwkJCQl9CisJCQl9CisJCX0KKwkJY2F0YWxvZ3MgPSBYTUxfWE1MX0RFRkFVTFRfQ0FUQUxPRzsKKyAgICB9CisjZWxzZQorCSAgICBjYXRhbG9ncyA9IFhNTF9YTUxfREVGQVVMVF9DQVRBTE9HOworI2VuZGlmCisKKwljYXRhbCA9IHhtbENyZWF0ZU5ld0NhdGFsb2coWE1MX1hNTF9DQVRBTE9HX1RZUEUsCisJCXhtbENhdGFsb2dEZWZhdWx0UHJlZmVyKTsKKwlpZiAoY2F0YWwgIT0gTlVMTCkgeworCSAgICAvKiB0aGUgWE1MX0NBVEFMT0dfRklMRVMgZW52dmFyIGlzIGFsbG93ZWQgdG8gY29udGFpbiBhCisJICAgICAgIHNwYWNlLXNlcGFyYXRlZCBsaXN0IG9mIGVudHJpZXMuICovCisJICAgIGN1ciA9IGNhdGFsb2dzOworCSAgICBuZXh0ZW50ID0gJmNhdGFsLT54bWw7CisJICAgIHdoaWxlICgqY3VyICE9ICdcMCcpIHsKKwkJd2hpbGUgKHhtbElzQmxhbmtfY2goKmN1cikpCisJCSAgICBjdXIrKzsKKwkJaWYgKCpjdXIgIT0gMCkgeworCQkgICAgcGF0aHMgPSBjdXI7CisJCSAgICB3aGlsZSAoKCpjdXIgIT0gMCkgJiYgKCF4bWxJc0JsYW5rX2NoKCpjdXIpKSkKKwkJCWN1cisrOworCQkgICAgcGF0aCA9IChjaGFyICopIHhtbFN0cm5kdXAoKGNvbnN0IHhtbENoYXIgKilwYXRocywgY3VyIC0gcGF0aHMpOworCQkgICAgaWYgKHBhdGggIT0gTlVMTCkgeworCQkJKm5leHRlbnQgPSB4bWxOZXdDYXRhbG9nRW50cnkoWE1MX0NBVEFfQ0FUQUxPRywgTlVMTCwKKwkJCQlOVUxMLCBCQURfQ0FTVCBwYXRoLCB4bWxDYXRhbG9nRGVmYXVsdFByZWZlciwgTlVMTCk7CisJCQlpZiAoKm5leHRlbnQgIT0gTlVMTCkKKwkJCSAgICBuZXh0ZW50ID0gJigoKm5leHRlbnQpLT5uZXh0KTsKKwkJCXhtbEZyZWUocGF0aCk7CisJCSAgICB9CisJCX0KKwkgICAgfQorCSAgICB4bWxEZWZhdWx0Q2F0YWxvZyA9IGNhdGFsOworCX0KKyAgICB9CisKKyAgICB4bWxSTXV0ZXhVbmxvY2soeG1sQ2F0YWxvZ011dGV4KTsKK30KKworCisvKioKKyAqIHhtbExvYWRDYXRhbG9nOgorICogQGZpbGVuYW1lOiAgYSBmaWxlIHBhdGgKKyAqCisgKiBMb2FkIHRoZSBjYXRhbG9nIGFuZCBtYWtlcyBpdHMgZGVmaW5pdGlvbnMgZWZmZWN0aXZlIGZvciB0aGUgZGVmYXVsdAorICogZXh0ZXJuYWwgZW50aXR5IGxvYWRlci4gSXQgd2lsbCByZWN1cnNlIGluIFNHTUwgQ0FUQUxPRyBlbnRyaWVzLgorICogdGhpcyBmdW5jdGlvbiBpcyBub3QgdGhyZWFkIHNhZmUsIGNhdGFsb2cgaW5pdGlhbGl6YXRpb24gc2hvdWxkCisgKiBwcmVmZXJhYmx5IGJlIGRvbmUgb25jZSBhdCBzdGFydHVwCisgKgorICogUmV0dXJucyAwIGluIGNhc2Ugb2Ygc3VjY2VzcyAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK2ludAoreG1sTG9hZENhdGFsb2coY29uc3QgY2hhciAqZmlsZW5hbWUpCit7CisgICAgaW50IHJldDsKKyAgICB4bWxDYXRhbG9nUHRyIGNhdGFsOworCisgICAgaWYgKCF4bWxDYXRhbG9nSW5pdGlhbGl6ZWQpCisJeG1sSW5pdGlhbGl6ZUNhdGFsb2dEYXRhKCk7CisKKyAgICB4bWxSTXV0ZXhMb2NrKHhtbENhdGFsb2dNdXRleCk7CisKKyAgICBpZiAoeG1sRGVmYXVsdENhdGFsb2cgPT0gTlVMTCkgeworCWNhdGFsID0geG1sTG9hZEFDYXRhbG9nKGZpbGVuYW1lKTsKKwlpZiAoY2F0YWwgPT0gTlVMTCkgeworCSAgICB4bWxSTXV0ZXhVbmxvY2soeG1sQ2F0YWxvZ011dGV4KTsKKwkgICAgcmV0dXJuKC0xKTsKKwl9CisKKwl4bWxEZWZhdWx0Q2F0YWxvZyA9IGNhdGFsOworCXhtbFJNdXRleFVubG9jayh4bWxDYXRhbG9nTXV0ZXgpOworCXJldHVybigwKTsKKyAgICB9CisKKyAgICByZXQgPSB4bWxFeHBhbmRDYXRhbG9nKHhtbERlZmF1bHRDYXRhbG9nLCBmaWxlbmFtZSk7CisgICAgeG1sUk11dGV4VW5sb2NrKHhtbENhdGFsb2dNdXRleCk7CisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogeG1sTG9hZENhdGFsb2dzOgorICogQHBhdGhzczogIGEgbGlzdCBvZiBkaXJlY3RvcmllcyBzZXBhcmF0ZWQgYnkgYSBjb2xvbiBvciBhIHNwYWNlLgorICoKKyAqIExvYWQgdGhlIGNhdGFsb2dzIGFuZCBtYWtlcyB0aGVpciBkZWZpbml0aW9ucyBlZmZlY3RpdmUgZm9yIHRoZSBkZWZhdWx0CisgKiBleHRlcm5hbCBlbnRpdHkgbG9hZGVyLgorICogdGhpcyBmdW5jdGlvbiBpcyBub3QgdGhyZWFkIHNhZmUsIGNhdGFsb2cgaW5pdGlhbGl6YXRpb24gc2hvdWxkCisgKiBwcmVmZXJhYmx5IGJlIGRvbmUgb25jZSBhdCBzdGFydHVwCisgKi8KK3ZvaWQKK3htbExvYWRDYXRhbG9ncyhjb25zdCBjaGFyICpwYXRoc3MpIHsKKyAgICBjb25zdCBjaGFyICpjdXI7CisgICAgY29uc3QgY2hhciAqcGF0aHM7CisgICAgeG1sQ2hhciAqcGF0aDsKKyNpZmRlZiBfV0lOMzIKKyAgICBpbnQgaSwgaUxlbjsKKyNlbmRpZgorCisgICAgaWYgKHBhdGhzcyA9PSBOVUxMKQorCXJldHVybjsKKworICAgIGN1ciA9IHBhdGhzczsKKyAgICB3aGlsZSAoKmN1ciAhPSAwKSB7CisJd2hpbGUgKHhtbElzQmxhbmtfY2goKmN1cikpIGN1cisrOworCWlmICgqY3VyICE9IDApIHsKKwkgICAgcGF0aHMgPSBjdXI7CisJICAgIHdoaWxlICgoKmN1ciAhPSAwKSAmJiAoKmN1ciAhPSBQQVRIX1NFQVBBUkFUT1IpICYmICgheG1sSXNCbGFua19jaCgqY3VyKSkpCisJCWN1cisrOworCSAgICBwYXRoID0geG1sU3RybmR1cCgoY29uc3QgeG1sQ2hhciAqKXBhdGhzLCBjdXIgLSBwYXRocyk7CisjaWZkZWYgX1dJTjMyCisgICAgICAgIGlMZW4gPSBzdHJsZW4oKGNvbnN0IGNoYXIqKXBhdGgpOworICAgICAgICBmb3IoaSA9IDA7IGkgPCBpTGVuOyBpKyspIHsKKyAgICAgICAgICAgIGlmKHBhdGhbaV0gPT0gJ1xcJykgeworICAgICAgICAgICAgICAgIHBhdGhbaV0gPSAnLyc7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyNlbmRpZgorCSAgICBpZiAocGF0aCAhPSBOVUxMKSB7CisJCXhtbExvYWRDYXRhbG9nKChjb25zdCBjaGFyICopIHBhdGgpOworCQl4bWxGcmVlKHBhdGgpOworCSAgICB9CisJfQorCXdoaWxlICgqY3VyID09IFBBVEhfU0VBUEFSQVRPUikKKwkgICAgY3VyKys7CisgICAgfQorfQorCisvKioKKyAqIHhtbENhdGFsb2dDbGVhbnVwOgorICoKKyAqIEZyZWUgdXAgYWxsIHRoZSBtZW1vcnkgYXNzb2NpYXRlZCB3aXRoIGNhdGFsb2dzCisgKi8KK3ZvaWQKK3htbENhdGFsb2dDbGVhbnVwKHZvaWQpIHsKKyAgICBpZiAoeG1sQ2F0YWxvZ0luaXRpYWxpemVkID09IDApCisgICAgICAgIHJldHVybjsKKworICAgIHhtbFJNdXRleExvY2soeG1sQ2F0YWxvZ011dGV4KTsKKyAgICBpZiAoeG1sRGVidWdDYXRhbG9ncykKKwl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJIkNhdGFsb2dzIGNsZWFudXBcbiIpOworICAgIGlmICh4bWxDYXRhbG9nWE1MRmlsZXMgIT0gTlVMTCkKKwl4bWxIYXNoRnJlZSh4bWxDYXRhbG9nWE1MRmlsZXMsCisJCSAgICAoeG1sSGFzaERlYWxsb2NhdG9yKXhtbEZyZWVDYXRhbG9nSGFzaEVudHJ5TGlzdCk7CisgICAgeG1sQ2F0YWxvZ1hNTEZpbGVzID0gTlVMTDsKKyAgICBpZiAoeG1sRGVmYXVsdENhdGFsb2cgIT0gTlVMTCkKKwl4bWxGcmVlQ2F0YWxvZyh4bWxEZWZhdWx0Q2F0YWxvZyk7CisgICAgeG1sRGVmYXVsdENhdGFsb2cgPSBOVUxMOworICAgIHhtbERlYnVnQ2F0YWxvZ3MgPSAwOworICAgIHhtbENhdGFsb2dJbml0aWFsaXplZCA9IDA7CisgICAgeG1sUk11dGV4VW5sb2NrKHhtbENhdGFsb2dNdXRleCk7CisgICAgeG1sRnJlZVJNdXRleCh4bWxDYXRhbG9nTXV0ZXgpOworfQorCisvKioKKyAqIHhtbENhdGFsb2dSZXNvbHZlU3lzdGVtOgorICogQHN5c0lEOiAgdGhlIHN5c3RlbSBJRCBzdHJpbmcKKyAqCisgKiBUcnkgdG8gbG9va3VwIHRoZSBjYXRhbG9nIHJlc291cmNlIGZvciBhIHN5c3RlbSBJRAorICoKKyAqIFJldHVybnMgdGhlIHJlc291cmNlIGlmIGZvdW5kIG9yIE5VTEwgb3RoZXJ3aXNlLCB0aGUgdmFsdWUgcmV0dXJuZWQKKyAqICAgICAgbXVzdCBiZSBmcmVlZCBieSB0aGUgY2FsbGVyLgorICovCit4bWxDaGFyICoKK3htbENhdGFsb2dSZXNvbHZlU3lzdGVtKGNvbnN0IHhtbENoYXIgKnN5c0lEKSB7CisgICAgeG1sQ2hhciAqcmV0OworCisgICAgaWYgKCF4bWxDYXRhbG9nSW5pdGlhbGl6ZWQpCisJeG1sSW5pdGlhbGl6ZUNhdGFsb2coKTsKKworICAgIHJldCA9IHhtbEFDYXRhbG9nUmVzb2x2ZVN5c3RlbSh4bWxEZWZhdWx0Q2F0YWxvZywgc3lzSUQpOworICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbENhdGFsb2dSZXNvbHZlUHVibGljOgorICogQHB1YklEOiAgdGhlIHB1YmxpYyBJRCBzdHJpbmcKKyAqCisgKiBUcnkgdG8gbG9va3VwIHRoZSBjYXRhbG9nIHJlZmVyZW5jZSBhc3NvY2lhdGVkIHRvIGEgcHVibGljIElECisgKgorICogUmV0dXJucyB0aGUgcmVzb3VyY2UgaWYgZm91bmQgb3IgTlVMTCBvdGhlcndpc2UsIHRoZSB2YWx1ZSByZXR1cm5lZAorICogICAgICBtdXN0IGJlIGZyZWVkIGJ5IHRoZSBjYWxsZXIuCisgKi8KK3htbENoYXIgKgoreG1sQ2F0YWxvZ1Jlc29sdmVQdWJsaWMoY29uc3QgeG1sQ2hhciAqcHViSUQpIHsKKyAgICB4bWxDaGFyICpyZXQ7CisKKyAgICBpZiAoIXhtbENhdGFsb2dJbml0aWFsaXplZCkKKwl4bWxJbml0aWFsaXplQ2F0YWxvZygpOworCisgICAgcmV0ID0geG1sQUNhdGFsb2dSZXNvbHZlUHVibGljKHhtbERlZmF1bHRDYXRhbG9nLCBwdWJJRCk7CisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogeG1sQ2F0YWxvZ1Jlc29sdmU6CisgKiBAcHViSUQ6ICB0aGUgcHVibGljIElEIHN0cmluZworICogQHN5c0lEOiAgdGhlIHN5c3RlbSBJRCBzdHJpbmcKKyAqCisgKiBEbyBhIGNvbXBsZXRlIHJlc29sdXRpb24gbG9va3VwIG9mIGFuIEV4dGVybmFsIElkZW50aWZpZXIKKyAqCisgKiBSZXR1cm5zIHRoZSBVUkkgb2YgdGhlIHJlc291cmNlIG9yIE5VTEwgaWYgbm90IGZvdW5kLCBpdCBtdXN0IGJlIGZyZWVkCisgKiAgICAgIGJ5IHRoZSBjYWxsZXIuCisgKi8KK3htbENoYXIgKgoreG1sQ2F0YWxvZ1Jlc29sdmUoY29uc3QgeG1sQ2hhciAqcHViSUQsIGNvbnN0IHhtbENoYXIgKnN5c0lEKSB7CisgICAgeG1sQ2hhciAqcmV0OworCisgICAgaWYgKCF4bWxDYXRhbG9nSW5pdGlhbGl6ZWQpCisJeG1sSW5pdGlhbGl6ZUNhdGFsb2coKTsKKworICAgIHJldCA9IHhtbEFDYXRhbG9nUmVzb2x2ZSh4bWxEZWZhdWx0Q2F0YWxvZywgcHViSUQsIHN5c0lEKTsKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxDYXRhbG9nUmVzb2x2ZVVSSToKKyAqIEBVUkk6ICB0aGUgVVJJCisgKgorICogRG8gYSBjb21wbGV0ZSByZXNvbHV0aW9uIGxvb2t1cCBvZiBhbiBVUkkKKyAqCisgKiBSZXR1cm5zIHRoZSBVUkkgb2YgdGhlIHJlc291cmNlIG9yIE5VTEwgaWYgbm90IGZvdW5kLCBpdCBtdXN0IGJlIGZyZWVkCisgKiAgICAgIGJ5IHRoZSBjYWxsZXIuCisgKi8KK3htbENoYXIgKgoreG1sQ2F0YWxvZ1Jlc29sdmVVUkkoY29uc3QgeG1sQ2hhciAqVVJJKSB7CisgICAgeG1sQ2hhciAqcmV0OworCisgICAgaWYgKCF4bWxDYXRhbG9nSW5pdGlhbGl6ZWQpCisJeG1sSW5pdGlhbGl6ZUNhdGFsb2coKTsKKworICAgIHJldCA9IHhtbEFDYXRhbG9nUmVzb2x2ZVVSSSh4bWxEZWZhdWx0Q2F0YWxvZywgVVJJKTsKKyAgICByZXR1cm4ocmV0KTsKK30KKworI2lmZGVmIExJQlhNTF9PVVRQVVRfRU5BQkxFRAorLyoqCisgKiB4bWxDYXRhbG9nRHVtcDoKKyAqIEBvdXQ6ICB0aGUgZmlsZS4KKyAqCisgKiBEdW1wIGFsbCB0aGUgZ2xvYmFsIGNhdGFsb2cgY29udGVudCB0byB0aGUgZ2l2ZW4gZmlsZS4KKyAqLwordm9pZAoreG1sQ2F0YWxvZ0R1bXAoRklMRSAqb3V0KSB7CisgICAgaWYgKG91dCA9PSBOVUxMKQorCXJldHVybjsKKworICAgIGlmICgheG1sQ2F0YWxvZ0luaXRpYWxpemVkKQorCXhtbEluaXRpYWxpemVDYXRhbG9nKCk7CisKKyAgICB4bWxBQ2F0YWxvZ0R1bXAoeG1sRGVmYXVsdENhdGFsb2csIG91dCk7Cit9CisjZW5kaWYgLyogTElCWE1MX09VVFBVVF9FTkFCTEVEICovCisKKy8qKgorICogeG1sQ2F0YWxvZ0FkZDoKKyAqIEB0eXBlOiAgdGhlIHR5cGUgb2YgcmVjb3JkIHRvIGFkZCB0byB0aGUgY2F0YWxvZworICogQG9yaWc6ICB0aGUgc3lzdGVtLCBwdWJsaWMgb3IgcHJlZml4IHRvIG1hdGNoCisgKiBAcmVwbGFjZTogIHRoZSByZXBsYWNlbWVudCB2YWx1ZSBmb3IgdGhlIG1hdGNoCisgKgorICogQWRkIGFuIGVudHJ5IGluIHRoZSBjYXRhbG9nLCBpdCBtYXkgb3ZlcndyaXRlIGV4aXN0aW5nIGJ1dAorICogZGlmZmVyZW50IGVudHJpZXMuCisgKiBJZiBjYWxsZWQgYmVmb3JlIGFueSBvdGhlciBjYXRhbG9nIHJvdXRpbmUsIGFsbG93cyB0byBvdmVycmlkZSB0aGUKKyAqIGRlZmF1bHQgc2hhcmVkIGNhdGFsb2cgcHV0IGluIHBsYWNlIGJ5IHhtbEluaXRpYWxpemVDYXRhbG9nKCk7CisgKgorICogUmV0dXJucyAwIGlmIHN1Y2Nlc3NmdWwsIC0xIG90aGVyd2lzZQorICovCitpbnQKK3htbENhdGFsb2dBZGQoY29uc3QgeG1sQ2hhciAqdHlwZSwgY29uc3QgeG1sQ2hhciAqb3JpZywgY29uc3QgeG1sQ2hhciAqcmVwbGFjZSkgeworICAgIGludCByZXMgPSAtMTsKKworICAgIGlmICgheG1sQ2F0YWxvZ0luaXRpYWxpemVkKQorCXhtbEluaXRpYWxpemVDYXRhbG9nRGF0YSgpOworCisgICAgeG1sUk11dGV4TG9jayh4bWxDYXRhbG9nTXV0ZXgpOworICAgIC8qCisgICAgICogU3BlY2lmaWMgY2FzZSB3aGVyZSBvbmUgd2FudCB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBjYXRhbG9nCisgICAgICogcHV0IGluIHBsYWNlIGJ5IHhtbEluaXRpYWxpemVDYXRhbG9nKCk7CisgICAgICovCisgICAgaWYgKCh4bWxEZWZhdWx0Q2F0YWxvZyA9PSBOVUxMKSAmJgorCSh4bWxTdHJFcXVhbCh0eXBlLCBCQURfQ0FTVCAiY2F0YWxvZyIpKSkgeworCXhtbERlZmF1bHRDYXRhbG9nID0geG1sQ3JlYXRlTmV3Q2F0YWxvZyhYTUxfWE1MX0NBVEFMT0dfVFlQRSwKKwkJICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxDYXRhbG9nRGVmYXVsdFByZWZlcik7CisJeG1sRGVmYXVsdENhdGFsb2ctPnhtbCA9IHhtbE5ld0NhdGFsb2dFbnRyeShYTUxfQ0FUQV9DQVRBTE9HLCBOVUxMLAorCQkJCSAgICBvcmlnLCBOVUxMLCAgeG1sQ2F0YWxvZ0RlZmF1bHRQcmVmZXIsIE5VTEwpOworCisJeG1sUk11dGV4VW5sb2NrKHhtbENhdGFsb2dNdXRleCk7CisJcmV0dXJuKDApOworICAgIH0KKworICAgIHJlcyA9IHhtbEFDYXRhbG9nQWRkKHhtbERlZmF1bHRDYXRhbG9nLCB0eXBlLCBvcmlnLCByZXBsYWNlKTsKKyAgICB4bWxSTXV0ZXhVbmxvY2soeG1sQ2F0YWxvZ011dGV4KTsKKyAgICByZXR1cm4ocmVzKTsKK30KKworLyoqCisgKiB4bWxDYXRhbG9nUmVtb3ZlOgorICogQHZhbHVlOiAgdGhlIHZhbHVlIHRvIHJlbW92ZQorICoKKyAqIFJlbW92ZSBhbiBlbnRyeSBmcm9tIHRoZSBjYXRhbG9nCisgKgorICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIGVudHJpZXMgcmVtb3ZlZCBpZiBzdWNjZXNzZnVsLCAtMSBvdGhlcndpc2UKKyAqLworaW50Cit4bWxDYXRhbG9nUmVtb3ZlKGNvbnN0IHhtbENoYXIgKnZhbHVlKSB7CisgICAgaW50IHJlczsKKworICAgIGlmICgheG1sQ2F0YWxvZ0luaXRpYWxpemVkKQorCXhtbEluaXRpYWxpemVDYXRhbG9nKCk7CisKKyAgICB4bWxSTXV0ZXhMb2NrKHhtbENhdGFsb2dNdXRleCk7CisgICAgcmVzID0geG1sQUNhdGFsb2dSZW1vdmUoeG1sRGVmYXVsdENhdGFsb2csIHZhbHVlKTsKKyAgICB4bWxSTXV0ZXhVbmxvY2soeG1sQ2F0YWxvZ011dGV4KTsKKyAgICByZXR1cm4ocmVzKTsKK30KKworLyoqCisgKiB4bWxDYXRhbG9nQ29udmVydDoKKyAqCisgKiBDb252ZXJ0IGFsbCB0aGUgU0dNTCBjYXRhbG9nIGVudHJpZXMgYXMgWE1MIG9uZXMKKyAqCisgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgZW50cmllcyBjb252ZXJ0ZWQgaWYgc3VjY2Vzc2Z1bCwgLTEgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sQ2F0YWxvZ0NvbnZlcnQodm9pZCkgeworICAgIGludCByZXMgPSAtMTsKKworICAgIGlmICgheG1sQ2F0YWxvZ0luaXRpYWxpemVkKQorCXhtbEluaXRpYWxpemVDYXRhbG9nKCk7CisKKyAgICB4bWxSTXV0ZXhMb2NrKHhtbENhdGFsb2dNdXRleCk7CisgICAgcmVzID0geG1sQ29udmVydFNHTUxDYXRhbG9nKHhtbERlZmF1bHRDYXRhbG9nKTsKKyAgICB4bWxSTXV0ZXhVbmxvY2soeG1sQ2F0YWxvZ011dGV4KTsKKyAgICByZXR1cm4ocmVzKTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKglQdWJsaWMgaW50ZXJmYWNlIG1hbmlwdWxhdGluZyB0aGUgY29tbW9uIHByZWZlcmVuY2VzCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKgorICogeG1sQ2F0YWxvZ0dldERlZmF1bHRzOgorICoKKyAqIFVzZWQgdG8gZ2V0IHRoZSB1c2VyIHByZWZlcmVuY2Ugdy5yLnQuIHRvIHdoYXQgY2F0YWxvZ3Mgc2hvdWxkCisgKiBiZSBhY2NlcHRlZAorICoKKyAqIFJldHVybnMgdGhlIGN1cnJlbnQgeG1sQ2F0YWxvZ0FsbG93IHZhbHVlCisgKi8KK3htbENhdGFsb2dBbGxvdworeG1sQ2F0YWxvZ0dldERlZmF1bHRzKHZvaWQpIHsKKyAgICByZXR1cm4oeG1sQ2F0YWxvZ0RlZmF1bHRBbGxvdyk7Cit9CisKKy8qKgorICogeG1sQ2F0YWxvZ1NldERlZmF1bHRzOgorICogQGFsbG93OiAgd2hhdCBjYXRhbG9ncyBzaG91bGQgYmUgYWNjZXB0ZWQKKyAqCisgKiBVc2VkIHRvIHNldCB0aGUgdXNlciBwcmVmZXJlbmNlIHcuci50LiB0byB3aGF0IGNhdGFsb2dzIHNob3VsZAorICogYmUgYWNjZXB0ZWQKKyAqLwordm9pZAoreG1sQ2F0YWxvZ1NldERlZmF1bHRzKHhtbENhdGFsb2dBbGxvdyBhbGxvdykgeworICAgIGlmICh4bWxEZWJ1Z0NhdGFsb2dzKSB7CisJc3dpdGNoIChhbGxvdykgeworCSAgICBjYXNlIFhNTF9DQVRBX0FMTE9XX05PTkU6CisJCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkJIkRpc2FibGluZyBjYXRhbG9nIHVzYWdlXG4iKTsKKwkJYnJlYWs7CisJICAgIGNhc2UgWE1MX0NBVEFfQUxMT1dfR0xPQkFMOgorCQl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJCSJBbGxvd2luZyBvbmx5IGdsb2JhbCBjYXRhbG9nc1xuIik7CisJCWJyZWFrOworCSAgICBjYXNlIFhNTF9DQVRBX0FMTE9XX0RPQ1VNRU5UOgorCQl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJCSJBbGxvd2luZyBvbmx5IGNhdGFsb2dzIGZyb20gdGhlIGRvY3VtZW50XG4iKTsKKwkJYnJlYWs7CisJICAgIGNhc2UgWE1MX0NBVEFfQUxMT1dfQUxMOgorCQl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJCSJBbGxvd2luZyBhbGwgY2F0YWxvZ3NcbiIpOworCQlicmVhazsKKwl9CisgICAgfQorICAgIHhtbENhdGFsb2dEZWZhdWx0QWxsb3cgPSBhbGxvdzsKK30KKworLyoqCisgKiB4bWxDYXRhbG9nU2V0RGVmYXVsdFByZWZlcjoKKyAqIEBwcmVmZXI6ICB0aGUgZGVmYXVsdCBwcmVmZXJlbmNlIGZvciBkZWxlZ2F0aW9uCisgKgorICogQWxsb3dzIHRvIHNldCB0aGUgcHJlZmVyZW5jZSBiZXR3ZWVuIHB1YmxpYyBhbmQgc3lzdGVtIGZvciBkZWxldGlvbgorICogaW4gWE1MIENhdGFsb2cgcmVzb2x1dGlvbi4gQy5mLiBzZWN0aW9uIDQuMS4xIG9mIHRoZSBzcGVjCisgKiBWYWx1ZXMgYWNjZXB0ZWQgYXJlIFhNTF9DQVRBX1BSRUZFUl9QVUJMSUMgb3IgWE1MX0NBVEFfUFJFRkVSX1NZU1RFTQorICoKKyAqIFJldHVybnMgdGhlIHByZXZpb3VzIHZhbHVlIG9mIHRoZSBkZWZhdWx0IHByZWZlcmVuY2UgZm9yIGRlbGVnYXRpb24KKyAqLworeG1sQ2F0YWxvZ1ByZWZlcgoreG1sQ2F0YWxvZ1NldERlZmF1bHRQcmVmZXIoeG1sQ2F0YWxvZ1ByZWZlciBwcmVmZXIpIHsKKyAgICB4bWxDYXRhbG9nUHJlZmVyIHJldCA9IHhtbENhdGFsb2dEZWZhdWx0UHJlZmVyOworCisgICAgaWYgKHByZWZlciA9PSBYTUxfQ0FUQV9QUkVGRVJfTk9ORSkKKwlyZXR1cm4ocmV0KTsKKworICAgIGlmICh4bWxEZWJ1Z0NhdGFsb2dzKSB7CisJc3dpdGNoIChwcmVmZXIpIHsKKwkgICAgY2FzZSBYTUxfQ0FUQV9QUkVGRVJfUFVCTElDOgorCQl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJCSJTZXR0aW5nIGNhdGFsb2cgcHJlZmVyZW5jZSB0byBQVUJMSUNcbiIpOworCQlicmVhazsKKwkgICAgY2FzZSBYTUxfQ0FUQV9QUkVGRVJfU1lTVEVNOgorCQl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJCSJTZXR0aW5nIGNhdGFsb2cgcHJlZmVyZW5jZSB0byBTWVNURU1cbiIpOworCQlicmVhazsKKwkgICAgZGVmYXVsdDoKKwkJcmV0dXJuKHJldCk7CisJfQorICAgIH0KKyAgICB4bWxDYXRhbG9nRGVmYXVsdFByZWZlciA9IHByZWZlcjsKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxDYXRhbG9nU2V0RGVidWc6CisgKiBAbGV2ZWw6ICB0aGUgZGVidWcgbGV2ZWwgb2YgY2F0YWxvZ3MgcmVxdWlyZWQKKyAqCisgKiBVc2VkIHRvIHNldCB0aGUgZGVidWcgbGV2ZWwgZm9yIGNhdGFsb2cgb3BlcmF0aW9uLCAwIGRpc2FibGUKKyAqIGRlYnVnZ2luZywgMSBlbmFibGUgaXQKKyAqCisgKiBSZXR1cm5zIHRoZSBwcmV2aW91cyB2YWx1ZSBvZiB0aGUgY2F0YWxvZyBkZWJ1Z2dpbmcgbGV2ZWwKKyAqLworaW50Cit4bWxDYXRhbG9nU2V0RGVidWcoaW50IGxldmVsKSB7CisgICAgaW50IHJldCA9IHhtbERlYnVnQ2F0YWxvZ3M7CisKKyAgICBpZiAobGV2ZWwgPD0gMCkKKyAgICAgICAgeG1sRGVidWdDYXRhbG9ncyA9IDA7CisgICAgZWxzZQorCXhtbERlYnVnQ2F0YWxvZ3MgPSBsZXZlbDsKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKiAgIE1pbmltYWwgaW50ZXJmYWNlcyB1c2VkIGZvciBwZXItZG9jdW1lbnQgY2F0YWxvZ3MgYnkgdGhlIHBhcnNlcgkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKgorICogeG1sQ2F0YWxvZ0ZyZWVMb2NhbDoKKyAqIEBjYXRhbG9nczogIGEgZG9jdW1lbnQncyBsaXN0IG9mIGNhdGFsb2dzCisgKgorICogRnJlZSB1cCB0aGUgbWVtb3J5IGFzc29jaWF0ZWQgdG8gdGhlIGNhdGFsb2cgbGlzdAorICovCit2b2lkCit4bWxDYXRhbG9nRnJlZUxvY2FsKHZvaWQgKmNhdGFsb2dzKSB7CisgICAgeG1sQ2F0YWxvZ0VudHJ5UHRyIGNhdGFsOworCisgICAgaWYgKCF4bWxDYXRhbG9nSW5pdGlhbGl6ZWQpCisJeG1sSW5pdGlhbGl6ZUNhdGFsb2coKTsKKworICAgIGNhdGFsID0gKHhtbENhdGFsb2dFbnRyeVB0cikgY2F0YWxvZ3M7CisgICAgaWYgKGNhdGFsICE9IE5VTEwpCisJeG1sRnJlZUNhdGFsb2dFbnRyeUxpc3QoY2F0YWwpOworfQorCisKKy8qKgorICogeG1sQ2F0YWxvZ0FkZExvY2FsOgorICogQGNhdGFsb2dzOiAgYSBkb2N1bWVudCdzIGxpc3Qgb2YgY2F0YWxvZ3MKKyAqIEBVUkw6ICB0aGUgVVJMIHRvIGEgbmV3IGxvY2FsIGNhdGFsb2cKKyAqCisgKiBBZGQgdGhlIG5ldyBlbnRyeSB0byB0aGUgY2F0YWxvZyBsaXN0CisgKgorICogUmV0dXJucyB0aGUgdXBkYXRlZCBsaXN0CisgKi8KK3ZvaWQgKgoreG1sQ2F0YWxvZ0FkZExvY2FsKHZvaWQgKmNhdGFsb2dzLCBjb25zdCB4bWxDaGFyICpVUkwpIHsKKyAgICB4bWxDYXRhbG9nRW50cnlQdHIgY2F0YWwsIGFkZDsKKworICAgIGlmICgheG1sQ2F0YWxvZ0luaXRpYWxpemVkKQorCXhtbEluaXRpYWxpemVDYXRhbG9nKCk7CisKKyAgICBpZiAoVVJMID09IE5VTEwpCisJcmV0dXJuKGNhdGFsb2dzKTsKKworICAgIGlmICh4bWxEZWJ1Z0NhdGFsb2dzKQorCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkiQWRkaW5nIGRvY3VtZW50IGNhdGFsb2cgJXNcbiIsIFVSTCk7CisKKyAgICBhZGQgPSB4bWxOZXdDYXRhbG9nRW50cnkoWE1MX0NBVEFfQ0FUQUxPRywgTlVMTCwgVVJMLCBOVUxMLAorCSAgICAgICAgICAgICAgICAgICAgIHhtbENhdGFsb2dEZWZhdWx0UHJlZmVyLCBOVUxMKTsKKyAgICBpZiAoYWRkID09IE5VTEwpCisJcmV0dXJuKGNhdGFsb2dzKTsKKworICAgIGNhdGFsID0gKHhtbENhdGFsb2dFbnRyeVB0cikgY2F0YWxvZ3M7CisgICAgaWYgKGNhdGFsID09IE5VTEwpCisJcmV0dXJuKCh2b2lkICopIGFkZCk7CisKKyAgICB3aGlsZSAoY2F0YWwtPm5leHQgIT0gTlVMTCkKKwljYXRhbCA9IGNhdGFsLT5uZXh0OworICAgIGNhdGFsLT5uZXh0ID0gYWRkOworICAgIHJldHVybihjYXRhbG9ncyk7Cit9CisKKy8qKgorICogeG1sQ2F0YWxvZ0xvY2FsUmVzb2x2ZToKKyAqIEBjYXRhbG9nczogIGEgZG9jdW1lbnQncyBsaXN0IG9mIGNhdGFsb2dzCisgKiBAcHViSUQ6ICB0aGUgcHVibGljIElEIHN0cmluZworICogQHN5c0lEOiAgdGhlIHN5c3RlbSBJRCBzdHJpbmcKKyAqCisgKiBEbyBhIGNvbXBsZXRlIHJlc29sdXRpb24gbG9va3VwIG9mIGFuIEV4dGVybmFsIElkZW50aWZpZXIgdXNpbmcgYQorICogZG9jdW1lbnQncyBwcml2YXRlIGNhdGFsb2cgbGlzdAorICoKKyAqIFJldHVybnMgdGhlIFVSSSBvZiB0aGUgcmVzb3VyY2Ugb3IgTlVMTCBpZiBub3QgZm91bmQsIGl0IG11c3QgYmUgZnJlZWQKKyAqICAgICAgYnkgdGhlIGNhbGxlci4KKyAqLworeG1sQ2hhciAqCit4bWxDYXRhbG9nTG9jYWxSZXNvbHZlKHZvaWQgKmNhdGFsb2dzLCBjb25zdCB4bWxDaGFyICpwdWJJRCwKKwkgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICpzeXNJRCkgeworICAgIHhtbENhdGFsb2dFbnRyeVB0ciBjYXRhbDsKKyAgICB4bWxDaGFyICpyZXQ7CisKKyAgICBpZiAoIXhtbENhdGFsb2dJbml0aWFsaXplZCkKKwl4bWxJbml0aWFsaXplQ2F0YWxvZygpOworCisgICAgaWYgKChwdWJJRCA9PSBOVUxMKSAmJiAoc3lzSUQgPT0gTlVMTCkpCisJcmV0dXJuKE5VTEwpOworCisgICAgaWYgKHhtbERlYnVnQ2F0YWxvZ3MpIHsKKyAgICAgICAgaWYgKChwdWJJRCAhPSBOVUxMKSAmJiAoc3lzSUQgIT0gTlVMTCkpIHsKKyAgICAgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJMb2NhbCBSZXNvbHZlOiBwdWJJRCAlcyBzeXNJRCAlc1xuIiwgcHViSUQsIHN5c0lEKTsKKyAgICAgICAgfSBlbHNlIGlmIChwdWJJRCAhPSBOVUxMKSB7CisgICAgICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTG9jYWwgUmVzb2x2ZTogcHViSUQgJXNcbiIsIHB1YklEKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJMb2NhbCBSZXNvbHZlOiBzeXNJRCAlc1xuIiwgc3lzSUQpOworICAgICAgICB9CisgICAgfQorCisgICAgY2F0YWwgPSAoeG1sQ2F0YWxvZ0VudHJ5UHRyKSBjYXRhbG9nczsKKyAgICBpZiAoY2F0YWwgPT0gTlVMTCkKKwlyZXR1cm4oTlVMTCk7CisgICAgcmV0ID0geG1sQ2F0YWxvZ0xpc3RYTUxSZXNvbHZlKGNhdGFsLCBwdWJJRCwgc3lzSUQpOworICAgIGlmICgocmV0ICE9IE5VTEwpICYmIChyZXQgIT0gWE1MX0NBVEFMX0JSRUFLKSkKKwlyZXR1cm4ocmV0KTsKKyAgICByZXR1cm4oTlVMTCk7Cit9CisKKy8qKgorICogeG1sQ2F0YWxvZ0xvY2FsUmVzb2x2ZVVSSToKKyAqIEBjYXRhbG9nczogIGEgZG9jdW1lbnQncyBsaXN0IG9mIGNhdGFsb2dzCisgKiBAVVJJOiAgdGhlIFVSSQorICoKKyAqIERvIGEgY29tcGxldGUgcmVzb2x1dGlvbiBsb29rdXAgb2YgYW4gVVJJIHVzaW5nIGEKKyAqIGRvY3VtZW50J3MgcHJpdmF0ZSBjYXRhbG9nIGxpc3QKKyAqCisgKiBSZXR1cm5zIHRoZSBVUkkgb2YgdGhlIHJlc291cmNlIG9yIE5VTEwgaWYgbm90IGZvdW5kLCBpdCBtdXN0IGJlIGZyZWVkCisgKiAgICAgIGJ5IHRoZSBjYWxsZXIuCisgKi8KK3htbENoYXIgKgoreG1sQ2F0YWxvZ0xvY2FsUmVzb2x2ZVVSSSh2b2lkICpjYXRhbG9ncywgY29uc3QgeG1sQ2hhciAqVVJJKSB7CisgICAgeG1sQ2F0YWxvZ0VudHJ5UHRyIGNhdGFsOworICAgIHhtbENoYXIgKnJldDsKKworICAgIGlmICgheG1sQ2F0YWxvZ0luaXRpYWxpemVkKQorCXhtbEluaXRpYWxpemVDYXRhbG9nKCk7CisKKyAgICBpZiAoVVJJID09IE5VTEwpCisJcmV0dXJuKE5VTEwpOworCisgICAgaWYgKHhtbERlYnVnQ2F0YWxvZ3MpCisJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSJSZXNvbHZlIFVSSSAlc1xuIiwgVVJJKTsKKworICAgIGNhdGFsID0gKHhtbENhdGFsb2dFbnRyeVB0cikgY2F0YWxvZ3M7CisgICAgaWYgKGNhdGFsID09IE5VTEwpCisJcmV0dXJuKE5VTEwpOworICAgIHJldCA9IHhtbENhdGFsb2dMaXN0WE1MUmVzb2x2ZVVSSShjYXRhbCwgVVJJKTsKKyAgICBpZiAoKHJldCAhPSBOVUxMKSAmJiAocmV0ICE9IFhNTF9DQVRBTF9CUkVBSykpCisJcmV0dXJuKHJldCk7CisgICAgcmV0dXJuKE5VTEwpOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQkJRGVwcmVjYXRlZCBpbnRlcmZhY2VzCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qKgorICogeG1sQ2F0YWxvZ0dldFN5c3RlbToKKyAqIEBzeXNJRDogIHRoZSBzeXN0ZW0gSUQgc3RyaW5nCisgKgorICogVHJ5IHRvIGxvb2t1cCB0aGUgY2F0YWxvZyByZWZlcmVuY2UgYXNzb2NpYXRlZCB0byBhIHN5c3RlbSBJRAorICogREVQUkVDQVRFRCwgdXNlIHhtbENhdGFsb2dSZXNvbHZlU3lzdGVtKCkKKyAqCisgKiBSZXR1cm5zIHRoZSByZXNvdXJjZSBpZiBmb3VuZCBvciBOVUxMIG90aGVyd2lzZS4KKyAqLworY29uc3QgeG1sQ2hhciAqCit4bWxDYXRhbG9nR2V0U3lzdGVtKGNvbnN0IHhtbENoYXIgKnN5c0lEKSB7CisgICAgeG1sQ2hhciAqcmV0OworICAgIHN0YXRpYyB4bWxDaGFyIHJlc3VsdFsxMDAwXTsKKyAgICBzdGF0aWMgaW50IG1zZyA9IDA7CisKKyAgICBpZiAoIXhtbENhdGFsb2dJbml0aWFsaXplZCkKKwl4bWxJbml0aWFsaXplQ2F0YWxvZygpOworCisgICAgaWYgKG1zZyA9PSAwKSB7CisJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSJVc2Ugb2YgZGVwcmVjYXRlZCB4bWxDYXRhbG9nR2V0U3lzdGVtKCkgY2FsbFxuIik7CisJbXNnKys7CisgICAgfQorCisgICAgaWYgKHN5c0lEID09IE5VTEwpCisJcmV0dXJuKE5VTEwpOworCisgICAgLyoKKyAgICAgKiBDaGVjayBmaXJzdCB0aGUgWE1MIGNhdGFsb2dzCisgICAgICovCisgICAgaWYgKHhtbERlZmF1bHRDYXRhbG9nICE9IE5VTEwpIHsKKwlyZXQgPSB4bWxDYXRhbG9nTGlzdFhNTFJlc29sdmUoeG1sRGVmYXVsdENhdGFsb2ctPnhtbCwgTlVMTCwgc3lzSUQpOworCWlmICgocmV0ICE9IE5VTEwpICYmIChyZXQgIT0gWE1MX0NBVEFMX0JSRUFLKSkgeworCSAgICBzbnByaW50ZigoY2hhciAqKSByZXN1bHQsIHNpemVvZihyZXN1bHQpIC0gMSwgIiVzIiwgKGNoYXIgKikgcmV0KTsKKwkgICAgcmVzdWx0W3NpemVvZihyZXN1bHQpIC0gMV0gPSAwOworCSAgICByZXR1cm4ocmVzdWx0KTsKKwl9CisgICAgfQorCisgICAgaWYgKHhtbERlZmF1bHRDYXRhbG9nICE9IE5VTEwpCisJcmV0dXJuKHhtbENhdGFsb2dHZXRTR01MU3lzdGVtKHhtbERlZmF1bHRDYXRhbG9nLT5zZ21sLCBzeXNJRCkpOworICAgIHJldHVybihOVUxMKTsKK30KKworLyoqCisgKiB4bWxDYXRhbG9nR2V0UHVibGljOgorICogQHB1YklEOiAgdGhlIHB1YmxpYyBJRCBzdHJpbmcKKyAqCisgKiBUcnkgdG8gbG9va3VwIHRoZSBjYXRhbG9nIHJlZmVyZW5jZSBhc3NvY2lhdGVkIHRvIGEgcHVibGljIElECisgKiBERVBSRUNBVEVELCB1c2UgeG1sQ2F0YWxvZ1Jlc29sdmVQdWJsaWMoKQorICoKKyAqIFJldHVybnMgdGhlIHJlc291cmNlIGlmIGZvdW5kIG9yIE5VTEwgb3RoZXJ3aXNlLgorICovCitjb25zdCB4bWxDaGFyICoKK3htbENhdGFsb2dHZXRQdWJsaWMoY29uc3QgeG1sQ2hhciAqcHViSUQpIHsKKyAgICB4bWxDaGFyICpyZXQ7CisgICAgc3RhdGljIHhtbENoYXIgcmVzdWx0WzEwMDBdOworICAgIHN0YXRpYyBpbnQgbXNnID0gMDsKKworICAgIGlmICgheG1sQ2F0YWxvZ0luaXRpYWxpemVkKQorCXhtbEluaXRpYWxpemVDYXRhbG9nKCk7CisKKyAgICBpZiAobXNnID09IDApIHsKKwl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJIlVzZSBvZiBkZXByZWNhdGVkIHhtbENhdGFsb2dHZXRQdWJsaWMoKSBjYWxsXG4iKTsKKwltc2crKzsKKyAgICB9CisKKyAgICBpZiAocHViSUQgPT0gTlVMTCkKKwlyZXR1cm4oTlVMTCk7CisKKyAgICAvKgorICAgICAqIENoZWNrIGZpcnN0IHRoZSBYTUwgY2F0YWxvZ3MKKyAgICAgKi8KKyAgICBpZiAoeG1sRGVmYXVsdENhdGFsb2cgIT0gTlVMTCkgeworCXJldCA9IHhtbENhdGFsb2dMaXN0WE1MUmVzb2x2ZSh4bWxEZWZhdWx0Q2F0YWxvZy0+eG1sLCBwdWJJRCwgTlVMTCk7CisJaWYgKChyZXQgIT0gTlVMTCkgJiYgKHJldCAhPSBYTUxfQ0FUQUxfQlJFQUspKSB7CisJICAgIHNucHJpbnRmKChjaGFyICopIHJlc3VsdCwgc2l6ZW9mKHJlc3VsdCkgLSAxLCAiJXMiLCAoY2hhciAqKSByZXQpOworCSAgICByZXN1bHRbc2l6ZW9mKHJlc3VsdCkgLSAxXSA9IDA7CisJICAgIHJldHVybihyZXN1bHQpOworCX0KKyAgICB9CisKKyAgICBpZiAoeG1sRGVmYXVsdENhdGFsb2cgIT0gTlVMTCkKKwlyZXR1cm4oeG1sQ2F0YWxvZ0dldFNHTUxQdWJsaWMoeG1sRGVmYXVsdENhdGFsb2ctPnNnbWwsIHB1YklEKSk7CisgICAgcmV0dXJuKE5VTEwpOworfQorCisjZGVmaW5lIGJvdHRvbV9jYXRhbG9nCisjaW5jbHVkZSAiZWxmZ2NjaGFjay5oIgorI2VuZGlmIC8qIExJQlhNTF9DQVRBTE9HX0VOQUJMRUQgKi8KZGlmZiAtLWdpdCBhL2xpYnhtbDIvY2hlY2stcmVsYXhuZy10ZXN0LXN1aXRlLnB5IGIvbGlieG1sMi9jaGVjay1yZWxheG5nLXRlc3Qtc3VpdGUucHkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjRhNWE2OQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvY2hlY2stcmVsYXhuZy10ZXN0LXN1aXRlLnB5CkBAIC0wLDAgKzEsMzk0IEBACisjIS91c3IvYmluL3B5dGhvbgoraW1wb3J0IHN5cworaW1wb3J0IHRpbWUKK2ltcG9ydCBvcworaW1wb3J0IHN0cmluZworaW1wb3J0IFN0cmluZ0lPCitzeXMucGF0aC5pbnNlcnQoMCwgInB5dGhvbiIpCitpbXBvcnQgbGlieG1sMgorCisjIE1lbW9yeSBkZWJ1ZyBzcGVjaWZpYworbGlieG1sMi5kZWJ1Z01lbW9yeSgxKQorZGVidWcgPSAwCit2ZXJib3NlID0gMAorcXVpZXQgPSAxCisKKyMKKyMgdGhlIHRlc3RzdWl0ZSBkZXNjcmlwdGlvbgorIworQ09ORj1vcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSwgInRlc3QvcmVsYXhuZy9PQVNJUy9zcGVjdGVzdC54bWwiKQorTE9HPSJjaGVjay1yZWxheG5nLXRlc3Qtc3VpdGUubG9nIgorUkVTPSJyZWxheG5nLXRlc3QtcmVzdWx0cy54bWwiCisKK2xvZyA9IG9wZW4oTE9HLCAidyIpCituYl9zY2hlbWFzX3Rlc3RzID0gMAorbmJfc2NoZW1hc19zdWNjZXNzID0gMAorbmJfc2NoZW1hc19mYWlsZWQgPSAwCituYl9pbnN0YW5jZXNfdGVzdHMgPSAwCituYl9pbnN0YW5jZXNfc3VjY2VzcyA9IDAKK25iX2luc3RhbmNlc19mYWlsZWQgPSAwCisKK2xpYnhtbDIubGluZU51bWJlcnNEZWZhdWx0KDEpCisjCisjIEVycm9yIGFuZCB3YXJubmcgY2FsbGJhY2tzCisjCitkZWYgY2FsbGJhY2soY3R4LCBzdHIpOgorICAgIGdsb2JhbCBsb2cKKyAgICBsb2cud3JpdGUoIiVzJXMiICUgKGN0eCwgc3RyKSkKKworbGlieG1sMi5yZWdpc3RlckVycm9ySGFuZGxlcihjYWxsYmFjaywgIiIpCisKKyMKKyMgUmVzb2x2ZXIgY2FsbGJhY2sKKyMKK3Jlc291cmNlcyA9IHt9CitkZWYgcmVzb2x2ZXIoVVJMLCBJRCwgY3R4dCk6CisgICAgZ2xvYmFsIHJlc291cmNlcworCisgICAgaWYgc3RyaW5nLmZpbmQoVVJMLCAnIycpICE9IC0xOgorICAgICAgICBVUkwgPSBVUkxbMDpzdHJpbmcuZmluZChVUkwsICcjJyldCisgICAgaWYgcmVzb3VyY2VzLmhhc19rZXkoVVJMKToKKyAgICAgICAgcmV0dXJuKFN0cmluZ0lPLlN0cmluZ0lPKHJlc291cmNlc1tVUkxdKSkKKyAgICBsb2cud3JpdGUoIlJlc29sdmVyIGZhaWx1cmU6IGFza2VkICVzXG4iICUgKFVSTCkpCisgICAgbG9nLndyaXRlKCJyZXNvdXJjZXM6ICVzXG4iICUgKHJlc291cmNlcykpCisgICAgcmV0dXJuIE5vbmUKKworIworIyBMb2FkIHRoZSBwcmV2aW91cyByZXN1bHRzCisjCisjcmVzdWx0cyA9IHt9CisjcHJldmlvdXMgPSB7fQorIworI3RyeToKKyMgICAgcmVzID0gbGlieG1sMi5wYXJzZUZpbGUoUkVTKQorI2V4Y2VwdDoKKyMgICAgbG9nLndyaXRlKCJDb3VsZCBub3QgcGFyc2UgJXMiICUgKFJFUykpCisgICAgCisjCisjIGhhbmRsZSBhIHZhbGlkIGluc3RhbmNlCisjCitkZWYgaGFuZGxlX3ZhbGlkKG5vZGUsIHNjaGVtYSk6CisgICAgZ2xvYmFsIGxvZworICAgIGdsb2JhbCBuYl9pbnN0YW5jZXNfc3VjY2VzcworICAgIGdsb2JhbCBuYl9pbnN0YW5jZXNfZmFpbGVkCisKKyAgICBpbnN0YW5jZSA9ICIiCisgICAgY2hpbGQgPSBub2RlLmNoaWxkcmVuCisgICAgd2hpbGUgY2hpbGQgIT0gTm9uZToKKyAgICAgICAgaWYgY2hpbGQudHlwZSAhPSAndGV4dCc6CisJICAgIGluc3RhbmNlID0gaW5zdGFuY2UgKyBjaGlsZC5zZXJpYWxpemUoKQorCWNoaWxkID0gY2hpbGQubmV4dAorCisgICAgdHJ5OgorCWRvYyA9IGxpYnhtbDIucGFyc2VEb2MoaW5zdGFuY2UpCisgICAgZXhjZXB0OgorICAgICAgICBkb2MgPSBOb25lCisKKyAgICBpZiBkb2MgPT0gTm9uZToKKyAgICAgICAgbG9nLndyaXRlKCJcbkZhaWxlZCB0byBwYXJzZSBjb3JyZWN0IGluc3RhbmNlOlxuLS0tLS1cbiIpCisJbG9nLndyaXRlKGluc3RhbmNlKQorICAgICAgICBsb2cud3JpdGUoIlxuLS0tLS1cbiIpCisJbmJfaW5zdGFuY2VzX2ZhaWxlZCA9IG5iX2luc3RhbmNlc19mYWlsZWQgKyAxCisJcmV0dXJuCisKKyAgICB0cnk6CisgICAgICAgIGN0eHQgPSBzY2hlbWEucmVsYXhOR05ld1ZhbGlkQ3R4dCgpCisJcmV0ID0gZG9jLnJlbGF4TkdWYWxpZGF0ZURvYyhjdHh0KQorICAgIGV4Y2VwdDoKKyAgICAgICAgcmV0ID0gLTEKKyAgICBpZiByZXQgIT0gMDoKKyAgICAgICAgbG9nLndyaXRlKCJcbkZhaWxlZCB0byB2YWxpZGF0ZSBjb3JyZWN0IGluc3RhbmNlOlxuLS0tLS1cbiIpCisJbG9nLndyaXRlKGluc3RhbmNlKQorICAgICAgICBsb2cud3JpdGUoIlxuLS0tLS1cbiIpCisJbmJfaW5zdGFuY2VzX2ZhaWxlZCA9IG5iX2luc3RhbmNlc19mYWlsZWQgKyAxCisgICAgZWxzZToKKwluYl9pbnN0YW5jZXNfc3VjY2VzcyA9IG5iX2luc3RhbmNlc19zdWNjZXNzICsgMQorICAgIGRvYy5mcmVlRG9jKCkKKworIworIyBoYW5kbGUgYW4gaW52YWxpZCBpbnN0YW5jZQorIworZGVmIGhhbmRsZV9pbnZhbGlkKG5vZGUsIHNjaGVtYSk6CisgICAgZ2xvYmFsIGxvZworICAgIGdsb2JhbCBuYl9pbnN0YW5jZXNfc3VjY2VzcworICAgIGdsb2JhbCBuYl9pbnN0YW5jZXNfZmFpbGVkCisKKyAgICBpbnN0YW5jZSA9ICIiCisgICAgY2hpbGQgPSBub2RlLmNoaWxkcmVuCisgICAgd2hpbGUgY2hpbGQgIT0gTm9uZToKKyAgICAgICAgaWYgY2hpbGQudHlwZSAhPSAndGV4dCc6CisJICAgIGluc3RhbmNlID0gaW5zdGFuY2UgKyBjaGlsZC5zZXJpYWxpemUoKQorCWNoaWxkID0gY2hpbGQubmV4dAorCisgICAgdHJ5OgorCWRvYyA9IGxpYnhtbDIucGFyc2VEb2MoaW5zdGFuY2UpCisgICAgZXhjZXB0OgorICAgICAgICBkb2MgPSBOb25lCisKKyAgICBpZiBkb2MgPT0gTm9uZToKKyAgICAgICAgbG9nLndyaXRlKCJcblN0cmFuZ2U6IGZhaWxlZCB0byBwYXJzZSBpbmNvcnJlY3QgaW5zdGFuY2U6XG4tLS0tLVxuIikKKwlsb2cud3JpdGUoaW5zdGFuY2UpCisgICAgICAgIGxvZy53cml0ZSgiXG4tLS0tLVxuIikKKwlyZXR1cm4KKworICAgIHRyeToKKyAgICAgICAgY3R4dCA9IHNjaGVtYS5yZWxheE5HTmV3VmFsaWRDdHh0KCkKKwlyZXQgPSBkb2MucmVsYXhOR1ZhbGlkYXRlRG9jKGN0eHQpCisgICAgZXhjZXB0OgorICAgICAgICByZXQgPSAtMQorICAgIGlmIHJldCA9PSAwOgorICAgICAgICBsb2cud3JpdGUoIlxuRmFpbGVkIHRvIGRldGVjdCB2YWxpZGF0aW9uIHByb2JsZW0gaW4gaW5zdGFuY2U6XG4tLS0tLVxuIikKKwlsb2cud3JpdGUoaW5zdGFuY2UpCisgICAgICAgIGxvZy53cml0ZSgiXG4tLS0tLVxuIikKKwluYl9pbnN0YW5jZXNfZmFpbGVkID0gbmJfaW5zdGFuY2VzX2ZhaWxlZCArIDEKKyAgICBlbHNlOgorCW5iX2luc3RhbmNlc19zdWNjZXNzID0gbmJfaW5zdGFuY2VzX3N1Y2Nlc3MgKyAxCisgICAgZG9jLmZyZWVEb2MoKQorCisjCisjIGhhbmRsZSBhbiBpbmNvcnJlY3QgdGVzdAorIworZGVmIGhhbmRsZV9jb3JyZWN0KG5vZGUpOgorICAgIGdsb2JhbCBsb2cKKyAgICBnbG9iYWwgbmJfc2NoZW1hc19zdWNjZXNzCisgICAgZ2xvYmFsIG5iX3NjaGVtYXNfZmFpbGVkCisKKyAgICBzY2hlbWEgPSAiIgorICAgIGNoaWxkID0gbm9kZS5jaGlsZHJlbgorICAgIHdoaWxlIGNoaWxkICE9IE5vbmU6CisgICAgICAgIGlmIGNoaWxkLnR5cGUgIT0gJ3RleHQnOgorCSAgICBzY2hlbWEgPSBzY2hlbWEgKyBjaGlsZC5zZXJpYWxpemUoKQorCWNoaWxkID0gY2hpbGQubmV4dAorCisgICAgdHJ5OgorCXJuZ3AgPSBsaWJ4bWwyLnJlbGF4TkdOZXdNZW1QYXJzZXJDdHh0KHNjaGVtYSwgbGVuKHNjaGVtYSkpCisJcm5ncyA9IHJuZ3AucmVsYXhOR1BhcnNlKCkKKyAgICBleGNlcHQ6CisgICAgICAgIHJuZ3MgPSBOb25lCisgICAgaWYgcm5ncyA9PSBOb25lOgorICAgICAgICBsb2cud3JpdGUoIlxuRmFpbGVkIHRvIGNvbXBpbGUgY29ycmVjdCBzY2hlbWE6XG4tLS0tLVxuIikKKwlsb2cud3JpdGUoc2NoZW1hKQorICAgICAgICBsb2cud3JpdGUoIlxuLS0tLS1cbiIpCisJbmJfc2NoZW1hc19mYWlsZWQgPSBuYl9zY2hlbWFzX2ZhaWxlZCArIDEKKyAgICBlbHNlOgorCW5iX3NjaGVtYXNfc3VjY2VzcyA9IG5iX3NjaGVtYXNfc3VjY2VzcyArIDEKKyAgICByZXR1cm4gcm5ncworICAgICAgICAKK2RlZiBoYW5kbGVfaW5jb3JyZWN0KG5vZGUpOgorICAgIGdsb2JhbCBsb2cKKyAgICBnbG9iYWwgbmJfc2NoZW1hc19zdWNjZXNzCisgICAgZ2xvYmFsIG5iX3NjaGVtYXNfZmFpbGVkCisKKyAgICBzY2hlbWEgPSAiIgorICAgIGNoaWxkID0gbm9kZS5jaGlsZHJlbgorICAgIHdoaWxlIGNoaWxkICE9IE5vbmU6CisgICAgICAgIGlmIGNoaWxkLnR5cGUgIT0gJ3RleHQnOgorCSAgICBzY2hlbWEgPSBzY2hlbWEgKyBjaGlsZC5zZXJpYWxpemUoKQorCWNoaWxkID0gY2hpbGQubmV4dAorCisgICAgdHJ5OgorCXJuZ3AgPSBsaWJ4bWwyLnJlbGF4TkdOZXdNZW1QYXJzZXJDdHh0KHNjaGVtYSwgbGVuKHNjaGVtYSkpCisJcm5ncyA9IHJuZ3AucmVsYXhOR1BhcnNlKCkKKyAgICBleGNlcHQ6CisgICAgICAgIHJuZ3MgPSBOb25lCisgICAgaWYgcm5ncyAhPSBOb25lOgorICAgICAgICBsb2cud3JpdGUoIlxuRmFpbGVkIHRvIGRldGVjdCBzY2hlbWEgZXJyb3IgaW46XG4tLS0tLVxuIikKKwlsb2cud3JpdGUoc2NoZW1hKQorICAgICAgICBsb2cud3JpdGUoIlxuLS0tLS1cbiIpCisJbmJfc2NoZW1hc19mYWlsZWQgPSBuYl9zY2hlbWFzX2ZhaWxlZCArIDEKKyAgICBlbHNlOgorIwlsb2cud3JpdGUoIlxuU3VjY2VzcyBkZXRlY3Rpbmcgc2NoZW1hIGVycm9yIGluOlxuLS0tLS1cbiIpCisjCWxvZy53cml0ZShzY2hlbWEpCisjCWxvZy53cml0ZSgiXG4tLS0tLVxuIikKKwluYl9zY2hlbWFzX3N1Y2Nlc3MgPSBuYl9zY2hlbWFzX3N1Y2Nlc3MgKyAxCisgICAgcmV0dXJuIE5vbmUKKworIworIyByZXNvdXJjZSBoYW5kbGluZzoga2VlcCBhIGRpY3Rpb25hcnkgb2YgVVJMLT5zdHJpbmcgbWFwcGluZ3MKKyMKK2RlZiBoYW5kbGVfcmVzb3VyY2Uobm9kZSwgZGlyKToKKyAgICBnbG9iYWwgcmVzb3VyY2VzCisKKyAgICB0cnk6CisJbmFtZSA9IG5vZGUucHJvcCgnbmFtZScpCisgICAgZXhjZXB0OgorICAgICAgICBuYW1lID0gTm9uZQorCisgICAgaWYgbmFtZSA9PSBOb25lIG9yIG5hbWUgPT0gJyc6CisgICAgICAgIGxvZy53cml0ZSgicmVzb3VyY2UgaGFzIG5vIG5hbWUiKQorCXJldHVybjsKKyAgICAgICAgCisgICAgaWYgZGlyICE9IE5vbmU6CisjICAgICAgICBuYW1lID0gbGlieG1sMi5idWlsZFVSSShuYW1lLCBkaXIpCisgICAgICAgIG5hbWUgPSBkaXIgKyAnLycgKyBuYW1lCisKKyAgICByZXMgPSAiIgorICAgIGNoaWxkID0gbm9kZS5jaGlsZHJlbgorICAgIHdoaWxlIGNoaWxkICE9IE5vbmU6CisgICAgICAgIGlmIGNoaWxkLnR5cGUgIT0gJ3RleHQnOgorCSAgICByZXMgPSByZXMgKyBjaGlsZC5zZXJpYWxpemUoKQorCWNoaWxkID0gY2hpbGQubmV4dAorICAgIHJlc291cmNlc1tuYW1lXSA9IHJlcworCisjCisjIGRpciBoYW5kbGluZzogcHNldWRvIGRpcmVjdG9yeSByZXNvdXJjZXMKKyMKK2RlZiBoYW5kbGVfZGlyKG5vZGUsIGRpcik6CisgICAgdHJ5OgorCW5hbWUgPSBub2RlLnByb3AoJ25hbWUnKQorICAgIGV4Y2VwdDoKKyAgICAgICAgbmFtZSA9IE5vbmUKKworICAgIGlmIG5hbWUgPT0gTm9uZSBvciBuYW1lID09ICcnOgorICAgICAgICBsb2cud3JpdGUoInJlc291cmNlIGhhcyBubyBuYW1lIikKKwlyZXR1cm47CisgICAgICAgIAorICAgIGlmIGRpciAhPSBOb25lOgorIyAgICAgICAgbmFtZSA9IGxpYnhtbDIuYnVpbGRVUkkobmFtZSwgZGlyKQorICAgICAgICBuYW1lID0gZGlyICsgJy8nICsgbmFtZQorCisgICAgZGlycyA9IG5vZGUueHBhdGhFdmFsKCdkaXInKQorICAgIGZvciBkaXIgaW4gZGlyczoKKyAgICAgICAgaGFuZGxlX2RpcihkaXIsIG5hbWUpCisgICAgcmVzID0gbm9kZS54cGF0aEV2YWwoJ3Jlc291cmNlJykKKyAgICBmb3IgciBpbiByZXM6CisgICAgICAgIGhhbmRsZV9yZXNvdXJjZShyLCBuYW1lKQorCisjCisjIGhhbmRsZSBhIHRlc3RDYXNlIGVsZW1lbnQKKyMKK2RlZiBoYW5kbGVfdGVzdENhc2Uobm9kZSk6CisgICAgZ2xvYmFsIG5iX3NjaGVtYXNfdGVzdHMKKyAgICBnbG9iYWwgbmJfaW5zdGFuY2VzX3Rlc3RzCisgICAgZ2xvYmFsIHJlc291cmNlcworCisgICAgc2VjdGlvbnMgPSBub2RlLnhwYXRoRXZhbCgnc3RyaW5nKHNlY3Rpb24pJykKKyAgICBsb2cud3JpdGUoIlxuICAgID09PT09PT09IHRlc3QgJWQgbGluZSAlZCBzZWN0aW9uICVzID09PT09PT09PT1cbiIgJSAoCisKKyAgICAgICAgICAgICAgbmJfc2NoZW1hc190ZXN0cywgbm9kZS5saW5lTm8oKSwgc2VjdGlvbnMpKQorICAgIHJlc291cmNlcyA9IHt9CisgICAgaWYgZGVidWc6CisgICAgICAgIHByaW50ICJ0ZXN0ICVkIGxpbmUgJWQiICUgKG5iX3NjaGVtYXNfdGVzdHMsIG5vZGUubGluZU5vKCkpCisKKyAgICBkaXJzID0gbm9kZS54cGF0aEV2YWwoJ2RpcicpCisgICAgZm9yIGRpciBpbiBkaXJzOgorICAgICAgICBoYW5kbGVfZGlyKGRpciwgTm9uZSkKKyAgICByZXMgPSBub2RlLnhwYXRoRXZhbCgncmVzb3VyY2UnKQorICAgIGZvciByIGluIHJlczoKKyAgICAgICAgaGFuZGxlX3Jlc291cmNlKHIsIE5vbmUpCisKKyAgICB0c3RzID0gbm9kZS54cGF0aEV2YWwoJ2luY29ycmVjdCcpCisgICAgaWYgdHN0cyAhPSBbXToKKyAgICAgICAgaWYgbGVuKHRzdHMpICE9IDE6CisJICAgIHByaW50ICJ3YXJuaW5nIHRlc3QgbGluZSAlZCBoYXMgbW9yZSB0aGFuIG9uZSA8aW5jb3JyZWN0PiBleGFtcGxlIiAlKG5vZGUubGluZU5vKCkpCisJc2NoZW1hID0gaGFuZGxlX2luY29ycmVjdCh0c3RzWzBdKQorICAgIGVsc2U6CisgICAgICAgIHRzdHMgPSBub2RlLnhwYXRoRXZhbCgnY29ycmVjdCcpCisJaWYgdHN0cyAhPSBbXToKKwkgICAgaWYgbGVuKHRzdHMpICE9IDE6CisJCXByaW50ICJ3YXJuaW5nIHRlc3QgbGluZSAlZCBoYXMgbW9yZSB0aGFuIG9uZSA8Y29ycmVjdD4gZXhhbXBsZSIlIChub2RlLmxpbmVObygpKQorCSAgICBzY2hlbWEgPSBoYW5kbGVfY29ycmVjdCh0c3RzWzBdKQorCWVsc2U6CisJICAgIHByaW50ICJ3YXJuaW5nIDx0ZXN0Q2FzZT4gbGluZSAlZCBoYXMgbm8gPGNvcnJlY3Q+IG5vciA8aW5jb3JyZWN0PiBjaGlsZCIgJSAobm9kZS5saW5lTm8oKSkKKworICAgIG5iX3NjaGVtYXNfdGVzdHMgPSBuYl9zY2hlbWFzX3Rlc3RzICsgMTsKKyAgICAKKyAgICB2YWxpZHMgPSBub2RlLnhwYXRoRXZhbCgndmFsaWQnKQorICAgIGludmFsaWRzID0gbm9kZS54cGF0aEV2YWwoJ2ludmFsaWQnKQorICAgIG5iX2luc3RhbmNlc190ZXN0cyA9IG5iX2luc3RhbmNlc190ZXN0cyArIGxlbih2YWxpZHMpICsgbGVuKGludmFsaWRzKQorICAgIGlmIHNjaGVtYSAhPSBOb25lOgorICAgICAgICBmb3IgdmFsaWQgaW4gdmFsaWRzOgorCSAgICBoYW5kbGVfdmFsaWQodmFsaWQsIHNjaGVtYSkKKyAgICAgICAgZm9yIGludmFsaWQgaW4gaW52YWxpZHM6CisJICAgIGhhbmRsZV9pbnZhbGlkKGludmFsaWQsIHNjaGVtYSkKKworCisjCisjIGhhbmRsZSBhIHRlc3RTdWl0ZSBlbGVtZW50CisjCitkZWYgaGFuZGxlX3Rlc3RTdWl0ZShub2RlLCBsZXZlbCA9IDApOgorICAgIGdsb2JhbCBuYl9zY2hlbWFzX3Rlc3RzLCBuYl9zY2hlbWFzX3N1Y2Nlc3MsIG5iX3NjaGVtYXNfZmFpbGVkCisgICAgZ2xvYmFsIG5iX2luc3RhbmNlc190ZXN0cywgbmJfaW5zdGFuY2VzX3N1Y2Nlc3MsIG5iX2luc3RhbmNlc19mYWlsZWQKKyAgICBnbG9iYWwgcXVpZXQKKyAgICBpZiBsZXZlbCA+PSAxOgorCW9sZF9zY2hlbWFzX3Rlc3RzID0gbmJfc2NoZW1hc190ZXN0cworCW9sZF9zY2hlbWFzX3N1Y2Nlc3MgPSBuYl9zY2hlbWFzX3N1Y2Nlc3MKKwlvbGRfc2NoZW1hc19mYWlsZWQgPSBuYl9zY2hlbWFzX2ZhaWxlZAorCW9sZF9pbnN0YW5jZXNfdGVzdHMgPSBuYl9pbnN0YW5jZXNfdGVzdHMKKwlvbGRfaW5zdGFuY2VzX3N1Y2Nlc3MgPSBuYl9pbnN0YW5jZXNfc3VjY2VzcworCW9sZF9pbnN0YW5jZXNfZmFpbGVkID0gbmJfaW5zdGFuY2VzX2ZhaWxlZAorCisgICAgZG9jcyA9IG5vZGUueHBhdGhFdmFsKCdkb2N1bWVudGF0aW9uJykKKyAgICBhdXRob3JzID0gbm9kZS54cGF0aEV2YWwoJ2F1dGhvcicpCisgICAgaWYgZG9jcyAhPSBbXToKKyAgICAgICAgbXNnID0gIiIKKyAgICAgICAgZm9yIGRvYyBpbiBkb2NzOgorCSAgICBtc2cgPSBtc2cgKyBkb2MuY29udGVudCArICIgIgorCWlmIGF1dGhvcnMgIT0gW106CisJICAgIG1zZyA9IG1zZyArICJ3cml0dGVuIGJ5ICIKKwkgICAgZm9yIGF1dGhvciBpbiBhdXRob3JzOgorCSAgICAgICAgbXNnID0gbXNnICsgYXV0aG9yLmNvbnRlbnQgKyAiICIKKwlpZiBxdWlldCA9PSAwOgorCSAgICBwcmludCBtc2cKKyAgICBzZWN0aW9ucyA9IG5vZGUueHBhdGhFdmFsKCdzZWN0aW9uJykKKyAgICBpZiBzZWN0aW9ucyAhPSBbXSBhbmQgbGV2ZWwgPD0gMDoKKyAgICAgICAgbXNnID0gIiIKKyAgICAgICAgZm9yIHNlY3Rpb24gaW4gc2VjdGlvbnM6CisJICAgIG1zZyA9IG1zZyArIHNlY3Rpb24uY29udGVudCArICIgIgorCWlmIHF1aWV0ID09IDA6CisJICAgIHByaW50ICJUZXN0cyBmb3Igc2VjdGlvbiAlcyIgJSAobXNnKQorICAgIGZvciB0ZXN0IGluIG5vZGUueHBhdGhFdmFsKCd0ZXN0Q2FzZScpOgorICAgICAgICBoYW5kbGVfdGVzdENhc2UodGVzdCkKKyAgICBmb3IgdGVzdCBpbiBub2RlLnhwYXRoRXZhbCgndGVzdFN1aXRlJyk6CisgICAgICAgIGhhbmRsZV90ZXN0U3VpdGUodGVzdCwgbGV2ZWwgKyAxKQorCSAgICAgICAgCisKKyAgICBpZiB2ZXJib3NlIGFuZCBsZXZlbCA+PSAxIGFuZCBzZWN0aW9ucyAhPSBbXToKKyAgICAgICAgbXNnID0gIiIKKyAgICAgICAgZm9yIHNlY3Rpb24gaW4gc2VjdGlvbnM6CisJICAgIG1zZyA9IG1zZyArIHNlY3Rpb24uY29udGVudCArICIgIgorICAgICAgICBwcmludCAiUmVzdWx0IG9mIHRlc3RzIGZvciBzZWN0aW9uICVzIiAlIChtc2cpCisgICAgICAgIGlmIG5iX3NjaGVtYXNfdGVzdHMgIT0gb2xkX3NjaGVtYXNfdGVzdHM6CisJICAgIHByaW50ICJmb3VuZCAlZCB0ZXN0IHNjaGVtYXM6ICVkIHN1Y2Nlc3MgJWQgZmFpbHVyZXMiICUgKAorCQkgIG5iX3NjaGVtYXNfdGVzdHMgLSBvbGRfc2NoZW1hc190ZXN0cywKKwkJICBuYl9zY2hlbWFzX3N1Y2Nlc3MgLSBvbGRfc2NoZW1hc19zdWNjZXNzLAorCQkgIG5iX3NjaGVtYXNfZmFpbGVkIC0gb2xkX3NjaGVtYXNfZmFpbGVkKQorCWlmIG5iX2luc3RhbmNlc190ZXN0cyAhPSBvbGRfaW5zdGFuY2VzX3Rlc3RzOgorCSAgICBwcmludCAiZm91bmQgJWQgdGVzdCBpbnN0YW5jZXM6ICVkIHN1Y2Nlc3MgJWQgZmFpbHVyZXMiICUgKAorCQkgIG5iX2luc3RhbmNlc190ZXN0cyAtIG9sZF9pbnN0YW5jZXNfdGVzdHMsCisJCSAgbmJfaW5zdGFuY2VzX3N1Y2Nlc3MgLSBvbGRfaW5zdGFuY2VzX3N1Y2Nlc3MsCisJCSAgbmJfaW5zdGFuY2VzX2ZhaWxlZCAtIG9sZF9pbnN0YW5jZXNfZmFpbGVkKQorIworIyBQYXJzZSB0aGUgY29uZiBmaWxlCisjCitsaWJ4bWwyLnN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHQoMSk7Cit0ZXN0c3VpdGUgPSBsaWJ4bWwyLnBhcnNlRmlsZShDT05GKQorbGlieG1sMi5zZXRFbnRpdHlMb2FkZXIocmVzb2x2ZXIpCityb290ID0gdGVzdHN1aXRlLmdldFJvb3RFbGVtZW50KCkKK2lmIHJvb3QubmFtZSAhPSAndGVzdFN1aXRlJzoKKyAgICBwcmludCAiJXMgZG9lc24ndCBzdGFydCB3aXRoIGEgdGVzdFN1aXRlIGVsZW1lbnQsIGFib3J0aW5nIiAlIChDT05GKQorICAgIHN5cy5leGl0KDEpCitpZiBxdWlldCA9PSAwOgorICAgIHByaW50ICJSdW5uaW5nIFJlbGF4IE5HIHRlc3RzdWl0ZSIKK2hhbmRsZV90ZXN0U3VpdGUocm9vdCkKKworaWYgcXVpZXQgPT0gMDoKKyAgICBwcmludCAiXG5UT1RBTDpcbiIKK2lmIHF1aWV0ID09IDAgb3IgbmJfc2NoZW1hc19mYWlsZWQgIT0gMDoKKyAgICBwcmludCAiZm91bmQgJWQgdGVzdCBzY2hlbWFzOiAlZCBzdWNjZXNzICVkIGZhaWx1cmVzIiAlICgKKyAgICAgIG5iX3NjaGVtYXNfdGVzdHMsIG5iX3NjaGVtYXNfc3VjY2VzcywgbmJfc2NoZW1hc19mYWlsZWQpCitpZiBxdWlldCA9PSAwIG9yIG5iX2luc3RhbmNlc19mYWlsZWQgIT0gMDoKKyAgICBwcmludCAiZm91bmQgJWQgdGVzdCBpbnN0YW5jZXM6ICVkIHN1Y2Nlc3MgJWQgZmFpbHVyZXMiICUgKAorICAgICAgbmJfaW5zdGFuY2VzX3Rlc3RzLCBuYl9pbnN0YW5jZXNfc3VjY2VzcywgbmJfaW5zdGFuY2VzX2ZhaWxlZCkKKwordGVzdHN1aXRlLmZyZWVEb2MoKQorCisjIE1lbW9yeSBkZWJ1ZyBzcGVjaWZpYworbGlieG1sMi5yZWxheE5HQ2xlYW51cFR5cGVzKCkKK2xpYnhtbDIuY2xlYW51cFBhcnNlcigpCitpZiBsaWJ4bWwyLmRlYnVnTWVtb3J5KDEpID09IDA6CisgICAgaWYgcXVpZXQgPT0gMDoKKwlwcmludCAiT0siCitlbHNlOgorICAgIHByaW50ICJNZW1vcnkgbGVhayAlZCBieXRlcyIgJSAobGlieG1sMi5kZWJ1Z01lbW9yeSgxKSkKKyAgICBsaWJ4bWwyLmR1bXBNZW1vcnkoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9jaGVjay1yZWxheG5nLXRlc3Qtc3VpdGUyLnB5IGIvbGlieG1sMi9jaGVjay1yZWxheG5nLXRlc3Qtc3VpdGUyLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjg2MThkYjcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2NoZWNrLXJlbGF4bmctdGVzdC1zdWl0ZTIucHkKQEAgLTAsMCArMSw0MTggQEAKKyMhL3Vzci9iaW4vcHl0aG9uCitpbXBvcnQgc3lzCitpbXBvcnQgdGltZQoraW1wb3J0IG9zCitpbXBvcnQgc3RyaW5nCitpbXBvcnQgU3RyaW5nSU8KK3N5cy5wYXRoLmluc2VydCgwLCAicHl0aG9uIikKK2ltcG9ydCBsaWJ4bWwyCisKKyMgTWVtb3J5IGRlYnVnIHNwZWNpZmljCitsaWJ4bWwyLmRlYnVnTWVtb3J5KDEpCitkZWJ1ZyA9IDAKK3F1aWV0ID0gMQorCisjCisjIHRoZSB0ZXN0c3VpdGUgZGVzY3JpcHRpb24KKyMKK0NPTkY9b3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXyksICJ0ZXN0L3JlbGF4bmcvdGVzdHN1aXRlLnhtbCIpCitMT0c9ImNoZWNrLXJlbGF4bmctdGVzdC1zdWl0ZTIubG9nIgorCitsb2cgPSBvcGVuKExPRywgInciKQorbmJfc2NoZW1hc190ZXN0cyA9IDAKK25iX3NjaGVtYXNfc3VjY2VzcyA9IDAKK25iX3NjaGVtYXNfZmFpbGVkID0gMAorbmJfaW5zdGFuY2VzX3Rlc3RzID0gMAorbmJfaW5zdGFuY2VzX3N1Y2Nlc3MgPSAwCituYl9pbnN0YW5jZXNfZmFpbGVkID0gMAorCitsaWJ4bWwyLmxpbmVOdW1iZXJzRGVmYXVsdCgxKQorIworIyBSZXNvbHZlciBjYWxsYmFjaworIworcmVzb3VyY2VzID0ge30KK2RlZiByZXNvbHZlcihVUkwsIElELCBjdHh0KToKKyAgICBnbG9iYWwgcmVzb3VyY2VzCisKKyAgICBpZiByZXNvdXJjZXMuaGFzX2tleShVUkwpOgorICAgICAgICByZXR1cm4oU3RyaW5nSU8uU3RyaW5nSU8ocmVzb3VyY2VzW1VSTF0pKQorICAgIGxvZy53cml0ZSgiUmVzb2x2ZXIgZmFpbHVyZTogYXNrZWQgJXNcbiIgJSAoVVJMKSkKKyAgICBsb2cud3JpdGUoInJlc291cmNlczogJXNcbiIgJSAocmVzb3VyY2VzKSkKKyAgICByZXR1cm4gTm9uZQorCisjCisjIExvYWQgdGhlIHByZXZpb3VzIHJlc3VsdHMKKyMKKyNyZXN1bHRzID0ge30KKyNwcmV2aW91cyA9IHt9CisjCisjdHJ5OgorIyAgICByZXMgPSBsaWJ4bWwyLnBhcnNlRmlsZShSRVMpCisjZXhjZXB0OgorIyAgICBsb2cud3JpdGUoIkNvdWxkIG5vdCBwYXJzZSAlcyIgJSAoUkVTKSkKKyAgICAKKyMKKyMgaGFuZGxlIGEgdmFsaWQgaW5zdGFuY2UKKyMKK2RlZiBoYW5kbGVfdmFsaWQobm9kZSwgc2NoZW1hKToKKyAgICBnbG9iYWwgbG9nCisgICAgZ2xvYmFsIG5iX2luc3RhbmNlc19zdWNjZXNzCisgICAgZ2xvYmFsIG5iX2luc3RhbmNlc19mYWlsZWQKKworICAgIGluc3RhbmNlID0gbm9kZS5wcm9wKCJkdGQiKQorICAgIGlmIGluc3RhbmNlID09IE5vbmU6CisgICAgICAgIGluc3RhbmNlID0gIiIKKyAgICBjaGlsZCA9IG5vZGUuY2hpbGRyZW4KKyAgICB3aGlsZSBjaGlsZCAhPSBOb25lOgorICAgICAgICBpZiBjaGlsZC50eXBlICE9ICd0ZXh0JzoKKwkgICAgaW5zdGFuY2UgPSBpbnN0YW5jZSArIGNoaWxkLnNlcmlhbGl6ZSgpCisJY2hpbGQgPSBjaGlsZC5uZXh0CisKKyMgICAgbWVtID0gbGlieG1sMi5kZWJ1Z01lbW9yeSgxKTsKKyAgICB0cnk6CisJZG9jID0gbGlieG1sMi5wYXJzZURvYyhpbnN0YW5jZSkKKyAgICBleGNlcHQ6CisgICAgICAgIGRvYyA9IE5vbmUKKworICAgIGlmIGRvYyA9PSBOb25lOgorICAgICAgICBsb2cud3JpdGUoIlxuRmFpbGVkIHRvIHBhcnNlIGNvcnJlY3QgaW5zdGFuY2U6XG4tLS0tLVxuIikKKwlsb2cud3JpdGUoaW5zdGFuY2UpCisgICAgICAgIGxvZy53cml0ZSgiXG4tLS0tLVxuIikKKwluYl9pbnN0YW5jZXNfZmFpbGVkID0gbmJfaW5zdGFuY2VzX2ZhaWxlZCArIDEKKwlyZXR1cm4KKworICAgIGlmIGRlYnVnOgorICAgICAgICBwcmludCAiaW5zdGFuY2UgbGluZSAlZCIgJSAobm9kZS5saW5lTm8oKSkKKyAgICAgICAKKyAgICB0cnk6CisgICAgICAgIGN0eHQgPSBzY2hlbWEucmVsYXhOR05ld1ZhbGlkQ3R4dCgpCisJcmV0ID0gZG9jLnJlbGF4TkdWYWxpZGF0ZURvYyhjdHh0KQorCWRlbCBjdHh0CisgICAgZXhjZXB0OgorICAgICAgICByZXQgPSAtMQorCisgICAgZG9jLmZyZWVEb2MoKQorIyAgICBpZiBtZW0gIT0gbGlieG1sMi5kZWJ1Z01lbW9yeSgxKToKKyMJcHJpbnQgInZhbGlkYXRpbmcgaW5zdGFuY2UgJWQgbGluZSAlZCBsZWFrcyIgJSAoCisjCQkgIG5iX2luc3RhbmNlc190ZXN0cywgbm9kZS5saW5lTm8oKSkKKworICAgIGlmIHJldCAhPSAwOgorICAgICAgICBsb2cud3JpdGUoIlxuRmFpbGVkIHRvIHZhbGlkYXRlIGNvcnJlY3QgaW5zdGFuY2U6XG4tLS0tLVxuIikKKwlsb2cud3JpdGUoaW5zdGFuY2UpCisgICAgICAgIGxvZy53cml0ZSgiXG4tLS0tLVxuIikKKwluYl9pbnN0YW5jZXNfZmFpbGVkID0gbmJfaW5zdGFuY2VzX2ZhaWxlZCArIDEKKyAgICBlbHNlOgorCW5iX2luc3RhbmNlc19zdWNjZXNzID0gbmJfaW5zdGFuY2VzX3N1Y2Nlc3MgKyAxCisKKyMKKyMgaGFuZGxlIGFuIGludmFsaWQgaW5zdGFuY2UKKyMKK2RlZiBoYW5kbGVfaW52YWxpZChub2RlLCBzY2hlbWEpOgorICAgIGdsb2JhbCBsb2cKKyAgICBnbG9iYWwgbmJfaW5zdGFuY2VzX3N1Y2Nlc3MKKyAgICBnbG9iYWwgbmJfaW5zdGFuY2VzX2ZhaWxlZAorCisgICAgaW5zdGFuY2UgPSBub2RlLnByb3AoImR0ZCIpCisgICAgaWYgaW5zdGFuY2UgPT0gTm9uZToKKyAgICAgICAgaW5zdGFuY2UgPSAiIgorICAgIGNoaWxkID0gbm9kZS5jaGlsZHJlbgorICAgIHdoaWxlIGNoaWxkICE9IE5vbmU6CisgICAgICAgIGlmIGNoaWxkLnR5cGUgIT0gJ3RleHQnOgorCSAgICBpbnN0YW5jZSA9IGluc3RhbmNlICsgY2hpbGQuc2VyaWFsaXplKCkKKwljaGlsZCA9IGNoaWxkLm5leHQKKworIyAgICBtZW0gPSBsaWJ4bWwyLmRlYnVnTWVtb3J5KDEpOworCisgICAgdHJ5OgorCWRvYyA9IGxpYnhtbDIucGFyc2VEb2MoaW5zdGFuY2UpCisgICAgZXhjZXB0OgorICAgICAgICBkb2MgPSBOb25lCisKKyAgICBpZiBkb2MgPT0gTm9uZToKKyAgICAgICAgbG9nLndyaXRlKCJcblN0cmFuZ2U6IGZhaWxlZCB0byBwYXJzZSBpbmNvcnJlY3QgaW5zdGFuY2U6XG4tLS0tLVxuIikKKwlsb2cud3JpdGUoaW5zdGFuY2UpCisgICAgICAgIGxvZy53cml0ZSgiXG4tLS0tLVxuIikKKwlyZXR1cm4KKworICAgIGlmIGRlYnVnOgorICAgICAgICBwcmludCAiaW5zdGFuY2UgbGluZSAlZCIgJSAobm9kZS5saW5lTm8oKSkKKyAgICAgICAKKyAgICB0cnk6CisgICAgICAgIGN0eHQgPSBzY2hlbWEucmVsYXhOR05ld1ZhbGlkQ3R4dCgpCisJcmV0ID0gZG9jLnJlbGF4TkdWYWxpZGF0ZURvYyhjdHh0KQorCWRlbCBjdHh0CisKKyAgICBleGNlcHQ6CisgICAgICAgIHJldCA9IC0xCisKKyAgICBkb2MuZnJlZURvYygpCisjICAgIG1lbTIgPSBsaWJ4bWwyLmRlYnVnTWVtb3J5KDEpCisjICAgIGlmIG1lbSAhPSBtZW0yOgorIwlwcmludCAidmFsaWRhdGluZyBpbnN0YW5jZSAlZCBsaW5lICVkIGxlYWtzICVkIGJ5dGVzIiAlICgKKyMJCSAgbmJfaW5zdGFuY2VzX3Rlc3RzLCBub2RlLmxpbmVObygpLCBtZW0yIC0gbWVtKQorICAgIAorICAgIGlmIHJldCA9PSAwOgorICAgICAgICBsb2cud3JpdGUoIlxuRmFpbGVkIHRvIGRldGVjdCB2YWxpZGF0aW9uIHByb2JsZW0gaW4gaW5zdGFuY2U6XG4tLS0tLVxuIikKKwlsb2cud3JpdGUoaW5zdGFuY2UpCisgICAgICAgIGxvZy53cml0ZSgiXG4tLS0tLVxuIikKKwluYl9pbnN0YW5jZXNfZmFpbGVkID0gbmJfaW5zdGFuY2VzX2ZhaWxlZCArIDEKKyAgICBlbHNlOgorCW5iX2luc3RhbmNlc19zdWNjZXNzID0gbmJfaW5zdGFuY2VzX3N1Y2Nlc3MgKyAxCisKKyMKKyMgaGFuZGxlIGFuIGluY29ycmVjdCB0ZXN0CisjCitkZWYgaGFuZGxlX2NvcnJlY3Qobm9kZSk6CisgICAgZ2xvYmFsIGxvZworICAgIGdsb2JhbCBuYl9zY2hlbWFzX3N1Y2Nlc3MKKyAgICBnbG9iYWwgbmJfc2NoZW1hc19mYWlsZWQKKworICAgIHNjaGVtYSA9ICIiCisgICAgY2hpbGQgPSBub2RlLmNoaWxkcmVuCisgICAgd2hpbGUgY2hpbGQgIT0gTm9uZToKKyAgICAgICAgaWYgY2hpbGQudHlwZSAhPSAndGV4dCc6CisJICAgIHNjaGVtYSA9IHNjaGVtYSArIGNoaWxkLnNlcmlhbGl6ZSgpCisJY2hpbGQgPSBjaGlsZC5uZXh0CisKKyAgICB0cnk6CisJcm5ncCA9IGxpYnhtbDIucmVsYXhOR05ld01lbVBhcnNlckN0eHQoc2NoZW1hLCBsZW4oc2NoZW1hKSkKKwlybmdzID0gcm5ncC5yZWxheE5HUGFyc2UoKQorICAgIGV4Y2VwdDoKKyAgICAgICAgcm5ncyA9IE5vbmUKKyAgICBpZiBybmdzID09IE5vbmU6CisgICAgICAgIGxvZy53cml0ZSgiXG5GYWlsZWQgdG8gY29tcGlsZSBjb3JyZWN0IHNjaGVtYTpcbi0tLS0tXG4iKQorCWxvZy53cml0ZShzY2hlbWEpCisgICAgICAgIGxvZy53cml0ZSgiXG4tLS0tLVxuIikKKwluYl9zY2hlbWFzX2ZhaWxlZCA9IG5iX3NjaGVtYXNfZmFpbGVkICsgMQorICAgIGVsc2U6CisJbmJfc2NoZW1hc19zdWNjZXNzID0gbmJfc2NoZW1hc19zdWNjZXNzICsgMQorICAgIHJldHVybiBybmdzCisgICAgICAgIAorZGVmIGhhbmRsZV9pbmNvcnJlY3Qobm9kZSk6CisgICAgZ2xvYmFsIGxvZworICAgIGdsb2JhbCBuYl9zY2hlbWFzX3N1Y2Nlc3MKKyAgICBnbG9iYWwgbmJfc2NoZW1hc19mYWlsZWQKKworICAgIHNjaGVtYSA9ICIiCisgICAgY2hpbGQgPSBub2RlLmNoaWxkcmVuCisgICAgd2hpbGUgY2hpbGQgIT0gTm9uZToKKyAgICAgICAgaWYgY2hpbGQudHlwZSAhPSAndGV4dCc6CisJICAgIHNjaGVtYSA9IHNjaGVtYSArIGNoaWxkLnNlcmlhbGl6ZSgpCisJY2hpbGQgPSBjaGlsZC5uZXh0CisKKyAgICB0cnk6CisJcm5ncCA9IGxpYnhtbDIucmVsYXhOR05ld01lbVBhcnNlckN0eHQoc2NoZW1hLCBsZW4oc2NoZW1hKSkKKwlybmdzID0gcm5ncC5yZWxheE5HUGFyc2UoKQorICAgIGV4Y2VwdDoKKyAgICAgICAgcm5ncyA9IE5vbmUKKyAgICBpZiBybmdzICE9IE5vbmU6CisgICAgICAgIGxvZy53cml0ZSgiXG5GYWlsZWQgdG8gZGV0ZWN0IHNjaGVtYSBlcnJvciBpbjpcbi0tLS0tXG4iKQorCWxvZy53cml0ZShzY2hlbWEpCisgICAgICAgIGxvZy53cml0ZSgiXG4tLS0tLVxuIikKKwluYl9zY2hlbWFzX2ZhaWxlZCA9IG5iX3NjaGVtYXNfZmFpbGVkICsgMQorICAgIGVsc2U6CisjCWxvZy53cml0ZSgiXG5TdWNjZXNzIGRldGVjdGluZyBzY2hlbWEgZXJyb3IgaW46XG4tLS0tLVxuIikKKyMJbG9nLndyaXRlKHNjaGVtYSkKKyMJbG9nLndyaXRlKCJcbi0tLS0tXG4iKQorCW5iX3NjaGVtYXNfc3VjY2VzcyA9IG5iX3NjaGVtYXNfc3VjY2VzcyArIDEKKyAgICByZXR1cm4gTm9uZQorCisjCisjIHJlc291cmNlIGhhbmRsaW5nOiBrZWVwIGEgZGljdGlvbmFyeSBvZiBVUkwtPnN0cmluZyBtYXBwaW5ncworIworZGVmIGhhbmRsZV9yZXNvdXJjZShub2RlLCBkaXIpOgorICAgIGdsb2JhbCByZXNvdXJjZXMKKworICAgIHRyeToKKwluYW1lID0gbm9kZS5wcm9wKCduYW1lJykKKyAgICBleGNlcHQ6CisgICAgICAgIG5hbWUgPSBOb25lCisKKyAgICBpZiBuYW1lID09IE5vbmUgb3IgbmFtZSA9PSAnJzoKKyAgICAgICAgbG9nLndyaXRlKCJyZXNvdXJjZSBoYXMgbm8gbmFtZSIpCisJcmV0dXJuOworICAgICAgICAKKyAgICBpZiBkaXIgIT0gTm9uZToKKyMgICAgICAgIG5hbWUgPSBsaWJ4bWwyLmJ1aWxkVVJJKG5hbWUsIGRpcikKKyAgICAgICAgbmFtZSA9IGRpciArICcvJyArIG5hbWUKKworICAgIHJlcyA9ICIiCisgICAgY2hpbGQgPSBub2RlLmNoaWxkcmVuCisgICAgd2hpbGUgY2hpbGQgIT0gTm9uZToKKyAgICAgICAgaWYgY2hpbGQudHlwZSAhPSAndGV4dCc6CisJICAgIHJlcyA9IHJlcyArIGNoaWxkLnNlcmlhbGl6ZSgpCisJY2hpbGQgPSBjaGlsZC5uZXh0CisgICAgcmVzb3VyY2VzW25hbWVdID0gcmVzCisKKyMKKyMgZGlyIGhhbmRsaW5nOiBwc2V1ZG8gZGlyZWN0b3J5IHJlc291cmNlcworIworZGVmIGhhbmRsZV9kaXIobm9kZSwgZGlyKToKKyAgICB0cnk6CisJbmFtZSA9IG5vZGUucHJvcCgnbmFtZScpCisgICAgZXhjZXB0OgorICAgICAgICBuYW1lID0gTm9uZQorCisgICAgaWYgbmFtZSA9PSBOb25lIG9yIG5hbWUgPT0gJyc6CisgICAgICAgIGxvZy53cml0ZSgicmVzb3VyY2UgaGFzIG5vIG5hbWUiKQorCXJldHVybjsKKyAgICAgICAgCisgICAgaWYgZGlyICE9IE5vbmU6CisjICAgICAgICBuYW1lID0gbGlieG1sMi5idWlsZFVSSShuYW1lLCBkaXIpCisgICAgICAgIG5hbWUgPSBkaXIgKyAnLycgKyBuYW1lCisKKyAgICBkaXJzID0gbm9kZS54cGF0aEV2YWwoJ2RpcicpCisgICAgZm9yIGRpciBpbiBkaXJzOgorICAgICAgICBoYW5kbGVfZGlyKGRpciwgbmFtZSkKKyAgICByZXMgPSBub2RlLnhwYXRoRXZhbCgncmVzb3VyY2UnKQorICAgIGZvciByIGluIHJlczoKKyAgICAgICAgaGFuZGxlX3Jlc291cmNlKHIsIG5hbWUpCisKKyMKKyMgaGFuZGxlIGEgdGVzdENhc2UgZWxlbWVudAorIworZGVmIGhhbmRsZV90ZXN0Q2FzZShub2RlKToKKyAgICBnbG9iYWwgbmJfc2NoZW1hc190ZXN0cworICAgIGdsb2JhbCBuYl9pbnN0YW5jZXNfdGVzdHMKKyAgICBnbG9iYWwgcmVzb3VyY2VzCisKKyAgICBzZWN0aW9ucyA9IG5vZGUueHBhdGhFdmFsKCdzdHJpbmcoc2VjdGlvbiknKQorICAgIGxvZy53cml0ZSgiXG4gICAgPT09PT09PT0gdGVzdCAlZCBsaW5lICVkIHNlY3Rpb24gJXMgPT09PT09PT09PVxuIiAlICgKKworICAgICAgICAgICAgICBuYl9zY2hlbWFzX3Rlc3RzLCBub2RlLmxpbmVObygpLCBzZWN0aW9ucykpCisgICAgcmVzb3VyY2VzID0ge30KKyAgICBpZiBkZWJ1ZzoKKyAgICAgICAgcHJpbnQgInRlc3QgJWQgbGluZSAlZCIgJSAobmJfc2NoZW1hc190ZXN0cywgbm9kZS5saW5lTm8oKSkKKworICAgIGRpcnMgPSBub2RlLnhwYXRoRXZhbCgnZGlyJykKKyAgICBmb3IgZGlyIGluIGRpcnM6CisgICAgICAgIGhhbmRsZV9kaXIoZGlyLCBOb25lKQorICAgIHJlcyA9IG5vZGUueHBhdGhFdmFsKCdyZXNvdXJjZScpCisgICAgZm9yIHIgaW4gcmVzOgorICAgICAgICBoYW5kbGVfcmVzb3VyY2UociwgTm9uZSkKKworICAgIHRzdHMgPSBub2RlLnhwYXRoRXZhbCgnaW5jb3JyZWN0JykKKyAgICBpZiB0c3RzICE9IFtdOgorICAgICAgICBpZiBsZW4odHN0cykgIT0gMToKKwkgICAgcHJpbnQgIndhcm5pbmcgdGVzdCBsaW5lICVkIGhhcyBtb3JlIHRoYW4gb25lIDxpbmNvcnJlY3Q+IGV4YW1wbGUiICUobm9kZS5saW5lTm8oKSkKKwlzY2hlbWEgPSBoYW5kbGVfaW5jb3JyZWN0KHRzdHNbMF0pCisgICAgZWxzZToKKyAgICAgICAgdHN0cyA9IG5vZGUueHBhdGhFdmFsKCdjb3JyZWN0JykKKwlpZiB0c3RzICE9IFtdOgorCSAgICBpZiBsZW4odHN0cykgIT0gMToKKwkJcHJpbnQgIndhcm5pbmcgdGVzdCBsaW5lICVkIGhhcyBtb3JlIHRoYW4gb25lIDxjb3JyZWN0PiBleGFtcGxlIiUgKG5vZGUubGluZU5vKCkpCisJICAgIHNjaGVtYSA9IGhhbmRsZV9jb3JyZWN0KHRzdHNbMF0pCisJZWxzZToKKwkgICAgcHJpbnQgIndhcm5pbmcgPHRlc3RDYXNlPiBsaW5lICVkIGhhcyBubyA8Y29ycmVjdD4gbm9yIDxpbmNvcnJlY3Q+IGNoaWxkIiAlIChub2RlLmxpbmVObygpKQorCisgICAgbmJfc2NoZW1hc190ZXN0cyA9IG5iX3NjaGVtYXNfdGVzdHMgKyAxOworICAgIAorICAgIHZhbGlkcyA9IG5vZGUueHBhdGhFdmFsKCd2YWxpZCcpCisgICAgaW52YWxpZHMgPSBub2RlLnhwYXRoRXZhbCgnaW52YWxpZCcpCisgICAgbmJfaW5zdGFuY2VzX3Rlc3RzID0gbmJfaW5zdGFuY2VzX3Rlc3RzICsgbGVuKHZhbGlkcykgKyBsZW4oaW52YWxpZHMpCisgICAgaWYgc2NoZW1hICE9IE5vbmU6CisgICAgICAgIGZvciB2YWxpZCBpbiB2YWxpZHM6CisJICAgIGhhbmRsZV92YWxpZCh2YWxpZCwgc2NoZW1hKQorICAgICAgICBmb3IgaW52YWxpZCBpbiBpbnZhbGlkczoKKwkgICAgaGFuZGxlX2ludmFsaWQoaW52YWxpZCwgc2NoZW1hKQorCisKKyMKKyMgaGFuZGxlIGEgdGVzdFN1aXRlIGVsZW1lbnQKKyMKK2RlZiBoYW5kbGVfdGVzdFN1aXRlKG5vZGUsIGxldmVsID0gMCk6CisgICAgZ2xvYmFsIG5iX3NjaGVtYXNfdGVzdHMsIG5iX3NjaGVtYXNfc3VjY2VzcywgbmJfc2NoZW1hc19mYWlsZWQKKyAgICBnbG9iYWwgbmJfaW5zdGFuY2VzX3Rlc3RzLCBuYl9pbnN0YW5jZXNfc3VjY2VzcywgbmJfaW5zdGFuY2VzX2ZhaWxlZAorICAgIGlmIGxldmVsID49IDE6CisJb2xkX3NjaGVtYXNfdGVzdHMgPSBuYl9zY2hlbWFzX3Rlc3RzCisJb2xkX3NjaGVtYXNfc3VjY2VzcyA9IG5iX3NjaGVtYXNfc3VjY2VzcworCW9sZF9zY2hlbWFzX2ZhaWxlZCA9IG5iX3NjaGVtYXNfZmFpbGVkCisJb2xkX2luc3RhbmNlc190ZXN0cyA9IG5iX2luc3RhbmNlc190ZXN0cworCW9sZF9pbnN0YW5jZXNfc3VjY2VzcyA9IG5iX2luc3RhbmNlc19zdWNjZXNzCisJb2xkX2luc3RhbmNlc19mYWlsZWQgPSBuYl9pbnN0YW5jZXNfZmFpbGVkCisKKyAgICBkb2NzID0gbm9kZS54cGF0aEV2YWwoJ2RvY3VtZW50YXRpb24nKQorICAgIGF1dGhvcnMgPSBub2RlLnhwYXRoRXZhbCgnYXV0aG9yJykKKyAgICBpZiBkb2NzICE9IFtdOgorICAgICAgICBtc2cgPSAiIgorICAgICAgICBmb3IgZG9jIGluIGRvY3M6CisJICAgIG1zZyA9IG1zZyArIGRvYy5jb250ZW50ICsgIiAiCisJaWYgYXV0aG9ycyAhPSBbXToKKwkgICAgbXNnID0gbXNnICsgIndyaXR0ZW4gYnkgIgorCSAgICBmb3IgYXV0aG9yIGluIGF1dGhvcnM6CisJICAgICAgICBtc2cgPSBtc2cgKyBhdXRob3IuY29udGVudCArICIgIgorCWlmIHF1aWV0ID09IDA6CisJICAgIHByaW50IG1zZworICAgIHNlY3Rpb25zID0gbm9kZS54cGF0aEV2YWwoJ3NlY3Rpb24nKQorICAgIGlmIHNlY3Rpb25zICE9IFtdIGFuZCBsZXZlbCA8PSAwOgorICAgICAgICBtc2cgPSAiIgorICAgICAgICBmb3Igc2VjdGlvbiBpbiBzZWN0aW9uczoKKwkgICAgbXNnID0gbXNnICsgc2VjdGlvbi5jb250ZW50ICsgIiAiCisJaWYgcXVpZXQgPT0gMDoKKwkgICAgcHJpbnQgIlRlc3RzIGZvciBzZWN0aW9uICVzIiAlIChtc2cpCisgICAgZm9yIHRlc3QgaW4gbm9kZS54cGF0aEV2YWwoJ3Rlc3RDYXNlJyk6CisgICAgICAgIGhhbmRsZV90ZXN0Q2FzZSh0ZXN0KQorICAgIGZvciB0ZXN0IGluIG5vZGUueHBhdGhFdmFsKCd0ZXN0U3VpdGUnKToKKyAgICAgICAgaGFuZGxlX3Rlc3RTdWl0ZSh0ZXN0LCBsZXZlbCArIDEpCisJICAgICAgICAKKworICAgIGlmIGxldmVsID49IDEgYW5kIHNlY3Rpb25zICE9IFtdOgorICAgICAgICBtc2cgPSAiIgorICAgICAgICBmb3Igc2VjdGlvbiBpbiBzZWN0aW9uczoKKwkgICAgbXNnID0gbXNnICsgc2VjdGlvbi5jb250ZW50ICsgIiAiCisgICAgICAgIHByaW50ICJSZXN1bHQgb2YgdGVzdHMgZm9yIHNlY3Rpb24gJXMiICUgKG1zZykKKyAgICAgICAgaWYgbmJfc2NoZW1hc190ZXN0cyAhPSBvbGRfc2NoZW1hc190ZXN0czoKKwkgICAgcHJpbnQgImZvdW5kICVkIHRlc3Qgc2NoZW1hczogJWQgc3VjY2VzcyAlZCBmYWlsdXJlcyIgJSAoCisJCSAgbmJfc2NoZW1hc190ZXN0cyAtIG9sZF9zY2hlbWFzX3Rlc3RzLAorCQkgIG5iX3NjaGVtYXNfc3VjY2VzcyAtIG9sZF9zY2hlbWFzX3N1Y2Nlc3MsCisJCSAgbmJfc2NoZW1hc19mYWlsZWQgLSBvbGRfc2NoZW1hc19mYWlsZWQpCisJaWYgbmJfaW5zdGFuY2VzX3Rlc3RzICE9IG9sZF9pbnN0YW5jZXNfdGVzdHM6CisJICAgIHByaW50ICJmb3VuZCAlZCB0ZXN0IGluc3RhbmNlczogJWQgc3VjY2VzcyAlZCBmYWlsdXJlcyIgJSAoCisJCSAgbmJfaW5zdGFuY2VzX3Rlc3RzIC0gb2xkX2luc3RhbmNlc190ZXN0cywKKwkJICBuYl9pbnN0YW5jZXNfc3VjY2VzcyAtIG9sZF9pbnN0YW5jZXNfc3VjY2VzcywKKwkJICBuYl9pbnN0YW5jZXNfZmFpbGVkIC0gb2xkX2luc3RhbmNlc19mYWlsZWQpCisjCisjIFBhcnNlIHRoZSBjb25mIGZpbGUKKyMKK2xpYnhtbDIuc3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdCgxKTsKK3Rlc3RzdWl0ZSA9IGxpYnhtbDIucGFyc2VGaWxlKENPTkYpCisKKyMKKyMgRXJyb3IgYW5kIHdhcm5uZyBjYWxsYmFja3MKKyMKK2RlZiBjYWxsYmFjayhjdHgsIHN0cik6CisgICAgZ2xvYmFsIGxvZworICAgIGxvZy53cml0ZSgiJXMlcyIgJSAoY3R4LCBzdHIpKQorCitsaWJ4bWwyLnJlZ2lzdGVyRXJyb3JIYW5kbGVyKGNhbGxiYWNrLCAiIikKKworbGlieG1sMi5zZXRFbnRpdHlMb2FkZXIocmVzb2x2ZXIpCityb290ID0gdGVzdHN1aXRlLmdldFJvb3RFbGVtZW50KCkKK2lmIHJvb3QubmFtZSAhPSAndGVzdFN1aXRlJzoKKyAgICBwcmludCAiJXMgZG9lc24ndCBzdGFydCB3aXRoIGEgdGVzdFN1aXRlIGVsZW1lbnQsIGFib3J0aW5nIiAlIChDT05GKQorICAgIHN5cy5leGl0KDEpCitpZiBxdWlldCA9PSAwOgorICAgIHByaW50ICJSdW5uaW5nIFJlbGF4IE5HIHRlc3RzdWl0ZSIKK2hhbmRsZV90ZXN0U3VpdGUocm9vdCkKKworaWYgcXVpZXQgPT0gMDoKKyAgICBwcmludCAiXG5UT1RBTDpcbiIKK2lmIHF1aWV0ID09IDAgb3IgbmJfc2NoZW1hc19mYWlsZWQgIT0gMDoKKyAgICBwcmludCAiZm91bmQgJWQgdGVzdCBzY2hlbWFzOiAlZCBzdWNjZXNzICVkIGZhaWx1cmVzIiAlICgKKyAgICAgIG5iX3NjaGVtYXNfdGVzdHMsIG5iX3NjaGVtYXNfc3VjY2VzcywgbmJfc2NoZW1hc19mYWlsZWQpCitpZiBxdWlldCA9PSAwIG9yIG5iX2luc3RhbmNlc19mYWlsZWQgIT0gMDoKKyAgICBwcmludCAiZm91bmQgJWQgdGVzdCBpbnN0YW5jZXM6ICVkIHN1Y2Nlc3MgJWQgZmFpbHVyZXMiICUgKAorICAgICAgbmJfaW5zdGFuY2VzX3Rlc3RzLCBuYl9pbnN0YW5jZXNfc3VjY2VzcywgbmJfaW5zdGFuY2VzX2ZhaWxlZCkKKworCit0ZXN0c3VpdGUuZnJlZURvYygpCisKKyMgTWVtb3J5IGRlYnVnIHNwZWNpZmljCitsaWJ4bWwyLnJlbGF4TkdDbGVhbnVwVHlwZXMoKQorbGlieG1sMi5jbGVhbnVwUGFyc2VyKCkKK2lmIGxpYnhtbDIuZGVidWdNZW1vcnkoMSkgPT0gMDoKKyAgICBpZiBxdWlldCA9PSAwOgorCXByaW50ICJPSyIKK2Vsc2U6CisgICAgcHJpbnQgIk1lbW9yeSBsZWFrICVkIGJ5dGVzIiAlIChsaWJ4bWwyLmRlYnVnTWVtb3J5KDEpKQorICAgIGxpYnhtbDIuZHVtcE1lbW9yeSgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL2NoZWNrLXhpbmNsdWRlLXRlc3Qtc3VpdGUucHkgYi9saWJ4bWwyL2NoZWNrLXhpbmNsdWRlLXRlc3Qtc3VpdGUucHkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjQ3MDAxMQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvY2hlY2steGluY2x1ZGUtdGVzdC1zdWl0ZS5weQpAQCAtMCwwICsxLDIyMSBAQAorIyEvdXNyL2Jpbi9weXRob24KK2ltcG9ydCBzeXMKK2ltcG9ydCB0aW1lCitpbXBvcnQgb3MKK2ltcG9ydCBzdHJpbmcKK3N5cy5wYXRoLmluc2VydCgwLCAicHl0aG9uIikKK2ltcG9ydCBsaWJ4bWwyCisKKyMKKyMgdGhlIHRlc3RzdWl0ZSBkZXNjcmlwdGlvbgorIworRElSPSJ4aW5jbHVkZS10ZXN0LXN1aXRlIgorQ09ORj0idGVzdGRlc2NyLnhtbCIKK0xPRz0iY2hlY2steGluY2x1ZGUtdGVzdC1zdWl0ZS5sb2ciCisKK2xvZyA9IG9wZW4oTE9HLCAidyIpCisKK29zLmNoZGlyKERJUikKKwordGVzdF9uciA9IDAKK3Rlc3Rfc3VjY2VlZCA9IDAKK3Rlc3RfZmFpbGVkID0gMAordGVzdF9lcnJvciA9IDAKKyMKKyMgRXJyb3IgYW5kIHdhcm5pbmcgaGFuZGxlcnMKKyMKK2Vycm9yX25yID0gMAorZXJyb3JfbXNnID0gJycKKworZGVmIGVycm9ySGFuZGxlcihjdHgsIHN0cik6CisgICAgZ2xvYmFsIGVycm9yX25yCisgICAgZ2xvYmFsIGVycm9yX21zZworCisgICAgaWYgc3RyaW5nLmZpbmQoc3RyLCAiZXJyb3I6IikgPj0gMDoKKwllcnJvcl9uciA9IGVycm9yX25yICsgMQorICAgIGlmIGxlbihlcnJvcl9tc2cpIDwgMzAwOgorICAgICAgICBpZiBsZW4oZXJyb3JfbXNnKSA9PSAwIG9yIGVycm9yX21zZ1stMV0gPT0gJ1xuJzoKKwkgICAgZXJyb3JfbXNnID0gZXJyb3JfbXNnICsgIiAgID4+IiArIHN0cgorCWVsc2U6CisJICAgIGVycm9yX21zZyA9IGVycm9yX21zZyArIHN0cgorCitsaWJ4bWwyLnJlZ2lzdGVyRXJyb3JIYW5kbGVyKGVycm9ySGFuZGxlciwgTm9uZSkKKworZGVmIHRlc3RYSW5jbHVkZShmaWxlbmFtZSwgaWQpOgorICAgIGdsb2JhbCBlcnJvcl9ucgorICAgIGdsb2JhbCBlcnJvcl9tc2cKKyAgICBnbG9iYWwgbG9nCisKKyAgICBlcnJvcl9uciA9IDAKKyAgICBlcnJvcl9tc2cgPSAnJworCisgICAgcHJpbnQgInRlc3RYSW5jbHVkZSglcywgJXMpIiAlIChmaWxlbmFtZSwgaWQpCisgICAgcmV0dXJuIDEKKworZGVmIHJ1blRlc3QodGVzdCwgYmFzZWRpcik6CisgICAgZ2xvYmFsIHRlc3RfbnIKKyAgICBnbG9iYWwgdGVzdF9mYWlsZWQKKyAgICBnbG9iYWwgdGVzdF9lcnJvcgorICAgIGdsb2JhbCB0ZXN0X3N1Y2NlZWQKKyAgICBnbG9iYWwgZXJyb3JfbXNnCisgICAgZ2xvYmFsIGxvZworCisgICAgZmF0YWxfZXJyb3IgPSAwCisgICAgdXJpID0gdGVzdC5wcm9wKCdocmVmJykKKyAgICBpZCA9IHRlc3QucHJvcCgnaWQnKQorICAgIHR5cGUgPSB0ZXN0LnByb3AoJ3R5cGUnKQorICAgIGlmIHVyaSA9PSBOb25lOgorICAgICAgICBwcmludCAiVGVzdCB3aXRob3V0IElEOiIsIHVyaQorCXJldHVybiAtMQorICAgIGlmIGlkID09IE5vbmU6CisgICAgICAgIHByaW50ICJUZXN0IHdpdGhvdXQgVVJJOiIsIGlkCisJcmV0dXJuIC0xCisgICAgaWYgdHlwZSA9PSBOb25lOgorICAgICAgICBwcmludCAiVGVzdCB3aXRob3V0IFVSSToiLCBpZAorCXJldHVybiAtMQorICAgIGlmIGJhc2VkaXIgIT0gTm9uZToKKwlVUkkgPSBiYXNlZGlyICsgIi8iICsgdXJpCisgICAgZWxzZToKKyAgICAgICAgVVJJID0gdXJpCisgICAgaWYgb3MuYWNjZXNzKFVSSSwgb3MuUl9PSykgPT0gMDoKKyAgICAgICAgcHJpbnQgIlRlc3QgJXMgbWlzc2luZzogYmFzZSAlcyB1cmkgJXMiICUgKFVSSSwgYmFzZWRpciwgdXJpKQorCXJldHVybiAtMQorCisgICAgZXhwZWN0ZWQgPSBOb25lCisgICAgb3V0cHV0ZmlsZSA9IE5vbmUKKyAgICBkaWZmID0gTm9uZQorICAgIGlmIHR5cGUgIT0gJ2Vycm9yJzoKKwlvdXRwdXQgPSB0ZXN0LnhwYXRoRXZhbCgnc3RyaW5nKG91dHB1dCknKQorCWlmIG91dHB1dCA9PSAnTm8gb3V0cHV0IGZpbGUuJzoKKwkgICAgb3V0cHV0ID0gTm9uZQorCWlmIG91dHB1dCA9PSAnJzoKKwkgICAgb3V0cHV0ID0gTm9uZQorCWlmIG91dHB1dCAhPSBOb25lOgorCSAgICBpZiBiYXNlZGlyICE9IE5vbmU6CisJCW91dHB1dCA9IGJhc2VkaXIgKyAiLyIgKyBvdXRwdXQKKwkgICAgaWYgb3MuYWNjZXNzKG91dHB1dCwgb3MuUl9PSykgPT0gMDoKKwkJcHJpbnQgIlJlc3VsdCBmb3IgJXMgbWlzc2luZzogJXMiICUgKGlkLCBvdXRwdXQpCisJCW91dHB1dCA9IE5vbmUKKwkgICAgZWxzZToKKwkJdHJ5OgorCQkgICAgZiA9IG9wZW4ob3V0cHV0KQorCQkgICAgZXhwZWN0ZWQgPSBmLnJlYWQoKQorCQkgICAgb3V0cHV0ZmlsZSA9IG91dHB1dAorCQlleGNlcHQ6CisJCSAgICBwcmludCAiUmVzdWx0IGZvciAlcyB1bnJlYWRhYmxlOiAlcyIgJSAoaWQsIG91dHB1dCkKKworICAgIHRyeToKKyAgICAgICAgIyBwcmludCAidGVzdGluZyAlcyIgJSAoVVJJKQorCWRvYyA9IGxpYnhtbDIucGFyc2VGaWxlKFVSSSkKKyAgICBleGNlcHQ6CisgICAgICAgIGRvYyA9IE5vbmUKKyAgICBpZiBkb2MgIT0gTm9uZToKKyAgICAgICAgcmVzID0gZG9jLnhpbmNsdWRlUHJvY2VzcygpCisJaWYgcmVzID49IDAgYW5kIGV4cGVjdGVkICE9IE5vbmU6CisJICAgIHJlc3VsdCA9IGRvYy5zZXJpYWxpemUoKQorCSAgICBpZiByZXN1bHQgIT0gZXhwZWN0ZWQ6CisJICAgICAgICBwcmludCAiUmVzdWx0IGZvciAlcyBkaWZmZXJzIiAlIChpZCkKKwkJb3BlbigieGluY2x1ZGUucmVzIiwgInciKS53cml0ZShyZXN1bHQpCisJCWRpZmYgPSBvcy5wb3BlbigiZGlmZiAlcyB4aW5jbHVkZS5yZXMiICUgb3V0cHV0ZmlsZSkucmVhZCgpCisKKwlkb2MuZnJlZURvYygpCisgICAgZWxzZToKKyAgICAgICAgcHJpbnQgIkZhaWxlZCB0byBwYXJzZSAlcyIgJSAoVVJJKQorCXJlcyA9IC0xCisKKyAgICAKKworICAgIHRlc3RfbnIgPSB0ZXN0X25yICsgMQorICAgIGlmIHR5cGUgPT0gJ3N1Y2Nlc3MnOgorCWlmIHJlcyA+IDA6CisJICAgIHRlc3Rfc3VjY2VlZCA9IHRlc3Rfc3VjY2VlZCArIDEKKwllbGlmIHJlcyA9PSAwOgorCSAgICB0ZXN0X2ZhaWxlZCA9IHRlc3RfZmFpbGVkICsgMQorCSAgICBwcmludCAiVGVzdCAlczogbm8gc3Vic3RpdHV0aW9uIGRvbmUgPz8/IiAlIChpZCkKKwllbGlmIHJlcyA8IDA6CisJICAgIHRlc3RfZXJyb3IgPSB0ZXN0X2Vycm9yICsgMQorCSAgICBwcmludCAiVGVzdCAlczogZmFpbGVkIHZhbGlkIFhJbmNsdWRlIHByb2Nlc3NpbmciICUgKGlkKQorICAgIGVsaWYgdHlwZSA9PSAnZXJyb3InOgorCWlmIHJlcyA+IDA6CisJICAgIHRlc3RfZXJyb3IgPSB0ZXN0X2Vycm9yICsgMQorCSAgICBwcmludCAiVGVzdCAlczogZmFpbGVkIHRvIGRldGVjdCBpbnZhbGlkIFhJbmNsdWRlIHByb2Nlc3NpbmciICUgKGlkKQorCWVsaWYgcmVzID09IDA6CisJICAgIHRlc3RfZmFpbGVkID0gdGVzdF9mYWlsZWQgKyAxCisJICAgIHByaW50ICJUZXN0ICVzOiBJbnZhbGlkIGJ1dCBubyBzdWJzdGl0dXRpb24gZG9uZSIgJSAoaWQpCisJZWxpZiByZXMgPCAwOgorCSAgICB0ZXN0X3N1Y2NlZWQgPSB0ZXN0X3N1Y2NlZWQgKyAxCisgICAgZWxpZiB0eXBlID09ICdvcHRpb25hbCc6CisJaWYgcmVzID4gMDoKKwkgICAgdGVzdF9zdWNjZWVkID0gdGVzdF9zdWNjZWVkICsgMQorCWVsc2U6CisJICAgIHByaW50ICJUZXN0ICVzOiBmYWlsZWQgb3B0aW9uYWwgdGVzdCIgJSAoaWQpCisKKyAgICAjIExvZyB0aGUgb250ZXh0CisgICAgaWYgcmVzICE9IDE6CisJbG9nLndyaXRlKCJUZXN0IElEICVzXG4iICUgKGlkKSkKKwlsb2cud3JpdGUoIiAgIEZpbGU6ICVzXG4iICUgKFVSSSkpCisJY29udGVudCA9IHN0cmluZy5zdHJpcCh0ZXN0LmNvbnRlbnQpCisJd2hpbGUgY29udGVudFstMV0gPT0gJ1xuJzoKKwkgICAgY29udGVudCA9IGNvbnRlbnRbMDotMV0KKwlsb2cud3JpdGUoIiAgICVzOiVzXG5cbiIgJSAodHlwZSwgY29udGVudCkpCisJaWYgZXJyb3JfbXNnICE9ICcnOgorCSAgICBsb2cud3JpdGUoIiAgIC0tLS1cbiVzICAgLS0tLVxuIiAlIChlcnJvcl9tc2cpKQorCSAgICBlcnJvcl9tc2cgPSAnJworCWxvZy53cml0ZSgiXG4iKQorICAgIGlmIGRpZmYgIT0gTm9uZToKKyAgICAgICAgbG9nLndyaXRlKCJkaWZmIGZyb20gdGVzdCAlczpcbiIgJShpZCkpCisJbG9nLndyaXRlKCIgICAtLS0tLS0tLS0tLVxuJXNcbiAgIC0tLS0tLS0tLS0tXG4iICUgKGRpZmYpKTsKKworICAgIHJldHVybiAwCisJICAgIAorCitkZWYgcnVuVGVzdENhc2VzKGNhc2UpOgorICAgIGNyZWF0b3IgPSBjYXNlLnByb3AoJ2NyZWF0b3InKQorICAgIGlmIGNyZWF0b3IgIT0gTm9uZToKKwlwcmludCAiPT4iLCBjcmVhdG9yCisgICAgYmFzZSA9IGNhc2UuZ2V0QmFzZShOb25lKQorICAgIGJhc2VkaXIgPSBjYXNlLnByb3AoJ2Jhc2VkaXInKQorICAgIGlmIGJhc2VkaXIgIT0gTm9uZToKKwliYXNlID0gbGlieG1sMi5idWlsZFVSSShiYXNlZGlyLCBiYXNlKQorICAgIHRlc3QgPSBjYXNlLmNoaWxkcmVuCisgICAgd2hpbGUgdGVzdCAhPSBOb25lOgorICAgICAgICBpZiB0ZXN0Lm5hbWUgPT0gJ3Rlc3RjYXNlJzoKKwkgICAgcnVuVGVzdCh0ZXN0LCBiYXNlKQorCWlmIHRlc3QubmFtZSA9PSAndGVzdGNhc2VzJzoKKwkgICAgcnVuVGVzdENhc2VzKHRlc3QpCisgICAgICAgIHRlc3QgPSB0ZXN0Lm5leHQKKyAgICAgICAgCitjb25mID0gbGlieG1sMi5wYXJzZUZpbGUoQ09ORikKK2lmIGNvbmYgPT0gTm9uZToKKyAgICBwcmludCAiVW5hYmxlIHRvIGxvYWQgJXMiICUgQ09ORgorICAgIHN5cy5leGl0KDEpCisKK3Rlc3RzdWl0ZSA9IGNvbmYuZ2V0Um9vdEVsZW1lbnQoKQoraWYgdGVzdHN1aXRlLm5hbWUgIT0gJ3Rlc3RzdWl0ZSc6CisgICAgcHJpbnQgIkV4cGVjdGluZyBURVNUU1VJVEUgcm9vdCBlbGVtZW50OiBhYm9ydGluZyIKKyAgICBzeXMuZXhpdCgxKQorCitwcm9maWxlID0gdGVzdHN1aXRlLnByb3AoJ1BST0ZJTEUnKQoraWYgcHJvZmlsZSAhPSBOb25lOgorICAgIHByaW50IHByb2ZpbGUKKworc3RhcnQgPSB0aW1lLnRpbWUoKQorCitjYXNlID0gdGVzdHN1aXRlLmNoaWxkcmVuCit3aGlsZSBjYXNlICE9IE5vbmU6CisgICAgaWYgY2FzZS5uYW1lID09ICd0ZXN0Y2FzZXMnOgorCW9sZF90ZXN0X25yID0gdGVzdF9ucgorCW9sZF90ZXN0X3N1Y2NlZWQgPSB0ZXN0X3N1Y2NlZWQKKwlvbGRfdGVzdF9mYWlsZWQgPSB0ZXN0X2ZhaWxlZAorCW9sZF90ZXN0X2Vycm9yID0gdGVzdF9lcnJvcgorICAgICAgICBydW5UZXN0Q2FzZXMoY2FzZSkKKwlwcmludCAiICAgUmFuICVkIHRlc3RzOiAlZCBzdWNlZWRlZCwgJWQgZmFpbGVkIGFuZCAlZCBnZW5lcmF0ZWQgYW4gZXJyb3IiICUgKAorCSAgICAgICB0ZXN0X25yIC0gb2xkX3Rlc3RfbnIsIHRlc3Rfc3VjY2VlZCAtIG9sZF90ZXN0X3N1Y2NlZWQsCisJICAgICAgIHRlc3RfZmFpbGVkIC0gb2xkX3Rlc3RfZmFpbGVkLCB0ZXN0X2Vycm9yIC0gb2xkX3Rlc3RfZXJyb3IpCisgICAgY2FzZSA9IGNhc2UubmV4dAorCitjb25mLmZyZWVEb2MoKQorbG9nLmNsb3NlKCkKKworcHJpbnQgIlJhbiAlZCB0ZXN0czogJWQgc3VjZWVkZWQsICVkIGZhaWxlZCBhbmQgJWQgZ2VuZXJhdGVkIGFuIGVycm9yIGluICUuMmYgcy4iICUgKAorICAgICAgdGVzdF9uciwgdGVzdF9zdWNjZWVkLCB0ZXN0X2ZhaWxlZCwgdGVzdF9lcnJvciwgdGltZS50aW1lKCkgLSBzdGFydCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvY2hlY2steG1sLXRlc3Qtc3VpdGUucHkgYi9saWJ4bWwyL2NoZWNrLXhtbC10ZXN0LXN1aXRlLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjJkZTA3YjEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2NoZWNrLXhtbC10ZXN0LXN1aXRlLnB5CkBAIC0wLDAgKzEsNDA5IEBACisjIS91c3IvYmluL3B5dGhvbgoraW1wb3J0IHN5cworaW1wb3J0IHRpbWUKK2ltcG9ydCBvcworaW1wb3J0IHN0cmluZworc3lzLnBhdGguaW5zZXJ0KDAsICJweXRob24iKQoraW1wb3J0IGxpYnhtbDIKKwordGVzdF9uciA9IDAKK3Rlc3Rfc3VjY2VlZCA9IDAKK3Rlc3RfZmFpbGVkID0gMAordGVzdF9lcnJvciA9IDAKKworIworIyB0aGUgdGVzdHN1aXRlIGRlc2NyaXB0aW9uCisjCitDT05GPSJ4bWwtdGVzdC1zdWl0ZS94bWxjb25mL3htbGNvbmYueG1sIgorTE9HPSJjaGVjay14bWwtdGVzdC1zdWl0ZS5sb2ciCisKK2xvZyA9IG9wZW4oTE9HLCAidyIpCisKKyMKKyMgRXJyb3IgYW5kIHdhcm5pbmcgaGFuZGxlcnMKKyMKK2Vycm9yX25yID0gMAorZXJyb3JfbXNnID0gJycKK2RlZiBlcnJvckhhbmRsZXIoY3R4LCBzdHIpOgorICAgIGdsb2JhbCBlcnJvcl9ucgorICAgIGdsb2JhbCBlcnJvcl9tc2cKKworICAgIGVycm9yX25yID0gZXJyb3JfbnIgKyAxCisgICAgaWYgbGVuKGVycm9yX21zZykgPCAzMDA6CisgICAgICAgIGlmIGxlbihlcnJvcl9tc2cpID09IDAgb3IgZXJyb3JfbXNnWy0xXSA9PSAnXG4nOgorCSAgICBlcnJvcl9tc2cgPSBlcnJvcl9tc2cgKyAiICAgPj4iICsgc3RyCisJZWxzZToKKwkgICAgZXJyb3JfbXNnID0gZXJyb3JfbXNnICsgc3RyCisKK2xpYnhtbDIucmVnaXN0ZXJFcnJvckhhbmRsZXIoZXJyb3JIYW5kbGVyLCBOb25lKQorCisjd2FybmluZ19uciA9IDAKKyN3YXJuaW5nID0gJycKKyNkZWYgd2FybmluZ0hhbmRsZXIoY3R4LCBzdHIpOgorIyAgICBnbG9iYWwgd2FybmluZ19ucgorIyAgICBnbG9iYWwgd2FybmluZworIworIyAgICB3YXJuaW5nX25yID0gd2FybmluZ19uciArIDEKKyMgICAgd2FybmluZyA9IHdhcm5pbmcgKyBzdHIKKyMKKyNsaWJ4bWwyLnJlZ2lzdGVyV2FybmluZ0hhbmRsZXIod2FybmluZ0hhbmRsZXIsIE5vbmUpCisKKyMKKyMgVXNlZCB0byBsb2FkIHRoZSBYTUwgdGVzdHN1aXRlIGRlc2NyaXB0aW9uCisjCitkZWYgbG9hZE5vZW50RG9jKGZpbGVuYW1lKToKKyAgICBjdHh0ID0gbGlieG1sMi5jcmVhdGVGaWxlUGFyc2VyQ3R4dChmaWxlbmFtZSkKKyAgICBpZiBjdHh0ID09IE5vbmU6CisgICAgICAgIHJldHVybiBOb25lCisgICAgY3R4dC5yZXBsYWNlRW50aXRpZXMoMSkKKyAgICBjdHh0LnBhcnNlRG9jdW1lbnQoKQorICAgIHRyeToKKwlkb2MgPSBjdHh0LmRvYygpCisgICAgZXhjZXB0OgorICAgICAgICBkb2MgPSBOb25lCisgICAgaWYgY3R4dC53ZWxsRm9ybWVkKCkgIT0gMToKKyAgICAgICAgZG9jLmZyZWVEb2MoKQorCXJldHVybiBOb25lCisgICAgcmV0dXJuIGRvYworCisjCisjIFRoZSBjb25mb3JtYW5jZSB0ZXN0aW5nIHJvdXRpbmVzCisjCisKK2RlZiB0ZXN0Tm90V2YoZmlsZW5hbWUsIGlkKToKKyAgICBnbG9iYWwgZXJyb3JfbnIKKyAgICBnbG9iYWwgZXJyb3JfbXNnCisgICAgZ2xvYmFsIGxvZworCisgICAgZXJyb3JfbnIgPSAwCisgICAgZXJyb3JfbXNnID0gJycKKworICAgIGN0eHQgPSBsaWJ4bWwyLmNyZWF0ZUZpbGVQYXJzZXJDdHh0KGZpbGVuYW1lKQorICAgIGlmIGN0eHQgPT0gTm9uZToKKyAgICAgICAgcmV0dXJuIC0xCisgICAgcmV0ID0gY3R4dC5wYXJzZURvY3VtZW50KCkKKworICAgIHRyeToKKwlkb2MgPSBjdHh0LmRvYygpCisgICAgZXhjZXB0OgorICAgICAgICBkb2MgPSBOb25lCisgICAgaWYgZG9jICE9IE5vbmU6CisJZG9jLmZyZWVEb2MoKQorICAgIGlmIHJldCA9PSAwIG9yIGN0eHQud2VsbEZvcm1lZCgpICE9IDA6CisgICAgICAgIHByaW50ICIlczogZXJyb3I6IFdlbGwgRm9ybWVkbmVzcyBlcnJvciBub3QgZGV0ZWN0ZWQiICUgKGlkKQorCWxvZy53cml0ZSgiJXM6IGVycm9yOiBXZWxsIEZvcm1lZG5lc3MgZXJyb3Igbm90IGRldGVjdGVkXG4iICUgKGlkKSkKKwlyZXR1cm4gMAorICAgIHJldHVybiAxCisKK2RlZiB0ZXN0Tm90V2ZFbnQoZmlsZW5hbWUsIGlkKToKKyAgICBnbG9iYWwgZXJyb3JfbnIKKyAgICBnbG9iYWwgZXJyb3JfbXNnCisgICAgZ2xvYmFsIGxvZworCisgICAgZXJyb3JfbnIgPSAwCisgICAgZXJyb3JfbXNnID0gJycKKworICAgIGN0eHQgPSBsaWJ4bWwyLmNyZWF0ZUZpbGVQYXJzZXJDdHh0KGZpbGVuYW1lKQorICAgIGlmIGN0eHQgPT0gTm9uZToKKyAgICAgICAgcmV0dXJuIC0xCisgICAgY3R4dC5yZXBsYWNlRW50aXRpZXMoMSkKKyAgICByZXQgPSBjdHh0LnBhcnNlRG9jdW1lbnQoKQorCisgICAgdHJ5OgorCWRvYyA9IGN0eHQuZG9jKCkKKyAgICBleGNlcHQ6CisgICAgICAgIGRvYyA9IE5vbmUKKyAgICBpZiBkb2MgIT0gTm9uZToKKwlkb2MuZnJlZURvYygpCisgICAgaWYgcmV0ID09IDAgb3IgY3R4dC53ZWxsRm9ybWVkKCkgIT0gMDoKKyAgICAgICAgcHJpbnQgIiVzOiBlcnJvcjogV2VsbCBGb3JtZWRuZXNzIGVycm9yIG5vdCBkZXRlY3RlZCIgJSAoaWQpCisJbG9nLndyaXRlKCIlczogZXJyb3I6IFdlbGwgRm9ybWVkbmVzcyBlcnJvciBub3QgZGV0ZWN0ZWRcbiIgJSAoaWQpKQorCXJldHVybiAwCisgICAgcmV0dXJuIDEKKworZGVmIHRlc3ROb3RXZkVudER0ZChmaWxlbmFtZSwgaWQpOgorICAgIGdsb2JhbCBlcnJvcl9ucgorICAgIGdsb2JhbCBlcnJvcl9tc2cKKyAgICBnbG9iYWwgbG9nCisKKyAgICBlcnJvcl9uciA9IDAKKyAgICBlcnJvcl9tc2cgPSAnJworCisgICAgY3R4dCA9IGxpYnhtbDIuY3JlYXRlRmlsZVBhcnNlckN0eHQoZmlsZW5hbWUpCisgICAgaWYgY3R4dCA9PSBOb25lOgorICAgICAgICByZXR1cm4gLTEKKyAgICBjdHh0LnJlcGxhY2VFbnRpdGllcygxKQorICAgIGN0eHQubG9hZFN1YnNldCgxKQorICAgIHJldCA9IGN0eHQucGFyc2VEb2N1bWVudCgpCisKKyAgICB0cnk6CisJZG9jID0gY3R4dC5kb2MoKQorICAgIGV4Y2VwdDoKKyAgICAgICAgZG9jID0gTm9uZQorICAgIGlmIGRvYyAhPSBOb25lOgorCWRvYy5mcmVlRG9jKCkKKyAgICBpZiByZXQgPT0gMCBvciBjdHh0LndlbGxGb3JtZWQoKSAhPSAwOgorICAgICAgICBwcmludCAiJXM6IGVycm9yOiBXZWxsIEZvcm1lZG5lc3MgZXJyb3Igbm90IGRldGVjdGVkIiAlIChpZCkKKwlsb2cud3JpdGUoIiVzOiBlcnJvcjogV2VsbCBGb3JtZWRuZXNzIGVycm9yIG5vdCBkZXRlY3RlZFxuIiAlIChpZCkpCisJcmV0dXJuIDAKKyAgICByZXR1cm4gMQorCitkZWYgdGVzdFdmRW50RHRkKGZpbGVuYW1lLCBpZCk6CisgICAgZ2xvYmFsIGVycm9yX25yCisgICAgZ2xvYmFsIGVycm9yX21zZworICAgIGdsb2JhbCBsb2cKKworICAgIGVycm9yX25yID0gMAorICAgIGVycm9yX21zZyA9ICcnCisKKyAgICBjdHh0ID0gbGlieG1sMi5jcmVhdGVGaWxlUGFyc2VyQ3R4dChmaWxlbmFtZSkKKyAgICBpZiBjdHh0ID09IE5vbmU6CisgICAgICAgIHJldHVybiAtMQorICAgIGN0eHQucmVwbGFjZUVudGl0aWVzKDEpCisgICAgY3R4dC5sb2FkU3Vic2V0KDEpCisgICAgcmV0ID0gY3R4dC5wYXJzZURvY3VtZW50KCkKKworICAgIHRyeToKKwlkb2MgPSBjdHh0LmRvYygpCisgICAgZXhjZXB0OgorICAgICAgICBkb2MgPSBOb25lCisgICAgaWYgZG9jID09IE5vbmUgb3IgcmV0ICE9IDAgb3IgY3R4dC53ZWxsRm9ybWVkKCkgPT0gMDoKKyAgICAgICAgcHJpbnQgIiVzOiBlcnJvcjogd3JvbmdseSBmYWlsZWQgdG8gcGFyc2UgdGhlIGRvY3VtZW50IiAlIChpZCkKKwlsb2cud3JpdGUoIiVzOiBlcnJvcjogd3JvbmdseSBmYWlsZWQgdG8gcGFyc2UgdGhlIGRvY3VtZW50XG4iICUgKGlkKSkKKwlpZiBkb2MgIT0gTm9uZToKKwkgICAgZG9jLmZyZWVEb2MoKQorCXJldHVybiAwCisgICAgaWYgZXJyb3JfbnIgIT0gMDoKKyAgICAgICAgcHJpbnQgIiVzOiB3YXJuaW5nOiBXRiBkb2N1bWVudCBnZW5lcmF0ZWQgYW4gZXJyb3IgbXNnIiAlIChpZCkKKwlsb2cud3JpdGUoIiVzOiBlcnJvcjogV0YgZG9jdW1lbnQgZ2VuZXJhdGVkIGFuIGVycm9yIG1zZ1xuIiAlIChpZCkpCisJZG9jLmZyZWVEb2MoKQorCXJldHVybiAyCisgICAgZG9jLmZyZWVEb2MoKQorICAgIHJldHVybiAxCisKK2RlZiB0ZXN0RXJyb3IoZmlsZW5hbWUsIGlkKToKKyAgICBnbG9iYWwgZXJyb3JfbnIKKyAgICBnbG9iYWwgZXJyb3JfbXNnCisgICAgZ2xvYmFsIGxvZworCisgICAgZXJyb3JfbnIgPSAwCisgICAgZXJyb3JfbXNnID0gJycKKworICAgIGN0eHQgPSBsaWJ4bWwyLmNyZWF0ZUZpbGVQYXJzZXJDdHh0KGZpbGVuYW1lKQorICAgIGlmIGN0eHQgPT0gTm9uZToKKyAgICAgICAgcmV0dXJuIC0xCisgICAgY3R4dC5yZXBsYWNlRW50aXRpZXMoMSkKKyAgICBjdHh0LmxvYWRTdWJzZXQoMSkKKyAgICByZXQgPSBjdHh0LnBhcnNlRG9jdW1lbnQoKQorCisgICAgdHJ5OgorCWRvYyA9IGN0eHQuZG9jKCkKKyAgICBleGNlcHQ6CisgICAgICAgIGRvYyA9IE5vbmUKKyAgICBpZiBkb2MgIT0gTm9uZToKKwlkb2MuZnJlZURvYygpCisgICAgaWYgY3R4dC53ZWxsRm9ybWVkKCkgPT0gMDoKKyAgICAgICAgcHJpbnQgIiVzOiB3YXJuaW5nOiBmYWlsZWQgdG8gcGFyc2UgdGhlIGRvY3VtZW50IGJ1dCBhY2NlcHRlZCIgJSAoaWQpCisJbG9nLndyaXRlKCIlczogd2FybmluZzogZmFpbGVkIHRvIHBhcnNlIHRoZSBkb2N1bWVudCBidXQgYWNjZXB0ZVxuIiAlIChpZCkpCisJcmV0dXJuIDIKKyAgICBpZiBlcnJvcl9uciAhPSAwOgorICAgICAgICBwcmludCAiJXM6IHdhcm5pbmc6IFdGIGRvY3VtZW50IGdlbmVyYXRlZCBhbiBlcnJvciBtc2ciICUgKGlkKQorCWxvZy53cml0ZSgiJXM6IGVycm9yOiBXRiBkb2N1bWVudCBnZW5lcmF0ZWQgYW4gZXJyb3IgbXNnXG4iICUgKGlkKSkKKwlyZXR1cm4gMgorICAgIHJldHVybiAxCisKK2RlZiB0ZXN0SW52YWxpZChmaWxlbmFtZSwgaWQpOgorICAgIGdsb2JhbCBlcnJvcl9ucgorICAgIGdsb2JhbCBlcnJvcl9tc2cKKyAgICBnbG9iYWwgbG9nCisKKyAgICBlcnJvcl9uciA9IDAKKyAgICBlcnJvcl9tc2cgPSAnJworCisgICAgY3R4dCA9IGxpYnhtbDIuY3JlYXRlRmlsZVBhcnNlckN0eHQoZmlsZW5hbWUpCisgICAgaWYgY3R4dCA9PSBOb25lOgorICAgICAgICByZXR1cm4gLTEKKyAgICBjdHh0LnZhbGlkYXRlKDEpCisgICAgcmV0ID0gY3R4dC5wYXJzZURvY3VtZW50KCkKKworICAgIHRyeToKKwlkb2MgPSBjdHh0LmRvYygpCisgICAgZXhjZXB0OgorICAgICAgICBkb2MgPSBOb25lCisgICAgdmFsaWQgPSBjdHh0LmlzVmFsaWQoKQorICAgIGlmIGRvYyA9PSBOb25lOgorICAgICAgICBwcmludCAiJXM6IGVycm9yOiB3cm9uZ2x5IGZhaWxlZCB0byBwYXJzZSB0aGUgZG9jdW1lbnQiICUgKGlkKQorCWxvZy53cml0ZSgiJXM6IGVycm9yOiB3cm9uZ2x5IGZhaWxlZCB0byBwYXJzZSB0aGUgZG9jdW1lbnRcbiIgJSAoaWQpKQorCXJldHVybiAwCisgICAgaWYgdmFsaWQgPT0gMToKKyAgICAgICAgcHJpbnQgIiVzOiBlcnJvcjogVmFsaWRpdHkgZXJyb3Igbm90IGRldGVjdGVkIiAlIChpZCkKKwlsb2cud3JpdGUoIiVzOiBlcnJvcjogVmFsaWRpdHkgZXJyb3Igbm90IGRldGVjdGVkXG4iICUgKGlkKSkKKwlkb2MuZnJlZURvYygpCisJcmV0dXJuIDAKKyAgICBpZiBlcnJvcl9uciA9PSAwOgorICAgICAgICBwcmludCAiJXM6IHdhcm5pbmc6IFZhbGlkaXR5IGVycm9yIG5vdCByZXBvcnRlZCIgJSAoaWQpCisJbG9nLndyaXRlKCIlczogd2FybmluZzogVmFsaWRpdHkgZXJyb3Igbm90IHJlcG9ydGVkXG4iICUgKGlkKSkKKwlkb2MuZnJlZURvYygpCisJcmV0dXJuIDIKKyAgICAgICAgCisgICAgZG9jLmZyZWVEb2MoKQorICAgIHJldHVybiAxCisKK2RlZiB0ZXN0VmFsaWQoZmlsZW5hbWUsIGlkKToKKyAgICBnbG9iYWwgZXJyb3JfbnIKKyAgICBnbG9iYWwgZXJyb3JfbXNnCisKKyAgICBlcnJvcl9uciA9IDAKKyAgICBlcnJvcl9tc2cgPSAnJworCisgICAgY3R4dCA9IGxpYnhtbDIuY3JlYXRlRmlsZVBhcnNlckN0eHQoZmlsZW5hbWUpCisgICAgaWYgY3R4dCA9PSBOb25lOgorICAgICAgICByZXR1cm4gLTEKKyAgICBjdHh0LnZhbGlkYXRlKDEpCisgICAgY3R4dC5wYXJzZURvY3VtZW50KCkKKworICAgIHRyeToKKwlkb2MgPSBjdHh0LmRvYygpCisgICAgZXhjZXB0OgorICAgICAgICBkb2MgPSBOb25lCisgICAgdmFsaWQgPSBjdHh0LmlzVmFsaWQoKQorICAgIGlmIGRvYyA9PSBOb25lOgorICAgICAgICBwcmludCAiJXM6IGVycm9yOiB3cm9uZ2x5IGZhaWxlZCB0byBwYXJzZSB0aGUgZG9jdW1lbnQiICUgKGlkKQorCWxvZy53cml0ZSgiJXM6IGVycm9yOiB3cm9uZ2x5IGZhaWxlZCB0byBwYXJzZSB0aGUgZG9jdW1lbnRcbiIgJSAoaWQpKQorCXJldHVybiAwCisgICAgaWYgdmFsaWQgIT0gMToKKyAgICAgICAgcHJpbnQgIiVzOiBlcnJvcjogVmFsaWRpdHkgY2hlY2sgZmFpbGVkIiAlIChpZCkKKwlsb2cud3JpdGUoIiVzOiBlcnJvcjogVmFsaWRpdHkgY2hlY2sgZmFpbGVkXG4iICUgKGlkKSkKKwlkb2MuZnJlZURvYygpCisJcmV0dXJuIDAKKyAgICBpZiBlcnJvcl9uciAhPSAwIG9yIHZhbGlkICE9IDE6CisgICAgICAgIHByaW50ICIlczogd2FybmluZzogdmFsaWQgZG9jdW1lbnQgcmVwb3J0ZWQgYW4gZXJyb3IiICUgKGlkKQorCWxvZy53cml0ZSgiJXM6IHdhcm5pbmc6IHZhbGlkIGRvY3VtZW50IHJlcG9ydGVkIGFuIGVycm9yXG4iICUgKGlkKSkKKwlkb2MuZnJlZURvYygpCisJcmV0dXJuIDIKKyAgICBkb2MuZnJlZURvYygpCisgICAgcmV0dXJuIDEKKworZGVmIHJ1blRlc3QodGVzdCk6CisgICAgZ2xvYmFsIHRlc3RfbnIKKyAgICBnbG9iYWwgdGVzdF9zdWNjZWVkCisgICAgZ2xvYmFsIHRlc3RfZmFpbGVkCisgICAgZ2xvYmFsIGVycm9yX21zZworICAgIGdsb2JhbCBsb2cKKworICAgIHVyaSA9IHRlc3QucHJvcCgnVVJJJykKKyAgICBpZCA9IHRlc3QucHJvcCgnSUQnKQorICAgIGlmIHVyaSA9PSBOb25lOgorICAgICAgICBwcmludCAiVGVzdCB3aXRob3V0IElEOiIsIHVyaQorCXJldHVybiAtMQorICAgIGlmIGlkID09IE5vbmU6CisgICAgICAgIHByaW50ICJUZXN0IHdpdGhvdXQgVVJJOiIsIGlkCisJcmV0dXJuIC0xCisgICAgYmFzZSA9IHRlc3QuZ2V0QmFzZShOb25lKQorICAgIFVSSSA9IGxpYnhtbDIuYnVpbGRVUkkodXJpLCBiYXNlKQorICAgIGlmIG9zLmFjY2VzcyhVUkksIG9zLlJfT0spID09IDA6CisgICAgICAgIHByaW50ICJUZXN0ICVzIG1pc3Npbmc6IGJhc2UgJXMgdXJpICVzIiAlIChVUkksIGJhc2UsIHVyaSkKKwlyZXR1cm4gLTEKKyAgICB0eXBlID0gdGVzdC5wcm9wKCdUWVBFJykKKyAgICBpZiB0eXBlID09IE5vbmU6CisgICAgICAgIHByaW50ICJUZXN0ICVzIG1pc3NpbmcgVFlQRSIgJSAoaWQpCisJcmV0dXJuIC0xCisKKyAgICBleHRyYSA9IE5vbmUKKyAgICBpZiB0eXBlID09ICJpbnZhbGlkIjoKKyAgICAgICAgcmVzID0gdGVzdEludmFsaWQoVVJJLCBpZCkKKyAgICBlbGlmIHR5cGUgPT0gInZhbGlkIjoKKyAgICAgICAgcmVzID0gdGVzdFZhbGlkKFVSSSwgaWQpCisgICAgZWxpZiB0eXBlID09ICJub3Qtd2YiOgorICAgICAgICBleHRyYSA9ICB0ZXN0LnByb3AoJ0VOVElUSUVTJykKKwkjIHByaW50IFVSSQorCSNpZiBleHRyYSA9PSBOb25lOgorCSMgICAgcmVzID0gdGVzdE5vdFdmRW50RHRkKFVSSSwgaWQpCisgCSNlbGlmIGV4dHJhID09ICdub25lJzoKKwkjICAgIHJlcyA9IHRlc3ROb3RXZihVUkksIGlkKQorCSNlbGlmIGV4dHJhID09ICdnZW5lcmFsJzoKKwkjICAgIHJlcyA9IHRlc3ROb3RXZkVudChVUkksIGlkKQorCSNlbGlmIGV4dHJhID09ICdib3RoJyBvciBleHRyYSA9PSAncGFyYW1ldGVyJzoKKwlyZXMgPSB0ZXN0Tm90V2ZFbnREdGQoVVJJLCBpZCkKKwkjZWxzZToKKwkjICAgIHByaW50ICJVbmtub3cgdmFsdWUgJXMgZm9yIGFuIEVOVElUSUVTIHRlc3QgdmFsdWUiICUgKGV4dHJhKQorCSMgICAgcmV0dXJuIC0xCisgICAgZWxpZiB0eXBlID09ICJlcnJvciI6CisJcmVzID0gdGVzdEVycm9yKFVSSSwgaWQpCisgICAgZWxzZToKKyAgICAgICAgIyBUT0RPIHNraXBwZWQgZm9yIG5vdworCXJldHVybiAtMQorCisgICAgdGVzdF9uciA9IHRlc3RfbnIgKyAxCisgICAgaWYgcmVzID4gMDoKKwl0ZXN0X3N1Y2NlZWQgPSB0ZXN0X3N1Y2NlZWQgKyAxCisgICAgZWxpZiByZXMgPT0gMDoKKwl0ZXN0X2ZhaWxlZCA9IHRlc3RfZmFpbGVkICsgMQorICAgIGVsaWYgcmVzIDwgMDoKKwl0ZXN0X2Vycm9yID0gdGVzdF9lcnJvciArIDEKKworICAgICMgTG9nIHRoZSBvbnRleHQKKyAgICBpZiByZXMgIT0gMToKKwlsb2cud3JpdGUoIiAgIEZpbGU6ICVzXG4iICUgKFVSSSkpCisJY29udGVudCA9IHN0cmluZy5zdHJpcCh0ZXN0LmNvbnRlbnQpCisJd2hpbGUgY29udGVudFstMV0gPT0gJ1xuJzoKKwkgICAgY29udGVudCA9IGNvbnRlbnRbMDotMV0KKwlpZiBleHRyYSAhPSBOb25lOgorCSAgICBsb2cud3JpdGUoIiAgICVzOiVzOiVzXG4iICUgKHR5cGUsIGV4dHJhLCBjb250ZW50KSkKKwllbHNlOgorCSAgICBsb2cud3JpdGUoIiAgICVzOiVzXG5cbiIgJSAodHlwZSwgY29udGVudCkpCisJaWYgZXJyb3JfbXNnICE9ICcnOgorCSAgICBsb2cud3JpdGUoIiAgIC0tLS1cbiVzICAgLS0tLVxuIiAlIChlcnJvcl9tc2cpKQorCSAgICBlcnJvcl9tc2cgPSAnJworCWxvZy53cml0ZSgiXG4iKQorCisgICAgcmV0dXJuIDAKKwkgICAgCisKK2RlZiBydW5UZXN0Q2FzZXMoY2FzZSk6CisgICAgcHJvZmlsZSA9IGNhc2UucHJvcCgnUFJPRklMRScpCisgICAgaWYgcHJvZmlsZSAhPSBOb25lIGFuZCBcCisgICAgICAgc3RyaW5nLmZpbmQocHJvZmlsZSwgIklCTSBYTUwgQ29uZm9ybWFuY2UgVGVzdCBTdWl0ZSAtIFByb2R1Y3Rpb24iKSA8IDA6CisJcHJpbnQgIj0+IiwgcHJvZmlsZQorICAgIHRlc3QgPSBjYXNlLmNoaWxkcmVuCisgICAgd2hpbGUgdGVzdCAhPSBOb25lOgorICAgICAgICBpZiB0ZXN0Lm5hbWUgPT0gJ1RFU1QnOgorCSAgICBydW5UZXN0KHRlc3QpCisJaWYgdGVzdC5uYW1lID09ICdURVNUQ0FTRVMnOgorCSAgICBydW5UZXN0Q2FzZXModGVzdCkKKyAgICAgICAgdGVzdCA9IHRlc3QubmV4dAorICAgICAgICAKK2NvbmYgPSBsb2FkTm9lbnREb2MoQ09ORikKK2lmIGNvbmYgPT0gTm9uZToKKyAgICBwcmludCAiVW5hYmxlIHRvIGxvYWQgJXMiICUgQ09ORgorICAgIHN5cy5leGl0KDEpCisKK3Rlc3RzdWl0ZSA9IGNvbmYuZ2V0Um9vdEVsZW1lbnQoKQoraWYgdGVzdHN1aXRlLm5hbWUgIT0gJ1RFU1RTVUlURSc6CisgICAgcHJpbnQgIkV4cGVjdGluZyBURVNUU1VJVEUgcm9vdCBlbGVtZW50OiBhYm9ydGluZyIKKyAgICBzeXMuZXhpdCgxKQorCitwcm9maWxlID0gdGVzdHN1aXRlLnByb3AoJ1BST0ZJTEUnKQoraWYgcHJvZmlsZSAhPSBOb25lOgorICAgIHByaW50IHByb2ZpbGUKKworc3RhcnQgPSB0aW1lLnRpbWUoKQorCitjYXNlID0gdGVzdHN1aXRlLmNoaWxkcmVuCit3aGlsZSBjYXNlICE9IE5vbmU6CisgICAgaWYgY2FzZS5uYW1lID09ICdURVNUQ0FTRVMnOgorCW9sZF90ZXN0X25yID0gdGVzdF9ucgorCW9sZF90ZXN0X3N1Y2NlZWQgPSB0ZXN0X3N1Y2NlZWQKKwlvbGRfdGVzdF9mYWlsZWQgPSB0ZXN0X2ZhaWxlZAorCW9sZF90ZXN0X2Vycm9yID0gdGVzdF9lcnJvcgorICAgICAgICBydW5UZXN0Q2FzZXMoY2FzZSkKKwlwcmludCAiICAgUmFuICVkIHRlc3RzOiAlZCBzdWNlZWRlZCwgJWQgZmFpbGVkIGFuZCAlZCBnZW5lcmF0ZWQgYW4gZXJyb3IiICUgKAorCSAgICAgICB0ZXN0X25yIC0gb2xkX3Rlc3RfbnIsIHRlc3Rfc3VjY2VlZCAtIG9sZF90ZXN0X3N1Y2NlZWQsCisJICAgICAgIHRlc3RfZmFpbGVkIC0gb2xkX3Rlc3RfZmFpbGVkLCB0ZXN0X2Vycm9yIC0gb2xkX3Rlc3RfZXJyb3IpCisgICAgY2FzZSA9IGNhc2UubmV4dAorCitjb25mLmZyZWVEb2MoKQorbG9nLmNsb3NlKCkKKworcHJpbnQgIlJhbiAlZCB0ZXN0czogJWQgc3VjZWVkZWQsICVkIGZhaWxlZCBhbmQgJWQgZ2VuZXJhdGVkIGFuIGVycm9yIGluICUuMmYgcy4iICUgKAorICAgICAgdGVzdF9uciwgdGVzdF9zdWNjZWVkLCB0ZXN0X2ZhaWxlZCwgdGVzdF9lcnJvciwgdGltZS50aW1lKCkgLSBzdGFydCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvY2hlY2steHNkZGF0YS10ZXN0LXN1aXRlLnB5IGIvbGlieG1sMi9jaGVjay14c2RkYXRhLXRlc3Qtc3VpdGUucHkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYzk0NjEyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvY2hlY2steHNkZGF0YS10ZXN0LXN1aXRlLnB5CkBAIC0wLDAgKzEsNDIwIEBACisjIS91c3IvYmluL3B5dGhvbgoraW1wb3J0IHN5cworaW1wb3J0IHRpbWUKK2ltcG9ydCBvcworaW1wb3J0IHN0cmluZworaW1wb3J0IFN0cmluZ0lPCitzeXMucGF0aC5pbnNlcnQoMCwgInB5dGhvbiIpCitpbXBvcnQgbGlieG1sMgorCisjIE1lbW9yeSBkZWJ1ZyBzcGVjaWZpYworbGlieG1sMi5kZWJ1Z01lbW9yeSgxKQorZGVidWcgPSAwCit2ZXJib3NlID0gMAorcXVpZXQgPSAxCisKKyMKKyMgdGhlIHRlc3RzdWl0ZSBkZXNjcmlwdGlvbgorIworQ09ORj1vcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSwgInRlc3QveHNkdGVzdC94c2R0ZXN0c3VpdGUueG1sIikKK0xPRz0iY2hlY2steHNkZGF0YS10ZXN0LXN1aXRlLmxvZyIKKworbG9nID0gb3BlbihMT0csICJ3IikKK25iX3NjaGVtYXNfdGVzdHMgPSAwCituYl9zY2hlbWFzX3N1Y2Nlc3MgPSAwCituYl9zY2hlbWFzX2ZhaWxlZCA9IDAKK25iX2luc3RhbmNlc190ZXN0cyA9IDAKK25iX2luc3RhbmNlc19zdWNjZXNzID0gMAorbmJfaW5zdGFuY2VzX2ZhaWxlZCA9IDAKKworbGlieG1sMi5saW5lTnVtYmVyc0RlZmF1bHQoMSkKKyMKKyMgRXJyb3IgYW5kIHdhcm5uZyBjYWxsYmFja3MKKyMKK2RlZiBjYWxsYmFjayhjdHgsIHN0cik6CisgICAgZ2xvYmFsIGxvZworICAgIGxvZy53cml0ZSgiJXMlcyIgJSAoY3R4LCBzdHIpKQorCitsaWJ4bWwyLnJlZ2lzdGVyRXJyb3JIYW5kbGVyKGNhbGxiYWNrLCAiIikKKworIworIyBSZXNvbHZlciBjYWxsYmFjaworIworcmVzb3VyY2VzID0ge30KK2RlZiByZXNvbHZlcihVUkwsIElELCBjdHh0KToKKyAgICBnbG9iYWwgcmVzb3VyY2VzCisKKyAgICBpZiByZXNvdXJjZXMuaGFzX2tleShVUkwpOgorICAgICAgICByZXR1cm4oU3RyaW5nSU8uU3RyaW5nSU8ocmVzb3VyY2VzW1VSTF0pKQorICAgIGxvZy53cml0ZSgiUmVzb2x2ZXIgZmFpbHVyZTogYXNrZWQgJXNcbiIgJSAoVVJMKSkKKyAgICBsb2cud3JpdGUoInJlc291cmNlczogJXNcbiIgJSAocmVzb3VyY2VzKSkKKyAgICByZXR1cm4gTm9uZQorCisjCisjIGhhbmRsZSBhIHZhbGlkIGluc3RhbmNlCisjCitkZWYgaGFuZGxlX3ZhbGlkKG5vZGUsIHNjaGVtYSk6CisgICAgZ2xvYmFsIGxvZworICAgIGdsb2JhbCBuYl9pbnN0YW5jZXNfc3VjY2VzcworICAgIGdsb2JhbCBuYl9pbnN0YW5jZXNfZmFpbGVkCisKKyAgICBpbnN0YW5jZSA9IG5vZGUucHJvcCgiZHRkIikKKyAgICBpZiBpbnN0YW5jZSA9PSBOb25lOgorICAgICAgICBpbnN0YW5jZSA9ICIiCisgICAgY2hpbGQgPSBub2RlLmNoaWxkcmVuCisgICAgd2hpbGUgY2hpbGQgIT0gTm9uZToKKyAgICAgICAgaWYgY2hpbGQudHlwZSAhPSAndGV4dCc6CisJICAgIGluc3RhbmNlID0gaW5zdGFuY2UgKyBjaGlsZC5zZXJpYWxpemUoKQorCWNoaWxkID0gY2hpbGQubmV4dAorCisgICAgbWVtID0gbGlieG1sMi5kZWJ1Z01lbW9yeSgxKTsKKyAgICB0cnk6CisJZG9jID0gbGlieG1sMi5wYXJzZURvYyhpbnN0YW5jZSkKKyAgICBleGNlcHQ6CisgICAgICAgIGRvYyA9IE5vbmUKKworICAgIGlmIGRvYyA9PSBOb25lOgorICAgICAgICBsb2cud3JpdGUoIlxuRmFpbGVkIHRvIHBhcnNlIGNvcnJlY3QgaW5zdGFuY2U6XG4tLS0tLVxuIikKKwlsb2cud3JpdGUoaW5zdGFuY2UpCisgICAgICAgIGxvZy53cml0ZSgiXG4tLS0tLVxuIikKKwluYl9pbnN0YW5jZXNfZmFpbGVkID0gbmJfaW5zdGFuY2VzX2ZhaWxlZCArIDEKKwlyZXR1cm4KKworICAgIGlmIGRlYnVnOgorICAgICAgICBwcmludCAiaW5zdGFuY2UgbGluZSAlZCIgJSAobm9kZS5saW5lTm8oKSkKKyAgICAgICAKKyAgICB0cnk6CisgICAgICAgIGN0eHQgPSBzY2hlbWEucmVsYXhOR05ld1ZhbGlkQ3R4dCgpCisJcmV0ID0gZG9jLnJlbGF4TkdWYWxpZGF0ZURvYyhjdHh0KQorCWRlbCBjdHh0CisgICAgZXhjZXB0OgorICAgICAgICByZXQgPSAtMQorCisgICAgZG9jLmZyZWVEb2MoKQorICAgIGlmIG1lbSAhPSBsaWJ4bWwyLmRlYnVnTWVtb3J5KDEpOgorCXByaW50ICJ2YWxpZGF0aW5nIGluc3RhbmNlICVkIGxpbmUgJWQgbGVha3MiICUgKAorCQkgIG5iX2luc3RhbmNlc190ZXN0cywgbm9kZS5saW5lTm8oKSkKKworICAgIGlmIHJldCAhPSAwOgorICAgICAgICBsb2cud3JpdGUoIlxuRmFpbGVkIHRvIHZhbGlkYXRlIGNvcnJlY3QgaW5zdGFuY2U6XG4tLS0tLVxuIikKKwlsb2cud3JpdGUoaW5zdGFuY2UpCisgICAgICAgIGxvZy53cml0ZSgiXG4tLS0tLVxuIikKKwluYl9pbnN0YW5jZXNfZmFpbGVkID0gbmJfaW5zdGFuY2VzX2ZhaWxlZCArIDEKKyAgICBlbHNlOgorCW5iX2luc3RhbmNlc19zdWNjZXNzID0gbmJfaW5zdGFuY2VzX3N1Y2Nlc3MgKyAxCisKKyMKKyMgaGFuZGxlIGFuIGludmFsaWQgaW5zdGFuY2UKKyMKK2RlZiBoYW5kbGVfaW52YWxpZChub2RlLCBzY2hlbWEpOgorICAgIGdsb2JhbCBsb2cKKyAgICBnbG9iYWwgbmJfaW5zdGFuY2VzX3N1Y2Nlc3MKKyAgICBnbG9iYWwgbmJfaW5zdGFuY2VzX2ZhaWxlZAorCisgICAgaW5zdGFuY2UgPSBub2RlLnByb3AoImR0ZCIpCisgICAgaWYgaW5zdGFuY2UgPT0gTm9uZToKKyAgICAgICAgaW5zdGFuY2UgPSAiIgorICAgIGNoaWxkID0gbm9kZS5jaGlsZHJlbgorICAgIHdoaWxlIGNoaWxkICE9IE5vbmU6CisgICAgICAgIGlmIGNoaWxkLnR5cGUgIT0gJ3RleHQnOgorCSAgICBpbnN0YW5jZSA9IGluc3RhbmNlICsgY2hpbGQuc2VyaWFsaXplKCkKKwljaGlsZCA9IGNoaWxkLm5leHQKKworIyAgICBtZW0gPSBsaWJ4bWwyLmRlYnVnTWVtb3J5KDEpOworCisgICAgdHJ5OgorCWRvYyA9IGxpYnhtbDIucGFyc2VEb2MoaW5zdGFuY2UpCisgICAgZXhjZXB0OgorICAgICAgICBkb2MgPSBOb25lCisKKyAgICBpZiBkb2MgPT0gTm9uZToKKyAgICAgICAgbG9nLndyaXRlKCJcblN0cmFuZ2U6IGZhaWxlZCB0byBwYXJzZSBpbmNvcnJlY3QgaW5zdGFuY2U6XG4tLS0tLVxuIikKKwlsb2cud3JpdGUoaW5zdGFuY2UpCisgICAgICAgIGxvZy53cml0ZSgiXG4tLS0tLVxuIikKKwlyZXR1cm4KKworICAgIGlmIGRlYnVnOgorICAgICAgICBwcmludCAiaW5zdGFuY2UgbGluZSAlZCIgJSAobm9kZS5saW5lTm8oKSkKKyAgICAgICAKKyAgICB0cnk6CisgICAgICAgIGN0eHQgPSBzY2hlbWEucmVsYXhOR05ld1ZhbGlkQ3R4dCgpCisJcmV0ID0gZG9jLnJlbGF4TkdWYWxpZGF0ZURvYyhjdHh0KQorCWRlbCBjdHh0CisKKyAgICBleGNlcHQ6CisgICAgICAgIHJldCA9IC0xCisKKyAgICBkb2MuZnJlZURvYygpCisjICAgIGlmIG1lbSAhPSBsaWJ4bWwyLmRlYnVnTWVtb3J5KDEpOgorIwlwcmludCAidmFsaWRhdGluZyBpbnN0YW5jZSAlZCBsaW5lICVkIGxlYWtzIiAlICgKKyMJCSAgbmJfaW5zdGFuY2VzX3Rlc3RzLCBub2RlLmxpbmVObygpKQorICAgIAorICAgIGlmIHJldCA9PSAwOgorICAgICAgICBsb2cud3JpdGUoIlxuRmFpbGVkIHRvIGRldGVjdCB2YWxpZGF0aW9uIHByb2JsZW0gaW4gaW5zdGFuY2U6XG4tLS0tLVxuIikKKwlsb2cud3JpdGUoaW5zdGFuY2UpCisgICAgICAgIGxvZy53cml0ZSgiXG4tLS0tLVxuIikKKwluYl9pbnN0YW5jZXNfZmFpbGVkID0gbmJfaW5zdGFuY2VzX2ZhaWxlZCArIDEKKyAgICBlbHNlOgorCW5iX2luc3RhbmNlc19zdWNjZXNzID0gbmJfaW5zdGFuY2VzX3N1Y2Nlc3MgKyAxCisKKyMKKyMgaGFuZGxlIGFuIGluY29ycmVjdCB0ZXN0CisjCitkZWYgaGFuZGxlX2NvcnJlY3Qobm9kZSk6CisgICAgZ2xvYmFsIGxvZworICAgIGdsb2JhbCBuYl9zY2hlbWFzX3N1Y2Nlc3MKKyAgICBnbG9iYWwgbmJfc2NoZW1hc19mYWlsZWQKKworICAgIHNjaGVtYSA9ICIiCisgICAgY2hpbGQgPSBub2RlLmNoaWxkcmVuCisgICAgd2hpbGUgY2hpbGQgIT0gTm9uZToKKyAgICAgICAgaWYgY2hpbGQudHlwZSAhPSAndGV4dCc6CisJICAgIHNjaGVtYSA9IHNjaGVtYSArIGNoaWxkLnNlcmlhbGl6ZSgpCisJY2hpbGQgPSBjaGlsZC5uZXh0CisKKyAgICB0cnk6CisJcm5ncCA9IGxpYnhtbDIucmVsYXhOR05ld01lbVBhcnNlckN0eHQoc2NoZW1hLCBsZW4oc2NoZW1hKSkKKwlybmdzID0gcm5ncC5yZWxheE5HUGFyc2UoKQorICAgIGV4Y2VwdDoKKyAgICAgICAgcm5ncyA9IE5vbmUKKyAgICBpZiBybmdzID09IE5vbmU6CisgICAgICAgIGxvZy53cml0ZSgiXG5GYWlsZWQgdG8gY29tcGlsZSBjb3JyZWN0IHNjaGVtYTpcbi0tLS0tXG4iKQorCWxvZy53cml0ZShzY2hlbWEpCisgICAgICAgIGxvZy53cml0ZSgiXG4tLS0tLVxuIikKKwluYl9zY2hlbWFzX2ZhaWxlZCA9IG5iX3NjaGVtYXNfZmFpbGVkICsgMQorICAgIGVsc2U6CisJbmJfc2NoZW1hc19zdWNjZXNzID0gbmJfc2NoZW1hc19zdWNjZXNzICsgMQorICAgIHJldHVybiBybmdzCisgICAgICAgIAorZGVmIGhhbmRsZV9pbmNvcnJlY3Qobm9kZSk6CisgICAgZ2xvYmFsIGxvZworICAgIGdsb2JhbCBuYl9zY2hlbWFzX3N1Y2Nlc3MKKyAgICBnbG9iYWwgbmJfc2NoZW1hc19mYWlsZWQKKworICAgIHNjaGVtYSA9ICIiCisgICAgY2hpbGQgPSBub2RlLmNoaWxkcmVuCisgICAgd2hpbGUgY2hpbGQgIT0gTm9uZToKKyAgICAgICAgaWYgY2hpbGQudHlwZSAhPSAndGV4dCc6CisJICAgIHNjaGVtYSA9IHNjaGVtYSArIGNoaWxkLnNlcmlhbGl6ZSgpCisJY2hpbGQgPSBjaGlsZC5uZXh0CisKKyAgICB0cnk6CisJcm5ncCA9IGxpYnhtbDIucmVsYXhOR05ld01lbVBhcnNlckN0eHQoc2NoZW1hLCBsZW4oc2NoZW1hKSkKKwlybmdzID0gcm5ncC5yZWxheE5HUGFyc2UoKQorICAgIGV4Y2VwdDoKKyAgICAgICAgcm5ncyA9IE5vbmUKKyAgICBpZiBybmdzICE9IE5vbmU6CisgICAgICAgIGxvZy53cml0ZSgiXG5GYWlsZWQgdG8gZGV0ZWN0IHNjaGVtYSBlcnJvciBpbjpcbi0tLS0tXG4iKQorCWxvZy53cml0ZShzY2hlbWEpCisgICAgICAgIGxvZy53cml0ZSgiXG4tLS0tLVxuIikKKwluYl9zY2hlbWFzX2ZhaWxlZCA9IG5iX3NjaGVtYXNfZmFpbGVkICsgMQorICAgIGVsc2U6CisjCWxvZy53cml0ZSgiXG5TdWNjZXNzIGRldGVjdGluZyBzY2hlbWEgZXJyb3IgaW46XG4tLS0tLVxuIikKKyMJbG9nLndyaXRlKHNjaGVtYSkKKyMJbG9nLndyaXRlKCJcbi0tLS0tXG4iKQorCW5iX3NjaGVtYXNfc3VjY2VzcyA9IG5iX3NjaGVtYXNfc3VjY2VzcyArIDEKKyAgICByZXR1cm4gTm9uZQorCisjCisjIHJlc291cmNlIGhhbmRsaW5nOiBrZWVwIGEgZGljdGlvbmFyeSBvZiBVUkwtPnN0cmluZyBtYXBwaW5ncworIworZGVmIGhhbmRsZV9yZXNvdXJjZShub2RlLCBkaXIpOgorICAgIGdsb2JhbCByZXNvdXJjZXMKKworICAgIHRyeToKKwluYW1lID0gbm9kZS5wcm9wKCduYW1lJykKKyAgICBleGNlcHQ6CisgICAgICAgIG5hbWUgPSBOb25lCisKKyAgICBpZiBuYW1lID09IE5vbmUgb3IgbmFtZSA9PSAnJzoKKyAgICAgICAgbG9nLndyaXRlKCJyZXNvdXJjZSBoYXMgbm8gbmFtZSIpCisJcmV0dXJuOworICAgICAgICAKKyAgICBpZiBkaXIgIT0gTm9uZToKKyMgICAgICAgIG5hbWUgPSBsaWJ4bWwyLmJ1aWxkVVJJKG5hbWUsIGRpcikKKyAgICAgICAgbmFtZSA9IGRpciArICcvJyArIG5hbWUKKworICAgIHJlcyA9ICIiCisgICAgY2hpbGQgPSBub2RlLmNoaWxkcmVuCisgICAgd2hpbGUgY2hpbGQgIT0gTm9uZToKKyAgICAgICAgaWYgY2hpbGQudHlwZSAhPSAndGV4dCc6CisJICAgIHJlcyA9IHJlcyArIGNoaWxkLnNlcmlhbGl6ZSgpCisJY2hpbGQgPSBjaGlsZC5uZXh0CisgICAgcmVzb3VyY2VzW25hbWVdID0gcmVzCisKKyMKKyMgZGlyIGhhbmRsaW5nOiBwc2V1ZG8gZGlyZWN0b3J5IHJlc291cmNlcworIworZGVmIGhhbmRsZV9kaXIobm9kZSwgZGlyKToKKyAgICB0cnk6CisJbmFtZSA9IG5vZGUucHJvcCgnbmFtZScpCisgICAgZXhjZXB0OgorICAgICAgICBuYW1lID0gTm9uZQorCisgICAgaWYgbmFtZSA9PSBOb25lIG9yIG5hbWUgPT0gJyc6CisgICAgICAgIGxvZy53cml0ZSgicmVzb3VyY2UgaGFzIG5vIG5hbWUiKQorCXJldHVybjsKKyAgICAgICAgCisgICAgaWYgZGlyICE9IE5vbmU6CisjICAgICAgICBuYW1lID0gbGlieG1sMi5idWlsZFVSSShuYW1lLCBkaXIpCisgICAgICAgIG5hbWUgPSBkaXIgKyAnLycgKyBuYW1lCisKKyAgICBkaXJzID0gbm9kZS54cGF0aEV2YWwoJ2RpcicpCisgICAgZm9yIGRpciBpbiBkaXJzOgorICAgICAgICBoYW5kbGVfZGlyKGRpciwgbmFtZSkKKyAgICByZXMgPSBub2RlLnhwYXRoRXZhbCgncmVzb3VyY2UnKQorICAgIGZvciByIGluIHJlczoKKyAgICAgICAgaGFuZGxlX3Jlc291cmNlKHIsIG5hbWUpCisKKyMKKyMgaGFuZGxlIGEgdGVzdENhc2UgZWxlbWVudAorIworZGVmIGhhbmRsZV90ZXN0Q2FzZShub2RlKToKKyAgICBnbG9iYWwgbmJfc2NoZW1hc190ZXN0cworICAgIGdsb2JhbCBuYl9pbnN0YW5jZXNfdGVzdHMKKyAgICBnbG9iYWwgcmVzb3VyY2VzCisKKyAgICBzZWN0aW9ucyA9IG5vZGUueHBhdGhFdmFsKCdzdHJpbmcoc2VjdGlvbiknKQorICAgIGxvZy53cml0ZSgiXG4gICAgPT09PT09PT0gdGVzdCAlZCBsaW5lICVkIHNlY3Rpb24gJXMgPT09PT09PT09PVxuIiAlICgKKworICAgICAgICAgICAgICBuYl9zY2hlbWFzX3Rlc3RzLCBub2RlLmxpbmVObygpLCBzZWN0aW9ucykpCisgICAgcmVzb3VyY2VzID0ge30KKyAgICBpZiBkZWJ1ZzoKKyAgICAgICAgcHJpbnQgInRlc3QgJWQgbGluZSAlZCIgJSAobmJfc2NoZW1hc190ZXN0cywgbm9kZS5saW5lTm8oKSkKKworICAgIGRpcnMgPSBub2RlLnhwYXRoRXZhbCgnZGlyJykKKyAgICBmb3IgZGlyIGluIGRpcnM6CisgICAgICAgIGhhbmRsZV9kaXIoZGlyLCBOb25lKQorICAgIHJlcyA9IG5vZGUueHBhdGhFdmFsKCdyZXNvdXJjZScpCisgICAgZm9yIHIgaW4gcmVzOgorICAgICAgICBoYW5kbGVfcmVzb3VyY2UociwgTm9uZSkKKworICAgIHRzdHMgPSBub2RlLnhwYXRoRXZhbCgnaW5jb3JyZWN0JykKKyAgICBpZiB0c3RzICE9IFtdOgorICAgICAgICBpZiBsZW4odHN0cykgIT0gMToKKwkgICAgcHJpbnQgIndhcm5pbmcgdGVzdCBsaW5lICVkIGhhcyBtb3JlIHRoYW4gb25lIDxpbmNvcnJlY3Q+IGV4YW1wbGUiICUobm9kZS5saW5lTm8oKSkKKwlzY2hlbWEgPSBoYW5kbGVfaW5jb3JyZWN0KHRzdHNbMF0pCisgICAgZWxzZToKKyAgICAgICAgdHN0cyA9IG5vZGUueHBhdGhFdmFsKCdjb3JyZWN0JykKKwlpZiB0c3RzICE9IFtdOgorCSAgICBpZiBsZW4odHN0cykgIT0gMToKKwkJcHJpbnQgIndhcm5pbmcgdGVzdCBsaW5lICVkIGhhcyBtb3JlIHRoYW4gb25lIDxjb3JyZWN0PiBleGFtcGxlIiUgKG5vZGUubGluZU5vKCkpCisJICAgIHNjaGVtYSA9IGhhbmRsZV9jb3JyZWN0KHRzdHNbMF0pCisJZWxzZToKKwkgICAgcHJpbnQgIndhcm5pbmcgPHRlc3RDYXNlPiBsaW5lICVkIGhhcyBubyA8Y29ycmVjdD4gbm9yIDxpbmNvcnJlY3Q+IGNoaWxkIiAlIChub2RlLmxpbmVObygpKQorCisgICAgbmJfc2NoZW1hc190ZXN0cyA9IG5iX3NjaGVtYXNfdGVzdHMgKyAxOworICAgIAorICAgIHZhbGlkcyA9IG5vZGUueHBhdGhFdmFsKCd2YWxpZCcpCisgICAgaW52YWxpZHMgPSBub2RlLnhwYXRoRXZhbCgnaW52YWxpZCcpCisgICAgbmJfaW5zdGFuY2VzX3Rlc3RzID0gbmJfaW5zdGFuY2VzX3Rlc3RzICsgbGVuKHZhbGlkcykgKyBsZW4oaW52YWxpZHMpCisgICAgaWYgc2NoZW1hICE9IE5vbmU6CisgICAgICAgIGZvciB2YWxpZCBpbiB2YWxpZHM6CisJICAgIGhhbmRsZV92YWxpZCh2YWxpZCwgc2NoZW1hKQorICAgICAgICBmb3IgaW52YWxpZCBpbiBpbnZhbGlkczoKKwkgICAgaGFuZGxlX2ludmFsaWQoaW52YWxpZCwgc2NoZW1hKQorCisKKyMKKyMgaGFuZGxlIGEgdGVzdFN1aXRlIGVsZW1lbnQKKyMKK2RlZiBoYW5kbGVfdGVzdFN1aXRlKG5vZGUsIGxldmVsID0gMCk6CisgICAgZ2xvYmFsIG5iX3NjaGVtYXNfdGVzdHMsIG5iX3NjaGVtYXNfc3VjY2VzcywgbmJfc2NoZW1hc19mYWlsZWQKKyAgICBnbG9iYWwgbmJfaW5zdGFuY2VzX3Rlc3RzLCBuYl9pbnN0YW5jZXNfc3VjY2VzcywgbmJfaW5zdGFuY2VzX2ZhaWxlZAorICAgIGlmIHZlcmJvc2UgYW5kIGxldmVsID49IDA6CisJb2xkX3NjaGVtYXNfdGVzdHMgPSBuYl9zY2hlbWFzX3Rlc3RzCisJb2xkX3NjaGVtYXNfc3VjY2VzcyA9IG5iX3NjaGVtYXNfc3VjY2VzcworCW9sZF9zY2hlbWFzX2ZhaWxlZCA9IG5iX3NjaGVtYXNfZmFpbGVkCisJb2xkX2luc3RhbmNlc190ZXN0cyA9IG5iX2luc3RhbmNlc190ZXN0cworCW9sZF9pbnN0YW5jZXNfc3VjY2VzcyA9IG5iX2luc3RhbmNlc19zdWNjZXNzCisJb2xkX2luc3RhbmNlc19mYWlsZWQgPSBuYl9pbnN0YW5jZXNfZmFpbGVkCisKKyAgICBkb2NzID0gbm9kZS54cGF0aEV2YWwoJ2RvY3VtZW50YXRpb24nKQorICAgIGF1dGhvcnMgPSBub2RlLnhwYXRoRXZhbCgnYXV0aG9yJykKKyAgICBpZiBkb2NzICE9IFtdOgorICAgICAgICBtc2cgPSAiIgorICAgICAgICBmb3IgZG9jIGluIGRvY3M6CisJICAgIG1zZyA9IG1zZyArIGRvYy5jb250ZW50ICsgIiAiCisJaWYgYXV0aG9ycyAhPSBbXToKKwkgICAgbXNnID0gbXNnICsgIndyaXR0ZW4gYnkgIgorCSAgICBmb3IgYXV0aG9yIGluIGF1dGhvcnM6CisJICAgICAgICBtc2cgPSBtc2cgKyBhdXRob3IuY29udGVudCArICIgIgorCWlmIHF1aWV0ID09IDA6CisJICAgIHByaW50IG1zZworICAgIHNlY3Rpb25zID0gbm9kZS54cGF0aEV2YWwoJ3NlY3Rpb24nKQorICAgIGlmIHZlcmJvc2UgYW5kIHNlY3Rpb25zICE9IFtdIGFuZCBsZXZlbCA8PSAwOgorICAgICAgICBtc2cgPSAiIgorICAgICAgICBmb3Igc2VjdGlvbiBpbiBzZWN0aW9uczoKKwkgICAgbXNnID0gbXNnICsgc2VjdGlvbi5jb250ZW50ICsgIiAiCisJaWYgcXVpZXQgPT0gMDoKKwkgICAgcHJpbnQgIlRlc3RzIGZvciBzZWN0aW9uICVzIiAlIChtc2cpCisgICAgZm9yIHRlc3QgaW4gbm9kZS54cGF0aEV2YWwoJ3Rlc3RDYXNlJyk6CisgICAgICAgIGhhbmRsZV90ZXN0Q2FzZSh0ZXN0KQorICAgIGZvciB0ZXN0IGluIG5vZGUueHBhdGhFdmFsKCd0ZXN0U3VpdGUnKToKKyAgICAgICAgaGFuZGxlX3Rlc3RTdWl0ZSh0ZXN0LCBsZXZlbCArIDEpCisJICAgICAgICAKKworICAgIGlmIHZlcmJvc2UgYW5kIGxldmVsID49IDAgOgorICAgICAgICBpZiBzZWN0aW9ucyAhPSBbXToKKwkgICAgbXNnID0gIiIKKwkgICAgZm9yIHNlY3Rpb24gaW4gc2VjdGlvbnM6CisJCW1zZyA9IG1zZyArIHNlY3Rpb24uY29udGVudCArICIgIgorCSAgICBwcmludCAiUmVzdWx0IG9mIHRlc3RzIGZvciBzZWN0aW9uICVzIiAlIChtc2cpCisJZWxpZiBkb2NzICE9IFtdOgorCSAgICBtc2cgPSAiIgorCSAgICBmb3IgZG9jIGluIGRvY3M6CisJICAgICAgICBtc2cgPSBtc2cgKyBkb2MuY29udGVudCArICIgIgorCSAgICBwcmludCAiUmVzdWx0IG9mIHRlc3RzIGZvciAlcyIgJSAobXNnKQorCisgICAgICAgIGlmIG5iX3NjaGVtYXNfdGVzdHMgIT0gb2xkX3NjaGVtYXNfdGVzdHM6CisJICAgIHByaW50ICJmb3VuZCAlZCB0ZXN0IHNjaGVtYXM6ICVkIHN1Y2Nlc3MgJWQgZmFpbHVyZXMiICUgKAorCQkgIG5iX3NjaGVtYXNfdGVzdHMgLSBvbGRfc2NoZW1hc190ZXN0cywKKwkJICBuYl9zY2hlbWFzX3N1Y2Nlc3MgLSBvbGRfc2NoZW1hc19zdWNjZXNzLAorCQkgIG5iX3NjaGVtYXNfZmFpbGVkIC0gb2xkX3NjaGVtYXNfZmFpbGVkKQorCWlmIG5iX2luc3RhbmNlc190ZXN0cyAhPSBvbGRfaW5zdGFuY2VzX3Rlc3RzOgorCSAgICBwcmludCAiZm91bmQgJWQgdGVzdCBpbnN0YW5jZXM6ICVkIHN1Y2Nlc3MgJWQgZmFpbHVyZXMiICUgKAorCQkgIG5iX2luc3RhbmNlc190ZXN0cyAtIG9sZF9pbnN0YW5jZXNfdGVzdHMsCisJCSAgbmJfaW5zdGFuY2VzX3N1Y2Nlc3MgLSBvbGRfaW5zdGFuY2VzX3N1Y2Nlc3MsCisJCSAgbmJfaW5zdGFuY2VzX2ZhaWxlZCAtIG9sZF9pbnN0YW5jZXNfZmFpbGVkKQorIworIyBQYXJzZSB0aGUgY29uZiBmaWxlCisjCitsaWJ4bWwyLnN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHQoMSk7Cit0ZXN0c3VpdGUgPSBsaWJ4bWwyLnBhcnNlRmlsZShDT05GKQorCisjCisjIEVycm9yIGFuZCB3YXJubmcgY2FsbGJhY2tzCisjCitkZWYgY2FsbGJhY2soY3R4LCBzdHIpOgorICAgIGdsb2JhbCBsb2cKKyAgICBsb2cud3JpdGUoIiVzJXMiICUgKGN0eCwgc3RyKSkKKworbGlieG1sMi5yZWdpc3RlckVycm9ySGFuZGxlcihjYWxsYmFjaywgIiIpCisKK2xpYnhtbDIuc2V0RW50aXR5TG9hZGVyKHJlc29sdmVyKQorcm9vdCA9IHRlc3RzdWl0ZS5nZXRSb290RWxlbWVudCgpCitpZiByb290Lm5hbWUgIT0gJ3Rlc3RTdWl0ZSc6CisgICAgcHJpbnQgIiVzIGRvZXNuJ3Qgc3RhcnQgd2l0aCBhIHRlc3RTdWl0ZSBlbGVtZW50LCBhYm9ydGluZyIgJSAoQ09ORikKKyAgICBzeXMuZXhpdCgxKQoraWYgcXVpZXQgPT0gMDoKKyAgICBwcmludCAiUnVubmluZyBSZWxheCBORyB0ZXN0c3VpdGUiCitoYW5kbGVfdGVzdFN1aXRlKHJvb3QpCisKK2lmIHF1aWV0ID09IDAgb3IgbmJfc2NoZW1hc19mYWlsZWQgIT0gMDoKKyAgICBwcmludCAiXG5UT1RBTDpcbmZvdW5kICVkIHRlc3Qgc2NoZW1hczogJWQgc3VjY2VzcyAlZCBmYWlsdXJlcyIgJSAoCisgICAgICBuYl9zY2hlbWFzX3Rlc3RzLCBuYl9zY2hlbWFzX3N1Y2Nlc3MsIG5iX3NjaGVtYXNfZmFpbGVkKQoraWYgcXVpZXQgPT0gMCBvciBuYl9pbnN0YW5jZXNfZmFpbGVkICE9IDA6CisgICAgcHJpbnQgImZvdW5kICVkIHRlc3QgaW5zdGFuY2VzOiAlZCBzdWNjZXNzICVkIGZhaWx1cmVzIiAlICgKKyAgICAgIG5iX2luc3RhbmNlc190ZXN0cywgbmJfaW5zdGFuY2VzX3N1Y2Nlc3MsIG5iX2luc3RhbmNlc19mYWlsZWQpCisKK3Rlc3RzdWl0ZS5mcmVlRG9jKCkKKworIyBNZW1vcnkgZGVidWcgc3BlY2lmaWMKK2xpYnhtbDIucmVsYXhOR0NsZWFudXBUeXBlcygpCitsaWJ4bWwyLmNsZWFudXBQYXJzZXIoKQoraWYgbGlieG1sMi5kZWJ1Z01lbW9yeSgxKSA9PSAwOgorICAgIGlmIHF1aWV0ID09IDA6CisJcHJpbnQgIk9LIgorZWxzZToKKyAgICBwcmludCAiTWVtb3J5IGxlYWsgJWQgYnl0ZXMiICUgKGxpYnhtbDIuZGVidWdNZW1vcnkoMSkpCisgICAgbGlieG1sMi5kdW1wTWVtb3J5KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvY2h2YWxpZC5jIGIvbGlieG1sMi9jaHZhbGlkLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDZlOGRiMAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvY2h2YWxpZC5jCkBAIC0wLDAgKzEsMzM2IEBACisvKgorICogY2h2YWxpZC5jOgl0aGlzIG1vZHVsZSBpbXBsZW1lbnRzIHRoZSBjaGFyYWN0ZXIgcmFuZ2UKKyAqCQl2YWxpZGF0aW9uIEFQSXMKKyAqCisgKiBUaGlzIGZpbGUgaXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgY3ZzIHNvdXJjZQorICogZGVmaW5pdGlvbiBmaWxlcyB1c2luZyB0aGUgZ2VuQ2hSYW5nZXMucHkgUHl0aG9uIHNjcmlwdAorICoKKyAqIEdlbmVyYXRpb24gZGF0ZTogTW9uIE1hciAyNyAxMTowOTo0OCAyMDA2CisgKiBTb3VyY2VzOiBjaHZhbGlkLmRlZgorICogV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisgKi8KKworI2RlZmluZSBJTl9MSUJYTUwKKyNpbmNsdWRlICJsaWJ4bWwuaCIKKyNpbmNsdWRlIDxsaWJ4bWwvY2h2YWxpZC5oPgorCisvKgorICogVGhlIGluaXRpYWwgdGFibGVzICh7ZnVuY19uYW1lfV90YWIpIGFyZSB1c2VkIHRvIHZhbGlkYXRlIHdoZXRoZXIgYQorICogc2luZ2xlLWJ5dGUgY2hhcmFjdGVyIGlzIHdpdGhpbiB0aGUgc3BlY2lmaWVkIGdyb3VwLiAgRWFjaCB0YWJsZQorICogY29udGFpbnMgMjU2IGJ5dGVzLCB3aXRoIGVhY2ggYnl0ZSByZXByZXNlbnRpbmcgb25lIG9mIHRoZSAyNTYKKyAqIHBvc3NpYmxlIGNoYXJhY3RlcnMuICBJZiB0aGUgdGFibGUgYnl0ZSBpcyBzZXQsIHRoZSBjaGFyYWN0ZXIgaXMKKyAqIGFsbG93ZWQuCisgKgorICovCitjb25zdCB1bnNpZ25lZCBjaGFyIHhtbElzUHViaWRDaGFyX3RhYlsyNTZdID0geworICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDEsIDB4MDAsCisgICAgMHgwMCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKyAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAxLCAweDAxLCAweDAwLCAweDAxLAorICAgIDB4MDEsIDB4MDEsIDB4MDAsIDB4MDEsIDB4MDEsIDB4MDEsIDB4MDEsIDB4MDEsIDB4MDEsIDB4MDEsIDB4MDEsIDB4MDEsCisgICAgMHgwMSwgMHgwMSwgMHgwMSwgMHgwMSwgMHgwMSwgMHgwMSwgMHgwMSwgMHgwMSwgMHgwMSwgMHgwMSwgMHgwMSwgMHgwMSwKKyAgICAweDAwLCAweDAxLCAweDAwLCAweDAxLCAweDAxLCAweDAxLCAweDAxLCAweDAxLCAweDAxLCAweDAxLCAweDAxLCAweDAxLAorICAgIDB4MDEsIDB4MDEsIDB4MDEsIDB4MDEsIDB4MDEsIDB4MDEsIDB4MDEsIDB4MDEsIDB4MDEsIDB4MDEsIDB4MDEsIDB4MDEsCisgICAgMHgwMSwgMHgwMSwgMHgwMSwgMHgwMSwgMHgwMSwgMHgwMSwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwKKyAgICAweDAwLCAweDAxLCAweDAxLCAweDAxLCAweDAxLCAweDAxLCAweDAxLCAweDAxLCAweDAxLCAweDAxLCAweDAxLCAweDAxLAorICAgIDB4MDEsIDB4MDEsIDB4MDEsIDB4MDEsIDB4MDEsIDB4MDEsIDB4MDEsIDB4MDEsIDB4MDEsIDB4MDEsIDB4MDEsIDB4MDEsCisgICAgMHgwMSwgMHgwMSwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKyAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAorICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKyAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAorICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKyAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAorICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKyAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAorICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAgfTsKKworc3RhdGljIGNvbnN0IHhtbENoU1JhbmdlIHhtbElzQmFzZUNoYXJfc3JuZ1tdID0geyB7MHgxMDAsIDB4MTMxfSwKKyAgICB7MHgxMzQsIDB4MTNlfSwgezB4MTQxLCAweDE0OH0sIHsweDE0YSwgMHgxN2V9LCB7MHgxODAsIDB4MWMzfSwKKyAgICB7MHgxY2QsIDB4MWYwfSwgezB4MWY0LCAweDFmNX0sIHsweDFmYSwgMHgyMTd9LCB7MHgyNTAsIDB4MmE4fSwKKyAgICB7MHgyYmIsIDB4MmMxfSwgezB4Mzg2LCAweDM4Nn0sIHsweDM4OCwgMHgzOGF9LCB7MHgzOGMsIDB4MzhjfSwKKyAgICB7MHgzOGUsIDB4M2ExfSwgezB4M2EzLCAweDNjZX0sIHsweDNkMCwgMHgzZDZ9LCB7MHgzZGEsIDB4M2RhfSwKKyAgICB7MHgzZGMsIDB4M2RjfSwgezB4M2RlLCAweDNkZX0sIHsweDNlMCwgMHgzZTB9LCB7MHgzZTIsIDB4M2YzfSwKKyAgICB7MHg0MDEsIDB4NDBjfSwgezB4NDBlLCAweDQ0Zn0sIHsweDQ1MSwgMHg0NWN9LCB7MHg0NWUsIDB4NDgxfSwKKyAgICB7MHg0OTAsIDB4NGM0fSwgezB4NGM3LCAweDRjOH0sIHsweDRjYiwgMHg0Y2N9LCB7MHg0ZDAsIDB4NGVifSwKKyAgICB7MHg0ZWUsIDB4NGY1fSwgezB4NGY4LCAweDRmOX0sIHsweDUzMSwgMHg1NTZ9LCB7MHg1NTksIDB4NTU5fSwKKyAgICB7MHg1NjEsIDB4NTg2fSwgezB4NWQwLCAweDVlYX0sIHsweDVmMCwgMHg1ZjJ9LCB7MHg2MjEsIDB4NjNhfSwKKyAgICB7MHg2NDEsIDB4NjRhfSwgezB4NjcxLCAweDZiN30sIHsweDZiYSwgMHg2YmV9LCB7MHg2YzAsIDB4NmNlfSwKKyAgICB7MHg2ZDAsIDB4NmQzfSwgezB4NmQ1LCAweDZkNX0sIHsweDZlNSwgMHg2ZTZ9LCB7MHg5MDUsIDB4OTM5fSwKKyAgICB7MHg5M2QsIDB4OTNkfSwgezB4OTU4LCAweDk2MX0sIHsweDk4NSwgMHg5OGN9LCB7MHg5OGYsIDB4OTkwfSwKKyAgICB7MHg5OTMsIDB4OWE4fSwgezB4OWFhLCAweDliMH0sIHsweDliMiwgMHg5YjJ9LCB7MHg5YjYsIDB4OWI5fSwKKyAgICB7MHg5ZGMsIDB4OWRkfSwgezB4OWRmLCAweDllMX0sIHsweDlmMCwgMHg5ZjF9LCB7MHhhMDUsIDB4YTBhfSwKKyAgICB7MHhhMGYsIDB4YTEwfSwgezB4YTEzLCAweGEyOH0sIHsweGEyYSwgMHhhMzB9LCB7MHhhMzIsIDB4YTMzfSwKKyAgICB7MHhhMzUsIDB4YTM2fSwgezB4YTM4LCAweGEzOX0sIHsweGE1OSwgMHhhNWN9LCB7MHhhNWUsIDB4YTVlfSwKKyAgICB7MHhhNzIsIDB4YTc0fSwgezB4YTg1LCAweGE4Yn0sIHsweGE4ZCwgMHhhOGR9LCB7MHhhOGYsIDB4YTkxfSwKKyAgICB7MHhhOTMsIDB4YWE4fSwgezB4YWFhLCAweGFiMH0sIHsweGFiMiwgMHhhYjN9LCB7MHhhYjUsIDB4YWI5fSwKKyAgICB7MHhhYmQsIDB4YWJkfSwgezB4YWUwLCAweGFlMH0sIHsweGIwNSwgMHhiMGN9LCB7MHhiMGYsIDB4YjEwfSwKKyAgICB7MHhiMTMsIDB4YjI4fSwgezB4YjJhLCAweGIzMH0sIHsweGIzMiwgMHhiMzN9LCB7MHhiMzYsIDB4YjM5fSwKKyAgICB7MHhiM2QsIDB4YjNkfSwgezB4YjVjLCAweGI1ZH0sIHsweGI1ZiwgMHhiNjF9LCB7MHhiODUsIDB4YjhhfSwKKyAgICB7MHhiOGUsIDB4YjkwfSwgezB4YjkyLCAweGI5NX0sIHsweGI5OSwgMHhiOWF9LCB7MHhiOWMsIDB4YjljfSwKKyAgICB7MHhiOWUsIDB4YjlmfSwgezB4YmEzLCAweGJhNH0sIHsweGJhOCwgMHhiYWF9LCB7MHhiYWUsIDB4YmI1fSwKKyAgICB7MHhiYjcsIDB4YmI5fSwgezB4YzA1LCAweGMwY30sIHsweGMwZSwgMHhjMTB9LCB7MHhjMTIsIDB4YzI4fSwKKyAgICB7MHhjMmEsIDB4YzMzfSwgezB4YzM1LCAweGMzOX0sIHsweGM2MCwgMHhjNjF9LCB7MHhjODUsIDB4YzhjfSwKKyAgICB7MHhjOGUsIDB4YzkwfSwgezB4YzkyLCAweGNhOH0sIHsweGNhYSwgMHhjYjN9LCB7MHhjYjUsIDB4Y2I5fSwKKyAgICB7MHhjZGUsIDB4Y2RlfSwgezB4Y2UwLCAweGNlMX0sIHsweGQwNSwgMHhkMGN9LCB7MHhkMGUsIDB4ZDEwfSwKKyAgICB7MHhkMTIsIDB4ZDI4fSwgezB4ZDJhLCAweGQzOX0sIHsweGQ2MCwgMHhkNjF9LCB7MHhlMDEsIDB4ZTJlfSwKKyAgICB7MHhlMzAsIDB4ZTMwfSwgezB4ZTMyLCAweGUzM30sIHsweGU0MCwgMHhlNDV9LCB7MHhlODEsIDB4ZTgyfSwKKyAgICB7MHhlODQsIDB4ZTg0fSwgezB4ZTg3LCAweGU4OH0sIHsweGU4YSwgMHhlOGF9LCB7MHhlOGQsIDB4ZThkfSwKKyAgICB7MHhlOTQsIDB4ZTk3fSwgezB4ZTk5LCAweGU5Zn0sIHsweGVhMSwgMHhlYTN9LCB7MHhlYTUsIDB4ZWE1fSwKKyAgICB7MHhlYTcsIDB4ZWE3fSwgezB4ZWFhLCAweGVhYn0sIHsweGVhZCwgMHhlYWV9LCB7MHhlYjAsIDB4ZWIwfSwKKyAgICB7MHhlYjIsIDB4ZWIzfSwgezB4ZWJkLCAweGViZH0sIHsweGVjMCwgMHhlYzR9LCB7MHhmNDAsIDB4ZjQ3fSwKKyAgICB7MHhmNDksIDB4ZjY5fSwgezB4MTBhMCwgMHgxMGM1fSwgezB4MTBkMCwgMHgxMGY2fSwgezB4MTEwMCwgMHgxMTAwfSwKKyAgICB7MHgxMTAyLCAweDExMDN9LCB7MHgxMTA1LCAweDExMDd9LCB7MHgxMTA5LCAweDExMDl9LCB7MHgxMTBiLCAweDExMGN9LAorICAgIHsweDExMGUsIDB4MTExMn0sIHsweDExM2MsIDB4MTEzY30sIHsweDExM2UsIDB4MTEzZX0sIHsweDExNDAsIDB4MTE0MH0sCisgICAgezB4MTE0YywgMHgxMTRjfSwgezB4MTE0ZSwgMHgxMTRlfSwgezB4MTE1MCwgMHgxMTUwfSwgezB4MTE1NCwgMHgxMTU1fSwKKyAgICB7MHgxMTU5LCAweDExNTl9LCB7MHgxMTVmLCAweDExNjF9LCB7MHgxMTYzLCAweDExNjN9LCB7MHgxMTY1LCAweDExNjV9LAorICAgIHsweDExNjcsIDB4MTE2N30sIHsweDExNjksIDB4MTE2OX0sIHsweDExNmQsIDB4MTE2ZX0sIHsweDExNzIsIDB4MTE3M30sCisgICAgezB4MTE3NSwgMHgxMTc1fSwgezB4MTE5ZSwgMHgxMTllfSwgezB4MTFhOCwgMHgxMWE4fSwgezB4MTFhYiwgMHgxMWFifSwKKyAgICB7MHgxMWFlLCAweDExYWZ9LCB7MHgxMWI3LCAweDExYjh9LCB7MHgxMWJhLCAweDExYmF9LCB7MHgxMWJjLCAweDExYzJ9LAorICAgIHsweDExZWIsIDB4MTFlYn0sIHsweDExZjAsIDB4MTFmMH0sIHsweDExZjksIDB4MTFmOX0sIHsweDFlMDAsIDB4MWU5Yn0sCisgICAgezB4MWVhMCwgMHgxZWY5fSwgezB4MWYwMCwgMHgxZjE1fSwgezB4MWYxOCwgMHgxZjFkfSwgezB4MWYyMCwgMHgxZjQ1fSwKKyAgICB7MHgxZjQ4LCAweDFmNGR9LCB7MHgxZjUwLCAweDFmNTd9LCB7MHgxZjU5LCAweDFmNTl9LCB7MHgxZjViLCAweDFmNWJ9LAorICAgIHsweDFmNWQsIDB4MWY1ZH0sIHsweDFmNWYsIDB4MWY3ZH0sIHsweDFmODAsIDB4MWZiNH0sIHsweDFmYjYsIDB4MWZiY30sCisgICAgezB4MWZiZSwgMHgxZmJlfSwgezB4MWZjMiwgMHgxZmM0fSwgezB4MWZjNiwgMHgxZmNjfSwgezB4MWZkMCwgMHgxZmQzfSwKKyAgICB7MHgxZmQ2LCAweDFmZGJ9LCB7MHgxZmUwLCAweDFmZWN9LCB7MHgxZmYyLCAweDFmZjR9LCB7MHgxZmY2LCAweDFmZmN9LAorICAgIHsweDIxMjYsIDB4MjEyNn0sIHsweDIxMmEsIDB4MjEyYn0sIHsweDIxMmUsIDB4MjEyZX0sIHsweDIxODAsIDB4MjE4Mn0sCisgICAgezB4MzA0MSwgMHgzMDk0fSwgezB4MzBhMSwgMHgzMGZhfSwgezB4MzEwNSwgMHgzMTJjfSwgezB4YWMwMCwgMHhkN2EzfX07Citjb25zdCB4bWxDaFJhbmdlR3JvdXAgeG1sSXNCYXNlQ2hhckdyb3VwID0KKwl7MTk3LCAwLCB4bWxJc0Jhc2VDaGFyX3NybmcsICh4bWxDaExSYW5nZVB0cikwfTsKKworc3RhdGljIGNvbnN0IHhtbENoU1JhbmdlIHhtbElzQ2hhcl9zcm5nW10gPSB7IHsweDEwMCwgMHhkN2ZmfSwKKyAgICB7MHhlMDAwLCAweGZmZmR9fTsKK3N0YXRpYyBjb25zdCB4bWxDaExSYW5nZSB4bWxJc0NoYXJfbHJuZ1tdID0geyB7MHgxMDAwMCwgMHgxMGZmZmZ9fTsKK2NvbnN0IHhtbENoUmFuZ2VHcm91cCB4bWxJc0NoYXJHcm91cCA9CisJezIsIDEsIHhtbElzQ2hhcl9zcm5nLCB4bWxJc0NoYXJfbHJuZ307CisKK3N0YXRpYyBjb25zdCB4bWxDaFNSYW5nZSB4bWxJc0NvbWJpbmluZ19zcm5nW10gPSB7IHsweDMwMCwgMHgzNDV9LAorICAgIHsweDM2MCwgMHgzNjF9LCB7MHg0ODMsIDB4NDg2fSwgezB4NTkxLCAweDVhMX0sIHsweDVhMywgMHg1Yjl9LAorICAgIHsweDViYiwgMHg1YmR9LCB7MHg1YmYsIDB4NWJmfSwgezB4NWMxLCAweDVjMn0sIHsweDVjNCwgMHg1YzR9LAorICAgIHsweDY0YiwgMHg2NTJ9LCB7MHg2NzAsIDB4NjcwfSwgezB4NmQ2LCAweDZkY30sIHsweDZkZCwgMHg2ZGZ9LAorICAgIHsweDZlMCwgMHg2ZTR9LCB7MHg2ZTcsIDB4NmU4fSwgezB4NmVhLCAweDZlZH0sIHsweDkwMSwgMHg5MDN9LAorICAgIHsweDkzYywgMHg5M2N9LCB7MHg5M2UsIDB4OTRjfSwgezB4OTRkLCAweDk0ZH0sIHsweDk1MSwgMHg5NTR9LAorICAgIHsweDk2MiwgMHg5NjN9LCB7MHg5ODEsIDB4OTgzfSwgezB4OWJjLCAweDliY30sIHsweDliZSwgMHg5YmV9LAorICAgIHsweDliZiwgMHg5YmZ9LCB7MHg5YzAsIDB4OWM0fSwgezB4OWM3LCAweDljOH0sIHsweDljYiwgMHg5Y2R9LAorICAgIHsweDlkNywgMHg5ZDd9LCB7MHg5ZTIsIDB4OWUzfSwgezB4YTAyLCAweGEwMn0sIHsweGEzYywgMHhhM2N9LAorICAgIHsweGEzZSwgMHhhM2V9LCB7MHhhM2YsIDB4YTNmfSwgezB4YTQwLCAweGE0Mn0sIHsweGE0NywgMHhhNDh9LAorICAgIHsweGE0YiwgMHhhNGR9LCB7MHhhNzAsIDB4YTcxfSwgezB4YTgxLCAweGE4M30sIHsweGFiYywgMHhhYmN9LAorICAgIHsweGFiZSwgMHhhYzV9LCB7MHhhYzcsIDB4YWM5fSwgezB4YWNiLCAweGFjZH0sIHsweGIwMSwgMHhiMDN9LAorICAgIHsweGIzYywgMHhiM2N9LCB7MHhiM2UsIDB4YjQzfSwgezB4YjQ3LCAweGI0OH0sIHsweGI0YiwgMHhiNGR9LAorICAgIHsweGI1NiwgMHhiNTd9LCB7MHhiODIsIDB4YjgzfSwgezB4YmJlLCAweGJjMn0sIHsweGJjNiwgMHhiYzh9LAorICAgIHsweGJjYSwgMHhiY2R9LCB7MHhiZDcsIDB4YmQ3fSwgezB4YzAxLCAweGMwM30sIHsweGMzZSwgMHhjNDR9LAorICAgIHsweGM0NiwgMHhjNDh9LCB7MHhjNGEsIDB4YzRkfSwgezB4YzU1LCAweGM1Nn0sIHsweGM4MiwgMHhjODN9LAorICAgIHsweGNiZSwgMHhjYzR9LCB7MHhjYzYsIDB4Y2M4fSwgezB4Y2NhLCAweGNjZH0sIHsweGNkNSwgMHhjZDZ9LAorICAgIHsweGQwMiwgMHhkMDN9LCB7MHhkM2UsIDB4ZDQzfSwgezB4ZDQ2LCAweGQ0OH0sIHsweGQ0YSwgMHhkNGR9LAorICAgIHsweGQ1NywgMHhkNTd9LCB7MHhlMzEsIDB4ZTMxfSwgezB4ZTM0LCAweGUzYX0sIHsweGU0NywgMHhlNGV9LAorICAgIHsweGViMSwgMHhlYjF9LCB7MHhlYjQsIDB4ZWI5fSwgezB4ZWJiLCAweGViY30sIHsweGVjOCwgMHhlY2R9LAorICAgIHsweGYxOCwgMHhmMTl9LCB7MHhmMzUsIDB4ZjM1fSwgezB4ZjM3LCAweGYzN30sIHsweGYzOSwgMHhmMzl9LAorICAgIHsweGYzZSwgMHhmM2V9LCB7MHhmM2YsIDB4ZjNmfSwgezB4ZjcxLCAweGY4NH0sIHsweGY4NiwgMHhmOGJ9LAorICAgIHsweGY5MCwgMHhmOTV9LCB7MHhmOTcsIDB4Zjk3fSwgezB4Zjk5LCAweGZhZH0sIHsweGZiMSwgMHhmYjd9LAorICAgIHsweGZiOSwgMHhmYjl9LCB7MHgyMGQwLCAweDIwZGN9LCB7MHgyMGUxLCAweDIwZTF9LCB7MHgzMDJhLCAweDMwMmZ9LAorICAgIHsweDMwOTksIDB4MzA5OX0sIHsweDMwOWEsIDB4MzA5YX19OworY29uc3QgeG1sQ2hSYW5nZUdyb3VwIHhtbElzQ29tYmluaW5nR3JvdXAgPQorCXs5NSwgMCwgeG1sSXNDb21iaW5pbmdfc3JuZywgKHhtbENoTFJhbmdlUHRyKTB9OworCitzdGF0aWMgY29uc3QgeG1sQ2hTUmFuZ2UgeG1sSXNEaWdpdF9zcm5nW10gPSB7IHsweDY2MCwgMHg2Njl9LAorICAgIHsweDZmMCwgMHg2Zjl9LCB7MHg5NjYsIDB4OTZmfSwgezB4OWU2LCAweDllZn0sIHsweGE2NiwgMHhhNmZ9LAorICAgIHsweGFlNiwgMHhhZWZ9LCB7MHhiNjYsIDB4YjZmfSwgezB4YmU3LCAweGJlZn0sIHsweGM2NiwgMHhjNmZ9LAorICAgIHsweGNlNiwgMHhjZWZ9LCB7MHhkNjYsIDB4ZDZmfSwgezB4ZTUwLCAweGU1OX0sIHsweGVkMCwgMHhlZDl9LAorICAgIHsweGYyMCwgMHhmMjl9fTsKK2NvbnN0IHhtbENoUmFuZ2VHcm91cCB4bWxJc0RpZ2l0R3JvdXAgPQorCXsxNCwgMCwgeG1sSXNEaWdpdF9zcm5nLCAoeG1sQ2hMUmFuZ2VQdHIpMH07CisKK3N0YXRpYyBjb25zdCB4bWxDaFNSYW5nZSB4bWxJc0V4dGVuZGVyX3NybmdbXSA9IHsgezB4MmQwLCAweDJkMH0sCisgICAgezB4MmQxLCAweDJkMX0sIHsweDM4NywgMHgzODd9LCB7MHg2NDAsIDB4NjQwfSwgezB4ZTQ2LCAweGU0Nn0sCisgICAgezB4ZWM2LCAweGVjNn0sIHsweDMwMDUsIDB4MzAwNX0sIHsweDMwMzEsIDB4MzAzNX0sIHsweDMwOWQsIDB4MzA5ZX0sCisgICAgezB4MzBmYywgMHgzMGZlfX07Citjb25zdCB4bWxDaFJhbmdlR3JvdXAgeG1sSXNFeHRlbmRlckdyb3VwID0KKwl7MTAsIDAsIHhtbElzRXh0ZW5kZXJfc3JuZywgKHhtbENoTFJhbmdlUHRyKTB9OworCitzdGF0aWMgY29uc3QgeG1sQ2hTUmFuZ2UgeG1sSXNJZGVvZ3JhcGhpY19zcm5nW10gPSB7IHsweDMwMDcsIDB4MzAwN30sCisgICAgezB4MzAyMSwgMHgzMDI5fSwgezB4NGUwMCwgMHg5ZmE1fX07Citjb25zdCB4bWxDaFJhbmdlR3JvdXAgeG1sSXNJZGVvZ3JhcGhpY0dyb3VwID0KKwl7MywgMCwgeG1sSXNJZGVvZ3JhcGhpY19zcm5nLCAoeG1sQ2hMUmFuZ2VQdHIpMH07CisKKworLyoqCisgKiB4bWxDaGFySW5SYW5nZToKKyAqIEB2YWw6IGNoYXJhY3RlciB0byBiZSB2YWxpZGF0ZWQKKyAqIEBycHRyOiBwb2ludGVyIHRvIHJhbmdlIHRvIGJlIHVzZWQgdG8gdmFsaWRhdGUKKyAqCisgKiBEb2VzIGEgYmluYXJ5IHNlYXJjaCBvZiB0aGUgcmFuZ2UgdGFibGUgdG8gZGV0ZXJtaW5lIGlmIGNoYXIKKyAqIGlzIHZhbGlkCisgKgorICogUmV0dXJuczogdHJ1ZSBpZiBjaGFyYWN0ZXIgdmFsaWQsIGZhbHNlIG90aGVyd2lzZQorICovCitpbnQKK3htbENoYXJJblJhbmdlICh1bnNpZ25lZCBpbnQgdmFsLCBjb25zdCB4bWxDaFJhbmdlR3JvdXAgKnJwdHIpIHsKKyAgICBpbnQgbG93LCBoaWdoLCBtaWQ7CisgICAgY29uc3QgeG1sQ2hTUmFuZ2UgKnNwdHI7CisgICAgY29uc3QgeG1sQ2hMUmFuZ2UgKmxwdHI7CisKKyAgICBpZiAocnB0ciA9PSBOVUxMKSByZXR1cm4oMCk7CisgICAgaWYgKHZhbCA8IDB4MTAwMDApIHsJLyogaXMgdmFsIGluICdzaG9ydCcgb3IgJ2xvbmcnICBhcnJheT8gKi8KKwlpZiAocnB0ci0+bmJTaG9ydFJhbmdlID09IDApCisJICAgIHJldHVybiAwOworCWxvdyA9IDA7CisJaGlnaCA9IHJwdHItPm5iU2hvcnRSYW5nZSAtIDE7CisJc3B0ciA9IHJwdHItPnNob3J0UmFuZ2U7CisJd2hpbGUgKGxvdyA8PSBoaWdoKSB7CisJICAgIG1pZCA9IChsb3cgKyBoaWdoKSAvIDI7CisJICAgIGlmICgodW5zaWduZWQgc2hvcnQpIHZhbCA8IHNwdHJbbWlkXS5sb3cpIHsKKwkJaGlnaCA9IG1pZCAtIDE7CisJICAgIH0gZWxzZSB7CisJICAgICAgICBpZiAoKHVuc2lnbmVkIHNob3J0KSB2YWwgPiBzcHRyW21pZF0uaGlnaCkgeworCQkgICAgbG93ID0gbWlkICsgMTsKKwkJfSBlbHNlIHsKKwkJICAgIHJldHVybiAxOworCQl9CisJICAgIH0KKwl9CisgICAgfSBlbHNlIHsKKwlpZiAocnB0ci0+bmJMb25nUmFuZ2UgPT0gMCkgeworCSAgICByZXR1cm4gMDsKKwl9CisJbG93ID0gMDsKKwloaWdoID0gcnB0ci0+bmJMb25nUmFuZ2UgLSAxOworCWxwdHIgPSBycHRyLT5sb25nUmFuZ2U7CisJd2hpbGUgKGxvdyA8PSBoaWdoKSB7CisJICAgIG1pZCA9IChsb3cgKyBoaWdoKSAvIDI7CisJICAgIGlmICh2YWwgPCBscHRyW21pZF0ubG93KSB7CisJCWhpZ2ggPSBtaWQgLSAxOworCSAgICB9IGVsc2UgeworCSAgICAgICAgaWYgKHZhbCA+IGxwdHJbbWlkXS5oaWdoKSB7CisJCSAgICBsb3cgPSBtaWQgKyAxOworCQl9IGVsc2UgeworCQkgICAgcmV0dXJuIDE7CisJCX0KKwkgICAgfQorCX0KKyAgICB9CisgICAgcmV0dXJuIDA7Cit9CisKKworLyoqCisgKiB4bWxJc0Jhc2VDaGFyOgorICogQGNoOiAgY2hhcmFjdGVyIHRvIHZhbGlkYXRlCisgKgorICogVGhpcyBmdW5jdGlvbiBpcyBERVBSRUNBVEVELgorICogVXNlIHhtbElzQmFzZUNoYXJfY2ggb3IgeG1sSXNCYXNlQ2hhclEgaW5zdGVhZAorICoKKyAqIFJldHVybnMgdHJ1ZSBpZiBhcmd1bWVudCB2YWxpZCwgZmFsc2Ugb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sSXNCYXNlQ2hhcih1bnNpZ25lZCBpbnQgY2gpIHsKKyAgICByZXR1cm4oeG1sSXNCYXNlQ2hhclEoY2gpKTsKK30KKworCisvKioKKyAqIHhtbElzQmxhbms6CisgKiBAY2g6ICBjaGFyYWN0ZXIgdG8gdmFsaWRhdGUKKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGlzIERFUFJFQ0FURUQuCisgKiBVc2UgeG1sSXNCbGFua19jaCBvciB4bWxJc0JsYW5rUSBpbnN0ZWFkCisgKgorICogUmV0dXJucyB0cnVlIGlmIGFyZ3VtZW50IHZhbGlkLCBmYWxzZSBvdGhlcndpc2UKKyAqLworaW50Cit4bWxJc0JsYW5rKHVuc2lnbmVkIGludCBjaCkgeworICAgIHJldHVybih4bWxJc0JsYW5rUShjaCkpOworfQorCisKKy8qKgorICogeG1sSXNDaGFyOgorICogQGNoOiAgY2hhcmFjdGVyIHRvIHZhbGlkYXRlCisgKgorICogVGhpcyBmdW5jdGlvbiBpcyBERVBSRUNBVEVELgorICogVXNlIHhtbElzQ2hhcl9jaCBvciB4bWxJc0NoYXJRIGluc3RlYWQKKyAqCisgKiBSZXR1cm5zIHRydWUgaWYgYXJndW1lbnQgdmFsaWQsIGZhbHNlIG90aGVyd2lzZQorICovCitpbnQKK3htbElzQ2hhcih1bnNpZ25lZCBpbnQgY2gpIHsKKyAgICByZXR1cm4oeG1sSXNDaGFyUShjaCkpOworfQorCisKKy8qKgorICogeG1sSXNDb21iaW5pbmc6CisgKiBAY2g6ICBjaGFyYWN0ZXIgdG8gdmFsaWRhdGUKKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGlzIERFUFJFQ0FURUQuCisgKiBVc2UgeG1sSXNDb21iaW5pbmdRIGluc3RlYWQKKyAqCisgKiBSZXR1cm5zIHRydWUgaWYgYXJndW1lbnQgdmFsaWQsIGZhbHNlIG90aGVyd2lzZQorICovCitpbnQKK3htbElzQ29tYmluaW5nKHVuc2lnbmVkIGludCBjaCkgeworICAgIHJldHVybih4bWxJc0NvbWJpbmluZ1EoY2gpKTsKK30KKworCisvKioKKyAqIHhtbElzRGlnaXQ6CisgKiBAY2g6ICBjaGFyYWN0ZXIgdG8gdmFsaWRhdGUKKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGlzIERFUFJFQ0FURUQuCisgKiBVc2UgeG1sSXNEaWdpdF9jaCBvciB4bWxJc0RpZ2l0USBpbnN0ZWFkCisgKgorICogUmV0dXJucyB0cnVlIGlmIGFyZ3VtZW50IHZhbGlkLCBmYWxzZSBvdGhlcndpc2UKKyAqLworaW50Cit4bWxJc0RpZ2l0KHVuc2lnbmVkIGludCBjaCkgeworICAgIHJldHVybih4bWxJc0RpZ2l0UShjaCkpOworfQorCisKKy8qKgorICogeG1sSXNFeHRlbmRlcjoKKyAqIEBjaDogIGNoYXJhY3RlciB0byB2YWxpZGF0ZQorICoKKyAqIFRoaXMgZnVuY3Rpb24gaXMgREVQUkVDQVRFRC4KKyAqIFVzZSB4bWxJc0V4dGVuZGVyX2NoIG9yIHhtbElzRXh0ZW5kZXJRIGluc3RlYWQKKyAqCisgKiBSZXR1cm5zIHRydWUgaWYgYXJndW1lbnQgdmFsaWQsIGZhbHNlIG90aGVyd2lzZQorICovCitpbnQKK3htbElzRXh0ZW5kZXIodW5zaWduZWQgaW50IGNoKSB7CisgICAgcmV0dXJuKHhtbElzRXh0ZW5kZXJRKGNoKSk7Cit9CisKKworLyoqCisgKiB4bWxJc0lkZW9ncmFwaGljOgorICogQGNoOiAgY2hhcmFjdGVyIHRvIHZhbGlkYXRlCisgKgorICogVGhpcyBmdW5jdGlvbiBpcyBERVBSRUNBVEVELgorICogVXNlIHhtbElzSWRlb2dyYXBoaWNRIGluc3RlYWQKKyAqCisgKiBSZXR1cm5zIHRydWUgaWYgYXJndW1lbnQgdmFsaWQsIGZhbHNlIG90aGVyd2lzZQorICovCitpbnQKK3htbElzSWRlb2dyYXBoaWModW5zaWduZWQgaW50IGNoKSB7CisgICAgcmV0dXJuKHhtbElzSWRlb2dyYXBoaWNRKGNoKSk7Cit9CisKKworLyoqCisgKiB4bWxJc1B1YmlkQ2hhcjoKKyAqIEBjaDogIGNoYXJhY3RlciB0byB2YWxpZGF0ZQorICoKKyAqIFRoaXMgZnVuY3Rpb24gaXMgREVQUkVDQVRFRC4KKyAqIFVzZSB4bWxJc1B1YmlkQ2hhcl9jaCBvciB4bWxJc1B1YmlkQ2hhclEgaW5zdGVhZAorICoKKyAqIFJldHVybnMgdHJ1ZSBpZiBhcmd1bWVudCB2YWxpZCwgZmFsc2Ugb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sSXNQdWJpZENoYXIodW5zaWduZWQgaW50IGNoKSB7CisgICAgcmV0dXJuKHhtbElzUHViaWRDaGFyUShjaCkpOworfQorCisjZGVmaW5lIGJvdHRvbV9jaHZhbGlkCisjaW5jbHVkZSAiZWxmZ2NjaGFjay5oIgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9jaHZhbGlkLmRlZiBiL2xpYnhtbDIvY2h2YWxpZC5kZWYKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYzBmZDNmZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvY2h2YWxpZC5kZWYKQEAgLTAsMCArMSwzNjEgQEAKK25hbWUgeG1sSXNDaGFyCit1ciAweDkgCit1ciAweEEgCit1ciAweEQgCit1ciAweDIwLi4weEZGIAordXIgMHgwMTAwLi4weEQ3RkYgCit1ciAweEUwMDAuLjB4RkZGRCAKK3VyIDB4MTAwMDAuLjB4MTBGRkZGCitlbmQgeG1sSXNDaGFyCisKK25hbWUgeG1sSXNQdWJpZENoYXIKK3VyIDB4MjAgMHgwZCAweDBhICdhJy4uJ3onICdBJy4uJ1onICcwJy4uJzknCit1ciAnLScgMHgyNyAnKCcgJyknICcrJyAnLCcgJy4nICcvJwordXIgJzonICc9JyAnPycgJzsnICchJyAnKicgJyMnICdAJwordXIgJyQnICdfJyAnJScKK2VuZAorCituYW1lIHhtbElzQmxhbmsKK3VyIDB4MDkgMHgwYSAweDBkIDB4MjAKK2VuZCB4bWxJc0JsYW5rCisKK25hbWUgeG1sSXNCYXNlQ2hhcgordXIgMHgwMDQxLi4weDAwNUEgCit1ciAweDAwNjEuLjB4MDA3QSAKK3VyIDB4MDBDMC4uMHgwMEQ2IAordXIgMHgwMEQ4Li4weDAwRjYgCit1ciAweDAwRjguLjB4MDBGRiAKK3VyIDB4MDEwMC4uMHgwMTMxIAordXIgMHgwMTM0Li4weDAxM0UgCit1ciAweDAxNDEuLjB4MDE0OCAKK3VyIDB4MDE0QS4uMHgwMTdFIAordXIgMHgwMTgwLi4weDAxQzMgCit1ciAweDAxQ0QuLjB4MDFGMCAKK3VyIDB4MDFGNC4uMHgwMUY1IAordXIgMHgwMUZBLi4weDAyMTcgCit1ciAweDAyNTAuLjB4MDJBOCAKK3VyIDB4MDJCQi4uMHgwMkMxIAordXIgMHgwMzg2IAordXIgMHgwMzg4Li4weDAzOEEgCit1ciAweDAzOEMgCit1ciAweDAzOEUuLjB4MDNBMSAKK3VyIDB4MDNBMy4uMHgwM0NFIAordXIgMHgwM0QwLi4weDAzRDYgCit1ciAweDAzREEgCit1ciAweDAzREMgCit1ciAweDAzREUgCit1ciAweDAzRTAgCit1ciAweDAzRTIuLjB4MDNGMyAKK3VyIDB4MDQwMS4uMHgwNDBDIAordXIgMHgwNDBFLi4weDA0NEYgCit1ciAweDA0NTEuLjB4MDQ1QyAKK3VyIDB4MDQ1RS4uMHgwNDgxIAordXIgMHgwNDkwLi4weDA0QzQgCit1ciAweDA0QzcuLjB4MDRDOCAKK3VyIDB4MDRDQi4uMHgwNENDIAordXIgMHgwNEQwLi4weDA0RUIgCit1ciAweDA0RUUuLjB4MDRGNSAKK3VyIDB4MDRGOC4uMHgwNEY5IAordXIgMHgwNTMxLi4weDA1NTYgCit1ciAweDA1NTkgCit1ciAweDA1NjEuLjB4MDU4NiAKK3VyIDB4MDVEMC4uMHgwNUVBIAordXIgMHgwNUYwLi4weDA1RjIgCit1ciAweDA2MjEuLjB4MDYzQSAKK3VyIDB4MDY0MS4uMHgwNjRBIAordXIgMHgwNjcxLi4weDA2QjcgCit1ciAweDA2QkEuLjB4MDZCRSAKK3VyIDB4MDZDMC4uMHgwNkNFIAordXIgMHgwNkQwLi4weDA2RDMgCit1ciAweDA2RDUgCit1ciAweDA2RTUuLjB4MDZFNiAKK3VyIDB4MDkwNS4uMHgwOTM5IAordXIgMHgwOTNEIAordXIgMHgwOTU4Li4weDA5NjEgCit1ciAweDA5ODUuLjB4MDk4QyAKK3VyIDB4MDk4Ri4uMHgwOTkwIAordXIgMHgwOTkzLi4weDA5QTggCit1ciAweDA5QUEuLjB4MDlCMCAKK3VyIDB4MDlCMiAKK3VyIDB4MDlCNi4uMHgwOUI5IAordXIgMHgwOURDLi4weDA5REQgCit1ciAweDA5REYuLjB4MDlFMSAKK3VyIDB4MDlGMC4uMHgwOUYxIAordXIgMHgwQTA1Li4weDBBMEEgCit1ciAweDBBMEYuLjB4MEExMCAKK3VyIDB4MEExMy4uMHgwQTI4IAordXIgMHgwQTJBLi4weDBBMzAgCit1ciAweDBBMzIuLjB4MEEzMyAKK3VyIDB4MEEzNS4uMHgwQTM2IAordXIgMHgwQTM4Li4weDBBMzkgCit1ciAweDBBNTkuLjB4MEE1QyAKK3VyIDB4MEE1RSAKK3VyIDB4MEE3Mi4uMHgwQTc0IAordXIgMHgwQTg1Li4weDBBOEIgCit1ciAweDBBOEQgCit1ciAweDBBOEYuLjB4MEE5MSAKK3VyIDB4MEE5My4uMHgwQUE4IAordXIgMHgwQUFBLi4weDBBQjAgCit1ciAweDBBQjIuLjB4MEFCMyAKK3VyIDB4MEFCNS4uMHgwQUI5IAordXIgMHgwQUJEIAordXIgMHgwQUUwIAordXIgMHgwQjA1Li4weDBCMEMgCit1ciAweDBCMEYuLjB4MEIxMCAKK3VyIDB4MEIxMy4uMHgwQjI4IAordXIgMHgwQjJBLi4weDBCMzAgCit1ciAweDBCMzIuLjB4MEIzMyAKK3VyIDB4MEIzNi4uMHgwQjM5IAordXIgMHgwQjNEIAordXIgMHgwQjVDLi4weDBCNUQgCit1ciAweDBCNUYuLjB4MEI2MSAKK3VyIDB4MEI4NS4uMHgwQjhBIAordXIgMHgwQjhFLi4weDBCOTAgCit1ciAweDBCOTIuLjB4MEI5NSAKK3VyIDB4MEI5OS4uMHgwQjlBIAordXIgMHgwQjlDIAordXIgMHgwQjlFLi4weDBCOUYgCit1ciAweDBCQTMuLjB4MEJBNCAKK3VyIDB4MEJBOC4uMHgwQkFBIAordXIgMHgwQkFFLi4weDBCQjUgCit1ciAweDBCQjcuLjB4MEJCOSAKK3VyIDB4MEMwNS4uMHgwQzBDIAordXIgMHgwQzBFLi4weDBDMTAgCit1ciAweDBDMTIuLjB4MEMyOCAKK3VyIDB4MEMyQS4uMHgwQzMzIAordXIgMHgwQzM1Li4weDBDMzkgCit1ciAweDBDNjAuLjB4MEM2MSAKK3VyIDB4MEM4NS4uMHgwQzhDIAordXIgMHgwQzhFLi4weDBDOTAgCit1ciAweDBDOTIuLjB4MENBOCAKK3VyIDB4MENBQS4uMHgwQ0IzIAordXIgMHgwQ0I1Li4weDBDQjkgCit1ciAweDBDREUgCit1ciAweDBDRTAuLjB4MENFMSAKK3VyIDB4MEQwNS4uMHgwRDBDIAordXIgMHgwRDBFLi4weDBEMTAgCit1ciAweDBEMTIuLjB4MEQyOCAKK3VyIDB4MEQyQS4uMHgwRDM5IAordXIgMHgwRDYwLi4weDBENjEgCit1ciAweDBFMDEuLjB4MEUyRSAKK3VyIDB4MEUzMCAKK3VyIDB4MEUzMi4uMHgwRTMzIAordXIgMHgwRTQwLi4weDBFNDUgCit1ciAweDBFODEuLjB4MEU4MiAKK3VyIDB4MEU4NCAKK3VyIDB4MEU4Ny4uMHgwRTg4IAordXIgMHgwRThBIAordXIgMHgwRThEIAordXIgMHgwRTk0Li4weDBFOTcgCit1ciAweDBFOTkuLjB4MEU5RiAKK3VyIDB4MEVBMS4uMHgwRUEzIAordXIgMHgwRUE1IAordXIgMHgwRUE3IAordXIgMHgwRUFBLi4weDBFQUIgCit1ciAweDBFQUQuLjB4MEVBRSAKK3VyIDB4MEVCMCAKK3VyIDB4MEVCMi4uMHgwRUIzIAordXIgMHgwRUJEIAordXIgMHgwRUMwLi4weDBFQzQgCit1ciAweDBGNDAuLjB4MEY0NyAKK3VyIDB4MEY0OS4uMHgwRjY5IAordXIgMHgxMEEwLi4weDEwQzUgCit1ciAweDEwRDAuLjB4MTBGNiAKK3VyIDB4MTEwMCAKK3VyIDB4MTEwMi4uMHgxMTAzIAordXIgMHgxMTA1Li4weDExMDcgCit1ciAweDExMDkgCit1ciAweDExMEIuLjB4MTEwQyAKK3VyIDB4MTEwRS4uMHgxMTEyIAordXIgMHgxMTNDIAordXIgMHgxMTNFIAordXIgMHgxMTQwIAordXIgMHgxMTRDIAordXIgMHgxMTRFIAordXIgMHgxMTUwIAordXIgMHgxMTU0Li4weDExNTUgCit1ciAweDExNTkgCit1ciAweDExNUYuLjB4MTE2MSAKK3VyIDB4MTE2MyAKK3VyIDB4MTE2NSAKK3VyIDB4MTE2NyAKK3VyIDB4MTE2OSAKK3VyIDB4MTE2RC4uMHgxMTZFIAordXIgMHgxMTcyLi4weDExNzMgCit1ciAweDExNzUgCit1ciAweDExOUUgCit1ciAweDExQTggCit1ciAweDExQUIgCit1ciAweDExQUUuLjB4MTFBRiAKK3VyIDB4MTFCNy4uMHgxMUI4IAordXIgMHgxMUJBIAordXIgMHgxMUJDLi4weDExQzIgCit1ciAweDExRUIgCit1ciAweDExRjAgCit1ciAweDExRjkgCit1ciAweDFFMDAuLjB4MUU5QiAKK3VyIDB4MUVBMC4uMHgxRUY5IAordXIgMHgxRjAwLi4weDFGMTUgCit1ciAweDFGMTguLjB4MUYxRCAKK3VyIDB4MUYyMC4uMHgxRjQ1IAordXIgMHgxRjQ4Li4weDFGNEQgCit1ciAweDFGNTAuLjB4MUY1NyAKK3VyIDB4MUY1OSAKK3VyIDB4MUY1QiAKK3VyIDB4MUY1RCAKK3VyIDB4MUY1Ri4uMHgxRjdEIAordXIgMHgxRjgwLi4weDFGQjQgCit1ciAweDFGQjYuLjB4MUZCQyAKK3VyIDB4MUZCRSAKK3VyIDB4MUZDMi4uMHgxRkM0IAordXIgMHgxRkM2Li4weDFGQ0MgCit1ciAweDFGRDAuLjB4MUZEMyAKK3VyIDB4MUZENi4uMHgxRkRCIAordXIgMHgxRkUwLi4weDFGRUMgCit1ciAweDFGRjIuLjB4MUZGNCAKK3VyIDB4MUZGNi4uMHgxRkZDIAordXIgMHgyMTI2IAordXIgMHgyMTJBLi4weDIxMkIgCit1ciAweDIxMkUgCit1ciAweDIxODAuLjB4MjE4MiAKK3VyIDB4MzA0MS4uMHgzMDk0IAordXIgMHgzMEExLi4weDMwRkEgCit1ciAweDMxMDUuLjB4MzEyQyAKK3VyIDB4QUMwMC4uMHhEN0EzCitlbmQgeG1sSXNCYXNlQ2hhcgorCituYW1lIHhtbElzSWRlb2dyYXBoaWMKK3VyIDB4NEUwMC4uMHg5RkE1IAordXIgMHgzMDA3IAordXIgMHgzMDIxLi4weDMwMjkKK2VuZCB4bWxJc0lkZW9ncmFwaGljCisKK25hbWUgeG1sSXNDb21iaW5pbmcKK3VyIDB4MDMwMC4uMHgwMzQ1IAordXIgMHgwMzYwLi4weDAzNjEgCit1ciAweDA0ODMuLjB4MDQ4NiAKK3VyIDB4MDU5MS4uMHgwNUExIAordXIgMHgwNUEzLi4weDA1QjkgCit1ciAweDA1QkIuLjB4MDVCRCAKK3VyIDB4MDVCRiAKK3VyIDB4MDVDMS4uMHgwNUMyIAordXIgMHgwNUM0IAordXIgMHgwNjRCLi4weDA2NTIgCit1ciAweDA2NzAgCit1ciAweDA2RDYuLjB4MDZEQyAKK3VyIDB4MDZERC4uMHgwNkRGIAordXIgMHgwNkUwLi4weDA2RTQgCit1ciAweDA2RTcuLjB4MDZFOCAKK3VyIDB4MDZFQS4uMHgwNkVEIAordXIgMHgwOTAxLi4weDA5MDMgCit1ciAweDA5M0MgCit1ciAweDA5M0UuLjB4MDk0QyAKK3VyIDB4MDk0RCAKK3VyIDB4MDk1MS4uMHgwOTU0IAordXIgMHgwOTYyLi4weDA5NjMgCit1ciAweDA5ODEuLjB4MDk4MyAKK3VyIDB4MDlCQyAKK3VyIDB4MDlCRSAKK3VyIDB4MDlCRiAKK3VyIDB4MDlDMC4uMHgwOUM0IAordXIgMHgwOUM3Li4weDA5QzggCit1ciAweDA5Q0IuLjB4MDlDRCAKK3VyIDB4MDlENyAKK3VyIDB4MDlFMi4uMHgwOUUzIAordXIgMHgwQTAyIAordXIgMHgwQTNDIAordXIgMHgwQTNFIAordXIgMHgwQTNGIAordXIgMHgwQTQwLi4weDBBNDIgCit1ciAweDBBNDcuLjB4MEE0OCAKK3VyIDB4MEE0Qi4uMHgwQTREIAordXIgMHgwQTcwLi4weDBBNzEgCit1ciAweDBBODEuLjB4MEE4MyAKK3VyIDB4MEFCQyAKK3VyIDB4MEFCRS4uMHgwQUM1IAordXIgMHgwQUM3Li4weDBBQzkgCit1ciAweDBBQ0IuLjB4MEFDRCAKK3VyIDB4MEIwMS4uMHgwQjAzIAordXIgMHgwQjNDIAordXIgMHgwQjNFLi4weDBCNDMgCit1ciAweDBCNDcuLjB4MEI0OCAKK3VyIDB4MEI0Qi4uMHgwQjREIAordXIgMHgwQjU2Li4weDBCNTcgCit1ciAweDBCODIuLjB4MEI4MyAKK3VyIDB4MEJCRS4uMHgwQkMyIAordXIgMHgwQkM2Li4weDBCQzggCit1ciAweDBCQ0EuLjB4MEJDRCAKK3VyIDB4MEJENyAKK3VyIDB4MEMwMS4uMHgwQzAzIAordXIgMHgwQzNFLi4weDBDNDQgCit1ciAweDBDNDYuLjB4MEM0OCAKK3VyIDB4MEM0QS4uMHgwQzREIAordXIgMHgwQzU1Li4weDBDNTYgCit1ciAweDBDODIuLjB4MEM4MyAKK3VyIDB4MENCRS4uMHgwQ0M0IAordXIgMHgwQ0M2Li4weDBDQzggCit1ciAweDBDQ0EuLjB4MENDRCAKK3VyIDB4MENENS4uMHgwQ0Q2IAordXIgMHgwRDAyLi4weDBEMDMgCit1ciAweDBEM0UuLjB4MEQ0MyAKK3VyIDB4MEQ0Ni4uMHgwRDQ4IAordXIgMHgwRDRBLi4weDBENEQgCit1ciAweDBENTcgCit1ciAweDBFMzEgCit1ciAweDBFMzQuLjB4MEUzQSAKK3VyIDB4MEU0Ny4uMHgwRTRFIAordXIgMHgwRUIxIAordXIgMHgwRUI0Li4weDBFQjkgCit1ciAweDBFQkIuLjB4MEVCQyAKK3VyIDB4MEVDOC4uMHgwRUNEIAordXIgMHgwRjE4Li4weDBGMTkgCit1ciAweDBGMzUgCit1ciAweDBGMzcgCit1ciAweDBGMzkgCit1ciAweDBGM0UgCit1ciAweDBGM0YgCit1ciAweDBGNzEuLjB4MEY4NCAKK3VyIDB4MEY4Ni4uMHgwRjhCIAordXIgMHgwRjkwLi4weDBGOTUgCit1ciAweDBGOTcgCit1ciAweDBGOTkuLjB4MEZBRCAKK3VyIDB4MEZCMS4uMHgwRkI3IAordXIgMHgwRkI5IAordXIgMHgyMEQwLi4weDIwREMgCit1ciAweDIwRTEgCit1ciAweDMwMkEuLjB4MzAyRiAKK3VyIDB4MzA5OSAKK3VyIDB4MzA5QQorZW5kIHhtbElzQ29tYmluaW5nCisKK25hbWUgeG1sSXNEaWdpdAordXIgMHgwMDMwLi4weDAwMzkgCit1ciAweDA2NjAuLjB4MDY2OSAKK3VyIDB4MDZGMC4uMHgwNkY5IAordXIgMHgwOTY2Li4weDA5NkYgCit1ciAweDA5RTYuLjB4MDlFRiAKK3VyIDB4MEE2Ni4uMHgwQTZGIAordXIgMHgwQUU2Li4weDBBRUYgCit1ciAweDBCNjYuLjB4MEI2RiAKK3VyIDB4MEJFNy4uMHgwQkVGIAordXIgMHgwQzY2Li4weDBDNkYgCit1ciAweDBDRTYuLjB4MENFRiAKK3VyIDB4MEQ2Ni4uMHgwRDZGIAordXIgMHgwRTUwLi4weDBFNTkgCit1ciAweDBFRDAuLjB4MEVEOSAKK3VyIDB4MEYyMC4uMHgwRjI5CitlbmQgeG1sSXNEaWdpdAorCituYW1lIHhtbElzRXh0ZW5kZXIKK3VyIDB4MDBCNyAKK3VyIDB4MDJEMCAKK3VyIDB4MDJEMSAKK3VyIDB4MDM4NyAKK3VyIDB4MDY0MCAKK3VyIDB4MEU0NiAKK3VyIDB4MEVDNiAKK3VyIDB4MzAwNSAKK3VyIDB4MzAzMS4uMHgzMDM1IAordXIgMHgzMDlELi4weDMwOUUgCit1ciAweDMwRkMuLjB4MzBGRQorZW5kIHhtbElzRXh0ZW5kZXIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvY29uZmlnLmggYi9saWJ4bWwyL2NvbmZpZy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFjNzQyMjAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2NvbmZpZy5oCkBAIC0wLDAgKzEsMzM2IEBACisvKiBjb25maWcuaC4gIEdlbmVyYXRlZCBmcm9tIGNvbmZpZy5oLmluIGJ5IGNvbmZpZ3VyZS4gICovCisvKiBjb25maWcuaC5pbi4gIEdlbmVyYXRlZCBmcm9tIGNvbmZpZ3VyZS5hYyBieSBhdXRvaGVhZGVyLiAgKi8KKworLyogVHlwZSBjYXN0IGZvciB0aGUgZ2V0aG9zdGJ5bmFtZSgpIGFyZ3VtZW50ICovCisjZGVmaW5lIEdFVEhPU1RCWU5BTUVfQVJHX0NBU1QgLyoqLworCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPGFuc2lkZWNsLmg+IGhlYWRlciBmaWxlLiAqLworLyogI3VuZGVmIEhBVkVfQU5TSURFQ0xfSCAqLworCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPGFycGEvaW5ldC5oPiBoZWFkZXIgZmlsZS4gKi8KKyNkZWZpbmUgSEFWRV9BUlBBX0lORVRfSCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8YXJwYS9uYW1lc2VyLmg+IGhlYWRlciBmaWxlLiAqLworI2RlZmluZSBIQVZFX0FSUEFfTkFNRVNFUl9IIDEKKworLyogV2hldGhlciBzdHJ1Y3Qgc29ja2FkZHI6Ol9fc3NfZmFtaWx5IGV4aXN0cyAqLworLyogI3VuZGVmIEhBVkVfQlJPS0VOX1NTX0ZBTUlMWSAqLworCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGNsYXNzJyBmdW5jdGlvbi4gKi8KKy8qICN1bmRlZiBIQVZFX0NMQVNTICovCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8Y3R5cGUuaD4gaGVhZGVyIGZpbGUuICovCisjZGVmaW5lIEhBVkVfQ1RZUEVfSCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8ZGlyZW50Lmg+IGhlYWRlciBmaWxlLiAqLworI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxkbGZjbi5oPiBoZWFkZXIgZmlsZS4gKi8KKyNkZWZpbmUgSEFWRV9ETEZDTl9IIDEKKworLyogSGF2ZSBkbG9wZW4gYmFzZWQgZHNvICovCisjZGVmaW5lIEhBVkVfRExPUEVOIC8qKi8KKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxkbC5oPiBoZWFkZXIgZmlsZS4gKi8KKy8qICN1bmRlZiBIQVZFX0RMX0ggKi8KKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxlcnJuby5oPiBoZWFkZXIgZmlsZS4gKi8KKyNkZWZpbmUgSEFWRV9FUlJOT19IIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxmY250bC5oPiBoZWFkZXIgZmlsZS4gKi8KKyNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBmaW5pdGUnIGZ1bmN0aW9uLiAqLworI2RlZmluZSBIQVZFX0ZJTklURSAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8ZmxvYXQuaD4gaGVhZGVyIGZpbGUuICovCisjZGVmaW5lIEhBVkVfRkxPQVRfSCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgZnBjbGFzcycgZnVuY3Rpb24uICovCisvKiAjdW5kZWYgSEFWRV9GUENMQVNTICovCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgZnByaW50ZicgZnVuY3Rpb24uICovCisjZGVmaW5lIEhBVkVfRlBSSU5URiAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgZnBfY2xhc3MnIGZ1bmN0aW9uLiAqLworLyogI3VuZGVmIEhBVkVfRlBfQ0xBU1MgKi8KKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxmcF9jbGFzcy5oPiBoZWFkZXIgZmlsZS4gKi8KKy8qICN1bmRlZiBIQVZFX0ZQX0NMQVNTX0ggKi8KKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBmdGltZScgZnVuY3Rpb24uICovCisjZGVmaW5lIEhBVkVfRlRJTUUgMQorCisvKiBEZWZpbmUgaWYgZ2V0YWRkcmluZm8gaXMgdGhlcmUgKi8KKyNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAvKiovCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgZ2V0dGltZW9mZGF5JyBmdW5jdGlvbi4gKi8KKyNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPGllZWVmcC5oPiBoZWFkZXIgZmlsZS4gKi8KKy8qICN1bmRlZiBIQVZFX0lFRUVGUF9IICovCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8aW50dHlwZXMuaD4gaGVhZGVyIGZpbGUuICovCisjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgaXNhc2NpaScgZnVuY3Rpb24uICovCisjZGVmaW5lIEhBVkVfSVNBU0NJSSAxCisKKy8qIERlZmluZSBpZiBpc2luZiBpcyB0aGVyZSAqLworI2RlZmluZSBIQVZFX0lTSU5GIC8qKi8KKworLyogRGVmaW5lIGlmIGlzbmFuIGlzIHRoZXJlICovCisjZGVmaW5lIEhBVkVfSVNOQU4gLyoqLworCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGlzbmFuZCcgZnVuY3Rpb24uICovCisvKiAjdW5kZWYgSEFWRV9JU05BTkQgKi8KKworLyogRGVmaW5lIGlmIGhpc3RvcnkgbGlicmFyeSBpcyB0aGVyZSAoLWxoaXN0b3J5KSAqLworLyogI3VuZGVmIEhBVkVfTElCSElTVE9SWSAqLworCisvKiBIYXZlIGNvbXByZXNzaW9uIGxpYnJhcnkgKi8KKy8qICN1bmRlZiBIQVZFX0xJQkxaTUEgKi8KKworLyogRGVmaW5lIGlmIHB0aHJlYWQgbGlicmFyeSBpcyB0aGVyZSAoLWxwdGhyZWFkKSAqLworI2RlZmluZSBIQVZFX0xJQlBUSFJFQUQgLyoqLworCisvKiBEZWZpbmUgaWYgcmVhZGxpbmUgbGlicmFyeSBpcyB0aGVyZSAoLWxyZWFkbGluZSkgKi8KKy8qICN1bmRlZiBIQVZFX0xJQlJFQURMSU5FICovCisKKy8qIEhhdmUgY29tcHJlc3Npb24gbGlicmFyeSAqLworI2RlZmluZSBIQVZFX0xJQlogMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPGxpbWl0cy5oPiBoZWFkZXIgZmlsZS4gKi8KKyNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgbG9jYWx0aW1lJyBmdW5jdGlvbi4gKi8KKyNkZWZpbmUgSEFWRV9MT0NBTFRJTUUgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPGx6bWEuaD4gaGVhZGVyIGZpbGUuICovCisvKiAjdW5kZWYgSEFWRV9MWk1BX0ggKi8KKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxtYWxsb2MuaD4gaGVhZGVyIGZpbGUuICovCisjaWZuZGVmIEhBVkVfTUFMTE9DX0ggLyogQWxyZWFkeSBpbiBBbmRyb2lkQ29uZmlnLmggOi0oICovCisjZGVmaW5lIEhBVkVfTUFMTE9DX0ggMQorI2VuZGlmCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8bWF0aC5oPiBoZWFkZXIgZmlsZS4gKi8KKyNkZWZpbmUgSEFWRV9NQVRIX0ggMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPG1lbW9yeS5oPiBoZWFkZXIgZmlsZS4gKi8KKyNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgbW1hcCcgZnVuY3Rpb24uICovCisjZGVmaW5lIEhBVkVfTU1BUCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgbXVubWFwJyBmdW5jdGlvbi4gKi8KKyNkZWZpbmUgSEFWRV9NVU5NQVAgMQorCisvKiBtbWFwKCkgaXMgbm8gZ29vZCB3aXRob3V0IG11bm1hcCgpICovCisjaWYgZGVmaW5lZChIQVZFX01NQVApICYmICFkZWZpbmVkKEhBVkVfTVVOTUFQKQorIyAgdW5kZWYgLyoqLyBIQVZFX01NQVAKKyNlbmRpZgorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPG5hbi5oPiBoZWFkZXIgZmlsZS4gKi8KKy8qICN1bmRlZiBIQVZFX05BTl9IICovCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8bmRpci5oPiBoZWFkZXIgZmlsZSwgYW5kIGl0IGRlZmluZXMgYERJUicuICovCisvKiAjdW5kZWYgSEFWRV9ORElSX0ggKi8KKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxuZXRkYi5oPiBoZWFkZXIgZmlsZS4gKi8KKyNkZWZpbmUgSEFWRV9ORVREQl9IIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxuZXRpbmV0L2luLmg+IGhlYWRlciBmaWxlLiAqLworI2RlZmluZSBIQVZFX05FVElORVRfSU5fSCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8cG9sbC5oPiBoZWFkZXIgZmlsZS4gKi8KKyNkZWZpbmUgSEFWRV9QT0xMX0ggMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHByaW50ZicgZnVuY3Rpb24uICovCisjZGVmaW5lIEhBVkVfUFJJTlRGIDEKKworLyogRGVmaW5lIGlmIDxwdGhyZWFkLmg+IGlzIHRoZXJlICovCisjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIC8qKi8KKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBwdXRlbnYnIGZ1bmN0aW9uLiAqLworI2RlZmluZSBIQVZFX1BVVEVOViAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgcmFuZCcgZnVuY3Rpb24uICovCisjZGVmaW5lIEhBVkVfUkFORCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgcmFuZF9yJyBmdW5jdGlvbi4gKi8KKyNkZWZpbmUgSEFWRV9SQU5EX1IgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHJlc29sdi5oPiBoZWFkZXIgZmlsZS4gKi8KKyNkZWZpbmUgSEFWRV9SRVNPTFZfSCAxCisKKy8qIEhhdmUgc2hsX2xvYWQgYmFzZWQgZHNvICovCisvKiAjdW5kZWYgSEFWRV9TSExMT0FEICovCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgc2lnbmFsJyBmdW5jdGlvbi4gKi8KKyNkZWZpbmUgSEFWRV9TSUdOQUwgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHNpZ25hbC5oPiBoZWFkZXIgZmlsZS4gKi8KKyNkZWZpbmUgSEFWRV9TSUdOQUxfSCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgc25wcmludGYnIGZ1bmN0aW9uLiAqLworI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBzcHJpbnRmJyBmdW5jdGlvbi4gKi8KKyNkZWZpbmUgSEFWRV9TUFJJTlRGIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBzcmFuZCcgZnVuY3Rpb24uICovCisjZGVmaW5lIEhBVkVfU1JBTkQgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHNzY2FuZicgZnVuY3Rpb24uICovCisjZGVmaW5lIEhBVkVfU1NDQU5GIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBzdGF0JyBmdW5jdGlvbi4gKi8KKyNkZWZpbmUgSEFWRV9TVEFUIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzdGRhcmcuaD4gaGVhZGVyIGZpbGUuICovCisjZGVmaW5lIEhBVkVfU1REQVJHX0ggMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN0ZGludC5oPiBoZWFkZXIgZmlsZS4gKi8KKyNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3RkbGliLmg+IGhlYWRlciBmaWxlLiAqLworI2RlZmluZSBIQVZFX1NURExJQl9IIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBzdHJkdXAnIGZ1bmN0aW9uLiAqLworI2RlZmluZSBIQVZFX1NUUkRVUCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgc3RyZXJyb3InIGZ1bmN0aW9uLiAqLworI2RlZmluZSBIQVZFX1NUUkVSUk9SIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBzdHJmdGltZScgZnVuY3Rpb24uICovCisjZGVmaW5lIEhBVkVfU1RSRlRJTUUgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN0cmluZ3MuaD4gaGVhZGVyIGZpbGUuICovCisjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzdHJpbmcuaD4gaGVhZGVyIGZpbGUuICovCisjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHN0cm5kdXAnIGZ1bmN0aW9uLiAqLworI2RlZmluZSBIQVZFX1NUUk5EVVAgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy9kaXIuaD4gaGVhZGVyIGZpbGUsIGFuZCBpdCBkZWZpbmVzIGBESVInLgorICAgKi8KKy8qICN1bmRlZiBIQVZFX1NZU19ESVJfSCAqLworCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy9tbWFuLmg+IGhlYWRlciBmaWxlLiAqLworI2RlZmluZSBIQVZFX1NZU19NTUFOX0ggMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy9uZGlyLmg+IGhlYWRlciBmaWxlLCBhbmQgaXQgZGVmaW5lcyBgRElSJy4KKyAgICovCisvKiAjdW5kZWYgSEFWRV9TWVNfTkRJUl9IICovCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3lzL3NlbGVjdC5oPiBoZWFkZXIgZmlsZS4gKi8KKyNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy9zb2NrZXQuaD4gaGVhZGVyIGZpbGUuICovCisjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzeXMvc3RhdC5oPiBoZWFkZXIgZmlsZS4gKi8KKyNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzeXMvdGltZWIuaD4gaGVhZGVyIGZpbGUuICovCisjZGVmaW5lIEhBVkVfU1lTX1RJTUVCX0ggMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy90aW1lLmg+IGhlYWRlciBmaWxlLiAqLworI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy90eXBlcy5oPiBoZWFkZXIgZmlsZS4gKi8KKyNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgdGltZScgZnVuY3Rpb24uICovCisjZGVmaW5lIEhBVkVfVElNRSAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8dGltZS5oPiBoZWFkZXIgZmlsZS4gKi8KKyNkZWZpbmUgSEFWRV9USU1FX0ggMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHVuaXN0ZC5oPiBoZWFkZXIgZmlsZS4gKi8KKyNkZWZpbmUgSEFWRV9VTklTVERfSCAxCisKKy8qIFdoZXRoZXIgdmFfY29weSgpIGlzIGF2YWlsYWJsZSAqLworI2RlZmluZSBIQVZFX1ZBX0NPUFkgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHZmcHJpbnRmJyBmdW5jdGlvbi4gKi8KKyNkZWZpbmUgSEFWRV9WRlBSSU5URiAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgdnNucHJpbnRmJyBmdW5jdGlvbi4gKi8KKyNkZWZpbmUgSEFWRV9WU05QUklOVEYgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHZzcHJpbnRmJyBmdW5jdGlvbi4gKi8KKyNkZWZpbmUgSEFWRV9WU1BSSU5URiAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8emxpYi5oPiBoZWFkZXIgZmlsZS4gKi8KKy8qICN1bmRlZiBIQVZFX1pMSUJfSCAqLyAvKiBCZWNhdXNlIG90aGVyd2lzZSBMSUJYTUxfWkxJQl9FTkFCTEVEIGlzIGlnbm9yZWQhICovCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgX3N0YXQnIGZ1bmN0aW9uLiAqLworLyogI3VuZGVmIEhBVkVfX1NUQVQgKi8KKworLyogV2hldGhlciBfX3ZhX2NvcHkoKSBpcyBhdmFpbGFibGUgKi8KKy8qICN1bmRlZiBIQVZFX19fVkFfQ09QWSAqLworCisvKiBEZWZpbmUgYXMgY29uc3QgaWYgdGhlIGRlY2xhcmF0aW9uIG9mIGljb252KCkgbmVlZHMgY29uc3QuICovCisvKiAjdW5kZWYgSUNPTlZfQ09OU1QgKi8KKworLyogRGVmaW5lIHRvIHRoZSBzdWItZGlyZWN0b3J5IGluIHdoaWNoIGxpYnRvb2wgc3RvcmVzIHVuaW5zdGFsbGVkIGxpYnJhcmllcy4KKyAgICovCisjZGVmaW5lIExUX09CSkRJUiAiLmxpYnMvIgorCisvKiBOYW1lIG9mIHBhY2thZ2UgKi8KKyNkZWZpbmUgUEFDS0FHRSAibGlieG1sMiIKKworLyogRGVmaW5lIHRvIHRoZSBhZGRyZXNzIHdoZXJlIGJ1ZyByZXBvcnRzIGZvciB0aGlzIHBhY2thZ2Ugc2hvdWxkIGJlIHNlbnQuICovCisjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCisKKy8qIERlZmluZSB0byB0aGUgZnVsbCBuYW1lIG9mIHRoaXMgcGFja2FnZS4gKi8KKyNkZWZpbmUgUEFDS0FHRV9OQU1FICIiCisKKy8qIERlZmluZSB0byB0aGUgZnVsbCBuYW1lIGFuZCB2ZXJzaW9uIG9mIHRoaXMgcGFja2FnZS4gKi8KKyNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIiIKKworLyogRGVmaW5lIHRvIHRoZSBvbmUgc3ltYm9sIHNob3J0IG5hbWUgb2YgdGhpcyBwYWNrYWdlLiAqLworI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgIiIKKworLyogRGVmaW5lIHRvIHRoZSBob21lIHBhZ2UgZm9yIHRoaXMgcGFja2FnZS4gKi8KKyNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKKworLyogRGVmaW5lIHRvIHRoZSB2ZXJzaW9uIG9mIHRoaXMgcGFja2FnZS4gKi8KKyNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIiCisKKy8qIFR5cGUgY2FzdCBmb3IgdGhlIHNlbmQoKSBmdW5jdGlvbiAybmQgYXJnICovCisjZGVmaW5lIFNFTkRfQVJHMl9DQVNUIC8qKi8KKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIEFOU0kgQyBoZWFkZXIgZmlsZXMuICovCisjZGVmaW5lIFNURENfSEVBREVSUyAxCisKKy8qIFN1cHBvcnQgZm9yIElQdjYgKi8KKyNkZWZpbmUgU1VQUE9SVF9JUDYgLyoqLworCisvKiBEZWZpbmUgaWYgdmFfbGlzdCBpcyBhbiBhcnJheSB0eXBlICovCisjZGVmaW5lIFZBX0xJU1RfSVNfQVJSQVkgMQorCisvKiBWZXJzaW9uIG51bWJlciBvZiBwYWNrYWdlICovCisjZGVmaW5lIFZFUlNJT04gIjIuOS4yIgorCisvKiBEZXRlcm1pbmUgd2hhdCBzb2NrZXQgbGVuZ3RoIChzb2NrbGVuX3QpIGRhdGEgdHlwZSBpcyAqLworI2RlZmluZSBYTUxfU09DS0xFTl9UIHNvY2tsZW5fdAorCisvKiBEZWZpbmUgZm9yIFNvbGFyaXMgMi41LjEgc28gdGhlIHVpbnQzMl90IHR5cGVkZWYgZnJvbSA8c3lzL3N5bmNoLmg+LAorICAgPHB0aHJlYWQuaD4sIG9yIDxzZW1hcGhvcmUuaD4gaXMgbm90IHVzZWQuIElmIHRoZSB0eXBlZGVmIHdlcmUgYWxsb3dlZCwgdGhlCisgICAjZGVmaW5lIGJlbG93IHdvdWxkIGNhdXNlIGEgc3ludGF4IGVycm9yLiAqLworLyogI3VuZGVmIF9VSU5UMzJfVCAqLworCisvKiBVc2luZyB0aGUgV2luMzIgU29ja2V0IGltcGxlbWVudGF0aW9uICovCisvKiAjdW5kZWYgX1dJTlNPQ0tBUElfICovCisKKy8qIHNzX2ZhbWlseSBpcyBub3QgZGVmaW5lZCBoZXJlLCB1c2UgX19zc19mYW1pbHkgaW5zdGVhZCAqLworLyogI3VuZGVmIHNzX2ZhbWlseSAqLworCisvKiBEZWZpbmUgdG8gdGhlIHR5cGUgb2YgYW4gdW5zaWduZWQgaW50ZWdlciB0eXBlIG9mIHdpZHRoIGV4YWN0bHkgMzIgYml0cyBpZgorICAgc3VjaCBhIHR5cGUgZXhpc3RzIGFuZCB0aGUgc3RhbmRhcmQgaW5jbHVkZXMgZG8gbm90IGRlZmluZSBpdC4gKi8KKy8qICN1bmRlZiB1aW50MzJfdCAqLwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9jb25maWd1cmUuYWMgYi9saWJ4bWwyL2NvbmZpZ3VyZS5hYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNGFjMGE4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9jb25maWd1cmUuYWMKQEAgLTAsMCArMSwxNjY0IEBACitkbmwgUHJvY2VzcyB0aGlzIGZpbGUgd2l0aCBhdXRvY29uZiB0byBwcm9kdWNlIGEgY29uZmlndXJlIHNjcmlwdC4KK0FDX1BSRVJFUShbMi42M10pCitBQ19JTklUCitBQ19DT05GSUdfU1JDRElSKFtlbnRpdGllcy5jXSkKK0FDX0NPTkZJR19IRUFERVJTKFtjb25maWcuaF0pCitBQ19DT05GSUdfTUFDUk9fRElSKFttNF0pCitBQ19DQU5PTklDQUxfSE9TVAorCitMSUJYTUxfTUFKT1JfVkVSU0lPTj0yCitMSUJYTUxfTUlOT1JfVkVSU0lPTj05CitMSUJYTUxfTUlDUk9fVkVSU0lPTj0yCitMSUJYTUxfTUlDUk9fVkVSU0lPTl9TVUZGSVg9CitMSUJYTUxfVkVSU0lPTj0kTElCWE1MX01BSk9SX1ZFUlNJT04uJExJQlhNTF9NSU5PUl9WRVJTSU9OLiRMSUJYTUxfTUlDUk9fVkVSU0lPTiRMSUJYTUxfTUlDUk9fVkVSU0lPTl9TVUZGSVgKK0xJQlhNTF9WRVJTSU9OX0lORk89YGV4cHIgJExJQlhNTF9NQUpPUl9WRVJTSU9OICsgJExJQlhNTF9NSU5PUl9WRVJTSU9OYDokTElCWE1MX01JQ1JPX1ZFUlNJT046JExJQlhNTF9NSU5PUl9WRVJTSU9OCisKK0xJQlhNTF9WRVJTSU9OX05VTUJFUj1gZXhwciAkTElCWE1MX01BSk9SX1ZFUlNJT04gXCogMTAwMDAgKyAkTElCWE1MX01JTk9SX1ZFUlNJT04gXCogMTAwICsgJExJQlhNTF9NSUNST19WRVJTSU9OYAorCitpZiB0ZXN0IC1mIENWUy9FbnRyaWVzIDsgdGhlbgorICBleHRyYT1gZ3JlcCBDaGFuZ2VMb2cgQ1ZTL0VudHJpZXMgfCBncmVwIC12IExJQlhNTCB8IHNlZCAtZSBzXCUvQ2hhbmdlTG9nLzFcLiUlIC1lIHNcJS8uKiQlJWAKKyAgZWNobyBleHRyYT0kZXh0cmEKKyAgaWYgdGVzdCAiJGV4dHJhIiAhPSAiIgorICB0aGVuCisgICAgICBMSUJYTUxfVkVSU0lPTl9FWFRSQT0iLUNWUyRleHRyYSIKKyAgZmkKK2Vsc2UgaWYgdGVzdCAtZCAuc3ZuIDsgdGhlbgorICBleHRyYT1gc3ZuIGluZm8gfCBncmVwIFJldmlzaW9uIHwgc2VkICdzK1JldmlzaW9uOiArKydgCisgIGVjaG8gZXh0cmE9JGV4dHJhCisgIGlmIHRlc3QgIiRleHRyYSIgIT0gIiIKKyAgdGhlbgorICAgICAgTElCWE1MX1ZFUlNJT05fRVhUUkE9Ii1TVk4kZXh0cmEiCisgIGZpCitlbHNlIGlmIHRlc3QgLWQgLmdpdCA7IHRoZW4KKyAgZXh0cmE9YGdpdCBkZXNjcmliZSAyPi9kZXYvbnVsbCB8IHNlZCAncytMSUJYTUxbWzAtOS5dXSotKysnYAorICBlY2hvIGV4dHJhPSRleHRyYQorICBpZiB0ZXN0ICIkZXh0cmEiICE9ICIiCisgIHRoZW4KKyAgICAgIExJQlhNTF9WRVJTSU9OX0VYVFJBPSItR0lUJGV4dHJhIgorICBmaQorZmkKK2ZpCitmaQorQUNfU1VCU1QoTElCWE1MX01BSk9SX1ZFUlNJT04pCitBQ19TVUJTVChMSUJYTUxfTUlOT1JfVkVSU0lPTikKK0FDX1NVQlNUKExJQlhNTF9NSUNST19WRVJTSU9OKQorQUNfU1VCU1QoTElCWE1MX1ZFUlNJT04pCitBQ19TVUJTVChMSUJYTUxfVkVSU0lPTl9JTkZPKQorQUNfU1VCU1QoTElCWE1MX1ZFUlNJT05fTlVNQkVSKQorQUNfU1VCU1QoTElCWE1MX1ZFUlNJT05fRVhUUkEpCisKK1ZFUlNJT049JHtMSUJYTUxfVkVSU0lPTn0KKworQU1fSU5JVF9BVVRPTUFLRShsaWJ4bWwyLCAkVkVSU0lPTikKKworIyBTdXBwb3J0IHNpbGVudCBidWlsZCBydWxlcywgcmVxdWlyZXMgYXQgbGVhc3QgYXV0b21ha2UtMS4xMS4gRGlzYWJsZQorIyBieSBlaXRoZXIgcGFzc2luZyAtLWRpc2FibGUtc2lsZW50LXJ1bGVzIHRvIGNvbmZpZ3VyZSBvciBwYXNzaW5nIFY9MQorIyB0byBtYWtlCittNF9pZmRlZihbQU1fU0lMRU5UX1JVTEVTXSwgW0FNX1NJTEVOVF9SVUxFUyhbeWVzXSldKQorCitkbmwgQ2hlY2tzIGZvciBwcm9ncmFtcy4KK0FDX1BST0dfQ0MKK0FDX1BST0dfSU5TVEFMTAorQUNfUFJPR19MTl9TCitBQ19QUk9HX01LRElSX1AKK0FDX1BST0dfQ1BQCitBQ19QQVRIX1BST0coTVYsIG12LCAvYmluL212KQorQUNfUEFUSF9QUk9HKFRBUiwgdGFyLCAvYmluL3RhcikKK0FDX1BBVEhfUFJPRyhQRVJMLCBwZXJsLCAvdXNyL2Jpbi9wZXJsKQorQUNfUEFUSF9QUk9HKFdHRVQsIHdnZXQsIC91c3IvYmluL3dnZXQpCitBQ19QQVRIX1BST0coWE1MTElOVCwgeG1sbGludCwgL3Vzci9iaW4veG1sbGludCkKK0FDX1BBVEhfUFJPRyhYU0xUUFJPQywgeHNsdHByb2MsIC91c3IvYmluL3hzbHRwcm9jKQorUEtHX1BST0dfUEtHX0NPTkZJRworCitMVF9JTklUCisKK2RubAorZG5sIGlmIHRoZSBzeXN0ZW0gc3VwcG9ydCBsaW5rZXIgdmVyc2lvbiBzY3JpcHRzIGZvciBzeW1ib2wgdmVyc2lvbmluZworZG5sIHRoZW4gYWRkIGl0CitkbmwKK1ZFUlNJT05fU0NSSVBUX0ZMQUdTPQorIyBsdF9jdl9wcm9nX2dudV9sZCBpcyBmcm9tIGxpYnRvb2wgMi4rCitpZiB0ZXN0ICIkbHRfY3ZfcHJvZ19nbnVfbGQiID0geWVzOyB0aGVuCisgIFZFUlNJT05fU0NSSVBUX0ZMQUdTPS1XbCwtLXZlcnNpb24tc2NyaXB0PQorZWxzZQorICBjYXNlICRob3N0IGluCisgICotKi1zdW5vcyopIFZFUlNJT05fU0NSSVBUX0ZMQUdTPSItV2wsLU0gLVdsLCI7OworICBlc2FjCitmaQorQUNfU1VCU1QoVkVSU0lPTl9TQ1JJUFRfRkxBR1MpCitBTV9DT05ESVRJT05BTChbVVNFX1ZFUlNJT05fU0NSSVBUXSwgW3Rlc3QgLW4gIiRWRVJTSU9OX1NDUklQVF9GTEFHUyJdKQorCitkbmwKK2RubCBXZSBwcm9jZXNzIHRoZSBBQ19BUkdfV0lUSCBmaXJzdCBzbyB0aGF0IGxhdGVyIHdlIGNhbiBtb2RpZnkKK2RubCBzb21lIG9mIHRoZW0gdG8gdHJ5IHRvIHByZXZlbnQgaW1wb3NzaWJsZSBjb21iaW5hdGlvbnMuICBUaGlzCitkbmwgYWxzbyBhbGxvd3MgdXAgc28gYWxwaGFiZXRpemUgdGhlIGNob2ljZXMKK2RubAorCitkbmwKK2RubCB6bGliIG9wdGlvbiBtaWdodCBjaGFuZ2UgZmxhZ3MsIHNvIHdlIHNhdmUgdGhlbSBpbml0aWFsbHkKK2RubAorX2NwcGZsYWdzPSIke0NQUEZMQUdTfSIKK19saWJzPSIke0xJQlN9IgorCitBQ19BUkdfV0lUSChjMTRuLAorWyAgLS13aXRoLWMxNG4gICAgICAgICAgICAgYWRkIHRoZSBDYW5vbmljYWxpemF0aW9uIHN1cHBvcnQgKG9uKV0pCitBQ19BUkdfV0lUSChjYXRhbG9nLAorWyAgLS13aXRoLWNhdGFsb2cgICAgICAgICAgYWRkIHRoZSBDYXRhbG9nIHN1cHBvcnQgKG9uKV0pCitBQ19BUkdfV0lUSChkZWJ1ZywKK1sgIC0td2l0aC1kZWJ1ZyAgICAgICAgICAgIGFkZCB0aGUgZGVidWdnaW5nIG1vZHVsZSAob24pXSkKK0FDX0FSR19XSVRIKGRvY2Jvb2ssCitbICAtLXdpdGgtZG9jYm9vayAgICAgICAgICBhZGQgRG9jYm9vayBTR01MIHN1cHBvcnQgKG9uKV0pCitBQ19BUkdfV0lUSChmZXhjZXB0aW9ucywKK1sgIC0td2l0aC1mZXhjZXB0aW9ucyAgICAgIGFkZCBHQ0MgZmxhZyAtZmV4Y2VwdGlvbnMgZm9yIEMrKyBleGNlcHRpb25zIChvZmYpXSkKK0FDX0FSR19XSVRIKGZ0cCwKK1sgIC0td2l0aC1mdHAgICAgICAgICAgICAgIGFkZCB0aGUgRlRQIHN1cHBvcnQgKG9uKV0pCitBQ19BUkdfV0lUSChoaXN0b3J5LAorWyAgLS13aXRoLWhpc3RvcnkgICAgICAgICAgYWRkIGhpc3Rvcnkgc3VwcG9ydCB0byB4bWxsaW50IHNoZWxsKG9mZildKQorQUNfQVJHX1dJVEgoaHRtbCwKK1sgIC0td2l0aC1odG1sICAgICAgICAgICAgIGFkZCB0aGUgSFRNTCBzdXBwb3J0IChvbildKQorZG5sIFNwZWNpZmljIGRpciBmb3IgSFRNTCBvdXRwdXQgPworQUNfQVJHX1dJVEgoaHRtbC1kaXIsIEFTX0hFTFBfU1RSSU5HKFstLXdpdGgtaHRtbC1kaXI9cGF0aF0sCisgICAgICAgICAgICBbcGF0aCB0byBiYXNlIGh0bWwgZGlyZWN0b3J5LCBkZWZhdWx0ICRkYXRhZGlyL2RvYy9odG1sXSksCisgICAgICAgICAgICBbSFRNTF9ESVI9JHdpdGh2YWxdLCBbSFRNTF9ESVI9JyQoZGF0YWRpcikvZG9jJ10pCisKK0FDX0FSR19XSVRIKGh0bWwtc3ViZGlyLCBBU19IRUxQX1NUUklORyhbLS13aXRoLWh0bWwtc3ViZGlyPXBhdGhdLAorICAgICAgICAgICAgW2RpcmVjdG9yeSB1c2VkIHVuZGVyIGh0bWwtZGlyLCBkZWZhdWx0ICRQQUNLQUdFLSRWRVJTSU9OL2h0bWxdKSwKKyAgICAgICAgICAgIFt0ZXN0ICJ4JHdpdGh2YWwiICE9ICJ4IiAmJiBIVE1MX0RJUj0iJEhUTUxfRElSLyR3aXRodmFsIl0sCisgICAgICAgICAgICBbSFRNTF9ESVI9IiRIVE1MX0RJUi9cJChQQUNLQUdFKS1cJChWRVJTSU9OKS9odG1sIl0pCitBQ19TVUJTVChIVE1MX0RJUikKK0FDX0FSR19XSVRIKGh0dHAsCitbICAtLXdpdGgtaHR0cCAgICAgICAgICAgICBhZGQgdGhlIEhUVFAgc3VwcG9ydCAob24pXSkKK0FDX0FSR19XSVRIKGljb252LAorWyAgLS13aXRoLWljb252W1s9RElSXV0gICAgICBhZGQgSUNPTlYgc3VwcG9ydCAob24pXSkKK0FDX0FSR19XSVRIKGljdSwKK1sgIC0td2l0aC1pY3UgICAgICAgICAgICAgICAgYWRkIElDVSBzdXBwb3J0IChvZmYpXSkKK0FDX0FSR19XSVRIKGlzbzg4NTl4LAorWyAgLS13aXRoLWlzbzg4NTl4ICAgICAgICAgYWRkIElTTzg4NTlYIHN1cHBvcnQgaWYgbm8gaWNvbnYgKG9uKV0pCitBQ19BUkdfV0lUSChsZWdhY3ksCitbICAtLXdpdGgtbGVnYWN5ICAgICAgICAgICBhZGQgZGVwcmVjYXRlZCBBUElzIGZvciBjb21wYXRpYmlsaXR5IChvbildKQorQUNfQVJHX1dJVEgobWVtX2RlYnVnLAorWyAgLS13aXRoLW1lbS1kZWJ1ZyAgICAgICAgYWRkIHRoZSBtZW1vcnkgZGVidWdnaW5nIG1vZHVsZSAob2ZmKV0pCitBQ19BUkdfV0lUSChtaW5pbXVtLAorWyAgLS13aXRoLW1pbmltdW0gICAgICAgICAgYnVpbGQgYSBtaW5pbWFsbHkgc2l6ZWQgbGlicmFyeSAob2ZmKV0pCitBQ19BUkdfV0lUSChvdXRwdXQsCitbICAtLXdpdGgtb3V0cHV0ICAgICAgICAgICBhZGQgdGhlIHNlcmlhbGl6YXRpb24gc3VwcG9ydCAob24pXSkKK0FDX0FSR19XSVRIKHBhdHRlcm4sCitbICAtLXdpdGgtcGF0dGVybiAgICAgICAgICBhZGQgdGhlIHhtbFBhdHRlcm4gc2VsZWN0aW9uIGludGVyZmFjZSAob24pXSkKK0FDX0FSR19XSVRIKHB1c2gsCitbICAtLXdpdGgtcHVzaCAgICAgICAgICAgICBhZGQgdGhlIFBVU0ggcGFyc2VyIGludGVyZmFjZXMgKG9uKV0pCitBQ19BUkdfV0lUSChweXRob24sCitbICAtLXdpdGgtcHl0aG9uW1s9RElSXV0gICAgIGJ1aWxkIFB5dGhvbiBiaW5kaW5ncyBpZiBmb3VuZF0pCitBQ19BUkdfV0lUSChweXRob25faW5zdGFsbF9kaXIsCitbICAtLXdpdGgtcHl0aG9uLWluc3RhbGwtZGlyPURJUgorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnN0YWxsIFB5dGhvbiBiaW5kaW5ncyBpbiBESVJdKQorQUNfQVJHX1dJVEgocmVhZGVyLAorWyAgLS13aXRoLXJlYWRlciAgICAgICAgICAgYWRkIHRoZSB4bWxSZWFkZXIgcGFyc2luZyBpbnRlcmZhY2UgKG9uKV0pCitBQ19BUkdfV0lUSChyZWFkbGluZSwKK1sgIC0td2l0aC1yZWFkbGluZT1ESVIgICAgIHVzZSByZWFkbGluZSBpbiBESVJdLFsKKyAgaWYgdGVzdCAiJHdpdGh2YWwiICE9ICJubyIgLWEgIiR3aXRodmFsIiAhPSAieWVzIjsgdGhlbgorICAgIFJETF9ESVI9JHdpdGh2YWwKKyAgICBDUFBGTEFHUz0iJHtDUFBGTEFHU30gLUkkd2l0aHZhbC9pbmNsdWRlIgorICAgIExJQlM9IiR7TElCU30gLUwkd2l0aHZhbC9saWIiCisgIGZpCitdKQorQUNfQVJHX1dJVEgocmVnZXhwcywKK1sgIC0td2l0aC1yZWdleHBzICAgICAgICAgIGFkZCBSZWd1bGFyIEV4cHJlc3Npb25zIHN1cHBvcnQgKG9uKV0pCitBQ19BUkdfV0lUSChydW5fZGVidWcsCitbICAtLXdpdGgtcnVuLWRlYnVnICAgICAgICBhZGQgdGhlIHJ1bnRpbWUgZGVidWdnaW5nIG1vZHVsZSAob2ZmKV0pCitBQ19BUkdfV0lUSChzYXgxLAorWyAgLS13aXRoLXNheDEgICAgICAgICAgICAgYWRkIHRoZSBvbGRlciBTQVgxIGludGVyZmFjZSAob24pXSkKK0FDX0FSR19XSVRIKHNjaGVtYXMsCitbICAtLXdpdGgtc2NoZW1hcyAgICAgICAgICBhZGQgUmVsYXgtTkcgYW5kIFNjaGVtYXMgc3VwcG9ydCAob24pXSkKK0FDX0FSR19XSVRIKHNjaGVtYXRyb24sCitbICAtLXdpdGgtc2NoZW1hdHJvbiAgICAgICBhZGQgU2NoZW1hdHJvbiBzdXBwb3J0IChvbildKQorQUNfQVJHX1dJVEgodGhyZWFkcywKK1sgIC0td2l0aC10aHJlYWRzICAgICAgICAgIGFkZCBtdWx0aXRocmVhZCBzdXBwb3J0KG9uKV0pCitBQ19BUkdfV0lUSCh0aHJlYWQtYWxsb2MsCitbICAtLXdpdGgtdGhyZWFkLWFsbG9jICAgICBhZGQgcGVyLXRocmVhZCBtZW1vcnkob2ZmKV0pCitBQ19BUkdfV0lUSCh0cmVlLAorWyAgLS13aXRoLXRyZWUgICAgICAgICAgICAgYWRkIHRoZSBET00gbGlrZSB0cmVlIG1hbmlwdWxhdGlvbiBBUElzIChvbildKQorQUNfQVJHX1dJVEgodmFsaWQsCitbICAtLXdpdGgtdmFsaWQgICAgICAgICAgICBhZGQgdGhlIERURCB2YWxpZGF0aW9uIHN1cHBvcnQgKG9uKV0pCitBQ19BUkdfV0lUSCh3cml0ZXIsCitbICAtLXdpdGgtd3JpdGVyICAgICAgICAgICBhZGQgdGhlIHhtbFdyaXRlciBzYXZpbmcgaW50ZXJmYWNlIChvbildKQorQUNfQVJHX1dJVEgoeGluY2x1ZGUsCitbICAtLXdpdGgteGluY2x1ZGUgICAgICAgICBhZGQgdGhlIFhJbmNsdWRlIHN1cHBvcnQgKG9uKV0pCitBQ19BUkdfV0lUSCh4cGF0aCwKK1sgIC0td2l0aC14cGF0aCAgICAgICAgICAgIGFkZCB0aGUgWFBBVEggc3VwcG9ydCAob24pXSkKK0FDX0FSR19XSVRIKHhwdHIsCitbICAtLXdpdGgteHB0ciAgICAgICAgICAgICBhZGQgdGhlIFhQb2ludGVyIHN1cHBvcnQgKG9uKV0pCitBQ19BUkdfV0lUSChtb2R1bGVzLAorWyAgLS13aXRoLW1vZHVsZXMgICAgICAgICAgYWRkIHRoZSBkeW5hbWljIG1vZHVsZXMgc3VwcG9ydCAob24pXSkKK0FDX0FSR19XSVRIKHpsaWIsCitbICAtLXdpdGgtemxpYltbPURJUl1dICAgICAgIHVzZSBsaWJ6IGluIERJUl0sWworICBpZiB0ZXN0ICIkd2l0aHZhbCIgIT0gIm5vIiAtYSAiJHdpdGh2YWwiICE9ICJ5ZXMiOyB0aGVuCisgICAgWl9ESVI9JHdpdGh2YWwKKyAgICBDUFBGTEFHUz0iJHtDUFBGTEFHU30gLUkkd2l0aHZhbC9pbmNsdWRlIgorICAgIExJQlM9IiR7TElCU30gLUwkd2l0aHZhbC9saWIiCisgIGZpCitdKQorQUNfQVJHX1dJVEgobHptYSwKK1sgIC0td2l0aC1sem1hW1s9RElSXV0gICAgICAgdXNlIGxpYmx6bWEgaW4gRElSXSxbCisgIGlmIHRlc3QgIiR3aXRodmFsIiAhPSAibm8iIC1hICIkd2l0aHZhbCIgIT0gInllcyI7IHRoZW4KKyAgICBMWk1BX0RJUj0kd2l0aHZhbAorICAgIENQUEZMQUdTPSIke0NQUEZMQUdTfSAtSSR3aXRodmFsL2luY2x1ZGUiCisgICAgTElCUz0iJHtMSUJTfSAtTCR3aXRodmFsL2xpYiIKKyAgZmkKK10pCitBQ19BUkdfV0lUSChjb3ZlcmFnZSwKK1sgIC0td2l0aC1jb3ZlcmFnZSAgICAgICAgIGJ1aWxkIGZvciBjb2RlIGNvdmVyYWdlIHdpdGggR0NDIChvZmYpXSkKKworQUNfQVJHX0VOQUJMRShyZWJ1aWxkLWRvY3MsCitbICAtLWVuYWJsZS1yZWJ1aWxkLWRvY3NbWz15ZXMvbm9dXSAgcmVidWlsZCBzb21lIGdlbmVyYXRlZCBkb2NzIFtbZGVmYXVsdD1ub11dXSkKK2lmIHRlc3QgIiRlbmFibGVfcmVidWlsZF9kb2NzIiA9ICJ5ZXMiIC1hICIkc3JjZGlyIiAhPSAiLiI7IHRoZW4KKyAgQUNfTVNHX0VSUk9SKFtjYW5ub3QgcmVidWlsZCBkb2NzIHdoZW4gYnVpbGRkaXIgIT0gc3JjZGlyXSkKK2ZpCitBTV9DT05ESVRJT05BTChbUkVCVUlMRF9ET0NTXSwgW3Rlc3QgIiRlbmFibGVfcmVidWlsZF9kb2NzIiA9ICJ5ZXMiIC1vICIkVVNFUiIgPSAidmVpbGxhcmQiXSkKKworZG5sCitkbmwgaGFyZCBkZXBlbmRhbmNpZXMgb24gb3B0aW9ucworZG5sCitpZiB0ZXN0ICIkd2l0aF9zY2hlbWFzIiA9ICJ5ZXMiCit0aGVuCisgICAgd2l0aF9wYXR0ZXJuPXllcworICAgIHdpdGhfcmVnZXhwcz15ZXMKK2ZpCitpZiB0ZXN0ICIkd2l0aF9zY2hlbWF0cm9uIiA9ICJ5ZXMiCit0aGVuCisgICAgd2l0aF9wYXR0ZXJuPXllcworICAgIHdpdGhfdHJlZT15ZXMKKyAgICB3aXRoX3hwYXRoPXllcworZmkKK2lmIHRlc3QgIiR3aXRoX3JlYWRlciIgPSAieWVzIgordGhlbgorICAgIHdpdGhfcHVzaD15ZXMKK2ZpCitpZiB0ZXN0ICIkd2l0aF94cHRyIiA9ICJ5ZXMiCit0aGVuCisgICAgd2l0aF94cGF0aD15ZXMKK2ZpCitkbmwKK2RubCBvcHRpb24gdG8gYnVpbGQgYSBtaW5pbWFsIGxpYnhtbDIgbGlicmFyeQorZG5sCitpZiB0ZXN0ICIkd2l0aF9taW5pbXVtIiA9ICJ5ZXMiCit0aGVuCisgICAgZWNobyAiQ29uZmlndXJpbmcgZm9yIGEgbWluaW1hbCBsaWJyYXJ5IgorICAgIGlmIHRlc3QgIiR3aXRoX2MxNG4iID0gIiIKKyAgICB0aGVuCisgICAgICB3aXRoX2MxNG49bm8KKyAgICBmaQorICAgIGlmIHRlc3QgIiR3aXRoX2NhdGFsb2ciID0gIiIKKyAgICB0aGVuCisgICAgICB3aXRoX2NhdGFsb2c9bm8KKyAgICBmaQorICAgIGVjaG8gU28gZmFyIHNvIGdvb2QhCisgICAgaWYgdGVzdCAiJHdpdGhfZGVidWciID0gIiIKKyAgICB0aGVuCisgICAgICB3aXRoX2RlYnVnPW5vCisgICAgZmkKKyAgICBpZiB0ZXN0ICIkd2l0aF9kb2Nib29rIiA9ICIiCisgICAgdGhlbgorICAgICAgd2l0aF9kb2Nib29rPW5vCisgICAgZmkKKyAgICBpZiB0ZXN0ICIkd2l0aF9mZXhjZXB0aW9ucyIgPSAiIgorICAgIHRoZW4KKyAgICAgIHdpdGhfZmV4Y2VwdGlvbnM9bm8KKyAgICBmaQorICAgIGlmIHRlc3QgIiR3aXRoX2Z0cCIgPSAiIgorICAgIHRoZW4KKyAgICAgIHdpdGhfZnRwPW5vIAorICAgIGZpCisgICAgaWYgdGVzdCAiJHdpdGhfaGlzdG9yeSIgPSAiIgorICAgIHRoZW4KKyAgICAgIHdpdGhfaGlzdG9yeT1ubworICAgIGZpCisgICAgaWYgdGVzdCAiJHdpdGhfaHRtbCIgPSAiIgorICAgIHRoZW4KKyAgICAgIHdpdGhfaHRtbD1ubworICAgIGZpCisgICAgaWYgdGVzdCAiJHdpdGhfaHR0cCIgPSAiIgorICAgIHRoZW4KKyAgICAgIHdpdGhfaHR0cD1ubyAKKyAgICBmaQorICAgIGlmIHRlc3QgIiR3aXRoX2ljb252IiA9ICIiCisgICAgdGhlbgorICAgICAgd2l0aF9pY29udj1ubworICAgIGZpCisgICAgaWYgdGVzdCAiJHdpdGhfaXNvODg1OXgiID0gIiIKKyAgICB0aGVuCisgICAgICB3aXRoX2lzbzg4NTl4PW5vCisgICAgZmkKKyAgICBpZiB0ZXN0ICIkd2l0aF9sZWdhY3kiID0gIiIKKyAgICB0aGVuCisgICAgICB3aXRoX2xlZ2FjeT1ubworICAgIGZpCisgICAgaWYgdGVzdCAiJHdpdGhfbWVtX2RlYnVnIiA9ICIiCisgICAgdGhlbiAKKyAgICAgIHdpdGhfbWVtX2RlYnVnPW5vCisgICAgZmkKKyAgICBpZiB0ZXN0ICIkd2l0aF9vdXRwdXQiID0gIiIKKyAgICB0aGVuCisgICAgICB3aXRoX291dHB1dD1ubworICAgIGZpCisgICAgaWYgdGVzdCAiJHdpdGhfcGF0dGVybiIgPSAiIgorICAgIHRoZW4KKyAgICAgIHdpdGhfcGF0dGVybj1ubworICAgIGZpCisgICAgaWYgdGVzdCAiJHdpdGhfcHVzaCIgPSAiIgorICAgIHRoZW4KKyAgICAgIHdpdGhfcHVzaD1ubworICAgIGZpCisgICAgaWYgdGVzdCAiJHdpdGhfcHl0aG9uIiA9ICIiCisgICAgdGhlbgorICAgICAgd2l0aF9weXRob249bm8KKyAgICBmaQorICAgIGlmIHRlc3QgIiR3aXRoX3JlYWRlciIgPSAiIgorICAgIHRoZW4KKyAgICAgIHdpdGhfcmVhZGVyPW5vCisgICAgZmkKKyAgICBpZiB0ZXN0ICIkd2l0aF9yZWFkbGluZSIgPSAiIgorICAgIHRoZW4KKyAgICAgIHdpdGhfcmVhZGxpbmU9bm8KKyAgICBmaQorICAgIGlmIHRlc3QgIiR3aXRoX3JlZ2V4cHMiID0gIiIKKyAgICB0aGVuCisgICAgICB3aXRoX3JlZ2V4cHM9bm8KKyAgICBmaQorICAgIGlmIHRlc3QgIiR3aXRoX3J1bl9kZWJ1ZyIgPSAiIgorICAgIHRoZW4KKyAgICAgIHdpdGhfcnVuX2RlYnVnPW5vCisgICAgZmkKKyAgICBpZiB0ZXN0ICIkd2l0aF9zYXgxIiA9ICIiCisgICAgdGhlbgorICAgICAgd2l0aF9zYXgxPW5vCisgICAgZmkKKyAgICBpZiB0ZXN0ICIkd2l0aF9zY2hlbWFzIiA9ICIiCisgICAgdGhlbgorICAgICAgd2l0aF9zY2hlbWFzPW5vCisgICAgZmkKKyAgICBpZiB0ZXN0ICIkd2l0aF9zY2hlbWF0cm9uIiA9ICIiCisgICAgdGhlbgorICAgICAgd2l0aF9zY2hlbWF0cm9uPW5vCisgICAgZmkKKyAgICBpZiB0ZXN0ICIkd2l0aF90aHJlYWRzIiA9ICIiCisgICAgdGhlbgorICAgICAgd2l0aF90aHJlYWRzPW5vCisgICAgZmkKKyAgICBpZiB0ZXN0ICIkd2l0aF90aHJlYWRfYWxsb2MiID0gIiIKKyAgICB0aGVuCisgICAgICB3aXRoX3RocmVhZF9hbGxvYz1ubworICAgZmkKKyAgICBpZiB0ZXN0ICIkd2l0aF90cmVlIiA9ICIiCisgICAgdGhlbgorICAgICAgd2l0aF90cmVlPW5vCisgICAgZmkKKyAgICBpZiB0ZXN0ICIkd2l0aF92YWxpZCIgPSAiIgorICAgIHRoZW4KKyAgICAgIHdpdGhfdmFsaWQ9bm8KKyAgICBmaQorICAgIGlmIHRlc3QgIiR3aXRoX3dyaXRlciIgPSAiIgorICAgIHRoZW4KKyAgICAgIHdpdGhfd3JpdGVyPW5vCisgICAgZmkKKyAgICBpZiB0ZXN0ICIkd2l0aF94aW5jbHVkZSIgPSAiIgorICAgIHRoZW4KKyAgICAgIHdpdGhfeGluY2x1ZGU9bm8KKyAgICBmaQorICAgIGlmIHRlc3QgIiR3aXRoX3hwYXRoIiA9ICIiCisgICAgdGhlbgorICAgICAgd2l0aF94cGF0aD1ubworICAgIGZpCisgICAgaWYgdGVzdCAiJHdpdGhfeHB0ciIgPSAiIgorICAgIHRoZW4KKyAgICAgIHdpdGhfeHB0cj1ubworICAgIGZpCisgICAgaWYgdGVzdCAiJHdpdGhfemxpYiIgPSAiIgorICAgIHRoZW4KKyAgICAgIHdpdGhfemxpYj1ubworICAgIGZpCisgICAgaWYgdGVzdCAiJHdpdGhfbW9kdWxlcyIgPSAiIgorICAgIHRoZW4KKyAgICAgIHdpdGhfbW9kdWxlcz1ubworICAgIGZpCitmaQorCitlY2hvIENoZWNraW5nIHpsaWIKKworZG5sIENoZWNrcyBmb3IgemxpYiBsaWJyYXJ5LgorCitXSVRIX1pMSUI9MAoraWYgdGVzdCAiJHdpdGhfemxpYiIgPSAibm8iOyB0aGVuCisgICAgZWNobyAiRGlzYWJsaW5nIGNvbXByZXNzaW9uIHN1cHBvcnQiCitlbHNlCisgICAgQUNfQ0hFQ0tfSEVBREVSUyh6bGliLmgsCisgICAgICAgIFtTQVZFX0xERkxBR1M9IiR7TERGTEFHU30iCisJIExERkxBR1M9Ii1MJHtaX0RJUn0vbGliIgorCUFDX0NIRUNLX0xJQih6LCBnenJlYWQsWworCSAgICBBQ19ERUZJTkUoW0hBVkVfTElCWl0sIFsxXSwgW0hhdmUgY29tcHJlc3Npb24gbGlicmFyeV0pCisJICAgIFdJVEhfWkxJQj0xCisJICAgIGlmIHRlc3QgIngke1pfRElSfSIgIT0gIngiOyB0aGVuCisJCVpfQ0ZMQUdTPSItSSR7Wl9ESVJ9L2luY2x1ZGUiCisJCVpfTElCUz0iLUwke1pfRElSfS9saWIgLWx6IgorCQlbY2FzZSAke2hvc3R9IGluCisJCSAgICAqLSotc29sYXJpcyopCisJCQlaX0xJQlM9Ii1MJHtaX0RJUn0vbGliIC1SJHtaX0RJUn0vbGliIC1seiIKKwkJCTs7CisJCWVzYWNdCisJICAgIGVsc2UKKwkJWl9MSUJTPSItbHoiCisJICAgIGZpXSkKKwkgTERGTEFHUz0iJHtTQVZFX0xERkxBR1N9Il0pCitmaQorCitBQ19TVUJTVChaX0NGTEFHUykKK0FDX1NVQlNUKFpfTElCUykKK0FDX1NVQlNUKFdJVEhfWkxJQikKKworZWNobyBDaGVja2luZyBsem1hCisKK2RubCBDaGVja3MgZm9yIGx6bWEgbGlicmFyeS4KKworV0lUSF9MWk1BPTAKK2lmIHRlc3QgIiR3aXRoX2x6bWEiID0gIm5vIjsgdGhlbgorICAgIGVjaG8gIkRpc2FibGluZyBjb21wcmVzc2lvbiBzdXBwb3J0IgorZWxzZQorICAgICMgVHJ5IHBrZy1jb25maWcgZmlyc3Qgc28gdGhhdCBzdGF0aWMgbGlua2luZyB3b3Jrcy4KKyAgICAjIElmIHRoaXMgc3VjY2VlZWRzLCB3ZSBpZ25vcmUgdGhlIFdJVEhfTFpNQSBkaXJlY3RvcnkuCisgICAgUEtHX0NIRUNLX01PRFVMRVMoW0xaTUFdLFtsaWJsem1hXSwKKyAgICAgICAgW2hhdmVfbGlibHptYT15ZXNdLAorICAgICAgICBbaGF2ZV9saWJsem1hPW5vXSkKKworICAgICAjIElmIHBrZy1jb25maWcgZmFpbGVkLCBmYWxsIGJhY2sgdG8gQUNfQ0hFQ0tfTElCLiBUaGlzCisgICAgICMgd2lsbCBub3QgcGljayB1cCB0aGUgbmVjZXNzYXJ5IExJQlMgZmxhZ3MgZm9yIGxpYmx6bWEncworICAgICAjIHByaXZhdGUgZGVwZW5kZW5jaWVzLCB0aG91Z2gsIHNvIHN0YXRpYyBsaW5raW5nIG1heSBmYWlsLgorICAgICBpZiB0ZXN0ICJ4JGhhdmVfbGlibHptYSIgPSAieG5vIjsgdGhlbgorICAgICAgICAgQUNfQ0hFQ0tfSEVBREVSUyhsem1hLmgsCisJICAgIFtTQVZFX0xERkxBR1M9IiR7TERGTEFHU30iCisJICAgICBMREZMQUdTPSItTCR7TFpNQV9ESVJ9L2xpYiIKKyAgICAgICAgICAgIEFDX0NIRUNLX0xJQihsem1hLCBsem1hX2NvZGUsWworICAgICAgICAgICAgICAgIGhhdmVfbGlibHptYT15ZXMKKyAgICAgICAgICAgICAgICBpZiB0ZXN0ICJ4JHtMWk1BX0RJUn0iICE9ICJ4IjsgdGhlbgorICAgICAgICAgICAgICAgICAgICBMWk1BX0NGTEFHUz0iLUkke0xaTUFfRElSfS9pbmNsdWRlIgorICAgICAgICAgICAgICAgICAgICBMWk1BX0xJQlM9Ii1MJHtMWk1BX0RJUn0vbGliIC1sbHptYSIKKyAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgIExaTUFfTElCUz0iLWxsem1hIgorICAgICAgICAgICAgICAgIGZpXSwKKyAgICAgICAgICAgICAgICBbaGF2ZV9saWJsem1hPW5vXSkKKwkgICAgIExERkxBR1M9IiR7U0FWRV9MREZMQUdTfSJdKQorICAgIGZpCisKKyAgICAjIEZvdW5kIHRoZSBsaWJyYXJ5IHZpYSBlaXRoZXIgbWV0aG9kPworICAgIGlmIHRlc3QgIngkaGF2ZV9saWJsem1hIiA9ICJ4eWVzIjsgdGhlbgorICAgICAgICBBQ19ERUZJTkUoW0hBVkVfTElCTFpNQV0sIFsxXSwgW0hhdmUgY29tcHJlc3Npb24gbGlicmFyeV0pCisgICAgICAgIFdJVEhfTFpNQT0xCisgICAgZmkKK2ZpCisKK0FDX1NVQlNUKExaTUFfQ0ZMQUdTKQorQUNfU1VCU1QoTFpNQV9MSUJTKQorQUNfU1VCU1QoV0lUSF9MWk1BKQorCitDUFBGTEFHUz0ke19jcHBmbGFnc30KK0xJQlM9JHtfbGlic30KKworZWNobyBDaGVja2luZyBoZWFkZXJzCisKK2RubCBDaGVja3MgZm9yIGhlYWRlciBmaWxlcy4KK0FDX0hFQURFUl9ESVJFTlQKK0FDX0hFQURFUl9TVERDCitBQ19DSEVDS19IRUFERVJTKFtmY250bC5oXSkKK0FDX0NIRUNLX0hFQURFUlMoW3VuaXN0ZC5oXSkKK0FDX0NIRUNLX0hFQURFUlMoW2N0eXBlLmhdKQorQUNfQ0hFQ0tfSEVBREVSUyhbZGlyZW50LmhdKQorQUNfQ0hFQ0tfSEVBREVSUyhbZXJybm8uaF0pCitBQ19DSEVDS19IRUFERVJTKFttYWxsb2MuaF0pCitBQ19DSEVDS19IRUFERVJTKFtzdGRhcmcuaF0pCitBQ19DSEVDS19IRUFERVJTKFtzeXMvc3RhdC5oXSkKK0FDX0NIRUNLX0hFQURFUlMoW3N5cy90eXBlcy5oXSkKK0FDX0NIRUNLX0hFQURFUlMoW3N0ZGludC5oXSkKK0FDX0NIRUNLX0hFQURFUlMoW2ludHR5cGVzLmhdKQorQUNfQ0hFQ0tfSEVBREVSUyhbdGltZS5oXSkKK0FDX0NIRUNLX0hFQURFUlMoW2Fuc2lkZWNsLmhdKQorQUNfQ0hFQ0tfSEVBREVSUyhbaWVlZWZwLmhdKQorQUNfQ0hFQ0tfSEVBREVSUyhbbmFuLmhdKQorQUNfQ0hFQ0tfSEVBREVSUyhbbWF0aC5oXSkKK0FDX0NIRUNLX0hFQURFUlMoW2xpbWl0cy5oXSkKK0FDX0NIRUNLX0hFQURFUlMoW2ZwX2NsYXNzLmhdKQorQUNfQ0hFQ0tfSEVBREVSUyhbZmxvYXQuaF0pCitBQ19DSEVDS19IRUFERVJTKFtzdGRsaWIuaF0pCitBQ19DSEVDS19IRUFERVJTKFtzeXMvc29ja2V0LmhdLCBbXSwgW10sCitbI2lmIEhBVkVfU1lTX1RZUEVTX0gKKyMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjIGVuZGlmCitdKQorQUNfQ0hFQ0tfSEVBREVSUyhbbmV0aW5ldC9pbi5oXSwgW10sIFtdLAorWyNpZiBIQVZFX1NZU19UWVBFU19ICisjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgorIyBlbmRpZgorXSkKK0FDX0NIRUNLX0hFQURFUlMoW2FycGEvaW5ldC5oXSwgW10sIFtdLAorWyNpZiBIQVZFX1NZU19UWVBFU19ICisjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgorIyBlbmRpZgorI2lmIEhBVkVfQVJQQV9JTkVUX0gKKyMgaW5jbHVkZSA8YXJwYS9pbmV0Lmg+CisjIGVuZGlmCitdKQorQUNfQ0hFQ0tfSEVBREVSUyhbbmV0ZGIuaF0pCitBQ19DSEVDS19IRUFERVJTKFtzeXMvdGltZS5oXSkKK0FDX0NIRUNLX0hFQURFUlMoW3N5cy9zZWxlY3QuaF0pCitBQ19DSEVDS19IRUFERVJTKFtwb2xsLmhdKQorQUNfQ0hFQ0tfSEVBREVSUyhbc3lzL21tYW4uaF0pCitBQ19DSEVDS19IRUFERVJTKFtzeXMvdGltZWIuaF0pCitBQ19DSEVDS19IRUFERVJTKFtzaWduYWwuaF0pCitBQ19DSEVDS19IRUFERVJTKFthcnBhL25hbWVzZXIuaF0sIFtdLCBbXSwKK1sjaWYgSEFWRV9TWVNfVFlQRVNfSAorIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyMgZW5kaWYKK10pCitBQ19DSEVDS19IRUFERVJTKFtyZXNvbHYuaF0sIFtdLCBbXSwKK1sjaWYgSEFWRV9TWVNfVFlQRVNfSAorIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyMgZW5kaWYKKyNpZiBIQVZFX05FVElORVRfSU5fSAorIyBpbmNsdWRlIDxuZXRpbmV0L2luLmg+CisjIGVuZGlmCisjaWYgSEFWRV9BUlBBX05BTUVTRVJfSAorIyBpbmNsdWRlIDxhcnBhL25hbWVzZXIuaD4KKyMgZW5kaWYKK10pCitBQ19DSEVDS19IRUFERVJTKFtkbC5oXSkKK0FDX0NIRUNLX0hFQURFUlMoW2RsZmNuLmhdKQorCisKK2VjaG8gQ2hlY2tpbmcgdHlwZXMKKworQUNfVFlQRV9VSU5UMzJfVAorCisKK2VjaG8gQ2hlY2tpbmcgbGlicmFyaWVzCisKK2RubCBDaGVja3MgZm9yIGxpYnJhcnkgZnVuY3Rpb25zLgorQUNfRlVOQ19TVFJGVElNRQorQUNfQ0hFQ0tfRlVOQ1Moc3RyZHVwIHN0cm5kdXAgc3RyZXJyb3IpCitBQ19DSEVDS19GVU5DUyhmaW5pdGUgaXNuYW5kIGZwX2NsYXNzIGNsYXNzIGZwY2xhc3MpCitBQ19DSEVDS19GVU5DUyhzdHJmdGltZSBsb2NhbHRpbWUgZ2V0dGltZW9mZGF5IGZ0aW1lKQorQUNfQ0hFQ0tfRlVOQ1Moc3RhdCBfc3RhdCBzaWduYWwpCitBQ19DSEVDS19GVU5DUyhyYW5kIHJhbmRfciBzcmFuZCB0aW1lKQorQUNfQ0hFQ0tfRlVOQ1MoaXNhc2NpaSBtbWFwIG11bm1hcCBwdXRlbnYpCisKK0FIX1ZFUkJBVElNKFtIQVZFX01VTk1BUF9BRlRFUl0sWy8qIG1tYXAoKSBpcyBubyBnb29kIHdpdGhvdXQgbXVubWFwKCkgKi8KKyNpZiBkZWZpbmVkKEhBVkVfTU1BUCkgJiYgIWRlZmluZWQoSEFWRV9NVU5NQVApCisjICB1bmRlZiAvKiovIEhBVkVfTU1BUAorI2VuZGlmXSkKKworZG5sIENoZWNraW5nIGZvciB2YV9jb3B5IGF2YWlsYWJpbGl0eQorQUNfTVNHX0NIRUNLSU5HKFtmb3IgdmFfY29weV0pCitBQ19MSU5LX0lGRUxTRShbQUNfTEFOR19QUk9HUkFNKFtbI2luY2x1ZGUgPHN0ZGFyZy5oPgordmFfbGlzdCBhcDEsYXAyO11dLCBbW3ZhX2NvcHkoYXAxLGFwMik7XV0pXSwKK2hhdmVfdmFfY29weT15ZXMsCitoYXZlX3ZhX2NvcHk9bm8pCitBQ19NU0dfUkVTVUxUKCRoYXZlX3ZhX2NvcHkpCitpZiB0ZXN0IHgiJGhhdmVfdmFfY29weSIgPSB4InllcyI7IHRoZW4KKyAgICBBQ19ERUZJTkUoSEFWRV9WQV9DT1BZLDEsW1doZXRoZXIgdmFfY29weSgpIGlzIGF2YWlsYWJsZV0pCitlbHNlCisgICAgQUNfTVNHX0NIRUNLSU5HKFtmb3IgX192YV9jb3B5XSkKKyAgICBBQ19MSU5LX0lGRUxTRShbQUNfTEFOR19QUk9HUkFNKFtbI2luY2x1ZGUgPHN0ZGFyZy5oPgorICAgIHZhX2xpc3QgYXAxLGFwMjtdXSwgW1tfX3ZhX2NvcHkoYXAxLGFwMik7XV0pXSwKKyAgICBoYXZlX19fdmFfY29weT15ZXMsCisgICAgaGF2ZV9fX3ZhX2NvcHk9bm8pCisgICAgQUNfTVNHX1JFU1VMVCgkaGF2ZV9fX3ZhX2NvcHkpCisgICAgaWYgdGVzdCB4IiRoYXZlX19fdmFfY29weSIgPSB4InllcyI7IHRoZW4KKyAgICAgICAgQUNfREVGSU5FKEhBVkVfX19WQV9DT1BZLDEsW1doZXRoZXIgX192YV9jb3B5KCkgaXMgYXZhaWxhYmxlXSkKKyAgICBmaQorZmkKKworZG5sIENoZWNraW5nIHdoZXRoZXIgdmFfbGlzdCBpcyBhbiBhcnJheSB0eXBlCitBQ19NU0dfQ0hFQ0tJTkcoW3doZXRoZXIgdmFfbGlzdCBpcyBhbiBhcnJheSB0eXBlXSkKK0FDX1RSWV9DT01QSUxFMihbCisjaW5jbHVkZSA8c3RkYXJnLmg+Cit2b2lkIGEodmFfbGlzdCAqIGFwKSB7fV0sWwordmFfbGlzdCBhcDEsIGFwMjsgYSgmYXAxKTsgYXAyID0gKHZhX2xpc3QpIGFwMV0sWworICBBQ19NU0dfUkVTVUxUKG5vKV0sWworICBBQ19NU0dfUkVTVUxUKHllcykKKyAgQUNfREVGSU5FKFtWQV9MSVNUX0lTX0FSUkFZXSwgWzFdLFtEZWZpbmUgaWYgdmFfbGlzdCBpcyBhbiBhcnJheSB0eXBlXSldKQorCitkbmwgQ2hlY2tzIGZvciBpbmV0IGxpYnJhcmllczoKK0FDX1NFQVJDSF9MSUJTKGdldGhvc3RlbnQsIFtuc2xdKQorQUNfU0VBUkNIX0xJQlMoc2V0c29ja29wdCwgW3NvY2tldCBuZXQgbmV0d29ya10pCitBQ19TRUFSQ0hfTElCUyhjb25uZWN0LCBbaW5ldF0pCisKK2RubCBEZXRlcm1pbmUgd2hhdCBzb2NrZXQgbGVuZ3RoIChzb2NrbGVuX3QpIGRhdGEgdHlwZSBpcworQUNfTVNHX0NIRUNLSU5HKFtmb3IgdHlwZSBvZiBzb2NrZXQgbGVuZ3RoIChzb2NrbGVuX3QpXSkKK0FDX1RSWV9DT01QSUxFMihbCisjaW5jbHVkZSA8c3RkZGVmLmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3lzL3NvY2tldC5oPl0sWworKHZvaWQpZ2V0c29ja29wdCAoMSwgMSwgMSwgTlVMTCwgKHNvY2tsZW5fdCAqKU5VTEwpXSxbCisgIEFDX01TR19SRVNVTFQoc29ja2xlbl90ICopCisgIFhNTF9TT0NLTEVOX1Q9c29ja2xlbl90XSxbCisgIEFDX1RSWV9DT01QSUxFMihbCisjaW5jbHVkZSA8c3RkZGVmLmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3lzL3NvY2tldC5oPl0sWworKHZvaWQpZ2V0c29ja29wdCAoMSwgMSwgMSwgTlVMTCwgKHNpemVfdCAqKU5VTEwpXSxbCisgICAgQUNfTVNHX1JFU1VMVChzaXplX3QgKikKKyAgICBYTUxfU09DS0xFTl9UPXNpemVfdF0sWworICAgIEFDX1RSWV9DT01QSUxFMihbCisjaW5jbHVkZSA8c3RkZGVmLmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3lzL3NvY2tldC5oPl0sWworKHZvaWQpZ2V0c29ja29wdCAoMSwgMSwgMSwgTlVMTCwgKGludCAqKU5VTEwpXSxbCisgICAgICBBQ19NU0dfUkVTVUxUKGludCAqKQorICAgICAgWE1MX1NPQ0tMRU5fVD1pbnRdLFsKKyAgICAgIEFDX01TR19XQVJOKGNvdWxkIG5vdCBkZXRlcm1pbmUpCisgICAgICBYTUxfU09DS0xFTl9UPSJpbnQiXSldKV0pCitBQ19ERUZJTkVfVU5RVU9URUQoWE1MX1NPQ0tMRU5fVCwgJFhNTF9TT0NLTEVOX1QsIFtEZXRlcm1pbmUgd2hhdCBzb2NrZXQgbGVuZ3RoIChzb2NrbGVuX3QpIGRhdGEgdHlwZSBpc10pCisKK2RubCBDaGVja2luZyBpZiBnZXRob3N0YnluYW1lKCkgYXJndW1lbnQgaXMgY29uc3QuCitBQ19NU0dfQ0hFQ0tJTkcoW2ZvciBjb25zdCBnZXRob3N0YnluYW1lKCkgYXJndW1lbnRdKQorQUNfTElOS19JRkVMU0UoW0FDX0xBTkdfUFJPR1JBTShbWyNpbmNsdWRlIDxuZXRkYi5oPl1dLAorICAgIFtbKHZvaWQpZ2V0aG9zdGJ5bmFtZSgoY29uc3QgY2hhciAqKSIiKTtdXSldLAoraGF2ZV9nZXRob3N0YnluYW1lX2NvbnN0X2FyZz15ZXMsCitoYXZlX2dldGhvc3RieW5hbWVfY29uc3RfYXJnPW5vKQorQUNfTVNHX1JFU1VMVCgkaGF2ZV9nZXRob3N0YnluYW1lX2NvbnN0X2FyZykKK2lmIHRlc3QgeCIkaGF2ZV9nZXRob3N0YnluYW1lX2NvbnN0X2FyZyIgPSB4InllcyI7IHRoZW4KKyAgICBBQ19ERUZJTkUoW0dFVEhPU1RCWU5BTUVfQVJHX0NBU1RdLCBbXSwKKyAgICAgIFtUeXBlIGNhc3QgZm9yIHRoZSBnZXRob3N0YnluYW1lKCkgYXJndW1lbnRdKQorZWxzZQorICAgIEFDX0RFRklORShbR0VUSE9TVEJZTkFNRV9BUkdfQ0FTVF0sIFsoY2hhciAqKV0sCisgICAgICBbVHlwZSBjYXN0IGZvciB0aGUgZ2V0aG9zdGJ5bmFtZSgpIGFyZ3VtZW50XSkKK2ZpCisKK2RubCBDaGVja2luZyBpZiBzZW5kKCkgc2Vjb25kIGFyZ3VtZW50IGlzIGNvbnN0LgorQUNfTVNHX0NIRUNLSU5HKFtmb3IgY29uc3Qgc2VuZCgpIHNlY29uZCBhcmd1bWVudF0pCitBQ19MSU5LX0lGRUxTRShbQUNfTEFOR19QUk9HUkFNKFtbI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD5dXSwKKyAgICBbWyh2b2lkKXNlbmQoMSwoY29uc3QgY2hhciAqKSIiLDEsMSk7XV0pXSwKK2hhdmVfc2VuZF9jb25zdF9hcmcyPXllcywKK2hhdmVfc2VuZF9jb25zdF9hcmcyPW5vKQorQUNfTVNHX1JFU1VMVCgkaGF2ZV9zZW5kX2NvbnN0X2FyZzIpCitpZiB0ZXN0IHgiJGhhdmVfc2VuZF9jb25zdF9hcmcyIiA9IHgieWVzIjsgdGhlbgorICAgIEFDX0RFRklORShbU0VORF9BUkcyX0NBU1RdLCBbXSwKKyAgICAgIFtUeXBlIGNhc3QgZm9yIHRoZSBzZW5kKCkgZnVuY3Rpb24gMm5kIGFyZ10pCitlbHNlCisgICAgQUNfREVGSU5FKFtTRU5EX0FSRzJfQ0FTVF0sIFsoY2hhciAqKV0sCisgICAgICBbVHlwZSBjYXN0IGZvciB0aGUgc2VuZCgpIGZ1bmN0aW9uIDJuZCBhcmddKQorZmkKKworZG5sICoqKioqKioqKioqKioqKioqKioqKioqQ2hlY2tpbmcgZm9yIGF2YWlsYWJpbGl0eSBvZiBJUHY2KioqKioqKioqKioqKioqKioqKgorCitBQ19NU0dfQ0hFQ0tJTkcoW3doZXRoZXIgdG8gZW5hYmxlIElQdjZdKQorQUNfQVJHX0VOQUJMRShpcHY2LCBbICAtLWVuYWJsZS1pcHY2W1s9eWVzL25vXV0gIGVuYWJsZXMgY29tcGlsYXRpb24gb2YgSVB2NiBjb2RlIFtbZGVmYXVsdD15ZXNdXV0sLCBlbmFibGVfaXB2Nj15ZXMpCitpZiB0ZXN0ICIkd2l0aF9taW5pbXVtIiA9ICJ5ZXMiCit0aGVuCisgICAgZW5hYmxlX2lwdjY9bm8KK2ZpCitpZiB0ZXN0ICRlbmFibGVfaXB2NiA9IHllczsgdGhlbgorICBoYXZlX2lwdjY9bm8KKyAgQUNfQ09NUElMRV9JRkVMU0UoW0FDX0xBTkdfUFJPR1JBTShbWworIyAgIGluY2x1ZGUgPHN5cy90eXBlcy5oPgorIyAgIGluY2x1ZGUgPHN5cy9zb2NrZXQuaD4KKyAgICBdXSwgW1sKKyAgICBzdHJ1Y3Qgc29ja2FkZHJfc3RvcmFnZSBzczsKKyAgICBzb2NrZXQoQUZfSU5FVDYsIFNPQ0tfU1RSRUFNLCAwKQorICAgIF1dKV0sCisgICAgaGF2ZV9pcHY2PXllcywKKyAgICBoYXZlX2lwdjY9bm8KKyAgKQorICBBQ19NU0dfUkVTVUxUKCRoYXZlX2lwdjYpCisKKyAgaWYgdGVzdCAkaGF2ZV9pcHY2ID0geWVzOyB0aGVuCisgICAgQUNfREVGSU5FKFtTVVBQT1JUX0lQNl0sIFtdLCBbU3VwcG9ydCBmb3IgSVB2Nl0pCisgICAgaGF2ZV9icm9rZW5fc3NfZmFtaWx5PW5vCisKKyAgICBkbmwgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgICAgZG5sIG9uIHNvbWUgcGxhdGZvcm1zIChsaWtlIEFJWCA1TCksIHRoZSBzdHJ1Y3R1cmUgc29ja2FkZHIgZG9lc24ndCBoYXZlCisgICAgZG5sIGEgc3NfZmFtaWx5IG1lbWJlciwgYnV0IHJhdGhlciBfX3NzX2ZhbWlseS4gTGV0J3MgZGV0ZWN0IHRoYXQKKyAgICBkbmwgYW5kIGRlZmluZSB0aGUgSEFWRV9CUk9LRU5fU1NfRkFNSUxZIHdoZW4gd2UgYXJlIG9uIG9uZSBvZiB0aGVzZQorICAgIGRubCBwbGF0Zm9ybXMuICBIb3dldmVyLCB3ZSBzaG91bGQgb25seSBkbyB0aGlzIGlmIHNzX2ZhbWlseSBpcyBub3QKKyAgICBkbmwgcHJlc2VudC4KKyAgICBkbmwgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAgICBBQ19NU0dfQ0hFQ0tJTkcoW3N0cnVjdCBzb2NrYWRkcjo6c3NfZmFtaWx5XSkKKyAgICBBQ19DT01QSUxFX0lGRUxTRShbQUNfTEFOR19QUk9HUkFNKFtbCisjICAgICBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyMgICAgIGluY2x1ZGUgPHN5cy9zb2NrZXQuaD4KKyAgICAgIF1dLCBbWworICAgICAgc3RydWN0IHNvY2thZGRyX3N0b3JhZ2Ugc3MgOworICAgICAgc3Muc3NfZmFtaWx5ID0gMCA7CisgICAgICBdXSldLAorICAgICAgaGF2ZV9zc19mYW1pbHk9eWVzLAorICAgICAgaGF2ZV9zc19mYW1pbHk9bm8KKyAgICApCisgICAgQUNfTVNHX1JFU1VMVCgkaGF2ZV9zc19mYW1pbHkpCisgICAgaWYgdGVzdCB4JGhhdmVfc3NfZmFtaWx5ID0geG5vIDsgdGhlbgorICAgICAgQUNfTVNHX0NIRUNLSU5HKFticm9rZW4gc3RydWN0IHNvY2thZGRyOjpzc19mYW1pbHldKQorICAgICAgQUNfQ09NUElMRV9JRkVMU0UoW0FDX0xBTkdfUFJPR1JBTShbWworIyAgICAgICBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyMgICAgICAgaW5jbHVkZSA8c3lzL3NvY2tldC5oPgorICAgICAgICBdXSwgW1sKKyAgICAgICAgc3RydWN0IHNvY2thZGRyX3N0b3JhZ2Ugc3MgOworICAgICAgICBzcy5fX3NzX2ZhbWlseSA9IDAgOworICAgICAgICBdXSldLAorICAgICAgICBoYXZlX2Jyb2tlbl9zc19mYW1pbHk9eWVzLAorICAgICAgICBoYXZlX2Jyb2tlbl9zc19mYW1pbHk9bm8KKyAgICAgICkKKyAgICAgIEFDX01TR19SRVNVTFQoJGhhdmVfYnJva2VuX3NzX2ZhbWlseSkKKyAgICAgIGlmIHRlc3QgeCRoYXZlX2Jyb2tlbl9zc19mYW1pbHkgPSB4eWVzIDsgdGhlbgorICAgICAgICBBQ19ERUZJTkUoSEFWRV9CUk9LRU5fU1NfRkFNSUxZLCBbXSwKKwkgIFtXaGV0aGVyIHN0cnVjdCBzb2NrYWRkcjo6X19zc19mYW1pbHkgZXhpc3RzXSkgCisgICAgICAgIEFDX0RFRklORShzc19mYW1pbHksIF9fc3NfZmFtaWx5LAorCSAgW3NzX2ZhbWlseSBpcyBub3QgZGVmaW5lZCBoZXJlLCB1c2UgX19zc19mYW1pbHkgaW5zdGVhZF0pCisgICAgICBlbHNlCisgICAgICAgIEFDX01TR19XQVJOKHNzX2ZhbWlseSBhbmQgX19zc19mYW1pbHkgbm90IGZvdW5kKQorICAgICAgZmkKKyAgICBmaQorCisgICAgaGF2ZV9nZXRhZGRyaW5mbz1ubworICAgIEFDX0NIRUNLX0ZVTkMoZ2V0YWRkcmluZm8sIGhhdmVfZ2V0YWRkcmluZm89eWVzKQorICAgIGlmIHRlc3QgJGhhdmVfZ2V0YWRkcmluZm8gIT0geWVzOyB0aGVuCisgICAgICBmb3IgbGliIGluIGJzZCBzb2NrZXQgaW5ldDsgZG8KKyAgICAgICAgQUNfQ0hFQ0tfTElCKCRsaWIsIGdldGFkZHJpbmZvLCBbTElCUz0iJExJQlMgLWwkbGliIjtoYXZlX2dldGFkZHJpbmZvPXllczticmVha10pCisgICAgICBkb25lCisgICAgZmkKKworICAgIGlmIHRlc3QgJGhhdmVfZ2V0YWRkcmluZm8gPSB5ZXM7IHRoZW4KKyAgICAgIEFDX0RFRklORShbSEFWRV9HRVRBRERSSU5GT10sIFtdLCBbRGVmaW5lIGlmIGdldGFkZHJpbmZvIGlzIHRoZXJlXSkKKyAgICBmaQorICBmaQorZmkgCisKK2RubCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipFbmQgSVB2NiBjaGVja3MqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKworZG5sIENoZWNrcyBmb3IgaXNuYW4gaW4gbGlibSBpZiBub3QgaW4gbGliYworQUNfQ0hFQ0tfRlVOQyhpc25hbiwgQUNfREVGSU5FKFtIQVZFX0lTTkFOXSxbXSwgW0RlZmluZSBpZiBpc25hbiBpcyB0aGVyZV0pICwgQUNfQ0hFQ0tfTElCKG0sIGlzbmFuLAorICBbQUNfREVGSU5FKFtIQVZFX0lTTkFOXSxbXSwgW0RlZmluZSBpZiBpc25hbiBpcyB0aGVyZV0pXSkpCisKK0FDX0NIRUNLX0ZVTkMoaXNpbmYsIEFDX0RFRklORShbSEFWRV9JU0lORl0sIFtdLCBbRGVmaW5lIGlmIGlzaW5mIGlzIHRoZXJlXSkgLCBBQ19DSEVDS19MSUIobSwgaXNpbmYsCisgIFtBQ19ERUZJTkUoW0hBVkVfSVNJTkZdLCBbXSwgW0RlZmluZSBpZiBpc2luZiBpcyB0aGVyZV0pXSkpCisKK1hNTF9MSUJESVI9Jy1MJHtsaWJkaXJ9JworWE1MX0lOQ0xVREVESVI9Jy1JJHtpbmNsdWRlZGlyfS9saWJ4bWwyJworCitkbmwKK2RubCBFeHRyYSBmbGFncworZG5sCitYTUxfQ0ZMQUdTPSIiCitSRExfTElCUz0iIgorCitkbmwKK2RubCBXb3JrYXJvdW5kIGZvciBuYXRpdmUgY29tcGlsZXJzCitkbmwgIEhQICA6IGh0dHA6Ly9idWdzLmdub21lLm9yZy9kYi8zMS8zMTYzLmh0bWwKK2RubCAgREVDIDogRW5hYmxlIE5hTi9JbmYKK2RubAoraWYgdGVzdCAiJHtHQ0N9IiAhPSAieWVzIiA7IHRoZW4KKyAgICBjYXNlICIke2hvc3R9IiBpbgorICAgICAgICAgIGhwcGEqLSotaHB1eCogKQorCSAgICAgICBDRkxBR1M9IiR7Q0ZMQUdTfSAtV3AsLUgzMDAwMCIKKwkgICAgICAgOzsKKyAgICAgICAgICAqLWRlYy1vc2YqICkKKyAgICAgICAgICAgICAgIENGTEFHUz0iJHtDRkxBR1N9IC1pZWVlIgorICAgICAgICAgICAgICAgOzsKKwkgIGFscGhhKi0qLWxpbnV4KiApCisJICAgICAgIENGTEFHUz0iJHtDRkxBR1N9IC1pZWVlIgorCSAgICAgICA7OworICAgIGVzYWMKK2Vsc2UKKyAgICBpZiB0ZXN0ICIkd2l0aF9mZXhjZXB0aW9ucyIgPSAieWVzIgorICAgIHRoZW4KKyAgICAgICAgIworCSMgTm90IGFjdGl2YXRlZCBieSBkZWZhdWx0IGJlY2F1c2UgdGhpcyBpbmZsYXRlcyB0aGUgY29kZSBzaXplCisJIyBVc2VkIHRvIGFsbG93IHByb3BhZ2F0aW9uIG9mIEMrKyBleGNlcHRpb25zIHRocm91Z2ggdGhlIGxpYnJhcnkKKwkjCisJQ0ZMQUdTPSIke0NGTEFHU30gLWZleGNlcHRpb25zIgorICAgIGZpCisKKyAgICAjIHdhcm5pbmdzIHdlJ2QgbGlrZSB0byBzZWUKKyAgICBDRkxBR1M9IiR7Q0ZMQUdTfSAtcGVkYW50aWMgLVcgLVdmb3JtYXQgLVd1bnVzZWQgLVdpbXBsaWNpdCAtV3JldHVybi10eXBlIC1Xc3dpdGNoIC1XY29tbWVudCAtV3RyaWdyYXBocyAtV2Zvcm1hdCAtV2NoYXItc3Vic2NyaXB0cyAtV3VuaW5pdGlhbGl6ZWQgLVdwYXJlbnRoZXNlcyAtV3NoYWRvdyAtV3BvaW50ZXItYXJpdGggLVdjYXN0LWFsaWduIC1Xd3JpdGUtc3RyaW5ncyAtV2FnZ3JlZ2F0ZS1yZXR1cm4gLVdzdHJpY3QtcHJvdG90eXBlcyAtV21pc3NpbmctcHJvdG90eXBlcyAtV25lc3RlZC1leHRlcm5zIC1XaW5saW5lIC1XcmVkdW5kYW50LWRlY2xzIgorICAgICMgd2FybmluZ3Mgd2UnZCBsaWtlIHRvIHN1cHJlc3MKKyAgICBDRkxBR1M9IiR7Q0ZMQUdTfSAtV25vLWxvbmctbG9uZyIKKyAgICBjYXNlICIke2hvc3R9IiBpbgorICAgICAgICAgIGFscGhhKi0qLWxpbnV4KiApCisJICAgICAgIENGTEFHUz0iJHtDRkxBR1N9IC1taWVlZSIKKwkgICAgICAgOzsKKwkgIGFscGhhKi0qLW9zZiogKQorCSAgICAgICBDRkxBR1M9IiR7Q0ZMQUdTfSAtbWllZWUiCisJICAgICAgIDs7CisgICAgZXNhYworZmkKK2Nhc2UgJHtob3N0fSBpbgorICAgICotKi1zb2xhcmlzKikKKyAgICAgICAgWE1MX0xJQkRJUj0iJHtYTUxfTElCRElSfSAtUiR7bGliZGlyfSIKKyAgICAgICAgOzsKKyAgICBocHBhKi1ocC1tcGVpeCkKKyAgICAgICAgTkVFRF9UUklPPTEKKwk7OworICAgICotKi1taW5ndyogfCAqLSotY3lnd2luKiB8ICotKi1tc3ZjKiApCisgICAgICAgICMgSWYgdGhlIGhvc3QgaXMgV2luZG93cywgYW5kIHNoYXJlZCBsaWJyYXJpZXMgYXJlIGRpc2FibGVkLCB3ZQorICAgICAgICAjIG5lZWQgdG8gYWRkIC1ETElCWE1MX1NUQVRJQyB0byBDRkxBR1MgaW4gb3JkZXIgZm9yIGxpbmtpbmcgdG8KKyAgICAgICAgIyB3b3JrIHByb3Blcmx5ICh3aXRob3V0IGl0LCB4bWxleHBvcnRzLmggd291bGQgZm9yY2UgdGhlIHVzZSBvZgorICAgICAgICAjIERMTCBpbXBvcnRzLCB3aGljaCBvYnZpb3VzbHkgYXJlbid0IHByZXNlbnQgaW4gYSBzdGF0aWMKKyAgICAgICAgIyBsaWJyYXJ5KS4KKyAgICAgICAgaWYgdGVzdCAieCRlbmFibGVfc2hhcmVkIiA9ICJ4bm8iOyB0aGVuCisgICAgICAgICAgICBYTUxfQ0ZMQUdTPSIkWE1MX0NGTEFHUyAtRExJQlhNTF9TVEFUSUMiCisgICAgICAgICAgICBDRkxBR1M9IiRDRkxBR1MgLURMSUJYTUxfU1RBVElDIgorICAgICAgICBmaQorICAgICAgICA7OworZXNhYworCisKK2RubAorZG5sIGNoZWNrIGZvciBweXRob24KK2RubAorCitQWVRIT05fVkVSU0lPTj0KK1BZVEhPTl9JTkNMVURFUz0KK1BZVEhPTl9TSVRFX1BBQ0tBR0VTPQorUFlUSE9OX1RFU1RTPQorcHl0aG9uZGlyPQoraWYgdGVzdCAiJHdpdGhfcHl0aG9uIiAhPSAibm8iIDsgdGhlbgorICAgIGlmIHRlc3QgLXggIiR3aXRoX3B5dGhvbi9iaW4vcHl0aG9uIgorICAgIHRoZW4KKyAgICAgICAgZWNobyBGb3VuZCBweXRob24gaW4gJHdpdGhfcHl0aG9uL2Jpbi9weXRob24KKyAgICAgICAgUFlUSE9OPSIkd2l0aF9weXRob24vYmluL3B5dGhvbiIKKyAgICBlbHNlCisgICAgICAgIGlmIHRlc3QgLXggIiR3aXRoX3B5dGhvbi9weXRob24uZXhlIgorICAgICAgICB0aGVuCisgICAgICAgICAgICBlY2hvIEZvdW5kIHB5dGhvbiBpbiAkd2l0aF9weXRob24vcHl0aG9uLmV4ZQorICAgICAgICAgICAgUFlUSE9OPSIkd2l0aF9weXRob24vcHl0aG9uLmV4ZSIKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgaWYgdGVzdCAteCAiJHdpdGhfcHl0aG9uIgorICAgICAgICAgICAgdGhlbgorICAgICAgICAgICAgICAgIGVjaG8gRm91bmQgcHl0aG9uIGluICR3aXRoX3B5dGhvbgorICAgICAgICAgICAgICAgIFBZVEhPTj0iJHdpdGhfcHl0aG9uIgorICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIGlmIHRlc3QgLXggIiRQWVRIT04iCisgICAgICAgICAgICAgICAgdGhlbgorICAgICAgICAgICAgICAgICAgICBlY2hvIEZvdW5kIHB5dGhvbiBpbiBlbnZpcm9ubWVudCBQWVRIT049JFBZVEhPTgorICAgICAgICAgICAgICAgICAgICB3aXRoX3B5dGhvbj1gJFBZVEhPTiAtYyAiaW1wb3J0IHN5czsgcHJpbnQoc3lzLmV4ZWNfcHJlZml4KSJgCisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICBBQ19QQVRIX1BST0coUFlUSE9OLCBweXRob24gcHl0aG9uMi42IHB5dGhvbjIuNSBweXRob24yLjQgcHl0aG9uMi4zIHB5dGhvbjIuMiBweXRob24yLjEgcHl0aG9uMi4wIHB5dGhvbjEuNiBweXRob24xLjUpCisJCWZpCisJICAgIGZpCisJZmkKKyAgICBmaQorICAgIGlmIHRlc3QgIiRQWVRIT04iICE9ICIiCisgICAgdGhlbgorICAgICAgICBQWVRIT05fVkVSU0lPTj1gJFBZVEhPTiAtYyAiZnJvbSBkaXN0dXRpbHMgaW1wb3J0IHN5c2NvbmZpZzsgcHJpbnQoc3lzY29uZmlnLmdldF9weXRob25fdmVyc2lvbigpKSJgCisJUFlUSE9OX0lOQ0xVREVTPWAkUFlUSE9OIC1jICJmcm9tIGRpc3R1dGlscyBpbXBvcnQgc3lzY29uZmlnOyBwcmludChzeXNjb25maWcuZ2V0X3B5dGhvbl9pbmMoKSkiYAorIyBkb2VzIG5vdCB3b3JrIGFzIGl0IHByb2R1Y2UgYSAvdXNyL2xpYi9weXRob24gcGF0aCBpbnN0ZWFkIG9mL3Vzci9saWI2NC9weXRob24KKyMKKyMJUFlUSE9OX1NJVEVfUEFDS0FHRVM9YCRQWVRIT04gLWMgImZyb20gZGlzdHV0aWxzIGltcG9ydCBzeXNjb25maWc7IHByaW50KHN5c2NvbmZpZy5nZXRfcHl0aG9uX2xpYigpKSJgCisJZWNobyBGb3VuZCBQeXRob24gdmVyc2lvbiAkUFlUSE9OX1ZFUlNJT04KKyAgICBmaQorICAgIGlmIHRlc3QgIiRQWVRIT05fVkVSU0lPTiIgIT0gIiIgLWEgIiRQWVRIT05fSU5DTFVERVMiID0gIiIKKyAgICB0aGVuCisJaWYgdGVzdCAtciAkd2l0aF9weXRob24vaW5jbHVkZS9weXRob24kUFlUSE9OX1ZFUlNJT04vUHl0aG9uLmgKKwl0aGVuCisJICAgIFBZVEhPTl9JTkNMVURFUz0kd2l0aF9weXRob24vaW5jbHVkZS9weXRob24kUFlUSE9OX1ZFUlNJT04KKwllbHNlCisJICAgIGlmIHRlc3QgLXIgJHByZWZpeC9pbmNsdWRlL3B5dGhvbiRQWVRIT05fVkVSU0lPTi9QeXRob24uaAorCSAgICB0aGVuCisJICAgICAgICBQWVRIT05fSU5DTFVERVM9JHByZWZpeC9pbmNsdWRlL3B5dGhvbiRQWVRIT05fVkVSU0lPTgorCSAgICBlbHNlCisJCWlmIHRlc3QgLXIgL3Vzci9pbmNsdWRlL3B5dGhvbiRQWVRIT05fVkVSU0lPTi9QeXRob24uaAorCQl0aGVuCisJCSAgICBQWVRIT05fSU5DTFVERVM9L3Vzci9pbmNsdWRlL3B5dGhvbiRQWVRIT05fVkVSU0lPTgorCQllbHNlCisJICAgICAgICAgICAgaWYgdGVzdCAtciAkd2l0aF9weXRob24vaW5jbHVkZS9QeXRob24uaAorCSAgICAgICAgICAgIHRoZW4KKwkgICAgICAgICAgICAgICAgUFlUSE9OX0lOQ0xVREVTPSR3aXRoX3B5dGhvbi9pbmNsdWRlCisJICAgICAgICAgICAgZWxzZQorCQkgICAgICAgIGVjaG8gY291bGQgbm90IGZpbmQgcHl0aG9uJFBZVEhPTl9WRVJTSU9OL1B5dGhvbi5oIG9yICR3aXRoX3B5dGhvbi9pbmNsdWRlL1B5dGhvbi5oCisJCSAgICBmaQorCQlmaQorCSAgICBmaQorCWZpCisgICAgZmkKKyAgICBpZiB0ZXN0ICIkd2l0aF9weXRob25faW5zdGFsbF9kaXIiICE9ICIiCisgICAgdGhlbgorCVBZVEhPTl9TSVRFX1BBQ0tBR0VTPSIkd2l0aF9weXRob25faW5zdGFsbF9kaXIiCisgICAgZmkKKyAgICBpZiB0ZXN0ICIkUFlUSE9OX1ZFUlNJT04iICE9ICIiIC1hICIkUFlUSE9OX1NJVEVfUEFDS0FHRVMiID0gIiIKKyAgICB0aGVuCisJaWYgdGVzdCAtZCAkbGliZGlyL3B5dGhvbiRQWVRIT05fVkVSU0lPTi9zaXRlLXBhY2thZ2VzCisJdGhlbgorCSAgICBQWVRIT05fU0lURV9QQUNLQUdFUz0kbGliZGlyL3B5dGhvbiRQWVRIT05fVkVSU0lPTi9zaXRlLXBhY2thZ2VzCisJZWxzZQorCSAgICBpZiB0ZXN0IC1kICR3aXRoX3B5dGhvbi9saWIvc2l0ZS1wYWNrYWdlcworCSAgICB0aGVuCisJCVBZVEhPTl9TSVRFX1BBQ0tBR0VTPSR3aXRoX3B5dGhvbi9saWIvc2l0ZS1wYWNrYWdlcworCSAgICBlbHNlCisJCVBZVEhPTl9TSVRFX1BBQ0tBR0VTPWAkUFlUSE9OIC1jICJmcm9tIGRpc3R1dGlscyBpbXBvcnQgc3lzY29uZmlnOyBwcmludChzeXNjb25maWcuZ2V0X3B5dGhvbl9saWIoKSkiYAorCSAgICBmaQorCWZpCisgICAgZmkKKyAgICBweXRob25kaXI9JyQoUFlUSE9OX1NJVEVfUEFDS0FHRVMpJworICAgIFBZVEhPTl9MSUJTPWBweXRob24kUFlUSE9OX1ZFUlNJT04tY29uZmlnIC0tbGRmbGFnc2AKK2Vsc2UKKyAgICBQWVRIT049CitmaQorQU1fQ09ORElUSU9OQUwoV0lUSF9QWVRIT04sIHRlc3QgIiRQWVRIT05fSU5DTFVERVMiICE9ICIiKQoraWYgdGVzdCAiJFBZVEhPTl9JTkNMVURFUyIgIT0gIiIKK3RoZW4KKyAgICBQWVRIT05fU1VCRElSPXB5dGhvbgorZWxzZQorICAgIFBZVEhPTl9TVUJESVI9CitmaQorQUNfU1VCU1QocHl0aG9uZGlyKQorQUNfU1VCU1QoUFlUSE9OX1NVQkRJUikKK0FDX1NVQlNUKFBZVEhPTl9MSUJTKQorCitkbmwgY2hlY2sgZm9yIGRzbyBzdXBwb3J0CitXSVRIX01PRFVMRVM9MAorVEVTVF9NT0RVTEVTPQorCitpZiB0ZXN0ICIkd2l0aF9tb2R1bGVzIiAhPSAibm8iIDsgdGhlbgorIGNhc2UgIiRob3N0IiBpbgorICAqLSotY3lnd2luKikKKyAgTU9EVUxFX0VYVEVOU0lPTj0iLmRsbCIKKyAgQUNfQ0hFQ0tfTElCKGN5Z3dpbiwgZGxvcGVuLCBbCisgICAgV0lUSF9NT0RVTEVTPTEKKyAgICBNT0RVTEVfUExBVEZPUk1fTElCUz0KKyAgICBBQ19ERUZJTkUoW0hBVkVfRExPUEVOXSwgW10sIFtIYXZlIGRsb3BlbiBiYXNlZCBkc29dKQorICBdKQorICA7OworICAqLSotbWluZ3cqKQorICBNT0RVTEVfRVhURU5TSU9OPSIuZGxsIgorICBXSVRIX01PRFVMRVM9MQorICA7OworICAqKQorICBBQ19DSEVDS19GVU5DKHNobF9sb2FkLCBsaWJ4bWxfaGF2ZV9zaGxfbG9hZD15ZXMsIFsKKyAgICBBQ19DSEVDS19MSUIoZGxkLCBzaGxfbG9hZCwgWworICAgICAgTU9EVUxFX1BMQVRGT1JNX0xJQlM9Ii1sZGxkIgorICAgICAgbGlieG1sX2hhdmVfc2hsX2xvYWQ9eWVzXSwgWworICAgICAgQUNfQ0hFQ0tfRlVOQyhkbG9wZW4sIGxpYnhtbF9oYXZlX2Rsb3Blbj15ZXMsIFsKKyAgICAgICAgQUNfQ0hFQ0tfTElCKGRsLCBkbG9wZW4sIFsKKyAgICAgICAgICBNT0RVTEVfUExBVEZPUk1fTElCUz0iLWxkbCIKKyAgICAgICAgICBsaWJ4bWxfaGF2ZV9kbG9wZW49eWVzXSldKV0pXSkKKworICBpZiB0ZXN0ICIke2xpYnhtbF9oYXZlX3NobF9sb2FkfSIgPSAieWVzIjsgdGhlbgorICAgIE1PRFVMRV9FWFRFTlNJT049Ii5zbCIKKyAgICBXSVRIX01PRFVMRVM9MQorICAgIEFDX0RFRklORShbSEFWRV9TSExMT0FEXSwgW10sIFtIYXZlIHNobF9sb2FkIGJhc2VkIGRzb10pCisgIGZpCisgCisgIGlmIHRlc3QgIiR7bGlieG1sX2hhdmVfZGxvcGVufSIgPSAieWVzIjsgdGhlbgorICAgIGNhc2UgIiR7aG9zdH0iIGluCisgICAgICAqLSotaHB1eCogKQorCU1PRFVMRV9FWFRFTlNJT049Ii5zbCIKKwk7OworICAgICAgKiApCisJTU9EVUxFX0VYVEVOU0lPTj0iLnNvIgorCTs7CisgICAgZXNhYworCisgICAgV0lUSF9NT0RVTEVTPTEKKyAgICBBQ19ERUZJTkUoW0hBVkVfRExPUEVOXSwgW10sIFtIYXZlIGRsb3BlbiBiYXNlZCBkc29dKQorICBmaQorIDs7CisgZXNhYworZmkKKworaWYgdGVzdCAiJHtXSVRIX01PRFVMRVN9IiA9ICIxIjsgdGhlbgorICBURVNUX01PRFVMRVM9Ik1vZHVsZVRlc3RzIgorZmkgIAorCitBQ19TVUJTVChXSVRIX01PRFVMRVMpCitBQ19TVUJTVChNT0RVTEVfUExBVEZPUk1fTElCUykKK0FDX1NVQlNUKE1PRFVMRV9FWFRFTlNJT04pCitBQ19TVUJTVChURVNUX01PRFVMRVMpCisKK2RubAorZG5sIFRlc3RlciBtYWtlcyB1c2Ugb2YgcmVhZGxpbmUgaWYgcHJlc2VudAorZG5sCisKK2RubAorZG5sIHNwZWNpZmljIHRlc3RzIHRvIHNldHVwIERWIGFuZCBCaWxsJ3MgZGV2ZWwgZW52aXJvbm1lbnRzIHdpdGggZGVidWcgZXRjIC4uLgorZG5sICgtV3VucmVhY2hhYmxlLWNvZGUpCitkbmwKK2lmIFtbICIke0xPR05BTUV9IiA9ICJ2ZWlsbGFyZCIgLWEgImBwd2RgIiA9ICIvdS92ZWlsbGFyZC9YTUwiIF1dIHx8IFwKKyAgIFtbICIke0xPR05BTUV9IiA9ICJ2ZWlsbGFyZCIgLWEgImBwd2RgIiA9ICIvaG9tZS92ZWlsbGFyZC9saWJ4bWwyIiBdXSB8fCBcCisgICBbWyAiJHtMT0dOQU1FfSIgPSAiYmlsbCIgLWEgImBwd2RgIiA9ICIvaG9tZS9iaWxsL2dub21lc3ZuL2xpYnhtbDIiIF1dCisgICB0aGVuCisgICAgaWYgdGVzdCAiJHdpdGhfbWluaW11bSIgIT0gInllcyIKKyAgICB0aGVuCisJaWYgdGVzdCAiJHt3aXRoX21lbV9kZWJ1Z30iID0gIiIgOyB0aGVuCisJICAgIGVjaG8gQWN0aXZhdGluZyBtZW1vcnkgZGVidWdnaW5nCisJICAgIHdpdGhfbWVtX2RlYnVnPSJ5ZXMiCisJICAgIHdpdGhfcnVuX2RlYnVnPSJ5ZXMiCisJZmkKKwlpZiB0ZXN0ICIke3dpdGhfZG9jYm9va30iID0gIiIgOyB0aGVuCisJICAgIHdpdGhfZG9jYm9vaz0ieWVzIgorCWZpCisgICAgZmkKKyAgICBpZiB0ZXN0ICIke0dDQ30iID0gInllcyIgOyB0aGVuCisgICAgQ0ZMQUdTPSItZyAtTyAtcGVkYW50aWMgLVcgLVdmb3JtYXQgLVd1bnVzZWQgLVdpbXBsaWNpdCAtV3JldHVybi10eXBlIC1Xc3dpdGNoIC1XY29tbWVudCAtV3RyaWdyYXBocyAtV2Zvcm1hdCAtV2NoYXItc3Vic2NyaXB0cyAtV3VuaW5pdGlhbGl6ZWQgLVdwYXJlbnRoZXNlcyAtV3NoYWRvdyAtV3BvaW50ZXItYXJpdGggLVdjYXN0LWFsaWduIC1Xd3JpdGUtc3RyaW5ncyAtV2FnZ3JlZ2F0ZS1yZXR1cm4gLVdzdHJpY3QtcHJvdG90eXBlcyAtV21pc3NpbmctcHJvdG90eXBlcyAtV25lc3RlZC1leHRlcm5zIC1XaW5saW5lIC1XcmVkdW5kYW50LWRlY2xzIC1XYWxsIgorICAgIGZpCisgICAgU1RBVElDX0JJTkFSSUVTPSItc3RhdGljIgorZG5sIC1XY2FzdC1xdWFsIC1hbnNpCitlbHNlCisgICAgU1RBVElDX0JJTkFSSUVTPQorZmkKK0FDX1NVQlNUKFNUQVRJQ19CSU5BUklFUykKKworZG5sCitkbmwgQ2hlY2sgZm9yIHRyaW8gc3RyaW5nIGZ1bmN0aW9ucworZG5sCisKK2lmIHRlc3QgIiR7TkVFRF9UUklPfSIgPSAiMSIgOyB0aGVuCisgICAgZWNobyBBZGRpbmcgdHJpbyBsaWJyYXJ5IGZvciBzdHJpbmcgZnVuY3Rpb25zCisgICAgV0lUSF9UUklPPTEKK2Vsc2UgICAgCisgICAgV0lUSF9UUklPPTAKK2ZpCitBTV9DT05ESVRJT05BTChXSVRIX1RSSU9fU09VUkNFUywgdGVzdCAiJHtORUVEX1RSSU99IiA9ICIxIikKK0FDX1NVQlNUKFdJVEhfVFJJTykKKworZG5sCitkbmwgQWxsb3cgdG8gZW5hYmxlL2Rpc2FibGUgdmFyaW91cyBwaWVjZXMKK2RubAorZWNobyBDaGVja2luZyBjb25maWd1cmF0aW9uIHJlcXVpcmVtZW50cworCitkbmwKK2RubCBUaHJlYWQtcmVsYXRlZCBzdHVmZgorZG5sCitUSFJFQURfTElCUz0iIgorQkFTRV9USFJFQURfTElCUz0iIgorV0lUSF9USFJFQURTPTAKK1RIUkVBRF9DRkxBR1M9IiIKK1RFU1RfVEhSRUFEUz0iIgorVEhSRUFEU19XMzI9IiIKK1dJVEhfVEhSRUFEX0FMTE9DPTAKKworaWYgdGVzdCAiJHdpdGhfdGhyZWFkcyIgPSAibm8iIDsgdGhlbgorICAgIGVjaG8gRGlzYWJsaW5nIG11bHRpdGhyZWFkZWQgc3VwcG9ydAorZWxzZQorICAgIGVjaG8gRW5hYmxpbmcgbXVsdGl0aHJlYWRlZCBzdXBwb3J0CisKKyAgICBkbmwgRGVmYXVsdCB0byBuYXRpdmUgdGhyZWFkcyBvbiBXaW4zMgorICAgIGNhc2UgJGhvc3Rfb3MgaW4KKyAgICAgICAqbWluZ3czMiopIGlmIHRlc3QgIiR3aXRoX3RocmVhZHMiICE9ICJwdGhyZWFkIiAmJiB0ZXN0ICIkd2l0aF90aHJlYWRzIiAhPSAibm8iOyB0aGVuCisgICAgICAgICAgICAgICBXSVRIX1RIUkVBRFM9IjEiCisgICAgICAgICAgICAgICBUSFJFQURTX1czMj0iMSIKKyAgICAgICAgICAgICAgIFRIUkVBRF9DRkxBR1M9IiRUSFJFQURfQ0ZMQUdTIC1ESEFWRV9XSU4zMl9USFJFQURTIgorICAgICAgICAgICBmaQorICAgICAgIDs7CisgICAgZXNhYworCisgICAgZG5sIFVzZSBwdGhyZWFkIGJ5IGRlZmF1bHQgaW4gb3RoZXIgY2FzZXMKKyAgICBpZiB0ZXN0IC16ICIkVEhSRUFEU19XMzIiOyB0aGVuCisgICAgICAgIGlmIHRlc3QgIiR3aXRoX3RocmVhZHMiID0gInB0aHJlYWQiIHx8IHRlc3QgIiR3aXRoX3RocmVhZHMiID0gIiIgfHwgdGVzdCAiJHdpdGhfdGhyZWFkcyIgPSAieWVzIiA7IHRoZW4KKyAgICAgICAgICAgIEFDX0NIRUNLX0hFQURFUihwdGhyZWFkLmgsCisgICAgICAgICAgICAgICAgQUNfQ0hFQ0tfTElCKHB0aHJlYWQsIHB0aHJlYWRfam9pbixbCisgICAgICAgICAgICAgICAgVEhSRUFEX0xJQlM9Ii1scHRocmVhZCIKKyAgICAgICAgICAgICAgICBBQ19ERUZJTkUoW0hBVkVfTElCUFRIUkVBRF0sIFtdLCBbRGVmaW5lIGlmIHB0aHJlYWQgbGlicmFyeSBpcyB0aGVyZSAoLWxwdGhyZWFkKV0pCisgICAgICAgICAgICAgICAgQUNfREVGSU5FKFtIQVZFX1BUSFJFQURfSF0sIFtdLCBbRGVmaW5lIGlmIDxwdGhyZWFkLmg+IGlzIHRoZXJlXSkKKyAgICAgICAgICAgICAgICBXSVRIX1RIUkVBRFM9IjEiXSkpCisgICAgICAgIGZpCisgICAgZmkKKworICAgIGNhc2UgJGhvc3Rfb3MgaW4KKyAgICAgICAqY3lnd2luKikgVEhSRUFEX0xJQlM9IiIKKyAgICAgICA7OworICAgICAgICpiZW9zKikgV0lUSF9USFJFQURTPSIxIgorCSAgIFRIUkVBRF9DRkxBR1M9IiRUSFJFQURfQ0ZMQUdTIC1ESEFWRV9CRU9TX1RIUkVBRFMiCisgICAgICAgOzsKKyAgICAgICAqbGludXgqKQorICAgICAgICAgICBpZiB0ZXN0ICIke0dDQ30iID0gInllcyIgOyB0aGVuCisJICAgICAgIEdDQ19WRVJTSU9OPWAke0NDfSAtLXZlcnNpb24gfCBoZWFkIC0xIHwgYXdrICd7cHJpbnQgJDN9J2AKKwkgICAgICAgR0NDX01BSk9SPWBlY2hvICR7R0NDX1ZFUlNJT059IHwgc2VkICdzK1wuLiorKydgCisJICAgICAgIEdDQ19NRURJVU09YGVjaG8gJHtHQ0NfVkVSU0lPTn0gfCBzZWQgJ3MrW1swLTldXSpcLisrJyB8IHNlZCAncytcLi4qKysnYAorCSAgICAgICBpZiB0ZXN0ICIke1RIUkVBRF9MSUJTfSIgPSAiLWxwdGhyZWFkIiA7IHRoZW4KKwkgICAgICAgICAgIGlmIGV4cHIgJHtHQ0NfTUVESVVNfSBcPiAyIFwmICR7R0NDX01BSk9SfSA9IDMgPiAvZGV2L251bGwKKwkJICAgdGhlbgorCQkgICAgICAgVEhSRUFEX0xJQlM9IiIKKwkJICAgICAgIEJBU0VfVEhSRUFEX0xJQlM9Ii1scHRocmVhZCIKKwkJICAgZWxzZQorCQkgICBpZiBleHByICR7R0NDX01BSk9SfSBcPiAzID4gL2Rldi9udWxsCisJCSAgIHRoZW4KKwkJICAgICAgIFRIUkVBRF9MSUJTPSIiCisJCSAgICAgICBCQVNFX1RIUkVBRF9MSUJTPSItbHB0aHJlYWQiCisJCSAgIGVsc2UKKwkJICAgICAgIGVjaG8gb2xkIEdDQyBkaXNhYmxpbmcgd2VhayBzeW1ib2xzIGZvciBwdGhyZWFkCisJCSAgIGZpCisJCSAgIGZpCisJICAgICAgIGZpCisJICAgZmkKKyAgICAgICA7OworICAgIGVzYWMKKyAgICBpZiB0ZXN0ICIkV0lUSF9USFJFQURTIiA9ICIxIiA7IHRoZW4KKwlUSFJFQURfQ0ZMQUdTPSIkVEhSRUFEX0NGTEFHUyAtRF9SRUVOVFJBTlQiCisJVEVTVF9USFJFQURTPSJUaHJlYWR0ZXN0cyIKKyAgICBmaQorZmkKK2lmIHRlc3QgIiR3aXRoX3RocmVhZF9hbGxvYyIgPSAieWVzIiAtYSAiJFdJVEhfVEhSRUFEUyIgPSAiMSIgOyB0aGVuCisgICAgV0lUSF9USFJFQURfQUxMT0M9MQorZmkKKworQUNfU1VCU1QoVEhSRUFEX0xJQlMpCitBQ19TVUJTVChCQVNFX1RIUkVBRF9MSUJTKQorQUNfU1VCU1QoV0lUSF9USFJFQURTKQorQUNfU1VCU1QoVEhSRUFEX0NGTEFHUykKK0FDX1NVQlNUKFRFU1RfVEhSRUFEUykKK0FDX1NVQlNUKFdJVEhfVEhSRUFEX0FMTE9DKQorQU1fQ09ORElUSU9OQUwoW1RIUkVBRFNfVzMyXSxbdGVzdCAtbiAiJFRIUkVBRFNfVzMyIl0pCisKK2RubAorZG5sIHhtbGxpbnQgc2hlbGwgaGlzdG9yeQorZG5sCitpZiB0ZXN0ICIkd2l0aF9oaXN0b3J5IiA9ICJ5ZXMiIDsgdGhlbgorICAgIGVjaG8gRW5hYmxpbmcgeG1sbGludCBzaGVsbCBoaXN0b3J5CisgICAgZG5sIGNoZWNrIGZvciB0ZXJtaW5hbCBsaWJyYXJ5LiB0aGlzIGlzIGEgdmVyeSBjb29sIHNvbHV0aW9uCisgICAgZG5sIGZyb20gb2N0YXZlJ3MgY29uZmlndXJlLmluCisgICAgdW5zZXQgdGNhcAorICAgIGZvciB0ZXJtbGliIGluIG5jdXJzZXMgY3Vyc2VzIHRlcm1jYXAgdGVybWluZm8gdGVybWxpYjsgZG8KKwlBQ19DSEVDS19MSUIoJHt0ZXJtbGlifSwgdHB1dHMsIFt0Y2FwPSItbCR0ZXJtbGliIl0pCisJdGVzdCAtbiAiJHRjYXAiICYmIGJyZWFrCisgICAgZG9uZQorCisgICAgQUNfQ0hFQ0tfSEVBREVSKHJlYWRsaW5lL2hpc3RvcnkuaCwKKwlBQ19DSEVDS19MSUIoaGlzdG9yeSwgYXBwZW5kX2hpc3RvcnksWworCSAgIFJETF9MSUJTPSItbGhpc3RvcnkiCisJICAgQUNfREVGSU5FKFtIQVZFX0xJQkhJU1RPUlldLCBbXSwgW0RlZmluZSBpZiBoaXN0b3J5IGxpYnJhcnkgaXMgdGhlcmUgKC1saGlzdG9yeSldKV0pKQorICAgIEFDX0NIRUNLX0hFQURFUihyZWFkbGluZS9yZWFkbGluZS5oLAorCUFDX0NIRUNLX0xJQihyZWFkbGluZSwgcmVhZGxpbmUsWworCSAgIFJETF9MSUJTPSItbHJlYWRsaW5lICRSRExfTElCUyAkdGNhcCIKKwkgICBBQ19ERUZJTkUoW0hBVkVfTElCUkVBRExJTkVdLCBbXSwgW0RlZmluZSBpZiByZWFkbGluZSBsaWJyYXJ5IGlzIHRoZXJlICgtbHJlYWRsaW5lKV0pXSwgLCAkdGNhcCkpCisgICAgaWYgdGVzdCAtbiAiJFJETF9ESVIiIC1hIC1uICIkUkRMX0xJQlMiOyB0aGVuCisJQ1BQRkxBR1M9IiRDUFBGTEFHUyAtSSR7UkRMX0RJUn0vaW5jbHVkZSIKKwlSRExfTElCUz0iLUwke1JETF9ESVJ9L2xpYiAkUkRMX0xJQlMiCisgICAgZmkKK2ZpCisKK2RubAorZG5sIFRyZWUgZnVuY3Rpb25zCitkbmwKK2lmIHRlc3QgIiR3aXRoX3RyZWUiID0gIm5vIiA7IHRoZW4KKyAgICBlY2hvIERpc2FibGluZyBET00gbGlrZSB0cmVlIG1hbmlwdWxhdGlvbiBBUElzCisgICAgV0lUSF9UUkVFPTAKK2Vsc2UgICAgCisgICAgV0lUSF9UUkVFPTEKK2ZpCitBQ19TVUJTVChXSVRIX1RSRUUpCisKK2lmIHRlc3QgIiR3aXRoX2Z0cCIgPSAibm8iIDsgdGhlbgorICAgIGVjaG8gRGlzYWJsaW5nIEZUUCBzdXBwb3J0CisgICAgV0lUSF9GVFA9MAorICAgIEZUUF9PQko9CitlbHNlICAgIAorICAgIFdJVEhfRlRQPTEKKyAgICBGVFBfT0JKPW5hbm9mdHAubworZmkKK0FDX1NVQlNUKFdJVEhfRlRQKQorQUNfU1VCU1QoRlRQX09CSikKKworaWYgdGVzdCAiJHdpdGhfaHR0cCIgPSAibm8iIDsgdGhlbgorICAgIGVjaG8gRGlzYWJsaW5nIEhUVFAgc3VwcG9ydAorICAgIFdJVEhfSFRUUD0wCisgICAgSFRUUF9PQko9CitlbHNlICAgIAorICAgIFdJVEhfSFRUUD0xCisgICAgSFRUUF9PQko9bmFub2h0dHAubworZmkKK0FDX1NVQlNUKFdJVEhfSFRUUCkKK0FDX1NVQlNUKEhUVFBfT0JKKQorCitpZiB0ZXN0ICIkd2l0aF9sZWdhY3kiID0gIm5vIiA7IHRoZW4KKyAgICBlY2hvIERpc2FibGluZyBkZXByZWNhdGVkIEFQSXMKKyAgICBXSVRIX0xFR0FDWT0wCitlbHNlICAgIAorICAgIFdJVEhfTEVHQUNZPTEKK2ZpCitBQ19TVUJTVChXSVRIX0xFR0FDWSkKKworaWYgdGVzdCAiJHdpdGhfcmVhZGVyIiA9ICJubyIgOyB0aGVuCisgICAgZWNobyBEaXNhYmxpbmcgdGhlIHhtbFJlYWRlciBwYXJzaW5nIGludGVyZmFjZQorICAgIFdJVEhfUkVBREVSPTAKKyAgICBSRUFERVJfVEVTVD0KK2Vsc2UgICAgCisgICAgV0lUSF9SRUFERVI9MQorICAgIFJFQURFUl9URVNUPVJlYWRlcnRlc3RzCisgICAgaWYgdGVzdCAiJHdpdGhfcHVzaCIgPSAibm8iIDsgdGhlbgorICAgICAgICBlY2hvIHhtbFJlYWRlciByZXF1aXJlcyBQdXNoIGludGVyZmFjZSAtIGVuYWJsaW5nIGl0CisJd2l0aF9wdXNoPXllcworICAgIGZpCitmaQorQUNfU1VCU1QoV0lUSF9SRUFERVIpCitBQ19TVUJTVChSRUFERVJfVEVTVCkKKworaWYgdGVzdCAiJHdpdGhfd3JpdGVyIiA9ICJubyIgOyB0aGVuCisgICAgZWNobyBEaXNhYmxpbmcgdGhlIHhtbFdyaXRlciBzYXZpbmcgaW50ZXJmYWNlCisgICAgV0lUSF9XUklURVI9MAorIyAgICBXUklURVJfVEVTVD0KK2Vsc2UgICAgCisgICAgV0lUSF9XUklURVI9MQorIyAgICBXUklURVJfVEVTVD1Xcml0ZXJ0ZXN0cworICAgIGlmIHRlc3QgIiR3aXRoX3B1c2giID0gIm5vIiA7IHRoZW4KKyAgICAgICAgZWNobyB4bWxXcml0ZXIgcmVxdWlyZXMgUHVzaCBpbnRlcmZhY2UgLSBlbmFibGluZyBpdAorCXdpdGhfcHVzaD15ZXMKKyAgICBmaQorICAgIGlmIHRlc3QgIiR3aXRoX291dHB1dCIgPSAibm8iIDsgdGhlbgorICAgICAgICBlY2hvIHhtbFdyaXRlciByZXF1aXJlcyBPdXRwdXQgaW50ZXJmYWNlIC0gZW5hYmxpbmcgaXQKKwl3aXRoX291dHB1dD15ZXMKKyAgICBmaQorZmkKK0FDX1NVQlNUKFdJVEhfV1JJVEVSKQorI0FDX1NVQlNUKFdSSVRFUl9URVNUKQorCitpZiB0ZXN0ICIkd2l0aF9wYXR0ZXJuIiA9ICJubyIgOyB0aGVuCisgICAgZWNobyBEaXNhYmxpbmcgdGhlIHhtbFBhdHRlcm4gcGFyc2luZyBpbnRlcmZhY2UKKyAgICBXSVRIX1BBVFRFUk49MAorICAgIFRFU1RfUEFUVEVSTj0KK2Vsc2UgICAgCisgICAgV0lUSF9QQVRURVJOPTEKKyAgICBURVNUX1BBVFRFUk49UGF0dGVybnRlc3RzCitmaQorQUNfU1VCU1QoV0lUSF9QQVRURVJOKQorQUNfU1VCU1QoVEVTVF9QQVRURVJOKQorCitpZiB0ZXN0ICIkd2l0aF9zYXgxIiA9ICJubyIgOyB0aGVuCisgICAgZWNobyBEaXNhYmxpbmcgdGhlIG9sZGVyIFNBWDEgaW50ZXJmYWNlCisgICAgV0lUSF9TQVgxPTAKKyAgICBURVNUX1NBWD0KK2Vsc2UgICAgCisgICAgV0lUSF9TQVgxPTEKKyAgICBURVNUX1NBWD1TQVh0ZXN0cworZmkKK0FDX1NVQlNUKFdJVEhfU0FYMSkKK0FNX0NPTkRJVElPTkFMKFdJVEhfU0FYMV9TT1VSQ0VTLCB0ZXN0ICIke1dJVEhfVFJJT30iID0gIjEiKQorQUNfU1VCU1QoVEVTVF9TQVgpCisKK2lmIHRlc3QgIiR3aXRoX3B1c2giID0gIm5vIiA7IHRoZW4KKyAgICBlY2hvIERpc2FibGluZyB0aGUgUFVTSCBwYXJzZXIgaW50ZXJmYWNlcworICAgIFdJVEhfUFVTSD0wCisgICAgVEVTVF9QVVNIPQorZWxzZSAgICAKKyAgICBXSVRIX1BVU0g9MQorICAgIFRFU1RfUFVTSD0iWE1MUHVzaHRlc3RzIgorZmkKK0FDX1NVQlNUKFdJVEhfUFVTSCkKK0FDX1NVQlNUKFRFU1RfUFVTSCkKKworaWYgdGVzdCAiJHdpdGhfaHRtbCIgPSAibm8iIDsgdGhlbgorICAgIGVjaG8gRGlzYWJsaW5nIEhUTUwgc3VwcG9ydAorICAgIFdJVEhfSFRNTD0wCisgICAgSFRNTF9PQko9CisgICAgVEVTVF9IVE1MPQorZWxzZSAgICAKKyAgICBXSVRIX0hUTUw9MQorICAgIEhUTUxfT0JKPSJIVE1McGFyc2VyLm8gSFRNTHRyZWUubyIKKyAgICBURVNUX0hUTUw9SFRNTHRlc3RzCisgICAgaWYgdGVzdCAiJHdpdGhfcHVzaCIgIT0gIm5vIiA7IHRoZW4KKyAgICAgICAgVEVTVF9QSFRNTD1IVE1MUHVzaHRlc3RzCisgICAgZWxzZQorICAgICAgICBURVNUX1BIVE1MPQorICAgIGZpCitmaQorQUNfU1VCU1QoV0lUSF9IVE1MKQorQUNfU1VCU1QoSFRNTF9PQkopCitBQ19TVUJTVChURVNUX0hUTUwpCitBQ19TVUJTVChURVNUX1BIVE1MKQorCitpZiB0ZXN0ICIkd2l0aF92YWxpZCIgPSAibm8iIDsgdGhlbgorICAgIGVjaG8gRGlzYWJsaW5nIERURCB2YWxpZGF0aW9uIHN1cHBvcnQKKyAgICBXSVRIX1ZBTElEPTAKKyAgICBURVNUX1ZBTElEPQorICAgIFRFU1RfVlRJTUU9CitlbHNlICAgIAorICAgIFdJVEhfVkFMSUQ9MQorICAgIFRFU1RfVkFMSUQ9VmFsaWR0ZXN0cworICAgIFRFU1RfVlRJTUU9VlRpbWluZ3Rlc3RzCitmaQorQUNfU1VCU1QoV0lUSF9WQUxJRCkKK0FDX1NVQlNUKFRFU1RfVkFMSUQpCitBQ19TVUJTVChURVNUX1ZUSU1FKQorCitpZiB0ZXN0ICIkd2l0aF9jYXRhbG9nIiA9ICJubyIgOyB0aGVuCisgICAgZWNobyBEaXNhYmxpbmcgQ2F0YWxvZyBzdXBwb3J0CisgICAgV0lUSF9DQVRBTE9HPTAKKyAgICBDQVRBTE9HX09CSj0KKyAgICBURVNUX0NBVEFMT0c9CitlbHNlICAgIAorICAgIFdJVEhfQ0FUQUxPRz0xCisgICAgQ0FUQUxPR19PQko9ImNhdGFsb2cubyIKKyAgICBURVNUX0NBVEFMT0c9Q2F0YXRlc3RzCitmaQorQUNfU1VCU1QoV0lUSF9DQVRBTE9HKQorQUNfU1VCU1QoQ0FUQUxPR19PQkopCitBQ19TVUJTVChURVNUX0NBVEFMT0cpCisKK2lmIHRlc3QgIiR3aXRoX2RvY2Jvb2siID0gIm5vIiA7IHRoZW4KKyAgICBlY2hvIERpc2FibGluZyBEb2Nib29rIHN1cHBvcnQKKyAgICBXSVRIX0RPQ0I9MAorICAgIERPQ0JfT0JKPQorZWxzZSAgICAKKyAgICBXSVRIX0RPQ0I9MQorICAgIERPQ0JfT0JKPSJET0NCcGFyc2VyLm8iCitmaQorQUNfU1VCU1QoV0lUSF9ET0NCKQorQUNfU1VCU1QoRE9DQl9PQkopCisKKworaWYgdGVzdCAiJHdpdGhfeHB0ciIgPSAibm8iIDsgdGhlbgorICAgIGVjaG8gRGlzYWJsaW5nIFhQb2ludGVyIHN1cHBvcnQKKyAgICBXSVRIX1hQVFI9MAorICAgIFhQVFJfT0JKPQorICAgIFRFU1RfWFBUUj0KK2Vsc2UgICAgCisgICAgV0lUSF9YUFRSPTEKKyAgICBYUFRSX09CSj14cG9pbnRlci5vCisgICAgVEVTVF9YUFRSPVhQdHJ0ZXN0cworICAgIGlmIHRlc3QgIiR3aXRoX3hwYXRoIiA9ICJubyIgOyB0aGVuCisgICAgICAgIGVjaG8gWFBvaW50ZXIgcmVxdWlyZXMgWFBhdGggc3VwcG9ydCAtIGVuYWJsaW5nIGl0CisJd2l0aF94cGF0aD15ZXMKKyAgICBmaQorZmkKK0FDX1NVQlNUKFdJVEhfWFBUUikKK0FDX1NVQlNUKFhQVFJfT0JKKQorQUNfU1VCU1QoVEVTVF9YUFRSKQorCitpZiB0ZXN0ICIkd2l0aF9jMTRuIiA9ICJubyIgOyB0aGVuCisgICAgZWNobyBEaXNhYmxpbmcgQzE0TiBzdXBwb3J0CisgICAgV0lUSF9DMTROPTAKKyAgICBDMTROX09CSj0KKyAgICBURVNUX0MxNE49CitlbHNlICAgIAorICAgIFdJVEhfQzE0Tj0xCisgICAgQzE0Tl9PQko9ImMxNG4uYyIKKyAgICBURVNUX0MxNE49QzE0TnRlc3RzCisgICAgaWYgdGVzdCAiJHdpdGhfeHBhdGgiID0gIm5vIiA7IHRoZW4KKyAgICAgICAgZWNobyBDMTROIHJlcXVpcmVzIFhQYXRoIHN1cHBvcnQgLSBlbmFibGluZyBpdAorCXdpdGhfeHBhdGg9eWVzCisgICAgZmkKK2ZpCitBQ19TVUJTVChXSVRIX0MxNE4pCitBQ19TVUJTVChDMTROX09CSikKK0FDX1NVQlNUKFRFU1RfQzE0TikKKworaWYgdGVzdCAiJHdpdGhfeGluY2x1ZGUiID0gIm5vIiA7IHRoZW4KKyAgICBlY2hvIERpc2FibGluZyBYSW5jbHVkZSBzdXBwb3J0CisgICAgV0lUSF9YSU5DTFVERT0wCisgICAgWElOQ0xVREVfT0JKPQorICAgIHdpdGhfeGluY2x1ZGU9Im5vIgorICAgIFRFU1RfWElOQ0xVREU9CitlbHNlICAgIAorICAgIFdJVEhfWElOQ0xVREU9MQorICAgIFhJTkNMVURFX09CSj14aW5jbHVkZS5vCisgICAgVEVTVF9YSU5DTFVERT1YSW5jbHVkZXRlc3RzCisgICAgaWYgdGVzdCAiJHdpdGhfeHBhdGgiID0gIm5vIiA7IHRoZW4KKyAgICAgICAgZWNobyBYSW5jbHVkZSByZXF1aXJlcyBYUGF0aCBzdXBwb3J0IC0gZW5hYmxpbmcgaXQKKwl3aXRoX3hwYXRoPXllcworICAgIGZpCitmaQorQUNfU1VCU1QoV0lUSF9YSU5DTFVERSkKK0FDX1NVQlNUKFhJTkNMVURFX09CSikKK0FDX1NVQlNUKFRFU1RfWElOQ0xVREUpCisKK2lmIHRlc3QgIiR3aXRoX3hwdHIiID0gIiIgLWEgIiR3aXRoX3hwYXRoIiA9ICJubyIgOyB0aGVuCisgICAgd2l0aF94cHRyPW5vCitmaQorCitpZiB0ZXN0ICIkd2l0aF9zY2hlbWF0cm9uIiA9ICIiIC1hICIkd2l0aF94cGF0aCIgPSAibm8iIDsgdGhlbgorICAgIHdpdGhfc2NoZW1hdHJvbj1ubworZmkKKworaWYgdGVzdCAiJHdpdGhfc2NoZW1hdHJvbiIgPSAibm8iIDsgdGhlbgorICAgIGVjaG8gIkRpc2FibGluZyBTY2hlbWF0cm9uIHN1cHBvcnQiCisgICAgV0lUSF9TQ0hFTUFUUk9OPTAKKyAgICBURVNUX1NDSEVNQVRST049CitlbHNlIAorICAgIGVjaG8gIkVuYWJsZWQgU2NoZW1hdHJvbiBzdXBwb3J0IgorICAgIFdJVEhfU0NIRU1BVFJPTj0xCisgICAgVEVTVF9TQ0hFTUFUUk9OPSJTY2hlbWF0cm9udGVzdHMiCisgICAgd2l0aF94cGF0aD15ZXMKKyAgICB3aXRoX3BhdHRlcm49eWVzCisgICAgd2l0aF9zY2hlbWF0cm9uPXllcworZmkKK0FDX1NVQlNUKFdJVEhfU0NIRU1BVFJPTikKK0FDX1NVQlNUKFRFU1RfU0NIRU1BVFJPTikKKworaWYgdGVzdCAiJHdpdGhfeHBhdGgiID0gIm5vIiA7IHRoZW4KKyAgICBlY2hvIERpc2FibGluZyBYUEFUSCBzdXBwb3J0CisgICAgV0lUSF9YUEFUSD0wCisgICAgWFBBVEhfT0JKPQorICAgIFRFU1RfWFBBVEg9CitlbHNlICAgIAorICAgIFdJVEhfWFBBVEg9MQorICAgIFhQQVRIX09CSj14cGF0aC5vCisgICAgVEVTVF9YUEFUSD1YUGF0aHRlc3RzCitmaQorQUNfU1VCU1QoV0lUSF9YUEFUSCkKK0FDX1NVQlNUKFhQQVRIX09CSikKK0FDX1NVQlNUKFRFU1RfWFBBVEgpCisKK2RubAorZG5sIG91dHB1dCBmdW5jdGlvbnMKK2RubAoraWYgdGVzdCAiJHdpdGhfb3V0cHV0IiA9ICJubyIgOyB0aGVuCisgICAgZWNobyBEaXNhYmxpbmcgc2VyaWFsaXphdGlvbi9zYXZpbmcgc3VwcG9ydAorICAgIFdJVEhfT1VUUFVUPTAKK2Vsc2UgICAgCisgICAgV0lUSF9PVVRQVVQ9MQorZmkKK0FDX1NVQlNUKFdJVEhfT1VUUFVUKQorCitXSVRIX0lDT05WPTAKK2lmIHRlc3QgIiR3aXRoX2ljb252IiA9ICJubyIgOyB0aGVuCisgICAgZWNobyBEaXNhYmxpbmcgSUNPTlYgc3VwcG9ydAorZWxzZQorICAgIGlmIHRlc3QgIiR3aXRoX2ljb252IiAhPSAieWVzIiAtYSAiJHdpdGhfaWNvbnYiICE9ICIiIDsgdGhlbgorCUNQUEZMQUdTPSIke0NQUEZMQUdTfSAtSSR3aXRoX2ljb252L2luY2x1ZGUiCisJIyBFeHBvcnQgdGhpcyBzaW5jZSBvdXIgaGVhZGVycyBpbmNsdWRlIGljb252LmgKKwlYTUxfSU5DTFVERURJUj0iJHtYTUxfSU5DTFVERURJUn0gLUkkd2l0aF9pY29udi9pbmNsdWRlIgorCUlDT05WX0xJQlM9Ii1MJHdpdGhfaWNvbnYvbGliIgorICAgIGZpCisKKyAgICBBQ19DSEVDS19IRUFERVIoaWNvbnYuaCwKKwlBQ19NU0dfQ0hFQ0tJTkcoZm9yIGljb252KQorCUFDX0xJTktfSUZFTFNFKFtBQ19MQU5HX1BST0dSQU0oW1sjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8aWNvbnYuaD5dXSxbWworaWNvbnZfdCBjZCA9IGljb252X29wZW4gKCIiLCIiKTsKK2ljb252IChjZCwgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCk7XV0pXSxbCisJICAgIEFDX01TR19SRVNVTFQoeWVzKQorCSAgICBXSVRIX0lDT05WPTFdLFsKKwkgICAgQUNfTVNHX1JFU1VMVChubykKKwkgICAgQUNfTVNHX0NIRUNLSU5HKGZvciBpY29udiBpbiAtbGljb252KQorCisJICAgIF9sZGZsYWdzPSIke0xERkxBR1N9IgorCSAgICBfbGlicz0iJHtMSUJTfSIKKwkgICAgTERGTEFHUz0iJHtMREZMQUdTfSAke0lDT05WX0xJQlN9IgorCSAgICBMSUJTPSIke0xJQlN9IC1saWNvbnYiCisKKwkgICAgQUNfTElOS19JRkVMU0UoW0FDX0xBTkdfUFJPR1JBTShbWyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxpY29udi5oPl1dLFtbCitpY29udl90IGNkID0gaWNvbnZfb3BlbiAoIiIsIiIpOworaWNvbnYgKGNkLCBOVUxMLCBOVUxMLCBOVUxMLCBOVUxMKTtdXSldLFsKKwkJQUNfTVNHX1JFU1VMVCh5ZXMpCisJCVdJVEhfSUNPTlY9MQorCQlJQ09OVl9MSUJTPSIke0lDT05WX0xJQlN9IC1saWNvbnYiCisJCUxJQlM9IiR7X2xpYnN9IgorCQlMREZMQUdTPSIke19sZGZsYWdzfSJdLFsKKwkJQUNfTVNHX1JFU1VMVChubykKKwkJTElCUz0iJHtfbGlic30iCisJCUxERkxBR1M9IiR7X2xkZmxhZ3N9Il0pXSkpCisKKwlpZiB0ZXN0ICIkV0lUSF9JQ09OViIgPSAiMSIgOyB0aGVuCisJCUFDX01TR19DSEVDS0lORyhbZm9yIGljb252IGRlY2xhcmF0aW9uXSkKKwkJQUNfQ0FDSEVfVkFMKHhtbF9jdl9pY29udl9hcmcyLCBbCisJCQlBQ19DT01QSUxFX0lGRUxTRShbQUNfTEFOR19QUk9HUkFNKFtbI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPGljb252Lmg+CitleHRlcm4KKyNpZmRlZiBfX2NwbHVzcGx1cworIkMiCisjZW5kaWYKKyNpZiBkZWZpbmVkKF9fU1REQ19fKSB8fCBkZWZpbmVkKF9fY3BsdXNwbHVzKQorc2l6ZV90IGljb252IChpY29udl90IGNkLCBjaGFyICogKmluYnVmLCBzaXplX3QgKmluYnl0ZXNsZWZ0LCBjaGFyICogKm91dGJ1Ziwgc2l6ZV90ICpvdXRieXRlc2xlZnQpOworI2Vsc2UKK3NpemVfdCBpY29udigpOworI2VuZGlmCitdXSwgW10pXSwgeG1sX2N2X2ljb252X2FyZzI9IiIsIHhtbF9jdl9pY29udl9hcmcyPSJjb25zdCIpXSkKKworCQl4bWxfY3ZfaWNvbnZfZGVjbD0iZXh0ZXJuIHNpemVfdCBpY29udiAoaWNvbnZfdCBjZCwgJHhtbF9jdl9pY29udl9hcmcyIGNoYXIgKiAqaW5idWYsIHNpemVfdCAqaW5ieXRlc2xlZnQsIGNoYXIgKiAqb3V0YnVmLCBzaXplX3QgKm91dGJ5dGVzbGVmdCk7IgorCQlBQ19NU0dfUkVTVUxUKFske3htbF94eHg6LQorCX0keG1sX2N2X2ljb252X2RlY2xdKQorCQlBQ19ERUZJTkVfVU5RVU9URUQoSUNPTlZfQ09OU1QsICR4bWxfY3ZfaWNvbnZfYXJnMiwKKwkJCVtEZWZpbmUgYXMgY29uc3QgaWYgdGhlIGRlY2xhcmF0aW9uIG9mIGljb252KCkgbmVlZHMgY29uc3QuXSkKKwlmaQorZmkKK2Nhc2UgIiRob3N0IiBpbgorCSptaW5ndyopIE1fTElCUz0iIgorCTs7CisJKmJlb3MqKSBNX0xJQlM9IiIKKwk7OworICAgICAgICAqaGFpa3UqKSBNX0xJQlM9IiIKKyAgICAgICAgOzsKKwkqKSBNX0xJQlM9Ii1sbSIKKwk7OworZXNhYworWE1MX0xJQlM9Ii1seG1sMiAkWl9MSUJTICRUSFJFQURfTElCUyAkSUNPTlZfTElCUyAkTV9MSUJTICRMSUJTIgorWE1MX0xJQlRPT0xMSUJTPSJsaWJ4bWwyLmxhIgorQUNfU1VCU1QoV0lUSF9JQ09OVikKKworV0lUSF9JQ1U9MAorSUNVX0xJQlM9IiIKK2lmIHRlc3QgIiR3aXRoX2ljdSIgIT0gInllcyIgOyB0aGVuCisgICAgZWNobyBEaXNhYmxpbmcgSUNVIHN1cHBvcnQKK2Vsc2UKKyAgICBJQ1VfQ09ORklHPWljdS1jb25maWcKKyAgICBpZiAke0lDVV9DT05GSUd9IC0tY2ZsYWdzID4vZGV2L251bGwgMj4mMQorICAgIHRoZW4KKyAgICAgICAgSUNVX0xJQlM9YCR7SUNVX0NPTkZJR30gLS1sZGZsYWdzYAorICAgICAgICBXSVRIX0lDVT0xCisgICAgICAgIGVjaG8gRW5hYmxpbmcgSUNVIHN1cHBvcnQKKyAgICBlbHNlCisgICAgICAgIEFDX01TR19FUlJPUihbbGliaWN1IGNvbmZpZyBwcm9ncmFtIGljdS1jb25maWcgbm90IGZvdW5kXSkKKyAgICBmaQorZmkKK0FDX1NVQlNUKFdJVEhfSUNVKQorQUNfU1VCU1QoSUNVX0xJQlMpCisKK1dJVEhfSVNPODg1OVg9MQoraWYgdGVzdCAiJFdJVEhfSUNPTlYiICE9ICIxIiA7IHRoZW4KK2lmIHRlc3QgIiR3aXRoX2lzbzg4NTl4IiA9ICJubyIgOyB0aGVuCisgICAgZWNobyBEaXNhYmxpbmcgSVNPODg1OVggc3VwcG9ydAorICAgIFdJVEhfSVNPODg1OVg9MAorZmkKK2ZpCitBQ19TVUJTVChXSVRIX0lTTzg4NTlYKQorCitpZiB0ZXN0ICIkd2l0aF9zY2hlbWFzIiA9ICJubyIgOyB0aGVuCisgICAgZWNobyAiRGlzYWJsaW5nIFNjaGVtYXMvUmVsYXgtTkcgc3VwcG9ydCIKKyAgICBXSVRIX1NDSEVNQVM9MAorICAgIFRFU1RfU0NIRU1BUz0KK2Vsc2UgICAgCisgICAgZWNobyAiRW5hYmxlZCBTY2hlbWFzL1JlbGF4LU5HIHN1cHBvcnQiCisgICAgV0lUSF9TQ0hFTUFTPTEKKyAgICBURVNUX1NDSEVNQVM9IlNjaGVtYXN0ZXN0cyBSZWxheHRlc3RzIgorICAgIGlmIHRlc3QgIiRQWVRIT05fSU5DTFVERVMiICE9ICIiIDsgdGhlbgorICAgICAgICBQWVRIT05fVEVTVFM9IiRQWVRIT05fVEVTVFMgUmVsYXhOR1B5dGhvblRlc3RzIFNjaGVtYXNQeXRob25UZXN0cyIKKyAgICBmaQorICAgIHdpdGhfcmVnZXhwcz15ZXMKK2ZpCitBQ19TVUJTVChXSVRIX1NDSEVNQVMpCitBQ19TVUJTVChURVNUX1NDSEVNQVMpCisKK2lmIHRlc3QgIiR3aXRoX3JlZ2V4cHMiID0gIm5vIiA7IHRoZW4KKyAgICBlY2hvIERpc2FibGluZyBSZWdleHBzIHN1cHBvcnQKKyAgICBXSVRIX1JFR0VYUFM9MAorICAgIFRFU1RfUkVHRVhQUz0KK2Vsc2UgICAgCisgICAgV0lUSF9SRUdFWFBTPTEKKyAgICBURVNUX1JFR0VYUFM9IlJlZ2V4cHRlc3RzIEF1dG9tYXRhdGVzdHMiCitmaQorQUNfU1VCU1QoV0lUSF9SRUdFWFBTKQorQUNfU1VCU1QoVEVTVF9SRUdFWFBTKQorCitpZiB0ZXN0ICIkd2l0aF9kZWJ1ZyIgPSAibm8iIDsgdGhlbgorICAgIGVjaG8gRGlzYWJsaW5nIERFQlVHIHN1cHBvcnQKKyAgICBXSVRIX0RFQlVHPTAKKyAgICBERUJVR19PQko9CisgICAgVEVTVF9ERUJVRz0KK2Vsc2UgICAgCisgICAgV0lUSF9ERUJVRz0xCisgICAgREVCVUdfT0JKPWRlYnVnWE1MLm8KKyAgICBURVNUX0RFQlVHPVNjcmlwdHRlc3RzCitmaQorQUNfU1VCU1QoV0lUSF9ERUJVRykKK0FDX1NVQlNUKERFQlVHX09CSikKK0FDX1NVQlNUKFRFU1RfREVCVUcpCisKK2lmIHRlc3QgIiR3aXRoX21lbV9kZWJ1ZyIgPSAieWVzIiA7IHRoZW4KKyAgICBpZiB0ZXN0ICIkd2l0aF90aHJlYWRfYWxsb2MiID0gInllcyIgOyB0aGVuCisgICAgICAgIGVjaG8gRGlzYWJsaW5nIG1lbW9yeSBkZWJ1ZyAtIGNhbm5vdCB1c2UgbWVtLWRlYnVnIHdpdGggdGhyZWFkLWFsbG9jIQorCVdJVEhfTUVNX0RFQlVHPTAKKyAgICBlbHNlCisgICAgICAgIGVjaG8gRW5hYmxpbmcgbWVtb3J5IGRlYnVnIHN1cHBvcnQKKyAgICAgICAgV0lUSF9NRU1fREVCVUc9MQorICAgIGZpCitlbHNlICAgIAorICAgIFdJVEhfTUVNX0RFQlVHPTAKK2ZpCitBQ19TVUJTVChXSVRIX01FTV9ERUJVRykKKworaWYgdGVzdCAiJHdpdGhfcnVuX2RlYnVnIiA9ICJ5ZXMiIDsgdGhlbgorICAgIGVjaG8gRW5hYmxpbmcgcnVudGltZSBkZWJ1ZyBzdXBwb3J0CisgICAgV0lUSF9SVU5fREVCVUc9MQorZWxzZSAgICAKKyAgICBXSVRIX1JVTl9ERUJVRz0wCitmaQorQUNfU1VCU1QoV0lUSF9SVU5fREVCVUcpCisKK1dJTjMyX0VYVFJBX0xJQkFERD0KK1dJTjMyX0VYVFJBX0xERkxBR1M9CitDWUdXSU5fRVhUUkFfTERGTEFHUz0KK0NZR1dJTl9FWFRSQV9QWVRIT05fTElCQUREPQorV0lOMzJfRVhUUkFfUFlUSE9OX0xJQkFERD0KK2Nhc2UgIiRob3N0IiBpbgorICotKi1taW5ndyopCisgQ1BQRkxBR1M9IiRDUFBGTEFHUyAtRFdJTjMyIgorIFdJTjMyX0VYVFJBX0xJQkFERD0iLWx3czJfMzIiCisgV0lOMzJfRVhUUkFfTERGTEFHUz0iLW5vLXVuZGVmaW5lZCIKKyBBQ19ERUZJTkUoW19XSU5TT0NLQVBJX10sMSxbVXNpbmcgdGhlIFdpbjMyIFNvY2tldCBpbXBsZW1lbnRhdGlvbl0pCisgaWYgdGVzdCAiJHtQWVRIT059IiAhPSAiIgorIHRoZW4KKyAgIFdJTjMyX0VYVFJBX1BZVEhPTl9MSUJBREQ9Ii1MJHtweXRob25kaXJ9Ly4uLy4uL2xpYnMgLWxweXRob24kKGVjaG8gJHtQWVRIT05fVkVSU0lPTn0gfCB0ciAtZCAuKSIKKyBmaQorIDs7CisgKi0qLWN5Z3dpbiopCisgQ1lHV0lOX0VYVFJBX0xERkxBR1M9Ii1uby11bmRlZmluZWQiCisgaWYgdGVzdCAiJHtQWVRIT059IiAhPSAiIgorIHRoZW4KKyAgIENZR1dJTl9FWFRSQV9QWVRIT05fTElCQUREPSItTC91c3IvbGliL3B5dGhvbiR7UFlUSE9OX1ZFUlNJT059L2NvbmZpZyAtbHB5dGhvbiR7UFlUSE9OX1ZFUlNJT059IgorIGZpCisgOzsKK2VzYWMKK0FDX1NVQlNUKFdJTjMyX0VYVFJBX0xJQkFERCkKK0FDX1NVQlNUKFdJTjMyX0VYVFJBX0xERkxBR1MpCitBQ19TVUJTVChXSU4zMl9FWFRSQV9QWVRIT05fTElCQUREKQorQUNfU1VCU1QoQ1lHV0lOX0VYVFJBX0xERkxBR1MpCitBQ19TVUJTVChDWUdXSU5fRVhUUkFfUFlUSE9OX0xJQkFERCkKKworZG5sIENoZWNraW5nIHRoZSBzdGFuZGFyZCBzdHJpbmcgZnVuY3Rpb25zIGF2YWlsYWJpbGl0eQorZG5sCitkbmwgTm90ZSBtaW5ndyogaGFzIEM5OSBpbXBsZW1lbnRhdGlvbiB0aGF0IHByb2R1Y2UgZXhwZWN0ZWQgeG1sIG51bWJlcnMKK2RubCBpZiBjb2RlIHVzZSB7dn1zbnByaW50ZiBmdW5jdGlvbnMuCitkbmwgSWYgeW91IGxpa2UgdG8gYWN0aXZhdGUgYXQgcnVuLXRpbWUgQzk5IGNvbXBhdGlibGUgbnVtYmVyIG91dHB1dAorZG5sIHNlZSByZWxlYXNlIG5vdGUgZm9yIG1pbmd3IHJ1bnRpbWUgMy4xNToKK2RubCAgaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0L3Nob3dub3Rlcy5waHA/cmVsZWFzZV9pZD0yNDgzMgorZG5sCitkbmwgQWxzbyAqd2luMzIqY29uZmlnLmggZmlsZXMgcmVkZWZpbmUgdGhlbSBmb3IgdmFyaW91cyBNU0MgY29tcGlsZXJzLgorZG5sCitkbmwgU28gZG8gbm90IHJlZGVmaW5lIHt2fXNucHJpbnRmIHRvIF97dn1zbnByaW50ZiBsaWtlIGZvbGx3aW5nOgorZG5sICBBQ19ERUZJTkUoW3NucHJpbnRmXSxbX3NucHJpbnRmXSxbV2luMzIgU3RkIEMgbmFtZSBtYW5nbGluZyB3b3JrLWFyb3VuZF0pCitkbmwgIEFDX0RFRklORShbdnNucHJpbnRmXSxbX3ZzbnByaW50Zl0sW1dpbjMyIFN0ZCBDIG5hbWUgbWFuZ2xpbmcgd29yay1hcm91bmRdKQorZG5sIGFuZCBkbyBub3QgcmVkZWZpbmUgdGhvc2UgZnVuY3Rpb25zIGlzIEMtc291cmNlIGZpbGVzLgorZG5sCitBQ19DSEVDS19GVU5DUyhwcmludGYgc3ByaW50ZiBmcHJpbnRmIHNucHJpbnRmIHZmcHJpbnRmIHZzcHJpbnRmIHZzbnByaW50ZiBzc2NhbmYsLAorCU5FRURfVFJJTz0xKQorCitpZiB0ZXN0ICIkd2l0aF9jb3ZlcmFnZSIgPSAieWVzIiAtYSAiJHtHQ0N9IiA9ICJ5ZXMiCit0aGVuCisgICAgZWNobyBFbmFibGluZyBjb2RlIGNvdmVyYWdlIGZvciBHQ0MKKyAgICBDRkxBR1M9IiRDRkxBR1MgLWZwcm9maWxlLWFyY3MgLWZ0ZXN0LWNvdmVyYWdlIgorICAgIExERkxBR1M9IiRMREZMQUdTIC1mcHJvZmlsZS1hcmNzIC1mdGVzdC1jb3ZlcmFnZSIKK2Vsc2UKKyAgICBlY2hvIERpc2FibGluZyBjb2RlIGNvdmVyYWdlIGZvciBHQ0MKK2ZpCisKK0FDX1NVQlNUKENQUEZMQUdTKQorQUNfU1VCU1QoQ0ZMQUdTKQorQUNfU1VCU1QoTERGTEFHUykKK0FDX1NVQlNUKFhNTF9DRkxBR1MpCisKK0FDX1NVQlNUKFhNTF9MSUJESVIpCitBQ19TVUJTVChYTUxfTElCUykKK0FDX1NVQlNUKFhNTF9MSUJUT09MTElCUykKK0FDX1NVQlNUKElDT05WX0xJQlMpCitBQ19TVUJTVChYTUxfSU5DTFVERURJUikKK0FDX1NVQlNUKEhUTUxfRElSKQorQUNfU1VCU1QoSEFWRV9JU05BTikKK0FDX1NVQlNUKEhBVkVfSVNJTkYpCitBQ19TVUJTVChQWVRIT04pCitBQ19TVUJTVChQWVRIT05fVkVSU0lPTikKK0FDX1NVQlNUKFBZVEhPTl9JTkNMVURFUykKK0FDX1NVQlNUKFBZVEhPTl9TSVRFX1BBQ0tBR0VTKQorCitBQ19TVUJTVChNX0xJQlMpCitBQ19TVUJTVChSRExfTElCUykKKworZG5sIGZvciB0aGUgc3BlYyBmaWxlCitSRUxEQVRFPWBkYXRlICsnJWEgJWIgJWUgJVknYAorQUNfU1VCU1QoUkVMREFURSkKK0FDX1NVQlNUKFBZVEhPTl9URVNUUykKKworcm0gLWYgQ09QWUlORy5MSUIgQ09QWUlORworbG4gLXMgJHNyY2Rpci9Db3B5cmlnaHQgQ09QWUlORworCisjIGtlZXAgb24gb25lIGxpbmUgZm9yIGN5Z3dpbiBjLmYuICMxMzA4OTYKK0FDX0NPTkZJR19GSUxFUyhbbGlieG1sMi5zcGVjOmxpYnhtbC5zcGVjLmluIE1ha2VmaWxlIGluY2x1ZGUvTWFrZWZpbGUgaW5jbHVkZS9saWJ4bWwvTWFrZWZpbGUgZG9jL01ha2VmaWxlIGRvYy9leGFtcGxlcy9NYWtlZmlsZSBkb2MvZGV2aGVscC9NYWtlZmlsZSBleGFtcGxlL01ha2VmaWxlIHB5dGhvbi9NYWtlZmlsZSBweXRob24vdGVzdHMvTWFrZWZpbGUgeHN0Yy9NYWtlZmlsZSBpbmNsdWRlL2xpYnhtbC94bWx2ZXJzaW9uLmggbGlieG1sLTIuMC5wYyBsaWJ4bWwtMi4wLXVuaW5zdGFsbGVkLnBjIGxpYnhtbDItY29uZmlnLmNtYWtlXSkKK0FDX0NPTkZJR19GSUxFUyhbcHl0aG9uL3NldHVwLnB5XSwgW2NobW9kICt4IHB5dGhvbi9zZXR1cC5weV0pCitBQ19DT05GSUdfRklMRVMoW3htbDItY29uZmlnXSwgW2NobW9kICt4IHhtbDItY29uZmlnXSkKK0FDX09VVFBVVAorCitlY2hvIERvbmUgY29uZmlndXJpbmcKZGlmZiAtLWdpdCBhL2xpYnhtbDIvZGJnZW4ucGwgYi9saWJ4bWwyL2RiZ2VuLnBsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjEzODNkNmUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RiZ2VuLnBsCkBAIC0wLDAgKzEsNDMgQEAKKyMhL3Vzci9iaW4vcGVybAorCiskc2l6ZSA9IHNoaWZ0OworCitpZiAoJHNpemUgZXEgIiIpIAoreworICAgIGRpZSAidXNhZ2U6ICBkYmdlbi5wbCBbc2l6ZV1cbiI7Cit9CisKK0BmaXJzdG5hbWVzID0gKCJBbCIsICJCb2IiLCAiQ2hhcmxlcyIsICJEYXZpZCIsICJFZ29uIiwgIkZhcmJvb2QiLCAKKyAgICAgICAgICAgICAgICJHZW9yZ2UiLCAiSGFuayIsICJJbmtpIiwgIkphbWVzIik7CitAbGFzdG5hbWVzID0gKCJBcmFub3ciLCAiQmFya2VyIiwgIkNvcnNldHRpIiwgIkRlcnNob3dpdHoiLCAiRW5nbGVtYW4iLCAKKyAgICAgICAgICAgICAgIkZyYW5rbGluIiwgIkdyaWNlIiwgIkhhdmVyZm9yZCIsICJJbHZlZHNvbiIsICJKb25lcyIpOworQHN0YXRlcyA9ICgiQUwiLCAiQUsiLCAiQVoiLCAiQVIiLCAiQ0EiLCAiQ08iLCAiQ1QiLCAiREUiLCAiRkwiLCAiR0EiLCAKKyAgICAgICAgICAgIkhJIiwgIklEIiwgIklMIiwgIklOIiwgIklBIiwgIktTIiwgIktZIiwgIkxBIiwgIk1FIiwgIk1EIiwgCisgICAgICAgICAgICJNQSIsICJNSSIsICJNTiIsICJNUyIsICJNTyIsICJNVCIsICJORSIsICJOViIsICJOSCIsICJOSiIsIAorICAgICAgICAgICAiTk0iLCAiTlkiLCAiTkMiLCAiTkQiLCAiT0giLCAiT0siLCAiT1IiLCAiUEEiLCAiUkkiLCAiU0MiLCAKKyAgICAgICAgICAgIlNEIiwgIlROIiwgIlRYIiwgIlVUIiwgIlZUIiwgIlZBIiwgIldBIiwgIldWIiwgIldJIiwgIldZIik7CisKK3ByaW50ICI8P3htbCB2ZXJzaW9uPVwiMS4wXCI/PlxuIjsKK3ByaW50ICJcbiI7CitwcmludCAiPHRhYmxlPlxuIjsKKworZm9yICgkaT0wOyAkaTwkc2l6ZTsgJGkrKykKK3sKKyAgICAkZmlyc3QgPSAkZmlyc3RuYW1lcyBbJGkgJSAxMF07CisgICAgJGxhc3QgPSAkbGFzdG5hbWVzIFsoJGkgLyAxMCkgJSAxMF07CisgICAgJHN0YXRlID0gJHN0YXRlcyBbKCRpIC8gMTAwKSAlIDUwXTsKKyAgICAkemlwID0gMjIwMDAgKyAkaSAvIDUwMDA7CisKKyAgICBwcmludGYgIiAgPHJvdz5cbiI7CisgICAgcHJpbnRmICIgICAgPGlkPiUwNGQ8L2lkPlxuIiwgJGk7CisgICAgcHJpbnRmICIgICAgPGZpcnN0bmFtZT4kZmlyc3Q8L2ZpcnN0bmFtZT5cbiIsICRpOworICAgIHByaW50ZiAiICAgIDxsYXN0bmFtZT4kbGFzdDwvbGFzdG5hbWU+XG4iLCAkaTsKKyAgICBwcmludGYgIiAgICA8c3RyZWV0PiVkIEFueSBTdC48L3N0cmVldD5cbiIsICgkaSAlIDEwMCkgKyAxOworICAgIHByaW50ZiAiICAgIDxjaXR5PkFueXRvd248L2NpdHk+XG4iOworICAgIHByaW50ZiAiICAgIDxzdGF0ZT4kc3RhdGU8L3N0YXRlPlxuIjsKKyAgICBwcmludGYgIiAgICA8emlwPiVkPC96aXA+XG4iLCAkemlwOworICAgIHByaW50ZiAiICA8L3Jvdz5cbiI7Cit9CisKK3ByaW50ICI8L3RhYmxlPlxuIjsKKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kYmdlbmF0dHIucGwgYi9saWJ4bWwyL2RiZ2VuYXR0ci5wbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kY2UxMWNkCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kYmdlbmF0dHIucGwKQEAgLTAsMCArMSw0MiBAQAorIyEvdXNyL2Jpbi9wZXJsCisKKyRzaXplID0gc2hpZnQ7CisKK2lmICgkc2l6ZSBlcSAiIikgCit7CisgICAgZGllICJ1c2FnZTogIGRiZ2VuLnBsIFtzaXplXVxuIjsKK30KKworQGZpcnN0bmFtZXMgPSAoIkFsIiwgIkJvYiIsICJDaGFybGVzIiwgIkRhdmlkIiwgIkVnb24iLCAiRmFyYm9vZCIsIAorICAgICAgICAgICAgICAgIkdlb3JnZSIsICJIYW5rIiwgIklua2kiLCAiSmFtZXMiKTsKK0BsYXN0bmFtZXMgPSAoIkFyYW5vdyIsICJCYXJrZXIiLCAiQ29yc2V0dGkiLCAiRGVyc2hvd2l0eiIsICJFbmdsZW1hbiIsIAorICAgICAgICAgICAgICAiRnJhbmtsaW4iLCAiR3JpY2UiLCAiSGF2ZXJmb3JkIiwgIklsdmVkc29uIiwgIkpvbmVzIik7CitAc3RhdGVzID0gKCJBTCIsICJBSyIsICJBWiIsICJBUiIsICJDQSIsICJDTyIsICJDVCIsICJERSIsICJGTCIsICJHQSIsIAorICAgICAgICAgICAiSEkiLCAiSUQiLCAiSUwiLCAiSU4iLCAiSUEiLCAiS1MiLCAiS1kiLCAiTEEiLCAiTUUiLCAiTUQiLCAKKyAgICAgICAgICAgIk1BIiwgIk1JIiwgIk1OIiwgIk1TIiwgIk1PIiwgIk1UIiwgIk5FIiwgIk5WIiwgIk5IIiwgIk5KIiwgCisgICAgICAgICAgICJOTSIsICJOWSIsICJOQyIsICJORCIsICJPSCIsICJPSyIsICJPUiIsICJQQSIsICJSSSIsICJTQyIsIAorICAgICAgICAgICAiU0QiLCAiVE4iLCAiVFgiLCAiVVQiLCAiVlQiLCAiVkEiLCAiV0EiLCAiV1YiLCAiV0kiLCAiV1kiKTsKKworcHJpbnQgIjw/eG1sIHZlcnNpb249XCIxLjBcIj8+XG4iOworcHJpbnQgIlxuIjsKK3ByaW50ICI8dGFibGU+XG4iOworCitmb3IgKCRpPTA7ICRpPCRzaXplOyAkaSsrKQoreworICAgICRmaXJzdCA9ICRmaXJzdG5hbWVzIFskaSAlIDEwXTsKKyAgICAkbGFzdCA9ICRsYXN0bmFtZXMgWygkaSAvIDEwKSAlIDEwXTsKKyAgICAkc3RhdGUgPSAkc3RhdGVzIFsoJGkgLyAxMDApICUgNTBdOworICAgICR6aXAgPSAyMjAwMCArICRpIC8gNTAwMDsKKworICAgIHByaW50ZiAiICA8cm93XG4iOworICAgIHByaW50ZiAiICAgIGlkPSclMDRkJ1xuIiwgJGk7CisgICAgcHJpbnRmICIgICAgZmlyc3RuYW1lPSckZmlyc3QnXG4iLCAkaTsKKyAgICBwcmludGYgIiAgICBsYXN0bmFtZT0nJGxhc3QnXG4iLCAkaTsKKyAgICBwcmludGYgIiAgICBzdHJlZXQ9JyVkIEFueSBTdC4nXG4iLCAoJGkgJSAxMDApICsgMTsKKyAgICBwcmludGYgIiAgICBjaXR5PSdBbnl0b3duJ1xuIjsKKyAgICBwcmludGYgIiAgICBzdGF0ZT0nJHN0YXRlJ1xuIjsKKyAgICBwcmludGYgIiAgICB6aXA9JyVkJy8+XG4iLCAkemlwOworfQorCitwcmludCAiPC90YWJsZT5cbiI7CisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvZGVidWdYTUwuYyBiL2xpYnhtbDIvZGVidWdYTUwuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMDVmZGZmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kZWJ1Z1hNTC5jCkBAIC0wLDAgKzEsMzQyOCBAQAorLyoKKyAqIGRlYnVnWE1MLmMgOiBUaGlzIGlzIGEgc2V0IG9mIHJvdXRpbmVzIHVzZWQgZm9yIGRlYnVnZ2luZyB0aGUgdHJlZQorICogICAgICAgICAgICAgIHByb2R1Y2VkIGJ5IHRoZSBYTUwgcGFyc2VyLgorICoKKyAqIFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyAqCisgKiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisgKi8KKworI2RlZmluZSBJTl9MSUJYTUwKKyNpbmNsdWRlICJsaWJ4bWwuaCIKKyNpZmRlZiBMSUJYTUxfREVCVUdfRU5BQkxFRAorCisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaWZkZWYgSEFWRV9TVERMSUJfSAorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9TVFJJTkdfSAorI2luY2x1ZGUgPHN0cmluZy5oPgorI2VuZGlmCisjaW5jbHVkZSA8bGlieG1sL3htbG1lbW9yeS5oPgorI2luY2x1ZGUgPGxpYnhtbC90cmVlLmg+CisjaW5jbHVkZSA8bGlieG1sL3BhcnNlci5oPgorI2luY2x1ZGUgPGxpYnhtbC9wYXJzZXJJbnRlcm5hbHMuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvdmFsaWQuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvZGVidWdYTUwuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvSFRNTHRyZWUuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvSFRNTHBhcnNlci5oPgorI2luY2x1ZGUgPGxpYnhtbC94bWxlcnJvci5oPgorI2luY2x1ZGUgPGxpYnhtbC9nbG9iYWxzLmg+CisjaW5jbHVkZSA8bGlieG1sL3hwYXRoSW50ZXJuYWxzLmg+CisjaW5jbHVkZSA8bGlieG1sL3VyaS5oPgorI2lmZGVmIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQKKyNpbmNsdWRlIDxsaWJ4bWwvcmVsYXhuZy5oPgorI2VuZGlmCisKKyNkZWZpbmUgRFVNUF9URVhUX1RZUEUgMQorCit0eXBlZGVmIHN0cnVjdCBfeG1sRGVidWdDdHh0IHhtbERlYnVnQ3R4dDsKK3R5cGVkZWYgeG1sRGVidWdDdHh0ICp4bWxEZWJ1Z0N0eHRQdHI7CitzdHJ1Y3QgX3htbERlYnVnQ3R4dCB7CisgICAgRklMRSAqb3V0cHV0OyAgICAgICAgICAgICAgIC8qIHRoZSBvdXRwdXQgZmlsZSAqLworICAgIGNoYXIgc2hpZnRbMTAxXTsgICAgICAgICAgICAvKiB1c2VkIGZvciBpbmRlbnRpbmcgKi8KKyAgICBpbnQgZGVwdGg7ICAgICAgICAgICAgICAgICAgLyogY3VycmVudCBkZXB0aCAqLworICAgIHhtbERvY1B0ciBkb2M7ICAgICAgICAgICAgICAvKiBjdXJyZW50IGRvY3VtZW50ICovCisgICAgeG1sTm9kZVB0ciBub2RlOwkJLyogY3VycmVudCBub2RlICovCisgICAgeG1sRGljdFB0ciBkaWN0OwkJLyogdGhlIGRvYyBkaWN0aW9ubmFyeSAqLworICAgIGludCBjaGVjazsgICAgICAgICAgICAgICAgICAvKiBkbyBqdXN0IGNoZWNraW5ncyAqLworICAgIGludCBlcnJvcnM7ICAgICAgICAgICAgICAgICAvKiBudW1iZXIgb2YgZXJyb3JzIGZvdW5kICovCisgICAgaW50IG5vZGljdDsJCQkvKiBpZiB0aGUgZG9jdW1lbnQgaGFzIG5vIGRpY3Rpb25uYXJ5ICovCisgICAgaW50IG9wdGlvbnM7CQkvKiBvcHRpb25zICovCit9OworCitzdGF0aWMgdm9pZCB4bWxDdHh0RHVtcE5vZGVMaXN0KHhtbERlYnVnQ3R4dFB0ciBjdHh0LCB4bWxOb2RlUHRyIG5vZGUpOworCitzdGF0aWMgdm9pZAoreG1sQ3R4dER1bXBJbml0Q3R4dCh4bWxEZWJ1Z0N0eHRQdHIgY3R4dCkKK3sKKyAgICBpbnQgaTsKKworICAgIGN0eHQtPmRlcHRoID0gMDsKKyAgICBjdHh0LT5jaGVjayA9IDA7CisgICAgY3R4dC0+ZXJyb3JzID0gMDsKKyAgICBjdHh0LT5vdXRwdXQgPSBzdGRvdXQ7CisgICAgY3R4dC0+ZG9jID0gTlVMTDsKKyAgICBjdHh0LT5ub2RlID0gTlVMTDsKKyAgICBjdHh0LT5kaWN0ID0gTlVMTDsKKyAgICBjdHh0LT5ub2RpY3QgPSAwOworICAgIGN0eHQtPm9wdGlvbnMgPSAwOworICAgIGZvciAoaSA9IDA7IGkgPCAxMDA7IGkrKykKKyAgICAgICAgY3R4dC0+c2hpZnRbaV0gPSAnICc7CisgICAgY3R4dC0+c2hpZnRbMTAwXSA9IDA7Cit9CisKK3N0YXRpYyB2b2lkCit4bWxDdHh0RHVtcENsZWFuQ3R4dCh4bWxEZWJ1Z0N0eHRQdHIgY3R4dCBBVFRSSUJVVEVfVU5VU0VEKQoreworIC8qIHJlbW92ZSB0aGUgQVRUUklCVVRFX1VOVVNFRCB3aGVuIHRoaXMgaXMgYWRkZWQgKi8KK30KKworLyoqCisgKiB4bWxOc0NoZWNrU2NvcGU6CisgKiBAbm9kZTogdGhlIG5vZGUKKyAqIEBuczogdGhlIG5hbWVzcGFjZSBub2RlCisgKgorICogQ2hlY2sgdGhhdCBhIGdpdmVuIG5hbWVzcGFjZSBpcyBpbiBzY29wZSBvbiBhIG5vZGUuCisgKgorICogUmV0dXJucyAxIGlmIGluIHNjb3BlLCAtMSBpbiBjYXNlIG9mIGFyZ3VtZW50IGVycm9yLAorICogICAgICAgICAtMiBpZiB0aGUgbmFtZXNwYWNlIGlzIG5vdCBpbiBzY29wZSwgYW5kIC0zIGlmIG5vdCBvbgorICogICAgICAgICBhbiBhbmNlc3RvciBub2RlLgorICovCitzdGF0aWMgaW50Cit4bWxOc0NoZWNrU2NvcGUoeG1sTm9kZVB0ciBub2RlLCB4bWxOc1B0ciBucykKK3sKKyAgICB4bWxOc1B0ciBjdXI7CisKKyAgICBpZiAoKG5vZGUgPT0gTlVMTCkgfHwgKG5zID09IE5VTEwpKQorICAgICAgICByZXR1cm4oLTEpOworCisgICAgaWYgKChub2RlLT50eXBlICE9IFhNTF9FTEVNRU5UX05PREUpICYmCisJKG5vZGUtPnR5cGUgIT0gWE1MX0FUVFJJQlVURV9OT0RFKSAmJgorCShub2RlLT50eXBlICE9IFhNTF9ET0NVTUVOVF9OT0RFKSAmJgorCShub2RlLT50eXBlICE9IFhNTF9URVhUX05PREUpICYmCisJKG5vZGUtPnR5cGUgIT0gWE1MX0hUTUxfRE9DVU1FTlRfTk9ERSkgJiYKKwkobm9kZS0+dHlwZSAhPSBYTUxfWElOQ0xVREVfU1RBUlQpKQorCXJldHVybigtMik7CisKKyAgICB3aGlsZSAoKG5vZGUgIT0gTlVMTCkgJiYKKyAgICAgICAgICAgKChub2RlLT50eXBlID09IFhNTF9FTEVNRU5UX05PREUpIHx8CisgICAgICAgICAgICAobm9kZS0+dHlwZSA9PSBYTUxfQVRUUklCVVRFX05PREUpIHx8CisgICAgICAgICAgICAobm9kZS0+dHlwZSA9PSBYTUxfVEVYVF9OT0RFKSB8fAorCSAgICAobm9kZS0+dHlwZSA9PSBYTUxfWElOQ0xVREVfU1RBUlQpKSkgeworCWlmICgobm9kZS0+dHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFKSB8fAorCSAgICAobm9kZS0+dHlwZSA9PSBYTUxfWElOQ0xVREVfU1RBUlQpKSB7CisJICAgIGN1ciA9IG5vZGUtPm5zRGVmOworCSAgICB3aGlsZSAoY3VyICE9IE5VTEwpIHsKKwkgICAgICAgIGlmIChjdXIgPT0gbnMpCisJCSAgICByZXR1cm4oMSk7CisJCWlmICh4bWxTdHJFcXVhbChjdXItPnByZWZpeCwgbnMtPnByZWZpeCkpCisJCSAgICByZXR1cm4oLTIpOworCQljdXIgPSBjdXItPm5leHQ7CisJICAgIH0KKwl9CisJbm9kZSA9IG5vZGUtPnBhcmVudDsKKyAgICB9CisgICAgLyogdGhlIHhtbCBuYW1lc3BhY2UgbWF5IGJlIGRlY2xhcmVkIG9uIHRoZSBkb2N1bWVudCBub2RlICovCisgICAgaWYgKChub2RlICE9IE5VTEwpICYmCisgICAgICAgICgobm9kZS0+dHlwZSA9PSBYTUxfRE9DVU1FTlRfTk9ERSkgfHwKKwkgKG5vZGUtPnR5cGUgPT0gWE1MX0hUTUxfRE9DVU1FTlRfTk9ERSkpKSB7CisJIHhtbE5zUHRyIG9sZE5zID0gKCh4bWxEb2NQdHIpIG5vZGUpLT5vbGROczsKKwkgaWYgKG9sZE5zID09IG5zKQorCSAgICAgcmV0dXJuKDEpOworICAgIH0KKyAgICByZXR1cm4oLTMpOworfQorCitzdGF0aWMgdm9pZAoreG1sQ3R4dER1bXBTcGFjZXMoeG1sRGVidWdDdHh0UHRyIGN0eHQpCit7CisgICAgaWYgKGN0eHQtPmNoZWNrKQorICAgICAgICByZXR1cm47CisgICAgaWYgKChjdHh0LT5vdXRwdXQgIT0gTlVMTCkgJiYgKGN0eHQtPmRlcHRoID4gMCkpIHsKKyAgICAgICAgaWYgKGN0eHQtPmRlcHRoIDwgNTApCisgICAgICAgICAgICBmcHJpbnRmKGN0eHQtPm91dHB1dCwgIiVzIiwgJmN0eHQtPnNoaWZ0WzEwMCAtIDIgKiBjdHh0LT5kZXB0aF0pOworICAgICAgICBlbHNlCisgICAgICAgICAgICBmcHJpbnRmKGN0eHQtPm91dHB1dCwgIiVzIiwgY3R4dC0+c2hpZnQpOworICAgIH0KK30KKworLyoqCisgKiB4bWxEZWJ1Z0VycjoKKyAqIEBjdHh0OiAgYSBkZWJ1ZyBjb250ZXh0CisgKiBAZXJyb3I6ICB0aGUgZXJyb3IgY29kZQorICoKKyAqIEhhbmRsZSBhIGRlYnVnIGVycm9yLgorICovCitzdGF0aWMgdm9pZAoreG1sRGVidWdFcnIoeG1sRGVidWdDdHh0UHRyIGN0eHQsIGludCBlcnJvciwgY29uc3QgY2hhciAqbXNnKQoreworICAgIGN0eHQtPmVycm9ycysrOworICAgIF9feG1sUmFpc2VFcnJvcihOVUxMLCBOVUxMLCBOVUxMLAorCQkgICAgTlVMTCwgY3R4dC0+bm9kZSwgWE1MX0ZST01fQ0hFQ0ssCisJCSAgICBlcnJvciwgWE1MX0VSUl9FUlJPUiwgTlVMTCwgMCwKKwkJICAgIE5VTEwsIE5VTEwsIE5VTEwsIDAsIDAsCisJCSAgICAiJXMiLCBtc2cpOworfQorc3RhdGljIHZvaWQKK3htbERlYnVnRXJyMih4bWxEZWJ1Z0N0eHRQdHIgY3R4dCwgaW50IGVycm9yLCBjb25zdCBjaGFyICptc2csIGludCBleHRyYSkKK3sKKyAgICBjdHh0LT5lcnJvcnMrKzsKKyAgICBfX3htbFJhaXNlRXJyb3IoTlVMTCwgTlVMTCwgTlVMTCwKKwkJICAgIE5VTEwsIGN0eHQtPm5vZGUsIFhNTF9GUk9NX0NIRUNLLAorCQkgICAgZXJyb3IsIFhNTF9FUlJfRVJST1IsIE5VTEwsIDAsCisJCSAgICBOVUxMLCBOVUxMLCBOVUxMLCAwLCAwLAorCQkgICAgbXNnLCBleHRyYSk7Cit9CitzdGF0aWMgdm9pZAoreG1sRGVidWdFcnIzKHhtbERlYnVnQ3R4dFB0ciBjdHh0LCBpbnQgZXJyb3IsIGNvbnN0IGNoYXIgKm1zZywgY29uc3QgY2hhciAqZXh0cmEpCit7CisgICAgY3R4dC0+ZXJyb3JzKys7CisgICAgX194bWxSYWlzZUVycm9yKE5VTEwsIE5VTEwsIE5VTEwsCisJCSAgICBOVUxMLCBjdHh0LT5ub2RlLCBYTUxfRlJPTV9DSEVDSywKKwkJICAgIGVycm9yLCBYTUxfRVJSX0VSUk9SLCBOVUxMLCAwLAorCQkgICAgTlVMTCwgTlVMTCwgTlVMTCwgMCwgMCwKKwkJICAgIG1zZywgZXh0cmEpOworfQorCisvKioKKyAqIHhtbEN0eHROc0NoZWNrU2NvcGU6CisgKiBAY3R4dDogdGhlIGRlYnVnZ2luZyBjb250ZXh0CisgKiBAbm9kZTogdGhlIG5vZGUKKyAqIEBuczogdGhlIG5hbWVzcGFjZSBub2RlCisgKgorICogUmVwb3J0IGlmIGEgZ2l2ZW4gbmFtZXNwYWNlIGlzIGlzIG5vdCBpbiBzY29wZS4KKyAqLworc3RhdGljIHZvaWQKK3htbEN0eHROc0NoZWNrU2NvcGUoeG1sRGVidWdDdHh0UHRyIGN0eHQsIHhtbE5vZGVQdHIgbm9kZSwgeG1sTnNQdHIgbnMpCit7CisgICAgaW50IHJldDsKKworICAgIHJldCA9IHhtbE5zQ2hlY2tTY29wZShub2RlLCBucyk7CisgICAgaWYgKHJldCA9PSAtMikgeworICAgICAgICBpZiAobnMtPnByZWZpeCA9PSBOVUxMKQorCSAgICB4bWxEZWJ1Z0VycihjdHh0LCBYTUxfQ0hFQ0tfTlNfU0NPUEUsCisJCQkiUmVmZXJlbmNlIHRvIGRlZmF1bHQgbmFtZXNwYWNlIG5vdCBpbiBzY29wZVxuIik7CisJZWxzZQorCSAgICB4bWxEZWJ1Z0VycjMoY3R4dCwgWE1MX0NIRUNLX05TX1NDT1BFLAorCQkJICJSZWZlcmVuY2UgdG8gbmFtZXNwYWNlICclcycgbm90IGluIHNjb3BlXG4iLAorCQkJIChjaGFyICopIG5zLT5wcmVmaXgpOworICAgIH0KKyAgICBpZiAocmV0ID09IC0zKSB7CisgICAgICAgIGlmIChucy0+cHJlZml4ID09IE5VTEwpCisJICAgIHhtbERlYnVnRXJyKGN0eHQsIFhNTF9DSEVDS19OU19BTkNFU1RPUiwKKwkJCSJSZWZlcmVuY2UgdG8gZGVmYXVsdCBuYW1lc3BhY2Ugbm90IG9uIGFuY2VzdG9yXG4iKTsKKwllbHNlCisJICAgIHhtbERlYnVnRXJyMyhjdHh0LCBYTUxfQ0hFQ0tfTlNfQU5DRVNUT1IsCisJCQkgIlJlZmVyZW5jZSB0byBuYW1lc3BhY2UgJyVzJyBub3Qgb24gYW5jZXN0b3JcbiIsCisJCQkgKGNoYXIgKikgbnMtPnByZWZpeCk7CisgICAgfQorfQorCisvKioKKyAqIHhtbEN0eHRDaGVja1N0cmluZzoKKyAqIEBjdHh0OiB0aGUgZGVidWcgY29udGV4dAorICogQHN0cjogdGhlIHN0cmluZworICoKKyAqIERvIGRlYnVnZ2luZyBvbiB0aGUgc3RyaW5nLCBjdXJyZW50bHkgaXQganVzdCBjaGVja3MgdGhlIFVURi04IGNvbnRlbnQKKyAqLworc3RhdGljIHZvaWQKK3htbEN0eHRDaGVja1N0cmluZyh4bWxEZWJ1Z0N0eHRQdHIgY3R4dCwgY29uc3QgeG1sQ2hhciAqIHN0cikKK3sKKyAgICBpZiAoc3RyID09IE5VTEwpIHJldHVybjsKKyAgICBpZiAoY3R4dC0+Y2hlY2spIHsKKyAgICAgICAgaWYgKCF4bWxDaGVja1VURjgoc3RyKSkgeworCSAgICB4bWxEZWJ1Z0VycjMoY3R4dCwgWE1MX0NIRUNLX05PVF9VVEY4LAorCQkJICJTdHJpbmcgaXMgbm90IFVURi04ICVzIiwgKGNvbnN0IGNoYXIgKikgc3RyKTsKKwl9CisgICAgfQorfQorCisvKioKKyAqIHhtbEN0eHRDaGVja05hbWU6CisgKiBAY3R4dDogdGhlIGRlYnVnIGNvbnRleHQKKyAqIEBuYW1lOiB0aGUgbmFtZQorICoKKyAqIERvIGRlYnVnZ2luZyBvbiB0aGUgbmFtZSwgZm9yIGV4YW1wbGUgdGhlIGRpY3Rpb25uYXJ5IHN0YXR1cyBhbmQKKyAqIGNvbmZvcm1hbmNlIHRvIHRoZSBOYW1lIHByb2R1Y3Rpb24uCisgKi8KK3N0YXRpYyB2b2lkCit4bWxDdHh0Q2hlY2tOYW1lKHhtbERlYnVnQ3R4dFB0ciBjdHh0LCBjb25zdCB4bWxDaGFyICogbmFtZSkKK3sKKyAgICBpZiAoY3R4dC0+Y2hlY2spIHsKKwlpZiAobmFtZSA9PSBOVUxMKSB7CisJICAgIHhtbERlYnVnRXJyKGN0eHQsIFhNTF9DSEVDS19OT19OQU1FLCAiTmFtZSBpcyBOVUxMIik7CisJICAgIHJldHVybjsKKwl9CisjaWYgZGVmaW5lZChMSUJYTUxfVFJFRV9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisgICAgICAgIGlmICh4bWxWYWxpZGF0ZU5hbWUobmFtZSwgMCkpIHsKKwkgICAgeG1sRGVidWdFcnIzKGN0eHQsIFhNTF9DSEVDS19OT1RfTkNOQU1FLAorCQkJICJOYW1lIGlzIG5vdCBhbiBOQ05hbWUgJyVzJyIsIChjb25zdCBjaGFyICopIG5hbWUpOworCX0KKyNlbmRpZgorCWlmICgoY3R4dC0+ZGljdCAhPSBOVUxMKSAmJgorCSAgICAoIXhtbERpY3RPd25zKGN0eHQtPmRpY3QsIG5hbWUpKSAmJgorICAgICAgICAgICAgKChjdHh0LT5kb2MgPT0gTlVMTCkgfHwKKyAgICAgICAgICAgICAoKGN0eHQtPmRvYy0+cGFyc2VGbGFncyAmIChYTUxfUEFSU0VfU0FYMSB8IFhNTF9QQVJTRV9OT0RJQ1QpKSA9PSAwKSkpIHsKKwkgICAgeG1sRGVidWdFcnIzKGN0eHQsIFhNTF9DSEVDS19PVVRTSURFX0RJQ1QsCisJCQkgIk5hbWUgaXMgbm90IGZyb20gdGhlIGRvY3VtZW50IGRpY3Rpb25uYXJ5ICclcyciLAorCQkJIChjb25zdCBjaGFyICopIG5hbWUpOworCX0KKyAgICB9Cit9CisKK3N0YXRpYyB2b2lkCit4bWxDdHh0R2VuZXJpY05vZGVDaGVjayh4bWxEZWJ1Z0N0eHRQdHIgY3R4dCwgeG1sTm9kZVB0ciBub2RlKSB7CisgICAgeG1sRG9jUHRyIGRvYzsKKyAgICB4bWxEaWN0UHRyIGRpY3Q7CisKKyAgICBkb2MgPSBub2RlLT5kb2M7CisKKyAgICBpZiAobm9kZS0+cGFyZW50ID09IE5VTEwpCisgICAgICAgIHhtbERlYnVnRXJyKGN0eHQsIFhNTF9DSEVDS19OT19QQVJFTlQsCisJICAgICAgICAgICAgIk5vZGUgaGFzIG5vIHBhcmVudFxuIik7CisgICAgaWYgKG5vZGUtPmRvYyA9PSBOVUxMKSB7CisgICAgICAgIHhtbERlYnVnRXJyKGN0eHQsIFhNTF9DSEVDS19OT19ET0MsCisJICAgICAgICAgICAgIk5vZGUgaGFzIG5vIGRvY1xuIik7CisgICAgICAgIGRpY3QgPSBOVUxMOworICAgIH0gZWxzZSB7CisJZGljdCA9IGRvYy0+ZGljdDsKKwlpZiAoKGRpY3QgPT0gTlVMTCkgJiYgKGN0eHQtPm5vZGljdCA9PSAwKSkgeworI2lmIDAKKyAgICAgICAgICAgIC8qIGRlc2FjdGl2YXRlZCByaWdodCBub3cgYXMgaXQgcmFpc2VzIHRvbyBtYW55IGVycm9ycyAqLworCSAgICBpZiAoZG9jLT50eXBlID09IFhNTF9ET0NVTUVOVF9OT0RFKQorCQl4bWxEZWJ1Z0VycihjdHh0LCBYTUxfQ0hFQ0tfTk9fRElDVCwKKwkJCSAgICAiRG9jdW1lbnQgaGFzIG5vIGRpY3Rpb25uYXJ5XG4iKTsKKyNlbmRpZgorCSAgICBjdHh0LT5ub2RpY3QgPSAxOworCX0KKwlpZiAoY3R4dC0+ZG9jID09IE5VTEwpCisJICAgIGN0eHQtPmRvYyA9IGRvYzsKKworCWlmIChjdHh0LT5kaWN0ID09IE5VTEwpIHsKKwkgICAgY3R4dC0+ZGljdCA9IGRpY3Q7CisJfQorICAgIH0KKyAgICBpZiAoKG5vZGUtPnBhcmVudCAhPSBOVUxMKSAmJiAobm9kZS0+ZG9jICE9IG5vZGUtPnBhcmVudC0+ZG9jKSAmJgorICAgICAgICAoIXhtbFN0ckVxdWFsKG5vZGUtPm5hbWUsIEJBRF9DQVNUICJwc2V1ZG9yb290IikpKQorICAgICAgICB4bWxEZWJ1Z0VycihjdHh0LCBYTUxfQ0hFQ0tfV1JPTkdfRE9DLAorCSAgICAgICAgICAgICJOb2RlIGRvYyBkaWZmZXJzIGZyb20gcGFyZW50J3Mgb25lXG4iKTsKKyAgICBpZiAobm9kZS0+cHJldiA9PSBOVUxMKSB7CisgICAgICAgIGlmIChub2RlLT50eXBlID09IFhNTF9BVFRSSUJVVEVfTk9ERSkgeworCSAgICBpZiAoKG5vZGUtPnBhcmVudCAhPSBOVUxMKSAmJgorCSAgICAgICAgKG5vZGUgIT0gKHhtbE5vZGVQdHIpIG5vZGUtPnBhcmVudC0+cHJvcGVydGllcykpCisJCXhtbERlYnVnRXJyKGN0eHQsIFhNTF9DSEVDS19OT19QUkVWLAorICAgICAgICAgICAgICAgICAgICAiQXR0ciBoYXMgbm8gcHJldiBhbmQgbm90IGZpcnN0IG9mIGF0dHIgbGlzdFxuIik7CisKKyAgICAgICAgfSBlbHNlIGlmICgobm9kZS0+cGFyZW50ICE9IE5VTEwpICYmIChub2RlLT5wYXJlbnQtPmNoaWxkcmVuICE9IG5vZGUpKQorCSAgICB4bWxEZWJ1Z0VycihjdHh0LCBYTUxfQ0hFQ0tfTk9fUFJFViwKKyAgICAgICAgICAgICAgICAgICAgIk5vZGUgaGFzIG5vIHByZXYgYW5kIG5vdCBmaXJzdCBvZiBwYXJlbnQgbGlzdFxuIik7CisgICAgfSBlbHNlIHsKKyAgICAgICAgaWYgKG5vZGUtPnByZXYtPm5leHQgIT0gbm9kZSkKKwkgICAgeG1sRGVidWdFcnIoY3R4dCwgWE1MX0NIRUNLX1dST05HX1BSRVYsCisgICAgICAgICAgICAgICAgICAgICAgICAiTm9kZSBwcmV2LT5uZXh0IDogYmFjayBsaW5rIHdyb25nXG4iKTsKKyAgICB9CisgICAgaWYgKG5vZGUtPm5leHQgPT0gTlVMTCkgeworCWlmICgobm9kZS0+cGFyZW50ICE9IE5VTEwpICYmIChub2RlLT50eXBlICE9IFhNTF9BVFRSSUJVVEVfTk9ERSkgJiYKKwkgICAgKG5vZGUtPnBhcmVudC0+bGFzdCAhPSBub2RlKSAmJgorCSAgICAobm9kZS0+cGFyZW50LT50eXBlID09IFhNTF9FTEVNRU5UX05PREUpKQorCSAgICB4bWxEZWJ1Z0VycihjdHh0LCBYTUxfQ0hFQ0tfTk9fTkVYVCwKKyAgICAgICAgICAgICAgICAgICAgIk5vZGUgaGFzIG5vIG5leHQgYW5kIG5vdCBsYXN0IG9mIHBhcmVudCBsaXN0XG4iKTsKKyAgICB9IGVsc2UgeworICAgICAgICBpZiAobm9kZS0+bmV4dC0+cHJldiAhPSBub2RlKQorCSAgICB4bWxEZWJ1Z0VycihjdHh0LCBYTUxfQ0hFQ0tfV1JPTkdfTkVYVCwKKyAgICAgICAgICAgICAgICAgICAgIk5vZGUgbmV4dC0+cHJldiA6IGZvcndhcmQgbGluayB3cm9uZ1xuIik7CisgICAgICAgIGlmIChub2RlLT5uZXh0LT5wYXJlbnQgIT0gbm9kZS0+cGFyZW50KQorCSAgICB4bWxEZWJ1Z0VycihjdHh0LCBYTUxfQ0hFQ0tfV1JPTkdfUEFSRU5ULAorICAgICAgICAgICAgICAgICAgICAiTm9kZSBuZXh0LT5wcmV2IDogZm9yd2FyZCBsaW5rIHdyb25nXG4iKTsKKyAgICB9CisgICAgaWYgKG5vZGUtPnR5cGUgPT0gWE1MX0VMRU1FTlRfTk9ERSkgeworICAgICAgICB4bWxOc1B0ciBuczsKKworCW5zID0gbm9kZS0+bnNEZWY7CisJd2hpbGUgKG5zICE9IE5VTEwpIHsKKwkgICAgeG1sQ3R4dE5zQ2hlY2tTY29wZShjdHh0LCBub2RlLCBucyk7CisJICAgIG5zID0gbnMtPm5leHQ7CisJfQorCWlmIChub2RlLT5ucyAhPSBOVUxMKQorCSAgICB4bWxDdHh0TnNDaGVja1Njb3BlKGN0eHQsIG5vZGUsIG5vZGUtPm5zKTsKKyAgICB9IGVsc2UgaWYgKG5vZGUtPnR5cGUgPT0gWE1MX0FUVFJJQlVURV9OT0RFKSB7CisJaWYgKG5vZGUtPm5zICE9IE5VTEwpCisJICAgIHhtbEN0eHROc0NoZWNrU2NvcGUoY3R4dCwgbm9kZSwgbm9kZS0+bnMpOworICAgIH0KKworICAgIGlmICgobm9kZS0+dHlwZSAhPSBYTUxfRUxFTUVOVF9OT0RFKSAmJgorCShub2RlLT50eXBlICE9IFhNTF9BVFRSSUJVVEVfTk9ERSkgJiYKKwkobm9kZS0+dHlwZSAhPSBYTUxfRUxFTUVOVF9ERUNMKSAmJgorCShub2RlLT50eXBlICE9IFhNTF9BVFRSSUJVVEVfREVDTCkgJiYKKwkobm9kZS0+dHlwZSAhPSBYTUxfRFREX05PREUpICYmCisJKG5vZGUtPnR5cGUgIT0gWE1MX0hUTUxfRE9DVU1FTlRfTk9ERSkgJiYKKwkobm9kZS0+dHlwZSAhPSBYTUxfRE9DVU1FTlRfTk9ERSkpIHsKKwlpZiAobm9kZS0+Y29udGVudCAhPSBOVUxMKQorCSAgICB4bWxDdHh0Q2hlY2tTdHJpbmcoY3R4dCwgKGNvbnN0IHhtbENoYXIgKikgbm9kZS0+Y29udGVudCk7CisgICAgfQorICAgIHN3aXRjaCAobm9kZS0+dHlwZSkgeworICAgICAgICBjYXNlIFhNTF9FTEVNRU5UX05PREU6CisgICAgICAgIGNhc2UgWE1MX0FUVFJJQlVURV9OT0RFOgorCSAgICB4bWxDdHh0Q2hlY2tOYW1lKGN0eHQsIG5vZGUtPm5hbWUpOworCSAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfVEVYVF9OT0RFOgorCSAgICBpZiAoKG5vZGUtPm5hbWUgPT0geG1sU3RyaW5nVGV4dCkgfHwKKwkgICAgICAgIChub2RlLT5uYW1lID09IHhtbFN0cmluZ1RleHROb2VuYykpCisJCWJyZWFrOworCSAgICAvKiBzb21lIGNhc2Ugb2YgZW50aXR5IHN1YnN0aXR1dGlvbiBjYW4gbGVhZCB0byB0aGlzICovCisJICAgIGlmICgoY3R4dC0+ZGljdCAhPSBOVUxMKSAmJgorCSAgICAgICAgKG5vZGUtPm5hbWUgPT0geG1sRGljdExvb2t1cChjdHh0LT5kaWN0LCBCQURfQ0FTVCAibmJrdGV4dCIsCisJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNykpKQorCQlicmVhazsKKworCSAgICB4bWxEZWJ1Z0VycjMoY3R4dCwgWE1MX0NIRUNLX1dST05HX05BTUUsCisJCQkgIlRleHQgbm9kZSBoYXMgd3JvbmcgbmFtZSAnJXMnIiwKKwkJCSAoY29uc3QgY2hhciAqKSBub2RlLT5uYW1lKTsKKwkgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0NPTU1FTlRfTk9ERToKKwkgICAgaWYgKG5vZGUtPm5hbWUgPT0geG1sU3RyaW5nQ29tbWVudCkKKwkJYnJlYWs7CisJICAgIHhtbERlYnVnRXJyMyhjdHh0LCBYTUxfQ0hFQ0tfV1JPTkdfTkFNRSwKKwkJCSAiQ29tbWVudCBub2RlIGhhcyB3cm9uZyBuYW1lICclcyciLAorCQkJIChjb25zdCBjaGFyICopIG5vZGUtPm5hbWUpOworCSAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUElfTk9ERToKKwkgICAgeG1sQ3R4dENoZWNrTmFtZShjdHh0LCBub2RlLT5uYW1lKTsKKwkgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0NEQVRBX1NFQ1RJT05fTk9ERToKKwkgICAgaWYgKG5vZGUtPm5hbWUgPT0gTlVMTCkKKwkJYnJlYWs7CisJICAgIHhtbERlYnVnRXJyMyhjdHh0LCBYTUxfQ0hFQ0tfTkFNRV9OT1RfTlVMTCwKKwkJCSAiQ0RhdGEgc2VjdGlvbiBoYXMgbm9uIE5VTEwgbmFtZSAnJXMnIiwKKwkJCSAoY29uc3QgY2hhciAqKSBub2RlLT5uYW1lKTsKKwkgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0VOVElUWV9SRUZfTk9ERToKKyAgICAgICAgY2FzZSBYTUxfRU5USVRZX05PREU6CisgICAgICAgIGNhc2UgWE1MX0RPQ1VNRU5UX1RZUEVfTk9ERToKKyAgICAgICAgY2FzZSBYTUxfRE9DVU1FTlRfRlJBR19OT0RFOgorICAgICAgICBjYXNlIFhNTF9OT1RBVElPTl9OT0RFOgorICAgICAgICBjYXNlIFhNTF9EVERfTk9ERToKKyAgICAgICAgY2FzZSBYTUxfRUxFTUVOVF9ERUNMOgorICAgICAgICBjYXNlIFhNTF9BVFRSSUJVVEVfREVDTDoKKyAgICAgICAgY2FzZSBYTUxfRU5USVRZX0RFQ0w6CisgICAgICAgIGNhc2UgWE1MX05BTUVTUEFDRV9ERUNMOgorICAgICAgICBjYXNlIFhNTF9YSU5DTFVERV9TVEFSVDoKKyAgICAgICAgY2FzZSBYTUxfWElOQ0xVREVfRU5EOgorI2lmZGVmIExJQlhNTF9ET0NCX0VOQUJMRUQKKyAgICAgICAgY2FzZSBYTUxfRE9DQl9ET0NVTUVOVF9OT0RFOgorI2VuZGlmCisgICAgICAgIGNhc2UgWE1MX0RPQ1VNRU5UX05PREU6CisgICAgICAgIGNhc2UgWE1MX0hUTUxfRE9DVU1FTlRfTk9ERToKKwkgICAgYnJlYWs7CisgICAgfQorfQorCitzdGF0aWMgdm9pZAoreG1sQ3R4dER1bXBTdHJpbmcoeG1sRGVidWdDdHh0UHRyIGN0eHQsIGNvbnN0IHhtbENoYXIgKiBzdHIpCit7CisgICAgaW50IGk7CisKKyAgICBpZiAoY3R4dC0+Y2hlY2spIHsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICAvKiBUT0RPOiBjaGVjayBVVEY4IGNvbnRlbnQgb2YgdGhlIHN0cmluZyAqLworICAgIGlmIChzdHIgPT0gTlVMTCkgeworICAgICAgICBmcHJpbnRmKGN0eHQtPm91dHB1dCwgIihOVUxMKSIpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGZvciAoaSA9IDA7IGkgPCA0MDsgaSsrKQorICAgICAgICBpZiAoc3RyW2ldID09IDApCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIGVsc2UgaWYgKElTX0JMQU5LX0NIKHN0cltpXSkpCisgICAgICAgICAgICBmcHV0YygnICcsIGN0eHQtPm91dHB1dCk7CisgICAgICAgIGVsc2UgaWYgKHN0cltpXSA+PSAweDgwKQorICAgICAgICAgICAgZnByaW50ZihjdHh0LT5vdXRwdXQsICIjJVgiLCBzdHJbaV0pOworICAgICAgICBlbHNlCisgICAgICAgICAgICBmcHV0YyhzdHJbaV0sIGN0eHQtPm91dHB1dCk7CisgICAgZnByaW50ZihjdHh0LT5vdXRwdXQsICIuLi4iKTsKK30KKworc3RhdGljIHZvaWQKK3htbEN0eHREdW1wRHRkTm9kZSh4bWxEZWJ1Z0N0eHRQdHIgY3R4dCwgeG1sRHRkUHRyIGR0ZCkKK3sKKyAgICB4bWxDdHh0RHVtcFNwYWNlcyhjdHh0KTsKKworICAgIGlmIChkdGQgPT0gTlVMTCkgeworICAgICAgICBpZiAoIWN0eHQtPmNoZWNrKQorICAgICAgICAgICAgZnByaW50ZihjdHh0LT5vdXRwdXQsICJEVEQgbm9kZSBpcyBOVUxMXG4iKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmIChkdGQtPnR5cGUgIT0gWE1MX0RURF9OT0RFKSB7CisJeG1sRGVidWdFcnIoY3R4dCwgWE1MX0NIRUNLX05PVF9EVEQsCisJICAgICAgICAgICAgIk5vZGUgaXMgbm90IGEgRFREIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgaWYgKCFjdHh0LT5jaGVjaykgeworICAgICAgICBpZiAoZHRkLT5uYW1lICE9IE5VTEwpCisgICAgICAgICAgICBmcHJpbnRmKGN0eHQtPm91dHB1dCwgIkRURCglcykiLCAoY2hhciAqKSBkdGQtPm5hbWUpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBmcHJpbnRmKGN0eHQtPm91dHB1dCwgIkRURCIpOworICAgICAgICBpZiAoZHRkLT5FeHRlcm5hbElEICE9IE5VTEwpCisgICAgICAgICAgICBmcHJpbnRmKGN0eHQtPm91dHB1dCwgIiwgUFVCTElDICVzIiwgKGNoYXIgKikgZHRkLT5FeHRlcm5hbElEKTsKKyAgICAgICAgaWYgKGR0ZC0+U3lzdGVtSUQgIT0gTlVMTCkKKyAgICAgICAgICAgIGZwcmludGYoY3R4dC0+b3V0cHV0LCAiLCBTWVNURU0gJXMiLCAoY2hhciAqKSBkdGQtPlN5c3RlbUlEKTsKKyAgICAgICAgZnByaW50ZihjdHh0LT5vdXRwdXQsICJcbiIpOworICAgIH0KKyAgICAvKgorICAgICAqIERvIGEgYml0IG9mIGNoZWNraW5nCisgICAgICovCisgICAgeG1sQ3R4dEdlbmVyaWNOb2RlQ2hlY2soY3R4dCwgKHhtbE5vZGVQdHIpIGR0ZCk7Cit9CisKK3N0YXRpYyB2b2lkCit4bWxDdHh0RHVtcEF0dHJEZWNsKHhtbERlYnVnQ3R4dFB0ciBjdHh0LCB4bWxBdHRyaWJ1dGVQdHIgYXR0cikKK3sKKyAgICB4bWxDdHh0RHVtcFNwYWNlcyhjdHh0KTsKKworICAgIGlmIChhdHRyID09IE5VTEwpIHsKKyAgICAgICAgaWYgKCFjdHh0LT5jaGVjaykKKyAgICAgICAgICAgIGZwcmludGYoY3R4dC0+b3V0cHV0LCAiQXR0cmlidXRlIGRlY2xhcmF0aW9uIGlzIE5VTExcbiIpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGlmIChhdHRyLT50eXBlICE9IFhNTF9BVFRSSUJVVEVfREVDTCkgeworCXhtbERlYnVnRXJyKGN0eHQsIFhNTF9DSEVDS19OT1RfQVRUUl9ERUNMLAorCSAgICAgICAgICAgICJOb2RlIGlzIG5vdCBhbiBhdHRyaWJ1dGUgZGVjbGFyYXRpb24iKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBpZiAoYXR0ci0+bmFtZSAhPSBOVUxMKSB7CisgICAgICAgIGlmICghY3R4dC0+Y2hlY2spCisgICAgICAgICAgICBmcHJpbnRmKGN0eHQtPm91dHB1dCwgIkFUVFJERUNMKCVzKSIsIChjaGFyICopIGF0dHItPm5hbWUpOworICAgIH0gZWxzZQorCXhtbERlYnVnRXJyKGN0eHQsIFhNTF9DSEVDS19OT19OQU1FLAorCSAgICAgICAgICAgICJOb2RlIGF0dHJpYnV0ZSBkZWNsYXJhdGlvbiBoYXMgbm8gbmFtZSIpOworICAgIGlmIChhdHRyLT5lbGVtICE9IE5VTEwpIHsKKyAgICAgICAgaWYgKCFjdHh0LT5jaGVjaykKKyAgICAgICAgICAgIGZwcmludGYoY3R4dC0+b3V0cHV0LCAiIGZvciAlcyIsIChjaGFyICopIGF0dHItPmVsZW0pOworICAgIH0gZWxzZQorCXhtbERlYnVnRXJyKGN0eHQsIFhNTF9DSEVDS19OT19FTEVNLAorCSAgICAgICAgICAgICJOb2RlIGF0dHJpYnV0ZSBkZWNsYXJhdGlvbiBoYXMgbm8gZWxlbWVudCBuYW1lIik7CisgICAgaWYgKCFjdHh0LT5jaGVjaykgeworICAgICAgICBzd2l0Y2ggKGF0dHItPmF0eXBlKSB7CisgICAgICAgICAgICBjYXNlIFhNTF9BVFRSSUJVVEVfQ0RBVEE6CisgICAgICAgICAgICAgICAgZnByaW50ZihjdHh0LT5vdXRwdXQsICIgQ0RBVEEiKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgWE1MX0FUVFJJQlVURV9JRDoKKyAgICAgICAgICAgICAgICBmcHJpbnRmKGN0eHQtPm91dHB1dCwgIiBJRCIpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBYTUxfQVRUUklCVVRFX0lEUkVGOgorICAgICAgICAgICAgICAgIGZwcmludGYoY3R4dC0+b3V0cHV0LCAiIElEUkVGIik7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIFhNTF9BVFRSSUJVVEVfSURSRUZTOgorICAgICAgICAgICAgICAgIGZwcmludGYoY3R4dC0+b3V0cHV0LCAiIElEUkVGUyIpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBYTUxfQVRUUklCVVRFX0VOVElUWToKKyAgICAgICAgICAgICAgICBmcHJpbnRmKGN0eHQtPm91dHB1dCwgIiBFTlRJVFkiKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgWE1MX0FUVFJJQlVURV9FTlRJVElFUzoKKyAgICAgICAgICAgICAgICBmcHJpbnRmKGN0eHQtPm91dHB1dCwgIiBFTlRJVElFUyIpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBYTUxfQVRUUklCVVRFX05NVE9LRU46CisgICAgICAgICAgICAgICAgZnByaW50ZihjdHh0LT5vdXRwdXQsICIgTk1UT0tFTiIpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBYTUxfQVRUUklCVVRFX05NVE9LRU5TOgorICAgICAgICAgICAgICAgIGZwcmludGYoY3R4dC0+b3V0cHV0LCAiIE5NVE9LRU5TIik7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIFhNTF9BVFRSSUJVVEVfRU5VTUVSQVRJT046CisgICAgICAgICAgICAgICAgZnByaW50ZihjdHh0LT5vdXRwdXQsICIgRU5VTUVSQVRJT04iKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgWE1MX0FUVFJJQlVURV9OT1RBVElPTjoKKyAgICAgICAgICAgICAgICBmcHJpbnRmKGN0eHQtPm91dHB1dCwgIiBOT1RBVElPTiAiKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICBpZiAoYXR0ci0+dHJlZSAhPSBOVUxMKSB7CisgICAgICAgICAgICBpbnQgaW5keDsKKyAgICAgICAgICAgIHhtbEVudW1lcmF0aW9uUHRyIGN1ciA9IGF0dHItPnRyZWU7CisKKyAgICAgICAgICAgIGZvciAoaW5keCA9IDA7IGluZHggPCA1OyBpbmR4KyspIHsKKyAgICAgICAgICAgICAgICBpZiAoaW5keCAhPSAwKQorICAgICAgICAgICAgICAgICAgICBmcHJpbnRmKGN0eHQtPm91dHB1dCwgInwlcyIsIChjaGFyICopIGN1ci0+bmFtZSk7CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICBmcHJpbnRmKGN0eHQtPm91dHB1dCwgIiAoJXMiLCAoY2hhciAqKSBjdXItPm5hbWUpOworICAgICAgICAgICAgICAgIGN1ciA9IGN1ci0+bmV4dDsKKyAgICAgICAgICAgICAgICBpZiAoY3VyID09IE5VTEwpCisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKGN1ciA9PSBOVUxMKQorICAgICAgICAgICAgICAgIGZwcmludGYoY3R4dC0+b3V0cHV0LCAiKSIpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIGZwcmludGYoY3R4dC0+b3V0cHV0LCAiLi4uKSIpOworICAgICAgICB9CisgICAgICAgIHN3aXRjaCAoYXR0ci0+ZGVmKSB7CisgICAgICAgICAgICBjYXNlIFhNTF9BVFRSSUJVVEVfTk9ORToKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgWE1MX0FUVFJJQlVURV9SRVFVSVJFRDoKKyAgICAgICAgICAgICAgICBmcHJpbnRmKGN0eHQtPm91dHB1dCwgIiBSRVFVSVJFRCIpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBYTUxfQVRUUklCVVRFX0lNUExJRUQ6CisgICAgICAgICAgICAgICAgZnByaW50ZihjdHh0LT5vdXRwdXQsICIgSU1QTElFRCIpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBYTUxfQVRUUklCVVRFX0ZJWEVEOgorICAgICAgICAgICAgICAgIGZwcmludGYoY3R4dC0+b3V0cHV0LCAiIEZJWEVEIik7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgaWYgKGF0dHItPmRlZmF1bHRWYWx1ZSAhPSBOVUxMKSB7CisgICAgICAgICAgICBmcHJpbnRmKGN0eHQtPm91dHB1dCwgIlwiIik7CisgICAgICAgICAgICB4bWxDdHh0RHVtcFN0cmluZyhjdHh0LCBhdHRyLT5kZWZhdWx0VmFsdWUpOworICAgICAgICAgICAgZnByaW50ZihjdHh0LT5vdXRwdXQsICJcIiIpOworICAgICAgICB9CisgICAgICAgIGZwcmludGYoY3R4dC0+b3V0cHV0LCAiXG4iKTsKKyAgICB9CisKKyAgICAvKgorICAgICAqIERvIGEgYml0IG9mIGNoZWNraW5nCisgICAgICovCisgICAgeG1sQ3R4dEdlbmVyaWNOb2RlQ2hlY2soY3R4dCwgKHhtbE5vZGVQdHIpIGF0dHIpOworfQorCitzdGF0aWMgdm9pZAoreG1sQ3R4dER1bXBFbGVtRGVjbCh4bWxEZWJ1Z0N0eHRQdHIgY3R4dCwgeG1sRWxlbWVudFB0ciBlbGVtKQoreworICAgIHhtbEN0eHREdW1wU3BhY2VzKGN0eHQpOworCisgICAgaWYgKGVsZW0gPT0gTlVMTCkgeworICAgICAgICBpZiAoIWN0eHQtPmNoZWNrKQorICAgICAgICAgICAgZnByaW50ZihjdHh0LT5vdXRwdXQsICJFbGVtZW50IGRlY2xhcmF0aW9uIGlzIE5VTExcbiIpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGlmIChlbGVtLT50eXBlICE9IFhNTF9FTEVNRU5UX0RFQ0wpIHsKKwl4bWxEZWJ1Z0VycihjdHh0LCBYTUxfQ0hFQ0tfTk9UX0VMRU1fREVDTCwKKwkgICAgICAgICAgICAiTm9kZSBpcyBub3QgYW4gZWxlbWVudCBkZWNsYXJhdGlvbiIpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGlmIChlbGVtLT5uYW1lICE9IE5VTEwpIHsKKyAgICAgICAgaWYgKCFjdHh0LT5jaGVjaykgeworICAgICAgICAgICAgZnByaW50ZihjdHh0LT5vdXRwdXQsICJFTEVNREVDTCgiKTsKKyAgICAgICAgICAgIHhtbEN0eHREdW1wU3RyaW5nKGN0eHQsIGVsZW0tPm5hbWUpOworICAgICAgICAgICAgZnByaW50ZihjdHh0LT5vdXRwdXQsICIpIik7CisgICAgICAgIH0KKyAgICB9IGVsc2UKKwl4bWxEZWJ1Z0VycihjdHh0LCBYTUxfQ0hFQ0tfTk9fTkFNRSwKKwkgICAgICAgICAgICAiRWxlbWVudCBkZWNsYXJhdGlvbiBoYXMgbm8gbmFtZSIpOworICAgIGlmICghY3R4dC0+Y2hlY2spIHsKKyAgICAgICAgc3dpdGNoIChlbGVtLT5ldHlwZSkgeworICAgICAgICAgICAgY2FzZSBYTUxfRUxFTUVOVF9UWVBFX1VOREVGSU5FRDoKKyAgICAgICAgICAgICAgICBmcHJpbnRmKGN0eHQtPm91dHB1dCwgIiwgVU5ERUZJTkVEIik7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIFhNTF9FTEVNRU5UX1RZUEVfRU1QVFk6CisgICAgICAgICAgICAgICAgZnByaW50ZihjdHh0LT5vdXRwdXQsICIsIEVNUFRZIik7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIFhNTF9FTEVNRU5UX1RZUEVfQU5ZOgorICAgICAgICAgICAgICAgIGZwcmludGYoY3R4dC0+b3V0cHV0LCAiLCBBTlkiKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgWE1MX0VMRU1FTlRfVFlQRV9NSVhFRDoKKyAgICAgICAgICAgICAgICBmcHJpbnRmKGN0eHQtPm91dHB1dCwgIiwgTUlYRUQgIik7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIFhNTF9FTEVNRU5UX1RZUEVfRUxFTUVOVDoKKyAgICAgICAgICAgICAgICBmcHJpbnRmKGN0eHQtPm91dHB1dCwgIiwgTUlYRUQgIik7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgaWYgKChlbGVtLT50eXBlICE9IFhNTF9FTEVNRU5UX05PREUpICYmIChlbGVtLT5jb250ZW50ICE9IE5VTEwpKSB7CisgICAgICAgICAgICBjaGFyIGJ1Zls1MDAxXTsKKworICAgICAgICAgICAgYnVmWzBdID0gMDsKKyAgICAgICAgICAgIHhtbFNucHJpbnRmRWxlbWVudENvbnRlbnQoYnVmLCA1MDAwLCBlbGVtLT5jb250ZW50LCAxKTsKKyAgICAgICAgICAgIGJ1Zls1MDAwXSA9IDA7CisgICAgICAgICAgICBmcHJpbnRmKGN0eHQtPm91dHB1dCwgIiVzIiwgYnVmKTsKKyAgICAgICAgfQorICAgICAgICBmcHJpbnRmKGN0eHQtPm91dHB1dCwgIlxuIik7CisgICAgfQorCisgICAgLyoKKyAgICAgKiBEbyBhIGJpdCBvZiBjaGVja2luZworICAgICAqLworICAgIHhtbEN0eHRHZW5lcmljTm9kZUNoZWNrKGN0eHQsICh4bWxOb2RlUHRyKSBlbGVtKTsKK30KKworc3RhdGljIHZvaWQKK3htbEN0eHREdW1wRW50aXR5RGVjbCh4bWxEZWJ1Z0N0eHRQdHIgY3R4dCwgeG1sRW50aXR5UHRyIGVudCkKK3sKKyAgICB4bWxDdHh0RHVtcFNwYWNlcyhjdHh0KTsKKworICAgIGlmIChlbnQgPT0gTlVMTCkgeworICAgICAgICBpZiAoIWN0eHQtPmNoZWNrKQorICAgICAgICAgICAgZnByaW50ZihjdHh0LT5vdXRwdXQsICJFbnRpdHkgZGVjbGFyYXRpb24gaXMgTlVMTFxuIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgaWYgKGVudC0+dHlwZSAhPSBYTUxfRU5USVRZX0RFQ0wpIHsKKwl4bWxEZWJ1Z0VycihjdHh0LCBYTUxfQ0hFQ0tfTk9UX0VOVElUWV9ERUNMLAorCSAgICAgICAgICAgICJOb2RlIGlzIG5vdCBhbiBlbnRpdHkgZGVjbGFyYXRpb24iKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBpZiAoZW50LT5uYW1lICE9IE5VTEwpIHsKKyAgICAgICAgaWYgKCFjdHh0LT5jaGVjaykgeworICAgICAgICAgICAgZnByaW50ZihjdHh0LT5vdXRwdXQsICJFTlRJVFlERUNMKCIpOworICAgICAgICAgICAgeG1sQ3R4dER1bXBTdHJpbmcoY3R4dCwgZW50LT5uYW1lKTsKKyAgICAgICAgICAgIGZwcmludGYoY3R4dC0+b3V0cHV0LCAiKSIpOworICAgICAgICB9CisgICAgfSBlbHNlCisJeG1sRGVidWdFcnIoY3R4dCwgWE1MX0NIRUNLX05PX05BTUUsCisJICAgICAgICAgICAgIkVudGl0eSBkZWNsYXJhdGlvbiBoYXMgbm8gbmFtZSIpOworICAgIGlmICghY3R4dC0+Y2hlY2spIHsKKyAgICAgICAgc3dpdGNoIChlbnQtPmV0eXBlKSB7CisgICAgICAgICAgICBjYXNlIFhNTF9JTlRFUk5BTF9HRU5FUkFMX0VOVElUWToKKyAgICAgICAgICAgICAgICBmcHJpbnRmKGN0eHQtPm91dHB1dCwgIiwgaW50ZXJuYWxcbiIpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBYTUxfRVhURVJOQUxfR0VORVJBTF9QQVJTRURfRU5USVRZOgorICAgICAgICAgICAgICAgIGZwcmludGYoY3R4dC0+b3V0cHV0LCAiLCBleHRlcm5hbCBwYXJzZWRcbiIpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBYTUxfRVhURVJOQUxfR0VORVJBTF9VTlBBUlNFRF9FTlRJVFk6CisgICAgICAgICAgICAgICAgZnByaW50ZihjdHh0LT5vdXRwdXQsICIsIHVucGFyc2VkXG4iKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgWE1MX0lOVEVSTkFMX1BBUkFNRVRFUl9FTlRJVFk6CisgICAgICAgICAgICAgICAgZnByaW50ZihjdHh0LT5vdXRwdXQsICIsIHBhcmFtZXRlclxuIik7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIFhNTF9FWFRFUk5BTF9QQVJBTUVURVJfRU5USVRZOgorICAgICAgICAgICAgICAgIGZwcmludGYoY3R4dC0+b3V0cHV0LCAiLCBleHRlcm5hbCBwYXJhbWV0ZXJcbiIpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBYTUxfSU5URVJOQUxfUFJFREVGSU5FRF9FTlRJVFk6CisgICAgICAgICAgICAgICAgZnByaW50ZihjdHh0LT5vdXRwdXQsICIsIHByZWRlZmluZWRcbiIpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgICAgIGlmIChlbnQtPkV4dGVybmFsSUQpIHsKKyAgICAgICAgICAgIHhtbEN0eHREdW1wU3BhY2VzKGN0eHQpOworICAgICAgICAgICAgZnByaW50ZihjdHh0LT5vdXRwdXQsICIgRXh0ZXJuYWxJRD0lc1xuIiwKKyAgICAgICAgICAgICAgICAgICAgKGNoYXIgKikgZW50LT5FeHRlcm5hbElEKTsKKyAgICAgICAgfQorICAgICAgICBpZiAoZW50LT5TeXN0ZW1JRCkgeworICAgICAgICAgICAgeG1sQ3R4dER1bXBTcGFjZXMoY3R4dCk7CisgICAgICAgICAgICBmcHJpbnRmKGN0eHQtPm91dHB1dCwgIiBTeXN0ZW1JRD0lc1xuIiwKKyAgICAgICAgICAgICAgICAgICAgKGNoYXIgKikgZW50LT5TeXN0ZW1JRCk7CisgICAgICAgIH0KKyAgICAgICAgaWYgKGVudC0+VVJJICE9IE5VTEwpIHsKKyAgICAgICAgICAgIHhtbEN0eHREdW1wU3BhY2VzKGN0eHQpOworICAgICAgICAgICAgZnByaW50ZihjdHh0LT5vdXRwdXQsICIgVVJJPSVzXG4iLCAoY2hhciAqKSBlbnQtPlVSSSk7CisgICAgICAgIH0KKyAgICAgICAgaWYgKGVudC0+Y29udGVudCkgeworICAgICAgICAgICAgeG1sQ3R4dER1bXBTcGFjZXMoY3R4dCk7CisgICAgICAgICAgICBmcHJpbnRmKGN0eHQtPm91dHB1dCwgIiBjb250ZW50PSIpOworICAgICAgICAgICAgeG1sQ3R4dER1bXBTdHJpbmcoY3R4dCwgZW50LT5jb250ZW50KTsKKyAgICAgICAgICAgIGZwcmludGYoY3R4dC0+b3V0cHV0LCAiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIC8qCisgICAgICogRG8gYSBiaXQgb2YgY2hlY2tpbmcKKyAgICAgKi8KKyAgICB4bWxDdHh0R2VuZXJpY05vZGVDaGVjayhjdHh0LCAoeG1sTm9kZVB0cikgZW50KTsKK30KKworc3RhdGljIHZvaWQKK3htbEN0eHREdW1wTmFtZXNwYWNlKHhtbERlYnVnQ3R4dFB0ciBjdHh0LCB4bWxOc1B0ciBucykKK3sKKyAgICB4bWxDdHh0RHVtcFNwYWNlcyhjdHh0KTsKKworICAgIGlmIChucyA9PSBOVUxMKSB7CisgICAgICAgIGlmICghY3R4dC0+Y2hlY2spCisgICAgICAgICAgICBmcHJpbnRmKGN0eHQtPm91dHB1dCwgIm5hbWVzcGFjZSBub2RlIGlzIE5VTExcbiIpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGlmIChucy0+dHlwZSAhPSBYTUxfTkFNRVNQQUNFX0RFQ0wpIHsKKwl4bWxEZWJ1Z0VycihjdHh0LCBYTUxfQ0hFQ0tfTk9UX05TX0RFQ0wsCisJICAgICAgICAgICAgIk5vZGUgaXMgbm90IGEgbmFtZXNwYWNlIGRlY2xhcmF0aW9uIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgaWYgKG5zLT5ocmVmID09IE5VTEwpIHsKKyAgICAgICAgaWYgKG5zLT5wcmVmaXggIT0gTlVMTCkKKwkgICAgeG1sRGVidWdFcnIzKGN0eHQsIFhNTF9DSEVDS19OT19IUkVGLAorICAgICAgICAgICAgICAgICAgICAiSW5jb21wbGV0ZSBuYW1lc3BhY2UgJXMgaHJlZj1OVUxMXG4iLAorICAgICAgICAgICAgICAgICAgICAoY2hhciAqKSBucy0+cHJlZml4KTsKKyAgICAgICAgZWxzZQorCSAgICB4bWxEZWJ1Z0VycihjdHh0LCBYTUxfQ0hFQ0tfTk9fSFJFRiwKKyAgICAgICAgICAgICAgICAgICAgIkluY29tcGxldGUgZGVmYXVsdCBuYW1lc3BhY2UgaHJlZj1OVUxMXG4iKTsKKyAgICB9IGVsc2UgeworICAgICAgICBpZiAoIWN0eHQtPmNoZWNrKSB7CisgICAgICAgICAgICBpZiAobnMtPnByZWZpeCAhPSBOVUxMKQorICAgICAgICAgICAgICAgIGZwcmludGYoY3R4dC0+b3V0cHV0LCAibmFtZXNwYWNlICVzIGhyZWY9IiwKKyAgICAgICAgICAgICAgICAgICAgICAgIChjaGFyICopIG5zLT5wcmVmaXgpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIGZwcmludGYoY3R4dC0+b3V0cHV0LCAiZGVmYXVsdCBuYW1lc3BhY2UgaHJlZj0iKTsKKworICAgICAgICAgICAgeG1sQ3R4dER1bXBTdHJpbmcoY3R4dCwgbnMtPmhyZWYpOworICAgICAgICAgICAgZnByaW50ZihjdHh0LT5vdXRwdXQsICJcbiIpOworICAgICAgICB9CisgICAgfQorfQorCitzdGF0aWMgdm9pZAoreG1sQ3R4dER1bXBOYW1lc3BhY2VMaXN0KHhtbERlYnVnQ3R4dFB0ciBjdHh0LCB4bWxOc1B0ciBucykKK3sKKyAgICB3aGlsZSAobnMgIT0gTlVMTCkgeworICAgICAgICB4bWxDdHh0RHVtcE5hbWVzcGFjZShjdHh0LCBucyk7CisgICAgICAgIG5zID0gbnMtPm5leHQ7CisgICAgfQorfQorCitzdGF0aWMgdm9pZAoreG1sQ3R4dER1bXBFbnRpdHkoeG1sRGVidWdDdHh0UHRyIGN0eHQsIHhtbEVudGl0eVB0ciBlbnQpCit7CisgICAgeG1sQ3R4dER1bXBTcGFjZXMoY3R4dCk7CisKKyAgICBpZiAoZW50ID09IE5VTEwpIHsKKyAgICAgICAgaWYgKCFjdHh0LT5jaGVjaykKKyAgICAgICAgICAgIGZwcmludGYoY3R4dC0+b3V0cHV0LCAiRW50aXR5IGlzIE5VTExcbiIpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGlmICghY3R4dC0+Y2hlY2spIHsKKyAgICAgICAgc3dpdGNoIChlbnQtPmV0eXBlKSB7CisgICAgICAgICAgICBjYXNlIFhNTF9JTlRFUk5BTF9HRU5FUkFMX0VOVElUWToKKyAgICAgICAgICAgICAgICBmcHJpbnRmKGN0eHQtPm91dHB1dCwgIklOVEVSTkFMX0dFTkVSQUxfRU5USVRZICIpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBYTUxfRVhURVJOQUxfR0VORVJBTF9QQVJTRURfRU5USVRZOgorICAgICAgICAgICAgICAgIGZwcmludGYoY3R4dC0+b3V0cHV0LCAiRVhURVJOQUxfR0VORVJBTF9QQVJTRURfRU5USVRZICIpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBYTUxfRVhURVJOQUxfR0VORVJBTF9VTlBBUlNFRF9FTlRJVFk6CisgICAgICAgICAgICAgICAgZnByaW50ZihjdHh0LT5vdXRwdXQsICJFWFRFUk5BTF9HRU5FUkFMX1VOUEFSU0VEX0VOVElUWSAiKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgWE1MX0lOVEVSTkFMX1BBUkFNRVRFUl9FTlRJVFk6CisgICAgICAgICAgICAgICAgZnByaW50ZihjdHh0LT5vdXRwdXQsICJJTlRFUk5BTF9QQVJBTUVURVJfRU5USVRZICIpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBYTUxfRVhURVJOQUxfUEFSQU1FVEVSX0VOVElUWToKKyAgICAgICAgICAgICAgICBmcHJpbnRmKGN0eHQtPm91dHB1dCwgIkVYVEVSTkFMX1BBUkFNRVRFUl9FTlRJVFkgIik7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgICAgIGZwcmludGYoY3R4dC0+b3V0cHV0LCAiRU5USVRZXyVkICEgIiwgKGludCkgZW50LT5ldHlwZSk7CisgICAgICAgIH0KKyAgICAgICAgZnByaW50ZihjdHh0LT5vdXRwdXQsICIlc1xuIiwgZW50LT5uYW1lKTsKKyAgICAgICAgaWYgKGVudC0+RXh0ZXJuYWxJRCkgeworICAgICAgICAgICAgeG1sQ3R4dER1bXBTcGFjZXMoY3R4dCk7CisgICAgICAgICAgICBmcHJpbnRmKGN0eHQtPm91dHB1dCwgIkV4dGVybmFsSUQ9JXNcbiIsCisgICAgICAgICAgICAgICAgICAgIChjaGFyICopIGVudC0+RXh0ZXJuYWxJRCk7CisgICAgICAgIH0KKyAgICAgICAgaWYgKGVudC0+U3lzdGVtSUQpIHsKKyAgICAgICAgICAgIHhtbEN0eHREdW1wU3BhY2VzKGN0eHQpOworICAgICAgICAgICAgZnByaW50ZihjdHh0LT5vdXRwdXQsICJTeXN0ZW1JRD0lc1xuIiwgKGNoYXIgKikgZW50LT5TeXN0ZW1JRCk7CisgICAgICAgIH0KKyAgICAgICAgaWYgKGVudC0+VVJJKSB7CisgICAgICAgICAgICB4bWxDdHh0RHVtcFNwYWNlcyhjdHh0KTsKKyAgICAgICAgICAgIGZwcmludGYoY3R4dC0+b3V0cHV0LCAiVVJJPSVzXG4iLCAoY2hhciAqKSBlbnQtPlVSSSk7CisgICAgICAgIH0KKyAgICAgICAgaWYgKGVudC0+Y29udGVudCkgeworICAgICAgICAgICAgeG1sQ3R4dER1bXBTcGFjZXMoY3R4dCk7CisgICAgICAgICAgICBmcHJpbnRmKGN0eHQtPm91dHB1dCwgImNvbnRlbnQ9Iik7CisgICAgICAgICAgICB4bWxDdHh0RHVtcFN0cmluZyhjdHh0LCBlbnQtPmNvbnRlbnQpOworICAgICAgICAgICAgZnByaW50ZihjdHh0LT5vdXRwdXQsICJcbiIpOworICAgICAgICB9CisgICAgfQorfQorCisvKioKKyAqIHhtbEN0eHREdW1wQXR0cjoKKyAqIEBvdXRwdXQ6ICB0aGUgRklMRSAqIGZvciB0aGUgb3V0cHV0CisgKiBAYXR0cjogIHRoZSBhdHRyaWJ1dGUKKyAqIEBkZXB0aDogIHRoZSBpbmRlbnRhdGlvbiBsZXZlbC4KKyAqCisgKiBEdW1wcyBkZWJ1ZyBpbmZvcm1hdGlvbiBmb3IgdGhlIGF0dHJpYnV0ZQorICovCitzdGF0aWMgdm9pZAoreG1sQ3R4dER1bXBBdHRyKHhtbERlYnVnQ3R4dFB0ciBjdHh0LCB4bWxBdHRyUHRyIGF0dHIpCit7CisgICAgeG1sQ3R4dER1bXBTcGFjZXMoY3R4dCk7CisKKyAgICBpZiAoYXR0ciA9PSBOVUxMKSB7CisgICAgICAgIGlmICghY3R4dC0+Y2hlY2spCisgICAgICAgICAgICBmcHJpbnRmKGN0eHQtPm91dHB1dCwgIkF0dHIgaXMgTlVMTCIpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGlmICghY3R4dC0+Y2hlY2spIHsKKyAgICAgICAgZnByaW50ZihjdHh0LT5vdXRwdXQsICJBVFRSSUJVVEUgIik7CisJeG1sQ3R4dER1bXBTdHJpbmcoY3R4dCwgYXR0ci0+bmFtZSk7CisgICAgICAgIGZwcmludGYoY3R4dC0+b3V0cHV0LCAiXG4iKTsKKyAgICAgICAgaWYgKGF0dHItPmNoaWxkcmVuICE9IE5VTEwpIHsKKyAgICAgICAgICAgIGN0eHQtPmRlcHRoKys7CisgICAgICAgICAgICB4bWxDdHh0RHVtcE5vZGVMaXN0KGN0eHQsIGF0dHItPmNoaWxkcmVuKTsKKyAgICAgICAgICAgIGN0eHQtPmRlcHRoLS07CisgICAgICAgIH0KKyAgICB9CisgICAgaWYgKGF0dHItPm5hbWUgPT0gTlVMTCkKKwl4bWxEZWJ1Z0VycihjdHh0LCBYTUxfQ0hFQ0tfTk9fTkFNRSwKKwkgICAgICAgICAgICAiQXR0cmlidXRlIGhhcyBubyBuYW1lIik7CisKKyAgICAvKgorICAgICAqIERvIGEgYml0IG9mIGNoZWNraW5nCisgICAgICovCisgICAgeG1sQ3R4dEdlbmVyaWNOb2RlQ2hlY2soY3R4dCwgKHhtbE5vZGVQdHIpIGF0dHIpOworfQorCisvKioKKyAqIHhtbEN0eHREdW1wQXR0ckxpc3Q6CisgKiBAb3V0cHV0OiAgdGhlIEZJTEUgKiBmb3IgdGhlIG91dHB1dAorICogQGF0dHI6ICB0aGUgYXR0cmlidXRlIGxpc3QKKyAqIEBkZXB0aDogIHRoZSBpbmRlbnRhdGlvbiBsZXZlbC4KKyAqCisgKiBEdW1wcyBkZWJ1ZyBpbmZvcm1hdGlvbiBmb3IgdGhlIGF0dHJpYnV0ZSBsaXN0CisgKi8KK3N0YXRpYyB2b2lkCit4bWxDdHh0RHVtcEF0dHJMaXN0KHhtbERlYnVnQ3R4dFB0ciBjdHh0LCB4bWxBdHRyUHRyIGF0dHIpCit7CisgICAgd2hpbGUgKGF0dHIgIT0gTlVMTCkgeworICAgICAgICB4bWxDdHh0RHVtcEF0dHIoY3R4dCwgYXR0cik7CisgICAgICAgIGF0dHIgPSBhdHRyLT5uZXh0OworICAgIH0KK30KKworLyoqCisgKiB4bWxDdHh0RHVtcE9uZU5vZGU6CisgKiBAb3V0cHV0OiAgdGhlIEZJTEUgKiBmb3IgdGhlIG91dHB1dAorICogQG5vZGU6ICB0aGUgbm9kZQorICogQGRlcHRoOiAgdGhlIGluZGVudGF0aW9uIGxldmVsLgorICoKKyAqIER1bXBzIGRlYnVnIGluZm9ybWF0aW9uIGZvciB0aGUgZWxlbWVudCBub2RlLCBpdCBpcyBub3QgcmVjdXJzaXZlCisgKi8KK3N0YXRpYyB2b2lkCit4bWxDdHh0RHVtcE9uZU5vZGUoeG1sRGVidWdDdHh0UHRyIGN0eHQsIHhtbE5vZGVQdHIgbm9kZSkKK3sKKyAgICBpZiAobm9kZSA9PSBOVUxMKSB7CisgICAgICAgIGlmICghY3R4dC0+Y2hlY2spIHsKKyAgICAgICAgICAgIHhtbEN0eHREdW1wU3BhY2VzKGN0eHQpOworICAgICAgICAgICAgZnByaW50ZihjdHh0LT5vdXRwdXQsICJub2RlIGlzIE5VTExcbiIpOworICAgICAgICB9CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgY3R4dC0+bm9kZSA9IG5vZGU7CisKKyAgICBzd2l0Y2ggKG5vZGUtPnR5cGUpIHsKKyAgICAgICAgY2FzZSBYTUxfRUxFTUVOVF9OT0RFOgorICAgICAgICAgICAgaWYgKCFjdHh0LT5jaGVjaykgeworICAgICAgICAgICAgICAgIHhtbEN0eHREdW1wU3BhY2VzKGN0eHQpOworICAgICAgICAgICAgICAgIGZwcmludGYoY3R4dC0+b3V0cHV0LCAiRUxFTUVOVCAiKTsKKyAgICAgICAgICAgICAgICBpZiAoKG5vZGUtPm5zICE9IE5VTEwpICYmIChub2RlLT5ucy0+cHJlZml4ICE9IE5VTEwpKSB7CisgICAgICAgICAgICAgICAgICAgIHhtbEN0eHREdW1wU3RyaW5nKGN0eHQsIG5vZGUtPm5zLT5wcmVmaXgpOworICAgICAgICAgICAgICAgICAgICBmcHJpbnRmKGN0eHQtPm91dHB1dCwgIjoiKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgeG1sQ3R4dER1bXBTdHJpbmcoY3R4dCwgbm9kZS0+bmFtZSk7CisgICAgICAgICAgICAgICAgZnByaW50ZihjdHh0LT5vdXRwdXQsICJcbiIpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0FUVFJJQlVURV9OT0RFOgorICAgICAgICAgICAgaWYgKCFjdHh0LT5jaGVjaykKKyAgICAgICAgICAgICAgICB4bWxDdHh0RHVtcFNwYWNlcyhjdHh0KTsKKyAgICAgICAgICAgIGZwcmludGYoY3R4dC0+b3V0cHV0LCAiRXJyb3IsIEFUVFJJQlVURSBmb3VuZCBoZXJlXG4iKTsKKyAgICAgICAgICAgIHhtbEN0eHRHZW5lcmljTm9kZUNoZWNrKGN0eHQsIG5vZGUpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBjYXNlIFhNTF9URVhUX05PREU6CisgICAgICAgICAgICBpZiAoIWN0eHQtPmNoZWNrKSB7CisgICAgICAgICAgICAgICAgeG1sQ3R4dER1bXBTcGFjZXMoY3R4dCk7CisgICAgICAgICAgICAgICAgaWYgKG5vZGUtPm5hbWUgPT0gKGNvbnN0IHhtbENoYXIgKikgeG1sU3RyaW5nVGV4dE5vZW5jKQorICAgICAgICAgICAgICAgICAgICBmcHJpbnRmKGN0eHQtPm91dHB1dCwgIlRFWFQgbm8gZW5jIik7CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICBmcHJpbnRmKGN0eHQtPm91dHB1dCwgIlRFWFQiKTsKKwkJaWYgKGN0eHQtPm9wdGlvbnMgJiBEVU1QX1RFWFRfVFlQRSkgeworCQkgICAgaWYgKG5vZGUtPmNvbnRlbnQgPT0gKHhtbENoYXIgKikgJihub2RlLT5wcm9wZXJ0aWVzKSkKKwkJCWZwcmludGYoY3R4dC0+b3V0cHV0LCAiIGNvbXBhY3RcbiIpOworCQkgICAgZWxzZSBpZiAoeG1sRGljdE93bnMoY3R4dC0+ZGljdCwgbm9kZS0+Y29udGVudCkgPT0gMSkKKwkJCWZwcmludGYoY3R4dC0+b3V0cHV0LCAiIGludGVybmVkXG4iKTsKKwkJICAgIGVsc2UKKwkJCWZwcmludGYoY3R4dC0+b3V0cHV0LCAiXG4iKTsKKwkJfSBlbHNlCisJCSAgICBmcHJpbnRmKGN0eHQtPm91dHB1dCwgIlxuIik7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfQ0RBVEFfU0VDVElPTl9OT0RFOgorICAgICAgICAgICAgaWYgKCFjdHh0LT5jaGVjaykgeworICAgICAgICAgICAgICAgIHhtbEN0eHREdW1wU3BhY2VzKGN0eHQpOworICAgICAgICAgICAgICAgIGZwcmludGYoY3R4dC0+b3V0cHV0LCAiQ0RBVEFfU0VDVElPTlxuIik7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfRU5USVRZX1JFRl9OT0RFOgorICAgICAgICAgICAgaWYgKCFjdHh0LT5jaGVjaykgeworICAgICAgICAgICAgICAgIHhtbEN0eHREdW1wU3BhY2VzKGN0eHQpOworICAgICAgICAgICAgICAgIGZwcmludGYoY3R4dC0+b3V0cHV0LCAiRU5USVRZX1JFRiglcylcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAoY2hhciAqKSBub2RlLT5uYW1lKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9FTlRJVFlfTk9ERToKKyAgICAgICAgICAgIGlmICghY3R4dC0+Y2hlY2spIHsKKyAgICAgICAgICAgICAgICB4bWxDdHh0RHVtcFNwYWNlcyhjdHh0KTsKKyAgICAgICAgICAgICAgICBmcHJpbnRmKGN0eHQtPm91dHB1dCwgIkVOVElUWVxuIik7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUElfTk9ERToKKyAgICAgICAgICAgIGlmICghY3R4dC0+Y2hlY2spIHsKKyAgICAgICAgICAgICAgICB4bWxDdHh0RHVtcFNwYWNlcyhjdHh0KTsKKyAgICAgICAgICAgICAgICBmcHJpbnRmKGN0eHQtPm91dHB1dCwgIlBJICVzXG4iLCAoY2hhciAqKSBub2RlLT5uYW1lKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9DT01NRU5UX05PREU6CisgICAgICAgICAgICBpZiAoIWN0eHQtPmNoZWNrKSB7CisgICAgICAgICAgICAgICAgeG1sQ3R4dER1bXBTcGFjZXMoY3R4dCk7CisgICAgICAgICAgICAgICAgZnByaW50ZihjdHh0LT5vdXRwdXQsICJDT01NRU5UXG4iKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9ET0NVTUVOVF9OT0RFOgorICAgICAgICBjYXNlIFhNTF9IVE1MX0RPQ1VNRU5UX05PREU6CisgICAgICAgICAgICBpZiAoIWN0eHQtPmNoZWNrKSB7CisgICAgICAgICAgICAgICAgeG1sQ3R4dER1bXBTcGFjZXMoY3R4dCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBmcHJpbnRmKGN0eHQtPm91dHB1dCwgIkVycm9yLCBET0NVTUVOVCBmb3VuZCBoZXJlXG4iKTsKKyAgICAgICAgICAgIHhtbEN0eHRHZW5lcmljTm9kZUNoZWNrKGN0eHQsIG5vZGUpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBjYXNlIFhNTF9ET0NVTUVOVF9UWVBFX05PREU6CisgICAgICAgICAgICBpZiAoIWN0eHQtPmNoZWNrKSB7CisgICAgICAgICAgICAgICAgeG1sQ3R4dER1bXBTcGFjZXMoY3R4dCk7CisgICAgICAgICAgICAgICAgZnByaW50ZihjdHh0LT5vdXRwdXQsICJET0NVTUVOVF9UWVBFXG4iKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9ET0NVTUVOVF9GUkFHX05PREU6CisgICAgICAgICAgICBpZiAoIWN0eHQtPmNoZWNrKSB7CisgICAgICAgICAgICAgICAgeG1sQ3R4dER1bXBTcGFjZXMoY3R4dCk7CisgICAgICAgICAgICAgICAgZnByaW50ZihjdHh0LT5vdXRwdXQsICJET0NVTUVOVF9GUkFHXG4iKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9OT1RBVElPTl9OT0RFOgorICAgICAgICAgICAgaWYgKCFjdHh0LT5jaGVjaykgeworICAgICAgICAgICAgICAgIHhtbEN0eHREdW1wU3BhY2VzKGN0eHQpOworICAgICAgICAgICAgICAgIGZwcmludGYoY3R4dC0+b3V0cHV0LCAiTk9UQVRJT05cbiIpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0RURF9OT0RFOgorICAgICAgICAgICAgeG1sQ3R4dER1bXBEdGROb2RlKGN0eHQsICh4bWxEdGRQdHIpIG5vZGUpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBjYXNlIFhNTF9FTEVNRU5UX0RFQ0w6CisgICAgICAgICAgICB4bWxDdHh0RHVtcEVsZW1EZWNsKGN0eHQsICh4bWxFbGVtZW50UHRyKSBub2RlKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgY2FzZSBYTUxfQVRUUklCVVRFX0RFQ0w6CisgICAgICAgICAgICB4bWxDdHh0RHVtcEF0dHJEZWNsKGN0eHQsICh4bWxBdHRyaWJ1dGVQdHIpIG5vZGUpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBjYXNlIFhNTF9FTlRJVFlfREVDTDoKKyAgICAgICAgICAgIHhtbEN0eHREdW1wRW50aXR5RGVjbChjdHh0LCAoeG1sRW50aXR5UHRyKSBub2RlKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgY2FzZSBYTUxfTkFNRVNQQUNFX0RFQ0w6CisgICAgICAgICAgICB4bWxDdHh0RHVtcE5hbWVzcGFjZShjdHh0LCAoeG1sTnNQdHIpIG5vZGUpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBjYXNlIFhNTF9YSU5DTFVERV9TVEFSVDoKKyAgICAgICAgICAgIGlmICghY3R4dC0+Y2hlY2spIHsKKyAgICAgICAgICAgICAgICB4bWxDdHh0RHVtcFNwYWNlcyhjdHh0KTsKKyAgICAgICAgICAgICAgICBmcHJpbnRmKGN0eHQtPm91dHB1dCwgIklOQ0xVREUgU1RBUlRcbiIpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBjYXNlIFhNTF9YSU5DTFVERV9FTkQ6CisgICAgICAgICAgICBpZiAoIWN0eHQtPmNoZWNrKSB7CisgICAgICAgICAgICAgICAgeG1sQ3R4dER1bXBTcGFjZXMoY3R4dCk7CisgICAgICAgICAgICAgICAgZnByaW50ZihjdHh0LT5vdXRwdXQsICJJTkNMVURFIEVORFxuIik7CisgICAgICAgICAgICB9CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBpZiAoIWN0eHQtPmNoZWNrKQorICAgICAgICAgICAgICAgIHhtbEN0eHREdW1wU3BhY2VzKGN0eHQpOworCSAgICB4bWxEZWJ1Z0VycjIoY3R4dCwgWE1MX0NIRUNLX1VOS05PV05fTk9ERSwKKwkgICAgICAgICAgICAgICAgIlVua25vd24gbm9kZSB0eXBlICVkXG4iLCBub2RlLT50eXBlKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgaWYgKG5vZGUtPmRvYyA9PSBOVUxMKSB7CisgICAgICAgIGlmICghY3R4dC0+Y2hlY2spIHsKKyAgICAgICAgICAgIHhtbEN0eHREdW1wU3BhY2VzKGN0eHQpOworICAgICAgICB9CisgICAgICAgIGZwcmludGYoY3R4dC0+b3V0cHV0LCAiUEJNOiBkb2MgPT0gTlVMTCAhISFcbiIpOworICAgIH0KKyAgICBjdHh0LT5kZXB0aCsrOworICAgIGlmICgobm9kZS0+dHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFKSAmJiAobm9kZS0+bnNEZWYgIT0gTlVMTCkpCisgICAgICAgIHhtbEN0eHREdW1wTmFtZXNwYWNlTGlzdChjdHh0LCBub2RlLT5uc0RlZik7CisgICAgaWYgKChub2RlLT50eXBlID09IFhNTF9FTEVNRU5UX05PREUpICYmIChub2RlLT5wcm9wZXJ0aWVzICE9IE5VTEwpKQorICAgICAgICB4bWxDdHh0RHVtcEF0dHJMaXN0KGN0eHQsIG5vZGUtPnByb3BlcnRpZXMpOworICAgIGlmIChub2RlLT50eXBlICE9IFhNTF9FTlRJVFlfUkVGX05PREUpIHsKKyAgICAgICAgaWYgKChub2RlLT50eXBlICE9IFhNTF9FTEVNRU5UX05PREUpICYmIChub2RlLT5jb250ZW50ICE9IE5VTEwpKSB7CisgICAgICAgICAgICBpZiAoIWN0eHQtPmNoZWNrKSB7CisgICAgICAgICAgICAgICAgeG1sQ3R4dER1bXBTcGFjZXMoY3R4dCk7CisgICAgICAgICAgICAgICAgZnByaW50ZihjdHh0LT5vdXRwdXQsICJjb250ZW50PSIpOworICAgICAgICAgICAgICAgIHhtbEN0eHREdW1wU3RyaW5nKGN0eHQsIG5vZGUtPmNvbnRlbnQpOworICAgICAgICAgICAgICAgIGZwcmludGYoY3R4dC0+b3V0cHV0LCAiXG4iKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0gZWxzZSB7CisgICAgICAgIHhtbEVudGl0eVB0ciBlbnQ7CisKKyAgICAgICAgZW50ID0geG1sR2V0RG9jRW50aXR5KG5vZGUtPmRvYywgbm9kZS0+bmFtZSk7CisgICAgICAgIGlmIChlbnQgIT0gTlVMTCkKKyAgICAgICAgICAgIHhtbEN0eHREdW1wRW50aXR5KGN0eHQsIGVudCk7CisgICAgfQorICAgIGN0eHQtPmRlcHRoLS07CisKKyAgICAvKgorICAgICAqIERvIGEgYml0IG9mIGNoZWNraW5nCisgICAgICovCisgICAgeG1sQ3R4dEdlbmVyaWNOb2RlQ2hlY2soY3R4dCwgbm9kZSk7Cit9CisKKy8qKgorICogeG1sQ3R4dER1bXBOb2RlOgorICogQG91dHB1dDogIHRoZSBGSUxFICogZm9yIHRoZSBvdXRwdXQKKyAqIEBub2RlOiAgdGhlIG5vZGUKKyAqIEBkZXB0aDogIHRoZSBpbmRlbnRhdGlvbiBsZXZlbC4KKyAqCisgKiBEdW1wcyBkZWJ1ZyBpbmZvcm1hdGlvbiBmb3IgdGhlIGVsZW1lbnQgbm9kZSwgaXQgaXMgcmVjdXJzaXZlCisgKi8KK3N0YXRpYyB2b2lkCit4bWxDdHh0RHVtcE5vZGUoeG1sRGVidWdDdHh0UHRyIGN0eHQsIHhtbE5vZGVQdHIgbm9kZSkKK3sKKyAgICBpZiAobm9kZSA9PSBOVUxMKSB7CisgICAgICAgIGlmICghY3R4dC0+Y2hlY2spIHsKKyAgICAgICAgICAgIHhtbEN0eHREdW1wU3BhY2VzKGN0eHQpOworICAgICAgICAgICAgZnByaW50ZihjdHh0LT5vdXRwdXQsICJub2RlIGlzIE5VTExcbiIpOworICAgICAgICB9CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgeG1sQ3R4dER1bXBPbmVOb2RlKGN0eHQsIG5vZGUpOworICAgIGlmICgobm9kZS0+dHlwZSAhPSBYTUxfTkFNRVNQQUNFX0RFQ0wpICYmCisgICAgICAgIChub2RlLT5jaGlsZHJlbiAhPSBOVUxMKSAmJiAobm9kZS0+dHlwZSAhPSBYTUxfRU5USVRZX1JFRl9OT0RFKSkgeworICAgICAgICBjdHh0LT5kZXB0aCsrOworICAgICAgICB4bWxDdHh0RHVtcE5vZGVMaXN0KGN0eHQsIG5vZGUtPmNoaWxkcmVuKTsKKyAgICAgICAgY3R4dC0+ZGVwdGgtLTsKKyAgICB9Cit9CisKKy8qKgorICogeG1sQ3R4dER1bXBOb2RlTGlzdDoKKyAqIEBvdXRwdXQ6ICB0aGUgRklMRSAqIGZvciB0aGUgb3V0cHV0CisgKiBAbm9kZTogIHRoZSBub2RlIGxpc3QKKyAqIEBkZXB0aDogIHRoZSBpbmRlbnRhdGlvbiBsZXZlbC4KKyAqCisgKiBEdW1wcyBkZWJ1ZyBpbmZvcm1hdGlvbiBmb3IgdGhlIGxpc3Qgb2YgZWxlbWVudCBub2RlLCBpdCBpcyByZWN1cnNpdmUKKyAqLworc3RhdGljIHZvaWQKK3htbEN0eHREdW1wTm9kZUxpc3QoeG1sRGVidWdDdHh0UHRyIGN0eHQsIHhtbE5vZGVQdHIgbm9kZSkKK3sKKyAgICB3aGlsZSAobm9kZSAhPSBOVUxMKSB7CisgICAgICAgIHhtbEN0eHREdW1wTm9kZShjdHh0LCBub2RlKTsKKyAgICAgICAgbm9kZSA9IG5vZGUtPm5leHQ7CisgICAgfQorfQorCitzdGF0aWMgdm9pZAoreG1sQ3R4dER1bXBEb2NIZWFkKHhtbERlYnVnQ3R4dFB0ciBjdHh0LCB4bWxEb2NQdHIgZG9jKQoreworICAgIGlmIChkb2MgPT0gTlVMTCkgeworICAgICAgICBpZiAoIWN0eHQtPmNoZWNrKQorICAgICAgICAgICAgZnByaW50ZihjdHh0LT5vdXRwdXQsICJET0NVTUVOVCA9PSBOVUxMICFcbiIpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGN0eHQtPm5vZGUgPSAoeG1sTm9kZVB0cikgZG9jOworCisgICAgc3dpdGNoIChkb2MtPnR5cGUpIHsKKyAgICAgICAgY2FzZSBYTUxfRUxFTUVOVF9OT0RFOgorCSAgICB4bWxEZWJ1Z0VycihjdHh0LCBYTUxfQ0hFQ0tfRk9VTkRfRUxFTUVOVCwKKwkgICAgICAgICAgICAgICAgIk1pc3BsYWNlZCBFTEVNRU5UIG5vZGVcbiIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0FUVFJJQlVURV9OT0RFOgorCSAgICB4bWxEZWJ1Z0VycihjdHh0LCBYTUxfQ0hFQ0tfRk9VTkRfQVRUUklCVVRFLAorCSAgICAgICAgICAgICAgICAiTWlzcGxhY2VkIEFUVFJJQlVURSBub2RlXG4iKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9URVhUX05PREU6CisJICAgIHhtbERlYnVnRXJyKGN0eHQsIFhNTF9DSEVDS19GT1VORF9URVhULAorCSAgICAgICAgICAgICAgICAiTWlzcGxhY2VkIFRFWFQgbm9kZVxuIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfQ0RBVEFfU0VDVElPTl9OT0RFOgorCSAgICB4bWxEZWJ1Z0VycihjdHh0LCBYTUxfQ0hFQ0tfRk9VTkRfQ0RBVEEsCisJICAgICAgICAgICAgICAgICJNaXNwbGFjZWQgQ0RBVEEgbm9kZVxuIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfRU5USVRZX1JFRl9OT0RFOgorCSAgICB4bWxEZWJ1Z0VycihjdHh0LCBYTUxfQ0hFQ0tfRk9VTkRfRU5USVRZUkVGLAorCSAgICAgICAgICAgICAgICAiTWlzcGxhY2VkIEVOVElUWVJFRiBub2RlXG4iKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9FTlRJVFlfTk9ERToKKwkgICAgeG1sRGVidWdFcnIoY3R4dCwgWE1MX0NIRUNLX0ZPVU5EX0VOVElUWSwKKwkgICAgICAgICAgICAgICAgIk1pc3BsYWNlZCBFTlRJVFkgbm9kZVxuIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUElfTk9ERToKKwkgICAgeG1sRGVidWdFcnIoY3R4dCwgWE1MX0NIRUNLX0ZPVU5EX1BJLAorCSAgICAgICAgICAgICAgICAiTWlzcGxhY2VkIFBJIG5vZGVcbiIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0NPTU1FTlRfTk9ERToKKwkgICAgeG1sRGVidWdFcnIoY3R4dCwgWE1MX0NIRUNLX0ZPVU5EX0NPTU1FTlQsCisJICAgICAgICAgICAgICAgICJNaXNwbGFjZWQgQ09NTUVOVCBub2RlXG4iKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9ET0NVTUVOVF9OT0RFOgorCSAgICBpZiAoIWN0eHQtPmNoZWNrKQorCQlmcHJpbnRmKGN0eHQtPm91dHB1dCwgIkRPQ1VNRU5UXG4iKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9IVE1MX0RPQ1VNRU5UX05PREU6CisJICAgIGlmICghY3R4dC0+Y2hlY2spCisJCWZwcmludGYoY3R4dC0+b3V0cHV0LCAiSFRNTCBET0NVTUVOVFxuIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfRE9DVU1FTlRfVFlQRV9OT0RFOgorCSAgICB4bWxEZWJ1Z0VycihjdHh0LCBYTUxfQ0hFQ0tfRk9VTkRfRE9DVFlQRSwKKwkgICAgICAgICAgICAgICAgIk1pc3BsYWNlZCBET0NUWVBFIG5vZGVcbiIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0RPQ1VNRU5UX0ZSQUdfTk9ERToKKwkgICAgeG1sRGVidWdFcnIoY3R4dCwgWE1MX0NIRUNLX0ZPVU5EX0ZSQUdNRU5ULAorCSAgICAgICAgICAgICAgICAiTWlzcGxhY2VkIEZSQUdNRU5UIG5vZGVcbiIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX05PVEFUSU9OX05PREU6CisJICAgIHhtbERlYnVnRXJyKGN0eHQsIFhNTF9DSEVDS19GT1VORF9OT1RBVElPTiwKKwkgICAgICAgICAgICAgICAgIk1pc3BsYWNlZCBOT1RBVElPTiBub2RlXG4iKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBkZWZhdWx0OgorCSAgICB4bWxEZWJ1Z0VycjIoY3R4dCwgWE1MX0NIRUNLX1VOS05PV05fTk9ERSwKKwkgICAgICAgICAgICAgICAgIlVua25vd24gbm9kZSB0eXBlICVkXG4iLCBkb2MtPnR5cGUpOworICAgIH0KK30KKworLyoqCisgKiB4bWxDdHh0RHVtcERvY3VtZW50SGVhZDoKKyAqIEBvdXRwdXQ6ICB0aGUgRklMRSAqIGZvciB0aGUgb3V0cHV0CisgKiBAZG9jOiAgdGhlIGRvY3VtZW50CisgKgorICogRHVtcHMgZGVidWcgaW5mb3JtYXRpb24gY25jZXJuaW5nIHRoZSBkb2N1bWVudCwgbm90IHJlY3Vyc2l2ZQorICovCitzdGF0aWMgdm9pZAoreG1sQ3R4dER1bXBEb2N1bWVudEhlYWQoeG1sRGVidWdDdHh0UHRyIGN0eHQsIHhtbERvY1B0ciBkb2MpCit7CisgICAgaWYgKGRvYyA9PSBOVUxMKSByZXR1cm47CisgICAgeG1sQ3R4dER1bXBEb2NIZWFkKGN0eHQsIGRvYyk7CisgICAgaWYgKCFjdHh0LT5jaGVjaykgeworICAgICAgICBpZiAoZG9jLT5uYW1lICE9IE5VTEwpIHsKKyAgICAgICAgICAgIGZwcmludGYoY3R4dC0+b3V0cHV0LCAibmFtZT0iKTsKKyAgICAgICAgICAgIHhtbEN0eHREdW1wU3RyaW5nKGN0eHQsIEJBRF9DQVNUIGRvYy0+bmFtZSk7CisgICAgICAgICAgICBmcHJpbnRmKGN0eHQtPm91dHB1dCwgIlxuIik7CisgICAgICAgIH0KKyAgICAgICAgaWYgKGRvYy0+dmVyc2lvbiAhPSBOVUxMKSB7CisgICAgICAgICAgICBmcHJpbnRmKGN0eHQtPm91dHB1dCwgInZlcnNpb249Iik7CisgICAgICAgICAgICB4bWxDdHh0RHVtcFN0cmluZyhjdHh0LCBkb2MtPnZlcnNpb24pOworICAgICAgICAgICAgZnByaW50ZihjdHh0LT5vdXRwdXQsICJcbiIpOworICAgICAgICB9CisgICAgICAgIGlmIChkb2MtPmVuY29kaW5nICE9IE5VTEwpIHsKKyAgICAgICAgICAgIGZwcmludGYoY3R4dC0+b3V0cHV0LCAiZW5jb2Rpbmc9Iik7CisgICAgICAgICAgICB4bWxDdHh0RHVtcFN0cmluZyhjdHh0LCBkb2MtPmVuY29kaW5nKTsKKyAgICAgICAgICAgIGZwcmludGYoY3R4dC0+b3V0cHV0LCAiXG4iKTsKKyAgICAgICAgfQorICAgICAgICBpZiAoZG9jLT5VUkwgIT0gTlVMTCkgeworICAgICAgICAgICAgZnByaW50ZihjdHh0LT5vdXRwdXQsICJVUkw9Iik7CisgICAgICAgICAgICB4bWxDdHh0RHVtcFN0cmluZyhjdHh0LCBkb2MtPlVSTCk7CisgICAgICAgICAgICBmcHJpbnRmKGN0eHQtPm91dHB1dCwgIlxuIik7CisgICAgICAgIH0KKyAgICAgICAgaWYgKGRvYy0+c3RhbmRhbG9uZSkKKyAgICAgICAgICAgIGZwcmludGYoY3R4dC0+b3V0cHV0LCAic3RhbmRhbG9uZT10cnVlXG4iKTsKKyAgICB9CisgICAgaWYgKGRvYy0+b2xkTnMgIT0gTlVMTCkKKyAgICAgICAgeG1sQ3R4dER1bXBOYW1lc3BhY2VMaXN0KGN0eHQsIGRvYy0+b2xkTnMpOworfQorCisvKioKKyAqIHhtbEN0eHREdW1wRG9jdW1lbnQ6CisgKiBAb3V0cHV0OiAgdGhlIEZJTEUgKiBmb3IgdGhlIG91dHB1dAorICogQGRvYzogIHRoZSBkb2N1bWVudAorICoKKyAqIER1bXBzIGRlYnVnIGluZm9ybWF0aW9uIGZvciB0aGUgZG9jdW1lbnQsIGl0J3MgcmVjdXJzaXZlCisgKi8KK3N0YXRpYyB2b2lkCit4bWxDdHh0RHVtcERvY3VtZW50KHhtbERlYnVnQ3R4dFB0ciBjdHh0LCB4bWxEb2NQdHIgZG9jKQoreworICAgIGlmIChkb2MgPT0gTlVMTCkgeworICAgICAgICBpZiAoIWN0eHQtPmNoZWNrKQorICAgICAgICAgICAgZnByaW50ZihjdHh0LT5vdXRwdXQsICJET0NVTUVOVCA9PSBOVUxMICFcbiIpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIHhtbEN0eHREdW1wRG9jdW1lbnRIZWFkKGN0eHQsIGRvYyk7CisgICAgaWYgKCgoZG9jLT50eXBlID09IFhNTF9ET0NVTUVOVF9OT0RFKSB8fAorICAgICAgICAgKGRvYy0+dHlwZSA9PSBYTUxfSFRNTF9ET0NVTUVOVF9OT0RFKSkKKyAgICAgICAgJiYgKGRvYy0+Y2hpbGRyZW4gIT0gTlVMTCkpIHsKKyAgICAgICAgY3R4dC0+ZGVwdGgrKzsKKyAgICAgICAgeG1sQ3R4dER1bXBOb2RlTGlzdChjdHh0LCBkb2MtPmNoaWxkcmVuKTsKKyAgICAgICAgY3R4dC0+ZGVwdGgtLTsKKyAgICB9Cit9CisKK3N0YXRpYyB2b2lkCit4bWxDdHh0RHVtcEVudGl0eUNhbGxiYWNrKHhtbEVudGl0eVB0ciBjdXIsIHhtbERlYnVnQ3R4dFB0ciBjdHh0KQoreworICAgIGlmIChjdXIgPT0gTlVMTCkgeworICAgICAgICBpZiAoIWN0eHQtPmNoZWNrKQorICAgICAgICAgICAgZnByaW50ZihjdHh0LT5vdXRwdXQsICJFbnRpdHkgaXMgTlVMTCIpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGlmICghY3R4dC0+Y2hlY2spIHsKKyAgICAgICAgZnByaW50ZihjdHh0LT5vdXRwdXQsICIlcyA6ICIsIChjaGFyICopIGN1ci0+bmFtZSk7CisgICAgICAgIHN3aXRjaCAoY3VyLT5ldHlwZSkgeworICAgICAgICAgICAgY2FzZSBYTUxfSU5URVJOQUxfR0VORVJBTF9FTlRJVFk6CisgICAgICAgICAgICAgICAgZnByaW50ZihjdHh0LT5vdXRwdXQsICJJTlRFUk5BTCBHRU5FUkFMLCAiKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgWE1MX0VYVEVSTkFMX0dFTkVSQUxfUEFSU0VEX0VOVElUWToKKyAgICAgICAgICAgICAgICBmcHJpbnRmKGN0eHQtPm91dHB1dCwgIkVYVEVSTkFMIFBBUlNFRCwgIik7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIFhNTF9FWFRFUk5BTF9HRU5FUkFMX1VOUEFSU0VEX0VOVElUWToKKyAgICAgICAgICAgICAgICBmcHJpbnRmKGN0eHQtPm91dHB1dCwgIkVYVEVSTkFMIFVOUEFSU0VELCAiKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgWE1MX0lOVEVSTkFMX1BBUkFNRVRFUl9FTlRJVFk6CisgICAgICAgICAgICAgICAgZnByaW50ZihjdHh0LT5vdXRwdXQsICJJTlRFUk5BTCBQQVJBTUVURVIsICIpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBYTUxfRVhURVJOQUxfUEFSQU1FVEVSX0VOVElUWToKKyAgICAgICAgICAgICAgICBmcHJpbnRmKGN0eHQtPm91dHB1dCwgIkVYVEVSTkFMIFBBUkFNRVRFUiwgIik7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBkZWZhdWx0OgorCQl4bWxEZWJ1Z0VycjIoY3R4dCwgWE1MX0NIRUNLX0VOVElUWV9UWVBFLAorCQkJICAgICAiVW5rbm93biBlbnRpdHkgdHlwZSAlZFxuIiwgY3VyLT5ldHlwZSk7CisgICAgICAgIH0KKyAgICAgICAgaWYgKGN1ci0+RXh0ZXJuYWxJRCAhPSBOVUxMKQorICAgICAgICAgICAgZnByaW50ZihjdHh0LT5vdXRwdXQsICJJRCBcIiVzXCIiLCAoY2hhciAqKSBjdXItPkV4dGVybmFsSUQpOworICAgICAgICBpZiAoY3VyLT5TeXN0ZW1JRCAhPSBOVUxMKQorICAgICAgICAgICAgZnByaW50ZihjdHh0LT5vdXRwdXQsICJTWVNURU0gXCIlc1wiIiwgKGNoYXIgKikgY3VyLT5TeXN0ZW1JRCk7CisgICAgICAgIGlmIChjdXItPm9yaWcgIT0gTlVMTCkKKyAgICAgICAgICAgIGZwcmludGYoY3R4dC0+b3V0cHV0LCAiXG4gb3JpZyBcIiVzXCIiLCAoY2hhciAqKSBjdXItPm9yaWcpOworICAgICAgICBpZiAoKGN1ci0+dHlwZSAhPSBYTUxfRUxFTUVOVF9OT0RFKSAmJiAoY3VyLT5jb250ZW50ICE9IE5VTEwpKQorICAgICAgICAgICAgZnByaW50ZihjdHh0LT5vdXRwdXQsICJcbiBjb250ZW50IFwiJXNcIiIsCisgICAgICAgICAgICAgICAgICAgIChjaGFyICopIGN1ci0+Y29udGVudCk7CisgICAgICAgIGZwcmludGYoY3R4dC0+b3V0cHV0LCAiXG4iKTsKKyAgICB9Cit9CisKKy8qKgorICogeG1sQ3R4dER1bXBFbnRpdGllczoKKyAqIEBvdXRwdXQ6ICB0aGUgRklMRSAqIGZvciB0aGUgb3V0cHV0CisgKiBAZG9jOiAgdGhlIGRvY3VtZW50CisgKgorICogRHVtcHMgZGVidWcgaW5mb3JtYXRpb24gZm9yIGFsbCB0aGUgZW50aXRpZXMgaW4gdXNlIGJ5IHRoZSBkb2N1bWVudAorICovCitzdGF0aWMgdm9pZAoreG1sQ3R4dER1bXBFbnRpdGllcyh4bWxEZWJ1Z0N0eHRQdHIgY3R4dCwgeG1sRG9jUHRyIGRvYykKK3sKKyAgICBpZiAoZG9jID09IE5VTEwpIHJldHVybjsKKyAgICB4bWxDdHh0RHVtcERvY0hlYWQoY3R4dCwgZG9jKTsKKyAgICBpZiAoKGRvYy0+aW50U3Vic2V0ICE9IE5VTEwpICYmIChkb2MtPmludFN1YnNldC0+ZW50aXRpZXMgIT0gTlVMTCkpIHsKKyAgICAgICAgeG1sRW50aXRpZXNUYWJsZVB0ciB0YWJsZSA9ICh4bWxFbnRpdGllc1RhYmxlUHRyKQorICAgICAgICAgICAgZG9jLT5pbnRTdWJzZXQtPmVudGl0aWVzOworCisgICAgICAgIGlmICghY3R4dC0+Y2hlY2spCisgICAgICAgICAgICBmcHJpbnRmKGN0eHQtPm91dHB1dCwgIkVudGl0aWVzIGluIGludGVybmFsIHN1YnNldFxuIik7CisgICAgICAgIHhtbEhhc2hTY2FuKHRhYmxlLCAoeG1sSGFzaFNjYW5uZXIpIHhtbEN0eHREdW1wRW50aXR5Q2FsbGJhY2ssCisgICAgICAgICAgICAgICAgICAgIGN0eHQpOworICAgIH0gZWxzZQorICAgICAgICBmcHJpbnRmKGN0eHQtPm91dHB1dCwgIk5vIGVudGl0aWVzIGluIGludGVybmFsIHN1YnNldFxuIik7CisgICAgaWYgKChkb2MtPmV4dFN1YnNldCAhPSBOVUxMKSAmJiAoZG9jLT5leHRTdWJzZXQtPmVudGl0aWVzICE9IE5VTEwpKSB7CisgICAgICAgIHhtbEVudGl0aWVzVGFibGVQdHIgdGFibGUgPSAoeG1sRW50aXRpZXNUYWJsZVB0cikKKyAgICAgICAgICAgIGRvYy0+ZXh0U3Vic2V0LT5lbnRpdGllczsKKworICAgICAgICBpZiAoIWN0eHQtPmNoZWNrKQorICAgICAgICAgICAgZnByaW50ZihjdHh0LT5vdXRwdXQsICJFbnRpdGllcyBpbiBleHRlcm5hbCBzdWJzZXRcbiIpOworICAgICAgICB4bWxIYXNoU2Nhbih0YWJsZSwgKHhtbEhhc2hTY2FubmVyKSB4bWxDdHh0RHVtcEVudGl0eUNhbGxiYWNrLAorICAgICAgICAgICAgICAgICAgICBjdHh0KTsKKyAgICB9IGVsc2UgaWYgKCFjdHh0LT5jaGVjaykKKyAgICAgICAgZnByaW50ZihjdHh0LT5vdXRwdXQsICJObyBlbnRpdGllcyBpbiBleHRlcm5hbCBzdWJzZXRcbiIpOworfQorCisvKioKKyAqIHhtbEN0eHREdW1wRFREOgorICogQG91dHB1dDogIHRoZSBGSUxFICogZm9yIHRoZSBvdXRwdXQKKyAqIEBkdGQ6ICB0aGUgRFRECisgKgorICogRHVtcHMgZGVidWcgaW5mb3JtYXRpb24gZm9yIHRoZSBEVEQKKyAqLworc3RhdGljIHZvaWQKK3htbEN0eHREdW1wRFREKHhtbERlYnVnQ3R4dFB0ciBjdHh0LCB4bWxEdGRQdHIgZHRkKQoreworICAgIGlmIChkdGQgPT0gTlVMTCkgeworICAgICAgICBpZiAoIWN0eHQtPmNoZWNrKQorICAgICAgICAgICAgZnByaW50ZihjdHh0LT5vdXRwdXQsICJEVEQgaXMgTlVMTFxuIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgeG1sQ3R4dER1bXBEdGROb2RlKGN0eHQsIGR0ZCk7CisgICAgaWYgKGR0ZC0+Y2hpbGRyZW4gPT0gTlVMTCkKKyAgICAgICAgZnByaW50ZihjdHh0LT5vdXRwdXQsICIgICAgRFREIGlzIGVtcHR5XG4iKTsKKyAgICBlbHNlIHsKKyAgICAgICAgY3R4dC0+ZGVwdGgrKzsKKyAgICAgICAgeG1sQ3R4dER1bXBOb2RlTGlzdChjdHh0LCBkdGQtPmNoaWxkcmVuKTsKKyAgICAgICAgY3R4dC0+ZGVwdGgtLTsKKyAgICB9Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCQlQdWJsaWMgZW50cnkgcG9pbnRzIGZvciBkdW1wCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioKKyAqIHhtbERlYnVnRHVtcFN0cmluZzoKKyAqIEBvdXRwdXQ6ICB0aGUgRklMRSAqIGZvciB0aGUgb3V0cHV0CisgKiBAc3RyOiAgdGhlIHN0cmluZworICoKKyAqIER1bXBzIGluZm9ybWF0aW9ucyBhYm91dCB0aGUgc3RyaW5nLCBzaG9ydGVuIGl0IGlmIG5lY2Vzc2FyeQorICovCit2b2lkCit4bWxEZWJ1Z0R1bXBTdHJpbmcoRklMRSAqIG91dHB1dCwgY29uc3QgeG1sQ2hhciAqIHN0cikKK3sKKyAgICBpbnQgaTsKKworICAgIGlmIChvdXRwdXQgPT0gTlVMTCkKKwlvdXRwdXQgPSBzdGRvdXQ7CisgICAgaWYgKHN0ciA9PSBOVUxMKSB7CisgICAgICAgIGZwcmludGYob3V0cHV0LCAiKE5VTEwpIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgZm9yIChpID0gMDsgaSA8IDQwOyBpKyspCisgICAgICAgIGlmIChzdHJbaV0gPT0gMCkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgZWxzZSBpZiAoSVNfQkxBTktfQ0goc3RyW2ldKSkKKyAgICAgICAgICAgIGZwdXRjKCcgJywgb3V0cHV0KTsKKyAgICAgICAgZWxzZSBpZiAoc3RyW2ldID49IDB4ODApCisgICAgICAgICAgICBmcHJpbnRmKG91dHB1dCwgIiMlWCIsIHN0cltpXSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGZwdXRjKHN0cltpXSwgb3V0cHV0KTsKKyAgICBmcHJpbnRmKG91dHB1dCwgIi4uLiIpOworfQorCisvKioKKyAqIHhtbERlYnVnRHVtcEF0dHI6CisgKiBAb3V0cHV0OiAgdGhlIEZJTEUgKiBmb3IgdGhlIG91dHB1dAorICogQGF0dHI6ICB0aGUgYXR0cmlidXRlCisgKiBAZGVwdGg6ICB0aGUgaW5kZW50YXRpb24gbGV2ZWwuCisgKgorICogRHVtcHMgZGVidWcgaW5mb3JtYXRpb24gZm9yIHRoZSBhdHRyaWJ1dGUKKyAqLwordm9pZAoreG1sRGVidWdEdW1wQXR0cihGSUxFICpvdXRwdXQsIHhtbEF0dHJQdHIgYXR0ciwgaW50IGRlcHRoKSB7CisgICAgeG1sRGVidWdDdHh0IGN0eHQ7CisKKyAgICBpZiAob3V0cHV0ID09IE5VTEwpIHJldHVybjsKKyAgICB4bWxDdHh0RHVtcEluaXRDdHh0KCZjdHh0KTsKKyAgICBjdHh0Lm91dHB1dCA9IG91dHB1dDsKKyAgICBjdHh0LmRlcHRoID0gZGVwdGg7CisgICAgeG1sQ3R4dER1bXBBdHRyKCZjdHh0LCBhdHRyKTsKKyAgICB4bWxDdHh0RHVtcENsZWFuQ3R4dCgmY3R4dCk7Cit9CisKKworLyoqCisgKiB4bWxEZWJ1Z0R1bXBFbnRpdGllczoKKyAqIEBvdXRwdXQ6ICB0aGUgRklMRSAqIGZvciB0aGUgb3V0cHV0CisgKiBAZG9jOiAgdGhlIGRvY3VtZW50CisgKgorICogRHVtcHMgZGVidWcgaW5mb3JtYXRpb24gZm9yIGFsbCB0aGUgZW50aXRpZXMgaW4gdXNlIGJ5IHRoZSBkb2N1bWVudAorICovCit2b2lkCit4bWxEZWJ1Z0R1bXBFbnRpdGllcyhGSUxFICogb3V0cHV0LCB4bWxEb2NQdHIgZG9jKQoreworICAgIHhtbERlYnVnQ3R4dCBjdHh0OworCisgICAgaWYgKG91dHB1dCA9PSBOVUxMKSByZXR1cm47CisgICAgeG1sQ3R4dER1bXBJbml0Q3R4dCgmY3R4dCk7CisgICAgY3R4dC5vdXRwdXQgPSBvdXRwdXQ7CisgICAgeG1sQ3R4dER1bXBFbnRpdGllcygmY3R4dCwgZG9jKTsKKyAgICB4bWxDdHh0RHVtcENsZWFuQ3R4dCgmY3R4dCk7Cit9CisKKy8qKgorICogeG1sRGVidWdEdW1wQXR0ckxpc3Q6CisgKiBAb3V0cHV0OiAgdGhlIEZJTEUgKiBmb3IgdGhlIG91dHB1dAorICogQGF0dHI6ICB0aGUgYXR0cmlidXRlIGxpc3QKKyAqIEBkZXB0aDogIHRoZSBpbmRlbnRhdGlvbiBsZXZlbC4KKyAqCisgKiBEdW1wcyBkZWJ1ZyBpbmZvcm1hdGlvbiBmb3IgdGhlIGF0dHJpYnV0ZSBsaXN0CisgKi8KK3ZvaWQKK3htbERlYnVnRHVtcEF0dHJMaXN0KEZJTEUgKiBvdXRwdXQsIHhtbEF0dHJQdHIgYXR0ciwgaW50IGRlcHRoKQoreworICAgIHhtbERlYnVnQ3R4dCBjdHh0OworCisgICAgaWYgKG91dHB1dCA9PSBOVUxMKSByZXR1cm47CisgICAgeG1sQ3R4dER1bXBJbml0Q3R4dCgmY3R4dCk7CisgICAgY3R4dC5vdXRwdXQgPSBvdXRwdXQ7CisgICAgY3R4dC5kZXB0aCA9IGRlcHRoOworICAgIHhtbEN0eHREdW1wQXR0ckxpc3QoJmN0eHQsIGF0dHIpOworICAgIHhtbEN0eHREdW1wQ2xlYW5DdHh0KCZjdHh0KTsKK30KKworLyoqCisgKiB4bWxEZWJ1Z0R1bXBPbmVOb2RlOgorICogQG91dHB1dDogIHRoZSBGSUxFICogZm9yIHRoZSBvdXRwdXQKKyAqIEBub2RlOiAgdGhlIG5vZGUKKyAqIEBkZXB0aDogIHRoZSBpbmRlbnRhdGlvbiBsZXZlbC4KKyAqCisgKiBEdW1wcyBkZWJ1ZyBpbmZvcm1hdGlvbiBmb3IgdGhlIGVsZW1lbnQgbm9kZSwgaXQgaXMgbm90IHJlY3Vyc2l2ZQorICovCit2b2lkCit4bWxEZWJ1Z0R1bXBPbmVOb2RlKEZJTEUgKiBvdXRwdXQsIHhtbE5vZGVQdHIgbm9kZSwgaW50IGRlcHRoKQoreworICAgIHhtbERlYnVnQ3R4dCBjdHh0OworCisgICAgaWYgKG91dHB1dCA9PSBOVUxMKSByZXR1cm47CisgICAgeG1sQ3R4dER1bXBJbml0Q3R4dCgmY3R4dCk7CisgICAgY3R4dC5vdXRwdXQgPSBvdXRwdXQ7CisgICAgY3R4dC5kZXB0aCA9IGRlcHRoOworICAgIHhtbEN0eHREdW1wT25lTm9kZSgmY3R4dCwgbm9kZSk7CisgICAgeG1sQ3R4dER1bXBDbGVhbkN0eHQoJmN0eHQpOworfQorCisvKioKKyAqIHhtbERlYnVnRHVtcE5vZGU6CisgKiBAb3V0cHV0OiAgdGhlIEZJTEUgKiBmb3IgdGhlIG91dHB1dAorICogQG5vZGU6ICB0aGUgbm9kZQorICogQGRlcHRoOiAgdGhlIGluZGVudGF0aW9uIGxldmVsLgorICoKKyAqIER1bXBzIGRlYnVnIGluZm9ybWF0aW9uIGZvciB0aGUgZWxlbWVudCBub2RlLCBpdCBpcyByZWN1cnNpdmUKKyAqLwordm9pZAoreG1sRGVidWdEdW1wTm9kZShGSUxFICogb3V0cHV0LCB4bWxOb2RlUHRyIG5vZGUsIGludCBkZXB0aCkKK3sKKyAgICB4bWxEZWJ1Z0N0eHQgY3R4dDsKKworICAgIGlmIChvdXRwdXQgPT0gTlVMTCkKKwlvdXRwdXQgPSBzdGRvdXQ7CisgICAgeG1sQ3R4dER1bXBJbml0Q3R4dCgmY3R4dCk7CisgICAgY3R4dC5vdXRwdXQgPSBvdXRwdXQ7CisgICAgY3R4dC5kZXB0aCA9IGRlcHRoOworICAgIHhtbEN0eHREdW1wTm9kZSgmY3R4dCwgbm9kZSk7CisgICAgeG1sQ3R4dER1bXBDbGVhbkN0eHQoJmN0eHQpOworfQorCisvKioKKyAqIHhtbERlYnVnRHVtcE5vZGVMaXN0OgorICogQG91dHB1dDogIHRoZSBGSUxFICogZm9yIHRoZSBvdXRwdXQKKyAqIEBub2RlOiAgdGhlIG5vZGUgbGlzdAorICogQGRlcHRoOiAgdGhlIGluZGVudGF0aW9uIGxldmVsLgorICoKKyAqIER1bXBzIGRlYnVnIGluZm9ybWF0aW9uIGZvciB0aGUgbGlzdCBvZiBlbGVtZW50IG5vZGUsIGl0IGlzIHJlY3Vyc2l2ZQorICovCit2b2lkCit4bWxEZWJ1Z0R1bXBOb2RlTGlzdChGSUxFICogb3V0cHV0LCB4bWxOb2RlUHRyIG5vZGUsIGludCBkZXB0aCkKK3sKKyAgICB4bWxEZWJ1Z0N0eHQgY3R4dDsKKworICAgIGlmIChvdXRwdXQgPT0gTlVMTCkKKwlvdXRwdXQgPSBzdGRvdXQ7CisgICAgeG1sQ3R4dER1bXBJbml0Q3R4dCgmY3R4dCk7CisgICAgY3R4dC5vdXRwdXQgPSBvdXRwdXQ7CisgICAgY3R4dC5kZXB0aCA9IGRlcHRoOworICAgIHhtbEN0eHREdW1wTm9kZUxpc3QoJmN0eHQsIG5vZGUpOworICAgIHhtbEN0eHREdW1wQ2xlYW5DdHh0KCZjdHh0KTsKK30KKworLyoqCisgKiB4bWxEZWJ1Z0R1bXBEb2N1bWVudEhlYWQ6CisgKiBAb3V0cHV0OiAgdGhlIEZJTEUgKiBmb3IgdGhlIG91dHB1dAorICogQGRvYzogIHRoZSBkb2N1bWVudAorICoKKyAqIER1bXBzIGRlYnVnIGluZm9ybWF0aW9uIGNuY2VybmluZyB0aGUgZG9jdW1lbnQsIG5vdCByZWN1cnNpdmUKKyAqLwordm9pZAoreG1sRGVidWdEdW1wRG9jdW1lbnRIZWFkKEZJTEUgKiBvdXRwdXQsIHhtbERvY1B0ciBkb2MpCit7CisgICAgeG1sRGVidWdDdHh0IGN0eHQ7CisKKyAgICBpZiAob3V0cHV0ID09IE5VTEwpCisJb3V0cHV0ID0gc3Rkb3V0OworICAgIHhtbEN0eHREdW1wSW5pdEN0eHQoJmN0eHQpOworICAgIGN0eHQub3B0aW9ucyB8PSBEVU1QX1RFWFRfVFlQRTsKKyAgICBjdHh0Lm91dHB1dCA9IG91dHB1dDsKKyAgICB4bWxDdHh0RHVtcERvY3VtZW50SGVhZCgmY3R4dCwgZG9jKTsKKyAgICB4bWxDdHh0RHVtcENsZWFuQ3R4dCgmY3R4dCk7Cit9CisKKy8qKgorICogeG1sRGVidWdEdW1wRG9jdW1lbnQ6CisgKiBAb3V0cHV0OiAgdGhlIEZJTEUgKiBmb3IgdGhlIG91dHB1dAorICogQGRvYzogIHRoZSBkb2N1bWVudAorICoKKyAqIER1bXBzIGRlYnVnIGluZm9ybWF0aW9uIGZvciB0aGUgZG9jdW1lbnQsIGl0J3MgcmVjdXJzaXZlCisgKi8KK3ZvaWQKK3htbERlYnVnRHVtcERvY3VtZW50KEZJTEUgKiBvdXRwdXQsIHhtbERvY1B0ciBkb2MpCit7CisgICAgeG1sRGVidWdDdHh0IGN0eHQ7CisKKyAgICBpZiAob3V0cHV0ID09IE5VTEwpCisJb3V0cHV0ID0gc3Rkb3V0OworICAgIHhtbEN0eHREdW1wSW5pdEN0eHQoJmN0eHQpOworICAgIGN0eHQub3B0aW9ucyB8PSBEVU1QX1RFWFRfVFlQRTsKKyAgICBjdHh0Lm91dHB1dCA9IG91dHB1dDsKKyAgICB4bWxDdHh0RHVtcERvY3VtZW50KCZjdHh0LCBkb2MpOworICAgIHhtbEN0eHREdW1wQ2xlYW5DdHh0KCZjdHh0KTsKK30KKworLyoqCisgKiB4bWxEZWJ1Z0R1bXBEVEQ6CisgKiBAb3V0cHV0OiAgdGhlIEZJTEUgKiBmb3IgdGhlIG91dHB1dAorICogQGR0ZDogIHRoZSBEVEQKKyAqCisgKiBEdW1wcyBkZWJ1ZyBpbmZvcm1hdGlvbiBmb3IgdGhlIERURAorICovCit2b2lkCit4bWxEZWJ1Z0R1bXBEVEQoRklMRSAqIG91dHB1dCwgeG1sRHRkUHRyIGR0ZCkKK3sKKyAgICB4bWxEZWJ1Z0N0eHQgY3R4dDsKKworICAgIGlmIChvdXRwdXQgPT0gTlVMTCkKKwlvdXRwdXQgPSBzdGRvdXQ7CisgICAgeG1sQ3R4dER1bXBJbml0Q3R4dCgmY3R4dCk7CisgICAgY3R4dC5vcHRpb25zIHw9IERVTVBfVEVYVF9UWVBFOworICAgIGN0eHQub3V0cHV0ID0gb3V0cHV0OworICAgIHhtbEN0eHREdW1wRFREKCZjdHh0LCBkdGQpOworICAgIHhtbEN0eHREdW1wQ2xlYW5DdHh0KCZjdHh0KTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJCVB1YmxpYyBlbnRyeSBwb2ludHMgZm9yIGNoZWNraW5ncwkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioKKyAqIHhtbERlYnVnQ2hlY2tEb2N1bWVudDoKKyAqIEBvdXRwdXQ6ICB0aGUgRklMRSAqIGZvciB0aGUgb3V0cHV0CisgKiBAZG9jOiAgdGhlIGRvY3VtZW50CisgKgorICogQ2hlY2sgdGhlIGRvY3VtZW50IGZvciBwb3RlbnRpYWwgY29udGVudCBwcm9ibGVtcywgYW5kIG91dHB1dAorICogdGhlIGVycm9ycyB0byBAb3V0cHV0CisgKgorICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIGVycm9ycyBmb3VuZAorICovCitpbnQKK3htbERlYnVnQ2hlY2tEb2N1bWVudChGSUxFICogb3V0cHV0LCB4bWxEb2NQdHIgZG9jKQoreworICAgIHhtbERlYnVnQ3R4dCBjdHh0OworCisgICAgaWYgKG91dHB1dCA9PSBOVUxMKQorCW91dHB1dCA9IHN0ZG91dDsKKyAgICB4bWxDdHh0RHVtcEluaXRDdHh0KCZjdHh0KTsKKyAgICBjdHh0Lm91dHB1dCA9IG91dHB1dDsKKyAgICBjdHh0LmNoZWNrID0gMTsKKyAgICB4bWxDdHh0RHVtcERvY3VtZW50KCZjdHh0LCBkb2MpOworICAgIHhtbEN0eHREdW1wQ2xlYW5DdHh0KCZjdHh0KTsKKyAgICByZXR1cm4oY3R4dC5lcnJvcnMpOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQkJSGVscGVycyBmb3IgU2hlbGwJCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioKKyAqIHhtbExzQ291bnROb2RlOgorICogQG5vZGU6ICB0aGUgbm9kZSB0byBjb3VudAorICoKKyAqIENvdW50IHRoZSBjaGlsZHJlbiBvZiBAbm9kZS4KKyAqCisgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgY2hpbGRyZW4gb2YgQG5vZGUuCisgKi8KK2ludAoreG1sTHNDb3VudE5vZGUoeG1sTm9kZVB0ciBub2RlKSB7CisgICAgaW50IHJldCA9IDA7CisgICAgeG1sTm9kZVB0ciBsaXN0ID0gTlVMTDsKKworICAgIGlmIChub2RlID09IE5VTEwpCisJcmV0dXJuKDApOworCisgICAgc3dpdGNoIChub2RlLT50eXBlKSB7CisJY2FzZSBYTUxfRUxFTUVOVF9OT0RFOgorCSAgICBsaXN0ID0gbm9kZS0+Y2hpbGRyZW47CisJICAgIGJyZWFrOworCWNhc2UgWE1MX0RPQ1VNRU5UX05PREU6CisJY2FzZSBYTUxfSFRNTF9ET0NVTUVOVF9OT0RFOgorI2lmZGVmIExJQlhNTF9ET0NCX0VOQUJMRUQKKwljYXNlIFhNTF9ET0NCX0RPQ1VNRU5UX05PREU6CisjZW5kaWYKKwkgICAgbGlzdCA9ICgoeG1sRG9jUHRyKSBub2RlKS0+Y2hpbGRyZW47CisJICAgIGJyZWFrOworCWNhc2UgWE1MX0FUVFJJQlVURV9OT0RFOgorCSAgICBsaXN0ID0gKCh4bWxBdHRyUHRyKSBub2RlKS0+Y2hpbGRyZW47CisJICAgIGJyZWFrOworCWNhc2UgWE1MX1RFWFRfTk9ERToKKwljYXNlIFhNTF9DREFUQV9TRUNUSU9OX05PREU6CisJY2FzZSBYTUxfUElfTk9ERToKKwljYXNlIFhNTF9DT01NRU5UX05PREU6CisJICAgIGlmIChub2RlLT5jb250ZW50ICE9IE5VTEwpIHsKKwkJcmV0ID0geG1sU3RybGVuKG5vZGUtPmNvbnRlbnQpOworICAgICAgICAgICAgfQorCSAgICBicmVhazsKKwljYXNlIFhNTF9FTlRJVFlfUkVGX05PREU6CisJY2FzZSBYTUxfRE9DVU1FTlRfVFlQRV9OT0RFOgorCWNhc2UgWE1MX0VOVElUWV9OT0RFOgorCWNhc2UgWE1MX0RPQ1VNRU5UX0ZSQUdfTk9ERToKKwljYXNlIFhNTF9OT1RBVElPTl9OT0RFOgorCWNhc2UgWE1MX0RURF9OT0RFOgorICAgICAgICBjYXNlIFhNTF9FTEVNRU5UX0RFQ0w6CisgICAgICAgIGNhc2UgWE1MX0FUVFJJQlVURV9ERUNMOgorICAgICAgICBjYXNlIFhNTF9FTlRJVFlfREVDTDoKKwljYXNlIFhNTF9OQU1FU1BBQ0VfREVDTDoKKwljYXNlIFhNTF9YSU5DTFVERV9TVEFSVDoKKwljYXNlIFhNTF9YSU5DTFVERV9FTkQ6CisJICAgIHJldCA9IDE7CisJICAgIGJyZWFrOworICAgIH0KKyAgICBmb3IgKDtsaXN0ICE9IE5VTEw7cmV0KyspCisgICAgICAgIGxpc3QgPSBsaXN0LT5uZXh0OworICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbExzT25lTm9kZToKKyAqIEBvdXRwdXQ6ICB0aGUgRklMRSAqIGZvciB0aGUgb3V0cHV0CisgKiBAbm9kZTogIHRoZSBub2RlIHRvIGR1bXAKKyAqCisgKiBEdW1wIHRvIEBvdXRwdXQgdGhlIHR5cGUgYW5kIG5hbWUgb2YgQG5vZGUuCisgKi8KK3ZvaWQKK3htbExzT25lTm9kZShGSUxFICpvdXRwdXQsIHhtbE5vZGVQdHIgbm9kZSkgeworICAgIGlmIChvdXRwdXQgPT0gTlVMTCkgcmV0dXJuOworICAgIGlmIChub2RlID09IE5VTEwpIHsKKwlmcHJpbnRmKG91dHB1dCwgIk5VTExcbiIpOworCXJldHVybjsKKyAgICB9CisgICAgc3dpdGNoIChub2RlLT50eXBlKSB7CisJY2FzZSBYTUxfRUxFTUVOVF9OT0RFOgorCSAgICBmcHJpbnRmKG91dHB1dCwgIi0iKTsKKwkgICAgYnJlYWs7CisJY2FzZSBYTUxfQVRUUklCVVRFX05PREU6CisJICAgIGZwcmludGYob3V0cHV0LCAiYSIpOworCSAgICBicmVhazsKKwljYXNlIFhNTF9URVhUX05PREU6CisJICAgIGZwcmludGYob3V0cHV0LCAidCIpOworCSAgICBicmVhazsKKwljYXNlIFhNTF9DREFUQV9TRUNUSU9OX05PREU6CisJICAgIGZwcmludGYob3V0cHV0LCAiQyIpOworCSAgICBicmVhazsKKwljYXNlIFhNTF9FTlRJVFlfUkVGX05PREU6CisJICAgIGZwcmludGYob3V0cHV0LCAiZSIpOworCSAgICBicmVhazsKKwljYXNlIFhNTF9FTlRJVFlfTk9ERToKKwkgICAgZnByaW50ZihvdXRwdXQsICJFIik7CisJICAgIGJyZWFrOworCWNhc2UgWE1MX1BJX05PREU6CisJICAgIGZwcmludGYob3V0cHV0LCAicCIpOworCSAgICBicmVhazsKKwljYXNlIFhNTF9DT01NRU5UX05PREU6CisJICAgIGZwcmludGYob3V0cHV0LCAiYyIpOworCSAgICBicmVhazsKKwljYXNlIFhNTF9ET0NVTUVOVF9OT0RFOgorCSAgICBmcHJpbnRmKG91dHB1dCwgImQiKTsKKwkgICAgYnJlYWs7CisJY2FzZSBYTUxfSFRNTF9ET0NVTUVOVF9OT0RFOgorCSAgICBmcHJpbnRmKG91dHB1dCwgImgiKTsKKwkgICAgYnJlYWs7CisJY2FzZSBYTUxfRE9DVU1FTlRfVFlQRV9OT0RFOgorCSAgICBmcHJpbnRmKG91dHB1dCwgIlQiKTsKKwkgICAgYnJlYWs7CisJY2FzZSBYTUxfRE9DVU1FTlRfRlJBR19OT0RFOgorCSAgICBmcHJpbnRmKG91dHB1dCwgIkYiKTsKKwkgICAgYnJlYWs7CisJY2FzZSBYTUxfTk9UQVRJT05fTk9ERToKKwkgICAgZnByaW50ZihvdXRwdXQsICJOIik7CisJICAgIGJyZWFrOworCWNhc2UgWE1MX05BTUVTUEFDRV9ERUNMOgorCSAgICBmcHJpbnRmKG91dHB1dCwgIm4iKTsKKwkgICAgYnJlYWs7CisJZGVmYXVsdDoKKwkgICAgZnByaW50ZihvdXRwdXQsICI/Iik7CisgICAgfQorICAgIGlmIChub2RlLT50eXBlICE9IFhNTF9OQU1FU1BBQ0VfREVDTCkgeworCWlmIChub2RlLT5wcm9wZXJ0aWVzICE9IE5VTEwpCisJICAgIGZwcmludGYob3V0cHV0LCAiYSIpOworCWVsc2UKKwkgICAgZnByaW50ZihvdXRwdXQsICItIik7CisJaWYgKG5vZGUtPm5zRGVmICE9IE5VTEwpCisJICAgIGZwcmludGYob3V0cHV0LCAibiIpOworCWVsc2UKKwkgICAgZnByaW50ZihvdXRwdXQsICItIik7CisgICAgfQorCisgICAgZnByaW50ZihvdXRwdXQsICIgJThkICIsIHhtbExzQ291bnROb2RlKG5vZGUpKTsKKworICAgIHN3aXRjaCAobm9kZS0+dHlwZSkgeworCWNhc2UgWE1MX0VMRU1FTlRfTk9ERToKKwkgICAgaWYgKG5vZGUtPm5hbWUgIT0gTlVMTCkgeworICAgICAgICAgICAgICAgIGlmICgobm9kZS0+bnMgIT0gTlVMTCkgJiYgKG5vZGUtPm5zLT5wcmVmaXggIT0gTlVMTCkpCisgICAgICAgICAgICAgICAgICAgIGZwcmludGYob3V0cHV0LCAiJXM6Iiwgbm9kZS0+bnMtPnByZWZpeCk7CisJCWZwcmludGYob3V0cHV0LCAiJXMiLCAoY29uc3QgY2hhciAqKSBub2RlLT5uYW1lKTsKKyAgICAgICAgICAgIH0KKwkgICAgYnJlYWs7CisJY2FzZSBYTUxfQVRUUklCVVRFX05PREU6CisJICAgIGlmIChub2RlLT5uYW1lICE9IE5VTEwpCisJCWZwcmludGYob3V0cHV0LCAiJXMiLCAoY29uc3QgY2hhciAqKSBub2RlLT5uYW1lKTsKKwkgICAgYnJlYWs7CisJY2FzZSBYTUxfVEVYVF9OT0RFOgorCSAgICBpZiAobm9kZS0+Y29udGVudCAhPSBOVUxMKSB7CisJCXhtbERlYnVnRHVtcFN0cmluZyhvdXRwdXQsIG5vZGUtPmNvbnRlbnQpOworICAgICAgICAgICAgfQorCSAgICBicmVhazsKKwljYXNlIFhNTF9DREFUQV9TRUNUSU9OX05PREU6CisJICAgIGJyZWFrOworCWNhc2UgWE1MX0VOVElUWV9SRUZfTk9ERToKKwkgICAgaWYgKG5vZGUtPm5hbWUgIT0gTlVMTCkKKwkJZnByaW50ZihvdXRwdXQsICIlcyIsIChjb25zdCBjaGFyICopIG5vZGUtPm5hbWUpOworCSAgICBicmVhazsKKwljYXNlIFhNTF9FTlRJVFlfTk9ERToKKwkgICAgaWYgKG5vZGUtPm5hbWUgIT0gTlVMTCkKKwkJZnByaW50ZihvdXRwdXQsICIlcyIsIChjb25zdCBjaGFyICopIG5vZGUtPm5hbWUpOworCSAgICBicmVhazsKKwljYXNlIFhNTF9QSV9OT0RFOgorCSAgICBpZiAobm9kZS0+bmFtZSAhPSBOVUxMKQorCQlmcHJpbnRmKG91dHB1dCwgIiVzIiwgKGNvbnN0IGNoYXIgKikgbm9kZS0+bmFtZSk7CisJICAgIGJyZWFrOworCWNhc2UgWE1MX0NPTU1FTlRfTk9ERToKKwkgICAgYnJlYWs7CisJY2FzZSBYTUxfRE9DVU1FTlRfTk9ERToKKwkgICAgYnJlYWs7CisJY2FzZSBYTUxfSFRNTF9ET0NVTUVOVF9OT0RFOgorCSAgICBicmVhazsKKwljYXNlIFhNTF9ET0NVTUVOVF9UWVBFX05PREU6CisJICAgIGJyZWFrOworCWNhc2UgWE1MX0RPQ1VNRU5UX0ZSQUdfTk9ERToKKwkgICAgYnJlYWs7CisJY2FzZSBYTUxfTk9UQVRJT05fTk9ERToKKwkgICAgYnJlYWs7CisJY2FzZSBYTUxfTkFNRVNQQUNFX0RFQ0w6IHsKKwkgICAgeG1sTnNQdHIgbnMgPSAoeG1sTnNQdHIpIG5vZGU7CisKKwkgICAgaWYgKG5zLT5wcmVmaXggPT0gTlVMTCkKKwkJZnByaW50ZihvdXRwdXQsICJkZWZhdWx0IC0+ICVzIiwgKGNoYXIgKilucy0+aHJlZik7CisJICAgIGVsc2UKKwkJZnByaW50ZihvdXRwdXQsICIlcyAtPiAlcyIsIChjaGFyICopbnMtPnByZWZpeCwKKwkJCShjaGFyICopbnMtPmhyZWYpOworCSAgICBicmVhazsKKwl9CisJZGVmYXVsdDoKKwkgICAgaWYgKG5vZGUtPm5hbWUgIT0gTlVMTCkKKwkJZnByaW50ZihvdXRwdXQsICIlcyIsIChjb25zdCBjaGFyICopIG5vZGUtPm5hbWUpOworICAgIH0KKyAgICBmcHJpbnRmKG91dHB1dCwgIlxuIik7Cit9CisKKy8qKgorICogeG1sQm9vbFRvVGV4dDoKKyAqIEBib29sdmFsOiBhIGJvb2wgdG8gdHVybiBpbnRvIHRleHQKKyAqCisgKiBDb252ZW5pZW50IHdheSB0byB0dXJuIGJvb2wgaW50byB0ZXh0CisgKgorICogUmV0dXJucyBhIHBvaW50ZXIgdG8gZWl0aGVyICJUcnVlIiBvciAiRmFsc2UiCisgKi8KK2NvbnN0IGNoYXIgKgoreG1sQm9vbFRvVGV4dChpbnQgYm9vbHZhbCkKK3sKKyAgICBpZiAoYm9vbHZhbCkKKyAgICAgICAgcmV0dXJuKCJUcnVlIik7CisgICAgZWxzZQorICAgICAgICByZXR1cm4oIkZhbHNlIik7Cit9CisKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkqCisgKgkJVGhlIFhNTCBzaGVsbCByZWxhdGVkIGZ1bmN0aW9ucwkJCSoKKyAqCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworCisKKy8qCisgKiBUT0RPOiBJbXByb3ZlbWVudC9jbGVhbnVwcyBmb3IgdGhlIFhNTCBzaGVsbAorICogICAgIC0gYWxsb3cgdG8gc2hlbGwgb3V0IGFuIGVkaXRvciBvbiBhIHN1YnBhcnQKKyAqICAgICAtIGNsZWFudXAgZnVuY3Rpb24gcmVnaXN0cmF0aW9ucyAod2l0aCBoZWxwKSBhbmQgY2FsbGluZworICogICAgIC0gcHJvdmlkZSByZWdpc3RyYXRpb24gcm91dGluZXMKKyAqLworCisvKioKKyAqIHhtbFNoZWxsUHJpbnRYUGF0aEVycm9yOgorICogQGVycm9yVHlwZTogdmFsaWQgeHBhdGggZXJyb3IgaWQKKyAqIEBhcmc6IHRoZSBhcmd1bWVudCB0aGF0IGNhdXNlIHhwYXRoIHRvIGZhaWwKKyAqCisgKiBQcmludCB0aGUgeHBhdGggZXJyb3IgdG8gbGlieG1sIGRlZmF1bHQgZXJyb3IgY2hhbm5lbAorICovCit2b2lkCit4bWxTaGVsbFByaW50WFBhdGhFcnJvcihpbnQgZXJyb3JUeXBlLCBjb25zdCBjaGFyICphcmcpCit7CisgICAgY29uc3QgY2hhciAqZGVmYXVsdF9hcmcgPSAiUmVzdWx0IjsKKworICAgIGlmICghYXJnKQorICAgICAgICBhcmcgPSBkZWZhdWx0X2FyZzsKKworICAgIHN3aXRjaCAoZXJyb3JUeXBlKSB7CisgICAgICAgIGNhc2UgWFBBVEhfVU5ERUZJTkVEOgorICAgICAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiVzOiBubyBzdWNoIG5vZGVcbiIsIGFyZyk7CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBjYXNlIFhQQVRIX0JPT0xFQU46CisgICAgICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJXMgaXMgYSBCb29sZWFuXG4iLCBhcmcpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWFBBVEhfTlVNQkVSOgorICAgICAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiVzIGlzIGEgbnVtYmVyXG4iLCBhcmcpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWFBBVEhfU1RSSU5HOgorICAgICAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiVzIGlzIGEgc3RyaW5nXG4iLCBhcmcpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWFBBVEhfUE9JTlQ6CisgICAgICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJXMgaXMgYSBwb2ludFxuIiwgYXJnKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhQQVRIX1JBTkdFOgorICAgICAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiVzIGlzIGEgcmFuZ2VcbiIsIGFyZyk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYUEFUSF9MT0NBVElPTlNFVDoKKyAgICAgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICIlcyBpcyBhIHJhbmdlXG4iLCBhcmcpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWFBBVEhfVVNFUlM6CisgICAgICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJXMgaXMgdXNlci1kZWZpbmVkXG4iLCBhcmcpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWFBBVEhfWFNMVF9UUkVFOgorICAgICAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiVzIGlzIGFuIFhTTFQgdmFsdWUgdHJlZVxuIiwgYXJnKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgIH0KKyNpZiAwCisgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICJUcnkgY2FzdGluZyB0aGUgcmVzdWx0IHN0cmluZyBmdW5jdGlvbiAoeHBhdGggYnVpbHRpbilcbiIsCisgICAgICAgICAgICAgICAgICAgIGFyZyk7CisjZW5kaWYKK30KKworCisjaWZkZWYgTElCWE1MX09VVFBVVF9FTkFCTEVECisvKioKKyAqIHhtbFNoZWxsUHJpbnROb2RlQ3R4dDoKKyAqIEBjdHh0IDogYSBub24tbnVsbCBzaGVsbCBjb250ZXh0CisgKiBAbm9kZSA6IGEgbm9uLW51bGwgbm9kZSB0byBwcmludCB0byB0aGUgb3V0cHV0IEZJTEUKKyAqCisgKiBQcmludCBub2RlIHRvIHRoZSBvdXRwdXQgRklMRQorICovCitzdGF0aWMgdm9pZAoreG1sU2hlbGxQcmludE5vZGVDdHh0KHhtbFNoZWxsQ3R4dFB0ciBjdHh0LHhtbE5vZGVQdHIgbm9kZSkKK3sKKyAgICBGSUxFICpmcDsKKworICAgIGlmICghbm9kZSkKKyAgICAgICAgcmV0dXJuOworICAgIGlmIChjdHh0ID09IE5VTEwpCisJZnAgPSBzdGRvdXQ7CisgICAgZWxzZQorCWZwID0gY3R4dC0+b3V0cHV0OworCisgICAgaWYgKG5vZGUtPnR5cGUgPT0gWE1MX0RPQ1VNRU5UX05PREUpCisgICAgICAgIHhtbERvY0R1bXAoZnAsICh4bWxEb2NQdHIpIG5vZGUpOworICAgIGVsc2UgaWYgKG5vZGUtPnR5cGUgPT0gWE1MX0FUVFJJQlVURV9OT0RFKQorICAgICAgICB4bWxEZWJ1Z0R1bXBBdHRyTGlzdChmcCwgKHhtbEF0dHJQdHIpIG5vZGUsIDApOworICAgIGVsc2UKKyAgICAgICAgeG1sRWxlbUR1bXAoZnAsIG5vZGUtPmRvYywgbm9kZSk7CisKKyAgICBmcHJpbnRmKGZwLCAiXG4iKTsKK30KKworLyoqCisgKiB4bWxTaGVsbFByaW50Tm9kZToKKyAqIEBub2RlIDogYSBub24tbnVsbCBub2RlIHRvIHByaW50IHRvIHRoZSBvdXRwdXQgRklMRQorICoKKyAqIFByaW50IG5vZGUgdG8gdGhlIG91dHB1dCBGSUxFCisgKi8KK3ZvaWQKK3htbFNoZWxsUHJpbnROb2RlKHhtbE5vZGVQdHIgbm9kZSkKK3sKKyAgICB4bWxTaGVsbFByaW50Tm9kZUN0eHQoTlVMTCwgbm9kZSk7Cit9CisjZW5kaWYgLyogTElCWE1MX09VVFBVVF9FTkFCTEVEICovCisKKy8qKgorICogeG1sU2hlbGxQcmludFhQYXRoUmVzdWx0Q3R4dDoKKyAqIEBjdHh0OiBhIHZhbGlkIHNoZWxsIGNvbnRleHQKKyAqIEBsaXN0OiBhIHZhbGlkIHJlc3VsdCBnZW5lcmF0ZWQgYnkgYW4geHBhdGggZXZhbHVhdGlvbgorICoKKyAqIFByaW50cyByZXN1bHQgdG8gdGhlIG91dHB1dCBGSUxFCisgKi8KK3N0YXRpYyB2b2lkCit4bWxTaGVsbFByaW50WFBhdGhSZXN1bHRDdHh0KHhtbFNoZWxsQ3R4dFB0ciBjdHh0LHhtbFhQYXRoT2JqZWN0UHRyIGxpc3QpCit7CisgICAgaWYgKCFjdHh0KQorICAgICAgIHJldHVybjsKKworICAgIGlmIChsaXN0ICE9IE5VTEwpIHsKKyAgICAgICAgc3dpdGNoIChsaXN0LT50eXBlKSB7CisgICAgICAgICAgICBjYXNlIFhQQVRIX05PREVTRVQ6eworI2lmZGVmIExJQlhNTF9PVVRQVVRfRU5BQkxFRAorICAgICAgICAgICAgICAgICAgICBpbnQgaW5keDsKKworICAgICAgICAgICAgICAgICAgICBpZiAobGlzdC0+bm9kZXNldHZhbCkgeworICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChpbmR4ID0gMDsgaW5keCA8IGxpc3QtPm5vZGVzZXR2YWwtPm5vZGVOcjsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5keCsrKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sU2hlbGxQcmludE5vZGVDdHh0KGN0eHQsCisJCQkJICAgIGxpc3QtPm5vZGVzZXR2YWwtPm5vZGVUYWJbaW5keF0pOworICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkVtcHR5IG5vZGUgc2V0XG4iKTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBicmVhazsKKyNlbHNlCisJCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJCQkgICAgIk5vZGUgc2V0XG4iKTsKKyNlbmRpZiAvKiBMSUJYTUxfT1VUUFVUX0VOQUJMRUQgKi8KKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICBjYXNlIFhQQVRIX0JPT0xFQU46CisgICAgICAgICAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJJcyBhIEJvb2xlYW46JXNcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbEJvb2xUb1RleHQobGlzdC0+Ym9vbHZhbCkpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBYUEFUSF9OVU1CRVI6CisgICAgICAgICAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJJcyBhIG51bWJlcjolMGdcbiIsIGxpc3QtPmZsb2F0dmFsKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgWFBBVEhfU1RSSU5HOgorICAgICAgICAgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiSXMgYSBzdHJpbmc6JXNcbiIsIGxpc3QtPnN0cmluZ3ZhbCk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgICAgeG1sU2hlbGxQcmludFhQYXRoRXJyb3IobGlzdC0+dHlwZSwgTlVMTCk7CisgICAgICAgIH0KKyAgICB9Cit9CisKKy8qKgorICogeG1sU2hlbGxQcmludFhQYXRoUmVzdWx0OgorICogQGxpc3Q6IGEgdmFsaWQgcmVzdWx0IGdlbmVyYXRlZCBieSBhbiB4cGF0aCBldmFsdWF0aW9uCisgKgorICogUHJpbnRzIHJlc3VsdCB0byB0aGUgb3V0cHV0IEZJTEUKKyAqLwordm9pZAoreG1sU2hlbGxQcmludFhQYXRoUmVzdWx0KHhtbFhQYXRoT2JqZWN0UHRyIGxpc3QpCit7CisgICAgeG1sU2hlbGxQcmludFhQYXRoUmVzdWx0Q3R4dChOVUxMLCBsaXN0KTsKK30KKworLyoqCisgKiB4bWxTaGVsbExpc3Q6CisgKiBAY3R4dDogIHRoZSBzaGVsbCBjb250ZXh0CisgKiBAYXJnOiAgdW51c2VkCisgKiBAbm9kZTogIGEgbm9kZQorICogQG5vZGUyOiAgdW51c2VkCisgKgorICogSW1wbGVtZW50cyB0aGUgWE1MIHNoZWxsIGZ1bmN0aW9uICJscyIKKyAqIERvZXMgYW4gVW5peCBsaWtlIGxpc3Rpbmcgb2YgdGhlIGdpdmVuIG5vZGUgKGxpa2UgYSBkaXJlY3RvcnkpCisgKgorICogUmV0dXJucyAwCisgKi8KK2ludAoreG1sU2hlbGxMaXN0KHhtbFNoZWxsQ3R4dFB0ciBjdHh0LAorICAgICAgICAgICAgIGNoYXIgKmFyZyBBVFRSSUJVVEVfVU5VU0VELCB4bWxOb2RlUHRyIG5vZGUsCisgICAgICAgICAgICAgeG1sTm9kZVB0ciBub2RlMiBBVFRSSUJVVEVfVU5VU0VEKQoreworICAgIHhtbE5vZGVQdHIgY3VyOworICAgIGlmICghY3R4dCkKKyAgICAgICAgcmV0dXJuICgwKTsKKyAgICBpZiAobm9kZSA9PSBOVUxMKSB7CisJZnByaW50ZihjdHh0LT5vdXRwdXQsICJOVUxMXG4iKTsKKwlyZXR1cm4gKDApOworICAgIH0KKyAgICBpZiAoKG5vZGUtPnR5cGUgPT0gWE1MX0RPQ1VNRU5UX05PREUpIHx8CisgICAgICAgIChub2RlLT50eXBlID09IFhNTF9IVE1MX0RPQ1VNRU5UX05PREUpKSB7CisgICAgICAgIGN1ciA9ICgoeG1sRG9jUHRyKSBub2RlKS0+Y2hpbGRyZW47CisgICAgfSBlbHNlIGlmIChub2RlLT50eXBlID09IFhNTF9OQU1FU1BBQ0VfREVDTCkgeworICAgICAgICB4bWxMc09uZU5vZGUoY3R4dC0+b3V0cHV0LCBub2RlKTsKKyAgICAgICAgcmV0dXJuICgwKTsKKyAgICB9IGVsc2UgaWYgKG5vZGUtPmNoaWxkcmVuICE9IE5VTEwpIHsKKyAgICAgICAgY3VyID0gbm9kZS0+Y2hpbGRyZW47CisgICAgfSBlbHNlIHsKKyAgICAgICAgeG1sTHNPbmVOb2RlKGN0eHQtPm91dHB1dCwgbm9kZSk7CisgICAgICAgIHJldHVybiAoMCk7CisgICAgfQorICAgIHdoaWxlIChjdXIgIT0gTlVMTCkgeworICAgICAgICB4bWxMc09uZU5vZGUoY3R4dC0+b3V0cHV0LCBjdXIpOworICAgICAgICBjdXIgPSBjdXItPm5leHQ7CisgICAgfQorICAgIHJldHVybiAoMCk7Cit9CisKKy8qKgorICogeG1sU2hlbGxCYXNlOgorICogQGN0eHQ6ICB0aGUgc2hlbGwgY29udGV4dAorICogQGFyZzogIHVudXNlZAorICogQG5vZGU6ICBhIG5vZGUKKyAqIEBub2RlMjogIHVudXNlZAorICoKKyAqIEltcGxlbWVudHMgdGhlIFhNTCBzaGVsbCBmdW5jdGlvbiAiYmFzZSIKKyAqIGR1bXBzIHRoZSBjdXJyZW50IFhNTCBiYXNlIG9mIHRoZSBub2RlCisgKgorICogUmV0dXJucyAwCisgKi8KK2ludAoreG1sU2hlbGxCYXNlKHhtbFNoZWxsQ3R4dFB0ciBjdHh0LAorICAgICAgICAgICAgIGNoYXIgKmFyZyBBVFRSSUJVVEVfVU5VU0VELCB4bWxOb2RlUHRyIG5vZGUsCisgICAgICAgICAgICAgeG1sTm9kZVB0ciBub2RlMiBBVFRSSUJVVEVfVU5VU0VEKQoreworICAgIHhtbENoYXIgKmJhc2U7CisgICAgaWYgKCFjdHh0KQorICAgICAgICByZXR1cm4gMDsKKyAgICBpZiAobm9kZSA9PSBOVUxMKSB7CisJZnByaW50ZihjdHh0LT5vdXRwdXQsICJOVUxMXG4iKTsKKwlyZXR1cm4gKDApOworICAgIH0KKworICAgIGJhc2UgPSB4bWxOb2RlR2V0QmFzZShub2RlLT5kb2MsIG5vZGUpOworCisgICAgaWYgKGJhc2UgPT0gTlVMTCkgeworICAgICAgICBmcHJpbnRmKGN0eHQtPm91dHB1dCwgIiBObyBiYXNlIGZvdW5kICEhIVxuIik7CisgICAgfSBlbHNlIHsKKyAgICAgICAgZnByaW50ZihjdHh0LT5vdXRwdXQsICIlc1xuIiwgYmFzZSk7CisgICAgICAgIHhtbEZyZWUoYmFzZSk7CisgICAgfQorICAgIHJldHVybiAoMCk7Cit9CisKKyNpZmRlZiBMSUJYTUxfVFJFRV9FTkFCTEVECisvKioKKyAqIHhtbFNoZWxsU2V0QmFzZToKKyAqIEBjdHh0OiAgdGhlIHNoZWxsIGNvbnRleHQKKyAqIEBhcmc6ICB0aGUgbmV3IGJhc2UKKyAqIEBub2RlOiAgYSBub2RlCisgKiBAbm9kZTI6ICB1bnVzZWQKKyAqCisgKiBJbXBsZW1lbnRzIHRoZSBYTUwgc2hlbGwgZnVuY3Rpb24gInNldGJhc2UiCisgKiBjaGFuZ2UgdGhlIGN1cnJlbnQgWE1MIGJhc2Ugb2YgdGhlIG5vZGUKKyAqCisgKiBSZXR1cm5zIDAKKyAqLworc3RhdGljIGludAoreG1sU2hlbGxTZXRCYXNlKHhtbFNoZWxsQ3R4dFB0ciBjdHh0IEFUVFJJQlVURV9VTlVTRUQsCisgICAgICAgICAgICAgY2hhciAqYXJnIEFUVFJJQlVURV9VTlVTRUQsIHhtbE5vZGVQdHIgbm9kZSwKKyAgICAgICAgICAgICB4bWxOb2RlUHRyIG5vZGUyIEFUVFJJQlVURV9VTlVTRUQpCit7CisgICAgeG1sTm9kZVNldEJhc2Uobm9kZSwgKHhtbENoYXIqKSBhcmcpOworICAgIHJldHVybiAoMCk7Cit9CisjZW5kaWYKKworI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECisvKioKKyAqIHhtbFNoZWxsUmVnaXN0ZXJOYW1lc3BhY2U6CisgKiBAY3R4dDogIHRoZSBzaGVsbCBjb250ZXh0CisgKiBAYXJnOiAgYSBzdHJpbmcgaW4gcHJlZml4PW5zdXJpIGZvcm1hdAorICogQG5vZGU6ICB1bnVzZWQKKyAqIEBub2RlMjogIHVudXNlZAorICoKKyAqIEltcGxlbWVudHMgdGhlIFhNTCBzaGVsbCBmdW5jdGlvbiAic2V0bnMiCisgKiByZWdpc3Rlci91bnJlZ2lzdGVyIGEgcHJlZml4PW5hbWVzcGFjZSBwYWlyCisgKiBvbiB0aGUgWFBhdGggY29udGV4dAorICoKKyAqIFJldHVybnMgMCBvbiBzdWNjZXNzIGFuZCBhIG5lZ2F0aXZlIHZhbHVlIG90aGVyd2lzZS4KKyAqLworc3RhdGljIGludAoreG1sU2hlbGxSZWdpc3Rlck5hbWVzcGFjZSh4bWxTaGVsbEN0eHRQdHIgY3R4dCwgY2hhciAqYXJnLAorICAgICAgeG1sTm9kZVB0ciBub2RlIEFUVFJJQlVURV9VTlVTRUQsIHhtbE5vZGVQdHIgbm9kZTIgQVRUUklCVVRFX1VOVVNFRCkKK3sKKyAgICB4bWxDaGFyKiBuc0xpc3REdXA7CisgICAgeG1sQ2hhciogcHJlZml4OworICAgIHhtbENoYXIqIGhyZWY7CisgICAgeG1sQ2hhciogbmV4dDsKKworICAgIG5zTGlzdER1cCA9IHhtbFN0cmR1cCgoeG1sQ2hhciAqKSBhcmcpOworICAgIG5leHQgPSBuc0xpc3REdXA7CisgICAgd2hpbGUobmV4dCAhPSBOVUxMKSB7CisJLyogc2tpcCBzcGFjZXMgKi8KKwkvKndoaWxlKCgqbmV4dCkgPT0gJyAnKSBuZXh0Kys7Ki8KKwlpZigoKm5leHQpID09ICdcMCcpIGJyZWFrOworCisJLyogZmluZCBwcmVmaXggKi8KKwlwcmVmaXggPSBuZXh0OworCW5leHQgPSAoeG1sQ2hhciopeG1sU3RyY2hyKG5leHQsICc9Jyk7CisJaWYobmV4dCA9PSBOVUxMKSB7CisJICAgIGZwcmludGYoY3R4dC0+b3V0cHV0LCAic2V0bnM6IHByZWZpeD1bbnN1cmldIHJlcXVpcmVkXG4iKTsKKwkgICAgeG1sRnJlZShuc0xpc3REdXApOworCSAgICByZXR1cm4oLTEpOworCX0KKwkqKG5leHQrKykgPSAnXDAnOworCisJLyogZmluZCBocmVmICovCisJaHJlZiA9IG5leHQ7CisJbmV4dCA9ICh4bWxDaGFyKil4bWxTdHJjaHIobmV4dCwgJyAnKTsKKwlpZihuZXh0ICE9IE5VTEwpIHsKKwkgICAgKihuZXh0KyspID0gJ1wwJzsKKwl9CisKKwkvKiBkbyByZWdpc3RlciBuYW1lc3BhY2UgKi8KKwlpZih4bWxYUGF0aFJlZ2lzdGVyTnMoY3R4dC0+cGN0eHQsIHByZWZpeCwgaHJlZikgIT0gMCkgeworCSAgICBmcHJpbnRmKGN0eHQtPm91dHB1dCwiRXJyb3I6IHVuYWJsZSB0byByZWdpc3RlciBOUyB3aXRoIHByZWZpeD1cIiVzXCIgYW5kIGhyZWY9XCIlc1wiXG4iLCBwcmVmaXgsIGhyZWYpOworCSAgICB4bWxGcmVlKG5zTGlzdER1cCk7CisJICAgIHJldHVybigtMSk7CisJfQorICAgIH0KKworICAgIHhtbEZyZWUobnNMaXN0RHVwKTsKKyAgICByZXR1cm4oMCk7Cit9CisvKioKKyAqIHhtbFNoZWxsUmVnaXN0ZXJSb290TmFtZXNwYWNlczoKKyAqIEBjdHh0OiAgdGhlIHNoZWxsIGNvbnRleHQKKyAqIEBhcmc6ICB1bnVzZWQKKyAqIEBub2RlOiAgdGhlIHJvb3QgZWxlbWVudAorICogQG5vZGUyOiAgdW51c2VkCisgKgorICogSW1wbGVtZW50cyB0aGUgWE1MIHNoZWxsIGZ1bmN0aW9uICJzZXRyb290bnMiCisgKiB3aGljaCByZWdpc3RlcnMgYWxsIG5hbWVzcGFjZXMgZGVjbGFyYXRpb25zIGZvdW5kIG9uIHRoZSByb290IGVsZW1lbnQuCisgKgorICogUmV0dXJucyAwIG9uIHN1Y2Nlc3MgYW5kIGEgbmVnYXRpdmUgdmFsdWUgb3RoZXJ3aXNlLgorICovCitzdGF0aWMgaW50Cit4bWxTaGVsbFJlZ2lzdGVyUm9vdE5hbWVzcGFjZXMoeG1sU2hlbGxDdHh0UHRyIGN0eHQsIGNoYXIgKmFyZyBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgeG1sTm9kZVB0ciByb290LCB4bWxOb2RlUHRyIG5vZGUyIEFUVFJJQlVURV9VTlVTRUQpCit7CisgICAgeG1sTnNQdHIgbnM7CisKKyAgICBpZiAoKHJvb3QgPT0gTlVMTCkgfHwgKHJvb3QtPnR5cGUgIT0gWE1MX0VMRU1FTlRfTk9ERSkgfHwKKyAgICAgICAgKHJvb3QtPm5zRGVmID09IE5VTEwpIHx8IChjdHh0ID09IE5VTEwpIHx8IChjdHh0LT5wY3R4dCA9PSBOVUxMKSkKKwlyZXR1cm4oLTEpOworICAgIG5zID0gcm9vdC0+bnNEZWY7CisgICAgd2hpbGUgKG5zICE9IE5VTEwpIHsKKyAgICAgICAgaWYgKG5zLT5wcmVmaXggPT0gTlVMTCkKKwkgICAgeG1sWFBhdGhSZWdpc3Rlck5zKGN0eHQtPnBjdHh0LCBCQURfQ0FTVCAiZGVmYXVsdG5zIiwgbnMtPmhyZWYpOworCWVsc2UKKwkgICAgeG1sWFBhdGhSZWdpc3Rlck5zKGN0eHQtPnBjdHh0LCBucy0+cHJlZml4LCBucy0+aHJlZik7CisgICAgICAgIG5zID0gbnMtPm5leHQ7CisgICAgfQorICAgIHJldHVybigwKTsKK30KKyNlbmRpZgorCisvKioKKyAqIHhtbFNoZWxsR3JlcDoKKyAqIEBjdHh0OiAgdGhlIHNoZWxsIGNvbnRleHQKKyAqIEBhcmc6ICB0aGUgc3RyaW5nIG9yIHJlZ3VsYXIgZXhwcmVzc2lvbiB0byBmaW5kCisgKiBAbm9kZTogIGEgbm9kZQorICogQG5vZGUyOiAgdW51c2VkCisgKgorICogSW1wbGVtZW50cyB0aGUgWE1MIHNoZWxsIGZ1bmN0aW9uICJncmVwIgorICogZHVtcHMgaW5mb3JtYXRpb25zIGFib3V0IHRoZSBub2RlIChuYW1lc3BhY2UsIGF0dHJpYnV0ZXMsIGNvbnRlbnQpLgorICoKKyAqIFJldHVybnMgMAorICovCitzdGF0aWMgaW50Cit4bWxTaGVsbEdyZXAoeG1sU2hlbGxDdHh0UHRyIGN0eHQgQVRUUklCVVRFX1VOVVNFRCwKKyAgICAgICAgICAgIGNoYXIgKmFyZywgeG1sTm9kZVB0ciBub2RlLCB4bWxOb2RlUHRyIG5vZGUyIEFUVFJJQlVURV9VTlVTRUQpCit7CisgICAgaWYgKCFjdHh0KQorICAgICAgICByZXR1cm4gKDApOworICAgIGlmIChub2RlID09IE5VTEwpCisJcmV0dXJuICgwKTsKKyAgICBpZiAoYXJnID09IE5VTEwpCisJcmV0dXJuICgwKTsKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKKyAgICBpZiAoKHhtbFN0cmNocigoeG1sQ2hhciAqKSBhcmcsICc/JykpIHx8CisJKHhtbFN0cmNocigoeG1sQ2hhciAqKSBhcmcsICcqJykpIHx8CisJKHhtbFN0cmNocigoeG1sQ2hhciAqKSBhcmcsICcuJykpIHx8CisJKHhtbFN0cmNocigoeG1sQ2hhciAqKSBhcmcsICdbJykpKSB7CisgICAgfQorI2VuZGlmCisgICAgd2hpbGUgKG5vZGUgIT0gTlVMTCkgeworICAgICAgICBpZiAobm9kZS0+dHlwZSA9PSBYTUxfQ09NTUVOVF9OT0RFKSB7CisJICAgIGlmICh4bWxTdHJzdHIobm9kZS0+Y29udGVudCwgKHhtbENoYXIgKikgYXJnKSkgeworCisJCWZwcmludGYoY3R4dC0+b3V0cHV0LCAiJXMgOiAiLCB4bWxHZXROb2RlUGF0aChub2RlKSk7CisgICAgICAgICAgICAgICAgeG1sU2hlbGxMaXN0KGN0eHQsIE5VTEwsIG5vZGUsIE5VTEwpOworCSAgICB9CisgICAgICAgIH0gZWxzZSBpZiAobm9kZS0+dHlwZSA9PSBYTUxfVEVYVF9OT0RFKSB7CisJICAgIGlmICh4bWxTdHJzdHIobm9kZS0+Y29udGVudCwgKHhtbENoYXIgKikgYXJnKSkgeworCisJCWZwcmludGYoY3R4dC0+b3V0cHV0LCAiJXMgOiAiLCB4bWxHZXROb2RlUGF0aChub2RlLT5wYXJlbnQpKTsKKyAgICAgICAgICAgICAgICB4bWxTaGVsbExpc3QoY3R4dCwgTlVMTCwgbm9kZS0+cGFyZW50LCBOVUxMKTsKKwkgICAgfQorICAgICAgICB9CisKKyAgICAgICAgLyoKKyAgICAgICAgICogQnJvd3NlIHRoZSBmdWxsIHN1YnRyZWUsIGRlZXAgZmlyc3QKKyAgICAgICAgICovCisKKyAgICAgICAgaWYgKChub2RlLT50eXBlID09IFhNTF9ET0NVTUVOVF9OT0RFKSB8fAorICAgICAgICAgICAgKG5vZGUtPnR5cGUgPT0gWE1MX0hUTUxfRE9DVU1FTlRfTk9ERSkpIHsKKyAgICAgICAgICAgIG5vZGUgPSAoKHhtbERvY1B0cikgbm9kZSktPmNoaWxkcmVuOworICAgICAgICB9IGVsc2UgaWYgKChub2RlLT5jaGlsZHJlbiAhPSBOVUxMKQorICAgICAgICAgICAgICAgICAgICYmIChub2RlLT50eXBlICE9IFhNTF9FTlRJVFlfUkVGX05PREUpKSB7CisgICAgICAgICAgICAvKiBkZWVwIGZpcnN0ICovCisgICAgICAgICAgICBub2RlID0gbm9kZS0+Y2hpbGRyZW47CisgICAgICAgIH0gZWxzZSBpZiAobm9kZS0+bmV4dCAhPSBOVUxMKSB7CisgICAgICAgICAgICAvKiB0aGVuIHNpYmxpbmdzICovCisgICAgICAgICAgICBub2RlID0gbm9kZS0+bmV4dDsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIC8qIGdvIHVwIHRvIHBhcmVudHMtPm5leHQgaWYgbmVlZGVkICovCisgICAgICAgICAgICB3aGlsZSAobm9kZSAhPSBOVUxMKSB7CisgICAgICAgICAgICAgICAgaWYgKG5vZGUtPnBhcmVudCAhPSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgIG5vZGUgPSBub2RlLT5wYXJlbnQ7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGlmIChub2RlLT5uZXh0ICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgbm9kZSA9IG5vZGUtPm5leHQ7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBpZiAobm9kZS0+cGFyZW50ID09IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgbm9kZSA9IE5VTEw7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKwl9CisgICAgfQorICAgIHJldHVybiAoMCk7Cit9CisKKy8qKgorICogeG1sU2hlbGxEaXI6CisgKiBAY3R4dDogIHRoZSBzaGVsbCBjb250ZXh0CisgKiBAYXJnOiAgdW51c2VkCisgKiBAbm9kZTogIGEgbm9kZQorICogQG5vZGUyOiAgdW51c2VkCisgKgorICogSW1wbGVtZW50cyB0aGUgWE1MIHNoZWxsIGZ1bmN0aW9uICJkaXIiCisgKiBkdW1wcyBpbmZvcm1hdGlvbnMgYWJvdXQgdGhlIG5vZGUgKG5hbWVzcGFjZSwgYXR0cmlidXRlcywgY29udGVudCkuCisgKgorICogUmV0dXJucyAwCisgKi8KK2ludAoreG1sU2hlbGxEaXIoeG1sU2hlbGxDdHh0UHRyIGN0eHQgQVRUUklCVVRFX1VOVVNFRCwKKyAgICAgICAgICAgIGNoYXIgKmFyZyBBVFRSSUJVVEVfVU5VU0VELCB4bWxOb2RlUHRyIG5vZGUsCisgICAgICAgICAgICB4bWxOb2RlUHRyIG5vZGUyIEFUVFJJQlVURV9VTlVTRUQpCit7CisgICAgaWYgKCFjdHh0KQorICAgICAgICByZXR1cm4gKDApOworICAgIGlmIChub2RlID09IE5VTEwpIHsKKwlmcHJpbnRmKGN0eHQtPm91dHB1dCwgIk5VTExcbiIpOworCXJldHVybiAoMCk7CisgICAgfQorICAgIGlmICgobm9kZS0+dHlwZSA9PSBYTUxfRE9DVU1FTlRfTk9ERSkgfHwKKyAgICAgICAgKG5vZGUtPnR5cGUgPT0gWE1MX0hUTUxfRE9DVU1FTlRfTk9ERSkpIHsKKyAgICAgICAgeG1sRGVidWdEdW1wRG9jdW1lbnRIZWFkKGN0eHQtPm91dHB1dCwgKHhtbERvY1B0cikgbm9kZSk7CisgICAgfSBlbHNlIGlmIChub2RlLT50eXBlID09IFhNTF9BVFRSSUJVVEVfTk9ERSkgeworICAgICAgICB4bWxEZWJ1Z0R1bXBBdHRyKGN0eHQtPm91dHB1dCwgKHhtbEF0dHJQdHIpIG5vZGUsIDApOworICAgIH0gZWxzZSB7CisgICAgICAgIHhtbERlYnVnRHVtcE9uZU5vZGUoY3R4dC0+b3V0cHV0LCBub2RlLCAwKTsKKyAgICB9CisgICAgcmV0dXJuICgwKTsKK30KKworLyoqCisgKiB4bWxTaGVsbFNldENvbnRlbnQ6CisgKiBAY3R4dDogIHRoZSBzaGVsbCBjb250ZXh0CisgKiBAdmFsdWU6ICB0aGUgY29udGVudCBhcyBhIHN0cmluZworICogQG5vZGU6ICBhIG5vZGUKKyAqIEBub2RlMjogIHVudXNlZAorICoKKyAqIEltcGxlbWVudHMgdGhlIFhNTCBzaGVsbCBmdW5jdGlvbiAiZGlyIgorICogZHVtcHMgaW5mb3JtYXRpb25zIGFib3V0IHRoZSBub2RlIChuYW1lc3BhY2UsIGF0dHJpYnV0ZXMsIGNvbnRlbnQpLgorICoKKyAqIFJldHVybnMgMAorICovCitzdGF0aWMgaW50Cit4bWxTaGVsbFNldENvbnRlbnQoeG1sU2hlbGxDdHh0UHRyIGN0eHQgQVRUUklCVVRFX1VOVVNFRCwKKyAgICAgICAgICAgIGNoYXIgKnZhbHVlLCB4bWxOb2RlUHRyIG5vZGUsCisgICAgICAgICAgICB4bWxOb2RlUHRyIG5vZGUyIEFUVFJJQlVURV9VTlVTRUQpCit7CisgICAgeG1sTm9kZVB0ciByZXN1bHRzOworICAgIHhtbFBhcnNlckVycm9ycyByZXQ7CisKKyAgICBpZiAoIWN0eHQpCisgICAgICAgIHJldHVybiAoMCk7CisgICAgaWYgKG5vZGUgPT0gTlVMTCkgeworCWZwcmludGYoY3R4dC0+b3V0cHV0LCAiTlVMTFxuIik7CisJcmV0dXJuICgwKTsKKyAgICB9CisgICAgaWYgKHZhbHVlID09IE5VTEwpIHsKKyAgICAgICAgZnByaW50ZihjdHh0LT5vdXRwdXQsICJOVUxMXG4iKTsKKwlyZXR1cm4gKDApOworICAgIH0KKworICAgIHJldCA9IHhtbFBhcnNlSW5Ob2RlQ29udGV4dChub2RlLCB2YWx1ZSwgc3RybGVuKHZhbHVlKSwgMCwgJnJlc3VsdHMpOworICAgIGlmIChyZXQgPT0gWE1MX0VSUl9PSykgeworCWlmIChub2RlLT5jaGlsZHJlbiAhPSBOVUxMKSB7CisJICAgIHhtbEZyZWVOb2RlTGlzdChub2RlLT5jaGlsZHJlbik7CisJICAgIG5vZGUtPmNoaWxkcmVuID0gTlVMTDsKKwkgICAgbm9kZS0+bGFzdCA9IE5VTEw7CisJfQorCXhtbEFkZENoaWxkTGlzdChub2RlLCByZXN1bHRzKTsKKyAgICB9IGVsc2UgeworICAgICAgICBmcHJpbnRmKGN0eHQtPm91dHB1dCwgImZhaWxlZCB0byBwYXJzZSBjb250ZW50XG4iKTsKKyAgICB9CisgICAgcmV0dXJuICgwKTsKK30KKworI2lmZGVmIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQKKy8qKgorICogeG1sU2hlbGxSTkdWYWxpZGF0ZToKKyAqIEBjdHh0OiAgdGhlIHNoZWxsIGNvbnRleHQKKyAqIEBzY2hlbWFzOiAgdGhlIHBhdGggdG8gdGhlIFJlbGF4LU5HIHNjaGVtYXMKKyAqIEBub2RlOiAgYSBub2RlCisgKiBAbm9kZTI6ICB1bnVzZWQKKyAqCisgKiBJbXBsZW1lbnRzIHRoZSBYTUwgc2hlbGwgZnVuY3Rpb24gInJlbGF4bmciCisgKiB2YWxpZGF0aW5nIHRoZSBpbnN0YW5jZSBhZ2FpbnN0IGEgUmVsYXgtTkcgc2NoZW1hcworICoKKyAqIFJldHVybnMgMAorICovCitzdGF0aWMgaW50Cit4bWxTaGVsbFJOR1ZhbGlkYXRlKHhtbFNoZWxsQ3R4dFB0ciBzY3R4dCwgY2hhciAqc2NoZW1hcywKKyAgICAgICAgICAgIHhtbE5vZGVQdHIgbm9kZSBBVFRSSUJVVEVfVU5VU0VELAorCSAgICB4bWxOb2RlUHRyIG5vZGUyIEFUVFJJQlVURV9VTlVTRUQpCit7CisgICAgeG1sUmVsYXhOR1B0ciByZWxheG5nc2NoZW1hczsKKyAgICB4bWxSZWxheE5HUGFyc2VyQ3R4dFB0ciBjdHh0OworICAgIHhtbFJlbGF4TkdWYWxpZEN0eHRQdHIgdmN0eHQ7CisgICAgaW50IHJldDsKKworICAgIGN0eHQgPSB4bWxSZWxheE5HTmV3UGFyc2VyQ3R4dChzY2hlbWFzKTsKKyAgICB4bWxSZWxheE5HU2V0UGFyc2VyRXJyb3JzKGN0eHQsCisJICAgICh4bWxSZWxheE5HVmFsaWRpdHlFcnJvckZ1bmMpIGZwcmludGYsCisJICAgICh4bWxSZWxheE5HVmFsaWRpdHlXYXJuaW5nRnVuYykgZnByaW50ZiwKKwkgICAgc3RkZXJyKTsKKyAgICByZWxheG5nc2NoZW1hcyA9IHhtbFJlbGF4TkdQYXJzZShjdHh0KTsKKyAgICB4bWxSZWxheE5HRnJlZVBhcnNlckN0eHQoY3R4dCk7CisgICAgaWYgKHJlbGF4bmdzY2hlbWFzID09IE5VTEwpIHsKKwl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJIlJlbGF4LU5HIHNjaGVtYSAlcyBmYWlsZWQgdG8gY29tcGlsZVxuIiwgc2NoZW1hcyk7CisJcmV0dXJuKC0xKTsKKyAgICB9CisgICAgdmN0eHQgPSB4bWxSZWxheE5HTmV3VmFsaWRDdHh0KHJlbGF4bmdzY2hlbWFzKTsKKyAgICB4bWxSZWxheE5HU2V0VmFsaWRFcnJvcnModmN0eHQsCisJICAgICh4bWxSZWxheE5HVmFsaWRpdHlFcnJvckZ1bmMpIGZwcmludGYsCisJICAgICh4bWxSZWxheE5HVmFsaWRpdHlXYXJuaW5nRnVuYykgZnByaW50ZiwKKwkgICAgc3RkZXJyKTsKKyAgICByZXQgPSB4bWxSZWxheE5HVmFsaWRhdGVEb2ModmN0eHQsIHNjdHh0LT5kb2MpOworICAgIGlmIChyZXQgPT0gMCkgeworCWZwcmludGYoc3RkZXJyLCAiJXMgdmFsaWRhdGVzXG4iLCBzY3R4dC0+ZmlsZW5hbWUpOworICAgIH0gZWxzZSBpZiAocmV0ID4gMCkgeworCWZwcmludGYoc3RkZXJyLCAiJXMgZmFpbHMgdG8gdmFsaWRhdGVcbiIsIHNjdHh0LT5maWxlbmFtZSk7CisgICAgfSBlbHNlIHsKKwlmcHJpbnRmKHN0ZGVyciwgIiVzIHZhbGlkYXRpb24gZ2VuZXJhdGVkIGFuIGludGVybmFsIGVycm9yXG4iLAorCSAgICAgICBzY3R4dC0+ZmlsZW5hbWUpOworICAgIH0KKyAgICB4bWxSZWxheE5HRnJlZVZhbGlkQ3R4dCh2Y3R4dCk7CisgICAgaWYgKHJlbGF4bmdzY2hlbWFzICE9IE5VTEwpCisJeG1sUmVsYXhOR0ZyZWUocmVsYXhuZ3NjaGVtYXMpOworICAgIHJldHVybigwKTsKK30KKyNlbmRpZgorCisjaWZkZWYgTElCWE1MX09VVFBVVF9FTkFCTEVECisvKioKKyAqIHhtbFNoZWxsQ2F0OgorICogQGN0eHQ6ICB0aGUgc2hlbGwgY29udGV4dAorICogQGFyZzogIHVudXNlZAorICogQG5vZGU6ICBhIG5vZGUKKyAqIEBub2RlMjogIHVudXNlZAorICoKKyAqIEltcGxlbWVudHMgdGhlIFhNTCBzaGVsbCBmdW5jdGlvbiAiY2F0IgorICogZHVtcHMgdGhlIHNlcmlhbGl6YXRpb24gbm9kZSBjb250ZW50IChYTUwgb3IgSFRNTCkuCisgKgorICogUmV0dXJucyAwCisgKi8KK2ludAoreG1sU2hlbGxDYXQoeG1sU2hlbGxDdHh0UHRyIGN0eHQsIGNoYXIgKmFyZyBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgeG1sTm9kZVB0ciBub2RlLCB4bWxOb2RlUHRyIG5vZGUyIEFUVFJJQlVURV9VTlVTRUQpCit7CisgICAgaWYgKCFjdHh0KQorICAgICAgICByZXR1cm4gKDApOworICAgIGlmIChub2RlID09IE5VTEwpIHsKKwlmcHJpbnRmKGN0eHQtPm91dHB1dCwgIk5VTExcbiIpOworCXJldHVybiAoMCk7CisgICAgfQorICAgIGlmIChjdHh0LT5kb2MtPnR5cGUgPT0gWE1MX0hUTUxfRE9DVU1FTlRfTk9ERSkgeworI2lmZGVmIExJQlhNTF9IVE1MX0VOQUJMRUQKKyAgICAgICAgaWYgKG5vZGUtPnR5cGUgPT0gWE1MX0hUTUxfRE9DVU1FTlRfTk9ERSkKKyAgICAgICAgICAgIGh0bWxEb2NEdW1wKGN0eHQtPm91dHB1dCwgKGh0bWxEb2NQdHIpIG5vZGUpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBodG1sTm9kZUR1bXBGaWxlKGN0eHQtPm91dHB1dCwgY3R4dC0+ZG9jLCBub2RlKTsKKyNlbHNlCisgICAgICAgIGlmIChub2RlLT50eXBlID09IFhNTF9ET0NVTUVOVF9OT0RFKQorICAgICAgICAgICAgeG1sRG9jRHVtcChjdHh0LT5vdXRwdXQsICh4bWxEb2NQdHIpIG5vZGUpOworICAgICAgICBlbHNlCisgICAgICAgICAgICB4bWxFbGVtRHVtcChjdHh0LT5vdXRwdXQsIGN0eHQtPmRvYywgbm9kZSk7CisjZW5kaWYgLyogTElCWE1MX0hUTUxfRU5BQkxFRCAqLworICAgIH0gZWxzZSB7CisgICAgICAgIGlmIChub2RlLT50eXBlID09IFhNTF9ET0NVTUVOVF9OT0RFKQorICAgICAgICAgICAgeG1sRG9jRHVtcChjdHh0LT5vdXRwdXQsICh4bWxEb2NQdHIpIG5vZGUpOworICAgICAgICBlbHNlCisgICAgICAgICAgICB4bWxFbGVtRHVtcChjdHh0LT5vdXRwdXQsIGN0eHQtPmRvYywgbm9kZSk7CisgICAgfQorICAgIGZwcmludGYoY3R4dC0+b3V0cHV0LCAiXG4iKTsKKyAgICByZXR1cm4gKDApOworfQorI2VuZGlmIC8qIExJQlhNTF9PVVRQVVRfRU5BQkxFRCAqLworCisvKioKKyAqIHhtbFNoZWxsTG9hZDoKKyAqIEBjdHh0OiAgdGhlIHNoZWxsIGNvbnRleHQKKyAqIEBmaWxlbmFtZTogIHRoZSBmaWxlIG5hbWUKKyAqIEBub2RlOiAgdW51c2VkCisgKiBAbm9kZTI6ICB1bnVzZWQKKyAqCisgKiBJbXBsZW1lbnRzIHRoZSBYTUwgc2hlbGwgZnVuY3Rpb24gImxvYWQiCisgKiBsb2FkcyBhIG5ldyBkb2N1bWVudCBzcGVjaWZpZWQgYnkgdGhlIGZpbGVuYW1lCisgKgorICogUmV0dXJucyAwIG9yIC0xIGlmIGxvYWRpbmcgZmFpbGVkCisgKi8KK2ludAoreG1sU2hlbGxMb2FkKHhtbFNoZWxsQ3R4dFB0ciBjdHh0LCBjaGFyICpmaWxlbmFtZSwKKyAgICAgICAgICAgICB4bWxOb2RlUHRyIG5vZGUgQVRUUklCVVRFX1VOVVNFRCwKKyAgICAgICAgICAgICB4bWxOb2RlUHRyIG5vZGUyIEFUVFJJQlVURV9VTlVTRUQpCit7CisgICAgeG1sRG9jUHRyIGRvYzsKKyAgICBpbnQgaHRtbCA9IDA7CisKKyAgICBpZiAoKGN0eHQgPT0gTlVMTCkgfHwgKGZpbGVuYW1lID09IE5VTEwpKSByZXR1cm4oLTEpOworICAgIGlmIChjdHh0LT5kb2MgIT0gTlVMTCkKKyAgICAgICAgaHRtbCA9IChjdHh0LT5kb2MtPnR5cGUgPT0gWE1MX0hUTUxfRE9DVU1FTlRfTk9ERSk7CisKKyAgICBpZiAoaHRtbCkgeworI2lmZGVmIExJQlhNTF9IVE1MX0VOQUJMRUQKKyAgICAgICAgZG9jID0gaHRtbFBhcnNlRmlsZShmaWxlbmFtZSwgTlVMTCk7CisjZWxzZQorICAgICAgICBmcHJpbnRmKGN0eHQtPm91dHB1dCwgIkhUTUwgc3VwcG9ydCBub3QgY29tcGlsZWQgaW5cbiIpOworICAgICAgICBkb2MgPSBOVUxMOworI2VuZGlmIC8qIExJQlhNTF9IVE1MX0VOQUJMRUQgKi8KKyAgICB9IGVsc2UgeworICAgICAgICBkb2MgPSB4bWxSZWFkRmlsZShmaWxlbmFtZSxOVUxMLDApOworICAgIH0KKyAgICBpZiAoZG9jICE9IE5VTEwpIHsKKyAgICAgICAgaWYgKGN0eHQtPmxvYWRlZCA9PSAxKSB7CisgICAgICAgICAgICB4bWxGcmVlRG9jKGN0eHQtPmRvYyk7CisgICAgICAgIH0KKyAgICAgICAgY3R4dC0+bG9hZGVkID0gMTsKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAorICAgICAgICB4bWxYUGF0aEZyZWVDb250ZXh0KGN0eHQtPnBjdHh0KTsKKyNlbmRpZiAvKiBMSUJYTUxfWFBBVEhfRU5BQkxFRCAqLworICAgICAgICB4bWxGcmVlKGN0eHQtPmZpbGVuYW1lKTsKKyAgICAgICAgY3R4dC0+ZG9jID0gZG9jOworICAgICAgICBjdHh0LT5ub2RlID0gKHhtbE5vZGVQdHIpIGRvYzsKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAorICAgICAgICBjdHh0LT5wY3R4dCA9IHhtbFhQYXRoTmV3Q29udGV4dChkb2MpOworI2VuZGlmIC8qIExJQlhNTF9YUEFUSF9FTkFCTEVEICovCisgICAgICAgIGN0eHQtPmZpbGVuYW1lID0gKGNoYXIgKikgeG1sQ2Fub25pY1BhdGgoKHhtbENoYXIgKikgZmlsZW5hbWUpOworICAgIH0gZWxzZQorICAgICAgICByZXR1cm4gKC0xKTsKKyAgICByZXR1cm4gKDApOworfQorCisjaWZkZWYgTElCWE1MX09VVFBVVF9FTkFCTEVECisvKioKKyAqIHhtbFNoZWxsV3JpdGU6CisgKiBAY3R4dDogIHRoZSBzaGVsbCBjb250ZXh0CisgKiBAZmlsZW5hbWU6ICB0aGUgZmlsZSBuYW1lCisgKiBAbm9kZTogIGEgbm9kZSBpbiB0aGUgdHJlZQorICogQG5vZGUyOiAgdW51c2VkCisgKgorICogSW1wbGVtZW50cyB0aGUgWE1MIHNoZWxsIGZ1bmN0aW9uICJ3cml0ZSIKKyAqIFdyaXRlIHRoZSBjdXJyZW50IG5vZGUgdG8gdGhlIGZpbGVuYW1lLCBpdCBzYXZlcyB0aGUgc2VyaWFsaXphdGlvbgorICogb2YgdGhlIHN1YnRyZWUgdW5kZXIgdGhlIEBub2RlIHNwZWNpZmllZAorICoKKyAqIFJldHVybnMgMCBvciAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK2ludAoreG1sU2hlbGxXcml0ZSh4bWxTaGVsbEN0eHRQdHIgY3R4dCwgY2hhciAqZmlsZW5hbWUsIHhtbE5vZGVQdHIgbm9kZSwKKyAgICAgICAgICAgICAgeG1sTm9kZVB0ciBub2RlMiBBVFRSSUJVVEVfVU5VU0VEKQoreworICAgIGlmIChub2RlID09IE5VTEwpCisgICAgICAgIHJldHVybiAoLTEpOworICAgIGlmICgoZmlsZW5hbWUgPT0gTlVMTCkgfHwgKGZpbGVuYW1lWzBdID09IDApKSB7CisgICAgICAgIHJldHVybiAoLTEpOworICAgIH0KKyNpZmRlZiBXX09LCisgICAgaWYgKGFjY2VzcygoY2hhciAqKSBmaWxlbmFtZSwgV19PSykpIHsKKyAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAiQ2Fubm90IHdyaXRlIHRvICVzXG4iLCBmaWxlbmFtZSk7CisgICAgICAgIHJldHVybiAoLTEpOworICAgIH0KKyNlbmRpZgorICAgIHN3aXRjaCAobm9kZS0+dHlwZSkgeworICAgICAgICBjYXNlIFhNTF9ET0NVTUVOVF9OT0RFOgorICAgICAgICAgICAgaWYgKHhtbFNhdmVGaWxlKChjaGFyICopIGZpbGVuYW1lLCBjdHh0LT5kb2MpIDwgLTEpIHsKKyAgICAgICAgICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkZhaWxlZCB0byB3cml0ZSB0byAlc1xuIiwgZmlsZW5hbWUpOworICAgICAgICAgICAgICAgIHJldHVybiAoLTEpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0hUTUxfRE9DVU1FTlRfTk9ERToKKyNpZmRlZiBMSUJYTUxfSFRNTF9FTkFCTEVECisgICAgICAgICAgICBpZiAoaHRtbFNhdmVGaWxlKChjaGFyICopIGZpbGVuYW1lLCBjdHh0LT5kb2MpIDwgMCkgeworICAgICAgICAgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRmFpbGVkIHRvIHdyaXRlIHRvICVzXG4iLCBmaWxlbmFtZSk7CisgICAgICAgICAgICAgICAgcmV0dXJuICgtMSk7CisgICAgICAgICAgICB9CisjZWxzZQorICAgICAgICAgICAgaWYgKHhtbFNhdmVGaWxlKChjaGFyICopIGZpbGVuYW1lLCBjdHh0LT5kb2MpIDwgLTEpIHsKKyAgICAgICAgICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkZhaWxlZCB0byB3cml0ZSB0byAlc1xuIiwgZmlsZW5hbWUpOworICAgICAgICAgICAgICAgIHJldHVybiAoLTEpOworICAgICAgICAgICAgfQorI2VuZGlmIC8qIExJQlhNTF9IVE1MX0VOQUJMRUQgKi8KKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBkZWZhdWx0OnsKKyAgICAgICAgICAgICAgICBGSUxFICpmOworCisgICAgICAgICAgICAgICAgZiA9IGZvcGVuKChjaGFyICopIGZpbGVuYW1lLCAidyIpOworICAgICAgICAgICAgICAgIGlmIChmID09IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRmFpbGVkIHRvIHdyaXRlIHRvICVzXG4iLCBmaWxlbmFtZSk7CisgICAgICAgICAgICAgICAgICAgIHJldHVybiAoLTEpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB4bWxFbGVtRHVtcChmLCBjdHh0LT5kb2MsIG5vZGUpOworICAgICAgICAgICAgICAgIGZjbG9zZShmKTsKKyAgICAgICAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuICgwKTsKK30KKworLyoqCisgKiB4bWxTaGVsbFNhdmU6CisgKiBAY3R4dDogIHRoZSBzaGVsbCBjb250ZXh0CisgKiBAZmlsZW5hbWU6ICB0aGUgZmlsZSBuYW1lIChvcHRpb25hbCkKKyAqIEBub2RlOiAgdW51c2VkCisgKiBAbm9kZTI6ICB1bnVzZWQKKyAqCisgKiBJbXBsZW1lbnRzIHRoZSBYTUwgc2hlbGwgZnVuY3Rpb24gInNhdmUiCisgKiBXcml0ZSB0aGUgY3VycmVudCBkb2N1bWVudCB0byB0aGUgZmlsZW5hbWUsIG9yIGl0J3Mgb3JpZ2luYWwgbmFtZQorICoKKyAqIFJldHVybnMgMCBvciAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK2ludAoreG1sU2hlbGxTYXZlKHhtbFNoZWxsQ3R4dFB0ciBjdHh0LCBjaGFyICpmaWxlbmFtZSwKKyAgICAgICAgICAgICB4bWxOb2RlUHRyIG5vZGUgQVRUUklCVVRFX1VOVVNFRCwKKyAgICAgICAgICAgICB4bWxOb2RlUHRyIG5vZGUyIEFUVFJJQlVURV9VTlVTRUQpCit7CisgICAgaWYgKChjdHh0ID09IE5VTEwpIHx8IChjdHh0LT5kb2MgPT0gTlVMTCkpCisgICAgICAgIHJldHVybiAoLTEpOworICAgIGlmICgoZmlsZW5hbWUgPT0gTlVMTCkgfHwgKGZpbGVuYW1lWzBdID09IDApKQorICAgICAgICBmaWxlbmFtZSA9IGN0eHQtPmZpbGVuYW1lOworICAgIGlmIChmaWxlbmFtZSA9PSBOVUxMKQorICAgICAgICByZXR1cm4gKC0xKTsKKyNpZmRlZiBXX09LCisgICAgaWYgKGFjY2VzcygoY2hhciAqKSBmaWxlbmFtZSwgV19PSykpIHsKKyAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAiQ2Fubm90IHNhdmUgdG8gJXNcbiIsIGZpbGVuYW1lKTsKKyAgICAgICAgcmV0dXJuICgtMSk7CisgICAgfQorI2VuZGlmCisgICAgc3dpdGNoIChjdHh0LT5kb2MtPnR5cGUpIHsKKyAgICAgICAgY2FzZSBYTUxfRE9DVU1FTlRfTk9ERToKKyAgICAgICAgICAgIGlmICh4bWxTYXZlRmlsZSgoY2hhciAqKSBmaWxlbmFtZSwgY3R4dC0+ZG9jKSA8IDApIHsKKyAgICAgICAgICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkZhaWxlZCB0byBzYXZlIHRvICVzXG4iLCBmaWxlbmFtZSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfSFRNTF9ET0NVTUVOVF9OT0RFOgorI2lmZGVmIExJQlhNTF9IVE1MX0VOQUJMRUQKKyAgICAgICAgICAgIGlmIChodG1sU2F2ZUZpbGUoKGNoYXIgKikgZmlsZW5hbWUsIGN0eHQtPmRvYykgPCAwKSB7CisgICAgICAgICAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJGYWlsZWQgdG8gc2F2ZSB0byAlc1xuIiwgZmlsZW5hbWUpOworICAgICAgICAgICAgfQorI2Vsc2UKKyAgICAgICAgICAgIGlmICh4bWxTYXZlRmlsZSgoY2hhciAqKSBmaWxlbmFtZSwgY3R4dC0+ZG9jKSA8IDApIHsKKyAgICAgICAgICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkZhaWxlZCB0byBzYXZlIHRvICVzXG4iLCBmaWxlbmFtZSk7CisgICAgICAgICAgICB9CisjZW5kaWYgLyogTElCWE1MX0hUTUxfRU5BQkxFRCAqLworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkgICAgIlRvIHNhdmUgdG8gc3VicGFydHMgb2YgYSBkb2N1bWVudCB1c2UgdGhlICd3cml0ZScgY29tbWFuZFxuIik7CisgICAgICAgICAgICByZXR1cm4gKC0xKTsKKworICAgIH0KKyAgICByZXR1cm4gKDApOworfQorI2VuZGlmIC8qIExJQlhNTF9PVVRQVVRfRU5BQkxFRCAqLworCisjaWZkZWYgTElCWE1MX1ZBTElEX0VOQUJMRUQKKy8qKgorICogeG1sU2hlbGxWYWxpZGF0ZToKKyAqIEBjdHh0OiAgdGhlIHNoZWxsIGNvbnRleHQKKyAqIEBkdGQ6ICB0aGUgRFREIFVSSSAob3B0aW9uYWwpCisgKiBAbm9kZTogIHVudXNlZAorICogQG5vZGUyOiAgdW51c2VkCisgKgorICogSW1wbGVtZW50cyB0aGUgWE1MIHNoZWxsIGZ1bmN0aW9uICJ2YWxpZGF0ZSIKKyAqIFZhbGlkYXRlIHRoZSBkb2N1bWVudCwgaWYgYSBEVEQgcGF0aCBpcyBwcm92aWRlZCwgdGhlbiB0aGUgdmFsaWRhdGlvbgorICogaXMgZG9uZSBhZ2FpbnN0IHRoZSBnaXZlbiBEVEQuCisgKgorICogUmV0dXJucyAwIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworaW50Cit4bWxTaGVsbFZhbGlkYXRlKHhtbFNoZWxsQ3R4dFB0ciBjdHh0LCBjaGFyICpkdGQsCisgICAgICAgICAgICAgICAgIHhtbE5vZGVQdHIgbm9kZSBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgICAgICB4bWxOb2RlUHRyIG5vZGUyIEFUVFJJQlVURV9VTlVTRUQpCit7CisgICAgeG1sVmFsaWRDdHh0IHZjdHh0OworICAgIGludCByZXMgPSAtMTsKKworICAgIGlmICgoY3R4dCA9PSBOVUxMKSB8fCAoY3R4dC0+ZG9jID09IE5VTEwpKSByZXR1cm4oLTEpOworICAgIHZjdHh0LnVzZXJEYXRhID0gc3RkZXJyOworICAgIHZjdHh0LmVycm9yID0gKHhtbFZhbGlkaXR5RXJyb3JGdW5jKSBmcHJpbnRmOworICAgIHZjdHh0Lndhcm5pbmcgPSAoeG1sVmFsaWRpdHlXYXJuaW5nRnVuYykgZnByaW50ZjsKKworICAgIGlmICgoZHRkID09IE5VTEwpIHx8IChkdGRbMF0gPT0gMCkpIHsKKyAgICAgICAgcmVzID0geG1sVmFsaWRhdGVEb2N1bWVudCgmdmN0eHQsIGN0eHQtPmRvYyk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgeG1sRHRkUHRyIHN1YnNldDsKKworICAgICAgICBzdWJzZXQgPSB4bWxQYXJzZURURChOVUxMLCAoeG1sQ2hhciAqKSBkdGQpOworICAgICAgICBpZiAoc3Vic2V0ICE9IE5VTEwpIHsKKyAgICAgICAgICAgIHJlcyA9IHhtbFZhbGlkYXRlRHRkKCZ2Y3R4dCwgY3R4dC0+ZG9jLCBzdWJzZXQpOworCisgICAgICAgICAgICB4bWxGcmVlRHRkKHN1YnNldCk7CisgICAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuIChyZXMpOworfQorI2VuZGlmIC8qIExJQlhNTF9WQUxJRF9FTkFCTEVEICovCisKKy8qKgorICogeG1sU2hlbGxEdToKKyAqIEBjdHh0OiAgdGhlIHNoZWxsIGNvbnRleHQKKyAqIEBhcmc6ICB1bnVzZWQKKyAqIEB0cmVlOiAgYSBub2RlIGRlZmluaW5nIGEgc3VidHJlZQorICogQG5vZGUyOiAgdW51c2VkCisgKgorICogSW1wbGVtZW50cyB0aGUgWE1MIHNoZWxsIGZ1bmN0aW9uICJkdSIKKyAqIHNob3cgdGhlIHN0cnVjdHVyZSBvZiB0aGUgc3VidHJlZSB1bmRlciBub2RlIEB0cmVlCisgKiBJZiBAdHJlZSBpcyBudWxsLCB0aGUgY29tbWFuZCB3b3JrcyBvbiB0aGUgY3VycmVudCBub2RlLgorICoKKyAqIFJldHVybnMgMCBvciAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK2ludAoreG1sU2hlbGxEdSh4bWxTaGVsbEN0eHRQdHIgY3R4dCwKKyAgICAgICAgICAgY2hhciAqYXJnIEFUVFJJQlVURV9VTlVTRUQsIHhtbE5vZGVQdHIgdHJlZSwKKyAgICAgICAgICAgeG1sTm9kZVB0ciBub2RlMiBBVFRSSUJVVEVfVU5VU0VEKQoreworICAgIHhtbE5vZGVQdHIgbm9kZTsKKyAgICBpbnQgaW5kZW50ID0gMCwgaTsKKworICAgIGlmICghY3R4dCkKKwlyZXR1cm4gKC0xKTsKKworICAgIGlmICh0cmVlID09IE5VTEwpCisgICAgICAgIHJldHVybiAoLTEpOworICAgIG5vZGUgPSB0cmVlOworICAgIHdoaWxlIChub2RlICE9IE5VTEwpIHsKKyAgICAgICAgaWYgKChub2RlLT50eXBlID09IFhNTF9ET0NVTUVOVF9OT0RFKSB8fAorICAgICAgICAgICAgKG5vZGUtPnR5cGUgPT0gWE1MX0hUTUxfRE9DVU1FTlRfTk9ERSkpIHsKKyAgICAgICAgICAgIGZwcmludGYoY3R4dC0+b3V0cHV0LCAiL1xuIik7CisgICAgICAgIH0gZWxzZSBpZiAobm9kZS0+dHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFKSB7CisgICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgaW5kZW50OyBpKyspCisgICAgICAgICAgICAgICAgZnByaW50ZihjdHh0LT5vdXRwdXQsICIgICIpOworICAgICAgICAgICAgaWYgKChub2RlLT5ucykgJiYgKG5vZGUtPm5zLT5wcmVmaXgpKQorICAgICAgICAgICAgICAgIGZwcmludGYoY3R4dC0+b3V0cHV0LCAiJXM6Iiwgbm9kZS0+bnMtPnByZWZpeCk7CisgICAgICAgICAgICBmcHJpbnRmKGN0eHQtPm91dHB1dCwgIiVzXG4iLCBub2RlLT5uYW1lKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgfQorCisgICAgICAgIC8qCisgICAgICAgICAqIEJyb3dzZSB0aGUgZnVsbCBzdWJ0cmVlLCBkZWVwIGZpcnN0CisgICAgICAgICAqLworCisgICAgICAgIGlmICgobm9kZS0+dHlwZSA9PSBYTUxfRE9DVU1FTlRfTk9ERSkgfHwKKyAgICAgICAgICAgIChub2RlLT50eXBlID09IFhNTF9IVE1MX0RPQ1VNRU5UX05PREUpKSB7CisgICAgICAgICAgICBub2RlID0gKCh4bWxEb2NQdHIpIG5vZGUpLT5jaGlsZHJlbjsKKyAgICAgICAgfSBlbHNlIGlmICgobm9kZS0+Y2hpbGRyZW4gIT0gTlVMTCkKKyAgICAgICAgICAgICAgICAgICAmJiAobm9kZS0+dHlwZSAhPSBYTUxfRU5USVRZX1JFRl9OT0RFKSkgeworICAgICAgICAgICAgLyogZGVlcCBmaXJzdCAqLworICAgICAgICAgICAgbm9kZSA9IG5vZGUtPmNoaWxkcmVuOworICAgICAgICAgICAgaW5kZW50Kys7CisgICAgICAgIH0gZWxzZSBpZiAoKG5vZGUgIT0gdHJlZSkgJiYgKG5vZGUtPm5leHQgIT0gTlVMTCkpIHsKKyAgICAgICAgICAgIC8qIHRoZW4gc2libGluZ3MgKi8KKyAgICAgICAgICAgIG5vZGUgPSBub2RlLT5uZXh0OworICAgICAgICB9IGVsc2UgaWYgKG5vZGUgIT0gdHJlZSkgeworICAgICAgICAgICAgLyogZ28gdXAgdG8gcGFyZW50cy0+bmV4dCBpZiBuZWVkZWQgKi8KKyAgICAgICAgICAgIHdoaWxlIChub2RlICE9IHRyZWUpIHsKKyAgICAgICAgICAgICAgICBpZiAobm9kZS0+cGFyZW50ICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgbm9kZSA9IG5vZGUtPnBhcmVudDsKKyAgICAgICAgICAgICAgICAgICAgaW5kZW50LS07CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGlmICgobm9kZSAhPSB0cmVlKSAmJiAobm9kZS0+bmV4dCAhPSBOVUxMKSkgeworICAgICAgICAgICAgICAgICAgICBub2RlID0gbm9kZS0+bmV4dDsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGlmIChub2RlLT5wYXJlbnQgPT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICBub2RlID0gTlVMTDsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGlmIChub2RlID09IHRyZWUpIHsKKyAgICAgICAgICAgICAgICAgICAgbm9kZSA9IE5VTEw7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIC8qIGV4aXQgY29uZGl0aW9uICovCisgICAgICAgICAgICBpZiAobm9kZSA9PSB0cmVlKQorICAgICAgICAgICAgICAgIG5vZGUgPSBOVUxMOworICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgIG5vZGUgPSBOVUxMOworICAgIH0KKyAgICByZXR1cm4gKDApOworfQorCisvKioKKyAqIHhtbFNoZWxsUHdkOgorICogQGN0eHQ6ICB0aGUgc2hlbGwgY29udGV4dAorICogQGJ1ZmZlcjogIHRoZSBvdXRwdXQgYnVmZmVyCisgKiBAbm9kZTogIGEgbm9kZQorICogQG5vZGUyOiAgdW51c2VkCisgKgorICogSW1wbGVtZW50cyB0aGUgWE1MIHNoZWxsIGZ1bmN0aW9uICJwd2QiCisgKiBTaG93IHRoZSBmdWxsIHBhdGggZnJvbSB0aGUgcm9vdCB0byB0aGUgbm9kZSwgaWYgbmVlZGVkIGJ1aWxkaW5nCisgKiB0aHVtYmxlcnMgd2hlbiBzaW1pbGFyIGVsZW1lbnRzIGV4aXN0cyBhdCBhIGdpdmVuIGFuY2VzdG9yIGxldmVsLgorICogVGhlIG91dHB1dCBpcyBjb21wYXRpYmxlIHdpdGggWFBhdGggY29tbWFuZHMuCisgKgorICogUmV0dXJucyAwIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworaW50Cit4bWxTaGVsbFB3ZCh4bWxTaGVsbEN0eHRQdHIgY3R4dCBBVFRSSUJVVEVfVU5VU0VELCBjaGFyICpidWZmZXIsCisgICAgICAgICAgICB4bWxOb2RlUHRyIG5vZGUsIHhtbE5vZGVQdHIgbm9kZTIgQVRUUklCVVRFX1VOVVNFRCkKK3sKKyAgICB4bWxDaGFyICpwYXRoOworCisgICAgaWYgKChub2RlID09IE5VTEwpIHx8IChidWZmZXIgPT0gTlVMTCkpCisgICAgICAgIHJldHVybiAoLTEpOworCisgICAgcGF0aCA9IHhtbEdldE5vZGVQYXRoKG5vZGUpOworICAgIGlmIChwYXRoID09IE5VTEwpCisJcmV0dXJuICgtMSk7CisKKyAgICAvKgorICAgICAqIFRoaXMgdGVzdCBwcmV2ZW50cyBidWZmZXIgb3ZlcmZsb3csIGJlY2F1c2UgdGhpcyByb3V0aW5lCisgICAgICogaXMgb25seSBjYWxsZWQgYnkgeG1sU2hlbGwsIGluIHdoaWNoIHRoZSBzZWNvbmQgYXJndW1lbnQgaXMKKyAgICAgKiA1MDAgY2hhcnMgbG9uZy4KKyAgICAgKiBJdCBpcyBhIGRpcnR5IGhhY2sgYmVmb3JlIGEgY2xlYW5lciBzb2x1dGlvbiBpcyBmb3VuZC4KKyAgICAgKiBEb2N1bWVudGF0aW9uIHNob3VsZCBtZW50aW9uIHRoYXQgdGhlIHNlY29uZCBhcmd1bWVudCBtdXN0CisgICAgICogYmUgYXQgbGVhc3QgNTAwIGNoYXJzIGxvbmcsIGFuZCBjb3VsZCBiZSBzdHJpcHBlZCBpZiB0b28gbG9uZy4KKyAgICAgKi8KKyAgICBzbnByaW50ZihidWZmZXIsIDQ5OSwgIiVzIiwgcGF0aCk7CisgICAgYnVmZmVyWzQ5OV0gPSAnMCc7CisgICAgeG1sRnJlZShwYXRoKTsKKworICAgIHJldHVybiAoMCk7Cit9CisKKy8qKgorICogeG1sU2hlbGw6CisgKiBAZG9jOiAgdGhlIGluaXRpYWwgZG9jdW1lbnQKKyAqIEBmaWxlbmFtZTogIHRoZSBvdXRwdXQgYnVmZmVyCisgKiBAaW5wdXQ6ICB0aGUgbGluZSByZWFkaW5nIGZ1bmN0aW9uCisgKiBAb3V0cHV0OiAgdGhlIG91dHB1dCBGSUxFKiwgZGVmYXVsdHMgdG8gc3Rkb3V0IGlmIE5VTEwKKyAqCisgKiBJbXBsZW1lbnRzIHRoZSBYTUwgc2hlbGwKKyAqIFRoaXMgYWxsb3cgdG8gbG9hZCwgdmFsaWRhdGUsIHZpZXcsIG1vZGlmeSBhbmQgc2F2ZSBhIGRvY3VtZW50CisgKiB1c2luZyBhIGVudmlyb25tZW50IHNpbWlsYXIgdG8gYSBVTklYIGNvbW1hbmRsaW5lLgorICovCit2b2lkCit4bWxTaGVsbCh4bWxEb2NQdHIgZG9jLCBjaGFyICpmaWxlbmFtZSwgeG1sU2hlbGxSZWFkbGluZUZ1bmMgaW5wdXQsCisgICAgICAgICBGSUxFICogb3V0cHV0KQoreworICAgIGNoYXIgcHJvbXB0WzUwMF0gPSAiLyA+ICI7CisgICAgY2hhciAqY21kbGluZSA9IE5VTEwsICpjdXI7CisgICAgY2hhciBjb21tYW5kWzEwMF07CisgICAgY2hhciBhcmdbNDAwXTsKKyAgICBpbnQgaTsKKyAgICB4bWxTaGVsbEN0eHRQdHIgY3R4dDsKKyAgICB4bWxYUGF0aE9iamVjdFB0ciBsaXN0OworCisgICAgaWYgKGRvYyA9PSBOVUxMKQorICAgICAgICByZXR1cm47CisgICAgaWYgKGZpbGVuYW1lID09IE5VTEwpCisgICAgICAgIHJldHVybjsKKyAgICBpZiAoaW5wdXQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuOworICAgIGlmIChvdXRwdXQgPT0gTlVMTCkKKyAgICAgICAgb3V0cHV0ID0gc3Rkb3V0OworICAgIGN0eHQgPSAoeG1sU2hlbGxDdHh0UHRyKSB4bWxNYWxsb2Moc2l6ZW9mKHhtbFNoZWxsQ3R4dCkpOworICAgIGlmIChjdHh0ID09IE5VTEwpCisgICAgICAgIHJldHVybjsKKyAgICBjdHh0LT5sb2FkZWQgPSAwOworICAgIGN0eHQtPmRvYyA9IGRvYzsKKyAgICBjdHh0LT5pbnB1dCA9IGlucHV0OworICAgIGN0eHQtPm91dHB1dCA9IG91dHB1dDsKKyAgICBjdHh0LT5maWxlbmFtZSA9IChjaGFyICopIHhtbFN0cmR1cCgoeG1sQ2hhciAqKSBmaWxlbmFtZSk7CisgICAgY3R4dC0+bm9kZSA9ICh4bWxOb2RlUHRyKSBjdHh0LT5kb2M7CisKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAorICAgIGN0eHQtPnBjdHh0ID0geG1sWFBhdGhOZXdDb250ZXh0KGN0eHQtPmRvYyk7CisgICAgaWYgKGN0eHQtPnBjdHh0ID09IE5VTEwpIHsKKyAgICAgICAgeG1sRnJlZShjdHh0KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyNlbmRpZiAvKiBMSUJYTUxfWFBBVEhfRU5BQkxFRCAqLworICAgIHdoaWxlICgxKSB7CisgICAgICAgIGlmIChjdHh0LT5ub2RlID09ICh4bWxOb2RlUHRyKSBjdHh0LT5kb2MpCisgICAgICAgICAgICBzbnByaW50Zihwcm9tcHQsIHNpemVvZihwcm9tcHQpLCAiJXMgPiAiLCAiLyIpOworICAgICAgICBlbHNlIGlmICgoY3R4dC0+bm9kZSAhPSBOVUxMKSAmJiAoY3R4dC0+bm9kZS0+bmFtZSkgJiYKKyAgICAgICAgICAgICAgICAgKGN0eHQtPm5vZGUtPm5zKSAmJiAoY3R4dC0+bm9kZS0+bnMtPnByZWZpeCkpCisgICAgICAgICAgICBzbnByaW50Zihwcm9tcHQsIHNpemVvZihwcm9tcHQpLCAiJXM6JXMgPiAiLAorICAgICAgICAgICAgICAgICAgICAgKGN0eHQtPm5vZGUtPm5zLT5wcmVmaXgpLCBjdHh0LT5ub2RlLT5uYW1lKTsKKyAgICAgICAgZWxzZSBpZiAoKGN0eHQtPm5vZGUgIT0gTlVMTCkgJiYgKGN0eHQtPm5vZGUtPm5hbWUpKQorICAgICAgICAgICAgc25wcmludGYocHJvbXB0LCBzaXplb2YocHJvbXB0KSwgIiVzID4gIiwgY3R4dC0+bm9kZS0+bmFtZSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHNucHJpbnRmKHByb21wdCwgc2l6ZW9mKHByb21wdCksICI/ID4gIik7CisgICAgICAgIHByb21wdFtzaXplb2YocHJvbXB0KSAtIDFdID0gMDsKKworICAgICAgICAvKgorICAgICAgICAgKiBHZXQgYSBuZXcgY29tbWFuZCBsaW5lCisgICAgICAgICAqLworICAgICAgICBjbWRsaW5lID0gY3R4dC0+aW5wdXQocHJvbXB0KTsKKyAgICAgICAgaWYgKGNtZGxpbmUgPT0gTlVMTCkKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIC8qCisgICAgICAgICAqIFBhcnNlIHRoZSBjb21tYW5kIGl0c2VsZgorICAgICAgICAgKi8KKyAgICAgICAgY3VyID0gY21kbGluZTsKKyAgICAgICAgd2hpbGUgKCgqY3VyID09ICcgJykgfHwgKCpjdXIgPT0gJ1x0JykpCisgICAgICAgICAgICBjdXIrKzsKKyAgICAgICAgaSA9IDA7CisgICAgICAgIHdoaWxlICgoKmN1ciAhPSAnICcpICYmICgqY3VyICE9ICdcdCcpICYmCisgICAgICAgICAgICAgICAoKmN1ciAhPSAnXG4nKSAmJiAoKmN1ciAhPSAnXHInKSkgeworICAgICAgICAgICAgaWYgKCpjdXIgPT0gMCkKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNvbW1hbmRbaSsrXSA9ICpjdXIrKzsKKyAgICAgICAgfQorICAgICAgICBjb21tYW5kW2ldID0gMDsKKyAgICAgICAgaWYgKGkgPT0gMCkKKyAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgIC8qCisgICAgICAgICAqIFBhcnNlIHRoZSBhcmd1bWVudAorICAgICAgICAgKi8KKyAgICAgICAgd2hpbGUgKCgqY3VyID09ICcgJykgfHwgKCpjdXIgPT0gJ1x0JykpCisgICAgICAgICAgICBjdXIrKzsKKyAgICAgICAgaSA9IDA7CisgICAgICAgIHdoaWxlICgoKmN1ciAhPSAnXG4nKSAmJiAoKmN1ciAhPSAnXHInKSAmJiAoKmN1ciAhPSAwKSkgeworICAgICAgICAgICAgaWYgKCpjdXIgPT0gMCkKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGFyZ1tpKytdID0gKmN1cisrOworICAgICAgICB9CisgICAgICAgIGFyZ1tpXSA9IDA7CisKKyAgICAgICAgLyoKKyAgICAgICAgICogc3RhcnQgaW50ZXJwcmV0aW5nIHRoZSBjb21tYW5kCisgICAgICAgICAqLworICAgICAgICBpZiAoIXN0cmNtcChjb21tYW5kLCAiZXhpdCIpKQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGlmICghc3RyY21wKGNvbW1hbmQsICJxdWl0IikpCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgaWYgKCFzdHJjbXAoY29tbWFuZCwgImJ5ZSIpKQorICAgICAgICAgICAgYnJlYWs7CisJCWlmICghc3RyY21wKGNvbW1hbmQsICJoZWxwIikpIHsKKwkJICBmcHJpbnRmKGN0eHQtPm91dHB1dCwgIlx0YmFzZSAgICAgICAgIGRpc3BsYXkgWE1MIGJhc2Ugb2YgdGhlIG5vZGVcbiIpOworCQkgIGZwcmludGYoY3R4dC0+b3V0cHV0LCAiXHRzZXRiYXNlIFVSSSAgY2hhbmdlIHRoZSBYTUwgYmFzZSBvZiB0aGUgbm9kZVxuIik7CisJCSAgZnByaW50ZihjdHh0LT5vdXRwdXQsICJcdGJ5ZSAgICAgICAgICBsZWF2ZSBzaGVsbFxuIik7CisJCSAgZnByaW50ZihjdHh0LT5vdXRwdXQsICJcdGNhdCBbbm9kZV0gICBkaXNwbGF5IG5vZGUgb3IgY3VycmVudCBub2RlXG4iKTsKKwkJICBmcHJpbnRmKGN0eHQtPm91dHB1dCwgIlx0Y2QgW3BhdGhdICAgIGNoYW5nZSBkaXJlY3RvcnkgdG8gcGF0aCBvciB0byByb290XG4iKTsKKwkJICBmcHJpbnRmKGN0eHQtPm91dHB1dCwgIlx0ZGlyIFtwYXRoXSAgIGR1bXBzIGluZm9ybWF0aW9ucyBhYm91dCB0aGUgbm9kZSAobmFtZXNwYWNlLCBhdHRyaWJ1dGVzLCBjb250ZW50KVxuIik7CisJCSAgZnByaW50ZihjdHh0LT5vdXRwdXQsICJcdGR1IFtwYXRoXSAgICBzaG93IHRoZSBzdHJ1Y3R1cmUgb2YgdGhlIHN1YnRyZWUgdW5kZXIgcGF0aCBvciB0aGUgY3VycmVudCBub2RlXG4iKTsKKwkJICBmcHJpbnRmKGN0eHQtPm91dHB1dCwgIlx0ZXhpdCAgICAgICAgIGxlYXZlIHNoZWxsXG4iKTsKKwkJICBmcHJpbnRmKGN0eHQtPm91dHB1dCwgIlx0aGVscCAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwXG4iKTsKKwkJICBmcHJpbnRmKGN0eHQtPm91dHB1dCwgIlx0ZnJlZSAgICAgICAgIGRpc3BsYXkgbWVtb3J5IHVzYWdlXG4iKTsKKwkJICBmcHJpbnRmKGN0eHQtPm91dHB1dCwgIlx0bG9hZCBbbmFtZV0gIGxvYWQgYSBuZXcgZG9jdW1lbnQgd2l0aCBuYW1lXG4iKTsKKwkJICBmcHJpbnRmKGN0eHQtPm91dHB1dCwgIlx0bHMgW3BhdGhdICAgIGxpc3QgY29udGVudHMgb2YgcGF0aCBvciB0aGUgY3VycmVudCBkaXJlY3RvcnlcbiIpOworCQkgIGZwcmludGYoY3R4dC0+b3V0cHV0LCAiXHRzZXQgeG1sX2ZyYWdtZW50IHJlcGxhY2UgdGhlIGN1cnJlbnQgbm9kZSBjb250ZW50IHdpdGggdGhlIGZyYWdtZW50IHBhcnNlZCBpbiBjb250ZXh0XG4iKTsKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAorCQkgIGZwcmludGYoY3R4dC0+b3V0cHV0LCAiXHR4cGF0aCBleHByICAgZXZhbHVhdGUgdGhlIFhQYXRoIGV4cHJlc3Npb24gaW4gdGhhdCBjb250ZXh0IGFuZCBwcmludCB0aGUgcmVzdWx0XG4iKTsKKwkJICBmcHJpbnRmKGN0eHQtPm91dHB1dCwgIlx0c2V0bnMgbnNyZWcgIHJlZ2lzdGVyIGEgbmFtZXNwYWNlIHRvIGEgcHJlZml4IGluIHRoZSBYUGF0aCBldmFsdWF0aW9uIGNvbnRleHRcbiIpOworCQkgIGZwcmludGYoY3R4dC0+b3V0cHV0LCAiXHQgICAgICAgICAgICAgZm9ybWF0IGZvciBuc3JlZyBpczogcHJlZml4PVtuc3VyaV0gKGkuZS4gcHJlZml4PSB1bnNldHMgYSBwcmVmaXgpXG4iKTsKKwkJICBmcHJpbnRmKGN0eHQtPm91dHB1dCwgIlx0c2V0cm9vdG5zICAgIHJlZ2lzdGVyIGFsbCBuYW1lc3BhY2UgZm91bmQgb24gdGhlIHJvb3QgZWxlbWVudFxuIik7CisJCSAgZnByaW50ZihjdHh0LT5vdXRwdXQsICJcdCAgICAgICAgICAgICB0aGUgZGVmYXVsdCBuYW1lc3BhY2UgaWYgYW55IHVzZXMgJ2RlZmF1bHRucycgcHJlZml4XG4iKTsKKyNlbmRpZiAvKiBMSUJYTUxfWFBBVEhfRU5BQkxFRCAqLworCQkgIGZwcmludGYoY3R4dC0+b3V0cHV0LCAiXHRwd2QgICAgICAgICAgZGlzcGxheSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5XG4iKTsKKwkJICBmcHJpbnRmKGN0eHQtPm91dHB1dCwgIlx0d2hlcmVpcyAgICAgIGRpc3BsYXkgYWJzb2x1dGUgcGF0aCBvZiBbcGF0aF0gb3IgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeVxuIik7CisJCSAgZnByaW50ZihjdHh0LT5vdXRwdXQsICJcdHF1aXQgICAgICAgICBsZWF2ZSBzaGVsbFxuIik7CisjaWZkZWYgTElCWE1MX09VVFBVVF9FTkFCTEVECisJCSAgZnByaW50ZihjdHh0LT5vdXRwdXQsICJcdHNhdmUgW25hbWVdICBzYXZlIHRoaXMgZG9jdW1lbnQgdG8gbmFtZSBvciB0aGUgb3JpZ2luYWwgbmFtZVxuIik7CisJCSAgZnByaW50ZihjdHh0LT5vdXRwdXQsICJcdHdyaXRlIFtuYW1lXSB3cml0ZSB0aGUgY3VycmVudCBub2RlIHRvIHRoZSBmaWxlbmFtZVxuIik7CisjZW5kaWYgLyogTElCWE1MX09VVFBVVF9FTkFCTEVEICovCisjaWZkZWYgTElCWE1MX1ZBTElEX0VOQUJMRUQKKwkJICBmcHJpbnRmKGN0eHQtPm91dHB1dCwgIlx0dmFsaWRhdGUgICAgIGNoZWNrIHRoZSBkb2N1bWVudCBmb3IgZXJyb3JzXG4iKTsKKyNlbmRpZiAvKiBMSUJYTUxfVkFMSURfRU5BQkxFRCAqLworI2lmZGVmIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQKKwkJICBmcHJpbnRmKGN0eHQtPm91dHB1dCwgIlx0cmVsYXhuZyBybmcgIHZhbGlkYXRlIHRoZSBkb2N1bWVudCBhZ2Fpc250IHRoZSBSZWxheC1ORyBzY2hlbWFzXG4iKTsKKyNlbmRpZgorCQkgIGZwcmludGYoY3R4dC0+b3V0cHV0LCAiXHRncmVwIHN0cmluZyAgc2VhcmNoIGZvciBhIHN0cmluZyBpbiB0aGUgc3VidHJlZVxuIik7CisjaWZkZWYgTElCWE1MX1ZBTElEX0VOQUJMRUQKKyAgICAgICAgfSBlbHNlIGlmICghc3RyY21wKGNvbW1hbmQsICJ2YWxpZGF0ZSIpKSB7CisgICAgICAgICAgICB4bWxTaGVsbFZhbGlkYXRlKGN0eHQsIGFyZywgTlVMTCwgTlVMTCk7CisjZW5kaWYgLyogTElCWE1MX1ZBTElEX0VOQUJMRUQgKi8KKyAgICAgICAgfSBlbHNlIGlmICghc3RyY21wKGNvbW1hbmQsICJsb2FkIikpIHsKKyAgICAgICAgICAgIHhtbFNoZWxsTG9hZChjdHh0LCBhcmcsIE5VTEwsIE5VTEwpOworI2lmZGVmIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQKKyAgICAgICAgfSBlbHNlIGlmICghc3RyY21wKGNvbW1hbmQsICJyZWxheG5nIikpIHsKKyAgICAgICAgICAgIHhtbFNoZWxsUk5HVmFsaWRhdGUoY3R4dCwgYXJnLCBOVUxMLCBOVUxMKTsKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9PVVRQVVRfRU5BQkxFRAorICAgICAgICB9IGVsc2UgaWYgKCFzdHJjbXAoY29tbWFuZCwgInNhdmUiKSkgeworICAgICAgICAgICAgeG1sU2hlbGxTYXZlKGN0eHQsIGFyZywgTlVMTCwgTlVMTCk7CisgICAgICAgIH0gZWxzZSBpZiAoIXN0cmNtcChjb21tYW5kLCAid3JpdGUiKSkgeworCSAgICBpZiAoYXJnWzBdID09IDApCisJCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgIldyaXRlIGNvbW1hbmQgcmVxdWlyZXMgYSBmaWxlbmFtZSBhcmd1bWVudFxuIik7CisJICAgIGVsc2UKKwkJeG1sU2hlbGxXcml0ZShjdHh0LCBhcmcsIGN0eHQtPm5vZGUsIE5VTEwpOworI2VuZGlmIC8qIExJQlhNTF9PVVRQVVRfRU5BQkxFRCAqLworICAgICAgICB9IGVsc2UgaWYgKCFzdHJjbXAoY29tbWFuZCwgImdyZXAiKSkgeworICAgICAgICAgICAgeG1sU2hlbGxHcmVwKGN0eHQsIGFyZywgY3R4dC0+bm9kZSwgTlVMTCk7CisgICAgICAgIH0gZWxzZSBpZiAoIXN0cmNtcChjb21tYW5kLCAiZnJlZSIpKSB7CisgICAgICAgICAgICBpZiAoYXJnWzBdID09IDApIHsKKyAgICAgICAgICAgICAgICB4bWxNZW1TaG93KGN0eHQtPm91dHB1dCwgMCk7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIGludCBsZW4gPSAwOworCisgICAgICAgICAgICAgICAgc3NjYW5mKGFyZywgIiVkIiwgJmxlbik7CisgICAgICAgICAgICAgICAgeG1sTWVtU2hvdyhjdHh0LT5vdXRwdXQsIGxlbik7CisgICAgICAgICAgICB9CisgICAgICAgIH0gZWxzZSBpZiAoIXN0cmNtcChjb21tYW5kLCAicHdkIikpIHsKKyAgICAgICAgICAgIGNoYXIgZGlyWzUwMF07CisKKyAgICAgICAgICAgIGlmICgheG1sU2hlbGxQd2QoY3R4dCwgZGlyLCBjdHh0LT5ub2RlLCBOVUxMKSkKKyAgICAgICAgICAgICAgICBmcHJpbnRmKGN0eHQtPm91dHB1dCwgIiVzXG4iLCBkaXIpOworICAgICAgICB9IGVsc2UgaWYgKCFzdHJjbXAoY29tbWFuZCwgImR1IikpIHsKKyAgICAgICAgICAgIGlmIChhcmdbMF0gPT0gMCkgeworICAgICAgICAgICAgICAgIHhtbFNoZWxsRHUoY3R4dCwgTlVMTCwgY3R4dC0+bm9kZSwgTlVMTCk7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIGN0eHQtPnBjdHh0LT5ub2RlID0gY3R4dC0+bm9kZTsKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAorICAgICAgICAgICAgICAgIGN0eHQtPnBjdHh0LT5ub2RlID0gY3R4dC0+bm9kZTsKKyAgICAgICAgICAgICAgICBsaXN0ID0geG1sWFBhdGhFdmFsKCh4bWxDaGFyICopIGFyZywgY3R4dC0+cGN0eHQpOworI2Vsc2UKKyAgICAgICAgICAgICAgICBsaXN0ID0gTlVMTDsKKyNlbmRpZiAvKiBMSUJYTUxfWFBBVEhfRU5BQkxFRCAqLworICAgICAgICAgICAgICAgIGlmIChsaXN0ICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChsaXN0LT50eXBlKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFhQQVRIX1VOREVGSU5FRDoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiVzOiBubyBzdWNoIG5vZGVcbiIsIGFyZyk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFhQQVRIX05PREVTRVQ6eworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBpbmR4OworCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGxpc3QtPm5vZGVzZXR2YWwgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGluZHggPSAwOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5keCA8IGxpc3QtPm5vZGVzZXR2YWwtPm5vZGVOcjsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZHgrKykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sU2hlbGxEdShjdHh0LCBOVUxMLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3QtPm5vZGVzZXR2YWwtPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVUYWJbaW5keF0sIE5VTEwpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBYUEFUSF9CT09MRUFOOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJXMgaXMgYSBCb29sZWFuXG4iLCBhcmcpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBYUEFUSF9OVU1CRVI6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIlcyBpcyBhIG51bWJlclxuIiwgYXJnKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgWFBBVEhfU1RSSU5HOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJXMgaXMgYSBzdHJpbmdcbiIsIGFyZyk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFhQQVRIX1BPSU5UOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJXMgaXMgYSBwb2ludFxuIiwgYXJnKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgWFBBVEhfUkFOR0U6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIlcyBpcyBhIHJhbmdlXG4iLCBhcmcpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBYUEFUSF9MT0NBVElPTlNFVDoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiVzIGlzIGEgcmFuZ2VcbiIsIGFyZyk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFhQQVRIX1VTRVJTOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJXMgaXMgdXNlci1kZWZpbmVkXG4iLCBhcmcpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBYUEFUSF9YU0xUX1RSRUU6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIlcyBpcyBhbiBYU0xUIHZhbHVlIHRyZWVcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZyk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgIH0KKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAorICAgICAgICAgICAgICAgICAgICB4bWxYUGF0aEZyZWVPYmplY3QobGlzdCk7CisjZW5kaWYKKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIlczogbm8gc3VjaCBub2RlXG4iLCBhcmcpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBjdHh0LT5wY3R4dC0+bm9kZSA9IE5VTEw7CisgICAgICAgICAgICB9CisgICAgICAgIH0gZWxzZSBpZiAoIXN0cmNtcChjb21tYW5kLCAiYmFzZSIpKSB7CisgICAgICAgICAgICB4bWxTaGVsbEJhc2UoY3R4dCwgTlVMTCwgY3R4dC0+bm9kZSwgTlVMTCk7CisgICAgICAgIH0gZWxzZSBpZiAoIXN0cmNtcChjb21tYW5kLCAic2V0IikpIHsKKwkgICAgeG1sU2hlbGxTZXRDb250ZW50KGN0eHQsIGFyZywgY3R4dC0+bm9kZSwgTlVMTCk7CisjaWZkZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQKKyAgICAgICAgfSBlbHNlIGlmICghc3RyY21wKGNvbW1hbmQsICJzZXRucyIpKSB7CisgICAgICAgICAgICBpZiAoYXJnWzBdID09IDApIHsKKwkJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCQkJInNldG5zOiBwcmVmaXg9W25zdXJpXSByZXF1aXJlZFxuIik7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIHhtbFNoZWxsUmVnaXN0ZXJOYW1lc3BhY2UoY3R4dCwgYXJnLCBOVUxMLCBOVUxMKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIGlmICghc3RyY21wKGNvbW1hbmQsICJzZXRyb290bnMiKSkgeworCSAgICB4bWxOb2RlUHRyIHJvb3Q7CisKKwkgICAgcm9vdCA9IHhtbERvY0dldFJvb3RFbGVtZW50KGN0eHQtPmRvYyk7CisJICAgIHhtbFNoZWxsUmVnaXN0ZXJSb290TmFtZXNwYWNlcyhjdHh0LCBOVUxMLCByb290LCBOVUxMKTsKKyAgICAgICAgfSBlbHNlIGlmICghc3RyY21wKGNvbW1hbmQsICJ4cGF0aCIpKSB7CisgICAgICAgICAgICBpZiAoYXJnWzBdID09IDApIHsKKwkJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCQkJInhwYXRoOiBleHByZXNzaW9uIHJlcXVpcmVkXG4iKTsKKwkgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBjdHh0LT5wY3R4dC0+bm9kZSA9IGN0eHQtPm5vZGU7CisgICAgICAgICAgICAgICAgbGlzdCA9IHhtbFhQYXRoRXZhbCgoeG1sQ2hhciAqKSBhcmcsIGN0eHQtPnBjdHh0KTsKKwkJeG1sWFBhdGhEZWJ1Z0R1bXBPYmplY3QoY3R4dC0+b3V0cHV0LCBsaXN0LCAwKTsKKwkJeG1sWFBhdGhGcmVlT2JqZWN0KGxpc3QpOworCSAgICB9CisjZW5kaWYgLyogTElCWE1MX1hQQVRIX0VOQUJMRUQgKi8KKyNpZmRlZiBMSUJYTUxfVFJFRV9FTkFCTEVECisgICAgICAgIH0gZWxzZSBpZiAoIXN0cmNtcChjb21tYW5kLCAic2V0YmFzZSIpKSB7CisgICAgICAgICAgICB4bWxTaGVsbFNldEJhc2UoY3R4dCwgYXJnLCBjdHh0LT5ub2RlLCBOVUxMKTsKKyNlbmRpZgorICAgICAgICB9IGVsc2UgaWYgKCghc3RyY21wKGNvbW1hbmQsICJscyIpKSB8fCAoIXN0cmNtcChjb21tYW5kLCAiZGlyIikpKSB7CisgICAgICAgICAgICBpbnQgZGlyID0gKCFzdHJjbXAoY29tbWFuZCwgImRpciIpKTsKKworICAgICAgICAgICAgaWYgKGFyZ1swXSA9PSAwKSB7CisgICAgICAgICAgICAgICAgaWYgKGRpcikKKyAgICAgICAgICAgICAgICAgICAgeG1sU2hlbGxEaXIoY3R4dCwgTlVMTCwgY3R4dC0+bm9kZSwgTlVMTCk7CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICB4bWxTaGVsbExpc3QoY3R4dCwgTlVMTCwgY3R4dC0+bm9kZSwgTlVMTCk7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIGN0eHQtPnBjdHh0LT5ub2RlID0gY3R4dC0+bm9kZTsKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAorICAgICAgICAgICAgICAgIGN0eHQtPnBjdHh0LT5ub2RlID0gY3R4dC0+bm9kZTsKKyAgICAgICAgICAgICAgICBsaXN0ID0geG1sWFBhdGhFdmFsKCh4bWxDaGFyICopIGFyZywgY3R4dC0+cGN0eHQpOworI2Vsc2UKKyAgICAgICAgICAgICAgICBsaXN0ID0gTlVMTDsKKyNlbmRpZiAvKiBMSUJYTUxfWFBBVEhfRU5BQkxFRCAqLworICAgICAgICAgICAgICAgIGlmIChsaXN0ICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChsaXN0LT50eXBlKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFhQQVRIX1VOREVGSU5FRDoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiVzOiBubyBzdWNoIG5vZGVcbiIsIGFyZyk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFhQQVRIX05PREVTRVQ6eworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaW5keDsKKworCQkJCWlmIChsaXN0LT5ub2Rlc2V0dmFsID09IE5VTEwpCisJCQkJICAgIGJyZWFrOworCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoaW5keCA9IDA7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5keCA8IGxpc3QtPm5vZGVzZXR2YWwtPm5vZGVOcjsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmR4KyspIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkaXIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sU2hlbGxEaXIoY3R4dCwgTlVMTCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0LT5ub2Rlc2V0dmFsLT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlVGFiW2luZHhdLCBOVUxMKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxTaGVsbExpc3QoY3R4dCwgTlVMTCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdC0+bm9kZXNldHZhbC0+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVUYWJbaW5keF0sIE5VTEwpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgWFBBVEhfQk9PTEVBTjoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiVzIGlzIGEgQm9vbGVhblxuIiwgYXJnKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgWFBBVEhfTlVNQkVSOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJXMgaXMgYSBudW1iZXJcbiIsIGFyZyk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFhQQVRIX1NUUklORzoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiVzIGlzIGEgc3RyaW5nXG4iLCBhcmcpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBYUEFUSF9QT0lOVDoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiVzIGlzIGEgcG9pbnRcbiIsIGFyZyk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFhQQVRIX1JBTkdFOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJXMgaXMgYSByYW5nZVxuIiwgYXJnKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgWFBBVEhfTE9DQVRJT05TRVQ6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIlcyBpcyBhIHJhbmdlXG4iLCBhcmcpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBYUEFUSF9VU0VSUzoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiVzIGlzIHVzZXItZGVmaW5lZFxuIiwgYXJnKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgWFBBVEhfWFNMVF9UUkVFOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJXMgaXMgYW4gWFNMVCB2YWx1ZSB0cmVlXG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmcpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICB9CisjaWZkZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQKKyAgICAgICAgICAgICAgICAgICAgeG1sWFBhdGhGcmVlT2JqZWN0KGxpc3QpOworI2VuZGlmCisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJXM6IG5vIHN1Y2ggbm9kZVxuIiwgYXJnKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgY3R4dC0+cGN0eHQtPm5vZGUgPSBOVUxMOworICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2UgaWYgKCFzdHJjbXAoY29tbWFuZCwgIndoZXJlaXMiKSkgeworICAgICAgICAgICAgY2hhciBkaXJbNTAwXTsKKworICAgICAgICAgICAgaWYgKGFyZ1swXSA9PSAwKSB7CisgICAgICAgICAgICAgICAgaWYgKCF4bWxTaGVsbFB3ZChjdHh0LCBkaXIsIGN0eHQtPm5vZGUsIE5VTEwpKQorICAgICAgICAgICAgICAgICAgICBmcHJpbnRmKGN0eHQtPm91dHB1dCwgIiVzXG4iLCBkaXIpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBjdHh0LT5wY3R4dC0+bm9kZSA9IGN0eHQtPm5vZGU7CisjaWZkZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQKKyAgICAgICAgICAgICAgICBsaXN0ID0geG1sWFBhdGhFdmFsKCh4bWxDaGFyICopIGFyZywgY3R4dC0+cGN0eHQpOworI2Vsc2UKKyAgICAgICAgICAgICAgICBsaXN0ID0gTlVMTDsKKyNlbmRpZiAvKiBMSUJYTUxfWFBBVEhfRU5BQkxFRCAqLworICAgICAgICAgICAgICAgIGlmIChsaXN0ICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChsaXN0LT50eXBlKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFhQQVRIX1VOREVGSU5FRDoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiVzOiBubyBzdWNoIG5vZGVcbiIsIGFyZyk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFhQQVRIX05PREVTRVQ6eworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaW5keDsKKworCQkJCWlmIChsaXN0LT5ub2Rlc2V0dmFsID09IE5VTEwpCisJCQkJICAgIGJyZWFrOworCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoaW5keCA9IDA7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5keCA8IGxpc3QtPm5vZGVzZXR2YWwtPm5vZGVOcjsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmR4KyspIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgheG1sU2hlbGxQd2QoY3R4dCwgZGlyLCBsaXN0LT5ub2Rlc2V0dmFsLT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZVRhYltpbmR4XSwgTlVMTCkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnByaW50ZihjdHh0LT5vdXRwdXQsICIlc1xuIiwgZGlyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFhQQVRIX0JPT0xFQU46CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIlcyBpcyBhIEJvb2xlYW5cbiIsIGFyZyk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFhQQVRIX05VTUJFUjoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiVzIGlzIGEgbnVtYmVyXG4iLCBhcmcpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBYUEFUSF9TVFJJTkc6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIlcyBpcyBhIHN0cmluZ1xuIiwgYXJnKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgWFBBVEhfUE9JTlQ6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIlcyBpcyBhIHBvaW50XG4iLCBhcmcpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBYUEFUSF9SQU5HRToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiVzIGlzIGEgcmFuZ2VcbiIsIGFyZyk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFhQQVRIX0xPQ0FUSU9OU0VUOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJXMgaXMgYSByYW5nZVxuIiwgYXJnKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgWFBBVEhfVVNFUlM6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIlcyBpcyB1c2VyLWRlZmluZWRcbiIsIGFyZyk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFhQQVRIX1hTTFRfVFJFRToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiVzIGlzIGFuIFhTTFQgdmFsdWUgdHJlZVxuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJnKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgfQorI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECisgICAgICAgICAgICAgICAgICAgIHhtbFhQYXRoRnJlZU9iamVjdChsaXN0KTsKKyNlbmRpZgorICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiVzOiBubyBzdWNoIG5vZGVcbiIsIGFyZyk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGN0eHQtPnBjdHh0LT5ub2RlID0gTlVMTDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIGlmICghc3RyY21wKGNvbW1hbmQsICJjZCIpKSB7CisgICAgICAgICAgICBpZiAoYXJnWzBdID09IDApIHsKKyAgICAgICAgICAgICAgICBjdHh0LT5ub2RlID0gKHhtbE5vZGVQdHIpIGN0eHQtPmRvYzsKKyAgICAgICAgICAgIH0gZWxzZSB7CisjaWZkZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQKKyAgICAgICAgICAgICAgICBpbnQgbDsKKworICAgICAgICAgICAgICAgIGN0eHQtPnBjdHh0LT5ub2RlID0gY3R4dC0+bm9kZTsKKwkJbCA9IHN0cmxlbihhcmcpOworCQlpZiAoKGwgPj0gMikgJiYgKGFyZ1tsIC0gMV0gPT0gJy8nKSkKKwkJICAgIGFyZ1tsIC0gMV0gPSAwOworICAgICAgICAgICAgICAgIGxpc3QgPSB4bWxYUGF0aEV2YWwoKHhtbENoYXIgKikgYXJnLCBjdHh0LT5wY3R4dCk7CisjZWxzZQorICAgICAgICAgICAgICAgIGxpc3QgPSBOVUxMOworI2VuZGlmIC8qIExJQlhNTF9YUEFUSF9FTkFCTEVEICovCisgICAgICAgICAgICAgICAgaWYgKGxpc3QgIT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKGxpc3QtPnR5cGUpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgWFBBVEhfVU5ERUZJTkVEOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJXM6IG5vIHN1Y2ggbm9kZVxuIiwgYXJnKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgWFBBVEhfTk9ERVNFVDoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobGlzdC0+bm9kZXNldHZhbCAhPSBOVUxMKSB7CisJCQkJaWYgKGxpc3QtPm5vZGVzZXR2YWwtPm5vZGVOciA9PSAxKSB7CisJCQkJICAgIGN0eHQtPm5vZGUgPSBsaXN0LT5ub2Rlc2V0dmFsLT5ub2RlVGFiWzBdOworCQkJCSAgICBpZiAoKGN0eHQtPm5vZGUgIT0gTlVMTCkgJiYKKwkJCQkgICAgICAgIChjdHh0LT5ub2RlLT50eXBlID09CisJCQkJCSBYTUxfTkFNRVNQQUNFX0RFQ0wpKSB7CisJCQkJCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkJCQkJICAgICJjYW5ub3QgY2QgdG8gbmFtZXNwYWNlXG4iKTsKKwkJCQkJY3R4dC0+bm9kZSA9IE5VTEw7CisJCQkJICAgIH0KKwkJCQl9IGVsc2UKKwkJCQkgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCQkJCQkgICAgIiVzIGlzIGEgJWQgTm9kZSBTZXRcbiIsCisJCQkJCQkgICAgYXJnLAorCQkJCQkJICAgIGxpc3QtPm5vZGVzZXR2YWwtPm5vZGVOcik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiVzIGlzIGFuIGVtcHR5IE5vZGUgU2V0XG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJnKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgWFBBVEhfQk9PTEVBTjoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiVzIGlzIGEgQm9vbGVhblxuIiwgYXJnKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgWFBBVEhfTlVNQkVSOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJXMgaXMgYSBudW1iZXJcbiIsIGFyZyk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFhQQVRIX1NUUklORzoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiVzIGlzIGEgc3RyaW5nXG4iLCBhcmcpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBYUEFUSF9QT0lOVDoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiVzIGlzIGEgcG9pbnRcbiIsIGFyZyk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFhQQVRIX1JBTkdFOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJXMgaXMgYSByYW5nZVxuIiwgYXJnKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgWFBBVEhfTE9DQVRJT05TRVQ6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIlcyBpcyBhIHJhbmdlXG4iLCBhcmcpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBYUEFUSF9VU0VSUzoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiVzIGlzIHVzZXItZGVmaW5lZFxuIiwgYXJnKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgWFBBVEhfWFNMVF9UUkVFOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJXMgaXMgYW4gWFNMVCB2YWx1ZSB0cmVlXG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmcpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICB9CisjaWZkZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQKKyAgICAgICAgICAgICAgICAgICAgeG1sWFBhdGhGcmVlT2JqZWN0KGxpc3QpOworI2VuZGlmCisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJXM6IG5vIHN1Y2ggbm9kZVxuIiwgYXJnKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgY3R4dC0+cGN0eHQtPm5vZGUgPSBOVUxMOworICAgICAgICAgICAgfQorI2lmZGVmIExJQlhNTF9PVVRQVVRfRU5BQkxFRAorICAgICAgICB9IGVsc2UgaWYgKCFzdHJjbXAoY29tbWFuZCwgImNhdCIpKSB7CisgICAgICAgICAgICBpZiAoYXJnWzBdID09IDApIHsKKyAgICAgICAgICAgICAgICB4bWxTaGVsbENhdChjdHh0LCBOVUxMLCBjdHh0LT5ub2RlLCBOVUxMKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgY3R4dC0+cGN0eHQtPm5vZGUgPSBjdHh0LT5ub2RlOworI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECisgICAgICAgICAgICAgICAgY3R4dC0+cGN0eHQtPm5vZGUgPSBjdHh0LT5ub2RlOworICAgICAgICAgICAgICAgIGxpc3QgPSB4bWxYUGF0aEV2YWwoKHhtbENoYXIgKikgYXJnLCBjdHh0LT5wY3R4dCk7CisjZWxzZQorICAgICAgICAgICAgICAgIGxpc3QgPSBOVUxMOworI2VuZGlmIC8qIExJQlhNTF9YUEFUSF9FTkFCTEVEICovCisgICAgICAgICAgICAgICAgaWYgKGxpc3QgIT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKGxpc3QtPnR5cGUpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgWFBBVEhfVU5ERUZJTkVEOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJXM6IG5vIHN1Y2ggbm9kZVxuIiwgYXJnKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgWFBBVEhfTk9ERVNFVDp7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBpbmR4OworCisJCQkJaWYgKGxpc3QtPm5vZGVzZXR2YWwgPT0gTlVMTCkKKwkJCQkgICAgYnJlYWs7CisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChpbmR4ID0gMDsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmR4IDwgbGlzdC0+bm9kZXNldHZhbC0+bm9kZU5yOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZHgrKykgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGkgPiAwKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZwcmludGYoY3R4dC0+b3V0cHV0LCAiIC0tLS0tLS1cbiIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sU2hlbGxDYXQoY3R4dCwgTlVMTCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3QtPm5vZGVzZXR2YWwtPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZVRhYltpbmR4XSwgTlVMTCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBYUEFUSF9CT09MRUFOOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJXMgaXMgYSBCb29sZWFuXG4iLCBhcmcpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBYUEFUSF9OVU1CRVI6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIlcyBpcyBhIG51bWJlclxuIiwgYXJnKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgWFBBVEhfU1RSSU5HOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJXMgaXMgYSBzdHJpbmdcbiIsIGFyZyk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFhQQVRIX1BPSU5UOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJXMgaXMgYSBwb2ludFxuIiwgYXJnKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgWFBBVEhfUkFOR0U6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIlcyBpcyBhIHJhbmdlXG4iLCBhcmcpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBYUEFUSF9MT0NBVElPTlNFVDoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiVzIGlzIGEgcmFuZ2VcbiIsIGFyZyk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFhQQVRIX1VTRVJTOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJXMgaXMgdXNlci1kZWZpbmVkXG4iLCBhcmcpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBYUEFUSF9YU0xUX1RSRUU6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIlcyBpcyBhbiBYU0xUIHZhbHVlIHRyZWVcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZyk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgIH0KKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAorICAgICAgICAgICAgICAgICAgICB4bWxYUGF0aEZyZWVPYmplY3QobGlzdCk7CisjZW5kaWYKKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIlczogbm8gc3VjaCBub2RlXG4iLCBhcmcpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBjdHh0LT5wY3R4dC0+bm9kZSA9IE5VTEw7CisgICAgICAgICAgICB9CisjZW5kaWYgLyogTElCWE1MX09VVFBVVF9FTkFCTEVEICovCisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVW5rbm93biBjb21tYW5kICVzXG4iLCBjb21tYW5kKTsKKyAgICAgICAgfQorICAgICAgICBmcmVlKGNtZGxpbmUpOyAgICAgICAgICAvKiBub3QgeG1sRnJlZSBoZXJlICEgKi8KKwljbWRsaW5lID0gTlVMTDsKKyAgICB9CisjaWZkZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQKKyAgICB4bWxYUGF0aEZyZWVDb250ZXh0KGN0eHQtPnBjdHh0KTsKKyNlbmRpZiAvKiBMSUJYTUxfWFBBVEhfRU5BQkxFRCAqLworICAgIGlmIChjdHh0LT5sb2FkZWQpIHsKKyAgICAgICAgeG1sRnJlZURvYyhjdHh0LT5kb2MpOworICAgIH0KKyAgICBpZiAoY3R4dC0+ZmlsZW5hbWUgIT0gTlVMTCkKKyAgICAgICAgeG1sRnJlZShjdHh0LT5maWxlbmFtZSk7CisgICAgeG1sRnJlZShjdHh0KTsKKyAgICBpZiAoY21kbGluZSAhPSBOVUxMKQorICAgICAgICBmcmVlKGNtZGxpbmUpOyAgICAgICAgICAvKiBub3QgeG1sRnJlZSBoZXJlICEgKi8KK30KKworI2VuZGlmIC8qIExJQlhNTF9YUEFUSF9FTkFCTEVEICovCisjZGVmaW5lIGJvdHRvbV9kZWJ1Z1hNTAorI2luY2x1ZGUgImVsZmdjY2hhY2suaCIKKyNlbmRpZiAvKiBMSUJYTUxfREVCVUdfRU5BQkxFRCAqLwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kaWN0LmMgYi9saWJ4bWwyL2RpY3QuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZjcxZDU1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kaWN0LmMKQEAgLTAsMCArMSwxMjU5IEBACisvKgorICogZGljdC5jOiBkaWN0aW9uYXJ5IG9mIHJldXNhYmxlIHN0cmluZ3MsIGp1c3QgdXNlZCB0byBhdm9pZCBhbGxvY2F0aW9uCisgKiAgICAgICAgIGFuZCBmcmVlaW5nIG9wZXJhdGlvbnMuCisgKgorICogQ29weXJpZ2h0IChDKSAyMDAzLTIwMTIgRGFuaWVsIFZlaWxsYXJkLgorICoKKyAqIFBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZCBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgZm9yIGFueQorICogcHVycG9zZSB3aXRoIG9yIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLCBwcm92aWRlZCB0aGF0IHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBhcHBlYXIgaW4gYWxsIGNvcGllcy4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIGBgQVMgSVMnJyBBTkQgV0lUSE9VVCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVECisgKiBXQVJSQU5USUVTLCBJTkNMVURJTkcsIFdJVEhPVVQgTElNSVRBVElPTiwgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorICogTUVSQ0hBTlRJQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gVEhFIEFVVEhPUlMgQU5ECisgKiBDT05UUklCVVRPUlMgQUNDRVBUIE5PIFJFU1BPTlNJQklMSVRZIElOIEFOWSBDT05DRUlWQUJMRSBNQU5ORVIuCisgKgorICogQXV0aG9yOiBkYW5pZWxAdmVpbGxhcmQuY29tCisgKi8KKworI2RlZmluZSBJTl9MSUJYTUwKKyNpbmNsdWRlICJsaWJ4bWwuaCIKKworI2luY2x1ZGUgPGxpbWl0cy5oPgorI2lmZGVmIEhBVkVfU1RETElCX0gKKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNlbmRpZgorI2lmZGVmIEhBVkVfVElNRV9ICisjaW5jbHVkZSA8dGltZS5oPgorI2VuZGlmCisKKy8qCisgKiBGb2xsb3dpbmcgaHR0cDovL3d3dy5vY2VydC5vcmcvYWR2aXNvcmllcy9vY2VydC0yMDExLTAwMy5odG1sCisgKiBpdCBzZWVtcyB0aGF0IGhhdmluZyBoYXNoIHJhbmRvbWl6YXRpb24gbWlnaHQgYmUgYSBnb29kIGlkZWEKKyAqIHdoZW4gdXNpbmcgWE1MIHdpdGggdW50cnVzdGVkIGRhdGEKKyAqIE5vdGUxOiB0aGF0IGl0IHdvcmtzIGNvcnJlY3RseSBvbmx5IGlmIGNvbXBpbGVkIHdpdGggV0lUSF9CSUdfS0VZCisgKiAgd2hpY2ggaXMgdGhlIGRlZmF1bHQuCisgKiBOb3RlMjogdGhlIGZhc3QgZnVuY3Rpb24gdXNlZCBmb3IgYSBzbWFsbCBkaWN0IHdvbid0IHByb3RlY3QgdmVyeQorICogIHdlbGwgYnV0IHNpbmNlIHRoZSBhdHRhY2sgaXMgYmFzZWQgb24gZ3Jvd2luZyBhIHZlcnkgYmlnIGhhc2gKKyAqICBsaXN0IHdlIHdpbGwgdXNlIHRoZSBCaWdLZXkgYWxnbyBhcyBzb29uIGFzIHRoZSBoYXNoIHNpemUgZ3Jvd3MKKyAqICBvdmVyIE1JTl9ESUNUX1NJWkUgc28gdGhpcyBhY3R1YWxseSB3b3JrcworICovCisjaWYgZGVmaW5lZChIQVZFX1JBTkQpICYmIGRlZmluZWQoSEFWRV9TUkFORCkgJiYgZGVmaW5lZChIQVZFX1RJTUUpCisjZGVmaW5lIERJQ1RfUkFORE9NSVpBVElPTgorI2VuZGlmCisKKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpZmRlZiBIQVZFX1NURElOVF9ICisjaW5jbHVkZSA8c3RkaW50Lmg+CisjZWxzZQorI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAorI2luY2x1ZGUgPGludHR5cGVzLmg+CisjZWxpZiBkZWZpbmVkKFdJTjMyKQordHlwZWRlZiB1bnNpZ25lZCBfX2ludDMyIHVpbnQzMl90OworI2VuZGlmCisjZW5kaWYKKyNpbmNsdWRlIDxsaWJ4bWwvdHJlZS5oPgorI2luY2x1ZGUgPGxpYnhtbC9kaWN0Lmg+CisjaW5jbHVkZSA8bGlieG1sL3htbG1lbW9yeS5oPgorI2luY2x1ZGUgPGxpYnhtbC94bWxlcnJvci5oPgorI2luY2x1ZGUgPGxpYnhtbC9nbG9iYWxzLmg+CisKKy8qICNkZWZpbmUgREVCVUdfR1JPVyAqLworLyogI2RlZmluZSBESUNUX0RFQlVHX1BBVFRFUk5TICovCisKKyNkZWZpbmUgTUFYX0hBU0hfTEVOIDMKKyNkZWZpbmUgTUlOX0RJQ1RfU0laRSAxMjgKKyNkZWZpbmUgTUFYX0RJQ1RfSEFTSCA4ICogMjA0OAorI2RlZmluZSBXSVRIX0JJR19LRVkKKworI2lmZGVmIFdJVEhfQklHX0tFWQorI2RlZmluZSB4bWxEaWN0Q29tcHV0ZUtleShkaWN0LCBuYW1lLCBsZW4pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICgoKGRpY3QpLT5zaXplID09IE1JTl9ESUNUX1NJWkUpID8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICB4bWxEaWN0Q29tcHV0ZUZhc3RLZXkobmFtZSwgbGVuLCAoZGljdCktPnNlZWQpIDogICAgICAgICAgICAgICAgICAgXAorICAgICB4bWxEaWN0Q29tcHV0ZUJpZ0tleShuYW1lLCBsZW4sIChkaWN0KS0+c2VlZCkpCisKKyNkZWZpbmUgeG1sRGljdENvbXB1dGVRS2V5KGRpY3QsIHByZWZpeCwgcGxlbiwgbmFtZSwgbGVuKSAgICAgICAgICAgICAgIFwKKyAgICAoKChwcmVmaXgpID09IE5VTEwpID8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICh4bWxEaWN0Q29tcHV0ZUtleShkaWN0LCBuYW1lLCBsZW4pKSA6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAoKChkaWN0KS0+c2l6ZSA9PSBNSU5fRElDVF9TSVpFKSA/ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgeG1sRGljdENvbXB1dGVGYXN0UUtleShwcmVmaXgsIHBsZW4sIG5hbWUsIGxlbiwgKGRpY3QpLT5zZWVkKSA6CVwKKyAgICAgICB4bWxEaWN0Q29tcHV0ZUJpZ1FLZXkocHJlZml4LCBwbGVuLCBuYW1lLCBsZW4sIChkaWN0KS0+c2VlZCkpKQorCisjZWxzZSAvKiAhV0lUSF9CSUdfS0VZICovCisjZGVmaW5lIHhtbERpY3RDb21wdXRlS2V5KGRpY3QsIG5hbWUsIGxlbikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIHhtbERpY3RDb21wdXRlRmFzdEtleShuYW1lLCBsZW4sIChkaWN0KS0+c2VlZCkKKyNkZWZpbmUgeG1sRGljdENvbXB1dGVRS2V5KGRpY3QsIHByZWZpeCwgcGxlbiwgbmFtZSwgbGVuKSAgICAgICAgICAgICAgIFwKKyAgICAgICAgeG1sRGljdENvbXB1dGVGYXN0UUtleShwcmVmaXgsIHBsZW4sIG5hbWUsIGxlbiwgKGRpY3QpLT5zZWVkKQorI2VuZGlmIC8qIFdJVEhfQklHX0tFWSAqLworCisvKgorICogQW4gZW50cnkgaW4gdGhlIGRpY3Rpb25uYXJ5CisgKi8KK3R5cGVkZWYgc3RydWN0IF94bWxEaWN0RW50cnkgeG1sRGljdEVudHJ5OwordHlwZWRlZiB4bWxEaWN0RW50cnkgKnhtbERpY3RFbnRyeVB0cjsKK3N0cnVjdCBfeG1sRGljdEVudHJ5IHsKKyAgICBzdHJ1Y3QgX3htbERpY3RFbnRyeSAqbmV4dDsKKyAgICBjb25zdCB4bWxDaGFyICpuYW1lOworICAgIHVuc2lnbmVkIGludCBsZW47CisgICAgaW50IHZhbGlkOworICAgIHVuc2lnbmVkIGxvbmcgb2tleTsKK307CisKK3R5cGVkZWYgc3RydWN0IF94bWxEaWN0U3RyaW5ncyB4bWxEaWN0U3RyaW5nczsKK3R5cGVkZWYgeG1sRGljdFN0cmluZ3MgKnhtbERpY3RTdHJpbmdzUHRyOworc3RydWN0IF94bWxEaWN0U3RyaW5ncyB7CisgICAgeG1sRGljdFN0cmluZ3NQdHIgbmV4dDsKKyAgICB4bWxDaGFyICpmcmVlOworICAgIHhtbENoYXIgKmVuZDsKKyAgICBzaXplX3Qgc2l6ZTsKKyAgICBzaXplX3QgbmJTdHJpbmdzOworICAgIHhtbENoYXIgYXJyYXlbMV07Cit9OworLyoKKyAqIFRoZSBlbnRpcmUgZGljdGlvbm5hcnkKKyAqLworc3RydWN0IF94bWxEaWN0IHsKKyAgICBpbnQgcmVmX2NvdW50ZXI7CisKKyAgICBzdHJ1Y3QgX3htbERpY3RFbnRyeSAqZGljdDsKKyAgICBzaXplX3Qgc2l6ZTsKKyAgICB1bnNpZ25lZCBpbnQgbmJFbGVtczsKKyAgICB4bWxEaWN0U3RyaW5nc1B0ciBzdHJpbmdzOworCisgICAgc3RydWN0IF94bWxEaWN0ICpzdWJkaWN0OworICAgIC8qIHVzZWQgZm9yIHJhbmRvbWl6YXRpb24gKi8KKyAgICBpbnQgc2VlZDsKKyAgICAvKiB1c2VkIHRvIGltcG9zZSBhIGxpbWl0IG9uIHNpemUgKi8KKyAgICBzaXplX3QgbGltaXQ7Cit9OworCisvKgorICogQSBtdXRleCBmb3IgbW9kaWZ5aW5nIHRoZSByZWZlcmVuY2UgY291bnRlciBmb3Igc2hhcmVkCisgKiBkaWN0aW9uYXJpZXMuCisgKi8KK3N0YXRpYyB4bWxSTXV0ZXhQdHIgeG1sRGljdE11dGV4ID0gTlVMTDsKKworLyoKKyAqIFdoZXRoZXIgdGhlIGRpY3Rpb25hcnkgbXV0ZXggd2FzIGluaXRpYWxpemVkLgorICovCitzdGF0aWMgaW50IHhtbERpY3RJbml0aWFsaXplZCA9IDA7CisKKyNpZmRlZiBESUNUX1JBTkRPTUlaQVRJT04KKyNpZmRlZiBIQVZFX1JBTkRfUgorLyoKKyAqIEludGVybmFsIGRhdGEgZm9yIHJhbmRvbSBmdW5jdGlvbiwgcHJvdGVjdGVkIGJ5IHhtbERpY3RNdXRleAorICovCitzdGF0aWMgdW5zaWduZWQgaW50IHJhbmRfc2VlZCA9IDA7CisjZW5kaWYKKyNlbmRpZgorCisvKioKKyAqIHhtbEluaXRpYWxpemVEaWN0OgorICoKKyAqIERvIHRoZSBkaWN0aW9uYXJ5IG11dGV4IGluaXRpYWxpemF0aW9uLgorICogdGhpcyBmdW5jdGlvbiBpcyBkZXByZWNhdGVkCisgKgorICogUmV0dXJucyAwIGlmIGluaXRpYWxpemF0aW9uIHdhcyBhbHJlYWR5IGRvbmUsIGFuZCAxIGlmIHRoYXQKKyAqIGNhbGwgbGVkIHRvIHRoZSBpbml0aWFsaXphdGlvbgorICovCitpbnQgeG1sSW5pdGlhbGl6ZURpY3Qodm9pZCkgeworICAgIHJldHVybigwKTsKK30KKworLyoqCisgKiBfX3htbEluaXRpYWxpemVEaWN0OgorICoKKyAqIFRoaXMgZnVuY3Rpb24gaXMgbm90IHB1YmxpYworICogRG8gdGhlIGRpY3Rpb25hcnkgbXV0ZXggaW5pdGlhbGl6YXRpb24uCisgKiB0aGlzIGZ1bmN0aW9uIGlzIG5vdCB0aHJlYWQgc2FmZSwgaW5pdGlhbGl6YXRpb24gc2hvdWxkCisgKiBub3JtYWxseSBiZSBkb25lIG9uY2UgYXQgc2V0dXAgd2hlbiBjYWxsZWQgZnJvbSB4bWxPbmNlSW5pdCgpCisgKiB3ZSBtYXkgYWxzbyBsYW5kIGluIHRoaXMgY29kZSBpZiB0aHJlYWQgc3VwcG9ydCBpcyBub3QgY29tcGlsZWQgaW4KKyAqCisgKiBSZXR1cm5zIDAgaWYgaW5pdGlhbGl6YXRpb24gd2FzIGFscmVhZHkgZG9uZSwgYW5kIDEgaWYgdGhhdAorICogY2FsbCBsZWQgdG8gdGhlIGluaXRpYWxpemF0aW9uCisgKi8KK2ludCBfX3htbEluaXRpYWxpemVEaWN0KHZvaWQpIHsKKyAgICBpZiAoeG1sRGljdEluaXRpYWxpemVkKQorICAgICAgICByZXR1cm4oMSk7CisKKyAgICBpZiAoKHhtbERpY3RNdXRleCA9IHhtbE5ld1JNdXRleCgpKSA9PSBOVUxMKQorICAgICAgICByZXR1cm4oMCk7CisgICAgeG1sUk11dGV4TG9jayh4bWxEaWN0TXV0ZXgpOworCisjaWZkZWYgRElDVF9SQU5ET01JWkFUSU9OCisjaWZkZWYgSEFWRV9SQU5EX1IKKyAgICByYW5kX3NlZWQgPSB0aW1lKE5VTEwpOworICAgIHJhbmRfcigmIHJhbmRfc2VlZCk7CisjZWxzZQorICAgIHNyYW5kKHRpbWUoTlVMTCkpOworI2VuZGlmCisjZW5kaWYKKyAgICB4bWxEaWN0SW5pdGlhbGl6ZWQgPSAxOworICAgIHhtbFJNdXRleFVubG9jayh4bWxEaWN0TXV0ZXgpOworICAgIHJldHVybigxKTsKK30KKworI2lmZGVmIERJQ1RfUkFORE9NSVpBVElPTgoraW50IF9feG1sUmFuZG9tKHZvaWQpIHsKKyAgICBpbnQgcmV0OworCisgICAgaWYgKHhtbERpY3RJbml0aWFsaXplZCA9PSAwKQorICAgICAgICBfX3htbEluaXRpYWxpemVEaWN0KCk7CisKKyAgICB4bWxSTXV0ZXhMb2NrKHhtbERpY3RNdXRleCk7CisjaWZkZWYgSEFWRV9SQU5EX1IKKyAgICByZXQgPSByYW5kX3IoJiByYW5kX3NlZWQpOworI2Vsc2UKKyAgICByZXQgPSByYW5kKCk7CisjZW5kaWYKKyAgICB4bWxSTXV0ZXhVbmxvY2soeG1sRGljdE11dGV4KTsKKyAgICByZXR1cm4ocmV0KTsKK30KKyNlbmRpZgorCisvKioKKyAqIHhtbERpY3RDbGVhbnVwOgorICoKKyAqIEZyZWUgdGhlIGRpY3Rpb25hcnkgbXV0ZXguIERvIG5vdCBjYWxsIHVubGVzcyBzdXJlIHRoZSBsaWJyYXJ5CisgKiBpcyBub3QgaW4gdXNlIGFueW1vcmUgIQorICovCit2b2lkCit4bWxEaWN0Q2xlYW51cCh2b2lkKSB7CisgICAgaWYgKCF4bWxEaWN0SW5pdGlhbGl6ZWQpCisgICAgICAgIHJldHVybjsKKworICAgIHhtbEZyZWVSTXV0ZXgoeG1sRGljdE11dGV4KTsKKworICAgIHhtbERpY3RJbml0aWFsaXplZCA9IDA7Cit9CisKKy8qCisgKiB4bWxEaWN0QWRkU3RyaW5nOgorICogQGRpY3Q6IHRoZSBkaWN0aW9ubmFyeQorICogQG5hbWU6IHRoZSBuYW1lIG9mIHRoZSB1c2VyZGF0YQorICogQGxlbjogdGhlIGxlbmd0aCBvZiB0aGUgbmFtZQorICoKKyAqIEFkZCB0aGUgc3RyaW5nIHRvIHRoZSBhcnJheVtzXQorICoKKyAqIFJldHVybnMgdGhlIHBvaW50ZXIgb2YgdGhlIGxvY2FsIHN0cmluZywgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLgorICovCitzdGF0aWMgY29uc3QgeG1sQ2hhciAqCit4bWxEaWN0QWRkU3RyaW5nKHhtbERpY3RQdHIgZGljdCwgY29uc3QgeG1sQ2hhciAqbmFtZSwgdW5zaWduZWQgaW50IG5hbWVsZW4pIHsKKyAgICB4bWxEaWN0U3RyaW5nc1B0ciBwb29sOworICAgIGNvbnN0IHhtbENoYXIgKnJldDsKKyAgICBzaXplX3Qgc2l6ZSA9IDA7IC8qICsgc2l6ZW9mKF94bWxEaWN0U3RyaW5ncykgPT0gMTAyNCAqLworICAgIHNpemVfdCBsaW1pdCA9IDA7CisKKyNpZmRlZiBESUNUX0RFQlVHX1BBVFRFUk5TCisgICAgZnByaW50ZihzdGRlcnIsICItIik7CisjZW5kaWYKKyAgICBwb29sID0gZGljdC0+c3RyaW5nczsKKyAgICB3aGlsZSAocG9vbCAhPSBOVUxMKSB7CisJaWYgKHBvb2wtPmVuZCAtIHBvb2wtPmZyZWUgPiBuYW1lbGVuKQorCSAgICBnb3RvIGZvdW5kX3Bvb2w7CisJaWYgKHBvb2wtPnNpemUgPiBzaXplKSBzaXplID0gcG9vbC0+c2l6ZTsKKyAgICAgICAgbGltaXQgKz0gcG9vbC0+c2l6ZTsKKwlwb29sID0gcG9vbC0+bmV4dDsKKyAgICB9CisgICAgLyoKKyAgICAgKiBOb3QgZm91bmQsIG5lZWQgdG8gYWxsb2NhdGUKKyAgICAgKi8KKyAgICBpZiAocG9vbCA9PSBOVUxMKSB7CisgICAgICAgIGlmICgoZGljdC0+bGltaXQgPiAwKSAmJiAobGltaXQgPiBkaWN0LT5saW1pdCkpIHsKKyAgICAgICAgICAgIHJldHVybihOVUxMKTsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChzaXplID09IDApIHNpemUgPSAxMDAwOworCWVsc2Ugc2l6ZSAqPSA0OyAvKiBleHBvbmVudGlhbCBncm93dGggKi8KKyAgICAgICAgaWYgKHNpemUgPCA0ICogbmFtZWxlbikKKwkgICAgc2l6ZSA9IDQgKiBuYW1lbGVuOyAvKiBqdXN0IGluIGNhc2UgISAqLworCXBvb2wgPSAoeG1sRGljdFN0cmluZ3NQdHIpIHhtbE1hbGxvYyhzaXplb2YoeG1sRGljdFN0cmluZ3MpICsgc2l6ZSk7CisJaWYgKHBvb2wgPT0gTlVMTCkKKwkgICAgcmV0dXJuKE5VTEwpOworCXBvb2wtPnNpemUgPSBzaXplOworCXBvb2wtPm5iU3RyaW5ncyA9IDA7CisJcG9vbC0+ZnJlZSA9ICZwb29sLT5hcnJheVswXTsKKwlwb29sLT5lbmQgPSAmcG9vbC0+YXJyYXlbc2l6ZV07CisJcG9vbC0+bmV4dCA9IGRpY3QtPnN0cmluZ3M7CisJZGljdC0+c3RyaW5ncyA9IHBvb2w7CisjaWZkZWYgRElDVF9ERUJVR19QQVRURVJOUworICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIisiKTsKKyNlbmRpZgorICAgIH0KK2ZvdW5kX3Bvb2w6CisgICAgcmV0ID0gcG9vbC0+ZnJlZTsKKyAgICBtZW1jcHkocG9vbC0+ZnJlZSwgbmFtZSwgbmFtZWxlbik7CisgICAgcG9vbC0+ZnJlZSArPSBuYW1lbGVuOworICAgICoocG9vbC0+ZnJlZSsrKSA9IDA7CisgICAgcG9vbC0+bmJTdHJpbmdzKys7CisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qCisgKiB4bWxEaWN0QWRkUVN0cmluZzoKKyAqIEBkaWN0OiB0aGUgZGljdGlvbm5hcnkKKyAqIEBwcmVmaXg6IHRoZSBwcmVmaXggb2YgdGhlIHVzZXJkYXRhCisgKiBAcGxlbjogdGhlIHByZWZpeCBsZW5ndGgKKyAqIEBuYW1lOiB0aGUgbmFtZSBvZiB0aGUgdXNlcmRhdGEKKyAqIEBsZW46IHRoZSBsZW5ndGggb2YgdGhlIG5hbWUKKyAqCisgKiBBZGQgdGhlIFFOYW1lIHRvIHRoZSBhcnJheVtzXQorICoKKyAqIFJldHVybnMgdGhlIHBvaW50ZXIgb2YgdGhlIGxvY2FsIHN0cmluZywgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLgorICovCitzdGF0aWMgY29uc3QgeG1sQ2hhciAqCit4bWxEaWN0QWRkUVN0cmluZyh4bWxEaWN0UHRyIGRpY3QsIGNvbnN0IHhtbENoYXIgKnByZWZpeCwgdW5zaWduZWQgaW50IHBsZW4sCisgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKm5hbWUsIHVuc2lnbmVkIGludCBuYW1lbGVuKQoreworICAgIHhtbERpY3RTdHJpbmdzUHRyIHBvb2w7CisgICAgY29uc3QgeG1sQ2hhciAqcmV0OworICAgIHNpemVfdCBzaXplID0gMDsgLyogKyBzaXplb2YoX3htbERpY3RTdHJpbmdzKSA9PSAxMDI0ICovCisgICAgc2l6ZV90IGxpbWl0ID0gMDsKKworICAgIGlmIChwcmVmaXggPT0gTlVMTCkgcmV0dXJuKHhtbERpY3RBZGRTdHJpbmcoZGljdCwgbmFtZSwgbmFtZWxlbikpOworCisjaWZkZWYgRElDVF9ERUJVR19QQVRURVJOUworICAgIGZwcmludGYoc3RkZXJyLCAiPSIpOworI2VuZGlmCisgICAgcG9vbCA9IGRpY3QtPnN0cmluZ3M7CisgICAgd2hpbGUgKHBvb2wgIT0gTlVMTCkgeworCWlmIChwb29sLT5lbmQgLSBwb29sLT5mcmVlID4gbmFtZWxlbiArIHBsZW4gKyAxKQorCSAgICBnb3RvIGZvdW5kX3Bvb2w7CisJaWYgKHBvb2wtPnNpemUgPiBzaXplKSBzaXplID0gcG9vbC0+c2l6ZTsKKyAgICAgICAgbGltaXQgKz0gcG9vbC0+c2l6ZTsKKwlwb29sID0gcG9vbC0+bmV4dDsKKyAgICB9CisgICAgLyoKKyAgICAgKiBOb3QgZm91bmQsIG5lZWQgdG8gYWxsb2NhdGUKKyAgICAgKi8KKyAgICBpZiAocG9vbCA9PSBOVUxMKSB7CisgICAgICAgIGlmICgoZGljdC0+bGltaXQgPiAwKSAmJiAobGltaXQgPiBkaWN0LT5saW1pdCkpIHsKKyAgICAgICAgICAgIHJldHVybihOVUxMKTsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChzaXplID09IDApIHNpemUgPSAxMDAwOworCWVsc2Ugc2l6ZSAqPSA0OyAvKiBleHBvbmVudGlhbCBncm93dGggKi8KKyAgICAgICAgaWYgKHNpemUgPCA0ICogKG5hbWVsZW4gKyBwbGVuICsgMSkpCisJICAgIHNpemUgPSA0ICogKG5hbWVsZW4gKyBwbGVuICsgMSk7IC8qIGp1c3QgaW4gY2FzZSAhICovCisJcG9vbCA9ICh4bWxEaWN0U3RyaW5nc1B0cikgeG1sTWFsbG9jKHNpemVvZih4bWxEaWN0U3RyaW5ncykgKyBzaXplKTsKKwlpZiAocG9vbCA9PSBOVUxMKQorCSAgICByZXR1cm4oTlVMTCk7CisJcG9vbC0+c2l6ZSA9IHNpemU7CisJcG9vbC0+bmJTdHJpbmdzID0gMDsKKwlwb29sLT5mcmVlID0gJnBvb2wtPmFycmF5WzBdOworCXBvb2wtPmVuZCA9ICZwb29sLT5hcnJheVtzaXplXTsKKwlwb29sLT5uZXh0ID0gZGljdC0+c3RyaW5nczsKKwlkaWN0LT5zdHJpbmdzID0gcG9vbDsKKyNpZmRlZiBESUNUX0RFQlVHX1BBVFRFUk5TCisgICAgICAgIGZwcmludGYoc3RkZXJyLCAiKyIpOworI2VuZGlmCisgICAgfQorZm91bmRfcG9vbDoKKyAgICByZXQgPSBwb29sLT5mcmVlOworICAgIG1lbWNweShwb29sLT5mcmVlLCBwcmVmaXgsIHBsZW4pOworICAgIHBvb2wtPmZyZWUgKz0gcGxlbjsKKyAgICAqKHBvb2wtPmZyZWUrKykgPSAnOic7CisgICAgbWVtY3B5KHBvb2wtPmZyZWUsIG5hbWUsIG5hbWVsZW4pOworICAgIHBvb2wtPmZyZWUgKz0gbmFtZWxlbjsKKyAgICAqKHBvb2wtPmZyZWUrKykgPSAwOworICAgIHBvb2wtPm5iU3RyaW5ncysrOworICAgIHJldHVybihyZXQpOworfQorCisjaWZkZWYgV0lUSF9CSUdfS0VZCisvKgorICogeG1sRGljdENvbXB1dGVCaWdLZXk6CisgKgorICogQ2FsY3VsYXRlIGEgaGFzaCBrZXkgdXNpbmcgYSBnb29kIGhhc2ggZnVuY3Rpb24gdGhhdCB3b3JrcyB3ZWxsIGZvcgorICogbGFyZ2VyIGhhc2ggdGFibGUgc2l6ZXMuCisgKgorICogSGFzaCBmdW5jdGlvbiBieSAiT25lLWF0LWEtVGltZSBIYXNoIiBzZWUKKyAqIGh0dHA6Ly9idXJ0bGVidXJ0bGUubmV0L2JvYi9oYXNoL2Rvb2JzLmh0bWwKKyAqLworCitzdGF0aWMgdWludDMyX3QKK3htbERpY3RDb21wdXRlQmlnS2V5KGNvbnN0IHhtbENoYXIqIGRhdGEsIGludCBuYW1lbGVuLCBpbnQgc2VlZCkgeworICAgIHVpbnQzMl90IGhhc2g7CisgICAgaW50IGk7CisKKyAgICBpZiAobmFtZWxlbiA8PSAwIHx8IGRhdGEgPT0gTlVMTCkgcmV0dXJuKDApOworCisgICAgaGFzaCA9IHNlZWQ7CisKKyAgICBmb3IgKGkgPSAwO2kgPCBuYW1lbGVuOyBpKyspIHsKKyAgICAgICAgaGFzaCArPSBkYXRhW2ldOworCWhhc2ggKz0gKGhhc2ggPDwgMTApOworCWhhc2ggXj0gKGhhc2ggPj4gNik7CisgICAgfQorICAgIGhhc2ggKz0gKGhhc2ggPDwgMyk7CisgICAgaGFzaCBePSAoaGFzaCA+PiAxMSk7CisgICAgaGFzaCArPSAoaGFzaCA8PCAxNSk7CisKKyAgICByZXR1cm4gaGFzaDsKK30KKworLyoKKyAqIHhtbERpY3RDb21wdXRlQmlnUUtleToKKyAqCisgKiBDYWxjdWxhdGUgYSBoYXNoIGtleSBmb3IgdHdvIHN0cmluZ3MgdXNpbmcgYSBnb29kIGhhc2ggZnVuY3Rpb24KKyAqIHRoYXQgd29ya3Mgd2VsbCBmb3IgbGFyZ2VyIGhhc2ggdGFibGUgc2l6ZXMuCisgKgorICogSGFzaCBmdW5jdGlvbiBieSAiT25lLWF0LWEtVGltZSBIYXNoIiBzZWUKKyAqIGh0dHA6Ly9idXJ0bGVidXJ0bGUubmV0L2JvYi9oYXNoL2Rvb2JzLmh0bWwKKyAqCisgKiBOZWl0aGVyIG9mIHRoZSB0d28gc3RyaW5ncyBtdXN0IGJlIE5VTEwuCisgKi8KK3N0YXRpYyB1bnNpZ25lZCBsb25nCit4bWxEaWN0Q29tcHV0ZUJpZ1FLZXkoY29uc3QgeG1sQ2hhciAqcHJlZml4LCBpbnQgcGxlbiwKKyAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICpuYW1lLCBpbnQgbGVuLCBpbnQgc2VlZCkKK3sKKyAgICB1aW50MzJfdCBoYXNoOworICAgIGludCBpOworCisgICAgaGFzaCA9IHNlZWQ7CisKKyAgICBmb3IgKGkgPSAwO2kgPCBwbGVuOyBpKyspIHsKKyAgICAgICAgaGFzaCArPSBwcmVmaXhbaV07CisJaGFzaCArPSAoaGFzaCA8PCAxMCk7CisJaGFzaCBePSAoaGFzaCA+PiA2KTsKKyAgICB9CisgICAgaGFzaCArPSAnOic7CisgICAgaGFzaCArPSAoaGFzaCA8PCAxMCk7CisgICAgaGFzaCBePSAoaGFzaCA+PiA2KTsKKworICAgIGZvciAoaSA9IDA7aSA8IGxlbjsgaSsrKSB7CisgICAgICAgIGhhc2ggKz0gbmFtZVtpXTsKKwloYXNoICs9IChoYXNoIDw8IDEwKTsKKwloYXNoIF49IChoYXNoID4+IDYpOworICAgIH0KKyAgICBoYXNoICs9IChoYXNoIDw8IDMpOworICAgIGhhc2ggXj0gKGhhc2ggPj4gMTEpOworICAgIGhhc2ggKz0gKGhhc2ggPDwgMTUpOworCisgICAgcmV0dXJuIGhhc2g7Cit9CisjZW5kaWYgLyogV0lUSF9CSUdfS0VZICovCisKKy8qCisgKiB4bWxEaWN0Q29tcHV0ZUZhc3RLZXk6CisgKgorICogQ2FsY3VsYXRlIGEgaGFzaCBrZXkgdXNpbmcgYSBmYXN0IGhhc2ggZnVuY3Rpb24gdGhhdCB3b3JrcyB3ZWxsCisgKiBmb3IgbG93IGhhc2ggdGFibGUgZmlsbC4KKyAqLworc3RhdGljIHVuc2lnbmVkIGxvbmcKK3htbERpY3RDb21wdXRlRmFzdEtleShjb25zdCB4bWxDaGFyICpuYW1lLCBpbnQgbmFtZWxlbiwgaW50IHNlZWQpIHsKKyAgICB1bnNpZ25lZCBsb25nIHZhbHVlID0gc2VlZDsKKworICAgIGlmIChuYW1lID09IE5VTEwpIHJldHVybigwKTsKKyAgICB2YWx1ZSA9ICpuYW1lOworICAgIHZhbHVlIDw8PSA1OworICAgIGlmIChuYW1lbGVuID4gMTApIHsKKyAgICAgICAgdmFsdWUgKz0gbmFtZVtuYW1lbGVuIC0gMV07CisgICAgICAgIG5hbWVsZW4gPSAxMDsKKyAgICB9CisgICAgc3dpdGNoIChuYW1lbGVuKSB7CisgICAgICAgIGNhc2UgMTA6IHZhbHVlICs9IG5hbWVbOV07CisgICAgICAgIGNhc2UgOTogdmFsdWUgKz0gbmFtZVs4XTsKKyAgICAgICAgY2FzZSA4OiB2YWx1ZSArPSBuYW1lWzddOworICAgICAgICBjYXNlIDc6IHZhbHVlICs9IG5hbWVbNl07CisgICAgICAgIGNhc2UgNjogdmFsdWUgKz0gbmFtZVs1XTsKKyAgICAgICAgY2FzZSA1OiB2YWx1ZSArPSBuYW1lWzRdOworICAgICAgICBjYXNlIDQ6IHZhbHVlICs9IG5hbWVbM107CisgICAgICAgIGNhc2UgMzogdmFsdWUgKz0gbmFtZVsyXTsKKyAgICAgICAgY2FzZSAyOiB2YWx1ZSArPSBuYW1lWzFdOworICAgICAgICBkZWZhdWx0OiBicmVhazsKKyAgICB9CisgICAgcmV0dXJuKHZhbHVlKTsKK30KKworLyoKKyAqIHhtbERpY3RDb21wdXRlRmFzdFFLZXk6CisgKgorICogQ2FsY3VsYXRlIGEgaGFzaCBrZXkgZm9yIHR3byBzdHJpbmdzIHVzaW5nIGEgZmFzdCBoYXNoIGZ1bmN0aW9uCisgKiB0aGF0IHdvcmtzIHdlbGwgZm9yIGxvdyBoYXNoIHRhYmxlIGZpbGwuCisgKgorICogTmVpdGhlciBvZiB0aGUgdHdvIHN0cmluZ3MgbXVzdCBiZSBOVUxMLgorICovCitzdGF0aWMgdW5zaWduZWQgbG9uZworeG1sRGljdENvbXB1dGVGYXN0UUtleShjb25zdCB4bWxDaGFyICpwcmVmaXgsIGludCBwbGVuLAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICpuYW1lLCBpbnQgbGVuLCBpbnQgc2VlZCkKK3sKKyAgICB1bnNpZ25lZCBsb25nIHZhbHVlID0gKHVuc2lnbmVkIGxvbmcpIHNlZWQ7CisKKyAgICBpZiAocGxlbiA9PSAwKQorCXZhbHVlICs9IDMwICogKHVuc2lnbmVkIGxvbmcpICc6JzsKKyAgICBlbHNlCisJdmFsdWUgKz0gMzAgKiAoKnByZWZpeCk7CisKKyAgICBpZiAobGVuID4gMTApIHsKKyAgICAgICAgdmFsdWUgKz0gbmFtZVtsZW4gLSAocGxlbiArIDEgKyAxKV07CisgICAgICAgIGxlbiA9IDEwOworCWlmIChwbGVuID4gMTApCisJICAgIHBsZW4gPSAxMDsKKyAgICB9CisgICAgc3dpdGNoIChwbGVuKSB7CisgICAgICAgIGNhc2UgMTA6IHZhbHVlICs9IHByZWZpeFs5XTsKKyAgICAgICAgY2FzZSA5OiB2YWx1ZSArPSBwcmVmaXhbOF07CisgICAgICAgIGNhc2UgODogdmFsdWUgKz0gcHJlZml4WzddOworICAgICAgICBjYXNlIDc6IHZhbHVlICs9IHByZWZpeFs2XTsKKyAgICAgICAgY2FzZSA2OiB2YWx1ZSArPSBwcmVmaXhbNV07CisgICAgICAgIGNhc2UgNTogdmFsdWUgKz0gcHJlZml4WzRdOworICAgICAgICBjYXNlIDQ6IHZhbHVlICs9IHByZWZpeFszXTsKKyAgICAgICAgY2FzZSAzOiB2YWx1ZSArPSBwcmVmaXhbMl07CisgICAgICAgIGNhc2UgMjogdmFsdWUgKz0gcHJlZml4WzFdOworICAgICAgICBjYXNlIDE6IHZhbHVlICs9IHByZWZpeFswXTsKKyAgICAgICAgZGVmYXVsdDogYnJlYWs7CisgICAgfQorICAgIGxlbiAtPSBwbGVuOworICAgIGlmIChsZW4gPiAwKSB7CisgICAgICAgIHZhbHVlICs9ICh1bnNpZ25lZCBsb25nKSAnOic7CisJbGVuLS07CisgICAgfQorICAgIHN3aXRjaCAobGVuKSB7CisgICAgICAgIGNhc2UgMTA6IHZhbHVlICs9IG5hbWVbOV07CisgICAgICAgIGNhc2UgOTogdmFsdWUgKz0gbmFtZVs4XTsKKyAgICAgICAgY2FzZSA4OiB2YWx1ZSArPSBuYW1lWzddOworICAgICAgICBjYXNlIDc6IHZhbHVlICs9IG5hbWVbNl07CisgICAgICAgIGNhc2UgNjogdmFsdWUgKz0gbmFtZVs1XTsKKyAgICAgICAgY2FzZSA1OiB2YWx1ZSArPSBuYW1lWzRdOworICAgICAgICBjYXNlIDQ6IHZhbHVlICs9IG5hbWVbM107CisgICAgICAgIGNhc2UgMzogdmFsdWUgKz0gbmFtZVsyXTsKKyAgICAgICAgY2FzZSAyOiB2YWx1ZSArPSBuYW1lWzFdOworICAgICAgICBjYXNlIDE6IHZhbHVlICs9IG5hbWVbMF07CisgICAgICAgIGRlZmF1bHQ6IGJyZWFrOworICAgIH0KKyAgICByZXR1cm4odmFsdWUpOworfQorCisvKioKKyAqIHhtbERpY3RDcmVhdGU6CisgKgorICogQ3JlYXRlIGEgbmV3IGRpY3Rpb25hcnkKKyAqCisgKiBSZXR1cm5zIHRoZSBuZXdseSBjcmVhdGVkIGRpY3Rpb25uYXJ5LCBvciBOVUxMIGlmIGFuIGVycm9yIG9jY3VyZWQuCisgKi8KK3htbERpY3RQdHIKK3htbERpY3RDcmVhdGUodm9pZCkgeworICAgIHhtbERpY3RQdHIgZGljdDsKKworICAgIGlmICgheG1sRGljdEluaXRpYWxpemVkKQorICAgICAgICBpZiAoIV9feG1sSW5pdGlhbGl6ZURpY3QoKSkKKyAgICAgICAgICAgIHJldHVybihOVUxMKTsKKworI2lmZGVmIERJQ1RfREVCVUdfUEFUVEVSTlMKKyAgICBmcHJpbnRmKHN0ZGVyciwgIkMiKTsKKyNlbmRpZgorCisgICAgZGljdCA9IHhtbE1hbGxvYyhzaXplb2YoeG1sRGljdCkpOworICAgIGlmIChkaWN0KSB7CisgICAgICAgIGRpY3QtPnJlZl9jb3VudGVyID0gMTsKKyAgICAgICAgZGljdC0+bGltaXQgPSAwOworCisgICAgICAgIGRpY3QtPnNpemUgPSBNSU5fRElDVF9TSVpFOworCWRpY3QtPm5iRWxlbXMgPSAwOworICAgICAgICBkaWN0LT5kaWN0ID0geG1sTWFsbG9jKE1JTl9ESUNUX1NJWkUgKiBzaXplb2YoeG1sRGljdEVudHJ5KSk7CisJZGljdC0+c3RyaW5ncyA9IE5VTEw7CisJZGljdC0+c3ViZGljdCA9IE5VTEw7CisgICAgICAgIGlmIChkaWN0LT5kaWN0KSB7CisJICAgIG1lbXNldChkaWN0LT5kaWN0LCAwLCBNSU5fRElDVF9TSVpFICogc2l6ZW9mKHhtbERpY3RFbnRyeSkpOworI2lmZGVmIERJQ1RfUkFORE9NSVpBVElPTgorICAgICAgICAgICAgZGljdC0+c2VlZCA9IF9feG1sUmFuZG9tKCk7CisjZWxzZQorICAgICAgICAgICAgZGljdC0+c2VlZCA9IDA7CisjZW5kaWYKKwkgICAgcmV0dXJuKGRpY3QpOworICAgICAgICB9CisgICAgICAgIHhtbEZyZWUoZGljdCk7CisgICAgfQorICAgIHJldHVybihOVUxMKTsKK30KKworLyoqCisgKiB4bWxEaWN0Q3JlYXRlU3ViOgorICogQHN1YjogYW4gZXhpc3RpbmcgZGljdGlvbm5hcnkKKyAqCisgKiBDcmVhdGUgYSBuZXcgZGljdGlvbmFyeSwgaW5oZXJpdGluZyBzdHJpbmdzIGZyb20gdGhlIHJlYWQtb25seQorICogZGljdGlvbm5hcnkgQHN1Yi4gT24gbG9va3VwLCBzdHJpbmdzIGFyZSBmaXJzdCBzZWFyY2hlZCBpbiB0aGUKKyAqIG5ldyBkaWN0aW9ubmFyeSwgdGhlbiBpbiBAc3ViLCBhbmQgaWYgbm90IGZvdW5kIGFyZSBjcmVhdGVkIGluIHRoZQorICogbmV3IGRpY3Rpb25uYXJ5LgorICoKKyAqIFJldHVybnMgdGhlIG5ld2x5IGNyZWF0ZWQgZGljdGlvbm5hcnksIG9yIE5VTEwgaWYgYW4gZXJyb3Igb2NjdXJlZC4KKyAqLworeG1sRGljdFB0cgoreG1sRGljdENyZWF0ZVN1Yih4bWxEaWN0UHRyIHN1YikgeworICAgIHhtbERpY3RQdHIgZGljdCA9IHhtbERpY3RDcmVhdGUoKTsKKworICAgIGlmICgoZGljdCAhPSBOVUxMKSAmJiAoc3ViICE9IE5VTEwpKSB7CisjaWZkZWYgRElDVF9ERUJVR19QQVRURVJOUworICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIlIiKTsKKyNlbmRpZgorICAgICAgICBkaWN0LT5zZWVkID0gc3ViLT5zZWVkOworICAgICAgICBkaWN0LT5zdWJkaWN0ID0gc3ViOworCXhtbERpY3RSZWZlcmVuY2UoZGljdC0+c3ViZGljdCk7CisgICAgfQorICAgIHJldHVybihkaWN0KTsKK30KKworLyoqCisgKiB4bWxEaWN0UmVmZXJlbmNlOgorICogQGRpY3Q6IHRoZSBkaWN0aW9ubmFyeQorICoKKyAqIEluY3JlbWVudCB0aGUgcmVmZXJlbmNlIGNvdW50ZXIgb2YgYSBkaWN0aW9uYXJ5CisgKgorICogUmV0dXJucyAwIGluIGNhc2Ugb2Ygc3VjY2VzcyBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvcgorICovCitpbnQKK3htbERpY3RSZWZlcmVuY2UoeG1sRGljdFB0ciBkaWN0KSB7CisgICAgaWYgKCF4bWxEaWN0SW5pdGlhbGl6ZWQpCisgICAgICAgIGlmICghX194bWxJbml0aWFsaXplRGljdCgpKQorICAgICAgICAgICAgcmV0dXJuKC0xKTsKKworICAgIGlmIChkaWN0ID09IE5VTEwpIHJldHVybiAtMTsKKyAgICB4bWxSTXV0ZXhMb2NrKHhtbERpY3RNdXRleCk7CisgICAgZGljdC0+cmVmX2NvdW50ZXIrKzsKKyAgICB4bWxSTXV0ZXhVbmxvY2soeG1sRGljdE11dGV4KTsKKyAgICByZXR1cm4oMCk7Cit9CisKKy8qKgorICogeG1sRGljdEdyb3c6CisgKiBAZGljdDogdGhlIGRpY3Rpb25uYXJ5CisgKiBAc2l6ZTogdGhlIG5ldyBzaXplIG9mIHRoZSBkaWN0aW9ubmFyeQorICoKKyAqIHJlc2l6ZSB0aGUgZGljdGlvbm5hcnkKKyAqCisgKiBSZXR1cm5zIDAgaW4gY2FzZSBvZiBzdWNjZXNzLCAtMSBpbiBjYXNlIG9mIGZhaWx1cmUKKyAqLworc3RhdGljIGludAoreG1sRGljdEdyb3coeG1sRGljdFB0ciBkaWN0LCBzaXplX3Qgc2l6ZSkgeworICAgIHVuc2lnbmVkIGxvbmcga2V5LCBva2V5OworICAgIHNpemVfdCBvbGRzaXplLCBpOworICAgIHhtbERpY3RFbnRyeVB0ciBpdGVyLCBuZXh0OworICAgIHN0cnVjdCBfeG1sRGljdEVudHJ5ICpvbGRkaWN0OworI2lmZGVmIERFQlVHX0dST1cKKyAgICB1bnNpZ25lZCBsb25nIG5iRWxlbSA9IDA7CisjZW5kaWYKKyAgICBpbnQgcmV0ID0gMDsKKyAgICBpbnQga2VlcF9rZXlzID0gMTsKKworICAgIGlmIChkaWN0ID09IE5VTEwpCisJcmV0dXJuKC0xKTsKKyAgICBpZiAoc2l6ZSA8IDgpCisgICAgICAgIHJldHVybigtMSk7CisgICAgaWYgKHNpemUgPiA4ICogMjA0OCkKKwlyZXR1cm4oLTEpOworCisjaWZkZWYgRElDVF9ERUJVR19QQVRURVJOUworICAgIGZwcmludGYoc3RkZXJyLCAiKiIpOworI2VuZGlmCisKKyAgICBvbGRzaXplID0gZGljdC0+c2l6ZTsKKyAgICBvbGRkaWN0ID0gZGljdC0+ZGljdDsKKyAgICBpZiAob2xkZGljdCA9PSBOVUxMKQorICAgICAgICByZXR1cm4oLTEpOworICAgIGlmIChvbGRzaXplID09IE1JTl9ESUNUX1NJWkUpCisgICAgICAgIGtlZXBfa2V5cyA9IDA7CisKKyAgICBkaWN0LT5kaWN0ID0geG1sTWFsbG9jKHNpemUgKiBzaXplb2YoeG1sRGljdEVudHJ5KSk7CisgICAgaWYgKGRpY3QtPmRpY3QgPT0gTlVMTCkgeworCWRpY3QtPmRpY3QgPSBvbGRkaWN0OworCXJldHVybigtMSk7CisgICAgfQorICAgIG1lbXNldChkaWN0LT5kaWN0LCAwLCBzaXplICogc2l6ZW9mKHhtbERpY3RFbnRyeSkpOworICAgIGRpY3QtPnNpemUgPSBzaXplOworCisgICAgLyoJSWYgdGhlIHR3byBsb29wcyBhcmUgbWVyZ2VkLCB0aGVyZSB3b3VsZCBiZSBzaXR1YXRpb25zIHdoZXJlCisJYSBuZXcgZW50cnkgbmVlZHMgdG8gYWxsb2NhdGVkIGFuZCBkYXRhIGNvcGllZCBpbnRvIGl0IGZyb20KKwl0aGUgbWFpbiBkaWN0LiBJdCBpcyBuaWNlciB0byBydW4gdGhyb3VnaCB0aGUgYXJyYXkgdHdpY2UsIGZpcnN0CisJY29weWluZyBhbGwgdGhlIGVsZW1lbnRzIGluIHRoZSBtYWluIGFycmF5IChsZXNzIHByb2JhYmlsaXR5IG9mCisJYWxsb2NhdGUpIGFuZCB0aGVuIHRoZSByZXN0LCBzbyB3ZSBvbmx5IGZyZWUgaW4gdGhlIHNlY29uZCBsb29wLgorICAgICovCisgICAgZm9yIChpID0gMDsgaSA8IG9sZHNpemU7IGkrKykgeworCWlmIChvbGRkaWN0W2ldLnZhbGlkID09IDApCisJICAgIGNvbnRpbnVlOworCisJaWYgKGtlZXBfa2V5cykKKwkgICAgb2tleSA9IG9sZGRpY3RbaV0ub2tleTsKKwllbHNlCisJICAgIG9rZXkgPSB4bWxEaWN0Q29tcHV0ZUtleShkaWN0LCBvbGRkaWN0W2ldLm5hbWUsIG9sZGRpY3RbaV0ubGVuKTsKKwlrZXkgPSBva2V5ICUgZGljdC0+c2l6ZTsKKworCWlmIChkaWN0LT5kaWN0W2tleV0udmFsaWQgPT0gMCkgeworCSAgICBtZW1jcHkoJihkaWN0LT5kaWN0W2tleV0pLCAmKG9sZGRpY3RbaV0pLCBzaXplb2YoeG1sRGljdEVudHJ5KSk7CisJICAgIGRpY3QtPmRpY3Rba2V5XS5uZXh0ID0gTlVMTDsKKwkgICAgZGljdC0+ZGljdFtrZXldLm9rZXkgPSBva2V5OworCX0gZWxzZSB7CisJICAgIHhtbERpY3RFbnRyeVB0ciBlbnRyeTsKKworCSAgICBlbnRyeSA9IHhtbE1hbGxvYyhzaXplb2YoeG1sRGljdEVudHJ5KSk7CisJICAgIGlmIChlbnRyeSAhPSBOVUxMKSB7CisJCWVudHJ5LT5uYW1lID0gb2xkZGljdFtpXS5uYW1lOworCQllbnRyeS0+bGVuID0gb2xkZGljdFtpXS5sZW47CisJCWVudHJ5LT5va2V5ID0gb2tleTsKKwkJZW50cnktPm5leHQgPSBkaWN0LT5kaWN0W2tleV0ubmV4dDsKKwkJZW50cnktPnZhbGlkID0gMTsKKwkJZGljdC0+ZGljdFtrZXldLm5leHQgPSBlbnRyeTsKKwkgICAgfSBlbHNlIHsKKwkgICAgICAgIC8qCisJCSAqIHdlIGRvbid0IGhhdmUgbXVjaCB3YXlzIHRvIGFsZXJ0IGZyb20gaGVyZWkKKwkJICogcmVzdWx0IGlzIGxvb3NpbmcgYW4gZW50cnkgYW5kIHVuaWNpdHkgZ2FyYW50ZWUKKwkJICovCisJICAgICAgICByZXQgPSAtMTsKKwkgICAgfQorCX0KKyNpZmRlZiBERUJVR19HUk9XCisJbmJFbGVtKys7CisjZW5kaWYKKyAgICB9CisKKyAgICBmb3IgKGkgPSAwOyBpIDwgb2xkc2l6ZTsgaSsrKSB7CisJaXRlciA9IG9sZGRpY3RbaV0ubmV4dDsKKwl3aGlsZSAoaXRlcikgeworCSAgICBuZXh0ID0gaXRlci0+bmV4dDsKKworCSAgICAvKgorCSAgICAgKiBwdXQgYmFjayB0aGUgZW50cnkgaW4gdGhlIG5ldyBkaWN0CisJICAgICAqLworCisJICAgIGlmIChrZWVwX2tleXMpCisJCW9rZXkgPSBpdGVyLT5va2V5OworCSAgICBlbHNlCisJCW9rZXkgPSB4bWxEaWN0Q29tcHV0ZUtleShkaWN0LCBpdGVyLT5uYW1lLCBpdGVyLT5sZW4pOworCSAgICBrZXkgPSBva2V5ICUgZGljdC0+c2l6ZTsKKwkgICAgaWYgKGRpY3QtPmRpY3Rba2V5XS52YWxpZCA9PSAwKSB7CisJCW1lbWNweSgmKGRpY3QtPmRpY3Rba2V5XSksIGl0ZXIsIHNpemVvZih4bWxEaWN0RW50cnkpKTsKKwkJZGljdC0+ZGljdFtrZXldLm5leHQgPSBOVUxMOworCQlkaWN0LT5kaWN0W2tleV0udmFsaWQgPSAxOworCQlkaWN0LT5kaWN0W2tleV0ub2tleSA9IG9rZXk7CisJCXhtbEZyZWUoaXRlcik7CisJICAgIH0gZWxzZSB7CisJCWl0ZXItPm5leHQgPSBkaWN0LT5kaWN0W2tleV0ubmV4dDsKKwkJaXRlci0+b2tleSA9IG9rZXk7CisJCWRpY3QtPmRpY3Rba2V5XS5uZXh0ID0gaXRlcjsKKwkgICAgfQorCisjaWZkZWYgREVCVUdfR1JPVworCSAgICBuYkVsZW0rKzsKKyNlbmRpZgorCisJICAgIGl0ZXIgPSBuZXh0OworCX0KKyAgICB9CisKKyAgICB4bWxGcmVlKG9sZGRpY3QpOworCisjaWZkZWYgREVCVUdfR1JPVworICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCSAgICAieG1sRGljdEdyb3cgOiBmcm9tICVsdSB0byAlbHUsICV1IGVsZW1zXG4iLCBvbGRzaXplLCBzaXplLCBuYkVsZW0pOworI2VuZGlmCisKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxEaWN0RnJlZToKKyAqIEBkaWN0OiB0aGUgZGljdGlvbm5hcnkKKyAqCisgKiBGcmVlIHRoZSBoYXNoIEBkaWN0IGFuZCBpdHMgY29udGVudHMuIFRoZSB1c2VyZGF0YSBpcworICogZGVhbGxvY2F0ZWQgd2l0aCBAZiBpZiBwcm92aWRlZC4KKyAqLwordm9pZAoreG1sRGljdEZyZWUoeG1sRGljdFB0ciBkaWN0KSB7CisgICAgc2l6ZV90IGk7CisgICAgeG1sRGljdEVudHJ5UHRyIGl0ZXI7CisgICAgeG1sRGljdEVudHJ5UHRyIG5leHQ7CisgICAgaW50IGluc2lkZV9kaWN0ID0gMDsKKyAgICB4bWxEaWN0U3RyaW5nc1B0ciBwb29sLCBuZXh0cDsKKworICAgIGlmIChkaWN0ID09IE5VTEwpCisJcmV0dXJuOworCisgICAgaWYgKCF4bWxEaWN0SW5pdGlhbGl6ZWQpCisgICAgICAgIGlmICghX194bWxJbml0aWFsaXplRGljdCgpKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgLyogZGVjcmVtZW50IHRoZSBjb3VudGVyLCBpdCBtYXkgYmUgc2hhcmVkIGJ5IGEgcGFyc2VyIGFuZCBkb2NzICovCisgICAgeG1sUk11dGV4TG9jayh4bWxEaWN0TXV0ZXgpOworICAgIGRpY3QtPnJlZl9jb3VudGVyLS07CisgICAgaWYgKGRpY3QtPnJlZl9jb3VudGVyID4gMCkgeworICAgICAgICB4bWxSTXV0ZXhVbmxvY2soeG1sRGljdE11dGV4KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIHhtbFJNdXRleFVubG9jayh4bWxEaWN0TXV0ZXgpOworCisgICAgaWYgKGRpY3QtPnN1YmRpY3QgIT0gTlVMTCkgeworICAgICAgICB4bWxEaWN0RnJlZShkaWN0LT5zdWJkaWN0KTsKKyAgICB9CisKKyAgICBpZiAoZGljdC0+ZGljdCkgeworCWZvcihpID0gMDsgKChpIDwgZGljdC0+c2l6ZSkgJiYgKGRpY3QtPm5iRWxlbXMgPiAwKSk7IGkrKykgeworCSAgICBpdGVyID0gJihkaWN0LT5kaWN0W2ldKTsKKwkgICAgaWYgKGl0ZXItPnZhbGlkID09IDApCisJCWNvbnRpbnVlOworCSAgICBpbnNpZGVfZGljdCA9IDE7CisJICAgIHdoaWxlIChpdGVyKSB7CisJCW5leHQgPSBpdGVyLT5uZXh0OworCQlpZiAoIWluc2lkZV9kaWN0KQorCQkgICAgeG1sRnJlZShpdGVyKTsKKwkJZGljdC0+bmJFbGVtcy0tOworCQlpbnNpZGVfZGljdCA9IDA7CisJCWl0ZXIgPSBuZXh0OworCSAgICB9CisJfQorCXhtbEZyZWUoZGljdC0+ZGljdCk7CisgICAgfQorICAgIHBvb2wgPSBkaWN0LT5zdHJpbmdzOworICAgIHdoaWxlIChwb29sICE9IE5VTEwpIHsKKyAgICAgICAgbmV4dHAgPSBwb29sLT5uZXh0OworCXhtbEZyZWUocG9vbCk7CisJcG9vbCA9IG5leHRwOworICAgIH0KKyAgICB4bWxGcmVlKGRpY3QpOworfQorCisvKioKKyAqIHhtbERpY3RMb29rdXA6CisgKiBAZGljdDogdGhlIGRpY3Rpb25uYXJ5CisgKiBAbmFtZTogdGhlIG5hbWUgb2YgdGhlIHVzZXJkYXRhCisgKiBAbGVuOiB0aGUgbGVuZ3RoIG9mIHRoZSBuYW1lLCBpZiAtMSBpdCBpcyByZWNvbXB1dGVkCisgKgorICogQWRkIHRoZSBAbmFtZSB0byB0aGUgZGljdGlvbm5hcnkgQGRpY3QgaWYgbm90IHByZXNlbnQuCisgKgorICogUmV0dXJucyB0aGUgaW50ZXJuYWwgY29weSBvZiB0aGUgbmFtZSBvciBOVUxMIGluIGNhc2Ugb2YgaW50ZXJuYWwgZXJyb3IKKyAqLworY29uc3QgeG1sQ2hhciAqCit4bWxEaWN0TG9va3VwKHhtbERpY3RQdHIgZGljdCwgY29uc3QgeG1sQ2hhciAqbmFtZSwgaW50IGxlbikgeworICAgIHVuc2lnbmVkIGxvbmcga2V5LCBva2V5LCBuYmkgPSAwOworICAgIHhtbERpY3RFbnRyeVB0ciBlbnRyeTsKKyAgICB4bWxEaWN0RW50cnlQdHIgaW5zZXJ0OworICAgIGNvbnN0IHhtbENoYXIgKnJldDsKKyAgICB1bnNpZ25lZCBpbnQgbDsKKworICAgIGlmICgoZGljdCA9PSBOVUxMKSB8fCAobmFtZSA9PSBOVUxMKSkKKwlyZXR1cm4oTlVMTCk7CisKKyAgICBpZiAobGVuIDwgMCkKKyAgICAgICAgbCA9IHN0cmxlbigoY29uc3QgY2hhciAqKSBuYW1lKTsKKyAgICBlbHNlCisgICAgICAgIGwgPSBsZW47CisKKyAgICBpZiAoKChkaWN0LT5saW1pdCA+IDApICYmIChsID49IGRpY3QtPmxpbWl0KSkgfHwKKyAgICAgICAgKGwgPiBJTlRfTUFYIC8gMikpCisgICAgICAgIHJldHVybihOVUxMKTsKKworICAgIC8qCisgICAgICogQ2hlY2sgZm9yIGR1cGxpY2F0ZSBhbmQgaW5zZXJ0aW9uIGxvY2F0aW9uLgorICAgICAqLworICAgIG9rZXkgPSB4bWxEaWN0Q29tcHV0ZUtleShkaWN0LCBuYW1lLCBsKTsKKyAgICBrZXkgPSBva2V5ICUgZGljdC0+c2l6ZTsKKyAgICBpZiAoZGljdC0+ZGljdFtrZXldLnZhbGlkID09IDApIHsKKwlpbnNlcnQgPSBOVUxMOworICAgIH0gZWxzZSB7CisJZm9yIChpbnNlcnQgPSAmKGRpY3QtPmRpY3Rba2V5XSk7IGluc2VydC0+bmV4dCAhPSBOVUxMOworCSAgICAgaW5zZXJ0ID0gaW5zZXJ0LT5uZXh0KSB7CisjaWZkZWYgX19HTlVDX18KKwkgICAgaWYgKChpbnNlcnQtPm9rZXkgPT0gb2tleSkgJiYgKGluc2VydC0+bGVuID09IGwpKSB7CisJCWlmICghbWVtY21wKGluc2VydC0+bmFtZSwgbmFtZSwgbCkpCisJCSAgICByZXR1cm4oaW5zZXJ0LT5uYW1lKTsKKwkgICAgfQorI2Vsc2UKKwkgICAgaWYgKChpbnNlcnQtPm9rZXkgPT0gb2tleSkgJiYgKGluc2VydC0+bGVuID09IGwpICYmCisJICAgICAgICAoIXhtbFN0cm5jbXAoaW5zZXJ0LT5uYW1lLCBuYW1lLCBsKSkpCisJCXJldHVybihpbnNlcnQtPm5hbWUpOworI2VuZGlmCisJICAgIG5iaSsrOworCX0KKyNpZmRlZiBfX0dOVUNfXworCWlmICgoaW5zZXJ0LT5va2V5ID09IG9rZXkpICYmIChpbnNlcnQtPmxlbiA9PSBsKSkgeworCSAgICBpZiAoIW1lbWNtcChpbnNlcnQtPm5hbWUsIG5hbWUsIGwpKQorCQlyZXR1cm4oaW5zZXJ0LT5uYW1lKTsKKwl9CisjZWxzZQorCWlmICgoaW5zZXJ0LT5va2V5ID09IG9rZXkpICYmIChpbnNlcnQtPmxlbiA9PSBsKSAmJgorCSAgICAoIXhtbFN0cm5jbXAoaW5zZXJ0LT5uYW1lLCBuYW1lLCBsKSkpCisJICAgIHJldHVybihpbnNlcnQtPm5hbWUpOworI2VuZGlmCisgICAgfQorCisgICAgaWYgKGRpY3QtPnN1YmRpY3QpIHsKKyAgICAgICAgdW5zaWduZWQgbG9uZyBza2V5OworCisgICAgICAgIC8qIHdlIGNhbm5vdCBhbHdheXMgcmV1c2UgdGhlIHNhbWUgb2tleSBmb3IgdGhlIHN1YmRpY3QgKi8KKyAgICAgICAgaWYgKCgoZGljdC0+c2l6ZSA9PSBNSU5fRElDVF9TSVpFKSAmJgorCSAgICAgKGRpY3QtPnN1YmRpY3QtPnNpemUgIT0gTUlOX0RJQ1RfU0laRSkpIHx8CisgICAgICAgICAgICAoKGRpY3QtPnNpemUgIT0gTUlOX0RJQ1RfU0laRSkgJiYKKwkgICAgIChkaWN0LT5zdWJkaWN0LT5zaXplID09IE1JTl9ESUNUX1NJWkUpKSkKKwkgICAgc2tleSA9IHhtbERpY3RDb21wdXRlS2V5KGRpY3QtPnN1YmRpY3QsIG5hbWUsIGwpOworCWVsc2UKKwkgICAgc2tleSA9IG9rZXk7CisKKwlrZXkgPSBza2V5ICUgZGljdC0+c3ViZGljdC0+c2l6ZTsKKwlpZiAoZGljdC0+c3ViZGljdC0+ZGljdFtrZXldLnZhbGlkICE9IDApIHsKKwkgICAgeG1sRGljdEVudHJ5UHRyIHRtcDsKKworCSAgICBmb3IgKHRtcCA9ICYoZGljdC0+c3ViZGljdC0+ZGljdFtrZXldKTsgdG1wLT5uZXh0ICE9IE5VTEw7CisJCSB0bXAgPSB0bXAtPm5leHQpIHsKKyNpZmRlZiBfX0dOVUNfXworCQlpZiAoKHRtcC0+b2tleSA9PSBza2V5KSAmJiAodG1wLT5sZW4gPT0gbCkpIHsKKwkJICAgIGlmICghbWVtY21wKHRtcC0+bmFtZSwgbmFtZSwgbCkpCisJCQlyZXR1cm4odG1wLT5uYW1lKTsKKwkJfQorI2Vsc2UKKwkJaWYgKCh0bXAtPm9rZXkgPT0gc2tleSkgJiYgKHRtcC0+bGVuID09IGwpICYmCisJCSAgICAoIXhtbFN0cm5jbXAodG1wLT5uYW1lLCBuYW1lLCBsKSkpCisJCSAgICByZXR1cm4odG1wLT5uYW1lKTsKKyNlbmRpZgorCQluYmkrKzsKKwkgICAgfQorI2lmZGVmIF9fR05VQ19fCisJICAgIGlmICgodG1wLT5va2V5ID09IHNrZXkpICYmICh0bXAtPmxlbiA9PSBsKSkgeworCQlpZiAoIW1lbWNtcCh0bXAtPm5hbWUsIG5hbWUsIGwpKQorCQkgICAgcmV0dXJuKHRtcC0+bmFtZSk7CisJICAgIH0KKyNlbHNlCisJICAgIGlmICgodG1wLT5va2V5ID09IHNrZXkpICYmICh0bXAtPmxlbiA9PSBsKSAmJgorCQkoIXhtbFN0cm5jbXAodG1wLT5uYW1lLCBuYW1lLCBsKSkpCisJCXJldHVybih0bXAtPm5hbWUpOworI2VuZGlmCisJfQorCWtleSA9IG9rZXkgJSBkaWN0LT5zaXplOworICAgIH0KKworICAgIHJldCA9IHhtbERpY3RBZGRTdHJpbmcoZGljdCwgbmFtZSwgbCk7CisgICAgaWYgKHJldCA9PSBOVUxMKQorICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgaWYgKGluc2VydCA9PSBOVUxMKSB7CisJZW50cnkgPSAmKGRpY3QtPmRpY3Rba2V5XSk7CisgICAgfSBlbHNlIHsKKwllbnRyeSA9IHhtbE1hbGxvYyhzaXplb2YoeG1sRGljdEVudHJ5KSk7CisJaWYgKGVudHJ5ID09IE5VTEwpCisJICAgICByZXR1cm4oTlVMTCk7CisgICAgfQorICAgIGVudHJ5LT5uYW1lID0gcmV0OworICAgIGVudHJ5LT5sZW4gPSBsOworICAgIGVudHJ5LT5uZXh0ID0gTlVMTDsKKyAgICBlbnRyeS0+dmFsaWQgPSAxOworICAgIGVudHJ5LT5va2V5ID0gb2tleTsKKworCisgICAgaWYgKGluc2VydCAhPSBOVUxMKQorCWluc2VydC0+bmV4dCA9IGVudHJ5OworCisgICAgZGljdC0+bmJFbGVtcysrOworCisgICAgaWYgKChuYmkgPiBNQVhfSEFTSF9MRU4pICYmCisgICAgICAgIChkaWN0LT5zaXplIDw9ICgoTUFYX0RJQ1RfSEFTSCAvIDIpIC8gTUFYX0hBU0hfTEVOKSkpIHsKKwlpZiAoeG1sRGljdEdyb3coZGljdCwgTUFYX0hBU0hfTEVOICogMiAqIGRpY3QtPnNpemUpICE9IDApCisJICAgIHJldHVybihOVUxMKTsKKyAgICB9CisgICAgLyogTm90ZSB0aGF0IGVudHJ5IG1heSBoYXZlIGJlZW4gZnJlZWQgYXQgdGhpcyBwb2ludCBieSB4bWxEaWN0R3JvdyAqLworCisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogeG1sRGljdEV4aXN0czoKKyAqIEBkaWN0OiB0aGUgZGljdGlvbm5hcnkKKyAqIEBuYW1lOiB0aGUgbmFtZSBvZiB0aGUgdXNlcmRhdGEKKyAqIEBsZW46IHRoZSBsZW5ndGggb2YgdGhlIG5hbWUsIGlmIC0xIGl0IGlzIHJlY29tcHV0ZWQKKyAqCisgKiBDaGVjayBpZiB0aGUgQG5hbWUgZXhpc3RzIGluIHRoZSBkaWN0aW9ubmFyeSBAZGljdC4KKyAqCisgKiBSZXR1cm5zIHRoZSBpbnRlcm5hbCBjb3B5IG9mIHRoZSBuYW1lIG9yIE5VTEwgaWYgbm90IGZvdW5kLgorICovCitjb25zdCB4bWxDaGFyICoKK3htbERpY3RFeGlzdHMoeG1sRGljdFB0ciBkaWN0LCBjb25zdCB4bWxDaGFyICpuYW1lLCBpbnQgbGVuKSB7CisgICAgdW5zaWduZWQgbG9uZyBrZXksIG9rZXksIG5iaSA9IDA7CisgICAgeG1sRGljdEVudHJ5UHRyIGluc2VydDsKKyAgICB1bnNpZ25lZCBpbnQgbDsKKworICAgIGlmICgoZGljdCA9PSBOVUxMKSB8fCAobmFtZSA9PSBOVUxMKSkKKwlyZXR1cm4oTlVMTCk7CisKKyAgICBpZiAobGVuIDwgMCkKKyAgICAgICAgbCA9IHN0cmxlbigoY29uc3QgY2hhciAqKSBuYW1lKTsKKyAgICBlbHNlCisgICAgICAgIGwgPSBsZW47CisgICAgaWYgKCgoZGljdC0+bGltaXQgPiAwKSAmJiAobCA+PSBkaWN0LT5saW1pdCkpIHx8CisgICAgICAgIChsID4gSU5UX01BWCAvIDIpKQorICAgICAgICByZXR1cm4oTlVMTCk7CisKKyAgICAvKgorICAgICAqIENoZWNrIGZvciBkdXBsaWNhdGUgYW5kIGluc2VydGlvbiBsb2NhdGlvbi4KKyAgICAgKi8KKyAgICBva2V5ID0geG1sRGljdENvbXB1dGVLZXkoZGljdCwgbmFtZSwgbCk7CisgICAga2V5ID0gb2tleSAlIGRpY3QtPnNpemU7CisgICAgaWYgKGRpY3QtPmRpY3Rba2V5XS52YWxpZCA9PSAwKSB7CisJaW5zZXJ0ID0gTlVMTDsKKyAgICB9IGVsc2UgeworCWZvciAoaW5zZXJ0ID0gJihkaWN0LT5kaWN0W2tleV0pOyBpbnNlcnQtPm5leHQgIT0gTlVMTDsKKwkgICAgIGluc2VydCA9IGluc2VydC0+bmV4dCkgeworI2lmZGVmIF9fR05VQ19fCisJICAgIGlmICgoaW5zZXJ0LT5va2V5ID09IG9rZXkpICYmIChpbnNlcnQtPmxlbiA9PSBsKSkgeworCQlpZiAoIW1lbWNtcChpbnNlcnQtPm5hbWUsIG5hbWUsIGwpKQorCQkgICAgcmV0dXJuKGluc2VydC0+bmFtZSk7CisJICAgIH0KKyNlbHNlCisJICAgIGlmICgoaW5zZXJ0LT5va2V5ID09IG9rZXkpICYmIChpbnNlcnQtPmxlbiA9PSBsKSAmJgorCSAgICAgICAgKCF4bWxTdHJuY21wKGluc2VydC0+bmFtZSwgbmFtZSwgbCkpKQorCQlyZXR1cm4oaW5zZXJ0LT5uYW1lKTsKKyNlbmRpZgorCSAgICBuYmkrKzsKKwl9CisjaWZkZWYgX19HTlVDX18KKwlpZiAoKGluc2VydC0+b2tleSA9PSBva2V5KSAmJiAoaW5zZXJ0LT5sZW4gPT0gbCkpIHsKKwkgICAgaWYgKCFtZW1jbXAoaW5zZXJ0LT5uYW1lLCBuYW1lLCBsKSkKKwkJcmV0dXJuKGluc2VydC0+bmFtZSk7CisJfQorI2Vsc2UKKwlpZiAoKGluc2VydC0+b2tleSA9PSBva2V5KSAmJiAoaW5zZXJ0LT5sZW4gPT0gbCkgJiYKKwkgICAgKCF4bWxTdHJuY21wKGluc2VydC0+bmFtZSwgbmFtZSwgbCkpKQorCSAgICByZXR1cm4oaW5zZXJ0LT5uYW1lKTsKKyNlbmRpZgorICAgIH0KKworICAgIGlmIChkaWN0LT5zdWJkaWN0KSB7CisgICAgICAgIHVuc2lnbmVkIGxvbmcgc2tleTsKKworICAgICAgICAvKiB3ZSBjYW5ub3QgYWx3YXlzIHJldXNlIHRoZSBzYW1lIG9rZXkgZm9yIHRoZSBzdWJkaWN0ICovCisgICAgICAgIGlmICgoKGRpY3QtPnNpemUgPT0gTUlOX0RJQ1RfU0laRSkgJiYKKwkgICAgIChkaWN0LT5zdWJkaWN0LT5zaXplICE9IE1JTl9ESUNUX1NJWkUpKSB8fAorICAgICAgICAgICAgKChkaWN0LT5zaXplICE9IE1JTl9ESUNUX1NJWkUpICYmCisJICAgICAoZGljdC0+c3ViZGljdC0+c2l6ZSA9PSBNSU5fRElDVF9TSVpFKSkpCisJICAgIHNrZXkgPSB4bWxEaWN0Q29tcHV0ZUtleShkaWN0LT5zdWJkaWN0LCBuYW1lLCBsKTsKKwllbHNlCisJICAgIHNrZXkgPSBva2V5OworCisJa2V5ID0gc2tleSAlIGRpY3QtPnN1YmRpY3QtPnNpemU7CisJaWYgKGRpY3QtPnN1YmRpY3QtPmRpY3Rba2V5XS52YWxpZCAhPSAwKSB7CisJICAgIHhtbERpY3RFbnRyeVB0ciB0bXA7CisKKwkgICAgZm9yICh0bXAgPSAmKGRpY3QtPnN1YmRpY3QtPmRpY3Rba2V5XSk7IHRtcC0+bmV4dCAhPSBOVUxMOworCQkgdG1wID0gdG1wLT5uZXh0KSB7CisjaWZkZWYgX19HTlVDX18KKwkJaWYgKCh0bXAtPm9rZXkgPT0gc2tleSkgJiYgKHRtcC0+bGVuID09IGwpKSB7CisJCSAgICBpZiAoIW1lbWNtcCh0bXAtPm5hbWUsIG5hbWUsIGwpKQorCQkJcmV0dXJuKHRtcC0+bmFtZSk7CisJCX0KKyNlbHNlCisJCWlmICgodG1wLT5va2V5ID09IHNrZXkpICYmICh0bXAtPmxlbiA9PSBsKSAmJgorCQkgICAgKCF4bWxTdHJuY21wKHRtcC0+bmFtZSwgbmFtZSwgbCkpKQorCQkgICAgcmV0dXJuKHRtcC0+bmFtZSk7CisjZW5kaWYKKwkJbmJpKys7CisJICAgIH0KKyNpZmRlZiBfX0dOVUNfXworCSAgICBpZiAoKHRtcC0+b2tleSA9PSBza2V5KSAmJiAodG1wLT5sZW4gPT0gbCkpIHsKKwkJaWYgKCFtZW1jbXAodG1wLT5uYW1lLCBuYW1lLCBsKSkKKwkJICAgIHJldHVybih0bXAtPm5hbWUpOworCSAgICB9CisjZWxzZQorCSAgICBpZiAoKHRtcC0+b2tleSA9PSBza2V5KSAmJiAodG1wLT5sZW4gPT0gbCkgJiYKKwkJKCF4bWxTdHJuY21wKHRtcC0+bmFtZSwgbmFtZSwgbCkpKQorCQlyZXR1cm4odG1wLT5uYW1lKTsKKyNlbmRpZgorCX0KKyAgICB9CisKKyAgICAvKiBub3QgZm91bmQgKi8KKyAgICByZXR1cm4oTlVMTCk7Cit9CisKKy8qKgorICogeG1sRGljdFFMb29rdXA6CisgKiBAZGljdDogdGhlIGRpY3Rpb25uYXJ5CisgKiBAcHJlZml4OiB0aGUgcHJlZml4CisgKiBAbmFtZTogdGhlIG5hbWUKKyAqCisgKiBBZGQgdGhlIFFOYW1lIEBwcmVmaXg6QG5hbWUgdG8gdGhlIGhhc2ggQGRpY3QgaWYgbm90IHByZXNlbnQuCisgKgorICogUmV0dXJucyB0aGUgaW50ZXJuYWwgY29weSBvZiB0aGUgUU5hbWUgb3IgTlVMTCBpbiBjYXNlIG9mIGludGVybmFsIGVycm9yCisgKi8KK2NvbnN0IHhtbENoYXIgKgoreG1sRGljdFFMb29rdXAoeG1sRGljdFB0ciBkaWN0LCBjb25zdCB4bWxDaGFyICpwcmVmaXgsIGNvbnN0IHhtbENoYXIgKm5hbWUpIHsKKyAgICB1bnNpZ25lZCBsb25nIG9rZXksIGtleSwgbmJpID0gMDsKKyAgICB4bWxEaWN0RW50cnlQdHIgZW50cnk7CisgICAgeG1sRGljdEVudHJ5UHRyIGluc2VydDsKKyAgICBjb25zdCB4bWxDaGFyICpyZXQ7CisgICAgdW5zaWduZWQgaW50IGxlbiwgcGxlbiwgbDsKKworICAgIGlmICgoZGljdCA9PSBOVUxMKSB8fCAobmFtZSA9PSBOVUxMKSkKKwlyZXR1cm4oTlVMTCk7CisgICAgaWYgKHByZWZpeCA9PSBOVUxMKQorICAgICAgICByZXR1cm4oeG1sRGljdExvb2t1cChkaWN0LCBuYW1lLCAtMSkpOworCisgICAgbCA9IGxlbiA9IHN0cmxlbigoY29uc3QgY2hhciAqKSBuYW1lKTsKKyAgICBwbGVuID0gc3RybGVuKChjb25zdCBjaGFyICopIHByZWZpeCk7CisgICAgbGVuICs9IDEgKyBwbGVuOworCisgICAgLyoKKyAgICAgKiBDaGVjayBmb3IgZHVwbGljYXRlIGFuZCBpbnNlcnRpb24gbG9jYXRpb24uCisgICAgICovCisgICAgb2tleSA9IHhtbERpY3RDb21wdXRlUUtleShkaWN0LCBwcmVmaXgsIHBsZW4sIG5hbWUsIGwpOworICAgIGtleSA9IG9rZXkgJSBkaWN0LT5zaXplOworICAgIGlmIChkaWN0LT5kaWN0W2tleV0udmFsaWQgPT0gMCkgeworCWluc2VydCA9IE5VTEw7CisgICAgfSBlbHNlIHsKKwlmb3IgKGluc2VydCA9ICYoZGljdC0+ZGljdFtrZXldKTsgaW5zZXJ0LT5uZXh0ICE9IE5VTEw7CisJICAgICBpbnNlcnQgPSBpbnNlcnQtPm5leHQpIHsKKwkgICAgaWYgKChpbnNlcnQtPm9rZXkgPT0gb2tleSkgJiYgKGluc2VydC0+bGVuID09IGxlbikgJiYKKwkgICAgICAgICh4bWxTdHJRRXF1YWwocHJlZml4LCBuYW1lLCBpbnNlcnQtPm5hbWUpKSkKKwkJcmV0dXJuKGluc2VydC0+bmFtZSk7CisJICAgIG5iaSsrOworCX0KKwlpZiAoKGluc2VydC0+b2tleSA9PSBva2V5KSAmJiAoaW5zZXJ0LT5sZW4gPT0gbGVuKSAmJgorCSAgICAoeG1sU3RyUUVxdWFsKHByZWZpeCwgbmFtZSwgaW5zZXJ0LT5uYW1lKSkpCisJICAgIHJldHVybihpbnNlcnQtPm5hbWUpOworICAgIH0KKworICAgIGlmIChkaWN0LT5zdWJkaWN0KSB7CisgICAgICAgIHVuc2lnbmVkIGxvbmcgc2tleTsKKworICAgICAgICAvKiB3ZSBjYW5ub3QgYWx3YXlzIHJldXNlIHRoZSBzYW1lIG9rZXkgZm9yIHRoZSBzdWJkaWN0ICovCisgICAgICAgIGlmICgoKGRpY3QtPnNpemUgPT0gTUlOX0RJQ1RfU0laRSkgJiYKKwkgICAgIChkaWN0LT5zdWJkaWN0LT5zaXplICE9IE1JTl9ESUNUX1NJWkUpKSB8fAorICAgICAgICAgICAgKChkaWN0LT5zaXplICE9IE1JTl9ESUNUX1NJWkUpICYmCisJICAgICAoZGljdC0+c3ViZGljdC0+c2l6ZSA9PSBNSU5fRElDVF9TSVpFKSkpCisJICAgIHNrZXkgPSB4bWxEaWN0Q29tcHV0ZVFLZXkoZGljdC0+c3ViZGljdCwgcHJlZml4LCBwbGVuLCBuYW1lLCBsKTsKKwllbHNlCisJICAgIHNrZXkgPSBva2V5OworCisJa2V5ID0gc2tleSAlIGRpY3QtPnN1YmRpY3QtPnNpemU7CisJaWYgKGRpY3QtPnN1YmRpY3QtPmRpY3Rba2V5XS52YWxpZCAhPSAwKSB7CisJICAgIHhtbERpY3RFbnRyeVB0ciB0bXA7CisJICAgIGZvciAodG1wID0gJihkaWN0LT5zdWJkaWN0LT5kaWN0W2tleV0pOyB0bXAtPm5leHQgIT0gTlVMTDsKKwkJIHRtcCA9IHRtcC0+bmV4dCkgeworCQlpZiAoKHRtcC0+b2tleSA9PSBza2V5KSAmJiAodG1wLT5sZW4gPT0gbGVuKSAmJgorCQkgICAgKHhtbFN0clFFcXVhbChwcmVmaXgsIG5hbWUsIHRtcC0+bmFtZSkpKQorCQkgICAgcmV0dXJuKHRtcC0+bmFtZSk7CisJCW5iaSsrOworCSAgICB9CisJICAgIGlmICgodG1wLT5va2V5ID09IHNrZXkpICYmICh0bXAtPmxlbiA9PSBsZW4pICYmCisJCSh4bWxTdHJRRXF1YWwocHJlZml4LCBuYW1lLCB0bXAtPm5hbWUpKSkKKwkJcmV0dXJuKHRtcC0+bmFtZSk7CisJfQorCWtleSA9IG9rZXkgJSBkaWN0LT5zaXplOworICAgIH0KKworICAgIHJldCA9IHhtbERpY3RBZGRRU3RyaW5nKGRpY3QsIHByZWZpeCwgcGxlbiwgbmFtZSwgbCk7CisgICAgaWYgKHJldCA9PSBOVUxMKQorICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgaWYgKGluc2VydCA9PSBOVUxMKSB7CisJZW50cnkgPSAmKGRpY3QtPmRpY3Rba2V5XSk7CisgICAgfSBlbHNlIHsKKwllbnRyeSA9IHhtbE1hbGxvYyhzaXplb2YoeG1sRGljdEVudHJ5KSk7CisJaWYgKGVudHJ5ID09IE5VTEwpCisJICAgICByZXR1cm4oTlVMTCk7CisgICAgfQorICAgIGVudHJ5LT5uYW1lID0gcmV0OworICAgIGVudHJ5LT5sZW4gPSBsZW47CisgICAgZW50cnktPm5leHQgPSBOVUxMOworICAgIGVudHJ5LT52YWxpZCA9IDE7CisgICAgZW50cnktPm9rZXkgPSBva2V5OworCisgICAgaWYgKGluc2VydCAhPSBOVUxMKQorCWluc2VydC0+bmV4dCA9IGVudHJ5OworCisgICAgZGljdC0+bmJFbGVtcysrOworCisgICAgaWYgKChuYmkgPiBNQVhfSEFTSF9MRU4pICYmCisgICAgICAgIChkaWN0LT5zaXplIDw9ICgoTUFYX0RJQ1RfSEFTSCAvIDIpIC8gTUFYX0hBU0hfTEVOKSkpCisJeG1sRGljdEdyb3coZGljdCwgTUFYX0hBU0hfTEVOICogMiAqIGRpY3QtPnNpemUpOworICAgIC8qIE5vdGUgdGhhdCBlbnRyeSBtYXkgaGF2ZSBiZWVuIGZyZWVkIGF0IHRoaXMgcG9pbnQgYnkgeG1sRGljdEdyb3cgKi8KKworICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbERpY3RPd25zOgorICogQGRpY3Q6IHRoZSBkaWN0aW9ubmFyeQorICogQHN0cjogdGhlIHN0cmluZworICoKKyAqIGNoZWNrIGlmIGEgc3RyaW5nIGlzIG93bmVkIGJ5IHRoZSBkaXNjdGlvbmFyeQorICoKKyAqIFJldHVybnMgMSBpZiB0cnVlLCAwIGlmIGZhbHNlIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yCisgKiAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK2ludAoreG1sRGljdE93bnMoeG1sRGljdFB0ciBkaWN0LCBjb25zdCB4bWxDaGFyICpzdHIpIHsKKyAgICB4bWxEaWN0U3RyaW5nc1B0ciBwb29sOworCisgICAgaWYgKChkaWN0ID09IE5VTEwpIHx8IChzdHIgPT0gTlVMTCkpCisJcmV0dXJuKC0xKTsKKyAgICBwb29sID0gZGljdC0+c3RyaW5nczsKKyAgICB3aGlsZSAocG9vbCAhPSBOVUxMKSB7CisgICAgICAgIGlmICgoc3RyID49ICZwb29sLT5hcnJheVswXSkgJiYgKHN0ciA8PSBwb29sLT5mcmVlKSkKKwkgICAgcmV0dXJuKDEpOworCXBvb2wgPSBwb29sLT5uZXh0OworICAgIH0KKyAgICBpZiAoZGljdC0+c3ViZGljdCkKKyAgICAgICAgcmV0dXJuKHhtbERpY3RPd25zKGRpY3QtPnN1YmRpY3QsIHN0cikpOworICAgIHJldHVybigwKTsKK30KKworLyoqCisgKiB4bWxEaWN0U2l6ZToKKyAqIEBkaWN0OiB0aGUgZGljdGlvbm5hcnkKKyAqCisgKiBRdWVyeSB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzIGluc3RhbGxlZCBpbiB0aGUgaGFzaCBAZGljdC4KKyAqCisgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgZWxlbWVudHMgaW4gdGhlIGRpY3Rpb25uYXJ5IG9yCisgKiAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK2ludAoreG1sRGljdFNpemUoeG1sRGljdFB0ciBkaWN0KSB7CisgICAgaWYgKGRpY3QgPT0gTlVMTCkKKwlyZXR1cm4oLTEpOworICAgIGlmIChkaWN0LT5zdWJkaWN0KQorICAgICAgICByZXR1cm4oZGljdC0+bmJFbGVtcyArIGRpY3QtPnN1YmRpY3QtPm5iRWxlbXMpOworICAgIHJldHVybihkaWN0LT5uYkVsZW1zKTsKK30KKworLyoqCisgKiB4bWxEaWN0U2V0TGltaXQ6CisgKiBAZGljdDogdGhlIGRpY3Rpb25uYXJ5CisgKiBAbGltaXQ6IHRoZSBsaW1pdCBpbiBieXRlcworICoKKyAqIFNldCBhIHNpemUgbGltaXQgZm9yIHRoZSBkaWN0aW9uYXJ5CisgKiBBZGRlZCBpbiAyLjkuMAorICoKKyAqIFJldHVybnMgdGhlIHByZXZpb3VzIGxpbWl0IG9mIHRoZSBkaWN0aW9uYXJ5IG9yIDAKKyAqLworc2l6ZV90Cit4bWxEaWN0U2V0TGltaXQoeG1sRGljdFB0ciBkaWN0LCBzaXplX3QgbGltaXQpIHsKKyAgICBzaXplX3QgcmV0OworCisgICAgaWYgKGRpY3QgPT0gTlVMTCkKKwlyZXR1cm4oMCk7CisgICAgcmV0ID0gZGljdC0+bGltaXQ7CisgICAgZGljdC0+bGltaXQgPSBsaW1pdDsKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxEaWN0R2V0VXNhZ2U6CisgKiBAZGljdDogdGhlIGRpY3Rpb25uYXJ5CisgKgorICogR2V0IGhvdyBtdWNoIG1lbW9yeSBpcyB1c2VkIGJ5IGEgZGljdGlvbmFyeSBmb3Igc3RyaW5ncworICogQWRkZWQgaW4gMi45LjAKKyAqCisgKiBSZXR1cm5zIHRoZSBhbW91bnQgb2Ygc3RyaW5ncyBhbGxvY2F0ZWQKKyAqLworc2l6ZV90Cit4bWxEaWN0R2V0VXNhZ2UoeG1sRGljdFB0ciBkaWN0KSB7CisgICAgeG1sRGljdFN0cmluZ3NQdHIgcG9vbDsKKyAgICBzaXplX3QgbGltaXQgPSAwOworCisgICAgaWYgKGRpY3QgPT0gTlVMTCkKKwlyZXR1cm4oMCk7CisgICAgcG9vbCA9IGRpY3QtPnN0cmluZ3M7CisgICAgd2hpbGUgKHBvb2wgIT0gTlVMTCkgeworICAgICAgICBsaW1pdCArPSBwb29sLT5zaXplOworCXBvb2wgPSBwb29sLT5uZXh0OworICAgIH0KKyAgICByZXR1cm4obGltaXQpOworfQorCisjZGVmaW5lIGJvdHRvbV9kaWN0CisjaW5jbHVkZSAiZWxmZ2NjaGFjay5oIgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvQVBJY2h1bmswLmh0bWwgYi9saWJ4bWwyL2RvYy9BUEljaHVuazAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jOTBlMDQyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvQVBJY2h1bmswLmh0bWwKQEAgLTAsMCArMSwzMDEgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+PGxpbmsgcmVsPSJTSE9SVENVVCBJQ09OIiBocmVmPSIvZmF2aWNvbi5pY28iIC8+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK1REIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitCT0RZIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2E7IG1hcmdpbi10b3A6IDJlbTsgbWFyZ2luLWxlZnQ6IDBlbTsgbWFyZ2luLXJpZ2h0OiAwZW19CitIMSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDIge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gzIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitBOmxpbmssIEE6dmlzaXRlZCwgQTphY3RpdmUgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB9Cis8L3N0eWxlPjx0aXRsZT5BUEkgQWxwaGFiZXRpYyBJbmRleCBBLUIgZm9yIGxpYnhtbDI8L3RpdGxlPjwvaGVhZD48Ym9keSBiZ2NvbG9yPSIjOGI3NzY1IiB0ZXh0PSIjMDAwMDAwIiBsaW5rPSIjYTA2MDYwIiB2bGluaz0iIzAwMDAwMCI+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjEwMCUiIGNlbGxwYWRkaW5nPSI1IiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCB3aWR0aD0iMTIwIj48YSBocmVmPSJodHRwOi8vc3dwYXQuZmZpaS5vcmcvIj48aW1nIHNyYz0iZXBhdGVudHMucG5nIiBhbHQ9IkFjdGlvbiBhZ2FpbnN0IHNvZnR3YXJlIHBhdGVudHMiIC8+PC9hPjwvdGQ+PHRkIHdpZHRoPSIxODAiPjxhIGhyZWY9Imh0dHA6Ly93d3cuZ25vbWUub3JnLyI+PGltZyBzcmM9Imdub21lMi5wbmciIGFsdD0iR25vbWUyIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1N0YXR1cyI+PGltZyBzcmM9InczYy5wbmciIGFsdD0iVzNDIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cucmVkaGF0LmNvbS8iPjxpbWcgc3JjPSJyZWRoYXQuZ2lmIiBhbHQ9IlJlZCBIYXQgTG9nbyIgLz48L2E+PGRpdiBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnLyI+PGltZyBzcmM9IkxpYnhtbDItTG9nby0xODB4MTY4LmdpZiIgYWx0PSJNYWRlIHdpdGggTGlieG1sMiBMb2dvIiAvPjwvYT48L2Rpdj48L3RkPjx0ZD48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iOTAlIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyIgYmdjb2xvcj0iI2ZmZmFjZCI+PHRyPjx0ZCBhbGlnbj0iY2VudGVyIj48aDE+VGhlIFhNTCBDIHBhcnNlciBhbmQgdG9vbGtpdCBvZiBHbm9tZTwvaDE+PGgyPkFQSSBBbHBoYWJldGljIEluZGV4IEEtQiBmb3IgbGlieG1sMjwvaDI+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjQiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiIHdpZHRoPSIxMDAlIj48dHI+PHRkIHZhbGlnbj0idG9wIiB3aWR0aD0iMjAwIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5EZXZlbG9wZXIgTWVudTwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48Zm9ybSBhY3Rpb249InNlYXJjaC5waHAiIGVuY3R5cGU9ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIgbWV0aG9kPSJnZXQiPjxpbnB1dCBuYW1lPSJxdWVyeSIgdHlwZT0idGV4dCIgc2l6ZT0iMjAiIHZhbHVlPSIiIC8+PGlucHV0IG5hbWU9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU2VhcmNoIC4uLiIgLz48L2Zvcm0+PHVsPjxsaT48YSBocmVmPSJpbmRleC5odG1sIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+TWFpbiBNZW51PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0bWwvaW5kZXguaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPlJlZmVyZW5jZSBNYW51YWw8L2E+PC9saT48bGk+PGEgaHJlZj0iZXhhbXBsZXMvaW5kZXguaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPkNvZGUgRXhhbXBsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iZ3VpZGVsaW5lcy5odG1sIj5YTUwgR3VpZGVsaW5lczwvYT48L2xpPjxsaT48YSBocmVmPSJ0dXRvcmlhbC9pbmRleC5odG1sIj5UdXRvcmlhbDwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWxyZWFkZXIuaHRtbCI+VGhlIFJlYWRlciBJbnRlcmZhY2U8L2E+PC9saT48bGk+PGEgaHJlZj0iQ2hhbmdlTG9nLmh0bWwiPkNoYW5nZUxvZzwvYT48L2xpPjxsaT48YSBocmVmPSJYU0xULmh0bWwiPlhTTFQ8L2E+PC9saT48bGk+PGEgaHJlZj0icHl0aG9uLmh0bWwiPlB5dGhvbiBhbmQgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iYXJjaGl0ZWN0dXJlLmh0bWwiPmxpYnhtbDIgYXJjaGl0ZWN0dXJlPC9hPjwvbGk+PGxpPjxhIGhyZWY9InRyZWUuaHRtbCI+VGhlIHRyZWUgb3V0cHV0PC9hPjwvbGk+PGxpPjxhIGhyZWY9ImludGVyZmFjZS5odG1sIj5UaGUgU0FYIGludGVyZmFjZTwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWxtZW0uaHRtbCI+TWVtb3J5IE1hbmFnZW1lbnQ8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1saW8uaHRtbCI+SS9PIEludGVyZmFjZXM8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlicmFyeS5odG1sIj5UaGUgcGFyc2VyIGludGVyZmFjZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iZW50aXRpZXMuaHRtbCI+RW50aXRpZXMgb3Igbm8gZW50aXRpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0ibmFtZXNwYWNlcy5odG1sIj5OYW1lc3BhY2VzPC9hPjwvbGk+PGxpPjxhIGhyZWY9InVwZ3JhZGUuaHRtbCI+VXBncmFkaW5nIDEueCBjb2RlPC9hPjwvbGk+PGxpPjxhIGhyZWY9InRocmVhZHMuaHRtbCI+VGhyZWFkIHNhZmV0eTwvYT48L2xpPjxsaT48YSBocmVmPSJET00uaHRtbCI+RE9NIFByaW5jaXBsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iZXhhbXBsZS5odG1sIj5BIHJlYWwgZXhhbXBsZTwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWwuaHRtbCI+ZmxhdCBwYWdlPC9hPiwgPGEgaHJlZj0ic2l0ZS54c2wiPnN0eWxlc2hlZXQ8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5BUEkgSW5kZXhlczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9IkFQSWNodW5rMC5odG1sIj5BbHBoYWJldGljPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkFQSWNvbnN0cnVjdG9ycy5odG1sIj5Db25zdHJ1Y3RvcnM8L2E+PC9saT48bGk+PGEgaHJlZj0iQVBJZnVuY3Rpb25zLmh0bWwiPkZ1bmN0aW9ucy9UeXBlczwvYT48L2xpPjxsaT48YSBocmVmPSJBUElmaWxlcy5odG1sIj5Nb2R1bGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkFQSXN5bWJvbHMuaHRtbCI+U3ltYm9sczwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPlJlbGF0ZWQgbGlua3M8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSJodHRwOi8vbWFpbC5nbm9tZS5vcmcvYXJjaGl2ZXMveG1sLyI+TWFpbCBhcmNoaXZlPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9YU0xULyI+WFNMVCBsaWJ4c2x0PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9waGQuY3MudW5pYm8uaXQvZ2RvbWUyLyI+RE9NIGdkb21lMjwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmFsZWtzZXkuY29tL3htbHNlYy8iPlhNTC1EU2lnIHhtbHNlYzwvYT48L2xpPjxsaT48YSBocmVmPSJmdHA6Ly94bWxzb2Z0Lm9yZy8iPkZUUDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnpsYXRrb3ZpYy5jb20vcHJvamVjdHMvbGlieG1sLyI+V2luZG93cyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vb3BlbmNzdy5vcmcvcGFja2FnZXMvbGlieG1sMiI+U29sYXJpcyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmV4cGxhaW4uY29tLmF1L29zcy9saWJ4bWwyeHNsdC5odG1sIj5NYWNPc1ggYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2x4bWwuZGUvIj5seG1sIFB5dGhvbiBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vY3Bhbi51d2lubmlwZWcuY2EvZGlzdC9YTUwtTGliWE1MIj5QZXJsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWxwbHVzcGx1cy5zb3VyY2Vmb3JnZS5uZXQvIj5DKysgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56ZW5kLmNvbS9waHA1L2FydGljbGVzL3BocDUteG1scGhwLnBocCNIZWFkaW5nNCI+UEhQIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbGlieG1sMi1wYXMvIj5QYXNjYWwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbC5ydWJ5Zm9yZ2Uub3JnLyI+UnVieSBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vdGNseG1sLnNvdXJjZWZvcmdlLm5ldC8iPlRjbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2J1Z2xpc3QuY2dpP3Byb2R1Y3Q9bGlieG1sMiI+QnVnIFRyYWNrZXI8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48aDIgYWxpZ249ImNlbnRlciI+PGEgaHJlZj0iQVBJY2h1bmswLmh0bWwiPkEtQjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMS5odG1sIj5DLUM8L2E+Cis8YSBocmVmPSJBUEljaHVuazIuaHRtbCI+RC1FPC9hPgorPGEgaHJlZj0iQVBJY2h1bmszLmh0bWwiPkYtSTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNC5odG1sIj5KLU48L2E+Cis8YSBocmVmPSJBUEljaHVuazUuaHRtbCI+Ty1QPC9hPgorPGEgaHJlZj0iQVBJY2h1bms2Lmh0bWwiPlEtUjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNy5odG1sIj5TLVM8L2E+Cis8YSBocmVmPSJBUEljaHVuazguaHRtbCI+VC1VPC9hPgorPGEgaHJlZj0iQVBJY2h1bms5Lmh0bWwiPlYtWDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTAuaHRtbCI+WS1hPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMS5odG1sIj5iLWI8L2E+Cis8YSBocmVmPSJBUEljaHVuazEyLmh0bWwiPmMtYzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTMuaHRtbCI+ZC1kPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNC5odG1sIj5lLWU8L2E+Cis8YSBocmVmPSJBUEljaHVuazE1Lmh0bWwiPmYtZjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTYuaHRtbCI+Zy1oPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNy5odG1sIj5pLWk8L2E+Cis8YSBocmVmPSJBUEljaHVuazE4Lmh0bWwiPmotbDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTkuaHRtbCI+bS1tPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMC5odG1sIj5uLW48L2E+Cis8YSBocmVmPSJBUEljaHVuazIxLmh0bWwiPm8tbzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjIuaHRtbCI+cC1wPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMy5odG1sIj5xLXI8L2E+Cis8YSBocmVmPSJBUEljaHVuazI0Lmh0bWwiPnMtczwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjUuaHRtbCI+dC10PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNi5odG1sIj51LXY8L2E+Cis8YSBocmVmPSJBUEljaHVuazI3Lmh0bWwiPnctdzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjguaHRtbCI+eC14PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyOS5odG1sIj55LXo8L2E+Cis8L2gyPjxoMj5MZXR0ZXIgQTo8L2gyPjxkbD48ZHQ+QS1aPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sQ2hlY2tMYW5ndWFnZUlEIj54bWxDaGVja0xhbmd1YWdlSUQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5BLVphLXo8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVuY05hbWUiPnhtbFBhcnNlRW5jTmFtZTwvYT48YnIgLz4KKzwvZGQ+PGR0PkEtWmEtejAtOTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRW5jTmFtZSI+eG1sUGFyc2VFbmNOYW1lPC9hPjxiciAvPgorPC9kZD48ZHQ+QUJDPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFRyYW5zbGF0ZUZ1bmN0aW9uIj54bWxYUGF0aFRyYW5zbGF0ZUZ1bmN0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+QUJJPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNfeG1sRXJyb3IiPl94bWxFcnJvcjwvYT48YnIgLz4KKzwvZGQ+PGR0PkFMTDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdBbGxUcmFucyI+eG1sQXV0b21hdGFOZXdBbGxUcmFuczwvYT48YnIgLz4KKzwvZGQ+PGR0PkFOWTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sSXNNaXhlZEVsZW1lbnQiPnhtbElzTWl4ZWRFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbGVtZW50Q29udGVudERlY2wiPnhtbFBhcnNlRWxlbWVudENvbnRlbnREZWNsPC9hPjxiciAvPgorPC9kZD48ZHQ+QVBJczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfTEVHQUNZX0VOQUJMRUQiPkxJQlhNTF9MRUdBQ1lfRU5BQkxFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZGF0ZVNldEZpbGVuYW1lIj54bWxTY2hlbWFWYWxpZGF0ZVNldEZpbGVuYW1lPC9hPjxiciAvPgorPC9kZD48ZHQ+QVJSQVk8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJsZW4iPnhtbFN0cmxlbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFVURjhTdHJzaXplIj54bWxVVEY4U3Ryc2l6ZTwvYT48YnIgLz4KKzwvZGQ+PGR0PkFTQ0lJPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI1VURjhUb0h0bWwiPlVURjhUb0h0bWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1ET0NCcGFyc2VyLmh0bWwjZG9jYkVuY29kZUVudGl0aWVzIj5kb2NiRW5jb2RlRW50aXRpZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEVuY29kZUVudGl0aWVzIj5odG1sRW5jb2RlRW50aXRpZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbEFkZEVuY29kaW5nQWxpYXMiPnhtbEFkZEVuY29kaW5nQWxpYXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbERlbEVuY29kaW5nQWxpYXMiPnhtbERlbEVuY29kaW5nQWxpYXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI3htbEVuY29kZUVudGl0aWVzUmVlbnRyYW50Ij54bWxFbmNvZGVFbnRpdGllc1JlZW50cmFudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sR2V0RW5jb2RpbmdBbGlhcyI+eG1sR2V0RW5jb2RpbmdBbGlhczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1vZHVsZS5odG1sI3htbE1vZHVsZU9wZW4iPnhtbE1vZHVsZU9wZW48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtb2R1bGUuaHRtbCN4bWxNb2R1bGVTeW1ib2wiPnhtbE1vZHVsZVN5bWJvbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sTmV3Q2hhckVuY29kaW5nSGFuZGxlciI+eG1sTmV3Q2hhckVuY29kaW5nSGFuZGxlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sUGFyc2VDaGFyRW5jb2RpbmciPnhtbFBhcnNlQ2hhckVuY29kaW5nPC9hPjxiciAvPgorPC9kZD48ZHQ+QVRUTElTVDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJTdGFydERUREF0dGxpc3QiPnhtbFRleHRXcml0ZXJTdGFydERUREF0dGxpc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyU3RhcnREVERFbnRpdHkiPnhtbFRleHRXcml0ZXJTdGFydERUREVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZURUREF0dGxpc3QiPnhtbFRleHRXcml0ZXJXcml0ZURUREF0dGxpc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVERBdHRsaXN0Ij54bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVERBdHRsaXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREF0dGxpc3QiPnhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVERBdHRsaXN0PC9hPjxiciAvPgorPC9kZD48ZHQ+QVRUUklCVVRFPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEFkZENoaWxkIj54bWxBZGRDaGlsZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxBZGROZXh0U2libGluZyI+eG1sQWRkTmV4dFNpYmxpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQWRkUHJldlNpYmxpbmciPnhtbEFkZFByZXZTaWJsaW5nPC9hPjxiciAvPgorPC9kZD48ZHQ+QWJzb2x1dGU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxCdWlsZFVSSSI+eG1sQnVpbGRVUkk8L2E+PGJyIC8+Cis8L2RkPjxkdD5BY2Nlc3NvcjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUdldFZhbFR5cGUiPnhtbFNjaGVtYUdldFZhbFR5cGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFWYWx1ZUdldEFzQm9vbGVhbiI+eG1sU2NoZW1hVmFsdWVHZXRBc0Jvb2xlYW48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFWYWx1ZUdldEFzU3RyaW5nIj54bWxTY2hlbWFWYWx1ZUdldEFzU3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hVmFsdWVHZXROZXh0Ij54bWxTY2hlbWFWYWx1ZUdldE5leHQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5BY3RpdmF0aW9uPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclJlbGF4TkdTZXRTY2hlbWEiPnhtbFRleHRSZWFkZXJSZWxheE5HU2V0U2NoZW1hPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZSI+eG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJSZWxheE5HVmFsaWRhdGVDdHh0Ij54bWxUZXh0UmVhZGVyUmVsYXhOR1ZhbGlkYXRlQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZSI+eG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlQ3R4dCI+eG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJTZXRTY2hlbWEiPnhtbFRleHRSZWFkZXJTZXRTY2hlbWE8L2E+PGJyIC8+Cis8L2RkPjxkdD5BY3R1YWxseTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX1ZBUklFVFlfQUJTRU5UIj5YTUxfU0NIRU1BU19UWVBFX1ZBUklFVFlfQUJTRU5UPC9hPjxiciAvPgorPC9kZD48ZHQ+QWRkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbEFDYXRhbG9nQWRkIj54bWxBQ2F0YWxvZ0FkZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxBZGRDaGlsZCI+eG1sQWRkQ2hpbGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQWRkQ2hpbGRMaXN0Ij54bWxBZGRDaGlsZExpc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQWRkTmV4dFNpYmxpbmciPnhtbEFkZE5leHRTaWJsaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEFkZFByZXZTaWJsaW5nIj54bWxBZGRQcmV2U2libGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxBZGRTaWJsaW5nIj54bWxBZGRTaWJsaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlckFkZCI+eG1sQnVmZmVyQWRkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlckFkZEhlYWQiPnhtbEJ1ZmZlckFkZEhlYWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ0FkZCI+eG1sQ2F0YWxvZ0FkZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nQWRkTG9jYWwiPnhtbENhdGFsb2dBZGRMb2NhbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0TG9va3VwIj54bWxEaWN0TG9va3VwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGljdC5odG1sI3htbERpY3RRTG9va3VwIj54bWxEaWN0UUxvb2t1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoQWRkRW50cnkiPnhtbEhhc2hBZGRFbnRyeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoQWRkRW50cnkyIj54bWxIYXNoQWRkRW50cnkyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hBZGRFbnRyeTMiPnhtbEhhc2hBZGRFbnRyeTM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFVwZGF0ZUVudHJ5Ij54bWxIYXNoVXBkYXRlRW50cnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFVwZGF0ZUVudHJ5MiI+eG1sSGFzaFVwZGF0ZUVudHJ5MjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoVXBkYXRlRW50cnkzIj54bWxIYXNoVXBkYXRlRW50cnkzPC9hPjxiciAvPgorPC9kZD48ZHQ+QWRkZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1kaWN0Lmh0bWwjeG1sRGljdEdldFVzYWdlIj54bWxEaWN0R2V0VXNhZ2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kaWN0Lmh0bWwjeG1sRGljdFNldExpbWl0Ij54bWxEaWN0U2V0TGltaXQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5BZGRpdGlvbmFsPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI19odG1sRWxlbURlc2MiPl9odG1sRWxlbURlc2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sQ2xlYW51cEdsb2JhbHMiPnhtbENsZWFudXBHbG9iYWxzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbEluaXRHbG9iYWxzIj54bWxJbml0R2xvYmFsczwvYT48YnIgLz4KKzwvZGQ+PGR0PkFlZ2Vhbk51bWJlcnM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNBZWdlYW5OdW1iZXJzIj54bWxVQ1NJc0FlZ2Vhbk51bWJlcnM8L2E+PGJyIC8+Cis8L2RkPjxkdD5BbGw8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjX3htbFNjaGVtYSI+X3htbFNjaGVtYTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNfeG1sU2NoZW1hVHlwZSI+X3htbFNjaGVtYVR5cGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUEdldCI+eG1sTmFub0ZUUEdldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQTGlzdCI+eG1sTmFub0ZUUExpc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUF0dFZhbHVlIj54bWxQYXJzZUF0dFZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlckVuZERvY3VtZW50Ij54bWxUZXh0V3JpdGVyRW5kRG9jdW1lbnQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5BbGxvY2F0ZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sTmV3UGFyc2VyQ3R4dCI+aHRtbE5ld1BhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUE5ld0N0eHQiPnhtbE5hbm9GVFBOZXdDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxOZXdEb2NFbGVtZW50Q29udGVudCI+eG1sTmV3RG9jRWxlbWVudENvbnRlbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbE5ld0VsZW1lbnRDb250ZW50Ij54bWxOZXdFbGVtZW50Q29udGVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbE5ld1BhcnNlckN0eHQiPnhtbE5ld1BhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbE5ld1ZhbGlkQ3R4dCI+eG1sTmV3VmFsaWRDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hTmV3RmFjZXQiPnhtbFNjaGVtYU5ld0ZhY2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hTmV3Tk9UQVRJT05WYWx1ZSI+eG1sU2NoZW1hTmV3Tk9UQVRJT05WYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYU5ld1FOYW1lVmFsdWUiPnhtbFNjaGVtYU5ld1FOYW1lVmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFOZXdTdHJpbmdWYWx1ZSI+eG1sU2NoZW1hTmV3U3RyaW5nVmFsdWU8L2E+PGJyIC8+Cis8L2RkPjxkdD5BbGxvY2F0ZXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcE5ld0N0eHQiPnhtbERPTVdyYXBOZXdDdHh0PC9hPjxiciAvPgorPC9kZD48ZHQ+QWxsb3dzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dTZXREZWZhdWx0UHJlZmVyIj54bWxDYXRhbG9nU2V0RGVmYXVsdFByZWZlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZGF0ZVNldExvY2F0b3IiPnhtbFNjaGVtYVZhbGlkYXRlU2V0TG9jYXRvcjwvYT48YnIgLz4KKzwvZGQ+PGR0PkFscGhhYmV0aWNQcmVzZW50YXRpb25Gb3JtczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0FscGhhYmV0aWNQcmVzZW50YXRpb25Gb3JtcyI+eG1sVUNTSXNBbHBoYWJldGljUHJlc2VudGF0aW9uRm9ybXM8L2E+PGJyIC8+Cis8L2RkPjxkdD5BbHNvPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hlY2tVVEY4Ij54bWxDaGVja1VURjg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUF0dHJpYnV0ZSI+eG1sUGFyc2VBdHRyaWJ1dGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkQ3R4dE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlIj54bWxWYWxpZEN0eHROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZTwvYT48YnIgLz4KKzwvZGQ+PGR0PkFsd2F5czwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTX0NPTUJJTklOR19DSCI+SVNfQ09NQklOSU5HX0NIPC9hPjxiciAvPgorPC9kZD48ZHQ+QXBwZW5kPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlckNDYXQiPnhtbEJ1ZmZlckNDYXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyQ2F0Ij54bWxCdWZmZXJDYXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUFkZENvbnRlbnQiPnhtbE5vZGVBZGRDb250ZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVBZGRDb250ZW50TGVuIj54bWxOb2RlQWRkQ29udGVudExlbjwvYT48YnIgLz4KKzwvZGQ+PGR0PkFwcGVuZGl4PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnZXhwQ29tcGlsZSI+eG1sUmVnZXhwQ29tcGlsZTwvYT48YnIgLz4KKzwvZGQ+PGR0PkFwcGVuZHM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFWYWx1ZUFwcGVuZCI+eG1sU2NoZW1hVmFsdWVBcHBlbmQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5BcHBsaWVzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxDdHh0VXNlT3B0aW9ucyI+aHRtbEN0eHRVc2VPcHRpb25zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ3R4dFVzZU9wdGlvbnMiPnhtbEN0eHRVc2VPcHRpb25zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sTm9ybWFsaXplVVJJUGF0aCI+eG1sTm9ybWFsaXplVVJJUGF0aDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb21waWxlZEV2YWxUb0Jvb2xlYW4iPnhtbFhQYXRoQ29tcGlsZWRFdmFsVG9Cb29sZWFuPC9hPjxiciAvPgorPC9kZD48ZHQ+QXBwbHk8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfQU5ZQVRUUl9TVFJJQ1QiPlhNTF9TQ0hFTUFTX0FOWUFUVFJfU1RSSUNUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0FOWV9TVFJJQ1QiPlhNTF9TQ0hFTUFTX0FOWV9TVFJJQ1Q8L2E+PGJyIC8+Cis8L2RkPjxkdD5BcmFiaWM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNBcmFiaWMiPnhtbFVDU0lzQXJhYmljPC9hPjxiciAvPgorPC9kZD48ZHQ+QXJhYmljUHJlc2VudGF0aW9uRm9ybXMtQTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0FyYWJpY1ByZXNlbnRhdGlvbkZvcm1zQSI+eG1sVUNTSXNBcmFiaWNQcmVzZW50YXRpb25Gb3Jtc0E8L2E+PGJyIC8+Cis8L2RkPjxkdD5BcmFiaWNQcmVzZW50YXRpb25Gb3Jtcy1CPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQXJhYmljUHJlc2VudGF0aW9uRm9ybXNCIj54bWxVQ1NJc0FyYWJpY1ByZXNlbnRhdGlvbkZvcm1zQjwvYT48YnIgLz4KKzwvZGQ+PGR0PkFybWVuaWFuPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQXJtZW5pYW4iPnhtbFVDU0lzQXJtZW5pYW48L2E+PGJyIC8+Cis8L2RkPjxkdD5BcnJheTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjX3htbFhQYXRoQ29udGV4dCI+X3htbFhQYXRoQ29udGV4dDwvYT48YnIgLz4KKzwvZGQ+PGR0PkFycm93czwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0Fycm93cyI+eG1sVUNTSXNBcnJvd3M8L2E+PGJyIC8+Cis8L2RkPjxkdD5Bc3NvY2lhdGU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2V0TnMiPnhtbFNldE5zPC9hPjxiciAvPgorPC9kZD48ZHQ+QXR0PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VTdGFydFRhZyI+eG1sUGFyc2VTdGFydFRhZzwvYT48YnIgLz4KKzwvZGQ+PGR0PkF0dERlZjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQXR0cmlidXRlTGlzdERlY2wiPnhtbFBhcnNlQXR0cmlidXRlTGlzdERlY2w8L2E+PGJyIC8+Cis8L2RkPjxkdD5BdHRUeXBlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VBdHRyaWJ1dGVMaXN0RGVjbCI+eG1sUGFyc2VBdHRyaWJ1dGVMaXN0RGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQXR0cmlidXRlVHlwZSI+eG1sUGFyc2VBdHRyaWJ1dGVUeXBlPC9hPjxiciAvPgorPC9kZD48ZHQ+QXR0VmFsdWU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlRWxlbWVudCI+aHRtbFBhcnNlRWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQXR0VmFsdWUiPnhtbFBhcnNlQXR0VmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUF0dHJpYnV0ZSI+eG1sUGFyc2VBdHRyaWJ1dGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZURlZmF1bHREZWNsIj54bWxQYXJzZURlZmF1bHREZWNsPC9hPjxiciAvPgorPC9kZD48ZHQ+QXR0bGlzdERlY2w8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUF0dHJpYnV0ZUxpc3REZWNsIj54bWxQYXJzZUF0dHJpYnV0ZUxpc3REZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VNYXJrdXBEZWNsIj54bWxQYXJzZU1hcmt1cERlY2w8L2E+PGJyIC8+Cis8L2RkPjxkdD5BdHRyaWJ1dGU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjX3htbEF0dHJpYnV0ZSI+X3htbEF0dHJpYnV0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sTm9kZVN0YXR1cyI+aHRtbE5vZGVTdGF0dXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlRWxlbWVudCI+aHRtbFBhcnNlRWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQXR0cmlidXRlIj54bWxQYXJzZUF0dHJpYnV0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQXR0cmlidXRlTGlzdERlY2wiPnhtbFBhcnNlQXR0cmlidXRlTGlzdERlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUF0dHJpYnV0ZVR5cGUiPnhtbFBhcnNlQXR0cmlidXRlVHlwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRGVmYXVsdERlY2wiPnhtbFBhcnNlRGVmYXVsdERlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZVN0YXJ0VGFnIj54bWxQYXJzZVN0YXJ0VGFnPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlcklzRGVmYXVsdCI+eG1sVGV4dFJlYWRlcklzRGVmYXVsdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJNb3ZlVG9FbGVtZW50Ij54bWxUZXh0UmVhZGVyTW92ZVRvRWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVBdHRyaWJ1dGVEZWNsIj54bWxWYWxpZGF0ZUF0dHJpYnV0ZURlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlT25lQXR0cmlidXRlIj54bWxWYWxpZGF0ZU9uZUF0dHJpYnV0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVPbmVFbGVtZW50Ij54bWxWYWxpZGF0ZU9uZUVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlT25lTmFtZXNwYWNlIj54bWxWYWxpZGF0ZU9uZU5hbWVzcGFjZTwvYT48YnIgLz4KKzwvZGQ+PGR0PkF0dHJpYnV0ZS1WYWx1ZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQXR0VmFsdWUiPnhtbFBhcnNlQXR0VmFsdWU8L2E+PGJyIC8+Cis8L2RkPjxkdD5BdHRyaWJ1dGVzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI19odG1sRWxlbURlc2MiPl9odG1sRWxlbURlc2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZU5vdGF0aW9uVHlwZSI+eG1sUGFyc2VOb3RhdGlvblR5cGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlT25lQXR0cmlidXRlIj54bWxWYWxpZGF0ZU9uZUF0dHJpYnV0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVPbmVOYW1lc3BhY2UiPnhtbFZhbGlkYXRlT25lTmFtZXNwYWNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyQnVpbGROb2RlTGlzdCI+eG1sWFB0ckJ1aWxkTm9kZUxpc3Q8L2E+PGJyIC8+Cis8L2RkPjxkdD5BdXRvbWF0aWM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1ET0NCcGFyc2VyLmh0bWwjZG9jYkNyZWF0ZUZpbGVQYXJzZXJDdHh0Ij5kb2NiQ3JlYXRlRmlsZVBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1ET0NCcGFyc2VyLmh0bWwjZG9jYlBhcnNlRmlsZSI+ZG9jYlBhcnNlRmlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiU0FYUGFyc2VGaWxlIj5kb2NiU0FYUGFyc2VGaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjaHRtbENyZWF0ZUZpbGVQYXJzZXJDdHh0Ij5odG1sQ3JlYXRlRmlsZVBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlRmlsZSI+aHRtbFBhcnNlRmlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sU0FYUGFyc2VGaWxlIj5odG1sU0FYUGFyc2VGaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sQ3JlYXRlRW50aXR5UGFyc2VyQ3R4dCI+eG1sQ3JlYXRlRW50aXR5UGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbENyZWF0ZUZpbGVQYXJzZXJDdHh0Ij54bWxDcmVhdGVGaWxlUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbENyZWF0ZVVSTFBhcnNlckN0eHQiPnhtbENyZWF0ZVVSTFBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lIj54bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlRmlsZSI+eG1sUGFyc2VGaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lIj54bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUmVjb3ZlckZpbGUiPnhtbFJlY292ZXJGaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYUGFyc2VGaWxlIj54bWxTQVhQYXJzZUZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxTQVhQYXJzZUZpbGVXaXRoRGF0YSI+eG1sU0FYUGFyc2VGaWxlV2l0aERhdGE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxTQVhVc2VyUGFyc2VGaWxlIj54bWxTQVhVc2VyUGFyc2VGaWxlPC9hPjxiciAvPgorPC9kZD48ZHQ+QXV0b21hdGljYWxseTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc0Jhc2VDaGFyUSI+eG1sSXNCYXNlQ2hhclE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNCYXNlQ2hhcl9jaCI+eG1sSXNCYXNlQ2hhcl9jaDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc0JsYW5rUSI+eG1sSXNCbGFua1E8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNCbGFua19jaCI+eG1sSXNCbGFua19jaDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc0NoYXJRIj54bWxJc0NoYXJRPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzQ2hhcl9jaCI+eG1sSXNDaGFyX2NoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzQ29tYmluaW5nUSI+eG1sSXNDb21iaW5pbmdRPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzRGlnaXRRIj54bWxJc0RpZ2l0UTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc0RpZ2l0X2NoIj54bWxJc0RpZ2l0X2NoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzRXh0ZW5kZXJRIj54bWxJc0V4dGVuZGVyUTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc0V4dGVuZGVyX2NoIj54bWxJc0V4dGVuZGVyX2NoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzSWRlb2dyYXBoaWNRIj54bWxJc0lkZW9ncmFwaGljUTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc1B1YmlkQ2hhclEiPnhtbElzUHViaWRDaGFyUTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc1B1YmlkQ2hhcl9jaCI+eG1sSXNQdWJpZENoYXJfY2g8L2E+PGJyIC8+Cis8L2RkPjwvZGw+PGgyPkxldHRlciBCOjwvaDI+PGRsPjxkdD5CQVNFPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVHZXRCYXNlIj54bWxOb2RlR2V0QmFzZTwvYT48YnIgLz4KKzwvZGQ+PGR0PkJBcjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhUcmFuc2xhdGVGdW5jdGlvbiI+eG1sWFBhdGhUcmFuc2xhdGVGdW5jdGlvbjwvYT48YnIgLz4KKzwvZGQ+PGR0PkJPTTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY091dEZ1bmMiPnhtbENoYXJFbmNPdXRGdW5jPC9hPjxiciAvPgorPC9kZD48ZHQ+QmFsYW5jZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnkiPnhtbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXIiPnhtbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUVudGl0eSI+eG1sUGFyc2VFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUluTm9kZUNvbnRleHQiPnhtbFBhcnNlSW5Ob2RlQ29udGV4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNBWFBhcnNlRW50aXR5Ij54bWxTQVhQYXJzZUVudGl0eTwvYT48YnIgLz4KKzwvZGQ+PGR0PkJhc2U8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNfeG1sUGFyc2VySW5wdXQiPl94bWxQYXJzZXJJbnB1dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNfeG1sU2NoZW1hVHlwZSI+X3htbFNjaGVtYVR5cGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUdldEJhc2UiPnhtbE5vZGVHZXRCYXNlPC9hPjxiciAvPgorPC9kZD48ZHQ+QmFzZUNoYXI8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNJU19CQVNFQ0hBUiI+SVNfQkFTRUNIQVI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNJU19MRVRURVIiPklTX0xFVFRFUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbElzTGV0dGVyIj54bWxJc0xldHRlcjwvYT48YnIgLz4KKzwvZGQ+PGR0PkJhc2VkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwRXhwRGVyaXZlIj54bWxFeHBFeHBEZXJpdmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoSXNJbmYiPnhtbFhQYXRoSXNJbmY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoSXNOYU4iPnhtbFhQYXRoSXNOYU48L2E+PGJyIC8+Cis8L2RkPjxkdD5CYXNpY0xhdGluPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQmFzaWNMYXRpbiI+eG1sVUNTSXNCYXNpY0xhdGluPC9hPjxiciAvPgorPC9kZD48ZHQ+QmFzaWNhbGx5PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZUR0ZCI+eG1sVmFsaWRhdGVEdGQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5CZWZvcmU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUF0dFZhbHVlIj54bWxQYXJzZUF0dFZhbHVlPC9hPjxiciAvPgorPC9kZD48ZHQ+QmVoYXZlczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTX0NIQVJfQ0giPklTX0NIQVJfQ0g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNJU19ESUdJVF9DSCI+SVNfRElHSVRfQ0g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNJU19FWFRFTkRFUl9DSCI+SVNfRVhURU5ERVJfQ0g8L2E+PGJyIC8+Cis8L2RkPjxkdD5CZWhhdmlvdXI8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNJU19CTEFOS19DSCI+SVNfQkxBTktfQ0g8L2E+PGJyIC8+Cis8L2RkPjxkdD5CZW5nYWxpPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQmVuZ2FsaSI+eG1sVUNTSXNCZW5nYWxpPC9hPjxiciAvPgorPC9kZD48ZHQ+QmVzdDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJHZXRSZW1haW5kZXIiPnhtbFRleHRSZWFkZXJHZXRSZW1haW5kZXI8L2E+PGJyIC8+Cis8L2RkPjxkdD5CaW5IZXg8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVCaW5IZXgiPnhtbFRleHRXcml0ZXJXcml0ZUJpbkhleDwvYT48YnIgLz4KKzwvZGQ+PGR0PkJpdDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9DT01QTEVURV9BVFRSUyI+WE1MX0NPTVBMRVRFX0FUVFJTPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX0RFVEVDVF9JRFMiPlhNTF9ERVRFQ1RfSURTPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1NLSVBfSURTIj5YTUxfU0tJUF9JRFM8L2E+PGJyIC8+Cis8L2RkPjxkdD5CbG9ja0VsZW1lbnRzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQmxvY2tFbGVtZW50cyI+eG1sVUNTSXNCbG9ja0VsZW1lbnRzPC9hPjxiciAvPgorPC9kZD48ZHQ+QmxvY2tzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU3RvcFBhcnNlciI+eG1sU3RvcFBhcnNlcjwvYT48YnIgLz4KKzwvZGQ+PGR0PkJvcG9tb2ZvPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQm9wb21vZm8iPnhtbFVDU0lzQm9wb21vZm88L2E+PGJyIC8+Cis8L2RkPjxkdD5Cb3BvbW9mb0V4dGVuZGVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQm9wb21vZm9FeHRlbmRlZCI+eG1sVUNTSXNCb3BvbW9mb0V4dGVuZGVkPC9hPjxiciAvPgorPC9kZD48ZHQ+Qm90aDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI1hNTF9TVUJTVElUVVRFX0JPVEgiPlhNTF9TVUJTVElUVVRFX0JPVEg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sU3RyZWFtUHVzaCI+eG1sU3RyZWFtUHVzaDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCN4bWxTdHJlYW1QdXNoQXR0ciI+eG1sU3RyZWFtUHVzaEF0dHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sU3RyZWFtUHVzaE5vZGUiPnhtbFN0cmVhbVB1c2hOb2RlPC9hPjxiciAvPgorPC9kZD48ZHQ+Qm94RHJhd2luZzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0JveERyYXdpbmciPnhtbFVDU0lzQm94RHJhd2luZzwvYT48YnIgLz4KKzwvZGQ+PGR0PkJyYWlsbGVQYXR0ZXJuczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0JyYWlsbGVQYXR0ZXJucyI+eG1sVUNTSXNCcmFpbGxlUGF0dGVybnM8L2E+PGJyIC8+Cis8L2RkPjxkdD5Ccnpvem93c2tpPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwRXhwRGVyaXZlIj54bWxFeHBFeHBEZXJpdmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBTdHJpbmdEZXJpdmUiPnhtbEV4cFN0cmluZ0Rlcml2ZTwvYT48YnIgLz4KKzwvZGQ+PGR0PkJ1ZmZlcjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbElPUGFyc2VEVEQiPnhtbElPUGFyc2VEVEQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5CdWdzOjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNfaHRtbEVsZW1EZXNjIj5faHRtbEVsZW1EZXNjPC9hPjxiciAvPgorPC9kZD48ZHQ+QnVoaWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNCdWhpZCI+eG1sVUNTSXNCdWhpZDwvYT48YnIgLz4KKzwvZGQ+PGR0PkJ1aWxkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxDb3B5QXR0cmlidXRlVGFibGUiPnhtbENvcHlBdHRyaWJ1dGVUYWJsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sQ29weURvY0VsZW1lbnRDb250ZW50Ij54bWxDb3B5RG9jRWxlbWVudENvbnRlbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbENvcHlFbGVtZW50Q29udGVudCI+eG1sQ29weUVsZW1lbnRDb250ZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxDb3B5RWxlbWVudFRhYmxlIj54bWxDb3B5RWxlbWVudFRhYmxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxDb3B5RW50aXRpZXNUYWJsZSI+eG1sQ29weUVudGl0aWVzVGFibGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbENvcHlOb3RhdGlvblRhYmxlIj54bWxDb3B5Tm90YXRpb25UYWJsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxHZXROb2RlUGF0aCI+eG1sR2V0Tm9kZVBhdGg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUxpc3RHZXRTdHJpbmciPnhtbE5vZGVMaXN0R2V0U3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnTmV3RXhlY0N0eHQiPnhtbFJlZ05ld0V4ZWNDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZEJ1aWxkQ29udGVudE1vZGVsIj54bWxWYWxpZEJ1aWxkQ29udGVudE1vZGVsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZEdldFBvdGVudGlhbENoaWxkcmVuIj54bWxWYWxpZEdldFBvdGVudGlhbENoaWxkcmVuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyQnVpbGROb2RlTGlzdCI+eG1sWFB0ckJ1aWxkTm9kZUxpc3Q8L2E+PGJyIC8+Cis8L2RkPjxkdD5CdWlsZHM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVpbGRRTmFtZSI+eG1sQnVpbGRRTmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlTGlzdEdldFJhd1N0cmluZyI+eG1sTm9kZUxpc3RHZXRSYXdTdHJpbmc8L2E+PGJyIC8+Cis8L2RkPjxkdD5CdXQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlTm90YXRpb25EZWNsIj54bWxWYWxpZGF0ZU5vdGF0aW9uRGVjbDwvYT48YnIgLz4KKzwvZGQ+PGR0PkJ5emFudGluZU11c2ljYWxTeW1ib2xzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQnl6YW50aW5lTXVzaWNhbFN5bWJvbHMiPnhtbFVDU0lzQnl6YW50aW5lTXVzaWNhbFN5bWJvbHM8L2E+PGJyIC8+Cis8L2RkPjwvZGw+PGgyIGFsaWduPSJjZW50ZXIiPjxhIGhyZWY9IkFQSWNodW5rMC5odG1sIj5BLUI8L2E+Cis8YSBocmVmPSJBUEljaHVuazEuaHRtbCI+Qy1DPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyLmh0bWwiPkQtRTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMy5odG1sIj5GLUk8L2E+Cis8YSBocmVmPSJBUEljaHVuazQuaHRtbCI+Si1OPC9hPgorPGEgaHJlZj0iQVBJY2h1bms1Lmh0bWwiPk8tUDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNi5odG1sIj5RLVI8L2E+Cis8YSBocmVmPSJBUEljaHVuazcuaHRtbCI+Uy1TPC9hPgorPGEgaHJlZj0iQVBJY2h1bms4Lmh0bWwiPlQtVTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rOS5odG1sIj5WLVg8L2E+Cis8YSBocmVmPSJBUEljaHVuazEwLmh0bWwiPlktYTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTEuaHRtbCI+Yi1iPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMi5odG1sIj5jLWM8L2E+Cis8YSBocmVmPSJBUEljaHVuazEzLmh0bWwiPmQtZDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTQuaHRtbCI+ZS1lPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNS5odG1sIj5mLWY8L2E+Cis8YSBocmVmPSJBUEljaHVuazE2Lmh0bWwiPmctaDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTcuaHRtbCI+aS1pPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxOC5odG1sIj5qLWw8L2E+Cis8YSBocmVmPSJBUEljaHVuazE5Lmh0bWwiPm0tbTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjAuaHRtbCI+bi1uPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMS5odG1sIj5vLW88L2E+Cis8YSBocmVmPSJBUEljaHVuazIyLmh0bWwiPnAtcDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjMuaHRtbCI+cS1yPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNC5odG1sIj5zLXM8L2E+Cis8YSBocmVmPSJBUEljaHVuazI1Lmh0bWwiPnQtdDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjYuaHRtbCI+dS12PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNy5odG1sIj53LXc8L2E+Cis8YSBocmVmPSJBUEljaHVuazI4Lmh0bWwiPngteDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjkuaHRtbCI+eS16PC9hPgorPC9oMj48cD48YSBocmVmPSJidWdzLmh0bWwiPkRhbmllbCBWZWlsbGFyZDwvYT48L3A+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL0FQSWNodW5rMS5odG1sIGIvbGlieG1sMi9kb2MvQVBJY2h1bmsxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzk0NzE5NgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL0FQSWNodW5rMS5odG1sCkBAIC0wLDAgKzEsMzgyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPgorPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPjxoZWFkPjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPjxsaW5rIHJlbD0iU0hPUlRDVVQgSUNPTiIgaHJlZj0iL2Zhdmljb24uaWNvIiAvPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CitURCB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorQk9EWSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhOyBtYXJnaW4tdG9wOiAyZW07IG1hcmdpbi1sZWZ0OiAwZW07IG1hcmdpbi1yaWdodDogMGVtfQorSDEge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gyIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMyB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorQTpsaW5rLCBBOnZpc2l0ZWQsIEE6YWN0aXZlIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgfQorPC9zdHlsZT48dGl0bGU+QVBJIEFscGhhYmV0aWMgSW5kZXggQy1DIGZvciBsaWJ4bWwyPC90aXRsZT48L2hlYWQ+PGJvZHkgYmdjb2xvcj0iIzhiNzc2NSIgdGV4dD0iIzAwMDAwMCIgbGluaz0iI2EwNjA2MCIgdmxpbms9IiMwMDAwMDAiPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSIxMDAlIiBjZWxscGFkZGluZz0iNSIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgd2lkdGg9IjEyMCI+PGEgaHJlZj0iaHR0cDovL3N3cGF0LmZmaWkub3JnLyI+PGltZyBzcmM9ImVwYXRlbnRzLnBuZyIgYWx0PSJBY3Rpb24gYWdhaW5zdCBzb2Z0d2FyZSBwYXRlbnRzIiAvPjwvYT48L3RkPjx0ZCB3aWR0aD0iMTgwIj48YSBocmVmPSJodHRwOi8vd3d3Lmdub21lLm9yZy8iPjxpbWcgc3JjPSJnbm9tZTIucG5nIiBhbHQ9Ikdub21lMiBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9TdGF0dXMiPjxpbWcgc3JjPSJ3M2MucG5nIiBhbHQ9IlczQyBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnJlZGhhdC5jb20vIj48aW1nIHNyYz0icmVkaGF0LmdpZiIgYWx0PSJSZWQgSGF0IExvZ28iIC8+PC9hPjxkaXYgYWxpZ249ImxlZnQiPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy8iPjxpbWcgc3JjPSJMaWJ4bWwyLUxvZ28tMTgweDE2OC5naWYiIGFsdD0iTWFkZSB3aXRoIExpYnhtbDIgTG9nbyIgLz48L2E+PC9kaXY+PC90ZD48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjkwJSIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiIGJnY29sb3I9IiNmZmZhY2QiPjx0cj48dGQgYWxpZ249ImNlbnRlciI+PGgxPlRoZSBYTUwgQyBwYXJzZXIgYW5kIHRvb2xraXQgb2YgR25vbWU8L2gxPjxoMj5BUEkgQWxwaGFiZXRpYyBJbmRleCBDLUMgZm9yIGxpYnhtbDI8L2gyPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI0IiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCB2YWxpZ249InRvcCIgd2lkdGg9IjIwMCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+RGV2ZWxvcGVyIE1lbnU8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PGZvcm0gYWN0aW9uPSJzZWFyY2gucGhwIiBlbmN0eXBlPSJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiIG1ldGhvZD0iZ2V0Ij48aW5wdXQgbmFtZT0icXVlcnkiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iIiAvPjxpbnB1dCBuYW1lPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNlYXJjaCAuLi4iIC8+PC9mb3JtPjx1bD48bGk+PGEgaHJlZj0iaW5kZXguaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPk1haW4gTWVudTwvYT48L2xpPjxsaT48YSBocmVmPSJodG1sL2luZGV4Lmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5SZWZlcmVuY2UgTWFudWFsPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImV4YW1wbGVzL2luZGV4Lmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5Db2RlIEV4YW1wbGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imd1aWRlbGluZXMuaHRtbCI+WE1MIEd1aWRlbGluZXM8L2E+PC9saT48bGk+PGEgaHJlZj0idHV0b3JpYWwvaW5kZXguaHRtbCI+VHV0b3JpYWw8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1scmVhZGVyLmh0bWwiPlRoZSBSZWFkZXIgSW50ZXJmYWNlPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkNoYW5nZUxvZy5odG1sIj5DaGFuZ2VMb2c8L2E+PC9saT48bGk+PGEgaHJlZj0iWFNMVC5odG1sIj5YU0xUPC9hPjwvbGk+PGxpPjxhIGhyZWY9InB5dGhvbi5odG1sIj5QeXRob24gYW5kIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImFyY2hpdGVjdHVyZS5odG1sIj5saWJ4bWwyIGFyY2hpdGVjdHVyZTwvYT48L2xpPjxsaT48YSBocmVmPSJ0cmVlLmh0bWwiPlRoZSB0cmVlIG91dHB1dDwvYT48L2xpPjxsaT48YSBocmVmPSJpbnRlcmZhY2UuaHRtbCI+VGhlIFNBWCBpbnRlcmZhY2U8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1sbWVtLmh0bWwiPk1lbW9yeSBNYW5hZ2VtZW50PC9hPjwvbGk+PGxpPjxhIGhyZWY9InhtbGlvLmh0bWwiPkkvTyBJbnRlcmZhY2VzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnJhcnkuaHRtbCI+VGhlIHBhcnNlciBpbnRlcmZhY2VzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImVudGl0aWVzLmh0bWwiPkVudGl0aWVzIG9yIG5vIGVudGl0aWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Im5hbWVzcGFjZXMuaHRtbCI+TmFtZXNwYWNlczwvYT48L2xpPjxsaT48YSBocmVmPSJ1cGdyYWRlLmh0bWwiPlVwZ3JhZGluZyAxLnggY29kZTwvYT48L2xpPjxsaT48YSBocmVmPSJ0aHJlYWRzLmh0bWwiPlRocmVhZCBzYWZldHk8L2E+PC9saT48bGk+PGEgaHJlZj0iRE9NLmh0bWwiPkRPTSBQcmluY2lwbGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImV4YW1wbGUuaHRtbCI+QSByZWFsIGV4YW1wbGU8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1sLmh0bWwiPmZsYXQgcGFnZTwvYT4sIDxhIGhyZWY9InNpdGUueHNsIj5zdHlsZXNoZWV0PC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+QVBJIEluZGV4ZXM8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSJBUEljaHVuazAuaHRtbCI+QWxwaGFiZXRpYzwvYT48L2xpPjxsaT48YSBocmVmPSJBUEljb25zdHJ1Y3RvcnMuaHRtbCI+Q29uc3RydWN0b3JzPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkFQSWZ1bmN0aW9ucy5odG1sIj5GdW5jdGlvbnMvVHlwZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iQVBJZmlsZXMuaHRtbCI+TW9kdWxlczwvYT48L2xpPjxsaT48YSBocmVmPSJBUElzeW1ib2xzLmh0bWwiPlN5bWJvbHM8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5SZWxhdGVkIGxpbmtzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iaHR0cDovL21haWwuZ25vbWUub3JnL2FyY2hpdmVzL3htbC8iPk1haWwgYXJjaGl2ZTwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvWFNMVC8iPlhTTFQgbGlieHNsdDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vcGhkLmNzLnVuaWJvLml0L2dkb21lMi8iPkRPTSBnZG9tZTI8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5hbGVrc2V5LmNvbS94bWxzZWMvIj5YTUwtRFNpZyB4bWxzZWM8L2E+PC9saT48bGk+PGEgaHJlZj0iZnRwOi8veG1sc29mdC5vcmcvIj5GVFA8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56bGF0a292aWMuY29tL3Byb2plY3RzL2xpYnhtbC8iPldpbmRvd3MgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL29wZW5jc3cub3JnL3BhY2thZ2VzL2xpYnhtbDIiPlNvbGFyaXMgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5leHBsYWluLmNvbS5hdS9vc3MvbGlieG1sMnhzbHQuaHRtbCI+TWFjT3NYIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9seG1sLmRlLyI+bHhtbCBQeXRob24gYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2NwYW4udXdpbm5pcGVnLmNhL2Rpc3QvWE1MLUxpYlhNTCI+UGVybCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1scGx1c3BsdXMuc291cmNlZm9yZ2UubmV0LyI+QysrIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemVuZC5jb20vcGhwNS9hcnRpY2xlcy9waHA1LXhtbHBocC5waHAjSGVhZGluZzQiPlBIUCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2xpYnhtbDItcGFzLyI+UGFzY2FsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWwucnVieWZvcmdlLm9yZy8iPlJ1YnkgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3RjbHhtbC5zb3VyY2Vmb3JnZS5uZXQvIj5UY2wgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9idWdsaXN0LmNnaT9wcm9kdWN0PWxpYnhtbDIiPkJ1ZyBUcmFja2VyPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIzIiBjZWxsc3BhY2luZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PGgyIGFsaWduPSJjZW50ZXIiPjxhIGhyZWY9IkFQSWNodW5rMC5odG1sIj5BLUI8L2E+Cis8YSBocmVmPSJBUEljaHVuazEuaHRtbCI+Qy1DPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyLmh0bWwiPkQtRTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMy5odG1sIj5GLUk8L2E+Cis8YSBocmVmPSJBUEljaHVuazQuaHRtbCI+Si1OPC9hPgorPGEgaHJlZj0iQVBJY2h1bms1Lmh0bWwiPk8tUDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNi5odG1sIj5RLVI8L2E+Cis8YSBocmVmPSJBUEljaHVuazcuaHRtbCI+Uy1TPC9hPgorPGEgaHJlZj0iQVBJY2h1bms4Lmh0bWwiPlQtVTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rOS5odG1sIj5WLVg8L2E+Cis8YSBocmVmPSJBUEljaHVuazEwLmh0bWwiPlktYTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTEuaHRtbCI+Yi1iPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMi5odG1sIj5jLWM8L2E+Cis8YSBocmVmPSJBUEljaHVuazEzLmh0bWwiPmQtZDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTQuaHRtbCI+ZS1lPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNS5odG1sIj5mLWY8L2E+Cis8YSBocmVmPSJBUEljaHVuazE2Lmh0bWwiPmctaDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTcuaHRtbCI+aS1pPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxOC5odG1sIj5qLWw8L2E+Cis8YSBocmVmPSJBUEljaHVuazE5Lmh0bWwiPm0tbTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjAuaHRtbCI+bi1uPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMS5odG1sIj5vLW88L2E+Cis8YSBocmVmPSJBUEljaHVuazIyLmh0bWwiPnAtcDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjMuaHRtbCI+cS1yPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNC5odG1sIj5zLXM8L2E+Cis8YSBocmVmPSJBUEljaHVuazI1Lmh0bWwiPnQtdDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjYuaHRtbCI+dS12PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNy5odG1sIj53LXc8L2E+Cis8YSBocmVmPSJBUEljaHVuazI4Lmh0bWwiPngteDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjkuaHRtbCI+eS16PC9hPgorPC9oMj48aDI+TGV0dGVyIEM6PC9oMj48ZGw+PGR0PkMxNE48L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1jMTRuLmh0bWwjeG1sQzE0TkRvY1NhdmVUbyI+eG1sQzE0TkRvY1NhdmVUbzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTRORXhlY3V0ZSI+eG1sQzE0TkV4ZWN1dGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jMTRuLmh0bWwjeG1sQzE0TklzVmlzaWJsZUNhbGxiYWNrIj54bWxDMTROSXNWaXNpYmxlQ2FsbGJhY2s8L2E+PGJyIC8+Cis8L2RkPjxkdD5DQVRBTE9HPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbExvYWRBQ2F0YWxvZyI+eG1sTG9hZEFDYXRhbG9nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbExvYWRDYXRhbG9nIj54bWxMb2FkQ2F0YWxvZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxMb2FkU0dNTFN1cGVyQ2F0YWxvZyI+eG1sTG9hZFNHTUxTdXBlckNhdGFsb2c8L2E+PGJyIC8+Cis8L2RkPjxkdD5DREFUQTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwjSFRNTF9QUkVTRVJWRV9OT0RFIj5IVE1MX1BSRVNFUlZFX05PREU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjX2h0bWxFbGVtRGVzYyI+X2h0bWxFbGVtRGVzYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEtlZXBCbGFua3NEZWZhdWx0Ij54bWxLZWVwQmxhbmtzRGVmYXVsdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdDRGF0YUJsb2NrIj54bWxOZXdDRGF0YUJsb2NrPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld0NoaWxkIj54bWxOZXdDaGlsZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdEb2NOb2RlIj54bWxOZXdEb2NOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld0RvY05vZGVFYXROYW1lIj54bWxOZXdEb2NOb2RlRWF0TmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlU2V0Q29udGVudCI+eG1sTm9kZVNldENvbnRlbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVNldENvbnRlbnRMZW4iPnhtbE5vZGVTZXRDb250ZW50TGVuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VBdHRWYWx1ZSI+eG1sUGFyc2VBdHRWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQXR0cmlidXRlVHlwZSI+eG1sUGFyc2VBdHRyaWJ1dGVUeXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VDRFNlY3QiPnhtbFBhcnNlQ0RTZWN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VDaGFyRGF0YSI+eG1sUGFyc2VDaGFyRGF0YTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJFbmRDREFUQSI+eG1sVGV4dFdyaXRlckVuZENEQVRBPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclN0YXJ0Q0RBVEEiPnhtbFRleHRXcml0ZXJTdGFydENEQVRBPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlQ0RBVEEiPnhtbFRleHRXcml0ZXJXcml0ZUNEQVRBPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0Q0RBVEEiPnhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdENEQVRBPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdENEQVRBIj54bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0Q0RBVEE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkQ3R4dE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlIj54bWxWYWxpZEN0eHROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZSI+eG1sVmFsaWROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZTwvYT48YnIgLz4KKzwvZGQ+PGR0PkNERW5kPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VDRFNlY3QiPnhtbFBhcnNlQ0RTZWN0PC9hPjxiciAvPgorPC9kZD48ZHQ+Q0RTZWN0PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5Ij54bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlSZWNvdmVyIj54bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlSZWNvdmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VDRFNlY3QiPnhtbFBhcnNlQ0RTZWN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VDb250ZW50Ij54bWxQYXJzZUNvbnRlbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUluTm9kZUNvbnRleHQiPnhtbFBhcnNlSW5Ob2RlQ29udGV4dDwvYT48YnIgLz4KKzwvZGQ+PGR0PkNEU3RhcnQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUNEU2VjdCI+eG1sUGFyc2VDRFNlY3Q8L2E+PGJyIC8+Cis8L2RkPjxkdD5DRGF0YTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQ0RTZWN0Ij54bWxQYXJzZUNEU2VjdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HVmFsaWRhdGVQdXNoQ0RhdGEiPnhtbFJlbGF4TkdWYWxpZGF0ZVB1c2hDRGF0YTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVQdXNoQ0RhdGEiPnhtbFZhbGlkYXRlUHVzaENEYXRhPC9hPjxiciAvPgorPC9kZD48ZHQ+Q0pLQ29tcGF0aWJpbGl0eTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHkiPnhtbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eTwvYT48YnIgLz4KKzwvZGQ+PGR0PkNKS0NvbXBhdGliaWxpdHlGb3JtczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHlGb3JtcyI+eG1sVUNTSXNDSktDb21wYXRpYmlsaXR5Rm9ybXM8L2E+PGJyIC8+Cis8L2RkPjxkdD5DSktDb21wYXRpYmlsaXR5SWRlb2dyYXBoczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHlJZGVvZ3JhcGhzIj54bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHlJZGVvZ3JhcGhzPC9hPjxiciAvPgorPC9kZD48ZHQ+Q0pLQ29tcGF0aWJpbGl0eUlkZW9ncmFwaHNTdXBwbGVtZW50PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eUlkZW9ncmFwaHNTdXBwbGVtZW50Ij54bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHlJZGVvZ3JhcGhzU3VwcGxlbWVudDwvYT48YnIgLz4KKzwvZGQ+PGR0PkNKS1JhZGljYWxzU3VwcGxlbWVudDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NKS1JhZGljYWxzU3VwcGxlbWVudCI+eG1sVUNTSXNDSktSYWRpY2Fsc1N1cHBsZW1lbnQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5DSktTeW1ib2xzYW5kUHVuY3R1YXRpb248L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDSktTeW1ib2xzYW5kUHVuY3R1YXRpb24iPnhtbFVDU0lzQ0pLU3ltYm9sc2FuZFB1bmN0dWF0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+Q0pLVW5pZmllZElkZW9ncmFwaHM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDSktVbmlmaWVkSWRlb2dyYXBocyI+eG1sVUNTSXNDSktVbmlmaWVkSWRlb2dyYXBoczwvYT48YnIgLz4KKzwvZGQ+PGR0PkNKS1VuaWZpZWRJZGVvZ3JhcGhzRXh0ZW5zaW9uQTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NKS1VuaWZpZWRJZGVvZ3JhcGhzRXh0ZW5zaW9uQSI+eG1sVUNTSXNDSktVbmlmaWVkSWRlb2dyYXBoc0V4dGVuc2lvbkE8L2E+PGJyIC8+Cis8L2RkPjxkdD5DSktVbmlmaWVkSWRlb2dyYXBoc0V4dGVuc2lvbkI8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDSktVbmlmaWVkSWRlb2dyYXBoc0V4dGVuc2lvbkIiPnhtbFVDU0lzQ0pLVW5pZmllZElkZW9ncmFwaHNFeHRlbnNpb25CPC9hPjxiciAvPgorPC9kZD48ZHQ+Q1ZTPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9WRVJTSU9OX0VYVFJBIj5MSUJYTUxfVkVSU0lPTl9FWFRSQTwvYT48YnIgLz4KKzwvZGQ+PGR0PkNXRDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQQ3dkIj54bWxOYW5vRlRQQ3dkPC9hPjxiciAvPgorPC9kZD48ZHQ+Q2FjaGU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI194bWxYUGF0aENvbnRleHQiPl94bWxYUGF0aENvbnRleHQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5DYWxsPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjaHRtbEluaXRBdXRvQ2xvc2UiPmh0bWxJbml0QXV0b0Nsb3NlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sSW5pdFBhcnNlciI+eG1sSW5pdFBhcnNlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPcmRlckRvY0VsZW1zIj54bWxYUGF0aE9yZGVyRG9jRWxlbXM8L2E+PGJyIC8+Cis8L2RkPjxkdD5DYWxsYmFjazwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI2V4dGVybmFsU3Vic2V0Ij5leHRlcm5hbFN1YnNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI2V4dGVybmFsU3Vic2V0U0FYRnVuYyI+ZXh0ZXJuYWxTdWJzZXRTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjaW50ZXJuYWxTdWJzZXQiPmludGVybmFsU3Vic2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjaW50ZXJuYWxTdWJzZXRTQVhGdW5jIj5pbnRlcm5hbFN1YnNldFNBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxFbnRpdHlSZWZlcmVuY2VGdW5jIj54bWxFbnRpdHlSZWZlcmVuY2VGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hDb3BpZXIiPnhtbEhhc2hDb3BpZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaERlYWxsb2NhdG9yIj54bWxIYXNoRGVhbGxvY2F0b3I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFNjYW5uZXIiPnhtbEhhc2hTY2FubmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hTY2FubmVyRnVsbCI+eG1sSGFzaFNjYW5uZXJGdWxsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxJbnB1dENsb3NlQ2FsbGJhY2siPnhtbElucHV0Q2xvc2VDYWxsYmFjazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sSW5wdXRNYXRjaENhbGxiYWNrIj54bWxJbnB1dE1hdGNoQ2FsbGJhY2s8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbElucHV0T3BlbkNhbGxiYWNrIj54bWxJbnB1dE9wZW5DYWxsYmFjazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sSW5wdXRSZWFkQ2FsbGJhY2siPnhtbElucHV0UmVhZENhbGxiYWNrPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3REYXRhQ29tcGFyZSI+eG1sTGlzdERhdGFDb21wYXJlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3REZWFsbG9jYXRvciI+eG1sTGlzdERlYWxsb2NhdG9yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3RXYWxrZXIiPnhtbExpc3RXYWxrZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dENsb3NlQ2FsbGJhY2siPnhtbE91dHB1dENsb3NlQ2FsbGJhY2s8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dE1hdGNoQ2FsbGJhY2siPnhtbE91dHB1dE1hdGNoQ2FsbGJhY2s8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dE9wZW5DYWxsYmFjayI+eG1sT3V0cHV0T3BlbkNhbGxiYWNrPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRXcml0ZUNhbGxiYWNrIj54bWxPdXRwdXRXcml0ZUNhbGxiYWNrPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VySW5wdXREZWFsbG9jYXRlIj54bWxQYXJzZXJJbnB1dERlYWxsb2NhdGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdFeGVjQ2FsbGJhY2tzIj54bWxSZWdFeGVjQ2FsbGJhY2tzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJFeHRlcm5hbFN1YnNldCI+eG1sU0FYMkV4dGVybmFsU3Vic2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJJbnRlcm5hbFN1YnNldCI+eG1sU0FYMkludGVybmFsU3Vic2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGl0eUVycm9yRnVuYyI+eG1sVmFsaWRpdHlFcnJvckZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkaXR5V2FybmluZ0Z1bmMiPnhtbFZhbGlkaXR5V2FybmluZ0Z1bmM8L2E+PGJyIC8+Cis8L2RkPjxkdD5DYWxsYmFjazo8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNyZXNvbHZlRW50aXR5U0FYRnVuYyI+cmVzb2x2ZUVudGl0eVNBWEZ1bmM8L2E+PGJyIC8+Cis8L2RkPjxkdD5DYWxsZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNjZGF0YUJsb2NrU0FYRnVuYyI+Y2RhdGFCbG9ja1NBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNlbmREb2N1bWVudFNBWEZ1bmMiPmVuZERvY3VtZW50U0FYRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI2VuZEVsZW1lbnRTQVhGdW5jIj5lbmRFbGVtZW50U0FYRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3JlZmVyZW5jZVNBWEZ1bmMiPnJlZmVyZW5jZVNBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNzdGFydERvY3VtZW50U0FYRnVuYyI+c3RhcnREb2N1bWVudFNBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNzdGFydEVsZW1lbnRTQVhGdW5jIj5zdGFydEVsZW1lbnRTQVhGdW5jPC9hPjxiciAvPgorPC9kZD48ZHQ+Q2FsbGluZzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sUmVnaXN0ZXJIVFRQUG9zdENhbGxiYWNrcyI+eG1sUmVnaXN0ZXJIVFRQUG9zdENhbGxiYWNrczwvYT48YnIgLz4KKzwvZGQ+PGR0PkNhbm9uaWNhbDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTRORG9jRHVtcE1lbW9yeSI+eG1sQzE0TkRvY0R1bXBNZW1vcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jMTRuLmh0bWwjeG1sQzE0TkRvY1NhdmUiPnhtbEMxNE5Eb2NTYXZlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtYzE0bi5odG1sI3htbEMxNE5Eb2NTYXZlVG8iPnhtbEMxNE5Eb2NTYXZlVG88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jMTRuLmh0bWwjeG1sQzE0TkV4ZWN1dGUiPnhtbEMxNE5FeGVjdXRlPC9hPjxiciAvPgorPC9kZD48ZHQ+Q2Fub25pY2FsaXphdGlvbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfQzE0Tl9FTkFCTEVEIj5MSUJYTUxfQzE0Tl9FTkFCTEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtYzE0bi5odG1sI3htbEMxNE5Eb2NEdW1wTWVtb3J5Ij54bWxDMTRORG9jRHVtcE1lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTRORG9jU2F2ZSI+eG1sQzE0TkRvY1NhdmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jMTRuLmh0bWwjeG1sQzE0TkRvY1NhdmVUbyI+eG1sQzE0TkRvY1NhdmVUbzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTRORXhlY3V0ZSI+eG1sQzE0TkV4ZWN1dGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5DYXJsPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sVVJJRXNjYXBlIj54bWxVUklFc2NhcGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5DYXRhbG9nPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9DQVRBTE9HX0VOQUJMRUQiPkxJQlhNTF9DQVRBTE9HX0VOQUJMRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjWE1MX0NBVEFMT0dfUEkiPlhNTF9DQVRBTE9HX1BJPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbEFDYXRhbG9nQWRkIj54bWxBQ2F0YWxvZ0FkZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxBQ2F0YWxvZ0R1bXAiPnhtbEFDYXRhbG9nRHVtcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxBQ2F0YWxvZ1JlbW92ZSI+eG1sQUNhdGFsb2dSZW1vdmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQUNhdGFsb2dSZXNvbHZlIj54bWxBQ2F0YWxvZ1Jlc29sdmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQUNhdGFsb2dSZXNvbHZlUHVibGljIj54bWxBQ2F0YWxvZ1Jlc29sdmVQdWJsaWM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQUNhdGFsb2dSZXNvbHZlU3lzdGVtIj54bWxBQ2F0YWxvZ1Jlc29sdmVTeXN0ZW08L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQUNhdGFsb2dSZXNvbHZlVVJJIj54bWxBQ2F0YWxvZ1Jlc29sdmVVUkk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ1NldERlZmF1bHRQcmVmZXIiPnhtbENhdGFsb2dTZXREZWZhdWx0UHJlZmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbEZyZWVDYXRhbG9nIj54bWxGcmVlQ2F0YWxvZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxMb2FkQUNhdGFsb2ciPnhtbExvYWRBQ2F0YWxvZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxOZXdDYXRhbG9nIj54bWxOZXdDYXRhbG9nPC9hPjxiciAvPgorPC9kZD48ZHQ+Q2F0YWxvZ3M8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjWE1MX0NBVEFMT0dTX05BTUVTUEFDRSI+WE1MX0NBVEFMT0dTX05BTUVTUEFDRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxMb2FkQUNhdGFsb2ciPnhtbExvYWRBQ2F0YWxvZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxMb2FkU0dNTFN1cGVyQ2F0YWxvZyI+eG1sTG9hZFNHTUxTdXBlckNhdGFsb2c8L2E+PGJyIC8+Cis8L2RkPjxkdD5DaGFuZ2U8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxTZXRGZWF0dXJlIj54bWxTZXRGZWF0dXJlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclNldFBhcnNlclByb3AiPnhtbFRleHRSZWFkZXJTZXRQYXJzZXJQcm9wPC9hPjxiciAvPgorPC9kZD48ZHQ+Q2hhbmdlczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNldEV4dGVybmFsRW50aXR5TG9hZGVyIj54bWxTZXRFeHRlcm5hbEVudGl0eUxvYWRlcjwvYT48YnIgLz4KKzwvZGQ+PGR0PkNoYXI8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNJU19CWVRFX0NIQVIiPklTX0JZVEVfQ0hBUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTX0NIQVIiPklTX0NIQVI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUNEU2VjdCI+eG1sUGFyc2VDRFNlY3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUNoYXJSZWYiPnhtbFBhcnNlQ2hhclJlZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQ29tbWVudCI+eG1sUGFyc2VDb21tZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VQSSI+eG1sUGFyc2VQSTwvYT48YnIgLz4KKzwvZGQ+PGR0PkNoYXJEYXRhPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5Ij54bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlSZWNvdmVyIj54bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlSZWNvdmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VDaGFyRGF0YSI+eG1sUGFyc2VDaGFyRGF0YTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQ29udGVudCI+eG1sUGFyc2VDb250ZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VJbk5vZGVDb250ZXh0Ij54bWxQYXJzZUluTm9kZUNvbnRleHQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5DaGFyUmVmPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxQYXJzZUNoYXJSZWYiPmh0bWxQYXJzZUNoYXJSZWY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNPdXRGdW5jIj54bWxDaGFyRW5jT3V0RnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbERlY29kZUVudGl0aWVzIj54bWxEZWNvZGVFbnRpdGllczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjeG1sRW5jb2RlRW50aXRpZXNSZWVudHJhbnQiPnhtbEVuY29kZUVudGl0aWVzUmVlbnRyYW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VDaGFyUmVmIj54bWxQYXJzZUNoYXJSZWY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZVJlZmVyZW5jZSI+eG1sUGFyc2VSZWZlcmVuY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZXJIYW5kbGVSZWZlcmVuY2UiPnhtbFBhcnNlckhhbmRsZVJlZmVyZW5jZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFN0cmluZ0RlY29kZUVudGl0aWVzIj54bWxTdHJpbmdEZWNvZGVFbnRpdGllczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFN0cmluZ0xlbkRlY29kZUVudGl0aWVzIj54bWxTdHJpbmdMZW5EZWNvZGVFbnRpdGllczwvYT48YnIgLz4KKzwvZGQ+PGR0PkNoYXJhY3RlcjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxEb2NEdW1wRm9ybWF0TWVtb3J5RW5jIj54bWxEb2NEdW1wRm9ybWF0TWVtb3J5RW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERvY0R1bXBNZW1vcnlFbmMiPnhtbERvY0R1bXBNZW1vcnlFbmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbEdldENoYXJFbmNvZGluZ05hbWUiPnhtbEdldENoYXJFbmNvZGluZ05hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbFBhcnNlQ2hhckVuY29kaW5nIj54bWxQYXJzZUNoYXJFbmNvZGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQ2hhclJlZiI+eG1sUGFyc2VDaGFyUmVmPC9hPjxiciAvPgorPC9kZD48ZHQ+Q2hhcmFjdGVyczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQ2hhclJlZiI+eG1sUGFyc2VDaGFyUmVmPC9hPjxiciAvPgorPC9kZD48ZHQ+Q2hlY2thPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldCI+eG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXRXaHRzcCI+eG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldFdodHNwPC9hPjxiciAvPgorPC9kZD48ZHQ+Q2hlY2tzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxBdHRyQWxsb3dlZCI+aHRtbEF0dHJBbGxvd2VkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxFbGVtZW50QWxsb3dlZEhlcmUiPmh0bWxFbGVtZW50QWxsb3dlZEhlcmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEVsZW1lbnRBbGxvd2VkSGVyZURlc2MiPmh0bWxFbGVtZW50QWxsb3dlZEhlcmVEZXNjPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxFbGVtZW50U3RhdHVzSGVyZSI+aHRtbEVsZW1lbnRTdGF0dXNIZXJlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxOb2RlU3RhdHVzIj5odG1sTm9kZVN0YXR1czwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFJc0RldGVybWluaXN0Ij54bWxBdXRvbWF0YUlzRGV0ZXJtaW5pc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxDaGVja0xhbmd1YWdlSUQiPnhtbENoZWNrTGFuZ3VhZ2VJRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoZWNrVVRGOCI+eG1sQ2hlY2tVVEY4PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbElzQmxhbmtOb2RlIj54bWxJc0JsYW5rTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUNoZWNrRmFjZXQiPnhtbFNjaGVtYUNoZWNrRmFjZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFWYWxpZGF0ZUxpc3RTaW1wbGVUeXBlRmFjZXQiPnhtbFNjaGVtYVZhbGlkYXRlTGlzdFNpbXBsZVR5cGVGYWNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhOb2RlU2V0SXNFbXB0eSI+eG1sWFBhdGhOb2RlU2V0SXNFbXB0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdGFja0lzRXh0ZXJuYWwiPnhtbFhQYXRoU3RhY2tJc0V4dGVybmFsPC9hPjxiciAvPgorPC9kZD48ZHQ+Q2hlcm9rZWU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDaGVyb2tlZSI+eG1sVUNTSXNDaGVyb2tlZTwvYT48YnIgLz4KKzwvZGQ+PGR0PkNoaWxkcmVuPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbGVtZW50Q29udGVudERlY2wiPnhtbFBhcnNlRWxlbWVudENvbnRlbnREZWNsPC9hPjxiciAvPgorPC9kZD48ZHQ+Q2h1bms8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1ET0NCcGFyc2VyLmh0bWwjZG9jYlBhcnNlQ2h1bmsiPmRvY2JQYXJzZUNodW5rPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxQYXJzZUNodW5rIj5odG1sUGFyc2VDaHVuazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeSI+eG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5UmVjb3ZlciI+eG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5UmVjb3ZlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlQ2h1bmsiPnhtbFBhcnNlQ2h1bms8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUluTm9kZUNvbnRleHQiPnhtbFBhcnNlSW5Ob2RlQ29udGV4dDwvYT48YnIgLz4KKzwvZGQ+PGR0PkNsZWFudXA8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbENsZWFudXBDaGFyRW5jb2RpbmdIYW5kbGVycyI+eG1sQ2xlYW51cENoYXJFbmNvZGluZ0hhbmRsZXJzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxDbGVhbnVwUHJlZGVmaW5lZEVudGl0aWVzIj54bWxDbGVhbnVwUHJlZGVmaW5lZEVudGl0aWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxDdHh0UmVzZXRMYXN0RXJyb3IiPnhtbEN0eHRSZXNldExhc3RFcnJvcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQQ2xlYW51cCI+eG1sTmFub0ZUUENsZWFudXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQQ2xlYW51cCI+eG1sTmFub0hUVFBDbGVhbnVwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdDbGVhbnVwVHlwZXMiPnhtbFJlbGF4TkdDbGVhbnVwVHlwZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI3htbFJlc2V0RXJyb3IiPnhtbFJlc2V0RXJyb3I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI3htbFJlc2V0TGFzdEVycm9yIj54bWxSZXNldExhc3RFcnJvcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUNsZWFudXBUeXBlcyI+eG1sU2NoZW1hQ2xlYW51cFR5cGVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hRnJlZVZhbHVlIj54bWxTY2hlbWFGcmVlVmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmVnaXN0ZXJlZEZ1bmNzQ2xlYW51cCI+eG1sWFBhdGhSZWdpc3RlcmVkRnVuY3NDbGVhbnVwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJlZ2lzdGVyZWROc0NsZWFudXAiPnhtbFhQYXRoUmVnaXN0ZXJlZE5zQ2xlYW51cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhSZWdpc3RlcmVkVmFyaWFibGVzQ2xlYW51cCI+eG1sWFBhdGhSZWdpc3RlcmVkVmFyaWFibGVzQ2xlYW51cDwvYT48YnIgLz4KKzwvZGQ+PGR0PkNsZWFyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ2xlYXJOb2RlSW5mb1NlcSI+eG1sQ2xlYXJOb2RlSW5mb1NlcTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbENsZWFyUGFyc2VyQ3R4dCI+eG1sQ2xlYXJQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxQb3BJbnB1dENhbGxiYWNrcyI+eG1sUG9wSW5wdXRDYWxsYmFja3M8L2E+PGJyIC8+Cis8L2RkPjxkdD5DbGVhcnM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxTZXR1cFBhcnNlckZvckJ1ZmZlciI+eG1sU2V0dXBQYXJzZXJGb3JCdWZmZXI8L2E+PGJyIC8+Cis8L2RkPjxkdD5DbG9zZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sRmlsZUNsb3NlIj54bWxGaWxlQ2xvc2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbElPRlRQQ2xvc2UiPnhtbElPRlRQQ2xvc2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbElPSFRUUENsb3NlIj54bWxJT0hUVFBDbG9zZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQQ2xvc2UiPnhtbE5hbm9GVFBDbG9zZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQQ2xvc2VDb25uZWN0aW9uIj54bWxOYW5vRlRQQ2xvc2VDb25uZWN0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2F2ZS5odG1sI3htbFNhdmVDbG9zZSI+eG1sU2F2ZUNsb3NlPC9hPjxiciAvPgorPC9kZD48ZHQ+Q2xvc2VkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckNsb3NlIj54bWxUZXh0UmVhZGVyQ2xvc2U8L2E+PGJyIC8+Cis8L2RkPjxkdD5Db21iaW5pbmdDaGFyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjSVNfQ09NQklOSU5HIj5JU19DT01CSU5JTkc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxOYW1lc3BhY2VQYXJzZU5DTmFtZSI+eG1sTmFtZXNwYWNlUGFyc2VOQ05hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZU5hbWUiPnhtbFBhcnNlTmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFNjYW5OYW1lIj54bWxTY2FuTmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhQYXJzZU5DTmFtZSI+eG1sWFBhdGhQYXJzZU5DTmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhQYXJzZU5hbWUiPnhtbFhQYXRoUGFyc2VOYW1lPC9hPjxiciAvPgorPC9kZD48ZHQ+Q29tYmluaW5nRGlhY3JpdGljYWxNYXJrczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NvbWJpbmluZ0RpYWNyaXRpY2FsTWFya3MiPnhtbFVDU0lzQ29tYmluaW5nRGlhY3JpdGljYWxNYXJrczwvYT48YnIgLz4KKzwvZGQ+PGR0PkNvbWJpbmluZ0RpYWNyaXRpY2FsTWFya3Nmb3JTeW1ib2xzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ29tYmluaW5nRGlhY3JpdGljYWxNYXJrc2ZvclN5bWJvbHMiPnhtbFVDU0lzQ29tYmluaW5nRGlhY3JpdGljYWxNYXJrc2ZvclN5bWJvbHM8L2E+PGJyIC8+Cis8L2RkPjxkdD5Db21iaW5pbmdIYWxmTWFya3M8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDb21iaW5pbmdIYWxmTWFya3MiPnhtbFVDU0lzQ29tYmluaW5nSGFsZk1hcmtzPC9hPjxiciAvPgorPC9kZD48ZHQ+Q29tYmluaW5nTWFya3Nmb3JTeW1ib2xzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ29tYmluaW5nTWFya3Nmb3JTeW1ib2xzIj54bWxVQ1NJc0NvbWJpbmluZ01hcmtzZm9yU3ltYm9sczwvYT48YnIgLz4KKzwvZGQ+PGR0PkNvbW1lbnQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnkiPnhtbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXIiPnhtbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUNvbW1lbnQiPnhtbFBhcnNlQ29tbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQ29udGVudCI+eG1sUGFyc2VDb250ZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VJbk5vZGVDb250ZXh0Ij54bWxQYXJzZUluTm9kZUNvbnRleHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZU1hcmt1cERlY2wiPnhtbFBhcnNlTWFya3VwRGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlTWlzYyI+eG1sUGFyc2VNaXNjPC9hPjxiciAvPgorPC9kZD48ZHQ+Q29tcGFyZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sUGFyc2VDaGFyRW5jb2RpbmciPnhtbFBhcnNlQ2hhckVuY29kaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hQ29tcGFyZVZhbHVlcyI+eG1sU2NoZW1hQ29tcGFyZVZhbHVlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUNvbXBhcmVWYWx1ZXNXaHRzcCI+eG1sU2NoZW1hQ29tcGFyZVZhbHVlc1dodHNwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENtcE5vZGVzIj54bWxYUGF0aENtcE5vZGVzPC9hPjxiciAvPgorPC9kZD48ZHQ+Q29tcGlsZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFDb21waWxlIj54bWxBdXRvbWF0YUNvbXBpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sUGF0dGVybmNvbXBpbGUiPnhtbFBhdHRlcm5jb21waWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbXBpbGUiPnhtbFhQYXRoQ29tcGlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDdHh0Q29tcGlsZSI+eG1sWFBhdGhDdHh0Q29tcGlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdHJpbmdFdmFsTnVtYmVyIj54bWxYUGF0aFN0cmluZ0V2YWxOdW1iZXI8L2E+PGJyIC8+Cis8L2RkPjxkdD5Db21wcmVzczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiQ3JlYXRlRmlsZVBhcnNlckN0eHQiPmRvY2JDcmVhdGVGaWxlUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiUGFyc2VGaWxlIj5kb2NiUGFyc2VGaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtRE9DQnBhcnNlci5odG1sI2RvY2JTQVhQYXJzZUZpbGUiPmRvY2JTQVhQYXJzZUZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNodG1sQ3JlYXRlRmlsZVBhcnNlckN0eHQiPmh0bWxDcmVhdGVGaWxlUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sUGFyc2VGaWxlIj5odG1sUGFyc2VGaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxTQVhQYXJzZUZpbGUiPmh0bWxTQVhQYXJzZUZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxDcmVhdGVFbnRpdHlQYXJzZXJDdHh0Ij54bWxDcmVhdGVFbnRpdHlQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sQ3JlYXRlRmlsZVBhcnNlckN0eHQiPnhtbENyZWF0ZUZpbGVQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sQ3JlYXRlVVJMUGFyc2VyQ3R4dCI+eG1sQ3JlYXRlVVJMUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWUiPnhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VGaWxlIj54bWxQYXJzZUZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWUiPnhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxSZWNvdmVyRmlsZSI+eG1sUmVjb3ZlckZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxTQVhQYXJzZUZpbGUiPnhtbFNBWFBhcnNlRmlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNBWFBhcnNlRmlsZVdpdGhEYXRhIj54bWxTQVhQYXJzZUZpbGVXaXRoRGF0YTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNBWFVzZXJQYXJzZUZpbGUiPnhtbFNBWFVzZXJQYXJzZUZpbGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5Db21wdXRlczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbEJ1aWxkVVJJIj54bWxCdWlsZFVSSTwvYT48YnIgLz4KKzwvZGQ+PGR0PkNvbmNhdDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxUZXh0Q29uY2F0Ij54bWxUZXh0Q29uY2F0PC9hPjxiciAvPgorPC9kZD48ZHQ+Q29uc3RydWN0czwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbENhbm9uaWNQYXRoIj54bWxDYW5vbmljUGF0aDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbFBhdGhUb1VSSSI+eG1sUGF0aFRvVVJJPC9hPjxiciAvPgorPC9kZD48ZHQ+Q29udGVudDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlR2V0QmFzZSI+eG1sTm9kZUdldEJhc2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVsZW1lbnRDb250ZW50RGVjbCI+eG1sUGFyc2VFbGVtZW50Q29udGVudERlY2w8L2E+PGJyIC8+Cis8L2RkPjxkdD5Db250ZW50LVR5cGU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQRmV0Y2giPnhtbE5hbm9IVFRQRmV0Y2g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQTWV0aG9kIj54bWxOYW5vSFRUUE1ldGhvZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9odHRwLmh0bWwjeG1sTmFub0hUVFBNZXRob2RSZWRpciI+eG1sTmFub0hUVFBNZXRob2RSZWRpcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9odHRwLmh0bWwjeG1sTmFub0hUVFBPcGVuIj54bWxOYW5vSFRUUE9wZW48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQT3BlblJlZGlyIj54bWxOYW5vSFRUUE9wZW5SZWRpcjwvYT48YnIgLz4KKzwvZGQ+PGR0PkNvbnRyYXJ5PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxFbmNvZGVFbnRpdGllc1JlZW50cmFudCI+eG1sRW5jb2RlRW50aXRpZXNSZWVudHJhbnQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5Db250cm9sUGljdHVyZXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDb250cm9sUGljdHVyZXMiPnhtbFVDU0lzQ29udHJvbFBpY3R1cmVzPC9hPjxiciAvPgorPC9kZD48ZHQ+Q29udmVuaWVudDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sQm9vbFRvVGV4dCI+eG1sQm9vbFRvVGV4dDwvYT48YnIgLz4KKzwvZGQ+PGR0PkNvbnZlcnQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ0NvbnZlcnQiPnhtbENhdGFsb2dDb252ZXJ0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbENvbnZlcnRTR01MQ2F0YWxvZyI+eG1sQ29udmVydFNHTUxDYXRhbG9nPC9hPjxiciAvPgorPC9kZD48ZHQ+Q29udmVydHM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ2FzdEJvb2xlYW5Ub051bWJlciI+eG1sWFBhdGhDYXN0Qm9vbGVhblRvTnVtYmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENhc3RCb29sZWFuVG9TdHJpbmciPnhtbFhQYXRoQ2FzdEJvb2xlYW5Ub1N0cmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDYXN0Tm9kZVNldFRvQm9vbGVhbiI+eG1sWFBhdGhDYXN0Tm9kZVNldFRvQm9vbGVhbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDYXN0Tm9kZVNldFRvTnVtYmVyIj54bWxYUGF0aENhc3ROb2RlU2V0VG9OdW1iZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ2FzdE5vZGVTZXRUb1N0cmluZyI+eG1sWFBhdGhDYXN0Tm9kZVNldFRvU3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENhc3ROb2RlVG9OdW1iZXIiPnhtbFhQYXRoQ2FzdE5vZGVUb051bWJlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDYXN0Tm9kZVRvU3RyaW5nIj54bWxYUGF0aENhc3ROb2RlVG9TdHJpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ2FzdE51bWJlclRvQm9vbGVhbiI+eG1sWFBhdGhDYXN0TnVtYmVyVG9Cb29sZWFuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENhc3ROdW1iZXJUb1N0cmluZyI+eG1sWFBhdGhDYXN0TnVtYmVyVG9TdHJpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ2FzdFN0cmluZ1RvQm9vbGVhbiI+eG1sWFBhdGhDYXN0U3RyaW5nVG9Cb29sZWFuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENhc3RTdHJpbmdUb051bWJlciI+eG1sWFBhdGhDYXN0U3RyaW5nVG9OdW1iZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ2FzdFRvQm9vbGVhbiI+eG1sWFBhdGhDYXN0VG9Cb29sZWFuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENhc3RUb051bWJlciI+eG1sWFBhdGhDYXN0VG9OdW1iZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ2FzdFRvU3RyaW5nIj54bWxYUGF0aENhc3RUb1N0cmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb252ZXJ0Qm9vbGVhbiI+eG1sWFBhdGhDb252ZXJ0Qm9vbGVhbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb252ZXJ0TnVtYmVyIj54bWxYUGF0aENvbnZlcnROdW1iZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udmVydFN0cmluZyI+eG1sWFBhdGhDb252ZXJ0U3RyaW5nPC9hPjxiciAvPgorPC9kZD48ZHQ+Q29waWVzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hQ29weVZhbHVlIj54bWxTY2hlbWFDb3B5VmFsdWU8L2E+PGJyIC8+Cis8L2RkPjxkdD5Db3B5PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxDb3B5RW51bWVyYXRpb24iPnhtbENvcHlFbnVtZXJhdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEdldEZlYXR1cmVzTGlzdCI+eG1sR2V0RmVhdHVyZXNMaXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFJlY29uY2lsaWF0ZU5zIj54bWxSZWNvbmNpbGlhdGVOczwvYT48YnIgLz4KKzwvZGQ+PGR0PkNvcnJlY3Q8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2V0Q29tcHJlc3NNb2RlIj54bWxTZXRDb21wcmVzc01vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2V0RG9jQ29tcHJlc3NNb2RlIj54bWxTZXREb2NDb21wcmVzc01vZGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5Db3VsZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNfeG1sU2NoZW1hVHlwZSI+X3htbFNjaGVtYVR5cGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5Db3VudDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sTHNDb3VudE5vZGUiPnhtbExzQ291bnROb2RlPC9hPjxiciAvPgorPC9kZD48ZHQ+Q3JlYXRlczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwjaHRtbE5ld0RvYyI+aHRtbE5ld0RvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwjaHRtbE5ld0RvY05vRHREIj5odG1sTmV3RG9jTm9EdEQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxDcmVhdGVEb2NQYXJzZXJDdHh0Ij54bWxDcmVhdGVEb2NQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwTmV3Q3R4dCI+eG1sRXhwTmV3Q3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdEb2MiPnhtbE5ld0RvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhpbmNsdWRlLmh0bWwjeG1sWEluY2x1ZGVOZXdDb250ZXh0Ij54bWxYSW5jbHVkZU5ld0NvbnRleHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFNldENhY2hlIj54bWxYUGF0aENvbnRleHRTZXRDYWNoZTwvYT48YnIgLz4KKzwvZGQ+PGR0PkNyZWF0aW9uPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld0NEYXRhQmxvY2siPnhtbE5ld0NEYXRhQmxvY2s8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3Q2hhclJlZiI+eG1sTmV3Q2hhclJlZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdDaGlsZCI+eG1sTmV3Q2hpbGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3Q29tbWVudCI+eG1sTmV3Q29tbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdEb2NDb21tZW50Ij54bWxOZXdEb2NDb21tZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld0RvY0ZyYWdtZW50Ij54bWxOZXdEb2NGcmFnbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdEb2NOb2RlIj54bWxOZXdEb2NOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld0RvY05vZGVFYXROYW1lIj54bWxOZXdEb2NOb2RlRWF0TmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdEb2NQSSI+eG1sTmV3RG9jUEk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3RG9jUmF3Tm9kZSI+eG1sTmV3RG9jUmF3Tm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdEb2NUZXh0Ij54bWxOZXdEb2NUZXh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld0RvY1RleHRMZW4iPnhtbE5ld0RvY1RleHRMZW48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3RHRkIj54bWxOZXdEdGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3R2xvYmFsTnMiPnhtbE5ld0dsb2JhbE5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld05vZGUiPnhtbE5ld05vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3Tm9kZUVhdE5hbWUiPnhtbE5ld05vZGVFYXROYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld05zIj54bWxOZXdOczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdQSSI+eG1sTmV3UEk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3UmVmZXJlbmNlIj54bWxOZXdSZWZlcmVuY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3VGV4dCI+eG1sTmV3VGV4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdUZXh0Q2hpbGQiPnhtbE5ld1RleHRDaGlsZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdUZXh0TGVuIj54bWxOZXdUZXh0TGVuPC9hPjxiciAvPgorPC9kZD48ZHQ+Q3VycmVuY3lTeW1ib2xzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ3VycmVuY3lTeW1ib2xzIj54bWxVQ1NJc0N1cnJlbmN5U3ltYm9sczwvYT48YnIgLz4KKzwvZGQ+PGR0PkN1cnJlbnQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNfeG1sUGFyc2VyQ3R4dCI+X3htbFBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNfeG1sUGFyc2VySW5wdXQiPl94bWxQYXJzZXJJbnB1dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjX3htbFZhbGlkQ3R4dCI+X3htbFZhbGlkQ3R4dDwvYT48YnIgLz4KKzwvZGQ+PGR0PkN1cnJlbnRseTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwQ2xvbmVOb2RlIj54bWxET01XcmFwQ2xvbmVOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBHZXRDb25uZWN0aW9uIj54bWxOYW5vRlRQR2V0Q29ubmVjdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQSW5pdCI+eG1sTmFub0ZUUEluaXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQSW5pdCI+eG1sTmFub0hUVFBJbml0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlck5leHRTaWJsaW5nIj54bWxUZXh0UmVhZGVyTmV4dFNpYmxpbmc8L2E+PGJyIC8+Cis8L2RkPjxkdD5DdXQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sUmVjb25jaWxpYXRlTnMiPnhtbFJlY29uY2lsaWF0ZU5zPC9hPjxiciAvPgorPC9kZD48ZHQ+Q3lwcmlvdFN5bGxhYmFyeTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0N5cHJpb3RTeWxsYWJhcnkiPnhtbFVDU0lzQ3lwcmlvdFN5bGxhYmFyeTwvYT48YnIgLz4KKzwvZGQ+PGR0PkN5cmlsbGljPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ3lyaWxsaWMiPnhtbFVDU0lzQ3lyaWxsaWM8L2E+PGJyIC8+Cis8L2RkPjxkdD5DeXJpbGxpY1N1cHBsZW1lbnQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDeXJpbGxpY1N1cHBsZW1lbnQiPnhtbFVDU0lzQ3lyaWxsaWNTdXBwbGVtZW50PC9hPjxiciAvPgorPC9kZD48L2RsPjxoMiBhbGlnbj0iY2VudGVyIj48YSBocmVmPSJBUEljaHVuazAuaHRtbCI+QS1CPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxLmh0bWwiPkMtQzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMi5odG1sIj5ELUU8L2E+Cis8YSBocmVmPSJBUEljaHVuazMuaHRtbCI+Ri1JPC9hPgorPGEgaHJlZj0iQVBJY2h1bms0Lmh0bWwiPkotTjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNS5odG1sIj5PLVA8L2E+Cis8YSBocmVmPSJBUEljaHVuazYuaHRtbCI+US1SPC9hPgorPGEgaHJlZj0iQVBJY2h1bms3Lmh0bWwiPlMtUzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rOC5odG1sIj5ULVU8L2E+Cis8YSBocmVmPSJBUEljaHVuazkuaHRtbCI+Vi1YPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMC5odG1sIj5ZLWE8L2E+Cis8YSBocmVmPSJBUEljaHVuazExLmh0bWwiPmItYjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTIuaHRtbCI+Yy1jPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMy5odG1sIj5kLWQ8L2E+Cis8YSBocmVmPSJBUEljaHVuazE0Lmh0bWwiPmUtZTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTUuaHRtbCI+Zi1mPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNi5odG1sIj5nLWg8L2E+Cis8YSBocmVmPSJBUEljaHVuazE3Lmh0bWwiPmktaTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTguaHRtbCI+ai1sPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxOS5odG1sIj5tLW08L2E+Cis8YSBocmVmPSJBUEljaHVuazIwLmh0bWwiPm4tbjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjEuaHRtbCI+by1vPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMi5odG1sIj5wLXA8L2E+Cis8YSBocmVmPSJBUEljaHVuazIzLmh0bWwiPnEtcjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjQuaHRtbCI+cy1zPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNS5odG1sIj50LXQ8L2E+Cis8YSBocmVmPSJBUEljaHVuazI2Lmh0bWwiPnUtdjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjcuaHRtbCI+dy13PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyOC5odG1sIj54LXg8L2E+Cis8YSBocmVmPSJBUEljaHVuazI5Lmh0bWwiPnktejwvYT4KKzwvaDI+PHA+PGEgaHJlZj0iYnVncy5odG1sIj5EYW5pZWwgVmVpbGxhcmQ8L2E+PC9wPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9BUEljaHVuazEwLmh0bWwgYi9saWJ4bWwyL2RvYy9BUEljaHVuazEwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjJkNTA2MQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL0FQSWNodW5rMTAuaHRtbApAQCAtMCwwICsxLDY3NSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIj4KKzxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj48aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz48bGluayByZWw9IlNIT1JUQ1VUIElDT04iIGhyZWY9Ii9mYXZpY29uLmljbyIgLz48c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorVEQge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0JPRFkge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYTsgbWFyZ2luLXRvcDogMmVtOyBtYXJnaW4tbGVmdDogMGVtOyBtYXJnaW4tcmlnaHQ6IDBlbX0KK0gxIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMiB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDMge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0E6bGluaywgQTp2aXNpdGVkLCBBOmFjdGl2ZSB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIH0KKzwvc3R5bGU+PHRpdGxlPkFQSSBBbHBoYWJldGljIEluZGV4IFktYSBmb3IgbGlieG1sMjwvdGl0bGU+PC9oZWFkPjxib2R5IGJnY29sb3I9IiM4Yjc3NjUiIHRleHQ9IiMwMDAwMDAiIGxpbms9IiNhMDYwNjAiIHZsaW5rPSIjMDAwMDAwIj48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iMTAwJSIgY2VsbHBhZGRpbmc9IjUiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIHdpZHRoPSIxMjAiPjxhIGhyZWY9Imh0dHA6Ly9zd3BhdC5mZmlpLm9yZy8iPjxpbWcgc3JjPSJlcGF0ZW50cy5wbmciIGFsdD0iQWN0aW9uIGFnYWluc3Qgc29mdHdhcmUgcGF0ZW50cyIgLz48L2E+PC90ZD48dGQgd2lkdGg9IjE4MCI+PGEgaHJlZj0iaHR0cDovL3d3dy5nbm9tZS5vcmcvIj48aW1nIHNyYz0iZ25vbWUyLnBuZyIgYWx0PSJHbm9tZTIgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvU3RhdHVzIj48aW1nIHNyYz0idzNjLnBuZyIgYWx0PSJXM0MgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy5yZWRoYXQuY29tLyI+PGltZyBzcmM9InJlZGhhdC5naWYiIGFsdD0iUmVkIEhhdCBMb2dvIiAvPjwvYT48ZGl2IGFsaWduPSJsZWZ0Ij48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvIj48aW1nIHNyYz0iTGlieG1sMi1Mb2dvLTE4MHgxNjguZ2lmIiBhbHQ9Ik1hZGUgd2l0aCBMaWJ4bWwyIExvZ28iIC8+PC9hPjwvZGl2PjwvdGQ+PHRkPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSI5MCUiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIiBiZ2NvbG9yPSIjZmZmYWNkIj48dHI+PHRkIGFsaWduPSJjZW50ZXIiPjxoMT5UaGUgWE1MIEMgcGFyc2VyIGFuZCB0b29sa2l0IG9mIEdub21lPC9oMT48aDI+QVBJIEFscGhhYmV0aWMgSW5kZXggWS1hIGZvciBsaWJ4bWwyPC9oMj48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iNCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiIgd2lkdGg9IjEwMCUiPjx0cj48dGQgdmFsaWduPSJ0b3AiIHdpZHRoPSIyMDAiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPkRldmVsb3BlciBNZW51PC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjxmb3JtIGFjdGlvbj0ic2VhcmNoLnBocCIgZW5jdHlwZT0iYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIiBtZXRob2Q9ImdldCI+PGlucHV0IG5hbWU9InF1ZXJ5IiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IiIgLz48aW5wdXQgbmFtZT0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJTZWFyY2ggLi4uIiAvPjwvZm9ybT48dWw+PGxpPjxhIGhyZWY9ImluZGV4Lmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5NYWluIE1lbnU8L2E+PC9saT48bGk+PGEgaHJlZj0iaHRtbC9pbmRleC5odG1sIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+UmVmZXJlbmNlIE1hbnVhbDwvYT48L2xpPjxsaT48YSBocmVmPSJleGFtcGxlcy9pbmRleC5odG1sIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+Q29kZSBFeGFtcGxlczwvYT48L2xpPjxsaT48YSBocmVmPSJndWlkZWxpbmVzLmh0bWwiPlhNTCBHdWlkZWxpbmVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9InR1dG9yaWFsL2luZGV4Lmh0bWwiPlR1dG9yaWFsPC9hPjwvbGk+PGxpPjxhIGhyZWY9InhtbHJlYWRlci5odG1sIj5UaGUgUmVhZGVyIEludGVyZmFjZTwvYT48L2xpPjxsaT48YSBocmVmPSJDaGFuZ2VMb2cuaHRtbCI+Q2hhbmdlTG9nPC9hPjwvbGk+PGxpPjxhIGhyZWY9IlhTTFQuaHRtbCI+WFNMVDwvYT48L2xpPjxsaT48YSBocmVmPSJweXRob24uaHRtbCI+UHl0aG9uIGFuZCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJhcmNoaXRlY3R1cmUuaHRtbCI+bGlieG1sMiBhcmNoaXRlY3R1cmU8L2E+PC9saT48bGk+PGEgaHJlZj0idHJlZS5odG1sIj5UaGUgdHJlZSBvdXRwdXQ8L2E+PC9saT48bGk+PGEgaHJlZj0iaW50ZXJmYWNlLmh0bWwiPlRoZSBTQVggaW50ZXJmYWNlPC9hPjwvbGk+PGxpPjxhIGhyZWY9InhtbG1lbS5odG1sIj5NZW1vcnkgTWFuYWdlbWVudDwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWxpby5odG1sIj5JL08gSW50ZXJmYWNlczwvYT48L2xpPjxsaT48YSBocmVmPSJsaWJyYXJ5Lmh0bWwiPlRoZSBwYXJzZXIgaW50ZXJmYWNlczwvYT48L2xpPjxsaT48YSBocmVmPSJlbnRpdGllcy5odG1sIj5FbnRpdGllcyBvciBubyBlbnRpdGllczwvYT48L2xpPjxsaT48YSBocmVmPSJuYW1lc3BhY2VzLmh0bWwiPk5hbWVzcGFjZXM8L2E+PC9saT48bGk+PGEgaHJlZj0idXBncmFkZS5odG1sIj5VcGdyYWRpbmcgMS54IGNvZGU8L2E+PC9saT48bGk+PGEgaHJlZj0idGhyZWFkcy5odG1sIj5UaHJlYWQgc2FmZXR5PC9hPjwvbGk+PGxpPjxhIGhyZWY9IkRPTS5odG1sIj5ET00gUHJpbmNpcGxlczwvYT48L2xpPjxsaT48YSBocmVmPSJleGFtcGxlLmh0bWwiPkEgcmVhbCBleGFtcGxlPC9hPjwvbGk+PGxpPjxhIGhyZWY9InhtbC5odG1sIj5mbGF0IHBhZ2U8L2E+LCA8YSBocmVmPSJzaXRlLnhzbCI+c3R5bGVzaGVldDwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPkFQSSBJbmRleGVzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iQVBJY2h1bmswLmh0bWwiPkFscGhhYmV0aWM8L2E+PC9saT48bGk+PGEgaHJlZj0iQVBJY29uc3RydWN0b3JzLmh0bWwiPkNvbnN0cnVjdG9yczwvYT48L2xpPjxsaT48YSBocmVmPSJBUElmdW5jdGlvbnMuaHRtbCI+RnVuY3Rpb25zL1R5cGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkFQSWZpbGVzLmh0bWwiPk1vZHVsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iQVBJc3ltYm9scy5odG1sIj5TeW1ib2xzPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+UmVsYXRlZCBsaW5rczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9Imh0dHA6Ly9tYWlsLmdub21lLm9yZy9hcmNoaXZlcy94bWwvIj5NYWlsIGFyY2hpdmU8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnL1hTTFQvIj5YU0xUIGxpYnhzbHQ8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3BoZC5jcy51bmliby5pdC9nZG9tZTIvIj5ET00gZ2RvbWUyPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuYWxla3NleS5jb20veG1sc2VjLyI+WE1MLURTaWcgeG1sc2VjPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImZ0cDovL3htbHNvZnQub3JnLyI+RlRQPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemxhdGtvdmljLmNvbS9wcm9qZWN0cy9saWJ4bWwvIj5XaW5kb3dzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9vcGVuY3N3Lm9yZy9wYWNrYWdlcy9saWJ4bWwyIj5Tb2xhcmlzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuZXhwbGFpbi5jb20uYXUvb3NzL2xpYnhtbDJ4c2x0Lmh0bWwiPk1hY09zWCBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbHhtbC5kZS8iPmx4bWwgUHl0aG9uIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9jcGFuLnV3aW5uaXBlZy5jYS9kaXN0L1hNTC1MaWJYTUwiPlBlcmwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbHBsdXNwbHVzLnNvdXJjZWZvcmdlLm5ldC8iPkMrKyBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnplbmQuY29tL3BocDUvYXJ0aWNsZXMvcGhwNS14bWxwaHAucGhwI0hlYWRpbmc0Ij5QSFAgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9saWJ4bWwyLXBhcy8iPlBhc2NhbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1sLnJ1Ynlmb3JnZS5vcmcvIj5SdWJ5IGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly90Y2x4bWwuc291cmNlZm9yZ2UubmV0LyI+VGNsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvYnVnbGlzdC5jZ2k/cHJvZHVjdD1saWJ4bWwyIj5CdWcgVHJhY2tlcjwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMyIgY2VsbHNwYWNpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjxoMiBhbGlnbj0iY2VudGVyIj48YSBocmVmPSJBUEljaHVuazAuaHRtbCI+QS1CPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxLmh0bWwiPkMtQzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMi5odG1sIj5ELUU8L2E+Cis8YSBocmVmPSJBUEljaHVuazMuaHRtbCI+Ri1JPC9hPgorPGEgaHJlZj0iQVBJY2h1bms0Lmh0bWwiPkotTjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNS5odG1sIj5PLVA8L2E+Cis8YSBocmVmPSJBUEljaHVuazYuaHRtbCI+US1SPC9hPgorPGEgaHJlZj0iQVBJY2h1bms3Lmh0bWwiPlMtUzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rOC5odG1sIj5ULVU8L2E+Cis8YSBocmVmPSJBUEljaHVuazkuaHRtbCI+Vi1YPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMC5odG1sIj5ZLWE8L2E+Cis8YSBocmVmPSJBUEljaHVuazExLmh0bWwiPmItYjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTIuaHRtbCI+Yy1jPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMy5odG1sIj5kLWQ8L2E+Cis8YSBocmVmPSJBUEljaHVuazE0Lmh0bWwiPmUtZTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTUuaHRtbCI+Zi1mPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNi5odG1sIj5nLWg8L2E+Cis8YSBocmVmPSJBUEljaHVuazE3Lmh0bWwiPmktaTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTguaHRtbCI+ai1sPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxOS5odG1sIj5tLW08L2E+Cis8YSBocmVmPSJBUEljaHVuazIwLmh0bWwiPm4tbjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjEuaHRtbCI+by1vPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMi5odG1sIj5wLXA8L2E+Cis8YSBocmVmPSJBUEljaHVuazIzLmh0bWwiPnEtcjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjQuaHRtbCI+cy1zPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNS5odG1sIj50LXQ8L2E+Cis8YSBocmVmPSJBUEljaHVuazI2Lmh0bWwiPnUtdjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjcuaHRtbCI+dy13PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyOC5odG1sIj54LXg8L2E+Cis8YSBocmVmPSJBUEljaHVuazI5Lmh0bWwiPnktejwvYT4KKzwvaDI+PGgyPkxldHRlciBZOjwvaDI+PGRsPjxkdD5ZRVM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbE5vZGVTdGF0dXMiPmh0bWxOb2RlU3RhdHVzPC9hPjxiciAvPgorPC9kZD48ZHQ+WWlSYWRpY2FsczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc1lpUmFkaWNhbHMiPnhtbFVDU0lzWWlSYWRpY2FsczwvYT48YnIgLz4KKzwvZGQ+PGR0PllpU3lsbGFibGVzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzWWlTeWxsYWJsZXMiPnhtbFVDU0lzWWlTeWxsYWJsZXM8L2E+PGJyIC8+Cis8L2RkPjxkdD5ZaWppbmdIZXhhZ3JhbVN5bWJvbHM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNZaWppbmdIZXhhZ3JhbVN5bWJvbHMiPnhtbFVDU0lzWWlqaW5nSGV4YWdyYW1TeW1ib2xzPC9hPjxiciAvPgorPC9kZD48L2RsPjxoMj5MZXR0ZXIgWjo8L2gyPjxkbD48ZHQ+WkxJQjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiQ3JlYXRlRmlsZVBhcnNlckN0eHQiPmRvY2JDcmVhdGVGaWxlUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiUGFyc2VGaWxlIj5kb2NiUGFyc2VGaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtRE9DQnBhcnNlci5odG1sI2RvY2JTQVhQYXJzZUZpbGUiPmRvY2JTQVhQYXJzZUZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNodG1sQ3JlYXRlRmlsZVBhcnNlckN0eHQiPmh0bWxDcmVhdGVGaWxlUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sUGFyc2VGaWxlIj5odG1sUGFyc2VGaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxTQVhQYXJzZUZpbGUiPmh0bWxTQVhQYXJzZUZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxDcmVhdGVFbnRpdHlQYXJzZXJDdHh0Ij54bWxDcmVhdGVFbnRpdHlQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sQ3JlYXRlRmlsZVBhcnNlckN0eHQiPnhtbENyZWF0ZUZpbGVQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sQ3JlYXRlVVJMUGFyc2VyQ3R4dCI+eG1sQ3JlYXRlVVJMUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxHZXRDb21wcmVzc01vZGUiPnhtbEdldENvbXByZXNzTW9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxHZXREb2NDb21wcmVzc01vZGUiPnhtbEdldERvY0NvbXByZXNzTW9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWUiPnhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VGaWxlIj54bWxQYXJzZUZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWUiPnhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxSZWNvdmVyRmlsZSI+eG1sUmVjb3ZlckZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxTQVhQYXJzZUZpbGUiPnhtbFNBWFBhcnNlRmlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNBWFBhcnNlRmlsZVdpdGhEYXRhIj54bWxTQVhQYXJzZUZpbGVXaXRoRGF0YTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNBWFVzZXJQYXJzZUZpbGUiPnhtbFNBWFVzZXJQYXJzZUZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2V0Q29tcHJlc3NNb2RlIj54bWxTZXRDb21wcmVzc01vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2V0RG9jQ29tcHJlc3NNb2RlIj54bWxTZXREb2NDb21wcmVzc01vZGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5abGliPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9aTElCX0VOQUJMRUQiPkxJQlhNTF9aTElCX0VOQUJMRUQ8L2E+PGJyIC8+Cis8L2RkPjwvZGw+PGgyPkxldHRlciBhOjwvaDI+PGRsPjxkdD5hLXo8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxDaGVja0xhbmd1YWdlSUQiPnhtbENoZWNrTGFuZ3VhZ2VJRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbFVSSUVzY2FwZVN0ciI+eG1sVVJJRXNjYXBlU3RyPC9hPjxiciAvPgorPC9kZD48ZHQ+YS16QS1aPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjSVNfQVNDSUlfTEVUVEVSIj5JU19BU0NJSV9MRVRURVI8L2E+PGJyIC8+Cis8L2RkPjxkdD5hLXpBLVowLTk8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNJU19QVUJJRENIQVIiPklTX1BVQklEQ0hBUjwvYT48YnIgLz4KKzwvZGQ+PGR0PmFAYjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQUHJveHkiPnhtbE5hbm9GVFBQcm94eTwvYT48YnIgLz4KKzwvZGQ+PGR0PmFiYzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhUcmFuc2xhdGVGdW5jdGlvbiI+eG1sWFBhdGhUcmFuc2xhdGVGdW5jdGlvbjwvYT48YnIgLz4KKzwvZGQ+PGR0PmFiYy08L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoVHJhbnNsYXRlRnVuY3Rpb24iPnhtbFhQYXRoVHJhbnNsYXRlRnVuY3Rpb248L2E+PGJyIC8+Cis8L2RkPjxkdD5hYmxlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sRW50aXR5UmVmZXJlbmNlRnVuYyI+eG1sRW50aXR5UmVmZXJlbmNlRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sRmluZENoYXJFbmNvZGluZ0hhbmRsZXIiPnhtbEZpbmRDaGFyRW5jb2RpbmdIYW5kbGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxHZXRDaGFyRW5jb2RpbmdIYW5kbGVyIj54bWxHZXRDaGFyRW5jb2RpbmdIYW5kbGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlckdyb3ciPnhtbFBhcnNlcklucHV0QnVmZmVyR3JvdzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPcmRlckRvY0VsZW1zIj54bWxYUGF0aE9yZGVyRG9jRWxlbXM8L2E+PGJyIC8+Cis8L2RkPjxkdD5hYm91dDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI194bWxQYXJzZXJDdHh0Ij5feG1sUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sRGVidWdEdW1wU3RyaW5nIj54bWxEZWJ1Z0R1bXBTdHJpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsRGlyIj54bWxTaGVsbERpcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZVJhd0xlbiI+eG1sVGV4dFdyaXRlcldyaXRlUmF3TGVuPC9hPjxiciAvPgorPC9kZD48ZHQ+YWJvdmU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZU1hcmt1cERlY2wiPnhtbFBhcnNlTWFya3VwRGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCN4bWxTdHJlYW1XYW50c0FueU5vZGUiPnhtbFN0cmVhbVdhbnRzQW55Tm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdWJzdHJpbmdGdW5jdGlvbiI+eG1sWFBhdGhTdWJzdHJpbmdGdW5jdGlvbjwvYT48YnIgLz4KKzwvZGQ+PGR0PmFic2VudDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19FTEVNX0JMT0NLX0FCU0VOVCI+WE1MX1NDSEVNQVNfRUxFTV9CTE9DS19BQlNFTlQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfRUxFTV9CTE9DS19FWFRFTlNJT04iPlhNTF9TQ0hFTUFTX0VMRU1fQkxPQ0tfRVhURU5TSU9OPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0VMRU1fRklOQUxfQUJTRU5UIj5YTUxfU0NIRU1BU19FTEVNX0ZJTkFMX0FCU0VOVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX1ZBUklFVFlfQUJTRU5UIj5YTUxfU0NIRU1BU19UWVBFX1ZBUklFVFlfQUJTRU5UPC9hPjxiciAvPgorPC9kZD48ZHQ+YWJzb2x1dGVVUkk8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxQYXJzZVVSSSI+eG1sUGFyc2VVUkk8L2E+PGJyIC8+Cis8L2RkPjxkdD5hYnN0YWluPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ2xlYW51cFBhcnNlciI+eG1sQ2xlYW51cFBhcnNlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRocmVhZHMuaHRtbCN4bWxDbGVhbnVwVGhyZWFkcyI+eG1sQ2xlYW51cFRocmVhZHM8L2E+PGJyIC8+Cis8L2RkPjxkdD5hYnN0cmFjdDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19FTEVNX0FCU1RSQUNUIj5YTUxfU0NIRU1BU19FTEVNX0FCU1RSQUNUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfQUJTVFJBQ1QiPlhNTF9TQ0hFTUFTX1RZUEVfQUJTVFJBQ1Q8L2E+PGJyIC8+Cis8L2RkPjxkdD5hY2NlcHQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBNYXhUb2tlbiI+eG1sRXhwTWF4VG9rZW48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sR2V0Tm9Oc1Byb3AiPnhtbEdldE5vTnNQcm9wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxJc01peGVkRWxlbWVudCI+eG1sSXNNaXhlZEVsZW1lbnQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5hY2NlcHRhYmxlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnRXhlY0VyckluZm8iPnhtbFJlZ0V4ZWNFcnJJbmZvPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnRXhlY05leHRWYWx1ZXMiPnhtbFJlZ0V4ZWNOZXh0VmFsdWVzPC9hPjxiciAvPgorPC9kZD48ZHQ+YWNjZXB0ZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNJU19CWVRFX0NIQVIiPklTX0JZVEVfQ0hBUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nR2V0RGVmYXVsdHMiPnhtbENhdGFsb2dHZXREZWZhdWx0czwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nU2V0RGVmYXVsdFByZWZlciI+eG1sQ2F0YWxvZ1NldERlZmF1bHRQcmVmZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ1NldERlZmF1bHRzIj54bWxDYXRhbG9nU2V0RGVmYXVsdHM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBHZXRTdGFydCI+eG1sRXhwR2V0U3RhcnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdFeGVjRXJySW5mbyI+eG1sUmVnRXhlY0VyckluZm88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdFeGVjTmV4dFZhbHVlcyI+eG1sUmVnRXhlY05leHRWYWx1ZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyTm9ybWFsaXphdGlvbiI+eG1sVGV4dFJlYWRlck5vcm1hbGl6YXRpb248L2E+PGJyIC8+Cis8L2RkPjxkdD5hY2NlcHRpbmc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyTm9ybWFsaXphdGlvbiI+eG1sVGV4dFJlYWRlck5vcm1hbGl6YXRpb248L2E+PGJyIC8+Cis8L2RkPjxkdD5hY2NlcHRzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwSXNOaWxsYWJsZSI+eG1sRXhwSXNOaWxsYWJsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cFN1YnN1bWUiPnhtbEV4cFN1YnN1bWU8L2E+PGJyIC8+Cis8L2RkPjxkdD5hY2Nlc3M8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxHY01lbUdldCI+eG1sR2NNZW1HZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxHY01lbVNldHVwIj54bWxHY01lbVNldHVwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWVtR2V0Ij54bWxNZW1HZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNZW1TZXR1cCI+eG1sTWVtU2V0dXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sTmV3TXV0ZXgiPnhtbE5ld011dGV4PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbE5ld1JNdXRleCI+eG1sTmV3Uk11dGV4PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkQ3R4dEdldFBhcnNlckN0eHQiPnhtbFNjaGVtYVZhbGlkQ3R4dEdldFBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5hY2Nlc3NlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJDdXJyZW50RG9jIj54bWxUZXh0UmVhZGVyQ3VycmVudERvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJDdXJyZW50Tm9kZSI+eG1sVGV4dFJlYWRlckN1cnJlbnROb2RlPC9hPjxiciAvPgorPC9kZD48ZHQ+YWNjZXNzZXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxDcmVhdGVVUkxQYXJzZXJDdHh0Ij54bWxDcmVhdGVVUkxQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxOb05ldEV4dGVybmFsRW50aXR5TG9hZGVyIj54bWxOb05ldEV4dGVybmFsRW50aXR5TG9hZGVyPC9hPjxiciAvPgorPC9kZD48ZHQ+YWNjZXhwdGVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwU3Vic3VtZSI+eG1sRXhwU3Vic3VtZTwvYT48YnIgLz4KKzwvZGQ+PGR0PmFjY29tbW9kYXRlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlclJlc2l6ZSI+eG1sQnVmZmVyUmVzaXplPC9hPjxiciAvPgorPC9kZD48ZHQ+YWNjb3JkaW5nPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sQnVpbGRVUkkiPnhtbEJ1aWxkVVJJPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxEZXRlY3RDaGFyRW5jb2RpbmciPnhtbERldGVjdENoYXJFbmNvZGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVhWZXJzaW9uIj54bWxTQVhWZXJzaW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hVmFsaWRhdGVGYWNldFdodHNwIj54bWxTY2hlbWFWYWxpZGF0ZUZhY2V0V2h0c3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxVUklFc2NhcGUiPnhtbFVSSUVzY2FwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhDb21wYXJlVmFsdWVzIj54bWxYUGF0aENvbXBhcmVWYWx1ZXM8L2E+PGJyIC8+Cis8L2RkPjxkdD5hY2NvcmRpbmdseTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sUGFyc2VDaGFyRW5jb2RpbmciPnhtbFBhcnNlQ2hhckVuY29kaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VySGFuZGxlUEVSZWZlcmVuY2UiPnhtbFBhcnNlckhhbmRsZVBFUmVmZXJlbmNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VySGFuZGxlUmVmZXJlbmNlIj54bWxQYXJzZXJIYW5kbGVSZWZlcmVuY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkQ3R4dE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlIj54bWxWYWxpZEN0eHROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZTwvYT48YnIgLz4KKzwvZGQ+PGR0PmFjY291bnQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0V2h0c3AiPnhtbFNjaGVtYVZhbGlkYXRlRmFjZXRXaHRzcDwvYT48YnIgLz4KKzwvZGQ+PGR0PmFjcXVpcmU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjX3htbERPTVdyYXBDdHh0Ij5feG1sRE9NV3JhcEN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcEFjcXVpcmVOc0Z1bmN0aW9uIj54bWxET01XcmFwQWNxdWlyZU5zRnVuY3Rpb248L2E+PGJyIC8+Cis8L2RkPjxkdD5hY3Q8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sU3RyZWFtUHVzaCI+eG1sU3RyZWFtUHVzaDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCN4bWxTdHJlYW1QdXNoQXR0ciI+eG1sU3RyZWFtUHVzaEF0dHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sU3RyZWFtUHVzaE5vZGUiPnhtbFN0cmVhbVB1c2hOb2RlPC9hPjxiciAvPgorPC9kZD48ZHQ+YWN0aW9uPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERvY1NldFJvb3RFbGVtZW50Ij54bWxEb2NTZXRSb290RWxlbWVudDwvYT48YnIgLz4KKzwvZGQ+PGR0PmFjdGl2YXRlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclNldFBhcnNlclByb3AiPnhtbFRleHRSZWFkZXJTZXRQYXJzZXJQcm9wPC9hPjxiciAvPgorPC9kZD48ZHQ+YWN0aXZhdGVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjREVCVUdfTUVNT1JZIj5ERUJVR19NRU1PUlk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhTmV3QWxsVHJhbnMiPnhtbEF1dG9tYXRhTmV3QWxsVHJhbnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhTmV3Q291bnRUcmFucyI+eG1sQXV0b21hdGFOZXdDb3VudFRyYW5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld0NvdW50VHJhbnMyIj54bWxBdXRvbWF0YU5ld0NvdW50VHJhbnMyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld05lZ1RyYW5zIj54bWxBdXRvbWF0YU5ld05lZ1RyYW5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld09uY2VUcmFucyI+eG1sQXV0b21hdGFOZXdPbmNlVHJhbnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhTmV3T25jZVRyYW5zMiI+eG1sQXV0b21hdGFOZXdPbmNlVHJhbnMyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld1RyYW5zaXRpb24iPnhtbEF1dG9tYXRhTmV3VHJhbnNpdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdUcmFuc2l0aW9uMiI+eG1sQXV0b21hdGFOZXdUcmFuc2l0aW9uMjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJSZWxheE5HU2V0U2NoZW1hIj54bWxUZXh0UmVhZGVyUmVsYXhOR1NldFNjaGVtYTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJSZWxheE5HVmFsaWRhdGUiPnhtbFRleHRSZWFkZXJSZWxheE5HVmFsaWRhdGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUmVsYXhOR1ZhbGlkYXRlQ3R4dCI+eG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZUN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyU2NoZW1hVmFsaWRhdGUiPnhtbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZUN0eHQiPnhtbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZUN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyU2V0U2NoZW1hIj54bWxUZXh0UmVhZGVyU2V0U2NoZW1hPC9hPjxiciAvPgorPC9kZD48ZHQ+YWN0aXZhdGVzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHRTZXRDYWNoZSI+eG1sWFBhdGhDb250ZXh0U2V0Q2FjaGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5hY3RzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEdldFByb3AiPnhtbEdldFByb3A8L2E+PGJyIC8+Cis8L2RkPjxkdD5hY3R1YWw8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxHZXRVVEY4Q2hhciI+eG1sR2V0VVRGOENoYXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFWYWxpZGF0ZUxlbmd0aEZhY2V0Ij54bWxTY2hlbWFWYWxpZGF0ZUxlbmd0aEZhY2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldFdodHNwIj54bWxTY2hlbWFWYWxpZGF0ZUxlbmd0aEZhY2V0V2h0c3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoRnJlZU5vZGVTZXQiPnhtbFhQYXRoRnJlZU5vZGVTZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJGcmVlTG9jYXRpb25TZXQiPnhtbFhQdHJGcmVlTG9jYXRpb25TZXQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5hY3R1YWxseTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNfeG1sRG9jIj5feG1sRG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjX3htbFBhcnNlckN0eHQiPl94bWxQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjc2V0RG9jdW1lbnRMb2NhdG9yIj5zZXREb2N1bWVudExvY2F0b3I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNzZXREb2N1bWVudExvY2F0b3JTQVhGdW5jIj5zZXREb2N1bWVudExvY2F0b3JTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxBZGRFbmNvZGluZ0FsaWFzIj54bWxBZGRFbmNvZGluZ0FsaWFzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sQ3VycmVudENoYXIiPnhtbEN1cnJlbnRDaGFyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxEZWxFbmNvZGluZ0FsaWFzIj54bWxEZWxFbmNvZGluZ0FsaWFzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxHZXRFbmNvZGluZ0FsaWFzIj54bWxHZXRFbmNvZGluZ0FsaWFzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxOZXdDaGFyRW5jb2RpbmdIYW5kbGVyIj54bWxOZXdDaGFyRW5jb2RpbmdIYW5kbGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxQYXJzZUNoYXJFbmNvZGluZyI+eG1sUGFyc2VDaGFyRW5jb2Rpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZU5vdGF0aW9uRGVjbCI+eG1sUGFyc2VOb3RhdGlvbkRlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMlNldERvY3VtZW50TG9jYXRvciI+eG1sU0FYMlNldERvY3VtZW50TG9jYXRvcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFN0cmluZ0N1cnJlbnRDaGFyIj54bWxTdHJpbmdDdXJyZW50Q2hhcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJCeXRlQ29uc3VtZWQiPnhtbFRleHRSZWFkZXJCeXRlQ29uc3VtZWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT3JkZXJEb2NFbGVtcyI+eG1sWFBhdGhPcmRlckRvY0VsZW1zPC9hPjxiciAvPgorPC9kZD48ZHQ+YWN0dWF0ZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhsaW5rLmh0bWwjeGxpbmtFeHRlbmRlZExpbmtGdW5rIj54bGlua0V4dGVuZGVkTGlua0Z1bms8L2E+PGJyIC8+Cis8L2RkPjxkdD5hZGQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQUNhdGFsb2dBZGQiPnhtbEFDYXRhbG9nQWRkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlckFkZCI+eG1sQnVmZmVyQWRkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlckFkZEhlYWQiPnhtbEJ1ZmZlckFkZEhlYWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyQ2F0Ij54bWxCdWZmZXJDYXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyV3JpdGVDSEFSIj54bWxCdWZmZXJXcml0ZUNIQVI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyV3JpdGVDaGFyIj54bWxCdWZmZXJXcml0ZUNoYXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyV3JpdGVRdW90ZWRTdHJpbmciPnhtbEJ1ZmZlcldyaXRlUXVvdGVkU3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dBZGQiPnhtbENhdGFsb2dBZGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdFB1c2hCYWNrIj54bWxMaXN0UHVzaEJhY2s8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdFB1c2hGcm9udCI+eG1sTGlzdFB1c2hGcm9udDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhBZGRWYWx1ZXMiPnhtbFhQYXRoQWRkVmFsdWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vZGVTZXRBZGQiPnhtbFhQYXRoTm9kZVNldEFkZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb2RlU2V0QWRkTnMiPnhtbFhQYXRoTm9kZVNldEFkZE5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vZGVTZXRBZGRVbmlxdWUiPnhtbFhQYXRoTm9kZVNldEFkZFVuaXF1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ckxvY2F0aW9uU2V0QWRkIj54bWxYUHRyTG9jYXRpb25TZXRBZGQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5hZGRlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjYXR0cmlidXRlU0FYRnVuYyI+YXR0cmlidXRlU0FYRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwjaHRtbERvY0NvbnRlbnREdW1wRm9ybWF0T3V0cHV0Ij5odG1sRG9jQ29udGVudER1bXBGb3JtYXRPdXRwdXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI2h0bWxEb2NDb250ZW50RHVtcE91dHB1dCI+aHRtbERvY0NvbnRlbnREdW1wT3V0cHV0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNodG1sRG9jRHVtcE1lbW9yeUZvcm1hdCI+aHRtbERvY0R1bXBNZW1vcnlGb3JtYXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI2h0bWxOb2RlRHVtcCI+aHRtbE5vZGVEdW1wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNodG1sTm9kZUR1bXBGaWxlIj5odG1sTm9kZUR1bXBGaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNodG1sTm9kZUR1bXBGaWxlRm9ybWF0Ij5odG1sTm9kZUR1bXBGaWxlRm9ybWF0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNodG1sTm9kZUR1bXBGb3JtYXRPdXRwdXQiPmh0bWxOb2RlRHVtcEZvcm1hdE91dHB1dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwjaHRtbE5vZGVEdW1wT3V0cHV0Ij5odG1sTm9kZUR1bXBPdXRwdXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI2h0bWxTYXZlRmlsZUVuYyI+aHRtbFNhdmVGaWxlRW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNodG1sU2F2ZUZpbGVGb3JtYXQiPmh0bWxTYXZlRmlsZUZvcm1hdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxBZGRDaGlsZCI+eG1sQWRkQ2hpbGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQWRkTmV4dFNpYmxpbmciPnhtbEFkZE5leHRTaWJsaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEFkZFByZXZTaWJsaW5nIj54bWxBZGRQcmV2U2libGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbENoZWNrTGFuZ3VhZ2VJRCI+eG1sQ2hlY2tMYW5ndWFnZUlEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBDbG9uZU5vZGUiPnhtbERPTVdyYXBDbG9uZU5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRG9jRHVtcEZvcm1hdE1lbW9yeSI+eG1sRG9jRHVtcEZvcm1hdE1lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxEb2NEdW1wRm9ybWF0TWVtb3J5RW5jIj54bWxEb2NEdW1wRm9ybWF0TWVtb3J5RW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERvY0Zvcm1hdER1bXAiPnhtbERvY0Zvcm1hdER1bXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3Q2hpbGQiPnhtbE5ld0NoaWxkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld1RleHRDaGlsZCI+eG1sTmV3VGV4dENoaWxkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNhdmVGb3JtYXRGaWxlIj54bWxTYXZlRm9ybWF0RmlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTYXZlRm9ybWF0RmlsZUVuYyI+eG1sU2F2ZUZvcm1hdEZpbGVFbmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2F2ZUZvcm1hdEZpbGVUbyI+eG1sU2F2ZUZvcm1hdEZpbGVUbzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFN0cmNhdCI+eG1sU3RyY2F0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3RybmNhdCI+eG1sU3RybmNhdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb2RlU2V0TWVyZ2UiPnhtbFhQYXRoTm9kZVNldE1lcmdlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyTG9jYXRpb25TZXRNZXJnZSI+eG1sWFB0ckxvY2F0aW9uU2V0TWVyZ2U8L2E+PGJyIC8+Cis8L2RkPjxkdD5hZGRpbmc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sTG9hZFNHTUxTdXBlckNhdGFsb2ciPnhtbExvYWRTR01MU3VwZXJDYXRhbG9nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUE1ldGhvZCI+eG1sTmFub0hUVFBNZXRob2Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQTWV0aG9kUmVkaXIiPnhtbE5hbm9IVFRQTWV0aG9kUmVkaXI8L2E+PGJyIC8+Cis8L2RkPjxkdD5hZGRpdGlvbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoQWRkRW50cnkiPnhtbEhhc2hBZGRFbnRyeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoQWRkRW50cnkyIj54bWxIYXNoQWRkRW50cnkyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hBZGRFbnRyeTMiPnhtbEhhc2hBZGRFbnRyeTM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFVwZGF0ZUVudHJ5Ij54bWxIYXNoVXBkYXRlRW50cnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFVwZGF0ZUVudHJ5MiI+eG1sSGFzaFVwZGF0ZUVudHJ5MjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoVXBkYXRlRW50cnkzIj54bWxIYXNoVXBkYXRlRW50cnkzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFN1YnN0cmluZ0Z1bmN0aW9uIj54bWxYUGF0aFN1YnN0cmluZ0Z1bmN0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+YWRkaXRpb25hbDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwQWRvcHROb2RlIj54bWxET01XcmFwQWRvcHROb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBDbG9uZU5vZGUiPnhtbERPTVdyYXBDbG9uZU5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcFJlY29uY2lsZU5hbWVzcGFjZXMiPnhtbERPTVdyYXBSZWNvbmNpbGVOYW1lc3BhY2VzPC9hPjxiciAvPgorPC9kZD48ZHQ+YWRkaXRpb25hbGx5PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbFN0cmVhbVdhbnRzQW55Tm9kZSI+eG1sU3RyZWFtV2FudHNBbnlOb2RlPC9hPjxiciAvPgorPC9kZD48ZHQ+YWRkcmVzczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1vZHVsZS5odG1sI3htbE1vZHVsZVN5bWJvbCI+eG1sTW9kdWxlU3ltYm9sPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sTmV3VGV4dFdyaXRlckRvYyI+eG1sTmV3VGV4dFdyaXRlckRvYzwvYT48YnIgLz4KKzwvZGQ+PGR0PmFkZHM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhTmV3QWxsVHJhbnMiPnhtbEF1dG9tYXRhTmV3QWxsVHJhbnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhTmV3Q291bnRUcmFucyI+eG1sQXV0b21hdGFOZXdDb3VudFRyYW5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld0NvdW50VHJhbnMyIj54bWxBdXRvbWF0YU5ld0NvdW50VHJhbnMyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld0NvdW50ZWRUcmFucyI+eG1sQXV0b21hdGFOZXdDb3VudGVkVHJhbnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhTmV3Q291bnRlclRyYW5zIj54bWxBdXRvbWF0YU5ld0NvdW50ZXJUcmFuczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdFcHNpbG9uIj54bWxBdXRvbWF0YU5ld0Vwc2lsb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhTmV3TmVnVHJhbnMiPnhtbEF1dG9tYXRhTmV3TmVnVHJhbnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhTmV3T25jZVRyYW5zIj54bWxBdXRvbWF0YU5ld09uY2VUcmFuczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdPbmNlVHJhbnMyIj54bWxBdXRvbWF0YU5ld09uY2VUcmFuczI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhTmV3VHJhbnNpdGlvbiI+eG1sQXV0b21hdGFOZXdUcmFuc2l0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld1RyYW5zaXRpb24yIj54bWxBdXRvbWF0YU5ld1RyYW5zaXRpb24yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlcldyaXRlQ0hBUiI+eG1sQnVmZmVyV3JpdGVDSEFSPC9hPjxiciAvPgorPC9kZD48ZHQ+YWRlcXVhdGU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxTdHJpbmdEZWNvZGVFbnRpdGllcyI+eG1sU3RyaW5nRGVjb2RlRW50aXRpZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxTdHJpbmdMZW5EZWNvZGVFbnRpdGllcyI+eG1sU3RyaW5nTGVuRGVjb2RlRW50aXRpZXM8L2E+PGJyIC8+Cis8L2RkPjxkdD5hZGphY2VudDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxBZGRDaGlsZCI+eG1sQWRkQ2hpbGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQWRkQ2hpbGRMaXN0Ij54bWxBZGRDaGlsZExpc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQWRkUHJldlNpYmxpbmciPnhtbEFkZFByZXZTaWJsaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEFkZFNpYmxpbmciPnhtbEFkZFNpYmxpbmc8L2E+PGJyIC8+Cis8L2RkPjxkdD5hZmZlY3Q8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxLZWVwQmxhbmtzRGVmYXVsdCI+eG1sS2VlcEJsYW5rc0RlZmF1bHQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5hZmZlY3RlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZGl0eUxvY2F0b3JGdW5jIj54bWxTY2hlbWFWYWxpZGl0eUxvY2F0b3JGdW5jPC9hPjxiciAvPgorPC9kZD48ZHQ+YWZmaWxpYXRpb248L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjX3htbFNjaGVtYUVsZW1lbnQiPl94bWxTY2hlbWFFbGVtZW50PC9hPjxiciAvPgorPC9kZD48ZHQ+YWZyYWlkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxFbmNvZGVFbnRpdGllcyI+eG1sRW5jb2RlRW50aXRpZXM8L2E+PGJyIC8+Cis8L2RkPjxkdD5hZnRlcjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNVVEY4VG9IdG1sIj5VVEY4VG9IdG1sPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCNVVEY4VG9pc29sYXQxIj5VVEY4VG9pc29sYXQxPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjX3htbFBhcnNlckN0eHQiPl94bWxQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtRE9DQnBhcnNlci5odG1sI2RvY2JFbmNvZGVFbnRpdGllcyI+ZG9jYkVuY29kZUVudGl0aWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxFbmNvZGVFbnRpdGllcyI+aHRtbEVuY29kZUVudGl0aWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCNpc29sYXQxVG9VVEY4Ij5pc29sYXQxVG9VVEY4PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YUNvbXBpbGUiPnhtbEF1dG9tYXRhQ29tcGlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nSW5wdXRGdW5jIj54bWxDaGFyRW5jb2RpbmdJbnB1dEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZ091dHB1dEZ1bmMiPnhtbENoYXJFbmNvZGluZ091dHB1dEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUENoZWNrUmVzcG9uc2UiPnhtbE5hbm9GVFBDaGVja1Jlc3BvbnNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBGcmVlQ3R4dCI+eG1sTmFub0ZUUEZyZWVDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBHZXRSZXNwb25zZSI+eG1sTmFub0ZUUEdldFJlc3BvbnNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFJlY29uY2lsaWF0ZU5zIj54bWxSZWNvbmNpbGlhdGVOczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTYXZlRmlsZVRvIj54bWxTYXZlRmlsZVRvPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNhdmVGb3JtYXRGaWxlVG8iPnhtbFNhdmVGb3JtYXRGaWxlVG88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sVW5saW5rTm9kZSI+eG1sVW5saW5rTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzIj54bWxWYWxpZEdldFZhbGlkRWxlbWVudHM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV4dEZvbGxvd2luZyI+eG1sWFBhdGhOZXh0Rm9sbG93aW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFN0cmluZ0Z1bmN0aW9uIj54bWxYUGF0aFN0cmluZ0Z1bmN0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+YWdhaW48L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dCI+eG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5hZ2FpbnN0PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9URVNUX1ZFUlNJT04iPkxJQlhNTF9URVNUX1ZFUlNJT048L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfRUxFTV9JTlRFUk5BTF9DSEVDS0VEIj5YTUxfU0NIRU1BU19FTEVNX0lOVEVSTkFMX0NIRUNLRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNjaGVja05hbWVzcGFjZSI+Y2hlY2tOYW1lc3BhY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjeG1sQ2hlY2tWZXJzaW9uIj54bWxDaGVja1ZlcnNpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdleHBDb21waWxlIj54bWxSZWdleHBDb21waWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnZXhwRXhlYyI+eG1sUmVnZXhwRXhlYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYVZhbGlkYXRlRmFjZXQiPnhtbFNjaGVtYVZhbGlkYXRlRmFjZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0V2h0c3AiPnhtbFNjaGVtYVZhbGlkYXRlRmFjZXRXaHRzcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXQiPnhtbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFWYWxpZGF0ZUxlbmd0aEZhY2V0V2h0c3AiPnhtbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXRXaHRzcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYVZhbGlkYXRlTGlzdFNpbXBsZVR5cGVGYWNldCI+eG1sU2NoZW1hVmFsaWRhdGVMaXN0U2ltcGxlVHlwZUZhY2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hdHJvbi5odG1sI3htbFNjaGVtYXRyb25WYWxpZGF0ZURvYyI+eG1sU2NoZW1hdHJvblZhbGlkYXRlRG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbFZhbGlkYXRlIj54bWxTaGVsbFZhbGlkYXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZUR0ZCI+eG1sVmFsaWRhdGVEdGQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5hZ2dyZWdhdGU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmR2V0Tm9kZUNvbnRlbnQiPnhtbEJ1ZkdldE5vZGVDb250ZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVCdWZHZXRDb250ZW50Ij54bWxOb2RlQnVmR2V0Q29udGVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlR2V0Q29udGVudCI+eG1sTm9kZUdldENvbnRlbnQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5haGVhZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI1hNTF9NQVhfTE9PS1VQX0xJTUlUIj5YTUxfTUFYX0xPT0tVUF9MSU1JVDwvYT48YnIgLz4KKzwvZGQ+PGR0PmFsZ2VicmFpYzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cEV4cERlcml2ZSI+eG1sRXhwRXhwRGVyaXZlPC9hPjxiciAvPgorPC9kZD48ZHQ+YWxpYXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbEFkZEVuY29kaW5nQWxpYXMiPnhtbEFkZEVuY29kaW5nQWxpYXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbERlbEVuY29kaW5nQWxpYXMiPnhtbERlbEVuY29kaW5nQWxpYXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbEdldEVuY29kaW5nQWxpYXMiPnhtbEdldEVuY29kaW5nQWxpYXM8L2E+PGJyIC8+Cis8L2RkPjxkdD5hbGlhc2VzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDbGVhbnVwQ2hhckVuY29kaW5nSGFuZGxlcnMiPnhtbENsZWFudXBDaGFyRW5jb2RpbmdIYW5kbGVyczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2xlYW51cEVuY29kaW5nQWxpYXNlcyI+eG1sQ2xlYW51cEVuY29kaW5nQWxpYXNlczwvYT48YnIgLz4KKzwvZGQ+PGR0PmFsaWFzaW5nPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI1hNTF9DQVNUX0ZQVFIiPlhNTF9DQVNUX0ZQVFI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2VhcmNoTnNCeUhyZWYiPnhtbFNlYXJjaE5zQnlIcmVmPC9hPjxiciAvPgorPC9kZD48ZHQ+YWxsb2NhdGU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjX3htbERvYyI+X3htbERvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJHcm93Ij54bWxCdWZmZXJHcm93PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1aWxkUU5hbWUiPnhtbEJ1aWxkUU5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNYWxsb2NBdG9taWNMb2MiPnhtbE1hbGxvY0F0b21pY0xvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1hbGxvY0xvYyI+eG1sTWFsbG9jTG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWVtTWFsbG9jIj54bWxNZW1NYWxsb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNZW1SZWFsbG9jIj54bWxNZW1SZWFsbG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbE5ld011dGV4Ij54bWxOZXdNdXRleDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRocmVhZHMuaHRtbCN4bWxOZXdSTXV0ZXgiPnhtbE5ld1JNdXRleDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbFJlYWxsb2NMb2MiPnhtbFJlYWxsb2NMb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0Q29weSI+eG1sWFBhdGhPYmplY3RDb3B5PC9hPjxiciAvPgorPC9kZD48ZHQ+YWxsb2NhdGlvbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfVEhSRUFEX0FMTE9DX0VOQUJMRUQiPkxJQlhNTF9USFJFQURfQUxMT0NfRU5BQkxFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sTmV3UGFyc2VyQ3R4dCI+aHRtbE5ld1BhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyU2V0QWxsb2NhdGlvblNjaGVtZSI+eG1sQnVmZmVyU2V0QWxsb2NhdGlvblNjaGVtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxHZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lIj54bWxHZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWFsbG9jQXRvbWljTG9jIj54bWxNYWxsb2NBdG9taWNMb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNYWxsb2NMb2MiPnhtbE1hbGxvY0xvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1lbU1hbGxvYyI+eG1sTWVtTWFsbG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWVtUmVhbGxvYyI+eG1sTWVtUmVhbGxvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1lbVN0cmR1cExvYyI+eG1sTWVtU3RyZHVwTG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWVtb3J5U3RyZHVwIj54bWxNZW1vcnlTdHJkdXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxOb3JtYWxpemVVUklQYXRoIj54bWxOb3JtYWxpemVVUklQYXRoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sUmVhbGxvY0xvYyI+eG1sUmVhbGxvY0xvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lIj54bWxTZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckdldFJlbWFpbmRlciI+eG1sVGV4dFJlYWRlckdldFJlbWFpbmRlcjwvYT48YnIgLz4KKzwvZGQ+PGR0PmFsbG9jYXRpb25zPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sR2NNZW1HZXQiPnhtbEdjTWVtR2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sR2NNZW1TZXR1cCI+eG1sR2NNZW1TZXR1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1lbVNldHVwIj54bWxNZW1TZXR1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlcklucHV0RGVhbGxvY2F0ZSI+eG1sUGFyc2VySW5wdXREZWFsbG9jYXRlPC9hPjxiciAvPgorPC9kZD48ZHQ+YWxsb2NhdG9yPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjREVCVUdfTUVNT1JZIj5ERUJVR19NRU1PUlk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX0FUVFJfQUxMT0NfU0laRSI+TElCWE1MX0FUVFJfQUxMT0NfU0laRTwvYT48YnIgLz4KKzwvZGQ+PGR0PmFsbG9jYXRvcnM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxHY01lbUdldCI+eG1sR2NNZW1HZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxHY01lbVNldHVwIj54bWxHY01lbVNldHVwPC9hPjxiciAvPgorPC9kZD48ZHQ+YWxsb3c8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfQVRUUl9HTE9CQUwiPlhNTF9TQ0hFTUFTX0FUVFJfR0xPQkFMPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0FUVFJfTlNERUZBVUxUIj5YTUxfU0NIRU1BU19BVFRSX05TREVGQVVMVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19FTEVNX05TREVGQVVMVCI+WE1MX1NDSEVNQVNfRUxFTV9OU0RFRkFVTFQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1ET0NCcGFyc2VyLmh0bWwjZG9jYkNyZWF0ZVB1c2hQYXJzZXJDdHh0Ij5kb2NiQ3JlYXRlUHVzaFBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEF0dHJBbGxvd2VkIj5odG1sQXR0ckFsbG93ZWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbE5vZGVTdGF0dXMiPmh0bWxOb2RlU3RhdHVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld0FsbFRyYW5zIj54bWxBdXRvbWF0YU5ld0FsbFRyYW5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sQ2hlY2tMYW5ndWFnZUlEIj54bWxDaGVja0xhbmd1YWdlSUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGVja1VURjgiPnhtbENoZWNrVVRGODwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbENyZWF0ZVB1c2hQYXJzZXJDdHh0Ij54bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEtlZXBCbGFua3NEZWZhdWx0Ij54bWxLZWVwQmxhbmtzRGVmYXVsdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdEb2NOb2RlIj54bWxOZXdEb2NOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld0RvY05vZGVFYXROYW1lIj54bWxOZXdEb2NOb2RlRWF0TmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlVmVyc2lvbk51bSI+eG1sUGFyc2VWZXJzaW9uTnVtPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkQ3R4dEdldFBhcnNlckN0eHQiPnhtbFNjaGVtYVZhbGlkQ3R4dEdldFBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2VhcmNoTnMiPnhtbFNlYXJjaE5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbCI+eG1sU2hlbGw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sVmFsaWRhdGVOQ05hbWUiPnhtbFZhbGlkYXRlTkNOYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFZhbGlkYXRlTk1Ub2tlbiI+eG1sVmFsaWRhdGVOTVRva2VuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFZhbGlkYXRlTmFtZSI+eG1sVmFsaWRhdGVOYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFZhbGlkYXRlUU5hbWUiPnhtbFZhbGlkYXRlUU5hbWU8L2E+PGJyIC8+Cis8L2RkPjxkdD5hbGxvd2FibGU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxTa2lwQmxhbmtDaGFycyI+eG1sU2tpcEJsYW5rQ2hhcnM8L2E+PGJyIC8+Cis8L2RkPjxkdD5hbGxvd2VkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjWE1MX01BWF9ESUNUSU9OQVJZX0xJTUlUIj5YTUxfTUFYX0RJQ1RJT05BUllfTElNSVQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNYTUxfTUFYX0xPT0tVUF9MSU1JVCI+WE1MX01BWF9MT09LVVBfTElNSVQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNYTUxfTUFYX05BTUVfTEVOR1RIIj5YTUxfTUFYX05BTUVfTEVOR1RIPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjWE1MX01BWF9URVhUX0xFTkdUSCI+WE1MX01BWF9URVhUX0xFTkdUSDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNfaHRtbEVsZW1EZXNjIj5faHRtbEVsZW1EZXNjPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI194bWxFbGVtZW50Ij5feG1sRWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNfeG1sU2NoZW1hV2lsZGNhcmQiPl94bWxTY2hlbWFXaWxkY2FyZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sRWxlbWVudEFsbG93ZWRIZXJlIj5odG1sRWxlbWVudEFsbG93ZWRIZXJlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxFbGVtZW50QWxsb3dlZEhlcmVEZXNjIj5odG1sRWxlbWVudEFsbG93ZWRIZXJlRGVzYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sTm9kZVN0YXR1cyI+aHRtbE5vZGVTdGF0dXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhTmV3QWxsVHJhbnMiPnhtbEF1dG9tYXRhTmV3QWxsVHJhbnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhTmV3Q291bnRlclRyYW5zIj54bWxBdXRvbWF0YU5ld0NvdW50ZXJUcmFuczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZOb2RlRHVtcCI+eG1sQnVmTm9kZUR1bXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxJc0xldHRlciI+eG1sSXNMZXR0ZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUFkZENvbnRlbnQiPnhtbE5vZGVBZGRDb250ZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVBZGRDb250ZW50TGVuIj54bWxOb2RlQWRkQ29udGVudExlbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlRHVtcCI+eG1sTm9kZUR1bXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUR1bXBPdXRwdXQiPnhtbE5vZGVEdW1wT3V0cHV0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5Ij54bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlSZWNvdmVyIj54bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlSZWNvdmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VJbk5vZGVDb250ZXh0Ij54bWxQYXJzZUluTm9kZUNvbnRleHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkR2V0UG90ZW50aWFsQ2hpbGRyZW4iPnhtbFZhbGlkR2V0UG90ZW50aWFsQ2hpbGRyZW48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9ybWFsaXplRnVuY3Rpb24iPnhtbFhQYXRoTm9ybWFsaXplRnVuY3Rpb248L2E+PGJyIC8+Cis8L2RkPjxkdD5hbGxvd2luZzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sTm9OZXRFeHRlcm5hbEVudGl0eUxvYWRlciI+eG1sTm9OZXRFeHRlcm5hbEVudGl0eUxvYWRlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJDdXJyZW50RG9jIj54bWxUZXh0UmVhZGVyQ3VycmVudERvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJDdXJyZW50Tm9kZSI+eG1sVGV4dFJlYWRlckN1cnJlbnROb2RlPC9hPjxiciAvPgorPC9kZD48ZHQ+YWxsb3dzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxBdXRvQ2xvc2VUYWciPmh0bWxBdXRvQ2xvc2VUYWc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbElzQXV0b0Nsb3NlZCI+aHRtbElzQXV0b0Nsb3NlZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nQWRkIj54bWxDYXRhbG9nQWRkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld0NoaWxkIj54bWxOZXdDaGlsZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlU2V0Q29udGVudCI+eG1sTm9kZVNldENvbnRlbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVNldENvbnRlbnRMZW4iPnhtbE5vZGVTZXRDb250ZW50TGVuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sUGFyc2VVUklSYXciPnhtbFBhcnNlVVJJUmF3PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckNvbnN0U3RyaW5nIj54bWxUZXh0UmVhZGVyQ29uc3RTdHJpbmc8L2E+PGJyIC8+Cis8L2RkPjxkdD5hbHBoYW51bWVyaWNzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sQ2hlY2tMYW5ndWFnZUlEIj54bWxDaGVja0xhbmd1YWdlSUQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5hbHJlYWR5PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0FUVFJHUk9VUF9HTE9CQUwiPlhNTF9TQ0hFTUFTX0FUVFJHUk9VUF9HTE9CQUw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfQVRUUkdST1VQX1dJTERDQVJEX0JVSUxERUQiPlhNTF9TQ0hFTUFTX0FUVFJHUk9VUF9XSUxEQ0FSRF9CVUlMREVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjX3htbFBhcnNlcklucHV0Ij5feG1sUGFyc2VySW5wdXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQWRkTmV4dFNpYmxpbmciPnhtbEFkZE5leHRTaWJsaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEFkZFByZXZTaWJsaW5nIj54bWxBZGRQcmV2U2libGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxBZGRTaWJsaW5nIj54bWxBZGRTaWJsaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sQnVpbGRSZWxhdGl2ZVVSSSI+eG1sQnVpbGRSZWxhdGl2ZVVSSTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwQWRvcHROb2RlIj54bWxET01XcmFwQWRvcHROb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBDbG9uZU5vZGUiPnhtbERPTVdyYXBDbG9uZU5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcFJlY29uY2lsZU5hbWVzcGFjZXMiPnhtbERPTVdyYXBSZWNvbmNpbGVOYW1lc3BhY2VzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sRnJlZUZ1bmMiPnhtbEZyZWVGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sR2NNZW1TZXR1cCI+eG1sR2NNZW1TZXR1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRpY3QuaHRtbCN4bWxJbml0aWFsaXplRGljdCI+eG1sSW5pdGlhbGl6ZURpY3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNZW1TZXR1cCI+eG1sTWVtU2V0dXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbFBhcnNlQ2hhckVuY29kaW5nIj54bWxQYXJzZUNoYXJFbmNvZGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlTm90YXRpb25UeXBlIj54bWxQYXJzZU5vdGF0aW9uVHlwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlcklucHV0R3JvdyI+eG1sUGFyc2VySW5wdXRHcm93PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sUmVhbGxvY0Z1bmMiPnhtbFJlYWxsb2NGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFJlcGxhY2VOb2RlIj54bWxSZXBsYWNlTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb2RlU2V0QWRkVW5pcXVlIj54bWxYUGF0aE5vZGVTZXRBZGRVbmlxdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJMb2NhdGlvblNldEFkZCI+eG1sWFB0ckxvY2F0aW9uU2V0QWRkPC9hPjxiciAvPgorPC9kZD48ZHQ+YWxzbzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjX3htbEVudGl0eSI+X3htbEVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYyI+eG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sQ2hlY2tIVFRQSW5wdXQiPnhtbENoZWNrSFRUUElucHV0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ2xlYW51cFBhcnNlciI+eG1sQ2xlYW51cFBhcnNlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxIYXNQcm9wIj54bWxIYXNQcm9wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sS2VlcEJsYW5rc0RlZmF1bHQiPnhtbEtlZXBCbGFua3NEZWZhdWx0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBQcm94eSI+eG1sTmFub0ZUUFByb3h5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbFN0cmVhbVB1c2giPnhtbFN0cmVhbVB1c2g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sU3RyZWFtUHVzaEF0dHIiPnhtbFN0cmVhbVB1c2hBdHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbFN0cmVhbVB1c2hOb2RlIj54bWxTdHJlYW1QdXNoTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQcmVzZXJ2ZSI+eG1sVGV4dFJlYWRlclByZXNlcnZlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclByZXNlcnZlUGF0dGVybiI+eG1sVGV4dFJlYWRlclByZXNlcnZlUGF0dGVybjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdHJpbmdFdmFsTnVtYmVyIj54bWxYUGF0aFN0cmluZ0V2YWxOdW1iZXI8L2E+PGJyIC8+Cis8L2RkPjxkdD5hbHRlcm5hdGl2ZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJTdGFydERURCI+eG1sVGV4dFdyaXRlclN0YXJ0RFREPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRFREIj54bWxUZXh0V3JpdGVyV3JpdGVEVEQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVEVERFbnRpdHkiPnhtbFRleHRXcml0ZXJXcml0ZURUREVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZURUREV4dGVybmFsRW50aXR5Ij54bWxUZXh0V3JpdGVyV3JpdGVEVERFeHRlcm5hbEVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZURUREV4dGVybmFsRW50aXR5Q29udGVudHMiPnhtbFRleHRXcml0ZXJXcml0ZURUREV4dGVybmFsRW50aXR5Q29udGVudHM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVEVEROb3RhdGlvbiI+eG1sVGV4dFdyaXRlcldyaXRlRFRETm90YXRpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVEQiPnhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdERURDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVEQiPnhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVEQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5hbHdheXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNJTlBVVF9DSFVOSyI+SU5QVVRfQ0hVTks8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxEZWNvZGVFbnRpdGllcyI+eG1sRGVjb2RlRW50aXRpZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0Ij54bWxTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0PC9hPjxiciAvPgorPC9kZD48ZHQ+YW1kPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dJc0VtcHR5Ij54bWxDYXRhbG9nSXNFbXB0eTwvYT48YnIgLz4KKzwvZGQ+PGR0PmFtb3VudDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lOUFVUX0NIVU5LIj5JTlBVVF9DSFVOSzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjX3htbFBhcnNlcklucHV0QnVmZmVyIj5feG1sUGFyc2VySW5wdXRCdWZmZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kaWN0Lmh0bWwjeG1sRGljdEdldFVzYWdlIj54bWxEaWN0R2V0VXNhZ2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNZW1EaXNwbGF5TGFzdCI+eG1sTWVtRGlzcGxheUxhc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNZW1Vc2VkIj54bWxNZW1Vc2VkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlckdyb3ciPnhtbFBhcnNlcklucHV0QnVmZmVyR3JvdzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJSZWFkIj54bWxQYXJzZXJJbnB1dEJ1ZmZlclJlYWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZXJJbnB1dEdyb3ciPnhtbFBhcnNlcklucHV0R3JvdzwvYT48YnIgLz4KKzwvZGQ+PGR0PmFtcDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRW50aXR5UmVmIj54bWxQYXJzZUVudGl0eVJlZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlU0REZWNsIj54bWxQYXJzZVNERGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlckhhbmRsZVJlZmVyZW5jZSI+eG1sUGFyc2VySGFuZGxlUmVmZXJlbmNlPC9hPjxiciAvPgorPC9kZD48ZHQ+YW1wZXJzYW5kPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld1RleHRDaGlsZCI+eG1sTmV3VGV4dENoaWxkPC9hPjxiciAvPgorPC9kZD48ZHQ+YW5hbHlzaXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNfeG1sUGFyc2VyQ3R4dCI+X3htbFBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI194bWxWYWxpZEN0eHQiPl94bWxWYWxpZEN0eHQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5hbmFseXplPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sUGFyc2VVUkkiPnhtbFBhcnNlVVJJPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sUGFyc2VVUklSYXciPnhtbFBhcnNlVVJJUmF3PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sUGFyc2VVUklSZWZlcmVuY2UiPnhtbFBhcnNlVVJJUmVmZXJlbmNlPC9hPjxiciAvPgorPC9kZD48ZHQ+YW5hbHl6ZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNfeG1sUGFyc2VySW5wdXQiPl94bWxQYXJzZXJJbnB1dDwvYT48YnIgLz4KKzwvZGQ+PGR0PmFuY2VzdG9yPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVHZXRMYW5nIj54bWxOb2RlR2V0TGFuZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlR2V0U3BhY2VQcmVzZXJ2ZSI+eG1sTm9kZUdldFNwYWNlUHJlc2VydmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsUHdkIj54bWxTaGVsbFB3ZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhMYW5nRnVuY3Rpb24iPnhtbFhQYXRoTGFuZ0Z1bmN0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHRBbmNlc3RvciI+eG1sWFBhdGhOZXh0QW5jZXN0b3I8L2E+PGJyIC8+Cis8L2RkPjxkdD5hbmNlc3Rvci1vci1zZWxmPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHRBbmNlc3Rvck9yU2VsZiI+eG1sWFBhdGhOZXh0QW5jZXN0b3JPclNlbGY8L2E+PGJyIC8+Cis8L2RkPjxkdD5hbmNlc3RvcnM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV4dEFuY2VzdG9yIj54bWxYUGF0aE5leHRBbmNlc3RvcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXh0QW5jZXN0b3JPclNlbGYiPnhtbFhQYXRoTmV4dEFuY2VzdG9yT3JTZWxmPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHRQcmVjZWRpbmciPnhtbFhQYXRoTmV4dFByZWNlZGluZzwvYT48YnIgLz4KKzwvZGQ+PGR0PmFuY2hvcmVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEdldE5zUHJvcCI+eG1sR2V0TnNQcm9wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEhhc05zUHJvcCI+eG1sSGFzTnNQcm9wPC9hPjxiciAvPgorPC9kZD48ZHQ+YW5nbGU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUNoYXJEYXRhIj54bWxQYXJzZUNoYXJEYXRhPC9hPjxiciAvPgorPC9kZD48ZHQ+YW5ub3RhdGlvbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNfeG1sU2NoZW1hQW5ub3QiPl94bWxTY2hlbWFBbm5vdDwvYT48YnIgLz4KKzwvZGQ+PGR0PmFub3RoZXI8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZ091dHB1dEZ1bmMiPnhtbENoYXJFbmNvZGluZ091dHB1dEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxDbGVhbnVwUGFyc2VyIj54bWxDbGVhbnVwUGFyc2VyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbENsZWFudXBUaHJlYWRzIj54bWxDbGVhbnVwVGhyZWFkczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sSW5wdXRNYXRjaENhbGxiYWNrIj54bWxJbnB1dE1hdGNoQ2FsbGJhY2s8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dE1hdGNoQ2FsbGJhY2siPnhtbE91dHB1dE1hdGNoQ2FsbGJhY2s8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI3htbFNldEdlbmVyaWNFcnJvckZ1bmMiPnhtbFNldEdlbmVyaWNFcnJvckZ1bmM8L2E+PGJyIC8+Cis8L2RkPjxkdD5hbnlTaW1wbGVUeXBlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hTmV3U3RyaW5nVmFsdWUiPnhtbFNjaGVtYU5ld1N0cmluZ1ZhbHVlPC9hPjxiciAvPgorPC9kZD48ZHQ+YW55VVJJPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hR2V0Q2Fub25WYWx1ZSI+eG1sU2NoZW1hR2V0Q2Fub25WYWx1ZTwvYT48YnIgLz4KKzwvZGQ+PGR0PmFueW1vcmU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfQU5ZQVRUUl9MQVgiPlhNTF9TQ0hFTUFTX0FOWUFUVFJfTEFYPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0FOWUFUVFJfU0tJUCI+WE1MX1NDSEVNQVNfQU5ZQVRUUl9TS0lQPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0FOWUFUVFJfU1RSSUNUIj5YTUxfU0NIRU1BU19BTllBVFRSX1NUUklDVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19FTEVNX05TREVGQVVMVCI+WE1MX1NDSEVNQVNfRUxFTV9OU0RFRkFVTFQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kaWN0Lmh0bWwjeG1sRGljdENsZWFudXAiPnhtbERpY3RDbGVhbnVwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sTmFtZXNwYWNlUGFyc2VOQ05hbWUiPnhtbE5hbWVzcGFjZVBhcnNlTkNOYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sTmFtZXNwYWNlUGFyc2VOU0RlZiI+eG1sTmFtZXNwYWNlUGFyc2VOU0RlZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbE5hbWVzcGFjZVBhcnNlUU5hbWUiPnhtbE5hbWVzcGFjZVBhcnNlUU5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI3htbE5ld0VudGl0eSI+eG1sTmV3RW50aXR5PC9hPjxiciAvPgorPC9kZD48ZHQ+YW55d2F5PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sQ2hlY2tMYW5ndWFnZUlEIj54bWxDaGVja0xhbmd1YWdlSUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxSZWNvdmVyRG9jIj54bWxSZWNvdmVyRG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUmVjb3ZlckZpbGUiPnhtbFJlY292ZXJGaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUmVjb3Zlck1lbW9yeSI+eG1sUmVjb3Zlck1lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVOb3RhdGlvbkRlY2wiPnhtbFZhbGlkYXRlTm90YXRpb25EZWNsPC9hPjxiciAvPgorPC9kZD48ZHQ+YXBhcnQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU3RyaW5nRnVuY3Rpb24iPnhtbFhQYXRoU3RyaW5nRnVuY3Rpb248L2E+PGJyIC8+Cis8L2RkPjxkdD5hcG9zPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbnRpdHlSZWYiPnhtbFBhcnNlRW50aXR5UmVmPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VTRERlY2wiPnhtbFBhcnNlU0REZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VySGFuZGxlUmVmZXJlbmNlIj54bWxQYXJzZXJIYW5kbGVSZWZlcmVuY2U8L2E+PGJyIC8+Cis8L2RkPjxkdD5hcHBlYXI8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3VGV4dENoaWxkIj54bWxOZXdUZXh0Q2hpbGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUF0dHJpYnV0ZVR5cGUiPnhtbFBhcnNlQXR0cmlidXRlVHlwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRWxlbWVudE1peGVkQ29udGVudERlY2wiPnhtbFBhcnNlRWxlbWVudE1peGVkQ29udGVudERlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZVBFUmVmZXJlbmNlIj54bWxQYXJzZVBFUmVmZXJlbmNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VTRERlY2wiPnhtbFBhcnNlU0REZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VTdGFydFRhZyI+eG1sUGFyc2VTdGFydFRhZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlckhhbmRsZVBFUmVmZXJlbmNlIj54bWxQYXJzZXJIYW5kbGVQRVJlZmVyZW5jZTwvYT48YnIgLz4KKzwvZGQ+PGR0PmFwcGVhcmluZzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVQb3BFbGVtZW50Ij54bWxWYWxpZGF0ZVBvcEVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlUHVzaEVsZW1lbnQiPnhtbFZhbGlkYXRlUHVzaEVsZW1lbnQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5hcHBlYXJzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjX3htbFVSSSI+X3htbFVSSTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cEdldFN0YXJ0Ij54bWxFeHBHZXRTdGFydDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQ2hhckRhdGEiPnhtbFBhcnNlQ2hhckRhdGE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVsZW1lbnRDaGlsZHJlbkNvbnRlbnREZWNsIj54bWxQYXJzZUVsZW1lbnRDaGlsZHJlbkNvbnRlbnREZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbnRpdHlSZWYiPnhtbFBhcnNlRW50aXR5UmVmPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VTRERlY2wiPnhtbFBhcnNlU0REZWNsPC9hPjxiciAvPgorPC9kZD48ZHQ+YXBwZW5kPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sQ29weUNoYXIiPnhtbENvcHlDaGFyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sQ29weUNoYXJNdWx0aUJ5dGUiPnhtbENvcHlDaGFyTXVsdGlCeXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZEdldFZhbGlkRWxlbWVudHMiPnhtbFZhbGlkR2V0VmFsaWRFbGVtZW50czwvYT48YnIgLz4KKzwvZGQ+PGR0PmFwcGVuZGVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VBdHRWYWx1ZSI+eG1sUGFyc2VBdHRWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYVZhbHVlQXBwZW5kIj54bWxTY2hlbWFWYWx1ZUFwcGVuZDwvYT48YnIgLz4KKzwvZGQ+PGR0PmFwcGVuZGluZzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQXR0VmFsdWUiPnhtbFBhcnNlQXR0VmFsdWU8L2E+PGJyIC8+Cis8L2RkPjxkdD5hcHBlbmRpeDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sRGV0ZWN0Q2hhckVuY29kaW5nIj54bWxEZXRlY3RDaGFyRW5jb2Rpbmc8L2E+PGJyIC8+Cis8L2RkPjxkdD5hcHBsaWNhYmxlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbENvcHlOb2RlIj54bWxDb3B5Tm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxEb2NDb3B5Tm9kZSI+eG1sRG9jQ29weU5vZGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5hcHBsaWNhdGlvbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNfeG1sQXR0ciI+X3htbEF0dHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjX3htbEF0dHJpYnV0ZSI+X3htbEF0dHJpYnV0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNfeG1sRG9jIj5feG1sRG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI194bWxEdGQiPl94bWxEdGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjX3htbEVsZW1lbnQiPl94bWxFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCNfeG1sRW50aXR5Ij5feG1sRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI194bWxOb2RlIj5feG1sTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNfeG1sTnMiPl94bWxOczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI3Jlc29sdmVFbnRpdHkiPnJlc29sdmVFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNyZXNvbHZlRW50aXR5U0FYRnVuYyI+cmVzb2x2ZUVudGl0eVNBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjeG1sQ2hlY2tWZXJzaW9uIj54bWxDaGVja1ZlcnNpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxDbGVhbnVwUGFyc2VyIj54bWxDbGVhbnVwUGFyc2VyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbENsZWFudXBUaHJlYWRzIj54bWxDbGVhbnVwVGhyZWFkczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbEN1cnJlbnRDaGFyIj54bWxDdXJyZW50Q2hhcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEdldEV4dGVybmFsRW50aXR5TG9hZGVyIj54bWxHZXRFeHRlcm5hbEVudGl0eUxvYWRlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbExpbmVOdW1iZXJzRGVmYXVsdCI+eG1sTGluZU51bWJlcnNEZWZhdWx0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VBdHRWYWx1ZSI+eG1sUGFyc2VBdHRWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyUmVzb2x2ZUVudGl0eSI+eG1sU0FYMlJlc29sdmVFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxTZXRFeHRlcm5hbEVudGl0eUxvYWRlciI+eG1sU2V0RXh0ZXJuYWxFbnRpdHlMb2FkZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14aW5jbHVkZS5odG1sI3htbFhJbmNsdWRlUHJvY2Vzc0ZsYWdzRGF0YSI+eG1sWEluY2x1ZGVQcm9jZXNzRmxhZ3NEYXRhPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGluY2x1ZGUuaHRtbCN4bWxYSW5jbHVkZVByb2Nlc3NUcmVlRmxhZ3NEYXRhIj54bWxYSW5jbHVkZVByb2Nlc3NUcmVlRmxhZ3NEYXRhPC9hPjxiciAvPgorPC9kZD48ZHQ+YXBwbGljYXRpb25zPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxTZXRHZW5lcmljRXJyb3JGdW5jIj54bWxTZXRHZW5lcmljRXJyb3JGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxTZXRTdHJ1Y3R1cmVkRXJyb3JGdW5jIj54bWxTZXRTdHJ1Y3R1cmVkRXJyb3JGdW5jPC9hPjxiciAvPgorPC9kZD48ZHQ+YXBwbGllZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoQ29weSI+eG1sSGFzaENvcHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFNjYW4iPnhtbEhhc2hTY2FuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hTY2FuMyI+eG1sSGFzaFNjYW4zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hTY2FuRnVsbCI+eG1sSGFzaFNjYW5GdWxsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hTY2FuRnVsbDMiPnhtbEhhc2hTY2FuRnVsbDM8L2E+PGJyIC8+Cis8L2RkPjxkdD5hcHBsaWVzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbGVtZW50Q2hpbGRyZW5Db250ZW50RGVjbCI+eG1sUGFyc2VFbGVtZW50Q2hpbGRyZW5Db250ZW50RGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRWxlbWVudE1peGVkQ29udGVudERlY2wiPnhtbFBhcnNlRWxlbWVudE1peGVkQ29udGVudERlY2w8L2E+PGJyIC8+Cis8L2RkPjxkdD5hcHBseTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0UmV2ZXJzZVdhbGsiPnhtbExpc3RSZXZlcnNlV2FsazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0V2FsayI+eG1sTGlzdFdhbGs8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZU1hcmt1cERlY2wiPnhtbFBhcnNlTWFya3VwRGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlU0REZWNsIj54bWxQYXJzZVNERGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYVZhbFByZWRlZlR5cGVOb2RlTm9Ob3JtIj54bWxTY2hlbWFWYWxQcmVkZWZUeXBlTm9kZU5vTm9ybTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVSb290Ij54bWxWYWxpZGF0ZVJvb3Q8L2E+PGJyIC8+Cis8L2RkPjxkdD5hcHBseWluZzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxHZXROc0xpc3QiPnhtbEdldE5zTGlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhJZEZ1bmN0aW9uIj54bWxYUGF0aElkRnVuY3Rpb248L2E+PGJyIC8+Cis8L2RkPjxkdD5hcHByb3ByaWF0ZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhsaW5rLmh0bWwjeGxpbmtJc0xpbmsiPnhsaW5rSXNMaW5rPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxDaGVja0hUVFBJbnB1dCI+eG1sQ2hlY2tIVFRQSW5wdXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxQYXJzZVVSSVJlZmVyZW5jZSI+eG1sUGFyc2VVUklSZWZlcmVuY2U8L2E+PGJyIC8+Cis8L2RkPjxkdD5hcmNzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteGxpbmsuaHRtbCN4bGlua0V4dGVuZGVkTGlua0Z1bmsiPnhsaW5rRXh0ZW5kZWRMaW5rRnVuazwvYT48YnIgLz4KKzwvZGQ+PGR0PmFyZWE8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyQ3JlYXRlU3RhdGljIj54bWxCdWZmZXJDcmVhdGVTdGF0aWM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNYWxsb2NBdG9taWNMb2MiPnhtbE1hbGxvY0F0b21pY0xvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1hbGxvY0xvYyI+eG1sTWFsbG9jTG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWVtTWFsbG9jIj54bWxNZW1NYWxsb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNZW1SZWFsbG9jIj54bWxNZW1SZWFsbG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZU1lbSI+eG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVNZW08L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlU3RhdGljIj54bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZVN0YXRpYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbFJlYWxsb2NMb2MiPnhtbFJlYWxsb2NMb2M8L2E+PGJyIC8+Cis8L2RkPjxkdD5hcmVhczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbEdjTWVtR2V0Ij54bWxHY01lbUdldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbEdjTWVtU2V0dXAiPnhtbEdjTWVtU2V0dXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNZW1CbG9ja3MiPnhtbE1lbUJsb2NrczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1lbVNob3ciPnhtbE1lbVNob3c8L2E+PGJyIC8+Cis8L2RkPjxkdD5hcmdzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCNDSEVDS19BUklUWSI+Q0hFQ0tfQVJJVFk8L2E+PGJyIC8+Cis8YSBocmVmPSIiPng8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnkiPnhtbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXIiPnhtbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUN0eHRFeHRlcm5hbEVudGl0eSI+eG1sUGFyc2VDdHh0RXh0ZXJuYWxFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUV4dGVybmFsRW50aXR5Ij54bWxQYXJzZUV4dGVybmFsRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyUmFuZ2VUb0Z1bmN0aW9uIj54bWxYUHRyUmFuZ2VUb0Z1bmN0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+YXJvdW5kPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxGaWxlT3BlbiI+eG1sRmlsZU9wZW48L2E+PGJyIC8+Cis8L2RkPjxkdD5hcnJheXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNfeG1sUGFyc2VyQ3R4dCI+X3htbFBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5hcnJ5PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlclB1c2giPnhtbFBhcnNlcklucHV0QnVmZmVyUHVzaDwvYT48YnIgLz4KKzwvZGQ+PGR0PmFza2VkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VSZWZlcmVuY2UiPnhtbFBhcnNlUmVmZXJlbmNlPC9hPjxiciAvPgorPC9kZD48ZHQ+YXNzdW1lPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3RyY2F0Ij54bWxTdHJjYXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJkdXAiPnhtbFN0cmR1cDwvYT48YnIgLz4KKzwvZGQ+PGR0PmFzc3VtZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGVja1VURjgiPnhtbENoZWNrVVRGODwvYT48YnIgLz4KKzwvZGQ+PGR0PmFzc3VtZXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxCdWlsZFJlbGF0aXZlVVJJIj54bWxCdWlsZFJlbGF0aXZlVVJJPC9hPjxiciAvPgorPC9kZD48ZHQ+YXNzdW1pbmc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlSZWNvdmVyIj54bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlSZWNvdmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNhdmVGaWxlVG8iPnhtbFNhdmVGaWxlVG88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2F2ZUZvcm1hdEZpbGVUbyI+eG1sU2F2ZUZvcm1hdEZpbGVUbzwvYT48YnIgLz4KKzwvZGQ+PGR0PmFzc3VyZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbEdldFVURjhDaGFyIj54bWxHZXRVVEY4Q2hhcjwvYT48YnIgLz4KKzwvZGQ+PGR0PmF0b208L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBOZXdBdG9tIj54bWxFeHBOZXdBdG9tPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwTmV3T3IiPnhtbEV4cE5ld09yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwTmV3UmFuZ2UiPnhtbEV4cE5ld1JhbmdlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwTmV3U2VxIj54bWxFeHBOZXdTZXE8L2E+PGJyIC8+Cis8L2RkPjxkdD5hdG9taWM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxHY01lbUdldCI+eG1sR2NNZW1HZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxHY01lbVNldHVwIj54bWxHY01lbVNldHVwPC9hPjxiciAvPgorPC9kZD48ZHQ+YXR0YWNoZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyR2V0UmVtYWluZGVyIj54bWxUZXh0UmVhZGVyR2V0UmVtYWluZGVyPC9hPjxiciAvPgorPC9kZD48ZHQ+YXR0ZW1wdDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFJlY292ZXJEb2MiPnhtbFJlY292ZXJEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxSZWNvdmVyTWVtb3J5Ij54bWxSZWNvdmVyTWVtb3J5PC9hPjxiciAvPgorPC9kZD48ZHQ+YXR0ZW1wdHM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxSZWNvdmVyRmlsZSI+eG1sUmVjb3ZlckZpbGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5hdHRyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0FUVFJHUk9VUF9IQVNfUkVGUyI+WE1MX1NDSEVNQVNfQVRUUkdST1VQX0hBU19SRUZTPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0FUVFJHUk9VUF9NQVJLRUQiPlhNTF9TQ0hFTUFTX0FUVFJHUk9VUF9NQVJLRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfQVRUUkdST1VQX1JFREVGSU5FRCI+WE1MX1NDSEVNQVNfQVRUUkdST1VQX1JFREVGSU5FRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNfeG1sSUQiPl94bWxJRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNfeG1sUmVmIj5feG1sUmVmPC9hPjxiciAvPgorPC9kZD48ZHQ+YXR0cmlidXRlLTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCN4bWxTdHJlYW1QdXNoTm9kZSI+eG1sU3RyZWFtUHVzaE5vZGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5hdHRyaWJ1dGUtbGlzdDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRGVmYXVsdERlY2wiPnhtbFBhcnNlRGVmYXVsdERlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVudGl0eVJlZiI+eG1sUGFyc2VFbnRpdHlSZWY8L2E+PGJyIC8+Cis8L2RkPjxkdD5hdHRyaWJ1dGUtbm9kZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCN4bWxTdHJlYW1QdXNoQXR0ciI+eG1sU3RyZWFtUHVzaEF0dHI8L2E+PGJyIC8+Cis8L2RkPjxkdD5hdHRyaWJ1dGUtbm9kZXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sU3RyZWFtV2FudHNBbnlOb2RlIj54bWxTdHJlYW1XYW50c0FueU5vZGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5hdHRyaWJ1dGVGb3JtRGVmYXVsdDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19RVUFMSUZfQVRUUiI+WE1MX1NDSEVNQVNfUVVBTElGX0FUVFI8L2E+PGJyIC8+Cis8L2RkPjxkdD5hdWdtZW50ZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1ET0NCcGFyc2VyLmh0bWwjZG9jYlBhcnNlRG9jdW1lbnQiPmRvY2JQYXJzZURvY3VtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxQYXJzZURvY3VtZW50Ij5odG1sUGFyc2VEb2N1bWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlRG9jdW1lbnQiPnhtbFBhcnNlRG9jdW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUV4dFBhcnNlZEVudCI+eG1sUGFyc2VFeHRQYXJzZWRFbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sVGV4dE1lcmdlIj54bWxUZXh0TWVyZ2U8L2E+PGJyIC8+Cis8L2RkPjxkdD5hdXRhcms8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcFJlbW92ZU5vZGUiPnhtbERPTVdyYXBSZW1vdmVOb2RlPC9hPjxiciAvPgorPC9kZD48ZHQ+YXV0aGVudGljYXRpb248L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQQXV0aEhlYWRlciI+eG1sTmFub0hUVFBBdXRoSGVhZGVyPC9hPjxiciAvPgorPC9kZD48ZHQ+YXV0aG9yPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxOb2RlU3RhdHVzIj5odG1sTm9kZVN0YXR1czwvYT48YnIgLz4KKzwvZGQ+PGR0PmF1dGhvcml0eTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI194bWxVUkkiPl94bWxVUkk8L2E+PGJyIC8+Cis8L2RkPjxkdD5hdXRob3JpemVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZEdldFZhbGlkRWxlbWVudHMiPnhtbFZhbGlkR2V0VmFsaWRFbGVtZW50czwvYT48YnIgLz4KKzwvZGQ+PGR0PmF1dG88L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEhhbmRsZU9taXR0ZWRFbGVtIj5odG1sSGFuZGxlT21pdHRlZEVsZW08L2E+PGJyIC8+Cis8L2RkPjxkdD5hdXRvLXJlcGFpcjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNfaHRtbEVsZW1EZXNjIj5faHRtbEVsZW1EZXNjPC9hPjxiciAvPgorPC9kZD48ZHQ+YXV0b2Nsb3NlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxBdXRvQ2xvc2VUYWciPmh0bWxBdXRvQ2xvc2VUYWc8L2E+PGJyIC8+Cis8L2RkPjxkdD5hdXRvY2xvc2VkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxJc0F1dG9DbG9zZWQiPmh0bWxJc0F1dG9DbG9zZWQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5hdXRvZ2VuZXJhdGlvbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEtlZXBCbGFua3NEZWZhdWx0Ij54bWxLZWVwQmxhbmtzRGVmYXVsdDwvYT48YnIgLz4KKzwvZGQ+PGR0PmF1dG9tYXRpY2FsbHk8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX0FCU0VOVCI+WE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX0FCU0VOVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY091dEZ1bmMiPnhtbENoYXJFbmNPdXRGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld1RleHRDaGlsZCI+eG1sTmV3VGV4dENoaWxkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3RybmNhdE5ldyI+eG1sU3RybmNhdE5ldzwvYT48YnIgLz4KKzwvZGQ+PGR0PmF1dG9tYXRvbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNfeG1sU2NoZW1hVHlwZSI+X3htbFNjaGVtYVR5cGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5hdXRvcmVmZXJlbmNlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI194bWxEb2MiPl94bWxEb2M8L2E+PGJyIC8+Cis8L2RkPjxkdD5hdm9pZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI1hNTF9NQVhfTE9PS1VQX0xJTUlUIj5YTUxfTUFYX0xPT0tVUF9MSU1JVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbENsZWFudXBQYXJzZXIiPnhtbENsZWFudXBQYXJzZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sQ2xlYW51cFRocmVhZHMiPnhtbENsZWFudXBUaHJlYWRzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEdldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUiPnhtbEdldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWU8L2E+PGJyIC8+Cis8L2RkPjxkdD5hdm9pZGluZzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJOZXh0Ij54bWxUZXh0UmVhZGVyTmV4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJOZXh0U2libGluZyI+eG1sVGV4dFJlYWRlck5leHRTaWJsaW5nPC9hPjxiciAvPgorPC9kZD48ZHQ+YXdhcmU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sR2V0UHJvcCI+eG1sR2V0UHJvcDwvYT48YnIgLz4KKzwvZGQ+PC9kbD48aDIgYWxpZ249ImNlbnRlciI+PGEgaHJlZj0iQVBJY2h1bmswLmh0bWwiPkEtQjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMS5odG1sIj5DLUM8L2E+Cis8YSBocmVmPSJBUEljaHVuazIuaHRtbCI+RC1FPC9hPgorPGEgaHJlZj0iQVBJY2h1bmszLmh0bWwiPkYtSTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNC5odG1sIj5KLU48L2E+Cis8YSBocmVmPSJBUEljaHVuazUuaHRtbCI+Ty1QPC9hPgorPGEgaHJlZj0iQVBJY2h1bms2Lmh0bWwiPlEtUjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNy5odG1sIj5TLVM8L2E+Cis8YSBocmVmPSJBUEljaHVuazguaHRtbCI+VC1VPC9hPgorPGEgaHJlZj0iQVBJY2h1bms5Lmh0bWwiPlYtWDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTAuaHRtbCI+WS1hPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMS5odG1sIj5iLWI8L2E+Cis8YSBocmVmPSJBUEljaHVuazEyLmh0bWwiPmMtYzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTMuaHRtbCI+ZC1kPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNC5odG1sIj5lLWU8L2E+Cis8YSBocmVmPSJBUEljaHVuazE1Lmh0bWwiPmYtZjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTYuaHRtbCI+Zy1oPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNy5odG1sIj5pLWk8L2E+Cis8YSBocmVmPSJBUEljaHVuazE4Lmh0bWwiPmotbDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTkuaHRtbCI+bS1tPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMC5odG1sIj5uLW48L2E+Cis8YSBocmVmPSJBUEljaHVuazIxLmh0bWwiPm8tbzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjIuaHRtbCI+cC1wPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMy5odG1sIj5xLXI8L2E+Cis8YSBocmVmPSJBUEljaHVuazI0Lmh0bWwiPnMtczwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjUuaHRtbCI+dC10PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNi5odG1sIj51LXY8L2E+Cis8YSBocmVmPSJBUEljaHVuazI3Lmh0bWwiPnctdzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjguaHRtbCI+eC14PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyOS5odG1sIj55LXo8L2E+Cis8L2gyPjxwPjxhIGhyZWY9ImJ1Z3MuaHRtbCI+RGFuaWVsIFZlaWxsYXJkPC9hPjwvcD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvQVBJY2h1bmsxMS5odG1sIGIvbGlieG1sMi9kb2MvQVBJY2h1bmsxMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlmOTRhMWYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9BUEljaHVuazExLmh0bWwKQEAgLTAsMCArMSwzMzkgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+PGxpbmsgcmVsPSJTSE9SVENVVCBJQ09OIiBocmVmPSIvZmF2aWNvbi5pY28iIC8+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK1REIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitCT0RZIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2E7IG1hcmdpbi10b3A6IDJlbTsgbWFyZ2luLWxlZnQ6IDBlbTsgbWFyZ2luLXJpZ2h0OiAwZW19CitIMSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDIge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gzIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitBOmxpbmssIEE6dmlzaXRlZCwgQTphY3RpdmUgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB9Cis8L3N0eWxlPjx0aXRsZT5BUEkgQWxwaGFiZXRpYyBJbmRleCBiLWIgZm9yIGxpYnhtbDI8L3RpdGxlPjwvaGVhZD48Ym9keSBiZ2NvbG9yPSIjOGI3NzY1IiB0ZXh0PSIjMDAwMDAwIiBsaW5rPSIjYTA2MDYwIiB2bGluaz0iIzAwMDAwMCI+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjEwMCUiIGNlbGxwYWRkaW5nPSI1IiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCB3aWR0aD0iMTIwIj48YSBocmVmPSJodHRwOi8vc3dwYXQuZmZpaS5vcmcvIj48aW1nIHNyYz0iZXBhdGVudHMucG5nIiBhbHQ9IkFjdGlvbiBhZ2FpbnN0IHNvZnR3YXJlIHBhdGVudHMiIC8+PC9hPjwvdGQ+PHRkIHdpZHRoPSIxODAiPjxhIGhyZWY9Imh0dHA6Ly93d3cuZ25vbWUub3JnLyI+PGltZyBzcmM9Imdub21lMi5wbmciIGFsdD0iR25vbWUyIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1N0YXR1cyI+PGltZyBzcmM9InczYy5wbmciIGFsdD0iVzNDIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cucmVkaGF0LmNvbS8iPjxpbWcgc3JjPSJyZWRoYXQuZ2lmIiBhbHQ9IlJlZCBIYXQgTG9nbyIgLz48L2E+PGRpdiBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnLyI+PGltZyBzcmM9IkxpYnhtbDItTG9nby0xODB4MTY4LmdpZiIgYWx0PSJNYWRlIHdpdGggTGlieG1sMiBMb2dvIiAvPjwvYT48L2Rpdj48L3RkPjx0ZD48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iOTAlIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyIgYmdjb2xvcj0iI2ZmZmFjZCI+PHRyPjx0ZCBhbGlnbj0iY2VudGVyIj48aDE+VGhlIFhNTCBDIHBhcnNlciBhbmQgdG9vbGtpdCBvZiBHbm9tZTwvaDE+PGgyPkFQSSBBbHBoYWJldGljIEluZGV4IGItYiBmb3IgbGlieG1sMjwvaDI+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjQiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiIHdpZHRoPSIxMDAlIj48dHI+PHRkIHZhbGlnbj0idG9wIiB3aWR0aD0iMjAwIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5EZXZlbG9wZXIgTWVudTwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48Zm9ybSBhY3Rpb249InNlYXJjaC5waHAiIGVuY3R5cGU9ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIgbWV0aG9kPSJnZXQiPjxpbnB1dCBuYW1lPSJxdWVyeSIgdHlwZT0idGV4dCIgc2l6ZT0iMjAiIHZhbHVlPSIiIC8+PGlucHV0IG5hbWU9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU2VhcmNoIC4uLiIgLz48L2Zvcm0+PHVsPjxsaT48YSBocmVmPSJpbmRleC5odG1sIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+TWFpbiBNZW51PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0bWwvaW5kZXguaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPlJlZmVyZW5jZSBNYW51YWw8L2E+PC9saT48bGk+PGEgaHJlZj0iZXhhbXBsZXMvaW5kZXguaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPkNvZGUgRXhhbXBsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iZ3VpZGVsaW5lcy5odG1sIj5YTUwgR3VpZGVsaW5lczwvYT48L2xpPjxsaT48YSBocmVmPSJ0dXRvcmlhbC9pbmRleC5odG1sIj5UdXRvcmlhbDwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWxyZWFkZXIuaHRtbCI+VGhlIFJlYWRlciBJbnRlcmZhY2U8L2E+PC9saT48bGk+PGEgaHJlZj0iQ2hhbmdlTG9nLmh0bWwiPkNoYW5nZUxvZzwvYT48L2xpPjxsaT48YSBocmVmPSJYU0xULmh0bWwiPlhTTFQ8L2E+PC9saT48bGk+PGEgaHJlZj0icHl0aG9uLmh0bWwiPlB5dGhvbiBhbmQgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iYXJjaGl0ZWN0dXJlLmh0bWwiPmxpYnhtbDIgYXJjaGl0ZWN0dXJlPC9hPjwvbGk+PGxpPjxhIGhyZWY9InRyZWUuaHRtbCI+VGhlIHRyZWUgb3V0cHV0PC9hPjwvbGk+PGxpPjxhIGhyZWY9ImludGVyZmFjZS5odG1sIj5UaGUgU0FYIGludGVyZmFjZTwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWxtZW0uaHRtbCI+TWVtb3J5IE1hbmFnZW1lbnQ8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1saW8uaHRtbCI+SS9PIEludGVyZmFjZXM8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlicmFyeS5odG1sIj5UaGUgcGFyc2VyIGludGVyZmFjZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iZW50aXRpZXMuaHRtbCI+RW50aXRpZXMgb3Igbm8gZW50aXRpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0ibmFtZXNwYWNlcy5odG1sIj5OYW1lc3BhY2VzPC9hPjwvbGk+PGxpPjxhIGhyZWY9InVwZ3JhZGUuaHRtbCI+VXBncmFkaW5nIDEueCBjb2RlPC9hPjwvbGk+PGxpPjxhIGhyZWY9InRocmVhZHMuaHRtbCI+VGhyZWFkIHNhZmV0eTwvYT48L2xpPjxsaT48YSBocmVmPSJET00uaHRtbCI+RE9NIFByaW5jaXBsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iZXhhbXBsZS5odG1sIj5BIHJlYWwgZXhhbXBsZTwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWwuaHRtbCI+ZmxhdCBwYWdlPC9hPiwgPGEgaHJlZj0ic2l0ZS54c2wiPnN0eWxlc2hlZXQ8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5BUEkgSW5kZXhlczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9IkFQSWNodW5rMC5odG1sIj5BbHBoYWJldGljPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkFQSWNvbnN0cnVjdG9ycy5odG1sIj5Db25zdHJ1Y3RvcnM8L2E+PC9saT48bGk+PGEgaHJlZj0iQVBJZnVuY3Rpb25zLmh0bWwiPkZ1bmN0aW9ucy9UeXBlczwvYT48L2xpPjxsaT48YSBocmVmPSJBUElmaWxlcy5odG1sIj5Nb2R1bGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkFQSXN5bWJvbHMuaHRtbCI+U3ltYm9sczwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPlJlbGF0ZWQgbGlua3M8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSJodHRwOi8vbWFpbC5nbm9tZS5vcmcvYXJjaGl2ZXMveG1sLyI+TWFpbCBhcmNoaXZlPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9YU0xULyI+WFNMVCBsaWJ4c2x0PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9waGQuY3MudW5pYm8uaXQvZ2RvbWUyLyI+RE9NIGdkb21lMjwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmFsZWtzZXkuY29tL3htbHNlYy8iPlhNTC1EU2lnIHhtbHNlYzwvYT48L2xpPjxsaT48YSBocmVmPSJmdHA6Ly94bWxzb2Z0Lm9yZy8iPkZUUDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnpsYXRrb3ZpYy5jb20vcHJvamVjdHMvbGlieG1sLyI+V2luZG93cyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vb3BlbmNzdy5vcmcvcGFja2FnZXMvbGlieG1sMiI+U29sYXJpcyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmV4cGxhaW4uY29tLmF1L29zcy9saWJ4bWwyeHNsdC5odG1sIj5NYWNPc1ggYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2x4bWwuZGUvIj5seG1sIFB5dGhvbiBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vY3Bhbi51d2lubmlwZWcuY2EvZGlzdC9YTUwtTGliWE1MIj5QZXJsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWxwbHVzcGx1cy5zb3VyY2Vmb3JnZS5uZXQvIj5DKysgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56ZW5kLmNvbS9waHA1L2FydGljbGVzL3BocDUteG1scGhwLnBocCNIZWFkaW5nNCI+UEhQIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbGlieG1sMi1wYXMvIj5QYXNjYWwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbC5ydWJ5Zm9yZ2Uub3JnLyI+UnVieSBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vdGNseG1sLnNvdXJjZWZvcmdlLm5ldC8iPlRjbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2J1Z2xpc3QuY2dpP3Byb2R1Y3Q9bGlieG1sMiI+QnVnIFRyYWNrZXI8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48aDIgYWxpZ249ImNlbnRlciI+PGEgaHJlZj0iQVBJY2h1bmswLmh0bWwiPkEtQjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMS5odG1sIj5DLUM8L2E+Cis8YSBocmVmPSJBUEljaHVuazIuaHRtbCI+RC1FPC9hPgorPGEgaHJlZj0iQVBJY2h1bmszLmh0bWwiPkYtSTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNC5odG1sIj5KLU48L2E+Cis8YSBocmVmPSJBUEljaHVuazUuaHRtbCI+Ty1QPC9hPgorPGEgaHJlZj0iQVBJY2h1bms2Lmh0bWwiPlEtUjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNy5odG1sIj5TLVM8L2E+Cis8YSBocmVmPSJBUEljaHVuazguaHRtbCI+VC1VPC9hPgorPGEgaHJlZj0iQVBJY2h1bms5Lmh0bWwiPlYtWDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTAuaHRtbCI+WS1hPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMS5odG1sIj5iLWI8L2E+Cis8YSBocmVmPSJBUEljaHVuazEyLmh0bWwiPmMtYzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTMuaHRtbCI+ZC1kPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNC5odG1sIj5lLWU8L2E+Cis8YSBocmVmPSJBUEljaHVuazE1Lmh0bWwiPmYtZjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTYuaHRtbCI+Zy1oPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNy5odG1sIj5pLWk8L2E+Cis8YSBocmVmPSJBUEljaHVuazE4Lmh0bWwiPmotbDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTkuaHRtbCI+bS1tPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMC5odG1sIj5uLW48L2E+Cis8YSBocmVmPSJBUEljaHVuazIxLmh0bWwiPm8tbzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjIuaHRtbCI+cC1wPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMy5odG1sIj5xLXI8L2E+Cis8YSBocmVmPSJBUEljaHVuazI0Lmh0bWwiPnMtczwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjUuaHRtbCI+dC10PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNi5odG1sIj51LXY8L2E+Cis8YSBocmVmPSJBUEljaHVuazI3Lmh0bWwiPnctdzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjguaHRtbCI+eC14PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyOS5odG1sIj55LXo8L2E+Cis8L2gyPjxoMj5MZXR0ZXIgYjo8L2gyPjxkbD48ZHQ+YmFjazwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJEZXRhY2giPnhtbEJ1ZmZlckRldGFjaDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxDaGlsZEVsZW1lbnRDb3VudCI+eG1sQ2hpbGRFbGVtZW50Q291bnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxFbnRpdHlSZWZlcmVuY2VGdW5jIj54bWxFbnRpdHlSZWZlcmVuY2VGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEZpcnN0RWxlbWVudENoaWxkIj54bWxGaXJzdEVsZW1lbnRDaGlsZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEtlZXBCbGFua3NEZWZhdWx0Ij54bWxLZWVwQmxhbmtzRGVmYXVsdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxMYXN0RWxlbWVudENoaWxkIj54bWxMYXN0RWxlbWVudENoaWxkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBHZXQiPnhtbE5hbm9GVFBHZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUExpc3QiPnhtbE5hbm9GVFBMaXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5leHRFbGVtZW50U2libGluZyI+eG1sTmV4dEVsZW1lbnRTaWJsaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFByZXZpb3VzRWxlbWVudFNpYmxpbmciPnhtbFByZXZpb3VzRWxlbWVudFNpYmxpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR0R1bXAiPnhtbFJlbGF4TkdEdW1wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sU2V0RW50aXR5UmVmZXJlbmNlRnVuYyI+eG1sU2V0RW50aXR5UmVmZXJlbmNlRnVuYzwvYT48YnIgLz4KKzwvZGQ+PGR0PmJhZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI1hNTF9NQVhfTE9PS1VQX0xJTUlUIj5YTUxfTUFYX0xPT0tVUF9MSU1JVDwvYT48YnIgLz4KKzwvZGQ+PGR0PmJhZGx5PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFeHRlcm5hbElEIj54bWxQYXJzZUV4dGVybmFsSUQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5iYWhhdmlvdXI8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyTm9ybWFsaXphdGlvbiI+eG1sVGV4dFJlYWRlck5vcm1hbGl6YXRpb248L2E+PGJyIC8+Cis8L2RkPjxkdD5iYWxhbmNlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeSI+eG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5UmVjb3ZlciI+eG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5UmVjb3ZlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlSW5Ob2RlQ29udGV4dCI+eG1sUGFyc2VJbk5vZGVDb250ZXh0PC9hPjxiciAvPgorPC9kZD48ZHQ+YmFyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFRyYW5zbGF0ZUZ1bmN0aW9uIj54bWxYUGF0aFRyYW5zbGF0ZUZ1bmN0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+YmFzZTY0PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlQmFzZTY0Ij54bWxUZXh0V3JpdGVyV3JpdGVCYXNlNjQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5iYXNlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxHZXRDb21wcmVzc01vZGUiPnhtbEdldENvbXByZXNzTW9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxHZXREb2NDb21wcmVzc01vZGUiPnhtbEdldERvY0NvbXByZXNzTW9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxHZXROb2RlUGF0aCI+eG1sR2V0Tm9kZVBhdGg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxOZXdFbnRpdHlJbnB1dFN0cmVhbSI+eG1sTmV3RW50aXR5SW5wdXRTdHJlYW08L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxOZXdJbnB1dEZyb21GaWxlIj54bWxOZXdJbnB1dEZyb21GaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sTmV3U3RyaW5nSW5wdXRTdHJlYW0iPnhtbE5ld1N0cmluZ0lucHV0U3RyZWFtPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sUGFyc2VVUkkiPnhtbFBhcnNlVVJJPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sUGFyc2VVUklSZWZlcmVuY2UiPnhtbFBhcnNlVVJJUmVmZXJlbmNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdOZXdWYWxpZEN0eHQiPnhtbFJlbGF4TkdOZXdWYWxpZEN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFOZXdTdHJpbmdWYWx1ZSI+eG1sU2NoZW1hTmV3U3RyaW5nVmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hTmV3VmFsaWRDdHh0Ij54bWxTY2hlbWFOZXdWYWxpZEN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hU0FYUGx1ZyI+eG1sU2NoZW1hU0FYUGx1ZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFTQVhVbnBsdWciPnhtbFNjaGVtYVNBWFVucGx1ZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZGF0ZVN0cmVhbSI+eG1sU2NoZW1hVmFsaWRhdGVTdHJlYW08L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvbk5ld1ZhbGlkQ3R4dCI+eG1sU2NoZW1hdHJvbk5ld1ZhbGlkQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTZXRDb21wcmVzc01vZGUiPnhtbFNldENvbXByZXNzTW9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTZXREb2NDb21wcmVzc01vZGUiPnhtbFNldERvY0NvbXByZXNzTW9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFN0cmNhdCI+eG1sU3RyY2F0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3RyZHVwIj54bWxTdHJkdXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJzdWIiPnhtbFN0cnN1YjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbFVSSUVzY2FwZSI+eG1sVVJJRXNjYXBlPC9hPjxiciAvPgorPC9kZD48ZHQ+YmFzaWNhbGx5PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjZ2V0U3lzdGVtSWQiPmdldFN5c3RlbUlkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxJc01peGVkRWxlbWVudCI+eG1sSXNNaXhlZEVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMkdldFN5c3RlbUlkIj54bWxTQVgyR2V0U3lzdGVtSWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlQXR0cmlidXRlRGVjbCI+eG1sVmFsaWRhdGVBdHRyaWJ1dGVEZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZURvY3VtZW50Ij54bWxWYWxpZGF0ZURvY3VtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZURvY3VtZW50RmluYWwiPnhtbFZhbGlkYXRlRG9jdW1lbnRGaW5hbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVEdGRGaW5hbCI+eG1sVmFsaWRhdGVEdGRGaW5hbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVFbGVtZW50RGVjbCI+eG1sVmFsaWRhdGVFbGVtZW50RGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVOb3RhdGlvbkRlY2wiPnhtbFZhbGlkYXRlTm90YXRpb25EZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZU9uZUF0dHJpYnV0ZSI+eG1sVmFsaWRhdGVPbmVBdHRyaWJ1dGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlT25lRWxlbWVudCI+eG1sVmFsaWRhdGVPbmVFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZU9uZU5hbWVzcGFjZSI+eG1sVmFsaWRhdGVPbmVOYW1lc3BhY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlUm9vdCI+eG1sVmFsaWRhdGVSb290PC9hPjxiciAvPgorPC9kZD48ZHQ+YmFzaXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0Ij54bWxTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0PC9hPjxiciAvPgorPC9kZD48ZHQ+YmVhcjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQXR0cmlidXRlVHlwZSI+eG1sUGFyc2VBdHRyaWJ1dGVUeXBlPC9hPjxiciAvPgorPC9kZD48ZHQ+YmVjb21lczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sQWRkQXR0cmlidXRlRGVjbCI+eG1sQWRkQXR0cmlidXRlRGVjbDwvYT48YnIgLz4KKzwvZGQ+PGR0PmJlZm9yZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI2h0bWxJbml0QXV0b0Nsb3NlIj5odG1sSW5pdEF1dG9DbG9zZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbEJ1aWxkUmVsYXRpdmVVUkkiPnhtbEJ1aWxkUmVsYXRpdmVVUkk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ0FkZCI+eG1sQ2F0YWxvZ0FkZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbENsZWFudXBQYXJzZXIiPnhtbENsZWFudXBQYXJzZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sQ2xlYW51cFRocmVhZHMiPnhtbENsZWFudXBUaHJlYWRzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sQ3VycmVudENoYXIiPnhtbEN1cnJlbnRDaGFyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sR2NNZW1TZXR1cCI+eG1sR2NNZW1TZXR1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEluaXRQYXJzZXIiPnhtbEluaXRQYXJzZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNZW1TZXR1cCI+eG1sTWVtU2V0dXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUmVsYXhOR1NldFNjaGVtYSI+eG1sVGV4dFJlYWRlclJlbGF4TkdTZXRTY2hlbWE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUmVsYXhOR1ZhbGlkYXRlIj54bWxUZXh0UmVhZGVyUmVsYXhOR1ZhbGlkYXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZUN0eHQiPnhtbFRleHRSZWFkZXJSZWxheE5HVmFsaWRhdGVDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlIj54bWxUZXh0UmVhZGVyU2NoZW1hVmFsaWRhdGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyU2NoZW1hVmFsaWRhdGVDdHh0Ij54bWxUZXh0UmVhZGVyU2NoZW1hVmFsaWRhdGVDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclNldFBhcnNlclByb3AiPnhtbFRleHRSZWFkZXJTZXRQYXJzZXJQcm9wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclNldFNjaGVtYSI+eG1sVGV4dFJlYWRlclNldFNjaGVtYTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzIj54bWxWYWxpZEdldFZhbGlkRWxlbWVudHM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV4dFByZWNlZGluZyI+eG1sWFBhdGhOZXh0UHJlY2VkaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFN0cmluZ0Z1bmN0aW9uIj54bWxYUGF0aFN0cmluZ0Z1bmN0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+YmVnaW5uaW5nPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZlNocmluayI+eG1sQnVmU2hyaW5rPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlckFkZEhlYWQiPnhtbEJ1ZmZlckFkZEhlYWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyU2hyaW5rIj54bWxCdWZmZXJTaHJpbms8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxCeXRlQ29uc3VtZWQiPnhtbEJ5dGVDb25zdW1lZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0SW5zZXJ0Ij54bWxMaXN0SW5zZXJ0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3RQdXNoRnJvbnQiPnhtbExpc3RQdXNoRnJvbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxTdHJpbmdDdXJyZW50Q2hhciI+eG1sU3RyaW5nQ3VycmVudENoYXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyQnl0ZUNvbnN1bWVkIj54bWxUZXh0UmVhZGVyQnl0ZUNvbnN1bWVkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZEdldFZhbGlkRWxlbWVudHMiPnhtbFZhbGlkR2V0VmFsaWRFbGVtZW50czwvYT48YnIgLz4KKzwvZGQ+PGR0PmJlZ2luczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI194bWxQYXJzZXJOb2RlSW5mbyI+X3htbFBhcnNlck5vZGVJbmZvPC9hPjxiciAvPgorPC9kZD48ZHQ+YmVoYXZlczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTX0xFVFRFUl9DSCI+SVNfTEVUVEVSX0NIPC9hPjxiciAvPgorPC9kZD48ZHQ+YmVoYXZpb3I8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFNBWFBhcnNlRG9jIj5odG1sU0FYUGFyc2VEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxDdXJyZW50Q2hhciI+eG1sQ3VycmVudENoYXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxLZWVwQmxhbmtzRGVmYXVsdCI+eG1sS2VlcEJsYW5rc0RlZmF1bHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0Ij54bWxTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0PC9hPjxiciAvPgorPC9kZD48ZHQ+YmVoYXZpb3VyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjWE1MX01BWF9MT09LVVBfTElNSVQiPlhNTF9NQVhfTE9PS1VQX0xJTUlUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNodG1sTm9kZUR1bXAiPmh0bWxOb2RlRHVtcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwjaHRtbE5vZGVEdW1wRmlsZSI+aHRtbE5vZGVEdW1wRmlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwjaHRtbE5vZGVEdW1wRmlsZUZvcm1hdCI+aHRtbE5vZGVEdW1wRmlsZUZvcm1hdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwjaHRtbE5vZGVEdW1wRm9ybWF0T3V0cHV0Ij5odG1sTm9kZUR1bXBGb3JtYXRPdXRwdXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI2h0bWxOb2RlRHVtcE91dHB1dCI+aHRtbE5vZGVEdW1wT3V0cHV0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjcmVzb2x2ZUVudGl0eSI+cmVzb2x2ZUVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3Jlc29sdmVFbnRpdHlTQVhGdW5jIj5yZXNvbHZlRW50aXR5U0FYRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZOb2RlRHVtcCI+eG1sQnVmTm9kZUR1bXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmU2hyaW5rIj54bWxCdWZTaHJpbms8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRWxlbUR1bXAiPnhtbEVsZW1EdW1wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEZyZWVOb2RlIj54bWxGcmVlTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxGcmVlTm9kZUxpc3QiPnhtbEZyZWVOb2RlTGlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1vZHVsZS5odG1sI3htbE1vZHVsZU9wZW4iPnhtbE1vZHVsZU9wZW48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtb2R1bGUuaHRtbCN4bWxNb2R1bGVTeW1ib2wiPnhtbE1vZHVsZVN5bWJvbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlRHVtcCI+eG1sTm9kZUR1bXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUR1bXBPdXRwdXQiPnhtbE5vZGVEdW1wT3V0cHV0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVHZXRTcGFjZVByZXNlcnZlIj54bWxOb2RlR2V0U3BhY2VQcmVzZXJ2ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlU2V0U3BhY2VQcmVzZXJ2ZSI+eG1sTm9kZVNldFNwYWNlUHJlc2VydmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMlJlc29sdmVFbnRpdHkiPnhtbFNBWDJSZXNvbHZlRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclNldFBhcnNlclByb3AiPnhtbFRleHRSZWFkZXJTZXRQYXJzZXJQcm9wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sVVRGOFN0cnNpemUiPnhtbFVURjhTdHJzaXplPC9hPjxiciAvPgorPC9kZD48ZHQ+YmVsb3c8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNfeG1sUGFyc2VyQ3R4dCI+X3htbFBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxDaGVja0xhbmd1YWdlSUQiPnhtbENoZWNrTGFuZ3VhZ2VJRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRXh0ZXJuYWxJRCI+eG1sUGFyc2VFeHRlcm5hbElEPC9hPjxiciAvPgorPC9kZD48ZHQ+YmV0dGVyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjcmVzb2x2ZUVudGl0eSI+cmVzb2x2ZUVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3Jlc29sdmVFbnRpdHlTQVhGdW5jIj5yZXNvbHZlRW50aXR5U0FYRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sTm9ybWFsaXplV2luZG93c1BhdGgiPnhtbE5vcm1hbGl6ZVdpbmRvd3NQYXRoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJSZXNvbHZlRW50aXR5Ij54bWxTQVgyUmVzb2x2ZUVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVhEZWZhdWx0VmVyc2lvbiI+eG1sU0FYRGVmYXVsdFZlcnNpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxTQVhVc2VyUGFyc2VNZW1vcnkiPnhtbFNBWFVzZXJQYXJzZU1lbW9yeTwvYT48YnIgLz4KKzwvZGQ+PGR0PmJldHdlZW48L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI191Y29udl90Ij5fdWNvbnZfdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdDb3VudFRyYW5zIj54bWxBdXRvbWF0YU5ld0NvdW50VHJhbnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhTmV3Q291bnRUcmFuczIiPnhtbEF1dG9tYXRhTmV3Q291bnRUcmFuczI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhTmV3T25jZVRyYW5zIj54bWxBdXRvbWF0YU5ld09uY2VUcmFuczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdPbmNlVHJhbnMyIj54bWxBdXRvbWF0YU5ld09uY2VUcmFuczI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ1NldERlZmF1bHRQcmVmZXIiPnhtbENhdGFsb2dTZXREZWZhdWx0UHJlZmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWVtRGlzcGxheUxhc3QiPnhtbE1lbURpc3BsYXlMYXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VRdW90ZWRTdHJpbmciPnhtbFBhcnNlUXVvdGVkU3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aERpZmZlcmVuY2UiPnhtbFhQYXRoRGlmZmVyZW5jZTwvYT48YnIgLz4KKzwvZGQ+PGR0PmJleW9uZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdHJpbmdGdW5jdGlvbiI+eG1sWFBhdGhTdHJpbmdGdW5jdGlvbjwvYT48YnIgLz4KKzwvZGQ+PGR0PmJpbmFyeTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxDaGFySW5SYW5nZSI+eG1sQ2hhckluUmFuZ2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI3htbEVuY29kZUVudGl0aWVzIj54bWxFbmNvZGVFbnRpdGllczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlTmFtZXNwYWNlIj54bWxQYXJzZU5hbWVzcGFjZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlUXVvdGVkU3RyaW5nIj54bWxQYXJzZVF1b3RlZFN0cmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZUJhc2U2NCI+eG1sVGV4dFdyaXRlcldyaXRlQmFzZTY0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlQmluSGV4Ij54bWxUZXh0V3JpdGVyV3JpdGVCaW5IZXg8L2E+PGJyIC8+Cis8L2RkPjxkdD5iaW5kaW5nczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNfeG1sU2NoZW1hIj5feG1sU2NoZW1hPC9hPjxiciAvPgorPC9kZD48ZHQ+Yml0PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3RyRXF1YWwiPnhtbFN0ckVxdWFsPC9hPjxiciAvPgorPC9kZD48ZHQ+Yml0czwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxHZXRMaW5lTm8iPnhtbEdldExpbmVObzwvYT48YnIgLz4KKzwvZGQ+PGR0PmJsYW5rczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEtlZXBCbGFua3NEZWZhdWx0Ij54bWxLZWVwQmxhbmtzRGVmYXVsdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFNraXBCbGFua0NoYXJzIj54bWxTa2lwQmxhbmtDaGFyczwvYT48YnIgLz4KKzwvZGQ+PGR0PmJsb2M8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnkiPnhtbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXIiPnhtbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUV4dGVybmFsRW50aXR5Ij54bWxQYXJzZUV4dGVybmFsRW50aXR5PC9hPjxiciAvPgorPC9kZD48ZHQ+YmxvY2tEZWZhdWx0PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0JMT0NLX0RFRkFVTFRfRVhURU5TSU9OIj5YTUxfU0NIRU1BU19CTE9DS19ERUZBVUxUX0VYVEVOU0lPTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19CTE9DS19ERUZBVUxUX1JFU1RSSUNUSU9OIj5YTUxfU0NIRU1BU19CTE9DS19ERUZBVUxUX1JFU1RSSUNUSU9OPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0JMT0NLX0RFRkFVTFRfU1VCU1RJVFVUSU9OIj5YTUxfU0NIRU1BU19CTE9DS19ERUZBVUxUX1NVQlNUSVRVVElPTjwvYT48YnIgLz4KKzwvZGQ+PGR0PmJsb2NrZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxHY01lbVNldHVwIj54bWxHY01lbVNldHVwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWVtU2V0dXAiPnhtbE1lbVNldHVwPC9hPjxiciAvPgorPC9kZD48ZHQ+YmxvY2tpbmc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUFJlYWQiPnhtbE5hbm9GVFBSZWFkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUFJlYWQiPnhtbE5hbm9IVFRQUmVhZDwvYT48YnIgLz4KKzwvZGQ+PGR0PmJsb2NrczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTX0NIQVIiPklTX0NIQVI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfU0FYMl9NQUdJQyI+WE1MX1NBWDJfTUFHSUM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNpbml0ZG9jYkRlZmF1bHRTQVhIYW5kbGVyIj5pbml0ZG9jYkRlZmF1bHRTQVhIYW5kbGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjaW5pdGh0bWxEZWZhdWx0U0FYSGFuZGxlciI+aW5pdGh0bWxEZWZhdWx0U0FYSGFuZGxlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI2luaXR4bWxEZWZhdWx0U0FYSGFuZGxlciI+aW5pdHhtbERlZmF1bHRTQVhIYW5kbGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWVtQmxvY2tzIj54bWxNZW1CbG9ja3M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNZW1EaXNwbGF5Ij54bWxNZW1EaXNwbGF5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWVtb3J5RHVtcCI+eG1sTWVtb3J5RHVtcDwvYT48YnIgLz4KKzwvZGQ+PGR0PmJvZHk8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNfeG1sUGFyc2VyQ3R4dCI+X3htbFBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5ib29rMTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbEJ1aWxkUmVsYXRpdmVVUkkiPnhtbEJ1aWxkUmVsYXRpdmVVUkk8L2E+PGJyIC8+Cis8L2RkPjxkdD5ib29sPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxCb29sVG9UZXh0Ij54bWxCb29sVG9UZXh0PC9hPjxiciAvPgorPC9kZD48ZHQ+Ym90aDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJGcmVlIj54bWxCdWZmZXJGcmVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBDbG9zZSI+eG1sTmFub0ZUUENsb3NlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVHZXRCYXNlIj54bWxOb2RlR2V0QmFzZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2wiPnhtbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZU1hcmt1cERlY2wiPnhtbFBhcnNlTWFya3VwRGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlU3RhcnRUYWciPnhtbFBhcnNlU3RhcnRUYWc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJFcXVhbCI+eG1sU3RyRXF1YWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoQ29tcGFyZVZhbHVlcyI+eG1sWFBhdGhDb21wYXJlVmFsdWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEludGVyc2VjdGlvbiI+eG1sWFBhdGhJbnRlcnNlY3Rpb248L2E+PGJyIC8+Cis8L2RkPjxkdD5ib3VuZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5ld1JhbmdlIj54bWxFeHBOZXdSYW5nZTwvYT48YnIgLz4KKzwvZGQ+PGR0PmJvdW5kYXJpZXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNfeG1sUGFyc2VyQ3R4dCI+X3htbFBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2VhcmNoTnMiPnhtbFNlYXJjaE5zPC9hPjxiciAvPgorPC9kZD48ZHQ+Ym91bmRhcnk8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNYTUxfTUFYX0RJQ1RJT05BUllfTElNSVQiPlhNTF9NQVhfRElDVElPTkFSWV9MSU1JVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI1hNTF9NQVhfTE9PS1VQX0xJTUlUIj5YTUxfTUFYX0xPT0tVUF9MSU1JVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI1hNTF9NQVhfTkFNRV9MRU5HVEgiPlhNTF9NQVhfTkFNRV9MRU5HVEg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNYTUxfTUFYX1RFWFRfTEVOR1RIIj5YTUxfTUFYX1RFWFRfTEVOR1RIPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbGVtZW50Q2hpbGRyZW5Db250ZW50RGVjbCI+eG1sUGFyc2VFbGVtZW50Q2hpbGRyZW5Db250ZW50RGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRWxlbWVudE1peGVkQ29udGVudERlY2wiPnhtbFBhcnNlRWxlbWVudE1peGVkQ29udGVudERlY2w8L2E+PGJyIC8+Cis8L2RkPjxkdD5icmFja2V0PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VDaGFyRGF0YSI+eG1sUGFyc2VDaGFyRGF0YTwvYT48YnIgLz4KKzwvZGQ+PGR0PmJyYW5jaDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwQ2xvbmVOb2RlIj54bWxET01XcmFwQ2xvbmVOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBSZW1vdmVOb2RlIj54bWxET01XcmFwUmVtb3ZlTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZGF0ZU9uZUVsZW1lbnQiPnhtbFNjaGVtYVZhbGlkYXRlT25lRWxlbWVudDwvYT48YnIgLz4KKzwvZGQ+PGR0PmJyZWFrPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBBZG9wdE5vZGUiPnhtbERPTVdyYXBBZG9wdE5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcENsb25lTm9kZSI+eG1sRE9NV3JhcENsb25lTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwUmVjb25jaWxlTmFtZXNwYWNlcyI+eG1sRE9NV3JhcFJlY29uY2lsZU5hbWVzcGFjZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxMaW5lTnVtYmVyc0RlZmF1bHQiPnhtbExpbmVOdW1iZXJzRGVmYXVsdDwvYT48YnIgLz4KKzwvZGQ+PGR0PmJyZWFraW5nPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxFbmNvZGVFbnRpdGllcyI+eG1sRW5jb2RlRW50aXRpZXM8L2E+PGJyIC8+Cis8L2RkPjxkdD5icmVha3M8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxDdXJyZW50Q2hhciI+eG1sQ3VycmVudENoYXI8L2E+PGJyIC8+Cis8L2RkPjxkdD5icms8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI194bWxFcnJvciI+X3htbEVycm9yPC9hPjxiciAvPgorPC9kZD48ZHQ+YnJva2U8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjWE1MX0NBU1RfRlBUUiI+WE1MX0NBU1RfRlBUUjwvYT48YnIgLz4KKzwvZGQ+PGR0PmJyb2tlbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRocmVhZHMuaHRtbCN4bWxHZXRUaHJlYWRJZCI+eG1sR2V0VGhyZWFkSWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlSZWNvdmVyIj54bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlSZWNvdmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlck5vcm1hbGl6YXRpb24iPnhtbFRleHRSZWFkZXJOb3JtYWxpemF0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+YnVmPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNhdmVGaWxlVG8iPnhtbFNhdmVGaWxlVG88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2F2ZUZvcm1hdEZpbGVUbyI+eG1sU2F2ZUZvcm1hdEZpbGVUbzwvYT48YnIgLz4KKzwvZGQ+PGR0PmJ1ZmZlcmVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxBbGxvY091dHB1dEJ1ZmZlciI+eG1sQWxsb2NPdXRwdXRCdWZmZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbEFsbG9jUGFyc2VySW5wdXRCdWZmZXIiPnhtbEFsbG9jUGFyc2VySW5wdXRCdWZmZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbEZyZWVQYXJzZXJJbnB1dEJ1ZmZlciI+eG1sRnJlZVBhcnNlcklucHV0QnVmZmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRCdWZmZXJDbG9zZSI+eG1sT3V0cHV0QnVmZmVyQ2xvc2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dEJ1ZmZlckNyZWF0ZUJ1ZmZlciI+eG1sT3V0cHV0QnVmZmVyQ3JlYXRlQnVmZmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRCdWZmZXJDcmVhdGVGZCI+eG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGUiPnhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lIj54bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0QnVmZmVyQ3JlYXRlSU8iPnhtbE91dHB1dEJ1ZmZlckNyZWF0ZUlPPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRCdWZmZXJGbHVzaCI+eG1sT3V0cHV0QnVmZmVyRmx1c2g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dEJ1ZmZlcldyaXRlIj54bWxPdXRwdXRCdWZmZXJXcml0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0QnVmZmVyV3JpdGVFc2NhcGUiPnhtbE91dHB1dEJ1ZmZlcldyaXRlRXNjYXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyI+eG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmQiPnhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZSI+eG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lIj54bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUlPIj54bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUlPPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZU1lbSI+eG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVNZW08L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlU3RhdGljIj54bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZVN0YXRpYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJHcm93Ij54bWxQYXJzZXJJbnB1dEJ1ZmZlckdyb3c8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyUHVzaCI+eG1sUGFyc2VySW5wdXRCdWZmZXJQdXNoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlclJlYWQiPnhtbFBhcnNlcklucHV0QnVmZmVyUmVhZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJHZXRSZW1haW5kZXIiPnhtbFRleHRSZWFkZXJHZXRSZW1haW5kZXI8L2E+PGJyIC8+Cis8L2RkPjxkdD5idWZmZXJzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI0xJQlhNTDJfTkVXX0JVRkZFUiI+TElCWE1MMl9ORVdfQlVGRkVSPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlckRldGFjaCI+eG1sQnVmZmVyRGV0YWNoPC9hPjxiciAvPgorPC9kZD48ZHQ+YnVpbGRlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19BVFRSR1JPVVBfR0xPQkFMIj5YTUxfU0NIRU1BU19BVFRSR1JPVVBfR0xPQkFMPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0FUVFJHUk9VUF9XSUxEQ0FSRF9CVUlMREVEIj5YTUxfU0NIRU1BU19BVFRSR1JPVVBfV0lMRENBUkRfQlVJTERFRDwvYT48YnIgLz4KKzwvZGQ+PGR0PmJ1aWxkaW5nPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjWE1MX01BWF9URVhUX0xFTkdUSCI+WE1MX01BWF9URVhUX0xFTkdUSDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI194bWxQYXJzZXJDdHh0Ij5feG1sUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiU0FYUGFyc2VEb2MiPmRvY2JTQVhQYXJzZURvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiU0FYUGFyc2VGaWxlIj5kb2NiU0FYUGFyc2VGaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxTQVhQYXJzZUZpbGUiPmh0bWxTQVhQYXJzZUZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNpZ25vcmFibGVXaGl0ZXNwYWNlIj5pZ25vcmFibGVXaGl0ZXNwYWNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjaWdub3JhYmxlV2hpdGVzcGFjZVNBWEZ1bmMiPmlnbm9yYWJsZVdoaXRlc3BhY2VTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sQnVpbGRVUkkiPnhtbEJ1aWxkVVJJPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJJZ25vcmFibGVXaGl0ZXNwYWNlIj54bWxTQVgySWdub3JhYmxlV2hpdGVzcGFjZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNBWFBhcnNlRG9jIj54bWxTQVhQYXJzZURvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNBWFBhcnNlRW50aXR5Ij54bWxTQVhQYXJzZUVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNBWFBhcnNlRmlsZSI+eG1sU0FYUGFyc2VGaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYUGFyc2VGaWxlV2l0aERhdGEiPnhtbFNBWFBhcnNlRmlsZVdpdGhEYXRhPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYUGFyc2VNZW1vcnkiPnhtbFNBWFBhcnNlTWVtb3J5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYUGFyc2VNZW1vcnlXaXRoRGF0YSI+eG1sU0FYUGFyc2VNZW1vcnlXaXRoRGF0YTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxQd2QiPnhtbFNoZWxsUHdkPC9hPjxiciAvPgorPC9kZD48ZHQ+YnVpbGRzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnZXhwQ29tcGlsZSI+eG1sUmVnZXhwQ29tcGlsZTwvYT48YnIgLz4KKzwvZGQ+PGR0PmJ1aWx0PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjX3htbFBhcnNlckN0eHQiPl94bWxQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ2xlYW51cFBhcnNlciI+eG1sQ2xlYW51cFBhcnNlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQXR0cmlidXRlVHlwZSI+eG1sUGFyc2VBdHRyaWJ1dGVUeXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbnVtZXJhdGVkVHlwZSI+eG1sUGFyc2VFbnVtZXJhdGVkVHlwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRW51bWVyYXRpb25UeXBlIj54bWxQYXJzZUVudW1lcmF0aW9uVHlwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlTm90YXRpb25UeXBlIj54bWxQYXJzZU5vdGF0aW9uVHlwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbFBhcnNlVVJJIj54bWxQYXJzZVVSSTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbFBhcnNlVVJJUmF3Ij54bWxQYXJzZVVSSVJhdzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HUGFyc2UiPnhtbFJlbGF4TkdQYXJzZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUdldEJ1aWx0SW5UeXBlIj54bWxTY2hlbWFHZXRCdWlsdEluVHlwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUdldENhbm9uVmFsdWUiPnhtbFNjaGVtYUdldENhbm9uVmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFHZXRDYW5vblZhbHVlV2h0c3AiPnhtbFNjaGVtYUdldENhbm9uVmFsdWVXaHRzcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFQYXJzZSI+eG1sU2NoZW1hUGFyc2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvblBhcnNlIj54bWxTY2hlbWF0cm9uUGFyc2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyTmV4dFNpYmxpbmciPnhtbFRleHRSZWFkZXJOZXh0U2libGluZzwvYT48YnIgLz4KKzwvZGQ+PGR0PmJ1aWx0LWluPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI194bWxTY2hlbWFUeXBlIj5feG1sU2NoZW1hVHlwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUdldEJ1aWx0SW5MaXN0U2ltcGxlVHlwZUl0ZW1UeXBlIj54bWxTY2hlbWFHZXRCdWlsdEluTGlzdFNpbXBsZVR5cGVJdGVtVHlwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUdldEJ1aWx0SW5UeXBlIj54bWxTY2hlbWFHZXRCdWlsdEluVHlwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUlzQnVpbHRJblR5cGVGYWNldCI+eG1sU2NoZW1hSXNCdWlsdEluVHlwZUZhY2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hVmFsaWRhdGVGYWNldFdodHNwIj54bWxTY2hlbWFWYWxpZGF0ZUZhY2V0V2h0c3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFWYWxpZGF0ZUxlbmd0aEZhY2V0Ij54bWxTY2hlbWFWYWxpZGF0ZUxlbmd0aEZhY2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldFdodHNwIj54bWxTY2hlbWFWYWxpZGF0ZUxlbmd0aEZhY2V0V2h0c3A8L2E+PGJyIC8+Cis8L2RkPjxkdD5idWlsdGluPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfQlVJTFRJTl9QUklNSVRJVkUiPlhNTF9TQ0hFTUFTX1RZUEVfQlVJTFRJTl9QUklNSVRJVkU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI2luaXRHZW5lcmljRXJyb3JEZWZhdWx0RnVuYyI+aW5pdEdlbmVyaWNFcnJvckRlZmF1bHRGdW5jPC9hPjxiciAvPgorPC9kZD48ZHQ+YnVuY2g8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZU5hbWVzcGFjZSI+eG1sUGFyc2VOYW1lc3BhY2U8L2E+PGJyIC8+Cis8L2RkPjxkdD5ieXBhc3M8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sUGFyc2VDYXRhbG9nRmlsZSI+eG1sUGFyc2VDYXRhbG9nRmlsZTwvYT48YnIgLz4KKzwvZGQ+PC9kbD48aDIgYWxpZ249ImNlbnRlciI+PGEgaHJlZj0iQVBJY2h1bmswLmh0bWwiPkEtQjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMS5odG1sIj5DLUM8L2E+Cis8YSBocmVmPSJBUEljaHVuazIuaHRtbCI+RC1FPC9hPgorPGEgaHJlZj0iQVBJY2h1bmszLmh0bWwiPkYtSTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNC5odG1sIj5KLU48L2E+Cis8YSBocmVmPSJBUEljaHVuazUuaHRtbCI+Ty1QPC9hPgorPGEgaHJlZj0iQVBJY2h1bms2Lmh0bWwiPlEtUjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNy5odG1sIj5TLVM8L2E+Cis8YSBocmVmPSJBUEljaHVuazguaHRtbCI+VC1VPC9hPgorPGEgaHJlZj0iQVBJY2h1bms5Lmh0bWwiPlYtWDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTAuaHRtbCI+WS1hPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMS5odG1sIj5iLWI8L2E+Cis8YSBocmVmPSJBUEljaHVuazEyLmh0bWwiPmMtYzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTMuaHRtbCI+ZC1kPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNC5odG1sIj5lLWU8L2E+Cis8YSBocmVmPSJBUEljaHVuazE1Lmh0bWwiPmYtZjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTYuaHRtbCI+Zy1oPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNy5odG1sIj5pLWk8L2E+Cis8YSBocmVmPSJBUEljaHVuazE4Lmh0bWwiPmotbDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTkuaHRtbCI+bS1tPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMC5odG1sIj5uLW48L2E+Cis8YSBocmVmPSJBUEljaHVuazIxLmh0bWwiPm8tbzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjIuaHRtbCI+cC1wPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMy5odG1sIj5xLXI8L2E+Cis8YSBocmVmPSJBUEljaHVuazI0Lmh0bWwiPnMtczwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjUuaHRtbCI+dC10PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNi5odG1sIj51LXY8L2E+Cis8YSBocmVmPSJBUEljaHVuazI3Lmh0bWwiPnctdzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjguaHRtbCI+eC14PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyOS5odG1sIj55LXo8L2E+Cis8L2gyPjxwPjxhIGhyZWY9ImJ1Z3MuaHRtbCI+RGFuaWVsIFZlaWxsYXJkPC9hPjwvcD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvQVBJY2h1bmsxMi5odG1sIGIvbGlieG1sMi9kb2MvQVBJY2h1bmsxMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRlMzc2ZjcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9BUEljaHVuazEyLmh0bWwKQEAgLTAsMCArMSw5MjcgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+PGxpbmsgcmVsPSJTSE9SVENVVCBJQ09OIiBocmVmPSIvZmF2aWNvbi5pY28iIC8+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK1REIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitCT0RZIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2E7IG1hcmdpbi10b3A6IDJlbTsgbWFyZ2luLWxlZnQ6IDBlbTsgbWFyZ2luLXJpZ2h0OiAwZW19CitIMSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDIge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gzIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitBOmxpbmssIEE6dmlzaXRlZCwgQTphY3RpdmUgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB9Cis8L3N0eWxlPjx0aXRsZT5BUEkgQWxwaGFiZXRpYyBJbmRleCBjLWMgZm9yIGxpYnhtbDI8L3RpdGxlPjwvaGVhZD48Ym9keSBiZ2NvbG9yPSIjOGI3NzY1IiB0ZXh0PSIjMDAwMDAwIiBsaW5rPSIjYTA2MDYwIiB2bGluaz0iIzAwMDAwMCI+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjEwMCUiIGNlbGxwYWRkaW5nPSI1IiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCB3aWR0aD0iMTIwIj48YSBocmVmPSJodHRwOi8vc3dwYXQuZmZpaS5vcmcvIj48aW1nIHNyYz0iZXBhdGVudHMucG5nIiBhbHQ9IkFjdGlvbiBhZ2FpbnN0IHNvZnR3YXJlIHBhdGVudHMiIC8+PC9hPjwvdGQ+PHRkIHdpZHRoPSIxODAiPjxhIGhyZWY9Imh0dHA6Ly93d3cuZ25vbWUub3JnLyI+PGltZyBzcmM9Imdub21lMi5wbmciIGFsdD0iR25vbWUyIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1N0YXR1cyI+PGltZyBzcmM9InczYy5wbmciIGFsdD0iVzNDIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cucmVkaGF0LmNvbS8iPjxpbWcgc3JjPSJyZWRoYXQuZ2lmIiBhbHQ9IlJlZCBIYXQgTG9nbyIgLz48L2E+PGRpdiBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnLyI+PGltZyBzcmM9IkxpYnhtbDItTG9nby0xODB4MTY4LmdpZiIgYWx0PSJNYWRlIHdpdGggTGlieG1sMiBMb2dvIiAvPjwvYT48L2Rpdj48L3RkPjx0ZD48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iOTAlIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyIgYmdjb2xvcj0iI2ZmZmFjZCI+PHRyPjx0ZCBhbGlnbj0iY2VudGVyIj48aDE+VGhlIFhNTCBDIHBhcnNlciBhbmQgdG9vbGtpdCBvZiBHbm9tZTwvaDE+PGgyPkFQSSBBbHBoYWJldGljIEluZGV4IGMtYyBmb3IgbGlieG1sMjwvaDI+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjQiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiIHdpZHRoPSIxMDAlIj48dHI+PHRkIHZhbGlnbj0idG9wIiB3aWR0aD0iMjAwIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5EZXZlbG9wZXIgTWVudTwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48Zm9ybSBhY3Rpb249InNlYXJjaC5waHAiIGVuY3R5cGU9ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIgbWV0aG9kPSJnZXQiPjxpbnB1dCBuYW1lPSJxdWVyeSIgdHlwZT0idGV4dCIgc2l6ZT0iMjAiIHZhbHVlPSIiIC8+PGlucHV0IG5hbWU9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU2VhcmNoIC4uLiIgLz48L2Zvcm0+PHVsPjxsaT48YSBocmVmPSJpbmRleC5odG1sIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+TWFpbiBNZW51PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0bWwvaW5kZXguaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPlJlZmVyZW5jZSBNYW51YWw8L2E+PC9saT48bGk+PGEgaHJlZj0iZXhhbXBsZXMvaW5kZXguaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPkNvZGUgRXhhbXBsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iZ3VpZGVsaW5lcy5odG1sIj5YTUwgR3VpZGVsaW5lczwvYT48L2xpPjxsaT48YSBocmVmPSJ0dXRvcmlhbC9pbmRleC5odG1sIj5UdXRvcmlhbDwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWxyZWFkZXIuaHRtbCI+VGhlIFJlYWRlciBJbnRlcmZhY2U8L2E+PC9saT48bGk+PGEgaHJlZj0iQ2hhbmdlTG9nLmh0bWwiPkNoYW5nZUxvZzwvYT48L2xpPjxsaT48YSBocmVmPSJYU0xULmh0bWwiPlhTTFQ8L2E+PC9saT48bGk+PGEgaHJlZj0icHl0aG9uLmh0bWwiPlB5dGhvbiBhbmQgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iYXJjaGl0ZWN0dXJlLmh0bWwiPmxpYnhtbDIgYXJjaGl0ZWN0dXJlPC9hPjwvbGk+PGxpPjxhIGhyZWY9InRyZWUuaHRtbCI+VGhlIHRyZWUgb3V0cHV0PC9hPjwvbGk+PGxpPjxhIGhyZWY9ImludGVyZmFjZS5odG1sIj5UaGUgU0FYIGludGVyZmFjZTwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWxtZW0uaHRtbCI+TWVtb3J5IE1hbmFnZW1lbnQ8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1saW8uaHRtbCI+SS9PIEludGVyZmFjZXM8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlicmFyeS5odG1sIj5UaGUgcGFyc2VyIGludGVyZmFjZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iZW50aXRpZXMuaHRtbCI+RW50aXRpZXMgb3Igbm8gZW50aXRpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0ibmFtZXNwYWNlcy5odG1sIj5OYW1lc3BhY2VzPC9hPjwvbGk+PGxpPjxhIGhyZWY9InVwZ3JhZGUuaHRtbCI+VXBncmFkaW5nIDEueCBjb2RlPC9hPjwvbGk+PGxpPjxhIGhyZWY9InRocmVhZHMuaHRtbCI+VGhyZWFkIHNhZmV0eTwvYT48L2xpPjxsaT48YSBocmVmPSJET00uaHRtbCI+RE9NIFByaW5jaXBsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iZXhhbXBsZS5odG1sIj5BIHJlYWwgZXhhbXBsZTwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWwuaHRtbCI+ZmxhdCBwYWdlPC9hPiwgPGEgaHJlZj0ic2l0ZS54c2wiPnN0eWxlc2hlZXQ8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5BUEkgSW5kZXhlczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9IkFQSWNodW5rMC5odG1sIj5BbHBoYWJldGljPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkFQSWNvbnN0cnVjdG9ycy5odG1sIj5Db25zdHJ1Y3RvcnM8L2E+PC9saT48bGk+PGEgaHJlZj0iQVBJZnVuY3Rpb25zLmh0bWwiPkZ1bmN0aW9ucy9UeXBlczwvYT48L2xpPjxsaT48YSBocmVmPSJBUElmaWxlcy5odG1sIj5Nb2R1bGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkFQSXN5bWJvbHMuaHRtbCI+U3ltYm9sczwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPlJlbGF0ZWQgbGlua3M8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSJodHRwOi8vbWFpbC5nbm9tZS5vcmcvYXJjaGl2ZXMveG1sLyI+TWFpbCBhcmNoaXZlPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9YU0xULyI+WFNMVCBsaWJ4c2x0PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9waGQuY3MudW5pYm8uaXQvZ2RvbWUyLyI+RE9NIGdkb21lMjwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmFsZWtzZXkuY29tL3htbHNlYy8iPlhNTC1EU2lnIHhtbHNlYzwvYT48L2xpPjxsaT48YSBocmVmPSJmdHA6Ly94bWxzb2Z0Lm9yZy8iPkZUUDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnpsYXRrb3ZpYy5jb20vcHJvamVjdHMvbGlieG1sLyI+V2luZG93cyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vb3BlbmNzdy5vcmcvcGFja2FnZXMvbGlieG1sMiI+U29sYXJpcyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmV4cGxhaW4uY29tLmF1L29zcy9saWJ4bWwyeHNsdC5odG1sIj5NYWNPc1ggYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2x4bWwuZGUvIj5seG1sIFB5dGhvbiBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vY3Bhbi51d2lubmlwZWcuY2EvZGlzdC9YTUwtTGliWE1MIj5QZXJsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWxwbHVzcGx1cy5zb3VyY2Vmb3JnZS5uZXQvIj5DKysgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56ZW5kLmNvbS9waHA1L2FydGljbGVzL3BocDUteG1scGhwLnBocCNIZWFkaW5nNCI+UEhQIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbGlieG1sMi1wYXMvIj5QYXNjYWwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbC5ydWJ5Zm9yZ2Uub3JnLyI+UnVieSBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vdGNseG1sLnNvdXJjZWZvcmdlLm5ldC8iPlRjbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2J1Z2xpc3QuY2dpP3Byb2R1Y3Q9bGlieG1sMiI+QnVnIFRyYWNrZXI8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48aDIgYWxpZ249ImNlbnRlciI+PGEgaHJlZj0iQVBJY2h1bmswLmh0bWwiPkEtQjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMS5odG1sIj5DLUM8L2E+Cis8YSBocmVmPSJBUEljaHVuazIuaHRtbCI+RC1FPC9hPgorPGEgaHJlZj0iQVBJY2h1bmszLmh0bWwiPkYtSTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNC5odG1sIj5KLU48L2E+Cis8YSBocmVmPSJBUEljaHVuazUuaHRtbCI+Ty1QPC9hPgorPGEgaHJlZj0iQVBJY2h1bms2Lmh0bWwiPlEtUjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNy5odG1sIj5TLVM8L2E+Cis8YSBocmVmPSJBUEljaHVuazguaHRtbCI+VC1VPC9hPgorPGEgaHJlZj0iQVBJY2h1bms5Lmh0bWwiPlYtWDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTAuaHRtbCI+WS1hPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMS5odG1sIj5iLWI8L2E+Cis8YSBocmVmPSJBUEljaHVuazEyLmh0bWwiPmMtYzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTMuaHRtbCI+ZC1kPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNC5odG1sIj5lLWU8L2E+Cis8YSBocmVmPSJBUEljaHVuazE1Lmh0bWwiPmYtZjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTYuaHRtbCI+Zy1oPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNy5odG1sIj5pLWk8L2E+Cis8YSBocmVmPSJBUEljaHVuazE4Lmh0bWwiPmotbDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTkuaHRtbCI+bS1tPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMC5odG1sIj5uLW48L2E+Cis8YSBocmVmPSJBUEljaHVuazIxLmh0bWwiPm8tbzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjIuaHRtbCI+cC1wPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMy5odG1sIj5xLXI8L2E+Cis8YSBocmVmPSJBUEljaHVuazI0Lmh0bWwiPnMtczwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjUuaHRtbCI+dC10PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNi5odG1sIj51LXY8L2E+Cis8YSBocmVmPSJBUEljaHVuazI3Lmh0bWwiPnctdzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjguaHRtbCI+eC14PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyOS5odG1sIj55LXo8L2E+Cis8L2gyPjxoMj5MZXR0ZXIgYzo8L2gyPjxkbD48ZHQ+YzE0bjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTRORG9jRHVtcE1lbW9yeSI+eG1sQzE0TkRvY0R1bXBNZW1vcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jMTRuLmh0bWwjeG1sQzE0TkRvY1NhdmUiPnhtbEMxNE5Eb2NTYXZlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtYzE0bi5odG1sI3htbEMxNE5Eb2NTYXZlVG8iPnhtbEMxNE5Eb2NTYXZlVG88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jMTRuLmh0bWwjeG1sQzE0TkV4ZWN1dGUiPnhtbEMxNE5FeGVjdXRlPC9hPjxiciAvPgorPC9kZD48ZHQ+Y2FjaGU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFNldENhY2hlIj54bWxYUGF0aENvbnRleHRTZXRDYWNoZTwvYT48YnIgLz4KKzwvZGQ+PGR0PmNhY2hlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0U2V0Q2FjaGUiPnhtbFhQYXRoQ29udGV4dFNldENhY2hlPC9hPjxiciAvPgorPC9kZD48ZHQ+Y2FjaGluZzo8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFNldENhY2hlIj54bWxYUGF0aENvbnRleHRTZXRDYWNoZTwvYT48YnIgLz4KKzwvZGQ+PGR0PmNhbGN1bGF0ZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJuY2F0TmV3Ij54bWxTdHJuY2F0TmV3PC9hPjxiciAvPgorPC9kZD48ZHQ+Y2FsY3VsYXRlczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFVURjhTaXplIj54bWxVVEY4U2l6ZTwvYT48YnIgLz4KKzwvZGQ+PGR0PmNhbGxpbmc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI194bWxYUGF0aENvbnRleHQiPl94bWxYUGF0aENvbnRleHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxCdWlsZFJlbGF0aXZlVVJJIj54bWxCdWlsZFJlbGF0aXZlVVJJPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtYzE0bi5odG1sI3htbEMxNE5Eb2NEdW1wTWVtb3J5Ij54bWxDMTRORG9jRHVtcE1lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sQ2hlY2tGaWxlbmFtZSI+eG1sQ2hlY2tGaWxlbmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbENsZWFudXBQYXJzZXIiPnhtbENsZWFudXBQYXJzZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sQ2xlYW51cFRocmVhZHMiPnhtbENsZWFudXBUaHJlYWRzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckN1cnJlbnREb2MiPnhtbFRleHRSZWFkZXJDdXJyZW50RG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEFkZFZhbHVlcyI+eG1sWFBhdGhBZGRWYWx1ZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRGl2VmFsdWVzIj54bWxYUGF0aERpdlZhbHVlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhNb2RWYWx1ZXMiPnhtbFhQYXRoTW9kVmFsdWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE11bHRWYWx1ZXMiPnhtbFhQYXRoTXVsdFZhbHVlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdWJWYWx1ZXMiPnhtbFhQYXRoU3ViVmFsdWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFZhbHVlRmxpcFNpZ24iPnhtbFhQYXRoVmFsdWVGbGlwU2lnbjwvYT48YnIgLz4KKzwvZGQ+PGR0PmNhbGxzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteGxpbmsuaHRtbCN4bGlua05vZGVEZXRlY3RGdW5jIj54bGlua05vZGVEZXRlY3RGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVNBWFBsdWciPnhtbFNjaGVtYVNBWFBsdWc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQXhpc0Z1bmMiPnhtbFhQYXRoQXhpc0Z1bmM8L2E+PGJyIC8+Cis8L2RkPjxkdD5jYW1lPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUG9wSW5wdXQiPnhtbFBvcElucHV0PC9hPjxiciAvPgorPC9kZD48ZHQ+Y2Fubm90PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VBdHRyaWJ1dGUiPnhtbFBhcnNlQXR0cmlidXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclJlYWRPdXRlclhtbCI+eG1sVGV4dFJlYWRlclJlYWRPdXRlclhtbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhSZWdpc3Rlck5zIj54bWxYUGF0aFJlZ2lzdGVyTnM8L2E+PGJyIC8+Cis8L2RkPjxkdD5jYW5vbmljPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sQ2Fub25pY1BhdGgiPnhtbENhbm9uaWNQYXRoPC9hPjxiciAvPgorPC9kZD48ZHQ+Y2Fub25pY2FsPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtYzE0bi5odG1sI3htbEMxNE5Eb2NEdW1wTWVtb3J5Ij54bWxDMTRORG9jRHVtcE1lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTRORG9jU2F2ZSI+eG1sQzE0TkRvY1NhdmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jMTRuLmh0bWwjeG1sQzE0TkRvY1NhdmVUbyI+eG1sQzE0TkRvY1NhdmVUbzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTRORXhlY3V0ZSI+eG1sQzE0TkV4ZWN1dGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbEdldENoYXJFbmNvZGluZ05hbWUiPnhtbEdldENoYXJFbmNvZGluZ05hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFHZXRDYW5vblZhbHVlIj54bWxTY2hlbWFHZXRDYW5vblZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hR2V0Q2Fub25WYWx1ZVdodHNwIj54bWxTY2hlbWFHZXRDYW5vblZhbHVlV2h0c3A8L2E+PGJyIC8+Cis8L2RkPjxkdD5jYW5vbmljYWxpemF0aW9uPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtYzE0bi5odG1sI3htbEMxNE5Eb2NEdW1wTWVtb3J5Ij54bWxDMTRORG9jRHVtcE1lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTRORG9jU2F2ZSI+eG1sQzE0TkRvY1NhdmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jMTRuLmh0bWwjeG1sQzE0TkRvY1NhdmVUbyI+eG1sQzE0TkRvY1NhdmVUbzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTRORXhlY3V0ZSI+eG1sQzE0TkV4ZWN1dGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5jYW5vbmljYWxpemVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxOb3JtYWxpemVXaW5kb3dzUGF0aCI+eG1sTm9ybWFsaXplV2luZG93c1BhdGg8L2E+PGJyIC8+Cis8L2RkPjxkdD5jYW5vbml6YXRpb248L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1jMTRuLmh0bWwjeG1sQzE0TkRvY0R1bXBNZW1vcnkiPnhtbEMxNE5Eb2NEdW1wTWVtb3J5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtYzE0bi5odG1sI3htbEMxNE5Eb2NTYXZlIj54bWxDMTRORG9jU2F2ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTRORG9jU2F2ZVRvIj54bWxDMTRORG9jU2F2ZVRvPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtYzE0bi5odG1sI3htbEMxNE5FeGVjdXRlIj54bWxDMTRORXhlY3V0ZTwvYT48YnIgLz4KKzwvZGQ+PGR0PmNhbm9uaXplZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTRORG9jRHVtcE1lbW9yeSI+eG1sQzE0TkRvY0R1bXBNZW1vcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jMTRuLmh0bWwjeG1sQzE0TkRvY1NhdmUiPnhtbEMxNE5Eb2NTYXZlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtYzE0bi5odG1sI3htbEMxNE5Eb2NTYXZlVG8iPnhtbEMxNE5Eb2NTYXZlVG88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jMTRuLmh0bWwjeG1sQzE0TkV4ZWN1dGUiPnhtbEMxNE5FeGVjdXRlPC9hPjxiciAvPgorPC9kZD48ZHQ+Y2Fub3Q8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxtb2R1bGUuaHRtbCN4bWxNb2R1bGVPcGVuIj54bWxNb2R1bGVPcGVuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbW9kdWxlLmh0bWwjeG1sTW9kdWxlU3ltYm9sIj54bWxNb2R1bGVTeW1ib2w8L2E+PGJyIC8+Cis8L2RkPjxkdD5jYXBhYmxlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hlY2tVVEY4Ij54bWxDaGVja1VURjg8L2E+PGJyIC8+Cis8L2RkPjxkdD5jYXJhY3RlcnM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dEJ1ZmZlcldyaXRlRXNjYXBlIj54bWxPdXRwdXRCdWZmZXJXcml0ZUVzY2FwZTwvYT48YnIgLz4KKzwvZGQ+PGR0PmNhcmRpbmFsaXR5PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwUGFyc2UiPnhtbEV4cFBhcnNlPC9hPjxiciAvPgorPC9kZD48ZHQ+Y2FycmllZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZHZXROb2RlQ29udGVudCI+eG1sQnVmR2V0Tm9kZUNvbnRlbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3RG9jUHJvcCI+eG1sTmV3RG9jUHJvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdOc1Byb3AiPnhtbE5ld05zUHJvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdOc1Byb3BFYXROYW1lIj54bWxOZXdOc1Byb3BFYXROYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld1Byb3AiPnhtbE5ld1Byb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUJ1ZkdldENvbnRlbnQiPnhtbE5vZGVCdWZHZXRDb250ZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVHZXRDb250ZW50Ij54bWxOb2RlR2V0Q29udGVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlR2V0TGFuZyI+eG1sTm9kZUdldExhbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUdldFNwYWNlUHJlc2VydmUiPnhtbE5vZGVHZXRTcGFjZVByZXNlcnZlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNldE5zUHJvcCI+eG1sU2V0TnNQcm9wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNldFByb3AiPnhtbFNldFByb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sVW5zZXROc1Byb3AiPnhtbFVuc2V0TnNQcm9wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFVuc2V0UHJvcCI+eG1sVW5zZXRQcm9wPC9hPjxiciAvPgorPC9kZD48ZHQ+Y2FycmllczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhsaW5rLmh0bWwjeGxpbmtJc0xpbmsiPnhsaW5rSXNMaW5rPC9hPjxiciAvPgorPC9kZD48ZHQ+Y2Fycnlpbmc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bGluay5odG1sI3hsaW5rRXh0ZW5kZWRMaW5rRnVuayI+eGxpbmtFeHRlbmRlZExpbmtGdW5rPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGxpbmsuaHRtbCN4bGlua0V4dGVuZGVkTGlua1NldEZ1bmsiPnhsaW5rRXh0ZW5kZWRMaW5rU2V0RnVuazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhsaW5rLmh0bWwjeGxpbmtTaW1wbGVMaW5rRnVuayI+eGxpbmtTaW1wbGVMaW5rRnVuazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sSXNJRCI+eG1sSXNJRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sSXNSZWYiPnhtbElzUmVmPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld0dsb2JhbE5zIj54bWxOZXdHbG9iYWxOczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdOcyI+eG1sTmV3TnM8L2E+PGJyIC8+Cis8L2RkPjxkdD5jYXNlLWlnbm9yaW5nPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3RyY2FzZXN0ciI+eG1sU3RyY2FzZXN0cjwvYT48YnIgLz4KKzwvZGQ+PGR0PmNhc2VzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1NLSVBfSURTIj5YTUxfU0tJUF9JRFM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jMTRuLmh0bWwjeG1sQzE0TkV4ZWN1dGUiPnhtbEMxNE5FeGVjdXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbGVtZW50Q29udGVudERlY2wiPnhtbFBhcnNlRWxlbWVudENvbnRlbnREZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sU2Nhbk5hbWUiPnhtbFNjYW5OYW1lPC9hPjxiciAvPgorPC9kZD48ZHQ+Y2FzdDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI0JBRF9DQVNUIj5CQURfQ0FTVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjQ0FTVF9UT19CT09MRUFOIj5DQVNUX1RPX0JPT0xFQU48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI0NBU1RfVE9fTlVNQkVSIj5DQVNUX1RPX05VTUJFUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjQ0FTVF9UT19TVFJJTkciPkNBU1RfVE9fU1RSSU5HPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbnZlcnRGdW5jIj54bWxYUGF0aENvbnZlcnRGdW5jPC9hPjxiciAvPgorPC9kZD48ZHQ+Y2FzdGluZzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCNYTUxfQ0FTVF9GUFRSIj5YTUxfQ0FTVF9GUFRSPC9hPjxiciAvPgorPC9kZD48ZHQ+Y2F0PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbENhdCI+eG1sU2hlbGxDYXQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5jYXRhbG9nczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nQWRkTG9jYWwiPnhtbENhdGFsb2dBZGRMb2NhbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nQ2xlYW51cCI+eG1sQ2F0YWxvZ0NsZWFudXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ0ZyZWVMb2NhbCI+eG1sQ2F0YWxvZ0ZyZWVMb2NhbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nR2V0RGVmYXVsdHMiPnhtbENhdGFsb2dHZXREZWZhdWx0czwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nTG9jYWxSZXNvbHZlIj54bWxDYXRhbG9nTG9jYWxSZXNvbHZlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dMb2NhbFJlc29sdmVVUkkiPnhtbENhdGFsb2dMb2NhbFJlc29sdmVVUkk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ1NldERlYnVnIj54bWxDYXRhbG9nU2V0RGVidWc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ1NldERlZmF1bHRzIj54bWxDYXRhbG9nU2V0RGVmYXVsdHM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sTG9hZENhdGFsb2dzIj54bWxMb2FkQ2F0YWxvZ3M8L2E+PGJyIC8+Cis8L2RkPjxkdD5jYXRlZ29yeTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NhdCI+eG1sVUNTSXNDYXQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5jYXVzZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxQcmludFhQYXRoRXJyb3IiPnhtbFNoZWxsUHJpbnRYUGF0aEVycm9yPC9hPjxiciAvPgorPC9kZD48ZHQ+Y2F1dGlvbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI194bWxVUkkiPl94bWxVUkk8L2E+PGJyIC8+Cis8L2RkPjxkdD5jZGF0YS1zZWN0aW9uLTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCN4bWxTdHJlYW1QdXNoTm9kZSI+eG1sU3RyZWFtUHVzaE5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sU3RyZWFtV2FudHNBbnlOb2RlIj54bWxTdHJlYW1XYW50c0FueU5vZGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5jZWlsaW5nPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aENlaWxpbmdGdW5jdGlvbiI+eG1sWFBhdGhDZWlsaW5nRnVuY3Rpb248L2E+PGJyIC8+Cis8L2RkPjxkdD5jZXJ0YWlubHk8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyR2V0UmVtYWluZGVyIj54bWxUZXh0UmVhZGVyR2V0UmVtYWluZGVyPC9hPjxiciAvPgorPC9kZD48ZHQ+Y2hhaW5lZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxGcmVlTnNMaXN0Ij54bWxGcmVlTnNMaXN0PC9hPjxiciAvPgorPC9kZD48ZHQ+Y2hhbmdlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI0xJQlhNTDJfTkVXX0JVRkZFUiI+TElCWE1MMl9ORVdfQlVGRkVSPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNodG1sU2V0TWV0YUVuY29kaW5nIj5odG1sU2V0TWV0YUVuY29kaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxDdHh0UmVzZXRMYXN0RXJyb3IiPnhtbEN0eHRSZXNldExhc3RFcnJvcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQQ3dkIj54bWxOYW5vRlRQQ3dkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VTRERlY2wiPnhtbFBhcnNlU0REZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxSZXNldExhc3RFcnJvciI+eG1sUmVzZXRMYXN0RXJyb3I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFDb2xsYXBzZVN0cmluZyI+eG1sU2NoZW1hQ29sbGFwc2VTdHJpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFXaGl0ZVNwYWNlUmVwbGFjZSI+eG1sU2NoZW1hV2hpdGVTcGFjZVJlcGxhY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0Ij54bWxTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sU3dpdGNoRW5jb2RpbmciPnhtbFN3aXRjaEVuY29kaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sU3dpdGNoSW5wdXRFbmNvZGluZyI+eG1sU3dpdGNoSW5wdXRFbmNvZGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFN3aXRjaFRvRW5jb2RpbmciPnhtbFN3aXRjaFRvRW5jb2Rpbmc8L2E+PGJyIC8+Cis8L2RkPjxkdD5jaGFuZ2VkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVTZXRCYXNlIj54bWxOb2RlU2V0QmFzZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlU2V0TGFuZyI+eG1sTm9kZVNldExhbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVNldE5hbWUiPnhtbE5vZGVTZXROYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVTZXRTcGFjZVByZXNlcnZlIj54bWxOb2RlU2V0U3BhY2VQcmVzZXJ2ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJTZXRQYXJzZXJQcm9wIj54bWxUZXh0UmVhZGVyU2V0UGFyc2VyUHJvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRpdHlFcnJvckZ1bmMiPnhtbFZhbGlkaXR5RXJyb3JGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGl0eVdhcm5pbmdGdW5jIj54bWxWYWxpZGl0eVdhcm5pbmdGdW5jPC9hPjxiciAvPgorPC9kZD48ZHQ+Y2hhbmdlczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sUmVnaXN0ZXJIVFRQUG9zdENhbGxiYWNrcyI+eG1sUmVnaXN0ZXJIVFRQUG9zdENhbGxiYWNrczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJDbG9zZSI+eG1sVGV4dFJlYWRlckNsb3NlPC9hPjxiciAvPgorPC9kZD48ZHQ+Y2hhbmdpbmc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0Ij54bWxTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclNldFBhcnNlclByb3AiPnhtbFRleHRSZWFkZXJTZXRQYXJzZXJQcm9wPC9hPjxiciAvPgorPC9kZD48ZHQ+Y2hhbm5lbDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sRmlsZUNsb3NlIj54bWxGaWxlQ2xvc2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbEZpbGVSZWFkIj54bWxGaWxlUmVhZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sSU9GVFBDbG9zZSI+eG1sSU9GVFBDbG9zZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sSU9GVFBPcGVuIj54bWxJT0ZUUE9wZW48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbElPRlRQUmVhZCI+eG1sSU9GVFBSZWFkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxJT0hUVFBDbG9zZSI+eG1sSU9IVFRQQ2xvc2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbElPSFRUUE9wZW4iPnhtbElPSFRUUE9wZW48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbElPSFRUUFJlYWQiPnhtbElPSFRUUFJlYWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dEJ1ZmZlckNsb3NlIj54bWxPdXRwdXRCdWZmZXJDbG9zZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0QnVmZmVyRmx1c2giPnhtbE91dHB1dEJ1ZmZlckZsdXNoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbFByaW50WFBhdGhFcnJvciI+eG1sU2hlbGxQcmludFhQYXRoRXJyb3I8L2E+PGJyIC8+Cis8L2RkPjxkdD5jaGFyYWN0ZXJzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjaWdub3JhYmxlV2hpdGVzcGFjZSI+aWdub3JhYmxlV2hpdGVzcGFjZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI2lnbm9yYWJsZVdoaXRlc3BhY2VTQVhGdW5jIj5pZ25vcmFibGVXaGl0ZXNwYWNlU0FYRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbENyZWF0ZVB1c2hQYXJzZXJDdHh0Ij54bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEtlZXBCbGFua3NEZWZhdWx0Ij54bWxLZWVwQmxhbmtzRGVmYXVsdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQXR0VmFsdWUiPnhtbFBhcnNlQXR0VmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJQcmludGYiPnhtbFN0clByaW50ZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFN0clZQcmludGYiPnhtbFN0clZQcmludGY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxVUklFc2NhcGVTdHIiPnhtbFVSSUVzY2FwZVN0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFVURjhTdHJsZW4iPnhtbFVURjhTdHJsZW48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxVVEY4U3Ryc2l6ZSI+eG1sVVRGOFN0cnNpemU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkQ3R4dE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlIj54bWxWYWxpZEN0eHROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZSI+eG1sVmFsaWROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhJZEZ1bmN0aW9uIj54bWxYUGF0aElkRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9ybWFsaXplRnVuY3Rpb24iPnhtbFhQYXRoTm9ybWFsaXplRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU3RyaW5nTGVuZ3RoRnVuY3Rpb24iPnhtbFhQYXRoU3RyaW5nTGVuZ3RoRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU3Vic3RyaW5nRnVuY3Rpb24iPnhtbFhQYXRoU3Vic3RyaW5nRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoVHJhbnNsYXRlRnVuY3Rpb24iPnhtbFhQYXRoVHJhbnNsYXRlRnVuY3Rpb248L2E+PGJyIC8+Cis8L2RkPjxkdD5jaGFyZW5jb2Rpbmc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbEdldENoYXJFbmNvZGluZ05hbWUiPnhtbEdldENoYXJFbmNvZGluZ05hbWU8L2E+PGJyIC8+Cis8L2RkPjxkdD5jaGFycz8/PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlUmF3TGVuIj54bWxUZXh0V3JpdGVyV3JpdGVSYXdMZW48L2E+PGJyIC8+Cis8L2RkPjxkdD5jaGFyc2V0PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxBbGxvY1BhcnNlcklucHV0QnVmZmVyIj54bWxBbGxvY1BhcnNlcklucHV0QnVmZmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ3JlYXRlSU9QYXJzZXJDdHh0Ij54bWxDcmVhdGVJT1BhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxJT1BhcnNlRFREIj54bWxJT1BhcnNlRFREPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sTmV3SU9JbnB1dFN0cmVhbSI+eG1sTmV3SU9JbnB1dFN0cmVhbTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0QnVmZmVyQ3JlYXRlSU8iPnhtbE91dHB1dEJ1ZmZlckNyZWF0ZUlPPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZkIj54bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGUiPnhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZSI+eG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVJTyI+eG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVJTzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVNZW0iPnhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlTWVtPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZVN0YXRpYyI+eG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVTdGF0aWM8L2E+PGJyIC8+Cis8L2RkPjxkdD5jaGVja2VkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0VMRU1fSU5URVJOQUxfQ0hFQ0tFRCI+WE1MX1NDSEVNQVNfRUxFTV9JTlRFUk5BTF9DSEVDS0VEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCNfeG1sRW50aXR5Ij5feG1sRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVHZXRCYXNlIj54bWxOb2RlR2V0QmFzZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlR2V0TGFuZyI+eG1sTm9kZUdldExhbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUdldFNwYWNlUHJlc2VydmUiPnhtbE5vZGVHZXRTcGFjZVByZXNlcnZlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VBdHRWYWx1ZSI+eG1sUGFyc2VBdHRWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQXR0cmlidXRlVHlwZSI+eG1sUGFyc2VBdHRyaWJ1dGVUeXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNldE5zUHJvcCI+eG1sU2V0TnNQcm9wPC9hPjxiciAvPgorPC9kZD48ZHQ+Y2hlY2tpbmc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bGluay5odG1sI3hsaW5rSXNMaW5rIj54bGlua0lzTGluazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJXcml0ZVF1b3RlZFN0cmluZyI+eG1sQnVmZmVyV3JpdGVRdW90ZWRTdHJpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxCdWlsZFVSSSI+eG1sQnVpbGRVUkk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBQYXJzZSI+eG1sRXhwUGFyc2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNZW1GcmVlIj54bWxNZW1GcmVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sVVRGOFN0cmxlbiI+eG1sVVRGOFN0cmxlbjwvYT48YnIgLz4KKzwvZGQ+PGR0PmNoZWNraW5nczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cFBhcnNlIj54bWxFeHBQYXJzZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVPbmVFbGVtZW50Ij54bWxWYWxpZGF0ZU9uZUVsZW1lbnQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5jaGVja3M8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfQVRUUkdST1VQX01BUktFRCI+WE1MX1NDSEVNQVNfQVRUUkdST1VQX01BUktFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX01BUktFRCI+WE1MX1NDSEVNQVNfVFlQRV9NQVJLRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEF1dG9DbG9zZVRhZyI+aHRtbEF1dG9DbG9zZVRhZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sSXNBdXRvQ2xvc2VkIj5odG1sSXNBdXRvQ2xvc2VkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxOb2RlU3RhdHVzIj5odG1sTm9kZVN0YXR1czwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sQ2hlY2tGaWxlbmFtZSI+eG1sQ2hlY2tGaWxlbmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sQ2hlY2tIVFRQSW5wdXQiPnhtbENoZWNrSFRUUElucHV0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hlY2tVVEY4Ij54bWxDaGVja1VURjg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUEluaXQiPnhtbE5hbm9GVFBJbml0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUEluaXQiPnhtbE5hbm9IVFRQSW5pdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2wiPnhtbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVsZW1lbnRNaXhlZENvbnRlbnREZWNsIj54bWxQYXJzZUVsZW1lbnRNaXhlZENvbnRlbnREZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFJlY29uY2lsaWF0ZU5zIj54bWxSZWNvbmNpbGlhdGVOczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbFVSSUVzY2FwZSI+eG1sVVJJRXNjYXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZUF0dHJpYnV0ZURlY2wiPnhtbFZhbGlkYXRlQXR0cmlidXRlRGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVEb2N1bWVudCI+eG1sVmFsaWRhdGVEb2N1bWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVEb2N1bWVudEZpbmFsIj54bWxWYWxpZGF0ZURvY3VtZW50RmluYWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlRHRkRmluYWwiPnhtbFZhbGlkYXRlRHRkRmluYWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlRWxlbWVudERlY2wiPnhtbFZhbGlkYXRlRWxlbWVudERlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlTm90YXRpb25EZWNsIj54bWxWYWxpZGF0ZU5vdGF0aW9uRGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVPbmVBdHRyaWJ1dGUiPnhtbFZhbGlkYXRlT25lQXR0cmlidXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZU9uZUVsZW1lbnQiPnhtbFZhbGlkYXRlT25lRWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVPbmVOYW1lc3BhY2UiPnhtbFZhbGlkYXRlT25lTmFtZXNwYWNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vZGVTZXRDb250YWlucyI+eG1sWFBhdGhOb2RlU2V0Q29udGFpbnM8L2E+PGJyIC8+Cis8L2RkPjxkdD5jaGlsZC08L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjX3htbEF0dHIiPl94bWxBdHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI194bWxEb2MiPl94bWxEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjX3htbER0ZCI+X3htbER0ZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNfeG1sTm9kZSI+X3htbE5vZGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5jaGlsZHJlbnM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI194bWxFbnRpdHkiPl94bWxFbnRpdHk8L2E+PGJyIC8+Cis8L2RkPjxkdD5jaGlsZHM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjX3htbE5vZGUiPl94bWxOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxJc01peGVkRWxlbWVudCI+eG1sSXNNaXhlZEVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkR2V0VmFsaWRFbGVtZW50cyI+eG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzPC9hPjxiciAvPgorPC9kZD48ZHQ+Y2hvaWNlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwTmV3T3IiPnhtbEV4cE5ld09yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwUGFyc2UiPnhtbEV4cFBhcnNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbGVtZW50Q2hpbGRyZW5Db250ZW50RGVjbCI+eG1sUGFyc2VFbGVtZW50Q2hpbGRyZW5Db250ZW50RGVjbDwvYT48YnIgLz4KKzwvZGQ+PGR0PmNob2ljZXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVsZW1lbnRNaXhlZENvbnRlbnREZWNsIj54bWxQYXJzZUVsZW1lbnRNaXhlZENvbnRlbnREZWNsPC9hPjxiciAvPgorPC9kZD48ZHQ+Y2hvaWNlczo8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZU5vdGF0aW9uRGVjbCI+eG1sUGFyc2VOb3RhdGlvbkRlY2w8L2E+PGJyIC8+Cis8L2RkPjxkdD5jaHVuazwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiUGFyc2VDaHVuayI+ZG9jYlBhcnNlQ2h1bms8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlQ2h1bmsiPmh0bWxQYXJzZUNodW5rPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sRW50aXR5UmVmZXJlbmNlRnVuYyI+eG1sRW50aXR5UmVmZXJlbmNlRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeSI+eG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5UmVjb3ZlciI+eG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5UmVjb3ZlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlQ2h1bmsiPnhtbFBhcnNlQ2h1bms8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUVudGl0eSI+eG1sUGFyc2VFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUV4dGVybmFsRW50aXR5Ij54bWxQYXJzZUV4dGVybmFsRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VJbk5vZGVDb250ZXh0Ij54bWxQYXJzZUluTm9kZUNvbnRleHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxTQVhQYXJzZUVudGl0eSI+eG1sU0FYUGFyc2VFbnRpdHk8L2E+PGJyIC8+Cis8L2RkPjxkdD5jaXJjdWxhcjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19BVFRSR1JPVVBfTUFSS0VEIj5YTUxfU0NIRU1BU19BVFRSR1JPVVBfTUFSS0VEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0VMRU1fQ0lSQ1VMQVIiPlhNTF9TQ0hFTUFTX0VMRU1fQ0lSQ1VMQVI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVFlQRV9NQVJLRUQiPlhNTF9TQ0hFTUFTX1RZUEVfTUFSS0VEPC9hPjxiciAvPgorPC9kZD48ZHQ+Y2xlYW48L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxDbGVhbnVwUGFyc2VyIj54bWxDbGVhbnVwUGFyc2VyPC9hPjxiciAvPgorPC9kZD48ZHQ+Y2xlYW5seTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sQ2hlY2tIVFRQSW5wdXQiPnhtbENoZWNrSFRUUElucHV0PC9hPjxiciAvPgorPC9kZD48ZHQ+Y2xlYW5zPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ2xlYW51cFBhcnNlciI+eG1sQ2xlYW51cFBhcnNlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQU2NhblByb3h5Ij54bWxOYW5vRlRQU2NhblByb3h5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUFNjYW5Qcm94eSI+eG1sTmFub0hUVFBTY2FuUHJveHk8L2E+PGJyIC8+Cis8L2RkPjxkdD5jbGVhbnVwPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbENsZWFudXBHbG9iYWxzIj54bWxDbGVhbnVwR2xvYmFsczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbENsZWFudXBQYXJzZXIiPnhtbENsZWFudXBQYXJzZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sQ2xlYW51cFRocmVhZHMiPnhtbENsZWFudXBUaHJlYWRzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBDbGVhbnVwIj54bWxOYW5vRlRQQ2xlYW51cDwvYT48YnIgLz4KKzwvZGQ+PGR0PmNsZWFyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3RNZXJnZSI+eG1sTGlzdE1lcmdlPC9hPjxiciAvPgorPC9kZD48ZHQ+Y2xlYXJzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxDbGVhbnVwSW5wdXRDYWxsYmFja3MiPnhtbENsZWFudXBJbnB1dENhbGxiYWNrczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sQ2xlYW51cE91dHB1dENhbGxiYWNrcyI+eG1sQ2xlYW51cE91dHB1dENhbGxiYWNrczwvYT48YnIgLz4KKzwvZGQ+PGR0PmNsaWVudDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEtlZXBCbGFua3NEZWZhdWx0Ij54bWxLZWVwQmxhbmtzRGVmYXVsdDwvYT48YnIgLz4KKzwvZGQ+PGR0PmNsb25lPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBDbG9uZU5vZGUiPnhtbERPTVdyYXBDbG9uZU5vZGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5jbG9uZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcENsb25lTm9kZSI+eG1sRE9NV3JhcENsb25lTm9kZTwvYT48YnIgLz4KKzwvZGQ+PGR0PmNsb3NlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxBdXRvQ2xvc2VUYWciPmh0bWxBdXRvQ2xvc2VUYWc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEN0eHRSZWFkSU8iPmh0bWxDdHh0UmVhZElPPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxJc0F1dG9DbG9zZWQiPmh0bWxJc0F1dG9DbG9zZWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFJlYWRJTyI+aHRtbFJlYWRJTzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY0Nsb3NlRnVuYyI+eG1sQ2hhckVuY0Nsb3NlRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbENyZWF0ZUlPUGFyc2VyQ3R4dCI+eG1sQ3JlYXRlSU9QYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ3R4dFJlYWRJTyI+eG1sQ3R4dFJlYWRJTzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sSW5wdXRDbG9zZUNhbGxiYWNrIj54bWxJbnB1dENsb3NlQ2FsbGJhY2s8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtb2R1bGUuaHRtbCN4bWxNb2R1bGVDbG9zZSI+eG1sTW9kdWxlQ2xvc2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dEJ1ZmZlckNsb3NlIj54bWxPdXRwdXRCdWZmZXJDbG9zZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0QnVmZmVyQ3JlYXRlSU8iPnhtbE91dHB1dEJ1ZmZlckNyZWF0ZUlPPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRDbG9zZUNhbGxiYWNrIj54bWxPdXRwdXRDbG9zZUNhbGxiYWNrPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUlPIj54bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUlPPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUmVhZElPIj54bWxSZWFkSU88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxSZWFkZXJGb3JJTyI+eG1sUmVhZGVyRm9ySU88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxSZWFkZXJOZXdJTyI+eG1sUmVhZGVyTmV3SU88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzYXZlLmh0bWwjeG1sU2F2ZVRvSU8iPnhtbFNhdmVUb0lPPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckNsb3NlIj54bWxUZXh0UmVhZGVyQ2xvc2U8L2E+PGJyIC8+Cis8L2RkPjxkdD5jbG9zZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxDdHh0UmVhZEZkIj54bWxDdHh0UmVhZEZkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbW9kdWxlLmh0bWwjeG1sTW9kdWxlQ2xvc2UiPnhtbE1vZHVsZUNsb3NlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sTmV3VGV4dFdyaXRlciI+eG1sTmV3VGV4dFdyaXRlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFJlYWRGZCI+eG1sUmVhZEZkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sUmVhZGVyRm9yRmQiPnhtbFJlYWRlckZvckZkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sUmVhZGVyTmV3RmQiPnhtbFJlYWRlck5ld0ZkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlckVuZERvY3VtZW50Ij54bWxUZXh0V3JpdGVyRW5kRG9jdW1lbnQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5jbG9zZXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQQ2xvc2UiPnhtbE5hbm9IVFRQQ2xvc2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQU2F2ZSI+eG1sTmFub0hUVFBTYXZlPC9hPjxiciAvPgorPC9kZD48ZHQ+Y2xvc2VzdDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXh0RWxlbWVudFNpYmxpbmciPnhtbE5leHRFbGVtZW50U2libGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxQcmV2aW91c0VsZW1lbnRTaWJsaW5nIj54bWxQcmV2aW91c0VsZW1lbnRTaWJsaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aENlaWxpbmdGdW5jdGlvbiI+eG1sWFBhdGhDZWlsaW5nRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRmxvb3JGdW5jdGlvbiI+eG1sWFBhdGhGbG9vckZ1bmN0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJvdW5kRnVuY3Rpb24iPnhtbFhQYXRoUm91bmRGdW5jdGlvbjwvYT48YnIgLz4KKzwvZGQ+PGR0PmNsb3Npbmc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNodG1sSW5pdEF1dG9DbG9zZSI+aHRtbEluaXRBdXRvQ2xvc2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUEZyZWVDdHh0Ij54bWxOYW5vRlRQRnJlZUN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVsZW1lbnRDaGlsZHJlbkNvbnRlbnREZWNsIj54bWxQYXJzZUVsZW1lbnRDaGlsZHJlbkNvbnRlbnREZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VTdGFydFRhZyI+eG1sUGFyc2VTdGFydFRhZzwvYT48YnIgLz4KKzwvZGQ+PGR0PmNuY2VybmluZzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sRGVidWdEdW1wRG9jdW1lbnRIZWFkIj54bWxEZWJ1Z0R1bXBEb2N1bWVudEhlYWQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5jb2RlczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbENoZWNrTGFuZ3VhZ2VJRCI+eG1sQ2hlY2tMYW5ndWFnZUlEPC9hPjxiciAvPgorPC9kZD48ZHQ+Y29kaW5nPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWERlZmF1bHRWZXJzaW9uIj54bWxTQVhEZWZhdWx0VmVyc2lvbjwvYT48YnIgLz4KKzwvZGQ+PGR0PmNvbGxhcHNlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0ZBQ0VUX0NPTExBUFNFIj5YTUxfU0NIRU1BU19GQUNFVF9DT0xMQVBTRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX1dISVRFU1BBQ0VfQ09MTEFQU0UiPlhNTF9TQ0hFTUFTX1RZUEVfV0hJVEVTUEFDRV9DT0xMQVBTRTwvYT48YnIgLz4KKzwvZGQ+PGR0PmNvbGxlY3Q8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCNERUJVR19NRU1PUlkiPkRFQlVHX01FTU9SWTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sSU9IVFRQT3BlblciPnhtbElPSFRUUE9wZW5XPC9hPjxiciAvPgorPC9kZD48ZHQ+Y29sbGVjdGVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sR2NNZW1HZXQiPnhtbEdjTWVtR2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sR2NNZW1TZXR1cCI+eG1sR2NNZW1TZXR1cDwvYT48YnIgLz4KKzwvZGQ+PGR0PmNvbG9uPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbExvYWRDYXRhbG9ncyI+eG1sTG9hZENhdGFsb2dzPC9hPjxiciAvPgorPC9kZD48ZHQ+Y29sdW1uPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNfeG1sRXJyb3IiPl94bWxFcnJvcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI2dldENvbHVtbk51bWJlciI+Z2V0Q29sdW1uTnVtYmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJHZXRDb2x1bW5OdW1iZXIiPnhtbFNBWDJHZXRDb2x1bW5OdW1iZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyR2V0UGFyc2VyQ29sdW1uTnVtYmVyIj54bWxUZXh0UmVhZGVyR2V0UGFyc2VyQ29sdW1uTnVtYmVyPC9hPjxiciAvPgorPC9kZD48ZHQ+Y29tPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjZ2V0U3lzdGVtSWQiPmdldFN5c3RlbUlkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sQnVpbGRSZWxhdGl2ZVVSSSI+eG1sQnVpbGRSZWxhdGl2ZVVSSTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyR2V0U3lzdGVtSWQiPnhtbFNBWDJHZXRTeXN0ZW1JZDwvYT48YnIgLz4KKzwvZGQ+PGR0PmNvbWJpbmluZzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTX0NPTUJJTklOR19DSCI+SVNfQ09NQklOSU5HX0NIPC9hPjxiciAvPgorPC9kZD48ZHQ+Y29tZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCN4bWxTdHJlYW1QdXNoIj54bWxTdHJlYW1QdXNoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbFN0cmVhbVB1c2hBdHRyIj54bWxTdHJlYW1QdXNoQXR0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCN4bWxTdHJlYW1QdXNoTm9kZSI+eG1sU3RyZWFtUHVzaE5vZGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5jb21lbnQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyRW5kQ29tbWVudCI+eG1sVGV4dFdyaXRlckVuZENvbW1lbnQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5jb21lczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRpdHlFcnJvckZ1bmMiPnhtbFZhbGlkaXR5RXJyb3JGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGl0eVdhcm5pbmdGdW5jIj54bWxWYWxpZGl0eVdhcm5pbmdGdW5jPC9hPjxiciAvPgorPC9kZD48ZHQ+Y29taW5nPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteGluY2x1ZGUuaHRtbCN4bWxYSW5jbHVkZVByb2Nlc3NOb2RlIj54bWxYSW5jbHVkZVByb2Nlc3NOb2RlPC9hPjxiciAvPgorPC9kZD48ZHQ+Y29tbWFuZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCNmdHBEYXRhQ2FsbGJhY2siPmZ0cERhdGFDYWxsYmFjazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCNmdHBMaXN0Q2FsbGJhY2siPmZ0cExpc3RDYWxsYmFjazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQQ2hlY2tSZXNwb25zZSI+eG1sTmFub0ZUUENoZWNrUmVzcG9uc2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUEdldFJlc3BvbnNlIj54bWxOYW5vRlRQR2V0UmVzcG9uc2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUFF1aXQiPnhtbE5hbm9GVFBRdWl0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbER1Ij54bWxTaGVsbER1PC9hPjxiciAvPgorPC9kZD48ZHQ+Y29tbWFuZGxpbmU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsIj54bWxTaGVsbDwvYT48YnIgLz4KKzwvZGQ+PGR0PmNvbW1hbmRzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbFB3ZCI+eG1sU2hlbGxQd2Q8L2E+PGJyIC8+Cis8L2RkPjxkdD5jb21tZW50PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNIVE1MX0NPTU1FTlRfTk9ERSI+SFRNTF9DT01NRU5UX05PREU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNjb21tZW50Ij5jb21tZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjY29tbWVudFNBWEZ1bmMiPmNvbW1lbnRTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld0NvbW1lbnQiPnhtbE5ld0NvbW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3RG9jQ29tbWVudCI+eG1sTmV3RG9jQ29tbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQ29tbWVudCI+eG1sUGFyc2VDb21tZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclN0YXJ0Q29tbWVudCI+eG1sVGV4dFdyaXRlclN0YXJ0Q29tbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZUNvbW1lbnQiPnhtbFRleHRXcml0ZXJXcml0ZUNvbW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRDb21tZW50Ij54bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRDb21tZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdENvbW1lbnQiPnhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRDb21tZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aElzTm9kZVR5cGUiPnhtbFhQYXRoSXNOb2RlVHlwZTwvYT48YnIgLz4KKzwvZGQ+PGR0PmNvbW1lbnQtPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbFN0cmVhbVB1c2hOb2RlIj54bWxTdHJlYW1QdXNoTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCN4bWxTdHJlYW1XYW50c0FueU5vZGUiPnhtbFN0cmVhbVdhbnRzQW55Tm9kZTwvYT48YnIgLz4KKzwvZGQ+PGR0PmNvbW1lbnRzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtYzE0bi5odG1sI3htbEMxNE5Eb2NEdW1wTWVtb3J5Ij54bWxDMTRORG9jRHVtcE1lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTRORG9jU2F2ZSI+eG1sQzE0TkRvY1NhdmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jMTRuLmh0bWwjeG1sQzE0TkRvY1NhdmVUbyI+eG1sQzE0TkRvY1NhdmVUbzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTRORXhlY3V0ZSI+eG1sQzE0TkV4ZWN1dGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRG9jR2V0Um9vdEVsZW1lbnQiPnhtbERvY0dldFJvb3RFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERvY1NldFJvb3RFbGVtZW50Ij54bWxEb2NTZXRSb290RWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQ29tbWVudCI+eG1sUGFyc2VDb21tZW50PC9hPjxiciAvPgorPC9kZD48ZHQ+Y29tbW9kaXR5PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sS2VlcEJsYW5rc0RlZmF1bHQiPnhtbEtlZXBCbGFua3NEZWZhdWx0PC9hPjxiciAvPgorPC9kZD48ZHQ+Y29tbW9uPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI194bWxEb2MiPl94bWxEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjX3htbER0ZCI+X3htbER0ZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNfeG1sTm9kZSI+X3htbE5vZGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5jb21wPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbEZyZWVQYXR0ZXJuIj54bWxGcmVlUGF0dGVybjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCN4bWxGcmVlUGF0dGVybkxpc3QiPnhtbEZyZWVQYXR0ZXJuTGlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhGcmVlQ29tcEV4cHIiPnhtbFhQYXRoRnJlZUNvbXBFeHByPC9hPjxiciAvPgorPC9kZD48ZHQ+Y29tcGFyZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0RGF0YUNvbXBhcmUiPnhtbExpc3REYXRhQ29tcGFyZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFVURjhDaGFyY21wIj54bWxVVEY4Q2hhcmNtcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhDb21wYXJlVmFsdWVzIj54bWxYUGF0aENvbXBhcmVWYWx1ZXM8L2E+PGJyIC8+Cis8L2RkPjxkdD5jb21wYXJlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhDb21wYXJlVmFsdWVzIj54bWxYUGF0aENvbXBhcmVWYWx1ZXM8L2E+PGJyIC8+Cis8L2RkPjxkdD5jb21wYXJlczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFVURjhDaGFyY21wIj54bWxVVEY4Q2hhcmNtcDwvYT48YnIgLz4KKzwvZGQ+PGR0PmNvbXBhcmluZzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhDb21wYXJlVmFsdWVzIj54bWxYUGF0aENvbXBhcmVWYWx1ZXM8L2E+PGJyIC8+Cis8L2RkPjxkdD5jb21wYXJpc29uPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hTY2FuMyI+eG1sSGFzaFNjYW4zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hTY2FuRnVsbDMiPnhtbEhhc2hTY2FuRnVsbDM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdENyZWF0ZSI+eG1sTGlzdENyZWF0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sUGFyc2VDaGFyRW5jb2RpbmciPnhtbFBhcnNlQ2hhckVuY29kaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3RyY2FzZWNtcCI+eG1sU3RyY2FzZWNtcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFN0cmNtcCI+eG1sU3RyY21wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3RybmNhc2VjbXAiPnhtbFN0cm5jYXNlY21wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3RybmNtcCI+eG1sU3RybmNtcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhDb21wYXJlVmFsdWVzIj54bWxYUGF0aENvbXBhcmVWYWx1ZXM8L2E+PGJyIC8+Cis8L2RkPjxkdD5jb21wYXJpc29uczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJDb25zdFN0cmluZyI+eG1sVGV4dFJlYWRlckNvbnN0U3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFN1YnN0cmluZ0Z1bmN0aW9uIj54bWxYUGF0aFN1YnN0cmluZ0Z1bmN0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+Y29tcGF0aWJpbGl0eTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfTEVHQUNZX0VOQUJMRUQiPkxJQlhNTF9MRUdBQ1lfRU5BQkxFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sUGFyc2VFbGVtZW50Ij5odG1sUGFyc2VFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbENoaWxkcmVuTm9kZSI+eG1sQ2hpbGRyZW5Ob2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sQ29weUNoYXIiPnhtbENvcHlDaGFyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxFbmNvZGVFbnRpdGllcyI+eG1sRW5jb2RlRW50aXRpZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxLZWVwQmxhbmtzRGVmYXVsdCI+eG1sS2VlcEJsYW5rc0RlZmF1bHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUNoYXJEYXRhIj54bWxQYXJzZUNoYXJEYXRhPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VDb21tZW50Ij54bWxQYXJzZUNvbW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZU5hbWVzcGFjZSI+eG1sUGFyc2VOYW1lc3BhY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZVF1b3RlZFN0cmluZyI+eG1sUGFyc2VRdW90ZWRTdHJpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sUm9vdE5vZGUiPnhtbFJvb3ROb2RlPC9hPjxiciAvPgorPC9kZD48ZHQ+Y29tcGF0aWJsZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfVEVTVF9WRVJTSU9OIj5MSUJYTUxfVEVTVF9WRVJTSU9OPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbFB3ZCI+eG1sU2hlbGxQd2Q8L2E+PGJyIC8+Cis8L2RkPjxkdD5jb21waWxhdGlvbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfVkVSU0lPTl9FWFRSQSI+TElCWE1MX1ZFUlNJT05fRVhUUkE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI1hNTF9YUEFUSF9DSEVDS05TIj5YTUxfWFBBVEhfQ0hFQ0tOUzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjX3htbFhQYXRoQ29udGV4dCI+X3htbFhQYXRoQ29udGV4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCN4bWxQYXR0ZXJuY29tcGlsZSI+eG1sUGF0dGVybmNvbXBpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29tcGlsZSI+eG1sWFBhdGhDb21waWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aEN0eHRDb21waWxlIj54bWxYUGF0aEN0eHRDb21waWxlPC9hPjxiciAvPgorPC9kZD48ZHQ+Y29tcGlsZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCN4bWxQYXR0ZXJuY29tcGlsZSI+eG1sUGF0dGVybmNvbXBpbGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5jb21waWxlLXRpbWU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1ET0NCcGFyc2VyLmh0bWwjZG9jYkNyZWF0ZUZpbGVQYXJzZXJDdHh0Ij5kb2NiQ3JlYXRlRmlsZVBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1ET0NCcGFyc2VyLmh0bWwjZG9jYlBhcnNlRmlsZSI+ZG9jYlBhcnNlRmlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiU0FYUGFyc2VGaWxlIj5kb2NiU0FYUGFyc2VGaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjaHRtbENyZWF0ZUZpbGVQYXJzZXJDdHh0Ij5odG1sQ3JlYXRlRmlsZVBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlRmlsZSI+aHRtbFBhcnNlRmlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sU0FYUGFyc2VGaWxlIj5odG1sU0FYUGFyc2VGaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sQ3JlYXRlRW50aXR5UGFyc2VyQ3R4dCI+eG1sQ3JlYXRlRW50aXR5UGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbENyZWF0ZUZpbGVQYXJzZXJDdHh0Ij54bWxDcmVhdGVGaWxlUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbENyZWF0ZVVSTFBhcnNlckN0eHQiPnhtbENyZWF0ZVVSTFBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lIj54bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlRmlsZSI+eG1sUGFyc2VGaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lIj54bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUmVjb3ZlckZpbGUiPnhtbFJlY292ZXJGaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYUGFyc2VGaWxlIj54bWxTQVhQYXJzZUZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxTQVhQYXJzZUZpbGVXaXRoRGF0YSI+eG1sU0FYUGFyc2VGaWxlV2l0aERhdGE8L2E+PGJyIC8+Cis8L2RkPjxkdD5jb21waWxlZC1pbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sQ2xlYW51cElucHV0Q2FsbGJhY2tzIj54bWxDbGVhbnVwSW5wdXRDYWxsYmFja3M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbENsZWFudXBPdXRwdXRDYWxsYmFja3MiPnhtbENsZWFudXBPdXRwdXRDYWxsYmFja3M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbFBvcElucHV0Q2FsbGJhY2tzIj54bWxQb3BJbnB1dENhbGxiYWNrczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sUmVnaXN0ZXJEZWZhdWx0SW5wdXRDYWxsYmFja3MiPnhtbFJlZ2lzdGVyRGVmYXVsdElucHV0Q2FsbGJhY2tzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxSZWdpc3RlckRlZmF1bHRPdXRwdXRDYWxsYmFja3MiPnhtbFJlZ2lzdGVyRGVmYXVsdE91dHB1dENhbGxiYWNrczwvYT48YnIgLz4KKzwvZGQ+PGR0PmNvbXBpbGluZzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HTmV3RG9jUGFyc2VyQ3R4dCI+eG1sUmVsYXhOR05ld0RvY1BhcnNlckN0eHQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5jb21wbGVtZW50PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFN0cmluZ0V2YWxOdW1iZXIiPnhtbFhQYXRoU3RyaW5nRXZhbE51bWJlcjwvYT48YnIgLz4KKzwvZGQ+PGR0PmNvbXBsZXRlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX0NPTVBMRVRFX0FUVFJTIj5YTUxfQ09NUExFVEVfQVRUUlM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfV0lMRENBUkRfQ09NUExFVEUiPlhNTF9TQ0hFTUFTX1dJTERDQVJEX0NPTVBMRVRFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjX3htbFBhcnNlckN0eHQiPl94bWxQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbEFDYXRhbG9nUmVzb2x2ZSI+eG1sQUNhdGFsb2dSZXNvbHZlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbEFDYXRhbG9nUmVzb2x2ZVVSSSI+eG1sQUNhdGFsb2dSZXNvbHZlVVJJPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dMb2NhbFJlc29sdmUiPnhtbENhdGFsb2dMb2NhbFJlc29sdmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ0xvY2FsUmVzb2x2ZVVSSSI+eG1sQ2F0YWxvZ0xvY2FsUmVzb2x2ZVVSSTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nUmVzb2x2ZSI+eG1sQ2F0YWxvZ1Jlc29sdmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ1Jlc29sdmVVUkkiPnhtbENhdGFsb2dSZXNvbHZlVVJJPC9hPjxiciAvPgorPC9kZD48ZHQ+Y29tcGxldGVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZURvY3VtZW50RmluYWwiPnhtbFZhbGlkYXRlRG9jdW1lbnRGaW5hbDwvYT48YnIgLz4KKzwvZGQ+PGR0PmNvbXBsZXRlbHk8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxHZXRVVEY4Q2hhciI+eG1sR2V0VVRGOENoYXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUdldEJhc2UiPnhtbE5vZGVHZXRCYXNlPC9hPjxiciAvPgorPC9kZD48ZHQ+Y29tcGxleDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX0RFUklWQVRJT05fTUVUSE9EX0VYVEVOU0lPTiI+WE1MX1NDSEVNQVNfVFlQRV9ERVJJVkFUSU9OX01FVEhPRF9FWFRFTlNJT048L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVFlQRV9ERVJJVkFUSU9OX01FVEhPRF9SRVNUUklDVElPTiI+WE1MX1NDSEVNQVNfVFlQRV9ERVJJVkFUSU9OX01FVEhPRF9SRVNUUklDVElPTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNfeG1sU2NoZW1hVHlwZSI+X3htbFNjaGVtYVR5cGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5jb21wbGV4VHlwZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX0FCU1RSQUNUIj5YTUxfU0NIRU1BU19UWVBFX0FCU1RSQUNUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfQkxPQ0tfREVGQVVMVCI+WE1MX1NDSEVNQVNfVFlQRV9CTE9DS19ERUZBVUxUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfQkxPQ0tfRVhURU5TSU9OIj5YTUxfU0NIRU1BU19UWVBFX0JMT0NLX0VYVEVOU0lPTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX0JMT0NLX1JFU1RSSUNUSU9OIj5YTUxfU0NIRU1BU19UWVBFX0JMT0NLX1JFU1RSSUNUSU9OPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfRklOQUxfRVhURU5TSU9OIj5YTUxfU0NIRU1BU19UWVBFX0ZJTkFMX0VYVEVOU0lPTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX0ZJTkFMX1JFU1RSSUNUSU9OIj5YTUxfU0NIRU1BU19UWVBFX0ZJTkFMX1JFU1RSSUNUSU9OPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfT1dORURfQVRUUl9XSUxEQ0FSRCI+WE1MX1NDSEVNQVNfVFlQRV9PV05FRF9BVFRSX1dJTERDQVJEPC9hPjxiciAvPgorPC9kZD48ZHQ+Y29tcGxpY2F0ZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxCdWlsZFJlbGF0aXZlVVJJIj54bWxCdWlsZFJlbGF0aXZlVVJJPC9hPjxiciAvPgorPC9kZD48ZHQ+Y29tcG9uZW50PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI194bWxTY2hlbWFUeXBlIj5feG1sU2NoZW1hVHlwZTwvYT48YnIgLz4KKzwvZGQ+PGR0PmNvbXBvbmVudHM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjX3htbFNjaGVtYSI+X3htbFNjaGVtYTwvYT48YnIgLz4KKzwvZGQ+PGR0PmNvbXBvdW5kPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aEZyZWVOb2RlU2V0Ij54bWxYUGF0aEZyZWVOb2RlU2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyRnJlZUxvY2F0aW9uU2V0Ij54bWxYUHRyRnJlZUxvY2F0aW9uU2V0PC9hPjxiciAvPgorPC9kZD48ZHQ+Y29tcHJlc3M8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxOZXdUZXh0V3JpdGVyRG9jIj54bWxOZXdUZXh0V3JpdGVyRG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sTmV3VGV4dFdyaXRlckZpbGVuYW1lIj54bWxOZXdUZXh0V3JpdGVyRmlsZW5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxOZXdUZXh0V3JpdGVyTWVtb3J5Ij54bWxOZXdUZXh0V3JpdGVyTWVtb3J5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sTmV3VGV4dFdyaXRlclB1c2hQYXJzZXIiPnhtbE5ld1RleHRXcml0ZXJQdXNoUGFyc2VyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sTmV3VGV4dFdyaXRlclRyZWUiPnhtbE5ld1RleHRXcml0ZXJUcmVlPC9hPjxiciAvPgorPC9kZD48ZHQ+Y29tcHJlc3NlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjX3htbFBhcnNlcklucHV0QnVmZmVyIj5feG1sUGFyc2VySW5wdXRCdWZmZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1ET0NCcGFyc2VyLmh0bWwjZG9jYkNyZWF0ZUZpbGVQYXJzZXJDdHh0Ij5kb2NiQ3JlYXRlRmlsZVBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1ET0NCcGFyc2VyLmh0bWwjZG9jYlBhcnNlRmlsZSI+ZG9jYlBhcnNlRmlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiU0FYUGFyc2VGaWxlIj5kb2NiU0FYUGFyc2VGaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjaHRtbENyZWF0ZUZpbGVQYXJzZXJDdHh0Ij5odG1sQ3JlYXRlRmlsZVBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlRmlsZSI+aHRtbFBhcnNlRmlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sU0FYUGFyc2VGaWxlIj5odG1sU0FYUGFyc2VGaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sQ3JlYXRlRW50aXR5UGFyc2VyQ3R4dCI+eG1sQ3JlYXRlRW50aXR5UGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbENyZWF0ZUZpbGVQYXJzZXJDdHh0Ij54bWxDcmVhdGVGaWxlUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbENyZWF0ZVVSTFBhcnNlckN0eHQiPnhtbENyZWF0ZVVSTFBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lIj54bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlRmlsZSI+eG1sUGFyc2VGaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lIj54bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUmVjb3ZlckZpbGUiPnhtbFJlY292ZXJGaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYUGFyc2VGaWxlIj54bWxTQVhQYXJzZUZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxTQVhQYXJzZUZpbGVXaXRoRGF0YSI+eG1sU0FYUGFyc2VGaWxlV2l0aERhdGE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxTQVhVc2VyUGFyc2VGaWxlIj54bWxTQVhVc2VyUGFyc2VGaWxlPC9hPjxiciAvPgorPC9kZD48ZHQ+Y29tcHJlc3Npb248L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjX3htbERvYyI+X3htbERvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTRORG9jU2F2ZSI+eG1sQzE0TkRvY1NhdmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sR2V0Q29tcHJlc3NNb2RlIj54bWxHZXRDb21wcmVzc01vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sR2V0RG9jQ29tcHJlc3NNb2RlIj54bWxHZXREb2NDb21wcmVzc01vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbElPSFRUUE9wZW5XIj54bWxJT0hUVFBPcGVuVzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbE5ld1RleHRXcml0ZXJNZW1vcnkiPnhtbE5ld1RleHRXcml0ZXJNZW1vcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxOZXdUZXh0V3JpdGVyUHVzaFBhcnNlciI+eG1sTmV3VGV4dFdyaXRlclB1c2hQYXJzZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lIj54bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTYXZlRmlsZSI+eG1sU2F2ZUZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2F2ZUZvcm1hdEZpbGUiPnhtbFNhdmVGb3JtYXRGaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNldENvbXByZXNzTW9kZSI+eG1sU2V0Q29tcHJlc3NNb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNldERvY0NvbXByZXNzTW9kZSI+eG1sU2V0RG9jQ29tcHJlc3NNb2RlPC9hPjxiciAvPgorPC9kZD48ZHQ+Y29tcHJpc2luZzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhJbnRlcnNlY3Rpb24iPnhtbFhQYXRoSW50ZXJzZWN0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+Y29tcHV0YXRpb248L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT3JkZXJEb2NFbGVtcyI+eG1sWFBhdGhPcmRlckRvY0VsZW1zPC9hPjxiciAvPgorPC9kZD48ZHQ+Y29tcHV0ZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFVURjhTdHJsZW4iPnhtbFVURjhTdHJsZW48L2E+PGJyIC8+Cis8L2RkPjxkdD5jb21wdXRlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX0ZBQ0VUU05FRURWQUxVRSI+WE1MX1NDSEVNQVNfVFlQRV9GQUNFVFNORUVEVkFMVUU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI194bWxFbnRpdHkiPl94bWxFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxCeXRlQ29uc3VtZWQiPnhtbEJ5dGVDb25zdW1lZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYVZhbFByZWRlZlR5cGVOb2RlIj54bWxTY2hlbWFWYWxQcmVkZWZUeXBlTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYVZhbFByZWRlZlR5cGVOb2RlTm9Ob3JtIj54bWxTY2hlbWFWYWxQcmVkZWZUeXBlTm9kZU5vTm9ybTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXQiPnhtbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFWYWxpZGF0ZUxlbmd0aEZhY2V0V2h0c3AiPnhtbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXRXaHRzcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYVZhbGlkYXRlUHJlZGVmaW5lZFR5cGUiPnhtbFNjaGVtYVZhbGlkYXRlUHJlZGVmaW5lZFR5cGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFWYWx1ZUFwcGVuZCI+eG1sU2NoZW1hVmFsdWVBcHBlbmQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFWYWx1ZUdldEFzQm9vbGVhbiI+eG1sU2NoZW1hVmFsdWVHZXRBc0Jvb2xlYW48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFWYWx1ZUdldEFzU3RyaW5nIj54bWxTY2hlbWFWYWx1ZUdldEFzU3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hVmFsdWVHZXROZXh0Ij54bWxTY2hlbWFWYWx1ZUdldE5leHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyQnl0ZUNvbnN1bWVkIj54bWxUZXh0UmVhZGVyQnl0ZUNvbnN1bWVkPC9hPjxiciAvPgorPC9kZD48ZHQ+Y29tcHV0ZXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFDaGVja0ZhY2V0Ij54bWxTY2hlbWFDaGVja0ZhY2V0PC9hPjxiciAvPgorPC9kZD48ZHQ+Y29uY2F0PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aENvbmNhdEZ1bmN0aW9uIj54bWxYUGF0aENvbmNhdEZ1bmN0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+Y29uY2F0ZW5hdGVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3RyY2F0Ij54bWxTdHJjYXQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5jb25jYXRlbmF0aW9uPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aENvbmNhdEZ1bmN0aW9uIj54bWxYUGF0aENvbmNhdEZ1bmN0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+Y29uZGl0aW9uPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hVmFsaWRhdGVGYWNldCI+eG1sU2NoZW1hVmFsaWRhdGVGYWNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYVZhbGlkYXRlRmFjZXRXaHRzcCI+eG1sU2NoZW1hVmFsaWRhdGVGYWNldFdodHNwPC9hPjxiciAvPgorPC9kZD48ZHQ+Y29uZGl0aW9uYWxTZWN0PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFeHRlcm5hbFN1YnNldCI+eG1sUGFyc2VFeHRlcm5hbFN1YnNldDwvYT48YnIgLz4KKzwvZGQ+PGR0PmNvbmZpZ3VyZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCNERUJVR19NRU1PUlkiPkRFQlVHX01FTU9SWTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNERUJVR19NRU1PUllfTE9DQVRJT04iPkRFQlVHX01FTU9SWV9MT0NBVElPTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfQzE0Tl9FTkFCTEVEIj5MSUJYTUxfQzE0Tl9FTkFCTEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9DQVRBTE9HX0VOQUJMRUQiPkxJQlhNTF9DQVRBTE9HX0VOQUJMRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX0RFQlVHX0VOQUJMRUQiPkxJQlhNTF9ERUJVR19FTkFCTEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9ERUJVR19SVU5USU1FIj5MSUJYTUxfREVCVUdfUlVOVElNRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfRE9DQl9FTkFCTEVEIj5MSUJYTUxfRE9DQl9FTkFCTEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9GVFBfRU5BQkxFRCI+TElCWE1MX0ZUUF9FTkFCTEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9IVE1MX0VOQUJMRUQiPkxJQlhNTF9IVE1MX0VOQUJMRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX0hUVFBfRU5BQkxFRCI+TElCWE1MX0hUVFBfRU5BQkxFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfT1VUUFVUX0VOQUJMRUQiPkxJQlhNTF9PVVRQVVRfRU5BQkxFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfUEFUVEVSTl9FTkFCTEVEIj5MSUJYTUxfUEFUVEVSTl9FTkFCTEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9QVVNIX0VOQUJMRUQiPkxJQlhNTF9QVVNIX0VOQUJMRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX1JFQURFUl9FTkFCTEVEIj5MSUJYTUxfUkVBREVSX0VOQUJMRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX1NBWDFfRU5BQkxFRCI+TElCWE1MX1NBWDFfRU5BQkxFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfVEhSRUFEX0VOQUJMRUQiPkxJQlhNTF9USFJFQURfRU5BQkxFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfVFJFRV9FTkFCTEVEIj5MSUJYTUxfVFJFRV9FTkFCTEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9WQUxJRF9FTkFCTEVEIj5MSUJYTUxfVkFMSURfRU5BQkxFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfV1JJVEVSX0VOQUJMRUQiPkxJQlhNTF9XUklURVJfRU5BQkxFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfWElOQ0xVREVfRU5BQkxFRCI+TElCWE1MX1hJTkNMVURFX0VOQUJMRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX1hQQVRIX0VOQUJMRUQiPkxJQlhNTF9YUEFUSF9FTkFCTEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9YUFRSX0VOQUJMRUQiPkxJQlhNTF9YUFRSX0VOQUJMRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjV0lUSE9VVF9UUklPIj5XSVRIT1VUX1RSSU88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjV0lUSF9UUklPIj5XSVRIX1RSSU88L2E+PGJyIC8+Cis8L2RkPjxkdD5jb25mb3JtaW5nPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnZXhwQ29tcGlsZSI+eG1sUmVnZXhwQ29tcGlsZTwvYT48YnIgLz4KKzwvZGQ+PGR0PmNvbmZvcm1zPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sQ2hlY2tMYW5ndWFnZUlEIj54bWxDaGVja0xhbmd1YWdlSUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFWYWxQcmVkZWZUeXBlTm9kZSI+eG1sU2NoZW1hVmFsUHJlZGVmVHlwZU5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFWYWxQcmVkZWZUeXBlTm9kZU5vTm9ybSI+eG1sU2NoZW1hVmFsUHJlZGVmVHlwZU5vZGVOb05vcm08L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFWYWxpZGF0ZVByZWRlZmluZWRUeXBlIj54bWxTY2hlbWFWYWxpZGF0ZVByZWRlZmluZWRUeXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFZhbGlkYXRlTkNOYW1lIj54bWxWYWxpZGF0ZU5DTmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxWYWxpZGF0ZU5NVG9rZW4iPnhtbFZhbGlkYXRlTk1Ub2tlbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxWYWxpZGF0ZU5hbWUiPnhtbFZhbGlkYXRlTmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxWYWxpZGF0ZVFOYW1lIj54bWxWYWxpZGF0ZVFOYW1lPC9hPjxiciAvPgorPC9kZD48ZHQ+Y29uanVuY3Rpb248L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFJc0J1aWx0SW5UeXBlRmFjZXQiPnhtbFNjaGVtYUlzQnVpbHRJblR5cGVGYWNldDwvYT48YnIgLz4KKzwvZGQ+PGR0PmNvbm5lY3Rpb248L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUENsb3NlIj54bWxOYW5vRlRQQ2xvc2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUENsb3NlQ29ubmVjdGlvbiI+eG1sTmFub0ZUUENsb3NlQ29ubmVjdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQQ29ubmVjdCI+eG1sTmFub0ZUUENvbm5lY3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUENvbm5lY3RUbyI+eG1sTmFub0ZUUENvbm5lY3RUbzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQRnJlZUN0eHQiPnhtbE5hbm9GVFBGcmVlQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQR2V0Q29ubmVjdGlvbiI+eG1sTmFub0ZUUEdldENvbm5lY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUEdldFNvY2tldCI+eG1sTmFub0ZUUEdldFNvY2tldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQUmVhZCI+eG1sTmFub0ZUUFJlYWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUFVwZGF0ZVVSTCI+eG1sTmFub0ZUUFVwZGF0ZVVSTDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9odHRwLmh0bWwjeG1sTmFub0hUVFBDbG9zZSI+eG1sTmFub0hUVFBDbG9zZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9odHRwLmh0bWwjeG1sTmFub0hUVFBNZXRob2QiPnhtbE5hbm9IVFRQTWV0aG9kPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUE1ldGhvZFJlZGlyIj54bWxOYW5vSFRUUE1ldGhvZFJlZGlyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUE9wZW4iPnhtbE5hbm9IVFRQT3BlbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9odHRwLmh0bWwjeG1sTmFub0hUVFBPcGVuUmVkaXIiPnhtbE5hbm9IVFRQT3BlblJlZGlyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUFJlYWQiPnhtbE5hbm9IVFRQUmVhZDwvYT48YnIgLz4KKzwvZGQ+PGR0PmNvbm5lY3RvcjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2wiPnhtbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2w8L2E+PGJyIC8+Cis8L2RkPjxkdD5jb25zZXF1ZW50PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNfeG1sRXJyb3IiPl94bWxFcnJvcjwvYT48YnIgLz4KKzwvZGQ+PGR0PmNvbnNpZGVyYXRpb248L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxCdWlsZFJlbGF0aXZlVVJJIj54bWxCdWlsZFJlbGF0aXZlVVJJPC9hPjxiciAvPgorPC9kZD48ZHQ+Y29uc2lkZXJlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoU2NhbjMiPnhtbEhhc2hTY2FuMzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoU2NhbkZ1bGwzIj54bWxIYXNoU2NhbkZ1bGwzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlclJlYWQiPnhtbFBhcnNlcklucHV0QnVmZmVyUmVhZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdWJzdHJpbmdGdW5jdGlvbiI+eG1sWFBhdGhTdWJzdHJpbmdGdW5jdGlvbjwvYT48YnIgLz4KKzwvZGQ+PGR0PmNvbnNpc3Q8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV4dEFuY2VzdG9yIj54bWxYUGF0aE5leHRBbmNlc3RvcjwvYT48YnIgLz4KKzwvZGQ+PGR0PmNvbnN0PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbW9kdWxlLmh0bWwjeG1sTW9kdWxlT3BlbiI+eG1sTW9kdWxlT3BlbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1vZHVsZS5odG1sI3htbE1vZHVsZVN5bWJvbCI+eG1sTW9kdWxlU3ltYm9sPC9hPjxiciAvPgorPC9kZD48ZHQ+Y29uc3RhbnQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfU0FYMl9NQUdJQyI+WE1MX1NBWDJfTUFHSUM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxCeXRlQ29uc3VtZWQiPnhtbEJ5dGVDb25zdW1lZDwvYT48YnIgLz4KKzwvZGQ+PGR0PmNvbnN0cmFpbnQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjX3htbFNjaGVtYUF0dHJpYnV0ZSI+X3htbFNjaGVtYUF0dHJpYnV0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNfeG1sU2NoZW1hRWxlbWVudCI+X3htbFNjaGVtYUVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjX3htbFNjaGVtYVdpbGRjYXJkIj5feG1sU2NoZW1hV2lsZGNhcmQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjX3htbFNjaGVtYVdpbGRjYXJkTnMiPl94bWxTY2hlbWFXaWxkY2FyZE5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbnRpdHlSZWYiPnhtbFBhcnNlRW50aXR5UmVmPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZU5vdGF0aW9uRGVjbCI+eG1sVmFsaWRhdGVOb3RhdGlvbkRlY2w8L2E+PGJyIC8+Cis8L2RkPjxkdD5jb25zdHJhaW50czwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19FTEVNX0lOVEVSTkFMX0NIRUNLRUQiPlhNTF9TQ0hFTUFTX0VMRU1fSU5URVJOQUxfQ0hFQ0tFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQXR0cmlidXRlVHlwZSI+eG1sUGFyc2VBdHRyaWJ1dGVUeXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VEZWZhdWx0RGVjbCI+eG1sUGFyc2VEZWZhdWx0RGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzIj54bWxWYWxpZEdldFZhbGlkRWxlbWVudHM8L2E+PGJyIC8+Cis8L2RkPjxkdD5jb25zdHJ1Y3Q8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVsZW1lbnRDaGlsZHJlbkNvbnRlbnREZWNsIj54bWxQYXJzZUVsZW1lbnRDaGlsZHJlbkNvbnRlbnREZWNsPC9hPjxiciAvPgorPC9kZD48ZHQ+Y29uc3RydWN0aW9uPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sQ2Fub25pY1BhdGgiPnhtbENhbm9uaWNQYXRoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sUGF0aFRvVVJJIj54bWxQYXRoVG9VUkk8L2E+PGJyIC8+Cis8L2RkPjxkdD5jb25zdHJ1Y3RzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwUGFyc2UiPnhtbEV4cFBhcnNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VOYW1lc3BhY2UiPnhtbFBhcnNlTmFtZXNwYWNlPC9hPjxiciAvPgorPC9kZD48ZHQ+Y29uc3VtZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjVVRGOFRvSHRtbCI+VVRGOFRvSHRtbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjVVRGOFRvaXNvbGF0MSI+VVRGOFRvaXNvbGF0MTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI194bWxQYXJzZXJJbnB1dCI+X3htbFBhcnNlcklucHV0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCNfeG1sUGFyc2VySW5wdXRCdWZmZXIiPl94bWxQYXJzZXJJbnB1dEJ1ZmZlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiRW5jb2RlRW50aXRpZXMiPmRvY2JFbmNvZGVFbnRpdGllczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sRW5jb2RlRW50aXRpZXMiPmh0bWxFbmNvZGVFbnRpdGllczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjaXNvbGF0MVRvVVRGOCI+aXNvbGF0MVRvVVRGODwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nSW5wdXRGdW5jIj54bWxDaGFyRW5jb2RpbmdJbnB1dEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZ091dHB1dEZ1bmMiPnhtbENoYXJFbmNvZGluZ091dHB1dEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBOZXdPciI+eG1sRXhwTmV3T3I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBOZXdSYW5nZSI+eG1sRXhwTmV3UmFuZ2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBOZXdTZXEiPnhtbEV4cE5ld1NlcTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbEdldFVURjhDaGFyIj54bWxHZXRVVEY4Q2hhcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJSZWFkIj54bWxQYXJzZXJJbnB1dEJ1ZmZlclJlYWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFOZXdOT1RBVElPTlZhbHVlIj54bWxTY2hlbWFOZXdOT1RBVElPTlZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hTmV3UU5hbWVWYWx1ZSI+eG1sU2NoZW1hTmV3UU5hbWVWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYU5ld1N0cmluZ1ZhbHVlIj54bWxTY2hlbWFOZXdTdHJpbmdWYWx1ZTwvYT48YnIgLz4KKzwvZGQ+PGR0PmNvbnN1bWluZzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cEV4cERlcml2ZSI+eG1sRXhwRXhwRGVyaXZlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sU2Nhbk5hbWUiPnhtbFNjYW5OYW1lPC9hPjxiciAvPgorPC9kZD48ZHQ+Y29udGFpbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdUZXh0Q2hpbGQiPnhtbE5ld1RleHRDaGlsZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQXR0cmlidXRlIj54bWxQYXJzZUF0dHJpYnV0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRW50aXR5UmVmIj54bWxQYXJzZUVudGl0eVJlZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlUEVSZWZlcmVuY2UiPnhtbFBhcnNlUEVSZWZlcmVuY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZVNERGVjbCI+eG1sUGFyc2VTRERlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZXJIYW5kbGVQRVJlZmVyZW5jZSI+eG1sUGFyc2VySGFuZGxlUEVSZWZlcmVuY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZXJIYW5kbGVSZWZlcmVuY2UiPnhtbFBhcnNlckhhbmRsZVJlZmVyZW5jZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ0V4ZWNFcnJJbmZvIj54bWxSZWdFeGVjRXJySW5mbzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ0V4ZWNOZXh0VmFsdWVzIj54bWxSZWdFeGVjTmV4dFZhbHVlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HTmV3TWVtUGFyc2VyQ3R4dCI+eG1sUmVsYXhOR05ld01lbVBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR05ld1BhcnNlckN0eHQiPnhtbFJlbGF4TkdOZXdQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYU5ld01lbVBhcnNlckN0eHQiPnhtbFNjaGVtYU5ld01lbVBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hTmV3UGFyc2VyQ3R4dCI+eG1sU2NoZW1hTmV3UGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uTmV3TWVtUGFyc2VyQ3R4dCI+eG1sU2NoZW1hdHJvbk5ld01lbVBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvbk5ld1BhcnNlckN0eHQiPnhtbFNjaGVtYXRyb25OZXdQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aExlYWRpbmciPnhtbFhQYXRoTGVhZGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhMZWFkaW5nU29ydGVkIj54bWxYUGF0aExlYWRpbmdTb3J0ZWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9kZUxlYWRpbmciPnhtbFhQYXRoTm9kZUxlYWRpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9kZUxlYWRpbmdTb3J0ZWQiPnhtbFhQYXRoTm9kZUxlYWRpbmdTb3J0ZWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9kZVRyYWlsaW5nIj54bWxYUGF0aE5vZGVUcmFpbGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb2RlVHJhaWxpbmdTb3J0ZWQiPnhtbFhQYXRoTm9kZVRyYWlsaW5nU29ydGVkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFN1YnN0cmluZ0FmdGVyRnVuY3Rpb24iPnhtbFhQYXRoU3Vic3RyaW5nQWZ0ZXJGdW5jdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdWJzdHJpbmdCZWZvcmVGdW5jdGlvbiI+eG1sWFBhdGhTdWJzdHJpbmdCZWZvcmVGdW5jdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhUcmFpbGluZyI+eG1sWFBhdGhUcmFpbGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhUcmFpbGluZ1NvcnRlZCI+eG1sWFBhdGhUcmFpbGluZ1NvcnRlZDwvYT48YnIgLz4KKzwvZGQ+PGR0PmNvbnRhaW5lZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJEZXRhY2giPnhtbEJ1ZmZlckRldGFjaDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbEdldFVURjhDaGFyIj54bWxHZXRVVEY4Q2hhcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlTGlzdEdldFJhd1N0cmluZyI+eG1sTm9kZUxpc3RHZXRSYXdTdHJpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUxpc3RHZXRTdHJpbmciPnhtbE5vZGVMaXN0R2V0U3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbGVtZW50Q2hpbGRyZW5Db250ZW50RGVjbCI+eG1sUGFyc2VFbGVtZW50Q2hpbGRyZW5Db250ZW50RGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlTWFya3VwRGVjbCI+eG1sUGFyc2VNYXJrdXBEZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3RybGVuIj54bWxTdHJsZW48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRGlzdGluY3QiPnhtbFhQYXRoRGlzdGluY3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRGlzdGluY3RTb3J0ZWQiPnhtbFhQYXRoRGlzdGluY3RTb3J0ZWQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5jb250YWluczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19BVFRSR1JPVVBfSEFTX1JFRlMiPlhNTF9TQ0hFTUFTX0FUVFJHUk9VUF9IQVNfUkVGUzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjX3htbEVudGl0eSI+X3htbEVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbEN1cnJlbnRDaGFyIj54bWxDdXJyZW50Q2hhcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRW50aXR5UmVmIj54bWxQYXJzZUVudGl0eVJlZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlUEVSZWZlcmVuY2UiPnhtbFBhcnNlUEVSZWZlcmVuY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZXJIYW5kbGVQRVJlZmVyZW5jZSI+eG1sUGFyc2VySGFuZGxlUEVSZWZlcmVuY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyTW92ZVRvRWxlbWVudCI+eG1sVGV4dFJlYWRlck1vdmVUb0VsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkaXR5RXJyb3JGdW5jIj54bWxWYWxpZGl0eUVycm9yRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRpdHlXYXJuaW5nRnVuYyI+eG1sVmFsaWRpdHlXYXJuaW5nRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhDb250YWluc0Z1bmN0aW9uIj54bWxYUGF0aENvbnRhaW5zRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV4dEFuY2VzdG9yIj54bWxYUGF0aE5leHRBbmNlc3RvcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXh0QW5jZXN0b3JPclNlbGYiPnhtbFhQYXRoTmV4dEFuY2VzdG9yT3JTZWxmPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHRDaGlsZCI+eG1sWFBhdGhOZXh0Q2hpbGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV4dERlc2NlbmRhbnQiPnhtbFhQYXRoTmV4dERlc2NlbmRhbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV4dERlc2NlbmRhbnRPclNlbGYiPnhtbFhQYXRoTmV4dERlc2NlbmRhbnRPclNlbGY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV4dEZvbGxvd2luZyI+eG1sWFBhdGhOZXh0Rm9sbG93aW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHRGb2xsb3dpbmdTaWJsaW5nIj54bWxYUGF0aE5leHRGb2xsb3dpbmdTaWJsaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHROYW1lc3BhY2UiPnhtbFhQYXRoTmV4dE5hbWVzcGFjZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXh0UGFyZW50Ij54bWxYUGF0aE5leHRQYXJlbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV4dFByZWNlZGluZyI+eG1sWFBhdGhOZXh0UHJlY2VkaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHRQcmVjZWRpbmdTaWJsaW5nIj54bWxYUGF0aE5leHRQcmVjZWRpbmdTaWJsaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHRTZWxmIj54bWxYUGF0aE5leHRTZWxmPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vZGVTZXRDb250YWlucyI+eG1sWFBhdGhOb2RlU2V0Q29udGFpbnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU3Vic3RyaW5nRnVuY3Rpb24iPnhtbFhQYXRoU3Vic3RyaW5nRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJOZXdDb250ZXh0Ij54bWxYUHRyTmV3Q29udGV4dDwvYT48YnIgLz4KKzwvZGQ+PGR0PmNvbnRlbnQ6PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VDb250ZW50Ij54bWxQYXJzZUNvbnRlbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRXF1YWxWYWx1ZXMiPnhtbFhQYXRoRXF1YWxWYWx1ZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm90RXF1YWxWYWx1ZXMiPnhtbFhQYXRoTm90RXF1YWxWYWx1ZXM8L2E+PGJyIC8+Cis8L2RkPjxkdD5jb250ZW50VHlwZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9odHRwLmh0bWwjeG1sTmFub0hUVFBGZXRjaCI+eG1sTmFub0hUVFBGZXRjaDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9odHRwLmh0bWwjeG1sTmFub0hUVFBNZXRob2QiPnhtbE5hbm9IVFRQTWV0aG9kPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUE1ldGhvZFJlZGlyIj54bWxOYW5vSFRUUE1ldGhvZFJlZGlyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUE9wZW4iPnhtbE5hbm9IVFRQT3BlbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9odHRwLmh0bWwjeG1sTmFub0hUVFBPcGVuUmVkaXIiPnhtbE5hbm9IVFRQT3BlblJlZGlyPC9hPjxiciAvPgorPC9kZD48ZHQ+Y29udGVudHM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1kaWN0Lmh0bWwjeG1sRGljdEZyZWUiPnhtbERpY3RGcmVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hGcmVlIj54bWxIYXNoRnJlZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbExpbmVOdW1iZXJzRGVmYXVsdCI+eG1sTGluZU51bWJlcnNEZWZhdWx0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVMaXN0R2V0UmF3U3RyaW5nIj54bWxOb2RlTGlzdEdldFJhd1N0cmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlTGlzdEdldFN0cmluZyI+eG1sTm9kZUxpc3RHZXRTdHJpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxTZXR1cFBhcnNlckZvckJ1ZmZlciI+eG1sU2V0dXBQYXJzZXJGb3JCdWZmZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyRXhwYW5kIj54bWxUZXh0UmVhZGVyRXhwYW5kPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclJlYWRJbm5lclhtbCI+eG1sVGV4dFJlYWRlclJlYWRJbm5lclhtbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJSZWFkT3V0ZXJYbWwiPnhtbFRleHRSZWFkZXJSZWFkT3V0ZXJYbWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUmVhZFN0cmluZyI+eG1sVGV4dFJlYWRlclJlYWRTdHJpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVEVERFeHRlcm5hbEVudGl0eUNvbnRlbnRzIj54bWxUZXh0V3JpdGVyV3JpdGVEVERFeHRlcm5hbEVudGl0eUNvbnRlbnRzPC9hPjxiciAvPgorPC9kZD48ZHQ+Y29udGVudHNwZWM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVsZW1lbnRDb250ZW50RGVjbCI+eG1sUGFyc2VFbGVtZW50Q29udGVudERlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVsZW1lbnREZWNsIj54bWxQYXJzZUVsZW1lbnREZWNsPC9hPjxiciAvPgorPC9kZD48ZHQ+Y29udGV4dD88L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI194bWxYUGF0aENvbnRleHQiPl94bWxYUGF0aENvbnRleHQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5jb250ZXh0czwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNfeG1sRE9NV3JhcEN0eHQiPl94bWxET01XcmFwQ3R4dDwvYT48YnIgLz4KKzwvZGQ+PGR0PmNvbnRleHR1YWw8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR0dldFBhcnNlckVycm9ycyI+eG1sUmVsYXhOR0dldFBhcnNlckVycm9yczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HU2V0UGFyc2VyRXJyb3JzIj54bWxSZWxheE5HU2V0UGFyc2VyRXJyb3JzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdTZXRQYXJzZXJTdHJ1Y3R1cmVkRXJyb3JzIj54bWxSZWxheE5HU2V0UGFyc2VyU3RydWN0dXJlZEVycm9yczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFHZXRQYXJzZXJFcnJvcnMiPnhtbFNjaGVtYUdldFBhcnNlckVycm9yczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFTZXRQYXJzZXJFcnJvcnMiPnhtbFNjaGVtYVNldFBhcnNlckVycm9yczwvYT48YnIgLz4KKzwvZGQ+PGR0PmNvbnRpbnVpbmc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU3Vic3RyaW5nRnVuY3Rpb24iPnhtbFhQYXRoU3Vic3RyaW5nRnVuY3Rpb248L2E+PGJyIC8+Cis8L2RkPjxkdD5jb250cmFpbnQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjX3htbFNjaGVtYUVsZW1lbnQiPl94bWxTY2hlbWFFbGVtZW50PC9hPjxiciAvPgorPC9kZD48ZHQ+Y29udHJhcnk8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUxpc3RHZXRSYXdTdHJpbmciPnhtbE5vZGVMaXN0R2V0UmF3U3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aEZyZWVOb2RlU2V0TGlzdCI+eG1sWFBhdGhGcmVlTm9kZVNldExpc3Q8L2E+PGJyIC8+Cis8L2RkPjxkdD5jb250cmFzdDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlQWRkQ29udGVudCI+eG1sTm9kZUFkZENvbnRlbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUFkZENvbnRlbnRMZW4iPnhtbE5vZGVBZGRDb250ZW50TGVuPC9hPjxiciAvPgorPC9kZD48ZHQ+Y29udHJvbDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjX3htbFhQYXRoQ29udGV4dCI+X3htbFhQYXRoQ29udGV4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI3Jlc29sdmVFbnRpdHkiPnJlc29sdmVFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNyZXNvbHZlRW50aXR5U0FYRnVuYyI+cmVzb2x2ZUVudGl0eVNBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUENsb3NlIj54bWxOYW5vRlRQQ2xvc2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUENvbm5lY3QiPnhtbE5hbm9GVFBDb25uZWN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBDb25uZWN0VG8iPnhtbE5hbm9GVFBDb25uZWN0VG88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMlJlc29sdmVFbnRpdHkiPnhtbFNBWDJSZXNvbHZlRW50aXR5PC9hPjxiciAvPgorPC9kZD48ZHQ+Y29udmVuaWVudGx5PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sQ3VycmVudENoYXIiPnhtbEN1cnJlbnRDaGFyPC9hPjxiciAvPgorPC9kZD48ZHQ+Y29udmVyc2lvbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjX3Vjb252X3QiPl91Y29udl90PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCNfeG1sWFBhdGhUeXBlIj5feG1sWFBhdGhUeXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jT3V0RnVuYyI+eG1sQ2hhckVuY091dEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVuY29kaW5nRGVjbCI+eG1sUGFyc2VFbmNvZGluZ0RlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udmVydEZ1bmMiPnhtbFhQYXRoQ29udmVydEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUG9wQm9vbGVhbiI+eG1sWFBhdGhQb3BCb29sZWFuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFBvcEV4dGVybmFsIj54bWxYUGF0aFBvcEV4dGVybmFsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFBvcE5vZGVTZXQiPnhtbFhQYXRoUG9wTm9kZVNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhQb3BOdW1iZXIiPnhtbFhQYXRoUG9wTnVtYmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFBvcFN0cmluZyI+eG1sWFBhdGhQb3BTdHJpbmc8L2E+PGJyIC8+Cis8L2RkPjxkdD5jb252ZXJzaW9uczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjX3htbE91dHB1dEJ1ZmZlciI+X3htbE91dHB1dEJ1ZmZlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjX3htbFBhcnNlcklucHV0QnVmZmVyIj5feG1sUGFyc2VySW5wdXRCdWZmZXI8L2E+PGJyIC8+Cis8L2RkPjxkdD5jb252ZXJ0PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI1VURjhUb0h0bWwiPlVURjhUb0h0bWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI1VURjhUb2lzb2xhdDEiPlVURjhUb2lzb2xhdDE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI2F0dHJpYnV0ZVNBWEZ1bmMiPmF0dHJpYnV0ZVNBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1ET0NCcGFyc2VyLmh0bWwjZG9jYkVuY29kZUVudGl0aWVzIj5kb2NiRW5jb2RlRW50aXRpZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEVuY29kZUVudGl0aWVzIj5odG1sRW5jb2RlRW50aXRpZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI2lzb2xhdDFUb1VURjgiPmlzb2xhdDFUb1VURjg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxCdWlsZFJlbGF0aXZlVVJJIj54bWxCdWlsZFJlbGF0aXZlVVJJPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmdJbnB1dEZ1bmMiPnhtbENoYXJFbmNvZGluZ0lucHV0RnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYyI+eG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjeG1sRW5jb2RlRW50aXRpZXMiPnhtbEVuY29kZUVudGl0aWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxFbmNvZGVFbnRpdGllc1JlZW50cmFudCI+eG1sRW5jb2RlRW50aXRpZXNSZWVudHJhbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI3htbEVuY29kZVNwZWNpYWxDaGFycyI+eG1sRW5jb2RlU3BlY2lhbENoYXJzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEFkZFZhbHVlcyI+eG1sWFBhdGhBZGRWYWx1ZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRGl2VmFsdWVzIj54bWxYUGF0aERpdlZhbHVlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhNb2RWYWx1ZXMiPnhtbFhQYXRoTW9kVmFsdWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE11bHRWYWx1ZXMiPnhtbFhQYXRoTXVsdFZhbHVlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdWJWYWx1ZXMiPnhtbFhQYXRoU3ViVmFsdWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFZhbHVlRmxpcFNpZ24iPnhtbFhQYXRoVmFsdWVGbGlwU2lnbjwvYT48YnIgLz4KKzwvZGQ+PGR0PmNvbnZlcnRlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nQ29udmVydCI+eG1sQ2F0YWxvZ0NvbnZlcnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ29udmVydFNHTUxDYXRhbG9nIj54bWxDb252ZXJ0U0dNTENhdGFsb2c8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoQ29tcGFyZVZhbHVlcyI+eG1sWFBhdGhDb21wYXJlVmFsdWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aEV2YWxQcmVkaWNhdGUiPnhtbFhQYXRoRXZhbFByZWRpY2F0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhFdmFsdWF0ZVByZWRpY2F0ZVJlc3VsdCI+eG1sWFBhdGhFdmFsdWF0ZVByZWRpY2F0ZVJlc3VsdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhJZEZ1bmN0aW9uIj54bWxYUGF0aElkRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9ybWFsaXplRnVuY3Rpb24iPnhtbFhQYXRoTm9ybWFsaXplRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU3RyaW5nRnVuY3Rpb24iPnhtbFhQYXRoU3RyaW5nRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU3RyaW5nTGVuZ3RoRnVuY3Rpb24iPnhtbFhQYXRoU3RyaW5nTGVuZ3RoRnVuY3Rpb248L2E+PGJyIC8+Cis8L2RkPjxkdD5jb252ZXJ0ZXI8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbEFsbG9jT3V0cHV0QnVmZmVyIj54bWxBbGxvY091dHB1dEJ1ZmZlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0QnVmZmVyQ3JlYXRlQnVmZmVyIj54bWxPdXRwdXRCdWZmZXJDcmVhdGVCdWZmZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZkIj54bWxPdXRwdXRCdWZmZXJDcmVhdGVGZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZSI+eG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWUiPnhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lPC9hPjxiciAvPgorPC9kZD48ZHQ+Y29udmVydGluZzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTYXZlRmlsZUVuYyI+eG1sU2F2ZUZpbGVFbmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoRXZhbFByZWRpY2F0ZSI+eG1sWFBhdGhFdmFsUHJlZGljYXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEV2YWx1YXRlUHJlZGljYXRlUmVzdWx0Ij54bWxYUGF0aEV2YWx1YXRlUHJlZGljYXRlUmVzdWx0PC9hPjxiciAvPgorPC9kZD48ZHQ+Y29udmVydHM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoQm9vbGVhbkZ1bmN0aW9uIj54bWxYUGF0aEJvb2xlYW5GdW5jdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdHJpbmdGdW5jdGlvbiI+eG1sWFBhdGhTdHJpbmdGdW5jdGlvbjwvYT48YnIgLz4KKzwvZGQ+PGR0PmNvcGU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxDaGVja0xhbmd1YWdlSUQiPnhtbENoZWNrTGFuZ3VhZ2VJRDwvYT48YnIgLz4KKzwvZGQ+PGR0PmNvcGllZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJDcmVhdGVTdGF0aWMiPnhtbEJ1ZmZlckNyZWF0ZVN0YXRpYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxDb3B5RG9jIj54bWxDb3B5RG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sR2V0RmVhdHVyZXNMaXN0Ij54bWxHZXRGZWF0dXJlc0xpc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFDb3B5VmFsdWUiPnhtbFNjaGVtYUNvcHlWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb2RlU2V0TWVyZ2UiPnhtbFhQYXRoTm9kZVNldE1lcmdlPC9hPjxiciAvPgorPC9kZD48ZHQ+Y29waWVyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hDb3B5Ij54bWxIYXNoQ29weTwvYT48YnIgLz4KKzwvZGQ+PGR0PmNvcHlpbmc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyR3JvdyI+eG1sUGFyc2VySW5wdXRCdWZmZXJHcm93PC9hPjxiciAvPgorPC9kZD48ZHQ+Y29ycmVjdDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbENoZWNrTGFuZ3VhZ2VJRCI+eG1sQ2hlY2tMYW5ndWFnZUlEPC9hPjxiciAvPgorPC9kZD48ZHQ+Y29ycmVjdGx5PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sVVJJRXNjYXBlIj54bWxVUklFc2NhcGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5jb3JyZXBvbmRpbmc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyQ3VycmVudERvYyI+eG1sVGV4dFJlYWRlckN1cnJlbnREb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyQ3VycmVudE5vZGUiPnhtbFRleHRSZWFkZXJDdXJyZW50Tm9kZTwvYT48YnIgLz4KKzwvZGQ+PGR0PmNvcnJlc3BvbmQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sSXNYSFRNTCI+eG1sSXNYSFRNTDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlRW50aXR5Ij54bWxQYXJzZUVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNBWFBhcnNlRW50aXR5Ij54bWxTQVhQYXJzZUVudGl0eTwvYT48YnIgLz4KKzwvZGQ+PGR0PmNvcnJlc3BvbmRpbmc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI3htbEdldERvY0VudGl0eSI+eG1sR2V0RG9jRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxHZXREdGRFbnRpdHkiPnhtbEdldER0ZEVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjeG1sR2V0UGFyYW1ldGVyRW50aXR5Ij54bWxHZXRQYXJhbWV0ZXJFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jIj54bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmMiPnhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNldFByb3AiPnhtbFNldFByb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoVHJhbnNsYXRlRnVuY3Rpb24iPnhtbFhQYXRoVHJhbnNsYXRlRnVuY3Rpb248L2E+PGJyIC8+Cis8L2RkPjxkdD5jb3N0PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQnl0ZUNvbnN1bWVkIj54bWxCeXRlQ29uc3VtZWQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5jb3N0bHk8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNYTUxfTUFYX05BTUVMRU4iPlhNTF9NQVhfTkFNRUxFTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEJ5dGVDb25zdW1lZCI+eG1sQnl0ZUNvbnN1bWVkPC9hPjxiciAvPgorPC9kZD48ZHQ+Y291bGQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxCeXRlQ29uc3VtZWQiPnhtbEJ5dGVDb25zdW1lZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbENoZWNrTGFuZ3VhZ2VJRCI+eG1sQ2hlY2tMYW5ndWFnZUlEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBBZG9wdE5vZGUiPnhtbERPTVdyYXBBZG9wdE5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcENsb25lTm9kZSI+eG1sRE9NV3JhcENsb25lTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwUmVjb25jaWxlTmFtZXNwYWNlcyI+eG1sRE9NV3JhcFJlY29uY2lsZU5hbWVzcGFjZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtb2R1bGUuaHRtbCN4bWxNb2R1bGVDbG9zZSI+eG1sTW9kdWxlQ2xvc2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFHZXRDYW5vblZhbHVlIj54bWxTY2hlbWFHZXRDYW5vblZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hR2V0Q2Fub25WYWx1ZVdodHNwIj54bWxTY2hlbWFHZXRDYW5vblZhbHVlV2h0c3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyQnl0ZUNvbnN1bWVkIj54bWxUZXh0UmVhZGVyQnl0ZUNvbnN1bWVkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclJlbGF4TkdTZXRTY2hlbWEiPnhtbFRleHRSZWFkZXJSZWxheE5HU2V0U2NoZW1hPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZSI+eG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJSZWxheE5HVmFsaWRhdGVDdHh0Ij54bWxUZXh0UmVhZGVyUmVsYXhOR1ZhbGlkYXRlQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZSI+eG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlQ3R4dCI+eG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJTZXRTY2hlbWEiPnhtbFRleHRSZWFkZXJTZXRTY2hlbWE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlRHRkIj54bWxWYWxpZGF0ZUR0ZDwvYT48YnIgLz4KKzwvZGQ+PGR0PmNvdW50PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCNfeG1sRW50aXR5Ij5feG1sRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI2Z0cExpc3RDYWxsYmFjayI+ZnRwTGlzdENhbGxiYWNrPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbENoaWxkRWxlbWVudENvdW50Ij54bWxDaGlsZEVsZW1lbnRDb3VudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cFJlZiI+eG1sRXhwUmVmPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxMc0NvdW50Tm9kZSI+eG1sTHNDb3VudE5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzYXZlLmh0bWwjeG1sU2F2ZURvYyI+eG1sU2F2ZURvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNhdmUuaHRtbCN4bWxTYXZlVHJlZSI+eG1sU2F2ZVRyZWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvblZhbGlkYXRlRG9jIj54bWxTY2hlbWF0cm9uVmFsaWRhdGVEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyQXR0cmlidXRlQ291bnQiPnhtbFRleHRSZWFkZXJBdHRyaWJ1dGVDb3VudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhDb3VudEZ1bmN0aW9uIj54bWxYUGF0aENvdW50RnVuY3Rpb248L2E+PGJyIC8+Cis8L2RkPjxkdD5jb3VudGVyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld0NvdW50ZWRUcmFucyI+eG1sQXV0b21hdGFOZXdDb3VudGVkVHJhbnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhTmV3Q291bnRlciI+eG1sQXV0b21hdGFOZXdDb3VudGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld0NvdW50ZXJUcmFucyI+eG1sQXV0b21hdGFOZXdDb3VudGVyVHJhbnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kaWN0Lmh0bWwjeG1sRGljdFJlZmVyZW5jZSI+eG1sRGljdFJlZmVyZW5jZTwvYT48YnIgLz4KKzwvZGQ+PGR0PmNvdW50ZXJwYXJ0czwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjeG1sRW5jb2RlRW50aXRpZXNSZWVudHJhbnQiPnhtbEVuY29kZUVudGl0aWVzUmVlbnRyYW50PC9hPjxiciAvPgorPC9kZD48ZHQ+Y291cnNlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlck5vcm1hbGl6YXRpb24iPnhtbFRleHRSZWFkZXJOb3JtYWxpemF0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+Y292ZXI8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2VhcmNoTnMiPnhtbFNlYXJjaE5zPC9hPjxiciAvPgorPC9kZD48ZHQ+Y3Jhc2g8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxDbGVhbnVwUGFyc2VyIj54bWxDbGVhbnVwUGFyc2VyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbENsZWFudXBUaHJlYWRzIj54bWxDbGVhbnVwVGhyZWFkczwvYT48YnIgLz4KKzwvZGQ+PGR0PmNyZWF0ZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJDcmVhdGUiPnhtbEJ1ZmZlckNyZWF0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJDcmVhdGVTaXplIj54bWxCdWZmZXJDcmVhdGVTaXplPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlckNyZWF0ZVN0YXRpYyI+eG1sQnVmZmVyQ3JlYXRlU3RhdGljPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dJc0VtcHR5Ij54bWxDYXRhbG9nSXNFbXB0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjeG1sQ3JlYXRlRW50aXRpZXNUYWJsZSI+eG1sQ3JlYXRlRW50aXRpZXNUYWJsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sQ3JlYXRlRW51bWVyYXRpb24iPnhtbENyZWF0ZUVudW1lcmF0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbE5ld0NhdGFsb2ciPnhtbE5ld0NhdGFsb2c8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3RHRkIj54bWxOZXdEdGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3TnMiPnhtbE5ld05zPC9hPjxiciAvPgorPC9kZD48ZHQ+Y3JlYXRlczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdBbGxUcmFucyI+eG1sQXV0b21hdGFOZXdBbGxUcmFuczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdDb3VudFRyYW5zIj54bWxBdXRvbWF0YU5ld0NvdW50VHJhbnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhTmV3Q291bnRUcmFuczIiPnhtbEF1dG9tYXRhTmV3Q291bnRUcmFuczI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhTmV3Q291bnRlZFRyYW5zIj54bWxBdXRvbWF0YU5ld0NvdW50ZWRUcmFuczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdDb3VudGVyVHJhbnMiPnhtbEF1dG9tYXRhTmV3Q291bnRlclRyYW5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld0Vwc2lsb24iPnhtbEF1dG9tYXRhTmV3RXBzaWxvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdOZWdUcmFucyI+eG1sQXV0b21hdGFOZXdOZWdUcmFuczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdPbmNlVHJhbnMiPnhtbEF1dG9tYXRhTmV3T25jZVRyYW5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld09uY2VUcmFuczIiPnhtbEF1dG9tYXRhTmV3T25jZVRyYW5zMjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdUcmFuc2l0aW9uIj54bWxBdXRvbWF0YU5ld1RyYW5zaXRpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhTmV3VHJhbnNpdGlvbjIiPnhtbEF1dG9tYXRhTmV3VHJhbnNpdGlvbjI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxDcmVhdGVVUkkiPnhtbENyZWF0ZVVSSTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFN0cm5jYXROZXciPnhtbFN0cm5jYXROZXc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFNldENhY2hlIj54bWxYUGF0aENvbnRleHRTZXRDYWNoZTwvYT48YnIgLz4KKzwvZGQ+PGR0PmNyZWF0aW5nPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBBZG9wdE5vZGUiPnhtbERPTVdyYXBBZG9wdE5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcENsb25lTm9kZSI+eG1sRE9NV3JhcENsb25lTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwUmVjb25jaWxlTmFtZXNwYWNlcyI+eG1sRE9NV3JhcFJlY29uY2lsZU5hbWVzcGFjZXM8L2E+PGJyIC8+Cis8L2RkPjxkdD5jcmVhdGlvbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sSU9IVFRQT3BlblciPnhtbElPSFRUUE9wZW5XPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld05zIj54bWxOZXdOczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxSZWdpc3Rlck5vZGVEZWZhdWx0Ij54bWxSZWdpc3Rlck5vZGVEZWZhdWx0PC9hPjxiciAvPgorPC9kZD48ZHQ+Y3Jvc3M8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2VhcmNoTnMiPnhtbFNlYXJjaE5zPC9hPjxiciAvPgorPC9kZD48ZHQ+Y3Jvc3NlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdPbmNlVHJhbnMiPnhtbEF1dG9tYXRhTmV3T25jZVRyYW5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld09uY2VUcmFuczIiPnhtbEF1dG9tYXRhTmV3T25jZVRyYW5zMjwvYT48YnIgLz4KKzwvZGQ+PGR0PmNzaGVtYTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19GSU5BTF9ERUZBVUxUX0xJU1QiPlhNTF9TQ0hFTUFTX0ZJTkFMX0RFRkFVTFRfTElTVDwvYT48YnIgLz4KKzwvZGQ+PGR0PmN0cmlvPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aElzSW5mIj54bWxYUGF0aElzSW5mPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aElzTmFOIj54bWxYUGF0aElzTmFOPC9hPjxiciAvPgorPC9kZD48ZHQ+Y3R4dDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5ld09yIj54bWxFeHBOZXdPcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5ld1JhbmdlIj54bWxFeHBOZXdSYW5nZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5ld1NlcSI+eG1sRXhwTmV3U2VxPC9hPjxiciAvPgorPC9kZD48ZHQ+Y3R4dC08L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1ET0NCcGFyc2VyLmh0bWwjZG9jYkZyZWVQYXJzZXJDdHh0Ij5kb2NiRnJlZVBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEZyZWVQYXJzZXJDdHh0Ij5odG1sRnJlZVBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxGcmVlUGFyc2VyQ3R4dCI+eG1sRnJlZVBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQb3BJbnB1dCI+eG1sUG9wSW5wdXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkQ3R4dE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlIj54bWxWYWxpZEN0eHROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRpdHlFcnJvckZ1bmMiPnhtbFZhbGlkaXR5RXJyb3JGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGl0eVdhcm5pbmdGdW5jIj54bWxWYWxpZGl0eVdhcm5pbmdGdW5jPC9hPjxiciAvPgorPC9kZD48ZHQ+Y3VyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aEF4aXNGdW5jIj54bWxYUGF0aEF4aXNGdW5jPC9hPjxiciAvPgorPC9kZD48ZHQ+Y3VyZW50PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtYzE0bi5odG1sI3htbEMxNE5Jc1Zpc2libGVDYWxsYmFjayI+eG1sQzE0TklzVmlzaWJsZUNhbGxiYWNrPC9hPjxiciAvPgorPC9kZD48ZHQ+Y3VycmVudGx5PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0lOQ0xVRElOR19DT05WRVJUX05TIj5YTUxfU0NIRU1BU19JTkNMVURJTkdfQ09OVkVSVF9OUzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbENoZWNrTGFuZ3VhZ2VJRCI+eG1sQ2hlY2tMYW5ndWFnZUlEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sR2NNZW1HZXQiPnhtbEdjTWVtR2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWVtQmxvY2tzIj54bWxNZW1CbG9ja3M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNZW1HZXQiPnhtbE1lbUdldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1lbVVzZWQiPnhtbE1lbVVzZWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lIj54bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0QnVmZmVyR2V0Q29udGVudCI+eG1sT3V0cHV0QnVmZmVyR2V0Q29udGVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0QnVmZmVyR2V0U2l6ZSI+eG1sT3V0cHV0QnVmZmVyR2V0U2l6ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZGF0ZUZpbGUiPnhtbFNjaGVtYVZhbGlkYXRlRmlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0U2V0Q2FjaGUiPnhtbFhQYXRoQ29udGV4dFNldENhY2hlPC9hPjxiciAvPgorPC9kZD48ZHQ+Y3VzdG9tPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBBZG9wdE5vZGUiPnhtbERPTVdyYXBBZG9wdE5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcENsb25lTm9kZSI+eG1sRE9NV3JhcENsb25lTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNhdmUuaHRtbCN4bWxTYXZlU2V0QXR0ckVzY2FwZSI+eG1sU2F2ZVNldEF0dHJFc2NhcGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzYXZlLmh0bWwjeG1sU2F2ZVNldEVzY2FwZSI+eG1sU2F2ZVNldEVzY2FwZTwvYT48YnIgLz4KKzwvZGQ+PC9kbD48aDIgYWxpZ249ImNlbnRlciI+PGEgaHJlZj0iQVBJY2h1bmswLmh0bWwiPkEtQjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMS5odG1sIj5DLUM8L2E+Cis8YSBocmVmPSJBUEljaHVuazIuaHRtbCI+RC1FPC9hPgorPGEgaHJlZj0iQVBJY2h1bmszLmh0bWwiPkYtSTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNC5odG1sIj5KLU48L2E+Cis8YSBocmVmPSJBUEljaHVuazUuaHRtbCI+Ty1QPC9hPgorPGEgaHJlZj0iQVBJY2h1bms2Lmh0bWwiPlEtUjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNy5odG1sIj5TLVM8L2E+Cis8YSBocmVmPSJBUEljaHVuazguaHRtbCI+VC1VPC9hPgorPGEgaHJlZj0iQVBJY2h1bms5Lmh0bWwiPlYtWDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTAuaHRtbCI+WS1hPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMS5odG1sIj5iLWI8L2E+Cis8YSBocmVmPSJBUEljaHVuazEyLmh0bWwiPmMtYzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTMuaHRtbCI+ZC1kPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNC5odG1sIj5lLWU8L2E+Cis8YSBocmVmPSJBUEljaHVuazE1Lmh0bWwiPmYtZjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTYuaHRtbCI+Zy1oPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNy5odG1sIj5pLWk8L2E+Cis8YSBocmVmPSJBUEljaHVuazE4Lmh0bWwiPmotbDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTkuaHRtbCI+bS1tPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMC5odG1sIj5uLW48L2E+Cis8YSBocmVmPSJBUEljaHVuazIxLmh0bWwiPm8tbzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjIuaHRtbCI+cC1wPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMy5odG1sIj5xLXI8L2E+Cis8YSBocmVmPSJBUEljaHVuazI0Lmh0bWwiPnMtczwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjUuaHRtbCI+dC10PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNi5odG1sIj51LXY8L2E+Cis8YSBocmVmPSJBUEljaHVuazI3Lmh0bWwiPnctdzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjguaHRtbCI+eC14PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyOS5odG1sIj55LXo8L2E+Cis8L2gyPjxwPjxhIGhyZWY9ImJ1Z3MuaHRtbCI+RGFuaWVsIFZlaWxsYXJkPC9hPjwvcD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvQVBJY2h1bmsxMy5odG1sIGIvbGlieG1sMi9kb2MvQVBJY2h1bmsxMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIxZjA2OWQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9BUEljaHVuazEzLmh0bWwKQEAgLTAsMCArMSw2ODEgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+PGxpbmsgcmVsPSJTSE9SVENVVCBJQ09OIiBocmVmPSIvZmF2aWNvbi5pY28iIC8+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK1REIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitCT0RZIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2E7IG1hcmdpbi10b3A6IDJlbTsgbWFyZ2luLWxlZnQ6IDBlbTsgbWFyZ2luLXJpZ2h0OiAwZW19CitIMSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDIge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gzIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitBOmxpbmssIEE6dmlzaXRlZCwgQTphY3RpdmUgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB9Cis8L3N0eWxlPjx0aXRsZT5BUEkgQWxwaGFiZXRpYyBJbmRleCBkLWQgZm9yIGxpYnhtbDI8L3RpdGxlPjwvaGVhZD48Ym9keSBiZ2NvbG9yPSIjOGI3NzY1IiB0ZXh0PSIjMDAwMDAwIiBsaW5rPSIjYTA2MDYwIiB2bGluaz0iIzAwMDAwMCI+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjEwMCUiIGNlbGxwYWRkaW5nPSI1IiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCB3aWR0aD0iMTIwIj48YSBocmVmPSJodHRwOi8vc3dwYXQuZmZpaS5vcmcvIj48aW1nIHNyYz0iZXBhdGVudHMucG5nIiBhbHQ9IkFjdGlvbiBhZ2FpbnN0IHNvZnR3YXJlIHBhdGVudHMiIC8+PC9hPjwvdGQ+PHRkIHdpZHRoPSIxODAiPjxhIGhyZWY9Imh0dHA6Ly93d3cuZ25vbWUub3JnLyI+PGltZyBzcmM9Imdub21lMi5wbmciIGFsdD0iR25vbWUyIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1N0YXR1cyI+PGltZyBzcmM9InczYy5wbmciIGFsdD0iVzNDIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cucmVkaGF0LmNvbS8iPjxpbWcgc3JjPSJyZWRoYXQuZ2lmIiBhbHQ9IlJlZCBIYXQgTG9nbyIgLz48L2E+PGRpdiBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnLyI+PGltZyBzcmM9IkxpYnhtbDItTG9nby0xODB4MTY4LmdpZiIgYWx0PSJNYWRlIHdpdGggTGlieG1sMiBMb2dvIiAvPjwvYT48L2Rpdj48L3RkPjx0ZD48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iOTAlIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyIgYmdjb2xvcj0iI2ZmZmFjZCI+PHRyPjx0ZCBhbGlnbj0iY2VudGVyIj48aDE+VGhlIFhNTCBDIHBhcnNlciBhbmQgdG9vbGtpdCBvZiBHbm9tZTwvaDE+PGgyPkFQSSBBbHBoYWJldGljIEluZGV4IGQtZCBmb3IgbGlieG1sMjwvaDI+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjQiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiIHdpZHRoPSIxMDAlIj48dHI+PHRkIHZhbGlnbj0idG9wIiB3aWR0aD0iMjAwIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5EZXZlbG9wZXIgTWVudTwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48Zm9ybSBhY3Rpb249InNlYXJjaC5waHAiIGVuY3R5cGU9ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIgbWV0aG9kPSJnZXQiPjxpbnB1dCBuYW1lPSJxdWVyeSIgdHlwZT0idGV4dCIgc2l6ZT0iMjAiIHZhbHVlPSIiIC8+PGlucHV0IG5hbWU9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU2VhcmNoIC4uLiIgLz48L2Zvcm0+PHVsPjxsaT48YSBocmVmPSJpbmRleC5odG1sIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+TWFpbiBNZW51PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0bWwvaW5kZXguaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPlJlZmVyZW5jZSBNYW51YWw8L2E+PC9saT48bGk+PGEgaHJlZj0iZXhhbXBsZXMvaW5kZXguaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPkNvZGUgRXhhbXBsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iZ3VpZGVsaW5lcy5odG1sIj5YTUwgR3VpZGVsaW5lczwvYT48L2xpPjxsaT48YSBocmVmPSJ0dXRvcmlhbC9pbmRleC5odG1sIj5UdXRvcmlhbDwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWxyZWFkZXIuaHRtbCI+VGhlIFJlYWRlciBJbnRlcmZhY2U8L2E+PC9saT48bGk+PGEgaHJlZj0iQ2hhbmdlTG9nLmh0bWwiPkNoYW5nZUxvZzwvYT48L2xpPjxsaT48YSBocmVmPSJYU0xULmh0bWwiPlhTTFQ8L2E+PC9saT48bGk+PGEgaHJlZj0icHl0aG9uLmh0bWwiPlB5dGhvbiBhbmQgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iYXJjaGl0ZWN0dXJlLmh0bWwiPmxpYnhtbDIgYXJjaGl0ZWN0dXJlPC9hPjwvbGk+PGxpPjxhIGhyZWY9InRyZWUuaHRtbCI+VGhlIHRyZWUgb3V0cHV0PC9hPjwvbGk+PGxpPjxhIGhyZWY9ImludGVyZmFjZS5odG1sIj5UaGUgU0FYIGludGVyZmFjZTwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWxtZW0uaHRtbCI+TWVtb3J5IE1hbmFnZW1lbnQ8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1saW8uaHRtbCI+SS9PIEludGVyZmFjZXM8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlicmFyeS5odG1sIj5UaGUgcGFyc2VyIGludGVyZmFjZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iZW50aXRpZXMuaHRtbCI+RW50aXRpZXMgb3Igbm8gZW50aXRpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0ibmFtZXNwYWNlcy5odG1sIj5OYW1lc3BhY2VzPC9hPjwvbGk+PGxpPjxhIGhyZWY9InVwZ3JhZGUuaHRtbCI+VXBncmFkaW5nIDEueCBjb2RlPC9hPjwvbGk+PGxpPjxhIGhyZWY9InRocmVhZHMuaHRtbCI+VGhyZWFkIHNhZmV0eTwvYT48L2xpPjxsaT48YSBocmVmPSJET00uaHRtbCI+RE9NIFByaW5jaXBsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iZXhhbXBsZS5odG1sIj5BIHJlYWwgZXhhbXBsZTwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWwuaHRtbCI+ZmxhdCBwYWdlPC9hPiwgPGEgaHJlZj0ic2l0ZS54c2wiPnN0eWxlc2hlZXQ8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5BUEkgSW5kZXhlczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9IkFQSWNodW5rMC5odG1sIj5BbHBoYWJldGljPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkFQSWNvbnN0cnVjdG9ycy5odG1sIj5Db25zdHJ1Y3RvcnM8L2E+PC9saT48bGk+PGEgaHJlZj0iQVBJZnVuY3Rpb25zLmh0bWwiPkZ1bmN0aW9ucy9UeXBlczwvYT48L2xpPjxsaT48YSBocmVmPSJBUElmaWxlcy5odG1sIj5Nb2R1bGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkFQSXN5bWJvbHMuaHRtbCI+U3ltYm9sczwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPlJlbGF0ZWQgbGlua3M8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSJodHRwOi8vbWFpbC5nbm9tZS5vcmcvYXJjaGl2ZXMveG1sLyI+TWFpbCBhcmNoaXZlPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9YU0xULyI+WFNMVCBsaWJ4c2x0PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9waGQuY3MudW5pYm8uaXQvZ2RvbWUyLyI+RE9NIGdkb21lMjwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmFsZWtzZXkuY29tL3htbHNlYy8iPlhNTC1EU2lnIHhtbHNlYzwvYT48L2xpPjxsaT48YSBocmVmPSJmdHA6Ly94bWxzb2Z0Lm9yZy8iPkZUUDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnpsYXRrb3ZpYy5jb20vcHJvamVjdHMvbGlieG1sLyI+V2luZG93cyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vb3BlbmNzdy5vcmcvcGFja2FnZXMvbGlieG1sMiI+U29sYXJpcyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmV4cGxhaW4uY29tLmF1L29zcy9saWJ4bWwyeHNsdC5odG1sIj5NYWNPc1ggYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2x4bWwuZGUvIj5seG1sIFB5dGhvbiBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vY3Bhbi51d2lubmlwZWcuY2EvZGlzdC9YTUwtTGliWE1MIj5QZXJsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWxwbHVzcGx1cy5zb3VyY2Vmb3JnZS5uZXQvIj5DKysgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56ZW5kLmNvbS9waHA1L2FydGljbGVzL3BocDUteG1scGhwLnBocCNIZWFkaW5nNCI+UEhQIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbGlieG1sMi1wYXMvIj5QYXNjYWwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbC5ydWJ5Zm9yZ2Uub3JnLyI+UnVieSBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vdGNseG1sLnNvdXJjZWZvcmdlLm5ldC8iPlRjbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2J1Z2xpc3QuY2dpP3Byb2R1Y3Q9bGlieG1sMiI+QnVnIFRyYWNrZXI8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48aDIgYWxpZ249ImNlbnRlciI+PGEgaHJlZj0iQVBJY2h1bmswLmh0bWwiPkEtQjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMS5odG1sIj5DLUM8L2E+Cis8YSBocmVmPSJBUEljaHVuazIuaHRtbCI+RC1FPC9hPgorPGEgaHJlZj0iQVBJY2h1bmszLmh0bWwiPkYtSTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNC5odG1sIj5KLU48L2E+Cis8YSBocmVmPSJBUEljaHVuazUuaHRtbCI+Ty1QPC9hPgorPGEgaHJlZj0iQVBJY2h1bms2Lmh0bWwiPlEtUjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNy5odG1sIj5TLVM8L2E+Cis8YSBocmVmPSJBUEljaHVuazguaHRtbCI+VC1VPC9hPgorPGEgaHJlZj0iQVBJY2h1bms5Lmh0bWwiPlYtWDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTAuaHRtbCI+WS1hPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMS5odG1sIj5iLWI8L2E+Cis8YSBocmVmPSJBUEljaHVuazEyLmh0bWwiPmMtYzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTMuaHRtbCI+ZC1kPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNC5odG1sIj5lLWU8L2E+Cis8YSBocmVmPSJBUEljaHVuazE1Lmh0bWwiPmYtZjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTYuaHRtbCI+Zy1oPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNy5odG1sIj5pLWk8L2E+Cis8YSBocmVmPSJBUEljaHVuazE4Lmh0bWwiPmotbDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTkuaHRtbCI+bS1tPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMC5odG1sIj5uLW48L2E+Cis8YSBocmVmPSJBUEljaHVuazIxLmh0bWwiPm8tbzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjIuaHRtbCI+cC1wPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMy5odG1sIj5xLXI8L2E+Cis8YSBocmVmPSJBUEljaHVuazI0Lmh0bWwiPnMtczwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjUuaHRtbCI+dC10PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNi5odG1sIj51LXY8L2E+Cis8YSBocmVmPSJBUEljaHVuazI3Lmh0bWwiPnctdzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjguaHRtbCI+eC14PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyOS5odG1sIj55LXo8L2E+Cis8L2gyPjxoMj5MZXR0ZXIgZDo8L2gyPjxkbD48ZHQ+ZGFuZ2Vyb3VzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckN1cnJlbnROb2RlIj54bWxUZXh0UmVhZGVyQ3VycmVudE5vZGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5kYXRhLXR5cGU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFDb3B5VmFsdWUiPnhtbFNjaGVtYUNvcHlWYWx1ZTwvYT48YnIgLz4KKzwvZGQ+PGR0PmRhdGF0eXBlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hR2V0QnVpbHRJbkxpc3RTaW1wbGVUeXBlSXRlbVR5cGUiPnhtbFNjaGVtYUdldEJ1aWx0SW5MaXN0U2ltcGxlVHlwZUl0ZW1UeXBlPC9hPjxiciAvPgorPC9kZD48ZHQ+ZGF5PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI2Z0cExpc3RDYWxsYmFjayI+ZnRwTGlzdENhbGxiYWNrPC9hPjxiciAvPgorPC9kZD48ZHQ+ZGF5Om1pbnV0ZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCNmdHBMaXN0Q2FsbGJhY2siPmZ0cExpc3RDYWxsYmFjazwvYT48YnIgLz4KKzwvZGQ+PGR0PmRlLWNvdXBsZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlRHRkIj54bWxWYWxpZGF0ZUR0ZDwvYT48YnIgLz4KKzwvZGQ+PGR0PmRlYWN0aXZhdGVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclJlbGF4TkdTZXRTY2hlbWEiPnhtbFRleHRSZWFkZXJSZWxheE5HU2V0U2NoZW1hPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZSI+eG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJSZWxheE5HVmFsaWRhdGVDdHh0Ij54bWxUZXh0UmVhZGVyUmVsYXhOR1ZhbGlkYXRlQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZSI+eG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlQ3R4dCI+eG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJTZXRTY2hlbWEiPnhtbFRleHRSZWFkZXJTZXRTY2hlbWE8L2E+PGJyIC8+Cis8L2RkPjxkdD5kZWFsbG9jYXRlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjX3htbFBhcnNlcklucHV0Ij5feG1sUGFyc2VySW5wdXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxDbGVhbnVwUGFyc2VyIj54bWxDbGVhbnVwUGFyc2VyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sRGVjb2RlRW50aXRpZXMiPnhtbERlY29kZUVudGl0aWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3REZWFsbG9jYXRvciI+eG1sTGlzdERlYWxsb2NhdG9yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VySW5wdXREZWFsbG9jYXRlIj54bWxQYXJzZXJJbnB1dERlYWxsb2NhdGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxTdHJpbmdEZWNvZGVFbnRpdGllcyI+eG1sU3RyaW5nRGVjb2RlRW50aXRpZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxTdHJpbmdMZW5EZWNvZGVFbnRpdGllcyI+eG1sU3RyaW5nTGVuRGVjb2RlRW50aXRpZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoRnJlZU5vZGVTZXRMaXN0Ij54bWxYUGF0aEZyZWVOb2RlU2V0TGlzdDwvYT48YnIgLz4KKzwvZGQ+PGR0PmRlYWxsb2NhdGVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtZGljdC5odG1sI3htbERpY3RGcmVlIj54bWxEaWN0RnJlZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjeG1sRW5jb2RlRW50aXRpZXNSZWVudHJhbnQiPnhtbEVuY29kZUVudGl0aWVzUmVlbnRyYW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxFbmNvZGVTcGVjaWFsQ2hhcnMiPnhtbEVuY29kZVNwZWNpYWxDaGFyczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEdldEZlYXR1cmVzTGlzdCI+eG1sR2V0RmVhdHVyZXNMaXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hGcmVlIj54bWxIYXNoRnJlZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbE5ld1RleHRXcml0ZXIiPnhtbE5ld1RleHRXcml0ZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdFeGVjRXJySW5mbyI+eG1sUmVnRXhlY0VyckluZm88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdFeGVjTmV4dFZhbHVlcyI+eG1sUmVnRXhlY05leHRWYWx1ZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxTYXZlVXJpIj54bWxTYXZlVXJpPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckNvbnN0QmFzZVVyaSI+eG1sVGV4dFJlYWRlckNvbnN0QmFzZVVyaTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJDb25zdEVuY29kaW5nIj54bWxUZXh0UmVhZGVyQ29uc3RFbmNvZGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJDb25zdExvY2FsTmFtZSI+eG1sVGV4dFJlYWRlckNvbnN0TG9jYWxOYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckNvbnN0TmFtZSI+eG1sVGV4dFJlYWRlckNvbnN0TmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJDb25zdE5hbWVzcGFjZVVyaSI+eG1sVGV4dFJlYWRlckNvbnN0TmFtZXNwYWNlVXJpPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckNvbnN0UHJlZml4Ij54bWxUZXh0UmVhZGVyQ29uc3RQcmVmaXg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyQ29uc3RTdHJpbmciPnhtbFRleHRSZWFkZXJDb25zdFN0cmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJDb25zdFZhbHVlIj54bWxUZXh0UmVhZGVyQ29uc3RWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJDb25zdFhtbFZlcnNpb24iPnhtbFRleHRSZWFkZXJDb25zdFhtbFZlcnNpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlIj54bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZU5vIj54bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlTm88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlTnMiPnhtbFRleHRSZWFkZXJHZXRBdHRyaWJ1dGVOczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJMb29rdXBOYW1lc3BhY2UiPnhtbFRleHRSZWFkZXJMb29rdXBOYW1lc3BhY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUmVhZElubmVyWG1sIj54bWxUZXh0UmVhZGVyUmVhZElubmVyWG1sPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclJlYWRPdXRlclhtbCI+eG1sVGV4dFJlYWRlclJlYWRPdXRlclhtbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJSZWFkU3RyaW5nIj54bWxUZXh0UmVhZGVyUmVhZFN0cmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJSZWxheE5HU2V0U2NoZW1hIj54bWxUZXh0UmVhZGVyUmVsYXhOR1NldFNjaGVtYTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJTZXRTY2hlbWEiPnhtbFRleHRSZWFkZXJTZXRTY2hlbWE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyVmFsdWUiPnhtbFRleHRSZWFkZXJWYWx1ZTwvYT48YnIgLz4KKzwvZGQ+PGR0PmRlYWxsb2NhdGlvbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0UmVtb3ZlQWxsIj54bWxMaXN0UmVtb3ZlQWxsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3RSZW1vdmVGaXJzdCI+eG1sTGlzdFJlbW92ZUZpcnN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3RSZW1vdmVMYXN0Ij54bWxMaXN0UmVtb3ZlTGFzdDwvYT48YnIgLz4KKzwvZGQ+PGR0PmRlYWxsb2NhdG9yPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hGcmVlIj54bWxIYXNoRnJlZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoUmVtb3ZlRW50cnkiPnhtbEhhc2hSZW1vdmVFbnRyeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoUmVtb3ZlRW50cnkyIj54bWxIYXNoUmVtb3ZlRW50cnkyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hSZW1vdmVFbnRyeTMiPnhtbEhhc2hSZW1vdmVFbnRyeTM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFVwZGF0ZUVudHJ5Ij54bWxIYXNoVXBkYXRlRW50cnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFVwZGF0ZUVudHJ5MiI+eG1sSGFzaFVwZGF0ZUVudHJ5MjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoVXBkYXRlRW50cnkzIj54bWxIYXNoVXBkYXRlRW50cnkzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3RDcmVhdGUiPnhtbExpc3RDcmVhdGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5kZWJ1ZzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI0RFQlVHX01FTU9SWSI+REVCVUdfTUVNT1JZPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dTZXREZWJ1ZyI+eG1sQ2F0YWxvZ1NldERlYnVnPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxEZWJ1Z0R1bXBBdHRyIj54bWxEZWJ1Z0R1bXBBdHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxEZWJ1Z0R1bXBBdHRyTGlzdCI+eG1sRGVidWdEdW1wQXR0ckxpc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbERlYnVnRHVtcERURCI+eG1sRGVidWdEdW1wRFREPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxEZWJ1Z0R1bXBEb2N1bWVudCI+eG1sRGVidWdEdW1wRG9jdW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbERlYnVnRHVtcERvY3VtZW50SGVhZCI+eG1sRGVidWdEdW1wRG9jdW1lbnRIZWFkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxEZWJ1Z0R1bXBFbnRpdGllcyI+eG1sRGVidWdEdW1wRW50aXRpZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbERlYnVnRHVtcE5vZGUiPnhtbERlYnVnRHVtcE5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbERlYnVnRHVtcE5vZGVMaXN0Ij54bWxEZWJ1Z0R1bXBOb2RlTGlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sRGVidWdEdW1wT25lTm9kZSI+eG1sRGVidWdEdW1wT25lTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ2V4cFByaW50Ij54bWxSZWdleHBQcmludDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sU25wcmludGZFbGVtZW50Q29udGVudCI+eG1sU25wcmludGZFbGVtZW50Q29udGVudDwvYT48YnIgLz4KKzwvZGQ+PGR0PmRlYnVnZ2luZzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI0RFQlVHX01FTU9SWSI+REVCVUdfTUVNT1JZPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0RFQlVHX01FTU9SWV9MT0NBVElPTiI+REVCVUdfTUVNT1JZX0xPQ0FUSU9OPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9ERUJVR19SVU5USU1FIj5MSUJYTUxfREVCVUdfUlVOVElNRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nU2V0RGVidWciPnhtbENhdGFsb2dTZXREZWJ1ZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhEZWJ1Z0R1bXBPYmplY3QiPnhtbFhQYXRoRGVidWdEdW1wT2JqZWN0PC9hPjxiciAvPgorPC9kZD48ZHQ+ZGVjaW1hbDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdHJpbmdGdW5jdGlvbiI+eG1sWFBhdGhTdHJpbmdGdW5jdGlvbjwvYT48YnIgLz4KKzwvZGQ+PGR0PmRlY2w8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfRUxFTV9JTlRFUk5BTF9DSEVDS0VEIj5YTUxfU0NIRU1BU19FTEVNX0lOVEVSTkFMX0NIRUNLRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEFkZEF0dHJpYnV0ZURlY2wiPnhtbEFkZEF0dHJpYnV0ZURlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbE5ld0RvY0VsZW1lbnRDb250ZW50Ij54bWxOZXdEb2NFbGVtZW50Q29udGVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sTmV3RWxlbWVudENvbnRlbnQiPnhtbE5ld0VsZW1lbnRDb250ZW50PC9hPjxiciAvPgorPC9kZD48ZHQ+ZGVjbGFyYXRpb25zPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCNfeG1sWFBhdGhDb250ZXh0Ij5feG1sWFBhdGhDb250ZXh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxQYXJzZUNoYXJSZWYiPmh0bWxQYXJzZUNoYXJSZWY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNzdGFydEVsZW1lbnROc1NBWDJGdW5jIj5zdGFydEVsZW1lbnROc1NBWDJGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VDaGFyUmVmIj54bWxQYXJzZUNoYXJSZWY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVudGl0eURlY2wiPnhtbFBhcnNlRW50aXR5RGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRW50aXR5UmVmIj54bWxQYXJzZUVudGl0eVJlZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRW50aXR5VmFsdWUiPnhtbFBhcnNlRW50aXR5VmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUV4dGVybmFsU3Vic2V0Ij54bWxQYXJzZUV4dGVybmFsU3Vic2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VNYXJrdXBEZWNsIj54bWxQYXJzZU1hcmt1cERlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZVBFUmVmZXJlbmNlIj54bWxQYXJzZVBFUmVmZXJlbmNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VTRERlY2wiPnhtbFBhcnNlU0REZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFJlY29uY2lsaWF0ZU5zIj54bWxSZWNvbmNpbGlhdGVOczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyU3RhcnRFbGVtZW50TnMiPnhtbFNBWDJTdGFydEVsZW1lbnROczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdERURCI+eG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFREPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERURCI+eG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERURDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVOb3RhdGlvbkRlY2wiPnhtbFZhbGlkYXRlTm90YXRpb25EZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyQnVpbGROb2RlTGlzdCI+eG1sWFB0ckJ1aWxkTm9kZUxpc3Q8L2E+PGJyIC8+Cis8L2RkPjxkdD5kZWNsYXJlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbnRpdHlSZWYiPnhtbFBhcnNlRW50aXR5UmVmPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VySGFuZGxlUmVmZXJlbmNlIj54bWxQYXJzZXJIYW5kbGVSZWZlcmVuY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2VhcmNoTnMiPnhtbFNlYXJjaE5zPC9hPjxiciAvPgorPC9kZD48ZHQ+ZGVjbGFyZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjX3htbEVsZW1lbnQiPl94bWxFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjX3htbFBhcnNlckN0eHQiPl94bWxQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VBdHRWYWx1ZSI+eG1sUGFyc2VBdHRWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQXR0cmlidXRlIj54bWxQYXJzZUF0dHJpYnV0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQXR0cmlidXRlVHlwZSI+eG1sUGFyc2VBdHRyaWJ1dGVUeXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VEZWZhdWx0RGVjbCI+eG1sUGFyc2VEZWZhdWx0RGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRWxlbWVudERlY2wiPnhtbFBhcnNlRWxlbWVudERlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVudGl0eURlY2wiPnhtbFBhcnNlRW50aXR5RGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRW50aXR5UmVmIj54bWxQYXJzZUVudGl0eVJlZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlTmFtZXNwYWNlIj54bWxQYXJzZU5hbWVzcGFjZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlTm90YXRpb25UeXBlIj54bWxQYXJzZU5vdGF0aW9uVHlwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxSZWNvbmNpbGlhdGVOcyI+eG1sUmVjb25jaWxpYXRlTnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyU3RhbmRhbG9uZSI+eG1sVGV4dFJlYWRlclN0YW5kYWxvbmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkQ3R4dE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlIj54bWxWYWxpZEN0eHROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZSI+eG1sVmFsaWROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZTwvYT48YnIgLz4KKzwvZGQ+PGR0PmRlY2xhcmluZzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sR2V0SUQiPnhtbEdldElEPC9hPjxiciAvPgorPC9kZD48ZHQ+ZGVjb2RlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sRGVjb2RlRW50aXRpZXMiPnhtbERlY29kZUVudGl0aWVzPC9hPjxiciAvPgorPC9kZD48ZHQ+ZGVmPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VBdHRyaWJ1dGVMaXN0RGVjbCI+eG1sUGFyc2VBdHRyaWJ1dGVMaXN0RGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQXR0cmlidXRlVHlwZSI+eG1sUGFyc2VBdHRyaWJ1dGVUeXBlPC9hPjxiciAvPgorPC9kZD48ZHQ+ZGVmYXVsdGVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX0NPTVBMRVRFX0FUVFJTIj5YTUxfQ09NUExFVEVfQVRUUlM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNfeG1sUGFyc2VyQ3R4dCI+X3htbFBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNzdGFydEVsZW1lbnROc1NBWDJGdW5jIj5zdGFydEVsZW1lbnROc1NBWDJGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJTdGFydEVsZW1lbnROcyI+eG1sU0FYMlN0YXJ0RWxlbWVudE5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlcklzRGVmYXVsdCI+eG1sVGV4dFJlYWRlcklzRGVmYXVsdDwvYT48YnIgLz4KKzwvZGQ+PGR0PmRlZmF1bHRleHRlcm5hbDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNldEV4dGVybmFsRW50aXR5TG9hZGVyIj54bWxTZXRFeHRlcm5hbEVudGl0eUxvYWRlcjwvYT48YnIgLz4KKzwvZGQ+PGR0PmRlZmF1bHRzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbCI+eG1sU2hlbGw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTG9jYWxOYW1lRnVuY3Rpb24iPnhtbFhQYXRoTG9jYWxOYW1lRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmFtZXNwYWNlVVJJRnVuY3Rpb24iPnhtbFhQYXRoTmFtZXNwYWNlVVJJRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9ybWFsaXplRnVuY3Rpb24iPnhtbFhQYXRoTm9ybWFsaXplRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU3RyaW5nRnVuY3Rpb24iPnhtbFhQYXRoU3RyaW5nRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU3RyaW5nTGVuZ3RoRnVuY3Rpb24iPnhtbFhQYXRoU3RyaW5nTGVuZ3RoRnVuY3Rpb248L2E+PGJyIC8+Cis8L2RkPjxkdD5kZWZpbmU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCNERUJVR19NRU1PUlkiPkRFQlVHX01FTU9SWTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCNYTUxfQ0FTVF9GUFRSIj5YTUxfQ0FTVF9GUFRSPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sSGFuZGxlRW50aXR5Ij54bWxIYW5kbGVFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFHZXRDYW5vblZhbHVlIj54bWxTY2hlbWFHZXRDYW5vblZhbHVlPC9hPjxiciAvPgorPC9kZD48ZHQ+ZGVmaW5lZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNXSVRIT1VUX1RSSU8iPldJVEhPVVRfVFJJTzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNXSVRIX1RSSU8iPldJVEhfVFJJTzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjX3htbFhQYXRoQ29udGV4dCI+X3htbFhQYXRoQ29udGV4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxHZXROc0xpc3QiPnhtbEdldE5zTGlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbEhhbmRsZUVudGl0eSI+eG1sSGFuZGxlRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxOZXdFbnRpdHkiPnhtbE5ld0VudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdOcyI+eG1sTmV3TnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUdldEJhc2UiPnhtbE5vZGVHZXRCYXNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5Ij54bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlSZWNvdmVyIj54bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlSZWNvdmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbGVtZW50Q29udGVudERlY2wiPnhtbFBhcnNlRWxlbWVudENvbnRlbnREZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VJbk5vZGVDb250ZXh0Ij54bWxQYXJzZUluTm9kZUNvbnRleHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFHZXRCdWlsdEluTGlzdFNpbXBsZVR5cGVJdGVtVHlwZSI+eG1sU2NoZW1hR2V0QnVpbHRJbkxpc3RTaW1wbGVUeXBlSXRlbVR5cGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2VhcmNoTnMiPnhtbFNlYXJjaE5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNlYXJjaE5zQnlIcmVmIj54bWxTZWFyY2hOc0J5SHJlZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJJc0RlZmF1bHQiPnhtbFRleHRSZWFkZXJJc0RlZmF1bHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkR2V0VmFsaWRFbGVtZW50cyI+eG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZUR0ZEZpbmFsIj54bWxWYWxpZGF0ZUR0ZEZpbmFsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHRBbmNlc3Rvck9yU2VsZiI+eG1sWFBhdGhOZXh0QW5jZXN0b3JPclNlbGY8L2E+PGJyIC8+Cis8L2RkPjxkdD5kZWZpbmluZzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhpbmNsdWRlLmh0bWwjWElOQ0xVREVfRkFMTEJBQ0siPlhJTkNMVURFX0ZBTExCQUNLPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGluY2x1ZGUuaHRtbCNYSU5DTFVERV9IUkVGIj5YSU5DTFVERV9IUkVGPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGluY2x1ZGUuaHRtbCNYSU5DTFVERV9OT0RFIj5YSU5DTFVERV9OT0RFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGluY2x1ZGUuaHRtbCNYSU5DTFVERV9OUyI+WElOQ0xVREVfTlM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14aW5jbHVkZS5odG1sI1hJTkNMVURFX09MRF9OUyI+WElOQ0xVREVfT0xEX05TPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGluY2x1ZGUuaHRtbCNYSU5DTFVERV9QQVJTRSI+WElOQ0xVREVfUEFSU0U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14aW5jbHVkZS5odG1sI1hJTkNMVURFX1BBUlNFX0VOQ09ESU5HIj5YSU5DTFVERV9QQVJTRV9FTkNPRElORzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhpbmNsdWRlLmh0bWwjWElOQ0xVREVfUEFSU0VfVEVYVCI+WElOQ0xVREVfUEFSU0VfVEVYVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhpbmNsdWRlLmh0bWwjWElOQ0xVREVfUEFSU0VfWE1MIj5YSU5DTFVERV9QQVJTRV9YTUw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14aW5jbHVkZS5odG1sI1hJTkNMVURFX1BBUlNFX1hQT0lOVEVSIj5YSU5DTFVERV9QQVJTRV9YUE9JTlRFUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sR2V0SUQiPnhtbEdldElEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFJlY29uY2lsaWF0ZU5zIj54bWxSZWNvbmNpbGlhdGVOczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxEdSI+eG1sU2hlbGxEdTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJDb25zdE5hbWVzcGFjZVVyaSI+eG1sVGV4dFJlYWRlckNvbnN0TmFtZXNwYWNlVXJpPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlck5hbWVzcGFjZVVyaSI+eG1sVGV4dFJlYWRlck5hbWVzcGFjZVVyaTwvYT48YnIgLz4KKzwvZGQ+PGR0PmRlZmluaXRpb25zPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI194bWxOb2RlIj5feG1sTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3N0YXJ0RWxlbWVudE5zU0FYMkZ1bmMiPnN0YXJ0RWxlbWVudE5zU0FYMkZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sTG9hZENhdGFsb2ciPnhtbExvYWRDYXRhbG9nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbExvYWRDYXRhbG9ncyI+eG1sTG9hZENhdGFsb2dzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbFBhdHRlcm5jb21waWxlIj54bWxQYXR0ZXJuY29tcGlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyU3RhcnRFbGVtZW50TnMiPnhtbFNBWDJTdGFydEVsZW1lbnROczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQcmVzZXJ2ZVBhdHRlcm4iPnhtbFRleHRSZWFkZXJQcmVzZXJ2ZVBhdHRlcm48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlRHRkIj54bWxWYWxpZGF0ZUR0ZDwvYT48YnIgLz4KKzwvZGQ+PGR0PmRlZnM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjX3htbFNjaGVtYSI+X3htbFNjaGVtYTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNfeG1sU2NoZW1hRWxlbWVudCI+X3htbFNjaGVtYUVsZW1lbnQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5kZWxheWVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRCdWZmZXJXcml0ZSI+eG1sT3V0cHV0QnVmZmVyV3JpdGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dEJ1ZmZlcldyaXRlRXNjYXBlIj54bWxPdXRwdXRCdWZmZXJXcml0ZUVzY2FwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmciPnhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nPC9hPjxiciAvPgorPC9kZD48ZHQ+ZGVsZWdhdGlvbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nU2V0RGVmYXVsdFByZWZlciI+eG1sQ2F0YWxvZ1NldERlZmF1bHRQcmVmZXI8L2E+PGJyIC8+Cis8L2RkPjxkdD5kZWxldGU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUERlbGUiPnhtbE5hbm9GVFBEZWxlPC9hPjxiciAvPgorPC9kZD48ZHQ+ZGVsZXRpb248L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ1NldERlZmF1bHRQcmVmZXIiPnhtbENhdGFsb2dTZXREZWZhdWx0UHJlZmVyPC9hPjxiciAvPgorPC9kZD48ZHQ+ZGVwZW5kYW50PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHRTZXRDYWNoZSI+eG1sWFBhdGhDb250ZXh0U2V0Q2FjaGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5kZXBlbmRpbmc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbElzSUQiPnhtbElzSUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbElzUmVmIj54bWxJc1JlZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0RGF0YUNvbXBhcmUiPnhtbExpc3REYXRhQ29tcGFyZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlUmVmZXJlbmNlIj54bWxQYXJzZVJlZmVyZW5jZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhFcXVhbFZhbHVlcyI+eG1sWFBhdGhFcXVhbFZhbHVlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhMYW5nRnVuY3Rpb24iPnhtbFhQYXRoTGFuZ0Z1bmN0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vdEVxdWFsVmFsdWVzIj54bWxYUGF0aE5vdEVxdWFsVmFsdWVzPC9hPjxiciAvPgorPC9kZD48ZHQ+ZGVwcmVjYXRlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfTEVHQUNZX0VOQUJMRUQiPkxJQlhNTF9MRUdBQ1lfRU5BQkxFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNfaHRtbEVsZW1EZXNjIj5faHRtbEVsZW1EZXNjPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjX3htbFVSSSI+X3htbFVSSTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sQXR0ckFsbG93ZWQiPmh0bWxBdHRyQWxsb3dlZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sRWxlbWVudEFsbG93ZWRIZXJlIj5odG1sRWxlbWVudEFsbG93ZWRIZXJlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxFbGVtZW50U3RhdHVzSGVyZSI+aHRtbEVsZW1lbnRTdGF0dXNIZXJlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxOb2RlU3RhdHVzIj5odG1sTm9kZVN0YXR1czwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbENoZWNrTGFuZ3VhZ2VJRCI+eG1sQ2hlY2tMYW5ndWFnZUlEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxDcmVhdGVFbnRpdGllc1RhYmxlIj54bWxDcmVhdGVFbnRpdGllc1RhYmxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sRGVjb2RlRW50aXRpZXMiPnhtbERlY29kZUVudGl0aWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGljdC5odG1sI3htbEluaXRpYWxpemVEaWN0Ij54bWxJbml0aWFsaXplRGljdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlRHVtcCI+eG1sTm9kZUR1bXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZXJIYW5kbGVSZWZlcmVuY2UiPnhtbFBhcnNlckhhbmRsZVJlZmVyZW5jZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlcklucHV0UmVhZCI+eG1sUGFyc2VySW5wdXRSZWFkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sU2Nhbk5hbWUiPnhtbFNjYW5OYW1lPC9hPjxiciAvPgorPC9kZD48ZHQ+ZGVwdGg8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNfeG1sUGFyc2VyQ3R4dCI+X3htbFBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI194bWxWYWxpZEN0eHQiPl94bWxWYWxpZEN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sUGF0dGVybk1heERlcHRoIj54bWxQYXR0ZXJuTWF4RGVwdGg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sUGF0dGVybk1pbkRlcHRoIj54bWxQYXR0ZXJuTWluRGVwdGg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyRGVwdGgiPnhtbFRleHRSZWFkZXJEZXB0aDwvYT48YnIgLz4KKzwvZGQ+PGR0PmRlcmVnaXN0cmF0aW9uPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbERlcmVnaXN0ZXJOb2RlRGVmYXVsdCI+eG1sRGVyZWdpc3Rlck5vZGVEZWZhdWx0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbERlcmVnaXN0ZXJOb2RlRnVuYyI+eG1sRGVyZWdpc3Rlck5vZGVGdW5jPC9hPjxiciAvPgorPC9kZD48ZHQ+ZGVyaXZhdGlvbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX0RFUklWQVRJT05fTUVUSE9EX0VYVEVOU0lPTiI+WE1MX1NDSEVNQVNfVFlQRV9ERVJJVkFUSU9OX01FVEhPRF9FWFRFTlNJT048L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVFlQRV9ERVJJVkFUSU9OX01FVEhPRF9SRVNUUklDVElPTiI+WE1MX1NDSEVNQVNfVFlQRV9ERVJJVkFUSU9OX01FVEhPRF9SRVNUUklDVElPTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cEV4cERlcml2ZSI+eG1sRXhwRXhwRGVyaXZlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwU3RyaW5nRGVyaXZlIj54bWxFeHBTdHJpbmdEZXJpdmU8L2E+PGJyIC8+Cis8L2RkPjxkdD5kZXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUmVsYXhOR1NldFNjaGVtYSI+eG1sVGV4dFJlYWRlclJlbGF4TkdTZXRTY2hlbWE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyU2V0U2NoZW1hIj54bWxUZXh0UmVhZGVyU2V0U2NoZW1hPC9hPjxiciAvPgorPC9kZD48ZHQ+ZGVzYWN0aXZhdGVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclJlbGF4TkdTZXRTY2hlbWEiPnhtbFRleHRSZWFkZXJSZWxheE5HU2V0U2NoZW1hPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclNldFNjaGVtYSI+eG1sVGV4dFJlYWRlclNldFNjaGVtYTwvYT48YnIgLz4KKzwvZGQ+PGR0PmRlc2NlbmQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcENsb25lTm9kZSI+eG1sRE9NV3JhcENsb25lTm9kZTwvYT48YnIgLz4KKzwvZGQ+PGR0PmRlc2NlbmRhbnQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV4dERlc2NlbmRhbnQiPnhtbFhQYXRoTmV4dERlc2NlbmRhbnQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5kZXNjZW5kYW50LW9yLXNlbGY8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV4dERlc2NlbmRhbnRPclNlbGYiPnhtbFhQYXRoTmV4dERlc2NlbmRhbnRPclNlbGY8L2E+PGJyIC8+Cis8L2RkPjxkdD5kZXNjZW5kYW50czwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXh0RGVzY2VuZGFudCI+eG1sWFBhdGhOZXh0RGVzY2VuZGFudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXh0RGVzY2VuZGFudE9yU2VsZiI+eG1sWFBhdGhOZXh0RGVzY2VuZGFudE9yU2VsZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXh0Rm9sbG93aW5nIj54bWxYUGF0aE5leHRGb2xsb3dpbmc8L2E+PGJyIC8+Cis8L2RkPjxkdD5kZXNjcmliZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sU3RyZWFtV2FudHNBbnlOb2RlIj54bWxTdHJlYW1XYW50c0FueU5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlQXR0cmlidXRlRGVjbCI+eG1sVmFsaWRhdGVBdHRyaWJ1dGVEZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZURvY3VtZW50Ij54bWxWYWxpZGF0ZURvY3VtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZURvY3VtZW50RmluYWwiPnhtbFZhbGlkYXRlRG9jdW1lbnRGaW5hbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVEdGRGaW5hbCI+eG1sVmFsaWRhdGVEdGRGaW5hbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVFbGVtZW50RGVjbCI+eG1sVmFsaWRhdGVFbGVtZW50RGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVOb3RhdGlvbkRlY2wiPnhtbFZhbGlkYXRlTm90YXRpb25EZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZU9uZUF0dHJpYnV0ZSI+eG1sVmFsaWRhdGVPbmVBdHRyaWJ1dGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlT25lRWxlbWVudCI+eG1sVmFsaWRhdGVPbmVFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZU9uZU5hbWVzcGFjZSI+eG1sVmFsaWRhdGVPbmVOYW1lc3BhY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlUm9vdCI+eG1sVmFsaWRhdGVSb290PC9hPjxiciAvPgorPC9kZD48ZHQ+ZGVzY3JpYmluZzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiUGFyc2VEb2MiPmRvY2JQYXJzZURvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiUGFyc2VGaWxlIj5kb2NiUGFyc2VGaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtRE9DQnBhcnNlci5odG1sI2RvY2JTQVhQYXJzZURvYyI+ZG9jYlNBWFBhcnNlRG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtRE9DQnBhcnNlci5odG1sI2RvY2JTQVhQYXJzZUZpbGUiPmRvY2JTQVhQYXJzZUZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNodG1sQ3JlYXRlRmlsZVBhcnNlckN0eHQiPmh0bWxDcmVhdGVGaWxlUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sUGFyc2VEb2MiPmh0bWxQYXJzZURvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sUGFyc2VGaWxlIj5odG1sUGFyc2VGaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxTQVhQYXJzZURvYyI+aHRtbFNBWFBhcnNlRG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxTQVhQYXJzZUZpbGUiPmh0bWxTQVhQYXJzZUZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbEZpbmRDaGFyRW5jb2RpbmdIYW5kbGVyIj54bWxGaW5kQ2hhckVuY29kaW5nSGFuZGxlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2wiPnhtbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVsZW1lbnRNaXhlZENvbnRlbnREZWNsIj54bWxQYXJzZUVsZW1lbnRNaXhlZENvbnRlbnREZWNsPC9hPjxiciAvPgorPC9kZD48ZHQ+ZGVzY3JpcHRpb248L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjX2h0bWxFbGVtRGVzYyI+X2h0bWxFbGVtRGVzYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNfaHRtbEVudGl0eURlc2MiPl9odG1sRW50aXR5RGVzYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sRWxlbWVudEFsbG93ZWRIZXJlRGVzYyI+aHRtbEVsZW1lbnRBbGxvd2VkSGVyZURlc2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbENvcHlEb2NFbGVtZW50Q29udGVudCI+eG1sQ29weURvY0VsZW1lbnRDb250ZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxDb3B5RWxlbWVudENvbnRlbnQiPnhtbENvcHlFbGVtZW50Q29udGVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sR2V0RHRkQXR0ckRlc2MiPnhtbEdldER0ZEF0dHJEZXNjPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxHZXREdGRFbGVtZW50RGVzYyI+eG1sR2V0RHRkRWxlbWVudERlc2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEdldER0ZE5vdGF0aW9uRGVzYyI+eG1sR2V0RHRkTm90YXRpb25EZXNjPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxHZXREdGRRQXR0ckRlc2MiPnhtbEdldER0ZFFBdHRyRGVzYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sR2V0RHRkUUVsZW1lbnREZXNjIj54bWxHZXREdGRRRWxlbWVudERlc2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbElzTWl4ZWRFbGVtZW50Ij54bWxJc01peGVkRWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlU2V0TGFuZyI+eG1sTm9kZVNldExhbmc8L2E+PGJyIC8+Cis8L2RkPjxkdD5kZXNjcmlwdG9yPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxDdHh0UmVhZEZkIj5odG1sQ3R4dFJlYWRGZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sUmVhZEZkIj5odG1sUmVhZEZkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ3R4dFJlYWRGZCI+eG1sQ3R4dFJlYWRGZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1lbURpc3BsYXkiPnhtbE1lbURpc3BsYXk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNZW1EaXNwbGF5TGFzdCI+eG1sTWVtRGlzcGxheUxhc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNZW1TaG93Ij54bWxNZW1TaG93PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRCdWZmZXJDcmVhdGVGZCI+eG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmQiPnhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxSZWFkRmQiPnhtbFJlYWRGZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFJlYWRlckZvckZkIj54bWxSZWFkZXJGb3JGZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFJlYWRlck5ld0ZkIj54bWxSZWFkZXJOZXdGZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNhdmUuaHRtbCN4bWxTYXZlVG9GZCI+eG1sU2F2ZVRvRmQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzYXZlLmh0bWwjeG1sU2F2ZVRvSU8iPnhtbFNhdmVUb0lPPC9hPjxiciAvPgorPC9kZD48ZHQ+ZGVzaWduZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZ091dHB1dEZ1bmMiPnhtbENoYXJFbmNvZGluZ091dHB1dEZ1bmM8L2E+PGJyIC8+Cis8L2RkPjxkdD5kZXNpcmVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlclJlc2l6ZSI+eG1sQnVmZmVyUmVzaXplPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxJT0hUVFBPcGVuVyI+eG1sSU9IVFRQT3Blblc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxVVEY4U3RybG9jIj54bWxVVEY4U3RybG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sVVRGOFN0cnBvcyI+eG1sVVRGOFN0cnBvczwvYT48YnIgLz4KKzwvZGQ+PGR0PmRlc3RpbmF0aW9uPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBBZG9wdE5vZGUiPnhtbERPTVdyYXBBZG9wdE5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcENsb25lTm9kZSI+eG1sRE9NV3JhcENsb25lTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sSU9IVFRQT3BlblciPnhtbElPSFRUUE9wZW5XPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sVVJJVW5lc2NhcGVTdHJpbmciPnhtbFVSSVVuZXNjYXBlU3RyaW5nPC9hPjxiciAvPgorPC9kZD48ZHQ+ZGVzdHJveTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJDdXJyZW50RG9jIj54bWxUZXh0UmVhZGVyQ3VycmVudERvYzwvYT48YnIgLz4KKzwvZGQ+PGR0PmRlc3Ryb3llZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxBZGRDaGlsZCI+eG1sQWRkQ2hpbGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQWRkTmV4dFNpYmxpbmciPnhtbEFkZE5leHRTaWJsaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEFkZFByZXZTaWJsaW5nIj54bWxBZGRQcmV2U2libGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJDdXJyZW50Tm9kZSI+eG1sVGV4dFJlYWRlckN1cnJlbnROb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclNldHVwIj54bWxUZXh0UmVhZGVyU2V0dXA8L2E+PGJyIC8+Cis8L2RkPjxkdD5kZXN0cnVjdGlvbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxEZXJlZ2lzdGVyTm9kZURlZmF1bHQiPnhtbERlcmVnaXN0ZXJOb2RlRGVmYXVsdDwvYT48YnIgLz4KKzwvZGQ+PGR0PmRldGFpbHM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1jMTRuLmh0bWwjeG1sQzE0TkRvY0R1bXBNZW1vcnkiPnhtbEMxNE5Eb2NEdW1wTWVtb3J5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtYzE0bi5odG1sI3htbEMxNE5Eb2NTYXZlIj54bWxDMTRORG9jU2F2ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTRORG9jU2F2ZVRvIj54bWxDMTRORG9jU2F2ZVRvPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtYzE0bi5odG1sI3htbEMxNE5FeGVjdXRlIj54bWxDMTRORXhlY3V0ZTwvYT48YnIgLz4KKzwvZGQ+PGR0PmRldGVjdDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhsaW5rLmh0bWwjeGxpbmtJc0xpbmsiPnhsaW5rSXNMaW5rPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQiPnhtbENyZWF0ZVB1c2hQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxJbnB1dE1hdGNoQ2FsbGJhY2siPnhtbElucHV0TWF0Y2hDYWxsYmFjazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEtlZXBCbGFua3NEZWZhdWx0Ij54bWxLZWVwQmxhbmtzRGVmYXVsdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0TWF0Y2hDYWxsYmFjayI+eG1sT3V0cHV0TWF0Y2hDYWxsYmFjazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhJc0luZiI+eG1sWFBhdGhJc0luZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhJc05hTiI+eG1sWFBhdGhJc05hTjwvYT48YnIgLz4KKzwvZGQ+PGR0PmRldGVjdGVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCNDSEVDS19FUlJPUiI+Q0hFQ0tfRVJST1I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI0NIRUNLX0VSUk9SMCI+Q0hFQ0tfRVJST1IwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjZW5kRG9jdW1lbnQiPmVuZERvY3VtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjZW5kRG9jdW1lbnRTQVhGdW5jIj5lbmREb2N1bWVudFNBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNlbmRFbGVtZW50Ij5lbmRFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjZW5kRWxlbWVudE5zU0FYMkZ1bmMiPmVuZEVsZW1lbnROc1NBWDJGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjZW5kRWxlbWVudFNBWEZ1bmMiPmVuZEVsZW1lbnRTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjcmVmZXJlbmNlIj5yZWZlcmVuY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNyZWZlcmVuY2VTQVhGdW5jIj5yZWZlcmVuY2VTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjc3RhcnRFbGVtZW50TnNTQVgyRnVuYyI+c3RhcnRFbGVtZW50TnNTQVgyRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhsaW5rLmh0bWwjeGxpbmtFeHRlbmRlZExpbmtGdW5rIj54bGlua0V4dGVuZGVkTGlua0Z1bms8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bGluay5odG1sI3hsaW5rRXh0ZW5kZWRMaW5rU2V0RnVuayI+eGxpbmtFeHRlbmRlZExpbmtTZXRGdW5rPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGxpbmsuaHRtbCN4bGlua0lzTGluayI+eGxpbmtJc0xpbms8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZXJIYW5kbGVQRVJlZmVyZW5jZSI+eG1sUGFyc2VySGFuZGxlUEVSZWZlcmVuY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZXJIYW5kbGVSZWZlcmVuY2UiPnhtbFBhcnNlckhhbmRsZVJlZmVyZW5jZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyRW5kRG9jdW1lbnQiPnhtbFNBWDJFbmREb2N1bWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyRW5kRWxlbWVudCI+eG1sU0FYMkVuZEVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMkVuZEVsZW1lbnROcyI+eG1sU0FYMkVuZEVsZW1lbnROczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyUmVmZXJlbmNlIj54bWxTQVgyUmVmZXJlbmNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJTdGFydEVsZW1lbnROcyI+eG1sU0FYMlN0YXJ0RWxlbWVudE5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYUlzVmFsaWQiPnhtbFNjaGVtYUlzVmFsaWQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5kZXRlY3Rpb248L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1ET0NCcGFyc2VyLmh0bWwjZG9jYkNyZWF0ZVB1c2hQYXJzZXJDdHh0Ij5kb2NiQ3JlYXRlUHVzaFBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bGluay5odG1sI3hsaW5rRXh0ZW5kZWRMaW5rRnVuayI+eGxpbmtFeHRlbmRlZExpbmtGdW5rPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGxpbmsuaHRtbCN4bGlua0V4dGVuZGVkTGlua1NldEZ1bmsiPnhsaW5rRXh0ZW5kZWRMaW5rU2V0RnVuazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhsaW5rLmh0bWwjeGxpbmtHZXREZWZhdWx0RGV0ZWN0Ij54bGlua0dldERlZmF1bHREZXRlY3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bGluay5odG1sI3hsaW5rTm9kZURldGVjdEZ1bmMiPnhsaW5rTm9kZURldGVjdEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bGluay5odG1sI3hsaW5rU2V0RGVmYXVsdERldGVjdCI+eGxpbmtTZXREZWZhdWx0RGV0ZWN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGxpbmsuaHRtbCN4bGlua1NpbXBsZUxpbmtGdW5rIj54bGlua1NpbXBsZUxpbmtGdW5rPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQiPnhtbENyZWF0ZVB1c2hQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxJc0lEIj54bWxJc0lEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5Ij54bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlSZWNvdmVyIj54bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlSZWNvdmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VFeHRlcm5hbEVudGl0eSI+eG1sUGFyc2VFeHRlcm5hbEVudGl0eTwvYT48YnIgLz4KKzwvZGQ+PGR0PmRldGVybWluZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTRORXhlY3V0ZSI+eG1sQzE0TkV4ZWN1dGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sQ2hhckluUmFuZ2UiPnhtbENoYXJJblJhbmdlPC9hPjxiciAvPgorPC9kZD48ZHQ+ZGV0ZXJtaW5lZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhMYW5nRnVuY3Rpb24iPnhtbFhQYXRoTGFuZ0Z1bmN0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+ZGV0ZXJtaW5pc3Q8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhSXNEZXRlcm1pbmlzdCI+eG1sQXV0b21hdGFJc0RldGVybWluaXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnZXhwSXNEZXRlcm1pbmlzdCI+eG1sUmVnZXhwSXNEZXRlcm1pbmlzdDwvYT48YnIgLz4KKzwvZGQ+PGR0PmRpY3Q8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjX3htbERvYyI+X3htbERvYzwvYT48YnIgLz4KKzwvZGQ+PGR0PmRpY3Rpb25hcmllczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI1hNTF9NQVhfTkFNRV9MRU5HVEgiPlhNTF9NQVhfTkFNRV9MRU5HVEg8L2E+PGJyIC8+Cis8L2RkPjxkdD5kaWN0aW9uYXJ5PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjWE1MX01BWF9ESUNUSU9OQVJZX0xJTUlUIj5YTUxfTUFYX0RJQ1RJT05BUllfTElNSVQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNfeG1sUGFyc2VyQ3R4dCI+X3htbFBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI194bWxYUGF0aENvbnRleHQiPl94bWxYUGF0aENvbnRleHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kaWN0Lmh0bWwjeG1sRGljdENsZWFudXAiPnhtbERpY3RDbGVhbnVwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGljdC5odG1sI3htbERpY3RDcmVhdGUiPnhtbERpY3RDcmVhdGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kaWN0Lmh0bWwjeG1sRGljdENyZWF0ZVN1YiI+eG1sRGljdENyZWF0ZVN1YjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0R2V0VXNhZ2UiPnhtbERpY3RHZXRVc2FnZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0UmVmZXJlbmNlIj54bWxEaWN0UmVmZXJlbmNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGljdC5odG1sI3htbERpY3RTZXRMaW1pdCI+eG1sRGljdFNldExpbWl0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hDcmVhdGVEaWN0Ij54bWxIYXNoQ3JlYXRlRGljdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRpY3QuaHRtbCN4bWxJbml0aWFsaXplRGljdCI+eG1sSW5pdGlhbGl6ZURpY3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sUGF0dGVybmNvbXBpbGUiPnhtbFBhdHRlcm5jb21waWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbFN0cmVhbVB1c2giPnhtbFN0cmVhbVB1c2g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sU3RyZWFtUHVzaEF0dHIiPnhtbFN0cmVhbVB1c2hBdHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbFN0cmVhbVB1c2hOb2RlIj54bWxTdHJlYW1QdXNoTm9kZTwvYT48YnIgLz4KKzwvZGQ+PGR0PmRpY3Rpb25uYXJ5PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjX3htbFBhcnNlckN0eHQiPl94bWxQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGljdC5odG1sI3htbERpY3RDcmVhdGUiPnhtbERpY3RDcmVhdGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kaWN0Lmh0bWwjeG1sRGljdENyZWF0ZVN1YiI+eG1sRGljdENyZWF0ZVN1YjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0RXhpc3RzIj54bWxEaWN0RXhpc3RzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGljdC5odG1sI3htbERpY3RGcmVlIj54bWxEaWN0RnJlZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0R2V0VXNhZ2UiPnhtbERpY3RHZXRVc2FnZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0TG9va3VwIj54bWxEaWN0TG9va3VwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGljdC5odG1sI3htbERpY3RPd25zIj54bWxEaWN0T3duczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0UUxvb2t1cCI+eG1sRGljdFFMb29rdXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kaWN0Lmh0bWwjeG1sRGljdFJlZmVyZW5jZSI+eG1sRGljdFJlZmVyZW5jZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0U2V0TGltaXQiPnhtbERpY3RTZXRMaW1pdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0U2l6ZSI+eG1sRGljdFNpemU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBOZXdDdHh0Ij54bWxFeHBOZXdDdHh0PC9hPjxiciAvPgorPC9kZD48ZHQ+ZGlkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfQkxPQ0tfREVGQVVMVCI+WE1MX1NDSEVNQVNfVFlQRV9CTE9DS19ERUZBVUxUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckdldFJlbWFpbmRlciI+eG1sVGV4dFJlYWRlckdldFJlbWFpbmRlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJTdGFuZGFsb25lIj54bWxUZXh0UmVhZGVyU3RhbmRhbG9uZTwvYT48YnIgLz4KKzwvZGQ+PGR0PmRpZmZlcmVuY2U8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRGlmZmVyZW5jZSI+eG1sWFBhdGhEaWZmZXJlbmNlPC9hPjxiciAvPgorPC9kZD48ZHQ+ZGlmZmVyZW50PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI194bWxCdWZmZXIiPl94bWxCdWZmZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQUNhdGFsb2dBZGQiPnhtbEFDYXRhbG9nQWRkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1aWxkUU5hbWUiPnhtbEJ1aWxkUU5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ0FkZCI+eG1sQ2F0YWxvZ0FkZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxDaGlsZEVsZW1lbnRDb3VudCI+eG1sQ2hpbGRFbGVtZW50Q291bnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRmlyc3RFbGVtZW50Q2hpbGQiPnhtbEZpcnN0RWxlbWVudENoaWxkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbExhc3RFbGVtZW50Q2hpbGQiPnhtbExhc3RFbGVtZW50Q2hpbGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV4dEVsZW1lbnRTaWJsaW5nIj54bWxOZXh0RWxlbWVudFNpYmxpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUdldEJhc2UiPnhtbE5vZGVHZXRCYXNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFByZXZpb3VzRWxlbWVudFNpYmxpbmciPnhtbFByZXZpb3VzRWxlbWVudFNpYmxpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJFcXVhbCI+eG1sU3RyRXF1YWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJRRXF1YWwiPnhtbFN0clFFcXVhbDwvYT48YnIgLz4KKzwvZGQ+PGR0PmRpZmZlcmVudGlhdGU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT3JkZXJEb2NFbGVtcyI+eG1sWFBhdGhPcmRlckRvY0VsZW1zPC9hPjxiciAvPgorPC9kZD48ZHQ+ZGlmZmVyZW50bHk8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyR2V0UmVtYWluZGVyIj54bWxUZXh0UmVhZGVyR2V0UmVtYWluZGVyPC9hPjxiciAvPgorPC9kZD48ZHQ+ZGlmZmVyczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZTaHJpbmsiPnhtbEJ1ZlNocmluazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjeG1sTmV3RW50aXR5Ij54bWxOZXdFbnRpdHk8L2E+PGJyIC8+Cis8L2RkPjxkdD5kaWdpdDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdHJpbmdGdW5jdGlvbiI+eG1sWFBhdGhTdHJpbmdGdW5jdGlvbjwvYT48YnIgLz4KKzwvZGQ+PGR0PmRpZ2l0czwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdHJpbmdGdW5jdGlvbiI+eG1sWFBhdGhTdHJpbmdGdW5jdGlvbjwvYT48YnIgLz4KKzwvZGQ+PGR0PmRpcjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxEaXIiPnhtbFNoZWxsRGlyPC9hPjxiciAvPgorPC9kZD48ZHQ+ZGlyZWN0PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxFbGVtZW50QWxsb3dlZEhlcmUiPmh0bWxFbGVtZW50QWxsb3dlZEhlcmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEVsZW1lbnRBbGxvd2VkSGVyZURlc2MiPmh0bWxFbGVtZW50QWxsb3dlZEhlcmVEZXNjPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxFbGVtZW50U3RhdHVzSGVyZSI+aHRtbEVsZW1lbnRTdGF0dXNIZXJlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwRXhwRGVyaXZlIj54bWxFeHBFeHBEZXJpdmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUF0dHJpYnV0ZSI+eG1sUGFyc2VBdHRyaWJ1dGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxVUklVbmVzY2FwZVN0cmluZyI+eG1sVVJJVW5lc2NhcGVTdHJpbmc8L2E+PGJyIC8+Cis8L2RkPjxkdD5kaXJlY3Rpb248L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV4dEFuY2VzdG9yIj54bWxYUGF0aE5leHRBbmNlc3RvcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXh0QW5jZXN0b3JPclNlbGYiPnhtbFhQYXRoTmV4dEFuY2VzdG9yT3JTZWxmPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHRBdHRyaWJ1dGUiPnhtbFhQYXRoTmV4dEF0dHJpYnV0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXh0Q2hpbGQiPnhtbFhQYXRoTmV4dENoaWxkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHREZXNjZW5kYW50Ij54bWxYUGF0aE5leHREZXNjZW5kYW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHREZXNjZW5kYW50T3JTZWxmIj54bWxYUGF0aE5leHREZXNjZW5kYW50T3JTZWxmPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHRGb2xsb3dpbmciPnhtbFhQYXRoTmV4dEZvbGxvd2luZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXh0Rm9sbG93aW5nU2libGluZyI+eG1sWFBhdGhOZXh0Rm9sbG93aW5nU2libGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXh0TmFtZXNwYWNlIj54bWxYUGF0aE5leHROYW1lc3BhY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV4dFBhcmVudCI+eG1sWFBhdGhOZXh0UGFyZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHRQcmVjZWRpbmciPnhtbFhQYXRoTmV4dFByZWNlZGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXh0UHJlY2VkaW5nU2libGluZyI+eG1sWFBhdGhOZXh0UHJlY2VkaW5nU2libGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXh0U2VsZiI+eG1sWFBhdGhOZXh0U2VsZjwvYT48YnIgLz4KKzwvZGQ+PGR0PmRpcmVjdGx5PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZkdldE5vZGVDb250ZW50Ij54bWxCdWZHZXROb2RlQ29udGVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlQnVmR2V0Q29udGVudCI+eG1sTm9kZUJ1ZkdldENvbnRlbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUdldENvbnRlbnQiPnhtbE5vZGVHZXRDb250ZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sTm9ybWFsaXplVVJJUGF0aCI+eG1sTm9ybWFsaXplVVJJUGF0aDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQXR0cmlidXRlIj54bWxQYXJzZUF0dHJpYnV0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRWxlbWVudENvbnRlbnREZWNsIj54bWxQYXJzZUVsZW1lbnRDb250ZW50RGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlUEVSZWZlcmVuY2UiPnhtbFBhcnNlUEVSZWZlcmVuY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZVNERGVjbCI+eG1sUGFyc2VTRERlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZXJIYW5kbGVQRVJlZmVyZW5jZSI+eG1sUGFyc2VySGFuZGxlUEVSZWZlcmVuY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZXJIYW5kbGVSZWZlcmVuY2UiPnhtbFBhcnNlckhhbmRsZVJlZmVyZW5jZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJHcm93Ij54bWxQYXJzZXJJbnB1dEJ1ZmZlckdyb3c8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udmVydEJvb2xlYW4iPnhtbFhQYXRoQ29udmVydEJvb2xlYW48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udmVydE51bWJlciI+eG1sWFBhdGhDb252ZXJ0TnVtYmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbnZlcnRTdHJpbmciPnhtbFhQYXRoQ29udmVydFN0cmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ck5ld0NvbnRleHQiPnhtbFhQdHJOZXdDb250ZXh0PC9hPjxiciAvPgorPC9kZD48ZHQ+ZGlyZWN0b3JpZXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sTG9hZENhdGFsb2dzIj54bWxMb2FkQ2F0YWxvZ3M8L2E+PGJyIC8+Cis8L2RkPjxkdD5kaXJlY3Rvcnk8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNfeG1sUGFyc2VyQ3R4dCI+X3htbFBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNfeG1sUGFyc2VySW5wdXQiPl94bWxQYXJzZXJJbnB1dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sQ2hlY2tGaWxlbmFtZSI+eG1sQ2hlY2tGaWxlbmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQQ3dkIj54bWxOYW5vRlRQQ3dkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBEZWxlIj54bWxOYW5vRlRQRGVsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sUGFyc2VyR2V0RGlyZWN0b3J5Ij54bWxQYXJzZXJHZXREaXJlY3Rvcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsTGlzdCI+eG1sU2hlbGxMaXN0PC9hPjxiciAvPgorPC9kZD48ZHQ+ZGlzYWJsZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nU2V0RGVidWciPnhtbENhdGFsb2dTZXREZWJ1ZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZGF0ZVNldExvY2F0b3IiPnhtbFNjaGVtYVZhbGlkYXRlU2V0TG9jYXRvcjwvYT48YnIgLz4KKzwvZGQ+PGR0PmRpc2FibGVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI1hNTF9DQVNUX0ZQVFIiPlhNTF9DQVNUX0ZQVFI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNfeG1sUGFyc2VyQ3R4dCI+X3htbFBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxQYXJzZVVSSVJhdyI+eG1sUGFyc2VVUklSYXc8L2E+PGJyIC8+Cis8L2RkPjxkdD5kaXNhYmxlczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0U2V0Q2FjaGUiPnhtbFhQYXRoQ29udGV4dFNldENhY2hlPC9hPjxiciAvPgorPC9kZD48ZHQ+ZGlzYWJsaW5nPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxOb05ldEV4dGVybmFsRW50aXR5TG9hZGVyIj54bWxOb05ldEV4dGVybmFsRW50aXR5TG9hZGVyPC9hPjxiciAvPgorPC9kZD48ZHQ+ZGlzYWxsb3dlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19FTEVNX0JMT0NLX0VYVEVOU0lPTiI+WE1MX1NDSEVNQVNfRUxFTV9CTE9DS19FWFRFTlNJT048L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfRUxFTV9CTE9DS19SRVNUUklDVElPTiI+WE1MX1NDSEVNQVNfRUxFTV9CTE9DS19SRVNUUklDVElPTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19FTEVNX0JMT0NLX1NVQlNUSVRVVElPTiI+WE1MX1NDSEVNQVNfRUxFTV9CTE9DS19TVUJTVElUVVRJT048L2E+PGJyIC8+Cis8L2RkPjxkdD5kaXNjYXJkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFVubGlua05vZGUiPnhtbFVubGlua05vZGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5kaXNjYXJkZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sRGVyZWdpc3Rlck5vZGVGdW5jIj54bWxEZXJlZ2lzdGVyTm9kZUZ1bmM8L2E+PGJyIC8+Cis8L2RkPjxkdD5kaXNjYXJkaW5nPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VBdHRWYWx1ZSI+eG1sUGFyc2VBdHRWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRDdHh0Tm9ybWFsaXplQXR0cmlidXRlVmFsdWUiPnhtbFZhbGlkQ3R4dE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlIj54bWxWYWxpZE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlPC9hPjxiciAvPgorPC9kZD48ZHQ+ZGlzY29ubmVjdGVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld1N0YXRlIj54bWxBdXRvbWF0YU5ld1N0YXRlPC9hPjxiciAvPgorPC9kZD48ZHQ+ZGlzY292ZXJpbmc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxTd2l0Y2hFbmNvZGluZyI+eG1sU3dpdGNoRW5jb2Rpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxTd2l0Y2hJbnB1dEVuY29kaW5nIj54bWxTd2l0Y2hJbnB1dEVuY29kaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sU3dpdGNoVG9FbmNvZGluZyI+eG1sU3dpdGNoVG9FbmNvZGluZzwvYT48YnIgLz4KKzwvZGQ+PGR0PmRpc2N0aW9uYXJ5PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtZGljdC5odG1sI3htbERpY3RPd25zIj54bWxEaWN0T3duczwvYT48YnIgLz4KKzwvZGQ+PGR0PmRpc3BsYXk8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNlcnJvclNBWEZ1bmMiPmVycm9yU0FYRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI2ZhdGFsRXJyb3JTQVhGdW5jIj5mYXRhbEVycm9yU0FYRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3dhcm5pbmdTQVhGdW5jIj53YXJuaW5nU0FYRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1lbVNob3ciPnhtbE1lbVNob3c8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI3htbFBhcnNlckVycm9yIj54bWxQYXJzZXJFcnJvcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sUGFyc2VyVmFsaWRpdHlFcnJvciI+eG1sUGFyc2VyVmFsaWRpdHlFcnJvcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sUGFyc2VyVmFsaWRpdHlXYXJuaW5nIj54bWxQYXJzZXJWYWxpZGl0eVdhcm5pbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI3htbFBhcnNlcldhcm5pbmciPnhtbFBhcnNlcldhcm5pbmc8L2E+PGJyIC8+Cis8L2RkPjxkdD5kaXN0aW5jdDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhEaXN0aW5jdCI+eG1sWFBhdGhEaXN0aW5jdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhEaXN0aW5jdFNvcnRlZCI+eG1sWFBhdGhEaXN0aW5jdFNvcnRlZDwvYT48YnIgLz4KKzwvZGQ+PGR0PmRpc3Rpbmd1aXNoPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFN0cmluZ0Z1bmN0aW9uIj54bWxYUGF0aFN0cmluZ0Z1bmN0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+ZGl2PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aERpdlZhbHVlcyI+eG1sWFBhdGhEaXZWYWx1ZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU3Vic3RyaW5nRnVuY3Rpb24iPnhtbFhQYXRoU3Vic3RyaW5nRnVuY3Rpb248L2E+PGJyIC8+Cis8L2RkPjxkdD5kb2M8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI2h0bWxOb2RlRHVtcEZpbGVGb3JtYXQiPmh0bWxOb2RlRHVtcEZpbGVGb3JtYXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcEFkb3B0Tm9kZSI+eG1sRE9NV3JhcEFkb3B0Tm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwQ2xvbmVOb2RlIj54bWxET01XcmFwQ2xvbmVOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBSZW1vdmVOb2RlIj54bWxET01XcmFwUmVtb3ZlTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbE5ld1RleHRXcml0ZXJEb2MiPnhtbE5ld1RleHRXcml0ZXJEb2M8L2E+PGJyIC8+Cis8L2RkPjxkdD5kb2MtPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBSZW1vdmVOb2RlIj54bWxET01XcmFwUmVtb3ZlTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxEb2NHZXRSb290RWxlbWVudCI+eG1sRG9jR2V0Um9vdEVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRG9jU2V0Um9vdEVsZW1lbnQiPnhtbERvY1NldFJvb3RFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sTmV3VGV4dFdyaXRlclRyZWUiPnhtbE5ld1RleHRXcml0ZXJUcmVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVHZXRCYXNlIj54bWxOb2RlR2V0QmFzZTwvYT48YnIgLz4KKzwvZGQ+PGR0PmRvY3M8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxCdWlsZFJlbGF0aXZlVVJJIj54bWxCdWlsZFJlbGF0aXZlVVJJPC9hPjxiciAvPgorPC9kZD48ZHQ+ZG9jdHlwZWRlY2w8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZURvY1R5cGVEZWNsIj54bWxQYXJzZURvY1R5cGVEZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VEb2N1bWVudCI+eG1sUGFyc2VEb2N1bWVudDwvYT48YnIgLz4KKzwvZGQ+PGR0PmRvY3VtZW50czwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbENsZWFudXBQYXJzZXIiPnhtbENsZWFudXBQYXJzZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbElzSUQiPnhtbElzSUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVudGl0eVJlZiI+eG1sUGFyc2VFbnRpdHlSZWY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZXJIYW5kbGVSZWZlcmVuY2UiPnhtbFBhcnNlckhhbmRsZVJlZmVyZW5jZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNBWFBhcnNlRG9jIj54bWxTQVhQYXJzZURvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNBWFBhcnNlRmlsZSI+eG1sU0FYUGFyc2VGaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYUGFyc2VGaWxlV2l0aERhdGEiPnhtbFNBWFBhcnNlRmlsZVdpdGhEYXRhPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYUGFyc2VNZW1vcnkiPnhtbFNBWFBhcnNlTWVtb3J5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYUGFyc2VNZW1vcnlXaXRoRGF0YSI+eG1sU0FYUGFyc2VNZW1vcnlXaXRoRGF0YTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPcmRlckRvY0VsZW1zIj54bWxYUGF0aE9yZGVyRG9jRWxlbXM8L2E+PGJyIC8+Cis8L2RkPjxkdD5kb2VzbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNfaHRtbEVsZW1EZXNjIj5faHRtbEVsZW1EZXNjPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxFbGVtZW50QWxsb3dlZEhlcmUiPmh0bWxFbGVtZW50QWxsb3dlZEhlcmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyRGV0YWNoIj54bWxCdWZmZXJEZXRhY2g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxDaGVja0xhbmd1YWdlSUQiPnhtbENoZWNrTGFuZ3VhZ2VJRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbENsZWFudXBQYXJzZXIiPnhtbENsZWFudXBQYXJzZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI3htbENyZWF0ZUVudGl0aWVzVGFibGUiPnhtbENyZWF0ZUVudGl0aWVzVGFibGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRnJlZU5vZGUiPnhtbEZyZWVOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbEdldFRocmVhZElkIj54bWxHZXRUaHJlYWRJZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sSW5pdENoYXJFbmNvZGluZ0hhbmRsZXJzIj54bWxJbml0Q2hhckVuY29kaW5nSGFuZGxlcnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxLZWVwQmxhbmtzRGVmYXVsdCI+eG1sS2VlcEJsYW5rc0RlZmF1bHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUxpc3RHZXRSYXdTdHJpbmciPnhtbE5vZGVMaXN0R2V0UmF3U3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbFBhdHRlcm5NYXRjaCI+eG1sUGF0dGVybk1hdGNoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFJlbW92ZVByb3AiPnhtbFJlbW92ZVByb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxVVEY4U3RybGVuIj54bWxVVEY4U3RybGVuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZVJvb3QiPnhtbFZhbGlkYXRlUm9vdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhMZWFkaW5nIj54bWxYUGF0aExlYWRpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTGVhZGluZ1NvcnRlZCI+eG1sWFBhdGhMZWFkaW5nU29ydGVkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vZGVMZWFkaW5nIj54bWxYUGF0aE5vZGVMZWFkaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vZGVMZWFkaW5nU29ydGVkIj54bWxYUGF0aE5vZGVMZWFkaW5nU29ydGVkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vZGVUcmFpbGluZyI+eG1sWFBhdGhOb2RlVHJhaWxpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9kZVRyYWlsaW5nU29ydGVkIj54bWxYUGF0aE5vZGVUcmFpbGluZ1NvcnRlZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhUcmFpbGluZyI+eG1sWFBhdGhUcmFpbGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhUcmFpbGluZ1NvcnRlZCI+eG1sWFBhdGhUcmFpbGluZ1NvcnRlZDwvYT48YnIgLz4KKzwvZGQ+PGR0PmRvaW5nPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYyI+eG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jIj54bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ0V4ZWNDYWxsYmFja3MiPnhtbFJlZ0V4ZWNDYWxsYmFja3M8L2E+PGJyIC8+Cis8L2RkPjxkdD5kb248L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfQU5ZX0xBWCI+WE1MX1NDSEVNQVNfQU5ZX0xBWDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhsaW5rLmh0bWwjeGxpbmtJc0xpbmsiPnhsaW5rSXNMaW5rPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbENoaWxkRWxlbWVudENvdW50Ij54bWxDaGlsZEVsZW1lbnRDb3VudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbENyZWF0ZVB1c2hQYXJzZXJDdHh0Ij54bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwQ2xvbmVOb2RlIj54bWxET01XcmFwQ2xvbmVOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEZpcnN0RWxlbWVudENoaWxkIj54bWxGaXJzdEVsZW1lbnRDaGlsZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxMYXN0RWxlbWVudENoaWxkIj54bWxMYXN0RWxlbWVudENoaWxkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld0RvY05vZGUiPnhtbE5ld0RvY05vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3RG9jTm9kZUVhdE5hbWUiPnhtbE5ld0RvY05vZGVFYXROYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5leHRFbGVtZW50U2libGluZyI+eG1sTmV4dEVsZW1lbnRTaWJsaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VTdGFydFRhZyI+eG1sUGFyc2VTdGFydFRhZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxQcmV2aW91c0VsZW1lbnRTaWJsaW5nIj54bWxQcmV2aW91c0VsZW1lbnRTaWJsaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnRXhlY0VyckluZm8iPnhtbFJlZ0V4ZWNFcnJJbmZvPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnRXhlY05leHRWYWx1ZXMiPnhtbFJlZ0V4ZWNOZXh0VmFsdWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNlYXJjaE5zIj54bWxTZWFyY2hOczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhGcmVlTm9kZVNldExpc3QiPnhtbFhQYXRoRnJlZU5vZGVTZXRMaXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vZGVTZXRGcmVlTnMiPnhtbFhQYXRoTm9kZVNldEZyZWVOczwvYT48YnIgLz4KKzwvZGQ+PGR0PmRvdGdudTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJOb2RlVHlwZSI+eG1sVGV4dFJlYWRlck5vZGVUeXBlPC9hPjxiciAvPgorPC9kZD48ZHQ+ZG91YmxlPC9kdD48ZGQ+PGEgaHJlZj0iIj52YWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyV3JpdGVRdW90ZWRTdHJpbmciPnhtbEJ1ZmZlcldyaXRlUXVvdGVkU3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEdldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUiPnhtbEdldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2V0QnVmZmVyQWxsb2NhdGlvblNjaGVtZSI+eG1sU2V0QnVmZmVyQWxsb2NhdGlvblNjaGVtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhJc0luZiI+eG1sWFBhdGhJc0luZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhJc05hTiI+eG1sWFBhdGhJc05hTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXdGbG9hdCI+eG1sWFBhdGhOZXdGbG9hdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhOb2RlU2V0Q3JlYXRlIj54bWxYUGF0aE5vZGVTZXRDcmVhdGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmV0dXJuTnVtYmVyIj54bWxYUGF0aFJldHVybk51bWJlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdHJpbmdFdmFsTnVtYmVyIj54bWxYUGF0aFN0cmluZ0V2YWxOdW1iZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJMb2NhdGlvblNldENyZWF0ZSI+eG1sWFB0ckxvY2F0aW9uU2V0Q3JlYXRlPC9hPjxiciAvPgorPC9kZD48ZHQ+ZG91YmxlLWh5cGhlbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQ29tbWVudCI+eG1sUGFyc2VDb21tZW50PC9hPjxiciAvPgorPC9kZD48ZHQ+ZG91YmxlLXF1b3RlczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJXcml0ZVF1b3RlZFN0cmluZyI+eG1sQnVmZmVyV3JpdGVRdW90ZWRTdHJpbmc8L2E+PGJyIC8+Cis8L2RkPjxkdD5kb3VibGVpdDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxHZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lIj54bWxHZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lPC9hPjxiciAvPgorPC9kZD48ZHQ+ZG91YmxlcXVvdGVzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VRdW90ZWRTdHJpbmciPnhtbFBhcnNlUXVvdGVkU3RyaW5nPC9hPjxiciAvPgorPC9kZD48ZHQ+ZG91YnQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxDbGVhbnVwUGFyc2VyIj54bWxDbGVhbnVwUGFyc2VyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbENsZWFudXBUaHJlYWRzIj54bWxDbGVhbnVwVGhyZWFkczwvYT48YnIgLz4KKzwvZGQ+PGR0PmRvd248L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sR2V0QnVmZmVyQWxsb2NhdGlvblNjaGVtZSI+eG1sR2V0QnVmZmVyQWxsb2NhdGlvblNjaGVtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lIj54bWxTZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lPC9hPjxiciAvPgorPC9kZD48ZHQ+ZHJhZnQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14aW5jbHVkZS5odG1sI1hJTkNMVURFX09MRF9OUyI+WElOQ0xVREVfT0xEX05TPC9hPjxiciAvPgorPC9kZD48ZHQ+ZHJvcDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sRmlsZVJlYWQiPnhtbEZpbGVSZWFkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxJT0ZUUFJlYWQiPnhtbElPRlRQUmVhZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sSU9IVFRQUmVhZCI+eG1sSU9IVFRQUmVhZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlTmFtZXNwYWNlIj54bWxQYXJzZU5hbWVzcGFjZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlUXVvdGVkU3RyaW5nIj54bWxQYXJzZVF1b3RlZFN0cmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ckJ1aWxkTm9kZUxpc3QiPnhtbFhQdHJCdWlsZE5vZGVMaXN0PC9hPjxiciAvPgorPC9kZD48ZHQ+ZHRkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjZ2V0U3lzdGVtSWQiPmdldFN5c3RlbUlkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNodG1sTmV3RG9jIj5odG1sTmV3RG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNodG1sTmV3RG9jTm9EdEQiPmh0bWxOZXdEb2NOb0R0RDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxDb3B5RHRkIj54bWxDb3B5RHRkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJHZXRTeXN0ZW1JZCI+eG1sU0FYMkdldFN5c3RlbUlkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZUR0ZCI+eG1sVmFsaWRhdGVEdGQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5kdGRzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjZ2V0U3lzdGVtSWQiPmdldFN5c3RlbUlkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJHZXRTeXN0ZW1JZCI+eG1sU0FYMkdldFN5c3RlbUlkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZUR0ZEZpbmFsIj54bWxWYWxpZGF0ZUR0ZEZpbmFsPC9hPjxiciAvPgorPC9kZD48ZHQ+ZHVlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZlNocmluayI+eG1sQnVmU2hyaW5rPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbW9kdWxlLmh0bWwjeG1sTW9kdWxlT3BlbiI+eG1sTW9kdWxlT3BlbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1vZHVsZS5odG1sI3htbE1vZHVsZVN5bWJvbCI+eG1sTW9kdWxlU3ltYm9sPC9hPjxiciAvPgorPC9kZD48ZHQ+ZHVtcDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZTaHJpbmsiPnhtbEJ1ZlNocmluazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJBZGQiPnhtbEJ1ZmZlckFkZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJDQ2F0Ij54bWxCdWZmZXJDQ2F0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlckR1bXAiPnhtbEJ1ZmZlckR1bXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyU2hyaW5rIj54bWxCdWZmZXJTaHJpbms8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbER1bXBBdHRyaWJ1dGVEZWNsIj54bWxEdW1wQXR0cmlidXRlRGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sRHVtcEF0dHJpYnV0ZVRhYmxlIj54bWxEdW1wQXR0cmlidXRlVGFibGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbER1bXBFbGVtZW50RGVjbCI+eG1sRHVtcEVsZW1lbnREZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxEdW1wRWxlbWVudFRhYmxlIj54bWxEdW1wRWxlbWVudFRhYmxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxEdW1wRW50aXRpZXNUYWJsZSI+eG1sRHVtcEVudGl0aWVzVGFibGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI3htbER1bXBFbnRpdHlEZWNsIj54bWxEdW1wRW50aXR5RGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sRHVtcE5vdGF0aW9uRGVjbCI+eG1sRHVtcE5vdGF0aW9uRGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sRHVtcE5vdGF0aW9uVGFibGUiPnhtbER1bXBOb3RhdGlvblRhYmxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxMc09uZU5vZGUiPnhtbExzT25lTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1lbURpc3BsYXlMYXN0Ij54bWxNZW1EaXNwbGF5TGFzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1lbVNob3ciPnhtbE1lbVNob3c8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFNucHJpbnRmRWxlbWVudENvbnRlbnQiPnhtbFNucHJpbnRmRWxlbWVudENvbnRlbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRGVidWdEdW1wT2JqZWN0Ij54bWxYUGF0aERlYnVnRHVtcE9iamVjdDwvYT48YnIgLz4KKzwvZGQ+PGR0PmR1bXBpbmc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNZW1EaXNwbGF5TGFzdCI+eG1sTWVtRGlzcGxheUxhc3Q8L2E+PGJyIC8+Cis8L2RkPjxkdD5kdW1wczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxCYXNlIj54bWxTaGVsbEJhc2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsQ2F0Ij54bWxTaGVsbENhdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxEaXIiPnhtbFNoZWxsRGlyPC9hPjxiciAvPgorPC9kZD48ZHQ+ZHVwbGljYXRlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sQ2Fub25pY1BhdGgiPnhtbENhbm9uaWNQYXRoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sUGF0aFRvVVJJIj54bWxQYXRoVG9VUkk8L2E+PGJyIC8+Cis8L2RkPjxkdD5kdXBsaWNhdGVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdOZXdEb2NQYXJzZXJDdHh0Ij54bWxSZWxheE5HTmV3RG9jUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb2RlU2V0RnJlZU5zIj54bWxYUGF0aE5vZGVTZXRGcmVlTnM8L2E+PGJyIC8+Cis8L2RkPjxkdD5kdXBsaWNhdGVzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hQ29weVZhbHVlIj54bWxTY2hlbWFDb3B5VmFsdWU8L2E+PGJyIC8+Cis8L2RkPjxkdD5kdXJhdGlvbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUdldENhbm9uVmFsdWUiPnhtbFNjaGVtYUdldENhbm9uVmFsdWU8L2E+PGJyIC8+Cis8L2RkPjxkdD5kdXJpbmc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYRGVmYXVsdFZlcnNpb24iPnhtbFNBWERlZmF1bHRWZXJzaW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYUlzVmFsaWQiPnhtbFNjaGVtYUlzVmFsaWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hTmV3RG9jUGFyc2VyQ3R4dCI+eG1sU2NoZW1hTmV3RG9jUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFTZXRWYWxpZE9wdGlvbnMiPnhtbFNjaGVtYVNldFZhbGlkT3B0aW9uczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uTmV3RG9jUGFyc2VyQ3R4dCI+eG1sU2NoZW1hdHJvbk5ld0RvY1BhcnNlckN0eHQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5keW5hbWljPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9NT0RVTEVfRVhURU5TSU9OIj5MSUJYTUxfTU9EVUxFX0VYVEVOU0lPTjwvYT48YnIgLz4KKzwvZGQ+PC9kbD48aDIgYWxpZ249ImNlbnRlciI+PGEgaHJlZj0iQVBJY2h1bmswLmh0bWwiPkEtQjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMS5odG1sIj5DLUM8L2E+Cis8YSBocmVmPSJBUEljaHVuazIuaHRtbCI+RC1FPC9hPgorPGEgaHJlZj0iQVBJY2h1bmszLmh0bWwiPkYtSTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNC5odG1sIj5KLU48L2E+Cis8YSBocmVmPSJBUEljaHVuazUuaHRtbCI+Ty1QPC9hPgorPGEgaHJlZj0iQVBJY2h1bms2Lmh0bWwiPlEtUjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNy5odG1sIj5TLVM8L2E+Cis8YSBocmVmPSJBUEljaHVuazguaHRtbCI+VC1VPC9hPgorPGEgaHJlZj0iQVBJY2h1bms5Lmh0bWwiPlYtWDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTAuaHRtbCI+WS1hPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMS5odG1sIj5iLWI8L2E+Cis8YSBocmVmPSJBUEljaHVuazEyLmh0bWwiPmMtYzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTMuaHRtbCI+ZC1kPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNC5odG1sIj5lLWU8L2E+Cis8YSBocmVmPSJBUEljaHVuazE1Lmh0bWwiPmYtZjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTYuaHRtbCI+Zy1oPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNy5odG1sIj5pLWk8L2E+Cis8YSBocmVmPSJBUEljaHVuazE4Lmh0bWwiPmotbDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTkuaHRtbCI+bS1tPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMC5odG1sIj5uLW48L2E+Cis8YSBocmVmPSJBUEljaHVuazIxLmh0bWwiPm8tbzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjIuaHRtbCI+cC1wPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMy5odG1sIj5xLXI8L2E+Cis8YSBocmVmPSJBUEljaHVuazI0Lmh0bWwiPnMtczwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjUuaHRtbCI+dC10PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNi5odG1sIj51LXY8L2E+Cis8YSBocmVmPSJBUEljaHVuazI3Lmh0bWwiPnctdzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjguaHRtbCI+eC14PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyOS5odG1sIj55LXo8L2E+Cis8L2gyPjxwPjxhIGhyZWY9ImJ1Z3MuaHRtbCI+RGFuaWVsIFZlaWxsYXJkPC9hPjwvcD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvQVBJY2h1bmsxNC5odG1sIGIvbGlieG1sMi9kb2MvQVBJY2h1bmsxNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBlMzNkZGIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9BUEljaHVuazE0Lmh0bWwKQEAgLTAsMCArMSw0NzAgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+PGxpbmsgcmVsPSJTSE9SVENVVCBJQ09OIiBocmVmPSIvZmF2aWNvbi5pY28iIC8+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK1REIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitCT0RZIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2E7IG1hcmdpbi10b3A6IDJlbTsgbWFyZ2luLWxlZnQ6IDBlbTsgbWFyZ2luLXJpZ2h0OiAwZW19CitIMSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDIge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gzIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitBOmxpbmssIEE6dmlzaXRlZCwgQTphY3RpdmUgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB9Cis8L3N0eWxlPjx0aXRsZT5BUEkgQWxwaGFiZXRpYyBJbmRleCBlLWUgZm9yIGxpYnhtbDI8L3RpdGxlPjwvaGVhZD48Ym9keSBiZ2NvbG9yPSIjOGI3NzY1IiB0ZXh0PSIjMDAwMDAwIiBsaW5rPSIjYTA2MDYwIiB2bGluaz0iIzAwMDAwMCI+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjEwMCUiIGNlbGxwYWRkaW5nPSI1IiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCB3aWR0aD0iMTIwIj48YSBocmVmPSJodHRwOi8vc3dwYXQuZmZpaS5vcmcvIj48aW1nIHNyYz0iZXBhdGVudHMucG5nIiBhbHQ9IkFjdGlvbiBhZ2FpbnN0IHNvZnR3YXJlIHBhdGVudHMiIC8+PC9hPjwvdGQ+PHRkIHdpZHRoPSIxODAiPjxhIGhyZWY9Imh0dHA6Ly93d3cuZ25vbWUub3JnLyI+PGltZyBzcmM9Imdub21lMi5wbmciIGFsdD0iR25vbWUyIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1N0YXR1cyI+PGltZyBzcmM9InczYy5wbmciIGFsdD0iVzNDIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cucmVkaGF0LmNvbS8iPjxpbWcgc3JjPSJyZWRoYXQuZ2lmIiBhbHQ9IlJlZCBIYXQgTG9nbyIgLz48L2E+PGRpdiBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnLyI+PGltZyBzcmM9IkxpYnhtbDItTG9nby0xODB4MTY4LmdpZiIgYWx0PSJNYWRlIHdpdGggTGlieG1sMiBMb2dvIiAvPjwvYT48L2Rpdj48L3RkPjx0ZD48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iOTAlIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyIgYmdjb2xvcj0iI2ZmZmFjZCI+PHRyPjx0ZCBhbGlnbj0iY2VudGVyIj48aDE+VGhlIFhNTCBDIHBhcnNlciBhbmQgdG9vbGtpdCBvZiBHbm9tZTwvaDE+PGgyPkFQSSBBbHBoYWJldGljIEluZGV4IGUtZSBmb3IgbGlieG1sMjwvaDI+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjQiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiIHdpZHRoPSIxMDAlIj48dHI+PHRkIHZhbGlnbj0idG9wIiB3aWR0aD0iMjAwIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5EZXZlbG9wZXIgTWVudTwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48Zm9ybSBhY3Rpb249InNlYXJjaC5waHAiIGVuY3R5cGU9ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIgbWV0aG9kPSJnZXQiPjxpbnB1dCBuYW1lPSJxdWVyeSIgdHlwZT0idGV4dCIgc2l6ZT0iMjAiIHZhbHVlPSIiIC8+PGlucHV0IG5hbWU9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU2VhcmNoIC4uLiIgLz48L2Zvcm0+PHVsPjxsaT48YSBocmVmPSJpbmRleC5odG1sIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+TWFpbiBNZW51PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0bWwvaW5kZXguaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPlJlZmVyZW5jZSBNYW51YWw8L2E+PC9saT48bGk+PGEgaHJlZj0iZXhhbXBsZXMvaW5kZXguaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPkNvZGUgRXhhbXBsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iZ3VpZGVsaW5lcy5odG1sIj5YTUwgR3VpZGVsaW5lczwvYT48L2xpPjxsaT48YSBocmVmPSJ0dXRvcmlhbC9pbmRleC5odG1sIj5UdXRvcmlhbDwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWxyZWFkZXIuaHRtbCI+VGhlIFJlYWRlciBJbnRlcmZhY2U8L2E+PC9saT48bGk+PGEgaHJlZj0iQ2hhbmdlTG9nLmh0bWwiPkNoYW5nZUxvZzwvYT48L2xpPjxsaT48YSBocmVmPSJYU0xULmh0bWwiPlhTTFQ8L2E+PC9saT48bGk+PGEgaHJlZj0icHl0aG9uLmh0bWwiPlB5dGhvbiBhbmQgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iYXJjaGl0ZWN0dXJlLmh0bWwiPmxpYnhtbDIgYXJjaGl0ZWN0dXJlPC9hPjwvbGk+PGxpPjxhIGhyZWY9InRyZWUuaHRtbCI+VGhlIHRyZWUgb3V0cHV0PC9hPjwvbGk+PGxpPjxhIGhyZWY9ImludGVyZmFjZS5odG1sIj5UaGUgU0FYIGludGVyZmFjZTwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWxtZW0uaHRtbCI+TWVtb3J5IE1hbmFnZW1lbnQ8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1saW8uaHRtbCI+SS9PIEludGVyZmFjZXM8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlicmFyeS5odG1sIj5UaGUgcGFyc2VyIGludGVyZmFjZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iZW50aXRpZXMuaHRtbCI+RW50aXRpZXMgb3Igbm8gZW50aXRpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0ibmFtZXNwYWNlcy5odG1sIj5OYW1lc3BhY2VzPC9hPjwvbGk+PGxpPjxhIGhyZWY9InVwZ3JhZGUuaHRtbCI+VXBncmFkaW5nIDEueCBjb2RlPC9hPjwvbGk+PGxpPjxhIGhyZWY9InRocmVhZHMuaHRtbCI+VGhyZWFkIHNhZmV0eTwvYT48L2xpPjxsaT48YSBocmVmPSJET00uaHRtbCI+RE9NIFByaW5jaXBsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iZXhhbXBsZS5odG1sIj5BIHJlYWwgZXhhbXBsZTwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWwuaHRtbCI+ZmxhdCBwYWdlPC9hPiwgPGEgaHJlZj0ic2l0ZS54c2wiPnN0eWxlc2hlZXQ8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5BUEkgSW5kZXhlczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9IkFQSWNodW5rMC5odG1sIj5BbHBoYWJldGljPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkFQSWNvbnN0cnVjdG9ycy5odG1sIj5Db25zdHJ1Y3RvcnM8L2E+PC9saT48bGk+PGEgaHJlZj0iQVBJZnVuY3Rpb25zLmh0bWwiPkZ1bmN0aW9ucy9UeXBlczwvYT48L2xpPjxsaT48YSBocmVmPSJBUElmaWxlcy5odG1sIj5Nb2R1bGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkFQSXN5bWJvbHMuaHRtbCI+U3ltYm9sczwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPlJlbGF0ZWQgbGlua3M8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSJodHRwOi8vbWFpbC5nbm9tZS5vcmcvYXJjaGl2ZXMveG1sLyI+TWFpbCBhcmNoaXZlPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9YU0xULyI+WFNMVCBsaWJ4c2x0PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9waGQuY3MudW5pYm8uaXQvZ2RvbWUyLyI+RE9NIGdkb21lMjwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmFsZWtzZXkuY29tL3htbHNlYy8iPlhNTC1EU2lnIHhtbHNlYzwvYT48L2xpPjxsaT48YSBocmVmPSJmdHA6Ly94bWxzb2Z0Lm9yZy8iPkZUUDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnpsYXRrb3ZpYy5jb20vcHJvamVjdHMvbGlieG1sLyI+V2luZG93cyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vb3BlbmNzdy5vcmcvcGFja2FnZXMvbGlieG1sMiI+U29sYXJpcyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmV4cGxhaW4uY29tLmF1L29zcy9saWJ4bWwyeHNsdC5odG1sIj5NYWNPc1ggYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2x4bWwuZGUvIj5seG1sIFB5dGhvbiBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vY3Bhbi51d2lubmlwZWcuY2EvZGlzdC9YTUwtTGliWE1MIj5QZXJsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWxwbHVzcGx1cy5zb3VyY2Vmb3JnZS5uZXQvIj5DKysgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56ZW5kLmNvbS9waHA1L2FydGljbGVzL3BocDUteG1scGhwLnBocCNIZWFkaW5nNCI+UEhQIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbGlieG1sMi1wYXMvIj5QYXNjYWwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbC5ydWJ5Zm9yZ2Uub3JnLyI+UnVieSBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vdGNseG1sLnNvdXJjZWZvcmdlLm5ldC8iPlRjbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2J1Z2xpc3QuY2dpP3Byb2R1Y3Q9bGlieG1sMiI+QnVnIFRyYWNrZXI8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48aDIgYWxpZ249ImNlbnRlciI+PGEgaHJlZj0iQVBJY2h1bmswLmh0bWwiPkEtQjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMS5odG1sIj5DLUM8L2E+Cis8YSBocmVmPSJBUEljaHVuazIuaHRtbCI+RC1FPC9hPgorPGEgaHJlZj0iQVBJY2h1bmszLmh0bWwiPkYtSTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNC5odG1sIj5KLU48L2E+Cis8YSBocmVmPSJBUEljaHVuazUuaHRtbCI+Ty1QPC9hPgorPGEgaHJlZj0iQVBJY2h1bms2Lmh0bWwiPlEtUjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNy5odG1sIj5TLVM8L2E+Cis8YSBocmVmPSJBUEljaHVuazguaHRtbCI+VC1VPC9hPgorPGEgaHJlZj0iQVBJY2h1bms5Lmh0bWwiPlYtWDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTAuaHRtbCI+WS1hPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMS5odG1sIj5iLWI8L2E+Cis8YSBocmVmPSJBUEljaHVuazEyLmh0bWwiPmMtYzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTMuaHRtbCI+ZC1kPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNC5odG1sIj5lLWU8L2E+Cis8YSBocmVmPSJBUEljaHVuazE1Lmh0bWwiPmYtZjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTYuaHRtbCI+Zy1oPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNy5odG1sIj5pLWk8L2E+Cis8YSBocmVmPSJBUEljaHVuazE4Lmh0bWwiPmotbDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTkuaHRtbCI+bS1tPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMC5odG1sIj5uLW48L2E+Cis8YSBocmVmPSJBUEljaHVuazIxLmh0bWwiPm8tbzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjIuaHRtbCI+cC1wPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMy5odG1sIj5xLXI8L2E+Cis8YSBocmVmPSJBUEljaHVuazI0Lmh0bWwiPnMtczwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjUuaHRtbCI+dC10PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNi5odG1sIj51LXY8L2E+Cis8YSBocmVmPSJBUEljaHVuazI3Lmh0bWwiPnctdzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjguaHRtbCI+eC14PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyOS5odG1sIj55LXo8L2E+Cis8L2gyPjxoMj5MZXR0ZXIgZTo8L2gyPjxkbD48ZHQ+ZWFjaDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI194bWxQYXJzZXJDdHh0Ij5feG1sUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoQ29weSI+eG1sSGFzaENvcHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFNjYW4iPnhtbEhhc2hTY2FuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hTY2FuMyI+eG1sSGFzaFNjYW4zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hTY2FuRnVsbCI+eG1sSGFzaFNjYW5GdWxsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hTY2FuRnVsbDMiPnhtbEhhc2hTY2FuRnVsbDM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUF0dHJpYnV0ZVR5cGUiPnhtbFBhcnNlQXR0cmlidXRlVHlwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sU2V0R2VuZXJpY0Vycm9yRnVuYyI+eG1sU2V0R2VuZXJpY0Vycm9yRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sU2V0U3RydWN0dXJlZEVycm9yRnVuYyI+eG1sU2V0U3RydWN0dXJlZEVycm9yRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVPbmVFbGVtZW50Ij54bWxWYWxpZGF0ZU9uZUVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoSWRGdW5jdGlvbiI+eG1sWFBhdGhJZEZ1bmN0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFN1YnN0cmluZ0Z1bmN0aW9uIj54bWxYUGF0aFN1YnN0cmluZ0Z1bmN0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+ZWRpdGlvbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbENoZWNrTGFuZ3VhZ2VJRCI+eG1sQ2hlY2tMYW5ndWFnZUlEPC9hPjxiciAvPgorPC9kZD48ZHQ+ZWZmZWN0PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHRTZXRDYWNoZSI+eG1sWFBhdGhDb250ZXh0U2V0Q2FjaGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5lZmZlY3RpdmU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sTG9hZENhdGFsb2ciPnhtbExvYWRDYXRhbG9nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbExvYWRDYXRhbG9ncyI+eG1sTG9hZENhdGFsb2dzPC9hPjxiciAvPgorPC9kZD48ZHQ+ZWZmaWNpZW5jeTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbEJ1aWxkUmVsYXRpdmVVUkkiPnhtbEJ1aWxkUmVsYXRpdmVVUkk8L2E+PGJyIC8+Cis8L2RkPjxkdD5laXRoZXI8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbEJvb2xUb1RleHQiPnhtbEJvb2xUb1RleHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmR2V0Tm9kZUNvbnRlbnQiPnhtbEJ1ZkdldE5vZGVDb250ZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sQ3VycmVudENoYXIiPnhtbEN1cnJlbnRDaGFyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbExvYWRBQ2F0YWxvZyI+eG1sTG9hZEFDYXRhbG9nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVCdWZHZXRDb250ZW50Ij54bWxOb2RlQnVmR2V0Q29udGVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlR2V0Q29udGVudCI+eG1sTm9kZUdldENvbnRlbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVsZW1lbnRDaGlsZHJlbkNvbnRlbnREZWNsIj54bWxQYXJzZUVsZW1lbnRDaGlsZHJlbkNvbnRlbnREZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbGVtZW50Q29udGVudERlY2wiPnhtbFBhcnNlRWxlbWVudENvbnRlbnREZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VNYXJrdXBEZWNsIj54bWxQYXJzZU1hcmt1cERlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZVBFUmVmZXJlbmNlIj54bWxQYXJzZVBFUmVmZXJlbmNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VTdGFydFRhZyI+eG1sUGFyc2VTdGFydFRhZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlckhhbmRsZVBFUmVmZXJlbmNlIj54bWxQYXJzZXJIYW5kbGVQRVJlZmVyZW5jZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJOb3JtYWxpemF0aW9uIj54bWxUZXh0UmVhZGVyTm9ybWFsaXphdGlvbjwvYT48YnIgLz4KKzwvZGQ+PGR0PmVpdGhlcjo8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNyZXNvbHZlRW50aXR5Ij5yZXNvbHZlRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjcmVzb2x2ZUVudGl0eVNBWEZ1bmMiPnJlc29sdmVFbnRpdHlTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJSZXNvbHZlRW50aXR5Ij54bWxTQVgyUmVzb2x2ZUVudGl0eTwvYT48YnIgLz4KKzwvZGQ+PGR0PmVsZW08L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfRUxFTV9JTlRFUk5BTF9DSEVDS0VEIj5YTUxfU0NIRU1BU19FTEVNX0lOVEVSTkFMX0NIRUNLRUQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5lbGVtLTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNfeG1sRE9NV3JhcEN0eHQiPl94bWxET01XcmFwQ3R4dDwvYT48YnIgLz4KKzwvZGQ+PGR0PmVsZW1lbnQtPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbFN0cmVhbVB1c2hOb2RlIj54bWxTdHJlYW1QdXNoTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPcmRlckRvY0VsZW1zIj54bWxYUGF0aE9yZGVyRG9jRWxlbXM8L2E+PGJyIC8+Cis8L2RkPjxkdD5lbGVtZW50LW5vZGU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcFJlY29uY2lsZU5hbWVzcGFjZXMiPnhtbERPTVdyYXBSZWNvbmNpbGVOYW1lc3BhY2VzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbFN0cmVhbVB1c2giPnhtbFN0cmVhbVB1c2g8L2E+PGJyIC8+Cis8L2RkPjxkdD5lbGVtZW50LW5vZGVzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBBZG9wdE5vZGUiPnhtbERPTVdyYXBBZG9wdE5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcENsb25lTm9kZSI+eG1sRE9NV3JhcENsb25lTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwUmVjb25jaWxlTmFtZXNwYWNlcyI+eG1sRE9NV3JhcFJlY29uY2lsZU5hbWVzcGFjZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sU3RyZWFtV2FudHNBbnlOb2RlIj54bWxTdHJlYW1XYW50c0FueU5vZGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5lbGVtZW50Rm9ybURlZmF1bHQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfUVVBTElGX0VMRU0iPlhNTF9TQ0hFTUFTX1FVQUxJRl9FTEVNPC9hPjxiciAvPgorPC9kZD48ZHQ+ZWxlbWVudGRlY2w8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVsZW1lbnREZWNsIj54bWxQYXJzZUVsZW1lbnREZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VNYXJrdXBEZWNsIj54bWxQYXJzZU1hcmt1cERlY2w8L2E+PGJyIC8+Cis8L2RkPjxkdD5lbGVtZW50czwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCNYTUxfQ0FUQUxPR1NfTkFNRVNQQUNFIj5YTUxfQ0FUQUxPR1NfTkFNRVNQQUNFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX0NPTVBMRVRFX0FUVFJTIj5YTUxfQ09NUExFVEVfQVRUUlM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfQVRUUl9HTE9CQUwiPlhNTF9TQ0hFTUFTX0FUVFJfR0xPQkFMPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0FUVFJfTlNERUZBVUxUIj5YTUxfU0NIRU1BU19BVFRSX05TREVGQVVMVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19FTEVNX05TREVGQVVMVCI+WE1MX1NDSEVNQVNfRUxFTV9OU0RFRkFVTFQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjX3htbER0ZCI+X3htbER0ZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sRWxlbWVudEFsbG93ZWRIZXJlIj5odG1sRWxlbWVudEFsbG93ZWRIZXJlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxOb2RlU3RhdHVzIj5odG1sTm9kZVN0YXR1czwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhsaW5rLmh0bWwjeGxpbmtJc0xpbmsiPnhsaW5rSXNMaW5rPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGljdC5odG1sI3htbERpY3RTaXplIj54bWxEaWN0U2l6ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCN4bWxGcmVlUGF0dGVybkxpc3QiPnhtbEZyZWVQYXR0ZXJuTGlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoU2l6ZSI+eG1sSGFzaFNpemU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxMaW5lTnVtYmVyc0RlZmF1bHQiPnhtbExpbmVOdW1iZXJzRGVmYXVsdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0TWVyZ2UiPnhtbExpc3RNZXJnZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0UmV2ZXJzZSI+eG1sTGlzdFJldmVyc2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdFNpemUiPnhtbExpc3RTaXplPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3RTb3J0Ij54bWxMaXN0U29ydDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQXR0cmlidXRlVHlwZSI+eG1sUGFyc2VBdHRyaWJ1dGVUeXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VEZWZhdWx0RGVjbCI+eG1sUGFyc2VEZWZhdWx0RGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlU0REZWNsIj54bWxQYXJzZVNERGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxQd2QiPnhtbFNoZWxsUHdkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlckVuZERvY3VtZW50Ij54bWxUZXh0V3JpdGVyRW5kRG9jdW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoSWRGdW5jdGlvbiI+eG1sWFBhdGhJZEZ1bmN0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9yZGVyRG9jRWxlbXMiPnhtbFhQYXRoT3JkZXJEb2NFbGVtczwvYT48YnIgLz4KKzwvZGQ+PGR0PmVsc2U8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjVVRGOFRvSHRtbCI+VVRGOFRvSHRtbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjVVRGOFRvaXNvbGF0MSI+VVRGOFRvaXNvbGF0MTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiRW5jb2RlRW50aXRpZXMiPmRvY2JFbmNvZGVFbnRpdGllczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sRW5jb2RlRW50aXRpZXMiPmh0bWxFbmNvZGVFbnRpdGllczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjaXNvbGF0MVRvVVRGOCI+aXNvbGF0MVRvVVRGODwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nSW5wdXRGdW5jIj54bWxDaGFyRW5jb2RpbmdJbnB1dEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZ091dHB1dEZ1bmMiPnhtbENoYXJFbmNvZGluZ091dHB1dEZ1bmM8L2E+PGJyIC8+Cis8L2RkPjxkdD5lbWJlZGRlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjWE1MX0NUWFRfRklOSVNIX0RURF8wIj5YTUxfQ1RYVF9GSU5JU0hfRFREXzA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI1hNTF9DVFhUX0ZJTklTSF9EVERfMSI+WE1MX0NUWFRfRklOSVNIX0RURF8xPC9hPjxiciAvPgorPC9kZD48ZHQ+ZW1pdHRlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sU2V0R2VuZXJpY0Vycm9yRnVuYyI+eG1sU2V0R2VuZXJpY0Vycm9yRnVuYzwvYT48YnIgLz4KKzwvZGQ+PGR0PmVtcHR5LWVsZW1lbnQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZVN0YXJ0VGFnIj54bWxQYXJzZVN0YXJ0VGFnPC9hPjxiciAvPgorPC9kZD48ZHQ+ZW5hYmxlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dTZXREZWJ1ZyI+eG1sQ2F0YWxvZ1NldERlYnVnPC9hPjxiciAvPgorPC9kZD48ZHQ+ZW5hYmxlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTYXZlRmlsZSI+eG1sU2F2ZUZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2F2ZUZvcm1hdEZpbGUiPnhtbFNhdmVGb3JtYXRGaWxlPC9hPjxiciAvPgorPC9kZD48ZHQ+ZW5hYmxlczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0U2V0Q2FjaGUiPnhtbFhQYXRoQ29udGV4dFNldENhY2hlPC9hPjxiciAvPgorPC9kZD48ZHQ+ZW5hYmxpbmc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxMaW5lTnVtYmVyc0RlZmF1bHQiPnhtbExpbmVOdW1iZXJzRGVmYXVsdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBlZGFudGljUGFyc2VyRGVmYXVsdCI+eG1sUGVkYW50aWNQYXJzZXJEZWZhdWx0PC9hPjxiciAvPgorPC9kZD48ZHQ+ZW5jPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lIj54bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lPC9hPjxiciAvPgorPC9kZD48ZHQ+ZW5jYXBzdWxhdGU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyRnJlZSI+eG1sQnVmZmVyRnJlZTwvYT48YnIgLz4KKzwvZGQ+PGR0PmVuY2Fwc3VsYXRpbmc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjX2h0bWxFbGVtRGVzYyI+X2h0bWxFbGVtRGVzYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbE5ld0lPSW5wdXRTdHJlYW0iPnhtbE5ld0lPSW5wdXRTdHJlYW08L2E+PGJyIC8+Cis8L2RkPjxkdD5lbmNsb3NlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclF1b3RlQ2hhciI+eG1sVGV4dFJlYWRlclF1b3RlQ2hhcjwvYT48YnIgLz4KKzwvZGQ+PGR0PmVuY29kZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZUJhc2U2NCI+eG1sVGV4dFdyaXRlcldyaXRlQmFzZTY0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlQmluSGV4Ij54bWxUZXh0V3JpdGVyV3JpdGVCaW5IZXg8L2E+PGJyIC8+Cis8L2RkPjxkdD5lbmNvZGVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCNfeG1sT3V0cHV0QnVmZmVyIj5feG1sT3V0cHV0QnVmZmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjX3htbFBhcnNlcklucHV0Ij5feG1sUGFyc2VySW5wdXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI194bWxQYXJzZXJJbnB1dEJ1ZmZlciI+X3htbFBhcnNlcklucHV0QnVmZmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hlY2tVVEY4Ij54bWxDaGVja1VURjg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxHZXRVVEY4Q2hhciI+eG1sR2V0VVRGOENoYXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxTcGxpdFFOYW1lIj54bWxTcGxpdFFOYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3RyY2F0Ij54bWxTdHJjYXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJkdXAiPnhtbFN0cmR1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZUJhc2U2NCI+eG1sVGV4dFdyaXRlcldyaXRlQmFzZTY0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlQmluSGV4Ij54bWxUZXh0V3JpdGVyV3JpdGVCaW5IZXg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxVVEY4U3RybGVuIj54bWxVVEY4U3RybGVuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sVVRGOFN0cnNpemUiPnhtbFVURjhTdHJzaXplPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sVVRGOFN0cnN1YiI+eG1sVVRGOFN0cnN1YjwvYT48YnIgLz4KKzwvZGQ+PGR0PmVuY29kZXI8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI194bWxPdXRwdXRCdWZmZXIiPl94bWxPdXRwdXRCdWZmZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI194bWxQYXJzZXJJbnB1dEJ1ZmZlciI+X3htbFBhcnNlcklucHV0QnVmZmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jT3V0RnVuYyI+eG1sQ2hhckVuY091dEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZ091dHB1dEZ1bmMiPnhtbENoYXJFbmNvZGluZ091dHB1dEZ1bmM8L2E+PGJyIC8+Cis8L2RkPjxkdD5lbmNvZGVyPT1OVUxMPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtYzE0bi5odG1sI3htbEMxNE5Eb2NTYXZlVG8iPnhtbEMxNE5Eb2NTYXZlVG88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jMTRuLmh0bWwjeG1sQzE0TkV4ZWN1dGUiPnhtbEMxNE5FeGVjdXRlPC9hPjxiciAvPgorPC9kZD48ZHQ+ZW5jb25kaW5nPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jQ2xvc2VGdW5jIj54bWxDaGFyRW5jQ2xvc2VGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jRmlyc3RMaW5lIj54bWxDaGFyRW5jRmlyc3RMaW5lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jT3V0RnVuYyI+eG1sQ2hhckVuY091dEZ1bmM8L2E+PGJyIC8+Cis8L2RkPjxkdD5lbmNvdW50ZXJlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjeG1sRW5jb2RlRW50aXRpZXMiPnhtbEVuY29kZUVudGl0aWVzPC9hPjxiciAvPgorPC9kZD48ZHQ+ZW5jb3VudGVyaW5nPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI1hNTF9DQVNUX0ZQVFIiPlhNTF9DQVNUX0ZQVFI8L2E+PGJyIC8+Cis8L2RkPjxkdD5lbmQtdGFnPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbGVtZW50Ij54bWxQYXJzZUVsZW1lbnQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5lbmQtdXA8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZVJlZmVyZW5jZSI+eG1sUGFyc2VSZWZlcmVuY2U8L2E+PGJyIC8+Cis8L2RkPjxkdD5lbmRlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTRORG9jRHVtcE1lbW9yeSI+eG1sQzE0TkRvY0R1bXBNZW1vcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jMTRuLmh0bWwjeG1sQzE0TkRvY1NhdmUiPnhtbEMxNE5Eb2NTYXZlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtYzE0bi5odG1sI3htbEMxNE5Eb2NTYXZlVG8iPnhtbEMxNE5Eb2NTYXZlVG88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jMTRuLmh0bWwjeG1sQzE0TkV4ZWN1dGUiPnhtbEMxNE5FeGVjdXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbENsZWFudXBUaHJlYWRzIj54bWxDbGVhbnVwVGhyZWFkczwvYT48YnIgLz4KKzwvZGQ+PGR0PmVuZGluZzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ck5ld0NvbGxhcHNlZFJhbmdlIj54bWxYUHRyTmV3Q29sbGFwc2VkUmFuZ2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJOZXdSYW5nZSI+eG1sWFB0ck5ld1JhbmdlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyTmV3UmFuZ2VOb2RlT2JqZWN0Ij54bWxYUHRyTmV3UmFuZ2VOb2RlT2JqZWN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyTmV3UmFuZ2VOb2RlUG9pbnQiPnhtbFhQdHJOZXdSYW5nZU5vZGVQb2ludDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ck5ld1JhbmdlTm9kZXMiPnhtbFhQdHJOZXdSYW5nZU5vZGVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyTmV3UmFuZ2VQb2ludE5vZGUiPnhtbFhQdHJOZXdSYW5nZVBvaW50Tm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ck5ld1JhbmdlUG9pbnRzIj54bWxYUHRyTmV3UmFuZ2VQb2ludHM8L2E+PGJyIC8+Cis8L2RkPjxkdD5lbmRzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjX3htbFBhcnNlck5vZGVJbmZvIj5feG1sUGFyc2VyTm9kZUluZm88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQQ2xvc2UiPnhtbE5hbm9IVFRQQ2xvc2U8L2E+PGJyIC8+Cis8L2RkPjxkdD5lbmZvcmNlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI1hNTF9NQVhfTE9PS1VQX0xJTUlUIj5YTUxfTUFYX0xPT0tVUF9MSU1JVDwvYT48YnIgLz4KKzwvZGQ+PGR0PmVuZ2luZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhBeGlzRnVuYyI+eG1sWFBhdGhBeGlzRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhGdW5jTG9va3VwRnVuYyI+eG1sWFBhdGhGdW5jTG9va3VwRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhWYXJpYWJsZUxvb2t1cEZ1bmMiPnhtbFhQYXRoVmFyaWFibGVMb29rdXBGdW5jPC9hPjxiciAvPgorPC9kZD48ZHQ+ZW5nbG9iaW5nPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwRXhwRGVyaXZlIj54bWxFeHBFeHBEZXJpdmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBTdWJzdW1lIj54bWxFeHBTdWJzdW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxTbnByaW50ZkVsZW1lbnRDb250ZW50Ij54bWxTbnByaW50ZkVsZW1lbnRDb250ZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxTcHJpbnRmRWxlbWVudENvbnRlbnQiPnhtbFNwcmludGZFbGVtZW50Q29udGVudDwvYT48YnIgLz4KKzwvZGQ+PGR0PmVuaGFuY2VtZW50czwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sTm9kZVN0YXR1cyI+aHRtbE5vZGVTdGF0dXM8L2E+PGJyIC8+Cis8L2RkPjxkdD5lbm91Z2g8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVpbGRRTmFtZSI+eG1sQnVpbGRRTmFtZTwvYT48YnIgLz4KKzwvZGQ+PGR0PmVuc3VyZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxDb3B5Tm9kZUxpc3QiPnhtbENvcHlOb2RlTGlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdUZXh0Q2hpbGQiPnhtbE5ld1RleHRDaGlsZDwvYT48YnIgLz4KKzwvZGQ+PGR0PmVuc3VyZXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcEFkb3B0Tm9kZSI+eG1sRE9NV3JhcEFkb3B0Tm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwQ2xvbmVOb2RlIj54bWxET01XcmFwQ2xvbmVOb2RlPC9hPjxiciAvPgorPC9kZD48ZHQ+ZW5zdXJpbmc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcFJlbW92ZU5vZGUiPnhtbERPTVdyYXBSZW1vdmVOb2RlPC9hPjxiciAvPgorPC9kZD48ZHQ+ZW50aXJlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxDbGVhbnVwSW5wdXRDYWxsYmFja3MiPnhtbENsZWFudXBJbnB1dENhbGxiYWNrczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sQ2xlYW51cE91dHB1dENhbGxiYWNrcyI+eG1sQ2xlYW51cE91dHB1dENhbGxiYWNrczwvYT48YnIgLz4KKzwvZGQ+PGR0PmVudGl0aWVzOjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRW50aXR5UmVmIj54bWxQYXJzZUVudGl0eVJlZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlckhhbmRsZVJlZmVyZW5jZSI+eG1sUGFyc2VySGFuZGxlUmVmZXJlbmNlPC9hPjxiciAvPgorPC9kZD48ZHQ+ZW50cHJvYzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlckhhbmRsZVBFUmVmZXJlbmNlIj54bWxQYXJzZXJIYW5kbGVQRVJlZmVyZW5jZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlckhhbmRsZVJlZmVyZW5jZSI+eG1sUGFyc2VySGFuZGxlUmVmZXJlbmNlPC9hPjxiciAvPgorPC9kZD48ZHQ+ZW50cmllczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxBQ2F0YWxvZ0FkZCI+eG1sQUNhdGFsb2dBZGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQUNhdGFsb2dSZW1vdmUiPnhtbEFDYXRhbG9nUmVtb3ZlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dBZGQiPnhtbENhdGFsb2dBZGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ0NvbnZlcnQiPnhtbENhdGFsb2dDb252ZXJ0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dSZW1vdmUiPnhtbENhdGFsb2dSZW1vdmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ29udmVydFNHTUxDYXRhbG9nIj54bWxDb252ZXJ0U0dNTENhdGFsb2c8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcEFkb3B0Tm9kZSI+eG1sRE9NV3JhcEFkb3B0Tm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwQ2xvbmVOb2RlIj54bWxET01XcmFwQ2xvbmVOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hBZGRFbnRyeTMiPnhtbEhhc2hBZGRFbnRyeTM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sTG9hZEFDYXRhbG9nIj54bWxMb2FkQUNhdGFsb2c8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sTG9hZENhdGFsb2ciPnhtbExvYWRDYXRhbG9nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbExvYWRTR01MU3VwZXJDYXRhbG9nIj54bWxMb2FkU0dNTFN1cGVyQ2F0YWxvZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1lbVNob3ciPnhtbE1lbVNob3c8L2E+PGJyIC8+Cis8L2RkPjxkdD5lbnRyeTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxBQ2F0YWxvZ0FkZCI+eG1sQUNhdGFsb2dBZGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQUNhdGFsb2dSZW1vdmUiPnhtbEFDYXRhbG9nUmVtb3ZlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dBZGQiPnhtbENhdGFsb2dBZGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ0FkZExvY2FsIj54bWxDYXRhbG9nQWRkTG9jYWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ1JlbW92ZSI+eG1sQ2F0YWxvZ1JlbW92ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoVXBkYXRlRW50cnkiPnhtbEhhc2hVcGRhdGVFbnRyeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoVXBkYXRlRW50cnkyIj54bWxIYXNoVXBkYXRlRW50cnkyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hVcGRhdGVFbnRyeTMiPnhtbEhhc2hVcGRhdGVFbnRyeTM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9kZVNldFJlbW92ZSI+eG1sWFBhdGhOb2RlU2V0UmVtb3ZlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyTG9jYXRpb25TZXRSZW1vdmUiPnhtbFhQdHJMb2NhdGlvblNldFJlbW92ZTwvYT48YnIgLz4KKzwvZGQ+PGR0PmVudW1lcmF0ZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGVEZWNsIj5hdHRyaWJ1dGVEZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjYXR0cmlidXRlRGVjbFNBWEZ1bmMiPmF0dHJpYnV0ZURlY2xTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJBdHRyaWJ1dGVEZWNsIj54bWxTQVgyQXR0cmlidXRlRGVjbDwvYT48YnIgLz4KKzwvZGQ+PGR0PmVudW1lcmF0aW9uPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI194bWxBdHRyaWJ1dGUiPl94bWxBdHRyaWJ1dGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEFkZEF0dHJpYnV0ZURlY2wiPnhtbEFkZEF0dHJpYnV0ZURlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbENvcHlFbnVtZXJhdGlvbiI+eG1sQ29weUVudW1lcmF0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxDcmVhdGVFbnVtZXJhdGlvbiI+eG1sQ3JlYXRlRW51bWVyYXRpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEZyZWVFbnVtZXJhdGlvbiI+eG1sRnJlZUVudW1lcmF0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VBdHRyaWJ1dGVUeXBlIj54bWxQYXJzZUF0dHJpYnV0ZVR5cGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVudW1lcmF0ZWRUeXBlIj54bWxQYXJzZUVudW1lcmF0ZWRUeXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbnVtZXJhdGlvblR5cGUiPnhtbFBhcnNlRW51bWVyYXRpb25UeXBlPC9hPjxiciAvPgorPC9kZD48ZHQ+ZW52aXJvbm1lbnQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUFByb3h5Ij54bWxOYW5vRlRQUHJveHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sUmVjb25jaWxpYXRlTnMiPnhtbFJlY29uY2lsaWF0ZU5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbCI+eG1sU2hlbGw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoSW5pdCI+eG1sWFBhdGhJbml0PC9hPjxiciAvPgorPC9kZD48ZHQ+ZXBzaWxvbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdBbGxUcmFucyI+eG1sQXV0b21hdGFOZXdBbGxUcmFuczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdDb3VudGVkVHJhbnMiPnhtbEF1dG9tYXRhTmV3Q291bnRlZFRyYW5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld0NvdW50ZXJUcmFucyI+eG1sQXV0b21hdGFOZXdDb3VudGVyVHJhbnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhTmV3RXBzaWxvbiI+eG1sQXV0b21hdGFOZXdFcHNpbG9uPC9hPjxiciAvPgorPC9kZD48ZHQ+ZXF1YWw8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQWRkQ2hpbGQiPnhtbEFkZENoaWxkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEFkZE5leHRTaWJsaW5nIj54bWxBZGROZXh0U2libGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxBZGRQcmV2U2libGluZyI+eG1sQWRkUHJldlNpYmxpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJFcXVhbCI+eG1sU3RyRXF1YWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJRRXF1YWwiPnhtbFN0clFFcXVhbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJDb25zdE5hbWUiPnhtbFRleHRSZWFkZXJDb25zdE5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyTmFtZSI+eG1sVGV4dFJlYWRlck5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoQ29tcGFyZVZhbHVlcyI+eG1sWFBhdGhDb21wYXJlVmFsdWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEVxdWFsVmFsdWVzIj54bWxYUGF0aEVxdWFsVmFsdWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aEV2YWxQcmVkaWNhdGUiPnhtbFhQYXRoRXZhbFByZWRpY2F0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhFdmFsdWF0ZVByZWRpY2F0ZVJlc3VsdCI+eG1sWFBhdGhFdmFsdWF0ZVByZWRpY2F0ZVJlc3VsdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhJZEZ1bmN0aW9uIj54bWxYUGF0aElkRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm90RXF1YWxWYWx1ZXMiPnhtbFhQYXRoTm90RXF1YWxWYWx1ZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUG9zaXRpb25GdW5jdGlvbiI+eG1sWFBhdGhQb3NpdGlvbkZ1bmN0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFN1YnN0cmluZ0Z1bmN0aW9uIj54bWxYUGF0aFN1YnN0cmluZ0Z1bmN0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+ZXF1YWxpdHk8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNfeG1sUGFyc2VySW5wdXQiPl94bWxQYXJzZXJJbnB1dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0RGF0YUNvbXBhcmUiPnhtbExpc3REYXRhQ29tcGFyZTwvYT48YnIgLz4KKzwvZGQ+PGR0PmVxdWl2YWxlbnQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNYWxsb2NBdG9taWNMb2MiPnhtbE1hbGxvY0F0b21pY0xvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1hbGxvY0xvYyI+eG1sTWFsbG9jTG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWVtRnJlZSI+eG1sTWVtRnJlZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1lbU1hbGxvYyI+eG1sTWVtTWFsbG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWVtUmVhbGxvYyI+eG1sTWVtUmVhbGxvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1lbVN0cmR1cExvYyI+eG1sTWVtU3RyZHVwTG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWVtb3J5U3RyZHVwIj54bWxNZW1vcnlTdHJkdXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUxpc3RHZXRSYXdTdHJpbmciPnhtbE5vZGVMaXN0R2V0UmF3U3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVMaXN0R2V0U3RyaW5nIj54bWxOb2RlTGlzdEdldFN0cmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbFJlYWxsb2NMb2MiPnhtbFJlYWxsb2NMb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxVVEY4U3RycG9zIj54bWxVVEY4U3RycG9zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENhc3RUb1N0cmluZyI+eG1sWFBhdGhDYXN0VG9TdHJpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udmVydEJvb2xlYW4iPnhtbFhQYXRoQ29udmVydEJvb2xlYW48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udmVydE51bWJlciI+eG1sWFBhdGhDb252ZXJ0TnVtYmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbnZlcnRTdHJpbmciPnhtbFhQYXRoQ29udmVydFN0cmluZzwvYT48YnIgLz4KKzwvZGQ+PGR0PmVzY2FwZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiRW5jb2RlRW50aXRpZXMiPmRvY2JFbmNvZGVFbnRpdGllczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sRW5jb2RlRW50aXRpZXMiPmh0bWxFbmNvZGVFbnRpdGllczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbFVSSUVzY2FwZSI+eG1sVVJJRXNjYXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sVVJJRXNjYXBlU3RyIj54bWxVUklFc2NhcGVTdHI8L2E+PGJyIC8+Cis8L2RkPjxkdD5lc2NhcGVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld0NoaWxkIj54bWxOZXdDaGlsZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdEb2NOb2RlIj54bWxOZXdEb2NOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld0RvY05vZGVFYXROYW1lIj54bWxOZXdEb2NOb2RlRWF0TmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdUZXh0Q2hpbGQiPnhtbE5ld1RleHRDaGlsZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlU2V0Q29udGVudCI+eG1sTm9kZVNldENvbnRlbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVNldENvbnRlbnRMZW4iPnhtbE5vZGVTZXRDb250ZW50TGVuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VDRFNlY3QiPnhtbFBhcnNlQ0RTZWN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VDaGFyRGF0YSI+eG1sUGFyc2VDaGFyRGF0YTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbFNhdmVVcmkiPnhtbFNhdmVVcmk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxVUklFc2NhcGUiPnhtbFVSSUVzY2FwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbFVSSUVzY2FwZVN0ciI+eG1sVVJJRXNjYXBlU3RyPC9hPjxiciAvPgorPC9kZD48ZHQ+ZXNjYXBlczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0QnVmZmVyV3JpdGVFc2NhcGUiPnhtbE91dHB1dEJ1ZmZlcldyaXRlRXNjYXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sVVJJRXNjYXBlU3RyIj54bWxVUklFc2NhcGVTdHI8L2E+PGJyIC8+Cis8L2RkPjxkdD5lc2NhcGluZzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0QnVmZmVyV3JpdGVFc2NhcGUiPnhtbE91dHB1dEJ1ZmZlcldyaXRlRXNjYXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2F2ZS5odG1sI3htbFNhdmVTZXRBdHRyRXNjYXBlIj54bWxTYXZlU2V0QXR0ckVzY2FwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNhdmUuaHRtbCN4bWxTYXZlU2V0RXNjYXBlIj54bWxTYXZlU2V0RXNjYXBlPC9hPjxiciAvPgorPC9kZD48ZHQ+ZXNwZWNpYWxseTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cFBhcnNlIj54bWxFeHBQYXJzZTwvYT48YnIgLz4KKzwvZGQ+PGR0PmVzdGFibGlzaGVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBVcGRhdGVVUkwiPnhtbE5hbm9GVFBVcGRhdGVVUkw8L2E+PGJyIC8+Cis8L2RkPjxkdD5ldGM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjX3htbFNjaGVtYUZhY2V0Ij5feG1sU2NoZW1hRmFjZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRG9jR2V0Um9vdEVsZW1lbnQiPnhtbERvY0dldFJvb3RFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERvY1NldFJvb3RFbGVtZW50Ij54bWxEb2NTZXRSb290RWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlSW5Ob2RlQ29udGV4dCI+eG1sUGFyc2VJbk5vZGVDb250ZXh0PC9hPjxiciAvPgorPC9kZD48ZHQ+ZXZhbHVhdGU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRXZhbEV4cHIiPnhtbFhQYXRoRXZhbEV4cHI8L2E+PGJyIC8+Cis8L2RkPjxkdD5ldmFsdWF0ZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29tcGlsZWRFdmFsVG9Cb29sZWFuIj54bWxYUGF0aENvbXBpbGVkRXZhbFRvQm9vbGVhbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhFdmFsUHJlZGljYXRlIj54bWxYUGF0aEV2YWxQcmVkaWNhdGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRXZhbHVhdGVQcmVkaWNhdGVSZXN1bHQiPnhtbFhQYXRoRXZhbHVhdGVQcmVkaWNhdGVSZXN1bHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJOZXdDb250ZXh0Ij54bWxYUHRyTmV3Q29udGV4dDwvYT48YnIgLz4KKzwvZGQ+PGR0PmV2YWx1YXRpbmc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoRXZhbFByZWRpY2F0ZSI+eG1sWFBhdGhFdmFsUHJlZGljYXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEV2YWx1YXRlUHJlZGljYXRlUmVzdWx0Ij54bWxYUGF0aEV2YWx1YXRlUHJlZGljYXRlUmVzdWx0PC9hPjxiciAvPgorPC9kZD48ZHQ+ZXZhbHVhdGlvbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjX3htbFhQYXRoRnVuY3QiPl94bWxYUGF0aEZ1bmN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCNfeG1sWFBhdGhQYXJzZXJDb250ZXh0Ij5feG1sWFBhdGhQYXJzZXJDb250ZXh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN2YWx1ZVBvcCI+dmFsdWVQb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3ZhbHVlUHVzaCI+dmFsdWVQdXNoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnTmV3RXhlY0N0eHQiPnhtbFJlZ05ld0V4ZWNDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbFByaW50WFBhdGhSZXN1bHQiPnhtbFNoZWxsUHJpbnRYUGF0aFJlc3VsdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb21waWxlZEV2YWwiPnhtbFhQYXRoQ29tcGlsZWRFdmFsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aEV2YWwiPnhtbFhQYXRoRXZhbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhFdmFsRXhwcmVzc2lvbiI+eG1sWFBhdGhFdmFsRXhwcmVzc2lvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhFdmFsRnVuYyI+eG1sWFBhdGhFdmFsRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhFdmFsUHJlZGljYXRlIj54bWxYUGF0aEV2YWxQcmVkaWNhdGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRXZhbHVhdGVQcmVkaWNhdGVSZXN1bHQiPnhtbFhQYXRoRXZhbHVhdGVQcmVkaWNhdGVSZXN1bHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoTm9kZUV2YWwiPnhtbFhQYXRoTm9kZUV2YWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJCdWlsZE5vZGVMaXN0Ij54bWxYUHRyQnVpbGROb2RlTGlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ckV2YWwiPnhtbFhQdHJFdmFsPC9hPjxiciAvPgorPC9kZD48ZHQ+ZXZhdWxhdGlvbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ0ZyZWVFeGVjQ3R4dCI+eG1sUmVnRnJlZUV4ZWNDdHh0PC9hPjxiciAvPgorPC9kZD48ZHQ+ZXZlbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI194bWxQYXJzZXJJbnB1dCI+X3htbFBhcnNlcklucHV0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwTmV3T3IiPnhtbEV4cE5ld09yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwTmV3UmFuZ2UiPnhtbEV4cE5ld1JhbmdlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwTmV3U2VxIj54bWxFeHBOZXdTZXE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUdldEJhc2UiPnhtbE5vZGVHZXRCYXNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5UmVjb3ZlciI+eG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5UmVjb3ZlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJGdWxsRW5kRWxlbWVudCI+eG1sVGV4dFdyaXRlckZ1bGxFbmRFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJvdW5kRnVuY3Rpb24iPnhtbFhQYXRoUm91bmRGdW5jdGlvbjwvYT48YnIgLz4KKzwvZGQ+PGR0PmV2ZW50PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVNBWFBsdWciPnhtbFNjaGVtYVNBWFBsdWc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hU0FYVW5wbHVnIj54bWxTY2hlbWFTQVhVbnBsdWc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRhdGVTdHJlYW0iPnhtbFNjaGVtYVZhbGlkYXRlU3RyZWFtPC9hPjxiciAvPgorPC9kZD48ZHQ+ZXZlbnRzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxTQVhQYXJzZURvYyI+aHRtbFNBWFBhcnNlRG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkYXRlU3RyZWFtIj54bWxTY2hlbWFWYWxpZGF0ZVN0cmVhbTwvYT48YnIgLz4KKzwvZGQ+PGR0PmV2ZXI8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBDdHh0TmJDb25zIj54bWxFeHBDdHh0TmJDb25zPC9hPjxiciAvPgorPC9kZD48ZHQ+ZXZlcnl3aGVyZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNBWFBhcnNlRmlsZVdpdGhEYXRhIj54bWxTQVhQYXJzZUZpbGVXaXRoRGF0YTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNBWFBhcnNlTWVtb3J5V2l0aERhdGEiPnhtbFNBWFBhcnNlTWVtb3J5V2l0aERhdGE8L2E+PGJyIC8+Cis8L2RkPjxkdD5leGFjdDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxHZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lIj54bWxHZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUiPnhtbFNldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWU8L2E+PGJyIC8+Cis8L2RkPjxkdD5leGFtaW5lZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEhhc0ZlYXR1cmUiPnhtbEhhc0ZlYXR1cmU8L2E+PGJyIC8+Cis8L2RkPjxkdD5leGFtcGxlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZVN0YXRpYyI+eG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVTdGF0aWM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sUmVjb25jaWxpYXRlTnMiPnhtbFJlY29uY2lsaWF0ZU5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckNvbnN0U3RyaW5nIj54bWxUZXh0UmVhZGVyQ29uc3RTdHJpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU3Vic3RyaW5nQWZ0ZXJGdW5jdGlvbiI+eG1sWFBhdGhTdWJzdHJpbmdBZnRlckZ1bmN0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFN1YnN0cmluZ0JlZm9yZUZ1bmN0aW9uIj54bWxYUGF0aFN1YnN0cmluZ0JlZm9yZUZ1bmN0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFN1YnN0cmluZ0Z1bmN0aW9uIj54bWxYUGF0aFN1YnN0cmluZ0Z1bmN0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFRyYW5zbGF0ZUZ1bmN0aW9uIj54bWxYUGF0aFRyYW5zbGF0ZUZ1bmN0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+ZXhhbXBsZXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxCdWlsZFJlbGF0aXZlVVJJIj54bWxCdWlsZFJlbGF0aXZlVVJJPC9hPjxiciAvPgorPC9kZD48ZHQ+ZXhjZXB0PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld05lZ1RyYW5zIj54bWxBdXRvbWF0YU5ld05lZ1RyYW5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEdldE5vTnNQcm9wIj54bWxHZXROb05zUHJvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQXR0VmFsdWUiPnhtbFBhcnNlQXR0VmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sUGFyc2VDYXRhbG9nRmlsZSI+eG1sUGFyc2VDYXRhbG9nRmlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRW50aXR5UmVmIj54bWxQYXJzZUVudGl0eVJlZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlckhhbmRsZVJlZmVyZW5jZSI+eG1sUGFyc2VySGFuZGxlUmVmZXJlbmNlPC9hPjxiciAvPgorPC9kZD48ZHQ+ZXhjZXB0aW9uPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sVVJJRXNjYXBlU3RyIj54bWxVUklFc2NhcGVTdHI8L2E+PGJyIC8+Cis8L2RkPjxkdD5leGNsdWRpbmc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNJU19DSEFSIj5JU19DSEFSPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHRGb2xsb3dpbmciPnhtbFhQYXRoTmV4dEZvbGxvd2luZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXh0UHJlY2VkaW5nIj54bWxYUGF0aE5leHRQcmVjZWRpbmc8L2E+PGJyIC8+Cis8L2RkPjxkdD5leGNsdXNpb25zPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0VMRU1fRklOQUxfQUJTRU5UIj5YTUxfU0NIRU1BU19FTEVNX0ZJTkFMX0FCU0VOVDwvYT48YnIgLz4KKzwvZGQ+PGR0PmV4Y2x1c2lvbnM6PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0VMRU1fRklOQUxfRVhURU5TSU9OIj5YTUxfU0NIRU1BU19FTEVNX0ZJTkFMX0VYVEVOU0lPTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19FTEVNX0ZJTkFMX1JFU1RSSUNUSU9OIj5YTUxfU0NIRU1BU19FTEVNX0ZJTkFMX1JFU1RSSUNUSU9OPC9hPjxiciAvPgorPC9kZD48ZHQ+ZXhjbHVzaXZlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtYzE0bi5odG1sI3htbEMxNE5Eb2NEdW1wTWVtb3J5Ij54bWxDMTRORG9jRHVtcE1lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTRORG9jU2F2ZSI+eG1sQzE0TkRvY1NhdmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jMTRuLmh0bWwjeG1sQzE0TkRvY1NhdmVUbyI+eG1sQzE0TkRvY1NhdmVUbzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTRORXhlY3V0ZSI+eG1sQzE0TkV4ZWN1dGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5leGVjdXRlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFDb21waWxlIj54bWxBdXRvbWF0YUNvbXBpbGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5leGVjdXRpb248L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdFeGVjRXJySW5mbyI+eG1sUmVnRXhlY0VyckluZm88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdFeGVjTmV4dFZhbHVlcyI+eG1sUmVnRXhlY05leHRWYWx1ZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdFeGVjUHVzaFN0cmluZyI+eG1sUmVnRXhlY1B1c2hTdHJpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdFeGVjUHVzaFN0cmluZzIiPnhtbFJlZ0V4ZWNQdXNoU3RyaW5nMjwvYT48YnIgLz4KKzwvZGQ+PGR0PmV4aXN0PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sSGFzRmVhdHVyZSI+eG1sSGFzRmVhdHVyZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ckxvY2F0aW9uU2V0QWRkIj54bWxYUHRyTG9jYXRpb25TZXRBZGQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5leGlzdGVudDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwQWRvcHROb2RlIj54bWxET01XcmFwQWRvcHROb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBDbG9uZU5vZGUiPnhtbERPTVdyYXBDbG9uZU5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcFJlY29uY2lsZU5hbWVzcGFjZXMiPnhtbERPTVdyYXBSZWNvbmNpbGVOYW1lc3BhY2VzPC9hPjxiciAvPgorPC9kZD48ZHQ+ZXhpc3RzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtZGljdC5odG1sI3htbERpY3RFeGlzdHMiPnhtbERpY3RFeGlzdHM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsUHdkIj54bWxTaGVsbFB3ZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJDb25zdFhtbExhbmciPnhtbFRleHRSZWFkZXJDb25zdFhtbExhbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyWG1sTGFuZyI+eG1sVGV4dFJlYWRlclhtbExhbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlTm90YXRpb25EZWNsIj54bWxWYWxpZGF0ZU5vdGF0aW9uRGVjbDwvYT48YnIgLz4KKzwvZGQ+PGR0PmV4aXQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxDbGVhbnVwUGFyc2VyIj54bWxDbGVhbnVwUGFyc2VyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbENsZWFudXBUaHJlYWRzIj54bWxDbGVhbnVwVGhyZWFkczwvYT48YnIgLz4KKzwvZGQ+PGR0PmV4cGFuZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxMb2FkU0dNTFN1cGVyQ2F0YWxvZyI+eG1sTG9hZFNHTUxTdXBlckNhdGFsb2c8L2E+PGJyIC8+Cis8L2RkPjxkdD5leHBhbmRlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HVmFsaWRhdGVGdWxsRWxlbWVudCI+eG1sUmVsYXhOR1ZhbGlkYXRlRnVsbEVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFOZXdTdHJpbmdWYWx1ZSI+eG1sU2NoZW1hTmV3U3RyaW5nVmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmFtZXNwYWNlVVJJRnVuY3Rpb24iPnhtbFhQYXRoTmFtZXNwYWNlVVJJRnVuY3Rpb248L2E+PGJyIC8+Cis8L2RkPjxkdD5leHBlY3RlZDwvZHQ+PGRkPjxhIGhyZWY9IiI+eDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJDcmVhdGVTdGF0aWMiPnhtbEJ1ZmZlckNyZWF0ZVN0YXRpYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVTdGF0aWMiPnhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlU3RhdGljPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdOZXdNZW1QYXJzZXJDdHh0Ij54bWxSZWxheE5HTmV3TWVtUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HTmV3UGFyc2VyQ3R4dCI+eG1sUmVsYXhOR05ld1BhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hTmV3TWVtUGFyc2VyQ3R4dCI+eG1sU2NoZW1hTmV3TWVtUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFOZXdQYXJzZXJDdHh0Ij54bWxTY2hlbWFOZXdQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hVmFsaWRhdGVMaXN0U2ltcGxlVHlwZUZhY2V0Ij54bWxTY2hlbWFWYWxpZGF0ZUxpc3RTaW1wbGVUeXBlRmFjZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvbk5ld01lbVBhcnNlckN0eHQiPnhtbFNjaGVtYXRyb25OZXdNZW1QYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hdHJvbi5odG1sI3htbFNjaGVtYXRyb25OZXdQYXJzZXJDdHh0Ij54bWxTY2hlbWF0cm9uTmV3UGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCN4bWxTdHJlYW1QdXNoIj54bWxTdHJlYW1QdXNoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbFN0cmVhbVB1c2hBdHRyIj54bWxTdHJlYW1QdXNoQXR0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCN4bWxTdHJlYW1QdXNoTm9kZSI+eG1sU3RyZWFtUHVzaE5vZGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5leHBsaWNpdGx5PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWERlZmF1bHRWZXJzaW9uIj54bWxTQVhEZWZhdWx0VmVyc2lvbjwvYT48YnIgLz4KKzwvZGQ+PGR0PmV4cGxvcmVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aEF4aXNGdW5jIj54bWxYUGF0aEF4aXNGdW5jPC9hPjxiciAvPgorPC9kZD48ZHQ+ZXhwb3Npbmc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUmVhZCI+eG1sVGV4dFJlYWRlclJlYWQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5leHByZXNzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI0xJQlhNTDJfTkVXX0JVRkZFUiI+TElCWE1MMl9ORVdfQlVGRkVSPC9hPjxiciAvPgorPC9kZD48ZHQ+ZXhwcmVzc2luZzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbFBhdGhUb1VSSSI+eG1sUGF0aFRvVVJJPC9hPjxiciAvPgorPC9kZD48ZHQ+ZXhwcmVzc2lvbnM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX0VYUFJfRU5BQkxFRCI+TElCWE1MX0VYUFJfRU5BQkxFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfUkVHRVhQX0VOQUJMRUQiPkxJQlhNTF9SRUdFWFBfRU5BQkxFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cEV4cERlcml2ZSI+eG1sRXhwRXhwRGVyaXZlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwTmV3Q3R4dCI+eG1sRXhwTmV3Q3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cFBhcnNlIj54bWxFeHBQYXJzZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cFN1YnN1bWUiPnhtbEV4cFN1YnN1bWU8L2E+PGJyIC8+Cis8L2RkPjxkdD5leHNsU2V0c0Rpc3RpbmN0U29ydGVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aERpc3RpbmN0Ij54bWxYUGF0aERpc3RpbmN0PC9hPjxiciAvPgorPC9kZD48ZHQ+ZXhzbFNldHNMZWFkaW5nU29ydGVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aExlYWRpbmciPnhtbFhQYXRoTGVhZGluZzwvYT48YnIgLz4KKzwvZGQ+PGR0PmV4c2xTZXRzTm9kZUxlYWRpbmdTb3J0ZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9kZUxlYWRpbmciPnhtbFhQYXRoTm9kZUxlYWRpbmc8L2E+PGJyIC8+Cis8L2RkPjxkdD5leHQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNfeG1sUGFyc2VyQ3R4dCI+X3htbFBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5leHRQYXJzZWRFbnQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUN0eHRFeHRlcm5hbEVudGl0eSI+eG1sUGFyc2VDdHh0RXh0ZXJuYWxFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUVudGl0eSI+eG1sUGFyc2VFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUV4dFBhcnNlZEVudCI+eG1sUGFyc2VFeHRQYXJzZWRFbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUV4dGVybmFsRW50aXR5Ij54bWxQYXJzZUV4dGVybmFsRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYUGFyc2VFbnRpdHkiPnhtbFNBWFBhcnNlRW50aXR5PC9hPjxiciAvPgorPC9kZD48ZHQ+ZXh0U3Vic2V0PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFeHRlcm5hbFN1YnNldCI+eG1sUGFyc2VFeHRlcm5hbFN1YnNldDwvYT48YnIgLz4KKzwvZGQ+PGR0PmV4dFN1YnNldERlY2w8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUV4dGVybmFsU3Vic2V0Ij54bWxQYXJzZUV4dGVybmFsU3Vic2V0PC9hPjxiciAvPgorPC9kZD48ZHQ+ZXh0ZW5kPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3RybmNhdCI+eG1sU3RybmNhdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRHZXRQb3RlbnRpYWxDaGlsZHJlbiI+eG1sVmFsaWRHZXRQb3RlbnRpYWxDaGlsZHJlbjwvYT48YnIgLz4KKzwvZGQ+PGR0PmV4dGVuZGVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteGxpbmsuaHRtbCN4bGlua0V4dGVuZGVkTGlua0Z1bmsiPnhsaW5rRXh0ZW5kZWRMaW5rRnVuazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhsaW5rLmh0bWwjeGxpbmtFeHRlbmRlZExpbmtTZXRGdW5rIj54bGlua0V4dGVuZGVkTGlua1NldEZ1bms8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxDaGVja0xhbmd1YWdlSUQiPnhtbENoZWNrTGFuZ3VhZ2VJRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb2RlU2V0TWVyZ2UiPnhtbFhQYXRoTm9kZVNldE1lcmdlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyTG9jYXRpb25TZXRNZXJnZSI+eG1sWFB0ckxvY2F0aW9uU2V0TWVyZ2U8L2E+PGJyIC8+Cis8L2RkPjxkdD5leHRlbnNpb248L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfQkxPQ0tfREVGQVVMVF9FWFRFTlNJT04iPlhNTF9TQ0hFTUFTX0JMT0NLX0RFRkFVTFRfRVhURU5TSU9OPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0VMRU1fRklOQUxfRVhURU5TSU9OIj5YTUxfU0NIRU1BU19FTEVNX0ZJTkFMX0VYVEVOU0lPTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19GSU5BTF9ERUZBVUxUX0VYVEVOU0lPTiI+WE1MX1NDSEVNQVNfRklOQUxfREVGQVVMVF9FWFRFTlNJT048L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVFlQRV9CTE9DS19FWFRFTlNJT04iPlhNTF9TQ0hFTUFTX1RZUEVfQkxPQ0tfRVhURU5TSU9OPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfREVSSVZBVElPTl9NRVRIT0RfRVhURU5TSU9OIj5YTUxfU0NIRU1BU19UWVBFX0RFUklWQVRJT05fTUVUSE9EX0VYVEVOU0lPTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX0ZJTkFMX0VYVEVOU0lPTiI+WE1MX1NDSEVNQVNfVFlQRV9GSU5BTF9FWFRFTlNJT048L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxDaGVja0xhbmd1YWdlSUQiPnhtbENoZWNrTGFuZ3VhZ2VJRDwvYT48YnIgLz4KKzwvZGQ+PGR0PmV4dGVuc2lvbnM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNfeG1sU0FYSGFuZGxlciI+X3htbFNBWEhhbmRsZXI8L2E+PGJyIC8+Cis8L2RkPjxkdD5leHRlbnQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlSZWNvdmVyIj54bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlSZWNvdmVyPC9hPjxiciAvPgorPC9kZD48ZHQ+ZXh0bGFuZzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbENoZWNrTGFuZ3VhZ2VJRCI+eG1sQ2hlY2tMYW5ndWFnZUlEPC9hPjxiciAvPgorPC9kZD48ZHQ+ZXh0cmFjdDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNYTUxfR0VUX0NPTlRFTlQiPlhNTF9HRVRfQ09OVEVOVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNYTUxfR0VUX0xJTkUiPlhNTF9HRVRfTElORTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZDb250ZW50Ij54bWxCdWZDb250ZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZkVuZCI+eG1sQnVmRW5kPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlckNvbnRlbnQiPnhtbEJ1ZmZlckNvbnRlbnQ8L2E+PGJyIC8+Cis8L2RkPjwvZGw+PGgyIGFsaWduPSJjZW50ZXIiPjxhIGhyZWY9IkFQSWNodW5rMC5odG1sIj5BLUI8L2E+Cis8YSBocmVmPSJBUEljaHVuazEuaHRtbCI+Qy1DPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyLmh0bWwiPkQtRTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMy5odG1sIj5GLUk8L2E+Cis8YSBocmVmPSJBUEljaHVuazQuaHRtbCI+Si1OPC9hPgorPGEgaHJlZj0iQVBJY2h1bms1Lmh0bWwiPk8tUDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNi5odG1sIj5RLVI8L2E+Cis8YSBocmVmPSJBUEljaHVuazcuaHRtbCI+Uy1TPC9hPgorPGEgaHJlZj0iQVBJY2h1bms4Lmh0bWwiPlQtVTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rOS5odG1sIj5WLVg8L2E+Cis8YSBocmVmPSJBUEljaHVuazEwLmh0bWwiPlktYTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTEuaHRtbCI+Yi1iPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMi5odG1sIj5jLWM8L2E+Cis8YSBocmVmPSJBUEljaHVuazEzLmh0bWwiPmQtZDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTQuaHRtbCI+ZS1lPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNS5odG1sIj5mLWY8L2E+Cis8YSBocmVmPSJBUEljaHVuazE2Lmh0bWwiPmctaDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTcuaHRtbCI+aS1pPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxOC5odG1sIj5qLWw8L2E+Cis8YSBocmVmPSJBUEljaHVuazE5Lmh0bWwiPm0tbTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjAuaHRtbCI+bi1uPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMS5odG1sIj5vLW88L2E+Cis8YSBocmVmPSJBUEljaHVuazIyLmh0bWwiPnAtcDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjMuaHRtbCI+cS1yPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNC5odG1sIj5zLXM8L2E+Cis8YSBocmVmPSJBUEljaHVuazI1Lmh0bWwiPnQtdDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjYuaHRtbCI+dS12PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNy5odG1sIj53LXc8L2E+Cis8YSBocmVmPSJBUEljaHVuazI4Lmh0bWwiPngteDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjkuaHRtbCI+eS16PC9hPgorPC9oMj48cD48YSBocmVmPSJidWdzLmh0bWwiPkRhbmllbCBWZWlsbGFyZDwvYT48L3A+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL0FQSWNodW5rMTUuaHRtbCBiL2xpYnhtbDIvZG9jL0FQSWNodW5rMTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNjNkNjdiCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvQVBJY2h1bmsxNS5odG1sCkBAIC0wLDAgKzEsNDU0IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPgorPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPjxoZWFkPjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPjxsaW5rIHJlbD0iU0hPUlRDVVQgSUNPTiIgaHJlZj0iL2Zhdmljb24uaWNvIiAvPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CitURCB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorQk9EWSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhOyBtYXJnaW4tdG9wOiAyZW07IG1hcmdpbi1sZWZ0OiAwZW07IG1hcmdpbi1yaWdodDogMGVtfQorSDEge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gyIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMyB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorQTpsaW5rLCBBOnZpc2l0ZWQsIEE6YWN0aXZlIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgfQorPC9zdHlsZT48dGl0bGU+QVBJIEFscGhhYmV0aWMgSW5kZXggZi1mIGZvciBsaWJ4bWwyPC90aXRsZT48L2hlYWQ+PGJvZHkgYmdjb2xvcj0iIzhiNzc2NSIgdGV4dD0iIzAwMDAwMCIgbGluaz0iI2EwNjA2MCIgdmxpbms9IiMwMDAwMDAiPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSIxMDAlIiBjZWxscGFkZGluZz0iNSIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgd2lkdGg9IjEyMCI+PGEgaHJlZj0iaHR0cDovL3N3cGF0LmZmaWkub3JnLyI+PGltZyBzcmM9ImVwYXRlbnRzLnBuZyIgYWx0PSJBY3Rpb24gYWdhaW5zdCBzb2Z0d2FyZSBwYXRlbnRzIiAvPjwvYT48L3RkPjx0ZCB3aWR0aD0iMTgwIj48YSBocmVmPSJodHRwOi8vd3d3Lmdub21lLm9yZy8iPjxpbWcgc3JjPSJnbm9tZTIucG5nIiBhbHQ9Ikdub21lMiBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9TdGF0dXMiPjxpbWcgc3JjPSJ3M2MucG5nIiBhbHQ9IlczQyBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnJlZGhhdC5jb20vIj48aW1nIHNyYz0icmVkaGF0LmdpZiIgYWx0PSJSZWQgSGF0IExvZ28iIC8+PC9hPjxkaXYgYWxpZ249ImxlZnQiPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy8iPjxpbWcgc3JjPSJMaWJ4bWwyLUxvZ28tMTgweDE2OC5naWYiIGFsdD0iTWFkZSB3aXRoIExpYnhtbDIgTG9nbyIgLz48L2E+PC9kaXY+PC90ZD48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjkwJSIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiIGJnY29sb3I9IiNmZmZhY2QiPjx0cj48dGQgYWxpZ249ImNlbnRlciI+PGgxPlRoZSBYTUwgQyBwYXJzZXIgYW5kIHRvb2xraXQgb2YgR25vbWU8L2gxPjxoMj5BUEkgQWxwaGFiZXRpYyBJbmRleCBmLWYgZm9yIGxpYnhtbDI8L2gyPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI0IiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCB2YWxpZ249InRvcCIgd2lkdGg9IjIwMCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+RGV2ZWxvcGVyIE1lbnU8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PGZvcm0gYWN0aW9uPSJzZWFyY2gucGhwIiBlbmN0eXBlPSJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiIG1ldGhvZD0iZ2V0Ij48aW5wdXQgbmFtZT0icXVlcnkiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iIiAvPjxpbnB1dCBuYW1lPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNlYXJjaCAuLi4iIC8+PC9mb3JtPjx1bD48bGk+PGEgaHJlZj0iaW5kZXguaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPk1haW4gTWVudTwvYT48L2xpPjxsaT48YSBocmVmPSJodG1sL2luZGV4Lmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5SZWZlcmVuY2UgTWFudWFsPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImV4YW1wbGVzL2luZGV4Lmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5Db2RlIEV4YW1wbGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imd1aWRlbGluZXMuaHRtbCI+WE1MIEd1aWRlbGluZXM8L2E+PC9saT48bGk+PGEgaHJlZj0idHV0b3JpYWwvaW5kZXguaHRtbCI+VHV0b3JpYWw8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1scmVhZGVyLmh0bWwiPlRoZSBSZWFkZXIgSW50ZXJmYWNlPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkNoYW5nZUxvZy5odG1sIj5DaGFuZ2VMb2c8L2E+PC9saT48bGk+PGEgaHJlZj0iWFNMVC5odG1sIj5YU0xUPC9hPjwvbGk+PGxpPjxhIGhyZWY9InB5dGhvbi5odG1sIj5QeXRob24gYW5kIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImFyY2hpdGVjdHVyZS5odG1sIj5saWJ4bWwyIGFyY2hpdGVjdHVyZTwvYT48L2xpPjxsaT48YSBocmVmPSJ0cmVlLmh0bWwiPlRoZSB0cmVlIG91dHB1dDwvYT48L2xpPjxsaT48YSBocmVmPSJpbnRlcmZhY2UuaHRtbCI+VGhlIFNBWCBpbnRlcmZhY2U8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1sbWVtLmh0bWwiPk1lbW9yeSBNYW5hZ2VtZW50PC9hPjwvbGk+PGxpPjxhIGhyZWY9InhtbGlvLmh0bWwiPkkvTyBJbnRlcmZhY2VzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnJhcnkuaHRtbCI+VGhlIHBhcnNlciBpbnRlcmZhY2VzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImVudGl0aWVzLmh0bWwiPkVudGl0aWVzIG9yIG5vIGVudGl0aWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Im5hbWVzcGFjZXMuaHRtbCI+TmFtZXNwYWNlczwvYT48L2xpPjxsaT48YSBocmVmPSJ1cGdyYWRlLmh0bWwiPlVwZ3JhZGluZyAxLnggY29kZTwvYT48L2xpPjxsaT48YSBocmVmPSJ0aHJlYWRzLmh0bWwiPlRocmVhZCBzYWZldHk8L2E+PC9saT48bGk+PGEgaHJlZj0iRE9NLmh0bWwiPkRPTSBQcmluY2lwbGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImV4YW1wbGUuaHRtbCI+QSByZWFsIGV4YW1wbGU8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1sLmh0bWwiPmZsYXQgcGFnZTwvYT4sIDxhIGhyZWY9InNpdGUueHNsIj5zdHlsZXNoZWV0PC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+QVBJIEluZGV4ZXM8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSJBUEljaHVuazAuaHRtbCI+QWxwaGFiZXRpYzwvYT48L2xpPjxsaT48YSBocmVmPSJBUEljb25zdHJ1Y3RvcnMuaHRtbCI+Q29uc3RydWN0b3JzPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkFQSWZ1bmN0aW9ucy5odG1sIj5GdW5jdGlvbnMvVHlwZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iQVBJZmlsZXMuaHRtbCI+TW9kdWxlczwvYT48L2xpPjxsaT48YSBocmVmPSJBUElzeW1ib2xzLmh0bWwiPlN5bWJvbHM8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5SZWxhdGVkIGxpbmtzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iaHR0cDovL21haWwuZ25vbWUub3JnL2FyY2hpdmVzL3htbC8iPk1haWwgYXJjaGl2ZTwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvWFNMVC8iPlhTTFQgbGlieHNsdDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vcGhkLmNzLnVuaWJvLml0L2dkb21lMi8iPkRPTSBnZG9tZTI8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5hbGVrc2V5LmNvbS94bWxzZWMvIj5YTUwtRFNpZyB4bWxzZWM8L2E+PC9saT48bGk+PGEgaHJlZj0iZnRwOi8veG1sc29mdC5vcmcvIj5GVFA8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56bGF0a292aWMuY29tL3Byb2plY3RzL2xpYnhtbC8iPldpbmRvd3MgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL29wZW5jc3cub3JnL3BhY2thZ2VzL2xpYnhtbDIiPlNvbGFyaXMgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5leHBsYWluLmNvbS5hdS9vc3MvbGlieG1sMnhzbHQuaHRtbCI+TWFjT3NYIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9seG1sLmRlLyI+bHhtbCBQeXRob24gYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2NwYW4udXdpbm5pcGVnLmNhL2Rpc3QvWE1MLUxpYlhNTCI+UGVybCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1scGx1c3BsdXMuc291cmNlZm9yZ2UubmV0LyI+QysrIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemVuZC5jb20vcGhwNS9hcnRpY2xlcy9waHA1LXhtbHBocC5waHAjSGVhZGluZzQiPlBIUCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2xpYnhtbDItcGFzLyI+UGFzY2FsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWwucnVieWZvcmdlLm9yZy8iPlJ1YnkgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3RjbHhtbC5zb3VyY2Vmb3JnZS5uZXQvIj5UY2wgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9idWdsaXN0LmNnaT9wcm9kdWN0PWxpYnhtbDIiPkJ1ZyBUcmFja2VyPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIzIiBjZWxsc3BhY2luZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PGgyIGFsaWduPSJjZW50ZXIiPjxhIGhyZWY9IkFQSWNodW5rMC5odG1sIj5BLUI8L2E+Cis8YSBocmVmPSJBUEljaHVuazEuaHRtbCI+Qy1DPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyLmh0bWwiPkQtRTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMy5odG1sIj5GLUk8L2E+Cis8YSBocmVmPSJBUEljaHVuazQuaHRtbCI+Si1OPC9hPgorPGEgaHJlZj0iQVBJY2h1bms1Lmh0bWwiPk8tUDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNi5odG1sIj5RLVI8L2E+Cis8YSBocmVmPSJBUEljaHVuazcuaHRtbCI+Uy1TPC9hPgorPGEgaHJlZj0iQVBJY2h1bms4Lmh0bWwiPlQtVTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rOS5odG1sIj5WLVg8L2E+Cis8YSBocmVmPSJBUEljaHVuazEwLmh0bWwiPlktYTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTEuaHRtbCI+Yi1iPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMi5odG1sIj5jLWM8L2E+Cis8YSBocmVmPSJBUEljaHVuazEzLmh0bWwiPmQtZDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTQuaHRtbCI+ZS1lPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNS5odG1sIj5mLWY8L2E+Cis8YSBocmVmPSJBUEljaHVuazE2Lmh0bWwiPmctaDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTcuaHRtbCI+aS1pPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxOC5odG1sIj5qLWw8L2E+Cis8YSBocmVmPSJBUEljaHVuazE5Lmh0bWwiPm0tbTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjAuaHRtbCI+bi1uPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMS5odG1sIj5vLW88L2E+Cis8YSBocmVmPSJBUEljaHVuazIyLmh0bWwiPnAtcDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjMuaHRtbCI+cS1yPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNC5odG1sIj5zLXM8L2E+Cis8YSBocmVmPSJBUEljaHVuazI1Lmh0bWwiPnQtdDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjYuaHRtbCI+dS12PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNy5odG1sIj53LXc8L2E+Cis8YSBocmVmPSJBUEljaHVuazI4Lmh0bWwiPngteDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjkuaHRtbCI+eS16PC9hPgorPC9oMj48aDI+TGV0dGVyIGY6PC9oMj48ZGw+PGR0PmZUUDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQQ29ubmVjdFRvIj54bWxOYW5vRlRQQ29ubmVjdFRvPC9hPjxiciAvPgorPC9kZD48ZHQ+ZmFjZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI1hNTF9NQVhfTkFNRV9MRU5HVEgiPlhNTF9NQVhfTkFNRV9MRU5HVEg8L2E+PGJyIC8+Cis8L2RkPjxkdD5mYWNldDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19GQUNFVF9DT0xMQVBTRSI+WE1MX1NDSEVNQVNfRkFDRVRfQ09MTEFQU0U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfRkFDRVRfUFJFU0VSVkUiPlhNTF9TQ0hFTUFTX0ZBQ0VUX1BSRVNFUlZFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0ZBQ0VUX1JFUExBQ0UiPlhNTF9TQ0hFTUFTX0ZBQ0VUX1JFUExBQ0U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfRkFDRVRfVU5LTk9XTiI+WE1MX1NDSEVNQVNfRkFDRVRfVU5LTk9XTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNfeG1sU2NoZW1hRmFjZXRMaW5rIj5feG1sU2NoZW1hRmFjZXRMaW5rPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hQ2hlY2tGYWNldCI+eG1sU2NoZW1hQ2hlY2tGYWNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUZyZWVGYWNldCI+eG1sU2NoZW1hRnJlZUZhY2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hR2V0RmFjZXRWYWx1ZUFzVUxvbmciPnhtbFNjaGVtYUdldEZhY2V0VmFsdWVBc1VMb25nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hSXNCdWlsdEluVHlwZUZhY2V0Ij54bWxTY2hlbWFJc0J1aWx0SW5UeXBlRmFjZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0Ij54bWxTY2hlbWFWYWxpZGF0ZUZhY2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hVmFsaWRhdGVGYWNldFdodHNwIj54bWxTY2hlbWFWYWxpZGF0ZUZhY2V0V2h0c3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFWYWxpZGF0ZUxlbmd0aEZhY2V0Ij54bWxTY2hlbWFWYWxpZGF0ZUxlbmd0aEZhY2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldFdodHNwIj54bWxTY2hlbWFWYWxpZGF0ZUxlbmd0aEZhY2V0V2h0c3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFWYWxpZGF0ZUxpc3RTaW1wbGVUeXBlRmFjZXQiPnhtbFNjaGVtYVZhbGlkYXRlTGlzdFNpbXBsZVR5cGVGYWNldDwvYT48YnIgLz4KKzwvZGQ+PGR0PmZhY2V0czwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX0ZBQ0VUU05FRURWQUxVRSI+WE1MX1NDSEVNQVNfVFlQRV9GQUNFVFNORUVEVkFMVUU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVFlQRV9IQVNfRkFDRVRTIj5YTUxfU0NIRU1BU19UWVBFX0hBU19GQUNFVFM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVFlQRV9OT1JNVkFMVUVORUVERUQiPlhNTF9TQ0hFTUFTX1RZUEVfTk9STVZBTFVFTkVFREVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI194bWxTY2hlbWFUeXBlIj5feG1sU2NoZW1hVHlwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUNoZWNrRmFjZXQiPnhtbFNjaGVtYUNoZWNrRmFjZXQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5mYWNpbGl0eTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cEN0eHROYkNvbnMiPnhtbEV4cEN0eHROYkNvbnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBDdHh0TmJOb2RlcyI+eG1sRXhwQ3R4dE5iTm9kZXM8L2E+PGJyIC8+Cis8L2RkPjxkdD5mYWlsPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtYzE0bi5odG1sI3htbEMxNE5Eb2NEdW1wTWVtb3J5Ij54bWxDMTRORG9jRHVtcE1lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTRORG9jU2F2ZSI+eG1sQzE0TkRvY1NhdmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jMTRuLmh0bWwjeG1sQzE0TkRvY1NhdmVUbyI+eG1sQzE0TkRvY1NhdmVUbzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTRORXhlY3V0ZSI+eG1sQzE0TkV4ZWN1dGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsUHJpbnRYUGF0aEVycm9yIj54bWxTaGVsbFByaW50WFBhdGhFcnJvcjwvYT48YnIgLz4KKzwvZGQ+PGR0PmZhaWxlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nSW5wdXRGdW5jIj54bWxDaGFyRW5jb2RpbmdJbnB1dEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZ091dHB1dEZ1bmMiPnhtbENoYXJFbmNvZGluZ091dHB1dEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUENvbm5lY3RUbyI+eG1sTmFub0ZUUENvbm5lY3RUbzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQQ3dkIj54bWxOYW5vRlRQQ3dkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBEZWxlIj54bWxOYW5vRlRQRGVsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sUmVtb3ZlSUQiPnhtbFJlbW92ZUlEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxSZW1vdmVSZWYiPnhtbFJlbW92ZVJlZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxMb2FkIj54bWxTaGVsbExvYWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14aW5jbHVkZS5odG1sI3htbFhJbmNsdWRlUHJvY2VzcyI+eG1sWEluY2x1ZGVQcm9jZXNzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGluY2x1ZGUuaHRtbCN4bWxYSW5jbHVkZVByb2Nlc3NGbGFncyI+eG1sWEluY2x1ZGVQcm9jZXNzRmxhZ3M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14aW5jbHVkZS5odG1sI3htbFhJbmNsdWRlUHJvY2Vzc0ZsYWdzRGF0YSI+eG1sWEluY2x1ZGVQcm9jZXNzRmxhZ3NEYXRhPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGluY2x1ZGUuaHRtbCN4bWxYSW5jbHVkZVByb2Nlc3NOb2RlIj54bWxYSW5jbHVkZVByb2Nlc3NOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGluY2x1ZGUuaHRtbCN4bWxYSW5jbHVkZVByb2Nlc3NUcmVlIj54bWxYSW5jbHVkZVByb2Nlc3NUcmVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGluY2x1ZGUuaHRtbCN4bWxYSW5jbHVkZVByb2Nlc3NUcmVlRmxhZ3MiPnhtbFhJbmNsdWRlUHJvY2Vzc1RyZWVGbGFnczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhpbmNsdWRlLmh0bWwjeG1sWEluY2x1ZGVQcm9jZXNzVHJlZUZsYWdzRGF0YSI+eG1sWEluY2x1ZGVQcm9jZXNzVHJlZUZsYWdzRGF0YTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhDb21wYXJlVmFsdWVzIj54bWxYUGF0aENvbXBhcmVWYWx1ZXM8L2E+PGJyIC8+Cis8L2RkPjxkdD5mYWlsczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNVVEY4VG9IdG1sIj5VVEY4VG9IdG1sPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCNVVEY4VG9pc29sYXQxIj5VVEY4VG9pc29sYXQxPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI19odG1sRWxlbURlc2MiPl9odG1sRWxlbURlc2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1ET0NCcGFyc2VyLmh0bWwjZG9jYkVuY29kZUVudGl0aWVzIj5kb2NiRW5jb2RlRW50aXRpZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEVuY29kZUVudGl0aWVzIj5odG1sRW5jb2RlRW50aXRpZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxDYW5vbmljUGF0aCI+eG1sQ2Fub25pY1BhdGg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNGaXJzdExpbmUiPnhtbENoYXJFbmNGaXJzdExpbmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNJbkZ1bmMiPnhtbENoYXJFbmNJbkZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNPdXRGdW5jIj54bWxDaGFyRW5jT3V0RnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sQ2hlY2tGaWxlbmFtZSI+eG1sQ2hlY2tGaWxlbmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sRmlsZU9wZW4iPnhtbEZpbGVPcGVuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sUGF0aFRvVVJJIj54bWxQYXRoVG9VUkk8L2E+PGJyIC8+Cis8L2RkPjxkdD5mYWxsYmFjazwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhpbmNsdWRlLmh0bWwjWElOQ0xVREVfRkFMTEJBQ0siPlhJTkNMVURFX0ZBTExCQUNLPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtRE9DQnBhcnNlci5odG1sI2RvY2JTQVhQYXJzZURvYyI+ZG9jYlNBWFBhcnNlRG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtRE9DQnBhcnNlci5odG1sI2RvY2JTQVhQYXJzZUZpbGUiPmRvY2JTQVhQYXJzZUZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFNBWFBhcnNlRG9jIj5odG1sU0FYUGFyc2VEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFNBWFBhcnNlRmlsZSI+aHRtbFNBWFBhcnNlRmlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sRmlsZU9wZW4iPnhtbEZpbGVPcGVuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYUGFyc2VEb2MiPnhtbFNBWFBhcnNlRG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYUGFyc2VFbnRpdHkiPnhtbFNBWFBhcnNlRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYUGFyc2VGaWxlIj54bWxTQVhQYXJzZUZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxTQVhQYXJzZUZpbGVXaXRoRGF0YSI+eG1sU0FYUGFyc2VGaWxlV2l0aERhdGE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxTQVhQYXJzZU1lbW9yeSI+eG1sU0FYUGFyc2VNZW1vcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxTQVhQYXJzZU1lbW9yeVdpdGhEYXRhIj54bWxTQVhQYXJzZU1lbW9yeVdpdGhEYXRhPC9hPjxiciAvPgorPC9kZD48ZHQ+ZmFyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjX3htbFBhcnNlckN0eHQiPl94bWxQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjZmF0YWxFcnJvclNBWEZ1bmMiPmZhdGFsRXJyb3JTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYUlzVmFsaWQiPnhtbFNjaGVtYUlzVmFsaWQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5mYXNoaW9uPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbE5ld1JNdXRleCI+eG1sTmV3Uk11dGV4PC9hPjxiciAvPgorPC9kZD48ZHQ+ZmFzdDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI2h0bWxJbml0QXV0b0Nsb3NlIj5odG1sSW5pdEF1dG9DbG9zZTwvYT48YnIgLz4KKzwvZGQ+PGR0PmZhc3RlcjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sTm9kZVN0YXR1cyI+aHRtbE5vZGVTdGF0dXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJFcXVhbCI+eG1sU3RyRXF1YWw8L2E+PGJyIC8+Cis8L2RkPjxkdD5mYXRhbDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI2ZhdGFsRXJyb3JTQVhGdW5jIj5mYXRhbEVycm9yU0FYRnVuYzwvYT48YnIgLz4KKzwvZGQ+PGR0PmZhdGFsRXJyb3I8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNmYXRhbEVycm9yU0FYRnVuYyI+ZmF0YWxFcnJvclNBWEZ1bmM8L2E+PGJyIC8+Cis8L2RkPjxkdD5mYXZvcjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sTmV3RWxlbWVudENvbnRlbnQiPnhtbE5ld0VsZW1lbnRDb250ZW50PC9hPjxiciAvPgorPC9kZD48ZHQ+ZmVhdHVyZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI1hNTF9NQVhfRElDVElPTkFSWV9MSU1JVCI+WE1MX01BWF9ESUNUSU9OQVJZX0xJTUlUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjWE1MX01BWF9OQU1FX0xFTkdUSCI+WE1MX01BWF9OQU1FX0xFTkdUSDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI1hNTF9NQVhfVEVYVF9MRU5HVEgiPlhNTF9NQVhfVEVYVF9MRU5HVEg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxHZXRGZWF0dXJlIj54bWxHZXRGZWF0dXJlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sR2V0RmVhdHVyZXNMaXN0Ij54bWxHZXRGZWF0dXJlc0xpc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxIYXNGZWF0dXJlIj54bWxIYXNGZWF0dXJlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU2V0RmVhdHVyZSI+eG1sU2V0RmVhdHVyZTwvYT48YnIgLz4KKzwvZGQ+PGR0PmZlYXR1cmVzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sR2V0RmVhdHVyZXNMaXN0Ij54bWxHZXRGZWF0dXJlc0xpc3Q8L2E+PGJyIC8+Cis8L2RkPjxkdD5mZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dCI+eG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxOZXdUZXh0UmVhZGVyIj54bWxOZXdUZXh0UmVhZGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sTmV3VGV4dFJlYWRlckZpbGVuYW1lIj54bWxOZXdUZXh0UmVhZGVyRmlsZW5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sU3RyZWFtUHVzaE5vZGUiPnhtbFN0cmVhbVB1c2hOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbFN0cmVhbVdhbnRzQW55Tm9kZSI+eG1sU3RyZWFtV2FudHNBbnlOb2RlPC9hPjxiciAvPgorPC9kZD48ZHQ+ZmVlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJTZXR1cCI+eG1sVGV4dFJlYWRlclNldHVwPC9hPjxiciAvPgorPC9kZD48ZHQ+ZmV0Y2g8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUEdldFNvY2tldCI+eG1sTmFub0ZUUEdldFNvY2tldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQT3BlbiI+eG1sTmFub0ZUUE9wZW48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQRmV0Y2giPnhtbE5hbm9IVFRQRmV0Y2g8L2E+PGJyIC8+Cis8L2RkPjxkdD5mZXRjaGluZzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiQ3JlYXRlUHVzaFBhcnNlckN0eHQiPmRvY2JDcmVhdGVQdXNoUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQiPmh0bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbENyZWF0ZVB1c2hQYXJzZXJDdHh0Ij54bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFVURjhTdHJwb3MiPnhtbFVURjhTdHJwb3M8L2E+PGJyIC8+Cis8L2RkPjxkdD5maWVsZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9DT01QTEVURV9BVFRSUyI+WE1MX0NPTVBMRVRFX0FUVFJTPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCNYTUxfQ1RYVF9GSU5JU0hfRFREXzAiPlhNTF9DVFhUX0ZJTklTSF9EVERfMDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjWE1MX0NUWFRfRklOSVNIX0RURF8xIj5YTUxfQ1RYVF9GSU5JU0hfRFREXzE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfREVURUNUX0lEUyI+WE1MX0RFVEVDVF9JRFM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfU0tJUF9JRFMiPlhNTF9TS0lQX0lEUzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjX3htbEVycm9yIj5feG1sRXJyb3I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZU1pc2MiPnhtbFBhcnNlTWlzYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhpbmNsdWRlLmh0bWwjeG1sWEluY2x1ZGVQcm9jZXNzRmxhZ3NEYXRhIj54bWxYSW5jbHVkZVByb2Nlc3NGbGFnc0RhdGE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14aW5jbHVkZS5odG1sI3htbFhJbmNsdWRlUHJvY2Vzc1RyZWVGbGFnc0RhdGEiPnhtbFhJbmNsdWRlUHJvY2Vzc1RyZWVGbGFnc0RhdGE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT3JkZXJEb2NFbGVtcyI+eG1sWFBhdGhPcmRlckRvY0VsZW1zPC9hPjxiciAvPgorPC9kZD48ZHQ+ZmllbGRzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1NBWDJfTUFHSUMiPlhNTF9TQVgyX01BR0lDPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI19odG1sRWxlbURlc2MiPl9odG1sRWxlbURlc2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNfeG1sUGFyc2VyQ3R4dCI+X3htbFBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNfeG1sU0FYSGFuZGxlciI+X3htbFNBWEhhbmRsZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxQYXJzZVVSSVJlZmVyZW5jZSI+eG1sUGFyc2VVUklSZWZlcmVuY2U8L2E+PGJyIC8+Cis8L2RkPjxkdD5maWxlczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQTGlzdCI+eG1sTmFub0ZUUExpc3Q8L2E+PGJyIC8+Cis8L2RkPjxkdD5maWxlc3lzdGVtPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxDdHh0UmVhZEZpbGUiPmh0bWxDdHh0UmVhZEZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFJlYWRGaWxlIj5odG1sUmVhZEZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxDYW5vbmljUGF0aCI+eG1sQ2Fub25pY1BhdGg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxDdHh0UmVhZEZpbGUiPnhtbEN0eHRSZWFkRmlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbFBhdGhUb1VSSSI+eG1sUGF0aFRvVVJJPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUmVhZEZpbGUiPnhtbFJlYWRGaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sUmVhZGVyRm9yRmlsZSI+eG1sUmVhZGVyRm9yRmlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFJlYWRlck5ld0ZpbGUiPnhtbFJlYWRlck5ld0ZpbGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5maWxsZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxHZXRGZWF0dXJlc0xpc3QiPnhtbEdldEZlYXR1cmVzTGlzdDwvYT48YnIgLz4KKzwvZGQ+PGR0PmZpbGxzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sUGFyc2VVUklSZWZlcmVuY2UiPnhtbFBhcnNlVVJJUmVmZXJlbmNlPC9hPjxiciAvPgorPC9kZD48ZHQ+ZmlsdGVyczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRW5jb2RpbmdEZWNsIj54bWxQYXJzZUVuY29kaW5nRGVjbDwvYT48YnIgLz4KKzwvZGQ+PGR0PmZpbmFsPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfRklOQUxfREVGQVVMVCI+WE1MX1NDSEVNQVNfVFlQRV9GSU5BTF9ERUZBVUxUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfRklOQUxfRVhURU5TSU9OIj5YTUxfU0NIRU1BU19UWVBFX0ZJTkFMX0VYVEVOU0lPTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX0ZJTkFMX0xJU1QiPlhNTF9TQ0hFTUFTX1RZUEVfRklOQUxfTElTVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX0ZJTkFMX1JFU1RSSUNUSU9OIj5YTUxfU0NIRU1BU19UWVBFX0ZJTkFMX1JFU1RSSUNUSU9OPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfRklOQUxfVU5JT04iPlhNTF9TQ0hFTUFTX1RZUEVfRklOQUxfVU5JT048L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhU2V0RmluYWxTdGF0ZSI+eG1sQXV0b21hdGFTZXRGaW5hbFN0YXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sQnVpbGRVUkkiPnhtbEJ1aWxkVVJJPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnRXhlY1B1c2hTdHJpbmciPnhtbFJlZ0V4ZWNQdXNoU3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnRXhlY1B1c2hTdHJpbmcyIj54bWxSZWdFeGVjUHVzaFN0cmluZzI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlRG9jdW1lbnRGaW5hbCI+eG1sVmFsaWRhdGVEb2N1bWVudEZpbmFsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZUR0ZEZpbmFsIj54bWxWYWxpZGF0ZUR0ZEZpbmFsPC9hPjxiciAvPgorPC9kZD48ZHQ+ZmluYWxEZWZhdWx0PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0ZJTkFMX0RFRkFVTFRfRVhURU5TSU9OIj5YTUxfU0NIRU1BU19GSU5BTF9ERUZBVUxUX0VYVEVOU0lPTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19GSU5BTF9ERUZBVUxUX0xJU1QiPlhNTF9TQ0hFTUFTX0ZJTkFMX0RFRkFVTFRfTElTVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19GSU5BTF9ERUZBVUxUX1JFU1RSSUNUSU9OIj5YTUxfU0NIRU1BU19GSU5BTF9ERUZBVUxUX1JFU1RSSUNUSU9OPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0ZJTkFMX0RFRkFVTFRfVU5JT04iPlhNTF9TQ0hFTUFTX0ZJTkFMX0RFRkFVTFRfVU5JT048L2E+PGJyIC8+Cis8L2RkPjxkdD5maW5kPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbEdldFRocmVhZElkIj54bWxHZXRUaHJlYWRJZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxJc1hIVE1MIj54bWxJc1hIVE1MPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkaXR5TG9jYXRvckZ1bmMiPnhtbFNjaGVtYVZhbGlkaXR5TG9jYXRvckZ1bmM8L2E+PGJyIC8+Cis8L2RkPjxkdD5maW5kaW5nPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBTY2FuUHJveHkiPnhtbE5hbm9GVFBTY2FuUHJveHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUFVwZGF0ZVVSTCI+eG1sTmFub0ZUUFVwZGF0ZVVSTDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9odHRwLmh0bWwjeG1sTmFub0hUVFBTY2FuUHJveHkiPnhtbE5hbm9IVFRQU2NhblByb3h5PC9hPjxiciAvPgorPC9kZD48ZHQ+ZmluZHM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2VhcmNoTnMiPnhtbFNlYXJjaE5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNlYXJjaE5zQnlIcmVmIj54bWxTZWFyY2hOc0J5SHJlZjwvYT48YnIgLz4KKzwvZGQ+PGR0PmZpbmlzaER0ZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjWE1MX0NUWFRfRklOSVNIX0RURF8wIj5YTUxfQ1RYVF9GSU5JU0hfRFREXzA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI1hNTF9DVFhUX0ZJTklTSF9EVERfMSI+WE1MX0NUWFRfRklOSVNIX0RURF8xPC9hPjxiciAvPgorPC9kZD48ZHQ+ZmluaXNoZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI194bWxWYWxpZEN0eHQiPl94bWxWYWxpZEN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxDbGVhbnVwUGFyc2VyIj54bWxDbGVhbnVwUGFyc2VyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sU2tpcEJsYW5rQ2hhcnMiPnhtbFNraXBCbGFua0NoYXJzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckN1cnJlbnREb2MiPnhtbFRleHRSZWFkZXJDdXJyZW50RG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclByZXNlcnZlIj54bWxUZXh0UmVhZGVyUHJlc2VydmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHJlc2VydmVQYXR0ZXJuIj54bWxUZXh0UmVhZGVyUHJlc2VydmVQYXR0ZXJuPC9hPjxiciAvPgorPC9kZD48ZHQ+ZmluaXNoaW5nPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQnl0ZUNvbnN1bWVkIj54bWxCeXRlQ29uc3VtZWQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5maW5pdGU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBQYXJzZSI+eG1sRXhwUGFyc2U8L2E+PGJyIC8+Cis8L2RkPjxkdD5maXJzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jT3V0RnVuYyI+eG1sQ2hhckVuY091dEZ1bmM8L2E+PGJyIC8+Cis8L2RkPjxkdD5maXN0PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sRW50aXR5UmVmZXJlbmNlRnVuYyI+eG1sRW50aXR5UmVmZXJlbmNlRnVuYzwvYT48YnIgLz4KKzwvZGQ+PGR0PmZpdDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY0ZpcnN0TGluZSI+eG1sQ2hhckVuY0ZpcnN0TGluZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY0luRnVuYyI+eG1sQ2hhckVuY0luRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY091dEZ1bmMiPnhtbENoYXJFbmNPdXRGdW5jPC9hPjxiciAvPgorPC9kZD48ZHQ+Zml4ZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfQVRUUl9GSVhFRCI+WE1MX1NDSEVNQVNfQVRUUl9GSVhFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19FTEVNX0ZJWEVEIj5YTUxfU0NIRU1BU19FTEVNX0ZJWEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VEZWZhdWx0RGVjbCI+eG1sUGFyc2VEZWZhdWx0RGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUdldENhbm9uVmFsdWUiPnhtbFNjaGVtYUdldENhbm9uVmFsdWU8L2E+PGJyIC8+Cis8L2RkPjxkdD5maXh1cDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX0ZJWFVQXzEiPlhNTF9TQ0hFTUFTX1RZUEVfRklYVVBfMTwvYT48YnIgLz4KKzwvZGQ+PGR0PmZsYWc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfRUxFTV9DSVJDVUxBUiI+WE1MX1NDSEVNQVNfRUxFTV9DSVJDVUxBUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwjaHRtbFNldE1ldGFFbmNvZGluZyI+aHRtbFNldE1ldGFFbmNvZGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI2luaXR4bWxEZWZhdWx0U0FYSGFuZGxlciI+aW5pdHhtbERlZmF1bHRTQVhIYW5kbGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJJbml0RGVmYXVsdFNBWEhhbmRsZXIiPnhtbFNBWDJJbml0RGVmYXVsdFNBWEhhbmRsZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVySXNWYWxpZCI+eG1sVGV4dFJlYWRlcklzVmFsaWQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5mbGFnZ2VkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI19odG1sRWxlbURlc2MiPl9odG1sRWxlbURlc2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI2h0bWxHZXRNZXRhRW5jb2RpbmciPmh0bWxHZXRNZXRhRW5jb2Rpbmc8L2E+PGJyIC8+Cis8L2RkPjxkdD5mbGFnczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX1ZBUklFVFlfQUJTRU5UIj5YTUxfU0NIRU1BU19UWVBFX1ZBUklFVFlfQUJTRU5UPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCNfeG1sWFBhdGhDb250ZXh0Ij5feG1sWFBhdGhDb250ZXh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBBZG9wdE5vZGUiPnhtbERPTVdyYXBBZG9wdE5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcENsb25lTm9kZSI+eG1sRE9NV3JhcENsb25lTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwUmVjb25jaWxlTmFtZXNwYWNlcyI+eG1sRE9NV3JhcFJlY29uY2lsZU5hbWVzcGFjZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sUGF0dGVybmNvbXBpbGUiPnhtbFBhdHRlcm5jb21waWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sUmVhZGVyRm9yRG9jIj54bWxSZWFkZXJGb3JEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxSZWFkZXJGb3JGZCI+eG1sUmVhZGVyRm9yRmQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxSZWFkZXJGb3JGaWxlIj54bWxSZWFkZXJGb3JGaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sUmVhZGVyRm9ySU8iPnhtbFJlYWRlckZvcklPPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sUmVhZGVyRm9yTWVtb3J5Ij54bWxSZWFkZXJGb3JNZW1vcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxSZWFkZXJOZXdEb2MiPnhtbFJlYWRlck5ld0RvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFJlYWRlck5ld0ZkIj54bWxSZWFkZXJOZXdGZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFJlYWRlck5ld0ZpbGUiPnhtbFJlYWRlck5ld0ZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxSZWFkZXJOZXdJTyI+eG1sUmVhZGVyTmV3SU88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxSZWFkZXJOZXdNZW1vcnkiPnhtbFJlYWRlck5ld01lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheFBhcnNlclNldEZsYWciPnhtbFJlbGF4UGFyc2VyU2V0RmxhZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhpbmNsdWRlLmh0bWwjeG1sWEluY2x1ZGVTZXRGbGFncyI+eG1sWEluY2x1ZGVTZXRGbGFnczwvYT48YnIgLz4KKzwvZGQ+PGR0PmZsYXQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU3RyaW5nR2V0Tm9kZUxpc3QiPnhtbFN0cmluZ0dldE5vZGVMaXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFN0cmluZ0xlbkdldE5vZGVMaXN0Ij54bWxTdHJpbmdMZW5HZXROb2RlTGlzdDwvYT48YnIgLz4KKzwvZGQ+PGR0PmZsb29yPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEZsb29yRnVuY3Rpb24iPnhtbFhQYXRoRmxvb3JGdW5jdGlvbjwvYT48YnIgLz4KKzwvZGQ+PGR0PmZsb3c8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxTY2FuTmFtZSI+eG1sU2Nhbk5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hU0FYUGx1ZyI+eG1sU2NoZW1hU0FYUGx1ZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFTQVhVbnBsdWciPnhtbFNjaGVtYVNBWFVucGx1ZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZGF0ZVNldExvY2F0b3IiPnhtbFNjaGVtYVZhbGlkYXRlU2V0TG9jYXRvcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZGF0ZVN0cmVhbSI+eG1sU2NoZW1hVmFsaWRhdGVTdHJlYW08L2E+PGJyIC8+Cis8L2RkPjxkdD5mbHVzaGVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlckVuZERvY3VtZW50Ij54bWxUZXh0V3JpdGVyRW5kRG9jdW1lbnQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5mbHVzaGVzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRCdWZmZXJDbG9zZSI+eG1sT3V0cHV0QnVmZmVyQ2xvc2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dEJ1ZmZlckZsdXNoIj54bWxPdXRwdXRCdWZmZXJGbHVzaDwvYT48YnIgLz4KKzwvZGQ+PGR0PmZvbGxvdzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdOZWdUcmFucyI+eG1sQXV0b21hdGFOZXdOZWdUcmFuczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb2RlVHJhaWxpbmciPnhtbFhQYXRoTm9kZVRyYWlsaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vZGVUcmFpbGluZ1NvcnRlZCI+eG1sWFBhdGhOb2RlVHJhaWxpbmdTb3J0ZWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU3Vic3RyaW5nRnVuY3Rpb24iPnhtbFhQYXRoU3Vic3RyaW5nRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoVHJhaWxpbmciPnhtbFhQYXRoVHJhaWxpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoVHJhaWxpbmdTb3J0ZWQiPnhtbFhQYXRoVHJhaWxpbmdTb3J0ZWQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5mb2xsb3dlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbENoZWNrTGFuZ3VhZ2VJRCI+eG1sQ2hlY2tMYW5ndWFnZUlEPC9hPjxiciAvPgorPC9kZD48ZHQ+Zm9sbG93aW5nLXNpYmxpbmc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV4dEZvbGxvd2luZ1NpYmxpbmciPnhtbFhQYXRoTmV4dEZvbGxvd2luZ1NpYmxpbmc8L2E+PGJyIC8+Cis8L2RkPjxkdD5mb2xsb3dzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFN0cmluZ0Z1bmN0aW9uIj54bWxYUGF0aFN0cmluZ0Z1bmN0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFN1YnN0cmluZ0FmdGVyRnVuY3Rpb24iPnhtbFhQYXRoU3Vic3RyaW5nQWZ0ZXJGdW5jdGlvbjwvYT48YnIgLz4KKzwvZGQ+PGR0PmZvbGxvd3M6PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VBdHRWYWx1ZSI+eG1sUGFyc2VBdHRWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhCb29sZWFuRnVuY3Rpb24iPnhtbFhQYXRoQm9vbGVhbkZ1bmN0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFN0cmluZ0Z1bmN0aW9uIj54bWxYUGF0aFN0cmluZ0Z1bmN0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+Zm9uY3Rpb25uYWxpdGllczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sSW5wdXRNYXRjaENhbGxiYWNrIj54bWxJbnB1dE1hdGNoQ2FsbGJhY2s8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dE1hdGNoQ2FsbGJhY2siPnhtbE91dHB1dE1hdGNoQ2FsbGJhY2s8L2E+PGJyIC8+Cis8L2RkPjxkdD5mb3I6PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hR2V0Q2Fub25WYWx1ZSI+eG1sU2NoZW1hR2V0Q2Fub25WYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0U2V0Q2FjaGUiPnhtbFhQYXRoQ29udGV4dFNldENhY2hlPC9hPjxiciAvPgorPC9kZD48ZHQ+Zm9yYmlkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCNYTUxfWFBBVEhfTk9WQVIiPlhNTF9YUEFUSF9OT1ZBUjwvYT48YnIgLz4KKzwvZGQ+PGR0PmZvcmNlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sS2VlcEJsYW5rc0RlZmF1bHQiPnhtbEtlZXBCbGFua3NEZWZhdWx0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxTZXRHZW5lcmljRXJyb3JGdW5jIj54bWxTZXRHZW5lcmljRXJyb3JGdW5jPC9hPjxiciAvPgorPC9kZD48ZHQ+Zm9yY2VkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZEdldFZhbGlkRWxlbWVudHMiPnhtbFZhbGlkR2V0VmFsaWRFbGVtZW50czwvYT48YnIgLz4KKzwvZGQ+PGR0PmZvcm08L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1ET0NCcGFyc2VyLmh0bWwjZG9jYlBhcnNlRG9jIj5kb2NiUGFyc2VEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1ET0NCcGFyc2VyLmh0bWwjZG9jYlBhcnNlRmlsZSI+ZG9jYlBhcnNlRmlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiU0FYUGFyc2VEb2MiPmRvY2JTQVhQYXJzZURvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiU0FYUGFyc2VGaWxlIj5kb2NiU0FYUGFyc2VGaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjaHRtbENyZWF0ZUZpbGVQYXJzZXJDdHh0Ij5odG1sQ3JlYXRlRmlsZVBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlRG9jIj5odG1sUGFyc2VEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlRmlsZSI+aHRtbFBhcnNlRmlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sU0FYUGFyc2VEb2MiPmh0bWxTQVhQYXJzZURvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sU0FYUGFyc2VGaWxlIj5odG1sU0FYUGFyc2VGaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVMaXN0R2V0UmF3U3RyaW5nIj54bWxOb2RlTGlzdEdldFJhd1N0cmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlTGlzdEdldFN0cmluZyI+eG1sTm9kZUxpc3RHZXRTdHJpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sUGF0dGVybmNvbXBpbGUiPnhtbFBhdHRlcm5jb21waWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFN0cmluZ0Z1bmN0aW9uIj54bWxYUGF0aFN0cmluZ0Z1bmN0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+Zm9ybWFsPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9FWFBSX0VOQUJMRUQiPkxJQlhNTF9FWFBSX0VOQUJMRUQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5mb3JtYXR0ZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRBdHRyaWJ1dGUiPnhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdEF0dHJpYnV0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdEF0dHJpYnV0ZU5TIj54bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRBdHRyaWJ1dGVOUzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdENEQVRBIj54bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRDREFUQTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdERURCI+eG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFREPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFREQXR0bGlzdCI+eG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFREQXR0bGlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdERUREVsZW1lbnQiPnhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdERUREVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVERJbnRlcm5hbEVudGl0eSI+eG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFRESW50ZXJuYWxFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRFbGVtZW50Ij54bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RWxlbWVudE5TIj54bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRFbGVtZW50TlM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRQSSI+eG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0UEk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRSYXciPnhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdFJhdzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdFN0cmluZyI+eG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0U3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEF0dHJpYnV0ZSI+eG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEF0dHJpYnV0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRBdHRyaWJ1dGVOUyI+eG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEF0dHJpYnV0ZU5TPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdENEQVRBIj54bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0Q0RBVEE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFREIj54bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFREPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREF0dGxpc3QiPnhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVERBdHRsaXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREVsZW1lbnQiPnhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVERFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREludGVybmFsRW50aXR5Ij54bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFRESW50ZXJuYWxFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RWxlbWVudCI+eG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RWxlbWVudE5TIj54bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RWxlbWVudE5TPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdFBJIj54bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0UEk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0UmF3Ij54bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0UmF3PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdFN0cmluZyI+eG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdFN0cmluZzwvYT48YnIgLz4KKzwvZGQ+PGR0PmZvcm1hdHRpbmc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI2h0bWxEb2NDb250ZW50RHVtcEZvcm1hdE91dHB1dCI+aHRtbERvY0NvbnRlbnREdW1wRm9ybWF0T3V0cHV0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNodG1sRG9jRHVtcE1lbW9yeUZvcm1hdCI+aHRtbERvY0R1bXBNZW1vcnlGb3JtYXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI2h0bWxOb2RlRHVtcCI+aHRtbE5vZGVEdW1wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNodG1sTm9kZUR1bXBGaWxlIj5odG1sTm9kZUR1bXBGaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNodG1sTm9kZUR1bXBGaWxlRm9ybWF0Ij5odG1sTm9kZUR1bXBGaWxlRm9ybWF0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNodG1sTm9kZUR1bXBGb3JtYXRPdXRwdXQiPmh0bWxOb2RlRHVtcEZvcm1hdE91dHB1dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwjaHRtbE5vZGVEdW1wT3V0cHV0Ij5odG1sTm9kZUR1bXBPdXRwdXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI2h0bWxTYXZlRmlsZUVuYyI+aHRtbFNhdmVGaWxlRW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNodG1sU2F2ZUZpbGVGb3JtYXQiPmh0bWxTYXZlRmlsZUZvcm1hdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZOb2RlRHVtcCI+eG1sQnVmTm9kZUR1bXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRG9jRHVtcEZvcm1hdE1lbW9yeSI+eG1sRG9jRHVtcEZvcm1hdE1lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxEb2NEdW1wRm9ybWF0TWVtb3J5RW5jIj54bWxEb2NEdW1wRm9ybWF0TWVtb3J5RW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERvY0Zvcm1hdER1bXAiPnhtbERvY0Zvcm1hdER1bXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUR1bXAiPnhtbE5vZGVEdW1wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVEdW1wT3V0cHV0Ij54bWxOb2RlRHVtcE91dHB1dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTYXZlRm9ybWF0RmlsZSI+eG1sU2F2ZUZvcm1hdEZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2F2ZUZvcm1hdEZpbGVFbmMiPnhtbFNhdmVGb3JtYXRGaWxlRW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNhdmVGb3JtYXRGaWxlVG8iPnhtbFNhdmVGb3JtYXRGaWxlVG88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJQcmludGYiPnhtbFN0clByaW50ZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFN0clZQcmludGYiPnhtbFN0clZQcmludGY8L2E+PGJyIC8+Cis8L2RkPjxkdD5mb3JtZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNfeG1sUGFyc2VyQ3R4dCI+X3htbFBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFNBWFBhcnNlRG9jIj5odG1sU0FYUGFyc2VEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFNBWFBhcnNlRmlsZSI+aHRtbFNBWFBhcnNlRmlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlQ3R4dEV4dGVybmFsRW50aXR5Ij54bWxQYXJzZUN0eHRFeHRlcm5hbEVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlRXh0ZXJuYWxFbnRpdHkiPnhtbFBhcnNlRXh0ZXJuYWxFbnRpdHk8L2E+PGJyIC8+Cis8L2RkPjxkdD5mb3J3YXJkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkYXRlU3RyZWFtIj54bWxTY2hlbWFWYWxpZGF0ZVN0cmVhbTwvYT48YnIgLz4KKzwvZGQ+PGR0PmZwdHI8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjWE1MX0NBU1RfRlBUUiI+WE1MX0NBU1RfRlBUUjwvYT48YnIgLz4KKzwvZGQ+PGR0PmZyYWdtZW50PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjX3htbFVSSSI+X3htbFVSSTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdEb2NGcmFnbWVudCI+eG1sTmV3RG9jRnJhZ21lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxQYXJzZVVSSSI+eG1sUGFyc2VVUkk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQdXNoSW5wdXQiPnhtbFB1c2hJbnB1dDwvYT48YnIgLz4KKzwvZGQ+PGR0PmZyYWdtZW50czwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbFBhcnNlVVJJUmF3Ij54bWxQYXJzZVVSSVJhdzwvYT48YnIgLz4KKzwvZGQ+PGR0PmZyZWVpbmc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxDYW5vbmljUGF0aCI+eG1sQ2Fub25pY1BhdGg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZXJJbnB1dERlYWxsb2NhdGUiPnhtbFBhcnNlcklucHV0RGVhbGxvY2F0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbFBhdGhUb1VSSSI+eG1sUGF0aFRvVVJJPC9hPjxiciAvPgorPC9kZD48ZHQ+ZnJlZXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyRnJlZSI+eG1sQnVmZmVyRnJlZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0U2V0Q2FjaGUiPnhtbFhQYXRoQ29udGV4dFNldENhY2hlPC9hPjxiciAvPgorPC9kZD48ZHQ+ZnJvbnQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sVmFsaWRhdGVOQ05hbWUiPnhtbFZhbGlkYXRlTkNOYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFZhbGlkYXRlTk1Ub2tlbiI+eG1sVmFsaWRhdGVOTVRva2VuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFZhbGlkYXRlTmFtZSI+eG1sVmFsaWRhdGVOYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFZhbGlkYXRlUU5hbWUiPnhtbFZhbGlkYXRlUU5hbWU8L2E+PGJyIC8+Cis8L2RkPjxkdD5mcm9udC1lbmQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNDbG9zZUZ1bmMiPnhtbENoYXJFbmNDbG9zZUZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNJbkZ1bmMiPnhtbENoYXJFbmNJbkZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNPdXRGdW5jIj54bWxDaGFyRW5jT3V0RnVuYzwvYT48YnIgLz4KKzwvZGQ+PGR0PmZ0cDo8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUE9wZW4iPnhtbE5hbm9GVFBPcGVuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBTY2FuUHJveHkiPnhtbE5hbm9GVFBTY2FuUHJveHk8L2E+PGJyIC8+Cis8L2RkPjxkdD5mdHBfcHJveHk8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUFByb3h5Ij54bWxOYW5vRlRQUHJveHk8L2E+PGJyIC8+Cis8L2RkPjxkdD5mdHBfcHJveHlfcGFzc3dvcmQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUFByb3h5Ij54bWxOYW5vRlRQUHJveHk8L2E+PGJyIC8+Cis8L2RkPjxkdD5mdHBfcHJveHlfdXNlcjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQUHJveHkiPnhtbE5hbm9GVFBQcm94eTwvYT48YnIgLz4KKzwvZGQ+PGR0PmZ1bGw8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI194bWxFbnRpdHkiPl94bWxFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI194bWxYUGF0aFBhcnNlckNvbnRleHQiPl94bWxYUGF0aFBhcnNlckNvbnRleHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEF0dHJBbGxvd2VkIj5odG1sQXR0ckFsbG93ZWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bGluay5odG1sI3hsaW5rSXNMaW5rIj54bGlua0lzTGluazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoU2Nhbm5lckZ1bGwiPnhtbEhhc2hTY2FubmVyRnVsbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HVmFsaWRhdGVGdWxsRWxlbWVudCI+eG1sUmVsYXhOR1ZhbGlkYXRlRnVsbEVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1ZhbGlkYXRlUHVzaEVsZW1lbnQiPnhtbFJlbGF4TkdWYWxpZGF0ZVB1c2hFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2F2ZS5odG1sI3htbFNhdmVEb2MiPnhtbFNhdmVEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsUHdkIj54bWxTaGVsbFB3ZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTcGxpdFFOYW1lMiI+eG1sU3BsaXRRTmFtZTI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU3BsaXRRTmFtZTMiPnhtbFNwbGl0UU5hbWUzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckV4cGFuZCI+eG1sVGV4dFJlYWRlckV4cGFuZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbFVSSVVuZXNjYXBlU3RyaW5nIj54bWxVUklVbmVzY2FwZVN0cmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFVURjhTdHJsZW4iPnhtbFVURjhTdHJsZW48L2E+PGJyIC8+Cis8L2RkPjxkdD5mdWxseTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNfaHRtbEVsZW1EZXNjIj5faHRtbEVsZW1EZXNjPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2F2ZS5odG1sI3htbFNhdmVEb2MiPnhtbFNhdmVEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzYXZlLmh0bWwjeG1sU2F2ZVRyZWUiPnhtbFNhdmVUcmVlPC9hPjxiciAvPgorPC9kZD48ZHQ+ZnVuYzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjX3htbFhQYXRoQ29udGV4dCI+X3htbFhQYXRoQ29udGV4dDwvYT48YnIgLz4KKzwvZGQ+PGR0PmZ1bmNzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCNfeG1sWFBhdGhDb250ZXh0Ij5feG1sWFBhdGhDb250ZXh0PC9hPjxiciAvPgorPC9kZD48ZHQ+ZnVuY3Rpb246PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aERpZmZlcmVuY2UiPnhtbFhQYXRoRGlmZmVyZW5jZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhEaXN0aW5jdCI+eG1sWFBhdGhEaXN0aW5jdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhEaXN0aW5jdFNvcnRlZCI+eG1sWFBhdGhEaXN0aW5jdFNvcnRlZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhIYXNTYW1lTm9kZXMiPnhtbFhQYXRoSGFzU2FtZU5vZGVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEludGVyc2VjdGlvbiI+eG1sWFBhdGhJbnRlcnNlY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTGVhZGluZyI+eG1sWFBhdGhMZWFkaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aExlYWRpbmdTb3J0ZWQiPnhtbFhQYXRoTGVhZGluZ1NvcnRlZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb2RlTGVhZGluZyI+eG1sWFBhdGhOb2RlTGVhZGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb2RlTGVhZGluZ1NvcnRlZCI+eG1sWFBhdGhOb2RlTGVhZGluZ1NvcnRlZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb2RlVHJhaWxpbmciPnhtbFhQYXRoTm9kZVRyYWlsaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vZGVUcmFpbGluZ1NvcnRlZCI+eG1sWFBhdGhOb2RlVHJhaWxpbmdTb3J0ZWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoVHJhaWxpbmciPnhtbFhQYXRoVHJhaWxpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoVHJhaWxpbmdTb3J0ZWQiPnhtbFhQYXRoVHJhaWxpbmdTb3J0ZWQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5mdW5jdGlvbmFsaXR5PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld0dsb2JhbE5zIj54bWxOZXdHbG9iYWxOczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhOb2RlU2V0R2V0TGVuZ3RoIj54bWxYUGF0aE5vZGVTZXRHZXRMZW5ndGg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoTm9kZVNldEl0ZW0iPnhtbFhQYXRoTm9kZVNldEl0ZW08L2E+PGJyIC8+Cis8L2RkPjxkdD5mdW5jdGlvbnM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEN0eHRSZWFkSU8iPmh0bWxDdHh0UmVhZElPPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxSZWFkSU8iPmh0bWxSZWFkSU88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jMTRuLmh0bWwjeG1sQzE0TkRvY0R1bXBNZW1vcnkiPnhtbEMxNE5Eb2NEdW1wTWVtb3J5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ3R4dFJlYWRJTyI+eG1sQ3R4dFJlYWRJTzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbEdjTWVtR2V0Ij54bWxHY01lbUdldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbEdjTWVtU2V0dXAiPnhtbEdjTWVtU2V0dXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNZW1HZXQiPnhtbE1lbUdldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1lbVNldHVwIj54bWxNZW1TZXR1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFJlYWRJTyI+eG1sUmVhZElPPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sUmVhZGVyRm9ySU8iPnhtbFJlYWRlckZvcklPPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sUmVhZGVyTmV3SU8iPnhtbFJlYWRlck5ld0lPPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdHZXRWYWxpZEVycm9ycyI+eG1sUmVsYXhOR0dldFZhbGlkRXJyb3JzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdTZXRQYXJzZXJFcnJvcnMiPnhtbFJlbGF4TkdTZXRQYXJzZXJFcnJvcnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1NldFBhcnNlclN0cnVjdHVyZWRFcnJvcnMiPnhtbFJlbGF4TkdTZXRQYXJzZXJTdHJ1Y3R1cmVkRXJyb3JzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdTZXRWYWxpZEVycm9ycyI+eG1sUmVsYXhOR1NldFZhbGlkRXJyb3JzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdTZXRWYWxpZFN0cnVjdHVyZWRFcnJvcnMiPnhtbFJlbGF4TkdTZXRWYWxpZFN0cnVjdHVyZWRFcnJvcnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hR2V0VmFsaWRFcnJvcnMiPnhtbFNjaGVtYUdldFZhbGlkRXJyb3JzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVNldFBhcnNlckVycm9ycyI+eG1sU2NoZW1hU2V0UGFyc2VyRXJyb3JzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVNldFBhcnNlclN0cnVjdHVyZWRFcnJvcnMiPnhtbFNjaGVtYVNldFBhcnNlclN0cnVjdHVyZWRFcnJvcnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hU2V0VmFsaWRFcnJvcnMiPnhtbFNjaGVtYVNldFZhbGlkRXJyb3JzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVNldFZhbGlkU3RydWN0dXJlZEVycm9ycyI+eG1sU2NoZW1hU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hdHJvbi5odG1sI3htbFNjaGVtYXRyb25TZXRWYWxpZFN0cnVjdHVyZWRFcnJvcnMiPnhtbFNjaGVtYXRyb25TZXRWYWxpZFN0cnVjdHVyZWRFcnJvcnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsQ21kIj54bWxTaGVsbENtZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFN3aXRjaEVuY29kaW5nIj54bWxTd2l0Y2hFbmNvZGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFN3aXRjaElucHV0RW5jb2RpbmciPnhtbFN3aXRjaElucHV0RW5jb2Rpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxTd2l0Y2hUb0VuY29kaW5nIj54bWxTd2l0Y2hUb0VuY29kaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJlZ2lzdGVyQWxsRnVuY3Rpb25zIj54bWxYUGF0aFJlZ2lzdGVyQWxsRnVuY3Rpb25zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJlZ2lzdGVyZWRGdW5jc0NsZWFudXAiPnhtbFhQYXRoUmVnaXN0ZXJlZEZ1bmNzQ2xlYW51cDwvYT48YnIgLz4KKzwvZGQ+PGR0PmZ1cnRoZXI8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUF0dFZhbHVlIj54bWxQYXJzZUF0dFZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU3RvcFBhcnNlciI+eG1sU3RvcFBhcnNlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRDdHh0Tm9ybWFsaXplQXR0cmlidXRlVmFsdWUiPnhtbFZhbGlkQ3R4dE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlIj54bWxWYWxpZE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGluY2x1ZGUuaHRtbCN4bWxYSW5jbHVkZVNldEZsYWdzIj54bWxYSW5jbHVkZVNldEZsYWdzPC9hPjxiciAvPgorPC9kZD48ZHQ+ZnV0dXJlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI194bWxET01XcmFwQ3R4dCI+X3htbERPTVdyYXBDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sQ2hlY2tMYW5ndWFnZUlEIj54bWxDaGVja0xhbmd1YWdlSUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRhdGVGaWxlIj54bWxTY2hlbWFWYWxpZGF0ZUZpbGU8L2E+PGJyIC8+Cis8L2RkPjwvZGw+PGgyIGFsaWduPSJjZW50ZXIiPjxhIGhyZWY9IkFQSWNodW5rMC5odG1sIj5BLUI8L2E+Cis8YSBocmVmPSJBUEljaHVuazEuaHRtbCI+Qy1DPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyLmh0bWwiPkQtRTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMy5odG1sIj5GLUk8L2E+Cis8YSBocmVmPSJBUEljaHVuazQuaHRtbCI+Si1OPC9hPgorPGEgaHJlZj0iQVBJY2h1bms1Lmh0bWwiPk8tUDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNi5odG1sIj5RLVI8L2E+Cis8YSBocmVmPSJBUEljaHVuazcuaHRtbCI+Uy1TPC9hPgorPGEgaHJlZj0iQVBJY2h1bms4Lmh0bWwiPlQtVTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rOS5odG1sIj5WLVg8L2E+Cis8YSBocmVmPSJBUEljaHVuazEwLmh0bWwiPlktYTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTEuaHRtbCI+Yi1iPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMi5odG1sIj5jLWM8L2E+Cis8YSBocmVmPSJBUEljaHVuazEzLmh0bWwiPmQtZDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTQuaHRtbCI+ZS1lPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNS5odG1sIj5mLWY8L2E+Cis8YSBocmVmPSJBUEljaHVuazE2Lmh0bWwiPmctaDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTcuaHRtbCI+aS1pPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxOC5odG1sIj5qLWw8L2E+Cis8YSBocmVmPSJBUEljaHVuazE5Lmh0bWwiPm0tbTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjAuaHRtbCI+bi1uPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMS5odG1sIj5vLW88L2E+Cis8YSBocmVmPSJBUEljaHVuazIyLmh0bWwiPnAtcDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjMuaHRtbCI+cS1yPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNC5odG1sIj5zLXM8L2E+Cis8YSBocmVmPSJBUEljaHVuazI1Lmh0bWwiPnQtdDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjYuaHRtbCI+dS12PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNy5odG1sIj53LXc8L2E+Cis8YSBocmVmPSJBUEljaHVuazI4Lmh0bWwiPngteDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjkuaHRtbCI+eS16PC9hPgorPC9oMj48cD48YSBocmVmPSJidWdzLmh0bWwiPkRhbmllbCBWZWlsbGFyZDwvYT48L3A+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL0FQSWNodW5rMTYuaHRtbCBiL2xpYnhtbDIvZG9jL0FQSWNodW5rMTYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MmQzODQ1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvQVBJY2h1bmsxNi5odG1sCkBAIC0wLDAgKzEsMzc1IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPgorPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPjxoZWFkPjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPjxsaW5rIHJlbD0iU0hPUlRDVVQgSUNPTiIgaHJlZj0iL2Zhdmljb24uaWNvIiAvPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CitURCB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorQk9EWSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhOyBtYXJnaW4tdG9wOiAyZW07IG1hcmdpbi1sZWZ0OiAwZW07IG1hcmdpbi1yaWdodDogMGVtfQorSDEge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gyIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMyB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorQTpsaW5rLCBBOnZpc2l0ZWQsIEE6YWN0aXZlIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgfQorPC9zdHlsZT48dGl0bGU+QVBJIEFscGhhYmV0aWMgSW5kZXggZy1oIGZvciBsaWJ4bWwyPC90aXRsZT48L2hlYWQ+PGJvZHkgYmdjb2xvcj0iIzhiNzc2NSIgdGV4dD0iIzAwMDAwMCIgbGluaz0iI2EwNjA2MCIgdmxpbms9IiMwMDAwMDAiPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSIxMDAlIiBjZWxscGFkZGluZz0iNSIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgd2lkdGg9IjEyMCI+PGEgaHJlZj0iaHR0cDovL3N3cGF0LmZmaWkub3JnLyI+PGltZyBzcmM9ImVwYXRlbnRzLnBuZyIgYWx0PSJBY3Rpb24gYWdhaW5zdCBzb2Z0d2FyZSBwYXRlbnRzIiAvPjwvYT48L3RkPjx0ZCB3aWR0aD0iMTgwIj48YSBocmVmPSJodHRwOi8vd3d3Lmdub21lLm9yZy8iPjxpbWcgc3JjPSJnbm9tZTIucG5nIiBhbHQ9Ikdub21lMiBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9TdGF0dXMiPjxpbWcgc3JjPSJ3M2MucG5nIiBhbHQ9IlczQyBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnJlZGhhdC5jb20vIj48aW1nIHNyYz0icmVkaGF0LmdpZiIgYWx0PSJSZWQgSGF0IExvZ28iIC8+PC9hPjxkaXYgYWxpZ249ImxlZnQiPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy8iPjxpbWcgc3JjPSJMaWJ4bWwyLUxvZ28tMTgweDE2OC5naWYiIGFsdD0iTWFkZSB3aXRoIExpYnhtbDIgTG9nbyIgLz48L2E+PC9kaXY+PC90ZD48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjkwJSIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiIGJnY29sb3I9IiNmZmZhY2QiPjx0cj48dGQgYWxpZ249ImNlbnRlciI+PGgxPlRoZSBYTUwgQyBwYXJzZXIgYW5kIHRvb2xraXQgb2YgR25vbWU8L2gxPjxoMj5BUEkgQWxwaGFiZXRpYyBJbmRleCBnLWggZm9yIGxpYnhtbDI8L2gyPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI0IiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCB2YWxpZ249InRvcCIgd2lkdGg9IjIwMCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+RGV2ZWxvcGVyIE1lbnU8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PGZvcm0gYWN0aW9uPSJzZWFyY2gucGhwIiBlbmN0eXBlPSJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiIG1ldGhvZD0iZ2V0Ij48aW5wdXQgbmFtZT0icXVlcnkiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iIiAvPjxpbnB1dCBuYW1lPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNlYXJjaCAuLi4iIC8+PC9mb3JtPjx1bD48bGk+PGEgaHJlZj0iaW5kZXguaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPk1haW4gTWVudTwvYT48L2xpPjxsaT48YSBocmVmPSJodG1sL2luZGV4Lmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5SZWZlcmVuY2UgTWFudWFsPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImV4YW1wbGVzL2luZGV4Lmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5Db2RlIEV4YW1wbGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imd1aWRlbGluZXMuaHRtbCI+WE1MIEd1aWRlbGluZXM8L2E+PC9saT48bGk+PGEgaHJlZj0idHV0b3JpYWwvaW5kZXguaHRtbCI+VHV0b3JpYWw8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1scmVhZGVyLmh0bWwiPlRoZSBSZWFkZXIgSW50ZXJmYWNlPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkNoYW5nZUxvZy5odG1sIj5DaGFuZ2VMb2c8L2E+PC9saT48bGk+PGEgaHJlZj0iWFNMVC5odG1sIj5YU0xUPC9hPjwvbGk+PGxpPjxhIGhyZWY9InB5dGhvbi5odG1sIj5QeXRob24gYW5kIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImFyY2hpdGVjdHVyZS5odG1sIj5saWJ4bWwyIGFyY2hpdGVjdHVyZTwvYT48L2xpPjxsaT48YSBocmVmPSJ0cmVlLmh0bWwiPlRoZSB0cmVlIG91dHB1dDwvYT48L2xpPjxsaT48YSBocmVmPSJpbnRlcmZhY2UuaHRtbCI+VGhlIFNBWCBpbnRlcmZhY2U8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1sbWVtLmh0bWwiPk1lbW9yeSBNYW5hZ2VtZW50PC9hPjwvbGk+PGxpPjxhIGhyZWY9InhtbGlvLmh0bWwiPkkvTyBJbnRlcmZhY2VzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnJhcnkuaHRtbCI+VGhlIHBhcnNlciBpbnRlcmZhY2VzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImVudGl0aWVzLmh0bWwiPkVudGl0aWVzIG9yIG5vIGVudGl0aWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Im5hbWVzcGFjZXMuaHRtbCI+TmFtZXNwYWNlczwvYT48L2xpPjxsaT48YSBocmVmPSJ1cGdyYWRlLmh0bWwiPlVwZ3JhZGluZyAxLnggY29kZTwvYT48L2xpPjxsaT48YSBocmVmPSJ0aHJlYWRzLmh0bWwiPlRocmVhZCBzYWZldHk8L2E+PC9saT48bGk+PGEgaHJlZj0iRE9NLmh0bWwiPkRPTSBQcmluY2lwbGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImV4YW1wbGUuaHRtbCI+QSByZWFsIGV4YW1wbGU8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1sLmh0bWwiPmZsYXQgcGFnZTwvYT4sIDxhIGhyZWY9InNpdGUueHNsIj5zdHlsZXNoZWV0PC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+QVBJIEluZGV4ZXM8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSJBUEljaHVuazAuaHRtbCI+QWxwaGFiZXRpYzwvYT48L2xpPjxsaT48YSBocmVmPSJBUEljb25zdHJ1Y3RvcnMuaHRtbCI+Q29uc3RydWN0b3JzPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkFQSWZ1bmN0aW9ucy5odG1sIj5GdW5jdGlvbnMvVHlwZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iQVBJZmlsZXMuaHRtbCI+TW9kdWxlczwvYT48L2xpPjxsaT48YSBocmVmPSJBUElzeW1ib2xzLmh0bWwiPlN5bWJvbHM8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5SZWxhdGVkIGxpbmtzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iaHR0cDovL21haWwuZ25vbWUub3JnL2FyY2hpdmVzL3htbC8iPk1haWwgYXJjaGl2ZTwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvWFNMVC8iPlhTTFQgbGlieHNsdDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vcGhkLmNzLnVuaWJvLml0L2dkb21lMi8iPkRPTSBnZG9tZTI8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5hbGVrc2V5LmNvbS94bWxzZWMvIj5YTUwtRFNpZyB4bWxzZWM8L2E+PC9saT48bGk+PGEgaHJlZj0iZnRwOi8veG1sc29mdC5vcmcvIj5GVFA8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56bGF0a292aWMuY29tL3Byb2plY3RzL2xpYnhtbC8iPldpbmRvd3MgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL29wZW5jc3cub3JnL3BhY2thZ2VzL2xpYnhtbDIiPlNvbGFyaXMgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5leHBsYWluLmNvbS5hdS9vc3MvbGlieG1sMnhzbHQuaHRtbCI+TWFjT3NYIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9seG1sLmRlLyI+bHhtbCBQeXRob24gYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2NwYW4udXdpbm5pcGVnLmNhL2Rpc3QvWE1MLUxpYlhNTCI+UGVybCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1scGx1c3BsdXMuc291cmNlZm9yZ2UubmV0LyI+QysrIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemVuZC5jb20vcGhwNS9hcnRpY2xlcy9waHA1LXhtbHBocC5waHAjSGVhZGluZzQiPlBIUCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2xpYnhtbDItcGFzLyI+UGFzY2FsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWwucnVieWZvcmdlLm9yZy8iPlJ1YnkgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3RjbHhtbC5zb3VyY2Vmb3JnZS5uZXQvIj5UY2wgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9idWdsaXN0LmNnaT9wcm9kdWN0PWxpYnhtbDIiPkJ1ZyBUcmFja2VyPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIzIiBjZWxsc3BhY2luZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PGgyIGFsaWduPSJjZW50ZXIiPjxhIGhyZWY9IkFQSWNodW5rMC5odG1sIj5BLUI8L2E+Cis8YSBocmVmPSJBUEljaHVuazEuaHRtbCI+Qy1DPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyLmh0bWwiPkQtRTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMy5odG1sIj5GLUk8L2E+Cis8YSBocmVmPSJBUEljaHVuazQuaHRtbCI+Si1OPC9hPgorPGEgaHJlZj0iQVBJY2h1bms1Lmh0bWwiPk8tUDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNi5odG1sIj5RLVI8L2E+Cis8YSBocmVmPSJBUEljaHVuazcuaHRtbCI+Uy1TPC9hPgorPGEgaHJlZj0iQVBJY2h1bms4Lmh0bWwiPlQtVTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rOS5odG1sIj5WLVg8L2E+Cis8YSBocmVmPSJBUEljaHVuazEwLmh0bWwiPlktYTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTEuaHRtbCI+Yi1iPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMi5odG1sIj5jLWM8L2E+Cis8YSBocmVmPSJBUEljaHVuazEzLmh0bWwiPmQtZDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTQuaHRtbCI+ZS1lPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNS5odG1sIj5mLWY8L2E+Cis8YSBocmVmPSJBUEljaHVuazE2Lmh0bWwiPmctaDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTcuaHRtbCI+aS1pPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxOC5odG1sIj5qLWw8L2E+Cis8YSBocmVmPSJBUEljaHVuazE5Lmh0bWwiPm0tbTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjAuaHRtbCI+bi1uPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMS5odG1sIj5vLW88L2E+Cis8YSBocmVmPSJBUEljaHVuazIyLmh0bWwiPnAtcDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjMuaHRtbCI+cS1yPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNC5odG1sIj5zLXM8L2E+Cis8YSBocmVmPSJBUEljaHVuazI1Lmh0bWwiPnQtdDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjYuaHRtbCI+dS12PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNy5odG1sIj53LXc8L2E+Cis8YSBocmVmPSJBUEljaHVuazI4Lmh0bWwiPngteDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjkuaHRtbCI+eS16PC9hPgorPC9oMj48aDI+TGV0dGVyIGc6PC9oMj48ZGw+PGR0PmdEYXk8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFHZXRDYW5vblZhbHVlIj54bWxTY2hlbWFHZXRDYW5vblZhbHVlPC9hPjxiciAvPgorPC9kZD48ZHQ+Z01vbnRoPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hR2V0Q2Fub25WYWx1ZSI+eG1sU2NoZW1hR2V0Q2Fub25WYWx1ZTwvYT48YnIgLz4KKzwvZGQ+PGR0PmdNb250aERheTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUdldENhbm9uVmFsdWUiPnhtbFNjaGVtYUdldENhbm9uVmFsdWU8L2E+PGJyIC8+Cis8L2RkPjxkdD5nWWVhcjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUdldENhbm9uVmFsdWUiPnhtbFNjaGVtYUdldENhbm9uVmFsdWU8L2E+PGJyIC8+Cis8L2RkPjxkdD5nWWVhck1vbnRoPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hR2V0Q2Fub25WYWx1ZSI+eG1sU2NoZW1hR2V0Q2Fub25WYWx1ZTwvYT48YnIgLz4KKzwvZGQ+PGR0PmdhcmFudGVlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFVURjhTdHJzaXplIj54bWxVVEY4U3Ryc2l6ZTwvYT48YnIgLz4KKzwvZGQ+PGR0PmdhcmJhZ2U8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxHY01lbUdldCI+eG1sR2NNZW1HZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxHY01lbVNldHVwIj54bWxHY01lbVNldHVwPC9hPjxiciAvPgorPC9kZD48ZHQ+Z2NjPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI1hNTF9DQVNUX0ZQVFIiPlhNTF9DQVNUX0ZQVFI8L2E+PGJyIC8+Cis8L2RkPjxkdD5nY2M0PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI1hNTF9DQVNUX0ZQVFIiPlhNTF9DQVNUX0ZQVFI8L2E+PGJyIC8+Cis8L2RkPjxkdD5nZW5DaFJhbmdlczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc0Jhc2VDaGFyUSI+eG1sSXNCYXNlQ2hhclE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNCYXNlQ2hhcl9jaCI+eG1sSXNCYXNlQ2hhcl9jaDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc0JsYW5rUSI+eG1sSXNCbGFua1E8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNCbGFua19jaCI+eG1sSXNCbGFua19jaDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc0NoYXJRIj54bWxJc0NoYXJRPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzQ2hhcl9jaCI+eG1sSXNDaGFyX2NoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzQ29tYmluaW5nUSI+eG1sSXNDb21iaW5pbmdRPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzRGlnaXRRIj54bWxJc0RpZ2l0UTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc0RpZ2l0X2NoIj54bWxJc0RpZ2l0X2NoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzRXh0ZW5kZXJRIj54bWxJc0V4dGVuZGVyUTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc0V4dGVuZGVyX2NoIj54bWxJc0V4dGVuZGVyX2NoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzSWRlb2dyYXBoaWNRIj54bWxJc0lkZW9ncmFwaGljUTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc1B1YmlkQ2hhclEiPnhtbElzUHViaWRDaGFyUTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc1B1YmlkQ2hhcl9jaCI+eG1sSXNQdWJpZENoYXJfY2g8L2E+PGJyIC8+Cis8L2RkPjxkdD5nZW5lcmFsPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjWE1MX1NVQlNUSVRVVEVfQk9USCI+WE1MX1NVQlNUSVRVVEVfQk9USDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI1hNTF9TVUJTVElUVVRFX1JFRiI+WE1MX1NVQlNUSVRVVEVfUkVGPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jRmlyc3RMaW5lIj54bWxDaGFyRW5jRmlyc3RMaW5lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jSW5GdW5jIj54bWxDaGFyRW5jSW5GdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jT3V0RnVuYyI+eG1sQ2hhckVuY091dEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUN0eHRFeHRlcm5hbEVudGl0eSI+eG1sUGFyc2VDdHh0RXh0ZXJuYWxFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVudGl0eVJlZiI+eG1sUGFyc2VFbnRpdHlSZWY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUV4dFBhcnNlZEVudCI+eG1sUGFyc2VFeHRQYXJzZWRFbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUV4dGVybmFsRW50aXR5Ij54bWxQYXJzZUV4dGVybmFsRW50aXR5PC9hPjxiciAvPgorPC9kZD48ZHQ+Z2VuZXJhbGx5PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWERlZmF1bHRWZXJzaW9uIj54bWxTQVhEZWZhdWx0VmVyc2lvbjwvYT48YnIgLz4KKzwvZGQ+PGR0PmdlbmVyYXRlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERvY0R1bXBGb3JtYXRNZW1vcnlFbmMiPnhtbERvY0R1bXBGb3JtYXRNZW1vcnlFbmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRG9jRHVtcE1lbW9yeUVuYyI+eG1sRG9jRHVtcE1lbW9yeUVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoQWRkRW50cnkiPnhtbEhhc2hBZGRFbnRyeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoQWRkRW50cnkyIj54bWxIYXNoQWRkRW50cnkyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hBZGRFbnRyeTMiPnhtbEhhc2hBZGRFbnRyeTM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxMb2FkRXh0ZXJuYWxFbnRpdHkiPnhtbExvYWRFeHRlcm5hbEVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRXh0ZXJuYWxJRCI+eG1sUGFyc2VFeHRlcm5hbElEPC9hPjxiciAvPgorPC9kZD48ZHQ+Z2VuZXJhdGVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERvY0R1bXBGb3JtYXRNZW1vcnlFbmMiPnhtbERvY0R1bXBGb3JtYXRNZW1vcnlFbmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRG9jRHVtcE1lbW9yeUVuYyI+eG1sRG9jRHVtcE1lbW9yeUVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc0Jhc2VDaGFyUSI+eG1sSXNCYXNlQ2hhclE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNCYXNlQ2hhcl9jaCI+eG1sSXNCYXNlQ2hhcl9jaDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc0JsYW5rUSI+eG1sSXNCbGFua1E8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNCbGFua19jaCI+eG1sSXNCbGFua19jaDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc0NoYXJRIj54bWxJc0NoYXJRPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzQ2hhcl9jaCI+eG1sSXNDaGFyX2NoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzQ29tYmluaW5nUSI+eG1sSXNDb21iaW5pbmdRPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzRGlnaXRRIj54bWxJc0RpZ2l0UTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc0RpZ2l0X2NoIj54bWxJc0RpZ2l0X2NoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzRXh0ZW5kZXJRIj54bWxJc0V4dGVuZGVyUTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc0V4dGVuZGVyX2NoIj54bWxJc0V4dGVuZGVyX2NoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzSWRlb2dyYXBoaWNRIj54bWxJc0lkZW9ncmFwaGljUTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc1B1YmlkQ2hhclEiPnhtbElzUHViaWRDaGFyUTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc1B1YmlkQ2hhcl9jaCI+eG1sSXNQdWJpZENoYXJfY2g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxLZWVwQmxhbmtzRGVmYXVsdCI+eG1sS2VlcEJsYW5rc0RlZmF1bHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2VhcmNoTnMiPnhtbFNlYXJjaE5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbFByaW50WFBhdGhSZXN1bHQiPnhtbFNoZWxsUHJpbnRYUGF0aFJlc3VsdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJJc0RlZmF1bHQiPnhtbFRleHRSZWFkZXJJc0RlZmF1bHQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5nZW5lcmF0ZXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdleHBFeGVjIj54bWxSZWdleHBFeGVjPC9hPjxiciAvPgorPC9kZD48ZHQ+Z2VuZXJhdGluZzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxEb2NEdW1wRm9ybWF0TWVtb3J5RW5jIj54bWxEb2NEdW1wRm9ybWF0TWVtb3J5RW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERvY0R1bXBNZW1vcnlFbmMiPnhtbERvY0R1bXBNZW1vcnlFbmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBFeHBEZXJpdmUiPnhtbEV4cEV4cERlcml2ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEtlZXBCbGFua3NEZWZhdWx0Ij54bWxLZWVwQmxhbmtzRGVmYXVsdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ0V4ZWNFcnJJbmZvIj54bWxSZWdFeGVjRXJySW5mbzwvYT48YnIgLz4KKzwvZGQ+PGR0PmdlbmVyaWM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI2luaXRHZW5lcmljRXJyb3JEZWZhdWx0RnVuYyI+aW5pdEdlbmVyaWNFcnJvckRlZmF1bHRGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbENtZCI+eG1sU2hlbGxDbWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsUmVhZGxpbmVGdW5jIj54bWxTaGVsbFJlYWRsaW5lRnVuYzwvYT48YnIgLz4KKzwvZGQ+PGR0PmdldDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI194bWxTQVhIYW5kbGVyIj5feG1sU0FYSGFuZGxlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI194bWxTQVhIYW5kbGVyVjEiPl94bWxTQVhIYW5kbGVyVjE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNmYXRhbEVycm9yU0FYRnVuYyI+ZmF0YWxFcnJvclNBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmVXNlIj54bWxCdWZVc2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyTGVuZ3RoIj54bWxCdWZmZXJMZW5ndGg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ0dldERlZmF1bHRzIj54bWxDYXRhbG9nR2V0RGVmYXVsdHM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sR2V0Q29tcHJlc3NNb2RlIj54bWxHZXRDb21wcmVzc01vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sR2V0RG9jQ29tcHJlc3NNb2RlIj54bWxHZXREb2NDb21wcmVzc01vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sR2V0Tm9Oc1Byb3AiPnhtbEdldE5vTnNQcm9wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEdldE5zUHJvcCI+eG1sR2V0TnNQcm9wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEdldFByb3AiPnhtbEdldFByb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxOYW1lc3BhY2VQYXJzZVFOYW1lIj54bWxOYW1lc3BhY2VQYXJzZVFOYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBJbml0Ij54bWxOYW5vRlRQSW5pdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdQSSI+eG1sTmV3UEk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxTcGxpdFFOYW1lIj54bWxTcGxpdFFOYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNwbGl0UU5hbWUyIj54bWxTcGxpdFFOYW1lMjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJDdXJyZW50RG9jIj54bWxUZXh0UmVhZGVyQ3VycmVudERvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJDdXJyZW50Tm9kZSI+eG1sVGV4dFJlYWRlckN1cnJlbnROb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckdldFBhcnNlclByb3AiPnhtbFRleHRSZWFkZXJHZXRQYXJzZXJQcm9wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckdldFJlbWFpbmRlciI+eG1sVGV4dFJlYWRlckdldFJlbWFpbmRlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVOb3RhdGlvbkRlY2wiPnhtbFZhbGlkYXRlTm90YXRpb25EZWNsPC9hPjxiciAvPgorPC9kZD48ZHQ+Z2llPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlckRldGFjaCI+eG1sQnVmZmVyRGV0YWNoPC9hPjxiciAvPgorPC9kZD48ZHQ+Z2lmPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sQnVpbGRSZWxhdGl2ZVVSSSI+eG1sQnVpbGRSZWxhdGl2ZVVSSTwvYT48YnIgLz4KKzwvZGQ+PGR0PmdpdmU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNfeG1sUGFyc2VySW5wdXQiPl94bWxQYXJzZXJJbnB1dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNfeG1sU2NoZW1hIj5feG1sU2NoZW1hPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZUR0ZCI+eG1sVmFsaWRhdGVEdGQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5naXZlczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sUGFyc2VyRXJyb3IiPnhtbFBhcnNlckVycm9yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxQYXJzZXJWYWxpZGl0eUVycm9yIj54bWxQYXJzZXJWYWxpZGl0eUVycm9yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxQYXJzZXJWYWxpZGl0eVdhcm5pbmciPnhtbFBhcnNlclZhbGlkaXR5V2FybmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sUGFyc2VyV2FybmluZyI+eG1sUGFyc2VyV2FybmluZzwvYT48YnIgLz4KKzwvZGQ+PGR0PmdpdmluZzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdEb2MiPnhtbE5ld0RvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlVmVyc2lvbk51bSI+eG1sUGFyc2VWZXJzaW9uTnVtPC9hPjxiciAvPgorPC9kZD48ZHQ+Z2xvYmFsPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0VMRU1fR0xPQkFMIj5YTUxfU0NIRU1BU19FTEVNX0dMT0JBTDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX0dMT0JBTCI+WE1MX1NDSEVNQVNfVFlQRV9HTE9CQUw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjX3htbE5zIj5feG1sTnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNnbG9iYWxOYW1lc3BhY2UiPmdsb2JhbE5hbWVzcGFjZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nRHVtcCI+eG1sQ2F0YWxvZ0R1bXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxDbGVhbnVwUGFyc2VyIj54bWxDbGVhbnVwUGFyc2VyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxDdHh0UmVzZXRMYXN0RXJyb3IiPnhtbEN0eHRSZXNldExhc3RFcnJvcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjeG1sRW5jb2RlRW50aXRpZXNSZWVudHJhbnQiPnhtbEVuY29kZUVudGl0aWVzUmVlbnRyYW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxFbmNvZGVTcGVjaWFsQ2hhcnMiPnhtbEVuY29kZVNwZWNpYWxDaGFyczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRocmVhZHMuaHRtbCN4bWxHZXRHbG9iYWxTdGF0ZSI+eG1sR2V0R2xvYmFsU3RhdGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI3htbEdldExhc3RFcnJvciI+eG1sR2V0TGFzdEVycm9yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbEluaXRpYWxpemVHbG9iYWxTdGF0ZSI+eG1sSW5pdGlhbGl6ZUdsb2JhbFN0YXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxSZXNldExhc3RFcnJvciI+eG1sUmVzZXRMYXN0RXJyb3I8L2E+PGJyIC8+Cis8L2RkPjxkdD5nbG9iYWxseTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVhEZWZhdWx0VmVyc2lvbiI+eG1sU0FYRGVmYXVsdFZlcnNpb248L2E+PGJyIC8+Cis8L2RkPjxkdD5nbnU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyTm9kZVR5cGUiPnhtbFRleHRSZWFkZXJOb2RlVHlwZTwvYT48YnIgLz4KKzwvZGQ+PGR0Pmdvb2Q8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyR2V0UmVtYWluZGVyIj54bWxUZXh0UmVhZGVyR2V0UmVtYWluZGVyPC9hPjxiciAvPgorPC9kZD48ZHQ+Z3JhZnRlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxDb3B5UHJvcCI+eG1sQ29weVByb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQ29weVByb3BMaXN0Ij54bWxDb3B5UHJvcExpc3Q8L2E+PGJyIC8+Cis8L2RkPjxkdD5ncmFtbWFyOjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeSI+eG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5UmVjb3ZlciI+eG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5UmVjb3ZlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlSW5Ob2RlQ29udGV4dCI+eG1sUGFyc2VJbk5vZGVDb250ZXh0PC9hPjxiciAvPgorPC9kZD48ZHQ+Z3JlYXRlcjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhDb21wYXJlVmFsdWVzIj54bWxYUGF0aENvbXBhcmVWYWx1ZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRmxvb3JGdW5jdGlvbiI+eG1sWFBhdGhGbG9vckZ1bmN0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFN1YnN0cmluZ0Z1bmN0aW9uIj54bWxYUGF0aFN1YnN0cmluZ0Z1bmN0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+Z3JlYXRlci10aGFuPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld1RleHRDaGlsZCI+eG1sTmV3VGV4dENoaWxkPC9hPjxiciAvPgorPC9kZD48ZHQ+Z3JvdXA8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfQVRUUkdST1VQX0hBU19SRUZTIj5YTUxfU0NIRU1BU19BVFRSR1JPVVBfSEFTX1JFRlM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfQVRUUkdST1VQX01BUktFRCI+WE1MX1NDSEVNQVNfQVRUUkdST1VQX01BUktFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19BVFRSR1JPVVBfUkVERUZJTkVEIj5YTUxfU0NIRU1BU19BVFRSR1JPVVBfUkVERUZJTkVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0VMRU1fRklOQUxfQUJTRU5UIj5YTUxfU0NIRU1BU19FTEVNX0ZJTkFMX0FCU0VOVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19FTEVNX0ZJTkFMX0VYVEVOU0lPTiI+WE1MX1NDSEVNQVNfRUxFTV9GSU5BTF9FWFRFTlNJT048L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfRUxFTV9GSU5BTF9SRVNUUklDVElPTiI+WE1MX1NDSEVNQVNfRUxFTV9GSU5BTF9SRVNUUklDVElPTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19FTEVNX1NVQlNUX0dST1VQX0hFQUQiPlhNTF9TQ0hFTUFTX0VMRU1fU1VCU1RfR1JPVVBfSEVBRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNfeG1sU2NoZW1hQXR0cmlidXRlR3JvdXAiPl94bWxTY2hlbWFBdHRyaWJ1dGVHcm91cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNfeG1sU2NoZW1hRWxlbWVudCI+X3htbFNjaGVtYUVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjZnRwTGlzdENhbGxiYWNrIj5mdHBMaXN0Q2FsbGJhY2s8L2E+PGJyIC8+Cis8L2RkPjxkdD5ncm91cHM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVsZW1lbnRDaGlsZHJlbkNvbnRlbnREZWNsIj54bWxQYXJzZUVsZW1lbnRDaGlsZHJlbkNvbnRlbnREZWNsPC9hPjxiciAvPgorPC9kZD48ZHQ+Z3JvdzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzIj54bWxWYWxpZEdldFZhbGlkRWxlbWVudHM8L2E+PGJyIC8+Cis8L2RkPjxkdD5ncm93czwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJXcml0ZUNIQVIiPnhtbEJ1ZmZlcldyaXRlQ0hBUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJXcml0ZUNoYXIiPnhtbEJ1ZmZlcldyaXRlQ2hhcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJXcml0ZVF1b3RlZFN0cmluZyI+eG1sQnVmZmVyV3JpdGVRdW90ZWRTdHJpbmc8L2E+PGJyIC8+Cis8L2RkPjxkdD5ndWFyYW50ZWU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxtb2R1bGUuaHRtbCN4bWxNb2R1bGVPcGVuIj54bWxNb2R1bGVPcGVuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbW9kdWxlLmh0bWwjeG1sTW9kdWxlU3ltYm9sIj54bWxNb2R1bGVTeW1ib2w8L2E+PGJyIC8+Cis8L2RkPjxkdD5ndWFyYW50ZWVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbW9kdWxlLmh0bWwjeG1sTW9kdWxlT3BlbiI+eG1sTW9kdWxlT3BlbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1vZHVsZS5odG1sI3htbE1vZHVsZVN5bWJvbCI+eG1sTW9kdWxlU3ltYm9sPC9hPjxiciAvPgorPC9kZD48ZHQ+Z3Vlc3M8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxDbGVhbnVwUGFyc2VyIj54bWxDbGVhbnVwUGFyc2VyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbENsZWFudXBUaHJlYWRzIj54bWxDbGVhbnVwVGhyZWFkczwvYT48YnIgLz4KKzwvZGQ+PC9kbD48aDI+TGV0dGVyIGg6PC9oMj48ZGw+PGR0PmhhZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdHbG9iYWxOcyI+eG1sTmV3R2xvYmFsTnM8L2E+PGJyIC8+Cis8L2RkPjxkdD5oYW5kPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbExvYWRBQ2F0YWxvZyI+eG1sTG9hZEFDYXRhbG9nPC9hPjxiciAvPgorPC9kZD48ZHQ+aGFuZGxlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxMb2FkQUNhdGFsb2ciPnhtbExvYWRBQ2F0YWxvZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQXR0VmFsdWUiPnhtbFBhcnNlQXR0VmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUF0dHJpYnV0ZSI+eG1sUGFyc2VBdHRyaWJ1dGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZURlZmF1bHREZWNsIj54bWxQYXJzZURlZmF1bHREZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbGVtZW50Q29udGVudERlY2wiPnhtbFBhcnNlRWxlbWVudENvbnRlbnREZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VQRVJlZmVyZW5jZSI+eG1sUGFyc2VQRVJlZmVyZW5jZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlckhhbmRsZVBFUmVmZXJlbmNlIj54bWxQYXJzZXJIYW5kbGVQRVJlZmVyZW5jZTwvYT48YnIgLz4KKzwvZGQ+PGR0PmhhbmRsZXJzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteGxpbmsuaHRtbCN4bGlua1NldERlZmF1bHRIYW5kbGVyIj54bGlua1NldERlZmF1bHRIYW5kbGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDbGVhbnVwQ2hhckVuY29kaW5nSGFuZGxlcnMiPnhtbENsZWFudXBDaGFyRW5jb2RpbmdIYW5kbGVyczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sUmVnaXN0ZXJEZWZhdWx0SW5wdXRDYWxsYmFja3MiPnhtbFJlZ2lzdGVyRGVmYXVsdElucHV0Q2FsbGJhY2tzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxSZWdpc3RlckRlZmF1bHRPdXRwdXRDYWxsYmFja3MiPnhtbFJlZ2lzdGVyRGVmYXVsdE91dHB1dENhbGxiYWNrczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJTZXRFcnJvckhhbmRsZXIiPnhtbFRleHRSZWFkZXJTZXRFcnJvckhhbmRsZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyU2V0U3RydWN0dXJlZEVycm9ySGFuZGxlciI+eG1sVGV4dFJlYWRlclNldFN0cnVjdHVyZWRFcnJvckhhbmRsZXI8L2E+PGJyIC8+Cis8L2RkPjxkdD5oYW5kbGVzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNhdmVGaWxlVG8iPnhtbFNhdmVGaWxlVG88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2F2ZUZvcm1hdEZpbGVUbyI+eG1sU2F2ZUZvcm1hdEZpbGVUbzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sU3RydWN0dXJlZEVycm9yRnVuYyI+eG1sU3RydWN0dXJlZEVycm9yRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxVbnNldFByb3AiPnhtbFVuc2V0UHJvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdHJpbmdFdmFsTnVtYmVyIj54bWxYUGF0aFN0cmluZ0V2YWxOdW1iZXI8L2E+PGJyIC8+Cis8L2RkPjxkdD5oYW5kbGluZzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19GQUNFVF9VTktOT1dOIj5YTUxfU0NIRU1BU19GQUNFVF9VTktOT1dOPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNhdHRyaWJ1dGVTQVhGdW5jIj5hdHRyaWJ1dGVTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxIYW5kbGVPbWl0dGVkRWxlbSI+aHRtbEhhbmRsZU9taXR0ZWRFbGVtPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbENoaWxkRWxlbWVudENvdW50Ij54bWxDaGlsZEVsZW1lbnRDb3VudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxGaXJzdEVsZW1lbnRDaGlsZCI+eG1sRmlyc3RFbGVtZW50Q2hpbGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxIYW5kbGVFbnRpdHkiPnhtbEhhbmRsZUVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxMYXN0RWxlbWVudENoaWxkIj54bWxMYXN0RWxlbWVudENoaWxkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sTmFtZXNwYWNlUGFyc2VOQ05hbWUiPnhtbE5hbWVzcGFjZVBhcnNlTkNOYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sTmFtZXNwYWNlUGFyc2VOU0RlZiI+eG1sTmFtZXNwYWNlUGFyc2VOU0RlZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbE5hbWVzcGFjZVBhcnNlUU5hbWUiPnhtbE5hbWVzcGFjZVBhcnNlUU5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV4dEVsZW1lbnRTaWJsaW5nIj54bWxOZXh0RWxlbWVudFNpYmxpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUxpc3RHZXRSYXdTdHJpbmciPnhtbE5vZGVMaXN0R2V0UmF3U3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRGVmYXVsdCI+eG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VySGFuZGxlUEVSZWZlcmVuY2UiPnhtbFBhcnNlckhhbmRsZVBFUmVmZXJlbmNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VySGFuZGxlUmVmZXJlbmNlIj54bWxQYXJzZXJIYW5kbGVSZWZlcmVuY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQiPnhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFByZXZpb3VzRWxlbWVudFNpYmxpbmciPnhtbFByZXZpb3VzRWxlbWVudFNpYmxpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdOZXdFeGVjQ3R4dCI+eG1sUmVnTmV3RXhlY0N0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbFJlZ2lzdGVySW5wdXRDYWxsYmFja3MiPnhtbFJlZ2lzdGVySW5wdXRDYWxsYmFja3M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbFJlZ2lzdGVyT3V0cHV0Q2FsbGJhY2tzIj54bWxSZWdpc3Rlck91dHB1dENhbGxiYWNrczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sU2V0R2VuZXJpY0Vycm9yRnVuYyI+eG1sU2V0R2VuZXJpY0Vycm9yRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sU2V0U3RydWN0dXJlZEVycm9yRnVuYyI+eG1sU2V0U3RydWN0dXJlZEVycm9yRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhQb3BCb29sZWFuIj54bWxYUGF0aFBvcEJvb2xlYW48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUG9wRXh0ZXJuYWwiPnhtbFhQYXRoUG9wRXh0ZXJuYWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUG9wTm9kZVNldCI+eG1sWFBhdGhQb3BOb2RlU2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFBvcE51bWJlciI+eG1sWFBhdGhQb3BOdW1iZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUG9wU3RyaW5nIj54bWxYUGF0aFBvcFN0cmluZzwvYT48YnIgLz4KKzwvZGQ+PGR0PmhhcmQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxDbGVhbnVwUGFyc2VyIj54bWxDbGVhbnVwUGFyc2VyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbENsZWFudXBUaHJlYWRzIj54bWxDbGVhbnVwVGhyZWFkczwvYT48YnIgLz4KKzwvZGQ+PGR0Pmhhcy1zYW1lLW5vZGVzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEhhc1NhbWVOb2RlcyI+eG1sWFBhdGhIYXNTYW1lTm9kZXM8L2E+PGJyIC8+Cis8L2RkPjxkdD5oYXlzdGFjazwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFN0cmNhc2VzdHIiPnhtbFN0cmNhc2VzdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJzdHIiPnhtbFN0cnN0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFN0cnN1YiI+eG1sU3Ryc3ViPC9hPjxiciAvPgorPC9kZD48ZHQ+aGVhZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19FTEVNX1NVQlNUX0dST1VQX0hFQUQiPlhNTF9TQ0hFTUFTX0VMRU1fU1VCU1RfR1JPVVBfSEVBRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI194bWxQYXJzZXJDdHh0Ij5feG1sUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzwvZGQ+PGR0PmhlYWRlcjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9odHRwLmh0bWwjeG1sTmFub0hUVFBBdXRoSGVhZGVyIj54bWxOYW5vSFRUUEF1dGhIZWFkZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQQ29udGVudExlbmd0aCI+eG1sTmFub0hUVFBDb250ZW50TGVuZ3RoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUFJlZGlyIj54bWxOYW5vSFRUUFJlZGlyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VUZXh0RGVjbCI+eG1sUGFyc2VUZXh0RGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlWE1MRGVjbCI+eG1sUGFyc2VYTUxEZWNsPC9hPjxiciAvPgorPC9kZD48ZHQ+aGVhZGVyczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9odHRwLmh0bWwjeG1sTmFub0hUVFBFbmNvZGluZyI+eG1sTmFub0hUVFBFbmNvZGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9odHRwLmh0bWwjeG1sTmFub0hUVFBNZXRob2QiPnhtbE5hbm9IVFRQTWV0aG9kPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUE1ldGhvZFJlZGlyIj54bWxOYW5vSFRUUE1ldGhvZFJlZGlyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUE1pbWVUeXBlIj54bWxOYW5vSFRUUE1pbWVUeXBlPC9hPjxiciAvPgorPC9kZD48ZHQ+aGVhZGluZzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYyI+eG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYzwvYT48YnIgLz4KKzwvZGQ+PGR0PmhlbGQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dEJ1ZmZlckdldENvbnRlbnQiPnhtbE91dHB1dEJ1ZmZlckdldENvbnRlbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dEJ1ZmZlckdldFNpemUiPnhtbE91dHB1dEJ1ZmZlckdldFNpemU8L2E+PGJyIC8+Cis8L2RkPjxkdD5oZWxwZXI8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfRUxFTV9DSVJDVUxBUiI+WE1MX1NDSEVNQVNfRUxFTV9DSVJDVUxBUjwvYT48YnIgLz4KKzwvZGQ+PGR0PmhlcmU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI194bWxYUGF0aENvbnRleHQiPl94bWxYUGF0aENvbnRleHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbE5vZGVTdGF0dXMiPmh0bWxOb2RlU3RhdHVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VBdHRWYWx1ZSI+eG1sUGFyc2VBdHRWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRWxlbWVudENvbnRlbnREZWNsIj54bWxQYXJzZUVsZW1lbnRDb250ZW50RGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlTmFtZXNwYWNlIj54bWxQYXJzZU5hbWVzcGFjZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXh0QW5jZXN0b3JPclNlbGYiPnhtbFhQYXRoTmV4dEFuY2VzdG9yT3JTZWxmPC9hPjxiciAvPgorPC9kZD48ZHQ+aGV1cmlzdGljPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sS2VlcEJsYW5rc0RlZmF1bHQiPnhtbEtlZXBCbGFua3NEZWZhdWx0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sVVJJRXNjYXBlIj54bWxVUklFc2NhcGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5oZXVyaXN0aWM6PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxJc1JlZiI+eG1sSXNSZWY8L2E+PGJyIC8+Cis8L2RkPjxkdD5oZXg8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxVUklFc2NhcGVTdHIiPnhtbFVSSUVzY2FwZVN0cjwvYT48YnIgLz4KKzwvZGQ+PGR0PmhpZXJhcmNoeTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2wiPnhtbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFHZXRCdWlsdEluTGlzdFNpbXBsZVR5cGVJdGVtVHlwZSI+eG1sU2NoZW1hR2V0QnVpbHRJbkxpc3RTaW1wbGVUeXBlSXRlbVR5cGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5oaWdobHk8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlRWxlbWVudCI+aHRtbFBhcnNlRWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRWxlbWVudCI+eG1sUGFyc2VFbGVtZW50PC9hPjxiciAvPgorPC9kZD48ZHQ+aG9sZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwUmVjb25jaWxlTmFtZXNwYWNlcyI+eG1sRE9NV3JhcFJlY29uY2lsZU5hbWVzcGFjZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxOZXdUZXh0V3JpdGVyRG9jIj54bWxOZXdUZXh0V3JpdGVyRG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sTmV3VGV4dFdyaXRlclB1c2hQYXJzZXIiPnhtbE5ld1RleHRXcml0ZXJQdXNoUGFyc2VyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFJlY29uY2lsaWF0ZU5zIj54bWxSZWNvbmNpbGlhdGVOczwvYT48YnIgLz4KKzwvZGQ+PGR0PmhvbGRpbmc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjX3htbEF0dHJpYnV0ZSI+X3htbEF0dHJpYnV0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNfeG1sSUQiPl94bWxJRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNfeG1sUmVmIj5feG1sUmVmPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxBZGRJRCI+eG1sQWRkSUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEFkZFJlZiI+eG1sQWRkUmVmPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld05zUHJvcCI+eG1sTmV3TnNQcm9wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld05zUHJvcEVhdE5hbWUiPnhtbE5ld05zUHJvcEVhdE5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3UHJvcCI+eG1sTmV3UHJvcDwvYT48YnIgLz4KKzwvZGQ+PGR0PmhvbGRzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlcldyaXRlUXVvdGVkU3RyaW5nIj54bWxCdWZmZXJXcml0ZVF1b3RlZFN0cmluZzwvYT48YnIgLz4KKzwvZGQ+PGR0Pmhvb2tzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9USFJFQURfQUxMT0NfRU5BQkxFRCI+TElCWE1MX1RIUkVBRF9BTExPQ19FTkFCTEVEPC9hPjxiciAvPgorPC9kZD48ZHQ+aG9zdDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQUHJveHkiPnhtbE5hbm9GVFBQcm94eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQU2NhblByb3h5Ij54bWxOYW5vRlRQU2NhblByb3h5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBVcGRhdGVVUkwiPnhtbE5hbm9GVFBVcGRhdGVVUkw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQU2NhblByb3h5Ij54bWxOYW5vSFRUUFNjYW5Qcm94eTwvYT48YnIgLz4KKzwvZGQ+PGR0Pmhvc3Rpbmc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoRnVuY0xvb2t1cEZ1bmMiPnhtbFhQYXRoRnVuY0xvb2t1cEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9kZVNldEFkZE5zIj54bWxYUGF0aE5vZGVTZXRBZGROczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhWYXJpYWJsZUxvb2t1cEZ1bmMiPnhtbFhQYXRoVmFyaWFibGVMb29rdXBGdW5jPC9hPjxiciAvPgorPC9kZD48ZHQ+aG9zdG5hbWU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUEluaXQiPnhtbE5hbm9GVFBJbml0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBVcGRhdGVVUkwiPnhtbE5hbm9GVFBVcGRhdGVVUkw8L2E+PGJyIC8+Cis8L2RkPjxkdD5ob3VyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI2Z0cExpc3RDYWxsYmFjayI+ZnRwTGlzdENhbGxiYWNrPC9hPjxiciAvPgorPC9kZD48ZHQ+aG93PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNfeG1sRXJyb3IiPl94bWxFcnJvcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0R2V0VXNhZ2UiPnhtbERpY3RHZXRVc2FnZTwvYT48YnIgLz4KKzwvZGQ+PGR0PmhyZWY8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14aW5jbHVkZS5odG1sI1hJTkNMVURFX0hSRUYiPlhJTkNMVURFX0hSRUY8L2E+PGJyIC8+Cis8L2RkPjxkdD5ocmVmPT1OVUxMPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld05zIj54bWxOZXdOczwvYT48YnIgLz4KKzwvZGQ+PGR0PmhyZWZzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteGxpbmsuaHRtbCN4bGlua0V4dGVuZGVkTGlua0Z1bmsiPnhsaW5rRXh0ZW5kZWRMaW5rRnVuazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhsaW5rLmh0bWwjeGxpbmtFeHRlbmRlZExpbmtTZXRGdW5rIj54bGlua0V4dGVuZGVkTGlua1NldEZ1bms8L2E+PGJyIC8+Cis8L2RkPjxkdD5odG1sPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sQnVpbGRSZWxhdGl2ZVVSSSI+eG1sQnVpbGRSZWxhdGl2ZVVSSTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJOb2RlVHlwZSI+eG1sVGV4dFJlYWRlck5vZGVUeXBlPC9hPjxiciAvPgorPC9kZD48ZHQ+aHRtbEF0dHJBbGxvd2VkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxOb2RlU3RhdHVzIj5odG1sTm9kZVN0YXR1czwvYT48YnIgLz4KKzwvZGQ+PGR0Pmh0bWxFbGVtRGVzY1B0cjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sVGFnTG9va3VwIj5odG1sVGFnTG9va3VwPC9hPjxiciAvPgorPC9kZD48ZHQ+aHRtbEVsZW1lbnRBbGxvd2VkSGVyZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sTm9kZVN0YXR1cyI+aHRtbE5vZGVTdGF0dXM8L2E+PGJyIC8+Cis8L2RkPjxkdD5odG1sRWxlbWVudFN0YXR1c0hlcmU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbE5vZGVTdGF0dXMiPmh0bWxOb2RlU3RhdHVzPC9hPjxiciAvPgorPC9kZD48ZHQ+aHRtbEVudGl0eURlc2NQdHI8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEVudGl0eUxvb2t1cCI+aHRtbEVudGl0eUxvb2t1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sRW50aXR5VmFsdWVMb29rdXAiPmh0bWxFbnRpdHlWYWx1ZUxvb2t1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sUGFyc2VFbnRpdHlSZWYiPmh0bWxQYXJzZUVudGl0eVJlZjwvYT48YnIgLz4KKzwvZGQ+PGR0Pmh0bWxOb2RlUHRyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxOb2RlU3RhdHVzIj5odG1sTm9kZVN0YXR1czwvYT48YnIgLz4KKzwvZGQ+PGR0Pmh0bWxQYXJzZXJDdHh0UHRyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxOZXdQYXJzZXJDdHh0Ij5odG1sTmV3UGFyc2VyQ3R4dDwvYT48YnIgLz4KKzwvZGQ+PGR0Pmh0bWxQYXJzZXJPcHRpb248L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEN0eHRSZWFkRG9jIj5odG1sQ3R4dFJlYWREb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEN0eHRSZWFkRmQiPmh0bWxDdHh0UmVhZEZkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxDdHh0UmVhZEZpbGUiPmh0bWxDdHh0UmVhZEZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEN0eHRSZWFkSU8iPmh0bWxDdHh0UmVhZElPPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxDdHh0UmVhZE1lbW9yeSI+aHRtbEN0eHRSZWFkTWVtb3J5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxDdHh0VXNlT3B0aW9ucyI+aHRtbEN0eHRVc2VPcHRpb25zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxSZWFkRG9jIj5odG1sUmVhZERvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sUmVhZEZkIj5odG1sUmVhZEZkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxSZWFkRmlsZSI+aHRtbFJlYWRGaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxSZWFkSU8iPmh0bWxSZWFkSU88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFJlYWRNZW1vcnkiPmh0bWxSZWFkTWVtb3J5PC9hPjxiciAvPgorPC9kZD48ZHQ+aHRtbFN0YXJ0Q2xvc2U8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEF1dG9DbG9zZVRhZyI+aHRtbEF1dG9DbG9zZVRhZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sSXNBdXRvQ2xvc2VkIj5odG1sSXNBdXRvQ2xvc2VkPC9hPjxiciAvPgorPC9kZD48ZHQ+aHRtbFN0YXJ0Q2xvc2VJbmRleDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI2h0bWxJbml0QXV0b0Nsb3NlIj5odG1sSW5pdEF1dG9DbG9zZTwvYT48YnIgLz4KKzwvZGQ+PGR0Pmh0dHA6PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteGluY2x1ZGUuaHRtbCNYSU5DTFVERV9OUyI+WElOQ0xVREVfTlM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14aW5jbHVkZS5odG1sI1hJTkNMVURFX09MRF9OUyI+WElOQ0xVREVfT0xEX05TPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjZ2V0U3lzdGVtSWQiPmdldFN5c3RlbUlkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sQnVpbGRSZWxhdGl2ZVVSSSI+eG1sQnVpbGRSZWxhdGl2ZVVSSTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTRORG9jRHVtcE1lbW9yeSI+eG1sQzE0TkRvY0R1bXBNZW1vcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jMTRuLmh0bWwjeG1sQzE0TkRvY1NhdmUiPnhtbEMxNE5Eb2NTYXZlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtYzE0bi5odG1sI3htbEMxNE5Eb2NTYXZlVG8iPnhtbEMxNE5Eb2NTYXZlVG88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jMTRuLmh0bWwjeG1sQzE0TkV4ZWN1dGUiPnhtbEMxNE5FeGVjdXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sQ2hlY2tMYW5ndWFnZUlEIj54bWxDaGVja0xhbmd1YWdlSUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbEdldENoYXJFbmNvZGluZ05hbWUiPnhtbEdldENoYXJFbmNvZGluZ05hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQU2NhblByb3h5Ij54bWxOYW5vSFRUUFNjYW5Qcm94eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlckhhbmRsZVBFUmVmZXJlbmNlIj54bWxQYXJzZXJIYW5kbGVQRVJlZmVyZW5jZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlckhhbmRsZVJlZmVyZW5jZSI+eG1sUGFyc2VySGFuZGxlUmVmZXJlbmNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJHZXRTeXN0ZW1JZCI+eG1sU0FYMkdldFN5c3RlbUlkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hR2V0UHJlZGVmaW5lZFR5cGUiPnhtbFNjaGVtYUdldFByZWRlZmluZWRUeXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlck5vZGVUeXBlIj54bWxUZXh0UmVhZGVyTm9kZVR5cGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoSXNJbmYiPnhtbFhQYXRoSXNJbmY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoSXNOYU4iPnhtbFhQYXRoSXNOYU48L2E+PGJyIC8+Cis8L2RkPjxkdD5odW1hbi1yZWFkYWJsZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjX3htbEVycm9yIj5feG1sRXJyb3I8L2E+PGJyIC8+Cis8L2RkPjwvZGw+PGgyIGFsaWduPSJjZW50ZXIiPjxhIGhyZWY9IkFQSWNodW5rMC5odG1sIj5BLUI8L2E+Cis8YSBocmVmPSJBUEljaHVuazEuaHRtbCI+Qy1DPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyLmh0bWwiPkQtRTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMy5odG1sIj5GLUk8L2E+Cis8YSBocmVmPSJBUEljaHVuazQuaHRtbCI+Si1OPC9hPgorPGEgaHJlZj0iQVBJY2h1bms1Lmh0bWwiPk8tUDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNi5odG1sIj5RLVI8L2E+Cis8YSBocmVmPSJBUEljaHVuazcuaHRtbCI+Uy1TPC9hPgorPGEgaHJlZj0iQVBJY2h1bms4Lmh0bWwiPlQtVTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rOS5odG1sIj5WLVg8L2E+Cis8YSBocmVmPSJBUEljaHVuazEwLmh0bWwiPlktYTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTEuaHRtbCI+Yi1iPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMi5odG1sIj5jLWM8L2E+Cis8YSBocmVmPSJBUEljaHVuazEzLmh0bWwiPmQtZDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTQuaHRtbCI+ZS1lPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNS5odG1sIj5mLWY8L2E+Cis8YSBocmVmPSJBUEljaHVuazE2Lmh0bWwiPmctaDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTcuaHRtbCI+aS1pPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxOC5odG1sIj5qLWw8L2E+Cis8YSBocmVmPSJBUEljaHVuazE5Lmh0bWwiPm0tbTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjAuaHRtbCI+bi1uPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMS5odG1sIj5vLW88L2E+Cis8YSBocmVmPSJBUEljaHVuazIyLmh0bWwiPnAtcDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjMuaHRtbCI+cS1yPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNC5odG1sIj5zLXM8L2E+Cis8YSBocmVmPSJBUEljaHVuazI1Lmh0bWwiPnQtdDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjYuaHRtbCI+dS12PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNy5odG1sIj53LXc8L2E+Cis8YSBocmVmPSJBUEljaHVuazI4Lmh0bWwiPngteDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjkuaHRtbCI+eS16PC9hPgorPC9oMj48cD48YSBocmVmPSJidWdzLmh0bWwiPkRhbmllbCBWZWlsbGFyZDwvYT48L3A+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL0FQSWNodW5rMTcuaHRtbCBiL2xpYnhtbDIvZG9jL0FQSWNodW5rMTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNzBmOGNlCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvQVBJY2h1bmsxNy5odG1sCkBAIC0wLDAgKzEsNTgwIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPgorPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPjxoZWFkPjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPjxsaW5rIHJlbD0iU0hPUlRDVVQgSUNPTiIgaHJlZj0iL2Zhdmljb24uaWNvIiAvPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CitURCB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorQk9EWSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhOyBtYXJnaW4tdG9wOiAyZW07IG1hcmdpbi1sZWZ0OiAwZW07IG1hcmdpbi1yaWdodDogMGVtfQorSDEge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gyIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMyB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorQTpsaW5rLCBBOnZpc2l0ZWQsIEE6YWN0aXZlIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgfQorPC9zdHlsZT48dGl0bGU+QVBJIEFscGhhYmV0aWMgSW5kZXggaS1pIGZvciBsaWJ4bWwyPC90aXRsZT48L2hlYWQ+PGJvZHkgYmdjb2xvcj0iIzhiNzc2NSIgdGV4dD0iIzAwMDAwMCIgbGluaz0iI2EwNjA2MCIgdmxpbms9IiMwMDAwMDAiPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSIxMDAlIiBjZWxscGFkZGluZz0iNSIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgd2lkdGg9IjEyMCI+PGEgaHJlZj0iaHR0cDovL3N3cGF0LmZmaWkub3JnLyI+PGltZyBzcmM9ImVwYXRlbnRzLnBuZyIgYWx0PSJBY3Rpb24gYWdhaW5zdCBzb2Z0d2FyZSBwYXRlbnRzIiAvPjwvYT48L3RkPjx0ZCB3aWR0aD0iMTgwIj48YSBocmVmPSJodHRwOi8vd3d3Lmdub21lLm9yZy8iPjxpbWcgc3JjPSJnbm9tZTIucG5nIiBhbHQ9Ikdub21lMiBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9TdGF0dXMiPjxpbWcgc3JjPSJ3M2MucG5nIiBhbHQ9IlczQyBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnJlZGhhdC5jb20vIj48aW1nIHNyYz0icmVkaGF0LmdpZiIgYWx0PSJSZWQgSGF0IExvZ28iIC8+PC9hPjxkaXYgYWxpZ249ImxlZnQiPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy8iPjxpbWcgc3JjPSJMaWJ4bWwyLUxvZ28tMTgweDE2OC5naWYiIGFsdD0iTWFkZSB3aXRoIExpYnhtbDIgTG9nbyIgLz48L2E+PC9kaXY+PC90ZD48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjkwJSIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiIGJnY29sb3I9IiNmZmZhY2QiPjx0cj48dGQgYWxpZ249ImNlbnRlciI+PGgxPlRoZSBYTUwgQyBwYXJzZXIgYW5kIHRvb2xraXQgb2YgR25vbWU8L2gxPjxoMj5BUEkgQWxwaGFiZXRpYyBJbmRleCBpLWkgZm9yIGxpYnhtbDI8L2gyPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI0IiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCB2YWxpZ249InRvcCIgd2lkdGg9IjIwMCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+RGV2ZWxvcGVyIE1lbnU8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PGZvcm0gYWN0aW9uPSJzZWFyY2gucGhwIiBlbmN0eXBlPSJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiIG1ldGhvZD0iZ2V0Ij48aW5wdXQgbmFtZT0icXVlcnkiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iIiAvPjxpbnB1dCBuYW1lPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNlYXJjaCAuLi4iIC8+PC9mb3JtPjx1bD48bGk+PGEgaHJlZj0iaW5kZXguaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPk1haW4gTWVudTwvYT48L2xpPjxsaT48YSBocmVmPSJodG1sL2luZGV4Lmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5SZWZlcmVuY2UgTWFudWFsPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImV4YW1wbGVzL2luZGV4Lmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5Db2RlIEV4YW1wbGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imd1aWRlbGluZXMuaHRtbCI+WE1MIEd1aWRlbGluZXM8L2E+PC9saT48bGk+PGEgaHJlZj0idHV0b3JpYWwvaW5kZXguaHRtbCI+VHV0b3JpYWw8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1scmVhZGVyLmh0bWwiPlRoZSBSZWFkZXIgSW50ZXJmYWNlPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkNoYW5nZUxvZy5odG1sIj5DaGFuZ2VMb2c8L2E+PC9saT48bGk+PGEgaHJlZj0iWFNMVC5odG1sIj5YU0xUPC9hPjwvbGk+PGxpPjxhIGhyZWY9InB5dGhvbi5odG1sIj5QeXRob24gYW5kIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImFyY2hpdGVjdHVyZS5odG1sIj5saWJ4bWwyIGFyY2hpdGVjdHVyZTwvYT48L2xpPjxsaT48YSBocmVmPSJ0cmVlLmh0bWwiPlRoZSB0cmVlIG91dHB1dDwvYT48L2xpPjxsaT48YSBocmVmPSJpbnRlcmZhY2UuaHRtbCI+VGhlIFNBWCBpbnRlcmZhY2U8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1sbWVtLmh0bWwiPk1lbW9yeSBNYW5hZ2VtZW50PC9hPjwvbGk+PGxpPjxhIGhyZWY9InhtbGlvLmh0bWwiPkkvTyBJbnRlcmZhY2VzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnJhcnkuaHRtbCI+VGhlIHBhcnNlciBpbnRlcmZhY2VzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImVudGl0aWVzLmh0bWwiPkVudGl0aWVzIG9yIG5vIGVudGl0aWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Im5hbWVzcGFjZXMuaHRtbCI+TmFtZXNwYWNlczwvYT48L2xpPjxsaT48YSBocmVmPSJ1cGdyYWRlLmh0bWwiPlVwZ3JhZGluZyAxLnggY29kZTwvYT48L2xpPjxsaT48YSBocmVmPSJ0aHJlYWRzLmh0bWwiPlRocmVhZCBzYWZldHk8L2E+PC9saT48bGk+PGEgaHJlZj0iRE9NLmh0bWwiPkRPTSBQcmluY2lwbGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImV4YW1wbGUuaHRtbCI+QSByZWFsIGV4YW1wbGU8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1sLmh0bWwiPmZsYXQgcGFnZTwvYT4sIDxhIGhyZWY9InNpdGUueHNsIj5zdHlsZXNoZWV0PC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+QVBJIEluZGV4ZXM8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSJBUEljaHVuazAuaHRtbCI+QWxwaGFiZXRpYzwvYT48L2xpPjxsaT48YSBocmVmPSJBUEljb25zdHJ1Y3RvcnMuaHRtbCI+Q29uc3RydWN0b3JzPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkFQSWZ1bmN0aW9ucy5odG1sIj5GdW5jdGlvbnMvVHlwZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iQVBJZmlsZXMuaHRtbCI+TW9kdWxlczwvYT48L2xpPjxsaT48YSBocmVmPSJBUElzeW1ib2xzLmh0bWwiPlN5bWJvbHM8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5SZWxhdGVkIGxpbmtzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iaHR0cDovL21haWwuZ25vbWUub3JnL2FyY2hpdmVzL3htbC8iPk1haWwgYXJjaGl2ZTwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvWFNMVC8iPlhTTFQgbGlieHNsdDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vcGhkLmNzLnVuaWJvLml0L2dkb21lMi8iPkRPTSBnZG9tZTI8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5hbGVrc2V5LmNvbS94bWxzZWMvIj5YTUwtRFNpZyB4bWxzZWM8L2E+PC9saT48bGk+PGEgaHJlZj0iZnRwOi8veG1sc29mdC5vcmcvIj5GVFA8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56bGF0a292aWMuY29tL3Byb2plY3RzL2xpYnhtbC8iPldpbmRvd3MgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL29wZW5jc3cub3JnL3BhY2thZ2VzL2xpYnhtbDIiPlNvbGFyaXMgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5leHBsYWluLmNvbS5hdS9vc3MvbGlieG1sMnhzbHQuaHRtbCI+TWFjT3NYIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9seG1sLmRlLyI+bHhtbCBQeXRob24gYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2NwYW4udXdpbm5pcGVnLmNhL2Rpc3QvWE1MLUxpYlhNTCI+UGVybCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1scGx1c3BsdXMuc291cmNlZm9yZ2UubmV0LyI+QysrIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemVuZC5jb20vcGhwNS9hcnRpY2xlcy9waHA1LXhtbHBocC5waHAjSGVhZGluZzQiPlBIUCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2xpYnhtbDItcGFzLyI+UGFzY2FsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWwucnVieWZvcmdlLm9yZy8iPlJ1YnkgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3RjbHhtbC5zb3VyY2Vmb3JnZS5uZXQvIj5UY2wgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9idWdsaXN0LmNnaT9wcm9kdWN0PWxpYnhtbDIiPkJ1ZyBUcmFja2VyPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIzIiBjZWxsc3BhY2luZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PGgyIGFsaWduPSJjZW50ZXIiPjxhIGhyZWY9IkFQSWNodW5rMC5odG1sIj5BLUI8L2E+Cis8YSBocmVmPSJBUEljaHVuazEuaHRtbCI+Qy1DPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyLmh0bWwiPkQtRTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMy5odG1sIj5GLUk8L2E+Cis8YSBocmVmPSJBUEljaHVuazQuaHRtbCI+Si1OPC9hPgorPGEgaHJlZj0iQVBJY2h1bms1Lmh0bWwiPk8tUDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNi5odG1sIj5RLVI8L2E+Cis8YSBocmVmPSJBUEljaHVuazcuaHRtbCI+Uy1TPC9hPgorPGEgaHJlZj0iQVBJY2h1bms4Lmh0bWwiPlQtVTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rOS5odG1sIj5WLVg8L2E+Cis8YSBocmVmPSJBUEljaHVuazEwLmh0bWwiPlktYTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTEuaHRtbCI+Yi1iPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMi5odG1sIj5jLWM8L2E+Cis8YSBocmVmPSJBUEljaHVuazEzLmh0bWwiPmQtZDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTQuaHRtbCI+ZS1lPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNS5odG1sIj5mLWY8L2E+Cis8YSBocmVmPSJBUEljaHVuazE2Lmh0bWwiPmctaDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTcuaHRtbCI+aS1pPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxOC5odG1sIj5qLWw8L2E+Cis8YSBocmVmPSJBUEljaHVuazE5Lmh0bWwiPm0tbTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjAuaHRtbCI+bi1uPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMS5odG1sIj5vLW88L2E+Cis8YSBocmVmPSJBUEljaHVuazIyLmh0bWwiPnAtcDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjMuaHRtbCI+cS1yPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNC5odG1sIj5zLXM8L2E+Cis8YSBocmVmPSJBUEljaHVuazI1Lmh0bWwiPnQtdDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjYuaHRtbCI+dS12PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNy5odG1sIj53LXc8L2E+Cis8YSBocmVmPSJBUEljaHVuazI4Lmh0bWwiPngteDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjkuaHRtbCI+eS16PC9hPgorPC9oMj48aDI+TGV0dGVyIGk6PC9oMj48ZGw+PGR0PmkteHh4PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sQ2hlY2tMYW5ndWFnZUlEIj54bWxDaGVja0xhbmd1YWdlSUQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5pY29udjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfSUNPTlZfRU5BQkxFRCI+TElCWE1MX0lDT05WX0VOQUJMRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX0lTTzg4NTlYX0VOQUJMRUQiPkxJQlhNTF9JU084ODU5WF9FTkFCTEVEPC9hPjxiciAvPgorPC9kZD48ZHQ+aWN1PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9JQ1VfRU5BQkxFRCI+TElCWE1MX0lDVV9FTkFCTEVEPC9hPjxiciAvPgorPC9kZD48ZHQ+aWRlbnRpZnk8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUF0dHJpYnV0ZVR5cGUiPnhtbFBhcnNlQXR0cmlidXRlVHlwZTwvYT48YnIgLz4KKzwvZGQ+PGR0PmlkZW50aXRpZXI8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNYTUxfTUFYX05BTUVfTEVOR1RIIj5YTUxfTUFYX05BTUVfTEVOR1RIPC9hPjxiciAvPgorPC9kZD48ZHQ+aWRlbnRpdHktY29uc3RyYWludDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNfeG1sU2NoZW1hIj5feG1sU2NoZW1hPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI194bWxTY2hlbWFFbGVtZW50Ij5feG1sU2NoZW1hRWxlbWVudDwvYT48YnIgLz4KKzwvZGQ+PGR0Pmlnbm9yYWJsZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI2lnbm9yYWJsZVdoaXRlc3BhY2UiPmlnbm9yYWJsZVdoaXRlc3BhY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNpZ25vcmFibGVXaGl0ZXNwYWNlU0FYRnVuYyI+aWdub3JhYmxlV2hpdGVzcGFjZVNBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sSXNCbGFua05vZGUiPnhtbElzQmxhbmtOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sS2VlcEJsYW5rc0RlZmF1bHQiPnhtbEtlZXBCbGFua3NEZWZhdWx0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJJZ25vcmFibGVXaGl0ZXNwYWNlIj54bWxTQVgySWdub3JhYmxlV2hpdGVzcGFjZTwvYT48YnIgLz4KKzwvZGQ+PGR0Pmlnbm9yYWJsZVdoaXRlc3BhY2U8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxLZWVwQmxhbmtzRGVmYXVsdCI+eG1sS2VlcEJsYW5rc0RlZmF1bHQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5pZ25vcmVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtYzE0bi5odG1sI3htbEMxNE5Eb2NEdW1wTWVtb3J5Ij54bWxDMTRORG9jRHVtcE1lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTRORG9jU2F2ZSI+eG1sQzE0TkRvY1NhdmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jMTRuLmh0bWwjeG1sQzE0TkRvY1NhdmVUbyI+eG1sQzE0TkRvY1NhdmVUbzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTRORXhlY3V0ZSI+eG1sQzE0TkV4ZWN1dGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5pZ25vcmluZzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbFVSSUVzY2FwZVN0ciI+eG1sVVJJRXNjYXBlU3RyPC9hPjxiciAvPgorPC9kZD48ZHQ+aW1hZ2U8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1jMTRuLmh0bWwjeG1sQzE0TkRvY0R1bXBNZW1vcnkiPnhtbEMxNE5Eb2NEdW1wTWVtb3J5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtYzE0bi5odG1sI3htbEMxNE5Eb2NTYXZlIj54bWxDMTRORG9jU2F2ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTRORG9jU2F2ZVRvIj54bWxDMTRORG9jU2F2ZVRvPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtYzE0bi5odG1sI3htbEMxNE5FeGVjdXRlIj54bWxDMTRORXhlY3V0ZTwvYT48YnIgLz4KKzwvZGQ+PGR0PmltYnJpY2F0aW9uPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1Zk5vZGVEdW1wIj54bWxCdWZOb2RlRHVtcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlRHVtcCI+eG1sTm9kZUR1bXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUR1bXBPdXRwdXQiPnhtbE5vZGVEdW1wT3V0cHV0PC9hPjxiciAvPgorPC9kZD48ZHQ+aW1nPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sQnVpbGRSZWxhdGl2ZVVSSSI+eG1sQnVpbGRSZWxhdGl2ZVVSSTwvYT48YnIgLz4KKzwvZGQ+PGR0PmltbWVkaWF0ZWx5PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI3htbENoZWNrVmVyc2lvbiI+eG1sQ2hlY2tWZXJzaW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRCdWZmZXJXcml0ZSI+eG1sT3V0cHV0QnVmZmVyV3JpdGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dEJ1ZmZlcldyaXRlRXNjYXBlIj54bWxPdXRwdXRCdWZmZXJXcml0ZUVzY2FwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmciPnhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFN0cmluZ0Z1bmN0aW9uIj54bWxYUGF0aFN0cmluZ0Z1bmN0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+aW1tdXRhYmxlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlckNyZWF0ZVN0YXRpYyI+eG1sQnVmZmVyQ3JlYXRlU3RhdGljPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlckRldGFjaCI+eG1sQnVmZmVyRGV0YWNoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZVN0YXRpYyI+eG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVTdGF0aWM8L2E+PGJyIC8+Cis8L2RkPjxkdD5pbXBsZW1lbnRhdGlvbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbEZyZWVGdW5jIj54bWxGcmVlRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1hbGxvY0Z1bmMiPnhtbE1hbGxvY0Z1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxSZWFsbG9jRnVuYyI+eG1sUmVhbGxvY0Z1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxTdHJkdXBGdW5jIj54bWxTdHJkdXBGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckdldFJlbWFpbmRlciI+eG1sVGV4dFJlYWRlckdldFJlbWFpbmRlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhSZWdpc3RlckZ1bmMiPnhtbFhQYXRoUmVnaXN0ZXJGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJlZ2lzdGVyRnVuY05TIj54bWxYUGF0aFJlZ2lzdGVyRnVuY05TPC9hPjxiciAvPgorPC9kZD48ZHQ+aW1wbGVtZW50YXRpb24tZGVmaW5lZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXh0TmFtZXNwYWNlIj54bWxYUGF0aE5leHROYW1lc3BhY2U8L2E+PGJyIC8+Cis8L2RkPjxkdD5pbXBsZW1lbnRlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwjSFRNTF9DT01NRU5UX05PREUiPkhUTUxfQ09NTUVOVF9OT0RFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNIVE1MX0VOVElUWV9SRUZfTk9ERSI+SFRNTF9FTlRJVFlfUkVGX05PREU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI0hUTUxfUElfTk9ERSI+SFRNTF9QSV9OT0RFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNIVE1MX1BSRVNFUlZFX05PREUiPkhUTUxfUFJFU0VSVkVfTk9ERTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwjSFRNTF9URVhUX05PREUiPkhUTUxfVEVYVF9OT0RFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbW9kdWxlLmh0bWwjeG1sTW9kdWxlT3BlbiI+eG1sTW9kdWxlT3BlbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNhdmUuaHRtbCN4bWxTYXZlRG9jIj54bWxTYXZlRG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2F2ZS5odG1sI3htbFNhdmVUcmVlIj54bWxTYXZlVHJlZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUNvcHlWYWx1ZSI+eG1sU2NoZW1hQ29weVZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlck5leHRTaWJsaW5nIj54bWxUZXh0UmVhZGVyTmV4dFNpYmxpbmc8L2E+PGJyIC8+Cis8L2RkPjxkdD5pbXBsaWNpdGx5PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxBdXRvQ2xvc2VUYWciPmh0bWxBdXRvQ2xvc2VUYWc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbElzQXV0b0Nsb3NlZCI+aHRtbElzQXV0b0Nsb3NlZDwvYT48YnIgLz4KKzwvZGQ+PGR0PmltcGxpZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjX2h0bWxFbGVtRGVzYyI+X2h0bWxFbGVtRGVzYzwvYT48YnIgLz4KKzwvZGQ+PGR0PmltcG9zc2libGU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxVUklFc2NhcGUiPnhtbFVSSUVzY2FwZTwvYT48YnIgLz4KKzwvZGQ+PGR0PmltcHJvdmVzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEdldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUiPnhtbEdldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2V0QnVmZmVyQWxsb2NhdGlvblNjaGVtZSI+eG1sU2V0QnVmZmVyQWxsb2NhdGlvblNjaGVtZTwvYT48YnIgLz4KKzwvZGQ+PGR0PmluLTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJHcm93Ij54bWxQYXJzZXJJbnB1dEJ1ZmZlckdyb3c8L2E+PGJyIC8+Cis8L2RkPjxkdD5pbi1leHRlbnNvPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWVtRGlzcGxheSI+eG1sTWVtRGlzcGxheTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1lbW9yeUR1bXAiPnhtbE1lbW9yeUR1bXA8L2E+PGJyIC8+Cis8L2RkPjxkdD5pbi1tZW1vcnk8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjX3htbERvYyI+X3htbERvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI194bWxQYXJzZXJDdHh0Ij5feG1sUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiUGFyc2VEb2MiPmRvY2JQYXJzZURvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiU0FYUGFyc2VEb2MiPmRvY2JTQVhQYXJzZURvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sQ3JlYXRlTWVtb3J5UGFyc2VyQ3R4dCI+aHRtbENyZWF0ZU1lbW9yeVBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEN0eHRSZWFkRG9jIj5odG1sQ3R4dFJlYWREb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEN0eHRSZWFkTWVtb3J5Ij5odG1sQ3R4dFJlYWRNZW1vcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlRG9jIj5odG1sUGFyc2VEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFJlYWREb2MiPmh0bWxSZWFkRG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxSZWFkTWVtb3J5Ij5odG1sUmVhZE1lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sU0FYUGFyc2VEb2MiPmh0bWxTQVhQYXJzZURvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbENyZWF0ZURvY1BhcnNlckN0eHQiPnhtbENyZWF0ZURvY1BhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxDcmVhdGVNZW1vcnlQYXJzZXJDdHh0Ij54bWxDcmVhdGVNZW1vcnlQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ3R4dFJlYWREb2MiPnhtbEN0eHRSZWFkRG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ3R4dFJlYWRNZW1vcnkiPnhtbEN0eHRSZWFkTWVtb3J5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VEb2MiPnhtbFBhcnNlRG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VNZW1vcnkiPnhtbFBhcnNlTWVtb3J5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUmVhZERvYyI+eG1sUmVhZERvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFJlYWRNZW1vcnkiPnhtbFJlYWRNZW1vcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxSZWFkZXJGb3JEb2MiPnhtbFJlYWRlckZvckRvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFJlYWRlckZvck1lbW9yeSI+eG1sUmVhZGVyRm9yTWVtb3J5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sUmVhZGVyTmV3RG9jIj54bWxSZWFkZXJOZXdEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxSZWFkZXJOZXdNZW1vcnkiPnhtbFJlYWRlck5ld01lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFJlY292ZXJEb2MiPnhtbFJlY292ZXJEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxSZWNvdmVyTWVtb3J5Ij54bWxSZWNvdmVyTWVtb3J5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYUGFyc2VEb2MiPnhtbFNBWFBhcnNlRG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYUGFyc2VNZW1vcnkiPnhtbFNBWFBhcnNlTWVtb3J5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYUGFyc2VNZW1vcnlXaXRoRGF0YSI+eG1sU0FYUGFyc2VNZW1vcnlXaXRoRGF0YTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNBWFVzZXJQYXJzZU1lbW9yeSI+eG1sU0FYVXNlclBhcnNlTWVtb3J5PC9hPjxiciAvPgorPC9kZD48ZHQ+aW5jYXNlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBDbG9zZSI+eG1sTmFub0ZUUENsb3NlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBDbG9zZUNvbm5lY3Rpb24iPnhtbE5hbm9GVFBDbG9zZUNvbm5lY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUEN3ZCI+eG1sTmFub0ZUUEN3ZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQRGVsZSI+eG1sTmFub0ZUUERlbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUEdldCI+eG1sTmFub0ZUUEdldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQR2V0Q29ubmVjdGlvbiI+eG1sTmFub0ZUUEdldENvbm5lY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUExpc3QiPnhtbE5hbm9GVFBMaXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUEZldGNoIj54bWxOYW5vSFRUUEZldGNoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUFNhdmUiPnhtbE5hbm9IVFRQU2F2ZTwvYT48YnIgLz4KKzwvZGQ+PGR0PmluY2w8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjX3htbFNjaGVtYVR5cGUiPl94bWxTY2hlbWFUeXBlPC9hPjxiciAvPgorPC9kZD48ZHQ+aW5jbHVkZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhpbmNsdWRlLmh0bWwjWElOQ0xVREVfTk9ERSI+WElOQ0xVREVfTk9ERTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTRORG9jRHVtcE1lbW9yeSI+eG1sQzE0TkRvY0R1bXBNZW1vcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jMTRuLmh0bWwjeG1sQzE0TkRvY1NhdmUiPnhtbEMxNE5Eb2NTYXZlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtYzE0bi5odG1sI3htbEMxNE5Eb2NTYXZlVG8iPnhtbEMxNE5Eb2NTYXZlVG88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jMTRuLmh0bWwjeG1sQzE0TkV4ZWN1dGUiPnhtbEMxNE5FeGVjdXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI3htbENoZWNrVmVyc2lvbiI+eG1sQ2hlY2tWZXJzaW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3RNZXJnZSI+eG1sTGlzdE1lcmdlPC9hPjxiciAvPgorPC9kZD48ZHQ+aW5jbHVkZTo8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxCdWlsZFJlbGF0aXZlVVJJIj54bWxCdWlsZFJlbGF0aXZlVVJJPC9hPjxiciAvPgorPC9kZD48ZHQ+aW5jbHVkZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1jMTRuLmh0bWwjeG1sQzE0TkRvY0R1bXBNZW1vcnkiPnhtbEMxNE5Eb2NEdW1wTWVtb3J5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtYzE0bi5odG1sI3htbEMxNE5Eb2NTYXZlIj54bWxDMTRORG9jU2F2ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTRORG9jU2F2ZVRvIj54bWxDMTRORG9jU2F2ZVRvPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtYzE0bi5odG1sI3htbEMxNE5Jc1Zpc2libGVDYWxsYmFjayI+eG1sQzE0TklzVmlzaWJsZUNhbGxiYWNrPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERvY0R1bXBNZW1vcnkiPnhtbERvY0R1bXBNZW1vcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRnJlZURvYyI+eG1sRnJlZURvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9odHRwLmh0bWwjeG1sTmFub0hUVFBDb250ZW50TGVuZ3RoIj54bWxOYW5vSFRUUENvbnRlbnRMZW5ndGg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZU5vdGF0aW9uVHlwZSI+eG1sUGFyc2VOb3RhdGlvblR5cGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5pbmNsdWRlczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNfeG1sU2NoZW1hIj5feG1sU2NoZW1hPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxDbGVhbnVwSW5wdXRDYWxsYmFja3MiPnhtbENsZWFudXBJbnB1dENhbGxiYWNrczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sQ2xlYW51cE91dHB1dENhbGxiYWNrcyI+eG1sQ2xlYW51cE91dHB1dENhbGxiYWNrczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sUG9wSW5wdXRDYWxsYmFja3MiPnhtbFBvcElucHV0Q2FsbGJhY2tzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGluY2x1ZGUuaHRtbCN4bWxYSW5jbHVkZVByb2Nlc3NGbGFncyI+eG1sWEluY2x1ZGVQcm9jZXNzRmxhZ3M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14aW5jbHVkZS5odG1sI3htbFhJbmNsdWRlUHJvY2Vzc0ZsYWdzRGF0YSI+eG1sWEluY2x1ZGVQcm9jZXNzRmxhZ3NEYXRhPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGluY2x1ZGUuaHRtbCN4bWxYSW5jbHVkZVByb2Nlc3NUcmVlRmxhZ3MiPnhtbFhJbmNsdWRlUHJvY2Vzc1RyZWVGbGFnczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhpbmNsdWRlLmh0bWwjeG1sWEluY2x1ZGVQcm9jZXNzVHJlZUZsYWdzRGF0YSI+eG1sWEluY2x1ZGVQcm9jZXNzVHJlZUZsYWdzRGF0YTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhpbmNsdWRlLmh0bWwjeG1sWEluY2x1ZGVTZXRGbGFncyI+eG1sWEluY2x1ZGVTZXRGbGFnczwvYT48YnIgLz4KKzwvZGQ+PGR0PmluY2x1ZGluZzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19JTkNMVURJTkdfQ09OVkVSVF9OUyI+WE1MX1NDSEVNQVNfSU5DTFVESU5HX0NPTlZFUlRfTlM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI2F0dHJpYnV0ZVNBWEZ1bmMiPmF0dHJpYnV0ZVNBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjZnRwTGlzdENhbGxiYWNrIj5mdHBMaXN0Q2FsbGJhY2s8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNzdGFydEVsZW1lbnQiPnN0YXJ0RWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3N0YXJ0RWxlbWVudFNBWEZ1bmMiPnN0YXJ0RWxlbWVudFNBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMlN0YXJ0RWxlbWVudCI+eG1sU0FYMlN0YXJ0RWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJSZWFkSW5uZXJYbWwiPnhtbFRleHRSZWFkZXJSZWFkSW5uZXJYbWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUmVhZE91dGVyWG1sIj54bWxUZXh0UmVhZGVyUmVhZE91dGVyWG1sPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFN0cmluZ0Z1bmN0aW9uIj54bWxYUGF0aFN0cmluZ0Z1bmN0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+aW5jbHVzaXZlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtYzE0bi5odG1sI3htbEMxNE5Eb2NEdW1wTWVtb3J5Ij54bWxDMTRORG9jRHVtcE1lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTRORG9jU2F2ZSI+eG1sQzE0TkRvY1NhdmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jMTRuLmh0bWwjeG1sQzE0TkRvY1NhdmVUbyI+eG1sQzE0TkRvY1NhdmVUbzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTRORXhlY3V0ZSI+eG1sQzE0TkV4ZWN1dGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5pbmNyZWFzZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlcklucHV0R3JvdyI+eG1sUGFyc2VySW5wdXRHcm93PC9hPjxiciAvPgorPC9kZD48ZHQ+aW5jcmVtZW50PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld0NvdW50ZWRUcmFucyI+eG1sQXV0b21hdGFOZXdDb3VudGVkVHJhbnM8L2E+PGJyIC8+Cis8L2RkPjxkdD5pbmNyZW1lbnRhbDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVEb2N1bWVudEZpbmFsIj54bWxWYWxpZGF0ZURvY3VtZW50RmluYWw8L2E+PGJyIC8+Cis8L2RkPjxkdD5pbmRlbnQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyU2V0SW5kZW50Ij54bWxUZXh0V3JpdGVyU2V0SW5kZW50PC9hPjxiciAvPgorPC9kZD48ZHQ+aW5kZW50YXRpb248L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbERlYnVnRHVtcEF0dHIiPnhtbERlYnVnRHVtcEF0dHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbERlYnVnRHVtcEF0dHJMaXN0Ij54bWxEZWJ1Z0R1bXBBdHRyTGlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sRGVidWdEdW1wTm9kZSI+eG1sRGVidWdEdW1wTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sRGVidWdEdW1wTm9kZUxpc3QiPnhtbERlYnVnRHVtcE5vZGVMaXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxEZWJ1Z0R1bXBPbmVOb2RlIj54bWxEZWJ1Z0R1bXBPbmVOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sS2VlcEJsYW5rc0RlZmF1bHQiPnhtbEtlZXBCbGFua3NEZWZhdWx0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclNldEluZGVudCI+eG1sVGV4dFdyaXRlclNldEluZGVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJTZXRJbmRlbnRTdHJpbmciPnhtbFRleHRXcml0ZXJTZXRJbmRlbnRTdHJpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRGVidWdEdW1wQ29tcEV4cHIiPnhtbFhQYXRoRGVidWdEdW1wQ29tcEV4cHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRGVidWdEdW1wT2JqZWN0Ij54bWxYUGF0aERlYnVnRHVtcE9iamVjdDwvYT48YnIgLz4KKzwvZGQ+PGR0PmluZGVudGF0aW9uPzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJTZXRJbmRlbnQiPnhtbFRleHRXcml0ZXJTZXRJbmRlbnQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5pbmRlbnRlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTYXZlRm9ybWF0RmlsZSI+eG1sU2F2ZUZvcm1hdEZpbGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5pbmRlbnRpbmc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmTm9kZUR1bXAiPnhtbEJ1Zk5vZGVEdW1wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERvY0R1bXBGb3JtYXRNZW1vcnkiPnhtbERvY0R1bXBGb3JtYXRNZW1vcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRG9jRHVtcEZvcm1hdE1lbW9yeUVuYyI+eG1sRG9jRHVtcEZvcm1hdE1lbW9yeUVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxEb2NGb3JtYXREdW1wIj54bWxEb2NGb3JtYXREdW1wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVEdW1wIj54bWxOb2RlRHVtcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlRHVtcE91dHB1dCI+eG1sTm9kZUR1bXBPdXRwdXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2F2ZUZvcm1hdEZpbGUiPnhtbFNhdmVGb3JtYXRGaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNhdmVGb3JtYXRGaWxlRW5jIj54bWxTYXZlRm9ybWF0RmlsZUVuYzwvYT48YnIgLz4KKzwvZGQ+PGR0PmluZGVwZW5kZW50bHk8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sR2V0UHJvcCI+eG1sR2V0UHJvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQXR0cmlidXRlIj54bWxQYXJzZUF0dHJpYnV0ZTwvYT48YnIgLz4KKzwvZGQ+PGR0PmluZGV4PC9kdD48ZGQ+PGEgaHJlZj0iIj5pbmRleDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI2lucHV0UHVzaCI+aW5wdXRQdXNoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjbmFtZVB1c2giPm5hbWVQdXNoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjbm9kZVB1c2giPm5vZGVQdXNoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQnl0ZUNvbnN1bWVkIj54bWxCeXRlQ29uc3VtZWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZXJGaW5kTm9kZUluZm9JbmRleCI+eG1sUGFyc2VyRmluZE5vZGVJbmZvSW5kZXg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQdXNoSW5wdXQiPnhtbFB1c2hJbnB1dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFN0cnN1YiI+eG1sU3Ryc3ViPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckJ5dGVDb25zdW1lZCI+eG1sVGV4dFJlYWRlckJ5dGVDb25zdW1lZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJHZXRBdHRyaWJ1dGVObyI+eG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZU5vPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlck1vdmVUb0F0dHJpYnV0ZU5vIj54bWxUZXh0UmVhZGVyTW92ZVRvQXR0cmlidXRlTm88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9kZVNldFJlbW92ZSI+eG1sWFBhdGhOb2RlU2V0UmVtb3ZlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyTG9jYXRpb25TZXRSZW1vdmUiPnhtbFhQdHJMb2NhdGlvblNldFJlbW92ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ck5ld1JhbmdlIj54bWxYUHRyTmV3UmFuZ2U8L2E+PGJyIC8+Cis8L2RkPjxkdD5pbmRpY2F0ZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfQVRUUl9BTExPQ19TSVpFIj5MSUJYTUxfQVRUUl9BTExPQ19TSVpFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9BVFRSX0ZPUk1BVCI+TElCWE1MX0FUVFJfRk9STUFUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFeHRlcm5hbElEIj54bWxQYXJzZUV4dGVybmFsSUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZXJJbnB1dEdyb3ciPnhtbFBhcnNlcklucHV0R3JvdzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ0V4ZWNQdXNoU3RyaW5nIj54bWxSZWdFeGVjUHVzaFN0cmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ0V4ZWNQdXNoU3RyaW5nMiI+eG1sUmVnRXhlY1B1c2hTdHJpbmcyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sVVJJVW5lc2NhcGVTdHJpbmciPnhtbFVSSVVuZXNjYXBlU3RyaW5nPC9hPjxiciAvPgorPC9kZD48ZHQ+aW5kaWNhdGVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUEZldGNoIj54bWxOYW5vSFRUUEZldGNoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUE1ldGhvZCI+eG1sTmFub0hUVFBNZXRob2Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQTWV0aG9kUmVkaXIiPnhtbE5hbm9IVFRQTWV0aG9kUmVkaXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQT3BlbiI+eG1sTmFub0hUVFBPcGVuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUE9wZW5SZWRpciI+eG1sTmFub0hUVFBPcGVuUmVkaXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sU3RyZWFtUHVzaCI+eG1sU3RyZWFtUHVzaDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCN4bWxTdHJlYW1QdXNoQXR0ciI+eG1sU3RyZWFtUHVzaEF0dHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sU3RyZWFtUHVzaE5vZGUiPnhtbFN0cmVhbVB1c2hOb2RlPC9hPjxiciAvPgorPC9kZD48ZHQ+aW5kaWNhdGVzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfRkFDRVRTTkVFRFZBTFVFIj5YTUxfU0NIRU1BU19UWVBFX0ZBQ0VUU05FRURWQUxVRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX0lOVEVSTkFMX0lOVkFMSUQiPlhNTF9TQ0hFTUFTX1RZUEVfSU5URVJOQUxfSU5WQUxJRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX0lOVEVSTkFMX1JFU09MVkVEIj5YTUxfU0NIRU1BU19UWVBFX0lOVEVSTkFMX1JFU09MVkVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfTk9STVZBTFVFTkVFREVEIj5YTUxfU0NIRU1BU19UWVBFX05PUk1WQUxVRU5FRURFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxIYXNOc1Byb3AiPnhtbEhhc05zUHJvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQUmVhZCI+eG1sTmFub0ZUUFJlYWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUFNjYW5Qcm94eSI+eG1sTmFub0ZUUFNjYW5Qcm94eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQVXBkYXRlVVJMIj54bWxOYW5vRlRQVXBkYXRlVVJMPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUENvbnRlbnRMZW5ndGgiPnhtbE5hbm9IVFRQQ29udGVudExlbmd0aDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9odHRwLmh0bWwjeG1sTmFub0hUVFBSZWFkIj54bWxOYW5vSFRUUFJlYWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQU2NhblByb3h5Ij54bWxOYW5vSFRUUFNjYW5Qcm94eTwvYT48YnIgLz4KKzwvZGQ+PGR0PmluZGljYXRpbmc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUNoYXJEYXRhIj54bWxQYXJzZUNoYXJEYXRhPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VyRmluZE5vZGVJbmZvSW5kZXgiPnhtbFBhcnNlckZpbmROb2RlSW5mb0luZGV4PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbENtZCI+eG1sU2hlbGxDbWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyRXJyb3JGdW5jIj54bWxUZXh0UmVhZGVyRXJyb3JGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlck5vcm1hbGl6YXRpb24iPnhtbFRleHRSZWFkZXJOb3JtYWxpemF0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aEF4aXNGdW5jIj54bWxYUGF0aEF4aXNGdW5jPC9hPjxiciAvPgorPC9kZD48ZHQ+aW5kaWNhdGlvbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQUmVhZCI+eG1sTmFub0ZUUFJlYWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQUmVhZCI+eG1sTmFub0hUVFBSZWFkPC9hPjxiciAvPgorPC9kZD48ZHQ+aW5kaWNhdGl2ZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJHcm93Ij54bWxQYXJzZXJJbnB1dEJ1ZmZlckdyb3c8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyUmVhZCI+eG1sUGFyc2VySW5wdXRCdWZmZXJSZWFkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VySW5wdXRHcm93Ij54bWxQYXJzZXJJbnB1dEdyb3c8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZXJJbnB1dFJlYWQiPnhtbFBhcnNlcklucHV0UmVhZDwvYT48YnIgLz4KKzwvZGQ+PGR0PmluZGljYXRvcjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiUGFyc2VDaHVuayI+ZG9jYlBhcnNlQ2h1bms8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlQ2h1bmsiPmh0bWxQYXJzZUNodW5rPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VDaHVuayI+eG1sUGFyc2VDaHVuazwvYT48YnIgLz4KKzwvZGQ+PGR0PmluZGlyZWN0PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VBdHRyaWJ1dGUiPnhtbFBhcnNlQXR0cmlidXRlPC9hPjxiciAvPgorPC9kZD48ZHQ+aW5kaXJlY3RseTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQXR0cmlidXRlIj54bWxQYXJzZUF0dHJpYnV0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlUEVSZWZlcmVuY2UiPnhtbFBhcnNlUEVSZWZlcmVuY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZXJIYW5kbGVQRVJlZmVyZW5jZSI+eG1sUGFyc2VySGFuZGxlUEVSZWZlcmVuY2U8L2E+PGJyIC8+Cis8L2RkPjxkdD5pbmZpbml0ZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cEV4cERlcml2ZSI+eG1sRXhwRXhwRGVyaXZlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwTmV3UmFuZ2UiPnhtbEV4cE5ld1JhbmdlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwUGFyc2UiPnhtbEV4cFBhcnNlPC9hPjxiciAvPgorPC9kZD48ZHQ+aW5maW5pdHk8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoQ2VpbGluZ0Z1bmN0aW9uIj54bWxYUGF0aENlaWxpbmdGdW5jdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhGbG9vckZ1bmN0aW9uIj54bWxYUGF0aEZsb29yRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU3RyaW5nRnVuY3Rpb24iPnhtbFhQYXRoU3RyaW5nRnVuY3Rpb248L2E+PGJyIC8+Cis8L2RkPjxkdD5pbmZvPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjX3htbFBhcnNlckN0eHQiPl94bWxQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmdPdXRwdXRGdW5jIj54bWxDaGFyRW5jb2RpbmdPdXRwdXRGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ2xlYXJOb2RlSW5mb1NlcSI+eG1sQ2xlYXJOb2RlSW5mb1NlcTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxDb3B5RG9jIj54bWxDb3B5RG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sSW5pdE5vZGVJbmZvU2VxIj54bWxJbml0Tm9kZUluZm9TZXE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNYWxsb2NBdG9taWNMb2MiPnhtbE1hbGxvY0F0b21pY0xvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1hbGxvY0xvYyI+eG1sTWFsbG9jTG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWVtTWFsbG9jIj54bWxNZW1NYWxsb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNZW1SZWFsbG9jIj54bWxNZW1SZWFsbG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWVtU3RyZHVwTG9jIj54bWxNZW1TdHJkdXBMb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNZW1vcnlTdHJkdXAiPnhtbE1lbW9yeVN0cmR1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQTGlzdCI+eG1sTmFub0ZUUExpc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZXJBZGROb2RlSW5mbyI+eG1sUGFyc2VyQWRkTm9kZUluZm88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZXJGaW5kTm9kZUluZm8iPnhtbFBhcnNlckZpbmROb2RlSW5mbzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlckZpbmROb2RlSW5mb0luZGV4Ij54bWxQYXJzZXJGaW5kTm9kZUluZm9JbmRleDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbFJlYWxsb2NMb2MiPnhtbFJlYWxsb2NMb2M8L2E+PGJyIC8+Cis8L2RkPjxkdD5pbmZvcm1hdGlvbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfVkVSU0lPTl9FWFRSQSI+TElCWE1MX1ZFUlNJT05fRVhUUkE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI194bWxFcnJvciI+X3htbEVycm9yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxEZWJ1Z0R1bXBBdHRyIj54bWxEZWJ1Z0R1bXBBdHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxEZWJ1Z0R1bXBBdHRyTGlzdCI+eG1sRGVidWdEdW1wQXR0ckxpc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbERlYnVnRHVtcERURCI+eG1sRGVidWdEdW1wRFREPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxEZWJ1Z0R1bXBEb2N1bWVudCI+eG1sRGVidWdEdW1wRG9jdW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbERlYnVnRHVtcERvY3VtZW50SGVhZCI+eG1sRGVidWdEdW1wRG9jdW1lbnRIZWFkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxEZWJ1Z0R1bXBFbnRpdGllcyI+eG1sRGVidWdEdW1wRW50aXRpZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbERlYnVnRHVtcE5vZGUiPnhtbERlYnVnRHVtcE5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbERlYnVnRHVtcE5vZGVMaXN0Ij54bWxEZWJ1Z0R1bXBOb2RlTGlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sRGVidWdEdW1wT25lTm9kZSI+eG1sRGVidWdEdW1wT25lTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQVXBkYXRlVVJMIj54bWxOYW5vRlRQVXBkYXRlVVJMPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUEZldGNoIj54bWxOYW5vSFRUUEZldGNoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUE1ldGhvZCI+eG1sTmFub0hUVFBNZXRob2Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQTWV0aG9kUmVkaXIiPnhtbE5hbm9IVFRQTWV0aG9kUmVkaXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQT3BlbiI+eG1sTmFub0hUVFBPcGVuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUE9wZW5SZWRpciI+eG1sTmFub0hUVFBPcGVuUmVkaXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxOZXdUZXh0UmVhZGVyIj54bWxOZXdUZXh0UmVhZGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdHZXRQYXJzZXJFcnJvcnMiPnhtbFJlbGF4TkdHZXRQYXJzZXJFcnJvcnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hR2V0UGFyc2VyRXJyb3JzIj54bWxTY2hlbWFHZXRQYXJzZXJFcnJvcnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRhdGVTZXRGaWxlbmFtZSI+eG1sU2NoZW1hVmFsaWRhdGVTZXRGaWxlbmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZGF0ZVNldExvY2F0b3IiPnhtbFNjaGVtYVZhbGlkYXRlU2V0TG9jYXRvcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZGF0ZVN0cmVhbSI+eG1sU2NoZW1hVmFsaWRhdGVTdHJlYW08L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRpdHlMb2NhdG9yRnVuYyI+eG1sU2NoZW1hVmFsaWRpdHlMb2NhdG9yRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJCeXRlQ29uc3VtZWQiPnhtbFRleHRSZWFkZXJCeXRlQ29uc3VtZWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT3JkZXJEb2NFbGVtcyI+eG1sWFBhdGhPcmRlckRvY0VsZW1zPC9hPjxiciAvPgorPC9kZD48ZHQ+aW5mb3JtYXRpb25zPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI194bWxBdHRyIj5feG1sQXR0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNfeG1sRG9jIj5feG1sRG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI194bWxOb2RlIj5feG1sTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI194bWxQYXJzZXJDdHh0Ij5feG1sUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI2VuZEVsZW1lbnROc1NBWDJGdW5jIj5lbmRFbGVtZW50TnNTQVgyRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3N0YXJ0RWxlbWVudE5zU0FYMkZ1bmMiPnN0YXJ0RWxlbWVudE5zU0FYMkZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbERlYnVnRHVtcFN0cmluZyI+eG1sRGVidWdEdW1wU3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sRXJyTWVtb3J5Ij54bWxFcnJNZW1vcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUENsZWFudXAiPnhtbE5hbm9GVFBDbGVhbnVwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBJbml0Ij54bWxOYW5vRlRQSW5pdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQUHJveHkiPnhtbE5hbm9GVFBQcm94eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQU2NhblByb3h5Ij54bWxOYW5vRlRQU2NhblByb3h5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUEluaXQiPnhtbE5hbm9IVFRQSW5pdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9odHRwLmh0bWwjeG1sTmFub0hUVFBTY2FuUHJveHkiPnhtbE5hbm9IVFRQU2NhblByb3h5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxQYXJzZXJQcmludEZpbGVJbmZvIj54bWxQYXJzZXJQcmludEZpbGVJbmZvPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnRXhlY0VyckluZm8iPnhtbFJlZ0V4ZWNFcnJJbmZvPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnRXhlY05leHRWYWx1ZXMiPnhtbFJlZ0V4ZWNOZXh0VmFsdWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdHZXRWYWxpZEVycm9ycyI+eG1sUmVsYXhOR0dldFZhbGlkRXJyb3JzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdTZXRWYWxpZEVycm9ycyI+eG1sUmVsYXhOR1NldFZhbGlkRXJyb3JzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4UGFyc2VyU2V0RmxhZyI+eG1sUmVsYXhQYXJzZXJTZXRGbGFnPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJFbmRFbGVtZW50TnMiPnhtbFNBWDJFbmRFbGVtZW50TnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMlN0YXJ0RWxlbWVudE5zIj54bWxTQVgyU3RhcnRFbGVtZW50TnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hR2V0VmFsaWRFcnJvcnMiPnhtbFNjaGVtYUdldFZhbGlkRXJyb3JzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVNldFZhbGlkRXJyb3JzIj54bWxTY2hlbWFTZXRWYWxpZEVycm9yczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZGl0eUxvY2F0b3JGdW5jIj54bWxTY2hlbWFWYWxpZGl0eUxvY2F0b3JGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbERpciI+eG1sU2hlbGxEaXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14aW5jbHVkZS5odG1sI3htbFhJbmNsdWRlUHJvY2Vzc05vZGUiPnhtbFhJbmNsdWRlUHJvY2Vzc05vZGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5pbmZvcm1hdGl2ZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjX3htbEVycm9yIj5feG1sRXJyb3I8L2E+PGJyIC8+Cis8L2RkPjxkdD5pbmZvczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI194bWxQYXJzZXJDdHh0Ij5feG1sUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzwvZGQ+PGR0PmluaGVyaXRlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI194bWxQYXJzZXJDdHh0Ij5feG1sUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNfeG1sU2NoZW1hVHlwZSI+X3htbFNjaGVtYVR5cGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxFbnRpdHlSZWZlcmVuY2VGdW5jIj54bWxFbnRpdHlSZWZlcmVuY2VGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVHZXRTcGFjZVByZXNlcnZlIj54bWxOb2RlR2V0U3BhY2VQcmVzZXJ2ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXh0QXR0cmlidXRlIj54bWxYUGF0aE5leHRBdHRyaWJ1dGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5pbmhlcml0aW5nPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtZGljdC5odG1sI3htbERpY3RDcmVhdGVTdWIiPnhtbERpY3RDcmVhdGVTdWI8L2E+PGJyIC8+Cis8L2RkPjxkdD5pbmhlcml0czwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdDaGlsZCI+eG1sTmV3Q2hpbGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3VGV4dENoaWxkIj54bWxOZXdUZXh0Q2hpbGQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5pbml0aWFsPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI194bWxEb2MiPl94bWxEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjX3htbFNjaGVtYUF0dHJpYnV0ZSI+X3htbFNjaGVtYUF0dHJpYnV0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFHZXRJbml0U3RhdGUiPnhtbEF1dG9tYXRhR2V0SW5pdFN0YXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlckNyZWF0ZVNpemUiPnhtbEJ1ZmZlckNyZWF0ZVNpemU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxJbml0Tm9kZUluZm9TZXEiPnhtbEluaXROb2RlSW5mb1NlcTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1lbVJlYWxsb2MiPnhtbE1lbVJlYWxsb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNZW1TdHJkdXBMb2MiPnhtbE1lbVN0cmR1cExvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1lbW9yeVN0cmR1cCI+eG1sTWVtb3J5U3RyZHVwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sUmVhbGxvY0xvYyI+eG1sUmVhbGxvY0xvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGwiPnhtbFNoZWxsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vZGVTZXRBZGQiPnhtbFhQYXRoTm9kZVNldEFkZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb2RlU2V0QWRkTnMiPnhtbFhQYXRoTm9kZVNldEFkZE5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vZGVTZXRBZGRVbmlxdWUiPnhtbFhQYXRoTm9kZVNldEFkZFVuaXF1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhOb2RlU2V0Q3JlYXRlIj54bWxYUGF0aE5vZGVTZXRDcmVhdGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9kZVNldERlbCI+eG1sWFBhdGhOb2RlU2V0RGVsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vZGVTZXRSZW1vdmUiPnhtbFhQYXRoTm9kZVNldFJlbW92ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ckxvY2F0aW9uU2V0QWRkIj54bWxYUHRyTG9jYXRpb25TZXRBZGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJMb2NhdGlvblNldENyZWF0ZSI+eG1sWFB0ckxvY2F0aW9uU2V0Q3JlYXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyTG9jYXRpb25TZXREZWwiPnhtbFhQdHJMb2NhdGlvblNldERlbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ckxvY2F0aW9uU2V0UmVtb3ZlIj54bWxYUHRyTG9jYXRpb25TZXRSZW1vdmU8L2E+PGJyIC8+Cis8L2RkPjxkdD5pbml0aWFsaXNhdGlvbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxJbml0R2xvYmFscyI+eG1sSW5pdEdsb2JhbHM8L2E+PGJyIC8+Cis8L2RkPjxkdD5pbml0aWFsaXphdGlvbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxJbml0aWFsaXplQ2F0YWxvZyI+eG1sSW5pdGlhbGl6ZUNhdGFsb2c8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kaWN0Lmh0bWwjeG1sSW5pdGlhbGl6ZURpY3QiPnhtbEluaXRpYWxpemVEaWN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbExvYWRDYXRhbG9nIj54bWxMb2FkQ2F0YWxvZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxMb2FkQ2F0YWxvZ3MiPnhtbExvYWRDYXRhbG9nczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVhEZWZhdWx0VmVyc2lvbiI+eG1sU0FYRGVmYXVsdFZlcnNpb248L2E+PGJyIC8+Cis8L2RkPjxkdD5pbml0aWFsaXplPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX0NPTVBMRVRFX0FUVFJTIj5YTUxfQ09NUExFVEVfQVRUUlM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfREVURUNUX0lEUyI+WE1MX0RFVEVDVF9JRFM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfU0tJUF9JRFMiPlhNTF9TS0lQX0lEUzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwjaHRtbE5ld0RvY05vRHREIj5odG1sTmV3RG9jTm9EdEQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbE5ld1BhcnNlckN0eHQiPmh0bWxOZXdQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmdPdXRwdXRGdW5jIj54bWxDaGFyRW5jb2RpbmdPdXRwdXRGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxDcmVhdGVFbnRpdGllc1RhYmxlIj54bWxDcmVhdGVFbnRpdGllc1RhYmxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxDcmVhdGVFbnVtZXJhdGlvbiI+eG1sQ3JlYXRlRW51bWVyYXRpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sSW5pdFRocmVhZHMiPnhtbEluaXRUaHJlYWRzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbEluaXRpYWxpemVHbG9iYWxTdGF0ZSI+eG1sSW5pdGlhbGl6ZUdsb2JhbFN0YXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBOZXdDdHh0Ij54bWxOYW5vRlRQTmV3Q3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQU2NhblByb3h5Ij54bWxOYW5vRlRQU2NhblByb3h5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUFNjYW5Qcm94eSI+eG1sTmFub0hUVFBTY2FuUHJveHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxOZXdQYXJzZXJDdHh0Ij54bWxOZXdQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5ld05vZGVTZXQiPnhtbFhQYXRoTmV3Tm9kZVNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXdOb2RlU2V0TGlzdCI+eG1sWFBhdGhOZXdOb2RlU2V0TGlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXdWYWx1ZVRyZWUiPnhtbFhQYXRoTmV3VmFsdWVUcmVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyTmV3TG9jYXRpb25TZXROb2RlU2V0Ij54bWxYUHRyTmV3TG9jYXRpb25TZXROb2RlU2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyTmV3TG9jYXRpb25TZXROb2RlcyI+eG1sWFB0ck5ld0xvY2F0aW9uU2V0Tm9kZXM8L2E+PGJyIC8+Cis8L2RkPjxkdD5pbml0aWFsaXplZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9TQVgyX01BR0lDIj5YTUxfU0FYMl9NQUdJQzwvYT48YnIgLz4KKzwvZGQ+PGR0PmluaXRpYWxpemVzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBOZXdDdHh0Ij54bWxET01XcmFwTmV3Q3R4dDwvYT48YnIgLz4KKzwvZGQ+PGR0PmluaXRpYXRlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jT3V0RnVuYyI+eG1sQ2hhckVuY091dEZ1bmM8L2E+PGJyIC8+Cis8L2RkPjxkdD5pbml0aWF0ZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJOZXdDb250ZXh0Ij54bWxYUHRyTmV3Q29udGV4dDwvYT48YnIgLz4KKzwvZGQ+PGR0PmlubGluZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNfaHRtbEVsZW1EZXNjIj5faHRtbEVsZW1EZXNjPC9hPjxiciAvPgorPC9kZD48ZHQ+aW5saW5lZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI3Jlc29sdmVFbnRpdHkiPnJlc29sdmVFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNyZXNvbHZlRW50aXR5U0FYRnVuYyI+cmVzb2x2ZUVudGl0eVNBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMlJlc29sdmVFbnRpdHkiPnhtbFNBWDJSZXNvbHZlRW50aXR5PC9hPjxiciAvPgorPC9kZD48ZHQ+aW5wdXRzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjX3htbFBhcnNlckN0eHQiPl94bWxQYXJzZXJDdHh0PC9hPjxiciAvPgorPC9kZD48ZHQ+aW5zZW5zaXRpdmU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbFBhcnNlQ2hhckVuY29kaW5nIj54bWxQYXJzZUNoYXJFbmNvZGluZzwvYT48YnIgLz4KKzwvZGQ+PGR0Pmluc2VydDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzIj54bWxWYWxpZEdldFZhbGlkRWxlbWVudHM8L2E+PGJyIC8+Cis8L2RkPjxkdD5pbnNlcnRlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxBZGROZXh0U2libGluZyI+eG1sQWRkTmV4dFNpYmxpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQWRkUHJldlNpYmxpbmciPnhtbEFkZFByZXZTaWJsaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEFkZFNpYmxpbmciPnhtbEFkZFNpYmxpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sUmVwbGFjZU5vZGUiPnhtbFJlcGxhY2VOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZEdldFZhbGlkRWxlbWVudHMiPnhtbFZhbGlkR2V0VmFsaWRFbGVtZW50czwvYT48YnIgLz4KKzwvZGQ+PGR0Pmluc2VydGlvbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sSGFuZGxlT21pdHRlZEVsZW0iPmh0bWxIYW5kbGVPbWl0dGVkRWxlbTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzIj54bWxWYWxpZEdldFZhbGlkRWxlbWVudHM8L2E+PGJyIC8+Cis8L2RkPjxkdD5pbnNwZWN0PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aERlYnVnRHVtcE9iamVjdCI+eG1sWFBhdGhEZWJ1Z0R1bXBPYmplY3Q8L2E+PGJyIC8+Cis8L2RkPjxkdD5pbnN0YWNlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hdHJvbi5odG1sI3htbFNjaGVtYXRyb25WYWxpZGF0ZURvYyI+eG1sU2NoZW1hdHJvblZhbGlkYXRlRG9jPC9hPjxiciAvPgorPC9kZD48ZHQ+aW5zdGFsbGVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtZGljdC5odG1sI3htbERpY3RTaXplIj54bWxEaWN0U2l6ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoU2l6ZSI+eG1sSGFzaFNpemU8L2E+PGJyIC8+Cis8L2RkPjxkdD5pbnN0YW5jZXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNfeG1sUGFyc2VySW5wdXQiPl94bWxQYXJzZXJJbnB1dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRGVmYXVsdERlY2wiPnhtbFBhcnNlRGVmYXVsdERlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1BhcnNlIj54bWxSZWxheE5HUGFyc2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hUGFyc2UiPnhtbFNjaGVtYVBhcnNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hdHJvbi5odG1sI3htbFNjaGVtYXRyb25QYXJzZSI+eG1sU2NoZW1hdHJvblBhcnNlPC9hPjxiciAvPgorPC9kZD48ZHQ+aW5zdGVhZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19FTEVNX1RPUExFVkVMIj5YTUxfU0NIRU1BU19FTEVNX1RPUExFVkVMPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEFkZENoaWxkIj54bWxBZGRDaGlsZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxBZGROZXh0U2libGluZyI+eG1sQWRkTmV4dFNpYmxpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQWRkUHJldlNpYmxpbmciPnhtbEFkZFByZXZTaWJsaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZlNocmluayI+eG1sQnVmU2hyaW5rPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxDb3B5RWxlbWVudENvbnRlbnQiPnhtbENvcHlFbGVtZW50Q29udGVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxEb2NTZXRSb290RWxlbWVudCI+eG1sRG9jU2V0Um9vdEVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEZyZWVFbGVtZW50Q29udGVudCI+eG1sRnJlZUVsZW1lbnRDb250ZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzQmFzZUNoYXIiPnhtbElzQmFzZUNoYXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNCbGFuayI+eG1sSXNCbGFuazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc0NoYXIiPnhtbElzQ2hhcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc0NvbWJpbmluZyI+eG1sSXNDb21iaW5pbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNEaWdpdCI+eG1sSXNEaWdpdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc0V4dGVuZGVyIj54bWxJc0V4dGVuZGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzSWRlb2dyYXBoaWMiPnhtbElzSWRlb2dyYXBoaWM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNQdWJpZENoYXIiPnhtbElzUHViaWRDaGFyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sS2VlcEJsYW5rc0RlZmF1bHQiPnhtbEtlZXBCbGFua3NEZWZhdWx0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVEdW1wIj54bWxOb2RlRHVtcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sUmVnaXN0ZXJIVFRQUG9zdENhbGxiYWNrcyI+eG1sUmVnaXN0ZXJIVFRQUG9zdENhbGxiYWNrczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNhdmUuaHRtbCN4bWxTYXZlRG9jIj54bWxTYXZlRG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2F2ZS5odG1sI3htbFNhdmVUcmVlIj54bWxTYXZlVHJlZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHQiPnhtbFN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJFdmFsUmFuZ2VQcmVkaWNhdGUiPnhtbFhQdHJFdmFsUmFuZ2VQcmVkaWNhdGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5pbnN0cnVjdGlvbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwjSFRNTF9QSV9OT0RFIj5IVE1MX1BJX05PREU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNwcm9jZXNzaW5nSW5zdHJ1Y3Rpb24iPnByb2Nlc3NpbmdJbnN0cnVjdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3Byb2Nlc3NpbmdJbnN0cnVjdGlvblNBWEZ1bmMiPnByb2Nlc3NpbmdJbnN0cnVjdGlvblNBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3RG9jUEkiPnhtbE5ld0RvY1BJPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld1BJIj54bWxOZXdQSTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyUHJvY2Vzc2luZ0luc3RydWN0aW9uIj54bWxTQVgyUHJvY2Vzc2luZ0luc3RydWN0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+aW5zdWZmaWNpZW50PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sQ2Fub25pY1BhdGgiPnhtbENhbm9uaWNQYXRoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sUGF0aFRvVVJJIj54bWxQYXRoVG9VUkk8L2E+PGJyIC8+Cis8L2RkPjxkdD5pbnRhY3Q8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxQYXJzZVVSSVJhdyI+eG1sUGFyc2VVUklSYXc8L2E+PGJyIC8+Cis8L2RkPjxkdD5pbnRlZ2VyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbEdldFRocmVhZElkIj54bWxHZXRUaHJlYWRJZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFN0cmNhc2VjbXAiPnhtbFN0cmNhc2VjbXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJjbXAiPnhtbFN0cmNtcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFN0cm5jYXNlY21wIj54bWxTdHJuY2FzZWNtcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFN0cm5jbXAiPnhtbFN0cm5jbXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoQ2VpbGluZ0Z1bmN0aW9uIj54bWxYUGF0aENlaWxpbmdGdW5jdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhGbG9vckZ1bmN0aW9uIj54bWxYUGF0aEZsb29yRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUm91bmRGdW5jdGlvbiI+eG1sWFBhdGhSb3VuZEZ1bmN0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFN0cmluZ0Z1bmN0aW9uIj54bWxYUGF0aFN0cmluZ0Z1bmN0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+aW50ZW5kZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjX3htbERPTVdyYXBDdHh0Ij5feG1sRE9NV3JhcEN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFOZXdTdHJpbmdWYWx1ZSI+eG1sU2NoZW1hTmV3U3RyaW5nVmFsdWU8L2E+PGJyIC8+Cis8L2RkPjxkdD5pbnRlbnNpdmVseTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwQWRvcHROb2RlIj54bWxET01XcmFwQWRvcHROb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBSZWNvbmNpbGVOYW1lc3BhY2VzIj54bWxET01XcmFwUmVjb25jaWxlTmFtZXNwYWNlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwUmVtb3ZlTm9kZSI+eG1sRE9NV3JhcFJlbW92ZU5vZGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5pbnRlcmFjdDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRXh0ZXJuYWxJRCI+eG1sUGFyc2VFeHRlcm5hbElEPC9hPjxiciAvPgorPC9kZD48ZHQ+aW50ZXJmYWNlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9QQVRURVJOX0VOQUJMRUQiPkxJQlhNTF9QQVRURVJOX0VOQUJMRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX1JFQURFUl9FTkFCTEVEIj5MSUJYTUxfUkVBREVSX0VOQUJMRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX1NBWDFfRU5BQkxFRCI+TElCWE1MX1NBWDFfRU5BQkxFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfV1JJVEVSX0VOQUJMRUQiPkxJQlhNTF9XUklURVJfRU5BQkxFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI194bWxQYXJzZXJDdHh0Ij5feG1sUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiUGFyc2VEb2N1bWVudCI+ZG9jYlBhcnNlRG9jdW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlRG9jdW1lbnQiPmh0bWxQYXJzZURvY3VtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VEb2N1bWVudCI+eG1sUGFyc2VEb2N1bWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlUmVmZXJlbmNlIj54bWxQYXJzZVJlZmVyZW5jZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJDdXJyZW50RG9jIj54bWxUZXh0UmVhZGVyQ3VycmVudERvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJDdXJyZW50Tm9kZSI+eG1sVGV4dFJlYWRlckN1cnJlbnROb2RlPC9hPjxiciAvPgorPC9kZD48ZHQ+aW50ZXJmYWNlczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfQVVUT01BVEFfRU5BQkxFRCI+TElCWE1MX0FVVE9NQVRBX0VOQUJMRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX0VYUFJfRU5BQkxFRCI+TElCWE1MX0VYUFJfRU5BQkxFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfTU9EVUxFU19FTkFCTEVEIj5MSUJYTUxfTU9EVUxFU19FTkFCTEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9QVVNIX0VOQUJMRUQiPkxJQlhNTF9QVVNIX0VOQUJMRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX1JFR0VYUF9FTkFCTEVEIj5MSUJYTUxfUkVHRVhQX0VOQUJMRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX1NDSEVNQVNfRU5BQkxFRCI+TElCWE1MX1NDSEVNQVNfRU5BQkxFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfU0NIRU1BVFJPTl9FTkFCTEVEIj5MSUJYTUxfU0NIRU1BVFJPTl9FTkFCTEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9VTklDT0RFX0VOQUJMRUQiPkxJQlhNTF9VTklDT0RFX0VOQUJMRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxOYW1lc3BhY2VQYXJzZU5DTmFtZSI+eG1sTmFtZXNwYWNlUGFyc2VOQ05hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxOYW1lc3BhY2VQYXJzZU5TRGVmIj54bWxOYW1lc3BhY2VQYXJzZU5TRGVmPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sTmFtZXNwYWNlUGFyc2VRTmFtZSI+eG1sTmFtZXNwYWNlUGFyc2VRTmFtZTwvYT48YnIgLz4KKzwvZGQ+PGR0PmludGVybjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJDb25zdFN0cmluZyI+eG1sVGV4dFJlYWRlckNvbnN0U3RyaW5nPC9hPjxiciAvPgorPC9kZD48ZHQ+aW50ZXJuYWxseTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJXcml0ZVF1b3RlZFN0cmluZyI+eG1sQnVmZmVyV3JpdGVRdW90ZWRTdHJpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBOZXdDdHh0Ij54bWxFeHBOZXdDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdOZXdEb2NQYXJzZXJDdHh0Ij54bWxSZWxheE5HTmV3RG9jUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sUmVtb3ZlSUQiPnhtbFJlbW92ZUlEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxSZW1vdmVSZWYiPnhtbFJlbW92ZVJlZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZGF0ZUZpbGUiPnhtbFNjaGVtYVZhbGlkYXRlRmlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0U2V0Q2FjaGUiPnhtbFhQYXRoQ29udGV4dFNldENhY2hlPC9hPjxiciAvPgorPC9kZD48ZHQ+aW50ZXJuZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sUGF0dGVybmNvbXBpbGUiPnhtbFBhdHRlcm5jb21waWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckNvbnN0U3RyaW5nIj54bWxUZXh0UmVhZGVyQ29uc3RTdHJpbmc8L2E+PGJyIC8+Cis8L2RkPjxkdD5pbnRlcm5pbmc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQ29weU5vZGVMaXN0Ij54bWxDb3B5Tm9kZUxpc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3UEkiPnhtbE5ld1BJPC9hPjxiciAvPgorPC9kZD48ZHQ+aW50ZXJvcGVyYWJpbGl0eTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2wiPnhtbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2w8L2E+PGJyIC8+Cis8L2RkPjxkdD5pbnRlcm9wZXJhYmxlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sQ2hlY2tMYW5ndWFnZUlEIj54bWxDaGVja0xhbmd1YWdlSUQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5pbnRlcnByZXN0YXRpb248L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoRnVuY3Rpb24iPnhtbFhQYXRoRnVuY3Rpb248L2E+PGJyIC8+Cis8L2RkPjxkdD5pbnRlcnByZXRlcjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhBeGlzRnVuYyI+eG1sWFBhdGhBeGlzRnVuYzwvYT48YnIgLz4KKzwvZGQ+PGR0PmludGVyc2VjdGlvbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhJbnRlcnNlY3Rpb24iPnhtbFhQYXRoSW50ZXJzZWN0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+aW50cm9kdWNlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNMSUJYTUwyX05FV19CVUZGRVIiPkxJQlhNTDJfTkVXX0JVRkZFUjwvYT48YnIgLz4KKzwvZGQ+PGR0PmludHM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sR2V0TGluZU5vIj54bWxHZXRMaW5lTm88L2E+PGJyIC8+Cis8L2RkPjxkdD5pbnZhbGlkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfSU5URVJOQUxfSU5WQUxJRCI+WE1MX1NDSEVNQVNfVFlQRV9JTlRFUk5BTF9JTlZBTElEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VTRERlY2wiPnhtbFBhcnNlU0REZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFJlY29uY2lsaWF0ZU5zIj54bWxSZWNvbmNpbGlhdGVOczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVEdGRGaW5hbCI+eG1sVmFsaWRhdGVEdGRGaW5hbDwvYT48YnIgLz4KKzwvZGQ+PGR0Pmludml0ZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkR2V0VmFsaWRFbGVtZW50cyI+eG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzPC9hPjxiciAvPgorPC9kZD48ZHQ+aXNpbmY8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoSXNJbmYiPnhtbFhQYXRoSXNJbmY8L2E+PGJyIC8+Cis8L2RkPjxkdD5pc248L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbFJlZ2lzdGVyQ2hhckVuY29kaW5nSGFuZGxlciI+eG1sUmVnaXN0ZXJDaGFyRW5jb2RpbmdIYW5kbGVyPC9hPjxiciAvPgorPC9kZD48ZHQ+aXNuYW48L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoSXNOYU4iPnhtbFhQYXRoSXNOYU48L2E+PGJyIC8+Cis8L2RkPjxkdD5pc3N1ZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjeG1sRW5jb2RlRW50aXRpZXMiPnhtbEVuY29kZUVudGl0aWVzPC9hPjxiciAvPgorPC9kZD48ZHQ+aXNzdWVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteGxpbmsuaHRtbCN4bGlua0lzTGluayI+eGxpbmtJc0xpbms8L2E+PGJyIC8+Cis8L2RkPjxkdD5pc3N1ZXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxtb2R1bGUuaHRtbCN4bWxNb2R1bGVPcGVuIj54bWxNb2R1bGVPcGVuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbW9kdWxlLmh0bWwjeG1sTW9kdWxlU3ltYm9sIj54bWxNb2R1bGVTeW1ib2w8L2E+PGJyIC8+Cis8L2RkPjxkdD5pdGVtPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfQkxPQ0tfREVGQVVMVCI+WE1MX1NDSEVNQVNfVFlQRV9CTE9DS19ERUZBVUxUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfQlVJTFRJTl9QUklNSVRJVkUiPlhNTF9TQ0hFTUFTX1RZUEVfQlVJTFRJTl9QUklNSVRJVkU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVFlQRV9NQVJLRUQiPlhNTF9TQ0hFTUFTX1RZUEVfTUFSS0VEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCNfeG1sWFBhdGhDb250ZXh0Ij5feG1sWFBhdGhDb250ZXh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hSZW1vdmVFbnRyeSI+eG1sSGFzaFJlbW92ZUVudHJ5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hSZW1vdmVFbnRyeTIiPnhtbEhhc2hSZW1vdmVFbnRyeTI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFJlbW92ZUVudHJ5MyI+eG1sSGFzaFJlbW92ZUVudHJ5MzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoVXBkYXRlRW50cnkiPnhtbEhhc2hVcGRhdGVFbnRyeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoVXBkYXRlRW50cnkyIj54bWxIYXNoVXBkYXRlRW50cnkyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hVcGRhdGVFbnRyeTMiPnhtbEhhc2hVcGRhdGVFbnRyeTM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUERlbGUiPnhtbE5hbm9GVFBEZWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hR2V0QnVpbHRJbkxpc3RTaW1wbGVUeXBlSXRlbVR5cGUiPnhtbFNjaGVtYUdldEJ1aWx0SW5MaXN0U2ltcGxlVHlwZUl0ZW1UeXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE5vZGVTZXRJdGVtIj54bWxYUGF0aE5vZGVTZXRJdGVtPC9hPjxiciAvPgorPC9kZD48ZHQ+aXRlbXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3ZhbHVlUHVzaCI+dmFsdWVQdXNoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hDb3B5Ij54bWxIYXNoQ29weTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoRnJlZSI+eG1sSGFzaEZyZWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFNjYW4iPnhtbEhhc2hTY2FuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hTY2FuMyI+eG1sSGFzaFNjYW4zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hTY2FuRnVsbCI+eG1sSGFzaFNjYW5GdWxsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hTY2FuRnVsbDMiPnhtbEhhc2hTY2FuRnVsbDM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFWYWxpZGF0ZUxpc3RTaW1wbGVUeXBlRmFjZXQiPnhtbFNjaGVtYVZhbGlkYXRlTGlzdFNpbXBsZVR5cGVGYWNldDwvYT48YnIgLz4KKzwvZGQ+PGR0Pml0c2VsZjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNfeG1sRG9jIj5feG1sRG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGxpbmsuaHRtbCN4bGlua0lzTGluayI+eGxpbmtJc0xpbms8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNGaXJzdExpbmUiPnhtbENoYXJFbmNGaXJzdExpbmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxDbGVhbnVwUGFyc2VyIj54bWxDbGVhbnVwUGFyc2VyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VQRVJlZmVyZW5jZSI+eG1sUGFyc2VQRVJlZmVyZW5jZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlckhhbmRsZVBFUmVmZXJlbmNlIj54bWxQYXJzZXJIYW5kbGVQRVJlZmVyZW5jZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXh0U2VsZiI+eG1sWFBhdGhOZXh0U2VsZjwvYT48YnIgLz4KKzwvZGQ+PC9kbD48aDIgYWxpZ249ImNlbnRlciI+PGEgaHJlZj0iQVBJY2h1bmswLmh0bWwiPkEtQjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMS5odG1sIj5DLUM8L2E+Cis8YSBocmVmPSJBUEljaHVuazIuaHRtbCI+RC1FPC9hPgorPGEgaHJlZj0iQVBJY2h1bmszLmh0bWwiPkYtSTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNC5odG1sIj5KLU48L2E+Cis8YSBocmVmPSJBUEljaHVuazUuaHRtbCI+Ty1QPC9hPgorPGEgaHJlZj0iQVBJY2h1bms2Lmh0bWwiPlEtUjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNy5odG1sIj5TLVM8L2E+Cis8YSBocmVmPSJBUEljaHVuazguaHRtbCI+VC1VPC9hPgorPGEgaHJlZj0iQVBJY2h1bms5Lmh0bWwiPlYtWDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTAuaHRtbCI+WS1hPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMS5odG1sIj5iLWI8L2E+Cis8YSBocmVmPSJBUEljaHVuazEyLmh0bWwiPmMtYzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTMuaHRtbCI+ZC1kPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNC5odG1sIj5lLWU8L2E+Cis8YSBocmVmPSJBUEljaHVuazE1Lmh0bWwiPmYtZjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTYuaHRtbCI+Zy1oPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNy5odG1sIj5pLWk8L2E+Cis8YSBocmVmPSJBUEljaHVuazE4Lmh0bWwiPmotbDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTkuaHRtbCI+bS1tPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMC5odG1sIj5uLW48L2E+Cis8YSBocmVmPSJBUEljaHVuazIxLmh0bWwiPm8tbzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjIuaHRtbCI+cC1wPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMy5odG1sIj5xLXI8L2E+Cis8YSBocmVmPSJBUEljaHVuazI0Lmh0bWwiPnMtczwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjUuaHRtbCI+dC10PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNi5odG1sIj51LXY8L2E+Cis8YSBocmVmPSJBUEljaHVuazI3Lmh0bWwiPnctdzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjguaHRtbCI+eC14PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyOS5odG1sIj55LXo8L2E+Cis8L2gyPjxwPjxhIGhyZWY9ImJ1Z3MuaHRtbCI+RGFuaWVsIFZlaWxsYXJkPC9hPjwvcD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvQVBJY2h1bmsxOC5odG1sIGIvbGlieG1sMi9kb2MvQVBJY2h1bmsxOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkwMjQ5YTEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9BUEljaHVuazE4Lmh0bWwKQEAgLTAsMCArMSw0NTcgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+PGxpbmsgcmVsPSJTSE9SVENVVCBJQ09OIiBocmVmPSIvZmF2aWNvbi5pY28iIC8+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK1REIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitCT0RZIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2E7IG1hcmdpbi10b3A6IDJlbTsgbWFyZ2luLWxlZnQ6IDBlbTsgbWFyZ2luLXJpZ2h0OiAwZW19CitIMSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDIge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gzIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitBOmxpbmssIEE6dmlzaXRlZCwgQTphY3RpdmUgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB9Cis8L3N0eWxlPjx0aXRsZT5BUEkgQWxwaGFiZXRpYyBJbmRleCBqLWwgZm9yIGxpYnhtbDI8L3RpdGxlPjwvaGVhZD48Ym9keSBiZ2NvbG9yPSIjOGI3NzY1IiB0ZXh0PSIjMDAwMDAwIiBsaW5rPSIjYTA2MDYwIiB2bGluaz0iIzAwMDAwMCI+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjEwMCUiIGNlbGxwYWRkaW5nPSI1IiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCB3aWR0aD0iMTIwIj48YSBocmVmPSJodHRwOi8vc3dwYXQuZmZpaS5vcmcvIj48aW1nIHNyYz0iZXBhdGVudHMucG5nIiBhbHQ9IkFjdGlvbiBhZ2FpbnN0IHNvZnR3YXJlIHBhdGVudHMiIC8+PC9hPjwvdGQ+PHRkIHdpZHRoPSIxODAiPjxhIGhyZWY9Imh0dHA6Ly93d3cuZ25vbWUub3JnLyI+PGltZyBzcmM9Imdub21lMi5wbmciIGFsdD0iR25vbWUyIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1N0YXR1cyI+PGltZyBzcmM9InczYy5wbmciIGFsdD0iVzNDIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cucmVkaGF0LmNvbS8iPjxpbWcgc3JjPSJyZWRoYXQuZ2lmIiBhbHQ9IlJlZCBIYXQgTG9nbyIgLz48L2E+PGRpdiBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnLyI+PGltZyBzcmM9IkxpYnhtbDItTG9nby0xODB4MTY4LmdpZiIgYWx0PSJNYWRlIHdpdGggTGlieG1sMiBMb2dvIiAvPjwvYT48L2Rpdj48L3RkPjx0ZD48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iOTAlIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyIgYmdjb2xvcj0iI2ZmZmFjZCI+PHRyPjx0ZCBhbGlnbj0iY2VudGVyIj48aDE+VGhlIFhNTCBDIHBhcnNlciBhbmQgdG9vbGtpdCBvZiBHbm9tZTwvaDE+PGgyPkFQSSBBbHBoYWJldGljIEluZGV4IGotbCBmb3IgbGlieG1sMjwvaDI+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjQiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiIHdpZHRoPSIxMDAlIj48dHI+PHRkIHZhbGlnbj0idG9wIiB3aWR0aD0iMjAwIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5EZXZlbG9wZXIgTWVudTwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48Zm9ybSBhY3Rpb249InNlYXJjaC5waHAiIGVuY3R5cGU9ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIgbWV0aG9kPSJnZXQiPjxpbnB1dCBuYW1lPSJxdWVyeSIgdHlwZT0idGV4dCIgc2l6ZT0iMjAiIHZhbHVlPSIiIC8+PGlucHV0IG5hbWU9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU2VhcmNoIC4uLiIgLz48L2Zvcm0+PHVsPjxsaT48YSBocmVmPSJpbmRleC5odG1sIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+TWFpbiBNZW51PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0bWwvaW5kZXguaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPlJlZmVyZW5jZSBNYW51YWw8L2E+PC9saT48bGk+PGEgaHJlZj0iZXhhbXBsZXMvaW5kZXguaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPkNvZGUgRXhhbXBsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iZ3VpZGVsaW5lcy5odG1sIj5YTUwgR3VpZGVsaW5lczwvYT48L2xpPjxsaT48YSBocmVmPSJ0dXRvcmlhbC9pbmRleC5odG1sIj5UdXRvcmlhbDwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWxyZWFkZXIuaHRtbCI+VGhlIFJlYWRlciBJbnRlcmZhY2U8L2E+PC9saT48bGk+PGEgaHJlZj0iQ2hhbmdlTG9nLmh0bWwiPkNoYW5nZUxvZzwvYT48L2xpPjxsaT48YSBocmVmPSJYU0xULmh0bWwiPlhTTFQ8L2E+PC9saT48bGk+PGEgaHJlZj0icHl0aG9uLmh0bWwiPlB5dGhvbiBhbmQgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iYXJjaGl0ZWN0dXJlLmh0bWwiPmxpYnhtbDIgYXJjaGl0ZWN0dXJlPC9hPjwvbGk+PGxpPjxhIGhyZWY9InRyZWUuaHRtbCI+VGhlIHRyZWUgb3V0cHV0PC9hPjwvbGk+PGxpPjxhIGhyZWY9ImludGVyZmFjZS5odG1sIj5UaGUgU0FYIGludGVyZmFjZTwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWxtZW0uaHRtbCI+TWVtb3J5IE1hbmFnZW1lbnQ8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1saW8uaHRtbCI+SS9PIEludGVyZmFjZXM8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlicmFyeS5odG1sIj5UaGUgcGFyc2VyIGludGVyZmFjZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iZW50aXRpZXMuaHRtbCI+RW50aXRpZXMgb3Igbm8gZW50aXRpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0ibmFtZXNwYWNlcy5odG1sIj5OYW1lc3BhY2VzPC9hPjwvbGk+PGxpPjxhIGhyZWY9InVwZ3JhZGUuaHRtbCI+VXBncmFkaW5nIDEueCBjb2RlPC9hPjwvbGk+PGxpPjxhIGhyZWY9InRocmVhZHMuaHRtbCI+VGhyZWFkIHNhZmV0eTwvYT48L2xpPjxsaT48YSBocmVmPSJET00uaHRtbCI+RE9NIFByaW5jaXBsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iZXhhbXBsZS5odG1sIj5BIHJlYWwgZXhhbXBsZTwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWwuaHRtbCI+ZmxhdCBwYWdlPC9hPiwgPGEgaHJlZj0ic2l0ZS54c2wiPnN0eWxlc2hlZXQ8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5BUEkgSW5kZXhlczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9IkFQSWNodW5rMC5odG1sIj5BbHBoYWJldGljPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkFQSWNvbnN0cnVjdG9ycy5odG1sIj5Db25zdHJ1Y3RvcnM8L2E+PC9saT48bGk+PGEgaHJlZj0iQVBJZnVuY3Rpb25zLmh0bWwiPkZ1bmN0aW9ucy9UeXBlczwvYT48L2xpPjxsaT48YSBocmVmPSJBUElmaWxlcy5odG1sIj5Nb2R1bGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkFQSXN5bWJvbHMuaHRtbCI+U3ltYm9sczwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPlJlbGF0ZWQgbGlua3M8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSJodHRwOi8vbWFpbC5nbm9tZS5vcmcvYXJjaGl2ZXMveG1sLyI+TWFpbCBhcmNoaXZlPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9YU0xULyI+WFNMVCBsaWJ4c2x0PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9waGQuY3MudW5pYm8uaXQvZ2RvbWUyLyI+RE9NIGdkb21lMjwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmFsZWtzZXkuY29tL3htbHNlYy8iPlhNTC1EU2lnIHhtbHNlYzwvYT48L2xpPjxsaT48YSBocmVmPSJmdHA6Ly94bWxzb2Z0Lm9yZy8iPkZUUDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnpsYXRrb3ZpYy5jb20vcHJvamVjdHMvbGlieG1sLyI+V2luZG93cyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vb3BlbmNzdy5vcmcvcGFja2FnZXMvbGlieG1sMiI+U29sYXJpcyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmV4cGxhaW4uY29tLmF1L29zcy9saWJ4bWwyeHNsdC5odG1sIj5NYWNPc1ggYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2x4bWwuZGUvIj5seG1sIFB5dGhvbiBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vY3Bhbi51d2lubmlwZWcuY2EvZGlzdC9YTUwtTGliWE1MIj5QZXJsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWxwbHVzcGx1cy5zb3VyY2Vmb3JnZS5uZXQvIj5DKysgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56ZW5kLmNvbS9waHA1L2FydGljbGVzL3BocDUteG1scGhwLnBocCNIZWFkaW5nNCI+UEhQIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbGlieG1sMi1wYXMvIj5QYXNjYWwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbC5ydWJ5Zm9yZ2Uub3JnLyI+UnVieSBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vdGNseG1sLnNvdXJjZWZvcmdlLm5ldC8iPlRjbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2J1Z2xpc3QuY2dpP3Byb2R1Y3Q9bGlieG1sMiI+QnVnIFRyYWNrZXI8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48aDIgYWxpZ249ImNlbnRlciI+PGEgaHJlZj0iQVBJY2h1bmswLmh0bWwiPkEtQjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMS5odG1sIj5DLUM8L2E+Cis8YSBocmVmPSJBUEljaHVuazIuaHRtbCI+RC1FPC9hPgorPGEgaHJlZj0iQVBJY2h1bmszLmh0bWwiPkYtSTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNC5odG1sIj5KLU48L2E+Cis8YSBocmVmPSJBUEljaHVuazUuaHRtbCI+Ty1QPC9hPgorPGEgaHJlZj0iQVBJY2h1bms2Lmh0bWwiPlEtUjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNy5odG1sIj5TLVM8L2E+Cis8YSBocmVmPSJBUEljaHVuazguaHRtbCI+VC1VPC9hPgorPGEgaHJlZj0iQVBJY2h1bms5Lmh0bWwiPlYtWDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTAuaHRtbCI+WS1hPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMS5odG1sIj5iLWI8L2E+Cis8YSBocmVmPSJBUEljaHVuazEyLmh0bWwiPmMtYzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTMuaHRtbCI+ZC1kPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNC5odG1sIj5lLWU8L2E+Cis8YSBocmVmPSJBUEljaHVuazE1Lmh0bWwiPmYtZjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTYuaHRtbCI+Zy1oPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNy5odG1sIj5pLWk8L2E+Cis8YSBocmVmPSJBUEljaHVuazE4Lmh0bWwiPmotbDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTkuaHRtbCI+bS1tPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMC5odG1sIj5uLW48L2E+Cis8YSBocmVmPSJBUEljaHVuazIxLmh0bWwiPm8tbzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjIuaHRtbCI+cC1wPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMy5odG1sIj5xLXI8L2E+Cis8YSBocmVmPSJBUEljaHVuazI0Lmh0bWwiPnMtczwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjUuaHRtbCI+dC10PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNi5odG1sIj51LXY8L2E+Cis8YSBocmVmPSJBUEljaHVuazI3Lmh0bWwiPnctdzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjguaHRtbCI+eC14PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyOS5odG1sIj55LXo8L2E+Cis8L2gyPjxoMj5MZXR0ZXIgajo8L2gyPjxkbD48ZHQ+anVzdDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNfeG1sRE9NV3JhcEN0eHQiPl94bWxET01XcmFwQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwjaHRtbFNldE1ldGFFbmNvZGluZyI+aHRtbFNldE1ldGFFbmNvZGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI2lucHV0UG9wIj5pbnB1dFBvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI25hbWVQb3AiPm5hbWVQb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNub2RlUG9wIj5ub2RlUG9wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN2YWx1ZVBvcCI+dmFsdWVQb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxDbGVhbnVwUGFyc2VyIj54bWxDbGVhbnVwUGFyc2VyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbENsZWFudXBUaHJlYWRzIj54bWxDbGVhbnVwVGhyZWFkczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sQ29weUVudW1lcmF0aW9uIj54bWxDb3B5RW51bWVyYXRpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI3htbENyZWF0ZUVudGl0aWVzVGFibGUiPnhtbENyZWF0ZUVudGl0aWVzVGFibGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbENyZWF0ZUVudW1lcmF0aW9uIj54bWxDcmVhdGVFbnVtZXJhdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwQWRvcHROb2RlIj54bWxET01XcmFwQWRvcHROb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sSGFuZGxlRW50aXR5Ij54bWxIYW5kbGVFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUEluaXQiPnhtbE5hbm9GVFBJbml0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUEluaXQiPnhtbE5hbm9IVFRQSW5pdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sU25wcmludGZFbGVtZW50Q29udGVudCI+eG1sU25wcmludGZFbGVtZW50Q29udGVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJCeXRlQ29uc3VtZWQiPnhtbFRleHRSZWFkZXJCeXRlQ29uc3VtZWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoTmV3Q29udGV4dCI+eG1sWFBhdGhOZXdDb250ZXh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5ld1BhcnNlckNvbnRleHQiPnhtbFhQYXRoTmV3UGFyc2VyQ29udGV4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXh0U2VsZiI+eG1sWFBhdGhOZXh0U2VsZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ck5ld0NvbnRleHQiPnhtbFhQdHJOZXdDb250ZXh0PC9hPjxiciAvPgorPC9kZD48L2RsPjxoMj5MZXR0ZXIgazo8L2gyPjxkbD48ZHQ+a2VlcDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5ld09yIj54bWxFeHBOZXdPcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5ld1JhbmdlIj54bWxFeHBOZXdSYW5nZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5ld1NlcSI+eG1sRXhwTmV3U2VxPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEdldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUiPnhtbEdldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxQYXJzZVVSSVJhdyI+eG1sUGFyc2VVUklSYXc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZXJJbnB1dEdyb3ciPnhtbFBhcnNlcklucHV0R3JvdzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHQiPnhtbFN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHJlc2VydmUiPnhtbFRleHRSZWFkZXJQcmVzZXJ2ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQcmVzZXJ2ZVBhdHRlcm4iPnhtbFRleHRSZWFkZXJQcmVzZXJ2ZVBhdHRlcm48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV4dE5hbWVzcGFjZSI+eG1sWFBhdGhOZXh0TmFtZXNwYWNlPC9hPjxiciAvPgorPC9kZD48ZHQ+a2VlcHM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sR2V0QnVmZmVyQWxsb2NhdGlvblNjaGVtZSI+eG1sR2V0QnVmZmVyQWxsb2NhdGlvblNjaGVtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lIj54bWxTZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lPC9hPjxiciAvPgorPC9kZD48ZHQ+a2VwdDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI194bWxQYXJzZXJDdHh0Ij5feG1sUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjX3htbFhQYXRoQ29udGV4dCI+X3htbFhQYXRoQ29udGV4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sQXV0b0Nsb3NlVGFnIj5odG1sQXV0b0Nsb3NlVGFnPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxJc0F1dG9DbG9zZWQiPmh0bWxJc0F1dG9DbG9zZWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlRWxlbWVudCI+aHRtbFBhcnNlRWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEtlZXBCbGFua3NEZWZhdWx0Ij54bWxLZWVwQmxhbmtzRGVmYXVsdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPcmRlckRvY0VsZW1zIj54bWxYUGF0aE9yZGVyRG9jRWxlbXM8L2E+PGJyIC8+Cis8L2RkPjxkdD5rZXl3b3JkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VEZWZhdWx0RGVjbCI+eG1sUGFyc2VEZWZhdWx0RGVjbDwvYT48YnIgLz4KKzwvZGQ+PGR0PmtpbGw8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjeG1sQ2hlY2tWZXJzaW9uIj54bWxDaGVja1ZlcnNpb248L2E+PGJyIC8+Cis8L2RkPjxkdD5raW5kPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI194bWxTY2hlbWFBdHRyaWJ1dGVHcm91cCI+X3htbFNjaGVtYUF0dHJpYnV0ZUdyb3VwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI194bWxTY2hlbWFFbGVtZW50Ij5feG1sU2NoZW1hRWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNfeG1sU2NoZW1hRmFjZXQiPl94bWxTY2hlbWFGYWNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNfeG1sU2NoZW1hTm90YXRpb24iPl94bWxTY2hlbWFOb3RhdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNfeG1sU2NoZW1hVHlwZSI+X3htbFNjaGVtYVR5cGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjX3htbFNjaGVtYVdpbGRjYXJkIj5feG1sU2NoZW1hV2lsZGNhcmQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5rbm93PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjQkFEX0NBU1QiPkJBRF9DQVNUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBDbG9uZU5vZGUiPnhtbERPTVdyYXBDbG9uZU5vZGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5rbm93bGVkZ2U8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEF0dHJBbGxvd2VkIj5odG1sQXR0ckFsbG93ZWQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5rbm93bjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI194bWxQYXJzZXJJbnB1dCI+X3htbFBhcnNlcklucHV0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxBbGxvY1BhcnNlcklucHV0QnVmZmVyIj54bWxBbGxvY1BhcnNlcklucHV0QnVmZmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ3JlYXRlSU9QYXJzZXJDdHh0Ij54bWxDcmVhdGVJT1BhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxJT1BhcnNlRFREIj54bWxJT1BhcnNlRFREPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sTmV3SU9JbnB1dFN0cmVhbSI+eG1sTmV3SU9JbnB1dFN0cmVhbTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0QnVmZmVyQ3JlYXRlSU8iPnhtbE91dHB1dEJ1ZmZlckNyZWF0ZUlPPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxQYXJzZUNoYXJFbmNvZGluZyI+eG1sUGFyc2VDaGFyRW5jb2Rpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmQiPnhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZSI+eG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lIj54bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUlPIj54bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUlPPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZU1lbSI+eG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVNZW08L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlU3RhdGljIj54bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZVN0YXRpYzwvYT48YnIgLz4KKzwvZGQ+PC9kbD48aDI+TGV0dGVyIGw6PC9oMj48ZGw+PGR0PmxhYmVsPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjX3htbFBhcnNlckN0eHQiPl94bWxQYXJzZXJDdHh0PC9hPjxiciAvPgorPC9kZD48ZHQ+bGFiZWxlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlQ3R4dEV4dGVybmFsRW50aXR5Ij54bWxQYXJzZUN0eHRFeHRlcm5hbEVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlRXh0UGFyc2VkRW50Ij54bWxQYXJzZUV4dFBhcnNlZEVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlRXh0ZXJuYWxFbnRpdHkiPnhtbFBhcnNlRXh0ZXJuYWxFbnRpdHk8L2E+PGJyIC8+Cis8L2RkPjxkdD5sYWNrPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmdJbnB1dEZ1bmMiPnhtbENoYXJFbmNvZGluZ0lucHV0RnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYyI+eG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1hbGxvY0F0b21pY0xvYyI+eG1sTWFsbG9jQXRvbWljTG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWFsbG9jTG9jIj54bWxNYWxsb2NMb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNZW1NYWxsb2MiPnhtbE1lbU1hbGxvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1lbVJlYWxsb2MiPnhtbE1lbVJlYWxsb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxSZWFsbG9jTG9jIj54bWxSZWFsbG9jTG9jPC9hPjxiciAvPgorPC9kZD48ZHQ+bGFuZzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlR2V0TGFuZyI+eG1sTm9kZUdldExhbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTGFuZ0Z1bmN0aW9uIj54bWxYUGF0aExhbmdGdW5jdGlvbjwvYT48YnIgLz4KKzwvZGQ+PGR0Pmxhbmd0YWc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxDaGVja0xhbmd1YWdlSUQiPnhtbENoZWNrTGFuZ3VhZ2VJRDwvYT48YnIgLz4KKzwvZGQ+PGR0Pmxhbmd1YWdlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sQ2hlY2tMYW5ndWFnZUlEIj54bWxDaGVja0xhbmd1YWdlSUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUdldExhbmciPnhtbE5vZGVHZXRMYW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVTZXRMYW5nIj54bWxOb2RlU2V0TGFuZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhMYW5nRnVuY3Rpb24iPnhtbFhQYXRoTGFuZ0Z1bmN0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+bGFuZ3VhZ2VzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwRXhwRGVyaXZlIj54bWxFeHBFeHBEZXJpdmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBHZXRTdGFydCI+eG1sRXhwR2V0U3RhcnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBTdWJzdW1lIj54bWxFeHBTdWJzdW1lPC9hPjxiciAvPgorPC9kZD48ZHQ+bGFyZ2U8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNfeG1sUGFyc2VyQ3R4dCI+X3htbFBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNfeG1sUGFyc2VySW5wdXQiPl94bWxQYXJzZXJJbnB1dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxHZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lIj54bWxHZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lPC9hPjxiciAvPgorPC9kZD48ZHQ+bGFyZ2VzdDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhGbG9vckZ1bmN0aW9uIj54bWxYUGF0aEZsb29yRnVuY3Rpb248L2E+PGJyIC8+Cis8L2RkPjxkdD5sYXRlcjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoQWRkRW50cnkiPnhtbEhhc2hBZGRFbnRyeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoQWRkRW50cnkyIj54bWxIYXNoQWRkRW50cnkyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hBZGRFbnRyeTMiPnhtbEhhc2hBZGRFbnRyeTM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFVwZGF0ZUVudHJ5Ij54bWxIYXNoVXBkYXRlRW50cnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFVwZGF0ZUVudHJ5MiI+eG1sSGFzaFVwZGF0ZUVudHJ5MjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoVXBkYXRlRW50cnkzIj54bWxIYXNoVXBkYXRlRW50cnkzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sS2VlcEJsYW5rc0RlZmF1bHQiPnhtbEtlZXBCbGFua3NEZWZhdWx0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxOZXdFbnRpdHkiPnhtbE5ld0VudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQXR0VmFsdWUiPnhtbFBhcnNlQXR0VmFsdWU8L2E+PGJyIC8+Cis8L2RkPjxkdD5sYXRlc3Q8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQUmV0dXJuQ29kZSI+eG1sTmFub0hUVFBSZXR1cm5Db2RlPC9hPjxiciAvPgorPC9kZD48ZHQ+bGF5ZXI8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQ2hpbGRyZW5Ob2RlIj54bWxDaGlsZHJlbk5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxJbml0TWVtb3J5Ij54bWxJbml0TWVtb3J5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBDbGVhbnVwIj54bWxOYW5vRlRQQ2xlYW51cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQSW5pdCI+eG1sTmFub0ZUUEluaXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQQ2xlYW51cCI+eG1sTmFub0hUVFBDbGVhbnVwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUEluaXQiPnhtbE5hbm9IVFRQSW5pdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxSb290Tm9kZSI+eG1sUm9vdE5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2F2ZUZpbGVUbyI+eG1sU2F2ZUZpbGVUbzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTYXZlRm9ybWF0RmlsZVRvIj54bWxTYXZlRm9ybWF0RmlsZVRvPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVNBWFBsdWciPnhtbFNjaGVtYVNBWFBsdWc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hU0FYVW5wbHVnIj54bWxTY2hlbWFTQVhVbnBsdWc8L2E+PGJyIC8+Cis8L2RkPjxkdD5sZWFkaW5nPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VBdHRWYWx1ZSI+eG1sUGFyc2VBdHRWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2wiPnhtbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVsZW1lbnRNaXhlZENvbnRlbnREZWNsIj54bWxQYXJzZUVsZW1lbnRNaXhlZENvbnRlbnREZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VOb3RhdGlvblR5cGUiPnhtbFBhcnNlTm90YXRpb25UeXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZEN0eHROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZSI+eG1sVmFsaWRDdHh0Tm9ybWFsaXplQXR0cmlidXRlVmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkTm9ybWFsaXplQXR0cmlidXRlVmFsdWUiPnhtbFZhbGlkTm9ybWFsaXplQXR0cmlidXRlVmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTGVhZGluZyI+eG1sWFBhdGhMZWFkaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aExlYWRpbmdTb3J0ZWQiPnhtbFhQYXRoTGVhZGluZ1NvcnRlZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb2RlTGVhZGluZyI+eG1sWFBhdGhOb2RlTGVhZGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb2RlTGVhZGluZ1NvcnRlZCI+eG1sWFBhdGhOb2RlTGVhZGluZ1NvcnRlZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb3JtYWxpemVGdW5jdGlvbiI+eG1sWFBhdGhOb3JtYWxpemVGdW5jdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdHJpbmdGdW5jdGlvbiI+eG1sWFBhdGhTdHJpbmdGdW5jdGlvbjwvYT48YnIgLz4KKzwvZGQ+PGR0PmxlYWs8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxDbGVhbnVwUGFyc2VyIj54bWxDbGVhbnVwUGFyc2VyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbENsZWFudXBUaHJlYWRzIj54bWxDbGVhbnVwVGhyZWFkczwvYT48YnIgLz4KKzwvZGQ+PGR0PmxlYXN0PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxEZXRlY3RDaGFyRW5jb2RpbmciPnhtbERldGVjdENoYXJFbmNvZGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdHJpbmdGdW5jdGlvbiI+eG1sWFBhdGhTdHJpbmdGdW5jdGlvbjwvYT48YnIgLz4KKzwvZGQ+PGR0PmxlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWRpY3QuaHRtbCN4bWxJbml0aWFsaXplRGljdCI+eG1sSW5pdGlhbGl6ZURpY3Q8L2E+PGJyIC8+Cis8L2RkPjxkdD5sZWZ0PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwTmV3T3IiPnhtbEV4cE5ld09yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwTmV3U2VxIj54bWxFeHBOZXdTZXE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNZW1EaXNwbGF5TGFzdCI+eG1sTWVtRGlzcGxheUxhc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyR2V0UmVtYWluZGVyIj54bWxUZXh0UmVhZGVyR2V0UmVtYWluZGVyPC9hPjxiciAvPgorPC9kZD48ZHQ+bGVnYWN5PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxOb2RlU3RhdHVzIj5odG1sTm9kZVN0YXR1czwvYT48YnIgLz4KKzwvZGQ+PGR0PmxlbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJBZGQiPnhtbEJ1ZmZlckFkZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJBZGRIZWFkIj54bWxCdWZmZXJBZGRIZWFkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhclN0cm5kdXAiPnhtbENoYXJTdHJuZHVwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sRGVjb2RlRW50aXRpZXMiPnhtbERlY29kZUVudGl0aWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwU3RyaW5nRGVyaXZlIj54bWxFeHBTdHJpbmdEZXJpdmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxHZXRGZWF0dXJlc0xpc3QiPnhtbEdldEZlYXR1cmVzTGlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbEdldFVURjhDaGFyIj54bWxHZXRVVEY4Q2hhcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdEb2NUZXh0TGVuIj54bWxOZXdEb2NUZXh0TGVuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld1RleHRMZW4iPnhtbE5ld1RleHRMZW48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU3BsaXRRTmFtZTMiPnhtbFNwbGl0UU5hbWUzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3RybmNhdCI+eG1sU3RybmNhdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFN0cm5jYXROZXciPnhtbFN0cm5jYXROZXc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJuZHVwIj54bWxTdHJuZHVwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sVVRGOFN0cm5kdXAiPnhtbFVURjhTdHJuZHVwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sVVRGOFN0cnNpemUiPnhtbFVURjhTdHJzaXplPC9hPjxiciAvPgorPC9kZD48ZHQ+bGVuZ3RoLTE8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoTm9kZVNldEl0ZW0iPnhtbFhQYXRoTm9kZVNldEl0ZW08L2E+PGJyIC8+Cis8L2RkPjxkdD5sZXNzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwRXhwRGVyaXZlIj54bWxFeHBFeHBEZXJpdmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzYXZlLmh0bWwjeG1sU2F2ZVRvRmlsZW5hbWUiPnhtbFNhdmVUb0ZpbGVuYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aENlaWxpbmdGdW5jdGlvbiI+eG1sWFBhdGhDZWlsaW5nRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoQ29tcGFyZVZhbHVlcyI+eG1sWFBhdGhDb21wYXJlVmFsdWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFN1YnN0cmluZ0Z1bmN0aW9uIj54bWxYUGF0aFN1YnN0cmluZ0Z1bmN0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+bGVzcy10aGFuPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld1RleHRDaGlsZCI+eG1sTmV3VGV4dENoaWxkPC9hPjxiciAvPgorPC9kZD48ZHQ+bGV2ZWw8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfRUxFTV9UT1BMRVZFTCI+WE1MX1NDSEVNQVNfRUxFTV9UT1BMRVZFTDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNfeG1sRG9jIj5feG1sRG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1Zk5vZGVEdW1wIj54bWxCdWZOb2RlRHVtcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTRORG9jU2F2ZSI+eG1sQzE0TkRvY1NhdmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ1NldERlYnVnIj54bWxDYXRhbG9nU2V0RGVidWc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxDbGVhbnVwTWVtb3J5Ij54bWxDbGVhbnVwTWVtb3J5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxEZWJ1Z0R1bXBBdHRyIj54bWxEZWJ1Z0R1bXBBdHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxEZWJ1Z0R1bXBBdHRyTGlzdCI+eG1sRGVidWdEdW1wQXR0ckxpc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbERlYnVnRHVtcE5vZGUiPnhtbERlYnVnRHVtcE5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbERlYnVnRHVtcE5vZGVMaXN0Ij54bWxEZWJ1Z0R1bXBOb2RlTGlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sRGVidWdEdW1wT25lTm9kZSI+eG1sRGVidWdEdW1wT25lTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlRHVtcCI+eG1sTm9kZUR1bXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUR1bXBPdXRwdXQiPnhtbE5vZGVEdW1wT3V0cHV0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VWZXJzaW9uTnVtIj54bWxQYXJzZVZlcnNpb25OdW08L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsUHdkIj54bWxTaGVsbFB3ZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCN4bWxTdHJlYW1Qb3AiPnhtbFN0cmVhbVBvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhEZWJ1Z0R1bXBDb21wRXhwciI+eG1sWFBhdGhEZWJ1Z0R1bXBDb21wRXhwcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhEZWJ1Z0R1bXBPYmplY3QiPnhtbFhQYXRoRGVidWdEdW1wT2JqZWN0PC9hPjxiciAvPgorPC9kZD48ZHQ+bGV4aWNhbDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRGVmYXVsdERlY2wiPnhtbFBhcnNlRGVmYXVsdERlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFHZXRDYW5vblZhbHVlIj54bWxTY2hlbWFHZXRDYW5vblZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hVmFsUHJlZGVmVHlwZU5vZGUiPnhtbFNjaGVtYVZhbFByZWRlZlR5cGVOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hVmFsUHJlZGVmVHlwZU5vZGVOb05vcm0iPnhtbFNjaGVtYVZhbFByZWRlZlR5cGVOb2RlTm9Ob3JtPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hVmFsaWRhdGVGYWNldCI+eG1sU2NoZW1hVmFsaWRhdGVGYWNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYVZhbGlkYXRlRmFjZXRXaHRzcCI+eG1sU2NoZW1hVmFsaWRhdGVGYWNldFdodHNwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldCI+eG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXRXaHRzcCI+eG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldFdodHNwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hVmFsaWRhdGVMaXN0U2ltcGxlVHlwZUZhY2V0Ij54bWxTY2hlbWFWYWxpZGF0ZUxpc3RTaW1wbGVUeXBlRmFjZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFWYWxpZGF0ZVByZWRlZmluZWRUeXBlIj54bWxTY2hlbWFWYWxpZGF0ZVByZWRlZmluZWRUeXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFZhbGlkYXRlTkNOYW1lIj54bWxWYWxpZGF0ZU5DTmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxWYWxpZGF0ZU5NVG9rZW4iPnhtbFZhbGlkYXRlTk1Ub2tlbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxWYWxpZGF0ZU5hbWUiPnhtbFZhbGlkYXRlTmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxWYWxpZGF0ZVFOYW1lIj54bWxWYWxpZGF0ZVFOYW1lPC9hPjxiciAvPgorPC9kZD48ZHQ+bGliPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI3htbENoZWNrVmVyc2lvbiI+eG1sQ2hlY2tWZXJzaW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+bGliYzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI0RFQlVHX01FTU9SWSI+REVCVUdfTUVNT1JZPC9hPjxiciAvPgorPC9kZD48ZHQ+bGlicmFyaWVzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9NT0RVTEVfRVhURU5TSU9OIj5MSUJYTUxfTU9EVUxFX0VYVEVOU0lPTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbENsZWFudXBQYXJzZXIiPnhtbENsZWFudXBQYXJzZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sQ2xlYW51cFRocmVhZHMiPnhtbENsZWFudXBUaHJlYWRzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdJbml0VHlwZXMiPnhtbFJlbGF4TkdJbml0VHlwZXM8L2E+PGJyIC8+Cis8L2RkPjxkdD5saWJyYXJ5PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNfeG1sRXJyb3IiPl94bWxFcnJvcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNfeG1sU2NoZW1hIj5feG1sU2NoZW1hPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sQ2xlYW51cE1lbW9yeSI+eG1sQ2xlYW51cE1lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbENsZWFudXBQYXJzZXIiPnhtbENsZWFudXBQYXJzZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sQ2xlYW51cFRocmVhZHMiPnhtbENsZWFudXBUaHJlYWRzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGljdC5odG1sI3htbERpY3RDbGVhbnVwIj54bWxEaWN0Q2xlYW51cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEhhc0ZlYXR1cmUiPnhtbEhhc0ZlYXR1cmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sSW5pdFRocmVhZHMiPnhtbEluaXRUaHJlYWRzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbEluaXRpYWxpemVHbG9iYWxTdGF0ZSI+eG1sSW5pdGlhbGl6ZUdsb2JhbFN0YXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbExvY2tMaWJyYXJ5Ij54bWxMb2NrTGlicmFyeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1vZHVsZS5odG1sI3htbE1vZHVsZUZyZWUiPnhtbE1vZHVsZUZyZWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtb2R1bGUuaHRtbCN4bWxNb2R1bGVPcGVuIj54bWxNb2R1bGVPcGVuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZSI+eG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZU5hbWVzcGFjZSI+eG1sUGFyc2VOYW1lc3BhY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR0NsZWFudXBUeXBlcyI+eG1sUmVsYXhOR0NsZWFudXBUeXBlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVhEZWZhdWx0VmVyc2lvbiI+eG1sU0FYRGVmYXVsdFZlcnNpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFDbGVhbnVwVHlwZXMiPnhtbFNjaGVtYUNsZWFudXBUeXBlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUZyZWVWYWx1ZSI+eG1sU2NoZW1hRnJlZVZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hR2V0UHJlZGVmaW5lZFR5cGUiPnhtbFNjaGVtYUdldFByZWRlZmluZWRUeXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hSW5pdFR5cGVzIj54bWxTY2hlbWFJbml0VHlwZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sVW5sb2NrTGlicmFyeSI+eG1sVW5sb2NrTGlicmFyeTwvYT48YnIgLz4KKzwvZGQ+PGR0PmxpYnM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxLZWVwQmxhbmtzRGVmYXVsdCI+eG1sS2VlcEJsYW5rc0RlZmF1bHQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5saWJ4bWw8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCNERUJVR19NRU1PUlkiPkRFQlVHX01FTU9SWTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfVEVTVF9WRVJTSU9OIj5MSUJYTUxfVEVTVF9WRVJTSU9OPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjX3htbFBhcnNlckN0eHQiPl94bWxQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtYzE0bi5odG1sI3htbEMxNE5Eb2NTYXZlIj54bWxDMTRORG9jU2F2ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbEdjTWVtU2V0dXAiPnhtbEdjTWVtU2V0dXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNZW1TZXR1cCI+eG1sTWVtU2V0dXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbFJlZ2lzdGVySFRUUFBvc3RDYWxsYmFja3MiPnhtbFJlZ2lzdGVySFRUUFBvc3RDYWxsYmFja3M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxTQVhQYXJzZUZpbGVXaXRoRGF0YSI+eG1sU0FYUGFyc2VGaWxlV2l0aERhdGE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxTQVhQYXJzZU1lbW9yeVdpdGhEYXRhIj54bWxTQVhQYXJzZU1lbW9yeVdpdGhEYXRhPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbFByaW50WFBhdGhFcnJvciI+eG1sU2hlbGxQcmludFhQYXRoRXJyb3I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9kZVNldEZyZWVOcyI+eG1sWFBhdGhOb2RlU2V0RnJlZU5zPC9hPjxiciAvPgorPC9kZD48ZHQ+bGlieG1sMTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxDaGlsZHJlbk5vZGUiPnhtbENoaWxkcmVuTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxSb290Tm9kZSI+eG1sUm9vdE5vZGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5saWJ4bWwyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ2xlYW51cFBhcnNlciI+eG1sQ2xlYW51cFBhcnNlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRocmVhZHMuaHRtbCN4bWxDbGVhbnVwVGhyZWFkcyI+eG1sQ2xlYW51cFRocmVhZHM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sRnJlZU11dGV4Ij54bWxGcmVlTXV0ZXg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sSW5pdFRocmVhZHMiPnhtbEluaXRUaHJlYWRzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbExvY2tMaWJyYXJ5Ij54bWxMb2NrTGlicmFyeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRocmVhZHMuaHRtbCN4bWxNdXRleExvY2siPnhtbE11dGV4TG9jazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRocmVhZHMuaHRtbCN4bWxNdXRleFVubG9jayI+eG1sTXV0ZXhVbmxvY2s8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sTmV3TXV0ZXgiPnhtbE5ld011dGV4PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbFJNdXRleExvY2siPnhtbFJNdXRleExvY2s8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sUk11dGV4VW5sb2NrIj54bWxSTXV0ZXhVbmxvY2s8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sVW5sb2NrTGlicmFyeSI+eG1sVW5sb2NrTGlicmFyeTwvYT48YnIgLz4KKzwvZGQ+PGR0PmxpZmV0aW1lPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlckNyZWF0ZVN0YXRpYyI+eG1sQnVmZmVyQ3JlYXRlU3RhdGljPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwQ3R4dE5iQ29ucyI+eG1sRXhwQ3R4dE5iQ29uczwvYT48YnIgLz4KKzwvZGQ+PGR0Pmxpa2U8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNJU19DSEFSX0NIIj5JU19DSEFSX0NIPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjSVNfRElHSVRfQ0giPklTX0RJR0lUX0NIPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjSVNfRVhURU5ERVJfQ0giPklTX0VYVEVOREVSX0NIPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjSVNfTEVUVEVSX0NIIj5JU19MRVRURVJfQ0g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX0FUVFJfRk9STUFUIj5MSUJYTUxfQVRUUl9GT1JNQVQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX0RPVFRFRF9WRVJTSU9OIj5MSUJYTUxfRE9UVEVEX1ZFUlNJT048L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX1RSRUVfRU5BQkxFRCI+TElCWE1MX1RSRUVfRU5BQkxFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY091dEZ1bmMiPnhtbENoYXJFbmNPdXRGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbExvYWRTR01MU3VwZXJDYXRhbG9nIj54bWxMb2FkU0dNTFN1cGVyQ2F0YWxvZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQU2NhblByb3h5Ij54bWxOYW5vRlRQU2NhblByb3h5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUFNjYW5Qcm94eSI+eG1sTmFub0hUVFBTY2FuUHJveHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sUGFyc2VDYXRhbG9nRmlsZSI+eG1sUGFyc2VDYXRhbG9nRmlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxMaXN0Ij54bWxTaGVsbExpc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyTm9ybWFsaXphdGlvbiI+eG1sVGV4dFJlYWRlck5vcm1hbGl6YXRpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkaXR5RXJyb3JGdW5jIj54bWxWYWxpZGl0eUVycm9yRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRpdHlXYXJuaW5nRnVuYyI+eG1sVmFsaWRpdHlXYXJuaW5nRnVuYzwvYT48YnIgLz4KKzwvZGQ+PGR0Pmxpa2VseTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRocmVhZHMuaHRtbCN4bWxHZXRUaHJlYWRJZCI+eG1sR2V0VGhyZWFkSWQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5saW1pdDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI1hNTF9NQVhfTkFNRV9MRU5HVEgiPlhNTF9NQVhfTkFNRV9MRU5HVEg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI194bWxYUGF0aFBhcnNlckNvbnRleHQiPl94bWxYUGF0aFBhcnNlckNvbnRleHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNGaXJzdExpbmUiPnhtbENoYXJFbmNGaXJzdExpbmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxEZWNvZGVFbnRpdGllcyI+eG1sRGVjb2RlRW50aXRpZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kaWN0Lmh0bWwjeG1sRGljdFNldExpbWl0Ij54bWxEaWN0U2V0TGltaXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sUGF0dGVybk1heERlcHRoIj54bWxQYXR0ZXJuTWF4RGVwdGg8L2E+PGJyIC8+Cis8L2RkPjxkdD5saW1pdGF0aW9uPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjWE1MX01BWF9ESUNUSU9OQVJZX0xJTUlUIj5YTUxfTUFYX0RJQ1RJT05BUllfTElNSVQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNYTUxfTUFYX05BTUVfTEVOR1RIIj5YTUxfTUFYX05BTUVfTEVOR1RIPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjWE1MX01BWF9URVhUX0xFTkdUSCI+WE1MX01BWF9URVhUX0xFTkdUSDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxHZXRMaW5lTm8iPnhtbEdldExpbmVObzwvYT48YnIgLz4KKzwvZGQ+PGR0PmxpbWl0ZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjX2h0bWxFbGVtRGVzYyI+X2h0bWxFbGVtRGVzYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlRHVtcCI+eG1sTm9kZUR1bXA8L2E+PGJyIC8+Cis8L2RkPjxkdD5saW5lYXI8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEVudGl0eUxvb2t1cCI+aHRtbEVudGl0eUxvb2t1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sRW50aXR5VmFsdWVMb29rdXAiPmh0bWxFbnRpdHlWYWx1ZUxvb2t1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cEV4cERlcml2ZSI+eG1sRXhwRXhwRGVyaXZlPC9hPjxiciAvPgorPC9kZD48ZHQ+bGluZXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sR2V0TGluZU5vIj54bWxHZXRMaW5lTm88L2E+PGJyIC8+Cis8L2RkPjxkdD5saW5rZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjX3htbFNjaGVtYUF0dHJpYnV0ZUxpbmsiPl94bWxTY2hlbWFBdHRyaWJ1dGVMaW5rPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI194bWxTY2hlbWFGYWNldExpbmsiPl94bWxTY2hlbWFGYWNldExpbms8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjX3htbFNjaGVtYVR5cGVMaW5rIj5feG1sU2NoZW1hVHlwZUxpbms8L2E+PGJyIC8+Cis8L2RkPjxkdD5saW5raW5nPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteGxpbmsuaHRtbCN4bGlua0lzTGluayI+eGxpbmtJc0xpbms8L2E+PGJyIC8+Cis8L2RkPjxkdD5saW5rczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCNmdHBMaXN0Q2FsbGJhY2siPmZ0cExpc3RDYWxsYmFjazwvYT48YnIgLz4KKzwvZGQ+PGR0Pmxpc3Rpbmc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUExpc3QiPnhtbE5hbm9GVFBMaXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbExpc3QiPnhtbFNoZWxsTGlzdDwvYT48YnIgLz4KKzwvZGQ+PGR0Pmxpc3RzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX0NPTVBMRVRFX0FUVFJTIj5YTUxfQ09NUExFVEVfQVRUUlM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI194bWxYUGF0aENvbnRleHQiPl94bWxYUGF0aENvbnRleHQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5saXRlcmFsPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sQ3VycmVudENoYXIiPnhtbEN1cnJlbnRDaGFyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VBdHRWYWx1ZSI+eG1sUGFyc2VBdHRWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlUHViaWRMaXRlcmFsIj54bWxQYXJzZVB1YmlkTGl0ZXJhbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlckhhbmRsZVBFUmVmZXJlbmNlIj54bWxQYXJzZXJIYW5kbGVQRVJlZmVyZW5jZTwvYT48YnIgLz4KKzwvZGQ+PGR0PmxvYWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxMb2FkRXh0ZXJuYWxFbnRpdHkiPnhtbExvYWRFeHRlcm5hbEVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9odHRwLmh0bWwjeG1sTmFub0hUVFBGZXRjaCI+eG1sTmFub0hUVFBGZXRjaDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9odHRwLmh0bWwjeG1sTmFub0hUVFBNZXRob2QiPnhtbE5hbm9IVFRQTWV0aG9kPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUE1ldGhvZFJlZGlyIj54bWxOYW5vSFRUUE1ldGhvZFJlZGlyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUE9wZW4iPnhtbE5hbm9IVFRQT3BlbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9odHRwLmh0bWwjeG1sTmFub0hUVFBPcGVuUmVkaXIiPnhtbE5hbm9IVFRQT3BlblJlZGlyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxOb05ldEV4dGVybmFsRW50aXR5TG9hZGVyIj54bWxOb05ldEV4dGVybmFsRW50aXR5TG9hZGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VDdHh0RXh0ZXJuYWxFbnRpdHkiPnhtbFBhcnNlQ3R4dEV4dGVybmFsRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VFeHRlcm5hbEVudGl0eSI+eG1sUGFyc2VFeHRlcm5hbEVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGwiPnhtbFNoZWxsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbExvYWQiPnhtbFNoZWxsTG9hZDwvYT48YnIgLz4KKzwvZGQ+PGR0PmxvYWRlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI194bWxQYXJzZXJDdHh0Ij5feG1sUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzwvZGQ+PGR0PmxvYWRlcjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI3Jlc29sdmVFbnRpdHkiPnJlc29sdmVFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNyZXNvbHZlRW50aXR5U0FYRnVuYyI+cmVzb2x2ZUVudGl0eVNBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sTG9hZENhdGFsb2ciPnhtbExvYWRDYXRhbG9nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbExvYWRDYXRhbG9ncyI+eG1sTG9hZENhdGFsb2dzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxOb05ldEV4dGVybmFsRW50aXR5TG9hZGVyIj54bWxOb05ldEV4dGVybmFsRW50aXR5TG9hZGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJSZXNvbHZlRW50aXR5Ij54bWxTQVgyUmVzb2x2ZUVudGl0eTwvYT48YnIgLz4KKzwvZGQ+PGR0PmxvYWRlcnM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxFeHRlcm5hbEVudGl0eUxvYWRlciI+eG1sRXh0ZXJuYWxFbnRpdHlMb2FkZXI8L2E+PGJyIC8+Cis8L2RkPjxkdD5sb2FkaW5nPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjcmVzb2x2ZUVudGl0eSI+cmVzb2x2ZUVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3Jlc29sdmVFbnRpdHlTQVhGdW5jIj5yZXNvbHZlRW50aXR5U0FYRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sSXNJRCI+eG1sSXNJRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyUmVzb2x2ZUVudGl0eSI+eG1sU0FYMlJlc29sdmVFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsTG9hZCI+eG1sU2hlbGxMb2FkPC9hPjxiciAvPgorPC9kZD48ZHQ+bG9hZHM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsTG9hZCI+eG1sU2hlbGxMb2FkPC9hPjxiciAvPgorPC9kZD48ZHQ+bG9hZHN1YnNldDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9DT01QTEVURV9BVFRSUyI+WE1MX0NPTVBMRVRFX0FUVFJTPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX0RFVEVDVF9JRFMiPlhNTF9ERVRFQ1RfSURTPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1NLSVBfSURTIj5YTUxfU0tJUF9JRFM8L2E+PGJyIC8+Cis8L2RkPjxkdD5sb2NhbC1uYW1lPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aExvY2FsTmFtZUZ1bmN0aW9uIj54bWxYUGF0aExvY2FsTmFtZUZ1bmN0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+bG9jYWxuYW1lPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjc3RhcnRFbGVtZW50TnNTQVgyRnVuYyI+c3RhcnRFbGVtZW50TnNTQVgyRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyU3RhcnRFbGVtZW50TnMiPnhtbFNBWDJTdGFydEVsZW1lbnROczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFN0clFFcXVhbCI+eG1sU3RyUUVxdWFsPC9hPjxiciAvPgorPC9kZD48ZHQ+bG9jYXRpb248L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlRW50aXR5UmVmIj5odG1sUGFyc2VFbnRpdHlSZWY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxHZXRGZWF0dXJlIj54bWxHZXRGZWF0dXJlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUEZldGNoIj54bWxOYW5vSFRUUEZldGNoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUE9wZW4iPnhtbE5hbm9IVFRQT3BlbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9odHRwLmh0bWwjeG1sTmFub0hUVFBPcGVuUmVkaXIiPnhtbE5hbm9IVFRQT3BlblJlZGlyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdOZXdQYXJzZXJDdHh0Ij54bWxSZWxheE5HTmV3UGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFOZXdQYXJzZXJDdHh0Ij54bWxTY2hlbWFOZXdQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hdHJvbi5odG1sI3htbFNjaGVtYXRyb25OZXdQYXJzZXJDdHh0Ij54bWxTY2hlbWF0cm9uTmV3UGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNldEZlYXR1cmUiPnhtbFNldEZlYXR1cmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxVVEY4U3RybG9jIj54bWxVVEY4U3RybG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyTG9jYXRpb25TZXRBZGQiPnhtbFhQdHJMb2NhdGlvblNldEFkZDwvYT48YnIgLz4KKzwvZGQ+PGR0PmxvY2F0aW9uczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjX3htbExvY2F0aW9uU2V0Ij5feG1sTG9jYXRpb25TZXQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5sb2NhdG9yPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjc2V0RG9jdW1lbnRMb2NhdG9yIj5zZXREb2N1bWVudExvY2F0b3I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNzZXREb2N1bWVudExvY2F0b3JTQVhGdW5jIj5zZXREb2N1bWVudExvY2F0b3JTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGxpbmsuaHRtbCN4bGlua0V4dGVuZGVkTGlua0Z1bmsiPnhsaW5rRXh0ZW5kZWRMaW5rRnVuazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhsaW5rLmh0bWwjeGxpbmtFeHRlbmRlZExpbmtTZXRGdW5rIj54bGlua0V4dGVuZGVkTGlua1NldEZ1bms8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxDYW5vbmljUGF0aCI+eG1sQ2Fub25pY1BhdGg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxQYXRoVG9VUkkiPnhtbFBhdGhUb1VSSTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyU2V0RG9jdW1lbnRMb2NhdG9yIj54bWxTQVgyU2V0RG9jdW1lbnRMb2NhdG9yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkYXRlU2V0TG9jYXRvciI+eG1sU2NoZW1hVmFsaWRhdGVTZXRMb2NhdG9yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkaXR5TG9jYXRvckZ1bmMiPnhtbFNjaGVtYVZhbGlkaXR5TG9jYXRvckZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyRXJyb3JGdW5jIj54bWxUZXh0UmVhZGVyRXJyb3JGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckxvY2F0b3JCYXNlVVJJIj54bWxUZXh0UmVhZGVyTG9jYXRvckJhc2VVUkk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyTG9jYXRvckxpbmVOdW1iZXIiPnhtbFRleHRSZWFkZXJMb2NhdG9yTGluZU51bWJlcjwvYT48YnIgLz4KKzwvZGQ+PGR0PmxvY2F0b3JzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteGxpbmsuaHRtbCN4bGlua0V4dGVuZGVkTGlua0Z1bmsiPnhsaW5rRXh0ZW5kZWRMaW5rRnVuazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhsaW5rLmh0bWwjeGxpbmtFeHRlbmRlZExpbmtTZXRGdW5rIj54bGlua0V4dGVuZGVkTGlua1NldEZ1bms8L2E+PGJyIC8+Cis8L2RkPjxkdD5sb2NrPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbExvY2tMaWJyYXJ5Ij54bWxMb2NrTGlicmFyeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRocmVhZHMuaHRtbCN4bWxNdXRleExvY2siPnhtbE11dGV4TG9jazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRocmVhZHMuaHRtbCN4bWxOZXdSTXV0ZXgiPnhtbE5ld1JNdXRleDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRocmVhZHMuaHRtbCN4bWxSTXV0ZXhMb2NrIj54bWxSTXV0ZXhMb2NrPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbFVubG9ja0xpYnJhcnkiPnhtbFVubG9ja0xpYnJhcnk8L2E+PGJyIC8+Cis8L2RkPjxkdD5sb2dnaW5nPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWFsbG9jQXRvbWljTG9jIj54bWxNYWxsb2NBdG9taWNMb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNYWxsb2NMb2MiPnhtbE1hbGxvY0xvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1lbU1hbGxvYyI+eG1sTWVtTWFsbG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWVtUmVhbGxvYyI+eG1sTWVtUmVhbGxvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1lbVN0cmR1cExvYyI+eG1sTWVtU3RyZHVwTG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWVtb3J5U3RyZHVwIj54bWxNZW1vcnlTdHJkdXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxSZWFsbG9jTG9jIj54bWxSZWFsbG9jTG9jPC9hPjxiciAvPgorPC9kZD48ZHQ+bG9uZzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTX0JBU0VDSEFSIj5JU19CQVNFQ0hBUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTX0NPTUJJTklORyI+SVNfQ09NQklOSU5HPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjSVNfRElHSVQiPklTX0RJR0lUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxEZXRlY3RDaGFyRW5jb2RpbmciPnhtbERldGVjdENoYXJFbmNvZGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlckZpbmROb2RlSW5mb0luZGV4Ij54bWxQYXJzZXJGaW5kTm9kZUluZm9JbmRleDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUdldEZhY2V0VmFsdWVBc1VMb25nIj54bWxTY2hlbWFHZXRGYWNldFZhbHVlQXNVTG9uZzwvYT48YnIgLz4KKzwvZGQ+PGR0PmxvbmdlcjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI1hNTF9NQVhfTkFNRUxFTiI+WE1MX01BWF9OQU1FTEVOPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hlY2tVVEY4Ij54bWxDaGVja1VURjg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoVHJhbnNsYXRlRnVuY3Rpb24iPnhtbFhQYXRoVHJhbnNsYXRlRnVuY3Rpb248L2E+PGJyIC8+Cis8L2RkPjxkdD5sb29rLWFoZWFkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjX3htbFBhcnNlckN0eHQiPl94bWxQYXJzZXJDdHh0PC9hPjxiciAvPgorPC9kZD48ZHQ+bG9va2FoZWFkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VySW5wdXRHcm93Ij54bWxQYXJzZXJJbnB1dEdyb3c8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZXJJbnB1dFJlYWQiPnhtbFBhcnNlcklucHV0UmVhZDwvYT48YnIgLz4KKzwvZGQ+PGR0Pmxvb2tlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjX3htbE5vZGVTZXQiPl94bWxOb2RlU2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbFBhdHRlcm5Gcm9tUm9vdCI+eG1sUGF0dGVybkZyb21Sb290PC9hPjxiciAvPgorPC9kZD48ZHQ+bG9va3M8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sR2V0Tm9Oc1Byb3AiPnhtbEdldE5vTnNQcm9wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEdldE5zUHJvcCI+eG1sR2V0TnNQcm9wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEdldFByb3AiPnhtbEdldFByb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sSGFzTnNQcm9wIj54bWxIYXNOc1Byb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sSGFzUHJvcCI+eG1sSGFzUHJvcDwvYT48YnIgLz4KKzwvZGQ+PGR0Pmxvb2t1cHM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfREVURUNUX0lEUyI+WE1MX0RFVEVDVF9JRFM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sUGFyc2VDYXRhbG9nRmlsZSI+eG1sUGFyc2VDYXRhbG9nRmlsZTwvYT48YnIgLz4KKzwvZGQ+PGR0Pmxvb3A8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnkiPnhtbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXIiPnhtbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUV4dGVybmFsRW50aXR5Ij54bWxQYXJzZUV4dGVybmFsRW50aXR5PC9hPjxiciAvPgorPC9kZD48ZHQ+bG9vcHM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNfeG1sUGFyc2VyQ3R4dCI+X3htbFBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5sb3NzbGVzczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0QnVmZmVyV3JpdGUiPnhtbE91dHB1dEJ1ZmZlcldyaXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRCdWZmZXJXcml0ZUVzY2FwZSI+eG1sT3V0cHV0QnVmZmVyV3JpdGVFc2NhcGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nIj54bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZzwvYT48YnIgLz4KKzwvZGQ+PGR0Pmxvd2VyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwTmV3UmFuZ2UiPnhtbEV4cE5ld1JhbmdlPC9hPjxiciAvPgorPC9kZD48ZHQ+bG93ZXJjYXNlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxUYWdMb29rdXAiPmh0bWxUYWdMb29rdXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbElzUmVmIj54bWxJc1JlZjwvYT48YnIgLz4KKzwvZGQ+PC9kbD48aDIgYWxpZ249ImNlbnRlciI+PGEgaHJlZj0iQVBJY2h1bmswLmh0bWwiPkEtQjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMS5odG1sIj5DLUM8L2E+Cis8YSBocmVmPSJBUEljaHVuazIuaHRtbCI+RC1FPC9hPgorPGEgaHJlZj0iQVBJY2h1bmszLmh0bWwiPkYtSTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNC5odG1sIj5KLU48L2E+Cis8YSBocmVmPSJBUEljaHVuazUuaHRtbCI+Ty1QPC9hPgorPGEgaHJlZj0iQVBJY2h1bms2Lmh0bWwiPlEtUjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNy5odG1sIj5TLVM8L2E+Cis8YSBocmVmPSJBUEljaHVuazguaHRtbCI+VC1VPC9hPgorPGEgaHJlZj0iQVBJY2h1bms5Lmh0bWwiPlYtWDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTAuaHRtbCI+WS1hPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMS5odG1sIj5iLWI8L2E+Cis8YSBocmVmPSJBUEljaHVuazEyLmh0bWwiPmMtYzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTMuaHRtbCI+ZC1kPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNC5odG1sIj5lLWU8L2E+Cis8YSBocmVmPSJBUEljaHVuazE1Lmh0bWwiPmYtZjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTYuaHRtbCI+Zy1oPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNy5odG1sIj5pLWk8L2E+Cis8YSBocmVmPSJBUEljaHVuazE4Lmh0bWwiPmotbDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTkuaHRtbCI+bS1tPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMC5odG1sIj5uLW48L2E+Cis8YSBocmVmPSJBUEljaHVuazIxLmh0bWwiPm8tbzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjIuaHRtbCI+cC1wPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMy5odG1sIj5xLXI8L2E+Cis8YSBocmVmPSJBUEljaHVuazI0Lmh0bWwiPnMtczwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjUuaHRtbCI+dC10PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNi5odG1sIj51LXY8L2E+Cis8YSBocmVmPSJBUEljaHVuazI3Lmh0bWwiPnctdzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjguaHRtbCI+eC14PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyOS5odG1sIj55LXo8L2E+Cis8L2gyPjxwPjxhIGhyZWY9ImJ1Z3MuaHRtbCI+RGFuaWVsIFZlaWxsYXJkPC9hPjwvcD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvQVBJY2h1bmsxOS5odG1sIGIvbGlieG1sMi9kb2MvQVBJY2h1bmsxOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIzZjQzNGUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9BUEljaHVuazE5Lmh0bWwKQEAgLTAsMCArMSwzNzMgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+PGxpbmsgcmVsPSJTSE9SVENVVCBJQ09OIiBocmVmPSIvZmF2aWNvbi5pY28iIC8+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK1REIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitCT0RZIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2E7IG1hcmdpbi10b3A6IDJlbTsgbWFyZ2luLWxlZnQ6IDBlbTsgbWFyZ2luLXJpZ2h0OiAwZW19CitIMSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDIge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gzIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitBOmxpbmssIEE6dmlzaXRlZCwgQTphY3RpdmUgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB9Cis8L3N0eWxlPjx0aXRsZT5BUEkgQWxwaGFiZXRpYyBJbmRleCBtLW0gZm9yIGxpYnhtbDI8L3RpdGxlPjwvaGVhZD48Ym9keSBiZ2NvbG9yPSIjOGI3NzY1IiB0ZXh0PSIjMDAwMDAwIiBsaW5rPSIjYTA2MDYwIiB2bGluaz0iIzAwMDAwMCI+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjEwMCUiIGNlbGxwYWRkaW5nPSI1IiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCB3aWR0aD0iMTIwIj48YSBocmVmPSJodHRwOi8vc3dwYXQuZmZpaS5vcmcvIj48aW1nIHNyYz0iZXBhdGVudHMucG5nIiBhbHQ9IkFjdGlvbiBhZ2FpbnN0IHNvZnR3YXJlIHBhdGVudHMiIC8+PC9hPjwvdGQ+PHRkIHdpZHRoPSIxODAiPjxhIGhyZWY9Imh0dHA6Ly93d3cuZ25vbWUub3JnLyI+PGltZyBzcmM9Imdub21lMi5wbmciIGFsdD0iR25vbWUyIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1N0YXR1cyI+PGltZyBzcmM9InczYy5wbmciIGFsdD0iVzNDIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cucmVkaGF0LmNvbS8iPjxpbWcgc3JjPSJyZWRoYXQuZ2lmIiBhbHQ9IlJlZCBIYXQgTG9nbyIgLz48L2E+PGRpdiBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnLyI+PGltZyBzcmM9IkxpYnhtbDItTG9nby0xODB4MTY4LmdpZiIgYWx0PSJNYWRlIHdpdGggTGlieG1sMiBMb2dvIiAvPjwvYT48L2Rpdj48L3RkPjx0ZD48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iOTAlIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyIgYmdjb2xvcj0iI2ZmZmFjZCI+PHRyPjx0ZCBhbGlnbj0iY2VudGVyIj48aDE+VGhlIFhNTCBDIHBhcnNlciBhbmQgdG9vbGtpdCBvZiBHbm9tZTwvaDE+PGgyPkFQSSBBbHBoYWJldGljIEluZGV4IG0tbSBmb3IgbGlieG1sMjwvaDI+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjQiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiIHdpZHRoPSIxMDAlIj48dHI+PHRkIHZhbGlnbj0idG9wIiB3aWR0aD0iMjAwIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5EZXZlbG9wZXIgTWVudTwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48Zm9ybSBhY3Rpb249InNlYXJjaC5waHAiIGVuY3R5cGU9ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIgbWV0aG9kPSJnZXQiPjxpbnB1dCBuYW1lPSJxdWVyeSIgdHlwZT0idGV4dCIgc2l6ZT0iMjAiIHZhbHVlPSIiIC8+PGlucHV0IG5hbWU9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU2VhcmNoIC4uLiIgLz48L2Zvcm0+PHVsPjxsaT48YSBocmVmPSJpbmRleC5odG1sIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+TWFpbiBNZW51PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0bWwvaW5kZXguaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPlJlZmVyZW5jZSBNYW51YWw8L2E+PC9saT48bGk+PGEgaHJlZj0iZXhhbXBsZXMvaW5kZXguaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPkNvZGUgRXhhbXBsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iZ3VpZGVsaW5lcy5odG1sIj5YTUwgR3VpZGVsaW5lczwvYT48L2xpPjxsaT48YSBocmVmPSJ0dXRvcmlhbC9pbmRleC5odG1sIj5UdXRvcmlhbDwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWxyZWFkZXIuaHRtbCI+VGhlIFJlYWRlciBJbnRlcmZhY2U8L2E+PC9saT48bGk+PGEgaHJlZj0iQ2hhbmdlTG9nLmh0bWwiPkNoYW5nZUxvZzwvYT48L2xpPjxsaT48YSBocmVmPSJYU0xULmh0bWwiPlhTTFQ8L2E+PC9saT48bGk+PGEgaHJlZj0icHl0aG9uLmh0bWwiPlB5dGhvbiBhbmQgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iYXJjaGl0ZWN0dXJlLmh0bWwiPmxpYnhtbDIgYXJjaGl0ZWN0dXJlPC9hPjwvbGk+PGxpPjxhIGhyZWY9InRyZWUuaHRtbCI+VGhlIHRyZWUgb3V0cHV0PC9hPjwvbGk+PGxpPjxhIGhyZWY9ImludGVyZmFjZS5odG1sIj5UaGUgU0FYIGludGVyZmFjZTwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWxtZW0uaHRtbCI+TWVtb3J5IE1hbmFnZW1lbnQ8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1saW8uaHRtbCI+SS9PIEludGVyZmFjZXM8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlicmFyeS5odG1sIj5UaGUgcGFyc2VyIGludGVyZmFjZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iZW50aXRpZXMuaHRtbCI+RW50aXRpZXMgb3Igbm8gZW50aXRpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0ibmFtZXNwYWNlcy5odG1sIj5OYW1lc3BhY2VzPC9hPjwvbGk+PGxpPjxhIGhyZWY9InVwZ3JhZGUuaHRtbCI+VXBncmFkaW5nIDEueCBjb2RlPC9hPjwvbGk+PGxpPjxhIGhyZWY9InRocmVhZHMuaHRtbCI+VGhyZWFkIHNhZmV0eTwvYT48L2xpPjxsaT48YSBocmVmPSJET00uaHRtbCI+RE9NIFByaW5jaXBsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iZXhhbXBsZS5odG1sIj5BIHJlYWwgZXhhbXBsZTwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWwuaHRtbCI+ZmxhdCBwYWdlPC9hPiwgPGEgaHJlZj0ic2l0ZS54c2wiPnN0eWxlc2hlZXQ8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5BUEkgSW5kZXhlczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9IkFQSWNodW5rMC5odG1sIj5BbHBoYWJldGljPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkFQSWNvbnN0cnVjdG9ycy5odG1sIj5Db25zdHJ1Y3RvcnM8L2E+PC9saT48bGk+PGEgaHJlZj0iQVBJZnVuY3Rpb25zLmh0bWwiPkZ1bmN0aW9ucy9UeXBlczwvYT48L2xpPjxsaT48YSBocmVmPSJBUElmaWxlcy5odG1sIj5Nb2R1bGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkFQSXN5bWJvbHMuaHRtbCI+U3ltYm9sczwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPlJlbGF0ZWQgbGlua3M8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSJodHRwOi8vbWFpbC5nbm9tZS5vcmcvYXJjaGl2ZXMveG1sLyI+TWFpbCBhcmNoaXZlPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9YU0xULyI+WFNMVCBsaWJ4c2x0PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9waGQuY3MudW5pYm8uaXQvZ2RvbWUyLyI+RE9NIGdkb21lMjwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmFsZWtzZXkuY29tL3htbHNlYy8iPlhNTC1EU2lnIHhtbHNlYzwvYT48L2xpPjxsaT48YSBocmVmPSJmdHA6Ly94bWxzb2Z0Lm9yZy8iPkZUUDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnpsYXRrb3ZpYy5jb20vcHJvamVjdHMvbGlieG1sLyI+V2luZG93cyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vb3BlbmNzdy5vcmcvcGFja2FnZXMvbGlieG1sMiI+U29sYXJpcyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmV4cGxhaW4uY29tLmF1L29zcy9saWJ4bWwyeHNsdC5odG1sIj5NYWNPc1ggYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2x4bWwuZGUvIj5seG1sIFB5dGhvbiBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vY3Bhbi51d2lubmlwZWcuY2EvZGlzdC9YTUwtTGliWE1MIj5QZXJsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWxwbHVzcGx1cy5zb3VyY2Vmb3JnZS5uZXQvIj5DKysgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56ZW5kLmNvbS9waHA1L2FydGljbGVzL3BocDUteG1scGhwLnBocCNIZWFkaW5nNCI+UEhQIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbGlieG1sMi1wYXMvIj5QYXNjYWwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbC5ydWJ5Zm9yZ2Uub3JnLyI+UnVieSBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vdGNseG1sLnNvdXJjZWZvcmdlLm5ldC8iPlRjbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2J1Z2xpc3QuY2dpP3Byb2R1Y3Q9bGlieG1sMiI+QnVnIFRyYWNrZXI8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48aDIgYWxpZ249ImNlbnRlciI+PGEgaHJlZj0iQVBJY2h1bmswLmh0bWwiPkEtQjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMS5odG1sIj5DLUM8L2E+Cis8YSBocmVmPSJBUEljaHVuazIuaHRtbCI+RC1FPC9hPgorPGEgaHJlZj0iQVBJY2h1bmszLmh0bWwiPkYtSTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNC5odG1sIj5KLU48L2E+Cis8YSBocmVmPSJBUEljaHVuazUuaHRtbCI+Ty1QPC9hPgorPGEgaHJlZj0iQVBJY2h1bms2Lmh0bWwiPlEtUjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNy5odG1sIj5TLVM8L2E+Cis8YSBocmVmPSJBUEljaHVuazguaHRtbCI+VC1VPC9hPgorPGEgaHJlZj0iQVBJY2h1bms5Lmh0bWwiPlYtWDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTAuaHRtbCI+WS1hPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMS5odG1sIj5iLWI8L2E+Cis8YSBocmVmPSJBUEljaHVuazEyLmh0bWwiPmMtYzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTMuaHRtbCI+ZC1kPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNC5odG1sIj5lLWU8L2E+Cis8YSBocmVmPSJBUEljaHVuazE1Lmh0bWwiPmYtZjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTYuaHRtbCI+Zy1oPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNy5odG1sIj5pLWk8L2E+Cis8YSBocmVmPSJBUEljaHVuazE4Lmh0bWwiPmotbDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTkuaHRtbCI+bS1tPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMC5odG1sIj5uLW48L2E+Cis8YSBocmVmPSJBUEljaHVuazIxLmh0bWwiPm8tbzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjIuaHRtbCI+cC1wPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMy5odG1sIj5xLXI8L2E+Cis8YSBocmVmPSJBUEljaHVuazI0Lmh0bWwiPnMtczwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjUuaHRtbCI+dC10PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNi5odG1sIj51LXY8L2E+Cis8YSBocmVmPSJBUEljaHVuazI3Lmh0bWwiPnctdzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjguaHRtbCI+eC14PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyOS5odG1sIj55LXo8L2E+Cis8L2gyPjxoMj5MZXR0ZXIgbTo8L2gyPjxkbD48ZHQ+bWFjaGluZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sQ2hlY2tGaWxlbmFtZSI+eG1sQ2hlY2tGaWxlbmFtZTwvYT48YnIgLz4KKzwvZGQ+PGR0Pm1hY3JvPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI0lOVkFMSURfU09DS0VUIj5JTlZBTElEX1NPQ0tFVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCNTT0NLRVQiPlNPQ0tFVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCNYTUxfQ0FTVF9GUFRSIj5YTUxfQ0FTVF9GUFRSPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRG9jVHlwZSI+eG1sVGV4dFdyaXRlcldyaXRlRG9jVHlwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZVByb2Nlc3NpbmdJbnN0cnVjdGlvbiI+eG1sVGV4dFdyaXRlcldyaXRlUHJvY2Vzc2luZ0luc3RydWN0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+bWFkZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfSVNPODg1OVhfRU5BQkxFRCI+TElCWE1MX0lTTzg4NTlYX0VOQUJMRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNPdXRGdW5jIj54bWxDaGFyRW5jT3V0RnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cFBhcnNlIj54bWxFeHBQYXJzZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlTGlzdEdldFJhd1N0cmluZyI+eG1sTm9kZUxpc3RHZXRSYXdTdHJpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUxpc3RHZXRTdHJpbmciPnhtbE5vZGVMaXN0R2V0U3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sU2V0RW50aXR5UmVmZXJlbmNlRnVuYyI+eG1sU2V0RW50aXR5UmVmZXJlbmNlRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ck5ld0xvY2F0aW9uU2V0Tm9kZXMiPnhtbFhQdHJOZXdMb2NhdGlvblNldE5vZGVzPC9hPjxiciAvPgorPC9kZD48ZHQ+bWFpbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRocmVhZHMuaHRtbCN4bWxJc01haW5UaHJlYWQiPnhtbElzTWFpblRocmVhZDwvYT48YnIgLz4KKzwvZGQ+PGR0Pm1haW50YWluZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFJlbW92ZUlEIj54bWxSZW1vdmVJRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sUmVtb3ZlUmVmIj54bWxSZW1vdmVSZWY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hU0FYUGx1ZyI+eG1sU2NoZW1hU0FYUGx1ZzwvYT48YnIgLz4KKzwvZGQ+PGR0Pm1ham9yPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sRGVjb2RlRW50aXRpZXMiPnhtbERlY29kZUVudGl0aWVzPC9hPjxiciAvPgorPC9kZD48ZHQ+bWFrZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjeG1sQ3JlYXRlRW50aXRpZXNUYWJsZSI+eG1sQ3JlYXRlRW50aXRpZXNUYWJsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdOb2RlIj54bWxOZXdOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2F2ZS5odG1sI3htbFNhdmVDbG9zZSI+eG1sU2F2ZUNsb3NlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2F2ZS5odG1sI3htbFNhdmVGbHVzaCI+eG1sU2F2ZUZsdXNoPC9hPjxiciAvPgorPC9kZD48ZHQ+bWFrZXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sTG9hZENhdGFsb2ciPnhtbExvYWRDYXRhbG9nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbExvYWRDYXRhbG9ncyI+eG1sTG9hZENhdGFsb2dzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckV4cGFuZCI+eG1sVGV4dFJlYWRlckV4cGFuZDwvYT48YnIgLz4KKzwvZGQ+PGR0Pm1hbGxvYzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbEdjTWVtR2V0Ij54bWxHY01lbUdldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbEdjTWVtU2V0dXAiPnhtbEdjTWVtU2V0dXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNYWxsb2NBdG9taWNMb2MiPnhtbE1hbGxvY0F0b21pY0xvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1hbGxvY0Z1bmMiPnhtbE1hbGxvY0Z1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNYWxsb2NMb2MiPnhtbE1hbGxvY0xvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1lbUdldCI+eG1sTWVtR2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWVtTWFsbG9jIj54bWxNZW1NYWxsb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNZW1TZXR1cCI+eG1sTWVtU2V0dXA8L2E+PGJyIC8+Cis8L2RkPjxkdD5tYWxsb2NBdG9taWNGdW5jPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sR2NNZW1HZXQiPnhtbEdjTWVtR2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sR2NNZW1TZXR1cCI+eG1sR2NNZW1TZXR1cDwvYT48YnIgLz4KKzwvZGQ+PGR0Pm1hbmFnZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJXcml0ZUNoYXIiPnhtbEJ1ZmZlcldyaXRlQ2hhcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJXcml0ZVF1b3RlZFN0cmluZyI+eG1sQnVmZmVyV3JpdGVRdW90ZWRTdHJpbmc8L2E+PGJyIC8+Cis8L2RkPjxkdD5tYW5hZ2VzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlcldyaXRlQ0hBUiI+eG1sQnVmZmVyV3JpdGVDSEFSPC9hPjxiciAvPgorPC9kZD48ZHQ+bWFuZGF0ZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRocmVhZHMuaHRtbCN4bWxHZXRUaHJlYWRJZCI+eG1sR2V0VGhyZWFkSWQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5tYW5pcHVsYXRlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRocmVhZHMuaHRtbCN4bWxOZXdSTXV0ZXgiPnhtbE5ld1JNdXRleDwvYT48YnIgLz4KKzwvZGQ+PGR0Pm1hbmlwdWxhdGluZzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5ld0N0eHQiPnhtbEV4cE5ld0N0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sTG9hZFNHTUxTdXBlckNhdGFsb2ciPnhtbExvYWRTR01MU3VwZXJDYXRhbG9nPC9hPjxiciAvPgorPC9kZD48ZHQ+bWFuaXB1bGF0aW9uPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9UUkVFX0VOQUJMRUQiPkxJQlhNTF9UUkVFX0VOQUJMRUQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5tYW55PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjX3htbFBhcnNlcklucHV0Ij5feG1sUGFyc2VySW5wdXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU3RyaW5nRnVuY3Rpb24iPnhtbFhQYXRoU3RyaW5nRnVuY3Rpb248L2E+PGJyIC8+Cis8L2RkPjxkdD5tYXA8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjX3htbERPTVdyYXBDdHh0Ij5feG1sRE9NV3JhcEN0eHQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5tYXBzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckxvb2t1cE5hbWVzcGFjZSI+eG1sVGV4dFJlYWRlckxvb2t1cE5hbWVzcGFjZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZURvY1R5cGUiPnhtbFRleHRXcml0ZXJXcml0ZURvY1R5cGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24iPnhtbFRleHRXcml0ZXJXcml0ZVByb2Nlc3NpbmdJbnN0cnVjdGlvbjwvYT48YnIgLz4KKzwvZGQ+PGR0Pm1hcms8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJjYXQiPnhtbFN0cmNhdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFN0cmR1cCI+eG1sU3RyZHVwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclF1b3RlQ2hhciI+eG1sVGV4dFJlYWRlclF1b3RlQ2hhcjwvYT48YnIgLz4KKzwvZGQ+PGR0Pm1hcmtlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19BVFRSR1JPVVBfTUFSS0VEIj5YTUxfU0NIRU1BU19BVFRSR1JPVVBfTUFSS0VEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfTUFSS0VEIj5YTUxfU0NIRU1BU19UWVBFX01BUktFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI194bWxQYXJzZXJJbnB1dCI+X3htbFBhcnNlcklucHV0PC9hPjxiciAvPgorPC9kZD48ZHQ+bWFya2VyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sRGVjb2RlRW50aXRpZXMiPnhtbERlY29kZUVudGl0aWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sU3RyaW5nRGVjb2RlRW50aXRpZXMiPnhtbFN0cmluZ0RlY29kZUVudGl0aWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sU3RyaW5nTGVuRGVjb2RlRW50aXRpZXMiPnhtbFN0cmluZ0xlbkRlY29kZUVudGl0aWVzPC9hPjxiciAvPgorPC9kZD48ZHQ+bWFya2luZzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQ2hhckRhdGEiPnhtbFBhcnNlQ2hhckRhdGE8L2E+PGJyIC8+Cis8L2RkPjxkdD5tYXJrczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQ2hhckRhdGEiPnhtbFBhcnNlQ2hhckRhdGE8L2E+PGJyIC8+Cis8L2RkPjxkdD5tYXJrdXA8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNYTUxfTUFYX05BTUVfTEVOR1RIIj5YTUxfTUFYX05BTUVfTEVOR1RIPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VNYXJrdXBEZWNsIj54bWxQYXJzZU1hcmt1cERlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZVNERGVjbCI+eG1sUGFyc2VTRERlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUmVhZElubmVyWG1sIj54bWxUZXh0UmVhZGVyUmVhZElubmVyWG1sPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclJlYWRPdXRlclhtbCI+eG1sVGV4dFJlYWRlclJlYWRPdXRlclhtbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdERURCI+eG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFREPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERURCI+eG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERURDwvYT48YnIgLz4KKzwvZGQ+PGR0Pm1hcmt1cGRlY2w8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZURvY1R5cGVEZWNsIj54bWxQYXJzZURvY1R5cGVEZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFeHRlcm5hbFN1YnNldCI+eG1sUGFyc2VFeHRlcm5hbFN1YnNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlTWFya3VwRGVjbCI+eG1sUGFyc2VNYXJrdXBEZWNsPC9hPjxiciAvPgorPC9kZD48ZHQ+bWFza2VkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFJlY29uY2lsaWF0ZU5zIj54bWxSZWNvbmNpbGlhdGVOczwvYT48YnIgLz4KKzwvZGQ+PGR0Pm1hdGNoZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHJlc2VydmVQYXR0ZXJuIj54bWxUZXh0UmVhZGVyUHJlc2VydmVQYXR0ZXJuPC9hPjxiciAvPgorPC9kZD48ZHQ+bWF0Y2hlczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjQ0hFQ0tfQVJJVFkiPkNIRUNLX0FSSVRZPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxGaWxlTWF0Y2giPnhtbEZpbGVNYXRjaDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sSU9GVFBNYXRjaCI+eG1sSU9GVFBNYXRjaDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sSU9IVFRQTWF0Y2giPnhtbElPSFRUUE1hdGNoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VDdHh0RXh0ZXJuYWxFbnRpdHkiPnhtbFBhcnNlQ3R4dEV4dGVybmFsRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VFeHRQYXJzZWRFbnQiPnhtbFBhcnNlRXh0UGFyc2VkRW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VFeHRlcm5hbEVudGl0eSI+eG1sUGFyc2VFeHRlcm5hbEVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCN4bWxQYXR0ZXJuTWF0Y2giPnhtbFBhdHRlcm5NYXRjaDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ2V4cEV4ZWMiPnhtbFJlZ2V4cEV4ZWM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlRHRkRmluYWwiPnhtbFZhbGlkYXRlRHRkRmluYWw8L2E+PGJyIC8+Cis8L2RkPjxkdD5tYXRjaGluZzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sRmlsZU1hdGNoIj54bWxGaWxlTWF0Y2g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbEZpbGVPcGVuIj54bWxGaWxlT3BlbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoU2NhbjMiPnhtbEhhc2hTY2FuMzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoU2NhbkZ1bGwzIj54bWxIYXNoU2NhbkZ1bGwzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxJT0ZUUE1hdGNoIj54bWxJT0ZUUE1hdGNoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxJT0ZUUE9wZW4iPnhtbElPRlRQT3BlbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sSU9IVFRQTWF0Y2giPnhtbElPSFRUUE1hdGNoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxJT0hUVFBPcGVuIj54bWxJT0hUVFBPcGVuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnTmV3RXhlY0N0eHQiPnhtbFJlZ05ld0V4ZWNDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZUF0dHJpYnV0ZURlY2wiPnhtbFZhbGlkYXRlQXR0cmlidXRlRGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVPbmVBdHRyaWJ1dGUiPnhtbFZhbGlkYXRlT25lQXR0cmlidXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZU9uZU5hbWVzcGFjZSI+eG1sVmFsaWRhdGVPbmVOYW1lc3BhY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoSWRGdW5jdGlvbiI+eG1sWFBhdGhJZEZ1bmN0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+bWF4PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCNfeG1sWFBhdGhDb250ZXh0Ij5feG1sWFBhdGhDb250ZXh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCNfeG1sWFBhdGhQYXJzZXJDb250ZXh0Ij5feG1sWFBhdGhQYXJzZXJDb250ZXh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwUGFyc2UiPnhtbEV4cFBhcnNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEdldENvbXByZXNzTW9kZSI+eG1sR2V0Q29tcHJlc3NNb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEdldERvY0NvbXByZXNzTW9kZSI+eG1sR2V0RG9jQ29tcHJlc3NNb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZSI+eG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2V0Q29tcHJlc3NNb2RlIj54bWxTZXRDb21wcmVzc01vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2V0RG9jQ29tcHJlc3NNb2RlIj54bWxTZXREb2NDb21wcmVzc01vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJuY2FzZWNtcCI+eG1sU3RybmNhc2VjbXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJuY21wIj54bWxTdHJuY21wPC9hPjxiciAvPgorPC9kZD48ZHQ+bWF4TGVuZ3RoPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldCI+eG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXRXaHRzcCI+eG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldFdodHNwPC9hPjxiciAvPgorPC9kZD48ZHQ+bWF4aW1hbDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdDb3VudGVyIj54bWxBdXRvbWF0YU5ld0NvdW50ZXI8L2E+PGJyIC8+Cis8L2RkPjxkdD5tYXhpbXVtPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld0NvdW50VHJhbnMiPnhtbEF1dG9tYXRhTmV3Q291bnRUcmFuczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdDb3VudFRyYW5zMiI+eG1sQXV0b21hdGFOZXdDb3VudFRyYW5zMjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdPbmNlVHJhbnMiPnhtbEF1dG9tYXRhTmV3T25jZVRyYW5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld09uY2VUcmFuczIiPnhtbEF1dG9tYXRhTmV3T25jZVRyYW5zMjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoZWNrVVRGOCI+eG1sQ2hlY2tVVEY4PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwTWF4VG9rZW4iPnhtbEV4cE1heFRva2VuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwTmV3Q3R4dCI+eG1sRXhwTmV3Q3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCN4bWxQYXR0ZXJuTWF4RGVwdGgiPnhtbFBhdHRlcm5NYXhEZXB0aDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0U2V0Q2FjaGUiPnhtbFhQYXRoQ29udGV4dFNldENhY2hlPC9hPjxiciAvPgorPC9kZD48ZHQ+bWF5YmU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjX3htbFNjaGVtYUVsZW1lbnQiPl94bWxTY2hlbWFFbGVtZW50PC9hPjxiciAvPgorPC9kZD48ZHQ+bWVhbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCN4bWxQYXR0ZXJuTWluRGVwdGgiPnhtbFBhdHRlcm5NaW5EZXB0aDwvYT48YnIgLz4KKzwvZGQ+PGR0Pm1lYW5zPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwTmV3UmFuZ2UiPnhtbEV4cE5ld1JhbmdlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VTRERlY2wiPnhtbFBhcnNlU0REZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxTZXRHZW5lcmljRXJyb3JGdW5jIj54bWxTZXRHZW5lcmljRXJyb3JGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxTZXRTdHJ1Y3R1cmVkRXJyb3JGdW5jIj54bWxTZXRTdHJ1Y3R1cmVkRXJyb3JGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbFN0cmVhbVB1c2giPnhtbFN0cmVhbVB1c2g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sU3RyZWFtUHVzaEF0dHIiPnhtbFN0cmVhbVB1c2hBdHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbFN0cmVhbVB1c2hOb2RlIj54bWxTdHJlYW1QdXNoTm9kZTwvYT48YnIgLz4KKzwvZGQ+PGR0Pm1lY2hhbmlzbTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjX3htbFhQYXRoQ29udGV4dCI+X3htbFhQYXRoQ29udGV4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sU3RydWN0dXJlZEVycm9yRnVuYyI+eG1sU3RydWN0dXJlZEVycm9yRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhSZWdpc3RlckZ1bmNMb29rdXAiPnhtbFhQYXRoUmVnaXN0ZXJGdW5jTG9va3VwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGVMb29rdXAiPnhtbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZUxvb2t1cDwvYT48YnIgLz4KKzwvZGQ+PGR0Pm1lY2hhbmlzbXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUdldEJhc2UiPnhtbE5vZGVHZXRCYXNlPC9hPjxiciAvPgorPC9kZD48ZHQ+bWVldDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRGVmYXVsdERlY2wiPnhtbFBhcnNlRGVmYXVsdERlY2w8L2E+PGJyIC8+Cis8L2RkPjxkdD5tZW1iZXI8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxTQVhQYXJzZUZpbGVXaXRoRGF0YSI+eG1sU0FYUGFyc2VGaWxlV2l0aERhdGE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxTQVhQYXJzZU1lbW9yeVdpdGhEYXRhIj54bWxTQVhQYXJzZU1lbW9yeVdpdGhEYXRhPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEF0dHJpYnV0ZSI+eG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEF0dHJpYnV0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRBdHRyaWJ1dGVOUyI+eG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEF0dHJpYnV0ZU5TPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdENEQVRBIj54bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0Q0RBVEE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0Q29tbWVudCI+eG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdENvbW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFREIj54bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFREPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREF0dGxpc3QiPnhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVERBdHRsaXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREVsZW1lbnQiPnhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVERFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREludGVybmFsRW50aXR5Ij54bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFRESW50ZXJuYWxFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RWxlbWVudCI+eG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RWxlbWVudE5TIj54bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RWxlbWVudE5TPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdFBJIj54bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0UEk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0UmF3Ij54bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0UmF3PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdFN0cmluZyI+eG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdFN0cmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdHJpbmdGdW5jdGlvbiI+eG1sWFBhdGhTdHJpbmdGdW5jdGlvbjwvYT48YnIgLz4KKzwvZGQ+PGR0Pm1lbWJlci10eXBlczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNfeG1sU2NoZW1hVHlwZSI+X3htbFNjaGVtYVR5cGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5tZW1vPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjZ2V0U3lzdGVtSWQiPmdldFN5c3RlbUlkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJHZXRTeXN0ZW1JZCI+eG1sU0FYMkdldFN5c3RlbUlkPC9hPjxiciAvPgorPC9kZD48ZHQ+bWVtb3J5bGlzdDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1lbURpc3BsYXkiPnhtbE1lbURpc3BsYXk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNZW1EaXNwbGF5TGFzdCI+eG1sTWVtRGlzcGxheUxhc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNZW1vcnlEdW1wIj54bWxNZW1vcnlEdW1wPC9hPjxiciAvPgorPC9kZD48ZHQ+bWVyZ2VkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFRleHRNZXJnZSI+eG1sVGV4dE1lcmdlPC9hPjxiciAvPgorPC9kZD48ZHQ+bWVyZ2luZzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxBZGRDaGlsZCI+eG1sQWRkQ2hpbGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQWRkQ2hpbGRMaXN0Ij54bWxBZGRDaGlsZExpc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQWRkTmV4dFNpYmxpbmciPnhtbEFkZE5leHRTaWJsaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEFkZFByZXZTaWJsaW5nIj54bWxBZGRQcmV2U2libGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxBZGRTaWJsaW5nIj54bWxBZGRTaWJsaW5nPC9hPjxiciAvPgorPC9kZD48ZHQ+bWVzc2FnZXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNlcnJvclNBWEZ1bmMiPmVycm9yU0FYRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI2ZhdGFsRXJyb3JTQVhGdW5jIj5mYXRhbEVycm9yU0FYRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3dhcm5pbmdTQVhGdW5jIj53YXJuaW5nU0FYRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sUGFyc2VyRXJyb3IiPnhtbFBhcnNlckVycm9yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxQYXJzZXJWYWxpZGl0eUVycm9yIj54bWxQYXJzZXJWYWxpZGl0eUVycm9yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxQYXJzZXJWYWxpZGl0eVdhcm5pbmciPnhtbFBhcnNlclZhbGlkaXR5V2FybmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sUGFyc2VyV2FybmluZyI+eG1sUGFyc2VyV2FybmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sU2V0R2VuZXJpY0Vycm9yRnVuYyI+eG1sU2V0R2VuZXJpY0Vycm9yRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sU2V0U3RydWN0dXJlZEVycm9yRnVuYyI+eG1sU2V0U3RydWN0dXJlZEVycm9yRnVuYzwvYT48YnIgLz4KKzwvZGQ+PGR0Pm1ldGhvZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX0RFUklWQVRJT05fTUVUSE9EX0VYVEVOU0lPTiI+WE1MX1NDSEVNQVNfVFlQRV9ERVJJVkFUSU9OX01FVEhPRF9FWFRFTlNJT048L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVFlQRV9ERVJJVkFUSU9OX01FVEhPRF9SRVNUUklDVElPTiI+WE1MX1NDSEVNQVNfVFlQRV9ERVJJVkFUSU9OX01FVEhPRF9SRVNUUklDVElPTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNfeG1sQnVmZmVyIj5feG1sQnVmZmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUE1ldGhvZCI+eG1sTmFub0hUVFBNZXRob2Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQTWV0aG9kUmVkaXIiPnhtbE5hbm9IVFRQTWV0aG9kUmVkaXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jIj54bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmMiPnhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxSZWdpc3RlckhUVFBQb3N0Q2FsbGJhY2tzIj54bWxSZWdpc3RlckhUVFBQb3N0Q2FsbGJhY2tzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUiPnhtbFNldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyQ2xvc2UiPnhtbFRleHRSZWFkZXJDbG9zZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJHZXRSZW1haW5kZXIiPnhtbFRleHRSZWFkZXJHZXRSZW1haW5kZXI8L2E+PGJyIC8+Cis8L2RkPjxkdD5taWdodDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdUZXh0Q2hpbGQiPnhtbE5ld1RleHRDaGlsZDwvYT48YnIgLz4KKzwvZGQ+PGR0Pm1pZ3JhdGU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI3htbEVuY29kZUVudGl0aWVzIj54bWxFbmNvZGVFbnRpdGllczwvYT48YnIgLz4KKzwvZGQ+PGR0Pm1pbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cFBhcnNlIj54bWxFeHBQYXJzZTwvYT48YnIgLz4KKzwvZGQ+PGR0Pm1pbkxlbmd0aDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXQiPnhtbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFWYWxpZGF0ZUxlbmd0aEZhY2V0V2h0c3AiPnhtbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXRXaHRzcDwvYT48YnIgLz4KKzwvZGQ+PGR0Pm1pbmltYWw8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhTmV3Q291bnRlciI+eG1sQXV0b21hdGFOZXdDb3VudGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwUGFyc2UiPnhtbEV4cFBhcnNlPC9hPjxiciAvPgorPC9kZD48ZHQ+bWluaW11bTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdDb3VudFRyYW5zIj54bWxBdXRvbWF0YU5ld0NvdW50VHJhbnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhTmV3Q291bnRUcmFuczIiPnhtbEF1dG9tYXRhTmV3Q291bnRUcmFuczI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhTmV3T25jZVRyYW5zIj54bWxBdXRvbWF0YU5ld09uY2VUcmFuczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdPbmNlVHJhbnMyIj54bWxBdXRvbWF0YU5ld09uY2VUcmFuczI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyR3JvdyI+eG1sQnVmZmVyR3JvdzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJSZXNpemUiPnhtbEJ1ZmZlclJlc2l6ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbEdldFVURjhDaGFyIj54bWxHZXRVVEY4Q2hhcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCN4bWxQYXR0ZXJuTWluRGVwdGgiPnhtbFBhdHRlcm5NaW5EZXB0aDwvYT48YnIgLz4KKzwvZGQ+PGR0Pm1pbnVzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFN0cmluZ0Z1bmN0aW9uIj54bWxYUGF0aFN0cmluZ0Z1bmN0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+bWludXRlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI2Z0cExpc3RDYWxsYmFjayI+ZnRwTGlzdENhbGxiYWNrPC9hPjxiciAvPgorPC9kZD48ZHQ+bWlzYzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0U2V0Q2FjaGUiPnhtbFhQYXRoQ29udGV4dFNldENhY2hlPC9hPjxiciAvPgorPC9kZD48ZHQ+bWlzbGVhZGluZzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbENsZWFudXBQYXJzZXIiPnhtbENsZWFudXBQYXJzZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZVBFUmVmZXJlbmNlIj54bWxQYXJzZVBFUmVmZXJlbmNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VySGFuZGxlUEVSZWZlcmVuY2UiPnhtbFBhcnNlckhhbmRsZVBFUmVmZXJlbmNlPC9hPjxiciAvPgorPC9kZD48ZHQ+bWlzc2luZzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlU0REZWNsIj54bWxQYXJzZVNERGVjbDwvYT48YnIgLz4KKzwvZGQ+PGR0Pm1peGVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfTUlYRUQiPlhNTF9TQ0hFTUFTX1RZUEVfTUlYRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxLZWVwQmxhbmtzRGVmYXVsdCI+eG1sS2VlcEJsYW5rc0RlZmF1bHQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5taXhlZC1jb250ZW50PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbGVtZW50TWl4ZWRDb250ZW50RGVjbCI+eG1sUGFyc2VFbGVtZW50TWl4ZWRDb250ZW50RGVjbDwvYT48YnIgLz4KKzwvZGQ+PGR0Pm1tYXA8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlU3RhdGljIj54bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZVN0YXRpYzwvYT48YnIgLz4KKzwvZGQ+PGR0Pm1vZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhNb2RWYWx1ZXMiPnhtbFhQYXRoTW9kVmFsdWVzPC9hPjxiciAvPgorPC9kZD48ZHQ+bW9kZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNfeG1sQnVmZmVyIj5feG1sQnVmZmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjX3htbFBhcnNlckN0eHQiPl94bWxQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtRE9DQnBhcnNlci5odG1sI2RvY2JDcmVhdGVQdXNoUGFyc2VyQ3R4dCI+ZG9jYkNyZWF0ZVB1c2hQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dCI+aHRtbENyZWF0ZVB1c2hQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtYzE0bi5odG1sI3htbEMxNE5Eb2NEdW1wTWVtb3J5Ij54bWxDMTRORG9jRHVtcE1lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTRORG9jU2F2ZSI+eG1sQzE0TkRvY1NhdmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jMTRuLmh0bWwjeG1sQzE0TkRvY1NhdmVUbyI+eG1sQzE0TkRvY1NhdmVUbzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTRORXhlY3V0ZSI+eG1sQzE0TkV4ZWN1dGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dCI+eG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sR2V0Q29tcHJlc3NNb2RlIj54bWxHZXRDb21wcmVzc01vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxLZWVwQmxhbmtzRGVmYXVsdCI+eG1sS2VlcEJsYW5rc0RlZmF1bHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUEdldENvbm5lY3Rpb24iPnhtbE5hbm9GVFBHZXRDb25uZWN0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VSZWZlcmVuY2UiPnhtbFBhcnNlUmVmZXJlbmNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlckdyb3ciPnhtbFBhcnNlcklucHV0QnVmZmVyR3JvdzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJQdXNoIj54bWxQYXJzZXJJbnB1dEJ1ZmZlclB1c2g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxTQVhQYXJzZURvYyI+eG1sU0FYUGFyc2VEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxTQVhQYXJzZUZpbGUiPnhtbFNBWFBhcnNlRmlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNBWFBhcnNlRmlsZVdpdGhEYXRhIj54bWxTQVhQYXJzZUZpbGVXaXRoRGF0YTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNBWFBhcnNlTWVtb3J5Ij54bWxTQVhQYXJzZU1lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNBWFBhcnNlTWVtb3J5V2l0aERhdGEiPnhtbFNBWFBhcnNlTWVtb3J5V2l0aERhdGE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2V0Q29tcHJlc3NNb2RlIj54bWxTZXRDb21wcmVzc01vZGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5tb2RlbDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNfeG1sU2NoZW1hVHlwZSI+X3htbFNjaGVtYVR5cGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkQnVpbGRDb250ZW50TW9kZWwiPnhtbFZhbGlkQnVpbGRDb250ZW50TW9kZWw8L2E+PGJyIC8+Cis8L2RkPjxkdD5tb2RpZmllZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJDcmVhdGVTdGF0aWMiPnhtbEJ1ZmZlckNyZWF0ZVN0YXRpYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlQWRkQ29udGVudCI+eG1sTm9kZUFkZENvbnRlbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUFkZENvbnRlbnRMZW4iPnhtbE5vZGVBZGRDb250ZW50TGVuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVTZXRDb250ZW50Ij54bWxOb2RlU2V0Q29udGVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlU2V0Q29udGVudExlbiI+eG1sTm9kZVNldENvbnRlbnRMZW48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hTmV3RG9jUGFyc2VyQ3R4dCI+eG1sU2NoZW1hTmV3RG9jUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uTmV3RG9jUGFyc2VyQ3R4dCI+eG1sU2NoZW1hdHJvbk5ld0RvY1BhcnNlckN0eHQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5tb2RpZmllczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HTmV3RG9jUGFyc2VyQ3R4dCI+eG1sUmVsYXhOR05ld0RvY1BhcnNlckN0eHQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5tb2RpZnk8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsIj54bWxTaGVsbDwvYT48YnIgLz4KKzwvZGQ+PGR0Pm1vZHVsZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfREVCVUdfRU5BQkxFRCI+TElCWE1MX0RFQlVHX0VOQUJMRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX01PRFVMRVNfRU5BQkxFRCI+TElCWE1MX01PRFVMRVNfRU5BQkxFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sSW5wdXRNYXRjaENhbGxiYWNrIj54bWxJbnB1dE1hdGNoQ2FsbGJhY2s8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtb2R1bGUuaHRtbCN4bWxNb2R1bGVDbG9zZSI+eG1sTW9kdWxlQ2xvc2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtb2R1bGUuaHRtbCN4bWxNb2R1bGVGcmVlIj54bWxNb2R1bGVGcmVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbW9kdWxlLmh0bWwjeG1sTW9kdWxlT3BlbiI+eG1sTW9kdWxlT3BlbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1vZHVsZS5odG1sI3htbE1vZHVsZVN5bWJvbCI+eG1sTW9kdWxlU3ltYm9sPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRNYXRjaENhbGxiYWNrIj54bWxPdXRwdXRNYXRjaENhbGxiYWNrPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jIj54bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jPC9hPjxiciAvPgorPC9kZD48ZHQ+bW9kdWxlczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfTU9EVUxFX0VYVEVOU0lPTiI+TElCWE1MX01PRFVMRV9FWFRFTlNJT048L2E+PGJyIC8+Cis8L2RkPjxkdD5tb21lbnQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcFJlY29uY2lsZU5hbWVzcGFjZXMiPnhtbERPTVdyYXBSZWNvbmNpbGVOYW1lc3BhY2VzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBSZW1vdmVOb2RlIj54bWxET01XcmFwUmVtb3ZlTm9kZTwvYT48YnIgLz4KKzwvZGQ+PGR0Pm1vbnRoPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI2Z0cExpc3RDYWxsYmFjayI+ZnRwTGlzdENhbGxiYWNrPC9hPjxiciAvPgorPC9kZD48ZHQ+bW9yZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI1hNTF9NQVhfTkFNRUxFTiI+WE1MX01BWF9OQU1FTEVOPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjWE1MX01BWF9OQU1FX0xFTkdUSCI+WE1MX01BWF9OQU1FX0xFTkdUSDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cEdldExhbmd1YWdlIj54bWxFeHBHZXRMYW5ndWFnZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cEdldFN0YXJ0Ij54bWxFeHBHZXRTdGFydDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQXR0cmlidXRlVHlwZSI+eG1sUGFyc2VBdHRyaWJ1dGVUeXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbGVtZW50RGVjbCI+eG1sUGFyc2VFbGVtZW50RGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRWxlbWVudE1peGVkQ29udGVudERlY2wiPnhtbFBhcnNlRWxlbWVudE1peGVkQ29udGVudERlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZVN0YXJ0VGFnIj54bWxQYXJzZVN0YXJ0VGFnPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3RyRXF1YWwiPnhtbFN0ckVxdWFsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckJ5dGVDb25zdW1lZCI+eG1sVGV4dFJlYWRlckJ5dGVDb25zdW1lZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJOZXh0Ij54bWxUZXh0UmVhZGVyTmV4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJOZXh0U2libGluZyI+eG1sVGV4dFJlYWRlck5leHRTaWJsaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclJlYWQiPnhtbFRleHRSZWFkZXJSZWFkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclJlYWRBdHRyaWJ1dGVWYWx1ZSI+eG1sVGV4dFJlYWRlclJlYWRBdHRyaWJ1dGVWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdHJpbmdGdW5jdGlvbiI+eG1sWFBhdGhTdHJpbmdGdW5jdGlvbjwvYT48YnIgLz4KKzwvZGQ+PGR0Pm1vcmVvdmVyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld09uY2VUcmFucyI+eG1sQXV0b21hdGFOZXdPbmNlVHJhbnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhTmV3T25jZVRyYW5zMiI+eG1sQXV0b21hdGFOZXdPbmNlVHJhbnMyPC9hPjxiciAvPgorPC9kZD48ZHQ+bW9zdDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTRORXhlY3V0ZSI+eG1sQzE0TkV4ZWN1dGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxHZXRGZWF0dXJlc0xpc3QiPnhtbEdldEZlYXR1cmVzTGlzdDwvYT48YnIgLz4KKzwvZGQ+PGR0Pm1vdmU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcEFkb3B0Tm9kZSI+eG1sRE9NV3JhcEFkb3B0Tm9kZTwvYT48YnIgLz4KKzwvZGQ+PGR0Pm1vdmVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlck1vdmVUb0VsZW1lbnQiPnhtbFRleHRSZWFkZXJNb3ZlVG9FbGVtZW50PC9hPjxiciAvPgorPC9kZD48ZHQ+bXVjaDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0R2V0VXNhZ2UiPnhtbERpY3RHZXRVc2FnZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxSZWNvbmNpbGlhdGVOcyI+eG1sUmVjb25jaWxpYXRlTnM8L2E+PGJyIC8+Cis8L2RkPjxkdD5tdWx0aS10aHJlYWRlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sU2V0R2VuZXJpY0Vycm9yRnVuYyI+eG1sU2V0R2VuZXJpY0Vycm9yRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sU2V0U3RydWN0dXJlZEVycm9yRnVuYyI+eG1sU2V0U3RydWN0dXJlZEVycm9yRnVuYzwvYT48YnIgLz4KKzwvZGQ+PGR0Pm11bHRpLXRocmVhZGluZzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxDbGVhbnVwR2xvYmFscyI+eG1sQ2xlYW51cEdsb2JhbHM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sSW5pdEdsb2JhbHMiPnhtbEluaXRHbG9iYWxzPC9hPjxiciAvPgorPC9kZD48ZHQ+bXVsdGlwbGU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxDdXJyZW50Q2hhciI+eG1sQ3VycmVudENoYXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxTdHJpbmdDdXJyZW50Q2hhciI+eG1sU3RyaW5nQ3VycmVudENoYXI8L2E+PGJyIC8+Cis8L2RkPjxkdD5tdWx0aXBseTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhNdWx0VmFsdWVzIj54bWxYUGF0aE11bHRWYWx1ZXM8L2E+PGJyIC8+Cis8L2RkPjxkdD5tdWx0aXRocmVhZGVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjaHRtbEluaXRBdXRvQ2xvc2UiPmh0bWxJbml0QXV0b0Nsb3NlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ2xlYW51cFBhcnNlciI+eG1sQ2xlYW51cFBhcnNlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRocmVhZHMuaHRtbCN4bWxDbGVhbnVwVGhyZWFkcyI+eG1sQ2xlYW51cFRocmVhZHM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxJbml0UGFyc2VyIj54bWxJbml0UGFyc2VyPC9hPjxiciAvPgorPC9kZD48ZHQ+bXV0ZXg8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1kaWN0Lmh0bWwjeG1sRGljdENsZWFudXAiPnhtbERpY3RDbGVhbnVwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbEZyZWVNdXRleCI+eG1sRnJlZU11dGV4PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbEZyZWVSTXV0ZXgiPnhtbEZyZWVSTXV0ZXg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kaWN0Lmh0bWwjeG1sSW5pdGlhbGl6ZURpY3QiPnhtbEluaXRpYWxpemVEaWN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbE11dGV4TG9jayI+eG1sTXV0ZXhMb2NrPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbE11dGV4VW5sb2NrIj54bWxNdXRleFVubG9jazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRocmVhZHMuaHRtbCN4bWxOZXdNdXRleCI+eG1sTmV3TXV0ZXg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sTmV3Uk11dGV4Ij54bWxOZXdSTXV0ZXg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sUk11dGV4TG9jayI+eG1sUk11dGV4TG9jazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRocmVhZHMuaHRtbCN4bWxSTXV0ZXhVbmxvY2siPnhtbFJNdXRleFVubG9jazwvYT48YnIgLz4KKzwvZGQ+PGR0Pm15RG9jPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtRE9DQnBhcnNlci5odG1sI2RvY2JGcmVlUGFyc2VyQ3R4dCI+ZG9jYkZyZWVQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxGcmVlUGFyc2VyQ3R4dCI+aHRtbEZyZWVQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sRnJlZVBhcnNlckN0eHQiPnhtbEZyZWVQYXJzZXJDdHh0PC9hPjxiciAvPgorPC9kZD48ZHQ+bXlwcm94eTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQU2NhblByb3h5Ij54bWxOYW5vRlRQU2NhblByb3h5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUFNjYW5Qcm94eSI+eG1sTmFub0hUVFBTY2FuUHJveHk8L2E+PGJyIC8+Cis8L2RkPjxkdD5teXByb3h5OjMxMjg8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUFNjYW5Qcm94eSI+eG1sTmFub0ZUUFNjYW5Qcm94eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9odHRwLmh0bWwjeG1sTmFub0hUVFBTY2FuUHJveHkiPnhtbE5hbm9IVFRQU2NhblByb3h5PC9hPjxiciAvPgorPC9kZD48L2RsPjxoMiBhbGlnbj0iY2VudGVyIj48YSBocmVmPSJBUEljaHVuazAuaHRtbCI+QS1CPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxLmh0bWwiPkMtQzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMi5odG1sIj5ELUU8L2E+Cis8YSBocmVmPSJBUEljaHVuazMuaHRtbCI+Ri1JPC9hPgorPGEgaHJlZj0iQVBJY2h1bms0Lmh0bWwiPkotTjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNS5odG1sIj5PLVA8L2E+Cis8YSBocmVmPSJBUEljaHVuazYuaHRtbCI+US1SPC9hPgorPGEgaHJlZj0iQVBJY2h1bms3Lmh0bWwiPlMtUzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rOC5odG1sIj5ULVU8L2E+Cis8YSBocmVmPSJBUEljaHVuazkuaHRtbCI+Vi1YPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMC5odG1sIj5ZLWE8L2E+Cis8YSBocmVmPSJBUEljaHVuazExLmh0bWwiPmItYjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTIuaHRtbCI+Yy1jPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMy5odG1sIj5kLWQ8L2E+Cis8YSBocmVmPSJBUEljaHVuazE0Lmh0bWwiPmUtZTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTUuaHRtbCI+Zi1mPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNi5odG1sIj5nLWg8L2E+Cis8YSBocmVmPSJBUEljaHVuazE3Lmh0bWwiPmktaTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTguaHRtbCI+ai1sPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxOS5odG1sIj5tLW08L2E+Cis8YSBocmVmPSJBUEljaHVuazIwLmh0bWwiPm4tbjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjEuaHRtbCI+by1vPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMi5odG1sIj5wLXA8L2E+Cis8YSBocmVmPSJBUEljaHVuazIzLmh0bWwiPnEtcjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjQuaHRtbCI+cy1zPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNS5odG1sIj50LXQ8L2E+Cis8YSBocmVmPSJBUEljaHVuazI2Lmh0bWwiPnUtdjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjcuaHRtbCI+dy13PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyOC5odG1sIj54LXg8L2E+Cis8YSBocmVmPSJBUEljaHVuazI5Lmh0bWwiPnktejwvYT4KKzwvaDI+PHA+PGEgaHJlZj0iYnVncy5odG1sIj5EYW5pZWwgVmVpbGxhcmQ8L2E+PC9wPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9BUEljaHVuazIuaHRtbCBiL2xpYnhtbDIvZG9jL0FQSWNodW5rMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFkMTBmOTMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9BUEljaHVuazIuaHRtbApAQCAtMCwwICsxLDQxNiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIj4KKzxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj48aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz48bGluayByZWw9IlNIT1JUQ1VUIElDT04iIGhyZWY9Ii9mYXZpY29uLmljbyIgLz48c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorVEQge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0JPRFkge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYTsgbWFyZ2luLXRvcDogMmVtOyBtYXJnaW4tbGVmdDogMGVtOyBtYXJnaW4tcmlnaHQ6IDBlbX0KK0gxIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMiB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDMge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0E6bGluaywgQTp2aXNpdGVkLCBBOmFjdGl2ZSB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIH0KKzwvc3R5bGU+PHRpdGxlPkFQSSBBbHBoYWJldGljIEluZGV4IEQtRSBmb3IgbGlieG1sMjwvdGl0bGU+PC9oZWFkPjxib2R5IGJnY29sb3I9IiM4Yjc3NjUiIHRleHQ9IiMwMDAwMDAiIGxpbms9IiNhMDYwNjAiIHZsaW5rPSIjMDAwMDAwIj48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iMTAwJSIgY2VsbHBhZGRpbmc9IjUiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIHdpZHRoPSIxMjAiPjxhIGhyZWY9Imh0dHA6Ly9zd3BhdC5mZmlpLm9yZy8iPjxpbWcgc3JjPSJlcGF0ZW50cy5wbmciIGFsdD0iQWN0aW9uIGFnYWluc3Qgc29mdHdhcmUgcGF0ZW50cyIgLz48L2E+PC90ZD48dGQgd2lkdGg9IjE4MCI+PGEgaHJlZj0iaHR0cDovL3d3dy5nbm9tZS5vcmcvIj48aW1nIHNyYz0iZ25vbWUyLnBuZyIgYWx0PSJHbm9tZTIgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvU3RhdHVzIj48aW1nIHNyYz0idzNjLnBuZyIgYWx0PSJXM0MgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy5yZWRoYXQuY29tLyI+PGltZyBzcmM9InJlZGhhdC5naWYiIGFsdD0iUmVkIEhhdCBMb2dvIiAvPjwvYT48ZGl2IGFsaWduPSJsZWZ0Ij48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvIj48aW1nIHNyYz0iTGlieG1sMi1Mb2dvLTE4MHgxNjguZ2lmIiBhbHQ9Ik1hZGUgd2l0aCBMaWJ4bWwyIExvZ28iIC8+PC9hPjwvZGl2PjwvdGQ+PHRkPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSI5MCUiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIiBiZ2NvbG9yPSIjZmZmYWNkIj48dHI+PHRkIGFsaWduPSJjZW50ZXIiPjxoMT5UaGUgWE1MIEMgcGFyc2VyIGFuZCB0b29sa2l0IG9mIEdub21lPC9oMT48aDI+QVBJIEFscGhhYmV0aWMgSW5kZXggRC1FIGZvciBsaWJ4bWwyPC9oMj48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iNCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiIgd2lkdGg9IjEwMCUiPjx0cj48dGQgdmFsaWduPSJ0b3AiIHdpZHRoPSIyMDAiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPkRldmVsb3BlciBNZW51PC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjxmb3JtIGFjdGlvbj0ic2VhcmNoLnBocCIgZW5jdHlwZT0iYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIiBtZXRob2Q9ImdldCI+PGlucHV0IG5hbWU9InF1ZXJ5IiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IiIgLz48aW5wdXQgbmFtZT0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJTZWFyY2ggLi4uIiAvPjwvZm9ybT48dWw+PGxpPjxhIGhyZWY9ImluZGV4Lmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5NYWluIE1lbnU8L2E+PC9saT48bGk+PGEgaHJlZj0iaHRtbC9pbmRleC5odG1sIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+UmVmZXJlbmNlIE1hbnVhbDwvYT48L2xpPjxsaT48YSBocmVmPSJleGFtcGxlcy9pbmRleC5odG1sIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+Q29kZSBFeGFtcGxlczwvYT48L2xpPjxsaT48YSBocmVmPSJndWlkZWxpbmVzLmh0bWwiPlhNTCBHdWlkZWxpbmVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9InR1dG9yaWFsL2luZGV4Lmh0bWwiPlR1dG9yaWFsPC9hPjwvbGk+PGxpPjxhIGhyZWY9InhtbHJlYWRlci5odG1sIj5UaGUgUmVhZGVyIEludGVyZmFjZTwvYT48L2xpPjxsaT48YSBocmVmPSJDaGFuZ2VMb2cuaHRtbCI+Q2hhbmdlTG9nPC9hPjwvbGk+PGxpPjxhIGhyZWY9IlhTTFQuaHRtbCI+WFNMVDwvYT48L2xpPjxsaT48YSBocmVmPSJweXRob24uaHRtbCI+UHl0aG9uIGFuZCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJhcmNoaXRlY3R1cmUuaHRtbCI+bGlieG1sMiBhcmNoaXRlY3R1cmU8L2E+PC9saT48bGk+PGEgaHJlZj0idHJlZS5odG1sIj5UaGUgdHJlZSBvdXRwdXQ8L2E+PC9saT48bGk+PGEgaHJlZj0iaW50ZXJmYWNlLmh0bWwiPlRoZSBTQVggaW50ZXJmYWNlPC9hPjwvbGk+PGxpPjxhIGhyZWY9InhtbG1lbS5odG1sIj5NZW1vcnkgTWFuYWdlbWVudDwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWxpby5odG1sIj5JL08gSW50ZXJmYWNlczwvYT48L2xpPjxsaT48YSBocmVmPSJsaWJyYXJ5Lmh0bWwiPlRoZSBwYXJzZXIgaW50ZXJmYWNlczwvYT48L2xpPjxsaT48YSBocmVmPSJlbnRpdGllcy5odG1sIj5FbnRpdGllcyBvciBubyBlbnRpdGllczwvYT48L2xpPjxsaT48YSBocmVmPSJuYW1lc3BhY2VzLmh0bWwiPk5hbWVzcGFjZXM8L2E+PC9saT48bGk+PGEgaHJlZj0idXBncmFkZS5odG1sIj5VcGdyYWRpbmcgMS54IGNvZGU8L2E+PC9saT48bGk+PGEgaHJlZj0idGhyZWFkcy5odG1sIj5UaHJlYWQgc2FmZXR5PC9hPjwvbGk+PGxpPjxhIGhyZWY9IkRPTS5odG1sIj5ET00gUHJpbmNpcGxlczwvYT48L2xpPjxsaT48YSBocmVmPSJleGFtcGxlLmh0bWwiPkEgcmVhbCBleGFtcGxlPC9hPjwvbGk+PGxpPjxhIGhyZWY9InhtbC5odG1sIj5mbGF0IHBhZ2U8L2E+LCA8YSBocmVmPSJzaXRlLnhzbCI+c3R5bGVzaGVldDwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPkFQSSBJbmRleGVzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iQVBJY2h1bmswLmh0bWwiPkFscGhhYmV0aWM8L2E+PC9saT48bGk+PGEgaHJlZj0iQVBJY29uc3RydWN0b3JzLmh0bWwiPkNvbnN0cnVjdG9yczwvYT48L2xpPjxsaT48YSBocmVmPSJBUElmdW5jdGlvbnMuaHRtbCI+RnVuY3Rpb25zL1R5cGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkFQSWZpbGVzLmh0bWwiPk1vZHVsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iQVBJc3ltYm9scy5odG1sIj5TeW1ib2xzPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+UmVsYXRlZCBsaW5rczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9Imh0dHA6Ly9tYWlsLmdub21lLm9yZy9hcmNoaXZlcy94bWwvIj5NYWlsIGFyY2hpdmU8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnL1hTTFQvIj5YU0xUIGxpYnhzbHQ8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3BoZC5jcy51bmliby5pdC9nZG9tZTIvIj5ET00gZ2RvbWUyPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuYWxla3NleS5jb20veG1sc2VjLyI+WE1MLURTaWcgeG1sc2VjPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImZ0cDovL3htbHNvZnQub3JnLyI+RlRQPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemxhdGtvdmljLmNvbS9wcm9qZWN0cy9saWJ4bWwvIj5XaW5kb3dzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9vcGVuY3N3Lm9yZy9wYWNrYWdlcy9saWJ4bWwyIj5Tb2xhcmlzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuZXhwbGFpbi5jb20uYXUvb3NzL2xpYnhtbDJ4c2x0Lmh0bWwiPk1hY09zWCBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbHhtbC5kZS8iPmx4bWwgUHl0aG9uIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9jcGFuLnV3aW5uaXBlZy5jYS9kaXN0L1hNTC1MaWJYTUwiPlBlcmwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbHBsdXNwbHVzLnNvdXJjZWZvcmdlLm5ldC8iPkMrKyBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnplbmQuY29tL3BocDUvYXJ0aWNsZXMvcGhwNS14bWxwaHAucGhwI0hlYWRpbmc0Ij5QSFAgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9saWJ4bWwyLXBhcy8iPlBhc2NhbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1sLnJ1Ynlmb3JnZS5vcmcvIj5SdWJ5IGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly90Y2x4bWwuc291cmNlZm9yZ2UubmV0LyI+VGNsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvYnVnbGlzdC5jZ2k/cHJvZHVjdD1saWJ4bWwyIj5CdWcgVHJhY2tlcjwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMyIgY2VsbHNwYWNpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjxoMiBhbGlnbj0iY2VudGVyIj48YSBocmVmPSJBUEljaHVuazAuaHRtbCI+QS1CPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxLmh0bWwiPkMtQzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMi5odG1sIj5ELUU8L2E+Cis8YSBocmVmPSJBUEljaHVuazMuaHRtbCI+Ri1JPC9hPgorPGEgaHJlZj0iQVBJY2h1bms0Lmh0bWwiPkotTjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNS5odG1sIj5PLVA8L2E+Cis8YSBocmVmPSJBUEljaHVuazYuaHRtbCI+US1SPC9hPgorPGEgaHJlZj0iQVBJY2h1bms3Lmh0bWwiPlMtUzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rOC5odG1sIj5ULVU8L2E+Cis8YSBocmVmPSJBUEljaHVuazkuaHRtbCI+Vi1YPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMC5odG1sIj5ZLWE8L2E+Cis8YSBocmVmPSJBUEljaHVuazExLmh0bWwiPmItYjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTIuaHRtbCI+Yy1jPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMy5odG1sIj5kLWQ8L2E+Cis8YSBocmVmPSJBUEljaHVuazE0Lmh0bWwiPmUtZTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTUuaHRtbCI+Zi1mPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNi5odG1sIj5nLWg8L2E+Cis8YSBocmVmPSJBUEljaHVuazE3Lmh0bWwiPmktaTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTguaHRtbCI+ai1sPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxOS5odG1sIj5tLW08L2E+Cis8YSBocmVmPSJBUEljaHVuazIwLmh0bWwiPm4tbjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjEuaHRtbCI+by1vPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMi5odG1sIj5wLXA8L2E+Cis8YSBocmVmPSJBUEljaHVuazIzLmh0bWwiPnEtcjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjQuaHRtbCI+cy1zPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNS5odG1sIj50LXQ8L2E+Cis8YSBocmVmPSJBUEljaHVuazI2Lmh0bWwiPnUtdjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjcuaHRtbCI+dy13PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyOC5odG1sIj54LXg8L2E+Cis8YSBocmVmPSJBUEljaHVuazI5Lmh0bWwiPnktejwvYT4KKzwvaDI+PGgyPkxldHRlciBEOjwvaDI+PGRsPjxkdD5ERUJVR19NRU1PUlk8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCNERUJVR19NRU1PUlkiPkRFQlVHX01FTU9SWTwvYT48YnIgLz4KKzwvZGQ+PGR0PkRFQlVHX01FTU9SWV9GUkVFRDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI0RFQlVHX01FTU9SWSI+REVCVUdfTUVNT1JZPC9hPjxiciAvPgorPC9kZD48ZHQ+REVCVUdfTUVNT1JZX0xPQ0FUSU9OPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjREVCVUdfTUVNT1JZIj5ERUJVR19NRU1PUlk8L2E+PGJyIC8+Cis8L2RkPjxkdD5ERUxFPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBEZWxlIj54bWxOYW5vRlRQRGVsZTwvYT48YnIgLz4KKzwvZGQ+PGR0PkRFTEVHQVRFPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbExvYWRTR01MU3VwZXJDYXRhbG9nIj54bWxMb2FkU0dNTFN1cGVyQ2F0YWxvZzwvYT48YnIgLz4KKzwvZGQ+PGR0PkRFTU88L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNnZXRQdWJsaWNJZCI+Z2V0UHVibGljSWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMkdldFB1YmxpY0lkIj54bWxTQVgyR2V0UHVibGljSWQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5ERVBSRUNBVEVEPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjY2hlY2tOYW1lc3BhY2UiPmNoZWNrTmFtZXNwYWNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjZ2V0TmFtZXNwYWNlIj5nZXROYW1lc3BhY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNnbG9iYWxOYW1lc3BhY2UiPmdsb2JhbE5hbWVzcGFjZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI25hbWVzcGFjZURlY2wiPm5hbWVzcGFjZURlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNzZXREb2N1bWVudExvY2F0b3IiPnNldERvY3VtZW50TG9jYXRvcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI3NldE5hbWVzcGFjZSI+c2V0TmFtZXNwYWNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dHZXRQdWJsaWMiPnhtbENhdGFsb2dHZXRQdWJsaWM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ0dldFN5c3RlbSI+eG1sQ2F0YWxvZ0dldFN5c3RlbTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc0Jhc2VDaGFyIj54bWxJc0Jhc2VDaGFyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzQmxhbmsiPnhtbElzQmxhbms8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNDaGFyIj54bWxJc0NoYXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNDb21iaW5pbmciPnhtbElzQ29tYmluaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzRGlnaXQiPnhtbElzRGlnaXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNFeHRlbmRlciI+eG1sSXNFeHRlbmRlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc0lkZW9ncmFwaGljIj54bWxJc0lkZW9ncmFwaGljPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzUHViaWRDaGFyIj54bWxJc1B1YmlkQ2hhcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdHbG9iYWxOcyI+eG1sTmV3R2xvYmFsTnM8L2E+PGJyIC8+Cis8L2RkPjxkdD5ESUdJVDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbENoZWNrTGFuZ3VhZ2VJRCI+eG1sQ2hlY2tMYW5ndWFnZUlEPC9hPjxiciAvPgorPC9kZD48ZHQ+RE9DVFlQRTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRG9jVHlwZURlY2wiPnhtbFBhcnNlRG9jVHlwZURlY2w8L2E+PGJyIC8+Cis8L2RkPjxkdD5ET00td3JhcHBlcjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwRnJlZUN0eHQiPnhtbERPTVdyYXBGcmVlQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwTmV3Q3R4dCI+eG1sRE9NV3JhcE5ld0N0eHQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5EVERzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX0NPTVBMRVRFX0FUVFJTIj5YTUxfQ09NUExFVEVfQVRUUlM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZXJIYW5kbGVQRVJlZmVyZW5jZSI+eG1sUGFyc2VySGFuZGxlUEVSZWZlcmVuY2U8L2E+PGJyIC8+Cis8L2RkPjxkdD5EYXRhPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VDRFNlY3QiPnhtbFBhcnNlQ0RTZWN0PC9hPjxiciAvPgorPC9kZD48ZHQ+RGF0YXR5cGU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdleHBDb21waWxlIj54bWxSZWdleHBDb21waWxlPC9hPjxiciAvPgorPC9kZD48ZHQ+RGF0YXR5cGVzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hR2V0QnVpbHRJbkxpc3RTaW1wbGVUeXBlSXRlbVR5cGUiPnhtbFNjaGVtYUdldEJ1aWx0SW5MaXN0U2ltcGxlVHlwZUl0ZW1UeXBlPC9hPjxiciAvPgorPC9kZD48ZHQ+RGVhbGxvY2F0ZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sRnJlZUF0dHJpYnV0ZVRhYmxlIj54bWxGcmVlQXR0cmlidXRlVGFibGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEZyZWVFbGVtZW50VGFibGUiPnhtbEZyZWVFbGVtZW50VGFibGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI3htbEZyZWVFbnRpdGllc1RhYmxlIj54bWxGcmVlRW50aXRpZXNUYWJsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sRnJlZUlEVGFibGUiPnhtbEZyZWVJRFRhYmxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxGcmVlTm90YXRpb25UYWJsZSI+eG1sRnJlZU5vdGF0aW9uVGFibGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEZyZWVSZWZUYWJsZSI+eG1sRnJlZVJlZlRhYmxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sRnJlZVRleHRSZWFkZXIiPnhtbEZyZWVUZXh0UmVhZGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sRnJlZVRleHRXcml0ZXIiPnhtbEZyZWVUZXh0V3JpdGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdGcmVlIj54bWxSZWxheE5HRnJlZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFGcmVlIj54bWxTY2hlbWFGcmVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hRnJlZUZhY2V0Ij54bWxTY2hlbWFGcmVlRmFjZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hRnJlZVR5cGUiPnhtbFNjaGVtYUZyZWVUeXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hdHJvbi5odG1sI3htbFNjaGVtYXRyb25GcmVlIj54bWxTY2hlbWF0cm9uRnJlZTwvYT48YnIgLz4KKzwvZGQ+PGR0PkRlYWxsb2NhdGVzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYUZyZWVXaWxkY2FyZCI+eG1sU2NoZW1hRnJlZVdpbGRjYXJkPC9hPjxiciAvPgorPC9kZD48ZHQ+RGVidWdnaW5nPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9ERUJVR19FTkFCTEVEIj5MSUJYTUxfREVCVUdfRU5BQkxFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cEN0eHROYkNvbnMiPnhtbEV4cEN0eHROYkNvbnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBDdHh0TmJOb2RlcyI+eG1sRXhwQ3R4dE5iTm9kZXM8L2E+PGJyIC8+Cis8L2RkPjxkdD5EZWNsYXJhdGlvbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRWxlbWVudERlY2wiPnhtbFBhcnNlRWxlbWVudERlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZU1hcmt1cERlY2wiPnhtbFBhcnNlTWFya3VwRGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlU0REZWNsIj54bWxQYXJzZVNERGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRDdHh0Tm9ybWFsaXplQXR0cmlidXRlVmFsdWUiPnhtbFZhbGlkQ3R4dE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZUVsZW1lbnREZWNsIj54bWxWYWxpZGF0ZUVsZW1lbnREZWNsPC9hPjxiciAvPgorPC9kZD48ZHQ+RGVjbGFyZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVudGl0eURlY2wiPnhtbFBhcnNlRW50aXR5RGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRW50aXR5UmVmIj54bWxQYXJzZUVudGl0eVJlZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlUEVSZWZlcmVuY2UiPnhtbFBhcnNlUEVSZWZlcmVuY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZXJIYW5kbGVQRVJlZmVyZW5jZSI+eG1sUGFyc2VySGFuZGxlUEVSZWZlcmVuY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZXJIYW5kbGVSZWZlcmVuY2UiPnhtbFBhcnNlckhhbmRsZVJlZmVyZW5jZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVOb3RhdGlvblVzZSI+eG1sVmFsaWRhdGVOb3RhdGlvblVzZTwvYT48YnIgLz4KKzwvZGQ+PGR0PkRlZmF1bHQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxIYW5kbGVFbnRpdHkiPnhtbEhhbmRsZUVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQXR0cmlidXRlVHlwZSI+eG1sUGFyc2VBdHRyaWJ1dGVUeXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VEZWZhdWx0RGVjbCI+eG1sUGFyc2VEZWZhdWx0RGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVBdHRyaWJ1dGVEZWNsIj54bWxWYWxpZGF0ZUF0dHJpYnV0ZURlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlT25lQXR0cmlidXRlIj54bWxWYWxpZGF0ZU9uZUF0dHJpYnV0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVPbmVOYW1lc3BhY2UiPnhtbFZhbGlkYXRlT25lTmFtZXNwYWNlPC9hPjxiciAvPgorPC9kZD48ZHQ+RGVmYXVsdERlY2w8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUF0dHJpYnV0ZUxpc3REZWNsIj54bWxQYXJzZUF0dHJpYnV0ZUxpc3REZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VEZWZhdWx0RGVjbCI+eG1sUGFyc2VEZWZhdWx0RGVjbDwvYT48YnIgLz4KKzwvZGQ+PGR0PkRlbGV0ZXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdERlbGV0ZSI+eG1sTGlzdERlbGV0ZTwvYT48YnIgLz4KKzwvZGQ+PGR0PkRlcHRoPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjX3htbFBhcnNlckN0eHQiPl94bWxQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCNfeG1sVmFsaWRDdHh0Ij5feG1sVmFsaWRDdHh0PC9hPjxiciAvPgorPC9kZD48ZHQ+RGVyZWZlcmVuY2U8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBGcmVlIj54bWxFeHBGcmVlPC9hPjxiciAvPgorPC9kZD48ZHQ+RGVyZWdpc3Rlck5vZGVGdW5jPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbERlcmVnaXN0ZXJOb2RlRGVmYXVsdCI+eG1sRGVyZWdpc3Rlck5vZGVEZWZhdWx0PC9hPjxiciAvPgorPC9kZD48ZHQ+RGVzZXJldDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0Rlc2VyZXQiPnhtbFVDU0lzRGVzZXJldDwvYT48YnIgLz4KKzwvZGQ+PGR0PkRldGVybWluZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwjaHRtbElzQm9vbGVhbkF0dHIiPmh0bWxJc0Jvb2xlYW5BdHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxJc0lEIj54bWxJc0lEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxJc1JlZiI+eG1sSXNSZWY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyQ29uc3RFbmNvZGluZyI+eG1sVGV4dFJlYWRlckNvbnN0RW5jb2Rpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyQ29uc3RYbWxWZXJzaW9uIj54bWxUZXh0UmVhZGVyQ29uc3RYbWxWZXJzaW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlcklzTmFtZXNwYWNlRGVjbCI+eG1sVGV4dFJlYWRlcklzTmFtZXNwYWNlRGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJTdGFuZGFsb25lIj54bWxUZXh0UmVhZGVyU3RhbmRhbG9uZTwvYT48YnIgLz4KKzwvZGQ+PGR0PkRldmFuYWdhcmk8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNEZXZhbmFnYXJpIj54bWxVQ1NJc0RldmFuYWdhcmk8L2E+PGJyIC8+Cis8L2RkPjxkdD5EaWZmZXJlbnQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sU3RyZWFtUHVzaE5vZGUiPnhtbFN0cmVhbVB1c2hOb2RlPC9hPjxiciAvPgorPC9kZD48ZHQ+RGlnaXQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNJU19ESUdJVCI+SVNfRElHSVQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxOYW1lc3BhY2VQYXJzZU5DTmFtZSI+eG1sTmFtZXNwYWNlUGFyc2VOQ05hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZU5hbWUiPnhtbFBhcnNlTmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFNjYW5OYW1lIj54bWxTY2FuTmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhQYXJzZU5DTmFtZSI+eG1sWFBhdGhQYXJzZU5DTmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhQYXJzZU5hbWUiPnhtbFhQYXRoUGFyc2VOYW1lPC9hPjxiciAvPgorPC9kZD48ZHQ+RGlnaXRzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFN0cmluZ0V2YWxOdW1iZXIiPnhtbFhQYXRoU3RyaW5nRXZhbE51bWJlcjwvYT48YnIgLz4KKzwvZGQ+PGR0PkRpZ2l0cz88L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU3RyaW5nRXZhbE51bWJlciI+eG1sWFBhdGhTdHJpbmdFdmFsTnVtYmVyPC9hPjxiciAvPgorPC9kZD48ZHQ+RGluZ2JhdHM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNEaW5nYmF0cyI+eG1sVUNTSXNEaW5nYmF0czwvYT48YnIgLz4KKzwvZGQ+PGR0PkRpc3BsYXk8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNlcnJvclNBWEZ1bmMiPmVycm9yU0FYRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI2ZhdGFsRXJyb3JTQVhGdW5jIj5mYXRhbEVycm9yU0FYRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3dhcm5pbmdTQVhGdW5jIj53YXJuaW5nU0FYRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sUGFyc2VyRXJyb3IiPnhtbFBhcnNlckVycm9yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxQYXJzZXJWYWxpZGl0eUVycm9yIj54bWxQYXJzZXJWYWxpZGl0eUVycm9yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxQYXJzZXJWYWxpZGl0eVdhcm5pbmciPnhtbFBhcnNlclZhbGlkaXR5V2FybmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sUGFyc2VyV2FybmluZyI+eG1sUGFyc2VyV2FybmluZzwvYT48YnIgLz4KKzwvZGQ+PGR0PkRpc3BsYXlzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxQYXJzZXJQcmludEZpbGVDb250ZXh0Ij54bWxQYXJzZXJQcmludEZpbGVDb250ZXh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxQYXJzZXJQcmludEZpbGVJbmZvIj54bWxQYXJzZXJQcmludEZpbGVJbmZvPC9hPjxiciAvPgorPC9kZD48ZHQ+RG9jQm9vazwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiQ3JlYXRlUHVzaFBhcnNlckN0eHQiPmRvY2JDcmVhdGVQdXNoUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI2luaXRkb2NiRGVmYXVsdFNBWEhhbmRsZXIiPmluaXRkb2NiRGVmYXVsdFNBWEhhbmRsZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMkluaXREb2NiRGVmYXVsdFNBWEhhbmRsZXIiPnhtbFNBWDJJbml0RG9jYkRlZmF1bHRTQVhIYW5kbGVyPC9hPjxiciAvPgorPC9kZD48ZHQ+RG9jYm9vazwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfRE9DQl9FTkFCTEVEIj5MSUJYTUxfRE9DQl9FTkFCTEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjX3htbFBhcnNlckN0eHQiPl94bWxQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtRE9DQnBhcnNlci5odG1sI2RvY2JQYXJzZUZpbGUiPmRvY2JQYXJzZUZpbGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5Eb2N1bWVudDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxEb2NEdW1wRm9ybWF0TWVtb3J5RW5jIj54bWxEb2NEdW1wRm9ybWF0TWVtb3J5RW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERvY0R1bXBNZW1vcnlFbmMiPnhtbERvY0R1bXBNZW1vcnlFbmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUdldEJhc2UiPnhtbE5vZGVHZXRCYXNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VTRERlY2wiPnhtbFBhcnNlU0REZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZEN0eHROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZSI+eG1sVmFsaWRDdHh0Tm9ybWFsaXplQXR0cmlidXRlVmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14aW5jbHVkZS5odG1sI3htbFhJbmNsdWRlTmV3Q29udGV4dCI+eG1sWEluY2x1ZGVOZXdDb250ZXh0PC9hPjxiciAvPgorPC9kZD48ZHQ+RG9lczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI2hhc0V4dGVybmFsU3Vic2V0Ij5oYXNFeHRlcm5hbFN1YnNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI2hhc0V4dGVybmFsU3Vic2V0U0FYRnVuYyI+aGFzRXh0ZXJuYWxTdWJzZXRTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjaGFzSW50ZXJuYWxTdWJzZXQiPmhhc0ludGVybmFsU3Vic2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjaGFzSW50ZXJuYWxTdWJzZXRTQVhGdW5jIj5oYXNJbnRlcm5hbFN1YnNldFNBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sQ2hhckluUmFuZ2UiPnhtbENoYXJJblJhbmdlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJIYXNFeHRlcm5hbFN1YnNldCI+eG1sU0FYMkhhc0V4dGVybmFsU3Vic2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJIYXNJbnRlcm5hbFN1YnNldCI+eG1sU0FYMkhhc0ludGVybmFsU3Vic2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbExpc3QiPnhtbFNoZWxsTGlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRDdHh0Tm9ybWFsaXplQXR0cmlidXRlVmFsdWUiPnhtbFZhbGlkQ3R4dE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlIj54bWxWYWxpZE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZURvY3VtZW50RmluYWwiPnhtbFZhbGlkYXRlRG9jdW1lbnRGaW5hbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVEdGRGaW5hbCI+eG1sVmFsaWRhdGVEdGRGaW5hbDwvYT48YnIgLz4KKzwvZGQ+PGR0PkRvdWdsYXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxVUklFc2NhcGUiPnhtbFVSSUVzY2FwZTwvYT48YnIgLz4KKzwvZGQ+PGR0PkRyYWZ0PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VOYW1lc3BhY2UiPnhtbFBhcnNlTmFtZXNwYWNlPC9hPjxiciAvPgorPC9kZD48ZHQ+RHREPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxHZXREdGRBdHRyRGVzYyI+eG1sR2V0RHRkQXR0ckRlc2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEdldER0ZEVsZW1lbnREZXNjIj54bWxHZXREdGRFbGVtZW50RGVzYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sR2V0RHRkTm90YXRpb25EZXNjIj54bWxHZXREdGROb3RhdGlvbkRlc2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEdldER0ZFFBdHRyRGVzYyI+eG1sR2V0RHRkUUF0dHJEZXNjPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxHZXREdGRRRWxlbWVudERlc2MiPnhtbEdldER0ZFFFbGVtZW50RGVzYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVEdGQiPnhtbFZhbGlkYXRlRHRkPC9hPjxiciAvPgorPC9kZD48ZHQ+RHREczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhsaW5rLmh0bWwjeGxpbmtJc0xpbmsiPnhsaW5rSXNMaW5rPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxJc01peGVkRWxlbWVudCI+eG1sSXNNaXhlZEVsZW1lbnQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5EdGQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI194bWxWYWxpZEN0eHQiPl94bWxWYWxpZEN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkR2V0VmFsaWRFbGVtZW50cyI+eG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzPC9hPjxiciAvPgorPC9kZD48ZHQ+RHVtcHM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyRHVtcCI+eG1sQnVmZmVyRHVtcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTRORG9jRHVtcE1lbW9yeSI+eG1sQzE0TkRvY0R1bXBNZW1vcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jMTRuLmh0bWwjeG1sQzE0TkRvY1NhdmUiPnhtbEMxNE5Eb2NTYXZlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtYzE0bi5odG1sI3htbEMxNE5Eb2NTYXZlVG8iPnhtbEMxNE5Eb2NTYXZlVG88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jMTRuLmh0bWwjeG1sQzE0TkV4ZWN1dGUiPnhtbEMxNE5FeGVjdXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxEZWJ1Z0R1bXBBdHRyIj54bWxEZWJ1Z0R1bXBBdHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxEZWJ1Z0R1bXBBdHRyTGlzdCI+eG1sRGVidWdEdW1wQXR0ckxpc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbERlYnVnRHVtcERURCI+eG1sRGVidWdEdW1wRFREPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxEZWJ1Z0R1bXBEb2N1bWVudCI+eG1sRGVidWdEdW1wRG9jdW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbERlYnVnRHVtcERvY3VtZW50SGVhZCI+eG1sRGVidWdEdW1wRG9jdW1lbnRIZWFkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxEZWJ1Z0R1bXBFbnRpdGllcyI+eG1sRGVidWdEdW1wRW50aXRpZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbERlYnVnRHVtcE5vZGUiPnhtbERlYnVnRHVtcE5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbERlYnVnRHVtcE5vZGVMaXN0Ij54bWxEZWJ1Z0R1bXBOb2RlTGlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sRGVidWdEdW1wT25lTm9kZSI+eG1sRGVidWdEdW1wT25lTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sRGVidWdEdW1wU3RyaW5nIj54bWxEZWJ1Z0R1bXBTdHJpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRGVidWdEdW1wQ29tcEV4cHIiPnhtbFhQYXRoRGVidWdEdW1wQ29tcEV4cHI8L2E+PGJyIC8+Cis8L2RkPjxkdD5EdXBsaWNhdGU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaEFkZEVudHJ5Ij54bWxIYXNoQWRkRW50cnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaEFkZEVudHJ5MiI+eG1sSGFzaEFkZEVudHJ5MjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoQWRkRW50cnkzIj54bWxIYXNoQWRkRW50cnkzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3REdXAiPnhtbExpc3REdXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVsZW1lbnRNaXhlZENvbnRlbnREZWNsIj54bWxQYXJzZUVsZW1lbnRNaXhlZENvbnRlbnREZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZUVsZW1lbnREZWNsIj54bWxWYWxpZGF0ZUVsZW1lbnREZWNsPC9hPjxiciAvPgorPC9kZD48L2RsPjxoMj5MZXR0ZXIgRTo8L2gyPjxkbD48ZHQ+RUxFTUVOVDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNfeG1sRWxlbWVudENvbnRlbnQiPl94bWxFbGVtZW50Q29udGVudDwvYT48YnIgLz4KKzwvZGQ+PGR0PkVNUFRZPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbGVtZW50Q29udGVudERlY2wiPnhtbFBhcnNlRWxlbWVudENvbnRlbnREZWNsPC9hPjxiciAvPgorPC9kZD48ZHQ+RU5USVRJRVM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUF0dHJpYnV0ZVR5cGUiPnhtbFBhcnNlQXR0cmlidXRlVHlwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVBdHRyaWJ1dGVWYWx1ZSI+eG1sVmFsaWRhdGVBdHRyaWJ1dGVWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVEdGRGaW5hbCI+eG1sVmFsaWRhdGVEdGRGaW5hbDwvYT48YnIgLz4KKzwvZGQ+PGR0PkVOVElUWTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sUGFyc2VFbnRpdHlSZWYiPmh0bWxQYXJzZUVudGl0eVJlZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQXR0cmlidXRlVHlwZSI+eG1sUGFyc2VBdHRyaWJ1dGVUeXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbnRpdHlSZWYiPnhtbFBhcnNlRW50aXR5UmVmPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbnRpdHlWYWx1ZSI+eG1sUGFyc2VFbnRpdHlWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVBdHRyaWJ1dGVWYWx1ZSI+eG1sVmFsaWRhdGVBdHRyaWJ1dGVWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVEdGRGaW5hbCI+eG1sVmFsaWRhdGVEdGRGaW5hbDwvYT48YnIgLz4KKzwvZGQ+PGR0PkVOVElUWV9SRUY8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmR2V0Tm9kZUNvbnRlbnQiPnhtbEJ1ZkdldE5vZGVDb250ZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVCdWZHZXRDb250ZW50Ij54bWxOb2RlQnVmR2V0Q29udGVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlR2V0Q29udGVudCI+eG1sTm9kZUdldENvbnRlbnQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5FTlRJVFlfUkVGczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdDaGlsZCI+eG1sTmV3Q2hpbGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUxpc3RHZXRSYXdTdHJpbmciPnhtbE5vZGVMaXN0R2V0UmF3U3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVMaXN0R2V0U3RyaW5nIj54bWxOb2RlTGlzdEdldFN0cmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTdHJpbmdHZXROb2RlTGlzdCI+eG1sU3RyaW5nR2V0Tm9kZUxpc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU3RyaW5nTGVuR2V0Tm9kZUxpc3QiPnhtbFN0cmluZ0xlbkdldE5vZGVMaXN0PC9hPjxiciAvPgorPC9kZD48ZHQ+RVRhZzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sUGFyc2VFbGVtZW50Ij5odG1sUGFyc2VFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbGVtZW50Ij54bWxQYXJzZUVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVuZFRhZyI+eG1sUGFyc2VFbmRUYWc8L2E+PGJyIC8+Cis8L2RkPjxkdD5FWFNMVDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhEaWZmZXJlbmNlIj54bWxYUGF0aERpZmZlcmVuY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRGlzdGluY3QiPnhtbFhQYXRoRGlzdGluY3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRGlzdGluY3RTb3J0ZWQiPnhtbFhQYXRoRGlzdGluY3RTb3J0ZWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoSGFzU2FtZU5vZGVzIj54bWxYUGF0aEhhc1NhbWVOb2RlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhJbnRlcnNlY3Rpb24iPnhtbFhQYXRoSW50ZXJzZWN0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aExlYWRpbmciPnhtbFhQYXRoTGVhZGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhMZWFkaW5nU29ydGVkIj54bWxYUGF0aExlYWRpbmdTb3J0ZWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9kZUxlYWRpbmciPnhtbFhQYXRoTm9kZUxlYWRpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9kZUxlYWRpbmdTb3J0ZWQiPnhtbFhQYXRoTm9kZUxlYWRpbmdTb3J0ZWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9kZVRyYWlsaW5nIj54bWxYUGF0aE5vZGVUcmFpbGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb2RlVHJhaWxpbmdTb3J0ZWQiPnhtbFhQYXRoTm9kZVRyYWlsaW5nU29ydGVkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFRyYWlsaW5nIj54bWxYUGF0aFRyYWlsaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFRyYWlsaW5nU29ydGVkIj54bWxYUGF0aFRyYWlsaW5nU29ydGVkPC9hPjxiciAvPgorPC9kZD48ZHQ+RWxlbWVudDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNfeG1sQXR0cmlidXRlIj5feG1sQXR0cmlidXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI194bWxFbGVtZW50Ij5feG1sRWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNfeG1sRWxlbWVudENvbnRlbnQiPl94bWxFbGVtZW50Q29udGVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sTm9kZVN0YXR1cyI+aHRtbE5vZGVTdGF0dXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRmlyc3RFbGVtZW50Q2hpbGQiPnhtbEZpcnN0RWxlbWVudENoaWxkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbExhc3RFbGVtZW50Q2hpbGQiPnhtbExhc3RFbGVtZW50Q2hpbGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUF0dHJpYnV0ZVR5cGUiPnhtbFBhcnNlQXR0cmlidXRlVHlwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRG9jVHlwZURlY2wiPnhtbFBhcnNlRG9jVHlwZURlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVsZW1lbnQiPnhtbFBhcnNlRWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2wiPnhtbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVsZW1lbnRDb250ZW50RGVjbCI+eG1sUGFyc2VFbGVtZW50Q29udGVudERlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVsZW1lbnREZWNsIj54bWxQYXJzZUVsZW1lbnREZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbGVtZW50TWl4ZWRDb250ZW50RGVjbCI+eG1sUGFyc2VFbGVtZW50TWl4ZWRDb250ZW50RGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJSZWFkU3RyaW5nIj54bWxUZXh0UmVhZGVyUmVhZFN0cmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVFbGVtZW50RGVjbCI+eG1sVmFsaWRhdGVFbGVtZW50RGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVPbmVFbGVtZW50Ij54bWxWYWxpZGF0ZU9uZUVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlUm9vdCI+eG1sVmFsaWRhdGVSb290PC9hPjxiciAvPgorPC9kZD48ZHQ+RWxlbWVudFRhYmxlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxUYWdMb29rdXAiPmh0bWxUYWdMb29rdXA8L2E+PGJyIC8+Cis8L2RkPjxkdD5FbXB0aWVzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEVtcHR5Tm9kZVNldCI+eG1sWFBhdGhFbXB0eU5vZGVTZXQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5FbXB0eUVsZW1UYWc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlRWxlbWVudCI+aHRtbFBhcnNlRWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRWxlbWVudCI+eG1sUGFyc2VFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VTdGFydFRhZyI+eG1sUGFyc2VTdGFydFRhZzwvYT48YnIgLz4KKzwvZGQ+PGR0PkVtcHR5RWxlbWVudDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlU3RhcnRUYWciPnhtbFBhcnNlU3RhcnRUYWc8L2E+PGJyIC8+Cis8L2RkPjxkdD5FbmNOYW1lPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbmNOYW1lIj54bWxQYXJzZUVuY05hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVuY29kaW5nRGVjbCI+eG1sUGFyc2VFbmNvZGluZ0RlY2w8L2E+PGJyIC8+Cis8L2RkPjxkdD5FbmNhcHN1bGF0aW5nPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVHZXRCYXNlIj54bWxOb2RlR2V0QmFzZTwvYT48YnIgLz4KKzwvZGQ+PGR0PkVuY2xvc2VkQWxwaGFudW1lcmljczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0VuY2xvc2VkQWxwaGFudW1lcmljcyI+eG1sVUNTSXNFbmNsb3NlZEFscGhhbnVtZXJpY3M8L2E+PGJyIC8+Cis8L2RkPjxkdD5FbmNsb3NlZENKS0xldHRlcnNhbmRNb250aHM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNFbmNsb3NlZENKS0xldHRlcnNhbmRNb250aHMiPnhtbFVDU0lzRW5jbG9zZWRDSktMZXR0ZXJzYW5kTW9udGhzPC9hPjxiciAvPgorPC9kZD48ZHQ+RW5jb2Rpbmc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI2h0bWxHZXRNZXRhRW5jb2RpbmciPmh0bWxHZXRNZXRhRW5jb2Rpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbEdldENoYXJFbmNvZGluZ05hbWUiPnhtbEdldENoYXJFbmNvZGluZ05hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbFBhcnNlQ2hhckVuY29kaW5nIj54bWxQYXJzZUNoYXJFbmNvZGluZzwvYT48YnIgLz4KKzwvZGQ+PGR0PkVuY29kaW5nRGVjbDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRW5jb2RpbmdEZWNsIj54bWxQYXJzZUVuY29kaW5nRGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlVGV4dERlY2wiPnhtbFBhcnNlVGV4dERlY2w8L2E+PGJyIC8+Cis8L2RkPjxkdD5FbmNvZGluZ0RlY2w/PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VYTUxEZWNsIj54bWxQYXJzZVhNTERlY2w8L2E+PGJyIC8+Cis8L2RkPjxkdD5FbmQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjX3htbERvYyI+X3htbERvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNfeG1sRHRkIj5feG1sRHRkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI194bWxOb2RlIj5feG1sTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJHZXRSZW1haW5kZXIiPnhtbFRleHRSZWFkZXJHZXRSZW1haW5kZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyRW5kQXR0cmlidXRlIj54bWxUZXh0V3JpdGVyRW5kQXR0cmlidXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlckVuZENEQVRBIj54bWxUZXh0V3JpdGVyRW5kQ0RBVEE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyRW5kQ29tbWVudCI+eG1sVGV4dFdyaXRlckVuZENvbW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyRW5kRFREIj54bWxUZXh0V3JpdGVyRW5kRFREPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlckVuZERUREF0dGxpc3QiPnhtbFRleHRXcml0ZXJFbmREVERBdHRsaXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlckVuZERUREVsZW1lbnQiPnhtbFRleHRXcml0ZXJFbmREVERFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlckVuZERUREVudGl0eSI+eG1sVGV4dFdyaXRlckVuZERUREVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJFbmREb2N1bWVudCI+eG1sVGV4dFdyaXRlckVuZERvY3VtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlckVuZEVsZW1lbnQiPnhtbFRleHRXcml0ZXJFbmRFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlckVuZFBJIj54bWxUZXh0V3JpdGVyRW5kUEk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyRnVsbEVuZEVsZW1lbnQiPnhtbFRleHRXcml0ZXJGdWxsRW5kRWxlbWVudDwvYT48YnIgLz4KKzwvZGQ+PGR0PkVuZC1vZi1MaW5lPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sQ3VycmVudENoYXIiPnhtbEN1cnJlbnRDaGFyPC9hPjxiciAvPgorPC9kZD48ZHQ+RW5zdXJlczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwUmVjb25jaWxlTmFtZXNwYWNlcyI+eG1sRE9NV3JhcFJlY29uY2lsZU5hbWVzcGFjZXM8L2E+PGJyIC8+Cis8L2RkPjxkdD5FbnRpdGllczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sR2V0Q2hhckVuY29kaW5nTmFtZSI+eG1sR2V0Q2hhckVuY29kaW5nTmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sUGFyc2VDaGFyRW5jb2RpbmciPnhtbFBhcnNlQ2hhckVuY29kaW5nPC9hPjxiciAvPgorPC9kZD48ZHQ+RW50aXRpZXNUYWJsZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sRW50aXR5TG9va3VwIj5odG1sRW50aXR5TG9va3VwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxFbnRpdHlWYWx1ZUxvb2t1cCI+aHRtbEVudGl0eVZhbHVlTG9va3VwPC9hPjxiciAvPgorPC9kZD48ZHQ+RW50aXR5PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCNfeG1sRW50aXR5Ij5feG1sRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZkdldE5vZGVDb250ZW50Ij54bWxCdWZHZXROb2RlQ29udGVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbE5ld0VudGl0eUlucHV0U3RyZWFtIj54bWxOZXdFbnRpdHlJbnB1dFN0cmVhbTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlQnVmR2V0Q29udGVudCI+eG1sTm9kZUJ1ZkdldENvbnRlbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUdldEJhc2UiPnhtbE5vZGVHZXRCYXNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVHZXRDb250ZW50Ij54bWxOb2RlR2V0Q29udGVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQXR0cmlidXRlIj54bWxQYXJzZUF0dHJpYnV0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQXR0cmlidXRlVHlwZSI+eG1sUGFyc2VBdHRyaWJ1dGVUeXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbnRpdHlSZWYiPnhtbFBhcnNlRW50aXR5UmVmPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VQRVJlZmVyZW5jZSI+eG1sUGFyc2VQRVJlZmVyZW5jZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlckhhbmRsZVBFUmVmZXJlbmNlIj54bWxQYXJzZXJIYW5kbGVQRVJlZmVyZW5jZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlckhhbmRsZVJlZmVyZW5jZSI+eG1sUGFyc2VySGFuZGxlUmVmZXJlbmNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZUF0dHJpYnV0ZVZhbHVlIj54bWxWYWxpZGF0ZUF0dHJpYnV0ZVZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZU9uZUF0dHJpYnV0ZSI+eG1sVmFsaWRhdGVPbmVBdHRyaWJ1dGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlT25lTmFtZXNwYWNlIj54bWxWYWxpZGF0ZU9uZU5hbWVzcGFjZTwvYT48YnIgLz4KKzwvZGQ+PGR0PkVudGl0eURlY2w8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVudGl0eURlY2wiPnhtbFBhcnNlRW50aXR5RGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlTWFya3VwRGVjbCI+eG1sUGFyc2VNYXJrdXBEZWNsPC9hPjxiciAvPgorPC9kZD48ZHQ+RW50aXR5RGVmPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbnRpdHlEZWNsIj54bWxQYXJzZUVudGl0eURlY2w8L2E+PGJyIC8+Cis8L2RkPjxkdD5FbnRpdHlSZWY8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlRW50aXR5UmVmIj5odG1sUGFyc2VFbnRpdHlSZWY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxEZWNvZGVFbnRpdGllcyI+eG1sRGVjb2RlRW50aXRpZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVudGl0eVJlZiI+eG1sUGFyc2VFbnRpdHlSZWY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZVJlZmVyZW5jZSI+eG1sUGFyc2VSZWZlcmVuY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZXJIYW5kbGVSZWZlcmVuY2UiPnhtbFBhcnNlckhhbmRsZVJlZmVyZW5jZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFN0cmluZ0RlY29kZUVudGl0aWVzIj54bWxTdHJpbmdEZWNvZGVFbnRpdGllczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFN0cmluZ0xlbkRlY29kZUVudGl0aWVzIj54bWxTdHJpbmdMZW5EZWNvZGVFbnRpdGllczwvYT48YnIgLz4KKzwvZGQ+PGR0PkVudGl0eVJlZmVyZW5jZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJSZWFkQXR0cmlidXRlVmFsdWUiPnhtbFRleHRSZWFkZXJSZWFkQXR0cmlidXRlVmFsdWU8L2E+PGJyIC8+Cis8L2RkPjxkdD5FbnRpdHlWYWx1ZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRW50aXR5RGVjbCI+eG1sUGFyc2VFbnRpdHlEZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbnRpdHlWYWx1ZSI+eG1sUGFyc2VFbnRpdHlWYWx1ZTwvYT48YnIgLz4KKzwvZGQ+PGR0PkVudW1lcmF0ZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVudW1lcmF0ZWRUeXBlIj54bWxQYXJzZUVudW1lcmF0ZWRUeXBlPC9hPjxiciAvPgorPC9kZD48ZHQ+RW51bWVyYXRlZFR5cGU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUF0dHJpYnV0ZVR5cGUiPnhtbFBhcnNlQXR0cmlidXRlVHlwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRW51bWVyYXRlZFR5cGUiPnhtbFBhcnNlRW51bWVyYXRlZFR5cGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5FbnVtZXJhdGlvbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNfeG1sRW51bWVyYXRpb24iPl94bWxFbnVtZXJhdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRW51bWVyYXRlZFR5cGUiPnhtbFBhcnNlRW51bWVyYXRlZFR5cGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVudW1lcmF0aW9uVHlwZSI+eG1sUGFyc2VFbnVtZXJhdGlvblR5cGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlQXR0cmlidXRlRGVjbCI+eG1sVmFsaWRhdGVBdHRyaWJ1dGVEZWNsPC9hPjxiciAvPgorPC9kZD48ZHQ+RXF1YWw8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJRRXF1YWwiPnhtbFN0clFFcXVhbDwvYT48YnIgLz4KKzwvZGQ+PGR0PkVzY2FwaW5nPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sVVJJRXNjYXBlIj54bWxVUklFc2NhcGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5FdGhpb3BpYzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0V0aGlvcGljIj54bWxVQ1NJc0V0aGlvcGljPC9hPjxiciAvPgorPC9kZD48ZHQ+RXZhbHVhdGU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29tcGlsZWRFdmFsIj54bWxYUGF0aENvbXBpbGVkRXZhbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhFdmFsIj54bWxYUGF0aEV2YWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoRXZhbEV4cHJlc3Npb24iPnhtbFhQYXRoRXZhbEV4cHJlc3Npb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoRXZhbFByZWRpY2F0ZSI+eG1sWFBhdGhFdmFsUHJlZGljYXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEV2YWx1YXRlUHJlZGljYXRlUmVzdWx0Ij54bWxYUGF0aEV2YWx1YXRlUHJlZGljYXRlUmVzdWx0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE5vZGVFdmFsIj54bWxYUGF0aE5vZGVFdmFsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyRXZhbCI+eG1sWFB0ckV2YWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJFdmFsUmFuZ2VQcmVkaWNhdGUiPnhtbFhQdHJFdmFsUmFuZ2VQcmVkaWNhdGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5FdmFsdWF0ZXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBFeHBEZXJpdmUiPnhtbEV4cEV4cERlcml2ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUlzQnVpbHRJblR5cGVGYWNldCI+eG1sU2NoZW1hSXNCdWlsdEluVHlwZUZhY2V0PC9hPjxiciAvPgorPC9kZD48ZHQ+RXZlcnl0aGluZzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI194bWxQYXJzZXJDdHh0Ij5feG1sUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI3NldERvY3VtZW50TG9jYXRvciI+c2V0RG9jdW1lbnRMb2NhdG9yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjc2V0RG9jdW1lbnRMb2NhdG9yU0FYRnVuYyI+c2V0RG9jdW1lbnRMb2NhdG9yU0FYRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyU2V0RG9jdW1lbnRMb2NhdG9yIj54bWxTQVgyU2V0RG9jdW1lbnRMb2NhdG9yPC9hPjxiciAvPgorPC9kZD48ZHQ+RXhhbWluZXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxIYXNGZWF0dXJlIj54bWxIYXNGZWF0dXJlPC9hPjxiciAvPgorPC9kZD48ZHQ+RXhjbHVzaXZlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtYzE0bi5odG1sI3htbEMxNE5Eb2NEdW1wTWVtb3J5Ij54bWxDMTRORG9jRHVtcE1lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTRORG9jU2F2ZSI+eG1sQzE0TkRvY1NhdmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jMTRuLmh0bWwjeG1sQzE0TkRvY1NhdmVUbyI+eG1sQzE0TkRvY1NhdmVUbzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTRORXhlY3V0ZSI+eG1sQzE0TkV4ZWN1dGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5FeGlzdGluZzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQWRkRW5jb2RpbmdBbGlhcyI+eG1sQWRkRW5jb2RpbmdBbGlhczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoUmVtb3ZlRW50cnkiPnhtbEhhc2hSZW1vdmVFbnRyeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoUmVtb3ZlRW50cnkyIj54bWxIYXNoUmVtb3ZlRW50cnkyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hSZW1vdmVFbnRyeTMiPnhtbEhhc2hSZW1vdmVFbnRyeTM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFVwZGF0ZUVudHJ5Ij54bWxIYXNoVXBkYXRlRW50cnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFVwZGF0ZUVudHJ5MiI+eG1sSGFzaFVwZGF0ZUVudHJ5MjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoVXBkYXRlRW50cnkzIj54bWxIYXNoVXBkYXRlRW50cnkzPC9hPjxiciAvPgorPC9kZD48ZHQ+RXhwPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YUNvbXBpbGUiPnhtbEF1dG9tYXRhQ29tcGlsZTwvYT48YnIgLz4KKzwvZGQ+PGR0PkV4cGVyaW1lbnRhbDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sTm9kZVN0YXR1cyI+aHRtbE5vZGVTdGF0dXM8L2E+PGJyIC8+Cis8L2RkPjxkdD5FeHByPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aEV2YWxQcmVkaWNhdGUiPnhtbFhQYXRoRXZhbFByZWRpY2F0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhFdmFsdWF0ZVByZWRpY2F0ZVJlc3VsdCI+eG1sWFBhdGhFdmFsdWF0ZVByZWRpY2F0ZVJlc3VsdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ckV2YWxSYW5nZVByZWRpY2F0ZSI+eG1sWFB0ckV2YWxSYW5nZVByZWRpY2F0ZTwvYT48YnIgLz4KKzwvZGQ+PGR0PkV4cHJlc3NlczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbEJ1aWxkUmVsYXRpdmVVUkkiPnhtbEJ1aWxkUmVsYXRpdmVVUkk8L2E+PGJyIC8+Cis8L2RkPjxkdD5FeHByZXNzaW9uPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aEV2YWxQcmVkaWNhdGUiPnhtbFhQYXRoRXZhbFByZWRpY2F0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhFdmFsdWF0ZVByZWRpY2F0ZVJlc3VsdCI+eG1sWFBhdGhFdmFsdWF0ZVByZWRpY2F0ZVJlc3VsdDwvYT48YnIgLz4KKzwvZGQ+PGR0PkV4dGVuZGVyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjSVNfRVhURU5ERVIiPklTX0VYVEVOREVSPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sTmFtZXNwYWNlUGFyc2VOQ05hbWUiPnhtbE5hbWVzcGFjZVBhcnNlTkNOYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VOYW1lIj54bWxQYXJzZU5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxTY2FuTmFtZSI+eG1sU2Nhbk5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUGFyc2VOQ05hbWUiPnhtbFhQYXRoUGFyc2VOQ05hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUGFyc2VOYW1lIj54bWxYUGF0aFBhcnNlTmFtZTwvYT48YnIgLz4KKzwvZGQ+PGR0PkV4dGVybmFsPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI194bWxEdGQiPl94bWxEdGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI194bWxFbnRpdHkiPl94bWxFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQUNhdGFsb2dSZXNvbHZlIj54bWxBQ2F0YWxvZ1Jlc29sdmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ0xvY2FsUmVzb2x2ZSI+eG1sQ2F0YWxvZ0xvY2FsUmVzb2x2ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nUmVzb2x2ZSI+eG1sQ2F0YWxvZ1Jlc29sdmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxFeHRlcm5hbEVudGl0eUxvYWRlciI+eG1sRXh0ZXJuYWxFbnRpdHlMb2FkZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUF0dHJpYnV0ZSI+eG1sUGFyc2VBdHRyaWJ1dGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZURURCI+eG1sUGFyc2VEVEQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUV4dGVybmFsSUQiPnhtbFBhcnNlRXh0ZXJuYWxJRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNBWFBhcnNlRFREIj54bWxTQVhQYXJzZURURDwvYT48YnIgLz4KKzwvZGQ+PGR0PkV4dGVybmFsSUQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZURvY1R5cGVEZWNsIj54bWxQYXJzZURvY1R5cGVEZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbnRpdHlEZWNsIj54bWxQYXJzZUVudGl0eURlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUV4dGVybmFsSUQiPnhtbFBhcnNlRXh0ZXJuYWxJRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlTm90YXRpb25EZWNsIj54bWxQYXJzZU5vdGF0aW9uRGVjbDwvYT48YnIgLz4KKzwvZGQ+PGR0PkV4dHJhY3Q8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdFeGVjRXJySW5mbyI+eG1sUmVnRXhlY0VyckluZm88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdFeGVjTmV4dFZhbHVlcyI+eG1sUmVnRXhlY05leHRWYWx1ZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFHZXRGYWNldFZhbHVlQXNVTG9uZyI+eG1sU2NoZW1hR2V0RmFjZXRWYWx1ZUFzVUxvbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJzdWIiPnhtbFN0cnN1YjwvYT48YnIgLz4KKzwvZGQ+PC9kbD48aDIgYWxpZ249ImNlbnRlciI+PGEgaHJlZj0iQVBJY2h1bmswLmh0bWwiPkEtQjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMS5odG1sIj5DLUM8L2E+Cis8YSBocmVmPSJBUEljaHVuazIuaHRtbCI+RC1FPC9hPgorPGEgaHJlZj0iQVBJY2h1bmszLmh0bWwiPkYtSTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNC5odG1sIj5KLU48L2E+Cis8YSBocmVmPSJBUEljaHVuazUuaHRtbCI+Ty1QPC9hPgorPGEgaHJlZj0iQVBJY2h1bms2Lmh0bWwiPlEtUjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNy5odG1sIj5TLVM8L2E+Cis8YSBocmVmPSJBUEljaHVuazguaHRtbCI+VC1VPC9hPgorPGEgaHJlZj0iQVBJY2h1bms5Lmh0bWwiPlYtWDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTAuaHRtbCI+WS1hPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMS5odG1sIj5iLWI8L2E+Cis8YSBocmVmPSJBUEljaHVuazEyLmh0bWwiPmMtYzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTMuaHRtbCI+ZC1kPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNC5odG1sIj5lLWU8L2E+Cis8YSBocmVmPSJBUEljaHVuazE1Lmh0bWwiPmYtZjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTYuaHRtbCI+Zy1oPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNy5odG1sIj5pLWk8L2E+Cis8YSBocmVmPSJBUEljaHVuazE4Lmh0bWwiPmotbDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTkuaHRtbCI+bS1tPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMC5odG1sIj5uLW48L2E+Cis8YSBocmVmPSJBUEljaHVuazIxLmh0bWwiPm8tbzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjIuaHRtbCI+cC1wPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMy5odG1sIj5xLXI8L2E+Cis8YSBocmVmPSJBUEljaHVuazI0Lmh0bWwiPnMtczwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjUuaHRtbCI+dC10PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNi5odG1sIj51LXY8L2E+Cis8YSBocmVmPSJBUEljaHVuazI3Lmh0bWwiPnctdzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjguaHRtbCI+eC14PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyOS5odG1sIj55LXo8L2E+Cis8L2gyPjxwPjxhIGhyZWY9ImJ1Z3MuaHRtbCI+RGFuaWVsIFZlaWxsYXJkPC9hPjwvcD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvQVBJY2h1bmsyMC5odG1sIGIvbGlieG1sMi9kb2MvQVBJY2h1bmsyMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAzMTcwNjYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9BUEljaHVuazIwLmh0bWwKQEAgLTAsMCArMSwzMzAgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+PGxpbmsgcmVsPSJTSE9SVENVVCBJQ09OIiBocmVmPSIvZmF2aWNvbi5pY28iIC8+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK1REIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitCT0RZIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2E7IG1hcmdpbi10b3A6IDJlbTsgbWFyZ2luLWxlZnQ6IDBlbTsgbWFyZ2luLXJpZ2h0OiAwZW19CitIMSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDIge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gzIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitBOmxpbmssIEE6dmlzaXRlZCwgQTphY3RpdmUgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB9Cis8L3N0eWxlPjx0aXRsZT5BUEkgQWxwaGFiZXRpYyBJbmRleCBuLW4gZm9yIGxpYnhtbDI8L3RpdGxlPjwvaGVhZD48Ym9keSBiZ2NvbG9yPSIjOGI3NzY1IiB0ZXh0PSIjMDAwMDAwIiBsaW5rPSIjYTA2MDYwIiB2bGluaz0iIzAwMDAwMCI+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjEwMCUiIGNlbGxwYWRkaW5nPSI1IiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCB3aWR0aD0iMTIwIj48YSBocmVmPSJodHRwOi8vc3dwYXQuZmZpaS5vcmcvIj48aW1nIHNyYz0iZXBhdGVudHMucG5nIiBhbHQ9IkFjdGlvbiBhZ2FpbnN0IHNvZnR3YXJlIHBhdGVudHMiIC8+PC9hPjwvdGQ+PHRkIHdpZHRoPSIxODAiPjxhIGhyZWY9Imh0dHA6Ly93d3cuZ25vbWUub3JnLyI+PGltZyBzcmM9Imdub21lMi5wbmciIGFsdD0iR25vbWUyIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1N0YXR1cyI+PGltZyBzcmM9InczYy5wbmciIGFsdD0iVzNDIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cucmVkaGF0LmNvbS8iPjxpbWcgc3JjPSJyZWRoYXQuZ2lmIiBhbHQ9IlJlZCBIYXQgTG9nbyIgLz48L2E+PGRpdiBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnLyI+PGltZyBzcmM9IkxpYnhtbDItTG9nby0xODB4MTY4LmdpZiIgYWx0PSJNYWRlIHdpdGggTGlieG1sMiBMb2dvIiAvPjwvYT48L2Rpdj48L3RkPjx0ZD48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iOTAlIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyIgYmdjb2xvcj0iI2ZmZmFjZCI+PHRyPjx0ZCBhbGlnbj0iY2VudGVyIj48aDE+VGhlIFhNTCBDIHBhcnNlciBhbmQgdG9vbGtpdCBvZiBHbm9tZTwvaDE+PGgyPkFQSSBBbHBoYWJldGljIEluZGV4IG4tbiBmb3IgbGlieG1sMjwvaDI+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjQiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiIHdpZHRoPSIxMDAlIj48dHI+PHRkIHZhbGlnbj0idG9wIiB3aWR0aD0iMjAwIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5EZXZlbG9wZXIgTWVudTwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48Zm9ybSBhY3Rpb249InNlYXJjaC5waHAiIGVuY3R5cGU9ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIgbWV0aG9kPSJnZXQiPjxpbnB1dCBuYW1lPSJxdWVyeSIgdHlwZT0idGV4dCIgc2l6ZT0iMjAiIHZhbHVlPSIiIC8+PGlucHV0IG5hbWU9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU2VhcmNoIC4uLiIgLz48L2Zvcm0+PHVsPjxsaT48YSBocmVmPSJpbmRleC5odG1sIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+TWFpbiBNZW51PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0bWwvaW5kZXguaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPlJlZmVyZW5jZSBNYW51YWw8L2E+PC9saT48bGk+PGEgaHJlZj0iZXhhbXBsZXMvaW5kZXguaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPkNvZGUgRXhhbXBsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iZ3VpZGVsaW5lcy5odG1sIj5YTUwgR3VpZGVsaW5lczwvYT48L2xpPjxsaT48YSBocmVmPSJ0dXRvcmlhbC9pbmRleC5odG1sIj5UdXRvcmlhbDwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWxyZWFkZXIuaHRtbCI+VGhlIFJlYWRlciBJbnRlcmZhY2U8L2E+PC9saT48bGk+PGEgaHJlZj0iQ2hhbmdlTG9nLmh0bWwiPkNoYW5nZUxvZzwvYT48L2xpPjxsaT48YSBocmVmPSJYU0xULmh0bWwiPlhTTFQ8L2E+PC9saT48bGk+PGEgaHJlZj0icHl0aG9uLmh0bWwiPlB5dGhvbiBhbmQgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iYXJjaGl0ZWN0dXJlLmh0bWwiPmxpYnhtbDIgYXJjaGl0ZWN0dXJlPC9hPjwvbGk+PGxpPjxhIGhyZWY9InRyZWUuaHRtbCI+VGhlIHRyZWUgb3V0cHV0PC9hPjwvbGk+PGxpPjxhIGhyZWY9ImludGVyZmFjZS5odG1sIj5UaGUgU0FYIGludGVyZmFjZTwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWxtZW0uaHRtbCI+TWVtb3J5IE1hbmFnZW1lbnQ8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1saW8uaHRtbCI+SS9PIEludGVyZmFjZXM8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlicmFyeS5odG1sIj5UaGUgcGFyc2VyIGludGVyZmFjZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iZW50aXRpZXMuaHRtbCI+RW50aXRpZXMgb3Igbm8gZW50aXRpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0ibmFtZXNwYWNlcy5odG1sIj5OYW1lc3BhY2VzPC9hPjwvbGk+PGxpPjxhIGhyZWY9InVwZ3JhZGUuaHRtbCI+VXBncmFkaW5nIDEueCBjb2RlPC9hPjwvbGk+PGxpPjxhIGhyZWY9InRocmVhZHMuaHRtbCI+VGhyZWFkIHNhZmV0eTwvYT48L2xpPjxsaT48YSBocmVmPSJET00uaHRtbCI+RE9NIFByaW5jaXBsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iZXhhbXBsZS5odG1sIj5BIHJlYWwgZXhhbXBsZTwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWwuaHRtbCI+ZmxhdCBwYWdlPC9hPiwgPGEgaHJlZj0ic2l0ZS54c2wiPnN0eWxlc2hlZXQ8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5BUEkgSW5kZXhlczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9IkFQSWNodW5rMC5odG1sIj5BbHBoYWJldGljPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkFQSWNvbnN0cnVjdG9ycy5odG1sIj5Db25zdHJ1Y3RvcnM8L2E+PC9saT48bGk+PGEgaHJlZj0iQVBJZnVuY3Rpb25zLmh0bWwiPkZ1bmN0aW9ucy9UeXBlczwvYT48L2xpPjxsaT48YSBocmVmPSJBUElmaWxlcy5odG1sIj5Nb2R1bGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkFQSXN5bWJvbHMuaHRtbCI+U3ltYm9sczwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPlJlbGF0ZWQgbGlua3M8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSJodHRwOi8vbWFpbC5nbm9tZS5vcmcvYXJjaGl2ZXMveG1sLyI+TWFpbCBhcmNoaXZlPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9YU0xULyI+WFNMVCBsaWJ4c2x0PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9waGQuY3MudW5pYm8uaXQvZ2RvbWUyLyI+RE9NIGdkb21lMjwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmFsZWtzZXkuY29tL3htbHNlYy8iPlhNTC1EU2lnIHhtbHNlYzwvYT48L2xpPjxsaT48YSBocmVmPSJmdHA6Ly94bWxzb2Z0Lm9yZy8iPkZUUDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnpsYXRrb3ZpYy5jb20vcHJvamVjdHMvbGlieG1sLyI+V2luZG93cyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vb3BlbmNzdy5vcmcvcGFja2FnZXMvbGlieG1sMiI+U29sYXJpcyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmV4cGxhaW4uY29tLmF1L29zcy9saWJ4bWwyeHNsdC5odG1sIj5NYWNPc1ggYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2x4bWwuZGUvIj5seG1sIFB5dGhvbiBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vY3Bhbi51d2lubmlwZWcuY2EvZGlzdC9YTUwtTGliWE1MIj5QZXJsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWxwbHVzcGx1cy5zb3VyY2Vmb3JnZS5uZXQvIj5DKysgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56ZW5kLmNvbS9waHA1L2FydGljbGVzL3BocDUteG1scGhwLnBocCNIZWFkaW5nNCI+UEhQIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbGlieG1sMi1wYXMvIj5QYXNjYWwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbC5ydWJ5Zm9yZ2Uub3JnLyI+UnVieSBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vdGNseG1sLnNvdXJjZWZvcmdlLm5ldC8iPlRjbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2J1Z2xpc3QuY2dpP3Byb2R1Y3Q9bGlieG1sMiI+QnVnIFRyYWNrZXI8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48aDIgYWxpZ249ImNlbnRlciI+PGEgaHJlZj0iQVBJY2h1bmswLmh0bWwiPkEtQjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMS5odG1sIj5DLUM8L2E+Cis8YSBocmVmPSJBUEljaHVuazIuaHRtbCI+RC1FPC9hPgorPGEgaHJlZj0iQVBJY2h1bmszLmh0bWwiPkYtSTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNC5odG1sIj5KLU48L2E+Cis8YSBocmVmPSJBUEljaHVuazUuaHRtbCI+Ty1QPC9hPgorPGEgaHJlZj0iQVBJY2h1bms2Lmh0bWwiPlEtUjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNy5odG1sIj5TLVM8L2E+Cis8YSBocmVmPSJBUEljaHVuazguaHRtbCI+VC1VPC9hPgorPGEgaHJlZj0iQVBJY2h1bms5Lmh0bWwiPlYtWDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTAuaHRtbCI+WS1hPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMS5odG1sIj5iLWI8L2E+Cis8YSBocmVmPSJBUEljaHVuazEyLmh0bWwiPmMtYzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTMuaHRtbCI+ZC1kPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNC5odG1sIj5lLWU8L2E+Cis8YSBocmVmPSJBUEljaHVuazE1Lmh0bWwiPmYtZjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTYuaHRtbCI+Zy1oPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNy5odG1sIj5pLWk8L2E+Cis8YSBocmVmPSJBUEljaHVuazE4Lmh0bWwiPmotbDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTkuaHRtbCI+bS1tPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMC5odG1sIj5uLW48L2E+Cis8YSBocmVmPSJBUEljaHVuazIxLmh0bWwiPm8tbzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjIuaHRtbCI+cC1wPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMy5odG1sIj5xLXI8L2E+Cis8YSBocmVmPSJBUEljaHVuazI0Lmh0bWwiPnMtczwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjUuaHRtbCI+dC10PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNi5odG1sIj51LXY8L2E+Cis8YSBocmVmPSJBUEljaHVuazI3Lmh0bWwiPnctdzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjguaHRtbCI+eC14PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyOS5odG1sIj55LXo8L2E+Cis8L2gyPjxoMj5MZXR0ZXIgbjo8L2gyPjxkbD48ZHQ+bmFtZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbEFkZEVuY29kaW5nQWxpYXMiPnhtbEFkZEVuY29kaW5nQWxpYXM8L2E+PGJyIC8+Cis8L2RkPjxkdD5uYW1lczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNfeG1sRG9jIj5feG1sRG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjX3htbFBhcnNlckN0eHQiPl94bWxQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI194bWxTY2hlbWEiPl94bWxTY2hlbWE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNodG1sSW5pdEF1dG9DbG9zZSI+aHRtbEluaXRBdXRvQ2xvc2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxHZXRGZWF0dXJlc0xpc3QiPnhtbEdldEZlYXR1cmVzTGlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoQWRkRW50cnkiPnhtbEhhc2hBZGRFbnRyeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoU2NhbjMiPnhtbEhhc2hTY2FuMzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoU2NhbkZ1bGwzIj54bWxIYXNoU2NhbkZ1bGwzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VOb3RhdGlvblR5cGUiPnhtbFBhcnNlTm90YXRpb25UeXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZEdldFBvdGVudGlhbENoaWxkcmVuIj54bWxWYWxpZEdldFBvdGVudGlhbENoaWxkcmVuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZEdldFZhbGlkRWxlbWVudHMiPnhtbFZhbGlkR2V0VmFsaWRFbGVtZW50czwvYT48YnIgLz4KKzwvZGQ+PGR0Pm5hbWVzcGFjZS1iaW5kaW5nPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNldFByb3AiPnhtbFNldFByb3A8L2E+PGJyIC8+Cis8L2RkPjxkdD5uYW1lc3BhY2UtdXJpPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5hbWVzcGFjZVVSSUZ1bmN0aW9uIj54bWxYUGF0aE5hbWVzcGFjZVVSSUZ1bmN0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+bmFtZXNwYWNlOjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhpbmNsdWRlLmh0bWwjWElOQ0xVREVfTlMiPlhJTkNMVURFX05TPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGluY2x1ZGUuaHRtbCNYSU5DTFVERV9PTERfTlMiPlhJTkNMVURFX09MRF9OUzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQXR0cmlidXRlIj54bWxQYXJzZUF0dHJpYnV0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlU3RhcnRUYWciPnhtbFBhcnNlU3RhcnRUYWc8L2E+PGJyIC8+Cis8L2RkPjxkdD5uYW1lc3BhY2VzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCNYTUxfWFBBVEhfQ0hFQ0tOUyI+WE1MX1hQQVRIX0NIRUNLTlM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNfeG1sUGFyc2VyQ3R4dCI+X3htbFBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjX3htbFNjaGVtYVdpbGRjYXJkIj5feG1sU2NoZW1hV2lsZGNhcmQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI194bWxYUGF0aENvbnRleHQiPl94bWxYUGF0aENvbnRleHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jMTRuLmh0bWwjeG1sQzE0TkRvY0R1bXBNZW1vcnkiPnhtbEMxNE5Eb2NEdW1wTWVtb3J5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtYzE0bi5odG1sI3htbEMxNE5Eb2NTYXZlIj54bWxDMTRORG9jU2F2ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTRORG9jU2F2ZVRvIj54bWxDMTRORG9jU2F2ZVRvPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtYzE0bi5odG1sI3htbEMxNE5FeGVjdXRlIj54bWxDMTRORXhlY3V0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxDb3B5RG9jIj54bWxDb3B5RG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbENvcHlOb2RlIj54bWxDb3B5Tm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwQWNxdWlyZU5zRnVuY3Rpb24iPnhtbERPTVdyYXBBY3F1aXJlTnNGdW5jdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxEb2NDb3B5Tm9kZSI+eG1sRG9jQ29weU5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRnJlZU5zTGlzdCI+eG1sRnJlZU5zTGlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxHZXRQcm9wIj54bWxHZXRQcm9wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VJbk5vZGVDb250ZXh0Ij54bWxQYXJzZUluTm9kZUNvbnRleHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sUmVjb25jaWxpYXRlTnMiPnhtbFJlY29uY2lsaWF0ZU5zPC9hPjxiciAvPgorPC9kZD48ZHQ+bmFtaW5nPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbENoaWxkcmVuTm9kZSI+eG1sQ2hpbGRyZW5Ob2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFJvb3ROb2RlIj54bWxSb290Tm9kZTwvYT48YnIgLz4KKzwvZGQ+PGR0Pm5iQnl0ZXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNZW1EaXNwbGF5TGFzdCI+eG1sTWVtRGlzcGxheUxhc3Q8L2E+PGJyIC8+Cis8L2RkPjxkdD5uYnZhbDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ0V4ZWNFcnJJbmZvIj54bWxSZWdFeGVjRXJySW5mbzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ0V4ZWNOZXh0VmFsdWVzIj54bWxSZWdFeGVjTmV4dFZhbHVlczwvYT48YnIgLz4KKzwvZGQ+PGR0Pm5jbmFtZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWlsZFFOYW1lIj54bWxCdWlsZFFOYW1lPC9hPjxiciAvPgorPC9kZD48ZHQ+bmRhdGE8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI194bWxFbnRpdHkiPl94bWxFbnRpdHk8L2E+PGJyIC8+Cis8L2RkPjxkdD5uZWFyZXN0PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVHZXRMYW5nIj54bWxOb2RlR2V0TGFuZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlR2V0U3BhY2VQcmVzZXJ2ZSI+eG1sTm9kZUdldFNwYWNlUHJlc2VydmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTGFuZ0Z1bmN0aW9uIj54bWxYUGF0aExhbmdGdW5jdGlvbjwvYT48YnIgLz4KKzwvZGQ+PGR0Pm5lYXJseTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNBWFBhcnNlRmlsZVdpdGhEYXRhIj54bWxTQVhQYXJzZUZpbGVXaXRoRGF0YTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNBWFBhcnNlTWVtb3J5V2l0aERhdGEiPnhtbFNBWFBhcnNlTWVtb3J5V2l0aERhdGE8L2E+PGJyIC8+Cis8L2RkPjxkdD5uZWNlc3Nhcnk8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX0FCU0VOVCI+WE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX0FCU0VOVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNfaHRtbEVsZW1EZXNjIj5faHRtbEVsZW1EZXNjPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hlY2tVVEY4Ij54bWxDaGVja1VURjg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbERlYnVnRHVtcFN0cmluZyI+eG1sRGVidWdEdW1wU3RyaW5nPC9hPjxiciAvPgorPC9kZD48ZHQ+bmVlZGVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjX3htbFBhcnNlckN0eHQiPl94bWxQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCNfeG1sWFBhdGhDb250ZXh0Ij5feG1sWFBhdGhDb250ZXh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxFbnRpdHlMb29rdXAiPmh0bWxFbnRpdHlMb29rdXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEVudGl0eVZhbHVlTG9va3VwIj5odG1sRW50aXR5VmFsdWVMb29rdXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bGluay5odG1sI3hsaW5rSXNMaW5rIj54bGlua0lzTGluazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwQWRvcHROb2RlIj54bWxET01XcmFwQWRvcHROb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBDbG9uZU5vZGUiPnhtbERPTVdyYXBDbG9uZU5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcFJlY29uY2lsZU5hbWVzcGFjZXMiPnhtbERPTVdyYXBSZWNvbmNpbGVOYW1lc3BhY2VzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEdldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUiPnhtbEdldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sTG9hZFNHTUxTdXBlckNhdGFsb2ciPnhtbExvYWRTR01MU3VwZXJDYXRhbG9nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxOZXdFbnRpdHkiPnhtbE5ld0VudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdOb2RlRWF0TmFtZSI+eG1sTmV3Tm9kZUVhdE5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVsZW1lbnRDaGlsZHJlbkNvbnRlbnREZWNsIj54bWxQYXJzZUVsZW1lbnRDaGlsZHJlbkNvbnRlbnREZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbGVtZW50TWl4ZWRDb250ZW50RGVjbCI+eG1sUGFyc2VFbGVtZW50TWl4ZWRDb250ZW50RGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxSZWNvbmNpbGlhdGVOcyI+eG1sUmVjb25jaWxpYXRlTnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hU0FYUGx1ZyI+eG1sU2NoZW1hU0FYUGx1ZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lIj54bWxTZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbFB3ZCI+eG1sU2hlbGxQd2Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJuY2F0Ij54bWxTdHJuY2F0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckN1cnJlbnREb2MiPnhtbFRleHRSZWFkZXJDdXJyZW50RG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZEN0eHROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZSI+eG1sVmFsaWRDdHh0Tm9ybWFsaXplQXR0cmlidXRlVmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkTm9ybWFsaXplQXR0cmlidXRlVmFsdWUiPnhtbFZhbGlkTm9ybWFsaXplQXR0cmlidXRlVmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUG9wQm9vbGVhbiI+eG1sWFBhdGhQb3BCb29sZWFuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFBvcEV4dGVybmFsIj54bWxYUGF0aFBvcEV4dGVybmFsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFBvcE5vZGVTZXQiPnhtbFhQYXRoUG9wTm9kZVNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhQb3BOdW1iZXIiPnhtbFhQYXRoUG9wTnVtYmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFBvcFN0cmluZyI+eG1sWFBhdGhQb3BTdHJpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU3RyaW5nRnVuY3Rpb24iPnhtbFhQYXRoU3RyaW5nRnVuY3Rpb248L2E+PGJyIC8+Cis8L2RkPjxkdD5uZWVkaW5nPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jT3V0RnVuYyI+eG1sQ2hhckVuY091dEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxVUklFc2NhcGUiPnhtbFVSSUVzY2FwZTwvYT48YnIgLz4KKzwvZGQ+PGR0Pm5lZWRsZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFN0cmNhc2VzdHIiPnhtbFN0cmNhc2VzdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJzdHIiPnhtbFN0cnN0cjwvYT48YnIgLz4KKzwvZGQ+PGR0Pm5lZWRzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sRW50aXR5UmVmZXJlbmNlRnVuYyI+eG1sRW50aXR5UmVmZXJlbmNlRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYVZhbGlkYXRlRmFjZXRXaHRzcCI+eG1sU2NoZW1hVmFsaWRhdGVGYWNldFdodHNwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbFN0cmVhbVdhbnRzQW55Tm9kZSI+eG1sU3RyZWFtV2FudHNBbnlOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vZGVTZXRGcmVlTnMiPnhtbFhQYXRoTm9kZVNldEZyZWVOczwvYT48YnIgLz4KKzwvZGQ+PGR0Pm5lZ2F0ZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjX3htbFNjaGVtYVdpbGRjYXJkIj5feG1sU2NoZW1hV2lsZGNhcmQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5uZWdhdGl2ZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTRORG9jRHVtcE1lbW9yeSI+eG1sQzE0TkRvY0R1bXBNZW1vcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jMTRuLmh0bWwjeG1sQzE0TkRvY1NhdmUiPnhtbEMxNE5Eb2NTYXZlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtYzE0bi5odG1sI3htbEMxNE5Eb2NTYXZlVG8iPnhtbEMxNE5Eb2NTYXZlVG88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jMTRuLmh0bWwjeG1sQzE0TkV4ZWN1dGUiPnhtbEMxNE5FeGVjdXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnRXhlY0VyckluZm8iPnhtbFJlZ0V4ZWNFcnJJbmZvPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnRXhlY05leHRWYWx1ZXMiPnhtbFJlZ0V4ZWNOZXh0VmFsdWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnRXhlY1B1c2hTdHJpbmciPnhtbFJlZ0V4ZWNQdXNoU3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnRXhlY1B1c2hTdHJpbmcyIj54bWxSZWdFeGVjUHVzaFN0cmluZzI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdleHBFeGVjIj54bWxSZWdleHBFeGVjPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnZXhwSXNEZXRlcm1pbmlzdCI+eG1sUmVnZXhwSXNEZXRlcm1pbmlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxDbWQiPnhtbFNoZWxsQ21kPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEJvb2xlYW5GdW5jdGlvbiI+eG1sWFBhdGhCb29sZWFuRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoQ2VpbGluZ0Z1bmN0aW9uIj54bWxYUGF0aENlaWxpbmdGdW5jdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdHJpbmdFdmFsTnVtYmVyIj54bWxYUGF0aFN0cmluZ0V2YWxOdW1iZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU3RyaW5nRnVuY3Rpb24iPnhtbFhQYXRoU3RyaW5nRnVuY3Rpb248L2E+PGJyIC8+Cis8L2RkPjxkdD5uZWl0aGVyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEhhc05zUHJvcCI+eG1sSGFzTnNQcm9wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEhhc1Byb3AiPnhtbEhhc1Byb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVsZW1lbnRDaGlsZHJlbkNvbnRlbnREZWNsIj54bWxQYXJzZUVsZW1lbnRDaGlsZHJlbkNvbnRlbnREZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclJlYWRJbm5lclhtbCI+eG1sVGV4dFJlYWRlclJlYWRJbm5lclhtbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhCb29sZWFuRnVuY3Rpb24iPnhtbFhQYXRoQm9vbGVhbkZ1bmN0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aENvbXBhcmVWYWx1ZXMiPnhtbFhQYXRoQ29tcGFyZVZhbHVlczwvYT48YnIgLz4KKzwvZGQ+PGR0Pm5lc3RlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2wiPnhtbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZU1hcmt1cERlY2wiPnhtbFBhcnNlTWFya3VwRGVjbDwvYT48YnIgLz4KKzwvZGQ+PGR0Pm5ldDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhJc0luZiI+eG1sWFBhdGhJc0luZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhJc05hTiI+eG1sWFBhdGhJc05hTjwvYT48YnIgLz4KKzwvZGQ+PGR0Pm5ldHdvcms8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEN0eHRSZWFkRmlsZSI+aHRtbEN0eHRSZWFkRmlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sUmVhZEZpbGUiPmh0bWxSZWFkRmlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEN0eHRSZWFkRmlsZSI+eG1sQ3R4dFJlYWRGaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxOb05ldEV4dGVybmFsRW50aXR5TG9hZGVyIj54bWxOb05ldEV4dGVybmFsRW50aXR5TG9hZGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUmVhZEZpbGUiPnhtbFJlYWRGaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sUmVhZGVyRm9yRmlsZSI+eG1sUmVhZGVyRm9yRmlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFJlYWRlck5ld0ZpbGUiPnhtbFJlYWRlck5ld0ZpbGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5uaWNlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sQnVpbGRSZWxhdGl2ZVVSSSI+eG1sQnVpbGRSZWxhdGl2ZVVSSTwvYT48YnIgLz4KKzwvZGQ+PGR0Pm5pbGxhYmxlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0VMRU1fTklMTEFCTEUiPlhNTF9TQ0hFTUFTX0VMRU1fTklMTEFCTEU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBJc05pbGxhYmxlIj54bWxFeHBJc05pbGxhYmxlPC9hPjxiciAvPgorPC9kZD48ZHQ+bm9kPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sRW50aXR5UmVmZXJlbmNlRnVuYyI+eG1sRW50aXR5UmVmZXJlbmNlRnVuYzwvYT48YnIgLz4KKzwvZGQ+PGR0Pm5vZGUtPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI194bWxET01XcmFwQ3R4dCI+X3htbERPTVdyYXBDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBSZW1vdmVOb2RlIj54bWxET01XcmFwUmVtb3ZlTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzIj54bWxWYWxpZEdldFZhbGlkRWxlbWVudHM8L2E+PGJyIC8+Cis8L2RkPjxkdD5ub2RlLXNldD88L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTG9jYWxOYW1lRnVuY3Rpb24iPnhtbFhQYXRoTG9jYWxOYW1lRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmFtZXNwYWNlVVJJRnVuY3Rpb24iPnhtbFhQYXRoTmFtZXNwYWNlVVJJRnVuY3Rpb248L2E+PGJyIC8+Cis8L2RkPjxkdD5ub2RlSW5mb3M8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNfeG1sUGFyc2VyQ3R4dCI+X3htbFBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5ub2RlbGlzdDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXIiPnhtbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXI8L2E+PGJyIC8+Cis8L2RkPjxkdD5ub2RlczE8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRGlmZmVyZW5jZSI+eG1sWFBhdGhEaWZmZXJlbmNlPC9hPjxiciAvPgorPC9kZD48ZHQ+bm9kZXMyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aERpZmZlcmVuY2UiPnhtbFhQYXRoRGlmZmVyZW5jZTwvYT48YnIgLz4KKzwvZGQ+PGR0Pm5vZGVzZXQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9kZVNldEZyZWVOcyI+eG1sWFBhdGhOb2RlU2V0RnJlZU5zPC9hPjxiciAvPgorPC9kZD48ZHQ+bm9kZXNldHM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9kZVNldE1lcmdlIj54bWxYUGF0aE5vZGVTZXRNZXJnZTwvYT48YnIgLz4KKzwvZGQ+PGR0Pm5vbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19BTllBVFRSX0xBWCI+WE1MX1NDSEVNQVNfQU5ZQVRUUl9MQVg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI3htbEVuY29kZUVudGl0aWVzUmVlbnRyYW50Ij54bWxFbmNvZGVFbnRpdGllc1JlZW50cmFudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdDaGlsZCI+eG1sTmV3Q2hpbGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3VGV4dENoaWxkIj54bWxOZXdUZXh0Q2hpbGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyQmFzZVVyaSI+eG1sVGV4dFJlYWRlckJhc2VVcmk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyTG9jYWxOYW1lIj54bWxUZXh0UmVhZGVyTG9jYWxOYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckxvY2F0b3JCYXNlVVJJIj54bWxUZXh0UmVhZGVyTG9jYXRvckJhc2VVUkk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyTmFtZSI+eG1sVGV4dFJlYWRlck5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyTmFtZXNwYWNlVXJpIj54bWxUZXh0UmVhZGVyTmFtZXNwYWNlVXJpPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclByZWZpeCI+eG1sVGV4dFJlYWRlclByZWZpeDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJYbWxMYW5nIj54bWxUZXh0UmVhZGVyWG1sTGFuZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhQYXJzZU5DTmFtZSI+eG1sWFBhdGhQYXJzZU5DTmFtZTwvYT48YnIgLz4KKzwvZGQ+PGR0Pm5vbi1DREFUQTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI194bWxQYXJzZXJDdHh0Ij5feG1sUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzwvZGQ+PGR0Pm5vbi1OVUxMPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxQYXJzZUVudGl0eVJlZiI+aHRtbFBhcnNlRW50aXR5UmVmPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQiPnhtbENyZWF0ZVB1c2hQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbnRpdHlWYWx1ZSI+eG1sUGFyc2VFbnRpdHlWYWx1ZTwvYT48YnIgLz4KKzwvZGQ+PGR0Pm5vbi1VVEYtODwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEJ5dGVDb25zdW1lZCI+eG1sQnl0ZUNvbnN1bWVkPC9hPjxiciAvPgorPC9kZD48ZHQ+bm9uLWJsYW5rPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbGVtZW50Q2hpbGRyZW5Db250ZW50RGVjbCI+eG1sUGFyc2VFbGVtZW50Q2hpbGRyZW5Db250ZW50RGVjbDwvYT48YnIgLz4KKzwvZGQ+PGR0Pm5vbi1kZXRlcm1pbmlzdDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjX3htbFZhbGlkQ3R4dCI+X3htbFZhbGlkQ3R4dDwvYT48YnIgLz4KKzwvZGQ+PGR0Pm5vbi1lbXB0eTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhCb29sZWFuRnVuY3Rpb24iPnhtbFhQYXRoQm9vbGVhbkZ1bmN0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+bm9uLWZpbmFsPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnRXhlY1B1c2hTdHJpbmciPnhtbFJlZ0V4ZWNQdXNoU3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnRXhlY1B1c2hTdHJpbmcyIj54bWxSZWdFeGVjUHVzaFN0cmluZzI8L2E+PGJyIC8+Cis8L2RkPjxkdD5ub24tbmVnYXRpdmU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1jMTRuLmh0bWwjeG1sQzE0TkRvY1NhdmVUbyI+eG1sQzE0TkRvY1NhdmVUbzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTRORXhlY3V0ZSI+eG1sQzE0TkV4ZWN1dGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5ub24tbm9ybWF0aXZlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxEZXRlY3RDaGFyRW5jb2RpbmciPnhtbERldGVjdENoYXJFbmNvZGluZzwvYT48YnIgLz4KKzwvZGQ+PGR0Pm5vbi1udWxsPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbFByaW50Tm9kZSI+eG1sU2hlbGxQcmludE5vZGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5ub24tcmVjdXJzaXZlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjX3htbFBhcnNlckN0eHQiPl94bWxQYXJzZXJDdHh0PC9hPjxiciAvPgorPC9kZD48ZHQ+bm9uLXN0YXRlbGVzczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY091dEZ1bmMiPnhtbENoYXJFbmNPdXRGdW5jPC9hPjxiciAvPgorPC9kZD48ZHQ+bm9uLXZhbGlkYXRpbmc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUF0dFZhbHVlIj54bWxQYXJzZUF0dFZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbnRpdHlSZWYiPnhtbFBhcnNlRW50aXR5UmVmPC9hPjxiciAvPgorPC9kZD48ZHQ+bm9uLXplcm88L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNpbml0eG1sRGVmYXVsdFNBWEhhbmRsZXIiPmluaXR4bWxEZWZhdWx0U0FYSGFuZGxlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEhhc0ZlYXR1cmUiPnhtbEhhc0ZlYXR1cmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxJc0xldHRlciI+eG1sSXNMZXR0ZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMkluaXREZWZhdWx0U0FYSGFuZGxlciI+eG1sU0FYMkluaXREZWZhdWx0U0FYSGFuZGxlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhCb29sZWFuRnVuY3Rpb24iPnhtbFhQYXRoQm9vbGVhbkZ1bmN0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+bm9uZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX1ZBUklFVFlfQUJTRU5UIj5YTUxfU0NIRU1BU19UWVBFX1ZBUklFVFlfQUJTRU5UPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjZ2V0TmFtZXNwYWNlIj5nZXROYW1lc3BhY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxEZWNvZGVFbnRpdGllcyI+eG1sRGVjb2RlRW50aXRpZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sR2V0TGFzdENoaWxkIj54bWxHZXRMYXN0Q2hpbGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lIj54bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYVZhbHVlR2V0QXNTdHJpbmciPnhtbFNjaGVtYVZhbHVlR2V0QXNTdHJpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFWYWx1ZUdldE5leHQiPnhtbFNjaGVtYVZhbHVlR2V0TmV4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFN0cmluZ0RlY29kZUVudGl0aWVzIj54bWxTdHJpbmdEZWNvZGVFbnRpdGllczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFN0cmluZ0xlbkRlY29kZUVudGl0aWVzIj54bWxTdHJpbmdMZW5EZWNvZGVFbnRpdGllczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJDb25zdFhtbExhbmciPnhtbFRleHRSZWFkZXJDb25zdFhtbExhbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyWG1sTGFuZyI+eG1sVGV4dFJlYWRlclhtbExhbmc8L2E+PGJyIC8+Cis8L2RkPjxkdD5ub3I8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyQ3JlYXRlU3RhdGljIj54bWxCdWZmZXJDcmVhdGVTdGF0aWM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVpbGRRTmFtZSI+eG1sQnVpbGRRTmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2wiPnhtbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI3htbFNldEdlbmVyaWNFcnJvckZ1bmMiPnhtbFNldEdlbmVyaWNFcnJvckZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI3htbFNldFN0cnVjdHVyZWRFcnJvckZ1bmMiPnhtbFNldFN0cnVjdHVyZWRFcnJvckZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUmVhZElubmVyWG1sIj54bWxUZXh0UmVhZGVyUmVhZElubmVyWG1sPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEJvb2xlYW5GdW5jdGlvbiI+eG1sWFBhdGhCb29sZWFuRnVuY3Rpb248L2E+PGJyIC8+Cis8L2RkPjxkdD5ub3JtYWw8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sR2V0QnVmZmVyQWxsb2NhdGlvblNjaGVtZSI+eG1sR2V0QnVmZmVyQWxsb2NhdGlvblNjaGVtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sSW5pdENoYXJFbmNvZGluZ0hhbmRsZXJzIj54bWxJbml0Q2hhckVuY29kaW5nSGFuZGxlcnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyR3JvdyI+eG1sUGFyc2VySW5wdXRCdWZmZXJHcm93PC9hPjxiciAvPgorPC9kZD48ZHQ+bm9ybWFsaXphdGlvbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbE5vcm1hbGl6ZVVSSVBhdGgiPnhtbE5vcm1hbGl6ZVVSSVBhdGg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZVNERGVjbCI+eG1sUGFyc2VTRERlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFWYWxQcmVkZWZUeXBlTm9kZU5vTm9ybSI+eG1sU2NoZW1hVmFsUHJlZGVmVHlwZU5vZGVOb05vcm08L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0V2h0c3AiPnhtbFNjaGVtYVZhbGlkYXRlRmFjZXRXaHRzcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRDdHh0Tm9ybWFsaXplQXR0cmlidXRlVmFsdWUiPnhtbFZhbGlkQ3R4dE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlIj54bWxWYWxpZE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlPC9hPjxiciAvPgorPC9kZD48ZHQ+bm9ybWFsaXphdGlvbjo8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxDdXJyZW50Q2hhciI+eG1sQ3VycmVudENoYXI8L2E+PGJyIC8+Cis8L2RkPjxkdD5ub3JtYWxpemF0aW9uczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJOb3JtYWxpemF0aW9uIj54bWxUZXh0UmVhZGVyTm9ybWFsaXphdGlvbjwvYT48YnIgLz4KKzwvZGQ+PGR0Pm5vcm1hbGl6ZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQXR0VmFsdWUiPnhtbFBhcnNlQXR0VmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFDb2xsYXBzZVN0cmluZyI+eG1sU2NoZW1hQ29sbGFwc2VTdHJpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyTm9ybWFsaXphdGlvbiI+eG1sVGV4dFJlYWRlck5vcm1hbGl6YXRpb248L2E+PGJyIC8+Cis8L2RkPjxkdD5ub3JtYWxpemUtc3BhY2U8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9ybWFsaXplRnVuY3Rpb24iPnhtbFhQYXRoTm9ybWFsaXplRnVuY3Rpb248L2E+PGJyIC8+Cis8L2RkPjxkdD5ub3JtYWxpemVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfTk9STVZBTFVFTkVFREVEIj5YTUxfU0NIRU1BU19UWVBFX05PUk1WQUxVRU5FRURFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQXR0VmFsdWUiPnhtbFBhcnNlQXR0VmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0V2h0c3AiPnhtbFNjaGVtYVZhbGlkYXRlRmFjZXRXaHRzcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRDdHh0Tm9ybWFsaXplQXR0cmlidXRlVmFsdWUiPnhtbFZhbGlkQ3R4dE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlIj54bWxWYWxpZE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vcm1hbGl6ZUZ1bmN0aW9uIj54bWxYUGF0aE5vcm1hbGl6ZUZ1bmN0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+bm9ybWFsaXppbmc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxDdXJyZW50Q2hhciI+eG1sQ3VycmVudENoYXI8L2E+PGJyIC8+Cis8L2RkPjxkdD5ub3JtYWxseTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNfeG1sTnMiPl94bWxOczwvYT48YnIgLz4KKzxhIGhyZWY9IiI+YzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRpdHlFcnJvckZ1bmMiPnhtbFZhbGlkaXR5RXJyb3JGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGl0eVdhcm5pbmdGdW5jIj54bWxWYWxpZGl0eVdhcm5pbmdGdW5jPC9hPjxiciAvPgorPC9kZD48ZHQ+bm90YXRpb25zPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI194bWxEdGQiPl94bWxEdGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlRHRkRmluYWwiPnhtbFZhbGlkYXRlRHRkRmluYWw8L2E+PGJyIC8+Cis8L2RkPjxkdD5ub3RlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hlY2tVVEY4Ij54bWxDaGVja1VURjg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxMb2FkRXh0ZXJuYWxFbnRpdHkiPnhtbExvYWRFeHRlcm5hbEVudGl0eTwvYT48YnIgLz4KKzwvZGQ+PGR0Pm5vdGljZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbENsZWFudXBQYXJzZXIiPnhtbENsZWFudXBQYXJzZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sQ2xlYW51cFRocmVhZHMiPnhtbENsZWFudXBUaHJlYWRzPC9hPjxiciAvPgorPC9kZD48ZHQ+bm93PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI1hNTF9DQVNUX0ZQVFIiPlhNTF9DQVNUX0ZQVFI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjX3htbFNjaGVtYSI+X3htbFNjaGVtYTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNfeG1sU2NoZW1hRWxlbWVudCI+X3htbFNjaGVtYUVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxEZWNvZGVFbnRpdGllcyI+eG1sRGVjb2RlRW50aXRpZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZXJIYW5kbGVSZWZlcmVuY2UiPnhtbFBhcnNlckhhbmRsZVJlZmVyZW5jZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFNjYW5OYW1lIj54bWxTY2FuTmFtZTwvYT48YnIgLz4KKzwvZGQ+PGR0Pm5zLWJpbmRpbmc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2V0UHJvcCI+eG1sU2V0UHJvcDwvYT48YnIgLz4KKzwvZGQ+PGR0Pm5zLWRlY2xzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBBZG9wdE5vZGUiPnhtbERPTVdyYXBBZG9wdE5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcENsb25lTm9kZSI+eG1sRE9NV3JhcENsb25lTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwUmVjb25jaWxlTmFtZXNwYWNlcyI+eG1sRE9NV3JhcFJlY29uY2lsZU5hbWVzcGFjZXM8L2E+PGJyIC8+Cis8L2RkPjxkdD5ucy1yZWZlcmVuY2VzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBSZWNvbmNpbGVOYW1lc3BhY2VzIj54bWxET01XcmFwUmVjb25jaWxlTmFtZXNwYWNlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwUmVtb3ZlTm9kZSI+eG1sRE9NV3JhcFJlbW92ZU5vZGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5uc0RlZjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNfeG1sRE9NV3JhcEN0eHQiPl94bWxET01XcmFwQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwQWRvcHROb2RlIj54bWxET01XcmFwQWRvcHROb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBDbG9uZU5vZGUiPnhtbERPTVdyYXBDbG9uZU5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcFJlbW92ZU5vZGUiPnhtbERPTVdyYXBSZW1vdmVOb2RlPC9hPjxiciAvPgorPC9kZD48ZHQ+bnVsbDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoU2NhbjMiPnhtbEhhc2hTY2FuMzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoU2NhbkZ1bGwzIj54bWxIYXNoU2NhbkZ1bGwzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbER1Ij54bWxTaGVsbER1PC9hPjxiciAvPgorPC9kZD48ZHQ+bnVsbC10ZXJtaW5hdGVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hlY2tVVEY4Ij54bWxDaGVja1VURjg8L2E+PGJyIC8+Cis8L2RkPjxkdD5udW1iZXI6PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9WRVJTSU9OIj5MSUJYTUxfVkVSU0lPTjwvYT48YnIgLz4KKzwvZGQ+PGR0Pm51bWJlcj88L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU3Vic3RyaW5nRnVuY3Rpb24iPnhtbFhQYXRoU3Vic3RyaW5nRnVuY3Rpb248L2E+PGJyIC8+Cis8L2RkPjxkdD5udW1iZXJzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sTGluZU51bWJlcnNEZWZhdWx0Ij54bWxMaW5lTnVtYmVyc0RlZmF1bHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxVVEY4U2l6ZSI+eG1sVVRGOFNpemU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoQWRkVmFsdWVzIj54bWxYUGF0aEFkZFZhbHVlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhDb21wYXJlVmFsdWVzIj54bWxYUGF0aENvbXBhcmVWYWx1ZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRGl2VmFsdWVzIj54bWxYUGF0aERpdlZhbHVlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhNb2RWYWx1ZXMiPnhtbFhQYXRoTW9kVmFsdWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE11bHRWYWx1ZXMiPnhtbFhQYXRoTXVsdFZhbHVlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPcmRlckRvY0VsZW1zIj54bWxYUGF0aE9yZGVyRG9jRWxlbXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUm91bmRGdW5jdGlvbiI+eG1sWFBhdGhSb3VuZEZ1bmN0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFN1YlZhbHVlcyI+eG1sWFBhdGhTdWJWYWx1ZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoVmFsdWVGbGlwU2lnbiI+eG1sWFBhdGhWYWx1ZUZsaXBTaWduPC9hPjxiciAvPgorPC9kZD48ZHQ+bnVtZXJpYzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhBZGRWYWx1ZXMiPnhtbFhQYXRoQWRkVmFsdWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aERpdlZhbHVlcyI+eG1sWFBhdGhEaXZWYWx1ZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTW9kVmFsdWVzIj54bWxYUGF0aE1vZFZhbHVlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhNdWx0VmFsdWVzIj54bWxYUGF0aE11bHRWYWx1ZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU3RyaW5nRnVuY3Rpb24iPnhtbFhQYXRoU3RyaW5nRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU3ViVmFsdWVzIj54bWxYUGF0aFN1YlZhbHVlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdWJzdHJpbmdGdW5jdGlvbiI+eG1sWFBhdGhTdWJzdHJpbmdGdW5jdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhWYWx1ZUZsaXBTaWduIj54bWxYUGF0aFZhbHVlRmxpcFNpZ248L2E+PGJyIC8+Cis8L2RkPjwvZGw+PGgyIGFsaWduPSJjZW50ZXIiPjxhIGhyZWY9IkFQSWNodW5rMC5odG1sIj5BLUI8L2E+Cis8YSBocmVmPSJBUEljaHVuazEuaHRtbCI+Qy1DPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyLmh0bWwiPkQtRTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMy5odG1sIj5GLUk8L2E+Cis8YSBocmVmPSJBUEljaHVuazQuaHRtbCI+Si1OPC9hPgorPGEgaHJlZj0iQVBJY2h1bms1Lmh0bWwiPk8tUDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNi5odG1sIj5RLVI8L2E+Cis8YSBocmVmPSJBUEljaHVuazcuaHRtbCI+Uy1TPC9hPgorPGEgaHJlZj0iQVBJY2h1bms4Lmh0bWwiPlQtVTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rOS5odG1sIj5WLVg8L2E+Cis8YSBocmVmPSJBUEljaHVuazEwLmh0bWwiPlktYTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTEuaHRtbCI+Yi1iPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMi5odG1sIj5jLWM8L2E+Cis8YSBocmVmPSJBUEljaHVuazEzLmh0bWwiPmQtZDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTQuaHRtbCI+ZS1lPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNS5odG1sIj5mLWY8L2E+Cis8YSBocmVmPSJBUEljaHVuazE2Lmh0bWwiPmctaDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTcuaHRtbCI+aS1pPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxOC5odG1sIj5qLWw8L2E+Cis8YSBocmVmPSJBUEljaHVuazE5Lmh0bWwiPm0tbTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjAuaHRtbCI+bi1uPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMS5odG1sIj5vLW88L2E+Cis8YSBocmVmPSJBUEljaHVuazIyLmh0bWwiPnAtcDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjMuaHRtbCI+cS1yPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNC5odG1sIj5zLXM8L2E+Cis8YSBocmVmPSJBUEljaHVuazI1Lmh0bWwiPnQtdDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjYuaHRtbCI+dS12PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNy5odG1sIj53LXc8L2E+Cis8YSBocmVmPSJBUEljaHVuazI4Lmh0bWwiPngteDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjkuaHRtbCI+eS16PC9hPgorPC9oMj48cD48YSBocmVmPSJidWdzLmh0bWwiPkRhbmllbCBWZWlsbGFyZDwvYT48L3A+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL0FQSWNodW5rMjEuaHRtbCBiL2xpYnhtbDIvZG9jL0FQSWNodW5rMjEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNjU1MTk4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvQVBJY2h1bmsyMS5odG1sCkBAIC0wLDAgKzEsMzk5IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPgorPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPjxoZWFkPjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPjxsaW5rIHJlbD0iU0hPUlRDVVQgSUNPTiIgaHJlZj0iL2Zhdmljb24uaWNvIiAvPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CitURCB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorQk9EWSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhOyBtYXJnaW4tdG9wOiAyZW07IG1hcmdpbi1sZWZ0OiAwZW07IG1hcmdpbi1yaWdodDogMGVtfQorSDEge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gyIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMyB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorQTpsaW5rLCBBOnZpc2l0ZWQsIEE6YWN0aXZlIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgfQorPC9zdHlsZT48dGl0bGU+QVBJIEFscGhhYmV0aWMgSW5kZXggby1vIGZvciBsaWJ4bWwyPC90aXRsZT48L2hlYWQ+PGJvZHkgYmdjb2xvcj0iIzhiNzc2NSIgdGV4dD0iIzAwMDAwMCIgbGluaz0iI2EwNjA2MCIgdmxpbms9IiMwMDAwMDAiPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSIxMDAlIiBjZWxscGFkZGluZz0iNSIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgd2lkdGg9IjEyMCI+PGEgaHJlZj0iaHR0cDovL3N3cGF0LmZmaWkub3JnLyI+PGltZyBzcmM9ImVwYXRlbnRzLnBuZyIgYWx0PSJBY3Rpb24gYWdhaW5zdCBzb2Z0d2FyZSBwYXRlbnRzIiAvPjwvYT48L3RkPjx0ZCB3aWR0aD0iMTgwIj48YSBocmVmPSJodHRwOi8vd3d3Lmdub21lLm9yZy8iPjxpbWcgc3JjPSJnbm9tZTIucG5nIiBhbHQ9Ikdub21lMiBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9TdGF0dXMiPjxpbWcgc3JjPSJ3M2MucG5nIiBhbHQ9IlczQyBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnJlZGhhdC5jb20vIj48aW1nIHNyYz0icmVkaGF0LmdpZiIgYWx0PSJSZWQgSGF0IExvZ28iIC8+PC9hPjxkaXYgYWxpZ249ImxlZnQiPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy8iPjxpbWcgc3JjPSJMaWJ4bWwyLUxvZ28tMTgweDE2OC5naWYiIGFsdD0iTWFkZSB3aXRoIExpYnhtbDIgTG9nbyIgLz48L2E+PC9kaXY+PC90ZD48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjkwJSIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiIGJnY29sb3I9IiNmZmZhY2QiPjx0cj48dGQgYWxpZ249ImNlbnRlciI+PGgxPlRoZSBYTUwgQyBwYXJzZXIgYW5kIHRvb2xraXQgb2YgR25vbWU8L2gxPjxoMj5BUEkgQWxwaGFiZXRpYyBJbmRleCBvLW8gZm9yIGxpYnhtbDI8L2gyPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI0IiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCB2YWxpZ249InRvcCIgd2lkdGg9IjIwMCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+RGV2ZWxvcGVyIE1lbnU8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PGZvcm0gYWN0aW9uPSJzZWFyY2gucGhwIiBlbmN0eXBlPSJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiIG1ldGhvZD0iZ2V0Ij48aW5wdXQgbmFtZT0icXVlcnkiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iIiAvPjxpbnB1dCBuYW1lPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNlYXJjaCAuLi4iIC8+PC9mb3JtPjx1bD48bGk+PGEgaHJlZj0iaW5kZXguaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPk1haW4gTWVudTwvYT48L2xpPjxsaT48YSBocmVmPSJodG1sL2luZGV4Lmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5SZWZlcmVuY2UgTWFudWFsPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImV4YW1wbGVzL2luZGV4Lmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5Db2RlIEV4YW1wbGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imd1aWRlbGluZXMuaHRtbCI+WE1MIEd1aWRlbGluZXM8L2E+PC9saT48bGk+PGEgaHJlZj0idHV0b3JpYWwvaW5kZXguaHRtbCI+VHV0b3JpYWw8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1scmVhZGVyLmh0bWwiPlRoZSBSZWFkZXIgSW50ZXJmYWNlPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkNoYW5nZUxvZy5odG1sIj5DaGFuZ2VMb2c8L2E+PC9saT48bGk+PGEgaHJlZj0iWFNMVC5odG1sIj5YU0xUPC9hPjwvbGk+PGxpPjxhIGhyZWY9InB5dGhvbi5odG1sIj5QeXRob24gYW5kIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImFyY2hpdGVjdHVyZS5odG1sIj5saWJ4bWwyIGFyY2hpdGVjdHVyZTwvYT48L2xpPjxsaT48YSBocmVmPSJ0cmVlLmh0bWwiPlRoZSB0cmVlIG91dHB1dDwvYT48L2xpPjxsaT48YSBocmVmPSJpbnRlcmZhY2UuaHRtbCI+VGhlIFNBWCBpbnRlcmZhY2U8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1sbWVtLmh0bWwiPk1lbW9yeSBNYW5hZ2VtZW50PC9hPjwvbGk+PGxpPjxhIGhyZWY9InhtbGlvLmh0bWwiPkkvTyBJbnRlcmZhY2VzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnJhcnkuaHRtbCI+VGhlIHBhcnNlciBpbnRlcmZhY2VzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImVudGl0aWVzLmh0bWwiPkVudGl0aWVzIG9yIG5vIGVudGl0aWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Im5hbWVzcGFjZXMuaHRtbCI+TmFtZXNwYWNlczwvYT48L2xpPjxsaT48YSBocmVmPSJ1cGdyYWRlLmh0bWwiPlVwZ3JhZGluZyAxLnggY29kZTwvYT48L2xpPjxsaT48YSBocmVmPSJ0aHJlYWRzLmh0bWwiPlRocmVhZCBzYWZldHk8L2E+PC9saT48bGk+PGEgaHJlZj0iRE9NLmh0bWwiPkRPTSBQcmluY2lwbGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImV4YW1wbGUuaHRtbCI+QSByZWFsIGV4YW1wbGU8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1sLmh0bWwiPmZsYXQgcGFnZTwvYT4sIDxhIGhyZWY9InNpdGUueHNsIj5zdHlsZXNoZWV0PC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+QVBJIEluZGV4ZXM8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSJBUEljaHVuazAuaHRtbCI+QWxwaGFiZXRpYzwvYT48L2xpPjxsaT48YSBocmVmPSJBUEljb25zdHJ1Y3RvcnMuaHRtbCI+Q29uc3RydWN0b3JzPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkFQSWZ1bmN0aW9ucy5odG1sIj5GdW5jdGlvbnMvVHlwZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iQVBJZmlsZXMuaHRtbCI+TW9kdWxlczwvYT48L2xpPjxsaT48YSBocmVmPSJBUElzeW1ib2xzLmh0bWwiPlN5bWJvbHM8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5SZWxhdGVkIGxpbmtzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iaHR0cDovL21haWwuZ25vbWUub3JnL2FyY2hpdmVzL3htbC8iPk1haWwgYXJjaGl2ZTwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvWFNMVC8iPlhTTFQgbGlieHNsdDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vcGhkLmNzLnVuaWJvLml0L2dkb21lMi8iPkRPTSBnZG9tZTI8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5hbGVrc2V5LmNvbS94bWxzZWMvIj5YTUwtRFNpZyB4bWxzZWM8L2E+PC9saT48bGk+PGEgaHJlZj0iZnRwOi8veG1sc29mdC5vcmcvIj5GVFA8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56bGF0a292aWMuY29tL3Byb2plY3RzL2xpYnhtbC8iPldpbmRvd3MgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL29wZW5jc3cub3JnL3BhY2thZ2VzL2xpYnhtbDIiPlNvbGFyaXMgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5leHBsYWluLmNvbS5hdS9vc3MvbGlieG1sMnhzbHQuaHRtbCI+TWFjT3NYIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9seG1sLmRlLyI+bHhtbCBQeXRob24gYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2NwYW4udXdpbm5pcGVnLmNhL2Rpc3QvWE1MLUxpYlhNTCI+UGVybCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1scGx1c3BsdXMuc291cmNlZm9yZ2UubmV0LyI+QysrIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemVuZC5jb20vcGhwNS9hcnRpY2xlcy9waHA1LXhtbHBocC5waHAjSGVhZGluZzQiPlBIUCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2xpYnhtbDItcGFzLyI+UGFzY2FsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWwucnVieWZvcmdlLm9yZy8iPlJ1YnkgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3RjbHhtbC5zb3VyY2Vmb3JnZS5uZXQvIj5UY2wgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9idWdsaXN0LmNnaT9wcm9kdWN0PWxpYnhtbDIiPkJ1ZyBUcmFja2VyPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIzIiBjZWxsc3BhY2luZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PGgyIGFsaWduPSJjZW50ZXIiPjxhIGhyZWY9IkFQSWNodW5rMC5odG1sIj5BLUI8L2E+Cis8YSBocmVmPSJBUEljaHVuazEuaHRtbCI+Qy1DPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyLmh0bWwiPkQtRTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMy5odG1sIj5GLUk8L2E+Cis8YSBocmVmPSJBUEljaHVuazQuaHRtbCI+Si1OPC9hPgorPGEgaHJlZj0iQVBJY2h1bms1Lmh0bWwiPk8tUDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNi5odG1sIj5RLVI8L2E+Cis8YSBocmVmPSJBUEljaHVuazcuaHRtbCI+Uy1TPC9hPgorPGEgaHJlZj0iQVBJY2h1bms4Lmh0bWwiPlQtVTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rOS5odG1sIj5WLVg8L2E+Cis8YSBocmVmPSJBUEljaHVuazEwLmh0bWwiPlktYTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTEuaHRtbCI+Yi1iPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMi5odG1sIj5jLWM8L2E+Cis8YSBocmVmPSJBUEljaHVuazEzLmh0bWwiPmQtZDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTQuaHRtbCI+ZS1lPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNS5odG1sIj5mLWY8L2E+Cis8YSBocmVmPSJBUEljaHVuazE2Lmh0bWwiPmctaDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTcuaHRtbCI+aS1pPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxOC5odG1sIj5qLWw8L2E+Cis8YSBocmVmPSJBUEljaHVuazE5Lmh0bWwiPm0tbTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjAuaHRtbCI+bi1uPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMS5odG1sIj5vLW88L2E+Cis8YSBocmVmPSJBUEljaHVuazIyLmh0bWwiPnAtcDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjMuaHRtbCI+cS1yPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNC5odG1sIj5zLXM8L2E+Cis8YSBocmVmPSJBUEljaHVuazI1Lmh0bWwiPnQtdDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjYuaHRtbCI+dS12PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNy5odG1sIj53LXc8L2E+Cis8YSBocmVmPSJBUEljaHVuazI4Lmh0bWwiPngteDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjkuaHRtbCI+eS16PC9hPgorPC9oMj48aDI+TGV0dGVyIG86PC9oMj48ZGw+PGR0Pm9iamVjdD88L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTnVtYmVyRnVuY3Rpb24iPnhtbFhQYXRoTnVtYmVyRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU3RyaW5nRnVuY3Rpb24iPnhtbFhQYXRoU3RyaW5nRnVuY3Rpb248L2E+PGJyIC8+Cis8L2RkPjxkdD5vYmplY3RzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCNfeG1sWFBhdGhDb250ZXh0Ij5feG1sWFBhdGhDb250ZXh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aENvbXBhcmVWYWx1ZXMiPnhtbFhQYXRoQ29tcGFyZVZhbHVlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0U2V0Q2FjaGUiPnhtbFhQYXRoQ29udGV4dFNldENhY2hlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aERpdlZhbHVlcyI+eG1sWFBhdGhEaXZWYWx1ZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRXF1YWxWYWx1ZXMiPnhtbFhQYXRoRXF1YWxWYWx1ZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoRnJlZU5vZGVTZXRMaXN0Ij54bWxYUGF0aEZyZWVOb2RlU2V0TGlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb3RFcXVhbFZhbHVlcyI+eG1sWFBhdGhOb3RFcXVhbFZhbHVlczwvYT48YnIgLz4KKzwvZGQ+PGR0Pm9iamVjdHM6PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEFkZFZhbHVlcyI+eG1sWFBhdGhBZGRWYWx1ZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoQ29tcGFyZVZhbHVlcyI+eG1sWFBhdGhDb21wYXJlVmFsdWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE1vZFZhbHVlcyI+eG1sWFBhdGhNb2RWYWx1ZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTXVsdFZhbHVlcyI+eG1sWFBhdGhNdWx0VmFsdWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFN1YlZhbHVlcyI+eG1sWFBhdGhTdWJWYWx1ZXM8L2E+PGJyIC8+Cis8L2RkPjxkdD5vYmxpZ2F0ZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVudGl0eVJlZiI+eG1sUGFyc2VFbnRpdHlSZWY8L2E+PGJyIC8+Cis8L2RkPjxkdD5vYnNvbGV0ZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sTm9ybWFsaXplV2luZG93c1BhdGgiPnhtbE5vcm1hbGl6ZVdpbmRvd3NQYXRoPC9hPjxiciAvPgorPC9kZD48ZHQ+b2Jzb2xldGU6PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0VMRU1fVE9QTEVWRUwiPlhNTF9TQ0hFTUFTX0VMRU1fVE9QTEVWRUw8L2E+PGJyIC8+Cis8L2RkPjxkdD5vY2N1cGllZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbENhbm9uaWNQYXRoIj54bWxDYW5vbmljUGF0aDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbFBhdGhUb1VSSSI+eG1sUGF0aFRvVVJJPC9hPjxiciAvPgorPC9kZD48ZHQ+b2NjdXI8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX0FCU0VOVCI+WE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX0FCU0VOVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQ29tbWVudCI+eG1sUGFyc2VDb21tZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VNYXJrdXBEZWNsIj54bWxQYXJzZU1hcmt1cERlY2w8L2E+PGJyIC8+Cis8L2RkPjxkdD5vY2N1cmVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxDdHh0R2V0TGFzdEVycm9yIj54bWxDdHh0R2V0TGFzdEVycm9yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGljdC5odG1sI3htbERpY3RDcmVhdGUiPnhtbERpY3RDcmVhdGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kaWN0Lmh0bWwjeG1sRGljdENyZWF0ZVN1YiI+eG1sRGljdENyZWF0ZVN1YjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sR2V0TGFzdEVycm9yIj54bWxHZXRMYXN0RXJyb3I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaENyZWF0ZSI+eG1sSGFzaENyZWF0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoQ3JlYXRlRGljdCI+eG1sSGFzaENyZWF0ZURpY3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdFJlbW92ZUZpcnN0Ij54bWxMaXN0UmVtb3ZlRmlyc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdFJlbW92ZUxhc3QiPnhtbExpc3RSZW1vdmVMYXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckVycm9yRnVuYyI+eG1sVGV4dFJlYWRlckVycm9yRnVuYzwvYT48YnIgLz4KKzwvZGQ+PGR0Pm9jY3VyZW5jZXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhTmV3Q291bnRUcmFucyI+eG1sQXV0b21hdGFOZXdDb3VudFRyYW5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld0NvdW50VHJhbnMyIj54bWxBdXRvbWF0YU5ld0NvdW50VHJhbnMyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld09uY2VUcmFucyI+eG1sQXV0b21hdGFOZXdPbmNlVHJhbnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhTmV3T25jZVRyYW5zMiI+eG1sQXV0b21hdGFOZXdPbmNlVHJhbnMyPC9hPjxiciAvPgorPC9kZD48ZHQ+b2NjdXJyZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNZW1TdHJkdXBMb2MiPnhtbE1lbVN0cmR1cExvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1lbW9yeVN0cmR1cCI+eG1sTWVtb3J5U3RyZHVwPC9hPjxiciAvPgorPC9kZD48ZHQ+b2NjdXJyZW5jZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFN0cmNhc2VzdHIiPnhtbFN0cmNhc2VzdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJjaHIiPnhtbFN0cmNocjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFN0cnN0ciI+eG1sU3Ryc3RyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3Ryc3ViIj54bWxTdHJzdWI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU3Vic3RyaW5nQWZ0ZXJGdW5jdGlvbiI+eG1sWFBhdGhTdWJzdHJpbmdBZnRlckZ1bmN0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFN1YnN0cmluZ0JlZm9yZUZ1bmN0aW9uIj54bWxYUGF0aFN1YnN0cmluZ0JlZm9yZUZ1bmN0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+b2NjdXJyZW5jZXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoVHJhbnNsYXRlRnVuY3Rpb24iPnhtbFhQYXRoVHJhbnNsYXRlRnVuY3Rpb248L2E+PGJyIC8+Cis8L2RkPjxkdD5vY2N1cnM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxOb3JtYWxpemVVUklQYXRoIj54bWxOb3JtYWxpemVVUklQYXRoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VTRERlY2wiPnhtbFBhcnNlU0REZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3RyUHJpbnRmIj54bWxTdHJQcmludGY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJWUHJpbnRmIj54bWxTdHJWUHJpbnRmPC9hPjxiciAvPgorPC9kZD48ZHQ+b2N0ZXRzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI1VURjhUb0h0bWwiPlVURjhUb0h0bWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI1VURjhUb2lzb2xhdDEiPlVURjhUb2lzb2xhdDE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1ET0NCcGFyc2VyLmh0bWwjZG9jYkVuY29kZUVudGl0aWVzIj5kb2NiRW5jb2RlRW50aXRpZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEVuY29kZUVudGl0aWVzIj5odG1sRW5jb2RlRW50aXRpZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI2lzb2xhdDFUb1VURjgiPmlzb2xhdDFUb1VURjg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZ0lucHV0RnVuYyI+eG1sQ2hhckVuY29kaW5nSW5wdXRGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmdPdXRwdXRGdW5jIj54bWxDaGFyRW5jb2RpbmdPdXRwdXRGdW5jPC9hPjxiciAvPgorPC9kZD48ZHQ+b2Y6PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VTRERlY2wiPnhtbFBhcnNlU0REZWNsPC9hPjxiciAvPgorPC9kZD48ZHQ+b2ZmPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEdldE5vTnNQcm9wIj54bWxHZXROb05zUHJvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxHZXROc1Byb3AiPnhtbEdldE5zUHJvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxHZXRQcm9wIj54bWxHZXRQcm9wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEhhc05zUHJvcCI+eG1sSGFzTnNQcm9wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEhhc1Byb3AiPnhtbEhhc1Byb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxMaW5lTnVtYmVyc0RlZmF1bHQiPnhtbExpbmVOdW1iZXJzRGVmYXVsdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRXh0ZXJuYWxJRCI+eG1sUGFyc2VFeHRlcm5hbElEPC9hPjxiciAvPgorPC9kZD48ZHQ+b2theTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI194bWxQYXJzZXJDdHh0Ij5feG1sUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzwvZGQ+PGR0Pm9sZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNfeG1sRG9jIj5feG1sRG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjZ2xvYmFsTmFtZXNwYWNlIj5nbG9iYWxOYW1lc3BhY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRG9jU2V0Um9vdEVsZW1lbnQiPnhtbERvY1NldFJvb3RFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sS2VlcEJsYW5rc0RlZmF1bHQiPnhtbEtlZXBCbGFua3NEZWZhdWx0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sTGluZU51bWJlcnNEZWZhdWx0Ij54bWxMaW5lTnVtYmVyc0RlZmF1bHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdENvcHkiPnhtbExpc3RDb3B5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld0dsb2JhbE5zIj54bWxOZXdHbG9iYWxOczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQiPnhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRGVmYXVsdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRGVmYXVsdCI+eG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyR3JvdyI+eG1sUGFyc2VySW5wdXRCdWZmZXJHcm93PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlclJlYWQiPnhtbFBhcnNlcklucHV0QnVmZmVyUmVhZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxSZWdpc3Rlck5vZGVEZWZhdWx0Ij54bWxSZWdpc3Rlck5vZGVEZWZhdWx0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFJlcGxhY2VOb2RlIj54bWxSZXBsYWNlTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb252ZXJ0Qm9vbGVhbiI+eG1sWFBhdGhDb252ZXJ0Qm9vbGVhbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb252ZXJ0TnVtYmVyIj54bWxYUGF0aENvbnZlcnROdW1iZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udmVydFN0cmluZyI+eG1sWFBhdGhDb252ZXJ0U3RyaW5nPC9hPjxiciAvPgorPC9kZD48ZHQ+b2xkTnM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcEFkb3B0Tm9kZSI+eG1sRE9NV3JhcEFkb3B0Tm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwQ2xvbmVOb2RlIj54bWxET01XcmFwQ2xvbmVOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBSZW1vdmVOb2RlIj54bWxET01XcmFwUmVtb3ZlTm9kZTwvYT48YnIgLz4KKzwvZGQ+PGR0Pm9sZGVyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9TQVgxX0VOQUJMRUQiPkxJQlhNTF9TQVgxX0VOQUJMRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZU5hbWVzcGFjZSI+eG1sUGFyc2VOYW1lc3BhY2U8L2E+PGJyIC8+Cis8L2RkPjxkdD5vbWl0dGVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxIYW5kbGVPbWl0dGVkRWxlbSI+aHRtbEhhbmRsZU9taXR0ZWRFbGVtPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aExvY2FsTmFtZUZ1bmN0aW9uIj54bWxYUGF0aExvY2FsTmFtZUZ1bmN0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5hbWVzcGFjZVVSSUZ1bmN0aW9uIj54bWxYUGF0aE5hbWVzcGFjZVVSSUZ1bmN0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vcm1hbGl6ZUZ1bmN0aW9uIj54bWxYUGF0aE5vcm1hbGl6ZUZ1bmN0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFN0cmluZ0Z1bmN0aW9uIj54bWxYUGF0aFN0cmluZ0Z1bmN0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFN0cmluZ0xlbmd0aEZ1bmN0aW9uIj54bWxYUGF0aFN0cmluZ0xlbmd0aEZ1bmN0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+b25jZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI2h0bWxJbml0QXV0b0Nsb3NlIj5odG1sSW5pdEF1dG9DbG9zZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdPbmNlVHJhbnMiPnhtbEF1dG9tYXRhTmV3T25jZVRyYW5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld09uY2VUcmFuczIiPnhtbEF1dG9tYXRhTmV3T25jZVRyYW5zMjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRocmVhZHMuaHRtbCN4bWxDbGVhbnVwVGhyZWFkcyI+eG1sQ2xlYW51cFRocmVhZHM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI3htbEVuY29kZUVudGl0aWVzIj54bWxFbmNvZGVFbnRpdGllczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEluaXRQYXJzZXIiPnhtbEluaXRQYXJzZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sSW5pdGlhbGl6ZUNhdGFsb2ciPnhtbEluaXRpYWxpemVDYXRhbG9nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbExvYWRDYXRhbG9nIj54bWxMb2FkQ2F0YWxvZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxMb2FkQ2F0YWxvZ3MiPnhtbExvYWRDYXRhbG9nczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQXR0cmlidXRlVHlwZSI+eG1sUGFyc2VBdHRyaWJ1dGVUeXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbGVtZW50RGVjbCI+eG1sUGFyc2VFbGVtZW50RGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRWxlbWVudE1peGVkQ29udGVudERlY2wiPnhtbFBhcnNlRWxlbWVudE1peGVkQ29udGVudERlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZVBJIj54bWxQYXJzZVBJPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VTdGFydFRhZyI+eG1sUGFyc2VTdGFydFRhZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJDdXJyZW50RG9jIj54bWxUZXh0UmVhZGVyQ3VycmVudERvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQcmVzZXJ2ZSI+eG1sVGV4dFJlYWRlclByZXNlcnZlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclByZXNlcnZlUGF0dGVybiI+eG1sVGV4dFJlYWRlclByZXNlcnZlUGF0dGVybjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVEb2N1bWVudEZpbmFsIj54bWxWYWxpZGF0ZURvY3VtZW50RmluYWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlRHRkRmluYWwiPnhtbFZhbGlkYXRlRHRkRmluYWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9kZVNldE1lcmdlIj54bWxYUGF0aE5vZGVTZXRNZXJnZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ckxvY2F0aW9uU2V0TWVyZ2UiPnhtbFhQdHJMb2NhdGlvblNldE1lcmdlPC9hPjxiciAvPgorPC9kZD48ZHQ+b25lczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9DT01QTEVURV9BVFRSUyI+WE1MX0NPTVBMRVRFX0FUVFJTPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjc3RhcnRFbGVtZW50TnNTQVgyRnVuYyI+c3RhcnRFbGVtZW50TnNTQVgyRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nQ29udmVydCI+eG1sQ2F0YWxvZ0NvbnZlcnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ29udmVydFNHTUxDYXRhbG9nIj54bWxDb252ZXJ0U0dNTENhdGFsb2c8L2E+PGJyIC8+Cis8L2RkPjxkdD5vbm9ueW1vdXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjX3htbFNjaGVtYSI+X3htbFNjaGVtYTwvYT48YnIgLz4KKzwvZGQ+PGR0Pm9udG88L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyR3JvdyI+eG1sUGFyc2VySW5wdXRCdWZmZXJHcm93PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbFN0cmVhbVB1c2giPnhtbFN0cmVhbVB1c2g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sU3RyZWFtUHVzaEF0dHIiPnhtbFN0cmVhbVB1c2hBdHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbFN0cmVhbVB1c2hOb2RlIj54bWxTdHJlYW1QdXNoTm9kZTwvYT48YnIgLz4KKzwvZGQ+PGR0Pm9wYXF1ZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNfeG1sU2NoZW1hIj5feG1sU2NoZW1hPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjX3htbFVSSSI+X3htbFVSSTwvYT48YnIgLz4KKzwvZGQ+PGR0Pm9wZW48L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEN0eHRSZWFkRmQiPmh0bWxDdHh0UmVhZEZkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNodG1sRG9jRHVtcCI+aHRtbERvY0R1bXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFJlYWRGZCI+aHRtbFJlYWRGZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEN0eHRSZWFkRmQiPnhtbEN0eHRSZWFkRmQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRG9jRHVtcCI+eG1sRG9jRHVtcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxEb2NGb3JtYXREdW1wIj54bWxEb2NGb3JtYXREdW1wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxJT0ZUUE9wZW4iPnhtbElPRlRQT3BlbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sSU9IVFRQT3BlbiI+eG1sSU9IVFRQT3BlbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sSW5wdXRPcGVuQ2FsbGJhY2siPnhtbElucHV0T3BlbkNhbGxiYWNrPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBDb25uZWN0Ij54bWxOYW5vRlRQQ29ubmVjdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQQ29ubmVjdFRvIj54bWxOYW5vRlRQQ29ubmVjdFRvPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBHZXRDb25uZWN0aW9uIj54bWxOYW5vRlRQR2V0Q29ubmVjdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9odHRwLmh0bWwjeG1sTmFub0hUVFBNZXRob2QiPnhtbE5hbm9IVFRQTWV0aG9kPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUE1ldGhvZFJlZGlyIj54bWxOYW5vSFRUUE1ldGhvZFJlZGlyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUE9wZW4iPnhtbE5hbm9IVFRQT3BlbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9odHRwLmh0bWwjeG1sTmFub0hUVFBPcGVuUmVkaXIiPnhtbE5hbm9IVFRQT3BlblJlZGlyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRPcGVuQ2FsbGJhY2siPnhtbE91dHB1dE9wZW5DYWxsYmFjazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFJlYWRGZCI+eG1sUmVhZEZkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sUmVhZGVyRm9yRmQiPnhtbFJlYWRlckZvckZkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sUmVhZGVyTmV3RmQiPnhtbFJlYWRlck5ld0ZkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlckVuZERvY3VtZW50Ij54bWxUZXh0V3JpdGVyRW5kRG9jdW1lbnQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5vcGVuaW5nPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjc3RhcnRFbGVtZW50Ij5zdGFydEVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNzdGFydEVsZW1lbnRTQVhGdW5jIj5zdGFydEVsZW1lbnRTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbGVtZW50Q2hpbGRyZW5Db250ZW50RGVjbCI+eG1sUGFyc2VFbGVtZW50Q2hpbGRyZW5Db250ZW50RGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyU3RhcnRFbGVtZW50Ij54bWxTQVgyU3RhcnRFbGVtZW50PC9hPjxiciAvPgorPC9kZD48ZHQ+b3BlcmFuZHM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoQWRkVmFsdWVzIj54bWxYUGF0aEFkZFZhbHVlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhEaXZWYWx1ZXMiPnhtbFhQYXRoRGl2VmFsdWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE1vZFZhbHVlcyI+eG1sWFBhdGhNb2RWYWx1ZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTXVsdFZhbHVlcyI+eG1sWFBhdGhNdWx0VmFsdWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFN1YlZhbHVlcyI+eG1sWFBhdGhTdWJWYWx1ZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoVmFsdWVGbGlwU2lnbiI+eG1sWFBhdGhWYWx1ZUZsaXBTaWduPC9hPjxiciAvPgorPC9kZD48ZHQ+b3BlcmF0aW5nPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjX3htbFBhcnNlckN0eHQiPl94bWxQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlckdyb3ciPnhtbFBhcnNlcklucHV0QnVmZmVyR3JvdzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJQdXNoIj54bWxQYXJzZXJJbnB1dEJ1ZmZlclB1c2g8L2E+PGJyIC8+Cis8L2RkPjxkdD5vcGVyYXRpb248L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxCdWlsZFJlbGF0aXZlVVJJIj54bWxCdWlsZFJlbGF0aXZlVVJJPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dTZXREZWJ1ZyI+eG1sQ2F0YWxvZ1NldERlYnVnPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBBZG9wdE5vZGUiPnhtbERPTVdyYXBBZG9wdE5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcENsb25lTm9kZSI+eG1sRE9NV3JhcENsb25lTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5ld09yIj54bWxFeHBOZXdPcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5ld1JhbmdlIj54bWxFeHBOZXdSYW5nZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5ld1NlcSI+eG1sRXhwTmV3U2VxPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckNvbnN0VmFsdWUiPnhtbFRleHRSZWFkZXJDb25zdFZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEFkZFZhbHVlcyI+eG1sWFBhdGhBZGRWYWx1ZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoQ29tcGFyZVZhbHVlcyI+eG1sWFBhdGhDb21wYXJlVmFsdWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbnZlcnRCb29sZWFuIj54bWxYUGF0aENvbnZlcnRCb29sZWFuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbnZlcnROdW1iZXIiPnhtbFhQYXRoQ29udmVydE51bWJlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb252ZXJ0U3RyaW5nIj54bWxYUGF0aENvbnZlcnRTdHJpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRGl2VmFsdWVzIj54bWxYUGF0aERpdlZhbHVlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhFcXVhbFZhbHVlcyI+eG1sWFBhdGhFcXVhbFZhbHVlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhNb2RWYWx1ZXMiPnhtbFhQYXRoTW9kVmFsdWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE11bHRWYWx1ZXMiPnhtbFhQYXRoTXVsdFZhbHVlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb3RFcXVhbFZhbHVlcyI+eG1sWFBhdGhOb3RFcXVhbFZhbHVlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdWJWYWx1ZXMiPnhtbFhQYXRoU3ViVmFsdWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFZhbHVlRmxpcFNpZ24iPnhtbFhQYXRoVmFsdWVGbGlwU2lnbjwvYT48YnIgLz4KKzwvZGQ+PGR0Pm9wZXJhdGlvbnM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjX3htbERPTVdyYXBDdHh0Ij5feG1sRE9NV3JhcEN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxDbGVhbnVwUGFyc2VyIj54bWxDbGVhbnVwUGFyc2VyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbW9kdWxlLmh0bWwjeG1sTW9kdWxlQ2xvc2UiPnhtbE1vZHVsZUNsb3NlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbW9kdWxlLmh0bWwjeG1sTW9kdWxlRnJlZSI+eG1sTW9kdWxlRnJlZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxSZWNvbmNpbGlhdGVOcyI+eG1sUmVjb25jaWxpYXRlTnM8L2E+PGJyIC8+Cis8L2RkPjxkdD5vcGVyYXRvcjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cFBhcnNlIj54bWxFeHBQYXJzZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhDb21wYXJlVmFsdWVzIj54bWxYUGF0aENvbXBhcmVWYWx1ZXM8L2E+PGJyIC8+Cis8L2RkPjxkdD5vcGVyYXRvcnM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBQYXJzZSI+eG1sRXhwUGFyc2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoQWRkVmFsdWVzIj54bWxYUGF0aEFkZFZhbHVlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhEaXZWYWx1ZXMiPnhtbFhQYXRoRGl2VmFsdWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE1vZFZhbHVlcyI+eG1sWFBhdGhNb2RWYWx1ZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTXVsdFZhbHVlcyI+eG1sWFBhdGhNdWx0VmFsdWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFN1YlZhbHVlcyI+eG1sWFBhdGhTdWJWYWx1ZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoVmFsdWVGbGlwU2lnbiI+eG1sWFBhdGhWYWx1ZUZsaXBTaWduPC9hPjxiciAvPgorPC9kZD48ZHQ+b3Bwb3NpdGU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxDbGVhbnVwUGFyc2VyIj54bWxDbGVhbnVwUGFyc2VyPC9hPjxiciAvPgorPC9kZD48ZHQ+b3B0aW1pemVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vZGVTZXRBZGRVbmlxdWUiPnhtbFhQYXRoTm9kZVNldEFkZFVuaXF1ZTwvYT48YnIgLz4KKzwvZGQ+PGR0Pm9wdGlvbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI1hNTF9NQVhfRElDVElPTkFSWV9MSU1JVCI+WE1MX01BWF9ESUNUSU9OQVJZX0xJTUlUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjWE1MX01BWF9OQU1FX0xFTkdUSCI+WE1MX01BWF9OQU1FX0xFTkdUSDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI1hNTF9NQVhfVEVYVF9MRU5HVEgiPlhNTF9NQVhfVEVYVF9MRU5HVEg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcEFkb3B0Tm9kZSI+eG1sRE9NV3JhcEFkb3B0Tm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwQ2xvbmVOb2RlIj54bWxET01XcmFwQ2xvbmVOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBSZWNvbmNpbGVOYW1lc3BhY2VzIj54bWxET01XcmFwUmVjb25jaWxlTmFtZXNwYWNlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxHZXRMaW5lTm8iPnhtbEdldExpbmVObzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZEN0eHRHZXRPcHRpb25zIj54bWxTY2hlbWFWYWxpZEN0eHRHZXRPcHRpb25zPC9hPjxiciAvPgorPC9kZD48ZHQ+b3B0aW9uczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sQ3R4dFVzZU9wdGlvbnMiPmh0bWxDdHh0VXNlT3B0aW9uczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEN0eHRVc2VPcHRpb25zIj54bWxDdHh0VXNlT3B0aW9uczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwUmVtb3ZlTm9kZSI+eG1sRE9NV3JhcFJlbW92ZU5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtb2R1bGUuaHRtbCN4bWxNb2R1bGVPcGVuIj54bWxNb2R1bGVPcGVuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2F2ZS5odG1sI3htbFNhdmVUb0J1ZmZlciI+eG1sU2F2ZVRvQnVmZmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2F2ZS5odG1sI3htbFNhdmVUb0ZkIj54bWxTYXZlVG9GZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNhdmUuaHRtbCN4bWxTYXZlVG9GaWxlbmFtZSI+eG1sU2F2ZVRvRmlsZW5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzYXZlLmh0bWwjeG1sU2F2ZVRvSU8iPnhtbFNhdmVUb0lPPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVNldFZhbGlkT3B0aW9ucyI+eG1sU2NoZW1hU2V0VmFsaWRPcHRpb25zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkQ3R4dEdldE9wdGlvbnMiPnhtbFNjaGVtYVZhbGlkQ3R4dEdldE9wdGlvbnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRhdGVGaWxlIj54bWxTY2hlbWFWYWxpZGF0ZUZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUmVsYXhOR1ZhbGlkYXRlQ3R4dCI+eG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZUN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyU2NoZW1hVmFsaWRhdGVDdHh0Ij54bWxUZXh0UmVhZGVyU2NoZW1hVmFsaWRhdGVDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclNldHVwIj54bWxUZXh0UmVhZGVyU2V0dXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFNldENhY2hlIj54bWxYUGF0aENvbnRleHRTZXRDYWNoZTwvYT48YnIgLz4KKzwvZGQ+PGR0Pm9yZGVyZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdEFwcGVuZCI+eG1sTGlzdEFwcGVuZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0SW5zZXJ0Ij54bWxMaXN0SW5zZXJ0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHRBbmNlc3RvciI+eG1sWFBhdGhOZXh0QW5jZXN0b3I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV4dEZvbGxvd2luZyI+eG1sWFBhdGhOZXh0Rm9sbG93aW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHRQcmVjZWRpbmciPnhtbFhQYXRoTmV4dFByZWNlZGluZzwvYT48YnIgLz4KKzwvZGQ+PGR0Pm9yZGVyaW5nPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3REYXRhQ29tcGFyZSI+eG1sTGlzdERhdGFDb21wYXJlPC9hPjxiciAvPgorPC9kZD48ZHQ+b3JnPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteGluY2x1ZGUuaHRtbCNYSU5DTFVERV9OUyI+WElOQ0xVREVfTlM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14aW5jbHVkZS5odG1sI1hJTkNMVURFX09MRF9OUyI+WElOQ0xVREVfT0xEX05TPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtYzE0bi5odG1sI3htbEMxNE5Eb2NEdW1wTWVtb3J5Ij54bWxDMTRORG9jRHVtcE1lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTRORG9jU2F2ZSI+eG1sQzE0TkRvY1NhdmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jMTRuLmh0bWwjeG1sQzE0TkRvY1NhdmVUbyI+eG1sQzE0TkRvY1NhdmVUbzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTRORXhlY3V0ZSI+eG1sQzE0TkV4ZWN1dGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxDaGVja0xhbmd1YWdlSUQiPnhtbENoZWNrTGFuZ3VhZ2VJRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sR2V0Q2hhckVuY29kaW5nTmFtZSI+eG1sR2V0Q2hhckVuY29kaW5nTmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlckhhbmRsZVBFUmVmZXJlbmNlIj54bWxQYXJzZXJIYW5kbGVQRVJlZmVyZW5jZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlckhhbmRsZVJlZmVyZW5jZSI+eG1sUGFyc2VySGFuZGxlUmVmZXJlbmNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hR2V0UHJlZGVmaW5lZFR5cGUiPnhtbFNjaGVtYUdldFByZWRlZmluZWRUeXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlck5vZGVUeXBlIj54bWxUZXh0UmVhZGVyTm9kZVR5cGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5vcmllbnRlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRpdHlFcnJvckZ1bmMiPnhtbFZhbGlkaXR5RXJyb3JGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGl0eVdhcm5pbmdGdW5jIj54bWxWYWxpZGl0eVdhcm5pbmdGdW5jPC9hPjxiciAvPgorPC9kZD48ZHQ+b3JpZ2luPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCNfeG1sWFBhdGhDb250ZXh0Ij5feG1sWFBhdGhDb250ZXh0PC9hPjxiciAvPgorPC9kZD48ZHQ+b3JpZ2luYWw8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjX3htbFNjaGVtYUVsZW1lbnQiPl94bWxTY2hlbWFFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI194bWxTY2hlbWFGYWNldCI+X3htbFNjaGVtYUZhY2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmdJbnB1dEZ1bmMiPnhtbENoYXJFbmNvZGluZ0lucHV0RnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sQ29weUVycm9yIj54bWxDb3B5RXJyb3I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbEdldEVuY29kaW5nQWxpYXMiPnhtbEdldEVuY29kaW5nQWxpYXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdE1lcmdlIj54bWxMaXN0TWVyZ2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVudGl0eVZhbHVlIj54bWxQYXJzZUVudGl0eVZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sUGFyc2VVUklSYXciPnhtbFBhcnNlVVJJUmF3PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVNBWFBsdWciPnhtbFNjaGVtYVNBWFBsdWc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hU0FYVW5wbHVnIj54bWxTY2hlbWFTQVhVbnBsdWc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsU2F2ZSI+eG1sU2hlbGxTYXZlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3RyY2F0Ij54bWxTdHJjYXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJuY2F0Ij54bWxTdHJuY2F0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3RybmNhdE5ldyI+eG1sU3RybmNhdE5ldzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RDb3B5Ij54bWxYUGF0aE9iamVjdENvcHk8L2E+PGJyIC8+Cis8L2RkPjxkdD5vdGhlcjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19JTkNMVURJTkdfQ09OVkVSVF9OUyI+WE1MX1NDSEVNQVNfSU5DTFVESU5HX0NPTlZFUlRfTlM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEF1dG9DbG9zZVRhZyI+aHRtbEF1dG9DbG9zZVRhZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sSXNBdXRvQ2xvc2VkIj5odG1sSXNBdXRvQ2xvc2VkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxOb2RlU3RhdHVzIj5odG1sTm9kZVN0YXR1czwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdOZWdUcmFucyI+eG1sQXV0b21hdGFOZXdOZWdUcmFuczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nQWRkIj54bWxDYXRhbG9nQWRkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sR2NNZW1TZXR1cCI+eG1sR2NNZW1TZXR1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxMb2FkQUNhdGFsb2ciPnhtbExvYWRBQ2F0YWxvZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1lbVNldHVwIj54bWxNZW1TZXR1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQVXBkYXRlVVJMIj54bWxOYW5vRlRQVXBkYXRlVVJMPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VBdHRWYWx1ZSI+eG1sUGFyc2VBdHRWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQXR0cmlidXRlIj54bWxQYXJzZUF0dHJpYnV0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlTmFtZXNwYWNlIj54bWxQYXJzZU5hbWVzcGFjZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlU0REZWNsIj54bWxQYXJzZVNERGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYU5ld1N0cmluZ1ZhbHVlIj54bWxTY2hlbWFOZXdTdHJpbmdWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJJc05hbWVzcGFjZURlY2wiPnhtbFRleHRSZWFkZXJJc05hbWVzcGFjZURlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUmVhZFN0cmluZyI+eG1sVGV4dFJlYWRlclJlYWRTdHJpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlUm9vdCI+eG1sVmFsaWRhdGVSb290PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aElkRnVuY3Rpb24iPnhtbFhQYXRoSWRGdW5jdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb3JtYWxpemVGdW5jdGlvbiI+eG1sWFBhdGhOb3JtYWxpemVGdW5jdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdHJpbmdGdW5jdGlvbiI+eG1sWFBhdGhTdHJpbmdGdW5jdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdHJpbmdMZW5ndGhGdW5jdGlvbiI+eG1sWFBhdGhTdHJpbmdMZW5ndGhGdW5jdGlvbjwvYT48YnIgLz4KKzwvZGQ+PGR0Pm91cjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI3NldERvY3VtZW50TG9jYXRvciI+c2V0RG9jdW1lbnRMb2NhdG9yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjc2V0RG9jdW1lbnRMb2NhdG9yU0FYRnVuYyI+c2V0RG9jdW1lbnRMb2NhdG9yU0FYRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyU2V0RG9jdW1lbnRMb2NhdG9yIj54bWxTQVgyU2V0RG9jdW1lbnRMb2NhdG9yPC9hPjxiciAvPgorPC9kZD48ZHQ+b3V0PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI1VURjhUb0h0bWwiPlVURjhUb0h0bWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI1VURjhUb2lzb2xhdDEiPlVURjhUb2lzb2xhdDE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1ET0NCcGFyc2VyLmh0bWwjZG9jYkVuY29kZUVudGl0aWVzIj5kb2NiRW5jb2RlRW50aXRpZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEVuY29kZUVudGl0aWVzIj5odG1sRW5jb2RlRW50aXRpZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI2lzb2xhdDFUb1VURjgiPmlzb2xhdDFUb1VURjg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZ0lucHV0RnVuYyI+eG1sQ2hhckVuY29kaW5nSW5wdXRGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbExvY2tMaWJyYXJ5Ij54bWxMb2NrTGlicmFyeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlRW50aXR5Ij54bWxQYXJzZUVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNBWFBhcnNlRW50aXR5Ij54bWxTQVhQYXJzZUVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZGl0eUxvY2F0b3JGdW5jIj54bWxTY2hlbWFWYWxpZGl0eUxvY2F0b3JGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxTZXRHZW5lcmljRXJyb3JGdW5jIj54bWxTZXRHZW5lcmljRXJyb3JGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxTZXRTdHJ1Y3R1cmVkRXJyb3JGdW5jIj54bWxTZXRTdHJ1Y3R1cmVkRXJyb3JGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlck5vcm1hbGl6YXRpb24iPnhtbFRleHRSZWFkZXJOb3JtYWxpemF0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aEZ1bmN0aW9uIj54bWxYUGF0aEZ1bmN0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE5vZGVTZXRJdGVtIj54bWxYUGF0aE5vZGVTZXRJdGVtPC9hPjxiciAvPgorPC9kZD48ZHQ+b3V0LW9mPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBBZG9wdE5vZGUiPnhtbERPTVdyYXBBZG9wdE5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcENsb25lTm9kZSI+eG1sRE9NV3JhcENsb25lTm9kZTwvYT48YnIgLz4KKzwvZGQ+PGR0Pm91dHB1dD88L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxOZXdUZXh0V3JpdGVyRG9jIj54bWxOZXdUZXh0V3JpdGVyRG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sTmV3VGV4dFdyaXRlckZpbGVuYW1lIj54bWxOZXdUZXh0V3JpdGVyRmlsZW5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxOZXdUZXh0V3JpdGVyTWVtb3J5Ij54bWxOZXdUZXh0V3JpdGVyTWVtb3J5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sTmV3VGV4dFdyaXRlclB1c2hQYXJzZXIiPnhtbE5ld1RleHRXcml0ZXJQdXNoUGFyc2VyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sTmV3VGV4dFdyaXRlclRyZWUiPnhtbE5ld1RleHRXcml0ZXJUcmVlPC9hPjxiciAvPgorPC9kZD48ZHQ+b3V0c2lkZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxSZWNvbmNpbGlhdGVOcyI+eG1sUmVjb25jaWxpYXRlTnM8L2E+PGJyIC8+Cis8L2RkPjxkdD5vdmVyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwQ3R4dE5iQ29ucyI+eG1sRXhwQ3R4dE5iQ29uczwvYT48YnIgLz4KKzwvZGQ+PGR0Pm92ZXJmbG93PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjX3htbFBhcnNlcklucHV0Ij5feG1sUGFyc2VySW5wdXQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5vdmVycmlkZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI1hNTF9NQVhfRElDVElPTkFSWV9MSU1JVCI+WE1MX01BWF9ESUNUSU9OQVJZX0xJTUlUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjWE1MX01BWF9OQU1FX0xFTkdUSCI+WE1MX01BWF9OQU1FX0xFTkdUSDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI1hNTF9NQVhfVEVYVF9MRU5HVEgiPlhNTF9NQVhfVEVYVF9MRU5HVEg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNyZXNvbHZlRW50aXR5Ij5yZXNvbHZlRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjcmVzb2x2ZUVudGl0eVNBWEZ1bmMiPnJlc29sdmVFbnRpdHlTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dBZGQiPnhtbENhdGFsb2dBZGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sR2V0TGluZU5vIj54bWxHZXRMaW5lTm88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMlJlc29sdmVFbnRpdHkiPnhtbFNBWDJSZXNvbHZlRW50aXR5PC9hPjxiciAvPgorPC9kZD48ZHQ+b3ZlcnJpZGluZzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI1hNTF9NQVhfTkFNRV9MRU5HVEgiPlhNTF9NQVhfTkFNRV9MRU5HVEg8L2E+PGJyIC8+Cis8L2RkPjxkdD5vdmVyd3JpdGU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQUNhdGFsb2dBZGQiPnhtbEFDYXRhbG9nQWRkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dBZGQiPnhtbENhdGFsb2dBZGQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5vdmVyd3JpdHRlbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQWRkRW5jb2RpbmdBbGlhcyI+eG1sQWRkRW5jb2RpbmdBbGlhczwvYT48YnIgLz4KKzwvZGQ+PGR0Pm93bjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjX3htbEVudGl0eSI+X3htbEVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI194bWxQYXJzZXJDdHh0Ij5feG1sUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI3Jlc29sdmVFbnRpdHkiPnJlc29sdmVFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNyZXNvbHZlRW50aXR5U0FYRnVuYyI+cmVzb2x2ZUVudGl0eVNBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxDbGVhbnVwTWVtb3J5Ij54bWxDbGVhbnVwTWVtb3J5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJSZXNvbHZlRW50aXR5Ij54bWxTQVgyUmVzb2x2ZUVudGl0eTwvYT48YnIgLz4KKzwvZGQ+PGR0Pm93bmVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ2xlYXJQYXJzZXJDdHh0Ij54bWxDbGVhclBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kaWN0Lmh0bWwjeG1sRGljdE93bnMiPnhtbERpY3RPd25zPC9hPjxiciAvPgorPC9kZD48ZHQ+b3duZXI8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjZnRwTGlzdENhbGxiYWNrIj5mdHBMaXN0Q2FsbGJhY2s8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcFJlbW92ZU5vZGUiPnhtbERPTVdyYXBSZW1vdmVOb2RlPC9hPjxiciAvPgorPC9kZD48ZHQ+b3duZXJzaGlwPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxBZGRBdHRyaWJ1dGVEZWNsIj54bWxBZGRBdHRyaWJ1dGVEZWNsPC9hPjxiciAvPgorPC9kZD48ZHQ+b3duaW5nPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxDb3B5RG9jRWxlbWVudENvbnRlbnQiPnhtbENvcHlEb2NFbGVtZW50Q29udGVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sRnJlZURvY0VsZW1lbnRDb250ZW50Ij54bWxGcmVlRG9jRWxlbWVudENvbnRlbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3RG9jRnJhZ21lbnQiPnhtbE5ld0RvY0ZyYWdtZW50PC9hPjxiciAvPgorPC9kZD48ZHQ+b3duczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX09XTkVEX0FUVFJfV0lMRENBUkQiPlhNTF9TQ0hFTUFTX1RZUEVfT1dORURfQVRUUl9XSUxEQ0FSRDwvYT48YnIgLz4KKzwvZGQ+PC9kbD48aDIgYWxpZ249ImNlbnRlciI+PGEgaHJlZj0iQVBJY2h1bmswLmh0bWwiPkEtQjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMS5odG1sIj5DLUM8L2E+Cis8YSBocmVmPSJBUEljaHVuazIuaHRtbCI+RC1FPC9hPgorPGEgaHJlZj0iQVBJY2h1bmszLmh0bWwiPkYtSTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNC5odG1sIj5KLU48L2E+Cis8YSBocmVmPSJBUEljaHVuazUuaHRtbCI+Ty1QPC9hPgorPGEgaHJlZj0iQVBJY2h1bms2Lmh0bWwiPlEtUjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNy5odG1sIj5TLVM8L2E+Cis8YSBocmVmPSJBUEljaHVuazguaHRtbCI+VC1VPC9hPgorPGEgaHJlZj0iQVBJY2h1bms5Lmh0bWwiPlYtWDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTAuaHRtbCI+WS1hPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMS5odG1sIj5iLWI8L2E+Cis8YSBocmVmPSJBUEljaHVuazEyLmh0bWwiPmMtYzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTMuaHRtbCI+ZC1kPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNC5odG1sIj5lLWU8L2E+Cis8YSBocmVmPSJBUEljaHVuazE1Lmh0bWwiPmYtZjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTYuaHRtbCI+Zy1oPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNy5odG1sIj5pLWk8L2E+Cis8YSBocmVmPSJBUEljaHVuazE4Lmh0bWwiPmotbDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTkuaHRtbCI+bS1tPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMC5odG1sIj5uLW48L2E+Cis8YSBocmVmPSJBUEljaHVuazIxLmh0bWwiPm8tbzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjIuaHRtbCI+cC1wPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMy5odG1sIj5xLXI8L2E+Cis8YSBocmVmPSJBUEljaHVuazI0Lmh0bWwiPnMtczwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjUuaHRtbCI+dC10PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNi5odG1sIj51LXY8L2E+Cis8YSBocmVmPSJBUEljaHVuazI3Lmh0bWwiPnctdzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjguaHRtbCI+eC14PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyOS5odG1sIj55LXo8L2E+Cis8L2gyPjxwPjxhIGhyZWY9ImJ1Z3MuaHRtbCI+RGFuaWVsIFZlaWxsYXJkPC9hPjwvcD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvQVBJY2h1bmsyMi5odG1sIGIvbGlieG1sMi9kb2MvQVBJY2h1bmsyMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJmMjAwMTgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9BUEljaHVuazIyLmh0bWwKQEAgLTAsMCArMSw1OTkgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+PGxpbmsgcmVsPSJTSE9SVENVVCBJQ09OIiBocmVmPSIvZmF2aWNvbi5pY28iIC8+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK1REIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitCT0RZIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2E7IG1hcmdpbi10b3A6IDJlbTsgbWFyZ2luLWxlZnQ6IDBlbTsgbWFyZ2luLXJpZ2h0OiAwZW19CitIMSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDIge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gzIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitBOmxpbmssIEE6dmlzaXRlZCwgQTphY3RpdmUgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB9Cis8L3N0eWxlPjx0aXRsZT5BUEkgQWxwaGFiZXRpYyBJbmRleCBwLXAgZm9yIGxpYnhtbDI8L3RpdGxlPjwvaGVhZD48Ym9keSBiZ2NvbG9yPSIjOGI3NzY1IiB0ZXh0PSIjMDAwMDAwIiBsaW5rPSIjYTA2MDYwIiB2bGluaz0iIzAwMDAwMCI+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjEwMCUiIGNlbGxwYWRkaW5nPSI1IiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCB3aWR0aD0iMTIwIj48YSBocmVmPSJodHRwOi8vc3dwYXQuZmZpaS5vcmcvIj48aW1nIHNyYz0iZXBhdGVudHMucG5nIiBhbHQ9IkFjdGlvbiBhZ2FpbnN0IHNvZnR3YXJlIHBhdGVudHMiIC8+PC9hPjwvdGQ+PHRkIHdpZHRoPSIxODAiPjxhIGhyZWY9Imh0dHA6Ly93d3cuZ25vbWUub3JnLyI+PGltZyBzcmM9Imdub21lMi5wbmciIGFsdD0iR25vbWUyIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1N0YXR1cyI+PGltZyBzcmM9InczYy5wbmciIGFsdD0iVzNDIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cucmVkaGF0LmNvbS8iPjxpbWcgc3JjPSJyZWRoYXQuZ2lmIiBhbHQ9IlJlZCBIYXQgTG9nbyIgLz48L2E+PGRpdiBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnLyI+PGltZyBzcmM9IkxpYnhtbDItTG9nby0xODB4MTY4LmdpZiIgYWx0PSJNYWRlIHdpdGggTGlieG1sMiBMb2dvIiAvPjwvYT48L2Rpdj48L3RkPjx0ZD48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iOTAlIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyIgYmdjb2xvcj0iI2ZmZmFjZCI+PHRyPjx0ZCBhbGlnbj0iY2VudGVyIj48aDE+VGhlIFhNTCBDIHBhcnNlciBhbmQgdG9vbGtpdCBvZiBHbm9tZTwvaDE+PGgyPkFQSSBBbHBoYWJldGljIEluZGV4IHAtcCBmb3IgbGlieG1sMjwvaDI+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjQiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiIHdpZHRoPSIxMDAlIj48dHI+PHRkIHZhbGlnbj0idG9wIiB3aWR0aD0iMjAwIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5EZXZlbG9wZXIgTWVudTwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48Zm9ybSBhY3Rpb249InNlYXJjaC5waHAiIGVuY3R5cGU9ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIgbWV0aG9kPSJnZXQiPjxpbnB1dCBuYW1lPSJxdWVyeSIgdHlwZT0idGV4dCIgc2l6ZT0iMjAiIHZhbHVlPSIiIC8+PGlucHV0IG5hbWU9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU2VhcmNoIC4uLiIgLz48L2Zvcm0+PHVsPjxsaT48YSBocmVmPSJpbmRleC5odG1sIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+TWFpbiBNZW51PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0bWwvaW5kZXguaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPlJlZmVyZW5jZSBNYW51YWw8L2E+PC9saT48bGk+PGEgaHJlZj0iZXhhbXBsZXMvaW5kZXguaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPkNvZGUgRXhhbXBsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iZ3VpZGVsaW5lcy5odG1sIj5YTUwgR3VpZGVsaW5lczwvYT48L2xpPjxsaT48YSBocmVmPSJ0dXRvcmlhbC9pbmRleC5odG1sIj5UdXRvcmlhbDwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWxyZWFkZXIuaHRtbCI+VGhlIFJlYWRlciBJbnRlcmZhY2U8L2E+PC9saT48bGk+PGEgaHJlZj0iQ2hhbmdlTG9nLmh0bWwiPkNoYW5nZUxvZzwvYT48L2xpPjxsaT48YSBocmVmPSJYU0xULmh0bWwiPlhTTFQ8L2E+PC9saT48bGk+PGEgaHJlZj0icHl0aG9uLmh0bWwiPlB5dGhvbiBhbmQgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iYXJjaGl0ZWN0dXJlLmh0bWwiPmxpYnhtbDIgYXJjaGl0ZWN0dXJlPC9hPjwvbGk+PGxpPjxhIGhyZWY9InRyZWUuaHRtbCI+VGhlIHRyZWUgb3V0cHV0PC9hPjwvbGk+PGxpPjxhIGhyZWY9ImludGVyZmFjZS5odG1sIj5UaGUgU0FYIGludGVyZmFjZTwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWxtZW0uaHRtbCI+TWVtb3J5IE1hbmFnZW1lbnQ8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1saW8uaHRtbCI+SS9PIEludGVyZmFjZXM8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlicmFyeS5odG1sIj5UaGUgcGFyc2VyIGludGVyZmFjZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iZW50aXRpZXMuaHRtbCI+RW50aXRpZXMgb3Igbm8gZW50aXRpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0ibmFtZXNwYWNlcy5odG1sIj5OYW1lc3BhY2VzPC9hPjwvbGk+PGxpPjxhIGhyZWY9InVwZ3JhZGUuaHRtbCI+VXBncmFkaW5nIDEueCBjb2RlPC9hPjwvbGk+PGxpPjxhIGhyZWY9InRocmVhZHMuaHRtbCI+VGhyZWFkIHNhZmV0eTwvYT48L2xpPjxsaT48YSBocmVmPSJET00uaHRtbCI+RE9NIFByaW5jaXBsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iZXhhbXBsZS5odG1sIj5BIHJlYWwgZXhhbXBsZTwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWwuaHRtbCI+ZmxhdCBwYWdlPC9hPiwgPGEgaHJlZj0ic2l0ZS54c2wiPnN0eWxlc2hlZXQ8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5BUEkgSW5kZXhlczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9IkFQSWNodW5rMC5odG1sIj5BbHBoYWJldGljPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkFQSWNvbnN0cnVjdG9ycy5odG1sIj5Db25zdHJ1Y3RvcnM8L2E+PC9saT48bGk+PGEgaHJlZj0iQVBJZnVuY3Rpb25zLmh0bWwiPkZ1bmN0aW9ucy9UeXBlczwvYT48L2xpPjxsaT48YSBocmVmPSJBUElmaWxlcy5odG1sIj5Nb2R1bGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkFQSXN5bWJvbHMuaHRtbCI+U3ltYm9sczwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPlJlbGF0ZWQgbGlua3M8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSJodHRwOi8vbWFpbC5nbm9tZS5vcmcvYXJjaGl2ZXMveG1sLyI+TWFpbCBhcmNoaXZlPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9YU0xULyI+WFNMVCBsaWJ4c2x0PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9waGQuY3MudW5pYm8uaXQvZ2RvbWUyLyI+RE9NIGdkb21lMjwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmFsZWtzZXkuY29tL3htbHNlYy8iPlhNTC1EU2lnIHhtbHNlYzwvYT48L2xpPjxsaT48YSBocmVmPSJmdHA6Ly94bWxzb2Z0Lm9yZy8iPkZUUDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnpsYXRrb3ZpYy5jb20vcHJvamVjdHMvbGlieG1sLyI+V2luZG93cyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vb3BlbmNzdy5vcmcvcGFja2FnZXMvbGlieG1sMiI+U29sYXJpcyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmV4cGxhaW4uY29tLmF1L29zcy9saWJ4bWwyeHNsdC5odG1sIj5NYWNPc1ggYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2x4bWwuZGUvIj5seG1sIFB5dGhvbiBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vY3Bhbi51d2lubmlwZWcuY2EvZGlzdC9YTUwtTGliWE1MIj5QZXJsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWxwbHVzcGx1cy5zb3VyY2Vmb3JnZS5uZXQvIj5DKysgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56ZW5kLmNvbS9waHA1L2FydGljbGVzL3BocDUteG1scGhwLnBocCNIZWFkaW5nNCI+UEhQIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbGlieG1sMi1wYXMvIj5QYXNjYWwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbC5ydWJ5Zm9yZ2Uub3JnLyI+UnVieSBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vdGNseG1sLnNvdXJjZWZvcmdlLm5ldC8iPlRjbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2J1Z2xpc3QuY2dpP3Byb2R1Y3Q9bGlieG1sMiI+QnVnIFRyYWNrZXI8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48aDIgYWxpZ249ImNlbnRlciI+PGEgaHJlZj0iQVBJY2h1bmswLmh0bWwiPkEtQjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMS5odG1sIj5DLUM8L2E+Cis8YSBocmVmPSJBUEljaHVuazIuaHRtbCI+RC1FPC9hPgorPGEgaHJlZj0iQVBJY2h1bmszLmh0bWwiPkYtSTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNC5odG1sIj5KLU48L2E+Cis8YSBocmVmPSJBUEljaHVuazUuaHRtbCI+Ty1QPC9hPgorPGEgaHJlZj0iQVBJY2h1bms2Lmh0bWwiPlEtUjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNy5odG1sIj5TLVM8L2E+Cis8YSBocmVmPSJBUEljaHVuazguaHRtbCI+VC1VPC9hPgorPGEgaHJlZj0iQVBJY2h1bms5Lmh0bWwiPlYtWDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTAuaHRtbCI+WS1hPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMS5odG1sIj5iLWI8L2E+Cis8YSBocmVmPSJBUEljaHVuazEyLmh0bWwiPmMtYzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTMuaHRtbCI+ZC1kPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNC5odG1sIj5lLWU8L2E+Cis8YSBocmVmPSJBUEljaHVuazE1Lmh0bWwiPmYtZjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTYuaHRtbCI+Zy1oPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNy5odG1sIj5pLWk8L2E+Cis8YSBocmVmPSJBUEljaHVuazE4Lmh0bWwiPmotbDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTkuaHRtbCI+bS1tPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMC5odG1sIj5uLW48L2E+Cis8YSBocmVmPSJBUEljaHVuazIxLmh0bWwiPm8tbzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjIuaHRtbCI+cC1wPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMy5odG1sIj5xLXI8L2E+Cis8YSBocmVmPSJBUEljaHVuazI0Lmh0bWwiPnMtczwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjUuaHRtbCI+dC10PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNi5odG1sIj51LXY8L2E+Cis8YSBocmVmPSJBUEljaHVuazI3Lmh0bWwiPnctdzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjguaHRtbCI+eC14PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyOS5odG1sIj55LXo8L2E+Cis8L2gyPjxoMj5MZXR0ZXIgcDo8L2gyPjxkbD48ZHQ+cGFpcnM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNzdGFydEVsZW1lbnQiPnN0YXJ0RWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3N0YXJ0RWxlbWVudE5zU0FYMkZ1bmMiPnN0YXJ0RWxlbWVudE5zU0FYMkZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNzdGFydEVsZW1lbnRTQVhGdW5jIj5zdGFydEVsZW1lbnRTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJTdGFydEVsZW1lbnQiPnhtbFNBWDJTdGFydEVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMlN0YXJ0RWxlbWVudE5zIj54bWxTQVgyU3RhcnRFbGVtZW50TnM8L2E+PGJyIC8+Cis8L2RkPjxkdD5wYXJhbTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNfeG1sRHRkIj5feG1sRHRkPC9hPjxiciAvPgorPC9kZD48ZHQ+cGFyYW1ldGVyLWVudGl0eTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2wiPnhtbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZU1hcmt1cERlY2wiPnhtbFBhcnNlTWFya3VwRGVjbDwvYT48YnIgLz4KKzwvZGQ+PGR0PnBhcmFtZXRlcnM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjQVRUUklCVVRFX1VOVVNFRCI+QVRUUklCVVRFX1VOVVNFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI2Vycm9yU0FYRnVuYyI+ZXJyb3JTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjZmF0YWxFcnJvclNBWEZ1bmMiPmZhdGFsRXJyb3JTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjd2FybmluZ1NBWEZ1bmMiPndhcm5pbmdTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld0NoaWxkIj54bWxOZXdDaGlsZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdUZXh0Q2hpbGQiPnhtbE5ld1RleHRDaGlsZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sUGFyc2VyRXJyb3IiPnhtbFBhcnNlckVycm9yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxQYXJzZXJWYWxpZGl0eUVycm9yIj54bWxQYXJzZXJWYWxpZGl0eUVycm9yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxQYXJzZXJWYWxpZGl0eVdhcm5pbmciPnhtbFBhcnNlclZhbGlkaXR5V2FybmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sUGFyc2VyV2FybmluZyI+eG1sUGFyc2VyV2FybmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFN0clByaW50ZiI+eG1sU3RyUHJpbnRmPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3RyVlByaW50ZiI+eG1sU3RyVlByaW50ZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdEF0dHJpYnV0ZSI+eG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0QXR0cmlidXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0QXR0cmlidXRlTlMiPnhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdEF0dHJpYnV0ZU5TPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0Q0RBVEEiPnhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdENEQVRBPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0Q29tbWVudCI+eG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0Q29tbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdERURCI+eG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFREPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFREQXR0bGlzdCI+eG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFREQXR0bGlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdERUREVsZW1lbnQiPnhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdERUREVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVERJbnRlcm5hbEVudGl0eSI+eG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFRESW50ZXJuYWxFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRFbGVtZW50Ij54bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RWxlbWVudE5TIj54bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRFbGVtZW50TlM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRQSSI+eG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0UEk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRSYXciPnhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdFJhdzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdFN0cmluZyI+eG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0U3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aEV2YWxGdW5jIj54bWxYUGF0aEV2YWxGdW5jPC9hPjxiciAvPgorPC9kZD48ZHQ+cGFyZW50LTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNfeG1sTm9kZSI+X3htbE5vZGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5wYXJlbnRoZXNlczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2wiPnhtbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2w8L2E+PGJyIC8+Cis8L2RkPjxkdD5wYXJlbnRoZXNpczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sU25wcmludGZFbGVtZW50Q29udGVudCI+eG1sU25wcmludGZFbGVtZW50Q29udGVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sU3ByaW50ZkVsZW1lbnRDb250ZW50Ij54bWxTcHJpbnRmRWxlbWVudENvbnRlbnQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5wYXJlbnRoZXNpemVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbGVtZW50Q2hpbGRyZW5Db250ZW50RGVjbCI+eG1sUGFyc2VFbGVtZW50Q2hpbGRyZW5Db250ZW50RGVjbDwvYT48YnIgLz4KKzwvZGQ+PGR0PnBhcmVudHM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2VhcmNoTnMiPnhtbFNlYXJjaE5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNlYXJjaE5zQnlIcmVmIj54bWxTZWFyY2hOc0J5SHJlZjwvYT48YnIgLz4KKzwvZGQ+PGR0PnBhcnRpYWw8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dEJ1ZmZlcldyaXRlIj54bWxPdXRwdXRCdWZmZXJXcml0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0QnVmZmVyV3JpdGVFc2NhcGUiPnhtbE91dHB1dEJ1ZmZlcldyaXRlRXNjYXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyI+eG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmc8L2E+PGJyIC8+Cis8L2RkPjxkdD5wYXJ0aWN1bGFyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCNfeG1sTm9kZVNldCI+X3htbE5vZGVTZXQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5wYXNzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sQ3VycmVudENoYXIiPnhtbEN1cnJlbnRDaGFyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4UGFyc2VyU2V0RmxhZyI+eG1sUmVsYXhQYXJzZXJTZXRGbGFnPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclNldEVycm9ySGFuZGxlciI+eG1sVGV4dFJlYWRlclNldEVycm9ySGFuZGxlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJTZXRTdHJ1Y3R1cmVkRXJyb3JIYW5kbGVyIj54bWxUZXh0UmVhZGVyU2V0U3RydWN0dXJlZEVycm9ySGFuZGxlcjwvYT48YnIgLz4KKzwvZGQ+PGR0PnBhc3NlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjQ0hFQ0tfQVJJVFkiPkNIRUNLX0FSSVRZPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld05lZ1RyYW5zIj54bWxBdXRvbWF0YU5ld05lZ1RyYW5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld1RyYW5zaXRpb24iPnhtbEF1dG9tYXRhTmV3VHJhbnNpdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdUcmFuc2l0aW9uMiI+eG1sQXV0b21hdGFOZXdUcmFuc2l0aW9uMjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoU2NhbiI+eG1sSGFzaFNjYW48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFNjYW4zIj54bWxIYXNoU2NhbjM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFNjYW5GdWxsIj54bWxIYXNoU2NhbkZ1bGw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFNjYW5GdWxsMyI+eG1sSGFzaFNjYW5GdWxsMzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0UmV2ZXJzZVdhbGsiPnhtbExpc3RSZXZlcnNlV2FsazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0V2FsayI+eG1sTGlzdFdhbGs8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUEdldCI+eG1sTmFub0ZUUEdldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQTGlzdCI+eG1sTmFub0ZUUExpc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUF0dFZhbHVlIj54bWxQYXJzZUF0dFZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxTZXRHZW5lcmljRXJyb3JGdW5jIj54bWxTZXRHZW5lcmljRXJyb3JGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxTZXRTdHJ1Y3R1cmVkRXJyb3JGdW5jIj54bWxTZXRTdHJ1Y3R1cmVkRXJyb3JGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGluY2x1ZGUuaHRtbCN4bWxYSW5jbHVkZVByb2Nlc3NGbGFnc0RhdGEiPnhtbFhJbmNsdWRlUHJvY2Vzc0ZsYWdzRGF0YTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhpbmNsdWRlLmh0bWwjeG1sWEluY2x1ZGVQcm9jZXNzVHJlZUZsYWdzRGF0YSI+eG1sWEluY2x1ZGVQcm9jZXNzVHJlZUZsYWdzRGF0YTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhFdmFsRnVuYyI+eG1sWFBhdGhFdmFsRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhJbnRlcnNlY3Rpb24iPnhtbFhQYXRoSW50ZXJzZWN0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+cGFzc2l2ZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQR2V0Q29ubmVjdGlvbiI+eG1sTmFub0ZUUEdldENvbm5lY3Rpb248L2E+PGJyIC8+Cis8L2RkPjxkdD5wYXNzd29yZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQUHJveHkiPnhtbE5hbm9GVFBQcm94eTwvYT48YnIgLz4KKzwvZGQ+PGR0PnBhc3Q8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI2F0dHJpYnV0ZVNBWEZ1bmMiPmF0dHJpYnV0ZVNBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyR2V0UmVtYWluZGVyIj54bWxUZXh0UmVhZGVyR2V0UmVtYWluZGVyPC9hPjxiciAvPgorPC9kZD48ZHQ+cGFzdGU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sUmVjb25jaWxpYXRlTnMiPnhtbFJlY29uY2lsaWF0ZU5zPC9hPjxiciAvPgorPC9kZD48ZHQ+cGF0aDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI194bWxVUkkiPl94bWxVUkk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxDYW5vbmljUGF0aCI+eG1sQ2Fub25pY1BhdGg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbENoZWNrRmlsZW5hbWUiPnhtbENoZWNrRmlsZW5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sR2V0Tm9kZVBhdGgiPnhtbEdldE5vZGVQYXRoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbExvYWRBQ2F0YWxvZyI+eG1sTG9hZEFDYXRhbG9nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbExvYWRDYXRhbG9nIj54bWxMb2FkQ2F0YWxvZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxMb2FkU0dNTFN1cGVyQ2F0YWxvZyI+eG1sTG9hZFNHTUxTdXBlckNhdGFsb2c8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtb2R1bGUuaHRtbCN4bWxNb2R1bGVPcGVuIj54bWxNb2R1bGVPcGVuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBHZXRTb2NrZXQiPnhtbE5hbm9GVFBHZXRTb2NrZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUFVwZGF0ZVVSTCI+eG1sTmFub0ZUUFVwZGF0ZVVSTDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbE5vcm1hbGl6ZVVSSVBhdGgiPnhtbE5vcm1hbGl6ZVVSSVBhdGg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE5vcm1hbGl6ZVdpbmRvd3NQYXRoIj54bWxOb3JtYWxpemVXaW5kb3dzUGF0aDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sUGFyc2VyR2V0RGlyZWN0b3J5Ij54bWxQYXJzZXJHZXREaXJlY3Rvcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxQYXRoVG9VUkkiPnhtbFBhdGhUb1VSSTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxQd2QiPnhtbFNoZWxsUHdkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbFZhbGlkYXRlIj54bWxTaGVsbFZhbGlkYXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZSI+eG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZSI+eG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlPC9hPjxiciAvPgorPC9kZD48ZHQ+cGF0aG9sb2dpY2FsPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEdldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUiPnhtbEdldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWU8L2E+PGJyIC8+Cis8L2RkPjxkdD5wYXR0ZXJuPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfTk9STVZBTFVFTkVFREVEIj5YTUxfU0NIRU1BU19UWVBFX05PUk1WQUxVRU5FRURFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCN4bWxQYXR0ZXJuRnJvbVJvb3QiPnhtbFBhdHRlcm5Gcm9tUm9vdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCN4bWxQYXR0ZXJuR2V0U3RyZWFtQ3R4dCI+eG1sUGF0dGVybkdldFN0cmVhbUN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sUGF0dGVybk1hdGNoIj54bWxQYXR0ZXJuTWF0Y2g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sUGF0dGVybk1heERlcHRoIj54bWxQYXR0ZXJuTWF4RGVwdGg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sUGF0dGVybk1pbkRlcHRoIj54bWxQYXR0ZXJuTWluRGVwdGg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sUGF0dGVyblN0cmVhbWFibGUiPnhtbFBhdHRlcm5TdHJlYW1hYmxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbFBhdHRlcm5jb21waWxlIj54bWxQYXR0ZXJuY29tcGlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYVZhbGlkYXRlRmFjZXRXaHRzcCI+eG1sU2NoZW1hVmFsaWRhdGVGYWNldFdodHNwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbFN0cmVhbVdhbnRzQW55Tm9kZSI+eG1sU3RyZWFtV2FudHNBbnlOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclByZXNlcnZlUGF0dGVybiI+eG1sVGV4dFJlYWRlclByZXNlcnZlUGF0dGVybjwvYT48YnIgLz4KKzwvZGQ+PGR0PnBhdHRlcm5zPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI194bWxTY2hlbWFGYWNldCI+X3htbFNjaGVtYUZhY2V0PC9hPjxiciAvPgorPC9kZD48ZHQ+cGNkYXRhPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjY2RhdGFCbG9jayI+Y2RhdGFCbG9jazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI2NkYXRhQmxvY2tTQVhGdW5jIj5jZGF0YUJsb2NrU0FYRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyQ0RhdGFCbG9jayI+eG1sU0FYMkNEYXRhQmxvY2s8L2E+PGJyIC8+Cis8L2RkPjxkdD5wZWRhbnRpYzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI194bWxQYXJzZXJDdHh0Ij5feG1sUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBlZGFudGljUGFyc2VyRGVmYXVsdCI+eG1sUGVkYW50aWNQYXJzZXJEZWZhdWx0PC9hPjxiciAvPgorPC9kZD48ZHQ+cGVyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxHZXRMYXN0RXJyb3IiPnhtbEdldExhc3RFcnJvcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQXR0cmlidXRlVHlwZSI+eG1sUGFyc2VBdHRyaWJ1dGVUeXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZUVsZW1lbnREZWNsIj54bWxWYWxpZGF0ZUVsZW1lbnREZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHRTZXRDYWNoZSI+eG1sWFBhdGhDb250ZXh0U2V0Q2FjaGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5wZXItdGhyZWFkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9USFJFQURfQUxMT0NfRU5BQkxFRCI+TElCWE1MX1RIUkVBRF9BTExPQ19FTkFCTEVEPC9hPjxiciAvPgorPC9kZD48ZHQ+cGVyZm9ybWFuY2U8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sR2V0QnVmZmVyQWxsb2NhdGlvblNjaGVtZSI+eG1sR2V0QnVmZmVyQWxsb2NhdGlvblNjaGVtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lIj54bWxTZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lPC9hPjxiciAvPgorPC9kZD48ZHQ+cGVyZm9ybWVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxOb2RlU3RhdHVzIj5odG1sTm9kZVN0YXR1czwvYT48YnIgLz4KKzwvZGQ+PGR0PnBlcm1hbmVudGx5PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sQ2hlY2tMYW5ndWFnZUlEIj54bWxDaGVja0xhbmd1YWdlSUQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5wZXJ0YWluPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld0RvY1RleHRMZW4iPnhtbE5ld0RvY1RleHRMZW48L2E+PGJyIC8+Cis8L2RkPjxkdD5wZXJ0YWluczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlR2V0QmFzZSI+eG1sTm9kZUdldEJhc2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnkiPnhtbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXIiPnhtbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUV4dGVybmFsRW50aXR5Ij54bWxQYXJzZUV4dGVybmFsRW50aXR5PC9hPjxiciAvPgorPC9kZD48ZHQ+cGhhc2U8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdOZXdFeGVjQ3R4dCI+eG1sUmVnTmV3RXhlY0N0eHQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5waWMxPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sQnVpbGRSZWxhdGl2ZVVSSSI+eG1sQnVpbGRSZWxhdGl2ZVVSSTwvYT48YnIgLz4KKzwvZGQ+PGR0PnBpZWNlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld0NoaWxkIj54bWxOZXdDaGlsZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdEb2NOb2RlIj54bWxOZXdEb2NOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld0RvY05vZGVFYXROYW1lIj54bWxOZXdEb2NOb2RlRWF0TmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlU2V0Q29udGVudCI+eG1sTm9kZVNldENvbnRlbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVNldENvbnRlbnRMZW4iPnhtbE5vZGVTZXRDb250ZW50TGVuPC9hPjxiciAvPgorPC9kZD48ZHQ+cGllY2VzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sUGFyc2VVUklSYXciPnhtbFBhcnNlVVJJUmF3PC9hPjxiciAvPgorPC9kZD48ZHQ+cGxhY2U8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ0FkZCI+eG1sQ2F0YWxvZ0FkZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sQ29weUVycm9yIj54bWxDb3B5RXJyb3I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxHY01lbUdldCI+eG1sR2NNZW1HZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNZW1HZXQiPnhtbE1lbUdldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxSZXBsYWNlTm9kZSI+eG1sUmVwbGFjZU5vZGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5wbGFjZXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNZW1EaXNwbGF5TGFzdCI+eG1sTWVtRGlzcGxheUxhc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJQcmludGYiPnhtbFN0clByaW50ZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFN0clZQcmludGYiPnhtbFN0clZQcmludGY8L2E+PGJyIC8+Cis8L2RkPjxkdD5wbGF0Zm9ybXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sR2V0VGhyZWFkSWQiPnhtbEdldFRocmVhZElkPC9hPjxiciAvPgorPC9kZD48ZHQ+cGx1ZzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhGdW5jTG9va3VwRnVuYyI+eG1sWFBhdGhGdW5jTG9va3VwRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhWYXJpYWJsZUxvb2t1cEZ1bmMiPnhtbFhQYXRoVmFyaWFibGVMb29rdXBGdW5jPC9hPjxiciAvPgorPC9kZD48ZHQ+cGx1Z2luPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ2xlYW51cFBhcnNlciI+eG1sQ2xlYW51cFBhcnNlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRocmVhZHMuaHRtbCN4bWxDbGVhbnVwVGhyZWFkcyI+eG1sQ2xlYW51cFRocmVhZHM8L2E+PGJyIC8+Cis8L2RkPjxkdD5wbHVnaW5zPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ2xlYW51cFBhcnNlciI+eG1sQ2xlYW51cFBhcnNlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRocmVhZHMuaHRtbCN4bWxDbGVhbnVwVGhyZWFkcyI+eG1sQ2xlYW51cFRocmVhZHM8L2E+PGJyIC8+Cis8L2RkPjxkdD5wbHVzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI1VURjhUb0h0bWwiPlVURjhUb0h0bWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1ET0NCcGFyc2VyLmh0bWwjZG9jYkVuY29kZUVudGl0aWVzIj5kb2NiRW5jb2RlRW50aXRpZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEVuY29kZUVudGl0aWVzIj5odG1sRW5jb2RlRW50aXRpZXM8L2E+PGJyIC8+Cis8L2RkPjxkdD5wbmV0bGliLWRvYzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJOb2RlVHlwZSI+eG1sVGV4dFJlYWRlck5vZGVUeXBlPC9hPjxiciAvPgorPC9kZD48ZHQ+cG9pbnRlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBvcElucHV0Ij54bWxQb3BJbnB1dDwvYT48YnIgLz4KKzwvZGQ+PGR0PnBvaW50ZXJzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VySW5wdXRHcm93Ij54bWxQYXJzZXJJbnB1dEdyb3c8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sUmVjb25jaWxpYXRlTnMiPnhtbFJlY29uY2lsaWF0ZU5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnRXhlY0VyckluZm8iPnhtbFJlZ0V4ZWNFcnJJbmZvPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnRXhlY05leHRWYWx1ZXMiPnhtbFJlZ0V4ZWNOZXh0VmFsdWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVNBWFBsdWciPnhtbFNjaGVtYVNBWFBsdWc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hU0FYVW5wbHVnIj54bWxTY2hlbWFTQVhVbnBsdWc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkR2V0VmFsaWRFbGVtZW50cyI+eG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzPC9hPjxiciAvPgorPC9kZD48ZHQ+cG9pbnRzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI194bWxDaFJhbmdlR3JvdXAiPl94bWxDaFJhbmdlR3JvdXA8L2E+PGJyIC8+Cis8L2RkPjxkdD5wb3A8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQb3BJbnB1dCI+eG1sUG9wSW5wdXQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5wb3BwZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoRnVuY3Rpb24iPnhtbFhQYXRoRnVuY3Rpb248L2E+PGJyIC8+Cis8L2RkPjxkdD5wb3BzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sU2tpcEJsYW5rQ2hhcnMiPnhtbFNraXBCbGFua0NoYXJzPC9hPjxiciAvPgorPC9kZD48ZHQ+cG9ydDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI194bWxVUkkiPl94bWxVUkk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUENvbm5lY3RUbyI+eG1sTmFub0ZUUENvbm5lY3RUbzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQUHJveHkiPnhtbE5hbm9GVFBQcm94eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQU2NhblByb3h5Ij54bWxOYW5vRlRQU2NhblByb3h5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBVcGRhdGVVUkwiPnhtbE5hbm9GVFBVcGRhdGVVUkw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQU2NhblByb3h5Ij54bWxOYW5vSFRUUFNjYW5Qcm94eTwvYT48YnIgLz4KKzwvZGQ+PGR0PnBvcnRhYmlsaXR5PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI0lOVkFMSURfU09DS0VUIj5JTlZBTElEX1NPQ0tFVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCNTT0NLRVQiPlNPQ0tFVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1vZHVsZS5odG1sI3htbE1vZHVsZU9wZW4iPnhtbE1vZHVsZU9wZW48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtb2R1bGUuaHRtbCN4bWxNb2R1bGVTeW1ib2wiPnhtbE1vZHVsZVN5bWJvbDwvYT48YnIgLz4KKzwvZGQ+PGR0PnBvcnRhYmxlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aElzSW5mIj54bWxYUGF0aElzSW5mPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aElzTmFOIj54bWxYUGF0aElzTmFOPC9hPjxiciAvPgorPC9kZD48ZHQ+cG9zPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sVVRGOFN0cnN1YiI+eG1sVVRGOFN0cnN1YjwvYT48YnIgLz4KKzwvZGQ+PGR0PnBvc2l0aW9uOjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdWJzdHJpbmdGdW5jdGlvbiI+eG1sWFBhdGhTdWJzdHJpbmdGdW5jdGlvbjwvYT48YnIgLz4KKzwvZGQ+PGR0PnBvc2l0aW9uZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUmVhZFN0cmluZyI+eG1sVGV4dFJlYWRlclJlYWRTdHJpbmc8L2E+PGJyIC8+Cis8L2RkPjxkdD5wb3NpdGlvbm5lZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJSZWFkQXR0cmlidXRlVmFsdWUiPnhtbFRleHRSZWFkZXJSZWFkQXR0cmlidXRlVmFsdWU8L2E+PGJyIC8+Cis8L2RkPjxkdD5wb3NpdGlvbnM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxVVEY4U3Ryc3ViIj54bWxVVEY4U3Ryc3ViPC9hPjxiciAvPgorPC9kZD48ZHQ+cG9zc2libGU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQ29weU5vZGVMaXN0Ij54bWxDb3B5Tm9kZUxpc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxDcmVhdGVFbnRpdHlQYXJzZXJDdHh0Ij54bWxDcmVhdGVFbnRpdHlQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VEZWZhdWx0RGVjbCI+eG1sUGFyc2VEZWZhdWx0RGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRXh0ZXJuYWxJRCI+eG1sUGFyc2VFeHRlcm5hbElEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFJlY29uY2lsaWF0ZU5zIj54bWxSZWNvbmNpbGlhdGVOczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ0V4ZWNFcnJJbmZvIj54bWxSZWdFeGVjRXJySW5mbzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ0V4ZWNOZXh0VmFsdWVzIj54bWxSZWdFeGVjTmV4dFZhbHVlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJSZWxheE5HU2V0U2NoZW1hIj54bWxUZXh0UmVhZGVyUmVsYXhOR1NldFNjaGVtYTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJSZWxheE5HVmFsaWRhdGUiPnhtbFRleHRSZWFkZXJSZWxheE5HVmFsaWRhdGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUmVsYXhOR1ZhbGlkYXRlQ3R4dCI+eG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZUN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyU2NoZW1hVmFsaWRhdGUiPnhtbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZUN0eHQiPnhtbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZUN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyU2V0U2NoZW1hIj54bWxUZXh0UmVhZGVyU2V0U2NoZW1hPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZUR0ZEZpbmFsIj54bWxWYWxpZGF0ZUR0ZEZpbmFsPC9hPjxiciAvPgorPC9kZD48ZHQ+cG9zc2libHk8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRG9jR2V0Um9vdEVsZW1lbnQiPnhtbERvY0dldFJvb3RFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERvY1NldFJvb3RFbGVtZW50Ij54bWxEb2NTZXRSb290RWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxJc0JsYW5rTm9kZSI+eG1sSXNCbGFua05vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnkiPnhtbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXIiPnhtbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUV4dGVybmFsRW50aXR5Ij54bWxQYXJzZUV4dGVybmFsRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2F2ZS5odG1sI3htbFNhdmVUb0ZpbGVuYW1lIj54bWxTYXZlVG9GaWxlbmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdHJpbmdGdW5jdGlvbiI+eG1sWFBhdGhTdHJpbmdGdW5jdGlvbjwvYT48YnIgLz4KKzwvZGQ+PGR0PnBvc3Rlcmlvcmk8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2V0TnMiPnhtbFNldE5zPC9hPjxiciAvPgorPC9kZD48ZHQ+cG90ZW50aWFsPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxEZWJ1Z0NoZWNrRG9jdW1lbnQiPnhtbERlYnVnQ2hlY2tEb2N1bWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRHZXRQb3RlbnRpYWxDaGlsZHJlbiI+eG1sVmFsaWRHZXRQb3RlbnRpYWxDaGlsZHJlbjwvYT48YnIgLz4KKzwvZGQ+PGR0PnBvdGVudGlhbGx5PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjX3htbFVSSSI+X3htbFVSSTwvYT48YnIgLz4KKzwvZGQ+PGR0PnByYWN0aWNlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VWZXJzaW9uTnVtIj54bWxQYXJzZVZlcnNpb25OdW08L2E+PGJyIC8+Cis8L2RkPjxkdD5wcmUtaW50ZXJuZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNfeG1sUGFyc2VyQ3R4dCI+X3htbFBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5wcmVhbGxvY2F0ZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVpbGRRTmFtZSI+eG1sQnVpbGRRTmFtZTwvYT48YnIgLz4KKzwvZGQ+PGR0PnByZWNlZGU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVudGl0eVJlZiI+eG1sUGFyc2VFbnRpdHlSZWY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZVBFUmVmZXJlbmNlIj54bWxQYXJzZVBFUmVmZXJlbmNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VySGFuZGxlUEVSZWZlcmVuY2UiPnhtbFBhcnNlckhhbmRsZVBFUmVmZXJlbmNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aExlYWRpbmciPnhtbFhQYXRoTGVhZGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhMZWFkaW5nU29ydGVkIj54bWxYUGF0aExlYWRpbmdTb3J0ZWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9kZUxlYWRpbmciPnhtbFhQYXRoTm9kZUxlYWRpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9kZUxlYWRpbmdTb3J0ZWQiPnhtbFhQYXRoTm9kZUxlYWRpbmdTb3J0ZWQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5wcmVjZWRlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdHJpbmdGdW5jdGlvbiI+eG1sWFBhdGhTdHJpbmdGdW5jdGlvbjwvYT48YnIgLz4KKzwvZGQ+PGR0PnByZWNlZGVzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFN1YnN0cmluZ0JlZm9yZUZ1bmN0aW9uIj54bWxYUGF0aFN1YnN0cmluZ0JlZm9yZUZ1bmN0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+cHJlY2VkaW5nPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCNfeG1sWFBhdGhQYXJzZXJDb250ZXh0Ij5feG1sWFBhdGhQYXJzZXJDb250ZXh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHRQcmVjZWRpbmciPnhtbFhQYXRoTmV4dFByZWNlZGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXh0UHJlY2VkaW5nU2libGluZyI+eG1sWFBhdGhOZXh0UHJlY2VkaW5nU2libGluZzwvYT48YnIgLz4KKzwvZGQ+PGR0PnByZWNlZGluZy1zaWJsaW5nPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHRQcmVjZWRpbmdTaWJsaW5nIj54bWxYUGF0aE5leHRQcmVjZWRpbmdTaWJsaW5nPC9hPjxiciAvPgorPC9kZD48ZHQ+cHJlY2lzZWx5PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFN1YnN0cmluZ0Z1bmN0aW9uIj54bWxYUGF0aFN1YnN0cmluZ0Z1bmN0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+cHJlY29tcGlsZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI194bWxYUGF0aFBhcnNlckNvbnRleHQiPl94bWxYUGF0aFBhcnNlckNvbnRleHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sUGF0dGVybkZyb21Sb290Ij54bWxQYXR0ZXJuRnJvbVJvb3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sUGF0dGVybkdldFN0cmVhbUN0eHQiPnhtbFBhdHRlcm5HZXRTdHJlYW1DdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbFBhdHRlcm5NYXRjaCI+eG1sUGF0dGVybk1hdGNoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbFBhdHRlcm5NYXhEZXB0aCI+eG1sUGF0dGVybk1heERlcHRoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbFBhdHRlcm5NaW5EZXB0aCI+eG1sUGF0dGVybk1pbkRlcHRoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbFBhdHRlcm5TdHJlYW1hYmxlIj54bWxQYXR0ZXJuU3RyZWFtYWJsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ05ld0V4ZWNDdHh0Ij54bWxSZWdOZXdFeGVjQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HTmV3VmFsaWRDdHh0Ij54bWxSZWxheE5HTmV3VmFsaWRDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYU5ld1ZhbGlkQ3R4dCI+eG1sU2NoZW1hTmV3VmFsaWRDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hdHJvbi5odG1sI3htbFNjaGVtYXRyb25OZXdWYWxpZEN0eHQiPnhtbFNjaGVtYXRyb25OZXdWYWxpZEN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUmVsYXhOR1NldFNjaGVtYSI+eG1sVGV4dFJlYWRlclJlbGF4TkdTZXRTY2hlbWE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyU2V0U2NoZW1hIj54bWxUZXh0UmVhZGVyU2V0U2NoZW1hPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aERlYnVnRHVtcENvbXBFeHByIj54bWxYUGF0aERlYnVnRHVtcENvbXBFeHByPC9hPjxiciAvPgorPC9kZD48ZHQ+cHJlY29tcHV0ZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFDb3B5VmFsdWUiPnhtbFNjaGVtYUNvcHlWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUdldENhbm9uVmFsdWUiPnhtbFNjaGVtYUdldENhbm9uVmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFHZXRDYW5vblZhbHVlV2h0c3AiPnhtbFNjaGVtYUdldENhbm9uVmFsdWVXaHRzcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYVZhbGlkYXRlRmFjZXQiPnhtbFNjaGVtYVZhbGlkYXRlRmFjZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0V2h0c3AiPnhtbFNjaGVtYVZhbGlkYXRlRmFjZXRXaHRzcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXQiPnhtbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFWYWxpZGF0ZUxlbmd0aEZhY2V0V2h0c3AiPnhtbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXRXaHRzcDwvYT48YnIgLz4KKzwvZGQ+PGR0PnByZWRlZmluZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX1hNTF9OQU1FU1BBQ0UiPlhNTF9YTUxfTkFNRVNQQUNFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxDbGVhbnVwUHJlZGVmaW5lZEVudGl0aWVzIj54bWxDbGVhbnVwUHJlZGVmaW5lZEVudGl0aWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxFbmNvZGVFbnRpdGllc1JlZW50cmFudCI+eG1sRW5jb2RlRW50aXRpZXNSZWVudHJhbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI3htbEVuY29kZVNwZWNpYWxDaGFycyI+eG1sRW5jb2RlU3BlY2lhbENoYXJzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxHZXREb2NFbnRpdHkiPnhtbEdldERvY0VudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjeG1sR2V0UHJlZGVmaW5lZEVudGl0eSI+eG1sR2V0UHJlZGVmaW5lZEVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjeG1sSW5pdGlhbGl6ZVByZWRlZmluZWRFbnRpdGllcyI+eG1sSW5pdGlhbGl6ZVByZWRlZmluZWRFbnRpdGllczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlUmVmZXJlbmNlIj54bWxQYXJzZVJlZmVyZW5jZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYVZhbFByZWRlZlR5cGVOb2RlIj54bWxTY2hlbWFWYWxQcmVkZWZUeXBlTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYVZhbFByZWRlZlR5cGVOb2RlTm9Ob3JtIj54bWxTY2hlbWFWYWxQcmVkZWZUeXBlTm9kZU5vTm9ybTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYVZhbGlkYXRlUHJlZGVmaW5lZFR5cGUiPnhtbFNjaGVtYVZhbGlkYXRlUHJlZGVmaW5lZFR5cGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5wcmVkaWNhdGU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoRXZhbFByZWRpY2F0ZSI+eG1sWFBhdGhFdmFsUHJlZGljYXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEV2YWx1YXRlUHJlZGljYXRlUmVzdWx0Ij54bWxYUGF0aEV2YWx1YXRlUHJlZGljYXRlUmVzdWx0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyRXZhbFJhbmdlUHJlZGljYXRlIj54bWxYUHRyRXZhbFJhbmdlUHJlZGljYXRlPC9hPjxiciAvPgorPC9kZD48ZHQ+cHJlZmVyYWJseTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxJbml0aWFsaXplQ2F0YWxvZyI+eG1sSW5pdGlhbGl6ZUNhdGFsb2c8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sTG9hZENhdGFsb2ciPnhtbExvYWRDYXRhbG9nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbExvYWRDYXRhbG9ncyI+eG1sTG9hZENhdGFsb2dzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld1BJIj54bWxOZXdQSTwvYT48YnIgLz4KKzwvZGQ+PGR0PnByZWZlcmVuY2U8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ0dldERlZmF1bHRzIj54bWxDYXRhbG9nR2V0RGVmYXVsdHM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ1NldERlZmF1bHRQcmVmZXIiPnhtbENhdGFsb2dTZXREZWZhdWx0UHJlZmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dTZXREZWZhdWx0cyI+eG1sQ2F0YWxvZ1NldERlZmF1bHRzPC9hPjxiciAvPgorPC9kZD48ZHQ+cHJlZml4ZXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1jMTRuLmh0bWwjeG1sQzE0TkRvY0R1bXBNZW1vcnkiPnhtbEMxNE5Eb2NEdW1wTWVtb3J5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtYzE0bi5odG1sI3htbEMxNE5Eb2NTYXZlIj54bWxDMTRORG9jU2F2ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTRORG9jU2F2ZVRvIj54bWxDMTRORG9jU2F2ZVRvPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtYzE0bi5odG1sI3htbEMxNE5FeGVjdXRlIj54bWxDMTRORXhlY3V0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwQWRvcHROb2RlIj54bWxET01XcmFwQWRvcHROb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBDbG9uZU5vZGUiPnhtbERPTVdyYXBDbG9uZU5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcFJlY29uY2lsZU5hbWVzcGFjZXMiPnhtbERPTVdyYXBSZWNvbmNpbGVOYW1lc3BhY2VzPC9hPjxiciAvPgorPC9kZD48ZHQ+cHJlcGFyaW5nPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ2xlYW51cFBhcnNlciI+eG1sQ2xlYW51cFBhcnNlcjwvYT48YnIgLz4KKzwvZGQ+PGR0PnByZXBhcnNlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFJlYWRlck5ld1dhbGtlciI+eG1sUmVhZGVyTmV3V2Fsa2VyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sUmVhZGVyV2Fsa2VyIj54bWxSZWFkZXJXYWxrZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR05ld0RvY1BhcnNlckN0eHQiPnhtbFJlbGF4TkdOZXdEb2NQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYU5ld0RvY1BhcnNlckN0eHQiPnhtbFNjaGVtYU5ld0RvY1BhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvbk5ld0RvY1BhcnNlckN0eHQiPnhtbFNjaGVtYXRyb25OZXdEb2NQYXJzZXJDdHh0PC9hPjxiciAvPgorPC9kZD48ZHQ+cHJlcGVuZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzIj54bWxWYWxpZEdldFZhbGlkRWxlbWVudHM8L2E+PGJyIC8+Cis8L2RkPjxkdD5wcmVzZW50PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlckNyZWF0ZVN0YXRpYyI+eG1sQnVmZmVyQ3JlYXRlU3RhdGljPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGljdC5odG1sI3htbERpY3RMb29rdXAiPnhtbERpY3RMb29rdXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kaWN0Lmh0bWwjeG1sRGljdFFMb29rdXAiPnhtbERpY3RRTG9va3VwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sR2V0VVRGOENoYXIiPnhtbEdldFVURjhDaGFyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld05zIj54bWxOZXdOczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJDb25zdFZhbHVlIj54bWxUZXh0UmVhZGVyQ29uc3RWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJWYWx1ZSI+eG1sVGV4dFJlYWRlclZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZURvY3VtZW50Ij54bWxWYWxpZGF0ZURvY3VtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZUR0ZCI+eG1sVmFsaWRhdGVEdGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlT25lRWxlbWVudCI+eG1sVmFsaWRhdGVPbmVFbGVtZW50PC9hPjxiciAvPgorPC9kZD48ZHQ+cHJlc2VydmU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfRkFDRVRfUFJFU0VSVkUiPlhNTF9TQ0hFTUFTX0ZBQ0VUX1BSRVNFUlZFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfV0hJVEVTUEFDRV9QUkVTRVJWRSI+WE1MX1NDSEVNQVNfVFlQRV9XSElURVNQQUNFX1BSRVNFUlZFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjX3htbFBhcnNlckN0eHQiPl94bWxQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVHZXRTcGFjZVByZXNlcnZlIj54bWxOb2RlR2V0U3BhY2VQcmVzZXJ2ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlU2V0U3BhY2VQcmVzZXJ2ZSI+eG1sTm9kZVNldFNwYWNlUHJlc2VydmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZXJJbnB1dEdyb3ciPnhtbFBhcnNlcklucHV0R3JvdzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQcmVzZXJ2ZSI+eG1sVGV4dFJlYWRlclByZXNlcnZlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclByZXNlcnZlUGF0dGVybiI+eG1sVGV4dFJlYWRlclByZXNlcnZlUGF0dGVybjwvYT48YnIgLz4KKzwvZGQ+PGR0PnByZXNlcnZlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwjSFRNTF9QUkVTRVJWRV9OT0RFIj5IVE1MX1BSRVNFUlZFX05PREU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3VGV4dENoaWxkIj54bWxOZXdUZXh0Q2hpbGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyR3JvdyI+eG1sUGFyc2VySW5wdXRCdWZmZXJHcm93PC9hPjxiciAvPgorPC9kZD48ZHQ+cHJlc2VydmluZzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlR2V0U3BhY2VQcmVzZXJ2ZSI+eG1sTm9kZUdldFNwYWNlUHJlc2VydmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVNldFNwYWNlUHJlc2VydmUiPnhtbE5vZGVTZXRTcGFjZVByZXNlcnZlPC9hPjxiciAvPgorPC9kZD48ZHQ+cHJldjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzIj54bWxWYWxpZEdldFZhbGlkRWxlbWVudHM8L2E+PGJyIC8+Cis8L2RkPjxkdD5wcmV2ZW50PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjX3htbFBhcnNlckN0eHQiPl94bWxQYXJzZXJDdHh0PC9hPjxiciAvPgorPC9kZD48ZHQ+cHJldmlvdXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjX3htbEF0dHIiPl94bWxBdHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI194bWxBdHRyaWJ1dGUiPl94bWxBdHRyaWJ1dGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjX3htbERvYyI+X3htbERvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNfeG1sRHRkIj5feG1sRHRkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI194bWxFbGVtZW50Ij5feG1sRWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjX3htbEVudGl0eSI+X3htbEVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNfeG1sTm9kZSI+X3htbE5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEhhbmRsZU9taXR0ZWRFbGVtIj5odG1sSGFuZGxlT21pdHRlZEVsZW08L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlRWxlbWVudCI+aHRtbFBhcnNlRWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxBZGRQcmV2U2libGluZyI+eG1sQWRkUHJldlNpYmxpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyRGV0YWNoIj54bWxCdWZmZXJEZXRhY2g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ1NldERlYnVnIj54bWxDYXRhbG9nU2V0RGVidWc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ1NldERlZmF1bHRQcmVmZXIiPnhtbENhdGFsb2dTZXREZWZhdWx0UHJlZmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbERlcmVnaXN0ZXJOb2RlRGVmYXVsdCI+eG1sRGVyZWdpc3Rlck5vZGVEZWZhdWx0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGljdC5odG1sI3htbERpY3RTZXRMaW1pdCI+eG1sRGljdFNldExpbWl0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sS2VlcEJsYW5rc0RlZmF1bHQiPnhtbEtlZXBCbGFua3NEZWZhdWx0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sTGluZU51bWJlcnNEZWZhdWx0Ij54bWxMaW5lTnVtYmVyc0RlZmF1bHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQZWRhbnRpY1BhcnNlckRlZmF1bHQiPnhtbFBlZGFudGljUGFyc2VyRGVmYXVsdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxQcmV2aW91c0VsZW1lbnRTaWJsaW5nIj54bWxQcmV2aW91c0VsZW1lbnRTaWJsaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUHVzaElucHV0Ij54bWxQdXNoSW5wdXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYRGVmYXVsdFZlcnNpb24iPnhtbFNBWERlZmF1bHRWZXJzaW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdCI+eG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhBeGlzRnVuYyI+eG1sWFBhdGhBeGlzRnVuYzwvYT48YnIgLz4KKzwvZGQ+PGR0PnByaW1pdGl2ZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX0JVSUxUSU5fUFJJTUlUSVZFIj5YTUxfU0NIRU1BU19UWVBFX0JVSUxUSU5fUFJJTUlUSVZFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbnZlcnRGdW5jIj54bWxYUGF0aENvbnZlcnRGdW5jPC9hPjxiciAvPgorPC9kZD48ZHQ+cHJpbnQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsUHJpbnROb2RlIj54bWxTaGVsbFByaW50Tm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sU25wcmludGZFbGVtZW50Q29udGVudCI+eG1sU25wcmludGZFbGVtZW50Q29udGVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sU3ByaW50ZkVsZW1lbnRDb250ZW50Ij54bWxTcHJpbnRmRWxlbWVudENvbnRlbnQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5wcmludGVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNodG1sTm9kZUR1bXAiPmh0bWxOb2RlRHVtcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwjaHRtbE5vZGVEdW1wRmlsZSI+aHRtbE5vZGVEdW1wRmlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwjaHRtbE5vZGVEdW1wRmlsZUZvcm1hdCI+aHRtbE5vZGVEdW1wRmlsZUZvcm1hdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwjaHRtbE5vZGVEdW1wRm9ybWF0T3V0cHV0Ij5odG1sTm9kZUR1bXBGb3JtYXRPdXRwdXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI2h0bWxOb2RlRHVtcE91dHB1dCI+aHRtbE5vZGVEdW1wT3V0cHV0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1Zk5vZGVEdW1wIj54bWxCdWZOb2RlRHVtcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxFbGVtRHVtcCI+eG1sRWxlbUR1bXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUR1bXAiPnhtbE5vZGVEdW1wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVEdW1wT3V0cHV0Ij54bWxOb2RlRHVtcE91dHB1dDwvYT48YnIgLz4KKzwvZGQ+PGR0PnByaW9yPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU2V0dXBQYXJzZXJGb3JCdWZmZXIiPnhtbFNldHVwUGFyc2VyRm9yQnVmZmVyPC9hPjxiciAvPgorPC9kZD48ZHQ+cHJpdmF0ZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nTG9jYWxSZXNvbHZlIj54bWxDYXRhbG9nTG9jYWxSZXNvbHZlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dMb2NhbFJlc29sdmVVUkkiPnhtbENhdGFsb2dMb2NhbFJlc29sdmVVUkk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxDaGVja0xhbmd1YWdlSUQiPnhtbENoZWNrTGFuZ3VhZ2VJRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheFBhcnNlclNldEZsYWciPnhtbFJlbGF4UGFyc2VyU2V0RmxhZzwvYT48YnIgLz4KKzwvZGQ+PGR0PnByaXZhdGV1c2U8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxDaGVja0xhbmd1YWdlSUQiPnhtbENoZWNrTGFuZ3VhZ2VJRDwvYT48YnIgLz4KKzwvZGQ+PGR0PnByb2JsZW08L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnkiPnhtbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXIiPnhtbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUN0eHRFeHRlcm5hbEVudGl0eSI+eG1sUGFyc2VDdHh0RXh0ZXJuYWxFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUV4dGVybmFsRW50aXR5Ij54bWxQYXJzZUV4dGVybmFsRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdWYWxpZGF0ZUZ1bGxFbGVtZW50Ij54bWxSZWxheE5HVmFsaWRhdGVGdWxsRWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HVmFsaWRhdGVQb3BFbGVtZW50Ij54bWxSZWxheE5HVmFsaWRhdGVQb3BFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdWYWxpZGF0ZVB1c2hDRGF0YSI+eG1sUmVsYXhOR1ZhbGlkYXRlUHVzaENEYXRhPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdWYWxpZGF0ZVB1c2hFbGVtZW50Ij54bWxSZWxheE5HVmFsaWRhdGVQdXNoRWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJHZXRSZW1haW5kZXIiPnhtbFRleHRSZWFkZXJHZXRSZW1haW5kZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxVVEY4U3Ryc3ViIj54bWxVVEY4U3Ryc3ViPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZVBvcEVsZW1lbnQiPnhtbFZhbGlkYXRlUG9wRWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVQdXNoQ0RhdGEiPnhtbFZhbGlkYXRlUHVzaENEYXRhPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZVB1c2hFbGVtZW50Ij54bWxWYWxpZGF0ZVB1c2hFbGVtZW50PC9hPjxiciAvPgorPC9kZD48ZHQ+cHJvYmxlbXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyUmVzaXplIj54bWxCdWZmZXJSZXNpemU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbERlYnVnQ2hlY2tEb2N1bWVudCI+eG1sRGVidWdDaGVja0RvY3VtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sTG9hZEV4dGVybmFsRW50aXR5Ij54bWxMb2FkRXh0ZXJuYWxFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlRHRkIj54bWxWYWxpZGF0ZUR0ZDwvYT48YnIgLz4KKzwvZGQ+PGR0PnByb2NlZHVyZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI2luaXR4bWxEZWZhdWx0U0FYSGFuZGxlciI+aW5pdHhtbERlZmF1bHRTQVhIYW5kbGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJJbml0RGVmYXVsdFNBWEhhbmRsZXIiPnhtbFNBWDJJbml0RGVmYXVsdFNBWEhhbmRsZXI8L2E+PGJyIC8+Cis8L2RkPjxkdD5wcm9jZXNzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ2xlYW51cFBhcnNlciI+eG1sQ2xlYW51cFBhcnNlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwQWRvcHROb2RlIj54bWxET01XcmFwQWRvcHROb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBDbG9uZU5vZGUiPnhtbERPTVdyYXBDbG9uZU5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcFJlY29uY2lsZU5hbWVzcGFjZXMiPnhtbERPTVdyYXBSZWNvbmNpbGVOYW1lc3BhY2VzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sRGVjb2RlRW50aXRpZXMiPnhtbERlY29kZUVudGl0aWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sTmV3VGV4dFJlYWRlckZpbGVuYW1lIj54bWxOZXdUZXh0UmVhZGVyRmlsZW5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUF0dFZhbHVlIj54bWxQYXJzZUF0dFZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbnRpdHlSZWYiPnhtbFBhcnNlRW50aXR5UmVmPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdOZXdEb2NQYXJzZXJDdHh0Ij54bWxSZWxheE5HTmV3RG9jUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFOZXdEb2NQYXJzZXJDdHh0Ij54bWxTY2hlbWFOZXdEb2NQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hdHJvbi5odG1sI3htbFNjaGVtYXRyb25OZXdEb2NQYXJzZXJDdHh0Ij54bWxTY2hlbWF0cm9uTmV3RG9jUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFNraXBCbGFua0NoYXJzIj54bWxTa2lwQmxhbmtDaGFyczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFN0cmluZ0RlY29kZUVudGl0aWVzIj54bWxTdHJpbmdEZWNvZGVFbnRpdGllczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFN0cmluZ0xlbkRlY29kZUVudGl0aWVzIj54bWxTdHJpbmdMZW5EZWNvZGVFbnRpdGllczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRDdHh0Tm9ybWFsaXplQXR0cmlidXRlVmFsdWUiPnhtbFZhbGlkQ3R4dE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlIj54bWxWYWxpZE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlPC9hPjxiciAvPgorPC9kZD48ZHQ+cHJvY2Vzc2VkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjX3htbFBhcnNlckN0eHQiPl94bWxQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjc3RhcnREb2N1bWVudCI+c3RhcnREb2N1bWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3N0YXJ0RG9jdW1lbnRTQVhGdW5jIj5zdGFydERvY3VtZW50U0FYRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI3N0YXJ0RWxlbWVudCI+c3RhcnRFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjc3RhcnRFbGVtZW50U0FYRnVuYyI+c3RhcnRFbGVtZW50U0FYRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbEJ1aWxkVVJJIj54bWxCdWlsZFVSSTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQXR0VmFsdWUiPnhtbFBhcnNlQXR0VmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMlN0YXJ0RG9jdW1lbnQiPnhtbFNBWDJTdGFydERvY3VtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJTdGFydEVsZW1lbnQiPnhtbFNBWDJTdGFydEVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUmVsYXhOR1NldFNjaGVtYSI+eG1sVGV4dFJlYWRlclJlbGF4TkdTZXRTY2hlbWE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUmVsYXhOR1ZhbGlkYXRlIj54bWxUZXh0UmVhZGVyUmVsYXhOR1ZhbGlkYXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZUN0eHQiPnhtbFRleHRSZWFkZXJSZWxheE5HVmFsaWRhdGVDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlIj54bWxUZXh0UmVhZGVyU2NoZW1hVmFsaWRhdGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyU2NoZW1hVmFsaWRhdGVDdHh0Ij54bWxUZXh0UmVhZGVyU2NoZW1hVmFsaWRhdGVDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclNldFNjaGVtYSI+eG1sVGV4dFJlYWRlclNldFNjaGVtYTwvYT48YnIgLz4KKzwvZGQ+PGR0PnByb2Nlc3NpbmctaW5zdHJ1Y3Rpb248L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoSXNOb2RlVHlwZSI+eG1sWFBhdGhJc05vZGVUeXBlPC9hPjxiciAvPgorPC9kZD48ZHQ+cHJvY2Vzc2luZy1pbnN0cnVjdGlvbi1ub2RlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbFN0cmVhbVB1c2hOb2RlIj54bWxTdHJlYW1QdXNoTm9kZTwvYT48YnIgLz4KKzwvZGQ+PGR0PnByb2Nlc3NpbmctaW5zdHJ1Y3Rpb24tbm9kZXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sU3RyZWFtV2FudHNBbnlOb2RlIj54bWxTdHJlYW1XYW50c0FueU5vZGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5wcm9jZXNzb3I8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxDdXJyZW50Q2hhciI+eG1sQ3VycmVudENoYXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUF0dFZhbHVlIj54bWxQYXJzZUF0dFZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbnRpdHlSZWYiPnhtbFBhcnNlRW50aXR5UmVmPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZEN0eHROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZSI+eG1sVmFsaWRDdHh0Tm9ybWFsaXplQXR0cmlidXRlVmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkTm9ybWFsaXplQXR0cmlidXRlVmFsdWUiPnhtbFZhbGlkTm9ybWFsaXplQXR0cmlidXRlVmFsdWU8L2E+PGJyIC8+Cis8L2RkPjxkdD5wcm9jZ3Jlc3NlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJHZXRSZW1haW5kZXIiPnhtbFRleHRSZWFkZXJHZXRSZW1haW5kZXI8L2E+PGJyIC8+Cis8L2RkPjxkdD5wcm9kdWNlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmdPdXRwdXRGdW5jIj54bWxDaGFyRW5jb2RpbmdPdXRwdXRGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFN0cmluZ0dldE5vZGVMaXN0Ij54bWxTdHJpbmdHZXROb2RlTGlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTdHJpbmdMZW5HZXROb2RlTGlzdCI+eG1sU3RyaW5nTGVuR2V0Tm9kZUxpc3Q8L2E+PGJyIC8+Cis8L2RkPjxkdD5wcm9kdWNlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYyI+eG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbEN1cnJlbnRDaGFyIj54bWxDdXJyZW50Q2hhcjwvYT48YnIgLz4KKzwvZGQ+PGR0PnByb2R1Y2luZzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoZWNrVVRGOCI+eG1sQ2hlY2tVVEY4PC9hPjxiciAvPgorPC9kZD48ZHQ+cHJvZHVjdGlvbjo8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxDaGVja0xhbmd1YWdlSUQiPnhtbENoZWNrTGFuZ3VhZ2VJRDwvYT48YnIgLz4KKzwvZGQ+PGR0PnByb2R1Y3Rpb25zPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sQ2hlY2tMYW5ndWFnZUlEIj54bWxDaGVja0xhbmd1YWdlSUQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5wcm9ncmFtPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyTmV3Q29udGV4dCI+eG1sWFB0ck5ld0NvbnRleHQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5wcm9ncmFtczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI2h0bWxJbml0QXV0b0Nsb3NlIj5odG1sSW5pdEF1dG9DbG9zZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEluaXRQYXJzZXIiPnhtbEluaXRQYXJzZXI8L2E+PGJyIC8+Cis8L2RkPjxkdD5wcm9ncmVzc2VzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnTmV3RXhlY0N0eHQiPnhtbFJlZ05ld0V4ZWNDdHh0PC9hPjxiciAvPgorPC9kZD48ZHQ+cHJvZ3Jlc3NpdmU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNfeG1sUGFyc2VyQ3R4dCI+X3htbFBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbEFsbG9jUGFyc2VySW5wdXRCdWZmZXIiPnhtbEFsbG9jUGFyc2VySW5wdXRCdWZmZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dEJ1ZmZlckNyZWF0ZUJ1ZmZlciI+eG1sT3V0cHV0QnVmZmVyQ3JlYXRlQnVmZmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRCdWZmZXJDcmVhdGVGZCI+eG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGUiPnhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lIj54bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0QnVmZmVyQ3JlYXRlSU8iPnhtbE91dHB1dEJ1ZmZlckNyZWF0ZUlPPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZkIj54bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGUiPnhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZSI+eG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVJTyI+eG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVJTzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVNZW0iPnhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlTWVtPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZVN0YXRpYyI+eG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVTdGF0aWM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyUHVzaCI+eG1sUGFyc2VySW5wdXRCdWZmZXJQdXNoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnTmV3RXhlY0N0eHQiPnhtbFJlZ05ld0V4ZWNDdHh0PC9hPjxiciAvPgorPC9kZD48ZHQ+cHJvaGliaXRlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19BVFRSX1VTRV9QUk9ISUJJVEVEIj5YTUxfU0NIRU1BU19BVFRSX1VTRV9QUk9ISUJJVEVEPC9hPjxiciAvPgorPC9kZD48ZHQ+cHJvamVjdHM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoSXNJbmYiPnhtbFhQYXRoSXNJbmY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoSXNOYU4iPnhtbFhQYXRoSXNOYU48L2E+PGJyIC8+Cis8L2RkPjxkdD5wcm9sb2c8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZURvY3VtZW50Ij54bWxQYXJzZURvY3VtZW50PC9hPjxiciAvPgorPC9kZD48ZHQ+cHJvbXB0PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbFJlYWRsaW5lRnVuYyI+eG1sU2hlbGxSZWFkbGluZUZ1bmM8L2E+PGJyIC8+Cis8L2RkPjxkdD5wcm9wZXI8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlQXR0cmlidXRlVmFsdWUiPnhtbFZhbGlkYXRlQXR0cmlidXRlVmFsdWU8L2E+PGJyIC8+Cis8L2RkPjxkdD5wcm9wZXJseTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2wiPnhtbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZU1hcmt1cERlY2wiPnhtbFBhcnNlTWFya3VwRGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxSZWNvbmNpbGlhdGVOcyI+eG1sUmVjb25jaWxpYXRlTnM8L2E+PGJyIC8+Cis8L2RkPjxkdD5wcm9wZXJ0aWVzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI194bWxOb2RlIj5feG1sTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxBZGRDaGlsZCI+eG1sQWRkQ2hpbGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQWRkTmV4dFNpYmxpbmciPnhtbEFkZE5leHRTaWJsaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEFkZFByZXZTaWJsaW5nIj54bWxBZGRQcmV2U2libGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxDb3B5Tm9kZSI+eG1sQ29weU5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRG9jQ29weU5vZGUiPnhtbERvY0NvcHlOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclJlYWQiPnhtbFRleHRSZWFkZXJSZWFkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclNldFBhcnNlclByb3AiPnhtbFRleHRSZWFkZXJTZXRQYXJzZXJQcm9wPC9hPjxiciAvPgorPC9kZD48ZHQ+cHJvcGVydHk8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjX3htbEF0dHIiPl94bWxBdHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI194bWxEdGQiPl94bWxEdGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQWRkQ2hpbGQiPnhtbEFkZENoaWxkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEZyZWVQcm9wTGlzdCI+eG1sRnJlZVByb3BMaXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld0RvY1Byb3AiPnhtbE5ld0RvY1Byb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3TnNQcm9wIj54bWxOZXdOc1Byb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3TnNQcm9wRWF0TmFtZSI+eG1sTmV3TnNQcm9wRWF0TmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdQcm9wIj54bWxOZXdQcm9wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckdldFBhcnNlclByb3AiPnhtbFRleHRSZWFkZXJHZXRQYXJzZXJQcm9wPC9hPjxiciAvPgorPC9kZD48ZHQ+cHJvdG9jb2w8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUENsZWFudXAiPnhtbE5hbm9GVFBDbGVhbnVwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBJbml0Ij54bWxOYW5vRlRQSW5pdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQU2NhblByb3h5Ij54bWxOYW5vRlRQU2NhblByb3h5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBVcGRhdGVVUkwiPnhtbE5hbm9GVFBVcGRhdGVVUkw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQQ2xlYW51cCI+eG1sTmFub0hUVFBDbGVhbnVwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUEluaXQiPnhtbE5hbm9IVFRQSW5pdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9odHRwLmh0bWwjeG1sTmFub0hUVFBTY2FuUHJveHkiPnhtbE5hbm9IVFRQU2NhblByb3h5PC9hPjxiciAvPgorPC9kZD48ZHQ+cHJvdG90eXBlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteGxpbmsuaHRtbCN4bGlua0V4dGVuZGVkTGlua0Z1bmsiPnhsaW5rRXh0ZW5kZWRMaW5rRnVuazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhsaW5rLmh0bWwjeGxpbmtFeHRlbmRlZExpbmtTZXRGdW5rIj54bGlua0V4dGVuZGVkTGlua1NldEZ1bms8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bGluay5odG1sI3hsaW5rTm9kZURldGVjdEZ1bmMiPnhsaW5rTm9kZURldGVjdEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bGluay5odG1sI3hsaW5rU2ltcGxlTGlua0Z1bmsiPnhsaW5rU2ltcGxlTGlua0Z1bms8L2E+PGJyIC8+Cis8L2RkPjxkdD5wcm92ZW5hbmNlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sRW50aXR5UmVmZXJlbmNlRnVuYyI+eG1sRW50aXR5UmVmZXJlbmNlRnVuYzwvYT48YnIgLz4KKzwvZGQ+PGR0PnByb3ZpZGU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjSU5WQUxJRF9TT0NLRVQiPklOVkFMSURfU09DS0VUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI1NPQ0tFVCI+U09DS0VUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1Zk5vZGVEdW1wIj54bWxCdWZOb2RlRHVtcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxEb2NEdW1wRm9ybWF0TWVtb3J5Ij54bWxEb2NEdW1wRm9ybWF0TWVtb3J5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERvY0R1bXBGb3JtYXRNZW1vcnlFbmMiPnhtbERvY0R1bXBGb3JtYXRNZW1vcnlFbmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRG9jRm9ybWF0RHVtcCI+eG1sRG9jRm9ybWF0RHVtcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sSW5wdXRNYXRjaENhbGxiYWNrIj54bWxJbnB1dE1hdGNoQ2FsbGJhY2s8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUR1bXAiPnhtbE5vZGVEdW1wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVEdW1wT3V0cHV0Ij54bWxOb2RlRHVtcE91dHB1dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0TWF0Y2hDYWxsYmFjayI+eG1sT3V0cHV0TWF0Y2hDYWxsYmFjazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTYXZlRm9ybWF0RmlsZSI+eG1sU2F2ZUZvcm1hdEZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2F2ZUZvcm1hdEZpbGVFbmMiPnhtbFNhdmVGb3JtYXRGaWxlRW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkYXRlU2V0RmlsZW5hbWUiPnhtbFNjaGVtYVZhbGlkYXRlU2V0RmlsZW5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRhdGVTZXRMb2NhdG9yIj54bWxTY2hlbWFWYWxpZGF0ZVNldExvY2F0b3I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRhdGVTdHJlYW0iPnhtbFNjaGVtYVZhbGlkYXRlU3RyZWFtPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sVVRGOFN0cmxvYyI+eG1sVVRGOFN0cmxvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFVURjhTdHJwb3MiPnhtbFVURjhTdHJwb3M8L2E+PGJyIC8+Cis8L2RkPjxkdD5wcm92aWRlczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI2VuZEVsZW1lbnROc1NBWDJGdW5jIj5lbmRFbGVtZW50TnNTQVgyRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3N0YXJ0RWxlbWVudE5zU0FYMkZ1bmMiPnN0YXJ0RWxlbWVudE5zU0FYMkZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxCeXRlQ29uc3VtZWQiPnhtbEJ5dGVDb25zdW1lZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cEN0eHROYkNvbnMiPnhtbEV4cEN0eHROYkNvbnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBDdHh0TmJOb2RlcyI+eG1sRXhwQ3R4dE5iTm9kZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMkVuZEVsZW1lbnROcyI+eG1sU0FYMkVuZEVsZW1lbnROczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyU3RhcnRFbGVtZW50TnMiPnhtbFNBWDJTdGFydEVsZW1lbnROczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJCeXRlQ29uc3VtZWQiPnhtbFRleHRSZWFkZXJCeXRlQ29uc3VtZWQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5wcm92aWRpbmc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNJTlBVVF9DSFVOSyI+SU5QVVRfQ0hVTks8L2E+PGJyIC8+Cis8L2RkPjxkdD5wcm92b2tlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoZWNrVVRGOCI+eG1sQ2hlY2tVVEY4PC9hPjxiciAvPgorPC9kZD48ZHQ+cHJveGltaXR5PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCNfeG1sWFBhdGhDb250ZXh0Ij5feG1sWFBhdGhDb250ZXh0PC9hPjxiciAvPgorPC9kZD48ZHQ+cHJveHk8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUENsZWFudXAiPnhtbE5hbm9GVFBDbGVhbnVwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBJbml0Ij54bWxOYW5vRlRQSW5pdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQUHJveHkiPnhtbE5hbm9GVFBQcm94eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQU2NhblByb3h5Ij54bWxOYW5vRlRQU2NhblByb3h5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUEluaXQiPnhtbE5hbm9IVFRQSW5pdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9odHRwLmh0bWwjeG1sTmFub0hUVFBTY2FuUHJveHkiPnhtbE5hbm9IVFRQU2NhblByb3h5PC9hPjxiciAvPgorPC9kZD48ZHQ+cHJ1bmU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sUmVwbGFjZU5vZGUiPnhtbFJlcGxhY2VOb2RlPC9hPjxiciAvPgorPC9kZD48ZHQ+cHRocmVhZF90PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbEdldFRocmVhZElkIj54bWxHZXRUaHJlYWRJZDwvYT48YnIgLz4KKzwvZGQ+PGR0PnB0aHJlYWRzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbEdldFRocmVhZElkIj54bWxHZXRUaHJlYWRJZDwvYT48YnIgLz4KKzwvZGQ+PGR0PnB1YmxpY0lEPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFeHRlcm5hbElEIj54bWxQYXJzZUV4dGVybmFsSUQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5wdWxsPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlckdyb3ciPnhtbFBhcnNlcklucHV0QnVmZmVyR3JvdzwvYT48YnIgLz4KKzwvZGQ+PGR0PnB1cmU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUNEU2VjdCI+eG1sUGFyc2VDRFNlY3Q8L2E+PGJyIC8+Cis8L2RkPjxkdD5wdXJwb3NlczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhEZWJ1Z0R1bXBPYmplY3QiPnhtbFhQYXRoRGVidWdEdW1wT2JqZWN0PC9hPjxiciAvPgorPC9kZD48ZHQ+cHVzaDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfUFVTSF9FTkFCTEVEIj5MSUJYTUxfUFVTSF9FTkFCTEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjX3htbFBhcnNlckN0eHQiPl94bWxQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtRE9DQnBhcnNlci5odG1sI2RvY2JDcmVhdGVQdXNoUGFyc2VyQ3R4dCI+ZG9jYkNyZWF0ZVB1c2hQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dCI+aHRtbENyZWF0ZVB1c2hQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQiPnhtbENyZWF0ZVB1c2hQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ3R4dFJlc2V0UHVzaCI+eG1sQ3R4dFJlc2V0UHVzaDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJQdXNoIj54bWxQYXJzZXJJbnB1dEJ1ZmZlclB1c2g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sU3RyZWFtUG9wIj54bWxTdHJlYW1Qb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRXZhbEV4cHIiPnhtbFhQYXRoRXZhbEV4cHI8L2E+PGJyIC8+Cis8L2RkPjxkdD5wdXNoZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdFeGVjRXJySW5mbyI+eG1sUmVnRXhlY0VyckluZm88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sU3RyZWFtUHVzaE5vZGUiPnhtbFN0cmVhbVB1c2hOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbFN0cmVhbVdhbnRzQW55Tm9kZSI+eG1sU3RyZWFtV2FudHNBbnlOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aEZ1bmN0aW9uIj54bWxYUGF0aEZ1bmN0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+cHVzaGluZzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlUEVSZWZlcmVuY2UiPnhtbFBhcnNlUEVSZWZlcmVuY2U8L2E+PGJyIC8+Cis8L2RkPjxkdD5wdXQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ0FkZCI+eG1sQ2F0YWxvZ0FkZDwvYT48YnIgLz4KKzwvZGQ+PGR0PnB1dGF0aXZlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hlY2tVVEY4Ij54bWxDaGVja1VURjg8L2E+PGJyIC8+Cis8L2RkPjxkdD5wd2Q8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsUHdkIj54bWxTaGVsbFB3ZDwvYT48YnIgLz4KKzwvZGQ+PC9kbD48aDIgYWxpZ249ImNlbnRlciI+PGEgaHJlZj0iQVBJY2h1bmswLmh0bWwiPkEtQjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMS5odG1sIj5DLUM8L2E+Cis8YSBocmVmPSJBUEljaHVuazIuaHRtbCI+RC1FPC9hPgorPGEgaHJlZj0iQVBJY2h1bmszLmh0bWwiPkYtSTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNC5odG1sIj5KLU48L2E+Cis8YSBocmVmPSJBUEljaHVuazUuaHRtbCI+Ty1QPC9hPgorPGEgaHJlZj0iQVBJY2h1bms2Lmh0bWwiPlEtUjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNy5odG1sIj5TLVM8L2E+Cis8YSBocmVmPSJBUEljaHVuazguaHRtbCI+VC1VPC9hPgorPGEgaHJlZj0iQVBJY2h1bms5Lmh0bWwiPlYtWDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTAuaHRtbCI+WS1hPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMS5odG1sIj5iLWI8L2E+Cis8YSBocmVmPSJBUEljaHVuazEyLmh0bWwiPmMtYzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTMuaHRtbCI+ZC1kPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNC5odG1sIj5lLWU8L2E+Cis8YSBocmVmPSJBUEljaHVuazE1Lmh0bWwiPmYtZjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTYuaHRtbCI+Zy1oPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNy5odG1sIj5pLWk8L2E+Cis8YSBocmVmPSJBUEljaHVuazE4Lmh0bWwiPmotbDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTkuaHRtbCI+bS1tPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMC5odG1sIj5uLW48L2E+Cis8YSBocmVmPSJBUEljaHVuazIxLmh0bWwiPm8tbzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjIuaHRtbCI+cC1wPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMy5odG1sIj5xLXI8L2E+Cis8YSBocmVmPSJBUEljaHVuazI0Lmh0bWwiPnMtczwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjUuaHRtbCI+dC10PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNi5odG1sIj51LXY8L2E+Cis8YSBocmVmPSJBUEljaHVuazI3Lmh0bWwiPnctdzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjguaHRtbCI+eC14PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyOS5odG1sIj55LXo8L2E+Cis8L2gyPjxwPjxhIGhyZWY9ImJ1Z3MuaHRtbCI+RGFuaWVsIFZlaWxsYXJkPC9hPjwvcD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvQVBJY2h1bmsyMy5odG1sIGIvbGlieG1sMi9kb2MvQVBJY2h1bmsyMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE2YzdjMjEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9BUEljaHVuazIzLmh0bWwKQEAgLTAsMCArMSw2NjggQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+PGxpbmsgcmVsPSJTSE9SVENVVCBJQ09OIiBocmVmPSIvZmF2aWNvbi5pY28iIC8+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK1REIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitCT0RZIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2E7IG1hcmdpbi10b3A6IDJlbTsgbWFyZ2luLWxlZnQ6IDBlbTsgbWFyZ2luLXJpZ2h0OiAwZW19CitIMSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDIge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gzIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitBOmxpbmssIEE6dmlzaXRlZCwgQTphY3RpdmUgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB9Cis8L3N0eWxlPjx0aXRsZT5BUEkgQWxwaGFiZXRpYyBJbmRleCBxLXIgZm9yIGxpYnhtbDI8L3RpdGxlPjwvaGVhZD48Ym9keSBiZ2NvbG9yPSIjOGI3NzY1IiB0ZXh0PSIjMDAwMDAwIiBsaW5rPSIjYTA2MDYwIiB2bGluaz0iIzAwMDAwMCI+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjEwMCUiIGNlbGxwYWRkaW5nPSI1IiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCB3aWR0aD0iMTIwIj48YSBocmVmPSJodHRwOi8vc3dwYXQuZmZpaS5vcmcvIj48aW1nIHNyYz0iZXBhdGVudHMucG5nIiBhbHQ9IkFjdGlvbiBhZ2FpbnN0IHNvZnR3YXJlIHBhdGVudHMiIC8+PC9hPjwvdGQ+PHRkIHdpZHRoPSIxODAiPjxhIGhyZWY9Imh0dHA6Ly93d3cuZ25vbWUub3JnLyI+PGltZyBzcmM9Imdub21lMi5wbmciIGFsdD0iR25vbWUyIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1N0YXR1cyI+PGltZyBzcmM9InczYy5wbmciIGFsdD0iVzNDIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cucmVkaGF0LmNvbS8iPjxpbWcgc3JjPSJyZWRoYXQuZ2lmIiBhbHQ9IlJlZCBIYXQgTG9nbyIgLz48L2E+PGRpdiBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnLyI+PGltZyBzcmM9IkxpYnhtbDItTG9nby0xODB4MTY4LmdpZiIgYWx0PSJNYWRlIHdpdGggTGlieG1sMiBMb2dvIiAvPjwvYT48L2Rpdj48L3RkPjx0ZD48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iOTAlIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyIgYmdjb2xvcj0iI2ZmZmFjZCI+PHRyPjx0ZCBhbGlnbj0iY2VudGVyIj48aDE+VGhlIFhNTCBDIHBhcnNlciBhbmQgdG9vbGtpdCBvZiBHbm9tZTwvaDE+PGgyPkFQSSBBbHBoYWJldGljIEluZGV4IHEtciBmb3IgbGlieG1sMjwvaDI+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjQiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiIHdpZHRoPSIxMDAlIj48dHI+PHRkIHZhbGlnbj0idG9wIiB3aWR0aD0iMjAwIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5EZXZlbG9wZXIgTWVudTwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48Zm9ybSBhY3Rpb249InNlYXJjaC5waHAiIGVuY3R5cGU9ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIgbWV0aG9kPSJnZXQiPjxpbnB1dCBuYW1lPSJxdWVyeSIgdHlwZT0idGV4dCIgc2l6ZT0iMjAiIHZhbHVlPSIiIC8+PGlucHV0IG5hbWU9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU2VhcmNoIC4uLiIgLz48L2Zvcm0+PHVsPjxsaT48YSBocmVmPSJpbmRleC5odG1sIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+TWFpbiBNZW51PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0bWwvaW5kZXguaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPlJlZmVyZW5jZSBNYW51YWw8L2E+PC9saT48bGk+PGEgaHJlZj0iZXhhbXBsZXMvaW5kZXguaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPkNvZGUgRXhhbXBsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iZ3VpZGVsaW5lcy5odG1sIj5YTUwgR3VpZGVsaW5lczwvYT48L2xpPjxsaT48YSBocmVmPSJ0dXRvcmlhbC9pbmRleC5odG1sIj5UdXRvcmlhbDwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWxyZWFkZXIuaHRtbCI+VGhlIFJlYWRlciBJbnRlcmZhY2U8L2E+PC9saT48bGk+PGEgaHJlZj0iQ2hhbmdlTG9nLmh0bWwiPkNoYW5nZUxvZzwvYT48L2xpPjxsaT48YSBocmVmPSJYU0xULmh0bWwiPlhTTFQ8L2E+PC9saT48bGk+PGEgaHJlZj0icHl0aG9uLmh0bWwiPlB5dGhvbiBhbmQgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iYXJjaGl0ZWN0dXJlLmh0bWwiPmxpYnhtbDIgYXJjaGl0ZWN0dXJlPC9hPjwvbGk+PGxpPjxhIGhyZWY9InRyZWUuaHRtbCI+VGhlIHRyZWUgb3V0cHV0PC9hPjwvbGk+PGxpPjxhIGhyZWY9ImludGVyZmFjZS5odG1sIj5UaGUgU0FYIGludGVyZmFjZTwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWxtZW0uaHRtbCI+TWVtb3J5IE1hbmFnZW1lbnQ8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1saW8uaHRtbCI+SS9PIEludGVyZmFjZXM8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlicmFyeS5odG1sIj5UaGUgcGFyc2VyIGludGVyZmFjZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iZW50aXRpZXMuaHRtbCI+RW50aXRpZXMgb3Igbm8gZW50aXRpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0ibmFtZXNwYWNlcy5odG1sIj5OYW1lc3BhY2VzPC9hPjwvbGk+PGxpPjxhIGhyZWY9InVwZ3JhZGUuaHRtbCI+VXBncmFkaW5nIDEueCBjb2RlPC9hPjwvbGk+PGxpPjxhIGhyZWY9InRocmVhZHMuaHRtbCI+VGhyZWFkIHNhZmV0eTwvYT48L2xpPjxsaT48YSBocmVmPSJET00uaHRtbCI+RE9NIFByaW5jaXBsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iZXhhbXBsZS5odG1sIj5BIHJlYWwgZXhhbXBsZTwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWwuaHRtbCI+ZmxhdCBwYWdlPC9hPiwgPGEgaHJlZj0ic2l0ZS54c2wiPnN0eWxlc2hlZXQ8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5BUEkgSW5kZXhlczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9IkFQSWNodW5rMC5odG1sIj5BbHBoYWJldGljPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkFQSWNvbnN0cnVjdG9ycy5odG1sIj5Db25zdHJ1Y3RvcnM8L2E+PC9saT48bGk+PGEgaHJlZj0iQVBJZnVuY3Rpb25zLmh0bWwiPkZ1bmN0aW9ucy9UeXBlczwvYT48L2xpPjxsaT48YSBocmVmPSJBUElmaWxlcy5odG1sIj5Nb2R1bGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkFQSXN5bWJvbHMuaHRtbCI+U3ltYm9sczwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPlJlbGF0ZWQgbGlua3M8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSJodHRwOi8vbWFpbC5nbm9tZS5vcmcvYXJjaGl2ZXMveG1sLyI+TWFpbCBhcmNoaXZlPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9YU0xULyI+WFNMVCBsaWJ4c2x0PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9waGQuY3MudW5pYm8uaXQvZ2RvbWUyLyI+RE9NIGdkb21lMjwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmFsZWtzZXkuY29tL3htbHNlYy8iPlhNTC1EU2lnIHhtbHNlYzwvYT48L2xpPjxsaT48YSBocmVmPSJmdHA6Ly94bWxzb2Z0Lm9yZy8iPkZUUDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnpsYXRrb3ZpYy5jb20vcHJvamVjdHMvbGlieG1sLyI+V2luZG93cyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vb3BlbmNzdy5vcmcvcGFja2FnZXMvbGlieG1sMiI+U29sYXJpcyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmV4cGxhaW4uY29tLmF1L29zcy9saWJ4bWwyeHNsdC5odG1sIj5NYWNPc1ggYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2x4bWwuZGUvIj5seG1sIFB5dGhvbiBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vY3Bhbi51d2lubmlwZWcuY2EvZGlzdC9YTUwtTGliWE1MIj5QZXJsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWxwbHVzcGx1cy5zb3VyY2Vmb3JnZS5uZXQvIj5DKysgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56ZW5kLmNvbS9waHA1L2FydGljbGVzL3BocDUteG1scGhwLnBocCNIZWFkaW5nNCI+UEhQIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbGlieG1sMi1wYXMvIj5QYXNjYWwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbC5ydWJ5Zm9yZ2Uub3JnLyI+UnVieSBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vdGNseG1sLnNvdXJjZWZvcmdlLm5ldC8iPlRjbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2J1Z2xpc3QuY2dpP3Byb2R1Y3Q9bGlieG1sMiI+QnVnIFRyYWNrZXI8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48aDIgYWxpZ249ImNlbnRlciI+PGEgaHJlZj0iQVBJY2h1bmswLmh0bWwiPkEtQjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMS5odG1sIj5DLUM8L2E+Cis8YSBocmVmPSJBUEljaHVuazIuaHRtbCI+RC1FPC9hPgorPGEgaHJlZj0iQVBJY2h1bmszLmh0bWwiPkYtSTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNC5odG1sIj5KLU48L2E+Cis8YSBocmVmPSJBUEljaHVuazUuaHRtbCI+Ty1QPC9hPgorPGEgaHJlZj0iQVBJY2h1bms2Lmh0bWwiPlEtUjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNy5odG1sIj5TLVM8L2E+Cis8YSBocmVmPSJBUEljaHVuazguaHRtbCI+VC1VPC9hPgorPGEgaHJlZj0iQVBJY2h1bms5Lmh0bWwiPlYtWDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTAuaHRtbCI+WS1hPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMS5odG1sIj5iLWI8L2E+Cis8YSBocmVmPSJBUEljaHVuazEyLmh0bWwiPmMtYzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTMuaHRtbCI+ZC1kPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNC5odG1sIj5lLWU8L2E+Cis8YSBocmVmPSJBUEljaHVuazE1Lmh0bWwiPmYtZjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTYuaHRtbCI+Zy1oPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNy5odG1sIj5pLWk8L2E+Cis8YSBocmVmPSJBUEljaHVuazE4Lmh0bWwiPmotbDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTkuaHRtbCI+bS1tPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMC5odG1sIj5uLW48L2E+Cis8YSBocmVmPSJBUEljaHVuazIxLmh0bWwiPm8tbzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjIuaHRtbCI+cC1wPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMy5odG1sIj5xLXI8L2E+Cis8YSBocmVmPSJBUEljaHVuazI0Lmh0bWwiPnMtczwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjUuaHRtbCI+dC10PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNi5odG1sIj51LXY8L2E+Cis8YSBocmVmPSJBUEljaHVuazI3Lmh0bWwiPnctdzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjguaHRtbCI+eC14PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyOS5odG1sIj55LXo8L2E+Cis8L2gyPjxoMj5MZXR0ZXIgcTo8L2gyPjxkbD48ZHQ+cXVhbGlmaWVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1FVQUxJRl9BVFRSIj5YTUxfU0NIRU1BU19RVUFMSUZfQVRUUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19RVUFMSUZfRUxFTSI+WE1MX1NDSEVNQVNfUVVBTElGX0VMRU08L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEdldER0ZFFBdHRyRGVzYyI+eG1sR2V0RHRkUUF0dHJEZXNjPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sTmFtZXNwYWNlUGFyc2VRTmFtZSI+eG1sTmFtZXNwYWNlUGFyc2VRTmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFNwbGl0UU5hbWUiPnhtbFNwbGl0UU5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU3BsaXRRTmFtZTIiPnhtbFNwbGl0UU5hbWUyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNwbGl0UU5hbWUzIj54bWxTcGxpdFFOYW1lMzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJDb25zdE5hbWUiPnhtbFRleHRSZWFkZXJDb25zdE5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlIj54bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlck1vdmVUb0F0dHJpYnV0ZSI+eG1sVGV4dFJlYWRlck1vdmVUb0F0dHJpYnV0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJOYW1lIj54bWxUZXh0UmVhZGVyTmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVQb3BFbGVtZW50Ij54bWxWYWxpZGF0ZVBvcEVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlUHVzaEVsZW1lbnQiPnhtbFZhbGlkYXRlUHVzaEVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUGFyc2VOQ05hbWUiPnhtbFhQYXRoUGFyc2VOQ05hbWU8L2E+PGJyIC8+Cis8L2RkPjxkdD5xdWVyeTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI194bWxVUkkiPl94bWxVUkk8L2E+PGJyIC8+Cis8L2RkPjxkdD5xdW90PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbnRpdHlSZWYiPnhtbFBhcnNlRW50aXR5UmVmPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VTRERlY2wiPnhtbFBhcnNlU0REZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VySGFuZGxlUmVmZXJlbmNlIj54bWxQYXJzZXJIYW5kbGVSZWZlcmVuY2U8L2E+PGJyIC8+Cis8L2RkPjxkdD5xdW90YXRpb248L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUXVvdGVDaGFyIj54bWxUZXh0UmVhZGVyUXVvdGVDaGFyPC9hPjxiciAvPgorPC9kZD48ZHQ+cXVvdGU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1ET0NCcGFyc2VyLmh0bWwjZG9jYkVuY29kZUVudGl0aWVzIj5kb2NiRW5jb2RlRW50aXRpZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEVuY29kZUVudGl0aWVzIj5odG1sRW5jb2RlRW50aXRpZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyV3JpdGVRdW90ZWRTdHJpbmciPnhtbEJ1ZmZlcldyaXRlUXVvdGVkU3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclNldFF1b3RlQ2hhciI+eG1sVGV4dFdyaXRlclNldFF1b3RlQ2hhcjwvYT48YnIgLz4KKzwvZGQ+PGR0PnF1b3RlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJXcml0ZVF1b3RlZFN0cmluZyI+eG1sQnVmZmVyV3JpdGVRdW90ZWRTdHJpbmc8L2E+PGJyIC8+Cis8L2RkPjxkdD5xdW90ZXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZVF1b3RlZFN0cmluZyI+eG1sUGFyc2VRdW90ZWRTdHJpbmc8L2E+PGJyIC8+Cis8L2RkPjxkdD5xdW90aW5nPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclNldFF1b3RlQ2hhciI+eG1sVGV4dFdyaXRlclNldFF1b3RlQ2hhcjwvYT48YnIgLz4KKzwvZGQ+PC9kbD48aDI+TGV0dGVyIHI6PC9oMj48ZGw+PGR0PnJhaXNlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCNYUF9FUlJPUiI+WFBfRVJST1I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI1hQX0VSUk9SMCI+WFBfRVJST1IwPC9hPjxiciAvPgorPC9kZD48ZHQ+cmFpc2VkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNfeG1sRXJyb3IiPl94bWxFcnJvcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sQ2hlY2tIVFRQSW5wdXQiPnhtbENoZWNrSFRUUElucHV0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBVcGRhdGVVUkwiPnhtbE5hbm9GVFBVcGRhdGVVUkw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI3htbFN0cnVjdHVyZWRFcnJvckZ1bmMiPnhtbFN0cnVjdHVyZWRFcnJvckZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoQ2hlY2tFcnJvciI+eG1sWFBhdGhDaGVja0Vycm9yPC9hPjxiciAvPgorPC9kZD48ZHQ+cmFuZ2U8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNJU19CWVRFX0NIQVIiPklTX0JZVEVfQ0hBUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdDb3VudGVyVHJhbnMiPnhtbEF1dG9tYXRhTmV3Q291bnRlclRyYW5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlckFkZCI+eG1sQnVmZmVyQWRkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlckFkZEhlYWQiPnhtbEJ1ZmZlckFkZEhlYWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sQ2hhckluUmFuZ2UiPnhtbENoYXJJblJhbmdlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwTmV3UmFuZ2UiPnhtbEV4cE5ld1JhbmdlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlck5vcm1hbGl6YXRpb24iPnhtbFRleHRSZWFkZXJOb3JtYWxpemF0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE5vZGVTZXRJdGVtIj54bWxYUGF0aE5vZGVTZXRJdGVtPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyTG9jYXRpb25TZXRBZGQiPnhtbFhQdHJMb2NhdGlvblNldEFkZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ckxvY2F0aW9uU2V0RGVsIj54bWxYUHRyTG9jYXRpb25TZXREZWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJMb2NhdGlvblNldFJlbW92ZSI+eG1sWFB0ckxvY2F0aW9uU2V0UmVtb3ZlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyTmV3Q29sbGFwc2VkUmFuZ2UiPnhtbFhQdHJOZXdDb2xsYXBzZWRSYW5nZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ck5ld0xvY2F0aW9uU2V0Tm9kZXMiPnhtbFhQdHJOZXdMb2NhdGlvblNldE5vZGVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyTmV3UmFuZ2UiPnhtbFhQdHJOZXdSYW5nZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ck5ld1JhbmdlTm9kZU9iamVjdCI+eG1sWFB0ck5ld1JhbmdlTm9kZU9iamVjdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ck5ld1JhbmdlTm9kZVBvaW50Ij54bWxYUHRyTmV3UmFuZ2VOb2RlUG9pbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJOZXdSYW5nZU5vZGVzIj54bWxYUHRyTmV3UmFuZ2VOb2RlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ck5ld1JhbmdlUG9pbnROb2RlIj54bWxYUHRyTmV3UmFuZ2VQb2ludE5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJOZXdSYW5nZVBvaW50cyI+eG1sWFB0ck5ld1JhbmdlUG9pbnRzPC9hPjxiciAvPgorPC9kZD48ZHQ+cmFuZ2UtdG88L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJSYW5nZVRvRnVuY3Rpb24iPnhtbFhQdHJSYW5nZVRvRnVuY3Rpb248L2E+PGJyIC8+Cis8L2RkPjxkdD5yYW5nZXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjX3htbENoUmFuZ2VHcm91cCI+X3htbENoUmFuZ2VHcm91cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ckZyZWVMb2NhdGlvblNldCI+eG1sWFB0ckZyZWVMb2NhdGlvblNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ckxvY2F0aW9uU2V0TWVyZ2UiPnhtbFhQdHJMb2NhdGlvblNldE1lcmdlPC9hPjxiciAvPgorPC9kZD48ZHQ+cmFuZ2VzZXRzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyTG9jYXRpb25TZXRNZXJnZSI+eG1sWFB0ckxvY2F0aW9uU2V0TWVyZ2U8L2E+PGJyIC8+Cis8L2RkPjxkdD5yYXRoZXI8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVySXNOYW1lc3BhY2VEZWNsIj54bWxUZXh0UmVhZGVySXNOYW1lc3BhY2VEZWNsPC9hPjxiciAvPgorPC9kZD48ZHQ+cmF0aW88L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sR2V0RG9jQ29tcHJlc3NNb2RlIj54bWxHZXREb2NDb21wcmVzc01vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2V0Q29tcHJlc3NNb2RlIj54bWxTZXRDb21wcmVzc01vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2V0RG9jQ29tcHJlc3NNb2RlIj54bWxTZXREb2NDb21wcmVzc01vZGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5yYXRpb248L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lIj54bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZTwvYT48YnIgLz4KKzwvZGQ+PGR0PnJhdzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjX3htbFBhcnNlcklucHV0QnVmZmVyIj5feG1sUGFyc2VySW5wdXRCdWZmZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxOYW1lc3BhY2VQYXJzZU5DTmFtZSI+eG1sTmFtZXNwYWNlUGFyc2VOQ05hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxOYW1lc3BhY2VQYXJzZU5TRGVmIj54bWxOYW1lc3BhY2VQYXJzZU5TRGVmPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sTmFtZXNwYWNlUGFyc2VRTmFtZSI+eG1sTmFtZXNwYWNlUGFyc2VRTmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlQWRkQ29udGVudCI+eG1sTm9kZUFkZENvbnRlbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUFkZENvbnRlbnRMZW4iPnhtbE5vZGVBZGRDb250ZW50TGVuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VDRFNlY3QiPnhtbFBhcnNlQ0RTZWN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlckdyb3ciPnhtbFBhcnNlcklucHV0QnVmZmVyR3JvdzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdFJhdyI+eG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0UmF3PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlUmF3Ij54bWxUZXh0V3JpdGVyV3JpdGVSYXc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0UmF3Ij54bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0UmF3PC9hPjxiciAvPgorPC9kZD48ZHQ+cmUtZW50cmFudDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRocmVhZHMuaHRtbCN4bWxMb2NrTGlicmFyeSI+eG1sTG9ja0xpYnJhcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sTmV3Uk11dGV4Ij54bWxOZXdSTXV0ZXg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sVW5sb2NrTGlicmFyeSI+eG1sVW5sb2NrTGlicmFyeTwvYT48YnIgLz4KKzwvZGQ+PGR0PnJlYWNoYWJsZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCN4bWxQYXR0ZXJuTWF4RGVwdGgiPnhtbFBhdHRlcm5NYXhEZXB0aDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCN4bWxQYXR0ZXJuTWluRGVwdGgiPnhtbFBhdHRlcm5NaW5EZXB0aDwvYT48YnIgLz4KKzwvZGQ+PGR0PnJlYWNoZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdFeGVjUHVzaFN0cmluZyI+eG1sUmVnRXhlY1B1c2hTdHJpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdFeGVjUHVzaFN0cmluZzIiPnhtbFJlZ0V4ZWNQdXNoU3RyaW5nMjwvYT48YnIgLz4KKzwvZGQ+PGR0PnJlYWQtb25seTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0Q3JlYXRlU3ViIj54bWxEaWN0Q3JlYXRlU3ViPC9hPjxiciAvPgorPC9kZD48ZHQ+cmVhZGFibGU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJFcXVhbCI+eG1sU3RyRXF1YWw8L2E+PGJyIC8+Cis8L2RkPjxkdD5yZWFkZXItPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckdldFJlbWFpbmRlciI+eG1sVGV4dFJlYWRlckdldFJlbWFpbmRlcjwvYT48YnIgLz4KKzwvZGQ+PGR0PnJlYWRpbmc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRhdGVTdHJlYW0iPnhtbFNjaGVtYVZhbGlkYXRlU3RyZWFtPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbCI+eG1sU2hlbGw8L2E+PGJyIC8+Cis8L2RkPjxkdD5yZWFkeTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lOUFVUX0NIVU5LIj5JTlBVVF9DSFVOSzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFDb21waWxlIj54bWxBdXRvbWF0YUNvbXBpbGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5yZWFsbG9jPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI194bWxCdWZmZXIiPl94bWxCdWZmZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxHY01lbUdldCI+eG1sR2NNZW1HZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxHY01lbVNldHVwIj54bWxHY01lbVNldHVwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWVtR2V0Ij54bWxNZW1HZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNZW1SZWFsbG9jIj54bWxNZW1SZWFsbG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWVtU2V0dXAiPnhtbE1lbVNldHVwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sUmVhbGxvY0Z1bmMiPnhtbFJlYWxsb2NGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sUmVhbGxvY0xvYyI+eG1sUmVhbGxvY0xvYzwvYT48YnIgLz4KKzwvZGQ+PGR0PnJlYWxsb2NhdGVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sUmVhbGxvY0Z1bmMiPnhtbFJlYWxsb2NGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3RybmNhdCI+eG1sU3RybmNhdDwvYT48YnIgLz4KKzwvZGQ+PGR0PnJlYWxseTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwjSFRNTF9DT01NRU5UX05PREUiPkhUTUxfQ09NTUVOVF9OT0RFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNIVE1MX0VOVElUWV9SRUZfTk9ERSI+SFRNTF9FTlRJVFlfUkVGX05PREU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI0hUTUxfUElfTk9ERSI+SFRNTF9QSV9OT0RFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNIVE1MX1BSRVNFUlZFX05PREUiPkhUTUxfUFJFU0VSVkVfTk9ERTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwjSFRNTF9URVhUX05PREUiPkhUTUxfVEVYVF9OT0RFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxFbnRpdHlMb29rdXAiPmh0bWxFbnRpdHlMb29rdXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEVudGl0eVZhbHVlTG9va3VwIj5odG1sRW50aXR5VmFsdWVMb29rdXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxCdWlsZFJlbGF0aXZlVVJJIj54bWxCdWlsZFJlbGF0aXZlVVJJPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxDcmVhdGVFbnRpdGllc1RhYmxlIj54bWxDcmVhdGVFbnRpdGllc1RhYmxlPC9hPjxiciAvPgorPC9kZD48ZHQ+cmVhc29uYWJsZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbEJ1aWxkUmVsYXRpdmVVUkkiPnhtbEJ1aWxkUmVsYXRpdmVVUkk8L2E+PGJyIC8+Cis8L2RkPjxkdD5yZWNlaXZlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwRHVtcCI+eG1sRXhwRHVtcDwvYT48YnIgLz4KKzwvZGQ+PGR0PnJlY2VpdmVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI2Z0cERhdGFDYWxsYmFjayI+ZnRwRGF0YUNhbGxiYWNrPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUFJldHVybkNvZGUiPnhtbE5hbm9IVFRQUmV0dXJuQ29kZTwvYT48YnIgLz4KKzwvZGQ+PGR0PnJlY2VpdmVzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFeHRlcm5hbElEIj54bWxQYXJzZUV4dGVybmFsSUQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5yZWNlaXZpbmc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNjaGFyYWN0ZXJzIj5jaGFyYWN0ZXJzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjaWdub3JhYmxlV2hpdGVzcGFjZSI+aWdub3JhYmxlV2hpdGVzcGFjZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRXh0ZXJuYWxJRCI+eG1sUGFyc2VFeHRlcm5hbElEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJDaGFyYWN0ZXJzIj54bWxTQVgyQ2hhcmFjdGVyczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgySWdub3JhYmxlV2hpdGVzcGFjZSI+eG1sU0FYMklnbm9yYWJsZVdoaXRlc3BhY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkR2V0VmFsaWRFbGVtZW50cyI+eG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzPC9hPjxiciAvPgorPC9kZD48ZHQ+cmVjbGFpbTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbENsZWFudXBQYXJzZXIiPnhtbENsZWFudXBQYXJzZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sRnJlZU11dGV4Ij54bWxGcmVlTXV0ZXg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sRnJlZVJNdXRleCI+eG1sRnJlZVJNdXRleDwvYT48YnIgLz4KKzwvZGQ+PGR0PnJlY29nbml6ZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbFBhcnNlQ2hhckVuY29kaW5nIj54bWxQYXJzZUNoYXJFbmNvZGluZzwvYT48YnIgLz4KKzwvZGQ+PGR0PnJlY29tbWVuZGF0aW9uPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxEZXRlY3RDaGFyRW5jb2RpbmciPnhtbERldGVjdENoYXJFbmNvZGluZzwvYT48YnIgLz4KKzwvZGQ+PGR0PnJlY29tbWVuZGF0aW9uOjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVBdHRyaWJ1dGVEZWNsIj54bWxWYWxpZGF0ZUF0dHJpYnV0ZURlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlRWxlbWVudERlY2wiPnhtbFZhbGlkYXRlRWxlbWVudERlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlTm90YXRpb25EZWNsIj54bWxWYWxpZGF0ZU5vdGF0aW9uRGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVPbmVBdHRyaWJ1dGUiPnhtbFZhbGlkYXRlT25lQXR0cmlidXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZU9uZUVsZW1lbnQiPnhtbFZhbGlkYXRlT25lRWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVPbmVOYW1lc3BhY2UiPnhtbFZhbGlkYXRlT25lTmFtZXNwYWNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZVJvb3QiPnhtbFZhbGlkYXRlUm9vdDwvYT48YnIgLz4KKzwvZGQ+PGR0PnJlY29tcHV0ZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyQWRkIj54bWxCdWZmZXJBZGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyQWRkSGVhZCI+eG1sQnVmZmVyQWRkSGVhZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0RXhpc3RzIj54bWxEaWN0RXhpc3RzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGljdC5odG1sI3htbERpY3RMb29rdXAiPnhtbERpY3RMb29rdXA8L2E+PGJyIC8+Cis8L2RkPjxkdD5yZWNvbmNpbGlhdGU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sUmVjb25jaWxpYXRlTnMiPnhtbFJlY29uY2lsaWF0ZU5zPC9hPjxiciAvPgorPC9kZD48ZHQ+cmVjb3JkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbEFDYXRhbG9nQWRkIj54bWxBQ2F0YWxvZ0FkZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nQWRkIj54bWxDYXRhbG9nQWRkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VyQWRkTm9kZUluZm8iPnhtbFBhcnNlckFkZE5vZGVJbmZvPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VyRmluZE5vZGVJbmZvSW5kZXgiPnhtbFBhcnNlckZpbmROb2RlSW5mb0luZGV4PC9hPjxiciAvPgorPC9kZD48ZHQ+cmVjb3ZlcjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXIiPnhtbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXI8L2E+PGJyIC8+Cis8L2RkPjxkdD5yZWNvdmVyeTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI194bWxQYXJzZXJDdHh0Ij5feG1sUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNBWFBhcnNlRG9jIj54bWxTQVhQYXJzZURvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNBWFBhcnNlRmlsZSI+eG1sU0FYUGFyc2VGaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYUGFyc2VGaWxlV2l0aERhdGEiPnhtbFNBWFBhcnNlRmlsZVdpdGhEYXRhPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYUGFyc2VNZW1vcnkiPnhtbFNBWFBhcnNlTWVtb3J5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYUGFyc2VNZW1vcnlXaXRoRGF0YSI+eG1sU0FYUGFyc2VNZW1vcnlXaXRoRGF0YTwvYT48YnIgLz4KKzwvZGQ+PGR0PnJlY3Vyc2U8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sTG9hZEFDYXRhbG9nIj54bWxMb2FkQUNhdGFsb2c8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sTG9hZENhdGFsb2ciPnhtbExvYWRDYXRhbG9nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNlYXJjaE5zIj54bWxTZWFyY2hOczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVSb290Ij54bWxWYWxpZGF0ZVJvb3Q8L2E+PGJyIC8+Cis8L2RkPjxkdD5yZWN1cnNpdmU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI2h0bWxOb2RlRHVtcCI+aHRtbE5vZGVEdW1wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNodG1sTm9kZUR1bXBGaWxlIj5odG1sTm9kZUR1bXBGaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNodG1sTm9kZUR1bXBGaWxlRm9ybWF0Ij5odG1sTm9kZUR1bXBGaWxlRm9ybWF0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNodG1sTm9kZUR1bXBGb3JtYXRPdXRwdXQiPmh0bWxOb2RlRHVtcEZvcm1hdE91dHB1dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwjaHRtbE5vZGVEdW1wT3V0cHV0Ij5odG1sTm9kZUR1bXBPdXRwdXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlRWxlbWVudCI+aHRtbFBhcnNlRWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZOb2RlRHVtcCI+eG1sQnVmTm9kZUR1bXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQ29weURvYyI+eG1sQ29weURvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sQ29weUVudW1lcmF0aW9uIj54bWxDb3B5RW51bWVyYXRpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQ29weU5vZGUiPnhtbENvcHlOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbENvcHlOb2RlTGlzdCI+eG1sQ29weU5vZGVMaXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxEZWJ1Z0R1bXBEb2N1bWVudCI+eG1sRGVidWdEdW1wRG9jdW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbERlYnVnRHVtcERvY3VtZW50SGVhZCI+eG1sRGVidWdEdW1wRG9jdW1lbnRIZWFkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxEZWJ1Z0R1bXBOb2RlIj54bWxEZWJ1Z0R1bXBOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxEZWJ1Z0R1bXBOb2RlTGlzdCI+eG1sRGVidWdEdW1wTm9kZUxpc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbERlYnVnRHVtcE9uZU5vZGUiPnhtbERlYnVnRHVtcE9uZU5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRG9jQ29weU5vZGUiPnhtbERvY0NvcHlOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERvY0NvcHlOb2RlTGlzdCI+eG1sRG9jQ29weU5vZGVMaXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEVsZW1EdW1wIj54bWxFbGVtRHVtcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sRnJlZUVudW1lcmF0aW9uIj54bWxGcmVlRW51bWVyYXRpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRnJlZU5vZGUiPnhtbEZyZWVOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEZyZWVOb2RlTGlzdCI+eG1sRnJlZU5vZGVMaXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbE5ld1JNdXRleCI+eG1sTmV3Uk11dGV4PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVEdW1wIj54bWxOb2RlRHVtcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlRHVtcE91dHB1dCI+eG1sTm9kZUR1bXBPdXRwdXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVsZW1lbnQiPnhtbFBhcnNlRWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlUEVSZWZlcmVuY2UiPnhtbFBhcnNlUEVSZWZlcmVuY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZXJIYW5kbGVQRVJlZmVyZW5jZSI+eG1sUGFyc2VySGFuZGxlUEVSZWZlcmVuY2U8L2E+PGJyIC8+Cis8L2RkPjxkdD5yZWN1cnNpdmVseTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxMb2FkQUNhdGFsb2ciPnhtbExvYWRBQ2F0YWxvZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQXR0VmFsdWUiPnhtbFBhcnNlQXR0VmFsdWU8L2E+PGJyIC8+Cis8L2RkPjxkdD5yZWRlY2xhcmVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFJlY29uY2lsaWF0ZU5zIj54bWxSZWNvbmNpbGlhdGVOczwvYT48YnIgLz4KKzwvZGQ+PGR0PnJlZGVmaW5lZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19BVFRSR1JPVVBfUkVERUZJTkVEIj5YTUxfU0NIRU1BU19BVFRSR1JPVVBfUkVERUZJTkVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfUkVERUZJTkVEIj5YTUxfU0NIRU1BU19UWVBFX1JFREVGSU5FRDwvYT48YnIgLz4KKzwvZGQ+PGR0PnJlZGVmaW5pdGlvbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbEVyck1lbW9yeSI+eG1sRXJyTWVtb3J5PC9hPjxiciAvPgorPC9kZD48ZHQ+cmVkaXI8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQTWV0aG9kUmVkaXIiPnhtbE5hbm9IVFRQTWV0aG9kUmVkaXI8L2E+PGJyIC8+Cis8L2RkPjxkdD5yZWRpcmVjdGVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUE1ldGhvZFJlZGlyIj54bWxOYW5vSFRUUE1ldGhvZFJlZGlyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUE9wZW5SZWRpciI+eG1sTmFub0hUVFBPcGVuUmVkaXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQUmVkaXIiPnhtbE5hbm9IVFRQUmVkaXI8L2E+PGJyIC8+Cis8L2RkPjxkdD5yZWRpcmVjdGlvbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sQ2hlY2tIVFRQSW5wdXQiPnhtbENoZWNrSFRUUElucHV0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUFJlZGlyIj54bWxOYW5vSFRUUFJlZGlyPC9hPjxiciAvPgorPC9kZD48ZHQ+cmVlbnRyYW50PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjaHRtbEluaXRBdXRvQ2xvc2UiPmh0bWxJbml0QXV0b0Nsb3NlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxFbmNvZGVFbnRpdGllc1JlZW50cmFudCI+eG1sRW5jb2RlRW50aXRpZXNSZWVudHJhbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI3htbEVuY29kZVNwZWNpYWxDaGFycyI+eG1sRW5jb2RlU3BlY2lhbENoYXJzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbEZyZWVSTXV0ZXgiPnhtbEZyZWVSTXV0ZXg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxJbml0UGFyc2VyIj54bWxJbml0UGFyc2VyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbE5ld1JNdXRleCI+eG1sTmV3Uk11dGV4PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbFJNdXRleExvY2siPnhtbFJNdXRleExvY2s8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sUk11dGV4VW5sb2NrIj54bWxSTXV0ZXhVbmxvY2s8L2E+PGJyIC8+Cis8L2RkPjxkdD5yZWY8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfQVRUUl9JTlRFUk5BTF9SRVNPTFZFRCI+WE1MX1NDSEVNQVNfQVRUUl9JTlRFUk5BTF9SRVNPTFZFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19FTEVNX0lOVEVSTkFMX1JFU09MVkVEIj5YTUxfU0NIRU1BU19FTEVNX0lOVEVSTkFMX1JFU09MVkVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCNfeG1sRW50aXR5Ij5feG1sRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxBZGRSZWYiPnhtbEFkZFJlZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sRnJlZVJlZlRhYmxlIj54bWxGcmVlUmVmVGFibGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3Q2hhclJlZiI+eG1sTmV3Q2hhclJlZjwvYT48YnIgLz4KKzwvZGQ+PGR0PnJlZmVyZW5jZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1saXN0Lmh0bWwjeG1sTGlua0dldERhdGEiPnhtbExpbmtHZXREYXRhPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VBdHRWYWx1ZSI+eG1sUGFyc2VBdHRWYWx1ZTwvYT48YnIgLz4KKzwvZGQ+PGR0PnJlZmVyZW5jaW5nPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxHZXREb2NFbnRpdHkiPnhtbEdldERvY0VudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjeG1sR2V0RHRkRW50aXR5Ij54bWxHZXREdGRFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI3htbEdldFBhcmFtZXRlckVudGl0eSI+eG1sR2V0UGFyYW1ldGVyRW50aXR5PC9hPjxiciAvPgorPC9kZD48ZHQ+cmVmZXJyZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUF0dHJpYnV0ZSI+eG1sUGFyc2VBdHRyaWJ1dGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUNoYXJSZWYiPnhtbFBhcnNlQ2hhclJlZjwvYT48YnIgLz4KKzwvZGQ+PGR0PnJlZnM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjX3htbERvYyI+X3htbERvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI194bWxQYXJzZXJDdHh0Ij5feG1sUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzwvZGQ+PGR0PnJlZnVzZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdOcyI+eG1sTmV3TnM8L2E+PGJyIC8+Cis8L2RkPjxkdD5yZWdleDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNfeG1sU2NoZW1hRmFjZXQiPl94bWxTY2hlbWFGYWNldDwvYT48YnIgLz4KKzwvZGQ+PGR0PnJlZ2V4cDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNfeG1sRWxlbWVudCI+X3htbEVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhQ29tcGlsZSI+eG1sQXV0b21hdGFDb21waWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnRXhlY0VyckluZm8iPnhtbFJlZ0V4ZWNFcnJJbmZvPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnRXhlY05leHRWYWx1ZXMiPnhtbFJlZ0V4ZWNOZXh0VmFsdWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnRXhlY1B1c2hTdHJpbmciPnhtbFJlZ0V4ZWNQdXNoU3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnRXhlY1B1c2hTdHJpbmcyIj54bWxSZWdFeGVjUHVzaFN0cmluZzI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdGcmVlUmVnZXhwIj54bWxSZWdGcmVlUmVnZXhwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnTmV3RXhlY0N0eHQiPnhtbFJlZ05ld0V4ZWNDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnZXhwUHJpbnQiPnhtbFJlZ2V4cFByaW50PC9hPjxiciAvPgorPC9kZD48ZHQ+cmVnZXhwczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cFBhcnNlIj54bWxFeHBQYXJzZTwvYT48YnIgLz4KKzwvZGQ+PGR0PnJlZ2lvbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbENoZWNrTGFuZ3VhZ2VJRCI+eG1sQ2hlY2tMYW5ndWFnZUlEPC9hPjxiciAvPgorPC9kZD48ZHQ+cmVnaXN0ZXI8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZUxvb2t1cCI+eG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlTG9va3VwPC9hPjxiciAvPgorPC9kZD48ZHQ+cmVnaXN0ZXJlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbENoZWNrTGFuZ3VhZ2VJRCI+eG1sQ2hlY2tMYW5ndWFnZUlEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxDdHh0R2V0TGFzdEVycm9yIj54bWxDdHh0R2V0TGFzdEVycm9yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxDdHh0UmVzZXRMYXN0RXJyb3IiPnhtbEN0eHRSZXNldExhc3RFcnJvcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sRmluZENoYXJFbmNvZGluZ0hhbmRsZXIiPnhtbEZpbmRDaGFyRW5jb2RpbmdIYW5kbGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxHZXRDaGFyRW5jb2RpbmdIYW5kbGVyIj54bWxHZXRDaGFyRW5jb2RpbmdIYW5kbGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxHZXRMYXN0RXJyb3IiPnhtbEdldExhc3RFcnJvcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sUG9wSW5wdXRDYWxsYmFja3MiPnhtbFBvcElucHV0Q2FsbGJhY2tzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxSZWdpc3RlcklucHV0Q2FsbGJhY2tzIj54bWxSZWdpc3RlcklucHV0Q2FsbGJhY2tzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxSZWdpc3Rlck91dHB1dENhbGxiYWNrcyI+eG1sUmVnaXN0ZXJPdXRwdXRDYWxsYmFja3M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI3htbFJlc2V0TGFzdEVycm9yIj54bWxSZXNldExhc3RFcnJvcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTZWFyY2hOcyI+eG1sU2VhcmNoTnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyR2V0RXJyb3JIYW5kbGVyIj54bWxUZXh0UmVhZGVyR2V0RXJyb3JIYW5kbGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJlZ2lzdGVyZWRGdW5jc0NsZWFudXAiPnhtbFhQYXRoUmVnaXN0ZXJlZEZ1bmNzQ2xlYW51cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhSZWdpc3RlcmVkTnNDbGVhbnVwIj54bWxYUGF0aFJlZ2lzdGVyZWROc0NsZWFudXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmVnaXN0ZXJlZFZhcmlhYmxlc0NsZWFudXAiPnhtbFhQYXRoUmVnaXN0ZXJlZFZhcmlhYmxlc0NsZWFudXA8L2E+PGJyIC8+Cis8L2RkPjxkdD5yZWdpc3RlcnM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbEluaXRDaGFyRW5jb2RpbmdIYW5kbGVycyI+eG1sSW5pdENoYXJFbmNvZGluZ0hhbmRsZXJzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxOZXdDaGFyRW5jb2RpbmdIYW5kbGVyIj54bWxOZXdDaGFyRW5jb2RpbmdIYW5kbGVyPC9hPjxiciAvPgorPC9kZD48ZHQ+cmVnaXN0cmF0aW9uPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1NLSVBfSURTIj5YTUxfU0tJUF9JRFM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0Ij54bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQiPnhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbFJlZ2lzdGVyTm9kZURlZmF1bHQiPnhtbFJlZ2lzdGVyTm9kZURlZmF1bHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sUmVnaXN0ZXJOb2RlRnVuYyI+eG1sUmVnaXN0ZXJOb2RlRnVuYzwvYT48YnIgLz4KKzwvZGQ+PGR0PnJlZ3VsYXI8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX1JFR0VYUF9FTkFCTEVEIj5MSUJYTUxfUkVHRVhQX0VOQUJMRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdFeGVjQ2FsbGJhY2tzIj54bWxSZWdFeGVjQ2FsbGJhY2tzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnRnJlZUV4ZWNDdHh0Ij54bWxSZWdGcmVlRXhlY0N0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdOZXdFeGVjQ3R4dCI+eG1sUmVnTmV3RXhlY0N0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdleHBDb21waWxlIj54bWxSZWdleHBDb21waWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnZXhwRXhlYyI+eG1sUmVnZXhwRXhlYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ2V4cElzRGV0ZXJtaW5pc3QiPnhtbFJlZ2V4cElzRGV0ZXJtaW5pc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdleHBQcmludCI+eG1sUmVnZXhwUHJpbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVySXNOYW1lc3BhY2VEZWNsIj54bWxUZXh0UmVhZGVySXNOYW1lc3BhY2VEZWNsPC9hPjxiciAvPgorPC9kZD48ZHQ+cmVpbml0aWFsaXplPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ2xlYXJOb2RlSW5mb1NlcSI+eG1sQ2xlYXJOb2RlSW5mb1NlcTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbENsZWFyUGFyc2VyQ3R4dCI+eG1sQ2xlYXJQYXJzZXJDdHh0PC9hPjxiciAvPgorPC9kZD48ZHQ+cmVsYXRlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfVU5JQ09ERV9FTkFCTEVEIj5MSUJYTUxfVU5JQ09ERV9FTkFCTEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxUYWdMb29rdXAiPmh0bWxUYWdMb29rdXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxDbGVhbnVwUGFyc2VyIj54bWxDbGVhbnVwUGFyc2VyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbENsZWFudXBUaHJlYWRzIj54bWxDbGVhbnVwVGhyZWFkczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRocmVhZHMuaHRtbCN4bWxJbml0VGhyZWFkcyI+eG1sSW5pdFRocmVhZHM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQQ2xvc2UiPnhtbE5hbm9IVFRQQ2xvc2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkQ3R4dE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlIj54bWxWYWxpZEN0eHROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZSI+eG1sVmFsaWROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZTwvYT48YnIgLz4KKzwvZGQ+PGR0PnJlbGF0aW9uc2hpcHM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjX2h0bWxFbGVtRGVzYyI+X2h0bWxFbGVtRGVzYzwvYT48YnIgLz4KKzwvZGQ+PGR0PnJlbGF0aXZlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sQnVpbGRSZWxhdGl2ZVVSSSI+eG1sQnVpbGRSZWxhdGl2ZVVSSTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEJ5dGVDb25zdW1lZCI+eG1sQnl0ZUNvbnN1bWVkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckJ5dGVDb25zdW1lZCI+eG1sVGV4dFJlYWRlckJ5dGVDb25zdW1lZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJHZXRBdHRyaWJ1dGVObyI+eG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZU5vPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlck1vdmVUb0F0dHJpYnV0ZU5vIj54bWxUZXh0UmVhZGVyTW92ZVRvQXR0cmlidXRlTm88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxVVEY4U3RybG9jIj54bWxVVEY4U3RybG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sVVRGOFN0cnN1YiI+eG1sVVRGOFN0cnN1YjwvYT48YnIgLz4KKzwvZGQ+PGR0PnJlbGF0aXZlLXJlZjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbFBhcnNlVVJJUmF3Ij54bWxQYXJzZVVSSVJhdzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbFBhcnNlVVJJUmVmZXJlbmNlIj54bWxQYXJzZVVSSVJlZmVyZW5jZTwvYT48YnIgLz4KKzwvZGQ+PGR0PnJlbGF0aXZlVVJJPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sUGFyc2VVUkkiPnhtbFBhcnNlVVJJPC9hPjxiciAvPgorPC9kZD48ZHQ+cmVsZWFzZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbENsZWFyTm9kZUluZm9TZXEiPnhtbENsZWFyTm9kZUluZm9TZXE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxDbGVhclBhcnNlckN0eHQiPnhtbENsZWFyUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbERlY29kZUVudGl0aWVzIj54bWxEZWNvZGVFbnRpdGllczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5ld09yIj54bWxFeHBOZXdPcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5ld1JhbmdlIj54bWxFeHBOZXdSYW5nZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5ld1NlcSI+eG1sRXhwTmV3U2VxPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbFVubG9ja0xpYnJhcnkiPnhtbFVubG9ja0xpYnJhcnk8L2E+PGJyIC8+Cis8L2RkPjxkdD5yZWxlYXNlczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJDbG9zZSI+eG1sVGV4dFJlYWRlckNsb3NlPC9hPjxiciAvPgorPC9kZD48ZHQ+cmVsaWFibGU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxzYXZlLmh0bWwjeG1sU2F2ZVRvRmlsZW5hbWUiPnhtbFNhdmVUb0ZpbGVuYW1lPC9hPjxiciAvPgorPC9kZD48ZHQ+cmVseTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlTmFtZXNwYWNlIj54bWxQYXJzZU5hbWVzcGFjZTwvYT48YnIgLz4KKzwvZGQ+PGR0PnJlbWFpbmRlcjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJHZXRSZW1haW5kZXIiPnhtbFRleHRSZWFkZXJHZXRSZW1haW5kZXI8L2E+PGJyIC8+Cis8L2RkPjxkdD5yZW1haW5pbmc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dCI+eG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkaXR5RXJyb3JGdW5jIj54bWxWYWxpZGl0eUVycm9yRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRpdHlXYXJuaW5nRnVuYyI+eG1sVmFsaWRpdHlXYXJuaW5nRnVuYzwvYT48YnIgLz4KKzwvZGQ+PGR0PnJlbWFwcGVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jT3V0RnVuYyI+eG1sQ2hhckVuY091dEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcEFkb3B0Tm9kZSI+eG1sRE9NV3JhcEFkb3B0Tm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwQ2xvbmVOb2RlIj54bWxET01XcmFwQ2xvbmVOb2RlPC9hPjxiciAvPgorPC9kZD48ZHQ+cmVtb3RlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBDd2QiPnhtbE5hbm9GVFBDd2Q8L2E+PGJyIC8+Cis8L2RkPjxkdD5yZW1vdmFsPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hSZW1vdmVFbnRyeSI+eG1sSGFzaFJlbW92ZUVudHJ5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hSZW1vdmVFbnRyeTIiPnhtbEhhc2hSZW1vdmVFbnRyeTI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFJlbW92ZUVudHJ5MyI+eG1sSGFzaFJlbW92ZUVudHJ5MzwvYT48YnIgLz4KKzwvZGQ+PGR0PnJlbW92ZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxBQ2F0YWxvZ1JlbW92ZSI+eG1sQUNhdGFsb2dSZW1vdmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmU2hyaW5rIj54bWxCdWZTaHJpbms8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyU2hyaW5rIj54bWxCdWZmZXJTaHJpbms8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ1JlbW92ZSI+eG1sQ2F0YWxvZ1JlbW92ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbERlY29kZUVudGl0aWVzIj54bWxEZWNvZGVFbnRpdGllczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxEb2NTZXRSb290RWxlbWVudCI+eG1sRG9jU2V0Um9vdEVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI3htbEVuY29kZUVudGl0aWVzIj54bWxFbmNvZGVFbnRpdGllczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoUmVtb3ZlRW50cnkiPnhtbEhhc2hSZW1vdmVFbnRyeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoUmVtb3ZlRW50cnkyIj54bWxIYXNoUmVtb3ZlRW50cnkyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hSZW1vdmVFbnRyeTMiPnhtbEhhc2hSZW1vdmVFbnRyeTM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZU5hbWVzcGFjZSI+eG1sUGFyc2VOYW1lc3BhY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyR3JvdyI+eG1sUGFyc2VySW5wdXRCdWZmZXJHcm93PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vZGVTZXRSZW1vdmUiPnhtbFhQYXRoTm9kZVNldFJlbW92ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ckxvY2F0aW9uU2V0UmVtb3ZlIj54bWxYUHRyTG9jYXRpb25TZXRSZW1vdmU8L2E+PGJyIC8+Cis8L2RkPjxkdD5yZW1vdmVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjaW5wdXRQb3AiPmlucHV0UG9wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjbmFtZVBvcCI+bmFtZVBvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI25vZGVQb3AiPm5vZGVQb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3ZhbHVlUG9wIj52YWx1ZVBvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxBQ2F0YWxvZ1JlbW92ZSI+eG1sQUNhdGFsb2dSZW1vdmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmU2hyaW5rIj54bWxCdWZTaHJpbms8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyU2hyaW5rIj54bWxCdWZmZXJTaHJpbms8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ1JlbW92ZSI+eG1sQ2F0YWxvZ1JlbW92ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbENoZWNrTGFuZ3VhZ2VJRCI+eG1sQ2hlY2tMYW5ndWFnZUlEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBSZW1vdmVOb2RlIj54bWxET01XcmFwUmVtb3ZlTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sRnJlZURvY0VsZW1lbnRDb250ZW50Ij54bWxGcmVlRG9jRWxlbWVudENvbnRlbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEZyZWVFbGVtZW50Q29udGVudCI+eG1sRnJlZUVsZW1lbnRDb250ZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sSGFuZGxlRW50aXR5Ij54bWxIYW5kbGVFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFJlbW92ZUVudHJ5Ij54bWxIYXNoUmVtb3ZlRW50cnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFJlbW92ZUVudHJ5MiI+eG1sSGFzaFJlbW92ZUVudHJ5MjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoUmVtb3ZlRW50cnkzIj54bWxIYXNoUmVtb3ZlRW50cnkzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hVcGRhdGVFbnRyeSI+eG1sSGFzaFVwZGF0ZUVudHJ5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hVcGRhdGVFbnRyeTIiPnhtbEhhc2hVcGRhdGVFbnRyeTI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFVwZGF0ZUVudHJ5MyI+eG1sSGFzaFVwZGF0ZUVudHJ5MzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdHbG9iYWxOcyI+eG1sTmV3R2xvYmFsTnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZU5hbWVzcGFjZSI+eG1sUGFyc2VOYW1lc3BhY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZVF1b3RlZFN0cmluZyI+eG1sUGFyc2VRdW90ZWRTdHJpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoVHJhbnNsYXRlRnVuY3Rpb24iPnhtbFhQYXRoVHJhbnNsYXRlRnVuY3Rpb248L2E+PGJyIC8+Cis8L2RkPjxkdD5yZW1vdmVzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VySW5wdXRTaHJpbmsiPnhtbFBhcnNlcklucHV0U2hyaW5rPC9hPjxiciAvPgorPC9kZD48ZHQ+cmVtb3Zpbmc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sTG9hZFNHTUxTdXBlckNhdGFsb2ciPnhtbExvYWRTR01MU3VwZXJDYXRhbG9nPC9hPjxiciAvPgorPC9kZD48ZHQ+cmVuYW1lPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNfeG1sRXJyb3IiPl94bWxFcnJvcjwvYT48YnIgLz4KKzwvZGQ+PGR0PnJlcGVhdDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhBeGlzRnVuYyI+eG1sWFBhdGhBeGlzRnVuYzwvYT48YnIgLz4KKzwvZGQ+PGR0PnJlcGVhdGVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwTmV3UmFuZ2UiPnhtbEV4cE5ld1JhbmdlPC9hPjxiciAvPgorPC9kZD48ZHQ+cmVwZXRpdGlvbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5ld1JhbmdlIj54bWxFeHBOZXdSYW5nZTwvYT48YnIgLz4KKzwvZGQ+PGR0PnJlcGxhY2U8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfRkFDRVRfUkVQTEFDRSI+WE1MX1NDSEVNQVNfRkFDRVRfUkVQTEFDRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX1dISVRFU1BBQ0VfUkVQTEFDRSI+WE1MX1NDSEVNQVNfVFlQRV9XSElURVNQQUNFX1JFUExBQ0U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNfeG1sUGFyc2VyQ3R4dCI+X3htbFBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUxpc3RHZXRSYXdTdHJpbmciPnhtbE5vZGVMaXN0R2V0UmF3U3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVMaXN0R2V0U3RyaW5nIj54bWxOb2RlTGlzdEdldFN0cmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzIj54bWxWYWxpZEdldFZhbGlkRWxlbWVudHM8L2E+PGJyIC8+Cis8L2RkPjxkdD5yZXBsYWNlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoVXBkYXRlRW50cnkiPnhtbEhhc2hVcGRhdGVFbnRyeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoVXBkYXRlRW50cnkyIj54bWxIYXNoVXBkYXRlRW50cnkyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hVcGRhdGVFbnRyeTMiPnhtbEhhc2hVcGRhdGVFbnRyeTM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3VGV4dENoaWxkIj54bWxOZXdUZXh0Q2hpbGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hU0FYUGx1ZyI+eG1sU2NoZW1hU0FYUGx1ZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhUcmFuc2xhdGVGdW5jdGlvbiI+eG1sWFBhdGhUcmFuc2xhdGVGdW5jdGlvbjwvYT48YnIgLz4KKzwvZGQ+PGR0PnJlcGxhY2VtZW50PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbEFDYXRhbG9nQWRkIj54bWxBQ2F0YWxvZ0FkZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nQWRkIj54bWxDYXRhbG9nQWRkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sRW50aXR5UmVmZXJlbmNlRnVuYyI+eG1sRW50aXR5UmVmZXJlbmNlRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQXR0VmFsdWUiPnhtbFBhcnNlQXR0VmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUF0dHJpYnV0ZSI+eG1sUGFyc2VBdHRyaWJ1dGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVsZW1lbnRDaGlsZHJlbkNvbnRlbnREZWNsIj54bWxQYXJzZUVsZW1lbnRDaGlsZHJlbkNvbnRlbnREZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VNYXJrdXBEZWNsIj54bWxQYXJzZU1hcmt1cERlY2w8L2E+PGJyIC8+Cis8L2RkPjxkdD5yZXBsYWNlczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI0RFQlVHX01FTU9SWSI+REVCVUdfTUVNT1JZPC9hPjxiciAvPgorPC9kZD48ZHQ+cmVwbGFjaW5nPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxFbmNvZGVFbnRpdGllc1JlZW50cmFudCI+eG1sRW5jb2RlRW50aXRpZXNSZWVudHJhbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI3htbEVuY29kZVNwZWNpYWxDaGFycyI+eG1sRW5jb2RlU3BlY2lhbENoYXJzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VBdHRWYWx1ZSI+eG1sUGFyc2VBdHRWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRDdHh0Tm9ybWFsaXplQXR0cmlidXRlVmFsdWUiPnhtbFZhbGlkQ3R4dE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlIj54bWxWYWxpZE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vcm1hbGl6ZUZ1bmN0aW9uIj54bWxYUGF0aE5vcm1hbGl6ZUZ1bmN0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+cmVwb3J0aW5nPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjSU5QVVRfQ0hVTksiPklOUFVUX0NIVU5LPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCNfeG1sWFBhdGhDb250ZXh0Ij5feG1sWFBhdGhDb250ZXh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkYXRlU2V0RmlsZW5hbWUiPnhtbFNjaGVtYVZhbGlkYXRlU2V0RmlsZW5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI3htbFN0cnVjdHVyZWRFcnJvckZ1bmMiPnhtbFN0cnVjdHVyZWRFcnJvckZ1bmM8L2E+PGJyIC8+Cis8L2RkPjxkdD5yZXBvcnRzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtRE9DQnBhcnNlci5odG1sI2RvY2JDcmVhdGVQdXNoUGFyc2VyQ3R4dCI+ZG9jYkNyZWF0ZVB1c2hQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dCI+aHRtbENyZWF0ZVB1c2hQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ2xlYW51cFBhcnNlciI+eG1sQ2xlYW51cFBhcnNlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRocmVhZHMuaHRtbCN4bWxDbGVhbnVwVGhyZWFkcyI+eG1sQ2xlYW51cFRocmVhZHM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dCI+eG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5yZXByPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hVmFsaWRhdGVGYWNldCI+eG1sU2NoZW1hVmFsaWRhdGVGYWNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYVZhbGlkYXRlRmFjZXRXaHRzcCI+eG1sU2NoZW1hVmFsaWRhdGVGYWNldFdodHNwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldCI+eG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXRXaHRzcCI+eG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldFdodHNwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hVmFsaWRhdGVMaXN0U2ltcGxlVHlwZUZhY2V0Ij54bWxTY2hlbWFWYWxpZGF0ZUxpc3RTaW1wbGVUeXBlRmFjZXQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5yZXByZXNlbnRhdGlvbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNfaHRtbEVsZW1EZXNjIj5faHRtbEVsZW1EZXNjPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hR2V0Q2Fub25WYWx1ZSI+eG1sU2NoZW1hR2V0Q2Fub25WYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUdldENhbm9uVmFsdWVXaHRzcCI+eG1sU2NoZW1hR2V0Q2Fub25WYWx1ZVdodHNwPC9hPjxiciAvPgorPC9kZD48ZHQ+cmVwcmVzZW50YXRpb25zPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld1RleHRDaGlsZCI+eG1sTmV3VGV4dENoaWxkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hR2V0Q2Fub25WYWx1ZSI+eG1sU2NoZW1hR2V0Q2Fub25WYWx1ZTwvYT48YnIgLz4KKzwvZGQ+PGR0PnJlcHJlc2VudGVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VDaGFyRGF0YSI+eG1sUGFyc2VDaGFyRGF0YTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdHJpbmdGdW5jdGlvbiI+eG1sWFBhdGhTdHJpbmdGdW5jdGlvbjwvYT48YnIgLz4KKzwvZGQ+PGR0PnJlcHJlc2VudGVkOjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNfaHRtbEVsZW1EZXNjIj5faHRtbEVsZW1EZXNjPC9hPjxiciAvPgorPC9kZD48ZHQ+cmVwcmVzZW50aW5nPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWVtQmxvY2tzIj54bWxNZW1CbG9ja3M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNZW1Vc2VkIj54bWxNZW1Vc2VkPC9hPjxiciAvPgorPC9kZD48ZHQ+cmVxdWVzdDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sSU9IVFRQT3BlblciPnhtbElPSFRUUE9wZW5XPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUE1ldGhvZCI+eG1sTmFub0hUVFBNZXRob2Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQTWV0aG9kUmVkaXIiPnhtbE5hbm9IVFRQTWV0aG9kUmVkaXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQT3BlbiI+eG1sTmFub0hUVFBPcGVuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUE9wZW5SZWRpciI+eG1sTmFub0hUVFBPcGVuUmVkaXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQUmV0dXJuQ29kZSI+eG1sTmFub0hUVFBSZXR1cm5Db2RlPC9hPjxiciAvPgorPC9kZD48ZHQ+cmVxdWVzdGVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBBY3F1aXJlTnNGdW5jdGlvbiI+eG1sRE9NV3JhcEFjcXVpcmVOc0Z1bmN0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sRXh0ZXJuYWxFbnRpdHlMb2FkZXIiPnhtbEV4dGVybmFsRW50aXR5TG9hZGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sSGFzRmVhdHVyZSI+eG1sSGFzRmVhdHVyZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sSXNJRCI+eG1sSXNJRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1hbGxvY0Z1bmMiPnhtbE1hbGxvY0Z1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmMiPnhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sUmVhbGxvY0Z1bmMiPnhtbFJlYWxsb2NGdW5jPC9hPjxiciAvPgorPC9kZD48ZHQ+cmVxdWVzdHM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbFJlZ2lzdGVySFRUUFBvc3RDYWxsYmFja3MiPnhtbFJlZ2lzdGVySFRUUFBvc3RDYWxsYmFja3M8L2E+PGJyIC8+Cis8L2RkPjxkdD5yZXF1aXJlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19BVFRSX1VTRV9SRVFVSVJFRCI+WE1MX1NDSEVNQVNfQVRUUl9VU0VfUkVRVUlSRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFJlcXVpcmVkQXR0cnMiPmh0bWxSZXF1aXJlZEF0dHJzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dTZXREZWJ1ZyI+eG1sQ2F0YWxvZ1NldERlYnVnPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hQ29sbGFwc2VTdHJpbmciPnhtbFNjaGVtYUNvbGxhcHNlU3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hV2hpdGVTcGFjZVJlcGxhY2UiPnhtbFNjaGVtYVdoaXRlU3BhY2VSZXBsYWNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFN0cmluZ0Z1bmN0aW9uIj54bWxYUGF0aFN0cmluZ0Z1bmN0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+cmVxdWlyZXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjX2h0bWxFbGVtRGVzYyI+X2h0bWxFbGVtRGVzYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTRORG9jU2F2ZVRvIj54bWxDMTRORG9jU2F2ZVRvPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtYzE0bi5odG1sI3htbEMxNE5FeGVjdXRlIj54bWxDMTRORXhlY3V0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HVmFsaWRhdGVQdXNoRWxlbWVudCI+eG1sUmVsYXhOR1ZhbGlkYXRlUHVzaEVsZW1lbnQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5yZXF1cmVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtYzE0bi5odG1sI3htbEMxNE5Eb2NTYXZlIj54bWxDMTRORG9jU2F2ZTwvYT48YnIgLz4KKzwvZGQ+PGR0PnJlc2VydmVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sQ2hlY2tMYW5ndWFnZUlEIj54bWxDaGVja0xhbmd1YWdlSUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3VGV4dENoaWxkIj54bWxOZXdUZXh0Q2hpbGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxVUklFc2NhcGVTdHIiPnhtbFVSSUVzY2FwZVN0cjwvYT48YnIgLz4KKzwvZGQ+PGR0PnJlc2V0PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNpbml0R2VuZXJpY0Vycm9yRGVmYXVsdEZ1bmMiPmluaXRHZW5lcmljRXJyb3JEZWZhdWx0RnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJEZXRhY2giPnhtbEJ1ZmZlckRldGFjaDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEN0eHRSZWFkRmQiPnhtbEN0eHRSZWFkRmQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVNldEJhc2UiPnhtbE5vZGVTZXRCYXNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVTZXROYW1lIj54bWxOb2RlU2V0TmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlU2V0U3BhY2VQcmVzZXJ2ZSI+eG1sTm9kZVNldFNwYWNlUHJlc2VydmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxSZWFkRmQiPnhtbFJlYWRGZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFJlYWRlckZvckZkIj54bWxSZWFkZXJGb3JGZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFJlYWRlck5ld0ZkIj54bWxSZWFkZXJOZXdGZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sU2V0R2VuZXJpY0Vycm9yRnVuYyI+eG1sU2V0R2VuZXJpY0Vycm9yRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTZXROc1Byb3AiPnhtbFNldE5zUHJvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTZXRQcm9wIj54bWxTZXRQcm9wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxTZXRTdHJ1Y3R1cmVkRXJyb3JGdW5jIj54bWxTZXRTdHJ1Y3R1cmVkRXJyb3JGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbFN0cmVhbVB1c2giPnhtbFN0cmVhbVB1c2g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sU3RyZWFtUHVzaEF0dHIiPnhtbFN0cmVhbVB1c2hBdHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbFN0cmVhbVB1c2hOb2RlIj54bWxTdHJlYW1QdXNoTm9kZTwvYT48YnIgLz4KKzwvZGQ+PGR0PnJlc2lkZXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyQ29uc3RYbWxMYW5nIj54bWxUZXh0UmVhZGVyQ29uc3RYbWxMYW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclhtbExhbmciPnhtbFRleHRSZWFkZXJYbWxMYW5nPC9hPjxiciAvPgorPC9kZD48ZHQ+cmVzaXplPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlclJlc2l6ZSI+eG1sQnVmZmVyUmVzaXplPC9hPjxiciAvPgorPC9kZD48ZHQ+cmVzb2x1dGlvbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI3Jlc29sdmVFbnRpdHkiPnJlc29sdmVFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNyZXNvbHZlRW50aXR5U0FYRnVuYyI+cmVzb2x2ZUVudGl0eVNBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQUNhdGFsb2dSZXNvbHZlIj54bWxBQ2F0YWxvZ1Jlc29sdmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQUNhdGFsb2dSZXNvbHZlVVJJIj54bWxBQ2F0YWxvZ1Jlc29sdmVVUkk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ0xvY2FsUmVzb2x2ZSI+eG1sQ2F0YWxvZ0xvY2FsUmVzb2x2ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nTG9jYWxSZXNvbHZlVVJJIj54bWxDYXRhbG9nTG9jYWxSZXNvbHZlVVJJPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dSZXNvbHZlIj54bWxDYXRhbG9nUmVzb2x2ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nUmVzb2x2ZVVSSSI+eG1sQ2F0YWxvZ1Jlc29sdmVVUkk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ1NldERlZmF1bHRQcmVmZXIiPnhtbENhdGFsb2dTZXREZWZhdWx0UHJlZmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxOb05ldEV4dGVybmFsRW50aXR5TG9hZGVyIj54bWxOb05ldEV4dGVybmFsRW50aXR5TG9hZGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJSZXNvbHZlRW50aXR5Ij54bWxTQVgyUmVzb2x2ZUVudGl0eTwvYT48YnIgLz4KKzwvZGQ+PGR0PnJlc29sdmVFbnRpdHk8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNyZXNvbHZlRW50aXR5Ij5yZXNvbHZlRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjcmVzb2x2ZUVudGl0eVNBWEZ1bmMiPnJlc29sdmVFbnRpdHlTQVhGdW5jPC9hPjxiciAvPgorPC9kZD48ZHQ+cmVzb2x2ZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfQVRUUl9JTlRFUk5BTF9SRVNPTFZFRCI+WE1MX1NDSEVNQVNfQVRUUl9JTlRFUk5BTF9SRVNPTFZFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19FTEVNX0lOVEVSTkFMX1JFU09MVkVEIj5YTUxfU0NIRU1BU19FTEVNX0lOVEVSTkFMX1JFU09MVkVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckxvb2t1cE5hbWVzcGFjZSI+eG1sVGV4dFJlYWRlckxvb2t1cE5hbWVzcGFjZTwvYT48YnIgLz4KKzwvZGQ+PGR0PnJlc29sdmVyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sR2V0RXh0ZXJuYWxFbnRpdHlMb2FkZXIiPnhtbEdldEV4dGVybmFsRW50aXR5TG9hZGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU2V0RXh0ZXJuYWxFbnRpdHlMb2FkZXIiPnhtbFNldEV4dGVybmFsRW50aXR5TG9hZGVyPC9hPjxiciAvPgorPC9kZD48ZHQ+cmVzb3VyY2VzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ2xlYXJQYXJzZXJDdHh0Ij54bWxDbGVhclBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sRnJlZU11dGV4Ij54bWxGcmVlTXV0ZXg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sRnJlZVJNdXRleCI+eG1sRnJlZVJNdXRleDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbEZyZWVUZXh0UmVhZGVyIj54bWxGcmVlVGV4dFJlYWRlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbEZyZWVUZXh0V3JpdGVyIj54bWxGcmVlVGV4dFdyaXRlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0QnVmZmVyQ2xvc2UiPnhtbE91dHB1dEJ1ZmZlckNsb3NlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdGcmVlUGFyc2VyQ3R4dCI+eG1sUmVsYXhOR0ZyZWVQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdGcmVlVmFsaWRDdHh0Ij54bWxSZWxheE5HRnJlZVZhbGlkQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFGcmVlUGFyc2VyQ3R4dCI+eG1sU2NoZW1hRnJlZVBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hRnJlZVZhbGlkQ3R4dCI+eG1sU2NoZW1hRnJlZVZhbGlkQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uRnJlZVBhcnNlckN0eHQiPnhtbFNjaGVtYXRyb25GcmVlUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uRnJlZVZhbGlkQ3R4dCI+eG1sU2NoZW1hdHJvbkZyZWVWYWxpZEN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyQ2xvc2UiPnhtbFRleHRSZWFkZXJDbG9zZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhpbmNsdWRlLmh0bWwjeG1sWEluY2x1ZGVTZXRGbGFncyI+eG1sWEluY2x1ZGVTZXRGbGFnczwvYT48YnIgLz4KKzwvZGQ+PGR0PnJlc3A8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVNldENvbnRlbnQiPnhtbE5vZGVTZXRDb250ZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVTZXRDb250ZW50TGVuIj54bWxOb2RlU2V0Q29udGVudExlbjwvYT48YnIgLz4KKzwvZGQ+PGR0PnJlc3BlY3Q8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBTdHJpbmdEZXJpdmUiPnhtbEV4cFN0cmluZ0Rlcml2ZTwvYT48YnIgLz4KKzwvZGQ+PGR0PnJlc3BlY3Rpbmc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkR2V0VmFsaWRFbGVtZW50cyI+eG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzPC9hPjxiciAvPgorPC9kZD48ZHQ+cmVzcG9uc2FiaWxpdHk8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI3htbE5ld0VudGl0eSI+eG1sTmV3RW50aXR5PC9hPjxiciAvPgorPC9kZD48ZHQ+cmVzcG9uc2U8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUENoZWNrUmVzcG9uc2UiPnhtbE5hbm9GVFBDaGVja1Jlc3BvbnNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBHZXRSZXNwb25zZSI+eG1sTmFub0ZUUEdldFJlc3BvbnNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUENvbnRlbnRMZW5ndGgiPnhtbE5hbm9IVFRQQ29udGVudExlbmd0aDwvYT48YnIgLz4KKzwvZGQ+PGR0PnJlc3BvbnNpYmxlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtYzE0bi5odG1sI3htbEMxNE5Eb2NEdW1wTWVtb3J5Ij54bWxDMTRORG9jRHVtcE1lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbENhbm9uaWNQYXRoIj54bWxDYW5vbmljUGF0aDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbFBhdGhUb1VSSSI+eG1sUGF0aFRvVVJJPC9hPjxiciAvPgorPC9kZD48ZHQ+cmVzdG9yZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hU0FYVW5wbHVnIj54bWxTY2hlbWFTQVhVbnBsdWc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyU2V0RXJyb3JIYW5kbGVyIj54bWxUZXh0UmVhZGVyU2V0RXJyb3JIYW5kbGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclNldFN0cnVjdHVyZWRFcnJvckhhbmRsZXIiPnhtbFRleHRSZWFkZXJTZXRTdHJ1Y3R1cmVkRXJyb3JIYW5kbGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE5vZGVFdmFsIj54bWxYUGF0aE5vZGVFdmFsPC9hPjxiciAvPgorPC9kZD48ZHQ+cmVzdHJpY3Q8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUV4dGVybmFsSUQiPnhtbFBhcnNlRXh0ZXJuYWxJRDwvYT48YnIgLz4KKzwvZGQ+PGR0PnJlc3RyaWN0aW9uPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0JMT0NLX0RFRkFVTFRfUkVTVFJJQ1RJT04iPlhNTF9TQ0hFTUFTX0JMT0NLX0RFRkFVTFRfUkVTVFJJQ1RJT048L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfRUxFTV9CTE9DS19SRVNUUklDVElPTiI+WE1MX1NDSEVNQVNfRUxFTV9CTE9DS19SRVNUUklDVElPTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19FTEVNX0ZJTkFMX1JFU1RSSUNUSU9OIj5YTUxfU0NIRU1BU19FTEVNX0ZJTkFMX1JFU1RSSUNUSU9OPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0ZJTkFMX0RFRkFVTFRfUkVTVFJJQ1RJT04iPlhNTF9TQ0hFTUFTX0ZJTkFMX0RFRkFVTFRfUkVTVFJJQ1RJT048L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVFlQRV9CTE9DS19SRVNUUklDVElPTiI+WE1MX1NDSEVNQVNfVFlQRV9CTE9DS19SRVNUUklDVElPTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX0RFUklWQVRJT05fTUVUSE9EX1JFU1RSSUNUSU9OIj5YTUxfU0NIRU1BU19UWVBFX0RFUklWQVRJT05fTUVUSE9EX1JFU1RSSUNUSU9OPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfRklOQUxfUkVTVFJJQ1RJT04iPlhNTF9TQ0hFTUFTX1RZUEVfRklOQUxfUkVTVFJJQ1RJT048L2E+PGJyIC8+Cis8L2RkPjxkdD5yZXN1bHRzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEVxdWFsVmFsdWVzIj54bWxYUGF0aEVxdWFsVmFsdWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vdEVxdWFsVmFsdWVzIj54bWxYUGF0aE5vdEVxdWFsVmFsdWVzPC9hPjxiciAvPgorPC9kZD48ZHQ+cmV0VmFsdWU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFHZXRDYW5vblZhbHVlIj54bWxTY2hlbWFHZXRDYW5vblZhbHVlPC9hPjxiciAvPgorPC9kZD48ZHQ+cmV0cmlldmU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sR2V0R2xvYmFsU3RhdGUiPnhtbEdldEdsb2JhbFN0YXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBHZXQiPnhtbE5hbm9GVFBHZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUEdldFNvY2tldCI+eG1sTmFub0ZUUEdldFNvY2tldDwvYT48YnIgLz4KKzwvZGQ+PGR0PnJldHJpZXZlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoQWRkRW50cnkiPnhtbEhhc2hBZGRFbnRyeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoQWRkRW50cnkyIj54bWxIYXNoQWRkRW50cnkyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hBZGRFbnRyeTMiPnhtbEhhc2hBZGRFbnRyeTM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFVwZGF0ZUVudHJ5Ij54bWxIYXNoVXBkYXRlRW50cnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFVwZGF0ZUVudHJ5MiI+eG1sSGFzaFVwZGF0ZUVudHJ5MjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoVXBkYXRlRW50cnkzIj54bWxIYXNoVXBkYXRlRW50cnkzPC9hPjxiciAvPgorPC9kZD48ZHQ+cmV0cnk8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkR2V0VmFsaWRFbGVtZW50cyI+eG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzPC9hPjxiciAvPgorPC9kZD48ZHQ+cmV0dXJuaW5nPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFN0cmluZ0Z1bmN0aW9uIj54bWxYUGF0aFN0cmluZ0Z1bmN0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+cmV1c2FsPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCNfeG1sWFBhdGhDb250ZXh0Ij5feG1sWFBhdGhDb250ZXh0PC9hPjxiciAvPgorPC9kZD48ZHQ+cmV1c2U8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sUmVjb25jaWxpYXRlTnMiPnhtbFJlY29uY2lsaWF0ZU5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnRXhlY1B1c2hTdHJpbmciPnhtbFJlZ0V4ZWNQdXNoU3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnRXhlY1B1c2hTdHJpbmcyIj54bWxSZWdFeGVjUHVzaFN0cmluZzI8L2E+PGJyIC8+Cis8L2RkPjxkdD5yZXVzZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFNldENhY2hlIj54bWxYUGF0aENvbnRleHRTZXRDYWNoZTwvYT48YnIgLz4KKzwvZGQ+PGR0PnJldXNlczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sQ3R4dFJlYWREb2MiPmh0bWxDdHh0UmVhZERvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sQ3R4dFJlYWRGZCI+aHRtbEN0eHRSZWFkRmQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEN0eHRSZWFkRmlsZSI+aHRtbEN0eHRSZWFkRmlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sQ3R4dFJlYWRJTyI+aHRtbEN0eHRSZWFkSU88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEN0eHRSZWFkTWVtb3J5Ij5odG1sQ3R4dFJlYWRNZW1vcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxDdHh0UmVhZERvYyI+eG1sQ3R4dFJlYWREb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxDdHh0UmVhZEZkIj54bWxDdHh0UmVhZEZkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ3R4dFJlYWRGaWxlIj54bWxDdHh0UmVhZEZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxDdHh0UmVhZElPIj54bWxDdHh0UmVhZElPPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ3R4dFJlYWRNZW1vcnkiPnhtbEN0eHRSZWFkTWVtb3J5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sUmVhZGVyTmV3RG9jIj54bWxSZWFkZXJOZXdEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxSZWFkZXJOZXdGZCI+eG1sUmVhZGVyTmV3RmQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxSZWFkZXJOZXdGaWxlIj54bWxSZWFkZXJOZXdGaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sUmVhZGVyTmV3SU8iPnhtbFJlYWRlck5ld0lPPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sUmVhZGVyTmV3TWVtb3J5Ij54bWxSZWFkZXJOZXdNZW1vcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxSZWFkZXJOZXdXYWxrZXIiPnhtbFJlYWRlck5ld1dhbGtlcjwvYT48YnIgLz4KKzwvZGQ+PGR0PnJldXNpbmc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14aW5jbHVkZS5odG1sI3htbFhJbmNsdWRlUHJvY2Vzc05vZGUiPnhtbFhJbmNsdWRlUHJvY2Vzc05vZGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5yZXZlcnNlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3RSZXZlcnNlU2VhcmNoIj54bWxMaXN0UmV2ZXJzZVNlYXJjaDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0UmV2ZXJzZVdhbGsiPnhtbExpc3RSZXZlcnNlV2FsazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXh0QW5jZXN0b3IiPnhtbFhQYXRoTmV4dEFuY2VzdG9yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHRBbmNlc3Rvck9yU2VsZiI+eG1sWFBhdGhOZXh0QW5jZXN0b3JPclNlbGY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV4dFByZWNlZGluZyI+eG1sWFBhdGhOZXh0UHJlY2VkaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHRQcmVjZWRpbmdTaWJsaW5nIj54bWxYUGF0aE5leHRQcmVjZWRpbmdTaWJsaW5nPC9hPjxiciAvPgorPC9kZD48ZHQ+cmV3cml0ZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJHZXRSZW1haW5kZXIiPnhtbFRleHRSZWFkZXJHZXRSZW1haW5kZXI8L2E+PGJyIC8+Cis8L2RkPjxkdD5yZmM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxDaGVja0xhbmd1YWdlSUQiPnhtbENoZWNrTGFuZ3VhZ2VJRDwvYT48YnIgLz4KKzwvZGQ+PGR0PnJmYy1lZGl0b3I8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxDaGVja0xhbmd1YWdlSUQiPnhtbENoZWNrTGFuZ3VhZ2VJRDwvYT48YnIgLz4KKzwvZGQ+PGR0PnJmYzU2NDY8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxDaGVja0xhbmd1YWdlSUQiPnhtbENoZWNrTGFuZ3VhZ2VJRDwvYT48YnIgLz4KKzwvZGQ+PGR0PnJpZ2h0PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld0NvdW50ZXJUcmFucyI+eG1sQXV0b21hdGFOZXdDb3VudGVyVHJhbnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbENoZWNrRmlsZW5hbWUiPnhtbENoZWNrRmlsZW5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxDaGVja0xhbmd1YWdlSUQiPnhtbENoZWNrTGFuZ3VhZ2VJRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5ld09yIj54bWxFeHBOZXdPcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5ld1NlcSI+eG1sRXhwTmV3U2VxPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VDaGFyRGF0YSI+eG1sUGFyc2VDaGFyRGF0YTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTZXRMaXN0RG9jIj54bWxTZXRMaXN0RG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNldFRyZWVEb2MiPnhtbFNldFRyZWVEb2M8L2E+PGJyIC8+Cis8L2RkPjxkdD5yb2xlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteGxpbmsuaHRtbCN4bGlua1NpbXBsZUxpbmtGdW5rIj54bGlua1NpbXBsZUxpbmtGdW5rPC9hPjxiciAvPgorPC9kZD48ZHQ+cm9sZXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bGluay5odG1sI3hsaW5rRXh0ZW5kZWRMaW5rRnVuayI+eGxpbmtFeHRlbmRlZExpbmtGdW5rPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGxpbmsuaHRtbCN4bGlua0V4dGVuZGVkTGlua1NldEZ1bmsiPnhsaW5rRXh0ZW5kZWRMaW5rU2V0RnVuazwvYT48YnIgLz4KKzwvZGQ+PGR0PnJvbGxiYWNrPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sU2Nhbk5hbWUiPnhtbFNjYW5OYW1lPC9hPjxiciAvPgorPC9kZD48ZHQ+cm9vdDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI2V4dGVybmFsU3Vic2V0Ij5leHRlcm5hbFN1YnNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI2V4dGVybmFsU3Vic2V0U0FYRnVuYyI+ZXh0ZXJuYWxTdWJzZXRTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjaW50ZXJuYWxTdWJzZXQiPmludGVybmFsU3Vic2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjaW50ZXJuYWxTdWJzZXRTQVhGdW5jIj5pbnRlcm5hbFN1YnNldFNBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRG9jR2V0Um9vdEVsZW1lbnQiPnhtbERvY0dldFJvb3RFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERvY1NldFJvb3RFbGVtZW50Ij54bWxEb2NTZXRSb290RWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRG9jVHlwZURlY2wiPnhtbFBhcnNlRG9jVHlwZURlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZU5hbWVzcGFjZSI+eG1sUGFyc2VOYW1lc3BhY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sUGF0dGVybkZyb21Sb290Ij54bWxQYXR0ZXJuRnJvbVJvb3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMkV4dGVybmFsU3Vic2V0Ij54bWxTQVgyRXh0ZXJuYWxTdWJzZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMkludGVybmFsU3Vic2V0Ij54bWxTQVgySW50ZXJuYWxTdWJzZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsUHdkIj54bWxTaGVsbFB3ZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCN4bWxTdHJlYW1QdXNoIj54bWxTdHJlYW1QdXNoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbFN0cmVhbVB1c2hBdHRyIj54bWxTdHJlYW1QdXNoQXR0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCN4bWxTdHJlYW1QdXNoTm9kZSI+eG1sU3RyZWFtUHVzaE5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlUm9vdCI+eG1sVmFsaWRhdGVSb290PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5ld1ZhbHVlVHJlZSI+eG1sWFBhdGhOZXdWYWx1ZVRyZWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUm9vdCI+eG1sWFBhdGhSb290PC9hPjxiciAvPgorPC9kZD48ZHQ+cm91bmQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUm91bmRGdW5jdGlvbiI+eG1sWFBhdGhSb3VuZEZ1bmN0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+cm91dGluZXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1ET0NCcGFyc2VyLmh0bWwjZG9jYlNBWFBhcnNlRG9jIj5kb2NiU0FYUGFyc2VEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1ET0NCcGFyc2VyLmh0bWwjZG9jYlNBWFBhcnNlRmlsZSI+ZG9jYlNBWFBhcnNlRmlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sU0FYUGFyc2VGaWxlIj5odG1sU0FYUGFyc2VGaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sR2NNZW1TZXR1cCI+eG1sR2NNZW1TZXR1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1lbVNldHVwIj54bWxNZW1TZXR1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlckhhbmRsZVJlZmVyZW5jZSI+eG1sUGFyc2VySGFuZGxlUmVmZXJlbmNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYUGFyc2VEb2MiPnhtbFNBWFBhcnNlRG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYUGFyc2VFbnRpdHkiPnhtbFNBWFBhcnNlRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYUGFyc2VGaWxlIj54bWxTQVhQYXJzZUZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxTQVhQYXJzZUZpbGVXaXRoRGF0YSI+eG1sU0FYUGFyc2VGaWxlV2l0aERhdGE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxTQVhQYXJzZU1lbW9yeSI+eG1sU0FYUGFyc2VNZW1vcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxTQVhQYXJzZU1lbW9yeVdpdGhEYXRhIj54bWxTQVhQYXJzZU1lbW9yeVdpdGhEYXRhPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYVXNlclBhcnNlRmlsZSI+eG1sU0FYVXNlclBhcnNlRmlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNBWFVzZXJQYXJzZU1lbW9yeSI+eG1sU0FYVXNlclBhcnNlTWVtb3J5PC9hPjxiciAvPgorPC9kZD48ZHQ+cnVsZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRW50aXR5UmVmIj54bWxQYXJzZUVudGl0eVJlZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlU3RhcnRUYWciPnhtbFBhcnNlU3RhcnRUYWc8L2E+PGJyIC8+Cis8L2RkPjxkdD5ydWxlczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCNYTUxfQ0FTVF9GUFRSIj5YTUxfQ0FTVF9GUFRSPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0FOWUFUVFJfU1RSSUNUIj5YTUxfU0NIRU1BU19BTllBVFRSX1NUUklDVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19BTllfU1RSSUNUIj5YTUxfU0NIRU1BU19BTllfU1RSSUNUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFN1YnN0cmluZ0Z1bmN0aW9uIj54bWxYUGF0aFN1YnN0cmluZ0Z1bmN0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+cnVuPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjX3htbFBhcnNlckN0eHQiPl94bWxQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQnl0ZUNvbnN1bWVkIj54bWxCeXRlQ29uc3VtZWQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5ydW5uaW5nPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sS2VlcEJsYW5rc0RlZmF1bHQiPnhtbEtlZXBCbGFua3NEZWZhdWx0PC9hPjxiciAvPgorPC9kZD48ZHQ+cnVudGltZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfREVCVUdfUlVOVElNRSI+TElCWE1MX0RFQlVHX1JVTlRJTUU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNYTUxfTUFYX05BTUVMRU4iPlhNTF9NQVhfTkFNRUxFTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI1hNTF9NQVhfTkFNRV9MRU5HVEgiPlhNTF9NQVhfTkFNRV9MRU5HVEg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNZW1EaXNwbGF5TGFzdCI+eG1sTWVtRGlzcGxheUxhc3Q8L2E+PGJyIC8+Cis8L2RkPjwvZGw+PGgyIGFsaWduPSJjZW50ZXIiPjxhIGhyZWY9IkFQSWNodW5rMC5odG1sIj5BLUI8L2E+Cis8YSBocmVmPSJBUEljaHVuazEuaHRtbCI+Qy1DPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyLmh0bWwiPkQtRTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMy5odG1sIj5GLUk8L2E+Cis8YSBocmVmPSJBUEljaHVuazQuaHRtbCI+Si1OPC9hPgorPGEgaHJlZj0iQVBJY2h1bms1Lmh0bWwiPk8tUDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNi5odG1sIj5RLVI8L2E+Cis8YSBocmVmPSJBUEljaHVuazcuaHRtbCI+Uy1TPC9hPgorPGEgaHJlZj0iQVBJY2h1bms4Lmh0bWwiPlQtVTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rOS5odG1sIj5WLVg8L2E+Cis8YSBocmVmPSJBUEljaHVuazEwLmh0bWwiPlktYTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTEuaHRtbCI+Yi1iPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMi5odG1sIj5jLWM8L2E+Cis8YSBocmVmPSJBUEljaHVuazEzLmh0bWwiPmQtZDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTQuaHRtbCI+ZS1lPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNS5odG1sIj5mLWY8L2E+Cis8YSBocmVmPSJBUEljaHVuazE2Lmh0bWwiPmctaDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTcuaHRtbCI+aS1pPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxOC5odG1sIj5qLWw8L2E+Cis8YSBocmVmPSJBUEljaHVuazE5Lmh0bWwiPm0tbTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjAuaHRtbCI+bi1uPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMS5odG1sIj5vLW88L2E+Cis8YSBocmVmPSJBUEljaHVuazIyLmh0bWwiPnAtcDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjMuaHRtbCI+cS1yPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNC5odG1sIj5zLXM8L2E+Cis8YSBocmVmPSJBUEljaHVuazI1Lmh0bWwiPnQtdDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjYuaHRtbCI+dS12PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNy5odG1sIj53LXc8L2E+Cis8YSBocmVmPSJBUEljaHVuazI4Lmh0bWwiPngteDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjkuaHRtbCI+eS16PC9hPgorPC9oMj48cD48YSBocmVmPSJidWdzLmh0bWwiPkRhbmllbCBWZWlsbGFyZDwvYT48L3A+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL0FQSWNodW5rMjQuaHRtbCBiL2xpYnhtbDIvZG9jL0FQSWNodW5rMjQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lODFmMzRkCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvQVBJY2h1bmsyNC5odG1sCkBAIC0wLDAgKzEsMTAwMSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIj4KKzxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj48aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz48bGluayByZWw9IlNIT1JUQ1VUIElDT04iIGhyZWY9Ii9mYXZpY29uLmljbyIgLz48c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorVEQge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0JPRFkge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYTsgbWFyZ2luLXRvcDogMmVtOyBtYXJnaW4tbGVmdDogMGVtOyBtYXJnaW4tcmlnaHQ6IDBlbX0KK0gxIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMiB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDMge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0E6bGluaywgQTp2aXNpdGVkLCBBOmFjdGl2ZSB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIH0KKzwvc3R5bGU+PHRpdGxlPkFQSSBBbHBoYWJldGljIEluZGV4IHMtcyBmb3IgbGlieG1sMjwvdGl0bGU+PC9oZWFkPjxib2R5IGJnY29sb3I9IiM4Yjc3NjUiIHRleHQ9IiMwMDAwMDAiIGxpbms9IiNhMDYwNjAiIHZsaW5rPSIjMDAwMDAwIj48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iMTAwJSIgY2VsbHBhZGRpbmc9IjUiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIHdpZHRoPSIxMjAiPjxhIGhyZWY9Imh0dHA6Ly9zd3BhdC5mZmlpLm9yZy8iPjxpbWcgc3JjPSJlcGF0ZW50cy5wbmciIGFsdD0iQWN0aW9uIGFnYWluc3Qgc29mdHdhcmUgcGF0ZW50cyIgLz48L2E+PC90ZD48dGQgd2lkdGg9IjE4MCI+PGEgaHJlZj0iaHR0cDovL3d3dy5nbm9tZS5vcmcvIj48aW1nIHNyYz0iZ25vbWUyLnBuZyIgYWx0PSJHbm9tZTIgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvU3RhdHVzIj48aW1nIHNyYz0idzNjLnBuZyIgYWx0PSJXM0MgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy5yZWRoYXQuY29tLyI+PGltZyBzcmM9InJlZGhhdC5naWYiIGFsdD0iUmVkIEhhdCBMb2dvIiAvPjwvYT48ZGl2IGFsaWduPSJsZWZ0Ij48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvIj48aW1nIHNyYz0iTGlieG1sMi1Mb2dvLTE4MHgxNjguZ2lmIiBhbHQ9Ik1hZGUgd2l0aCBMaWJ4bWwyIExvZ28iIC8+PC9hPjwvZGl2PjwvdGQ+PHRkPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSI5MCUiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIiBiZ2NvbG9yPSIjZmZmYWNkIj48dHI+PHRkIGFsaWduPSJjZW50ZXIiPjxoMT5UaGUgWE1MIEMgcGFyc2VyIGFuZCB0b29sa2l0IG9mIEdub21lPC9oMT48aDI+QVBJIEFscGhhYmV0aWMgSW5kZXggcy1zIGZvciBsaWJ4bWwyPC9oMj48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iNCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiIgd2lkdGg9IjEwMCUiPjx0cj48dGQgdmFsaWduPSJ0b3AiIHdpZHRoPSIyMDAiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPkRldmVsb3BlciBNZW51PC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjxmb3JtIGFjdGlvbj0ic2VhcmNoLnBocCIgZW5jdHlwZT0iYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIiBtZXRob2Q9ImdldCI+PGlucHV0IG5hbWU9InF1ZXJ5IiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IiIgLz48aW5wdXQgbmFtZT0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJTZWFyY2ggLi4uIiAvPjwvZm9ybT48dWw+PGxpPjxhIGhyZWY9ImluZGV4Lmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5NYWluIE1lbnU8L2E+PC9saT48bGk+PGEgaHJlZj0iaHRtbC9pbmRleC5odG1sIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+UmVmZXJlbmNlIE1hbnVhbDwvYT48L2xpPjxsaT48YSBocmVmPSJleGFtcGxlcy9pbmRleC5odG1sIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+Q29kZSBFeGFtcGxlczwvYT48L2xpPjxsaT48YSBocmVmPSJndWlkZWxpbmVzLmh0bWwiPlhNTCBHdWlkZWxpbmVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9InR1dG9yaWFsL2luZGV4Lmh0bWwiPlR1dG9yaWFsPC9hPjwvbGk+PGxpPjxhIGhyZWY9InhtbHJlYWRlci5odG1sIj5UaGUgUmVhZGVyIEludGVyZmFjZTwvYT48L2xpPjxsaT48YSBocmVmPSJDaGFuZ2VMb2cuaHRtbCI+Q2hhbmdlTG9nPC9hPjwvbGk+PGxpPjxhIGhyZWY9IlhTTFQuaHRtbCI+WFNMVDwvYT48L2xpPjxsaT48YSBocmVmPSJweXRob24uaHRtbCI+UHl0aG9uIGFuZCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJhcmNoaXRlY3R1cmUuaHRtbCI+bGlieG1sMiBhcmNoaXRlY3R1cmU8L2E+PC9saT48bGk+PGEgaHJlZj0idHJlZS5odG1sIj5UaGUgdHJlZSBvdXRwdXQ8L2E+PC9saT48bGk+PGEgaHJlZj0iaW50ZXJmYWNlLmh0bWwiPlRoZSBTQVggaW50ZXJmYWNlPC9hPjwvbGk+PGxpPjxhIGhyZWY9InhtbG1lbS5odG1sIj5NZW1vcnkgTWFuYWdlbWVudDwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWxpby5odG1sIj5JL08gSW50ZXJmYWNlczwvYT48L2xpPjxsaT48YSBocmVmPSJsaWJyYXJ5Lmh0bWwiPlRoZSBwYXJzZXIgaW50ZXJmYWNlczwvYT48L2xpPjxsaT48YSBocmVmPSJlbnRpdGllcy5odG1sIj5FbnRpdGllcyBvciBubyBlbnRpdGllczwvYT48L2xpPjxsaT48YSBocmVmPSJuYW1lc3BhY2VzLmh0bWwiPk5hbWVzcGFjZXM8L2E+PC9saT48bGk+PGEgaHJlZj0idXBncmFkZS5odG1sIj5VcGdyYWRpbmcgMS54IGNvZGU8L2E+PC9saT48bGk+PGEgaHJlZj0idGhyZWFkcy5odG1sIj5UaHJlYWQgc2FmZXR5PC9hPjwvbGk+PGxpPjxhIGhyZWY9IkRPTS5odG1sIj5ET00gUHJpbmNpcGxlczwvYT48L2xpPjxsaT48YSBocmVmPSJleGFtcGxlLmh0bWwiPkEgcmVhbCBleGFtcGxlPC9hPjwvbGk+PGxpPjxhIGhyZWY9InhtbC5odG1sIj5mbGF0IHBhZ2U8L2E+LCA8YSBocmVmPSJzaXRlLnhzbCI+c3R5bGVzaGVldDwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPkFQSSBJbmRleGVzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iQVBJY2h1bmswLmh0bWwiPkFscGhhYmV0aWM8L2E+PC9saT48bGk+PGEgaHJlZj0iQVBJY29uc3RydWN0b3JzLmh0bWwiPkNvbnN0cnVjdG9yczwvYT48L2xpPjxsaT48YSBocmVmPSJBUElmdW5jdGlvbnMuaHRtbCI+RnVuY3Rpb25zL1R5cGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkFQSWZpbGVzLmh0bWwiPk1vZHVsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iQVBJc3ltYm9scy5odG1sIj5TeW1ib2xzPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+UmVsYXRlZCBsaW5rczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9Imh0dHA6Ly9tYWlsLmdub21lLm9yZy9hcmNoaXZlcy94bWwvIj5NYWlsIGFyY2hpdmU8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnL1hTTFQvIj5YU0xUIGxpYnhzbHQ8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3BoZC5jcy51bmliby5pdC9nZG9tZTIvIj5ET00gZ2RvbWUyPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuYWxla3NleS5jb20veG1sc2VjLyI+WE1MLURTaWcgeG1sc2VjPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImZ0cDovL3htbHNvZnQub3JnLyI+RlRQPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemxhdGtvdmljLmNvbS9wcm9qZWN0cy9saWJ4bWwvIj5XaW5kb3dzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9vcGVuY3N3Lm9yZy9wYWNrYWdlcy9saWJ4bWwyIj5Tb2xhcmlzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuZXhwbGFpbi5jb20uYXUvb3NzL2xpYnhtbDJ4c2x0Lmh0bWwiPk1hY09zWCBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbHhtbC5kZS8iPmx4bWwgUHl0aG9uIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9jcGFuLnV3aW5uaXBlZy5jYS9kaXN0L1hNTC1MaWJYTUwiPlBlcmwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbHBsdXNwbHVzLnNvdXJjZWZvcmdlLm5ldC8iPkMrKyBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnplbmQuY29tL3BocDUvYXJ0aWNsZXMvcGhwNS14bWxwaHAucGhwI0hlYWRpbmc0Ij5QSFAgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9saWJ4bWwyLXBhcy8iPlBhc2NhbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1sLnJ1Ynlmb3JnZS5vcmcvIj5SdWJ5IGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly90Y2x4bWwuc291cmNlZm9yZ2UubmV0LyI+VGNsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvYnVnbGlzdC5jZ2k/cHJvZHVjdD1saWJ4bWwyIj5CdWcgVHJhY2tlcjwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMyIgY2VsbHNwYWNpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjxoMiBhbGlnbj0iY2VudGVyIj48YSBocmVmPSJBUEljaHVuazAuaHRtbCI+QS1CPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxLmh0bWwiPkMtQzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMi5odG1sIj5ELUU8L2E+Cis8YSBocmVmPSJBUEljaHVuazMuaHRtbCI+Ri1JPC9hPgorPGEgaHJlZj0iQVBJY2h1bms0Lmh0bWwiPkotTjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNS5odG1sIj5PLVA8L2E+Cis8YSBocmVmPSJBUEljaHVuazYuaHRtbCI+US1SPC9hPgorPGEgaHJlZj0iQVBJY2h1bms3Lmh0bWwiPlMtUzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rOC5odG1sIj5ULVU8L2E+Cis8YSBocmVmPSJBUEljaHVuazkuaHRtbCI+Vi1YPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMC5odG1sIj5ZLWE8L2E+Cis8YSBocmVmPSJBUEljaHVuazExLmh0bWwiPmItYjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTIuaHRtbCI+Yy1jPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMy5odG1sIj5kLWQ8L2E+Cis8YSBocmVmPSJBUEljaHVuazE0Lmh0bWwiPmUtZTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTUuaHRtbCI+Zi1mPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNi5odG1sIj5nLWg8L2E+Cis8YSBocmVmPSJBUEljaHVuazE3Lmh0bWwiPmktaTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTguaHRtbCI+ai1sPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxOS5odG1sIj5tLW08L2E+Cis8YSBocmVmPSJBUEljaHVuazIwLmh0bWwiPm4tbjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjEuaHRtbCI+by1vPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMi5odG1sIj5wLXA8L2E+Cis8YSBocmVmPSJBUEljaHVuazIzLmh0bWwiPnEtcjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjQuaHRtbCI+cy1zPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNS5odG1sIj50LXQ8L2E+Cis8YSBocmVmPSJBUEljaHVuazI2Lmh0bWwiPnUtdjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjcuaHRtbCI+dy13PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyOC5odG1sIj54LXg8L2E+Cis8YSBocmVmPSJBUEljaHVuazI5Lmh0bWwiPnktejwvYT4KKzwvaDI+PGgyPkxldHRlciBzOjwvaDI+PGRsPjxkdD5zMzkwPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI1hNTF9DQVNUX0ZQVFIiPlhNTF9DQVNUX0ZQVFI8L2E+PGJyIC8+Cis8L2RkPjxkdD5zYWZlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjQkFEX0NBU1QiPkJBRF9DQVNUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbEluaXRpYWxpemVDYXRhbG9nIj54bWxJbml0aWFsaXplQ2F0YWxvZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxMb2FkQ2F0YWxvZyI+eG1sTG9hZENhdGFsb2c8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sTG9hZENhdGFsb2dzIj54bWxMb2FkQ2F0YWxvZ3M8L2E+PGJyIC8+Cis8L2RkPjxkdD5zYWZldHk8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNYTUxfTUFYX0RJQ1RJT05BUllfTElNSVQiPlhNTF9NQVhfRElDVElPTkFSWV9MSU1JVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI1hNTF9NQVhfTkFNRV9MRU5HVEgiPlhNTF9NQVhfTkFNRV9MRU5HVEg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNYTUxfTUFYX1RFWFRfTEVOR1RIIj5YTUxfTUFYX1RFWFRfTEVOR1RIPC9hPjxiciAvPgorPC9kZD48ZHQ+c2FtZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwjSFRNTF9DT01NRU5UX05PREUiPkhUTUxfQ09NTUVOVF9OT0RFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNIVE1MX0VOVElUWV9SRUZfTk9ERSI+SFRNTF9FTlRJVFlfUkVGX05PREU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI0hUTUxfUElfTk9ERSI+SFRNTF9QSV9OT0RFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNIVE1MX1BSRVNFUlZFX05PREUiPkhUTUxfUFJFU0VSVkVfTk9ERTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwjSFRNTF9URVhUX05PREUiPkhUTUxfVEVYVF9OT0RFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjSVNfQkxBTktfQ0giPklTX0JMQU5LX0NIPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjY2hlY2tOYW1lc3BhY2UiPmNoZWNrTmFtZXNwYWNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbGVtZW50Q2hpbGRyZW5Db250ZW50RGVjbCI+eG1sUGFyc2VFbGVtZW50Q2hpbGRyZW5Db250ZW50RGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRWxlbWVudE1peGVkQ29udGVudERlY2wiPnhtbFBhcnNlRWxlbWVudE1peGVkQ29udGVudERlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZU1hcmt1cERlY2wiPnhtbFBhcnNlTWFya3VwRGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlU3RhcnRUYWciPnhtbFBhcnNlU3RhcnRUYWc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sUmVwbGFjZU5vZGUiPnhtbFJlcGxhY2VOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3RyRXF1YWwiPnhtbFN0ckVxdWFsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3RybmNhdE5ldyI+eG1sU3RybmNhdE5ldzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbFVSSVVuZXNjYXBlU3RyaW5nIj54bWxVUklVbmVzY2FwZVN0cmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDbXBOb2RlcyI+eG1sWFBhdGhDbXBOb2RlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhJZEZ1bmN0aW9uIj54bWxYUGF0aElkRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTGFuZ0Z1bmN0aW9uIj54bWxYUGF0aExhbmdGdW5jdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXh0QW5jZXN0b3JPclNlbGYiPnhtbFhQYXRoTmV4dEFuY2VzdG9yT3JTZWxmPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHRGb2xsb3dpbmciPnhtbFhQYXRoTmV4dEZvbGxvd2luZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXh0UHJlY2VkaW5nIj54bWxYUGF0aE5leHRQcmVjZWRpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9ybWFsaXplRnVuY3Rpb24iPnhtbFhQYXRoTm9ybWFsaXplRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoU2V0Q29udGV4dE5vZGUiPnhtbFhQYXRoU2V0Q29udGV4dE5vZGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5zYXZlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNodG1sTm9kZUR1bXBGaWxlRm9ybWF0Ij5odG1sTm9kZUR1bXBGaWxlRm9ybWF0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sR2NNZW1HZXQiPnhtbEdjTWVtR2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWVtR2V0Ij54bWxNZW1HZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQRmV0Y2giPnhtbE5hbm9IVFRQRmV0Y2g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzYXZlLmh0bWwjeG1sU2F2ZVRyZWUiPnhtbFNhdmVUcmVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbCI+eG1sU2hlbGw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsU2F2ZSI+eG1sU2hlbGxTYXZlPC9hPjxiciAvPgorPC9kZD48ZHQ+c2F2ZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjX2h0bWxFbGVtRGVzYyI+X2h0bWxFbGVtRGVzYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9odHRwLmh0bWwjeG1sTmFub0hUVFBGZXRjaCI+eG1sTmFub0hUVFBGZXRjaDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9odHRwLmh0bWwjeG1sTmFub0hUVFBTYXZlIj54bWxOYW5vSFRUUFNhdmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2F2ZUZvcm1hdEZpbGVFbmMiPnhtbFNhdmVGb3JtYXRGaWxlRW5jPC9hPjxiciAvPgorPC9kZD48ZHQ+c2F2ZXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUFJlYWQiPnhtbE5hbm9GVFBSZWFkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUFJlYWQiPnhtbE5hbm9IVFRQUmVhZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9odHRwLmh0bWwjeG1sTmFub0hUVFBTYXZlIj54bWxOYW5vSFRUUFNhdmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsV3JpdGUiPnhtbFNoZWxsV3JpdGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5zYXZpbmc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX09VVFBVVF9FTkFCTEVEIj5MSUJYTUxfT1VUUFVUX0VOQUJMRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX1dSSVRFUl9FTkFCTEVEIj5MSUJYTUxfV1JJVEVSX0VOQUJMRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxLZWVwQmxhbmtzRGVmYXVsdCI+eG1sS2VlcEJsYW5rc0RlZmF1bHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dEJ1ZmZlckNyZWF0ZUJ1ZmZlciI+eG1sT3V0cHV0QnVmZmVyQ3JlYXRlQnVmZmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRCdWZmZXJDcmVhdGVGZCI+eG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGUiPnhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lIj54bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0QnVmZmVyQ3JlYXRlSU8iPnhtbE91dHB1dEJ1ZmZlckNyZWF0ZUlPPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2F2ZS5odG1sI3htbFNhdmVDbG9zZSI+eG1sU2F2ZUNsb3NlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2F2ZS5odG1sI3htbFNhdmVEb2MiPnhtbFNhdmVEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzYXZlLmh0bWwjeG1sU2F2ZUZsdXNoIj54bWxTYXZlRmx1c2g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzYXZlLmh0bWwjeG1sU2F2ZVNldEF0dHJFc2NhcGUiPnhtbFNhdmVTZXRBdHRyRXNjYXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2F2ZS5odG1sI3htbFNhdmVTZXRFc2NhcGUiPnhtbFNhdmVTZXRFc2NhcGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzYXZlLmh0bWwjeG1sU2F2ZVRvQnVmZmVyIj54bWxTYXZlVG9CdWZmZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzYXZlLmh0bWwjeG1sU2F2ZVRvRmQiPnhtbFNhdmVUb0ZkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2F2ZS5odG1sI3htbFNhdmVUb0ZpbGVuYW1lIj54bWxTYXZlVG9GaWxlbmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNhdmUuaHRtbCN4bWxTYXZlVG9JTyI+eG1sU2F2ZVRvSU88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzYXZlLmh0bWwjeG1sU2F2ZVRyZWUiPnhtbFNhdmVUcmVlPC9hPjxiciAvPgorPC9kZD48ZHQ+c2F4PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtRE9DQnBhcnNlci5odG1sI2RvY2JTQVhQYXJzZURvYyI+ZG9jYlNBWFBhcnNlRG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtRE9DQnBhcnNlci5odG1sI2RvY2JTQVhQYXJzZUZpbGUiPmRvY2JTQVhQYXJzZUZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFNBWFBhcnNlRG9jIj5odG1sU0FYUGFyc2VEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFNBWFBhcnNlRmlsZSI+aHRtbFNBWFBhcnNlRmlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNBWFBhcnNlRG9jIj54bWxTQVhQYXJzZURvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNBWFBhcnNlRW50aXR5Ij54bWxTQVhQYXJzZUVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNBWFBhcnNlRmlsZSI+eG1sU0FYUGFyc2VGaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYUGFyc2VGaWxlV2l0aERhdGEiPnhtbFNBWFBhcnNlRmlsZVdpdGhEYXRhPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYUGFyc2VNZW1vcnkiPnhtbFNBWFBhcnNlTWVtb3J5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYUGFyc2VNZW1vcnlXaXRoRGF0YSI+eG1sU0FYUGFyc2VNZW1vcnlXaXRoRGF0YTwvYT48YnIgLz4KKzwvZGQ+PGR0PnNheTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2wiPnhtbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZU1hcmt1cERlY2wiPnhtbFBhcnNlTWFya3VwRGVjbDwvYT48YnIgLz4KKzwvZGQ+PGR0PnNheXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUNvbW1lbnQiPnhtbFBhcnNlQ29tbWVudDwvYT48YnIgLz4KKzwvZGQ+PGR0PnNjYW48L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEVudGl0eUxvb2t1cCI+aHRtbEVudGl0eUxvb2t1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sRW50aXR5VmFsdWVMb29rdXAiPmh0bWxFbnRpdHlWYWx1ZUxvb2t1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdHJpbmdFdmFsTnVtYmVyIj54bWxYUGF0aFN0cmluZ0V2YWxOdW1iZXI8L2E+PGJyIC8+Cis8L2RkPjxkdD5zY2FubmVyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hTY2FuIj54bWxIYXNoU2NhbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoU2NhbjMiPnhtbEhhc2hTY2FuMzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoU2NhbkZ1bGwiPnhtbEhhc2hTY2FuRnVsbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoU2NhbkZ1bGwzIj54bWxIYXNoU2NhbkZ1bGwzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hTY2FubmVyIj54bWxIYXNoU2Nhbm5lcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoU2Nhbm5lckZ1bGwiPnhtbEhhc2hTY2FubmVyRnVsbDwvYT48YnIgLz4KKzwvZGQ+PGR0PnNjYW5uaW5nPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hTY2FubmVyIj54bWxIYXNoU2Nhbm5lcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoU2Nhbm5lckZ1bGwiPnhtbEhhc2hTY2FubmVyRnVsbDwvYT48YnIgLz4KKzwvZGQ+PGR0PnNjYW5ubmVyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hTY2FubmVyIj54bWxIYXNoU2Nhbm5lcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoU2Nhbm5lckZ1bGwiPnhtbEhhc2hTY2FubmVyRnVsbDwvYT48YnIgLz4KKzwvZGQ+PGR0PnNjaGVtYXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR05ld0RvY1BhcnNlckN0eHQiPnhtbFJlbGF4TkdOZXdEb2NQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdOZXdNZW1QYXJzZXJDdHh0Ij54bWxSZWxheE5HTmV3TWVtUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUdldEZhY2V0VmFsdWVBc1VMb25nIj54bWxTY2hlbWFHZXRGYWNldFZhbHVlQXNVTG9uZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUdldFZhbFR5cGUiPnhtbFNjaGVtYUdldFZhbFR5cGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hTmV3TWVtUGFyc2VyQ3R4dCI+eG1sU2NoZW1hTmV3TWVtUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZGF0ZURvYyI+eG1sU2NoZW1hVmFsaWRhdGVEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0Ij54bWxTY2hlbWFWYWxpZGF0ZUZhY2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hVmFsaWRhdGVGYWNldFdodHNwIj54bWxTY2hlbWFWYWxpZGF0ZUZhY2V0V2h0c3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRhdGVGaWxlIj54bWxTY2hlbWFWYWxpZGF0ZUZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRhdGVTdHJlYW0iPnhtbFNjaGVtYVZhbGlkYXRlU3RyZWFtPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkaXR5TG9jYXRvckZ1bmMiPnhtbFNjaGVtYVZhbGlkaXR5TG9jYXRvckZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvbk5ld01lbVBhcnNlckN0eHQiPnhtbFNjaGVtYXRyb25OZXdNZW1QYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZSI+eG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJSZWxheE5HVmFsaWRhdGVDdHh0Ij54bWxUZXh0UmVhZGVyUmVsYXhOR1ZhbGlkYXRlQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZSI+eG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlQ3R4dCI+eG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlQ3R4dDwvYT48YnIgLz4KKzwvZGQ+PGR0PnNjaGVtYXRyb248L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvblZhbGlkYXRlRG9jIj54bWxTY2hlbWF0cm9uVmFsaWRhdGVEb2M8L2E+PGJyIC8+Cis8L2RkPjxkdD5zY2hlbWU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCNfeG1sVVJJIj5feG1sVVJJPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlclNldEFsbG9jYXRpb25TY2hlbWUiPnhtbEJ1ZmZlclNldEFsbG9jYXRpb25TY2hlbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sR2V0QnVmZmVyQWxsb2NhdGlvblNjaGVtZSI+eG1sR2V0QnVmZmVyQWxsb2NhdGlvblNjaGVtZTwvYT48YnIgLz4KKzwvZGQ+PGR0PnNjaGVtZXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbFBhcnNlQ2hhckVuY29kaW5nIj54bWxQYXJzZUNoYXJFbmNvZGluZzwvYT48YnIgLz4KKzwvZGQ+PGR0PnNjb3BlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCNfeG1sWFBhdGhDb250ZXh0Ij5feG1sWFBhdGhDb250ZXh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBBZG9wdE5vZGUiPnhtbERPTVdyYXBBZG9wdE5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcENsb25lTm9kZSI+eG1sRE9NV3JhcENsb25lTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTZXROc1Byb3AiPnhtbFNldE5zUHJvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTZXRQcm9wIj54bWxTZXRQcm9wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckNvbnN0WG1sTGFuZyI+eG1sVGV4dFJlYWRlckNvbnN0WG1sTGFuZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJMb29rdXBOYW1lc3BhY2UiPnhtbFRleHRSZWFkZXJMb29rdXBOYW1lc3BhY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyWG1sTGFuZyI+eG1sVGV4dFJlYWRlclhtbExhbmc8L2E+PGJyIC8+Cis8L2RkPjxkdD5zY29waW5nPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld0dsb2JhbE5zIj54bWxOZXdHbG9iYWxOczwvYT48YnIgLz4KKzwvZGQ+PGR0PnNjcmlwdDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sSXNTY3JpcHRBdHRyaWJ1dGUiPmh0bWxJc1NjcmlwdEF0dHJpYnV0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbENoZWNrTGFuZ3VhZ2VJRCI+eG1sQ2hlY2tMYW5ndWFnZUlEPC9hPjxiciAvPgorPC9kZD48ZHQ+c2VhcmNoPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0VMRU1fQ0lSQ1VMQVIiPlhNTF9TQ0hFTUFTX0VMRU1fQ0lSQ1VMQVI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI194bWxYUGF0aEF4aXMiPl94bWxYUGF0aEF4aXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sQ2hhckluUmFuZ2UiPnhtbENoYXJJblJhbmdlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxHZXREdGRBdHRyRGVzYyI+eG1sR2V0RHRkQXR0ckRlc2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEdldER0ZEVsZW1lbnREZXNjIj54bWxHZXREdGRFbGVtZW50RGVzYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sR2V0RHRkTm90YXRpb25EZXNjIj54bWxHZXREdGROb3RhdGlvbkRlc2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEdldER0ZFFBdHRyRGVzYyI+eG1sR2V0RHRkUUF0dHJEZXNjPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxHZXREdGRRRWxlbWVudERlc2MiPnhtbEdldER0ZFFFbGVtZW50RGVzYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0UmV2ZXJzZVNlYXJjaCI+eG1sTGlzdFJldmVyc2VTZWFyY2g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdFNlYXJjaCI+eG1sTGlzdFNlYXJjaDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTZWFyY2hOcyI+eG1sU2VhcmNoTnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJjYXNlc3RyIj54bWxTdHJjYXNlc3RyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3RyY2hyIj54bWxTdHJjaHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJzdHIiPnhtbFN0cnN0cjwvYT48YnIgLz4KKzwvZGQ+PGR0PnNlYXJjaGVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtZGljdC5odG1sI3htbERpY3RDcmVhdGVTdWIiPnhtbERpY3RDcmVhdGVTdWI8L2E+PGJyIC8+Cis8L2RkPjxkdD5zZWN0aW9uPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNIVE1MX1BSRVNFUlZFX05PREUiPkhUTUxfUFJFU0VSVkVfTk9ERTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbEJ1aWxkVVJJIj54bWxCdWlsZFVSSTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nU2V0RGVmYXVsdFByZWZlciI+eG1sQ2F0YWxvZ1NldERlZmF1bHRQcmVmZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUNoYXJEYXRhIj54bWxQYXJzZUNoYXJEYXRhPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxQYXJzZUNoYXJFbmNvZGluZyI+eG1sUGFyc2VDaGFyRW5jb2Rpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyRW5kQ0RBVEEiPnhtbFRleHRXcml0ZXJFbmRDREFUQTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJTdGFydENEQVRBIj54bWxUZXh0V3JpdGVyU3RhcnRDREFUQTwvYT48YnIgLz4KKzwvZGQ+PGR0PnNlY3Rpb25zPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sS2VlcEJsYW5rc0RlZmF1bHQiPnhtbEtlZXBCbGFua3NEZWZhdWx0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVHZXRCYXNlIj54bWxOb2RlR2V0QmFzZTwvYT48YnIgLz4KKzwvZGQ+PGR0PnNlZW1zPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sTmFtZXNwYWNlUGFyc2VOQ05hbWUiPnhtbE5hbWVzcGFjZVBhcnNlTkNOYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sTmFtZXNwYWNlUGFyc2VOU0RlZiI+eG1sTmFtZXNwYWNlUGFyc2VOU0RlZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbE5hbWVzcGFjZVBhcnNlUU5hbWUiPnhtbE5hbWVzcGFjZVBhcnNlUU5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxTY2FuTmFtZSI+eG1sU2Nhbk5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlTm90YXRpb25EZWNsIj54bWxWYWxpZGF0ZU5vdGF0aW9uRGVjbDwvYT48YnIgLz4KKzwvZGQ+PGR0PnNlbGVjdGVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sQ2hlY2tMYW5ndWFnZUlEIj54bWxDaGVja0xhbmd1YWdlSUQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5zZWxlY3Rpb248L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX1BBVFRFUk5fRU5BQkxFRCI+TElCWE1MX1BBVFRFUk5fRU5BQkxFRDwvYT48YnIgLz4KKzwvZGQ+PGR0PnNlbGVjdHM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoSWRGdW5jdGlvbiI+eG1sWFBhdGhJZEZ1bmN0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+c2VsZjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXh0U2VsZiI+eG1sWFBhdGhOZXh0U2VsZjwvYT48YnIgLz4KKzwvZGQ+PGR0PnNlbWFudGljPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld05lZ1RyYW5zIj54bWxBdXRvbWF0YU5ld05lZ1RyYW5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vZGVTZXRGcmVlTnMiPnhtbFhQYXRoTm9kZVNldEZyZWVOczwvYT48YnIgLz4KKzwvZGQ+PGR0PnNlbWFudGljczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0U2V0Q2FjaGUiPnhtbFhQYXRoQ29udGV4dFNldENhY2hlPC9hPjxiciAvPgorPC9kZD48ZHQ+c2Vuc2U8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI3htbENyZWF0ZUVudGl0aWVzVGFibGUiPnhtbENyZWF0ZUVudGl0aWVzVGFibGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5zZXBhcmF0ZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sTG9hZENhdGFsb2dzIj54bWxMb2FkQ2F0YWxvZ3M8L2E+PGJyIC8+Cis8L2RkPjxkdD5zZXBhcmF0ZWx5PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxTZXRHZW5lcmljRXJyb3JGdW5jIj54bWxTZXRHZW5lcmljRXJyb3JGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxTZXRTdHJ1Y3R1cmVkRXJyb3JGdW5jIj54bWxTZXRTdHJ1Y3R1cmVkRXJyb3JGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZUF0dHJpYnV0ZURlY2wiPnhtbFZhbGlkYXRlQXR0cmlidXRlRGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVPbmVBdHRyaWJ1dGUiPnhtbFZhbGlkYXRlT25lQXR0cmlidXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZU9uZUVsZW1lbnQiPnhtbFZhbGlkYXRlT25lRWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVPbmVOYW1lc3BhY2UiPnhtbFZhbGlkYXRlT25lTmFtZXNwYWNlPC9hPjxiciAvPgorPC9kZD48ZHQ+c2VxPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbGVtZW50Q2hpbGRyZW5Db250ZW50RGVjbCI+eG1sUGFyc2VFbGVtZW50Q2hpbGRyZW5Db250ZW50RGVjbDwvYT48YnIgLz4KKzwvZGQ+PGR0PnNlcXVlbmNlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI194bWxTY2hlbWFGYWNldCI+X3htbFNjaGVtYUZhY2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI194bWxTY2hlbWFUeXBlIj5feG1sU2NoZW1hVHlwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY091dEZ1bmMiPnhtbENoYXJFbmNPdXRGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ2xlYXJOb2RlSW5mb1NlcSI+eG1sQ2xlYXJOb2RlSW5mb1NlcTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbEN1cnJlbnRDaGFyIj54bWxDdXJyZW50Q2hhcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5ld1NlcSI+eG1sRXhwTmV3U2VxPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwUGFyc2UiPnhtbEV4cFBhcnNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sR2V0VVRGOENoYXIiPnhtbEdldFVURjhDaGFyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sSW5pdE5vZGVJbmZvU2VxIj54bWxJbml0Tm9kZUluZm9TZXE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUF0dFZhbHVlIj54bWxQYXJzZUF0dFZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5Ij54bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlSZWNvdmVyIj54bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlSZWNvdmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VJbk5vZGVDb250ZXh0Ij54bWxQYXJzZUluTm9kZUNvbnRleHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZXJBZGROb2RlSW5mbyI+eG1sUGFyc2VyQWRkTm9kZUluZm88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZXJGaW5kTm9kZUluZm9JbmRleCI+eG1sUGFyc2VyRmluZE5vZGVJbmZvSW5kZXg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxVVEY4U3RybGVuIj54bWxVVEY4U3RybGVuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sVVRGOFN0cnNpemUiPnhtbFVURjhTdHJzaXplPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sVVRGOFN0cnN1YiI+eG1sVVRGOFN0cnN1YjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhJZEZ1bmN0aW9uIj54bWxYUGF0aElkRnVuY3Rpb248L2E+PGJyIC8+Cis8L2RkPjxkdD5zZXF1ZW5jZXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGVja1VURjgiPnhtbENoZWNrVVRGODwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cFBhcnNlIj54bWxFeHBQYXJzZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQXR0VmFsdWUiPnhtbFBhcnNlQXR0VmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkQ3R4dE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlIj54bWxWYWxpZEN0eHROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZSI+eG1sVmFsaWROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb3JtYWxpemVGdW5jdGlvbiI+eG1sWFBhdGhOb3JtYWxpemVGdW5jdGlvbjwvYT48YnIgLz4KKzwvZGQ+PGR0PnNlcXVxbmNlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwSXNOaWxsYWJsZSI+eG1sRXhwSXNOaWxsYWJsZTwvYT48YnIgLz4KKzwvZGQ+PGR0PnNlcmlhbGl6YXRpb248L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX09VVFBVVF9FTkFCTEVEIj5MSUJYTUxfT1VUUFVUX0VOQUJMRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzYXZlLmh0bWwjeG1sU2F2ZVRvQnVmZmVyIj54bWxTYXZlVG9CdWZmZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzYXZlLmh0bWwjeG1sU2F2ZVRvRmQiPnhtbFNhdmVUb0ZkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2F2ZS5odG1sI3htbFNhdmVUb0ZpbGVuYW1lIj54bWxTYXZlVG9GaWxlbmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNhdmUuaHRtbCN4bWxTYXZlVG9JTyI+eG1sU2F2ZVRvSU88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsQ2F0Ij54bWxTaGVsbENhdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxXcml0ZSI+eG1sU2hlbGxXcml0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVQb3BFbGVtZW50Ij54bWxWYWxpZGF0ZVBvcEVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlUHVzaEVsZW1lbnQiPnhtbFZhbGlkYXRlUHVzaEVsZW1lbnQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5zZXJpYWxpemVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclJlYWRPdXRlclhtbCI+eG1sVGV4dFJlYWRlclJlYWRPdXRlclhtbDwvYT48YnIgLz4KKzwvZGQ+PGR0PnNlcmlhbGl6aW5nPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2F2ZS5odG1sI3htbFNhdmVUb0J1ZmZlciI+eG1sU2F2ZVRvQnVmZmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2F2ZS5odG1sI3htbFNhdmVUb0ZkIj54bWxTYXZlVG9GZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNhdmUuaHRtbCN4bWxTYXZlVG9GaWxlbmFtZSI+eG1sU2F2ZVRvRmlsZW5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzYXZlLmh0bWwjeG1sU2F2ZVRvSU8iPnhtbFNhdmVUb0lPPC9hPjxiciAvPgorPC9kZD48ZHQ+c2VydmVyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjX3htbFVSSSI+X3htbFVSSTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQQ2hlY2tSZXNwb25zZSI+eG1sTmFub0ZUUENoZWNrUmVzcG9uc2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUENsb3NlQ29ubmVjdGlvbiI+eG1sTmFub0ZUUENsb3NlQ29ubmVjdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQQ29ubmVjdFRvIj54bWxOYW5vRlRQQ29ubmVjdFRvPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBDd2QiPnhtbE5hbm9GVFBDd2Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUERlbGUiPnhtbE5hbm9GVFBEZWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBHZXQiPnhtbE5hbm9GVFBHZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUEdldENvbm5lY3Rpb24iPnhtbE5hbm9GVFBHZXRDb25uZWN0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBHZXRSZXNwb25zZSI+eG1sTmFub0ZUUEdldFJlc3BvbnNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBHZXRTb2NrZXQiPnhtbE5hbm9GVFBHZXRTb2NrZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUExpc3QiPnhtbE5hbm9GVFBMaXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBRdWl0Ij54bWxOYW5vRlRQUXVpdDwvYT48YnIgLz4KKzwvZGQ+PGR0PnNldDpkaWZmZXJlbmNlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aERpZmZlcmVuY2UiPnhtbFhQYXRoRGlmZmVyZW5jZTwvYT48YnIgLz4KKzwvZGQ+PGR0PnNldDpkaXN0aW5jdDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhEaXN0aW5jdCI+eG1sWFBhdGhEaXN0aW5jdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhEaXN0aW5jdFNvcnRlZCI+eG1sWFBhdGhEaXN0aW5jdFNvcnRlZDwvYT48YnIgLz4KKzwvZGQ+PGR0PnNldDpoYXMtc2FtZS1ub2RlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEhhc1NhbWVOb2RlcyI+eG1sWFBhdGhIYXNTYW1lTm9kZXM8L2E+PGJyIC8+Cis8L2RkPjxkdD5zZXQ6aW50ZXJzZWN0aW9uPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEludGVyc2VjdGlvbiI+eG1sWFBhdGhJbnRlcnNlY3Rpb248L2E+PGJyIC8+Cis8L2RkPjxkdD5zZXQ6bGVhZGluZzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhMZWFkaW5nIj54bWxYUGF0aExlYWRpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTGVhZGluZ1NvcnRlZCI+eG1sWFBhdGhMZWFkaW5nU29ydGVkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vZGVMZWFkaW5nIj54bWxYUGF0aE5vZGVMZWFkaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vZGVMZWFkaW5nU29ydGVkIj54bWxYUGF0aE5vZGVMZWFkaW5nU29ydGVkPC9hPjxiciAvPgorPC9kZD48ZHQ+c2V0OnRyYWlsaW5nPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vZGVUcmFpbGluZyI+eG1sWFBhdGhOb2RlVHJhaWxpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9kZVRyYWlsaW5nU29ydGVkIj54bWxYUGF0aE5vZGVUcmFpbGluZ1NvcnRlZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhUcmFpbGluZyI+eG1sWFBhdGhUcmFpbGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhUcmFpbGluZ1NvcnRlZCI+eG1sWFBhdGhUcmFpbGluZ1NvcnRlZDwvYT48YnIgLz4KKzwvZGQ+PGR0PnNldHM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNpbml0eG1sRGVmYXVsdFNBWEhhbmRsZXIiPmluaXR4bWxEZWZhdWx0U0FYSGFuZGxlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbEdldFVURjhDaGFyIj54bWxHZXRVVEY4Q2hhcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgySW5pdERlZmF1bHRTQVhIYW5kbGVyIj54bWxTQVgySW5pdERlZmF1bHRTQVhIYW5kbGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldCI+eG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXRXaHRzcCI+eG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldFdodHNwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aERpZmZlcmVuY2UiPnhtbFhQYXRoRGlmZmVyZW5jZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhJbnRlcnNlY3Rpb24iPnhtbFhQYXRoSW50ZXJzZWN0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+c2V0dGluZzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sU2V0R2VuZXJpY0Vycm9yRnVuYyI+eG1sU2V0R2VuZXJpY0Vycm9yRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0U2V0Q2FjaGUiPnhtbFhQYXRoQ29udGV4dFNldENhY2hlPC9hPjxiciAvPgorPC9kZD48ZHQ+c2V0dXBzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbmNvZGluZ0RlY2wiPnhtbFBhcnNlRW5jb2RpbmdEZWNsPC9hPjxiciAvPgorPC9kZD48ZHQ+c2V2ZXJpdHk8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyRXJyb3JGdW5jIj54bWxUZXh0UmVhZGVyRXJyb3JGdW5jPC9hPjxiciAvPgorPC9kZD48ZHQ+c2dtbHNvdXJjZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI2dldFN5c3RlbUlkIj5nZXRTeXN0ZW1JZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyR2V0U3lzdGVtSWQiPnhtbFNBWDJHZXRTeXN0ZW1JZDwvYT48YnIgLz4KKzwvZGQ+PGR0PnNoYWRvd2VkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBBZG9wdE5vZGUiPnhtbERPTVdyYXBBZG9wdE5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcENsb25lTm9kZSI+eG1sRE9NV3JhcENsb25lTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwUmVjb25jaWxlTmFtZXNwYWNlcyI+eG1sRE9NV3JhcFJlY29uY2lsZU5hbWVzcGFjZXM8L2E+PGJyIC8+Cis8L2RkPjxkdD5zaGFsbDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI194bWxQYXJzZXJDdHh0Ij5feG1sUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzwvZGQ+PGR0PnNoYXJlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfTU9EVUxFX0VYVEVOU0lPTiI+TElCWE1MX01PRFVMRV9FWFRFTlNJT048L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ0FkZCI+eG1sQ2F0YWxvZ0FkZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1vZHVsZS5odG1sI3htbE1vZHVsZUZyZWUiPnhtbE1vZHVsZUZyZWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtb2R1bGUuaHRtbCN4bWxNb2R1bGVPcGVuIj54bWxNb2R1bGVPcGVuPC9hPjxiciAvPgorPC9kZD48ZHQ+c2hhcmVzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEhhc1NhbWVOb2RlcyI+eG1sWFBhdGhIYXNTYW1lTm9kZXM8L2E+PGJyIC8+Cis8L2RkPjxkdD5zaGVsbDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI0RFQlVHX01FTU9SWSI+REVCVUdfTUVNT1JZPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbCI+eG1sU2hlbGw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsQmFzZSI+eG1sU2hlbGxCYXNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbENhdCI+eG1sU2hlbGxDYXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsQ21kIj54bWxTaGVsbENtZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxEaXIiPnhtbFNoZWxsRGlyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbER1Ij54bWxTaGVsbER1PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbExpc3QiPnhtbFNoZWxsTGlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxMb2FkIj54bWxTaGVsbExvYWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsUHdkIj54bWxTaGVsbFB3ZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxSZWFkbGluZUZ1bmMiPnhtbFNoZWxsUmVhZGxpbmVGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbFNhdmUiPnhtbFNoZWxsU2F2ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxWYWxpZGF0ZSI+eG1sU2hlbGxWYWxpZGF0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxXcml0ZSI+eG1sU2hlbGxXcml0ZTwvYT48YnIgLz4KKzwvZGQ+PGR0PnNob3J0ZW48L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbERlYnVnRHVtcFN0cmluZyI+eG1sRGVidWdEdW1wU3RyaW5nPC9hPjxiciAvPgorPC9kZD48ZHQ+c2hvcnRlc3Q8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxDaGVja0xhbmd1YWdlSUQiPnhtbENoZWNrTGFuZ3VhZ2VJRDwvYT48YnIgLz4KKzwvZGQ+PGR0PnNob3J0aGFuZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJDb25zdFByZWZpeCI+eG1sVGV4dFJlYWRlckNvbnN0UHJlZml4PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclByZWZpeCI+eG1sVGV4dFJlYWRlclByZWZpeDwvYT48YnIgLz4KKzwvZGQ+PGR0PnNob3c8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX1ZFUlNJT05fRVhUUkEiPkxJQlhNTF9WRVJTSU9OX0VYVFJBPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGxpbmsuaHRtbCN4bGlua0V4dGVuZGVkTGlua0Z1bmsiPnhsaW5rRXh0ZW5kZWRMaW5rRnVuazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1lbURpc3BsYXkiPnhtbE1lbURpc3BsYXk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNZW1TaG93Ij54bWxNZW1TaG93PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVMaXN0R2V0UmF3U3RyaW5nIj54bWxOb2RlTGlzdEdldFJhd1N0cmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlTGlzdEdldFN0cmluZyI+eG1sTm9kZUxpc3RHZXRTdHJpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsRHUiPnhtbFNoZWxsRHU8L2E+PGJyIC8+Cis8L2RkPjxkdD5zaG93bjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCNmdHBMaXN0Q2FsbGJhY2siPmZ0cExpc3RDYWxsYmFjazwvYT48YnIgLz4KKzwvZGQ+PGR0PnNpYmxpbmc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjX3htbEF0dHIiPl94bWxBdHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI194bWxBdHRyaWJ1dGUiPl94bWxBdHRyaWJ1dGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjX3htbERvYyI+X3htbERvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNfeG1sRHRkIj5feG1sRHRkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI194bWxFbGVtZW50Ij5feG1sRWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjX3htbEVudGl0eSI+X3htbEVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNfeG1sTm9kZSI+X3htbE5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQWRkTmV4dFNpYmxpbmciPnhtbEFkZE5leHRTaWJsaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEFkZFByZXZTaWJsaW5nIj54bWxBZGRQcmV2U2libGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXh0RWxlbWVudFNpYmxpbmciPnhtbE5leHRFbGVtZW50U2libGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxQcmV2aW91c0VsZW1lbnRTaWJsaW5nIj54bWxQcmV2aW91c0VsZW1lbnRTaWJsaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hVmFsdWVBcHBlbmQiPnhtbFNjaGVtYVZhbHVlQXBwZW5kPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hVmFsdWVHZXROZXh0Ij54bWxTY2hlbWFWYWx1ZUdldE5leHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV4dFByZWNlZGluZ1NpYmxpbmciPnhtbFhQYXRoTmV4dFByZWNlZGluZ1NpYmxpbmc8L2E+PGJyIC8+Cis8L2RkPjxkdD5zaWJsaW5nczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxBZGRTaWJsaW5nIj54bWxBZGRTaWJsaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEZyZWVOb2RlTGlzdCI+eG1sRnJlZU5vZGVMaXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEZyZWVQcm9wTGlzdCI+eG1sRnJlZVByb3BMaXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHRGb2xsb3dpbmdTaWJsaW5nIj54bWxYUGF0aE5leHRGb2xsb3dpbmdTaWJsaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHRQcmVjZWRpbmdTaWJsaW5nIj54bWxYUGF0aE5leHRQcmVjZWRpbmdTaWJsaW5nPC9hPjxiciAvPgorPC9kZD48ZHQ+c2lnbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdHJpbmdGdW5jdGlvbiI+eG1sWFBhdGhTdHJpbmdGdW5jdGlvbjwvYT48YnIgLz4KKzwvZGQ+PGR0PnNpZ25hbDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNBVFRSSUJVVEVfVU5VU0VEIj5BVFRSSUJVVEVfVU5VU0VEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjX3htbFBhcnNlckN0eHQiPl94bWxQYXJzZXJDdHh0PC9hPjxiciAvPgorPC9kZD48ZHQ+c2lnbmF0dXJlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbENtZCI+eG1sU2hlbGxDbWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsUmVhZGxpbmVGdW5jIj54bWxTaGVsbFJlYWRsaW5lRnVuYzwvYT48YnIgLz4KKzwvZGQ+PGR0PnNpZ25zPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld1RleHRDaGlsZCI+eG1sTmV3VGV4dENoaWxkPC9hPjxiciAvPgorPC9kZD48ZHQ+c2ltaWxhcjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxHZXROb05zUHJvcCI+eG1sR2V0Tm9Oc1Byb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3TnMiPnhtbE5ld05zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbCI+eG1sU2hlbGw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsUHdkIj54bWxTaGVsbFB3ZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRpdHlFcnJvckZ1bmMiPnhtbFZhbGlkaXR5RXJyb3JGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGl0eVdhcm5pbmdGdW5jIj54bWxWYWxpZGl0eVdhcm5pbmdGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE5vZGVTZXRHZXRMZW5ndGgiPnhtbFhQYXRoTm9kZVNldEdldExlbmd0aDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhOb2RlU2V0SXRlbSI+eG1sWFBhdGhOb2RlU2V0SXRlbTwvYT48YnIgLz4KKzwvZGQ+PGR0PnNpbXBsZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX0FCU1RSQUNUIj5YTUxfU0NIRU1BU19UWVBFX0FCU1RSQUNUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfREVSSVZBVElPTl9NRVRIT0RfRVhURU5TSU9OIj5YTUxfU0NIRU1BU19UWVBFX0RFUklWQVRJT05fTUVUSE9EX0VYVEVOU0lPTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX0RFUklWQVRJT05fTUVUSE9EX1JFU1RSSUNUSU9OIj5YTUxfU0NIRU1BU19UWVBFX0RFUklWQVRJT05fTUVUSE9EX1JFU1RSSUNUSU9OPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI194bWxTY2hlbWFUeXBlIj5feG1sU2NoZW1hVHlwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhsaW5rLmh0bWwjeGxpbmtTaW1wbGVMaW5rRnVuayI+eGxpbmtTaW1wbGVMaW5rRnVuazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxBdHRyU2VyaWFsaXplVHh0Q29udGVudCI+eG1sQXR0clNlcmlhbGl6ZVR4dENvbnRlbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sRnJlZU11dGV4Ij54bWxGcmVlTXV0ZXg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFNjYW5uZXIiPnhtbEhhc2hTY2FubmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxJc1JlZiI+eG1sSXNSZWY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sTXV0ZXhMb2NrIj54bWxNdXRleExvY2s8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sTXV0ZXhVbmxvY2siPnhtbE11dGV4VW5sb2NrPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbE5ld011dGV4Ij54bWxOZXdNdXRleDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUdldEJ1aWx0SW5MaXN0U2ltcGxlVHlwZUl0ZW1UeXBlIj54bWxTY2hlbWFHZXRCdWlsdEluTGlzdFNpbXBsZVR5cGVJdGVtVHlwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYU5ld1N0cmluZ1ZhbHVlIj54bWxTY2hlbWFOZXdTdHJpbmdWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYVZhbGlkYXRlTGlzdFNpbXBsZVR5cGVGYWNldCI+eG1sU2NoZW1hVmFsaWRhdGVMaXN0U2ltcGxlVHlwZUZhY2V0PC9hPjxiciAvPgorPC9kZD48ZHQ+c2ltcGxlVHlwZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX0ZJTkFMX0RFRkFVTFQiPlhNTF9TQ0hFTUFTX1RZUEVfRklOQUxfREVGQVVMVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX0ZJTkFMX0xJU1QiPlhNTF9TQ0hFTUFTX1RZUEVfRklOQUxfTElTVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX0ZJTkFMX1JFU1RSSUNUSU9OIj5YTUxfU0NIRU1BU19UWVBFX0ZJTkFMX1JFU1RSSUNUSU9OPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfRklOQUxfVU5JT04iPlhNTF9TQ0hFTUFTX1RZUEVfRklOQUxfVU5JT048L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX0FCU0VOVCI+WE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX0FCU0VOVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX1ZBUklFVFlfQVRPTUlDIj5YTUxfU0NIRU1BU19UWVBFX1ZBUklFVFlfQVRPTUlDPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfVkFSSUVUWV9MSVNUIj5YTUxfU0NIRU1BU19UWVBFX1ZBUklFVFlfTElTVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX1ZBUklFVFlfVU5JT04iPlhNTF9TQ0hFTUFTX1RZUEVfVkFSSUVUWV9VTklPTjwvYT48YnIgLz4KKzwvZGQ+PGR0PnNpbXBseTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sU2V0R2VuZXJpY0Vycm9yRnVuYyI+eG1sU2V0R2VuZXJpY0Vycm9yRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sU2V0U3RydWN0dXJlZEVycm9yRnVuYyI+eG1sU2V0U3RydWN0dXJlZEVycm9yRnVuYzwvYT48YnIgLz4KKzwvZGQ+PGR0PnNpbmNlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfVkFSSUVUWV9BQlNFTlQiPlhNTF9TQ0hFTUFTX1RZUEVfVkFSSUVUWV9BQlNFTlQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxCdWlsZFJlbGF0aXZlVVJJIj54bWxCdWlsZFJlbGF0aXZlVVJJPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbENoaWxkRWxlbWVudENvdW50Ij54bWxDaGlsZEVsZW1lbnRDb3VudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwQWRvcHROb2RlIj54bWxET01XcmFwQWRvcHROb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBDbG9uZU5vZGUiPnhtbERPTVdyYXBDbG9uZU5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcFJlY29uY2lsZU5hbWVzcGFjZXMiPnhtbERPTVdyYXBSZWNvbmNpbGVOYW1lc3BhY2VzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEZpcnN0RWxlbWVudENoaWxkIj54bWxGaXJzdEVsZW1lbnRDaGlsZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxMYXN0RWxlbWVudENoaWxkIj54bWxMYXN0RWxlbWVudENoaWxkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5leHRFbGVtZW50U2libGluZyI+eG1sTmV4dEVsZW1lbnRTaWJsaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFeHRlcm5hbElEIj54bWxQYXJzZUV4dGVybmFsSUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sUHJldmlvdXNFbGVtZW50U2libGluZyI+eG1sUHJldmlvdXNFbGVtZW50U2libGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HTmV3RG9jUGFyc2VyQ3R4dCI+eG1sUmVsYXhOR05ld0RvY1BhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRhdGVTZXRMb2NhdG9yIj54bWxTY2hlbWFWYWxpZGF0ZVNldExvY2F0b3I8L2E+PGJyIC8+Cis8L2RkPjxkdD5zaW5nbGU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNJU19ESUdJVF9DSCI+SVNfRElHSVRfQ0g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNYTUxfTUFYX1RFWFRfTEVOR1RIIj5YTUxfTUFYX1RFWFRfTEVOR1RIPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sQ3VycmVudENoYXIiPnhtbEN1cnJlbnRDaGFyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VBdHRWYWx1ZSI+eG1sUGFyc2VBdHRWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRWxlbWVudE1peGVkQ29udGVudERlY2wiPnhtbFBhcnNlRWxlbWVudE1peGVkQ29udGVudERlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkQ3R4dE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlIj54bWxWYWxpZEN0eHROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZSI+eG1sVmFsaWROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVBdHRyaWJ1dGVEZWNsIj54bWxWYWxpZGF0ZUF0dHJpYnV0ZURlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlRWxlbWVudERlY2wiPnhtbFZhbGlkYXRlRWxlbWVudERlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlTm90YXRpb25EZWNsIj54bWxWYWxpZGF0ZU5vdGF0aW9uRGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVPbmVBdHRyaWJ1dGUiPnhtbFZhbGlkYXRlT25lQXR0cmlidXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZU9uZUVsZW1lbnQiPnhtbFZhbGlkYXRlT25lRWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVPbmVOYW1lc3BhY2UiPnhtbFZhbGlkYXRlT25lTmFtZXNwYWNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5ld05vZGVTZXQiPnhtbFhQYXRoTmV3Tm9kZVNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb3JtYWxpemVGdW5jdGlvbiI+eG1sWFBhdGhOb3JtYWxpemVGdW5jdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ck5ld0NvbGxhcHNlZFJhbmdlIj54bWxYUHRyTmV3Q29sbGFwc2VkUmFuZ2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJOZXdMb2NhdGlvblNldE5vZGVzIj54bWxYUHRyTmV3TG9jYXRpb25TZXROb2RlczwvYT48YnIgLz4KKzwvZGQ+PGR0PnNpbmdsZS1ieXRlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjSVNfQ0hBUl9DSCI+SVNfQ0hBUl9DSDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTX0VYVEVOREVSX0NIIj5JU19FWFRFTkRFUl9DSDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTX1BVQklEQ0hBUl9DSCI+SVNfUFVCSURDSEFSX0NIPC9hPjxiciAvPgorPC9kZD48ZHQ+c2luZ2xldG9uPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sQ2hlY2tMYW5ndWFnZUlEIj54bWxDaGVja0xhbmd1YWdlSUQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5zaXRlMTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbEJ1aWxkUmVsYXRpdmVVUkkiPnhtbEJ1aWxkUmVsYXRpdmVVUkk8L2E+PGJyIC8+Cis8L2RkPjxkdD5zaXRlMjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbEJ1aWxkUmVsYXRpdmVVUkkiPnhtbEJ1aWxkUmVsYXRpdmVVUkk8L2E+PGJyIC8+Cis8L2RkPjxkdD5zaXplX3Q8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmU2hyaW5rIj54bWxCdWZTaHJpbms8L2E+PGJyIC8+Cis8L2RkPjxkdD5zaXplczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxHZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lIj54bWxHZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUiPnhtbFNldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWU8L2E+PGJyIC8+Cis8L2RkPjxkdD5za2lwPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sU2tpcEJsYW5rQ2hhcnMiPnhtbFNraXBCbGFua0NoYXJzPC9hPjxiciAvPgorPC9kZD48ZHQ+c2tpcHBlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2wiPnhtbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVsZW1lbnRNaXhlZENvbnRlbnREZWNsIj54bWxQYXJzZUVsZW1lbnRNaXhlZENvbnRlbnREZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sU2tpcEJsYW5rQ2hhcnMiPnhtbFNraXBCbGFua0NoYXJzPC9hPjxiciAvPgorPC9kZD48ZHQ+c2xvdDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0U2V0Q2FjaGUiPnhtbFhQYXRoQ29udGV4dFNldENhY2hlPC9hPjxiciAvPgorPC9kZD48ZHQ+c2xvdHM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFNldENhY2hlIj54bWxYUGF0aENvbnRleHRTZXRDYWNoZTwvYT48YnIgLz4KKzwvZGQ+PGR0PnNtYWxsPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEdldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUiPnhtbEdldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWU8L2E+PGJyIC8+Cis8L2RkPjxkdD5zbWFsbGVyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sVVJJVW5lc2NhcGVTdHJpbmciPnhtbFVSSVVuZXNjYXBlU3RyaW5nPC9hPjxiciAvPgorPC9kZD48ZHQ+c21hbGxlc3Q8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoQ2VpbGluZ0Z1bmN0aW9uIj54bWxYUGF0aENlaWxpbmdGdW5jdGlvbjwvYT48YnIgLz4KKzwvZGQ+PGR0PnNvY2tldDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCNJTlZBTElEX1NPQ0tFVCI+SU5WQUxJRF9TT0NLRVQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbENoZWNrRmlsZW5hbWUiPnhtbENoZWNrRmlsZW5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUEdldFNvY2tldCI+eG1sTmFub0ZUUEdldFNvY2tldDwvYT48YnIgLz4KKzwvZGQ+PGR0PnNvY2tldHM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjSU5WQUxJRF9TT0NLRVQiPklOVkFMSURfU09DS0VUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI1NPQ0tFVCI+U09DS0VUPC9hPjxiciAvPgorPC9kZD48ZHQ+c29mdHdhcmU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX1RFU1RfVkVSU0lPTiI+TElCWE1MX1RFU1RfVkVSU0lPTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJOb2RlVHlwZSI+eG1sVGV4dFJlYWRlck5vZGVUeXBlPC9hPjxiciAvPgorPC9kZD48ZHQ+c29sdXRpb248L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE5vcm1hbGl6ZVdpbmRvd3NQYXRoIj54bWxOb3JtYWxpemVXaW5kb3dzUGF0aDwvYT48YnIgLz4KKzwvZGQ+PGR0PnNvbWU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfU0tJUF9JRFMiPlhNTF9TS0lQX0lEUzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI2NoYXJhY3RlcnMiPmNoYXJhY3RlcnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNjaGFyYWN0ZXJzU0FYRnVuYyI+Y2hhcmFjdGVyc1NBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNpZ25vcmFibGVXaGl0ZXNwYWNlIj5pZ25vcmFibGVXaGl0ZXNwYWNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjaWdub3JhYmxlV2hpdGVzcGFjZVNBWEZ1bmMiPmlnbm9yYWJsZVdoaXRlc3BhY2VTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sQnVpbGRSZWxhdGl2ZVVSSSI+eG1sQnVpbGRSZWxhdGl2ZVVSSTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbENsZWFudXBQYXJzZXIiPnhtbENsZWFudXBQYXJzZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sQ2xlYW51cFRocmVhZHMiPnhtbENsZWFudXBUaHJlYWRzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sR2NNZW1TZXR1cCI+eG1sR2NNZW1TZXR1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRocmVhZHMuaHRtbCN4bWxHZXRUaHJlYWRJZCI+eG1sR2V0VGhyZWFkSWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxIYW5kbGVFbnRpdHkiPnhtbEhhbmRsZUVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1lbVNldHVwIj54bWxNZW1TZXR1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQXR0cmlidXRlVHlwZSI+eG1sUGFyc2VBdHRyaWJ1dGVUeXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5UmVjb3ZlciI+eG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5UmVjb3ZlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlcklucHV0RGVhbGxvY2F0ZSI+eG1sUGFyc2VySW5wdXREZWFsbG9jYXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdWYWxpZGF0ZVB1c2hDRGF0YSI+eG1sUmVsYXhOR1ZhbGlkYXRlUHVzaENEYXRhPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJDaGFyYWN0ZXJzIj54bWxTQVgyQ2hhcmFjdGVyczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgySWdub3JhYmxlV2hpdGVzcGFjZSI+eG1sU0FYMklnbm9yYWJsZVdoaXRlc3BhY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyU2V0UGFyc2VyUHJvcCI+eG1sVGV4dFJlYWRlclNldFBhcnNlclByb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlUHVzaENEYXRhIj54bWxWYWxpZGF0ZVB1c2hDRGF0YTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhpbmNsdWRlLmh0bWwjeG1sWEluY2x1ZGVQcm9jZXNzIj54bWxYSW5jbHVkZVByb2Nlc3M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14aW5jbHVkZS5odG1sI3htbFhJbmNsdWRlUHJvY2Vzc0ZsYWdzIj54bWxYSW5jbHVkZVByb2Nlc3NGbGFnczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhpbmNsdWRlLmh0bWwjeG1sWEluY2x1ZGVQcm9jZXNzRmxhZ3NEYXRhIj54bWxYSW5jbHVkZVByb2Nlc3NGbGFnc0RhdGE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14aW5jbHVkZS5odG1sI3htbFhJbmNsdWRlUHJvY2Vzc05vZGUiPnhtbFhJbmNsdWRlUHJvY2Vzc05vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14aW5jbHVkZS5odG1sI3htbFhJbmNsdWRlUHJvY2Vzc1RyZWUiPnhtbFhJbmNsdWRlUHJvY2Vzc1RyZWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14aW5jbHVkZS5odG1sI3htbFhJbmNsdWRlUHJvY2Vzc1RyZWVGbGFncyI+eG1sWEluY2x1ZGVQcm9jZXNzVHJlZUZsYWdzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGluY2x1ZGUuaHRtbCN4bWxYSW5jbHVkZVByb2Nlc3NUcmVlRmxhZ3NEYXRhIj54bWxYSW5jbHVkZVByb2Nlc3NUcmVlRmxhZ3NEYXRhPC9hPjxiciAvPgorPC9kZD48ZHQ+c29tZWhvdzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlRHVtcCI+eG1sTm9kZUR1bXA8L2E+PGJyIC8+Cis8L2RkPjxkdD5zb21ldGltZXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxDaGVja0xhbmd1YWdlSUQiPnhtbENoZWNrTGFuZ3VhZ2VJRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbENsZWFudXBQYXJzZXIiPnhtbENsZWFudXBQYXJzZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sQ2xlYW51cFRocmVhZHMiPnhtbENsZWFudXBUaHJlYWRzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwRXhwRGVyaXZlIj54bWxFeHBFeHBEZXJpdmU8L2E+PGJyIC8+Cis8L2RkPjxkdD5zb21ld2hhdDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbENoZWNrTGFuZ3VhZ2VJRCI+eG1sQ2hlY2tMYW5ndWFnZUlEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ2xlYW51cFBhcnNlciI+eG1sQ2xlYW51cFBhcnNlcjwvYT48YnIgLz4KKzwvZGQ+PGR0PnNvcnRlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlckFkZE5vZGVJbmZvIj54bWxQYXJzZXJBZGROb2RlSW5mbzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlckZpbmROb2RlSW5mb0luZGV4Ij54bWxQYXJzZXJGaW5kTm9kZUluZm9JbmRleDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhEaXN0aW5jdCI+eG1sWFBhdGhEaXN0aW5jdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhEaXN0aW5jdFNvcnRlZCI+eG1sWFBhdGhEaXN0aW5jdFNvcnRlZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhMZWFkaW5nIj54bWxYUGF0aExlYWRpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTGVhZGluZ1NvcnRlZCI+eG1sWFBhdGhMZWFkaW5nU29ydGVkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vZGVMZWFkaW5nIj54bWxYUGF0aE5vZGVMZWFkaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vZGVMZWFkaW5nU29ydGVkIj54bWxYUGF0aE5vZGVMZWFkaW5nU29ydGVkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vZGVUcmFpbGluZyI+eG1sWFBhdGhOb2RlVHJhaWxpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9kZVRyYWlsaW5nU29ydGVkIj54bWxYUGF0aE5vZGVUcmFpbGluZ1NvcnRlZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhUcmFpbGluZyI+eG1sWFBhdGhUcmFpbGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhUcmFpbGluZ1NvcnRlZCI+eG1sWFBhdGhUcmFpbGluZ1NvcnRlZDwvYT48YnIgLz4KKzwvZGQ+PGR0PnNvdW5kczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbENoZWNrTGFuZ3VhZ2VJRCI+eG1sQ2hlY2tMYW5ndWFnZUlEPC9hPjxiciAvPgorPC9kZD48ZHQ+c291cmNlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCNfeG1sWFBhdGhDb250ZXh0Ij5feG1sWFBhdGhDb250ZXh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxDdHh0UmVhZElPIj5odG1sQ3R4dFJlYWRJTzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwjaHRtbEdldE1ldGFFbmNvZGluZyI+aHRtbEdldE1ldGFFbmNvZGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sUmVhZElPIj5odG1sUmVhZElPPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGxpbmsuaHRtbCN4bGlua0V4dGVuZGVkTGlua0Z1bmsiPnhsaW5rRXh0ZW5kZWRMaW5rRnVuazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sQ2hlY2tGaWxlbmFtZSI+eG1sQ2hlY2tGaWxlbmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sQ29weUVycm9yIj54bWxDb3B5RXJyb3I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxDdHh0UmVhZElPIj54bWxDdHh0UmVhZElPPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sTmV3VGV4dFJlYWRlciI+eG1sTmV3VGV4dFJlYWRlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYyI+eG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxSZWFkSU8iPnhtbFJlYWRJTzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFJlYWRlckZvcklPIj54bWxSZWFkZXJGb3JJTzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFJlYWRlck5ld0lPIj54bWxSZWFkZXJOZXdJTzwvYT48YnIgLz4KKzwvZGQ+PGR0PnNvdXJjZURvYzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwQWRvcHROb2RlIj54bWxET01XcmFwQWRvcHROb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBDbG9uZU5vZGUiPnhtbERPTVdyYXBDbG9uZU5vZGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5zb3VyY2Vmb3JnZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhJc0luZiI+eG1sWFBhdGhJc0luZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhJc05hTiI+eG1sWFBhdGhJc05hTjwvYT48YnIgLz4KKzwvZGQ+PGR0PnNwYWNlczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI194bWxQYXJzZXJDdHh0Ij5feG1sUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwjaHRtbERvY0NvbnRlbnREdW1wRm9ybWF0T3V0cHV0Ij5odG1sRG9jQ29udGVudER1bXBGb3JtYXRPdXRwdXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI2h0bWxEb2NDb250ZW50RHVtcE91dHB1dCI+aHRtbERvY0NvbnRlbnREdW1wT3V0cHV0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNodG1sRG9jRHVtcE1lbW9yeUZvcm1hdCI+aHRtbERvY0R1bXBNZW1vcnlGb3JtYXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI2h0bWxOb2RlRHVtcEZpbGVGb3JtYXQiPmh0bWxOb2RlRHVtcEZpbGVGb3JtYXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI2h0bWxOb2RlRHVtcEZvcm1hdE91dHB1dCI+aHRtbE5vZGVEdW1wRm9ybWF0T3V0cHV0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNodG1sTm9kZUR1bXBPdXRwdXQiPmh0bWxOb2RlRHVtcE91dHB1dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwjaHRtbFNhdmVGaWxlRW5jIj5odG1sU2F2ZUZpbGVFbmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI2h0bWxTYXZlRmlsZUZvcm1hdCI+aHRtbFNhdmVGaWxlRm9ybWF0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERvY0R1bXBGb3JtYXRNZW1vcnkiPnhtbERvY0R1bXBGb3JtYXRNZW1vcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRG9jRHVtcEZvcm1hdE1lbW9yeUVuYyI+eG1sRG9jRHVtcEZvcm1hdE1lbW9yeUVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxEb2NGb3JtYXREdW1wIj54bWxEb2NGb3JtYXREdW1wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sS2VlcEJsYW5rc0RlZmF1bHQiPnhtbEtlZXBCbGFua3NEZWZhdWx0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbGVtZW50Q2hpbGRyZW5Db250ZW50RGVjbCI+eG1sUGFyc2VFbGVtZW50Q2hpbGRyZW5Db250ZW50RGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRWxlbWVudE1peGVkQ29udGVudERlY2wiPnhtbFBhcnNlRWxlbWVudE1peGVkQ29udGVudERlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2F2ZUZvcm1hdEZpbGUiPnhtbFNhdmVGb3JtYXRGaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNhdmVGb3JtYXRGaWxlRW5jIj54bWxTYXZlRm9ybWF0RmlsZUVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTYXZlRm9ybWF0RmlsZVRvIj54bWxTYXZlRm9ybWF0RmlsZVRvPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hQ29sbGFwc2VTdHJpbmciPnhtbFNjaGVtYUNvbGxhcHNlU3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFZhbGlkYXRlTkNOYW1lIj54bWxWYWxpZGF0ZU5DTmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxWYWxpZGF0ZU5NVG9rZW4iPnhtbFZhbGlkYXRlTk1Ub2tlbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxWYWxpZGF0ZU5hbWUiPnhtbFZhbGlkYXRlTmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxWYWxpZGF0ZVFOYW1lIj54bWxWYWxpZGF0ZVFOYW1lPC9hPjxiciAvPgorPC9kZD48ZHQ+c3BhbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbEN1cnJlbnRDaGFyIj54bWxDdXJyZW50Q2hhcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFN0cmluZ0N1cnJlbnRDaGFyIj54bWxTdHJpbmdDdXJyZW50Q2hhcjwvYT48YnIgLz4KKzwvZGQ+PGR0PnNwZWM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ1NldERlZmF1bHRQcmVmZXIiPnhtbENhdGFsb2dTZXREZWZhdWx0UHJlZmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbENoaWxkRWxlbWVudENvdW50Ij54bWxDaGlsZEVsZW1lbnRDb3VudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxGaXJzdEVsZW1lbnRDaGlsZCI+eG1sRmlyc3RFbGVtZW50Q2hpbGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTGFzdEVsZW1lbnRDaGlsZCI+eG1sTGFzdEVsZW1lbnRDaGlsZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXh0RWxlbWVudFNpYmxpbmciPnhtbE5leHRFbGVtZW50U2libGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQ29tbWVudCI+eG1sUGFyc2VDb21tZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFByZXZpb3VzRWxlbWVudFNpYmxpbmciPnhtbFByZXZpb3VzRWxlbWVudFNpYmxpbmc8L2E+PGJyIC8+Cis8L2RkPjxkdD5zcGVjOjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTX0JBU0VDSEFSIj5JU19CQVNFQ0hBUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTX0JMQU5LIj5JU19CTEFOSzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTX0JZVEVfQ0hBUiI+SVNfQllURV9DSEFSPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjSVNfQ0hBUiI+SVNfQ0hBUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTX0NPTUJJTklORyI+SVNfQ09NQklOSU5HPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjSVNfRElHSVQiPklTX0RJR0lUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjSVNfRVhURU5ERVIiPklTX0VYVEVOREVSPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjSVNfSURFT0dSQVBISUMiPklTX0lERU9HUkFQSElDPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjSVNfTEVUVEVSIj5JU19MRVRURVI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNJU19QVUJJRENIQVIiPklTX1BVQklEQ0hBUjwvYT48YnIgLz4KKzwvZGQ+PGR0PnNwZWNpYWw8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfU0tJUF9JRFMiPlhNTF9TS0lQX0lEUzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNYTUxfWE1MX0lEIj5YTUxfWE1MX0lEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9YTUxfTkFNRVNQQUNFIj5YTUxfWE1MX05BTUVTUEFDRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdDaGlsZCI+eG1sTmV3Q2hpbGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3RG9jTm9kZSI+eG1sTmV3RG9jTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdEb2NOb2RlRWF0TmFtZSI+eG1sTmV3RG9jTm9kZUVhdE5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUFkZENvbnRlbnQiPnhtbE5vZGVBZGRDb250ZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVBZGRDb250ZW50TGVuIj54bWxOb2RlQWRkQ29udGVudExlbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlU2V0Q29udGVudCI+eG1sTm9kZVNldENvbnRlbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVNldENvbnRlbnRMZW4iPnhtbE5vZGVTZXRDb250ZW50TGVuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlUmF3TGVuIj54bWxUZXh0V3JpdGVyV3JpdGVSYXdMZW48L2E+PGJyIC8+Cis8L2RkPjxkdD5zcGVjaWFsaXplZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNfeG1sRE9NV3JhcEN0eHQiPl94bWxET01XcmFwQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbEdjTWVtR2V0Ij54bWxHY01lbUdldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbEdjTWVtU2V0dXAiPnhtbEdjTWVtU2V0dXA8L2E+PGJyIC8+Cis8L2RkPjxkdD5zcGVjaWZpYzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCNYTUxfQ0FUQUxPR19QSSI+WE1MX0NBVEFMT0dfUEk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI194bWxWYWxpZEN0eHQiPl94bWxWYWxpZEN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI194bWxYUGF0aENvbnRleHQiPl94bWxYUGF0aENvbnRleHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE5vTmV0RXh0ZXJuYWxFbnRpdHlMb2FkZXIiPnhtbE5vTmV0RXh0ZXJuYWxFbnRpdHlMb2FkZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZU5hbWVzcGFjZSI+eG1sUGFyc2VOYW1lc3BhY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFJc0J1aWx0SW5UeXBlRmFjZXQiPnhtbFNjaGVtYUlzQnVpbHRJblR5cGVGYWNldDwvYT48YnIgLz4KKzwvZGQ+PGR0PnNwZWNpZmljYXRpb248L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX1hNTF9OQU1FU1BBQ0UiPlhNTF9YTUxfTkFNRVNQQUNFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbEdldFRocmVhZElkIj54bWxHZXRUaHJlYWRJZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJOb3JtYWxpemF0aW9uIj54bWxUZXh0UmVhZGVyTm9ybWFsaXphdGlvbjwvYT48YnIgLz4KKzwvZGQ+PGR0PnNwZWNpZmljYXRpb25zPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VTRERlY2wiPnhtbFBhcnNlU0REZWNsPC9hPjxiciAvPgorPC9kZD48ZHQ+c3BlY2lmeTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX0JMT0NLX0RFRkFVTFQiPlhNTF9TQ0hFTUFTX1RZUEVfQkxPQ0tfREVGQVVMVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJMb29rdXBOYW1lc3BhY2UiPnhtbFRleHRSZWFkZXJMb29rdXBOYW1lc3BhY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyU3RhbmRhbG9uZSI+eG1sVGV4dFJlYWRlclN0YW5kYWxvbmU8L2E+PGJyIC8+Cis8L2RkPjxkdD5zcGVjaWZ5aW5nPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWFsbG9jQXRvbWljTG9jIj54bWxNYWxsb2NBdG9taWNMb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNYWxsb2NMb2MiPnhtbE1hbGxvY0xvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1lbU1hbGxvYyI+eG1sTWVtTWFsbG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWVtUmVhbGxvYyI+eG1sTWVtUmVhbGxvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbFJlYWxsb2NMb2MiPnhtbFJlYWxsb2NMb2M8L2E+PGJyIC8+Cis8L2RkPjxkdD5zcGVlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPcmRlckRvY0VsZW1zIj54bWxYUGF0aE9yZGVyRG9jRWxlbXM8L2E+PGJyIC8+Cis8L2RkPjxkdD5zcGVlZHVwPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckNvbnN0U3RyaW5nIj54bWxUZXh0UmVhZGVyQ29uc3RTdHJpbmc8L2E+PGJyIC8+Cis8L2RkPjxkdD5zcGxpdDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhJZEZ1bmN0aW9uIj54bWxYUGF0aElkRnVuY3Rpb248L2E+PGJyIC8+Cis8L2RkPjxkdD5zdGFja2VkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCNfeG1sWFBhdGhQYXJzZXJDb250ZXh0Ij5feG1sWFBhdGhQYXJzZXJDb250ZXh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUHVzaElucHV0Ij54bWxQdXNoSW5wdXQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5zdGFnZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX0ZJWFVQXzEiPlhNTF9TQ0hFTUFTX1RZUEVfRklYVVBfMTwvYT48YnIgLz4KKzwvZGQ+PGR0PnN0YW1wczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPcmRlckRvY0VsZW1zIj54bWxYUGF0aE9yZGVyRG9jRWxlbXM8L2E+PGJyIC8+Cis8L2RkPjxkdD5zdGFuZGFsb25lPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI194bWxEb2MiPl94bWxEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNfeG1sUGFyc2VyQ3R4dCI+X3htbFBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNfeG1sUGFyc2VySW5wdXQiPl94bWxQYXJzZXJJbnB1dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI2lzU3RhbmRhbG9uZSI+aXNTdGFuZGFsb25lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sQ3VycmVudENoYXIiPnhtbEN1cnJlbnRDaGFyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VTRERlY2wiPnhtbFBhcnNlU0REZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJJc1N0YW5kYWxvbmUiPnhtbFNBWDJJc1N0YW5kYWxvbmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyU3RhbmRhbG9uZSI+eG1sVGV4dFJlYWRlclN0YW5kYWxvbmU8L2E+PGJyIC8+Cis8L2RkPjxkdD5zdGFuZGFsb25lPTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNfeG1sRG9jIj5feG1sRG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbnRpdHlSZWYiPnhtbFBhcnNlRW50aXR5UmVmPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VQRVJlZmVyZW5jZSI+eG1sUGFyc2VQRVJlZmVyZW5jZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlU0REZWNsIj54bWxQYXJzZVNERGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlckhhbmRsZVBFUmVmZXJlbmNlIj54bWxQYXJzZXJIYW5kbGVQRVJlZmVyZW5jZTwvYT48YnIgLz4KKzwvZGQ+PGR0PnN0YW5kYWxvbmU/PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjaXNTdGFuZGFsb25lU0FYRnVuYyI+aXNTdGFuZGFsb25lU0FYRnVuYzwvYT48YnIgLz4KKzwvZGQ+PGR0PnN0YW5kYXJkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtRE9DQnBhcnNlci5odG1sI2RvY2JQYXJzZURvY3VtZW50Ij5kb2NiUGFyc2VEb2N1bWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sUGFyc2VEb2N1bWVudCI+aHRtbFBhcnNlRG9jdW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxLZWVwQmxhbmtzRGVmYXVsdCI+eG1sS2VlcEJsYW5rc0RlZmF1bHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZURvY3VtZW50Ij54bWxQYXJzZURvY3VtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFN1YnN0cmluZ0Z1bmN0aW9uIj54bWxYUGF0aFN1YnN0cmluZ0Z1bmN0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+c3RhcnQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjX2h0bWxFbGVtRGVzYyI+X2h0bWxFbGVtRGVzYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI3N0YXJ0RG9jdW1lbnQiPnN0YXJ0RG9jdW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNzdGFydERvY3VtZW50U0FYRnVuYyI+c3RhcnREb2N1bWVudFNBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNzdGFydEVsZW1lbnROc1NBWDJGdW5jIj5zdGFydEVsZW1lbnROc1NBWDJGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQnl0ZUNvbnN1bWVkIj54bWxCeXRlQ29uc3VtZWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcEFkb3B0Tm9kZSI+eG1sRE9NV3JhcEFkb3B0Tm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwQ2xvbmVOb2RlIj54bWxET01XcmFwQ2xvbmVOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwR2V0U3RhcnQiPnhtbEV4cEdldFN0YXJ0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VTdGFydFRhZyI+eG1sUGFyc2VTdGFydFRhZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HVmFsaWRhdGVQdXNoRWxlbWVudCI+eG1sUmVsYXhOR1ZhbGlkYXRlUHVzaEVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMlN0YXJ0RG9jdW1lbnQiPnhtbFNBWDJTdGFydERvY3VtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJTdGFydEVsZW1lbnROcyI+eG1sU0FYMlN0YXJ0RWxlbWVudE5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNwbGl0UU5hbWUzIj54bWxTcGxpdFFOYW1lMzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJCeXRlQ29uc3VtZWQiPnhtbFRleHRSZWFkZXJCeXRlQ29uc3VtZWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlUHVzaEVsZW1lbnQiPnhtbFZhbGlkYXRlUHVzaEVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJOZXdMb2NhdGlvblNldE5vZGVzIj54bWxYUHRyTmV3TG9jYXRpb25TZXROb2RlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ck5ld1JhbmdlIj54bWxYUHRyTmV3UmFuZ2U8L2E+PGJyIC8+Cis8L2RkPjxkdD5zdGFydC10YWc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVsZW1lbnQiPnhtbFBhcnNlRWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlU3RhcnRUYWciPnhtbFBhcnNlU3RhcnRUYWc8L2E+PGJyIC8+Cis8L2RkPjxkdD5zdGFydGVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRFRERXh0ZXJuYWxFbnRpdHkiPnhtbFRleHRXcml0ZXJXcml0ZURUREV4dGVybmFsRW50aXR5PC9hPjxiciAvPgorPC9kZD48ZHQ+c3RhcnRpbmc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhTmV3QWxsVHJhbnMiPnhtbEF1dG9tYXRhTmV3QWxsVHJhbnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhTmV3Q291bnRUcmFucyI+eG1sQXV0b21hdGFOZXdDb3VudFRyYW5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld0NvdW50VHJhbnMyIj54bWxBdXRvbWF0YU5ld0NvdW50VHJhbnMyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld0NvdW50ZWRUcmFucyI+eG1sQXV0b21hdGFOZXdDb3VudGVkVHJhbnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhTmV3Q291bnRlclRyYW5zIj54bWxBdXRvbWF0YU5ld0NvdW50ZXJUcmFuczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdFcHNpbG9uIj54bWxBdXRvbWF0YU5ld0Vwc2lsb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhTmV3TmVnVHJhbnMiPnhtbEF1dG9tYXRhTmV3TmVnVHJhbnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhTmV3T25jZVRyYW5zIj54bWxBdXRvbWF0YU5ld09uY2VUcmFuczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdPbmNlVHJhbnMyIj54bWxBdXRvbWF0YU5ld09uY2VUcmFuczI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhTmV3VHJhbnNpdGlvbiI+eG1sQXV0b21hdGFOZXdUcmFuc2l0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld1RyYW5zaXRpb24yIj54bWxBdXRvbWF0YU5ld1RyYW5zaXRpb24yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQnl0ZUNvbnN1bWVkIj54bWxCeXRlQ29uc3VtZWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3Q2hhclJlZiI+eG1sTmV3Q2hhclJlZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbE5ld1RleHRXcml0ZXJUcmVlIj54bWxOZXdUZXh0V3JpdGVyVHJlZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNhdmUuaHRtbCN4bWxTYXZlVHJlZSI+eG1sU2F2ZVRyZWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRhdGVPbmVFbGVtZW50Ij54bWxTY2hlbWFWYWxpZGF0ZU9uZUVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT3JkZXJEb2NFbGVtcyI+eG1sWFBhdGhPcmRlckRvY0VsZW1zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFN1YnN0cmluZ0Z1bmN0aW9uIj54bWxYUGF0aFN1YnN0cmluZ0Z1bmN0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyTmV3Q29sbGFwc2VkUmFuZ2UiPnhtbFhQdHJOZXdDb2xsYXBzZWRSYW5nZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ck5ld1JhbmdlIj54bWxYUHRyTmV3UmFuZ2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJOZXdSYW5nZU5vZGVPYmplY3QiPnhtbFhQdHJOZXdSYW5nZU5vZGVPYmplY3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJOZXdSYW5nZU5vZGVQb2ludCI+eG1sWFB0ck5ld1JhbmdlTm9kZVBvaW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyTmV3UmFuZ2VOb2RlcyI+eG1sWFB0ck5ld1JhbmdlTm9kZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJOZXdSYW5nZVBvaW50Tm9kZSI+eG1sWFB0ck5ld1JhbmdlUG9pbnROb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyTmV3UmFuZ2VQb2ludHMiPnhtbFhQdHJOZXdSYW5nZVBvaW50czwvYT48YnIgLz4KKzwvZGQ+PGR0PnN0YXJ0czwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdGFydHNXaXRoRnVuY3Rpb24iPnhtbFhQYXRoU3RhcnRzV2l0aEZ1bmN0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+c3RhcnRzLXdpdGg8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU3RhcnRzV2l0aEZ1bmN0aW9uIj54bWxYUGF0aFN0YXJ0c1dpdGhGdW5jdGlvbjwvYT48YnIgLz4KKzwvZGQ+PGR0PnN0YXJ0dXA8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNzZXREb2N1bWVudExvY2F0b3IiPnNldERvY3VtZW50TG9jYXRvcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3NldERvY3VtZW50TG9jYXRvclNBWEZ1bmMiPnNldERvY3VtZW50TG9jYXRvclNBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sSW5pdGlhbGl6ZUNhdGFsb2ciPnhtbEluaXRpYWxpemVDYXRhbG9nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbExvYWRDYXRhbG9nIj54bWxMb2FkQ2F0YWxvZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxMb2FkQ2F0YWxvZ3MiPnhtbExvYWRDYXRhbG9nczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyU2V0RG9jdW1lbnRMb2NhdG9yIj54bWxTQVgyU2V0RG9jdW1lbnRMb2NhdG9yPC9hPjxiciAvPgorPC9kZD48ZHQ+c3Rhc2hlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9odHRwLmh0bWwjeG1sTmFub0hUVFBBdXRoSGVhZGVyIj54bWxOYW5vSFRUUEF1dGhIZWFkZXI8L2E+PGJyIC8+Cis8L2RkPjxkdD5zdGF0PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxDaGVja0ZpbGVuYW1lIj54bWxDaGVja0ZpbGVuYW1lPC9hPjxiciAvPgorPC9kZD48ZHQ+c3RhdGVmdWw8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZ091dHB1dEZ1bmMiPnhtbENoYXJFbmNvZGluZ091dHB1dEZ1bmM8L2E+PGJyIC8+Cis8L2RkPjxkdD5zdGF0ZXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI194bWxWYWxpZEN0eHQiPl94bWxWYWxpZEN0eHQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5zdGF0aWM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT3JkZXJEb2NFbGVtcyI+eG1sWFBhdGhPcmRlckRvY0VsZW1zPC9hPjxiciAvPgorPC9kZD48ZHQ+c3RhdHVzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlcklzVmFsaWQiPnhtbFRleHRSZWFkZXJJc1ZhbGlkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclN0YW5kYWxvbmUiPnhtbFRleHRSZWFkZXJTdGFuZGFsb25lPC9hPjxiciAvPgorPC9kZD48ZHQ+c3RkZXJyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxTZXRHZW5lcmljRXJyb3JGdW5jIj54bWxTZXRHZW5lcmljRXJyb3JGdW5jPC9hPjxiciAvPgorPC9kZD48ZHQ+c3RkaW48L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWUiPnhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWU8L2E+PGJyIC8+Cis8L2RkPjxkdD5zdGRvdXQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI2h0bWxTYXZlRmlsZSI+aHRtbFNhdmVGaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZSI+eG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2F2ZUZpbGUiPnhtbFNhdmVGaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNhdmVGb3JtYXRGaWxlIj54bWxTYXZlRm9ybWF0RmlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGwiPnhtbFNoZWxsPC9hPjxiciAvPgorPC9kZD48ZHQ+c3RlcDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cFN0cmluZ0Rlcml2ZSI+eG1sRXhwU3RyaW5nRGVyaXZlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZEN0eHROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZSI+eG1sVmFsaWRDdHh0Tm9ybWFsaXplQXR0cmlidXRlVmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkTm9ybWFsaXplQXR0cmlidXRlVmFsdWUiPnhtbFZhbGlkTm9ybWFsaXplQXR0cmlidXRlVmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlRG9jdW1lbnRGaW5hbCI+eG1sVmFsaWRhdGVEb2N1bWVudEZpbmFsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZUR0ZEZpbmFsIj54bWxWYWxpZGF0ZUR0ZEZpbmFsPC9hPjxiciAvPgorPC9kZD48ZHQ+c3RlcHM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxOb3JtYWxpemVVUklQYXRoIj54bWxOb3JtYWxpemVVUklQYXRoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZURvY3VtZW50RmluYWwiPnhtbFZhbGlkYXRlRG9jdW1lbnRGaW5hbDwvYT48YnIgLz4KKzwvZGQ+PGR0PnN0aWxsPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sQ2hlY2tMYW5ndWFnZUlEIj54bWxDaGVja0xhbmd1YWdlSUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxDbGVhbnVwUGFyc2VyIj54bWxDbGVhbnVwUGFyc2VyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbENsZWFudXBUaHJlYWRzIj54bWxDbGVhbnVwVGhyZWFkczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1vZHVsZS5odG1sI3htbE1vZHVsZUZyZWUiPnhtbE1vZHVsZUZyZWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE5vTmV0RXh0ZXJuYWxFbnRpdHlMb2FkZXIiPnhtbE5vTmV0RXh0ZXJuYWxFbnRpdHlMb2FkZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZU5hbWVzcGFjZSI+eG1sUGFyc2VOYW1lc3BhY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sUmVjb25jaWxpYXRlTnMiPnhtbFJlY29uY2lsaWF0ZU5zPC9hPjxiciAvPgorPC9kZD48ZHQ+c3RvcDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0V2Fsa2VyIj54bWxMaXN0V2Fsa2VyPC9hPjxiciAvPgorPC9kZD48ZHQ+c3RvcHM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyR2V0UmVtYWluZGVyIj54bWxUZXh0UmVhZGVyR2V0UmVtYWluZGVyPC9hPjxiciAvPgorPC9kZD48ZHQ+c3RvcmFnZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFVURjhTdHJzaXplIj54bWxVVEY4U3Ryc2l6ZTwvYT48YnIgLz4KKzwvZGQ+PGR0PnN0b3JlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI1VURjhUb0h0bWwiPlVURjhUb0h0bWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI1VURjhUb2lzb2xhdDEiPlVURjhUb2lzb2xhdDE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1ET0NCcGFyc2VyLmh0bWwjZG9jYkVuY29kZUVudGl0aWVzIj5kb2NiRW5jb2RlRW50aXRpZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEVuY29kZUVudGl0aWVzIj5odG1sRW5jb2RlRW50aXRpZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlRW50aXR5UmVmIj5odG1sUGFyc2VFbnRpdHlSZWY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI2lzb2xhdDFUb1VURjgiPmlzb2xhdDFUb1VURjg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jMTRuLmh0bWwjeG1sQzE0TkRvY1NhdmUiPnhtbEMxNE5Eb2NTYXZlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtYzE0bi5odG1sI3htbEMxNE5Eb2NTYXZlVG8iPnhtbEMxNE5Eb2NTYXZlVG88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jMTRuLmh0bWwjeG1sQzE0TkV4ZWN1dGUiPnhtbEMxNE5FeGVjdXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmdJbnB1dEZ1bmMiPnhtbENoYXJFbmNvZGluZ0lucHV0RnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYyI+eG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cEdldExhbmd1YWdlIj54bWxFeHBHZXRMYW5ndWFnZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cEdldFN0YXJ0Ij54bWxFeHBHZXRTdGFydDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEdldEZlYXR1cmUiPnhtbEdldEZlYXR1cmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sR2V0TGluZU5vIj54bWxHZXRMaW5lTm88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbElucHV0UmVhZENhbGxiYWNrIj54bWxJbnB1dFJlYWRDYWxsYmFjazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0QnVmZmVyV3JpdGUiPnhtbE91dHB1dEJ1ZmZlcldyaXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRCdWZmZXJXcml0ZUVzY2FwZSI+eG1sT3V0cHV0QnVmZmVyV3JpdGVFc2NhcGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nIj54bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQXR0cmlidXRlIj54bWxQYXJzZUF0dHJpYnV0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRW50aXR5VmFsdWUiPnhtbFBhcnNlRW50aXR5VmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkR2V0UG90ZW50aWFsQ2hpbGRyZW4iPnhtbFZhbGlkR2V0UG90ZW50aWFsQ2hpbGRyZW48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkR2V0VmFsaWRFbGVtZW50cyI+eG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzPC9hPjxiciAvPgorPC9kZD48ZHQ+c3RvcmVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbGVtZW50Q29udGVudERlY2wiPnhtbFBhcnNlRWxlbWVudENvbnRlbnREZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlckdyb3ciPnhtbFBhcnNlcklucHV0QnVmZmVyR3JvdzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJQdXNoIj54bWxQYXJzZXJJbnB1dEJ1ZmZlclB1c2g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyUmVhZCI+eG1sUGFyc2VySW5wdXRCdWZmZXJSZWFkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYUGFyc2VGaWxlV2l0aERhdGEiPnhtbFNBWFBhcnNlRmlsZVdpdGhEYXRhPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYUGFyc2VNZW1vcnlXaXRoRGF0YSI+eG1sU0FYUGFyc2VNZW1vcnlXaXRoRGF0YTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPcmRlckRvY0VsZW1zIj54bWxYUGF0aE9yZGVyRG9jRWxlbXM8L2E+PGJyIC8+Cis8L2RkPjxkdD5zdG9yZXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmTm9kZUR1bXAiPnhtbEJ1Zk5vZGVEdW1wPC9hPjxiciAvPgorPC9kZD48ZHQ+c3RyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxQYXJzZUVudGl0eVJlZiI+aHRtbFBhcnNlRW50aXR5UmVmPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlckFkZCI+eG1sQnVmZmVyQWRkPC9hPjxiciAvPgorPC9kZD48ZHQ+c3RyY2FzZWNtcDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFN0cmNhc2VjbXAiPnhtbFN0cmNhc2VjbXA8L2E+PGJyIC8+Cis8L2RkPjxkdD5zdHJjYXQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJjYXQiPnhtbFN0cmNhdDwvYT48YnIgLz4KKzwvZGQ+PGR0PnN0cmNocjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFN0cmNociI+eG1sU3RyY2hyPC9hPjxiciAvPgorPC9kZD48ZHQ+c3RyY21wPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3RyY21wIj54bWxTdHJjbXA8L2E+PGJyIC8+Cis8L2RkPjxkdD5zdHJkdXA8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyU3RyZHVwIj54bWxDaGFyU3RyZHVwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sR2NNZW1HZXQiPnhtbEdjTWVtR2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sR2NNZW1TZXR1cCI+eG1sR2NNZW1TZXR1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1lbUdldCI+eG1sTWVtR2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWVtU2V0dXAiPnhtbE1lbVNldHVwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWVtU3RyZHVwTG9jIj54bWxNZW1TdHJkdXBMb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNZW1vcnlTdHJkdXAiPnhtbE1lbW9yeVN0cmR1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFN0cmR1cCI+eG1sU3RyZHVwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sU3RyZHVwRnVuYyI+eG1sU3RyZHVwRnVuYzwvYT48YnIgLz4KKzwvZGQ+PGR0PnN0cmVhbWFibGU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sUGF0dGVyblN0cmVhbWFibGUiPnhtbFBhdHRlcm5TdHJlYW1hYmxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkYXRlRmlsZSI+eG1sU2NoZW1hVmFsaWRhdGVGaWxlPC9hPjxiciAvPgorPC9kZD48ZHQ+c3RyZWFtaW5nPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbFBhdHRlcm5HZXRTdHJlYW1DdHh0Ij54bWxQYXR0ZXJuR2V0U3RyZWFtQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCN4bWxTdHJlYW1XYW50c0FueU5vZGUiPnhtbFN0cmVhbVdhbnRzQW55Tm9kZTwvYT48YnIgLz4KKzwvZGQ+PGR0PnN0cmVhbXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNfeG1sUGFyc2VyQ3R4dCI+X3htbFBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxTa2lwQmxhbmtDaGFycyI+eG1sU2tpcEJsYW5rQ2hhcnM8L2E+PGJyIC8+Cis8L2RkPjxkdD5zdHJpY3Q8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfQU5ZQVRUUl9TVFJJQ1QiPlhNTF9TQ0hFTUFTX0FOWUFUVFJfU1RSSUNUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0FOWV9TVFJJQ1QiPlhNTF9TQ0hFTUFTX0FOWV9TVFJJQ1Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUV4dGVybmFsSUQiPnhtbFBhcnNlRXh0ZXJuYWxJRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhDb21wYXJlVmFsdWVzIj54bWxYUGF0aENvbXBhcmVWYWx1ZXM8L2E+PGJyIC8+Cis8L2RkPjxkdD5zdHJpbmctLXRoYXQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxOb3JtYWxpemVVUklQYXRoIj54bWxOb3JtYWxpemVVUklQYXRoPC9hPjxiciAvPgorPC9kZD48ZHQ+c3RyaW5nLWxlbmd0aDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdHJpbmdMZW5ndGhGdW5jdGlvbiI+eG1sWFBhdGhTdHJpbmdMZW5ndGhGdW5jdGlvbjwvYT48YnIgLz4KKzwvZGQ+PGR0PnN0cmluZz88L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9ybWFsaXplRnVuY3Rpb24iPnhtbFhQYXRoTm9ybWFsaXplRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU3RyaW5nTGVuZ3RoRnVuY3Rpb24iPnhtbFhQYXRoU3RyaW5nTGVuZ3RoRnVuY3Rpb248L2E+PGJyIC8+Cis8L2RkPjxkdD5zdHJpbmdpPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFN1YnN0cmluZ0FmdGVyRnVuY3Rpb24iPnhtbFhQYXRoU3Vic3RyaW5nQWZ0ZXJGdW5jdGlvbjwvYT48YnIgLz4KKzwvZGQ+PGR0PnN0cmluZ3M8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNfeG1sUGFyc2VyQ3R4dCI+X3htbFBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kaWN0Lmh0bWwjeG1sRGljdENyZWF0ZVN1YiI+eG1sRGljdENyZWF0ZVN1YjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0R2V0VXNhZ2UiPnhtbERpY3RHZXRVc2FnZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cEdldExhbmd1YWdlIj54bWxFeHBHZXRMYW5ndWFnZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cEdldFN0YXJ0Ij54bWxFeHBHZXRTdGFydDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cFBhcnNlIj54bWxFeHBQYXJzZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxHZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lIj54bWxHZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sR2V0RmVhdHVyZXNMaXN0Ij54bWxHZXRGZWF0dXJlc0xpc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sUGF0dGVybmNvbXBpbGUiPnhtbFBhdHRlcm5jb21waWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnRXhlY0VyckluZm8iPnhtbFJlZ0V4ZWNFcnJJbmZvPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnRXhlY05leHRWYWx1ZXMiPnhtbFJlZ0V4ZWNOZXh0VmFsdWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnZXhwQ29tcGlsZSI+eG1sUmVnZXhwQ29tcGlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFN0ckVxdWFsIj54bWxTdHJFcXVhbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCN4bWxTdHJlYW1QdXNoIj54bWxTdHJlYW1QdXNoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbFN0cmVhbVB1c2hBdHRyIj54bWxTdHJlYW1QdXNoQXR0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCN4bWxTdHJlYW1QdXNoTm9kZSI+eG1sU3RyZWFtUHVzaE5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJuY2F0TmV3Ij54bWxTdHJuY2F0TmV3PC9hPjxiciAvPgorPC9kZD48ZHQ+c3RyaXBwaW5nPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vcm1hbGl6ZUZ1bmN0aW9uIj54bWxYUGF0aE5vcm1hbGl6ZUZ1bmN0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+c3RybmNhc2VjbXA8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJuY2FzZWNtcCI+eG1sU3RybmNhc2VjbXA8L2E+PGJyIC8+Cis8L2RkPjxkdD5zdHJuY2F0PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3RybmNhdCI+eG1sU3RybmNhdDwvYT48YnIgLz4KKzwvZGQ+PGR0PnN0cm5jbXA8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJuY21wIj54bWxTdHJuY21wPC9hPjxiciAvPgorPC9kZD48ZHQ+c3RybmR1cDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXJTdHJuZHVwIj54bWxDaGFyU3RybmR1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFN0cm5kdXAiPnhtbFN0cm5kdXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxVVEY4U3RybmR1cCI+eG1sVVRGOFN0cm5kdXA8L2E+PGJyIC8+Cis8L2RkPjxkdD5zdHJzdHI8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJjYXNlc3RyIj54bWxTdHJjYXNlc3RyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3Ryc3RyIj54bWxTdHJzdHI8L2E+PGJyIC8+Cis8L2RkPjxkdD5zdHJ1Y3Q8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sRnJlZU11dGV4Ij54bWxGcmVlTXV0ZXg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxGcmVlVVJJIj54bWxGcmVlVVJJPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbE5ld011dGV4Ij54bWxOZXdNdXRleDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlckZpbmROb2RlSW5mbyI+eG1sUGFyc2VyRmluZE5vZGVJbmZvPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hR2V0QnVpbHRJblR5cGUiPnhtbFNjaGVtYUdldEJ1aWx0SW5UeXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hTmV3Tk9UQVRJT05WYWx1ZSI+eG1sU2NoZW1hTmV3Tk9UQVRJT05WYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYU5ld1FOYW1lVmFsdWUiPnhtbFNjaGVtYU5ld1FOYW1lVmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFOZXdTdHJpbmdWYWx1ZSI+eG1sU2NoZW1hTmV3U3RyaW5nVmFsdWU8L2E+PGJyIC8+Cis8L2RkPjxkdD5zdHJ1Y3R1cmVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdTZXRWYWxpZFN0cnVjdHVyZWRFcnJvcnMiPnhtbFJlbGF4TkdTZXRWYWxpZFN0cnVjdHVyZWRFcnJvcnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hU2V0UGFyc2VyU3RydWN0dXJlZEVycm9ycyI+eG1sU2NoZW1hU2V0UGFyc2VyU3RydWN0dXJlZEVycm9yczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFTZXRWYWxpZFN0cnVjdHVyZWRFcnJvcnMiPnhtbFNjaGVtYVNldFZhbGlkU3RydWN0dXJlZEVycm9yczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzIj54bWxTY2hlbWF0cm9uU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxTZXRTdHJ1Y3R1cmVkRXJyb3JGdW5jIj54bWxTZXRTdHJ1Y3R1cmVkRXJyb3JGdW5jPC9hPjxiciAvPgorPC9kZD48ZHQ+c3RydWN0dXJlczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxGcmVlRG9jIj54bWxGcmVlRG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEZyZWVOcyI+eG1sRnJlZU5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEZyZWVOc0xpc3QiPnhtbEZyZWVOc0xpc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sTG9hZEFDYXRhbG9nIj54bWxMb2FkQUNhdGFsb2c8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sTmV3Uk11dGV4Ij54bWxOZXdSTXV0ZXg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUR1bXAiPnhtbE5vZGVEdW1wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnRnJlZUV4ZWNDdHh0Ij54bWxSZWdGcmVlRXhlY0N0eHQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5zdHJ1dHVyZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HUGFyc2UiPnhtbFJlbGF4TkdQYXJzZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFQYXJzZSI+eG1sU2NoZW1hUGFyc2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvblBhcnNlIj54bWxTY2hlbWF0cm9uUGFyc2U8L2E+PGJyIC8+Cis8L2RkPjxkdD5zdHVmZjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjX3htbFhQYXRoQ29udGV4dCI+X3htbFhQYXRoQ29udGV4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlTmFtZXNwYWNlIj54bWxQYXJzZU5hbWVzcGFjZTwvYT48YnIgLz4KKzwvZGQ+PGR0PnN0eWxlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWERlZmF1bHRWZXJzaW9uIj54bWxTQVhEZWZhdWx0VmVyc2lvbjwvYT48YnIgLz4KKzwvZGQ+PGR0PnN1YjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cEV4cERlcml2ZSI+eG1sRXhwRXhwRGVyaXZlPC9hPjxiciAvPgorPC9kZD48ZHQ+c3ViLWVsZW1lbnRzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI19odG1sRWxlbURlc2MiPl9odG1sRWxlbURlc2M8L2E+PGJyIC8+Cis8L2RkPjxkdD5zdWJlbGVtZW50PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI19odG1sRWxlbURlc2MiPl9odG1sRWxlbURlc2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbERlZmF1bHRTdWJlbGVtZW50Ij5odG1sRGVmYXVsdFN1YmVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbE5ld0RvY0VsZW1lbnRDb250ZW50Ij54bWxOZXdEb2NFbGVtZW50Q29udGVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sTmV3RWxlbWVudENvbnRlbnQiPnhtbE5ld0VsZW1lbnRDb250ZW50PC9hPjxiciAvPgorPC9kZD48ZHQ+c3ViZWxlbWVudHM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjX2h0bWxFbGVtRGVzYyI+X2h0bWxFbGVtRGVzYzwvYT48YnIgLz4KKzwvZGQ+PGR0PnN1YmV4cHJlc3Npb248L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBFeHBEZXJpdmUiPnhtbEV4cEV4cERlcml2ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cFN1YnN1bWUiPnhtbEV4cFN1YnN1bWU8L2E+PGJyIC8+Cis8L2RkPjxkdD5zdWJleHByZXNzaW9uczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cFBhcnNlIj54bWxFeHBQYXJzZTwvYT48YnIgLz4KKzwvZGQ+PGR0PnN1YmplY3Q8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZVNERGVjbCI+eG1sUGFyc2VTRERlY2w8L2E+PGJyIC8+Cis8L2RkPjxkdD5zdWJsYW5ndWFnZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhMYW5nRnVuY3Rpb24iPnhtbFhQYXRoTGFuZ0Z1bmN0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+c3VibWl0czwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sUmVnaXN0ZXJIVFRQUG9zdENhbGxiYWNrcyI+eG1sUmVnaXN0ZXJIVFRQUG9zdENhbGxiYWNrczwvYT48YnIgLz4KKzwvZGQ+PGR0PnN1YnNlcXVlbnQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbElPSFRUUE9wZW5XIj54bWxJT0hUVFBPcGVuVzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sU2V0R2VuZXJpY0Vycm9yRnVuYyI+eG1sU2V0R2VuZXJpY0Vycm9yRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sU2V0U3RydWN0dXJlZEVycm9yRnVuYyI+eG1sU2V0U3RydWN0dXJlZEVycm9yRnVuYzwvYT48YnIgLz4KKzwvZGQ+PGR0PnN1YnNldD88L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNoYXNFeHRlcm5hbFN1YnNldFNBWEZ1bmMiPmhhc0V4dGVybmFsU3Vic2V0U0FYRnVuYzwvYT48YnIgLz4KKzwvZGQ+PGR0PnN1YnNldHM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI3htbEdldFBhcmFtZXRlckVudGl0eSI+eG1sR2V0UGFyYW1ldGVyRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZUR0ZEZpbmFsIj54bWxWYWxpZGF0ZUR0ZEZpbmFsPC9hPjxiciAvPgorPC9kZD48ZHQ+c3Vic3RpdHVpb248L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfRUxFTV9CTE9DS19TVUJTVElUVVRJT04iPlhNTF9TQ0hFTUFTX0VMRU1fQkxPQ0tfU1VCU1RJVFVUSU9OPC9hPjxiciAvPgorPC9kZD48ZHQ+c3Vic3RpdHV0ZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwUmVtb3ZlTm9kZSI+eG1sRE9NV3JhcFJlbW92ZU5vZGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5zdWJzdGl0dXRlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI1hNTF9TVUJTVElUVVRFX0JPVEgiPlhNTF9TVUJTVElUVVRFX0JPVEg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNYTUxfU1VCU1RJVFVURV9OT05FIj5YTUxfU1VCU1RJVFVURV9OT05FPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjWE1MX1NVQlNUSVRVVEVfUEVSRUYiPlhNTF9TVUJTVElUVVRFX1BFUkVGPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjWE1MX1NVQlNUSVRVVEVfUkVGIj5YTUxfU1VCU1RJVFVURV9SRUY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmR2V0Tm9kZUNvbnRlbnQiPnhtbEJ1ZkdldE5vZGVDb250ZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVCdWZHZXRDb250ZW50Ij54bWxOb2RlQnVmR2V0Q29udGVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlR2V0Q29udGVudCI+eG1sTm9kZUdldENvbnRlbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVudGl0eVZhbHVlIj54bWxQYXJzZUVudGl0eVZhbHVlPC9hPjxiciAvPgorPC9kZD48ZHQ+c3Vic3RpdHV0aW5nPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdCI+eG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdDwvYT48YnIgLz4KKzwvZGQ+PGR0PnN1YnN0aXR1dGlvbkdyb3VwPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0VMRU1fSU5URVJOQUxfUkVTT0xWRUQiPlhNTF9TQ0hFTUFTX0VMRU1fSU5URVJOQUxfUkVTT0xWRUQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5zdWJzdGl0dXRpb25zPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0VMRU1fQkxPQ0tfRVhURU5TSU9OIj5YTUxfU0NIRU1BU19FTEVNX0JMT0NLX0VYVEVOU0lPTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFN0cmluZ0RlY29kZUVudGl0aWVzIj54bWxTdHJpbmdEZWNvZGVFbnRpdGllczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFN0cmluZ0xlbkRlY29kZUVudGl0aWVzIj54bWxTdHJpbmdMZW5EZWNvZGVFbnRpdGllczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhpbmNsdWRlLmh0bWwjeG1sWEluY2x1ZGVQcm9jZXNzIj54bWxYSW5jbHVkZVByb2Nlc3M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14aW5jbHVkZS5odG1sI3htbFhJbmNsdWRlUHJvY2Vzc0ZsYWdzIj54bWxYSW5jbHVkZVByb2Nlc3NGbGFnczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhpbmNsdWRlLmh0bWwjeG1sWEluY2x1ZGVQcm9jZXNzRmxhZ3NEYXRhIj54bWxYSW5jbHVkZVByb2Nlc3NGbGFnc0RhdGE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14aW5jbHVkZS5odG1sI3htbFhJbmNsdWRlUHJvY2Vzc05vZGUiPnhtbFhJbmNsdWRlUHJvY2Vzc05vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14aW5jbHVkZS5odG1sI3htbFhJbmNsdWRlUHJvY2Vzc1RyZWUiPnhtbFhJbmNsdWRlUHJvY2Vzc1RyZWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14aW5jbHVkZS5odG1sI3htbFhJbmNsdWRlUHJvY2Vzc1RyZWVGbGFncyI+eG1sWEluY2x1ZGVQcm9jZXNzVHJlZUZsYWdzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGluY2x1ZGUuaHRtbCN4bWxYSW5jbHVkZVByb2Nlc3NUcmVlRmxhZ3NEYXRhIj54bWxYSW5jbHVkZVByb2Nlc3NUcmVlRmxhZ3NEYXRhPC9hPjxiciAvPgorPC9kZD48ZHQ+c3Vic3RpdHV0aW9uczo8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfRUxFTV9CTE9DS19SRVNUUklDVElPTiI+WE1MX1NDSEVNQVNfRUxFTV9CTE9DS19SRVNUUklDVElPTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19FTEVNX0JMT0NLX1NVQlNUSVRVVElPTiI+WE1MX1NDSEVNQVNfRUxFTV9CTE9DS19TVUJTVElUVVRJT048L2E+PGJyIC8+Cis8L2RkPjxkdD5zdWJzdHJpbmc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUFkZENvbnRlbnQiPnhtbE5vZGVBZGRDb250ZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVBZGRDb250ZW50TGVuIj54bWxOb2RlQWRkQ29udGVudExlbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFN0cnN1YiI+eG1sU3Ryc3ViPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sVVRGOFN0cnN1YiI+eG1sVVRGOFN0cnN1YjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdWJzdHJpbmdBZnRlckZ1bmN0aW9uIj54bWxYUGF0aFN1YnN0cmluZ0FmdGVyRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU3Vic3RyaW5nQmVmb3JlRnVuY3Rpb24iPnhtbFhQYXRoU3Vic3RyaW5nQmVmb3JlRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU3Vic3RyaW5nRnVuY3Rpb24iPnhtbFhQYXRoU3Vic3RyaW5nRnVuY3Rpb248L2E+PGJyIC8+Cis8L2RkPjxkdD5zdWJzdHJpbmctYWZ0ZXI8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU3Vic3RyaW5nQWZ0ZXJGdW5jdGlvbiI+eG1sWFBhdGhTdWJzdHJpbmdBZnRlckZ1bmN0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+c3Vic3RyaW5nLWJlZm9yZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdWJzdHJpbmdCZWZvcmVGdW5jdGlvbiI+eG1sWFBhdGhTdWJzdHJpbmdCZWZvcmVGdW5jdGlvbjwvYT48YnIgLz4KKzwvZGQ+PGR0PnN1YnRhZzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbENoZWNrTGFuZ3VhZ2VJRCI+eG1sQ2hlY2tMYW5ndWFnZUlEPC9hPjxiciAvPgorPC9kZD48ZHQ+c3VidGFnczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbENoZWNrTGFuZ3VhZ2VJRCI+eG1sQ2hlY2tMYW5ndWFnZUlEPC9hPjxiciAvPgorPC9kZD48ZHQ+c3VidHJhY3Rpb248L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU3ViVmFsdWVzIj54bWxYUGF0aFN1YlZhbHVlczwvYT48YnIgLz4KKzwvZGQ+PGR0PnN1YnRyZWU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI2F0dHJpYnV0ZVNBWEZ1bmMiPmF0dHJpYnV0ZVNBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEZyZWVEb2NFbGVtZW50Q29udGVudCI+eG1sRnJlZURvY0VsZW1lbnRDb250ZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxGcmVlRWxlbWVudENvbnRlbnQiPnhtbEZyZWVFbGVtZW50Q29udGVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxSZWNvbmNpbGlhdGVOcyI+eG1sUmVjb25jaWxpYXRlTnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1ZhbGlkYXRlRnVsbEVsZW1lbnQiPnhtbFJlbGF4TkdWYWxpZGF0ZUZ1bGxFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2F2ZS5odG1sI3htbFNhdmVUcmVlIj54bWxTYXZlVHJlZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZGF0ZU9uZUVsZW1lbnQiPnhtbFNjaGVtYVZhbGlkYXRlT25lRWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxEdSI+eG1sU2hlbGxEdTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxXcml0ZSI+eG1sU2hlbGxXcml0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJFeHBhbmQiPnhtbFRleHRSZWFkZXJFeHBhbmQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyTmV4dCI+eG1sVGV4dFJlYWRlck5leHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyTmV4dFNpYmxpbmciPnhtbFRleHRSZWFkZXJOZXh0U2libGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVFbGVtZW50Ij54bWxWYWxpZGF0ZUVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14aW5jbHVkZS5odG1sI3htbFhJbmNsdWRlUHJvY2Vzc05vZGUiPnhtbFhJbmNsdWRlUHJvY2Vzc05vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14aW5jbHVkZS5odG1sI3htbFhJbmNsdWRlUHJvY2Vzc1RyZWUiPnhtbFhJbmNsdWRlUHJvY2Vzc1RyZWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14aW5jbHVkZS5odG1sI3htbFhJbmNsdWRlUHJvY2Vzc1RyZWVGbGFncyI+eG1sWEluY2x1ZGVQcm9jZXNzVHJlZUZsYWdzPC9hPjxiciAvPgorPC9kZD48ZHQ+c3VjY2VlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbE5ld1RleHRXcml0ZXIiPnhtbE5ld1RleHRXcml0ZXI8L2E+PGJyIC8+Cis8L2RkPjxkdD5zdWNjZWVkZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcEFkb3B0Tm9kZSI+eG1sRE9NV3JhcEFkb3B0Tm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwQ2xvbmVOb2RlIj54bWxET01XcmFwQ2xvbmVOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBSZWNvbmNpbGVOYW1lc3BhY2VzIj54bWxET01XcmFwUmVjb25jaWxlTmFtZXNwYWNlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoQWRkRW50cnkiPnhtbEhhc2hBZGRFbnRyeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoQWRkRW50cnkyIj54bWxIYXNoQWRkRW50cnkyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hBZGRFbnRyeTMiPnhtbEhhc2hBZGRFbnRyeTM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFJlbW92ZUVudHJ5Ij54bWxIYXNoUmVtb3ZlRW50cnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFJlbW92ZUVudHJ5MiI+eG1sSGFzaFJlbW92ZUVudHJ5MjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoUmVtb3ZlRW50cnkzIj54bWxIYXNoUmVtb3ZlRW50cnkzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hVcGRhdGVFbnRyeSI+eG1sSGFzaFVwZGF0ZUVudHJ5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hVcGRhdGVFbnRyeTIiPnhtbEhhc2hVcGRhdGVFbnRyeTI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFVwZGF0ZUVudHJ5MyI+eG1sSGFzaFVwZGF0ZUVudHJ5MzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXIiPnhtbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFWYWx1ZUFwcGVuZCI+eG1sU2NoZW1hVmFsdWVBcHBlbmQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoQ29tcGFyZVZhbHVlcyI+eG1sWFBhdGhDb21wYXJlVmFsdWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHRTZXRDYWNoZSI+eG1sWFBhdGhDb250ZXh0U2V0Q2FjaGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5zdWNjZWVkczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sQ2hlY2tGaWxlbmFtZSI+eG1sQ2hlY2tGaWxlbmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbE5ld1RleHRXcml0ZXJQdXNoUGFyc2VyIj54bWxOZXdUZXh0V3JpdGVyUHVzaFBhcnNlcjwvYT48YnIgLz4KKzwvZGQ+PGR0PnN1Y2Nlc3NmdWw8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQUNhdGFsb2dBZGQiPnhtbEFDYXRhbG9nQWRkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbEFDYXRhbG9nUmVtb3ZlIj54bWxBQ2F0YWxvZ1JlbW92ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJBZGQiPnhtbEJ1ZmZlckFkZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJBZGRIZWFkIj54bWxCdWZmZXJBZGRIZWFkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlckNDYXQiPnhtbEJ1ZmZlckNDYXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyQ2F0Ij54bWxCdWZmZXJDYXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ0FkZCI+eG1sQ2F0YWxvZ0FkZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nQ29udmVydCI+eG1sQ2F0YWxvZ0NvbnZlcnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ1JlbW92ZSI+eG1sQ2F0YWxvZ1JlbW92ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDb252ZXJ0U0dNTENhdGFsb2ciPnhtbENvbnZlcnRTR01MQ2F0YWxvZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxHZXRMaW5lTm8iPnhtbEdldExpbmVObzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0UHVzaEJhY2siPnhtbExpc3RQdXNoQmFjazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0UHVzaEZyb250Ij54bWxMaXN0UHVzaEZyb250PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2F2ZS5odG1sI3htbFNhdmVTZXRBdHRyRXNjYXBlIj54bWxTYXZlU2V0QXR0ckVzY2FwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNhdmUuaHRtbCN4bWxTYXZlU2V0RXNjYXBlIj54bWxTYXZlU2V0RXNjYXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclNldFBhcnNlclByb3AiPnhtbFRleHRSZWFkZXJTZXRQYXJzZXJQcm9wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFVuc2V0TnNQcm9wIj54bWxVbnNldE5zUHJvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxVbnNldFByb3AiPnhtbFVuc2V0UHJvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhTZXRDb250ZXh0Tm9kZSI+eG1sWFBhdGhTZXRDb250ZXh0Tm9kZTwvYT48YnIgLz4KKzwvZGQ+PGR0PnN1Y2Nlc3NmdWxseTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJOZXh0Ij54bWxUZXh0UmVhZGVyTmV4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJOZXh0U2libGluZyI+eG1sVGV4dFJlYWRlck5leHRTaWJsaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclJlYWQiPnhtbFRleHRSZWFkZXJSZWFkPC9hPjxiciAvPgorPC9kZD48ZHQ+c3VjY2Vzc2lvbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdDb3VudFRyYW5zIj54bWxBdXRvbWF0YU5ld0NvdW50VHJhbnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhTmV3Q291bnRUcmFuczIiPnhtbEF1dG9tYXRhTmV3Q291bnRUcmFuczI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhTmV3T25jZVRyYW5zIj54bWxBdXRvbWF0YU5ld09uY2VUcmFuczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdPbmNlVHJhbnMyIj54bWxBdXRvbWF0YU5ld09uY2VUcmFuczI8L2E+PGJyIC8+Cis8L2RkPjxkdD5zdWNjZXNzaXZlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld0NvdW50VHJhbnMiPnhtbEF1dG9tYXRhTmV3Q291bnRUcmFuczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdDb3VudFRyYW5zMiI+eG1sQXV0b21hdGFOZXdDb3VudFRyYW5zMjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdPbmNlVHJhbnMiPnhtbEF1dG9tYXRhTmV3T25jZVRyYW5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld09uY2VUcmFuczIiPnhtbEF1dG9tYXRhTmV3T25jZVRyYW5zMjwvYT48YnIgLz4KKzwvZGQ+PGR0PnN1Y2Vzc29yczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbENoZWNrTGFuZ3VhZ2VJRCI+eG1sQ2hlY2tMYW5ndWFnZUlEPC9hPjxiciAvPgorPC9kZD48ZHQ+c3VjaDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdUZXh0Q2hpbGQiPnhtbE5ld1RleHRDaGlsZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRW50aXR5UmVmIj54bWxQYXJzZUVudGl0eVJlZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTZXRQcm9wIj54bWxTZXRQcm9wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGl0eUVycm9yRnVuYyI+eG1sVmFsaWRpdHlFcnJvckZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkaXR5V2FybmluZ0Z1bmMiPnhtbFZhbGlkaXR5V2FybmluZ0Z1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTGFuZ0Z1bmN0aW9uIj54bWxYUGF0aExhbmdGdW5jdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb2RlU2V0RnJlZU5zIj54bWxYUGF0aE5vZGVTZXRGcmVlTnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUm91bmRGdW5jdGlvbiI+eG1sWFBhdGhSb3VuZEZ1bmN0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+c3VmZml4PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9NT0RVTEVfRVhURU5TSU9OIj5MSUJYTUxfTU9EVUxFX0VYVEVOU0lPTjwvYT48YnIgLz4KKzwvZGQ+PGR0PnN1Z2dlc3RlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNfaHRtbEVsZW1EZXNjIj5faHRtbEVsZW1EZXNjPC9hPjxiciAvPgorPC9kZD48ZHQ+c3VpdGFibGU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxOZXdJT0lucHV0U3RyZWFtIj54bWxOZXdJT0lucHV0U3RyZWFtPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYyI+eG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jIj54bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ2V4cENvbXBpbGUiPnhtbFJlZ2V4cENvbXBpbGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5zdW08L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU3Vic3RyaW5nRnVuY3Rpb24iPnhtbFhQYXRoU3Vic3RyaW5nRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU3VtRnVuY3Rpb24iPnhtbFhQYXRoU3VtRnVuY3Rpb248L2E+PGJyIC8+Cis8L2RkPjxkdD5zdXBlcjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxMb2FkU0dNTFN1cGVyQ2F0YWxvZyI+eG1sTG9hZFNHTUxTdXBlckNhdGFsb2c8L2E+PGJyIC8+Cis8L2RkPjxkdD5zdXBlci1zdHJpY3Q8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGVja1VURjgiPnhtbENoZWNrVVRGODwvYT48YnIgLz4KKzwvZGQ+PGR0PnN1cHBsaWVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxHZXRSZWZzIj54bWxHZXRSZWZzPC9hPjxiciAvPgorPC9kZD48ZHQ+c3VwcG9ydGVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBBZG9wdE5vZGUiPnhtbERPTVdyYXBBZG9wdE5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcENsb25lTm9kZSI+eG1sRE9NV3JhcENsb25lTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwUmVtb3ZlTm9kZSI+eG1sRE9NV3JhcFJlbW92ZU5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbEluaXRDaGFyRW5jb2RpbmdIYW5kbGVycyI+eG1sSW5pdENoYXJFbmNvZGluZ0hhbmRsZXJzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBHZXRDb25uZWN0aW9uIj54bWxOYW5vRlRQR2V0Q29ubmVjdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlQWRkQ29udGVudCI+eG1sTm9kZUFkZENvbnRlbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUFkZENvbnRlbnRMZW4iPnhtbE5vZGVBZGRDb250ZW50TGVuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hR2V0Q2Fub25WYWx1ZSI+eG1sU2NoZW1hR2V0Q2Fub25WYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUdldENhbm9uVmFsdWVXaHRzcCI+eG1sU2NoZW1hR2V0Q2Fub25WYWx1ZVdodHNwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlck5vcm1hbGl6YXRpb24iPnhtbFRleHRSZWFkZXJOb3JtYWxpemF0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+c3VwcG9zZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbElzTWl4ZWRFbGVtZW50Ij54bWxJc01peGVkRWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdDaGlsZCI+eG1sTmV3Q2hpbGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3RG9jTm9kZSI+eG1sTmV3RG9jTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdEb2NOb2RlRWF0TmFtZSI+eG1sTmV3RG9jTm9kZUVhdE5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUFkZENvbnRlbnQiPnhtbE5vZGVBZGRDb250ZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVBZGRDb250ZW50TGVuIj54bWxOb2RlQWRkQ29udGVudExlbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlU2V0Q29udGVudCI+eG1sTm9kZVNldENvbnRlbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVNldENvbnRlbnRMZW4iPnhtbE5vZGVTZXRDb250ZW50TGVuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3RyY2F0Ij54bWxTdHJjYXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJkdXAiPnhtbFN0cmR1cDwvYT48YnIgLz4KKzwvZGQ+PGR0PnN1cmU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1kaWN0Lmh0bWwjeG1sRGljdENsZWFudXAiPnhtbERpY3RDbGVhbnVwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2F2ZS5odG1sI3htbFNhdmVDbG9zZSI+eG1sU2F2ZUNsb3NlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2F2ZS5odG1sI3htbFNhdmVGbHVzaCI+eG1sU2F2ZUZsdXNoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sVVJJRXNjYXBlIj54bWxVUklFc2NhcGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9kZVNldEFkZFVuaXF1ZSI+eG1sWFBhdGhOb2RlU2V0QWRkVW5pcXVlPC9hPjxiciAvPgorPC9kZD48ZHQ+c3VycHJpc2luZzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sUmVnaXN0ZXJDaGFyRW5jb2RpbmdIYW5kbGVyIj54bWxSZWdpc3RlckNoYXJFbmNvZGluZ0hhbmRsZXI8L2E+PGJyIC8+Cis8L2RkPjxkdD5zdXJyb2dhdGU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNJU19DSEFSIj5JU19DSEFSPC9hPjxiciAvPgorPC9kZD48ZHQ+c3dpdGNoPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sS2VlcEJsYW5rc0RlZmF1bHQiPnhtbEtlZXBCbGFua3NEZWZhdWx0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VSZWZlcmVuY2UiPnhtbFBhcnNlUmVmZXJlbmNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUHVzaElucHV0Ij54bWxQdXNoSW5wdXQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5zeW1ib2w8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxtb2R1bGUuaHRtbCN4bWxNb2R1bGVTeW1ib2wiPnhtbE1vZHVsZVN5bWJvbDwvYT48YnIgLz4KKzwvZGQ+PGR0PnN5bmNocm9uaXppbmc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sTmV3TXV0ZXgiPnhtbE5ld011dGV4PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbE5ld1JNdXRleCI+eG1sTmV3Uk11dGV4PC9hPjxiciAvPgorPC9kZD48ZHQ+c3ludGF4PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VBdHRyaWJ1dGVUeXBlIj54bWxQYXJzZUF0dHJpYnV0ZVR5cGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5zeXN0ZW1hdGljYWxseTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sSXNJRCI+eG1sSXNJRDwvYT48YnIgLz4KKzwvZGQ+PC9kbD48aDIgYWxpZ249ImNlbnRlciI+PGEgaHJlZj0iQVBJY2h1bmswLmh0bWwiPkEtQjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMS5odG1sIj5DLUM8L2E+Cis8YSBocmVmPSJBUEljaHVuazIuaHRtbCI+RC1FPC9hPgorPGEgaHJlZj0iQVBJY2h1bmszLmh0bWwiPkYtSTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNC5odG1sIj5KLU48L2E+Cis8YSBocmVmPSJBUEljaHVuazUuaHRtbCI+Ty1QPC9hPgorPGEgaHJlZj0iQVBJY2h1bms2Lmh0bWwiPlEtUjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNy5odG1sIj5TLVM8L2E+Cis8YSBocmVmPSJBUEljaHVuazguaHRtbCI+VC1VPC9hPgorPGEgaHJlZj0iQVBJY2h1bms5Lmh0bWwiPlYtWDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTAuaHRtbCI+WS1hPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMS5odG1sIj5iLWI8L2E+Cis8YSBocmVmPSJBUEljaHVuazEyLmh0bWwiPmMtYzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTMuaHRtbCI+ZC1kPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNC5odG1sIj5lLWU8L2E+Cis8YSBocmVmPSJBUEljaHVuazE1Lmh0bWwiPmYtZjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTYuaHRtbCI+Zy1oPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNy5odG1sIj5pLWk8L2E+Cis8YSBocmVmPSJBUEljaHVuazE4Lmh0bWwiPmotbDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTkuaHRtbCI+bS1tPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMC5odG1sIj5uLW48L2E+Cis8YSBocmVmPSJBUEljaHVuazIxLmh0bWwiPm8tbzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjIuaHRtbCI+cC1wPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMy5odG1sIj5xLXI8L2E+Cis8YSBocmVmPSJBUEljaHVuazI0Lmh0bWwiPnMtczwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjUuaHRtbCI+dC10PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNi5odG1sIj51LXY8L2E+Cis8YSBocmVmPSJBUEljaHVuazI3Lmh0bWwiPnctdzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjguaHRtbCI+eC14PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyOS5odG1sIj55LXo8L2E+Cis8L2gyPjxwPjxhIGhyZWY9ImJ1Z3MuaHRtbCI+RGFuaWVsIFZlaWxsYXJkPC9hPjwvcD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvQVBJY2h1bmsyNS5odG1sIGIvbGlieG1sMi9kb2MvQVBJY2h1bmsyNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRlYzY1YmEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9BUEljaHVuazI1Lmh0bWwKQEAgLTAsMCArMSw0NTEgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+PGxpbmsgcmVsPSJTSE9SVENVVCBJQ09OIiBocmVmPSIvZmF2aWNvbi5pY28iIC8+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK1REIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitCT0RZIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2E7IG1hcmdpbi10b3A6IDJlbTsgbWFyZ2luLWxlZnQ6IDBlbTsgbWFyZ2luLXJpZ2h0OiAwZW19CitIMSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDIge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gzIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitBOmxpbmssIEE6dmlzaXRlZCwgQTphY3RpdmUgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB9Cis8L3N0eWxlPjx0aXRsZT5BUEkgQWxwaGFiZXRpYyBJbmRleCB0LXQgZm9yIGxpYnhtbDI8L3RpdGxlPjwvaGVhZD48Ym9keSBiZ2NvbG9yPSIjOGI3NzY1IiB0ZXh0PSIjMDAwMDAwIiBsaW5rPSIjYTA2MDYwIiB2bGluaz0iIzAwMDAwMCI+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjEwMCUiIGNlbGxwYWRkaW5nPSI1IiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCB3aWR0aD0iMTIwIj48YSBocmVmPSJodHRwOi8vc3dwYXQuZmZpaS5vcmcvIj48aW1nIHNyYz0iZXBhdGVudHMucG5nIiBhbHQ9IkFjdGlvbiBhZ2FpbnN0IHNvZnR3YXJlIHBhdGVudHMiIC8+PC9hPjwvdGQ+PHRkIHdpZHRoPSIxODAiPjxhIGhyZWY9Imh0dHA6Ly93d3cuZ25vbWUub3JnLyI+PGltZyBzcmM9Imdub21lMi5wbmciIGFsdD0iR25vbWUyIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1N0YXR1cyI+PGltZyBzcmM9InczYy5wbmciIGFsdD0iVzNDIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cucmVkaGF0LmNvbS8iPjxpbWcgc3JjPSJyZWRoYXQuZ2lmIiBhbHQ9IlJlZCBIYXQgTG9nbyIgLz48L2E+PGRpdiBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnLyI+PGltZyBzcmM9IkxpYnhtbDItTG9nby0xODB4MTY4LmdpZiIgYWx0PSJNYWRlIHdpdGggTGlieG1sMiBMb2dvIiAvPjwvYT48L2Rpdj48L3RkPjx0ZD48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iOTAlIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyIgYmdjb2xvcj0iI2ZmZmFjZCI+PHRyPjx0ZCBhbGlnbj0iY2VudGVyIj48aDE+VGhlIFhNTCBDIHBhcnNlciBhbmQgdG9vbGtpdCBvZiBHbm9tZTwvaDE+PGgyPkFQSSBBbHBoYWJldGljIEluZGV4IHQtdCBmb3IgbGlieG1sMjwvaDI+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjQiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiIHdpZHRoPSIxMDAlIj48dHI+PHRkIHZhbGlnbj0idG9wIiB3aWR0aD0iMjAwIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5EZXZlbG9wZXIgTWVudTwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48Zm9ybSBhY3Rpb249InNlYXJjaC5waHAiIGVuY3R5cGU9ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIgbWV0aG9kPSJnZXQiPjxpbnB1dCBuYW1lPSJxdWVyeSIgdHlwZT0idGV4dCIgc2l6ZT0iMjAiIHZhbHVlPSIiIC8+PGlucHV0IG5hbWU9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU2VhcmNoIC4uLiIgLz48L2Zvcm0+PHVsPjxsaT48YSBocmVmPSJpbmRleC5odG1sIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+TWFpbiBNZW51PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0bWwvaW5kZXguaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPlJlZmVyZW5jZSBNYW51YWw8L2E+PC9saT48bGk+PGEgaHJlZj0iZXhhbXBsZXMvaW5kZXguaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPkNvZGUgRXhhbXBsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iZ3VpZGVsaW5lcy5odG1sIj5YTUwgR3VpZGVsaW5lczwvYT48L2xpPjxsaT48YSBocmVmPSJ0dXRvcmlhbC9pbmRleC5odG1sIj5UdXRvcmlhbDwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWxyZWFkZXIuaHRtbCI+VGhlIFJlYWRlciBJbnRlcmZhY2U8L2E+PC9saT48bGk+PGEgaHJlZj0iQ2hhbmdlTG9nLmh0bWwiPkNoYW5nZUxvZzwvYT48L2xpPjxsaT48YSBocmVmPSJYU0xULmh0bWwiPlhTTFQ8L2E+PC9saT48bGk+PGEgaHJlZj0icHl0aG9uLmh0bWwiPlB5dGhvbiBhbmQgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iYXJjaGl0ZWN0dXJlLmh0bWwiPmxpYnhtbDIgYXJjaGl0ZWN0dXJlPC9hPjwvbGk+PGxpPjxhIGhyZWY9InRyZWUuaHRtbCI+VGhlIHRyZWUgb3V0cHV0PC9hPjwvbGk+PGxpPjxhIGhyZWY9ImludGVyZmFjZS5odG1sIj5UaGUgU0FYIGludGVyZmFjZTwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWxtZW0uaHRtbCI+TWVtb3J5IE1hbmFnZW1lbnQ8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1saW8uaHRtbCI+SS9PIEludGVyZmFjZXM8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlicmFyeS5odG1sIj5UaGUgcGFyc2VyIGludGVyZmFjZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iZW50aXRpZXMuaHRtbCI+RW50aXRpZXMgb3Igbm8gZW50aXRpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0ibmFtZXNwYWNlcy5odG1sIj5OYW1lc3BhY2VzPC9hPjwvbGk+PGxpPjxhIGhyZWY9InVwZ3JhZGUuaHRtbCI+VXBncmFkaW5nIDEueCBjb2RlPC9hPjwvbGk+PGxpPjxhIGhyZWY9InRocmVhZHMuaHRtbCI+VGhyZWFkIHNhZmV0eTwvYT48L2xpPjxsaT48YSBocmVmPSJET00uaHRtbCI+RE9NIFByaW5jaXBsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iZXhhbXBsZS5odG1sIj5BIHJlYWwgZXhhbXBsZTwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWwuaHRtbCI+ZmxhdCBwYWdlPC9hPiwgPGEgaHJlZj0ic2l0ZS54c2wiPnN0eWxlc2hlZXQ8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5BUEkgSW5kZXhlczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9IkFQSWNodW5rMC5odG1sIj5BbHBoYWJldGljPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkFQSWNvbnN0cnVjdG9ycy5odG1sIj5Db25zdHJ1Y3RvcnM8L2E+PC9saT48bGk+PGEgaHJlZj0iQVBJZnVuY3Rpb25zLmh0bWwiPkZ1bmN0aW9ucy9UeXBlczwvYT48L2xpPjxsaT48YSBocmVmPSJBUElmaWxlcy5odG1sIj5Nb2R1bGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkFQSXN5bWJvbHMuaHRtbCI+U3ltYm9sczwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPlJlbGF0ZWQgbGlua3M8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSJodHRwOi8vbWFpbC5nbm9tZS5vcmcvYXJjaGl2ZXMveG1sLyI+TWFpbCBhcmNoaXZlPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9YU0xULyI+WFNMVCBsaWJ4c2x0PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9waGQuY3MudW5pYm8uaXQvZ2RvbWUyLyI+RE9NIGdkb21lMjwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmFsZWtzZXkuY29tL3htbHNlYy8iPlhNTC1EU2lnIHhtbHNlYzwvYT48L2xpPjxsaT48YSBocmVmPSJmdHA6Ly94bWxzb2Z0Lm9yZy8iPkZUUDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnpsYXRrb3ZpYy5jb20vcHJvamVjdHMvbGlieG1sLyI+V2luZG93cyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vb3BlbmNzdy5vcmcvcGFja2FnZXMvbGlieG1sMiI+U29sYXJpcyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmV4cGxhaW4uY29tLmF1L29zcy9saWJ4bWwyeHNsdC5odG1sIj5NYWNPc1ggYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2x4bWwuZGUvIj5seG1sIFB5dGhvbiBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vY3Bhbi51d2lubmlwZWcuY2EvZGlzdC9YTUwtTGliWE1MIj5QZXJsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWxwbHVzcGx1cy5zb3VyY2Vmb3JnZS5uZXQvIj5DKysgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56ZW5kLmNvbS9waHA1L2FydGljbGVzL3BocDUteG1scGhwLnBocCNIZWFkaW5nNCI+UEhQIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbGlieG1sMi1wYXMvIj5QYXNjYWwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbC5ydWJ5Zm9yZ2Uub3JnLyI+UnVieSBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vdGNseG1sLnNvdXJjZWZvcmdlLm5ldC8iPlRjbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2J1Z2xpc3QuY2dpP3Byb2R1Y3Q9bGlieG1sMiI+QnVnIFRyYWNrZXI8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48aDIgYWxpZ249ImNlbnRlciI+PGEgaHJlZj0iQVBJY2h1bmswLmh0bWwiPkEtQjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMS5odG1sIj5DLUM8L2E+Cis8YSBocmVmPSJBUEljaHVuazIuaHRtbCI+RC1FPC9hPgorPGEgaHJlZj0iQVBJY2h1bmszLmh0bWwiPkYtSTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNC5odG1sIj5KLU48L2E+Cis8YSBocmVmPSJBUEljaHVuazUuaHRtbCI+Ty1QPC9hPgorPGEgaHJlZj0iQVBJY2h1bms2Lmh0bWwiPlEtUjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNy5odG1sIj5TLVM8L2E+Cis8YSBocmVmPSJBUEljaHVuazguaHRtbCI+VC1VPC9hPgorPGEgaHJlZj0iQVBJY2h1bms5Lmh0bWwiPlYtWDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTAuaHRtbCI+WS1hPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMS5odG1sIj5iLWI8L2E+Cis8YSBocmVmPSJBUEljaHVuazEyLmh0bWwiPmMtYzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTMuaHRtbCI+ZC1kPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNC5odG1sIj5lLWU8L2E+Cis8YSBocmVmPSJBUEljaHVuazE1Lmh0bWwiPmYtZjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTYuaHRtbCI+Zy1oPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNy5odG1sIj5pLWk8L2E+Cis8YSBocmVmPSJBUEljaHVuazE4Lmh0bWwiPmotbDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTkuaHRtbCI+bS1tPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMC5odG1sIj5uLW48L2E+Cis8YSBocmVmPSJBUEljaHVuazIxLmh0bWwiPm8tbzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjIuaHRtbCI+cC1wPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMy5odG1sIj5xLXI8L2E+Cis8YSBocmVmPSJBUEljaHVuazI0Lmh0bWwiPnMtczwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjUuaHRtbCI+dC10PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNi5odG1sIj51LXY8L2E+Cis8YSBocmVmPSJBUEljaHVuazI3Lmh0bWwiPnctdzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjguaHRtbCI+eC14PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyOS5odG1sIj55LXo8L2E+Cis8L2gyPjxoMj5MZXR0ZXIgdDo8L2gyPjxkbD48ZHQ+dGFnPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI19odG1sRWxlbURlc2MiPl9odG1sRWxlbURlc2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEF1dG9DbG9zZVRhZyI+aHRtbEF1dG9DbG9zZVRhZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sSXNBdXRvQ2xvc2VkIj5odG1sSXNBdXRvQ2xvc2VkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxUYWdMb29rdXAiPmh0bWxUYWdMb29rdXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNzdGFydEVsZW1lbnQiPnN0YXJ0RWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3N0YXJ0RWxlbWVudFNBWEZ1bmMiPnN0YXJ0RWxlbWVudFNBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVNldE5hbWUiPnhtbE5vZGVTZXROYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbmRUYWciPnhtbFBhcnNlRW5kVGFnPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VTdGFydFRhZyI+eG1sUGFyc2VTdGFydFRhZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyU3RhcnRFbGVtZW50Ij54bWxTQVgyU3RhcnRFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlckZ1bGxFbmRFbGVtZW50Ij54bWxUZXh0V3JpdGVyRnVsbEVuZEVsZW1lbnQ8L2E+PGJyIC8+Cis8L2RkPjxkdD50YWdnZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNpc1N0YW5kYWxvbmUiPmlzU3RhbmRhbG9uZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI2lzU3RhbmRhbG9uZVNBWEZ1bmMiPmlzU3RhbmRhbG9uZVNBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3TnNQcm9wIj54bWxOZXdOc1Byb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3TnNQcm9wRWF0TmFtZSI+eG1sTmV3TnNQcm9wRWF0TmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgySXNTdGFuZGFsb25lIj54bWxTQVgySXNTdGFuZGFsb25lPC9hPjxiciAvPgorPC9kZD48ZHQ+dGFnczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sQXV0b0Nsb3NlVGFnIj5odG1sQXV0b0Nsb3NlVGFnPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNodG1sR2V0TWV0YUVuY29kaW5nIj5odG1sR2V0TWV0YUVuY29kaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxIYW5kbGVPbWl0dGVkRWxlbSI+aHRtbEhhbmRsZU9taXR0ZWRFbGVtPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjaHRtbEluaXRBdXRvQ2xvc2UiPmh0bWxJbml0QXV0b0Nsb3NlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxJc0F1dG9DbG9zZWQiPmh0bWxJc0F1dG9DbG9zZWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI2h0bWxTZXRNZXRhRW5jb2RpbmciPmh0bWxTZXRNZXRhRW5jb2Rpbmc8L2E+PGJyIC8+Cis8L2RkPjxkdD50YWtlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbExvY2tMaWJyYXJ5Ij54bWxMb2NrTGlicmFyeTwvYT48YnIgLz4KKzwvZGQ+PGR0PnRha2VuPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERvY1NldFJvb3RFbGVtZW50Ij54bWxEb2NTZXRSb290RWxlbWVudDwvYT48YnIgLz4KKzwvZGQ+PGR0PnRha2VzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hVmFsaWRhdGVGYWNldFdodHNwIj54bWxTY2hlbWFWYWxpZGF0ZUZhY2V0V2h0c3A8L2E+PGJyIC8+Cis8L2RkPjxkdD50YXRrZXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBFeHBEZXJpdmUiPnhtbEV4cEV4cERlcml2ZTwvYT48YnIgLz4KKzwvZGQ+PGR0PnRlbGw8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfQ09NUExFVEVfQVRUUlMiPlhNTF9DT01QTEVURV9BVFRSUzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9ERVRFQ1RfSURTIj5YTUxfREVURUNUX0lEUzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9TS0lQX0lEUyI+WE1MX1NLSVBfSURTPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI19odG1sRWxlbURlc2MiPl9odG1sRWxlbURlc2M8L2E+PGJyIC8+Cis8L2RkPjxkdD50ZWxsczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQcmVzZXJ2ZSI+eG1sVGV4dFJlYWRlclByZXNlcnZlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclByZXNlcnZlUGF0dGVybiI+eG1sVGV4dFJlYWRlclByZXNlcnZlUGF0dGVybjwvYT48YnIgLz4KKzwvZGQ+PGR0PnRlbXBvcmFyeTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjX3htbFZhbGlkQ3R4dCI+X3htbFZhbGlkQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjX3htbFhQYXRoQ29udGV4dCI+X3htbFhQYXRoQ29udGV4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sSU9IVFRQT3BlblciPnhtbElPSFRUUE9wZW5XPC9hPjxiciAvPgorPC9kZD48ZHQ+dGVybWluYWw8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdFeGVjRXJySW5mbyI+eG1sUmVnRXhlY0VyckluZm88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdFeGVjTmV4dFZhbHVlcyI+eG1sUmVnRXhlY05leHRWYWx1ZXM8L2E+PGJyIC8+Cis8L2RkPjxkdD50ZXJtaW5hbHM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBQYXJzZSI+eG1sRXhwUGFyc2U8L2E+PGJyIC8+Cis8L2RkPjxkdD50ZXJtaW5hdGVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxDdHh0UmVhZERvYyI+aHRtbEN0eHRSZWFkRG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxSZWFkRG9jIj5odG1sUmVhZERvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI3N0YXJ0RWxlbWVudCI+c3RhcnRFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjc3RhcnRFbGVtZW50U0FYRnVuYyI+c3RhcnRFbGVtZW50U0FYRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJDQ2F0Ij54bWxCdWZmZXJDQ2F0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlckNhdCI+eG1sQnVmZmVyQ2F0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ3R4dFJlYWREb2MiPnhtbEN0eHRSZWFkRG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERvY0R1bXBNZW1vcnkiPnhtbERvY0R1bXBNZW1vcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBQYXJzZSI+eG1sRXhwUGFyc2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sR2V0TnNMaXN0Ij54bWxHZXROc0xpc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dEJ1ZmZlcldyaXRlRXNjYXBlIj54bWxPdXRwdXRCdWZmZXJXcml0ZUVzY2FwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmciPnhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5Ij54bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlSZWNvdmVyIj54bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlSZWNvdmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUmVhZERvYyI+eG1sUmVhZERvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFJlYWRlckZvckRvYyI+eG1sUmVhZGVyRm9yRG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sUmVhZGVyTmV3RG9jIj54bWxSZWFkZXJOZXdEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMlN0YXJ0RWxlbWVudCI+eG1sU0FYMlN0YXJ0RWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbFN0cmR1cEZ1bmMiPnhtbFN0cmR1cEZ1bmM8L2E+PGJyIC8+Cis8L2RkPjxkdD50ZXJtaW5hdGlvbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFN0cmNhdCI+eG1sU3RyY2F0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3RyZHVwIj54bWxTdHJkdXA8L2E+PGJyIC8+Cis8L2RkPjxkdD50ZXJtczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbEJ1aWxkUmVsYXRpdmVVUkkiPnhtbEJ1aWxkUmVsYXRpdmVVUkk8L2E+PGJyIC8+Cis8L2RkPjxkdD50ZXN0PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VySGFuZGxlUmVmZXJlbmNlIj54bWxQYXJzZXJIYW5kbGVSZWZlcmVuY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRXF1YWxWYWx1ZXMiPnhtbFhQYXRoRXF1YWxWYWx1ZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm90RXF1YWxWYWx1ZXMiPnhtbFhQYXRoTm90RXF1YWxWYWx1ZXM8L2E+PGJyIC8+Cis8L2RkPjxkdD50ZXN0ZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNfeG1sUGFyc2VySW5wdXQiPl94bWxQYXJzZXJJbnB1dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwQWRvcHROb2RlIj54bWxET01XcmFwQWRvcHROb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBSZWNvbmNpbGVOYW1lc3BhY2VzIj54bWxET01XcmFwUmVjb25jaWxlTmFtZXNwYWNlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwUmVtb3ZlTm9kZSI+eG1sRE9NV3JhcFJlbW92ZU5vZGU8L2E+PGJyIC8+Cis8L2RkPjxkdD50ZXN0aW5nPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnZXhwQ29tcGlsZSI+eG1sUmVnZXhwQ29tcGlsZTwvYT48YnIgLz4KKzwvZGQ+PGR0PnRleHQtPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbFN0cmVhbVB1c2hOb2RlIj54bWxTdHJlYW1QdXNoTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCN4bWxTdHJlYW1XYW50c0FueU5vZGUiPnhtbFN0cmVhbVdhbnRzQW55Tm9kZTwvYT48YnIgLz4KKzwvZGQ+PGR0PnRleHQtbm9kZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxJc0JsYW5rTm9kZSI+eG1sSXNCbGFua05vZGU8L2E+PGJyIC8+Cis8L2RkPjxkdD50ZXh0RGVjbD88L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUV4dGVybmFsU3Vic2V0Ij54bWxQYXJzZUV4dGVybmFsU3Vic2V0PC9hPjxiciAvPgorPC9kZD48ZHQ+dGhlaXI8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNPdXRGdW5jIj54bWxDaGFyRW5jT3V0RnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjeG1sRW5jb2RlRW50aXRpZXMiPnhtbEVuY29kZUVudGl0aWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxFbmNvZGVFbnRpdGllc1JlZW50cmFudCI+eG1sRW5jb2RlRW50aXRpZXNSZWVudHJhbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sTG9hZENhdGFsb2dzIj54bWxMb2FkQ2F0YWxvZ3M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3VGV4dENoaWxkIj54bWxOZXdUZXh0Q2hpbGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUxpc3RHZXRSYXdTdHJpbmciPnhtbE5vZGVMaXN0R2V0UmF3U3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVMaXN0R2V0U3RyaW5nIj54bWxOb2RlTGlzdEdldFN0cmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRW50aXR5UmVmIj54bWxQYXJzZUVudGl0eVJlZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxVbmxpbmtOb2RlIj54bWxVbmxpbmtOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEFkZFZhbHVlcyI+eG1sWFBhdGhBZGRWYWx1ZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRGl2VmFsdWVzIj54bWxYUGF0aERpdlZhbHVlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhJZEZ1bmN0aW9uIj54bWxYUGF0aElkRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTW9kVmFsdWVzIj54bWxYUGF0aE1vZFZhbHVlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhNdWx0VmFsdWVzIj54bWxYUGF0aE11bHRWYWx1ZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU3ViVmFsdWVzIj54bWxYUGF0aFN1YlZhbHVlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhWYWx1ZUZsaXBTaWduIj54bWxYUGF0aFZhbHVlRmxpcFNpZ248L2E+PGJyIC8+Cis8L2RkPjxkdD50aGVtPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwR2V0TGFuZ3VhZ2UiPnhtbEV4cEdldExhbmd1YWdlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwR2V0U3RhcnQiPnhtbEV4cEdldFN0YXJ0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwTmV3T3IiPnhtbEV4cE5ld09yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwTmV3U2VxIj54bWxFeHBOZXdTZXE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUFJlYWQiPnhtbE5hbm9GVFBSZWFkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUFJlYWQiPnhtbE5hbm9IVFRQUmVhZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQXR0VmFsdWUiPnhtbFBhcnNlQXR0VmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUF0dHJpYnV0ZVR5cGUiPnhtbFBhcnNlQXR0cmlidXRlVHlwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ0V4ZWNFcnJJbmZvIj54bWxSZWdFeGVjRXJySW5mbzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ0V4ZWNOZXh0VmFsdWVzIj54bWxSZWdFeGVjTmV4dFZhbHVlczwvYT48YnIgLz4KKzwvZGQ+PGR0PnRoZXNlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI19odG1sRWxlbURlc2MiPl9odG1sRWxlbURlc2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGVja1VURjgiPnhtbENoZWNrVVRGODwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlU0REZWNsIj54bWxQYXJzZVNERGVjbDwvYT48YnIgLz4KKzwvZGQ+PGR0PnRoZXk8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjX2h0bWxFbGVtRGVzYyI+X2h0bWxFbGVtRGVzYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJEZXRhY2giPnhtbEJ1ZmZlckRldGFjaDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbENyZWF0ZVB1c2hQYXJzZXJDdHh0Ij54bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFN0ckVxdWFsIj54bWxTdHJFcXVhbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFN0clFFcXVhbCI+eG1sU3RyUUVxdWFsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3RyY2F0Ij54bWxTdHJjYXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJkdXAiPnhtbFN0cmR1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxVbmxpbmtOb2RlIj54bWxVbmxpbmtOb2RlPC9hPjxiciAvPgorPC9kZD48ZHQ+dGhpcmQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaEFkZEVudHJ5MyI+eG1sSGFzaEFkZEVudHJ5MzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoTG9va3VwMyI+eG1sSGFzaExvb2t1cDM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFFMb29rdXAzIj54bWxIYXNoUUxvb2t1cDM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFJlbW92ZUVudHJ5MyI+eG1sSGFzaFJlbW92ZUVudHJ5MzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoU2NhbjMiPnhtbEhhc2hTY2FuMzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoU2NhbkZ1bGwzIj54bWxIYXNoU2NhbkZ1bGwzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hTY2FubmVyRnVsbCI+eG1sSGFzaFNjYW5uZXJGdWxsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hVcGRhdGVFbnRyeTMiPnhtbEhhc2hVcGRhdGVFbnRyeTM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU3Vic3RyaW5nRnVuY3Rpb24iPnhtbFhQYXRoU3Vic3RyaW5nRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoVHJhbnNsYXRlRnVuY3Rpb24iPnhtbFhQYXRoVHJhbnNsYXRlRnVuY3Rpb248L2E+PGJyIC8+Cis8L2RkPjxkdD50aGlzPzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNfeG1sU2NoZW1hVHlwZSI+X3htbFNjaGVtYVR5cGU8L2E+PGJyIC8+Cis8L2RkPjxkdD50aG9zZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbENoZWNrTGFuZ3VhZ2VJRCI+eG1sQ2hlY2tMYW5ndWFnZUlEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sS2VlcEJsYW5rc0RlZmF1bHQiPnhtbEtlZXBCbGFua3NEZWZhdWx0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VTRERlY2wiPnhtbFBhcnNlU0REZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkYXRlU2V0TG9jYXRvciI+eG1sU2NoZW1hVmFsaWRhdGVTZXRMb2NhdG9yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNlYXJjaE5zIj54bWxTZWFyY2hOczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdWJzdHJpbmdGdW5jdGlvbiI+eG1sWFBhdGhTdWJzdHJpbmdGdW5jdGlvbjwvYT48YnIgLz4KKzwvZGQ+PGR0PnRob3VnaDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxEb2NEdW1wTWVtb3J5Ij54bWxEb2NEdW1wTWVtb3J5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxOb05ldEV4dGVybmFsRW50aXR5TG9hZGVyIj54bWxOb05ldEV4dGVybmFsRW50aXR5TG9hZGVyPC9hPjxiciAvPgorPC9kZD48ZHQ+dGhyZWFkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9USFJFQURfRU5BQkxFRCI+TElCWE1MX1RIUkVBRF9FTkFCTEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ2xlYW51cFBhcnNlciI+eG1sQ2xlYW51cFBhcnNlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRocmVhZHMuaHRtbCN4bWxDbGVhbnVwVGhyZWFkcyI+eG1sQ2xlYW51cFRocmVhZHM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sR2V0R2xvYmFsU3RhdGUiPnhtbEdldEdsb2JhbFN0YXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxHZXRMYXN0RXJyb3IiPnhtbEdldExhc3RFcnJvcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRocmVhZHMuaHRtbCN4bWxHZXRUaHJlYWRJZCI+eG1sR2V0VGhyZWFkSWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sSW5pdFRocmVhZHMiPnhtbEluaXRUaHJlYWRzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbEluaXRpYWxpemVDYXRhbG9nIj54bWxJbml0aWFsaXplQ2F0YWxvZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRocmVhZHMuaHRtbCN4bWxJc01haW5UaHJlYWQiPnhtbElzTWFpblRocmVhZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxMb2FkQ2F0YWxvZyI+eG1sTG9hZENhdGFsb2c8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sTG9hZENhdGFsb2dzIj54bWxMb2FkQ2F0YWxvZ3M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI3htbFNldEdlbmVyaWNFcnJvckZ1bmMiPnhtbFNldEdlbmVyaWNFcnJvckZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI3htbFNldFN0cnVjdHVyZWRFcnJvckZ1bmMiPnhtbFNldFN0cnVjdHVyZWRFcnJvckZ1bmM8L2E+PGJyIC8+Cis8L2RkPjxkdD50aHJvdWdoPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sQnVpbGRSZWxhdGl2ZVVSSSI+eG1sQnVpbGRSZWxhdGl2ZVVSSTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbENyZWF0ZVB1c2hQYXJzZXJDdHh0Ij54bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbERlY29kZUVudGl0aWVzIj54bWxEZWNvZGVFbnRpdGllczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbE5vcm1hbGl6ZVVSSVBhdGgiPnhtbE5vcm1hbGl6ZVVSSVBhdGg8L2E+PGJyIC8+Cis8L2RkPjxkdD50aHVtYmxlcnM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsUHdkIj54bWxTaGVsbFB3ZDwvYT48YnIgLz4KKzwvZGQ+PGR0PnRodXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcFJlbW92ZU5vZGUiPnhtbERPTVdyYXBSZW1vdmVOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbE5ld1JNdXRleCI+eG1sTmV3Uk11dGV4PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHRBbmNlc3RvciI+eG1sWFBhdGhOZXh0QW5jZXN0b3I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV4dEFuY2VzdG9yT3JTZWxmIj54bWxYUGF0aE5leHRBbmNlc3Rvck9yU2VsZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXh0RGVzY2VuZGFudE9yU2VsZiI+eG1sWFBhdGhOZXh0RGVzY2VuZGFudE9yU2VsZjwvYT48YnIgLz4KKzwvZGQ+PGR0PnRpZ2h0PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEdldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUiPnhtbEdldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWU8L2E+PGJyIC8+Cis8L2RkPjxkdD50aW1lPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwRXhwRGVyaXZlIj54bWxFeHBFeHBEZXJpdmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQXhpc0Z1bmMiPnhtbFhQYXRoQXhpc0Z1bmM8L2E+PGJyIC8+Cis8L2RkPjxkdD50aXRsZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhsaW5rLmh0bWwjeGxpbmtTaW1wbGVMaW5rRnVuayI+eGxpbmtTaW1wbGVMaW5rRnVuazwvYT48YnIgLz4KKzwvZGQ+PGR0PnRpdGxlczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhsaW5rLmh0bWwjeGxpbmtFeHRlbmRlZExpbmtGdW5rIj54bGlua0V4dGVuZGVkTGlua0Z1bms8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bGluay5odG1sI3hsaW5rRXh0ZW5kZWRMaW5rU2V0RnVuayI+eGxpbmtFeHRlbmRlZExpbmtTZXRGdW5rPC9hPjxiciAvPgorPC9kZD48ZHQ+dG9kbzo8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI194bWxFcnJvciI+X3htbEVycm9yPC9hPjxiciAvPgorPC9kZD48ZHQ+dG9rZW48L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhTmV3Q291bnRUcmFucyI+eG1sQXV0b21hdGFOZXdDb3VudFRyYW5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld0NvdW50VHJhbnMyIj54bWxBdXRvbWF0YU5ld0NvdW50VHJhbnMyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld09uY2VUcmFucyI+eG1sQXV0b21hdGFOZXdPbmNlVHJhbnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhTmV3T25jZVRyYW5zMiI+eG1sQXV0b21hdGFOZXdPbmNlVHJhbnMyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbEZyZWVNdXRleCI+eG1sRnJlZU11dGV4PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbE11dGV4TG9jayI+eG1sTXV0ZXhMb2NrPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbE11dGV4VW5sb2NrIj54bWxNdXRleFVubG9jazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRocmVhZHMuaHRtbCN4bWxOZXdNdXRleCI+eG1sTmV3TXV0ZXg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdFeGVjQ2FsbGJhY2tzIj54bWxSZWdFeGVjQ2FsbGJhY2tzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnRXhlY1B1c2hTdHJpbmciPnhtbFJlZ0V4ZWNQdXNoU3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnRXhlY1B1c2hTdHJpbmcyIj54bWxSZWdFeGVjUHVzaFN0cmluZzI8L2E+PGJyIC8+Cis8L2RkPjxkdD50b2tlbl9yPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbE5ld1JNdXRleCI+eG1sTmV3Uk11dGV4PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbFJNdXRleExvY2siPnhtbFJNdXRleExvY2s8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sUk11dGV4VW5sb2NrIj54bWxSTXV0ZXhVbmxvY2s8L2E+PGJyIC8+Cis8L2RkPjxkdD50b2tlbnM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBHZXRMYW5ndWFnZSI+eG1sRXhwR2V0TGFuZ3VhZ2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBHZXRTdGFydCI+eG1sRXhwR2V0U3RhcnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVudW1lcmF0aW9uVHlwZSI+eG1sUGFyc2VFbnVtZXJhdGlvblR5cGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoSWRGdW5jdGlvbiI+eG1sWFBhdGhJZEZ1bmN0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+dG9vPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjREVCVUdfTUVNT1JZIj5ERUJVR19NRU1PUlk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI2h0bWxOb2RlRHVtcCI+aHRtbE5vZGVEdW1wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNodG1sTm9kZUR1bXBGaWxlIj5odG1sTm9kZUR1bXBGaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNodG1sTm9kZUR1bXBGaWxlRm9ybWF0Ij5odG1sTm9kZUR1bXBGaWxlRm9ybWF0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNodG1sTm9kZUR1bXBGb3JtYXRPdXRwdXQiPmh0bWxOb2RlRHVtcEZvcm1hdE91dHB1dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwjaHRtbE5vZGVEdW1wT3V0cHV0Ij5odG1sTm9kZUR1bXBPdXRwdXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmTm9kZUR1bXAiPnhtbEJ1Zk5vZGVEdW1wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sQ2hlY2tMYW5ndWFnZUlEIj54bWxDaGVja0xhbmd1YWdlSUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQ29weURvYyI+eG1sQ29weURvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxFbGVtRHVtcCI+eG1sRWxlbUR1bXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRnJlZU5vZGUiPnhtbEZyZWVOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEZyZWVOb2RlTGlzdCI+eG1sRnJlZU5vZGVMaXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEZyZWVQcm9wIj54bWxGcmVlUHJvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxGcmVlUHJvcExpc3QiPnhtbEZyZWVQcm9wTGlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjeG1sR2V0RG9jRW50aXR5Ij54bWxHZXREb2NFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUR1bXAiPnhtbE5vZGVEdW1wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVEdW1wT3V0cHV0Ij54bWxOb2RlRHVtcE91dHB1dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRWxlbWVudE1peGVkQ29udGVudERlY2wiPnhtbFBhcnNlRWxlbWVudE1peGVkQ29udGVudERlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sUmVtb3ZlUHJvcCI+eG1sUmVtb3ZlUHJvcDwvYT48YnIgLz4KKzwvZGQ+PGR0PnRvcDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjQ0FTVF9UT19CT09MRUFOIj5DQVNUX1RPX0JPT0xFQU48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI0NBU1RfVE9fTlVNQkVSIj5DQVNUX1RPX05VTUJFUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjQ0FTVF9UT19TVFJJTkciPkNBU1RfVE9fU1RSSU5HPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCNDSEVDS19UWVBFIj5DSEVDS19UWVBFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCNDSEVDS19UWVBFMCI+Q0hFQ0tfVFlQRTA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfRUxFTV9UT1BMRVZFTCI+WE1MX1NDSEVNQVNfRUxFTV9UT1BMRVZFTDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI2lucHV0UG9wIj5pbnB1dFBvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI2lucHV0UHVzaCI+aW5wdXRQdXNoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjbmFtZVBvcCI+bmFtZVBvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI25hbWVQdXNoIj5uYW1lUHVzaDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI25vZGVQb3AiPm5vZGVQb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNub2RlUHVzaCI+bm9kZVB1c2g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3ZhbHVlUG9wIj52YWx1ZVBvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjdmFsdWVQdXNoIj52YWx1ZVB1c2g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxOYW1lc3BhY2VQYXJzZU5DTmFtZSI+eG1sTmFtZXNwYWNlUGFyc2VOQ05hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxOYW1lc3BhY2VQYXJzZU5TRGVmIj54bWxOYW1lc3BhY2VQYXJzZU5TRGVmPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sTmFtZXNwYWNlUGFyc2VRTmFtZSI+eG1sTmFtZXNwYWNlUGFyc2VRTmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sUG9wSW5wdXRDYWxsYmFja3MiPnhtbFBvcElucHV0Q2FsbGJhY2tzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUHVzaElucHV0Ij54bWxQdXNoSW5wdXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sUmVjb25jaWxpYXRlTnMiPnhtbFJlY29uY2lsaWF0ZU5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2F2ZS5odG1sI3htbFNhdmVUcmVlIj54bWxTYXZlVHJlZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTZXRUcmVlRG9jIj54bWxTZXRUcmVlRG9jPC9hPjxiciAvPgorPC9kZD48ZHQ+dG90YWw8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI194bWxPdXRwdXRCdWZmZXIiPl94bWxPdXRwdXRCdWZmZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxHZXRGZWF0dXJlc0xpc3QiPnhtbEdldEZlYXR1cmVzTGlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFVURjhTdHJzdWIiPnhtbFVURjhTdHJzdWI8L2E+PGJyIC8+Cis8L2RkPjxkdD50b3VjaDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI194bWxQYXJzZXJDdHh0Ij5feG1sUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzwvZGQ+PGR0PnRyYWNrPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sRW50aXR5UmVmZXJlbmNlRnVuYyI+eG1sRW50aXR5UmVmZXJlbmNlRnVuYzwvYT48YnIgLz4KKzwvZGQ+PGR0PnRyYWNraW5nPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxQYXJzZXJQcmludEZpbGVDb250ZXh0Ij54bWxQYXJzZXJQcmludEZpbGVDb250ZXh0PC9hPjxiciAvPgorPC9kZD48ZHQ+dHJhaWxpbmc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUF0dFZhbHVlIj54bWxQYXJzZUF0dFZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZEN0eHROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZSI+eG1sVmFsaWRDdHh0Tm9ybWFsaXplQXR0cmlidXRlVmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkTm9ybWFsaXplQXR0cmlidXRlVmFsdWUiPnhtbFZhbGlkTm9ybWFsaXplQXR0cmlidXRlVmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9kZVRyYWlsaW5nIj54bWxYUGF0aE5vZGVUcmFpbGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb2RlVHJhaWxpbmdTb3J0ZWQiPnhtbFhQYXRoTm9kZVRyYWlsaW5nU29ydGVkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vcm1hbGl6ZUZ1bmN0aW9uIj54bWxYUGF0aE5vcm1hbGl6ZUZ1bmN0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFRyYWlsaW5nIj54bWxYUGF0aFRyYWlsaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFRyYWlsaW5nU29ydGVkIj54bWxYUGF0aFRyYWlsaW5nU29ydGVkPC9hPjxiciAvPgorPC9kZD48ZHQ+dHJhbmNvZGluZzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTYXZlRmlsZVRvIj54bWxTYXZlRmlsZVRvPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNhdmVGb3JtYXRGaWxlVG8iPnhtbFNhdmVGb3JtYXRGaWxlVG88L2E+PGJyIC8+Cis8L2RkPjxkdD50cmFuc2FjdGlvbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9odHRwLmh0bWwjeG1sTmFub0hUVFBTYXZlIj54bWxOYW5vSFRUUFNhdmU8L2E+PGJyIC8+Cis8L2RkPjxkdD50cmFuc2NvZGluZzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNVVEY4VG9IdG1sIj5VVEY4VG9IdG1sPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCNVVEY4VG9pc29sYXQxIj5VVEY4VG9pc29sYXQxPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtRE9DQnBhcnNlci5odG1sI2RvY2JFbmNvZGVFbnRpdGllcyI+ZG9jYkVuY29kZUVudGl0aWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxFbmNvZGVFbnRpdGllcyI+aHRtbEVuY29kZUVudGl0aWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jRmlyc3RMaW5lIj54bWxDaGFyRW5jRmlyc3RMaW5lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jSW5GdW5jIj54bWxDaGFyRW5jSW5GdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jT3V0RnVuYyI+eG1sQ2hhckVuY091dEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZ0lucHV0RnVuYyI+eG1sQ2hhckVuY29kaW5nSW5wdXRGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmdPdXRwdXRGdW5jIj54bWxDaGFyRW5jb2RpbmdPdXRwdXRGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRCdWZmZXJXcml0ZSI+eG1sT3V0cHV0QnVmZmVyV3JpdGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dEJ1ZmZlcldyaXRlRXNjYXBlIj54bWxPdXRwdXRCdWZmZXJXcml0ZUVzY2FwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmciPnhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlckdyb3ciPnhtbFBhcnNlcklucHV0QnVmZmVyR3JvdzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJQdXNoIj54bWxQYXJzZXJJbnB1dEJ1ZmZlclB1c2g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyUmVhZCI+eG1sUGFyc2VySW5wdXRCdWZmZXJSZWFkPC9hPjxiciAvPgorPC9kZD48ZHQ+dHJhbnNmZXJlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlUEkiPnhtbFBhcnNlUEk8L2E+PGJyIC8+Cis8L2RkPjxkdD50cmFuc2Zvcm1hdGlvbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY0Nsb3NlRnVuYyI+eG1sQ2hhckVuY0Nsb3NlRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY0ZpcnN0TGluZSI+eG1sQ2hhckVuY0ZpcnN0TGluZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY0luRnVuYyI+eG1sQ2hhckVuY0luRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY091dEZ1bmMiPnhtbENoYXJFbmNPdXRGdW5jPC9hPjxiciAvPgorPC9kZD48ZHQ+dHJhbnNmb3JtZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR0R1bXBUcmVlIj54bWxSZWxheE5HRHVtcFRyZWU8L2E+PGJyIC8+Cis8L2RkPjxkdD50cmFuc2l0aW9uczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdBbGxUcmFucyI+eG1sQXV0b21hdGFOZXdBbGxUcmFuczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ0V4ZWNFcnJJbmZvIj54bWxSZWdFeGVjRXJySW5mbzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ0V4ZWNOZXh0VmFsdWVzIj54bWxSZWdFeGVjTmV4dFZhbHVlczwvYT48YnIgLz4KKzwvZGQ+PGR0PnRyYW5zbGF0ZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhUcmFuc2xhdGVGdW5jdGlvbiI+eG1sWFBhdGhUcmFuc2xhdGVGdW5jdGlvbjwvYT48YnIgLz4KKzwvZGQ+PGR0PnRyYW5zbGF0aW9uPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sVVJJVW5lc2NhcGVTdHJpbmciPnhtbFVSSVVuZXNjYXBlU3RyaW5nPC9hPjxiciAvPgorPC9kZD48ZHQ+dHJhbnNtaXQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNlcnJvclNBWEZ1bmMiPmVycm9yU0FYRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI2ZhdGFsRXJyb3JTQVhGdW5jIj5mYXRhbEVycm9yU0FYRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3dhcm5pbmdTQVhGdW5jIj53YXJuaW5nU0FYRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sUGFyc2VyRXJyb3IiPnhtbFBhcnNlckVycm9yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxQYXJzZXJWYWxpZGl0eUVycm9yIj54bWxQYXJzZXJWYWxpZGl0eUVycm9yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxQYXJzZXJWYWxpZGl0eVdhcm5pbmciPnhtbFBhcnNlclZhbGlkaXR5V2FybmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sUGFyc2VyV2FybmluZyI+eG1sUGFyc2VyV2FybmluZzwvYT48YnIgLz4KKzwvZGQ+PGR0PnRyYW5zcG9ydDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQQ2xvc2UiPnhtbE5hbm9GVFBDbG9zZTwvYT48YnIgLz4KKzwvZGQ+PGR0PnRyYXZlcnNhbDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxDaGlsZEVsZW1lbnRDb3VudCI+eG1sQ2hpbGRFbGVtZW50Q291bnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRmlyc3RFbGVtZW50Q2hpbGQiPnhtbEZpcnN0RWxlbWVudENoaWxkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbExhc3RFbGVtZW50Q2hpbGQiPnhtbExhc3RFbGVtZW50Q2hpbGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV4dEVsZW1lbnRTaWJsaW5nIj54bWxOZXh0RWxlbWVudFNpYmxpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sUHJldmlvdXNFbGVtZW50U2libGluZyI+eG1sUHJldmlvdXNFbGVtZW50U2libGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhBeGlzRnVuYyI+eG1sWFBhdGhBeGlzRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXh0QW5jZXN0b3IiPnhtbFhQYXRoTmV4dEFuY2VzdG9yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHRBbmNlc3Rvck9yU2VsZiI+eG1sWFBhdGhOZXh0QW5jZXN0b3JPclNlbGY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV4dEF0dHJpYnV0ZSI+eG1sWFBhdGhOZXh0QXR0cmlidXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHRDaGlsZCI+eG1sWFBhdGhOZXh0Q2hpbGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV4dERlc2NlbmRhbnQiPnhtbFhQYXRoTmV4dERlc2NlbmRhbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV4dERlc2NlbmRhbnRPclNlbGYiPnhtbFhQYXRoTmV4dERlc2NlbmRhbnRPclNlbGY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV4dEZvbGxvd2luZyI+eG1sWFBhdGhOZXh0Rm9sbG93aW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHRGb2xsb3dpbmdTaWJsaW5nIj54bWxYUGF0aE5leHRGb2xsb3dpbmdTaWJsaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHROYW1lc3BhY2UiPnhtbFhQYXRoTmV4dE5hbWVzcGFjZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXh0UGFyZW50Ij54bWxYUGF0aE5leHRQYXJlbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV4dFByZWNlZGluZyI+eG1sWFBhdGhOZXh0UHJlY2VkaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHRQcmVjZWRpbmdTaWJsaW5nIj54bWxYUGF0aE5leHRQcmVjZWRpbmdTaWJsaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHRTZWxmIj54bWxYUGF0aE5leHRTZWxmPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyTmV3Q29udGV4dCI+eG1sWFB0ck5ld0NvbnRleHQ8L2E+PGJyIC8+Cis8L2RkPjxkdD50cmF2ZXJzZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhBeGlzRnVuYyI+eG1sWFBhdGhBeGlzRnVuYzwvYT48YnIgLz4KKzwvZGQ+PGR0PnRyZWFtaW5nPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjX3htbFBhcnNlckN0eHQiPl94bWxQYXJzZXJDdHh0PC9hPjxiciAvPgorPC9kZD48ZHQ+dHJlYXRlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQXR0VmFsdWUiPnhtbFBhcnNlQXR0VmFsdWU8L2E+PGJyIC8+Cis8L2RkPjxkdD50cmllZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFJlY292ZXJEb2MiPnhtbFJlY292ZXJEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxSZWNvdmVyTWVtb3J5Ij54bWxSZWNvdmVyTWVtb3J5PC9hPjxiciAvPgorPC9kZD48ZHQ+dHJpZXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNJTlBVVF9DSFVOSyI+SU5QVVRfQ0hVTks8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bGluay5odG1sI3hsaW5rSXNMaW5rIj54bGlua0lzTGluazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbENsZWFudXBQYXJzZXIiPnhtbENsZWFudXBQYXJzZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUFJlYWQiPnhtbE5hbm9GVFBSZWFkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUFJlYWQiPnhtbE5hbm9IVFRQUmVhZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlcklucHV0R3JvdyI+eG1sUGFyc2VySW5wdXRHcm93PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYUGFyc2VEb2MiPnhtbFNBWFBhcnNlRG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYUGFyc2VGaWxlIj54bWxTQVhQYXJzZUZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxTQVhQYXJzZUZpbGVXaXRoRGF0YSI+eG1sU0FYUGFyc2VGaWxlV2l0aERhdGE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxTQVhQYXJzZU1lbW9yeSI+eG1sU0FYUGFyc2VNZW1vcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxTQVhQYXJzZU1lbW9yeVdpdGhEYXRhIj54bWxTQVhQYXJzZU1lbW9yeVdpdGhEYXRhPC9hPjxiciAvPgorPC9kZD48ZHQ+dHJpbzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNXSVRIT1VUX1RSSU8iPldJVEhPVVRfVFJJTzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNXSVRIX1RSSU8iPldJVEhfVFJJTzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhJc0luZiI+eG1sWFBhdGhJc0luZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhJc05hTiI+eG1sWFBhdGhJc05hTjwvYT48YnIgLz4KKzwvZGQ+PGR0PnRyb3VibGVzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjX3htbFBhcnNlcklucHV0Ij5feG1sUGFyc2VySW5wdXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2VhcmNoTnMiPnhtbFNlYXJjaE5zPC9hPjxiciAvPgorPC9kZD48ZHQ+dHJ5PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCNDQVNUX1RPX0JPT0xFQU4iPkNBU1RfVE9fQk9PTEVBTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjQ0FTVF9UT19OVU1CRVIiPkNBU1RfVE9fTlVNQkVSPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCNDQVNUX1RPX1NUUklORyI+Q0FTVF9UT19TVFJJTkc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjVVRGOFRvSHRtbCI+VVRGOFRvSHRtbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjVVRGOFRvaXNvbGF0MSI+VVRGOFRvaXNvbGF0MTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI194bWxQYXJzZXJDdHh0Ij5feG1sUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiRW5jb2RlRW50aXRpZXMiPmRvY2JFbmNvZGVFbnRpdGllczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sRW5jb2RlRW50aXRpZXMiPmh0bWxFbmNvZGVFbnRpdGllczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwjaHRtbE5vZGVEdW1wRmlsZUZvcm1hdCI+aHRtbE5vZGVEdW1wRmlsZUZvcm1hdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjaXNvbGF0MVRvVVRGOCI+aXNvbGF0MVRvVVRGODwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhsaW5rLmh0bWwjeGxpbmtJc0xpbmsiPnhsaW5rSXNMaW5rPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmdJbnB1dEZ1bmMiPnhtbENoYXJFbmNvZGluZ0lucHV0RnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYyI+eG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbENoZWNrTGFuZ3VhZ2VJRCI+eG1sQ2hlY2tMYW5ndWFnZUlEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxGaWxlT3BlbiI+eG1sRmlsZU9wZW48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxLZWVwQmxhbmtzRGVmYXVsdCI+eG1sS2VlcEJsYW5rc0RlZmF1bHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQRmV0Y2giPnhtbE5hbm9IVFRQRmV0Y2g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQTWV0aG9kIj54bWxOYW5vSFRUUE1ldGhvZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9odHRwLmh0bWwjeG1sTmFub0hUVFBNZXRob2RSZWRpciI+eG1sTmFub0hUVFBNZXRob2RSZWRpcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9odHRwLmh0bWwjeG1sTmFub0hUVFBPcGVuIj54bWxOYW5vSFRUUE9wZW48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQT3BlblJlZGlyIj54bWxOYW5vSFRUUE9wZW5SZWRpcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxSZWNvbmNpbGlhdGVOcyI+eG1sUmVjb25jaWxpYXRlTnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxVUklFc2NhcGUiPnhtbFVSSUVzY2FwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVSb290Ij54bWxWYWxpZGF0ZVJvb3Q8L2E+PGJyIC8+Cis8L2RkPjxkdD50dHJpYnV0ZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJSZWFkQXR0cmlidXRlVmFsdWUiPnhtbFRleHRSZWFkZXJSZWFkQXR0cmlidXRlVmFsdWU8L2E+PGJyIC8+Cis8L2RkPjxkdD50dW5lPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlclNldEFsbG9jYXRpb25TY2hlbWUiPnhtbEJ1ZmZlclNldEFsbG9jYXRpb25TY2hlbWU8L2E+PGJyIC8+Cis8L2RkPjxkdD50dXBsZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoQWRkRW50cnkyIj54bWxIYXNoQWRkRW50cnkyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hBZGRFbnRyeTMiPnhtbEhhc2hBZGRFbnRyeTM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaExvb2t1cDIiPnhtbEhhc2hMb29rdXAyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hMb29rdXAzIj54bWxIYXNoTG9va3VwMzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoUUxvb2t1cDIiPnhtbEhhc2hRTG9va3VwMjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoUUxvb2t1cDMiPnhtbEhhc2hRTG9va3VwMzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoUmVtb3ZlRW50cnkiPnhtbEhhc2hSZW1vdmVFbnRyeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoUmVtb3ZlRW50cnkyIj54bWxIYXNoUmVtb3ZlRW50cnkyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hSZW1vdmVFbnRyeTMiPnhtbEhhc2hSZW1vdmVFbnRyeTM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFNjYW4zIj54bWxIYXNoU2NhbjM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFNjYW5GdWxsMyI+eG1sSGFzaFNjYW5GdWxsMzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoVXBkYXRlRW50cnkyIj54bWxIYXNoVXBkYXRlRW50cnkyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hVcGRhdGVFbnRyeTMiPnhtbEhhc2hVcGRhdGVFbnRyeTM8L2E+PGJyIC8+Cis8L2RkPjxkdD50dXBsZXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaEFkZEVudHJ5MiI+eG1sSGFzaEFkZEVudHJ5MjwvYT48YnIgLz4KKzwvZGQ+PGR0PnR1cm48L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbEJvb2xUb1RleHQiPnhtbEJvb2xUb1RleHQ8L2E+PGJyIC8+Cis8L2RkPjxkdD50dXJuZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sR2V0Tm9Oc1Byb3AiPnhtbEdldE5vTnNQcm9wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEdldE5zUHJvcCI+eG1sR2V0TnNQcm9wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEdldFByb3AiPnhtbEdldFByb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sSGFzTnNQcm9wIj54bWxIYXNOc1Byb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sSGFzUHJvcCI+eG1sSGFzUHJvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbExpbmVOdW1iZXJzRGVmYXVsdCI+eG1sTGluZU51bWJlcnNEZWZhdWx0PC9hPjxiciAvPgorPC9kZD48ZHQ+dHdvPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjX3htbFBhcnNlckN0eHQiPl94bWxQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWVtRGlzcGxheUxhc3QiPnhtbE1lbURpc3BsYXlMYXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3RybmNhdE5ldyI+eG1sU3RybmNhdE5ldzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxUZXh0TWVyZ2UiPnhtbFRleHRNZXJnZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFVURjhDaGFyY21wIj54bWxVVEY4Q2hhcmNtcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDbXBOb2RlcyI+eG1sWFBhdGhDbXBOb2RlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhEaWZmZXJlbmNlIj54bWxYUGF0aERpZmZlcmVuY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9kZVNldE1lcmdlIj54bWxYUGF0aE5vZGVTZXRNZXJnZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhSb3VuZEZ1bmN0aW9uIj54bWxYUGF0aFJvdW5kRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJMb2NhdGlvblNldE1lcmdlIj54bWxYUHRyTG9jYXRpb25TZXRNZXJnZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ck5ld0xvY2F0aW9uU2V0Tm9kZXMiPnhtbFhQdHJOZXdMb2NhdGlvblNldE5vZGVzPC9hPjxiciAvPgorPC9kZD48ZHQ+dHdvLWNoYXJhY3RlcjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbEN1cnJlbnRDaGFyIj54bWxDdXJyZW50Q2hhcjwvYT48YnIgLz4KKzwvZGQ+PGR0PnR4dDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbENoZWNrTGFuZ3VhZ2VJRCI+eG1sQ2hlY2tMYW5ndWFnZUlEPC9hPjxiciAvPgorPC9kZD48ZHQ+dHlwZTo8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sU3RyZWFtUHVzaE5vZGUiPnhtbFN0cmVhbVB1c2hOb2RlPC9hPjxiciAvPgorPC9kZD48ZHQ+dHlwZWZpeGVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfSU5URVJOQUxfUkVTT0xWRUQiPlhNTF9TQ0hFTUFTX1RZUEVfSU5URVJOQUxfUkVTT0xWRUQ8L2E+PGJyIC8+Cis8L2RkPjxkdD50eXBlczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19GQUNFVF9DT0xMQVBTRSI+WE1MX1NDSEVNQVNfRkFDRVRfQ09MTEFQU0U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjX3htbFNjaGVtYVR5cGUiPl94bWxTY2hlbWFUeXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCNfeG1sWFBhdGhDb250ZXh0Ij5feG1sWFBhdGhDb250ZXh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sRXh0ZXJuYWxFbnRpdHlMb2FkZXIiPnhtbEV4dGVybmFsRW50aXR5TG9hZGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VTRERlY2wiPnhtbFBhcnNlU0REZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hR2V0Q2Fub25WYWx1ZSI+eG1sU2NoZW1hR2V0Q2Fub25WYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYU5ld1N0cmluZ1ZhbHVlIj54bWxTY2hlbWFOZXdTdHJpbmdWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYVZhbGlkYXRlRmFjZXRXaHRzcCI+eG1sU2NoZW1hVmFsaWRhdGVGYWNldFdodHNwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbFN0cmVhbVdhbnRzQW55Tm9kZSI+eG1sU3RyZWFtV2FudHNBbnlOb2RlPC9hPjxiciAvPgorPC9kZD48L2RsPjxoMiBhbGlnbj0iY2VudGVyIj48YSBocmVmPSJBUEljaHVuazAuaHRtbCI+QS1CPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxLmh0bWwiPkMtQzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMi5odG1sIj5ELUU8L2E+Cis8YSBocmVmPSJBUEljaHVuazMuaHRtbCI+Ri1JPC9hPgorPGEgaHJlZj0iQVBJY2h1bms0Lmh0bWwiPkotTjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNS5odG1sIj5PLVA8L2E+Cis8YSBocmVmPSJBUEljaHVuazYuaHRtbCI+US1SPC9hPgorPGEgaHJlZj0iQVBJY2h1bms3Lmh0bWwiPlMtUzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rOC5odG1sIj5ULVU8L2E+Cis8YSBocmVmPSJBUEljaHVuazkuaHRtbCI+Vi1YPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMC5odG1sIj5ZLWE8L2E+Cis8YSBocmVmPSJBUEljaHVuazExLmh0bWwiPmItYjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTIuaHRtbCI+Yy1jPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMy5odG1sIj5kLWQ8L2E+Cis8YSBocmVmPSJBUEljaHVuazE0Lmh0bWwiPmUtZTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTUuaHRtbCI+Zi1mPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNi5odG1sIj5nLWg8L2E+Cis8YSBocmVmPSJBUEljaHVuazE3Lmh0bWwiPmktaTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTguaHRtbCI+ai1sPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxOS5odG1sIj5tLW08L2E+Cis8YSBocmVmPSJBUEljaHVuazIwLmh0bWwiPm4tbjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjEuaHRtbCI+by1vPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMi5odG1sIj5wLXA8L2E+Cis8YSBocmVmPSJBUEljaHVuazIzLmh0bWwiPnEtcjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjQuaHRtbCI+cy1zPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNS5odG1sIj50LXQ8L2E+Cis8YSBocmVmPSJBUEljaHVuazI2Lmh0bWwiPnUtdjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjcuaHRtbCI+dy13PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyOC5odG1sIj54LXg8L2E+Cis8YSBocmVmPSJBUEljaHVuazI5Lmh0bWwiPnktejwvYT4KKzwvaDI+PHA+PGEgaHJlZj0iYnVncy5odG1sIj5EYW5pZWwgVmVpbGxhcmQ8L2E+PC9wPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9BUEljaHVuazI2Lmh0bWwgYi9saWJ4bWwyL2RvYy9BUEljaHVuazI2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzY4YWU5MgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL0FQSWNodW5rMjYuaHRtbApAQCAtMCwwICsxLDMzMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIj4KKzxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj48aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz48bGluayByZWw9IlNIT1JUQ1VUIElDT04iIGhyZWY9Ii9mYXZpY29uLmljbyIgLz48c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorVEQge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0JPRFkge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYTsgbWFyZ2luLXRvcDogMmVtOyBtYXJnaW4tbGVmdDogMGVtOyBtYXJnaW4tcmlnaHQ6IDBlbX0KK0gxIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMiB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDMge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0E6bGluaywgQTp2aXNpdGVkLCBBOmFjdGl2ZSB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIH0KKzwvc3R5bGU+PHRpdGxlPkFQSSBBbHBoYWJldGljIEluZGV4IHUtdiBmb3IgbGlieG1sMjwvdGl0bGU+PC9oZWFkPjxib2R5IGJnY29sb3I9IiM4Yjc3NjUiIHRleHQ9IiMwMDAwMDAiIGxpbms9IiNhMDYwNjAiIHZsaW5rPSIjMDAwMDAwIj48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iMTAwJSIgY2VsbHBhZGRpbmc9IjUiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIHdpZHRoPSIxMjAiPjxhIGhyZWY9Imh0dHA6Ly9zd3BhdC5mZmlpLm9yZy8iPjxpbWcgc3JjPSJlcGF0ZW50cy5wbmciIGFsdD0iQWN0aW9uIGFnYWluc3Qgc29mdHdhcmUgcGF0ZW50cyIgLz48L2E+PC90ZD48dGQgd2lkdGg9IjE4MCI+PGEgaHJlZj0iaHR0cDovL3d3dy5nbm9tZS5vcmcvIj48aW1nIHNyYz0iZ25vbWUyLnBuZyIgYWx0PSJHbm9tZTIgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvU3RhdHVzIj48aW1nIHNyYz0idzNjLnBuZyIgYWx0PSJXM0MgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy5yZWRoYXQuY29tLyI+PGltZyBzcmM9InJlZGhhdC5naWYiIGFsdD0iUmVkIEhhdCBMb2dvIiAvPjwvYT48ZGl2IGFsaWduPSJsZWZ0Ij48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvIj48aW1nIHNyYz0iTGlieG1sMi1Mb2dvLTE4MHgxNjguZ2lmIiBhbHQ9Ik1hZGUgd2l0aCBMaWJ4bWwyIExvZ28iIC8+PC9hPjwvZGl2PjwvdGQ+PHRkPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSI5MCUiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIiBiZ2NvbG9yPSIjZmZmYWNkIj48dHI+PHRkIGFsaWduPSJjZW50ZXIiPjxoMT5UaGUgWE1MIEMgcGFyc2VyIGFuZCB0b29sa2l0IG9mIEdub21lPC9oMT48aDI+QVBJIEFscGhhYmV0aWMgSW5kZXggdS12IGZvciBsaWJ4bWwyPC9oMj48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iNCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiIgd2lkdGg9IjEwMCUiPjx0cj48dGQgdmFsaWduPSJ0b3AiIHdpZHRoPSIyMDAiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPkRldmVsb3BlciBNZW51PC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjxmb3JtIGFjdGlvbj0ic2VhcmNoLnBocCIgZW5jdHlwZT0iYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIiBtZXRob2Q9ImdldCI+PGlucHV0IG5hbWU9InF1ZXJ5IiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IiIgLz48aW5wdXQgbmFtZT0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJTZWFyY2ggLi4uIiAvPjwvZm9ybT48dWw+PGxpPjxhIGhyZWY9ImluZGV4Lmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5NYWluIE1lbnU8L2E+PC9saT48bGk+PGEgaHJlZj0iaHRtbC9pbmRleC5odG1sIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+UmVmZXJlbmNlIE1hbnVhbDwvYT48L2xpPjxsaT48YSBocmVmPSJleGFtcGxlcy9pbmRleC5odG1sIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+Q29kZSBFeGFtcGxlczwvYT48L2xpPjxsaT48YSBocmVmPSJndWlkZWxpbmVzLmh0bWwiPlhNTCBHdWlkZWxpbmVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9InR1dG9yaWFsL2luZGV4Lmh0bWwiPlR1dG9yaWFsPC9hPjwvbGk+PGxpPjxhIGhyZWY9InhtbHJlYWRlci5odG1sIj5UaGUgUmVhZGVyIEludGVyZmFjZTwvYT48L2xpPjxsaT48YSBocmVmPSJDaGFuZ2VMb2cuaHRtbCI+Q2hhbmdlTG9nPC9hPjwvbGk+PGxpPjxhIGhyZWY9IlhTTFQuaHRtbCI+WFNMVDwvYT48L2xpPjxsaT48YSBocmVmPSJweXRob24uaHRtbCI+UHl0aG9uIGFuZCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJhcmNoaXRlY3R1cmUuaHRtbCI+bGlieG1sMiBhcmNoaXRlY3R1cmU8L2E+PC9saT48bGk+PGEgaHJlZj0idHJlZS5odG1sIj5UaGUgdHJlZSBvdXRwdXQ8L2E+PC9saT48bGk+PGEgaHJlZj0iaW50ZXJmYWNlLmh0bWwiPlRoZSBTQVggaW50ZXJmYWNlPC9hPjwvbGk+PGxpPjxhIGhyZWY9InhtbG1lbS5odG1sIj5NZW1vcnkgTWFuYWdlbWVudDwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWxpby5odG1sIj5JL08gSW50ZXJmYWNlczwvYT48L2xpPjxsaT48YSBocmVmPSJsaWJyYXJ5Lmh0bWwiPlRoZSBwYXJzZXIgaW50ZXJmYWNlczwvYT48L2xpPjxsaT48YSBocmVmPSJlbnRpdGllcy5odG1sIj5FbnRpdGllcyBvciBubyBlbnRpdGllczwvYT48L2xpPjxsaT48YSBocmVmPSJuYW1lc3BhY2VzLmh0bWwiPk5hbWVzcGFjZXM8L2E+PC9saT48bGk+PGEgaHJlZj0idXBncmFkZS5odG1sIj5VcGdyYWRpbmcgMS54IGNvZGU8L2E+PC9saT48bGk+PGEgaHJlZj0idGhyZWFkcy5odG1sIj5UaHJlYWQgc2FmZXR5PC9hPjwvbGk+PGxpPjxhIGhyZWY9IkRPTS5odG1sIj5ET00gUHJpbmNpcGxlczwvYT48L2xpPjxsaT48YSBocmVmPSJleGFtcGxlLmh0bWwiPkEgcmVhbCBleGFtcGxlPC9hPjwvbGk+PGxpPjxhIGhyZWY9InhtbC5odG1sIj5mbGF0IHBhZ2U8L2E+LCA8YSBocmVmPSJzaXRlLnhzbCI+c3R5bGVzaGVldDwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPkFQSSBJbmRleGVzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iQVBJY2h1bmswLmh0bWwiPkFscGhhYmV0aWM8L2E+PC9saT48bGk+PGEgaHJlZj0iQVBJY29uc3RydWN0b3JzLmh0bWwiPkNvbnN0cnVjdG9yczwvYT48L2xpPjxsaT48YSBocmVmPSJBUElmdW5jdGlvbnMuaHRtbCI+RnVuY3Rpb25zL1R5cGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkFQSWZpbGVzLmh0bWwiPk1vZHVsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iQVBJc3ltYm9scy5odG1sIj5TeW1ib2xzPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+UmVsYXRlZCBsaW5rczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9Imh0dHA6Ly9tYWlsLmdub21lLm9yZy9hcmNoaXZlcy94bWwvIj5NYWlsIGFyY2hpdmU8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnL1hTTFQvIj5YU0xUIGxpYnhzbHQ8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3BoZC5jcy51bmliby5pdC9nZG9tZTIvIj5ET00gZ2RvbWUyPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuYWxla3NleS5jb20veG1sc2VjLyI+WE1MLURTaWcgeG1sc2VjPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImZ0cDovL3htbHNvZnQub3JnLyI+RlRQPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemxhdGtvdmljLmNvbS9wcm9qZWN0cy9saWJ4bWwvIj5XaW5kb3dzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9vcGVuY3N3Lm9yZy9wYWNrYWdlcy9saWJ4bWwyIj5Tb2xhcmlzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuZXhwbGFpbi5jb20uYXUvb3NzL2xpYnhtbDJ4c2x0Lmh0bWwiPk1hY09zWCBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbHhtbC5kZS8iPmx4bWwgUHl0aG9uIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9jcGFuLnV3aW5uaXBlZy5jYS9kaXN0L1hNTC1MaWJYTUwiPlBlcmwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbHBsdXNwbHVzLnNvdXJjZWZvcmdlLm5ldC8iPkMrKyBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnplbmQuY29tL3BocDUvYXJ0aWNsZXMvcGhwNS14bWxwaHAucGhwI0hlYWRpbmc0Ij5QSFAgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9saWJ4bWwyLXBhcy8iPlBhc2NhbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1sLnJ1Ynlmb3JnZS5vcmcvIj5SdWJ5IGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly90Y2x4bWwuc291cmNlZm9yZ2UubmV0LyI+VGNsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvYnVnbGlzdC5jZ2k/cHJvZHVjdD1saWJ4bWwyIj5CdWcgVHJhY2tlcjwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMyIgY2VsbHNwYWNpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjxoMiBhbGlnbj0iY2VudGVyIj48YSBocmVmPSJBUEljaHVuazAuaHRtbCI+QS1CPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxLmh0bWwiPkMtQzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMi5odG1sIj5ELUU8L2E+Cis8YSBocmVmPSJBUEljaHVuazMuaHRtbCI+Ri1JPC9hPgorPGEgaHJlZj0iQVBJY2h1bms0Lmh0bWwiPkotTjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNS5odG1sIj5PLVA8L2E+Cis8YSBocmVmPSJBUEljaHVuazYuaHRtbCI+US1SPC9hPgorPGEgaHJlZj0iQVBJY2h1bms3Lmh0bWwiPlMtUzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rOC5odG1sIj5ULVU8L2E+Cis8YSBocmVmPSJBUEljaHVuazkuaHRtbCI+Vi1YPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMC5odG1sIj5ZLWE8L2E+Cis8YSBocmVmPSJBUEljaHVuazExLmh0bWwiPmItYjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTIuaHRtbCI+Yy1jPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMy5odG1sIj5kLWQ8L2E+Cis8YSBocmVmPSJBUEljaHVuazE0Lmh0bWwiPmUtZTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTUuaHRtbCI+Zi1mPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNi5odG1sIj5nLWg8L2E+Cis8YSBocmVmPSJBUEljaHVuazE3Lmh0bWwiPmktaTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTguaHRtbCI+ai1sPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxOS5odG1sIj5tLW08L2E+Cis8YSBocmVmPSJBUEljaHVuazIwLmh0bWwiPm4tbjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjEuaHRtbCI+by1vPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMi5odG1sIj5wLXA8L2E+Cis8YSBocmVmPSJBUEljaHVuazIzLmh0bWwiPnEtcjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjQuaHRtbCI+cy1zPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNS5odG1sIj50LXQ8L2E+Cis8YSBocmVmPSJBUEljaHVuazI2Lmh0bWwiPnUtdjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjcuaHRtbCI+dy13PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyOC5odG1sIj54LXg8L2E+Cis8YSBocmVmPSJBUEljaHVuazI5Lmh0bWwiPnktejwvYT4KKzwvaDI+PGgyPkxldHRlciB1OjwvaDI+PGRsPjxkdD51Z2x5PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjX3htbFBhcnNlckN0eHQiPl94bWxQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxFbnRpdHlMb29rdXAiPmh0bWxFbnRpdHlMb29rdXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEVudGl0eVZhbHVlTG9va3VwIj5odG1sRW50aXR5VmFsdWVMb29rdXA8L2E+PGJyIC8+Cis8L2RkPjxkdD51bmFyeTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhWYWx1ZUZsaXBTaWduIj54bWxYUGF0aFZhbHVlRmxpcFNpZ248L2E+PGJyIC8+Cis8L2RkPjxkdD51bmNsZWFuPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjX3htbFVSSSI+X3htbFVSSTwvYT48YnIgLz4KKzwvZGQ+PGR0PnVuY29tcHJlc3NlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTRORG9jU2F2ZSI+eG1sQzE0TkRvY1NhdmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sR2V0Q29tcHJlc3NNb2RlIj54bWxHZXRDb21wcmVzc01vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sR2V0RG9jQ29tcHJlc3NNb2RlIj54bWxHZXREb2NDb21wcmVzc01vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2V0Q29tcHJlc3NNb2RlIj54bWxTZXRDb21wcmVzc01vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2V0RG9jQ29tcHJlc3NNb2RlIj54bWxTZXREb2NDb21wcmVzc01vZGU8L2E+PGJyIC8+Cis8L2RkPjxkdD51bmRlcjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbEJ1aWxkUmVsYXRpdmVVUkkiPnhtbEJ1aWxkUmVsYXRpdmVVUkk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2VhcmNoTnMiPnhtbFNlYXJjaE5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNldFRyZWVEb2MiPnhtbFNldFRyZWVEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsRHUiPnhtbFNoZWxsRHU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsV3JpdGUiPnhtbFNoZWxsV3JpdGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlRWxlbWVudCI+eG1sVmFsaWRhdGVFbGVtZW50PC9hPjxiciAvPgorPC9kZD48ZHQ+dW5kZXJseWluZzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJDbG9zZSI+eG1sVGV4dFJlYWRlckNsb3NlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckN1cnJlbnROb2RlIj54bWxUZXh0UmVhZGVyQ3VycmVudE5vZGU8L2E+PGJyIC8+Cis8L2RkPjxkdD51bmRlcnN0YW5kPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwUGFyc2UiPnhtbEV4cFBhcnNlPC9hPjxiciAvPgorPC9kZD48ZHQ+dW5lc2NhcGU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxVUklVbmVzY2FwZVN0cmluZyI+eG1sVVJJVW5lc2NhcGVTdHJpbmc8L2E+PGJyIC8+Cis8L2RkPjxkdD51bmVzY2FwZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbEZpbGVPcGVuIj54bWxGaWxlT3BlbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlQWRkQ29udGVudCI+eG1sTm9kZUFkZENvbnRlbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUFkZENvbnRlbnRMZW4iPnhtbE5vZGVBZGRDb250ZW50TGVuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sVVJJVW5lc2NhcGVTdHJpbmciPnhtbFVSSVVuZXNjYXBlU3RyaW5nPC9hPjxiciAvPgorPC9kZD48ZHQ+dW5lc2NhcGluZzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbFBhcnNlVVJJUmF3Ij54bWxQYXJzZVVSSVJhdzwvYT48YnIgLz4KKzwvZGQ+PGR0PnVuZnJpZW5kbHk8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNYTUxfTUFYX0xPT0tVUF9MSU1JVCI+WE1MX01BWF9MT09LVVBfTElNSVQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNYTUxfTUFYX05BTUVfTEVOR1RIIj5YTUxfTUFYX05BTUVfTEVOR1RIPC9hPjxiciAvPgorPC9kZD48ZHQ+dW5pY29kZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sRW50aXR5VmFsdWVMb29rdXAiPmh0bWxFbnRpdHlWYWx1ZUxvb2t1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbElzTGV0dGVyIj54bWxJc0xldHRlcjwvYT48YnIgLz4KKzwvZGQ+PGR0PnVuaW1wbGVtZW50ZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEN0eHRVc2VPcHRpb25zIj5odG1sQ3R4dFVzZU9wdGlvbnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxDdHh0VXNlT3B0aW9ucyI+eG1sQ3R4dFVzZU9wdGlvbnM8L2E+PGJyIC8+Cis8L2RkPjxkdD51bmlvbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19GSU5BTF9ERUZBVUxUX1VOSU9OIj5YTUxfU0NIRU1BU19GSU5BTF9ERUZBVUxUX1VOSU9OPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfRklOQUxfVU5JT04iPlhNTF9TQ0hFTUFTX1RZUEVfRklOQUxfVU5JT048L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX0FUT01JQyI+WE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX0FUT01JQzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX1ZBUklFVFlfVU5JT04iPlhNTF9TQ0hFTUFTX1RZUEVfVkFSSUVUWV9VTklPTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNfeG1sU2NoZW1hVHlwZSI+X3htbFNjaGVtYVR5cGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoSWRGdW5jdGlvbiI+eG1sWFBhdGhJZEZ1bmN0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+dW5pcXVlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjX3htbFBhcnNlcklucHV0Ij5feG1sUGFyc2VySW5wdXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjX3htbFNjaGVtYSI+X3htbFNjaGVtYTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cEdldExhbmd1YWdlIj54bWxFeHBHZXRMYW5ndWFnZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cEdldFN0YXJ0Ij54bWxFeHBHZXRTdGFydDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhJZEZ1bmN0aW9uIj54bWxYUGF0aElkRnVuY3Rpb248L2E+PGJyIC8+Cis8L2RkPjxkdD51bmlxdWVseTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQXR0cmlidXRlVHlwZSI+eG1sUGFyc2VBdHRyaWJ1dGVUeXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFN0cmluZ0Z1bmN0aW9uIj54bWxYUGF0aFN0cmluZ0Z1bmN0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+dW5pcXVlbmVzczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVBdHRyaWJ1dGVEZWNsIj54bWxWYWxpZGF0ZUF0dHJpYnV0ZURlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlT25lQXR0cmlidXRlIj54bWxWYWxpZGF0ZU9uZUF0dHJpYnV0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVPbmVOYW1lc3BhY2UiPnhtbFZhbGlkYXRlT25lTmFtZXNwYWNlPC9hPjxiciAvPgorPC9kZD48ZHQ+dW5pdHM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxVVEY4U3Ryc3ViIj54bWxVVEY4U3Ryc3ViPC9hPjxiciAvPgorPC9kZD48ZHQ+dW5rbm93bjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19BTllBVFRSX1NLSVAiPlhNTF9TQ0hFTUFTX0FOWUFUVFJfU0tJUDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19BTllfU0tJUCI+WE1MX1NDSEVNQVNfQU5ZX1NLSVA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfRkFDRVRfVU5LTk9XTiI+WE1MX1NDSEVNQVNfRkFDRVRfVU5LTk9XTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sQ3R4dFVzZU9wdGlvbnMiPmh0bWxDdHh0VXNlT3B0aW9uczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEN0eHRVc2VPcHRpb25zIj54bWxDdHh0VXNlT3B0aW9uczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEhhc0ZlYXR1cmUiPnhtbEhhc0ZlYXR1cmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNCbG9jayI+eG1sVUNTSXNCbG9jazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NhdCI+eG1sVUNTSXNDYXQ8L2E+PGJyIC8+Cis8L2RkPjxkdD51bmxlc3M8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFNBWFBhcnNlRG9jIj5odG1sU0FYUGFyc2VEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFNBWFBhcnNlRmlsZSI+aHRtbFNBWFBhcnNlRmlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0Q2xlYW51cCI+eG1sRGljdENsZWFudXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBOZXdPciI+eG1sRXhwTmV3T3I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBOZXdSYW5nZSI+eG1sRXhwTmV3UmFuZ2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBOZXdTZXEiPnhtbEV4cE5ld1NlcTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxHZXROb05zUHJvcCI+eG1sR2V0Tm9Oc1Byb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sR2V0TnNQcm9wIj54bWxHZXROc1Byb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sR2V0UHJvcCI+eG1sR2V0UHJvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxIYXNOc1Byb3AiPnhtbEhhc05zUHJvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxIYXNQcm9wIj54bWxIYXNQcm9wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHROYW1lc3BhY2UiPnhtbFhQYXRoTmV4dE5hbWVzcGFjZTwvYT48YnIgLz4KKzwvZGQ+PGR0PnVubGluazwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxGcmVlTm9kZSI+eG1sRnJlZU5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sVW5saW5rTm9kZSI+eG1sVW5saW5rTm9kZTwvYT48YnIgLz4KKzwvZGQ+PGR0PnVubGlua2VkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEFkZE5leHRTaWJsaW5nIj54bWxBZGROZXh0U2libGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxBZGRQcmV2U2libGluZyI+eG1sQWRkUHJldlNpYmxpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQWRkU2libGluZyI+eG1sQWRkU2libGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwQWRvcHROb2RlIj54bWxET01XcmFwQWRvcHROb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxOZXdFbnRpdHkiPnhtbE5ld0VudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxSZXBsYWNlTm9kZSI+eG1sUmVwbGFjZU5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sVW5saW5rTm9kZSI+eG1sVW5saW5rTm9kZTwvYT48YnIgLz4KKzwvZGQ+PGR0PnVubG9hZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1vZHVsZS5odG1sI3htbE1vZHVsZUNsb3NlIj54bWxNb2R1bGVDbG9zZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1vZHVsZS5odG1sI3htbE1vZHVsZUZyZWUiPnhtbE1vZHVsZUZyZWU8L2E+PGJyIC8+Cis8L2RkPjxkdD51bmxvYWRlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1vZHVsZS5odG1sI3htbE1vZHVsZUNsb3NlIj54bWxNb2R1bGVDbG9zZTwvYT48YnIgLz4KKzwvZGQ+PGR0PnVubG9jazwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRocmVhZHMuaHRtbCN4bWxNdXRleFVubG9jayI+eG1sTXV0ZXhVbmxvY2s8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sUk11dGV4VW5sb2NrIj54bWxSTXV0ZXhVbmxvY2s8L2E+PGJyIC8+Cis8L2RkPjxkdD51bnBhcnNlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjX3htbEVudGl0eSI+X3htbEVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI3VucGFyc2VkRW50aXR5RGVjbCI+dW5wYXJzZWRFbnRpdHlEZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjdW5wYXJzZWRFbnRpdHlEZWNsU0FYRnVuYyI+dW5wYXJzZWRFbnRpdHlEZWNsU0FYRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbExvYWRFeHRlcm5hbEVudGl0eSI+eG1sTG9hZEV4dGVybmFsRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VBdHRyaWJ1dGVUeXBlIj54bWxQYXJzZUF0dHJpYnV0ZVR5cGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVudGl0eVJlZiI+eG1sUGFyc2VFbnRpdHlSZWY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZXJIYW5kbGVSZWZlcmVuY2UiPnhtbFBhcnNlckhhbmRsZVJlZmVyZW5jZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyVW5wYXJzZWRFbnRpdHlEZWNsIj54bWxTQVgyVW5wYXJzZWRFbnRpdHlEZWNsPC9hPjxiciAvPgorPC9kZD48ZHQ+dW5wbHVnPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVNBWFBsdWciPnhtbFNjaGVtYVNBWFBsdWc8L2E+PGJyIC8+Cis8L2RkPjxkdD51bnByZWRpY3RhYmxlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI1VURjhUb0h0bWwiPlVURjhUb0h0bWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI1VURjhUb2lzb2xhdDEiPlVURjhUb2lzb2xhdDE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1ET0NCcGFyc2VyLmh0bWwjZG9jYkVuY29kZUVudGl0aWVzIj5kb2NiRW5jb2RlRW50aXRpZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEVuY29kZUVudGl0aWVzIj5odG1sRW5jb2RlRW50aXRpZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI2lzb2xhdDFUb1VURjgiPmlzb2xhdDFUb1VURjg8L2E+PGJyIC8+Cis8L2RkPjxkdD51bnByZWRpY3RpYWJsZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nSW5wdXRGdW5jIj54bWxDaGFyRW5jb2RpbmdJbnB1dEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZ091dHB1dEZ1bmMiPnhtbENoYXJFbmNvZGluZ091dHB1dEZ1bmM8L2E+PGJyIC8+Cis8L2RkPjxkdD51bnJlZ2lzdGVyczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2xlYW51cENoYXJFbmNvZGluZ0hhbmRsZXJzIj54bWxDbGVhbnVwQ2hhckVuY29kaW5nSGFuZGxlcnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmVnaXN0ZXJGdW5jIj54bWxYUGF0aFJlZ2lzdGVyRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhSZWdpc3RlckZ1bmNOUyI+eG1sWFBhdGhSZWdpc3RlckZ1bmNOUzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhSZWdpc3Rlck5zIj54bWxYUGF0aFJlZ2lzdGVyTnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZSI+eG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGVOUyI+eG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlTlM8L2E+PGJyIC8+Cis8L2RkPjxkdD51bnNhZmU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFNwcmludGZFbGVtZW50Q29udGVudCI+eG1sU3ByaW50ZkVsZW1lbnRDb250ZW50PC9hPjxiciAvPgorPC9kZD48ZHQ+dW5zaWduZWQ8L2R0PjxkZD48YSBocmVmPSIiPmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxVUklVbmVzY2FwZVN0cmluZyI+eG1sVVJJVW5lc2NhcGVTdHJpbmc8L2E+PGJyIC8+Cis8L2RkPjxkdD51bnN1cHBvcnRlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwQWRvcHROb2RlIj54bWxET01XcmFwQWRvcHROb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBDbG9uZU5vZGUiPnhtbERPTVdyYXBDbG9uZU5vZGU8L2E+PGJyIC8+Cis8L2RkPjxkdD51bnRpbDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJDcmVhdGVTdGF0aWMiPnhtbEJ1ZmZlckNyZWF0ZVN0YXRpYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVTdGF0aWMiPnhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlU3RhdGljPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNlYXJjaE5zIj54bWxTZWFyY2hOczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTZWFyY2hOc0J5SHJlZiI+eG1sU2VhcmNoTnNCeUhyZWY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyRXhwYW5kIj54bWxUZXh0UmVhZGVyRXhwYW5kPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclJlbGF4TkdTZXRTY2hlbWEiPnhtbFRleHRSZWFkZXJSZWxheE5HU2V0U2NoZW1hPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclNldFNjaGVtYSI+eG1sVGV4dFJlYWRlclNldFNjaGVtYTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhBeGlzRnVuYyI+eG1sWFBhdGhBeGlzRnVuYzwvYT48YnIgLz4KKzwvZGQ+PGR0PnVudXNlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNBVFRSSUJVVEVfVU5VU0VEIj5BVFRSSUJVVEVfVU5VU0VEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCNfeG1sRW50aXR5Ij5feG1sRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjX3htbFNBWEhhbmRsZXIiPl94bWxTQVhIYW5kbGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjX3htbFNBWEhhbmRsZXJWMSI+X3htbFNBWEhhbmRsZXJWMTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNfeG1sU2NoZW1hIj5feG1sU2NoZW1hPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCNfeG1sWFBhdGhDb250ZXh0Ij5feG1sWFBhdGhDb250ZXh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBSZWNvbmNpbGVOYW1lc3BhY2VzIj54bWxET01XcmFwUmVjb25jaWxlTmFtZXNwYWNlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwUmVtb3ZlTm9kZSI+eG1sRE9NV3JhcFJlbW92ZU5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRhdGVGaWxlIj54bWxTY2hlbWFWYWxpZGF0ZUZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsQmFzZSI+eG1sU2hlbGxCYXNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbENhdCI+eG1sU2hlbGxDYXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsRGlyIj54bWxTaGVsbERpcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxEdSI+eG1sU2hlbGxEdTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxMaXN0Ij54bWxTaGVsbExpc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsTG9hZCI+eG1sU2hlbGxMb2FkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbFB3ZCI+eG1sU2hlbGxQd2Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsU2F2ZSI+eG1sU2hlbGxTYXZlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbFZhbGlkYXRlIj54bWxTaGVsbFZhbGlkYXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbFdyaXRlIj54bWxTaGVsbFdyaXRlPC9hPjxiciAvPgorPC9kZD48ZHQ+dXBkYXRlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxDaGVja0hUVFBJbnB1dCI+eG1sQ2hlY2tIVFRQSW5wdXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUFVwZGF0ZVVSTCI+eG1sTmFub0ZUUFVwZGF0ZVVSTDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTZXRMaXN0RG9jIj54bWxTZXRMaXN0RG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNldFRyZWVEb2MiPnhtbFNldFRyZWVEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU3BsaXRRTmFtZTMiPnhtbFNwbGl0UU5hbWUzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZEN0eHROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZSI+eG1sVmFsaWRDdHh0Tm9ybWFsaXplQXR0cmlidXRlVmFsdWU8L2E+PGJyIC8+Cis8L2RkPjxkdD51cGRhdGVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dBZGRMb2NhbCI+eG1sQ2F0YWxvZ0FkZExvY2FsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sR2V0RmVhdHVyZXNMaXN0Ij54bWxHZXRGZWF0dXJlc0xpc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxOYW1lc3BhY2VQYXJzZVFOYW1lIj54bWxOYW1lc3BhY2VQYXJzZVFOYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnRXhlY0VyckluZm8iPnhtbFJlZ0V4ZWNFcnJJbmZvPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnRXhlY05leHRWYWx1ZXMiPnhtbFJlZ0V4ZWNOZXh0VmFsdWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sU3BsaXRRTmFtZSI+eG1sU3BsaXRRTmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTcGxpdFFOYW1lMiI+eG1sU3BsaXRRTmFtZTI8L2E+PGJyIC8+Cis8L2RkPjxkdD51cG9uPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjY2hlY2tOYW1lc3BhY2UiPmNoZWNrTmFtZXNwYWNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGxpbmsuaHRtbCN4bGlua05vZGVEZXRlY3RGdW5jIj54bGlua05vZGVEZXRlY3RGdW5jPC9hPjxiciAvPgorPC9kZD48ZHQ+dXBwZXI8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNYTUxfTUFYX0xPT0tVUF9MSU1JVCI+WE1MX01BWF9MT09LVVBfTElNSVQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBOZXdSYW5nZSI+eG1sRXhwTmV3UmFuZ2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbElzUmVmIj54bWxJc1JlZjwvYT48YnIgLz4KKzwvZGQ+PGR0PnVyaTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sTm9ybWFsaXplV2luZG93c1BhdGgiPnhtbE5vcm1hbGl6ZVdpbmRvd3NQYXRoPC9hPjxiciAvPgorPC9kZD48ZHQ+dXNhZ2U8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNYTUxfTUFYX05BTUVfTEVOR1RIIj5YTUxfTUFYX05BTUVfTEVOR1RIPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEdldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUiPnhtbEdldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2V0QnVmZmVyQWxsb2NhdGlvblNjaGVtZSI+eG1sU2V0QnVmZmVyQWxsb2NhdGlvblNjaGVtZTwvYT48YnIgLz4KKzwvZGQ+PGR0PnVzZWQ6PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX0RFRkFVTFRfVkVSU0lPTiI+WE1MX0RFRkFVTFRfVkVSU0lPTjwvYT48YnIgLz4KKzwvZGQ+PGR0PnVzZWQ/PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI194bWxTY2hlbWFBdHRyaWJ1dGUiPl94bWxTY2hlbWFBdHRyaWJ1dGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjX3htbFNjaGVtYUVsZW1lbnQiPl94bWxTY2hlbWFFbGVtZW50PC9hPjxiciAvPgorPC9kZD48ZHQ+dXNlZnVsPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sR2NNZW1HZXQiPnhtbEdjTWVtR2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sR2NNZW1TZXR1cCI+eG1sR2NNZW1TZXR1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1lbURpc3BsYXlMYXN0Ij54bWxNZW1EaXNwbGF5TGFzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRocmVhZHMuaHRtbCN4bWxOZXdSTXV0ZXgiPnhtbE5ld1JNdXRleDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVTdGF0aWMiPnhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlU3RhdGljPC9hPjxiciAvPgorPC9kZD48ZHQ+dXNlbGVzczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI3NldERvY3VtZW50TG9jYXRvciI+c2V0RG9jdW1lbnRMb2NhdG9yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjc2V0RG9jdW1lbnRMb2NhdG9yU0FYRnVuYyI+c2V0RG9jdW1lbnRMb2NhdG9yU0FYRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyU2V0RG9jdW1lbnRMb2NhdG9yIj54bWxTQVgyU2V0RG9jdW1lbnRMb2NhdG9yPC9hPjxiciAvPgorPC9kZD48ZHQ+dXNlckRhdGE8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkaXR5RXJyb3JGdW5jIj54bWxWYWxpZGl0eUVycm9yRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRpdHlXYXJuaW5nRnVuYyI+eG1sVmFsaWRpdHlXYXJuaW5nRnVuYzwvYT48YnIgLz4KKzwvZGQ+PGR0PnVzZXJzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI194bWxTY2hlbWEiPl94bWxTY2hlbWE8L2E+PGJyIC8+Cis8L2RkPjxkdD51c2VzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxOb2RlU3RhdHVzIj5odG1sTm9kZVN0YXR1czwvYT48YnIgLz4KKzwvZGQ+PGR0PnVzdWFsPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwUGFyc2UiPnhtbEV4cFBhcnNlPC9hPjxiciAvPgorPC9kZD48ZHQ+dXN1YWxseTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfTU9EVUxFX0VYVEVOU0lPTiI+TElCWE1MX01PRFVMRV9FWFRFTlNJT048L2E+PGJyIC8+Cis8YSBocmVmPSIiPmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBFeHBEZXJpdmUiPnhtbEV4cEV4cERlcml2ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sSW5pdENoYXJFbmNvZGluZ0hhbmRsZXJzIj54bWxJbml0Q2hhckVuY29kaW5nSGFuZGxlcnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFHZXRQcmVkZWZpbmVkVHlwZSI+eG1sU2NoZW1hR2V0UHJlZGVmaW5lZFR5cGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyR2V0UGFyc2VyUHJvcCI+eG1sVGV4dFJlYWRlckdldFBhcnNlclByb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyU2V0UGFyc2VyUHJvcCI+eG1sVGV4dFJlYWRlclNldFBhcnNlclByb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkaXR5RXJyb3JGdW5jIj54bWxWYWxpZGl0eUVycm9yRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRpdHlXYXJuaW5nRnVuYyI+eG1sVmFsaWRpdHlXYXJuaW5nRnVuYzwvYT48YnIgLz4KKzwvZGQ+PGR0PnV0Zjg8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNGaXJzdExpbmUiPnhtbENoYXJFbmNGaXJzdExpbmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNJbkZ1bmMiPnhtbENoYXJFbmNJbkZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNPdXRGdW5jIj54bWxDaGFyRW5jT3V0RnVuYzwvYT48YnIgLz4KKzwvZGQ+PC9kbD48aDI+TGV0dGVyIHY6PC9oMj48ZGw+PGR0PnZhbDE8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJMb2NhdGlvblNldE1lcmdlIj54bWxYUHRyTG9jYXRpb25TZXRNZXJnZTwvYT48YnIgLz4KKzwvZGQ+PGR0PnZhbGdyaW5kPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ2xlYW51cFBhcnNlciI+eG1sQ2xlYW51cFBhcnNlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRocmVhZHMuaHRtbCN4bWxDbGVhbnVwVGhyZWFkcyI+eG1sQ2xlYW51cFRocmVhZHM8L2E+PGJyIC8+Cis8L2RkPjxkdD52YWxpZGF0ZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sQ2hhckluUmFuZ2UiPnhtbENoYXJJblJhbmdlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldCI+eG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXRXaHRzcCI+eG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldFdodHNwPC9hPjxiciAvPgorPC9kZD48ZHQ+dmFsaWRhdGVzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hVmFsUHJlZGVmVHlwZU5vZGUiPnhtbFNjaGVtYVZhbFByZWRlZlR5cGVOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hVmFsUHJlZGVmVHlwZU5vZGVOb05vcm0iPnhtbFNjaGVtYVZhbFByZWRlZlR5cGVOb2RlTm9Ob3JtPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hVmFsaWRhdGVQcmVkZWZpbmVkVHlwZSI+eG1sU2NoZW1hVmFsaWRhdGVQcmVkZWZpbmVkVHlwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVEb2N1bWVudCI+eG1sVmFsaWRhdGVEb2N1bWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxWYWxpZGF0ZU5DTmFtZSI+eG1sVmFsaWRhdGVOQ05hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sVmFsaWRhdGVOTVRva2VuIj54bWxWYWxpZGF0ZU5NVG9rZW48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sVmFsaWRhdGVOYW1lIj54bWxWYWxpZGF0ZU5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sVmFsaWRhdGVRTmFtZSI+eG1sVmFsaWRhdGVRTmFtZTwvYT48YnIgLz4KKzwvZGQ+PGR0PnZhbGlkYXRpbmc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjX3htbEF0dHIiPl94bWxBdHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI194bWxFbGVtZW50Ij5feG1sRWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjX3htbFZhbGlkQ3R4dCI+X3htbFZhbGlkQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEtlZXBCbGFua3NEZWZhdWx0Ij54bWxLZWVwQmxhbmtzRGVmYXVsdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HVmFsaWRhdGVQdXNoRWxlbWVudCI+eG1sUmVsYXhOR1ZhbGlkYXRlUHVzaEVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI3htbFNldEdlbmVyaWNFcnJvckZ1bmMiPnhtbFNldEdlbmVyaWNFcnJvckZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI3htbFNldFN0cnVjdHVyZWRFcnJvckZ1bmMiPnhtbFNldFN0cnVjdHVyZWRFcnJvckZ1bmM8L2E+PGJyIC8+Cis8L2RkPjxkdD52YWxpZGF0b3I8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRpdHlMb2NhdG9yRnVuYyI+eG1sU2NoZW1hVmFsaWRpdHlMb2NhdG9yRnVuYzwvYT48YnIgLz4KKzwvZGQ+PGR0PnZhbGlkaXR5PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjX3htbFBhcnNlckN0eHQiPl94bWxQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCNfeG1sVmFsaWRDdHh0Ij5feG1sVmFsaWRDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGxpbmsuaHRtbCN4bGlua0lzTGluayI+eGxpbmtJc0xpbms8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI3htbEdlbmVyaWNFcnJvckZ1bmMiPnhtbEdlbmVyaWNFcnJvckZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUF0dFZhbHVlIj54bWxQYXJzZUF0dFZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxQYXJzZXJWYWxpZGl0eUVycm9yIj54bWxQYXJzZXJWYWxpZGl0eUVycm9yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxQYXJzZXJWYWxpZGl0eVdhcm5pbmciPnhtbFBhcnNlclZhbGlkaXR5V2FybmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJJc1ZhbGlkIj54bWxUZXh0UmVhZGVySXNWYWxpZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbFVSSUVzY2FwZSI+eG1sVVJJRXNjYXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZEdldFZhbGlkRWxlbWVudHMiPnhtbFZhbGlkR2V0VmFsaWRFbGVtZW50czwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVEb2N1bWVudEZpbmFsIj54bWxWYWxpZGF0ZURvY3VtZW50RmluYWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlTm90YXRpb25EZWNsIj54bWxWYWxpZGF0ZU5vdGF0aW9uRGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRpdHlFcnJvckZ1bmMiPnhtbFZhbGlkaXR5RXJyb3JGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGl0eVdhcm5pbmdGdW5jIj54bWxWYWxpZGl0eVdhcm5pbmdGdW5jPC9hPjxiciAvPgorPC9kZD48ZHQ+dmFsdWU6PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hlY2tVVEY4Ij54bWxDaGVja1VURjg8L2E+PGJyIC8+Cis8L2RkPjxkdD52YWx1ZXM6PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNldENvbXByZXNzTW9kZSI+eG1sU2V0Q29tcHJlc3NNb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNldERvY0NvbXByZXNzTW9kZSI+eG1sU2V0RG9jQ29tcHJlc3NNb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZEN0eHROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZSI+eG1sVmFsaWRDdHh0Tm9ybWFsaXplQXR0cmlidXRlVmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkTm9ybWFsaXplQXR0cmlidXRlVmFsdWUiPnhtbFZhbGlkTm9ybWFsaXplQXR0cmlidXRlVmFsdWU8L2E+PGJyIC8+Cis8L2RkPjxkdD52YXJhZ3M8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI3htbEdlbmVyaWNFcnJvckZ1bmMiPnhtbEdlbmVyaWNFcnJvckZ1bmM8L2E+PGJyIC8+Cis8L2RkPjxkdD52YXJhcmc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkaXR5RXJyb3JGdW5jIj54bWxWYWxpZGl0eUVycm9yRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRpdHlXYXJuaW5nRnVuYyI+eG1sVmFsaWRpdHlXYXJuaW5nRnVuYzwvYT48YnIgLz4KKzwvZGQ+PGR0PnZhcmlhYmxlczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjWE1MX1hQQVRIX05PVkFSIj5YTUxfWFBBVEhfTk9WQVI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI194bWxYUGF0aENvbnRleHQiPl94bWxYUGF0aENvbnRleHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUFByb3h5Ij54bWxOYW5vRlRQUHJveHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmVnaXN0ZXJlZE5zQ2xlYW51cCI+eG1sWFBhdGhSZWdpc3RlcmVkTnNDbGVhbnVwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJlZ2lzdGVyZWRWYXJpYWJsZXNDbGVhbnVwIj54bWxYUGF0aFJlZ2lzdGVyZWRWYXJpYWJsZXNDbGVhbnVwPC9hPjxiciAvPgorPC9kZD48ZHQ+dmFyaWFudDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbENoZWNrTGFuZ3VhZ2VJRCI+eG1sQ2hlY2tMYW5ndWFnZUlEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxEZXRlY3RDaGFyRW5jb2RpbmciPnhtbERldGVjdENoYXJFbmNvZGluZzwvYT48YnIgLz4KKzwvZGQ+PGR0PnZhcmlhbnRzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sQ2hlY2tMYW5ndWFnZUlEIj54bWxDaGVja0xhbmd1YWdlSUQ8L2E+PGJyIC8+Cis8L2RkPjxkdD52YXJpZXR5PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfVkFSSUVUWV9BQlNFTlQiPlhNTF9TQ0hFTUFTX1RZUEVfVkFSSUVUWV9BQlNFTlQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX0FUT01JQyI+WE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX0FUT01JQzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX1ZBUklFVFlfTElTVCI+WE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX0xJU1Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX1VOSU9OIj5YTUxfU0NIRU1BU19UWVBFX1ZBUklFVFlfVU5JT048L2E+PGJyIC8+Cis8L2RkPjxkdD52YXJpb3VzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI194bWxET01XcmFwQ3R4dCI+X3htbERPTVdyYXBDdHh0PC9hPjxiciAvPgorPC9kZD48ZHQ+dmVyc2lvbnM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlRWxlbWVudCI+aHRtbFBhcnNlRWxlbWVudDwvYT48YnIgLz4KKzwvZGQ+PGR0PnZlcnk8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjX2h0bWxFbGVtRGVzYyI+X2h0bWxFbGVtRGVzYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI194bWxQYXJzZXJJbnB1dCI+X3htbFBhcnNlcklucHV0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jRmlyc3RMaW5lIj54bWxDaGFyRW5jRmlyc3RMaW5lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ2xlYW51cFBhcnNlciI+eG1sQ2xlYW51cFBhcnNlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRocmVhZHMuaHRtbCN4bWxDbGVhbnVwVGhyZWFkcyI+eG1sQ2xlYW51cFRocmVhZHM8L2E+PGJyIC8+Cis8L2RkPjxkdD52aWE8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQRmV0Y2giPnhtbE5hbm9IVFRQRmV0Y2g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQTWV0aG9kIj54bWxOYW5vSFRUUE1ldGhvZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9odHRwLmh0bWwjeG1sTmFub0hUVFBNZXRob2RSZWRpciI+eG1sTmFub0hUVFBNZXRob2RSZWRpcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9odHRwLmh0bWwjeG1sTmFub0hUVFBPcGVuIj54bWxOYW5vSFRUUE9wZW48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQT3BlblJlZGlyIj54bWxOYW5vSFRUUE9wZW5SZWRpcjwvYT48YnIgLz4KKzwvZGQ+PGR0PnZpZXc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsIj54bWxTaGVsbDwvYT48YnIgLz4KKzwvZGQ+PGR0PnZpb2xhdGVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI1hNTF9DQVNUX0ZQVFIiPlhNTF9DQVNUX0ZQVFI8L2E+PGJyIC8+Cis8L2RkPjxkdD52aXNpYmxlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtYzE0bi5odG1sI3htbEMxNE5FeGVjdXRlIj54bWxDMTRORXhlY3V0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTROSXNWaXNpYmxlQ2FsbGJhY2siPnhtbEMxNE5Jc1Zpc2libGVDYWxsYmFjazwvYT48YnIgLz4KKzwvZGQ+PGR0PnZvaWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjWE1MX0NBU1RfRlBUUiI+WE1MX0NBU1RfRlBUUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNBWFBhcnNlRmlsZVdpdGhEYXRhIj54bWxTQVhQYXJzZUZpbGVXaXRoRGF0YTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNBWFBhcnNlTWVtb3J5V2l0aERhdGEiPnhtbFNBWFBhcnNlTWVtb3J5V2l0aERhdGE8L2E+PGJyIC8+Cis8L2RkPjxkdD52b2x1bWU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNfeG1sUGFyc2VyQ3R4dCI+X3htbFBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8L2RkPjwvZGw+PGgyIGFsaWduPSJjZW50ZXIiPjxhIGhyZWY9IkFQSWNodW5rMC5odG1sIj5BLUI8L2E+Cis8YSBocmVmPSJBUEljaHVuazEuaHRtbCI+Qy1DPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyLmh0bWwiPkQtRTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMy5odG1sIj5GLUk8L2E+Cis8YSBocmVmPSJBUEljaHVuazQuaHRtbCI+Si1OPC9hPgorPGEgaHJlZj0iQVBJY2h1bms1Lmh0bWwiPk8tUDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNi5odG1sIj5RLVI8L2E+Cis8YSBocmVmPSJBUEljaHVuazcuaHRtbCI+Uy1TPC9hPgorPGEgaHJlZj0iQVBJY2h1bms4Lmh0bWwiPlQtVTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rOS5odG1sIj5WLVg8L2E+Cis8YSBocmVmPSJBUEljaHVuazEwLmh0bWwiPlktYTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTEuaHRtbCI+Yi1iPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMi5odG1sIj5jLWM8L2E+Cis8YSBocmVmPSJBUEljaHVuazEzLmh0bWwiPmQtZDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTQuaHRtbCI+ZS1lPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNS5odG1sIj5mLWY8L2E+Cis8YSBocmVmPSJBUEljaHVuazE2Lmh0bWwiPmctaDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTcuaHRtbCI+aS1pPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxOC5odG1sIj5qLWw8L2E+Cis8YSBocmVmPSJBUEljaHVuazE5Lmh0bWwiPm0tbTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjAuaHRtbCI+bi1uPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMS5odG1sIj5vLW88L2E+Cis8YSBocmVmPSJBUEljaHVuazIyLmh0bWwiPnAtcDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjMuaHRtbCI+cS1yPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNC5odG1sIj5zLXM8L2E+Cis8YSBocmVmPSJBUEljaHVuazI1Lmh0bWwiPnQtdDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjYuaHRtbCI+dS12PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNy5odG1sIj53LXc8L2E+Cis8YSBocmVmPSJBUEljaHVuazI4Lmh0bWwiPngteDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjkuaHRtbCI+eS16PC9hPgorPC9oMj48cD48YSBocmVmPSJidWdzLmh0bWwiPkRhbmllbCBWZWlsbGFyZDwvYT48L3A+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL0FQSWNodW5rMjcuaHRtbCBiL2xpYnhtbDIvZG9jL0FQSWNodW5rMjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYWJhYTI3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvQVBJY2h1bmsyNy5odG1sCkBAIC0wLDAgKzEsMzQ5IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPgorPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPjxoZWFkPjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPjxsaW5rIHJlbD0iU0hPUlRDVVQgSUNPTiIgaHJlZj0iL2Zhdmljb24uaWNvIiAvPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CitURCB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorQk9EWSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhOyBtYXJnaW4tdG9wOiAyZW07IG1hcmdpbi1sZWZ0OiAwZW07IG1hcmdpbi1yaWdodDogMGVtfQorSDEge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gyIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMyB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorQTpsaW5rLCBBOnZpc2l0ZWQsIEE6YWN0aXZlIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgfQorPC9zdHlsZT48dGl0bGU+QVBJIEFscGhhYmV0aWMgSW5kZXggdy13IGZvciBsaWJ4bWwyPC90aXRsZT48L2hlYWQ+PGJvZHkgYmdjb2xvcj0iIzhiNzc2NSIgdGV4dD0iIzAwMDAwMCIgbGluaz0iI2EwNjA2MCIgdmxpbms9IiMwMDAwMDAiPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSIxMDAlIiBjZWxscGFkZGluZz0iNSIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgd2lkdGg9IjEyMCI+PGEgaHJlZj0iaHR0cDovL3N3cGF0LmZmaWkub3JnLyI+PGltZyBzcmM9ImVwYXRlbnRzLnBuZyIgYWx0PSJBY3Rpb24gYWdhaW5zdCBzb2Z0d2FyZSBwYXRlbnRzIiAvPjwvYT48L3RkPjx0ZCB3aWR0aD0iMTgwIj48YSBocmVmPSJodHRwOi8vd3d3Lmdub21lLm9yZy8iPjxpbWcgc3JjPSJnbm9tZTIucG5nIiBhbHQ9Ikdub21lMiBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9TdGF0dXMiPjxpbWcgc3JjPSJ3M2MucG5nIiBhbHQ9IlczQyBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnJlZGhhdC5jb20vIj48aW1nIHNyYz0icmVkaGF0LmdpZiIgYWx0PSJSZWQgSGF0IExvZ28iIC8+PC9hPjxkaXYgYWxpZ249ImxlZnQiPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy8iPjxpbWcgc3JjPSJMaWJ4bWwyLUxvZ28tMTgweDE2OC5naWYiIGFsdD0iTWFkZSB3aXRoIExpYnhtbDIgTG9nbyIgLz48L2E+PC9kaXY+PC90ZD48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjkwJSIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiIGJnY29sb3I9IiNmZmZhY2QiPjx0cj48dGQgYWxpZ249ImNlbnRlciI+PGgxPlRoZSBYTUwgQyBwYXJzZXIgYW5kIHRvb2xraXQgb2YgR25vbWU8L2gxPjxoMj5BUEkgQWxwaGFiZXRpYyBJbmRleCB3LXcgZm9yIGxpYnhtbDI8L2gyPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI0IiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCB2YWxpZ249InRvcCIgd2lkdGg9IjIwMCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+RGV2ZWxvcGVyIE1lbnU8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PGZvcm0gYWN0aW9uPSJzZWFyY2gucGhwIiBlbmN0eXBlPSJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiIG1ldGhvZD0iZ2V0Ij48aW5wdXQgbmFtZT0icXVlcnkiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iIiAvPjxpbnB1dCBuYW1lPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNlYXJjaCAuLi4iIC8+PC9mb3JtPjx1bD48bGk+PGEgaHJlZj0iaW5kZXguaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPk1haW4gTWVudTwvYT48L2xpPjxsaT48YSBocmVmPSJodG1sL2luZGV4Lmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5SZWZlcmVuY2UgTWFudWFsPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImV4YW1wbGVzL2luZGV4Lmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5Db2RlIEV4YW1wbGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imd1aWRlbGluZXMuaHRtbCI+WE1MIEd1aWRlbGluZXM8L2E+PC9saT48bGk+PGEgaHJlZj0idHV0b3JpYWwvaW5kZXguaHRtbCI+VHV0b3JpYWw8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1scmVhZGVyLmh0bWwiPlRoZSBSZWFkZXIgSW50ZXJmYWNlPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkNoYW5nZUxvZy5odG1sIj5DaGFuZ2VMb2c8L2E+PC9saT48bGk+PGEgaHJlZj0iWFNMVC5odG1sIj5YU0xUPC9hPjwvbGk+PGxpPjxhIGhyZWY9InB5dGhvbi5odG1sIj5QeXRob24gYW5kIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImFyY2hpdGVjdHVyZS5odG1sIj5saWJ4bWwyIGFyY2hpdGVjdHVyZTwvYT48L2xpPjxsaT48YSBocmVmPSJ0cmVlLmh0bWwiPlRoZSB0cmVlIG91dHB1dDwvYT48L2xpPjxsaT48YSBocmVmPSJpbnRlcmZhY2UuaHRtbCI+VGhlIFNBWCBpbnRlcmZhY2U8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1sbWVtLmh0bWwiPk1lbW9yeSBNYW5hZ2VtZW50PC9hPjwvbGk+PGxpPjxhIGhyZWY9InhtbGlvLmh0bWwiPkkvTyBJbnRlcmZhY2VzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnJhcnkuaHRtbCI+VGhlIHBhcnNlciBpbnRlcmZhY2VzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImVudGl0aWVzLmh0bWwiPkVudGl0aWVzIG9yIG5vIGVudGl0aWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Im5hbWVzcGFjZXMuaHRtbCI+TmFtZXNwYWNlczwvYT48L2xpPjxsaT48YSBocmVmPSJ1cGdyYWRlLmh0bWwiPlVwZ3JhZGluZyAxLnggY29kZTwvYT48L2xpPjxsaT48YSBocmVmPSJ0aHJlYWRzLmh0bWwiPlRocmVhZCBzYWZldHk8L2E+PC9saT48bGk+PGEgaHJlZj0iRE9NLmh0bWwiPkRPTSBQcmluY2lwbGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImV4YW1wbGUuaHRtbCI+QSByZWFsIGV4YW1wbGU8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1sLmh0bWwiPmZsYXQgcGFnZTwvYT4sIDxhIGhyZWY9InNpdGUueHNsIj5zdHlsZXNoZWV0PC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+QVBJIEluZGV4ZXM8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSJBUEljaHVuazAuaHRtbCI+QWxwaGFiZXRpYzwvYT48L2xpPjxsaT48YSBocmVmPSJBUEljb25zdHJ1Y3RvcnMuaHRtbCI+Q29uc3RydWN0b3JzPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkFQSWZ1bmN0aW9ucy5odG1sIj5GdW5jdGlvbnMvVHlwZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iQVBJZmlsZXMuaHRtbCI+TW9kdWxlczwvYT48L2xpPjxsaT48YSBocmVmPSJBUElzeW1ib2xzLmh0bWwiPlN5bWJvbHM8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5SZWxhdGVkIGxpbmtzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iaHR0cDovL21haWwuZ25vbWUub3JnL2FyY2hpdmVzL3htbC8iPk1haWwgYXJjaGl2ZTwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvWFNMVC8iPlhTTFQgbGlieHNsdDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vcGhkLmNzLnVuaWJvLml0L2dkb21lMi8iPkRPTSBnZG9tZTI8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5hbGVrc2V5LmNvbS94bWxzZWMvIj5YTUwtRFNpZyB4bWxzZWM8L2E+PC9saT48bGk+PGEgaHJlZj0iZnRwOi8veG1sc29mdC5vcmcvIj5GVFA8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56bGF0a292aWMuY29tL3Byb2plY3RzL2xpYnhtbC8iPldpbmRvd3MgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL29wZW5jc3cub3JnL3BhY2thZ2VzL2xpYnhtbDIiPlNvbGFyaXMgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5leHBsYWluLmNvbS5hdS9vc3MvbGlieG1sMnhzbHQuaHRtbCI+TWFjT3NYIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9seG1sLmRlLyI+bHhtbCBQeXRob24gYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2NwYW4udXdpbm5pcGVnLmNhL2Rpc3QvWE1MLUxpYlhNTCI+UGVybCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1scGx1c3BsdXMuc291cmNlZm9yZ2UubmV0LyI+QysrIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemVuZC5jb20vcGhwNS9hcnRpY2xlcy9waHA1LXhtbHBocC5waHAjSGVhZGluZzQiPlBIUCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2xpYnhtbDItcGFzLyI+UGFzY2FsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWwucnVieWZvcmdlLm9yZy8iPlJ1YnkgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3RjbHhtbC5zb3VyY2Vmb3JnZS5uZXQvIj5UY2wgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9idWdsaXN0LmNnaT9wcm9kdWN0PWxpYnhtbDIiPkJ1ZyBUcmFja2VyPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIzIiBjZWxsc3BhY2luZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PGgyIGFsaWduPSJjZW50ZXIiPjxhIGhyZWY9IkFQSWNodW5rMC5odG1sIj5BLUI8L2E+Cis8YSBocmVmPSJBUEljaHVuazEuaHRtbCI+Qy1DPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyLmh0bWwiPkQtRTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMy5odG1sIj5GLUk8L2E+Cis8YSBocmVmPSJBUEljaHVuazQuaHRtbCI+Si1OPC9hPgorPGEgaHJlZj0iQVBJY2h1bms1Lmh0bWwiPk8tUDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNi5odG1sIj5RLVI8L2E+Cis8YSBocmVmPSJBUEljaHVuazcuaHRtbCI+Uy1TPC9hPgorPGEgaHJlZj0iQVBJY2h1bms4Lmh0bWwiPlQtVTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rOS5odG1sIj5WLVg8L2E+Cis8YSBocmVmPSJBUEljaHVuazEwLmh0bWwiPlktYTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTEuaHRtbCI+Yi1iPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMi5odG1sIj5jLWM8L2E+Cis8YSBocmVmPSJBUEljaHVuazEzLmh0bWwiPmQtZDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTQuaHRtbCI+ZS1lPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNS5odG1sIj5mLWY8L2E+Cis8YSBocmVmPSJBUEljaHVuazE2Lmh0bWwiPmctaDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTcuaHRtbCI+aS1pPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxOC5odG1sIj5qLWw8L2E+Cis8YSBocmVmPSJBUEljaHVuazE5Lmh0bWwiPm0tbTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjAuaHRtbCI+bi1uPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMS5odG1sIj5vLW88L2E+Cis8YSBocmVmPSJBUEljaHVuazIyLmh0bWwiPnAtcDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjMuaHRtbCI+cS1yPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNC5odG1sIj5zLXM8L2E+Cis8YSBocmVmPSJBUEljaHVuazI1Lmh0bWwiPnQtdDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjYuaHRtbCI+dS12PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNy5odG1sIj53LXc8L2E+Cis8YSBocmVmPSJBUEljaHVuazI4Lmh0bWwiPngteDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjkuaHRtbCI+eS16PC9hPgorPC9oMj48aDI+TGV0dGVyIHc6PC9oMj48ZGw+PGR0PndhbGtlcjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0UmV2ZXJzZVdhbGsiPnhtbExpc3RSZXZlcnNlV2FsazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0V2FsayI+eG1sTGlzdFdhbGs8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdFdhbGtlciI+eG1sTGlzdFdhbGtlcjwvYT48YnIgLz4KKzwvZGQ+PGR0PndhbGtpbmc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI194bWxYUGF0aENvbnRleHQiPl94bWxYUGF0aENvbnRleHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI194bWxYUGF0aFBhcnNlckNvbnRleHQiPl94bWxYUGF0aFBhcnNlckNvbnRleHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdFdhbGtlciI+eG1sTGlzdFdhbGtlcjwvYT48YnIgLz4KKzwvZGQ+PGR0PndhbnQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNGaXJzdExpbmUiPnhtbENoYXJFbmNGaXJzdExpbmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNJbkZ1bmMiPnhtbENoYXJFbmNJbkZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNPdXRGdW5jIj54bWxDaGFyRW5jT3V0RnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwQWRvcHROb2RlIj54bWxET01XcmFwQWRvcHROb2RlPC9hPjxiciAvPgorPC9kZD48ZHQ+d2FybjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCN4bWxDaGVja1ZlcnNpb24iPnhtbENoZWNrVmVyc2lvbjwvYT48YnIgLz4KKzwvZGQ+PGR0Pndhcm5pbmc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjWE1MX0NBU1RfRlBUUiI+WE1MX0NBU1RfRlBUUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjX3htbFZhbGlkQ3R4dCI+X3htbFZhbGlkQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiQ3JlYXRlUHVzaFBhcnNlckN0eHQiPmRvY2JDcmVhdGVQdXNoUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQiPmh0bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI2luaXR4bWxEZWZhdWx0U0FYSGFuZGxlciI+aW5pdHhtbERlZmF1bHRTQVhIYW5kbGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjd2FybmluZ1NBWEZ1bmMiPndhcm5pbmdTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQiPnhtbENyZWF0ZVB1c2hQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxFbmNvZGVFbnRpdGllcyI+eG1sRW5jb2RlRW50aXRpZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI3htbFBhcnNlclZhbGlkaXR5V2FybmluZyI+eG1sUGFyc2VyVmFsaWRpdHlXYXJuaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxQYXJzZXJXYXJuaW5nIj54bWxQYXJzZXJXYXJuaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdHZXRQYXJzZXJFcnJvcnMiPnhtbFJlbGF4TkdHZXRQYXJzZXJFcnJvcnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR0dldFZhbGlkRXJyb3JzIj54bWxSZWxheE5HR2V0VmFsaWRFcnJvcnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1NldFBhcnNlckVycm9ycyI+eG1sUmVsYXhOR1NldFBhcnNlckVycm9yczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HU2V0VmFsaWRFcnJvcnMiPnhtbFJlbGF4TkdTZXRWYWxpZEVycm9yczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HVmFsaWRpdHlXYXJuaW5nRnVuYyI+eG1sUmVsYXhOR1ZhbGlkaXR5V2FybmluZ0Z1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMkluaXREZWZhdWx0U0FYSGFuZGxlciI+eG1sU0FYMkluaXREZWZhdWx0U0FYSGFuZGxlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFHZXRQYXJzZXJFcnJvcnMiPnhtbFNjaGVtYUdldFBhcnNlckVycm9yczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFHZXRWYWxpZEVycm9ycyI+eG1sU2NoZW1hR2V0VmFsaWRFcnJvcnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hU2V0UGFyc2VyRXJyb3JzIj54bWxTY2hlbWFTZXRQYXJzZXJFcnJvcnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hU2V0VmFsaWRFcnJvcnMiPnhtbFNjaGVtYVNldFZhbGlkRXJyb3JzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkaXR5V2FybmluZ0Z1bmMiPnhtbFNjaGVtYVZhbGlkaXR5V2FybmluZ0Z1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvblZhbGlkaXR5V2FybmluZ0Z1bmMiPnhtbFNjaGVtYXRyb25WYWxpZGl0eVdhcm5pbmdGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNlYXJjaE5zIj54bWxTZWFyY2hOczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJTZXRFcnJvckhhbmRsZXIiPnhtbFRleHRSZWFkZXJTZXRFcnJvckhhbmRsZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyU2V0U3RydWN0dXJlZEVycm9ySGFuZGxlciI+eG1sVGV4dFJlYWRlclNldFN0cnVjdHVyZWRFcnJvckhhbmRsZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkaXR5V2FybmluZ0Z1bmMiPnhtbFZhbGlkaXR5V2FybmluZ0Z1bmM8L2E+PGJyIC8+Cis8L2RkPjxkdD53YXJuaW5nczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI194bWxQYXJzZXJDdHh0Ij5feG1sUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBlZGFudGljUGFyc2VyRGVmYXVsdCI+eG1sUGVkYW50aWNQYXJzZXJEZWZhdWx0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclNldEVycm9ySGFuZGxlciI+eG1sVGV4dFJlYWRlclNldEVycm9ySGFuZGxlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJTZXRTdHJ1Y3R1cmVkRXJyb3JIYW5kbGVyIj54bWxUZXh0UmVhZGVyU2V0U3RydWN0dXJlZEVycm9ySGFuZGxlcjwvYT48YnIgLz4KKzwvZGQ+PGR0PndheTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwjSFRNTF9DT01NRU5UX05PREUiPkhUTUxfQ09NTUVOVF9OT0RFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNIVE1MX0VOVElUWV9SRUZfTk9ERSI+SFRNTF9FTlRJVFlfUkVGX05PREU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI0hUTUxfUElfTk9ERSI+SFRNTF9QSV9OT0RFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNIVE1MX1BSRVNFUlZFX05PREUiPkhUTUxfUFJFU0VSVkVfTk9ERTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwjSFRNTF9URVhUX05PREUiPkhUTUxfVEVYVF9OT0RFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI194bWxEb2MiPl94bWxEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbEJvb2xUb1RleHQiPnhtbEJvb2xUb1RleHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxLZWVwQmxhbmtzRGVmYXVsdCI+eG1sS2VlcEJsYW5rc0RlZmF1bHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3R2xvYmFsTnMiPnhtbE5ld0dsb2JhbE5zPC9hPjxiciAvPgorPC9kZD48ZHQ+d2F5czo8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkR2V0VmFsaWRFbGVtZW50cyI+eG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzPC9hPjxiciAvPgorPC9kZD48ZHQ+d2VsbDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI194bWxQYXJzZXJDdHh0Ij5feG1sUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sU0FYUGFyc2VEb2MiPmh0bWxTQVhQYXJzZURvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sU0FYUGFyc2VGaWxlIj5odG1sU0FYUGFyc2VGaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjc3RhcnRFbGVtZW50TnNTQVgyRnVuYyI+c3RhcnRFbGVtZW50TnNTQVgyRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxDb3B5RG9jIj54bWxDb3B5RG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5Ij54bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlSZWNvdmVyIj54bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlSZWNvdmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VDdHh0RXh0ZXJuYWxFbnRpdHkiPnhtbFBhcnNlQ3R4dEV4dGVybmFsRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VFeHRlcm5hbEVudGl0eSI+eG1sUGFyc2VFeHRlcm5hbEVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlSW5Ob2RlQ29udGV4dCI+eG1sUGFyc2VJbk5vZGVDb250ZXh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJTdGFydEVsZW1lbnROcyI+eG1sU0FYMlN0YXJ0RWxlbWVudE5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hTmV3U3RyaW5nVmFsdWUiPnhtbFNjaGVtYU5ld1N0cmluZ1ZhbHVlPC9hPjxiciAvPgorPC9kZD48ZHQ+d2VsbC1iYWxhbmNlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeSI+eG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5UmVjb3ZlciI+eG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5UmVjb3ZlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlSW5Ob2RlQ29udGV4dCI+eG1sUGFyc2VJbk5vZGVDb250ZXh0PC9hPjxiciAvPgorPC9kZD48ZHQ+d2VsbC1mb3JtZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUN0eHRFeHRlcm5hbEVudGl0eSI+eG1sUGFyc2VDdHh0RXh0ZXJuYWxFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVudGl0eVJlZiI+eG1sUGFyc2VFbnRpdHlSZWY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUV4dFBhcnNlZEVudCI+eG1sUGFyc2VFeHRQYXJzZWRFbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUV4dGVybmFsRW50aXR5Ij54bWxQYXJzZUV4dGVybmFsRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VySGFuZGxlUmVmZXJlbmNlIj54bWxQYXJzZXJIYW5kbGVSZWZlcmVuY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlRHRkRmluYWwiPnhtbFZhbGlkYXRlRHRkRmluYWw8L2E+PGJyIC8+Cis8L2RkPjxkdD53ZWxsLWZvcm1lZG5lc3M8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI3htbEN0eHRSZXNldExhc3RFcnJvciI+eG1sQ3R4dFJlc2V0TGFzdEVycm9yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbnRpdHlSZWYiPnhtbFBhcnNlRW50aXR5UmVmPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxSZXNldExhc3RFcnJvciI+eG1sUmVzZXRMYXN0RXJyb3I8L2E+PGJyIC8+Cis8L2RkPjxkdD53ZWxsZm9ybWVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBBZG9wdE5vZGUiPnhtbERPTVdyYXBBZG9wdE5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcENsb25lTm9kZSI+eG1sRE9NV3JhcENsb25lTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwUmVjb25jaWxlTmFtZXNwYWNlcyI+eG1sRE9NV3JhcFJlY29uY2lsZU5hbWVzcGFjZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUZpbGUiPnhtbFBhcnNlRmlsZTwvYT48YnIgLz4KKzwvZGQ+PGR0PndlcmU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNfeG1sUGFyc2VyQ3R4dCI+X3htbFBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxDaGVja0xhbmd1YWdlSUQiPnhtbENoZWNrTGFuZ3VhZ2VJRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEtlZXBCbGFua3NEZWZhdWx0Ij54bWxLZWVwQmxhbmtzRGVmYXVsdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1lbVNob3ciPnhtbE1lbVNob3c8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hSXNWYWxpZCI+eG1sU2NoZW1hSXNWYWxpZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhpbmNsdWRlLmh0bWwjeG1sWEluY2x1ZGVQcm9jZXNzIj54bWxYSW5jbHVkZVByb2Nlc3M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14aW5jbHVkZS5odG1sI3htbFhJbmNsdWRlUHJvY2Vzc0ZsYWdzIj54bWxYSW5jbHVkZVByb2Nlc3NGbGFnczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhpbmNsdWRlLmh0bWwjeG1sWEluY2x1ZGVQcm9jZXNzRmxhZ3NEYXRhIj54bWxYSW5jbHVkZVByb2Nlc3NGbGFnc0RhdGE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14aW5jbHVkZS5odG1sI3htbFhJbmNsdWRlUHJvY2Vzc05vZGUiPnhtbFhJbmNsdWRlUHJvY2Vzc05vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14aW5jbHVkZS5odG1sI3htbFhJbmNsdWRlUHJvY2Vzc1RyZWUiPnhtbFhJbmNsdWRlUHJvY2Vzc1RyZWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14aW5jbHVkZS5odG1sI3htbFhJbmNsdWRlUHJvY2Vzc1RyZWVGbGFncyI+eG1sWEluY2x1ZGVQcm9jZXNzVHJlZUZsYWdzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGluY2x1ZGUuaHRtbCN4bWxYSW5jbHVkZVByb2Nlc3NUcmVlRmxhZ3NEYXRhIj54bWxYSW5jbHVkZVByb2Nlc3NUcmVlRmxhZ3NEYXRhPC9hPjxiciAvPgorPC9kZD48ZHQ+d2V0aGVyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCNfeG1sTm9kZVNldCI+X3htbE5vZGVTZXQ8L2E+PGJyIC8+Cis8L2RkPjxkdD53aGF0PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dHZXREZWZhdWx0cyI+eG1sQ2F0YWxvZ0dldERlZmF1bHRzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dTZXREZWZhdWx0cyI+eG1sQ2F0YWxvZ1NldERlZmF1bHRzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VOYW1lc3BhY2UiPnhtbFBhcnNlTmFtZXNwYWNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkaXR5TG9jYXRvckZ1bmMiPnhtbFNjaGVtYVZhbGlkaXR5TG9jYXRvckZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyR2V0UmVtYWluZGVyIj54bWxUZXh0UmVhZGVyR2V0UmVtYWluZGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlUmF3TGVuIj54bWxUZXh0V3JpdGVyV3JpdGVSYXdMZW48L2E+PGJyIC8+Cis8L2RkPjxkdD53aGVyZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNfaHRtbEVsZW1EZXNjIj5faHRtbEVsZW1EZXNjPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbENvcHlQcm9wIj54bWxDb3B5UHJvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxDb3B5UHJvcExpc3QiPnhtbENvcHlQcm9wTGlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwQWRvcHROb2RlIj54bWxET01XcmFwQWRvcHROb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBDbG9uZU5vZGUiPnhtbERPTVdyYXBDbG9uZU5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcFJlY29uY2lsZU5hbWVzcGFjZXMiPnhtbERPTVdyYXBSZWNvbmNpbGVOYW1lc3BhY2VzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwR2V0TGFuZ3VhZ2UiPnhtbEV4cEdldExhbmd1YWdlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwR2V0U3RhcnQiPnhtbEV4cEdldFN0YXJ0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxGaWxlUmVhZCI+eG1sRmlsZVJlYWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbElPRlRQUmVhZCI+eG1sSU9GVFBSZWFkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxJT0hUVFBSZWFkIj54bWxJT0hUVFBSZWFkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUEZldGNoIj54bWxOYW5vSFRUUEZldGNoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUFNhdmUiPnhtbE5hbm9IVFRQU2F2ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdOcyI+eG1sTmV3TnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZU1hcmt1cERlY2wiPnhtbFBhcnNlTWFya3VwRGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlU0REZWNsIj54bWxQYXJzZVNERGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJFcnJvckZ1bmMiPnhtbFRleHRSZWFkZXJFcnJvckZ1bmM8L2E+PGJyIC8+Cis8L2RkPjxkdD53aGlsZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sSW5pdENoYXJFbmNvZGluZ0hhbmRsZXJzIj54bWxJbml0Q2hhckVuY29kaW5nSGFuZGxlcnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUF0dHJpYnV0ZVR5cGUiPnhtbFBhcnNlQXR0cmlidXRlVHlwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRW51bWVyYXRlZFR5cGUiPnhtbFBhcnNlRW51bWVyYXRlZFR5cGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVudW1lcmF0aW9uVHlwZSI+eG1sUGFyc2VFbnVtZXJhdGlvblR5cGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZU5vdGF0aW9uVHlwZSI+eG1sUGFyc2VOb3RhdGlvblR5cGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI3htbFNldEdlbmVyaWNFcnJvckZ1bmMiPnhtbFNldEdlbmVyaWNFcnJvckZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI3htbFNldFN0cnVjdHVyZWRFcnJvckZ1bmMiPnhtbFNldFN0cnVjdHVyZWRFcnJvckZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyTmV4dCI+eG1sVGV4dFJlYWRlck5leHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyTmV4dFNpYmxpbmciPnhtbFRleHRSZWFkZXJOZXh0U2libGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzIj54bWxWYWxpZEdldFZhbGlkRWxlbWVudHM8L2E+PGJyIC8+Cis8L2RkPjxkdD53aGl0ZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEtlZXBCbGFua3NEZWZhdWx0Ij54bWxLZWVwQmxhbmtzRGVmYXVsdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlU0REZWNsIj54bWxQYXJzZVNERGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUNvbGxhcHNlU3RyaW5nIj54bWxTY2hlbWFDb2xsYXBzZVN0cmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJOb3JtYWxpemF0aW9uIj54bWxUZXh0UmVhZGVyTm9ybWFsaXphdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb3JtYWxpemVGdW5jdGlvbiI+eG1sWFBhdGhOb3JtYWxpemVGdW5jdGlvbjwvYT48YnIgLz4KKzwvZGQ+PGR0PndoaXRlc3BhY2U8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sSXNCbGFua05vZGUiPnhtbElzQmxhbmtOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VBdHRWYWx1ZSI+eG1sUGFyc2VBdHRWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUNvbXBhcmVWYWx1ZXNXaHRzcCI+eG1sU2NoZW1hQ29tcGFyZVZhbHVlc1dodHNwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hR2V0Q2Fub25WYWx1ZVdodHNwIj54bWxTY2hlbWFHZXRDYW5vblZhbHVlV2h0c3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0V2h0c3AiPnhtbFNjaGVtYVZhbGlkYXRlRmFjZXRXaHRzcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXRXaHRzcCI+eG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldFdodHNwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aElkRnVuY3Rpb24iPnhtbFhQYXRoSWRGdW5jdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb3JtYWxpemVGdW5jdGlvbiI+eG1sWFBhdGhOb3JtYWxpemVGdW5jdGlvbjwvYT48YnIgLz4KKzwvZGQ+PGR0PndoaXRlc3BhY2UtZmFjZXQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVFlQRV9XSElURVNQQUNFX0NPTExBUFNFIj5YTUxfU0NIRU1BU19UWVBFX1dISVRFU1BBQ0VfQ09MTEFQU0U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVFlQRV9XSElURVNQQUNFX1BSRVNFUlZFIj5YTUxfU0NIRU1BU19UWVBFX1dISVRFU1BBQ0VfUFJFU0VSVkU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVFlQRV9XSElURVNQQUNFX1JFUExBQ0UiPlhNTF9TQ0hFTUFTX1RZUEVfV0hJVEVTUEFDRV9SRVBMQUNFPC9hPjxiciAvPgorPC9kZD48ZHQ+d2hpdGVzcGFjZS1zZXBhcmF0ZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoSWRGdW5jdGlvbiI+eG1sWFBhdGhJZEZ1bmN0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+d2hpdGVzcGFjZXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNpZ25vcmFibGVXaGl0ZXNwYWNlIj5pZ25vcmFibGVXaGl0ZXNwYWNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjaWdub3JhYmxlV2hpdGVzcGFjZVNBWEZ1bmMiPmlnbm9yYWJsZVdoaXRlc3BhY2VTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJJZ25vcmFibGVXaGl0ZXNwYWNlIj54bWxTQVgySWdub3JhYmxlV2hpdGVzcGFjZTwvYT48YnIgLz4KKzwvZGQ+PGR0Pndob2xlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxGcmVlRG9jRWxlbWVudENvbnRlbnQiPnhtbEZyZWVEb2NFbGVtZW50Q29udGVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sRnJlZUVsZW1lbnRDb250ZW50Ij54bWxGcmVlRWxlbWVudENvbnRlbnQ8L2E+PGJyIC8+Cis8L2RkPjxkdD53aG9zZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdDb3VudFRyYW5zIj54bWxBdXRvbWF0YU5ld0NvdW50VHJhbnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhTmV3Q291bnRUcmFuczIiPnhtbEF1dG9tYXRhTmV3Q291bnRUcmFuczI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhTmV3T25jZVRyYW5zIj54bWxBdXRvbWF0YU5ld09uY2VUcmFuczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdPbmNlVHJhbnMyIj54bWxBdXRvbWF0YU5ld09uY2VUcmFuczI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyTG9va3VwTmFtZXNwYWNlIj54bWxUZXh0UmVhZGVyTG9va3VwTmFtZXNwYWNlPC9hPjxiciAvPgorPC9kZD48ZHQ+d2h5PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbW9kdWxlLmh0bWwjeG1sTW9kdWxlT3BlbiI+eG1sTW9kdWxlT3BlbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1vZHVsZS5odG1sI3htbE1vZHVsZVN5bWJvbCI+eG1sTW9kdWxlU3ltYm9sPC9hPjxiciAvPgorPC9kZD48ZHQ+d2llcmQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxCdWlsZFJlbGF0aXZlVVJJIj54bWxCdWlsZFJlbGF0aXZlVVJJPC9hPjxiciAvPgorPC9kZD48ZHQ+d2lsZGNhcmQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfQVRUUkdST1VQX0dMT0JBTCI+WE1MX1NDSEVNQVNfQVRUUkdST1VQX0dMT0JBTDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19BVFRSR1JPVVBfV0lMRENBUkRfQlVJTERFRCI+WE1MX1NDSEVNQVNfQVRUUkdST1VQX1dJTERDQVJEX0JVSUxERUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVFlQRV9PV05FRF9BVFRSX1dJTERDQVJEIj5YTUxfU0NIRU1BU19UWVBFX09XTkVEX0FUVFJfV0lMRENBUkQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfV0lMRENBUkRfQ09NUExFVEUiPlhNTF9TQ0hFTUFTX1dJTERDQVJEX0NPTVBMRVRFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYUZyZWVXaWxkY2FyZCI+eG1sU2NoZW1hRnJlZVdpbGRjYXJkPC9hPjxiciAvPgorPC9kZD48ZHQ+d2lsZGNhcmRzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0FOWV9MQVgiPlhNTF9TQ0hFTUFTX0FOWV9MQVg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfQU5ZX1NUUklDVCI+WE1MX1NDSEVNQVNfQU5ZX1NUUklDVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19BVFRSX1VTRV9QUk9ISUJJVEVEIj5YTUxfU0NIRU1BU19BVFRSX1VTRV9QUk9ISUJJVEVEPC9hPjxiciAvPgorPC9kZD48ZHQ+d2luZG93czwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCNJTlZBTElEX1NPQ0tFVCI+SU5WQUxJRF9TT0NLRVQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjU09DS0VUIj5TT0NLRVQ8L2E+PGJyIC8+Cis8L2RkPjxkdD53aXRoX25zPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCNfeG1sTm9kZVNldCI+X3htbE5vZGVTZXQ8L2E+PGJyIC8+Cis8L2RkPjxkdD53aXRoaW48L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI194bWxWYWxpZEN0eHQiPl94bWxWYWxpZEN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhTmV3Q291bnRlclRyYW5zIj54bWxBdXRvbWF0YU5ld0NvdW50ZXJUcmFuczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbEdldFVURjhDaGFyIj54bWxHZXRVVEY4Q2hhcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdEb2NDb21tZW50Ij54bWxOZXdEb2NDb21tZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld0RvY05vZGUiPnhtbE5ld0RvY05vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3RG9jTm9kZUVhdE5hbWUiPnhtbE5ld0RvY05vZGVFYXROYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld0RvY1Jhd05vZGUiPnhtbE5ld0RvY1Jhd05vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3RG9jVGV4dCI+eG1sTmV3RG9jVGV4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlR2V0QmFzZSI+eG1sTm9kZUdldEJhc2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUNoYXJEYXRhIj54bWxQYXJzZUNoYXJEYXRhPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VDb21tZW50Ij54bWxQYXJzZUNvbW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUN0eHRFeHRlcm5hbEVudGl0eSI+eG1sUGFyc2VDdHh0RXh0ZXJuYWxFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUluTm9kZUNvbnRleHQiPnhtbFBhcnNlSW5Ob2RlQ29udGV4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlTWFya3VwRGVjbCI+eG1sUGFyc2VNYXJrdXBEZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VTRERlY2wiPnhtbFBhcnNlU0REZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VyRmluZE5vZGVJbmZvIj54bWxQYXJzZXJGaW5kTm9kZUluZm88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZXJIYW5kbGVQRVJlZmVyZW5jZSI+eG1sUGFyc2VySGFuZGxlUEVSZWZlcmVuY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI3htbFBhcnNlclByaW50RmlsZUNvbnRleHQiPnhtbFBhcnNlclByaW50RmlsZUNvbnRleHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sUmVjb25jaWxpYXRlTnMiPnhtbFJlY29uY2lsaWF0ZU5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYUGFyc2VGaWxlV2l0aERhdGEiPnhtbFNBWFBhcnNlRmlsZVdpdGhEYXRhPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYUGFyc2VNZW1vcnlXaXRoRGF0YSI+eG1sU0FYUGFyc2VNZW1vcnlXaXRoRGF0YTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUNvcHlWYWx1ZSI+eG1sU2NoZW1hQ29weVZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNlYXJjaE5zIj54bWxTZWFyY2hOczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJDb25zdFhtbExhbmciPnhtbFRleHRSZWFkZXJDb25zdFhtbExhbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyWG1sTGFuZyI+eG1sVGV4dFJlYWRlclhtbExhbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVCYXNlNjQiPnhtbFRleHRXcml0ZXJXcml0ZUJhc2U2NDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZUJpbkhleCI+eG1sVGV4dFdyaXRlcldyaXRlQmluSGV4PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZEdldFZhbGlkRWxlbWVudHMiPnhtbFZhbGlkR2V0VmFsaWRFbGVtZW50czwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhJbnRlcnNlY3Rpb24iPnhtbFhQYXRoSW50ZXJzZWN0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+d2l0aG91dDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCNYTUxfQ0FTVF9GUFRSIj5YTUxfQ0FTVF9GUFRSPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCNfeG1sRW50aXR5Ij5feG1sRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjZW50aXR5RGVjbCI+ZW50aXR5RGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI2VudGl0eURlY2xTQVhGdW5jIj5lbnRpdHlEZWNsU0FYRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwjaHRtbE5ld0RvY05vRHREIj5odG1sTmV3RG9jTm9EdEQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxDbGVhbnVwUGFyc2VyIj54bWxDbGVhbnVwUGFyc2VyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbENsZWFudXBUaHJlYWRzIj54bWxDbGVhbnVwVGhyZWFkczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdHbG9iYWxOcyI+eG1sTmV3R2xvYmFsTnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVudGl0eVJlZiI+eG1sUGFyc2VFbnRpdHlSZWY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZVBFUmVmZXJlbmNlIj54bWxQYXJzZVBFUmVmZXJlbmNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VTRERlY2wiPnhtbFBhcnNlU0REZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VySGFuZGxlUEVSZWZlcmVuY2UiPnhtbFBhcnNlckhhbmRsZVBFUmVmZXJlbmNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJFbnRpdHlEZWNsIj54bWxTQVgyRW50aXR5RGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFNjYW5OYW1lIj54bWxTY2FuTmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTcGxpdFFOYW1lMyI+eG1sU3BsaXRRTmFtZTM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlT25lQXR0cmlidXRlIj54bWxWYWxpZGF0ZU9uZUF0dHJpYnV0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVPbmVOYW1lc3BhY2UiPnhtbFZhbGlkYXRlT25lTmFtZXNwYWNlPC9hPjxiciAvPgorPC9kZD48ZHQ+d29uPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjX3htbFBhcnNlckN0eHQiPl94bWxQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld05lZ1RyYW5zIj54bWxBdXRvbWF0YU5ld05lZ1RyYW5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlckNyZWF0ZVN0YXRpYyI+eG1sQnVmZmVyQ3JlYXRlU3RhdGljPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbExvYWRTR01MU3VwZXJDYXRhbG9nIj54bWxMb2FkU0dNTFN1cGVyQ2F0YWxvZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQXR0VmFsdWUiPnhtbFBhcnNlQXR0VmFsdWU8L2E+PGJyIC8+Cis8L2RkPjxkdD53b3JkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI19odG1sRWxlbURlc2MiPl9odG1sRWxlbURlc2M8L2E+PGJyIC8+Cis8L2RkPjxkdD53b3JkczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb3JtYWxpemVGdW5jdGlvbiI+eG1sWFBhdGhOb3JtYWxpemVGdW5jdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdHJpbmdMZW5ndGhGdW5jdGlvbiI+eG1sWFBhdGhTdHJpbmdMZW5ndGhGdW5jdGlvbjwvYT48YnIgLz4KKzwvZGQ+PGR0Pndvcms8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyRGV0YWNoIj54bWxCdWZmZXJEZXRhY2g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtb2R1bGUuaHRtbCN4bWxNb2R1bGVPcGVuIj54bWxNb2R1bGVPcGVuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbW9kdWxlLmh0bWwjeG1sTW9kdWxlU3ltYm9sIj54bWxNb2R1bGVTeW1ib2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUdldEJhc2UiPnhtbE5vZGVHZXRCYXNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbFBhdHRlcm5TdHJlYW1hYmxlIj54bWxQYXR0ZXJuU3RyZWFtYWJsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxSZW1vdmVQcm9wIj54bWxSZW1vdmVQcm9wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYUGFyc2VEb2MiPnhtbFNBWFBhcnNlRG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYUGFyc2VGaWxlIj54bWxTQVhQYXJzZUZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxTQVhQYXJzZUZpbGVXaXRoRGF0YSI+eG1sU0FYUGFyc2VGaWxlV2l0aERhdGE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxTQVhQYXJzZU1lbW9yeSI+eG1sU0FYUGFyc2VNZW1vcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxTQVhQYXJzZU1lbW9yeVdpdGhEYXRhIj54bWxTQVhQYXJzZU1lbW9yeVdpdGhEYXRhPC9hPjxiciAvPgorPC9kZD48ZHQ+d29ya2VkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBDd2QiPnhtbE5hbm9GVFBDd2Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUERlbGUiPnhtbE5hbm9GVFBEZWxlPC9hPjxiciAvPgorPC9kZD48ZHQ+d29ya3M8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsRHUiPnhtbFNoZWxsRHU8L2E+PGJyIC8+Cis8L2RkPjxkdD53b3JyeTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19BTllfTEFYIj5YTUxfU0NIRU1BU19BTllfTEFYPC9hPjxiciAvPgorPC9kZD48ZHQ+d29ydGh3aGlsZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbEJ1aWxkUmVsYXRpdmVVUkkiPnhtbEJ1aWxkUmVsYXRpdmVVUkk8L2E+PGJyIC8+Cis8L2RkPjxkdD53b3VsZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjX3htbEVycm9yIj5feG1sRXJyb3I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEF1dG9DbG9zZVRhZyI+aHRtbEF1dG9DbG9zZVRhZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1vZHVsZS5odG1sI3htbE1vZHVsZU9wZW4iPnhtbE1vZHVsZU9wZW48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtb2R1bGUuaHRtbCN4bWxNb2R1bGVTeW1ib2wiPnhtbE1vZHVsZVN5bWJvbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJHZXRSZW1haW5kZXIiPnhtbFRleHRSZWFkZXJHZXRSZW1haW5kZXI8L2E+PGJyIC8+Cis8L2RkPjxkdD53cmFwcGVyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBBY3F1aXJlTnNGdW5jdGlvbiI+eG1sRE9NV3JhcEFjcXVpcmVOc0Z1bmN0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBSZWNvbmNpbGVOYW1lc3BhY2VzIj54bWxET01XcmFwUmVjb25jaWxlTmFtZXNwYWNlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwUmVtb3ZlTm9kZSI+eG1sRE9NV3JhcFJlbW92ZU5vZGU8L2E+PGJyIC8+Cis8L2RkPjxkdD53cmFwczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJCeXRlQ29uc3VtZWQiPnhtbFRleHRSZWFkZXJCeXRlQ29uc3VtZWQ8L2E+PGJyIC8+Cis8L2RkPjxkdD53cml0ZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sRmlsZVJlYWQiPnhtbEZpbGVSZWFkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxGaW5kQ2hhckVuY29kaW5nSGFuZGxlciI+eG1sRmluZENoYXJFbmNvZGluZ0hhbmRsZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbEdldENoYXJFbmNvZGluZ0hhbmRsZXIiPnhtbEdldENoYXJFbmNvZGluZ0hhbmRsZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbElPRlRQUmVhZCI+eG1sSU9GVFBSZWFkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxJT0hUVFBSZWFkIj54bWxJT0hUVFBSZWFkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxOZXdDaGFyRW5jb2RpbmdIYW5kbGVyIj54bWxOZXdDaGFyRW5jb2RpbmdIYW5kbGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYyI+eG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRCdWZmZXJDcmVhdGVJTyI+eG1sT3V0cHV0QnVmZmVyQ3JlYXRlSU88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dFdyaXRlQ2FsbGJhY2siPnhtbE91dHB1dFdyaXRlQ2FsbGJhY2s8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzYXZlLmh0bWwjeG1sU2F2ZVRvSU8iPnhtbFNhdmVUb0lPPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbFdyaXRlIj54bWxTaGVsbFdyaXRlPC9hPjxiciAvPgorPC9kZD48ZHQ+d3JpdGVyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sRnJlZVRleHRXcml0ZXIiPnhtbEZyZWVUZXh0V3JpdGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sTmV3VGV4dFdyaXRlciI+eG1sTmV3VGV4dFdyaXRlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbE5ld1RleHRXcml0ZXJQdXNoUGFyc2VyIj54bWxOZXdUZXh0V3JpdGVyUHVzaFBhcnNlcjwvYT48YnIgLz4KKzwvZGQ+PGR0PndyaXRlczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJXcml0ZVF1b3RlZFN0cmluZyI+eG1sQnVmZmVyV3JpdGVRdW90ZWRTdHJpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dEJ1ZmZlcldyaXRlIj54bWxPdXRwdXRCdWZmZXJXcml0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0QnVmZmVyV3JpdGVFc2NhcGUiPnhtbE91dHB1dEJ1ZmZlcldyaXRlRXNjYXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyI+eG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmc8L2E+PGJyIC8+Cis8L2RkPjxkdD53cml0aW5nPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZSI+eG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWU8L2E+PGJyIC8+Cis8L2RkPjxkdD53cnQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcFJlbW92ZU5vZGUiPnhtbERPTVdyYXBSZW1vdmVOb2RlPC9hPjxiciAvPgorPC9kZD48ZHQ+d3d3PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteGluY2x1ZGUuaHRtbCNYSU5DTFVERV9OUyI+WElOQ0xVREVfTlM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14aW5jbHVkZS5odG1sI1hJTkNMVURFX09MRF9OUyI+WElOQ0xVREVfT0xEX05TPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjZ2V0U3lzdGVtSWQiPmdldFN5c3RlbUlkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtYzE0bi5odG1sI3htbEMxNE5Eb2NEdW1wTWVtb3J5Ij54bWxDMTRORG9jRHVtcE1lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTRORG9jU2F2ZSI+eG1sQzE0TkRvY1NhdmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jMTRuLmh0bWwjeG1sQzE0TkRvY1NhdmVUbyI+eG1sQzE0TkRvY1NhdmVUbzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTRORXhlY3V0ZSI+eG1sQzE0TkV4ZWN1dGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxDaGVja0xhbmd1YWdlSUQiPnhtbENoZWNrTGFuZ3VhZ2VJRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sR2V0Q2hhckVuY29kaW5nTmFtZSI+eG1sR2V0Q2hhckVuY29kaW5nTmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlckhhbmRsZVBFUmVmZXJlbmNlIj54bWxQYXJzZXJIYW5kbGVQRVJlZmVyZW5jZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlckhhbmRsZVJlZmVyZW5jZSI+eG1sUGFyc2VySGFuZGxlUmVmZXJlbmNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJHZXRTeXN0ZW1JZCI+eG1sU0FYMkdldFN5c3RlbUlkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hR2V0UHJlZGVmaW5lZFR5cGUiPnhtbFNjaGVtYUdldFByZWRlZmluZWRUeXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlck5vZGVUeXBlIj54bWxUZXh0UmVhZGVyTm9kZVR5cGU8L2E+PGJyIC8+Cis8L2RkPjwvZGw+PGgyIGFsaWduPSJjZW50ZXIiPjxhIGhyZWY9IkFQSWNodW5rMC5odG1sIj5BLUI8L2E+Cis8YSBocmVmPSJBUEljaHVuazEuaHRtbCI+Qy1DPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyLmh0bWwiPkQtRTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMy5odG1sIj5GLUk8L2E+Cis8YSBocmVmPSJBUEljaHVuazQuaHRtbCI+Si1OPC9hPgorPGEgaHJlZj0iQVBJY2h1bms1Lmh0bWwiPk8tUDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNi5odG1sIj5RLVI8L2E+Cis8YSBocmVmPSJBUEljaHVuazcuaHRtbCI+Uy1TPC9hPgorPGEgaHJlZj0iQVBJY2h1bms4Lmh0bWwiPlQtVTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rOS5odG1sIj5WLVg8L2E+Cis8YSBocmVmPSJBUEljaHVuazEwLmh0bWwiPlktYTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTEuaHRtbCI+Yi1iPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMi5odG1sIj5jLWM8L2E+Cis8YSBocmVmPSJBUEljaHVuazEzLmh0bWwiPmQtZDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTQuaHRtbCI+ZS1lPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNS5odG1sIj5mLWY8L2E+Cis8YSBocmVmPSJBUEljaHVuazE2Lmh0bWwiPmctaDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTcuaHRtbCI+aS1pPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxOC5odG1sIj5qLWw8L2E+Cis8YSBocmVmPSJBUEljaHVuazE5Lmh0bWwiPm0tbTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjAuaHRtbCI+bi1uPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMS5odG1sIj5vLW88L2E+Cis8YSBocmVmPSJBUEljaHVuazIyLmh0bWwiPnAtcDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjMuaHRtbCI+cS1yPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNC5odG1sIj5zLXM8L2E+Cis8YSBocmVmPSJBUEljaHVuazI1Lmh0bWwiPnQtdDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjYuaHRtbCI+dS12PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNy5odG1sIj53LXc8L2E+Cis8YSBocmVmPSJBUEljaHVuazI4Lmh0bWwiPngteDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjkuaHRtbCI+eS16PC9hPgorPC9oMj48cD48YSBocmVmPSJidWdzLmh0bWwiPkRhbmllbCBWZWlsbGFyZDwvYT48L3A+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL0FQSWNodW5rMjguaHRtbCBiL2xpYnhtbDIvZG9jL0FQSWNodW5rMjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNTk5M2Y5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvQVBJY2h1bmsyOC5odG1sCkBAIC0wLDAgKzEsNTY1IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPgorPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPjxoZWFkPjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPjxsaW5rIHJlbD0iU0hPUlRDVVQgSUNPTiIgaHJlZj0iL2Zhdmljb24uaWNvIiAvPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CitURCB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorQk9EWSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhOyBtYXJnaW4tdG9wOiAyZW07IG1hcmdpbi1sZWZ0OiAwZW07IG1hcmdpbi1yaWdodDogMGVtfQorSDEge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gyIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMyB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorQTpsaW5rLCBBOnZpc2l0ZWQsIEE6YWN0aXZlIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgfQorPC9zdHlsZT48dGl0bGU+QVBJIEFscGhhYmV0aWMgSW5kZXggeC14IGZvciBsaWJ4bWwyPC90aXRsZT48L2hlYWQ+PGJvZHkgYmdjb2xvcj0iIzhiNzc2NSIgdGV4dD0iIzAwMDAwMCIgbGluaz0iI2EwNjA2MCIgdmxpbms9IiMwMDAwMDAiPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSIxMDAlIiBjZWxscGFkZGluZz0iNSIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgd2lkdGg9IjEyMCI+PGEgaHJlZj0iaHR0cDovL3N3cGF0LmZmaWkub3JnLyI+PGltZyBzcmM9ImVwYXRlbnRzLnBuZyIgYWx0PSJBY3Rpb24gYWdhaW5zdCBzb2Z0d2FyZSBwYXRlbnRzIiAvPjwvYT48L3RkPjx0ZCB3aWR0aD0iMTgwIj48YSBocmVmPSJodHRwOi8vd3d3Lmdub21lLm9yZy8iPjxpbWcgc3JjPSJnbm9tZTIucG5nIiBhbHQ9Ikdub21lMiBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9TdGF0dXMiPjxpbWcgc3JjPSJ3M2MucG5nIiBhbHQ9IlczQyBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnJlZGhhdC5jb20vIj48aW1nIHNyYz0icmVkaGF0LmdpZiIgYWx0PSJSZWQgSGF0IExvZ28iIC8+PC9hPjxkaXYgYWxpZ249ImxlZnQiPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy8iPjxpbWcgc3JjPSJMaWJ4bWwyLUxvZ28tMTgweDE2OC5naWYiIGFsdD0iTWFkZSB3aXRoIExpYnhtbDIgTG9nbyIgLz48L2E+PC9kaXY+PC90ZD48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjkwJSIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiIGJnY29sb3I9IiNmZmZhY2QiPjx0cj48dGQgYWxpZ249ImNlbnRlciI+PGgxPlRoZSBYTUwgQyBwYXJzZXIgYW5kIHRvb2xraXQgb2YgR25vbWU8L2gxPjxoMj5BUEkgQWxwaGFiZXRpYyBJbmRleCB4LXggZm9yIGxpYnhtbDI8L2gyPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI0IiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCB2YWxpZ249InRvcCIgd2lkdGg9IjIwMCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+RGV2ZWxvcGVyIE1lbnU8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PGZvcm0gYWN0aW9uPSJzZWFyY2gucGhwIiBlbmN0eXBlPSJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiIG1ldGhvZD0iZ2V0Ij48aW5wdXQgbmFtZT0icXVlcnkiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iIiAvPjxpbnB1dCBuYW1lPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNlYXJjaCAuLi4iIC8+PC9mb3JtPjx1bD48bGk+PGEgaHJlZj0iaW5kZXguaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPk1haW4gTWVudTwvYT48L2xpPjxsaT48YSBocmVmPSJodG1sL2luZGV4Lmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5SZWZlcmVuY2UgTWFudWFsPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImV4YW1wbGVzL2luZGV4Lmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5Db2RlIEV4YW1wbGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imd1aWRlbGluZXMuaHRtbCI+WE1MIEd1aWRlbGluZXM8L2E+PC9saT48bGk+PGEgaHJlZj0idHV0b3JpYWwvaW5kZXguaHRtbCI+VHV0b3JpYWw8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1scmVhZGVyLmh0bWwiPlRoZSBSZWFkZXIgSW50ZXJmYWNlPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkNoYW5nZUxvZy5odG1sIj5DaGFuZ2VMb2c8L2E+PC9saT48bGk+PGEgaHJlZj0iWFNMVC5odG1sIj5YU0xUPC9hPjwvbGk+PGxpPjxhIGhyZWY9InB5dGhvbi5odG1sIj5QeXRob24gYW5kIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImFyY2hpdGVjdHVyZS5odG1sIj5saWJ4bWwyIGFyY2hpdGVjdHVyZTwvYT48L2xpPjxsaT48YSBocmVmPSJ0cmVlLmh0bWwiPlRoZSB0cmVlIG91dHB1dDwvYT48L2xpPjxsaT48YSBocmVmPSJpbnRlcmZhY2UuaHRtbCI+VGhlIFNBWCBpbnRlcmZhY2U8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1sbWVtLmh0bWwiPk1lbW9yeSBNYW5hZ2VtZW50PC9hPjwvbGk+PGxpPjxhIGhyZWY9InhtbGlvLmh0bWwiPkkvTyBJbnRlcmZhY2VzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnJhcnkuaHRtbCI+VGhlIHBhcnNlciBpbnRlcmZhY2VzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImVudGl0aWVzLmh0bWwiPkVudGl0aWVzIG9yIG5vIGVudGl0aWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Im5hbWVzcGFjZXMuaHRtbCI+TmFtZXNwYWNlczwvYT48L2xpPjxsaT48YSBocmVmPSJ1cGdyYWRlLmh0bWwiPlVwZ3JhZGluZyAxLnggY29kZTwvYT48L2xpPjxsaT48YSBocmVmPSJ0aHJlYWRzLmh0bWwiPlRocmVhZCBzYWZldHk8L2E+PC9saT48bGk+PGEgaHJlZj0iRE9NLmh0bWwiPkRPTSBQcmluY2lwbGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImV4YW1wbGUuaHRtbCI+QSByZWFsIGV4YW1wbGU8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1sLmh0bWwiPmZsYXQgcGFnZTwvYT4sIDxhIGhyZWY9InNpdGUueHNsIj5zdHlsZXNoZWV0PC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+QVBJIEluZGV4ZXM8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSJBUEljaHVuazAuaHRtbCI+QWxwaGFiZXRpYzwvYT48L2xpPjxsaT48YSBocmVmPSJBUEljb25zdHJ1Y3RvcnMuaHRtbCI+Q29uc3RydWN0b3JzPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkFQSWZ1bmN0aW9ucy5odG1sIj5GdW5jdGlvbnMvVHlwZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iQVBJZmlsZXMuaHRtbCI+TW9kdWxlczwvYT48L2xpPjxsaT48YSBocmVmPSJBUElzeW1ib2xzLmh0bWwiPlN5bWJvbHM8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5SZWxhdGVkIGxpbmtzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iaHR0cDovL21haWwuZ25vbWUub3JnL2FyY2hpdmVzL3htbC8iPk1haWwgYXJjaGl2ZTwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvWFNMVC8iPlhTTFQgbGlieHNsdDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vcGhkLmNzLnVuaWJvLml0L2dkb21lMi8iPkRPTSBnZG9tZTI8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5hbGVrc2V5LmNvbS94bWxzZWMvIj5YTUwtRFNpZyB4bWxzZWM8L2E+PC9saT48bGk+PGEgaHJlZj0iZnRwOi8veG1sc29mdC5vcmcvIj5GVFA8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56bGF0a292aWMuY29tL3Byb2plY3RzL2xpYnhtbC8iPldpbmRvd3MgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL29wZW5jc3cub3JnL3BhY2thZ2VzL2xpYnhtbDIiPlNvbGFyaXMgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5leHBsYWluLmNvbS5hdS9vc3MvbGlieG1sMnhzbHQuaHRtbCI+TWFjT3NYIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9seG1sLmRlLyI+bHhtbCBQeXRob24gYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2NwYW4udXdpbm5pcGVnLmNhL2Rpc3QvWE1MLUxpYlhNTCI+UGVybCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1scGx1c3BsdXMuc291cmNlZm9yZ2UubmV0LyI+QysrIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemVuZC5jb20vcGhwNS9hcnRpY2xlcy9waHA1LXhtbHBocC5waHAjSGVhZGluZzQiPlBIUCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2xpYnhtbDItcGFzLyI+UGFzY2FsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWwucnVieWZvcmdlLm9yZy8iPlJ1YnkgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3RjbHhtbC5zb3VyY2Vmb3JnZS5uZXQvIj5UY2wgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9idWdsaXN0LmNnaT9wcm9kdWN0PWxpYnhtbDIiPkJ1ZyBUcmFja2VyPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIzIiBjZWxsc3BhY2luZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PGgyIGFsaWduPSJjZW50ZXIiPjxhIGhyZWY9IkFQSWNodW5rMC5odG1sIj5BLUI8L2E+Cis8YSBocmVmPSJBUEljaHVuazEuaHRtbCI+Qy1DPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyLmh0bWwiPkQtRTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMy5odG1sIj5GLUk8L2E+Cis8YSBocmVmPSJBUEljaHVuazQuaHRtbCI+Si1OPC9hPgorPGEgaHJlZj0iQVBJY2h1bms1Lmh0bWwiPk8tUDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNi5odG1sIj5RLVI8L2E+Cis8YSBocmVmPSJBUEljaHVuazcuaHRtbCI+Uy1TPC9hPgorPGEgaHJlZj0iQVBJY2h1bms4Lmh0bWwiPlQtVTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rOS5odG1sIj5WLVg8L2E+Cis8YSBocmVmPSJBUEljaHVuazEwLmh0bWwiPlktYTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTEuaHRtbCI+Yi1iPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMi5odG1sIj5jLWM8L2E+Cis8YSBocmVmPSJBUEljaHVuazEzLmh0bWwiPmQtZDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTQuaHRtbCI+ZS1lPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNS5odG1sIj5mLWY8L2E+Cis8YSBocmVmPSJBUEljaHVuazE2Lmh0bWwiPmctaDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTcuaHRtbCI+aS1pPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxOC5odG1sIj5qLWw8L2E+Cis8YSBocmVmPSJBUEljaHVuazE5Lmh0bWwiPm0tbTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjAuaHRtbCI+bi1uPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMS5odG1sIj5vLW88L2E+Cis8YSBocmVmPSJBUEljaHVuazIyLmh0bWwiPnAtcDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjMuaHRtbCI+cS1yPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNC5odG1sIj5zLXM8L2E+Cis8YSBocmVmPSJBUEljaHVuazI1Lmh0bWwiPnQtdDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjYuaHRtbCI+dS12PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNy5odG1sIj53LXc8L2E+Cis8YSBocmVmPSJBUEljaHVuazI4Lmh0bWwiPngteDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjkuaHRtbCI+eS16PC9hPgorPC9oMj48aDI+TGV0dGVyIHg6PC9oMj48ZGw+PGR0PngwMEI3PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjSVNfRVhURU5ERVIiPklTX0VYVEVOREVSPC9hPjxiciAvPgorPC9kZD48ZHQ+eDAyRDA8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNJU19FWFRFTkRFUiI+SVNfRVhURU5ERVI8L2E+PGJyIC8+Cis8L2RkPjxkdD54MDJEMTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTX0VYVEVOREVSIj5JU19FWFRFTkRFUjwvYT48YnIgLz4KKzwvZGQ+PGR0PngwMzg3PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjSVNfRVhURU5ERVIiPklTX0VYVEVOREVSPC9hPjxiciAvPgorPC9kZD48ZHQ+eDA2NDA8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNJU19FWFRFTkRFUiI+SVNfRVhURU5ERVI8L2E+PGJyIC8+Cis8L2RkPjxkdD54MEU0NjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTX0VYVEVOREVSIj5JU19FWFRFTkRFUjwvYT48YnIgLz4KKzwvZGQ+PGR0PngwRUM2PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjSVNfRVhURU5ERVIiPklTX0VYVEVOREVSPC9hPjxiciAvPgorPC9kZD48ZHQ+eDEwMDAwLTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTX0NIQVIiPklTX0NIQVI8L2E+PGJyIC8+Cis8L2RkPjxkdD54MTBGRkZGPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjSVNfQ0hBUiI+SVNfQ0hBUjwvYT48YnIgLz4KKzwvZGQ+PGR0PngyMDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTX0JMQU5LIj5JU19CTEFOSzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTX0JZVEVfQ0hBUiI+SVNfQllURV9DSEFSPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjSVNfUFVCSURDSEFSIj5JU19QVUJJRENIQVI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUF0dFZhbHVlIj54bWxQYXJzZUF0dFZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VOYW1lIj54bWxQYXJzZU5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZU5tdG9rZW4iPnhtbFBhcnNlTm10b2tlbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRDdHh0Tm9ybWFsaXplQXR0cmlidXRlVmFsdWUiPnhtbFZhbGlkQ3R4dE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlIj54bWxWYWxpZE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlPC9hPjxiciAvPgorPC9kZD48ZHQ+eDIwLTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTX0NIQVIiPklTX0NIQVI8L2E+PGJyIC8+Cis8L2RkPjxkdD54MzAwNTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTX0VYVEVOREVSIj5JU19FWFRFTkRFUjwvYT48YnIgLz4KKzwvZGQ+PGR0PngzMDA3PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjSVNfSURFT0dSQVBISUMiPklTX0lERU9HUkFQSElDPC9hPjxiciAvPgorPC9kZD48ZHQ+eDMwMjEtPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjSVNfSURFT0dSQVBISUMiPklTX0lERU9HUkFQSElDPC9hPjxiciAvPgorPC9kZD48ZHQ+eDMwMjk8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNJU19JREVPR1JBUEhJQyI+SVNfSURFT0dSQVBISUM8L2E+PGJyIC8+Cis8L2RkPjxkdD54MzAzMS08L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNJU19FWFRFTkRFUiI+SVNfRVhURU5ERVI8L2E+PGJyIC8+Cis8L2RkPjxkdD54MzAzNTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTX0VYVEVOREVSIj5JU19FWFRFTkRFUjwvYT48YnIgLz4KKzwvZGQ+PGR0PngzMDlELTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTX0VYVEVOREVSIj5JU19FWFRFTkRFUjwvYT48YnIgLz4KKzwvZGQ+PGR0PngzMDlFPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjSVNfRVhURU5ERVIiPklTX0VYVEVOREVSPC9hPjxiciAvPgorPC9kZD48ZHQ+eDMwRkMtPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjSVNfRVhURU5ERVIiPklTX0VYVEVOREVSPC9hPjxiciAvPgorPC9kZD48ZHQ+eDMwRkU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNJU19FWFRFTkRFUiI+SVNfRVhURU5ERVI8L2E+PGJyIC8+Cis8L2RkPjxkdD54NEUwMC08L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNJU19JREVPR1JBUEhJQyI+SVNfSURFT0dSQVBISUM8L2E+PGJyIC8+Cis8L2RkPjxkdD54OUZBNTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTX0lERU9HUkFQSElDIj5JU19JREVPR1JBUEhJQzwvYT48YnIgLz4KKzwvZGQ+PGR0PnhEN0ZGPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjSVNfQ0hBUiI+SVNfQ0hBUjwvYT48YnIgLz4KKzwvZGQ+PGR0PnhFMDAwLTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTX0NIQVIiPklTX0NIQVI8L2E+PGJyIC8+Cis8L2RkPjxkdD54RkZGRDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTX0NIQVIiPklTX0NIQVI8L2E+PGJyIC8+Cis8L2RkPjxkdD54bGluazwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhsaW5rLmh0bWwjeGxpbmtHZXREZWZhdWx0RGV0ZWN0Ij54bGlua0dldERlZmF1bHREZXRlY3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bGluay5odG1sI3hsaW5rR2V0RGVmYXVsdEhhbmRsZXIiPnhsaW5rR2V0RGVmYXVsdEhhbmRsZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bGluay5odG1sI3hsaW5rU2V0RGVmYXVsdERldGVjdCI+eGxpbmtTZXREZWZhdWx0RGV0ZWN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGxpbmsuaHRtbCN4bGlua1NldERlZmF1bHRIYW5kbGVyIj54bGlua1NldERlZmF1bHRIYW5kbGVyPC9hPjxiciAvPgorPC9kZD48ZHQ+eGxpbmtIYW5kbGVyUHRyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteGxpbmsuaHRtbCN4bGlua0dldERlZmF1bHRIYW5kbGVyIj54bGlua0dldERlZmF1bHRIYW5kbGVyPC9hPjxiciAvPgorPC9kZD48ZHQ+eGxpbmtUeXBlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteGxpbmsuaHRtbCN4bGlua0lzTGluayI+eGxpbmtJc0xpbms8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWwtYzE0bjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTRORG9jRHVtcE1lbW9yeSI+eG1sQzE0TkRvY0R1bXBNZW1vcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jMTRuLmh0bWwjeG1sQzE0TkRvY1NhdmUiPnhtbEMxNE5Eb2NTYXZlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtYzE0bi5odG1sI3htbEMxNE5Eb2NTYXZlVG8iPnhtbEMxNE5Eb2NTYXZlVG88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jMTRuLmh0bWwjeG1sQzE0TkV4ZWN1dGUiPnhtbEMxNE5FeGVjdXRlPC9hPjxiciAvPgorPC9kZD48ZHQ+eG1sLWV4Yy1jMTRuPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtYzE0bi5odG1sI3htbEMxNE5Eb2NEdW1wTWVtb3J5Ij54bWxDMTRORG9jRHVtcE1lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTRORG9jU2F2ZSI+eG1sQzE0TkRvY1NhdmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jMTRuLmh0bWwjeG1sQzE0TkRvY1NhdmVUbyI+eG1sQzE0TkRvY1NhdmVUbzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTRORXhlY3V0ZSI+eG1sQzE0TkV4ZWN1dGU8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWwtbmFtZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlTmFtZXNwYWNlIj54bWxQYXJzZU5hbWVzcGFjZTwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbDo8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX1hNTF9OQU1FU1BBQ0UiPlhNTF9YTUxfTkFNRVNQQUNFPC9hPjxiciAvPgorPC9kZD48ZHQ+eG1sOmJhc2U8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVNldEJhc2UiPnhtbE5vZGVTZXRCYXNlPC9hPjxiciAvPgorPC9kZD48ZHQ+eG1sOmlkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9YTUxfSUQiPlhNTF9YTUxfSUQ8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWw6bGFuZzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhsaW5rLmh0bWwjeGxpbmtFeHRlbmRlZExpbmtGdW5rIj54bGlua0V4dGVuZGVkTGlua0Z1bms8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bGluay5odG1sI3hsaW5rRXh0ZW5kZWRMaW5rU2V0RnVuayI+eGxpbmtFeHRlbmRlZExpbmtTZXRGdW5rPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVHZXRMYW5nIj54bWxOb2RlR2V0TGFuZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlU2V0TGFuZyI+eG1sTm9kZVNldExhbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyQ29uc3RYbWxMYW5nIj54bWxUZXh0UmVhZGVyQ29uc3RYbWxMYW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclhtbExhbmciPnhtbFRleHRSZWFkZXJYbWxMYW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aExhbmdGdW5jdGlvbiI+eG1sWFBhdGhMYW5nRnVuY3Rpb248L2E+PGJyIC8+Cis8L2RkPjxkdD54bWw6c3BhY2U8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNfeG1sUGFyc2VyQ3R4dCI+X3htbFBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUdldFNwYWNlUHJlc2VydmUiPnhtbE5vZGVHZXRTcGFjZVByZXNlcnZlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVTZXRTcGFjZVByZXNlcnZlIj54bWxOb2RlU2V0U3BhY2VQcmVzZXJ2ZTwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbEFkZERvY0VudGl0eTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjeG1sTmV3RW50aXR5Ij54bWxOZXdFbnRpdHk8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxBdHRyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNhdHRyaWJ1dGVTQVhGdW5jIj5hdHRyaWJ1dGVTQVhGdW5jPC9hPjxiciAvPgorPC9kZD48ZHQ+eG1sQXR0clB0cjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxDb3B5UHJvcCI+eG1sQ29weVByb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQ29weVByb3BMaXN0Ij54bWxDb3B5UHJvcExpc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEdldElEIj54bWxHZXRJRDwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbEF0dHJpYnV0ZVB0cjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sR2V0RHRkQXR0ckRlc2MiPnhtbEdldER0ZEF0dHJEZXNjPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxHZXREdGRRQXR0ckRlc2MiPnhtbEdldER0ZFFBdHRyRGVzYzwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbEF0dHJpYnV0ZVRhYmxlUHRyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxDb3B5QXR0cmlidXRlVGFibGUiPnhtbENvcHlBdHRyaWJ1dGVUYWJsZTwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbEJ1Zk5vZGVEdW1wPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVEdW1wIj54bWxOb2RlRHVtcDwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbEJ1ZlB0cjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZHZXROb2RlQ29udGVudCI+eG1sQnVmR2V0Tm9kZUNvbnRlbnQ8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxCdWZmZXI8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNGaXJzdExpbmUiPnhtbENoYXJFbmNGaXJzdExpbmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNJbkZ1bmMiPnhtbENoYXJFbmNJbkZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNPdXRGdW5jIj54bWxDaGFyRW5jT3V0RnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlRHVtcCI+eG1sTm9kZUR1bXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dEJ1ZmZlckNyZWF0ZUJ1ZmZlciI+eG1sT3V0cHV0QnVmZmVyQ3JlYXRlQnVmZmVyPC9hPjxiciAvPgorPC9kZD48ZHQ+eG1sQnVmZmVyUHRyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sTmV3VGV4dFdyaXRlck1lbW9yeSI+eG1sTmV3VGV4dFdyaXRlck1lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0QnVmZmVyQ3JlYXRlQnVmZmVyIj54bWxPdXRwdXRCdWZmZXJDcmVhdGVCdWZmZXI8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxCdWZmZXJTaHJpbms8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmU2hyaW5rIj54bWxCdWZTaHJpbms8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxCdWlsZFVSSTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbEJ1aWxkUmVsYXRpdmVVUkkiPnhtbEJ1aWxkUmVsYXRpdmVVUkk8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxCeXRlc0NvbnN1bWVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckJ5dGVDb25zdW1lZCI+eG1sVGV4dFJlYWRlckJ5dGVDb25zdW1lZDwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbENhdGFsb2dBbGxvdzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nR2V0RGVmYXVsdHMiPnhtbENhdGFsb2dHZXREZWZhdWx0czwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbENhdGFsb2dQdHI8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sTmV3Q2F0YWxvZyI+eG1sTmV3Q2F0YWxvZzwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbENhdGFsb2dSZXNvbHZlUHVibGljPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dHZXRQdWJsaWMiPnhtbENhdGFsb2dHZXRQdWJsaWM8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxDYXRhbG9nUmVzb2x2ZVN5c3RlbTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nR2V0U3lzdGVtIj54bWxDYXRhbG9nR2V0U3lzdGVtPC9hPjxiciAvPgorPC9kZD48ZHQ+eG1sQ2hhckVuY29kaW5nPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI194bWxEb2MiPl94bWxEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNfeG1sUGFyc2VyQ3R4dCI+X3htbFBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbEdldENoYXJFbmNvZGluZ0hhbmRsZXIiPnhtbEdldENoYXJFbmNvZGluZ0hhbmRsZXI8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxDaGFyRW5jb2RpbmdIYW5kbGVyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxOZXdDaGFyRW5jb2RpbmdIYW5kbGVyIj54bWxOZXdDaGFyRW5jb2RpbmdIYW5kbGVyPC9hPjxiciAvPgorPC9kZD48ZHQ+eG1sQ2hhckVuY29kaW5nSGFuZGxlclB0cjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sTmV3Q2hhckVuY29kaW5nSGFuZGxlciI+eG1sTmV3Q2hhckVuY29kaW5nSGFuZGxlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sUmVnaXN0ZXJDaGFyRW5jb2RpbmdIYW5kbGVyIj54bWxSZWdpc3RlckNoYXJFbmNvZGluZ0hhbmRsZXI8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxDaGFyRW5jb2RpbmdJbnB1dEZ1bmM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbE5ld0NoYXJFbmNvZGluZ0hhbmRsZXIiPnhtbE5ld0NoYXJFbmNvZGluZ0hhbmRsZXI8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxDaGFyRW5jb2RpbmdPdXRwdXRGdW5jPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxOZXdDaGFyRW5jb2RpbmdIYW5kbGVyIj54bWxOZXdDaGFyRW5jb2RpbmdIYW5kbGVyPC9hPjxiciAvPgorPC9kZD48ZHQ+eG1sQ2hhcnM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNfeG1sUGFyc2VySW5wdXQiPl94bWxQYXJzZXJJbnB1dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJXcml0ZUNIQVIiPnhtbEJ1ZmZlcldyaXRlQ0hBUjwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbENsZWFudXBQYXJzZXI8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxDbGVhbnVwUGFyc2VyIj54bWxDbGVhbnVwUGFyc2VyPC9hPjxiciAvPgorPC9kZD48ZHQ+eG1sQ2xlYW51cFRocmVhZHM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sQ2xlYW51cFRocmVhZHMiPnhtbENsZWFudXBUaHJlYWRzPC9hPjxiciAvPgorPC9kZD48ZHQ+eG1sQ29weURvY0VsZW1lbnRDb250ZW50PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxDb3B5RWxlbWVudENvbnRlbnQiPnhtbENvcHlFbGVtZW50Q29udGVudDwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbENyZWF0ZUludFN1YnNldDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdEdGQiPnhtbE5ld0R0ZDwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbERPTVdyYXBDdHh0UHRyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBOZXdDdHh0Ij54bWxET01XcmFwTmV3Q3R4dDwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbERlZmF1bHRTQVhMb2NhdG9yPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjc2V0RG9jdW1lbnRMb2NhdG9yIj5zZXREb2N1bWVudExvY2F0b3I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNzZXREb2N1bWVudExvY2F0b3JTQVhGdW5jIj5zZXREb2N1bWVudExvY2F0b3JTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJTZXREb2N1bWVudExvY2F0b3IiPnhtbFNBWDJTZXREb2N1bWVudExvY2F0b3I8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxEb2M8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjX3htbE5zIj5feG1sTnM8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxEb2NDb3B5Tm9kZUxpc3Q8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQ29weU5vZGVMaXN0Ij54bWxDb3B5Tm9kZUxpc3Q8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxEb2NOZXdQSTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdQSSI+eG1sTmV3UEk8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxEb2NQcm9wZXJ0aWVzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI194bWxEb2MiPl94bWxEb2M8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxEb2NQdHI8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQ29weURvYyI+eG1sQ29weURvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbE5ld1RleHRXcml0ZXJEb2MiPnhtbE5ld1RleHRXcml0ZXJEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxOZXdUZXh0V3JpdGVyVHJlZSI+eG1sTmV3VGV4dFdyaXRlclRyZWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyQ3VycmVudERvYyI+eG1sVGV4dFJlYWRlckN1cnJlbnREb2M8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxEdGRQdHI8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQ29weUR0ZCI+eG1sQ29weUR0ZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbElPUGFyc2VEVEQiPnhtbElPUGFyc2VEVEQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZURURCI+eG1sUGFyc2VEVEQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxTQVhQYXJzZURURCI+eG1sU0FYUGFyc2VEVEQ8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxFbGVtZW50Q29udGVudFB0cjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sQ29weURvY0VsZW1lbnRDb250ZW50Ij54bWxDb3B5RG9jRWxlbWVudENvbnRlbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbENvcHlFbGVtZW50Q29udGVudCI+eG1sQ29weUVsZW1lbnRDb250ZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbGVtZW50Q2hpbGRyZW5Db250ZW50RGVjbCI+eG1sUGFyc2VFbGVtZW50Q2hpbGRyZW5Db250ZW50RGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRWxlbWVudE1peGVkQ29udGVudERlY2wiPnhtbFBhcnNlRWxlbWVudE1peGVkQ29udGVudERlY2w8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxFbGVtZW50UHRyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxHZXREdGRFbGVtZW50RGVzYyI+eG1sR2V0RHRkRWxlbWVudERlc2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEdldER0ZFFFbGVtZW50RGVzYyI+eG1sR2V0RHRkUUVsZW1lbnREZXNjPC9hPjxiciAvPgorPC9kZD48ZHQ+eG1sRWxlbWVudFRhYmxlUHRyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxDb3B5RWxlbWVudFRhYmxlIj54bWxDb3B5RWxlbWVudFRhYmxlPC9hPjxiciAvPgorPC9kZD48ZHQ+eG1sRW5jb2RlRW50aXRpZXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI3htbEVuY29kZUVudGl0aWVzIj54bWxFbmNvZGVFbnRpdGllczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjeG1sRW5jb2RlRW50aXRpZXNSZWVudHJhbnQiPnhtbEVuY29kZUVudGl0aWVzUmVlbnRyYW50PC9hPjxiciAvPgorPC9kZD48ZHQ+eG1sRW5jb2RlRW50aXRpZXNSZWVudHJhbnQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI3htbEVuY29kZUVudGl0aWVzIj54bWxFbmNvZGVFbnRpdGllczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdDaGlsZCI+eG1sTmV3Q2hpbGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3RG9jTm9kZSI+eG1sTmV3RG9jTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdEb2NOb2RlRWF0TmFtZSI+eG1sTmV3RG9jTm9kZUVhdE5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVNldENvbnRlbnQiPnhtbE5vZGVTZXRDb250ZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVTZXRDb250ZW50TGVuIj54bWxOb2RlU2V0Q29udGVudExlbjwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbEVuY29kZVNwZWNpYWxDaGFyczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlU2V0Q29udGVudCI+eG1sTm9kZVNldENvbnRlbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVNldENvbnRlbnRMZW4iPnhtbE5vZGVTZXRDb250ZW50TGVuPC9hPjxiciAvPgorPC9kZD48ZHQ+eG1sRW50aXRpZXNUYWJsZVB0cjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjeG1sQ29weUVudGl0aWVzVGFibGUiPnhtbENvcHlFbnRpdGllc1RhYmxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxDcmVhdGVFbnRpdGllc1RhYmxlIj54bWxDcmVhdGVFbnRpdGllc1RhYmxlPC9hPjxiciAvPgorPC9kZD48ZHQ+eG1sRW50aXR5UHRyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjZ2V0RW50aXR5Ij5nZXRFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNnZXRFbnRpdHlTQVhGdW5jIj5nZXRFbnRpdHlTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjZ2V0UGFyYW1ldGVyRW50aXR5Ij5nZXRQYXJhbWV0ZXJFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNnZXRQYXJhbWV0ZXJFbnRpdHlTQVhGdW5jIj5nZXRQYXJhbWV0ZXJFbnRpdHlTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sTmV3RW50aXR5SW5wdXRTdHJlYW0iPnhtbE5ld0VudGl0eUlucHV0U3RyZWFtPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbnRpdHlSZWYiPnhtbFBhcnNlRW50aXR5UmVmPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJHZXRFbnRpdHkiPnhtbFNBWDJHZXRFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMkdldFBhcmFtZXRlckVudGl0eSI+eG1sU0FYMkdldFBhcmFtZXRlckVudGl0eTwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbEVudW1lcmF0aW9uUHRyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxDb3B5RW51bWVyYXRpb24iPnhtbENvcHlFbnVtZXJhdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sQ3JlYXRlRW51bWVyYXRpb24iPnhtbENyZWF0ZUVudW1lcmF0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+eG1sRXhwRnJlZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5ld09yIj54bWxFeHBOZXdPcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5ld1JhbmdlIj54bWxFeHBOZXdSYW5nZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5ld1NlcSI+eG1sRXhwTmV3U2VxPC9hPjxiciAvPgorPC9kZD48ZHQ+eG1sRXhwUmVmPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwTmV3T3IiPnhtbEV4cE5ld09yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwTmV3UmFuZ2UiPnhtbEV4cE5ld1JhbmdlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwTmV3U2VxIj54bWxFeHBOZXdTZXE8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxFeHRlcm5hbEVudGl0eUxvYWRlcjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEdldEV4dGVybmFsRW50aXR5TG9hZGVyIj54bWxHZXRFeHRlcm5hbEVudGl0eUxvYWRlcjwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbEZpbGVPcGVuX3JlYWw8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbEZpbGVPcGVuIj54bWxGaWxlT3BlbjwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbEZyZWU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1jMTRuLmh0bWwjeG1sQzE0TkRvY0R1bXBNZW1vcnkiPnhtbEMxNE5Eb2NEdW1wTWVtb3J5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERvY0R1bXBGb3JtYXRNZW1vcnkiPnhtbERvY0R1bXBGb3JtYXRNZW1vcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRG9jRHVtcEZvcm1hdE1lbW9yeUVuYyI+eG1sRG9jRHVtcEZvcm1hdE1lbW9yeUVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxEb2NEdW1wTWVtb3J5Ij54bWxEb2NEdW1wTWVtb3J5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERvY0R1bXBNZW1vcnlFbmMiPnhtbERvY0R1bXBNZW1vcnlFbmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sR2V0Tm9Oc1Byb3AiPnhtbEdldE5vTnNQcm9wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEdldE5zUHJvcCI+eG1sR2V0TnNQcm9wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEdldFByb3AiPnhtbEdldFByb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUdldEJhc2UiPnhtbE5vZGVHZXRCYXNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVHZXRDb250ZW50Ij54bWxOb2RlR2V0Q29udGVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlR2V0TGFuZyI+eG1sTm9kZUdldExhbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUxpc3RHZXRSYXdTdHJpbmciPnhtbE5vZGVMaXN0R2V0UmF3U3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVMaXN0R2V0U3RyaW5nIj54bWxOb2RlTGlzdEdldFN0cmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJWYWx1ZSI+eG1sVGV4dFJlYWRlclZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENhc3RUb1N0cmluZyI+eG1sWFBhdGhDYXN0VG9TdHJpbmc8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxGcmVlRG9jPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckN1cnJlbnREb2MiPnhtbFRleHRSZWFkZXJDdXJyZW50RG9jPC9hPjxiciAvPgorPC9kZD48ZHQ+eG1sRnJlZURvY0VsZW1lbnRDb250ZW50PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxGcmVlRWxlbWVudENvbnRlbnQiPnhtbEZyZWVFbGVtZW50Q29udGVudDwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbEZyZWVNdXRleDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRocmVhZHMuaHRtbCN4bWxGcmVlTXV0ZXgiPnhtbEZyZWVNdXRleDwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbEZyZWVOb2RlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFVubGlua05vZGUiPnhtbFVubGlua05vZGU8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxGcmVlU3RyZWFtQ3R4dDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCN4bWxQYXR0ZXJuR2V0U3RyZWFtQ3R4dCI+eG1sUGF0dGVybkdldFN0cmVhbUN0eHQ8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxHZXRHbG9iYWxTdGF0ZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRocmVhZHMuaHRtbCN4bWxHZXRHbG9iYWxTdGF0ZSI+eG1sR2V0R2xvYmFsU3RhdGU8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxHZXROb05zUHJvcDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxHZXRQcm9wIj54bWxHZXRQcm9wPC9hPjxiciAvPgorPC9kZD48ZHQ+eG1sR2V0TnNQcm9wPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEdldFByb3AiPnhtbEdldFByb3A8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxHZXRQcm9wPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEdldE5vTnNQcm9wIj54bWxHZXROb05zUHJvcDwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbEdldFRocmVhZElkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbEdldFRocmVhZElkIj54bWxHZXRUaHJlYWRJZDwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbEhhc2hUYWJsZVB0cjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoQ3JlYXRlIj54bWxIYXNoQ3JlYXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hDcmVhdGVEaWN0Ij54bWxIYXNoQ3JlYXRlRGljdDwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbElEUHRyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxBZGRJRCI+eG1sQWRkSUQ8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxJbmRlbnRUcmVlT3V0cHV0PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1Zk5vZGVEdW1wIj54bWxCdWZOb2RlRHVtcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxEb2NEdW1wRm9ybWF0TWVtb3J5Ij54bWxEb2NEdW1wRm9ybWF0TWVtb3J5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERvY0R1bXBGb3JtYXRNZW1vcnlFbmMiPnhtbERvY0R1bXBGb3JtYXRNZW1vcnlFbmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRG9jRm9ybWF0RHVtcCI+eG1sRG9jRm9ybWF0RHVtcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlRHVtcCI+eG1sTm9kZUR1bXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUR1bXBPdXRwdXQiPnhtbE5vZGVEdW1wT3V0cHV0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNhdmVGb3JtYXRGaWxlIj54bWxTYXZlRm9ybWF0RmlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTYXZlRm9ybWF0RmlsZUVuYyI+eG1sU2F2ZUZvcm1hdEZpbGVFbmM8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxJbml0UGFyc2VyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjaHRtbEluaXRBdXRvQ2xvc2UiPmh0bWxJbml0QXV0b0Nsb3NlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ2xlYW51cFBhcnNlciI+eG1sQ2xlYW51cFBhcnNlcjwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbEluaXRUaHJlYWRzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbEluaXRUaHJlYWRzIj54bWxJbml0VGhyZWFkczwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbEluaXRpYWxpemVDYXRhbG9nPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dBZGQiPnhtbENhdGFsb2dBZGQ8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxJbml0aWFsaXplR2xvYmFsU3RhdGU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sSW5pdGlhbGl6ZUdsb2JhbFN0YXRlIj54bWxJbml0aWFsaXplR2xvYmFsU3RhdGU8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxJbnB1dENsb3NlQ2FsbGJhY2s8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbFJlZ2lzdGVySW5wdXRDYWxsYmFja3MiPnhtbFJlZ2lzdGVySW5wdXRDYWxsYmFja3M8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxJbnB1dE1hdGNoQ2FsbGJhY2s8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbFJlZ2lzdGVySW5wdXRDYWxsYmFja3MiPnhtbFJlZ2lzdGVySW5wdXRDYWxsYmFja3M8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxJbnB1dE9wZW5DYWxsYmFjazwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sUmVnaXN0ZXJJbnB1dENhbGxiYWNrcyI+eG1sUmVnaXN0ZXJJbnB1dENhbGxiYWNrczwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbElucHV0UmVhZENhbGxiYWNrPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxSZWdpc3RlcklucHV0Q2FsbGJhY2tzIj54bWxSZWdpc3RlcklucHV0Q2FsbGJhY2tzPC9hPjxiciAvPgorPC9kZD48ZHQ+eG1sSXNCYXNlQ2hhclE8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNCYXNlQ2hhciI+eG1sSXNCYXNlQ2hhcjwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbElzQmFzZUNoYXJfY2g8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNCYXNlQ2hhciI+eG1sSXNCYXNlQ2hhcjwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbElzQmxhbmtOb2RlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sS2VlcEJsYW5rc0RlZmF1bHQiPnhtbEtlZXBCbGFua3NEZWZhdWx0PC9hPjxiciAvPgorPC9kZD48ZHQ+eG1sSXNCbGFua1E8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNCbGFuayI+eG1sSXNCbGFuazwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbElzQmxhbmtfY2g8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNCbGFuayI+eG1sSXNCbGFuazwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbElzQ2hhclE8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNDaGFyIj54bWxJc0NoYXI8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxJc0NoYXJfY2g8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNDaGFyIj54bWxJc0NoYXI8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxJc0NvbWJpbmluZ1E8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNDb21iaW5pbmciPnhtbElzQ29tYmluaW5nPC9hPjxiciAvPgorPC9kZD48ZHQ+eG1sSXNEaWdpdFE8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNEaWdpdCI+eG1sSXNEaWdpdDwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbElzRGlnaXRfY2g8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNEaWdpdCI+eG1sSXNEaWdpdDwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbElzRXh0ZW5kZXJRPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzRXh0ZW5kZXIiPnhtbElzRXh0ZW5kZXI8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxJc0V4dGVuZGVyX2NoPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzRXh0ZW5kZXIiPnhtbElzRXh0ZW5kZXI8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxJc0lkZW9ncmFwaGljUTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc0lkZW9ncmFwaGljIj54bWxJc0lkZW9ncmFwaGljPC9hPjxiciAvPgorPC9kZD48ZHQ+eG1sSXNNYWluVGhyZWFkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbElzTWFpblRocmVhZCI+eG1sSXNNYWluVGhyZWFkPC9hPjxiciAvPgorPC9kZD48ZHQ+eG1sSXNQdWJpZENoYXJRPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzUHViaWRDaGFyIj54bWxJc1B1YmlkQ2hhcjwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbElzUHViaWRDaGFyX2NoPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzUHViaWRDaGFyIj54bWxJc1B1YmlkQ2hhcjwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbEtlZXBCbGFua3NEZWZhdWx0PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1Zk5vZGVEdW1wIj54bWxCdWZOb2RlRHVtcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxEb2NEdW1wRm9ybWF0TWVtb3J5Ij54bWxEb2NEdW1wRm9ybWF0TWVtb3J5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERvY0R1bXBGb3JtYXRNZW1vcnlFbmMiPnhtbERvY0R1bXBGb3JtYXRNZW1vcnlFbmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRG9jRm9ybWF0RHVtcCI+eG1sRG9jRm9ybWF0RHVtcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlRHVtcCI+eG1sTm9kZUR1bXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUR1bXBPdXRwdXQiPnhtbE5vZGVEdW1wT3V0cHV0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNhdmVGb3JtYXRGaWxlIj54bWxTYXZlRm9ybWF0RmlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTYXZlRm9ybWF0RmlsZUVuYyI+eG1sU2F2ZUZvcm1hdEZpbGVFbmM8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxMaXN0V2FsazwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0V2Fsa2VyIj54bWxMaXN0V2Fsa2VyPC9hPjxiciAvPgorPC9kZD48ZHQ+eG1sTG9hZEV4dER0ZERlZmF1bHRWYWx1ZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9DT01QTEVURV9BVFRSUyI+WE1MX0NPTVBMRVRFX0FUVFJTPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX0RFVEVDVF9JRFMiPlhNTF9ERVRFQ1RfSURTPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1NLSVBfSURTIj5YTUxfU0tJUF9JRFM8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxMb2NhdGlvblNldFB0cjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ckZyZWVMb2NhdGlvblNldCI+eG1sWFB0ckZyZWVMb2NhdGlvblNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ckxvY2F0aW9uU2V0Q3JlYXRlIj54bWxYUHRyTG9jYXRpb25TZXRDcmVhdGU8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxMb2NrTGlicmFyeTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRocmVhZHMuaHRtbCN4bWxMb2NrTGlicmFyeSI+eG1sTG9ja0xpYnJhcnk8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxNb2R1bGVPcHRpb248L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxtb2R1bGUuaHRtbCN4bWxNb2R1bGVPcGVuIj54bWxNb2R1bGVPcGVuPC9hPjxiciAvPgorPC9kZD48ZHQ+eG1sTXV0ZXhMb2NrPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbE11dGV4TG9jayI+eG1sTXV0ZXhMb2NrPC9hPjxiciAvPgorPC9kZD48ZHQ+eG1sTXV0ZXhVbmxvY2s8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sTXV0ZXhVbmxvY2siPnhtbE11dGV4VW5sb2NrPC9hPjxiciAvPgorPC9kZD48ZHQ+eG1sTmFub0ZUUEdldDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCNmdHBEYXRhQ2FsbGJhY2siPmZ0cERhdGFDYWxsYmFjazwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbE5hbm9GVFBMaXN0PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI2Z0cExpc3RDYWxsYmFjayI+ZnRwTGlzdENhbGxiYWNrPC9hPjxiciAvPgorPC9kZD48ZHQ+eG1sTmV3Q2hpbGQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3VGV4dENoaWxkIj54bWxOZXdUZXh0Q2hpbGQ8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxOZXdEb2NFbGVtZW50Q29udGVudDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sTmV3RWxlbWVudENvbnRlbnQiPnhtbE5ld0VsZW1lbnRDb250ZW50PC9hPjxiciAvPgorPC9kZD48ZHQ+eG1sTmV3RG9jUmF3Tm9kZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdEb2NOb2RlIj54bWxOZXdEb2NOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld0RvY05vZGVFYXROYW1lIj54bWxOZXdEb2NOb2RlRWF0TmFtZTwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbE5ld011dGV4PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbE5ld011dGV4Ij54bWxOZXdNdXRleDwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbE5ld05vZGU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3Tm9kZUVhdE5hbWUiPnhtbE5ld05vZGVFYXROYW1lPC9hPjxiciAvPgorPC9kZD48ZHQ+eG1sTmV3VGV4dENoaWxkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld0NoaWxkIj54bWxOZXdDaGlsZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdUZXh0Q2hpbGQiPnhtbE5ld1RleHRDaGlsZDwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbE5ld1RleHRXcml0ZXI8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxOZXdUZXh0V3JpdGVyIj54bWxOZXdUZXh0V3JpdGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sTmV3VGV4dFdyaXRlckRvYyI+eG1sTmV3VGV4dFdyaXRlckRvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbE5ld1RleHRXcml0ZXJGaWxlbmFtZSI+eG1sTmV3VGV4dFdyaXRlckZpbGVuYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sTmV3VGV4dFdyaXRlck1lbW9yeSI+eG1sTmV3VGV4dFdyaXRlck1lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbE5ld1RleHRXcml0ZXJQdXNoUGFyc2VyIj54bWxOZXdUZXh0V3JpdGVyUHVzaFBhcnNlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbE5ld1RleHRXcml0ZXJUcmVlIj54bWxOZXdUZXh0V3JpdGVyVHJlZTwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbE5vZGVMaXN0R2V0U3RyaW5nPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVMaXN0R2V0UmF3U3RyaW5nIj54bWxOb2RlTGlzdEdldFJhd1N0cmluZzwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbE5vZGVQdHI8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQ29weU5vZGUiPnhtbENvcHlOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbENvcHlOb2RlTGlzdCI+eG1sQ29weU5vZGVMaXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERvY0NvcHlOb2RlIj54bWxEb2NDb3B5Tm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxEb2NDb3B5Tm9kZUxpc3QiPnhtbERvY0NvcHlOb2RlTGlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxEb2NHZXRSb290RWxlbWVudCI+eG1sRG9jR2V0Um9vdEVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxOZXdUZXh0V3JpdGVyVHJlZSI+eG1sTmV3VGV4dFdyaXRlclRyZWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyQ3VycmVudE5vZGUiPnhtbFRleHRSZWFkZXJDdXJyZW50Tm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQcmVzZXJ2ZSI+eG1sVGV4dFJlYWRlclByZXNlcnZlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vZGVTZXRBZGQiPnhtbFhQYXRoTm9kZVNldEFkZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb2RlU2V0QWRkVW5pcXVlIj54bWxYUGF0aE5vZGVTZXRBZGRVbmlxdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoTm9kZVNldENyZWF0ZSI+eG1sWFBhdGhOb2RlU2V0Q3JlYXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vZGVTZXREZWwiPnhtbFhQYXRoTm9kZVNldERlbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhOb2RlU2V0SXRlbSI+eG1sWFBhdGhOb2RlU2V0SXRlbTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ckJ1aWxkTm9kZUxpc3QiPnhtbFhQdHJCdWlsZE5vZGVMaXN0PC9hPjxiciAvPgorPC9kZD48ZHQ+eG1sTm9kZVNldENvbnRlbnQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUFkZENvbnRlbnQiPnhtbE5vZGVBZGRDb250ZW50PC9hPjxiciAvPgorPC9kZD48ZHQ+eG1sTm9kZVNldENvbnRlbnRMZW48L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUFkZENvbnRlbnRMZW4iPnhtbE5vZGVBZGRDb250ZW50TGVuPC9hPjxiciAvPgorPC9kZD48ZHQ+eG1sTm9kZVNldFB0cjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhGcmVlTm9kZVNldCI+eG1sWFBhdGhGcmVlTm9kZVNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhOb2RlU2V0Q3JlYXRlIj54bWxYUGF0aE5vZGVTZXRDcmVhdGU8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxOb2RlVHlwZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJOb2RlVHlwZSI+eG1sVGV4dFJlYWRlck5vZGVUeXBlPC9hPjxiciAvPgorPC9kZD48ZHQ+eG1sTm90YXRpb25QdHI8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEdldER0ZE5vdGF0aW9uRGVzYyI+eG1sR2V0RHRkTm90YXRpb25EZXNjPC9hPjxiciAvPgorPC9kZD48ZHQ+eG1sTm90YXRpb25UYWJsZVB0cjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sQ29weU5vdGF0aW9uVGFibGUiPnhtbENvcHlOb3RhdGlvblRhYmxlPC9hPjxiciAvPgorPC9kZD48ZHQ+eG1sTnM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcEFjcXVpcmVOc0Z1bmN0aW9uIj54bWxET01XcmFwQWNxdWlyZU5zRnVuY3Rpb248L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxOc1B0cjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNfeG1sRE9NV3JhcEN0eHQiPl94bWxET01XcmFwQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI2dldE5hbWVzcGFjZSI+Z2V0TmFtZXNwYWNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbENvcHlOYW1lc3BhY2UiPnhtbENvcHlOYW1lc3BhY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQ29weU5hbWVzcGFjZUxpc3QiPnhtbENvcHlOYW1lc3BhY2VMaXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBBY3F1aXJlTnNGdW5jdGlvbiI+eG1sRE9NV3JhcEFjcXVpcmVOc0Z1bmN0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEdldE5zTGlzdCI+eG1sR2V0TnNMaXN0PC9hPjxiciAvPgorPC9kZD48ZHQ+eG1sT3V0cHV0QnVmZmVyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI0xJQlhNTDJfTkVXX0JVRkZFUiI+TElCWE1MMl9ORVdfQlVGRkVSPC9hPjxiciAvPgorPC9kZD48ZHQ+eG1sT3V0cHV0QnVmZmVyQ2xvc2U8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2F2ZUZpbGVUbyI+eG1sU2F2ZUZpbGVUbzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTYXZlRm9ybWF0RmlsZVRvIj54bWxTYXZlRm9ybWF0RmlsZVRvPC9hPjxiciAvPgorPC9kZD48ZHQ+eG1sT3V0cHV0QnVmZmVyUHRyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sTmV3VGV4dFdyaXRlciI+eG1sTmV3VGV4dFdyaXRlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmMiPnhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0QnVmZmVyR2V0Q29udGVudCI+eG1sT3V0cHV0QnVmZmVyR2V0Q29udGVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0QnVmZmVyR2V0U2l6ZSI+eG1sT3V0cHV0QnVmZmVyR2V0U2l6ZTwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbE91dHB1dENsb3NlQ2FsbGJhY2s8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbFJlZ2lzdGVyT3V0cHV0Q2FsbGJhY2tzIj54bWxSZWdpc3Rlck91dHB1dENhbGxiYWNrczwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbE91dHB1dE1hdGNoQ2FsbGJhY2s8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbFJlZ2lzdGVyT3V0cHV0Q2FsbGJhY2tzIj54bWxSZWdpc3Rlck91dHB1dENhbGxiYWNrczwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbE91dHB1dE9wZW5DYWxsYmFjazwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sUmVnaXN0ZXJPdXRwdXRDYWxsYmFja3MiPnhtbFJlZ2lzdGVyT3V0cHV0Q2FsbGJhY2tzPC9hPjxiciAvPgorPC9kZD48ZHQ+eG1sT3V0cHV0V3JpdGVDYWxsYmFjazwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sUmVnaXN0ZXJPdXRwdXRDYWxsYmFja3MiPnhtbFJlZ2lzdGVyT3V0cHV0Q2FsbGJhY2tzPC9hPjxiciAvPgorPC9kZD48ZHQ+eG1sUGFyc2VBdHRWYWx1ZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRGVmYXVsdERlY2wiPnhtbFBhcnNlRGVmYXVsdERlY2w8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxQYXJzZUNodW5rPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQiPnhtbENyZWF0ZVB1c2hQYXJzZXJDdHh0PC9hPjxiciAvPgorPC9kZD48ZHQ+eG1sUGFyc2VFbGVtZW50Q29udGVudERlY2w8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVsZW1lbnRDaGlsZHJlbkNvbnRlbnREZWNsIj54bWxQYXJzZUVsZW1lbnRDaGlsZHJlbkNvbnRlbnREZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbGVtZW50TWl4ZWRDb250ZW50RGVjbCI+eG1sUGFyc2VFbGVtZW50TWl4ZWRDb250ZW50RGVjbDwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbFBhcnNlRWxlbWVudERlY2w8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVsZW1lbnRDb250ZW50RGVjbCI+eG1sUGFyc2VFbGVtZW50Q29udGVudERlY2w8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxQYXJzZUV4dGVybmFsSUQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZU5vdGF0aW9uRGVjbCI+eG1sUGFyc2VOb3RhdGlvbkRlY2w8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxQYXJzZUZpbGU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sUGFyc2VDYXRhbG9nRmlsZSI+eG1sUGFyc2VDYXRhbG9nRmlsZTwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbFBhcnNlTmFtZXNwYWNlOjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlTmFtZXNwYWNlIj54bWxQYXJzZU5hbWVzcGFjZTwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbFBhcnNlVVJJPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sVVJJRXNjYXBlIj54bWxVUklFc2NhcGU8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxQYXJzZXJDdHh0PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCNYTUxfQ1RYVF9GSU5JU0hfRFREXzAiPlhNTF9DVFhUX0ZJTklTSF9EVERfMDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjWE1MX0NUWFRfRklOSVNIX0RURF8xIj5YTUxfQ1RYVF9GSU5JU0hfRFREXzE8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxQYXJzZXJDdHh0UHRyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sTmV3UGFyc2VyQ3R4dCI+eG1sTmV3UGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbE5ld1RleHRXcml0ZXJQdXNoUGFyc2VyIj54bWxOZXdUZXh0V3JpdGVyUHVzaFBhcnNlcjwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbFBhcnNlckVycm9yPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNfeG1sRXJyb3IiPl94bWxFcnJvcjwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbFBhcnNlckVycm9yczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiUGFyc2VDaHVuayI+ZG9jYlBhcnNlQ2h1bms8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlQ2h1bmsiPmh0bWxQYXJzZUNodW5rPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VDaHVuayI+eG1sUGFyc2VDaHVuazwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbFBhcnNlckZpbmROb2RlSW5mb0luZGV4PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VyRmluZE5vZGVJbmZvSW5kZXgiPnhtbFBhcnNlckZpbmROb2RlSW5mb0luZGV4PC9hPjxiciAvPgorPC9kZD48ZHQ+eG1sUGFyc2VySGFuZGxlUmVmZXJlbmNlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sU2Nhbk5hbWUiPnhtbFNjYW5OYW1lPC9hPjxiciAvPgorPC9kZD48ZHQ+eG1sUGFyc2VySW5wdXRCdWZmZXI8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjTElCWE1MMl9ORVdfQlVGRkVSIj5MSUJYTUwyX05FV19CVUZGRVI8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbE5ld1RleHRSZWFkZXIiPnhtbE5ld1RleHRSZWFkZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmMiPnhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckdldFJlbWFpbmRlciI+eG1sVGV4dFJlYWRlckdldFJlbWFpbmRlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJTZXR1cCI+eG1sVGV4dFJlYWRlclNldHVwPC9hPjxiciAvPgorPC9kZD48ZHQ+eG1sUGFyc2VySW5wdXRQdHI8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNyZXNvbHZlRW50aXR5Ij5yZXNvbHZlRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjcmVzb2x2ZUVudGl0eVNBWEZ1bmMiPnJlc29sdmVFbnRpdHlTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sRnJlZUlucHV0U3RyZWFtIj54bWxGcmVlSW5wdXRTdHJlYW08L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxMb2FkRXh0ZXJuYWxFbnRpdHkiPnhtbExvYWRFeHRlcm5hbEVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sTm9OZXRFeHRlcm5hbEVudGl0eUxvYWRlciI+eG1sTm9OZXRFeHRlcm5hbEVudGl0eUxvYWRlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sUGFyc2VyUHJpbnRGaWxlQ29udGV4dCI+eG1sUGFyc2VyUHJpbnRGaWxlQ29udGV4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sUGFyc2VyUHJpbnRGaWxlSW5mbyI+eG1sUGFyc2VyUHJpbnRGaWxlSW5mbzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyUmVzb2x2ZUVudGl0eSI+eG1sU0FYMlJlc29sdmVFbnRpdHk8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxQYXJzZXJOb2RlSW5mbzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlckZpbmROb2RlSW5mbyI+eG1sUGFyc2VyRmluZE5vZGVJbmZvPC9hPjxiciAvPgorPC9kZD48ZHQ+eG1sUGFyc2VyUHJvcGVydGllczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJHZXRQYXJzZXJQcm9wIj54bWxUZXh0UmVhZGVyR2V0UGFyc2VyUHJvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJTZXRQYXJzZXJQcm9wIj54bWxUZXh0UmVhZGVyU2V0UGFyc2VyUHJvcDwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbFBhdHRlcm48L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX1BBVFRFUk5fRU5BQkxFRCI+TElCWE1MX1BBVFRFUk5fRU5BQkxFRDwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbFBhdHRlcm5GbGFnczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCN4bWxQYXR0ZXJuY29tcGlsZSI+eG1sUGF0dGVybmNvbXBpbGU8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxQYXR0ZXJuR2V0U3RyZWFtQ3R4dDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCN4bWxQYXR0ZXJuU3RyZWFtYWJsZSI+eG1sUGF0dGVyblN0cmVhbWFibGU8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxQYXR0ZXJuY29tcGlsZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCN4bWxTdHJlYW1QdXNoIj54bWxTdHJlYW1QdXNoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbFN0cmVhbVB1c2hBdHRyIj54bWxTdHJlYW1QdXNoQXR0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCN4bWxTdHJlYW1QdXNoTm9kZSI+eG1sU3RyZWFtUHVzaE5vZGU8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxQb3BJbnB1dDo8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQb3BJbnB1dCI+eG1sUG9wSW5wdXQ8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxQdXNoSW5wdXQ6PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUHVzaElucHV0Ij54bWxQdXNoSW5wdXQ8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxSRnJlZU11dGV4PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbEZyZWVSTXV0ZXgiPnhtbEZyZWVSTXV0ZXg8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxSTXV0ZXhMb2NrPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbFJNdXRleExvY2siPnhtbFJNdXRleExvY2s8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxSTXV0ZXhVbmxvY2s8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sUk11dGV4VW5sb2NrIj54bWxSTXV0ZXhVbmxvY2s8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxSTmV3TXV0ZXg8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sTmV3Uk11dGV4Ij54bWxOZXdSTXV0ZXg8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxSZWFkZXI8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX1JFQURFUl9FTkFCTEVEIj5MSUJYTUxfUkVBREVSX0VOQUJMRUQ8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxSZWZQdHI8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEFkZFJlZiI+eG1sQWRkUmVmPC9hPjxiciAvPgorPC9kZD48ZHQ+eG1sUmVsYXhOR1BhcnNlckZsYWc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhQYXJzZXJTZXRGbGFnIj54bWxSZWxheFBhcnNlclNldEZsYWc8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxSZWxheE5HVmFsaWRhdGVQdXNoRWxlbWVudDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HVmFsaWRhdGVGdWxsRWxlbWVudCI+eG1sUmVsYXhOR1ZhbGlkYXRlRnVsbEVsZW1lbnQ8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxTQVgyQXR0cmlidXRlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxTQVgyQXR0cmlidXRlRGVjbDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZURlY2wiPmF0dHJpYnV0ZURlY2w8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxTQVgyQ0RhdGFCbG9jazwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI2NkYXRhQmxvY2siPmNkYXRhQmxvY2s8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxTQVgyQ2hhcmFjdGVyczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI2NoYXJhY3RlcnMiPmNoYXJhY3RlcnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMklnbm9yYWJsZVdoaXRlc3BhY2UiPnhtbFNBWDJJZ25vcmFibGVXaGl0ZXNwYWNlPC9hPjxiciAvPgorPC9kZD48ZHQ+eG1sU0FYMkNvbW1lbnQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNjb21tZW50Ij5jb21tZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJDb21tZW50Ij54bWxTQVgyQ29tbWVudDwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbFNBWDJFbGVtZW50RGVjbDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI2VsZW1lbnREZWNsIj5lbGVtZW50RGVjbDwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbFNBWDJFbmREb2N1bWVudDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI2VuZERvY3VtZW50Ij5lbmREb2N1bWVudDwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbFNBWDJFbmRFbGVtZW50PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjZW5kRWxlbWVudCI+ZW5kRWxlbWVudDwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbFNBWDJFbnRpdHlEZWNsPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjZW50aXR5RGVjbCI+ZW50aXR5RGVjbDwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbFNBWDJFeHRlcm5hbFN1YnNldDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI2V4dGVybmFsU3Vic2V0Ij5leHRlcm5hbFN1YnNldDwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbFNBWDJHZXRDb2x1bW5OdW1iZXI8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNnZXRDb2x1bW5OdW1iZXIiPmdldENvbHVtbk51bWJlcjwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbFNBWDJHZXRFbnRpdHk8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNnZXRFbnRpdHkiPmdldEVudGl0eTwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbFNBWDJHZXRMaW5lTnVtYmVyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjZ2V0TGluZU51bWJlciI+Z2V0TGluZU51bWJlcjwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbFNBWDJHZXRQYXJhbWV0ZXJFbnRpdHk8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNnZXRQYXJhbWV0ZXJFbnRpdHkiPmdldFBhcmFtZXRlckVudGl0eTwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbFNBWDJHZXRQdWJsaWNJZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI2dldFB1YmxpY0lkIj5nZXRQdWJsaWNJZDwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbFNBWDJHZXRTeXN0ZW1JZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI2dldFN5c3RlbUlkIj5nZXRTeXN0ZW1JZDwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbFNBWDJIYXNFeHRlcm5hbFN1YnNldDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI2hhc0V4dGVybmFsU3Vic2V0Ij5oYXNFeHRlcm5hbFN1YnNldDwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbFNBWDJIYXNJbnRlcm5hbFN1YnNldDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI2hhc0ludGVybmFsU3Vic2V0Ij5oYXNJbnRlcm5hbFN1YnNldDwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbFNBWDJJZ25vcmFibGVXaGl0ZXNwYWNlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjaWdub3JhYmxlV2hpdGVzcGFjZSI+aWdub3JhYmxlV2hpdGVzcGFjZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEtlZXBCbGFua3NEZWZhdWx0Ij54bWxLZWVwQmxhbmtzRGVmYXVsdDwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbFNBWDJJbml0RGVmYXVsdFNBWEhhbmRsZXI8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNpbml0eG1sRGVmYXVsdFNBWEhhbmRsZXIiPmluaXR4bWxEZWZhdWx0U0FYSGFuZGxlcjwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbFNBWDJJbml0RG9jYkRlZmF1bHRTQVhIYW5kbGVyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjaW5pdGRvY2JEZWZhdWx0U0FYSGFuZGxlciI+aW5pdGRvY2JEZWZhdWx0U0FYSGFuZGxlcjwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbFNBWDJJbml0SHRtbERlZmF1bHRTQVhIYW5kbGVyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjaW5pdGh0bWxEZWZhdWx0U0FYSGFuZGxlciI+aW5pdGh0bWxEZWZhdWx0U0FYSGFuZGxlcjwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbFNBWDJJbnRlcm5hbFN1YnNldDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI2ludGVybmFsU3Vic2V0Ij5pbnRlcm5hbFN1YnNldDwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbFNBWDJJc1N0YW5kYWxvbmU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNpc1N0YW5kYWxvbmUiPmlzU3RhbmRhbG9uZTwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbFNBWDJOb3RhdGlvbkRlY2w8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNub3RhdGlvbkRlY2wiPm5vdGF0aW9uRGVjbDwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbFNBWDJQcm9jZXNzaW5nSW5zdHJ1Y3Rpb248L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNwcm9jZXNzaW5nSW5zdHJ1Y3Rpb24iPnByb2Nlc3NpbmdJbnN0cnVjdGlvbjwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbFNBWDJSZWZlcmVuY2U8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNyZWZlcmVuY2UiPnJlZmVyZW5jZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyUmVmZXJlbmNlIj54bWxTQVgyUmVmZXJlbmNlPC9hPjxiciAvPgorPC9kZD48ZHQ+eG1sU0FYMlJlc29sdmVFbnRpdHk8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNyZXNvbHZlRW50aXR5Ij5yZXNvbHZlRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJSZXNvbHZlRW50aXR5Ij54bWxTQVgyUmVzb2x2ZUVudGl0eTwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbFNBWDJTdGFydERvY3VtZW50PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjc3RhcnREb2N1bWVudCI+c3RhcnREb2N1bWVudDwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbFNBWDJTdGFydEVsZW1lbnQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNzdGFydEVsZW1lbnQiPnN0YXJ0RWxlbWVudDwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbFNBWDJVbnBhcnNlZEVudGl0eURlY2w8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCN1bnBhcnNlZEVudGl0eURlY2wiPnVucGFyc2VkRW50aXR5RGVjbDwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbFNBWEhhbmRsZXJQdHI8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hU0FYUGx1ZyI+eG1sU2NoZW1hU0FYUGx1ZzwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbFNBWFZlcnNpb248L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYRGVmYXVsdFZlcnNpb24iPnhtbFNBWERlZmF1bHRWZXJzaW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+eG1sU2F2ZU9wdGlvbnM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxzYXZlLmh0bWwjeG1sU2F2ZVRvQnVmZmVyIj54bWxTYXZlVG9CdWZmZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzYXZlLmh0bWwjeG1sU2F2ZVRvRmQiPnhtbFNhdmVUb0ZkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2F2ZS5odG1sI3htbFNhdmVUb0ZpbGVuYW1lIj54bWxTYXZlVG9GaWxlbmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNhdmUuaHRtbCN4bWxTYXZlVG9JTyI+eG1sU2F2ZVRvSU88L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxTY2hlbWFTQVhQbHVnPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVNBWFVucGx1ZyI+eG1sU2NoZW1hU0FYVW5wbHVnPC9hPjxiciAvPgorPC9kZD48ZHQ+eG1sU2NoZW1hVmFsVHlwZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUdldFZhbFR5cGUiPnhtbFNjaGVtYUdldFZhbFR5cGU8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxTY2hlbWFWYWxpZE9wdGlvbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFTZXRWYWxpZE9wdGlvbnMiPnhtbFNjaGVtYVNldFZhbGlkT3B0aW9uczwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbFNjaGVtYXRyb25WYWxpZE9wdGlvbnM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvbk5ld1ZhbGlkQ3R4dCI+eG1sU2NoZW1hdHJvbk5ld1ZhbGlkQ3R4dDwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbFNldEV4dGVybmFsRW50aXR5TG9hZGVyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjcmVzb2x2ZUVudGl0eSI+cmVzb2x2ZUVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3Jlc29sdmVFbnRpdHlTQVhGdW5jIj5yZXNvbHZlRW50aXR5U0FYRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyUmVzb2x2ZUVudGl0eSI+eG1sU0FYMlJlc29sdmVFbnRpdHk8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxTbnByaW50ZkVsZW1lbnRDb250ZW50PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxTcHJpbnRmRWxlbWVudENvbnRlbnQiPnhtbFNwcmludGZFbGVtZW50Q29udGVudDwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbFN0cmNtcDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFN0ckVxdWFsIj54bWxTdHJFcXVhbDwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbFN0cmR1cDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdOb2RlIj54bWxOZXdOb2RlPC9hPjxiciAvPgorPC9kZD48ZHQ+eG1sU3RyZWFtUHVzaDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCN4bWxTdHJlYW1QdXNoTm9kZSI+eG1sU3RyZWFtUHVzaE5vZGU8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxTdHJpbmdEZWNvZGVFbnRpdGllczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbERlY29kZUVudGl0aWVzIj54bWxEZWNvZGVFbnRpdGllczwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbFN0cmluZ0dldE5vZGVMaXN0PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VBdHRWYWx1ZSI+eG1sUGFyc2VBdHRWYWx1ZTwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbFN0cm5jYXQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJuY2F0TmV3Ij54bWxTdHJuY2F0TmV3PC9hPjxiciAvPgorPC9kZD48ZHQ+eG1sU3RybmNtcDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFVURjhDaGFyY21wIj54bWxVVEY4Q2hhcmNtcDwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbFRleHRSZWFkZXI8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxOZXdUZXh0UmVhZGVyIj54bWxOZXdUZXh0UmVhZGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sTmV3VGV4dFJlYWRlckZpbGVuYW1lIj54bWxOZXdUZXh0UmVhZGVyRmlsZW5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxSZWFkZXJOZXdEb2MiPnhtbFJlYWRlck5ld0RvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFJlYWRlck5ld0ZkIj54bWxSZWFkZXJOZXdGZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFJlYWRlck5ld0ZpbGUiPnhtbFJlYWRlck5ld0ZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxSZWFkZXJOZXdJTyI+eG1sUmVhZGVyTmV3SU88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxSZWFkZXJOZXdNZW1vcnkiPnhtbFJlYWRlck5ld01lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFJlYWRlck5ld1dhbGtlciI+eG1sUmVhZGVyTmV3V2Fsa2VyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckN1cnJlbnREb2MiPnhtbFRleHRSZWFkZXJDdXJyZW50RG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckN1cnJlbnROb2RlIj54bWxUZXh0UmVhZGVyQ3VycmVudE5vZGU8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxUZXh0UmVhZGVyQ3VycmVudERvYzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQcmVzZXJ2ZSI+eG1sVGV4dFJlYWRlclByZXNlcnZlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclByZXNlcnZlUGF0dGVybiI+eG1sVGV4dFJlYWRlclByZXNlcnZlUGF0dGVybjwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbFRleHRSZWFkZXJMb2NhdG9yUHRyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckxvY2F0b3JCYXNlVVJJIj54bWxUZXh0UmVhZGVyTG9jYXRvckJhc2VVUkk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyTG9jYXRvckxpbmVOdW1iZXIiPnhtbFRleHRSZWFkZXJMb2NhdG9yTGluZU51bWJlcjwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbFRleHRSZWFkZXJSZWFkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckV4cGFuZCI+eG1sVGV4dFJlYWRlckV4cGFuZDwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbFRleHRXcml0ZXJTdGFydERUREVudGl0eTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZURUREV4dGVybmFsRW50aXR5Ij54bWxUZXh0V3JpdGVyV3JpdGVEVERFeHRlcm5hbEVudGl0eTwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbFRleHRXcml0ZXJXcml0ZURURDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZURvY1R5cGUiPnhtbFRleHRXcml0ZXJXcml0ZURvY1R5cGU8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxUZXh0V3JpdGVyV3JpdGVQSTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZVByb2Nlc3NpbmdJbnN0cnVjdGlvbiI+eG1sVGV4dFdyaXRlcldyaXRlUHJvY2Vzc2luZ0luc3RydWN0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+eG1sVVJJPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sQ3JlYXRlVVJJIj54bWxDcmVhdGVVUkk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxGcmVlVVJJIj54bWxGcmVlVVJJPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sUHJpbnRVUkkiPnhtbFByaW50VVJJPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sU2F2ZVVyaSI+eG1sU2F2ZVVyaTwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbFVSSUVzY2FwZVN0cjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbFVSSUVzY2FwZSI+eG1sVVJJRXNjYXBlPC9hPjxiciAvPgorPC9kZD48ZHQ+eG1sVVJJRnJvbVBhdGg8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE5vcm1hbGl6ZVdpbmRvd3NQYXRoIj54bWxOb3JtYWxpemVXaW5kb3dzUGF0aDwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbFVSSVB0cjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbFBhcnNlVVJJIj54bWxQYXJzZVVSSTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbFBhcnNlVVJJUmF3Ij54bWxQYXJzZVVSSVJhdzwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbFVubGlua05vZGU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRG9jU2V0Um9vdEVsZW1lbnQiPnhtbERvY1NldFJvb3RFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEZyZWVOb2RlIj54bWxGcmVlTm9kZTwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbFVubG9ja0xpYnJhcnk8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sVW5sb2NrTGlicmFyeSI+eG1sVW5sb2NrTGlicmFyeTwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbFZhbGlkQ3R4dFB0cjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRpdHlFcnJvckZ1bmMiPnhtbFZhbGlkaXR5RXJyb3JGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGl0eVdhcm5pbmdGdW5jIj54bWxWYWxpZGl0eVdhcm5pbmdGdW5jPC9hPjxiciAvPgorPC9kZD48ZHQ+eG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZEdldFZhbGlkRWxlbWVudHMiPnhtbFZhbGlkR2V0VmFsaWRFbGVtZW50czwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbFZhbGlkYXRlQXR0cmlidXRlRGVjbDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRGVmYXVsdERlY2wiPnhtbFBhcnNlRGVmYXVsdERlY2w8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxWYWxpZGF0ZUF0dHJpYnV0ZVZhbHVlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VBdHRyaWJ1dGVUeXBlIj54bWxQYXJzZUF0dHJpYnV0ZVR5cGU8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxWYWxpZGF0ZU9uZUF0dHJpYnV0ZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVPbmVFbGVtZW50Ij54bWxWYWxpZGF0ZU9uZUVsZW1lbnQ8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxXcml0ZXI8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX1dSSVRFUl9FTkFCTEVEIj5MSUJYTUxfV1JJVEVSX0VOQUJMRUQ8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxYUGF0aENoZWNrRXJyb3I8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUG9wQm9vbGVhbiI+eG1sWFBhdGhQb3BCb29sZWFuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFBvcEV4dGVybmFsIj54bWxYUGF0aFBvcEV4dGVybmFsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFBvcE5vZGVTZXQiPnhtbFhQYXRoUG9wTm9kZVNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhQb3BOdW1iZXIiPnhtbFhQYXRoUG9wTnVtYmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFBvcFN0cmluZyI+eG1sWFBhdGhQb3BTdHJpbmc8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxYUGF0aENvbXBFeHByUHRyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbXBpbGUiPnhtbFhQYXRoQ29tcGlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDdHh0Q29tcGlsZSI+eG1sWFBhdGhDdHh0Q29tcGlsZTwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbFhQYXRoQ29udGV4dDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhGcmVlQ29udGV4dCI+eG1sWFBhdGhGcmVlQ29udGV4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhOZXdDb250ZXh0Ij54bWxYUGF0aE5ld0NvbnRleHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJOZXdDb250ZXh0Ij54bWxYUHRyTmV3Q29udGV4dDwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbFhQYXRoRXJyb3I8L2R0PjxkZD48YSBocmVmPSIiPmVycjwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbFhQYXRoRXZhbFByZWRpY2F0ZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ckV2YWxSYW5nZVByZWRpY2F0ZSI+eG1sWFB0ckV2YWxSYW5nZVByZWRpY2F0ZTwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbFhQYXRoRnJlZU9iamVjdDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhGcmVlTm9kZVNldExpc3QiPnhtbFhQYXRoRnJlZU5vZGVTZXRMaXN0PC9hPjxiciAvPgorPC9kZD48ZHQ+eG1sWFBhdGhGdW5jdGlvbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhGdW5jdGlvbkxvb2t1cCI+eG1sWFBhdGhGdW5jdGlvbkxvb2t1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhGdW5jdGlvbkxvb2t1cE5TIj54bWxYUGF0aEZ1bmN0aW9uTG9va3VwTlM8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxYUGF0aE5vZGVUcmFpbGluZ1NvcnRlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb2RlVHJhaWxpbmciPnhtbFhQYXRoTm9kZVRyYWlsaW5nPC9hPjxiciAvPgorPC9kZD48ZHQ+eG1sWFBhdGhPYmplY3Q8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFNldENhY2hlIj54bWxYUGF0aENvbnRleHRTZXRDYWNoZTwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbFhQYXRoT2JqZWN0UHRyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbXBpbGVkRXZhbCI+eG1sWFBhdGhDb21waWxlZEV2YWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoRXZhbCI+eG1sWFBhdGhFdmFsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aEV2YWxFeHByZXNzaW9uIj54bWxYUGF0aEV2YWxFeHByZXNzaW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aEZyZWVOb2RlU2V0TGlzdCI+eG1sWFBhdGhGcmVlTm9kZVNldExpc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoRnJlZU9iamVjdCI+eG1sWFBhdGhGcmVlT2JqZWN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5ld0Jvb2xlYW4iPnhtbFhQYXRoTmV3Qm9vbGVhbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXdDU3RyaW5nIj54bWxYUGF0aE5ld0NTdHJpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV3RmxvYXQiPnhtbFhQYXRoTmV3RmxvYXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV3Tm9kZVNldCI+eG1sWFBhdGhOZXdOb2RlU2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5ld05vZGVTZXRMaXN0Ij54bWxYUGF0aE5ld05vZGVTZXRMaXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5ld1N0cmluZyI+eG1sWFBhdGhOZXdTdHJpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV3VmFsdWVUcmVlIj54bWxYUGF0aE5ld1ZhbHVlVHJlZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhOb2RlRXZhbCI+eG1sWFBhdGhOb2RlRXZhbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhXcmFwTm9kZVNldCI+eG1sWFBhdGhXcmFwTm9kZVNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ckV2YWwiPnhtbFhQdHJFdmFsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyTG9jYXRpb25TZXRBZGQiPnhtbFhQdHJMb2NhdGlvblNldEFkZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ckxvY2F0aW9uU2V0Q3JlYXRlIj54bWxYUHRyTG9jYXRpb25TZXRDcmVhdGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJMb2NhdGlvblNldERlbCI+eG1sWFB0ckxvY2F0aW9uU2V0RGVsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyTmV3Q29sbGFwc2VkUmFuZ2UiPnhtbFhQdHJOZXdDb2xsYXBzZWRSYW5nZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ck5ld0xvY2F0aW9uU2V0Tm9kZVNldCI+eG1sWFB0ck5ld0xvY2F0aW9uU2V0Tm9kZVNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ck5ld0xvY2F0aW9uU2V0Tm9kZXMiPnhtbFhQdHJOZXdMb2NhdGlvblNldE5vZGVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyTmV3UmFuZ2UiPnhtbFhQdHJOZXdSYW5nZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ck5ld1JhbmdlTm9kZU9iamVjdCI+eG1sWFB0ck5ld1JhbmdlTm9kZU9iamVjdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ck5ld1JhbmdlTm9kZVBvaW50Ij54bWxYUHRyTmV3UmFuZ2VOb2RlUG9pbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJOZXdSYW5nZU5vZGVzIj54bWxYUHRyTmV3UmFuZ2VOb2RlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ck5ld1JhbmdlUG9pbnROb2RlIj54bWxYUHRyTmV3UmFuZ2VQb2ludE5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJOZXdSYW5nZVBvaW50cyI+eG1sWFB0ck5ld1JhbmdlUG9pbnRzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyV3JhcExvY2F0aW9uU2V0Ij54bWxYUHRyV3JhcExvY2F0aW9uU2V0PC9hPjxiciAvPgorPC9kZD48ZHQ+eG1sWFBhdGhQYXJzZXJDb250ZXh0PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEZyZWVQYXJzZXJDb250ZXh0Ij54bWxYUGF0aEZyZWVQYXJzZXJDb250ZXh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5ld1BhcnNlckNvbnRleHQiPnhtbFhQYXRoTmV3UGFyc2VyQ29udGV4dDwvYT48YnIgLz4KKzwvZGQ+PGR0PnhtbFhQYXRoVHJhaWxpbmdTb3J0ZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoVHJhaWxpbmciPnhtbFhQYXRoVHJhaWxpbmc8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxuczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbE5hbWVzcGFjZVBhcnNlTlNEZWYiPnhtbE5hbWVzcGFjZVBhcnNlTlNEZWY8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWxuczo/Pz88L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUF0dHJpYnV0ZSI+eG1sUGFyc2VBdHRyaWJ1dGU8L2E+PGJyIC8+Cis8L2RkPjxkdD54bWx0ZXh0UmVhZGVyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sUmVhZGVyRm9yRG9jIj54bWxSZWFkZXJGb3JEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxSZWFkZXJGb3JGZCI+eG1sUmVhZGVyRm9yRmQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxSZWFkZXJGb3JJTyI+eG1sUmVhZGVyRm9ySU88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxSZWFkZXJGb3JNZW1vcnkiPnhtbFJlYWRlckZvck1lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFJlYWRlck5ld0RvYyI+eG1sUmVhZGVyTmV3RG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sUmVhZGVyTmV3RmQiPnhtbFJlYWRlck5ld0ZkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sUmVhZGVyTmV3SU8iPnhtbFJlYWRlck5ld0lPPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sUmVhZGVyTmV3TWVtb3J5Ij54bWxSZWFkZXJOZXdNZW1vcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxSZWFkZXJOZXdXYWxrZXIiPnhtbFJlYWRlck5ld1dhbGtlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFJlYWRlcldhbGtlciI+eG1sUmVhZGVyV2Fsa2VyPC9hPjxiciAvPgorPC9kZD48ZHQ+eHBhdGg8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsUHJpbnRYUGF0aEVycm9yIj54bWxTaGVsbFByaW50WFBhdGhFcnJvcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxQcmludFhQYXRoUmVzdWx0Ij54bWxTaGVsbFByaW50WFBhdGhSZXN1bHQ8L2E+PGJyIC8+Cis8L2RkPjxkdD54cG9pbnRlcjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhpbmNsdWRlLmh0bWwjWElOQ0xVREVfUEFSU0VfWFBPSU5URVIiPlhJTkNMVURFX1BBUlNFX1hQT0lOVEVSPC9hPjxiciAvPgorPC9kZD48L2RsPjxoMiBhbGlnbj0iY2VudGVyIj48YSBocmVmPSJBUEljaHVuazAuaHRtbCI+QS1CPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxLmh0bWwiPkMtQzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMi5odG1sIj5ELUU8L2E+Cis8YSBocmVmPSJBUEljaHVuazMuaHRtbCI+Ri1JPC9hPgorPGEgaHJlZj0iQVBJY2h1bms0Lmh0bWwiPkotTjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNS5odG1sIj5PLVA8L2E+Cis8YSBocmVmPSJBUEljaHVuazYuaHRtbCI+US1SPC9hPgorPGEgaHJlZj0iQVBJY2h1bms3Lmh0bWwiPlMtUzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rOC5odG1sIj5ULVU8L2E+Cis8YSBocmVmPSJBUEljaHVuazkuaHRtbCI+Vi1YPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMC5odG1sIj5ZLWE8L2E+Cis8YSBocmVmPSJBUEljaHVuazExLmh0bWwiPmItYjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTIuaHRtbCI+Yy1jPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMy5odG1sIj5kLWQ8L2E+Cis8YSBocmVmPSJBUEljaHVuazE0Lmh0bWwiPmUtZTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTUuaHRtbCI+Zi1mPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNi5odG1sIj5nLWg8L2E+Cis8YSBocmVmPSJBUEljaHVuazE3Lmh0bWwiPmktaTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTguaHRtbCI+ai1sPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxOS5odG1sIj5tLW08L2E+Cis8YSBocmVmPSJBUEljaHVuazIwLmh0bWwiPm4tbjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjEuaHRtbCI+by1vPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMi5odG1sIj5wLXA8L2E+Cis8YSBocmVmPSJBUEljaHVuazIzLmh0bWwiPnEtcjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjQuaHRtbCI+cy1zPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNS5odG1sIj50LXQ8L2E+Cis8YSBocmVmPSJBUEljaHVuazI2Lmh0bWwiPnUtdjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjcuaHRtbCI+dy13PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyOC5odG1sIj54LXg8L2E+Cis8YSBocmVmPSJBUEljaHVuazI5Lmh0bWwiPnktejwvYT4KKzwvaDI+PHA+PGEgaHJlZj0iYnVncy5odG1sIj5EYW5pZWwgVmVpbGxhcmQ8L2E+PC9wPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9BUEljaHVuazI5Lmh0bWwgYi9saWJ4bWwyL2RvYy9BUEljaHVuazI5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmFhYTIxYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL0FQSWNodW5rMjkuaHRtbApAQCAtMCwwICsxLDEzMSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIj4KKzxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj48aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz48bGluayByZWw9IlNIT1JUQ1VUIElDT04iIGhyZWY9Ii9mYXZpY29uLmljbyIgLz48c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorVEQge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0JPRFkge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYTsgbWFyZ2luLXRvcDogMmVtOyBtYXJnaW4tbGVmdDogMGVtOyBtYXJnaW4tcmlnaHQ6IDBlbX0KK0gxIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMiB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDMge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0E6bGluaywgQTp2aXNpdGVkLCBBOmFjdGl2ZSB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIH0KKzwvc3R5bGU+PHRpdGxlPkFQSSBBbHBoYWJldGljIEluZGV4IHkteiBmb3IgbGlieG1sMjwvdGl0bGU+PC9oZWFkPjxib2R5IGJnY29sb3I9IiM4Yjc3NjUiIHRleHQ9IiMwMDAwMDAiIGxpbms9IiNhMDYwNjAiIHZsaW5rPSIjMDAwMDAwIj48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iMTAwJSIgY2VsbHBhZGRpbmc9IjUiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIHdpZHRoPSIxMjAiPjxhIGhyZWY9Imh0dHA6Ly9zd3BhdC5mZmlpLm9yZy8iPjxpbWcgc3JjPSJlcGF0ZW50cy5wbmciIGFsdD0iQWN0aW9uIGFnYWluc3Qgc29mdHdhcmUgcGF0ZW50cyIgLz48L2E+PC90ZD48dGQgd2lkdGg9IjE4MCI+PGEgaHJlZj0iaHR0cDovL3d3dy5nbm9tZS5vcmcvIj48aW1nIHNyYz0iZ25vbWUyLnBuZyIgYWx0PSJHbm9tZTIgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvU3RhdHVzIj48aW1nIHNyYz0idzNjLnBuZyIgYWx0PSJXM0MgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy5yZWRoYXQuY29tLyI+PGltZyBzcmM9InJlZGhhdC5naWYiIGFsdD0iUmVkIEhhdCBMb2dvIiAvPjwvYT48ZGl2IGFsaWduPSJsZWZ0Ij48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvIj48aW1nIHNyYz0iTGlieG1sMi1Mb2dvLTE4MHgxNjguZ2lmIiBhbHQ9Ik1hZGUgd2l0aCBMaWJ4bWwyIExvZ28iIC8+PC9hPjwvZGl2PjwvdGQ+PHRkPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSI5MCUiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIiBiZ2NvbG9yPSIjZmZmYWNkIj48dHI+PHRkIGFsaWduPSJjZW50ZXIiPjxoMT5UaGUgWE1MIEMgcGFyc2VyIGFuZCB0b29sa2l0IG9mIEdub21lPC9oMT48aDI+QVBJIEFscGhhYmV0aWMgSW5kZXggeS16IGZvciBsaWJ4bWwyPC9oMj48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iNCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiIgd2lkdGg9IjEwMCUiPjx0cj48dGQgdmFsaWduPSJ0b3AiIHdpZHRoPSIyMDAiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPkRldmVsb3BlciBNZW51PC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjxmb3JtIGFjdGlvbj0ic2VhcmNoLnBocCIgZW5jdHlwZT0iYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIiBtZXRob2Q9ImdldCI+PGlucHV0IG5hbWU9InF1ZXJ5IiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IiIgLz48aW5wdXQgbmFtZT0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJTZWFyY2ggLi4uIiAvPjwvZm9ybT48dWw+PGxpPjxhIGhyZWY9ImluZGV4Lmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5NYWluIE1lbnU8L2E+PC9saT48bGk+PGEgaHJlZj0iaHRtbC9pbmRleC5odG1sIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+UmVmZXJlbmNlIE1hbnVhbDwvYT48L2xpPjxsaT48YSBocmVmPSJleGFtcGxlcy9pbmRleC5odG1sIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+Q29kZSBFeGFtcGxlczwvYT48L2xpPjxsaT48YSBocmVmPSJndWlkZWxpbmVzLmh0bWwiPlhNTCBHdWlkZWxpbmVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9InR1dG9yaWFsL2luZGV4Lmh0bWwiPlR1dG9yaWFsPC9hPjwvbGk+PGxpPjxhIGhyZWY9InhtbHJlYWRlci5odG1sIj5UaGUgUmVhZGVyIEludGVyZmFjZTwvYT48L2xpPjxsaT48YSBocmVmPSJDaGFuZ2VMb2cuaHRtbCI+Q2hhbmdlTG9nPC9hPjwvbGk+PGxpPjxhIGhyZWY9IlhTTFQuaHRtbCI+WFNMVDwvYT48L2xpPjxsaT48YSBocmVmPSJweXRob24uaHRtbCI+UHl0aG9uIGFuZCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJhcmNoaXRlY3R1cmUuaHRtbCI+bGlieG1sMiBhcmNoaXRlY3R1cmU8L2E+PC9saT48bGk+PGEgaHJlZj0idHJlZS5odG1sIj5UaGUgdHJlZSBvdXRwdXQ8L2E+PC9saT48bGk+PGEgaHJlZj0iaW50ZXJmYWNlLmh0bWwiPlRoZSBTQVggaW50ZXJmYWNlPC9hPjwvbGk+PGxpPjxhIGhyZWY9InhtbG1lbS5odG1sIj5NZW1vcnkgTWFuYWdlbWVudDwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWxpby5odG1sIj5JL08gSW50ZXJmYWNlczwvYT48L2xpPjxsaT48YSBocmVmPSJsaWJyYXJ5Lmh0bWwiPlRoZSBwYXJzZXIgaW50ZXJmYWNlczwvYT48L2xpPjxsaT48YSBocmVmPSJlbnRpdGllcy5odG1sIj5FbnRpdGllcyBvciBubyBlbnRpdGllczwvYT48L2xpPjxsaT48YSBocmVmPSJuYW1lc3BhY2VzLmh0bWwiPk5hbWVzcGFjZXM8L2E+PC9saT48bGk+PGEgaHJlZj0idXBncmFkZS5odG1sIj5VcGdyYWRpbmcgMS54IGNvZGU8L2E+PC9saT48bGk+PGEgaHJlZj0idGhyZWFkcy5odG1sIj5UaHJlYWQgc2FmZXR5PC9hPjwvbGk+PGxpPjxhIGhyZWY9IkRPTS5odG1sIj5ET00gUHJpbmNpcGxlczwvYT48L2xpPjxsaT48YSBocmVmPSJleGFtcGxlLmh0bWwiPkEgcmVhbCBleGFtcGxlPC9hPjwvbGk+PGxpPjxhIGhyZWY9InhtbC5odG1sIj5mbGF0IHBhZ2U8L2E+LCA8YSBocmVmPSJzaXRlLnhzbCI+c3R5bGVzaGVldDwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPkFQSSBJbmRleGVzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iQVBJY2h1bmswLmh0bWwiPkFscGhhYmV0aWM8L2E+PC9saT48bGk+PGEgaHJlZj0iQVBJY29uc3RydWN0b3JzLmh0bWwiPkNvbnN0cnVjdG9yczwvYT48L2xpPjxsaT48YSBocmVmPSJBUElmdW5jdGlvbnMuaHRtbCI+RnVuY3Rpb25zL1R5cGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkFQSWZpbGVzLmh0bWwiPk1vZHVsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iQVBJc3ltYm9scy5odG1sIj5TeW1ib2xzPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+UmVsYXRlZCBsaW5rczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9Imh0dHA6Ly9tYWlsLmdub21lLm9yZy9hcmNoaXZlcy94bWwvIj5NYWlsIGFyY2hpdmU8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnL1hTTFQvIj5YU0xUIGxpYnhzbHQ8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3BoZC5jcy51bmliby5pdC9nZG9tZTIvIj5ET00gZ2RvbWUyPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuYWxla3NleS5jb20veG1sc2VjLyI+WE1MLURTaWcgeG1sc2VjPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImZ0cDovL3htbHNvZnQub3JnLyI+RlRQPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemxhdGtvdmljLmNvbS9wcm9qZWN0cy9saWJ4bWwvIj5XaW5kb3dzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9vcGVuY3N3Lm9yZy9wYWNrYWdlcy9saWJ4bWwyIj5Tb2xhcmlzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuZXhwbGFpbi5jb20uYXUvb3NzL2xpYnhtbDJ4c2x0Lmh0bWwiPk1hY09zWCBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbHhtbC5kZS8iPmx4bWwgUHl0aG9uIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9jcGFuLnV3aW5uaXBlZy5jYS9kaXN0L1hNTC1MaWJYTUwiPlBlcmwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbHBsdXNwbHVzLnNvdXJjZWZvcmdlLm5ldC8iPkMrKyBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnplbmQuY29tL3BocDUvYXJ0aWNsZXMvcGhwNS14bWxwaHAucGhwI0hlYWRpbmc0Ij5QSFAgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9saWJ4bWwyLXBhcy8iPlBhc2NhbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1sLnJ1Ynlmb3JnZS5vcmcvIj5SdWJ5IGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly90Y2x4bWwuc291cmNlZm9yZ2UubmV0LyI+VGNsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvYnVnbGlzdC5jZ2k/cHJvZHVjdD1saWJ4bWwyIj5CdWcgVHJhY2tlcjwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMyIgY2VsbHNwYWNpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjxoMiBhbGlnbj0iY2VudGVyIj48YSBocmVmPSJBUEljaHVuazAuaHRtbCI+QS1CPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxLmh0bWwiPkMtQzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMi5odG1sIj5ELUU8L2E+Cis8YSBocmVmPSJBUEljaHVuazMuaHRtbCI+Ri1JPC9hPgorPGEgaHJlZj0iQVBJY2h1bms0Lmh0bWwiPkotTjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNS5odG1sIj5PLVA8L2E+Cis8YSBocmVmPSJBUEljaHVuazYuaHRtbCI+US1SPC9hPgorPGEgaHJlZj0iQVBJY2h1bms3Lmh0bWwiPlMtUzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rOC5odG1sIj5ULVU8L2E+Cis8YSBocmVmPSJBUEljaHVuazkuaHRtbCI+Vi1YPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMC5odG1sIj5ZLWE8L2E+Cis8YSBocmVmPSJBUEljaHVuazExLmh0bWwiPmItYjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTIuaHRtbCI+Yy1jPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMy5odG1sIj5kLWQ8L2E+Cis8YSBocmVmPSJBUEljaHVuazE0Lmh0bWwiPmUtZTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTUuaHRtbCI+Zi1mPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNi5odG1sIj5nLWg8L2E+Cis8YSBocmVmPSJBUEljaHVuazE3Lmh0bWwiPmktaTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTguaHRtbCI+ai1sPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxOS5odG1sIj5tLW08L2E+Cis8YSBocmVmPSJBUEljaHVuazIwLmh0bWwiPm4tbjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjEuaHRtbCI+by1vPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMi5odG1sIj5wLXA8L2E+Cis8YSBocmVmPSJBUEljaHVuazIzLmh0bWwiPnEtcjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjQuaHRtbCI+cy1zPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNS5odG1sIj50LXQ8L2E+Cis8YSBocmVmPSJBUEljaHVuazI2Lmh0bWwiPnUtdjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjcuaHRtbCI+dy13PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyOC5odG1sIj54LXg8L2E+Cis8YSBocmVmPSJBUEljaHVuazI5Lmh0bWwiPnktejwvYT4KKzwvaDI+PGgyPkxldHRlciB5OjwvaDI+PGRsPjxkdD55ZWFyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI2Z0cExpc3RDYWxsYmFjayI+ZnRwTGlzdENhbGxiYWNrPC9hPjxiciAvPgorPC9kZD48ZHQ+eWVzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI194bWxEb2MiPl94bWxEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbElucHV0TWF0Y2hDYWxsYmFjayI+eG1sSW5wdXRNYXRjaENhbGxiYWNrPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbElzQmxhbmtOb2RlIj54bWxJc0JsYW5rTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sSXNNaXhlZEVsZW1lbnQiPnhtbElzTWl4ZWRFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVJc1RleHQiPnhtbE5vZGVJc1RleHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dE1hdGNoQ2FsbGJhY2siPnhtbE91dHB1dE1hdGNoQ2FsbGJhY2s8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVudGl0eVJlZiI+eG1sUGFyc2VFbnRpdHlSZWY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZVBFUmVmZXJlbmNlIj54bWxQYXJzZVBFUmVmZXJlbmNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VTRERlY2wiPnhtbFBhcnNlU0REZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VySGFuZGxlUEVSZWZlcmVuY2UiPnhtbFBhcnNlckhhbmRsZVBFUmVmZXJlbmNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnZXhwSXNEZXRlcm1pbmlzdCI+eG1sUmVnZXhwSXNEZXRlcm1pbmlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJTdGFydERvY3VtZW50Ij54bWxUZXh0V3JpdGVyU3RhcnREb2N1bWVudDwvYT48YnIgLz4KKzwvZGQ+PGR0PnlldDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwQWRvcHROb2RlIj54bWxET01XcmFwQWRvcHROb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBDbG9uZU5vZGUiPnhtbERPTVdyYXBDbG9uZU5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtb2R1bGUuaHRtbCN4bWxNb2R1bGVPcGVuIj54bWxNb2R1bGVPcGVuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2F2ZS5odG1sI3htbFNhdmVEb2MiPnhtbFNhdmVEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzYXZlLmh0bWwjeG1sU2F2ZVRyZWUiPnhtbFNhdmVUcmVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hR2V0Q2Fub25WYWx1ZSI+eG1sU2NoZW1hR2V0Q2Fub25WYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUdldENhbm9uVmFsdWVXaHRzcCI+eG1sU2NoZW1hR2V0Q2Fub25WYWx1ZVdodHNwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZUN0eHQiPnhtbFRleHRSZWFkZXJSZWxheE5HVmFsaWRhdGVDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlQ3R4dCI+eG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlQ3R4dDwvYT48YnIgLz4KKzwvZGQ+PGR0PnlvdTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwQWRvcHROb2RlIj54bWxET01XcmFwQWRvcHROb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBDbG9uZU5vZGUiPnhtbERPTVdyYXBDbG9uZU5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3RG9jTm9kZSI+eG1sTmV3RG9jTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdEb2NOb2RlRWF0TmFtZSI+eG1sTmV3RG9jTm9kZUVhdE5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3VGV4dENoaWxkIj54bWxOZXdUZXh0Q2hpbGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFHZXRCdWlsdEluVHlwZSI+eG1sU2NoZW1hR2V0QnVpbHRJblR5cGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2VhcmNoTnMiPnhtbFNlYXJjaE5zPC9hPjxiciAvPgorPC9kZD48ZHQ+eW91cjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbENsZWFudXBQYXJzZXIiPnhtbENsZWFudXBQYXJzZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sQ2xlYW51cFRocmVhZHMiPnhtbENsZWFudXBUaHJlYWRzPC9hPjxiciAvPgorPC9kZD48L2RsPjxoMj5MZXR0ZXIgejo8L2gyPjxkbD48ZHQ+emVybzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiRW5jb2RlRW50aXRpZXMiPmRvY2JFbmNvZGVFbnRpdGllczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiUGFyc2VDaHVuayI+ZG9jYlBhcnNlQ2h1bms8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEN0eHRSZWFkRG9jIj5odG1sQ3R4dFJlYWREb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEVuY29kZUVudGl0aWVzIj5odG1sRW5jb2RlRW50aXRpZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlQ2h1bmsiPmh0bWxQYXJzZUNodW5rPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxSZWFkRG9jIj5odG1sUmVhZERvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJDQ2F0Ij54bWxCdWZmZXJDQ2F0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlckNhdCI+eG1sQnVmZmVyQ2F0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQnl0ZUNvbnN1bWVkIj54bWxCeXRlQ29uc3VtZWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQ29weURvYyI+eG1sQ29weURvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEN0eHRSZWFkRG9jIj54bWxDdHh0UmVhZERvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxEb2NEdW1wTWVtb3J5Ij54bWxEb2NEdW1wTWVtb3J5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sSGFzRmVhdHVyZSI+eG1sSGFzRmVhdHVyZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0QnVmZmVyV3JpdGVFc2NhcGUiPnhtbE91dHB1dEJ1ZmZlcldyaXRlRXNjYXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyI+eG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnkiPnhtbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXIiPnhtbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUNodW5rIj54bWxQYXJzZUNodW5rPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUmVhZERvYyI+eG1sUmVhZERvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFJlYWRlckZvckRvYyI+eG1sUmVhZGVyRm9yRG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sUmVhZGVyTmV3RG9jIj54bWxSZWFkZXJOZXdEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxTdHJkdXBGdW5jIj54bWxTdHJkdXBGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3Ryc3ViIj54bWxTdHJzdWI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoQm9vbGVhbkZ1bmN0aW9uIj54bWxYUGF0aEJvb2xlYW5GdW5jdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdHJpbmdGdW5jdGlvbiI+eG1sWFBhdGhTdHJpbmdGdW5jdGlvbjwvYT48YnIgLz4KKzwvZGQ+PGR0Pnplcm8tYmFzZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlTm8iPnhtbFRleHRSZWFkZXJHZXRBdHRyaWJ1dGVObzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJNb3ZlVG9BdHRyaWJ1dGVObyI+eG1sVGV4dFJlYWRlck1vdmVUb0F0dHJpYnV0ZU5vPC9hPjxiciAvPgorPC9kZD48ZHQ+emVyb3M8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU3RyaW5nRnVuY3Rpb24iPnhtbFhQYXRoU3RyaW5nRnVuY3Rpb248L2E+PGJyIC8+Cis8L2RkPjxkdD56bGliPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI194bWxEb2MiPl94bWxEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jMTRuLmh0bWwjeG1sQzE0TkRvY1NhdmUiPnhtbEMxNE5Eb2NTYXZlPC9hPjxiciAvPgorPC9kZD48L2RsPjxoMiBhbGlnbj0iY2VudGVyIj48YSBocmVmPSJBUEljaHVuazAuaHRtbCI+QS1CPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxLmh0bWwiPkMtQzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMi5odG1sIj5ELUU8L2E+Cis8YSBocmVmPSJBUEljaHVuazMuaHRtbCI+Ri1JPC9hPgorPGEgaHJlZj0iQVBJY2h1bms0Lmh0bWwiPkotTjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNS5odG1sIj5PLVA8L2E+Cis8YSBocmVmPSJBUEljaHVuazYuaHRtbCI+US1SPC9hPgorPGEgaHJlZj0iQVBJY2h1bms3Lmh0bWwiPlMtUzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rOC5odG1sIj5ULVU8L2E+Cis8YSBocmVmPSJBUEljaHVuazkuaHRtbCI+Vi1YPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMC5odG1sIj5ZLWE8L2E+Cis8YSBocmVmPSJBUEljaHVuazExLmh0bWwiPmItYjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTIuaHRtbCI+Yy1jPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMy5odG1sIj5kLWQ8L2E+Cis8YSBocmVmPSJBUEljaHVuazE0Lmh0bWwiPmUtZTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTUuaHRtbCI+Zi1mPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNi5odG1sIj5nLWg8L2E+Cis8YSBocmVmPSJBUEljaHVuazE3Lmh0bWwiPmktaTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTguaHRtbCI+ai1sPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxOS5odG1sIj5tLW08L2E+Cis8YSBocmVmPSJBUEljaHVuazIwLmh0bWwiPm4tbjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjEuaHRtbCI+by1vPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMi5odG1sIj5wLXA8L2E+Cis8YSBocmVmPSJBUEljaHVuazIzLmh0bWwiPnEtcjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjQuaHRtbCI+cy1zPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNS5odG1sIj50LXQ8L2E+Cis8YSBocmVmPSJBUEljaHVuazI2Lmh0bWwiPnUtdjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjcuaHRtbCI+dy13PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyOC5odG1sIj54LXg8L2E+Cis8YSBocmVmPSJBUEljaHVuazI5Lmh0bWwiPnktejwvYT4KKzwvaDI+PHA+PGEgaHJlZj0iYnVncy5odG1sIj5EYW5pZWwgVmVpbGxhcmQ8L2E+PC9wPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9BUEljaHVuazMuaHRtbCBiL2xpYnhtbDIvZG9jL0FQSWNodW5rMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUxNTExOGEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9BUEljaHVuazMuaHRtbApAQCAtMCwwICsxLDM2MCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIj4KKzxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj48aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz48bGluayByZWw9IlNIT1JUQ1VUIElDT04iIGhyZWY9Ii9mYXZpY29uLmljbyIgLz48c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorVEQge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0JPRFkge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYTsgbWFyZ2luLXRvcDogMmVtOyBtYXJnaW4tbGVmdDogMGVtOyBtYXJnaW4tcmlnaHQ6IDBlbX0KK0gxIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMiB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDMge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0E6bGluaywgQTp2aXNpdGVkLCBBOmFjdGl2ZSB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIH0KKzwvc3R5bGU+PHRpdGxlPkFQSSBBbHBoYWJldGljIEluZGV4IEYtSSBmb3IgbGlieG1sMjwvdGl0bGU+PC9oZWFkPjxib2R5IGJnY29sb3I9IiM4Yjc3NjUiIHRleHQ9IiMwMDAwMDAiIGxpbms9IiNhMDYwNjAiIHZsaW5rPSIjMDAwMDAwIj48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iMTAwJSIgY2VsbHBhZGRpbmc9IjUiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIHdpZHRoPSIxMjAiPjxhIGhyZWY9Imh0dHA6Ly9zd3BhdC5mZmlpLm9yZy8iPjxpbWcgc3JjPSJlcGF0ZW50cy5wbmciIGFsdD0iQWN0aW9uIGFnYWluc3Qgc29mdHdhcmUgcGF0ZW50cyIgLz48L2E+PC90ZD48dGQgd2lkdGg9IjE4MCI+PGEgaHJlZj0iaHR0cDovL3d3dy5nbm9tZS5vcmcvIj48aW1nIHNyYz0iZ25vbWUyLnBuZyIgYWx0PSJHbm9tZTIgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvU3RhdHVzIj48aW1nIHNyYz0idzNjLnBuZyIgYWx0PSJXM0MgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy5yZWRoYXQuY29tLyI+PGltZyBzcmM9InJlZGhhdC5naWYiIGFsdD0iUmVkIEhhdCBMb2dvIiAvPjwvYT48ZGl2IGFsaWduPSJsZWZ0Ij48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvIj48aW1nIHNyYz0iTGlieG1sMi1Mb2dvLTE4MHgxNjguZ2lmIiBhbHQ9Ik1hZGUgd2l0aCBMaWJ4bWwyIExvZ28iIC8+PC9hPjwvZGl2PjwvdGQ+PHRkPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSI5MCUiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIiBiZ2NvbG9yPSIjZmZmYWNkIj48dHI+PHRkIGFsaWduPSJjZW50ZXIiPjxoMT5UaGUgWE1MIEMgcGFyc2VyIGFuZCB0b29sa2l0IG9mIEdub21lPC9oMT48aDI+QVBJIEFscGhhYmV0aWMgSW5kZXggRi1JIGZvciBsaWJ4bWwyPC9oMj48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iNCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiIgd2lkdGg9IjEwMCUiPjx0cj48dGQgdmFsaWduPSJ0b3AiIHdpZHRoPSIyMDAiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPkRldmVsb3BlciBNZW51PC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjxmb3JtIGFjdGlvbj0ic2VhcmNoLnBocCIgZW5jdHlwZT0iYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIiBtZXRob2Q9ImdldCI+PGlucHV0IG5hbWU9InF1ZXJ5IiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IiIgLz48aW5wdXQgbmFtZT0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJTZWFyY2ggLi4uIiAvPjwvZm9ybT48dWw+PGxpPjxhIGhyZWY9ImluZGV4Lmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5NYWluIE1lbnU8L2E+PC9saT48bGk+PGEgaHJlZj0iaHRtbC9pbmRleC5odG1sIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+UmVmZXJlbmNlIE1hbnVhbDwvYT48L2xpPjxsaT48YSBocmVmPSJleGFtcGxlcy9pbmRleC5odG1sIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+Q29kZSBFeGFtcGxlczwvYT48L2xpPjxsaT48YSBocmVmPSJndWlkZWxpbmVzLmh0bWwiPlhNTCBHdWlkZWxpbmVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9InR1dG9yaWFsL2luZGV4Lmh0bWwiPlR1dG9yaWFsPC9hPjwvbGk+PGxpPjxhIGhyZWY9InhtbHJlYWRlci5odG1sIj5UaGUgUmVhZGVyIEludGVyZmFjZTwvYT48L2xpPjxsaT48YSBocmVmPSJDaGFuZ2VMb2cuaHRtbCI+Q2hhbmdlTG9nPC9hPjwvbGk+PGxpPjxhIGhyZWY9IlhTTFQuaHRtbCI+WFNMVDwvYT48L2xpPjxsaT48YSBocmVmPSJweXRob24uaHRtbCI+UHl0aG9uIGFuZCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJhcmNoaXRlY3R1cmUuaHRtbCI+bGlieG1sMiBhcmNoaXRlY3R1cmU8L2E+PC9saT48bGk+PGEgaHJlZj0idHJlZS5odG1sIj5UaGUgdHJlZSBvdXRwdXQ8L2E+PC9saT48bGk+PGEgaHJlZj0iaW50ZXJmYWNlLmh0bWwiPlRoZSBTQVggaW50ZXJmYWNlPC9hPjwvbGk+PGxpPjxhIGhyZWY9InhtbG1lbS5odG1sIj5NZW1vcnkgTWFuYWdlbWVudDwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWxpby5odG1sIj5JL08gSW50ZXJmYWNlczwvYT48L2xpPjxsaT48YSBocmVmPSJsaWJyYXJ5Lmh0bWwiPlRoZSBwYXJzZXIgaW50ZXJmYWNlczwvYT48L2xpPjxsaT48YSBocmVmPSJlbnRpdGllcy5odG1sIj5FbnRpdGllcyBvciBubyBlbnRpdGllczwvYT48L2xpPjxsaT48YSBocmVmPSJuYW1lc3BhY2VzLmh0bWwiPk5hbWVzcGFjZXM8L2E+PC9saT48bGk+PGEgaHJlZj0idXBncmFkZS5odG1sIj5VcGdyYWRpbmcgMS54IGNvZGU8L2E+PC9saT48bGk+PGEgaHJlZj0idGhyZWFkcy5odG1sIj5UaHJlYWQgc2FmZXR5PC9hPjwvbGk+PGxpPjxhIGhyZWY9IkRPTS5odG1sIj5ET00gUHJpbmNpcGxlczwvYT48L2xpPjxsaT48YSBocmVmPSJleGFtcGxlLmh0bWwiPkEgcmVhbCBleGFtcGxlPC9hPjwvbGk+PGxpPjxhIGhyZWY9InhtbC5odG1sIj5mbGF0IHBhZ2U8L2E+LCA8YSBocmVmPSJzaXRlLnhzbCI+c3R5bGVzaGVldDwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPkFQSSBJbmRleGVzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iQVBJY2h1bmswLmh0bWwiPkFscGhhYmV0aWM8L2E+PC9saT48bGk+PGEgaHJlZj0iQVBJY29uc3RydWN0b3JzLmh0bWwiPkNvbnN0cnVjdG9yczwvYT48L2xpPjxsaT48YSBocmVmPSJBUElmdW5jdGlvbnMuaHRtbCI+RnVuY3Rpb25zL1R5cGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkFQSWZpbGVzLmh0bWwiPk1vZHVsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iQVBJc3ltYm9scy5odG1sIj5TeW1ib2xzPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+UmVsYXRlZCBsaW5rczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9Imh0dHA6Ly9tYWlsLmdub21lLm9yZy9hcmNoaXZlcy94bWwvIj5NYWlsIGFyY2hpdmU8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnL1hTTFQvIj5YU0xUIGxpYnhzbHQ8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3BoZC5jcy51bmliby5pdC9nZG9tZTIvIj5ET00gZ2RvbWUyPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuYWxla3NleS5jb20veG1sc2VjLyI+WE1MLURTaWcgeG1sc2VjPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImZ0cDovL3htbHNvZnQub3JnLyI+RlRQPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemxhdGtvdmljLmNvbS9wcm9qZWN0cy9saWJ4bWwvIj5XaW5kb3dzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9vcGVuY3N3Lm9yZy9wYWNrYWdlcy9saWJ4bWwyIj5Tb2xhcmlzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuZXhwbGFpbi5jb20uYXUvb3NzL2xpYnhtbDJ4c2x0Lmh0bWwiPk1hY09zWCBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbHhtbC5kZS8iPmx4bWwgUHl0aG9uIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9jcGFuLnV3aW5uaXBlZy5jYS9kaXN0L1hNTC1MaWJYTUwiPlBlcmwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbHBsdXNwbHVzLnNvdXJjZWZvcmdlLm5ldC8iPkMrKyBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnplbmQuY29tL3BocDUvYXJ0aWNsZXMvcGhwNS14bWxwaHAucGhwI0hlYWRpbmc0Ij5QSFAgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9saWJ4bWwyLXBhcy8iPlBhc2NhbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1sLnJ1Ynlmb3JnZS5vcmcvIj5SdWJ5IGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly90Y2x4bWwuc291cmNlZm9yZ2UubmV0LyI+VGNsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvYnVnbGlzdC5jZ2k/cHJvZHVjdD1saWJ4bWwyIj5CdWcgVHJhY2tlcjwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMyIgY2VsbHNwYWNpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjxoMiBhbGlnbj0iY2VudGVyIj48YSBocmVmPSJBUEljaHVuazAuaHRtbCI+QS1CPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxLmh0bWwiPkMtQzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMi5odG1sIj5ELUU8L2E+Cis8YSBocmVmPSJBUEljaHVuazMuaHRtbCI+Ri1JPC9hPgorPGEgaHJlZj0iQVBJY2h1bms0Lmh0bWwiPkotTjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNS5odG1sIj5PLVA8L2E+Cis8YSBocmVmPSJBUEljaHVuazYuaHRtbCI+US1SPC9hPgorPGEgaHJlZj0iQVBJY2h1bms3Lmh0bWwiPlMtUzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rOC5odG1sIj5ULVU8L2E+Cis8YSBocmVmPSJBUEljaHVuazkuaHRtbCI+Vi1YPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMC5odG1sIj5ZLWE8L2E+Cis8YSBocmVmPSJBUEljaHVuazExLmh0bWwiPmItYjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTIuaHRtbCI+Yy1jPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMy5odG1sIj5kLWQ8L2E+Cis8YSBocmVmPSJBUEljaHVuazE0Lmh0bWwiPmUtZTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTUuaHRtbCI+Zi1mPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNi5odG1sIj5nLWg8L2E+Cis8YSBocmVmPSJBUEljaHVuazE3Lmh0bWwiPmktaTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTguaHRtbCI+ai1sPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxOS5odG1sIj5tLW08L2E+Cis8YSBocmVmPSJBUEljaHVuazIwLmh0bWwiPm4tbjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjEuaHRtbCI+by1vPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMi5odG1sIj5wLXA8L2E+Cis8YSBocmVmPSJBUEljaHVuazIzLmh0bWwiPnEtcjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjQuaHRtbCI+cy1zPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNS5odG1sIj50LXQ8L2E+Cis8YSBocmVmPSJBUEljaHVuazI2Lmh0bWwiPnUtdjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjcuaHRtbCI+dy13PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyOC5odG1sIj54LXg8L2E+Cis8YSBocmVmPSJBUEljaHVuazI5Lmh0bWwiPnktejwvYT4KKzwvaDI+PGgyPkxldHRlciBGOjwvaDI+PGRsPjxkdD5GQUxTRTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJTdGFydERUREVudGl0eSI+eG1sVGV4dFdyaXRlclN0YXJ0RFRERW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRFRERW50aXR5Ij54bWxUZXh0V3JpdGVyV3JpdGVEVERFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVEVERFeHRlcm5hbEVudGl0eSI+eG1sVGV4dFdyaXRlcldyaXRlRFRERXh0ZXJuYWxFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVEVERJbnRlcm5hbEVudGl0eSI+eG1sVGV4dFdyaXRlcldyaXRlRFRESW50ZXJuYWxFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVERJbnRlcm5hbEVudGl0eSI+eG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFRESW50ZXJuYWxFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFRESW50ZXJuYWxFbnRpdHkiPnhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVERJbnRlcm5hbEVudGl0eTwvYT48YnIgLz4KKzwvZGQ+PGR0PkZGRkU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNJU19DSEFSIj5JU19DSEFSPC9hPjxiciAvPgorPC9kZD48ZHQ+RkZGRjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTX0NIQVIiPklTX0NIQVI8L2E+PGJyIC8+Cis8L2RkPjxkdD5GSVhFRDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxHZXROb05zUHJvcCI+eG1sR2V0Tm9Oc1Byb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sR2V0TnNQcm9wIj54bWxHZXROc1Byb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sR2V0UHJvcCI+eG1sR2V0UHJvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxIYXNOc1Byb3AiPnhtbEhhc05zUHJvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxIYXNQcm9wIj54bWxIYXNQcm9wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VEZWZhdWx0RGVjbCI+eG1sUGFyc2VEZWZhdWx0RGVjbDwvYT48YnIgLz4KKzwvZGQ+PGR0PkZSRUU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFHZXRDYW5vblZhbHVlIj54bWxTY2hlbWFHZXRDYW5vblZhbHVlPC9hPjxiciAvPgorPC9kZD48ZHQ+RmFjZXQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFGcmVlRmFjZXQiPnhtbFNjaGVtYUZyZWVGYWNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYU5ld0ZhY2V0Ij54bWxTY2hlbWFOZXdGYWNldDwvYT48YnIgLz4KKzwvZGQ+PGR0PkZhbHNlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxCb29sVG9UZXh0Ij54bWxCb29sVG9UZXh0PC9hPjxiciAvPgorPC9kZD48ZHQ+RmV0Y2g8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUEdldCI+eG1sTmFub0ZUUEdldDwvYT48YnIgLz4KKzwvZGQ+PGR0PkZpbGU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyR2V0UmVtYWluZGVyIj54bWxUZXh0UmVhZGVyR2V0UmVtYWluZGVyPC9hPjxiciAvPgorPC9kZD48ZHQ+RmlsbHM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmR2V0Tm9kZUNvbnRlbnQiPnhtbEJ1ZkdldE5vZGVDb250ZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVCdWZHZXRDb250ZW50Ij54bWxOb2RlQnVmR2V0Q29udGVudDwvYT48YnIgLz4KKzwvZGQ+PGR0PkZpbmQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBHZXRMYW5ndWFnZSI+eG1sRXhwR2V0TGFuZ3VhZ2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBHZXRTdGFydCI+eG1sRXhwR2V0U3RhcnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEdldFJlZnMiPnhtbEdldFJlZnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaExvb2t1cCI+eG1sSGFzaExvb2t1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoTG9va3VwMiI+eG1sSGFzaExvb2t1cDI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaExvb2t1cDMiPnhtbEhhc2hMb29rdXAzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hRTG9va3VwIj54bWxIYXNoUUxvb2t1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoUUxvb2t1cDIiPnhtbEhhc2hRTG9va3VwMjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoUUxvb2t1cDMiPnhtbEhhc2hRTG9va3VwMzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoUmVtb3ZlRW50cnkiPnhtbEhhc2hSZW1vdmVFbnRyeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoUmVtb3ZlRW50cnkyIj54bWxIYXNoUmVtb3ZlRW50cnkyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hSZW1vdmVFbnRyeTMiPnhtbEhhc2hSZW1vdmVFbnRyeTM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZXJGaW5kTm9kZUluZm8iPnhtbFBhcnNlckZpbmROb2RlSW5mbzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlckZpbmROb2RlSW5mb0luZGV4Ij54bWxQYXJzZXJGaW5kTm9kZUluZm9JbmRleDwvYT48YnIgLz4KKzwvZGQ+PGR0PkZpbmRzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbENoaWxkRWxlbWVudENvdW50Ij54bWxDaGlsZEVsZW1lbnRDb3VudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cElzTmlsbGFibGUiPnhtbEV4cElzTmlsbGFibGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRmlyc3RFbGVtZW50Q2hpbGQiPnhtbEZpcnN0RWxlbWVudENoaWxkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbExhc3RFbGVtZW50Q2hpbGQiPnhtbExhc3RFbGVtZW50Q2hpbGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV4dEVsZW1lbnRTaWJsaW5nIj54bWxOZXh0RWxlbWVudFNpYmxpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sUHJldmlvdXNFbGVtZW50U2libGluZyI+eG1sUHJldmlvdXNFbGVtZW50U2libGluZzwvYT48YnIgLz4KKzwvZGQ+PGR0PkZpcnN0PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfRklYVVBfMSI+WE1MX1NDSEVNQVNfVFlQRV9GSVhVUF8xPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCNfeG1sRW50aXR5Ij5feG1sRW50aXR5PC9hPjxiciAvPgorPC9kZD48ZHQ+Rml4ZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZURlZmF1bHREZWNsIj54bWxQYXJzZURlZmF1bHREZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZU9uZUF0dHJpYnV0ZSI+eG1sVmFsaWRhdGVPbmVBdHRyaWJ1dGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlT25lTmFtZXNwYWNlIj54bWxWYWxpZGF0ZU9uZU5hbWVzcGFjZTwvYT48YnIgLz4KKzwvZGQ+PGR0PkZsb2F0PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFN0cmluZ0V2YWxOdW1iZXIiPnhtbFhQYXRoU3RyaW5nRXZhbE51bWJlcjwvYT48YnIgLz4KKzwvZGQ+PGR0PkZsdXNoPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2F2ZS5odG1sI3htbFNhdmVGbHVzaCI+eG1sU2F2ZUZsdXNoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlckZsdXNoIj54bWxUZXh0V3JpdGVyRmx1c2g8L2E+PGJyIC8+Cis8L2RkPjxkdD5Gb3I8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNfeG1sUGFyc2VyQ3R4dCI+X3htbFBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jMTRuLmh0bWwjeG1sQzE0TkRvY0R1bXBNZW1vcnkiPnhtbEMxNE5Eb2NEdW1wTWVtb3J5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtYzE0bi5odG1sI3htbEMxNE5Eb2NTYXZlIj54bWxDMTRORG9jU2F2ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTRORG9jU2F2ZVRvIj54bWxDMTRORG9jU2F2ZVRvPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtYzE0bi5odG1sI3htbEMxNE5FeGVjdXRlIj54bWxDMTRORXhlY3V0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sQ3R4dFJlc2V0TGFzdEVycm9yIj54bWxDdHh0UmVzZXRMYXN0RXJyb3I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUNvbW1lbnQiPnhtbFBhcnNlQ29tbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2wiPnhtbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI3htbFJlc2V0TGFzdEVycm9yIj54bWxSZXNldExhc3RFcnJvcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sU2V0R2VuZXJpY0Vycm9yRnVuYyI+eG1sU2V0R2VuZXJpY0Vycm9yRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sU2V0U3RydWN0dXJlZEVycm9yRnVuYyI+eG1sU2V0U3RydWN0dXJlZEVycm9yRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdWJzdHJpbmdBZnRlckZ1bmN0aW9uIj54bWxYUGF0aFN1YnN0cmluZ0FmdGVyRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU3Vic3RyaW5nQmVmb3JlRnVuY3Rpb24iPnhtbFhQYXRoU3Vic3RyaW5nQmVmb3JlRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU3Vic3RyaW5nRnVuY3Rpb24iPnhtbFhQYXRoU3Vic3RyaW5nRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoVHJhbnNsYXRlRnVuY3Rpb24iPnhtbFhQYXRoVHJhbnNsYXRlRnVuY3Rpb248L2E+PGJyIC8+Cis8L2RkPjxkdD5Gb3JtPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sQnVpbGRVUkkiPnhtbEJ1aWxkVVJJPC9hPjxiciAvPgorPC9kZD48ZHQ+Rm9ybWF0aW5nPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNodG1sRG9jQ29udGVudER1bXBPdXRwdXQiPmh0bWxEb2NDb250ZW50RHVtcE91dHB1dDwvYT48YnIgLz4KKzwvZGQ+PGR0PkZvcm1hdHM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJQcmludGYiPnhtbFN0clByaW50ZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFN0clZQcmludGYiPnhtbFN0clZQcmludGY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoZXJyb3IiPnhtbFhQYXRoZXJyb3I8L2E+PGJyIC8+Cis8L2RkPjxkdD5Gb3JtZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxSZWNvdmVyRG9jIj54bWxSZWNvdmVyRG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUmVjb3ZlckZpbGUiPnhtbFJlY292ZXJGaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUmVjb3Zlck1lbW9yeSI+eG1sUmVjb3Zlck1lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNBWFBhcnNlRG9jIj54bWxTQVhQYXJzZURvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNBWFBhcnNlRmlsZSI+eG1sU0FYUGFyc2VGaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYUGFyc2VGaWxlV2l0aERhdGEiPnhtbFNBWFBhcnNlRmlsZVdpdGhEYXRhPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYUGFyc2VNZW1vcnkiPnhtbFNBWFBhcnNlTWVtb3J5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYUGFyc2VNZW1vcnlXaXRoRGF0YSI+eG1sU0FYUGFyc2VNZW1vcnlXaXRoRGF0YTwvYT48YnIgLz4KKzwvZGQ+PGR0PkZyYWdtZW50PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld0RvY0ZyYWdtZW50Ij54bWxOZXdEb2NGcmFnbWVudDwvYT48YnIgLz4KKzwvZGQ+PGR0PkZyYW1lc2V0PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI19odG1sRWxlbURlc2MiPl9odG1sRWxlbURlc2M8L2E+PGJyIC8+Cis8L2RkPjxkdD5GcmVlczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJGcmVlIj54bWxCdWZmZXJGcmVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBGcmVlQ3R4dCI+eG1sRE9NV3JhcEZyZWVDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBGcmVlQ3R4dCI+eG1sTmFub0ZUUEZyZWVDdHh0PC9hPjxiciAvPgorPC9kZD48ZHQ+RnJvbnQtZW5kPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jRmlyc3RMaW5lIj54bWxDaGFyRW5jRmlyc3RMaW5lPC9hPjxiciAvPgorPC9kZD48ZHQ+RnVuY3Rpb248L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmQ29udGVudCI+eG1sQnVmQ29udGVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZFbmQiPnhtbEJ1ZkVuZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZVc2UiPnhtbEJ1ZlVzZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJDb250ZW50Ij54bWxCdWZmZXJDb250ZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlckxlbmd0aCI+eG1sQnVmZmVyTGVuZ3RoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxTZXRHZW5lcmljRXJyb3JGdW5jIj54bWxTZXRHZW5lcmljRXJyb3JGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxTZXRTdHJ1Y3R1cmVkRXJyb3JGdW5jIj54bWxTZXRTdHJ1Y3R1cmVkRXJyb3JGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEZ1bmN0aW9uTG9va3VwIj54bWxYUGF0aEZ1bmN0aW9uTG9va3VwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEZ1bmN0aW9uTG9va3VwTlMiPnhtbFhQYXRoRnVuY3Rpb25Mb29rdXBOUzwvYT48YnIgLz4KKzwvZGQ+PC9kbD48aDI+TGV0dGVyIEc6PC9oMj48ZGw+PGR0PkdDQzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNBVFRSSUJVVEVfVU5VU0VEIj5BVFRSSUJVVEVfVU5VU0VEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9BVFRSX0FMTE9DX1NJWkUiPkxJQlhNTF9BVFRSX0FMTE9DX1NJWkU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX0FUVFJfRk9STUFUIj5MSUJYTUxfQVRUUl9GT1JNQVQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5HRURlY2w8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVudGl0eURlY2wiPnhtbFBhcnNlRW50aXR5RGVjbDwvYT48YnIgLz4KKzwvZGQ+PGR0PkdFVDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9odHRwLmh0bWwjeG1sTmFub0hUVFBGZXRjaCI+eG1sTmFub0hUVFBGZXRjaDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9odHRwLmh0bWwjeG1sTmFub0hUVFBPcGVuIj54bWxOYW5vSFRUUE9wZW48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQT3BlblJlZGlyIj54bWxOYW5vSFRUUE9wZW5SZWRpcjwvYT48YnIgLz4KKzwvZGQ+PGR0PkdlbmVyYWxQdW5jdHVhdGlvbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0dlbmVyYWxQdW5jdHVhdGlvbiI+eG1sVUNTSXNHZW5lcmFsUHVuY3R1YXRpb248L2E+PGJyIC8+Cis8L2RkPjxkdD5HZW5lcmljPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jQ2xvc2VGdW5jIj54bWxDaGFyRW5jQ2xvc2VGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jSW5GdW5jIj54bWxDaGFyRW5jSW5GdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jT3V0RnVuYyI+eG1sQ2hhckVuY091dEZ1bmM8L2E+PGJyIC8+Cis8L2RkPjxkdD5HZW9tZXRyaWNTaGFwZXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNHZW9tZXRyaWNTaGFwZXMiPnhtbFVDU0lzR2VvbWV0cmljU2hhcGVzPC9hPjxiciAvPgorPC9kZD48ZHQ+R2VvcmdpYW48L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNHZW9yZ2lhbiI+eG1sVUNTSXNHZW9yZ2lhbjwvYT48YnIgLz4KKzwvZGQ+PGR0PkdldHM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUmVhZFN0YXRlIj54bWxUZXh0UmVhZGVyUmVhZFN0YXRlPC9hPjxiciAvPgorPC9kZD48ZHQ+R2l2ZXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dEJ1ZmZlckdldENvbnRlbnQiPnhtbE91dHB1dEJ1ZmZlckdldENvbnRlbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dEJ1ZmZlckdldFNpemUiPnhtbE91dHB1dEJ1ZmZlckdldFNpemU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFHZXRCdWlsdEluVHlwZSI+eG1sU2NoZW1hR2V0QnVpbHRJblR5cGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5HbG9iYWw8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjX3htbERvYyI+X3htbERvYzwvYT48YnIgLz4KKzwvZGQ+PGR0PkdvdGhpYzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0dvdGhpYyI+eG1sVUNTSXNHb3RoaWM8L2E+PGJyIC8+Cis8L2RkPjxkdD5HcmVlazwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0dyZWVrIj54bWxVQ1NJc0dyZWVrPC9hPjxiciAvPgorPC9kZD48ZHQ+R3JlZWtFeHRlbmRlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0dyZWVrRXh0ZW5kZWQiPnhtbFVDU0lzR3JlZWtFeHRlbmRlZDwvYT48YnIgLz4KKzwvZGQ+PGR0PkdyZWVrYW5kQ29wdGljPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzR3JlZWthbmRDb3B0aWMiPnhtbFVDU0lzR3JlZWthbmRDb3B0aWM8L2E+PGJyIC8+Cis8L2RkPjxkdD5Hcm91cDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2wiPnhtbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVsZW1lbnRNaXhlZENvbnRlbnREZWNsIj54bWxQYXJzZUVsZW1lbnRNaXhlZENvbnRlbnREZWNsPC9hPjxiciAvPgorPC9kZD48ZHQ+R3JvdzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJHcm93Ij54bWxCdWZmZXJHcm93PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlckdyb3ciPnhtbFBhcnNlcklucHV0QnVmZmVyR3JvdzwvYT48YnIgLz4KKzwvZGQ+PGR0Pkd1ZXNzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxEZXRlY3RDaGFyRW5jb2RpbmciPnhtbERldGVjdENoYXJFbmNvZGluZzwvYT48YnIgLz4KKzwvZGQ+PGR0Pkd1amFyYXRpPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzR3VqYXJhdGkiPnhtbFVDU0lzR3VqYXJhdGk8L2E+PGJyIC8+Cis8L2RkPjxkdD5HdXJtdWtoaTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0d1cm11a2hpIj54bWxVQ1NJc0d1cm11a2hpPC9hPjxiciAvPgorPC9kZD48L2RsPjxoMj5MZXR0ZXIgSDo8L2gyPjxkbD48ZHQ+SFRNTF9ERVBSRUNBVEVEPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxBdHRyQWxsb3dlZCI+aHRtbEF0dHJBbGxvd2VkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxFbGVtZW50U3RhdHVzSGVyZSI+aHRtbEVsZW1lbnRTdGF0dXNIZXJlPC9hPjxiciAvPgorPC9kZD48ZHQ+SFRNTF9JTlZBTElEPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxBdHRyQWxsb3dlZCI+aHRtbEF0dHJBbGxvd2VkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxFbGVtZW50U3RhdHVzSGVyZSI+aHRtbEVsZW1lbnRTdGF0dXNIZXJlPC9hPjxiciAvPgorPC9kZD48ZHQ+SFRNTF9OQTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sTm9kZVN0YXR1cyI+aHRtbE5vZGVTdGF0dXM8L2E+PGJyIC8+Cis8L2RkPjxkdD5IVE1MX1JFUVVJUkVEPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxBdHRyQWxsb3dlZCI+aHRtbEF0dHJBbGxvd2VkPC9hPjxiciAvPgorPC9kZD48ZHQ+SFRNTF9WQUxJRDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sQXR0ckFsbG93ZWQiPmh0bWxBdHRyQWxsb3dlZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sRWxlbWVudFN0YXR1c0hlcmUiPmh0bWxFbGVtZW50U3RhdHVzSGVyZTwvYT48YnIgLz4KKzwvZGQ+PGR0PkhhY2tpbmc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyQ3VycmVudERvYyI+eG1sVGV4dFJlYWRlckN1cnJlbnREb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyQ3VycmVudE5vZGUiPnhtbFRleHRSZWFkZXJDdXJyZW50Tm9kZTwvYT48YnIgLz4KKzwvZGQ+PGR0PkhhbGZ3aWR0aGFuZEZ1bGx3aWR0aEZvcm1zPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzSGFsZndpZHRoYW5kRnVsbHdpZHRoRm9ybXMiPnhtbFVDU0lzSGFsZndpZHRoYW5kRnVsbHdpZHRoRm9ybXM8L2E+PGJyIC8+Cis8L2RkPjxkdD5IYW5kbGU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI2F0dHJpYnV0ZVNBWEZ1bmMiPmF0dHJpYnV0ZVNBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxFcnJNZW1vcnkiPnhtbEVyck1lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhFcnIiPnhtbFhQYXRoRXJyPC9hPjxiciAvPgorPC9kZD48ZHQ+SGFuZGxpbmc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxDdXJyZW50Q2hhciI+eG1sQ3VycmVudENoYXI8L2E+PGJyIC8+Cis8L2RkPjxkdD5IYW5ndWxDb21wYXRpYmlsaXR5SmFtbzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0hhbmd1bENvbXBhdGliaWxpdHlKYW1vIj54bWxVQ1NJc0hhbmd1bENvbXBhdGliaWxpdHlKYW1vPC9hPjxiciAvPgorPC9kZD48ZHQ+SGFuZ3VsSmFtbzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0hhbmd1bEphbW8iPnhtbFVDU0lzSGFuZ3VsSmFtbzwvYT48YnIgLz4KKzwvZGQ+PGR0Pkhhbmd1bFN5bGxhYmxlczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0hhbmd1bFN5bGxhYmxlcyI+eG1sVUNTSXNIYW5ndWxTeWxsYWJsZXM8L2E+PGJyIC8+Cis8L2RkPjxkdD5IYW51bm9vPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzSGFudW5vbyI+eG1sVUNTSXNIYW51bm9vPC9hPjxiciAvPgorPC9kZD48ZHQ+SGFzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxBdHRyQWxsb3dlZCI+aHRtbEF0dHJBbGxvd2VkPC9hPjxiciAvPgorPC9kZD48ZHQ+SGFzaDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNfeG1sRG9jIj5feG1sRG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI194bWxEdGQiPl94bWxEdGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI194bWxYUGF0aENvbnRleHQiPl94bWxYUGF0aENvbnRleHQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5IZWJyZXc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNIZWJyZXciPnhtbFVDU0lzSGVicmV3PC9hPjxiciAvPgorPC9kZD48ZHQ+SGVuY2U8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZU5vdGF0aW9uRGVjbCI+eG1sUGFyc2VOb3RhdGlvbkRlY2w8L2E+PGJyIC8+Cis8L2RkPjxkdD5IaWdoUHJpdmF0ZVVzZVN1cnJvZ2F0ZXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNIaWdoUHJpdmF0ZVVzZVN1cnJvZ2F0ZXMiPnhtbFVDU0lzSGlnaFByaXZhdGVVc2VTdXJyb2dhdGVzPC9hPjxiciAvPgorPC9kZD48ZHQ+SGlnaFN1cnJvZ2F0ZXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNIaWdoU3Vycm9nYXRlcyI+eG1sVUNTSXNIaWdoU3Vycm9nYXRlczwvYT48YnIgLz4KKzwvZGQ+PGR0PkhpcmFnYW5hPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzSGlyYWdhbmEiPnhtbFVDU0lzSGlyYWdhbmE8L2E+PGJyIC8+Cis8L2RkPjxkdD5IbW08L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFWYWx1ZUdldEFzQm9vbGVhbiI+eG1sU2NoZW1hVmFsdWVHZXRBc0Jvb2xlYW48L2E+PGJyIC8+Cis8L2RkPjxkdD5Ib2xkczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNfeG1sU2NoZW1hVHlwZSI+X3htbFNjaGVtYVR5cGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5Ib3c8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNfeG1sUGFyc2VySW5wdXQiPl94bWxQYXJzZXJJbnB1dDwvYT48YnIgLz4KKzwvZGQ+PGR0Pkhvd2V2ZXI8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1ET0NCcGFyc2VyLmh0bWwjZG9jYkZyZWVQYXJzZXJDdHh0Ij5kb2NiRnJlZVBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEZyZWVQYXJzZXJDdHh0Ij5odG1sRnJlZVBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxGcmVlUGFyc2VyQ3R4dCI+eG1sRnJlZVBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUdldEJhc2UiPnhtbE5vZGVHZXRCYXNlPC9hPjxiciAvPgorPC9kZD48L2RsPjxoMj5MZXR0ZXIgSTo8L2gyPjxkbD48ZHQ+STE4TjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjX3htbE91dHB1dEJ1ZmZlciI+X3htbE91dHB1dEJ1ZmZlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjX3htbFBhcnNlcklucHV0QnVmZmVyIj5feG1sUGFyc2VySW5wdXRCdWZmZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dEJ1ZmZlcldyaXRlIj54bWxPdXRwdXRCdWZmZXJXcml0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0QnVmZmVyV3JpdGVFc2NhcGUiPnhtbE91dHB1dEJ1ZmZlcldyaXRlRXNjYXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyI+eG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyR3JvdyI+eG1sUGFyc2VySW5wdXRCdWZmZXJHcm93PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlclB1c2giPnhtbFBhcnNlcklucHV0QnVmZmVyUHVzaDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJSZWFkIj54bWxQYXJzZXJJbnB1dEJ1ZmZlclJlYWQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5JQU5BPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sQ2hlY2tMYW5ndWFnZUlEIj54bWxDaGVja0xhbmd1YWdlSUQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5JRFJFRjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQXR0cmlidXRlVHlwZSI+eG1sUGFyc2VBdHRyaWJ1dGVUeXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZUF0dHJpYnV0ZURlY2wiPnhtbFZhbGlkYXRlQXR0cmlidXRlRGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVBdHRyaWJ1dGVWYWx1ZSI+eG1sVmFsaWRhdGVBdHRyaWJ1dGVWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVEb2N1bWVudEZpbmFsIj54bWxWYWxpZGF0ZURvY3VtZW50RmluYWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlRHRkIj54bWxWYWxpZGF0ZUR0ZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVPbmVBdHRyaWJ1dGUiPnhtbFZhbGlkYXRlT25lQXR0cmlidXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZU9uZUVsZW1lbnQiPnhtbFZhbGlkYXRlT25lRWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVPbmVOYW1lc3BhY2UiPnhtbFZhbGlkYXRlT25lTmFtZXNwYWNlPC9hPjxiciAvPgorPC9kZD48ZHQ+SURSRUZTPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VBdHRyaWJ1dGVUeXBlIj54bWxQYXJzZUF0dHJpYnV0ZVR5cGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlQXR0cmlidXRlVmFsdWUiPnhtbFZhbGlkYXRlQXR0cmlidXRlVmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlRG9jdW1lbnRGaW5hbCI+eG1sVmFsaWRhdGVEb2N1bWVudEZpbmFsPC9hPjxiciAvPgorPC9kZD48ZHQ+SURSRUZzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI194bWxEb2MiPl94bWxEb2M8L2E+PGJyIC8+Cis8L2RkPjxkdD5JRHM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoSWRGdW5jdGlvbiI+eG1sWFBhdGhJZEZ1bmN0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+SUVFRTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhDb21wYXJlVmFsdWVzIj54bWxYUGF0aENvbXBhcmVWYWx1ZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU3RyaW5nRnVuY3Rpb24iPnhtbFhQYXRoU3RyaW5nRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU3Vic3RyaW5nRnVuY3Rpb24iPnhtbFhQYXRoU3Vic3RyaW5nRnVuY3Rpb248L2E+PGJyIC8+Cis8L2RkPjxkdD5JTVBMSUVEPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VBdHRyaWJ1dGVUeXBlIj54bWxQYXJzZUF0dHJpYnV0ZVR5cGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZURlZmF1bHREZWNsIj54bWxQYXJzZURlZmF1bHREZWNsPC9hPjxiciAvPgorPC9kZD48ZHQ+SVBBRXh0ZW5zaW9uczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0lQQUV4dGVuc2lvbnMiPnhtbFVDU0lzSVBBRXh0ZW5zaW9uczwvYT48YnIgLz4KKzwvZGQ+PGR0PklTTzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjVVRGOFRvaXNvbGF0MSI+VVRGOFRvaXNvbGF0MTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCNYTUxfQ0FTVF9GUFRSIj5YTUxfQ0FTVF9GUFRSPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCNpc29sYXQxVG9VVEY4Ij5pc29sYXQxVG9VVEY4PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sQ2hlY2tMYW5ndWFnZUlEIj54bWxDaGVja0xhbmd1YWdlSUQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5JU08tODg1OS08L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX0lTTzg4NTlYX0VOQUJMRUQiPkxJQlhNTF9JU084ODU5WF9FTkFCTEVEPC9hPjxiciAvPgorPC9kZD48ZHQ+SVNPLUxhdGluPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5Ij54bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlSZWNvdmVyIj54bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlSZWNvdmVyPC9hPjxiciAvPgorPC9kZD48ZHQ+SVNPNjM5Q29kZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbENoZWNrTGFuZ3VhZ2VJRCI+eG1sQ2hlY2tMYW5ndWFnZUlEPC9hPjxiciAvPgorPC9kZD48ZHQ+SVNPTGF0aW48L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI194bWxPdXRwdXRCdWZmZXIiPl94bWxPdXRwdXRCdWZmZXI8L2E+PGJyIC8+Cis8L2RkPjxkdD5JU19CTEFOSzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTX0JMQU5LX0NIIj5JU19CTEFOS19DSDwvYT48YnIgLz4KKzwvZGQ+PGR0PklTX0NIQVI8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNJU19DSEFSX0NIIj5JU19DSEFSX0NIPC9hPjxiciAvPgorPC9kZD48ZHQ+SVNfRElHSVQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNJU19ESUdJVF9DSCI+SVNfRElHSVRfQ0g8L2E+PGJyIC8+Cis8L2RkPjxkdD5JU19FWFRFTkRFUjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTX0VYVEVOREVSX0NIIj5JU19FWFRFTkRFUl9DSDwvYT48YnIgLz4KKzwvZGQ+PGR0PklTX0xFVFRFUjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTX0xFVFRFUl9DSCI+SVNfTEVUVEVSX0NIPC9hPjxiciAvPgorPC9kZD48ZHQ+SVNfUFVCSURDSEFSPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjSVNfUFVCSURDSEFSX0NIIj5JU19QVUJJRENIQVJfQ0g8L2E+PGJyIC8+Cis8L2RkPjxkdD5JYW5hQ29kZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbENoZWNrTGFuZ3VhZ2VJRCI+eG1sQ2hlY2tMYW5ndWFnZUlEPC9hPjxiciAvPgorPC9kZD48ZHQ+SWRlbnRpZmllcjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxBQ2F0YWxvZ1Jlc29sdmUiPnhtbEFDYXRhbG9nUmVzb2x2ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nTG9jYWxSZXNvbHZlIj54bWxDYXRhbG9nTG9jYWxSZXNvbHZlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dSZXNvbHZlIj54bWxDYXRhbG9nUmVzb2x2ZTwvYT48YnIgLz4KKzwvZGQ+PGR0PklkZW50aWZpZXJzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjWE1MX01BWF9OQU1FTEVOIj5YTUxfTUFYX05BTUVMRU48L2E+PGJyIC8+Cis8L2RkPjxkdD5JZGVvZ3JhcGhpYzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTX0lERU9HUkFQSElDIj5JU19JREVPR1JBUEhJQzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTX0xFVFRFUiI+SVNfTEVUVEVSPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sSXNMZXR0ZXIiPnhtbElzTGV0dGVyPC9hPjxiciAvPgorPC9kZD48ZHQ+SWRlb2dyYXBoaWNEZXNjcmlwdGlvbkNoYXJhY3RlcnM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNJZGVvZ3JhcGhpY0Rlc2NyaXB0aW9uQ2hhcmFjdGVycyI+eG1sVUNTSXNJZGVvZ3JhcGhpY0Rlc2NyaXB0aW9uQ2hhcmFjdGVyczwvYT48YnIgLz4KKzwvZGQ+PGR0Pklnbm9yZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19BTllBVFRSX0xBWCI+WE1MX1NDSEVNQVNfQU5ZQVRUUl9MQVg8L2E+PGJyIC8+Cis8L2RkPjxkdD5JZ25vcmVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sQ29weUNoYXIiPnhtbENvcHlDaGFyPC9hPjxiciAvPgorPC9kZD48ZHQ+SW1wbGVtZW50czwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGwiPnhtbFNoZWxsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbEJhc2UiPnhtbFNoZWxsQmFzZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxDYXQiPnhtbFNoZWxsQ2F0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbERpciI+eG1sU2hlbGxEaXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsRHUiPnhtbFNoZWxsRHU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsTGlzdCI+eG1sU2hlbGxMaXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbExvYWQiPnhtbFNoZWxsTG9hZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxQd2QiPnhtbFNoZWxsUHdkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbFNhdmUiPnhtbFNoZWxsU2F2ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxWYWxpZGF0ZSI+eG1sU2hlbGxWYWxpZGF0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxXcml0ZSI+eG1sU2hlbGxXcml0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhEaWZmZXJlbmNlIj54bWxYUGF0aERpZmZlcmVuY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRGlzdGluY3QiPnhtbFhQYXRoRGlzdGluY3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRGlzdGluY3RTb3J0ZWQiPnhtbFhQYXRoRGlzdGluY3RTb3J0ZWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoSGFzU2FtZU5vZGVzIj54bWxYUGF0aEhhc1NhbWVOb2RlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhJbnRlcnNlY3Rpb24iPnhtbFhQYXRoSW50ZXJzZWN0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aExlYWRpbmciPnhtbFhQYXRoTGVhZGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhMZWFkaW5nU29ydGVkIj54bWxYUGF0aExlYWRpbmdTb3J0ZWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9kZUxlYWRpbmciPnhtbFhQYXRoTm9kZUxlYWRpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9kZUxlYWRpbmdTb3J0ZWQiPnhtbFhQYXRoTm9kZUxlYWRpbmdTb3J0ZWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoTm9kZVNldEl0ZW0iPnhtbFhQYXRoTm9kZVNldEl0ZW08L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9kZVRyYWlsaW5nIj54bWxYUGF0aE5vZGVUcmFpbGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb2RlVHJhaWxpbmdTb3J0ZWQiPnhtbFhQYXRoTm9kZVRyYWlsaW5nU29ydGVkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFRyYWlsaW5nIj54bWxYUGF0aFRyYWlsaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFRyYWlsaW5nU29ydGVkIj54bWxYUGF0aFRyYWlsaW5nU29ydGVkPC9hPjxiciAvPgorPC9kZD48ZHQ+SW5jbHVkZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZXJIYW5kbGVQRVJlZmVyZW5jZSI+eG1sUGFyc2VySGFuZGxlUEVSZWZlcmVuY2U8L2E+PGJyIC8+Cis8L2RkPjxkdD5JbmNyZWFzZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cFJlZiI+eG1sRXhwUmVmPC9hPjxiciAvPgorPC9kZD48ZHQ+SW5jcmVtZW50PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtZGljdC5odG1sI3htbERpY3RSZWZlcmVuY2UiPnhtbERpY3RSZWZlcmVuY2U8L2E+PGJyIC8+Cis8L2RkPjxkdD5JbmRpY2F0ZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cE1heFRva2VuIj54bWxFeHBNYXhUb2tlbjwvYT48YnIgLz4KKzwvZGQ+PGR0PkluZGljYXRlczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNfeG1sU2NoZW1hV2lsZGNhcmQiPl94bWxTY2hlbWFXaWxkY2FyZDwvYT48YnIgLz4KKzwvZGQ+PGR0PkluZmluaXR5PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFN0cmluZ0Z1bmN0aW9uIj54bWxYUGF0aFN0cmluZ0Z1bmN0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+SW5pdGlhbDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFHZXRJbml0U3RhdGUiPnhtbEF1dG9tYXRhR2V0SW5pdFN0YXRlPC9hPjxiciAvPgorPC9kZD48ZHQ+SW5pdGlhbGl6YXRpb248L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxJbml0UGFyc2VyIj54bWxJbml0UGFyc2VyPC9hPjxiciAvPgorPC9kZD48ZHQ+SW5pdGlhbGl6ZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCNkb2NiRGVmYXVsdFNBWEhhbmRsZXJJbml0Ij5kb2NiRGVmYXVsdFNBWEhhbmRsZXJJbml0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI2h0bWxEZWZhdWx0U0FYSGFuZGxlckluaXQiPmh0bWxEZWZhdWx0U0FYSGFuZGxlckluaXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNodG1sSW5pdEF1dG9DbG9zZSI+aHRtbEluaXRBdXRvQ2xvc2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNpbml0ZG9jYkRlZmF1bHRTQVhIYW5kbGVyIj5pbml0ZG9jYkRlZmF1bHRTQVhIYW5kbGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjaW5pdGh0bWxEZWZhdWx0U0FYSGFuZGxlciI+aW5pdGh0bWxEZWZhdWx0U0FYSGFuZGxlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI2luaXR4bWxEZWZhdWx0U0FYSGFuZGxlciI+aW5pdHhtbERlZmF1bHRTQVhIYW5kbGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbERlZmF1bHRTQVhIYW5kbGVySW5pdCI+eG1sRGVmYXVsdFNBWEhhbmRsZXJJbml0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxJbml0Q2hhckVuY29kaW5nSGFuZGxlcnMiPnhtbEluaXRDaGFyRW5jb2RpbmdIYW5kbGVyczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbEluaXRNZW1vcnkiPnhtbEluaXRNZW1vcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxJbml0Tm9kZUluZm9TZXEiPnhtbEluaXROb2RlSW5mb1NlcTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEluaXRQYXJzZXJDdHh0Ij54bWxJbml0UGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQSW5pdCI+eG1sTmFub0ZUUEluaXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUFNjYW5Qcm94eSI+eG1sTmFub0ZUUFNjYW5Qcm94eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9odHRwLmh0bWwjeG1sTmFub0hUVFBJbml0Ij54bWxOYW5vSFRUUEluaXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQU2NhblByb3h5Ij54bWxOYW5vSFRUUFNjYW5Qcm94eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgySW5pdERlZmF1bHRTQVhIYW5kbGVyIj54bWxTQVgySW5pdERlZmF1bHRTQVhIYW5kbGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJJbml0RG9jYkRlZmF1bHRTQVhIYW5kbGVyIj54bWxTQVgySW5pdERvY2JEZWZhdWx0U0FYSGFuZGxlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgySW5pdEh0bWxEZWZhdWx0U0FYSGFuZGxlciI+eG1sU0FYMkluaXRIdG1sRGVmYXVsdFNBWEhhbmRsZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYVmVyc2lvbiI+eG1sU0FYVmVyc2lvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUluaXRUeXBlcyI+eG1sU2NoZW1hSW5pdFR5cGVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aEluaXQiPnhtbFhQYXRoSW5pdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhSb290Ij54bWxYUGF0aFJvb3Q8L2E+PGJyIC8+Cis8L2RkPjxkdD5Jbml0aWFsbHk8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0Ij54bWxTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0PC9hPjxiciAvPgorPC9kZD48ZHQ+SW5pdGlhdGU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUEdldFNvY2tldCI+eG1sTmFub0ZUUEdldFNvY2tldDwvYT48YnIgLz4KKzwvZGQ+PGR0PkluaXRpbGl6ZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HSW5pdFR5cGVzIj54bWxSZWxheE5HSW5pdFR5cGVzPC9hPjxiciAvPgorPC9kZD48ZHQ+SW5wdXQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNfeG1sUGFyc2VyQ3R4dCI+X3htbFBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxJT1BhcnNlRFREIj54bWxJT1BhcnNlRFREPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxJbnB1dENsb3NlQ2FsbGJhY2siPnhtbElucHV0Q2xvc2VDYWxsYmFjazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sSW5wdXRNYXRjaENhbGxiYWNrIj54bWxJbnB1dE1hdGNoQ2FsbGJhY2s8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbElucHV0T3BlbkNhbGxiYWNrIj54bWxJbnB1dE9wZW5DYWxsYmFjazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sSW5wdXRSZWFkQ2FsbGJhY2siPnhtbElucHV0UmVhZENhbGxiYWNrPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sTmV3SU9JbnB1dFN0cmVhbSI+eG1sTmV3SU9JbnB1dFN0cmVhbTwvYT48YnIgLz4KKzwvZGQ+PGR0Pkluc2VydDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0QXBwZW5kIj54bWxMaXN0QXBwZW5kPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3RJbnNlcnQiPnhtbExpc3RJbnNlcnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZXJBZGROb2RlSW5mbyI+eG1sUGFyc2VyQWRkTm9kZUluZm88L2E+PGJyIC8+Cis8L2RkPjxkdD5JbnN0cnVjdGlvbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlUEkiPnhtbFBhcnNlUEk8L2E+PGJyIC8+Cis8L2RkPjxkdD5JbnN0dWN0aW9uPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI1hNTF9DQVRBTE9HX1BJIj5YTUxfQ0FUQUxPR19QSTwvYT48YnIgLz4KKzwvZGQ+PGR0PkludGVuZGVkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxTbnByaW50ZkVsZW1lbnRDb250ZW50Ij54bWxTbnByaW50ZkVsZW1lbnRDb250ZW50PC9hPjxiciAvPgorPC9kZD48ZHQ+SW50ZXJuYWw8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjX3htbERPTVdyYXBDdHh0Ij5feG1sRE9NV3JhcEN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZU1hcmt1cERlY2wiPnhtbFBhcnNlTWFya3VwRGVjbDwvYT48YnIgLz4KKzwvZGQ+PGR0PkludHJvZHVjZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNYTUxfTUFYX0RJQ1RJT05BUllfTElNSVQiPlhNTF9NQVhfRElDVElPTkFSWV9MSU1JVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI1hNTF9NQVhfTE9PS1VQX0xJTUlUIj5YTUxfTUFYX0xPT0tVUF9MSU1JVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI1hNTF9NQVhfTkFNRV9MRU5HVEgiPlhNTF9NQVhfTkFNRV9MRU5HVEg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNYTUxfTUFYX1RFWFRfTEVOR1RIIj5YTUxfTUFYX1RFWFRfTEVOR1RIPC9hPjxiciAvPgorPC9kZD48ZHQ+SXJyZWd1bGFyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sQ2hlY2tMYW5ndWFnZUlEIj54bWxDaGVja0xhbmd1YWdlSUQ8L2E+PGJyIC8+Cis8L2RkPjwvZGw+PGgyIGFsaWduPSJjZW50ZXIiPjxhIGhyZWY9IkFQSWNodW5rMC5odG1sIj5BLUI8L2E+Cis8YSBocmVmPSJBUEljaHVuazEuaHRtbCI+Qy1DPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyLmh0bWwiPkQtRTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMy5odG1sIj5GLUk8L2E+Cis8YSBocmVmPSJBUEljaHVuazQuaHRtbCI+Si1OPC9hPgorPGEgaHJlZj0iQVBJY2h1bms1Lmh0bWwiPk8tUDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNi5odG1sIj5RLVI8L2E+Cis8YSBocmVmPSJBUEljaHVuazcuaHRtbCI+Uy1TPC9hPgorPGEgaHJlZj0iQVBJY2h1bms4Lmh0bWwiPlQtVTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rOS5odG1sIj5WLVg8L2E+Cis8YSBocmVmPSJBUEljaHVuazEwLmh0bWwiPlktYTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTEuaHRtbCI+Yi1iPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMi5odG1sIj5jLWM8L2E+Cis8YSBocmVmPSJBUEljaHVuazEzLmh0bWwiPmQtZDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTQuaHRtbCI+ZS1lPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNS5odG1sIj5mLWY8L2E+Cis8YSBocmVmPSJBUEljaHVuazE2Lmh0bWwiPmctaDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTcuaHRtbCI+aS1pPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxOC5odG1sIj5qLWw8L2E+Cis8YSBocmVmPSJBUEljaHVuazE5Lmh0bWwiPm0tbTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjAuaHRtbCI+bi1uPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMS5odG1sIj5vLW88L2E+Cis8YSBocmVmPSJBUEljaHVuazIyLmh0bWwiPnAtcDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjMuaHRtbCI+cS1yPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNC5odG1sIj5zLXM8L2E+Cis8YSBocmVmPSJBUEljaHVuazI1Lmh0bWwiPnQtdDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjYuaHRtbCI+dS12PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNy5odG1sIj53LXc8L2E+Cis8YSBocmVmPSJBUEljaHVuazI4Lmh0bWwiPngteDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjkuaHRtbCI+eS16PC9hPgorPC9oMj48cD48YSBocmVmPSJidWdzLmh0bWwiPkRhbmllbCBWZWlsbGFyZDwvYT48L3A+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL0FQSWNodW5rNC5odG1sIGIvbGlieG1sMi9kb2MvQVBJY2h1bms0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDI2ODgzYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL0FQSWNodW5rNC5odG1sCkBAIC0wLDAgKzEsMzUxIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPgorPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPjxoZWFkPjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPjxsaW5rIHJlbD0iU0hPUlRDVVQgSUNPTiIgaHJlZj0iL2Zhdmljb24uaWNvIiAvPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CitURCB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorQk9EWSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhOyBtYXJnaW4tdG9wOiAyZW07IG1hcmdpbi1sZWZ0OiAwZW07IG1hcmdpbi1yaWdodDogMGVtfQorSDEge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gyIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMyB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorQTpsaW5rLCBBOnZpc2l0ZWQsIEE6YWN0aXZlIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgfQorPC9zdHlsZT48dGl0bGU+QVBJIEFscGhhYmV0aWMgSW5kZXggSi1OIGZvciBsaWJ4bWwyPC90aXRsZT48L2hlYWQ+PGJvZHkgYmdjb2xvcj0iIzhiNzc2NSIgdGV4dD0iIzAwMDAwMCIgbGluaz0iI2EwNjA2MCIgdmxpbms9IiMwMDAwMDAiPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSIxMDAlIiBjZWxscGFkZGluZz0iNSIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgd2lkdGg9IjEyMCI+PGEgaHJlZj0iaHR0cDovL3N3cGF0LmZmaWkub3JnLyI+PGltZyBzcmM9ImVwYXRlbnRzLnBuZyIgYWx0PSJBY3Rpb24gYWdhaW5zdCBzb2Z0d2FyZSBwYXRlbnRzIiAvPjwvYT48L3RkPjx0ZCB3aWR0aD0iMTgwIj48YSBocmVmPSJodHRwOi8vd3d3Lmdub21lLm9yZy8iPjxpbWcgc3JjPSJnbm9tZTIucG5nIiBhbHQ9Ikdub21lMiBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9TdGF0dXMiPjxpbWcgc3JjPSJ3M2MucG5nIiBhbHQ9IlczQyBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnJlZGhhdC5jb20vIj48aW1nIHNyYz0icmVkaGF0LmdpZiIgYWx0PSJSZWQgSGF0IExvZ28iIC8+PC9hPjxkaXYgYWxpZ249ImxlZnQiPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy8iPjxpbWcgc3JjPSJMaWJ4bWwyLUxvZ28tMTgweDE2OC5naWYiIGFsdD0iTWFkZSB3aXRoIExpYnhtbDIgTG9nbyIgLz48L2E+PC9kaXY+PC90ZD48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjkwJSIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiIGJnY29sb3I9IiNmZmZhY2QiPjx0cj48dGQgYWxpZ249ImNlbnRlciI+PGgxPlRoZSBYTUwgQyBwYXJzZXIgYW5kIHRvb2xraXQgb2YgR25vbWU8L2gxPjxoMj5BUEkgQWxwaGFiZXRpYyBJbmRleCBKLU4gZm9yIGxpYnhtbDI8L2gyPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI0IiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCB2YWxpZ249InRvcCIgd2lkdGg9IjIwMCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+RGV2ZWxvcGVyIE1lbnU8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PGZvcm0gYWN0aW9uPSJzZWFyY2gucGhwIiBlbmN0eXBlPSJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiIG1ldGhvZD0iZ2V0Ij48aW5wdXQgbmFtZT0icXVlcnkiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iIiAvPjxpbnB1dCBuYW1lPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNlYXJjaCAuLi4iIC8+PC9mb3JtPjx1bD48bGk+PGEgaHJlZj0iaW5kZXguaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPk1haW4gTWVudTwvYT48L2xpPjxsaT48YSBocmVmPSJodG1sL2luZGV4Lmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5SZWZlcmVuY2UgTWFudWFsPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImV4YW1wbGVzL2luZGV4Lmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5Db2RlIEV4YW1wbGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imd1aWRlbGluZXMuaHRtbCI+WE1MIEd1aWRlbGluZXM8L2E+PC9saT48bGk+PGEgaHJlZj0idHV0b3JpYWwvaW5kZXguaHRtbCI+VHV0b3JpYWw8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1scmVhZGVyLmh0bWwiPlRoZSBSZWFkZXIgSW50ZXJmYWNlPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkNoYW5nZUxvZy5odG1sIj5DaGFuZ2VMb2c8L2E+PC9saT48bGk+PGEgaHJlZj0iWFNMVC5odG1sIj5YU0xUPC9hPjwvbGk+PGxpPjxhIGhyZWY9InB5dGhvbi5odG1sIj5QeXRob24gYW5kIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImFyY2hpdGVjdHVyZS5odG1sIj5saWJ4bWwyIGFyY2hpdGVjdHVyZTwvYT48L2xpPjxsaT48YSBocmVmPSJ0cmVlLmh0bWwiPlRoZSB0cmVlIG91dHB1dDwvYT48L2xpPjxsaT48YSBocmVmPSJpbnRlcmZhY2UuaHRtbCI+VGhlIFNBWCBpbnRlcmZhY2U8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1sbWVtLmh0bWwiPk1lbW9yeSBNYW5hZ2VtZW50PC9hPjwvbGk+PGxpPjxhIGhyZWY9InhtbGlvLmh0bWwiPkkvTyBJbnRlcmZhY2VzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnJhcnkuaHRtbCI+VGhlIHBhcnNlciBpbnRlcmZhY2VzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImVudGl0aWVzLmh0bWwiPkVudGl0aWVzIG9yIG5vIGVudGl0aWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Im5hbWVzcGFjZXMuaHRtbCI+TmFtZXNwYWNlczwvYT48L2xpPjxsaT48YSBocmVmPSJ1cGdyYWRlLmh0bWwiPlVwZ3JhZGluZyAxLnggY29kZTwvYT48L2xpPjxsaT48YSBocmVmPSJ0aHJlYWRzLmh0bWwiPlRocmVhZCBzYWZldHk8L2E+PC9saT48bGk+PGEgaHJlZj0iRE9NLmh0bWwiPkRPTSBQcmluY2lwbGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImV4YW1wbGUuaHRtbCI+QSByZWFsIGV4YW1wbGU8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1sLmh0bWwiPmZsYXQgcGFnZTwvYT4sIDxhIGhyZWY9InNpdGUueHNsIj5zdHlsZXNoZWV0PC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+QVBJIEluZGV4ZXM8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSJBUEljaHVuazAuaHRtbCI+QWxwaGFiZXRpYzwvYT48L2xpPjxsaT48YSBocmVmPSJBUEljb25zdHJ1Y3RvcnMuaHRtbCI+Q29uc3RydWN0b3JzPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkFQSWZ1bmN0aW9ucy5odG1sIj5GdW5jdGlvbnMvVHlwZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iQVBJZmlsZXMuaHRtbCI+TW9kdWxlczwvYT48L2xpPjxsaT48YSBocmVmPSJBUElzeW1ib2xzLmh0bWwiPlN5bWJvbHM8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5SZWxhdGVkIGxpbmtzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iaHR0cDovL21haWwuZ25vbWUub3JnL2FyY2hpdmVzL3htbC8iPk1haWwgYXJjaGl2ZTwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvWFNMVC8iPlhTTFQgbGlieHNsdDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vcGhkLmNzLnVuaWJvLml0L2dkb21lMi8iPkRPTSBnZG9tZTI8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5hbGVrc2V5LmNvbS94bWxzZWMvIj5YTUwtRFNpZyB4bWxzZWM8L2E+PC9saT48bGk+PGEgaHJlZj0iZnRwOi8veG1sc29mdC5vcmcvIj5GVFA8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56bGF0a292aWMuY29tL3Byb2plY3RzL2xpYnhtbC8iPldpbmRvd3MgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL29wZW5jc3cub3JnL3BhY2thZ2VzL2xpYnhtbDIiPlNvbGFyaXMgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5leHBsYWluLmNvbS5hdS9vc3MvbGlieG1sMnhzbHQuaHRtbCI+TWFjT3NYIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9seG1sLmRlLyI+bHhtbCBQeXRob24gYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2NwYW4udXdpbm5pcGVnLmNhL2Rpc3QvWE1MLUxpYlhNTCI+UGVybCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1scGx1c3BsdXMuc291cmNlZm9yZ2UubmV0LyI+QysrIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemVuZC5jb20vcGhwNS9hcnRpY2xlcy9waHA1LXhtbHBocC5waHAjSGVhZGluZzQiPlBIUCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2xpYnhtbDItcGFzLyI+UGFzY2FsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWwucnVieWZvcmdlLm9yZy8iPlJ1YnkgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3RjbHhtbC5zb3VyY2Vmb3JnZS5uZXQvIj5UY2wgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9idWdsaXN0LmNnaT9wcm9kdWN0PWxpYnhtbDIiPkJ1ZyBUcmFja2VyPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIzIiBjZWxsc3BhY2luZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PGgyIGFsaWduPSJjZW50ZXIiPjxhIGhyZWY9IkFQSWNodW5rMC5odG1sIj5BLUI8L2E+Cis8YSBocmVmPSJBUEljaHVuazEuaHRtbCI+Qy1DPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyLmh0bWwiPkQtRTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMy5odG1sIj5GLUk8L2E+Cis8YSBocmVmPSJBUEljaHVuazQuaHRtbCI+Si1OPC9hPgorPGEgaHJlZj0iQVBJY2h1bms1Lmh0bWwiPk8tUDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNi5odG1sIj5RLVI8L2E+Cis8YSBocmVmPSJBUEljaHVuazcuaHRtbCI+Uy1TPC9hPgorPGEgaHJlZj0iQVBJY2h1bms4Lmh0bWwiPlQtVTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rOS5odG1sIj5WLVg8L2E+Cis8YSBocmVmPSJBUEljaHVuazEwLmh0bWwiPlktYTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTEuaHRtbCI+Yi1iPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMi5odG1sIj5jLWM8L2E+Cis8YSBocmVmPSJBUEljaHVuazEzLmh0bWwiPmQtZDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTQuaHRtbCI+ZS1lPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNS5odG1sIj5mLWY8L2E+Cis8YSBocmVmPSJBUEljaHVuazE2Lmh0bWwiPmctaDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTcuaHRtbCI+aS1pPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxOC5odG1sIj5qLWw8L2E+Cis8YSBocmVmPSJBUEljaHVuazE5Lmh0bWwiPm0tbTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjAuaHRtbCI+bi1uPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMS5odG1sIj5vLW88L2E+Cis8YSBocmVmPSJBUEljaHVuazIyLmh0bWwiPnAtcDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjMuaHRtbCI+cS1yPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNC5odG1sIj5zLXM8L2E+Cis8YSBocmVmPSJBUEljaHVuazI1Lmh0bWwiPnQtdDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjYuaHRtbCI+dS12PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNy5odG1sIj53LXc8L2E+Cis8YSBocmVmPSJBUEljaHVuazI4Lmh0bWwiPngteDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjkuaHRtbCI+eS16PC9hPgorPC9oMj48aDI+TGV0dGVyIEo6PC9oMj48ZGw+PGR0PkphbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNfaHRtbEVsZW1EZXNjIj5faHRtbEVsZW1EZXNjPC9hPjxiciAvPgorPC9kZD48ZHQ+SmF2YTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoZWNrVVRGOCI+eG1sQ2hlY2tVVEY4PC9hPjxiciAvPgorPC9kZD48L2RsPjxoMj5MZXR0ZXIgSzo8L2gyPjxkbD48ZHQ+S2FuYnVuPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzS2FuYnVuIj54bWxVQ1NJc0thbmJ1bjwvYT48YnIgLz4KKzwvZGQ+PGR0Pkthbmd4aVJhZGljYWxzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzS2FuZ3hpUmFkaWNhbHMiPnhtbFVDU0lzS2FuZ3hpUmFkaWNhbHM8L2E+PGJyIC8+Cis8L2RkPjxkdD5LYW5uYWRhPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzS2FubmFkYSI+eG1sVUNTSXNLYW5uYWRhPC9hPjxiciAvPgorPC9kZD48ZHQ+S2F0YWthbmE8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNLYXRha2FuYSI+eG1sVUNTSXNLYXRha2FuYTwvYT48YnIgLz4KKzwvZGQ+PGR0PkthdGFrYW5hUGhvbmV0aWNFeHRlbnNpb25zPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzS2F0YWthbmFQaG9uZXRpY0V4dGVuc2lvbnMiPnhtbFVDU0lzS2F0YWthbmFQaG9uZXRpY0V4dGVuc2lvbnM8L2E+PGJyIC8+Cis8L2RkPjxkdD5LaG1lcjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0tobWVyIj54bWxVQ1NJc0tobWVyPC9hPjxiciAvPgorPC9kZD48ZHQ+S2htZXJTeW1ib2xzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzS2htZXJTeW1ib2xzIj54bWxVQ1NJc0tobWVyU3ltYm9sczwvYT48YnIgLz4KKzwvZGQ+PC9kbD48aDI+TGV0dGVyIEw6PC9oMj48ZGw+PGR0Pkxhbmdjb2RlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sQ2hlY2tMYW5ndWFnZUlEIj54bWxDaGVja0xhbmd1YWdlSUQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5MYW5ndWFnZUlEPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sQ2hlY2tMYW5ndWFnZUlEIj54bWxDaGVja0xhbmd1YWdlSUQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5MYW88L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNMYW8iPnhtbFVDU0lzTGFvPC9hPjxiciAvPgorPC9kZD48ZHQ+TGFzdDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjX3htbEVudGl0eSI+X3htbEVudGl0eTwvYT48YnIgLz4KKzwvZGQ+PGR0PkxhdGluPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCNVVEY4VG9pc29sYXQxIj5VVEY4VG9pc29sYXQxPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCNpc29sYXQxVG9VVEY4Ij5pc29sYXQxVG9VVEY4PC9hPjxiciAvPgorPC9kZD48ZHQ+TGF0aW4tMVN1cHBsZW1lbnQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNMYXRpbjFTdXBwbGVtZW50Ij54bWxVQ1NJc0xhdGluMVN1cHBsZW1lbnQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5MYXRpbkV4dGVuZGVkLUE8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNMYXRpbkV4dGVuZGVkQSI+eG1sVUNTSXNMYXRpbkV4dGVuZGVkQTwvYT48YnIgLz4KKzwvZGQ+PGR0PkxhdGluRXh0ZW5kZWQtQjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0xhdGluRXh0ZW5kZWRCIj54bWxVQ1NJc0xhdGluRXh0ZW5kZWRCPC9hPjxiciAvPgorPC9kZD48ZHQ+TGF0aW5FeHRlbmRlZEFkZGl0aW9uYWw8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNMYXRpbkV4dGVuZGVkQWRkaXRpb25hbCI+eG1sVUNTSXNMYXRpbkV4dGVuZGVkQWRkaXRpb25hbDwvYT48YnIgLz4KKzwvZGQ+PGR0PkxlZ2FsPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VDaGFyUmVmIj54bWxQYXJzZUNoYXJSZWY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZURlZmF1bHREZWNsIj54bWxQYXJzZURlZmF1bHREZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZUF0dHJpYnV0ZURlY2wiPnhtbFZhbGlkYXRlQXR0cmlidXRlRGVjbDwvYT48YnIgLz4KKzwvZGQ+PGR0Pkxlbmd0aDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxEb2NEdW1wRm9ybWF0TWVtb3J5RW5jIj54bWxEb2NEdW1wRm9ybWF0TWVtb3J5RW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERvY0R1bXBNZW1vcnlFbmMiPnhtbERvY0R1bXBNZW1vcnlFbmM8L2E+PGJyIC8+Cis8L2RkPjxkdD5MZXR0ZXI8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNJU19MRVRURVIiPklTX0xFVFRFUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbElzTGV0dGVyIj54bWxJc0xldHRlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbE5hbWVzcGFjZVBhcnNlTkNOYW1lIj54bWxOYW1lc3BhY2VQYXJzZU5DTmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlTmFtZSI+eG1sUGFyc2VOYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sU2Nhbk5hbWUiPnhtbFNjYW5OYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFBhcnNlTkNOYW1lIj54bWxYUGF0aFBhcnNlTkNOYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFBhcnNlTmFtZSI+eG1sWFBhdGhQYXJzZU5hbWU8L2E+PGJyIC8+Cis8L2RkPjxkdD5MZXR0ZXJsaWtlU3ltYm9sczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0xldHRlcmxpa2VTeW1ib2xzIj54bWxVQ1NJc0xldHRlcmxpa2VTeW1ib2xzPC9hPjxiciAvPgorPC9kZD48ZHQ+TGlrZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPcmRlckRvY0VsZW1zIj54bWxYUGF0aE9yZGVyRG9jRWxlbXM8L2E+PGJyIC8+Cis8L2RkPjxkdD5MaW1idTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0xpbWJ1Ij54bWxVQ1NJc0xpbWJ1PC9hPjxiciAvPgorPC9kZD48ZHQ+TGluZWFyQklkZW9ncmFtczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0xpbmVhckJJZGVvZ3JhbXMiPnhtbFVDU0lzTGluZWFyQklkZW9ncmFtczwvYT48YnIgLz4KKzwvZGQ+PGR0PkxpbmVhckJTeWxsYWJhcnk8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNMaW5lYXJCU3lsbGFiYXJ5Ij54bWxVQ1NJc0xpbmVhckJTeWxsYWJhcnk8L2E+PGJyIC8+Cis8L2RkPjxkdD5MaXN0PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI194bWxFbGVtZW50Ij5feG1sRWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI194bWxQYXJzZXJDdHh0Ij5feG1sUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzwvZGQ+PGR0PkxpdGVyYWw8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZVN5c3RlbUxpdGVyYWwiPnhtbFBhcnNlU3lzdGVtTGl0ZXJhbDwvYT48YnIgLz4KKzwvZGQ+PGR0PkxvYWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxJT1BhcnNlRFREIj54bWxJT1BhcnNlRFREPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbExvYWRBQ2F0YWxvZyI+eG1sTG9hZEFDYXRhbG9nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbExvYWRDYXRhbG9nIj54bWxMb2FkQ2F0YWxvZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxMb2FkQ2F0YWxvZ3MiPnhtbExvYWRDYXRhbG9nczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbExvYWRFeHRlcm5hbEVudGl0eSI+eG1sTG9hZEV4dGVybmFsRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbExvYWRTR01MU3VwZXJDYXRhbG9nIj54bWxMb2FkU0dNTFN1cGVyQ2F0YWxvZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlRFREIj54bWxQYXJzZURURDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNBWFBhcnNlRFREIj54bWxTQVhQYXJzZURURDwvYT48YnIgLz4KKzwvZGQ+PGR0PkxvY2FsPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCNfeG1sT3V0cHV0QnVmZmVyIj5feG1sT3V0cHV0QnVmZmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCNfeG1sUGFyc2VySW5wdXRCdWZmZXIiPl94bWxQYXJzZXJJbnB1dEJ1ZmZlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNfeG1sU2NoZW1hVHlwZSI+X3htbFNjaGVtYVR5cGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5Mb2NhbFBhcnQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxOYW1lc3BhY2VQYXJzZVFOYW1lIj54bWxOYW1lc3BhY2VQYXJzZVFOYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sU3BsaXRRTmFtZSI+eG1sU3BsaXRRTmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTcGxpdFFOYW1lMiI+eG1sU3BsaXRRTmFtZTI8L2E+PGJyIC8+Cis8L2RkPjxkdD5Mb2NhdGlvbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhFdmFsIj54bWxYUGF0aEV2YWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoTm9kZUV2YWwiPnhtbFhQYXRoTm9kZUV2YWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJFdmFsIj54bWxYUHRyRXZhbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ckV2YWxSYW5nZVByZWRpY2F0ZSI+eG1sWFB0ckV2YWxSYW5nZVByZWRpY2F0ZTwvYT48YnIgLz4KKzwvZGQ+PGR0PkxvY2F0aW9uU2V0PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyRnJlZUxvY2F0aW9uU2V0Ij54bWxYUHRyRnJlZUxvY2F0aW9uU2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyTG9jYXRpb25TZXRBZGQiPnhtbFhQdHJMb2NhdGlvblNldEFkZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ckxvY2F0aW9uU2V0RGVsIj54bWxYUHRyTG9jYXRpb25TZXREZWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJMb2NhdGlvblNldE1lcmdlIj54bWxYUHRyTG9jYXRpb25TZXRNZXJnZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ckxvY2F0aW9uU2V0UmVtb3ZlIj54bWxYUHRyTG9jYXRpb25TZXRSZW1vdmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJOZXdMb2NhdGlvblNldE5vZGVTZXQiPnhtbFhQdHJOZXdMb2NhdGlvblNldE5vZGVTZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJOZXdMb2NhdGlvblNldE5vZGVzIj54bWxYUHRyTmV3TG9jYXRpb25TZXROb2RlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0cldyYXBMb2NhdGlvblNldCI+eG1sWFB0cldyYXBMb2NhdGlvblNldDwvYT48YnIgLz4KKzwvZGQ+PGR0PkxvY2F0b3I8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNzZXREb2N1bWVudExvY2F0b3IiPnNldERvY3VtZW50TG9jYXRvcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3NldERvY3VtZW50TG9jYXRvclNBWEZ1bmMiPnNldERvY3VtZW50TG9jYXRvclNBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMlNldERvY3VtZW50TG9jYXRvciI+eG1sU0FYMlNldERvY3VtZW50TG9jYXRvcjwvYT48YnIgLz4KKzwvZGQ+PGR0Pkxvb2t1cDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sRW50aXR5TG9va3VwIj5odG1sRW50aXR5TG9va3VwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxFbnRpdHlWYWx1ZUxvb2t1cCI+aHRtbEVudGl0eVZhbHVlTG9va3VwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxUYWdMb29rdXAiPmh0bWxUYWdMb29rdXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbEdldEVuY29kaW5nQWxpYXMiPnhtbEdldEVuY29kaW5nQWxpYXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtb2R1bGUuaHRtbCN4bWxNb2R1bGVTeW1ib2wiPnhtbE1vZHVsZVN5bWJvbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUdldEJ1aWx0SW5MaXN0U2ltcGxlVHlwZUl0ZW1UeXBlIj54bWxTY2hlbWFHZXRCdWlsdEluTGlzdFNpbXBsZVR5cGVJdGVtVHlwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUdldFByZWRlZmluZWRUeXBlIj54bWxTY2hlbWFHZXRQcmVkZWZpbmVkVHlwZTwvYT48YnIgLz4KKzwvZGQ+PGR0Pkxvb3NlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI19odG1sRWxlbURlc2MiPl9odG1sRWxlbURlc2M8L2E+PGJyIC8+Cis8L2RkPjxkdD5Mb3dTdXJyb2dhdGVzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzTG93U3Vycm9nYXRlcyI+eG1sVUNTSXNMb3dTdXJyb2dhdGVzPC9hPjxiciAvPgorPC9kZD48ZHQ+THptYTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfTFpNQV9FTkFCTEVEIj5MSUJYTUxfTFpNQV9FTkFCTEVEPC9hPjxiciAvPgorPC9kZD48L2RsPjxoMj5MZXR0ZXIgTTo8L2gyPjxkbD48ZHQ+TUVUQTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwjaHRtbFNldE1ldGFFbmNvZGluZyI+aHRtbFNldE1ldGFFbmNvZGluZzwvYT48YnIgLz4KKzwvZGQ+PGR0Pk1PRElGSUVSPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI19odG1sRWxlbURlc2MiPl9odG1sRWxlbURlc2M8L2E+PGJyIC8+Cis8L2RkPjxkdD5NVUxUPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI194bWxFbGVtZW50Q29udGVudCI+X3htbEVsZW1lbnRDb250ZW50PC9hPjxiciAvPgorPC9kZD48ZHQ+TVVTVDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTRORG9jU2F2ZVRvIj54bWxDMTRORG9jU2F2ZVRvPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtYzE0bi5odG1sI3htbEMxNE5FeGVjdXRlIj54bWxDMTRORXhlY3V0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJOb3JtYWxpemF0aW9uIj54bWxUZXh0UmVhZGVyTm9ybWFsaXphdGlvbjwvYT48YnIgLz4KKzwvZGQ+PGR0Pk1ha2VzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVNldEZpbmFsU3RhdGUiPnhtbEF1dG9tYXRhU2V0RmluYWxTdGF0ZTwvYT48YnIgLz4KKzwvZGQ+PGR0Pk1hbGF5YWxhbTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc01hbGF5YWxhbSI+eG1sVUNTSXNNYWxheWFsYW08L2E+PGJyIC8+Cis8L2RkPjxkdD5NYXBzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbENoaWxkcmVuTm9kZSI+eG1sQ2hpbGRyZW5Ob2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFJvb3ROb2RlIj54bWxSb290Tm9kZTwvYT48YnIgLz4KKzwvZGQ+PGR0Pk1hcmtzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0FUVFJHUk9VUF9NQVJLRUQiPlhNTF9TQ0hFTUFTX0FUVFJHUk9VUF9NQVJLRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVFlQRV9CVUlMVElOX1BSSU1JVElWRSI+WE1MX1NDSEVNQVNfVFlQRV9CVUlMVElOX1BSSU1JVElWRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX01BUktFRCI+WE1MX1NDSEVNQVNfVFlQRV9NQVJLRUQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5NYXJrdXA8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUV4dGVybmFsU3Vic2V0Ij54bWxQYXJzZUV4dGVybmFsU3Vic2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VNYXJrdXBEZWNsIj54bWxQYXJzZU1hcmt1cERlY2w8L2E+PGJyIC8+Cis8L2RkPjxkdD5NYXRjaDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRWxlbWVudCI+eG1sUGFyc2VFbGVtZW50PC9hPjxiciAvPgorPC9kZD48ZHQ+TWF0aGVtYXRpY2FsQWxwaGFudW1lcmljU3ltYm9sczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc01hdGhlbWF0aWNhbEFscGhhbnVtZXJpY1N5bWJvbHMiPnhtbFVDU0lzTWF0aGVtYXRpY2FsQWxwaGFudW1lcmljU3ltYm9sczwvYT48YnIgLz4KKzwvZGQ+PGR0Pk1hdGhlbWF0aWNhbE9wZXJhdG9yczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc01hdGhlbWF0aWNhbE9wZXJhdG9ycyI+eG1sVUNTSXNNYXRoZW1hdGljYWxPcGVyYXRvcnM8L2E+PGJyIC8+Cis8L2RkPjxkdD5NYXg8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNfeG1sUGFyc2VyQ3R4dCI+X3htbFBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI194bWxWYWxpZEN0eHQiPl94bWxWYWxpZEN0eHQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5NYXhpbXVtPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjWE1MX01BWF9ESUNUSU9OQVJZX0xJTUlUIj5YTUxfTUFYX0RJQ1RJT05BUllfTElNSVQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNYTUxfTUFYX0xPT0tVUF9MSU1JVCI+WE1MX01BWF9MT09LVVBfTElNSVQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNYTUxfTUFYX05BTUVfTEVOR1RIIj5YTUxfTUFYX05BTUVfTEVOR1RIPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjWE1MX01BWF9URVhUX0xFTkdUSCI+WE1MX01BWF9URVhUX0xFTkdUSDwvYT48YnIgLz4KKzwvZGQ+PGR0Pk1heTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbFVSSUVzY2FwZSI+eG1sVVJJRXNjYXBlPC9hPjxiciAvPgorPC9kZD48ZHQ+TWVtb3J5PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERvY0R1bXBGb3JtYXRNZW1vcnlFbmMiPnhtbERvY0R1bXBGb3JtYXRNZW1vcnlFbmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRG9jRHVtcE1lbW9yeUVuYyI+eG1sRG9jRHVtcE1lbW9yeUVuYzwvYT48YnIgLz4KKzwvZGQ+PGR0Pk1lcmdlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFRleHRNZXJnZSI+eG1sVGV4dE1lcmdlPC9hPjxiciAvPgorPC9kZD48ZHQ+TWVyZ2VzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vZGVTZXRNZXJnZSI+eG1sWFBhdGhOb2RlU2V0TWVyZ2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJMb2NhdGlvblNldE1lcmdlIj54bWxYUHRyTG9jYXRpb25TZXRNZXJnZTwvYT48YnIgLz4KKzwvZGQ+PGR0Pk1ldGE8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI2h0bWxHZXRNZXRhRW5jb2RpbmciPmh0bWxHZXRNZXRhRW5jb2Rpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI2h0bWxTZXRNZXRhRW5jb2RpbmciPmh0bWxTZXRNZXRhRW5jb2Rpbmc8L2E+PGJyIC8+Cis8L2RkPjxkdD5NZXRob2Q8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyR2V0UmVtYWluZGVyIj54bWxUZXh0UmVhZGVyR2V0UmVtYWluZGVyPC9hPjxiciAvPgorPC9kZD48ZHQ+TWltZS1UeXBlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUE1pbWVUeXBlIj54bWxOYW5vSFRUUE1pbWVUeXBlPC9hPjxiciAvPgorPC9kZD48ZHQ+TWluaW1hbDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cFBhcnNlIj54bWxFeHBQYXJzZTwvYT48YnIgLz4KKzwvZGQ+PGR0Pk1pc2M8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZURvY3VtZW50Ij54bWxQYXJzZURvY3VtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VNaXNjIj54bWxQYXJzZU1pc2M8L2E+PGJyIC8+Cis8L2RkPjxkdD5NaXNjZWxsYW5lb3VzTWF0aGVtYXRpY2FsU3ltYm9scy1BPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzTWlzY2VsbGFuZW91c01hdGhlbWF0aWNhbFN5bWJvbHNBIj54bWxVQ1NJc01pc2NlbGxhbmVvdXNNYXRoZW1hdGljYWxTeW1ib2xzQTwvYT48YnIgLz4KKzwvZGQ+PGR0Pk1pc2NlbGxhbmVvdXNNYXRoZW1hdGljYWxTeW1ib2xzLUI8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNNaXNjZWxsYW5lb3VzTWF0aGVtYXRpY2FsU3ltYm9sc0IiPnhtbFVDU0lzTWlzY2VsbGFuZW91c01hdGhlbWF0aWNhbFN5bWJvbHNCPC9hPjxiciAvPgorPC9kZD48ZHQ+TWlzY2VsbGFuZW91c1N5bWJvbHM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNNaXNjZWxsYW5lb3VzU3ltYm9scyI+eG1sVUNTSXNNaXNjZWxsYW5lb3VzU3ltYm9sczwvYT48YnIgLz4KKzwvZGQ+PGR0Pk1pc2NlbGxhbmVvdXNTeW1ib2xzYW5kQXJyb3dzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzTWlzY2VsbGFuZW91c1N5bWJvbHNhbmRBcnJvd3MiPnhtbFVDU0lzTWlzY2VsbGFuZW91c1N5bWJvbHNhbmRBcnJvd3M8L2E+PGJyIC8+Cis8L2RkPjxkdD5NaXNjZWxsYW5lb3VzVGVjaG5pY2FsPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzTWlzY2VsbGFuZW91c1RlY2huaWNhbCI+eG1sVUNTSXNNaXNjZWxsYW5lb3VzVGVjaG5pY2FsPC9hPjxiciAvPgorPC9kZD48ZHQ+TWl4ZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbElzTWl4ZWRFbGVtZW50Ij54bWxJc01peGVkRWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2wiPnhtbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVsZW1lbnRDb250ZW50RGVjbCI+eG1sUGFyc2VFbGVtZW50Q29udGVudERlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVsZW1lbnRNaXhlZENvbnRlbnREZWNsIj54bWxQYXJzZUVsZW1lbnRNaXhlZENvbnRlbnREZWNsPC9hPjxiciAvPgorPC9kZD48ZHQ+TW9uZ29saWFuPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzTW9uZ29saWFuIj54bWxVQ1NJc01vbmdvbGlhbjwvYT48YnIgLz4KKzwvZGQ+PGR0Pk1vcmU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU3Vic3RyaW5nRnVuY3Rpb24iPnhtbFhQYXRoU3Vic3RyaW5nRnVuY3Rpb248L2E+PGJyIC8+Cis8L2RkPjxkdD5Nb3ZlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3RDb3B5Ij54bWxMaXN0Q29weTwvYT48YnIgLz4KKzwvZGQ+PGR0Pk1vdmVzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlck1vdmVUb0F0dHJpYnV0ZSI+eG1sVGV4dFJlYWRlck1vdmVUb0F0dHJpYnV0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJNb3ZlVG9BdHRyaWJ1dGVObyI+eG1sVGV4dFJlYWRlck1vdmVUb0F0dHJpYnV0ZU5vPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlck1vdmVUb0F0dHJpYnV0ZU5zIj54bWxUZXh0UmVhZGVyTW92ZVRvQXR0cmlidXRlTnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyTW92ZVRvRWxlbWVudCI+eG1sVGV4dFJlYWRlck1vdmVUb0VsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyTW92ZVRvRmlyc3RBdHRyaWJ1dGUiPnhtbFRleHRSZWFkZXJNb3ZlVG9GaXJzdEF0dHJpYnV0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJNb3ZlVG9OZXh0QXR0cmlidXRlIj54bWxUZXh0UmVhZGVyTW92ZVRvTmV4dEF0dHJpYnV0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJSZWFkIj54bWxUZXh0UmVhZGVyUmVhZDwvYT48YnIgLz4KKzwvZGQ+PGR0Pk11c2ljYWxTeW1ib2xzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzTXVzaWNhbFN5bWJvbHMiPnhtbFVDU0lzTXVzaWNhbFN5bWJvbHM8L2E+PGJyIC8+Cis8L2RkPjxkdD5NeWFubWFyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzTXlhbm1hciI+eG1sVUNTSXNNeWFubWFyPC9hPjxiciAvPgorPC9kZD48L2RsPjxoMj5MZXR0ZXIgTjo8L2gyPjxkbD48ZHQ+TkFNRTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlRFREIj54bWxQYXJzZURURDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNBWFBhcnNlRFREIj54bWxTQVhQYXJzZURURDwvYT48YnIgLz4KKzwvZGQ+PGR0Pk5DTmFtZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbE5hbWVzcGFjZVBhcnNlTkNOYW1lIj54bWxOYW1lc3BhY2VQYXJzZU5DTmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbE5hbWVzcGFjZVBhcnNlTlNEZWYiPnhtbE5hbWVzcGFjZVBhcnNlTlNEZWY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxOYW1lc3BhY2VQYXJzZVFOYW1lIj54bWxOYW1lc3BhY2VQYXJzZVFOYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sU3BsaXRRTmFtZSI+eG1sU3BsaXRRTmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTcGxpdFFOYW1lMiI+eG1sU3BsaXRRTmFtZTI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sVmFsaWRhdGVOQ05hbWUiPnhtbFZhbGlkYXRlTkNOYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFBhcnNlTkNOYW1lIj54bWxYUGF0aFBhcnNlTkNOYW1lPC9hPjxiciAvPgorPC9kZD48ZHQ+TkNOYW1lQ2hhcjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbE5hbWVzcGFjZVBhcnNlTkNOYW1lIj54bWxOYW1lc3BhY2VQYXJzZU5DTmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhQYXJzZU5DTmFtZSI+eG1sWFBhdGhQYXJzZU5DTmFtZTwvYT48YnIgLz4KKzwvZGQ+PGR0Pk5EQVRBPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbnRpdHlEZWNsIj54bWxQYXJzZUVudGl0eURlY2w8L2E+PGJyIC8+Cis8L2RkPjxkdD5ORGF0YURlY2w8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVudGl0eURlY2wiPnhtbFBhcnNlRW50aXR5RGVjbDwvYT48YnIgLz4KKzwvZGQ+PGR0Pk5EYXRhRGVjbD88L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVudGl0eURlY2wiPnhtbFBhcnNlRW50aXR5RGVjbDwvYT48YnIgLz4KKzwvZGQ+PGR0Pk5NVE9LRU48L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUF0dHJpYnV0ZVR5cGUiPnhtbFBhcnNlQXR0cmlidXRlVHlwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVBdHRyaWJ1dGVWYWx1ZSI+eG1sVmFsaWRhdGVBdHRyaWJ1dGVWYWx1ZTwvYT48YnIgLz4KKzwvZGQ+PGR0Pk5NVE9LRU5TPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VBdHRyaWJ1dGVUeXBlIj54bWxQYXJzZUF0dHJpYnV0ZVR5cGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlQXR0cmlidXRlVmFsdWUiPnhtbFZhbGlkYXRlQXR0cmlidXRlVmFsdWU8L2E+PGJyIC8+Cis8L2RkPjxkdD5OTVRva2VuPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFZhbGlkYXRlTk1Ub2tlbiI+eG1sVmFsaWRhdGVOTVRva2VuPC9hPjxiciAvPgorPC9kZD48ZHQ+Tk9UQVRJT048L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVudW1lcmF0ZWRUeXBlIj54bWxQYXJzZUVudW1lcmF0ZWRUeXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VOb3RhdGlvblR5cGUiPnhtbFBhcnNlTm90YXRpb25UeXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hR2V0Q2Fub25WYWx1ZSI+eG1sU2NoZW1hR2V0Q2Fub25WYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYU5ld05PVEFUSU9OVmFsdWUiPnhtbFNjaGVtYU5ld05PVEFUSU9OVmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlRHRkRmluYWwiPnhtbFZhbGlkYXRlRHRkRmluYWw8L2E+PGJyIC8+Cis8L2RkPjxkdD5OT1RFPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZlNocmluayI+eG1sQnVmU2hyaW5rPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ3R4dFJlYWRGZCI+eG1sQ3R4dFJlYWRGZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRXh0ZXJuYWxJRCI+eG1sUGFyc2VFeHRlcm5hbElEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VOb3RhdGlvbkRlY2wiPnhtbFBhcnNlTm90YXRpb25EZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUmVhZEZkIj54bWxSZWFkRmQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxSZWFkZXJGb3JGZCI+eG1sUmVhZGVyRm9yRmQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxSZWFkZXJOZXdGZCI+eG1sUmVhZGVyTmV3RmQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5OT1RFOjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI194bWxQYXJzZXJJbnB1dCI+X3htbFBhcnNlcklucHV0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNodG1sU2V0TWV0YUVuY29kaW5nIj5odG1sU2V0TWV0YUVuY29kaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sQ2hlY2tMYW5ndWFnZUlEIj54bWxDaGVja0xhbmd1YWdlSUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcEFkb3B0Tm9kZSI+eG1sRE9NV3JhcEFkb3B0Tm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwUmVjb25jaWxlTmFtZXNwYWNlcyI+eG1sRE9NV3JhcFJlY29uY2lsZU5hbWVzcGFjZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcFJlbW92ZU5vZGUiPnhtbERPTVdyYXBSZW1vdmVOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEdldFByb3AiPnhtbEdldFByb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbEluaXRDaGFyRW5jb2RpbmdIYW5kbGVycyI+eG1sSW5pdENoYXJFbmNvZGluZ0hhbmRsZXJzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbW9kdWxlLmh0bWwjeG1sTW9kdWxlT3BlbiI+eG1sTW9kdWxlT3BlbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1vZHVsZS5odG1sI3htbE1vZHVsZVN5bWJvbCI+eG1sTW9kdWxlU3ltYm9sPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld0NoaWxkIj54bWxOZXdDaGlsZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdEb2NOb2RlIj54bWxOZXdEb2NOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld0RvY05vZGVFYXROYW1lIj54bWxOZXdEb2NOb2RlRWF0TmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdUZXh0Q2hpbGQiPnhtbE5ld1RleHRDaGlsZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbE5ld1RleHRXcml0ZXIiPnhtbE5ld1RleHRXcml0ZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxOZXdUZXh0V3JpdGVyUHVzaFBhcnNlciI+eG1sTmV3VGV4dFdyaXRlclB1c2hQYXJzZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUFkZENvbnRlbnQiPnhtbE5vZGVBZGRDb250ZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVBZGRDb250ZW50TGVuIj54bWxOb2RlQWRkQ29udGVudExlbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlU2V0Q29udGVudCI+eG1sTm9kZVNldENvbnRlbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVNldENvbnRlbnRMZW4iPnhtbE5vZGVTZXRDb250ZW50TGVuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFeHRlcm5hbElEIj54bWxQYXJzZUV4dGVybmFsSUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZVBFUmVmZXJlbmNlIj54bWxQYXJzZVBFUmVmZXJlbmNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VySGFuZGxlUEVSZWZlcmVuY2UiPnhtbFBhcnNlckhhbmRsZVBFUmVmZXJlbmNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbFN0cmVhbVB1c2giPnhtbFN0cmVhbVB1c2g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sU3RyZWFtUHVzaEF0dHIiPnhtbFN0cmVhbVB1c2hBdHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbFN0cmVhbVB1c2hOb2RlIj54bWxTdHJlYW1QdXNoTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJDdXJyZW50RG9jIj54bWxUZXh0UmVhZGVyQ3VycmVudERvYzwvYT48YnIgLz4KKzwvZGQ+PGR0Pk5SSzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNfaHRtbEVsZW1EZXNjIj5faHRtbEVsZW1EZXNjPC9hPjxiciAvPgorPC9kZD48ZHQ+TlNEZWY8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxOYW1lc3BhY2VQYXJzZU5TRGVmIj54bWxOYW1lc3BhY2VQYXJzZU5TRGVmPC9hPjxiciAvPgorPC9kZD48ZHQ+TmFOPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEJvb2xlYW5GdW5jdGlvbiI+eG1sWFBhdGhCb29sZWFuRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoSXNOYU4iPnhtbFhQYXRoSXNOYU48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU3RyaW5nRnVuY3Rpb24iPnhtbFhQYXRoU3RyaW5nRnVuY3Rpb248L2E+PGJyIC8+Cis8L2RkPjxkdD5OYW1lQ2hhcjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlTmFtZSI+eG1sUGFyc2VOYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VObXRva2VuIj54bWxQYXJzZU5tdG9rZW48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxTY2FuTmFtZSI+eG1sU2Nhbk5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUGFyc2VOYW1lIj54bWxYUGF0aFBhcnNlTmFtZTwvYT48YnIgLz4KKzwvZGQ+PGR0Pk5hbWVzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VBdHRyaWJ1dGVUeXBlIj54bWxQYXJzZUF0dHJpYnV0ZVR5cGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZU5hbWUiPnhtbFBhcnNlTmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFNjYW5OYW1lIj54bWxTY2FuTmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVBdHRyaWJ1dGVWYWx1ZSI+eG1sVmFsaWRhdGVBdHRyaWJ1dGVWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVOYW1lc1ZhbHVlIj54bWxWYWxpZGF0ZU5hbWVzVmFsdWU8L2E+PGJyIC8+Cis8L2RkPjxkdD5OYW1lc3BhY2U8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX1hNTF9OQU1FU1BBQ0UiPlhNTF9YTUxfTkFNRVNQQUNFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI194bWxFbGVtZW50Q29udGVudCI+X3htbEVsZW1lbnRDb250ZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld0dsb2JhbE5zIj54bWxOZXdHbG9iYWxOczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdOcyI+eG1sTmV3TnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9kZVNldEZyZWVOcyI+eG1sWFBhdGhOb2RlU2V0RnJlZU5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyQnVpbGROb2RlTGlzdCI+eG1sWFB0ckJ1aWxkTm9kZUxpc3Q8L2E+PGJyIC8+Cis8L2RkPjxkdD5OYW5lc3BhY2U8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNfeG1sUGFyc2VyQ3R4dCI+X3htbFBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5OZWVkZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxTY2FuTmFtZSI+eG1sU2Nhbk5hbWU8L2E+PGJyIC8+Cis8L2RkPjxkdD5OZXN0aW5nPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbGVtZW50Q2hpbGRyZW5Db250ZW50RGVjbCI+eG1sUGFyc2VFbGVtZW50Q2hpbGRyZW5Db250ZW50RGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRWxlbWVudE1peGVkQ29udGVudERlY2wiPnhtbFBhcnNlRWxlbWVudE1peGVkQ29udGVudERlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZU1hcmt1cERlY2wiPnhtbFBhcnNlTWFya3VwRGVjbDwvYT48YnIgLz4KKzwvZGQ+PGR0Pk5ldzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNfaHRtbEVsZW1EZXNjIj5faHRtbEVsZW1EZXNjPC9hPjxiciAvPgorPC9kZD48ZHQ+Tm10b2tlbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQXR0cmlidXRlVHlwZSI+eG1sUGFyc2VBdHRyaWJ1dGVUeXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbnVtZXJhdGlvblR5cGUiPnhtbFBhcnNlRW51bWVyYXRpb25UeXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VObXRva2VuIj54bWxQYXJzZU5tdG9rZW48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlQXR0cmlidXRlVmFsdWUiPnhtbFZhbGlkYXRlQXR0cmlidXRlVmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlTm10b2tlblZhbHVlIj54bWxWYWxpZGF0ZU5tdG9rZW5WYWx1ZTwvYT48YnIgLz4KKzwvZGQ+PGR0Pk5tdG9rZW5zPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VBdHRyaWJ1dGVUeXBlIj54bWxQYXJzZUF0dHJpYnV0ZVR5cGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZU5tdG9rZW4iPnhtbFBhcnNlTm10b2tlbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVBdHRyaWJ1dGVWYWx1ZSI+eG1sVmFsaWRhdGVBdHRyaWJ1dGVWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVObXRva2Vuc1ZhbHVlIj54bWxWYWxpZGF0ZU5tdG9rZW5zVmFsdWU8L2E+PGJyIC8+Cis8L2RkPjxkdD5Ob2RlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjX3htbFBhcnNlckN0eHQiPl94bWxQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCNfeG1sVmFsaWRDdHh0Ij5feG1sVmFsaWRDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVMaXN0R2V0UmF3U3RyaW5nIj54bWxOb2RlTGlzdEdldFJhd1N0cmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlTGlzdEdldFN0cmluZyI+eG1sTm9kZUxpc3RHZXRTdHJpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV3Tm9kZVNldCI+eG1sWFBhdGhOZXdOb2RlU2V0PC9hPjxiciAvPgorPC9kZD48ZHQ+Tm9kZUluZm88L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNfeG1sUGFyc2VyQ3R4dCI+X3htbFBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5Ob2RlTGlzdDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhOb2RlU2V0R2V0TGVuZ3RoIj54bWxYUGF0aE5vZGVTZXRHZXRMZW5ndGg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoTm9kZVNldEl0ZW0iPnhtbFhQYXRoTm9kZVNldEl0ZW08L2E+PGJyIC8+Cis8L2RkPjxkdD5Ob2RlUHRyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5ld05vZGVTZXQiPnhtbFhQYXRoTmV3Tm9kZVNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXdWYWx1ZVRyZWUiPnhtbFhQYXRoTmV3VmFsdWVUcmVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFdyYXBOb2RlU2V0Ij54bWxYUGF0aFdyYXBOb2RlU2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyTmV3TG9jYXRpb25TZXROb2RlcyI+eG1sWFB0ck5ld0xvY2F0aW9uU2V0Tm9kZXM8L2E+PGJyIC8+Cis8L2RkPjxkdD5Ob2RlU2V0PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aEZyZWVOb2RlU2V0Ij54bWxYUGF0aEZyZWVOb2RlU2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5ld05vZGVTZXQiPnhtbFhQYXRoTmV3Tm9kZVNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXdOb2RlU2V0TGlzdCI+eG1sWFBhdGhOZXdOb2RlU2V0TGlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb2RlU2V0QWRkIj54bWxYUGF0aE5vZGVTZXRBZGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9kZVNldEFkZE5zIj54bWxYUGF0aE5vZGVTZXRBZGROczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb2RlU2V0QWRkVW5pcXVlIj54bWxYUGF0aE5vZGVTZXRBZGRVbmlxdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9kZVNldERlbCI+eG1sWFBhdGhOb2RlU2V0RGVsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vZGVTZXRNZXJnZSI+eG1sWFBhdGhOb2RlU2V0TWVyZ2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9kZVNldFJlbW92ZSI+eG1sWFBhdGhOb2RlU2V0UmVtb3ZlPC9hPjxiciAvPgorPC9kZD48ZHQ+Tm9kZVNldExpc3Q8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoRnJlZU5vZGVTZXRMaXN0Ij54bWxYUGF0aEZyZWVOb2RlU2V0TGlzdDwvYT48YnIgLz4KKzwvZGQ+PGR0Pk5vZGVUeXBlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aElzTm9kZVR5cGUiPnhtbFhQYXRoSXNOb2RlVHlwZTwvYT48YnIgLz4KKzwvZGQ+PGR0Pk5vZGVzZXQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV3Tm9kZVNldExpc3QiPnhtbFhQYXRoTmV3Tm9kZVNldExpc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoV3JhcE5vZGVTZXQiPnhtbFhQYXRoV3JhcE5vZGVTZXQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5Ob24tc3RhdGljPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxJT0hUVFBPcGVuVyI+eG1sSU9IVFRQT3Blblc8L2E+PGJyIC8+Cis8L2RkPjxkdD5Ob3JtYWxpemF0aW9uPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sTm9ybWFsaXplVVJJUGF0aCI+eG1sTm9ybWFsaXplVVJJUGF0aDwvYT48YnIgLz4KKzwvZGQ+PGR0Pk5vcm1hbGl6YXRpb246PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VBdHRWYWx1ZSI+eG1sUGFyc2VBdHRWYWx1ZTwvYT48YnIgLz4KKzwvZGQ+PGR0Pk5vdDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNfeG1sU2NoZW1hRWxlbWVudCI+X3htbFNjaGVtYUVsZW1lbnQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5Ob3RhTnVtYmVyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aElzTmFOIj54bWxYUGF0aElzTmFOPC9hPjxiciAvPgorPC9kZD48ZHQ+Tm90YXRpb248L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjX3htbE5vdGF0aW9uIj5feG1sTm90YXRpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVudGl0eURlY2wiPnhtbFBhcnNlRW50aXR5RGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlTm90YXRpb25UeXBlIj54bWxQYXJzZU5vdGF0aW9uVHlwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVOb3RhdGlvblVzZSI+eG1sVmFsaWRhdGVOb3RhdGlvblVzZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVPbmVBdHRyaWJ1dGUiPnhtbFZhbGlkYXRlT25lQXR0cmlidXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZU9uZU5hbWVzcGFjZSI+eG1sVmFsaWRhdGVPbmVOYW1lc3BhY2U8L2E+PGJyIC8+Cis8L2RkPjxkdD5Ob3RhdGlvbkRlY2w8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZU1hcmt1cERlY2wiPnhtbFBhcnNlTWFya3VwRGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlTm90YXRpb25EZWNsIj54bWxQYXJzZU5vdGF0aW9uRGVjbDwvYT48YnIgLz4KKzwvZGQ+PGR0Pk5vdGF0aW9uVHlwZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRW51bWVyYXRlZFR5cGUiPnhtbFBhcnNlRW51bWVyYXRlZFR5cGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZU5vdGF0aW9uVHlwZSI+eG1sUGFyc2VOb3RhdGlvblR5cGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5Ob3RlOjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI2ZhdGFsRXJyb3JTQVhGdW5jIj5mYXRhbEVycm9yU0FYRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbEJ1aWxkUmVsYXRpdmVVUkkiPnhtbEJ1aWxkUmVsYXRpdmVVUkk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZ091dHB1dEZ1bmMiPnhtbENoYXJFbmNvZGluZ091dHB1dEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI3htbEdldER0ZEVudGl0eSI+eG1sR2V0RHRkRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VBdHRWYWx1ZSI+eG1sUGFyc2VBdHRWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlTm90YXRpb25UeXBlIj54bWxQYXJzZU5vdGF0aW9uVHlwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HTmV3RG9jUGFyc2VyQ3R4dCI+eG1sUmVsYXhOR05ld0RvY1BhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxVVEY4U3Ryc3ViIj54bWxVVEY4U3Ryc3ViPC9hPjxiciAvPgorPC9kZD48ZHQ+TnVtYmVyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjX3htbFBhcnNlckN0eHQiPl94bWxQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFN0cmluZ0V2YWxOdW1iZXIiPnhtbFhQYXRoU3RyaW5nRXZhbE51bWJlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdHJpbmdGdW5jdGlvbiI+eG1sWFBhdGhTdHJpbmdGdW5jdGlvbjwvYT48YnIgLz4KKzwvZGQ+PGR0Pk51bWJlckZvcm1zPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzTnVtYmVyRm9ybXMiPnhtbFVDU0lzTnVtYmVyRm9ybXM8L2E+PGJyIC8+Cis8L2RkPjwvZGw+PGgyIGFsaWduPSJjZW50ZXIiPjxhIGhyZWY9IkFQSWNodW5rMC5odG1sIj5BLUI8L2E+Cis8YSBocmVmPSJBUEljaHVuazEuaHRtbCI+Qy1DPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyLmh0bWwiPkQtRTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMy5odG1sIj5GLUk8L2E+Cis8YSBocmVmPSJBUEljaHVuazQuaHRtbCI+Si1OPC9hPgorPGEgaHJlZj0iQVBJY2h1bms1Lmh0bWwiPk8tUDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNi5odG1sIj5RLVI8L2E+Cis8YSBocmVmPSJBUEljaHVuazcuaHRtbCI+Uy1TPC9hPgorPGEgaHJlZj0iQVBJY2h1bms4Lmh0bWwiPlQtVTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rOS5odG1sIj5WLVg8L2E+Cis8YSBocmVmPSJBUEljaHVuazEwLmh0bWwiPlktYTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTEuaHRtbCI+Yi1iPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMi5odG1sIj5jLWM8L2E+Cis8YSBocmVmPSJBUEljaHVuazEzLmh0bWwiPmQtZDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTQuaHRtbCI+ZS1lPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNS5odG1sIj5mLWY8L2E+Cis8YSBocmVmPSJBUEljaHVuazE2Lmh0bWwiPmctaDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTcuaHRtbCI+aS1pPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxOC5odG1sIj5qLWw8L2E+Cis8YSBocmVmPSJBUEljaHVuazE5Lmh0bWwiPm0tbTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjAuaHRtbCI+bi1uPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMS5odG1sIj5vLW88L2E+Cis8YSBocmVmPSJBUEljaHVuazIyLmh0bWwiPnAtcDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjMuaHRtbCI+cS1yPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNC5odG1sIj5zLXM8L2E+Cis8YSBocmVmPSJBUEljaHVuazI1Lmh0bWwiPnQtdDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjYuaHRtbCI+dS12PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNy5odG1sIj53LXc8L2E+Cis8YSBocmVmPSJBUEljaHVuazI4Lmh0bWwiPngteDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjkuaHRtbCI+eS16PC9hPgorPC9oMj48cD48YSBocmVmPSJidWdzLmh0bWwiPkRhbmllbCBWZWlsbGFyZDwvYT48L3A+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL0FQSWNodW5rNS5odG1sIGIvbGlieG1sMi9kb2MvQVBJY2h1bms1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGE2MGQxYQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL0FQSWNodW5rNS5odG1sCkBAIC0wLDAgKzEsMjkzIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPgorPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPjxoZWFkPjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPjxsaW5rIHJlbD0iU0hPUlRDVVQgSUNPTiIgaHJlZj0iL2Zhdmljb24uaWNvIiAvPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CitURCB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorQk9EWSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhOyBtYXJnaW4tdG9wOiAyZW07IG1hcmdpbi1sZWZ0OiAwZW07IG1hcmdpbi1yaWdodDogMGVtfQorSDEge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gyIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMyB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorQTpsaW5rLCBBOnZpc2l0ZWQsIEE6YWN0aXZlIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgfQorPC9zdHlsZT48dGl0bGU+QVBJIEFscGhhYmV0aWMgSW5kZXggTy1QIGZvciBsaWJ4bWwyPC90aXRsZT48L2hlYWQ+PGJvZHkgYmdjb2xvcj0iIzhiNzc2NSIgdGV4dD0iIzAwMDAwMCIgbGluaz0iI2EwNjA2MCIgdmxpbms9IiMwMDAwMDAiPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSIxMDAlIiBjZWxscGFkZGluZz0iNSIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgd2lkdGg9IjEyMCI+PGEgaHJlZj0iaHR0cDovL3N3cGF0LmZmaWkub3JnLyI+PGltZyBzcmM9ImVwYXRlbnRzLnBuZyIgYWx0PSJBY3Rpb24gYWdhaW5zdCBzb2Z0d2FyZSBwYXRlbnRzIiAvPjwvYT48L3RkPjx0ZCB3aWR0aD0iMTgwIj48YSBocmVmPSJodHRwOi8vd3d3Lmdub21lLm9yZy8iPjxpbWcgc3JjPSJnbm9tZTIucG5nIiBhbHQ9Ikdub21lMiBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9TdGF0dXMiPjxpbWcgc3JjPSJ3M2MucG5nIiBhbHQ9IlczQyBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnJlZGhhdC5jb20vIj48aW1nIHNyYz0icmVkaGF0LmdpZiIgYWx0PSJSZWQgSGF0IExvZ28iIC8+PC9hPjxkaXYgYWxpZ249ImxlZnQiPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy8iPjxpbWcgc3JjPSJMaWJ4bWwyLUxvZ28tMTgweDE2OC5naWYiIGFsdD0iTWFkZSB3aXRoIExpYnhtbDIgTG9nbyIgLz48L2E+PC9kaXY+PC90ZD48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjkwJSIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiIGJnY29sb3I9IiNmZmZhY2QiPjx0cj48dGQgYWxpZ249ImNlbnRlciI+PGgxPlRoZSBYTUwgQyBwYXJzZXIgYW5kIHRvb2xraXQgb2YgR25vbWU8L2gxPjxoMj5BUEkgQWxwaGFiZXRpYyBJbmRleCBPLVAgZm9yIGxpYnhtbDI8L2gyPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI0IiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCB2YWxpZ249InRvcCIgd2lkdGg9IjIwMCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+RGV2ZWxvcGVyIE1lbnU8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PGZvcm0gYWN0aW9uPSJzZWFyY2gucGhwIiBlbmN0eXBlPSJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiIG1ldGhvZD0iZ2V0Ij48aW5wdXQgbmFtZT0icXVlcnkiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iIiAvPjxpbnB1dCBuYW1lPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNlYXJjaCAuLi4iIC8+PC9mb3JtPjx1bD48bGk+PGEgaHJlZj0iaW5kZXguaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPk1haW4gTWVudTwvYT48L2xpPjxsaT48YSBocmVmPSJodG1sL2luZGV4Lmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5SZWZlcmVuY2UgTWFudWFsPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImV4YW1wbGVzL2luZGV4Lmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5Db2RlIEV4YW1wbGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imd1aWRlbGluZXMuaHRtbCI+WE1MIEd1aWRlbGluZXM8L2E+PC9saT48bGk+PGEgaHJlZj0idHV0b3JpYWwvaW5kZXguaHRtbCI+VHV0b3JpYWw8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1scmVhZGVyLmh0bWwiPlRoZSBSZWFkZXIgSW50ZXJmYWNlPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkNoYW5nZUxvZy5odG1sIj5DaGFuZ2VMb2c8L2E+PC9saT48bGk+PGEgaHJlZj0iWFNMVC5odG1sIj5YU0xUPC9hPjwvbGk+PGxpPjxhIGhyZWY9InB5dGhvbi5odG1sIj5QeXRob24gYW5kIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImFyY2hpdGVjdHVyZS5odG1sIj5saWJ4bWwyIGFyY2hpdGVjdHVyZTwvYT48L2xpPjxsaT48YSBocmVmPSJ0cmVlLmh0bWwiPlRoZSB0cmVlIG91dHB1dDwvYT48L2xpPjxsaT48YSBocmVmPSJpbnRlcmZhY2UuaHRtbCI+VGhlIFNBWCBpbnRlcmZhY2U8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1sbWVtLmh0bWwiPk1lbW9yeSBNYW5hZ2VtZW50PC9hPjwvbGk+PGxpPjxhIGhyZWY9InhtbGlvLmh0bWwiPkkvTyBJbnRlcmZhY2VzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnJhcnkuaHRtbCI+VGhlIHBhcnNlciBpbnRlcmZhY2VzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImVudGl0aWVzLmh0bWwiPkVudGl0aWVzIG9yIG5vIGVudGl0aWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Im5hbWVzcGFjZXMuaHRtbCI+TmFtZXNwYWNlczwvYT48L2xpPjxsaT48YSBocmVmPSJ1cGdyYWRlLmh0bWwiPlVwZ3JhZGluZyAxLnggY29kZTwvYT48L2xpPjxsaT48YSBocmVmPSJ0aHJlYWRzLmh0bWwiPlRocmVhZCBzYWZldHk8L2E+PC9saT48bGk+PGEgaHJlZj0iRE9NLmh0bWwiPkRPTSBQcmluY2lwbGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImV4YW1wbGUuaHRtbCI+QSByZWFsIGV4YW1wbGU8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1sLmh0bWwiPmZsYXQgcGFnZTwvYT4sIDxhIGhyZWY9InNpdGUueHNsIj5zdHlsZXNoZWV0PC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+QVBJIEluZGV4ZXM8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSJBUEljaHVuazAuaHRtbCI+QWxwaGFiZXRpYzwvYT48L2xpPjxsaT48YSBocmVmPSJBUEljb25zdHJ1Y3RvcnMuaHRtbCI+Q29uc3RydWN0b3JzPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkFQSWZ1bmN0aW9ucy5odG1sIj5GdW5jdGlvbnMvVHlwZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iQVBJZmlsZXMuaHRtbCI+TW9kdWxlczwvYT48L2xpPjxsaT48YSBocmVmPSJBUElzeW1ib2xzLmh0bWwiPlN5bWJvbHM8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5SZWxhdGVkIGxpbmtzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iaHR0cDovL21haWwuZ25vbWUub3JnL2FyY2hpdmVzL3htbC8iPk1haWwgYXJjaGl2ZTwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvWFNMVC8iPlhTTFQgbGlieHNsdDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vcGhkLmNzLnVuaWJvLml0L2dkb21lMi8iPkRPTSBnZG9tZTI8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5hbGVrc2V5LmNvbS94bWxzZWMvIj5YTUwtRFNpZyB4bWxzZWM8L2E+PC9saT48bGk+PGEgaHJlZj0iZnRwOi8veG1sc29mdC5vcmcvIj5GVFA8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56bGF0a292aWMuY29tL3Byb2plY3RzL2xpYnhtbC8iPldpbmRvd3MgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL29wZW5jc3cub3JnL3BhY2thZ2VzL2xpYnhtbDIiPlNvbGFyaXMgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5leHBsYWluLmNvbS5hdS9vc3MvbGlieG1sMnhzbHQuaHRtbCI+TWFjT3NYIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9seG1sLmRlLyI+bHhtbCBQeXRob24gYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2NwYW4udXdpbm5pcGVnLmNhL2Rpc3QvWE1MLUxpYlhNTCI+UGVybCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1scGx1c3BsdXMuc291cmNlZm9yZ2UubmV0LyI+QysrIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemVuZC5jb20vcGhwNS9hcnRpY2xlcy9waHA1LXhtbHBocC5waHAjSGVhZGluZzQiPlBIUCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2xpYnhtbDItcGFzLyI+UGFzY2FsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWwucnVieWZvcmdlLm9yZy8iPlJ1YnkgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3RjbHhtbC5zb3VyY2Vmb3JnZS5uZXQvIj5UY2wgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9idWdsaXN0LmNnaT9wcm9kdWN0PWxpYnhtbDIiPkJ1ZyBUcmFja2VyPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIzIiBjZWxsc3BhY2luZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PGgyIGFsaWduPSJjZW50ZXIiPjxhIGhyZWY9IkFQSWNodW5rMC5odG1sIj5BLUI8L2E+Cis8YSBocmVmPSJBUEljaHVuazEuaHRtbCI+Qy1DPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyLmh0bWwiPkQtRTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMy5odG1sIj5GLUk8L2E+Cis8YSBocmVmPSJBUEljaHVuazQuaHRtbCI+Si1OPC9hPgorPGEgaHJlZj0iQVBJY2h1bms1Lmh0bWwiPk8tUDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNi5odG1sIj5RLVI8L2E+Cis8YSBocmVmPSJBUEljaHVuazcuaHRtbCI+Uy1TPC9hPgorPGEgaHJlZj0iQVBJY2h1bms4Lmh0bWwiPlQtVTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rOS5odG1sIj5WLVg8L2E+Cis8YSBocmVmPSJBUEljaHVuazEwLmh0bWwiPlktYTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTEuaHRtbCI+Yi1iPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMi5odG1sIj5jLWM8L2E+Cis8YSBocmVmPSJBUEljaHVuazEzLmh0bWwiPmQtZDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTQuaHRtbCI+ZS1lPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNS5odG1sIj5mLWY8L2E+Cis8YSBocmVmPSJBUEljaHVuazE2Lmh0bWwiPmctaDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTcuaHRtbCI+aS1pPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxOC5odG1sIj5qLWw8L2E+Cis8YSBocmVmPSJBUEljaHVuazE5Lmh0bWwiPm0tbTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjAuaHRtbCI+bi1uPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMS5odG1sIj5vLW88L2E+Cis8YSBocmVmPSJBUEljaHVuazIyLmh0bWwiPnAtcDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjMuaHRtbCI+cS1yPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNC5odG1sIj5zLXM8L2E+Cis8YSBocmVmPSJBUEljaHVuazI1Lmh0bWwiPnQtdDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjYuaHRtbCI+dS12PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNy5odG1sIj53LXc8L2E+Cis8YSBocmVmPSJBUEljaHVuazI4Lmh0bWwiPngteDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjkuaHRtbCI+eS16PC9hPgorPC9oMj48aDI+TGV0dGVyIE86PC9oMj48ZGw+PGR0Pk9CU09MRVRFOjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbEhhbmRsZUVudGl0eSI+eG1sSGFuZGxlRW50aXR5PC9hPjxiciAvPgorPC9kZD48ZHQ+T05DRTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNfeG1sRWxlbWVudENvbnRlbnQiPl94bWxFbGVtZW50Q29udGVudDwvYT48YnIgLz4KKzwvZGQ+PGR0Pk9QVDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNfeG1sRWxlbWVudENvbnRlbnQiPl94bWxFbGVtZW50Q29udGVudDwvYT48YnIgLz4KKzwvZGQ+PGR0Pk9VVDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9odHRwLmh0bWwjeG1sTmFub0hUVFBNZXRob2QiPnhtbE5hbm9IVFRQTWV0aG9kPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUE1ldGhvZFJlZGlyIj54bWxOYW5vSFRUUE1ldGhvZFJlZGlyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnRXhlY0VyckluZm8iPnhtbFJlZ0V4ZWNFcnJJbmZvPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnRXhlY05leHRWYWx1ZXMiPnhtbFJlZ0V4ZWNOZXh0VmFsdWVzPC9hPjxiciAvPgorPC9kZD48ZHQ+T1VUOjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwjaHRtbERvY0R1bXBNZW1vcnkiPmh0bWxEb2NEdW1wTWVtb3J5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNodG1sRG9jRHVtcE1lbW9yeUZvcm1hdCI+aHRtbERvY0R1bXBNZW1vcnlGb3JtYXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRG9jRHVtcEZvcm1hdE1lbW9yeSI+eG1sRG9jRHVtcEZvcm1hdE1lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxEb2NEdW1wTWVtb3J5Ij54bWxEb2NEdW1wTWVtb3J5PC9hPjxiciAvPgorPC9kZD48ZHQ+T2Jzb2xldGU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfQU5ZQVRUUl9MQVgiPlhNTF9TQ0hFTUFTX0FOWUFUVFJfTEFYPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0FOWUFUVFJfU0tJUCI+WE1MX1NDSEVNQVNfQU5ZQVRUUl9TS0lQPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0FOWUFUVFJfU1RSSUNUIj5YTUxfU0NIRU1BU19BTllBVFRSX1NUUklDVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19FTEVNX05TREVGQVVMVCI+WE1MX1NDSEVNQVNfRUxFTV9OU0RFRkFVTFQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjX3htbFNjaGVtYSI+X3htbFNjaGVtYTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNfeG1sU2NoZW1hRWxlbWVudCI+X3htbFNjaGVtYUVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjX3htbFNjaGVtYUZhY2V0Ij5feG1sU2NoZW1hRmFjZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjX3htbFNjaGVtYVR5cGUiPl94bWxTY2hlbWFUeXBlPC9hPjxiciAvPgorPC9kZD48ZHQ+T2J0YWluPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckxvY2F0b3JCYXNlVVJJIj54bWxUZXh0UmVhZGVyTG9jYXRvckJhc2VVUkk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyTG9jYXRvckxpbmVOdW1iZXIiPnhtbFRleHRSZWFkZXJMb2NhdG9yTGluZU51bWJlcjwvYT48YnIgLz4KKzwvZGQ+PGR0Pk9naGFtPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzT2doYW0iPnhtbFVDU0lzT2doYW08L2E+PGJyIC8+Cis8L2RkPjxkdD5PbGRJdGFsaWM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNPbGRJdGFsaWMiPnhtbFVDU0lzT2xkSXRhbGljPC9hPjxiciAvPgorPC9kZD48ZHQ+T25lPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjSU5QVVRfQ0hVTksiPklOUFVUX0NIVU5LPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ2xlYW51cFBhcnNlciI+eG1sQ2xlYW51cFBhcnNlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQXR0cmlidXRlVHlwZSI+eG1sUGFyc2VBdHRyaWJ1dGVUeXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxTZXRHZW5lcmljRXJyb3JGdW5jIj54bWxTZXRHZW5lcmljRXJyb3JGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZUVsZW1lbnREZWNsIj54bWxWYWxpZGF0ZUVsZW1lbnREZWNsPC9hPjxiciAvPgorPC9kZD48ZHQ+T3BlbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sSU9IVFRQT3BlblciPnhtbElPSFRUUE9wZW5XPC9hPjxiciAvPgorPC9kZD48ZHQ+T3BlbnM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxtb2R1bGUuaHRtbCN4bWxNb2R1bGVPcGVuIj54bWxNb2R1bGVPcGVuPC9hPjxiciAvPgorPC9kZD48ZHQ+T3B0aWNhbENoYXJhY3RlclJlY29nbml0aW9uPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzT3B0aWNhbENoYXJhY3RlclJlY29nbml0aW9uIj54bWxVQ1NJc09wdGljYWxDaGFyYWN0ZXJSZWNvZ25pdGlvbjwvYT48YnIgLz4KKzwvZGQ+PGR0Pk9wdGlvbmFsPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI19odG1sRWxlbURlc2MiPl9odG1sRWxlbURlc2M8L2E+PGJyIC8+Cis8L2RkPjxkdD5Pcml5YTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc09yaXlhIj54bWxVQ1NJc09yaXlhPC9hPjxiciAvPgorPC9kZD48ZHQ+T3NtYW55YTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc09zbWFueWEiPnhtbFVDU0lzT3NtYW55YTwvYT48YnIgLz4KKzwvZGQ+PGR0Pk90aGVyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHRTZXRDYWNoZSI+eG1sWFBhdGhDb250ZXh0U2V0Q2FjaGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5PdGhlcndpc2U8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sU3RyZWFtUHVzaCI+eG1sU3RyZWFtUHVzaDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCN4bWxTdHJlYW1QdXNoQXR0ciI+eG1sU3RyZWFtUHVzaEF0dHI8L2E+PGJyIC8+Cis8L2RkPjxkdD5PdXRwdXQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dENsb3NlQ2FsbGJhY2siPnhtbE91dHB1dENsb3NlQ2FsbGJhY2s8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dE1hdGNoQ2FsbGJhY2siPnhtbE91dHB1dE1hdGNoQ2FsbGJhY2s8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dE9wZW5DYWxsYmFjayI+eG1sT3V0cHV0T3BlbkNhbGxiYWNrPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRXcml0ZUNhbGxiYWNrIj54bWxPdXRwdXRXcml0ZUNhbGxiYWNrPC9hPjxiciAvPgorPC9kZD48ZHQ+T3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRGVmYXVsdCI+eG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0PC9hPjxiciAvPgorPC9kZD48ZHQ+T3ZlcnJpZGU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxHY01lbVNldHVwIj54bWxHY01lbVNldHVwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWVtU2V0dXAiPnhtbE1lbVNldHVwPC9hPjxiciAvPgorPC9kZD48L2RsPjxoMj5MZXR0ZXIgUDo8L2gyPjxkbD48ZHQ+UDMyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZEN0eHROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZSI+eG1sVmFsaWRDdHh0Tm9ybWFsaXplQXR0cmlidXRlVmFsdWU8L2E+PGJyIC8+Cis8L2RkPjxkdD5QQ0RBVEE8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjX2h0bWxFbGVtRGVzYyI+X2h0bWxFbGVtRGVzYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNfeG1sRWxlbWVudENvbnRlbnQiPl94bWxFbGVtZW50Q29udGVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRWxlbWVudE1peGVkQ29udGVudERlY2wiPnhtbFBhcnNlRWxlbWVudE1peGVkQ29udGVudERlY2w8L2E+PGJyIC8+Cis8L2RkPjxkdD5QRURlY2w8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVudGl0eURlY2wiPnhtbFBhcnNlRW50aXR5RGVjbDwvYT48YnIgLz4KKzwvZGQ+PGR0PlBFRGVmPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbnRpdHlEZWNsIj54bWxQYXJzZUVudGl0eURlY2w8L2E+PGJyIC8+Cis8L2RkPjxkdD5QRVJlZmVyZW5jZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbERlY29kZUVudGl0aWVzIj54bWxEZWNvZGVFbnRpdGllczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRG9jVHlwZURlY2wiPnhtbFBhcnNlRG9jVHlwZURlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVudGl0eVZhbHVlIj54bWxQYXJzZUVudGl0eVZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFeHRlcm5hbFN1YnNldCI+eG1sUGFyc2VFeHRlcm5hbFN1YnNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlUEVSZWZlcmVuY2UiPnhtbFBhcnNlUEVSZWZlcmVuY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZXJIYW5kbGVQRVJlZmVyZW5jZSI+eG1sUGFyc2VySGFuZGxlUEVSZWZlcmVuY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZXJIYW5kbGVSZWZlcmVuY2UiPnhtbFBhcnNlckhhbmRsZVJlZmVyZW5jZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFN0cmluZ0RlY29kZUVudGl0aWVzIj54bWxTdHJpbmdEZWNvZGVFbnRpdGllczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFN0cmluZ0xlbkRlY29kZUVudGl0aWVzIj54bWxTdHJpbmdMZW5EZWNvZGVFbnRpdGllczwvYT48YnIgLz4KKzwvZGQ+PGR0PlBFczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlTWFya3VwRGVjbCI+eG1sUGFyc2VNYXJrdXBEZWNsPC9hPjxiciAvPgorPC9kZD48ZHQ+UElUYXJnZXQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZVBJIj54bWxQYXJzZVBJPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VQSVRhcmdldCI+eG1sUGFyc2VQSVRhcmdldDwvYT48YnIgLz4KKzwvZGQ+PGR0PlBJczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxEb2NHZXRSb290RWxlbWVudCI+eG1sRG9jR2V0Um9vdEVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRG9jU2V0Um9vdEVsZW1lbnQiPnhtbERvY1NldFJvb3RFbGVtZW50PC9hPjxiciAvPgorPC9kZD48ZHQ+UExVUzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNfeG1sRWxlbWVudENvbnRlbnQiPl94bWxFbGVtZW50Q29udGVudDwvYT48YnIgLz4KKzwvZGQ+PGR0PlBPU1Q8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbElPSFRUUE9wZW5XIj54bWxJT0hUVFBPcGVuVzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sUmVnaXN0ZXJIVFRQUG9zdENhbGxiYWNrcyI+eG1sUmVnaXN0ZXJIVFRQUG9zdENhbGxiYWNrczwvYT48YnIgLz4KKzwvZGQ+PGR0PlBTVkk8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjX3htbEF0dHIiPl94bWxBdHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI194bWxEb2MiPl94bWxEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjX3htbE5vZGUiPl94bWxOb2RlPC9hPjxiciAvPgorPC9kZD48ZHQ+UFVCTElDPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI194bWxEdGQiPl94bWxEdGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI194bWxFbnRpdHkiPl94bWxFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxDcmVhdGVFbnRpdHlQYXJzZXJDdHh0Ij54bWxDcmVhdGVFbnRpdHlQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbENyZWF0ZUludFN1YnNldCI+eG1sQ3JlYXRlSW50U3Vic2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFeHRlcm5hbElEIj54bWxQYXJzZUV4dGVybmFsSUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZU5vdGF0aW9uRGVjbCI+eG1sUGFyc2VOb3RhdGlvbkRlY2w8L2E+PGJyIC8+Cis8L2RkPjxkdD5QVVQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbFJlZ2lzdGVySFRUUFBvc3RDYWxsYmFja3MiPnhtbFJlZ2lzdGVySFRUUFBvc3RDYWxsYmFja3M8L2E+PGJyIC8+Cis8L2RkPjxkdD5QYXJhbWV0ZXI8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZXJIYW5kbGVQRVJlZmVyZW5jZSI+eG1sUGFyc2VySGFuZGxlUEVSZWZlcmVuY2U8L2E+PGJyIC8+Cis8L2RkPjxkdD5QYXJhbWV0ZXItZW50aXR5PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbGVtZW50Q2hpbGRyZW5Db250ZW50RGVjbCI+eG1sUGFyc2VFbGVtZW50Q2hpbGRyZW5Db250ZW50RGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlTWFya3VwRGVjbCI+eG1sUGFyc2VNYXJrdXBEZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VQRVJlZmVyZW5jZSI+eG1sUGFyc2VQRVJlZmVyZW5jZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlckhhbmRsZVBFUmVmZXJlbmNlIj54bWxQYXJzZXJIYW5kbGVQRVJlZmVyZW5jZTwvYT48YnIgLz4KKzwvZGQ+PGR0PlBhcnNlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtRE9DQnBhcnNlci5odG1sI2RvY2JQYXJzZUNodW5rIj5kb2NiUGFyc2VDaHVuazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sUGFyc2VDaHVuayI+aHRtbFBhcnNlQ2h1bms8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFNBWFBhcnNlRG9jIj5odG1sU0FYUGFyc2VEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnkiPnhtbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXIiPnhtbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUNEU2VjdCI+eG1sUGFyc2VDRFNlY3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUNodW5rIj54bWxQYXJzZUNodW5rPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VDb250ZW50Ij54bWxQYXJzZUNvbnRlbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUN0eHRFeHRlcm5hbEVudGl0eSI+eG1sUGFyc2VDdHh0RXh0ZXJuYWxFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZURlZmF1bHREZWNsIj54bWxQYXJzZURlZmF1bHREZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VFeHRlcm5hbEVudGl0eSI+eG1sUGFyc2VFeHRlcm5hbEVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRXh0ZXJuYWxJRCI+eG1sUGFyc2VFeHRlcm5hbElEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VJbk5vZGVDb250ZXh0Ij54bWxQYXJzZUluTm9kZUNvbnRleHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZVF1b3RlZFN0cmluZyI+eG1sUGFyc2VRdW90ZWRTdHJpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxQYXJzZVVSSSI+eG1sUGFyc2VVUkk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxQYXJzZVVSSVJhdyI+eG1sUGFyc2VVUklSYXc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxQYXJzZVVSSVJlZmVyZW5jZSI+eG1sUGFyc2VVUklSZWZlcmVuY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU3RyaW5nR2V0Tm9kZUxpc3QiPnhtbFN0cmluZ0dldE5vZGVMaXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFN0cmluZ0xlbkdldE5vZGVMaXN0Ij54bWxTdHJpbmdMZW5HZXROb2RlTGlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhFdmFsRXhwciI+eG1sWFBhdGhFdmFsRXhwcjwvYT48YnIgLz4KKzwvZGQ+PGR0PlBhcnNlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRW50aXR5UmVmIj54bWxQYXJzZUVudGl0eVJlZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlckhhbmRsZVJlZmVyZW5jZSI+eG1sUGFyc2VySGFuZGxlUmVmZXJlbmNlPC9hPjxiciAvPgorPC9kZD48ZHQ+UGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQiPnhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0PC9hPjxiciAvPgorPC9kZD48ZHQ+UGFyc2VzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnZXhwQ29tcGlsZSI+eG1sUmVnZXhwQ29tcGlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJSZWFkQXR0cmlidXRlVmFsdWUiPnhtbFRleHRSZWFkZXJSZWFkQXR0cmlidXRlVmFsdWU8L2E+PGJyIC8+Cis8L2RkPjxkdD5QYXJzaW5nPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjX3htbFBhcnNlckN0eHQiPl94bWxQYXJzZXJDdHh0PC9hPjxiciAvPgorPC9kZD48ZHQ+UGFydDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ2V4cENvbXBpbGUiPnhtbFJlZ2V4cENvbXBpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFHZXRCdWlsdEluTGlzdFNpbXBsZVR5cGVJdGVtVHlwZSI+eG1sU2NoZW1hR2V0QnVpbHRJbkxpc3RTaW1wbGVUeXBlSXRlbVR5cGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5QYXRoPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEdldE5vZGVQYXRoIj54bWxHZXROb2RlUGF0aDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhFdmFsIj54bWxYUGF0aEV2YWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoTm9kZUV2YWwiPnhtbFhQYXRoTm9kZUV2YWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJFdmFsIj54bWxYUHRyRXZhbDwvYT48YnIgLz4KKzwvZGQ+PGR0PlBlb3BsZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjeG1sRW5jb2RlRW50aXRpZXMiPnhtbEVuY29kZUVudGl0aWVzPC9hPjxiciAvPgorPC9kZD48ZHQ+UGhvbmV0aWNFeHRlbnNpb25zPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzUGhvbmV0aWNFeHRlbnNpb25zIj54bWxVQ1NJc1Bob25ldGljRXh0ZW5zaW9uczwvYT48YnIgLz4KKzwvZGQ+PGR0PlBsZWFzZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sTm9ybWFsaXplV2luZG93c1BhdGgiPnhtbE5vcm1hbGl6ZVdpbmRvd3NQYXRoPC9hPjxiciAvPgorPC9kZD48ZHQ+UGx1ZzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFTQVhQbHVnIj54bWxTY2hlbWFTQVhQbHVnPC9hPjxiciAvPgorPC9kZD48ZHQ+UG9pbnRlcjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoZWNrVVRGOCI+eG1sQ2hlY2tVVEY4PC9hPjxiciAvPgorPC9kZD48ZHQ+UG9pbnRzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyTmV3UmFuZ2VQb2ludHMiPnhtbFhQdHJOZXdSYW5nZVBvaW50czwvYT48YnIgLz4KKzwvZGQ+PGR0PlBvcDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjX3htbFhQYXRoUGFyc2VyQ29udGV4dCI+X3htbFhQYXRoUGFyc2VyQ29udGV4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HVmFsaWRhdGVQb3BFbGVtZW50Ij54bWxSZWxheE5HVmFsaWRhdGVQb3BFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZVBvcEVsZW1lbnQiPnhtbFZhbGlkYXRlUG9wRWxlbWVudDwvYT48YnIgLz4KKzwvZGQ+PGR0PlBvcHM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNpbnB1dFBvcCI+aW5wdXRQb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNuYW1lUG9wIj5uYW1lUG9wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjbm9kZVBvcCI+bm9kZVBvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjdmFsdWVQb3AiPnZhbHVlUG9wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFBvcEJvb2xlYW4iPnhtbFhQYXRoUG9wQm9vbGVhbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhQb3BFeHRlcm5hbCI+eG1sWFBhdGhQb3BFeHRlcm5hbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhQb3BOb2RlU2V0Ij54bWxYUGF0aFBvcE5vZGVTZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUG9wTnVtYmVyIj54bWxYUGF0aFBvcE51bWJlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhQb3BTdHJpbmciPnhtbFhQYXRoUG9wU3RyaW5nPC9hPjxiciAvPgorPC9kZD48ZHQ+UG9zaXRpb248L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNfeG1sUGFyc2VyTm9kZUluZm8iPl94bWxQYXJzZXJOb2RlSW5mbzwvYT48YnIgLz4KKzwvZGQ+PGR0PlBvc3NpYmlsaXR5PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCNfeG1sWFBhdGhDb250ZXh0Ij5feG1sWFBhdGhDb250ZXh0PC9hPjxiciAvPgorPC9kZD48ZHQ+UHJlY29tcGlsZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29tcGlsZWRFdmFsIj54bWxYUGF0aENvbXBpbGVkRXZhbDwvYT48YnIgLz4KKzwvZGQ+PGR0PlByZWRpY2F0ZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhFdmFsUHJlZGljYXRlIj54bWxYUGF0aEV2YWxQcmVkaWNhdGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRXZhbHVhdGVQcmVkaWNhdGVSZXN1bHQiPnhtbFhQYXRoRXZhbHVhdGVQcmVkaWNhdGVSZXN1bHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJFdmFsUmFuZ2VQcmVkaWNhdGUiPnhtbFhQdHJFdmFsUmFuZ2VQcmVkaWNhdGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5QcmVkaWNhdGVFeHByPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aEV2YWxQcmVkaWNhdGUiPnhtbFhQYXRoRXZhbFByZWRpY2F0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhFdmFsdWF0ZVByZWRpY2F0ZVJlc3VsdCI+eG1sWFBhdGhFdmFsdWF0ZVByZWRpY2F0ZVJlc3VsdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ckV2YWxSYW5nZVByZWRpY2F0ZSI+eG1sWFB0ckV2YWxSYW5nZVByZWRpY2F0ZTwvYT48YnIgLz4KKzwvZGQ+PGR0PlByZWZpeDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbE5hbWVzcGFjZVBhcnNlUU5hbWUiPnhtbE5hbWVzcGFjZVBhcnNlUU5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxTcGxpdFFOYW1lIj54bWxTcGxpdFFOYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNwbGl0UU5hbWUyIj54bWxTcGxpdFFOYW1lMjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJDb25zdE5hbWUiPnhtbFRleHRSZWFkZXJDb25zdE5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyTmFtZSI+eG1sVGV4dFJlYWRlck5hbWU8L2E+PGJyIC8+Cis8L2RkPjxkdD5QcmVmaXhEZWY8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxOYW1lc3BhY2VQYXJzZU5TRGVmIj54bWxOYW1lc3BhY2VQYXJzZU5TRGVmPC9hPjxiciAvPgorPC9kZD48ZHQ+UHJpbnQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdleHBQcmludCI+eG1sUmVnZXhwUHJpbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsUHJpbnROb2RlIj54bWxTaGVsbFByaW50Tm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxQcmludFhQYXRoRXJyb3IiPnhtbFNoZWxsUHJpbnRYUGF0aEVycm9yPC9hPjxiciAvPgorPC9kZD48ZHQ+UHJpbnRzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sUHJpbnRVUkkiPnhtbFByaW50VVJJPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbFByaW50WFBhdGhSZXN1bHQiPnhtbFNoZWxsUHJpbnRYUGF0aFJlc3VsdDwvYT48YnIgLz4KKzwvZGQ+PGR0PlByaXZhdGVVc2U8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNQcml2YXRlVXNlIj54bWxVQ1NJc1ByaXZhdGVVc2U8L2E+PGJyIC8+Cis8L2RkPjxkdD5Qcml2YXRlVXNlQXJlYTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc1ByaXZhdGVVc2VBcmVhIj54bWxVQ1NJc1ByaXZhdGVVc2VBcmVhPC9hPjxiciAvPgorPC9kZD48ZHQ+UHJvY2Vzc2luZzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCNYTUxfQ0FUQUxPR19QSSI+WE1MX0NBVEFMT0dfUEk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZVBJIj54bWxQYXJzZVBJPC9hPjxiciAvPgorPC9kZD48ZHQ+UHJvZHVjdGlvbnM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUV4dGVybmFsSUQiPnhtbFBhcnNlRXh0ZXJuYWxJRDwvYT48YnIgLz4KKzwvZGQ+PGR0PlByb3BlcjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2wiPnhtbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVsZW1lbnRNaXhlZENvbnRlbnREZWNsIj54bWxQYXJzZUVsZW1lbnRNaXhlZENvbnRlbnREZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VNYXJrdXBEZWNsIj54bWxQYXJzZU1hcmt1cERlY2w8L2E+PGJyIC8+Cis8L2RkPjxkdD5Qcm90b3R5cGU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoRnVuY0xvb2t1cEZ1bmMiPnhtbFhQYXRoRnVuY0xvb2t1cEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoVmFyaWFibGVMb29rdXBGdW5jIj54bWxYUGF0aFZhcmlhYmxlTG9va3VwRnVuYzwvYT48YnIgLz4KKzwvZGQ+PGR0PlByb3ZpZGU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNnZXRDb2x1bW5OdW1iZXIiPmdldENvbHVtbk51bWJlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI2dldExpbmVOdW1iZXIiPmdldExpbmVOdW1iZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMkdldENvbHVtbk51bWJlciI+eG1sU0FYMkdldENvbHVtbk51bWJlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyR2V0TGluZU51bWJlciI+eG1sU0FYMkdldExpbmVOdW1iZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyR2V0UGFyc2VyQ29sdW1uTnVtYmVyIj54bWxUZXh0UmVhZGVyR2V0UGFyc2VyQ29sdW1uTnVtYmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckdldFBhcnNlckxpbmVOdW1iZXIiPnhtbFRleHRSZWFkZXJHZXRQYXJzZXJMaW5lTnVtYmVyPC9hPjxiciAvPgorPC9kZD48ZHQ+UHJvdmlkZXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNnZXRQdWJsaWNJZCI+Z2V0UHVibGljSWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNnZXRTeXN0ZW1JZCI+Z2V0U3lzdGVtSWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxHY01lbUdldCI+eG1sR2NNZW1HZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNZW1CbG9ja3MiPnhtbE1lbUJsb2NrczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1lbUdldCI+eG1sTWVtR2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWVtVXNlZCI+eG1sTWVtVXNlZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9odHRwLmh0bWwjeG1sTmFub0hUVFBDb250ZW50TGVuZ3RoIj54bWxOYW5vSFRUUENvbnRlbnRMZW5ndGg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQRW5jb2RpbmciPnhtbE5hbm9IVFRQRW5jb2Rpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQTWltZVR5cGUiPnhtbE5hbm9IVFRQTWltZVR5cGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQUmVkaXIiPnhtbE5hbm9IVFRQUmVkaXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMkdldFB1YmxpY0lkIj54bWxTQVgyR2V0UHVibGljSWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMkdldFN5c3RlbUlkIj54bWxTQVgyR2V0U3lzdGVtSWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyQXR0cmlidXRlQ291bnQiPnhtbFRleHRSZWFkZXJBdHRyaWJ1dGVDb3VudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJDb25zdFZhbHVlIj54bWxUZXh0UmVhZGVyQ29uc3RWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJHZXRBdHRyaWJ1dGUiPnhtbFRleHRSZWFkZXJHZXRBdHRyaWJ1dGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlTm8iPnhtbFRleHRSZWFkZXJHZXRBdHRyaWJ1dGVObzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJHZXRBdHRyaWJ1dGVOcyI+eG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZU5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclZhbHVlIj54bWxUZXh0UmVhZGVyVmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoSXNJbmYiPnhtbFhQYXRoSXNJbmY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoSXNOYU4iPnhtbFhQYXRoSXNOYU48L2E+PGJyIC8+Cis8L2RkPjxkdD5Qcm94eTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQU2NhblByb3h5Ij54bWxOYW5vRlRQU2NhblByb3h5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUFNjYW5Qcm94eSI+eG1sTmFub0hUVFBTY2FuUHJveHk8L2E+PGJyIC8+Cis8L2RkPjxkdD5Qcm94eS1BdXRoZW50aWNhdGU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQQXV0aEhlYWRlciI+eG1sTmFub0hUVFBBdXRoSGVhZGVyPC9hPjxiciAvPgorPC9kZD48ZHQ+UHViaWRDaGFyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjSVNfUFVCSURDSEFSIj5JU19QVUJJRENIQVI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZVB1YmlkTGl0ZXJhbCI+eG1sUGFyc2VQdWJpZExpdGVyYWw8L2E+PGJyIC8+Cis8L2RkPjxkdD5QdWJpZExpdGVyYWw8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUV4dGVybmFsSUQiPnhtbFBhcnNlRXh0ZXJuYWxJRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlTm90YXRpb25EZWNsIj54bWxQYXJzZU5vdGF0aW9uRGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlUHViaWRMaXRlcmFsIj54bWxQYXJzZVB1YmlkTGl0ZXJhbDwvYT48YnIgLz4KKzwvZGQ+PGR0PlB1YmxpYzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNfeG1sTm90YXRpb24iPl94bWxOb3RhdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEV4dGVybmFsRW50aXR5TG9hZGVyIj54bWxFeHRlcm5hbEVudGl0eUxvYWRlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbExvYWRFeHRlcm5hbEVudGl0eSI+eG1sTG9hZEV4dGVybmFsRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFeHRlcm5hbElEIj54bWxQYXJzZUV4dGVybmFsSUQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5QdWJsaWNJRDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRXh0ZXJuYWxJRCI+eG1sUGFyc2VFeHRlcm5hbElEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VOb3RhdGlvbkRlY2wiPnhtbFBhcnNlTm90YXRpb25EZWNsPC9hPjxiciAvPgorPC9kZD48ZHQ+UHVzaDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJQdXNoIj54bWxQYXJzZXJJbnB1dEJ1ZmZlclB1c2g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdFeGVjUHVzaFN0cmluZyI+eG1sUmVnRXhlY1B1c2hTdHJpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdFeGVjUHVzaFN0cmluZzIiPnhtbFJlZ0V4ZWNQdXNoU3RyaW5nMjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HVmFsaWRhdGVQdXNoRWxlbWVudCI+eG1sUmVsYXhOR1ZhbGlkYXRlUHVzaEVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sU3RyZWFtUHVzaCI+eG1sU3RyZWFtUHVzaDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCN4bWxTdHJlYW1QdXNoQXR0ciI+eG1sU3RyZWFtUHVzaEF0dHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sU3RyZWFtUHVzaE5vZGUiPnhtbFN0cmVhbVB1c2hOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZVB1c2hFbGVtZW50Ij54bWxWYWxpZGF0ZVB1c2hFbGVtZW50PC9hPjxiciAvPgorPC9kZD48ZHQ+UHVzaGVzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjaW5wdXRQdXNoIj5pbnB1dFB1c2g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNuYW1lUHVzaCI+bmFtZVB1c2g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNub2RlUHVzaCI+bm9kZVB1c2g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3ZhbHVlUHVzaCI+dmFsdWVQdXNoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJldHVybkJvb2xlYW4iPnhtbFhQYXRoUmV0dXJuQm9vbGVhbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhSZXR1cm5FbXB0eU5vZGVTZXQiPnhtbFhQYXRoUmV0dXJuRW1wdHlOb2RlU2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJldHVybkVtcHR5U3RyaW5nIj54bWxYUGF0aFJldHVybkVtcHR5U3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJldHVybkV4dGVybmFsIj54bWxYUGF0aFJldHVybkV4dGVybmFsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJldHVybkZhbHNlIj54bWxYUGF0aFJldHVybkZhbHNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJldHVybk5vZGVTZXQiPnhtbFhQYXRoUmV0dXJuTm9kZVNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhSZXR1cm5OdW1iZXIiPnhtbFhQYXRoUmV0dXJuTnVtYmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJldHVyblN0cmluZyI+eG1sWFBhdGhSZXR1cm5TdHJpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmV0dXJuVHJ1ZSI+eG1sWFBhdGhSZXR1cm5UcnVlPC9hPjxiciAvPgorPC9kZD48L2RsPjxoMiBhbGlnbj0iY2VudGVyIj48YSBocmVmPSJBUEljaHVuazAuaHRtbCI+QS1CPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxLmh0bWwiPkMtQzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMi5odG1sIj5ELUU8L2E+Cis8YSBocmVmPSJBUEljaHVuazMuaHRtbCI+Ri1JPC9hPgorPGEgaHJlZj0iQVBJY2h1bms0Lmh0bWwiPkotTjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNS5odG1sIj5PLVA8L2E+Cis8YSBocmVmPSJBUEljaHVuazYuaHRtbCI+US1SPC9hPgorPGEgaHJlZj0iQVBJY2h1bms3Lmh0bWwiPlMtUzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rOC5odG1sIj5ULVU8L2E+Cis8YSBocmVmPSJBUEljaHVuazkuaHRtbCI+Vi1YPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMC5odG1sIj5ZLWE8L2E+Cis8YSBocmVmPSJBUEljaHVuazExLmh0bWwiPmItYjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTIuaHRtbCI+Yy1jPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMy5odG1sIj5kLWQ8L2E+Cis8YSBocmVmPSJBUEljaHVuazE0Lmh0bWwiPmUtZTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTUuaHRtbCI+Zi1mPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNi5odG1sIj5nLWg8L2E+Cis8YSBocmVmPSJBUEljaHVuazE3Lmh0bWwiPmktaTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTguaHRtbCI+ai1sPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxOS5odG1sIj5tLW08L2E+Cis8YSBocmVmPSJBUEljaHVuazIwLmh0bWwiPm4tbjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjEuaHRtbCI+by1vPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMi5odG1sIj5wLXA8L2E+Cis8YSBocmVmPSJBUEljaHVuazIzLmh0bWwiPnEtcjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjQuaHRtbCI+cy1zPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNS5odG1sIj50LXQ8L2E+Cis8YSBocmVmPSJBUEljaHVuazI2Lmh0bWwiPnUtdjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjcuaHRtbCI+dy13PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyOC5odG1sIj54LXg8L2E+Cis8YSBocmVmPSJBUEljaHVuazI5Lmh0bWwiPnktejwvYT4KKzwvaDI+PHA+PGEgaHJlZj0iYnVncy5odG1sIj5EYW5pZWwgVmVpbGxhcmQ8L2E+PC9wPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9BUEljaHVuazYuaHRtbCBiL2xpYnhtbDIvZG9jL0FQSWNodW5rNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM0NmU3ZTUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9BUEljaHVuazYuaHRtbApAQCAtMCwwICsxLDI5NCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIj4KKzxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj48aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz48bGluayByZWw9IlNIT1JUQ1VUIElDT04iIGhyZWY9Ii9mYXZpY29uLmljbyIgLz48c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorVEQge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0JPRFkge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYTsgbWFyZ2luLXRvcDogMmVtOyBtYXJnaW4tbGVmdDogMGVtOyBtYXJnaW4tcmlnaHQ6IDBlbX0KK0gxIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMiB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDMge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0E6bGluaywgQTp2aXNpdGVkLCBBOmFjdGl2ZSB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIH0KKzwvc3R5bGU+PHRpdGxlPkFQSSBBbHBoYWJldGljIEluZGV4IFEtUiBmb3IgbGlieG1sMjwvdGl0bGU+PC9oZWFkPjxib2R5IGJnY29sb3I9IiM4Yjc3NjUiIHRleHQ9IiMwMDAwMDAiIGxpbms9IiNhMDYwNjAiIHZsaW5rPSIjMDAwMDAwIj48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iMTAwJSIgY2VsbHBhZGRpbmc9IjUiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIHdpZHRoPSIxMjAiPjxhIGhyZWY9Imh0dHA6Ly9zd3BhdC5mZmlpLm9yZy8iPjxpbWcgc3JjPSJlcGF0ZW50cy5wbmciIGFsdD0iQWN0aW9uIGFnYWluc3Qgc29mdHdhcmUgcGF0ZW50cyIgLz48L2E+PC90ZD48dGQgd2lkdGg9IjE4MCI+PGEgaHJlZj0iaHR0cDovL3d3dy5nbm9tZS5vcmcvIj48aW1nIHNyYz0iZ25vbWUyLnBuZyIgYWx0PSJHbm9tZTIgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvU3RhdHVzIj48aW1nIHNyYz0idzNjLnBuZyIgYWx0PSJXM0MgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy5yZWRoYXQuY29tLyI+PGltZyBzcmM9InJlZGhhdC5naWYiIGFsdD0iUmVkIEhhdCBMb2dvIiAvPjwvYT48ZGl2IGFsaWduPSJsZWZ0Ij48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvIj48aW1nIHNyYz0iTGlieG1sMi1Mb2dvLTE4MHgxNjguZ2lmIiBhbHQ9Ik1hZGUgd2l0aCBMaWJ4bWwyIExvZ28iIC8+PC9hPjwvZGl2PjwvdGQ+PHRkPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSI5MCUiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIiBiZ2NvbG9yPSIjZmZmYWNkIj48dHI+PHRkIGFsaWduPSJjZW50ZXIiPjxoMT5UaGUgWE1MIEMgcGFyc2VyIGFuZCB0b29sa2l0IG9mIEdub21lPC9oMT48aDI+QVBJIEFscGhhYmV0aWMgSW5kZXggUS1SIGZvciBsaWJ4bWwyPC9oMj48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iNCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiIgd2lkdGg9IjEwMCUiPjx0cj48dGQgdmFsaWduPSJ0b3AiIHdpZHRoPSIyMDAiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPkRldmVsb3BlciBNZW51PC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjxmb3JtIGFjdGlvbj0ic2VhcmNoLnBocCIgZW5jdHlwZT0iYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIiBtZXRob2Q9ImdldCI+PGlucHV0IG5hbWU9InF1ZXJ5IiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IiIgLz48aW5wdXQgbmFtZT0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJTZWFyY2ggLi4uIiAvPjwvZm9ybT48dWw+PGxpPjxhIGhyZWY9ImluZGV4Lmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5NYWluIE1lbnU8L2E+PC9saT48bGk+PGEgaHJlZj0iaHRtbC9pbmRleC5odG1sIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+UmVmZXJlbmNlIE1hbnVhbDwvYT48L2xpPjxsaT48YSBocmVmPSJleGFtcGxlcy9pbmRleC5odG1sIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+Q29kZSBFeGFtcGxlczwvYT48L2xpPjxsaT48YSBocmVmPSJndWlkZWxpbmVzLmh0bWwiPlhNTCBHdWlkZWxpbmVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9InR1dG9yaWFsL2luZGV4Lmh0bWwiPlR1dG9yaWFsPC9hPjwvbGk+PGxpPjxhIGhyZWY9InhtbHJlYWRlci5odG1sIj5UaGUgUmVhZGVyIEludGVyZmFjZTwvYT48L2xpPjxsaT48YSBocmVmPSJDaGFuZ2VMb2cuaHRtbCI+Q2hhbmdlTG9nPC9hPjwvbGk+PGxpPjxhIGhyZWY9IlhTTFQuaHRtbCI+WFNMVDwvYT48L2xpPjxsaT48YSBocmVmPSJweXRob24uaHRtbCI+UHl0aG9uIGFuZCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJhcmNoaXRlY3R1cmUuaHRtbCI+bGlieG1sMiBhcmNoaXRlY3R1cmU8L2E+PC9saT48bGk+PGEgaHJlZj0idHJlZS5odG1sIj5UaGUgdHJlZSBvdXRwdXQ8L2E+PC9saT48bGk+PGEgaHJlZj0iaW50ZXJmYWNlLmh0bWwiPlRoZSBTQVggaW50ZXJmYWNlPC9hPjwvbGk+PGxpPjxhIGhyZWY9InhtbG1lbS5odG1sIj5NZW1vcnkgTWFuYWdlbWVudDwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWxpby5odG1sIj5JL08gSW50ZXJmYWNlczwvYT48L2xpPjxsaT48YSBocmVmPSJsaWJyYXJ5Lmh0bWwiPlRoZSBwYXJzZXIgaW50ZXJmYWNlczwvYT48L2xpPjxsaT48YSBocmVmPSJlbnRpdGllcy5odG1sIj5FbnRpdGllcyBvciBubyBlbnRpdGllczwvYT48L2xpPjxsaT48YSBocmVmPSJuYW1lc3BhY2VzLmh0bWwiPk5hbWVzcGFjZXM8L2E+PC9saT48bGk+PGEgaHJlZj0idXBncmFkZS5odG1sIj5VcGdyYWRpbmcgMS54IGNvZGU8L2E+PC9saT48bGk+PGEgaHJlZj0idGhyZWFkcy5odG1sIj5UaHJlYWQgc2FmZXR5PC9hPjwvbGk+PGxpPjxhIGhyZWY9IkRPTS5odG1sIj5ET00gUHJpbmNpcGxlczwvYT48L2xpPjxsaT48YSBocmVmPSJleGFtcGxlLmh0bWwiPkEgcmVhbCBleGFtcGxlPC9hPjwvbGk+PGxpPjxhIGhyZWY9InhtbC5odG1sIj5mbGF0IHBhZ2U8L2E+LCA8YSBocmVmPSJzaXRlLnhzbCI+c3R5bGVzaGVldDwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPkFQSSBJbmRleGVzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iQVBJY2h1bmswLmh0bWwiPkFscGhhYmV0aWM8L2E+PC9saT48bGk+PGEgaHJlZj0iQVBJY29uc3RydWN0b3JzLmh0bWwiPkNvbnN0cnVjdG9yczwvYT48L2xpPjxsaT48YSBocmVmPSJBUElmdW5jdGlvbnMuaHRtbCI+RnVuY3Rpb25zL1R5cGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkFQSWZpbGVzLmh0bWwiPk1vZHVsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iQVBJc3ltYm9scy5odG1sIj5TeW1ib2xzPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+UmVsYXRlZCBsaW5rczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9Imh0dHA6Ly9tYWlsLmdub21lLm9yZy9hcmNoaXZlcy94bWwvIj5NYWlsIGFyY2hpdmU8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnL1hTTFQvIj5YU0xUIGxpYnhzbHQ8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3BoZC5jcy51bmliby5pdC9nZG9tZTIvIj5ET00gZ2RvbWUyPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuYWxla3NleS5jb20veG1sc2VjLyI+WE1MLURTaWcgeG1sc2VjPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImZ0cDovL3htbHNvZnQub3JnLyI+RlRQPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemxhdGtvdmljLmNvbS9wcm9qZWN0cy9saWJ4bWwvIj5XaW5kb3dzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9vcGVuY3N3Lm9yZy9wYWNrYWdlcy9saWJ4bWwyIj5Tb2xhcmlzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuZXhwbGFpbi5jb20uYXUvb3NzL2xpYnhtbDJ4c2x0Lmh0bWwiPk1hY09zWCBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbHhtbC5kZS8iPmx4bWwgUHl0aG9uIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9jcGFuLnV3aW5uaXBlZy5jYS9kaXN0L1hNTC1MaWJYTUwiPlBlcmwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbHBsdXNwbHVzLnNvdXJjZWZvcmdlLm5ldC8iPkMrKyBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnplbmQuY29tL3BocDUvYXJ0aWNsZXMvcGhwNS14bWxwaHAucGhwI0hlYWRpbmc0Ij5QSFAgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9saWJ4bWwyLXBhcy8iPlBhc2NhbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1sLnJ1Ynlmb3JnZS5vcmcvIj5SdWJ5IGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly90Y2x4bWwuc291cmNlZm9yZ2UubmV0LyI+VGNsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvYnVnbGlzdC5jZ2k/cHJvZHVjdD1saWJ4bWwyIj5CdWcgVHJhY2tlcjwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMyIgY2VsbHNwYWNpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjxoMiBhbGlnbj0iY2VudGVyIj48YSBocmVmPSJBUEljaHVuazAuaHRtbCI+QS1CPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxLmh0bWwiPkMtQzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMi5odG1sIj5ELUU8L2E+Cis8YSBocmVmPSJBUEljaHVuazMuaHRtbCI+Ri1JPC9hPgorPGEgaHJlZj0iQVBJY2h1bms0Lmh0bWwiPkotTjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNS5odG1sIj5PLVA8L2E+Cis8YSBocmVmPSJBUEljaHVuazYuaHRtbCI+US1SPC9hPgorPGEgaHJlZj0iQVBJY2h1bms3Lmh0bWwiPlMtUzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rOC5odG1sIj5ULVU8L2E+Cis8YSBocmVmPSJBUEljaHVuazkuaHRtbCI+Vi1YPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMC5odG1sIj5ZLWE8L2E+Cis8YSBocmVmPSJBUEljaHVuazExLmh0bWwiPmItYjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTIuaHRtbCI+Yy1jPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMy5odG1sIj5kLWQ8L2E+Cis8YSBocmVmPSJBUEljaHVuazE0Lmh0bWwiPmUtZTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTUuaHRtbCI+Zi1mPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNi5odG1sIj5nLWg8L2E+Cis8YSBocmVmPSJBUEljaHVuazE3Lmh0bWwiPmktaTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTguaHRtbCI+ai1sPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxOS5odG1sIj5tLW08L2E+Cis8YSBocmVmPSJBUEljaHVuazIwLmh0bWwiPm4tbjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjEuaHRtbCI+by1vPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMi5odG1sIj5wLXA8L2E+Cis8YSBocmVmPSJBUEljaHVuazIzLmh0bWwiPnEtcjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjQuaHRtbCI+cy1zPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNS5odG1sIj50LXQ8L2E+Cis8YSBocmVmPSJBUEljaHVuazI2Lmh0bWwiPnUtdjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjcuaHRtbCI+dy13PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyOC5odG1sIj54LXg8L2E+Cis8YSBocmVmPSJBUEljaHVuazI5Lmh0bWwiPnktejwvYT4KKzwvaDI+PGgyPkxldHRlciBROjwvaDI+PGRsPjxkdD5RTmFtZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWlsZFFOYW1lIj54bWxCdWlsZFFOYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGljdC5odG1sI3htbERpY3RRTG9va3VwIj54bWxEaWN0UUxvb2t1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoUUxvb2t1cCI+eG1sSGFzaFFMb29rdXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxOYW1lc3BhY2VQYXJzZVFOYW1lIj54bWxOYW1lc3BhY2VQYXJzZVFOYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VBdHRyaWJ1dGUiPnhtbFBhcnNlQXR0cmlidXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbmRUYWciPnhtbFBhcnNlRW5kVGFnPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VTdGFydFRhZyI+eG1sUGFyc2VTdGFydFRhZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUdldENhbm9uVmFsdWUiPnhtbFNjaGVtYUdldENhbm9uVmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFOZXdRTmFtZVZhbHVlIj54bWxTY2hlbWFOZXdRTmFtZVZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNldFByb3AiPnhtbFNldFByb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxTcGxpdFFOYW1lIj54bWxTcGxpdFFOYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNwbGl0UU5hbWUyIj54bWxTcGxpdFFOYW1lMjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTcGxpdFFOYW1lMyI+eG1sU3BsaXRRTmFtZTM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJRRXF1YWwiPnhtbFN0clFFcXVhbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxWYWxpZGF0ZVFOYW1lIj54bWxWYWxpZGF0ZVFOYW1lPC9hPjxiciAvPgorPC9kZD48ZHQ+UU5hbWVzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBBZG9wdE5vZGUiPnhtbERPTVdyYXBBZG9wdE5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcENsb25lTm9kZSI+eG1sRE9NV3JhcENsb25lTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwUmVjb25jaWxlTmFtZXNwYWNlcyI+eG1sRE9NV3JhcFJlY29uY2lsZU5hbWVzcGFjZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFFMb29rdXAyIj54bWxIYXNoUUxvb2t1cDI8L2E+PGJyIC8+Cis8L2RkPjxkdD5RVUlUPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBRdWl0Ij54bWxOYW5vRlRQUXVpdDwvYT48YnIgLz4KKzwvZGQ+PGR0PlF1YWxpZmllZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTcGxpdFFOYW1lMyI+eG1sU3BsaXRRTmFtZTM8L2E+PGJyIC8+Cis8L2RkPjxkdD5RdWVyeTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0U2l6ZSI+eG1sRGljdFNpemU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFNpemUiPnhtbEhhc2hTaXplPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbFN0cmVhbVdhbnRzQW55Tm9kZSI+eG1sU3RyZWFtV2FudHNBbnlOb2RlPC9hPjxiciAvPgorPC9kZD48L2RsPjxoMj5MZXR0ZXIgUjo8L2gyPjxkbD48ZHQ+UkVDPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjSVNfQkFTRUNIQVIiPklTX0JBU0VDSEFSPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjSVNfQ09NQklOSU5HIj5JU19DT01CSU5JTkc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNJU19ESUdJVCI+SVNfRElHSVQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxDaGVja0xhbmd1YWdlSUQiPnhtbENoZWNrTGFuZ3VhZ2VJRDwvYT48YnIgLz4KKzwvZGQ+PGR0PlJFQy14bWw8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbEdldENoYXJFbmNvZGluZ05hbWUiPnhtbEdldENoYXJFbmNvZGluZ05hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZXJIYW5kbGVQRVJlZmVyZW5jZSI+eG1sUGFyc2VySGFuZGxlUEVSZWZlcmVuY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZXJIYW5kbGVSZWZlcmVuY2UiPnhtbFBhcnNlckhhbmRsZVJlZmVyZW5jZTwvYT48YnIgLz4KKzwvZGQ+PGR0PlJFRnM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfREVURUNUX0lEUyI+WE1MX0RFVEVDVF9JRFM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfU0tJUF9JRFMiPlhNTF9TS0lQX0lEUzwvYT48YnIgLz4KKzwvZGQ+PGR0PlJFUVVJUkVEPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VBdHRyaWJ1dGVUeXBlIj54bWxQYXJzZUF0dHJpYnV0ZVR5cGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZURlZmF1bHREZWNsIj54bWxQYXJzZURlZmF1bHREZWNsPC9hPjxiciAvPgorPC9kZD48ZHQ+UkZDPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sQnVpbGRVUkkiPnhtbEJ1aWxkVVJJPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sQ2hlY2tMYW5ndWFnZUlEIj54bWxDaGVja0xhbmd1YWdlSUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUdldEJhc2UiPnhtbE5vZGVHZXRCYXNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sTm9ybWFsaXplVVJJUGF0aCI+eG1sTm9ybWFsaXplVVJJUGF0aDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbFBhcnNlVVJJIj54bWxQYXJzZVVSSTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbFBhcnNlVVJJUmVmZXJlbmNlIj54bWxQYXJzZVVSSVJlZmVyZW5jZTwvYT48YnIgLz4KKzwvZGQ+PGR0PlJGQzIzOTY8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxVUklFc2NhcGUiPnhtbFVSSUVzY2FwZTwvYT48YnIgLz4KKzwvZGQ+PGR0PlJhaXNlczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTZXRBcml0eUVycm9yIj54bWxYUGF0aFNldEFyaXR5RXJyb3I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU2V0RXJyb3IiPnhtbFhQYXRoU2V0RXJyb3I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU2V0VHlwZUVycm9yIj54bWxYUGF0aFNldFR5cGVFcnJvcjwvYT48YnIgLz4KKzwvZGQ+PGR0PlJlYWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmR2V0Tm9kZUNvbnRlbnQiPnhtbEJ1ZkdldE5vZGVDb250ZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxGaWxlUmVhZCI+eG1sRmlsZVJlYWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxHZXRGZWF0dXJlIj54bWxHZXRGZWF0dXJlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sR2V0VVRGOENoYXIiPnhtbEdldFVURjhDaGFyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxJT0ZUUFJlYWQiPnhtbElPRlRQUmVhZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sSU9IVFRQUmVhZCI+eG1sSU9IVFRQUmVhZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlQnVmR2V0Q29udGVudCI+eG1sTm9kZUJ1ZkdldENvbnRlbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUdldENvbnRlbnQiPnhtbE5vZGVHZXRDb250ZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckNvbnN0VmFsdWUiPnhtbFRleHRSZWFkZXJDb25zdFZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckdldFBhcnNlclByb3AiPnhtbFRleHRSZWFkZXJHZXRQYXJzZXJQcm9wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclJlbGF4TkdTZXRTY2hlbWEiPnhtbFRleHRSZWFkZXJSZWxheE5HU2V0U2NoZW1hPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZSI+eG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJSZWxheE5HVmFsaWRhdGVDdHh0Ij54bWxUZXh0UmVhZGVyUmVsYXhOR1ZhbGlkYXRlQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZSI+eG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlQ3R4dCI+eG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJTZXRTY2hlbWEiPnhtbFRleHRSZWFkZXJTZXRTY2hlbWE8L2E+PGJyIC8+Cis8L2RkPjxkdD5SZWFkZXI8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHJlc2VydmUiPnhtbFRleHRSZWFkZXJQcmVzZXJ2ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQcmVzZXJ2ZVBhdHRlcm4iPnhtbFRleHRSZWFkZXJQcmVzZXJ2ZVBhdHRlcm48L2E+PGJyIC8+Cis8L2RkPjxkdD5SZWFkZXJzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlck5leHRTaWJsaW5nIj54bWxUZXh0UmVhZGVyTmV4dFNpYmxpbmc8L2E+PGJyIC8+Cis8L2RkPjxkdD5SZWFkczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJDdXJyZW50Tm9kZSI+eG1sVGV4dFJlYWRlckN1cnJlbnROb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckV4cGFuZCI+eG1sVGV4dFJlYWRlckV4cGFuZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJSZWFkSW5uZXJYbWwiPnhtbFRleHRSZWFkZXJSZWFkSW5uZXJYbWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUmVhZE91dGVyWG1sIj54bWxUZXh0UmVhZGVyUmVhZE91dGVyWG1sPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclJlYWRTdHJpbmciPnhtbFRleHRSZWFkZXJSZWFkU3RyaW5nPC9hPjxiciAvPgorPC9kZD48ZHQ+UmVjPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZURvY3VtZW50Ij54bWxWYWxpZGF0ZURvY3VtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZURvY3VtZW50RmluYWwiPnhtbFZhbGlkYXRlRG9jdW1lbnRGaW5hbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVEdGRGaW5hbCI+eG1sVmFsaWRhdGVEdGRGaW5hbDwvYT48YnIgLz4KKzwvZGQ+PGR0PlJlY2VpdmU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNzZXREb2N1bWVudExvY2F0b3IiPnNldERvY3VtZW50TG9jYXRvcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3NldERvY3VtZW50TG9jYXRvclNBWEZ1bmMiPnNldERvY3VtZW50TG9jYXRvclNBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZURlZmF1bHREZWNsIj54bWxQYXJzZURlZmF1bHREZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJTZXREb2N1bWVudExvY2F0b3IiPnhtbFNBWDJTZXREb2N1bWVudExvY2F0b3I8L2E+PGJyIC8+Cis8L2RkPjxkdD5SZWNlaXZpbmc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNjaGFyYWN0ZXJzU0FYRnVuYyI+Y2hhcmFjdGVyc1NBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNpZ25vcmFibGVXaGl0ZXNwYWNlU0FYRnVuYyI+aWdub3JhYmxlV2hpdGVzcGFjZVNBWEZ1bmM8L2E+PGJyIC8+Cis8L2RkPjxkdD5SZWN1cnNlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNlYXJjaE5zQnlIcmVmIj54bWxTZWFyY2hOc0J5SHJlZjwvYT48YnIgLz4KKzwvZGQ+PGR0PlJlY3Vyc2lvbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlUEVSZWZlcmVuY2UiPnhtbFBhcnNlUEVSZWZlcmVuY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZXJIYW5kbGVQRVJlZmVyZW5jZSI+eG1sUGFyc2VySGFuZGxlUEVSZWZlcmVuY2U8L2E+PGJyIC8+Cis8L2RkPjxkdD5SZWY8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjX3htbFJlZiI+X3htbFJlZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sQWRkUmVmIj54bWxBZGRSZWY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEZyZWVSZWZUYWJsZSI+eG1sRnJlZVJlZlRhYmxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxJc1JlZiI+eG1sSXNSZWY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFJlbW92ZVJlZiI+eG1sUmVtb3ZlUmVmPC9hPjxiciAvPgorPC9kZD48ZHQ+UmVmZXJlbmNlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxQYXJzZUNoYXJSZWYiPmh0bWxQYXJzZUNoYXJSZWY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxEZWNvZGVFbnRpdGllcyI+eG1sRGVjb2RlRW50aXRpZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUF0dFZhbHVlIj54bWxQYXJzZUF0dFZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5Ij54bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlSZWNvdmVyIj54bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlSZWNvdmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VDaGFyUmVmIj54bWxQYXJzZUNoYXJSZWY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUNvbnRlbnQiPnhtbFBhcnNlQ29udGVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRW50aXR5VmFsdWUiPnhtbFBhcnNlRW50aXR5VmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUluTm9kZUNvbnRleHQiPnhtbFBhcnNlSW5Ob2RlQ29udGV4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlUmVmZXJlbmNlIj54bWxQYXJzZVJlZmVyZW5jZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlckhhbmRsZVJlZmVyZW5jZSI+eG1sUGFyc2VySGFuZGxlUmVmZXJlbmNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sU3RyaW5nRGVjb2RlRW50aXRpZXMiPnhtbFN0cmluZ0RlY29kZUVudGl0aWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sU3RyaW5nTGVuRGVjb2RlRW50aXRpZXMiPnhtbFN0cmluZ0xlbkRlY29kZUVudGl0aWVzPC9hPjxiciAvPgorPC9kZD48ZHQ+UmVmZXJlbmNlOjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJOb2RlVHlwZSI+eG1sVGV4dFJlYWRlck5vZGVUeXBlPC9hPjxiciAvPgorPC9kZD48ZHQ+UmVmZXJlbmNlczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbEJ1aWxkVVJJIj54bWxCdWlsZFVSSTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwQWRvcHROb2RlIj54bWxET01XcmFwQWRvcHROb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBDbG9uZU5vZGUiPnhtbERPTVdyYXBDbG9uZU5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUF0dHJpYnV0ZSI+eG1sUGFyc2VBdHRyaWJ1dGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5SZWZsZWN0czwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19RVUFMSUZfQVRUUiI+WE1MX1NDSEVNQVNfUVVBTElGX0FUVFI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfUVVBTElGX0VMRU0iPlhNTF9TQ0hFTUFTX1FVQUxJRl9FTEVNPC9hPjxiciAvPgorPC9kZD48ZHQ+UmVmcmVzaDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJSZWFkIj54bWxQYXJzZXJJbnB1dEJ1ZmZlclJlYWQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5SZWc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhQ29tcGlsZSI+eG1sQXV0b21hdGFDb21waWxlPC9hPjxiciAvPgorPC9kZD48ZHQ+UmVnaXN0ZXI8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEFkZEF0dHJpYnV0ZURlY2wiPnhtbEFkZEF0dHJpYnV0ZURlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI3htbEFkZERvY0VudGl0eSI+eG1sQWRkRG9jRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxBZGREdGRFbnRpdHkiPnhtbEFkZER0ZEVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sQWRkRWxlbWVudERlY2wiPnhtbEFkZEVsZW1lbnREZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxBZGRJRCI+eG1sQWRkSUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEFkZE5vdGF0aW9uRGVjbCI+eG1sQWRkTm90YXRpb25EZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxBZGRSZWYiPnhtbEFkZFJlZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sUmVnaXN0ZXJDaGFyRW5jb2RpbmdIYW5kbGVyIj54bWxSZWdpc3RlckNoYXJFbmNvZGluZ0hhbmRsZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbFJlZ2lzdGVySW5wdXRDYWxsYmFja3MiPnhtbFJlZ2lzdGVySW5wdXRDYWxsYmFja3M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbFJlZ2lzdGVyT3V0cHV0Q2FsbGJhY2tzIj54bWxSZWdpc3Rlck91dHB1dENhbGxiYWNrczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJTZXRFcnJvckhhbmRsZXIiPnhtbFRleHRSZWFkZXJTZXRFcnJvckhhbmRsZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyU2V0U3RydWN0dXJlZEVycm9ySGFuZGxlciI+eG1sVGV4dFJlYWRlclNldFN0cnVjdHVyZWRFcnJvckhhbmRsZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmVnaXN0ZXJGdW5jIj54bWxYUGF0aFJlZ2lzdGVyRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhSZWdpc3RlckZ1bmNOUyI+eG1sWFBhdGhSZWdpc3RlckZ1bmNOUzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhSZWdpc3Rlck5zIj54bWxYUGF0aFJlZ2lzdGVyTnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZSI+eG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGVOUyI+eG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlTlM8L2E+PGJyIC8+Cis8L2RkPjxkdD5SZWdpc3Rlck5vZGVGdW5jPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbFJlZ2lzdGVyTm9kZURlZmF1bHQiPnhtbFJlZ2lzdGVyTm9kZURlZmF1bHQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5SZWdpc3RlcnM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbEFkZEVuY29kaW5nQWxpYXMiPnhtbEFkZEVuY29kaW5nQWxpYXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sRGVyZWdpc3Rlck5vZGVEZWZhdWx0Ij54bWxEZXJlZ2lzdGVyTm9kZURlZmF1bHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0Ij54bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQiPnhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxSZWdpc3RlckRlZmF1bHRJbnB1dENhbGxiYWNrcyI+eG1sUmVnaXN0ZXJEZWZhdWx0SW5wdXRDYWxsYmFja3M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbFJlZ2lzdGVyRGVmYXVsdE91dHB1dENhbGxiYWNrcyI+eG1sUmVnaXN0ZXJEZWZhdWx0T3V0cHV0Q2FsbGJhY2tzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbFJlZ2lzdGVyTm9kZURlZmF1bHQiPnhtbFJlZ2lzdGVyTm9kZURlZmF1bHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmVnaXN0ZXJBbGxGdW5jdGlvbnMiPnhtbFhQYXRoUmVnaXN0ZXJBbGxGdW5jdGlvbnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmVnaXN0ZXJGdW5jTG9va3VwIj54bWxYUGF0aFJlZ2lzdGVyRnVuY0xvb2t1cDwvYT48YnIgLz4KKzwvZGQ+PGR0PlJlbGF0aXZlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sQnVpbGRVUkkiPnhtbEJ1aWxkVVJJPC9hPjxiciAvPgorPC9kZD48ZHQ+UmVsYXgtTkc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR0dldFBhcnNlckVycm9ycyI+eG1sUmVsYXhOR0dldFBhcnNlckVycm9yczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HR2V0VmFsaWRFcnJvcnMiPnhtbFJlbGF4TkdHZXRWYWxpZEVycm9yczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HUGFyc2UiPnhtbFJlbGF4TkdQYXJzZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HU2V0UGFyc2VyRXJyb3JzIj54bWxSZWxheE5HU2V0UGFyc2VyRXJyb3JzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdTZXRQYXJzZXJTdHJ1Y3R1cmVkRXJyb3JzIj54bWxSZWxheE5HU2V0UGFyc2VyU3RydWN0dXJlZEVycm9yczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HU2V0VmFsaWRFcnJvcnMiPnhtbFJlbGF4TkdTZXRWYWxpZEVycm9yczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzIj54bWxSZWxheE5HU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdWYWxpZGF0ZURvYyI+eG1sUmVsYXhOR1ZhbGlkYXRlRG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdWYWxpZGl0eUVycm9yRnVuYyI+eG1sUmVsYXhOR1ZhbGlkaXR5RXJyb3JGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdWYWxpZGl0eVdhcm5pbmdGdW5jIj54bWxSZWxheE5HVmFsaWRpdHlXYXJuaW5nRnVuYzwvYT48YnIgLz4KKzwvZGQ+PGR0PlJlbGF4Tkc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjX3htbFNjaGVtYUVsZW1lbnQiPl94bWxTY2hlbWFFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdDbGVhbnVwVHlwZXMiPnhtbFJlbGF4TkdDbGVhbnVwVHlwZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR0R1bXAiPnhtbFJlbGF4TkdEdW1wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdEdW1wVHJlZSI+eG1sUmVsYXhOR0R1bXBUcmVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdGcmVlIj54bWxSZWxheE5HRnJlZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HTmV3RG9jUGFyc2VyQ3R4dCI+eG1sUmVsYXhOR05ld0RvY1BhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1BhcnNlIj54bWxSZWxheE5HUGFyc2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1ZhbGlkYXRlUG9wRWxlbWVudCI+eG1sUmVsYXhOR1ZhbGlkYXRlUG9wRWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HVmFsaWRhdGVQdXNoQ0RhdGEiPnhtbFJlbGF4TkdWYWxpZGF0ZVB1c2hDRGF0YTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HVmFsaWRhdGVQdXNoRWxlbWVudCI+eG1sUmVsYXhOR1ZhbGlkYXRlUHVzaEVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhQYXJzZXJTZXRGbGFnIj54bWxSZWxheFBhcnNlclNldEZsYWc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUmVsYXhOR1NldFNjaGVtYSI+eG1sVGV4dFJlYWRlclJlbGF4TkdTZXRTY2hlbWE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUmVsYXhOR1ZhbGlkYXRlIj54bWxUZXh0UmVhZGVyUmVsYXhOR1ZhbGlkYXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZUN0eHQiPnhtbFRleHRSZWFkZXJSZWxheE5HVmFsaWRhdGVDdHh0PC9hPjxiciAvPgorPC9kZD48ZHQ+UmVsYXhOR3M8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR05ld0RvY1BhcnNlckN0eHQiPnhtbFJlbGF4TkdOZXdEb2NQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdOZXdNZW1QYXJzZXJDdHh0Ij54bWxSZWxheE5HTmV3TWVtUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HTmV3UGFyc2VyQ3R4dCI+eG1sUmVsYXhOR05ld1BhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR05ld1ZhbGlkQ3R4dCI+eG1sUmVsYXhOR05ld1ZhbGlkQ3R4dDwvYT48YnIgLz4KKzwvZGQ+PGR0PlJlbW92ZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxBQ2F0YWxvZ1JlbW92ZSI+eG1sQUNhdGFsb2dSZW1vdmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmU2hyaW5rIj54bWxCdWZTaHJpbms8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyRGV0YWNoIj54bWxCdWZmZXJEZXRhY2g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyU2hyaW5rIj54bWxCdWZmZXJTaHJpbms8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ1JlbW92ZSI+eG1sQ2F0YWxvZ1JlbW92ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0Q2xlYXIiPnhtbExpc3RDbGVhcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0UmVtb3ZlQWxsIj54bWxMaXN0UmVtb3ZlQWxsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3RSZW1vdmVGaXJzdCI+eG1sTGlzdFJlbW92ZUZpcnN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3RSZW1vdmVMYXN0Ij54bWxMaXN0UmVtb3ZlTGFzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlckhhbmRsZVJlZmVyZW5jZSI+eG1sUGFyc2VySGFuZGxlUmVmZXJlbmNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxSZW1vdmVJRCI+eG1sUmVtb3ZlSUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFJlbW92ZVJlZiI+eG1sUmVtb3ZlUmVmPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFVuc2V0TnNQcm9wIj54bWxVbnNldE5zUHJvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxVbnNldFByb3AiPnhtbFVuc2V0UHJvcDwvYT48YnIgLz4KKzwvZGQ+PGR0PlJlbW92ZXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdFBvcEJhY2siPnhtbExpc3RQb3BCYWNrPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3RQb3BGcm9udCI+eG1sTGlzdFBvcEZyb250PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hQ29sbGFwc2VTdHJpbmciPnhtbFNjaGVtYUNvbGxhcHNlU3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vZGVTZXREZWwiPnhtbFhQYXRoTm9kZVNldERlbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb2RlU2V0UmVtb3ZlIj54bWxYUGF0aE5vZGVTZXRSZW1vdmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJMb2NhdGlvblNldERlbCI+eG1sWFB0ckxvY2F0aW9uU2V0RGVsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyTG9jYXRpb25TZXRSZW1vdmUiPnhtbFhQdHJMb2NhdGlvblNldFJlbW92ZTwvYT48YnIgLz4KKzwvZGQ+PGR0PlJlcGxhY2U8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVNldENvbnRlbnQiPnhtbE5vZGVTZXRDb250ZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVTZXRDb250ZW50TGVuIj54bWxOb2RlU2V0Q29udGVudExlbjwvYT48YnIgLz4KKzwvZGQ+PGR0PlJlcGxhY2VzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hV2hpdGVTcGFjZVJlcGxhY2UiPnhtbFNjaGVtYVdoaXRlU3BhY2VSZXBsYWNlPC9hPjxiciAvPgorPC9kZD48ZHQ+UmVxdWlyZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjX2h0bWxFbGVtRGVzYyI+X2h0bWxFbGVtRGVzYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sQXR0ckFsbG93ZWQiPmh0bWxBdHRyQWxsb3dlZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRGVmYXVsdERlY2wiPnhtbFBhcnNlRGVmYXVsdERlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlT25lRWxlbWVudCI+eG1sVmFsaWRhdGVPbmVFbGVtZW50PC9hPjxiciAvPgorPC9kZD48ZHQ+UmVzZXQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEN0eHRSZXNldCI+aHRtbEN0eHRSZXNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEN0eHRSZXNldCI+eG1sQ3R4dFJlc2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ3R4dFJlc2V0UHVzaCI+eG1sQ3R4dFJlc2V0UHVzaDwvYT48YnIgLz4KKzwvZGQ+PGR0PlJlc2l6ZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJSZXNpemUiPnhtbEJ1ZmZlclJlc2l6ZTwvYT48YnIgLz4KKzwvZGQ+PGR0PlJlc29sdmVzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckxvb2t1cE5hbWVzcGFjZSI+eG1sVGV4dFJlYWRlckxvb2t1cE5hbWVzcGFjZTwvYT48YnIgLz4KKzwvZGQ+PGR0PlJlc29sdmluZzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbEJ1aWxkVVJJIj54bWxCdWlsZFVSSTwvYT48YnIgLz4KKzwvZGQ+PGR0PlJldHJpZXZlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckdldEVycm9ySGFuZGxlciI+eG1sVGV4dFJlYWRlckdldEVycm9ySGFuZGxlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJJc1ZhbGlkIj54bWxUZXh0UmVhZGVySXNWYWxpZDwvYT48YnIgLz4KKzwvZGQ+PGR0PlJldHVybjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjQ0hFQ0tfVFlQRTAiPkNIRUNLX1RZUEUwPC9hPjxiciAvPgorPC9kZD48ZHQ+UmV0dXJuczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sRGVmYXVsdFN1YmVsZW1lbnQiPmh0bWxEZWZhdWx0U3ViZWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sRWxlbWVudEFsbG93ZWRIZXJlRGVzYyI+aHRtbEVsZW1lbnRBbGxvd2VkSGVyZURlc2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFJlcXVpcmVkQXR0cnMiPmh0bWxSZXF1aXJlZEF0dHJzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxHZXREb2NFbnRpdHkiPnhtbEdldERvY0VudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjeG1sR2V0RHRkRW50aXR5Ij54bWxHZXREdGRFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI3htbEdldFBhcmFtZXRlckVudGl0eSI+eG1sR2V0UGFyYW1ldGVyRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sSGFzRmVhdHVyZSI+eG1sSGFzRmVhdHVyZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaW5rR2V0RGF0YSI+eG1sTGlua0dldERhdGE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoQ2hlY2tFcnJvciI+eG1sWFBhdGhDaGVja0Vycm9yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEdldENvbnRleHROb2RlIj54bWxYUGF0aEdldENvbnRleHROb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEdldERvY3VtZW50Ij54bWxYUGF0aEdldERvY3VtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEdldEVycm9yIj54bWxYUGF0aEdldEVycm9yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE5vZGVTZXRHZXRMZW5ndGgiPnhtbFhQYXRoTm9kZVNldEdldExlbmd0aDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhOb2RlU2V0SXNFbXB0eSI+eG1sWFBhdGhOb2RlU2V0SXNFbXB0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhOb2RlU2V0SXRlbSI+eG1sWFBhdGhOb2RlU2V0SXRlbTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdGFja0lzRXh0ZXJuYWwiPnhtbFhQYXRoU3RhY2tJc0V4dGVybmFsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFN0YWNrSXNOb2RlU2V0Ij54bWxYUGF0aFN0YWNrSXNOb2RlU2V0PC9hPjxiciAvPgorPC9kZD48ZHQ+UmV0dXJuczo8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdFeGVjRXJySW5mbyI+eG1sUmVnRXhlY0VyckluZm88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdFeGVjTmV4dFZhbHVlcyI+eG1sUmVnRXhlY05leHRWYWx1ZXM8L2E+PGJyIC8+Cis8L2RkPjxkdD5SZXZlcnNlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3RSZXZlcnNlIj54bWxMaXN0UmV2ZXJzZTwvYT48YnIgLz4KKzwvZGQ+PGR0PlJvb3Q8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZURvY1R5cGVEZWNsIj54bWxQYXJzZURvY1R5cGVEZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZVJvb3QiPnhtbFZhbGlkYXRlUm9vdDwvYT48YnIgLz4KKzwvZGQ+PGR0PlJ1bmljPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzUnVuaWMiPnhtbFVDU0lzUnVuaWM8L2E+PGJyIC8+Cis8L2RkPjwvZGw+PGgyIGFsaWduPSJjZW50ZXIiPjxhIGhyZWY9IkFQSWNodW5rMC5odG1sIj5BLUI8L2E+Cis8YSBocmVmPSJBUEljaHVuazEuaHRtbCI+Qy1DPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyLmh0bWwiPkQtRTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMy5odG1sIj5GLUk8L2E+Cis8YSBocmVmPSJBUEljaHVuazQuaHRtbCI+Si1OPC9hPgorPGEgaHJlZj0iQVBJY2h1bms1Lmh0bWwiPk8tUDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNi5odG1sIj5RLVI8L2E+Cis8YSBocmVmPSJBUEljaHVuazcuaHRtbCI+Uy1TPC9hPgorPGEgaHJlZj0iQVBJY2h1bms4Lmh0bWwiPlQtVTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rOS5odG1sIj5WLVg8L2E+Cis8YSBocmVmPSJBUEljaHVuazEwLmh0bWwiPlktYTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTEuaHRtbCI+Yi1iPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMi5odG1sIj5jLWM8L2E+Cis8YSBocmVmPSJBUEljaHVuazEzLmh0bWwiPmQtZDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTQuaHRtbCI+ZS1lPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNS5odG1sIj5mLWY8L2E+Cis8YSBocmVmPSJBUEljaHVuazE2Lmh0bWwiPmctaDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTcuaHRtbCI+aS1pPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxOC5odG1sIj5qLWw8L2E+Cis8YSBocmVmPSJBUEljaHVuazE5Lmh0bWwiPm0tbTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjAuaHRtbCI+bi1uPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMS5odG1sIj5vLW88L2E+Cis8YSBocmVmPSJBUEljaHVuazIyLmh0bWwiPnAtcDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjMuaHRtbCI+cS1yPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNC5odG1sIj5zLXM8L2E+Cis8YSBocmVmPSJBUEljaHVuazI1Lmh0bWwiPnQtdDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjYuaHRtbCI+dS12PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNy5odG1sIj53LXc8L2E+Cis8YSBocmVmPSJBUEljaHVuazI4Lmh0bWwiPngteDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjkuaHRtbCI+eS16PC9hPgorPC9oMj48cD48YSBocmVmPSJidWdzLmh0bWwiPkRhbmllbCBWZWlsbGFyZDwvYT48L3A+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL0FQSWNodW5rNy5odG1sIGIvbGlieG1sMi9kb2MvQVBJY2h1bms3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2Y0NmY5OQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL0FQSWNodW5rNy5odG1sCkBAIC0wLDAgKzEsMzMwIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPgorPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPjxoZWFkPjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPjxsaW5rIHJlbD0iU0hPUlRDVVQgSUNPTiIgaHJlZj0iL2Zhdmljb24uaWNvIiAvPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CitURCB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorQk9EWSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhOyBtYXJnaW4tdG9wOiAyZW07IG1hcmdpbi1sZWZ0OiAwZW07IG1hcmdpbi1yaWdodDogMGVtfQorSDEge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gyIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMyB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorQTpsaW5rLCBBOnZpc2l0ZWQsIEE6YWN0aXZlIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgfQorPC9zdHlsZT48dGl0bGU+QVBJIEFscGhhYmV0aWMgSW5kZXggUy1TIGZvciBsaWJ4bWwyPC90aXRsZT48L2hlYWQ+PGJvZHkgYmdjb2xvcj0iIzhiNzc2NSIgdGV4dD0iIzAwMDAwMCIgbGluaz0iI2EwNjA2MCIgdmxpbms9IiMwMDAwMDAiPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSIxMDAlIiBjZWxscGFkZGluZz0iNSIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgd2lkdGg9IjEyMCI+PGEgaHJlZj0iaHR0cDovL3N3cGF0LmZmaWkub3JnLyI+PGltZyBzcmM9ImVwYXRlbnRzLnBuZyIgYWx0PSJBY3Rpb24gYWdhaW5zdCBzb2Z0d2FyZSBwYXRlbnRzIiAvPjwvYT48L3RkPjx0ZCB3aWR0aD0iMTgwIj48YSBocmVmPSJodHRwOi8vd3d3Lmdub21lLm9yZy8iPjxpbWcgc3JjPSJnbm9tZTIucG5nIiBhbHQ9Ikdub21lMiBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9TdGF0dXMiPjxpbWcgc3JjPSJ3M2MucG5nIiBhbHQ9IlczQyBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnJlZGhhdC5jb20vIj48aW1nIHNyYz0icmVkaGF0LmdpZiIgYWx0PSJSZWQgSGF0IExvZ28iIC8+PC9hPjxkaXYgYWxpZ249ImxlZnQiPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy8iPjxpbWcgc3JjPSJMaWJ4bWwyLUxvZ28tMTgweDE2OC5naWYiIGFsdD0iTWFkZSB3aXRoIExpYnhtbDIgTG9nbyIgLz48L2E+PC9kaXY+PC90ZD48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjkwJSIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiIGJnY29sb3I9IiNmZmZhY2QiPjx0cj48dGQgYWxpZ249ImNlbnRlciI+PGgxPlRoZSBYTUwgQyBwYXJzZXIgYW5kIHRvb2xraXQgb2YgR25vbWU8L2gxPjxoMj5BUEkgQWxwaGFiZXRpYyBJbmRleCBTLVMgZm9yIGxpYnhtbDI8L2gyPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI0IiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCB2YWxpZ249InRvcCIgd2lkdGg9IjIwMCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+RGV2ZWxvcGVyIE1lbnU8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PGZvcm0gYWN0aW9uPSJzZWFyY2gucGhwIiBlbmN0eXBlPSJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiIG1ldGhvZD0iZ2V0Ij48aW5wdXQgbmFtZT0icXVlcnkiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iIiAvPjxpbnB1dCBuYW1lPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNlYXJjaCAuLi4iIC8+PC9mb3JtPjx1bD48bGk+PGEgaHJlZj0iaW5kZXguaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPk1haW4gTWVudTwvYT48L2xpPjxsaT48YSBocmVmPSJodG1sL2luZGV4Lmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5SZWZlcmVuY2UgTWFudWFsPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImV4YW1wbGVzL2luZGV4Lmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5Db2RlIEV4YW1wbGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imd1aWRlbGluZXMuaHRtbCI+WE1MIEd1aWRlbGluZXM8L2E+PC9saT48bGk+PGEgaHJlZj0idHV0b3JpYWwvaW5kZXguaHRtbCI+VHV0b3JpYWw8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1scmVhZGVyLmh0bWwiPlRoZSBSZWFkZXIgSW50ZXJmYWNlPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkNoYW5nZUxvZy5odG1sIj5DaGFuZ2VMb2c8L2E+PC9saT48bGk+PGEgaHJlZj0iWFNMVC5odG1sIj5YU0xUPC9hPjwvbGk+PGxpPjxhIGhyZWY9InB5dGhvbi5odG1sIj5QeXRob24gYW5kIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImFyY2hpdGVjdHVyZS5odG1sIj5saWJ4bWwyIGFyY2hpdGVjdHVyZTwvYT48L2xpPjxsaT48YSBocmVmPSJ0cmVlLmh0bWwiPlRoZSB0cmVlIG91dHB1dDwvYT48L2xpPjxsaT48YSBocmVmPSJpbnRlcmZhY2UuaHRtbCI+VGhlIFNBWCBpbnRlcmZhY2U8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1sbWVtLmh0bWwiPk1lbW9yeSBNYW5hZ2VtZW50PC9hPjwvbGk+PGxpPjxhIGhyZWY9InhtbGlvLmh0bWwiPkkvTyBJbnRlcmZhY2VzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnJhcnkuaHRtbCI+VGhlIHBhcnNlciBpbnRlcmZhY2VzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImVudGl0aWVzLmh0bWwiPkVudGl0aWVzIG9yIG5vIGVudGl0aWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Im5hbWVzcGFjZXMuaHRtbCI+TmFtZXNwYWNlczwvYT48L2xpPjxsaT48YSBocmVmPSJ1cGdyYWRlLmh0bWwiPlVwZ3JhZGluZyAxLnggY29kZTwvYT48L2xpPjxsaT48YSBocmVmPSJ0aHJlYWRzLmh0bWwiPlRocmVhZCBzYWZldHk8L2E+PC9saT48bGk+PGEgaHJlZj0iRE9NLmh0bWwiPkRPTSBQcmluY2lwbGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImV4YW1wbGUuaHRtbCI+QSByZWFsIGV4YW1wbGU8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1sLmh0bWwiPmZsYXQgcGFnZTwvYT4sIDxhIGhyZWY9InNpdGUueHNsIj5zdHlsZXNoZWV0PC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+QVBJIEluZGV4ZXM8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSJBUEljaHVuazAuaHRtbCI+QWxwaGFiZXRpYzwvYT48L2xpPjxsaT48YSBocmVmPSJBUEljb25zdHJ1Y3RvcnMuaHRtbCI+Q29uc3RydWN0b3JzPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkFQSWZ1bmN0aW9ucy5odG1sIj5GdW5jdGlvbnMvVHlwZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iQVBJZmlsZXMuaHRtbCI+TW9kdWxlczwvYT48L2xpPjxsaT48YSBocmVmPSJBUElzeW1ib2xzLmh0bWwiPlN5bWJvbHM8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5SZWxhdGVkIGxpbmtzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iaHR0cDovL21haWwuZ25vbWUub3JnL2FyY2hpdmVzL3htbC8iPk1haWwgYXJjaGl2ZTwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvWFNMVC8iPlhTTFQgbGlieHNsdDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vcGhkLmNzLnVuaWJvLml0L2dkb21lMi8iPkRPTSBnZG9tZTI8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5hbGVrc2V5LmNvbS94bWxzZWMvIj5YTUwtRFNpZyB4bWxzZWM8L2E+PC9saT48bGk+PGEgaHJlZj0iZnRwOi8veG1sc29mdC5vcmcvIj5GVFA8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56bGF0a292aWMuY29tL3Byb2plY3RzL2xpYnhtbC8iPldpbmRvd3MgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL29wZW5jc3cub3JnL3BhY2thZ2VzL2xpYnhtbDIiPlNvbGFyaXMgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5leHBsYWluLmNvbS5hdS9vc3MvbGlieG1sMnhzbHQuaHRtbCI+TWFjT3NYIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9seG1sLmRlLyI+bHhtbCBQeXRob24gYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2NwYW4udXdpbm5pcGVnLmNhL2Rpc3QvWE1MLUxpYlhNTCI+UGVybCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1scGx1c3BsdXMuc291cmNlZm9yZ2UubmV0LyI+QysrIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemVuZC5jb20vcGhwNS9hcnRpY2xlcy9waHA1LXhtbHBocC5waHAjSGVhZGluZzQiPlBIUCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2xpYnhtbDItcGFzLyI+UGFzY2FsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWwucnVieWZvcmdlLm9yZy8iPlJ1YnkgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3RjbHhtbC5zb3VyY2Vmb3JnZS5uZXQvIj5UY2wgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9idWdsaXN0LmNnaT9wcm9kdWN0PWxpYnhtbDIiPkJ1ZyBUcmFja2VyPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIzIiBjZWxsc3BhY2luZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PGgyIGFsaWduPSJjZW50ZXIiPjxhIGhyZWY9IkFQSWNodW5rMC5odG1sIj5BLUI8L2E+Cis8YSBocmVmPSJBUEljaHVuazEuaHRtbCI+Qy1DPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyLmh0bWwiPkQtRTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMy5odG1sIj5GLUk8L2E+Cis8YSBocmVmPSJBUEljaHVuazQuaHRtbCI+Si1OPC9hPgorPGEgaHJlZj0iQVBJY2h1bms1Lmh0bWwiPk8tUDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNi5odG1sIj5RLVI8L2E+Cis8YSBocmVmPSJBUEljaHVuazcuaHRtbCI+Uy1TPC9hPgorPGEgaHJlZj0iQVBJY2h1bms4Lmh0bWwiPlQtVTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rOS5odG1sIj5WLVg8L2E+Cis8YSBocmVmPSJBUEljaHVuazEwLmh0bWwiPlktYTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTEuaHRtbCI+Yi1iPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMi5odG1sIj5jLWM8L2E+Cis8YSBocmVmPSJBUEljaHVuazEzLmh0bWwiPmQtZDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTQuaHRtbCI+ZS1lPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNS5odG1sIj5mLWY8L2E+Cis8YSBocmVmPSJBUEljaHVuazE2Lmh0bWwiPmctaDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTcuaHRtbCI+aS1pPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxOC5odG1sIj5qLWw8L2E+Cis8YSBocmVmPSJBUEljaHVuazE5Lmh0bWwiPm0tbTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjAuaHRtbCI+bi1uPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMS5odG1sIj5vLW88L2E+Cis8YSBocmVmPSJBUEljaHVuazIyLmh0bWwiPnAtcDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjMuaHRtbCI+cS1yPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNC5odG1sIj5zLXM8L2E+Cis8YSBocmVmPSJBUEljaHVuazI1Lmh0bWwiPnQtdDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjYuaHRtbCI+dS12PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNy5odG1sIj53LXc8L2E+Cis8YSBocmVmPSJBUEljaHVuazI4Lmh0bWwiPngteDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjkuaHRtbCI+eS16PC9hPgorPC9oMj48aDI+TGV0dGVyIFM6PC9oMj48ZGw+PGR0PlNBWDE8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX1NBWDFfRU5BQkxFRCI+TElCWE1MX1NBWDFfRU5BQkxFRDwvYT48YnIgLz4KKzwvZGQ+PGR0PlNBWDI8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfU0FYMl9NQUdJQyI+WE1MX1NBWDJfTUFHSUM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNlbmRFbGVtZW50TnNTQVgyRnVuYyI+ZW5kRWxlbWVudE5zU0FYMkZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNpbml0ZG9jYkRlZmF1bHRTQVhIYW5kbGVyIj5pbml0ZG9jYkRlZmF1bHRTQVhIYW5kbGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjaW5pdGh0bWxEZWZhdWx0U0FYSGFuZGxlciI+aW5pdGh0bWxEZWZhdWx0U0FYSGFuZGxlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI2luaXR4bWxEZWZhdWx0U0FYSGFuZGxlciI+aW5pdHhtbERlZmF1bHRTQVhIYW5kbGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjc3RhcnRFbGVtZW50TnNTQVgyRnVuYyI+c3RhcnRFbGVtZW50TnNTQVgyRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxEZWZhdWx0U0FYSGFuZGxlckluaXQiPnhtbERlZmF1bHRTQVhIYW5kbGVySW5pdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyRW5kRWxlbWVudE5zIj54bWxTQVgyRW5kRWxlbWVudE5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJJbml0RGVmYXVsdFNBWEhhbmRsZXIiPnhtbFNBWDJJbml0RGVmYXVsdFNBWEhhbmRsZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMkluaXREb2NiRGVmYXVsdFNBWEhhbmRsZXIiPnhtbFNBWDJJbml0RG9jYkRlZmF1bHRTQVhIYW5kbGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJJbml0SHRtbERlZmF1bHRTQVhIYW5kbGVyIj54bWxTQVgySW5pdEh0bWxEZWZhdWx0U0FYSGFuZGxlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyU3RhcnRFbGVtZW50TnMiPnhtbFNBWDJTdGFydEVsZW1lbnROczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZGF0ZVN0cmVhbSI+eG1sU2NoZW1hVmFsaWRhdGVTdHJlYW08L2E+PGJyIC8+Cis8L2RkPjxkdD5TQVg6OnN1YnN0aXR1dGVFbnRpdGllczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHQiPnhtbFN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5TRERlY2w8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZVNERGVjbCI+eG1sUGFyc2VTRERlY2w8L2E+PGJyIC8+Cis8L2RkPjxkdD5TRERlY2w/PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VYTUxEZWNsIj54bWxQYXJzZVhNTERlY2w8L2E+PGJyIC8+Cis8L2RkPjxkdD5TRVE8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjX3htbEVsZW1lbnRDb250ZW50Ij5feG1sRWxlbWVudENvbnRlbnQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5TR01MPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9ET0NCX0VOQUJMRUQiPkxJQlhNTF9ET0NCX0VOQUJMRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1ET0NCcGFyc2VyLmh0bWwjZG9jYkNyZWF0ZUZpbGVQYXJzZXJDdHh0Ij5kb2NiQ3JlYXRlRmlsZVBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1ET0NCcGFyc2VyLmh0bWwjZG9jYkNyZWF0ZVB1c2hQYXJzZXJDdHh0Ij5kb2NiQ3JlYXRlUHVzaFBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1ET0NCcGFyc2VyLmh0bWwjZG9jYkVuY29kZUVudGl0aWVzIj5kb2NiRW5jb2RlRW50aXRpZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1ET0NCcGFyc2VyLmh0bWwjZG9jYkZyZWVQYXJzZXJDdHh0Ij5kb2NiRnJlZVBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1ET0NCcGFyc2VyLmh0bWwjZG9jYlBhcnNlRG9jIj5kb2NiUGFyc2VEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1ET0NCcGFyc2VyLmh0bWwjZG9jYlBhcnNlRG9jdW1lbnQiPmRvY2JQYXJzZURvY3VtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtRE9DQnBhcnNlci5odG1sI2RvY2JQYXJzZUZpbGUiPmRvY2JQYXJzZUZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1ET0NCcGFyc2VyLmh0bWwjZG9jYlNBWFBhcnNlRG9jIj5kb2NiU0FYUGFyc2VEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1ET0NCcGFyc2VyLmh0bWwjZG9jYlNBWFBhcnNlRmlsZSI+ZG9jYlNBWFBhcnNlRmlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nQ29udmVydCI+eG1sQ2F0YWxvZ0NvbnZlcnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ0lzRW1wdHkiPnhtbENhdGFsb2dJc0VtcHR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbENvbnZlcnRTR01MQ2F0YWxvZyI+eG1sQ29udmVydFNHTUxDYXRhbG9nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbExvYWRBQ2F0YWxvZyI+eG1sTG9hZEFDYXRhbG9nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbExvYWRDYXRhbG9nIj54bWxMb2FkQ2F0YWxvZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxMb2FkU0dNTFN1cGVyQ2F0YWxvZyI+eG1sTG9hZFNHTUxTdXBlckNhdGFsb2c8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sTmV3Q2F0YWxvZyI+eG1sTmV3Q2F0YWxvZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQ29tbWVudCI+eG1sUGFyc2VDb21tZW50PC9hPjxiciAvPgorPC9kZD48ZHQ+U0dNTFNPVVJDRTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI2dldFB1YmxpY0lkIj5nZXRQdWJsaWNJZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyR2V0UHVibGljSWQiPnhtbFNBWDJHZXRQdWJsaWNJZDwvYT48YnIgLz4KKzwvZGQ+PGR0PlNJVEU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUFByb3h5Ij54bWxOYW5vRlRQUHJveHk8L2E+PGJyIC8+Cis8L2RkPjxkdD5TVGFnPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxQYXJzZUVsZW1lbnQiPmh0bWxQYXJzZUVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVsZW1lbnQiPnhtbFBhcnNlRWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlU3RhcnRUYWciPnhtbFBhcnNlU3RhcnRUYWc8L2E+PGJyIC8+Cis8L2RkPjxkdD5TWVNURU08L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjX3htbER0ZCI+X3htbER0ZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjX3htbEVudGl0eSI+X3htbEVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI194bWxQYXJzZXJDdHh0Ij5feG1sUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI2V4dGVybmFsU3Vic2V0Ij5leHRlcm5hbFN1YnNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI2V4dGVybmFsU3Vic2V0U0FYRnVuYyI+ZXh0ZXJuYWxTdWJzZXRTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjaW50ZXJuYWxTdWJzZXQiPmludGVybmFsU3Vic2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjaW50ZXJuYWxTdWJzZXRTQVhGdW5jIj5pbnRlcm5hbFN1YnNldFNBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUV4dGVybmFsSUQiPnhtbFBhcnNlRXh0ZXJuYWxJRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlTm90YXRpb25EZWNsIj54bWxQYXJzZU5vdGF0aW9uRGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyRXh0ZXJuYWxTdWJzZXQiPnhtbFNBWDJFeHRlcm5hbFN1YnNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgySW50ZXJuYWxTdWJzZXQiPnhtbFNBWDJJbnRlcm5hbFN1YnNldDwvYT48YnIgLz4KKzwvZGQ+PGR0PlNhbWU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNJU19QVUJJRENIQVJfQ0giPklTX1BVQklEQ0hBUl9DSDwvYT48YnIgLz4KKzwvZGQ+PGR0PlNhdmU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI3htbENvcHlFcnJvciI+eG1sQ29weUVycm9yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2F2ZS5odG1sI3htbFNhdmVEb2MiPnhtbFNhdmVEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzYXZlLmh0bWwjeG1sU2F2ZVRyZWUiPnhtbFNhdmVUcmVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sU2F2ZVVyaSI+eG1sU2F2ZVVyaTwvYT48YnIgLz4KKzwvZGQ+PGR0PlNjYW48L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaENvcHkiPnhtbEhhc2hDb3B5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hTY2FuIj54bWxIYXNoU2NhbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoU2NhbjMiPnhtbEhhc2hTY2FuMzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoU2NhbkZ1bGwiPnhtbEhhc2hTY2FuRnVsbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoU2NhbkZ1bGwzIj54bWxIYXNoU2NhbkZ1bGwzPC9hPjxiciAvPgorPC9kZD48ZHQ+U2NoZW1hPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYUR1bXAiPnhtbFNjaGVtYUR1bXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hRnJlZSI+eG1sU2NoZW1hRnJlZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUZyZWVGYWNldCI+eG1sU2NoZW1hRnJlZUZhY2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYUZyZWVUeXBlIj54bWxTY2hlbWFGcmVlVHlwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUdldEJ1aWx0SW5MaXN0U2ltcGxlVHlwZUl0ZW1UeXBlIj54bWxTY2hlbWFHZXRCdWlsdEluTGlzdFNpbXBsZVR5cGVJdGVtVHlwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUdldENhbm9uVmFsdWUiPnhtbFNjaGVtYUdldENhbm9uVmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hUGFyc2UiPnhtbFNjaGVtYVBhcnNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlIj54bWxUZXh0UmVhZGVyU2NoZW1hVmFsaWRhdGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyU2NoZW1hVmFsaWRhdGVDdHh0Ij54bWxUZXh0UmVhZGVyU2NoZW1hVmFsaWRhdGVDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclNldFNjaGVtYSI+eG1sVGV4dFJlYWRlclNldFNjaGVtYTwvYT48YnIgLz4KKzwvZGQ+PGR0PlNjaGVtYXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX1NDSEVNQVNfRU5BQkxFRCI+TElCWE1MX1NDSEVNQVNfRU5BQkxFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ2V4cENvbXBpbGUiPnhtbFJlZ2V4cENvbXBpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR0NsZWFudXBUeXBlcyI+eG1sUmVsYXhOR0NsZWFudXBUeXBlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUNsZWFudXBUeXBlcyI+eG1sU2NoZW1hQ2xlYW51cFR5cGVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hRnJlZVZhbHVlIj54bWxTY2hlbWFGcmVlVmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFHZXRQcmVkZWZpbmVkVHlwZSI+eG1sU2NoZW1hR2V0UHJlZGVmaW5lZFR5cGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFJbml0VHlwZXMiPnhtbFNjaGVtYUluaXRUeXBlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFOZXdEb2NQYXJzZXJDdHh0Ij54bWxTY2hlbWFOZXdEb2NQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYU5ld01lbVBhcnNlckN0eHQiPnhtbFNjaGVtYU5ld01lbVBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hTmV3UGFyc2VyQ3R4dCI+eG1sU2NoZW1hTmV3UGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFOZXdWYWxpZEN0eHQiPnhtbFNjaGVtYU5ld1ZhbGlkQ3R4dDwvYT48YnIgLz4KKzwvZGQ+PGR0PlNjaGVtYXRyb248L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX1NDSEVNQVRST05fRU5BQkxFRCI+TElCWE1MX1NDSEVNQVRST05fRU5BQkxFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uRnJlZSI+eG1sU2NoZW1hdHJvbkZyZWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvblBhcnNlIj54bWxTY2hlbWF0cm9uUGFyc2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvblNldFZhbGlkU3RydWN0dXJlZEVycm9ycyI+eG1sU2NoZW1hdHJvblNldFZhbGlkU3RydWN0dXJlZEVycm9yczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uVmFsaWRpdHlFcnJvckZ1bmMiPnhtbFNjaGVtYXRyb25WYWxpZGl0eUVycm9yRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uVmFsaWRpdHlXYXJuaW5nRnVuYyI+eG1sU2NoZW1hdHJvblZhbGlkaXR5V2FybmluZ0Z1bmM8L2E+PGJyIC8+Cis8L2RkPjxkdD5TY2hlbWF0cm9uczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uTmV3RG9jUGFyc2VyQ3R4dCI+eG1sU2NoZW1hdHJvbk5ld0RvY1BhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvbk5ld01lbVBhcnNlckN0eHQiPnhtbFNjaGVtYXRyb25OZXdNZW1QYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hdHJvbi5odG1sI3htbFNjaGVtYXRyb25OZXdQYXJzZXJDdHh0Ij54bWxTY2hlbWF0cm9uTmV3UGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uTmV3VmFsaWRDdHh0Ij54bWxTY2hlbWF0cm9uTmV3VmFsaWRDdHh0PC9hPjxiciAvPgorPC9kZD48ZHQ+U2NyaXB0PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxJc1NjcmlwdEF0dHJpYnV0ZSI+aHRtbElzU2NyaXB0QXR0cmlidXRlPC9hPjxiciAvPgorPC9kZD48ZHQ+U2VhcmNoPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxGaW5kQ2hhckVuY29kaW5nSGFuZGxlciI+eG1sRmluZENoYXJFbmNvZGluZ0hhbmRsZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbEdldENoYXJFbmNvZGluZ0hhbmRsZXIiPnhtbEdldENoYXJFbmNvZGluZ0hhbmRsZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEdldER0ZEF0dHJEZXNjIj54bWxHZXREdGRBdHRyRGVzYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sR2V0RHRkRWxlbWVudERlc2MiPnhtbEdldER0ZEVsZW1lbnREZXNjPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxHZXREdGROb3RhdGlvbkRlc2MiPnhtbEdldER0ZE5vdGF0aW9uRGVzYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sR2V0RHRkUUF0dHJEZXNjIj54bWxHZXREdGRRQXR0ckRlc2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEdldER0ZFFFbGVtZW50RGVzYyI+eG1sR2V0RHRkUUVsZW1lbnREZXNjPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxHZXRJRCI+eG1sR2V0SUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sR2V0TGFzdENoaWxkIj54bWxHZXRMYXN0Q2hpbGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sR2V0Tm9Oc1Byb3AiPnhtbEdldE5vTnNQcm9wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEdldE5zTGlzdCI+eG1sR2V0TnNMaXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEdldE5zUHJvcCI+eG1sR2V0TnNQcm9wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEdldFByb3AiPnhtbEdldFByb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sSGFzTnNQcm9wIj54bWxIYXNOc1Byb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sSGFzUHJvcCI+eG1sSGFzUHJvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sSXNNaXhlZEVsZW1lbnQiPnhtbElzTWl4ZWRFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3RSZXZlcnNlU2VhcmNoIj54bWxMaXN0UmV2ZXJzZVNlYXJjaDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0U2VhcmNoIj54bWxMaXN0U2VhcmNoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNlYXJjaE5zIj54bWxTZWFyY2hOczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTZWFyY2hOc0J5SHJlZiI+eG1sU2VhcmNoTnNCeUhyZWY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRnVuY3Rpb25Mb29rdXAiPnhtbFhQYXRoRnVuY3Rpb25Mb29rdXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRnVuY3Rpb25Mb29rdXBOUyI+eG1sWFBhdGhGdW5jdGlvbkxvb2t1cE5TPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5zTG9va3VwIj54bWxYUGF0aE5zTG9va3VwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFZhcmlhYmxlTG9va3VwIj54bWxYUGF0aFZhcmlhYmxlTG9va3VwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFZhcmlhYmxlTG9va3VwTlMiPnhtbFhQYXRoVmFyaWFibGVMb29rdXBOUzwvYT48YnIgLz4KKzwvZGQ+PGR0PlNlYXJjaGVzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVHZXRCYXNlIj54bWxOb2RlR2V0QmFzZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlR2V0TGFuZyI+eG1sTm9kZUdldExhbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUdldFNwYWNlUHJlc2VydmUiPnhtbE5vZGVHZXRTcGFjZVByZXNlcnZlPC9hPjxiciAvPgorPC9kZD48ZHQ+U2Vjb25kPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sQ2hlY2tMYW5ndWFnZUlEIj54bWxDaGVja0xhbmd1YWdlSUQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5TZWN0aW9uPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxHZXRDaGFyRW5jb2RpbmdOYW1lIj54bWxHZXRDaGFyRW5jb2RpbmdOYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sTm9ybWFsaXplVVJJUGF0aCI+eG1sTm9ybWFsaXplVVJJUGF0aDwvYT48YnIgLz4KKzwvZGQ+PGR0PlNlZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbENsZWFudXBQYXJzZXIiPnhtbENsZWFudXBQYXJzZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1saXN0Lmh0bWwjeG1sTGlua0dldERhdGEiPnhtbExpbmtHZXREYXRhPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VOb3RhdGlvbkRlY2wiPnhtbFBhcnNlTm90YXRpb25EZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckJ5dGVDb25zdW1lZCI+eG1sVGV4dFJlYWRlckJ5dGVDb25zdW1lZDwvYT48YnIgLz4KKzwvZGQ+PGR0PlNlbWk8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhQYXJzZXJTZXRGbGFnIj54bWxSZWxheFBhcnNlclNldEZsYWc8L2E+PGJyIC8+Cis8L2RkPjxkdD5TZW5kPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBRdWl0Ij54bWxOYW5vRlRQUXVpdDwvYT48YnIgLz4KKzwvZGQ+PGR0PlNlcmlhbGl6ZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxBdHRyU2VyaWFsaXplVHh0Q29udGVudCI+eG1sQXR0clNlcmlhbGl6ZVR4dENvbnRlbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBEdW1wIj54bWxFeHBEdW1wPC9hPjxiciAvPgorPC9kZD48ZHQ+U2V0czwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwjaHRtbFNldE1ldGFFbmNvZGluZyI+aHRtbFNldE1ldGFFbmNvZGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJTZXRBbGxvY2F0aW9uU2NoZW1lIj54bWxCdWZmZXJTZXRBbGxvY2F0aW9uU2NoZW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVNldFZhbGlkT3B0aW9ucyI+eG1sU2NoZW1hU2V0VmFsaWRPcHRpb25zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aERpZmZlcmVuY2UiPnhtbFhQYXRoRGlmZmVyZW5jZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhEaXN0aW5jdCI+eG1sWFBhdGhEaXN0aW5jdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhEaXN0aW5jdFNvcnRlZCI+eG1sWFBhdGhEaXN0aW5jdFNvcnRlZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhIYXNTYW1lTm9kZXMiPnhtbFhQYXRoSGFzU2FtZU5vZGVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEludGVyc2VjdGlvbiI+eG1sWFBhdGhJbnRlcnNlY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTGVhZGluZyI+eG1sWFBhdGhMZWFkaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aExlYWRpbmdTb3J0ZWQiPnhtbFhQYXRoTGVhZGluZ1NvcnRlZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb2RlTGVhZGluZyI+eG1sWFBhdGhOb2RlTGVhZGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb2RlTGVhZGluZ1NvcnRlZCI+eG1sWFBhdGhOb2RlTGVhZGluZ1NvcnRlZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb2RlVHJhaWxpbmciPnhtbFhQYXRoTm9kZVRyYWlsaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vZGVUcmFpbGluZ1NvcnRlZCI+eG1sWFBhdGhOb2RlVHJhaWxpbmdTb3J0ZWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoU2V0Q29udGV4dE5vZGUiPnhtbFhQYXRoU2V0Q29udGV4dE5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoVHJhaWxpbmciPnhtbFhQYXRoVHJhaWxpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoVHJhaWxpbmdTb3J0ZWQiPnhtbFhQYXRoVHJhaWxpbmdTb3J0ZWQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5TZXR0aW5nPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkYXRlU2V0TG9jYXRvciI+eG1sU2NoZW1hVmFsaWRhdGVTZXRMb2NhdG9yPC9hPjxiciAvPgorPC9kZD48ZHQ+U2V0dXA8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUFByb3h5Ij54bWxOYW5vRlRQUHJveHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxSZWFkZXJOZXdEb2MiPnhtbFJlYWRlck5ld0RvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFJlYWRlck5ld0ZkIj54bWxSZWFkZXJOZXdGZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFJlYWRlck5ld0lPIj54bWxSZWFkZXJOZXdJTzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFJlYWRlck5ld01lbW9yeSI+eG1sUmVhZGVyTmV3TWVtb3J5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sUmVhZGVyTmV3V2Fsa2VyIj54bWxSZWFkZXJOZXdXYWxrZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxTZXR1cFBhcnNlckZvckJ1ZmZlciI+eG1sU2V0dXBQYXJzZXJGb3JCdWZmZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyU2V0dXAiPnhtbFRleHRSZWFkZXJTZXR1cDwvYT48YnIgLz4KKzwvZGQ+PGR0PlNoYXZpYW48L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNTaGF2aWFuIj54bWxVQ1NJc1NoYXZpYW48L2E+PGJyIC8+Cis8L2RkPjxkdD5TaGVsbDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxSZWFkbGluZUZ1bmMiPnhtbFNoZWxsUmVhZGxpbmVGdW5jPC9hPjxiciAvPgorPC9kZD48ZHQ+U2hlbWE8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1BhcnNlIj54bWxSZWxheE5HUGFyc2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hUGFyc2UiPnhtbFNjaGVtYVBhcnNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hdHJvbi5odG1sI3htbFNjaGVtYXRyb25QYXJzZSI+eG1sU2NoZW1hdHJvblBhcnNlPC9hPjxiciAvPgorPC9kZD48ZHQ+U2hvdWxkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjX3htbFBhcnNlckN0eHQiPl94bWxQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sR2NNZW1TZXR1cCI+eG1sR2NNZW1TZXR1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1lbVNldHVwIj54bWxNZW1TZXR1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQU2NhblByb3h5Ij54bWxOYW5vRlRQU2NhblByb3h5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUFNjYW5Qcm94eSI+eG1sTmFub0hUVFBTY2FuUHJveHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJFcXVhbCI+eG1sU3RyRXF1YWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU3RyaW5nR2V0Tm9kZUxpc3QiPnhtbFN0cmluZ0dldE5vZGVMaXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFN0cmluZ0xlbkdldE5vZGVMaXN0Ij54bWxTdHJpbmdMZW5HZXROb2RlTGlzdDwvYT48YnIgLz4KKzwvZGQ+PGR0PlNob3c8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsUHdkIj54bWxTaGVsbFB3ZDwvYT48YnIgLz4KKzwvZGQ+PGR0PlNpZ25hdHVyZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTROSXNWaXNpYmxlQ2FsbGJhY2siPnhtbEMxNE5Jc1Zpc2libGVDYWxsYmFjazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxEZXJlZ2lzdGVyTm9kZUZ1bmMiPnhtbERlcmVnaXN0ZXJOb2RlRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbEZyZWVGdW5jIj54bWxGcmVlRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sR2VuZXJpY0Vycm9yRnVuYyI+eG1sR2VuZXJpY0Vycm9yRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1hbGxvY0Z1bmMiPnhtbE1hbGxvY0Z1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jIj54bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmMiPnhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sUmVhbGxvY0Z1bmMiPnhtbFJlYWxsb2NGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbFJlZ2lzdGVyTm9kZUZ1bmMiPnhtbFJlZ2lzdGVyTm9kZUZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1ZhbGlkaXR5RXJyb3JGdW5jIj54bWxSZWxheE5HVmFsaWRpdHlFcnJvckZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1ZhbGlkaXR5V2FybmluZ0Z1bmMiPnhtbFJlbGF4TkdWYWxpZGl0eVdhcm5pbmdGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkaXR5RXJyb3JGdW5jIj54bWxTY2hlbWFWYWxpZGl0eUVycm9yRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZGl0eVdhcm5pbmdGdW5jIj54bWxTY2hlbWFWYWxpZGl0eVdhcm5pbmdGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hdHJvbi5odG1sI3htbFNjaGVtYXRyb25WYWxpZGl0eUVycm9yRnVuYyI+eG1sU2NoZW1hdHJvblZhbGlkaXR5RXJyb3JGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hdHJvbi5odG1sI3htbFNjaGVtYXRyb25WYWxpZGl0eVdhcm5pbmdGdW5jIj54bWxTY2hlbWF0cm9uVmFsaWRpdHlXYXJuaW5nRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbFN0cmR1cEZ1bmMiPnhtbFN0cmR1cEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI3htbFN0cnVjdHVyZWRFcnJvckZ1bmMiPnhtbFN0cnVjdHVyZWRFcnJvckZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyRXJyb3JGdW5jIj54bWxUZXh0UmVhZGVyRXJyb3JGdW5jPC9hPjxiciAvPgorPC9kZD48ZHQ+U2ltaWxhcmx5PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbnRpdHlSZWYiPnhtbFBhcnNlRW50aXR5UmVmPC9hPjxiciAvPgorPC9kZD48ZHQ+U2ltcGx5PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sQ3JlYXRlVVJJIj54bWxDcmVhdGVVUkk8L2E+PGJyIC8+Cis8L2RkPjxkdD5TaW5jZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlRHVtcCI+eG1sTm9kZUR1bXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJjYXQiPnhtbFN0cmNhdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFN0cmR1cCI+eG1sU3RyZHVwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlck5vcm1hbGl6YXRpb24iPnhtbFRleHRSZWFkZXJOb3JtYWxpemF0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+U2luZ2xlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sQ2hlY2tMYW5ndWFnZUlEIj54bWxDaGVja0xhbmd1YWdlSUQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5TaW5oYWxhPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzU2luaGFsYSI+eG1sVUNTSXNTaW5oYWxhPC9hPjxiciAvPgorPC9kZD48ZHQ+U2tpcDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19BTllBVFRSX1NLSVAiPlhNTF9TQ0hFTUFTX0FOWUFUVFJfU0tJUDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19BTllfU0tJUCI+WE1MX1NDSEVNQVNfQU5ZX1NLSVA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxOZXh0Q2hhciI+eG1sTmV4dENoYXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUNvbW1lbnQiPnhtbFBhcnNlQ29tbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJOZXh0Ij54bWxUZXh0UmVhZGVyTmV4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJOZXh0U2libGluZyI+eG1sVGV4dFJlYWRlck5leHRTaWJsaW5nPC9hPjxiciAvPgorPC9kZD48ZHQ+U2tpcHM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNNT1ZFVE9fRU5EVEFHIj5NT1ZFVE9fRU5EVEFHPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjTU9WRVRPX1NUQVJUVEFHIj5NT1ZFVE9fU1RBUlRUQUc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNTS0lQX0VPTCI+U0tJUF9FT0w8L2E+PGJyIC8+Cis8L2RkPjxkdD5TbWFsbEZvcm1WYXJpYW50czwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc1NtYWxsRm9ybVZhcmlhbnRzIj54bWxVQ1NJc1NtYWxsRm9ybVZhcmlhbnRzPC9hPjxiciAvPgorPC9kZD48ZHQ+U29tZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNfaHRtbEVsZW1EZXNjIj5faHRtbEVsZW1EZXNjPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sQnVpbGRSZWxhdGl2ZVVSSSI+eG1sQnVpbGRSZWxhdGl2ZVVSSTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUdldENhbm9uVmFsdWUiPnhtbFNjaGVtYUdldENhbm9uVmFsdWU8L2E+PGJyIC8+Cis8L2RkPjxkdD5Tb3J0PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3RTb3J0Ij54bWxMaXN0U29ydDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb2RlU2V0U29ydCI+eG1sWFBhdGhOb2RlU2V0U29ydDwvYT48YnIgLz4KKzwvZGQ+PGR0PlNwYWNpbmdNb2RpZmllckxldHRlcnM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNTcGFjaW5nTW9kaWZpZXJMZXR0ZXJzIj54bWxVQ1NJc1NwYWNpbmdNb2RpZmllckxldHRlcnM8L2E+PGJyIC8+Cis8L2RkPjxkdD5TcGVjPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VTdGFydFRhZyI+eG1sUGFyc2VTdGFydFRhZzwvYT48YnIgLz4KKzwvZGQ+PGR0PlNwZWNpYWw8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI1hNTF9DVFhUX0ZJTklTSF9EVERfMCI+WE1MX0NUWFRfRklOSVNIX0RURF8wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCNYTUxfQ1RYVF9GSU5JU0hfRFREXzEiPlhNTF9DVFhUX0ZJTklTSF9EVERfMTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9TQVgyX01BR0lDIj5YTUxfU0FYMl9NQUdJQzwvYT48YnIgLz4KKzwvZGQ+PGR0PlNwZWNpYWxzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzU3BlY2lhbHMiPnhtbFVDU0lzU3BlY2lhbHM8L2E+PGJyIC8+Cis8L2RkPjxkdD5TcGVlZDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI194bWxQYXJzZXJDdHh0Ij5feG1sUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzwvZGQ+PGR0PlN0YW5kYWxvbmU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZVNERGVjbCI+eG1sUGFyc2VTRERlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkQ3R4dE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlIj54bWxWYWxpZEN0eHROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZTwvYT48YnIgLz4KKzwvZGQ+PGR0PlN0YXJ0PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBPcGVuIj54bWxOYW5vRlRQT3BlbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJTdGFydEF0dHJpYnV0ZSI+eG1sVGV4dFdyaXRlclN0YXJ0QXR0cmlidXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclN0YXJ0QXR0cmlidXRlTlMiPnhtbFRleHRXcml0ZXJTdGFydEF0dHJpYnV0ZU5TPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclN0YXJ0Q0RBVEEiPnhtbFRleHRXcml0ZXJTdGFydENEQVRBPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclN0YXJ0Q29tbWVudCI+eG1sVGV4dFdyaXRlclN0YXJ0Q29tbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJTdGFydERURCI+eG1sVGV4dFdyaXRlclN0YXJ0RFREPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclN0YXJ0RFREQXR0bGlzdCI+eG1sVGV4dFdyaXRlclN0YXJ0RFREQXR0bGlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJTdGFydERUREVsZW1lbnQiPnhtbFRleHRXcml0ZXJTdGFydERUREVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyU3RhcnREVERFbnRpdHkiPnhtbFRleHRXcml0ZXJTdGFydERUREVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJTdGFydERvY3VtZW50Ij54bWxUZXh0V3JpdGVyU3RhcnREb2N1bWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJTdGFydEVsZW1lbnQiPnhtbFRleHRXcml0ZXJTdGFydEVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyU3RhcnRFbGVtZW50TlMiPnhtbFRleHRXcml0ZXJTdGFydEVsZW1lbnROUzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJTdGFydFBJIj54bWxUZXh0V3JpdGVyU3RhcnRQSTwvYT48YnIgLz4KKzwvZGQ+PGR0PlN0cmluZ1R5cGU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUF0dHJpYnV0ZVR5cGUiPnhtbFBhcnNlQXR0cmlidXRlVHlwZTwvYT48YnIgLz4KKzwvZGQ+PGR0PlN0cmluZ3M8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU3RyaW5nTGVuZ3RoRnVuY3Rpb24iPnhtbFhQYXRoU3RyaW5nTGVuZ3RoRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU3Vic3RyaW5nRnVuY3Rpb24iPnhtbFhQYXRoU3Vic3RyaW5nRnVuY3Rpb248L2E+PGJyIC8+Cis8L2RkPjxkdD5TdWJjb2RlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sQ2hlY2tMYW5ndWFnZUlEIj54bWxDaGVja0xhbmd1YWdlSUQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5TdWJzZXQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZU1hcmt1cERlY2wiPnhtbFBhcnNlTWFya3VwRGVjbDwvYT48YnIgLz4KKzwvZGQ+PGR0PlN1cGVyPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbExvYWRTR01MU3VwZXJDYXRhbG9nIj54bWxMb2FkU0dNTFN1cGVyQ2F0YWxvZzwvYT48YnIgLz4KKzwvZGQ+PGR0PlN1cGVyc2NyaXB0c2FuZFN1YnNjcmlwdHM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNTdXBlcnNjcmlwdHNhbmRTdWJzY3JpcHRzIj54bWxVQ1NJc1N1cGVyc2NyaXB0c2FuZFN1YnNjcmlwdHM8L2E+PGJyIC8+Cis8L2RkPjxkdD5TdXBwbGVtZW50YWxBcnJvd3MtQTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc1N1cHBsZW1lbnRhbEFycm93c0EiPnhtbFVDU0lzU3VwcGxlbWVudGFsQXJyb3dzQTwvYT48YnIgLz4KKzwvZGQ+PGR0PlN1cHBsZW1lbnRhbEFycm93cy1CPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzU3VwcGxlbWVudGFsQXJyb3dzQiI+eG1sVUNTSXNTdXBwbGVtZW50YWxBcnJvd3NCPC9hPjxiciAvPgorPC9kZD48ZHQ+U3VwcGxlbWVudGFsTWF0aGVtYXRpY2FsT3BlcmF0b3JzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzU3VwcGxlbWVudGFsTWF0aGVtYXRpY2FsT3BlcmF0b3JzIj54bWxVQ1NJc1N1cHBsZW1lbnRhbE1hdGhlbWF0aWNhbE9wZXJhdG9yczwvYT48YnIgLz4KKzwvZGQ+PGR0PlN1cHBsZW1lbnRhcnlQcml2YXRlVXNlQXJlYS1BPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzU3VwcGxlbWVudGFyeVByaXZhdGVVc2VBcmVhQSI+eG1sVUNTSXNTdXBwbGVtZW50YXJ5UHJpdmF0ZVVzZUFyZWFBPC9hPjxiciAvPgorPC9kZD48ZHQ+U3VwcGxlbWVudGFyeVByaXZhdGVVc2VBcmVhLUI8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNTdXBwbGVtZW50YXJ5UHJpdmF0ZVVzZUFyZWFCIj54bWxVQ1NJc1N1cHBsZW1lbnRhcnlQcml2YXRlVXNlQXJlYUI8L2E+PGJyIC8+Cis8L2RkPjxkdD5TeXJpYWM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNTeXJpYWMiPnhtbFVDU0lzU3lyaWFjPC9hPjxiciAvPgorPC9kZD48ZHQ+U3lzdGVtPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI194bWxOb3RhdGlvbiI+X3htbE5vdGF0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sRXh0ZXJuYWxFbnRpdHlMb2FkZXIiPnhtbEV4dGVybmFsRW50aXR5TG9hZGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxOb05ldEV4dGVybmFsRW50aXR5TG9hZGVyIj54bWxOb05ldEV4dGVybmFsRW50aXR5TG9hZGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VDdHh0RXh0ZXJuYWxFbnRpdHkiPnhtbFBhcnNlQ3R4dEV4dGVybmFsRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VFeHRlcm5hbEVudGl0eSI+eG1sUGFyc2VFeHRlcm5hbEVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJOb2RlVHlwZSI+eG1sVGV4dFJlYWRlck5vZGVUeXBlPC9hPjxiciAvPgorPC9kZD48ZHQ+U3lzdGVtTGl0ZXJhbDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbE5hbWVzcGFjZVBhcnNlTlNEZWYiPnhtbE5hbWVzcGFjZVBhcnNlTlNEZWY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUV4dGVybmFsSUQiPnhtbFBhcnNlRXh0ZXJuYWxJRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlTm90YXRpb25EZWNsIj54bWxQYXJzZU5vdGF0aW9uRGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlU3lzdGVtTGl0ZXJhbCI+eG1sUGFyc2VTeXN0ZW1MaXRlcmFsPC9hPjxiciAvPgorPC9kZD48L2RsPjxoMiBhbGlnbj0iY2VudGVyIj48YSBocmVmPSJBUEljaHVuazAuaHRtbCI+QS1CPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxLmh0bWwiPkMtQzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMi5odG1sIj5ELUU8L2E+Cis8YSBocmVmPSJBUEljaHVuazMuaHRtbCI+Ri1JPC9hPgorPGEgaHJlZj0iQVBJY2h1bms0Lmh0bWwiPkotTjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNS5odG1sIj5PLVA8L2E+Cis8YSBocmVmPSJBUEljaHVuazYuaHRtbCI+US1SPC9hPgorPGEgaHJlZj0iQVBJY2h1bms3Lmh0bWwiPlMtUzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rOC5odG1sIj5ULVU8L2E+Cis8YSBocmVmPSJBUEljaHVuazkuaHRtbCI+Vi1YPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMC5odG1sIj5ZLWE8L2E+Cis8YSBocmVmPSJBUEljaHVuazExLmh0bWwiPmItYjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTIuaHRtbCI+Yy1jPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMy5odG1sIj5kLWQ8L2E+Cis8YSBocmVmPSJBUEljaHVuazE0Lmh0bWwiPmUtZTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTUuaHRtbCI+Zi1mPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNi5odG1sIj5nLWg8L2E+Cis8YSBocmVmPSJBUEljaHVuazE3Lmh0bWwiPmktaTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTguaHRtbCI+ai1sPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxOS5odG1sIj5tLW08L2E+Cis8YSBocmVmPSJBUEljaHVuazIwLmh0bWwiPm4tbjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjEuaHRtbCI+by1vPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMi5odG1sIj5wLXA8L2E+Cis8YSBocmVmPSJBUEljaHVuazIzLmh0bWwiPnEtcjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjQuaHRtbCI+cy1zPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNS5odG1sIj50LXQ8L2E+Cis8YSBocmVmPSJBUEljaHVuazI2Lmh0bWwiPnUtdjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjcuaHRtbCI+dy13PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyOC5odG1sIj54LXg8L2E+Cis8YSBocmVmPSJBUEljaHVuazI5Lmh0bWwiPnktejwvYT4KKzwvaDI+PHA+PGEgaHJlZj0iYnVncy5odG1sIj5EYW5pZWwgVmVpbGxhcmQ8L2E+PC9wPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9BUEljaHVuazguaHRtbCBiL2xpYnhtbDIvZG9jL0FQSWNodW5rOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkzNGUzOWQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9BUEljaHVuazguaHRtbApAQCAtMCwwICsxLDMwNyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIj4KKzxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj48aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz48bGluayByZWw9IlNIT1JUQ1VUIElDT04iIGhyZWY9Ii9mYXZpY29uLmljbyIgLz48c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorVEQge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0JPRFkge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYTsgbWFyZ2luLXRvcDogMmVtOyBtYXJnaW4tbGVmdDogMGVtOyBtYXJnaW4tcmlnaHQ6IDBlbX0KK0gxIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMiB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDMge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0E6bGluaywgQTp2aXNpdGVkLCBBOmFjdGl2ZSB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIH0KKzwvc3R5bGU+PHRpdGxlPkFQSSBBbHBoYWJldGljIEluZGV4IFQtVSBmb3IgbGlieG1sMjwvdGl0bGU+PC9oZWFkPjxib2R5IGJnY29sb3I9IiM4Yjc3NjUiIHRleHQ9IiMwMDAwMDAiIGxpbms9IiNhMDYwNjAiIHZsaW5rPSIjMDAwMDAwIj48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iMTAwJSIgY2VsbHBhZGRpbmc9IjUiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIHdpZHRoPSIxMjAiPjxhIGhyZWY9Imh0dHA6Ly9zd3BhdC5mZmlpLm9yZy8iPjxpbWcgc3JjPSJlcGF0ZW50cy5wbmciIGFsdD0iQWN0aW9uIGFnYWluc3Qgc29mdHdhcmUgcGF0ZW50cyIgLz48L2E+PC90ZD48dGQgd2lkdGg9IjE4MCI+PGEgaHJlZj0iaHR0cDovL3d3dy5nbm9tZS5vcmcvIj48aW1nIHNyYz0iZ25vbWUyLnBuZyIgYWx0PSJHbm9tZTIgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvU3RhdHVzIj48aW1nIHNyYz0idzNjLnBuZyIgYWx0PSJXM0MgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy5yZWRoYXQuY29tLyI+PGltZyBzcmM9InJlZGhhdC5naWYiIGFsdD0iUmVkIEhhdCBMb2dvIiAvPjwvYT48ZGl2IGFsaWduPSJsZWZ0Ij48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvIj48aW1nIHNyYz0iTGlieG1sMi1Mb2dvLTE4MHgxNjguZ2lmIiBhbHQ9Ik1hZGUgd2l0aCBMaWJ4bWwyIExvZ28iIC8+PC9hPjwvZGl2PjwvdGQ+PHRkPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSI5MCUiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIiBiZ2NvbG9yPSIjZmZmYWNkIj48dHI+PHRkIGFsaWduPSJjZW50ZXIiPjxoMT5UaGUgWE1MIEMgcGFyc2VyIGFuZCB0b29sa2l0IG9mIEdub21lPC9oMT48aDI+QVBJIEFscGhhYmV0aWMgSW5kZXggVC1VIGZvciBsaWJ4bWwyPC9oMj48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iNCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiIgd2lkdGg9IjEwMCUiPjx0cj48dGQgdmFsaWduPSJ0b3AiIHdpZHRoPSIyMDAiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPkRldmVsb3BlciBNZW51PC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjxmb3JtIGFjdGlvbj0ic2VhcmNoLnBocCIgZW5jdHlwZT0iYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIiBtZXRob2Q9ImdldCI+PGlucHV0IG5hbWU9InF1ZXJ5IiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IiIgLz48aW5wdXQgbmFtZT0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJTZWFyY2ggLi4uIiAvPjwvZm9ybT48dWw+PGxpPjxhIGhyZWY9ImluZGV4Lmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5NYWluIE1lbnU8L2E+PC9saT48bGk+PGEgaHJlZj0iaHRtbC9pbmRleC5odG1sIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+UmVmZXJlbmNlIE1hbnVhbDwvYT48L2xpPjxsaT48YSBocmVmPSJleGFtcGxlcy9pbmRleC5odG1sIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+Q29kZSBFeGFtcGxlczwvYT48L2xpPjxsaT48YSBocmVmPSJndWlkZWxpbmVzLmh0bWwiPlhNTCBHdWlkZWxpbmVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9InR1dG9yaWFsL2luZGV4Lmh0bWwiPlR1dG9yaWFsPC9hPjwvbGk+PGxpPjxhIGhyZWY9InhtbHJlYWRlci5odG1sIj5UaGUgUmVhZGVyIEludGVyZmFjZTwvYT48L2xpPjxsaT48YSBocmVmPSJDaGFuZ2VMb2cuaHRtbCI+Q2hhbmdlTG9nPC9hPjwvbGk+PGxpPjxhIGhyZWY9IlhTTFQuaHRtbCI+WFNMVDwvYT48L2xpPjxsaT48YSBocmVmPSJweXRob24uaHRtbCI+UHl0aG9uIGFuZCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJhcmNoaXRlY3R1cmUuaHRtbCI+bGlieG1sMiBhcmNoaXRlY3R1cmU8L2E+PC9saT48bGk+PGEgaHJlZj0idHJlZS5odG1sIj5UaGUgdHJlZSBvdXRwdXQ8L2E+PC9saT48bGk+PGEgaHJlZj0iaW50ZXJmYWNlLmh0bWwiPlRoZSBTQVggaW50ZXJmYWNlPC9hPjwvbGk+PGxpPjxhIGhyZWY9InhtbG1lbS5odG1sIj5NZW1vcnkgTWFuYWdlbWVudDwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWxpby5odG1sIj5JL08gSW50ZXJmYWNlczwvYT48L2xpPjxsaT48YSBocmVmPSJsaWJyYXJ5Lmh0bWwiPlRoZSBwYXJzZXIgaW50ZXJmYWNlczwvYT48L2xpPjxsaT48YSBocmVmPSJlbnRpdGllcy5odG1sIj5FbnRpdGllcyBvciBubyBlbnRpdGllczwvYT48L2xpPjxsaT48YSBocmVmPSJuYW1lc3BhY2VzLmh0bWwiPk5hbWVzcGFjZXM8L2E+PC9saT48bGk+PGEgaHJlZj0idXBncmFkZS5odG1sIj5VcGdyYWRpbmcgMS54IGNvZGU8L2E+PC9saT48bGk+PGEgaHJlZj0idGhyZWFkcy5odG1sIj5UaHJlYWQgc2FmZXR5PC9hPjwvbGk+PGxpPjxhIGhyZWY9IkRPTS5odG1sIj5ET00gUHJpbmNpcGxlczwvYT48L2xpPjxsaT48YSBocmVmPSJleGFtcGxlLmh0bWwiPkEgcmVhbCBleGFtcGxlPC9hPjwvbGk+PGxpPjxhIGhyZWY9InhtbC5odG1sIj5mbGF0IHBhZ2U8L2E+LCA8YSBocmVmPSJzaXRlLnhzbCI+c3R5bGVzaGVldDwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPkFQSSBJbmRleGVzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iQVBJY2h1bmswLmh0bWwiPkFscGhhYmV0aWM8L2E+PC9saT48bGk+PGEgaHJlZj0iQVBJY29uc3RydWN0b3JzLmh0bWwiPkNvbnN0cnVjdG9yczwvYT48L2xpPjxsaT48YSBocmVmPSJBUElmdW5jdGlvbnMuaHRtbCI+RnVuY3Rpb25zL1R5cGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkFQSWZpbGVzLmh0bWwiPk1vZHVsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iQVBJc3ltYm9scy5odG1sIj5TeW1ib2xzPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+UmVsYXRlZCBsaW5rczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9Imh0dHA6Ly9tYWlsLmdub21lLm9yZy9hcmNoaXZlcy94bWwvIj5NYWlsIGFyY2hpdmU8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnL1hTTFQvIj5YU0xUIGxpYnhzbHQ8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3BoZC5jcy51bmliby5pdC9nZG9tZTIvIj5ET00gZ2RvbWUyPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuYWxla3NleS5jb20veG1sc2VjLyI+WE1MLURTaWcgeG1sc2VjPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImZ0cDovL3htbHNvZnQub3JnLyI+RlRQPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemxhdGtvdmljLmNvbS9wcm9qZWN0cy9saWJ4bWwvIj5XaW5kb3dzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9vcGVuY3N3Lm9yZy9wYWNrYWdlcy9saWJ4bWwyIj5Tb2xhcmlzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuZXhwbGFpbi5jb20uYXUvb3NzL2xpYnhtbDJ4c2x0Lmh0bWwiPk1hY09zWCBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbHhtbC5kZS8iPmx4bWwgUHl0aG9uIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9jcGFuLnV3aW5uaXBlZy5jYS9kaXN0L1hNTC1MaWJYTUwiPlBlcmwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbHBsdXNwbHVzLnNvdXJjZWZvcmdlLm5ldC8iPkMrKyBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnplbmQuY29tL3BocDUvYXJ0aWNsZXMvcGhwNS14bWxwaHAucGhwI0hlYWRpbmc0Ij5QSFAgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9saWJ4bWwyLXBhcy8iPlBhc2NhbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1sLnJ1Ynlmb3JnZS5vcmcvIj5SdWJ5IGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly90Y2x4bWwuc291cmNlZm9yZ2UubmV0LyI+VGNsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvYnVnbGlzdC5jZ2k/cHJvZHVjdD1saWJ4bWwyIj5CdWcgVHJhY2tlcjwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMyIgY2VsbHNwYWNpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjxoMiBhbGlnbj0iY2VudGVyIj48YSBocmVmPSJBUEljaHVuazAuaHRtbCI+QS1CPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxLmh0bWwiPkMtQzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMi5odG1sIj5ELUU8L2E+Cis8YSBocmVmPSJBUEljaHVuazMuaHRtbCI+Ri1JPC9hPgorPGEgaHJlZj0iQVBJY2h1bms0Lmh0bWwiPkotTjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNS5odG1sIj5PLVA8L2E+Cis8YSBocmVmPSJBUEljaHVuazYuaHRtbCI+US1SPC9hPgorPGEgaHJlZj0iQVBJY2h1bms3Lmh0bWwiPlMtUzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rOC5odG1sIj5ULVU8L2E+Cis8YSBocmVmPSJBUEljaHVuazkuaHRtbCI+Vi1YPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMC5odG1sIj5ZLWE8L2E+Cis8YSBocmVmPSJBUEljaHVuazExLmh0bWwiPmItYjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTIuaHRtbCI+Yy1jPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMy5odG1sIj5kLWQ8L2E+Cis8YSBocmVmPSJBUEljaHVuazE0Lmh0bWwiPmUtZTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTUuaHRtbCI+Zi1mPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNi5odG1sIj5nLWg8L2E+Cis8YSBocmVmPSJBUEljaHVuazE3Lmh0bWwiPmktaTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTguaHRtbCI+ai1sPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxOS5odG1sIj5tLW08L2E+Cis8YSBocmVmPSJBUEljaHVuazIwLmh0bWwiPm4tbjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjEuaHRtbCI+by1vPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMi5odG1sIj5wLXA8L2E+Cis8YSBocmVmPSJBUEljaHVuazIzLmh0bWwiPnEtcjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjQuaHRtbCI+cy1zPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNS5odG1sIj50LXQ8L2E+Cis8YSBocmVmPSJBUEljaHVuazI2Lmh0bWwiPnUtdjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjcuaHRtbCI+dy13PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyOC5odG1sIj54LXg8L2E+Cis8YSBocmVmPSJBUEljaHVuazI5Lmh0bWwiPnktejwvYT4KKzwvaDI+PGgyPkxldHRlciBUOjwvaDI+PGRsPjxkdD5URVhUPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEFkZENoaWxkIj54bWxBZGRDaGlsZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxBZGRDaGlsZExpc3QiPnhtbEFkZENoaWxkTGlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxBZGRQcmV2U2libGluZyI+eG1sQWRkUHJldlNpYmxpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQWRkU2libGluZyI+eG1sQWRkU2libGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZHZXROb2RlQ29udGVudCI+eG1sQnVmR2V0Tm9kZUNvbnRlbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3VGV4dENoaWxkIj54bWxOZXdUZXh0Q2hpbGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUJ1ZkdldENvbnRlbnQiPnhtbE5vZGVCdWZHZXRDb250ZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVHZXRDb250ZW50Ij54bWxOb2RlR2V0Q29udGVudDwvYT48YnIgLz4KKzwvZGQ+PGR0PlRFWFRzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld0NoaWxkIj54bWxOZXdDaGlsZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlTGlzdEdldFJhd1N0cmluZyI+eG1sTm9kZUxpc3RHZXRSYXdTdHJpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUxpc3RHZXRTdHJpbmciPnhtbE5vZGVMaXN0R2V0U3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFN0cmluZ0dldE5vZGVMaXN0Ij54bWxTdHJpbmdHZXROb2RlTGlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTdHJpbmdMZW5HZXROb2RlTGlzdCI+eG1sU3RyaW5nTGVuR2V0Tm9kZUxpc3Q8L2E+PGJyIC8+Cis8L2RkPjxkdD5UT0RPPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbGVtZW50Q2hpbGRyZW5Db250ZW50RGVjbCI+eG1sUGFyc2VFbGVtZW50Q2hpbGRyZW5Db250ZW50RGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlU0REZWNsIj54bWxQYXJzZVNERGVjbDwvYT48YnIgLz4KKzwvZGQ+PGR0PlRPRE86PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfVkFSSUVUWV9BQlNFTlQiPlhNTF9TQ0hFTUFTX1RZUEVfVkFSSUVUWV9BQlNFTlQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEVudGl0eUxvb2t1cCI+aHRtbEVudGl0eUxvb2t1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sRW50aXR5VmFsdWVMb29rdXAiPmh0bWxFbnRpdHlWYWx1ZUxvb2t1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwjaHRtbE5vZGVEdW1wRmlsZUZvcm1hdCI+aHRtbE5vZGVEdW1wRmlsZUZvcm1hdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwQ2xvbmVOb2RlIj54bWxET01XcmFwQ2xvbmVOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sRGVjb2RlRW50aXRpZXMiPnhtbERlY29kZUVudGl0aWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxFbmNvZGVFbnRpdGllcyI+eG1sRW5jb2RlRW50aXRpZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtb2R1bGUuaHRtbCN4bWxNb2R1bGVPcGVuIj54bWxNb2R1bGVPcGVuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sTmFtZXNwYWNlUGFyc2VOQ05hbWUiPnhtbE5hbWVzcGFjZVBhcnNlTkNOYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sTmFtZXNwYWNlUGFyc2VOU0RlZiI+eG1sTmFtZXNwYWNlUGFyc2VOU0RlZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbE5hbWVzcGFjZVBhcnNlUU5hbWUiPnhtbE5hbWVzcGFjZVBhcnNlUU5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxOZXdUZXh0V3JpdGVyTWVtb3J5Ij54bWxOZXdUZXh0V3JpdGVyTWVtb3J5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sTmV3VGV4dFdyaXRlclB1c2hQYXJzZXIiPnhtbE5ld1RleHRXcml0ZXJQdXNoUGFyc2VyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZSI+eG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZU5hbWVzcGFjZSI+eG1sUGFyc2VOYW1lc3BhY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZVF1b3RlZFN0cmluZyI+eG1sUGFyc2VRdW90ZWRTdHJpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZXJIYW5kbGVSZWZlcmVuY2UiPnhtbFBhcnNlckhhbmRsZVJlZmVyZW5jZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJHcm93Ij54bWxQYXJzZXJJbnB1dEJ1ZmZlckdyb3c8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzYXZlLmh0bWwjeG1sU2F2ZURvYyI+eG1sU2F2ZURvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNhdmUuaHRtbCN4bWxTYXZlVHJlZSI+eG1sU2F2ZVRyZWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxTY2FuTmFtZSI+eG1sU2Nhbk5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFHZXRDYW5vblZhbHVlIj54bWxTY2hlbWFHZXRDYW5vblZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlUmF3TGVuIj54bWxUZXh0V3JpdGVyV3JpdGVSYXdMZW48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV4dEF0dHJpYnV0ZSI+eG1sWFBhdGhOZXh0QXR0cmlidXRlPC9hPjxiciAvPgorPC9kZD48ZHQ+VFJVRTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJTdGFydERUREVudGl0eSI+eG1sVGV4dFdyaXRlclN0YXJ0RFRERW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRFRERW50aXR5Ij54bWxUZXh0V3JpdGVyV3JpdGVEVERFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVEVERFeHRlcm5hbEVudGl0eSI+eG1sVGV4dFdyaXRlcldyaXRlRFRERXh0ZXJuYWxFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVEVERJbnRlcm5hbEVudGl0eSI+eG1sVGV4dFdyaXRlcldyaXRlRFRESW50ZXJuYWxFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVERJbnRlcm5hbEVudGl0eSI+eG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFRESW50ZXJuYWxFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFRESW50ZXJuYWxFbnRpdHkiPnhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVERJbnRlcm5hbEVudGl0eTwvYT48YnIgLz4KKzwvZGQ+PGR0PlRhZ2Fsb2c8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNUYWdhbG9nIj54bWxVQ1NJc1RhZ2Fsb2c8L2E+PGJyIC8+Cis8L2RkPjxkdD5UYWdiYW53YTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc1RhZ2JhbndhIj54bWxVQ1NJc1RhZ2JhbndhPC9hPjxiciAvPgorPC9kZD48ZHQ+VGFnczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc1RhZ3MiPnhtbFVDU0lzVGFnczwvYT48YnIgLz4KKzwvZGQ+PGR0PlRhaUxlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzVGFpTGUiPnhtbFVDU0lzVGFpTGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5UYWlYdWFuSmluZ1N5bWJvbHM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNUYWlYdWFuSmluZ1N5bWJvbHMiPnhtbFVDU0lzVGFpWHVhbkppbmdTeW1ib2xzPC9hPjxiciAvPgorPC9kZD48ZHQ+VGFrZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNVVEY4VG9IdG1sIj5VVEY4VG9IdG1sPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCNVVEY4VG9pc29sYXQxIj5VVEY4VG9pc29sYXQxPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtRE9DQnBhcnNlci5odG1sI2RvY2JFbmNvZGVFbnRpdGllcyI+ZG9jYkVuY29kZUVudGl0aWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxFbmNvZGVFbnRpdGllcyI+aHRtbEVuY29kZUVudGl0aWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCNpc29sYXQxVG9VVEY4Ij5pc29sYXQxVG9VVEY4PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmdJbnB1dEZ1bmMiPnhtbENoYXJFbmNvZGluZ0lucHV0RnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYyI+eG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYzwvYT48YnIgLz4KKzwvZGQ+PGR0PlRha2VzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sU3RyaW5nRGVjb2RlRW50aXRpZXMiPnhtbFN0cmluZ0RlY29kZUVudGl0aWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sU3RyaW5nTGVuRGVjb2RlRW50aXRpZXMiPnhtbFN0cmluZ0xlbkRlY29kZUVudGl0aWVzPC9hPjxiciAvPgorPC9kZD48ZHQ+VGFtaWw8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNUYW1pbCI+eG1sVUNTSXNUYW1pbDwvYT48YnIgLz4KKzwvZGQ+PGR0PlRlbHVndTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc1RlbHVndSI+eG1sVUNTSXNUZWx1Z3U8L2E+PGJyIC8+Cis8L2RkPjxkdD5UZXN0PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbFBhdHRlcm5NYXRjaCI+eG1sUGF0dGVybk1hdGNoPC9hPjxiciAvPgorPC9kZD48ZHQ+VGV4dDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlSXNUZXh0Ij54bWxOb2RlSXNUZXh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclJlYWRBdHRyaWJ1dGVWYWx1ZSI+eG1sVGV4dFJlYWRlclJlYWRBdHRyaWJ1dGVWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJSZWFkU3RyaW5nIj54bWxUZXh0UmVhZGVyUmVhZFN0cmluZzwvYT48YnIgLz4KKzwvZGQ+PGR0PlRleHREZWNsPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VUZXh0RGVjbCI+eG1sUGFyc2VUZXh0RGVjbDwvYT48YnIgLz4KKzwvZGQ+PGR0PlRleHREZWNsPzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlQ3R4dEV4dGVybmFsRW50aXR5Ij54bWxQYXJzZUN0eHRFeHRlcm5hbEVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlRW50aXR5Ij54bWxQYXJzZUVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlRXh0UGFyc2VkRW50Ij54bWxQYXJzZUV4dFBhcnNlZEVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlRXh0ZXJuYWxFbnRpdHkiPnhtbFBhcnNlRXh0ZXJuYWxFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxTQVhQYXJzZUVudGl0eSI+eG1sU0FYUGFyc2VFbnRpdHk8L2E+PGJyIC8+Cis8L2RkPjxkdD5UaGFhbmE8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNUaGFhbmEiPnhtbFVDU0lzVGhhYW5hPC9hPjxiciAvPgorPC9kZD48ZHQ+VGhhaTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc1RoYWkiPnhtbFVDU0lzVGhhaTwvYT48YnIgLz4KKzwvZGQ+PGR0PlRoYXQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhTmV3QWxsVHJhbnMiPnhtbEF1dG9tYXRhTmV3QWxsVHJhbnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVsZW1lbnRDaGlsZHJlbkNvbnRlbnREZWNsIj54bWxQYXJzZUVsZW1lbnRDaGlsZHJlbkNvbnRlbnREZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VNYXJrdXBEZWNsIj54bWxQYXJzZU1hcmt1cERlY2w8L2E+PGJyIC8+Cis8L2RkPjxkdD5UaGVuPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZU9uZUVsZW1lbnQiPnhtbFZhbGlkYXRlT25lRWxlbWVudDwvYT48YnIgLz4KKzwvZGQ+PGR0PlRoZXJlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwUGFyc2UiPnhtbEV4cFBhcnNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHRTZXRDYWNoZSI+eG1sWFBhdGhDb250ZXh0U2V0Q2FjaGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5UaG9zZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI194bWxQYXJzZXJDdHh0Ij5feG1sUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzwvZGQ+PGR0PlRodXM6PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFN1YnN0cmluZ0Z1bmN0aW9uIj54bWxYUGF0aFN1YnN0cmluZ0Z1bmN0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+VGliZXRhbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc1RpYmV0YW4iPnhtbFVDU0lzVGliZXRhbjwvYT48YnIgLz4KKzwvZGQ+PGR0PlRva2VuPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VBdHRyaWJ1dGVUeXBlIj54bWxQYXJzZUF0dHJpYnV0ZVR5cGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlQXR0cmlidXRlVmFsdWUiPnhtbFZhbGlkYXRlQXR0cmlidXRlVmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlTm10b2tlblZhbHVlIj54bWxWYWxpZGF0ZU5tdG9rZW5WYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVObXRva2Vuc1ZhbHVlIj54bWxWYWxpZGF0ZU5tdG9rZW5zVmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlT25lQXR0cmlidXRlIj54bWxWYWxpZGF0ZU9uZUF0dHJpYnV0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVPbmVOYW1lc3BhY2UiPnhtbFZhbGlkYXRlT25lTmFtZXNwYWNlPC9hPjxiciAvPgorPC9kZD48ZHQ+VG9rZW5pemVkVHlwZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQXR0cmlidXRlVHlwZSI+eG1sUGFyc2VBdHRyaWJ1dGVUeXBlPC9hPjxiciAvPgorPC9kZD48ZHQ+VHJhdmVyc2FsPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHRBbmNlc3RvciI+eG1sWFBhdGhOZXh0QW5jZXN0b3I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV4dEFuY2VzdG9yT3JTZWxmIj54bWxYUGF0aE5leHRBbmNlc3Rvck9yU2VsZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXh0QXR0cmlidXRlIj54bWxYUGF0aE5leHRBdHRyaWJ1dGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV4dENoaWxkIj54bWxYUGF0aE5leHRDaGlsZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXh0RGVzY2VuZGFudCI+eG1sWFBhdGhOZXh0RGVzY2VuZGFudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXh0RGVzY2VuZGFudE9yU2VsZiI+eG1sWFBhdGhOZXh0RGVzY2VuZGFudE9yU2VsZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXh0Rm9sbG93aW5nIj54bWxYUGF0aE5leHRGb2xsb3dpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV4dEZvbGxvd2luZ1NpYmxpbmciPnhtbFhQYXRoTmV4dEZvbGxvd2luZ1NpYmxpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV4dE5hbWVzcGFjZSI+eG1sWFBhdGhOZXh0TmFtZXNwYWNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHRQYXJlbnQiPnhtbFhQYXRoTmV4dFBhcmVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXh0UHJlY2VkaW5nIj54bWxYUGF0aE5leHRQcmVjZWRpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV4dFByZWNlZGluZ1NpYmxpbmciPnhtbFhQYXRoTmV4dFByZWNlZGluZ1NpYmxpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV4dFNlbGYiPnhtbFhQYXRoTmV4dFNlbGY8L2E+PGJyIC8+Cis8L2RkPjxkdD5UcmVlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5ld1ZhbHVlVHJlZSI+eG1sWFBhdGhOZXdWYWx1ZVRyZWU8L2E+PGJyIC8+Cis8L2RkPjxkdD5UcmVlOi08L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZU5hbWVzcGFjZSI+eG1sUGFyc2VOYW1lc3BhY2U8L2E+PGJyIC8+Cis8L2RkPjxkdD5Ucmlja2VyeTo8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxTY2FuTmFtZSI+eG1sU2Nhbk5hbWU8L2E+PGJyIC8+Cis8L2RkPjxkdD5UcmllczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQQ29ubmVjdCI+eG1sTmFub0ZUUENvbm5lY3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUENvbm5lY3RUbyI+eG1sTmFub0ZUUENvbm5lY3RUbzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQQ3dkIj54bWxOYW5vRlRQQ3dkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBEZWxlIj54bWxOYW5vRlRQRGVsZTwvYT48YnIgLz4KKzwvZGQ+PGR0PlRydWU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbEJvb2xUb1RleHQiPnhtbEJvb2xUb1RleHQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5Ucnk8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQUNhdGFsb2dSZXNvbHZlUHVibGljIj54bWxBQ2F0YWxvZ1Jlc29sdmVQdWJsaWM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQUNhdGFsb2dSZXNvbHZlU3lzdGVtIj54bWxBQ2F0YWxvZ1Jlc29sdmVTeXN0ZW08L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ0dldFB1YmxpYyI+eG1sQ2F0YWxvZ0dldFB1YmxpYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nR2V0U3lzdGVtIj54bWxDYXRhbG9nR2V0U3lzdGVtPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dSZXNvbHZlUHVibGljIj54bWxDYXRhbG9nUmVzb2x2ZVB1YmxpYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nUmVzb2x2ZVN5c3RlbSI+eG1sQ2F0YWxvZ1Jlc29sdmVTeXN0ZW08L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sR2V0TGluZU5vIj54bWxHZXRMaW5lTm88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sSXNYSFRNTCI+eG1sSXNYSFRNTDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQR2V0Q29ubmVjdGlvbiI+eG1sTmFub0ZUUEdldENvbm5lY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlQXR0cmlidXRlRGVjbCI+eG1sVmFsaWRhdGVBdHRyaWJ1dGVEZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZURvY3VtZW50Ij54bWxWYWxpZGF0ZURvY3VtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZUR0ZCI+eG1sVmFsaWRhdGVEdGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlRWxlbWVudCI+eG1sVmFsaWRhdGVFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZUVsZW1lbnREZWNsIj54bWxWYWxpZGF0ZUVsZW1lbnREZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZU5vdGF0aW9uRGVjbCI+eG1sVmFsaWRhdGVOb3RhdGlvbkRlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlT25lQXR0cmlidXRlIj54bWxWYWxpZGF0ZU9uZUF0dHJpYnV0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVPbmVFbGVtZW50Ij54bWxWYWxpZGF0ZU9uZUVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlT25lTmFtZXNwYWNlIj54bWxWYWxpZGF0ZU9uZU5hbWVzcGFjZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVSb290Ij54bWxWYWxpZGF0ZVJvb3Q8L2E+PGJyIC8+Cis8L2RkPjxkdD5UeXBlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI194bWxTY2hlbWFUeXBlIj5feG1sU2NoZW1hVHlwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQXR0cmlidXRlIj54bWxQYXJzZUF0dHJpYnV0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQXR0cmlidXRlVHlwZSI+eG1sUGFyc2VBdHRyaWJ1dGVUeXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VEb2NUeXBlRGVjbCI+eG1sUGFyc2VEb2NUeXBlRGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRWxlbWVudCI+eG1sUGFyc2VFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbGVtZW50RGVjbCI+eG1sUGFyc2VFbGVtZW50RGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFGcmVlVHlwZSI+eG1sU2NoZW1hRnJlZVR5cGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlRWxlbWVudERlY2wiPnhtbFZhbGlkYXRlRWxlbWVudERlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlT25lQXR0cmlidXRlIj54bWxWYWxpZGF0ZU9uZUF0dHJpYnV0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVPbmVOYW1lc3BhY2UiPnhtbFZhbGlkYXRlT25lTmFtZXNwYWNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZVJvb3QiPnhtbFZhbGlkYXRlUm9vdDwvYT48YnIgLz4KKzwvZGQ+PGR0PlR5cGVzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEdldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUiPnhtbEdldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVsZW1lbnRNaXhlZENvbnRlbnREZWNsIj54bWxQYXJzZUVsZW1lbnRNaXhlZENvbnRlbnREZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUiPnhtbFNldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlRWxlbWVudERlY2wiPnhtbFZhbGlkYXRlRWxlbWVudERlY2w8L2E+PGJyIC8+Cis8L2RkPjwvZGw+PGgyPkxldHRlciBVOjwvaDI+PGRsPjxkdD5VQ1M0PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sVVRGOENoYXJjbXAiPnhtbFVURjhDaGFyY21wPC9hPjxiciAvPgorPC9kZD48ZHQ+VU5JQ09ERTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNfaHRtbEVudGl0eURlc2MiPl9odG1sRW50aXR5RGVzYzwvYT48YnIgLz4KKzxhIGhyZWY9IiI+YzwvYT48YnIgLz4KKzwvZGQ+PGR0PlVOSVg8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsIj54bWxTaGVsbDwvYT48YnIgLz4KKzwvZGQ+PGR0PlVOVVNFRDo8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNpZ25vcmFibGVXaGl0ZXNwYWNlIj5pZ25vcmFibGVXaGl0ZXNwYWNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjaWdub3JhYmxlV2hpdGVzcGFjZVNBWEZ1bmMiPmlnbm9yYWJsZVdoaXRlc3BhY2VTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJJZ25vcmFibGVXaGl0ZXNwYWNlIj54bWxTQVgySWdub3JhYmxlV2hpdGVzcGFjZTwvYT48YnIgLz4KKzwvZGQ+PGR0PlVSSS1yZWZlcmVuY2U8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxQYXJzZVVSSSI+eG1sUGFyc2VVUkk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxQYXJzZVVSSVJhdyI+eG1sUGFyc2VVUklSYXc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxQYXJzZVVSSVJlZmVyZW5jZSI+eG1sUGFyc2VVUklSZWZlcmVuY2U8L2E+PGJyIC8+Cis8L2RkPjxkdD5VUk48L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNnbG9iYWxOYW1lc3BhY2UiPmdsb2JhbE5hbWVzcGFjZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI25hbWVzcGFjZURlY2wiPm5hbWVzcGFjZURlY2w8L2E+PGJyIC8+Cis8L2RkPjxkdD5VU0VSPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBQcm94eSI+eG1sTmFub0ZUUFByb3h5PC9hPjxiciAvPgorPC9kZD48ZHQ+VVRGLTE2PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCNfdWNvbnZfdCI+X3Vjb252X3Q8L2E+PGJyIC8+Cis8L2RkPjxkdD5VVEYxNjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY091dEZ1bmMiPnhtbENoYXJFbmNPdXRGdW5jPC9hPjxiciAvPgorPC9kZD48ZHQ+VVRGNDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sRGV0ZWN0Q2hhckVuY29kaW5nIj54bWxEZXRlY3RDaGFyRW5jb2Rpbmc8L2E+PGJyIC8+Cis8L2RkPjxkdD5VVEY4PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI194bWxCdWZmZXIiPl94bWxCdWZmZXI8L2E+PGJyIC8+Cis8YSBocmVmPSIiPnA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNPdXRGdW5jIj54bWxDaGFyRW5jT3V0RnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbEdldFVURjhDaGFyIj54bWxHZXRVVEY4Q2hhcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeSI+eG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5UmVjb3ZlciI+eG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5UmVjb3ZlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFNwbGl0UU5hbWUiPnhtbFNwbGl0UU5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxVVEY4Q2hhcmNtcCI+eG1sVVRGOENoYXJjbXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxVVEY4U2l6ZSI+eG1sVVRGOFNpemU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxVVEY4U3RybGVuIj54bWxVVEY4U3RybGVuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sVVRGOFN0cmxvYyI+eG1sVVRGOFN0cmxvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFVURjhTdHJuZHVwIj54bWxVVEY4U3RybmR1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFVURjhTdHJwb3MiPnhtbFVURjhTdHJwb3M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxVVEY4U3Ryc2l6ZSI+eG1sVVRGOFN0cnNpemU8L2E+PGJyIC8+Cis8L2RkPjxkdD5VZ2FyaXRpYzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc1VnYXJpdGljIj54bWxVQ1NJc1VnYXJpdGljPC9hPjxiciAvPgorPC9kZD48ZHQ+VW5lc2NhcGluZzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbFVSSVVuZXNjYXBlU3RyaW5nIj54bWxVUklVbmVzY2FwZVN0cmluZzwvYT48YnIgLz4KKzwvZGQ+PGR0PlVuaWNvZGU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNJU19DSEFSIj5JU19DSEFSPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9VTklDT0RFX0VOQUJMRUQiPkxJQlhNTF9VTklDT0RFX0VOQUJMRUQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5VbmlmaWVkQ2FuYWRpYW5BYm9yaWdpbmFsU3lsbGFiaWNzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzVW5pZmllZENhbmFkaWFuQWJvcmlnaW5hbFN5bGxhYmljcyI+eG1sVUNTSXNVbmlmaWVkQ2FuYWRpYW5BYm9yaWdpbmFsU3lsbGFiaWNzPC9hPjxiciAvPgorPC9kZD48ZHQ+VW5pcXVlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbGVtZW50RGVjbCI+eG1sUGFyc2VFbGVtZW50RGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlU3RhcnRUYWciPnhtbFBhcnNlU3RhcnRUYWc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlRWxlbWVudERlY2wiPnhtbFZhbGlkYXRlRWxlbWVudERlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoSWRGdW5jdGlvbiI+eG1sWFBhdGhJZEZ1bmN0aW9uPC9hPjxiciAvPgorPC9kZD48ZHQ+VW5peDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxMaXN0Ij54bWxTaGVsbExpc3Q8L2E+PGJyIC8+Cis8L2RkPjxkdD5Vbmxpbms8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sUmVtb3ZlUHJvcCI+eG1sUmVtb3ZlUHJvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxSZXBsYWNlTm9kZSI+eG1sUmVwbGFjZU5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sVW5saW5rTm9kZSI+eG1sVW5saW5rTm9kZTwvYT48YnIgLz4KKzwvZGQ+PGR0PlVubGlua3M8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcFJlbW92ZU5vZGUiPnhtbERPTVdyYXBSZW1vdmVOb2RlPC9hPjxiciAvPgorPC9kZD48ZHQ+VW5wbHVnPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVNBWFVucGx1ZyI+eG1sU2NoZW1hU0FYVW5wbHVnPC9hPjxiciAvPgorPC9kZD48ZHQ+VW5yZWdpc3RlcnM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbENsZWFudXBFbmNvZGluZ0FsaWFzZXMiPnhtbENsZWFudXBFbmNvZGluZ0FsaWFzZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbERlbEVuY29kaW5nQWxpYXMiPnhtbERlbEVuY29kaW5nQWxpYXM8L2E+PGJyIC8+Cis8L2RkPjxkdD5VcGRhdGU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUFVwZGF0ZVVSTCI+eG1sTmFub0ZUUFVwZGF0ZVVSTDwvYT48YnIgLz4KKzwvZGQ+PGR0PlVwZ3JhZGU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxLZWVwQmxhbmtzRGVmYXVsdCI+eG1sS2VlcEJsYW5rc0RlZmF1bHQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5Vc2U8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfQ09NUExFVEVfQVRUUlMiPlhNTF9DT01QTEVURV9BVFRSUzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9ERVRFQ1RfSURTIj5YTUxfREVURUNUX0lEUzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNfeG1sRE9NV3JhcEN0eHQiPl94bWxET01XcmFwQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI194bWxQYXJzZXJDdHh0Ij5feG1sUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxDb3B5Tm9kZUxpc3QiPnhtbENvcHlOb2RlTGlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxHZXRQcm9wIj54bWxHZXRQcm9wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzQmFzZUNoYXIiPnhtbElzQmFzZUNoYXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNCbGFuayI+eG1sSXNCbGFuazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc0NoYXIiPnhtbElzQ2hhcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc0NvbWJpbmluZyI+eG1sSXNDb21iaW5pbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNEaWdpdCI+eG1sSXNEaWdpdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc0V4dGVuZGVyIj54bWxJc0V4dGVuZGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzSWRlb2dyYXBoaWMiPnhtbElzSWRlb2dyYXBoaWM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNQdWJpZENoYXIiPnhtbElzUHViaWRDaGFyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld0RvY05vZGUiPnhtbE5ld0RvY05vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3RG9jTm9kZUVhdE5hbWUiPnhtbE5ld0RvY05vZGVFYXROYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld05vZGVFYXROYW1lIj54bWxOZXdOb2RlRWF0TmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdQSSI+eG1sTmV3UEk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3VGV4dENoaWxkIj54bWxOZXdUZXh0Q2hpbGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sUGF0dGVybkdldFN0cmVhbUN0eHQiPnhtbFBhdHRlcm5HZXRTdHJlYW1DdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclJlbGF4TkdTZXRTY2hlbWEiPnhtbFRleHRSZWFkZXJSZWxheE5HU2V0U2NoZW1hPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZSI+eG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJSZWxheE5HVmFsaWRhdGVDdHh0Ij54bWxUZXh0UmVhZGVyUmVsYXhOR1ZhbGlkYXRlQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZSI+eG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlQ3R4dCI+eG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJTZXRTY2hlbWEiPnhtbFRleHRSZWFkZXJTZXRTY2hlbWE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFNldENhY2hlIj54bWxYUGF0aENvbnRleHRTZXRDYWNoZTwvYT48YnIgLz4KKzwvZGQ+PGR0PlVzZWQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfQU5ZX0xBWCI+WE1MX1NDSEVNQVNfQU5ZX0xBWDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19BTllfU1RSSUNUIj5YTUxfU0NIRU1BU19BTllfU1RSSUNUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0FUVFJfVVNFX1BST0hJQklURUQiPlhNTF9TQ0hFTUFTX0FUVFJfVVNFX1BST0hJQklURUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfU0tJUF9JRFMiPlhNTF9TS0lQX0lEUzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNfeG1sU2NoZW1hVHlwZSI+X3htbFNjaGVtYVR5cGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ0dldERlZmF1bHRzIj54bWxDYXRhbG9nR2V0RGVmYXVsdHM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ1NldERlYnVnIj54bWxDYXRhbG9nU2V0RGVidWc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ1NldERlZmF1bHRzIj54bWxDYXRhbG9nU2V0RGVmYXVsdHM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnkiPnhtbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXIiPnhtbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUV4dGVybmFsRW50aXR5Ij54bWxQYXJzZUV4dGVybmFsRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sU2Nhbk5hbWUiPnhtbFNjYW5OYW1lPC9hPjxiciAvPgorPC9kZD48ZHQ+VXNlcjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNBWFBhcnNlRmlsZVdpdGhEYXRhIj54bWxTQVhQYXJzZUZpbGVXaXRoRGF0YTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNBWFBhcnNlTWVtb3J5V2l0aERhdGEiPnhtbFNBWFBhcnNlTWVtb3J5V2l0aERhdGE8L2E+PGJyIC8+Cis8L2RkPjxkdD5Vc2VyQ29kZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbENoZWNrTGFuZ3VhZ2VJRCI+eG1sQ2hlY2tMYW5ndWFnZUlEPC9hPjxiciAvPgorPC9kZD48ZHQ+VXNlczwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdOb2RlIj54bWxOZXdOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sVVJJRXNjYXBlIj54bWxVUklFc2NhcGU8L2E+PGJyIC8+Cis8L2RkPjwvZGw+PGgyIGFsaWduPSJjZW50ZXIiPjxhIGhyZWY9IkFQSWNodW5rMC5odG1sIj5BLUI8L2E+Cis8YSBocmVmPSJBUEljaHVuazEuaHRtbCI+Qy1DPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyLmh0bWwiPkQtRTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMy5odG1sIj5GLUk8L2E+Cis8YSBocmVmPSJBUEljaHVuazQuaHRtbCI+Si1OPC9hPgorPGEgaHJlZj0iQVBJY2h1bms1Lmh0bWwiPk8tUDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNi5odG1sIj5RLVI8L2E+Cis8YSBocmVmPSJBUEljaHVuazcuaHRtbCI+Uy1TPC9hPgorPGEgaHJlZj0iQVBJY2h1bms4Lmh0bWwiPlQtVTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rOS5odG1sIj5WLVg8L2E+Cis8YSBocmVmPSJBUEljaHVuazEwLmh0bWwiPlktYTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTEuaHRtbCI+Yi1iPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMi5odG1sIj5jLWM8L2E+Cis8YSBocmVmPSJBUEljaHVuazEzLmh0bWwiPmQtZDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTQuaHRtbCI+ZS1lPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNS5odG1sIj5mLWY8L2E+Cis8YSBocmVmPSJBUEljaHVuazE2Lmh0bWwiPmctaDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTcuaHRtbCI+aS1pPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxOC5odG1sIj5qLWw8L2E+Cis8YSBocmVmPSJBUEljaHVuazE5Lmh0bWwiPm0tbTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjAuaHRtbCI+bi1uPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMS5odG1sIj5vLW88L2E+Cis8YSBocmVmPSJBUEljaHVuazIyLmh0bWwiPnAtcDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjMuaHRtbCI+cS1yPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNC5odG1sIj5zLXM8L2E+Cis8YSBocmVmPSJBUEljaHVuazI1Lmh0bWwiPnQtdDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjYuaHRtbCI+dS12PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNy5odG1sIj53LXc8L2E+Cis8YSBocmVmPSJBUEljaHVuazI4Lmh0bWwiPngteDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjkuaHRtbCI+eS16PC9hPgorPC9oMj48cD48YSBocmVmPSJidWdzLmh0bWwiPkRhbmllbCBWZWlsbGFyZDwvYT48L3A+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL0FQSWNodW5rOS5odG1sIGIvbGlieG1sMi9kb2MvQVBJY2h1bms5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGM0YWMxZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL0FQSWNodW5rOS5odG1sCkBAIC0wLDAgKzEsMjczIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPgorPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPjxoZWFkPjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPjxsaW5rIHJlbD0iU0hPUlRDVVQgSUNPTiIgaHJlZj0iL2Zhdmljb24uaWNvIiAvPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CitURCB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorQk9EWSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhOyBtYXJnaW4tdG9wOiAyZW07IG1hcmdpbi1sZWZ0OiAwZW07IG1hcmdpbi1yaWdodDogMGVtfQorSDEge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gyIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMyB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorQTpsaW5rLCBBOnZpc2l0ZWQsIEE6YWN0aXZlIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgfQorPC9zdHlsZT48dGl0bGU+QVBJIEFscGhhYmV0aWMgSW5kZXggVi1YIGZvciBsaWJ4bWwyPC90aXRsZT48L2hlYWQ+PGJvZHkgYmdjb2xvcj0iIzhiNzc2NSIgdGV4dD0iIzAwMDAwMCIgbGluaz0iI2EwNjA2MCIgdmxpbms9IiMwMDAwMDAiPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSIxMDAlIiBjZWxscGFkZGluZz0iNSIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgd2lkdGg9IjEyMCI+PGEgaHJlZj0iaHR0cDovL3N3cGF0LmZmaWkub3JnLyI+PGltZyBzcmM9ImVwYXRlbnRzLnBuZyIgYWx0PSJBY3Rpb24gYWdhaW5zdCBzb2Z0d2FyZSBwYXRlbnRzIiAvPjwvYT48L3RkPjx0ZCB3aWR0aD0iMTgwIj48YSBocmVmPSJodHRwOi8vd3d3Lmdub21lLm9yZy8iPjxpbWcgc3JjPSJnbm9tZTIucG5nIiBhbHQ9Ikdub21lMiBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9TdGF0dXMiPjxpbWcgc3JjPSJ3M2MucG5nIiBhbHQ9IlczQyBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnJlZGhhdC5jb20vIj48aW1nIHNyYz0icmVkaGF0LmdpZiIgYWx0PSJSZWQgSGF0IExvZ28iIC8+PC9hPjxkaXYgYWxpZ249ImxlZnQiPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy8iPjxpbWcgc3JjPSJMaWJ4bWwyLUxvZ28tMTgweDE2OC5naWYiIGFsdD0iTWFkZSB3aXRoIExpYnhtbDIgTG9nbyIgLz48L2E+PC9kaXY+PC90ZD48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjkwJSIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiIGJnY29sb3I9IiNmZmZhY2QiPjx0cj48dGQgYWxpZ249ImNlbnRlciI+PGgxPlRoZSBYTUwgQyBwYXJzZXIgYW5kIHRvb2xraXQgb2YgR25vbWU8L2gxPjxoMj5BUEkgQWxwaGFiZXRpYyBJbmRleCBWLVggZm9yIGxpYnhtbDI8L2gyPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI0IiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCB2YWxpZ249InRvcCIgd2lkdGg9IjIwMCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+RGV2ZWxvcGVyIE1lbnU8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PGZvcm0gYWN0aW9uPSJzZWFyY2gucGhwIiBlbmN0eXBlPSJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiIG1ldGhvZD0iZ2V0Ij48aW5wdXQgbmFtZT0icXVlcnkiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iIiAvPjxpbnB1dCBuYW1lPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNlYXJjaCAuLi4iIC8+PC9mb3JtPjx1bD48bGk+PGEgaHJlZj0iaW5kZXguaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPk1haW4gTWVudTwvYT48L2xpPjxsaT48YSBocmVmPSJodG1sL2luZGV4Lmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5SZWZlcmVuY2UgTWFudWFsPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImV4YW1wbGVzL2luZGV4Lmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5Db2RlIEV4YW1wbGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imd1aWRlbGluZXMuaHRtbCI+WE1MIEd1aWRlbGluZXM8L2E+PC9saT48bGk+PGEgaHJlZj0idHV0b3JpYWwvaW5kZXguaHRtbCI+VHV0b3JpYWw8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1scmVhZGVyLmh0bWwiPlRoZSBSZWFkZXIgSW50ZXJmYWNlPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkNoYW5nZUxvZy5odG1sIj5DaGFuZ2VMb2c8L2E+PC9saT48bGk+PGEgaHJlZj0iWFNMVC5odG1sIj5YU0xUPC9hPjwvbGk+PGxpPjxhIGhyZWY9InB5dGhvbi5odG1sIj5QeXRob24gYW5kIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImFyY2hpdGVjdHVyZS5odG1sIj5saWJ4bWwyIGFyY2hpdGVjdHVyZTwvYT48L2xpPjxsaT48YSBocmVmPSJ0cmVlLmh0bWwiPlRoZSB0cmVlIG91dHB1dDwvYT48L2xpPjxsaT48YSBocmVmPSJpbnRlcmZhY2UuaHRtbCI+VGhlIFNBWCBpbnRlcmZhY2U8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1sbWVtLmh0bWwiPk1lbW9yeSBNYW5hZ2VtZW50PC9hPjwvbGk+PGxpPjxhIGhyZWY9InhtbGlvLmh0bWwiPkkvTyBJbnRlcmZhY2VzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnJhcnkuaHRtbCI+VGhlIHBhcnNlciBpbnRlcmZhY2VzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImVudGl0aWVzLmh0bWwiPkVudGl0aWVzIG9yIG5vIGVudGl0aWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Im5hbWVzcGFjZXMuaHRtbCI+TmFtZXNwYWNlczwvYT48L2xpPjxsaT48YSBocmVmPSJ1cGdyYWRlLmh0bWwiPlVwZ3JhZGluZyAxLnggY29kZTwvYT48L2xpPjxsaT48YSBocmVmPSJ0aHJlYWRzLmh0bWwiPlRocmVhZCBzYWZldHk8L2E+PC9saT48bGk+PGEgaHJlZj0iRE9NLmh0bWwiPkRPTSBQcmluY2lwbGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImV4YW1wbGUuaHRtbCI+QSByZWFsIGV4YW1wbGU8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1sLmh0bWwiPmZsYXQgcGFnZTwvYT4sIDxhIGhyZWY9InNpdGUueHNsIj5zdHlsZXNoZWV0PC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+QVBJIEluZGV4ZXM8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSJBUEljaHVuazAuaHRtbCI+QWxwaGFiZXRpYzwvYT48L2xpPjxsaT48YSBocmVmPSJBUEljb25zdHJ1Y3RvcnMuaHRtbCI+Q29uc3RydWN0b3JzPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkFQSWZ1bmN0aW9ucy5odG1sIj5GdW5jdGlvbnMvVHlwZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iQVBJZmlsZXMuaHRtbCI+TW9kdWxlczwvYT48L2xpPjxsaT48YSBocmVmPSJBUElzeW1ib2xzLmh0bWwiPlN5bWJvbHM8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5SZWxhdGVkIGxpbmtzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iaHR0cDovL21haWwuZ25vbWUub3JnL2FyY2hpdmVzL3htbC8iPk1haWwgYXJjaGl2ZTwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvWFNMVC8iPlhTTFQgbGlieHNsdDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vcGhkLmNzLnVuaWJvLml0L2dkb21lMi8iPkRPTSBnZG9tZTI8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5hbGVrc2V5LmNvbS94bWxzZWMvIj5YTUwtRFNpZyB4bWxzZWM8L2E+PC9saT48bGk+PGEgaHJlZj0iZnRwOi8veG1sc29mdC5vcmcvIj5GVFA8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56bGF0a292aWMuY29tL3Byb2plY3RzL2xpYnhtbC8iPldpbmRvd3MgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL29wZW5jc3cub3JnL3BhY2thZ2VzL2xpYnhtbDIiPlNvbGFyaXMgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5leHBsYWluLmNvbS5hdS9vc3MvbGlieG1sMnhzbHQuaHRtbCI+TWFjT3NYIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9seG1sLmRlLyI+bHhtbCBQeXRob24gYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2NwYW4udXdpbm5pcGVnLmNhL2Rpc3QvWE1MLUxpYlhNTCI+UGVybCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1scGx1c3BsdXMuc291cmNlZm9yZ2UubmV0LyI+QysrIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemVuZC5jb20vcGhwNS9hcnRpY2xlcy9waHA1LXhtbHBocC5waHAjSGVhZGluZzQiPlBIUCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2xpYnhtbDItcGFzLyI+UGFzY2FsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWwucnVieWZvcmdlLm9yZy8iPlJ1YnkgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3RjbHhtbC5zb3VyY2Vmb3JnZS5uZXQvIj5UY2wgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9idWdsaXN0LmNnaT9wcm9kdWN0PWxpYnhtbDIiPkJ1ZyBUcmFja2VyPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIzIiBjZWxsc3BhY2luZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PGgyIGFsaWduPSJjZW50ZXIiPjxhIGhyZWY9IkFQSWNodW5rMC5odG1sIj5BLUI8L2E+Cis8YSBocmVmPSJBUEljaHVuazEuaHRtbCI+Qy1DPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyLmh0bWwiPkQtRTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMy5odG1sIj5GLUk8L2E+Cis8YSBocmVmPSJBUEljaHVuazQuaHRtbCI+Si1OPC9hPgorPGEgaHJlZj0iQVBJY2h1bms1Lmh0bWwiPk8tUDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNi5odG1sIj5RLVI8L2E+Cis8YSBocmVmPSJBUEljaHVuazcuaHRtbCI+Uy1TPC9hPgorPGEgaHJlZj0iQVBJY2h1bms4Lmh0bWwiPlQtVTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rOS5odG1sIj5WLVg8L2E+Cis8YSBocmVmPSJBUEljaHVuazEwLmh0bWwiPlktYTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTEuaHRtbCI+Yi1iPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMi5odG1sIj5jLWM8L2E+Cis8YSBocmVmPSJBUEljaHVuazEzLmh0bWwiPmQtZDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTQuaHRtbCI+ZS1lPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNS5odG1sIj5mLWY8L2E+Cis8YSBocmVmPSJBUEljaHVuazE2Lmh0bWwiPmctaDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTcuaHRtbCI+aS1pPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxOC5odG1sIj5qLWw8L2E+Cis8YSBocmVmPSJBUEljaHVuazE5Lmh0bWwiPm0tbTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjAuaHRtbCI+bi1uPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMS5odG1sIj5vLW88L2E+Cis8YSBocmVmPSJBUEljaHVuazIyLmh0bWwiPnAtcDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjMuaHRtbCI+cS1yPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNC5odG1sIj5zLXM8L2E+Cis8YSBocmVmPSJBUEljaHVuazI1Lmh0bWwiPnQtdDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjYuaHRtbCI+dS12PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNy5odG1sIj53LXc8L2E+Cis8YSBocmVmPSJBUEljaHVuazI4Lmh0bWwiPngteDwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjkuaHRtbCI+eS16PC9hPgorPC9oMj48aDI+TGV0dGVyIFY6PC9oMj48ZGw+PGR0PlZhbGlkPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZU9uZUVsZW1lbnQiPnhtbFZhbGlkYXRlT25lRWxlbWVudDwvYT48YnIgLz4KKzwvZGQ+PGR0PlZhbGlkYXRlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0FOWV9MQVgiPlhNTF9TQ0hFTUFTX0FOWV9MQVg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1ZhbGlkYXRlRG9jIj54bWxSZWxheE5HVmFsaWRhdGVEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1ZhbGlkYXRlRnVsbEVsZW1lbnQiPnhtbFJlbGF4TkdWYWxpZGF0ZUZ1bGxFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkYXRlRG9jIj54bWxTY2hlbWFWYWxpZGF0ZURvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZGF0ZU9uZUVsZW1lbnQiPnhtbFNjaGVtYVZhbGlkYXRlT25lRWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZGF0ZVN0cmVhbSI+eG1sU2NoZW1hVmFsaWRhdGVTdHJlYW08L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvblZhbGlkYXRlRG9jIj54bWxTY2hlbWF0cm9uVmFsaWRhdGVEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsVmFsaWRhdGUiPnhtbFNoZWxsVmFsaWRhdGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlQXR0cmlidXRlVmFsdWUiPnhtbFZhbGlkYXRlQXR0cmlidXRlVmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlTmFtZVZhbHVlIj54bWxWYWxpZGF0ZU5hbWVWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVOYW1lc1ZhbHVlIj54bWxWYWxpZGF0ZU5hbWVzVmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlTm10b2tlblZhbHVlIj54bWxWYWxpZGF0ZU5tdG9rZW5WYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVObXRva2Vuc1ZhbHVlIj54bWxWYWxpZGF0ZU5tdG9rZW5zVmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlTm90YXRpb25Vc2UiPnhtbFZhbGlkYXRlTm90YXRpb25Vc2U8L2E+PGJyIC8+Cis8L2RkPjxkdD5WYWxpZGl0eTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQXR0cmlidXRlVHlwZSI+eG1sUGFyc2VBdHRyaWJ1dGVUeXBlPC9hPjxiciAvPgorPC9kZD48ZHQ+VmFsdWU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUF0dHJpYnV0ZSI+eG1sUGFyc2VBdHRyaWJ1dGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlT25lQXR0cmlidXRlIj54bWxWYWxpZGF0ZU9uZUF0dHJpYnV0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVPbmVOYW1lc3BhY2UiPnhtbFZhbGlkYXRlT25lTmFtZXNwYWNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5ld1ZhbHVlVHJlZSI+eG1sWFBhdGhOZXdWYWx1ZVRyZWU8L2E+PGJyIC8+Cis8L2RkPjxkdD5WYWx1ZXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ1NldERlZmF1bHRQcmVmZXIiPnhtbENhdGFsb2dTZXREZWZhdWx0UHJlZmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VBdHRyaWJ1dGUiPnhtbFBhcnNlQXR0cmlidXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VBdHRyaWJ1dGVUeXBlIj54bWxQYXJzZUF0dHJpYnV0ZVR5cGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZURlZmF1bHREZWNsIj54bWxQYXJzZURlZmF1bHREZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbnVtZXJhdGlvblR5cGUiPnhtbFBhcnNlRW51bWVyYXRpb25UeXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VOb3RhdGlvblR5cGUiPnhtbFBhcnNlTm90YXRpb25UeXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZUF0dHJpYnV0ZVZhbHVlIj54bWxWYWxpZGF0ZUF0dHJpYnV0ZVZhbHVlPC9hPjxiciAvPgorPC9kZD48ZHQ+VmFyaWFibGU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoVmFyaWFibGVMb29rdXAiPnhtbFhQYXRoVmFyaWFibGVMb29rdXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoVmFyaWFibGVMb29rdXBOUyI+eG1sWFBhdGhWYXJpYWJsZUxvb2t1cE5TPC9hPjxiciAvPgorPC9kZD48ZHQ+VmFyaWF0aW9uU2VsZWN0b3JzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzVmFyaWF0aW9uU2VsZWN0b3JzIj54bWxVQ1NJc1ZhcmlhdGlvblNlbGVjdG9yczwvYT48YnIgLz4KKzwvZGQ+PGR0PlZhcmlhdGlvblNlbGVjdG9yc1N1cHBsZW1lbnQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNWYXJpYXRpb25TZWxlY3RvcnNTdXBwbGVtZW50Ij54bWxVQ1NJc1ZhcmlhdGlvblNlbGVjdG9yc1N1cHBsZW1lbnQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5WZXJzaW9uSW5mbzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlVmVyc2lvbkluZm8iPnhtbFBhcnNlVmVyc2lvbkluZm88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZVhNTERlY2wiPnhtbFBhcnNlWE1MRGVjbDwvYT48YnIgLz4KKzwvZGQ+PGR0PlZlcnNpb25JbmZvPzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlVGV4dERlY2wiPnhtbFBhcnNlVGV4dERlY2w8L2E+PGJyIC8+Cis8L2RkPjxkdD5WZXJzaW9uTnVtPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VWZXJzaW9uSW5mbyI+eG1sUGFyc2VWZXJzaW9uSW5mbzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlVmVyc2lvbk51bSI+eG1sUGFyc2VWZXJzaW9uTnVtPC9hPjxiciAvPgorPC9kZD48L2RsPjxoMj5MZXR0ZXIgVzo8L2gyPjxkbD48ZHQ+VzNDPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbENoaWxkRWxlbWVudENvdW50Ij54bWxDaGlsZEVsZW1lbnRDb3VudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxGaXJzdEVsZW1lbnRDaGlsZCI+eG1sRmlyc3RFbGVtZW50Q2hpbGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTGFzdEVsZW1lbnRDaGlsZCI+eG1sTGFzdEVsZW1lbnRDaGlsZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXh0RWxlbWVudFNpYmxpbmciPnhtbE5leHRFbGVtZW50U2libGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxQcmV2aW91c0VsZW1lbnRTaWJsaW5nIj54bWxQcmV2aW91c0VsZW1lbnRTaWJsaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlIj54bWxUZXh0UmVhZGVyU2NoZW1hVmFsaWRhdGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyU2NoZW1hVmFsaWRhdGVDdHh0Ij54bWxUZXh0UmVhZGVyU2NoZW1hVmFsaWRhdGVDdHh0PC9hPjxiciAvPgorPC9kZD48ZHQ+V0FSTklORzo8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxDbGVhbnVwUGFyc2VyIj54bWxDbGVhbnVwUGFyc2VyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbENsZWFudXBUaHJlYWRzIj54bWxDbGVhbnVwVGhyZWFkczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUdldENhbm9uVmFsdWUiPnhtbFNjaGVtYUdldENhbm9uVmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFOZXdTdHJpbmdWYWx1ZSI+eG1sU2NoZW1hTmV3U3RyaW5nVmFsdWU8L2E+PGJyIC8+Cis8L2RkPjxkdD5XRkM6PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VBdHRyaWJ1dGUiPnhtbFBhcnNlQXR0cmlidXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VDaGFyUmVmIj54bWxQYXJzZUNoYXJSZWY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZURlZmF1bHREZWNsIj54bWxQYXJzZURlZmF1bHREZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbGVtZW50Ij54bWxQYXJzZUVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVudGl0eVJlZiI+eG1sUGFyc2VFbnRpdHlSZWY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZU1hcmt1cERlY2wiPnhtbFBhcnNlTWFya3VwRGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlUEVSZWZlcmVuY2UiPnhtbFBhcnNlUEVSZWZlcmVuY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZVN0YXJ0VGFnIj54bWxQYXJzZVN0YXJ0VGFnPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VySGFuZGxlUEVSZWZlcmVuY2UiPnhtbFBhcnNlckhhbmRsZVBFUmVmZXJlbmNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VySGFuZGxlUmVmZXJlbmNlIj54bWxQYXJzZXJIYW5kbGVSZWZlcmVuY2U8L2E+PGJyIC8+Cis8L2RkPjxkdD5XV1ctQXV0aGVudGljYXRlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUEF1dGhIZWFkZXIiPnhtbE5hbm9IVFRQQXV0aEhlYWRlcjwvYT48YnIgLz4KKzwvZGQ+PGR0PldYUzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNfeG1sU2NoZW1hRWxlbWVudCI+X3htbFNjaGVtYUVsZW1lbnQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5XYWxrPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3RSZXZlcnNlV2FsayI+eG1sTGlzdFJldmVyc2VXYWxrPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3RXYWxrIj54bWxMaXN0V2FsazwvYT48YnIgLz4KKzwvZGQ+PGR0Pldhcm5pbmc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2F2ZUZpbGVUbyI+eG1sU2F2ZUZpbGVUbzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTYXZlRm9ybWF0RmlsZVRvIj54bWxTYXZlRm9ybWF0RmlsZVRvPC9hPjxiciAvPgorPC9kZD48ZHQ+V2FzPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjX3htbFBhcnNlcklucHV0Ij5feG1sUGFyc2VySW5wdXQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5XZWxsPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5Ij54bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlSZWNvdmVyIj54bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlSZWNvdmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VFbnRpdHkiPnhtbFBhcnNlRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VJbk5vZGVDb250ZXh0Ij54bWxQYXJzZUluTm9kZUNvbnRleHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxSZWNvdmVyRG9jIj54bWxSZWNvdmVyRG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUmVjb3ZlckZpbGUiPnhtbFJlY292ZXJGaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUmVjb3Zlck1lbW9yeSI+eG1sUmVjb3Zlck1lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNBWFBhcnNlRG9jIj54bWxTQVhQYXJzZURvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNBWFBhcnNlRW50aXR5Ij54bWxTQVhQYXJzZUVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNBWFBhcnNlRmlsZSI+eG1sU0FYUGFyc2VGaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYUGFyc2VGaWxlV2l0aERhdGEiPnhtbFNBWFBhcnNlRmlsZVdpdGhEYXRhPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYUGFyc2VNZW1vcnkiPnhtbFNBWFBhcnNlTWVtb3J5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYUGFyc2VNZW1vcnlXaXRoRGF0YSI+eG1sU0FYUGFyc2VNZW1vcnlXaXRoRGF0YTwvYT48YnIgLz4KKzwvZGQ+PGR0PldoYXQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI194bWxFcnJvciI+X3htbEVycm9yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjbm90YXRpb25EZWNsIj5ub3RhdGlvbkRlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNub3RhdGlvbkRlY2xTQVhGdW5jIj5ub3RhdGlvbkRlY2xTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjdW5wYXJzZWRFbnRpdHlEZWNsIj51bnBhcnNlZEVudGl0eURlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN1bnBhcnNlZEVudGl0eURlY2xTQVhGdW5jIj51bnBhcnNlZEVudGl0eURlY2xTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBDbG9uZU5vZGUiPnhtbERPTVdyYXBDbG9uZU5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMk5vdGF0aW9uRGVjbCI+eG1sU0FYMk5vdGF0aW9uRGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyVW5wYXJzZWRFbnRpdHlEZWNsIj54bWxTQVgyVW5wYXJzZWRFbnRpdHlEZWNsPC9hPjxiciAvPgorPC9kZD48ZHQ+V2hlbjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbEhhbmRsZUVudGl0eSI+eG1sSGFuZGxlRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aENvbXBhcmVWYWx1ZXMiPnhtbFhQYXRoQ29tcGFyZVZhbHVlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhJZEZ1bmN0aW9uIj54bWxYUGF0aElkRnVuY3Rpb248L2E+PGJyIC8+Cis8L2RkPjxkdD5XaGVyZXZlcjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbEN1cnJlbnRDaGFyIj54bWxDdXJyZW50Q2hhcjwvYT48YnIgLz4KKzwvZGQ+PGR0PldoaXRlc3BhY2U8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9ybWFsaXplRnVuY3Rpb24iPnhtbFhQYXRoTm9ybWFsaXplRnVuY3Rpb248L2E+PGJyIC8+Cis8L2RkPjxkdD5XaWxsPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNhdmVGaWxlIj54bWxTYXZlRmlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTYXZlRm9ybWF0RmlsZSI+eG1sU2F2ZUZvcm1hdEZpbGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5XaXRoPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VBdHRyaWJ1dGUiPnhtbFBhcnNlQXR0cmlidXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbmRUYWciPnhtbFBhcnNlRW5kVGFnPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VTdGFydFRhZyI+eG1sUGFyc2VTdGFydFRhZzwvYT48YnIgLz4KKzwvZGQ+PGR0Pldvcmthcm91bmQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRhdGVTZXRGaWxlbmFtZSI+eG1sU2NoZW1hVmFsaWRhdGVTZXRGaWxlbmFtZTwvYT48YnIgLz4KKzwvZGQ+PGR0Pldvcmtpbmc8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZU5hbWVzcGFjZSI+eG1sUGFyc2VOYW1lc3BhY2U8L2E+PGJyIC8+Cis8L2RkPjxkdD5XcmFwPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFdyYXBOb2RlU2V0Ij54bWxYUGF0aFdyYXBOb2RlU2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyV3JhcExvY2F0aW9uU2V0Ij54bWxYUHRyV3JhcExvY2F0aW9uU2V0PC9hPjxiciAvPgorPC9kZD48ZHQ+V3JhcHBlcjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sRmlsZU9wZW4iPnhtbEZpbGVPcGVuPC9hPjxiciAvPgorPC9kZD48ZHQ+V3JhcHM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoV3JhcENTdHJpbmciPnhtbFhQYXRoV3JhcENTdHJpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoV3JhcEV4dGVybmFsIj54bWxYUGF0aFdyYXBFeHRlcm5hbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhXcmFwU3RyaW5nIj54bWxYUGF0aFdyYXBTdHJpbmc8L2E+PGJyIC8+Cis8L2RkPjxkdD5Xcml0ZXM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyRnVsbEVuZEVsZW1lbnQiPnhtbFRleHRXcml0ZXJGdWxsRW5kRWxlbWVudDwvYT48YnIgLz4KKzwvZGQ+PC9kbD48aDI+TGV0dGVyIFg6PC9oMj48ZGw+PGR0PlhIVE1MPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbElzWEhUTUwiPnhtbElzWEhUTUw8L2E+PGJyIC8+Cis8L2RkPjxkdD5YSW5jbHVkZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfWElOQ0xVREVfRU5BQkxFRCI+TElCWE1MX1hJTkNMVURFX0VOQUJMRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14aW5jbHVkZS5odG1sI1hJTkNMVURFX05TIj5YSU5DTFVERV9OUzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhpbmNsdWRlLmh0bWwjWElOQ0xVREVfT0xEX05TIj5YSU5DTFVERV9PTERfTlM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcENsb25lTm9kZSI+eG1sRE9NV3JhcENsb25lTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhpbmNsdWRlLmh0bWwjeG1sWEluY2x1ZGVGcmVlQ29udGV4dCI+eG1sWEluY2x1ZGVGcmVlQ29udGV4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhpbmNsdWRlLmh0bWwjeG1sWEluY2x1ZGVOZXdDb250ZXh0Ij54bWxYSW5jbHVkZU5ld0NvbnRleHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14aW5jbHVkZS5odG1sI3htbFhJbmNsdWRlUHJvY2VzcyI+eG1sWEluY2x1ZGVQcm9jZXNzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGluY2x1ZGUuaHRtbCN4bWxYSW5jbHVkZVByb2Nlc3NGbGFncyI+eG1sWEluY2x1ZGVQcm9jZXNzRmxhZ3M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14aW5jbHVkZS5odG1sI3htbFhJbmNsdWRlUHJvY2Vzc0ZsYWdzRGF0YSI+eG1sWEluY2x1ZGVQcm9jZXNzRmxhZ3NEYXRhPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGluY2x1ZGUuaHRtbCN4bWxYSW5jbHVkZVByb2Nlc3NOb2RlIj54bWxYSW5jbHVkZVByb2Nlc3NOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGluY2x1ZGUuaHRtbCN4bWxYSW5jbHVkZVByb2Nlc3NUcmVlIj54bWxYSW5jbHVkZVByb2Nlc3NUcmVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGluY2x1ZGUuaHRtbCN4bWxYSW5jbHVkZVByb2Nlc3NUcmVlRmxhZ3MiPnhtbFhJbmNsdWRlUHJvY2Vzc1RyZWVGbGFnczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhpbmNsdWRlLmh0bWwjeG1sWEluY2x1ZGVQcm9jZXNzVHJlZUZsYWdzRGF0YSI+eG1sWEluY2x1ZGVQcm9jZXNzVHJlZUZsYWdzRGF0YTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhpbmNsdWRlLmh0bWwjeG1sWEluY2x1ZGVTZXRGbGFncyI+eG1sWEluY2x1ZGVTZXRGbGFnczwvYT48YnIgLz4KKzwvZGQ+PGR0PlhJbmNsdWRlPzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwQ2xvbmVOb2RlIj54bWxET01XcmFwQ2xvbmVOb2RlPC9hPjxiciAvPgorPC9kZD48ZHQ+WExJTktfVFlQRV9OT05FPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteGxpbmsuaHRtbCN4bGlua0lzTGluayI+eGxpbmtJc0xpbms8L2E+PGJyIC8+Cis8L2RkPjxkdD5YTUwtMTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sRGV0ZWN0Q2hhckVuY29kaW5nIj54bWxEZXRlY3RDaGFyRW5jb2Rpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlQXR0cmlidXRlRGVjbCI+eG1sVmFsaWRhdGVBdHRyaWJ1dGVEZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZUVsZW1lbnREZWNsIj54bWxWYWxpZGF0ZUVsZW1lbnREZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZU5vdGF0aW9uRGVjbCI+eG1sVmFsaWRhdGVOb3RhdGlvbkRlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlT25lQXR0cmlidXRlIj54bWxWYWxpZGF0ZU9uZUF0dHJpYnV0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVPbmVFbGVtZW50Ij54bWxWYWxpZGF0ZU9uZUVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlT25lTmFtZXNwYWNlIj54bWxWYWxpZGF0ZU9uZU5hbWVzcGFjZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVSb290Ij54bWxWYWxpZGF0ZVJvb3Q8L2E+PGJyIC8+Cis8L2RkPjxkdD5YTUwtU2NoZW1hPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYUdldFZhbGlkRXJyb3JzIj54bWxTY2hlbWFHZXRWYWxpZEVycm9yczwvYT48YnIgLz4KKzwvZGQ+PGR0PlhNTERlY2w8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZVhNTERlY2wiPnhtbFBhcnNlWE1MRGVjbDwvYT48YnIgLz4KKzwvZGQ+PGR0PlhNTERlY2w/PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VEb2N1bWVudCI+eG1sUGFyc2VEb2N1bWVudDwvYT48YnIgLz4KKzwvZGQ+PGR0PlhNTFNjaGVtYTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUdldFByZWRlZmluZWRUeXBlIj54bWxTY2hlbWFHZXRQcmVkZWZpbmVkVHlwZTwvYT48YnIgLz4KKzwvZGQ+PGR0PlhNTF9BVFRSSUJVVEVfREVDTDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNfeG1sQXR0cmlidXRlIj5feG1sQXR0cmlidXRlPC9hPjxiciAvPgorPC9kZD48ZHQ+WE1MX0FUVFJJQlVURV9FTlVNRVJBVElPTjwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRW51bWVyYXRlZFR5cGUiPnhtbFBhcnNlRW51bWVyYXRlZFR5cGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5YTUxfQVRUUklCVVRFX0ZJWEVEPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VEZWZhdWx0RGVjbCI+eG1sUGFyc2VEZWZhdWx0RGVjbDwvYT48YnIgLz4KKzwvZGQ+PGR0PlhNTF9BVFRSSUJVVEVfSU1QTElFRDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRGVmYXVsdERlY2wiPnhtbFBhcnNlRGVmYXVsdERlY2w8L2E+PGJyIC8+Cis8L2RkPjxkdD5YTUxfQVRUUklCVVRFX05PREU8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjX3htbEF0dHIiPl94bWxBdHRyPC9hPjxiciAvPgorPC9kZD48ZHQ+WE1MX0FUVFJJQlVURV9OT05FPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VEZWZhdWx0RGVjbCI+eG1sUGFyc2VEZWZhdWx0RGVjbDwvYT48YnIgLz4KKzwvZGQ+PGR0PlhNTF9BVFRSSUJVVEVfTk9UQVRJT048L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVudW1lcmF0ZWRUeXBlIj54bWxQYXJzZUVudW1lcmF0ZWRUeXBlPC9hPjxiciAvPgorPC9kZD48ZHQ+WE1MX0FUVFJJQlVURV9SRVFVSVJFRDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRGVmYXVsdERlY2wiPnhtbFBhcnNlRGVmYXVsdERlY2w8L2E+PGJyIC8+Cis8L2RkPjxkdD5YTUxfQlVGRkVSX0FMTE9DX0RPVUJMRUlUPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEdldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUiPnhtbEdldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2V0QnVmZmVyQWxsb2NhdGlvblNjaGVtZSI+eG1sU2V0QnVmZmVyQWxsb2NhdGlvblNjaGVtZTwvYT48YnIgLz4KKzwvZGQ+PGR0PlhNTF9CVUZGRVJfQUxMT0NfRVhBQ1Q8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sR2V0QnVmZmVyQWxsb2NhdGlvblNjaGVtZSI+eG1sR2V0QnVmZmVyQWxsb2NhdGlvblNjaGVtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lIj54bWxTZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lPC9hPjxiciAvPgorPC9kZD48ZHQ+WE1MX0JVRkZFUl9BTExPQ19IWUJSSUQ8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sR2V0QnVmZmVyQWxsb2NhdGlvblNjaGVtZSI+eG1sR2V0QnVmZmVyQWxsb2NhdGlvblNjaGVtZTwvYT48YnIgLz4KKzwvZGQ+PGR0PlhNTF9DQVNUX0ZQVFI8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjWE1MX0NBU1RfRlBUUiI+WE1MX0NBU1RfRlBUUjwvYT48YnIgLz4KKzwvZGQ+PGR0PlhNTF9DQVRBX1BSRUZFUl9QVUJMSUM8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ1NldERlZmF1bHRQcmVmZXIiPnhtbENhdGFsb2dTZXREZWZhdWx0UHJlZmVyPC9hPjxiciAvPgorPC9kZD48ZHQ+WE1MX0NBVEFfUFJFRkVSX1NZU1RFTTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nU2V0RGVmYXVsdFByZWZlciI+eG1sQ2F0YWxvZ1NldERlZmF1bHRQcmVmZXI8L2E+PGJyIC8+Cis8L2RkPjxkdD5YTUxfQ0hBUl9FTkNPRElOR188L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbERldGVjdENoYXJFbmNvZGluZyI+eG1sRGV0ZWN0Q2hhckVuY29kaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxQYXJzZUNoYXJFbmNvZGluZyI+eG1sUGFyc2VDaGFyRW5jb2Rpbmc8L2E+PGJyIC8+Cis8L2RkPjxkdD5YTUxfQ0hBUl9FTkNPRElOR19OT05FPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxQYXJzZUNoYXJFbmNvZGluZyI+eG1sUGFyc2VDaGFyRW5jb2Rpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWUiPnhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWU8L2E+PGJyIC8+Cis8L2RkPjxkdD5YTUxfRE9DVU1FTlRfTk9ERTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNfeG1sRG9jIj5feG1sRG9jPC9hPjxiciAvPgorPC9kZD48ZHQ+WE1MX0RURF9OT0RFPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI194bWxEdGQiPl94bWxEdGQ8L2E+PGJyIC8+Cis8L2RkPjxkdD5YTUxfRUxFTUVOVF9ERUNMPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI194bWxFbGVtZW50Ij5feG1sRWxlbWVudDwvYT48YnIgLz4KKzwvZGQ+PGR0PlhNTF9FTEVNRU5UX1RZUEVfeHh4PC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbGVtZW50Q29udGVudERlY2wiPnhtbFBhcnNlRWxlbWVudENvbnRlbnREZWNsPC9hPjxiciAvPgorPC9kZD48ZHQ+WE1MX0VOVElUWV9ERUNMPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCNfeG1sRW50aXR5Ij5feG1sRW50aXR5PC9hPjxiciAvPgorPC9kZD48ZHQ+WE1MX0VSUl9PSzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlSW5Ob2RlQ29udGV4dCI+eG1sUGFyc2VJbk5vZGVDb250ZXh0PC9hPjxiciAvPgorPC9kZD48ZHQ+WE1MX1BBUlNFX0JJR19MSU5FUzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxHZXRMaW5lTm8iPnhtbEdldExpbmVObzwvYT48YnIgLz4KKzwvZGQ+PGR0PlhNTF9QQVJTRV9IVUdFPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjWE1MX01BWF9ESUNUSU9OQVJZX0xJTUlUIj5YTUxfTUFYX0RJQ1RJT05BUllfTElNSVQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNYTUxfTUFYX05BTUVfTEVOR1RIIj5YTUxfTUFYX05BTUVfTEVOR1RIPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjWE1MX01BWF9URVhUX0xFTkdUSCI+WE1MX01BWF9URVhUX0xFTkdUSDwvYT48YnIgLz4KKzwvZGQ+PGR0PlhNTF9TQ0hFTUFTX0VMRU1fR0xPQkFMPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0VMRU1fVE9QTEVWRUwiPlhNTF9TQ0hFTUFTX0VMRU1fVE9QTEVWRUw8L2E+PGJyIC8+Cis8L2RkPjxkdD5YTUxfU0NIRU1BU19GQUNFVF9QUkVTRVJWRTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNfeG1sU2NoZW1hRmFjZXQiPl94bWxTY2hlbWFGYWNldDwvYT48YnIgLz4KKzwvZGQ+PGR0PlhNTF9TQ0hFTUFTX1NUUklORzwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYU5ld1N0cmluZ1ZhbHVlIj54bWxTY2hlbWFOZXdTdHJpbmdWYWx1ZTwvYT48YnIgLz4KKzwvZGQ+PGR0PlhNTF9TVUJTVElUVVRFX1BFUkVGPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sRGVjb2RlRW50aXRpZXMiPnhtbERlY29kZUVudGl0aWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sU3RyaW5nRGVjb2RlRW50aXRpZXMiPnhtbFN0cmluZ0RlY29kZUVudGl0aWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sU3RyaW5nTGVuRGVjb2RlRW50aXRpZXMiPnhtbFN0cmluZ0xlbkRlY29kZUVudGl0aWVzPC9hPjxiciAvPgorPC9kZD48ZHQ+WE1MX1NVQlNUSVRVVEVfUkVGPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sRGVjb2RlRW50aXRpZXMiPnhtbERlY29kZUVudGl0aWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sU3RyaW5nRGVjb2RlRW50aXRpZXMiPnhtbFN0cmluZ0RlY29kZUVudGl0aWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sU3RyaW5nTGVuRGVjb2RlRW50aXRpZXMiPnhtbFN0cmluZ0xlbkRlY29kZUVudGl0aWVzPC9hPjxiciAvPgorPC9kZD48ZHQ+WE1MX3h4eF95eXlfRU5USVRZPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxBZGREb2NFbnRpdHkiPnhtbEFkZERvY0VudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjeG1sQWRkRHRkRW50aXR5Ij54bWxBZGREdGRFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI3htbE5ld0VudGl0eSI+eG1sTmV3RW50aXR5PC9hPjxiciAvPgorPC9kZD48ZHQ+WE1sLVNjaGVtYTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFHZXRQYXJzZXJFcnJvcnMiPnhtbFNjaGVtYUdldFBhcnNlckVycm9yczwvYT48YnIgLz4KKzwvZGQ+PGR0PlhQQVRIPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aEZyZWVDb21wRXhwciI+eG1sWFBhdGhGcmVlQ29tcEV4cHI8L2E+PGJyIC8+Cis8L2RkPjxkdD5YUEFUSF9JTlZBTElEX0FSSVRZPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFNldEFyaXR5RXJyb3IiPnhtbFhQYXRoU2V0QXJpdHlFcnJvcjwvYT48YnIgLz4KKzwvZGQ+PGR0PlhQQVRIX0lOVkFMSURfVFlQRTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTZXRUeXBlRXJyb3IiPnhtbFhQYXRoU2V0VHlwZUVycm9yPC9hPjxiciAvPgorPC9kZD48ZHQ+WFBvaW50ZXI8L2R0PjxkZD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX1hQVFJfRU5BQkxFRCI+TElCWE1MX1hQVFJfRU5BQkxFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjX3htbFhQYXRoQ29udGV4dCI+X3htbFhQYXRoQ29udGV4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjX3htbFhQYXRoUGFyc2VyQ29udGV4dCI+X3htbFhQYXRoUGFyc2VyQ29udGV4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ckJ1aWxkTm9kZUxpc3QiPnhtbFhQdHJCdWlsZE5vZGVMaXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyRXZhbCI+eG1sWFB0ckV2YWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJFdmFsUmFuZ2VQcmVkaWNhdGUiPnhtbFhQdHJFdmFsUmFuZ2VQcmVkaWNhdGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJOZXdDb250ZXh0Ij54bWxYUHRyTmV3Q29udGV4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0clJhbmdlVG9GdW5jdGlvbiI+eG1sWFB0clJhbmdlVG9GdW5jdGlvbjwvYT48YnIgLz4KKzwvZGQ+PGR0PlhTRDwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdOZWdUcmFucyI+eG1sQXV0b21hdGFOZXdOZWdUcmFuczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZGl0eUVycm9yRnVuYyI+eG1sU2NoZW1hVmFsaWRpdHlFcnJvckZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRpdHlXYXJuaW5nRnVuYyI+eG1sU2NoZW1hVmFsaWRpdHlXYXJuaW5nRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZSI+eG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlQ3R4dCI+eG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJTZXRTY2hlbWEiPnhtbFRleHRSZWFkZXJTZXRTY2hlbWE8L2E+PGJyIC8+Cis8L2RkPjxkdD5YU0xUPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI194bWxOb2RlIj5feG1sTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjX3htbFhQYXRoQ29udGV4dCI+X3htbFhQYXRoQ29udGV4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCN4bWxGcmVlUGF0dGVybiI+eG1sRnJlZVBhdHRlcm48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sRnJlZVBhdHRlcm5MaXN0Ij54bWxGcmVlUGF0dGVybkxpc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV3VmFsdWVUcmVlIj54bWxYUGF0aE5ld1ZhbHVlVHJlZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdGFja0lzTm9kZVNldCI+eG1sWFBhdGhTdGFja0lzTm9kZVNldDwvYT48YnIgLz4KKzwvZGQ+PGR0PlhpbmNsdWRlPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteGluY2x1ZGUuaHRtbCNYSU5DTFVERV9OUyI+WElOQ0xVREVfTlM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14aW5jbHVkZS5odG1sI1hJTkNMVURFX09MRF9OUyI+WElOQ0xVREVfT0xEX05TPC9hPjxiciAvPgorPC9kZD48ZHQ+WG1sPC9kdD48ZGQ+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlck5vZGVUeXBlIj54bWxUZXh0UmVhZGVyTm9kZVR5cGU8L2E+PGJyIC8+Cis8L2RkPjxkdD5YbWxOb2RlVHlwZTwvZHQ+PGRkPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJOb2RlVHlwZSI+eG1sVGV4dFJlYWRlck5vZGVUeXBlPC9hPjxiciAvPgorPC9kZD48L2RsPjxoMiBhbGlnbj0iY2VudGVyIj48YSBocmVmPSJBUEljaHVuazAuaHRtbCI+QS1CPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxLmh0bWwiPkMtQzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMi5odG1sIj5ELUU8L2E+Cis8YSBocmVmPSJBUEljaHVuazMuaHRtbCI+Ri1JPC9hPgorPGEgaHJlZj0iQVBJY2h1bms0Lmh0bWwiPkotTjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rNS5odG1sIj5PLVA8L2E+Cis8YSBocmVmPSJBUEljaHVuazYuaHRtbCI+US1SPC9hPgorPGEgaHJlZj0iQVBJY2h1bms3Lmh0bWwiPlMtUzwvYT4KKzxhIGhyZWY9IkFQSWNodW5rOC5odG1sIj5ULVU8L2E+Cis8YSBocmVmPSJBUEljaHVuazkuaHRtbCI+Vi1YPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMC5odG1sIj5ZLWE8L2E+Cis8YSBocmVmPSJBUEljaHVuazExLmh0bWwiPmItYjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTIuaHRtbCI+Yy1jPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxMy5odG1sIj5kLWQ8L2E+Cis8YSBocmVmPSJBUEljaHVuazE0Lmh0bWwiPmUtZTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTUuaHRtbCI+Zi1mPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxNi5odG1sIj5nLWg8L2E+Cis8YSBocmVmPSJBUEljaHVuazE3Lmh0bWwiPmktaTwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMTguaHRtbCI+ai1sPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsxOS5odG1sIj5tLW08L2E+Cis8YSBocmVmPSJBUEljaHVuazIwLmh0bWwiPm4tbjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjEuaHRtbCI+by1vPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyMi5odG1sIj5wLXA8L2E+Cis8YSBocmVmPSJBUEljaHVuazIzLmh0bWwiPnEtcjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjQuaHRtbCI+cy1zPC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyNS5odG1sIj50LXQ8L2E+Cis8YSBocmVmPSJBUEljaHVuazI2Lmh0bWwiPnUtdjwvYT4KKzxhIGhyZWY9IkFQSWNodW5rMjcuaHRtbCI+dy13PC9hPgorPGEgaHJlZj0iQVBJY2h1bmsyOC5odG1sIj54LXg8L2E+Cis8YSBocmVmPSJBUEljaHVuazI5Lmh0bWwiPnktejwvYT4KKzwvaDI+PHA+PGEgaHJlZj0iYnVncy5odG1sIj5EYW5pZWwgVmVpbGxhcmQ8L2E+PC9wPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9BUEljb25zdHJ1Y3RvcnMuaHRtbCBiL2xpYnhtbDIvZG9jL0FQSWNvbnN0cnVjdG9ycy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ1Y2E0ODgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9BUEljb25zdHJ1Y3RvcnMuaHRtbApAQCAtMCwwICsxLDU5NSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIj4KKzxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj48aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz48bGluayByZWw9IlNIT1JUQ1VUIElDT04iIGhyZWY9Ii9mYXZpY29uLmljbyIgLz48c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorVEQge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0JPRFkge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYTsgbWFyZ2luLXRvcDogMmVtOyBtYXJnaW4tbGVmdDogMGVtOyBtYXJnaW4tcmlnaHQ6IDBlbX0KK0gxIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMiB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDMge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0E6bGluaywgQTp2aXNpdGVkLCBBOmFjdGl2ZSB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIH0KKzwvc3R5bGU+PHRpdGxlPkxpc3Qgb2YgY29uc3RydWN0b3JzIGZvciBsaWJ4bWwyPC90aXRsZT48L2hlYWQ+PGJvZHkgYmdjb2xvcj0iIzhiNzc2NSIgdGV4dD0iIzAwMDAwMCIgbGluaz0iI2EwNjA2MCIgdmxpbms9IiMwMDAwMDAiPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSIxMDAlIiBjZWxscGFkZGluZz0iNSIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgd2lkdGg9IjEyMCI+PGEgaHJlZj0iaHR0cDovL3N3cGF0LmZmaWkub3JnLyI+PGltZyBzcmM9ImVwYXRlbnRzLnBuZyIgYWx0PSJBY3Rpb24gYWdhaW5zdCBzb2Z0d2FyZSBwYXRlbnRzIiAvPjwvYT48L3RkPjx0ZCB3aWR0aD0iMTgwIj48YSBocmVmPSJodHRwOi8vd3d3Lmdub21lLm9yZy8iPjxpbWcgc3JjPSJnbm9tZTIucG5nIiBhbHQ9Ikdub21lMiBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9TdGF0dXMiPjxpbWcgc3JjPSJ3M2MucG5nIiBhbHQ9IlczQyBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnJlZGhhdC5jb20vIj48aW1nIHNyYz0icmVkaGF0LmdpZiIgYWx0PSJSZWQgSGF0IExvZ28iIC8+PC9hPjxkaXYgYWxpZ249ImxlZnQiPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy8iPjxpbWcgc3JjPSJMaWJ4bWwyLUxvZ28tMTgweDE2OC5naWYiIGFsdD0iTWFkZSB3aXRoIExpYnhtbDIgTG9nbyIgLz48L2E+PC9kaXY+PC90ZD48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjkwJSIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiIGJnY29sb3I9IiNmZmZhY2QiPjx0cj48dGQgYWxpZ249ImNlbnRlciI+PGgxPlRoZSBYTUwgQyBwYXJzZXIgYW5kIHRvb2xraXQgb2YgR25vbWU8L2gxPjxoMj5MaXN0IG9mIGNvbnN0cnVjdG9ycyBmb3IgbGlieG1sMjwvaDI+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjQiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiIHdpZHRoPSIxMDAlIj48dHI+PHRkIHZhbGlnbj0idG9wIiB3aWR0aD0iMjAwIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5EZXZlbG9wZXIgTWVudTwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48Zm9ybSBhY3Rpb249InNlYXJjaC5waHAiIGVuY3R5cGU9ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIgbWV0aG9kPSJnZXQiPjxpbnB1dCBuYW1lPSJxdWVyeSIgdHlwZT0idGV4dCIgc2l6ZT0iMjAiIHZhbHVlPSIiIC8+PGlucHV0IG5hbWU9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU2VhcmNoIC4uLiIgLz48L2Zvcm0+PHVsPjxsaT48YSBocmVmPSJpbmRleC5odG1sIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+TWFpbiBNZW51PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0bWwvaW5kZXguaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPlJlZmVyZW5jZSBNYW51YWw8L2E+PC9saT48bGk+PGEgaHJlZj0iZXhhbXBsZXMvaW5kZXguaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPkNvZGUgRXhhbXBsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iZ3VpZGVsaW5lcy5odG1sIj5YTUwgR3VpZGVsaW5lczwvYT48L2xpPjxsaT48YSBocmVmPSJ0dXRvcmlhbC9pbmRleC5odG1sIj5UdXRvcmlhbDwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWxyZWFkZXIuaHRtbCI+VGhlIFJlYWRlciBJbnRlcmZhY2U8L2E+PC9saT48bGk+PGEgaHJlZj0iQ2hhbmdlTG9nLmh0bWwiPkNoYW5nZUxvZzwvYT48L2xpPjxsaT48YSBocmVmPSJYU0xULmh0bWwiPlhTTFQ8L2E+PC9saT48bGk+PGEgaHJlZj0icHl0aG9uLmh0bWwiPlB5dGhvbiBhbmQgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iYXJjaGl0ZWN0dXJlLmh0bWwiPmxpYnhtbDIgYXJjaGl0ZWN0dXJlPC9hPjwvbGk+PGxpPjxhIGhyZWY9InRyZWUuaHRtbCI+VGhlIHRyZWUgb3V0cHV0PC9hPjwvbGk+PGxpPjxhIGhyZWY9ImludGVyZmFjZS5odG1sIj5UaGUgU0FYIGludGVyZmFjZTwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWxtZW0uaHRtbCI+TWVtb3J5IE1hbmFnZW1lbnQ8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1saW8uaHRtbCI+SS9PIEludGVyZmFjZXM8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlicmFyeS5odG1sIj5UaGUgcGFyc2VyIGludGVyZmFjZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iZW50aXRpZXMuaHRtbCI+RW50aXRpZXMgb3Igbm8gZW50aXRpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0ibmFtZXNwYWNlcy5odG1sIj5OYW1lc3BhY2VzPC9hPjwvbGk+PGxpPjxhIGhyZWY9InVwZ3JhZGUuaHRtbCI+VXBncmFkaW5nIDEueCBjb2RlPC9hPjwvbGk+PGxpPjxhIGhyZWY9InRocmVhZHMuaHRtbCI+VGhyZWFkIHNhZmV0eTwvYT48L2xpPjxsaT48YSBocmVmPSJET00uaHRtbCI+RE9NIFByaW5jaXBsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iZXhhbXBsZS5odG1sIj5BIHJlYWwgZXhhbXBsZTwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWwuaHRtbCI+ZmxhdCBwYWdlPC9hPiwgPGEgaHJlZj0ic2l0ZS54c2wiPnN0eWxlc2hlZXQ8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5BUEkgSW5kZXhlczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9IkFQSWNodW5rMC5odG1sIj5BbHBoYWJldGljPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkFQSWNvbnN0cnVjdG9ycy5odG1sIj5Db25zdHJ1Y3RvcnM8L2E+PC9saT48bGk+PGEgaHJlZj0iQVBJZnVuY3Rpb25zLmh0bWwiPkZ1bmN0aW9ucy9UeXBlczwvYT48L2xpPjxsaT48YSBocmVmPSJBUElmaWxlcy5odG1sIj5Nb2R1bGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkFQSXN5bWJvbHMuaHRtbCI+U3ltYm9sczwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPlJlbGF0ZWQgbGlua3M8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSJodHRwOi8vbWFpbC5nbm9tZS5vcmcvYXJjaGl2ZXMveG1sLyI+TWFpbCBhcmNoaXZlPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9YU0xULyI+WFNMVCBsaWJ4c2x0PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9waGQuY3MudW5pYm8uaXQvZ2RvbWUyLyI+RE9NIGdkb21lMjwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmFsZWtzZXkuY29tL3htbHNlYy8iPlhNTC1EU2lnIHhtbHNlYzwvYT48L2xpPjxsaT48YSBocmVmPSJmdHA6Ly94bWxzb2Z0Lm9yZy8iPkZUUDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnpsYXRrb3ZpYy5jb20vcHJvamVjdHMvbGlieG1sLyI+V2luZG93cyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vb3BlbmNzdy5vcmcvcGFja2FnZXMvbGlieG1sMiI+U29sYXJpcyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmV4cGxhaW4uY29tLmF1L29zcy9saWJ4bWwyeHNsdC5odG1sIj5NYWNPc1ggYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2x4bWwuZGUvIj5seG1sIFB5dGhvbiBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vY3Bhbi51d2lubmlwZWcuY2EvZGlzdC9YTUwtTGliWE1MIj5QZXJsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWxwbHVzcGx1cy5zb3VyY2Vmb3JnZS5uZXQvIj5DKysgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56ZW5kLmNvbS9waHA1L2FydGljbGVzL3BocDUteG1scGhwLnBocCNIZWFkaW5nNCI+UEhQIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbGlieG1sMi1wYXMvIj5QYXNjYWwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbC5ydWJ5Zm9yZ2Uub3JnLyI+UnVieSBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vdGNseG1sLnNvdXJjZWZvcmdlLm5ldC8iPlRjbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2J1Z2xpc3QuY2dpP3Byb2R1Y3Q9bGlieG1sMiI+QnVnIFRyYWNrZXI8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48aDI+VHlwZSBTT0NLRVQ6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUEdldENvbm5lY3Rpb24iPnhtbE5hbm9GVFBHZXRDb25uZWN0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBHZXRTb2NrZXQiPnhtbE5hbm9GVFBHZXRTb2NrZXQ8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgY29uc3QgaHRtbEVsZW1EZXNjICo6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFRhZ0xvb2t1cCI+aHRtbFRhZ0xvb2t1cDwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSBjb25zdCBodG1sRW50aXR5RGVzYyAqOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxFbnRpdHlMb29rdXAiPmh0bWxFbnRpdHlMb29rdXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEVudGl0eVZhbHVlTG9va3VwIj5odG1sRW50aXR5VmFsdWVMb29rdXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlRW50aXR5UmVmIj5odG1sUGFyc2VFbnRpdHlSZWY8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgY29uc3QgeG1sQ2hhciAqOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjZ2V0UHVibGljSWQiPmdldFB1YmxpY0lkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjZ2V0U3lzdGVtSWQiPmdldFN5c3RlbUlkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNodG1sR2V0TWV0YUVuY29kaW5nIj5odG1sR2V0TWV0YUVuY29kaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjbmFtZVBvcCI+bmFtZVBvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJDb250ZW50Ij54bWxCdWZmZXJDb250ZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dHZXRQdWJsaWMiPnhtbENhdGFsb2dHZXRQdWJsaWM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ0dldFN5c3RlbSI+eG1sQ2F0YWxvZ0dldFN5c3RlbTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0RXhpc3RzIj54bWxEaWN0RXhpc3RzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGljdC5odG1sI3htbERpY3RMb29rdXAiPnhtbERpY3RMb29rdXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kaWN0Lmh0bWwjeG1sRGljdFFMb29rdXAiPnhtbERpY3RRTG9va3VwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxFbmNvZGVFbnRpdGllcyI+eG1sRW5jb2RlRW50aXRpZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dEJ1ZmZlckdldENvbnRlbnQiPnhtbE91dHB1dEJ1ZmZlckdldENvbnRlbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUF0dHJpYnV0ZSI+eG1sUGFyc2VBdHRyaWJ1dGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVuY29kaW5nRGVjbCI+eG1sUGFyc2VFbmNvZGluZ0RlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZU5hbWUiPnhtbFBhcnNlTmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlUElUYXJnZXQiPnhtbFBhcnNlUElUYXJnZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZVN0YXJ0VGFnIj54bWxQYXJzZVN0YXJ0VGFnPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJHZXRQdWJsaWNJZCI+eG1sU0FYMkdldFB1YmxpY0lkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJHZXRTeXN0ZW1JZCI+eG1sU0FYMkdldFN5c3RlbUlkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hVmFsdWVHZXRBc1N0cmluZyI+eG1sU2NoZW1hVmFsdWVHZXRBc1N0cmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTcGxpdFFOYW1lMyI+eG1sU3BsaXRRTmFtZTM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJjYXNlc3RyIj54bWxTdHJjYXNlc3RyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3RyY2hyIj54bWxTdHJjaHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJzdHIiPnhtbFN0cnN0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJDb25zdEJhc2VVcmkiPnhtbFRleHRSZWFkZXJDb25zdEJhc2VVcmk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyQ29uc3RFbmNvZGluZyI+eG1sVGV4dFJlYWRlckNvbnN0RW5jb2Rpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyQ29uc3RMb2NhbE5hbWUiPnhtbFRleHRSZWFkZXJDb25zdExvY2FsTmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJDb25zdE5hbWUiPnhtbFRleHRSZWFkZXJDb25zdE5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyQ29uc3ROYW1lc3BhY2VVcmkiPnhtbFRleHRSZWFkZXJDb25zdE5hbWVzcGFjZVVyaTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJDb25zdFByZWZpeCI+eG1sVGV4dFJlYWRlckNvbnN0UHJlZml4PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckNvbnN0U3RyaW5nIj54bWxUZXh0UmVhZGVyQ29uc3RTdHJpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyQ29uc3RWYWx1ZSI+eG1sVGV4dFJlYWRlckNvbnN0VmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyQ29uc3RYbWxMYW5nIj54bWxUZXh0UmVhZGVyQ29uc3RYbWxMYW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckNvbnN0WG1sVmVyc2lvbiI+eG1sVGV4dFJlYWRlckNvbnN0WG1sVmVyc2lvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFVURjhTdHJwb3MiPnhtbFVURjhTdHJwb3M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTnNMb29rdXAiPnhtbFhQYXRoTnNMb29rdXA8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgY29uc3QgeG1sUGFyc2VyTm9kZUluZm8gKjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlckZpbmROb2RlSW5mbyI+eG1sUGFyc2VyRmluZE5vZGVJbmZvPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIGRvY2JEb2NQdHI6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC1ET0NCcGFyc2VyLmh0bWwjZG9jYlBhcnNlRG9jIj5kb2NiUGFyc2VEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1ET0NCcGFyc2VyLmh0bWwjZG9jYlBhcnNlRmlsZSI+ZG9jYlBhcnNlRmlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiU0FYUGFyc2VEb2MiPmRvY2JTQVhQYXJzZURvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiU0FYUGFyc2VGaWxlIj5kb2NiU0FYUGFyc2VGaWxlPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIGRvY2JQYXJzZXJDdHh0UHRyOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtRE9DQnBhcnNlci5odG1sI2RvY2JDcmVhdGVGaWxlUGFyc2VyQ3R4dCI+ZG9jYkNyZWF0ZUZpbGVQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtRE9DQnBhcnNlci5odG1sI2RvY2JDcmVhdGVQdXNoUGFyc2VyQ3R4dCI+ZG9jYkNyZWF0ZVB1c2hQYXJzZXJDdHh0PC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIGRvdWJsZTo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDYXN0Qm9vbGVhblRvTnVtYmVyIj54bWxYUGF0aENhc3RCb29sZWFuVG9OdW1iZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ2FzdE5vZGVTZXRUb051bWJlciI+eG1sWFBhdGhDYXN0Tm9kZVNldFRvTnVtYmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENhc3ROb2RlVG9OdW1iZXIiPnhtbFhQYXRoQ2FzdE5vZGVUb051bWJlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDYXN0U3RyaW5nVG9OdW1iZXIiPnhtbFhQYXRoQ2FzdFN0cmluZ1RvTnVtYmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENhc3RUb051bWJlciI+eG1sWFBhdGhDYXN0VG9OdW1iZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUG9wTnVtYmVyIj54bWxYUGF0aFBvcE51bWJlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdHJpbmdFdmFsTnVtYmVyIj54bWxYUGF0aFN0cmluZ0V2YWxOdW1iZXI8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgaHRtbERvY1B0cjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sQ3R4dFJlYWREb2MiPmh0bWxDdHh0UmVhZERvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sQ3R4dFJlYWRGZCI+aHRtbEN0eHRSZWFkRmQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEN0eHRSZWFkRmlsZSI+aHRtbEN0eHRSZWFkRmlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sQ3R4dFJlYWRJTyI+aHRtbEN0eHRSZWFkSU88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEN0eHRSZWFkTWVtb3J5Ij5odG1sQ3R4dFJlYWRNZW1vcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI2h0bWxOZXdEb2MiPmh0bWxOZXdEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI2h0bWxOZXdEb2NOb0R0RCI+aHRtbE5ld0RvY05vRHREPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxQYXJzZURvYyI+aHRtbFBhcnNlRG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxQYXJzZUZpbGUiPmh0bWxQYXJzZUZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFJlYWREb2MiPmh0bWxSZWFkRG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxSZWFkRmQiPmh0bWxSZWFkRmQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFJlYWRGaWxlIj5odG1sUmVhZEZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFJlYWRJTyI+aHRtbFJlYWRJTzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sUmVhZE1lbW9yeSI+aHRtbFJlYWRNZW1vcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFNBWFBhcnNlRG9jIj5odG1sU0FYUGFyc2VEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFNBWFBhcnNlRmlsZSI+aHRtbFNBWFBhcnNlRmlsZTwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSBodG1sUGFyc2VyQ3R4dFB0cjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI2h0bWxDcmVhdGVGaWxlUGFyc2VyQ3R4dCI+aHRtbENyZWF0ZUZpbGVQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxDcmVhdGVNZW1vcnlQYXJzZXJDdHh0Ij5odG1sQ3JlYXRlTWVtb3J5UGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQiPmh0bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sTmV3UGFyc2VyQ3R4dCI+aHRtbE5ld1BhcnNlckN0eHQ8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgaHRtbFN0YXR1czo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sQXR0ckFsbG93ZWQiPmh0bWxBdHRyQWxsb3dlZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sRWxlbWVudFN0YXR1c0hlcmUiPmh0bWxFbGVtZW50U3RhdHVzSGVyZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sTm9kZVN0YXR1cyI+aHRtbE5vZGVTdGF0dXM8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgbG9uZzo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEJ5dGVDb25zdW1lZCI+eG1sQnl0ZUNvbnN1bWVkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEdldExpbmVObyI+eG1sR2V0TGluZU5vPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2F2ZS5odG1sI3htbFNhdmVEb2MiPnhtbFNhdmVEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzYXZlLmh0bWwjeG1sU2F2ZVRyZWUiPnhtbFNhdmVUcmVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckJ5dGVDb25zdW1lZCI+eG1sVGV4dFJlYWRlckJ5dGVDb25zdW1lZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPcmRlckRvY0VsZW1zIj54bWxYUGF0aE9yZGVyRG9jRWxlbXM8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgc2l6ZV90OjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1Zk5vZGVEdW1wIj54bWxCdWZOb2RlRHVtcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZTaHJpbmsiPnhtbEJ1ZlNocmluazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZVc2UiPnhtbEJ1ZlVzZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0R2V0VXNhZ2UiPnhtbERpY3RHZXRVc2FnZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0U2V0TGltaXQiPnhtbERpY3RTZXRMaW1pdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0QnVmZmVyR2V0U2l6ZSI+eG1sT3V0cHV0QnVmZmVyR2V0U2l6ZTwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB1bnNpZ25lZCBsb25nOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbENoaWxkRWxlbWVudENvdW50Ij54bWxDaGlsZEVsZW1lbnRDb3VudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlckZpbmROb2RlSW5mb0luZGV4Ij54bWxQYXJzZXJGaW5kTm9kZUluZm9JbmRleDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUdldEZhY2V0VmFsdWVBc1VMb25nIj54bWxTY2hlbWFHZXRGYWNldFZhbHVlQXNVTG9uZzwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB2b2lkICo6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ0FkZExvY2FsIj54bWxDYXRhbG9nQWRkTG9jYWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbEZpbGVPcGVuIj54bWxGaWxlT3BlbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoQ29waWVyIj54bWxIYXNoQ29waWVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hMb29rdXAiPnhtbEhhc2hMb29rdXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaExvb2t1cDIiPnhtbEhhc2hMb29rdXAyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hMb29rdXAzIj54bWxIYXNoTG9va3VwMzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoUUxvb2t1cCI+eG1sSGFzaFFMb29rdXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFFMb29rdXAyIj54bWxIYXNoUUxvb2t1cDI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFFMb29rdXAzIj54bWxIYXNoUUxvb2t1cDM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbElPRlRQT3BlbiI+eG1sSU9GVFBPcGVuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxJT0hUVFBPcGVuIj54bWxJT0hUVFBPcGVuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxJT0hUVFBPcGVuVyI+eG1sSU9IVFRQT3Blblc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbElucHV0T3BlbkNhbGxiYWNrIj54bWxJbnB1dE9wZW5DYWxsYmFjazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaW5rR2V0RGF0YSI+eG1sTGlua0dldERhdGE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdFJldmVyc2VTZWFyY2giPnhtbExpc3RSZXZlcnNlU2VhcmNoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3RTZWFyY2giPnhtbExpc3RTZWFyY2g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNYWxsb2NBdG9taWNMb2MiPnhtbE1hbGxvY0F0b21pY0xvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1hbGxvY0Z1bmMiPnhtbE1hbGxvY0Z1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNYWxsb2NMb2MiPnhtbE1hbGxvY0xvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1lbU1hbGxvYyI+eG1sTWVtTWFsbG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWVtUmVhbGxvYyI+eG1sTWVtUmVhbGxvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQQ29ubmVjdFRvIj54bWxOYW5vRlRQQ29ubmVjdFRvPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBOZXdDdHh0Ij54bWxOYW5vRlRQTmV3Q3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQT3BlbiI+eG1sTmFub0ZUUE9wZW48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQTWV0aG9kIj54bWxOYW5vSFRUUE1ldGhvZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9odHRwLmh0bWwjeG1sTmFub0hUVFBNZXRob2RSZWRpciI+eG1sTmFub0hUVFBNZXRob2RSZWRpcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9odHRwLmh0bWwjeG1sTmFub0hUVFBPcGVuIj54bWxOYW5vSFRUUE9wZW48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQT3BlblJlZGlyIj54bWxOYW5vSFRUUE9wZW5SZWRpcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0T3BlbkNhbGxiYWNrIj54bWxPdXRwdXRPcGVuQ2FsbGJhY2s8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxSZWFsbG9jRnVuYyI+eG1sUmVhbGxvY0Z1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxSZWFsbG9jTG9jIj54bWxSZWFsbG9jTG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFBvcEV4dGVybmFsIj54bWxYUGF0aFBvcEV4dGVybmFsPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhsaW5rSGFuZGxlclB0cjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhsaW5rLmh0bWwjeGxpbmtHZXREZWZhdWx0SGFuZGxlciI+eGxpbmtHZXREZWZhdWx0SGFuZGxlcjwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bGlua05vZGVEZXRlY3RGdW5jOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwteGxpbmsuaHRtbCN4bGlua0dldERlZmF1bHREZXRlY3QiPnhsaW5rR2V0RGVmYXVsdERldGVjdDwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bGlua1R5cGU6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC14bGluay5odG1sI3hsaW5rSXNMaW5rIj54bGlua0lzTGluazwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxBdHRyUHRyOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbENvcHlQcm9wIj54bWxDb3B5UHJvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxDb3B5UHJvcExpc3QiPnhtbENvcHlQcm9wTGlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sR2V0SUQiPnhtbEdldElEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEhhc05zUHJvcCI+eG1sSGFzTnNQcm9wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEhhc1Byb3AiPnhtbEhhc1Byb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3RG9jUHJvcCI+eG1sTmV3RG9jUHJvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdOc1Byb3AiPnhtbE5ld05zUHJvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdOc1Byb3BFYXROYW1lIj54bWxOZXdOc1Byb3BFYXROYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld1Byb3AiPnhtbE5ld1Byb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2V0TnNQcm9wIj54bWxTZXROc1Byb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2V0UHJvcCI+eG1sU2V0UHJvcDwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxBdHRyaWJ1dGVQdHI6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEFkZEF0dHJpYnV0ZURlY2wiPnhtbEFkZEF0dHJpYnV0ZURlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEdldER0ZEF0dHJEZXNjIj54bWxHZXREdGRBdHRyRGVzYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sR2V0RHRkUUF0dHJEZXNjIj54bWxHZXREdGRRQXR0ckRlc2M8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sQXR0cmlidXRlVGFibGVQdHI6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbENvcHlBdHRyaWJ1dGVUYWJsZSI+eG1sQ29weUF0dHJpYnV0ZVRhYmxlPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbEF1dG9tYXRhUHRyOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxOZXdBdXRvbWF0YSI+eG1sTmV3QXV0b21hdGE8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sQXV0b21hdGFTdGF0ZVB0cjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFHZXRJbml0U3RhdGUiPnhtbEF1dG9tYXRhR2V0SW5pdFN0YXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld0FsbFRyYW5zIj54bWxBdXRvbWF0YU5ld0FsbFRyYW5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld0NvdW50VHJhbnMiPnhtbEF1dG9tYXRhTmV3Q291bnRUcmFuczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdDb3VudFRyYW5zMiI+eG1sQXV0b21hdGFOZXdDb3VudFRyYW5zMjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdDb3VudGVkVHJhbnMiPnhtbEF1dG9tYXRhTmV3Q291bnRlZFRyYW5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld0NvdW50ZXJUcmFucyI+eG1sQXV0b21hdGFOZXdDb3VudGVyVHJhbnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhTmV3RXBzaWxvbiI+eG1sQXV0b21hdGFOZXdFcHNpbG9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld05lZ1RyYW5zIj54bWxBdXRvbWF0YU5ld05lZ1RyYW5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld09uY2VUcmFucyI+eG1sQXV0b21hdGFOZXdPbmNlVHJhbnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhTmV3T25jZVRyYW5zMiI+eG1sQXV0b21hdGFOZXdPbmNlVHJhbnMyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld1N0YXRlIj54bWxBdXRvbWF0YU5ld1N0YXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld1RyYW5zaXRpb24iPnhtbEF1dG9tYXRhTmV3VHJhbnNpdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdUcmFuc2l0aW9uMiI+eG1sQXV0b21hdGFOZXdUcmFuc2l0aW9uMjwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxCdWZmZXJBbGxvY2F0aW9uU2NoZW1lOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEdldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUiPnhtbEdldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sVGhyRGVmQnVmZmVyQWxsb2NTY2hlbWUiPnhtbFRockRlZkJ1ZmZlckFsbG9jU2NoZW1lPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbEJ1ZmZlclB0cjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJDcmVhdGUiPnhtbEJ1ZmZlckNyZWF0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJDcmVhdGVTaXplIj54bWxCdWZmZXJDcmVhdGVTaXplPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlckNyZWF0ZVN0YXRpYyI+eG1sQnVmZmVyQ3JlYXRlU3RhdGljPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbENhdGFsb2dBbGxvdzo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nR2V0RGVmYXVsdHMiPnhtbENhdGFsb2dHZXREZWZhdWx0czwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxDYXRhbG9nUHJlZmVyOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dTZXREZWZhdWx0UHJlZmVyIj54bWxDYXRhbG9nU2V0RGVmYXVsdFByZWZlcjwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxDYXRhbG9nUHRyOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbExvYWRBQ2F0YWxvZyI+eG1sTG9hZEFDYXRhbG9nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbExvYWRTR01MU3VwZXJDYXRhbG9nIj54bWxMb2FkU0dNTFN1cGVyQ2F0YWxvZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxOZXdDYXRhbG9nIj54bWxOZXdDYXRhbG9nPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbENoYXI6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQb3BJbnB1dCI+eG1sUG9wSW5wdXQ8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sQ2hhciAqOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbEFDYXRhbG9nUmVzb2x2ZSI+eG1sQUNhdGFsb2dSZXNvbHZlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbEFDYXRhbG9nUmVzb2x2ZVB1YmxpYyI+eG1sQUNhdGFsb2dSZXNvbHZlUHVibGljPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbEFDYXRhbG9nUmVzb2x2ZVN5c3RlbSI+eG1sQUNhdGFsb2dSZXNvbHZlU3lzdGVtPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbEFDYXRhbG9nUmVzb2x2ZVVSSSI+eG1sQUNhdGFsb2dSZXNvbHZlVVJJPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZkNvbnRlbnQiPnhtbEJ1ZkNvbnRlbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmRW5kIj54bWxCdWZFbmQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyRGV0YWNoIj54bWxCdWZmZXJEZXRhY2g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVpbGRRTmFtZSI+eG1sQnVpbGRRTmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbEJ1aWxkUmVsYXRpdmVVUkkiPnhtbEJ1aWxkUmVsYXRpdmVVUkk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxCdWlsZFVSSSI+eG1sQnVpbGRVUkk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxDYW5vbmljUGF0aCI+eG1sQ2Fub25pY1BhdGg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ0xvY2FsUmVzb2x2ZSI+eG1sQ2F0YWxvZ0xvY2FsUmVzb2x2ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nTG9jYWxSZXNvbHZlVVJJIj54bWxDYXRhbG9nTG9jYWxSZXNvbHZlVVJJPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dSZXNvbHZlIj54bWxDYXRhbG9nUmVzb2x2ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nUmVzb2x2ZVB1YmxpYyI+eG1sQ2F0YWxvZ1Jlc29sdmVQdWJsaWM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ1Jlc29sdmVTeXN0ZW0iPnhtbENhdGFsb2dSZXNvbHZlU3lzdGVtPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dSZXNvbHZlVVJJIj54bWxDYXRhbG9nUmVzb2x2ZVVSSTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXJTdHJkdXAiPnhtbENoYXJTdHJkdXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyU3RybmR1cCI+eG1sQ2hhclN0cm5kdXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxEZWNvZGVFbnRpdGllcyI+eG1sRGVjb2RlRW50aXRpZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI3htbEVuY29kZUVudGl0aWVzUmVlbnRyYW50Ij54bWxFbmNvZGVFbnRpdGllc1JlZW50cmFudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjeG1sRW5jb2RlU3BlY2lhbENoYXJzIj54bWxFbmNvZGVTcGVjaWFsQ2hhcnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sR2V0Tm9Oc1Byb3AiPnhtbEdldE5vTnNQcm9wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEdldE5vZGVQYXRoIj54bWxHZXROb2RlUGF0aDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxHZXROc1Byb3AiPnhtbEdldE5zUHJvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxHZXRQcm9wIj54bWxHZXRQcm9wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sTmFtZXNwYWNlUGFyc2VOQ05hbWUiPnhtbE5hbWVzcGFjZVBhcnNlTkNOYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sTmFtZXNwYWNlUGFyc2VOU0RlZiI+eG1sTmFtZXNwYWNlUGFyc2VOU0RlZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbE5hbWVzcGFjZVBhcnNlUU5hbWUiPnhtbE5hbWVzcGFjZVBhcnNlUU5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUdldEJhc2UiPnhtbE5vZGVHZXRCYXNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVHZXRDb250ZW50Ij54bWxOb2RlR2V0Q29udGVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlR2V0TGFuZyI+eG1sTm9kZUdldExhbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUxpc3RHZXRSYXdTdHJpbmciPnhtbE5vZGVMaXN0R2V0UmF3U3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVMaXN0R2V0U3RyaW5nIj54bWxOb2RlTGlzdEdldFN0cmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sTm9ybWFsaXplV2luZG93c1BhdGgiPnhtbE5vcm1hbGl6ZVdpbmRvd3NQYXRoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VBdHRWYWx1ZSI+eG1sUGFyc2VBdHRWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRW5jTmFtZSI+eG1sUGFyc2VFbmNOYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbnRpdHlWYWx1ZSI+eG1sUGFyc2VFbnRpdHlWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRXh0ZXJuYWxJRCI+eG1sUGFyc2VFeHRlcm5hbElEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VObXRva2VuIj54bWxQYXJzZU5tdG9rZW48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZVB1YmlkTGl0ZXJhbCI+eG1sUGFyc2VQdWJpZExpdGVyYWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZVF1b3RlZFN0cmluZyI+eG1sUGFyc2VRdW90ZWRTdHJpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZVN5c3RlbUxpdGVyYWwiPnhtbFBhcnNlU3lzdGVtTGl0ZXJhbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlVmVyc2lvbkluZm8iPnhtbFBhcnNlVmVyc2lvbkluZm88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZVZlcnNpb25OdW0iPnhtbFBhcnNlVmVyc2lvbk51bTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbFBhdGhUb1VSSSI+eG1sUGF0aFRvVVJJPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sU2F2ZVVyaSI+eG1sU2F2ZVVyaTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFNjYW5OYW1lIj54bWxTY2FuTmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUNvbGxhcHNlU3RyaW5nIj54bWxTY2hlbWFDb2xsYXBzZVN0cmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYVdoaXRlU3BhY2VSZXBsYWNlIj54bWxTY2hlbWFXaGl0ZVNwYWNlUmVwbGFjZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFNwbGl0UU5hbWUiPnhtbFNwbGl0UU5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU3BsaXRRTmFtZTIiPnhtbFNwbGl0UU5hbWUyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3RyY2F0Ij54bWxTdHJjYXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJkdXAiPnhtbFN0cmR1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFN0cmluZ0RlY29kZUVudGl0aWVzIj54bWxTdHJpbmdEZWNvZGVFbnRpdGllczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFN0cmluZ0xlbkRlY29kZUVudGl0aWVzIj54bWxTdHJpbmdMZW5EZWNvZGVFbnRpdGllczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFN0cm5jYXQiPnhtbFN0cm5jYXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJuY2F0TmV3Ij54bWxTdHJuY2F0TmV3PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3RybmR1cCI+eG1sU3RybmR1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFN0cnN1YiI+eG1sU3Ryc3ViPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckJhc2VVcmkiPnhtbFRleHRSZWFkZXJCYXNlVXJpPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZSI+eG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJHZXRBdHRyaWJ1dGVObyI+eG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZU5vPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZU5zIj54bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlTnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyTG9jYWxOYW1lIj54bWxUZXh0UmVhZGVyTG9jYWxOYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckxvY2F0b3JCYXNlVVJJIj54bWxUZXh0UmVhZGVyTG9jYXRvckJhc2VVUkk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyTG9va3VwTmFtZXNwYWNlIj54bWxUZXh0UmVhZGVyTG9va3VwTmFtZXNwYWNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlck5hbWUiPnhtbFRleHRSZWFkZXJOYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlck5hbWVzcGFjZVVyaSI+eG1sVGV4dFJlYWRlck5hbWVzcGFjZVVyaTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQcmVmaXgiPnhtbFRleHRSZWFkZXJQcmVmaXg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUmVhZElubmVyWG1sIj54bWxUZXh0UmVhZGVyUmVhZElubmVyWG1sPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclJlYWRPdXRlclhtbCI+eG1sVGV4dFJlYWRlclJlYWRPdXRlclhtbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJSZWFkU3RyaW5nIj54bWxUZXh0UmVhZGVyUmVhZFN0cmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJWYWx1ZSI+eG1sVGV4dFJlYWRlclZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclhtbExhbmciPnhtbFRleHRSZWFkZXJYbWxMYW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sVVJJRXNjYXBlIj54bWxVUklFc2NhcGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxVUklFc2NhcGVTdHIiPnhtbFVSSUVzY2FwZVN0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFVURjhTdHJuZHVwIj54bWxVVEY4U3RybmR1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFVURjhTdHJzdWIiPnhtbFVURjhTdHJzdWI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkQ3R4dE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlIj54bWxWYWxpZEN0eHROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZSI+eG1sVmFsaWROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDYXN0Qm9vbGVhblRvU3RyaW5nIj54bWxYUGF0aENhc3RCb29sZWFuVG9TdHJpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ2FzdE5vZGVTZXRUb1N0cmluZyI+eG1sWFBhdGhDYXN0Tm9kZVNldFRvU3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENhc3ROb2RlVG9TdHJpbmciPnhtbFhQYXRoQ2FzdE5vZGVUb1N0cmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDYXN0TnVtYmVyVG9TdHJpbmciPnhtbFhQYXRoQ2FzdE51bWJlclRvU3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENhc3RUb1N0cmluZyI+eG1sWFBhdGhDYXN0VG9TdHJpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUGFyc2VOQ05hbWUiPnhtbFhQYXRoUGFyc2VOQ05hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUGFyc2VOYW1lIj54bWxYUGF0aFBhcnNlTmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhQb3BTdHJpbmciPnhtbFhQYXRoUG9wU3RyaW5nPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbENoYXJFbmNvZGluZzo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sRGV0ZWN0Q2hhckVuY29kaW5nIj54bWxEZXRlY3RDaGFyRW5jb2Rpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbFBhcnNlQ2hhckVuY29kaW5nIj54bWxQYXJzZUNoYXJFbmNvZGluZzwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxGaW5kQ2hhckVuY29kaW5nSGFuZGxlciI+eG1sRmluZENoYXJFbmNvZGluZ0hhbmRsZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbEdldENoYXJFbmNvZGluZ0hhbmRsZXIiPnhtbEdldENoYXJFbmNvZGluZ0hhbmRsZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbE5ld0NoYXJFbmNvZGluZ0hhbmRsZXIiPnhtbE5ld0NoYXJFbmNvZGluZ0hhbmRsZXI8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sRE9NV3JhcEN0eHRQdHI6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcE5ld0N0eHQiPnhtbERPTVdyYXBOZXdDdHh0PC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbERlcmVnaXN0ZXJOb2RlRnVuYzo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxEZXJlZ2lzdGVyTm9kZURlZmF1bHQiPnhtbERlcmVnaXN0ZXJOb2RlRGVmYXVsdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxUaHJEZWZEZXJlZ2lzdGVyTm9kZURlZmF1bHQiPnhtbFRockRlZkRlcmVnaXN0ZXJOb2RlRGVmYXVsdDwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxEaWN0UHRyOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtZGljdC5odG1sI3htbERpY3RDcmVhdGUiPnhtbERpY3RDcmVhdGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kaWN0Lmh0bWwjeG1sRGljdENyZWF0ZVN1YiI+eG1sRGljdENyZWF0ZVN1YjwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxEb2NQdHI6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQ29weURvYyI+eG1sQ29weURvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEN0eHRSZWFkRG9jIj54bWxDdHh0UmVhZERvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEN0eHRSZWFkRmQiPnhtbEN0eHRSZWFkRmQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxDdHh0UmVhZEZpbGUiPnhtbEN0eHRSZWFkRmlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEN0eHRSZWFkSU8iPnhtbEN0eHRSZWFkSU88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxDdHh0UmVhZE1lbW9yeSI+eG1sQ3R4dFJlYWRNZW1vcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3RG9jIj54bWxOZXdEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sUGFyc2VDYXRhbG9nRmlsZSI+eG1sUGFyc2VDYXRhbG9nRmlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlRG9jIj54bWxQYXJzZURvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlRW50aXR5Ij54bWxQYXJzZUVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlRmlsZSI+eG1sUGFyc2VGaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VNZW1vcnkiPnhtbFBhcnNlTWVtb3J5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUmVhZERvYyI+eG1sUmVhZERvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFJlYWRGZCI+eG1sUmVhZEZkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUmVhZEZpbGUiPnhtbFJlYWRGaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUmVhZElPIj54bWxSZWFkSU88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxSZWFkTWVtb3J5Ij54bWxSZWFkTWVtb3J5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUmVjb3ZlckRvYyI+eG1sUmVjb3ZlckRvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFJlY292ZXJGaWxlIj54bWxSZWNvdmVyRmlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFJlY292ZXJNZW1vcnkiPnhtbFJlY292ZXJNZW1vcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxTQVhQYXJzZURvYyI+eG1sU0FYUGFyc2VEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxTQVhQYXJzZUVudGl0eSI+eG1sU0FYUGFyc2VFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxTQVhQYXJzZUZpbGUiPnhtbFNBWFBhcnNlRmlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNBWFBhcnNlRmlsZVdpdGhEYXRhIj54bWxTQVhQYXJzZUZpbGVXaXRoRGF0YTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNBWFBhcnNlTWVtb3J5Ij54bWxTQVhQYXJzZU1lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNBWFBhcnNlTWVtb3J5V2l0aERhdGEiPnhtbFNBWFBhcnNlTWVtb3J5V2l0aERhdGE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyQ3VycmVudERvYyI+eG1sVGV4dFJlYWRlckN1cnJlbnREb2M8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sRHRkUHRyOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbENvcHlEdGQiPnhtbENvcHlEdGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQ3JlYXRlSW50U3Vic2V0Ij54bWxDcmVhdGVJbnRTdWJzZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sR2V0SW50U3Vic2V0Ij54bWxHZXRJbnRTdWJzZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxJT1BhcnNlRFREIj54bWxJT1BhcnNlRFREPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld0R0ZCI+eG1sTmV3RHRkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VEVEQiPnhtbFBhcnNlRFREPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYUGFyc2VEVEQiPnhtbFNBWFBhcnNlRFREPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbEVsZW1lbnRDb250ZW50UHRyOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxDb3B5RG9jRWxlbWVudENvbnRlbnQiPnhtbENvcHlEb2NFbGVtZW50Q29udGVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sQ29weUVsZW1lbnRDb250ZW50Ij54bWxDb3B5RWxlbWVudENvbnRlbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbE5ld0RvY0VsZW1lbnRDb250ZW50Ij54bWxOZXdEb2NFbGVtZW50Q29udGVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sTmV3RWxlbWVudENvbnRlbnQiPnhtbE5ld0VsZW1lbnRDb250ZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbGVtZW50Q2hpbGRyZW5Db250ZW50RGVjbCI+eG1sUGFyc2VFbGVtZW50Q2hpbGRyZW5Db250ZW50RGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRWxlbWVudE1peGVkQ29udGVudERlY2wiPnhtbFBhcnNlRWxlbWVudE1peGVkQ29udGVudERlY2w8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sRWxlbWVudFB0cjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sQWRkRWxlbWVudERlY2wiPnhtbEFkZEVsZW1lbnREZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxHZXREdGRFbGVtZW50RGVzYyI+eG1sR2V0RHRkRWxlbWVudERlc2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEdldER0ZFFFbGVtZW50RGVzYyI+eG1sR2V0RHRkUUVsZW1lbnREZXNjPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbEVsZW1lbnRUYWJsZVB0cjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sQ29weUVsZW1lbnRUYWJsZSI+eG1sQ29weUVsZW1lbnRUYWJsZTwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxFbnRpdGllc1RhYmxlUHRyOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxDb3B5RW50aXRpZXNUYWJsZSI+eG1sQ29weUVudGl0aWVzVGFibGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI3htbENyZWF0ZUVudGl0aWVzVGFibGUiPnhtbENyZWF0ZUVudGl0aWVzVGFibGU8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sRW50aXR5UHRyOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjZ2V0RW50aXR5Ij5nZXRFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNnZXRFbnRpdHlTQVhGdW5jIj5nZXRFbnRpdHlTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjZ2V0UGFyYW1ldGVyRW50aXR5Ij5nZXRQYXJhbWV0ZXJFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNnZXRQYXJhbWV0ZXJFbnRpdHlTQVhGdW5jIj5nZXRQYXJhbWV0ZXJFbnRpdHlTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxBZGREb2NFbnRpdHkiPnhtbEFkZERvY0VudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjeG1sQWRkRHRkRW50aXR5Ij54bWxBZGREdGRFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI3htbEdldERvY0VudGl0eSI+eG1sR2V0RG9jRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxHZXREdGRFbnRpdHkiPnhtbEdldER0ZEVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjeG1sR2V0UGFyYW1ldGVyRW50aXR5Ij54bWxHZXRQYXJhbWV0ZXJFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI3htbEdldFByZWRlZmluZWRFbnRpdHkiPnhtbEdldFByZWRlZmluZWRFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI3htbE5ld0VudGl0eSI+eG1sTmV3RW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbnRpdHlSZWYiPnhtbFBhcnNlRW50aXR5UmVmPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJHZXRFbnRpdHkiPnhtbFNBWDJHZXRFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMkdldFBhcmFtZXRlckVudGl0eSI+eG1sU0FYMkdldFBhcmFtZXRlckVudGl0eTwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxFbnVtZXJhdGlvblB0cjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sQ29weUVudW1lcmF0aW9uIj54bWxDb3B5RW51bWVyYXRpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbENyZWF0ZUVudW1lcmF0aW9uIj54bWxDcmVhdGVFbnVtZXJhdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRW51bWVyYXRpb25UeXBlIj54bWxQYXJzZUVudW1lcmF0aW9uVHlwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlTm90YXRpb25UeXBlIj54bWxQYXJzZU5vdGF0aW9uVHlwZTwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxFcnJvclB0cjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sQ3R4dEdldExhc3RFcnJvciI+eG1sQ3R4dEdldExhc3RFcnJvcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sR2V0TGFzdEVycm9yIj54bWxHZXRMYXN0RXJyb3I8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sRXhwQ3R4dFB0cjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5ld0N0eHQiPnhtbEV4cE5ld0N0eHQ8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sRXhwTm9kZVB0cjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cEV4cERlcml2ZSI+eG1sRXhwRXhwRGVyaXZlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwTmV3QXRvbSI+eG1sRXhwTmV3QXRvbTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5ld09yIj54bWxFeHBOZXdPcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5ld1JhbmdlIj54bWxFeHBOZXdSYW5nZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5ld1NlcSI+eG1sRXhwTmV3U2VxPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwUGFyc2UiPnhtbEV4cFBhcnNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwU3RyaW5nRGVyaXZlIj54bWxFeHBTdHJpbmdEZXJpdmU8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sRXh0ZXJuYWxFbnRpdHlMb2FkZXI6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxHZXRFeHRlcm5hbEVudGl0eUxvYWRlciI+eG1sR2V0RXh0ZXJuYWxFbnRpdHlMb2FkZXI8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sR2xvYmFsU3RhdGVQdHI6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sR2V0R2xvYmFsU3RhdGUiPnhtbEdldEdsb2JhbFN0YXRlPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbEhhc2hUYWJsZVB0cjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoQ29weSI+eG1sSGFzaENvcHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaENyZWF0ZSI+eG1sSGFzaENyZWF0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoQ3JlYXRlRGljdCI+eG1sSGFzaENyZWF0ZURpY3Q8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sSURQdHI6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEFkZElEIj54bWxBZGRJRDwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxMaW5rUHRyOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3RFbmQiPnhtbExpc3RFbmQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdEZyb250Ij54bWxMaXN0RnJvbnQ8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sTGlzdFB0cjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sR2V0UmVmcyI+eG1sR2V0UmVmczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0Q3JlYXRlIj54bWxMaXN0Q3JlYXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3REdXAiPnhtbExpc3REdXA8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sTG9jYXRpb25TZXRQdHI6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJMb2NhdGlvblNldENyZWF0ZSI+eG1sWFB0ckxvY2F0aW9uU2V0Q3JlYXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyTG9jYXRpb25TZXRNZXJnZSI+eG1sWFB0ckxvY2F0aW9uU2V0TWVyZ2U8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sTW9kdWxlUHRyOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbW9kdWxlLmh0bWwjeG1sTW9kdWxlT3BlbiI+eG1sTW9kdWxlT3BlbjwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxNdXRleFB0cjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRocmVhZHMuaHRtbCN4bWxOZXdNdXRleCI+eG1sTmV3TXV0ZXg8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sTm9kZVB0cjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI25vZGVQb3AiPm5vZGVQb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQWRkQ2hpbGQiPnhtbEFkZENoaWxkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEFkZENoaWxkTGlzdCI+eG1sQWRkQ2hpbGRMaXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEFkZE5leHRTaWJsaW5nIj54bWxBZGROZXh0U2libGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxBZGRQcmV2U2libGluZyI+eG1sQWRkUHJldlNpYmxpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQWRkU2libGluZyI+eG1sQWRkU2libGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxDb3B5Tm9kZSI+eG1sQ29weU5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQ29weU5vZGVMaXN0Ij54bWxDb3B5Tm9kZUxpc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRG9jQ29weU5vZGUiPnhtbERvY0NvcHlOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERvY0NvcHlOb2RlTGlzdCI+eG1sRG9jQ29weU5vZGVMaXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERvY0dldFJvb3RFbGVtZW50Ij54bWxEb2NHZXRSb290RWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxEb2NTZXRSb290RWxlbWVudCI+eG1sRG9jU2V0Um9vdEVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRmlyc3RFbGVtZW50Q2hpbGQiPnhtbEZpcnN0RWxlbWVudENoaWxkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEdldExhc3RDaGlsZCI+eG1sR2V0TGFzdENoaWxkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbExhc3RFbGVtZW50Q2hpbGQiPnhtbExhc3RFbGVtZW50Q2hpbGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3Q0RhdGFCbG9jayI+eG1sTmV3Q0RhdGFCbG9jazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdDaGFyUmVmIj54bWxOZXdDaGFyUmVmPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld0NoaWxkIj54bWxOZXdDaGlsZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdDb21tZW50Ij54bWxOZXdDb21tZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld0RvY0NvbW1lbnQiPnhtbE5ld0RvY0NvbW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3RG9jRnJhZ21lbnQiPnhtbE5ld0RvY0ZyYWdtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld0RvY05vZGUiPnhtbE5ld0RvY05vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3RG9jTm9kZUVhdE5hbWUiPnhtbE5ld0RvY05vZGVFYXROYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld0RvY1BJIj54bWxOZXdEb2NQSTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdEb2NSYXdOb2RlIj54bWxOZXdEb2NSYXdOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld0RvY1RleHQiPnhtbE5ld0RvY1RleHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3RG9jVGV4dExlbiI+eG1sTmV3RG9jVGV4dExlbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdOb2RlIj54bWxOZXdOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld05vZGVFYXROYW1lIj54bWxOZXdOb2RlRWF0TmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdQSSI+eG1sTmV3UEk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3UmVmZXJlbmNlIj54bWxOZXdSZWZlcmVuY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3VGV4dCI+eG1sTmV3VGV4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdUZXh0Q2hpbGQiPnhtbE5ld1RleHRDaGlsZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdUZXh0TGVuIj54bWxOZXdUZXh0TGVuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5leHRFbGVtZW50U2libGluZyI+eG1sTmV4dEVsZW1lbnRTaWJsaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFByZXZpb3VzRWxlbWVudFNpYmxpbmciPnhtbFByZXZpb3VzRWxlbWVudFNpYmxpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sUmVwbGFjZU5vZGUiPnhtbFJlcGxhY2VOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFN0cmluZ0dldE5vZGVMaXN0Ij54bWxTdHJpbmdHZXROb2RlTGlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTdHJpbmdMZW5HZXROb2RlTGlzdCI+eG1sU3RyaW5nTGVuR2V0Tm9kZUxpc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sVGV4dE1lcmdlIj54bWxUZXh0TWVyZ2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyQ3VycmVudE5vZGUiPnhtbFRleHRSZWFkZXJDdXJyZW50Tm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJFeHBhbmQiPnhtbFRleHRSZWFkZXJFeHBhbmQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHJlc2VydmUiPnhtbFRleHRSZWFkZXJQcmVzZXJ2ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXh0QW5jZXN0b3IiPnhtbFhQYXRoTmV4dEFuY2VzdG9yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHRBbmNlc3Rvck9yU2VsZiI+eG1sWFBhdGhOZXh0QW5jZXN0b3JPclNlbGY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV4dEF0dHJpYnV0ZSI+eG1sWFBhdGhOZXh0QXR0cmlidXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHRDaGlsZCI+eG1sWFBhdGhOZXh0Q2hpbGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV4dERlc2NlbmRhbnQiPnhtbFhQYXRoTmV4dERlc2NlbmRhbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV4dERlc2NlbmRhbnRPclNlbGYiPnhtbFhQYXRoTmV4dERlc2NlbmRhbnRPclNlbGY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV4dEZvbGxvd2luZyI+eG1sWFBhdGhOZXh0Rm9sbG93aW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHRGb2xsb3dpbmdTaWJsaW5nIj54bWxYUGF0aE5leHRGb2xsb3dpbmdTaWJsaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHROYW1lc3BhY2UiPnhtbFhQYXRoTmV4dE5hbWVzcGFjZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXh0UGFyZW50Ij54bWxYUGF0aE5leHRQYXJlbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV4dFByZWNlZGluZyI+eG1sWFBhdGhOZXh0UHJlY2VkaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHRQcmVjZWRpbmdTaWJsaW5nIj54bWxYUGF0aE5leHRQcmVjZWRpbmdTaWJsaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHRTZWxmIj54bWxYUGF0aE5leHRTZWxmPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyQnVpbGROb2RlTGlzdCI+eG1sWFB0ckJ1aWxkTm9kZUxpc3Q8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sTm9kZVNldFB0cjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhEaWZmZXJlbmNlIj54bWxYUGF0aERpZmZlcmVuY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRGlzdGluY3QiPnhtbFhQYXRoRGlzdGluY3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRGlzdGluY3RTb3J0ZWQiPnhtbFhQYXRoRGlzdGluY3RTb3J0ZWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoSW50ZXJzZWN0aW9uIj54bWxYUGF0aEludGVyc2VjdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhMZWFkaW5nIj54bWxYUGF0aExlYWRpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTGVhZGluZ1NvcnRlZCI+eG1sWFBhdGhMZWFkaW5nU29ydGVkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vZGVMZWFkaW5nIj54bWxYUGF0aE5vZGVMZWFkaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vZGVMZWFkaW5nU29ydGVkIj54bWxYUGF0aE5vZGVMZWFkaW5nU29ydGVkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE5vZGVTZXRDcmVhdGUiPnhtbFhQYXRoTm9kZVNldENyZWF0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb2RlU2V0TWVyZ2UiPnhtbFhQYXRoTm9kZVNldE1lcmdlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vZGVUcmFpbGluZyI+eG1sWFBhdGhOb2RlVHJhaWxpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9kZVRyYWlsaW5nU29ydGVkIj54bWxYUGF0aE5vZGVUcmFpbGluZ1NvcnRlZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhQb3BOb2RlU2V0Ij54bWxYUGF0aFBvcE5vZGVTZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoVHJhaWxpbmciPnhtbFhQYXRoVHJhaWxpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoVHJhaWxpbmdTb3J0ZWQiPnhtbFhQYXRoVHJhaWxpbmdTb3J0ZWQ8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sTm90YXRpb25QdHI6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEFkZE5vdGF0aW9uRGVjbCI+eG1sQWRkTm90YXRpb25EZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxHZXREdGROb3RhdGlvbkRlc2MiPnhtbEdldER0ZE5vdGF0aW9uRGVzYzwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxOb3RhdGlvblRhYmxlUHRyOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxDb3B5Tm90YXRpb25UYWJsZSI+eG1sQ29weU5vdGF0aW9uVGFibGU8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sTnNQdHI6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNnZXROYW1lc3BhY2UiPmdldE5hbWVzcGFjZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxDb3B5TmFtZXNwYWNlIj54bWxDb3B5TmFtZXNwYWNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbENvcHlOYW1lc3BhY2VMaXN0Ij54bWxDb3B5TmFtZXNwYWNlTGlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwQWNxdWlyZU5zRnVuY3Rpb24iPnhtbERPTVdyYXBBY3F1aXJlTnNGdW5jdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdHbG9iYWxOcyI+eG1sTmV3R2xvYmFsTnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3TnMiPnhtbE5ld05zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNlYXJjaE5zIj54bWxTZWFyY2hOczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTZWFyY2hOc0J5SHJlZiI+eG1sU2VhcmNoTnNCeUhyZWY8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sTnNQdHIgKjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxHZXROc0xpc3QiPnhtbEdldE5zTGlzdDwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmM6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0Ij54bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sVGhyRGVmT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0Ij54bWxUaHJEZWZPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQ8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sT3V0cHV0QnVmZmVyUHRyOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxBbGxvY091dHB1dEJ1ZmZlciI+eG1sQWxsb2NPdXRwdXRCdWZmZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dEJ1ZmZlckNyZWF0ZUJ1ZmZlciI+eG1sT3V0cHV0QnVmZmVyQ3JlYXRlQnVmZmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRCdWZmZXJDcmVhdGVGZCI+eG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGUiPnhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lIj54bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmMiPnhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0QnVmZmVyQ3JlYXRlSU8iPnhtbE91dHB1dEJ1ZmZlckNyZWF0ZUlPPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbFBhcnNlckN0eHRQdHI6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxDcmVhdGVEb2NQYXJzZXJDdHh0Ij54bWxDcmVhdGVEb2NQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sQ3JlYXRlRW50aXR5UGFyc2VyQ3R4dCI+eG1sQ3JlYXRlRW50aXR5UGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbENyZWF0ZUZpbGVQYXJzZXJDdHh0Ij54bWxDcmVhdGVGaWxlUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbENyZWF0ZUlPUGFyc2VyQ3R4dCI+eG1sQ3JlYXRlSU9QYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sQ3JlYXRlTWVtb3J5UGFyc2VyQ3R4dCI+eG1sQ3JlYXRlTWVtb3J5UGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbENyZWF0ZVB1c2hQYXJzZXJDdHh0Ij54bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbENyZWF0ZVVSTFBhcnNlckN0eHQiPnhtbENyZWF0ZVVSTFBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxOZXdQYXJzZXJDdHh0Ij54bWxOZXdQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkQ3R4dEdldFBhcnNlckN0eHQiPnhtbFNjaGVtYVZhbGlkQ3R4dEdldFBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sUGFyc2VyRXJyb3JzOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VJbk5vZGVDb250ZXh0Ij54bWxQYXJzZUluTm9kZUNvbnRleHQ8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmM6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQiPnhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbFRockRlZlBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0Ij54bWxUaHJEZWZQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRGVmYXVsdDwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sQWxsb2NQYXJzZXJJbnB1dEJ1ZmZlciI+eG1sQWxsb2NQYXJzZXJJbnB1dEJ1ZmZlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGZCI+eG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlIj54bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWUiPnhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmMiPnhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUlPIj54bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUlPPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZU1lbSI+eG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVNZW08L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlU3RhdGljIj54bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZVN0YXRpYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJHZXRSZW1haW5kZXIiPnhtbFRleHRSZWFkZXJHZXRSZW1haW5kZXI8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sUGFyc2VySW5wdXRQdHI6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNpbnB1dFBvcCI+aW5wdXRQb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNyZXNvbHZlRW50aXR5Ij5yZXNvbHZlRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjcmVzb2x2ZUVudGl0eVNBWEZ1bmMiPnJlc29sdmVFbnRpdHlTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxDaGVja0hUVFBJbnB1dCI+eG1sQ2hlY2tIVFRQSW5wdXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxFeHRlcm5hbEVudGl0eUxvYWRlciI+eG1sRXh0ZXJuYWxFbnRpdHlMb2FkZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxMb2FkRXh0ZXJuYWxFbnRpdHkiPnhtbExvYWRFeHRlcm5hbEVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbE5ld0VudGl0eUlucHV0U3RyZWFtIj54bWxOZXdFbnRpdHlJbnB1dFN0cmVhbTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbE5ld0lPSW5wdXRTdHJlYW0iPnhtbE5ld0lPSW5wdXRTdHJlYW08L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxOZXdJbnB1dEZyb21GaWxlIj54bWxOZXdJbnB1dEZyb21GaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sTmV3SW5wdXRTdHJlYW0iPnhtbE5ld0lucHV0U3RyZWFtPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sTmV3U3RyaW5nSW5wdXRTdHJlYW0iPnhtbE5ld1N0cmluZ0lucHV0U3RyZWFtPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxOb05ldEV4dGVybmFsRW50aXR5TG9hZGVyIj54bWxOb05ldEV4dGVybmFsRW50aXR5TG9hZGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJSZXNvbHZlRW50aXR5Ij54bWxTQVgyUmVzb2x2ZUVudGl0eTwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxQYXR0ZXJuUHRyOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbFBhdHRlcm5jb21waWxlIj54bWxQYXR0ZXJuY29tcGlsZTwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxSTXV0ZXhQdHI6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sTmV3Uk11dGV4Ij54bWxOZXdSTXV0ZXg8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sUmVmUHRyOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxBZGRSZWYiPnhtbEFkZFJlZjwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxSZWdFeGVjQ3R4dFB0cjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ05ld0V4ZWNDdHh0Ij54bWxSZWdOZXdFeGVjQ3R4dDwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxSZWdleHBQdHI6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhQ29tcGlsZSI+eG1sQXV0b21hdGFDb21waWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnZXhwQ29tcGlsZSI+eG1sUmVnZXhwQ29tcGlsZTwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxSZWdpc3Rlck5vZGVGdW5jOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbFJlZ2lzdGVyTm9kZURlZmF1bHQiPnhtbFJlZ2lzdGVyTm9kZURlZmF1bHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sVGhyRGVmUmVnaXN0ZXJOb2RlRGVmYXVsdCI+eG1sVGhyRGVmUmVnaXN0ZXJOb2RlRGVmYXVsdDwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxSZWxheE5HUGFyc2VyQ3R4dFB0cjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HTmV3RG9jUGFyc2VyQ3R4dCI+eG1sUmVsYXhOR05ld0RvY1BhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR05ld01lbVBhcnNlckN0eHQiPnhtbFJlbGF4TkdOZXdNZW1QYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdOZXdQYXJzZXJDdHh0Ij54bWxSZWxheE5HTmV3UGFyc2VyQ3R4dDwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxSZWxheE5HUHRyOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdQYXJzZSI+eG1sUmVsYXhOR1BhcnNlPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbFJlbGF4TkdWYWxpZEN0eHRQdHI6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR05ld1ZhbGlkQ3R4dCI+eG1sUmVsYXhOR05ld1ZhbGlkQ3R4dDwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxTYXZlQ3R4dFB0cjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNhdmUuaHRtbCN4bWxTYXZlVG9CdWZmZXIiPnhtbFNhdmVUb0J1ZmZlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNhdmUuaHRtbCN4bWxTYXZlVG9GZCI+eG1sU2F2ZVRvRmQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzYXZlLmh0bWwjeG1sU2F2ZVRvRmlsZW5hbWUiPnhtbFNhdmVUb0ZpbGVuYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2F2ZS5odG1sI3htbFNhdmVUb0lPIj54bWxTYXZlVG9JTzwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxTY2hlbWFGYWNldFB0cjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYU5ld0ZhY2V0Ij54bWxTY2hlbWFOZXdGYWNldDwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxTY2hlbWFQYXJzZXJDdHh0UHRyOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYU5ld0RvY1BhcnNlckN0eHQiPnhtbFNjaGVtYU5ld0RvY1BhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hTmV3TWVtUGFyc2VyQ3R4dCI+eG1sU2NoZW1hTmV3TWVtUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFOZXdQYXJzZXJDdHh0Ij54bWxTY2hlbWFOZXdQYXJzZXJDdHh0PC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbFNjaGVtYVB0cjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFQYXJzZSI+eG1sU2NoZW1hUGFyc2U8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sU2NoZW1hU0FYUGx1Z1B0cjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFTQVhQbHVnIj54bWxTY2hlbWFTQVhQbHVnPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbFNjaGVtYVR5cGVQdHI6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFHZXRCdWlsdEluTGlzdFNpbXBsZVR5cGVJdGVtVHlwZSI+eG1sU2NoZW1hR2V0QnVpbHRJbkxpc3RTaW1wbGVUeXBlSXRlbVR5cGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFHZXRCdWlsdEluVHlwZSI+eG1sU2NoZW1hR2V0QnVpbHRJblR5cGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFHZXRQcmVkZWZpbmVkVHlwZSI+eG1sU2NoZW1hR2V0UHJlZGVmaW5lZFR5cGU8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sU2NoZW1hVmFsUHRyOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hQ29weVZhbHVlIj54bWxTY2hlbWFDb3B5VmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFOZXdOT1RBVElPTlZhbHVlIj54bWxTY2hlbWFOZXdOT1RBVElPTlZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hTmV3UU5hbWVWYWx1ZSI+eG1sU2NoZW1hTmV3UU5hbWVWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYU5ld1N0cmluZ1ZhbHVlIj54bWxTY2hlbWFOZXdTdHJpbmdWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYVZhbHVlR2V0TmV4dCI+eG1sU2NoZW1hVmFsdWVHZXROZXh0PC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbFNjaGVtYVZhbFR5cGU6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFHZXRWYWxUeXBlIj54bWxTY2hlbWFHZXRWYWxUeXBlPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbFNjaGVtYVZhbGlkQ3R4dFB0cjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFOZXdWYWxpZEN0eHQiPnhtbFNjaGVtYU5ld1ZhbGlkQ3R4dDwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxTY2hlbWF0cm9uUGFyc2VyQ3R4dFB0cjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uTmV3RG9jUGFyc2VyQ3R4dCI+eG1sU2NoZW1hdHJvbk5ld0RvY1BhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvbk5ld01lbVBhcnNlckN0eHQiPnhtbFNjaGVtYXRyb25OZXdNZW1QYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hdHJvbi5odG1sI3htbFNjaGVtYXRyb25OZXdQYXJzZXJDdHh0Ij54bWxTY2hlbWF0cm9uTmV3UGFyc2VyQ3R4dDwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxTY2hlbWF0cm9uUHRyOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hdHJvbi5odG1sI3htbFNjaGVtYXRyb25QYXJzZSI+eG1sU2NoZW1hdHJvblBhcnNlPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbFNjaGVtYXRyb25WYWxpZEN0eHRQdHI6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvbk5ld1ZhbGlkQ3R4dCI+eG1sU2NoZW1hdHJvbk5ld1ZhbGlkQ3R4dDwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxTdHJlYW1DdHh0UHRyOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbFBhdHRlcm5HZXRTdHJlYW1DdHh0Ij54bWxQYXR0ZXJuR2V0U3RyZWFtQ3R4dDwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxUZXh0UmVhZGVyUHRyOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sTmV3VGV4dFJlYWRlciI+eG1sTmV3VGV4dFJlYWRlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbE5ld1RleHRSZWFkZXJGaWxlbmFtZSI+eG1sTmV3VGV4dFJlYWRlckZpbGVuYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sUmVhZGVyRm9yRG9jIj54bWxSZWFkZXJGb3JEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxSZWFkZXJGb3JGZCI+eG1sUmVhZGVyRm9yRmQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxSZWFkZXJGb3JGaWxlIj54bWxSZWFkZXJGb3JGaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sUmVhZGVyRm9ySU8iPnhtbFJlYWRlckZvcklPPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sUmVhZGVyRm9yTWVtb3J5Ij54bWxSZWFkZXJGb3JNZW1vcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxSZWFkZXJXYWxrZXIiPnhtbFJlYWRlcldhbGtlcjwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxUZXh0V3JpdGVyUHRyOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sTmV3VGV4dFdyaXRlciI+eG1sTmV3VGV4dFdyaXRlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbE5ld1RleHRXcml0ZXJEb2MiPnhtbE5ld1RleHRXcml0ZXJEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxOZXdUZXh0V3JpdGVyRmlsZW5hbWUiPnhtbE5ld1RleHRXcml0ZXJGaWxlbmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbE5ld1RleHRXcml0ZXJNZW1vcnkiPnhtbE5ld1RleHRXcml0ZXJNZW1vcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxOZXdUZXh0V3JpdGVyUHVzaFBhcnNlciI+eG1sTmV3VGV4dFdyaXRlclB1c2hQYXJzZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxOZXdUZXh0V3JpdGVyVHJlZSI+eG1sTmV3VGV4dFdyaXRlclRyZWU8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sVVJJUHRyOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sQ3JlYXRlVVJJIj54bWxDcmVhdGVVUkk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxQYXJzZVVSSSI+eG1sUGFyc2VVUkk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxQYXJzZVVSSVJhdyI+eG1sUGFyc2VVUklSYXc8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sVmFsaWRDdHh0UHRyOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxOZXdWYWxpZEN0eHQiPnhtbE5ld1ZhbGlkQ3R4dDwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxYSW5jbHVkZUN0eHRQdHI6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC14aW5jbHVkZS5odG1sI3htbFhJbmNsdWRlTmV3Q29udGV4dCI+eG1sWEluY2x1ZGVOZXdDb250ZXh0PC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbFhQYXRoQ29tcEV4cHJQdHI6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29tcGlsZSI+eG1sWFBhdGhDb21waWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aEN0eHRDb21waWxlIj54bWxYUGF0aEN0eHRDb21waWxlPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbFhQYXRoQ29udGV4dFB0cjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhOZXdDb250ZXh0Ij54bWxYUGF0aE5ld0NvbnRleHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJOZXdDb250ZXh0Ij54bWxYUHRyTmV3Q29udGV4dDwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxYUGF0aEZ1bmN0aW9uOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aEZ1bmNMb29rdXBGdW5jIj54bWxYUGF0aEZ1bmNMb29rdXBGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEZ1bmN0aW9uTG9va3VwIj54bWxYUGF0aEZ1bmN0aW9uTG9va3VwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEZ1bmN0aW9uTG9va3VwTlMiPnhtbFhQYXRoRnVuY3Rpb25Mb29rdXBOUzwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxYUGF0aE9iamVjdFB0cjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjdmFsdWVQb3AiPnZhbHVlUG9wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aEF4aXNGdW5jIj54bWxYUGF0aEF4aXNGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbXBpbGVkRXZhbCI+eG1sWFBhdGhDb21waWxlZEV2YWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udmVydEJvb2xlYW4iPnhtbFhQYXRoQ29udmVydEJvb2xlYW48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udmVydE51bWJlciI+eG1sWFBhdGhDb252ZXJ0TnVtYmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbnZlcnRTdHJpbmciPnhtbFhQYXRoQ29udmVydFN0cmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhFdmFsIj54bWxYUGF0aEV2YWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoRXZhbEV4cHJlc3Npb24iPnhtbFhQYXRoRXZhbEV4cHJlc3Npb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV3Qm9vbGVhbiI+eG1sWFBhdGhOZXdCb29sZWFuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5ld0NTdHJpbmciPnhtbFhQYXRoTmV3Q1N0cmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXdGbG9hdCI+eG1sWFBhdGhOZXdGbG9hdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXdOb2RlU2V0Ij54bWxYUGF0aE5ld05vZGVTZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV3Tm9kZVNldExpc3QiPnhtbFhQYXRoTmV3Tm9kZVNldExpc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV3U3RyaW5nIj54bWxYUGF0aE5ld1N0cmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXdWYWx1ZVRyZWUiPnhtbFhQYXRoTmV3VmFsdWVUcmVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE5vZGVFdmFsIj54bWxYUGF0aE5vZGVFdmFsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdENvcHkiPnhtbFhQYXRoT2JqZWN0Q29weTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhWYXJpYWJsZUxvb2t1cCI+eG1sWFBhdGhWYXJpYWJsZUxvb2t1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhWYXJpYWJsZUxvb2t1cEZ1bmMiPnhtbFhQYXRoVmFyaWFibGVMb29rdXBGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFZhcmlhYmxlTG9va3VwTlMiPnhtbFhQYXRoVmFyaWFibGVMb29rdXBOUzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhXcmFwQ1N0cmluZyI+eG1sWFBhdGhXcmFwQ1N0cmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhXcmFwRXh0ZXJuYWwiPnhtbFhQYXRoV3JhcEV4dGVybmFsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFdyYXBOb2RlU2V0Ij54bWxYUGF0aFdyYXBOb2RlU2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFdyYXBTdHJpbmciPnhtbFhQYXRoV3JhcFN0cmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ckV2YWwiPnhtbFhQdHJFdmFsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyTmV3Q29sbGFwc2VkUmFuZ2UiPnhtbFhQdHJOZXdDb2xsYXBzZWRSYW5nZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ck5ld0xvY2F0aW9uU2V0Tm9kZVNldCI+eG1sWFB0ck5ld0xvY2F0aW9uU2V0Tm9kZVNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ck5ld0xvY2F0aW9uU2V0Tm9kZXMiPnhtbFhQdHJOZXdMb2NhdGlvblNldE5vZGVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyTmV3UmFuZ2UiPnhtbFhQdHJOZXdSYW5nZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ck5ld1JhbmdlTm9kZU9iamVjdCI+eG1sWFB0ck5ld1JhbmdlTm9kZU9iamVjdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ck5ld1JhbmdlTm9kZVBvaW50Ij54bWxYUHRyTmV3UmFuZ2VOb2RlUG9pbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJOZXdSYW5nZU5vZGVzIj54bWxYUHRyTmV3UmFuZ2VOb2RlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ck5ld1JhbmdlUG9pbnROb2RlIj54bWxYUHRyTmV3UmFuZ2VQb2ludE5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJOZXdSYW5nZVBvaW50cyI+eG1sWFB0ck5ld1JhbmdlUG9pbnRzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyV3JhcExvY2F0aW9uU2V0Ij54bWxYUHRyV3JhcExvY2F0aW9uU2V0PC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXdQYXJzZXJDb250ZXh0Ij54bWxYUGF0aE5ld1BhcnNlckNvbnRleHQ8L2E+PGJyIC8+Cis8L3A+PHA+PGEgaHJlZj0iYnVncy5odG1sIj5EYW5pZWwgVmVpbGxhcmQ8L2E+PC9wPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9BUElmaWxlcy5odG1sIGIvbGlieG1sMi9kb2MvQVBJZmlsZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NWUwMDRiCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvQVBJZmlsZXMuaHRtbApAQCAtMCwwICsxLDM1OTAgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+PGxpbmsgcmVsPSJTSE9SVENVVCBJQ09OIiBocmVmPSIvZmF2aWNvbi5pY28iIC8+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK1REIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitCT0RZIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2E7IG1hcmdpbi10b3A6IDJlbTsgbWFyZ2luLWxlZnQ6IDBlbTsgbWFyZ2luLXJpZ2h0OiAwZW19CitIMSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDIge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gzIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitBOmxpbmssIEE6dmlzaXRlZCwgQTphY3RpdmUgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB9Cis8L3N0eWxlPjx0aXRsZT5MaXN0IG9mIFN5bWJvbHMgcGVyIE1vZHVsZSBmb3IgbGlieG1sMjwvdGl0bGU+PC9oZWFkPjxib2R5IGJnY29sb3I9IiM4Yjc3NjUiIHRleHQ9IiMwMDAwMDAiIGxpbms9IiNhMDYwNjAiIHZsaW5rPSIjMDAwMDAwIj48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iMTAwJSIgY2VsbHBhZGRpbmc9IjUiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIHdpZHRoPSIxMjAiPjxhIGhyZWY9Imh0dHA6Ly9zd3BhdC5mZmlpLm9yZy8iPjxpbWcgc3JjPSJlcGF0ZW50cy5wbmciIGFsdD0iQWN0aW9uIGFnYWluc3Qgc29mdHdhcmUgcGF0ZW50cyIgLz48L2E+PC90ZD48dGQgd2lkdGg9IjE4MCI+PGEgaHJlZj0iaHR0cDovL3d3dy5nbm9tZS5vcmcvIj48aW1nIHNyYz0iZ25vbWUyLnBuZyIgYWx0PSJHbm9tZTIgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvU3RhdHVzIj48aW1nIHNyYz0idzNjLnBuZyIgYWx0PSJXM0MgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy5yZWRoYXQuY29tLyI+PGltZyBzcmM9InJlZGhhdC5naWYiIGFsdD0iUmVkIEhhdCBMb2dvIiAvPjwvYT48ZGl2IGFsaWduPSJsZWZ0Ij48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvIj48aW1nIHNyYz0iTGlieG1sMi1Mb2dvLTE4MHgxNjguZ2lmIiBhbHQ9Ik1hZGUgd2l0aCBMaWJ4bWwyIExvZ28iIC8+PC9hPjwvZGl2PjwvdGQ+PHRkPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSI5MCUiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIiBiZ2NvbG9yPSIjZmZmYWNkIj48dHI+PHRkIGFsaWduPSJjZW50ZXIiPjxoMT5UaGUgWE1MIEMgcGFyc2VyIGFuZCB0b29sa2l0IG9mIEdub21lPC9oMT48aDI+TGlzdCBvZiBTeW1ib2xzIHBlciBNb2R1bGUgZm9yIGxpYnhtbDI8L2gyPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI0IiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCB2YWxpZ249InRvcCIgd2lkdGg9IjIwMCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+RGV2ZWxvcGVyIE1lbnU8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PGZvcm0gYWN0aW9uPSJzZWFyY2gucGhwIiBlbmN0eXBlPSJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiIG1ldGhvZD0iZ2V0Ij48aW5wdXQgbmFtZT0icXVlcnkiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iIiAvPjxpbnB1dCBuYW1lPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNlYXJjaCAuLi4iIC8+PC9mb3JtPjx1bD48bGk+PGEgaHJlZj0iaW5kZXguaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPk1haW4gTWVudTwvYT48L2xpPjxsaT48YSBocmVmPSJodG1sL2luZGV4Lmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5SZWZlcmVuY2UgTWFudWFsPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImV4YW1wbGVzL2luZGV4Lmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5Db2RlIEV4YW1wbGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imd1aWRlbGluZXMuaHRtbCI+WE1MIEd1aWRlbGluZXM8L2E+PC9saT48bGk+PGEgaHJlZj0idHV0b3JpYWwvaW5kZXguaHRtbCI+VHV0b3JpYWw8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1scmVhZGVyLmh0bWwiPlRoZSBSZWFkZXIgSW50ZXJmYWNlPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkNoYW5nZUxvZy5odG1sIj5DaGFuZ2VMb2c8L2E+PC9saT48bGk+PGEgaHJlZj0iWFNMVC5odG1sIj5YU0xUPC9hPjwvbGk+PGxpPjxhIGhyZWY9InB5dGhvbi5odG1sIj5QeXRob24gYW5kIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImFyY2hpdGVjdHVyZS5odG1sIj5saWJ4bWwyIGFyY2hpdGVjdHVyZTwvYT48L2xpPjxsaT48YSBocmVmPSJ0cmVlLmh0bWwiPlRoZSB0cmVlIG91dHB1dDwvYT48L2xpPjxsaT48YSBocmVmPSJpbnRlcmZhY2UuaHRtbCI+VGhlIFNBWCBpbnRlcmZhY2U8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1sbWVtLmh0bWwiPk1lbW9yeSBNYW5hZ2VtZW50PC9hPjwvbGk+PGxpPjxhIGhyZWY9InhtbGlvLmh0bWwiPkkvTyBJbnRlcmZhY2VzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnJhcnkuaHRtbCI+VGhlIHBhcnNlciBpbnRlcmZhY2VzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImVudGl0aWVzLmh0bWwiPkVudGl0aWVzIG9yIG5vIGVudGl0aWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Im5hbWVzcGFjZXMuaHRtbCI+TmFtZXNwYWNlczwvYT48L2xpPjxsaT48YSBocmVmPSJ1cGdyYWRlLmh0bWwiPlVwZ3JhZGluZyAxLnggY29kZTwvYT48L2xpPjxsaT48YSBocmVmPSJ0aHJlYWRzLmh0bWwiPlRocmVhZCBzYWZldHk8L2E+PC9saT48bGk+PGEgaHJlZj0iRE9NLmh0bWwiPkRPTSBQcmluY2lwbGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImV4YW1wbGUuaHRtbCI+QSByZWFsIGV4YW1wbGU8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1sLmh0bWwiPmZsYXQgcGFnZTwvYT4sIDxhIGhyZWY9InNpdGUueHNsIj5zdHlsZXNoZWV0PC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+QVBJIEluZGV4ZXM8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSJBUEljaHVuazAuaHRtbCI+QWxwaGFiZXRpYzwvYT48L2xpPjxsaT48YSBocmVmPSJBUEljb25zdHJ1Y3RvcnMuaHRtbCI+Q29uc3RydWN0b3JzPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkFQSWZ1bmN0aW9ucy5odG1sIj5GdW5jdGlvbnMvVHlwZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iQVBJZmlsZXMuaHRtbCI+TW9kdWxlczwvYT48L2xpPjxsaT48YSBocmVmPSJBUElzeW1ib2xzLmh0bWwiPlN5bWJvbHM8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5SZWxhdGVkIGxpbmtzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iaHR0cDovL21haWwuZ25vbWUub3JnL2FyY2hpdmVzL3htbC8iPk1haWwgYXJjaGl2ZTwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvWFNMVC8iPlhTTFQgbGlieHNsdDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vcGhkLmNzLnVuaWJvLml0L2dkb21lMi8iPkRPTSBnZG9tZTI8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5hbGVrc2V5LmNvbS94bWxzZWMvIj5YTUwtRFNpZyB4bWxzZWM8L2E+PC9saT48bGk+PGEgaHJlZj0iZnRwOi8veG1sc29mdC5vcmcvIj5GVFA8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56bGF0a292aWMuY29tL3Byb2plY3RzL2xpYnhtbC8iPldpbmRvd3MgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL29wZW5jc3cub3JnL3BhY2thZ2VzL2xpYnhtbDIiPlNvbGFyaXMgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5leHBsYWluLmNvbS5hdS9vc3MvbGlieG1sMnhzbHQuaHRtbCI+TWFjT3NYIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9seG1sLmRlLyI+bHhtbCBQeXRob24gYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2NwYW4udXdpbm5pcGVnLmNhL2Rpc3QvWE1MLUxpYlhNTCI+UGVybCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1scGx1c3BsdXMuc291cmNlZm9yZ2UubmV0LyI+QysrIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemVuZC5jb20vcGhwNS9hcnRpY2xlcy9waHA1LXhtbHBocC5waHAjSGVhZGluZzQiPlBIUCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2xpYnhtbDItcGFzLyI+UGFzY2FsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWwucnVieWZvcmdlLm9yZy8iPlJ1YnkgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3RjbHhtbC5zb3VyY2Vmb3JnZS5uZXQvIj5UY2wgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9idWdsaXN0LmNnaT9wcm9kdWN0PWxpYnhtbDIiPkJ1ZyBUcmFja2VyPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIzIiBjZWxsc3BhY2luZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PGgyPjxhIG5hbWU9IkRPQ0JwYXJzZXIiIGlkPSJET0NCcGFyc2VyIj5Nb2R1bGUgRE9DQnBhcnNlcjwvYT46PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC1ET0NCcGFyc2VyLmh0bWwjZG9jYkNyZWF0ZUZpbGVQYXJzZXJDdHh0Ij5kb2NiQ3JlYXRlRmlsZVBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1ET0NCcGFyc2VyLmh0bWwjZG9jYkNyZWF0ZVB1c2hQYXJzZXJDdHh0Ij5kb2NiQ3JlYXRlUHVzaFBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1ET0NCcGFyc2VyLmh0bWwjZG9jYkRvY1B0ciI+ZG9jYkRvY1B0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiRW5jb2RlRW50aXRpZXMiPmRvY2JFbmNvZGVFbnRpdGllczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiRnJlZVBhcnNlckN0eHQiPmRvY2JGcmVlUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiUGFyc2VDaHVuayI+ZG9jYlBhcnNlQ2h1bms8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1ET0NCcGFyc2VyLmh0bWwjZG9jYlBhcnNlRG9jIj5kb2NiUGFyc2VEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1ET0NCcGFyc2VyLmh0bWwjZG9jYlBhcnNlRG9jdW1lbnQiPmRvY2JQYXJzZURvY3VtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtRE9DQnBhcnNlci5odG1sI2RvY2JQYXJzZUZpbGUiPmRvY2JQYXJzZUZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1ET0NCcGFyc2VyLmh0bWwjZG9jYlBhcnNlckN0eHQiPmRvY2JQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtRE9DQnBhcnNlci5odG1sI2RvY2JQYXJzZXJDdHh0UHRyIj5kb2NiUGFyc2VyQ3R4dFB0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiUGFyc2VySW5wdXQiPmRvY2JQYXJzZXJJbnB1dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiUGFyc2VySW5wdXRQdHIiPmRvY2JQYXJzZXJJbnB1dFB0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiU0FYSGFuZGxlciI+ZG9jYlNBWEhhbmRsZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1ET0NCcGFyc2VyLmh0bWwjZG9jYlNBWEhhbmRsZXJQdHIiPmRvY2JTQVhIYW5kbGVyUHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtRE9DQnBhcnNlci5odG1sI2RvY2JTQVhQYXJzZURvYyI+ZG9jYlNBWFBhcnNlRG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtRE9DQnBhcnNlci5odG1sI2RvY2JTQVhQYXJzZUZpbGUiPmRvY2JTQVhQYXJzZUZpbGU8L2E+PGJyIC8+Cis8L3A+PGgyPjxhIG5hbWU9IkhUTUxwYXJzZXIiIGlkPSJIVE1McGFyc2VyIj5Nb2R1bGUgSFRNTHBhcnNlcjwvYT46PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjSFRNTF9ERVBSRUNBVEVEIj5IVE1MX0RFUFJFQ0FURUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjSFRNTF9JTlZBTElEIj5IVE1MX0lOVkFMSUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjSFRNTF9OQSI+SFRNTF9OQTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNIVE1MX1BBUlNFX0NPTVBBQ1QiPkhUTUxfUEFSU0VfQ09NUEFDVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNIVE1MX1BBUlNFX0lHTk9SRV9FTkMiPkhUTUxfUEFSU0VfSUdOT1JFX0VOQzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNIVE1MX1BBUlNFX05PQkxBTktTIj5IVE1MX1BBUlNFX05PQkxBTktTPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI0hUTUxfUEFSU0VfTk9ERUZEVEQiPkhUTUxfUEFSU0VfTk9ERUZEVEQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjSFRNTF9QQVJTRV9OT0VSUk9SIj5IVE1MX1BBUlNFX05PRVJST1I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjSFRNTF9QQVJTRV9OT0lNUExJRUQiPkhUTUxfUEFSU0VfTk9JTVBMSUVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI0hUTUxfUEFSU0VfTk9ORVQiPkhUTUxfUEFSU0VfTk9ORVQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjSFRNTF9QQVJTRV9OT1dBUk5JTkciPkhUTUxfUEFSU0VfTk9XQVJOSU5HPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI0hUTUxfUEFSU0VfUEVEQU5USUMiPkhUTUxfUEFSU0VfUEVEQU5USUM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjSFRNTF9QQVJTRV9SRUNPVkVSIj5IVE1MX1BBUlNFX1JFQ09WRVI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjSFRNTF9SRVFVSVJFRCI+SFRNTF9SRVFVSVJFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNIVE1MX1ZBTElEIj5IVE1MX1ZBTElEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI1VURjhUb0h0bWwiPlVURjhUb0h0bWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjX2h0bWxFbGVtRGVzYyI+X2h0bWxFbGVtRGVzYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNfaHRtbEVudGl0eURlc2MiPl9odG1sRW50aXR5RGVzYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sQXR0ckFsbG93ZWQiPmh0bWxBdHRyQWxsb3dlZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sQXV0b0Nsb3NlVGFnIj5odG1sQXV0b0Nsb3NlVGFnPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxDcmVhdGVNZW1vcnlQYXJzZXJDdHh0Ij5odG1sQ3JlYXRlTWVtb3J5UGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQiPmh0bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sQ3R4dFJlYWREb2MiPmh0bWxDdHh0UmVhZERvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sQ3R4dFJlYWRGZCI+aHRtbEN0eHRSZWFkRmQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEN0eHRSZWFkRmlsZSI+aHRtbEN0eHRSZWFkRmlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sQ3R4dFJlYWRJTyI+aHRtbEN0eHRSZWFkSU88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEN0eHRSZWFkTWVtb3J5Ij5odG1sQ3R4dFJlYWRNZW1vcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEN0eHRSZXNldCI+aHRtbEN0eHRSZXNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sQ3R4dFVzZU9wdGlvbnMiPmh0bWxDdHh0VXNlT3B0aW9uczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sRGVmYXVsdFN1YmVsZW1lbnQiPmh0bWxEZWZhdWx0U3ViZWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sRG9jUHRyIj5odG1sRG9jUHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxFbGVtRGVzYyI+aHRtbEVsZW1EZXNjPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxFbGVtRGVzY1B0ciI+aHRtbEVsZW1EZXNjUHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxFbGVtZW50QWxsb3dlZEhlcmUiPmh0bWxFbGVtZW50QWxsb3dlZEhlcmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEVsZW1lbnRBbGxvd2VkSGVyZURlc2MiPmh0bWxFbGVtZW50QWxsb3dlZEhlcmVEZXNjPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxFbGVtZW50U3RhdHVzSGVyZSI+aHRtbEVsZW1lbnRTdGF0dXNIZXJlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxFbmNvZGVFbnRpdGllcyI+aHRtbEVuY29kZUVudGl0aWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxFbnRpdHlEZXNjIj5odG1sRW50aXR5RGVzYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sRW50aXR5RGVzY1B0ciI+aHRtbEVudGl0eURlc2NQdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEVudGl0eUxvb2t1cCI+aHRtbEVudGl0eUxvb2t1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sRW50aXR5VmFsdWVMb29rdXAiPmh0bWxFbnRpdHlWYWx1ZUxvb2t1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sRnJlZVBhcnNlckN0eHQiPmh0bWxGcmVlUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sSGFuZGxlT21pdHRlZEVsZW0iPmh0bWxIYW5kbGVPbWl0dGVkRWxlbTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sSXNBdXRvQ2xvc2VkIj5odG1sSXNBdXRvQ2xvc2VkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxJc1NjcmlwdEF0dHJpYnV0ZSI+aHRtbElzU2NyaXB0QXR0cmlidXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxOZXdQYXJzZXJDdHh0Ij5odG1sTmV3UGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sTm9kZVB0ciI+aHRtbE5vZGVQdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbE5vZGVTdGF0dXMiPmh0bWxOb2RlU3RhdHVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxQYXJzZUNoYXJSZWYiPmh0bWxQYXJzZUNoYXJSZWY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlQ2h1bmsiPmh0bWxQYXJzZUNodW5rPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxQYXJzZURvYyI+aHRtbFBhcnNlRG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxQYXJzZURvY3VtZW50Ij5odG1sUGFyc2VEb2N1bWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sUGFyc2VFbGVtZW50Ij5odG1sUGFyc2VFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxQYXJzZUVudGl0eVJlZiI+aHRtbFBhcnNlRW50aXR5UmVmPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxQYXJzZUZpbGUiPmh0bWxQYXJzZUZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlckN0eHQiPmh0bWxQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxQYXJzZXJDdHh0UHRyIj5odG1sUGFyc2VyQ3R4dFB0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sUGFyc2VySW5wdXQiPmh0bWxQYXJzZXJJbnB1dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sUGFyc2VySW5wdXRQdHIiPmh0bWxQYXJzZXJJbnB1dFB0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sUGFyc2VyTm9kZUluZm8iPmh0bWxQYXJzZXJOb2RlSW5mbzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sUGFyc2VyT3B0aW9uIj5odG1sUGFyc2VyT3B0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxSZWFkRG9jIj5odG1sUmVhZERvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sUmVhZEZkIj5odG1sUmVhZEZkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxSZWFkRmlsZSI+aHRtbFJlYWRGaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxSZWFkSU8iPmh0bWxSZWFkSU88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFJlYWRNZW1vcnkiPmh0bWxSZWFkTWVtb3J5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxSZXF1aXJlZEF0dHJzIj5odG1sUmVxdWlyZWRBdHRyczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sU0FYSGFuZGxlciI+aHRtbFNBWEhhbmRsZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFNBWEhhbmRsZXJQdHIiPmh0bWxTQVhIYW5kbGVyUHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxTQVhQYXJzZURvYyI+aHRtbFNBWFBhcnNlRG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxTQVhQYXJzZUZpbGUiPmh0bWxTQVhQYXJzZUZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFN0YXR1cyI+aHRtbFN0YXR1czwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sVGFnTG9va3VwIj5odG1sVGFnTG9va3VwPC9hPjxiciAvPgorPC9wPjxoMj48YSBuYW1lPSJIVE1MdHJlZSIgaWQ9IkhUTUx0cmVlIj5Nb2R1bGUgSFRNTHRyZWU8L2E+OjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNIVE1MX0NPTU1FTlRfTk9ERSI+SFRNTF9DT01NRU5UX05PREU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI0hUTUxfRU5USVRZX1JFRl9OT0RFIj5IVE1MX0VOVElUWV9SRUZfTk9ERTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwjSFRNTF9QSV9OT0RFIj5IVE1MX1BJX05PREU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI0hUTUxfUFJFU0VSVkVfTk9ERSI+SFRNTF9QUkVTRVJWRV9OT0RFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNIVE1MX1RFWFRfTk9ERSI+SFRNTF9URVhUX05PREU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI2h0bWxEb2NDb250ZW50RHVtcEZvcm1hdE91dHB1dCI+aHRtbERvY0NvbnRlbnREdW1wRm9ybWF0T3V0cHV0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNodG1sRG9jQ29udGVudER1bXBPdXRwdXQiPmh0bWxEb2NDb250ZW50RHVtcE91dHB1dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwjaHRtbERvY0R1bXAiPmh0bWxEb2NEdW1wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNodG1sRG9jRHVtcE1lbW9yeSI+aHRtbERvY0R1bXBNZW1vcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI2h0bWxEb2NEdW1wTWVtb3J5Rm9ybWF0Ij5odG1sRG9jRHVtcE1lbW9yeUZvcm1hdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwjaHRtbEdldE1ldGFFbmNvZGluZyI+aHRtbEdldE1ldGFFbmNvZGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwjaHRtbElzQm9vbGVhbkF0dHIiPmh0bWxJc0Jvb2xlYW5BdHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNodG1sTmV3RG9jIj5odG1sTmV3RG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNodG1sTmV3RG9jTm9EdEQiPmh0bWxOZXdEb2NOb0R0RDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwjaHRtbE5vZGVEdW1wIj5odG1sTm9kZUR1bXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI2h0bWxOb2RlRHVtcEZpbGUiPmh0bWxOb2RlRHVtcEZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI2h0bWxOb2RlRHVtcEZpbGVGb3JtYXQiPmh0bWxOb2RlRHVtcEZpbGVGb3JtYXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI2h0bWxOb2RlRHVtcEZvcm1hdE91dHB1dCI+aHRtbE5vZGVEdW1wRm9ybWF0T3V0cHV0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNodG1sTm9kZUR1bXBPdXRwdXQiPmh0bWxOb2RlRHVtcE91dHB1dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwjaHRtbFNhdmVGaWxlIj5odG1sU2F2ZUZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI2h0bWxTYXZlRmlsZUVuYyI+aHRtbFNhdmVGaWxlRW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNodG1sU2F2ZUZpbGVGb3JtYXQiPmh0bWxTYXZlRmlsZUZvcm1hdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwjaHRtbFNldE1ldGFFbmNvZGluZyI+aHRtbFNldE1ldGFFbmNvZGluZzwvYT48YnIgLz4KKzwvcD48aDI+PGEgbmFtZT0iU0FYIiBpZD0iU0FYIj5Nb2R1bGUgU0FYPC9hPjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlRGVjbCI+YXR0cmlidXRlRGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI2NkYXRhQmxvY2siPmNkYXRhQmxvY2s8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNjaGFyYWN0ZXJzIj5jaGFyYWN0ZXJzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjY2hlY2tOYW1lc3BhY2UiPmNoZWNrTmFtZXNwYWNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjY29tbWVudCI+Y29tbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI2VsZW1lbnREZWNsIj5lbGVtZW50RGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI2VuZERvY3VtZW50Ij5lbmREb2N1bWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI2VuZEVsZW1lbnQiPmVuZEVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNlbnRpdHlEZWNsIj5lbnRpdHlEZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjZXh0ZXJuYWxTdWJzZXQiPmV4dGVybmFsU3Vic2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjZ2V0Q29sdW1uTnVtYmVyIj5nZXRDb2x1bW5OdW1iZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNnZXRFbnRpdHkiPmdldEVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI2dldExpbmVOdW1iZXIiPmdldExpbmVOdW1iZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNnZXROYW1lc3BhY2UiPmdldE5hbWVzcGFjZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI2dldFBhcmFtZXRlckVudGl0eSI+Z2V0UGFyYW1ldGVyRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjZ2V0UHVibGljSWQiPmdldFB1YmxpY0lkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjZ2V0U3lzdGVtSWQiPmdldFN5c3RlbUlkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjZ2xvYmFsTmFtZXNwYWNlIj5nbG9iYWxOYW1lc3BhY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNoYXNFeHRlcm5hbFN1YnNldCI+aGFzRXh0ZXJuYWxTdWJzZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNoYXNJbnRlcm5hbFN1YnNldCI+aGFzSW50ZXJuYWxTdWJzZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNpZ25vcmFibGVXaGl0ZXNwYWNlIj5pZ25vcmFibGVXaGl0ZXNwYWNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjaW5pdGRvY2JEZWZhdWx0U0FYSGFuZGxlciI+aW5pdGRvY2JEZWZhdWx0U0FYSGFuZGxlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI2luaXRodG1sRGVmYXVsdFNBWEhhbmRsZXIiPmluaXRodG1sRGVmYXVsdFNBWEhhbmRsZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNpbml0eG1sRGVmYXVsdFNBWEhhbmRsZXIiPmluaXR4bWxEZWZhdWx0U0FYSGFuZGxlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI2ludGVybmFsU3Vic2V0Ij5pbnRlcm5hbFN1YnNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI2lzU3RhbmRhbG9uZSI+aXNTdGFuZGFsb25lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjbmFtZXNwYWNlRGVjbCI+bmFtZXNwYWNlRGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI25vdGF0aW9uRGVjbCI+bm90YXRpb25EZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjcHJvY2Vzc2luZ0luc3RydWN0aW9uIj5wcm9jZXNzaW5nSW5zdHJ1Y3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNyZWZlcmVuY2UiPnJlZmVyZW5jZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI3Jlc29sdmVFbnRpdHkiPnJlc29sdmVFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNzZXREb2N1bWVudExvY2F0b3IiPnNldERvY3VtZW50TG9jYXRvcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI3NldE5hbWVzcGFjZSI+c2V0TmFtZXNwYWNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjc3RhcnREb2N1bWVudCI+c3RhcnREb2N1bWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI3N0YXJ0RWxlbWVudCI+c3RhcnRFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjdW5wYXJzZWRFbnRpdHlEZWNsIj51bnBhcnNlZEVudGl0eURlY2w8L2E+PGJyIC8+Cis8L3A+PGgyPjxhIG5hbWU9IlNBWDIiIGlkPSJTQVgyIj5Nb2R1bGUgU0FYMjwvYT46PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjZG9jYkRlZmF1bHRTQVhIYW5kbGVySW5pdCI+ZG9jYkRlZmF1bHRTQVhIYW5kbGVySW5pdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCNodG1sRGVmYXVsdFNBWEhhbmRsZXJJbml0Ij5odG1sRGVmYXVsdFNBWEhhbmRsZXJJbml0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbERlZmF1bHRTQVhIYW5kbGVySW5pdCI+eG1sRGVmYXVsdFNBWEhhbmRsZXJJbml0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJBdHRyaWJ1dGVEZWNsIj54bWxTQVgyQXR0cmlidXRlRGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyQ0RhdGFCbG9jayI+eG1sU0FYMkNEYXRhQmxvY2s8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMkNoYXJhY3RlcnMiPnhtbFNBWDJDaGFyYWN0ZXJzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJDb21tZW50Ij54bWxTQVgyQ29tbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyRWxlbWVudERlY2wiPnhtbFNBWDJFbGVtZW50RGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyRW5kRG9jdW1lbnQiPnhtbFNBWDJFbmREb2N1bWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyRW5kRWxlbWVudCI+eG1sU0FYMkVuZEVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMkVuZEVsZW1lbnROcyI+eG1sU0FYMkVuZEVsZW1lbnROczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyRW50aXR5RGVjbCI+eG1sU0FYMkVudGl0eURlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMkV4dGVybmFsU3Vic2V0Ij54bWxTQVgyRXh0ZXJuYWxTdWJzZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMkdldENvbHVtbk51bWJlciI+eG1sU0FYMkdldENvbHVtbk51bWJlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyR2V0RW50aXR5Ij54bWxTQVgyR2V0RW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJHZXRMaW5lTnVtYmVyIj54bWxTQVgyR2V0TGluZU51bWJlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyR2V0UGFyYW1ldGVyRW50aXR5Ij54bWxTQVgyR2V0UGFyYW1ldGVyRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJHZXRQdWJsaWNJZCI+eG1sU0FYMkdldFB1YmxpY0lkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJHZXRTeXN0ZW1JZCI+eG1sU0FYMkdldFN5c3RlbUlkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJIYXNFeHRlcm5hbFN1YnNldCI+eG1sU0FYMkhhc0V4dGVybmFsU3Vic2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJIYXNJbnRlcm5hbFN1YnNldCI+eG1sU0FYMkhhc0ludGVybmFsU3Vic2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJJZ25vcmFibGVXaGl0ZXNwYWNlIj54bWxTQVgySWdub3JhYmxlV2hpdGVzcGFjZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgySW5pdERlZmF1bHRTQVhIYW5kbGVyIj54bWxTQVgySW5pdERlZmF1bHRTQVhIYW5kbGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJJbml0RG9jYkRlZmF1bHRTQVhIYW5kbGVyIj54bWxTQVgySW5pdERvY2JEZWZhdWx0U0FYSGFuZGxlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgySW5pdEh0bWxEZWZhdWx0U0FYSGFuZGxlciI+eG1sU0FYMkluaXRIdG1sRGVmYXVsdFNBWEhhbmRsZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMkludGVybmFsU3Vic2V0Ij54bWxTQVgySW50ZXJuYWxTdWJzZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMklzU3RhbmRhbG9uZSI+eG1sU0FYMklzU3RhbmRhbG9uZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyTm90YXRpb25EZWNsIj54bWxTQVgyTm90YXRpb25EZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24iPnhtbFNBWDJQcm9jZXNzaW5nSW5zdHJ1Y3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMlJlZmVyZW5jZSI+eG1sU0FYMlJlZmVyZW5jZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyUmVzb2x2ZUVudGl0eSI+eG1sU0FYMlJlc29sdmVFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMlNldERvY3VtZW50TG9jYXRvciI+eG1sU0FYMlNldERvY3VtZW50TG9jYXRvcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyU3RhcnREb2N1bWVudCI+eG1sU0FYMlN0YXJ0RG9jdW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMlN0YXJ0RWxlbWVudCI+eG1sU0FYMlN0YXJ0RWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyU3RhcnRFbGVtZW50TnMiPnhtbFNBWDJTdGFydEVsZW1lbnROczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyVW5wYXJzZWRFbnRpdHlEZWNsIj54bWxTQVgyVW5wYXJzZWRFbnRpdHlEZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWERlZmF1bHRWZXJzaW9uIj54bWxTQVhEZWZhdWx0VmVyc2lvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVhWZXJzaW9uIj54bWxTQVhWZXJzaW9uPC9hPjxiciAvPgorPC9wPjxoMj48YSBuYW1lPSJjMTRuIiBpZD0iYzE0biI+TW9kdWxlIGMxNG48L2E+OjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtYzE0bi5odG1sI1hNTF9DMTROXzFfMCI+WE1MX0MxNE5fMV8wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtYzE0bi5odG1sI1hNTF9DMTROXzFfMSI+WE1MX0MxNE5fMV8xPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtYzE0bi5odG1sI1hNTF9DMTROX0VYQ0xVU0lWRV8xXzAiPlhNTF9DMTROX0VYQ0xVU0lWRV8xXzA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jMTRuLmh0bWwjeG1sQzE0TkRvY0R1bXBNZW1vcnkiPnhtbEMxNE5Eb2NEdW1wTWVtb3J5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtYzE0bi5odG1sI3htbEMxNE5Eb2NTYXZlIj54bWxDMTRORG9jU2F2ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTRORG9jU2F2ZVRvIj54bWxDMTRORG9jU2F2ZVRvPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtYzE0bi5odG1sI3htbEMxNE5FeGVjdXRlIj54bWxDMTRORXhlY3V0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTROSXNWaXNpYmxlQ2FsbGJhY2siPnhtbEMxNE5Jc1Zpc2libGVDYWxsYmFjazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTROTW9kZSI+eG1sQzE0Tk1vZGU8L2E+PGJyIC8+Cis8L3A+PGgyPjxhIG5hbWU9ImNhdGFsb2ciIGlkPSJjYXRhbG9nIj5Nb2R1bGUgY2F0YWxvZzwvYT46PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjWE1MX0NBVEFMT0dTX05BTUVTUEFDRSI+WE1MX0NBVEFMT0dTX05BTUVTUEFDRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCNYTUxfQ0FUQUxPR19QSSI+WE1MX0NBVEFMT0dfUEk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjWE1MX0NBVEFfQUxMT1dfQUxMIj5YTUxfQ0FUQV9BTExPV19BTEw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjWE1MX0NBVEFfQUxMT1dfRE9DVU1FTlQiPlhNTF9DQVRBX0FMTE9XX0RPQ1VNRU5UPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI1hNTF9DQVRBX0FMTE9XX0dMT0JBTCI+WE1MX0NBVEFfQUxMT1dfR0xPQkFMPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI1hNTF9DQVRBX0FMTE9XX05PTkUiPlhNTF9DQVRBX0FMTE9XX05PTkU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjWE1MX0NBVEFfUFJFRkVSX05PTkUiPlhNTF9DQVRBX1BSRUZFUl9OT05FPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI1hNTF9DQVRBX1BSRUZFUl9QVUJMSUMiPlhNTF9DQVRBX1BSRUZFUl9QVUJMSUM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjWE1MX0NBVEFfUFJFRkVSX1NZU1RFTSI+WE1MX0NBVEFfUFJFRkVSX1NZU1RFTTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxBQ2F0YWxvZ0FkZCI+eG1sQUNhdGFsb2dBZGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQUNhdGFsb2dEdW1wIj54bWxBQ2F0YWxvZ0R1bXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQUNhdGFsb2dSZW1vdmUiPnhtbEFDYXRhbG9nUmVtb3ZlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbEFDYXRhbG9nUmVzb2x2ZSI+eG1sQUNhdGFsb2dSZXNvbHZlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbEFDYXRhbG9nUmVzb2x2ZVB1YmxpYyI+eG1sQUNhdGFsb2dSZXNvbHZlUHVibGljPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbEFDYXRhbG9nUmVzb2x2ZVN5c3RlbSI+eG1sQUNhdGFsb2dSZXNvbHZlU3lzdGVtPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbEFDYXRhbG9nUmVzb2x2ZVVSSSI+eG1sQUNhdGFsb2dSZXNvbHZlVVJJPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2ciPnhtbENhdGFsb2c8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ0FkZCI+eG1sQ2F0YWxvZ0FkZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nQWRkTG9jYWwiPnhtbENhdGFsb2dBZGRMb2NhbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nQWxsb3ciPnhtbENhdGFsb2dBbGxvdzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nQ2xlYW51cCI+eG1sQ2F0YWxvZ0NsZWFudXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ0NvbnZlcnQiPnhtbENhdGFsb2dDb252ZXJ0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dEdW1wIj54bWxDYXRhbG9nRHVtcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nRnJlZUxvY2FsIj54bWxDYXRhbG9nRnJlZUxvY2FsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dHZXREZWZhdWx0cyI+eG1sQ2F0YWxvZ0dldERlZmF1bHRzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dHZXRQdWJsaWMiPnhtbENhdGFsb2dHZXRQdWJsaWM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ0dldFN5c3RlbSI+eG1sQ2F0YWxvZ0dldFN5c3RlbTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nSXNFbXB0eSI+eG1sQ2F0YWxvZ0lzRW1wdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ0xvY2FsUmVzb2x2ZSI+eG1sQ2F0YWxvZ0xvY2FsUmVzb2x2ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nTG9jYWxSZXNvbHZlVVJJIj54bWxDYXRhbG9nTG9jYWxSZXNvbHZlVVJJPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dQcmVmZXIiPnhtbENhdGFsb2dQcmVmZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ1B0ciI+eG1sQ2F0YWxvZ1B0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nUmVtb3ZlIj54bWxDYXRhbG9nUmVtb3ZlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dSZXNvbHZlIj54bWxDYXRhbG9nUmVzb2x2ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nUmVzb2x2ZVB1YmxpYyI+eG1sQ2F0YWxvZ1Jlc29sdmVQdWJsaWM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ1Jlc29sdmVTeXN0ZW0iPnhtbENhdGFsb2dSZXNvbHZlU3lzdGVtPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dSZXNvbHZlVVJJIj54bWxDYXRhbG9nUmVzb2x2ZVVSSTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nU2V0RGVidWciPnhtbENhdGFsb2dTZXREZWJ1ZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nU2V0RGVmYXVsdFByZWZlciI+eG1sQ2F0YWxvZ1NldERlZmF1bHRQcmVmZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ1NldERlZmF1bHRzIj54bWxDYXRhbG9nU2V0RGVmYXVsdHM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ29udmVydFNHTUxDYXRhbG9nIj54bWxDb252ZXJ0U0dNTENhdGFsb2c8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sRnJlZUNhdGFsb2ciPnhtbEZyZWVDYXRhbG9nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbEluaXRpYWxpemVDYXRhbG9nIj54bWxJbml0aWFsaXplQ2F0YWxvZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxMb2FkQUNhdGFsb2ciPnhtbExvYWRBQ2F0YWxvZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxMb2FkQ2F0YWxvZyI+eG1sTG9hZENhdGFsb2c8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sTG9hZENhdGFsb2dzIj54bWxMb2FkQ2F0YWxvZ3M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sTG9hZFNHTUxTdXBlckNhdGFsb2ciPnhtbExvYWRTR01MU3VwZXJDYXRhbG9nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbE5ld0NhdGFsb2ciPnhtbE5ld0NhdGFsb2c8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sUGFyc2VDYXRhbG9nRmlsZSI+eG1sUGFyc2VDYXRhbG9nRmlsZTwvYT48YnIgLz4KKzwvcD48aDI+PGEgbmFtZT0iY2h2YWxpZCIgaWQ9ImNodmFsaWQiPk1vZHVsZSBjaHZhbGlkPC9hPjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLWNodmFsaWQuaHRtbCNfeG1sQ2hMUmFuZ2UiPl94bWxDaExSYW5nZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNodmFsaWQuaHRtbCNfeG1sQ2hSYW5nZUdyb3VwIj5feG1sQ2hSYW5nZUdyb3VwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI194bWxDaFNSYW5nZSI+X3htbENoU1JhbmdlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbENoTFJhbmdlIj54bWxDaExSYW5nZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxDaExSYW5nZVB0ciI+eG1sQ2hMUmFuZ2VQdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sQ2hSYW5nZUdyb3VwIj54bWxDaFJhbmdlR3JvdXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sQ2hSYW5nZUdyb3VwUHRyIj54bWxDaFJhbmdlR3JvdXBQdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sQ2hTUmFuZ2UiPnhtbENoU1JhbmdlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbENoU1JhbmdlUHRyIj54bWxDaFNSYW5nZVB0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxDaGFySW5SYW5nZSI+eG1sQ2hhckluUmFuZ2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNCYXNlQ2hhciI+eG1sSXNCYXNlQ2hhcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc0Jhc2VDaGFyR3JvdXAiPnhtbElzQmFzZUNoYXJHcm91cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc0Jhc2VDaGFyUSI+eG1sSXNCYXNlQ2hhclE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNCYXNlQ2hhcl9jaCI+eG1sSXNCYXNlQ2hhcl9jaDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc0JsYW5rIj54bWxJc0JsYW5rPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzQmxhbmtRIj54bWxJc0JsYW5rUTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc0JsYW5rX2NoIj54bWxJc0JsYW5rX2NoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzQ2hhciI+eG1sSXNDaGFyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzQ2hhckdyb3VwIj54bWxJc0NoYXJHcm91cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc0NoYXJRIj54bWxJc0NoYXJRPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzQ2hhcl9jaCI+eG1sSXNDaGFyX2NoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzQ29tYmluaW5nIj54bWxJc0NvbWJpbmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc0NvbWJpbmluZ0dyb3VwIj54bWxJc0NvbWJpbmluZ0dyb3VwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzQ29tYmluaW5nUSI+eG1sSXNDb21iaW5pbmdRPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzRGlnaXQiPnhtbElzRGlnaXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNEaWdpdEdyb3VwIj54bWxJc0RpZ2l0R3JvdXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNEaWdpdFEiPnhtbElzRGlnaXRRPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzRGlnaXRfY2giPnhtbElzRGlnaXRfY2g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNFeHRlbmRlciI+eG1sSXNFeHRlbmRlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc0V4dGVuZGVyR3JvdXAiPnhtbElzRXh0ZW5kZXJHcm91cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc0V4dGVuZGVyUSI+eG1sSXNFeHRlbmRlclE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNFeHRlbmRlcl9jaCI+eG1sSXNFeHRlbmRlcl9jaDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc0lkZW9ncmFwaGljIj54bWxJc0lkZW9ncmFwaGljPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzSWRlb2dyYXBoaWNHcm91cCI+eG1sSXNJZGVvZ3JhcGhpY0dyb3VwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzSWRlb2dyYXBoaWNRIj54bWxJc0lkZW9ncmFwaGljUTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc1B1YmlkQ2hhciI+eG1sSXNQdWJpZENoYXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNQdWJpZENoYXJRIj54bWxJc1B1YmlkQ2hhclE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNQdWJpZENoYXJfY2giPnhtbElzUHViaWRDaGFyX2NoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzUHViaWRDaGFyX3RhYiI+eG1sSXNQdWJpZENoYXJfdGFiPC9hPjxiciAvPgorPC9wPjxoMj48YSBuYW1lPSJkZWJ1Z1hNTCIgaWQ9ImRlYnVnWE1MIj5Nb2R1bGUgZGVidWdYTUw8L2E+OjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCNfeG1sU2hlbGxDdHh0Ij5feG1sU2hlbGxDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxCb29sVG9UZXh0Ij54bWxCb29sVG9UZXh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxEZWJ1Z0NoZWNrRG9jdW1lbnQiPnhtbERlYnVnQ2hlY2tEb2N1bWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sRGVidWdEdW1wQXR0ciI+eG1sRGVidWdEdW1wQXR0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sRGVidWdEdW1wQXR0ckxpc3QiPnhtbERlYnVnRHVtcEF0dHJMaXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxEZWJ1Z0R1bXBEVEQiPnhtbERlYnVnRHVtcERURDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sRGVidWdEdW1wRG9jdW1lbnQiPnhtbERlYnVnRHVtcERvY3VtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxEZWJ1Z0R1bXBEb2N1bWVudEhlYWQiPnhtbERlYnVnRHVtcERvY3VtZW50SGVhZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sRGVidWdEdW1wRW50aXRpZXMiPnhtbERlYnVnRHVtcEVudGl0aWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxEZWJ1Z0R1bXBOb2RlIj54bWxEZWJ1Z0R1bXBOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxEZWJ1Z0R1bXBOb2RlTGlzdCI+eG1sRGVidWdEdW1wTm9kZUxpc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbERlYnVnRHVtcE9uZU5vZGUiPnhtbERlYnVnRHVtcE9uZU5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbERlYnVnRHVtcFN0cmluZyI+eG1sRGVidWdEdW1wU3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxMc0NvdW50Tm9kZSI+eG1sTHNDb3VudE5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbExzT25lTm9kZSI+eG1sTHNPbmVOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbCI+eG1sU2hlbGw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsQmFzZSI+eG1sU2hlbGxCYXNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbENhdCI+eG1sU2hlbGxDYXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsQ21kIj54bWxTaGVsbENtZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxDdHh0Ij54bWxTaGVsbEN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsQ3R4dFB0ciI+eG1sU2hlbGxDdHh0UHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbERpciI+eG1sU2hlbGxEaXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsRHUiPnhtbFNoZWxsRHU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsTGlzdCI+eG1sU2hlbGxMaXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbExvYWQiPnhtbFNoZWxsTG9hZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxQcmludE5vZGUiPnhtbFNoZWxsUHJpbnROb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbFByaW50WFBhdGhFcnJvciI+eG1sU2hlbGxQcmludFhQYXRoRXJyb3I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsUHJpbnRYUGF0aFJlc3VsdCI+eG1sU2hlbGxQcmludFhQYXRoUmVzdWx0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbFB3ZCI+eG1sU2hlbGxQd2Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsUmVhZGxpbmVGdW5jIj54bWxTaGVsbFJlYWRsaW5lRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxTYXZlIj54bWxTaGVsbFNhdmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsVmFsaWRhdGUiPnhtbFNoZWxsVmFsaWRhdGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsV3JpdGUiPnhtbFNoZWxsV3JpdGU8L2E+PGJyIC8+Cis8L3A+PGgyPjxhIG5hbWU9ImRpY3QiIGlkPSJkaWN0Ij5Nb2R1bGUgZGljdDwvYT46PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC1kaWN0Lmh0bWwjeG1sRGljdCI+eG1sRGljdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0Q2xlYW51cCI+eG1sRGljdENsZWFudXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kaWN0Lmh0bWwjeG1sRGljdENyZWF0ZSI+eG1sRGljdENyZWF0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0Q3JlYXRlU3ViIj54bWxEaWN0Q3JlYXRlU3ViPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGljdC5odG1sI3htbERpY3RFeGlzdHMiPnhtbERpY3RFeGlzdHM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kaWN0Lmh0bWwjeG1sRGljdEZyZWUiPnhtbERpY3RGcmVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGljdC5odG1sI3htbERpY3RHZXRVc2FnZSI+eG1sRGljdEdldFVzYWdlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGljdC5odG1sI3htbERpY3RMb29rdXAiPnhtbERpY3RMb29rdXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kaWN0Lmh0bWwjeG1sRGljdE93bnMiPnhtbERpY3RPd25zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGljdC5odG1sI3htbERpY3RQdHIiPnhtbERpY3RQdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kaWN0Lmh0bWwjeG1sRGljdFFMb29rdXAiPnhtbERpY3RRTG9va3VwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGljdC5odG1sI3htbERpY3RSZWZlcmVuY2UiPnhtbERpY3RSZWZlcmVuY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kaWN0Lmh0bWwjeG1sRGljdFNldExpbWl0Ij54bWxEaWN0U2V0TGltaXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kaWN0Lmh0bWwjeG1sRGljdFNpemUiPnhtbERpY3RTaXplPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGljdC5odG1sI3htbEluaXRpYWxpemVEaWN0Ij54bWxJbml0aWFsaXplRGljdDwvYT48YnIgLz4KKzwvcD48aDI+PGEgbmFtZT0iZW5jb2RpbmciIGlkPSJlbmNvZGluZyI+TW9kdWxlIGVuY29kaW5nPC9hPjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjVVRGOFRvaXNvbGF0MSI+VVRGOFRvaXNvbGF0MTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjWE1MX0NIQVJfRU5DT0RJTkdfMjAyMl9KUCI+WE1MX0NIQVJfRU5DT0RJTkdfMjAyMl9KUDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjWE1MX0NIQVJfRU5DT0RJTkdfODg1OV8xIj5YTUxfQ0hBUl9FTkNPRElOR184ODU5XzE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI1hNTF9DSEFSX0VOQ09ESU5HXzg4NTlfMiI+WE1MX0NIQVJfRU5DT0RJTkdfODg1OV8yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCNYTUxfQ0hBUl9FTkNPRElOR184ODU5XzMiPlhNTF9DSEFSX0VOQ09ESU5HXzg4NTlfMzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjWE1MX0NIQVJfRU5DT0RJTkdfODg1OV80Ij5YTUxfQ0hBUl9FTkNPRElOR184ODU5XzQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI1hNTF9DSEFSX0VOQ09ESU5HXzg4NTlfNSI+WE1MX0NIQVJfRU5DT0RJTkdfODg1OV81PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCNYTUxfQ0hBUl9FTkNPRElOR184ODU5XzYiPlhNTF9DSEFSX0VOQ09ESU5HXzg4NTlfNjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjWE1MX0NIQVJfRU5DT0RJTkdfODg1OV83Ij5YTUxfQ0hBUl9FTkNPRElOR184ODU5Xzc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI1hNTF9DSEFSX0VOQ09ESU5HXzg4NTlfOCI+WE1MX0NIQVJfRU5DT0RJTkdfODg1OV84PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCNYTUxfQ0hBUl9FTkNPRElOR184ODU5XzkiPlhNTF9DSEFSX0VOQ09ESU5HXzg4NTlfOTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjWE1MX0NIQVJfRU5DT0RJTkdfQVNDSUkiPlhNTF9DSEFSX0VOQ09ESU5HX0FTQ0lJPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCNYTUxfQ0hBUl9FTkNPRElOR19FQkNESUMiPlhNTF9DSEFSX0VOQ09ESU5HX0VCQ0RJQzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjWE1MX0NIQVJfRU5DT0RJTkdfRVJST1IiPlhNTF9DSEFSX0VOQ09ESU5HX0VSUk9SPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCNYTUxfQ0hBUl9FTkNPRElOR19FVUNfSlAiPlhNTF9DSEFSX0VOQ09ESU5HX0VVQ19KUDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjWE1MX0NIQVJfRU5DT0RJTkdfTk9ORSI+WE1MX0NIQVJfRU5DT0RJTkdfTk9ORTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjWE1MX0NIQVJfRU5DT0RJTkdfU0hJRlRfSklTIj5YTUxfQ0hBUl9FTkNPRElOR19TSElGVF9KSVM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI1hNTF9DSEFSX0VOQ09ESU5HX1VDUzIiPlhNTF9DSEFSX0VOQ09ESU5HX1VDUzI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI1hNTF9DSEFSX0VOQ09ESU5HX1VDUzRCRSI+WE1MX0NIQVJfRU5DT0RJTkdfVUNTNEJFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCNYTUxfQ0hBUl9FTkNPRElOR19VQ1M0TEUiPlhNTF9DSEFSX0VOQ09ESU5HX1VDUzRMRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjWE1MX0NIQVJfRU5DT0RJTkdfVUNTNF8yMTQzIj5YTUxfQ0hBUl9FTkNPRElOR19VQ1M0XzIxNDM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI1hNTF9DSEFSX0VOQ09ESU5HX1VDUzRfMzQxMiI+WE1MX0NIQVJfRU5DT0RJTkdfVUNTNF8zNDEyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCNYTUxfQ0hBUl9FTkNPRElOR19VVEYxNkJFIj5YTUxfQ0hBUl9FTkNPRElOR19VVEYxNkJFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCNYTUxfQ0hBUl9FTkNPRElOR19VVEYxNkxFIj5YTUxfQ0hBUl9FTkNPRElOR19VVEYxNkxFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCNYTUxfQ0hBUl9FTkNPRElOR19VVEY4Ij5YTUxfQ0hBUl9FTkNPRElOR19VVEY4PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCNfdWNvbnZfdCI+X3Vjb252X3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI194bWxDaGFyRW5jb2RpbmdIYW5kbGVyIj5feG1sQ2hhckVuY29kaW5nSGFuZGxlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjaXNvbGF0MVRvVVRGOCI+aXNvbGF0MVRvVVRGODwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjdWNvbnZfdCI+dWNvbnZfdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQWRkRW5jb2RpbmdBbGlhcyI+eG1sQWRkRW5jb2RpbmdBbGlhczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY0Nsb3NlRnVuYyI+eG1sQ2hhckVuY0Nsb3NlRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY0ZpcnN0TGluZSI+eG1sQ2hhckVuY0ZpcnN0TGluZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY0luRnVuYyI+eG1sQ2hhckVuY0luRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY091dEZ1bmMiPnhtbENoYXJFbmNPdXRGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmciPnhtbENoYXJFbmNvZGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nSGFuZGxlciI+eG1sQ2hhckVuY29kaW5nSGFuZGxlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0ciI+eG1sQ2hhckVuY29kaW5nSGFuZGxlclB0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nSW5wdXRGdW5jIj54bWxDaGFyRW5jb2RpbmdJbnB1dEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZ091dHB1dEZ1bmMiPnhtbENoYXJFbmNvZGluZ091dHB1dEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbENsZWFudXBDaGFyRW5jb2RpbmdIYW5kbGVycyI+eG1sQ2xlYW51cENoYXJFbmNvZGluZ0hhbmRsZXJzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDbGVhbnVwRW5jb2RpbmdBbGlhc2VzIj54bWxDbGVhbnVwRW5jb2RpbmdBbGlhc2VzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxEZWxFbmNvZGluZ0FsaWFzIj54bWxEZWxFbmNvZGluZ0FsaWFzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxEZXRlY3RDaGFyRW5jb2RpbmciPnhtbERldGVjdENoYXJFbmNvZGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sRmluZENoYXJFbmNvZGluZ0hhbmRsZXIiPnhtbEZpbmRDaGFyRW5jb2RpbmdIYW5kbGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxHZXRDaGFyRW5jb2RpbmdIYW5kbGVyIj54bWxHZXRDaGFyRW5jb2RpbmdIYW5kbGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxHZXRDaGFyRW5jb2RpbmdOYW1lIj54bWxHZXRDaGFyRW5jb2RpbmdOYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxHZXRFbmNvZGluZ0FsaWFzIj54bWxHZXRFbmNvZGluZ0FsaWFzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxJbml0Q2hhckVuY29kaW5nSGFuZGxlcnMiPnhtbEluaXRDaGFyRW5jb2RpbmdIYW5kbGVyczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sTmV3Q2hhckVuY29kaW5nSGFuZGxlciI+eG1sTmV3Q2hhckVuY29kaW5nSGFuZGxlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sUGFyc2VDaGFyRW5jb2RpbmciPnhtbFBhcnNlQ2hhckVuY29kaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxSZWdpc3RlckNoYXJFbmNvZGluZ0hhbmRsZXIiPnhtbFJlZ2lzdGVyQ2hhckVuY29kaW5nSGFuZGxlcjwvYT48YnIgLz4KKzwvcD48aDI+PGEgbmFtZT0iZW50aXRpZXMiIGlkPSJlbnRpdGllcyI+TW9kdWxlIGVudGl0aWVzPC9hPjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjWE1MX0VYVEVSTkFMX0dFTkVSQUxfUEFSU0VEX0VOVElUWSI+WE1MX0VYVEVSTkFMX0dFTkVSQUxfUEFSU0VEX0VOVElUWTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjWE1MX0VYVEVSTkFMX0dFTkVSQUxfVU5QQVJTRURfRU5USVRZIj5YTUxfRVhURVJOQUxfR0VORVJBTF9VTlBBUlNFRF9FTlRJVFk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI1hNTF9FWFRFUk5BTF9QQVJBTUVURVJfRU5USVRZIj5YTUxfRVhURVJOQUxfUEFSQU1FVEVSX0VOVElUWTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjWE1MX0lOVEVSTkFMX0dFTkVSQUxfRU5USVRZIj5YTUxfSU5URVJOQUxfR0VORVJBTF9FTlRJVFk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI1hNTF9JTlRFUk5BTF9QQVJBTUVURVJfRU5USVRZIj5YTUxfSU5URVJOQUxfUEFSQU1FVEVSX0VOVElUWTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjWE1MX0lOVEVSTkFMX1BSRURFRklORURfRU5USVRZIj5YTUxfSU5URVJOQUxfUFJFREVGSU5FRF9FTlRJVFk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI194bWxFbnRpdHkiPl94bWxFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI3htbEFkZERvY0VudGl0eSI+eG1sQWRkRG9jRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxBZGREdGRFbnRpdHkiPnhtbEFkZER0ZEVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjeG1sQ2xlYW51cFByZWRlZmluZWRFbnRpdGllcyI+eG1sQ2xlYW51cFByZWRlZmluZWRFbnRpdGllczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjeG1sQ29weUVudGl0aWVzVGFibGUiPnhtbENvcHlFbnRpdGllc1RhYmxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxDcmVhdGVFbnRpdGllc1RhYmxlIj54bWxDcmVhdGVFbnRpdGllc1RhYmxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxEdW1wRW50aXRpZXNUYWJsZSI+eG1sRHVtcEVudGl0aWVzVGFibGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI3htbER1bXBFbnRpdHlEZWNsIj54bWxEdW1wRW50aXR5RGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjeG1sRW5jb2RlRW50aXRpZXMiPnhtbEVuY29kZUVudGl0aWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxFbmNvZGVFbnRpdGllc1JlZW50cmFudCI+eG1sRW5jb2RlRW50aXRpZXNSZWVudHJhbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI3htbEVuY29kZVNwZWNpYWxDaGFycyI+eG1sRW5jb2RlU3BlY2lhbENoYXJzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxFbnRpdGllc1RhYmxlIj54bWxFbnRpdGllc1RhYmxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxFbnRpdGllc1RhYmxlUHRyIj54bWxFbnRpdGllc1RhYmxlUHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxFbnRpdHlUeXBlIj54bWxFbnRpdHlUeXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxGcmVlRW50aXRpZXNUYWJsZSI+eG1sRnJlZUVudGl0aWVzVGFibGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI3htbEdldERvY0VudGl0eSI+eG1sR2V0RG9jRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxHZXREdGRFbnRpdHkiPnhtbEdldER0ZEVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjeG1sR2V0UGFyYW1ldGVyRW50aXR5Ij54bWxHZXRQYXJhbWV0ZXJFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI3htbEdldFByZWRlZmluZWRFbnRpdHkiPnhtbEdldFByZWRlZmluZWRFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI3htbEluaXRpYWxpemVQcmVkZWZpbmVkRW50aXRpZXMiPnhtbEluaXRpYWxpemVQcmVkZWZpbmVkRW50aXRpZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI3htbE5ld0VudGl0eSI+eG1sTmV3RW50aXR5PC9hPjxiciAvPgorPC9wPjxoMj48YSBuYW1lPSJnbG9iYWxzIiBpZD0iZ2xvYmFscyI+TW9kdWxlIGdsb2JhbHM8L2E+OjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI194bWxHbG9iYWxTdGF0ZSI+X3htbEdsb2JhbFN0YXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI2RvY2JEZWZhdWx0U0FYSGFuZGxlciI+ZG9jYkRlZmF1bHRTQVhIYW5kbGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI2h0bWxEZWZhdWx0U0FYSGFuZGxlciI+aHRtbERlZmF1bHRTQVhIYW5kbGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI29sZFhNTFdEY29tcGF0aWJpbGl0eSI+b2xkWE1MV0Rjb21wYXRpYmlsaXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbEJ1ZmZlckFsbG9jU2NoZW1lIj54bWxCdWZmZXJBbGxvY1NjaGVtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxDbGVhbnVwR2xvYmFscyI+eG1sQ2xlYW51cEdsb2JhbHM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sRGVmYXVsdEJ1ZmZlclNpemUiPnhtbERlZmF1bHRCdWZmZXJTaXplPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbERlZmF1bHRTQVhIYW5kbGVyIj54bWxEZWZhdWx0U0FYSGFuZGxlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxEZWZhdWx0U0FYTG9jYXRvciI+eG1sRGVmYXVsdFNBWExvY2F0b3I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sRGVyZWdpc3Rlck5vZGVEZWZhdWx0Ij54bWxEZXJlZ2lzdGVyTm9kZURlZmF1bHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sRGVyZWdpc3Rlck5vZGVEZWZhdWx0VmFsdWUiPnhtbERlcmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbERlcmVnaXN0ZXJOb2RlRnVuYyI+eG1sRGVyZWdpc3Rlck5vZGVGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbERvVmFsaWRpdHlDaGVja2luZ0RlZmF1bHRWYWx1ZSI+eG1sRG9WYWxpZGl0eUNoZWNraW5nRGVmYXVsdFZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbEZyZWUiPnhtbEZyZWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sR2VuZXJpY0Vycm9yIj54bWxHZW5lcmljRXJyb3I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sR2VuZXJpY0Vycm9yQ29udGV4dCI+eG1sR2VuZXJpY0Vycm9yQ29udGV4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxHZXRXYXJuaW5nc0RlZmF1bHRWYWx1ZSI+eG1sR2V0V2FybmluZ3NEZWZhdWx0VmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sR2xvYmFsU3RhdGUiPnhtbEdsb2JhbFN0YXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbEdsb2JhbFN0YXRlUHRyIj54bWxHbG9iYWxTdGF0ZVB0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxJbmRlbnRUcmVlT3V0cHV0Ij54bWxJbmRlbnRUcmVlT3V0cHV0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbEluaXRHbG9iYWxzIj54bWxJbml0R2xvYmFsczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxJbml0aWFsaXplR2xvYmFsU3RhdGUiPnhtbEluaXRpYWxpemVHbG9iYWxTdGF0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxLZWVwQmxhbmtzRGVmYXVsdFZhbHVlIj54bWxLZWVwQmxhbmtzRGVmYXVsdFZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbExhc3RFcnJvciI+eG1sTGFzdEVycm9yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbExpbmVOdW1iZXJzRGVmYXVsdFZhbHVlIj54bWxMaW5lTnVtYmVyc0RlZmF1bHRWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxMb2FkRXh0RHRkRGVmYXVsdFZhbHVlIj54bWxMb2FkRXh0RHRkRGVmYXVsdFZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbE1hbGxvYyI+eG1sTWFsbG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbE1hbGxvY0F0b21pYyI+eG1sTWFsbG9jQXRvbWljPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbE1lbVN0cmR1cCI+eG1sTWVtU3RyZHVwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRGVmYXVsdCI+eG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYyI+eG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lVmFsdWUiPnhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lVmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sUGFyc2VyRGVidWdFbnRpdGllcyI+eG1sUGFyc2VyRGVidWdFbnRpdGllczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRGVmYXVsdCI+eG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmMiPnhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVWYWx1ZSI+eG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZVZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbFBhcnNlclZlcnNpb24iPnhtbFBhcnNlclZlcnNpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sUGVkYW50aWNQYXJzZXJEZWZhdWx0VmFsdWUiPnhtbFBlZGFudGljUGFyc2VyRGVmYXVsdFZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbFJlYWxsb2MiPnhtbFJlYWxsb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sUmVnaXN0ZXJOb2RlRGVmYXVsdCI+eG1sUmVnaXN0ZXJOb2RlRGVmYXVsdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxSZWdpc3Rlck5vZGVEZWZhdWx0VmFsdWUiPnhtbFJlZ2lzdGVyTm9kZURlZmF1bHRWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxSZWdpc3Rlck5vZGVGdW5jIj54bWxSZWdpc3Rlck5vZGVGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbFNhdmVOb0VtcHR5VGFncyI+eG1sU2F2ZU5vRW1wdHlUYWdzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbFN0cnVjdHVyZWRFcnJvciI+eG1sU3RydWN0dXJlZEVycm9yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbFN0cnVjdHVyZWRFcnJvckNvbnRleHQiPnhtbFN0cnVjdHVyZWRFcnJvckNvbnRleHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdFZhbHVlIj54bWxTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0VmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sVGhyRGVmQnVmZmVyQWxsb2NTY2hlbWUiPnhtbFRockRlZkJ1ZmZlckFsbG9jU2NoZW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbFRockRlZkRlZmF1bHRCdWZmZXJTaXplIj54bWxUaHJEZWZEZWZhdWx0QnVmZmVyU2l6ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxUaHJEZWZEZXJlZ2lzdGVyTm9kZURlZmF1bHQiPnhtbFRockRlZkRlcmVnaXN0ZXJOb2RlRGVmYXVsdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxUaHJEZWZEb1ZhbGlkaXR5Q2hlY2tpbmdEZWZhdWx0VmFsdWUiPnhtbFRockRlZkRvVmFsaWRpdHlDaGVja2luZ0RlZmF1bHRWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxUaHJEZWZHZXRXYXJuaW5nc0RlZmF1bHRWYWx1ZSI+eG1sVGhyRGVmR2V0V2FybmluZ3NEZWZhdWx0VmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sVGhyRGVmSW5kZW50VHJlZU91dHB1dCI+eG1sVGhyRGVmSW5kZW50VHJlZU91dHB1dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxUaHJEZWZLZWVwQmxhbmtzRGVmYXVsdFZhbHVlIj54bWxUaHJEZWZLZWVwQmxhbmtzRGVmYXVsdFZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbFRockRlZkxpbmVOdW1iZXJzRGVmYXVsdFZhbHVlIj54bWxUaHJEZWZMaW5lTnVtYmVyc0RlZmF1bHRWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxUaHJEZWZMb2FkRXh0RHRkRGVmYXVsdFZhbHVlIj54bWxUaHJEZWZMb2FkRXh0RHRkRGVmYXVsdFZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbFRockRlZk91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRGVmYXVsdCI+eG1sVGhyRGVmT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbFRockRlZlBhcnNlckRlYnVnRW50aXRpZXMiPnhtbFRockRlZlBhcnNlckRlYnVnRW50aXRpZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sVGhyRGVmUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQiPnhtbFRockRlZlBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbFRockRlZlBlZGFudGljUGFyc2VyRGVmYXVsdFZhbHVlIj54bWxUaHJEZWZQZWRhbnRpY1BhcnNlckRlZmF1bHRWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxUaHJEZWZSZWdpc3Rlck5vZGVEZWZhdWx0Ij54bWxUaHJEZWZSZWdpc3Rlck5vZGVEZWZhdWx0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbFRockRlZlNhdmVOb0VtcHR5VGFncyI+eG1sVGhyRGVmU2F2ZU5vRW1wdHlUYWdzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbFRockRlZlNldEdlbmVyaWNFcnJvckZ1bmMiPnhtbFRockRlZlNldEdlbmVyaWNFcnJvckZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sVGhyRGVmU2V0U3RydWN0dXJlZEVycm9yRnVuYyI+eG1sVGhyRGVmU2V0U3RydWN0dXJlZEVycm9yRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxUaHJEZWZTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0VmFsdWUiPnhtbFRockRlZlN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHRWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxUaHJEZWZUcmVlSW5kZW50U3RyaW5nIj54bWxUaHJEZWZUcmVlSW5kZW50U3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbFRyZWVJbmRlbnRTdHJpbmciPnhtbFRyZWVJbmRlbnRTdHJpbmc8L2E+PGJyIC8+Cis8L3A+PGgyPjxhIG5hbWU9Imhhc2giIGlkPSJoYXNoIj5Nb2R1bGUgaGFzaDwvYT46PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjWE1MX0NBU1RfRlBUUiI+WE1MX0NBU1RfRlBUUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoQWRkRW50cnkiPnhtbEhhc2hBZGRFbnRyeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoQWRkRW50cnkyIj54bWxIYXNoQWRkRW50cnkyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hBZGRFbnRyeTMiPnhtbEhhc2hBZGRFbnRyeTM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaENvcGllciI+eG1sSGFzaENvcGllcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoQ29weSI+eG1sSGFzaENvcHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaENyZWF0ZSI+eG1sSGFzaENyZWF0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoQ3JlYXRlRGljdCI+eG1sSGFzaENyZWF0ZURpY3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaERlYWxsb2NhdG9yIj54bWxIYXNoRGVhbGxvY2F0b3I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaEZyZWUiPnhtbEhhc2hGcmVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hMb29rdXAiPnhtbEhhc2hMb29rdXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaExvb2t1cDIiPnhtbEhhc2hMb29rdXAyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hMb29rdXAzIj54bWxIYXNoTG9va3VwMzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoUUxvb2t1cCI+eG1sSGFzaFFMb29rdXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFFMb29rdXAyIj54bWxIYXNoUUxvb2t1cDI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFFMb29rdXAzIj54bWxIYXNoUUxvb2t1cDM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFJlbW92ZUVudHJ5Ij54bWxIYXNoUmVtb3ZlRW50cnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFJlbW92ZUVudHJ5MiI+eG1sSGFzaFJlbW92ZUVudHJ5MjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoUmVtb3ZlRW50cnkzIj54bWxIYXNoUmVtb3ZlRW50cnkzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hTY2FuIj54bWxIYXNoU2NhbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoU2NhbjMiPnhtbEhhc2hTY2FuMzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoU2NhbkZ1bGwiPnhtbEhhc2hTY2FuRnVsbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoU2NhbkZ1bGwzIj54bWxIYXNoU2NhbkZ1bGwzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hTY2FubmVyIj54bWxIYXNoU2Nhbm5lcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoU2Nhbm5lckZ1bGwiPnhtbEhhc2hTY2FubmVyRnVsbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoU2l6ZSI+eG1sSGFzaFNpemU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFRhYmxlIj54bWxIYXNoVGFibGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFRhYmxlUHRyIj54bWxIYXNoVGFibGVQdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFVwZGF0ZUVudHJ5Ij54bWxIYXNoVXBkYXRlRW50cnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFVwZGF0ZUVudHJ5MiI+eG1sSGFzaFVwZGF0ZUVudHJ5MjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoVXBkYXRlRW50cnkzIj54bWxIYXNoVXBkYXRlRW50cnkzPC9hPjxiciAvPgorPC9wPjxoMj48YSBuYW1lPSJsaXN0IiBpZD0ibGlzdCI+TW9kdWxlIGxpc3Q8L2E+OjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpbmsiPnhtbExpbms8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1saXN0Lmh0bWwjeG1sTGlua0dldERhdGEiPnhtbExpbmtHZXREYXRhPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpbmtQdHIiPnhtbExpbmtQdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdCI+eG1sTGlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0QXBwZW5kIj54bWxMaXN0QXBwZW5kPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3RDbGVhciI+eG1sTGlzdENsZWFyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3RDb3B5Ij54bWxMaXN0Q29weTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0Q3JlYXRlIj54bWxMaXN0Q3JlYXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3REYXRhQ29tcGFyZSI+eG1sTGlzdERhdGFDb21wYXJlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3REZWFsbG9jYXRvciI+eG1sTGlzdERlYWxsb2NhdG9yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3REZWxldGUiPnhtbExpc3REZWxldGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdER1cCI+eG1sTGlzdER1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0RW1wdHkiPnhtbExpc3RFbXB0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0RW5kIj54bWxMaXN0RW5kPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3RGcm9udCI+eG1sTGlzdEZyb250PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3RJbnNlcnQiPnhtbExpc3RJbnNlcnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdE1lcmdlIj54bWxMaXN0TWVyZ2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdFBvcEJhY2siPnhtbExpc3RQb3BCYWNrPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3RQb3BGcm9udCI+eG1sTGlzdFBvcEZyb250PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3RQdHIiPnhtbExpc3RQdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdFB1c2hCYWNrIj54bWxMaXN0UHVzaEJhY2s8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdFB1c2hGcm9udCI+eG1sTGlzdFB1c2hGcm9udDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0UmVtb3ZlQWxsIj54bWxMaXN0UmVtb3ZlQWxsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3RSZW1vdmVGaXJzdCI+eG1sTGlzdFJlbW92ZUZpcnN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3RSZW1vdmVMYXN0Ij54bWxMaXN0UmVtb3ZlTGFzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0UmV2ZXJzZSI+eG1sTGlzdFJldmVyc2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdFJldmVyc2VTZWFyY2giPnhtbExpc3RSZXZlcnNlU2VhcmNoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3RSZXZlcnNlV2FsayI+eG1sTGlzdFJldmVyc2VXYWxrPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3RTZWFyY2giPnhtbExpc3RTZWFyY2g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdFNpemUiPnhtbExpc3RTaXplPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3RTb3J0Ij54bWxMaXN0U29ydDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0V2FsayI+eG1sTGlzdFdhbGs8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdFdhbGtlciI+eG1sTGlzdFdhbGtlcjwvYT48YnIgLz4KKzwvcD48aDI+PGEgbmFtZT0ibmFub2Z0cCIgaWQ9Im5hbm9mdHAiPk1vZHVsZSBuYW5vZnRwPC9hPjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCNJTlZBTElEX1NPQ0tFVCI+SU5WQUxJRF9TT0NLRVQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjU09DS0VUIj5TT0NLRVQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjZnRwRGF0YUNhbGxiYWNrIj5mdHBEYXRhQ2FsbGJhY2s8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjZnRwTGlzdENhbGxiYWNrIj5mdHBMaXN0Q2FsbGJhY2s8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUENoZWNrUmVzcG9uc2UiPnhtbE5hbm9GVFBDaGVja1Jlc3BvbnNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBDbGVhbnVwIj54bWxOYW5vRlRQQ2xlYW51cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQQ2xvc2UiPnhtbE5hbm9GVFBDbG9zZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQQ2xvc2VDb25uZWN0aW9uIj54bWxOYW5vRlRQQ2xvc2VDb25uZWN0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBDb25uZWN0Ij54bWxOYW5vRlRQQ29ubmVjdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQQ29ubmVjdFRvIj54bWxOYW5vRlRQQ29ubmVjdFRvPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBDd2QiPnhtbE5hbm9GVFBDd2Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUERlbGUiPnhtbE5hbm9GVFBEZWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBGcmVlQ3R4dCI+eG1sTmFub0ZUUEZyZWVDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBHZXQiPnhtbE5hbm9GVFBHZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUEdldENvbm5lY3Rpb24iPnhtbE5hbm9GVFBHZXRDb25uZWN0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBHZXRSZXNwb25zZSI+eG1sTmFub0ZUUEdldFJlc3BvbnNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBHZXRTb2NrZXQiPnhtbE5hbm9GVFBHZXRTb2NrZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUEluaXQiPnhtbE5hbm9GVFBJbml0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBMaXN0Ij54bWxOYW5vRlRQTGlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQTmV3Q3R4dCI+eG1sTmFub0ZUUE5ld0N0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUE9wZW4iPnhtbE5hbm9GVFBPcGVuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBQcm94eSI+eG1sTmFub0ZUUFByb3h5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBRdWl0Ij54bWxOYW5vRlRQUXVpdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQUmVhZCI+eG1sTmFub0ZUUFJlYWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUFNjYW5Qcm94eSI+eG1sTmFub0ZUUFNjYW5Qcm94eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQVXBkYXRlVVJMIj54bWxOYW5vRlRQVXBkYXRlVVJMPC9hPjxiciAvPgorPC9wPjxoMj48YSBuYW1lPSJuYW5vaHR0cCIgaWQ9Im5hbm9odHRwIj5Nb2R1bGUgbmFub2h0dHA8L2E+OjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUEF1dGhIZWFkZXIiPnhtbE5hbm9IVFRQQXV0aEhlYWRlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9odHRwLmh0bWwjeG1sTmFub0hUVFBDbGVhbnVwIj54bWxOYW5vSFRUUENsZWFudXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQQ2xvc2UiPnhtbE5hbm9IVFRQQ2xvc2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQQ29udGVudExlbmd0aCI+eG1sTmFub0hUVFBDb250ZW50TGVuZ3RoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUEVuY29kaW5nIj54bWxOYW5vSFRUUEVuY29kaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUEZldGNoIj54bWxOYW5vSFRUUEZldGNoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUEluaXQiPnhtbE5hbm9IVFRQSW5pdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9odHRwLmh0bWwjeG1sTmFub0hUVFBNZXRob2QiPnhtbE5hbm9IVFRQTWV0aG9kPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUE1ldGhvZFJlZGlyIj54bWxOYW5vSFRUUE1ldGhvZFJlZGlyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUE1pbWVUeXBlIj54bWxOYW5vSFRUUE1pbWVUeXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUE9wZW4iPnhtbE5hbm9IVFRQT3BlbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9odHRwLmh0bWwjeG1sTmFub0hUVFBPcGVuUmVkaXIiPnhtbE5hbm9IVFRQT3BlblJlZGlyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUFJlYWQiPnhtbE5hbm9IVFRQUmVhZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9odHRwLmh0bWwjeG1sTmFub0hUVFBSZWRpciI+eG1sTmFub0hUVFBSZWRpcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9odHRwLmh0bWwjeG1sTmFub0hUVFBSZXR1cm5Db2RlIj54bWxOYW5vSFRUUFJldHVybkNvZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQU2F2ZSI+eG1sTmFub0hUVFBTYXZlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUFNjYW5Qcm94eSI+eG1sTmFub0hUVFBTY2FuUHJveHk8L2E+PGJyIC8+Cis8L3A+PGgyPjxhIG5hbWU9InBhcnNlciIgaWQ9InBhcnNlciI+TW9kdWxlIHBhcnNlcjwvYT46PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfQ09NUExFVEVfQVRUUlMiPlhNTF9DT01QTEVURV9BVFRSUzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9ERUZBVUxUX1ZFUlNJT04iPlhNTF9ERUZBVUxUX1ZFUlNJT048L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfREVURUNUX0lEUyI+WE1MX0RFVEVDVF9JRFM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfUEFSU0VSX0FUVFJJQlVURV9WQUxVRSI+WE1MX1BBUlNFUl9BVFRSSUJVVEVfVkFMVUU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfUEFSU0VSX0NEQVRBX1NFQ1RJT04iPlhNTF9QQVJTRVJfQ0RBVEFfU0VDVElPTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9QQVJTRVJfQ09NTUVOVCI+WE1MX1BBUlNFUl9DT01NRU5UPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1BBUlNFUl9DT05URU5UIj5YTUxfUEFSU0VSX0NPTlRFTlQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfUEFSU0VSX0RURCI+WE1MX1BBUlNFUl9EVEQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfUEFSU0VSX0VORF9UQUciPlhNTF9QQVJTRVJfRU5EX1RBRzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9QQVJTRVJfRU5USVRZX0RFQ0wiPlhNTF9QQVJTRVJfRU5USVRZX0RFQ0w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfUEFSU0VSX0VOVElUWV9WQUxVRSI+WE1MX1BBUlNFUl9FTlRJVFlfVkFMVUU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfUEFSU0VSX0VPRiI+WE1MX1BBUlNFUl9FT0Y8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfUEFSU0VSX0VQSUxPRyI+WE1MX1BBUlNFUl9FUElMT0c8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfUEFSU0VSX0lHTk9SRSI+WE1MX1BBUlNFUl9JR05PUkU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfUEFSU0VSX01JU0MiPlhNTF9QQVJTRVJfTUlTQzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9QQVJTRVJfUEkiPlhNTF9QQVJTRVJfUEk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfUEFSU0VSX1BST0xPRyI+WE1MX1BBUlNFUl9QUk9MT0c8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfUEFSU0VSX1BVQkxJQ19MSVRFUkFMIj5YTUxfUEFSU0VSX1BVQkxJQ19MSVRFUkFMPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1BBUlNFUl9TVEFSVCI+WE1MX1BBUlNFUl9TVEFSVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9QQVJTRVJfU1RBUlRfVEFHIj5YTUxfUEFSU0VSX1NUQVJUX1RBRzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9QQVJTRVJfU1lTVEVNX0xJVEVSQUwiPlhNTF9QQVJTRVJfU1lTVEVNX0xJVEVSQUw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfUEFSU0VfQklHX0xJTkVTIj5YTUxfUEFSU0VfQklHX0xJTkVTPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1BBUlNFX0NPTVBBQ1QiPlhNTF9QQVJTRV9DT01QQUNUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1BBUlNFX0RPTSI+WE1MX1BBUlNFX0RPTTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9QQVJTRV9EVERBVFRSIj5YTUxfUEFSU0VfRFREQVRUUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9QQVJTRV9EVERMT0FEIj5YTUxfUEFSU0VfRFRETE9BRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9QQVJTRV9EVERWQUxJRCI+WE1MX1BBUlNFX0RURFZBTElEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1BBUlNFX0hVR0UiPlhNTF9QQVJTRV9IVUdFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1BBUlNFX0lHTk9SRV9FTkMiPlhNTF9QQVJTRV9JR05PUkVfRU5DPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1BBUlNFX05PQkFTRUZJWCI+WE1MX1BBUlNFX05PQkFTRUZJWDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9QQVJTRV9OT0JMQU5LUyI+WE1MX1BBUlNFX05PQkxBTktTPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1BBUlNFX05PQ0RBVEEiPlhNTF9QQVJTRV9OT0NEQVRBPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1BBUlNFX05PRElDVCI+WE1MX1BBUlNFX05PRElDVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9QQVJTRV9OT0VOVCI+WE1MX1BBUlNFX05PRU5UPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1BBUlNFX05PRVJST1IiPlhNTF9QQVJTRV9OT0VSUk9SPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1BBUlNFX05PTkVUIj5YTUxfUEFSU0VfTk9ORVQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfUEFSU0VfTk9XQVJOSU5HIj5YTUxfUEFSU0VfTk9XQVJOSU5HPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1BBUlNFX05PWElOQ05PREUiPlhNTF9QQVJTRV9OT1hJTkNOT0RFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1BBUlNFX05TQ0xFQU4iPlhNTF9QQVJTRV9OU0NMRUFOPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1BBUlNFX09MRDEwIj5YTUxfUEFSU0VfT0xEMTA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfUEFSU0VfT0xEU0FYIj5YTUxfUEFSU0VfT0xEU0FYPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1BBUlNFX1BFREFOVElDIj5YTUxfUEFSU0VfUEVEQU5USUM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfUEFSU0VfUFVTSF9ET00iPlhNTF9QQVJTRV9QVVNIX0RPTTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9QQVJTRV9QVVNIX1NBWCI+WE1MX1BBUlNFX1BVU0hfU0FYPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1BBUlNFX1JFQURFUiI+WE1MX1BBUlNFX1JFQURFUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9QQVJTRV9SRUNPVkVSIj5YTUxfUEFSU0VfUkVDT1ZFUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9QQVJTRV9TQVgiPlhNTF9QQVJTRV9TQVg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfUEFSU0VfU0FYMSI+WE1MX1BBUlNFX1NBWDE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfUEFSU0VfVU5LTk9XTiI+WE1MX1BBUlNFX1VOS05PV048L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfUEFSU0VfWElOQ0xVREUiPlhNTF9QQVJTRV9YSU5DTFVERTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9TQVgyX01BR0lDIj5YTUxfU0FYMl9NQUdJQzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9TS0lQX0lEUyI+WE1MX1NLSVBfSURTPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1dJVEhfQVVUT01BVEEiPlhNTF9XSVRIX0FVVE9NQVRBPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1dJVEhfQzE0TiI+WE1MX1dJVEhfQzE0TjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9XSVRIX0NBVEFMT0ciPlhNTF9XSVRIX0NBVEFMT0c8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfV0lUSF9ERUJVRyI+WE1MX1dJVEhfREVCVUc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfV0lUSF9ERUJVR19NRU0iPlhNTF9XSVRIX0RFQlVHX01FTTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9XSVRIX0RFQlVHX1JVTiI+WE1MX1dJVEhfREVCVUdfUlVOPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1dJVEhfRVhQUiI+WE1MX1dJVEhfRVhQUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9XSVRIX0ZUUCI+WE1MX1dJVEhfRlRQPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1dJVEhfSFRNTCI+WE1MX1dJVEhfSFRNTDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9XSVRIX0hUVFAiPlhNTF9XSVRIX0hUVFA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfV0lUSF9JQ09OViI+WE1MX1dJVEhfSUNPTlY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfV0lUSF9JQ1UiPlhNTF9XSVRIX0lDVTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9XSVRIX0lTTzg4NTlYIj5YTUxfV0lUSF9JU084ODU5WDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9XSVRIX0xFR0FDWSI+WE1MX1dJVEhfTEVHQUNZPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1dJVEhfTFpNQSI+WE1MX1dJVEhfTFpNQTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9XSVRIX01PRFVMRVMiPlhNTF9XSVRIX01PRFVMRVM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfV0lUSF9OT05FIj5YTUxfV0lUSF9OT05FPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1dJVEhfT1VUUFVUIj5YTUxfV0lUSF9PVVRQVVQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfV0lUSF9QQVRURVJOIj5YTUxfV0lUSF9QQVRURVJOPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1dJVEhfUFVTSCI+WE1MX1dJVEhfUFVTSDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9XSVRIX1JFQURFUiI+WE1MX1dJVEhfUkVBREVSPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1dJVEhfUkVHRVhQIj5YTUxfV0lUSF9SRUdFWFA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfV0lUSF9TQVgxIj5YTUxfV0lUSF9TQVgxPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1dJVEhfU0NIRU1BUyI+WE1MX1dJVEhfU0NIRU1BUzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9XSVRIX1NDSEVNQVRST04iPlhNTF9XSVRIX1NDSEVNQVRST048L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfV0lUSF9USFJFQUQiPlhNTF9XSVRIX1RIUkVBRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9XSVRIX1RSRUUiPlhNTF9XSVRIX1RSRUU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfV0lUSF9VTklDT0RFIj5YTUxfV0lUSF9VTklDT0RFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1dJVEhfVkFMSUQiPlhNTF9XSVRIX1ZBTElEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1dJVEhfV1JJVEVSIj5YTUxfV0lUSF9XUklURVI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfV0lUSF9YSU5DTFVERSI+WE1MX1dJVEhfWElOQ0xVREU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfV0lUSF9YUEFUSCI+WE1MX1dJVEhfWFBBVEg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfV0lUSF9YUFRSIj5YTUxfV0lUSF9YUFRSPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1dJVEhfWkxJQiI+WE1MX1dJVEhfWkxJQjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI194bWxQYXJzZXJDdHh0Ij5feG1sUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI194bWxQYXJzZXJJbnB1dCI+X3htbFBhcnNlcklucHV0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjX3htbFBhcnNlck5vZGVJbmZvIj5feG1sUGFyc2VyTm9kZUluZm88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNfeG1sUGFyc2VyTm9kZUluZm9TZXEiPl94bWxQYXJzZXJOb2RlSW5mb1NlcTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI194bWxTQVhIYW5kbGVyIj5feG1sU0FYSGFuZGxlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI194bWxTQVhIYW5kbGVyVjEiPl94bWxTQVhIYW5kbGVyVjE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNfeG1sU0FYTG9jYXRvciI+X3htbFNBWExvY2F0b3I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNhdHRyaWJ1dGVEZWNsU0FYRnVuYyI+YXR0cmlidXRlRGVjbFNBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNhdHRyaWJ1dGVTQVhGdW5jIj5hdHRyaWJ1dGVTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjY2RhdGFCbG9ja1NBWEZ1bmMiPmNkYXRhQmxvY2tTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjY2hhcmFjdGVyc1NBWEZ1bmMiPmNoYXJhY3RlcnNTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjY29tbWVudFNBWEZ1bmMiPmNvbW1lbnRTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjZWxlbWVudERlY2xTQVhGdW5jIj5lbGVtZW50RGVjbFNBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNlbmREb2N1bWVudFNBWEZ1bmMiPmVuZERvY3VtZW50U0FYRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI2VuZEVsZW1lbnROc1NBWDJGdW5jIj5lbmRFbGVtZW50TnNTQVgyRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI2VuZEVsZW1lbnRTQVhGdW5jIj5lbmRFbGVtZW50U0FYRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI2VudGl0eURlY2xTQVhGdW5jIj5lbnRpdHlEZWNsU0FYRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI2Vycm9yU0FYRnVuYyI+ZXJyb3JTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjZXh0ZXJuYWxTdWJzZXRTQVhGdW5jIj5leHRlcm5hbFN1YnNldFNBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNmYXRhbEVycm9yU0FYRnVuYyI+ZmF0YWxFcnJvclNBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNnZXRFbnRpdHlTQVhGdW5jIj5nZXRFbnRpdHlTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjZ2V0UGFyYW1ldGVyRW50aXR5U0FYRnVuYyI+Z2V0UGFyYW1ldGVyRW50aXR5U0FYRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI2hhc0V4dGVybmFsU3Vic2V0U0FYRnVuYyI+aGFzRXh0ZXJuYWxTdWJzZXRTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjaGFzSW50ZXJuYWxTdWJzZXRTQVhGdW5jIj5oYXNJbnRlcm5hbFN1YnNldFNBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNpZ25vcmFibGVXaGl0ZXNwYWNlU0FYRnVuYyI+aWdub3JhYmxlV2hpdGVzcGFjZVNBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNpbnRlcm5hbFN1YnNldFNBWEZ1bmMiPmludGVybmFsU3Vic2V0U0FYRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI2lzU3RhbmRhbG9uZVNBWEZ1bmMiPmlzU3RhbmRhbG9uZVNBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNub3RhdGlvbkRlY2xTQVhGdW5jIj5ub3RhdGlvbkRlY2xTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjcHJvY2Vzc2luZ0luc3RydWN0aW9uU0FYRnVuYyI+cHJvY2Vzc2luZ0luc3RydWN0aW9uU0FYRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3JlZmVyZW5jZVNBWEZ1bmMiPnJlZmVyZW5jZVNBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNyZXNvbHZlRW50aXR5U0FYRnVuYyI+cmVzb2x2ZUVudGl0eVNBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNzZXREb2N1bWVudExvY2F0b3JTQVhGdW5jIj5zZXREb2N1bWVudExvY2F0b3JTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjc3RhcnREb2N1bWVudFNBWEZ1bmMiPnN0YXJ0RG9jdW1lbnRTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjc3RhcnRFbGVtZW50TnNTQVgyRnVuYyI+c3RhcnRFbGVtZW50TnNTQVgyRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3N0YXJ0RWxlbWVudFNBWEZ1bmMiPnN0YXJ0RWxlbWVudFNBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN1bnBhcnNlZEVudGl0eURlY2xTQVhGdW5jIj51bnBhcnNlZEVudGl0eURlY2xTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjd2FybmluZ1NBWEZ1bmMiPndhcm5pbmdTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQnl0ZUNvbnN1bWVkIj54bWxCeXRlQ29uc3VtZWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxDbGVhbnVwUGFyc2VyIj54bWxDbGVhbnVwUGFyc2VyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ2xlYXJOb2RlSW5mb1NlcSI+eG1sQ2xlYXJOb2RlSW5mb1NlcTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbENsZWFyUGFyc2VyQ3R4dCI+eG1sQ2xlYXJQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ3JlYXRlRG9jUGFyc2VyQ3R4dCI+eG1sQ3JlYXRlRG9jUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbENyZWF0ZUlPUGFyc2VyQ3R4dCI+eG1sQ3JlYXRlSU9QYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQiPnhtbENyZWF0ZVB1c2hQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ3R4dFJlYWREb2MiPnhtbEN0eHRSZWFkRG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ3R4dFJlYWRGZCI+eG1sQ3R4dFJlYWRGZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEN0eHRSZWFkRmlsZSI+eG1sQ3R4dFJlYWRGaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ3R4dFJlYWRJTyI+eG1sQ3R4dFJlYWRJTzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEN0eHRSZWFkTWVtb3J5Ij54bWxDdHh0UmVhZE1lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEN0eHRSZXNldCI+eG1sQ3R4dFJlc2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ3R4dFJlc2V0UHVzaCI+eG1sQ3R4dFJlc2V0UHVzaDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEN0eHRVc2VPcHRpb25zIj54bWxDdHh0VXNlT3B0aW9uczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEV4dGVybmFsRW50aXR5TG9hZGVyIj54bWxFeHRlcm5hbEVudGl0eUxvYWRlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEZlYXR1cmUiPnhtbEZlYXR1cmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxGcmVlUGFyc2VyQ3R4dCI+eG1sRnJlZVBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxHZXRFeHRlcm5hbEVudGl0eUxvYWRlciI+eG1sR2V0RXh0ZXJuYWxFbnRpdHlMb2FkZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxHZXRGZWF0dXJlIj54bWxHZXRGZWF0dXJlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sR2V0RmVhdHVyZXNMaXN0Ij54bWxHZXRGZWF0dXJlc0xpc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxIYXNGZWF0dXJlIj54bWxIYXNGZWF0dXJlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sSU9QYXJzZURURCI+eG1sSU9QYXJzZURURDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEluaXROb2RlSW5mb1NlcSI+eG1sSW5pdE5vZGVJbmZvU2VxPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sSW5pdFBhcnNlciI+eG1sSW5pdFBhcnNlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEluaXRQYXJzZXJDdHh0Ij54bWxJbml0UGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEtlZXBCbGFua3NEZWZhdWx0Ij54bWxLZWVwQmxhbmtzRGVmYXVsdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbExpbmVOdW1iZXJzRGVmYXVsdCI+eG1sTGluZU51bWJlcnNEZWZhdWx0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sTG9hZEV4dGVybmFsRW50aXR5Ij54bWxMb2FkRXh0ZXJuYWxFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxOZXdJT0lucHV0U3RyZWFtIj54bWxOZXdJT0lucHV0U3RyZWFtPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sTmV3UGFyc2VyQ3R4dCI+eG1sTmV3UGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeSI+eG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5UmVjb3ZlciI+eG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5UmVjb3ZlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlQ2h1bmsiPnhtbFBhcnNlQ2h1bms8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUN0eHRFeHRlcm5hbEVudGl0eSI+eG1sUGFyc2VDdHh0RXh0ZXJuYWxFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZURURCI+eG1sUGFyc2VEVEQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZURvYyI+eG1sUGFyc2VEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZURvY3VtZW50Ij54bWxQYXJzZURvY3VtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VFbnRpdHkiPnhtbFBhcnNlRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VFeHRQYXJzZWRFbnQiPnhtbFBhcnNlRXh0UGFyc2VkRW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VFeHRlcm5hbEVudGl0eSI+eG1sUGFyc2VFeHRlcm5hbEVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlRmlsZSI+eG1sUGFyc2VGaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VJbk5vZGVDb250ZXh0Ij54bWxQYXJzZUluTm9kZUNvbnRleHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZU1lbW9yeSI+eG1sUGFyc2VNZW1vcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZXJBZGROb2RlSW5mbyI+eG1sUGFyc2VyQWRkTm9kZUluZm88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZXJGaW5kTm9kZUluZm8iPnhtbFBhcnNlckZpbmROb2RlSW5mbzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlckZpbmROb2RlSW5mb0luZGV4Ij54bWxQYXJzZXJGaW5kTm9kZUluZm9JbmRleDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlcklucHV0RGVhbGxvY2F0ZSI+eG1sUGFyc2VySW5wdXREZWFsbG9jYXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VySW5wdXRHcm93Ij54bWxQYXJzZXJJbnB1dEdyb3c8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZXJJbnB1dFJlYWQiPnhtbFBhcnNlcklucHV0UmVhZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlcklucHV0U3RhdGUiPnhtbFBhcnNlcklucHV0U3RhdGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZXJNb2RlIj54bWxQYXJzZXJNb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VyTm9kZUluZm8iPnhtbFBhcnNlck5vZGVJbmZvPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VyTm9kZUluZm9QdHIiPnhtbFBhcnNlck5vZGVJbmZvUHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VyTm9kZUluZm9TZXEiPnhtbFBhcnNlck5vZGVJbmZvU2VxPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VyTm9kZUluZm9TZXFQdHIiPnhtbFBhcnNlck5vZGVJbmZvU2VxUHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VyT3B0aW9uIj54bWxQYXJzZXJPcHRpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQZWRhbnRpY1BhcnNlckRlZmF1bHQiPnhtbFBlZGFudGljUGFyc2VyRGVmYXVsdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFJlYWREb2MiPnhtbFJlYWREb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxSZWFkRmQiPnhtbFJlYWRGZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFJlYWRGaWxlIj54bWxSZWFkRmlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFJlYWRJTyI+eG1sUmVhZElPPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUmVhZE1lbW9yeSI+eG1sUmVhZE1lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFJlY292ZXJEb2MiPnhtbFJlY292ZXJEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxSZWNvdmVyRmlsZSI+eG1sUmVjb3ZlckZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxSZWNvdmVyTWVtb3J5Ij54bWxSZWNvdmVyTWVtb3J5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYSGFuZGxlclYxIj54bWxTQVhIYW5kbGVyVjE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxTQVhIYW5kbGVyVjFQdHIiPnhtbFNBWEhhbmRsZXJWMVB0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNBWFBhcnNlRFREIj54bWxTQVhQYXJzZURURDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNBWFBhcnNlRG9jIj54bWxTQVhQYXJzZURvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNBWFBhcnNlRW50aXR5Ij54bWxTQVhQYXJzZUVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNBWFBhcnNlRmlsZSI+eG1sU0FYUGFyc2VGaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYUGFyc2VGaWxlV2l0aERhdGEiPnhtbFNBWFBhcnNlRmlsZVdpdGhEYXRhPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYUGFyc2VNZW1vcnkiPnhtbFNBWFBhcnNlTWVtb3J5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYUGFyc2VNZW1vcnlXaXRoRGF0YSI+eG1sU0FYUGFyc2VNZW1vcnlXaXRoRGF0YTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNBWFVzZXJQYXJzZUZpbGUiPnhtbFNBWFVzZXJQYXJzZUZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxTQVhVc2VyUGFyc2VNZW1vcnkiPnhtbFNBWFVzZXJQYXJzZU1lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNldEV4dGVybmFsRW50aXR5TG9hZGVyIj54bWxTZXRFeHRlcm5hbEVudGl0eUxvYWRlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNldEZlYXR1cmUiPnhtbFNldEZlYXR1cmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxTZXR1cFBhcnNlckZvckJ1ZmZlciI+eG1sU2V0dXBQYXJzZXJGb3JCdWZmZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxTdG9wUGFyc2VyIj54bWxTdG9wUGFyc2VyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdCI+eG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdDwvYT48YnIgLz4KKzwvcD48aDI+PGEgbmFtZT0icGFyc2VySW50ZXJuYWxzIiBpZD0icGFyc2VySW50ZXJuYWxzIj5Nb2R1bGUgcGFyc2VySW50ZXJuYWxzPC9hPjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lOUFVUX0NIVU5LIj5JTlBVVF9DSFVOSzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTX0FTQ0lJX0RJR0lUIj5JU19BU0NJSV9ESUdJVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTX0FTQ0lJX0xFVFRFUiI+SVNfQVNDSUlfTEVUVEVSPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjSVNfQkFTRUNIQVIiPklTX0JBU0VDSEFSPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjSVNfQkxBTksiPklTX0JMQU5LPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjSVNfQkxBTktfQ0giPklTX0JMQU5LX0NIPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjSVNfQllURV9DSEFSIj5JU19CWVRFX0NIQVI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNJU19DSEFSIj5JU19DSEFSPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjSVNfQ0hBUl9DSCI+SVNfQ0hBUl9DSDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTX0NPTUJJTklORyI+SVNfQ09NQklOSU5HPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjSVNfQ09NQklOSU5HX0NIIj5JU19DT01CSU5JTkdfQ0g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNJU19ESUdJVCI+SVNfRElHSVQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNJU19ESUdJVF9DSCI+SVNfRElHSVRfQ0g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNJU19FWFRFTkRFUiI+SVNfRVhURU5ERVI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNJU19FWFRFTkRFUl9DSCI+SVNfRVhURU5ERVJfQ0g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNJU19JREVPR1JBUEhJQyI+SVNfSURFT0dSQVBISUM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNJU19MRVRURVIiPklTX0xFVFRFUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTX0xFVFRFUl9DSCI+SVNfTEVUVEVSX0NIPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjSVNfUFVCSURDSEFSIj5JU19QVUJJRENIQVI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNJU19QVUJJRENIQVJfQ0giPklTX1BVQklEQ0hBUl9DSDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI01PVkVUT19FTkRUQUciPk1PVkVUT19FTkRUQUc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNNT1ZFVE9fU1RBUlRUQUciPk1PVkVUT19TVEFSVFRBRzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI1NLSVBfRU9MIj5TS0lQX0VPTDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI1hNTF9NQVhfRElDVElPTkFSWV9MSU1JVCI+WE1MX01BWF9ESUNUSU9OQVJZX0xJTUlUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjWE1MX01BWF9MT09LVVBfTElNSVQiPlhNTF9NQVhfTE9PS1VQX0xJTUlUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjWE1MX01BWF9OQU1FTEVOIj5YTUxfTUFYX05BTUVMRU48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNYTUxfTUFYX05BTUVfTEVOR1RIIj5YTUxfTUFYX05BTUVfTEVOR1RIPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjWE1MX01BWF9URVhUX0xFTkdUSCI+WE1MX01BWF9URVhUX0xFTkdUSDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI1hNTF9TVUJTVElUVVRFX0JPVEgiPlhNTF9TVUJTVElUVVRFX0JPVEg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNYTUxfU1VCU1RJVFVURV9OT05FIj5YTUxfU1VCU1RJVFVURV9OT05FPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjWE1MX1NVQlNUSVRVVEVfUEVSRUYiPlhNTF9TVUJTVElUVVRFX1BFUkVGPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjWE1MX1NVQlNUSVRVVEVfUkVGIj5YTUxfU1VCU1RJVFVURV9SRUY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNodG1sQ3JlYXRlRmlsZVBhcnNlckN0eHQiPmh0bWxDcmVhdGVGaWxlUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI2h0bWxJbml0QXV0b0Nsb3NlIj5odG1sSW5pdEF1dG9DbG9zZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI2lucHV0UG9wIj5pbnB1dFBvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI2lucHV0UHVzaCI+aW5wdXRQdXNoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjbmFtZVBvcCI+bmFtZVBvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI25hbWVQdXNoIj5uYW1lUHVzaDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI25vZGVQb3AiPm5vZGVQb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNub2RlUHVzaCI+bm9kZVB1c2g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxDaGVja0xhbmd1YWdlSUQiPnhtbENoZWNrTGFuZ3VhZ2VJRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbENvcHlDaGFyIj54bWxDb3B5Q2hhcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbENvcHlDaGFyTXVsdGlCeXRlIj54bWxDb3B5Q2hhck11bHRpQnl0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbENyZWF0ZUVudGl0eVBhcnNlckN0eHQiPnhtbENyZWF0ZUVudGl0eVBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxDcmVhdGVGaWxlUGFyc2VyQ3R4dCI+eG1sQ3JlYXRlRmlsZVBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxDcmVhdGVNZW1vcnlQYXJzZXJDdHh0Ij54bWxDcmVhdGVNZW1vcnlQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sQ3JlYXRlVVJMUGFyc2VyQ3R4dCI+eG1sQ3JlYXRlVVJMUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbEN1cnJlbnRDaGFyIj54bWxDdXJyZW50Q2hhcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbERlY29kZUVudGl0aWVzIj54bWxEZWNvZGVFbnRpdGllczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbEVudGl0eVJlZmVyZW5jZUZ1bmMiPnhtbEVudGl0eVJlZmVyZW5jZUZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxFcnJNZW1vcnkiPnhtbEVyck1lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbEZyZWVJbnB1dFN0cmVhbSI+eG1sRnJlZUlucHV0U3RyZWFtPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sSGFuZGxlRW50aXR5Ij54bWxIYW5kbGVFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxJc0xldHRlciI+eG1sSXNMZXR0ZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxOYW1lc3BhY2VQYXJzZU5DTmFtZSI+eG1sTmFtZXNwYWNlUGFyc2VOQ05hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxOYW1lc3BhY2VQYXJzZU5TRGVmIj54bWxOYW1lc3BhY2VQYXJzZU5TRGVmPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sTmFtZXNwYWNlUGFyc2VRTmFtZSI+eG1sTmFtZXNwYWNlUGFyc2VRTmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbE5ld0VudGl0eUlucHV0U3RyZWFtIj54bWxOZXdFbnRpdHlJbnB1dFN0cmVhbTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbE5ld0lucHV0RnJvbUZpbGUiPnhtbE5ld0lucHV0RnJvbUZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxOZXdJbnB1dFN0cmVhbSI+eG1sTmV3SW5wdXRTdHJlYW08L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxOZXdTdHJpbmdJbnB1dFN0cmVhbSI+eG1sTmV3U3RyaW5nSW5wdXRTdHJlYW08L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxOZXh0Q2hhciI+eG1sTmV4dENoYXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUF0dFZhbHVlIj54bWxQYXJzZUF0dFZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VBdHRyaWJ1dGUiPnhtbFBhcnNlQXR0cmlidXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VBdHRyaWJ1dGVMaXN0RGVjbCI+eG1sUGFyc2VBdHRyaWJ1dGVMaXN0RGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQXR0cmlidXRlVHlwZSI+eG1sUGFyc2VBdHRyaWJ1dGVUeXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VDRFNlY3QiPnhtbFBhcnNlQ0RTZWN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VDaGFyRGF0YSI+eG1sUGFyc2VDaGFyRGF0YTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQ2hhclJlZiI+eG1sUGFyc2VDaGFyUmVmPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VDb21tZW50Ij54bWxQYXJzZUNvbW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUNvbnRlbnQiPnhtbFBhcnNlQ29udGVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRGVmYXVsdERlY2wiPnhtbFBhcnNlRGVmYXVsdERlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZURvY1R5cGVEZWNsIj54bWxQYXJzZURvY1R5cGVEZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbGVtZW50Ij54bWxQYXJzZUVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVsZW1lbnRDaGlsZHJlbkNvbnRlbnREZWNsIj54bWxQYXJzZUVsZW1lbnRDaGlsZHJlbkNvbnRlbnREZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbGVtZW50Q29udGVudERlY2wiPnhtbFBhcnNlRWxlbWVudENvbnRlbnREZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbGVtZW50RGVjbCI+eG1sUGFyc2VFbGVtZW50RGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRWxlbWVudE1peGVkQ29udGVudERlY2wiPnhtbFBhcnNlRWxlbWVudE1peGVkQ29udGVudERlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVuY05hbWUiPnhtbFBhcnNlRW5jTmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRW5jb2RpbmdEZWNsIj54bWxQYXJzZUVuY29kaW5nRGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRW5kVGFnIj54bWxQYXJzZUVuZFRhZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRW50aXR5RGVjbCI+eG1sUGFyc2VFbnRpdHlEZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbnRpdHlSZWYiPnhtbFBhcnNlRW50aXR5UmVmPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbnRpdHlWYWx1ZSI+eG1sUGFyc2VFbnRpdHlWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRW51bWVyYXRlZFR5cGUiPnhtbFBhcnNlRW51bWVyYXRlZFR5cGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVudW1lcmF0aW9uVHlwZSI+eG1sUGFyc2VFbnVtZXJhdGlvblR5cGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUV4dGVybmFsSUQiPnhtbFBhcnNlRXh0ZXJuYWxJRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRXh0ZXJuYWxTdWJzZXQiPnhtbFBhcnNlRXh0ZXJuYWxTdWJzZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZU1hcmt1cERlY2wiPnhtbFBhcnNlTWFya3VwRGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlTWlzYyI+eG1sUGFyc2VNaXNjPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VOYW1lIj54bWxQYXJzZU5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZU5hbWVzcGFjZSI+eG1sUGFyc2VOYW1lc3BhY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZU5tdG9rZW4iPnhtbFBhcnNlTm10b2tlbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlTm90YXRpb25EZWNsIj54bWxQYXJzZU5vdGF0aW9uRGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlTm90YXRpb25UeXBlIj54bWxQYXJzZU5vdGF0aW9uVHlwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlUEVSZWZlcmVuY2UiPnhtbFBhcnNlUEVSZWZlcmVuY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZVBJIj54bWxQYXJzZVBJPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VQSVRhcmdldCI+eG1sUGFyc2VQSVRhcmdldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlUHViaWRMaXRlcmFsIj54bWxQYXJzZVB1YmlkTGl0ZXJhbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlUXVvdGVkU3RyaW5nIj54bWxQYXJzZVF1b3RlZFN0cmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlUmVmZXJlbmNlIj54bWxQYXJzZVJlZmVyZW5jZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlU0REZWNsIj54bWxQYXJzZVNERGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlU3RhcnRUYWciPnhtbFBhcnNlU3RhcnRUYWc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZVN5c3RlbUxpdGVyYWwiPnhtbFBhcnNlU3lzdGVtTGl0ZXJhbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlVGV4dERlY2wiPnhtbFBhcnNlVGV4dERlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZVZlcnNpb25JbmZvIj54bWxQYXJzZVZlcnNpb25JbmZvPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VWZXJzaW9uTnVtIj54bWxQYXJzZVZlcnNpb25OdW08L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZVhNTERlY2wiPnhtbFBhcnNlWE1MRGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlckhhbmRsZVBFUmVmZXJlbmNlIj54bWxQYXJzZXJIYW5kbGVQRVJlZmVyZW5jZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlckhhbmRsZVJlZmVyZW5jZSI+eG1sUGFyc2VySGFuZGxlUmVmZXJlbmNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VySW5wdXRTaHJpbmsiPnhtbFBhcnNlcklucHV0U2hyaW5rPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VyTWF4RGVwdGgiPnhtbFBhcnNlck1heERlcHRoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUG9wSW5wdXQiPnhtbFBvcElucHV0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUHVzaElucHV0Ij54bWxQdXNoSW5wdXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxTY2FuTmFtZSI+eG1sU2Nhbk5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxTZXRFbnRpdHlSZWZlcmVuY2VGdW5jIj54bWxTZXRFbnRpdHlSZWZlcmVuY2VGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sU2tpcEJsYW5rQ2hhcnMiPnhtbFNraXBCbGFua0NoYXJzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sU3BsaXRRTmFtZSI+eG1sU3BsaXRRTmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFN0cmluZ0NvbW1lbnQiPnhtbFN0cmluZ0NvbW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxTdHJpbmdDdXJyZW50Q2hhciI+eG1sU3RyaW5nQ3VycmVudENoYXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxTdHJpbmdEZWNvZGVFbnRpdGllcyI+eG1sU3RyaW5nRGVjb2RlRW50aXRpZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxTdHJpbmdMZW5EZWNvZGVFbnRpdGllcyI+eG1sU3RyaW5nTGVuRGVjb2RlRW50aXRpZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxTdHJpbmdUZXh0Ij54bWxTdHJpbmdUZXh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sU3RyaW5nVGV4dE5vZW5jIj54bWxTdHJpbmdUZXh0Tm9lbmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxTd2l0Y2hFbmNvZGluZyI+eG1sU3dpdGNoRW5jb2Rpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxTd2l0Y2hJbnB1dEVuY29kaW5nIj54bWxTd2l0Y2hJbnB1dEVuY29kaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sU3dpdGNoVG9FbmNvZGluZyI+eG1sU3dpdGNoVG9FbmNvZGluZzwvYT48YnIgLz4KKzwvcD48aDI+PGEgbmFtZT0icGF0dGVybiIgaWQ9InBhdHRlcm4iPk1vZHVsZSBwYXR0ZXJuPC9hPjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCNYTUxfUEFUVEVSTl9ERUZBVUxUIj5YTUxfUEFUVEVSTl9ERUZBVUxUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI1hNTF9QQVRURVJOX1hQQVRIIj5YTUxfUEFUVEVSTl9YUEFUSDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCNYTUxfUEFUVEVSTl9YU0ZJRUxEIj5YTUxfUEFUVEVSTl9YU0ZJRUxEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI1hNTF9QQVRURVJOX1hTU0VMIj5YTUxfUEFUVEVSTl9YU1NFTDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCN4bWxGcmVlUGF0dGVybiI+eG1sRnJlZVBhdHRlcm48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sRnJlZVBhdHRlcm5MaXN0Ij54bWxGcmVlUGF0dGVybkxpc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sRnJlZVN0cmVhbUN0eHQiPnhtbEZyZWVTdHJlYW1DdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbFBhdHRlcm4iPnhtbFBhdHRlcm48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sUGF0dGVybkZsYWdzIj54bWxQYXR0ZXJuRmxhZ3M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sUGF0dGVybkZyb21Sb290Ij54bWxQYXR0ZXJuRnJvbVJvb3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sUGF0dGVybkdldFN0cmVhbUN0eHQiPnhtbFBhdHRlcm5HZXRTdHJlYW1DdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbFBhdHRlcm5NYXRjaCI+eG1sUGF0dGVybk1hdGNoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbFBhdHRlcm5NYXhEZXB0aCI+eG1sUGF0dGVybk1heERlcHRoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbFBhdHRlcm5NaW5EZXB0aCI+eG1sUGF0dGVybk1pbkRlcHRoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbFBhdHRlcm5QdHIiPnhtbFBhdHRlcm5QdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sUGF0dGVyblN0cmVhbWFibGUiPnhtbFBhdHRlcm5TdHJlYW1hYmxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbFBhdHRlcm5jb21waWxlIj54bWxQYXR0ZXJuY29tcGlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCN4bWxTdHJlYW1DdHh0Ij54bWxTdHJlYW1DdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbFN0cmVhbUN0eHRQdHIiPnhtbFN0cmVhbUN0eHRQdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sU3RyZWFtUG9wIj54bWxTdHJlYW1Qb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sU3RyZWFtUHVzaCI+eG1sU3RyZWFtUHVzaDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCN4bWxTdHJlYW1QdXNoQXR0ciI+eG1sU3RyZWFtUHVzaEF0dHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sU3RyZWFtUHVzaE5vZGUiPnhtbFN0cmVhbVB1c2hOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbFN0cmVhbVdhbnRzQW55Tm9kZSI+eG1sU3RyZWFtV2FudHNBbnlOb2RlPC9hPjxiciAvPgorPC9wPjxoMj48YSBuYW1lPSJyZWxheG5nIiBpZD0icmVsYXhuZyI+TW9kdWxlIHJlbGF4bmc8L2E+OjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI1hNTF9SRUxBWE5HUF9DUk5HIj5YTUxfUkVMQVhOR1BfQ1JORzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCNYTUxfUkVMQVhOR1BfRlJFRV9ET0MiPlhNTF9SRUxBWE5HUF9GUkVFX0RPQzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCNYTUxfUkVMQVhOR1BfTk9ORSI+WE1MX1JFTEFYTkdQX05PTkU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjWE1MX1JFTEFYTkdfRVJSX0FUVFJFWFRSQU5TIj5YTUxfUkVMQVhOR19FUlJfQVRUUkVYVFJBTlM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjWE1MX1JFTEFYTkdfRVJSX0FUVFJOQU1FIj5YTUxfUkVMQVhOR19FUlJfQVRUUk5BTUU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjWE1MX1JFTEFYTkdfRVJSX0FUVFJOT05TIj5YTUxfUkVMQVhOR19FUlJfQVRUUk5PTlM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjWE1MX1JFTEFYTkdfRVJSX0FUVFJWQUxJRCI+WE1MX1JFTEFYTkdfRVJSX0FUVFJWQUxJRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCNYTUxfUkVMQVhOR19FUlJfQVRUUldST05HTlMiPlhNTF9SRUxBWE5HX0VSUl9BVFRSV1JPTkdOUzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCNYTUxfUkVMQVhOR19FUlJfQ09OVEVOVFZBTElEIj5YTUxfUkVMQVhOR19FUlJfQ09OVEVOVFZBTElEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI1hNTF9SRUxBWE5HX0VSUl9EQVRBRUxFTSI+WE1MX1JFTEFYTkdfRVJSX0RBVEFFTEVNPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI1hNTF9SRUxBWE5HX0VSUl9EQVRBVFlQRSI+WE1MX1JFTEFYTkdfRVJSX0RBVEFUWVBFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI1hNTF9SRUxBWE5HX0VSUl9EVVBJRCI+WE1MX1JFTEFYTkdfRVJSX0RVUElEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI1hNTF9SRUxBWE5HX0VSUl9FTEVNRVhUUkFOUyI+WE1MX1JFTEFYTkdfRVJSX0VMRU1FWFRSQU5TPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI1hNTF9SRUxBWE5HX0VSUl9FTEVNTkFNRSI+WE1MX1JFTEFYTkdfRVJSX0VMRU1OQU1FPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI1hNTF9SRUxBWE5HX0VSUl9FTEVNTk9OUyI+WE1MX1JFTEFYTkdfRVJSX0VMRU1OT05TPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI1hNTF9SRUxBWE5HX0VSUl9FTEVNTk9URU1QVFkiPlhNTF9SRUxBWE5HX0VSUl9FTEVNTk9URU1QVFk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjWE1MX1JFTEFYTkdfRVJSX0VMRU1XUk9ORyI+WE1MX1JFTEFYTkdfRVJSX0VMRU1XUk9ORzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCNYTUxfUkVMQVhOR19FUlJfRUxFTVdST05HTlMiPlhNTF9SRUxBWE5HX0VSUl9FTEVNV1JPTkdOUzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCNYTUxfUkVMQVhOR19FUlJfRVhUUkFDT05URU5UIj5YTUxfUkVMQVhOR19FUlJfRVhUUkFDT05URU5UPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI1hNTF9SRUxBWE5HX0VSUl9FWFRSQURBVEEiPlhNTF9SRUxBWE5HX0VSUl9FWFRSQURBVEE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjWE1MX1JFTEFYTkdfRVJSX0lOVEVSRVhUUkEiPlhNTF9SRUxBWE5HX0VSUl9JTlRFUkVYVFJBPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI1hNTF9SRUxBWE5HX0VSUl9JTlRFUk5BTCI+WE1MX1JFTEFYTkdfRVJSX0lOVEVSTkFMPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI1hNTF9SRUxBWE5HX0VSUl9JTlRFUk5PREFUQSI+WE1MX1JFTEFYTkdfRVJSX0lOVEVSTk9EQVRBPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI1hNTF9SRUxBWE5HX0VSUl9JTlRFUlNFUSI+WE1MX1JFTEFYTkdfRVJSX0lOVEVSU0VRPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI1hNTF9SRUxBWE5HX0VSUl9JTlZBTElEQVRUUiI+WE1MX1JFTEFYTkdfRVJSX0lOVkFMSURBVFRSPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI1hNTF9SRUxBWE5HX0VSUl9MQUNLREFUQSI+WE1MX1JFTEFYTkdfRVJSX0xBQ0tEQVRBPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI1hNTF9SRUxBWE5HX0VSUl9MSVNUIj5YTUxfUkVMQVhOR19FUlJfTElTVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCNYTUxfUkVMQVhOR19FUlJfTElTVEVMRU0iPlhNTF9SRUxBWE5HX0VSUl9MSVNURUxFTTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCNYTUxfUkVMQVhOR19FUlJfTElTVEVNUFRZIj5YTUxfUkVMQVhOR19FUlJfTElTVEVNUFRZPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI1hNTF9SRUxBWE5HX0VSUl9MSVNURVhUUkEiPlhNTF9SRUxBWE5HX0VSUl9MSVNURVhUUkE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjWE1MX1JFTEFYTkdfRVJSX01FTU9SWSI+WE1MX1JFTEFYTkdfRVJSX01FTU9SWTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCNYTUxfUkVMQVhOR19FUlJfTk9ERUZJTkUiPlhNTF9SRUxBWE5HX0VSUl9OT0RFRklORTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCNYTUxfUkVMQVhOR19FUlJfTk9FTEVNIj5YTUxfUkVMQVhOR19FUlJfTk9FTEVNPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI1hNTF9SRUxBWE5HX0VSUl9OT0dSQU1NQVIiPlhNTF9SRUxBWE5HX0VSUl9OT0dSQU1NQVI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjWE1MX1JFTEFYTkdfRVJSX05PU1RBVEUiPlhNTF9SRUxBWE5HX0VSUl9OT1NUQVRFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI1hNTF9SRUxBWE5HX0VSUl9OT1RFTEVNIj5YTUxfUkVMQVhOR19FUlJfTk9URUxFTTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCNYTUxfUkVMQVhOR19FUlJfVEVYVFdST05HIj5YTUxfUkVMQVhOR19FUlJfVEVYVFdST05HPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI1hNTF9SRUxBWE5HX0VSUl9UWVBFIj5YTUxfUkVMQVhOR19FUlJfVFlQRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCNYTUxfUkVMQVhOR19FUlJfVFlQRUNNUCI+WE1MX1JFTEFYTkdfRVJSX1RZUEVDTVA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjWE1MX1JFTEFYTkdfRVJSX1RZUEVWQUwiPlhNTF9SRUxBWE5HX0VSUl9UWVBFVkFMPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI1hNTF9SRUxBWE5HX0VSUl9WQUxFTEVNIj5YTUxfUkVMQVhOR19FUlJfVkFMRUxFTTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCNYTUxfUkVMQVhOR19FUlJfVkFMVUUiPlhNTF9SRUxBWE5HX0VSUl9WQUxVRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCNYTUxfUkVMQVhOR19PSyI+WE1MX1JFTEFYTkdfT0s8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhORyI+eG1sUmVsYXhORzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HQ2xlYW51cFR5cGVzIj54bWxSZWxheE5HQ2xlYW51cFR5cGVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdEdW1wIj54bWxSZWxheE5HRHVtcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HRHVtcFRyZWUiPnhtbFJlbGF4TkdEdW1wVHJlZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HRnJlZSI+eG1sUmVsYXhOR0ZyZWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR0ZyZWVQYXJzZXJDdHh0Ij54bWxSZWxheE5HRnJlZVBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR0ZyZWVWYWxpZEN0eHQiPnhtbFJlbGF4TkdGcmVlVmFsaWRDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdHZXRQYXJzZXJFcnJvcnMiPnhtbFJlbGF4TkdHZXRQYXJzZXJFcnJvcnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR0dldFZhbGlkRXJyb3JzIj54bWxSZWxheE5HR2V0VmFsaWRFcnJvcnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR0luaXRUeXBlcyI+eG1sUmVsYXhOR0luaXRUeXBlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HTmV3RG9jUGFyc2VyQ3R4dCI+eG1sUmVsYXhOR05ld0RvY1BhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR05ld01lbVBhcnNlckN0eHQiPnhtbFJlbGF4TkdOZXdNZW1QYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdOZXdQYXJzZXJDdHh0Ij54bWxSZWxheE5HTmV3UGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HTmV3VmFsaWRDdHh0Ij54bWxSZWxheE5HTmV3VmFsaWRDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdQYXJzZSI+eG1sUmVsYXhOR1BhcnNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdQYXJzZXJDdHh0Ij54bWxSZWxheE5HUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HUGFyc2VyQ3R4dFB0ciI+eG1sUmVsYXhOR1BhcnNlckN0eHRQdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1BhcnNlckZsYWciPnhtbFJlbGF4TkdQYXJzZXJGbGFnPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdQdHIiPnhtbFJlbGF4TkdQdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1NldFBhcnNlckVycm9ycyI+eG1sUmVsYXhOR1NldFBhcnNlckVycm9yczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HU2V0UGFyc2VyU3RydWN0dXJlZEVycm9ycyI+eG1sUmVsYXhOR1NldFBhcnNlclN0cnVjdHVyZWRFcnJvcnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1NldFZhbGlkRXJyb3JzIj54bWxSZWxheE5HU2V0VmFsaWRFcnJvcnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1NldFZhbGlkU3RydWN0dXJlZEVycm9ycyI+eG1sUmVsYXhOR1NldFZhbGlkU3RydWN0dXJlZEVycm9yczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HVmFsaWRDdHh0Ij54bWxSZWxheE5HVmFsaWRDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdWYWxpZEN0eHRQdHIiPnhtbFJlbGF4TkdWYWxpZEN0eHRQdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1ZhbGlkRXJyIj54bWxSZWxheE5HVmFsaWRFcnI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1ZhbGlkYXRlRG9jIj54bWxSZWxheE5HVmFsaWRhdGVEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1ZhbGlkYXRlRnVsbEVsZW1lbnQiPnhtbFJlbGF4TkdWYWxpZGF0ZUZ1bGxFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdWYWxpZGF0ZVBvcEVsZW1lbnQiPnhtbFJlbGF4TkdWYWxpZGF0ZVBvcEVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1ZhbGlkYXRlUHVzaENEYXRhIj54bWxSZWxheE5HVmFsaWRhdGVQdXNoQ0RhdGE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1ZhbGlkYXRlUHVzaEVsZW1lbnQiPnhtbFJlbGF4TkdWYWxpZGF0ZVB1c2hFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdWYWxpZGl0eUVycm9yRnVuYyI+eG1sUmVsYXhOR1ZhbGlkaXR5RXJyb3JGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdWYWxpZGl0eVdhcm5pbmdGdW5jIj54bWxSZWxheE5HVmFsaWRpdHlXYXJuaW5nRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheFBhcnNlclNldEZsYWciPnhtbFJlbGF4UGFyc2VyU2V0RmxhZzwvYT48YnIgLz4KKzwvcD48aDI+PGEgbmFtZT0ic2NoZW1hc0ludGVybmFscyIgaWQ9InNjaGVtYXNJbnRlcm5hbHMiPk1vZHVsZSBzY2hlbWFzSW50ZXJuYWxzPC9hPjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19BTllBVFRSX0xBWCI+WE1MX1NDSEVNQVNfQU5ZQVRUUl9MQVg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfQU5ZQVRUUl9TS0lQIj5YTUxfU0NIRU1BU19BTllBVFRSX1NLSVA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfQU5ZQVRUUl9TVFJJQ1QiPlhNTF9TQ0hFTUFTX0FOWUFUVFJfU1RSSUNUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0FOWVNJTVBMRVRZUEUiPlhNTF9TQ0hFTUFTX0FOWVNJTVBMRVRZUEU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfQU5ZVFlQRSI+WE1MX1NDSEVNQVNfQU5ZVFlQRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19BTllVUkkiPlhNTF9TQ0hFTUFTX0FOWVVSSTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19BTllfTEFYIj5YTUxfU0NIRU1BU19BTllfTEFYPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0FOWV9TS0lQIj5YTUxfU0NIRU1BU19BTllfU0tJUDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19BTllfU1RSSUNUIj5YTUxfU0NIRU1BU19BTllfU1RSSUNUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0FUVFJHUk9VUF9HTE9CQUwiPlhNTF9TQ0hFTUFTX0FUVFJHUk9VUF9HTE9CQUw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfQVRUUkdST1VQX0hBU19SRUZTIj5YTUxfU0NIRU1BU19BVFRSR1JPVVBfSEFTX1JFRlM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfQVRUUkdST1VQX01BUktFRCI+WE1MX1NDSEVNQVNfQVRUUkdST1VQX01BUktFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19BVFRSR1JPVVBfUkVERUZJTkVEIj5YTUxfU0NIRU1BU19BVFRSR1JPVVBfUkVERUZJTkVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0FUVFJHUk9VUF9XSUxEQ0FSRF9CVUlMREVEIj5YTUxfU0NIRU1BU19BVFRSR1JPVVBfV0lMRENBUkRfQlVJTERFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19BVFRSX0ZJWEVEIj5YTUxfU0NIRU1BU19BVFRSX0ZJWEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0FUVFJfR0xPQkFMIj5YTUxfU0NIRU1BU19BVFRSX0dMT0JBTDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19BVFRSX0lOVEVSTkFMX1JFU09MVkVEIj5YTUxfU0NIRU1BU19BVFRSX0lOVEVSTkFMX1JFU09MVkVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0FUVFJfTlNERUZBVUxUIj5YTUxfU0NIRU1BU19BVFRSX05TREVGQVVMVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19BVFRSX1VTRV9PUFRJT05BTCI+WE1MX1NDSEVNQVNfQVRUUl9VU0VfT1BUSU9OQUw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfQVRUUl9VU0VfUFJPSElCSVRFRCI+WE1MX1NDSEVNQVNfQVRUUl9VU0VfUFJPSElCSVRFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19BVFRSX1VTRV9SRVFVSVJFRCI+WE1MX1NDSEVNQVNfQVRUUl9VU0VfUkVRVUlSRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfQkFTRTY0QklOQVJZIj5YTUxfU0NIRU1BU19CQVNFNjRCSU5BUlk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfQkxPQ0tfREVGQVVMVF9FWFRFTlNJT04iPlhNTF9TQ0hFTUFTX0JMT0NLX0RFRkFVTFRfRVhURU5TSU9OPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0JMT0NLX0RFRkFVTFRfUkVTVFJJQ1RJT04iPlhNTF9TQ0hFTUFTX0JMT0NLX0RFRkFVTFRfUkVTVFJJQ1RJT048L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfQkxPQ0tfREVGQVVMVF9TVUJTVElUVVRJT04iPlhNTF9TQ0hFTUFTX0JMT0NLX0RFRkFVTFRfU1VCU1RJVFVUSU9OPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0JPT0xFQU4iPlhNTF9TQ0hFTUFTX0JPT0xFQU48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfQllURSI+WE1MX1NDSEVNQVNfQllURTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19EQVRFIj5YTUxfU0NIRU1BU19EQVRFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0RBVEVUSU1FIj5YTUxfU0NIRU1BU19EQVRFVElNRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19ERUNJTUFMIj5YTUxfU0NIRU1BU19ERUNJTUFMPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0RPVUJMRSI+WE1MX1NDSEVNQVNfRE9VQkxFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0RVUkFUSU9OIj5YTUxfU0NIRU1BU19EVVJBVElPTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19FTEVNX0FCU1RSQUNUIj5YTUxfU0NIRU1BU19FTEVNX0FCU1RSQUNUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0VMRU1fQkxPQ0tfQUJTRU5UIj5YTUxfU0NIRU1BU19FTEVNX0JMT0NLX0FCU0VOVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19FTEVNX0JMT0NLX0VYVEVOU0lPTiI+WE1MX1NDSEVNQVNfRUxFTV9CTE9DS19FWFRFTlNJT048L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfRUxFTV9CTE9DS19SRVNUUklDVElPTiI+WE1MX1NDSEVNQVNfRUxFTV9CTE9DS19SRVNUUklDVElPTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19FTEVNX0JMT0NLX1NVQlNUSVRVVElPTiI+WE1MX1NDSEVNQVNfRUxFTV9CTE9DS19TVUJTVElUVVRJT048L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfRUxFTV9DSVJDVUxBUiI+WE1MX1NDSEVNQVNfRUxFTV9DSVJDVUxBUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19FTEVNX0RFRkFVTFQiPlhNTF9TQ0hFTUFTX0VMRU1fREVGQVVMVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19FTEVNX0ZJTkFMX0FCU0VOVCI+WE1MX1NDSEVNQVNfRUxFTV9GSU5BTF9BQlNFTlQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfRUxFTV9GSU5BTF9FWFRFTlNJT04iPlhNTF9TQ0hFTUFTX0VMRU1fRklOQUxfRVhURU5TSU9OPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0VMRU1fRklOQUxfUkVTVFJJQ1RJT04iPlhNTF9TQ0hFTUFTX0VMRU1fRklOQUxfUkVTVFJJQ1RJT048L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfRUxFTV9GSVhFRCI+WE1MX1NDSEVNQVNfRUxFTV9GSVhFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19FTEVNX0dMT0JBTCI+WE1MX1NDSEVNQVNfRUxFTV9HTE9CQUw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfRUxFTV9JTlRFUk5BTF9DSEVDS0VEIj5YTUxfU0NIRU1BU19FTEVNX0lOVEVSTkFMX0NIRUNLRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfRUxFTV9JTlRFUk5BTF9SRVNPTFZFRCI+WE1MX1NDSEVNQVNfRUxFTV9JTlRFUk5BTF9SRVNPTFZFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19FTEVNX05JTExBQkxFIj5YTUxfU0NIRU1BU19FTEVNX05JTExBQkxFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0VMRU1fTlNERUZBVUxUIj5YTUxfU0NIRU1BU19FTEVNX05TREVGQVVMVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19FTEVNX1JFRiI+WE1MX1NDSEVNQVNfRUxFTV9SRUY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfRUxFTV9TVUJTVF9HUk9VUF9IRUFEIj5YTUxfU0NIRU1BU19FTEVNX1NVQlNUX0dST1VQX0hFQUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfRUxFTV9UT1BMRVZFTCI+WE1MX1NDSEVNQVNfRUxFTV9UT1BMRVZFTDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19FTlRJVElFUyI+WE1MX1NDSEVNQVNfRU5USVRJRVM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfRU5USVRZIj5YTUxfU0NIRU1BU19FTlRJVFk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfRkFDRVRfQ09MTEFQU0UiPlhNTF9TQ0hFTUFTX0ZBQ0VUX0NPTExBUFNFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0ZBQ0VUX1BSRVNFUlZFIj5YTUxfU0NIRU1BU19GQUNFVF9QUkVTRVJWRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19GQUNFVF9SRVBMQUNFIj5YTUxfU0NIRU1BU19GQUNFVF9SRVBMQUNFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0ZBQ0VUX1VOS05PV04iPlhNTF9TQ0hFTUFTX0ZBQ0VUX1VOS05PV048L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfRklOQUxfREVGQVVMVF9FWFRFTlNJT04iPlhNTF9TQ0hFTUFTX0ZJTkFMX0RFRkFVTFRfRVhURU5TSU9OPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0ZJTkFMX0RFRkFVTFRfTElTVCI+WE1MX1NDSEVNQVNfRklOQUxfREVGQVVMVF9MSVNUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0ZJTkFMX0RFRkFVTFRfUkVTVFJJQ1RJT04iPlhNTF9TQ0hFTUFTX0ZJTkFMX0RFRkFVTFRfUkVTVFJJQ1RJT048L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfRklOQUxfREVGQVVMVF9VTklPTiI+WE1MX1NDSEVNQVNfRklOQUxfREVGQVVMVF9VTklPTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19GTE9BVCI+WE1MX1NDSEVNQVNfRkxPQVQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfR0RBWSI+WE1MX1NDSEVNQVNfR0RBWTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19HTU9OVEgiPlhNTF9TQ0hFTUFTX0dNT05USDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19HTU9OVEhEQVkiPlhNTF9TQ0hFTUFTX0dNT05USERBWTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19HWUVBUiI+WE1MX1NDSEVNQVNfR1lFQVI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfR1lFQVJNT05USCI+WE1MX1NDSEVNQVNfR1lFQVJNT05USDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19IRVhCSU5BUlkiPlhNTF9TQ0hFTUFTX0hFWEJJTkFSWTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19JRCI+WE1MX1NDSEVNQVNfSUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfSURSRUYiPlhNTF9TQ0hFTUFTX0lEUkVGPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0lEUkVGUyI+WE1MX1NDSEVNQVNfSURSRUZTPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0lOQ0xVRElOR19DT05WRVJUX05TIj5YTUxfU0NIRU1BU19JTkNMVURJTkdfQ09OVkVSVF9OUzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19JTlQiPlhNTF9TQ0hFTUFTX0lOVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19JTlRFR0VSIj5YTUxfU0NIRU1BU19JTlRFR0VSPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0xBTkdVQUdFIj5YTUxfU0NIRU1BU19MQU5HVUFHRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19MT05HIj5YTUxfU0NIRU1BU19MT05HPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX05BTUUiPlhNTF9TQ0hFTUFTX05BTUU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfTkNOQU1FIj5YTUxfU0NIRU1BU19OQ05BTUU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfTklOVEVHRVIiPlhNTF9TQ0hFTUFTX05JTlRFR0VSPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX05NVE9LRU4iPlhNTF9TQ0hFTUFTX05NVE9LRU48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfTk1UT0tFTlMiPlhNTF9TQ0hFTUFTX05NVE9LRU5TPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX05OSU5URUdFUiI+WE1MX1NDSEVNQVNfTk5JTlRFR0VSPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX05PUk1TVFJJTkciPlhNTF9TQ0hFTUFTX05PUk1TVFJJTkc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfTk9UQVRJT04iPlhNTF9TQ0hFTUFTX05PVEFUSU9OPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX05QSU5URUdFUiI+WE1MX1NDSEVNQVNfTlBJTlRFR0VSPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1BJTlRFR0VSIj5YTUxfU0NIRU1BU19QSU5URUdFUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19RTkFNRSI+WE1MX1NDSEVNQVNfUU5BTUU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfUVVBTElGX0FUVFIiPlhNTF9TQ0hFTUFTX1FVQUxJRl9BVFRSPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1FVQUxJRl9FTEVNIj5YTUxfU0NIRU1BU19RVUFMSUZfRUxFTTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19TSE9SVCI+WE1MX1NDSEVNQVNfU0hPUlQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfU1RSSU5HIj5YTUxfU0NIRU1BU19TVFJJTkc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVElNRSI+WE1MX1NDSEVNQVNfVElNRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UT0tFTiI+WE1MX1NDSEVNQVNfVE9LRU48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVFlQRV9BQlNUUkFDVCI+WE1MX1NDSEVNQVNfVFlQRV9BQlNUUkFDVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX0JMT0NLX0RFRkFVTFQiPlhNTF9TQ0hFTUFTX1RZUEVfQkxPQ0tfREVGQVVMVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX0JMT0NLX0VYVEVOU0lPTiI+WE1MX1NDSEVNQVNfVFlQRV9CTE9DS19FWFRFTlNJT048L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVFlQRV9CTE9DS19SRVNUUklDVElPTiI+WE1MX1NDSEVNQVNfVFlQRV9CTE9DS19SRVNUUklDVElPTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX0JVSUxUSU5fUFJJTUlUSVZFIj5YTUxfU0NIRU1BU19UWVBFX0JVSUxUSU5fUFJJTUlUSVZFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfREVSSVZBVElPTl9NRVRIT0RfRVhURU5TSU9OIj5YTUxfU0NIRU1BU19UWVBFX0RFUklWQVRJT05fTUVUSE9EX0VYVEVOU0lPTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX0RFUklWQVRJT05fTUVUSE9EX1JFU1RSSUNUSU9OIj5YTUxfU0NIRU1BU19UWVBFX0RFUklWQVRJT05fTUVUSE9EX1JFU1RSSUNUSU9OPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfRkFDRVRTTkVFRFZBTFVFIj5YTUxfU0NIRU1BU19UWVBFX0ZBQ0VUU05FRURWQUxVRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX0ZJTkFMX0RFRkFVTFQiPlhNTF9TQ0hFTUFTX1RZUEVfRklOQUxfREVGQVVMVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX0ZJTkFMX0VYVEVOU0lPTiI+WE1MX1NDSEVNQVNfVFlQRV9GSU5BTF9FWFRFTlNJT048L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVFlQRV9GSU5BTF9MSVNUIj5YTUxfU0NIRU1BU19UWVBFX0ZJTkFMX0xJU1Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVFlQRV9GSU5BTF9SRVNUUklDVElPTiI+WE1MX1NDSEVNQVNfVFlQRV9GSU5BTF9SRVNUUklDVElPTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX0ZJTkFMX1VOSU9OIj5YTUxfU0NIRU1BU19UWVBFX0ZJTkFMX1VOSU9OPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfRklYVVBfMSI+WE1MX1NDSEVNQVNfVFlQRV9GSVhVUF8xPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfR0xPQkFMIj5YTUxfU0NIRU1BU19UWVBFX0dMT0JBTDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX0hBU19GQUNFVFMiPlhNTF9TQ0hFTUFTX1RZUEVfSEFTX0ZBQ0VUUzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX0lOVEVSTkFMX0lOVkFMSUQiPlhNTF9TQ0hFTUFTX1RZUEVfSU5URVJOQUxfSU5WQUxJRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX0lOVEVSTkFMX1JFU09MVkVEIj5YTUxfU0NIRU1BU19UWVBFX0lOVEVSTkFMX1JFU09MVkVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfTUFSS0VEIj5YTUxfU0NIRU1BU19UWVBFX01BUktFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX01JWEVEIj5YTUxfU0NIRU1BU19UWVBFX01JWEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfTk9STVZBTFVFTkVFREVEIj5YTUxfU0NIRU1BU19UWVBFX05PUk1WQUxVRU5FRURFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX09XTkVEX0FUVFJfV0lMRENBUkQiPlhNTF9TQ0hFTUFTX1RZUEVfT1dORURfQVRUUl9XSUxEQ0FSRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX1JFREVGSU5FRCI+WE1MX1NDSEVNQVNfVFlQRV9SRURFRklORUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX0FCU0VOVCI+WE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX0FCU0VOVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX1ZBUklFVFlfQVRPTUlDIj5YTUxfU0NIRU1BU19UWVBFX1ZBUklFVFlfQVRPTUlDPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfVkFSSUVUWV9MSVNUIj5YTUxfU0NIRU1BU19UWVBFX1ZBUklFVFlfTElTVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX1ZBUklFVFlfVU5JT04iPlhNTF9TQ0hFTUFTX1RZUEVfVkFSSUVUWV9VTklPTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX1dISVRFU1BBQ0VfQ09MTEFQU0UiPlhNTF9TQ0hFTUFTX1RZUEVfV0hJVEVTUEFDRV9DT0xMQVBTRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX1dISVRFU1BBQ0VfUFJFU0VSVkUiPlhNTF9TQ0hFTUFTX1RZUEVfV0hJVEVTUEFDRV9QUkVTRVJWRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX1dISVRFU1BBQ0VfUkVQTEFDRSI+WE1MX1NDSEVNQVNfVFlQRV9XSElURVNQQUNFX1JFUExBQ0U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVUJZVEUiPlhNTF9TQ0hFTUFTX1VCWVRFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1VJTlQiPlhNTF9TQ0hFTUFTX1VJTlQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVUxPTkciPlhNTF9TQ0hFTUFTX1VMT05HPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1VOS05PV04iPlhNTF9TQ0hFTUFTX1VOS05PV048L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVVNIT1JUIj5YTUxfU0NIRU1BU19VU0hPUlQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfV0lMRENBUkRfQ09NUExFVEUiPlhNTF9TQ0hFTUFTX1dJTERDQVJEX0NPTVBMRVRFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFfQ09OVEVOVF9BTlkiPlhNTF9TQ0hFTUFfQ09OVEVOVF9BTlk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQV9DT05URU5UX0JBU0lDIj5YTUxfU0NIRU1BX0NPTlRFTlRfQkFTSUM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQV9DT05URU5UX0VMRU1FTlRTIj5YTUxfU0NIRU1BX0NPTlRFTlRfRUxFTUVOVFM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQV9DT05URU5UX0VNUFRZIj5YTUxfU0NIRU1BX0NPTlRFTlRfRU1QVFk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQV9DT05URU5UX01JWEVEIj5YTUxfU0NIRU1BX0NPTlRFTlRfTUlYRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQV9DT05URU5UX01JWEVEX09SX0VMRU1FTlRTIj5YTUxfU0NIRU1BX0NPTlRFTlRfTUlYRURfT1JfRUxFTUVOVFM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQV9DT05URU5UX1NJTVBMRSI+WE1MX1NDSEVNQV9DT05URU5UX1NJTVBMRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BX0NPTlRFTlRfVU5LTk9XTiI+WE1MX1NDSEVNQV9DT05URU5UX1VOS05PV048L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQV9FWFRSQV9BVFRSX1VTRV9QUk9ISUIiPlhNTF9TQ0hFTUFfRVhUUkFfQVRUUl9VU0VfUFJPSElCPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFfRVhUUkFfUU5BTUVSRUYiPlhNTF9TQ0hFTUFfRVhUUkFfUU5BTUVSRUY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQV9GQUNFVF9FTlVNRVJBVElPTiI+WE1MX1NDSEVNQV9GQUNFVF9FTlVNRVJBVElPTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BX0ZBQ0VUX0ZSQUNUSU9ORElHSVRTIj5YTUxfU0NIRU1BX0ZBQ0VUX0ZSQUNUSU9ORElHSVRTPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFfRkFDRVRfTEVOR1RIIj5YTUxfU0NIRU1BX0ZBQ0VUX0xFTkdUSDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BX0ZBQ0VUX01BWEVYQ0xVU0lWRSI+WE1MX1NDSEVNQV9GQUNFVF9NQVhFWENMVVNJVkU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQV9GQUNFVF9NQVhJTkNMVVNJVkUiPlhNTF9TQ0hFTUFfRkFDRVRfTUFYSU5DTFVTSVZFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFfRkFDRVRfTUFYTEVOR1RIIj5YTUxfU0NIRU1BX0ZBQ0VUX01BWExFTkdUSDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BX0ZBQ0VUX01JTkVYQ0xVU0lWRSI+WE1MX1NDSEVNQV9GQUNFVF9NSU5FWENMVVNJVkU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQV9GQUNFVF9NSU5JTkNMVVNJVkUiPlhNTF9TQ0hFTUFfRkFDRVRfTUlOSU5DTFVTSVZFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFfRkFDRVRfTUlOTEVOR1RIIj5YTUxfU0NIRU1BX0ZBQ0VUX01JTkxFTkdUSDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BX0ZBQ0VUX1BBVFRFUk4iPlhNTF9TQ0hFTUFfRkFDRVRfUEFUVEVSTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BX0ZBQ0VUX1RPVEFMRElHSVRTIj5YTUxfU0NIRU1BX0ZBQ0VUX1RPVEFMRElHSVRTPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFfRkFDRVRfV0hJVEVTUEFDRSI+WE1MX1NDSEVNQV9GQUNFVF9XSElURVNQQUNFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFfVFlQRV9BTEwiPlhNTF9TQ0hFTUFfVFlQRV9BTEw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQV9UWVBFX0FOWSI+WE1MX1NDSEVNQV9UWVBFX0FOWTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BX1RZUEVfQU5ZX0FUVFJJQlVURSI+WE1MX1NDSEVNQV9UWVBFX0FOWV9BVFRSSUJVVEU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQV9UWVBFX0FUVFJJQlVURSI+WE1MX1NDSEVNQV9UWVBFX0FUVFJJQlVURTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BX1RZUEVfQVRUUklCVVRFR1JPVVAiPlhNTF9TQ0hFTUFfVFlQRV9BVFRSSUJVVEVHUk9VUDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BX1RZUEVfQVRUUklCVVRFX1VTRSI+WE1MX1NDSEVNQV9UWVBFX0FUVFJJQlVURV9VU0U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQV9UWVBFX0JBU0lDIj5YTUxfU0NIRU1BX1RZUEVfQkFTSUM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQV9UWVBFX0NIT0lDRSI+WE1MX1NDSEVNQV9UWVBFX0NIT0lDRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BX1RZUEVfQ09NUExFWCI+WE1MX1NDSEVNQV9UWVBFX0NPTVBMRVg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQV9UWVBFX0NPTVBMRVhfQ09OVEVOVCI+WE1MX1NDSEVNQV9UWVBFX0NPTVBMRVhfQ09OVEVOVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BX1RZUEVfRUxFTUVOVCI+WE1MX1NDSEVNQV9UWVBFX0VMRU1FTlQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQV9UWVBFX0VYVEVOU0lPTiI+WE1MX1NDSEVNQV9UWVBFX0VYVEVOU0lPTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BX1RZUEVfRkFDRVQiPlhNTF9TQ0hFTUFfVFlQRV9GQUNFVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BX1RZUEVfR1JPVVAiPlhNTF9TQ0hFTUFfVFlQRV9HUk9VUDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BX1RZUEVfSURDX0tFWSI+WE1MX1NDSEVNQV9UWVBFX0lEQ19LRVk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQV9UWVBFX0lEQ19LRVlSRUYiPlhNTF9TQ0hFTUFfVFlQRV9JRENfS0VZUkVGPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFfVFlQRV9JRENfVU5JUVVFIj5YTUxfU0NIRU1BX1RZUEVfSURDX1VOSVFVRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BX1RZUEVfTElTVCI+WE1MX1NDSEVNQV9UWVBFX0xJU1Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQV9UWVBFX05PVEFUSU9OIj5YTUxfU0NIRU1BX1RZUEVfTk9UQVRJT048L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQV9UWVBFX1BBUlRJQ0xFIj5YTUxfU0NIRU1BX1RZUEVfUEFSVElDTEU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQV9UWVBFX1JFU1RSSUNUSU9OIj5YTUxfU0NIRU1BX1RZUEVfUkVTVFJJQ1RJT048L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQV9UWVBFX1NFUVVFTkNFIj5YTUxfU0NIRU1BX1RZUEVfU0VRVUVOQ0U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQV9UWVBFX1NJTVBMRSI+WE1MX1NDSEVNQV9UWVBFX1NJTVBMRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BX1RZUEVfU0lNUExFX0NPTlRFTlQiPlhNTF9TQ0hFTUFfVFlQRV9TSU1QTEVfQ09OVEVOVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BX1RZUEVfVU5JT04iPlhNTF9TQ0hFTUFfVFlQRV9VTklPTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BX1RZUEVfVVIiPlhNTF9TQ0hFTUFfVFlQRV9VUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNfeG1sU2NoZW1hIj5feG1sU2NoZW1hPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI194bWxTY2hlbWFBbm5vdCI+X3htbFNjaGVtYUFubm90PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI194bWxTY2hlbWFBdHRyaWJ1dGUiPl94bWxTY2hlbWFBdHRyaWJ1dGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjX3htbFNjaGVtYUF0dHJpYnV0ZUdyb3VwIj5feG1sU2NoZW1hQXR0cmlidXRlR3JvdXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjX3htbFNjaGVtYUF0dHJpYnV0ZUxpbmsiPl94bWxTY2hlbWFBdHRyaWJ1dGVMaW5rPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI194bWxTY2hlbWFFbGVtZW50Ij5feG1sU2NoZW1hRWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNfeG1sU2NoZW1hRmFjZXQiPl94bWxTY2hlbWFGYWNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNfeG1sU2NoZW1hRmFjZXRMaW5rIj5feG1sU2NoZW1hRmFjZXRMaW5rPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI194bWxTY2hlbWFOb3RhdGlvbiI+X3htbFNjaGVtYU5vdGF0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI194bWxTY2hlbWFUeXBlIj5feG1sU2NoZW1hVHlwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNfeG1sU2NoZW1hVHlwZUxpbmsiPl94bWxTY2hlbWFUeXBlTGluazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNfeG1sU2NoZW1hV2lsZGNhcmQiPl94bWxTY2hlbWFXaWxkY2FyZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNfeG1sU2NoZW1hV2lsZGNhcmROcyI+X3htbFNjaGVtYVdpbGRjYXJkTnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hQW5ub3QiPnhtbFNjaGVtYUFubm90PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYUFubm90UHRyIj54bWxTY2hlbWFBbm5vdFB0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFBdHRyaWJ1dGUiPnhtbFNjaGVtYUF0dHJpYnV0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFBdHRyaWJ1dGVHcm91cCI+eG1sU2NoZW1hQXR0cmlidXRlR3JvdXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hQXR0cmlidXRlR3JvdXBQdHIiPnhtbFNjaGVtYUF0dHJpYnV0ZUdyb3VwUHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYUF0dHJpYnV0ZUxpbmsiPnhtbFNjaGVtYUF0dHJpYnV0ZUxpbms8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hQXR0cmlidXRlTGlua1B0ciI+eG1sU2NoZW1hQXR0cmlidXRlTGlua1B0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFBdHRyaWJ1dGVQdHIiPnhtbFNjaGVtYUF0dHJpYnV0ZVB0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFDb250ZW50VHlwZSI+eG1sU2NoZW1hQ29udGVudFR5cGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hRWxlbWVudCI+eG1sU2NoZW1hRWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFFbGVtZW50UHRyIj54bWxTY2hlbWFFbGVtZW50UHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYUZhY2V0Ij54bWxTY2hlbWFGYWNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFGYWNldExpbmsiPnhtbFNjaGVtYUZhY2V0TGluazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFGYWNldExpbmtQdHIiPnhtbFNjaGVtYUZhY2V0TGlua1B0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFGYWNldFB0ciI+eG1sU2NoZW1hRmFjZXRQdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hRnJlZVR5cGUiPnhtbFNjaGVtYUZyZWVUeXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYUZyZWVXaWxkY2FyZCI+eG1sU2NoZW1hRnJlZVdpbGRjYXJkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYU5vdGF0aW9uIj54bWxTY2hlbWFOb3RhdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFOb3RhdGlvblB0ciI+eG1sU2NoZW1hTm90YXRpb25QdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVHlwZSI+eG1sU2NoZW1hVHlwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFUeXBlTGluayI+eG1sU2NoZW1hVHlwZUxpbms8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVHlwZUxpbmtQdHIiPnhtbFNjaGVtYVR5cGVMaW5rUHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVR5cGVQdHIiPnhtbFNjaGVtYVR5cGVQdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVHlwZVR5cGUiPnhtbFNjaGVtYVR5cGVUeXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVZhbCI+eG1sU2NoZW1hVmFsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVZhbFB0ciI+eG1sU2NoZW1hVmFsUHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVZhbFR5cGUiPnhtbFNjaGVtYVZhbFR5cGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hV2lsZGNhcmQiPnhtbFNjaGVtYVdpbGRjYXJkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVdpbGRjYXJkTnMiPnhtbFNjaGVtYVdpbGRjYXJkTnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hV2lsZGNhcmROc1B0ciI+eG1sU2NoZW1hV2lsZGNhcmROc1B0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFXaWxkY2FyZFB0ciI+eG1sU2NoZW1hV2lsZGNhcmRQdHI8L2E+PGJyIC8+Cis8L3A+PGgyPjxhIG5hbWU9InNjaGVtYXRyb24iIGlkPSJzY2hlbWF0cm9uIj5Nb2R1bGUgc2NoZW1hdHJvbjwvYT46PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWF0cm9uLmh0bWwjWE1MX1NDSEVNQVRST05fT1VUX0JVRkZFUiI+WE1MX1NDSEVNQVRST05fT1VUX0JVRkZFUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXRyb24uaHRtbCNYTUxfU0NIRU1BVFJPTl9PVVRfRVJST1IiPlhNTF9TQ0hFTUFUUk9OX09VVF9FUlJPUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXRyb24uaHRtbCNYTUxfU0NIRU1BVFJPTl9PVVRfRklMRSI+WE1MX1NDSEVNQVRST05fT1VUX0ZJTEU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWF0cm9uLmh0bWwjWE1MX1NDSEVNQVRST05fT1VUX0lPIj5YTUxfU0NIRU1BVFJPTl9PVVRfSU88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWF0cm9uLmh0bWwjWE1MX1NDSEVNQVRST05fT1VUX1FVSUVUIj5YTUxfU0NIRU1BVFJPTl9PVVRfUVVJRVQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWF0cm9uLmh0bWwjWE1MX1NDSEVNQVRST05fT1VUX1RFWFQiPlhNTF9TQ0hFTUFUUk9OX09VVF9URVhUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hdHJvbi5odG1sI1hNTF9TQ0hFTUFUUk9OX09VVF9YTUwiPlhNTF9TQ0hFTUFUUk9OX09VVF9YTUw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvbiI+eG1sU2NoZW1hdHJvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uRnJlZSI+eG1sU2NoZW1hdHJvbkZyZWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvbkZyZWVQYXJzZXJDdHh0Ij54bWxTY2hlbWF0cm9uRnJlZVBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvbkZyZWVWYWxpZEN0eHQiPnhtbFNjaGVtYXRyb25GcmVlVmFsaWRDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hdHJvbi5odG1sI3htbFNjaGVtYXRyb25OZXdEb2NQYXJzZXJDdHh0Ij54bWxTY2hlbWF0cm9uTmV3RG9jUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uTmV3TWVtUGFyc2VyQ3R4dCI+eG1sU2NoZW1hdHJvbk5ld01lbVBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvbk5ld1BhcnNlckN0eHQiPnhtbFNjaGVtYXRyb25OZXdQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hdHJvbi5odG1sI3htbFNjaGVtYXRyb25OZXdWYWxpZEN0eHQiPnhtbFNjaGVtYXRyb25OZXdWYWxpZEN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvblBhcnNlIj54bWxTY2hlbWF0cm9uUGFyc2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvblBhcnNlckN0eHQiPnhtbFNjaGVtYXRyb25QYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hdHJvbi5odG1sI3htbFNjaGVtYXRyb25QYXJzZXJDdHh0UHRyIj54bWxTY2hlbWF0cm9uUGFyc2VyQ3R4dFB0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uUHRyIj54bWxTY2hlbWF0cm9uUHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hdHJvbi5odG1sI3htbFNjaGVtYXRyb25TZXRWYWxpZFN0cnVjdHVyZWRFcnJvcnMiPnhtbFNjaGVtYXRyb25TZXRWYWxpZFN0cnVjdHVyZWRFcnJvcnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvblZhbGlkQ3R4dCI+eG1sU2NoZW1hdHJvblZhbGlkQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uVmFsaWRDdHh0UHRyIj54bWxTY2hlbWF0cm9uVmFsaWRDdHh0UHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hdHJvbi5odG1sI3htbFNjaGVtYXRyb25WYWxpZE9wdGlvbnMiPnhtbFNjaGVtYXRyb25WYWxpZE9wdGlvbnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvblZhbGlkYXRlRG9jIj54bWxTY2hlbWF0cm9uVmFsaWRhdGVEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvblZhbGlkaXR5RXJyb3JGdW5jIj54bWxTY2hlbWF0cm9uVmFsaWRpdHlFcnJvckZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvblZhbGlkaXR5V2FybmluZ0Z1bmMiPnhtbFNjaGVtYXRyb25WYWxpZGl0eVdhcm5pbmdGdW5jPC9hPjxiciAvPgorPC9wPjxoMj48YSBuYW1lPSJ0aHJlYWRzIiBpZD0idGhyZWFkcyI+TW9kdWxlIHRocmVhZHM8L2E+OjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbENsZWFudXBUaHJlYWRzIj54bWxDbGVhbnVwVGhyZWFkczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRocmVhZHMuaHRtbCN4bWxEbGxNYWluIj54bWxEbGxNYWluPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbEZyZWVNdXRleCI+eG1sRnJlZU11dGV4PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbEZyZWVSTXV0ZXgiPnhtbEZyZWVSTXV0ZXg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sR2V0R2xvYmFsU3RhdGUiPnhtbEdldEdsb2JhbFN0YXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbEdldFRocmVhZElkIj54bWxHZXRUaHJlYWRJZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRocmVhZHMuaHRtbCN4bWxJbml0VGhyZWFkcyI+eG1sSW5pdFRocmVhZHM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sSXNNYWluVGhyZWFkIj54bWxJc01haW5UaHJlYWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sTG9ja0xpYnJhcnkiPnhtbExvY2tMaWJyYXJ5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbE11dGV4Ij54bWxNdXRleDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRocmVhZHMuaHRtbCN4bWxNdXRleExvY2siPnhtbE11dGV4TG9jazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRocmVhZHMuaHRtbCN4bWxNdXRleFB0ciI+eG1sTXV0ZXhQdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sTXV0ZXhVbmxvY2siPnhtbE11dGV4VW5sb2NrPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbE5ld011dGV4Ij54bWxOZXdNdXRleDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRocmVhZHMuaHRtbCN4bWxOZXdSTXV0ZXgiPnhtbE5ld1JNdXRleDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRocmVhZHMuaHRtbCN4bWxSTXV0ZXgiPnhtbFJNdXRleDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRocmVhZHMuaHRtbCN4bWxSTXV0ZXhMb2NrIj54bWxSTXV0ZXhMb2NrPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbFJNdXRleFB0ciI+eG1sUk11dGV4UHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbFJNdXRleFVubG9jayI+eG1sUk11dGV4VW5sb2NrPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbFVubG9ja0xpYnJhcnkiPnhtbFVubG9ja0xpYnJhcnk8L2E+PGJyIC8+Cis8L3A+PGgyPjxhIG5hbWU9InRyZWUiIGlkPSJ0cmVlIj5Nb2R1bGUgdHJlZTwvYT46PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjQkFTRV9CVUZGRVJfU0laRSI+QkFTRV9CVUZGRVJfU0laRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNMSUJYTUwyX05FV19CVUZGRVIiPkxJQlhNTDJfTkVXX0JVRkZFUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNYTUxfQVRUUklCVVRFX0NEQVRBIj5YTUxfQVRUUklCVVRFX0NEQVRBPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9BVFRSSUJVVEVfREVDTCI+WE1MX0FUVFJJQlVURV9ERUNMPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9BVFRSSUJVVEVfRU5USVRJRVMiPlhNTF9BVFRSSUJVVEVfRU5USVRJRVM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0FUVFJJQlVURV9FTlRJVFkiPlhNTF9BVFRSSUJVVEVfRU5USVRZPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9BVFRSSUJVVEVfRU5VTUVSQVRJT04iPlhNTF9BVFRSSUJVVEVfRU5VTUVSQVRJT048L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0FUVFJJQlVURV9GSVhFRCI+WE1MX0FUVFJJQlVURV9GSVhFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNYTUxfQVRUUklCVVRFX0lEIj5YTUxfQVRUUklCVVRFX0lEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9BVFRSSUJVVEVfSURSRUYiPlhNTF9BVFRSSUJVVEVfSURSRUY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0FUVFJJQlVURV9JRFJFRlMiPlhNTF9BVFRSSUJVVEVfSURSRUZTPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9BVFRSSUJVVEVfSU1QTElFRCI+WE1MX0FUVFJJQlVURV9JTVBMSUVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9BVFRSSUJVVEVfTk1UT0tFTiI+WE1MX0FUVFJJQlVURV9OTVRPS0VOPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9BVFRSSUJVVEVfTk1UT0tFTlMiPlhNTF9BVFRSSUJVVEVfTk1UT0tFTlM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0FUVFJJQlVURV9OT0RFIj5YTUxfQVRUUklCVVRFX05PREU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0FUVFJJQlVURV9OT05FIj5YTUxfQVRUUklCVVRFX05PTkU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0FUVFJJQlVURV9OT1RBVElPTiI+WE1MX0FUVFJJQlVURV9OT1RBVElPTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNYTUxfQVRUUklCVVRFX1JFUVVJUkVEIj5YTUxfQVRUUklCVVRFX1JFUVVJUkVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9CVUZGRVJfQUxMT0NfRE9VQkxFSVQiPlhNTF9CVUZGRVJfQUxMT0NfRE9VQkxFSVQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0JVRkZFUl9BTExPQ19FWEFDVCI+WE1MX0JVRkZFUl9BTExPQ19FWEFDVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNYTUxfQlVGRkVSX0FMTE9DX0hZQlJJRCI+WE1MX0JVRkZFUl9BTExPQ19IWUJSSUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0JVRkZFUl9BTExPQ19JTU1VVEFCTEUiPlhNTF9CVUZGRVJfQUxMT0NfSU1NVVRBQkxFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9CVUZGRVJfQUxMT0NfSU8iPlhNTF9CVUZGRVJfQUxMT0NfSU88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0NEQVRBX1NFQ1RJT05fTk9ERSI+WE1MX0NEQVRBX1NFQ1RJT05fTk9ERTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNYTUxfQ09NTUVOVF9OT0RFIj5YTUxfQ09NTUVOVF9OT0RFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9ET0NCX0RPQ1VNRU5UX05PREUiPlhNTF9ET0NCX0RPQ1VNRU5UX05PREU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0RPQ1VNRU5UX0ZSQUdfTk9ERSI+WE1MX0RPQ1VNRU5UX0ZSQUdfTk9ERTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNYTUxfRE9DVU1FTlRfTk9ERSI+WE1MX0RPQ1VNRU5UX05PREU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0RPQ1VNRU5UX1RZUEVfTk9ERSI+WE1MX0RPQ1VNRU5UX1RZUEVfTk9ERTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNYTUxfRE9DX0RURFZBTElEIj5YTUxfRE9DX0RURFZBTElEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9ET0NfSFRNTCI+WE1MX0RPQ19IVE1MPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9ET0NfSU5URVJOQUwiPlhNTF9ET0NfSU5URVJOQUw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0RPQ19OU1ZBTElEIj5YTUxfRE9DX05TVkFMSUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0RPQ19PTEQxMCI+WE1MX0RPQ19PTEQxMDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNYTUxfRE9DX1VTRVJCVUlMVCI+WE1MX0RPQ19VU0VSQlVJTFQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0RPQ19XRUxMRk9STUVEIj5YTUxfRE9DX1dFTExGT1JNRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0RPQ19YSU5DTFVERSI+WE1MX0RPQ19YSU5DTFVERTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNYTUxfRFREX05PREUiPlhNTF9EVERfTk9ERTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNYTUxfRUxFTUVOVF9DT05URU5UX0VMRU1FTlQiPlhNTF9FTEVNRU5UX0NPTlRFTlRfRUxFTUVOVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNYTUxfRUxFTUVOVF9DT05URU5UX01VTFQiPlhNTF9FTEVNRU5UX0NPTlRFTlRfTVVMVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNYTUxfRUxFTUVOVF9DT05URU5UX09OQ0UiPlhNTF9FTEVNRU5UX0NPTlRFTlRfT05DRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNYTUxfRUxFTUVOVF9DT05URU5UX09QVCI+WE1MX0VMRU1FTlRfQ09OVEVOVF9PUFQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0VMRU1FTlRfQ09OVEVOVF9PUiI+WE1MX0VMRU1FTlRfQ09OVEVOVF9PUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNYTUxfRUxFTUVOVF9DT05URU5UX1BDREFUQSI+WE1MX0VMRU1FTlRfQ09OVEVOVF9QQ0RBVEE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0VMRU1FTlRfQ09OVEVOVF9QTFVTIj5YTUxfRUxFTUVOVF9DT05URU5UX1BMVVM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0VMRU1FTlRfQ09OVEVOVF9TRVEiPlhNTF9FTEVNRU5UX0NPTlRFTlRfU0VRPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9FTEVNRU5UX0RFQ0wiPlhNTF9FTEVNRU5UX0RFQ0w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0VMRU1FTlRfTk9ERSI+WE1MX0VMRU1FTlRfTk9ERTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNYTUxfRUxFTUVOVF9UWVBFX0FOWSI+WE1MX0VMRU1FTlRfVFlQRV9BTlk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0VMRU1FTlRfVFlQRV9FTEVNRU5UIj5YTUxfRUxFTUVOVF9UWVBFX0VMRU1FTlQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0VMRU1FTlRfVFlQRV9FTVBUWSI+WE1MX0VMRU1FTlRfVFlQRV9FTVBUWTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNYTUxfRUxFTUVOVF9UWVBFX01JWEVEIj5YTUxfRUxFTUVOVF9UWVBFX01JWEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9FTEVNRU5UX1RZUEVfVU5ERUZJTkVEIj5YTUxfRUxFTUVOVF9UWVBFX1VOREVGSU5FRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNYTUxfRU5USVRZX0RFQ0wiPlhNTF9FTlRJVFlfREVDTDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNYTUxfRU5USVRZX05PREUiPlhNTF9FTlRJVFlfTk9ERTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNYTUxfRU5USVRZX1JFRl9OT0RFIj5YTUxfRU5USVRZX1JFRl9OT0RFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9HRVRfQ09OVEVOVCI+WE1MX0dFVF9DT05URU5UPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9HRVRfTElORSI+WE1MX0dFVF9MSU5FPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9IVE1MX0RPQ1VNRU5UX05PREUiPlhNTF9IVE1MX0RPQ1VNRU5UX05PREU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0xPQ0FMX05BTUVTUEFDRSI+WE1MX0xPQ0FMX05BTUVTUEFDRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNYTUxfTkFNRVNQQUNFX0RFQ0wiPlhNTF9OQU1FU1BBQ0VfREVDTDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNYTUxfTk9UQVRJT05fTk9ERSI+WE1MX05PVEFUSU9OX05PREU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX1BJX05PREUiPlhNTF9QSV9OT0RFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9URVhUX05PREUiPlhNTF9URVhUX05PREU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX1hJTkNMVURFX0VORCI+WE1MX1hJTkNMVURFX0VORDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNYTUxfWElOQ0xVREVfU1RBUlQiPlhNTF9YSU5DTFVERV9TVEFSVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNYTUxfWE1MX0lEIj5YTUxfWE1MX0lEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9YTUxfTkFNRVNQQUNFIj5YTUxfWE1MX05BTUVTUEFDRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNfeG1sQXR0ciI+X3htbEF0dHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjX3htbEF0dHJpYnV0ZSI+X3htbEF0dHJpYnV0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNfeG1sQnVmZmVyIj5feG1sQnVmZmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI194bWxET01XcmFwQ3R4dCI+X3htbERPTVdyYXBDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI194bWxEb2MiPl94bWxEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjX3htbER0ZCI+X3htbER0ZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNfeG1sRWxlbWVudCI+X3htbEVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjX3htbEVsZW1lbnRDb250ZW50Ij5feG1sRWxlbWVudENvbnRlbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjX3htbEVudW1lcmF0aW9uIj5feG1sRW51bWVyYXRpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjX3htbElEIj5feG1sSUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjX3htbE5vZGUiPl94bWxOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI194bWxOb3RhdGlvbiI+X3htbE5vdGF0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI194bWxOcyI+X3htbE5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI194bWxSZWYiPl94bWxSZWY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQWRkQ2hpbGQiPnhtbEFkZENoaWxkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEFkZENoaWxkTGlzdCI+eG1sQWRkQ2hpbGRMaXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEFkZE5leHRTaWJsaW5nIj54bWxBZGROZXh0U2libGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxBZGRQcmV2U2libGluZyI+eG1sQWRkUHJldlNpYmxpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQWRkU2libGluZyI+eG1sQWRkU2libGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxBdHRyIj54bWxBdHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEF0dHJQdHIiPnhtbEF0dHJQdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQXR0clNlcmlhbGl6ZVR4dENvbnRlbnQiPnhtbEF0dHJTZXJpYWxpemVUeHRDb250ZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEF0dHJpYnV0ZSI+eG1sQXR0cmlidXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEF0dHJpYnV0ZURlZmF1bHQiPnhtbEF0dHJpYnV0ZURlZmF1bHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQXR0cmlidXRlUHRyIj54bWxBdHRyaWJ1dGVQdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQXR0cmlidXRlVHlwZSI+eG1sQXR0cmlidXRlVHlwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWYiPnhtbEJ1ZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZDb250ZW50Ij54bWxCdWZDb250ZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZkVuZCI+eG1sQnVmRW5kPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZkdldE5vZGVDb250ZW50Ij54bWxCdWZHZXROb2RlQ29udGVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZOb2RlRHVtcCI+eG1sQnVmTm9kZUR1bXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmUHRyIj54bWxCdWZQdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmU2hyaW5rIj54bWxCdWZTaHJpbms8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmVXNlIj54bWxCdWZVc2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyIj54bWxCdWZmZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyQWRkIj54bWxCdWZmZXJBZGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyQWRkSGVhZCI+eG1sQnVmZmVyQWRkSGVhZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJBbGxvY2F0aW9uU2NoZW1lIj54bWxCdWZmZXJBbGxvY2F0aW9uU2NoZW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlckNDYXQiPnhtbEJ1ZmZlckNDYXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyQ2F0Ij54bWxCdWZmZXJDYXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyQ29udGVudCI+eG1sQnVmZmVyQ29udGVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJDcmVhdGUiPnhtbEJ1ZmZlckNyZWF0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJDcmVhdGVTaXplIj54bWxCdWZmZXJDcmVhdGVTaXplPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlckNyZWF0ZVN0YXRpYyI+eG1sQnVmZmVyQ3JlYXRlU3RhdGljPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlckRldGFjaCI+eG1sQnVmZmVyRGV0YWNoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlckR1bXAiPnhtbEJ1ZmZlckR1bXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyRW1wdHkiPnhtbEJ1ZmZlckVtcHR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlckZyZWUiPnhtbEJ1ZmZlckZyZWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyR3JvdyI+eG1sQnVmZmVyR3JvdzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJMZW5ndGgiPnhtbEJ1ZmZlckxlbmd0aDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJQdHIiPnhtbEJ1ZmZlclB0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJSZXNpemUiPnhtbEJ1ZmZlclJlc2l6ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJTZXRBbGxvY2F0aW9uU2NoZW1lIj54bWxCdWZmZXJTZXRBbGxvY2F0aW9uU2NoZW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlclNocmluayI+eG1sQnVmZmVyU2hyaW5rPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlcldyaXRlQ0hBUiI+eG1sQnVmZmVyV3JpdGVDSEFSPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlcldyaXRlQ2hhciI+eG1sQnVmZmVyV3JpdGVDaGFyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlcldyaXRlUXVvdGVkU3RyaW5nIj54bWxCdWZmZXJXcml0ZVF1b3RlZFN0cmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWlsZFFOYW1lIj54bWxCdWlsZFFOYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbENoaWxkRWxlbWVudENvdW50Ij54bWxDaGlsZEVsZW1lbnRDb3VudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxDaGlsZHJlbk5vZGUiPnhtbENoaWxkcmVuTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxDb3B5RG9jIj54bWxDb3B5RG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbENvcHlEdGQiPnhtbENvcHlEdGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQ29weU5hbWVzcGFjZSI+eG1sQ29weU5hbWVzcGFjZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxDb3B5TmFtZXNwYWNlTGlzdCI+eG1sQ29weU5hbWVzcGFjZUxpc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQ29weU5vZGUiPnhtbENvcHlOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbENvcHlOb2RlTGlzdCI+eG1sQ29weU5vZGVMaXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbENvcHlQcm9wIj54bWxDb3B5UHJvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxDb3B5UHJvcExpc3QiPnhtbENvcHlQcm9wTGlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxDcmVhdGVJbnRTdWJzZXQiPnhtbENyZWF0ZUludFN1YnNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwQWNxdWlyZU5zRnVuY3Rpb24iPnhtbERPTVdyYXBBY3F1aXJlTnNGdW5jdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwQWRvcHROb2RlIj54bWxET01XcmFwQWRvcHROb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBDbG9uZU5vZGUiPnhtbERPTVdyYXBDbG9uZU5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcEN0eHQiPnhtbERPTVdyYXBDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBDdHh0UHRyIj54bWxET01XcmFwQ3R4dFB0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwRnJlZUN0eHQiPnhtbERPTVdyYXBGcmVlQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwTmV3Q3R4dCI+eG1sRE9NV3JhcE5ld0N0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcFJlY29uY2lsZU5hbWVzcGFjZXMiPnhtbERPTVdyYXBSZWNvbmNpbGVOYW1lc3BhY2VzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBSZW1vdmVOb2RlIj54bWxET01XcmFwUmVtb3ZlTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxEb2MiPnhtbERvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxEb2NDb3B5Tm9kZSI+eG1sRG9jQ29weU5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRG9jQ29weU5vZGVMaXN0Ij54bWxEb2NDb3B5Tm9kZUxpc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRG9jRHVtcCI+eG1sRG9jRHVtcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxEb2NEdW1wRm9ybWF0TWVtb3J5Ij54bWxEb2NEdW1wRm9ybWF0TWVtb3J5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERvY0R1bXBGb3JtYXRNZW1vcnlFbmMiPnhtbERvY0R1bXBGb3JtYXRNZW1vcnlFbmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRG9jRHVtcE1lbW9yeSI+eG1sRG9jRHVtcE1lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxEb2NEdW1wTWVtb3J5RW5jIj54bWxEb2NEdW1wTWVtb3J5RW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERvY0Zvcm1hdER1bXAiPnhtbERvY0Zvcm1hdER1bXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRG9jR2V0Um9vdEVsZW1lbnQiPnhtbERvY0dldFJvb3RFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERvY1Byb3BlcnRpZXMiPnhtbERvY1Byb3BlcnRpZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRG9jU2V0Um9vdEVsZW1lbnQiPnhtbERvY1NldFJvb3RFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbER0ZCI+eG1sRHRkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbER0ZFB0ciI+eG1sRHRkUHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEVsZW1EdW1wIj54bWxFbGVtRHVtcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxFbGVtZW50Ij54bWxFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEVsZW1lbnRDb250ZW50Ij54bWxFbGVtZW50Q29udGVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxFbGVtZW50Q29udGVudE9jY3VyIj54bWxFbGVtZW50Q29udGVudE9jY3VyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEVsZW1lbnRDb250ZW50UHRyIj54bWxFbGVtZW50Q29udGVudFB0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxFbGVtZW50Q29udGVudFR5cGUiPnhtbEVsZW1lbnRDb250ZW50VHlwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxFbGVtZW50UHRyIj54bWxFbGVtZW50UHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEVsZW1lbnRUeXBlIj54bWxFbGVtZW50VHlwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxFbGVtZW50VHlwZVZhbCI+eG1sRWxlbWVudFR5cGVWYWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRW50aXR5Ij54bWxFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRW50aXR5UHRyIj54bWxFbnRpdHlQdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRW51bWVyYXRpb24iPnhtbEVudW1lcmF0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEVudW1lcmF0aW9uUHRyIj54bWxFbnVtZXJhdGlvblB0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxGaXJzdEVsZW1lbnRDaGlsZCI+eG1sRmlyc3RFbGVtZW50Q2hpbGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRnJlZURvYyI+eG1sRnJlZURvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxGcmVlRHRkIj54bWxGcmVlRHRkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEZyZWVOb2RlIj54bWxGcmVlTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxGcmVlTm9kZUxpc3QiPnhtbEZyZWVOb2RlTGlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxGcmVlTnMiPnhtbEZyZWVOczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxGcmVlTnNMaXN0Ij54bWxGcmVlTnNMaXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEZyZWVQcm9wIj54bWxGcmVlUHJvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxGcmVlUHJvcExpc3QiPnhtbEZyZWVQcm9wTGlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxHZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lIj54bWxHZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEdldENvbXByZXNzTW9kZSI+eG1sR2V0Q29tcHJlc3NNb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEdldERvY0NvbXByZXNzTW9kZSI+eG1sR2V0RG9jQ29tcHJlc3NNb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEdldEludFN1YnNldCI+eG1sR2V0SW50U3Vic2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEdldExhc3RDaGlsZCI+eG1sR2V0TGFzdENoaWxkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEdldExpbmVObyI+eG1sR2V0TGluZU5vPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEdldE5vTnNQcm9wIj54bWxHZXROb05zUHJvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxHZXROb2RlUGF0aCI+eG1sR2V0Tm9kZVBhdGg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sR2V0TnNMaXN0Ij54bWxHZXROc0xpc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sR2V0TnNQcm9wIj54bWxHZXROc1Byb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sR2V0UHJvcCI+eG1sR2V0UHJvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxIYXNOc1Byb3AiPnhtbEhhc05zUHJvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxIYXNQcm9wIj54bWxIYXNQcm9wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbElEIj54bWxJRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxJRFB0ciI+eG1sSURQdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sSXNCbGFua05vZGUiPnhtbElzQmxhbmtOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbElzWEhUTUwiPnhtbElzWEhUTUw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTGFzdEVsZW1lbnRDaGlsZCI+eG1sTGFzdEVsZW1lbnRDaGlsZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdDRGF0YUJsb2NrIj54bWxOZXdDRGF0YUJsb2NrPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld0NoYXJSZWYiPnhtbE5ld0NoYXJSZWY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3Q2hpbGQiPnhtbE5ld0NoaWxkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld0NvbW1lbnQiPnhtbE5ld0NvbW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3RG9jIj54bWxOZXdEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3RG9jQ29tbWVudCI+eG1sTmV3RG9jQ29tbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdEb2NGcmFnbWVudCI+eG1sTmV3RG9jRnJhZ21lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3RG9jTm9kZSI+eG1sTmV3RG9jTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdEb2NOb2RlRWF0TmFtZSI+eG1sTmV3RG9jTm9kZUVhdE5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3RG9jUEkiPnhtbE5ld0RvY1BJPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld0RvY1Byb3AiPnhtbE5ld0RvY1Byb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3RG9jUmF3Tm9kZSI+eG1sTmV3RG9jUmF3Tm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdEb2NUZXh0Ij54bWxOZXdEb2NUZXh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld0RvY1RleHRMZW4iPnhtbE5ld0RvY1RleHRMZW48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3RHRkIj54bWxOZXdEdGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3R2xvYmFsTnMiPnhtbE5ld0dsb2JhbE5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld05vZGUiPnhtbE5ld05vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3Tm9kZUVhdE5hbWUiPnhtbE5ld05vZGVFYXROYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld05zIj54bWxOZXdOczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdOc1Byb3AiPnhtbE5ld05zUHJvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdOc1Byb3BFYXROYW1lIj54bWxOZXdOc1Byb3BFYXROYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld1BJIj54bWxOZXdQSTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdQcm9wIj54bWxOZXdQcm9wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld1JlZmVyZW5jZSI+eG1sTmV3UmVmZXJlbmNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld1RleHQiPnhtbE5ld1RleHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3VGV4dENoaWxkIj54bWxOZXdUZXh0Q2hpbGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3VGV4dExlbiI+eG1sTmV3VGV4dExlbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXh0RWxlbWVudFNpYmxpbmciPnhtbE5leHRFbGVtZW50U2libGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlIj54bWxOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVBZGRDb250ZW50Ij54bWxOb2RlQWRkQ29udGVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlQWRkQ29udGVudExlbiI+eG1sTm9kZUFkZENvbnRlbnRMZW48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUJ1ZkdldENvbnRlbnQiPnhtbE5vZGVCdWZHZXRDb250ZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVEdW1wIj54bWxOb2RlRHVtcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlRHVtcE91dHB1dCI+eG1sTm9kZUR1bXBPdXRwdXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUdldEJhc2UiPnhtbE5vZGVHZXRCYXNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVHZXRDb250ZW50Ij54bWxOb2RlR2V0Q29udGVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlR2V0TGFuZyI+eG1sTm9kZUdldExhbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUdldFNwYWNlUHJlc2VydmUiPnhtbE5vZGVHZXRTcGFjZVByZXNlcnZlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVJc1RleHQiPnhtbE5vZGVJc1RleHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUxpc3RHZXRSYXdTdHJpbmciPnhtbE5vZGVMaXN0R2V0UmF3U3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVMaXN0R2V0U3RyaW5nIj54bWxOb2RlTGlzdEdldFN0cmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVTZXRCYXNlIj54bWxOb2RlU2V0QmFzZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlU2V0Q29udGVudCI+eG1sTm9kZVNldENvbnRlbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVNldENvbnRlbnRMZW4iPnhtbE5vZGVTZXRDb250ZW50TGVuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVTZXRMYW5nIj54bWxOb2RlU2V0TGFuZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlU2V0TmFtZSI+eG1sTm9kZVNldE5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVNldFNwYWNlUHJlc2VydmUiPnhtbE5vZGVTZXRTcGFjZVByZXNlcnZlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vdGF0aW9uIj54bWxOb3RhdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb3RhdGlvblB0ciI+eG1sTm90YXRpb25QdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTnMiPnhtbE5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5zUHRyIj54bWxOc1B0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOc1R5cGUiPnhtbE5zVHlwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxPdXRwdXRCdWZmZXIiPnhtbE91dHB1dEJ1ZmZlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxPdXRwdXRCdWZmZXJQdHIiPnhtbE91dHB1dEJ1ZmZlclB0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0Ij54bWxQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXQiPnhtbFBhcnNlcklucHV0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyIj54bWxQYXJzZXJJbnB1dEJ1ZmZlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciI+eG1sUGFyc2VySW5wdXRCdWZmZXJQdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRQdHIiPnhtbFBhcnNlcklucHV0UHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFByZXZpb3VzRWxlbWVudFNpYmxpbmciPnhtbFByZXZpb3VzRWxlbWVudFNpYmxpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sUmVjb25jaWxpYXRlTnMiPnhtbFJlY29uY2lsaWF0ZU5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFJlZiI+eG1sUmVmPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFJlZlB0ciI+eG1sUmVmUHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFJlbW92ZVByb3AiPnhtbFJlbW92ZVByb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sUmVwbGFjZU5vZGUiPnhtbFJlcGxhY2VOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFJvb3ROb2RlIj54bWxSb290Tm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTQVhIYW5kbGVyIj54bWxTQVhIYW5kbGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNBWEhhbmRsZXJQdHIiPnhtbFNBWEhhbmRsZXJQdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU0FYTG9jYXRvciI+eG1sU0FYTG9jYXRvcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTQVhMb2NhdG9yUHRyIj54bWxTQVhMb2NhdG9yUHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNhdmVGaWxlIj54bWxTYXZlRmlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTYXZlRmlsZUVuYyI+eG1sU2F2ZUZpbGVFbmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2F2ZUZpbGVUbyI+eG1sU2F2ZUZpbGVUbzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTYXZlRm9ybWF0RmlsZSI+eG1sU2F2ZUZvcm1hdEZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2F2ZUZvcm1hdEZpbGVFbmMiPnhtbFNhdmVGb3JtYXRGaWxlRW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNhdmVGb3JtYXRGaWxlVG8iPnhtbFNhdmVGb3JtYXRGaWxlVG88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2VhcmNoTnMiPnhtbFNlYXJjaE5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNlYXJjaE5zQnlIcmVmIj54bWxTZWFyY2hOc0J5SHJlZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lIj54bWxTZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNldENvbXByZXNzTW9kZSI+eG1sU2V0Q29tcHJlc3NNb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNldERvY0NvbXByZXNzTW9kZSI+eG1sU2V0RG9jQ29tcHJlc3NNb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNldExpc3REb2MiPnhtbFNldExpc3REb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2V0TnMiPnhtbFNldE5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNldE5zUHJvcCI+eG1sU2V0TnNQcm9wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNldFByb3AiPnhtbFNldFByb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2V0VHJlZURvYyI+eG1sU2V0VHJlZURvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTcGxpdFFOYW1lMiI+eG1sU3BsaXRRTmFtZTI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU3BsaXRRTmFtZTMiPnhtbFNwbGl0UU5hbWUzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFN0cmluZ0dldE5vZGVMaXN0Ij54bWxTdHJpbmdHZXROb2RlTGlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTdHJpbmdMZW5HZXROb2RlTGlzdCI+eG1sU3RyaW5nTGVuR2V0Tm9kZUxpc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sVGV4dENvbmNhdCI+eG1sVGV4dENvbmNhdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxUZXh0TWVyZ2UiPnhtbFRleHRNZXJnZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxVbmxpbmtOb2RlIj54bWxVbmxpbmtOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFVuc2V0TnNQcm9wIj54bWxVbnNldE5zUHJvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxVbnNldFByb3AiPnhtbFVuc2V0UHJvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxWYWxpZGF0ZU5DTmFtZSI+eG1sVmFsaWRhdGVOQ05hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sVmFsaWRhdGVOTVRva2VuIj54bWxWYWxpZGF0ZU5NVG9rZW48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sVmFsaWRhdGVOYW1lIj54bWxWYWxpZGF0ZU5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sVmFsaWRhdGVRTmFtZSI+eG1sVmFsaWRhdGVRTmFtZTwvYT48YnIgLz4KKzwvcD48aDI+PGEgbmFtZT0idXJpIiBpZD0idXJpIj5Nb2R1bGUgdXJpPC9hPjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI194bWxVUkkiPl94bWxVUkk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxCdWlsZFJlbGF0aXZlVVJJIj54bWxCdWlsZFJlbGF0aXZlVVJJPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sQnVpbGRVUkkiPnhtbEJ1aWxkVVJJPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sQ2Fub25pY1BhdGgiPnhtbENhbm9uaWNQYXRoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sQ3JlYXRlVVJJIj54bWxDcmVhdGVVUkk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxGcmVlVVJJIj54bWxGcmVlVVJJPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sTm9ybWFsaXplVVJJUGF0aCI+eG1sTm9ybWFsaXplVVJJUGF0aDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbFBhcnNlVVJJIj54bWxQYXJzZVVSSTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbFBhcnNlVVJJUmF3Ij54bWxQYXJzZVVSSVJhdzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbFBhcnNlVVJJUmVmZXJlbmNlIj54bWxQYXJzZVVSSVJlZmVyZW5jZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbFBhdGhUb1VSSSI+eG1sUGF0aFRvVVJJPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sUHJpbnRVUkkiPnhtbFByaW50VVJJPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sU2F2ZVVyaSI+eG1sU2F2ZVVyaTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbFVSSSI+eG1sVVJJPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sVVJJRXNjYXBlIj54bWxVUklFc2NhcGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxVUklFc2NhcGVTdHIiPnhtbFVSSUVzY2FwZVN0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbFVSSVB0ciI+eG1sVVJJUHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sVVJJVW5lc2NhcGVTdHJpbmciPnhtbFVSSVVuZXNjYXBlU3RyaW5nPC9hPjxiciAvPgorPC9wPjxoMj48YSBuYW1lPSJ2YWxpZCIgaWQ9InZhbGlkIj5Nb2R1bGUgdmFsaWQ8L2E+OjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCNYTUxfQ1RYVF9GSU5JU0hfRFREXzAiPlhNTF9DVFhUX0ZJTklTSF9EVERfMDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjWE1MX0NUWFRfRklOSVNIX0RURF8xIj5YTUxfQ1RYVF9GSU5JU0hfRFREXzE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI194bWxWYWxpZEN0eHQiPl94bWxWYWxpZEN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEFkZEF0dHJpYnV0ZURlY2wiPnhtbEFkZEF0dHJpYnV0ZURlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEFkZEVsZW1lbnREZWNsIj54bWxBZGRFbGVtZW50RGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sQWRkSUQiPnhtbEFkZElEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxBZGROb3RhdGlvbkRlY2wiPnhtbEFkZE5vdGF0aW9uRGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sQWRkUmVmIj54bWxBZGRSZWY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEF0dHJpYnV0ZVRhYmxlIj54bWxBdHRyaWJ1dGVUYWJsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sQXR0cmlidXRlVGFibGVQdHIiPnhtbEF0dHJpYnV0ZVRhYmxlUHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxDb3B5QXR0cmlidXRlVGFibGUiPnhtbENvcHlBdHRyaWJ1dGVUYWJsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sQ29weURvY0VsZW1lbnRDb250ZW50Ij54bWxDb3B5RG9jRWxlbWVudENvbnRlbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbENvcHlFbGVtZW50Q29udGVudCI+eG1sQ29weUVsZW1lbnRDb250ZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxDb3B5RWxlbWVudFRhYmxlIj54bWxDb3B5RWxlbWVudFRhYmxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxDb3B5RW51bWVyYXRpb24iPnhtbENvcHlFbnVtZXJhdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sQ29weU5vdGF0aW9uVGFibGUiPnhtbENvcHlOb3RhdGlvblRhYmxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxDcmVhdGVFbnVtZXJhdGlvbiI+eG1sQ3JlYXRlRW51bWVyYXRpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbER1bXBBdHRyaWJ1dGVEZWNsIj54bWxEdW1wQXR0cmlidXRlRGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sRHVtcEF0dHJpYnV0ZVRhYmxlIj54bWxEdW1wQXR0cmlidXRlVGFibGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbER1bXBFbGVtZW50RGVjbCI+eG1sRHVtcEVsZW1lbnREZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxEdW1wRWxlbWVudFRhYmxlIj54bWxEdW1wRWxlbWVudFRhYmxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxEdW1wTm90YXRpb25EZWNsIj54bWxEdW1wTm90YXRpb25EZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxEdW1wTm90YXRpb25UYWJsZSI+eG1sRHVtcE5vdGF0aW9uVGFibGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEVsZW1lbnRUYWJsZSI+eG1sRWxlbWVudFRhYmxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxFbGVtZW50VGFibGVQdHIiPnhtbEVsZW1lbnRUYWJsZVB0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sRnJlZUF0dHJpYnV0ZVRhYmxlIj54bWxGcmVlQXR0cmlidXRlVGFibGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEZyZWVEb2NFbGVtZW50Q29udGVudCI+eG1sRnJlZURvY0VsZW1lbnRDb250ZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxGcmVlRWxlbWVudENvbnRlbnQiPnhtbEZyZWVFbGVtZW50Q29udGVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sRnJlZUVsZW1lbnRUYWJsZSI+eG1sRnJlZUVsZW1lbnRUYWJsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sRnJlZUVudW1lcmF0aW9uIj54bWxGcmVlRW51bWVyYXRpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEZyZWVJRFRhYmxlIj54bWxGcmVlSURUYWJsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sRnJlZU5vdGF0aW9uVGFibGUiPnhtbEZyZWVOb3RhdGlvblRhYmxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxGcmVlUmVmVGFibGUiPnhtbEZyZWVSZWZUYWJsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sRnJlZVZhbGlkQ3R4dCI+eG1sRnJlZVZhbGlkQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sR2V0RHRkQXR0ckRlc2MiPnhtbEdldER0ZEF0dHJEZXNjPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxHZXREdGRFbGVtZW50RGVzYyI+eG1sR2V0RHRkRWxlbWVudERlc2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEdldER0ZE5vdGF0aW9uRGVzYyI+eG1sR2V0RHRkTm90YXRpb25EZXNjPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxHZXREdGRRQXR0ckRlc2MiPnhtbEdldER0ZFFBdHRyRGVzYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sR2V0RHRkUUVsZW1lbnREZXNjIj54bWxHZXREdGRRRWxlbWVudERlc2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEdldElEIj54bWxHZXRJRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sR2V0UmVmcyI+eG1sR2V0UmVmczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sSURUYWJsZSI+eG1sSURUYWJsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sSURUYWJsZVB0ciI+eG1sSURUYWJsZVB0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sSXNJRCI+eG1sSXNJRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sSXNNaXhlZEVsZW1lbnQiPnhtbElzTWl4ZWRFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxJc1JlZiI+eG1sSXNSZWY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbE5ld0RvY0VsZW1lbnRDb250ZW50Ij54bWxOZXdEb2NFbGVtZW50Q29udGVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sTmV3RWxlbWVudENvbnRlbnQiPnhtbE5ld0VsZW1lbnRDb250ZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxOZXdWYWxpZEN0eHQiPnhtbE5ld1ZhbGlkQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sTm90YXRpb25UYWJsZSI+eG1sTm90YXRpb25UYWJsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sTm90YXRpb25UYWJsZVB0ciI+eG1sTm90YXRpb25UYWJsZVB0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sUmVmVGFibGUiPnhtbFJlZlRhYmxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxSZWZUYWJsZVB0ciI+eG1sUmVmVGFibGVQdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFJlbW92ZUlEIj54bWxSZW1vdmVJRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sUmVtb3ZlUmVmIj54bWxSZW1vdmVSZWY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFNucHJpbnRmRWxlbWVudENvbnRlbnQiPnhtbFNucHJpbnRmRWxlbWVudENvbnRlbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFNwcmludGZFbGVtZW50Q29udGVudCI+eG1sU3ByaW50ZkVsZW1lbnRDb250ZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZEJ1aWxkQ29udGVudE1vZGVsIj54bWxWYWxpZEJ1aWxkQ29udGVudE1vZGVsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZEN0eHQiPnhtbFZhbGlkQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRDdHh0Tm9ybWFsaXplQXR0cmlidXRlVmFsdWUiPnhtbFZhbGlkQ3R4dE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZEN0eHRQdHIiPnhtbFZhbGlkQ3R4dFB0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRHZXRQb3RlbnRpYWxDaGlsZHJlbiI+eG1sVmFsaWRHZXRQb3RlbnRpYWxDaGlsZHJlbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzIj54bWxWYWxpZEdldFZhbGlkRWxlbWVudHM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkTm9ybWFsaXplQXR0cmlidXRlVmFsdWUiPnhtbFZhbGlkTm9ybWFsaXplQXR0cmlidXRlVmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkU3RhdGUiPnhtbFZhbGlkU3RhdGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkU3RhdGVQdHIiPnhtbFZhbGlkU3RhdGVQdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlQXR0cmlidXRlRGVjbCI+eG1sVmFsaWRhdGVBdHRyaWJ1dGVEZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZUF0dHJpYnV0ZVZhbHVlIj54bWxWYWxpZGF0ZUF0dHJpYnV0ZVZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZURvY3VtZW50Ij54bWxWYWxpZGF0ZURvY3VtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZURvY3VtZW50RmluYWwiPnhtbFZhbGlkYXRlRG9jdW1lbnRGaW5hbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVEdGQiPnhtbFZhbGlkYXRlRHRkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZUR0ZEZpbmFsIj54bWxWYWxpZGF0ZUR0ZEZpbmFsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZUVsZW1lbnQiPnhtbFZhbGlkYXRlRWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVFbGVtZW50RGVjbCI+eG1sVmFsaWRhdGVFbGVtZW50RGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVOYW1lVmFsdWUiPnhtbFZhbGlkYXRlTmFtZVZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZU5hbWVzVmFsdWUiPnhtbFZhbGlkYXRlTmFtZXNWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVObXRva2VuVmFsdWUiPnhtbFZhbGlkYXRlTm10b2tlblZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZU5tdG9rZW5zVmFsdWUiPnhtbFZhbGlkYXRlTm10b2tlbnNWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVOb3RhdGlvbkRlY2wiPnhtbFZhbGlkYXRlTm90YXRpb25EZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZU5vdGF0aW9uVXNlIj54bWxWYWxpZGF0ZU5vdGF0aW9uVXNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZU9uZUF0dHJpYnV0ZSI+eG1sVmFsaWRhdGVPbmVBdHRyaWJ1dGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlT25lRWxlbWVudCI+eG1sVmFsaWRhdGVPbmVFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZU9uZU5hbWVzcGFjZSI+eG1sVmFsaWRhdGVPbmVOYW1lc3BhY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlUG9wRWxlbWVudCI+eG1sVmFsaWRhdGVQb3BFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZVB1c2hDRGF0YSI+eG1sVmFsaWRhdGVQdXNoQ0RhdGE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlUHVzaEVsZW1lbnQiPnhtbFZhbGlkYXRlUHVzaEVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlUm9vdCI+eG1sVmFsaWRhdGVSb290PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGl0eUVycm9yRnVuYyI+eG1sVmFsaWRpdHlFcnJvckZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkaXR5V2FybmluZ0Z1bmMiPnhtbFZhbGlkaXR5V2FybmluZ0Z1bmM8L2E+PGJyIC8+Cis8L3A+PGgyPjxhIG5hbWU9InhpbmNsdWRlIiBpZD0ieGluY2x1ZGUiPk1vZHVsZSB4aW5jbHVkZTwvYT46PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC14aW5jbHVkZS5odG1sI1hJTkNMVURFX0ZBTExCQUNLIj5YSU5DTFVERV9GQUxMQkFDSzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhpbmNsdWRlLmh0bWwjWElOQ0xVREVfSFJFRiI+WElOQ0xVREVfSFJFRjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhpbmNsdWRlLmh0bWwjWElOQ0xVREVfTk9ERSI+WElOQ0xVREVfTk9ERTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhpbmNsdWRlLmh0bWwjWElOQ0xVREVfTlMiPlhJTkNMVURFX05TPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGluY2x1ZGUuaHRtbCNYSU5DTFVERV9PTERfTlMiPlhJTkNMVURFX09MRF9OUzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhpbmNsdWRlLmh0bWwjWElOQ0xVREVfUEFSU0UiPlhJTkNMVURFX1BBUlNFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGluY2x1ZGUuaHRtbCNYSU5DTFVERV9QQVJTRV9FTkNPRElORyI+WElOQ0xVREVfUEFSU0VfRU5DT0RJTkc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14aW5jbHVkZS5odG1sI1hJTkNMVURFX1BBUlNFX1RFWFQiPlhJTkNMVURFX1BBUlNFX1RFWFQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14aW5jbHVkZS5odG1sI1hJTkNMVURFX1BBUlNFX1hNTCI+WElOQ0xVREVfUEFSU0VfWE1MPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGluY2x1ZGUuaHRtbCNYSU5DTFVERV9QQVJTRV9YUE9JTlRFUiI+WElOQ0xVREVfUEFSU0VfWFBPSU5URVI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14aW5jbHVkZS5odG1sI3htbFhJbmNsdWRlQ3R4dCI+eG1sWEluY2x1ZGVDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGluY2x1ZGUuaHRtbCN4bWxYSW5jbHVkZUN0eHRQdHIiPnhtbFhJbmNsdWRlQ3R4dFB0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhpbmNsdWRlLmh0bWwjeG1sWEluY2x1ZGVGcmVlQ29udGV4dCI+eG1sWEluY2x1ZGVGcmVlQ29udGV4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhpbmNsdWRlLmh0bWwjeG1sWEluY2x1ZGVOZXdDb250ZXh0Ij54bWxYSW5jbHVkZU5ld0NvbnRleHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14aW5jbHVkZS5odG1sI3htbFhJbmNsdWRlUHJvY2VzcyI+eG1sWEluY2x1ZGVQcm9jZXNzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGluY2x1ZGUuaHRtbCN4bWxYSW5jbHVkZVByb2Nlc3NGbGFncyI+eG1sWEluY2x1ZGVQcm9jZXNzRmxhZ3M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14aW5jbHVkZS5odG1sI3htbFhJbmNsdWRlUHJvY2Vzc0ZsYWdzRGF0YSI+eG1sWEluY2x1ZGVQcm9jZXNzRmxhZ3NEYXRhPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGluY2x1ZGUuaHRtbCN4bWxYSW5jbHVkZVByb2Nlc3NOb2RlIj54bWxYSW5jbHVkZVByb2Nlc3NOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGluY2x1ZGUuaHRtbCN4bWxYSW5jbHVkZVByb2Nlc3NUcmVlIj54bWxYSW5jbHVkZVByb2Nlc3NUcmVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGluY2x1ZGUuaHRtbCN4bWxYSW5jbHVkZVByb2Nlc3NUcmVlRmxhZ3MiPnhtbFhJbmNsdWRlUHJvY2Vzc1RyZWVGbGFnczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhpbmNsdWRlLmh0bWwjeG1sWEluY2x1ZGVQcm9jZXNzVHJlZUZsYWdzRGF0YSI+eG1sWEluY2x1ZGVQcm9jZXNzVHJlZUZsYWdzRGF0YTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhpbmNsdWRlLmh0bWwjeG1sWEluY2x1ZGVTZXRGbGFncyI+eG1sWEluY2x1ZGVTZXRGbGFnczwvYT48YnIgLz4KKzwvcD48aDI+PGEgbmFtZT0ieGxpbmsiIGlkPSJ4bGluayI+TW9kdWxlIHhsaW5rPC9hPjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhsaW5rLmh0bWwjWExJTktfQUNUVUFURV9BVVRPIj5YTElOS19BQ1RVQVRFX0FVVE88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bGluay5odG1sI1hMSU5LX0FDVFVBVEVfTk9ORSI+WExJTktfQUNUVUFURV9OT05FPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGxpbmsuaHRtbCNYTElOS19BQ1RVQVRFX09OUkVRVUVTVCI+WExJTktfQUNUVUFURV9PTlJFUVVFU1Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bGluay5odG1sI1hMSU5LX1NIT1dfRU1CRUQiPlhMSU5LX1NIT1dfRU1CRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bGluay5odG1sI1hMSU5LX1NIT1dfTkVXIj5YTElOS19TSE9XX05FVzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhsaW5rLmh0bWwjWExJTktfU0hPV19OT05FIj5YTElOS19TSE9XX05PTkU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bGluay5odG1sI1hMSU5LX1NIT1dfUkVQTEFDRSI+WExJTktfU0hPV19SRVBMQUNFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGxpbmsuaHRtbCNYTElOS19UWVBFX0VYVEVOREVEIj5YTElOS19UWVBFX0VYVEVOREVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGxpbmsuaHRtbCNYTElOS19UWVBFX0VYVEVOREVEX1NFVCI+WExJTktfVFlQRV9FWFRFTkRFRF9TRVQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bGluay5odG1sI1hMSU5LX1RZUEVfTk9ORSI+WExJTktfVFlQRV9OT05FPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGxpbmsuaHRtbCNYTElOS19UWVBFX1NJTVBMRSI+WExJTktfVFlQRV9TSU1QTEU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bGluay5odG1sI194bGlua0hhbmRsZXIiPl94bGlua0hhbmRsZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bGluay5odG1sI3hsaW5rQWN0dWF0ZSI+eGxpbmtBY3R1YXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGxpbmsuaHRtbCN4bGlua0V4dGVuZGVkTGlua0Z1bmsiPnhsaW5rRXh0ZW5kZWRMaW5rRnVuazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhsaW5rLmh0bWwjeGxpbmtFeHRlbmRlZExpbmtTZXRGdW5rIj54bGlua0V4dGVuZGVkTGlua1NldEZ1bms8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bGluay5odG1sI3hsaW5rR2V0RGVmYXVsdERldGVjdCI+eGxpbmtHZXREZWZhdWx0RGV0ZWN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGxpbmsuaHRtbCN4bGlua0dldERlZmF1bHRIYW5kbGVyIj54bGlua0dldERlZmF1bHRIYW5kbGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGxpbmsuaHRtbCN4bGlua0hSZWYiPnhsaW5rSFJlZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhsaW5rLmh0bWwjeGxpbmtIYW5kbGVyIj54bGlua0hhbmRsZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bGluay5odG1sI3hsaW5rSGFuZGxlclB0ciI+eGxpbmtIYW5kbGVyUHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGxpbmsuaHRtbCN4bGlua0lzTGluayI+eGxpbmtJc0xpbms8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bGluay5odG1sI3hsaW5rTm9kZURldGVjdEZ1bmMiPnhsaW5rTm9kZURldGVjdEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bGluay5odG1sI3hsaW5rUm9sZSI+eGxpbmtSb2xlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGxpbmsuaHRtbCN4bGlua1NldERlZmF1bHREZXRlY3QiPnhsaW5rU2V0RGVmYXVsdERldGVjdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhsaW5rLmh0bWwjeGxpbmtTZXREZWZhdWx0SGFuZGxlciI+eGxpbmtTZXREZWZhdWx0SGFuZGxlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhsaW5rLmh0bWwjeGxpbmtTaG93Ij54bGlua1Nob3c8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bGluay5odG1sI3hsaW5rU2ltcGxlTGlua0Z1bmsiPnhsaW5rU2ltcGxlTGlua0Z1bms8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bGluay5odG1sI3hsaW5rVGl0bGUiPnhsaW5rVGl0bGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bGluay5odG1sI3hsaW5rVHlwZSI+eGxpbmtUeXBlPC9hPjxiciAvPgorPC9wPjxoMj48YSBuYW1lPSJ4bWxJTyIgaWQ9InhtbElPIj5Nb2R1bGUgeG1sSU88L2E+OjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCNfeG1sT3V0cHV0QnVmZmVyIj5feG1sT3V0cHV0QnVmZmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCNfeG1sUGFyc2VySW5wdXRCdWZmZXIiPl94bWxQYXJzZXJJbnB1dEJ1ZmZlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sQWxsb2NPdXRwdXRCdWZmZXIiPnhtbEFsbG9jT3V0cHV0QnVmZmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxBbGxvY1BhcnNlcklucHV0QnVmZmVyIj54bWxBbGxvY1BhcnNlcklucHV0QnVmZmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxDaGVja0ZpbGVuYW1lIj54bWxDaGVja0ZpbGVuYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxDaGVja0hUVFBJbnB1dCI+eG1sQ2hlY2tIVFRQSW5wdXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbENsZWFudXBJbnB1dENhbGxiYWNrcyI+eG1sQ2xlYW51cElucHV0Q2FsbGJhY2tzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxDbGVhbnVwT3V0cHV0Q2FsbGJhY2tzIj54bWxDbGVhbnVwT3V0cHV0Q2FsbGJhY2tzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxGaWxlQ2xvc2UiPnhtbEZpbGVDbG9zZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sRmlsZU1hdGNoIj54bWxGaWxlTWF0Y2g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbEZpbGVPcGVuIj54bWxGaWxlT3BlbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sRmlsZVJlYWQiPnhtbEZpbGVSZWFkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxGcmVlUGFyc2VySW5wdXRCdWZmZXIiPnhtbEZyZWVQYXJzZXJJbnB1dEJ1ZmZlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sSU9GVFBDbG9zZSI+eG1sSU9GVFBDbG9zZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sSU9GVFBNYXRjaCI+eG1sSU9GVFBNYXRjaDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sSU9GVFBPcGVuIj54bWxJT0ZUUE9wZW48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbElPRlRQUmVhZCI+eG1sSU9GVFBSZWFkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxJT0hUVFBDbG9zZSI+eG1sSU9IVFRQQ2xvc2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbElPSFRUUE1hdGNoIj54bWxJT0hUVFBNYXRjaDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sSU9IVFRQT3BlbiI+eG1sSU9IVFRQT3BlbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sSU9IVFRQT3BlblciPnhtbElPSFRUUE9wZW5XPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxJT0hUVFBSZWFkIj54bWxJT0hUVFBSZWFkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxJbnB1dENsb3NlQ2FsbGJhY2siPnhtbElucHV0Q2xvc2VDYWxsYmFjazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sSW5wdXRNYXRjaENhbGxiYWNrIj54bWxJbnB1dE1hdGNoQ2FsbGJhY2s8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbElucHV0T3BlbkNhbGxiYWNrIj54bWxJbnB1dE9wZW5DYWxsYmFjazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sSW5wdXRSZWFkQ2FsbGJhY2siPnhtbElucHV0UmVhZENhbGxiYWNrPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxOb05ldEV4dGVybmFsRW50aXR5TG9hZGVyIj54bWxOb05ldEV4dGVybmFsRW50aXR5TG9hZGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxOb3JtYWxpemVXaW5kb3dzUGF0aCI+eG1sTm9ybWFsaXplV2luZG93c1BhdGg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dEJ1ZmZlckNsb3NlIj54bWxPdXRwdXRCdWZmZXJDbG9zZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0QnVmZmVyQ3JlYXRlQnVmZmVyIj54bWxPdXRwdXRCdWZmZXJDcmVhdGVCdWZmZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZkIj54bWxPdXRwdXRCdWZmZXJDcmVhdGVGZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZSI+eG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWUiPnhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRCdWZmZXJDcmVhdGVJTyI+eG1sT3V0cHV0QnVmZmVyQ3JlYXRlSU88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dEJ1ZmZlckZsdXNoIj54bWxPdXRwdXRCdWZmZXJGbHVzaDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0QnVmZmVyR2V0Q29udGVudCI+eG1sT3V0cHV0QnVmZmVyR2V0Q29udGVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0QnVmZmVyR2V0U2l6ZSI+eG1sT3V0cHV0QnVmZmVyR2V0U2l6ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0QnVmZmVyV3JpdGUiPnhtbE91dHB1dEJ1ZmZlcldyaXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRCdWZmZXJXcml0ZUVzY2FwZSI+eG1sT3V0cHV0QnVmZmVyV3JpdGVFc2NhcGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nIj54bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0Q2xvc2VDYWxsYmFjayI+eG1sT3V0cHV0Q2xvc2VDYWxsYmFjazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0TWF0Y2hDYWxsYmFjayI+eG1sT3V0cHV0TWF0Y2hDYWxsYmFjazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0T3BlbkNhbGxiYWNrIj54bWxPdXRwdXRPcGVuQ2FsbGJhY2s8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dFdyaXRlQ2FsbGJhY2siPnhtbE91dHB1dFdyaXRlQ2FsbGJhY2s8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbFBhcnNlckdldERpcmVjdG9yeSI+eG1sUGFyc2VyR2V0RGlyZWN0b3J5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZkIj54bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGUiPnhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZSI+eG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVJTyI+eG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVJTzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVNZW0iPnhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlTWVtPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZVN0YXRpYyI+eG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVTdGF0aWM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyR3JvdyI+eG1sUGFyc2VySW5wdXRCdWZmZXJHcm93PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlclB1c2giPnhtbFBhcnNlcklucHV0QnVmZmVyUHVzaDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJSZWFkIj54bWxQYXJzZXJJbnB1dEJ1ZmZlclJlYWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbFBvcElucHV0Q2FsbGJhY2tzIj54bWxQb3BJbnB1dENhbGxiYWNrczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sUmVnaXN0ZXJEZWZhdWx0SW5wdXRDYWxsYmFja3MiPnhtbFJlZ2lzdGVyRGVmYXVsdElucHV0Q2FsbGJhY2tzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxSZWdpc3RlckRlZmF1bHRPdXRwdXRDYWxsYmFja3MiPnhtbFJlZ2lzdGVyRGVmYXVsdE91dHB1dENhbGxiYWNrczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sUmVnaXN0ZXJIVFRQUG9zdENhbGxiYWNrcyI+eG1sUmVnaXN0ZXJIVFRQUG9zdENhbGxiYWNrczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sUmVnaXN0ZXJJbnB1dENhbGxiYWNrcyI+eG1sUmVnaXN0ZXJJbnB1dENhbGxiYWNrczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sUmVnaXN0ZXJPdXRwdXRDYWxsYmFja3MiPnhtbFJlZ2lzdGVyT3V0cHV0Q2FsbGJhY2tzPC9hPjxiciAvPgorPC9wPjxoMj48YSBuYW1lPSJ4bWxhdXRvbWF0YSIgaWQ9InhtbGF1dG9tYXRhIj5Nb2R1bGUgeG1sYXV0b21hdGE8L2E+OjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YSI+eG1sQXV0b21hdGE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhQ29tcGlsZSI+eG1sQXV0b21hdGFDb21waWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YUdldEluaXRTdGF0ZSI+eG1sQXV0b21hdGFHZXRJbml0U3RhdGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhSXNEZXRlcm1pbmlzdCI+eG1sQXV0b21hdGFJc0RldGVybWluaXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld0FsbFRyYW5zIj54bWxBdXRvbWF0YU5ld0FsbFRyYW5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld0NvdW50VHJhbnMiPnhtbEF1dG9tYXRhTmV3Q291bnRUcmFuczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdDb3VudFRyYW5zMiI+eG1sQXV0b21hdGFOZXdDb3VudFRyYW5zMjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdDb3VudGVkVHJhbnMiPnhtbEF1dG9tYXRhTmV3Q291bnRlZFRyYW5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld0NvdW50ZXIiPnhtbEF1dG9tYXRhTmV3Q291bnRlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdDb3VudGVyVHJhbnMiPnhtbEF1dG9tYXRhTmV3Q291bnRlclRyYW5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld0Vwc2lsb24iPnhtbEF1dG9tYXRhTmV3RXBzaWxvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdOZWdUcmFucyI+eG1sQXV0b21hdGFOZXdOZWdUcmFuczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdPbmNlVHJhbnMiPnhtbEF1dG9tYXRhTmV3T25jZVRyYW5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld09uY2VUcmFuczIiPnhtbEF1dG9tYXRhTmV3T25jZVRyYW5zMjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdTdGF0ZSI+eG1sQXV0b21hdGFOZXdTdGF0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdUcmFuc2l0aW9uIj54bWxBdXRvbWF0YU5ld1RyYW5zaXRpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhTmV3VHJhbnNpdGlvbjIiPnhtbEF1dG9tYXRhTmV3VHJhbnNpdGlvbjI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhUHRyIj54bWxBdXRvbWF0YVB0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFTZXRGaW5hbFN0YXRlIj54bWxBdXRvbWF0YVNldEZpbmFsU3RhdGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhU3RhdGUiPnhtbEF1dG9tYXRhU3RhdGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhU3RhdGVQdHIiPnhtbEF1dG9tYXRhU3RhdGVQdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEZyZWVBdXRvbWF0YSI+eG1sRnJlZUF1dG9tYXRhPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxOZXdBdXRvbWF0YSI+eG1sTmV3QXV0b21hdGE8L2E+PGJyIC8+Cis8L3A+PGgyPjxhIG5hbWU9InhtbGVycm9yIiBpZD0ieG1sZXJyb3IiPk1vZHVsZSB4bWxlcnJvcjwvYT46PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9CVUZfT1ZFUkZMT1ciPlhNTF9CVUZfT1ZFUkZMT1c8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9DMTROX0NSRUFURV9DVFhUIj5YTUxfQzE0Tl9DUkVBVEVfQ1RYVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0MxNE5fQ1JFQVRFX1NUQUNLIj5YTUxfQzE0Tl9DUkVBVEVfU1RBQ0s8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9DMTROX0lOVkFMSURfTk9ERSI+WE1MX0MxNE5fSU5WQUxJRF9OT0RFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfQzE0Tl9SRUxBVElWRV9OQU1FU1BBQ0UiPlhNTF9DMTROX1JFTEFUSVZFX05BTUVTUEFDRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0MxNE5fUkVRVUlSRVNfVVRGOCI+WE1MX0MxNE5fUkVRVUlSRVNfVVRGODwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0MxNE5fVU5LTk9XX05PREUiPlhNTF9DMTROX1VOS05PV19OT0RFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfQ0FUQUxPR19FTlRSWV9CUk9LRU4iPlhNTF9DQVRBTE9HX0VOVFJZX0JST0tFTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0NBVEFMT0dfTUlTU0lOR19BVFRSIj5YTUxfQ0FUQUxPR19NSVNTSU5HX0FUVFI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9DQVRBTE9HX05PVF9DQVRBTE9HIj5YTUxfQ0FUQUxPR19OT1RfQ0FUQUxPRzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0NBVEFMT0dfUFJFRkVSX1ZBTFVFIj5YTUxfQ0FUQUxPR19QUkVGRVJfVkFMVUU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9DQVRBTE9HX1JFQ1VSU0lPTiI+WE1MX0NBVEFMT0dfUkVDVVJTSU9OPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfQ0hFQ0tfRU5USVRZX1RZUEUiPlhNTF9DSEVDS19FTlRJVFlfVFlQRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0NIRUNLX0ZPVU5EX0FUVFJJQlVURSI+WE1MX0NIRUNLX0ZPVU5EX0FUVFJJQlVURTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0NIRUNLX0ZPVU5EX0NEQVRBIj5YTUxfQ0hFQ0tfRk9VTkRfQ0RBVEE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9DSEVDS19GT1VORF9DT01NRU5UIj5YTUxfQ0hFQ0tfRk9VTkRfQ09NTUVOVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0NIRUNLX0ZPVU5EX0RPQ1RZUEUiPlhNTF9DSEVDS19GT1VORF9ET0NUWVBFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfQ0hFQ0tfRk9VTkRfRUxFTUVOVCI+WE1MX0NIRUNLX0ZPVU5EX0VMRU1FTlQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9DSEVDS19GT1VORF9FTlRJVFkiPlhNTF9DSEVDS19GT1VORF9FTlRJVFk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9DSEVDS19GT1VORF9FTlRJVFlSRUYiPlhNTF9DSEVDS19GT1VORF9FTlRJVFlSRUY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9DSEVDS19GT1VORF9GUkFHTUVOVCI+WE1MX0NIRUNLX0ZPVU5EX0ZSQUdNRU5UPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfQ0hFQ0tfRk9VTkRfTk9UQVRJT04iPlhNTF9DSEVDS19GT1VORF9OT1RBVElPTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0NIRUNLX0ZPVU5EX1BJIj5YTUxfQ0hFQ0tfRk9VTkRfUEk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9DSEVDS19GT1VORF9URVhUIj5YTUxfQ0hFQ0tfRk9VTkRfVEVYVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0NIRUNLX05BTUVfTk9UX05VTEwiPlhNTF9DSEVDS19OQU1FX05PVF9OVUxMPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfQ0hFQ0tfTk9UX0FUVFIiPlhNTF9DSEVDS19OT1RfQVRUUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0NIRUNLX05PVF9BVFRSX0RFQ0wiPlhNTF9DSEVDS19OT1RfQVRUUl9ERUNMPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfQ0hFQ0tfTk9UX0RURCI+WE1MX0NIRUNLX05PVF9EVEQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9DSEVDS19OT1RfRUxFTV9ERUNMIj5YTUxfQ0hFQ0tfTk9UX0VMRU1fREVDTDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0NIRUNLX05PVF9FTlRJVFlfREVDTCI+WE1MX0NIRUNLX05PVF9FTlRJVFlfREVDTDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0NIRUNLX05PVF9OQ05BTUUiPlhNTF9DSEVDS19OT1RfTkNOQU1FPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfQ0hFQ0tfTk9UX05TX0RFQ0wiPlhNTF9DSEVDS19OT1RfTlNfREVDTDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0NIRUNLX05PVF9VVEY4Ij5YTUxfQ0hFQ0tfTk9UX1VURjg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9DSEVDS19OT19ESUNUIj5YTUxfQ0hFQ0tfTk9fRElDVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0NIRUNLX05PX0RPQyI+WE1MX0NIRUNLX05PX0RPQzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0NIRUNLX05PX0VMRU0iPlhNTF9DSEVDS19OT19FTEVNPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfQ0hFQ0tfTk9fSFJFRiI+WE1MX0NIRUNLX05PX0hSRUY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9DSEVDS19OT19OQU1FIj5YTUxfQ0hFQ0tfTk9fTkFNRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0NIRUNLX05PX05FWFQiPlhNTF9DSEVDS19OT19ORVhUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfQ0hFQ0tfTk9fUEFSRU5UIj5YTUxfQ0hFQ0tfTk9fUEFSRU5UPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfQ0hFQ0tfTk9fUFJFViI+WE1MX0NIRUNLX05PX1BSRVY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9DSEVDS19OU19BTkNFU1RPUiI+WE1MX0NIRUNLX05TX0FOQ0VTVE9SPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfQ0hFQ0tfTlNfU0NPUEUiPlhNTF9DSEVDS19OU19TQ09QRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0NIRUNLX09VVFNJREVfRElDVCI+WE1MX0NIRUNLX09VVFNJREVfRElDVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0NIRUNLX1VOS05PV05fTk9ERSI+WE1MX0NIRUNLX1VOS05PV05fTk9ERTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0NIRUNLX1dST05HX0RPQyI+WE1MX0NIRUNLX1dST05HX0RPQzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0NIRUNLX1dST05HX05BTUUiPlhNTF9DSEVDS19XUk9OR19OQU1FPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfQ0hFQ0tfV1JPTkdfTkVYVCI+WE1MX0NIRUNLX1dST05HX05FWFQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9DSEVDS19XUk9OR19QQVJFTlQiPlhNTF9DSEVDS19XUk9OR19QQVJFTlQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9DSEVDS19XUk9OR19QUkVWIj5YTUxfQ0hFQ0tfV1JPTkdfUFJFVjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0RURF9BVFRSSUJVVEVfREVGQVVMVCI+WE1MX0RURF9BVFRSSUJVVEVfREVGQVVMVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0RURF9BVFRSSUJVVEVfUkVERUZJTkVEIj5YTUxfRFREX0FUVFJJQlVURV9SRURFRklORUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9EVERfQVRUUklCVVRFX1ZBTFVFIj5YTUxfRFREX0FUVFJJQlVURV9WQUxVRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0RURF9DT05URU5UX0VSUk9SIj5YTUxfRFREX0NPTlRFTlRfRVJST1I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9EVERfQ09OVEVOVF9NT0RFTCI+WE1MX0RURF9DT05URU5UX01PREVMPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRFREX0NPTlRFTlRfTk9UX0RFVEVSTUlOSVNUIj5YTUxfRFREX0NPTlRFTlRfTk9UX0RFVEVSTUlOSVNUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRFREX0RJRkZFUkVOVF9QUkVGSVgiPlhNTF9EVERfRElGRkVSRU5UX1BSRUZJWDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0RURF9EVVBfVE9LRU4iPlhNTF9EVERfRFVQX1RPS0VOPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRFREX0VMRU1fREVGQVVMVF9OQU1FU1BBQ0UiPlhNTF9EVERfRUxFTV9ERUZBVUxUX05BTUVTUEFDRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0RURF9FTEVNX05BTUVTUEFDRSI+WE1MX0RURF9FTEVNX05BTUVTUEFDRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0RURF9FTEVNX1JFREVGSU5FRCI+WE1MX0RURF9FTEVNX1JFREVGSU5FRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0RURF9FTVBUWV9OT1RBVElPTiI+WE1MX0RURF9FTVBUWV9OT1RBVElPTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0RURF9FTlRJVFlfVFlQRSI+WE1MX0RURF9FTlRJVFlfVFlQRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0RURF9JRF9GSVhFRCI+WE1MX0RURF9JRF9GSVhFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0RURF9JRF9SRURFRklORUQiPlhNTF9EVERfSURfUkVERUZJTkVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRFREX0lEX1NVQlNFVCI+WE1MX0RURF9JRF9TVUJTRVQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9EVERfSU5WQUxJRF9DSElMRCI+WE1MX0RURF9JTlZBTElEX0NISUxEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRFREX0lOVkFMSURfREVGQVVMVCI+WE1MX0RURF9JTlZBTElEX0RFRkFVTFQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9EVERfTE9BRF9FUlJPUiI+WE1MX0RURF9MT0FEX0VSUk9SPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRFREX01JU1NJTkdfQVRUUklCVVRFIj5YTUxfRFREX01JU1NJTkdfQVRUUklCVVRFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRFREX01JWEVEX0NPUlJVUFQiPlhNTF9EVERfTUlYRURfQ09SUlVQVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0RURF9NVUxUSVBMRV9JRCI+WE1MX0RURF9NVUxUSVBMRV9JRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0RURF9OT1RBVElPTl9SRURFRklORUQiPlhNTF9EVERfTk9UQVRJT05fUkVERUZJTkVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRFREX05PVEFUSU9OX1ZBTFVFIj5YTUxfRFREX05PVEFUSU9OX1ZBTFVFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRFREX05PVF9FTVBUWSI+WE1MX0RURF9OT1RfRU1QVFk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9EVERfTk9UX1BDREFUQSI+WE1MX0RURF9OT1RfUENEQVRBPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRFREX05PVF9TVEFOREFMT05FIj5YTUxfRFREX05PVF9TVEFOREFMT05FPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRFREX05PX0RPQyI+WE1MX0RURF9OT19ET0M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9EVERfTk9fRFREIj5YTUxfRFREX05PX0RURDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0RURF9OT19FTEVNX05BTUUiPlhNTF9EVERfTk9fRUxFTV9OQU1FPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRFREX05PX1BSRUZJWCI+WE1MX0RURF9OT19QUkVGSVg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9EVERfTk9fUk9PVCI+WE1MX0RURF9OT19ST09UPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRFREX1JPT1RfTkFNRSI+WE1MX0RURF9ST09UX05BTUU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9EVERfU1RBTkRBTE9ORV9ERUZBVUxURUQiPlhNTF9EVERfU1RBTkRBTE9ORV9ERUZBVUxURUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9EVERfU1RBTkRBTE9ORV9XSElURV9TUEFDRSI+WE1MX0RURF9TVEFOREFMT05FX1dISVRFX1NQQUNFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRFREX1VOS05PV05fQVRUUklCVVRFIj5YTUxfRFREX1VOS05PV05fQVRUUklCVVRFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRFREX1VOS05PV05fRUxFTSI+WE1MX0RURF9VTktOT1dOX0VMRU08L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9EVERfVU5LTk9XTl9FTlRJVFkiPlhNTF9EVERfVU5LTk9XTl9FTlRJVFk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9EVERfVU5LTk9XTl9JRCI+WE1MX0RURF9VTktOT1dOX0lEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRFREX1VOS05PV05fTk9UQVRJT04iPlhNTF9EVERfVU5LTk9XTl9OT1RBVElPTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0RURF9YTUxJRF9UWVBFIj5YTUxfRFREX1hNTElEX1RZUEU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9EVERfWE1MSURfVkFMVUUiPlhNTF9EVERfWE1MSURfVkFMVUU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfQVRUTElTVF9OT1RfRklOSVNIRUQiPlhNTF9FUlJfQVRUTElTVF9OT1RfRklOSVNIRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfQVRUTElTVF9OT1RfU1RBUlRFRCI+WE1MX0VSUl9BVFRMSVNUX05PVF9TVEFSVEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0FUVFJJQlVURV9OT1RfRklOSVNIRUQiPlhNTF9FUlJfQVRUUklCVVRFX05PVF9GSU5JU0hFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9BVFRSSUJVVEVfTk9UX1NUQVJURUQiPlhNTF9FUlJfQVRUUklCVVRFX05PVF9TVEFSVEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0FUVFJJQlVURV9SRURFRklORUQiPlhNTF9FUlJfQVRUUklCVVRFX1JFREVGSU5FRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9BVFRSSUJVVEVfV0lUSE9VVF9WQUxVRSI+WE1MX0VSUl9BVFRSSUJVVEVfV0lUSE9VVF9WQUxVRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9DREFUQV9OT1RfRklOSVNIRUQiPlhNTF9FUlJfQ0RBVEFfTk9UX0ZJTklTSEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0NIQVJSRUZfQVRfRU9GIj5YTUxfRVJSX0NIQVJSRUZfQVRfRU9GPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0NIQVJSRUZfSU5fRFREIj5YTUxfRVJSX0NIQVJSRUZfSU5fRFREPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0NIQVJSRUZfSU5fRVBJTE9HIj5YTUxfRVJSX0NIQVJSRUZfSU5fRVBJTE9HPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0NIQVJSRUZfSU5fUFJPTE9HIj5YTUxfRVJSX0NIQVJSRUZfSU5fUFJPTE9HPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0NPTU1FTlRfTk9UX0ZJTklTSEVEIj5YTUxfRVJSX0NPTU1FTlRfTk9UX0ZJTklTSEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0NPTkRTRUNfSU5WQUxJRCI+WE1MX0VSUl9DT05EU0VDX0lOVkFMSUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfQ09ORFNFQ19JTlZBTElEX0tFWVdPUkQiPlhNTF9FUlJfQ09ORFNFQ19JTlZBTElEX0tFWVdPUkQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfQ09ORFNFQ19OT1RfRklOSVNIRUQiPlhNTF9FUlJfQ09ORFNFQ19OT1RfRklOSVNIRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfQ09ORFNFQ19OT1RfU1RBUlRFRCI+WE1MX0VSUl9DT05EU0VDX05PVF9TVEFSVEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0RPQ1RZUEVfTk9UX0ZJTklTSEVEIj5YTUxfRVJSX0RPQ1RZUEVfTk9UX0ZJTklTSEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0RPQ1VNRU5UX0VNUFRZIj5YTUxfRVJSX0RPQ1VNRU5UX0VNUFRZPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0RPQ1VNRU5UX0VORCI+WE1MX0VSUl9ET0NVTUVOVF9FTkQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfRE9DVU1FTlRfU1RBUlQiPlhNTF9FUlJfRE9DVU1FTlRfU1RBUlQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfRUxFTUNPTlRFTlRfTk9UX0ZJTklTSEVEIj5YTUxfRVJSX0VMRU1DT05URU5UX05PVF9GSU5JU0hFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9FTEVNQ09OVEVOVF9OT1RfU1RBUlRFRCI+WE1MX0VSUl9FTEVNQ09OVEVOVF9OT1RfU1RBUlRFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9FTkNPRElOR19OQU1FIj5YTUxfRVJSX0VOQ09ESU5HX05BTUU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfRU5USVRZUkVGX0FUX0VPRiI+WE1MX0VSUl9FTlRJVFlSRUZfQVRfRU9GPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0VOVElUWVJFRl9JTl9EVEQiPlhNTF9FUlJfRU5USVRZUkVGX0lOX0RURDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9FTlRJVFlSRUZfSU5fRVBJTE9HIj5YTUxfRVJSX0VOVElUWVJFRl9JTl9FUElMT0c8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfRU5USVRZUkVGX0lOX1BST0xPRyI+WE1MX0VSUl9FTlRJVFlSRUZfSU5fUFJPTE9HPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0VOVElUWVJFRl9OT19OQU1FIj5YTUxfRVJSX0VOVElUWVJFRl9OT19OQU1FPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0VOVElUWVJFRl9TRU1JQ09MX01JU1NJTkciPlhNTF9FUlJfRU5USVRZUkVGX1NFTUlDT0xfTUlTU0lORzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9FTlRJVFlfQk9VTkRBUlkiPlhNTF9FUlJfRU5USVRZX0JPVU5EQVJZPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0VOVElUWV9DSEFSX0VSUk9SIj5YTUxfRVJSX0VOVElUWV9DSEFSX0VSUk9SPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0VOVElUWV9JU19FWFRFUk5BTCI+WE1MX0VSUl9FTlRJVFlfSVNfRVhURVJOQUw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfRU5USVRZX0lTX1BBUkFNRVRFUiI+WE1MX0VSUl9FTlRJVFlfSVNfUEFSQU1FVEVSPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0VOVElUWV9MT09QIj5YTUxfRVJSX0VOVElUWV9MT09QPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0VOVElUWV9OT1RfRklOSVNIRUQiPlhNTF9FUlJfRU5USVRZX05PVF9GSU5JU0hFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9FTlRJVFlfTk9UX1NUQVJURUQiPlhNTF9FUlJfRU5USVRZX05PVF9TVEFSVEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0VOVElUWV9QRV9JTlRFUk5BTCI+WE1MX0VSUl9FTlRJVFlfUEVfSU5URVJOQUw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfRU5USVRZX1BST0NFU1NJTkciPlhNTF9FUlJfRU5USVRZX1BST0NFU1NJTkc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfRVFVQUxfUkVRVUlSRUQiPlhNTF9FUlJfRVFVQUxfUkVRVUlSRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfRVJST1IiPlhNTF9FUlJfRVJST1I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfRVhUUkFfQ09OVEVOVCI+WE1MX0VSUl9FWFRSQV9DT05URU5UPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0VYVF9FTlRJVFlfU1RBTkRBTE9ORSI+WE1MX0VSUl9FWFRfRU5USVRZX1NUQU5EQUxPTkU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfRVhUX1NVQlNFVF9OT1RfRklOSVNIRUQiPlhNTF9FUlJfRVhUX1NVQlNFVF9OT1RfRklOSVNIRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfRkFUQUwiPlhNTF9FUlJfRkFUQUw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfR1RfUkVRVUlSRUQiPlhNTF9FUlJfR1RfUkVRVUlSRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfSFlQSEVOX0lOX0NPTU1FTlQiPlhNTF9FUlJfSFlQSEVOX0lOX0NPTU1FTlQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfSU5URVJOQUxfRVJST1IiPlhNTF9FUlJfSU5URVJOQUxfRVJST1I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfSU5WQUxJRF9DSEFSIj5YTUxfRVJSX0lOVkFMSURfQ0hBUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9JTlZBTElEX0NIQVJSRUYiPlhNTF9FUlJfSU5WQUxJRF9DSEFSUkVGPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0lOVkFMSURfREVDX0NIQVJSRUYiPlhNTF9FUlJfSU5WQUxJRF9ERUNfQ0hBUlJFRjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9JTlZBTElEX0VOQ09ESU5HIj5YTUxfRVJSX0lOVkFMSURfRU5DT0RJTkc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfSU5WQUxJRF9IRVhfQ0hBUlJFRiI+WE1MX0VSUl9JTlZBTElEX0hFWF9DSEFSUkVGPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0lOVkFMSURfVVJJIj5YTUxfRVJSX0lOVkFMSURfVVJJPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0xJVEVSQUxfTk9UX0ZJTklTSEVEIj5YTUxfRVJSX0xJVEVSQUxfTk9UX0ZJTklTSEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0xJVEVSQUxfTk9UX1NUQVJURUQiPlhNTF9FUlJfTElURVJBTF9OT1RfU1RBUlRFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9MVFNMQVNIX1JFUVVJUkVEIj5YTUxfRVJSX0xUU0xBU0hfUkVRVUlSRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfTFRfSU5fQVRUUklCVVRFIj5YTUxfRVJSX0xUX0lOX0FUVFJJQlVURTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9MVF9SRVFVSVJFRCI+WE1MX0VSUl9MVF9SRVFVSVJFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9NSVNQTEFDRURfQ0RBVEFfRU5EIj5YTUxfRVJSX01JU1BMQUNFRF9DREFUQV9FTkQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfTUlTU0lOR19FTkNPRElORyI+WE1MX0VSUl9NSVNTSU5HX0VOQ09ESU5HPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX01JWEVEX05PVF9GSU5JU0hFRCI+WE1MX0VSUl9NSVhFRF9OT1RfRklOSVNIRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfTUlYRURfTk9UX1NUQVJURUQiPlhNTF9FUlJfTUlYRURfTk9UX1NUQVJURUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfTkFNRV9SRVFVSVJFRCI+WE1MX0VSUl9OQU1FX1JFUVVJUkVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX05BTUVfVE9PX0xPTkciPlhNTF9FUlJfTkFNRV9UT09fTE9ORzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9OTVRPS0VOX1JFUVVJUkVEIj5YTUxfRVJSX05NVE9LRU5fUkVRVUlSRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfTk9ORSI+WE1MX0VSUl9OT05FPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX05PVEFUSU9OX05PVF9GSU5JU0hFRCI+WE1MX0VSUl9OT1RBVElPTl9OT1RfRklOSVNIRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfTk9UQVRJT05fTk9UX1NUQVJURUQiPlhNTF9FUlJfTk9UQVRJT05fTk9UX1NUQVJURUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfTk9UQVRJT05fUFJPQ0VTU0lORyI+WE1MX0VSUl9OT1RBVElPTl9QUk9DRVNTSU5HPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX05PVF9TVEFOREFMT05FIj5YTUxfRVJSX05PVF9TVEFOREFMT05FPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX05PVF9XRUxMX0JBTEFOQ0VEIj5YTUxfRVJSX05PVF9XRUxMX0JBTEFOQ0VEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX05PX0RURCI+WE1MX0VSUl9OT19EVEQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfTk9fTUVNT1JZIj5YTUxfRVJSX05PX01FTU9SWTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9OU19ERUNMX0VSUk9SIj5YTUxfRVJSX05TX0RFQ0xfRVJST1I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfT0siPlhNTF9FUlJfT0s8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfUENEQVRBX1JFUVVJUkVEIj5YTUxfRVJSX1BDREFUQV9SRVFVSVJFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9QRVJFRl9BVF9FT0YiPlhNTF9FUlJfUEVSRUZfQVRfRU9GPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX1BFUkVGX0lOX0VQSUxPRyI+WE1MX0VSUl9QRVJFRl9JTl9FUElMT0c8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfUEVSRUZfSU5fSU5UX1NVQlNFVCI+WE1MX0VSUl9QRVJFRl9JTl9JTlRfU1VCU0VUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX1BFUkVGX0lOX1BST0xPRyI+WE1MX0VSUl9QRVJFRl9JTl9QUk9MT0c8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfUEVSRUZfTk9fTkFNRSI+WE1MX0VSUl9QRVJFRl9OT19OQU1FPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX1BFUkVGX1NFTUlDT0xfTUlTU0lORyI+WE1MX0VSUl9QRVJFRl9TRU1JQ09MX01JU1NJTkc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfUElfTk9UX0ZJTklTSEVEIj5YTUxfRVJSX1BJX05PVF9GSU5JU0hFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9QSV9OT1RfU1RBUlRFRCI+WE1MX0VSUl9QSV9OT1RfU1RBUlRFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9QVUJJRF9SRVFVSVJFRCI+WE1MX0VSUl9QVUJJRF9SRVFVSVJFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9SRVNFUlZFRF9YTUxfTkFNRSI+WE1MX0VSUl9SRVNFUlZFRF9YTUxfTkFNRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9TRVBBUkFUT1JfUkVRVUlSRUQiPlhNTF9FUlJfU0VQQVJBVE9SX1JFUVVJUkVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX1NQQUNFX1JFUVVJUkVEIj5YTUxfRVJSX1NQQUNFX1JFUVVJUkVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX1NUQU5EQUxPTkVfVkFMVUUiPlhNTF9FUlJfU1RBTkRBTE9ORV9WQUxVRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9TVFJJTkdfTk9UX0NMT1NFRCI+WE1MX0VSUl9TVFJJTkdfTk9UX0NMT1NFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9TVFJJTkdfTk9UX1NUQVJURUQiPlhNTF9FUlJfU1RSSU5HX05PVF9TVEFSVEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX1RBR19OQU1FX01JU01BVENIIj5YTUxfRVJSX1RBR19OQU1FX01JU01BVENIPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX1RBR19OT1RfRklOSVNIRUQiPlhNTF9FUlJfVEFHX05PVF9GSU5JU0hFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9VTkRFQ0xBUkVEX0VOVElUWSI+WE1MX0VSUl9VTkRFQ0xBUkVEX0VOVElUWTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9VTktOT1dOX0VOQ09ESU5HIj5YTUxfRVJSX1VOS05PV05fRU5DT0RJTkc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfVU5LTk9XTl9WRVJTSU9OIj5YTUxfRVJSX1VOS05PV05fVkVSU0lPTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9VTlBBUlNFRF9FTlRJVFkiPlhNTF9FUlJfVU5QQVJTRURfRU5USVRZPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX1VOU1VQUE9SVEVEX0VOQ09ESU5HIj5YTUxfRVJSX1VOU1VQUE9SVEVEX0VOQ09ESU5HPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX1VSSV9GUkFHTUVOVCI+WE1MX0VSUl9VUklfRlJBR01FTlQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfVVJJX1JFUVVJUkVEIj5YTUxfRVJSX1VSSV9SRVFVSVJFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9VU0VSX1NUT1AiPlhNTF9FUlJfVVNFUl9TVE9QPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX1ZBTFVFX1JFUVVJUkVEIj5YTUxfRVJSX1ZBTFVFX1JFUVVJUkVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX1ZFUlNJT05fTUlTTUFUQ0giPlhNTF9FUlJfVkVSU0lPTl9NSVNNQVRDSDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9WRVJTSU9OX01JU1NJTkciPlhNTF9FUlJfVkVSU0lPTl9NSVNTSU5HPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX1dBUk5JTkciPlhNTF9FUlJfV0FSTklORzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9YTUxERUNMX05PVF9GSU5JU0hFRCI+WE1MX0VSUl9YTUxERUNMX05PVF9GSU5JU0hFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9YTUxERUNMX05PVF9TVEFSVEVEIj5YTUxfRVJSX1hNTERFQ0xfTk9UX1NUQVJURUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9GUk9NX0JVRkZFUiI+WE1MX0ZST01fQlVGRkVSPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRlJPTV9DMTROIj5YTUxfRlJPTV9DMTROPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRlJPTV9DQVRBTE9HIj5YTUxfRlJPTV9DQVRBTE9HPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRlJPTV9DSEVDSyI+WE1MX0ZST01fQ0hFQ0s8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9GUk9NX0RBVEFUWVBFIj5YTUxfRlJPTV9EQVRBVFlQRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0ZST01fRFREIj5YTUxfRlJPTV9EVEQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9GUk9NX0ZUUCI+WE1MX0ZST01fRlRQPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRlJPTV9IVE1MIj5YTUxfRlJPTV9IVE1MPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRlJPTV9IVFRQIj5YTUxfRlJPTV9IVFRQPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRlJPTV9JMThOIj5YTUxfRlJPTV9JMThOPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRlJPTV9JTyI+WE1MX0ZST01fSU88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9GUk9NX01FTU9SWSI+WE1MX0ZST01fTUVNT1JZPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRlJPTV9NT0RVTEUiPlhNTF9GUk9NX01PRFVMRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0ZST01fTkFNRVNQQUNFIj5YTUxfRlJPTV9OQU1FU1BBQ0U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9GUk9NX05PTkUiPlhNTF9GUk9NX05PTkU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9GUk9NX09VVFBVVCI+WE1MX0ZST01fT1VUUFVUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRlJPTV9QQVJTRVIiPlhNTF9GUk9NX1BBUlNFUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0ZST01fUkVHRVhQIj5YTUxfRlJPTV9SRUdFWFA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9GUk9NX1JFTEFYTkdQIj5YTUxfRlJPTV9SRUxBWE5HUDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0ZST01fUkVMQVhOR1YiPlhNTF9GUk9NX1JFTEFYTkdWPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRlJPTV9TQ0hFTUFTUCI+WE1MX0ZST01fU0NIRU1BU1A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9GUk9NX1NDSEVNQVNWIj5YTUxfRlJPTV9TQ0hFTUFTVjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0ZST01fU0NIRU1BVFJPTlYiPlhNTF9GUk9NX1NDSEVNQVRST05WPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRlJPTV9UUkVFIj5YTUxfRlJPTV9UUkVFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRlJPTV9VUkkiPlhNTF9GUk9NX1VSSTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0ZST01fVkFMSUQiPlhNTF9GUk9NX1ZBTElEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRlJPTV9XUklURVIiPlhNTF9GUk9NX1dSSVRFUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0ZST01fWElOQ0xVREUiPlhNTF9GUk9NX1hJTkNMVURFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRlJPTV9YUEFUSCI+WE1MX0ZST01fWFBBVEg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9GUk9NX1hQT0lOVEVSIj5YTUxfRlJPTV9YUE9JTlRFUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0ZST01fWFNMVCI+WE1MX0ZST01fWFNMVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0ZUUF9BQ0NOVCI+WE1MX0ZUUF9BQ0NOVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0ZUUF9FUFNWX0FOU1dFUiI+WE1MX0ZUUF9FUFNWX0FOU1dFUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0ZUUF9QQVNWX0FOU1dFUiI+WE1MX0ZUUF9QQVNWX0FOU1dFUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0ZUUF9VUkxfU1lOVEFYIj5YTUxfRlRQX1VSTF9TWU5UQVg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9IVE1MX1NUUlVDVVJFX0VSUk9SIj5YTUxfSFRNTF9TVFJVQ1VSRV9FUlJPUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0hUTUxfVU5LTk9XTl9UQUciPlhNTF9IVE1MX1VOS05PV05fVEFHPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSFRUUF9VTktOT1dOX0hPU1QiPlhNTF9IVFRQX1VOS05PV05fSE9TVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0hUVFBfVVJMX1NZTlRBWCI+WE1MX0hUVFBfVVJMX1NZTlRBWDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0hUVFBfVVNFX0lQIj5YTUxfSFRUUF9VU0VfSVA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9JMThOX0NPTlZfRkFJTEVEIj5YTUxfSTE4Tl9DT05WX0ZBSUxFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0kxOE5fRVhDRVNTX0hBTkRMRVIiPlhNTF9JMThOX0VYQ0VTU19IQU5ETEVSPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSTE4Tl9OT19IQU5ETEVSIj5YTUxfSTE4Tl9OT19IQU5ETEVSPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSTE4Tl9OT19OQU1FIj5YTUxfSTE4Tl9OT19OQU1FPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSTE4Tl9OT19PVVRQVVQiPlhNTF9JMThOX05PX09VVFBVVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0lPX0JVRkZFUl9GVUxMIj5YTUxfSU9fQlVGRkVSX0ZVTEw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9JT19FQUNDRVMiPlhNTF9JT19FQUNDRVM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9JT19FQUREUklOVVNFIj5YTUxfSU9fRUFERFJJTlVTRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VBRk5PU1VQUE9SVCI+WE1MX0lPX0VBRk5PU1VQUE9SVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VBR0FJTiI+WE1MX0lPX0VBR0FJTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VBTFJFQURZIj5YTUxfSU9fRUFMUkVBRFk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9JT19FQkFERiI+WE1MX0lPX0VCQURGPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSU9fRUJBRE1TRyI+WE1MX0lPX0VCQURNU0c8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9JT19FQlVTWSI+WE1MX0lPX0VCVVNZPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSU9fRUNBTkNFTEVEIj5YTUxfSU9fRUNBTkNFTEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSU9fRUNISUxEIj5YTUxfSU9fRUNISUxEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSU9fRUNPTk5SRUZVU0VEIj5YTUxfSU9fRUNPTk5SRUZVU0VEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSU9fRURFQURMSyI+WE1MX0lPX0VERUFETEs8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9JT19FRE9NIj5YTUxfSU9fRURPTTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VFWElTVCI+WE1MX0lPX0VFWElTVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VGQVVMVCI+WE1MX0lPX0VGQVVMVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VGQklHIj5YTUxfSU9fRUZCSUc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9JT19FSU5QUk9HUkVTUyI+WE1MX0lPX0VJTlBST0dSRVNTPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSU9fRUlOVFIiPlhNTF9JT19FSU5UUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VJTlZBTCI+WE1MX0lPX0VJTlZBTDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VJTyI+WE1MX0lPX0VJTzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VJU0NPTk4iPlhNTF9JT19FSVNDT05OPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSU9fRUlTRElSIj5YTUxfSU9fRUlTRElSPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSU9fRU1GSUxFIj5YTUxfSU9fRU1GSUxFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSU9fRU1MSU5LIj5YTUxfSU9fRU1MSU5LPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSU9fRU1TR1NJWkUiPlhNTF9JT19FTVNHU0laRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VOQU1FVE9PTE9ORyI+WE1MX0lPX0VOQU1FVE9PTE9ORzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VOQ09ERVIiPlhNTF9JT19FTkNPREVSPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSU9fRU5FVFVOUkVBQ0giPlhNTF9JT19FTkVUVU5SRUFDSDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VORklMRSI+WE1MX0lPX0VORklMRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VOT0RFViI+WE1MX0lPX0VOT0RFVjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VOT0VOVCI+WE1MX0lPX0VOT0VOVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VOT0VYRUMiPlhNTF9JT19FTk9FWEVDPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSU9fRU5PTENLIj5YTUxfSU9fRU5PTENLPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSU9fRU5PTUVNIj5YTUxfSU9fRU5PTUVNPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSU9fRU5PU1BDIj5YTUxfSU9fRU5PU1BDPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSU9fRU5PU1lTIj5YTUxfSU9fRU5PU1lTPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSU9fRU5PVERJUiI+WE1MX0lPX0VOT1RESVI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9JT19FTk9URU1QVFkiPlhNTF9JT19FTk9URU1QVFk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9JT19FTk9UU09DSyI+WE1MX0lPX0VOT1RTT0NLPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSU9fRU5PVFNVUCI+WE1MX0lPX0VOT1RTVVA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9JT19FTk9UVFkiPlhNTF9JT19FTk9UVFk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9JT19FTlhJTyI+WE1MX0lPX0VOWElPPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSU9fRVBFUk0iPlhNTF9JT19FUEVSTTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VQSVBFIj5YTUxfSU9fRVBJUEU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9JT19FUkFOR0UiPlhNTF9JT19FUkFOR0U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9JT19FUk9GUyI+WE1MX0lPX0VST0ZTPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSU9fRVNQSVBFIj5YTUxfSU9fRVNQSVBFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSU9fRVNSQ0giPlhNTF9JT19FU1JDSDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VUSU1FRE9VVCI+WE1MX0lPX0VUSU1FRE9VVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VYREVWIj5YTUxfSU9fRVhERVY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9JT19GTFVTSCI+WE1MX0lPX0ZMVVNIPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSU9fTE9BRF9FUlJPUiI+WE1MX0lPX0xPQURfRVJST1I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9JT19ORVRXT1JLX0FUVEVNUFQiPlhNTF9JT19ORVRXT1JLX0FUVEVNUFQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9JT19OT19JTlBVVCI+WE1MX0lPX05PX0lOUFVUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSU9fVU5LTk9XTiI+WE1MX0lPX1VOS05PV048L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9JT19XUklURSI+WE1MX0lPX1dSSVRFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfTU9EVUxFX0NMT1NFIj5YTUxfTU9EVUxFX0NMT1NFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfTU9EVUxFX09QRU4iPlhNTF9NT0RVTEVfT1BFTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX05TX0VSUl9BVFRSSUJVVEVfUkVERUZJTkVEIj5YTUxfTlNfRVJSX0FUVFJJQlVURV9SRURFRklORUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9OU19FUlJfQ09MT04iPlhNTF9OU19FUlJfQ09MT048L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9OU19FUlJfRU1QVFkiPlhNTF9OU19FUlJfRU1QVFk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9OU19FUlJfUU5BTUUiPlhNTF9OU19FUlJfUU5BTUU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9OU19FUlJfVU5ERUZJTkVEX05BTUVTUEFDRSI+WE1MX05TX0VSUl9VTkRFRklORURfTkFNRVNQQUNFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfTlNfRVJSX1hNTF9OQU1FU1BBQ0UiPlhNTF9OU19FUlJfWE1MX05BTUVTUEFDRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JFR0VYUF9DT01QSUxFX0VSUk9SIj5YTUxfUkVHRVhQX0NPTVBJTEVfRVJST1I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX0FOWU5BTUVfQVRUUl9BTkNFU1RPUiI+WE1MX1JOR1BfQU5ZTkFNRV9BVFRSX0FOQ0VTVE9SPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9BVFRSSUJVVEVfQ0hJTERSRU4iPlhNTF9STkdQX0FUVFJJQlVURV9DSElMRFJFTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfQVRUUklCVVRFX0NPTlRFTlQiPlhNTF9STkdQX0FUVFJJQlVURV9DT05URU5UPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9BVFRSSUJVVEVfRU1QVFkiPlhNTF9STkdQX0FUVFJJQlVURV9FTVBUWTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfQVRUUklCVVRFX05PT1AiPlhNTF9STkdQX0FUVFJJQlVURV9OT09QPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9BVFRSX0NPTkZMSUNUIj5YTUxfUk5HUF9BVFRSX0NPTkZMSUNUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9DSE9JQ0VfQ09OVEVOVCI+WE1MX1JOR1BfQ0hPSUNFX0NPTlRFTlQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX0NIT0lDRV9FTVBUWSI+WE1MX1JOR1BfQ0hPSUNFX0VNUFRZPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9DUkVBVEVfRkFJTFVSRSI+WE1MX1JOR1BfQ1JFQVRFX0ZBSUxVUkU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX0RBVEFfQ09OVEVOVCI+WE1MX1JOR1BfREFUQV9DT05URU5UPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9ERUZJTkVfQ1JFQVRFX0ZBSUxFRCI+WE1MX1JOR1BfREVGSU5FX0NSRUFURV9GQUlMRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX0RFRklORV9FTVBUWSI+WE1MX1JOR1BfREVGSU5FX0VNUFRZPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9ERUZJTkVfTUlTU0lORyI+WE1MX1JOR1BfREVGSU5FX01JU1NJTkc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX0RFRklORV9OQU1FX01JU1NJTkciPlhNTF9STkdQX0RFRklORV9OQU1FX01JU1NJTkc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX0RFRl9DSE9JQ0VfQU5EX0lOVEVSTEVBVkUiPlhNTF9STkdQX0RFRl9DSE9JQ0VfQU5EX0lOVEVSTEVBVkU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX0VMRU1FTlRfQ09OVEVOVCI+WE1MX1JOR1BfRUxFTUVOVF9DT05URU5UPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9FTEVNRU5UX0VNUFRZIj5YTUxfUk5HUF9FTEVNRU5UX0VNUFRZPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9FTEVNRU5UX05BTUUiPlhNTF9STkdQX0VMRU1FTlRfTkFNRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfRUxFTUVOVF9OT19DT05URU5UIj5YTUxfUk5HUF9FTEVNRU5UX05PX0NPTlRFTlQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX0VMRU1fQ09OVEVOVF9FTVBUWSI+WE1MX1JOR1BfRUxFTV9DT05URU5UX0VNUFRZPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9FTEVNX0NPTlRFTlRfRVJST1IiPlhNTF9STkdQX0VMRU1fQ09OVEVOVF9FUlJPUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfRUxFTV9URVhUX0NPTkZMSUNUIj5YTUxfUk5HUF9FTEVNX1RFWFRfQ09ORkxJQ1Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX0VNUFRZIj5YTUxfUk5HUF9FTVBUWTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfRU1QVFlfQ09OU1RSVUNUIj5YTUxfUk5HUF9FTVBUWV9DT05TVFJVQ1Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX0VNUFRZX0NPTlRFTlQiPlhNTF9STkdQX0VNUFRZX0NPTlRFTlQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX0VNUFRZX05PVF9FTVBUWSI+WE1MX1JOR1BfRU1QVFlfTk9UX0VNUFRZPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9FUlJPUl9UWVBFX0xJQiI+WE1MX1JOR1BfRVJST1JfVFlQRV9MSUI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX0VYQ0VQVF9FTVBUWSI+WE1MX1JOR1BfRVhDRVBUX0VNUFRZPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9FWENFUFRfTUlTU0lORyI+WE1MX1JOR1BfRVhDRVBUX01JU1NJTkc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX0VYQ0VQVF9NVUxUSVBMRSI+WE1MX1JOR1BfRVhDRVBUX01VTFRJUExFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9FWENFUFRfTk9fQ09OVEVOVCI+WE1MX1JOR1BfRVhDRVBUX05PX0NPTlRFTlQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX0VYVEVSTkFMUkVGX0VNVFBZIj5YTUxfUk5HUF9FWFRFUk5BTFJFRl9FTVRQWTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfRVhURVJOQUxSRUZfUkVDVVJTRSI+WE1MX1JOR1BfRVhURVJOQUxSRUZfUkVDVVJTRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfRVhURVJOQUxfUkVGX0ZBSUxVUkUiPlhNTF9STkdQX0VYVEVSTkFMX1JFRl9GQUlMVVJFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9GT1JCSURERU5fQVRUUklCVVRFIj5YTUxfUk5HUF9GT1JCSURERU5fQVRUUklCVVRFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9GT1JFSUdOX0VMRU1FTlQiPlhNTF9STkdQX0ZPUkVJR05fRUxFTUVOVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfR1JBTU1BUl9DT05URU5UIj5YTUxfUk5HUF9HUkFNTUFSX0NPTlRFTlQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX0dSQU1NQVJfRU1QVFkiPlhNTF9STkdQX0dSQU1NQVJfRU1QVFk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX0dSQU1NQVJfTUlTU0lORyI+WE1MX1JOR1BfR1JBTU1BUl9NSVNTSU5HPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9HUkFNTUFSX05PX1NUQVJUIj5YTUxfUk5HUF9HUkFNTUFSX05PX1NUQVJUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9HUk9VUF9BVFRSX0NPTkZMSUNUIj5YTUxfUk5HUF9HUk9VUF9BVFRSX0NPTkZMSUNUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9IUkVGX0VSUk9SIj5YTUxfUk5HUF9IUkVGX0VSUk9SPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9JTkNMVURFX0VNUFRZIj5YTUxfUk5HUF9JTkNMVURFX0VNUFRZPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9JTkNMVURFX0ZBSUxVUkUiPlhNTF9STkdQX0lOQ0xVREVfRkFJTFVSRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfSU5DTFVERV9SRUNVUlNFIj5YTUxfUk5HUF9JTkNMVURFX1JFQ1VSU0U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX0lOVEVSTEVBVkVfQUREIj5YTUxfUk5HUF9JTlRFUkxFQVZFX0FERDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfSU5URVJMRUFWRV9DUkVBVEVfRkFJTEVEIj5YTUxfUk5HUF9JTlRFUkxFQVZFX0NSRUFURV9GQUlMRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX0lOVEVSTEVBVkVfRU1QVFkiPlhNTF9STkdQX0lOVEVSTEVBVkVfRU1QVFk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX0lOVEVSTEVBVkVfTk9fQ09OVEVOVCI+WE1MX1JOR1BfSU5URVJMRUFWRV9OT19DT05URU5UPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9JTlZBTElEX0RFRklORV9OQU1FIj5YTUxfUk5HUF9JTlZBTElEX0RFRklORV9OQU1FPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9JTlZBTElEX1VSSSI+WE1MX1JOR1BfSU5WQUxJRF9VUkk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX0lOVkFMSURfVkFMVUUiPlhNTF9STkdQX0lOVkFMSURfVkFMVUU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX01JU1NJTkdfSFJFRiI+WE1MX1JOR1BfTUlTU0lOR19IUkVGPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9OQU1FX01JU1NJTkciPlhNTF9STkdQX05BTUVfTUlTU0lORzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfTkVFRF9DT01CSU5FIj5YTUxfUk5HUF9ORUVEX0NPTUJJTkU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX05PVEFMTE9XRURfTk9UX0VNUFRZIj5YTUxfUk5HUF9OT1RBTExPV0VEX05PVF9FTVBUWTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfTlNOQU1FX0FUVFJfQU5DRVNUT1IiPlhNTF9STkdQX05TTkFNRV9BVFRSX0FOQ0VTVE9SPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9OU05BTUVfTk9fTlMiPlhNTF9STkdQX05TTkFNRV9OT19OUzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUEFSQU1fRk9SQklEREVOIj5YTUxfUk5HUF9QQVJBTV9GT1JCSURERU48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX1BBUkFNX05BTUVfTUlTU0lORyI+WE1MX1JOR1BfUEFSQU1fTkFNRV9NSVNTSU5HPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9QQVJFTlRSRUZfQ1JFQVRFX0ZBSUxFRCI+WE1MX1JOR1BfUEFSRU5UUkVGX0NSRUFURV9GQUlMRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX1BBUkVOVFJFRl9OQU1FX0lOVkFMSUQiPlhNTF9STkdQX1BBUkVOVFJFRl9OQU1FX0lOVkFMSUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX1BBUkVOVFJFRl9OT1RfRU1QVFkiPlhNTF9STkdQX1BBUkVOVFJFRl9OT1RfRU1QVFk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX1BBUkVOVFJFRl9OT19OQU1FIj5YTUxfUk5HUF9QQVJFTlRSRUZfTk9fTkFNRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUEFSRU5UUkVGX05PX1BBUkVOVCI+WE1MX1JOR1BfUEFSRU5UUkVGX05PX1BBUkVOVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUEFSU0VfRVJST1IiPlhNTF9STkdQX1BBUlNFX0VSUk9SPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9QQVRfQU5ZTkFNRV9FWENFUFRfQU5ZTkFNRSI+WE1MX1JOR1BfUEFUX0FOWU5BTUVfRVhDRVBUX0FOWU5BTUU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX1BBVF9BVFRSX0FUVFIiPlhNTF9STkdQX1BBVF9BVFRSX0FUVFI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX1BBVF9BVFRSX0VMRU0iPlhNTF9STkdQX1BBVF9BVFRSX0VMRU08L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX1BBVF9EQVRBX0VYQ0VQVF9BVFRSIj5YTUxfUk5HUF9QQVRfREFUQV9FWENFUFRfQVRUUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUEFUX0RBVEFfRVhDRVBUX0VMRU0iPlhNTF9STkdQX1BBVF9EQVRBX0VYQ0VQVF9FTEVNPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9QQVRfREFUQV9FWENFUFRfRU1QVFkiPlhNTF9STkdQX1BBVF9EQVRBX0VYQ0VQVF9FTVBUWTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUEFUX0RBVEFfRVhDRVBUX0dST1VQIj5YTUxfUk5HUF9QQVRfREFUQV9FWENFUFRfR1JPVVA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX1BBVF9EQVRBX0VYQ0VQVF9JTlRFUkxFQVZFIj5YTUxfUk5HUF9QQVRfREFUQV9FWENFUFRfSU5URVJMRUFWRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUEFUX0RBVEFfRVhDRVBUX0xJU1QiPlhNTF9STkdQX1BBVF9EQVRBX0VYQ0VQVF9MSVNUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9QQVRfREFUQV9FWENFUFRfT05FTU9SRSI+WE1MX1JOR1BfUEFUX0RBVEFfRVhDRVBUX09ORU1PUkU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX1BBVF9EQVRBX0VYQ0VQVF9SRUYiPlhNTF9STkdQX1BBVF9EQVRBX0VYQ0VQVF9SRUY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX1BBVF9EQVRBX0VYQ0VQVF9URVhUIj5YTUxfUk5HUF9QQVRfREFUQV9FWENFUFRfVEVYVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUEFUX0xJU1RfQVRUUiI+WE1MX1JOR1BfUEFUX0xJU1RfQVRUUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUEFUX0xJU1RfRUxFTSI+WE1MX1JOR1BfUEFUX0xJU1RfRUxFTTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUEFUX0xJU1RfSU5URVJMRUFWRSI+WE1MX1JOR1BfUEFUX0xJU1RfSU5URVJMRUFWRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUEFUX0xJU1RfTElTVCI+WE1MX1JOR1BfUEFUX0xJU1RfTElTVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUEFUX0xJU1RfUkVGIj5YTUxfUk5HUF9QQVRfTElTVF9SRUY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX1BBVF9MSVNUX1RFWFQiPlhNTF9STkdQX1BBVF9MSVNUX1RFWFQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX1BBVF9OU05BTUVfRVhDRVBUX0FOWU5BTUUiPlhNTF9STkdQX1BBVF9OU05BTUVfRVhDRVBUX0FOWU5BTUU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX1BBVF9OU05BTUVfRVhDRVBUX05TTkFNRSI+WE1MX1JOR1BfUEFUX05TTkFNRV9FWENFUFRfTlNOQU1FPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9QQVRfT05FTU9SRV9HUk9VUF9BVFRSIj5YTUxfUk5HUF9QQVRfT05FTU9SRV9HUk9VUF9BVFRSPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9QQVRfT05FTU9SRV9JTlRFUkxFQVZFX0FUVFIiPlhNTF9STkdQX1BBVF9PTkVNT1JFX0lOVEVSTEVBVkVfQVRUUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUEFUX1NUQVJUX0FUVFIiPlhNTF9STkdQX1BBVF9TVEFSVF9BVFRSPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9QQVRfU1RBUlRfREFUQSI+WE1MX1JOR1BfUEFUX1NUQVJUX0RBVEE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX1BBVF9TVEFSVF9FTVBUWSI+WE1MX1JOR1BfUEFUX1NUQVJUX0VNUFRZPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9QQVRfU1RBUlRfR1JPVVAiPlhNTF9STkdQX1BBVF9TVEFSVF9HUk9VUDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUEFUX1NUQVJUX0lOVEVSTEVBVkUiPlhNTF9STkdQX1BBVF9TVEFSVF9JTlRFUkxFQVZFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9QQVRfU1RBUlRfTElTVCI+WE1MX1JOR1BfUEFUX1NUQVJUX0xJU1Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX1BBVF9TVEFSVF9PTkVNT1JFIj5YTUxfUk5HUF9QQVRfU1RBUlRfT05FTU9SRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUEFUX1NUQVJUX1RFWFQiPlhNTF9STkdQX1BBVF9TVEFSVF9URVhUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9QQVRfU1RBUlRfVkFMVUUiPlhNTF9STkdQX1BBVF9TVEFSVF9WQUxVRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUFJFRklYX1VOREVGSU5FRCI+WE1MX1JOR1BfUFJFRklYX1VOREVGSU5FRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUkVGX0NSRUFURV9GQUlMRUQiPlhNTF9STkdQX1JFRl9DUkVBVEVfRkFJTEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9SRUZfQ1lDTEUiPlhNTF9STkdQX1JFRl9DWUNMRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUkVGX05BTUVfSU5WQUxJRCI+WE1MX1JOR1BfUkVGX05BTUVfSU5WQUxJRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUkVGX05PVF9FTVBUWSI+WE1MX1JOR1BfUkVGX05PVF9FTVBUWTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUkVGX05PX0RFRiI+WE1MX1JOR1BfUkVGX05PX0RFRjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUkVGX05PX05BTUUiPlhNTF9STkdQX1JFRl9OT19OQU1FPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9TVEFSVF9DSE9JQ0VfQU5EX0lOVEVSTEVBVkUiPlhNTF9STkdQX1NUQVJUX0NIT0lDRV9BTkRfSU5URVJMRUFWRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfU1RBUlRfQ09OVEVOVCI+WE1MX1JOR1BfU1RBUlRfQ09OVEVOVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfU1RBUlRfRU1QVFkiPlhNTF9STkdQX1NUQVJUX0VNUFRZPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9TVEFSVF9NSVNTSU5HIj5YTUxfUk5HUF9TVEFSVF9NSVNTSU5HPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9URVhUX0VYUEVDVEVEIj5YTUxfUk5HUF9URVhUX0VYUEVDVEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9URVhUX0hBU19DSElMRCI+WE1MX1JOR1BfVEVYVF9IQVNfQ0hJTEQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX1RZUEVfTUlTU0lORyI+WE1MX1JOR1BfVFlQRV9NSVNTSU5HPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9UWVBFX05PVF9GT1VORCI+WE1MX1JOR1BfVFlQRV9OT1RfRk9VTkQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX1RZUEVfVkFMVUUiPlhNTF9STkdQX1RZUEVfVkFMVUU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX1VOS05PV05fQVRUUklCVVRFIj5YTUxfUk5HUF9VTktOT1dOX0FUVFJJQlVURTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfVU5LTk9XTl9DT01CSU5FIj5YTUxfUk5HUF9VTktOT1dOX0NPTUJJTkU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX1VOS05PV05fQ09OU1RSVUNUIj5YTUxfUk5HUF9VTktOT1dOX0NPTlNUUlVDVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfVU5LTk9XTl9UWVBFX0xJQiI+WE1MX1JOR1BfVU5LTk9XTl9UWVBFX0xJQjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfVVJJX0ZSQUdNRU5UIj5YTUxfUk5HUF9VUklfRlJBR01FTlQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX1VSSV9OT1RfQUJTT0xVVEUiPlhNTF9STkdQX1VSSV9OT1RfQUJTT0xVVEU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX1ZBTFVFX0VNUFRZIj5YTUxfUk5HUF9WQUxVRV9FTVBUWTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfVkFMVUVfTk9fQ09OVEVOVCI+WE1MX1JOR1BfVkFMVUVfTk9fQ09OVEVOVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfWE1MTlNfTkFNRSI+WE1MX1JOR1BfWE1MTlNfTkFNRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfWE1MX05TIj5YTUxfUk5HUF9YTUxfTlM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQVZFX0NIQVJfSU5WQUxJRCI+WE1MX1NBVkVfQ0hBUl9JTlZBTElEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0FWRV9OT1RfVVRGOCI+WE1MX1NBVkVfTk9UX1VURjg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQVZFX05PX0RPQ1RZUEUiPlhNTF9TQVZFX05PX0RPQ1RZUEU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQVZFX1VOS05PV05fRU5DT0RJTkciPlhNTF9TQVZFX1VOS05PV05fRU5DT0RJTkc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0FHX1BST1BTX0NPUlJFQ1QiPlhNTF9TQ0hFTUFQX0FHX1BST1BTX0NPUlJFQ1Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0FUVFJGT1JNREVGQVVMVF9WQUxVRSI+WE1MX1NDSEVNQVBfQVRUUkZPUk1ERUZBVUxUX1ZBTFVFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9BVFRSR1JQX05PTkFNRV9OT1JFRiI+WE1MX1NDSEVNQVBfQVRUUkdSUF9OT05BTUVfTk9SRUY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0FUVFJfTk9OQU1FX05PUkVGIj5YTUxfU0NIRU1BUF9BVFRSX05PTkFNRV9OT1JFRjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfQVVfUFJPUFNfQ09SUkVDVCI+WE1MX1NDSEVNQVBfQVVfUFJPUFNfQ09SUkVDVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfQVVfUFJPUFNfQ09SUkVDVF8yIj5YTUxfU0NIRU1BUF9BVV9QUk9QU19DT1JSRUNUXzI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0FfUFJPUFNfQ09SUkVDVF8yIj5YTUxfU0NIRU1BUF9BX1BST1BTX0NPUlJFQ1RfMjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfQV9QUk9QU19DT1JSRUNUXzMiPlhNTF9TQ0hFTUFQX0FfUFJPUFNfQ09SUkVDVF8zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9DT01QTEVYVFlQRV9OT05BTUVfTk9SRUYiPlhNTF9TQ0hFTUFQX0NPTVBMRVhUWVBFX05PTkFNRV9OT1JFRjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfQ09TX0FMTF9MSU1JVEVEIj5YTUxfU0NIRU1BUF9DT1NfQUxMX0xJTUlURUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0NPU19DVF9FWFRFTkRTXzFfMSI+WE1MX1NDSEVNQVBfQ09TX0NUX0VYVEVORFNfMV8xPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9DT1NfQ1RfRVhURU5EU18xXzIiPlhNTF9TQ0hFTUFQX0NPU19DVF9FWFRFTkRTXzFfMjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfQ09TX0NUX0VYVEVORFNfMV8zIj5YTUxfU0NIRU1BUF9DT1NfQ1RfRVhURU5EU18xXzM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0NPU19TVF9ERVJJVkVEX09LXzJfMSI+WE1MX1NDSEVNQVBfQ09TX1NUX0RFUklWRURfT0tfMl8xPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9DT1NfU1RfREVSSVZFRF9PS18yXzIiPlhNTF9TQ0hFTUFQX0NPU19TVF9ERVJJVkVEX09LXzJfMjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18xXzEiPlhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMV8xPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzFfMiI+WE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18xXzI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMV8zXzEiPlhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMV8zXzE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMV8zXzIiPlhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMV8zXzI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMl8xIj5YTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzJfMTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzNfMV8xIj5YTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzJfM18xXzE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMl8zXzFfMiI+WE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzNfMV8yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzJfM18yXzEiPlhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMl8zXzJfMTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzNfMl8yIj5YTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzJfM18yXzI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMl8zXzJfMyI+WE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzNfMl8zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzJfM18yXzQiPlhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMl8zXzJfNDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzNfMl81Ij5YTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzJfM18yXzU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfM18xIj5YTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzNfMTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzNfMSI+WE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzNfMTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzNfMV8yIj5YTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzNfM18xXzI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfM18zXzJfMSI+WE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzNfMl8xPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzNfM18yXzIiPlhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfM18zXzJfMjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzNfMl8zIj5YTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzNfM18yXzM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfM18zXzJfNCI+WE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzNfMl80PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzNfM18yXzUiPlhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfM18zXzJfNTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfQ09TX1ZBTElEX0RFRkFVTFRfMSI+WE1MX1NDSEVNQVBfQ09TX1ZBTElEX0RFRkFVTFRfMTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfQ09TX1ZBTElEX0RFRkFVTFRfMl8xIj5YTUxfU0NIRU1BUF9DT1NfVkFMSURfREVGQVVMVF8yXzE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0NPU19WQUxJRF9ERUZBVUxUXzJfMl8xIj5YTUxfU0NIRU1BUF9DT1NfVkFMSURfREVGQVVMVF8yXzJfMTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfQ09TX1ZBTElEX0RFRkFVTFRfMl8yXzIiPlhNTF9TQ0hFTUFQX0NPU19WQUxJRF9ERUZBVUxUXzJfMl8yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9DVF9QUk9QU19DT1JSRUNUXzEiPlhNTF9TQ0hFTUFQX0NUX1BST1BTX0NPUlJFQ1RfMTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfQ1RfUFJPUFNfQ09SUkVDVF8yIj5YTUxfU0NIRU1BUF9DVF9QUk9QU19DT1JSRUNUXzI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0NUX1BST1BTX0NPUlJFQ1RfMyI+WE1MX1NDSEVNQVBfQ1RfUFJPUFNfQ09SUkVDVF8zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9DVF9QUk9QU19DT1JSRUNUXzQiPlhNTF9TQ0hFTUFQX0NUX1BST1BTX0NPUlJFQ1RfNDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfQ1RfUFJPUFNfQ09SUkVDVF81Ij5YTUxfU0NIRU1BUF9DVF9QUk9QU19DT1JSRUNUXzU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0NWQ19TSU1QTEVfVFlQRSI+WE1MX1NDSEVNQVBfQ1ZDX1NJTVBMRV9UWVBFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9DX1BST1BTX0NPUlJFQ1QiPlhNTF9TQ0hFTUFQX0NfUFJPUFNfQ09SUkVDVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfREVGX0FORF9QUkVGSVgiPlhNTF9TQ0hFTUFQX0RFRl9BTkRfUFJFRklYPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzEiPlhNTF9TQ0hFTUFQX0RFUklWQVRJT05fT0tfUkVTVFJJQ1RJT05fMTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfREVSSVZBVElPTl9PS19SRVNUUklDVElPTl8yXzFfMSI+WE1MX1NDSEVNQVBfREVSSVZBVElPTl9PS19SRVNUUklDVElPTl8yXzFfMTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfREVSSVZBVElPTl9PS19SRVNUUklDVElPTl8yXzFfMiI+WE1MX1NDSEVNQVBfREVSSVZBVElPTl9PS19SRVNUUklDVElPTl8yXzFfMjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfREVSSVZBVElPTl9PS19SRVNUUklDVElPTl8yXzFfMyI+WE1MX1NDSEVNQVBfREVSSVZBVElPTl9PS19SRVNUUklDVElPTl8yXzFfMzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfREVSSVZBVElPTl9PS19SRVNUUklDVElPTl8yXzIiPlhNTF9TQ0hFTUFQX0RFUklWQVRJT05fT0tfUkVTVFJJQ1RJT05fMl8yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzMiPlhNTF9TQ0hFTUFQX0RFUklWQVRJT05fT0tfUkVTVFJJQ1RJT05fMzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfREVSSVZBVElPTl9PS19SRVNUUklDVElPTl80XzEiPlhNTF9TQ0hFTUFQX0RFUklWQVRJT05fT0tfUkVTVFJJQ1RJT05fNF8xPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzRfMiI+WE1MX1NDSEVNQVBfREVSSVZBVElPTl9PS19SRVNUUklDVElPTl80XzI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0RFUklWQVRJT05fT0tfUkVTVFJJQ1RJT05fNF8zIj5YTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzRfMzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfRUxFTUZPUk1ERUZBVUxUX1ZBTFVFIj5YTUxfU0NIRU1BUF9FTEVNRk9STURFRkFVTFRfVkFMVUU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0VMRU1fREVGQVVMVF9GSVhFRCI+WE1MX1NDSEVNQVBfRUxFTV9ERUZBVUxUX0ZJWEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9FTEVNX05PTkFNRV9OT1JFRiI+WE1MX1NDSEVNQVBfRUxFTV9OT05BTUVfTk9SRUY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0VYVEVOU0lPTl9OT19CQVNFIj5YTUxfU0NIRU1BUF9FWFRFTlNJT05fTk9fQkFTRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfRV9QUk9QU19DT1JSRUNUXzIiPlhNTF9TQ0hFTUFQX0VfUFJPUFNfQ09SUkVDVF8yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9FX1BST1BTX0NPUlJFQ1RfMyI+WE1MX1NDSEVNQVBfRV9QUk9QU19DT1JSRUNUXzM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0VfUFJPUFNfQ09SUkVDVF80Ij5YTUxfU0NIRU1BUF9FX1BST1BTX0NPUlJFQ1RfNDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfRV9QUk9QU19DT1JSRUNUXzUiPlhNTF9TQ0hFTUFQX0VfUFJPUFNfQ09SUkVDVF81PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9FX1BST1BTX0NPUlJFQ1RfNiI+WE1MX1NDSEVNQVBfRV9QUk9QU19DT1JSRUNUXzY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0ZBQ0VUX05PX1ZBTFVFIj5YTUxfU0NIRU1BUF9GQUNFVF9OT19WQUxVRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfRkFJTEVEX0JVSUxEX0lNUE9SVCI+WE1MX1NDSEVNQVBfRkFJTEVEX0JVSUxEX0lNUE9SVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfRkFJTEVEX0xPQUQiPlhNTF9TQ0hFTUFQX0ZBSUxFRF9MT0FEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9GQUlMRURfUEFSU0UiPlhNTF9TQ0hFTUFQX0ZBSUxFRF9QQVJTRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfR1JPVVBfTk9OQU1FX05PUkVGIj5YTUxfU0NIRU1BUF9HUk9VUF9OT05BTUVfTk9SRUY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0lNUE9SVF9OQU1FU1BBQ0VfTk9UX1VSSSI+WE1MX1NDSEVNQVBfSU1QT1JUX05BTUVTUEFDRV9OT1RfVVJJPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9JTVBPUlRfUkVERUZJTkVfTlNOQU1FIj5YTUxfU0NIRU1BUF9JTVBPUlRfUkVERUZJTkVfTlNOQU1FPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9JTVBPUlRfU0NIRU1BX05PVF9VUkkiPlhNTF9TQ0hFTUFQX0lNUE9SVF9TQ0hFTUFfTk9UX1VSSTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfSU5DTFVERV9TQ0hFTUFfTk9UX1VSSSI+WE1MX1NDSEVNQVBfSU5DTFVERV9TQ0hFTUFfTk9UX1VSSTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfSU5DTFVERV9TQ0hFTUFfTk9fVVJJIj5YTUxfU0NIRU1BUF9JTkNMVURFX1NDSEVNQV9OT19VUkk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0lOVEVSTkFMIj5YTUxfU0NIRU1BUF9JTlRFUk5BTDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfSU5URVJTRUNUSU9OX05PVF9FWFBSRVNTSUJMRSI+WE1MX1NDSEVNQVBfSU5URVJTRUNUSU9OX05PVF9FWFBSRVNTSUJMRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfSU5WQUxJRF9BVFRSX0NPTUJJTkFUSU9OIj5YTUxfU0NIRU1BUF9JTlZBTElEX0FUVFJfQ09NQklOQVRJT048L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0lOVkFMSURfQVRUUl9JTkxJTkVfQ09NQklOQVRJT04iPlhNTF9TQ0hFTUFQX0lOVkFMSURfQVRUUl9JTkxJTkVfQ09NQklOQVRJT048L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0lOVkFMSURfQVRUUl9OQU1FIj5YTUxfU0NIRU1BUF9JTlZBTElEX0FUVFJfTkFNRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfSU5WQUxJRF9BVFRSX1VTRSI+WE1MX1NDSEVNQVBfSU5WQUxJRF9BVFRSX1VTRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfSU5WQUxJRF9CT09MRUFOIj5YTUxfU0NIRU1BUF9JTlZBTElEX0JPT0xFQU48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0lOVkFMSURfRU5VTSI+WE1MX1NDSEVNQVBfSU5WQUxJRF9FTlVNPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9JTlZBTElEX0ZBQ0VUIj5YTUxfU0NIRU1BUF9JTlZBTElEX0ZBQ0VUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9JTlZBTElEX0ZBQ0VUX1ZBTFVFIj5YTUxfU0NIRU1BUF9JTlZBTElEX0ZBQ0VUX1ZBTFVFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9JTlZBTElEX01BWE9DQ1VSUyI+WE1MX1NDSEVNQVBfSU5WQUxJRF9NQVhPQ0NVUlM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0lOVkFMSURfTUlOT0NDVVJTIj5YTUxfU0NIRU1BUF9JTlZBTElEX01JTk9DQ1VSUzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfSU5WQUxJRF9SRUZfQU5EX1NVQlRZUEUiPlhNTF9TQ0hFTUFQX0lOVkFMSURfUkVGX0FORF9TVUJUWVBFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9JTlZBTElEX1dISVRFX1NQQUNFIj5YTUxfU0NIRU1BUF9JTlZBTElEX1dISVRFX1NQQUNFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9NR19QUk9QU19DT1JSRUNUXzEiPlhNTF9TQ0hFTUFQX01HX1BST1BTX0NPUlJFQ1RfMTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfTUdfUFJPUFNfQ09SUkVDVF8yIj5YTUxfU0NIRU1BUF9NR19QUk9QU19DT1JSRUNUXzI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX01JU1NJTkdfU0lNUExFVFlQRV9DSElMRCI+WE1MX1NDSEVNQVBfTUlTU0lOR19TSU1QTEVUWVBFX0NISUxEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9OT0FUVFJfTk9SRUYiPlhNTF9TQ0hFTUFQX05PQVRUUl9OT1JFRjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfTk9ST09UIj5YTUxfU0NIRU1BUF9OT1JPT1Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX05PVEFUSU9OX05PX05BTUUiPlhNTF9TQ0hFTUFQX05PVEFUSU9OX05PX05BTUU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX05PVEhJTkdfVE9fUEFSU0UiPlhNTF9TQ0hFTUFQX05PVEhJTkdfVE9fUEFSU0U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX05PVFlQRV9OT1JFRiI+WE1MX1NDSEVNQVBfTk9UWVBFX05PUkVGPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9OT1RfREVURVJNSU5JU1RJQyI+WE1MX1NDSEVNQVBfTk9UX0RFVEVSTUlOSVNUSUM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX05PVF9TQ0hFTUEiPlhNTF9TQ0hFTUFQX05PVF9TQ0hFTUE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX05PX1hNTE5TIj5YTUxfU0NIRU1BUF9OT19YTUxOUzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfTk9fWFNJIj5YTUxfU0NIRU1BUF9OT19YU0k8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1BSRUZJWF9VTkRFRklORUQiPlhNTF9TQ0hFTUFQX1BSRUZJWF9VTkRFRklORUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1BfUFJPUFNfQ09SUkVDVF8xIj5YTUxfU0NIRU1BUF9QX1BST1BTX0NPUlJFQ1RfMTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfUF9QUk9QU19DT1JSRUNUXzJfMSI+WE1MX1NDSEVNQVBfUF9QUk9QU19DT1JSRUNUXzJfMTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfUF9QUk9QU19DT1JSRUNUXzJfMiI+WE1MX1NDSEVNQVBfUF9QUk9QU19DT1JSRUNUXzJfMjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfUkVDVVJTSVZFIj5YTUxfU0NIRU1BUF9SRUNVUlNJVkU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1JFREVGSU5FRF9BVFRSIj5YTUxfU0NIRU1BUF9SRURFRklORURfQVRUUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfUkVERUZJTkVEX0FUVFJHUk9VUCI+WE1MX1NDSEVNQVBfUkVERUZJTkVEX0FUVFJHUk9VUDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfUkVERUZJTkVEX0VMRU1FTlQiPlhNTF9TQ0hFTUFQX1JFREVGSU5FRF9FTEVNRU5UPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9SRURFRklORURfR1JPVVAiPlhNTF9TQ0hFTUFQX1JFREVGSU5FRF9HUk9VUDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfUkVERUZJTkVEX05PVEFUSU9OIj5YTUxfU0NIRU1BUF9SRURFRklORURfTk9UQVRJT048L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1JFREVGSU5FRF9UWVBFIj5YTUxfU0NIRU1BUF9SRURFRklORURfVFlQRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfUkVGX0FORF9DT05URU5UIj5YTUxfU0NIRU1BUF9SRUZfQU5EX0NPTlRFTlQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1JFRl9BTkRfU1VCVFlQRSI+WE1MX1NDSEVNQVBfUkVGX0FORF9TVUJUWVBFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9SRUdFWFBfSU5WQUxJRCI+WE1MX1NDSEVNQVBfUkVHRVhQX0lOVkFMSUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1JFU1RSSUNUSU9OX05PTkFNRV9OT1JFRiI+WE1MX1NDSEVNQVBfUkVTVFJJQ1RJT05fTk9OQU1FX05PUkVGPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9TNFNfQVRUUl9JTlZBTElEX1ZBTFVFIj5YTUxfU0NIRU1BUF9TNFNfQVRUUl9JTlZBTElEX1ZBTFVFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9TNFNfQVRUUl9NSVNTSU5HIj5YTUxfU0NIRU1BUF9TNFNfQVRUUl9NSVNTSU5HPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9TNFNfQVRUUl9OT1RfQUxMT1dFRCI+WE1MX1NDSEVNQVBfUzRTX0FUVFJfTk9UX0FMTE9XRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1M0U19FTEVNX01JU1NJTkciPlhNTF9TQ0hFTUFQX1M0U19FTEVNX01JU1NJTkc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1M0U19FTEVNX05PVF9BTExPV0VEIj5YTUxfU0NIRU1BUF9TNFNfRUxFTV9OT1RfQUxMT1dFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfU0lNUExFVFlQRV9OT05BTUUiPlhNTF9TQ0hFTUFQX1NJTVBMRVRZUEVfTk9OQU1FPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9TUkNfQVRUUklCVVRFXzEiPlhNTF9TQ0hFTUFQX1NSQ19BVFRSSUJVVEVfMTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfU1JDX0FUVFJJQlVURV8yIj5YTUxfU0NIRU1BUF9TUkNfQVRUUklCVVRFXzI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1NSQ19BVFRSSUJVVEVfM18xIj5YTUxfU0NIRU1BUF9TUkNfQVRUUklCVVRFXzNfMTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfU1JDX0FUVFJJQlVURV8zXzIiPlhNTF9TQ0hFTUFQX1NSQ19BVFRSSUJVVEVfM18yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9TUkNfQVRUUklCVVRFXzQiPlhNTF9TQ0hFTUFQX1NSQ19BVFRSSUJVVEVfNDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfU1JDX0FUVFJJQlVURV9HUk9VUF8xIj5YTUxfU0NIRU1BUF9TUkNfQVRUUklCVVRFX0dST1VQXzE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1NSQ19BVFRSSUJVVEVfR1JPVVBfMiI+WE1MX1NDSEVNQVBfU1JDX0FUVFJJQlVURV9HUk9VUF8yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9TUkNfQVRUUklCVVRFX0dST1VQXzMiPlhNTF9TQ0hFTUFQX1NSQ19BVFRSSUJVVEVfR1JPVVBfMzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfU1JDX0NUXzEiPlhNTF9TQ0hFTUFQX1NSQ19DVF8xPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9TUkNfRUxFTUVOVF8xIj5YTUxfU0NIRU1BUF9TUkNfRUxFTUVOVF8xPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9TUkNfRUxFTUVOVF8yXzEiPlhNTF9TQ0hFTUFQX1NSQ19FTEVNRU5UXzJfMTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfU1JDX0VMRU1FTlRfMl8yIj5YTUxfU0NIRU1BUF9TUkNfRUxFTUVOVF8yXzI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1NSQ19FTEVNRU5UXzMiPlhNTF9TQ0hFTUFQX1NSQ19FTEVNRU5UXzM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1NSQ19JTVBPUlQiPlhNTF9TQ0hFTUFQX1NSQ19JTVBPUlQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1NSQ19JTVBPUlRfMV8xIj5YTUxfU0NIRU1BUF9TUkNfSU1QT1JUXzFfMTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfU1JDX0lNUE9SVF8xXzIiPlhNTF9TQ0hFTUFQX1NSQ19JTVBPUlRfMV8yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9TUkNfSU1QT1JUXzIiPlhNTF9TQ0hFTUFQX1NSQ19JTVBPUlRfMjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfU1JDX0lNUE9SVF8yXzEiPlhNTF9TQ0hFTUFQX1NSQ19JTVBPUlRfMl8xPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9TUkNfSU1QT1JUXzJfMiI+WE1MX1NDSEVNQVBfU1JDX0lNUE9SVF8yXzI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1NSQ19JTVBPUlRfM18xIj5YTUxfU0NIRU1BUF9TUkNfSU1QT1JUXzNfMTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfU1JDX0lNUE9SVF8zXzIiPlhNTF9TQ0hFTUFQX1NSQ19JTVBPUlRfM18yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9TUkNfSU5DTFVERSI+WE1MX1NDSEVNQVBfU1JDX0lOQ0xVREU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1NSQ19MSVNUX0lURU1UWVBFX09SX1NJTVBMRVRZUEUiPlhNTF9TQ0hFTUFQX1NSQ19MSVNUX0lURU1UWVBFX09SX1NJTVBMRVRZUEU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1NSQ19SRURFRklORSI+WE1MX1NDSEVNQVBfU1JDX1JFREVGSU5FPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9TUkNfUkVTT0xWRSI+WE1MX1NDSEVNQVBfU1JDX1JFU09MVkU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1NSQ19SRVNUUklDVElPTl9CQVNFX09SX1NJTVBMRVRZUEUiPlhNTF9TQ0hFTUFQX1NSQ19SRVNUUklDVElPTl9CQVNFX09SX1NJTVBMRVRZUEU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1NSQ19TSU1QTEVfVFlQRV8xIj5YTUxfU0NIRU1BUF9TUkNfU0lNUExFX1RZUEVfMTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfU1JDX1NJTVBMRV9UWVBFXzIiPlhNTF9TQ0hFTUFQX1NSQ19TSU1QTEVfVFlQRV8yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9TUkNfU0lNUExFX1RZUEVfMyI+WE1MX1NDSEVNQVBfU1JDX1NJTVBMRV9UWVBFXzM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1NSQ19TSU1QTEVfVFlQRV80Ij5YTUxfU0NIRU1BUF9TUkNfU0lNUExFX1RZUEVfNDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfU1JDX1VOSU9OX01FTUJFUlRZUEVTX09SX1NJTVBMRVRZUEVTIj5YTUxfU0NIRU1BUF9TUkNfVU5JT05fTUVNQkVSVFlQRVNfT1JfU0lNUExFVFlQRVM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1NUX1BST1BTX0NPUlJFQ1RfMSI+WE1MX1NDSEVNQVBfU1RfUFJPUFNfQ09SUkVDVF8xPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9TVF9QUk9QU19DT1JSRUNUXzIiPlhNTF9TQ0hFTUFQX1NUX1BST1BTX0NPUlJFQ1RfMjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfU1RfUFJPUFNfQ09SUkVDVF8zIj5YTUxfU0NIRU1BUF9TVF9QUk9QU19DT1JSRUNUXzM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1NVUEVSTlVNRVJPVVNfTElTVF9JVEVNX1RZUEUiPlhNTF9TQ0hFTUFQX1NVUEVSTlVNRVJPVVNfTElTVF9JVEVNX1RZUEU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1RZUEVfQU5EX1NVQlRZUEUiPlhNTF9TQ0hFTUFQX1RZUEVfQU5EX1NVQlRZUEU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1VOSU9OX05PVF9FWFBSRVNTSUJMRSI+WE1MX1NDSEVNQVBfVU5JT05fTk9UX0VYUFJFU1NJQkxFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9VTktOT1dOX0FMTF9DSElMRCI+WE1MX1NDSEVNQVBfVU5LTk9XTl9BTExfQ0hJTEQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1VOS05PV05fQU5ZQVRUUklCVVRFX0NISUxEIj5YTUxfU0NIRU1BUF9VTktOT1dOX0FOWUFUVFJJQlVURV9DSElMRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfVU5LTk9XTl9BVFRSR1JQX0NISUxEIj5YTUxfU0NIRU1BUF9VTktOT1dOX0FUVFJHUlBfQ0hJTEQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1VOS05PV05fQVRUUklCVVRFX0dST1VQIj5YTUxfU0NIRU1BUF9VTktOT1dOX0FUVFJJQlVURV9HUk9VUDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfVU5LTk9XTl9BVFRSX0NISUxEIj5YTUxfU0NIRU1BUF9VTktOT1dOX0FUVFJfQ0hJTEQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1VOS05PV05fQkFTRV9UWVBFIj5YTUxfU0NIRU1BUF9VTktOT1dOX0JBU0VfVFlQRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfVU5LTk9XTl9DSE9JQ0VfQ0hJTEQiPlhNTF9TQ0hFTUFQX1VOS05PV05fQ0hPSUNFX0NISUxEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9VTktOT1dOX0NPTVBMRVhDT05URU5UX0NISUxEIj5YTUxfU0NIRU1BUF9VTktOT1dOX0NPTVBMRVhDT05URU5UX0NISUxEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9VTktOT1dOX0NPTVBMRVhUWVBFX0NISUxEIj5YTUxfU0NIRU1BUF9VTktOT1dOX0NPTVBMRVhUWVBFX0NISUxEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9VTktOT1dOX0VMRU1fQ0hJTEQiPlhNTF9TQ0hFTUFQX1VOS05PV05fRUxFTV9DSElMRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfVU5LTk9XTl9FWFRFTlNJT05fQ0hJTEQiPlhNTF9TQ0hFTUFQX1VOS05PV05fRVhURU5TSU9OX0NISUxEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9VTktOT1dOX0ZBQ0VUX0NISUxEIj5YTUxfU0NIRU1BUF9VTktOT1dOX0ZBQ0VUX0NISUxEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9VTktOT1dOX0ZBQ0VUX1RZUEUiPlhNTF9TQ0hFTUFQX1VOS05PV05fRkFDRVRfVFlQRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfVU5LTk9XTl9HUk9VUF9DSElMRCI+WE1MX1NDSEVNQVBfVU5LTk9XTl9HUk9VUF9DSElMRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfVU5LTk9XTl9JTVBPUlRfQ0hJTEQiPlhNTF9TQ0hFTUFQX1VOS05PV05fSU1QT1JUX0NISUxEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9VTktOT1dOX0lOQ0xVREVfQ0hJTEQiPlhNTF9TQ0hFTUFQX1VOS05PV05fSU5DTFVERV9DSElMRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfVU5LTk9XTl9MSVNUX0NISUxEIj5YTUxfU0NIRU1BUF9VTktOT1dOX0xJU1RfQ0hJTEQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1VOS05PV05fTUVNQkVSX1RZUEUiPlhNTF9TQ0hFTUFQX1VOS05PV05fTUVNQkVSX1RZUEU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1VOS05PV05fTk9UQVRJT05fQ0hJTEQiPlhNTF9TQ0hFTUFQX1VOS05PV05fTk9UQVRJT05fQ0hJTEQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1VOS05PV05fUFJFRklYIj5YTUxfU0NIRU1BUF9VTktOT1dOX1BSRUZJWDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfVU5LTk9XTl9QUk9DRVNTQ09OVEVOVF9DSElMRCI+WE1MX1NDSEVNQVBfVU5LTk9XTl9QUk9DRVNTQ09OVEVOVF9DSElMRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfVU5LTk9XTl9SRUYiPlhNTF9TQ0hFTUFQX1VOS05PV05fUkVGPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9VTktOT1dOX1JFU1RSSUNUSU9OX0NISUxEIj5YTUxfU0NIRU1BUF9VTktOT1dOX1JFU1RSSUNUSU9OX0NISUxEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9VTktOT1dOX1NDSEVNQVNfQ0hJTEQiPlhNTF9TQ0hFTUFQX1VOS05PV05fU0NIRU1BU19DSElMRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfVU5LTk9XTl9TRVFVRU5DRV9DSElMRCI+WE1MX1NDSEVNQVBfVU5LTk9XTl9TRVFVRU5DRV9DSElMRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfVU5LTk9XTl9TSU1QTEVDT05URU5UX0NISUxEIj5YTUxfU0NIRU1BUF9VTktOT1dOX1NJTVBMRUNPTlRFTlRfQ0hJTEQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1VOS05PV05fU0lNUExFVFlQRV9DSElMRCI+WE1MX1NDSEVNQVBfVU5LTk9XTl9TSU1QTEVUWVBFX0NISUxEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9VTktOT1dOX1RZUEUiPlhNTF9TQ0hFTUFQX1VOS05PV05fVFlQRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfVU5LTk9XTl9VTklPTl9DSElMRCI+WE1MX1NDSEVNQVBfVU5LTk9XTl9VTklPTl9DSElMRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfV0FSTl9BVFRSX1BPSU5UTEVTU19QUk9IIj5YTUxfU0NIRU1BUF9XQVJOX0FUVFJfUE9JTlRMRVNTX1BST0g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1dBUk5fQVRUUl9SRURFQ0xfUFJPSCI+WE1MX1NDSEVNQVBfV0FSTl9BVFRSX1JFREVDTF9QUk9IPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9XQVJOX1NLSVBfU0NIRU1BIj5YTUxfU0NIRU1BUF9XQVJOX1NLSVBfU0NIRU1BPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9XQVJOX1VOTE9DQVRFRF9TQ0hFTUEiPlhNTF9TQ0hFTUFQX1dBUk5fVU5MT0NBVEVEX1NDSEVNQTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfV0lMRENBUkRfSU5WQUxJRF9OU19NRU1CRVIiPlhNTF9TQ0hFTUFQX1dJTERDQVJEX0lOVkFMSURfTlNfTUVNQkVSPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVFJPTlZfQVNTRVJUIj5YTUxfU0NIRU1BVFJPTlZfQVNTRVJUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVFJPTlZfUkVQT1JUIj5YTUxfU0NIRU1BVFJPTlZfUkVQT1JUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9BVFRSSU5WQUxJRCI+WE1MX1NDSEVNQVZfQVRUUklOVkFMSUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0FUVFJVTktOT1dOIj5YTUxfU0NIRU1BVl9BVFRSVU5LTk9XTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ09OU1RSVUNUIj5YTUxfU0NIRU1BVl9DT05TVFJVQ1Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19BVFRSSUJVVEVfMSI+WE1MX1NDSEVNQVZfQ1ZDX0FUVFJJQlVURV8xPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9DVkNfQVRUUklCVVRFXzIiPlhNTF9TQ0hFTUFWX0NWQ19BVFRSSUJVVEVfMjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX0FUVFJJQlVURV8zIj5YTUxfU0NIRU1BVl9DVkNfQVRUUklCVVRFXzM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19BVFRSSUJVVEVfNCI+WE1MX1NDSEVNQVZfQ1ZDX0FUVFJJQlVURV80PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9DVkNfQVUiPlhNTF9TQ0hFTUFWX0NWQ19BVTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV8xIj5YTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfMl8xIj5YTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzJfMTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV8yXzIiPlhNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfMl8yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzJfMyI+WE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV8yXzM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfMl80Ij5YTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzJfNDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV8zXzEiPlhNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfM18xPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzNfMl8xIj5YTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzNfMl8xPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzNfMl8yIj5YTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzNfMl8yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzQiPlhNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfNDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV81XzEiPlhNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfNV8xPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzVfMiI+WE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV81XzI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19EQVRBVFlQRV9WQUxJRF8xXzJfMSI+WE1MX1NDSEVNQVZfQ1ZDX0RBVEFUWVBFX1ZBTElEXzFfMl8xPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9DVkNfREFUQVRZUEVfVkFMSURfMV8yXzIiPlhNTF9TQ0hFTUFWX0NWQ19EQVRBVFlQRV9WQUxJRF8xXzJfMjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX0RBVEFUWVBFX1ZBTElEXzFfMl8zIj5YTUxfU0NIRU1BVl9DVkNfREFUQVRZUEVfVkFMSURfMV8yXzM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19FTFRfMSI+WE1MX1NDSEVNQVZfQ1ZDX0VMVF8xPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9DVkNfRUxUXzIiPlhNTF9TQ0hFTUFWX0NWQ19FTFRfMjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX0VMVF8zXzEiPlhNTF9TQ0hFTUFWX0NWQ19FTFRfM18xPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9DVkNfRUxUXzNfMl8xIj5YTUxfU0NIRU1BVl9DVkNfRUxUXzNfMl8xPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9DVkNfRUxUXzNfMl8yIj5YTUxfU0NIRU1BVl9DVkNfRUxUXzNfMl8yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9DVkNfRUxUXzRfMSI+WE1MX1NDSEVNQVZfQ1ZDX0VMVF80XzE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19FTFRfNF8yIj5YTUxfU0NIRU1BVl9DVkNfRUxUXzRfMjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX0VMVF80XzMiPlhNTF9TQ0hFTUFWX0NWQ19FTFRfNF8zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9DVkNfRUxUXzVfMV8xIj5YTUxfU0NIRU1BVl9DVkNfRUxUXzVfMV8xPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9DVkNfRUxUXzVfMV8yIj5YTUxfU0NIRU1BVl9DVkNfRUxUXzVfMV8yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9DVkNfRUxUXzVfMl8xIj5YTUxfU0NIRU1BVl9DVkNfRUxUXzVfMl8xPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9DVkNfRUxUXzVfMl8yXzEiPlhNTF9TQ0hFTUFWX0NWQ19FTFRfNV8yXzJfMTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX0VMVF81XzJfMl8yXzEiPlhNTF9TQ0hFTUFWX0NWQ19FTFRfNV8yXzJfMl8xPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9DVkNfRUxUXzVfMl8yXzJfMiI+WE1MX1NDSEVNQVZfQ1ZDX0VMVF81XzJfMl8yXzI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19FTFRfNiI+WE1MX1NDSEVNQVZfQ1ZDX0VMVF82PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9DVkNfRUxUXzciPlhNTF9TQ0hFTUFWX0NWQ19FTFRfNzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX0VOVU1FUkFUSU9OX1ZBTElEIj5YTUxfU0NIRU1BVl9DVkNfRU5VTUVSQVRJT05fVkFMSUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19GQUNFVF9WQUxJRCI+WE1MX1NDSEVNQVZfQ1ZDX0ZBQ0VUX1ZBTElEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9DVkNfRlJBQ1RJT05ESUdJVFNfVkFMSUQiPlhNTF9TQ0hFTUFWX0NWQ19GUkFDVElPTkRJR0lUU19WQUxJRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX0lEQyI+WE1MX1NDSEVNQVZfQ1ZDX0lEQzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX0xFTkdUSF9WQUxJRCI+WE1MX1NDSEVNQVZfQ1ZDX0xFTkdUSF9WQUxJRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX01BWEVYQ0xVU0lWRV9WQUxJRCI+WE1MX1NDSEVNQVZfQ1ZDX01BWEVYQ0xVU0lWRV9WQUxJRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX01BWElOQ0xVU0lWRV9WQUxJRCI+WE1MX1NDSEVNQVZfQ1ZDX01BWElOQ0xVU0lWRV9WQUxJRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX01BWExFTkdUSF9WQUxJRCI+WE1MX1NDSEVNQVZfQ1ZDX01BWExFTkdUSF9WQUxJRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX01JTkVYQ0xVU0lWRV9WQUxJRCI+WE1MX1NDSEVNQVZfQ1ZDX01JTkVYQ0xVU0lWRV9WQUxJRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX01JTklOQ0xVU0lWRV9WQUxJRCI+WE1MX1NDSEVNQVZfQ1ZDX01JTklOQ0xVU0lWRV9WQUxJRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX01JTkxFTkdUSF9WQUxJRCI+WE1MX1NDSEVNQVZfQ1ZDX01JTkxFTkdUSF9WQUxJRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX1BBVFRFUk5fVkFMSUQiPlhNTF9TQ0hFTUFWX0NWQ19QQVRURVJOX1ZBTElEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9DVkNfVE9UQUxESUdJVFNfVkFMSUQiPlhNTF9TQ0hFTUFWX0NWQ19UT1RBTERJR0lUU19WQUxJRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX1RZUEVfMSI+WE1MX1NDSEVNQVZfQ1ZDX1RZUEVfMTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX1RZUEVfMiI+WE1MX1NDSEVNQVZfQ1ZDX1RZUEVfMjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX1RZUEVfM18xXzEiPlhNTF9TQ0hFTUFWX0NWQ19UWVBFXzNfMV8xPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9DVkNfVFlQRV8zXzFfMiI+WE1MX1NDSEVNQVZfQ1ZDX1RZUEVfM18xXzI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19XSUxEQ0FSRCI+WE1MX1NDSEVNQVZfQ1ZDX1dJTERDQVJEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9ET0NVTUVOVF9FTEVNRU5UX01JU1NJTkciPlhNTF9TQ0hFTUFWX0RPQ1VNRU5UX0VMRU1FTlRfTUlTU0lORzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfRUxFTUNPTlQiPlhNTF9TQ0hFTUFWX0VMRU1DT05UPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9FTEVNRU5UX0NPTlRFTlQiPlhNTF9TQ0hFTUFWX0VMRU1FTlRfQ09OVEVOVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfRVhUUkFDT05URU5UIj5YTUxfU0NIRU1BVl9FWFRSQUNPTlRFTlQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0ZBQ0VUIj5YTUxfU0NIRU1BVl9GQUNFVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfSEFWRURFRkFVTFQiPlhNTF9TQ0hFTUFWX0hBVkVERUZBVUxUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9JTlRFUk5BTCI+WE1MX1NDSEVNQVZfSU5URVJOQUw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0lOVkFMSURBVFRSIj5YTUxfU0NIRU1BVl9JTlZBTElEQVRUUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfSU5WQUxJREVMRU0iPlhNTF9TQ0hFTUFWX0lOVkFMSURFTEVNPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9JU0FCU1RSQUNUIj5YTUxfU0NIRU1BVl9JU0FCU1RSQUNUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9NSVNDIj5YTUxfU0NIRU1BVl9NSVNDPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9NSVNTSU5HIj5YTUxfU0NIRU1BVl9NSVNTSU5HPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9OT1JPTExCQUNLIj5YTUxfU0NIRU1BVl9OT1JPTExCQUNLPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9OT1JPT1QiPlhNTF9TQ0hFTUFWX05PUk9PVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfTk9UREVURVJNSU5JU1QiPlhNTF9TQ0hFTUFWX05PVERFVEVSTUlOSVNUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9OT1RFTVBUWSI+WE1MX1NDSEVNQVZfTk9URU1QVFk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX05PVE5JTExBQkxFIj5YTUxfU0NIRU1BVl9OT1ROSUxMQUJMRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfTk9UU0lNUExFIj5YTUxfU0NIRU1BVl9OT1RTSU1QTEU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX05PVFRPUExFVkVMIj5YTUxfU0NIRU1BVl9OT1RUT1BMRVZFTDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfTk9UWVBFIj5YTUxfU0NIRU1BVl9OT1RZUEU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX1VOREVDTEFSRURFTEVNIj5YTUxfU0NIRU1BVl9VTkRFQ0xBUkVERUxFTTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfVkFMVUUiPlhNTF9TQ0hFTUFWX1ZBTFVFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9XUk9OR0VMRU0iPlhNTF9TQ0hFTUFWX1dST05HRUxFTTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1RSRUVfSU5WQUxJRF9ERUMiPlhNTF9UUkVFX0lOVkFMSURfREVDPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfVFJFRV9JTlZBTElEX0hFWCI+WE1MX1RSRUVfSU5WQUxJRF9IRVg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9UUkVFX05PVF9VVEY4Ij5YTUxfVFJFRV9OT1RfVVRGODwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1RSRUVfVU5URVJNSU5BVEVEX0VOVElUWSI+WE1MX1RSRUVfVU5URVJNSU5BVEVEX0VOVElUWTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1dBUl9DQVRBTE9HX1BJIj5YTUxfV0FSX0NBVEFMT0dfUEk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9XQVJfRU5USVRZX1JFREVGSU5FRCI+WE1MX1dBUl9FTlRJVFlfUkVERUZJTkVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfV0FSX0xBTkdfVkFMVUUiPlhNTF9XQVJfTEFOR19WQUxVRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1dBUl9OU19DT0xVTU4iPlhNTF9XQVJfTlNfQ09MVU1OPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfV0FSX05TX1VSSSI+WE1MX1dBUl9OU19VUkk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9XQVJfTlNfVVJJX1JFTEFUSVZFIj5YTUxfV0FSX05TX1VSSV9SRUxBVElWRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1dBUl9TUEFDRV9WQUxVRSI+WE1MX1dBUl9TUEFDRV9WQUxVRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1dBUl9VTkRFQ0xBUkVEX0VOVElUWSI+WE1MX1dBUl9VTkRFQ0xBUkVEX0VOVElUWTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1dBUl9VTktOT1dOX1ZFUlNJT04iPlhNTF9XQVJfVU5LTk9XTl9WRVJTSU9OPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfWElOQ0xVREVfQlVJTERfRkFJTEVEIj5YTUxfWElOQ0xVREVfQlVJTERfRkFJTEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfWElOQ0xVREVfREVQUkVDQVRFRF9OUyI+WE1MX1hJTkNMVURFX0RFUFJFQ0FURURfTlM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9YSU5DTFVERV9FTlRJVFlfREVGX01JU01BVENIIj5YTUxfWElOQ0xVREVfRU5USVRZX0RFRl9NSVNNQVRDSDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1hJTkNMVURFX0ZBTExCQUNLU19JTl9JTkNMVURFIj5YTUxfWElOQ0xVREVfRkFMTEJBQ0tTX0lOX0lOQ0xVREU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9YSU5DTFVERV9GQUxMQkFDS19OT1RfSU5fSU5DTFVERSI+WE1MX1hJTkNMVURFX0ZBTExCQUNLX05PVF9JTl9JTkNMVURFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfWElOQ0xVREVfRlJBR01FTlRfSUQiPlhNTF9YSU5DTFVERV9GUkFHTUVOVF9JRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1hJTkNMVURFX0hSRUZfVVJJIj5YTUxfWElOQ0xVREVfSFJFRl9VUkk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9YSU5DTFVERV9JTkNMVURFX0lOX0lOQ0xVREUiPlhNTF9YSU5DTFVERV9JTkNMVURFX0lOX0lOQ0xVREU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9YSU5DTFVERV9JTlZBTElEX0NIQVIiPlhNTF9YSU5DTFVERV9JTlZBTElEX0NIQVI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9YSU5DTFVERV9NVUxUSVBMRV9ST09UIj5YTUxfWElOQ0xVREVfTVVMVElQTEVfUk9PVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1hJTkNMVURFX05PX0ZBTExCQUNLIj5YTUxfWElOQ0xVREVfTk9fRkFMTEJBQ0s8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9YSU5DTFVERV9OT19IUkVGIj5YTUxfWElOQ0xVREVfTk9fSFJFRjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1hJTkNMVURFX1BBUlNFX1ZBTFVFIj5YTUxfWElOQ0xVREVfUEFSU0VfVkFMVUU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9YSU5DTFVERV9SRUNVUlNJT04iPlhNTF9YSU5DTFVERV9SRUNVUlNJT048L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9YSU5DTFVERV9URVhUX0RPQ1VNRU5UIj5YTUxfWElOQ0xVREVfVEVYVF9ET0NVTUVOVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1hJTkNMVURFX1RFWFRfRlJBR01FTlQiPlhNTF9YSU5DTFVERV9URVhUX0ZSQUdNRU5UPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfWElOQ0xVREVfVU5LTk9XTl9FTkNPRElORyI+WE1MX1hJTkNMVURFX1VOS05PV05fRU5DT0RJTkc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9YSU5DTFVERV9YUFRSX0ZBSUxFRCI+WE1MX1hJTkNMVURFX1hQVFJfRkFJTEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfWElOQ0xVREVfWFBUUl9SRVNVTFQiPlhNTF9YSU5DTFVERV9YUFRSX1JFU1VMVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1hQQVRIX0VOQ09ESU5HX0VSUk9SIj5YTUxfWFBBVEhfRU5DT0RJTkdfRVJST1I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9YUEFUSF9FWFBSRVNTSU9OX09LIj5YTUxfWFBBVEhfRVhQUkVTU0lPTl9PSzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1hQQVRIX0VYUFJfRVJST1IiPlhNTF9YUEFUSF9FWFBSX0VSUk9SPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfWFBBVEhfSU5WQUxJRF9BUklUWSI+WE1MX1hQQVRIX0lOVkFMSURfQVJJVFk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9YUEFUSF9JTlZBTElEX0NIQVJfRVJST1IiPlhNTF9YUEFUSF9JTlZBTElEX0NIQVJfRVJST1I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9YUEFUSF9JTlZBTElEX0NUWFRfUE9TSVRJT04iPlhNTF9YUEFUSF9JTlZBTElEX0NUWFRfUE9TSVRJT048L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9YUEFUSF9JTlZBTElEX0NUWFRfU0laRSI+WE1MX1hQQVRIX0lOVkFMSURfQ1RYVF9TSVpFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfWFBBVEhfSU5WQUxJRF9PUEVSQU5EIj5YTUxfWFBBVEhfSU5WQUxJRF9PUEVSQU5EPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfWFBBVEhfSU5WQUxJRF9QUkVESUNBVEVfRVJST1IiPlhNTF9YUEFUSF9JTlZBTElEX1BSRURJQ0FURV9FUlJPUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1hQQVRIX0lOVkFMSURfVFlQRSI+WE1MX1hQQVRIX0lOVkFMSURfVFlQRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1hQQVRIX01FTU9SWV9FUlJPUiI+WE1MX1hQQVRIX01FTU9SWV9FUlJPUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1hQQVRIX05VTUJFUl9FUlJPUiI+WE1MX1hQQVRIX05VTUJFUl9FUlJPUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1hQQVRIX1NUQVJUX0xJVEVSQUxfRVJST1IiPlhNTF9YUEFUSF9TVEFSVF9MSVRFUkFMX0VSUk9SPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfWFBBVEhfVU5DTE9TRURfRVJST1IiPlhNTF9YUEFUSF9VTkNMT1NFRF9FUlJPUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1hQQVRIX1VOREVGX1BSRUZJWF9FUlJPUiI+WE1MX1hQQVRIX1VOREVGX1BSRUZJWF9FUlJPUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1hQQVRIX1VOREVGX1ZBUklBQkxFX0VSUk9SIj5YTUxfWFBBVEhfVU5ERUZfVkFSSUFCTEVfRVJST1I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9YUEFUSF9VTkZJTklTSEVEX0xJVEVSQUxfRVJST1IiPlhNTF9YUEFUSF9VTkZJTklTSEVEX0xJVEVSQUxfRVJST1I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9YUEFUSF9VTktOT1dOX0ZVTkNfRVJST1IiPlhNTF9YUEFUSF9VTktOT1dOX0ZVTkNfRVJST1I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9YUEFUSF9WQVJJQUJMRV9SRUZfRVJST1IiPlhNTF9YUEFUSF9WQVJJQUJMRV9SRUZfRVJST1I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9YUFRSX0NISUxEU0VRX1NUQVJUIj5YTUxfWFBUUl9DSElMRFNFUV9TVEFSVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1hQVFJfRVZBTF9GQUlMRUQiPlhNTF9YUFRSX0VWQUxfRkFJTEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfWFBUUl9FWFRSQV9PQkpFQ1RTIj5YTUxfWFBUUl9FWFRSQV9PQkpFQ1RTPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfWFBUUl9SRVNPVVJDRV9FUlJPUiI+WE1MX1hQVFJfUkVTT1VSQ0VfRVJST1I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9YUFRSX1NVQl9SRVNPVVJDRV9FUlJPUiI+WE1MX1hQVFJfU1VCX1JFU09VUkNFX0VSUk9SPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfWFBUUl9TWU5UQVhfRVJST1IiPlhNTF9YUFRSX1NZTlRBWF9FUlJPUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1hQVFJfVU5LTk9XTl9TQ0hFTUUiPlhNTF9YUFRSX1VOS05PV05fU0NIRU1FPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNfeG1sRXJyb3IiPl94bWxFcnJvcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjaW5pdEdlbmVyaWNFcnJvckRlZmF1bHRGdW5jIj5pbml0R2VuZXJpY0Vycm9yRGVmYXVsdEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI3htbENvcHlFcnJvciI+eG1sQ29weUVycm9yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxDdHh0R2V0TGFzdEVycm9yIj54bWxDdHh0R2V0TGFzdEVycm9yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxDdHh0UmVzZXRMYXN0RXJyb3IiPnhtbEN0eHRSZXNldExhc3RFcnJvcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sRXJyb3IiPnhtbEVycm9yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxFcnJvckRvbWFpbiI+eG1sRXJyb3JEb21haW48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI3htbEVycm9yTGV2ZWwiPnhtbEVycm9yTGV2ZWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI3htbEVycm9yUHRyIj54bWxFcnJvclB0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sR2VuZXJpY0Vycm9yRnVuYyI+eG1sR2VuZXJpY0Vycm9yRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sR2V0TGFzdEVycm9yIj54bWxHZXRMYXN0RXJyb3I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI3htbFBhcnNlckVycm9yIj54bWxQYXJzZXJFcnJvcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sUGFyc2VyRXJyb3JzIj54bWxQYXJzZXJFcnJvcnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI3htbFBhcnNlclByaW50RmlsZUNvbnRleHQiPnhtbFBhcnNlclByaW50RmlsZUNvbnRleHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI3htbFBhcnNlclByaW50RmlsZUluZm8iPnhtbFBhcnNlclByaW50RmlsZUluZm88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI3htbFBhcnNlclZhbGlkaXR5RXJyb3IiPnhtbFBhcnNlclZhbGlkaXR5RXJyb3I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI3htbFBhcnNlclZhbGlkaXR5V2FybmluZyI+eG1sUGFyc2VyVmFsaWRpdHlXYXJuaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxQYXJzZXJXYXJuaW5nIj54bWxQYXJzZXJXYXJuaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxSZXNldEVycm9yIj54bWxSZXNldEVycm9yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxSZXNldExhc3RFcnJvciI+eG1sUmVzZXRMYXN0RXJyb3I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI3htbFNldEdlbmVyaWNFcnJvckZ1bmMiPnhtbFNldEdlbmVyaWNFcnJvckZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI3htbFNldFN0cnVjdHVyZWRFcnJvckZ1bmMiPnhtbFNldFN0cnVjdHVyZWRFcnJvckZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI3htbFN0cnVjdHVyZWRFcnJvckZ1bmMiPnhtbFN0cnVjdHVyZWRFcnJvckZ1bmM8L2E+PGJyIC8+Cis8L3A+PGgyPjxhIG5hbWU9InhtbGV4cG9ydHMiIGlkPSJ4bWxleHBvcnRzIj5Nb2R1bGUgeG1sZXhwb3J0czwvYT46PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxleHBvcnRzLmh0bWwjTElCWE1MX0RMTF9JTVBPUlQiPkxJQlhNTF9ETExfSU1QT1JUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXhwb3J0cy5odG1sI1hNTENBTEwiPlhNTENBTEw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxleHBvcnRzLmh0bWwjWE1MQ0RFQ0wiPlhNTENERUNMPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXhwb3J0cy5odG1sI1hNTFBVQkZVTiI+WE1MUFVCRlVOPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXhwb3J0cy5odG1sI1hNTFBVQlZBUiI+WE1MUFVCVkFSPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXhwb3J0cy5odG1sI19SRUVOVFJBTlQiPl9SRUVOVFJBTlQ8L2E+PGJyIC8+Cis8L3A+PGgyPjxhIG5hbWU9InhtbG1lbW9yeSIgaWQ9InhtbG1lbW9yeSI+TW9kdWxlIHhtbG1lbW9yeTwvYT46PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCNERUJVR19NRU1PUlkiPkRFQlVHX01FTU9SWTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbENsZWFudXBNZW1vcnkiPnhtbENsZWFudXBNZW1vcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxGcmVlRnVuYyI+eG1sRnJlZUZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxHY01lbUdldCI+eG1sR2NNZW1HZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxHY01lbVNldHVwIj54bWxHY01lbVNldHVwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sSW5pdE1lbW9yeSI+eG1sSW5pdE1lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxNYWxsb2MiPnhtbE1hbGxvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxNYWxsb2NBdG9taWMiPnhtbE1hbGxvY0F0b21pYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1hbGxvY0F0b21pY0xvYyI+eG1sTWFsbG9jQXRvbWljTG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWFsbG9jRnVuYyI+eG1sTWFsbG9jRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1hbGxvY0xvYyI+eG1sTWFsbG9jTG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWVtQmxvY2tzIj54bWxNZW1CbG9ja3M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNZW1EaXNwbGF5Ij54bWxNZW1EaXNwbGF5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWVtRGlzcGxheUxhc3QiPnhtbE1lbURpc3BsYXlMYXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWVtRnJlZSI+eG1sTWVtRnJlZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1lbUdldCI+eG1sTWVtR2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWVtTWFsbG9jIj54bWxNZW1NYWxsb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNZW1SZWFsbG9jIj54bWxNZW1SZWFsbG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWVtU2V0dXAiPnhtbE1lbVNldHVwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWVtU2hvdyI+eG1sTWVtU2hvdzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxNZW1TdHJkdXAiPnhtbE1lbVN0cmR1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1lbVN0cmR1cExvYyI+eG1sTWVtU3RyZHVwTG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWVtVXNlZCI+eG1sTWVtVXNlZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1lbW9yeUR1bXAiPnhtbE1lbW9yeUR1bXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNZW1vcnlTdHJkdXAiPnhtbE1lbW9yeVN0cmR1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxSZWFsbG9jIj54bWxSZWFsbG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sUmVhbGxvY0Z1bmMiPnhtbFJlYWxsb2NGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sUmVhbGxvY0xvYyI+eG1sUmVhbGxvY0xvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbFN0cmR1cEZ1bmMiPnhtbFN0cmR1cEZ1bmM8L2E+PGJyIC8+Cis8L3A+PGgyPjxhIG5hbWU9InhtbG1vZHVsZSIgaWQ9InhtbG1vZHVsZSI+TW9kdWxlIHhtbG1vZHVsZTwvYT46PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxtb2R1bGUuaHRtbCNYTUxfTU9EVUxFX0xBWlkiPlhNTF9NT0RVTEVfTEFaWTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1vZHVsZS5odG1sI1hNTF9NT0RVTEVfTE9DQUwiPlhNTF9NT0RVTEVfTE9DQUw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtb2R1bGUuaHRtbCN4bWxNb2R1bGUiPnhtbE1vZHVsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1vZHVsZS5odG1sI3htbE1vZHVsZUNsb3NlIj54bWxNb2R1bGVDbG9zZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1vZHVsZS5odG1sI3htbE1vZHVsZUZyZWUiPnhtbE1vZHVsZUZyZWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtb2R1bGUuaHRtbCN4bWxNb2R1bGVPcGVuIj54bWxNb2R1bGVPcGVuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbW9kdWxlLmh0bWwjeG1sTW9kdWxlT3B0aW9uIj54bWxNb2R1bGVPcHRpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtb2R1bGUuaHRtbCN4bWxNb2R1bGVQdHIiPnhtbE1vZHVsZVB0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1vZHVsZS5odG1sI3htbE1vZHVsZVN5bWJvbCI+eG1sTW9kdWxlU3ltYm9sPC9hPjxiciAvPgorPC9wPjxoMj48YSBuYW1lPSJ4bWxyZWFkZXIiIGlkPSJ4bWxyZWFkZXIiPk1vZHVsZSB4bWxyZWFkZXI8L2E+OjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjWE1MX1BBUlNFUl9ERUZBVUxUQVRUUlMiPlhNTF9QQVJTRVJfREVGQVVMVEFUVFJTPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjWE1MX1BBUlNFUl9MT0FERFREIj5YTUxfUEFSU0VSX0xPQUREVEQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCNYTUxfUEFSU0VSX1NFVkVSSVRZX0VSUk9SIj5YTUxfUEFSU0VSX1NFVkVSSVRZX0VSUk9SPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjWE1MX1BBUlNFUl9TRVZFUklUWV9WQUxJRElUWV9FUlJPUiI+WE1MX1BBUlNFUl9TRVZFUklUWV9WQUxJRElUWV9FUlJPUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI1hNTF9QQVJTRVJfU0VWRVJJVFlfVkFMSURJVFlfV0FSTklORyI+WE1MX1BBUlNFUl9TRVZFUklUWV9WQUxJRElUWV9XQVJOSU5HPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjWE1MX1BBUlNFUl9TRVZFUklUWV9XQVJOSU5HIj5YTUxfUEFSU0VSX1NFVkVSSVRZX1dBUk5JTkc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCNYTUxfUEFSU0VSX1NVQlNUX0VOVElUSUVTIj5YTUxfUEFSU0VSX1NVQlNUX0VOVElUSUVTPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjWE1MX1BBUlNFUl9WQUxJREFURSI+WE1MX1BBUlNFUl9WQUxJREFURTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI1hNTF9SRUFERVJfVFlQRV9BVFRSSUJVVEUiPlhNTF9SRUFERVJfVFlQRV9BVFRSSUJVVEU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCNYTUxfUkVBREVSX1RZUEVfQ0RBVEEiPlhNTF9SRUFERVJfVFlQRV9DREFUQTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI1hNTF9SRUFERVJfVFlQRV9DT01NRU5UIj5YTUxfUkVBREVSX1RZUEVfQ09NTUVOVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI1hNTF9SRUFERVJfVFlQRV9ET0NVTUVOVCI+WE1MX1JFQURFUl9UWVBFX0RPQ1VNRU5UPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjWE1MX1JFQURFUl9UWVBFX0RPQ1VNRU5UX0ZSQUdNRU5UIj5YTUxfUkVBREVSX1RZUEVfRE9DVU1FTlRfRlJBR01FTlQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCNYTUxfUkVBREVSX1RZUEVfRE9DVU1FTlRfVFlQRSI+WE1MX1JFQURFUl9UWVBFX0RPQ1VNRU5UX1RZUEU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCNYTUxfUkVBREVSX1RZUEVfRUxFTUVOVCI+WE1MX1JFQURFUl9UWVBFX0VMRU1FTlQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCNYTUxfUkVBREVSX1RZUEVfRU5EX0VMRU1FTlQiPlhNTF9SRUFERVJfVFlQRV9FTkRfRUxFTUVOVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI1hNTF9SRUFERVJfVFlQRV9FTkRfRU5USVRZIj5YTUxfUkVBREVSX1RZUEVfRU5EX0VOVElUWTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI1hNTF9SRUFERVJfVFlQRV9FTlRJVFkiPlhNTF9SRUFERVJfVFlQRV9FTlRJVFk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCNYTUxfUkVBREVSX1RZUEVfRU5USVRZX1JFRkVSRU5DRSI+WE1MX1JFQURFUl9UWVBFX0VOVElUWV9SRUZFUkVOQ0U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCNYTUxfUkVBREVSX1RZUEVfTk9ORSI+WE1MX1JFQURFUl9UWVBFX05PTkU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCNYTUxfUkVBREVSX1RZUEVfTk9UQVRJT04iPlhNTF9SRUFERVJfVFlQRV9OT1RBVElPTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI1hNTF9SRUFERVJfVFlQRV9QUk9DRVNTSU5HX0lOU1RSVUNUSU9OIj5YTUxfUkVBREVSX1RZUEVfUFJPQ0VTU0lOR19JTlNUUlVDVElPTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI1hNTF9SRUFERVJfVFlQRV9TSUdOSUZJQ0FOVF9XSElURVNQQUNFIj5YTUxfUkVBREVSX1RZUEVfU0lHTklGSUNBTlRfV0hJVEVTUEFDRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI1hNTF9SRUFERVJfVFlQRV9URVhUIj5YTUxfUkVBREVSX1RZUEVfVEVYVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI1hNTF9SRUFERVJfVFlQRV9XSElURVNQQUNFIj5YTUxfUkVBREVSX1RZUEVfV0hJVEVTUEFDRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI1hNTF9SRUFERVJfVFlQRV9YTUxfREVDTEFSQVRJT04iPlhNTF9SRUFERVJfVFlQRV9YTUxfREVDTEFSQVRJT048L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCNYTUxfVEVYVFJFQURFUl9NT0RFX0NMT1NFRCI+WE1MX1RFWFRSRUFERVJfTU9ERV9DTE9TRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCNYTUxfVEVYVFJFQURFUl9NT0RFX0VPRiI+WE1MX1RFWFRSRUFERVJfTU9ERV9FT0Y8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCNYTUxfVEVYVFJFQURFUl9NT0RFX0VSUk9SIj5YTUxfVEVYVFJFQURFUl9NT0RFX0VSUk9SPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjWE1MX1RFWFRSRUFERVJfTU9ERV9JTklUSUFMIj5YTUxfVEVYVFJFQURFUl9NT0RFX0lOSVRJQUw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCNYTUxfVEVYVFJFQURFUl9NT0RFX0lOVEVSQUNUSVZFIj5YTUxfVEVYVFJFQURFUl9NT0RFX0lOVEVSQUNUSVZFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjWE1MX1RFWFRSRUFERVJfTU9ERV9SRUFESU5HIj5YTUxfVEVYVFJFQURFUl9NT0RFX1JFQURJTkc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxGcmVlVGV4dFJlYWRlciI+eG1sRnJlZVRleHRSZWFkZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxOZXdUZXh0UmVhZGVyIj54bWxOZXdUZXh0UmVhZGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sTmV3VGV4dFJlYWRlckZpbGVuYW1lIj54bWxOZXdUZXh0UmVhZGVyRmlsZW5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxQYXJzZXJQcm9wZXJ0aWVzIj54bWxQYXJzZXJQcm9wZXJ0aWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sUGFyc2VyU2V2ZXJpdGllcyI+eG1sUGFyc2VyU2V2ZXJpdGllczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFJlYWRlckZvckRvYyI+eG1sUmVhZGVyRm9yRG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sUmVhZGVyRm9yRmQiPnhtbFJlYWRlckZvckZkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sUmVhZGVyRm9yRmlsZSI+eG1sUmVhZGVyRm9yRmlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFJlYWRlckZvcklPIj54bWxSZWFkZXJGb3JJTzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFJlYWRlckZvck1lbW9yeSI+eG1sUmVhZGVyRm9yTWVtb3J5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sUmVhZGVyTmV3RG9jIj54bWxSZWFkZXJOZXdEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxSZWFkZXJOZXdGZCI+eG1sUmVhZGVyTmV3RmQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxSZWFkZXJOZXdGaWxlIj54bWxSZWFkZXJOZXdGaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sUmVhZGVyTmV3SU8iPnhtbFJlYWRlck5ld0lPPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sUmVhZGVyTmV3TWVtb3J5Ij54bWxSZWFkZXJOZXdNZW1vcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxSZWFkZXJOZXdXYWxrZXIiPnhtbFJlYWRlck5ld1dhbGtlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFJlYWRlclR5cGVzIj54bWxSZWFkZXJUeXBlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFJlYWRlcldhbGtlciI+eG1sUmVhZGVyV2Fsa2VyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlciI+eG1sVGV4dFJlYWRlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJBdHRyaWJ1dGVDb3VudCI+eG1sVGV4dFJlYWRlckF0dHJpYnV0ZUNvdW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckJhc2VVcmkiPnhtbFRleHRSZWFkZXJCYXNlVXJpPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckJ5dGVDb25zdW1lZCI+eG1sVGV4dFJlYWRlckJ5dGVDb25zdW1lZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJDbG9zZSI+eG1sVGV4dFJlYWRlckNsb3NlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckNvbnN0QmFzZVVyaSI+eG1sVGV4dFJlYWRlckNvbnN0QmFzZVVyaTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJDb25zdEVuY29kaW5nIj54bWxUZXh0UmVhZGVyQ29uc3RFbmNvZGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJDb25zdExvY2FsTmFtZSI+eG1sVGV4dFJlYWRlckNvbnN0TG9jYWxOYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckNvbnN0TmFtZSI+eG1sVGV4dFJlYWRlckNvbnN0TmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJDb25zdE5hbWVzcGFjZVVyaSI+eG1sVGV4dFJlYWRlckNvbnN0TmFtZXNwYWNlVXJpPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckNvbnN0UHJlZml4Ij54bWxUZXh0UmVhZGVyQ29uc3RQcmVmaXg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyQ29uc3RTdHJpbmciPnhtbFRleHRSZWFkZXJDb25zdFN0cmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJDb25zdFZhbHVlIj54bWxUZXh0UmVhZGVyQ29uc3RWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJDb25zdFhtbExhbmciPnhtbFRleHRSZWFkZXJDb25zdFhtbExhbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyQ29uc3RYbWxWZXJzaW9uIj54bWxUZXh0UmVhZGVyQ29uc3RYbWxWZXJzaW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckN1cnJlbnREb2MiPnhtbFRleHRSZWFkZXJDdXJyZW50RG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckN1cnJlbnROb2RlIj54bWxUZXh0UmVhZGVyQ3VycmVudE5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyRGVwdGgiPnhtbFRleHRSZWFkZXJEZXB0aDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJFcnJvckZ1bmMiPnhtbFRleHRSZWFkZXJFcnJvckZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyRXhwYW5kIj54bWxUZXh0UmVhZGVyRXhwYW5kPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZSI+eG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJHZXRBdHRyaWJ1dGVObyI+eG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZU5vPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZU5zIj54bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlTnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyR2V0RXJyb3JIYW5kbGVyIj54bWxUZXh0UmVhZGVyR2V0RXJyb3JIYW5kbGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckdldFBhcnNlckNvbHVtbk51bWJlciI+eG1sVGV4dFJlYWRlckdldFBhcnNlckNvbHVtbk51bWJlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJHZXRQYXJzZXJMaW5lTnVtYmVyIj54bWxUZXh0UmVhZGVyR2V0UGFyc2VyTGluZU51bWJlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJHZXRQYXJzZXJQcm9wIj54bWxUZXh0UmVhZGVyR2V0UGFyc2VyUHJvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJHZXRSZW1haW5kZXIiPnhtbFRleHRSZWFkZXJHZXRSZW1haW5kZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVySGFzQXR0cmlidXRlcyI+eG1sVGV4dFJlYWRlckhhc0F0dHJpYnV0ZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVySGFzVmFsdWUiPnhtbFRleHRSZWFkZXJIYXNWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJJc0RlZmF1bHQiPnhtbFRleHRSZWFkZXJJc0RlZmF1bHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVySXNFbXB0eUVsZW1lbnQiPnhtbFRleHRSZWFkZXJJc0VtcHR5RWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJJc05hbWVzcGFjZURlY2wiPnhtbFRleHRSZWFkZXJJc05hbWVzcGFjZURlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVySXNWYWxpZCI+eG1sVGV4dFJlYWRlcklzVmFsaWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyTG9jYWxOYW1lIj54bWxUZXh0UmVhZGVyTG9jYWxOYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckxvY2F0b3JCYXNlVVJJIj54bWxUZXh0UmVhZGVyTG9jYXRvckJhc2VVUkk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyTG9jYXRvckxpbmVOdW1iZXIiPnhtbFRleHRSZWFkZXJMb2NhdG9yTGluZU51bWJlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJMb2NhdG9yUHRyIj54bWxUZXh0UmVhZGVyTG9jYXRvclB0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJMb29rdXBOYW1lc3BhY2UiPnhtbFRleHRSZWFkZXJMb29rdXBOYW1lc3BhY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyTW9kZSI+eG1sVGV4dFJlYWRlck1vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyTW92ZVRvQXR0cmlidXRlIj54bWxUZXh0UmVhZGVyTW92ZVRvQXR0cmlidXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlck1vdmVUb0F0dHJpYnV0ZU5vIj54bWxUZXh0UmVhZGVyTW92ZVRvQXR0cmlidXRlTm88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyTW92ZVRvQXR0cmlidXRlTnMiPnhtbFRleHRSZWFkZXJNb3ZlVG9BdHRyaWJ1dGVOczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJNb3ZlVG9FbGVtZW50Ij54bWxUZXh0UmVhZGVyTW92ZVRvRWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJNb3ZlVG9GaXJzdEF0dHJpYnV0ZSI+eG1sVGV4dFJlYWRlck1vdmVUb0ZpcnN0QXR0cmlidXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlck1vdmVUb05leHRBdHRyaWJ1dGUiPnhtbFRleHRSZWFkZXJNb3ZlVG9OZXh0QXR0cmlidXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlck5hbWUiPnhtbFRleHRSZWFkZXJOYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlck5hbWVzcGFjZVVyaSI+eG1sVGV4dFJlYWRlck5hbWVzcGFjZVVyaTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJOZXh0Ij54bWxUZXh0UmVhZGVyTmV4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJOZXh0U2libGluZyI+eG1sVGV4dFJlYWRlck5leHRTaWJsaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlck5vZGVUeXBlIj54bWxUZXh0UmVhZGVyTm9kZVR5cGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyTm9ybWFsaXphdGlvbiI+eG1sVGV4dFJlYWRlck5vcm1hbGl6YXRpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHJlZml4Ij54bWxUZXh0UmVhZGVyUHJlZml4PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclByZXNlcnZlIj54bWxUZXh0UmVhZGVyUHJlc2VydmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHJlc2VydmVQYXR0ZXJuIj54bWxUZXh0UmVhZGVyUHJlc2VydmVQYXR0ZXJuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJRdW90ZUNoYXIiPnhtbFRleHRSZWFkZXJRdW90ZUNoYXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUmVhZCI+eG1sVGV4dFJlYWRlclJlYWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUmVhZEF0dHJpYnV0ZVZhbHVlIj54bWxUZXh0UmVhZGVyUmVhZEF0dHJpYnV0ZVZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclJlYWRJbm5lclhtbCI+eG1sVGV4dFJlYWRlclJlYWRJbm5lclhtbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJSZWFkT3V0ZXJYbWwiPnhtbFRleHRSZWFkZXJSZWFkT3V0ZXJYbWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUmVhZFN0YXRlIj54bWxUZXh0UmVhZGVyUmVhZFN0YXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclJlYWRTdHJpbmciPnhtbFRleHRSZWFkZXJSZWFkU3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclJlbGF4TkdTZXRTY2hlbWEiPnhtbFRleHRSZWFkZXJSZWxheE5HU2V0U2NoZW1hPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZSI+eG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJSZWxheE5HVmFsaWRhdGVDdHh0Ij54bWxUZXh0UmVhZGVyUmVsYXhOR1ZhbGlkYXRlQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZSI+eG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlQ3R4dCI+eG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJTZXRFcnJvckhhbmRsZXIiPnhtbFRleHRSZWFkZXJTZXRFcnJvckhhbmRsZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyU2V0UGFyc2VyUHJvcCI+eG1sVGV4dFJlYWRlclNldFBhcnNlclByb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyU2V0U2NoZW1hIj54bWxUZXh0UmVhZGVyU2V0U2NoZW1hPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclNldFN0cnVjdHVyZWRFcnJvckhhbmRsZXIiPnhtbFRleHRSZWFkZXJTZXRTdHJ1Y3R1cmVkRXJyb3JIYW5kbGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclNldHVwIj54bWxUZXh0UmVhZGVyU2V0dXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyU3RhbmRhbG9uZSI+eG1sVGV4dFJlYWRlclN0YW5kYWxvbmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyVmFsdWUiPnhtbFRleHRSZWFkZXJWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJYbWxMYW5nIj54bWxUZXh0UmVhZGVyWG1sTGFuZzwvYT48YnIgLz4KKzwvcD48aDI+PGEgbmFtZT0ieG1scmVnZXhwIiBpZD0ieG1scmVnZXhwIj5Nb2R1bGUgeG1scmVnZXhwPC9hPjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI1hNTF9FWFBfQVRPTSI+WE1MX0VYUF9BVE9NPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjWE1MX0VYUF9DT1VOVCI+WE1MX0VYUF9DT1VOVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI1hNTF9FWFBfRU1QVFkiPlhNTF9FWFBfRU1QVFk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCNYTUxfRVhQX0ZPUkJJRCI+WE1MX0VYUF9GT1JCSUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCNYTUxfRVhQX09SIj5YTUxfRVhQX09SPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjWE1MX0VYUF9TRVEiPlhNTF9FWFBfU0VRPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjZW1wdHlFeHAiPmVtcHR5RXhwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjZm9yYmlkZGVuRXhwIj5mb3JiaWRkZW5FeHA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBDdHh0Ij54bWxFeHBDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwQ3R4dE5iQ29ucyI+eG1sRXhwQ3R4dE5iQ29uczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cEN0eHROYk5vZGVzIj54bWxFeHBDdHh0TmJOb2RlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cEN0eHRQdHIiPnhtbEV4cEN0eHRQdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBEdW1wIj54bWxFeHBEdW1wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwRXhwRGVyaXZlIj54bWxFeHBFeHBEZXJpdmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBGcmVlIj54bWxFeHBGcmVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwRnJlZUN0eHQiPnhtbEV4cEZyZWVDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwR2V0TGFuZ3VhZ2UiPnhtbEV4cEdldExhbmd1YWdlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwR2V0U3RhcnQiPnhtbEV4cEdldFN0YXJ0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwSXNOaWxsYWJsZSI+eG1sRXhwSXNOaWxsYWJsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cE1heFRva2VuIj54bWxFeHBNYXhUb2tlbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5ld0F0b20iPnhtbEV4cE5ld0F0b208L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBOZXdDdHh0Ij54bWxFeHBOZXdDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwTmV3T3IiPnhtbEV4cE5ld09yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwTmV3UmFuZ2UiPnhtbEV4cE5ld1JhbmdlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwTmV3U2VxIj54bWxFeHBOZXdTZXE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBOb2RlIj54bWxFeHBOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwTm9kZVB0ciI+eG1sRXhwTm9kZVB0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5vZGVUeXBlIj54bWxFeHBOb2RlVHlwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cFBhcnNlIj54bWxFeHBQYXJzZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cFJlZiI+eG1sRXhwUmVmPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwU3RyaW5nRGVyaXZlIj54bWxFeHBTdHJpbmdEZXJpdmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBTdWJzdW1lIj54bWxFeHBTdWJzdW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnRXhlY0NhbGxiYWNrcyI+eG1sUmVnRXhlY0NhbGxiYWNrczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ0V4ZWNDdHh0Ij54bWxSZWdFeGVjQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ0V4ZWNDdHh0UHRyIj54bWxSZWdFeGVjQ3R4dFB0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ0V4ZWNFcnJJbmZvIj54bWxSZWdFeGVjRXJySW5mbzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ0V4ZWNOZXh0VmFsdWVzIj54bWxSZWdFeGVjTmV4dFZhbHVlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ0V4ZWNQdXNoU3RyaW5nIj54bWxSZWdFeGVjUHVzaFN0cmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ0V4ZWNQdXNoU3RyaW5nMiI+eG1sUmVnRXhlY1B1c2hTdHJpbmcyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnRnJlZUV4ZWNDdHh0Ij54bWxSZWdGcmVlRXhlY0N0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdGcmVlUmVnZXhwIj54bWxSZWdGcmVlUmVnZXhwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnTmV3RXhlY0N0eHQiPnhtbFJlZ05ld0V4ZWNDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnZXhwIj54bWxSZWdleHA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdleHBDb21waWxlIj54bWxSZWdleHBDb21waWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnZXhwRXhlYyI+eG1sUmVnZXhwRXhlYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ2V4cElzRGV0ZXJtaW5pc3QiPnhtbFJlZ2V4cElzRGV0ZXJtaW5pc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdleHBQcmludCI+eG1sUmVnZXhwUHJpbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdleHBQdHIiPnhtbFJlZ2V4cFB0cjwvYT48YnIgLz4KKzwvcD48aDI+PGEgbmFtZT0ieG1sc2F2ZSIgaWQ9InhtbHNhdmUiPk1vZHVsZSB4bWxzYXZlPC9hPjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNhdmUuaHRtbCNYTUxfU0FWRV9BU19IVE1MIj5YTUxfU0FWRV9BU19IVE1MPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2F2ZS5odG1sI1hNTF9TQVZFX0FTX1hNTCI+WE1MX1NBVkVfQVNfWE1MPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2F2ZS5odG1sI1hNTF9TQVZFX0ZPUk1BVCI+WE1MX1NBVkVfRk9STUFUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2F2ZS5odG1sI1hNTF9TQVZFX05PX0RFQ0wiPlhNTF9TQVZFX05PX0RFQ0w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzYXZlLmh0bWwjWE1MX1NBVkVfTk9fRU1QVFkiPlhNTF9TQVZFX05PX0VNUFRZPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2F2ZS5odG1sI1hNTF9TQVZFX05PX1hIVE1MIj5YTUxfU0FWRV9OT19YSFRNTDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNhdmUuaHRtbCNYTUxfU0FWRV9XU05PTlNJRyI+WE1MX1NBVkVfV1NOT05TSUc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzYXZlLmh0bWwjWE1MX1NBVkVfWEhUTUwiPlhNTF9TQVZFX1hIVE1MPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2F2ZS5odG1sI3htbFNhdmVDbG9zZSI+eG1sU2F2ZUNsb3NlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2F2ZS5odG1sI3htbFNhdmVDdHh0Ij54bWxTYXZlQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNhdmUuaHRtbCN4bWxTYXZlQ3R4dFB0ciI+eG1sU2F2ZUN0eHRQdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzYXZlLmh0bWwjeG1sU2F2ZURvYyI+eG1sU2F2ZURvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNhdmUuaHRtbCN4bWxTYXZlRmx1c2giPnhtbFNhdmVGbHVzaDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNhdmUuaHRtbCN4bWxTYXZlT3B0aW9uIj54bWxTYXZlT3B0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2F2ZS5odG1sI3htbFNhdmVTZXRBdHRyRXNjYXBlIj54bWxTYXZlU2V0QXR0ckVzY2FwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNhdmUuaHRtbCN4bWxTYXZlU2V0RXNjYXBlIj54bWxTYXZlU2V0RXNjYXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2F2ZS5odG1sI3htbFNhdmVUb0J1ZmZlciI+eG1sU2F2ZVRvQnVmZmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2F2ZS5odG1sI3htbFNhdmVUb0ZkIj54bWxTYXZlVG9GZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNhdmUuaHRtbCN4bWxTYXZlVG9GaWxlbmFtZSI+eG1sU2F2ZVRvRmlsZW5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzYXZlLmh0bWwjeG1sU2F2ZVRvSU8iPnhtbFNhdmVUb0lPPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2F2ZS5odG1sI3htbFNhdmVUcmVlIj54bWxTYXZlVHJlZTwvYT48YnIgLz4KKzwvcD48aDI+PGEgbmFtZT0ieG1sc2NoZW1hcyIgaWQ9InhtbHNjaGVtYXMiPk1vZHVsZSB4bWxzY2hlbWFzPC9hPjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCNYTUxfU0NIRU1BU19FUlJfIj5YTUxfU0NIRU1BU19FUlJfPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI1hNTF9TQ0hFTUFTX0VSUl9BVFRSSU5WQUxJRCI+WE1MX1NDSEVNQVNfRVJSX0FUVFJJTlZBTElEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI1hNTF9TQ0hFTUFTX0VSUl9BVFRSVU5LTk9XTiI+WE1MX1NDSEVNQVNfRVJSX0FUVFJVTktOT1dOPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI1hNTF9TQ0hFTUFTX0VSUl9DT05TVFJVQ1QiPlhNTF9TQ0hFTUFTX0VSUl9DT05TVFJVQ1Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjWE1MX1NDSEVNQVNfRVJSX0VMRU1DT05UIj5YTUxfU0NIRU1BU19FUlJfRUxFTUNPTlQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjWE1MX1NDSEVNQVNfRVJSX0VYVFJBQ09OVEVOVCI+WE1MX1NDSEVNQVNfRVJSX0VYVFJBQ09OVEVOVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCNYTUxfU0NIRU1BU19FUlJfRkFDRVQiPlhNTF9TQ0hFTUFTX0VSUl9GQUNFVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCNYTUxfU0NIRU1BU19FUlJfSEFWRURFRkFVTFQiPlhNTF9TQ0hFTUFTX0VSUl9IQVZFREVGQVVMVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCNYTUxfU0NIRU1BU19FUlJfSU5URVJOQUwiPlhNTF9TQ0hFTUFTX0VSUl9JTlRFUk5BTDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCNYTUxfU0NIRU1BU19FUlJfSU5WQUxJREFUVFIiPlhNTF9TQ0hFTUFTX0VSUl9JTlZBTElEQVRUUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCNYTUxfU0NIRU1BU19FUlJfSU5WQUxJREVMRU0iPlhNTF9TQ0hFTUFTX0VSUl9JTlZBTElERUxFTTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCNYTUxfU0NIRU1BU19FUlJfSVNBQlNUUkFDVCI+WE1MX1NDSEVNQVNfRVJSX0lTQUJTVFJBQ1Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjWE1MX1NDSEVNQVNfRVJSX01JU1NJTkciPlhNTF9TQ0hFTUFTX0VSUl9NSVNTSU5HPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI1hNTF9TQ0hFTUFTX0VSUl9OT1JPTExCQUNLIj5YTUxfU0NIRU1BU19FUlJfTk9ST0xMQkFDSzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCNYTUxfU0NIRU1BU19FUlJfTk9ST09UIj5YTUxfU0NIRU1BU19FUlJfTk9ST09UPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI1hNTF9TQ0hFTUFTX0VSUl9OT1RERVRFUk1JTklTVCI+WE1MX1NDSEVNQVNfRVJSX05PVERFVEVSTUlOSVNUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI1hNTF9TQ0hFTUFTX0VSUl9OT1RFTVBUWSI+WE1MX1NDSEVNQVNfRVJSX05PVEVNUFRZPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI1hNTF9TQ0hFTUFTX0VSUl9OT1ROSUxMQUJMRSI+WE1MX1NDSEVNQVNfRVJSX05PVE5JTExBQkxFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI1hNTF9TQ0hFTUFTX0VSUl9OT1RTSU1QTEUiPlhNTF9TQ0hFTUFTX0VSUl9OT1RTSU1QTEU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjWE1MX1NDSEVNQVNfRVJSX05PVFRPUExFVkVMIj5YTUxfU0NIRU1BU19FUlJfTk9UVE9QTEVWRUw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjWE1MX1NDSEVNQVNfRVJSX05PVFlQRSI+WE1MX1NDSEVNQVNfRVJSX05PVFlQRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCNYTUxfU0NIRU1BU19FUlJfT0siPlhNTF9TQ0hFTUFTX0VSUl9PSzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCNYTUxfU0NIRU1BU19FUlJfVU5ERUNMQVJFREVMRU0iPlhNTF9TQ0hFTUFTX0VSUl9VTkRFQ0xBUkVERUxFTTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCNYTUxfU0NIRU1BU19FUlJfVkFMVUUiPlhNTF9TQ0hFTUFTX0VSUl9WQUxVRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCNYTUxfU0NIRU1BU19FUlJfV1JPTkdFTEVNIj5YTUxfU0NIRU1BU19FUlJfV1JPTkdFTEVNPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI1hNTF9TQ0hFTUFTX0VSUl9YWFgiPlhNTF9TQ0hFTUFTX0VSUl9YWFg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjWE1MX1NDSEVNQV9WQUxfVkNfSV9DUkVBVEUiPlhNTF9TQ0hFTUFfVkFMX1ZDX0lfQ1JFQVRFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYSI+eG1sU2NoZW1hPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYUR1bXAiPnhtbFNjaGVtYUR1bXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hRnJlZSI+eG1sU2NoZW1hRnJlZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFGcmVlUGFyc2VyQ3R4dCI+eG1sU2NoZW1hRnJlZVBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hRnJlZVZhbGlkQ3R4dCI+eG1sU2NoZW1hRnJlZVZhbGlkQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFHZXRQYXJzZXJFcnJvcnMiPnhtbFNjaGVtYUdldFBhcnNlckVycm9yczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFHZXRWYWxpZEVycm9ycyI+eG1sU2NoZW1hR2V0VmFsaWRFcnJvcnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hSXNWYWxpZCI+eG1sU2NoZW1hSXNWYWxpZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFOZXdEb2NQYXJzZXJDdHh0Ij54bWxTY2hlbWFOZXdEb2NQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYU5ld01lbVBhcnNlckN0eHQiPnhtbFNjaGVtYU5ld01lbVBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hTmV3UGFyc2VyQ3R4dCI+eG1sU2NoZW1hTmV3UGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFOZXdWYWxpZEN0eHQiPnhtbFNjaGVtYU5ld1ZhbGlkQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFQYXJzZSI+eG1sU2NoZW1hUGFyc2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hUGFyc2VyQ3R4dCI+eG1sU2NoZW1hUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIj54bWxTY2hlbWFQYXJzZXJDdHh0UHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVB0ciI+eG1sU2NoZW1hUHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVNBWFBsdWciPnhtbFNjaGVtYVNBWFBsdWc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hU0FYUGx1Z1B0ciI+eG1sU2NoZW1hU0FYUGx1Z1B0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFTQVhQbHVnU3RydWN0Ij54bWxTY2hlbWFTQVhQbHVnU3RydWN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVNBWFVucGx1ZyI+eG1sU2NoZW1hU0FYVW5wbHVnPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVNldFBhcnNlckVycm9ycyI+eG1sU2NoZW1hU2V0UGFyc2VyRXJyb3JzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVNldFBhcnNlclN0cnVjdHVyZWRFcnJvcnMiPnhtbFNjaGVtYVNldFBhcnNlclN0cnVjdHVyZWRFcnJvcnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hU2V0VmFsaWRFcnJvcnMiPnhtbFNjaGVtYVNldFZhbGlkRXJyb3JzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVNldFZhbGlkT3B0aW9ucyI+eG1sU2NoZW1hU2V0VmFsaWRPcHRpb25zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVNldFZhbGlkU3RydWN0dXJlZEVycm9ycyI+eG1sU2NoZW1hU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkQ3R4dCI+eG1sU2NoZW1hVmFsaWRDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkQ3R4dEdldE9wdGlvbnMiPnhtbFNjaGVtYVZhbGlkQ3R4dEdldE9wdGlvbnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRDdHh0R2V0UGFyc2VyQ3R4dCI+eG1sU2NoZW1hVmFsaWRDdHh0R2V0UGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZEN0eHRQdHIiPnhtbFNjaGVtYVZhbGlkQ3R4dFB0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZEVycm9yIj54bWxTY2hlbWFWYWxpZEVycm9yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkT3B0aW9uIj54bWxTY2hlbWFWYWxpZE9wdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZGF0ZURvYyI+eG1sU2NoZW1hVmFsaWRhdGVEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRhdGVGaWxlIj54bWxTY2hlbWFWYWxpZGF0ZUZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRhdGVPbmVFbGVtZW50Ij54bWxTY2hlbWFWYWxpZGF0ZU9uZUVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRhdGVTZXRGaWxlbmFtZSI+eG1sU2NoZW1hVmFsaWRhdGVTZXRGaWxlbmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZGF0ZVNldExvY2F0b3IiPnhtbFNjaGVtYVZhbGlkYXRlU2V0TG9jYXRvcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZGF0ZVN0cmVhbSI+eG1sU2NoZW1hVmFsaWRhdGVTdHJlYW08L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRpdHlFcnJvckZ1bmMiPnhtbFNjaGVtYVZhbGlkaXR5RXJyb3JGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkaXR5TG9jYXRvckZ1bmMiPnhtbFNjaGVtYVZhbGlkaXR5TG9jYXRvckZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRpdHlXYXJuaW5nRnVuYyI+eG1sU2NoZW1hVmFsaWRpdHlXYXJuaW5nRnVuYzwvYT48YnIgLz4KKzwvcD48aDI+PGEgbmFtZT0ieG1sc2NoZW1hc3R5cGVzIiBpZD0ieG1sc2NoZW1hc3R5cGVzIj5Nb2R1bGUgeG1sc2NoZW1hc3R5cGVzPC9hPjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI1hNTF9TQ0hFTUFfV0hJVEVTUEFDRV9DT0xMQVBTRSI+WE1MX1NDSEVNQV9XSElURVNQQUNFX0NPTExBUFNFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjWE1MX1NDSEVNQV9XSElURVNQQUNFX1BSRVNFUlZFIj5YTUxfU0NIRU1BX1dISVRFU1BBQ0VfUFJFU0VSVkU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCNYTUxfU0NIRU1BX1dISVRFU1BBQ0VfUkVQTEFDRSI+WE1MX1NDSEVNQV9XSElURVNQQUNFX1JFUExBQ0U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCNYTUxfU0NIRU1BX1dISVRFU1BBQ0VfVU5LTk9XTiI+WE1MX1NDSEVNQV9XSElURVNQQUNFX1VOS05PV048L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFDaGVja0ZhY2V0Ij54bWxTY2hlbWFDaGVja0ZhY2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hQ2xlYW51cFR5cGVzIj54bWxTY2hlbWFDbGVhbnVwVHlwZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFDb2xsYXBzZVN0cmluZyI+eG1sU2NoZW1hQ29sbGFwc2VTdHJpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFDb21wYXJlVmFsdWVzIj54bWxTY2hlbWFDb21wYXJlVmFsdWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hQ29tcGFyZVZhbHVlc1dodHNwIj54bWxTY2hlbWFDb21wYXJlVmFsdWVzV2h0c3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFDb3B5VmFsdWUiPnhtbFNjaGVtYUNvcHlWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUZyZWVGYWNldCI+eG1sU2NoZW1hRnJlZUZhY2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hRnJlZVZhbHVlIj54bWxTY2hlbWFGcmVlVmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFHZXRCdWlsdEluTGlzdFNpbXBsZVR5cGVJdGVtVHlwZSI+eG1sU2NoZW1hR2V0QnVpbHRJbkxpc3RTaW1wbGVUeXBlSXRlbVR5cGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFHZXRCdWlsdEluVHlwZSI+eG1sU2NoZW1hR2V0QnVpbHRJblR5cGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFHZXRDYW5vblZhbHVlIj54bWxTY2hlbWFHZXRDYW5vblZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hR2V0Q2Fub25WYWx1ZVdodHNwIj54bWxTY2hlbWFHZXRDYW5vblZhbHVlV2h0c3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFHZXRGYWNldFZhbHVlQXNVTG9uZyI+eG1sU2NoZW1hR2V0RmFjZXRWYWx1ZUFzVUxvbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFHZXRQcmVkZWZpbmVkVHlwZSI+eG1sU2NoZW1hR2V0UHJlZGVmaW5lZFR5cGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFHZXRWYWxUeXBlIj54bWxTY2hlbWFHZXRWYWxUeXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hSW5pdFR5cGVzIj54bWxTY2hlbWFJbml0VHlwZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFJc0J1aWx0SW5UeXBlRmFjZXQiPnhtbFNjaGVtYUlzQnVpbHRJblR5cGVGYWNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYU5ld0ZhY2V0Ij54bWxTY2hlbWFOZXdGYWNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYU5ld05PVEFUSU9OVmFsdWUiPnhtbFNjaGVtYU5ld05PVEFUSU9OVmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFOZXdRTmFtZVZhbHVlIj54bWxTY2hlbWFOZXdRTmFtZVZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hTmV3U3RyaW5nVmFsdWUiPnhtbFNjaGVtYU5ld1N0cmluZ1ZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hVmFsUHJlZGVmVHlwZU5vZGUiPnhtbFNjaGVtYVZhbFByZWRlZlR5cGVOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hVmFsUHJlZGVmVHlwZU5vZGVOb05vcm0iPnhtbFNjaGVtYVZhbFByZWRlZlR5cGVOb2RlTm9Ob3JtPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hVmFsaWRhdGVGYWNldCI+eG1sU2NoZW1hVmFsaWRhdGVGYWNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYVZhbGlkYXRlRmFjZXRXaHRzcCI+eG1sU2NoZW1hVmFsaWRhdGVGYWNldFdodHNwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldCI+eG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXRXaHRzcCI+eG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldFdodHNwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hVmFsaWRhdGVMaXN0U2ltcGxlVHlwZUZhY2V0Ij54bWxTY2hlbWFWYWxpZGF0ZUxpc3RTaW1wbGVUeXBlRmFjZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFWYWxpZGF0ZVByZWRlZmluZWRUeXBlIj54bWxTY2hlbWFWYWxpZGF0ZVByZWRlZmluZWRUeXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hVmFsdWVBcHBlbmQiPnhtbFNjaGVtYVZhbHVlQXBwZW5kPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hVmFsdWVHZXRBc0Jvb2xlYW4iPnhtbFNjaGVtYVZhbHVlR2V0QXNCb29sZWFuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hVmFsdWVHZXRBc1N0cmluZyI+eG1sU2NoZW1hVmFsdWVHZXRBc1N0cmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYVZhbHVlR2V0TmV4dCI+eG1sU2NoZW1hVmFsdWVHZXROZXh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hV2hpdGVTcGFjZVJlcGxhY2UiPnhtbFNjaGVtYVdoaXRlU3BhY2VSZXBsYWNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hV2hpdGVzcGFjZVZhbHVlVHlwZSI+eG1sU2NoZW1hV2hpdGVzcGFjZVZhbHVlVHlwZTwvYT48YnIgLz4KKzwvcD48aDI+PGEgbmFtZT0ieG1sc3RyaW5nIiBpZD0ieG1sc3RyaW5nIj5Nb2R1bGUgeG1sc3RyaW5nPC9hPjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI0JBRF9DQVNUIj5CQURfQ0FTVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyU3RyZHVwIj54bWxDaGFyU3RyZHVwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhclN0cm5kdXAiPnhtbENoYXJTdHJuZHVwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hlY2tVVEY4Ij54bWxDaGVja1VURjg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxHZXRVVEY4Q2hhciI+eG1sR2V0VVRGOENoYXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJFcXVhbCI+eG1sU3RyRXF1YWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJQcmludGYiPnhtbFN0clByaW50ZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFN0clFFcXVhbCI+eG1sU3RyUUVxdWFsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3RyVlByaW50ZiI+eG1sU3RyVlByaW50ZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFN0cmNhc2VjbXAiPnhtbFN0cmNhc2VjbXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJjYXNlc3RyIj54bWxTdHJjYXNlc3RyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3RyY2F0Ij54bWxTdHJjYXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJjaHIiPnhtbFN0cmNocjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFN0cmNtcCI+eG1sU3RyY21wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3RyZHVwIj54bWxTdHJkdXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJsZW4iPnhtbFN0cmxlbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFN0cm5jYXNlY21wIj54bWxTdHJuY2FzZWNtcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFN0cm5jYXQiPnhtbFN0cm5jYXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJuY2F0TmV3Ij54bWxTdHJuY2F0TmV3PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3RybmNtcCI+eG1sU3RybmNtcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFN0cm5kdXAiPnhtbFN0cm5kdXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJzdHIiPnhtbFN0cnN0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFN0cnN1YiI+eG1sU3Ryc3ViPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sVVRGOENoYXJjbXAiPnhtbFVURjhDaGFyY21wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sVVRGOFNpemUiPnhtbFVURjhTaXplPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sVVRGOFN0cmxlbiI+eG1sVVRGOFN0cmxlbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFVURjhTdHJsb2MiPnhtbFVURjhTdHJsb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxVVEY4U3RybmR1cCI+eG1sVVRGOFN0cm5kdXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxVVEY4U3RycG9zIj54bWxVVEY4U3RycG9zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sVVRGOFN0cnNpemUiPnhtbFVURjhTdHJzaXplPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sVVRGOFN0cnN1YiI+eG1sVVRGOFN0cnN1YjwvYT48YnIgLz4KKzwvcD48aDI+PGEgbmFtZT0ieG1sdW5pY29kZSIgaWQ9InhtbHVuaWNvZGUiPk1vZHVsZSB4bWx1bmljb2RlPC9hPjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0FlZ2Vhbk51bWJlcnMiPnhtbFVDU0lzQWVnZWFuTnVtYmVyczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0FscGhhYmV0aWNQcmVzZW50YXRpb25Gb3JtcyI+eG1sVUNTSXNBbHBoYWJldGljUHJlc2VudGF0aW9uRm9ybXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNBcmFiaWMiPnhtbFVDU0lzQXJhYmljPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQXJhYmljUHJlc2VudGF0aW9uRm9ybXNBIj54bWxVQ1NJc0FyYWJpY1ByZXNlbnRhdGlvbkZvcm1zQTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0FyYWJpY1ByZXNlbnRhdGlvbkZvcm1zQiI+eG1sVUNTSXNBcmFiaWNQcmVzZW50YXRpb25Gb3Jtc0I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNBcm1lbmlhbiI+eG1sVUNTSXNBcm1lbmlhbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0Fycm93cyI+eG1sVUNTSXNBcnJvd3M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNCYXNpY0xhdGluIj54bWxVQ1NJc0Jhc2ljTGF0aW48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNCZW5nYWxpIj54bWxVQ1NJc0JlbmdhbGk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNCbG9jayI+eG1sVUNTSXNCbG9jazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0Jsb2NrRWxlbWVudHMiPnhtbFVDU0lzQmxvY2tFbGVtZW50czwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0JvcG9tb2ZvIj54bWxVQ1NJc0JvcG9tb2ZvPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQm9wb21vZm9FeHRlbmRlZCI+eG1sVUNTSXNCb3BvbW9mb0V4dGVuZGVkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQm94RHJhd2luZyI+eG1sVUNTSXNCb3hEcmF3aW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQnJhaWxsZVBhdHRlcm5zIj54bWxVQ1NJc0JyYWlsbGVQYXR0ZXJuczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0J1aGlkIj54bWxVQ1NJc0J1aGlkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQnl6YW50aW5lTXVzaWNhbFN5bWJvbHMiPnhtbFVDU0lzQnl6YW50aW5lTXVzaWNhbFN5bWJvbHM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDSktDb21wYXRpYmlsaXR5Ij54bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDSktDb21wYXRpYmlsaXR5Rm9ybXMiPnhtbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eUZvcm1zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eUlkZW9ncmFwaHMiPnhtbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eUlkZW9ncmFwaHM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDSktDb21wYXRpYmlsaXR5SWRlb2dyYXBoc1N1cHBsZW1lbnQiPnhtbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eUlkZW9ncmFwaHNTdXBwbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ0pLUmFkaWNhbHNTdXBwbGVtZW50Ij54bWxVQ1NJc0NKS1JhZGljYWxzU3VwcGxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NKS1N5bWJvbHNhbmRQdW5jdHVhdGlvbiI+eG1sVUNTSXNDSktTeW1ib2xzYW5kUHVuY3R1YXRpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDSktVbmlmaWVkSWRlb2dyYXBocyI+eG1sVUNTSXNDSktVbmlmaWVkSWRlb2dyYXBoczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NKS1VuaWZpZWRJZGVvZ3JhcGhzRXh0ZW5zaW9uQSI+eG1sVUNTSXNDSktVbmlmaWVkSWRlb2dyYXBoc0V4dGVuc2lvbkE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDSktVbmlmaWVkSWRlb2dyYXBoc0V4dGVuc2lvbkIiPnhtbFVDU0lzQ0pLVW5pZmllZElkZW9ncmFwaHNFeHRlbnNpb25CPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ2F0Ij54bWxVQ1NJc0NhdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NhdEMiPnhtbFVDU0lzQ2F0QzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NhdENjIj54bWxVQ1NJc0NhdENjPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ2F0Q2YiPnhtbFVDU0lzQ2F0Q2Y8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDYXRDbyI+eG1sVUNTSXNDYXRDbzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NhdENzIj54bWxVQ1NJc0NhdENzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ2F0TCI+eG1sVUNTSXNDYXRMPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ2F0TGwiPnhtbFVDU0lzQ2F0TGw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDYXRMbSI+eG1sVUNTSXNDYXRMbTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NhdExvIj54bWxVQ1NJc0NhdExvPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ2F0THQiPnhtbFVDU0lzQ2F0THQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDYXRMdSI+eG1sVUNTSXNDYXRMdTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NhdE0iPnhtbFVDU0lzQ2F0TTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NhdE1jIj54bWxVQ1NJc0NhdE1jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ2F0TWUiPnhtbFVDU0lzQ2F0TWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDYXRNbiI+eG1sVUNTSXNDYXRNbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NhdE4iPnhtbFVDU0lzQ2F0TjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NhdE5kIj54bWxVQ1NJc0NhdE5kPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ2F0TmwiPnhtbFVDU0lzQ2F0Tmw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDYXRObyI+eG1sVUNTSXNDYXRObzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NhdFAiPnhtbFVDU0lzQ2F0UDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NhdFBjIj54bWxVQ1NJc0NhdFBjPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ2F0UGQiPnhtbFVDU0lzQ2F0UGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDYXRQZSI+eG1sVUNTSXNDYXRQZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NhdFBmIj54bWxVQ1NJc0NhdFBmPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ2F0UGkiPnhtbFVDU0lzQ2F0UGk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDYXRQbyI+eG1sVUNTSXNDYXRQbzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NhdFBzIj54bWxVQ1NJc0NhdFBzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ2F0UyI+eG1sVUNTSXNDYXRTPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ2F0U2MiPnhtbFVDU0lzQ2F0U2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDYXRTayI+eG1sVUNTSXNDYXRTazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NhdFNtIj54bWxVQ1NJc0NhdFNtPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ2F0U28iPnhtbFVDU0lzQ2F0U288L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDYXRaIj54bWxVQ1NJc0NhdFo8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDYXRabCI+eG1sVUNTSXNDYXRabDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NhdFpwIj54bWxVQ1NJc0NhdFpwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ2F0WnMiPnhtbFVDU0lzQ2F0WnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDaGVyb2tlZSI+eG1sVUNTSXNDaGVyb2tlZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NvbWJpbmluZ0RpYWNyaXRpY2FsTWFya3MiPnhtbFVDU0lzQ29tYmluaW5nRGlhY3JpdGljYWxNYXJrczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NvbWJpbmluZ0RpYWNyaXRpY2FsTWFya3Nmb3JTeW1ib2xzIj54bWxVQ1NJc0NvbWJpbmluZ0RpYWNyaXRpY2FsTWFya3Nmb3JTeW1ib2xzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ29tYmluaW5nSGFsZk1hcmtzIj54bWxVQ1NJc0NvbWJpbmluZ0hhbGZNYXJrczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NvbWJpbmluZ01hcmtzZm9yU3ltYm9scyI+eG1sVUNTSXNDb21iaW5pbmdNYXJrc2ZvclN5bWJvbHM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDb250cm9sUGljdHVyZXMiPnhtbFVDU0lzQ29udHJvbFBpY3R1cmVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ3VycmVuY3lTeW1ib2xzIj54bWxVQ1NJc0N1cnJlbmN5U3ltYm9sczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0N5cHJpb3RTeWxsYWJhcnkiPnhtbFVDU0lzQ3lwcmlvdFN5bGxhYmFyeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0N5cmlsbGljIj54bWxVQ1NJc0N5cmlsbGljPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ3lyaWxsaWNTdXBwbGVtZW50Ij54bWxVQ1NJc0N5cmlsbGljU3VwcGxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0Rlc2VyZXQiPnhtbFVDU0lzRGVzZXJldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0RldmFuYWdhcmkiPnhtbFVDU0lzRGV2YW5hZ2FyaTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0RpbmdiYXRzIj54bWxVQ1NJc0RpbmdiYXRzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzRW5jbG9zZWRBbHBoYW51bWVyaWNzIj54bWxVQ1NJc0VuY2xvc2VkQWxwaGFudW1lcmljczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0VuY2xvc2VkQ0pLTGV0dGVyc2FuZE1vbnRocyI+eG1sVUNTSXNFbmNsb3NlZENKS0xldHRlcnNhbmRNb250aHM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNFdGhpb3BpYyI+eG1sVUNTSXNFdGhpb3BpYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0dlbmVyYWxQdW5jdHVhdGlvbiI+eG1sVUNTSXNHZW5lcmFsUHVuY3R1YXRpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNHZW9tZXRyaWNTaGFwZXMiPnhtbFVDU0lzR2VvbWV0cmljU2hhcGVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzR2VvcmdpYW4iPnhtbFVDU0lzR2VvcmdpYW48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNHb3RoaWMiPnhtbFVDU0lzR290aGljPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzR3JlZWsiPnhtbFVDU0lzR3JlZWs8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNHcmVla0V4dGVuZGVkIj54bWxVQ1NJc0dyZWVrRXh0ZW5kZWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNHcmVla2FuZENvcHRpYyI+eG1sVUNTSXNHcmVla2FuZENvcHRpYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0d1amFyYXRpIj54bWxVQ1NJc0d1amFyYXRpPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzR3VybXVraGkiPnhtbFVDU0lzR3VybXVraGk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNIYWxmd2lkdGhhbmRGdWxsd2lkdGhGb3JtcyI+eG1sVUNTSXNIYWxmd2lkdGhhbmRGdWxsd2lkdGhGb3JtczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0hhbmd1bENvbXBhdGliaWxpdHlKYW1vIj54bWxVQ1NJc0hhbmd1bENvbXBhdGliaWxpdHlKYW1vPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzSGFuZ3VsSmFtbyI+eG1sVUNTSXNIYW5ndWxKYW1vPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzSGFuZ3VsU3lsbGFibGVzIj54bWxVQ1NJc0hhbmd1bFN5bGxhYmxlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0hhbnVub28iPnhtbFVDU0lzSGFudW5vbzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0hlYnJldyI+eG1sVUNTSXNIZWJyZXc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNIaWdoUHJpdmF0ZVVzZVN1cnJvZ2F0ZXMiPnhtbFVDU0lzSGlnaFByaXZhdGVVc2VTdXJyb2dhdGVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzSGlnaFN1cnJvZ2F0ZXMiPnhtbFVDU0lzSGlnaFN1cnJvZ2F0ZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNIaXJhZ2FuYSI+eG1sVUNTSXNIaXJhZ2FuYTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0lQQUV4dGVuc2lvbnMiPnhtbFVDU0lzSVBBRXh0ZW5zaW9uczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0lkZW9ncmFwaGljRGVzY3JpcHRpb25DaGFyYWN0ZXJzIj54bWxVQ1NJc0lkZW9ncmFwaGljRGVzY3JpcHRpb25DaGFyYWN0ZXJzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzS2FuYnVuIj54bWxVQ1NJc0thbmJ1bjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0thbmd4aVJhZGljYWxzIj54bWxVQ1NJc0thbmd4aVJhZGljYWxzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzS2FubmFkYSI+eG1sVUNTSXNLYW5uYWRhPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzS2F0YWthbmEiPnhtbFVDU0lzS2F0YWthbmE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNLYXRha2FuYVBob25ldGljRXh0ZW5zaW9ucyI+eG1sVUNTSXNLYXRha2FuYVBob25ldGljRXh0ZW5zaW9uczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0tobWVyIj54bWxVQ1NJc0tobWVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzS2htZXJTeW1ib2xzIj54bWxVQ1NJc0tobWVyU3ltYm9sczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0xhbyI+eG1sVUNTSXNMYW88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNMYXRpbjFTdXBwbGVtZW50Ij54bWxVQ1NJc0xhdGluMVN1cHBsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNMYXRpbkV4dGVuZGVkQSI+eG1sVUNTSXNMYXRpbkV4dGVuZGVkQTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0xhdGluRXh0ZW5kZWRBZGRpdGlvbmFsIj54bWxVQ1NJc0xhdGluRXh0ZW5kZWRBZGRpdGlvbmFsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzTGF0aW5FeHRlbmRlZEIiPnhtbFVDU0lzTGF0aW5FeHRlbmRlZEI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNMZXR0ZXJsaWtlU3ltYm9scyI+eG1sVUNTSXNMZXR0ZXJsaWtlU3ltYm9sczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0xpbWJ1Ij54bWxVQ1NJc0xpbWJ1PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzTGluZWFyQklkZW9ncmFtcyI+eG1sVUNTSXNMaW5lYXJCSWRlb2dyYW1zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzTGluZWFyQlN5bGxhYmFyeSI+eG1sVUNTSXNMaW5lYXJCU3lsbGFiYXJ5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzTG93U3Vycm9nYXRlcyI+eG1sVUNTSXNMb3dTdXJyb2dhdGVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzTWFsYXlhbGFtIj54bWxVQ1NJc01hbGF5YWxhbTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc01hdGhlbWF0aWNhbEFscGhhbnVtZXJpY1N5bWJvbHMiPnhtbFVDU0lzTWF0aGVtYXRpY2FsQWxwaGFudW1lcmljU3ltYm9sczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc01hdGhlbWF0aWNhbE9wZXJhdG9ycyI+eG1sVUNTSXNNYXRoZW1hdGljYWxPcGVyYXRvcnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNNaXNjZWxsYW5lb3VzTWF0aGVtYXRpY2FsU3ltYm9sc0EiPnhtbFVDU0lzTWlzY2VsbGFuZW91c01hdGhlbWF0aWNhbFN5bWJvbHNBPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzTWlzY2VsbGFuZW91c01hdGhlbWF0aWNhbFN5bWJvbHNCIj54bWxVQ1NJc01pc2NlbGxhbmVvdXNNYXRoZW1hdGljYWxTeW1ib2xzQjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc01pc2NlbGxhbmVvdXNTeW1ib2xzIj54bWxVQ1NJc01pc2NlbGxhbmVvdXNTeW1ib2xzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzTWlzY2VsbGFuZW91c1N5bWJvbHNhbmRBcnJvd3MiPnhtbFVDU0lzTWlzY2VsbGFuZW91c1N5bWJvbHNhbmRBcnJvd3M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNNaXNjZWxsYW5lb3VzVGVjaG5pY2FsIj54bWxVQ1NJc01pc2NlbGxhbmVvdXNUZWNobmljYWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNNb25nb2xpYW4iPnhtbFVDU0lzTW9uZ29saWFuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzTXVzaWNhbFN5bWJvbHMiPnhtbFVDU0lzTXVzaWNhbFN5bWJvbHM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNNeWFubWFyIj54bWxVQ1NJc015YW5tYXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNOdW1iZXJGb3JtcyI+eG1sVUNTSXNOdW1iZXJGb3JtczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc09naGFtIj54bWxVQ1NJc09naGFtPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzT2xkSXRhbGljIj54bWxVQ1NJc09sZEl0YWxpYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc09wdGljYWxDaGFyYWN0ZXJSZWNvZ25pdGlvbiI+eG1sVUNTSXNPcHRpY2FsQ2hhcmFjdGVyUmVjb2duaXRpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNPcml5YSI+eG1sVUNTSXNPcml5YTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc09zbWFueWEiPnhtbFVDU0lzT3NtYW55YTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc1Bob25ldGljRXh0ZW5zaW9ucyI+eG1sVUNTSXNQaG9uZXRpY0V4dGVuc2lvbnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNQcml2YXRlVXNlIj54bWxVQ1NJc1ByaXZhdGVVc2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNQcml2YXRlVXNlQXJlYSI+eG1sVUNTSXNQcml2YXRlVXNlQXJlYTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc1J1bmljIj54bWxVQ1NJc1J1bmljPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzU2hhdmlhbiI+eG1sVUNTSXNTaGF2aWFuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzU2luaGFsYSI+eG1sVUNTSXNTaW5oYWxhPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzU21hbGxGb3JtVmFyaWFudHMiPnhtbFVDU0lzU21hbGxGb3JtVmFyaWFudHM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNTcGFjaW5nTW9kaWZpZXJMZXR0ZXJzIj54bWxVQ1NJc1NwYWNpbmdNb2RpZmllckxldHRlcnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNTcGVjaWFscyI+eG1sVUNTSXNTcGVjaWFsczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc1N1cGVyc2NyaXB0c2FuZFN1YnNjcmlwdHMiPnhtbFVDU0lzU3VwZXJzY3JpcHRzYW5kU3Vic2NyaXB0czwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc1N1cHBsZW1lbnRhbEFycm93c0EiPnhtbFVDU0lzU3VwcGxlbWVudGFsQXJyb3dzQTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc1N1cHBsZW1lbnRhbEFycm93c0IiPnhtbFVDU0lzU3VwcGxlbWVudGFsQXJyb3dzQjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc1N1cHBsZW1lbnRhbE1hdGhlbWF0aWNhbE9wZXJhdG9ycyI+eG1sVUNTSXNTdXBwbGVtZW50YWxNYXRoZW1hdGljYWxPcGVyYXRvcnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNTdXBwbGVtZW50YXJ5UHJpdmF0ZVVzZUFyZWFBIj54bWxVQ1NJc1N1cHBsZW1lbnRhcnlQcml2YXRlVXNlQXJlYUE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNTdXBwbGVtZW50YXJ5UHJpdmF0ZVVzZUFyZWFCIj54bWxVQ1NJc1N1cHBsZW1lbnRhcnlQcml2YXRlVXNlQXJlYUI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNTeXJpYWMiPnhtbFVDU0lzU3lyaWFjPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzVGFnYWxvZyI+eG1sVUNTSXNUYWdhbG9nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzVGFnYmFud2EiPnhtbFVDU0lzVGFnYmFud2E8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNUYWdzIj54bWxVQ1NJc1RhZ3M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNUYWlMZSI+eG1sVUNTSXNUYWlMZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc1RhaVh1YW5KaW5nU3ltYm9scyI+eG1sVUNTSXNUYWlYdWFuSmluZ1N5bWJvbHM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNUYW1pbCI+eG1sVUNTSXNUYW1pbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc1RlbHVndSI+eG1sVUNTSXNUZWx1Z3U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNUaGFhbmEiPnhtbFVDU0lzVGhhYW5hPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzVGhhaSI+eG1sVUNTSXNUaGFpPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzVGliZXRhbiI+eG1sVUNTSXNUaWJldGFuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzVWdhcml0aWMiPnhtbFVDU0lzVWdhcml0aWM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNVbmlmaWVkQ2FuYWRpYW5BYm9yaWdpbmFsU3lsbGFiaWNzIj54bWxVQ1NJc1VuaWZpZWRDYW5hZGlhbkFib3JpZ2luYWxTeWxsYWJpY3M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNWYXJpYXRpb25TZWxlY3RvcnMiPnhtbFVDU0lzVmFyaWF0aW9uU2VsZWN0b3JzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzVmFyaWF0aW9uU2VsZWN0b3JzU3VwcGxlbWVudCI+eG1sVUNTSXNWYXJpYXRpb25TZWxlY3RvcnNTdXBwbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzWWlSYWRpY2FscyI+eG1sVUNTSXNZaVJhZGljYWxzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzWWlTeWxsYWJsZXMiPnhtbFVDU0lzWWlTeWxsYWJsZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNZaWppbmdIZXhhZ3JhbVN5bWJvbHMiPnhtbFVDU0lzWWlqaW5nSGV4YWdyYW1TeW1ib2xzPC9hPjxiciAvPgorPC9wPjxoMj48YSBuYW1lPSJ4bWx2ZXJzaW9uIiBpZD0ieG1sdmVyc2lvbiI+TW9kdWxlIHhtbHZlcnNpb248L2E+OjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0FUVFJJQlVURV9VTlVTRUQiPkFUVFJJQlVURV9VTlVTRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjREVCVUdfTUVNT1JZX0xPQ0FUSU9OIj5ERUJVR19NRU1PUllfTE9DQVRJT048L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX0FUVFJfQUxMT0NfU0laRSI+TElCWE1MX0FUVFJfQUxMT0NfU0laRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfQVRUUl9GT1JNQVQiPkxJQlhNTF9BVFRSX0ZPUk1BVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfQVVUT01BVEFfRU5BQkxFRCI+TElCWE1MX0FVVE9NQVRBX0VOQUJMRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX0MxNE5fRU5BQkxFRCI+TElCWE1MX0MxNE5fRU5BQkxFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfQ0FUQUxPR19FTkFCTEVEIj5MSUJYTUxfQ0FUQUxPR19FTkFCTEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9ERUJVR19FTkFCTEVEIj5MSUJYTUxfREVCVUdfRU5BQkxFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfREVCVUdfUlVOVElNRSI+TElCWE1MX0RFQlVHX1JVTlRJTUU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX0RPQ0JfRU5BQkxFRCI+TElCWE1MX0RPQ0JfRU5BQkxFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfRE9UVEVEX1ZFUlNJT04iPkxJQlhNTF9ET1RURURfVkVSU0lPTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfRVhQUl9FTkFCTEVEIj5MSUJYTUxfRVhQUl9FTkFCTEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9GVFBfRU5BQkxFRCI+TElCWE1MX0ZUUF9FTkFCTEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9IVE1MX0VOQUJMRUQiPkxJQlhNTF9IVE1MX0VOQUJMRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX0hUVFBfRU5BQkxFRCI+TElCWE1MX0hUVFBfRU5BQkxFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfSUNPTlZfRU5BQkxFRCI+TElCWE1MX0lDT05WX0VOQUJMRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX0lDVV9FTkFCTEVEIj5MSUJYTUxfSUNVX0VOQUJMRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX0lTTzg4NTlYX0VOQUJMRUQiPkxJQlhNTF9JU084ODU5WF9FTkFCTEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9MRUdBQ1lfRU5BQkxFRCI+TElCWE1MX0xFR0FDWV9FTkFCTEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9MWk1BX0VOQUJMRUQiPkxJQlhNTF9MWk1BX0VOQUJMRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX01PRFVMRVNfRU5BQkxFRCI+TElCWE1MX01PRFVMRVNfRU5BQkxFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfTU9EVUxFX0VYVEVOU0lPTiI+TElCWE1MX01PRFVMRV9FWFRFTlNJT048L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX09VVFBVVF9FTkFCTEVEIj5MSUJYTUxfT1VUUFVUX0VOQUJMRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX1BBVFRFUk5fRU5BQkxFRCI+TElCWE1MX1BBVFRFUk5fRU5BQkxFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfUFVTSF9FTkFCTEVEIj5MSUJYTUxfUFVTSF9FTkFCTEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9SRUFERVJfRU5BQkxFRCI+TElCWE1MX1JFQURFUl9FTkFCTEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9SRUdFWFBfRU5BQkxFRCI+TElCWE1MX1JFR0VYUF9FTkFCTEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9TQVgxX0VOQUJMRUQiPkxJQlhNTF9TQVgxX0VOQUJMRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX1NDSEVNQVNfRU5BQkxFRCI+TElCWE1MX1NDSEVNQVNfRU5BQkxFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfU0NIRU1BVFJPTl9FTkFCTEVEIj5MSUJYTUxfU0NIRU1BVFJPTl9FTkFCTEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9URVNUX1ZFUlNJT04iPkxJQlhNTF9URVNUX1ZFUlNJT048L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX1RIUkVBRF9BTExPQ19FTkFCTEVEIj5MSUJYTUxfVEhSRUFEX0FMTE9DX0VOQUJMRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX1RIUkVBRF9FTkFCTEVEIj5MSUJYTUxfVEhSRUFEX0VOQUJMRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX1RSRUVfRU5BQkxFRCI+TElCWE1MX1RSRUVfRU5BQkxFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfVU5JQ09ERV9FTkFCTEVEIj5MSUJYTUxfVU5JQ09ERV9FTkFCTEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9WQUxJRF9FTkFCTEVEIj5MSUJYTUxfVkFMSURfRU5BQkxFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfVkVSU0lPTiI+TElCWE1MX1ZFUlNJT048L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX1ZFUlNJT05fRVhUUkEiPkxJQlhNTF9WRVJTSU9OX0VYVFJBPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9WRVJTSU9OX1NUUklORyI+TElCWE1MX1ZFUlNJT05fU1RSSU5HPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9XUklURVJfRU5BQkxFRCI+TElCWE1MX1dSSVRFUl9FTkFCTEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9YSU5DTFVERV9FTkFCTEVEIj5MSUJYTUxfWElOQ0xVREVfRU5BQkxFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfWFBBVEhfRU5BQkxFRCI+TElCWE1MX1hQQVRIX0VOQUJMRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX1hQVFJfRU5BQkxFRCI+TElCWE1MX1hQVFJfRU5BQkxFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfWkxJQl9FTkFCTEVEIj5MSUJYTUxfWkxJQl9FTkFCTEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI1dJVEhPVVRfVFJJTyI+V0lUSE9VVF9UUklPPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI1dJVEhfVFJJTyI+V0lUSF9UUklPPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI3htbENoZWNrVmVyc2lvbiI+eG1sQ2hlY2tWZXJzaW9uPC9hPjxiciAvPgorPC9wPjxoMj48YSBuYW1lPSJ4bWx3cml0ZXIiIGlkPSJ4bWx3cml0ZXIiPk1vZHVsZSB4bWx3cml0ZXI8L2E+OjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sRnJlZVRleHRXcml0ZXIiPnhtbEZyZWVUZXh0V3JpdGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sTmV3VGV4dFdyaXRlciI+eG1sTmV3VGV4dFdyaXRlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbE5ld1RleHRXcml0ZXJEb2MiPnhtbE5ld1RleHRXcml0ZXJEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxOZXdUZXh0V3JpdGVyRmlsZW5hbWUiPnhtbE5ld1RleHRXcml0ZXJGaWxlbmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbE5ld1RleHRXcml0ZXJNZW1vcnkiPnhtbE5ld1RleHRXcml0ZXJNZW1vcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxOZXdUZXh0V3JpdGVyUHVzaFBhcnNlciI+eG1sTmV3VGV4dFdyaXRlclB1c2hQYXJzZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxOZXdUZXh0V3JpdGVyVHJlZSI+eG1sTmV3VGV4dFdyaXRlclRyZWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyIj54bWxUZXh0V3JpdGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlckVuZEF0dHJpYnV0ZSI+eG1sVGV4dFdyaXRlckVuZEF0dHJpYnV0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJFbmRDREFUQSI+eG1sVGV4dFdyaXRlckVuZENEQVRBPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlckVuZENvbW1lbnQiPnhtbFRleHRXcml0ZXJFbmRDb21tZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlckVuZERURCI+eG1sVGV4dFdyaXRlckVuZERURDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJFbmREVERBdHRsaXN0Ij54bWxUZXh0V3JpdGVyRW5kRFREQXR0bGlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJFbmREVERFbGVtZW50Ij54bWxUZXh0V3JpdGVyRW5kRFRERWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJFbmREVERFbnRpdHkiPnhtbFRleHRXcml0ZXJFbmREVERFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyRW5kRG9jdW1lbnQiPnhtbFRleHRXcml0ZXJFbmREb2N1bWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJFbmRFbGVtZW50Ij54bWxUZXh0V3JpdGVyRW5kRWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJFbmRQSSI+eG1sVGV4dFdyaXRlckVuZFBJPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlckZsdXNoIj54bWxUZXh0V3JpdGVyRmx1c2g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyRnVsbEVuZEVsZW1lbnQiPnhtbFRleHRXcml0ZXJGdWxsRW5kRWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyU2V0SW5kZW50Ij54bWxUZXh0V3JpdGVyU2V0SW5kZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclNldEluZGVudFN0cmluZyI+eG1sVGV4dFdyaXRlclNldEluZGVudFN0cmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJTZXRRdW90ZUNoYXIiPnhtbFRleHRXcml0ZXJTZXRRdW90ZUNoYXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyU3RhcnRBdHRyaWJ1dGUiPnhtbFRleHRXcml0ZXJTdGFydEF0dHJpYnV0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJTdGFydEF0dHJpYnV0ZU5TIj54bWxUZXh0V3JpdGVyU3RhcnRBdHRyaWJ1dGVOUzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJTdGFydENEQVRBIj54bWxUZXh0V3JpdGVyU3RhcnRDREFUQTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJTdGFydENvbW1lbnQiPnhtbFRleHRXcml0ZXJTdGFydENvbW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyU3RhcnREVEQiPnhtbFRleHRXcml0ZXJTdGFydERURDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJTdGFydERUREF0dGxpc3QiPnhtbFRleHRXcml0ZXJTdGFydERUREF0dGxpc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyU3RhcnREVERFbGVtZW50Ij54bWxUZXh0V3JpdGVyU3RhcnREVERFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclN0YXJ0RFRERW50aXR5Ij54bWxUZXh0V3JpdGVyU3RhcnREVERFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyU3RhcnREb2N1bWVudCI+eG1sVGV4dFdyaXRlclN0YXJ0RG9jdW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyU3RhcnRFbGVtZW50Ij54bWxUZXh0V3JpdGVyU3RhcnRFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclN0YXJ0RWxlbWVudE5TIj54bWxUZXh0V3JpdGVyU3RhcnRFbGVtZW50TlM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyU3RhcnRQSSI+eG1sVGV4dFdyaXRlclN0YXJ0UEk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVBdHRyaWJ1dGUiPnhtbFRleHRXcml0ZXJXcml0ZUF0dHJpYnV0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZUF0dHJpYnV0ZU5TIj54bWxUZXh0V3JpdGVyV3JpdGVBdHRyaWJ1dGVOUzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZUJhc2U2NCI+eG1sVGV4dFdyaXRlcldyaXRlQmFzZTY0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlQmluSGV4Ij54bWxUZXh0V3JpdGVyV3JpdGVCaW5IZXg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVDREFUQSI+eG1sVGV4dFdyaXRlcldyaXRlQ0RBVEE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVDb21tZW50Ij54bWxUZXh0V3JpdGVyV3JpdGVDb21tZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRFREIj54bWxUZXh0V3JpdGVyV3JpdGVEVEQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVEVERBdHRsaXN0Ij54bWxUZXh0V3JpdGVyV3JpdGVEVERBdHRsaXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRFRERWxlbWVudCI+eG1sVGV4dFdyaXRlcldyaXRlRFRERWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZURUREVudGl0eSI+eG1sVGV4dFdyaXRlcldyaXRlRFRERW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRFRERXh0ZXJuYWxFbnRpdHkiPnhtbFRleHRXcml0ZXJXcml0ZURUREV4dGVybmFsRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRFRERXh0ZXJuYWxFbnRpdHlDb250ZW50cyI+eG1sVGV4dFdyaXRlcldyaXRlRFRERXh0ZXJuYWxFbnRpdHlDb250ZW50czwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZURUREludGVybmFsRW50aXR5Ij54bWxUZXh0V3JpdGVyV3JpdGVEVERJbnRlcm5hbEVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZURURE5vdGF0aW9uIj54bWxUZXh0V3JpdGVyV3JpdGVEVEROb3RhdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZURvY1R5cGUiPnhtbFRleHRXcml0ZXJXcml0ZURvY1R5cGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVFbGVtZW50Ij54bWxUZXh0V3JpdGVyV3JpdGVFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRWxlbWVudE5TIj54bWxUZXh0V3JpdGVyV3JpdGVFbGVtZW50TlM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRBdHRyaWJ1dGUiPnhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdEF0dHJpYnV0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdEF0dHJpYnV0ZU5TIj54bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRBdHRyaWJ1dGVOUzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdENEQVRBIj54bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRDREFUQTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdENvbW1lbnQiPnhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdENvbW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVEQiPnhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdERURDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdERUREF0dGxpc3QiPnhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdERUREF0dGxpc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVERFbGVtZW50Ij54bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVERFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFRESW50ZXJuYWxFbnRpdHkiPnhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdERUREludGVybmFsRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RWxlbWVudCI+eG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdEVsZW1lbnROUyI+eG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RWxlbWVudE5TPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0UEkiPnhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdFBJPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0UmF3Ij54bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRSYXc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRTdHJpbmciPnhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdFN0cmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZVBJIj54bWxUZXh0V3JpdGVyV3JpdGVQSTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZVByb2Nlc3NpbmdJbnN0cnVjdGlvbiI+eG1sVGV4dFdyaXRlcldyaXRlUHJvY2Vzc2luZ0luc3RydWN0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlUmF3Ij54bWxUZXh0V3JpdGVyV3JpdGVSYXc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVSYXdMZW4iPnhtbFRleHRXcml0ZXJXcml0ZVJhd0xlbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZVN0cmluZyI+eG1sVGV4dFdyaXRlcldyaXRlU3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEF0dHJpYnV0ZSI+eG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEF0dHJpYnV0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRBdHRyaWJ1dGVOUyI+eG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEF0dHJpYnV0ZU5TPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdENEQVRBIj54bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0Q0RBVEE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0Q29tbWVudCI+eG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdENvbW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFREIj54bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFREPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREF0dGxpc3QiPnhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVERBdHRsaXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREVsZW1lbnQiPnhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVERFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREludGVybmFsRW50aXR5Ij54bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFRESW50ZXJuYWxFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RWxlbWVudCI+eG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RWxlbWVudE5TIj54bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RWxlbWVudE5TPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdFBJIj54bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0UEk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0UmF3Ij54bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0UmF3PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdFN0cmluZyI+eG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdFN0cmluZzwvYT48YnIgLz4KKzwvcD48aDI+PGEgbmFtZT0ieHBhdGgiIGlkPSJ4cGF0aCI+TW9kdWxlIHhwYXRoPC9hPjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjWE1MX1hQQVRIX0NIRUNLTlMiPlhNTF9YUEFUSF9DSEVDS05TPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCNYTUxfWFBBVEhfTk9WQVIiPlhNTF9YUEFUSF9OT1ZBUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjWFBBVEhfQk9PTEVBTiI+WFBBVEhfQk9PTEVBTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjWFBBVEhfRU5DT0RJTkdfRVJST1IiPlhQQVRIX0VOQ09ESU5HX0VSUk9SPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCNYUEFUSF9FWFBSRVNTSU9OX09LIj5YUEFUSF9FWFBSRVNTSU9OX09LPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCNYUEFUSF9FWFBSX0VSUk9SIj5YUEFUSF9FWFBSX0VSUk9SPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCNYUEFUSF9GT1JCSURfVkFSSUFCTEVfRVJST1IiPlhQQVRIX0ZPUkJJRF9WQVJJQUJMRV9FUlJPUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjWFBBVEhfSU5WQUxJRF9BUklUWSI+WFBBVEhfSU5WQUxJRF9BUklUWTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjWFBBVEhfSU5WQUxJRF9DSEFSX0VSUk9SIj5YUEFUSF9JTlZBTElEX0NIQVJfRVJST1I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI1hQQVRIX0lOVkFMSURfQ1RYVCI+WFBBVEhfSU5WQUxJRF9DVFhUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCNYUEFUSF9JTlZBTElEX0NUWFRfUE9TSVRJT04iPlhQQVRIX0lOVkFMSURfQ1RYVF9QT1NJVElPTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjWFBBVEhfSU5WQUxJRF9DVFhUX1NJWkUiPlhQQVRIX0lOVkFMSURfQ1RYVF9TSVpFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCNYUEFUSF9JTlZBTElEX09QRVJBTkQiPlhQQVRIX0lOVkFMSURfT1BFUkFORDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjWFBBVEhfSU5WQUxJRF9QUkVESUNBVEVfRVJST1IiPlhQQVRIX0lOVkFMSURfUFJFRElDQVRFX0VSUk9SPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCNYUEFUSF9JTlZBTElEX1RZUEUiPlhQQVRIX0lOVkFMSURfVFlQRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjWFBBVEhfTE9DQVRJT05TRVQiPlhQQVRIX0xPQ0FUSU9OU0VUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCNYUEFUSF9NRU1PUllfRVJST1IiPlhQQVRIX01FTU9SWV9FUlJPUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjWFBBVEhfTk9ERVNFVCI+WFBBVEhfTk9ERVNFVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjWFBBVEhfTlVNQkVSIj5YUEFUSF9OVU1CRVI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI1hQQVRIX05VTUJFUl9FUlJPUiI+WFBBVEhfTlVNQkVSX0VSUk9SPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCNYUEFUSF9QT0lOVCI+WFBBVEhfUE9JTlQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI1hQQVRIX1JBTkdFIj5YUEFUSF9SQU5HRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjWFBBVEhfU1RBQ0tfRVJST1IiPlhQQVRIX1NUQUNLX0VSUk9SPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCNYUEFUSF9TVEFSVF9MSVRFUkFMX0VSUk9SIj5YUEFUSF9TVEFSVF9MSVRFUkFMX0VSUk9SPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCNYUEFUSF9TVFJJTkciPlhQQVRIX1NUUklORzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjWFBBVEhfVU5DTE9TRURfRVJST1IiPlhQQVRIX1VOQ0xPU0VEX0VSUk9SPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCNYUEFUSF9VTkRFRklORUQiPlhQQVRIX1VOREVGSU5FRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjWFBBVEhfVU5ERUZfUFJFRklYX0VSUk9SIj5YUEFUSF9VTkRFRl9QUkVGSVhfRVJST1I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI1hQQVRIX1VOREVGX1ZBUklBQkxFX0VSUk9SIj5YUEFUSF9VTkRFRl9WQVJJQUJMRV9FUlJPUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjWFBBVEhfVU5GSU5JU0hFRF9MSVRFUkFMX0VSUk9SIj5YUEFUSF9VTkZJTklTSEVEX0xJVEVSQUxfRVJST1I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI1hQQVRIX1VOS05PV05fRlVOQ19FUlJPUiI+WFBBVEhfVU5LTk9XTl9GVU5DX0VSUk9SPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCNYUEFUSF9VU0VSUyI+WFBBVEhfVVNFUlM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI1hQQVRIX1ZBUklBQkxFX1JFRl9FUlJPUiI+WFBBVEhfVkFSSUFCTEVfUkVGX0VSUk9SPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCNYUEFUSF9YU0xUX1RSRUUiPlhQQVRIX1hTTFRfVFJFRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjWFBUUl9SRVNPVVJDRV9FUlJPUiI+WFBUUl9SRVNPVVJDRV9FUlJPUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjWFBUUl9TVUJfUkVTT1VSQ0VfRVJST1IiPlhQVFJfU1VCX1JFU09VUkNFX0VSUk9SPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCNYUFRSX1NZTlRBWF9FUlJPUiI+WFBUUl9TWU5UQVhfRVJST1I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI194bWxOb2RlU2V0Ij5feG1sTm9kZVNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjX3htbFhQYXRoQXhpcyI+X3htbFhQYXRoQXhpczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjX3htbFhQYXRoQ29udGV4dCI+X3htbFhQYXRoQ29udGV4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjX3htbFhQYXRoRnVuY3QiPl94bWxYUGF0aEZ1bmN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCNfeG1sWFBhdGhPYmplY3QiPl94bWxYUGF0aE9iamVjdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjX3htbFhQYXRoUGFyc2VyQ29udGV4dCI+X3htbFhQYXRoUGFyc2VyQ29udGV4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjX3htbFhQYXRoVHlwZSI+X3htbFhQYXRoVHlwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjX3htbFhQYXRoVmFyaWFibGUiPl94bWxYUGF0aFZhcmlhYmxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0Ij54bWxOb2RlU2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aEF4aXMiPnhtbFhQYXRoQXhpczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhBeGlzRnVuYyI+eG1sWFBhdGhBeGlzRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhBeGlzUHRyIj54bWxYUGF0aEF4aXNQdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ2FzdEJvb2xlYW5Ub051bWJlciI+eG1sWFBhdGhDYXN0Qm9vbGVhblRvTnVtYmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENhc3RCb29sZWFuVG9TdHJpbmciPnhtbFhQYXRoQ2FzdEJvb2xlYW5Ub1N0cmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDYXN0Tm9kZVNldFRvQm9vbGVhbiI+eG1sWFBhdGhDYXN0Tm9kZVNldFRvQm9vbGVhbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDYXN0Tm9kZVNldFRvTnVtYmVyIj54bWxYUGF0aENhc3ROb2RlU2V0VG9OdW1iZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ2FzdE5vZGVTZXRUb1N0cmluZyI+eG1sWFBhdGhDYXN0Tm9kZVNldFRvU3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENhc3ROb2RlVG9OdW1iZXIiPnhtbFhQYXRoQ2FzdE5vZGVUb051bWJlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDYXN0Tm9kZVRvU3RyaW5nIj54bWxYUGF0aENhc3ROb2RlVG9TdHJpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ2FzdE51bWJlclRvQm9vbGVhbiI+eG1sWFBhdGhDYXN0TnVtYmVyVG9Cb29sZWFuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENhc3ROdW1iZXJUb1N0cmluZyI+eG1sWFBhdGhDYXN0TnVtYmVyVG9TdHJpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ2FzdFN0cmluZ1RvQm9vbGVhbiI+eG1sWFBhdGhDYXN0U3RyaW5nVG9Cb29sZWFuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENhc3RTdHJpbmdUb051bWJlciI+eG1sWFBhdGhDYXN0U3RyaW5nVG9OdW1iZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ2FzdFRvQm9vbGVhbiI+eG1sWFBhdGhDYXN0VG9Cb29sZWFuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENhc3RUb051bWJlciI+eG1sWFBhdGhDYXN0VG9OdW1iZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ2FzdFRvU3RyaW5nIj54bWxYUGF0aENhc3RUb1N0cmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDbXBOb2RlcyI+eG1sWFBhdGhDbXBOb2RlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb21wRXhwciI+eG1sWFBhdGhDb21wRXhwcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb21wRXhwclB0ciI+eG1sWFBhdGhDb21wRXhwclB0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb21waWxlIj54bWxYUGF0aENvbXBpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29tcGlsZWRFdmFsIj54bWxYUGF0aENvbXBpbGVkRXZhbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb21waWxlZEV2YWxUb0Jvb2xlYW4iPnhtbFhQYXRoQ29tcGlsZWRFdmFsVG9Cb29sZWFuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHQiPnhtbFhQYXRoQ29udGV4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0UHRyIj54bWxYUGF0aENvbnRleHRQdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFNldENhY2hlIj54bWxYUGF0aENvbnRleHRTZXRDYWNoZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb252ZXJ0Qm9vbGVhbiI+eG1sWFBhdGhDb252ZXJ0Qm9vbGVhbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb252ZXJ0RnVuYyI+eG1sWFBhdGhDb252ZXJ0RnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb252ZXJ0TnVtYmVyIj54bWxYUGF0aENvbnZlcnROdW1iZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udmVydFN0cmluZyI+eG1sWFBhdGhDb252ZXJ0U3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aEN0eHRDb21waWxlIj54bWxYUGF0aEN0eHRDb21waWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aEVycm9yIj54bWxYUGF0aEVycm9yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aEV2YWwiPnhtbFhQYXRoRXZhbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhFdmFsRXhwcmVzc2lvbiI+eG1sWFBhdGhFdmFsRXhwcmVzc2lvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhFdmFsRnVuYyI+eG1sWFBhdGhFdmFsRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhFdmFsUHJlZGljYXRlIj54bWxYUGF0aEV2YWxQcmVkaWNhdGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoRnJlZUNvbXBFeHByIj54bWxYUGF0aEZyZWVDb21wRXhwcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhGcmVlQ29udGV4dCI+eG1sWFBhdGhGcmVlQ29udGV4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhGcmVlTm9kZVNldCI+eG1sWFBhdGhGcmVlTm9kZVNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhGcmVlTm9kZVNldExpc3QiPnhtbFhQYXRoRnJlZU5vZGVTZXRMaXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aEZyZWVPYmplY3QiPnhtbFhQYXRoRnJlZU9iamVjdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhGdW5jTG9va3VwRnVuYyI+eG1sWFBhdGhGdW5jTG9va3VwRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhGdW5jUHRyIj54bWxYUGF0aEZ1bmNQdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoRnVuY3QiPnhtbFhQYXRoRnVuY3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoRnVuY3Rpb24iPnhtbFhQYXRoRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoSW5pdCI+eG1sWFBhdGhJbml0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aElzSW5mIj54bWxYUGF0aElzSW5mPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aElzTmFOIj54bWxYUGF0aElzTmFOPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE5BTiI+eG1sWFBhdGhOQU48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoTklORiI+eG1sWFBhdGhOSU5GPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE5ld0NvbnRleHQiPnhtbFhQYXRoTmV3Q29udGV4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhOb2RlRXZhbCI+eG1sWFBhdGhOb2RlRXZhbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhOb2RlU2V0Q3JlYXRlIj54bWxYUGF0aE5vZGVTZXRDcmVhdGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoTm9kZVNldEdldExlbmd0aCI+eG1sWFBhdGhOb2RlU2V0R2V0TGVuZ3RoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE5vZGVTZXRJc0VtcHR5Ij54bWxYUGF0aE5vZGVTZXRJc0VtcHR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE5vZGVTZXRJdGVtIj54bWxYUGF0aE5vZGVTZXRJdGVtPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdCI+eG1sWFBhdGhPYmplY3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0Q29weSI+eG1sWFBhdGhPYmplY3RDb3B5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0VHlwZSI+eG1sWFBhdGhPYmplY3RUeXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9yZGVyRG9jRWxlbXMiPnhtbFhQYXRoT3JkZXJEb2NFbGVtczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQSU5GIj54bWxYUGF0aFBJTkY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dCI+eG1sWFBhdGhQYXJzZXJDb250ZXh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhTZXRDb250ZXh0Tm9kZSI+eG1sWFBhdGhTZXRDb250ZXh0Tm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhUeXBlIj54bWxYUGF0aFR5cGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoVHlwZVB0ciI+eG1sWFBhdGhUeXBlUHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFZhcmlhYmxlIj54bWxYUGF0aFZhcmlhYmxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFZhcmlhYmxlTG9va3VwRnVuYyI+eG1sWFBhdGhWYXJpYWJsZUxvb2t1cEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoVmFyaWFibGVQdHIiPnhtbFhQYXRoVmFyaWFibGVQdHI8L2E+PGJyIC8+Cis8L3A+PGgyPjxhIG5hbWU9InhwYXRoSW50ZXJuYWxzIiBpZD0ieHBhdGhJbnRlcm5hbHMiPk1vZHVsZSB4cGF0aEludGVybmFsczwvYT46PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI0NBU1RfVE9fQk9PTEVBTiI+Q0FTVF9UT19CT09MRUFOPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCNDQVNUX1RPX05VTUJFUiI+Q0FTVF9UT19OVU1CRVI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI0NBU1RfVE9fU1RSSU5HIj5DQVNUX1RPX1NUUklORzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjQ0hFQ0tfQVJJVFkiPkNIRUNLX0FSSVRZPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCNDSEVDS19FUlJPUiI+Q0hFQ0tfRVJST1I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI0NIRUNLX0VSUk9SMCI+Q0hFQ0tfRVJST1IwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCNDSEVDS19UWVBFIj5DSEVDS19UWVBFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCNDSEVDS19UWVBFMCI+Q0hFQ0tfVFlQRTA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI1hQX0VSUk9SIj5YUF9FUlJPUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjWFBfRVJST1IwIj5YUF9FUlJPUjA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3ZhbHVlUG9wIj52YWx1ZVBvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjdmFsdWVQdXNoIj52YWx1ZVB1c2g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoQWRkVmFsdWVzIj54bWxYUGF0aEFkZFZhbHVlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhCb29sZWFuRnVuY3Rpb24iPnhtbFhQYXRoQm9vbGVhbkZ1bmN0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aENlaWxpbmdGdW5jdGlvbiI+eG1sWFBhdGhDZWlsaW5nRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoQ2hlY2tFcnJvciI+eG1sWFBhdGhDaGVja0Vycm9yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aENvbXBhcmVWYWx1ZXMiPnhtbFhQYXRoQ29tcGFyZVZhbHVlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhDb25jYXRGdW5jdGlvbiI+eG1sWFBhdGhDb25jYXRGdW5jdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhDb250YWluc0Z1bmN0aW9uIj54bWxYUGF0aENvbnRhaW5zRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoQ291bnRGdW5jdGlvbiI+eG1sWFBhdGhDb3VudEZ1bmN0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aERlYnVnRHVtcENvbXBFeHByIj54bWxYUGF0aERlYnVnRHVtcENvbXBFeHByPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aERlYnVnRHVtcE9iamVjdCI+eG1sWFBhdGhEZWJ1Z0R1bXBPYmplY3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRGlmZmVyZW5jZSI+eG1sWFBhdGhEaWZmZXJlbmNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aERpc3RpbmN0Ij54bWxYUGF0aERpc3RpbmN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aERpc3RpbmN0U29ydGVkIj54bWxYUGF0aERpc3RpbmN0U29ydGVkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aERpdlZhbHVlcyI+eG1sWFBhdGhEaXZWYWx1ZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRW1wdHlOb2RlU2V0Ij54bWxYUGF0aEVtcHR5Tm9kZVNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhFcXVhbFZhbHVlcyI+eG1sWFBhdGhFcXVhbFZhbHVlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhFcnIiPnhtbFhQYXRoRXJyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEV2YWxFeHByIj54bWxYUGF0aEV2YWxFeHByPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEV2YWx1YXRlUHJlZGljYXRlUmVzdWx0Ij54bWxYUGF0aEV2YWx1YXRlUHJlZGljYXRlUmVzdWx0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEZhbHNlRnVuY3Rpb24iPnhtbFhQYXRoRmFsc2VGdW5jdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhGbG9vckZ1bmN0aW9uIj54bWxYUGF0aEZsb29yRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRnJlZVBhcnNlckNvbnRleHQiPnhtbFhQYXRoRnJlZVBhcnNlckNvbnRleHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRnVuY3Rpb25Mb29rdXAiPnhtbFhQYXRoRnVuY3Rpb25Mb29rdXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRnVuY3Rpb25Mb29rdXBOUyI+eG1sWFBhdGhGdW5jdGlvbkxvb2t1cE5TPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEdldENvbnRleHROb2RlIj54bWxYUGF0aEdldENvbnRleHROb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEdldERvY3VtZW50Ij54bWxYUGF0aEdldERvY3VtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEdldEVycm9yIj54bWxYUGF0aEdldEVycm9yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEhhc1NhbWVOb2RlcyI+eG1sWFBhdGhIYXNTYW1lTm9kZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoSWRGdW5jdGlvbiI+eG1sWFBhdGhJZEZ1bmN0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEludGVyc2VjdGlvbiI+eG1sWFBhdGhJbnRlcnNlY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoSXNOb2RlVHlwZSI+eG1sWFBhdGhJc05vZGVUeXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aExhbmdGdW5jdGlvbiI+eG1sWFBhdGhMYW5nRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTGFzdEZ1bmN0aW9uIj54bWxYUGF0aExhc3RGdW5jdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhMZWFkaW5nIj54bWxYUGF0aExlYWRpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTGVhZGluZ1NvcnRlZCI+eG1sWFBhdGhMZWFkaW5nU29ydGVkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aExvY2FsTmFtZUZ1bmN0aW9uIj54bWxYUGF0aExvY2FsTmFtZUZ1bmN0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE1vZFZhbHVlcyI+eG1sWFBhdGhNb2RWYWx1ZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTXVsdFZhbHVlcyI+eG1sWFBhdGhNdWx0VmFsdWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5hbWVzcGFjZVVSSUZ1bmN0aW9uIj54bWxYUGF0aE5hbWVzcGFjZVVSSUZ1bmN0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5ld0Jvb2xlYW4iPnhtbFhQYXRoTmV3Qm9vbGVhbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXdDU3RyaW5nIj54bWxYUGF0aE5ld0NTdHJpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV3RmxvYXQiPnhtbFhQYXRoTmV3RmxvYXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV3Tm9kZVNldCI+eG1sWFBhdGhOZXdOb2RlU2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5ld05vZGVTZXRMaXN0Ij54bWxYUGF0aE5ld05vZGVTZXRMaXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5ld1BhcnNlckNvbnRleHQiPnhtbFhQYXRoTmV3UGFyc2VyQ29udGV4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXdTdHJpbmciPnhtbFhQYXRoTmV3U3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5ld1ZhbHVlVHJlZSI+eG1sWFBhdGhOZXdWYWx1ZVRyZWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV4dEFuY2VzdG9yIj54bWxYUGF0aE5leHRBbmNlc3RvcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXh0QW5jZXN0b3JPclNlbGYiPnhtbFhQYXRoTmV4dEFuY2VzdG9yT3JTZWxmPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHRBdHRyaWJ1dGUiPnhtbFhQYXRoTmV4dEF0dHJpYnV0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXh0Q2hpbGQiPnhtbFhQYXRoTmV4dENoaWxkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHREZXNjZW5kYW50Ij54bWxYUGF0aE5leHREZXNjZW5kYW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHREZXNjZW5kYW50T3JTZWxmIj54bWxYUGF0aE5leHREZXNjZW5kYW50T3JTZWxmPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHRGb2xsb3dpbmciPnhtbFhQYXRoTmV4dEZvbGxvd2luZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXh0Rm9sbG93aW5nU2libGluZyI+eG1sWFBhdGhOZXh0Rm9sbG93aW5nU2libGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXh0TmFtZXNwYWNlIj54bWxYUGF0aE5leHROYW1lc3BhY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV4dFBhcmVudCI+eG1sWFBhdGhOZXh0UGFyZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHRQcmVjZWRpbmciPnhtbFhQYXRoTmV4dFByZWNlZGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXh0UHJlY2VkaW5nU2libGluZyI+eG1sWFBhdGhOZXh0UHJlY2VkaW5nU2libGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXh0U2VsZiI+eG1sWFBhdGhOZXh0U2VsZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb2RlTGVhZGluZyI+eG1sWFBhdGhOb2RlTGVhZGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb2RlTGVhZGluZ1NvcnRlZCI+eG1sWFBhdGhOb2RlTGVhZGluZ1NvcnRlZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb2RlU2V0QWRkIj54bWxYUGF0aE5vZGVTZXRBZGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9kZVNldEFkZE5zIj54bWxYUGF0aE5vZGVTZXRBZGROczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb2RlU2V0QWRkVW5pcXVlIj54bWxYUGF0aE5vZGVTZXRBZGRVbmlxdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9kZVNldENvbnRhaW5zIj54bWxYUGF0aE5vZGVTZXRDb250YWluczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb2RlU2V0RGVsIj54bWxYUGF0aE5vZGVTZXREZWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9kZVNldEZyZWVOcyI+eG1sWFBhdGhOb2RlU2V0RnJlZU5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vZGVTZXRNZXJnZSI+eG1sWFBhdGhOb2RlU2V0TWVyZ2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9kZVNldFJlbW92ZSI+eG1sWFBhdGhOb2RlU2V0UmVtb3ZlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vZGVTZXRTb3J0Ij54bWxYUGF0aE5vZGVTZXRTb3J0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vZGVUcmFpbGluZyI+eG1sWFBhdGhOb2RlVHJhaWxpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9kZVRyYWlsaW5nU29ydGVkIj54bWxYUGF0aE5vZGVUcmFpbGluZ1NvcnRlZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb3JtYWxpemVGdW5jdGlvbiI+eG1sWFBhdGhOb3JtYWxpemVGdW5jdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb3RFcXVhbFZhbHVlcyI+eG1sWFBhdGhOb3RFcXVhbFZhbHVlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb3RGdW5jdGlvbiI+eG1sWFBhdGhOb3RGdW5jdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOc0xvb2t1cCI+eG1sWFBhdGhOc0xvb2t1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOdW1iZXJGdW5jdGlvbiI+eG1sWFBhdGhOdW1iZXJGdW5jdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhQYXJzZU5DTmFtZSI+eG1sWFBhdGhQYXJzZU5DTmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhQYXJzZU5hbWUiPnhtbFhQYXRoUGFyc2VOYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFBvcEJvb2xlYW4iPnhtbFhQYXRoUG9wQm9vbGVhbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhQb3BFeHRlcm5hbCI+eG1sWFBhdGhQb3BFeHRlcm5hbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhQb3BOb2RlU2V0Ij54bWxYUGF0aFBvcE5vZGVTZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUG9wTnVtYmVyIj54bWxYUGF0aFBvcE51bWJlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhQb3BTdHJpbmciPnhtbFhQYXRoUG9wU3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFBvc2l0aW9uRnVuY3Rpb24iPnhtbFhQYXRoUG9zaXRpb25GdW5jdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhSZWdpc3RlckFsbEZ1bmN0aW9ucyI+eG1sWFBhdGhSZWdpc3RlckFsbEZ1bmN0aW9uczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhSZWdpc3RlckZ1bmMiPnhtbFhQYXRoUmVnaXN0ZXJGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJlZ2lzdGVyRnVuY0xvb2t1cCI+eG1sWFBhdGhSZWdpc3RlckZ1bmNMb29rdXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmVnaXN0ZXJGdW5jTlMiPnhtbFhQYXRoUmVnaXN0ZXJGdW5jTlM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmVnaXN0ZXJOcyI+eG1sWFBhdGhSZWdpc3Rlck5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGUiPnhtbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlTG9va3VwIj54bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGVMb29rdXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZU5TIj54bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGVOUzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhSZWdpc3RlcmVkRnVuY3NDbGVhbnVwIj54bWxYUGF0aFJlZ2lzdGVyZWRGdW5jc0NsZWFudXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmVnaXN0ZXJlZE5zQ2xlYW51cCI+eG1sWFBhdGhSZWdpc3RlcmVkTnNDbGVhbnVwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJlZ2lzdGVyZWRWYXJpYWJsZXNDbGVhbnVwIj54bWxYUGF0aFJlZ2lzdGVyZWRWYXJpYWJsZXNDbGVhbnVwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJldHVybkJvb2xlYW4iPnhtbFhQYXRoUmV0dXJuQm9vbGVhbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhSZXR1cm5FbXB0eU5vZGVTZXQiPnhtbFhQYXRoUmV0dXJuRW1wdHlOb2RlU2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJldHVybkVtcHR5U3RyaW5nIj54bWxYUGF0aFJldHVybkVtcHR5U3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJldHVybkV4dGVybmFsIj54bWxYUGF0aFJldHVybkV4dGVybmFsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJldHVybkZhbHNlIj54bWxYUGF0aFJldHVybkZhbHNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJldHVybk5vZGVTZXQiPnhtbFhQYXRoUmV0dXJuTm9kZVNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhSZXR1cm5OdW1iZXIiPnhtbFhQYXRoUmV0dXJuTnVtYmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJldHVyblN0cmluZyI+eG1sWFBhdGhSZXR1cm5TdHJpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmV0dXJuVHJ1ZSI+eG1sWFBhdGhSZXR1cm5UcnVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJvb3QiPnhtbFhQYXRoUm9vdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhSb3VuZEZ1bmN0aW9uIj54bWxYUGF0aFJvdW5kRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU2V0QXJpdHlFcnJvciI+eG1sWFBhdGhTZXRBcml0eUVycm9yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFNldEVycm9yIj54bWxYUGF0aFNldEVycm9yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFNldFR5cGVFcnJvciI+eG1sWFBhdGhTZXRUeXBlRXJyb3I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU3RhY2tJc0V4dGVybmFsIj54bWxYUGF0aFN0YWNrSXNFeHRlcm5hbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdGFja0lzTm9kZVNldCI+eG1sWFBhdGhTdGFja0lzTm9kZVNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdGFydHNXaXRoRnVuY3Rpb24iPnhtbFhQYXRoU3RhcnRzV2l0aEZ1bmN0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFN0cmluZ0V2YWxOdW1iZXIiPnhtbFhQYXRoU3RyaW5nRXZhbE51bWJlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdHJpbmdGdW5jdGlvbiI+eG1sWFBhdGhTdHJpbmdGdW5jdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdHJpbmdMZW5ndGhGdW5jdGlvbiI+eG1sWFBhdGhTdHJpbmdMZW5ndGhGdW5jdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdWJWYWx1ZXMiPnhtbFhQYXRoU3ViVmFsdWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFN1YnN0cmluZ0FmdGVyRnVuY3Rpb24iPnhtbFhQYXRoU3Vic3RyaW5nQWZ0ZXJGdW5jdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdWJzdHJpbmdCZWZvcmVGdW5jdGlvbiI+eG1sWFBhdGhTdWJzdHJpbmdCZWZvcmVGdW5jdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdWJzdHJpbmdGdW5jdGlvbiI+eG1sWFBhdGhTdWJzdHJpbmdGdW5jdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdW1GdW5jdGlvbiI+eG1sWFBhdGhTdW1GdW5jdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhUcmFpbGluZyI+eG1sWFBhdGhUcmFpbGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhUcmFpbGluZ1NvcnRlZCI+eG1sWFBhdGhUcmFpbGluZ1NvcnRlZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhUcmFuc2xhdGVGdW5jdGlvbiI+eG1sWFBhdGhUcmFuc2xhdGVGdW5jdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhUcnVlRnVuY3Rpb24iPnhtbFhQYXRoVHJ1ZUZ1bmN0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFZhbHVlRmxpcFNpZ24iPnhtbFhQYXRoVmFsdWVGbGlwU2lnbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhWYXJpYWJsZUxvb2t1cCI+eG1sWFBhdGhWYXJpYWJsZUxvb2t1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhWYXJpYWJsZUxvb2t1cE5TIj54bWxYUGF0aFZhcmlhYmxlTG9va3VwTlM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoV3JhcENTdHJpbmciPnhtbFhQYXRoV3JhcENTdHJpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoV3JhcEV4dGVybmFsIj54bWxYUGF0aFdyYXBFeHRlcm5hbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhXcmFwTm9kZVNldCI+eG1sWFBhdGhXcmFwTm9kZVNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhXcmFwU3RyaW5nIj54bWxYUGF0aFdyYXBTdHJpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoZXJyb3IiPnhtbFhQYXRoZXJyb3I8L2E+PGJyIC8+Cis8L3A+PGgyPjxhIG5hbWU9Inhwb2ludGVyIiBpZD0ieHBvaW50ZXIiPk1vZHVsZSB4cG9pbnRlcjwvYT46PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI194bWxMb2NhdGlvblNldCI+X3htbExvY2F0aW9uU2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxMb2NhdGlvblNldCI+eG1sTG9jYXRpb25TZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbExvY2F0aW9uU2V0UHRyIj54bWxMb2NhdGlvblNldFB0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ckJ1aWxkTm9kZUxpc3QiPnhtbFhQdHJCdWlsZE5vZGVMaXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyRXZhbCI+eG1sWFB0ckV2YWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJFdmFsUmFuZ2VQcmVkaWNhdGUiPnhtbFhQdHJFdmFsUmFuZ2VQcmVkaWNhdGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJGcmVlTG9jYXRpb25TZXQiPnhtbFhQdHJGcmVlTG9jYXRpb25TZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJMb2NhdGlvblNldEFkZCI+eG1sWFB0ckxvY2F0aW9uU2V0QWRkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyTG9jYXRpb25TZXRDcmVhdGUiPnhtbFhQdHJMb2NhdGlvblNldENyZWF0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ckxvY2F0aW9uU2V0RGVsIj54bWxYUHRyTG9jYXRpb25TZXREZWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJMb2NhdGlvblNldE1lcmdlIj54bWxYUHRyTG9jYXRpb25TZXRNZXJnZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ckxvY2F0aW9uU2V0UmVtb3ZlIj54bWxYUHRyTG9jYXRpb25TZXRSZW1vdmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJOZXdDb2xsYXBzZWRSYW5nZSI+eG1sWFB0ck5ld0NvbGxhcHNlZFJhbmdlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyTmV3Q29udGV4dCI+eG1sWFB0ck5ld0NvbnRleHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJOZXdMb2NhdGlvblNldE5vZGVTZXQiPnhtbFhQdHJOZXdMb2NhdGlvblNldE5vZGVTZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJOZXdMb2NhdGlvblNldE5vZGVzIj54bWxYUHRyTmV3TG9jYXRpb25TZXROb2RlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ck5ld1JhbmdlIj54bWxYUHRyTmV3UmFuZ2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJOZXdSYW5nZU5vZGVPYmplY3QiPnhtbFhQdHJOZXdSYW5nZU5vZGVPYmplY3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJOZXdSYW5nZU5vZGVQb2ludCI+eG1sWFB0ck5ld1JhbmdlTm9kZVBvaW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyTmV3UmFuZ2VOb2RlcyI+eG1sWFB0ck5ld1JhbmdlTm9kZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJOZXdSYW5nZVBvaW50Tm9kZSI+eG1sWFB0ck5ld1JhbmdlUG9pbnROb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyTmV3UmFuZ2VQb2ludHMiPnhtbFhQdHJOZXdSYW5nZVBvaW50czwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0clJhbmdlVG9GdW5jdGlvbiI+eG1sWFB0clJhbmdlVG9GdW5jdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0cldyYXBMb2NhdGlvblNldCI+eG1sWFB0cldyYXBMb2NhdGlvblNldDwvYT48YnIgLz4KKzwvcD48cD48YSBocmVmPSJidWdzLmh0bWwiPkRhbmllbCBWZWlsbGFyZDwvYT48L3A+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL0FQSWZ1bmN0aW9ucy5odG1sIGIvbGlieG1sMi9kb2MvQVBJZnVuY3Rpb25zLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTAyN2FmZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL0FQSWZ1bmN0aW9ucy5odG1sCkBAIC0wLDAgKzEsMjM0NyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIj4KKzxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj48aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz48bGluayByZWw9IlNIT1JUQ1VUIElDT04iIGhyZWY9Ii9mYXZpY29uLmljbyIgLz48c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorVEQge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0JPRFkge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYTsgbWFyZ2luLXRvcDogMmVtOyBtYXJnaW4tbGVmdDogMGVtOyBtYXJnaW4tcmlnaHQ6IDBlbX0KK0gxIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMiB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDMge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0E6bGluaywgQTp2aXNpdGVkLCBBOmFjdGl2ZSB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIH0KKzwvc3R5bGU+PHRpdGxlPkxpc3Qgb2YgZnVuY3Rpb24gbWFuaXB1bGF0aW5nIHR5cGVzIGluIGxpYnhtbDI8L3RpdGxlPjwvaGVhZD48Ym9keSBiZ2NvbG9yPSIjOGI3NzY1IiB0ZXh0PSIjMDAwMDAwIiBsaW5rPSIjYTA2MDYwIiB2bGluaz0iIzAwMDAwMCI+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjEwMCUiIGNlbGxwYWRkaW5nPSI1IiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCB3aWR0aD0iMTIwIj48YSBocmVmPSJodHRwOi8vc3dwYXQuZmZpaS5vcmcvIj48aW1nIHNyYz0iZXBhdGVudHMucG5nIiBhbHQ9IkFjdGlvbiBhZ2FpbnN0IHNvZnR3YXJlIHBhdGVudHMiIC8+PC9hPjwvdGQ+PHRkIHdpZHRoPSIxODAiPjxhIGhyZWY9Imh0dHA6Ly93d3cuZ25vbWUub3JnLyI+PGltZyBzcmM9Imdub21lMi5wbmciIGFsdD0iR25vbWUyIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1N0YXR1cyI+PGltZyBzcmM9InczYy5wbmciIGFsdD0iVzNDIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cucmVkaGF0LmNvbS8iPjxpbWcgc3JjPSJyZWRoYXQuZ2lmIiBhbHQ9IlJlZCBIYXQgTG9nbyIgLz48L2E+PGRpdiBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnLyI+PGltZyBzcmM9IkxpYnhtbDItTG9nby0xODB4MTY4LmdpZiIgYWx0PSJNYWRlIHdpdGggTGlieG1sMiBMb2dvIiAvPjwvYT48L2Rpdj48L3RkPjx0ZD48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iOTAlIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyIgYmdjb2xvcj0iI2ZmZmFjZCI+PHRyPjx0ZCBhbGlnbj0iY2VudGVyIj48aDE+VGhlIFhNTCBDIHBhcnNlciBhbmQgdG9vbGtpdCBvZiBHbm9tZTwvaDE+PGgyPkxpc3Qgb2YgZnVuY3Rpb24gbWFuaXB1bGF0aW5nIHR5cGVzIGluIGxpYnhtbDI8L2gyPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI0IiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCB2YWxpZ249InRvcCIgd2lkdGg9IjIwMCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+RGV2ZWxvcGVyIE1lbnU8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PGZvcm0gYWN0aW9uPSJzZWFyY2gucGhwIiBlbmN0eXBlPSJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiIG1ldGhvZD0iZ2V0Ij48aW5wdXQgbmFtZT0icXVlcnkiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iIiAvPjxpbnB1dCBuYW1lPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNlYXJjaCAuLi4iIC8+PC9mb3JtPjx1bD48bGk+PGEgaHJlZj0iaW5kZXguaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPk1haW4gTWVudTwvYT48L2xpPjxsaT48YSBocmVmPSJodG1sL2luZGV4Lmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5SZWZlcmVuY2UgTWFudWFsPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImV4YW1wbGVzL2luZGV4Lmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5Db2RlIEV4YW1wbGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imd1aWRlbGluZXMuaHRtbCI+WE1MIEd1aWRlbGluZXM8L2E+PC9saT48bGk+PGEgaHJlZj0idHV0b3JpYWwvaW5kZXguaHRtbCI+VHV0b3JpYWw8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1scmVhZGVyLmh0bWwiPlRoZSBSZWFkZXIgSW50ZXJmYWNlPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkNoYW5nZUxvZy5odG1sIj5DaGFuZ2VMb2c8L2E+PC9saT48bGk+PGEgaHJlZj0iWFNMVC5odG1sIj5YU0xUPC9hPjwvbGk+PGxpPjxhIGhyZWY9InB5dGhvbi5odG1sIj5QeXRob24gYW5kIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImFyY2hpdGVjdHVyZS5odG1sIj5saWJ4bWwyIGFyY2hpdGVjdHVyZTwvYT48L2xpPjxsaT48YSBocmVmPSJ0cmVlLmh0bWwiPlRoZSB0cmVlIG91dHB1dDwvYT48L2xpPjxsaT48YSBocmVmPSJpbnRlcmZhY2UuaHRtbCI+VGhlIFNBWCBpbnRlcmZhY2U8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1sbWVtLmh0bWwiPk1lbW9yeSBNYW5hZ2VtZW50PC9hPjwvbGk+PGxpPjxhIGhyZWY9InhtbGlvLmh0bWwiPkkvTyBJbnRlcmZhY2VzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnJhcnkuaHRtbCI+VGhlIHBhcnNlciBpbnRlcmZhY2VzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImVudGl0aWVzLmh0bWwiPkVudGl0aWVzIG9yIG5vIGVudGl0aWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Im5hbWVzcGFjZXMuaHRtbCI+TmFtZXNwYWNlczwvYT48L2xpPjxsaT48YSBocmVmPSJ1cGdyYWRlLmh0bWwiPlVwZ3JhZGluZyAxLnggY29kZTwvYT48L2xpPjxsaT48YSBocmVmPSJ0aHJlYWRzLmh0bWwiPlRocmVhZCBzYWZldHk8L2E+PC9saT48bGk+PGEgaHJlZj0iRE9NLmh0bWwiPkRPTSBQcmluY2lwbGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImV4YW1wbGUuaHRtbCI+QSByZWFsIGV4YW1wbGU8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1sLmh0bWwiPmZsYXQgcGFnZTwvYT4sIDxhIGhyZWY9InNpdGUueHNsIj5zdHlsZXNoZWV0PC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+QVBJIEluZGV4ZXM8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSJBUEljaHVuazAuaHRtbCI+QWxwaGFiZXRpYzwvYT48L2xpPjxsaT48YSBocmVmPSJBUEljb25zdHJ1Y3RvcnMuaHRtbCI+Q29uc3RydWN0b3JzPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkFQSWZ1bmN0aW9ucy5odG1sIj5GdW5jdGlvbnMvVHlwZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iQVBJZmlsZXMuaHRtbCI+TW9kdWxlczwvYT48L2xpPjxsaT48YSBocmVmPSJBUElzeW1ib2xzLmh0bWwiPlN5bWJvbHM8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5SZWxhdGVkIGxpbmtzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iaHR0cDovL21haWwuZ25vbWUub3JnL2FyY2hpdmVzL3htbC8iPk1haWwgYXJjaGl2ZTwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvWFNMVC8iPlhTTFQgbGlieHNsdDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vcGhkLmNzLnVuaWJvLml0L2dkb21lMi8iPkRPTSBnZG9tZTI8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5hbGVrc2V5LmNvbS94bWxzZWMvIj5YTUwtRFNpZyB4bWxzZWM8L2E+PC9saT48bGk+PGEgaHJlZj0iZnRwOi8veG1sc29mdC5vcmcvIj5GVFA8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56bGF0a292aWMuY29tL3Byb2plY3RzL2xpYnhtbC8iPldpbmRvd3MgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL29wZW5jc3cub3JnL3BhY2thZ2VzL2xpYnhtbDIiPlNvbGFyaXMgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5leHBsYWluLmNvbS5hdS9vc3MvbGlieG1sMnhzbHQuaHRtbCI+TWFjT3NYIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9seG1sLmRlLyI+bHhtbCBQeXRob24gYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2NwYW4udXdpbm5pcGVnLmNhL2Rpc3QvWE1MLUxpYlhNTCI+UGVybCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1scGx1c3BsdXMuc291cmNlZm9yZ2UubmV0LyI+QysrIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemVuZC5jb20vcGhwNS9hcnRpY2xlcy9waHA1LXhtbHBocC5waHAjSGVhZGluZzQiPlBIUCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2xpYnhtbDItcGFzLyI+UGFzY2FsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWwucnVieWZvcmdlLm9yZy8iPlJ1YnkgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3RjbHhtbC5zb3VyY2Vmb3JnZS5uZXQvIj5UY2wgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9idWdsaXN0LmNnaT9wcm9kdWN0PWxpYnhtbDIiPkJ1ZyBUcmFja2VyPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIzIiBjZWxsc3BhY2luZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PGgyPlR5cGUgLi4uOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjZXJyb3JTQVhGdW5jIj5lcnJvclNBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNmYXRhbEVycm9yU0FYRnVuYyI+ZmF0YWxFcnJvclNBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN3YXJuaW5nU0FYRnVuYyI+d2FybmluZ1NBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI3htbEdlbmVyaWNFcnJvckZ1bmMiPnhtbEdlbmVyaWNFcnJvckZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI3htbFBhcnNlckVycm9yIj54bWxQYXJzZXJFcnJvcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sUGFyc2VyVmFsaWRpdHlFcnJvciI+eG1sUGFyc2VyVmFsaWRpdHlFcnJvcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sUGFyc2VyVmFsaWRpdHlXYXJuaW5nIj54bWxQYXJzZXJWYWxpZGl0eVdhcm5pbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI3htbFBhcnNlcldhcm5pbmciPnhtbFBhcnNlcldhcm5pbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1ZhbGlkaXR5RXJyb3JGdW5jIj54bWxSZWxheE5HVmFsaWRpdHlFcnJvckZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1ZhbGlkaXR5V2FybmluZ0Z1bmMiPnhtbFJlbGF4TkdWYWxpZGl0eVdhcm5pbmdGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkaXR5RXJyb3JGdW5jIj54bWxTY2hlbWFWYWxpZGl0eUVycm9yRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZGl0eVdhcm5pbmdGdW5jIj54bWxTY2hlbWFWYWxpZGl0eVdhcm5pbmdGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hdHJvbi5odG1sI3htbFNjaGVtYXRyb25WYWxpZGl0eUVycm9yRnVuYyI+eG1sU2NoZW1hdHJvblZhbGlkaXR5RXJyb3JGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hdHJvbi5odG1sI3htbFNjaGVtYXRyb25WYWxpZGl0eVdhcm5pbmdGdW5jIj54bWxTY2hlbWF0cm9uVmFsaWRpdHlXYXJuaW5nRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFN0clByaW50ZiI+eG1sU3RyUHJpbnRmPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0QXR0cmlidXRlIj54bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRBdHRyaWJ1dGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRBdHRyaWJ1dGVOUyI+eG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0QXR0cmlidXRlTlM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRDREFUQSI+eG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0Q0RBVEE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRDb21tZW50Ij54bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRDb21tZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFREIj54bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVEQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVERBdHRsaXN0Ij54bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVERBdHRsaXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFRERWxlbWVudCI+eG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFRERWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdERUREludGVybmFsRW50aXR5Ij54bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVERJbnRlcm5hbEVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdEVsZW1lbnQiPnhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdEVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRFbGVtZW50TlMiPnhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdEVsZW1lbnROUzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdFBJIj54bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRQSTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdFJhdyI+eG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0UmF3PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0U3RyaW5nIj54bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRTdHJpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkaXR5RXJyb3JGdW5jIj54bWxWYWxpZGl0eUVycm9yRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRpdHlXYXJuaW5nRnVuYyI+eG1sVmFsaWRpdHlXYXJuaW5nRnVuYzwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSBGSUxFICo6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI2h0bWxEb2NEdW1wIj5odG1sRG9jRHVtcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwjaHRtbE5vZGVEdW1wRmlsZSI+aHRtbE5vZGVEdW1wRmlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwjaHRtbE5vZGVEdW1wRmlsZUZvcm1hdCI+aHRtbE5vZGVEdW1wRmlsZUZvcm1hdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxBQ2F0YWxvZ0R1bXAiPnhtbEFDYXRhbG9nRHVtcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJEdW1wIj54bWxCdWZmZXJEdW1wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dEdW1wIj54bWxDYXRhbG9nRHVtcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sRGVidWdDaGVja0RvY3VtZW50Ij54bWxEZWJ1Z0NoZWNrRG9jdW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbERlYnVnRHVtcEF0dHIiPnhtbERlYnVnRHVtcEF0dHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbERlYnVnRHVtcEF0dHJMaXN0Ij54bWxEZWJ1Z0R1bXBBdHRyTGlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sRGVidWdEdW1wRFREIj54bWxEZWJ1Z0R1bXBEVEQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbERlYnVnRHVtcERvY3VtZW50Ij54bWxEZWJ1Z0R1bXBEb2N1bWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sRGVidWdEdW1wRG9jdW1lbnRIZWFkIj54bWxEZWJ1Z0R1bXBEb2N1bWVudEhlYWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbERlYnVnRHVtcEVudGl0aWVzIj54bWxEZWJ1Z0R1bXBFbnRpdGllczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sRGVidWdEdW1wTm9kZSI+eG1sRGVidWdEdW1wTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sRGVidWdEdW1wTm9kZUxpc3QiPnhtbERlYnVnRHVtcE5vZGVMaXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxEZWJ1Z0R1bXBPbmVOb2RlIj54bWxEZWJ1Z0R1bXBPbmVOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxEZWJ1Z0R1bXBTdHJpbmciPnhtbERlYnVnRHVtcFN0cmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxEb2NEdW1wIj54bWxEb2NEdW1wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERvY0Zvcm1hdER1bXAiPnhtbERvY0Zvcm1hdER1bXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRWxlbUR1bXAiPnhtbEVsZW1EdW1wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxMc09uZU5vZGUiPnhtbExzT25lTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1lbURpc3BsYXkiPnhtbE1lbURpc3BsYXk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNZW1EaXNwbGF5TGFzdCI+eG1sTWVtRGlzcGxheUxhc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNZW1TaG93Ij54bWxNZW1TaG93PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlIj54bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGUiPnhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbFByaW50VVJJIj54bWxQcmludFVSSTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ2V4cFByaW50Ij54bWxSZWdleHBQcmludDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HRHVtcCI+eG1sUmVsYXhOR0R1bXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR0R1bXBUcmVlIj54bWxSZWxheE5HRHVtcFRyZWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hRHVtcCI+eG1sU2NoZW1hRHVtcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGwiPnhtbFNoZWxsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aERlYnVnRHVtcENvbXBFeHByIj54bWxYUGF0aERlYnVnRHVtcENvbXBFeHByPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aERlYnVnRHVtcE9iamVjdCI+eG1sWFBhdGhEZWJ1Z0R1bXBPYmplY3Q8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgY2hhciAqKjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9odHRwLmh0bWwjeG1sTmFub0hUVFBGZXRjaCI+eG1sTmFub0hUVFBGZXRjaDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9odHRwLmh0bWwjeG1sTmFub0hUVFBNZXRob2QiPnhtbE5hbm9IVFRQTWV0aG9kPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUE1ldGhvZFJlZGlyIj54bWxOYW5vSFRUUE1ldGhvZFJlZGlyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUE9wZW4iPnhtbE5hbm9IVFRQT3BlbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9odHRwLmh0bWwjeG1sTmFub0hUVFBPcGVuUmVkaXIiPnhtbE5hbm9IVFRQT3BlblJlZGlyPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIGNoYXIgY29uc3QgKjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sSW5wdXRNYXRjaENhbGxiYWNrIj54bWxJbnB1dE1hdGNoQ2FsbGJhY2s8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbElucHV0T3BlbkNhbGxiYWNrIj54bWxJbnB1dE9wZW5DYWxsYmFjazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0TWF0Y2hDYWxsYmFjayI+eG1sT3V0cHV0TWF0Y2hDYWxsYmFjazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0T3BlbkNhbGxiYWNrIj54bWxPdXRwdXRPcGVuQ2FsbGJhY2s8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgY29uc3QgY2hhciAqKjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEdldEZlYXR1cmVzTGlzdCI+eG1sR2V0RmVhdHVyZXNMaXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkaXR5TG9jYXRvckZ1bmMiPnhtbFNjaGVtYVZhbGlkaXR5TG9jYXRvckZ1bmM8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgY29uc3QgaHRtbEVsZW1EZXNjICo6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEF0dHJBbGxvd2VkIj5odG1sQXR0ckFsbG93ZWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEVsZW1lbnRBbGxvd2VkSGVyZSI+aHRtbEVsZW1lbnRBbGxvd2VkSGVyZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sRWxlbWVudFN0YXR1c0hlcmUiPmh0bWxFbGVtZW50U3RhdHVzSGVyZTwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSBjb25zdCBodG1sTm9kZVB0cjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sTm9kZVN0YXR1cyI+aHRtbE5vZGVTdGF0dXM8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgY29uc3QgdW5zaWduZWQgY2hhciAqOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI1VURjhUb0h0bWwiPlVURjhUb0h0bWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI1VURjhUb2lzb2xhdDEiPlVURjhUb2lzb2xhdDE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1ET0NCcGFyc2VyLmh0bWwjZG9jYkVuY29kZUVudGl0aWVzIj5kb2NiRW5jb2RlRW50aXRpZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEVuY29kZUVudGl0aWVzIj5odG1sRW5jb2RlRW50aXRpZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI2lzb2xhdDFUb1VURjgiPmlzb2xhdDFUb1VURjg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZ0lucHV0RnVuYyI+eG1sQ2hhckVuY29kaW5nSW5wdXRGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmdPdXRwdXRGdW5jIj54bWxDaGFyRW5jb2RpbmdPdXRwdXRGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hlY2tVVEY4Ij54bWxDaGVja1VURjg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbERldGVjdENoYXJFbmNvZGluZyI+eG1sRGV0ZWN0Q2hhckVuY29kaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sR2V0VVRGOENoYXIiPnhtbEdldFVURjhDaGFyPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIGNvbnN0IHZvaWQgKjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0RGF0YUNvbXBhcmUiPnhtbExpc3REYXRhQ29tcGFyZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0UmV2ZXJzZVdhbGsiPnhtbExpc3RSZXZlcnNlV2FsazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0V2FsayI+eG1sTGlzdFdhbGs8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdFdhbGtlciI+eG1sTGlzdFdhbGtlcjwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSBjb25zdCB4bGlua0hSZWY6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC14bGluay5odG1sI3hsaW5rU2ltcGxlTGlua0Z1bmsiPnhsaW5rU2ltcGxlTGlua0Z1bms8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgY29uc3QgeGxpbmtIUmVmICo6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC14bGluay5odG1sI3hsaW5rRXh0ZW5kZWRMaW5rRnVuayI+eGxpbmtFeHRlbmRlZExpbmtGdW5rPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGxpbmsuaHRtbCN4bGlua0V4dGVuZGVkTGlua1NldEZ1bmsiPnhsaW5rRXh0ZW5kZWRMaW5rU2V0RnVuazwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSBjb25zdCB4bGlua1JvbGU6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC14bGluay5odG1sI3hsaW5rU2ltcGxlTGlua0Z1bmsiPnhsaW5rU2ltcGxlTGlua0Z1bms8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgY29uc3QgeGxpbmtSb2xlICo6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC14bGluay5odG1sI3hsaW5rRXh0ZW5kZWRMaW5rRnVuayI+eGxpbmtFeHRlbmRlZExpbmtGdW5rPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGxpbmsuaHRtbCN4bGlua0V4dGVuZGVkTGlua1NldEZ1bmsiPnhsaW5rRXh0ZW5kZWRMaW5rU2V0RnVuazwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSBjb25zdCB4bGlua1RpdGxlOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwteGxpbmsuaHRtbCN4bGlua1NpbXBsZUxpbmtGdW5rIj54bGlua1NpbXBsZUxpbmtGdW5rPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIGNvbnN0IHhsaW5rVGl0bGUgKjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhsaW5rLmh0bWwjeGxpbmtFeHRlbmRlZExpbmtGdW5rIj54bGlua0V4dGVuZGVkTGlua0Z1bms8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bGluay5odG1sI3hsaW5rRXh0ZW5kZWRMaW5rU2V0RnVuayI+eGxpbmtFeHRlbmRlZExpbmtTZXRGdW5rPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIGNvbnN0IHhtbEJ1ZiAqOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZkNvbnRlbnQiPnhtbEJ1ZkNvbnRlbnQ8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgY29uc3QgeG1sQnVmUHRyOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZlVzZSI+eG1sQnVmVXNlPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIGNvbnN0IHhtbEJ1ZmZlciAqOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlckNvbnRlbnQiPnhtbEJ1ZmZlckNvbnRlbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyTGVuZ3RoIj54bWxCdWZmZXJMZW5ndGg8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgY29uc3QgeG1sQ2hSYW5nZUdyb3VwICo6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sQ2hhckluUmFuZ2UiPnhtbENoYXJJblJhbmdlPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIGNvbnN0IHhtbENoYXIgKjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlRGVjbCI+YXR0cmlidXRlRGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI2F0dHJpYnV0ZURlY2xTQVhGdW5jIj5hdHRyaWJ1dGVEZWNsU0FYRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI2F0dHJpYnV0ZVNBWEZ1bmMiPmF0dHJpYnV0ZVNBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNjZGF0YUJsb2NrIj5jZGF0YUJsb2NrPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjY2RhdGFCbG9ja1NBWEZ1bmMiPmNkYXRhQmxvY2tTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjY2hhcmFjdGVycyI+Y2hhcmFjdGVyczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI2NoYXJhY3RlcnNTQVhGdW5jIj5jaGFyYWN0ZXJzU0FYRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI2NvbW1lbnQiPmNvbW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNjb21tZW50U0FYRnVuYyI+Y29tbWVudFNBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNlbGVtZW50RGVjbCI+ZWxlbWVudERlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNlbGVtZW50RGVjbFNBWEZ1bmMiPmVsZW1lbnREZWNsU0FYRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI2VuZEVsZW1lbnQiPmVuZEVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNlbmRFbGVtZW50TnNTQVgyRnVuYyI+ZW5kRWxlbWVudE5zU0FYMkZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNlbmRFbGVtZW50U0FYRnVuYyI+ZW5kRWxlbWVudFNBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNlbnRpdHlEZWNsIj5lbnRpdHlEZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjZW50aXR5RGVjbFNBWEZ1bmMiPmVudGl0eURlY2xTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjZXh0ZXJuYWxTdWJzZXQiPmV4dGVybmFsU3Vic2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjZXh0ZXJuYWxTdWJzZXRTQVhGdW5jIj5leHRlcm5hbFN1YnNldFNBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNnZXRFbnRpdHkiPmdldEVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI2dldEVudGl0eVNBWEZ1bmMiPmdldEVudGl0eVNBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNnZXRQYXJhbWV0ZXJFbnRpdHkiPmdldFBhcmFtZXRlckVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI2dldFBhcmFtZXRlckVudGl0eVNBWEZ1bmMiPmdldFBhcmFtZXRlckVudGl0eVNBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNnbG9iYWxOYW1lc3BhY2UiPmdsb2JhbE5hbWVzcGFjZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sQXR0ckFsbG93ZWQiPmh0bWxBdHRyQWxsb3dlZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sQXV0b0Nsb3NlVGFnIj5odG1sQXV0b0Nsb3NlVGFnPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxDdHh0UmVhZERvYyI+aHRtbEN0eHRSZWFkRG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxFbGVtZW50QWxsb3dlZEhlcmUiPmh0bWxFbGVtZW50QWxsb3dlZEhlcmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEVudGl0eUxvb2t1cCI+aHRtbEVudGl0eUxvb2t1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwjaHRtbElzQm9vbGVhbkF0dHIiPmh0bWxJc0Jvb2xlYW5BdHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxJc1NjcmlwdEF0dHJpYnV0ZSI+aHRtbElzU2NyaXB0QXR0cmlidXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNodG1sTmV3RG9jIj5odG1sTmV3RG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNodG1sTmV3RG9jTm9EdEQiPmh0bWxOZXdEb2NOb0R0RDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sUmVhZERvYyI+aHRtbFJlYWREb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI2h0bWxTZXRNZXRhRW5jb2RpbmciPmh0bWxTZXRNZXRhRW5jb2Rpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFRhZ0xvb2t1cCI+aHRtbFRhZ0xvb2t1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI2lnbm9yYWJsZVdoaXRlc3BhY2UiPmlnbm9yYWJsZVdoaXRlc3BhY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNpZ25vcmFibGVXaGl0ZXNwYWNlU0FYRnVuYyI+aWdub3JhYmxlV2hpdGVzcGFjZVNBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNpbnRlcm5hbFN1YnNldCI+aW50ZXJuYWxTdWJzZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNpbnRlcm5hbFN1YnNldFNBWEZ1bmMiPmludGVybmFsU3Vic2V0U0FYRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI25hbWVQdXNoIj5uYW1lUHVzaDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI25hbWVzcGFjZURlY2wiPm5hbWVzcGFjZURlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNub3RhdGlvbkRlY2wiPm5vdGF0aW9uRGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI25vdGF0aW9uRGVjbFNBWEZ1bmMiPm5vdGF0aW9uRGVjbFNBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNwcm9jZXNzaW5nSW5zdHJ1Y3Rpb24iPnByb2Nlc3NpbmdJbnN0cnVjdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3Byb2Nlc3NpbmdJbnN0cnVjdGlvblNBWEZ1bmMiPnByb2Nlc3NpbmdJbnN0cnVjdGlvblNBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNyZWZlcmVuY2UiPnJlZmVyZW5jZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3JlZmVyZW5jZVNBWEZ1bmMiPnJlZmVyZW5jZVNBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNyZXNvbHZlRW50aXR5Ij5yZXNvbHZlRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjcmVzb2x2ZUVudGl0eVNBWEZ1bmMiPnJlc29sdmVFbnRpdHlTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjc2V0TmFtZXNwYWNlIj5zZXROYW1lc3BhY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNzdGFydEVsZW1lbnQiPnN0YXJ0RWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3N0YXJ0RWxlbWVudE5zU0FYMkZ1bmMiPnN0YXJ0RWxlbWVudE5zU0FYMkZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNzdGFydEVsZW1lbnRTQVhGdW5jIj5zdGFydEVsZW1lbnRTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjdW5wYXJzZWRFbnRpdHlEZWNsIj51bnBhcnNlZEVudGl0eURlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN1bnBhcnNlZEVudGl0eURlY2xTQVhGdW5jIj51bnBhcnNlZEVudGl0eURlY2xTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbEFDYXRhbG9nQWRkIj54bWxBQ2F0YWxvZ0FkZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxBQ2F0YWxvZ1JlbW92ZSI+eG1sQUNhdGFsb2dSZW1vdmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQUNhdGFsb2dSZXNvbHZlIj54bWxBQ2F0YWxvZ1Jlc29sdmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQUNhdGFsb2dSZXNvbHZlUHVibGljIj54bWxBQ2F0YWxvZ1Jlc29sdmVQdWJsaWM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQUNhdGFsb2dSZXNvbHZlU3lzdGVtIj54bWxBQ2F0YWxvZ1Jlc29sdmVTeXN0ZW08L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQUNhdGFsb2dSZXNvbHZlVVJJIj54bWxBQ2F0YWxvZ1Jlc29sdmVVUkk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEFkZEF0dHJpYnV0ZURlY2wiPnhtbEFkZEF0dHJpYnV0ZURlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI3htbEFkZERvY0VudGl0eSI+eG1sQWRkRG9jRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxBZGREdGRFbnRpdHkiPnhtbEFkZER0ZEVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sQWRkRWxlbWVudERlY2wiPnhtbEFkZEVsZW1lbnREZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxBZGRJRCI+eG1sQWRkSUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEFkZE5vdGF0aW9uRGVjbCI+eG1sQWRkTm90YXRpb25EZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxBZGRSZWYiPnhtbEFkZFJlZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxBdHRyU2VyaWFsaXplVHh0Q29udGVudCI+eG1sQXR0clNlcmlhbGl6ZVR4dENvbnRlbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhTmV3Q291bnRUcmFucyI+eG1sQXV0b21hdGFOZXdDb3VudFRyYW5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld0NvdW50VHJhbnMyIj54bWxBdXRvbWF0YU5ld0NvdW50VHJhbnMyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld05lZ1RyYW5zIj54bWxBdXRvbWF0YU5ld05lZ1RyYW5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld09uY2VUcmFucyI+eG1sQXV0b21hdGFOZXdPbmNlVHJhbnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhTmV3T25jZVRyYW5zMiI+eG1sQXV0b21hdGFOZXdPbmNlVHJhbnMyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld1RyYW5zaXRpb24iPnhtbEF1dG9tYXRhTmV3VHJhbnNpdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdUcmFuc2l0aW9uMiI+eG1sQXV0b21hdGFOZXdUcmFuc2l0aW9uMjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJBZGQiPnhtbEJ1ZmZlckFkZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJBZGRIZWFkIj54bWxCdWZmZXJBZGRIZWFkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlckNhdCI+eG1sQnVmZmVyQ2F0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlcldyaXRlQ0hBUiI+eG1sQnVmZmVyV3JpdGVDSEFSPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlcldyaXRlUXVvdGVkU3RyaW5nIj54bWxCdWZmZXJXcml0ZVF1b3RlZFN0cmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWlsZFFOYW1lIj54bWxCdWlsZFFOYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sQnVpbGRSZWxhdGl2ZVVSSSI+eG1sQnVpbGRSZWxhdGl2ZVVSSTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbEJ1aWxkVVJJIj54bWxCdWlsZFVSSTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbENhbm9uaWNQYXRoIj54bWxDYW5vbmljUGF0aDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nQWRkIj54bWxDYXRhbG9nQWRkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dBZGRMb2NhbCI+eG1sQ2F0YWxvZ0FkZExvY2FsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dHZXRQdWJsaWMiPnhtbENhdGFsb2dHZXRQdWJsaWM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ0dldFN5c3RlbSI+eG1sQ2F0YWxvZ0dldFN5c3RlbTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nTG9jYWxSZXNvbHZlIj54bWxDYXRhbG9nTG9jYWxSZXNvbHZlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dMb2NhbFJlc29sdmVVUkkiPnhtbENhdGFsb2dMb2NhbFJlc29sdmVVUkk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ1JlbW92ZSI+eG1sQ2F0YWxvZ1JlbW92ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nUmVzb2x2ZSI+eG1sQ2F0YWxvZ1Jlc29sdmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ1Jlc29sdmVQdWJsaWMiPnhtbENhdGFsb2dSZXNvbHZlUHVibGljPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dSZXNvbHZlU3lzdGVtIj54bWxDYXRhbG9nUmVzb2x2ZVN5c3RlbTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nUmVzb2x2ZVVSSSI+eG1sQ2F0YWxvZ1Jlc29sdmVVUkk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxDaGVja0xhbmd1YWdlSUQiPnhtbENoZWNrTGFuZ3VhZ2VJRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbENyZWF0ZURvY1BhcnNlckN0eHQiPnhtbENyZWF0ZURvY1BhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxDcmVhdGVFbnRpdHlQYXJzZXJDdHh0Ij54bWxDcmVhdGVFbnRpdHlQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxDcmVhdGVFbnVtZXJhdGlvbiI+eG1sQ3JlYXRlRW51bWVyYXRpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQ3JlYXRlSW50U3Vic2V0Ij54bWxDcmVhdGVJbnRTdWJzZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxDdHh0UmVhZERvYyI+eG1sQ3R4dFJlYWREb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcEFjcXVpcmVOc0Z1bmN0aW9uIj54bWxET01XcmFwQWNxdWlyZU5zRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbERlYnVnRHVtcFN0cmluZyI+eG1sRGVidWdEdW1wU3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGljdC5odG1sI3htbERpY3RFeGlzdHMiPnhtbERpY3RFeGlzdHM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kaWN0Lmh0bWwjeG1sRGljdExvb2t1cCI+eG1sRGljdExvb2t1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0T3ducyI+eG1sRGljdE93bnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kaWN0Lmh0bWwjeG1sRGljdFFMb29rdXAiPnhtbERpY3RRTG9va3VwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxFbmNvZGVFbnRpdGllcyI+eG1sRW5jb2RlRW50aXRpZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI3htbEVuY29kZUVudGl0aWVzUmVlbnRyYW50Ij54bWxFbmNvZGVFbnRpdGllc1JlZW50cmFudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjeG1sRW5jb2RlU3BlY2lhbENoYXJzIj54bWxFbmNvZGVTcGVjaWFsQ2hhcnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBOZXdBdG9tIj54bWxFeHBOZXdBdG9tPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwU3RyaW5nRGVyaXZlIj54bWxFeHBTdHJpbmdEZXJpdmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI3htbEdldERvY0VudGl0eSI+eG1sR2V0RG9jRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxHZXREdGRBdHRyRGVzYyI+eG1sR2V0RHRkQXR0ckRlc2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEdldER0ZEVsZW1lbnREZXNjIj54bWxHZXREdGRFbGVtZW50RGVzYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjeG1sR2V0RHRkRW50aXR5Ij54bWxHZXREdGRFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEdldER0ZE5vdGF0aW9uRGVzYyI+eG1sR2V0RHRkTm90YXRpb25EZXNjPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxHZXREdGRRQXR0ckRlc2MiPnhtbEdldER0ZFFBdHRyRGVzYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sR2V0RHRkUUVsZW1lbnREZXNjIj54bWxHZXREdGRRRWxlbWVudERlc2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEdldElEIj54bWxHZXRJRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxHZXROb05zUHJvcCI+eG1sR2V0Tm9Oc1Byb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sR2V0TnNQcm9wIj54bWxHZXROc1Byb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI3htbEdldFBhcmFtZXRlckVudGl0eSI+eG1sR2V0UGFyYW1ldGVyRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxHZXRQcmVkZWZpbmVkRW50aXR5Ij54bWxHZXRQcmVkZWZpbmVkRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEdldFByb3AiPnhtbEdldFByb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEdldFJlZnMiPnhtbEdldFJlZnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sSGFzTnNQcm9wIj54bWxIYXNOc1Byb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sSGFzUHJvcCI+eG1sSGFzUHJvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoQWRkRW50cnkiPnhtbEhhc2hBZGRFbnRyeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoQWRkRW50cnkyIj54bWxIYXNoQWRkRW50cnkyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hBZGRFbnRyeTMiPnhtbEhhc2hBZGRFbnRyeTM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaExvb2t1cCI+eG1sSGFzaExvb2t1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoTG9va3VwMiI+eG1sSGFzaExvb2t1cDI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaExvb2t1cDMiPnhtbEhhc2hMb29rdXAzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hRTG9va3VwIj54bWxIYXNoUUxvb2t1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoUUxvb2t1cDIiPnhtbEhhc2hRTG9va3VwMjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoUUxvb2t1cDMiPnhtbEhhc2hRTG9va3VwMzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoUmVtb3ZlRW50cnkiPnhtbEhhc2hSZW1vdmVFbnRyeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoUmVtb3ZlRW50cnkyIj54bWxIYXNoUmVtb3ZlRW50cnkyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hSZW1vdmVFbnRyeTMiPnhtbEhhc2hSZW1vdmVFbnRyeTM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFNjYW4zIj54bWxIYXNoU2NhbjM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFNjYW5GdWxsMyI+eG1sSGFzaFNjYW5GdWxsMzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoU2Nhbm5lckZ1bGwiPnhtbEhhc2hTY2FubmVyRnVsbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoVXBkYXRlRW50cnkiPnhtbEhhc2hVcGRhdGVFbnRyeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoVXBkYXRlRW50cnkyIj54bWxIYXNoVXBkYXRlRW50cnkyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hVcGRhdGVFbnRyeTMiPnhtbEhhc2hVcGRhdGVFbnRyeTM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbElzTWl4ZWRFbGVtZW50Ij54bWxJc01peGVkRWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxJc1hIVE1MIj54bWxJc1hIVE1MPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld0NEYXRhQmxvY2siPnhtbE5ld0NEYXRhQmxvY2s8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3Q2hhclJlZiI+eG1sTmV3Q2hhclJlZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdDaGlsZCI+eG1sTmV3Q2hpbGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3Q29tbWVudCI+eG1sTmV3Q29tbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdEb2MiPnhtbE5ld0RvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdEb2NDb21tZW50Ij54bWxOZXdEb2NDb21tZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxOZXdEb2NFbGVtZW50Q29udGVudCI+eG1sTmV3RG9jRWxlbWVudENvbnRlbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3RG9jTm9kZSI+eG1sTmV3RG9jTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdEb2NOb2RlRWF0TmFtZSI+eG1sTmV3RG9jTm9kZUVhdE5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3RG9jUEkiPnhtbE5ld0RvY1BJPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld0RvY1Byb3AiPnhtbE5ld0RvY1Byb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3RG9jUmF3Tm9kZSI+eG1sTmV3RG9jUmF3Tm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdEb2NUZXh0Ij54bWxOZXdEb2NUZXh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld0RvY1RleHRMZW4iPnhtbE5ld0RvY1RleHRMZW48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3RHRkIj54bWxOZXdEdGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbE5ld0VsZW1lbnRDb250ZW50Ij54bWxOZXdFbGVtZW50Q29udGVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjeG1sTmV3RW50aXR5Ij54bWxOZXdFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3R2xvYmFsTnMiPnhtbE5ld0dsb2JhbE5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld05vZGUiPnhtbE5ld05vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3TnMiPnhtbE5ld05zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld05zUHJvcCI+eG1sTmV3TnNQcm9wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld05zUHJvcEVhdE5hbWUiPnhtbE5ld05zUHJvcEVhdE5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3UEkiPnhtbE5ld1BJPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld1Byb3AiPnhtbE5ld1Byb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3UmVmZXJlbmNlIj54bWxOZXdSZWZlcmVuY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxOZXdTdHJpbmdJbnB1dFN0cmVhbSI+eG1sTmV3U3RyaW5nSW5wdXRTdHJlYW08L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3VGV4dCI+eG1sTmV3VGV4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdUZXh0Q2hpbGQiPnhtbE5ld1RleHRDaGlsZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdUZXh0TGVuIj54bWxOZXdUZXh0TGVuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVBZGRDb250ZW50Ij54bWxOb2RlQWRkQ29udGVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlQWRkQ29udGVudExlbiI+eG1sTm9kZUFkZENvbnRlbnRMZW48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVNldEJhc2UiPnhtbE5vZGVTZXRCYXNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVTZXRDb250ZW50Ij54bWxOb2RlU2V0Q29udGVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlU2V0Q29udGVudExlbiI+eG1sTm9kZVNldENvbnRlbnRMZW48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVNldExhbmciPnhtbE5vZGVTZXRMYW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVTZXROYW1lIj54bWxOb2RlU2V0TmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sTm9ybWFsaXplV2luZG93c1BhdGgiPnhtbE5vcm1hbGl6ZVdpbmRvd3NQYXRoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRCdWZmZXJXcml0ZUVzY2FwZSI+eG1sT3V0cHV0QnVmZmVyV3JpdGVFc2NhcGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnkiPnhtbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXIiPnhtbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUN0eHRFeHRlcm5hbEVudGl0eSI+eG1sUGFyc2VDdHh0RXh0ZXJuYWxFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZURURCI+eG1sUGFyc2VEVEQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZURvYyI+eG1sUGFyc2VEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVsZW1lbnRDb250ZW50RGVjbCI+eG1sUGFyc2VFbGVtZW50Q29udGVudERlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUV4dGVybmFsRW50aXR5Ij54bWxQYXJzZUV4dGVybmFsRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFeHRlcm5hbFN1YnNldCI+eG1sUGFyc2VFeHRlcm5hbFN1YnNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbFBhdGhUb1VSSSI+eG1sUGF0aFRvVVJJPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbFBhdHRlcm5jb21waWxlIj54bWxQYXR0ZXJuY29tcGlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFJlYWREb2MiPnhtbFJlYWREb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxSZWFkZXJGb3JEb2MiPnhtbFJlYWRlckZvckRvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFJlYWRlck5ld0RvYyI+eG1sUmVhZGVyTmV3RG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUmVjb3ZlckRvYyI+eG1sUmVjb3ZlckRvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ0V4ZWNDYWxsYmFja3MiPnhtbFJlZ0V4ZWNDYWxsYmFja3M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdFeGVjUHVzaFN0cmluZyI+eG1sUmVnRXhlY1B1c2hTdHJpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdFeGVjUHVzaFN0cmluZzIiPnhtbFJlZ0V4ZWNQdXNoU3RyaW5nMjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ2V4cENvbXBpbGUiPnhtbFJlZ2V4cENvbXBpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdleHBFeGVjIj54bWxSZWdleHBFeGVjPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdWYWxpZGF0ZVB1c2hDRGF0YSI+eG1sUmVsYXhOR1ZhbGlkYXRlUHVzaENEYXRhPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJBdHRyaWJ1dGVEZWNsIj54bWxTQVgyQXR0cmlidXRlRGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyQ0RhdGFCbG9jayI+eG1sU0FYMkNEYXRhQmxvY2s8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMkNoYXJhY3RlcnMiPnhtbFNBWDJDaGFyYWN0ZXJzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJDb21tZW50Ij54bWxTQVgyQ29tbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyRWxlbWVudERlY2wiPnhtbFNBWDJFbGVtZW50RGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyRW5kRWxlbWVudCI+eG1sU0FYMkVuZEVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMkVuZEVsZW1lbnROcyI+eG1sU0FYMkVuZEVsZW1lbnROczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyRW50aXR5RGVjbCI+eG1sU0FYMkVudGl0eURlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMkV4dGVybmFsU3Vic2V0Ij54bWxTQVgyRXh0ZXJuYWxTdWJzZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMkdldEVudGl0eSI+eG1sU0FYMkdldEVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyR2V0UGFyYW1ldGVyRW50aXR5Ij54bWxTQVgyR2V0UGFyYW1ldGVyRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJJZ25vcmFibGVXaGl0ZXNwYWNlIj54bWxTQVgySWdub3JhYmxlV2hpdGVzcGFjZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgySW50ZXJuYWxTdWJzZXQiPnhtbFNBWDJJbnRlcm5hbFN1YnNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyTm90YXRpb25EZWNsIj54bWxTQVgyTm90YXRpb25EZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24iPnhtbFNBWDJQcm9jZXNzaW5nSW5zdHJ1Y3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMlJlZmVyZW5jZSI+eG1sU0FYMlJlZmVyZW5jZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyUmVzb2x2ZUVudGl0eSI+eG1sU0FYMlJlc29sdmVFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMlN0YXJ0RWxlbWVudCI+eG1sU0FYMlN0YXJ0RWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyU3RhcnRFbGVtZW50TnMiPnhtbFNBWDJTdGFydEVsZW1lbnROczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyVW5wYXJzZWRFbnRpdHlEZWNsIj54bWxTQVgyVW5wYXJzZWRFbnRpdHlEZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYUGFyc2VEVEQiPnhtbFNBWFBhcnNlRFREPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYUGFyc2VEb2MiPnhtbFNBWFBhcnNlRG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hQ2hlY2tGYWNldCI+eG1sU2NoZW1hQ2hlY2tGYWNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUNvbGxhcHNlU3RyaW5nIj54bWxTY2hlbWFDb2xsYXBzZVN0cmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUdldFByZWRlZmluZWRUeXBlIj54bWxTY2hlbWFHZXRQcmVkZWZpbmVkVHlwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYU5ld05PVEFUSU9OVmFsdWUiPnhtbFNjaGVtYU5ld05PVEFUSU9OVmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFOZXdRTmFtZVZhbHVlIj54bWxTY2hlbWFOZXdRTmFtZVZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hTmV3U3RyaW5nVmFsdWUiPnhtbFNjaGVtYU5ld1N0cmluZ1ZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hVmFsUHJlZGVmVHlwZU5vZGUiPnhtbFNjaGVtYVZhbFByZWRlZlR5cGVOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hVmFsUHJlZGVmVHlwZU5vZGVOb05vcm0iPnhtbFNjaGVtYVZhbFByZWRlZlR5cGVOb2RlTm9Ob3JtPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hVmFsaWRhdGVGYWNldCI+eG1sU2NoZW1hVmFsaWRhdGVGYWNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYVZhbGlkYXRlRmFjZXRXaHRzcCI+eG1sU2NoZW1hVmFsaWRhdGVGYWNldFdodHNwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldCI+eG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXRXaHRzcCI+eG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldFdodHNwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hVmFsaWRhdGVMaXN0U2ltcGxlVHlwZUZhY2V0Ij54bWxTY2hlbWFWYWxpZGF0ZUxpc3RTaW1wbGVUeXBlRmFjZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFWYWxpZGF0ZVByZWRlZmluZWRUeXBlIj54bWxTY2hlbWFWYWxpZGF0ZVByZWRlZmluZWRUeXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hV2hpdGVTcGFjZVJlcGxhY2UiPnhtbFNjaGVtYVdoaXRlU3BhY2VSZXBsYWNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNlYXJjaE5zIj54bWxTZWFyY2hOczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTZWFyY2hOc0J5SHJlZiI+eG1sU2VhcmNoTnNCeUhyZWY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2V0TnNQcm9wIj54bWxTZXROc1Byb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2V0UHJvcCI+eG1sU2V0UHJvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNldHVwUGFyc2VyRm9yQnVmZmVyIj54bWxTZXR1cFBhcnNlckZvckJ1ZmZlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFNwbGl0UU5hbWUiPnhtbFNwbGl0UU5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU3BsaXRRTmFtZTIiPnhtbFNwbGl0UU5hbWUyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNwbGl0UU5hbWUzIj54bWxTcGxpdFFOYW1lMzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFN0ckVxdWFsIj54bWxTdHJFcXVhbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFN0clByaW50ZiI+eG1sU3RyUHJpbnRmPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3RyUUVxdWFsIj54bWxTdHJRRXF1YWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJWUHJpbnRmIj54bWxTdHJWUHJpbnRmPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3RyY2FzZWNtcCI+eG1sU3RyY2FzZWNtcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFN0cmNhc2VzdHIiPnhtbFN0cmNhc2VzdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJjYXQiPnhtbFN0cmNhdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFN0cmNociI+eG1sU3RyY2hyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3RyY21wIj54bWxTdHJjbXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJkdXAiPnhtbFN0cmR1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCN4bWxTdHJlYW1QdXNoIj54bWxTdHJlYW1QdXNoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbFN0cmVhbVB1c2hBdHRyIj54bWxTdHJlYW1QdXNoQXR0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCN4bWxTdHJlYW1QdXNoTm9kZSI+eG1sU3RyZWFtUHVzaE5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxTdHJpbmdDdXJyZW50Q2hhciI+eG1sU3RyaW5nQ3VycmVudENoYXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxTdHJpbmdEZWNvZGVFbnRpdGllcyI+eG1sU3RyaW5nRGVjb2RlRW50aXRpZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU3RyaW5nR2V0Tm9kZUxpc3QiPnhtbFN0cmluZ0dldE5vZGVMaXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sU3RyaW5nTGVuRGVjb2RlRW50aXRpZXMiPnhtbFN0cmluZ0xlbkRlY29kZUVudGl0aWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFN0cmluZ0xlbkdldE5vZGVMaXN0Ij54bWxTdHJpbmdMZW5HZXROb2RlTGlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFN0cmxlbiI+eG1sU3RybGVuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3RybmNhc2VjbXAiPnhtbFN0cm5jYXNlY21wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3RybmNhdCI+eG1sU3RybmNhdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFN0cm5jYXROZXciPnhtbFN0cm5jYXROZXc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJuY21wIj54bWxTdHJuY21wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3RybmR1cCI+eG1sU3RybmR1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFN0cnN0ciI+eG1sU3Ryc3RyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3Ryc3ViIj54bWxTdHJzdWI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sVGV4dENvbmNhdCI+eG1sVGV4dENvbmNhdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJDb25zdFN0cmluZyI+eG1sVGV4dFJlYWRlckNvbnN0U3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZSI+eG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJHZXRBdHRyaWJ1dGVOcyI+eG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZU5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckxvb2t1cE5hbWVzcGFjZSI+eG1sVGV4dFJlYWRlckxvb2t1cE5hbWVzcGFjZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJNb3ZlVG9BdHRyaWJ1dGUiPnhtbFRleHRSZWFkZXJNb3ZlVG9BdHRyaWJ1dGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyTW92ZVRvQXR0cmlidXRlTnMiPnhtbFRleHRSZWFkZXJNb3ZlVG9BdHRyaWJ1dGVOczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQcmVzZXJ2ZVBhdHRlcm4iPnhtbFRleHRSZWFkZXJQcmVzZXJ2ZVBhdHRlcm48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyU2V0SW5kZW50U3RyaW5nIj54bWxUZXh0V3JpdGVyU2V0SW5kZW50U3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclN0YXJ0QXR0cmlidXRlIj54bWxUZXh0V3JpdGVyU3RhcnRBdHRyaWJ1dGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyU3RhcnRBdHRyaWJ1dGVOUyI+eG1sVGV4dFdyaXRlclN0YXJ0QXR0cmlidXRlTlM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyU3RhcnREVEQiPnhtbFRleHRXcml0ZXJTdGFydERURDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJTdGFydERUREF0dGxpc3QiPnhtbFRleHRXcml0ZXJTdGFydERUREF0dGxpc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyU3RhcnREVERFbGVtZW50Ij54bWxUZXh0V3JpdGVyU3RhcnREVERFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclN0YXJ0RFRERW50aXR5Ij54bWxUZXh0V3JpdGVyU3RhcnREVERFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyU3RhcnRFbGVtZW50Ij54bWxUZXh0V3JpdGVyU3RhcnRFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclN0YXJ0RWxlbWVudE5TIj54bWxUZXh0V3JpdGVyU3RhcnRFbGVtZW50TlM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyU3RhcnRQSSI+eG1sVGV4dFdyaXRlclN0YXJ0UEk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVBdHRyaWJ1dGUiPnhtbFRleHRXcml0ZXJXcml0ZUF0dHJpYnV0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZUF0dHJpYnV0ZU5TIj54bWxUZXh0V3JpdGVyV3JpdGVBdHRyaWJ1dGVOUzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZUNEQVRBIj54bWxUZXh0V3JpdGVyV3JpdGVDREFUQTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZUNvbW1lbnQiPnhtbFRleHRXcml0ZXJXcml0ZUNvbW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVEVEQiPnhtbFRleHRXcml0ZXJXcml0ZURURDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZURUREF0dGxpc3QiPnhtbFRleHRXcml0ZXJXcml0ZURUREF0dGxpc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVEVERFbGVtZW50Ij54bWxUZXh0V3JpdGVyV3JpdGVEVERFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRFRERW50aXR5Ij54bWxUZXh0V3JpdGVyV3JpdGVEVERFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVEVERFeHRlcm5hbEVudGl0eSI+eG1sVGV4dFdyaXRlcldyaXRlRFRERXh0ZXJuYWxFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVEVERFeHRlcm5hbEVudGl0eUNvbnRlbnRzIj54bWxUZXh0V3JpdGVyV3JpdGVEVERFeHRlcm5hbEVudGl0eUNvbnRlbnRzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRFRESW50ZXJuYWxFbnRpdHkiPnhtbFRleHRXcml0ZXJXcml0ZURUREludGVybmFsRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRFRETm90YXRpb24iPnhtbFRleHRXcml0ZXJXcml0ZURURE5vdGF0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRWxlbWVudCI+eG1sVGV4dFdyaXRlcldyaXRlRWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZUVsZW1lbnROUyI+eG1sVGV4dFdyaXRlcldyaXRlRWxlbWVudE5TPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0QXR0cmlidXRlIj54bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRBdHRyaWJ1dGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRBdHRyaWJ1dGVOUyI+eG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0QXR0cmlidXRlTlM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVEQiPnhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdERURDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdERUREF0dGxpc3QiPnhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdERUREF0dGxpc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVERFbGVtZW50Ij54bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVERFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFRESW50ZXJuYWxFbnRpdHkiPnhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdERUREludGVybmFsRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RWxlbWVudCI+eG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdEVsZW1lbnROUyI+eG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RWxlbWVudE5TPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0UEkiPnhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdFBJPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlUEkiPnhtbFRleHRXcml0ZXJXcml0ZVBJPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlUmF3Ij54bWxUZXh0V3JpdGVyV3JpdGVSYXc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVSYXdMZW4iPnhtbFRleHRXcml0ZXJXcml0ZVJhd0xlbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZVN0cmluZyI+eG1sVGV4dFdyaXRlcldyaXRlU3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEF0dHJpYnV0ZSI+eG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEF0dHJpYnV0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRBdHRyaWJ1dGVOUyI+eG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEF0dHJpYnV0ZU5TPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERURCI+eG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERURDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVERBdHRsaXN0Ij54bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFREQXR0bGlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVERFbGVtZW50Ij54bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFRERWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVERJbnRlcm5hbEVudGl0eSI+eG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREludGVybmFsRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEVsZW1lbnQiPnhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEVsZW1lbnROUyI+eG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEVsZW1lbnROUzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRQSSI+eG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdFBJPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sVVJJRXNjYXBlIj54bWxVUklFc2NhcGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxVUklFc2NhcGVTdHIiPnhtbFVSSUVzY2FwZVN0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFVURjhDaGFyY21wIj54bWxVVEY4Q2hhcmNtcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFVURjhTaXplIj54bWxVVEY4U2l6ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFVURjhTdHJsZW4iPnhtbFVURjhTdHJsZW48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxVVEY4U3RybG9jIj54bWxVVEY4U3RybG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sVVRGOFN0cm5kdXAiPnhtbFVURjhTdHJuZHVwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sVVRGOFN0cnBvcyI+eG1sVVRGOFN0cnBvczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFVURjhTdHJzaXplIj54bWxVVEY4U3Ryc2l6ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFVURjhTdHJzdWIiPnhtbFVURjhTdHJzdWI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sVW5zZXROc1Byb3AiPnhtbFVuc2V0TnNQcm9wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFVuc2V0UHJvcCI+eG1sVW5zZXRQcm9wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZEN0eHROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZSI+eG1sVmFsaWRDdHh0Tm9ybWFsaXplQXR0cmlidXRlVmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkTm9ybWFsaXplQXR0cmlidXRlVmFsdWUiPnhtbFZhbGlkTm9ybWFsaXplQXR0cmlidXRlVmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlQXR0cmlidXRlVmFsdWUiPnhtbFZhbGlkYXRlQXR0cmlidXRlVmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sVmFsaWRhdGVOQ05hbWUiPnhtbFZhbGlkYXRlTkNOYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFZhbGlkYXRlTk1Ub2tlbiI+eG1sVmFsaWRhdGVOTVRva2VuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFZhbGlkYXRlTmFtZSI+eG1sVmFsaWRhdGVOYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZU5hbWVWYWx1ZSI+eG1sVmFsaWRhdGVOYW1lVmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlTmFtZXNWYWx1ZSI+eG1sVmFsaWRhdGVOYW1lc1ZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZU5tdG9rZW5WYWx1ZSI+eG1sVmFsaWRhdGVObXRva2VuVmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlTm10b2tlbnNWYWx1ZSI+eG1sVmFsaWRhdGVObXRva2Vuc1ZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZU5vdGF0aW9uVXNlIj54bWxWYWxpZGF0ZU5vdGF0aW9uVXNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZU9uZUF0dHJpYnV0ZSI+eG1sVmFsaWRhdGVPbmVBdHRyaWJ1dGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlT25lTmFtZXNwYWNlIj54bWxWYWxpZGF0ZU9uZU5hbWVzcGFjZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVQb3BFbGVtZW50Ij54bWxWYWxpZGF0ZVBvcEVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlUHVzaENEYXRhIj54bWxWYWxpZGF0ZVB1c2hDRGF0YTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVQdXNoRWxlbWVudCI+eG1sVmFsaWRhdGVQdXNoRWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxWYWxpZGF0ZVFOYW1lIj54bWxWYWxpZGF0ZVFOYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENhc3RTdHJpbmdUb0Jvb2xlYW4iPnhtbFhQYXRoQ2FzdFN0cmluZ1RvQm9vbGVhbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDYXN0U3RyaW5nVG9OdW1iZXIiPnhtbFhQYXRoQ2FzdFN0cmluZ1RvTnVtYmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbXBpbGUiPnhtbFhQYXRoQ29tcGlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDdHh0Q29tcGlsZSI+eG1sWFBhdGhDdHh0Q29tcGlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhFdmFsIj54bWxYUGF0aEV2YWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoRXZhbEV4cHJlc3Npb24iPnhtbFhQYXRoRXZhbEV4cHJlc3Npb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoRnVuY0xvb2t1cEZ1bmMiPnhtbFhQYXRoRnVuY0xvb2t1cEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRnVuY3Rpb25Mb29rdXAiPnhtbFhQYXRoRnVuY3Rpb25Mb29rdXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRnVuY3Rpb25Mb29rdXBOUyI+eG1sWFBhdGhGdW5jdGlvbkxvb2t1cE5TPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aElzTm9kZVR5cGUiPnhtbFhQYXRoSXNOb2RlVHlwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXdQYXJzZXJDb250ZXh0Ij54bWxYUGF0aE5ld1BhcnNlckNvbnRleHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV3U3RyaW5nIj54bWxYUGF0aE5ld1N0cmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhOb2RlRXZhbCI+eG1sWFBhdGhOb2RlRXZhbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOc0xvb2t1cCI+eG1sWFBhdGhOc0xvb2t1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhSZWdpc3RlckZ1bmMiPnhtbFhQYXRoUmVnaXN0ZXJGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJlZ2lzdGVyRnVuY05TIj54bWxYUGF0aFJlZ2lzdGVyRnVuY05TPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJlZ2lzdGVyTnMiPnhtbFhQYXRoUmVnaXN0ZXJOczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlIj54bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZU5TIj54bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGVOUzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdHJpbmdFdmFsTnVtYmVyIj54bWxYUGF0aFN0cmluZ0V2YWxOdW1iZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoVmFyaWFibGVMb29rdXAiPnhtbFhQYXRoVmFyaWFibGVMb29rdXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoVmFyaWFibGVMb29rdXBGdW5jIj54bWxYUGF0aFZhcmlhYmxlTG9va3VwRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhWYXJpYWJsZUxvb2t1cE5TIj54bWxYUGF0aFZhcmlhYmxlTG9va3VwTlM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJFdmFsIj54bWxYUHRyRXZhbDwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSBjb25zdCB4bWxDaGFyICoqOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxQYXJzZUVudGl0eVJlZiI+aHRtbFBhcnNlRW50aXR5UmVmPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjc3RhcnRFbGVtZW50Ij5zdGFydEVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNzdGFydEVsZW1lbnROc1NBWDJGdW5jIj5zdGFydEVsZW1lbnROc1NBWDJGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjc3RhcnRFbGVtZW50U0FYRnVuYyI+c3RhcnRFbGVtZW50U0FYRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhsaW5rLmh0bWwjeGxpbmtFeHRlbmRlZExpbmtGdW5rIj54bGlua0V4dGVuZGVkTGlua0Z1bms8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bGluay5odG1sI3hsaW5rRXh0ZW5kZWRMaW5rU2V0RnVuayI+eGxpbmtFeHRlbmRlZExpbmtTZXRGdW5rPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwR2V0TGFuZ3VhZ2UiPnhtbEV4cEdldExhbmd1YWdlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwR2V0U3RhcnQiPnhtbEV4cEdldFN0YXJ0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbFBhdHRlcm5jb21waWxlIj54bWxQYXR0ZXJuY29tcGlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ0V4ZWNFcnJJbmZvIj54bWxSZWdFeGVjRXJySW5mbzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyU3RhcnRFbGVtZW50Ij54bWxTQVgyU3RhcnRFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJTdGFydEVsZW1lbnROcyI+eG1sU0FYMlN0YXJ0RWxlbWVudE5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hR2V0Q2Fub25WYWx1ZSI+eG1sU2NoZW1hR2V0Q2Fub25WYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUdldENhbm9uVmFsdWVXaHRzcCI+eG1sU2NoZW1hR2V0Q2Fub25WYWx1ZVdodHNwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclByZXNlcnZlUGF0dGVybiI+eG1sVGV4dFJlYWRlclByZXNlcnZlUGF0dGVybjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRHZXRQb3RlbnRpYWxDaGlsZHJlbiI+eG1sVmFsaWRHZXRQb3RlbnRpYWxDaGlsZHJlbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzIj54bWxWYWxpZEdldFZhbGlkRWxlbWVudHM8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgY29uc3QgeG1sRG9jICo6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRG9jR2V0Um9vdEVsZW1lbnQiPnhtbERvY0dldFJvb3RFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxFbmNvZGVTcGVjaWFsQ2hhcnMiPnhtbEVuY29kZVNwZWNpYWxDaGFyczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxHZXREb2NDb21wcmVzc01vZGUiPnhtbEdldERvY0NvbXByZXNzTW9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjeG1sR2V0RG9jRW50aXR5Ij54bWxHZXREb2NFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sR2V0SW50U3Vic2V0Ij54bWxHZXRJbnRTdWJzZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sR2V0TnNMaXN0Ij54bWxHZXROc0xpc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3RG9jVGV4dCI+eG1sTmV3RG9jVGV4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdSZWZlcmVuY2UiPnhtbE5ld1JlZmVyZW5jZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlR2V0QmFzZSI+eG1sTm9kZUdldEJhc2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUxpc3RHZXRSYXdTdHJpbmciPnhtbE5vZGVMaXN0R2V0UmF3U3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFN0cmluZ0dldE5vZGVMaXN0Ij54bWxTdHJpbmdHZXROb2RlTGlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTdHJpbmdMZW5HZXROb2RlTGlzdCI+eG1sU3RyaW5nTGVuR2V0Tm9kZUxpc3Q8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgY29uc3QgeG1sTGlzdFB0cjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0Q29weSI+eG1sTGlzdENvcHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdER1cCI+eG1sTGlzdER1cDwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSBjb25zdCB4bWxOb2RlICo6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmR2V0Tm9kZUNvbnRlbnQiPnhtbEJ1ZkdldE5vZGVDb250ZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEdldExhc3RDaGlsZCI+eG1sR2V0TGFzdENoaWxkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEdldExpbmVObyI+eG1sR2V0TGluZU5vPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEdldE5vTnNQcm9wIj54bWxHZXROb05zUHJvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxHZXROb2RlUGF0aCI+eG1sR2V0Tm9kZVBhdGg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sR2V0TnNMaXN0Ij54bWxHZXROc0xpc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sR2V0TnNQcm9wIj54bWxHZXROc1Byb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sR2V0UHJvcCI+eG1sR2V0UHJvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxIYXNOc1Byb3AiPnhtbEhhc05zUHJvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxIYXNQcm9wIj54bWxIYXNQcm9wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbElzQmxhbmtOb2RlIj54bWxJc0JsYW5rTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlQnVmR2V0Q29udGVudCI+eG1sTm9kZUJ1ZkdldENvbnRlbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUdldEJhc2UiPnhtbE5vZGVHZXRCYXNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVHZXRDb250ZW50Ij54bWxOb2RlR2V0Q29udGVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlR2V0TGFuZyI+eG1sTm9kZUdldExhbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUdldFNwYWNlUHJlc2VydmUiPnhtbE5vZGVHZXRTcGFjZVByZXNlcnZlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVJc1RleHQiPnhtbE5vZGVJc1RleHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUxpc3RHZXRSYXdTdHJpbmciPnhtbE5vZGVMaXN0R2V0UmF3U3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVMaXN0R2V0U3RyaW5nIj54bWxOb2RlTGlzdEdldFN0cmluZzwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSBjb25zdCB4bWxOb2RlUHRyOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VyRmluZE5vZGVJbmZvIj54bWxQYXJzZXJGaW5kTm9kZUluZm88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZXJGaW5kTm9kZUluZm9JbmRleCI+eG1sUGFyc2VyRmluZE5vZGVJbmZvSW5kZXg8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgY29uc3QgeG1sUGFyc2VyQ3R4dFB0cjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlckZpbmROb2RlSW5mbyI+eG1sUGFyc2VyRmluZE5vZGVJbmZvPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIGNvbnN0IHhtbFBhcnNlck5vZGVJbmZvUHRyOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VyQWRkTm9kZUluZm8iPnhtbFBhcnNlckFkZE5vZGVJbmZvPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIGNvbnN0IHhtbFBhcnNlck5vZGVJbmZvU2VxUHRyOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VyRmluZE5vZGVJbmZvSW5kZXgiPnhtbFBhcnNlckZpbmROb2RlSW5mb0luZGV4PC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIGRvY2JQYXJzZXJDdHh0UHRyOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtRE9DQnBhcnNlci5odG1sI2RvY2JGcmVlUGFyc2VyQ3R4dCI+ZG9jYkZyZWVQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtRE9DQnBhcnNlci5odG1sI2RvY2JQYXJzZUNodW5rIj5kb2NiUGFyc2VDaHVuazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiUGFyc2VEb2N1bWVudCI+ZG9jYlBhcnNlRG9jdW1lbnQ8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgZG9jYlNBWEhhbmRsZXJQdHI6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC1ET0NCcGFyc2VyLmh0bWwjZG9jYkNyZWF0ZVB1c2hQYXJzZXJDdHh0Ij5kb2NiQ3JlYXRlUHVzaFBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1ET0NCcGFyc2VyLmh0bWwjZG9jYlNBWFBhcnNlRG9jIj5kb2NiU0FYUGFyc2VEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1ET0NCcGFyc2VyLmh0bWwjZG9jYlNBWFBhcnNlRmlsZSI+ZG9jYlNBWFBhcnNlRmlsZTwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSBkb3VibGU6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ2FzdE51bWJlclRvQm9vbGVhbiI+eG1sWFBhdGhDYXN0TnVtYmVyVG9Cb29sZWFuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENhc3ROdW1iZXJUb1N0cmluZyI+eG1sWFBhdGhDYXN0TnVtYmVyVG9TdHJpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoSXNJbmYiPnhtbFhQYXRoSXNJbmY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoSXNOYU4iPnhtbFhQYXRoSXNOYU48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV3RmxvYXQiPnhtbFhQYXRoTmV3RmxvYXQ8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgZnRwRGF0YUNhbGxiYWNrOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBHZXQiPnhtbE5hbm9GVFBHZXQ8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgZnRwTGlzdENhbGxiYWNrOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBMaXN0Ij54bWxOYW5vRlRQTGlzdDwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSBodG1sRG9jUHRyOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxBdXRvQ2xvc2VUYWciPmh0bWxBdXRvQ2xvc2VUYWc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI2h0bWxHZXRNZXRhRW5jb2RpbmciPmh0bWxHZXRNZXRhRW5jb2Rpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbElzQXV0b0Nsb3NlZCI+aHRtbElzQXV0b0Nsb3NlZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwjaHRtbFNldE1ldGFFbmNvZGluZyI+aHRtbFNldE1ldGFFbmNvZGluZzwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSBodG1sTm9kZVB0cjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sQXV0b0Nsb3NlVGFnIj5odG1sQXV0b0Nsb3NlVGFnPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxJc0F1dG9DbG9zZWQiPmh0bWxJc0F1dG9DbG9zZWQ8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgaHRtbFBhcnNlckN0eHRQdHI6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEN0eHRSZWFkRG9jIj5odG1sQ3R4dFJlYWREb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEN0eHRSZWFkRmQiPmh0bWxDdHh0UmVhZEZkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxDdHh0UmVhZEZpbGUiPmh0bWxDdHh0UmVhZEZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEN0eHRSZWFkSU8iPmh0bWxDdHh0UmVhZElPPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxDdHh0UmVhZE1lbW9yeSI+aHRtbEN0eHRSZWFkTWVtb3J5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxDdHh0UmVzZXQiPmh0bWxDdHh0UmVzZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEN0eHRVc2VPcHRpb25zIj5odG1sQ3R4dFVzZU9wdGlvbnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEZyZWVQYXJzZXJDdHh0Ij5odG1sRnJlZVBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlQ2hhclJlZiI+aHRtbFBhcnNlQ2hhclJlZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sUGFyc2VDaHVuayI+aHRtbFBhcnNlQ2h1bms8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlRG9jdW1lbnQiPmh0bWxQYXJzZURvY3VtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxQYXJzZUVsZW1lbnQiPmh0bWxQYXJzZUVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlRW50aXR5UmVmIj5odG1sUGFyc2VFbnRpdHlSZWY8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgaHRtbFNBWEhhbmRsZXJQdHI6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbENyZWF0ZVB1c2hQYXJzZXJDdHh0Ij5odG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFNBWFBhcnNlRG9jIj5odG1sU0FYUGFyc2VEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFNBWFBhcnNlRmlsZSI+aHRtbFNBWFBhcnNlRmlsZTwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSBpbnQgKjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNVVEY4VG9IdG1sIj5VVEY4VG9IdG1sPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCNVVEY4VG9pc29sYXQxIj5VVEY4VG9pc29sYXQxPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtRE9DQnBhcnNlci5odG1sI2RvY2JFbmNvZGVFbnRpdGllcyI+ZG9jYkVuY29kZUVudGl0aWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNodG1sRG9jRHVtcE1lbW9yeSI+aHRtbERvY0R1bXBNZW1vcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI2h0bWxEb2NEdW1wTWVtb3J5Rm9ybWF0Ij5odG1sRG9jRHVtcE1lbW9yeUZvcm1hdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sRW5jb2RlRW50aXRpZXMiPmh0bWxFbmNvZGVFbnRpdGllczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjaXNvbGF0MVRvVVRGOCI+aXNvbGF0MVRvVVRGODwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nSW5wdXRGdW5jIj54bWxDaGFyRW5jb2RpbmdJbnB1dEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZ091dHB1dEZ1bmMiPnhtbENoYXJFbmNvZGluZ091dHB1dEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxDdXJyZW50Q2hhciI+eG1sQ3VycmVudENoYXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRG9jRHVtcEZvcm1hdE1lbW9yeSI+eG1sRG9jRHVtcEZvcm1hdE1lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxEb2NEdW1wRm9ybWF0TWVtb3J5RW5jIj54bWxEb2NEdW1wRm9ybWF0TWVtb3J5RW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERvY0R1bXBNZW1vcnkiPnhtbERvY0R1bXBNZW1vcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRG9jRHVtcE1lbW9yeUVuYyI+eG1sRG9jRHVtcE1lbW9yeUVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEdldEZlYXR1cmVzTGlzdCI+eG1sR2V0RmVhdHVyZXNMaXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sR2V0VVRGOENoYXIiPnhtbEdldFVURjhDaGFyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnRXhlY0VyckluZm8iPnhtbFJlZ0V4ZWNFcnJJbmZvPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnRXhlY05leHRWYWx1ZXMiPnhtbFJlZ0V4ZWNOZXh0VmFsdWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNwbGl0UU5hbWUzIj54bWxTcGxpdFFOYW1lMzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFN0cmluZ0N1cnJlbnRDaGFyIj54bWxTdHJpbmdDdXJyZW50Q2hhcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRHZXRQb3RlbnRpYWxDaGlsZHJlbiI+eG1sVmFsaWRHZXRQb3RlbnRpYWxDaGlsZHJlbjwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSBsb25nOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWVtRGlzcGxheUxhc3QiPnhtbE1lbURpc3BsYXlMYXN0PC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHNpemVfdDo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZTaHJpbmsiPnhtbEJ1ZlNocmluazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJDcmVhdGVTaXplIj54bWxCdWZmZXJDcmVhdGVTaXplPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlckNyZWF0ZVN0YXRpYyI+eG1sQnVmZmVyQ3JlYXRlU3RhdGljPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGljdC5odG1sI3htbERpY3RTZXRMaW1pdCI+eG1sRGljdFNldExpbWl0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWFsbG9jQXRvbWljTG9jIj54bWxNYWxsb2NBdG9taWNMb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNYWxsb2NGdW5jIj54bWxNYWxsb2NGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWFsbG9jTG9jIj54bWxNYWxsb2NMb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNZW1NYWxsb2MiPnhtbE1lbU1hbGxvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1lbVJlYWxsb2MiPnhtbE1lbVJlYWxsb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxSZWFsbG9jRnVuYyI+eG1sUmVhbGxvY0Z1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxSZWFsbG9jTG9jIj54bWxSZWFsbG9jTG9jPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHVuc2lnbmVkIGNoYXIgKjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNVVEY4VG9IdG1sIj5VVEY4VG9IdG1sPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCNVVEY4VG9pc29sYXQxIj5VVEY4VG9pc29sYXQxPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtRE9DQnBhcnNlci5odG1sI2RvY2JFbmNvZGVFbnRpdGllcyI+ZG9jYkVuY29kZUVudGl0aWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxFbmNvZGVFbnRpdGllcyI+aHRtbEVuY29kZUVudGl0aWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCNpc29sYXQxVG9VVEY4Ij5pc29sYXQxVG9VVEY4PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmdJbnB1dEZ1bmMiPnhtbENoYXJFbmNvZGluZ0lucHV0RnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYyI+eG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYzwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB1bnNpZ25lZCBpbnQ6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEVudGl0eVZhbHVlTG9va3VwIj5odG1sRW50aXR5VmFsdWVMb29rdXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyR3JvdyI+eG1sQnVmZmVyR3JvdzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJSZXNpemUiPnhtbEJ1ZmZlclJlc2l6ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJTaHJpbmsiPnhtbEJ1ZmZlclNocmluazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxDaGFySW5SYW5nZSI+eG1sQ2hhckluUmFuZ2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNCYXNlQ2hhciI+eG1sSXNCYXNlQ2hhcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc0JsYW5rIj54bWxJc0JsYW5rPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzQ2hhciI+eG1sSXNDaGFyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzQ29tYmluaW5nIj54bWxJc0NvbWJpbmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc0RpZ2l0Ij54bWxJc0RpZ2l0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzRXh0ZW5kZXIiPnhtbElzRXh0ZW5kZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNJZGVvZ3JhcGhpYyI+eG1sSXNJZGVvZ3JhcGhpYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc1B1YmlkQ2hhciI+eG1sSXNQdWJpZENoYXI8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgdW5zaWduZWQgbG9uZzo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCNmdHBMaXN0Q2FsbGJhY2siPmZ0cExpc3RDYWxsYmFjazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRocmVhZHMuaHRtbCN4bWxEbGxNYWluIj54bWxEbGxNYWluPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hVmFsaWRhdGVMaXN0U2ltcGxlVHlwZUZhY2V0Ij54bWxTY2hlbWFWYWxpZGF0ZUxpc3RTaW1wbGVUeXBlRmFjZXQ8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgdW5zaWduZWQgbG9uZyAqOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldCI+eG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXRXaHRzcCI+eG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldFdodHNwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hVmFsaWRhdGVMaXN0U2ltcGxlVHlwZUZhY2V0Ij54bWxTY2hlbWFWYWxpZGF0ZUxpc3RTaW1wbGVUeXBlRmFjZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRpdHlMb2NhdG9yRnVuYyI+eG1sU2NoZW1hVmFsaWRpdHlMb2NhdG9yRnVuYzwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB2YV9saXN0OjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3RyVlByaW50ZiI+eG1sU3RyVlByaW50ZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRBdHRyaWJ1dGUiPnhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRBdHRyaWJ1dGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0QXR0cmlidXRlTlMiPnhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRBdHRyaWJ1dGVOUzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRDREFUQSI+eG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdENEQVRBPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdENvbW1lbnQiPnhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRDb21tZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERURCI+eG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERURDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVERBdHRsaXN0Ij54bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFREQXR0bGlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVERFbGVtZW50Ij54bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFRERWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVERJbnRlcm5hbEVudGl0eSI+eG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREludGVybmFsRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEVsZW1lbnQiPnhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEVsZW1lbnROUyI+eG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEVsZW1lbnROUzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRQSSI+eG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdFBJPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdFJhdyI+eG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdFJhdzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRTdHJpbmciPnhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRTdHJpbmc8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgdm9pZCAqOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGVEZWNsIj5hdHRyaWJ1dGVEZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjYXR0cmlidXRlRGVjbFNBWEZ1bmMiPmF0dHJpYnV0ZURlY2xTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjYXR0cmlidXRlU0FYRnVuYyI+YXR0cmlidXRlU0FYRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI2NkYXRhQmxvY2siPmNkYXRhQmxvY2s8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNjZGF0YUJsb2NrU0FYRnVuYyI+Y2RhdGFCbG9ja1NBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNjaGFyYWN0ZXJzIj5jaGFyYWN0ZXJzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjY2hhcmFjdGVyc1NBWEZ1bmMiPmNoYXJhY3RlcnNTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjY2hlY2tOYW1lc3BhY2UiPmNoZWNrTmFtZXNwYWNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjY29tbWVudCI+Y29tbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI2NvbW1lbnRTQVhGdW5jIj5jb21tZW50U0FYRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiQ3JlYXRlUHVzaFBhcnNlckN0eHQiPmRvY2JDcmVhdGVQdXNoUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiU0FYUGFyc2VEb2MiPmRvY2JTQVhQYXJzZURvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiU0FYUGFyc2VGaWxlIj5kb2NiU0FYUGFyc2VGaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjZWxlbWVudERlY2wiPmVsZW1lbnREZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjZWxlbWVudERlY2xTQVhGdW5jIj5lbGVtZW50RGVjbFNBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNlbmREb2N1bWVudCI+ZW5kRG9jdW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNlbmREb2N1bWVudFNBWEZ1bmMiPmVuZERvY3VtZW50U0FYRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI2VuZEVsZW1lbnQiPmVuZEVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNlbmRFbGVtZW50TnNTQVgyRnVuYyI+ZW5kRWxlbWVudE5zU0FYMkZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNlbmRFbGVtZW50U0FYRnVuYyI+ZW5kRWxlbWVudFNBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNlbnRpdHlEZWNsIj5lbnRpdHlEZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjZW50aXR5RGVjbFNBWEZ1bmMiPmVudGl0eURlY2xTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjZXJyb3JTQVhGdW5jIj5lcnJvclNBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNleHRlcm5hbFN1YnNldCI+ZXh0ZXJuYWxTdWJzZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNleHRlcm5hbFN1YnNldFNBWEZ1bmMiPmV4dGVybmFsU3Vic2V0U0FYRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI2ZhdGFsRXJyb3JTQVhGdW5jIj5mYXRhbEVycm9yU0FYRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCNmdHBEYXRhQ2FsbGJhY2siPmZ0cERhdGFDYWxsYmFjazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCNmdHBMaXN0Q2FsbGJhY2siPmZ0cExpc3RDYWxsYmFjazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI2dldENvbHVtbk51bWJlciI+Z2V0Q29sdW1uTnVtYmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjZ2V0RW50aXR5Ij5nZXRFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNnZXRFbnRpdHlTQVhGdW5jIj5nZXRFbnRpdHlTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjZ2V0TGluZU51bWJlciI+Z2V0TGluZU51bWJlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI2dldE5hbWVzcGFjZSI+Z2V0TmFtZXNwYWNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjZ2V0UGFyYW1ldGVyRW50aXR5Ij5nZXRQYXJhbWV0ZXJFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNnZXRQYXJhbWV0ZXJFbnRpdHlTQVhGdW5jIj5nZXRQYXJhbWV0ZXJFbnRpdHlTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjZ2V0UHVibGljSWQiPmdldFB1YmxpY0lkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjZ2V0U3lzdGVtSWQiPmdldFN5c3RlbUlkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjZ2xvYmFsTmFtZXNwYWNlIj5nbG9iYWxOYW1lc3BhY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNoYXNFeHRlcm5hbFN1YnNldCI+aGFzRXh0ZXJuYWxTdWJzZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNoYXNFeHRlcm5hbFN1YnNldFNBWEZ1bmMiPmhhc0V4dGVybmFsU3Vic2V0U0FYRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI2hhc0ludGVybmFsU3Vic2V0Ij5oYXNJbnRlcm5hbFN1YnNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI2hhc0ludGVybmFsU3Vic2V0U0FYRnVuYyI+aGFzSW50ZXJuYWxTdWJzZXRTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dCI+aHRtbENyZWF0ZVB1c2hQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxDdHh0UmVhZElPIj5odG1sQ3R4dFJlYWRJTzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sUmVhZElPIj5odG1sUmVhZElPPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxTQVhQYXJzZURvYyI+aHRtbFNBWFBhcnNlRG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxTQVhQYXJzZUZpbGUiPmh0bWxTQVhQYXJzZUZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNpZ25vcmFibGVXaGl0ZXNwYWNlIj5pZ25vcmFibGVXaGl0ZXNwYWNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjaWdub3JhYmxlV2hpdGVzcGFjZVNBWEZ1bmMiPmlnbm9yYWJsZVdoaXRlc3BhY2VTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjaW50ZXJuYWxTdWJzZXQiPmludGVybmFsU3Vic2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjaW50ZXJuYWxTdWJzZXRTQVhGdW5jIj5pbnRlcm5hbFN1YnNldFNBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNpc1N0YW5kYWxvbmUiPmlzU3RhbmRhbG9uZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI2lzU3RhbmRhbG9uZVNBWEZ1bmMiPmlzU3RhbmRhbG9uZVNBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNuYW1lc3BhY2VEZWNsIj5uYW1lc3BhY2VEZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjbm90YXRpb25EZWNsIj5ub3RhdGlvbkRlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNub3RhdGlvbkRlY2xTQVhGdW5jIj5ub3RhdGlvbkRlY2xTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjcHJvY2Vzc2luZ0luc3RydWN0aW9uIj5wcm9jZXNzaW5nSW5zdHJ1Y3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNwcm9jZXNzaW5nSW5zdHJ1Y3Rpb25TQVhGdW5jIj5wcm9jZXNzaW5nSW5zdHJ1Y3Rpb25TQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjcmVmZXJlbmNlIj5yZWZlcmVuY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNyZWZlcmVuY2VTQVhGdW5jIj5yZWZlcmVuY2VTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjcmVzb2x2ZUVudGl0eSI+cmVzb2x2ZUVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3Jlc29sdmVFbnRpdHlTQVhGdW5jIj5yZXNvbHZlRW50aXR5U0FYRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI3NldERvY3VtZW50TG9jYXRvciI+c2V0RG9jdW1lbnRMb2NhdG9yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjc2V0RG9jdW1lbnRMb2NhdG9yU0FYRnVuYyI+c2V0RG9jdW1lbnRMb2NhdG9yU0FYRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI3NldE5hbWVzcGFjZSI+c2V0TmFtZXNwYWNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjc3RhcnREb2N1bWVudCI+c3RhcnREb2N1bWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3N0YXJ0RG9jdW1lbnRTQVhGdW5jIj5zdGFydERvY3VtZW50U0FYRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI3N0YXJ0RWxlbWVudCI+c3RhcnRFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjc3RhcnRFbGVtZW50TnNTQVgyRnVuYyI+c3RhcnRFbGVtZW50TnNTQVgyRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3N0YXJ0RWxlbWVudFNBWEZ1bmMiPnN0YXJ0RWxlbWVudFNBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCN1bnBhcnNlZEVudGl0eURlY2wiPnVucGFyc2VkRW50aXR5RGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3VucGFyc2VkRW50aXR5RGVjbFNBWEZ1bmMiPnVucGFyc2VkRW50aXR5RGVjbFNBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN3YXJuaW5nU0FYRnVuYyI+d2FybmluZ1NBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bGluay5odG1sI3hsaW5rRXh0ZW5kZWRMaW5rRnVuayI+eGxpbmtFeHRlbmRlZExpbmtGdW5rPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGxpbmsuaHRtbCN4bGlua0V4dGVuZGVkTGlua1NldEZ1bmsiPnhsaW5rRXh0ZW5kZWRMaW5rU2V0RnVuazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhsaW5rLmh0bWwjeGxpbmtOb2RlRGV0ZWN0RnVuYyI+eGxpbmtOb2RlRGV0ZWN0RnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhsaW5rLmh0bWwjeGxpbmtTaW1wbGVMaW5rRnVuayI+eGxpbmtTaW1wbGVMaW5rRnVuazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdDb3VudFRyYW5zIj54bWxBdXRvbWF0YU5ld0NvdW50VHJhbnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhTmV3Q291bnRUcmFuczIiPnhtbEF1dG9tYXRhTmV3Q291bnRUcmFuczI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhTmV3TmVnVHJhbnMiPnhtbEF1dG9tYXRhTmV3TmVnVHJhbnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhTmV3T25jZVRyYW5zIj54bWxBdXRvbWF0YU5ld09uY2VUcmFuczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdPbmNlVHJhbnMyIj54bWxBdXRvbWF0YU5ld09uY2VUcmFuczI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhTmV3VHJhbnNpdGlvbiI+eG1sQXV0b21hdGFOZXdUcmFuc2l0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld1RyYW5zaXRpb24yIj54bWxBdXRvbWF0YU5ld1RyYW5zaXRpb24yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlckNyZWF0ZVN0YXRpYyI+eG1sQnVmZmVyQ3JlYXRlU3RhdGljPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtYzE0bi5odG1sI3htbEMxNE5FeGVjdXRlIj54bWxDMTRORXhlY3V0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTROSXNWaXNpYmxlQ2FsbGJhY2siPnhtbEMxNE5Jc1Zpc2libGVDYWxsYmFjazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nQWRkTG9jYWwiPnhtbENhdGFsb2dBZGRMb2NhbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nRnJlZUxvY2FsIj54bWxDYXRhbG9nRnJlZUxvY2FsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dMb2NhbFJlc29sdmUiPnhtbENhdGFsb2dMb2NhbFJlc29sdmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ0xvY2FsUmVzb2x2ZVVSSSI+eG1sQ2F0YWxvZ0xvY2FsUmVzb2x2ZVVSSTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbENyZWF0ZUlPUGFyc2VyQ3R4dCI+eG1sQ3JlYXRlSU9QYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQiPnhtbENyZWF0ZVB1c2hQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxDdHh0R2V0TGFzdEVycm9yIj54bWxDdHh0R2V0TGFzdEVycm9yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ3R4dFJlYWRJTyI+eG1sQ3R4dFJlYWRJTzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sQ3R4dFJlc2V0TGFzdEVycm9yIj54bWxDdHh0UmVzZXRMYXN0RXJyb3I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sRGxsTWFpbiI+eG1sRGxsTWFpbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sRmlsZUNsb3NlIj54bWxGaWxlQ2xvc2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbEZpbGVSZWFkIj54bWxGaWxlUmVhZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbEZyZWVGdW5jIj54bWxGcmVlRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sR2VuZXJpY0Vycm9yRnVuYyI+eG1sR2VuZXJpY0Vycm9yRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEdldEZlYXR1cmUiPnhtbEdldEZlYXR1cmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaEFkZEVudHJ5Ij54bWxIYXNoQWRkRW50cnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaEFkZEVudHJ5MiI+eG1sSGFzaEFkZEVudHJ5MjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoQWRkRW50cnkzIj54bWxIYXNoQWRkRW50cnkzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hDb3BpZXIiPnhtbEhhc2hDb3BpZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaERlYWxsb2NhdG9yIj54bWxIYXNoRGVhbGxvY2F0b3I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFNjYW4iPnhtbEhhc2hTY2FuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hTY2FuMyI+eG1sSGFzaFNjYW4zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hTY2FuRnVsbCI+eG1sSGFzaFNjYW5GdWxsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hTY2FuRnVsbDMiPnhtbEhhc2hTY2FuRnVsbDM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFNjYW5uZXIiPnhtbEhhc2hTY2FubmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hTY2FubmVyRnVsbCI+eG1sSGFzaFNjYW5uZXJGdWxsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hVcGRhdGVFbnRyeSI+eG1sSGFzaFVwZGF0ZUVudHJ5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hVcGRhdGVFbnRyeTIiPnhtbEhhc2hVcGRhdGVFbnRyeTI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFVwZGF0ZUVudHJ5MyI+eG1sSGFzaFVwZGF0ZUVudHJ5MzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sSU9GVFBDbG9zZSI+eG1sSU9GVFBDbG9zZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sSU9GVFBSZWFkIj54bWxJT0ZUUFJlYWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbElPSFRUUENsb3NlIj54bWxJT0hUVFBDbG9zZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sSU9IVFRQUmVhZCI+eG1sSU9IVFRQUmVhZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sSW5wdXRDbG9zZUNhbGxiYWNrIj54bWxJbnB1dENsb3NlQ2FsbGJhY2s8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbElucHV0UmVhZENhbGxiYWNrIj54bWxJbnB1dFJlYWRDYWxsYmFjazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0QXBwZW5kIj54bWxMaXN0QXBwZW5kPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3RJbnNlcnQiPnhtbExpc3RJbnNlcnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdFB1c2hCYWNrIj54bWxMaXN0UHVzaEJhY2s8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdFB1c2hGcm9udCI+eG1sTGlzdFB1c2hGcm9udDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0UmVtb3ZlQWxsIj54bWxMaXN0UmVtb3ZlQWxsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3RSZW1vdmVGaXJzdCI+eG1sTGlzdFJlbW92ZUZpcnN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3RSZW1vdmVMYXN0Ij54bWxMaXN0UmVtb3ZlTGFzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0UmV2ZXJzZVNlYXJjaCI+eG1sTGlzdFJldmVyc2VTZWFyY2g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdFNlYXJjaCI+eG1sTGlzdFNlYXJjaDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1lbUZyZWUiPnhtbE1lbUZyZWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNZW1SZWFsbG9jIj54bWxNZW1SZWFsbG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBDaGVja1Jlc3BvbnNlIj54bWxOYW5vRlRQQ2hlY2tSZXNwb25zZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQQ2xvc2UiPnhtbE5hbm9GVFBDbG9zZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQQ2xvc2VDb25uZWN0aW9uIj54bWxOYW5vRlRQQ2xvc2VDb25uZWN0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBDb25uZWN0Ij54bWxOYW5vRlRQQ29ubmVjdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQQ3dkIj54bWxOYW5vRlRQQ3dkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBEZWxlIj54bWxOYW5vRlRQRGVsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQRnJlZUN0eHQiPnhtbE5hbm9GVFBGcmVlQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQR2V0Ij54bWxOYW5vRlRQR2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBHZXRDb25uZWN0aW9uIj54bWxOYW5vRlRQR2V0Q29ubmVjdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQR2V0UmVzcG9uc2UiPnhtbE5hbm9GVFBHZXRSZXNwb25zZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQR2V0U29ja2V0Ij54bWxOYW5vRlRQR2V0U29ja2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBMaXN0Ij54bWxOYW5vRlRQTGlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQUXVpdCI+eG1sTmFub0ZUUFF1aXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUFJlYWQiPnhtbE5hbm9GVFBSZWFkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBVcGRhdGVVUkwiPnhtbE5hbm9GVFBVcGRhdGVVUkw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQQXV0aEhlYWRlciI+eG1sTmFub0hUVFBBdXRoSGVhZGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUENsb3NlIj54bWxOYW5vSFRUUENsb3NlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUENvbnRlbnRMZW5ndGgiPnhtbE5hbm9IVFRQQ29udGVudExlbmd0aDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9odHRwLmh0bWwjeG1sTmFub0hUVFBFbmNvZGluZyI+eG1sTmFub0hUVFBFbmNvZGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9odHRwLmh0bWwjeG1sTmFub0hUVFBNaW1lVHlwZSI+eG1sTmFub0hUVFBNaW1lVHlwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9odHRwLmh0bWwjeG1sTmFub0hUVFBSZWFkIj54bWxOYW5vSFRUUFJlYWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQUmVkaXIiPnhtbE5hbm9IVFRQUmVkaXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQUmV0dXJuQ29kZSI+eG1sTmFub0hUVFBSZXR1cm5Db2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUFNhdmUiPnhtbE5hbm9IVFRQU2F2ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0QnVmZmVyQ3JlYXRlSU8iPnhtbE91dHB1dEJ1ZmZlckNyZWF0ZUlPPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRDbG9zZUNhbGxiYWNrIj54bWxPdXRwdXRDbG9zZUNhbGxiYWNrPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRXcml0ZUNhbGxiYWNrIj54bWxPdXRwdXRXcml0ZUNhbGxiYWNrPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5Ij54bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlSZWNvdmVyIj54bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlSZWNvdmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VFeHRlcm5hbEVudGl0eSI+eG1sUGFyc2VFeHRlcm5hbEVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sUGFyc2VyRXJyb3IiPnhtbFBhcnNlckVycm9yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUlPIj54bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUlPPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxQYXJzZXJWYWxpZGl0eUVycm9yIj54bWxQYXJzZXJWYWxpZGl0eUVycm9yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxQYXJzZXJWYWxpZGl0eVdhcm5pbmciPnhtbFBhcnNlclZhbGlkaXR5V2FybmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sUGFyc2VyV2FybmluZyI+eG1sUGFyc2VyV2FybmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFJlYWRJTyI+eG1sUmVhZElPPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sUmVhZGVyRm9ySU8iPnhtbFJlYWRlckZvcklPPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sUmVhZGVyTmV3SU8iPnhtbFJlYWRlck5ld0lPPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sUmVhbGxvY0Z1bmMiPnhtbFJlYWxsb2NGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sUmVhbGxvY0xvYyI+eG1sUmVhbGxvY0xvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ0V4ZWNDYWxsYmFja3MiPnhtbFJlZ0V4ZWNDYWxsYmFja3M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdFeGVjUHVzaFN0cmluZyI+eG1sUmVnRXhlY1B1c2hTdHJpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdFeGVjUHVzaFN0cmluZzIiPnhtbFJlZ0V4ZWNQdXNoU3RyaW5nMjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ05ld0V4ZWNDdHh0Ij54bWxSZWdOZXdFeGVjQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HU2V0UGFyc2VyRXJyb3JzIj54bWxSZWxheE5HU2V0UGFyc2VyRXJyb3JzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdTZXRQYXJzZXJTdHJ1Y3R1cmVkRXJyb3JzIj54bWxSZWxheE5HU2V0UGFyc2VyU3RydWN0dXJlZEVycm9yczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HU2V0VmFsaWRFcnJvcnMiPnhtbFJlbGF4TkdTZXRWYWxpZEVycm9yczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzIj54bWxSZWxheE5HU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdWYWxpZGl0eUVycm9yRnVuYyI+eG1sUmVsYXhOR1ZhbGlkaXR5RXJyb3JGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdWYWxpZGl0eVdhcm5pbmdGdW5jIj54bWxSZWxheE5HVmFsaWRpdHlXYXJuaW5nRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyQXR0cmlidXRlRGVjbCI+eG1sU0FYMkF0dHJpYnV0ZURlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMkNEYXRhQmxvY2siPnhtbFNBWDJDRGF0YUJsb2NrPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJDaGFyYWN0ZXJzIj54bWxTQVgyQ2hhcmFjdGVyczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyQ29tbWVudCI+eG1sU0FYMkNvbW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMkVsZW1lbnREZWNsIj54bWxTQVgyRWxlbWVudERlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMkVuZERvY3VtZW50Ij54bWxTQVgyRW5kRG9jdW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMkVuZEVsZW1lbnQiPnhtbFNBWDJFbmRFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJFbmRFbGVtZW50TnMiPnhtbFNBWDJFbmRFbGVtZW50TnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMkVudGl0eURlY2wiPnhtbFNBWDJFbnRpdHlEZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJFeHRlcm5hbFN1YnNldCI+eG1sU0FYMkV4dGVybmFsU3Vic2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJHZXRDb2x1bW5OdW1iZXIiPnhtbFNBWDJHZXRDb2x1bW5OdW1iZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMkdldEVudGl0eSI+eG1sU0FYMkdldEVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyR2V0TGluZU51bWJlciI+eG1sU0FYMkdldExpbmVOdW1iZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMkdldFBhcmFtZXRlckVudGl0eSI+eG1sU0FYMkdldFBhcmFtZXRlckVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyR2V0UHVibGljSWQiPnhtbFNBWDJHZXRQdWJsaWNJZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyR2V0U3lzdGVtSWQiPnhtbFNBWDJHZXRTeXN0ZW1JZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgySGFzRXh0ZXJuYWxTdWJzZXQiPnhtbFNBWDJIYXNFeHRlcm5hbFN1YnNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgySGFzSW50ZXJuYWxTdWJzZXQiPnhtbFNBWDJIYXNJbnRlcm5hbFN1YnNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgySWdub3JhYmxlV2hpdGVzcGFjZSI+eG1sU0FYMklnbm9yYWJsZVdoaXRlc3BhY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMkludGVybmFsU3Vic2V0Ij54bWxTQVgySW50ZXJuYWxTdWJzZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMklzU3RhbmRhbG9uZSI+eG1sU0FYMklzU3RhbmRhbG9uZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyTm90YXRpb25EZWNsIj54bWxTQVgyTm90YXRpb25EZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24iPnhtbFNBWDJQcm9jZXNzaW5nSW5zdHJ1Y3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMlJlZmVyZW5jZSI+eG1sU0FYMlJlZmVyZW5jZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyUmVzb2x2ZUVudGl0eSI+eG1sU0FYMlJlc29sdmVFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMlNldERvY3VtZW50TG9jYXRvciI+eG1sU0FYMlNldERvY3VtZW50TG9jYXRvcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyU3RhcnREb2N1bWVudCI+eG1sU0FYMlN0YXJ0RG9jdW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMlN0YXJ0RWxlbWVudCI+eG1sU0FYMlN0YXJ0RWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyU3RhcnRFbGVtZW50TnMiPnhtbFNBWDJTdGFydEVsZW1lbnROczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyVW5wYXJzZWRFbnRpdHlEZWNsIj54bWxTQVgyVW5wYXJzZWRFbnRpdHlEZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYUGFyc2VGaWxlV2l0aERhdGEiPnhtbFNBWFBhcnNlRmlsZVdpdGhEYXRhPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYUGFyc2VNZW1vcnlXaXRoRGF0YSI+eG1sU0FYUGFyc2VNZW1vcnlXaXRoRGF0YTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNBWFVzZXJQYXJzZUZpbGUiPnhtbFNBWFVzZXJQYXJzZUZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxTQVhVc2VyUGFyc2VNZW1vcnkiPnhtbFNBWFVzZXJQYXJzZU1lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNhdmUuaHRtbCN4bWxTYXZlVG9JTyI+eG1sU2F2ZVRvSU88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hU2V0UGFyc2VyRXJyb3JzIj54bWxTY2hlbWFTZXRQYXJzZXJFcnJvcnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hU2V0UGFyc2VyU3RydWN0dXJlZEVycm9ycyI+eG1sU2NoZW1hU2V0UGFyc2VyU3RydWN0dXJlZEVycm9yczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFTZXRWYWxpZEVycm9ycyI+eG1sU2NoZW1hU2V0VmFsaWRFcnJvcnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzIj54bWxTY2hlbWFTZXRWYWxpZFN0cnVjdHVyZWRFcnJvcnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRhdGVTZXRMb2NhdG9yIj54bWxTY2hlbWFWYWxpZGF0ZVNldExvY2F0b3I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRhdGVTdHJlYW0iPnhtbFNjaGVtYVZhbGlkYXRlU3RyZWFtPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkaXR5RXJyb3JGdW5jIj54bWxTY2hlbWFWYWxpZGl0eUVycm9yRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZGl0eUxvY2F0b3JGdW5jIj54bWxTY2hlbWFWYWxpZGl0eUxvY2F0b3JGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkaXR5V2FybmluZ0Z1bmMiPnhtbFNjaGVtYVZhbGlkaXR5V2FybmluZ0Z1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvblNldFZhbGlkU3RydWN0dXJlZEVycm9ycyI+eG1sU2NoZW1hdHJvblNldFZhbGlkU3RydWN0dXJlZEVycm9yczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uVmFsaWRpdHlFcnJvckZ1bmMiPnhtbFNjaGVtYXRyb25WYWxpZGl0eUVycm9yRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uVmFsaWRpdHlXYXJuaW5nRnVuYyI+eG1sU2NoZW1hdHJvblZhbGlkaXR5V2FybmluZ0Z1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxTZXRGZWF0dXJlIj54bWxTZXRGZWF0dXJlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxTZXRHZW5lcmljRXJyb3JGdW5jIj54bWxTZXRHZW5lcmljRXJyb3JGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxTZXRTdHJ1Y3R1cmVkRXJyb3JGdW5jIj54bWxTZXRTdHJ1Y3R1cmVkRXJyb3JGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jIj54bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckVycm9yRnVuYyI+eG1sVGV4dFJlYWRlckVycm9yRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJTZXRFcnJvckhhbmRsZXIiPnhtbFRleHRSZWFkZXJTZXRFcnJvckhhbmRsZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyU2V0U3RydWN0dXJlZEVycm9ySGFuZGxlciI+eG1sVGV4dFJlYWRlclNldFN0cnVjdHVyZWRFcnJvckhhbmRsZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sVGhyRGVmU2V0R2VuZXJpY0Vycm9yRnVuYyI+eG1sVGhyRGVmU2V0R2VuZXJpY0Vycm9yRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxUaHJEZWZTZXRTdHJ1Y3R1cmVkRXJyb3JGdW5jIj54bWxUaHJEZWZTZXRTdHJ1Y3R1cmVkRXJyb3JGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGl0eUVycm9yRnVuYyI+eG1sVmFsaWRpdHlFcnJvckZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkaXR5V2FybmluZ0Z1bmMiPnhtbFZhbGlkaXR5V2FybmluZ0Z1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14aW5jbHVkZS5odG1sI3htbFhJbmNsdWRlUHJvY2Vzc0ZsYWdzRGF0YSI+eG1sWEluY2x1ZGVQcm9jZXNzRmxhZ3NEYXRhPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGluY2x1ZGUuaHRtbCN4bWxYSW5jbHVkZVByb2Nlc3NUcmVlRmxhZ3NEYXRhIj54bWxYSW5jbHVkZVByb2Nlc3NUcmVlRmxhZ3NEYXRhPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aEZ1bmNMb29rdXBGdW5jIj54bWxYUGF0aEZ1bmNMb29rdXBGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJlZ2lzdGVyRnVuY0xvb2t1cCI+eG1sWFBhdGhSZWdpc3RlckZ1bmNMb29rdXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZUxvb2t1cCI+eG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlTG9va3VwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFZhcmlhYmxlTG9va3VwRnVuYyI+eG1sWFBhdGhWYXJpYWJsZUxvb2t1cEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoV3JhcEV4dGVybmFsIj54bWxYUGF0aFdyYXBFeHRlcm5hbDwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB2b2lkICoqOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbW9kdWxlLmh0bWwjeG1sTW9kdWxlU3ltYm9sIj54bWxNb2R1bGVTeW1ib2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR0dldFBhcnNlckVycm9ycyI+eG1sUmVsYXhOR0dldFBhcnNlckVycm9yczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HR2V0VmFsaWRFcnJvcnMiPnhtbFJlbGF4TkdHZXRWYWxpZEVycm9yczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFHZXRQYXJzZXJFcnJvcnMiPnhtbFNjaGVtYUdldFBhcnNlckVycm9yczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFHZXRWYWxpZEVycm9ycyI+eG1sU2NoZW1hR2V0VmFsaWRFcnJvcnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hU0FYUGx1ZyI+eG1sU2NoZW1hU0FYUGx1ZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJHZXRFcnJvckhhbmRsZXIiPnhtbFRleHRSZWFkZXJHZXRFcnJvckhhbmRsZXI8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeGxpbmtBY3R1YXRlICo6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC14bGluay5odG1sI3hsaW5rRXh0ZW5kZWRMaW5rRnVuayI+eGxpbmtFeHRlbmRlZExpbmtGdW5rPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhsaW5rSGFuZGxlclB0cjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhsaW5rLmh0bWwjeGxpbmtTZXREZWZhdWx0SGFuZGxlciI+eGxpbmtTZXREZWZhdWx0SGFuZGxlcjwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bGlua05vZGVEZXRlY3RGdW5jOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwteGxpbmsuaHRtbCN4bGlua1NldERlZmF1bHREZXRlY3QiPnhsaW5rU2V0RGVmYXVsdERldGVjdDwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bGlua1Nob3cgKjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhsaW5rLmh0bWwjeGxpbmtFeHRlbmRlZExpbmtGdW5rIj54bGlua0V4dGVuZGVkTGlua0Z1bms8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sQXR0clB0cjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sQWRkSUQiPnhtbEFkZElEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxBZGRSZWYiPnhtbEFkZFJlZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxBdHRyU2VyaWFsaXplVHh0Q29udGVudCI+eG1sQXR0clNlcmlhbGl6ZVR4dENvbnRlbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQ29weVByb3AiPnhtbENvcHlQcm9wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbENvcHlQcm9wTGlzdCI+eG1sQ29weVByb3BMaXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxEZWJ1Z0R1bXBBdHRyIj54bWxEZWJ1Z0R1bXBBdHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxEZWJ1Z0R1bXBBdHRyTGlzdCI+eG1sRGVidWdEdW1wQXR0ckxpc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRnJlZVByb3AiPnhtbEZyZWVQcm9wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEZyZWVQcm9wTGlzdCI+eG1sRnJlZVByb3BMaXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxJc0lEIj54bWxJc0lEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxJc1JlZiI+eG1sSXNSZWY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFJlbW92ZUlEIj54bWxSZW1vdmVJRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxSZW1vdmVQcm9wIj54bWxSZW1vdmVQcm9wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxSZW1vdmVSZWYiPnhtbFJlbW92ZVJlZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVPbmVBdHRyaWJ1dGUiPnhtbFZhbGlkYXRlT25lQXR0cmlidXRlPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbEF0dHJpYnV0ZURlZmF1bHQ6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEFkZEF0dHJpYnV0ZURlY2wiPnhtbEFkZEF0dHJpYnV0ZURlY2w8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sQXR0cmlidXRlUHRyOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxEdW1wQXR0cmlidXRlRGVjbCI+eG1sRHVtcEF0dHJpYnV0ZURlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlQXR0cmlidXRlRGVjbCI+eG1sVmFsaWRhdGVBdHRyaWJ1dGVEZWNsPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbEF0dHJpYnV0ZVRhYmxlUHRyOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxDb3B5QXR0cmlidXRlVGFibGUiPnhtbENvcHlBdHRyaWJ1dGVUYWJsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sRHVtcEF0dHJpYnV0ZVRhYmxlIj54bWxEdW1wQXR0cmlidXRlVGFibGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEZyZWVBdHRyaWJ1dGVUYWJsZSI+eG1sRnJlZUF0dHJpYnV0ZVRhYmxlPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbEF0dHJpYnV0ZVR5cGU6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEFkZEF0dHJpYnV0ZURlY2wiPnhtbEFkZEF0dHJpYnV0ZURlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlQXR0cmlidXRlVmFsdWUiPnhtbFZhbGlkYXRlQXR0cmlidXRlVmFsdWU8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sQXV0b21hdGFQdHI6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhQ29tcGlsZSI+eG1sQXV0b21hdGFDb21waWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YUdldEluaXRTdGF0ZSI+eG1sQXV0b21hdGFHZXRJbml0U3RhdGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhSXNEZXRlcm1pbmlzdCI+eG1sQXV0b21hdGFJc0RldGVybWluaXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld0FsbFRyYW5zIj54bWxBdXRvbWF0YU5ld0FsbFRyYW5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld0NvdW50VHJhbnMiPnhtbEF1dG9tYXRhTmV3Q291bnRUcmFuczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdDb3VudFRyYW5zMiI+eG1sQXV0b21hdGFOZXdDb3VudFRyYW5zMjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdDb3VudGVkVHJhbnMiPnhtbEF1dG9tYXRhTmV3Q291bnRlZFRyYW5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld0NvdW50ZXIiPnhtbEF1dG9tYXRhTmV3Q291bnRlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdDb3VudGVyVHJhbnMiPnhtbEF1dG9tYXRhTmV3Q291bnRlclRyYW5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld0Vwc2lsb24iPnhtbEF1dG9tYXRhTmV3RXBzaWxvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdOZWdUcmFucyI+eG1sQXV0b21hdGFOZXdOZWdUcmFuczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdPbmNlVHJhbnMiPnhtbEF1dG9tYXRhTmV3T25jZVRyYW5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld09uY2VUcmFuczIiPnhtbEF1dG9tYXRhTmV3T25jZVRyYW5zMjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdTdGF0ZSI+eG1sQXV0b21hdGFOZXdTdGF0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdUcmFuc2l0aW9uIj54bWxBdXRvbWF0YU5ld1RyYW5zaXRpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhTmV3VHJhbnNpdGlvbjIiPnhtbEF1dG9tYXRhTmV3VHJhbnNpdGlvbjI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhU2V0RmluYWxTdGF0ZSI+eG1sQXV0b21hdGFTZXRGaW5hbFN0YXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxGcmVlQXV0b21hdGEiPnhtbEZyZWVBdXRvbWF0YTwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxBdXRvbWF0YVN0YXRlUHRyOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld0FsbFRyYW5zIj54bWxBdXRvbWF0YU5ld0FsbFRyYW5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld0NvdW50VHJhbnMiPnhtbEF1dG9tYXRhTmV3Q291bnRUcmFuczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdDb3VudFRyYW5zMiI+eG1sQXV0b21hdGFOZXdDb3VudFRyYW5zMjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdDb3VudGVkVHJhbnMiPnhtbEF1dG9tYXRhTmV3Q291bnRlZFRyYW5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld0NvdW50ZXJUcmFucyI+eG1sQXV0b21hdGFOZXdDb3VudGVyVHJhbnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhTmV3RXBzaWxvbiI+eG1sQXV0b21hdGFOZXdFcHNpbG9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld05lZ1RyYW5zIj54bWxBdXRvbWF0YU5ld05lZ1RyYW5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld09uY2VUcmFucyI+eG1sQXV0b21hdGFOZXdPbmNlVHJhbnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhTmV3T25jZVRyYW5zMiI+eG1sQXV0b21hdGFOZXdPbmNlVHJhbnMyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld1RyYW5zaXRpb24iPnhtbEF1dG9tYXRhTmV3VHJhbnNpdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdUcmFuc2l0aW9uMiI+eG1sQXV0b21hdGFOZXdUcmFuc2l0aW9uMjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFTZXRGaW5hbFN0YXRlIj54bWxBdXRvbWF0YVNldEZpbmFsU3RhdGU8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sQnVmUHRyOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZkVuZCI+eG1sQnVmRW5kPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZkdldE5vZGVDb250ZW50Ij54bWxCdWZHZXROb2RlQ29udGVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZOb2RlRHVtcCI+eG1sQnVmTm9kZUR1bXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmU2hyaW5rIj54bWxCdWZTaHJpbms8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sQnVmZmVyQWxsb2NhdGlvblNjaGVtZTo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJTZXRBbGxvY2F0aW9uU2NoZW1lIj54bWxCdWZmZXJTZXRBbGxvY2F0aW9uU2NoZW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUiPnhtbFNldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sVGhyRGVmQnVmZmVyQWxsb2NTY2hlbWUiPnhtbFRockRlZkJ1ZmZlckFsbG9jU2NoZW1lPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbEJ1ZmZlclB0cjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwjaHRtbE5vZGVEdW1wIj5odG1sTm9kZUR1bXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQXR0clNlcmlhbGl6ZVR4dENvbnRlbnQiPnhtbEF0dHJTZXJpYWxpemVUeHRDb250ZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlckFkZCI+eG1sQnVmZmVyQWRkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlckFkZEhlYWQiPnhtbEJ1ZmZlckFkZEhlYWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyQ0NhdCI+eG1sQnVmZmVyQ0NhdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJDYXQiPnhtbEJ1ZmZlckNhdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJEZXRhY2giPnhtbEJ1ZmZlckRldGFjaDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJEdW1wIj54bWxCdWZmZXJEdW1wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlckVtcHR5Ij54bWxCdWZmZXJFbXB0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJGcmVlIj54bWxCdWZmZXJGcmVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlckdyb3ciPnhtbEJ1ZmZlckdyb3c8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyUmVzaXplIj54bWxCdWZmZXJSZXNpemU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyU2V0QWxsb2NhdGlvblNjaGVtZSI+eG1sQnVmZmVyU2V0QWxsb2NhdGlvblNjaGVtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJTaHJpbmsiPnhtbEJ1ZmZlclNocmluazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJXcml0ZUNIQVIiPnhtbEJ1ZmZlcldyaXRlQ0hBUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJXcml0ZUNoYXIiPnhtbEJ1ZmZlcldyaXRlQ2hhcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJXcml0ZVF1b3RlZFN0cmluZyI+eG1sQnVmZmVyV3JpdGVRdW90ZWRTdHJpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNGaXJzdExpbmUiPnhtbENoYXJFbmNGaXJzdExpbmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNJbkZ1bmMiPnhtbENoYXJFbmNJbkZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNPdXRGdW5jIj54bWxDaGFyRW5jT3V0RnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sRHVtcEF0dHJpYnV0ZURlY2wiPnhtbER1bXBBdHRyaWJ1dGVEZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxEdW1wQXR0cmlidXRlVGFibGUiPnhtbER1bXBBdHRyaWJ1dGVUYWJsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sRHVtcEVsZW1lbnREZWNsIj54bWxEdW1wRWxlbWVudERlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbER1bXBFbGVtZW50VGFibGUiPnhtbER1bXBFbGVtZW50VGFibGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI3htbER1bXBFbnRpdGllc1RhYmxlIj54bWxEdW1wRW50aXRpZXNUYWJsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjeG1sRHVtcEVudGl0eURlY2wiPnhtbER1bXBFbnRpdHlEZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxEdW1wTm90YXRpb25EZWNsIj54bWxEdW1wTm90YXRpb25EZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxEdW1wTm90YXRpb25UYWJsZSI+eG1sRHVtcE5vdGF0aW9uVGFibGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBEdW1wIj54bWxFeHBEdW1wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sTmV3VGV4dFdyaXRlck1lbW9yeSI+eG1sTmV3VGV4dFdyaXRlck1lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlQnVmR2V0Q29udGVudCI+eG1sTm9kZUJ1ZkdldENvbnRlbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUR1bXAiPnhtbE5vZGVEdW1wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRCdWZmZXJDcmVhdGVCdWZmZXIiPnhtbE91dHB1dEJ1ZmZlckNyZWF0ZUJ1ZmZlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNhdmUuaHRtbCN4bWxTYXZlVG9CdWZmZXIiPnhtbFNhdmVUb0J1ZmZlcjwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxDMTROSXNWaXNpYmxlQ2FsbGJhY2s6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC1jMTRuLmh0bWwjeG1sQzE0TkV4ZWN1dGUiPnhtbEMxNE5FeGVjdXRlPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbENhdGFsb2dBbGxvdzo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nU2V0RGVmYXVsdHMiPnhtbENhdGFsb2dTZXREZWZhdWx0czwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxDYXRhbG9nUHJlZmVyOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dTZXREZWZhdWx0UHJlZmVyIj54bWxDYXRhbG9nU2V0RGVmYXVsdFByZWZlcjwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxDYXRhbG9nUHRyOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbEFDYXRhbG9nQWRkIj54bWxBQ2F0YWxvZ0FkZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxBQ2F0YWxvZ0R1bXAiPnhtbEFDYXRhbG9nRHVtcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxBQ2F0YWxvZ1JlbW92ZSI+eG1sQUNhdGFsb2dSZW1vdmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQUNhdGFsb2dSZXNvbHZlIj54bWxBQ2F0YWxvZ1Jlc29sdmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQUNhdGFsb2dSZXNvbHZlUHVibGljIj54bWxBQ2F0YWxvZ1Jlc29sdmVQdWJsaWM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQUNhdGFsb2dSZXNvbHZlU3lzdGVtIj54bWxBQ2F0YWxvZ1Jlc29sdmVTeXN0ZW08L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQUNhdGFsb2dSZXNvbHZlVVJJIj54bWxBQ2F0YWxvZ1Jlc29sdmVVUkk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ0lzRW1wdHkiPnhtbENhdGFsb2dJc0VtcHR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbENvbnZlcnRTR01MQ2F0YWxvZyI+eG1sQ29udmVydFNHTUxDYXRhbG9nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbEZyZWVDYXRhbG9nIj54bWxGcmVlQ2F0YWxvZzwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxDaGFyOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sRGVjb2RlRW50aXRpZXMiPnhtbERlY29kZUVudGl0aWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3RyY2hyIj54bWxTdHJjaHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxTdHJpbmdEZWNvZGVFbnRpdGllcyI+eG1sU3RyaW5nRGVjb2RlRW50aXRpZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxTdHJpbmdMZW5EZWNvZGVFbnRpdGllcyI+eG1sU3RyaW5nTGVuRGVjb2RlRW50aXRpZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyU2V0UXVvdGVDaGFyIj54bWxUZXh0V3JpdGVyU2V0UXVvdGVDaGFyPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbENoYXIgKjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI2NoZWNrTmFtZXNwYWNlIj5jaGVja05hbWVzcGFjZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiUGFyc2VEb2MiPmRvY2JQYXJzZURvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiU0FYUGFyc2VEb2MiPmRvY2JTQVhQYXJzZURvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI2VudGl0eURlY2wiPmVudGl0eURlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNlbnRpdHlEZWNsU0FYRnVuYyI+ZW50aXR5RGVjbFNBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlRG9jIj5odG1sUGFyc2VEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFNBWFBhcnNlRG9jIj5odG1sU0FYUGFyc2VEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVpbGRRTmFtZSI+eG1sQnVpbGRRTmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbENvcHlDaGFyIj54bWxDb3B5Q2hhcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbENvcHlDaGFyTXVsdGlCeXRlIj54bWxDb3B5Q2hhck11bHRpQnl0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoQ29waWVyIj54bWxIYXNoQ29waWVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hEZWFsbG9jYXRvciI+eG1sSGFzaERlYWxsb2NhdG9yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hTY2FubmVyIj54bWxIYXNoU2Nhbm5lcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdEb2NOb2RlRWF0TmFtZSI+eG1sTmV3RG9jTm9kZUVhdE5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3Tm9kZUVhdE5hbWUiPnhtbE5ld05vZGVFYXROYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld05zUHJvcEVhdE5hbWUiPnhtbE5ld05zUHJvcEVhdE5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZXJJbnB1dERlYWxsb2NhdGUiPnhtbFBhcnNlcklucHV0RGVhbGxvY2F0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyRW50aXR5RGVjbCI+eG1sU0FYMkVudGl0eURlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJQcmludGYiPnhtbFN0clByaW50ZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFN0clZQcmludGYiPnhtbFN0clZQcmludGY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJjYXQiPnhtbFN0cmNhdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFN0cm5jYXQiPnhtbFN0cm5jYXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoV3JhcFN0cmluZyI+eG1sWFBhdGhXcmFwU3RyaW5nPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbENoYXIgKio6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI2h0bWxEb2NEdW1wTWVtb3J5Ij5odG1sRG9jRHVtcE1lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwjaHRtbERvY0R1bXBNZW1vcnlGb3JtYXQiPmh0bWxEb2NEdW1wTWVtb3J5Rm9ybWF0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtYzE0bi5odG1sI3htbEMxNE5Eb2NEdW1wTWVtb3J5Ij54bWxDMTRORG9jRHVtcE1lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTRORG9jU2F2ZSI+eG1sQzE0TkRvY1NhdmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jMTRuLmh0bWwjeG1sQzE0TkRvY1NhdmVUbyI+eG1sQzE0TkRvY1NhdmVUbzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTRORXhlY3V0ZSI+eG1sQzE0TkV4ZWN1dGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRG9jRHVtcEZvcm1hdE1lbW9yeSI+eG1sRG9jRHVtcEZvcm1hdE1lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxEb2NEdW1wRm9ybWF0TWVtb3J5RW5jIj54bWxEb2NEdW1wRm9ybWF0TWVtb3J5RW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERvY0R1bXBNZW1vcnkiPnhtbERvY0R1bXBNZW1vcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRG9jRHVtcE1lbW9yeUVuYyI+eG1sRG9jRHVtcE1lbW9yeUVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbE5hbWVzcGFjZVBhcnNlUU5hbWUiPnhtbE5hbWVzcGFjZVBhcnNlUU5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUF0dHJpYnV0ZSI+eG1sUGFyc2VBdHRyaWJ1dGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZURlZmF1bHREZWNsIj54bWxQYXJzZURlZmF1bHREZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbnRpdHlWYWx1ZSI+eG1sUGFyc2VFbnRpdHlWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRXh0ZXJuYWxJRCI+eG1sUGFyc2VFeHRlcm5hbElEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnRXhlY0VyckluZm8iPnhtbFJlZ0V4ZWNFcnJJbmZvPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnRXhlY05leHRWYWx1ZXMiPnhtbFJlZ0V4ZWNOZXh0VmFsdWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sU3BsaXRRTmFtZSI+eG1sU3BsaXRRTmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTcGxpdFFOYW1lMiI+eG1sU3BsaXRRTmFtZTI8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sQ2hhckVuY29kaW5nOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtRE9DQnBhcnNlci5odG1sI2RvY2JDcmVhdGVQdXNoUGFyc2VyQ3R4dCI+ZG9jYkNyZWF0ZVB1c2hQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dCI+aHRtbENyZWF0ZVB1c2hQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxBbGxvY1BhcnNlcklucHV0QnVmZmVyIj54bWxBbGxvY1BhcnNlcklucHV0QnVmZmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ3JlYXRlSU9QYXJzZXJDdHh0Ij54bWxDcmVhdGVJT1BhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbEdldENoYXJFbmNvZGluZ0hhbmRsZXIiPnhtbEdldENoYXJFbmNvZGluZ0hhbmRsZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbEdldENoYXJFbmNvZGluZ05hbWUiPnhtbEdldENoYXJFbmNvZGluZ05hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxJT1BhcnNlRFREIj54bWxJT1BhcnNlRFREPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sTmV3SU9JbnB1dFN0cmVhbSI+eG1sTmV3SU9JbnB1dFN0cmVhbTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGZCI+eG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlIj54bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWUiPnhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmMiPnhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUlPIj54bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUlPPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZU1lbSI+eG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVNZW08L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlU3RhdGljIj54bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZVN0YXRpYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZGF0ZVN0cmVhbSI+eG1sU2NoZW1hVmFsaWRhdGVTdHJlYW08L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxTd2l0Y2hFbmNvZGluZyI+eG1sU3dpdGNoRW5jb2Rpbmc8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sQ2hhckVuY29kaW5nSGFuZGxlciAqOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jQ2xvc2VGdW5jIj54bWxDaGFyRW5jQ2xvc2VGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jRmlyc3RMaW5lIj54bWxDaGFyRW5jRmlyc3RMaW5lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jSW5GdW5jIj54bWxDaGFyRW5jSW5GdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jT3V0RnVuYyI+eG1sQ2hhckVuY091dEZ1bmM8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0cjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sQWxsb2NPdXRwdXRCdWZmZXIiPnhtbEFsbG9jT3V0cHV0QnVmZmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRCdWZmZXJDcmVhdGVCdWZmZXIiPnhtbE91dHB1dEJ1ZmZlckNyZWF0ZUJ1ZmZlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmQiPnhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlIj54bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZSI+eG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jIj54bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dEJ1ZmZlckNyZWF0ZUlPIj54bWxPdXRwdXRCdWZmZXJDcmVhdGVJTzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sUmVnaXN0ZXJDaGFyRW5jb2RpbmdIYW5kbGVyIj54bWxSZWdpc3RlckNoYXJFbmNvZGluZ0hhbmRsZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxTd2l0Y2hJbnB1dEVuY29kaW5nIj54bWxTd2l0Y2hJbnB1dEVuY29kaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sU3dpdGNoVG9FbmNvZGluZyI+eG1sU3dpdGNoVG9FbmNvZGluZzwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxDaGFyRW5jb2RpbmdJbnB1dEZ1bmM6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbE5ld0NoYXJFbmNvZGluZ0hhbmRsZXIiPnhtbE5ld0NoYXJFbmNvZGluZ0hhbmRsZXI8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYzo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sTmV3Q2hhckVuY29kaW5nSGFuZGxlciI+eG1sTmV3Q2hhckVuY29kaW5nSGFuZGxlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0QnVmZmVyV3JpdGVFc2NhcGUiPnhtbE91dHB1dEJ1ZmZlcldyaXRlRXNjYXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2F2ZS5odG1sI3htbFNhdmVTZXRBdHRyRXNjYXBlIj54bWxTYXZlU2V0QXR0ckVzY2FwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNhdmUuaHRtbCN4bWxTYXZlU2V0RXNjYXBlIj54bWxTYXZlU2V0RXNjYXBlPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbERPTVdyYXBDdHh0UHRyOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBBY3F1aXJlTnNGdW5jdGlvbiI+eG1sRE9NV3JhcEFjcXVpcmVOc0Z1bmN0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBBZG9wdE5vZGUiPnhtbERPTVdyYXBBZG9wdE5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcENsb25lTm9kZSI+eG1sRE9NV3JhcENsb25lTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwRnJlZUN0eHQiPnhtbERPTVdyYXBGcmVlQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwUmVjb25jaWxlTmFtZXNwYWNlcyI+eG1sRE9NV3JhcFJlY29uY2lsZU5hbWVzcGFjZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcFJlbW92ZU5vZGUiPnhtbERPTVdyYXBSZW1vdmVOb2RlPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbERlcmVnaXN0ZXJOb2RlRnVuYzo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxEZXJlZ2lzdGVyTm9kZURlZmF1bHQiPnhtbERlcmVnaXN0ZXJOb2RlRGVmYXVsdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxUaHJEZWZEZXJlZ2lzdGVyTm9kZURlZmF1bHQiPnhtbFRockRlZkRlcmVnaXN0ZXJOb2RlRGVmYXVsdDwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxEaWN0ICo6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sUGF0dGVybmNvbXBpbGUiPnhtbFBhdHRlcm5jb21waWxlPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbERpY3RQdHI6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC1kaWN0Lmh0bWwjeG1sRGljdENyZWF0ZVN1YiI+eG1sRGljdENyZWF0ZVN1YjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0RXhpc3RzIj54bWxEaWN0RXhpc3RzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGljdC5odG1sI3htbERpY3RGcmVlIj54bWxEaWN0RnJlZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0R2V0VXNhZ2UiPnhtbERpY3RHZXRVc2FnZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0TG9va3VwIj54bWxEaWN0TG9va3VwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGljdC5odG1sI3htbERpY3RPd25zIj54bWxEaWN0T3duczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0UUxvb2t1cCI+eG1sRGljdFFMb29rdXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kaWN0Lmh0bWwjeG1sRGljdFJlZmVyZW5jZSI+eG1sRGljdFJlZmVyZW5jZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0U2V0TGltaXQiPnhtbERpY3RTZXRMaW1pdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0U2l6ZSI+eG1sRGljdFNpemU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBOZXdDdHh0Ij54bWxFeHBOZXdDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hDcmVhdGVEaWN0Ij54bWxIYXNoQ3JlYXRlRGljdDwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxEb2NQdHI6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI2h0bWxEb2NDb250ZW50RHVtcEZvcm1hdE91dHB1dCI+aHRtbERvY0NvbnRlbnREdW1wRm9ybWF0T3V0cHV0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNodG1sRG9jQ29udGVudER1bXBPdXRwdXQiPmh0bWxEb2NDb250ZW50RHVtcE91dHB1dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwjaHRtbERvY0R1bXAiPmh0bWxEb2NEdW1wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNodG1sRG9jRHVtcE1lbW9yeSI+aHRtbERvY0R1bXBNZW1vcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI2h0bWxEb2NEdW1wTWVtb3J5Rm9ybWF0Ij5odG1sRG9jRHVtcE1lbW9yeUZvcm1hdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwjaHRtbE5vZGVEdW1wIj5odG1sTm9kZUR1bXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI2h0bWxOb2RlRHVtcEZpbGUiPmh0bWxOb2RlRHVtcEZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI2h0bWxOb2RlRHVtcEZpbGVGb3JtYXQiPmh0bWxOb2RlRHVtcEZpbGVGb3JtYXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI2h0bWxOb2RlRHVtcEZvcm1hdE91dHB1dCI+aHRtbE5vZGVEdW1wRm9ybWF0T3V0cHV0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNodG1sTm9kZUR1bXBPdXRwdXQiPmh0bWxOb2RlRHVtcE91dHB1dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwjaHRtbFNhdmVGaWxlIj5odG1sU2F2ZUZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI2h0bWxTYXZlRmlsZUVuYyI+aHRtbFNhdmVGaWxlRW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNodG1sU2F2ZUZpbGVGb3JtYXQiPmh0bWxTYXZlRmlsZUZvcm1hdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhsaW5rLmh0bWwjeGxpbmtJc0xpbmsiPnhsaW5rSXNMaW5rPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxBZGREb2NFbnRpdHkiPnhtbEFkZERvY0VudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjeG1sQWRkRHRkRW50aXR5Ij54bWxBZGREdGRFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEFkZElEIj54bWxBZGRJRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sQWRkUmVmIj54bWxBZGRSZWY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQXR0clNlcmlhbGl6ZVR4dENvbnRlbnQiPnhtbEF0dHJTZXJpYWxpemVUeHRDb250ZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1Zk5vZGVEdW1wIj54bWxCdWZOb2RlRHVtcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTRORG9jRHVtcE1lbW9yeSI+eG1sQzE0TkRvY0R1bXBNZW1vcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jMTRuLmh0bWwjeG1sQzE0TkRvY1NhdmUiPnhtbEMxNE5Eb2NTYXZlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtYzE0bi5odG1sI3htbEMxNE5Eb2NTYXZlVG8iPnhtbEMxNE5Eb2NTYXZlVG88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jMTRuLmh0bWwjeG1sQzE0TkV4ZWN1dGUiPnhtbEMxNE5FeGVjdXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbENvcHlEb2MiPnhtbENvcHlEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbENvcHlEb2NFbGVtZW50Q29udGVudCI+eG1sQ29weURvY0VsZW1lbnRDb250ZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbENyZWF0ZUludFN1YnNldCI+eG1sQ3JlYXRlSW50U3Vic2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBBZG9wdE5vZGUiPnhtbERPTVdyYXBBZG9wdE5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcENsb25lTm9kZSI+eG1sRE9NV3JhcENsb25lTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwUmVtb3ZlTm9kZSI+eG1sRE9NV3JhcFJlbW92ZU5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbERlYnVnQ2hlY2tEb2N1bWVudCI+eG1sRGVidWdDaGVja0RvY3VtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxEZWJ1Z0R1bXBEb2N1bWVudCI+eG1sRGVidWdEdW1wRG9jdW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbERlYnVnRHVtcERvY3VtZW50SGVhZCI+eG1sRGVidWdEdW1wRG9jdW1lbnRIZWFkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxEZWJ1Z0R1bXBFbnRpdGllcyI+eG1sRGVidWdEdW1wRW50aXRpZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRG9jQ29weU5vZGUiPnhtbERvY0NvcHlOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERvY0NvcHlOb2RlTGlzdCI+eG1sRG9jQ29weU5vZGVMaXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERvY0R1bXAiPnhtbERvY0R1bXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRG9jRHVtcEZvcm1hdE1lbW9yeSI+eG1sRG9jRHVtcEZvcm1hdE1lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxEb2NEdW1wRm9ybWF0TWVtb3J5RW5jIj54bWxEb2NEdW1wRm9ybWF0TWVtb3J5RW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERvY0R1bXBNZW1vcnkiPnhtbERvY0R1bXBNZW1vcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRG9jRHVtcE1lbW9yeUVuYyI+eG1sRG9jRHVtcE1lbW9yeUVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxEb2NGb3JtYXREdW1wIj54bWxEb2NGb3JtYXREdW1wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERvY1NldFJvb3RFbGVtZW50Ij54bWxEb2NTZXRSb290RWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxFbGVtRHVtcCI+eG1sRWxlbUR1bXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI3htbEVuY29kZUVudGl0aWVzIj54bWxFbmNvZGVFbnRpdGllczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjeG1sRW5jb2RlRW50aXRpZXNSZWVudHJhbnQiPnhtbEVuY29kZUVudGl0aWVzUmVlbnRyYW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEZyZWVEb2MiPnhtbEZyZWVEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEZyZWVEb2NFbGVtZW50Q29udGVudCI+eG1sRnJlZURvY0VsZW1lbnRDb250ZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxHZXREdGRFbnRpdHkiPnhtbEdldER0ZEVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sR2V0SUQiPnhtbEdldElEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxHZXRQYXJhbWV0ZXJFbnRpdHkiPnhtbEdldFBhcmFtZXRlckVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sR2V0UmVmcyI+eG1sR2V0UmVmczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sSXNJRCI+eG1sSXNJRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sSXNNaXhlZEVsZW1lbnQiPnhtbElzTWl4ZWRFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxJc1JlZiI+eG1sSXNSZWY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3Q0RhdGFCbG9jayI+eG1sTmV3Q0RhdGFCbG9jazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdDaGFyUmVmIj54bWxOZXdDaGFyUmVmPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld0RvY0NvbW1lbnQiPnhtbE5ld0RvY0NvbW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbE5ld0RvY0VsZW1lbnRDb250ZW50Ij54bWxOZXdEb2NFbGVtZW50Q29udGVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdEb2NGcmFnbWVudCI+eG1sTmV3RG9jRnJhZ21lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3RG9jTm9kZSI+eG1sTmV3RG9jTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdEb2NOb2RlRWF0TmFtZSI+eG1sTmV3RG9jTm9kZUVhdE5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3RG9jUEkiPnhtbE5ld0RvY1BJPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld0RvY1Byb3AiPnhtbE5ld0RvY1Byb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3RG9jUmF3Tm9kZSI+eG1sTmV3RG9jUmF3Tm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdEb2NUZXh0TGVuIj54bWxOZXdEb2NUZXh0TGVuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld0R0ZCI+eG1sTmV3RHRkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxOZXdFbnRpdHkiPnhtbE5ld0VudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdHbG9iYWxOcyI+eG1sTmV3R2xvYmFsTnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxOZXdUZXh0V3JpdGVyVHJlZSI+eG1sTmV3VGV4dFdyaXRlclRyZWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUR1bXAiPnhtbE5vZGVEdW1wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVEdW1wT3V0cHV0Ij54bWxOb2RlRHVtcE91dHB1dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlTGlzdEdldFN0cmluZyI+eG1sTm9kZUxpc3RHZXRTdHJpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnkiPnhtbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXIiPnhtbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUV4dGVybmFsRW50aXR5Ij54bWxQYXJzZUV4dGVybmFsRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sUmVhZGVyTmV3V2Fsa2VyIj54bWxSZWFkZXJOZXdXYWxrZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxSZWFkZXJXYWxrZXIiPnhtbFJlYWRlcldhbGtlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxSZWNvbmNpbGlhdGVOcyI+eG1sUmVjb25jaWxpYXRlTnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR05ld0RvY1BhcnNlckN0eHQiPnhtbFJlbGF4TkdOZXdEb2NQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdWYWxpZGF0ZURvYyI+eG1sUmVsYXhOR1ZhbGlkYXRlRG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdWYWxpZGF0ZUZ1bGxFbGVtZW50Ij54bWxSZWxheE5HVmFsaWRhdGVGdWxsRWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HVmFsaWRhdGVQb3BFbGVtZW50Ij54bWxSZWxheE5HVmFsaWRhdGVQb3BFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdWYWxpZGF0ZVB1c2hFbGVtZW50Ij54bWxSZWxheE5HVmFsaWRhdGVQdXNoRWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sUmVtb3ZlSUQiPnhtbFJlbW92ZUlEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxSZW1vdmVSZWYiPnhtbFJlbW92ZVJlZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNhdmUuaHRtbCN4bWxTYXZlRG9jIj54bWxTYXZlRG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNhdmVGaWxlIj54bWxTYXZlRmlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTYXZlRmlsZUVuYyI+eG1sU2F2ZUZpbGVFbmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2F2ZUZpbGVUbyI+eG1sU2F2ZUZpbGVUbzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTYXZlRm9ybWF0RmlsZSI+eG1sU2F2ZUZvcm1hdEZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2F2ZUZvcm1hdEZpbGVFbmMiPnhtbFNhdmVGb3JtYXRGaWxlRW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNhdmVGb3JtYXRGaWxlVG8iPnhtbFNhdmVGb3JtYXRGaWxlVG88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hTmV3RG9jUGFyc2VyQ3R4dCI+eG1sU2NoZW1hTmV3RG9jUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZGF0ZURvYyI+eG1sU2NoZW1hVmFsaWRhdGVEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvbk5ld0RvY1BhcnNlckN0eHQiPnhtbFNjaGVtYXRyb25OZXdEb2NQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hdHJvbi5odG1sI3htbFNjaGVtYXRyb25WYWxpZGF0ZURvYyI+eG1sU2NoZW1hdHJvblZhbGlkYXRlRG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNlYXJjaE5zIj54bWxTZWFyY2hOczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTZWFyY2hOc0J5SHJlZiI+eG1sU2VhcmNoTnNCeUhyZWY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2V0RG9jQ29tcHJlc3NNb2RlIj54bWxTZXREb2NDb21wcmVzc01vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2V0TGlzdERvYyI+eG1sU2V0TGlzdERvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTZXRUcmVlRG9jIj54bWxTZXRUcmVlRG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbCI+eG1sU2hlbGw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkQ3R4dE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlIj54bWxWYWxpZEN0eHROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZSI+eG1sVmFsaWROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVBdHRyaWJ1dGVEZWNsIj54bWxWYWxpZGF0ZUF0dHJpYnV0ZURlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlRG9jdW1lbnQiPnhtbFZhbGlkYXRlRG9jdW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlRG9jdW1lbnRGaW5hbCI+eG1sVmFsaWRhdGVEb2N1bWVudEZpbmFsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZUR0ZCI+eG1sVmFsaWRhdGVEdGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlRHRkRmluYWwiPnhtbFZhbGlkYXRlRHRkRmluYWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlRWxlbWVudCI+eG1sVmFsaWRhdGVFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZUVsZW1lbnREZWNsIj54bWxWYWxpZGF0ZUVsZW1lbnREZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZU5vdGF0aW9uRGVjbCI+eG1sVmFsaWRhdGVOb3RhdGlvbkRlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlTm90YXRpb25Vc2UiPnhtbFZhbGlkYXRlTm90YXRpb25Vc2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlT25lQXR0cmlidXRlIj54bWxWYWxpZGF0ZU9uZUF0dHJpYnV0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVPbmVFbGVtZW50Ij54bWxWYWxpZGF0ZU9uZUVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlT25lTmFtZXNwYWNlIj54bWxWYWxpZGF0ZU9uZU5hbWVzcGFjZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVQb3BFbGVtZW50Ij54bWxWYWxpZGF0ZVBvcEVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlUHVzaEVsZW1lbnQiPnhtbFZhbGlkYXRlUHVzaEVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlUm9vdCI+eG1sVmFsaWRhdGVSb290PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGluY2x1ZGUuaHRtbCN4bWxYSW5jbHVkZU5ld0NvbnRleHQiPnhtbFhJbmNsdWRlTmV3Q29udGV4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhpbmNsdWRlLmh0bWwjeG1sWEluY2x1ZGVQcm9jZXNzIj54bWxYSW5jbHVkZVByb2Nlc3M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14aW5jbHVkZS5odG1sI3htbFhJbmNsdWRlUHJvY2Vzc0ZsYWdzIj54bWxYSW5jbHVkZVByb2Nlc3NGbGFnczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhpbmNsdWRlLmh0bWwjeG1sWEluY2x1ZGVQcm9jZXNzRmxhZ3NEYXRhIj54bWxYSW5jbHVkZVByb2Nlc3NGbGFnc0RhdGE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoTmV3Q29udGV4dCI+eG1sWFBhdGhOZXdDb250ZXh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9yZGVyRG9jRWxlbXMiPnhtbFhQYXRoT3JkZXJEb2NFbGVtczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ck5ld0NvbnRleHQiPnhtbFhQdHJOZXdDb250ZXh0PC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbERvY1B0ciAqOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sTmV3VGV4dFdyaXRlckRvYyI+eG1sTmV3VGV4dFdyaXRlckRvYzwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxEdGRQdHI6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEFkZEF0dHJpYnV0ZURlY2wiPnhtbEFkZEF0dHJpYnV0ZURlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEFkZEVsZW1lbnREZWNsIj54bWxBZGRFbGVtZW50RGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sQWRkTm90YXRpb25EZWNsIj54bWxBZGROb3RhdGlvbkRlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQ29weUR0ZCI+eG1sQ29weUR0ZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sRGVidWdEdW1wRFREIj54bWxEZWJ1Z0R1bXBEVEQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRnJlZUR0ZCI+eG1sRnJlZUR0ZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sR2V0RHRkQXR0ckRlc2MiPnhtbEdldER0ZEF0dHJEZXNjPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxHZXREdGRFbGVtZW50RGVzYyI+eG1sR2V0RHRkRWxlbWVudERlc2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEdldER0ZE5vdGF0aW9uRGVzYyI+eG1sR2V0RHRkTm90YXRpb25EZXNjPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxHZXREdGRRQXR0ckRlc2MiPnhtbEdldER0ZFFBdHRyRGVzYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sR2V0RHRkUUVsZW1lbnREZXNjIj54bWxHZXREdGRRRWxlbWVudERlc2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlRHRkIj54bWxWYWxpZGF0ZUR0ZDwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxFbGVtZW50Q29udGVudCAqOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZEdldFBvdGVudGlhbENoaWxkcmVuIj54bWxWYWxpZEdldFBvdGVudGlhbENoaWxkcmVuPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbEVsZW1lbnRDb250ZW50UHRyOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjZWxlbWVudERlY2wiPmVsZW1lbnREZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjZWxlbWVudERlY2xTQVhGdW5jIj5lbGVtZW50RGVjbFNBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEFkZEVsZW1lbnREZWNsIj54bWxBZGRFbGVtZW50RGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sQ29weURvY0VsZW1lbnRDb250ZW50Ij54bWxDb3B5RG9jRWxlbWVudENvbnRlbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbENvcHlFbGVtZW50Q29udGVudCI+eG1sQ29weUVsZW1lbnRDb250ZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxGcmVlRG9jRWxlbWVudENvbnRlbnQiPnhtbEZyZWVEb2NFbGVtZW50Q29udGVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sRnJlZUVsZW1lbnRDb250ZW50Ij54bWxGcmVlRWxlbWVudENvbnRlbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMkVsZW1lbnREZWNsIj54bWxTQVgyRWxlbWVudERlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFNucHJpbnRmRWxlbWVudENvbnRlbnQiPnhtbFNucHJpbnRmRWxlbWVudENvbnRlbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFNwcmludGZFbGVtZW50Q29udGVudCI+eG1sU3ByaW50ZkVsZW1lbnRDb250ZW50PC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbEVsZW1lbnRDb250ZW50UHRyICo6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVsZW1lbnRDb250ZW50RGVjbCI+eG1sUGFyc2VFbGVtZW50Q29udGVudERlY2w8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sRWxlbWVudENvbnRlbnRUeXBlOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxOZXdEb2NFbGVtZW50Q29udGVudCI+eG1sTmV3RG9jRWxlbWVudENvbnRlbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbE5ld0VsZW1lbnRDb250ZW50Ij54bWxOZXdFbGVtZW50Q29udGVudDwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxFbGVtZW50UHRyOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxEdW1wRWxlbWVudERlY2wiPnhtbER1bXBFbGVtZW50RGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRCdWlsZENvbnRlbnRNb2RlbCI+eG1sVmFsaWRCdWlsZENvbnRlbnRNb2RlbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVFbGVtZW50RGVjbCI+eG1sVmFsaWRhdGVFbGVtZW50RGVjbDwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxFbGVtZW50VGFibGVQdHI6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbENvcHlFbGVtZW50VGFibGUiPnhtbENvcHlFbGVtZW50VGFibGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbER1bXBFbGVtZW50VGFibGUiPnhtbER1bXBFbGVtZW50VGFibGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEZyZWVFbGVtZW50VGFibGUiPnhtbEZyZWVFbGVtZW50VGFibGU8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sRWxlbWVudFR5cGVWYWw6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEFkZEVsZW1lbnREZWNsIj54bWxBZGRFbGVtZW50RGVjbDwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxFbnRpdGllc1RhYmxlUHRyOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxDb3B5RW50aXRpZXNUYWJsZSI+eG1sQ29weUVudGl0aWVzVGFibGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI3htbER1bXBFbnRpdGllc1RhYmxlIj54bWxEdW1wRW50aXRpZXNUYWJsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjeG1sRnJlZUVudGl0aWVzVGFibGUiPnhtbEZyZWVFbnRpdGllc1RhYmxlPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbEVudGl0eVB0cjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjeG1sRHVtcEVudGl0eURlY2wiPnhtbER1bXBFbnRpdHlEZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sRW50aXR5UmVmZXJlbmNlRnVuYyI+eG1sRW50aXR5UmVmZXJlbmNlRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbEhhbmRsZUVudGl0eSI+eG1sSGFuZGxlRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sTmV3RW50aXR5SW5wdXRTdHJlYW0iPnhtbE5ld0VudGl0eUlucHV0U3RyZWFtPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbEVudGl0eVJlZmVyZW5jZUZ1bmM6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxTZXRFbnRpdHlSZWZlcmVuY2VGdW5jIj54bWxTZXRFbnRpdHlSZWZlcmVuY2VGdW5jPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbEVudW1lcmF0aW9uUHRyOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlRGVjbCI+YXR0cmlidXRlRGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI2F0dHJpYnV0ZURlY2xTQVhGdW5jIj5hdHRyaWJ1dGVEZWNsU0FYRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sQWRkQXR0cmlidXRlRGVjbCI+eG1sQWRkQXR0cmlidXRlRGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sQ29weUVudW1lcmF0aW9uIj54bWxDb3B5RW51bWVyYXRpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEZyZWVFbnVtZXJhdGlvbiI+eG1sRnJlZUVudW1lcmF0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJBdHRyaWJ1dGVEZWNsIj54bWxTQVgyQXR0cmlidXRlRGVjbDwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxFbnVtZXJhdGlvblB0ciAqOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VBdHRyaWJ1dGVUeXBlIj54bWxQYXJzZUF0dHJpYnV0ZVR5cGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVudW1lcmF0ZWRUeXBlIj54bWxQYXJzZUVudW1lcmF0ZWRUeXBlPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbEVycm9yUHRyOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxDb3B5RXJyb3IiPnhtbENvcHlFcnJvcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sUmVzZXRFcnJvciI+eG1sUmVzZXRFcnJvcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sU3RydWN0dXJlZEVycm9yRnVuYyI+eG1sU3RydWN0dXJlZEVycm9yRnVuYzwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxFeHBDdHh0UHRyOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwQ3R4dE5iQ29ucyI+eG1sRXhwQ3R4dE5iQ29uczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cEN0eHROYk5vZGVzIj54bWxFeHBDdHh0TmJOb2RlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cEV4cERlcml2ZSI+eG1sRXhwRXhwRGVyaXZlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwRnJlZSI+eG1sRXhwRnJlZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cEZyZWVDdHh0Ij54bWxFeHBGcmVlQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cEdldExhbmd1YWdlIj54bWxFeHBHZXRMYW5ndWFnZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cEdldFN0YXJ0Ij54bWxFeHBHZXRTdGFydDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5ld0F0b20iPnhtbEV4cE5ld0F0b208L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBOZXdPciI+eG1sRXhwTmV3T3I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBOZXdSYW5nZSI+eG1sRXhwTmV3UmFuZ2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBOZXdTZXEiPnhtbEV4cE5ld1NlcTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cFBhcnNlIj54bWxFeHBQYXJzZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cFN0cmluZ0Rlcml2ZSI+eG1sRXhwU3RyaW5nRGVyaXZlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwU3Vic3VtZSI+eG1sRXhwU3Vic3VtZTwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxFeHBOb2RlUHRyOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwRHVtcCI+eG1sRXhwRHVtcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cEV4cERlcml2ZSI+eG1sRXhwRXhwRGVyaXZlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwRnJlZSI+eG1sRXhwRnJlZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cEdldExhbmd1YWdlIj54bWxFeHBHZXRMYW5ndWFnZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cEdldFN0YXJ0Ij54bWxFeHBHZXRTdGFydDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cElzTmlsbGFibGUiPnhtbEV4cElzTmlsbGFibGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBNYXhUb2tlbiI+eG1sRXhwTWF4VG9rZW48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBOZXdPciI+eG1sRXhwTmV3T3I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBOZXdSYW5nZSI+eG1sRXhwTmV3UmFuZ2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBOZXdTZXEiPnhtbEV4cE5ld1NlcTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cFJlZiI+eG1sRXhwUmVmPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwU3RyaW5nRGVyaXZlIj54bWxFeHBTdHJpbmdEZXJpdmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBTdWJzdW1lIj54bWxFeHBTdWJzdW1lPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbEV4dGVybmFsRW50aXR5TG9hZGVyOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU2V0RXh0ZXJuYWxFbnRpdHlMb2FkZXIiPnhtbFNldEV4dGVybmFsRW50aXR5TG9hZGVyPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbEZlYXR1cmU6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxIYXNGZWF0dXJlIj54bWxIYXNGZWF0dXJlPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbEZyZWVGdW5jOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sR2NNZW1TZXR1cCI+eG1sR2NNZW1TZXR1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1lbVNldHVwIj54bWxNZW1TZXR1cDwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxGcmVlRnVuYyAqOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sR2NNZW1HZXQiPnhtbEdjTWVtR2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWVtR2V0Ij54bWxNZW1HZXQ8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sR2VuZXJpY0Vycm9yRnVuYzo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sU2V0R2VuZXJpY0Vycm9yRnVuYyI+eG1sU2V0R2VuZXJpY0Vycm9yRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxUaHJEZWZTZXRHZW5lcmljRXJyb3JGdW5jIj54bWxUaHJEZWZTZXRHZW5lcmljRXJyb3JGdW5jPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbEdlbmVyaWNFcnJvckZ1bmMgKjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjaW5pdEdlbmVyaWNFcnJvckRlZmF1bHRGdW5jIj5pbml0R2VuZXJpY0Vycm9yRGVmYXVsdEZ1bmM8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sR2xvYmFsU3RhdGVQdHI6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sSW5pdGlhbGl6ZUdsb2JhbFN0YXRlIj54bWxJbml0aWFsaXplR2xvYmFsU3RhdGU8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sSGFzaENvcGllcjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoQ29weSI+eG1sSGFzaENvcHk8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sSGFzaERlYWxsb2NhdG9yOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hGcmVlIj54bWxIYXNoRnJlZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoUmVtb3ZlRW50cnkiPnhtbEhhc2hSZW1vdmVFbnRyeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoUmVtb3ZlRW50cnkyIj54bWxIYXNoUmVtb3ZlRW50cnkyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hSZW1vdmVFbnRyeTMiPnhtbEhhc2hSZW1vdmVFbnRyeTM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFVwZGF0ZUVudHJ5Ij54bWxIYXNoVXBkYXRlRW50cnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFVwZGF0ZUVudHJ5MiI+eG1sSGFzaFVwZGF0ZUVudHJ5MjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoVXBkYXRlRW50cnkzIj54bWxIYXNoVXBkYXRlRW50cnkzPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbEhhc2hTY2FubmVyOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hTY2FuIj54bWxIYXNoU2NhbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoU2NhbjMiPnhtbEhhc2hTY2FuMzwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxIYXNoU2Nhbm5lckZ1bGw6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFNjYW5GdWxsIj54bWxIYXNoU2NhbkZ1bGw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFNjYW5GdWxsMyI+eG1sSGFzaFNjYW5GdWxsMzwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxIYXNoVGFibGVQdHI6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaEFkZEVudHJ5Ij54bWxIYXNoQWRkRW50cnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaEFkZEVudHJ5MiI+eG1sSGFzaEFkZEVudHJ5MjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoQWRkRW50cnkzIj54bWxIYXNoQWRkRW50cnkzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hDb3B5Ij54bWxIYXNoQ29weTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoRnJlZSI+eG1sSGFzaEZyZWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaExvb2t1cCI+eG1sSGFzaExvb2t1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoTG9va3VwMiI+eG1sSGFzaExvb2t1cDI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaExvb2t1cDMiPnhtbEhhc2hMb29rdXAzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hRTG9va3VwIj54bWxIYXNoUUxvb2t1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoUUxvb2t1cDIiPnhtbEhhc2hRTG9va3VwMjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoUUxvb2t1cDMiPnhtbEhhc2hRTG9va3VwMzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoUmVtb3ZlRW50cnkiPnhtbEhhc2hSZW1vdmVFbnRyeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoUmVtb3ZlRW50cnkyIj54bWxIYXNoUmVtb3ZlRW50cnkyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hSZW1vdmVFbnRyeTMiPnhtbEhhc2hSZW1vdmVFbnRyeTM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFNjYW4iPnhtbEhhc2hTY2FuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hTY2FuMyI+eG1sSGFzaFNjYW4zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hTY2FuRnVsbCI+eG1sSGFzaFNjYW5GdWxsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hTY2FuRnVsbDMiPnhtbEhhc2hTY2FuRnVsbDM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFNpemUiPnhtbEhhc2hTaXplPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hVcGRhdGVFbnRyeSI+eG1sSGFzaFVwZGF0ZUVudHJ5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hVcGRhdGVFbnRyeTIiPnhtbEhhc2hVcGRhdGVFbnRyeTI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFVwZGF0ZUVudHJ5MyI+eG1sSGFzaFVwZGF0ZUVudHJ5MzwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxJRFRhYmxlUHRyOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxGcmVlSURUYWJsZSI+eG1sRnJlZUlEVGFibGU8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sSW5wdXRDbG9zZUNhbGxiYWNrOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxDdHh0UmVhZElPIj5odG1sQ3R4dFJlYWRJTzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sUmVhZElPIj5odG1sUmVhZElPPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ3JlYXRlSU9QYXJzZXJDdHh0Ij54bWxDcmVhdGVJT1BhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxDdHh0UmVhZElPIj54bWxDdHh0UmVhZElPPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUlPIj54bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUlPPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUmVhZElPIj54bWxSZWFkSU88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxSZWFkZXJGb3JJTyI+eG1sUmVhZGVyRm9ySU88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxSZWFkZXJOZXdJTyI+eG1sUmVhZGVyTmV3SU88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbFJlZ2lzdGVySW5wdXRDYWxsYmFja3MiPnhtbFJlZ2lzdGVySW5wdXRDYWxsYmFja3M8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sSW5wdXRNYXRjaENhbGxiYWNrOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxSZWdpc3RlcklucHV0Q2FsbGJhY2tzIj54bWxSZWdpc3RlcklucHV0Q2FsbGJhY2tzPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbElucHV0T3BlbkNhbGxiYWNrOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxSZWdpc3RlcklucHV0Q2FsbGJhY2tzIj54bWxSZWdpc3RlcklucHV0Q2FsbGJhY2tzPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbElucHV0UmVhZENhbGxiYWNrOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxDdHh0UmVhZElPIj5odG1sQ3R4dFJlYWRJTzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sUmVhZElPIj5odG1sUmVhZElPPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ3JlYXRlSU9QYXJzZXJDdHh0Ij54bWxDcmVhdGVJT1BhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxDdHh0UmVhZElPIj54bWxDdHh0UmVhZElPPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUlPIj54bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUlPPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUmVhZElPIj54bWxSZWFkSU88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxSZWFkZXJGb3JJTyI+eG1sUmVhZGVyRm9ySU88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxSZWFkZXJOZXdJTyI+eG1sUmVhZGVyTmV3SU88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbFJlZ2lzdGVySW5wdXRDYWxsYmFja3MiPnhtbFJlZ2lzdGVySW5wdXRDYWxsYmFja3M8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sTGlua1B0cjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaW5rR2V0RGF0YSI+eG1sTGlua0dldERhdGE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdERlYWxsb2NhdG9yIj54bWxMaXN0RGVhbGxvY2F0b3I8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sTGlzdERhdGFDb21wYXJlOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3RDcmVhdGUiPnhtbExpc3RDcmVhdGU8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sTGlzdERlYWxsb2NhdG9yOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3RDcmVhdGUiPnhtbExpc3RDcmVhdGU8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sTGlzdFB0cjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0QXBwZW5kIj54bWxMaXN0QXBwZW5kPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3RDbGVhciI+eG1sTGlzdENsZWFyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3RDb3B5Ij54bWxMaXN0Q29weTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0RGVsZXRlIj54bWxMaXN0RGVsZXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3RFbXB0eSI+eG1sTGlzdEVtcHR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3RFbmQiPnhtbExpc3RFbmQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdEZyb250Ij54bWxMaXN0RnJvbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdEluc2VydCI+eG1sTGlzdEluc2VydDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0TWVyZ2UiPnhtbExpc3RNZXJnZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0UG9wQmFjayI+eG1sTGlzdFBvcEJhY2s8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdFBvcEZyb250Ij54bWxMaXN0UG9wRnJvbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdFB1c2hCYWNrIj54bWxMaXN0UHVzaEJhY2s8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdFB1c2hGcm9udCI+eG1sTGlzdFB1c2hGcm9udDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0UmVtb3ZlQWxsIj54bWxMaXN0UmVtb3ZlQWxsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3RSZW1vdmVGaXJzdCI+eG1sTGlzdFJlbW92ZUZpcnN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3RSZW1vdmVMYXN0Ij54bWxMaXN0UmVtb3ZlTGFzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0UmV2ZXJzZSI+eG1sTGlzdFJldmVyc2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdFJldmVyc2VTZWFyY2giPnhtbExpc3RSZXZlcnNlU2VhcmNoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3RSZXZlcnNlV2FsayI+eG1sTGlzdFJldmVyc2VXYWxrPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3RTZWFyY2giPnhtbExpc3RTZWFyY2g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdFNpemUiPnhtbExpc3RTaXplPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3RTb3J0Ij54bWxMaXN0U29ydDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0V2FsayI+eG1sTGlzdFdhbGs8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sTGlzdFdhbGtlcjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0UmV2ZXJzZVdhbGsiPnhtbExpc3RSZXZlcnNlV2FsazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0V2FsayI+eG1sTGlzdFdhbGs8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sTG9jYXRpb25TZXRQdHI6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJGcmVlTG9jYXRpb25TZXQiPnhtbFhQdHJGcmVlTG9jYXRpb25TZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJMb2NhdGlvblNldEFkZCI+eG1sWFB0ckxvY2F0aW9uU2V0QWRkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyTG9jYXRpb25TZXREZWwiPnhtbFhQdHJMb2NhdGlvblNldERlbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ckxvY2F0aW9uU2V0TWVyZ2UiPnhtbFhQdHJMb2NhdGlvblNldE1lcmdlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyTG9jYXRpb25TZXRSZW1vdmUiPnhtbFhQdHJMb2NhdGlvblNldFJlbW92ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0cldyYXBMb2NhdGlvblNldCI+eG1sWFB0cldyYXBMb2NhdGlvblNldDwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxNYWxsb2NGdW5jOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sR2NNZW1TZXR1cCI+eG1sR2NNZW1TZXR1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1lbVNldHVwIj54bWxNZW1TZXR1cDwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxNYWxsb2NGdW5jICo6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxHY01lbUdldCI+eG1sR2NNZW1HZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNZW1HZXQiPnhtbE1lbUdldDwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxNb2R1bGVQdHI6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxtb2R1bGUuaHRtbCN4bWxNb2R1bGVDbG9zZSI+eG1sTW9kdWxlQ2xvc2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtb2R1bGUuaHRtbCN4bWxNb2R1bGVGcmVlIj54bWxNb2R1bGVGcmVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbW9kdWxlLmh0bWwjeG1sTW9kdWxlU3ltYm9sIj54bWxNb2R1bGVTeW1ib2w8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sTXV0ZXhQdHI6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sRnJlZU11dGV4Ij54bWxGcmVlTXV0ZXg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sTXV0ZXhMb2NrIj54bWxNdXRleExvY2s8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sTXV0ZXhVbmxvY2siPnhtbE11dGV4VW5sb2NrPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbE5vZGUgKjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzIj54bWxWYWxpZEdldFZhbGlkRWxlbWVudHM8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sTm9kZVB0cjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwjaHRtbE5vZGVEdW1wIj5odG1sTm9kZUR1bXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI2h0bWxOb2RlRHVtcEZpbGUiPmh0bWxOb2RlRHVtcEZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI2h0bWxOb2RlRHVtcEZpbGVGb3JtYXQiPmh0bWxOb2RlRHVtcEZpbGVGb3JtYXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI2h0bWxOb2RlRHVtcEZvcm1hdE91dHB1dCI+aHRtbE5vZGVEdW1wRm9ybWF0T3V0cHV0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNodG1sTm9kZUR1bXBPdXRwdXQiPmh0bWxOb2RlRHVtcE91dHB1dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI25vZGVQdXNoIj5ub2RlUHVzaDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhsaW5rLmh0bWwjeGxpbmtFeHRlbmRlZExpbmtGdW5rIj54bGlua0V4dGVuZGVkTGlua0Z1bms8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bGluay5odG1sI3hsaW5rRXh0ZW5kZWRMaW5rU2V0RnVuayI+eGxpbmtFeHRlbmRlZExpbmtTZXRGdW5rPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGxpbmsuaHRtbCN4bGlua0lzTGluayI+eGxpbmtJc0xpbms8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bGluay5odG1sI3hsaW5rTm9kZURldGVjdEZ1bmMiPnhsaW5rTm9kZURldGVjdEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bGluay5odG1sI3hsaW5rU2ltcGxlTGlua0Z1bmsiPnhsaW5rU2ltcGxlTGlua0Z1bms8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQWRkQ2hpbGQiPnhtbEFkZENoaWxkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEFkZENoaWxkTGlzdCI+eG1sQWRkQ2hpbGRMaXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEFkZE5leHRTaWJsaW5nIj54bWxBZGROZXh0U2libGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxBZGRQcmV2U2libGluZyI+eG1sQWRkUHJldlNpYmxpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQWRkU2libGluZyI+eG1sQWRkU2libGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZOb2RlRHVtcCI+eG1sQnVmTm9kZUR1bXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jMTRuLmh0bWwjeG1sQzE0TklzVmlzaWJsZUNhbGxiYWNrIj54bWxDMTROSXNWaXNpYmxlQ2FsbGJhY2s8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQ2hpbGRFbGVtZW50Q291bnQiPnhtbENoaWxkRWxlbWVudENvdW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbENvcHlOb2RlIj54bWxDb3B5Tm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxDb3B5Tm9kZUxpc3QiPnhtbENvcHlOb2RlTGlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxDb3B5UHJvcCI+eG1sQ29weVByb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQ29weVByb3BMaXN0Ij54bWxDb3B5UHJvcExpc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcEFjcXVpcmVOc0Z1bmN0aW9uIj54bWxET01XcmFwQWNxdWlyZU5zRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcEFkb3B0Tm9kZSI+eG1sRE9NV3JhcEFkb3B0Tm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwQ2xvbmVOb2RlIj54bWxET01XcmFwQ2xvbmVOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBSZWNvbmNpbGVOYW1lc3BhY2VzIj54bWxET01XcmFwUmVjb25jaWxlTmFtZXNwYWNlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwUmVtb3ZlTm9kZSI+eG1sRE9NV3JhcFJlbW92ZU5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbERlYnVnRHVtcE5vZGUiPnhtbERlYnVnRHVtcE5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbERlYnVnRHVtcE5vZGVMaXN0Ij54bWxEZWJ1Z0R1bXBOb2RlTGlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sRGVidWdEdW1wT25lTm9kZSI+eG1sRGVidWdEdW1wT25lTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxEZXJlZ2lzdGVyTm9kZUZ1bmMiPnhtbERlcmVnaXN0ZXJOb2RlRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxEb2NDb3B5Tm9kZSI+eG1sRG9jQ29weU5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRG9jQ29weU5vZGVMaXN0Ij54bWxEb2NDb3B5Tm9kZUxpc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRG9jU2V0Um9vdEVsZW1lbnQiPnhtbERvY1NldFJvb3RFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEVsZW1EdW1wIj54bWxFbGVtRHVtcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbEVudGl0eVJlZmVyZW5jZUZ1bmMiPnhtbEVudGl0eVJlZmVyZW5jZUZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRmlyc3RFbGVtZW50Q2hpbGQiPnhtbEZpcnN0RWxlbWVudENoaWxkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEZyZWVOb2RlIj54bWxGcmVlTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxGcmVlTm9kZUxpc3QiPnhtbEZyZWVOb2RlTGlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sSXNJRCI+eG1sSXNJRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sSXNSZWYiPnhtbElzUmVmPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbExhc3RFbGVtZW50Q2hpbGQiPnhtbExhc3RFbGVtZW50Q2hpbGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbExzQ291bnROb2RlIj54bWxMc0NvdW50Tm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sTHNPbmVOb2RlIj54bWxMc09uZU5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3Q2hpbGQiPnhtbE5ld0NoaWxkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld05zIj54bWxOZXdOczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdOc1Byb3AiPnhtbE5ld05zUHJvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdOc1Byb3BFYXROYW1lIj54bWxOZXdOc1Byb3BFYXROYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld1Byb3AiPnhtbE5ld1Byb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3VGV4dENoaWxkIj54bWxOZXdUZXh0Q2hpbGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxOZXdUZXh0V3JpdGVyVHJlZSI+eG1sTmV3VGV4dFdyaXRlclRyZWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV4dEVsZW1lbnRTaWJsaW5nIj54bWxOZXh0RWxlbWVudFNpYmxpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUFkZENvbnRlbnQiPnhtbE5vZGVBZGRDb250ZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVBZGRDb250ZW50TGVuIj54bWxOb2RlQWRkQ29udGVudExlbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlRHVtcCI+eG1sTm9kZUR1bXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUR1bXBPdXRwdXQiPnhtbE5vZGVEdW1wT3V0cHV0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVTZXRCYXNlIj54bWxOb2RlU2V0QmFzZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlU2V0Q29udGVudCI+eG1sTm9kZVNldENvbnRlbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVNldENvbnRlbnRMZW4iPnhtbE5vZGVTZXRDb250ZW50TGVuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVTZXRMYW5nIj54bWxOb2RlU2V0TGFuZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlU2V0TmFtZSI+eG1sTm9kZVNldE5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVNldFNwYWNlUHJlc2VydmUiPnhtbE5vZGVTZXRTcGFjZVByZXNlcnZlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VJbk5vZGVDb250ZXh0Ij54bWxQYXJzZUluTm9kZUNvbnRleHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sUGF0dGVybk1hdGNoIj54bWxQYXR0ZXJuTWF0Y2g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sUHJldmlvdXNFbGVtZW50U2libGluZyI+eG1sUHJldmlvdXNFbGVtZW50U2libGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxSZWNvbmNpbGlhdGVOcyI+eG1sUmVjb25jaWxpYXRlTnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sUmVnaXN0ZXJOb2RlRnVuYyI+eG1sUmVnaXN0ZXJOb2RlRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HVmFsaWRhdGVGdWxsRWxlbWVudCI+eG1sUmVsYXhOR1ZhbGlkYXRlRnVsbEVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1ZhbGlkYXRlUG9wRWxlbWVudCI+eG1sUmVsYXhOR1ZhbGlkYXRlUG9wRWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HVmFsaWRhdGVQdXNoRWxlbWVudCI+eG1sUmVsYXhOR1ZhbGlkYXRlUHVzaEVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sUmVwbGFjZU5vZGUiPnhtbFJlcGxhY2VOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2F2ZS5odG1sI3htbFNhdmVUcmVlIj54bWxTYXZlVHJlZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYVZhbFByZWRlZlR5cGVOb2RlIj54bWxTY2hlbWFWYWxQcmVkZWZUeXBlTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYVZhbFByZWRlZlR5cGVOb2RlTm9Ob3JtIj54bWxTY2hlbWFWYWxQcmVkZWZUeXBlTm9kZU5vTm9ybTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZGF0ZU9uZUVsZW1lbnQiPnhtbFNjaGVtYVZhbGlkYXRlT25lRWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTZWFyY2hOcyI+eG1sU2VhcmNoTnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2VhcmNoTnNCeUhyZWYiPnhtbFNlYXJjaE5zQnlIcmVmPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNldExpc3REb2MiPnhtbFNldExpc3REb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2V0TnMiPnhtbFNldE5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNldE5zUHJvcCI+eG1sU2V0TnNQcm9wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNldFByb3AiPnhtbFNldFByb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2V0VHJlZURvYyI+eG1sU2V0VHJlZURvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxCYXNlIj54bWxTaGVsbEJhc2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsQ2F0Ij54bWxTaGVsbENhdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxDbWQiPnhtbFNoZWxsQ21kPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbERpciI+eG1sU2hlbGxEaXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsRHUiPnhtbFNoZWxsRHU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsTGlzdCI+eG1sU2hlbGxMaXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbExvYWQiPnhtbFNoZWxsTG9hZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxQcmludE5vZGUiPnhtbFNoZWxsUHJpbnROb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbFB3ZCI+eG1sU2hlbGxQd2Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsU2F2ZSI+eG1sU2hlbGxTYXZlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbFZhbGlkYXRlIj54bWxTaGVsbFZhbGlkYXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbFdyaXRlIj54bWxTaGVsbFdyaXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFRleHRDb25jYXQiPnhtbFRleHRDb25jYXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sVGV4dE1lcmdlIj54bWxUZXh0TWVyZ2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sVW5saW5rTm9kZSI+eG1sVW5saW5rTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxVbnNldE5zUHJvcCI+eG1sVW5zZXROc1Byb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sVW5zZXRQcm9wIj54bWxVbnNldFByb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkQ3R4dE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlIj54bWxWYWxpZEN0eHROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZSI+eG1sVmFsaWROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVFbGVtZW50Ij54bWxWYWxpZGF0ZUVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlT25lQXR0cmlidXRlIj54bWxWYWxpZGF0ZU9uZUF0dHJpYnV0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVPbmVFbGVtZW50Ij54bWxWYWxpZGF0ZU9uZUVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlT25lTmFtZXNwYWNlIj54bWxWYWxpZGF0ZU9uZU5hbWVzcGFjZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVQb3BFbGVtZW50Ij54bWxWYWxpZGF0ZVBvcEVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlUHVzaEVsZW1lbnQiPnhtbFZhbGlkYXRlUHVzaEVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14aW5jbHVkZS5odG1sI3htbFhJbmNsdWRlUHJvY2Vzc05vZGUiPnhtbFhJbmNsdWRlUHJvY2Vzc05vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14aW5jbHVkZS5odG1sI3htbFhJbmNsdWRlUHJvY2Vzc1RyZWUiPnhtbFhJbmNsdWRlUHJvY2Vzc1RyZWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14aW5jbHVkZS5odG1sI3htbFhJbmNsdWRlUHJvY2Vzc1RyZWVGbGFncyI+eG1sWEluY2x1ZGVQcm9jZXNzVHJlZUZsYWdzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGluY2x1ZGUuaHRtbCN4bWxYSW5jbHVkZVByb2Nlc3NUcmVlRmxhZ3NEYXRhIj54bWxYSW5jbHVkZVByb2Nlc3NUcmVlRmxhZ3NEYXRhPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENhc3ROb2RlVG9OdW1iZXIiPnhtbFhQYXRoQ2FzdE5vZGVUb051bWJlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDYXN0Tm9kZVRvU3RyaW5nIj54bWxYUGF0aENhc3ROb2RlVG9TdHJpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ21wTm9kZXMiPnhtbFhQYXRoQ21wTm9kZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV3Tm9kZVNldCI+eG1sWFBhdGhOZXdOb2RlU2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5ld1ZhbHVlVHJlZSI+eG1sWFBhdGhOZXdWYWx1ZVRyZWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV4dEFuY2VzdG9yIj54bWxYUGF0aE5leHRBbmNlc3RvcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXh0QW5jZXN0b3JPclNlbGYiPnhtbFhQYXRoTmV4dEFuY2VzdG9yT3JTZWxmPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHRBdHRyaWJ1dGUiPnhtbFhQYXRoTmV4dEF0dHJpYnV0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXh0Q2hpbGQiPnhtbFhQYXRoTmV4dENoaWxkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHREZXNjZW5kYW50Ij54bWxYUGF0aE5leHREZXNjZW5kYW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHREZXNjZW5kYW50T3JTZWxmIj54bWxYUGF0aE5leHREZXNjZW5kYW50T3JTZWxmPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHRGb2xsb3dpbmciPnhtbFhQYXRoTmV4dEZvbGxvd2luZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXh0Rm9sbG93aW5nU2libGluZyI+eG1sWFBhdGhOZXh0Rm9sbG93aW5nU2libGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXh0TmFtZXNwYWNlIj54bWxYUGF0aE5leHROYW1lc3BhY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV4dFBhcmVudCI+eG1sWFBhdGhOZXh0UGFyZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHRQcmVjZWRpbmciPnhtbFhQYXRoTmV4dFByZWNlZGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXh0UHJlY2VkaW5nU2libGluZyI+eG1sWFBhdGhOZXh0UHJlY2VkaW5nU2libGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXh0U2VsZiI+eG1sWFBhdGhOZXh0U2VsZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhOb2RlRXZhbCI+eG1sWFBhdGhOb2RlRXZhbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb2RlTGVhZGluZyI+eG1sWFBhdGhOb2RlTGVhZGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb2RlTGVhZGluZ1NvcnRlZCI+eG1sWFBhdGhOb2RlTGVhZGluZ1NvcnRlZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb2RlU2V0QWRkIj54bWxYUGF0aE5vZGVTZXRBZGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9kZVNldEFkZE5zIj54bWxYUGF0aE5vZGVTZXRBZGROczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb2RlU2V0QWRkVW5pcXVlIj54bWxYUGF0aE5vZGVTZXRBZGRVbmlxdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9kZVNldENvbnRhaW5zIj54bWxYUGF0aE5vZGVTZXRDb250YWluczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhOb2RlU2V0Q3JlYXRlIj54bWxYUGF0aE5vZGVTZXRDcmVhdGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9kZVNldERlbCI+eG1sWFBhdGhOb2RlU2V0RGVsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vZGVUcmFpbGluZyI+eG1sWFBhdGhOb2RlVHJhaWxpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9kZVRyYWlsaW5nU29ydGVkIj54bWxYUGF0aE5vZGVUcmFpbGluZ1NvcnRlZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhTZXRDb250ZXh0Tm9kZSI+eG1sWFBhdGhTZXRDb250ZXh0Tm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ck5ld0NvbGxhcHNlZFJhbmdlIj54bWxYUHRyTmV3Q29sbGFwc2VkUmFuZ2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJOZXdDb250ZXh0Ij54bWxYUHRyTmV3Q29udGV4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ck5ld0xvY2F0aW9uU2V0Tm9kZXMiPnhtbFhQdHJOZXdMb2NhdGlvblNldE5vZGVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyTmV3UmFuZ2UiPnhtbFhQdHJOZXdSYW5nZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ck5ld1JhbmdlTm9kZU9iamVjdCI+eG1sWFB0ck5ld1JhbmdlTm9kZU9iamVjdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ck5ld1JhbmdlTm9kZVBvaW50Ij54bWxYUHRyTmV3UmFuZ2VOb2RlUG9pbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJOZXdSYW5nZU5vZGVzIj54bWxYUHRyTmV3UmFuZ2VOb2RlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ck5ld1JhbmdlUG9pbnROb2RlIj54bWxYUHRyTmV3UmFuZ2VQb2ludE5vZGU8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sTm9kZVB0ciAqOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBDbG9uZU5vZGUiPnhtbERPTVdyYXBDbG9uZU5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnkiPnhtbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXIiPnhtbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUN0eHRFeHRlcm5hbEVudGl0eSI+eG1sUGFyc2VDdHh0RXh0ZXJuYWxFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUV4dGVybmFsRW50aXR5Ij54bWxQYXJzZUV4dGVybmFsRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VJbk5vZGVDb250ZXh0Ij54bWxQYXJzZUluTm9kZUNvbnRleHQ8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sTm9kZVNldFB0cjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTRORG9jRHVtcE1lbW9yeSI+eG1sQzE0TkRvY0R1bXBNZW1vcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jMTRuLmh0bWwjeG1sQzE0TkRvY1NhdmUiPnhtbEMxNE5Eb2NTYXZlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtYzE0bi5odG1sI3htbEMxNE5Eb2NTYXZlVG8iPnhtbEMxNE5Eb2NTYXZlVG88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ2FzdE5vZGVTZXRUb0Jvb2xlYW4iPnhtbFhQYXRoQ2FzdE5vZGVTZXRUb0Jvb2xlYW48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ2FzdE5vZGVTZXRUb051bWJlciI+eG1sWFBhdGhDYXN0Tm9kZVNldFRvTnVtYmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENhc3ROb2RlU2V0VG9TdHJpbmciPnhtbFhQYXRoQ2FzdE5vZGVTZXRUb1N0cmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhEaWZmZXJlbmNlIj54bWxYUGF0aERpZmZlcmVuY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRGlzdGluY3QiPnhtbFhQYXRoRGlzdGluY3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRGlzdGluY3RTb3J0ZWQiPnhtbFhQYXRoRGlzdGluY3RTb3J0ZWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoRnJlZU5vZGVTZXQiPnhtbFhQYXRoRnJlZU5vZGVTZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoSGFzU2FtZU5vZGVzIj54bWxYUGF0aEhhc1NhbWVOb2RlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhJbnRlcnNlY3Rpb24iPnhtbFhQYXRoSW50ZXJzZWN0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aExlYWRpbmciPnhtbFhQYXRoTGVhZGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhMZWFkaW5nU29ydGVkIj54bWxYUGF0aExlYWRpbmdTb3J0ZWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV3Tm9kZVNldExpc3QiPnhtbFhQYXRoTmV3Tm9kZVNldExpc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9kZUxlYWRpbmciPnhtbFhQYXRoTm9kZUxlYWRpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9kZUxlYWRpbmdTb3J0ZWQiPnhtbFhQYXRoTm9kZUxlYWRpbmdTb3J0ZWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9kZVNldEFkZCI+eG1sWFBhdGhOb2RlU2V0QWRkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vZGVTZXRBZGROcyI+eG1sWFBhdGhOb2RlU2V0QWRkTnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9kZVNldEFkZFVuaXF1ZSI+eG1sWFBhdGhOb2RlU2V0QWRkVW5pcXVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vZGVTZXRDb250YWlucyI+eG1sWFBhdGhOb2RlU2V0Q29udGFpbnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9kZVNldERlbCI+eG1sWFBhdGhOb2RlU2V0RGVsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vZGVTZXRNZXJnZSI+eG1sWFBhdGhOb2RlU2V0TWVyZ2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9kZVNldFJlbW92ZSI+eG1sWFBhdGhOb2RlU2V0UmVtb3ZlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vZGVTZXRTb3J0Ij54bWxYUGF0aE5vZGVTZXRTb3J0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vZGVUcmFpbGluZyI+eG1sWFBhdGhOb2RlVHJhaWxpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9kZVRyYWlsaW5nU29ydGVkIj54bWxYUGF0aE5vZGVUcmFpbGluZ1NvcnRlZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhUcmFpbGluZyI+eG1sWFBhdGhUcmFpbGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhUcmFpbGluZ1NvcnRlZCI+eG1sWFBhdGhUcmFpbGluZ1NvcnRlZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhXcmFwTm9kZVNldCI+eG1sWFBhdGhXcmFwTm9kZVNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ck5ld0xvY2F0aW9uU2V0Tm9kZVNldCI+eG1sWFB0ck5ld0xvY2F0aW9uU2V0Tm9kZVNldDwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxOb3RhdGlvblB0cjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sRHVtcE5vdGF0aW9uRGVjbCI+eG1sRHVtcE5vdGF0aW9uRGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVOb3RhdGlvbkRlY2wiPnhtbFZhbGlkYXRlTm90YXRpb25EZWNsPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbE5vdGF0aW9uVGFibGVQdHI6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbENvcHlOb3RhdGlvblRhYmxlIj54bWxDb3B5Tm90YXRpb25UYWJsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sRHVtcE5vdGF0aW9uVGFibGUiPnhtbER1bXBOb3RhdGlvblRhYmxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxGcmVlTm90YXRpb25UYWJsZSI+eG1sRnJlZU5vdGF0aW9uVGFibGU8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sTnNQdHI6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQ29weU5hbWVzcGFjZSI+eG1sQ29weU5hbWVzcGFjZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxDb3B5TmFtZXNwYWNlTGlzdCI+eG1sQ29weU5hbWVzcGFjZUxpc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRnJlZU5zIj54bWxGcmVlTnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRnJlZU5zTGlzdCI+eG1sRnJlZU5zTGlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdDaGlsZCI+eG1sTmV3Q2hpbGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3RG9jTm9kZSI+eG1sTmV3RG9jTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdEb2NOb2RlRWF0TmFtZSI+eG1sTmV3RG9jTm9kZUVhdE5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3RG9jUmF3Tm9kZSI+eG1sTmV3RG9jUmF3Tm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdOb2RlIj54bWxOZXdOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld05vZGVFYXROYW1lIj54bWxOZXdOb2RlRWF0TmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdOc1Byb3AiPnhtbE5ld05zUHJvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdOc1Byb3BFYXROYW1lIj54bWxOZXdOc1Byb3BFYXROYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld1RleHRDaGlsZCI+eG1sTmV3VGV4dENoaWxkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNldE5zIj54bWxTZXROczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTZXROc1Byb3AiPnhtbFNldE5zUHJvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxVbnNldE5zUHJvcCI+eG1sVW5zZXROc1Byb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlT25lTmFtZXNwYWNlIj54bWxWYWxpZGF0ZU9uZU5hbWVzcGFjZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb2RlU2V0QWRkTnMiPnhtbFhQYXRoTm9kZVNldEFkZE5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vZGVTZXRGcmVlTnMiPnhtbFhQYXRoTm9kZVNldEZyZWVOczwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmM6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0Ij54bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sVGhyRGVmT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0Ij54bWxUaHJEZWZPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQ8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sT3V0cHV0QnVmZmVyUHRyOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNodG1sRG9jQ29udGVudER1bXBGb3JtYXRPdXRwdXQiPmh0bWxEb2NDb250ZW50RHVtcEZvcm1hdE91dHB1dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwjaHRtbERvY0NvbnRlbnREdW1wT3V0cHV0Ij5odG1sRG9jQ29udGVudER1bXBPdXRwdXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI2h0bWxOb2RlRHVtcEZvcm1hdE91dHB1dCI+aHRtbE5vZGVEdW1wRm9ybWF0T3V0cHV0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNodG1sTm9kZUR1bXBPdXRwdXQiPmh0bWxOb2RlRHVtcE91dHB1dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTRORG9jU2F2ZVRvIj54bWxDMTRORG9jU2F2ZVRvPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtYzE0bi5odG1sI3htbEMxNE5FeGVjdXRlIj54bWxDMTRORXhlY3V0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbE5ld1RleHRXcml0ZXIiPnhtbE5ld1RleHRXcml0ZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUR1bXBPdXRwdXQiPnhtbE5vZGVEdW1wT3V0cHV0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRCdWZmZXJDbG9zZSI+eG1sT3V0cHV0QnVmZmVyQ2xvc2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dEJ1ZmZlckZsdXNoIj54bWxPdXRwdXRCdWZmZXJGbHVzaDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0QnVmZmVyR2V0Q29udGVudCI+eG1sT3V0cHV0QnVmZmVyR2V0Q29udGVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0QnVmZmVyR2V0U2l6ZSI+eG1sT3V0cHV0QnVmZmVyR2V0U2l6ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0QnVmZmVyV3JpdGUiPnhtbE91dHB1dEJ1ZmZlcldyaXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRCdWZmZXJXcml0ZUVzY2FwZSI+eG1sT3V0cHV0QnVmZmVyV3JpdGVFc2NhcGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nIj54bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTYXZlRmlsZVRvIj54bWxTYXZlRmlsZVRvPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNhdmVGb3JtYXRGaWxlVG8iPnhtbFNhdmVGb3JtYXRGaWxlVG88L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sT3V0cHV0Q2xvc2VDYWxsYmFjazo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0QnVmZmVyQ3JlYXRlSU8iPnhtbE91dHB1dEJ1ZmZlckNyZWF0ZUlPPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxSZWdpc3Rlck91dHB1dENhbGxiYWNrcyI+eG1sUmVnaXN0ZXJPdXRwdXRDYWxsYmFja3M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzYXZlLmh0bWwjeG1sU2F2ZVRvSU8iPnhtbFNhdmVUb0lPPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbE91dHB1dE1hdGNoQ2FsbGJhY2s6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbFJlZ2lzdGVyT3V0cHV0Q2FsbGJhY2tzIj54bWxSZWdpc3Rlck91dHB1dENhbGxiYWNrczwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxPdXRwdXRPcGVuQ2FsbGJhY2s6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbFJlZ2lzdGVyT3V0cHV0Q2FsbGJhY2tzIj54bWxSZWdpc3Rlck91dHB1dENhbGxiYWNrczwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxPdXRwdXRXcml0ZUNhbGxiYWNrOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRCdWZmZXJDcmVhdGVJTyI+eG1sT3V0cHV0QnVmZmVyQ3JlYXRlSU88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbFJlZ2lzdGVyT3V0cHV0Q2FsbGJhY2tzIj54bWxSZWdpc3Rlck91dHB1dENhbGxiYWNrczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNhdmUuaHRtbCN4bWxTYXZlVG9JTyI+eG1sU2F2ZVRvSU88L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sUGFyc2VyQ3R4dFB0cjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI2lucHV0UG9wIj5pbnB1dFBvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI2lucHV0UHVzaCI+aW5wdXRQdXNoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjbmFtZVBvcCI+bmFtZVBvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI25hbWVQdXNoIj5uYW1lUHVzaDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI25vZGVQb3AiPm5vZGVQb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNub2RlUHVzaCI+bm9kZVB1c2g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxCeXRlQ29uc3VtZWQiPnhtbEJ5dGVDb25zdW1lZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sQ2hlY2tIVFRQSW5wdXQiPnhtbENoZWNrSFRUUElucHV0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ2xlYXJQYXJzZXJDdHh0Ij54bWxDbGVhclBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxDdHh0UmVhZERvYyI+eG1sQ3R4dFJlYWREb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxDdHh0UmVhZEZkIj54bWxDdHh0UmVhZEZkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ3R4dFJlYWRGaWxlIj54bWxDdHh0UmVhZEZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxDdHh0UmVhZElPIj54bWxDdHh0UmVhZElPPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ3R4dFJlYWRNZW1vcnkiPnhtbEN0eHRSZWFkTWVtb3J5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ3R4dFJlc2V0Ij54bWxDdHh0UmVzZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxDdHh0UmVzZXRQdXNoIj54bWxDdHh0UmVzZXRQdXNoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ3R4dFVzZU9wdGlvbnMiPnhtbEN0eHRVc2VPcHRpb25zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sQ3VycmVudENoYXIiPnhtbEN1cnJlbnRDaGFyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sRGVjb2RlRW50aXRpZXMiPnhtbERlY29kZUVudGl0aWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sRXJyTWVtb3J5Ij54bWxFcnJNZW1vcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxFeHRlcm5hbEVudGl0eUxvYWRlciI+eG1sRXh0ZXJuYWxFbnRpdHlMb2FkZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxGcmVlUGFyc2VyQ3R4dCI+eG1sRnJlZVBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxHZXRGZWF0dXJlIj54bWxHZXRGZWF0dXJlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sSGFuZGxlRW50aXR5Ij54bWxIYW5kbGVFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxJbml0UGFyc2VyQ3R4dCI+eG1sSW5pdFBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxMb2FkRXh0ZXJuYWxFbnRpdHkiPnhtbExvYWRFeHRlcm5hbEVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbE5hbWVzcGFjZVBhcnNlTkNOYW1lIj54bWxOYW1lc3BhY2VQYXJzZU5DTmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbE5hbWVzcGFjZVBhcnNlTlNEZWYiPnhtbE5hbWVzcGFjZVBhcnNlTlNEZWY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxOYW1lc3BhY2VQYXJzZVFOYW1lIj54bWxOYW1lc3BhY2VQYXJzZVFOYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sTmV3RW50aXR5SW5wdXRTdHJlYW0iPnhtbE5ld0VudGl0eUlucHV0U3RyZWFtPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sTmV3SU9JbnB1dFN0cmVhbSI+eG1sTmV3SU9JbnB1dFN0cmVhbTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbE5ld0lucHV0RnJvbUZpbGUiPnhtbE5ld0lucHV0RnJvbUZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxOZXdJbnB1dFN0cmVhbSI+eG1sTmV3SW5wdXRTdHJlYW08L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxOZXdTdHJpbmdJbnB1dFN0cmVhbSI+eG1sTmV3U3RyaW5nSW5wdXRTdHJlYW08L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxOZXdUZXh0V3JpdGVyUHVzaFBhcnNlciI+eG1sTmV3VGV4dFdyaXRlclB1c2hQYXJzZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxOZXh0Q2hhciI+eG1sTmV4dENoYXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE5vTmV0RXh0ZXJuYWxFbnRpdHlMb2FkZXIiPnhtbE5vTmV0RXh0ZXJuYWxFbnRpdHlMb2FkZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUF0dFZhbHVlIj54bWxQYXJzZUF0dFZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VBdHRyaWJ1dGUiPnhtbFBhcnNlQXR0cmlidXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VBdHRyaWJ1dGVMaXN0RGVjbCI+eG1sUGFyc2VBdHRyaWJ1dGVMaXN0RGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQXR0cmlidXRlVHlwZSI+eG1sUGFyc2VBdHRyaWJ1dGVUeXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VDRFNlY3QiPnhtbFBhcnNlQ0RTZWN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VDaGFyRGF0YSI+eG1sUGFyc2VDaGFyRGF0YTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQ2hhclJlZiI+eG1sUGFyc2VDaGFyUmVmPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VDaHVuayI+eG1sUGFyc2VDaHVuazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQ29tbWVudCI+eG1sUGFyc2VDb21tZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VDb250ZW50Ij54bWxQYXJzZUNvbnRlbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUN0eHRFeHRlcm5hbEVudGl0eSI+eG1sUGFyc2VDdHh0RXh0ZXJuYWxFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZURlZmF1bHREZWNsIj54bWxQYXJzZURlZmF1bHREZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VEb2NUeXBlRGVjbCI+eG1sUGFyc2VEb2NUeXBlRGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlRG9jdW1lbnQiPnhtbFBhcnNlRG9jdW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVsZW1lbnQiPnhtbFBhcnNlRWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2wiPnhtbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVsZW1lbnRDb250ZW50RGVjbCI+eG1sUGFyc2VFbGVtZW50Q29udGVudERlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVsZW1lbnREZWNsIj54bWxQYXJzZUVsZW1lbnREZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbGVtZW50TWl4ZWRDb250ZW50RGVjbCI+eG1sUGFyc2VFbGVtZW50TWl4ZWRDb250ZW50RGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRW5jTmFtZSI+eG1sUGFyc2VFbmNOYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbmNvZGluZ0RlY2wiPnhtbFBhcnNlRW5jb2RpbmdEZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbmRUYWciPnhtbFBhcnNlRW5kVGFnPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbnRpdHlEZWNsIj54bWxQYXJzZUVudGl0eURlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVudGl0eVJlZiI+eG1sUGFyc2VFbnRpdHlSZWY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVudGl0eVZhbHVlIj54bWxQYXJzZUVudGl0eVZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbnVtZXJhdGVkVHlwZSI+eG1sUGFyc2VFbnVtZXJhdGVkVHlwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRW51bWVyYXRpb25UeXBlIj54bWxQYXJzZUVudW1lcmF0aW9uVHlwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlRXh0UGFyc2VkRW50Ij54bWxQYXJzZUV4dFBhcnNlZEVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRXh0ZXJuYWxJRCI+eG1sUGFyc2VFeHRlcm5hbElEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFeHRlcm5hbFN1YnNldCI+eG1sUGFyc2VFeHRlcm5hbFN1YnNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlTWFya3VwRGVjbCI+eG1sUGFyc2VNYXJrdXBEZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VNaXNjIj54bWxQYXJzZU1pc2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZU5hbWUiPnhtbFBhcnNlTmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlTmFtZXNwYWNlIj54bWxQYXJzZU5hbWVzcGFjZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlTm10b2tlbiI+eG1sUGFyc2VObXRva2VuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VOb3RhdGlvbkRlY2wiPnhtbFBhcnNlTm90YXRpb25EZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VOb3RhdGlvblR5cGUiPnhtbFBhcnNlTm90YXRpb25UeXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VQRVJlZmVyZW5jZSI+eG1sUGFyc2VQRVJlZmVyZW5jZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlUEkiPnhtbFBhcnNlUEk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZVBJVGFyZ2V0Ij54bWxQYXJzZVBJVGFyZ2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VQdWJpZExpdGVyYWwiPnhtbFBhcnNlUHViaWRMaXRlcmFsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VRdW90ZWRTdHJpbmciPnhtbFBhcnNlUXVvdGVkU3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VSZWZlcmVuY2UiPnhtbFBhcnNlUmVmZXJlbmNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VTRERlY2wiPnhtbFBhcnNlU0REZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VTdGFydFRhZyI+eG1sUGFyc2VTdGFydFRhZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlU3lzdGVtTGl0ZXJhbCI+eG1sUGFyc2VTeXN0ZW1MaXRlcmFsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VUZXh0RGVjbCI+eG1sUGFyc2VUZXh0RGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlVmVyc2lvbkluZm8iPnhtbFBhcnNlVmVyc2lvbkluZm88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZVZlcnNpb25OdW0iPnhtbFBhcnNlVmVyc2lvbk51bTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlWE1MRGVjbCI+eG1sUGFyc2VYTUxEZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VyQWRkTm9kZUluZm8iPnhtbFBhcnNlckFkZE5vZGVJbmZvPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VySGFuZGxlUEVSZWZlcmVuY2UiPnhtbFBhcnNlckhhbmRsZVBFUmVmZXJlbmNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VySGFuZGxlUmVmZXJlbmNlIj54bWxQYXJzZXJIYW5kbGVSZWZlcmVuY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQb3BJbnB1dCI+eG1sUG9wSW5wdXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQdXNoSW5wdXQiPnhtbFB1c2hJbnB1dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFNjYW5OYW1lIj54bWxTY2FuTmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNldEZlYXR1cmUiPnhtbFNldEZlYXR1cmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxTZXR1cFBhcnNlckZvckJ1ZmZlciI+eG1sU2V0dXBQYXJzZXJGb3JCdWZmZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxTa2lwQmxhbmtDaGFycyI+eG1sU2tpcEJsYW5rQ2hhcnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxTcGxpdFFOYW1lIj54bWxTcGxpdFFOYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU3RvcFBhcnNlciI+eG1sU3RvcFBhcnNlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFN0cmluZ0N1cnJlbnRDaGFyIj54bWxTdHJpbmdDdXJyZW50Q2hhcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFN0cmluZ0RlY29kZUVudGl0aWVzIj54bWxTdHJpbmdEZWNvZGVFbnRpdGllczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFN0cmluZ0xlbkRlY29kZUVudGl0aWVzIj54bWxTdHJpbmdMZW5EZWNvZGVFbnRpdGllczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFN3aXRjaEVuY29kaW5nIj54bWxTd2l0Y2hFbmNvZGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFN3aXRjaElucHV0RW5jb2RpbmciPnhtbFN3aXRjaElucHV0RW5jb2Rpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxTd2l0Y2hUb0VuY29kaW5nIj54bWxTd2l0Y2hUb0VuY29kaW5nPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0Ij54bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRGVmYXVsdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxUaHJEZWZQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRGVmYXVsdCI+eG1sVGhyRGVmUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQ8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sUGFyc2VySW5wdXRCdWZmZXJQdHI6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbEZyZWVQYXJzZXJJbnB1dEJ1ZmZlciI+eG1sRnJlZVBhcnNlcklucHV0QnVmZmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sSU9QYXJzZURURCI+eG1sSU9QYXJzZURURDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbE5ld0lPSW5wdXRTdHJlYW0iPnhtbE5ld0lPSW5wdXRTdHJlYW08L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxOZXdUZXh0UmVhZGVyIj54bWxOZXdUZXh0UmVhZGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlckdyb3ciPnhtbFBhcnNlcklucHV0QnVmZmVyR3JvdzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJQdXNoIj54bWxQYXJzZXJJbnB1dEJ1ZmZlclB1c2g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyUmVhZCI+eG1sUGFyc2VySW5wdXRCdWZmZXJSZWFkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkYXRlU3RyZWFtIj54bWxTY2hlbWFWYWxpZGF0ZVN0cmVhbTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJTZXR1cCI+eG1sVGV4dFJlYWRlclNldHVwPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbFBhcnNlcklucHV0UHRyOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjaW5wdXRQdXNoIj5pbnB1dFB1c2g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbENoZWNrSFRUUElucHV0Ij54bWxDaGVja0hUVFBJbnB1dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbEZyZWVJbnB1dFN0cmVhbSI+eG1sRnJlZUlucHV0U3RyZWFtPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VySW5wdXRHcm93Ij54bWxQYXJzZXJJbnB1dEdyb3c8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZXJJbnB1dFJlYWQiPnhtbFBhcnNlcklucHV0UmVhZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlcklucHV0U2hyaW5rIj54bWxQYXJzZXJJbnB1dFNocmluazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sUGFyc2VyUHJpbnRGaWxlQ29udGV4dCI+eG1sUGFyc2VyUHJpbnRGaWxlQ29udGV4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sUGFyc2VyUHJpbnRGaWxlSW5mbyI+eG1sUGFyc2VyUHJpbnRGaWxlSW5mbzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFB1c2hJbnB1dCI+eG1sUHVzaElucHV0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sU3dpdGNoSW5wdXRFbmNvZGluZyI+eG1sU3dpdGNoSW5wdXRFbmNvZGluZzwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxQYXJzZXJOb2RlSW5mb1NlcVB0cjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbENsZWFyTm9kZUluZm9TZXEiPnhtbENsZWFyTm9kZUluZm9TZXE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxJbml0Tm9kZUluZm9TZXEiPnhtbEluaXROb2RlSW5mb1NlcTwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxQYXJzZXJTZXZlcml0aWVzOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckVycm9yRnVuYyI+eG1sVGV4dFJlYWRlckVycm9yRnVuYzwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxQYXR0ZXJuUHRyOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbEZyZWVQYXR0ZXJuIj54bWxGcmVlUGF0dGVybjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCN4bWxGcmVlUGF0dGVybkxpc3QiPnhtbEZyZWVQYXR0ZXJuTGlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCN4bWxQYXR0ZXJuRnJvbVJvb3QiPnhtbFBhdHRlcm5Gcm9tUm9vdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCN4bWxQYXR0ZXJuR2V0U3RyZWFtQ3R4dCI+eG1sUGF0dGVybkdldFN0cmVhbUN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sUGF0dGVybk1hdGNoIj54bWxQYXR0ZXJuTWF0Y2g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sUGF0dGVybk1heERlcHRoIj54bWxQYXR0ZXJuTWF4RGVwdGg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sUGF0dGVybk1pbkRlcHRoIj54bWxQYXR0ZXJuTWluRGVwdGg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sUGF0dGVyblN0cmVhbWFibGUiPnhtbFBhdHRlcm5TdHJlYW1hYmxlPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbFJNdXRleFB0cjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXRocmVhZHMuaHRtbCN4bWxGcmVlUk11dGV4Ij54bWxGcmVlUk11dGV4PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbFJNdXRleExvY2siPnhtbFJNdXRleExvY2s8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sUk11dGV4VW5sb2NrIj54bWxSTXV0ZXhVbmxvY2s8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sUmVhbGxvY0Z1bmM6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxHY01lbVNldHVwIj54bWxHY01lbVNldHVwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWVtU2V0dXAiPnhtbE1lbVNldHVwPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbFJlYWxsb2NGdW5jICo6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxHY01lbUdldCI+eG1sR2NNZW1HZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNZW1HZXQiPnhtbE1lbUdldDwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxSZWZUYWJsZVB0cjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sRnJlZVJlZlRhYmxlIj54bWxGcmVlUmVmVGFibGU8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sUmVnRXhlY0NhbGxiYWNrczo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ05ld0V4ZWNDdHh0Ij54bWxSZWdOZXdFeGVjQ3R4dDwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxSZWdFeGVjQ3R4dFB0cjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ0V4ZWNDYWxsYmFja3MiPnhtbFJlZ0V4ZWNDYWxsYmFja3M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdFeGVjRXJySW5mbyI+eG1sUmVnRXhlY0VyckluZm88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdFeGVjTmV4dFZhbHVlcyI+eG1sUmVnRXhlY05leHRWYWx1ZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdFeGVjUHVzaFN0cmluZyI+eG1sUmVnRXhlY1B1c2hTdHJpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdFeGVjUHVzaFN0cmluZzIiPnhtbFJlZ0V4ZWNQdXNoU3RyaW5nMjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ0ZyZWVFeGVjQ3R4dCI+eG1sUmVnRnJlZUV4ZWNDdHh0PC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbFJlZ2V4cFB0cjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ0ZyZWVSZWdleHAiPnhtbFJlZ0ZyZWVSZWdleHA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdOZXdFeGVjQ3R4dCI+eG1sUmVnTmV3RXhlY0N0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdleHBFeGVjIj54bWxSZWdleHBFeGVjPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnZXhwSXNEZXRlcm1pbmlzdCI+eG1sUmVnZXhwSXNEZXRlcm1pbmlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ2V4cFByaW50Ij54bWxSZWdleHBQcmludDwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxSZWdpc3Rlck5vZGVGdW5jOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbFJlZ2lzdGVyTm9kZURlZmF1bHQiPnhtbFJlZ2lzdGVyTm9kZURlZmF1bHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sVGhyRGVmUmVnaXN0ZXJOb2RlRGVmYXVsdCI+eG1sVGhyRGVmUmVnaXN0ZXJOb2RlRGVmYXVsdDwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxSZWxheE5HUGFyc2VyQ3R4dFB0cjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HRnJlZVBhcnNlckN0eHQiPnhtbFJlbGF4TkdGcmVlUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HR2V0UGFyc2VyRXJyb3JzIj54bWxSZWxheE5HR2V0UGFyc2VyRXJyb3JzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdQYXJzZSI+eG1sUmVsYXhOR1BhcnNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdTZXRQYXJzZXJFcnJvcnMiPnhtbFJlbGF4TkdTZXRQYXJzZXJFcnJvcnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1NldFBhcnNlclN0cnVjdHVyZWRFcnJvcnMiPnhtbFJlbGF4TkdTZXRQYXJzZXJTdHJ1Y3R1cmVkRXJyb3JzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4UGFyc2VyU2V0RmxhZyI+eG1sUmVsYXhQYXJzZXJTZXRGbGFnPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbFJlbGF4TkdQdHI6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR0R1bXAiPnhtbFJlbGF4TkdEdW1wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdEdW1wVHJlZSI+eG1sUmVsYXhOR0R1bXBUcmVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdGcmVlIj54bWxSZWxheE5HRnJlZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HTmV3VmFsaWRDdHh0Ij54bWxSZWxheE5HTmV3VmFsaWRDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclJlbGF4TkdTZXRTY2hlbWEiPnhtbFRleHRSZWFkZXJSZWxheE5HU2V0U2NoZW1hPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbFJlbGF4TkdWYWxpZEN0eHRQdHI6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR0ZyZWVWYWxpZEN0eHQiPnhtbFJlbGF4TkdGcmVlVmFsaWRDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdHZXRWYWxpZEVycm9ycyI+eG1sUmVsYXhOR0dldFZhbGlkRXJyb3JzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdTZXRWYWxpZEVycm9ycyI+eG1sUmVsYXhOR1NldFZhbGlkRXJyb3JzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdTZXRWYWxpZFN0cnVjdHVyZWRFcnJvcnMiPnhtbFJlbGF4TkdTZXRWYWxpZFN0cnVjdHVyZWRFcnJvcnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1ZhbGlkYXRlRG9jIj54bWxSZWxheE5HVmFsaWRhdGVEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1ZhbGlkYXRlRnVsbEVsZW1lbnQiPnhtbFJlbGF4TkdWYWxpZGF0ZUZ1bGxFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdWYWxpZGF0ZVBvcEVsZW1lbnQiPnhtbFJlbGF4TkdWYWxpZGF0ZVBvcEVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1ZhbGlkYXRlUHVzaENEYXRhIj54bWxSZWxheE5HVmFsaWRhdGVQdXNoQ0RhdGE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1ZhbGlkYXRlUHVzaEVsZW1lbnQiPnhtbFJlbGF4TkdWYWxpZGF0ZVB1c2hFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZUN0eHQiPnhtbFRleHRSZWFkZXJSZWxheE5HVmFsaWRhdGVDdHh0PC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbFJlbGF4TkdWYWxpZGl0eUVycm9yRnVuYzo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HU2V0UGFyc2VyRXJyb3JzIj54bWxSZWxheE5HU2V0UGFyc2VyRXJyb3JzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdTZXRWYWxpZEVycm9ycyI+eG1sUmVsYXhOR1NldFZhbGlkRXJyb3JzPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbFJlbGF4TkdWYWxpZGl0eUVycm9yRnVuYyAqOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdHZXRQYXJzZXJFcnJvcnMiPnhtbFJlbGF4TkdHZXRQYXJzZXJFcnJvcnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR0dldFZhbGlkRXJyb3JzIj54bWxSZWxheE5HR2V0VmFsaWRFcnJvcnM8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sUmVsYXhOR1ZhbGlkaXR5V2FybmluZ0Z1bmM6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1NldFBhcnNlckVycm9ycyI+eG1sUmVsYXhOR1NldFBhcnNlckVycm9yczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HU2V0VmFsaWRFcnJvcnMiPnhtbFJlbGF4TkdTZXRWYWxpZEVycm9yczwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxSZWxheE5HVmFsaWRpdHlXYXJuaW5nRnVuYyAqOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdHZXRQYXJzZXJFcnJvcnMiPnhtbFJlbGF4TkdHZXRQYXJzZXJFcnJvcnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR0dldFZhbGlkRXJyb3JzIj54bWxSZWxheE5HR2V0VmFsaWRFcnJvcnM8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sU0FYSGFuZGxlciAqOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJJbml0RGVmYXVsdFNBWEhhbmRsZXIiPnhtbFNBWDJJbml0RGVmYXVsdFNBWEhhbmRsZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMkluaXREb2NiRGVmYXVsdFNBWEhhbmRsZXIiPnhtbFNBWDJJbml0RG9jYkRlZmF1bHRTQVhIYW5kbGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJJbml0SHRtbERlZmF1bHRTQVhIYW5kbGVyIj54bWxTQVgySW5pdEh0bWxEZWZhdWx0U0FYSGFuZGxlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVhWZXJzaW9uIj54bWxTQVhWZXJzaW9uPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbFNBWEhhbmRsZXJQdHI6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxDcmVhdGVJT1BhcnNlckN0eHQiPnhtbENyZWF0ZUlPUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbENyZWF0ZVB1c2hQYXJzZXJDdHh0Ij54bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbElPUGFyc2VEVEQiPnhtbElPUGFyc2VEVEQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnkiPnhtbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXIiPnhtbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUV4dGVybmFsRW50aXR5Ij54bWxQYXJzZUV4dGVybmFsRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYUGFyc2VEVEQiPnhtbFNBWFBhcnNlRFREPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYUGFyc2VEb2MiPnhtbFNBWFBhcnNlRG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYUGFyc2VFbnRpdHkiPnhtbFNBWFBhcnNlRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYUGFyc2VGaWxlIj54bWxTQVhQYXJzZUZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxTQVhQYXJzZUZpbGVXaXRoRGF0YSI+eG1sU0FYUGFyc2VGaWxlV2l0aERhdGE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxTQVhQYXJzZU1lbW9yeSI+eG1sU0FYUGFyc2VNZW1vcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxTQVhQYXJzZU1lbW9yeVdpdGhEYXRhIj54bWxTQVhQYXJzZU1lbW9yeVdpdGhEYXRhPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYVXNlclBhcnNlRmlsZSI+eG1sU0FYVXNlclBhcnNlRmlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNBWFVzZXJQYXJzZU1lbW9yeSI+eG1sU0FYVXNlclBhcnNlTWVtb3J5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkYXRlU3RyZWFtIj54bWxTY2hlbWFWYWxpZGF0ZVN0cmVhbTwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxTQVhIYW5kbGVyUHRyICo6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hU0FYUGx1ZyI+eG1sU2NoZW1hU0FYUGx1ZzwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxTQVhIYW5kbGVyVjEgKjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI2luaXRkb2NiRGVmYXVsdFNBWEhhbmRsZXIiPmluaXRkb2NiRGVmYXVsdFNBWEhhbmRsZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNpbml0aHRtbERlZmF1bHRTQVhIYW5kbGVyIj5pbml0aHRtbERlZmF1bHRTQVhIYW5kbGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjaW5pdHhtbERlZmF1bHRTQVhIYW5kbGVyIj5pbml0eG1sRGVmYXVsdFNBWEhhbmRsZXI8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sU0FYTG9jYXRvclB0cjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI3NldERvY3VtZW50TG9jYXRvciI+c2V0RG9jdW1lbnRMb2NhdG9yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjc2V0RG9jdW1lbnRMb2NhdG9yU0FYRnVuYyI+c2V0RG9jdW1lbnRMb2NhdG9yU0FYRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyU2V0RG9jdW1lbnRMb2NhdG9yIj54bWxTQVgyU2V0RG9jdW1lbnRMb2NhdG9yPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbFNhdmVDdHh0UHRyOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2F2ZS5odG1sI3htbFNhdmVDbG9zZSI+eG1sU2F2ZUNsb3NlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2F2ZS5odG1sI3htbFNhdmVEb2MiPnhtbFNhdmVEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzYXZlLmh0bWwjeG1sU2F2ZUZsdXNoIj54bWxTYXZlRmx1c2g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzYXZlLmh0bWwjeG1sU2F2ZVNldEF0dHJFc2NhcGUiPnhtbFNhdmVTZXRBdHRyRXNjYXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2F2ZS5odG1sI3htbFNhdmVTZXRFc2NhcGUiPnhtbFNhdmVTZXRFc2NhcGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzYXZlLmh0bWwjeG1sU2F2ZVRyZWUiPnhtbFNhdmVUcmVlPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbFNjaGVtYUZhY2V0UHRyOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hQ2hlY2tGYWNldCI+eG1sU2NoZW1hQ2hlY2tGYWNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUZyZWVGYWNldCI+eG1sU2NoZW1hRnJlZUZhY2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hR2V0RmFjZXRWYWx1ZUFzVUxvbmciPnhtbFNjaGVtYUdldEZhY2V0VmFsdWVBc1VMb25nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hVmFsaWRhdGVGYWNldCI+eG1sU2NoZW1hVmFsaWRhdGVGYWNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYVZhbGlkYXRlRmFjZXRXaHRzcCI+eG1sU2NoZW1hVmFsaWRhdGVGYWNldFdodHNwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldCI+eG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXRXaHRzcCI+eG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldFdodHNwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hVmFsaWRhdGVMaXN0U2ltcGxlVHlwZUZhY2V0Ij54bWxTY2hlbWFWYWxpZGF0ZUxpc3RTaW1wbGVUeXBlRmFjZXQ8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sU2NoZW1hUGFyc2VyQ3R4dFB0cjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUNoZWNrRmFjZXQiPnhtbFNjaGVtYUNoZWNrRmFjZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hRnJlZVBhcnNlckN0eHQiPnhtbFNjaGVtYUZyZWVQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYUdldFBhcnNlckVycm9ycyI+eG1sU2NoZW1hR2V0UGFyc2VyRXJyb3JzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVBhcnNlIj54bWxTY2hlbWFQYXJzZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFTZXRQYXJzZXJFcnJvcnMiPnhtbFNjaGVtYVNldFBhcnNlckVycm9yczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFTZXRQYXJzZXJTdHJ1Y3R1cmVkRXJyb3JzIj54bWxTY2hlbWFTZXRQYXJzZXJTdHJ1Y3R1cmVkRXJyb3JzPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbFNjaGVtYVB0cjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFEdW1wIj54bWxTY2hlbWFEdW1wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYUZyZWUiPnhtbFNjaGVtYUZyZWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hTmV3VmFsaWRDdHh0Ij54bWxTY2hlbWFOZXdWYWxpZEN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyU2V0U2NoZW1hIj54bWxUZXh0UmVhZGVyU2V0U2NoZW1hPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbFNjaGVtYVNBWFBsdWdQdHI6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hU0FYVW5wbHVnIj54bWxTY2hlbWFTQVhVbnBsdWc8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sU2NoZW1hVHlwZVB0cjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUNoZWNrRmFjZXQiPnhtbFNjaGVtYUNoZWNrRmFjZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hRnJlZVR5cGUiPnhtbFNjaGVtYUZyZWVUeXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hR2V0QnVpbHRJbkxpc3RTaW1wbGVUeXBlSXRlbVR5cGUiPnhtbFNjaGVtYUdldEJ1aWx0SW5MaXN0U2ltcGxlVHlwZUl0ZW1UeXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hSXNCdWlsdEluVHlwZUZhY2V0Ij54bWxTY2hlbWFJc0J1aWx0SW5UeXBlRmFjZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFWYWxQcmVkZWZUeXBlTm9kZSI+eG1sU2NoZW1hVmFsUHJlZGVmVHlwZU5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFWYWxQcmVkZWZUeXBlTm9kZU5vTm9ybSI+eG1sU2NoZW1hVmFsUHJlZGVmVHlwZU5vZGVOb05vcm08L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0Ij54bWxTY2hlbWFWYWxpZGF0ZUZhY2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldCI+eG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYVZhbGlkYXRlUHJlZGVmaW5lZFR5cGUiPnhtbFNjaGVtYVZhbGlkYXRlUHJlZGVmaW5lZFR5cGU8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sU2NoZW1hVmFsUHRyOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hQ29tcGFyZVZhbHVlcyI+eG1sU2NoZW1hQ29tcGFyZVZhbHVlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUNvbXBhcmVWYWx1ZXNXaHRzcCI+eG1sU2NoZW1hQ29tcGFyZVZhbHVlc1dodHNwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hQ29weVZhbHVlIj54bWxTY2hlbWFDb3B5VmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFGcmVlVmFsdWUiPnhtbFNjaGVtYUZyZWVWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUdldENhbm9uVmFsdWUiPnhtbFNjaGVtYUdldENhbm9uVmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFHZXRDYW5vblZhbHVlV2h0c3AiPnhtbFNjaGVtYUdldENhbm9uVmFsdWVXaHRzcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUdldFZhbFR5cGUiPnhtbFNjaGVtYUdldFZhbFR5cGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0Ij54bWxTY2hlbWFWYWxpZGF0ZUZhY2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hVmFsaWRhdGVGYWNldFdodHNwIj54bWxTY2hlbWFWYWxpZGF0ZUZhY2V0V2h0c3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFWYWxpZGF0ZUxlbmd0aEZhY2V0Ij54bWxTY2hlbWFWYWxpZGF0ZUxlbmd0aEZhY2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldFdodHNwIj54bWxTY2hlbWFWYWxpZGF0ZUxlbmd0aEZhY2V0V2h0c3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFWYWx1ZUFwcGVuZCI+eG1sU2NoZW1hVmFsdWVBcHBlbmQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFWYWx1ZUdldEFzQm9vbGVhbiI+eG1sU2NoZW1hVmFsdWVHZXRBc0Jvb2xlYW48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFWYWx1ZUdldEFzU3RyaW5nIj54bWxTY2hlbWFWYWx1ZUdldEFzU3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hVmFsdWVHZXROZXh0Ij54bWxTY2hlbWFWYWx1ZUdldE5leHQ8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sU2NoZW1hVmFsUHRyICo6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFWYWxQcmVkZWZUeXBlTm9kZSI+eG1sU2NoZW1hVmFsUHJlZGVmVHlwZU5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFWYWxQcmVkZWZUeXBlTm9kZU5vTm9ybSI+eG1sU2NoZW1hVmFsUHJlZGVmVHlwZU5vZGVOb05vcm08L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFWYWxpZGF0ZVByZWRlZmluZWRUeXBlIj54bWxTY2hlbWFWYWxpZGF0ZVByZWRlZmluZWRUeXBlPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbFNjaGVtYVZhbFR5cGU6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFHZXRCdWlsdEluVHlwZSI+eG1sU2NoZW1hR2V0QnVpbHRJblR5cGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFOZXdTdHJpbmdWYWx1ZSI+eG1sU2NoZW1hTmV3U3RyaW5nVmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0V2h0c3AiPnhtbFNjaGVtYVZhbGlkYXRlRmFjZXRXaHRzcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXRXaHRzcCI+eG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldFdodHNwPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbFNjaGVtYVZhbGlkQ3R4dFB0cjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFGcmVlVmFsaWRDdHh0Ij54bWxTY2hlbWFGcmVlVmFsaWRDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYUdldFZhbGlkRXJyb3JzIj54bWxTY2hlbWFHZXRWYWxpZEVycm9yczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFJc1ZhbGlkIj54bWxTY2hlbWFJc1ZhbGlkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVNBWFBsdWciPnhtbFNjaGVtYVNBWFBsdWc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hU2V0VmFsaWRFcnJvcnMiPnhtbFNjaGVtYVNldFZhbGlkRXJyb3JzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVNldFZhbGlkT3B0aW9ucyI+eG1sU2NoZW1hU2V0VmFsaWRPcHRpb25zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVNldFZhbGlkU3RydWN0dXJlZEVycm9ycyI+eG1sU2NoZW1hU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkQ3R4dEdldE9wdGlvbnMiPnhtbFNjaGVtYVZhbGlkQ3R4dEdldE9wdGlvbnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRDdHh0R2V0UGFyc2VyQ3R4dCI+eG1sU2NoZW1hVmFsaWRDdHh0R2V0UGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZGF0ZURvYyI+eG1sU2NoZW1hVmFsaWRhdGVEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRhdGVGaWxlIj54bWxTY2hlbWFWYWxpZGF0ZUZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRhdGVPbmVFbGVtZW50Ij54bWxTY2hlbWFWYWxpZGF0ZU9uZUVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRhdGVTZXRGaWxlbmFtZSI+eG1sU2NoZW1hVmFsaWRhdGVTZXRGaWxlbmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZGF0ZVNldExvY2F0b3IiPnhtbFNjaGVtYVZhbGlkYXRlU2V0TG9jYXRvcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZGF0ZVN0cmVhbSI+eG1sU2NoZW1hVmFsaWRhdGVTdHJlYW08L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyU2NoZW1hVmFsaWRhdGVDdHh0Ij54bWxUZXh0UmVhZGVyU2NoZW1hVmFsaWRhdGVDdHh0PC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbFNjaGVtYVZhbGlkaXR5RXJyb3JGdW5jOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVNldFBhcnNlckVycm9ycyI+eG1sU2NoZW1hU2V0UGFyc2VyRXJyb3JzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVNldFZhbGlkRXJyb3JzIj54bWxTY2hlbWFTZXRWYWxpZEVycm9yczwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxTY2hlbWFWYWxpZGl0eUVycm9yRnVuYyAqOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYUdldFBhcnNlckVycm9ycyI+eG1sU2NoZW1hR2V0UGFyc2VyRXJyb3JzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYUdldFZhbGlkRXJyb3JzIj54bWxTY2hlbWFHZXRWYWxpZEVycm9yczwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxTY2hlbWFWYWxpZGl0eUxvY2F0b3JGdW5jOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkYXRlU2V0TG9jYXRvciI+eG1sU2NoZW1hVmFsaWRhdGVTZXRMb2NhdG9yPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbFNjaGVtYVZhbGlkaXR5V2FybmluZ0Z1bmM6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hU2V0UGFyc2VyRXJyb3JzIj54bWxTY2hlbWFTZXRQYXJzZXJFcnJvcnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hU2V0VmFsaWRFcnJvcnMiPnhtbFNjaGVtYVNldFZhbGlkRXJyb3JzPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbFNjaGVtYVZhbGlkaXR5V2FybmluZ0Z1bmMgKjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFHZXRQYXJzZXJFcnJvcnMiPnhtbFNjaGVtYUdldFBhcnNlckVycm9yczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFHZXRWYWxpZEVycm9ycyI+eG1sU2NoZW1hR2V0VmFsaWRFcnJvcnM8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sU2NoZW1hV2hpdGVzcGFjZVZhbHVlVHlwZTo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUNvbXBhcmVWYWx1ZXNXaHRzcCI+eG1sU2NoZW1hQ29tcGFyZVZhbHVlc1dodHNwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hR2V0Q2Fub25WYWx1ZVdodHNwIj54bWxTY2hlbWFHZXRDYW5vblZhbHVlV2h0c3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0V2h0c3AiPnhtbFNjaGVtYVZhbGlkYXRlRmFjZXRXaHRzcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXRXaHRzcCI+eG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldFdodHNwPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbFNjaGVtYVdpbGRjYXJkUHRyOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYUZyZWVXaWxkY2FyZCI+eG1sU2NoZW1hRnJlZVdpbGRjYXJkPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbFNjaGVtYXRyb25QYXJzZXJDdHh0UHRyOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hdHJvbi5odG1sI3htbFNjaGVtYXRyb25GcmVlUGFyc2VyQ3R4dCI+eG1sU2NoZW1hdHJvbkZyZWVQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hdHJvbi5odG1sI3htbFNjaGVtYXRyb25QYXJzZSI+eG1sU2NoZW1hdHJvblBhcnNlPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbFNjaGVtYXRyb25QdHI6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvbkZyZWUiPnhtbFNjaGVtYXRyb25GcmVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hdHJvbi5odG1sI3htbFNjaGVtYXRyb25OZXdWYWxpZEN0eHQiPnhtbFNjaGVtYXRyb25OZXdWYWxpZEN0eHQ8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sU2NoZW1hdHJvblZhbGlkQ3R4dFB0cjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uRnJlZVZhbGlkQ3R4dCI+eG1sU2NoZW1hdHJvbkZyZWVWYWxpZEN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvblNldFZhbGlkU3RydWN0dXJlZEVycm9ycyI+eG1sU2NoZW1hdHJvblNldFZhbGlkU3RydWN0dXJlZEVycm9yczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uVmFsaWRhdGVEb2MiPnhtbFNjaGVtYXRyb25WYWxpZGF0ZURvYzwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxTaGVsbEN0eHRQdHI6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsQmFzZSI+eG1sU2hlbGxCYXNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbENhdCI+eG1sU2hlbGxDYXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsQ21kIj54bWxTaGVsbENtZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxEaXIiPnhtbFNoZWxsRGlyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbER1Ij54bWxTaGVsbER1PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbExpc3QiPnhtbFNoZWxsTGlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxMb2FkIj54bWxTaGVsbExvYWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsUHdkIj54bWxTaGVsbFB3ZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxTYXZlIj54bWxTaGVsbFNhdmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsVmFsaWRhdGUiPnhtbFNoZWxsVmFsaWRhdGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsV3JpdGUiPnhtbFNoZWxsV3JpdGU8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sU2hlbGxSZWFkbGluZUZ1bmM6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsIj54bWxTaGVsbDwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxTdHJkdXBGdW5jOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sR2NNZW1TZXR1cCI+eG1sR2NNZW1TZXR1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1lbVNldHVwIj54bWxNZW1TZXR1cDwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxTdHJkdXBGdW5jICo6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxHY01lbUdldCI+eG1sR2NNZW1HZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNZW1HZXQiPnhtbE1lbUdldDwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxTdHJlYW1DdHh0UHRyOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbEZyZWVTdHJlYW1DdHh0Ij54bWxGcmVlU3RyZWFtQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCN4bWxTdHJlYW1Qb3AiPnhtbFN0cmVhbVBvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCN4bWxTdHJlYW1QdXNoIj54bWxTdHJlYW1QdXNoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbFN0cmVhbVB1c2hBdHRyIj54bWxTdHJlYW1QdXNoQXR0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCN4bWxTdHJlYW1QdXNoTm9kZSI+eG1sU3RyZWFtUHVzaE5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sU3RyZWFtV2FudHNBbnlOb2RlIj54bWxTdHJlYW1XYW50c0FueU5vZGU8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sU3RydWN0dXJlZEVycm9yRnVuYzo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HU2V0UGFyc2VyU3RydWN0dXJlZEVycm9ycyI+eG1sUmVsYXhOR1NldFBhcnNlclN0cnVjdHVyZWRFcnJvcnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1NldFZhbGlkU3RydWN0dXJlZEVycm9ycyI+eG1sUmVsYXhOR1NldFZhbGlkU3RydWN0dXJlZEVycm9yczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFTZXRQYXJzZXJTdHJ1Y3R1cmVkRXJyb3JzIj54bWxTY2hlbWFTZXRQYXJzZXJTdHJ1Y3R1cmVkRXJyb3JzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVNldFZhbGlkU3RydWN0dXJlZEVycm9ycyI+eG1sU2NoZW1hU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hdHJvbi5odG1sI3htbFNjaGVtYXRyb25TZXRWYWxpZFN0cnVjdHVyZWRFcnJvcnMiPnhtbFNjaGVtYXRyb25TZXRWYWxpZFN0cnVjdHVyZWRFcnJvcnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI3htbFNldFN0cnVjdHVyZWRFcnJvckZ1bmMiPnhtbFNldFN0cnVjdHVyZWRFcnJvckZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyU2V0U3RydWN0dXJlZEVycm9ySGFuZGxlciI+eG1sVGV4dFJlYWRlclNldFN0cnVjdHVyZWRFcnJvckhhbmRsZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sVGhyRGVmU2V0U3RydWN0dXJlZEVycm9yRnVuYyI+eG1sVGhyRGVmU2V0U3RydWN0dXJlZEVycm9yRnVuYzwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxUZXh0UmVhZGVyRXJyb3JGdW5jOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclNldEVycm9ySGFuZGxlciI+eG1sVGV4dFJlYWRlclNldEVycm9ySGFuZGxlcjwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxUZXh0UmVhZGVyRXJyb3JGdW5jICo6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyR2V0RXJyb3JIYW5kbGVyIj54bWxUZXh0UmVhZGVyR2V0RXJyb3JIYW5kbGVyPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbFRleHRSZWFkZXJMb2NhdG9yUHRyOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckVycm9yRnVuYyI+eG1sVGV4dFJlYWRlckVycm9yRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJMb2NhdG9yQmFzZVVSSSI+eG1sVGV4dFJlYWRlckxvY2F0b3JCYXNlVVJJPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckxvY2F0b3JMaW5lTnVtYmVyIj54bWxUZXh0UmVhZGVyTG9jYXRvckxpbmVOdW1iZXI8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sVGV4dFJlYWRlclB0cjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbEZyZWVUZXh0UmVhZGVyIj54bWxGcmVlVGV4dFJlYWRlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFJlYWRlck5ld0RvYyI+eG1sUmVhZGVyTmV3RG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sUmVhZGVyTmV3RmQiPnhtbFJlYWRlck5ld0ZkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sUmVhZGVyTmV3RmlsZSI+eG1sUmVhZGVyTmV3RmlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFJlYWRlck5ld0lPIj54bWxSZWFkZXJOZXdJTzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFJlYWRlck5ld01lbW9yeSI+eG1sUmVhZGVyTmV3TWVtb3J5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sUmVhZGVyTmV3V2Fsa2VyIj54bWxSZWFkZXJOZXdXYWxrZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyQXR0cmlidXRlQ291bnQiPnhtbFRleHRSZWFkZXJBdHRyaWJ1dGVDb3VudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJCYXNlVXJpIj54bWxUZXh0UmVhZGVyQmFzZVVyaTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJCeXRlQ29uc3VtZWQiPnhtbFRleHRSZWFkZXJCeXRlQ29uc3VtZWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyQ2xvc2UiPnhtbFRleHRSZWFkZXJDbG9zZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJDb25zdEJhc2VVcmkiPnhtbFRleHRSZWFkZXJDb25zdEJhc2VVcmk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyQ29uc3RFbmNvZGluZyI+eG1sVGV4dFJlYWRlckNvbnN0RW5jb2Rpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyQ29uc3RMb2NhbE5hbWUiPnhtbFRleHRSZWFkZXJDb25zdExvY2FsTmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJDb25zdE5hbWUiPnhtbFRleHRSZWFkZXJDb25zdE5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyQ29uc3ROYW1lc3BhY2VVcmkiPnhtbFRleHRSZWFkZXJDb25zdE5hbWVzcGFjZVVyaTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJDb25zdFByZWZpeCI+eG1sVGV4dFJlYWRlckNvbnN0UHJlZml4PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckNvbnN0U3RyaW5nIj54bWxUZXh0UmVhZGVyQ29uc3RTdHJpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyQ29uc3RWYWx1ZSI+eG1sVGV4dFJlYWRlckNvbnN0VmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyQ29uc3RYbWxMYW5nIj54bWxUZXh0UmVhZGVyQ29uc3RYbWxMYW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckNvbnN0WG1sVmVyc2lvbiI+eG1sVGV4dFJlYWRlckNvbnN0WG1sVmVyc2lvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJDdXJyZW50RG9jIj54bWxUZXh0UmVhZGVyQ3VycmVudERvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJDdXJyZW50Tm9kZSI+eG1sVGV4dFJlYWRlckN1cnJlbnROb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckRlcHRoIj54bWxUZXh0UmVhZGVyRGVwdGg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyRXhwYW5kIj54bWxUZXh0UmVhZGVyRXhwYW5kPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZSI+eG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJHZXRBdHRyaWJ1dGVObyI+eG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZU5vPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZU5zIj54bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlTnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyR2V0RXJyb3JIYW5kbGVyIj54bWxUZXh0UmVhZGVyR2V0RXJyb3JIYW5kbGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckdldFBhcnNlckNvbHVtbk51bWJlciI+eG1sVGV4dFJlYWRlckdldFBhcnNlckNvbHVtbk51bWJlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJHZXRQYXJzZXJMaW5lTnVtYmVyIj54bWxUZXh0UmVhZGVyR2V0UGFyc2VyTGluZU51bWJlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJHZXRQYXJzZXJQcm9wIj54bWxUZXh0UmVhZGVyR2V0UGFyc2VyUHJvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJHZXRSZW1haW5kZXIiPnhtbFRleHRSZWFkZXJHZXRSZW1haW5kZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVySGFzQXR0cmlidXRlcyI+eG1sVGV4dFJlYWRlckhhc0F0dHJpYnV0ZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVySGFzVmFsdWUiPnhtbFRleHRSZWFkZXJIYXNWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJJc0RlZmF1bHQiPnhtbFRleHRSZWFkZXJJc0RlZmF1bHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVySXNFbXB0eUVsZW1lbnQiPnhtbFRleHRSZWFkZXJJc0VtcHR5RWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJJc05hbWVzcGFjZURlY2wiPnhtbFRleHRSZWFkZXJJc05hbWVzcGFjZURlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVySXNWYWxpZCI+eG1sVGV4dFJlYWRlcklzVmFsaWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyTG9jYWxOYW1lIj54bWxUZXh0UmVhZGVyTG9jYWxOYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckxvb2t1cE5hbWVzcGFjZSI+eG1sVGV4dFJlYWRlckxvb2t1cE5hbWVzcGFjZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJNb3ZlVG9BdHRyaWJ1dGUiPnhtbFRleHRSZWFkZXJNb3ZlVG9BdHRyaWJ1dGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyTW92ZVRvQXR0cmlidXRlTm8iPnhtbFRleHRSZWFkZXJNb3ZlVG9BdHRyaWJ1dGVObzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJNb3ZlVG9BdHRyaWJ1dGVOcyI+eG1sVGV4dFJlYWRlck1vdmVUb0F0dHJpYnV0ZU5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlck1vdmVUb0VsZW1lbnQiPnhtbFRleHRSZWFkZXJNb3ZlVG9FbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlck1vdmVUb0ZpcnN0QXR0cmlidXRlIj54bWxUZXh0UmVhZGVyTW92ZVRvRmlyc3RBdHRyaWJ1dGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyTW92ZVRvTmV4dEF0dHJpYnV0ZSI+eG1sVGV4dFJlYWRlck1vdmVUb05leHRBdHRyaWJ1dGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyTmFtZSI+eG1sVGV4dFJlYWRlck5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyTmFtZXNwYWNlVXJpIj54bWxUZXh0UmVhZGVyTmFtZXNwYWNlVXJpPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlck5leHQiPnhtbFRleHRSZWFkZXJOZXh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlck5leHRTaWJsaW5nIj54bWxUZXh0UmVhZGVyTmV4dFNpYmxpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyTm9kZVR5cGUiPnhtbFRleHRSZWFkZXJOb2RlVHlwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJOb3JtYWxpemF0aW9uIj54bWxUZXh0UmVhZGVyTm9ybWFsaXphdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQcmVmaXgiPnhtbFRleHRSZWFkZXJQcmVmaXg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHJlc2VydmUiPnhtbFRleHRSZWFkZXJQcmVzZXJ2ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQcmVzZXJ2ZVBhdHRlcm4iPnhtbFRleHRSZWFkZXJQcmVzZXJ2ZVBhdHRlcm48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUXVvdGVDaGFyIj54bWxUZXh0UmVhZGVyUXVvdGVDaGFyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclJlYWQiPnhtbFRleHRSZWFkZXJSZWFkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclJlYWRBdHRyaWJ1dGVWYWx1ZSI+eG1sVGV4dFJlYWRlclJlYWRBdHRyaWJ1dGVWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJSZWFkSW5uZXJYbWwiPnhtbFRleHRSZWFkZXJSZWFkSW5uZXJYbWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUmVhZE91dGVyWG1sIj54bWxUZXh0UmVhZGVyUmVhZE91dGVyWG1sPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclJlYWRTdGF0ZSI+eG1sVGV4dFJlYWRlclJlYWRTdGF0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJSZWFkU3RyaW5nIj54bWxUZXh0UmVhZGVyUmVhZFN0cmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJSZWxheE5HU2V0U2NoZW1hIj54bWxUZXh0UmVhZGVyUmVsYXhOR1NldFNjaGVtYTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJSZWxheE5HVmFsaWRhdGUiPnhtbFRleHRSZWFkZXJSZWxheE5HVmFsaWRhdGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUmVsYXhOR1ZhbGlkYXRlQ3R4dCI+eG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZUN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyU2NoZW1hVmFsaWRhdGUiPnhtbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZUN0eHQiPnhtbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZUN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyU2V0RXJyb3JIYW5kbGVyIj54bWxUZXh0UmVhZGVyU2V0RXJyb3JIYW5kbGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclNldFBhcnNlclByb3AiPnhtbFRleHRSZWFkZXJTZXRQYXJzZXJQcm9wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclNldFNjaGVtYSI+eG1sVGV4dFJlYWRlclNldFNjaGVtYTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJTZXRTdHJ1Y3R1cmVkRXJyb3JIYW5kbGVyIj54bWxUZXh0UmVhZGVyU2V0U3RydWN0dXJlZEVycm9ySGFuZGxlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJTZXR1cCI+eG1sVGV4dFJlYWRlclNldHVwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclN0YW5kYWxvbmUiPnhtbFRleHRSZWFkZXJTdGFuZGFsb25lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclZhbHVlIj54bWxUZXh0UmVhZGVyVmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyWG1sTGFuZyI+eG1sVGV4dFJlYWRlclhtbExhbmc8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sVGV4dFdyaXRlclB0cjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbEZyZWVUZXh0V3JpdGVyIj54bWxGcmVlVGV4dFdyaXRlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJFbmRBdHRyaWJ1dGUiPnhtbFRleHRXcml0ZXJFbmRBdHRyaWJ1dGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyRW5kQ0RBVEEiPnhtbFRleHRXcml0ZXJFbmRDREFUQTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJFbmRDb21tZW50Ij54bWxUZXh0V3JpdGVyRW5kQ29tbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJFbmREVEQiPnhtbFRleHRXcml0ZXJFbmREVEQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyRW5kRFREQXR0bGlzdCI+eG1sVGV4dFdyaXRlckVuZERUREF0dGxpc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyRW5kRFRERWxlbWVudCI+eG1sVGV4dFdyaXRlckVuZERUREVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyRW5kRFRERW50aXR5Ij54bWxUZXh0V3JpdGVyRW5kRFRERW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlckVuZERvY3VtZW50Ij54bWxUZXh0V3JpdGVyRW5kRG9jdW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyRW5kRWxlbWVudCI+eG1sVGV4dFdyaXRlckVuZEVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyRW5kUEkiPnhtbFRleHRXcml0ZXJFbmRQSTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJGbHVzaCI+eG1sVGV4dFdyaXRlckZsdXNoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlckZ1bGxFbmRFbGVtZW50Ij54bWxUZXh0V3JpdGVyRnVsbEVuZEVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyU2V0SW5kZW50Ij54bWxUZXh0V3JpdGVyU2V0SW5kZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclNldEluZGVudFN0cmluZyI+eG1sVGV4dFdyaXRlclNldEluZGVudFN0cmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJTZXRRdW90ZUNoYXIiPnhtbFRleHRXcml0ZXJTZXRRdW90ZUNoYXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyU3RhcnRBdHRyaWJ1dGUiPnhtbFRleHRXcml0ZXJTdGFydEF0dHJpYnV0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJTdGFydEF0dHJpYnV0ZU5TIj54bWxUZXh0V3JpdGVyU3RhcnRBdHRyaWJ1dGVOUzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJTdGFydENEQVRBIj54bWxUZXh0V3JpdGVyU3RhcnRDREFUQTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJTdGFydENvbW1lbnQiPnhtbFRleHRXcml0ZXJTdGFydENvbW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyU3RhcnREVEQiPnhtbFRleHRXcml0ZXJTdGFydERURDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJTdGFydERUREF0dGxpc3QiPnhtbFRleHRXcml0ZXJTdGFydERUREF0dGxpc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyU3RhcnREVERFbGVtZW50Ij54bWxUZXh0V3JpdGVyU3RhcnREVERFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclN0YXJ0RFRERW50aXR5Ij54bWxUZXh0V3JpdGVyU3RhcnREVERFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyU3RhcnREb2N1bWVudCI+eG1sVGV4dFdyaXRlclN0YXJ0RG9jdW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyU3RhcnRFbGVtZW50Ij54bWxUZXh0V3JpdGVyU3RhcnRFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclN0YXJ0RWxlbWVudE5TIj54bWxUZXh0V3JpdGVyU3RhcnRFbGVtZW50TlM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyU3RhcnRQSSI+eG1sVGV4dFdyaXRlclN0YXJ0UEk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVBdHRyaWJ1dGUiPnhtbFRleHRXcml0ZXJXcml0ZUF0dHJpYnV0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZUF0dHJpYnV0ZU5TIj54bWxUZXh0V3JpdGVyV3JpdGVBdHRyaWJ1dGVOUzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZUJhc2U2NCI+eG1sVGV4dFdyaXRlcldyaXRlQmFzZTY0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlQmluSGV4Ij54bWxUZXh0V3JpdGVyV3JpdGVCaW5IZXg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVDREFUQSI+eG1sVGV4dFdyaXRlcldyaXRlQ0RBVEE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVDb21tZW50Ij54bWxUZXh0V3JpdGVyV3JpdGVDb21tZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRFREIj54bWxUZXh0V3JpdGVyV3JpdGVEVEQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVEVERBdHRsaXN0Ij54bWxUZXh0V3JpdGVyV3JpdGVEVERBdHRsaXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRFRERWxlbWVudCI+eG1sVGV4dFdyaXRlcldyaXRlRFRERWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZURUREVudGl0eSI+eG1sVGV4dFdyaXRlcldyaXRlRFRERW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRFRERXh0ZXJuYWxFbnRpdHkiPnhtbFRleHRXcml0ZXJXcml0ZURUREV4dGVybmFsRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRFRERXh0ZXJuYWxFbnRpdHlDb250ZW50cyI+eG1sVGV4dFdyaXRlcldyaXRlRFRERXh0ZXJuYWxFbnRpdHlDb250ZW50czwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZURUREludGVybmFsRW50aXR5Ij54bWxUZXh0V3JpdGVyV3JpdGVEVERJbnRlcm5hbEVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZURURE5vdGF0aW9uIj54bWxUZXh0V3JpdGVyV3JpdGVEVEROb3RhdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZUVsZW1lbnQiPnhtbFRleHRXcml0ZXJXcml0ZUVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVFbGVtZW50TlMiPnhtbFRleHRXcml0ZXJXcml0ZUVsZW1lbnROUzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdEF0dHJpYnV0ZSI+eG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0QXR0cmlidXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0QXR0cmlidXRlTlMiPnhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdEF0dHJpYnV0ZU5TPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0Q0RBVEEiPnhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdENEQVRBPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0Q29tbWVudCI+eG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0Q29tbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdERURCI+eG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFREPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFREQXR0bGlzdCI+eG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFREQXR0bGlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdERUREVsZW1lbnQiPnhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdERUREVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVERJbnRlcm5hbEVudGl0eSI+eG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFRESW50ZXJuYWxFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRFbGVtZW50Ij54bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RWxlbWVudE5TIj54bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRFbGVtZW50TlM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRQSSI+eG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0UEk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRSYXciPnhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdFJhdzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdFN0cmluZyI+eG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0U3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlUEkiPnhtbFRleHRXcml0ZXJXcml0ZVBJPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlUmF3Ij54bWxUZXh0V3JpdGVyV3JpdGVSYXc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVSYXdMZW4iPnhtbFRleHRXcml0ZXJXcml0ZVJhd0xlbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZVN0cmluZyI+eG1sVGV4dFdyaXRlcldyaXRlU3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEF0dHJpYnV0ZSI+eG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEF0dHJpYnV0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRBdHRyaWJ1dGVOUyI+eG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEF0dHJpYnV0ZU5TPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdENEQVRBIj54bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0Q0RBVEE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0Q29tbWVudCI+eG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdENvbW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFREIj54bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFREPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREF0dGxpc3QiPnhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVERBdHRsaXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREVsZW1lbnQiPnhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVERFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREludGVybmFsRW50aXR5Ij54bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFRESW50ZXJuYWxFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RWxlbWVudCI+eG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RWxlbWVudE5TIj54bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RWxlbWVudE5TPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdFBJIj54bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0UEk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0UmF3Ij54bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0UmF3PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdFN0cmluZyI+eG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdFN0cmluZzwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxVUklQdHI6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxGcmVlVVJJIj54bWxGcmVlVVJJPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sUGFyc2VVUklSZWZlcmVuY2UiPnhtbFBhcnNlVVJJUmVmZXJlbmNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sUHJpbnRVUkkiPnhtbFByaW50VVJJPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sU2F2ZVVyaSI+eG1sU2F2ZVVyaTwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxWYWxpZEN0eHRQdHI6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEFkZEF0dHJpYnV0ZURlY2wiPnhtbEFkZEF0dHJpYnV0ZURlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEFkZEVsZW1lbnREZWNsIj54bWxBZGRFbGVtZW50RGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sQWRkSUQiPnhtbEFkZElEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxBZGROb3RhdGlvbkRlY2wiPnhtbEFkZE5vdGF0aW9uRGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sQWRkUmVmIj54bWxBZGRSZWY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEZyZWVWYWxpZEN0eHQiPnhtbEZyZWVWYWxpZEN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkQnVpbGRDb250ZW50TW9kZWwiPnhtbFZhbGlkQnVpbGRDb250ZW50TW9kZWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkQ3R4dE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlIj54bWxWYWxpZEN0eHROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVBdHRyaWJ1dGVEZWNsIj54bWxWYWxpZGF0ZUF0dHJpYnV0ZURlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlRG9jdW1lbnQiPnhtbFZhbGlkYXRlRG9jdW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlRG9jdW1lbnRGaW5hbCI+eG1sVmFsaWRhdGVEb2N1bWVudEZpbmFsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZUR0ZCI+eG1sVmFsaWRhdGVEdGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlRHRkRmluYWwiPnhtbFZhbGlkYXRlRHRkRmluYWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlRWxlbWVudCI+eG1sVmFsaWRhdGVFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZUVsZW1lbnREZWNsIj54bWxWYWxpZGF0ZUVsZW1lbnREZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZU5vdGF0aW9uRGVjbCI+eG1sVmFsaWRhdGVOb3RhdGlvbkRlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlTm90YXRpb25Vc2UiPnhtbFZhbGlkYXRlTm90YXRpb25Vc2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlT25lQXR0cmlidXRlIj54bWxWYWxpZGF0ZU9uZUF0dHJpYnV0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVPbmVFbGVtZW50Ij54bWxWYWxpZGF0ZU9uZUVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlT25lTmFtZXNwYWNlIj54bWxWYWxpZGF0ZU9uZU5hbWVzcGFjZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVQb3BFbGVtZW50Ij54bWxWYWxpZGF0ZVBvcEVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlUHVzaENEYXRhIj54bWxWYWxpZGF0ZVB1c2hDRGF0YTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVQdXNoRWxlbWVudCI+eG1sVmFsaWRhdGVQdXNoRWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVSb290Ij54bWxWYWxpZGF0ZVJvb3Q8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sWEluY2x1ZGVDdHh0UHRyOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwteGluY2x1ZGUuaHRtbCN4bWxYSW5jbHVkZUZyZWVDb250ZXh0Ij54bWxYSW5jbHVkZUZyZWVDb250ZXh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGluY2x1ZGUuaHRtbCN4bWxYSW5jbHVkZVByb2Nlc3NOb2RlIj54bWxYSW5jbHVkZVByb2Nlc3NOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGluY2x1ZGUuaHRtbCN4bWxYSW5jbHVkZVNldEZsYWdzIj54bWxYSW5jbHVkZVNldEZsYWdzPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbFhQYXRoQ29tcEV4cHJQdHI6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29tcGlsZWRFdmFsIj54bWxYUGF0aENvbXBpbGVkRXZhbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb21waWxlZEV2YWxUb0Jvb2xlYW4iPnhtbFhQYXRoQ29tcGlsZWRFdmFsVG9Cb29sZWFuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aERlYnVnRHVtcENvbXBFeHByIj54bWxYUGF0aERlYnVnRHVtcENvbXBFeHByPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aEZyZWVDb21wRXhwciI+eG1sWFBhdGhGcmVlQ29tcEV4cHI8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sWFBhdGhDb250ZXh0UHRyOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbXBpbGVkRXZhbCI+eG1sWFBhdGhDb21waWxlZEV2YWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29tcGlsZWRFdmFsVG9Cb29sZWFuIj54bWxYUGF0aENvbXBpbGVkRXZhbFRvQm9vbGVhbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0U2V0Q2FjaGUiPnhtbFhQYXRoQ29udGV4dFNldENhY2hlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aEN0eHRDb21waWxlIj54bWxYUGF0aEN0eHRDb21waWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aEV2YWwiPnhtbFhQYXRoRXZhbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhFdmFsRXhwcmVzc2lvbiI+eG1sWFBhdGhFdmFsRXhwcmVzc2lvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhFdmFsUHJlZGljYXRlIj54bWxYUGF0aEV2YWxQcmVkaWNhdGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoRnJlZUNvbnRleHQiPnhtbFhQYXRoRnJlZUNvbnRleHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRnVuY3Rpb25Mb29rdXAiPnhtbFhQYXRoRnVuY3Rpb25Mb29rdXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRnVuY3Rpb25Mb29rdXBOUyI+eG1sWFBhdGhGdW5jdGlvbkxvb2t1cE5TPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5ld1BhcnNlckNvbnRleHQiPnhtbFhQYXRoTmV3UGFyc2VyQ29udGV4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhOb2RlRXZhbCI+eG1sWFBhdGhOb2RlRXZhbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOc0xvb2t1cCI+eG1sWFBhdGhOc0xvb2t1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhSZWdpc3RlckFsbEZ1bmN0aW9ucyI+eG1sWFBhdGhSZWdpc3RlckFsbEZ1bmN0aW9uczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhSZWdpc3RlckZ1bmMiPnhtbFhQYXRoUmVnaXN0ZXJGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJlZ2lzdGVyRnVuY0xvb2t1cCI+eG1sWFBhdGhSZWdpc3RlckZ1bmNMb29rdXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmVnaXN0ZXJGdW5jTlMiPnhtbFhQYXRoUmVnaXN0ZXJGdW5jTlM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmVnaXN0ZXJOcyI+eG1sWFBhdGhSZWdpc3Rlck5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGUiPnhtbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlTG9va3VwIj54bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGVMb29rdXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZU5TIj54bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGVOUzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhSZWdpc3RlcmVkRnVuY3NDbGVhbnVwIj54bWxYUGF0aFJlZ2lzdGVyZWRGdW5jc0NsZWFudXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmVnaXN0ZXJlZE5zQ2xlYW51cCI+eG1sWFBhdGhSZWdpc3RlcmVkTnNDbGVhbnVwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJlZ2lzdGVyZWRWYXJpYWJsZXNDbGVhbnVwIj54bWxYUGF0aFJlZ2lzdGVyZWRWYXJpYWJsZXNDbGVhbnVwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFNldENvbnRleHROb2RlIj54bWxYUGF0aFNldENvbnRleHROb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFZhcmlhYmxlTG9va3VwIj54bWxYUGF0aFZhcmlhYmxlTG9va3VwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFZhcmlhYmxlTG9va3VwTlMiPnhtbFhQYXRoVmFyaWFibGVMb29rdXBOUzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ckV2YWwiPnhtbFhQdHJFdmFsPC9hPjxiciAvPgorPC9wPjxoMj5UeXBlIHhtbFhQYXRoRnVuY0xvb2t1cEZ1bmM6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmVnaXN0ZXJGdW5jTG9va3VwIj54bWxYUGF0aFJlZ2lzdGVyRnVuY0xvb2t1cDwvYT48YnIgLz4KKzwvcD48aDI+VHlwZSB4bWxYUGF0aEZ1bmN0aW9uOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJlZ2lzdGVyRnVuYyI+eG1sWFBhdGhSZWdpc3RlckZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmVnaXN0ZXJGdW5jTlMiPnhtbFhQYXRoUmVnaXN0ZXJGdW5jTlM8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sWFBhdGhPYmplY3RQdHI6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3ZhbHVlUHVzaCI+dmFsdWVQdXNoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbFByaW50WFBhdGhSZXN1bHQiPnhtbFNoZWxsUHJpbnRYUGF0aFJlc3VsdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhBeGlzRnVuYyI+eG1sWFBhdGhBeGlzRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDYXN0VG9Cb29sZWFuIj54bWxYUGF0aENhc3RUb0Jvb2xlYW48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ2FzdFRvTnVtYmVyIj54bWxYUGF0aENhc3RUb051bWJlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDYXN0VG9TdHJpbmciPnhtbFhQYXRoQ2FzdFRvU3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbnZlcnRCb29sZWFuIj54bWxYUGF0aENvbnZlcnRCb29sZWFuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbnZlcnRGdW5jIj54bWxYUGF0aENvbnZlcnRGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbnZlcnROdW1iZXIiPnhtbFhQYXRoQ29udmVydE51bWJlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb252ZXJ0U3RyaW5nIj54bWxYUGF0aENvbnZlcnRTdHJpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRGVidWdEdW1wT2JqZWN0Ij54bWxYUGF0aERlYnVnRHVtcE9iamVjdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhFdmFsUHJlZGljYXRlIj54bWxYUGF0aEV2YWxQcmVkaWNhdGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRXZhbHVhdGVQcmVkaWNhdGVSZXN1bHQiPnhtbFhQYXRoRXZhbHVhdGVQcmVkaWNhdGVSZXN1bHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoRnJlZU5vZGVTZXRMaXN0Ij54bWxYUGF0aEZyZWVOb2RlU2V0TGlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhGcmVlT2JqZWN0Ij54bWxYUGF0aEZyZWVPYmplY3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0Q29weSI+eG1sWFBhdGhPYmplY3RDb3B5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGUiPnhtbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlTlMiPnhtbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZU5TPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyQnVpbGROb2RlTGlzdCI+eG1sWFB0ckJ1aWxkTm9kZUxpc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJMb2NhdGlvblNldEFkZCI+eG1sWFB0ckxvY2F0aW9uU2V0QWRkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyTG9jYXRpb25TZXRDcmVhdGUiPnhtbFhQdHJMb2NhdGlvblNldENyZWF0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ckxvY2F0aW9uU2V0RGVsIj54bWxYUHRyTG9jYXRpb25TZXREZWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJOZXdSYW5nZU5vZGVPYmplY3QiPnhtbFhQdHJOZXdSYW5nZU5vZGVPYmplY3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJOZXdSYW5nZU5vZGVQb2ludCI+eG1sWFB0ck5ld1JhbmdlTm9kZVBvaW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyTmV3UmFuZ2VQb2ludE5vZGUiPnhtbFhQdHJOZXdSYW5nZVBvaW50Tm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ck5ld1JhbmdlUG9pbnRzIj54bWxYUHRyTmV3UmFuZ2VQb2ludHM8L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN2YWx1ZVBvcCI+dmFsdWVQb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3ZhbHVlUHVzaCI+dmFsdWVQdXNoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEFkZFZhbHVlcyI+eG1sWFBhdGhBZGRWYWx1ZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQXhpc0Z1bmMiPnhtbFhQYXRoQXhpc0Z1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoQm9vbGVhbkZ1bmN0aW9uIj54bWxYUGF0aEJvb2xlYW5GdW5jdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhDZWlsaW5nRnVuY3Rpb24iPnhtbFhQYXRoQ2VpbGluZ0Z1bmN0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aENvbXBhcmVWYWx1ZXMiPnhtbFhQYXRoQ29tcGFyZVZhbHVlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhDb25jYXRGdW5jdGlvbiI+eG1sWFBhdGhDb25jYXRGdW5jdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhDb250YWluc0Z1bmN0aW9uIj54bWxYUGF0aENvbnRhaW5zRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoQ291bnRGdW5jdGlvbiI+eG1sWFBhdGhDb3VudEZ1bmN0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aERpdlZhbHVlcyI+eG1sWFBhdGhEaXZWYWx1ZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRXF1YWxWYWx1ZXMiPnhtbFhQYXRoRXF1YWxWYWx1ZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRXJyIj54bWxYUGF0aEVycjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhFdmFsRXhwciI+eG1sWFBhdGhFdmFsRXhwcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhFdmFsRnVuYyI+eG1sWFBhdGhFdmFsRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhFdmFsdWF0ZVByZWRpY2F0ZVJlc3VsdCI+eG1sWFBhdGhFdmFsdWF0ZVByZWRpY2F0ZVJlc3VsdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhGYWxzZUZ1bmN0aW9uIj54bWxYUGF0aEZhbHNlRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRmxvb3JGdW5jdGlvbiI+eG1sWFBhdGhGbG9vckZ1bmN0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEZyZWVQYXJzZXJDb250ZXh0Ij54bWxYUGF0aEZyZWVQYXJzZXJDb250ZXh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aEZ1bmN0aW9uIj54bWxYUGF0aEZ1bmN0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aElkRnVuY3Rpb24iPnhtbFhQYXRoSWRGdW5jdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhMYW5nRnVuY3Rpb24iPnhtbFhQYXRoTGFuZ0Z1bmN0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aExhc3RGdW5jdGlvbiI+eG1sWFBhdGhMYXN0RnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTG9jYWxOYW1lRnVuY3Rpb24iPnhtbFhQYXRoTG9jYWxOYW1lRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTW9kVmFsdWVzIj54bWxYUGF0aE1vZFZhbHVlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhNdWx0VmFsdWVzIj54bWxYUGF0aE11bHRWYWx1ZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmFtZXNwYWNlVVJJRnVuY3Rpb24iPnhtbFhQYXRoTmFtZXNwYWNlVVJJRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV4dEFuY2VzdG9yIj54bWxYUGF0aE5leHRBbmNlc3RvcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXh0QW5jZXN0b3JPclNlbGYiPnhtbFhQYXRoTmV4dEFuY2VzdG9yT3JTZWxmPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHRBdHRyaWJ1dGUiPnhtbFhQYXRoTmV4dEF0dHJpYnV0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXh0Q2hpbGQiPnhtbFhQYXRoTmV4dENoaWxkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHREZXNjZW5kYW50Ij54bWxYUGF0aE5leHREZXNjZW5kYW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHREZXNjZW5kYW50T3JTZWxmIj54bWxYUGF0aE5leHREZXNjZW5kYW50T3JTZWxmPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHRGb2xsb3dpbmciPnhtbFhQYXRoTmV4dEZvbGxvd2luZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXh0Rm9sbG93aW5nU2libGluZyI+eG1sWFBhdGhOZXh0Rm9sbG93aW5nU2libGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXh0TmFtZXNwYWNlIj54bWxYUGF0aE5leHROYW1lc3BhY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV4dFBhcmVudCI+eG1sWFBhdGhOZXh0UGFyZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHRQcmVjZWRpbmciPnhtbFhQYXRoTmV4dFByZWNlZGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXh0UHJlY2VkaW5nU2libGluZyI+eG1sWFBhdGhOZXh0UHJlY2VkaW5nU2libGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXh0U2VsZiI+eG1sWFBhdGhOZXh0U2VsZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb3JtYWxpemVGdW5jdGlvbiI+eG1sWFBhdGhOb3JtYWxpemVGdW5jdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb3RFcXVhbFZhbHVlcyI+eG1sWFBhdGhOb3RFcXVhbFZhbHVlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb3RGdW5jdGlvbiI+eG1sWFBhdGhOb3RGdW5jdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOdW1iZXJGdW5jdGlvbiI+eG1sWFBhdGhOdW1iZXJGdW5jdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhQYXJzZU5DTmFtZSI+eG1sWFBhdGhQYXJzZU5DTmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhQYXJzZU5hbWUiPnhtbFhQYXRoUGFyc2VOYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFBvcEJvb2xlYW4iPnhtbFhQYXRoUG9wQm9vbGVhbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhQb3BFeHRlcm5hbCI+eG1sWFBhdGhQb3BFeHRlcm5hbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhQb3BOb2RlU2V0Ij54bWxYUGF0aFBvcE5vZGVTZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUG9wTnVtYmVyIj54bWxYUGF0aFBvcE51bWJlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhQb3BTdHJpbmciPnhtbFhQYXRoUG9wU3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFBvc2l0aW9uRnVuY3Rpb24iPnhtbFhQYXRoUG9zaXRpb25GdW5jdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhSb290Ij54bWxYUGF0aFJvb3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUm91bmRGdW5jdGlvbiI+eG1sWFBhdGhSb3VuZEZ1bmN0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFN0YXJ0c1dpdGhGdW5jdGlvbiI+eG1sWFBhdGhTdGFydHNXaXRoRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU3RyaW5nRnVuY3Rpb24iPnhtbFhQYXRoU3RyaW5nRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU3RyaW5nTGVuZ3RoRnVuY3Rpb24iPnhtbFhQYXRoU3RyaW5nTGVuZ3RoRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU3ViVmFsdWVzIj54bWxYUGF0aFN1YlZhbHVlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdWJzdHJpbmdBZnRlckZ1bmN0aW9uIj54bWxYUGF0aFN1YnN0cmluZ0FmdGVyRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU3Vic3RyaW5nQmVmb3JlRnVuY3Rpb24iPnhtbFhQYXRoU3Vic3RyaW5nQmVmb3JlRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU3Vic3RyaW5nRnVuY3Rpb24iPnhtbFhQYXRoU3Vic3RyaW5nRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU3VtRnVuY3Rpb24iPnhtbFhQYXRoU3VtRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoVHJhbnNsYXRlRnVuY3Rpb24iPnhtbFhQYXRoVHJhbnNsYXRlRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoVHJ1ZUZ1bmN0aW9uIj54bWxYUGF0aFRydWVGdW5jdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhWYWx1ZUZsaXBTaWduIj54bWxYUGF0aFZhbHVlRmxpcFNpZ248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoZXJyb3IiPnhtbFhQYXRoZXJyb3I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJFdmFsUmFuZ2VQcmVkaWNhdGUiPnhtbFhQdHJFdmFsUmFuZ2VQcmVkaWNhdGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJSYW5nZVRvRnVuY3Rpb24iPnhtbFhQdHJSYW5nZVRvRnVuY3Rpb248L2E+PGJyIC8+Cis8L3A+PGgyPlR5cGUgeG1sWFBhdGhWYXJpYWJsZUxvb2t1cEZ1bmM6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZUxvb2t1cCI+eG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlTG9va3VwPC9hPjxiciAvPgorPC9wPjxwPjxhIGhyZWY9ImJ1Z3MuaHRtbCI+RGFuaWVsIFZlaWxsYXJkPC9hPjwvcD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvQVBJc3ltYm9scy5odG1sIGIvbGlieG1sMi9kb2MvQVBJc3ltYm9scy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMyYjgyZTcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9BUElzeW1ib2xzLmh0bWwKQEAgLTAsMCArMSwzNTg2IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPgorPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPjxoZWFkPjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPjxsaW5rIHJlbD0iU0hPUlRDVVQgSUNPTiIgaHJlZj0iL2Zhdmljb24uaWNvIiAvPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CitURCB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorQk9EWSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhOyBtYXJnaW4tdG9wOiAyZW07IG1hcmdpbi1sZWZ0OiAwZW07IG1hcmdpbi1yaWdodDogMGVtfQorSDEge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gyIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMyB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorQTpsaW5rLCBBOnZpc2l0ZWQsIEE6YWN0aXZlIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgfQorPC9zdHlsZT48dGl0bGU+QWxwaGFiZXRpYyBMaXN0IG9mIFN5bWJvbHMgaW4gbGlieG1sMjwvdGl0bGU+PC9oZWFkPjxib2R5IGJnY29sb3I9IiM4Yjc3NjUiIHRleHQ9IiMwMDAwMDAiIGxpbms9IiNhMDYwNjAiIHZsaW5rPSIjMDAwMDAwIj48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iMTAwJSIgY2VsbHBhZGRpbmc9IjUiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIHdpZHRoPSIxMjAiPjxhIGhyZWY9Imh0dHA6Ly9zd3BhdC5mZmlpLm9yZy8iPjxpbWcgc3JjPSJlcGF0ZW50cy5wbmciIGFsdD0iQWN0aW9uIGFnYWluc3Qgc29mdHdhcmUgcGF0ZW50cyIgLz48L2E+PC90ZD48dGQgd2lkdGg9IjE4MCI+PGEgaHJlZj0iaHR0cDovL3d3dy5nbm9tZS5vcmcvIj48aW1nIHNyYz0iZ25vbWUyLnBuZyIgYWx0PSJHbm9tZTIgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvU3RhdHVzIj48aW1nIHNyYz0idzNjLnBuZyIgYWx0PSJXM0MgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy5yZWRoYXQuY29tLyI+PGltZyBzcmM9InJlZGhhdC5naWYiIGFsdD0iUmVkIEhhdCBMb2dvIiAvPjwvYT48ZGl2IGFsaWduPSJsZWZ0Ij48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvIj48aW1nIHNyYz0iTGlieG1sMi1Mb2dvLTE4MHgxNjguZ2lmIiBhbHQ9Ik1hZGUgd2l0aCBMaWJ4bWwyIExvZ28iIC8+PC9hPjwvZGl2PjwvdGQ+PHRkPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSI5MCUiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIiBiZ2NvbG9yPSIjZmZmYWNkIj48dHI+PHRkIGFsaWduPSJjZW50ZXIiPjxoMT5UaGUgWE1MIEMgcGFyc2VyIGFuZCB0b29sa2l0IG9mIEdub21lPC9oMT48aDI+QWxwaGFiZXRpYyBMaXN0IG9mIFN5bWJvbHMgaW4gbGlieG1sMjwvaDI+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjQiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiIHdpZHRoPSIxMDAlIj48dHI+PHRkIHZhbGlnbj0idG9wIiB3aWR0aD0iMjAwIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5EZXZlbG9wZXIgTWVudTwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48Zm9ybSBhY3Rpb249InNlYXJjaC5waHAiIGVuY3R5cGU9ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIgbWV0aG9kPSJnZXQiPjxpbnB1dCBuYW1lPSJxdWVyeSIgdHlwZT0idGV4dCIgc2l6ZT0iMjAiIHZhbHVlPSIiIC8+PGlucHV0IG5hbWU9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU2VhcmNoIC4uLiIgLz48L2Zvcm0+PHVsPjxsaT48YSBocmVmPSJpbmRleC5odG1sIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+TWFpbiBNZW51PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0bWwvaW5kZXguaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPlJlZmVyZW5jZSBNYW51YWw8L2E+PC9saT48bGk+PGEgaHJlZj0iZXhhbXBsZXMvaW5kZXguaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPkNvZGUgRXhhbXBsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iZ3VpZGVsaW5lcy5odG1sIj5YTUwgR3VpZGVsaW5lczwvYT48L2xpPjxsaT48YSBocmVmPSJ0dXRvcmlhbC9pbmRleC5odG1sIj5UdXRvcmlhbDwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWxyZWFkZXIuaHRtbCI+VGhlIFJlYWRlciBJbnRlcmZhY2U8L2E+PC9saT48bGk+PGEgaHJlZj0iQ2hhbmdlTG9nLmh0bWwiPkNoYW5nZUxvZzwvYT48L2xpPjxsaT48YSBocmVmPSJYU0xULmh0bWwiPlhTTFQ8L2E+PC9saT48bGk+PGEgaHJlZj0icHl0aG9uLmh0bWwiPlB5dGhvbiBhbmQgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iYXJjaGl0ZWN0dXJlLmh0bWwiPmxpYnhtbDIgYXJjaGl0ZWN0dXJlPC9hPjwvbGk+PGxpPjxhIGhyZWY9InRyZWUuaHRtbCI+VGhlIHRyZWUgb3V0cHV0PC9hPjwvbGk+PGxpPjxhIGhyZWY9ImludGVyZmFjZS5odG1sIj5UaGUgU0FYIGludGVyZmFjZTwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWxtZW0uaHRtbCI+TWVtb3J5IE1hbmFnZW1lbnQ8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1saW8uaHRtbCI+SS9PIEludGVyZmFjZXM8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlicmFyeS5odG1sIj5UaGUgcGFyc2VyIGludGVyZmFjZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iZW50aXRpZXMuaHRtbCI+RW50aXRpZXMgb3Igbm8gZW50aXRpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0ibmFtZXNwYWNlcy5odG1sIj5OYW1lc3BhY2VzPC9hPjwvbGk+PGxpPjxhIGhyZWY9InVwZ3JhZGUuaHRtbCI+VXBncmFkaW5nIDEueCBjb2RlPC9hPjwvbGk+PGxpPjxhIGhyZWY9InRocmVhZHMuaHRtbCI+VGhyZWFkIHNhZmV0eTwvYT48L2xpPjxsaT48YSBocmVmPSJET00uaHRtbCI+RE9NIFByaW5jaXBsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iZXhhbXBsZS5odG1sIj5BIHJlYWwgZXhhbXBsZTwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWwuaHRtbCI+ZmxhdCBwYWdlPC9hPiwgPGEgaHJlZj0ic2l0ZS54c2wiPnN0eWxlc2hlZXQ8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5BUEkgSW5kZXhlczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9IkFQSWNodW5rMC5odG1sIj5BbHBoYWJldGljPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkFQSWNvbnN0cnVjdG9ycy5odG1sIj5Db25zdHJ1Y3RvcnM8L2E+PC9saT48bGk+PGEgaHJlZj0iQVBJZnVuY3Rpb25zLmh0bWwiPkZ1bmN0aW9ucy9UeXBlczwvYT48L2xpPjxsaT48YSBocmVmPSJBUElmaWxlcy5odG1sIj5Nb2R1bGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkFQSXN5bWJvbHMuaHRtbCI+U3ltYm9sczwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPlJlbGF0ZWQgbGlua3M8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSJodHRwOi8vbWFpbC5nbm9tZS5vcmcvYXJjaGl2ZXMveG1sLyI+TWFpbCBhcmNoaXZlPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9YU0xULyI+WFNMVCBsaWJ4c2x0PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9waGQuY3MudW5pYm8uaXQvZ2RvbWUyLyI+RE9NIGdkb21lMjwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmFsZWtzZXkuY29tL3htbHNlYy8iPlhNTC1EU2lnIHhtbHNlYzwvYT48L2xpPjxsaT48YSBocmVmPSJmdHA6Ly94bWxzb2Z0Lm9yZy8iPkZUUDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnpsYXRrb3ZpYy5jb20vcHJvamVjdHMvbGlieG1sLyI+V2luZG93cyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vb3BlbmNzdy5vcmcvcGFja2FnZXMvbGlieG1sMiI+U29sYXJpcyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmV4cGxhaW4uY29tLmF1L29zcy9saWJ4bWwyeHNsdC5odG1sIj5NYWNPc1ggYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2x4bWwuZGUvIj5seG1sIFB5dGhvbiBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vY3Bhbi51d2lubmlwZWcuY2EvZGlzdC9YTUwtTGliWE1MIj5QZXJsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWxwbHVzcGx1cy5zb3VyY2Vmb3JnZS5uZXQvIj5DKysgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56ZW5kLmNvbS9waHA1L2FydGljbGVzL3BocDUteG1scGhwLnBocCNIZWFkaW5nNCI+UEhQIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbGlieG1sMi1wYXMvIj5QYXNjYWwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbC5ydWJ5Zm9yZ2Uub3JnLyI+UnVieSBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vdGNseG1sLnNvdXJjZWZvcmdlLm5ldC8iPlRjbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2J1Z2xpc3QuY2dpP3Byb2R1Y3Q9bGlieG1sMiI+QnVnIFRyYWNrZXI8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48aDI+TGV0dGVyIEE6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjQVRUUklCVVRFX1VOVVNFRCI+QVRUUklCVVRFX1VOVVNFRDwvYT48YnIgLz4KKzwvcD48aDI+TGV0dGVyIEI6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCNCQURfQ0FTVCI+QkFEX0NBU1Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjQkFTRV9CVUZGRVJfU0laRSI+QkFTRV9CVUZGRVJfU0laRTwvYT48YnIgLz4KKzwvcD48aDI+TGV0dGVyIEM6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI0NBU1RfVE9fQk9PTEVBTiI+Q0FTVF9UT19CT09MRUFOPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCNDQVNUX1RPX05VTUJFUiI+Q0FTVF9UT19OVU1CRVI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI0NBU1RfVE9fU1RSSU5HIj5DQVNUX1RPX1NUUklORzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjQ0hFQ0tfQVJJVFkiPkNIRUNLX0FSSVRZPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCNDSEVDS19FUlJPUiI+Q0hFQ0tfRVJST1I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI0NIRUNLX0VSUk9SMCI+Q0hFQ0tfRVJST1IwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCNDSEVDS19UWVBFIj5DSEVDS19UWVBFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCNDSEVDS19UWVBFMCI+Q0hFQ0tfVFlQRTA8L2E+PGJyIC8+Cis8L3A+PGgyPkxldHRlciBEOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjREVCVUdfTUVNT1JZIj5ERUJVR19NRU1PUlk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjREVCVUdfTUVNT1JZX0xPQ0FUSU9OIj5ERUJVR19NRU1PUllfTE9DQVRJT048L2E+PGJyIC8+Cis8L3A+PGgyPkxldHRlciBIOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNIVE1MX0NPTU1FTlRfTk9ERSI+SFRNTF9DT01NRU5UX05PREU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjSFRNTF9ERVBSRUNBVEVEIj5IVE1MX0RFUFJFQ0FURUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI0hUTUxfRU5USVRZX1JFRl9OT0RFIj5IVE1MX0VOVElUWV9SRUZfTk9ERTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNIVE1MX0lOVkFMSUQiPkhUTUxfSU5WQUxJRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNIVE1MX05BIj5IVE1MX05BPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI0hUTUxfUEFSU0VfQ09NUEFDVCI+SFRNTF9QQVJTRV9DT01QQUNUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI0hUTUxfUEFSU0VfSUdOT1JFX0VOQyI+SFRNTF9QQVJTRV9JR05PUkVfRU5DPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI0hUTUxfUEFSU0VfTk9CTEFOS1MiPkhUTUxfUEFSU0VfTk9CTEFOS1M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjSFRNTF9QQVJTRV9OT0RFRkRURCI+SFRNTF9QQVJTRV9OT0RFRkRURDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNIVE1MX1BBUlNFX05PRVJST1IiPkhUTUxfUEFSU0VfTk9FUlJPUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNIVE1MX1BBUlNFX05PSU1QTElFRCI+SFRNTF9QQVJTRV9OT0lNUExJRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjSFRNTF9QQVJTRV9OT05FVCI+SFRNTF9QQVJTRV9OT05FVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNIVE1MX1BBUlNFX05PV0FSTklORyI+SFRNTF9QQVJTRV9OT1dBUk5JTkc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjSFRNTF9QQVJTRV9QRURBTlRJQyI+SFRNTF9QQVJTRV9QRURBTlRJQzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNIVE1MX1BBUlNFX1JFQ09WRVIiPkhUTUxfUEFSU0VfUkVDT1ZFUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwjSFRNTF9QSV9OT0RFIj5IVE1MX1BJX05PREU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI0hUTUxfUFJFU0VSVkVfTk9ERSI+SFRNTF9QUkVTRVJWRV9OT0RFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI0hUTUxfUkVRVUlSRUQiPkhUTUxfUkVRVUlSRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI0hUTUxfVEVYVF9OT0RFIj5IVE1MX1RFWFRfTk9ERTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNIVE1MX1ZBTElEIj5IVE1MX1ZBTElEPC9hPjxiciAvPgorPC9wPjxoMj5MZXR0ZXIgSTo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lOUFVUX0NIVU5LIj5JTlBVVF9DSFVOSzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCNJTlZBTElEX1NPQ0tFVCI+SU5WQUxJRF9TT0NLRVQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNJU19BU0NJSV9ESUdJVCI+SVNfQVNDSUlfRElHSVQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNJU19BU0NJSV9MRVRURVIiPklTX0FTQ0lJX0xFVFRFUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTX0JBU0VDSEFSIj5JU19CQVNFQ0hBUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTX0JMQU5LIj5JU19CTEFOSzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTX0JMQU5LX0NIIj5JU19CTEFOS19DSDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTX0JZVEVfQ0hBUiI+SVNfQllURV9DSEFSPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjSVNfQ0hBUiI+SVNfQ0hBUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTX0NIQVJfQ0giPklTX0NIQVJfQ0g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNJU19DT01CSU5JTkciPklTX0NPTUJJTklORzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTX0NPTUJJTklOR19DSCI+SVNfQ09NQklOSU5HX0NIPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjSVNfRElHSVQiPklTX0RJR0lUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjSVNfRElHSVRfQ0giPklTX0RJR0lUX0NIPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjSVNfRVhURU5ERVIiPklTX0VYVEVOREVSPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjSVNfRVhURU5ERVJfQ0giPklTX0VYVEVOREVSX0NIPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjSVNfSURFT0dSQVBISUMiPklTX0lERU9HUkFQSElDPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjSVNfTEVUVEVSIj5JU19MRVRURVI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNJU19MRVRURVJfQ0giPklTX0xFVFRFUl9DSDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTX1BVQklEQ0hBUiI+SVNfUFVCSURDSEFSPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjSVNfUFVCSURDSEFSX0NIIj5JU19QVUJJRENIQVJfQ0g8L2E+PGJyIC8+Cis8L3A+PGgyPkxldHRlciBMOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI0xJQlhNTDJfTkVXX0JVRkZFUiI+TElCWE1MMl9ORVdfQlVGRkVSPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9BVFRSX0FMTE9DX1NJWkUiPkxJQlhNTF9BVFRSX0FMTE9DX1NJWkU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX0FUVFJfRk9STUFUIj5MSUJYTUxfQVRUUl9GT1JNQVQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX0FVVE9NQVRBX0VOQUJMRUQiPkxJQlhNTF9BVVRPTUFUQV9FTkFCTEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9DMTROX0VOQUJMRUQiPkxJQlhNTF9DMTROX0VOQUJMRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX0NBVEFMT0dfRU5BQkxFRCI+TElCWE1MX0NBVEFMT0dfRU5BQkxFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfREVCVUdfRU5BQkxFRCI+TElCWE1MX0RFQlVHX0VOQUJMRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX0RFQlVHX1JVTlRJTUUiPkxJQlhNTF9ERUJVR19SVU5USU1FPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXhwb3J0cy5odG1sI0xJQlhNTF9ETExfSU1QT1JUIj5MSUJYTUxfRExMX0lNUE9SVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfRE9DQl9FTkFCTEVEIj5MSUJYTUxfRE9DQl9FTkFCTEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9ET1RURURfVkVSU0lPTiI+TElCWE1MX0RPVFRFRF9WRVJTSU9OPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9FWFBSX0VOQUJMRUQiPkxJQlhNTF9FWFBSX0VOQUJMRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX0ZUUF9FTkFCTEVEIj5MSUJYTUxfRlRQX0VOQUJMRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX0hUTUxfRU5BQkxFRCI+TElCWE1MX0hUTUxfRU5BQkxFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfSFRUUF9FTkFCTEVEIj5MSUJYTUxfSFRUUF9FTkFCTEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9JQ09OVl9FTkFCTEVEIj5MSUJYTUxfSUNPTlZfRU5BQkxFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfSUNVX0VOQUJMRUQiPkxJQlhNTF9JQ1VfRU5BQkxFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfSVNPODg1OVhfRU5BQkxFRCI+TElCWE1MX0lTTzg4NTlYX0VOQUJMRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX0xFR0FDWV9FTkFCTEVEIj5MSUJYTUxfTEVHQUNZX0VOQUJMRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX0xaTUFfRU5BQkxFRCI+TElCWE1MX0xaTUFfRU5BQkxFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfTU9EVUxFU19FTkFCTEVEIj5MSUJYTUxfTU9EVUxFU19FTkFCTEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9NT0RVTEVfRVhURU5TSU9OIj5MSUJYTUxfTU9EVUxFX0VYVEVOU0lPTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfT1VUUFVUX0VOQUJMRUQiPkxJQlhNTF9PVVRQVVRfRU5BQkxFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfUEFUVEVSTl9FTkFCTEVEIj5MSUJYTUxfUEFUVEVSTl9FTkFCTEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9QVVNIX0VOQUJMRUQiPkxJQlhNTF9QVVNIX0VOQUJMRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX1JFQURFUl9FTkFCTEVEIj5MSUJYTUxfUkVBREVSX0VOQUJMRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX1JFR0VYUF9FTkFCTEVEIj5MSUJYTUxfUkVHRVhQX0VOQUJMRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX1NBWDFfRU5BQkxFRCI+TElCWE1MX1NBWDFfRU5BQkxFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfU0NIRU1BU19FTkFCTEVEIj5MSUJYTUxfU0NIRU1BU19FTkFCTEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9TQ0hFTUFUUk9OX0VOQUJMRUQiPkxJQlhNTF9TQ0hFTUFUUk9OX0VOQUJMRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX1RFU1RfVkVSU0lPTiI+TElCWE1MX1RFU1RfVkVSU0lPTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfVEhSRUFEX0FMTE9DX0VOQUJMRUQiPkxJQlhNTF9USFJFQURfQUxMT0NfRU5BQkxFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfVEhSRUFEX0VOQUJMRUQiPkxJQlhNTF9USFJFQURfRU5BQkxFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfVFJFRV9FTkFCTEVEIj5MSUJYTUxfVFJFRV9FTkFCTEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9VTklDT0RFX0VOQUJMRUQiPkxJQlhNTF9VTklDT0RFX0VOQUJMRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX1ZBTElEX0VOQUJMRUQiPkxJQlhNTF9WQUxJRF9FTkFCTEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9WRVJTSU9OIj5MSUJYTUxfVkVSU0lPTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfVkVSU0lPTl9FWFRSQSI+TElCWE1MX1ZFUlNJT05fRVhUUkE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX1ZFUlNJT05fU1RSSU5HIj5MSUJYTUxfVkVSU0lPTl9TVFJJTkc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX1dSSVRFUl9FTkFCTEVEIj5MSUJYTUxfV1JJVEVSX0VOQUJMRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX1hJTkNMVURFX0VOQUJMRUQiPkxJQlhNTF9YSU5DTFVERV9FTkFCTEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9YUEFUSF9FTkFCTEVEIj5MSUJYTUxfWFBBVEhfRU5BQkxFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfWFBUUl9FTkFCTEVEIj5MSUJYTUxfWFBUUl9FTkFCTEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9aTElCX0VOQUJMRUQiPkxJQlhNTF9aTElCX0VOQUJMRUQ8L2E+PGJyIC8+Cis8L3A+PGgyPkxldHRlciBNOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjTU9WRVRPX0VORFRBRyI+TU9WRVRPX0VORFRBRzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI01PVkVUT19TVEFSVFRBRyI+TU9WRVRPX1NUQVJUVEFHPC9hPjxiciAvPgorPC9wPjxoMj5MZXR0ZXIgUzo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI1NLSVBfRU9MIj5TS0lQX0VPTDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCNTT0NLRVQiPlNPQ0tFVDwvYT48YnIgLz4KKzwvcD48aDI+TGV0dGVyIFU6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjVVRGOFRvSHRtbCI+VVRGOFRvSHRtbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjVVRGOFRvaXNvbGF0MSI+VVRGOFRvaXNvbGF0MTwvYT48YnIgLz4KKzwvcD48aDI+TGV0dGVyIFc6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjV0lUSE9VVF9UUklPIj5XSVRIT1VUX1RSSU88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjV0lUSF9UUklPIj5XSVRIX1RSSU88L2E+PGJyIC8+Cis8L3A+PGgyPkxldHRlciBYOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwteGluY2x1ZGUuaHRtbCNYSU5DTFVERV9GQUxMQkFDSyI+WElOQ0xVREVfRkFMTEJBQ0s8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14aW5jbHVkZS5odG1sI1hJTkNMVURFX0hSRUYiPlhJTkNMVURFX0hSRUY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14aW5jbHVkZS5odG1sI1hJTkNMVURFX05PREUiPlhJTkNMVURFX05PREU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14aW5jbHVkZS5odG1sI1hJTkNMVURFX05TIj5YSU5DTFVERV9OUzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhpbmNsdWRlLmh0bWwjWElOQ0xVREVfT0xEX05TIj5YSU5DTFVERV9PTERfTlM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14aW5jbHVkZS5odG1sI1hJTkNMVURFX1BBUlNFIj5YSU5DTFVERV9QQVJTRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhpbmNsdWRlLmh0bWwjWElOQ0xVREVfUEFSU0VfRU5DT0RJTkciPlhJTkNMVURFX1BBUlNFX0VOQ09ESU5HPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGluY2x1ZGUuaHRtbCNYSU5DTFVERV9QQVJTRV9URVhUIj5YSU5DTFVERV9QQVJTRV9URVhUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGluY2x1ZGUuaHRtbCNYSU5DTFVERV9QQVJTRV9YTUwiPlhJTkNMVURFX1BBUlNFX1hNTDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhpbmNsdWRlLmh0bWwjWElOQ0xVREVfUEFSU0VfWFBPSU5URVIiPlhJTkNMVURFX1BBUlNFX1hQT0lOVEVSPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGxpbmsuaHRtbCNYTElOS19BQ1RVQVRFX0FVVE8iPlhMSU5LX0FDVFVBVEVfQVVUTzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhsaW5rLmh0bWwjWExJTktfQUNUVUFURV9OT05FIj5YTElOS19BQ1RVQVRFX05PTkU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bGluay5odG1sI1hMSU5LX0FDVFVBVEVfT05SRVFVRVNUIj5YTElOS19BQ1RVQVRFX09OUkVRVUVTVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhsaW5rLmh0bWwjWExJTktfU0hPV19FTUJFRCI+WExJTktfU0hPV19FTUJFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhsaW5rLmh0bWwjWExJTktfU0hPV19ORVciPlhMSU5LX1NIT1dfTkVXPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGxpbmsuaHRtbCNYTElOS19TSE9XX05PTkUiPlhMSU5LX1NIT1dfTk9ORTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhsaW5rLmh0bWwjWExJTktfU0hPV19SRVBMQUNFIj5YTElOS19TSE9XX1JFUExBQ0U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bGluay5odG1sI1hMSU5LX1RZUEVfRVhURU5ERUQiPlhMSU5LX1RZUEVfRVhURU5ERUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bGluay5odG1sI1hMSU5LX1RZUEVfRVhURU5ERURfU0VUIj5YTElOS19UWVBFX0VYVEVOREVEX1NFVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhsaW5rLmh0bWwjWExJTktfVFlQRV9OT05FIj5YTElOS19UWVBFX05PTkU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bGluay5odG1sI1hMSU5LX1RZUEVfU0lNUExFIj5YTElOS19UWVBFX1NJTVBMRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGV4cG9ydHMuaHRtbCNYTUxDQUxMIj5YTUxDQUxMPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXhwb3J0cy5odG1sI1hNTENERUNMIj5YTUxDREVDTDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGV4cG9ydHMuaHRtbCNYTUxQVUJGVU4iPlhNTFBVQkZVTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGV4cG9ydHMuaHRtbCNYTUxQVUJWQVIiPlhNTFBVQlZBUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNYTUxfQVRUUklCVVRFX0NEQVRBIj5YTUxfQVRUUklCVVRFX0NEQVRBPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9BVFRSSUJVVEVfREVDTCI+WE1MX0FUVFJJQlVURV9ERUNMPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9BVFRSSUJVVEVfRU5USVRJRVMiPlhNTF9BVFRSSUJVVEVfRU5USVRJRVM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0FUVFJJQlVURV9FTlRJVFkiPlhNTF9BVFRSSUJVVEVfRU5USVRZPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9BVFRSSUJVVEVfRU5VTUVSQVRJT04iPlhNTF9BVFRSSUJVVEVfRU5VTUVSQVRJT048L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0FUVFJJQlVURV9GSVhFRCI+WE1MX0FUVFJJQlVURV9GSVhFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNYTUxfQVRUUklCVVRFX0lEIj5YTUxfQVRUUklCVVRFX0lEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9BVFRSSUJVVEVfSURSRUYiPlhNTF9BVFRSSUJVVEVfSURSRUY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0FUVFJJQlVURV9JRFJFRlMiPlhNTF9BVFRSSUJVVEVfSURSRUZTPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9BVFRSSUJVVEVfSU1QTElFRCI+WE1MX0FUVFJJQlVURV9JTVBMSUVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9BVFRSSUJVVEVfTk1UT0tFTiI+WE1MX0FUVFJJQlVURV9OTVRPS0VOPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9BVFRSSUJVVEVfTk1UT0tFTlMiPlhNTF9BVFRSSUJVVEVfTk1UT0tFTlM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0FUVFJJQlVURV9OT0RFIj5YTUxfQVRUUklCVVRFX05PREU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0FUVFJJQlVURV9OT05FIj5YTUxfQVRUUklCVVRFX05PTkU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0FUVFJJQlVURV9OT1RBVElPTiI+WE1MX0FUVFJJQlVURV9OT1RBVElPTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNYTUxfQVRUUklCVVRFX1JFUVVJUkVEIj5YTUxfQVRUUklCVVRFX1JFUVVJUkVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9CVUZGRVJfQUxMT0NfRE9VQkxFSVQiPlhNTF9CVUZGRVJfQUxMT0NfRE9VQkxFSVQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0JVRkZFUl9BTExPQ19FWEFDVCI+WE1MX0JVRkZFUl9BTExPQ19FWEFDVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNYTUxfQlVGRkVSX0FMTE9DX0hZQlJJRCI+WE1MX0JVRkZFUl9BTExPQ19IWUJSSUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0JVRkZFUl9BTExPQ19JTU1VVEFCTEUiPlhNTF9CVUZGRVJfQUxMT0NfSU1NVVRBQkxFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9CVUZGRVJfQUxMT0NfSU8iPlhNTF9CVUZGRVJfQUxMT0NfSU88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9CVUZfT1ZFUkZMT1ciPlhNTF9CVUZfT1ZFUkZMT1c8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jMTRuLmh0bWwjWE1MX0MxNE5fMV8wIj5YTUxfQzE0Tl8xXzA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jMTRuLmh0bWwjWE1MX0MxNE5fMV8xIj5YTUxfQzE0Tl8xXzE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9DMTROX0NSRUFURV9DVFhUIj5YTUxfQzE0Tl9DUkVBVEVfQ1RYVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0MxNE5fQ1JFQVRFX1NUQUNLIj5YTUxfQzE0Tl9DUkVBVEVfU1RBQ0s8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jMTRuLmh0bWwjWE1MX0MxNE5fRVhDTFVTSVZFXzFfMCI+WE1MX0MxNE5fRVhDTFVTSVZFXzFfMDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0MxNE5fSU5WQUxJRF9OT0RFIj5YTUxfQzE0Tl9JTlZBTElEX05PREU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9DMTROX1JFTEFUSVZFX05BTUVTUEFDRSI+WE1MX0MxNE5fUkVMQVRJVkVfTkFNRVNQQUNFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfQzE0Tl9SRVFVSVJFU19VVEY4Ij5YTUxfQzE0Tl9SRVFVSVJFU19VVEY4PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfQzE0Tl9VTktOT1dfTk9ERSI+WE1MX0MxNE5fVU5LTk9XX05PREU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjWE1MX0NBU1RfRlBUUiI+WE1MX0NBU1RfRlBUUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCNYTUxfQ0FUQUxPR1NfTkFNRVNQQUNFIj5YTUxfQ0FUQUxPR1NfTkFNRVNQQUNFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfQ0FUQUxPR19FTlRSWV9CUk9LRU4iPlhNTF9DQVRBTE9HX0VOVFJZX0JST0tFTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0NBVEFMT0dfTUlTU0lOR19BVFRSIj5YTUxfQ0FUQUxPR19NSVNTSU5HX0FUVFI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9DQVRBTE9HX05PVF9DQVRBTE9HIj5YTUxfQ0FUQUxPR19OT1RfQ0FUQUxPRzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCNYTUxfQ0FUQUxPR19QSSI+WE1MX0NBVEFMT0dfUEk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9DQVRBTE9HX1BSRUZFUl9WQUxVRSI+WE1MX0NBVEFMT0dfUFJFRkVSX1ZBTFVFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfQ0FUQUxPR19SRUNVUlNJT04iPlhNTF9DQVRBTE9HX1JFQ1VSU0lPTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCNYTUxfQ0FUQV9BTExPV19BTEwiPlhNTF9DQVRBX0FMTE9XX0FMTDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCNYTUxfQ0FUQV9BTExPV19ET0NVTUVOVCI+WE1MX0NBVEFfQUxMT1dfRE9DVU1FTlQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjWE1MX0NBVEFfQUxMT1dfR0xPQkFMIj5YTUxfQ0FUQV9BTExPV19HTE9CQUw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjWE1MX0NBVEFfQUxMT1dfTk9ORSI+WE1MX0NBVEFfQUxMT1dfTk9ORTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCNYTUxfQ0FUQV9QUkVGRVJfTk9ORSI+WE1MX0NBVEFfUFJFRkVSX05PTkU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjWE1MX0NBVEFfUFJFRkVSX1BVQkxJQyI+WE1MX0NBVEFfUFJFRkVSX1BVQkxJQzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCNYTUxfQ0FUQV9QUkVGRVJfU1lTVEVNIj5YTUxfQ0FUQV9QUkVGRVJfU1lTVEVNPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9DREFUQV9TRUNUSU9OX05PREUiPlhNTF9DREFUQV9TRUNUSU9OX05PREU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI1hNTF9DSEFSX0VOQ09ESU5HXzIwMjJfSlAiPlhNTF9DSEFSX0VOQ09ESU5HXzIwMjJfSlA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI1hNTF9DSEFSX0VOQ09ESU5HXzg4NTlfMSI+WE1MX0NIQVJfRU5DT0RJTkdfODg1OV8xPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCNYTUxfQ0hBUl9FTkNPRElOR184ODU5XzIiPlhNTF9DSEFSX0VOQ09ESU5HXzg4NTlfMjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjWE1MX0NIQVJfRU5DT0RJTkdfODg1OV8zIj5YTUxfQ0hBUl9FTkNPRElOR184ODU5XzM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI1hNTF9DSEFSX0VOQ09ESU5HXzg4NTlfNCI+WE1MX0NIQVJfRU5DT0RJTkdfODg1OV80PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCNYTUxfQ0hBUl9FTkNPRElOR184ODU5XzUiPlhNTF9DSEFSX0VOQ09ESU5HXzg4NTlfNTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjWE1MX0NIQVJfRU5DT0RJTkdfODg1OV82Ij5YTUxfQ0hBUl9FTkNPRElOR184ODU5XzY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI1hNTF9DSEFSX0VOQ09ESU5HXzg4NTlfNyI+WE1MX0NIQVJfRU5DT0RJTkdfODg1OV83PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCNYTUxfQ0hBUl9FTkNPRElOR184ODU5XzgiPlhNTF9DSEFSX0VOQ09ESU5HXzg4NTlfODwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjWE1MX0NIQVJfRU5DT0RJTkdfODg1OV85Ij5YTUxfQ0hBUl9FTkNPRElOR184ODU5Xzk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI1hNTF9DSEFSX0VOQ09ESU5HX0FTQ0lJIj5YTUxfQ0hBUl9FTkNPRElOR19BU0NJSTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjWE1MX0NIQVJfRU5DT0RJTkdfRUJDRElDIj5YTUxfQ0hBUl9FTkNPRElOR19FQkNESUM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI1hNTF9DSEFSX0VOQ09ESU5HX0VSUk9SIj5YTUxfQ0hBUl9FTkNPRElOR19FUlJPUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjWE1MX0NIQVJfRU5DT0RJTkdfRVVDX0pQIj5YTUxfQ0hBUl9FTkNPRElOR19FVUNfSlA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI1hNTF9DSEFSX0VOQ09ESU5HX05PTkUiPlhNTF9DSEFSX0VOQ09ESU5HX05PTkU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI1hNTF9DSEFSX0VOQ09ESU5HX1NISUZUX0pJUyI+WE1MX0NIQVJfRU5DT0RJTkdfU0hJRlRfSklTPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCNYTUxfQ0hBUl9FTkNPRElOR19VQ1MyIj5YTUxfQ0hBUl9FTkNPRElOR19VQ1MyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCNYTUxfQ0hBUl9FTkNPRElOR19VQ1M0QkUiPlhNTF9DSEFSX0VOQ09ESU5HX1VDUzRCRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjWE1MX0NIQVJfRU5DT0RJTkdfVUNTNExFIj5YTUxfQ0hBUl9FTkNPRElOR19VQ1M0TEU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI1hNTF9DSEFSX0VOQ09ESU5HX1VDUzRfMjE0MyI+WE1MX0NIQVJfRU5DT0RJTkdfVUNTNF8yMTQzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCNYTUxfQ0hBUl9FTkNPRElOR19VQ1M0XzM0MTIiPlhNTF9DSEFSX0VOQ09ESU5HX1VDUzRfMzQxMjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjWE1MX0NIQVJfRU5DT0RJTkdfVVRGMTZCRSI+WE1MX0NIQVJfRU5DT0RJTkdfVVRGMTZCRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjWE1MX0NIQVJfRU5DT0RJTkdfVVRGMTZMRSI+WE1MX0NIQVJfRU5DT0RJTkdfVVRGMTZMRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjWE1MX0NIQVJfRU5DT0RJTkdfVVRGOCI+WE1MX0NIQVJfRU5DT0RJTkdfVVRGODwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0NIRUNLX0VOVElUWV9UWVBFIj5YTUxfQ0hFQ0tfRU5USVRZX1RZUEU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9DSEVDS19GT1VORF9BVFRSSUJVVEUiPlhNTF9DSEVDS19GT1VORF9BVFRSSUJVVEU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9DSEVDS19GT1VORF9DREFUQSI+WE1MX0NIRUNLX0ZPVU5EX0NEQVRBPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfQ0hFQ0tfRk9VTkRfQ09NTUVOVCI+WE1MX0NIRUNLX0ZPVU5EX0NPTU1FTlQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9DSEVDS19GT1VORF9ET0NUWVBFIj5YTUxfQ0hFQ0tfRk9VTkRfRE9DVFlQRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0NIRUNLX0ZPVU5EX0VMRU1FTlQiPlhNTF9DSEVDS19GT1VORF9FTEVNRU5UPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfQ0hFQ0tfRk9VTkRfRU5USVRZIj5YTUxfQ0hFQ0tfRk9VTkRfRU5USVRZPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfQ0hFQ0tfRk9VTkRfRU5USVRZUkVGIj5YTUxfQ0hFQ0tfRk9VTkRfRU5USVRZUkVGPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfQ0hFQ0tfRk9VTkRfRlJBR01FTlQiPlhNTF9DSEVDS19GT1VORF9GUkFHTUVOVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0NIRUNLX0ZPVU5EX05PVEFUSU9OIj5YTUxfQ0hFQ0tfRk9VTkRfTk9UQVRJT048L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9DSEVDS19GT1VORF9QSSI+WE1MX0NIRUNLX0ZPVU5EX1BJPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfQ0hFQ0tfRk9VTkRfVEVYVCI+WE1MX0NIRUNLX0ZPVU5EX1RFWFQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9DSEVDS19OQU1FX05PVF9OVUxMIj5YTUxfQ0hFQ0tfTkFNRV9OT1RfTlVMTDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0NIRUNLX05PVF9BVFRSIj5YTUxfQ0hFQ0tfTk9UX0FUVFI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9DSEVDS19OT1RfQVRUUl9ERUNMIj5YTUxfQ0hFQ0tfTk9UX0FUVFJfREVDTDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0NIRUNLX05PVF9EVEQiPlhNTF9DSEVDS19OT1RfRFREPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfQ0hFQ0tfTk9UX0VMRU1fREVDTCI+WE1MX0NIRUNLX05PVF9FTEVNX0RFQ0w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9DSEVDS19OT1RfRU5USVRZX0RFQ0wiPlhNTF9DSEVDS19OT1RfRU5USVRZX0RFQ0w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9DSEVDS19OT1RfTkNOQU1FIj5YTUxfQ0hFQ0tfTk9UX05DTkFNRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0NIRUNLX05PVF9OU19ERUNMIj5YTUxfQ0hFQ0tfTk9UX05TX0RFQ0w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9DSEVDS19OT1RfVVRGOCI+WE1MX0NIRUNLX05PVF9VVEY4PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfQ0hFQ0tfTk9fRElDVCI+WE1MX0NIRUNLX05PX0RJQ1Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9DSEVDS19OT19ET0MiPlhNTF9DSEVDS19OT19ET0M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9DSEVDS19OT19FTEVNIj5YTUxfQ0hFQ0tfTk9fRUxFTTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0NIRUNLX05PX0hSRUYiPlhNTF9DSEVDS19OT19IUkVGPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfQ0hFQ0tfTk9fTkFNRSI+WE1MX0NIRUNLX05PX05BTUU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9DSEVDS19OT19ORVhUIj5YTUxfQ0hFQ0tfTk9fTkVYVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0NIRUNLX05PX1BBUkVOVCI+WE1MX0NIRUNLX05PX1BBUkVOVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0NIRUNLX05PX1BSRVYiPlhNTF9DSEVDS19OT19QUkVWPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfQ0hFQ0tfTlNfQU5DRVNUT1IiPlhNTF9DSEVDS19OU19BTkNFU1RPUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0NIRUNLX05TX1NDT1BFIj5YTUxfQ0hFQ0tfTlNfU0NPUEU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9DSEVDS19PVVRTSURFX0RJQ1QiPlhNTF9DSEVDS19PVVRTSURFX0RJQ1Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9DSEVDS19VTktOT1dOX05PREUiPlhNTF9DSEVDS19VTktOT1dOX05PREU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9DSEVDS19XUk9OR19ET0MiPlhNTF9DSEVDS19XUk9OR19ET0M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9DSEVDS19XUk9OR19OQU1FIj5YTUxfQ0hFQ0tfV1JPTkdfTkFNRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0NIRUNLX1dST05HX05FWFQiPlhNTF9DSEVDS19XUk9OR19ORVhUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfQ0hFQ0tfV1JPTkdfUEFSRU5UIj5YTUxfQ0hFQ0tfV1JPTkdfUEFSRU5UPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfQ0hFQ0tfV1JPTkdfUFJFViI+WE1MX0NIRUNLX1dST05HX1BSRVY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0NPTU1FTlRfTk9ERSI+WE1MX0NPTU1FTlRfTk9ERTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9DT01QTEVURV9BVFRSUyI+WE1MX0NPTVBMRVRFX0FUVFJTPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCNYTUxfQ1RYVF9GSU5JU0hfRFREXzAiPlhNTF9DVFhUX0ZJTklTSF9EVERfMDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjWE1MX0NUWFRfRklOSVNIX0RURF8xIj5YTUxfQ1RYVF9GSU5JU0hfRFREXzE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfREVGQVVMVF9WRVJTSU9OIj5YTUxfREVGQVVMVF9WRVJTSU9OPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX0RFVEVDVF9JRFMiPlhNTF9ERVRFQ1RfSURTPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9ET0NCX0RPQ1VNRU5UX05PREUiPlhNTF9ET0NCX0RPQ1VNRU5UX05PREU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0RPQ1VNRU5UX0ZSQUdfTk9ERSI+WE1MX0RPQ1VNRU5UX0ZSQUdfTk9ERTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNYTUxfRE9DVU1FTlRfTk9ERSI+WE1MX0RPQ1VNRU5UX05PREU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0RPQ1VNRU5UX1RZUEVfTk9ERSI+WE1MX0RPQ1VNRU5UX1RZUEVfTk9ERTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNYTUxfRE9DX0RURFZBTElEIj5YTUxfRE9DX0RURFZBTElEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9ET0NfSFRNTCI+WE1MX0RPQ19IVE1MPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9ET0NfSU5URVJOQUwiPlhNTF9ET0NfSU5URVJOQUw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0RPQ19OU1ZBTElEIj5YTUxfRE9DX05TVkFMSUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0RPQ19PTEQxMCI+WE1MX0RPQ19PTEQxMDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNYTUxfRE9DX1VTRVJCVUlMVCI+WE1MX0RPQ19VU0VSQlVJTFQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0RPQ19XRUxMRk9STUVEIj5YTUxfRE9DX1dFTExGT1JNRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0RPQ19YSU5DTFVERSI+WE1MX0RPQ19YSU5DTFVERTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0RURF9BVFRSSUJVVEVfREVGQVVMVCI+WE1MX0RURF9BVFRSSUJVVEVfREVGQVVMVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0RURF9BVFRSSUJVVEVfUkVERUZJTkVEIj5YTUxfRFREX0FUVFJJQlVURV9SRURFRklORUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9EVERfQVRUUklCVVRFX1ZBTFVFIj5YTUxfRFREX0FUVFJJQlVURV9WQUxVRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0RURF9DT05URU5UX0VSUk9SIj5YTUxfRFREX0NPTlRFTlRfRVJST1I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9EVERfQ09OVEVOVF9NT0RFTCI+WE1MX0RURF9DT05URU5UX01PREVMPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRFREX0NPTlRFTlRfTk9UX0RFVEVSTUlOSVNUIj5YTUxfRFREX0NPTlRFTlRfTk9UX0RFVEVSTUlOSVNUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRFREX0RJRkZFUkVOVF9QUkVGSVgiPlhNTF9EVERfRElGRkVSRU5UX1BSRUZJWDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0RURF9EVVBfVE9LRU4iPlhNTF9EVERfRFVQX1RPS0VOPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRFREX0VMRU1fREVGQVVMVF9OQU1FU1BBQ0UiPlhNTF9EVERfRUxFTV9ERUZBVUxUX05BTUVTUEFDRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0RURF9FTEVNX05BTUVTUEFDRSI+WE1MX0RURF9FTEVNX05BTUVTUEFDRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0RURF9FTEVNX1JFREVGSU5FRCI+WE1MX0RURF9FTEVNX1JFREVGSU5FRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0RURF9FTVBUWV9OT1RBVElPTiI+WE1MX0RURF9FTVBUWV9OT1RBVElPTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0RURF9FTlRJVFlfVFlQRSI+WE1MX0RURF9FTlRJVFlfVFlQRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0RURF9JRF9GSVhFRCI+WE1MX0RURF9JRF9GSVhFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0RURF9JRF9SRURFRklORUQiPlhNTF9EVERfSURfUkVERUZJTkVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRFREX0lEX1NVQlNFVCI+WE1MX0RURF9JRF9TVUJTRVQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9EVERfSU5WQUxJRF9DSElMRCI+WE1MX0RURF9JTlZBTElEX0NISUxEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRFREX0lOVkFMSURfREVGQVVMVCI+WE1MX0RURF9JTlZBTElEX0RFRkFVTFQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9EVERfTE9BRF9FUlJPUiI+WE1MX0RURF9MT0FEX0VSUk9SPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRFREX01JU1NJTkdfQVRUUklCVVRFIj5YTUxfRFREX01JU1NJTkdfQVRUUklCVVRFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRFREX01JWEVEX0NPUlJVUFQiPlhNTF9EVERfTUlYRURfQ09SUlVQVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0RURF9NVUxUSVBMRV9JRCI+WE1MX0RURF9NVUxUSVBMRV9JRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNYTUxfRFREX05PREUiPlhNTF9EVERfTk9ERTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0RURF9OT1RBVElPTl9SRURFRklORUQiPlhNTF9EVERfTk9UQVRJT05fUkVERUZJTkVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRFREX05PVEFUSU9OX1ZBTFVFIj5YTUxfRFREX05PVEFUSU9OX1ZBTFVFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRFREX05PVF9FTVBUWSI+WE1MX0RURF9OT1RfRU1QVFk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9EVERfTk9UX1BDREFUQSI+WE1MX0RURF9OT1RfUENEQVRBPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRFREX05PVF9TVEFOREFMT05FIj5YTUxfRFREX05PVF9TVEFOREFMT05FPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRFREX05PX0RPQyI+WE1MX0RURF9OT19ET0M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9EVERfTk9fRFREIj5YTUxfRFREX05PX0RURDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0RURF9OT19FTEVNX05BTUUiPlhNTF9EVERfTk9fRUxFTV9OQU1FPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRFREX05PX1BSRUZJWCI+WE1MX0RURF9OT19QUkVGSVg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9EVERfTk9fUk9PVCI+WE1MX0RURF9OT19ST09UPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRFREX1JPT1RfTkFNRSI+WE1MX0RURF9ST09UX05BTUU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9EVERfU1RBTkRBTE9ORV9ERUZBVUxURUQiPlhNTF9EVERfU1RBTkRBTE9ORV9ERUZBVUxURUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9EVERfU1RBTkRBTE9ORV9XSElURV9TUEFDRSI+WE1MX0RURF9TVEFOREFMT05FX1dISVRFX1NQQUNFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRFREX1VOS05PV05fQVRUUklCVVRFIj5YTUxfRFREX1VOS05PV05fQVRUUklCVVRFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRFREX1VOS05PV05fRUxFTSI+WE1MX0RURF9VTktOT1dOX0VMRU08L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9EVERfVU5LTk9XTl9FTlRJVFkiPlhNTF9EVERfVU5LTk9XTl9FTlRJVFk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9EVERfVU5LTk9XTl9JRCI+WE1MX0RURF9VTktOT1dOX0lEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRFREX1VOS05PV05fTk9UQVRJT04iPlhNTF9EVERfVU5LTk9XTl9OT1RBVElPTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0RURF9YTUxJRF9UWVBFIj5YTUxfRFREX1hNTElEX1RZUEU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9EVERfWE1MSURfVkFMVUUiPlhNTF9EVERfWE1MSURfVkFMVUU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0VMRU1FTlRfQ09OVEVOVF9FTEVNRU5UIj5YTUxfRUxFTUVOVF9DT05URU5UX0VMRU1FTlQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0VMRU1FTlRfQ09OVEVOVF9NVUxUIj5YTUxfRUxFTUVOVF9DT05URU5UX01VTFQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0VMRU1FTlRfQ09OVEVOVF9PTkNFIj5YTUxfRUxFTUVOVF9DT05URU5UX09OQ0U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0VMRU1FTlRfQ09OVEVOVF9PUFQiPlhNTF9FTEVNRU5UX0NPTlRFTlRfT1BUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9FTEVNRU5UX0NPTlRFTlRfT1IiPlhNTF9FTEVNRU5UX0NPTlRFTlRfT1I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0VMRU1FTlRfQ09OVEVOVF9QQ0RBVEEiPlhNTF9FTEVNRU5UX0NPTlRFTlRfUENEQVRBPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9FTEVNRU5UX0NPTlRFTlRfUExVUyI+WE1MX0VMRU1FTlRfQ09OVEVOVF9QTFVTPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9FTEVNRU5UX0NPTlRFTlRfU0VRIj5YTUxfRUxFTUVOVF9DT05URU5UX1NFUTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNYTUxfRUxFTUVOVF9ERUNMIj5YTUxfRUxFTUVOVF9ERUNMPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9FTEVNRU5UX05PREUiPlhNTF9FTEVNRU5UX05PREU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0VMRU1FTlRfVFlQRV9BTlkiPlhNTF9FTEVNRU5UX1RZUEVfQU5ZPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9FTEVNRU5UX1RZUEVfRUxFTUVOVCI+WE1MX0VMRU1FTlRfVFlQRV9FTEVNRU5UPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9FTEVNRU5UX1RZUEVfRU1QVFkiPlhNTF9FTEVNRU5UX1RZUEVfRU1QVFk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0VMRU1FTlRfVFlQRV9NSVhFRCI+WE1MX0VMRU1FTlRfVFlQRV9NSVhFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNYTUxfRUxFTUVOVF9UWVBFX1VOREVGSU5FRCI+WE1MX0VMRU1FTlRfVFlQRV9VTkRFRklORUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0VOVElUWV9ERUNMIj5YTUxfRU5USVRZX0RFQ0w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0VOVElUWV9OT0RFIj5YTUxfRU5USVRZX05PREU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0VOVElUWV9SRUZfTk9ERSI+WE1MX0VOVElUWV9SRUZfTk9ERTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9BVFRMSVNUX05PVF9GSU5JU0hFRCI+WE1MX0VSUl9BVFRMSVNUX05PVF9GSU5JU0hFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9BVFRMSVNUX05PVF9TVEFSVEVEIj5YTUxfRVJSX0FUVExJU1RfTk9UX1NUQVJURUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfQVRUUklCVVRFX05PVF9GSU5JU0hFRCI+WE1MX0VSUl9BVFRSSUJVVEVfTk9UX0ZJTklTSEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0FUVFJJQlVURV9OT1RfU1RBUlRFRCI+WE1MX0VSUl9BVFRSSUJVVEVfTk9UX1NUQVJURUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfQVRUUklCVVRFX1JFREVGSU5FRCI+WE1MX0VSUl9BVFRSSUJVVEVfUkVERUZJTkVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0FUVFJJQlVURV9XSVRIT1VUX1ZBTFVFIj5YTUxfRVJSX0FUVFJJQlVURV9XSVRIT1VUX1ZBTFVFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0NEQVRBX05PVF9GSU5JU0hFRCI+WE1MX0VSUl9DREFUQV9OT1RfRklOSVNIRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfQ0hBUlJFRl9BVF9FT0YiPlhNTF9FUlJfQ0hBUlJFRl9BVF9FT0Y8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfQ0hBUlJFRl9JTl9EVEQiPlhNTF9FUlJfQ0hBUlJFRl9JTl9EVEQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfQ0hBUlJFRl9JTl9FUElMT0ciPlhNTF9FUlJfQ0hBUlJFRl9JTl9FUElMT0c8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfQ0hBUlJFRl9JTl9QUk9MT0ciPlhNTF9FUlJfQ0hBUlJFRl9JTl9QUk9MT0c8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfQ09NTUVOVF9OT1RfRklOSVNIRUQiPlhNTF9FUlJfQ09NTUVOVF9OT1RfRklOSVNIRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfQ09ORFNFQ19JTlZBTElEIj5YTUxfRVJSX0NPTkRTRUNfSU5WQUxJRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9DT05EU0VDX0lOVkFMSURfS0VZV09SRCI+WE1MX0VSUl9DT05EU0VDX0lOVkFMSURfS0VZV09SRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9DT05EU0VDX05PVF9GSU5JU0hFRCI+WE1MX0VSUl9DT05EU0VDX05PVF9GSU5JU0hFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9DT05EU0VDX05PVF9TVEFSVEVEIj5YTUxfRVJSX0NPTkRTRUNfTk9UX1NUQVJURUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfRE9DVFlQRV9OT1RfRklOSVNIRUQiPlhNTF9FUlJfRE9DVFlQRV9OT1RfRklOSVNIRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfRE9DVU1FTlRfRU1QVFkiPlhNTF9FUlJfRE9DVU1FTlRfRU1QVFk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfRE9DVU1FTlRfRU5EIj5YTUxfRVJSX0RPQ1VNRU5UX0VORDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9ET0NVTUVOVF9TVEFSVCI+WE1MX0VSUl9ET0NVTUVOVF9TVEFSVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9FTEVNQ09OVEVOVF9OT1RfRklOSVNIRUQiPlhNTF9FUlJfRUxFTUNPTlRFTlRfTk9UX0ZJTklTSEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0VMRU1DT05URU5UX05PVF9TVEFSVEVEIj5YTUxfRVJSX0VMRU1DT05URU5UX05PVF9TVEFSVEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0VOQ09ESU5HX05BTUUiPlhNTF9FUlJfRU5DT0RJTkdfTkFNRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9FTlRJVFlSRUZfQVRfRU9GIj5YTUxfRVJSX0VOVElUWVJFRl9BVF9FT0Y8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfRU5USVRZUkVGX0lOX0RURCI+WE1MX0VSUl9FTlRJVFlSRUZfSU5fRFREPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0VOVElUWVJFRl9JTl9FUElMT0ciPlhNTF9FUlJfRU5USVRZUkVGX0lOX0VQSUxPRzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9FTlRJVFlSRUZfSU5fUFJPTE9HIj5YTUxfRVJSX0VOVElUWVJFRl9JTl9QUk9MT0c8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfRU5USVRZUkVGX05PX05BTUUiPlhNTF9FUlJfRU5USVRZUkVGX05PX05BTUU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfRU5USVRZUkVGX1NFTUlDT0xfTUlTU0lORyI+WE1MX0VSUl9FTlRJVFlSRUZfU0VNSUNPTF9NSVNTSU5HPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0VOVElUWV9CT1VOREFSWSI+WE1MX0VSUl9FTlRJVFlfQk9VTkRBUlk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfRU5USVRZX0NIQVJfRVJST1IiPlhNTF9FUlJfRU5USVRZX0NIQVJfRVJST1I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfRU5USVRZX0lTX0VYVEVSTkFMIj5YTUxfRVJSX0VOVElUWV9JU19FWFRFUk5BTDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9FTlRJVFlfSVNfUEFSQU1FVEVSIj5YTUxfRVJSX0VOVElUWV9JU19QQVJBTUVURVI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfRU5USVRZX0xPT1AiPlhNTF9FUlJfRU5USVRZX0xPT1A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfRU5USVRZX05PVF9GSU5JU0hFRCI+WE1MX0VSUl9FTlRJVFlfTk9UX0ZJTklTSEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0VOVElUWV9OT1RfU1RBUlRFRCI+WE1MX0VSUl9FTlRJVFlfTk9UX1NUQVJURUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfRU5USVRZX1BFX0lOVEVSTkFMIj5YTUxfRVJSX0VOVElUWV9QRV9JTlRFUk5BTDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9FTlRJVFlfUFJPQ0VTU0lORyI+WE1MX0VSUl9FTlRJVFlfUFJPQ0VTU0lORzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9FUVVBTF9SRVFVSVJFRCI+WE1MX0VSUl9FUVVBTF9SRVFVSVJFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9FUlJPUiI+WE1MX0VSUl9FUlJPUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9FWFRSQV9DT05URU5UIj5YTUxfRVJSX0VYVFJBX0NPTlRFTlQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfRVhUX0VOVElUWV9TVEFOREFMT05FIj5YTUxfRVJSX0VYVF9FTlRJVFlfU1RBTkRBTE9ORTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9FWFRfU1VCU0VUX05PVF9GSU5JU0hFRCI+WE1MX0VSUl9FWFRfU1VCU0VUX05PVF9GSU5JU0hFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9GQVRBTCI+WE1MX0VSUl9GQVRBTDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9HVF9SRVFVSVJFRCI+WE1MX0VSUl9HVF9SRVFVSVJFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9IWVBIRU5fSU5fQ09NTUVOVCI+WE1MX0VSUl9IWVBIRU5fSU5fQ09NTUVOVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9JTlRFUk5BTF9FUlJPUiI+WE1MX0VSUl9JTlRFUk5BTF9FUlJPUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9JTlZBTElEX0NIQVIiPlhNTF9FUlJfSU5WQUxJRF9DSEFSPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0lOVkFMSURfQ0hBUlJFRiI+WE1MX0VSUl9JTlZBTElEX0NIQVJSRUY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfSU5WQUxJRF9ERUNfQ0hBUlJFRiI+WE1MX0VSUl9JTlZBTElEX0RFQ19DSEFSUkVGPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0lOVkFMSURfRU5DT0RJTkciPlhNTF9FUlJfSU5WQUxJRF9FTkNPRElORzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9JTlZBTElEX0hFWF9DSEFSUkVGIj5YTUxfRVJSX0lOVkFMSURfSEVYX0NIQVJSRUY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfSU5WQUxJRF9VUkkiPlhNTF9FUlJfSU5WQUxJRF9VUkk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfTElURVJBTF9OT1RfRklOSVNIRUQiPlhNTF9FUlJfTElURVJBTF9OT1RfRklOSVNIRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfTElURVJBTF9OT1RfU1RBUlRFRCI+WE1MX0VSUl9MSVRFUkFMX05PVF9TVEFSVEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0xUU0xBU0hfUkVRVUlSRUQiPlhNTF9FUlJfTFRTTEFTSF9SRVFVSVJFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9MVF9JTl9BVFRSSUJVVEUiPlhNTF9FUlJfTFRfSU5fQVRUUklCVVRFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0xUX1JFUVVJUkVEIj5YTUxfRVJSX0xUX1JFUVVJUkVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX01JU1BMQUNFRF9DREFUQV9FTkQiPlhNTF9FUlJfTUlTUExBQ0VEX0NEQVRBX0VORDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9NSVNTSU5HX0VOQ09ESU5HIj5YTUxfRVJSX01JU1NJTkdfRU5DT0RJTkc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfTUlYRURfTk9UX0ZJTklTSEVEIj5YTUxfRVJSX01JWEVEX05PVF9GSU5JU0hFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9NSVhFRF9OT1RfU1RBUlRFRCI+WE1MX0VSUl9NSVhFRF9OT1RfU1RBUlRFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9OQU1FX1JFUVVJUkVEIj5YTUxfRVJSX05BTUVfUkVRVUlSRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfTkFNRV9UT09fTE9ORyI+WE1MX0VSUl9OQU1FX1RPT19MT05HPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX05NVE9LRU5fUkVRVUlSRUQiPlhNTF9FUlJfTk1UT0tFTl9SRVFVSVJFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9OT05FIj5YTUxfRVJSX05PTkU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfTk9UQVRJT05fTk9UX0ZJTklTSEVEIj5YTUxfRVJSX05PVEFUSU9OX05PVF9GSU5JU0hFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9OT1RBVElPTl9OT1RfU1RBUlRFRCI+WE1MX0VSUl9OT1RBVElPTl9OT1RfU1RBUlRFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9OT1RBVElPTl9QUk9DRVNTSU5HIj5YTUxfRVJSX05PVEFUSU9OX1BST0NFU1NJTkc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfTk9UX1NUQU5EQUxPTkUiPlhNTF9FUlJfTk9UX1NUQU5EQUxPTkU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfTk9UX1dFTExfQkFMQU5DRUQiPlhNTF9FUlJfTk9UX1dFTExfQkFMQU5DRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfTk9fRFREIj5YTUxfRVJSX05PX0RURDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9OT19NRU1PUlkiPlhNTF9FUlJfTk9fTUVNT1JZPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX05TX0RFQ0xfRVJST1IiPlhNTF9FUlJfTlNfREVDTF9FUlJPUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9PSyI+WE1MX0VSUl9PSzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9QQ0RBVEFfUkVRVUlSRUQiPlhNTF9FUlJfUENEQVRBX1JFUVVJUkVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX1BFUkVGX0FUX0VPRiI+WE1MX0VSUl9QRVJFRl9BVF9FT0Y8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfUEVSRUZfSU5fRVBJTE9HIj5YTUxfRVJSX1BFUkVGX0lOX0VQSUxPRzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9QRVJFRl9JTl9JTlRfU1VCU0VUIj5YTUxfRVJSX1BFUkVGX0lOX0lOVF9TVUJTRVQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfUEVSRUZfSU5fUFJPTE9HIj5YTUxfRVJSX1BFUkVGX0lOX1BST0xPRzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9QRVJFRl9OT19OQU1FIj5YTUxfRVJSX1BFUkVGX05PX05BTUU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfUEVSRUZfU0VNSUNPTF9NSVNTSU5HIj5YTUxfRVJSX1BFUkVGX1NFTUlDT0xfTUlTU0lORzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9QSV9OT1RfRklOSVNIRUQiPlhNTF9FUlJfUElfTk9UX0ZJTklTSEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX1BJX05PVF9TVEFSVEVEIj5YTUxfRVJSX1BJX05PVF9TVEFSVEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX1BVQklEX1JFUVVJUkVEIj5YTUxfRVJSX1BVQklEX1JFUVVJUkVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX1JFU0VSVkVEX1hNTF9OQU1FIj5YTUxfRVJSX1JFU0VSVkVEX1hNTF9OQU1FPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX1NFUEFSQVRPUl9SRVFVSVJFRCI+WE1MX0VSUl9TRVBBUkFUT1JfUkVRVUlSRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfU1BBQ0VfUkVRVUlSRUQiPlhNTF9FUlJfU1BBQ0VfUkVRVUlSRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfU1RBTkRBTE9ORV9WQUxVRSI+WE1MX0VSUl9TVEFOREFMT05FX1ZBTFVFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX1NUUklOR19OT1RfQ0xPU0VEIj5YTUxfRVJSX1NUUklOR19OT1RfQ0xPU0VEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX1NUUklOR19OT1RfU1RBUlRFRCI+WE1MX0VSUl9TVFJJTkdfTk9UX1NUQVJURUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfVEFHX05BTUVfTUlTTUFUQ0giPlhNTF9FUlJfVEFHX05BTUVfTUlTTUFUQ0g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfVEFHX05PVF9GSU5JU0hFRCI+WE1MX0VSUl9UQUdfTk9UX0ZJTklTSEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX1VOREVDTEFSRURfRU5USVRZIj5YTUxfRVJSX1VOREVDTEFSRURfRU5USVRZPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX1VOS05PV05fRU5DT0RJTkciPlhNTF9FUlJfVU5LTk9XTl9FTkNPRElORzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9VTktOT1dOX1ZFUlNJT04iPlhNTF9FUlJfVU5LTk9XTl9WRVJTSU9OPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX1VOUEFSU0VEX0VOVElUWSI+WE1MX0VSUl9VTlBBUlNFRF9FTlRJVFk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfVU5TVVBQT1JURURfRU5DT0RJTkciPlhNTF9FUlJfVU5TVVBQT1JURURfRU5DT0RJTkc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfVVJJX0ZSQUdNRU5UIj5YTUxfRVJSX1VSSV9GUkFHTUVOVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9VUklfUkVRVUlSRUQiPlhNTF9FUlJfVVJJX1JFUVVJUkVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX1VTRVJfU1RPUCI+WE1MX0VSUl9VU0VSX1NUT1A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfVkFMVUVfUkVRVUlSRUQiPlhNTF9FUlJfVkFMVUVfUkVRVUlSRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfVkVSU0lPTl9NSVNNQVRDSCI+WE1MX0VSUl9WRVJTSU9OX01JU01BVENIPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX1ZFUlNJT05fTUlTU0lORyI+WE1MX0VSUl9WRVJTSU9OX01JU1NJTkc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfV0FSTklORyI+WE1MX0VSUl9XQVJOSU5HPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX1hNTERFQ0xfTk9UX0ZJTklTSEVEIj5YTUxfRVJSX1hNTERFQ0xfTk9UX0ZJTklTSEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX1hNTERFQ0xfTk9UX1NUQVJURUQiPlhNTF9FUlJfWE1MREVDTF9OT1RfU1RBUlRFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI1hNTF9FWFBfQVRPTSI+WE1MX0VYUF9BVE9NPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjWE1MX0VYUF9DT1VOVCI+WE1MX0VYUF9DT1VOVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI1hNTF9FWFBfRU1QVFkiPlhNTF9FWFBfRU1QVFk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCNYTUxfRVhQX0ZPUkJJRCI+WE1MX0VYUF9GT1JCSUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCNYTUxfRVhQX09SIj5YTUxfRVhQX09SPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjWE1MX0VYUF9TRVEiPlhNTF9FWFBfU0VRPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCNYTUxfRVhURVJOQUxfR0VORVJBTF9QQVJTRURfRU5USVRZIj5YTUxfRVhURVJOQUxfR0VORVJBTF9QQVJTRURfRU5USVRZPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCNYTUxfRVhURVJOQUxfR0VORVJBTF9VTlBBUlNFRF9FTlRJVFkiPlhNTF9FWFRFUk5BTF9HRU5FUkFMX1VOUEFSU0VEX0VOVElUWTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjWE1MX0VYVEVSTkFMX1BBUkFNRVRFUl9FTlRJVFkiPlhNTF9FWFRFUk5BTF9QQVJBTUVURVJfRU5USVRZPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRlJPTV9CVUZGRVIiPlhNTF9GUk9NX0JVRkZFUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0ZST01fQzE0TiI+WE1MX0ZST01fQzE0TjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0ZST01fQ0FUQUxPRyI+WE1MX0ZST01fQ0FUQUxPRzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0ZST01fQ0hFQ0siPlhNTF9GUk9NX0NIRUNLPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRlJPTV9EQVRBVFlQRSI+WE1MX0ZST01fREFUQVRZUEU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9GUk9NX0RURCI+WE1MX0ZST01fRFREPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRlJPTV9GVFAiPlhNTF9GUk9NX0ZUUDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0ZST01fSFRNTCI+WE1MX0ZST01fSFRNTDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0ZST01fSFRUUCI+WE1MX0ZST01fSFRUUDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0ZST01fSTE4TiI+WE1MX0ZST01fSTE4TjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0ZST01fSU8iPlhNTF9GUk9NX0lPPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRlJPTV9NRU1PUlkiPlhNTF9GUk9NX01FTU9SWTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0ZST01fTU9EVUxFIj5YTUxfRlJPTV9NT0RVTEU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9GUk9NX05BTUVTUEFDRSI+WE1MX0ZST01fTkFNRVNQQUNFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRlJPTV9OT05FIj5YTUxfRlJPTV9OT05FPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRlJPTV9PVVRQVVQiPlhNTF9GUk9NX09VVFBVVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0ZST01fUEFSU0VSIj5YTUxfRlJPTV9QQVJTRVI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9GUk9NX1JFR0VYUCI+WE1MX0ZST01fUkVHRVhQPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRlJPTV9SRUxBWE5HUCI+WE1MX0ZST01fUkVMQVhOR1A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9GUk9NX1JFTEFYTkdWIj5YTUxfRlJPTV9SRUxBWE5HVjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0ZST01fU0NIRU1BU1AiPlhNTF9GUk9NX1NDSEVNQVNQPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRlJPTV9TQ0hFTUFTViI+WE1MX0ZST01fU0NIRU1BU1Y8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9GUk9NX1NDSEVNQVRST05WIj5YTUxfRlJPTV9TQ0hFTUFUUk9OVjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0ZST01fVFJFRSI+WE1MX0ZST01fVFJFRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0ZST01fVVJJIj5YTUxfRlJPTV9VUkk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9GUk9NX1ZBTElEIj5YTUxfRlJPTV9WQUxJRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0ZST01fV1JJVEVSIj5YTUxfRlJPTV9XUklURVI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9GUk9NX1hJTkNMVURFIj5YTUxfRlJPTV9YSU5DTFVERTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0ZST01fWFBBVEgiPlhNTF9GUk9NX1hQQVRIPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRlJPTV9YUE9JTlRFUiI+WE1MX0ZST01fWFBPSU5URVI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9GUk9NX1hTTFQiPlhNTF9GUk9NX1hTTFQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9GVFBfQUNDTlQiPlhNTF9GVFBfQUNDTlQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9GVFBfRVBTVl9BTlNXRVIiPlhNTF9GVFBfRVBTVl9BTlNXRVI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9GVFBfUEFTVl9BTlNXRVIiPlhNTF9GVFBfUEFTVl9BTlNXRVI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9GVFBfVVJMX1NZTlRBWCI+WE1MX0ZUUF9VUkxfU1lOVEFYPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9HRVRfQ09OVEVOVCI+WE1MX0dFVF9DT05URU5UPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9HRVRfTElORSI+WE1MX0dFVF9MSU5FPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9IVE1MX0RPQ1VNRU5UX05PREUiPlhNTF9IVE1MX0RPQ1VNRU5UX05PREU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9IVE1MX1NUUlVDVVJFX0VSUk9SIj5YTUxfSFRNTF9TVFJVQ1VSRV9FUlJPUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0hUTUxfVU5LTk9XTl9UQUciPlhNTF9IVE1MX1VOS05PV05fVEFHPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSFRUUF9VTktOT1dOX0hPU1QiPlhNTF9IVFRQX1VOS05PV05fSE9TVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0hUVFBfVVJMX1NZTlRBWCI+WE1MX0hUVFBfVVJMX1NZTlRBWDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0hUVFBfVVNFX0lQIj5YTUxfSFRUUF9VU0VfSVA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9JMThOX0NPTlZfRkFJTEVEIj5YTUxfSTE4Tl9DT05WX0ZBSUxFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0kxOE5fRVhDRVNTX0hBTkRMRVIiPlhNTF9JMThOX0VYQ0VTU19IQU5ETEVSPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSTE4Tl9OT19IQU5ETEVSIj5YTUxfSTE4Tl9OT19IQU5ETEVSPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSTE4Tl9OT19OQU1FIj5YTUxfSTE4Tl9OT19OQU1FPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSTE4Tl9OT19PVVRQVVQiPlhNTF9JMThOX05PX09VVFBVVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjWE1MX0lOVEVSTkFMX0dFTkVSQUxfRU5USVRZIj5YTUxfSU5URVJOQUxfR0VORVJBTF9FTlRJVFk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI1hNTF9JTlRFUk5BTF9QQVJBTUVURVJfRU5USVRZIj5YTUxfSU5URVJOQUxfUEFSQU1FVEVSX0VOVElUWTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjWE1MX0lOVEVSTkFMX1BSRURFRklORURfRU5USVRZIj5YTUxfSU5URVJOQUxfUFJFREVGSU5FRF9FTlRJVFk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9JT19CVUZGRVJfRlVMTCI+WE1MX0lPX0JVRkZFUl9GVUxMPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSU9fRUFDQ0VTIj5YTUxfSU9fRUFDQ0VTPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSU9fRUFERFJJTlVTRSI+WE1MX0lPX0VBRERSSU5VU0U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9JT19FQUZOT1NVUFBPUlQiPlhNTF9JT19FQUZOT1NVUFBPUlQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9JT19FQUdBSU4iPlhNTF9JT19FQUdBSU48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9JT19FQUxSRUFEWSI+WE1MX0lPX0VBTFJFQURZPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSU9fRUJBREYiPlhNTF9JT19FQkFERjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VCQURNU0ciPlhNTF9JT19FQkFETVNHPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSU9fRUJVU1kiPlhNTF9JT19FQlVTWTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VDQU5DRUxFRCI+WE1MX0lPX0VDQU5DRUxFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VDSElMRCI+WE1MX0lPX0VDSElMRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VDT05OUkVGVVNFRCI+WE1MX0lPX0VDT05OUkVGVVNFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VERUFETEsiPlhNTF9JT19FREVBRExLPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSU9fRURPTSI+WE1MX0lPX0VET008L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9JT19FRVhJU1QiPlhNTF9JT19FRVhJU1Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9JT19FRkFVTFQiPlhNTF9JT19FRkFVTFQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9JT19FRkJJRyI+WE1MX0lPX0VGQklHPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSU9fRUlOUFJPR1JFU1MiPlhNTF9JT19FSU5QUk9HUkVTUzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VJTlRSIj5YTUxfSU9fRUlOVFI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9JT19FSU5WQUwiPlhNTF9JT19FSU5WQUw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9JT19FSU8iPlhNTF9JT19FSU88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9JT19FSVNDT05OIj5YTUxfSU9fRUlTQ09OTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VJU0RJUiI+WE1MX0lPX0VJU0RJUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VNRklMRSI+WE1MX0lPX0VNRklMRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VNTElOSyI+WE1MX0lPX0VNTElOSzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VNU0dTSVpFIj5YTUxfSU9fRU1TR1NJWkU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9JT19FTkFNRVRPT0xPTkciPlhNTF9JT19FTkFNRVRPT0xPTkc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9JT19FTkNPREVSIj5YTUxfSU9fRU5DT0RFUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VORVRVTlJFQUNIIj5YTUxfSU9fRU5FVFVOUkVBQ0g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9JT19FTkZJTEUiPlhNTF9JT19FTkZJTEU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9JT19FTk9ERVYiPlhNTF9JT19FTk9ERVY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9JT19FTk9FTlQiPlhNTF9JT19FTk9FTlQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9JT19FTk9FWEVDIj5YTUxfSU9fRU5PRVhFQzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VOT0xDSyI+WE1MX0lPX0VOT0xDSzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VOT01FTSI+WE1MX0lPX0VOT01FTTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VOT1NQQyI+WE1MX0lPX0VOT1NQQzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VOT1NZUyI+WE1MX0lPX0VOT1NZUzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VOT1RESVIiPlhNTF9JT19FTk9URElSPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSU9fRU5PVEVNUFRZIj5YTUxfSU9fRU5PVEVNUFRZPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSU9fRU5PVFNPQ0siPlhNTF9JT19FTk9UU09DSzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VOT1RTVVAiPlhNTF9JT19FTk9UU1VQPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSU9fRU5PVFRZIj5YTUxfSU9fRU5PVFRZPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSU9fRU5YSU8iPlhNTF9JT19FTlhJTzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VQRVJNIj5YTUxfSU9fRVBFUk08L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9JT19FUElQRSI+WE1MX0lPX0VQSVBFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSU9fRVJBTkdFIj5YTUxfSU9fRVJBTkdFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSU9fRVJPRlMiPlhNTF9JT19FUk9GUzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VTUElQRSI+WE1MX0lPX0VTUElQRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VTUkNIIj5YTUxfSU9fRVNSQ0g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9JT19FVElNRURPVVQiPlhNTF9JT19FVElNRURPVVQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9JT19FWERFViI+WE1MX0lPX0VYREVWPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSU9fRkxVU0giPlhNTF9JT19GTFVTSDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0lPX0xPQURfRVJST1IiPlhNTF9JT19MT0FEX0VSUk9SPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSU9fTkVUV09SS19BVFRFTVBUIj5YTUxfSU9fTkVUV09SS19BVFRFTVBUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSU9fTk9fSU5QVVQiPlhNTF9JT19OT19JTlBVVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0lPX1VOS05PV04iPlhNTF9JT19VTktOT1dOPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSU9fV1JJVEUiPlhNTF9JT19XUklURTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNYTUxfTE9DQUxfTkFNRVNQQUNFIj5YTUxfTE9DQUxfTkFNRVNQQUNFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjWE1MX01BWF9ESUNUSU9OQVJZX0xJTUlUIj5YTUxfTUFYX0RJQ1RJT05BUllfTElNSVQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNYTUxfTUFYX0xPT0tVUF9MSU1JVCI+WE1MX01BWF9MT09LVVBfTElNSVQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNYTUxfTUFYX05BTUVMRU4iPlhNTF9NQVhfTkFNRUxFTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI1hNTF9NQVhfTkFNRV9MRU5HVEgiPlhNTF9NQVhfTkFNRV9MRU5HVEg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNYTUxfTUFYX1RFWFRfTEVOR1RIIj5YTUxfTUFYX1RFWFRfTEVOR1RIPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfTU9EVUxFX0NMT1NFIj5YTUxfTU9EVUxFX0NMT1NFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbW9kdWxlLmh0bWwjWE1MX01PRFVMRV9MQVpZIj5YTUxfTU9EVUxFX0xBWlk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtb2R1bGUuaHRtbCNYTUxfTU9EVUxFX0xPQ0FMIj5YTUxfTU9EVUxFX0xPQ0FMPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfTU9EVUxFX09QRU4iPlhNTF9NT0RVTEVfT1BFTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNYTUxfTkFNRVNQQUNFX0RFQ0wiPlhNTF9OQU1FU1BBQ0VfREVDTDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNYTUxfTk9UQVRJT05fTk9ERSI+WE1MX05PVEFUSU9OX05PREU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9OU19FUlJfQVRUUklCVVRFX1JFREVGSU5FRCI+WE1MX05TX0VSUl9BVFRSSUJVVEVfUkVERUZJTkVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfTlNfRVJSX0NPTE9OIj5YTUxfTlNfRVJSX0NPTE9OPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfTlNfRVJSX0VNUFRZIj5YTUxfTlNfRVJSX0VNUFRZPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfTlNfRVJSX1FOQU1FIj5YTUxfTlNfRVJSX1FOQU1FPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfTlNfRVJSX1VOREVGSU5FRF9OQU1FU1BBQ0UiPlhNTF9OU19FUlJfVU5ERUZJTkVEX05BTUVTUEFDRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX05TX0VSUl9YTUxfTkFNRVNQQUNFIj5YTUxfTlNfRVJSX1hNTF9OQU1FU1BBQ0U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfUEFSU0VSX0FUVFJJQlVURV9WQUxVRSI+WE1MX1BBUlNFUl9BVFRSSUJVVEVfVkFMVUU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfUEFSU0VSX0NEQVRBX1NFQ1RJT04iPlhNTF9QQVJTRVJfQ0RBVEFfU0VDVElPTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9QQVJTRVJfQ09NTUVOVCI+WE1MX1BBUlNFUl9DT01NRU5UPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1BBUlNFUl9DT05URU5UIj5YTUxfUEFSU0VSX0NPTlRFTlQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCNYTUxfUEFSU0VSX0RFRkFVTFRBVFRSUyI+WE1MX1BBUlNFUl9ERUZBVUxUQVRUUlM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfUEFSU0VSX0RURCI+WE1MX1BBUlNFUl9EVEQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfUEFSU0VSX0VORF9UQUciPlhNTF9QQVJTRVJfRU5EX1RBRzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9QQVJTRVJfRU5USVRZX0RFQ0wiPlhNTF9QQVJTRVJfRU5USVRZX0RFQ0w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfUEFSU0VSX0VOVElUWV9WQUxVRSI+WE1MX1BBUlNFUl9FTlRJVFlfVkFMVUU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfUEFSU0VSX0VPRiI+WE1MX1BBUlNFUl9FT0Y8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfUEFSU0VSX0VQSUxPRyI+WE1MX1BBUlNFUl9FUElMT0c8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfUEFSU0VSX0lHTk9SRSI+WE1MX1BBUlNFUl9JR05PUkU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCNYTUxfUEFSU0VSX0xPQUREVEQiPlhNTF9QQVJTRVJfTE9BRERURDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9QQVJTRVJfTUlTQyI+WE1MX1BBUlNFUl9NSVNDPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1BBUlNFUl9QSSI+WE1MX1BBUlNFUl9QSTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9QQVJTRVJfUFJPTE9HIj5YTUxfUEFSU0VSX1BST0xPRzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9QQVJTRVJfUFVCTElDX0xJVEVSQUwiPlhNTF9QQVJTRVJfUFVCTElDX0xJVEVSQUw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCNYTUxfUEFSU0VSX1NFVkVSSVRZX0VSUk9SIj5YTUxfUEFSU0VSX1NFVkVSSVRZX0VSUk9SPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjWE1MX1BBUlNFUl9TRVZFUklUWV9WQUxJRElUWV9FUlJPUiI+WE1MX1BBUlNFUl9TRVZFUklUWV9WQUxJRElUWV9FUlJPUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI1hNTF9QQVJTRVJfU0VWRVJJVFlfVkFMSURJVFlfV0FSTklORyI+WE1MX1BBUlNFUl9TRVZFUklUWV9WQUxJRElUWV9XQVJOSU5HPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjWE1MX1BBUlNFUl9TRVZFUklUWV9XQVJOSU5HIj5YTUxfUEFSU0VSX1NFVkVSSVRZX1dBUk5JTkc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfUEFSU0VSX1NUQVJUIj5YTUxfUEFSU0VSX1NUQVJUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1BBUlNFUl9TVEFSVF9UQUciPlhNTF9QQVJTRVJfU1RBUlRfVEFHPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjWE1MX1BBUlNFUl9TVUJTVF9FTlRJVElFUyI+WE1MX1BBUlNFUl9TVUJTVF9FTlRJVElFUzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9QQVJTRVJfU1lTVEVNX0xJVEVSQUwiPlhNTF9QQVJTRVJfU1lTVEVNX0xJVEVSQUw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCNYTUxfUEFSU0VSX1ZBTElEQVRFIj5YTUxfUEFSU0VSX1ZBTElEQVRFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1BBUlNFX0JJR19MSU5FUyI+WE1MX1BBUlNFX0JJR19MSU5FUzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9QQVJTRV9DT01QQUNUIj5YTUxfUEFSU0VfQ09NUEFDVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9QQVJTRV9ET00iPlhNTF9QQVJTRV9ET008L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfUEFSU0VfRFREQVRUUiI+WE1MX1BBUlNFX0RUREFUVFI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfUEFSU0VfRFRETE9BRCI+WE1MX1BBUlNFX0RURExPQUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfUEFSU0VfRFREVkFMSUQiPlhNTF9QQVJTRV9EVERWQUxJRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9QQVJTRV9IVUdFIj5YTUxfUEFSU0VfSFVHRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9QQVJTRV9JR05PUkVfRU5DIj5YTUxfUEFSU0VfSUdOT1JFX0VOQzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9QQVJTRV9OT0JBU0VGSVgiPlhNTF9QQVJTRV9OT0JBU0VGSVg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfUEFSU0VfTk9CTEFOS1MiPlhNTF9QQVJTRV9OT0JMQU5LUzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9QQVJTRV9OT0NEQVRBIj5YTUxfUEFSU0VfTk9DREFUQTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9QQVJTRV9OT0RJQ1QiPlhNTF9QQVJTRV9OT0RJQ1Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfUEFSU0VfTk9FTlQiPlhNTF9QQVJTRV9OT0VOVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9QQVJTRV9OT0VSUk9SIj5YTUxfUEFSU0VfTk9FUlJPUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9QQVJTRV9OT05FVCI+WE1MX1BBUlNFX05PTkVUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1BBUlNFX05PV0FSTklORyI+WE1MX1BBUlNFX05PV0FSTklORzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9QQVJTRV9OT1hJTkNOT0RFIj5YTUxfUEFSU0VfTk9YSU5DTk9ERTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9QQVJTRV9OU0NMRUFOIj5YTUxfUEFSU0VfTlNDTEVBTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9QQVJTRV9PTEQxMCI+WE1MX1BBUlNFX09MRDEwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1BBUlNFX09MRFNBWCI+WE1MX1BBUlNFX09MRFNBWDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9QQVJTRV9QRURBTlRJQyI+WE1MX1BBUlNFX1BFREFOVElDPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1BBUlNFX1BVU0hfRE9NIj5YTUxfUEFSU0VfUFVTSF9ET008L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfUEFSU0VfUFVTSF9TQVgiPlhNTF9QQVJTRV9QVVNIX1NBWDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9QQVJTRV9SRUFERVIiPlhNTF9QQVJTRV9SRUFERVI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfUEFSU0VfUkVDT1ZFUiI+WE1MX1BBUlNFX1JFQ09WRVI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfUEFSU0VfU0FYIj5YTUxfUEFSU0VfU0FYPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1BBUlNFX1NBWDEiPlhNTF9QQVJTRV9TQVgxPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1BBUlNFX1VOS05PV04iPlhNTF9QQVJTRV9VTktOT1dOPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1BBUlNFX1hJTkNMVURFIj5YTUxfUEFSU0VfWElOQ0xVREU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjWE1MX1BBVFRFUk5fREVGQVVMVCI+WE1MX1BBVFRFUk5fREVGQVVMVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCNYTUxfUEFUVEVSTl9YUEFUSCI+WE1MX1BBVFRFUk5fWFBBVEg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjWE1MX1BBVFRFUk5fWFNGSUVMRCI+WE1MX1BBVFRFUk5fWFNGSUVMRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCNYTUxfUEFUVEVSTl9YU1NFTCI+WE1MX1BBVFRFUk5fWFNTRUw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX1BJX05PREUiPlhNTF9QSV9OT0RFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjWE1MX1JFQURFUl9UWVBFX0FUVFJJQlVURSI+WE1MX1JFQURFUl9UWVBFX0FUVFJJQlVURTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI1hNTF9SRUFERVJfVFlQRV9DREFUQSI+WE1MX1JFQURFUl9UWVBFX0NEQVRBPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjWE1MX1JFQURFUl9UWVBFX0NPTU1FTlQiPlhNTF9SRUFERVJfVFlQRV9DT01NRU5UPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjWE1MX1JFQURFUl9UWVBFX0RPQ1VNRU5UIj5YTUxfUkVBREVSX1RZUEVfRE9DVU1FTlQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCNYTUxfUkVBREVSX1RZUEVfRE9DVU1FTlRfRlJBR01FTlQiPlhNTF9SRUFERVJfVFlQRV9ET0NVTUVOVF9GUkFHTUVOVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI1hNTF9SRUFERVJfVFlQRV9ET0NVTUVOVF9UWVBFIj5YTUxfUkVBREVSX1RZUEVfRE9DVU1FTlRfVFlQRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI1hNTF9SRUFERVJfVFlQRV9FTEVNRU5UIj5YTUxfUkVBREVSX1RZUEVfRUxFTUVOVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI1hNTF9SRUFERVJfVFlQRV9FTkRfRUxFTUVOVCI+WE1MX1JFQURFUl9UWVBFX0VORF9FTEVNRU5UPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjWE1MX1JFQURFUl9UWVBFX0VORF9FTlRJVFkiPlhNTF9SRUFERVJfVFlQRV9FTkRfRU5USVRZPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjWE1MX1JFQURFUl9UWVBFX0VOVElUWSI+WE1MX1JFQURFUl9UWVBFX0VOVElUWTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI1hNTF9SRUFERVJfVFlQRV9FTlRJVFlfUkVGRVJFTkNFIj5YTUxfUkVBREVSX1RZUEVfRU5USVRZX1JFRkVSRU5DRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI1hNTF9SRUFERVJfVFlQRV9OT05FIj5YTUxfUkVBREVSX1RZUEVfTk9ORTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI1hNTF9SRUFERVJfVFlQRV9OT1RBVElPTiI+WE1MX1JFQURFUl9UWVBFX05PVEFUSU9OPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjWE1MX1JFQURFUl9UWVBFX1BST0NFU1NJTkdfSU5TVFJVQ1RJT04iPlhNTF9SRUFERVJfVFlQRV9QUk9DRVNTSU5HX0lOU1RSVUNUSU9OPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjWE1MX1JFQURFUl9UWVBFX1NJR05JRklDQU5UX1dISVRFU1BBQ0UiPlhNTF9SRUFERVJfVFlQRV9TSUdOSUZJQ0FOVF9XSElURVNQQUNFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjWE1MX1JFQURFUl9UWVBFX1RFWFQiPlhNTF9SRUFERVJfVFlQRV9URVhUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjWE1MX1JFQURFUl9UWVBFX1dISVRFU1BBQ0UiPlhNTF9SRUFERVJfVFlQRV9XSElURVNQQUNFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjWE1MX1JFQURFUl9UWVBFX1hNTF9ERUNMQVJBVElPTiI+WE1MX1JFQURFUl9UWVBFX1hNTF9ERUNMQVJBVElPTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JFR0VYUF9DT01QSUxFX0VSUk9SIj5YTUxfUkVHRVhQX0NPTVBJTEVfRVJST1I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjWE1MX1JFTEFYTkdQX0NSTkciPlhNTF9SRUxBWE5HUF9DUk5HPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI1hNTF9SRUxBWE5HUF9GUkVFX0RPQyI+WE1MX1JFTEFYTkdQX0ZSRUVfRE9DPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI1hNTF9SRUxBWE5HUF9OT05FIj5YTUxfUkVMQVhOR1BfTk9ORTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCNYTUxfUkVMQVhOR19FUlJfQVRUUkVYVFJBTlMiPlhNTF9SRUxBWE5HX0VSUl9BVFRSRVhUUkFOUzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCNYTUxfUkVMQVhOR19FUlJfQVRUUk5BTUUiPlhNTF9SRUxBWE5HX0VSUl9BVFRSTkFNRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCNYTUxfUkVMQVhOR19FUlJfQVRUUk5PTlMiPlhNTF9SRUxBWE5HX0VSUl9BVFRSTk9OUzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCNYTUxfUkVMQVhOR19FUlJfQVRUUlZBTElEIj5YTUxfUkVMQVhOR19FUlJfQVRUUlZBTElEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI1hNTF9SRUxBWE5HX0VSUl9BVFRSV1JPTkdOUyI+WE1MX1JFTEFYTkdfRVJSX0FUVFJXUk9OR05TPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI1hNTF9SRUxBWE5HX0VSUl9DT05URU5UVkFMSUQiPlhNTF9SRUxBWE5HX0VSUl9DT05URU5UVkFMSUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjWE1MX1JFTEFYTkdfRVJSX0RBVEFFTEVNIj5YTUxfUkVMQVhOR19FUlJfREFUQUVMRU08L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjWE1MX1JFTEFYTkdfRVJSX0RBVEFUWVBFIj5YTUxfUkVMQVhOR19FUlJfREFUQVRZUEU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjWE1MX1JFTEFYTkdfRVJSX0RVUElEIj5YTUxfUkVMQVhOR19FUlJfRFVQSUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjWE1MX1JFTEFYTkdfRVJSX0VMRU1FWFRSQU5TIj5YTUxfUkVMQVhOR19FUlJfRUxFTUVYVFJBTlM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjWE1MX1JFTEFYTkdfRVJSX0VMRU1OQU1FIj5YTUxfUkVMQVhOR19FUlJfRUxFTU5BTUU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjWE1MX1JFTEFYTkdfRVJSX0VMRU1OT05TIj5YTUxfUkVMQVhOR19FUlJfRUxFTU5PTlM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjWE1MX1JFTEFYTkdfRVJSX0VMRU1OT1RFTVBUWSI+WE1MX1JFTEFYTkdfRVJSX0VMRU1OT1RFTVBUWTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCNYTUxfUkVMQVhOR19FUlJfRUxFTVdST05HIj5YTUxfUkVMQVhOR19FUlJfRUxFTVdST05HPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI1hNTF9SRUxBWE5HX0VSUl9FTEVNV1JPTkdOUyI+WE1MX1JFTEFYTkdfRVJSX0VMRU1XUk9OR05TPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI1hNTF9SRUxBWE5HX0VSUl9FWFRSQUNPTlRFTlQiPlhNTF9SRUxBWE5HX0VSUl9FWFRSQUNPTlRFTlQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjWE1MX1JFTEFYTkdfRVJSX0VYVFJBREFUQSI+WE1MX1JFTEFYTkdfRVJSX0VYVFJBREFUQTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCNYTUxfUkVMQVhOR19FUlJfSU5URVJFWFRSQSI+WE1MX1JFTEFYTkdfRVJSX0lOVEVSRVhUUkE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjWE1MX1JFTEFYTkdfRVJSX0lOVEVSTkFMIj5YTUxfUkVMQVhOR19FUlJfSU5URVJOQUw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjWE1MX1JFTEFYTkdfRVJSX0lOVEVSTk9EQVRBIj5YTUxfUkVMQVhOR19FUlJfSU5URVJOT0RBVEE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjWE1MX1JFTEFYTkdfRVJSX0lOVEVSU0VRIj5YTUxfUkVMQVhOR19FUlJfSU5URVJTRVE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjWE1MX1JFTEFYTkdfRVJSX0lOVkFMSURBVFRSIj5YTUxfUkVMQVhOR19FUlJfSU5WQUxJREFUVFI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjWE1MX1JFTEFYTkdfRVJSX0xBQ0tEQVRBIj5YTUxfUkVMQVhOR19FUlJfTEFDS0RBVEE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjWE1MX1JFTEFYTkdfRVJSX0xJU1QiPlhNTF9SRUxBWE5HX0VSUl9MSVNUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI1hNTF9SRUxBWE5HX0VSUl9MSVNURUxFTSI+WE1MX1JFTEFYTkdfRVJSX0xJU1RFTEVNPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI1hNTF9SRUxBWE5HX0VSUl9MSVNURU1QVFkiPlhNTF9SRUxBWE5HX0VSUl9MSVNURU1QVFk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjWE1MX1JFTEFYTkdfRVJSX0xJU1RFWFRSQSI+WE1MX1JFTEFYTkdfRVJSX0xJU1RFWFRSQTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCNYTUxfUkVMQVhOR19FUlJfTUVNT1JZIj5YTUxfUkVMQVhOR19FUlJfTUVNT1JZPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI1hNTF9SRUxBWE5HX0VSUl9OT0RFRklORSI+WE1MX1JFTEFYTkdfRVJSX05PREVGSU5FPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI1hNTF9SRUxBWE5HX0VSUl9OT0VMRU0iPlhNTF9SRUxBWE5HX0VSUl9OT0VMRU08L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjWE1MX1JFTEFYTkdfRVJSX05PR1JBTU1BUiI+WE1MX1JFTEFYTkdfRVJSX05PR1JBTU1BUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCNYTUxfUkVMQVhOR19FUlJfTk9TVEFURSI+WE1MX1JFTEFYTkdfRVJSX05PU1RBVEU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjWE1MX1JFTEFYTkdfRVJSX05PVEVMRU0iPlhNTF9SRUxBWE5HX0VSUl9OT1RFTEVNPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI1hNTF9SRUxBWE5HX0VSUl9URVhUV1JPTkciPlhNTF9SRUxBWE5HX0VSUl9URVhUV1JPTkc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjWE1MX1JFTEFYTkdfRVJSX1RZUEUiPlhNTF9SRUxBWE5HX0VSUl9UWVBFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI1hNTF9SRUxBWE5HX0VSUl9UWVBFQ01QIj5YTUxfUkVMQVhOR19FUlJfVFlQRUNNUDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCNYTUxfUkVMQVhOR19FUlJfVFlQRVZBTCI+WE1MX1JFTEFYTkdfRVJSX1RZUEVWQUw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjWE1MX1JFTEFYTkdfRVJSX1ZBTEVMRU0iPlhNTF9SRUxBWE5HX0VSUl9WQUxFTEVNPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI1hNTF9SRUxBWE5HX0VSUl9WQUxVRSI+WE1MX1JFTEFYTkdfRVJSX1ZBTFVFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI1hNTF9SRUxBWE5HX09LIj5YTUxfUkVMQVhOR19PSzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfQU5ZTkFNRV9BVFRSX0FOQ0VTVE9SIj5YTUxfUk5HUF9BTllOQU1FX0FUVFJfQU5DRVNUT1I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX0FUVFJJQlVURV9DSElMRFJFTiI+WE1MX1JOR1BfQVRUUklCVVRFX0NISUxEUkVOPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9BVFRSSUJVVEVfQ09OVEVOVCI+WE1MX1JOR1BfQVRUUklCVVRFX0NPTlRFTlQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX0FUVFJJQlVURV9FTVBUWSI+WE1MX1JOR1BfQVRUUklCVVRFX0VNUFRZPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9BVFRSSUJVVEVfTk9PUCI+WE1MX1JOR1BfQVRUUklCVVRFX05PT1A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX0FUVFJfQ09ORkxJQ1QiPlhNTF9STkdQX0FUVFJfQ09ORkxJQ1Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX0NIT0lDRV9DT05URU5UIj5YTUxfUk5HUF9DSE9JQ0VfQ09OVEVOVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfQ0hPSUNFX0VNUFRZIj5YTUxfUk5HUF9DSE9JQ0VfRU1QVFk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX0NSRUFURV9GQUlMVVJFIj5YTUxfUk5HUF9DUkVBVEVfRkFJTFVSRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfREFUQV9DT05URU5UIj5YTUxfUk5HUF9EQVRBX0NPTlRFTlQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX0RFRklORV9DUkVBVEVfRkFJTEVEIj5YTUxfUk5HUF9ERUZJTkVfQ1JFQVRFX0ZBSUxFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfREVGSU5FX0VNUFRZIj5YTUxfUk5HUF9ERUZJTkVfRU1QVFk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX0RFRklORV9NSVNTSU5HIj5YTUxfUk5HUF9ERUZJTkVfTUlTU0lORzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfREVGSU5FX05BTUVfTUlTU0lORyI+WE1MX1JOR1BfREVGSU5FX05BTUVfTUlTU0lORzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfREVGX0NIT0lDRV9BTkRfSU5URVJMRUFWRSI+WE1MX1JOR1BfREVGX0NIT0lDRV9BTkRfSU5URVJMRUFWRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfRUxFTUVOVF9DT05URU5UIj5YTUxfUk5HUF9FTEVNRU5UX0NPTlRFTlQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX0VMRU1FTlRfRU1QVFkiPlhNTF9STkdQX0VMRU1FTlRfRU1QVFk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX0VMRU1FTlRfTkFNRSI+WE1MX1JOR1BfRUxFTUVOVF9OQU1FPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9FTEVNRU5UX05PX0NPTlRFTlQiPlhNTF9STkdQX0VMRU1FTlRfTk9fQ09OVEVOVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfRUxFTV9DT05URU5UX0VNUFRZIj5YTUxfUk5HUF9FTEVNX0NPTlRFTlRfRU1QVFk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX0VMRU1fQ09OVEVOVF9FUlJPUiI+WE1MX1JOR1BfRUxFTV9DT05URU5UX0VSUk9SPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9FTEVNX1RFWFRfQ09ORkxJQ1QiPlhNTF9STkdQX0VMRU1fVEVYVF9DT05GTElDVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfRU1QVFkiPlhNTF9STkdQX0VNUFRZPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9FTVBUWV9DT05TVFJVQ1QiPlhNTF9STkdQX0VNUFRZX0NPTlNUUlVDVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfRU1QVFlfQ09OVEVOVCI+WE1MX1JOR1BfRU1QVFlfQ09OVEVOVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfRU1QVFlfTk9UX0VNUFRZIj5YTUxfUk5HUF9FTVBUWV9OT1RfRU1QVFk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX0VSUk9SX1RZUEVfTElCIj5YTUxfUk5HUF9FUlJPUl9UWVBFX0xJQjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfRVhDRVBUX0VNUFRZIj5YTUxfUk5HUF9FWENFUFRfRU1QVFk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX0VYQ0VQVF9NSVNTSU5HIj5YTUxfUk5HUF9FWENFUFRfTUlTU0lORzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfRVhDRVBUX01VTFRJUExFIj5YTUxfUk5HUF9FWENFUFRfTVVMVElQTEU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX0VYQ0VQVF9OT19DT05URU5UIj5YTUxfUk5HUF9FWENFUFRfTk9fQ09OVEVOVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfRVhURVJOQUxSRUZfRU1UUFkiPlhNTF9STkdQX0VYVEVSTkFMUkVGX0VNVFBZPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9FWFRFUk5BTFJFRl9SRUNVUlNFIj5YTUxfUk5HUF9FWFRFUk5BTFJFRl9SRUNVUlNFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9FWFRFUk5BTF9SRUZfRkFJTFVSRSI+WE1MX1JOR1BfRVhURVJOQUxfUkVGX0ZBSUxVUkU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX0ZPUkJJRERFTl9BVFRSSUJVVEUiPlhNTF9STkdQX0ZPUkJJRERFTl9BVFRSSUJVVEU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX0ZPUkVJR05fRUxFTUVOVCI+WE1MX1JOR1BfRk9SRUlHTl9FTEVNRU5UPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9HUkFNTUFSX0NPTlRFTlQiPlhNTF9STkdQX0dSQU1NQVJfQ09OVEVOVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfR1JBTU1BUl9FTVBUWSI+WE1MX1JOR1BfR1JBTU1BUl9FTVBUWTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfR1JBTU1BUl9NSVNTSU5HIj5YTUxfUk5HUF9HUkFNTUFSX01JU1NJTkc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX0dSQU1NQVJfTk9fU1RBUlQiPlhNTF9STkdQX0dSQU1NQVJfTk9fU1RBUlQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX0dST1VQX0FUVFJfQ09ORkxJQ1QiPlhNTF9STkdQX0dST1VQX0FUVFJfQ09ORkxJQ1Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX0hSRUZfRVJST1IiPlhNTF9STkdQX0hSRUZfRVJST1I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX0lOQ0xVREVfRU1QVFkiPlhNTF9STkdQX0lOQ0xVREVfRU1QVFk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX0lOQ0xVREVfRkFJTFVSRSI+WE1MX1JOR1BfSU5DTFVERV9GQUlMVVJFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9JTkNMVURFX1JFQ1VSU0UiPlhNTF9STkdQX0lOQ0xVREVfUkVDVVJTRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfSU5URVJMRUFWRV9BREQiPlhNTF9STkdQX0lOVEVSTEVBVkVfQUREPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9JTlRFUkxFQVZFX0NSRUFURV9GQUlMRUQiPlhNTF9STkdQX0lOVEVSTEVBVkVfQ1JFQVRFX0ZBSUxFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfSU5URVJMRUFWRV9FTVBUWSI+WE1MX1JOR1BfSU5URVJMRUFWRV9FTVBUWTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfSU5URVJMRUFWRV9OT19DT05URU5UIj5YTUxfUk5HUF9JTlRFUkxFQVZFX05PX0NPTlRFTlQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX0lOVkFMSURfREVGSU5FX05BTUUiPlhNTF9STkdQX0lOVkFMSURfREVGSU5FX05BTUU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX0lOVkFMSURfVVJJIj5YTUxfUk5HUF9JTlZBTElEX1VSSTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfSU5WQUxJRF9WQUxVRSI+WE1MX1JOR1BfSU5WQUxJRF9WQUxVRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfTUlTU0lOR19IUkVGIj5YTUxfUk5HUF9NSVNTSU5HX0hSRUY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX05BTUVfTUlTU0lORyI+WE1MX1JOR1BfTkFNRV9NSVNTSU5HPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9ORUVEX0NPTUJJTkUiPlhNTF9STkdQX05FRURfQ09NQklORTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfTk9UQUxMT1dFRF9OT1RfRU1QVFkiPlhNTF9STkdQX05PVEFMTE9XRURfTk9UX0VNUFRZPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9OU05BTUVfQVRUUl9BTkNFU1RPUiI+WE1MX1JOR1BfTlNOQU1FX0FUVFJfQU5DRVNUT1I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX05TTkFNRV9OT19OUyI+WE1MX1JOR1BfTlNOQU1FX05PX05TPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9QQVJBTV9GT1JCSURERU4iPlhNTF9STkdQX1BBUkFNX0ZPUkJJRERFTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUEFSQU1fTkFNRV9NSVNTSU5HIj5YTUxfUk5HUF9QQVJBTV9OQU1FX01JU1NJTkc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX1BBUkVOVFJFRl9DUkVBVEVfRkFJTEVEIj5YTUxfUk5HUF9QQVJFTlRSRUZfQ1JFQVRFX0ZBSUxFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUEFSRU5UUkVGX05BTUVfSU5WQUxJRCI+WE1MX1JOR1BfUEFSRU5UUkVGX05BTUVfSU5WQUxJRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUEFSRU5UUkVGX05PVF9FTVBUWSI+WE1MX1JOR1BfUEFSRU5UUkVGX05PVF9FTVBUWTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUEFSRU5UUkVGX05PX05BTUUiPlhNTF9STkdQX1BBUkVOVFJFRl9OT19OQU1FPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9QQVJFTlRSRUZfTk9fUEFSRU5UIj5YTUxfUk5HUF9QQVJFTlRSRUZfTk9fUEFSRU5UPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9QQVJTRV9FUlJPUiI+WE1MX1JOR1BfUEFSU0VfRVJST1I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX1BBVF9BTllOQU1FX0VYQ0VQVF9BTllOQU1FIj5YTUxfUk5HUF9QQVRfQU5ZTkFNRV9FWENFUFRfQU5ZTkFNRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUEFUX0FUVFJfQVRUUiI+WE1MX1JOR1BfUEFUX0FUVFJfQVRUUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUEFUX0FUVFJfRUxFTSI+WE1MX1JOR1BfUEFUX0FUVFJfRUxFTTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUEFUX0RBVEFfRVhDRVBUX0FUVFIiPlhNTF9STkdQX1BBVF9EQVRBX0VYQ0VQVF9BVFRSPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9QQVRfREFUQV9FWENFUFRfRUxFTSI+WE1MX1JOR1BfUEFUX0RBVEFfRVhDRVBUX0VMRU08L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX1BBVF9EQVRBX0VYQ0VQVF9FTVBUWSI+WE1MX1JOR1BfUEFUX0RBVEFfRVhDRVBUX0VNUFRZPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9QQVRfREFUQV9FWENFUFRfR1JPVVAiPlhNTF9STkdQX1BBVF9EQVRBX0VYQ0VQVF9HUk9VUDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUEFUX0RBVEFfRVhDRVBUX0lOVEVSTEVBVkUiPlhNTF9STkdQX1BBVF9EQVRBX0VYQ0VQVF9JTlRFUkxFQVZFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9QQVRfREFUQV9FWENFUFRfTElTVCI+WE1MX1JOR1BfUEFUX0RBVEFfRVhDRVBUX0xJU1Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX1BBVF9EQVRBX0VYQ0VQVF9PTkVNT1JFIj5YTUxfUk5HUF9QQVRfREFUQV9FWENFUFRfT05FTU9SRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUEFUX0RBVEFfRVhDRVBUX1JFRiI+WE1MX1JOR1BfUEFUX0RBVEFfRVhDRVBUX1JFRjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUEFUX0RBVEFfRVhDRVBUX1RFWFQiPlhNTF9STkdQX1BBVF9EQVRBX0VYQ0VQVF9URVhUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9QQVRfTElTVF9BVFRSIj5YTUxfUk5HUF9QQVRfTElTVF9BVFRSPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9QQVRfTElTVF9FTEVNIj5YTUxfUk5HUF9QQVRfTElTVF9FTEVNPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9QQVRfTElTVF9JTlRFUkxFQVZFIj5YTUxfUk5HUF9QQVRfTElTVF9JTlRFUkxFQVZFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9QQVRfTElTVF9MSVNUIj5YTUxfUk5HUF9QQVRfTElTVF9MSVNUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9QQVRfTElTVF9SRUYiPlhNTF9STkdQX1BBVF9MSVNUX1JFRjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUEFUX0xJU1RfVEVYVCI+WE1MX1JOR1BfUEFUX0xJU1RfVEVYVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUEFUX05TTkFNRV9FWENFUFRfQU5ZTkFNRSI+WE1MX1JOR1BfUEFUX05TTkFNRV9FWENFUFRfQU5ZTkFNRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUEFUX05TTkFNRV9FWENFUFRfTlNOQU1FIj5YTUxfUk5HUF9QQVRfTlNOQU1FX0VYQ0VQVF9OU05BTUU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX1BBVF9PTkVNT1JFX0dST1VQX0FUVFIiPlhNTF9STkdQX1BBVF9PTkVNT1JFX0dST1VQX0FUVFI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX1BBVF9PTkVNT1JFX0lOVEVSTEVBVkVfQVRUUiI+WE1MX1JOR1BfUEFUX09ORU1PUkVfSU5URVJMRUFWRV9BVFRSPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9QQVRfU1RBUlRfQVRUUiI+WE1MX1JOR1BfUEFUX1NUQVJUX0FUVFI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX1BBVF9TVEFSVF9EQVRBIj5YTUxfUk5HUF9QQVRfU1RBUlRfREFUQTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUEFUX1NUQVJUX0VNUFRZIj5YTUxfUk5HUF9QQVRfU1RBUlRfRU1QVFk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX1BBVF9TVEFSVF9HUk9VUCI+WE1MX1JOR1BfUEFUX1NUQVJUX0dST1VQPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9QQVRfU1RBUlRfSU5URVJMRUFWRSI+WE1MX1JOR1BfUEFUX1NUQVJUX0lOVEVSTEVBVkU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX1BBVF9TVEFSVF9MSVNUIj5YTUxfUk5HUF9QQVRfU1RBUlRfTElTVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUEFUX1NUQVJUX09ORU1PUkUiPlhNTF9STkdQX1BBVF9TVEFSVF9PTkVNT1JFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9QQVRfU1RBUlRfVEVYVCI+WE1MX1JOR1BfUEFUX1NUQVJUX1RFWFQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX1BBVF9TVEFSVF9WQUxVRSI+WE1MX1JOR1BfUEFUX1NUQVJUX1ZBTFVFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9QUkVGSVhfVU5ERUZJTkVEIj5YTUxfUk5HUF9QUkVGSVhfVU5ERUZJTkVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9SRUZfQ1JFQVRFX0ZBSUxFRCI+WE1MX1JOR1BfUkVGX0NSRUFURV9GQUlMRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX1JFRl9DWUNMRSI+WE1MX1JOR1BfUkVGX0NZQ0xFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9SRUZfTkFNRV9JTlZBTElEIj5YTUxfUk5HUF9SRUZfTkFNRV9JTlZBTElEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9SRUZfTk9UX0VNUFRZIj5YTUxfUk5HUF9SRUZfTk9UX0VNUFRZPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9SRUZfTk9fREVGIj5YTUxfUk5HUF9SRUZfTk9fREVGPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9SRUZfTk9fTkFNRSI+WE1MX1JOR1BfUkVGX05PX05BTUU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX1NUQVJUX0NIT0lDRV9BTkRfSU5URVJMRUFWRSI+WE1MX1JOR1BfU1RBUlRfQ0hPSUNFX0FORF9JTlRFUkxFQVZFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9TVEFSVF9DT05URU5UIj5YTUxfUk5HUF9TVEFSVF9DT05URU5UPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9TVEFSVF9FTVBUWSI+WE1MX1JOR1BfU1RBUlRfRU1QVFk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX1NUQVJUX01JU1NJTkciPlhNTF9STkdQX1NUQVJUX01JU1NJTkc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX1RFWFRfRVhQRUNURUQiPlhNTF9STkdQX1RFWFRfRVhQRUNURUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX1RFWFRfSEFTX0NISUxEIj5YTUxfUk5HUF9URVhUX0hBU19DSElMRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfVFlQRV9NSVNTSU5HIj5YTUxfUk5HUF9UWVBFX01JU1NJTkc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX1RZUEVfTk9UX0ZPVU5EIj5YTUxfUk5HUF9UWVBFX05PVF9GT1VORDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfVFlQRV9WQUxVRSI+WE1MX1JOR1BfVFlQRV9WQUxVRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfVU5LTk9XTl9BVFRSSUJVVEUiPlhNTF9STkdQX1VOS05PV05fQVRUUklCVVRFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9VTktOT1dOX0NPTUJJTkUiPlhNTF9STkdQX1VOS05PV05fQ09NQklORTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfVU5LTk9XTl9DT05TVFJVQ1QiPlhNTF9STkdQX1VOS05PV05fQ09OU1RSVUNUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9VTktOT1dOX1RZUEVfTElCIj5YTUxfUk5HUF9VTktOT1dOX1RZUEVfTElCPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9VUklfRlJBR01FTlQiPlhNTF9STkdQX1VSSV9GUkFHTUVOVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfVVJJX05PVF9BQlNPTFVURSI+WE1MX1JOR1BfVVJJX05PVF9BQlNPTFVURTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfVkFMVUVfRU1QVFkiPlhNTF9STkdQX1ZBTFVFX0VNUFRZPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9WQUxVRV9OT19DT05URU5UIj5YTUxfUk5HUF9WQUxVRV9OT19DT05URU5UPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9YTUxOU19OQU1FIj5YTUxfUk5HUF9YTUxOU19OQU1FPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9YTUxfTlMiPlhNTF9STkdQX1hNTF9OUzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNhdmUuaHRtbCNYTUxfU0FWRV9BU19IVE1MIj5YTUxfU0FWRV9BU19IVE1MPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2F2ZS5odG1sI1hNTF9TQVZFX0FTX1hNTCI+WE1MX1NBVkVfQVNfWE1MPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0FWRV9DSEFSX0lOVkFMSUQiPlhNTF9TQVZFX0NIQVJfSU5WQUxJRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNhdmUuaHRtbCNYTUxfU0FWRV9GT1JNQVQiPlhNTF9TQVZFX0ZPUk1BVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NBVkVfTk9UX1VURjgiPlhNTF9TQVZFX05PVF9VVEY4PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2F2ZS5odG1sI1hNTF9TQVZFX05PX0RFQ0wiPlhNTF9TQVZFX05PX0RFQ0w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQVZFX05PX0RPQ1RZUEUiPlhNTF9TQVZFX05PX0RPQ1RZUEU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzYXZlLmh0bWwjWE1MX1NBVkVfTk9fRU1QVFkiPlhNTF9TQVZFX05PX0VNUFRZPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2F2ZS5odG1sI1hNTF9TQVZFX05PX1hIVE1MIj5YTUxfU0FWRV9OT19YSFRNTDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NBVkVfVU5LTk9XTl9FTkNPRElORyI+WE1MX1NBVkVfVU5LTk9XTl9FTkNPRElORzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNhdmUuaHRtbCNYTUxfU0FWRV9XU05PTlNJRyI+WE1MX1NBVkVfV1NOT05TSUc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzYXZlLmh0bWwjWE1MX1NBVkVfWEhUTUwiPlhNTF9TQVZFX1hIVE1MPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1NBWDJfTUFHSUMiPlhNTF9TQVgyX01BR0lDPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9BR19QUk9QU19DT1JSRUNUIj5YTUxfU0NIRU1BUF9BR19QUk9QU19DT1JSRUNUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9BVFRSRk9STURFRkFVTFRfVkFMVUUiPlhNTF9TQ0hFTUFQX0FUVFJGT1JNREVGQVVMVF9WQUxVRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfQVRUUkdSUF9OT05BTUVfTk9SRUYiPlhNTF9TQ0hFTUFQX0FUVFJHUlBfTk9OQU1FX05PUkVGPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9BVFRSX05PTkFNRV9OT1JFRiI+WE1MX1NDSEVNQVBfQVRUUl9OT05BTUVfTk9SRUY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0FVX1BST1BTX0NPUlJFQ1QiPlhNTF9TQ0hFTUFQX0FVX1BST1BTX0NPUlJFQ1Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0FVX1BST1BTX0NPUlJFQ1RfMiI+WE1MX1NDSEVNQVBfQVVfUFJPUFNfQ09SUkVDVF8yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9BX1BST1BTX0NPUlJFQ1RfMiI+WE1MX1NDSEVNQVBfQV9QUk9QU19DT1JSRUNUXzI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0FfUFJPUFNfQ09SUkVDVF8zIj5YTUxfU0NIRU1BUF9BX1BST1BTX0NPUlJFQ1RfMzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfQ09NUExFWFRZUEVfTk9OQU1FX05PUkVGIj5YTUxfU0NIRU1BUF9DT01QTEVYVFlQRV9OT05BTUVfTk9SRUY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0NPU19BTExfTElNSVRFRCI+WE1MX1NDSEVNQVBfQ09TX0FMTF9MSU1JVEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9DT1NfQ1RfRVhURU5EU18xXzEiPlhNTF9TQ0hFTUFQX0NPU19DVF9FWFRFTkRTXzFfMTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfQ09TX0NUX0VYVEVORFNfMV8yIj5YTUxfU0NIRU1BUF9DT1NfQ1RfRVhURU5EU18xXzI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0NPU19DVF9FWFRFTkRTXzFfMyI+WE1MX1NDSEVNQVBfQ09TX0NUX0VYVEVORFNfMV8zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9DT1NfU1RfREVSSVZFRF9PS18yXzEiPlhNTF9TQ0hFTUFQX0NPU19TVF9ERVJJVkVEX09LXzJfMTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfQ09TX1NUX0RFUklWRURfT0tfMl8yIj5YTUxfU0NIRU1BUF9DT1NfU1RfREVSSVZFRF9PS18yXzI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMV8xIj5YTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzFfMTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18xXzIiPlhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMV8yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzFfM18xIj5YTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzFfM18xPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzFfM18yIj5YTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzFfM18yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzJfMSI+WE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMl8zXzFfMSI+WE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzNfMV8xPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzJfM18xXzIiPlhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMl8zXzFfMjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzNfMl8xIj5YTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzJfM18yXzE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMl8zXzJfMiI+WE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzNfMl8yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzJfM18yXzMiPlhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMl8zXzJfMzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzNfMl80Ij5YTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzJfM18yXzQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMl8zXzJfNSI+WE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzNfMl81PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzNfMSI+WE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfM18zXzEiPlhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfM18zXzE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfM18zXzFfMiI+WE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzNfMV8yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzNfM18yXzEiPlhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfM18zXzJfMTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzNfMl8yIj5YTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzNfM18yXzI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfM18zXzJfMyI+WE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzNfMl8zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzNfM18yXzQiPlhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfM18zXzJfNDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzNfMl81Ij5YTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzNfM18yXzU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0NPU19WQUxJRF9ERUZBVUxUXzEiPlhNTF9TQ0hFTUFQX0NPU19WQUxJRF9ERUZBVUxUXzE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0NPU19WQUxJRF9ERUZBVUxUXzJfMSI+WE1MX1NDSEVNQVBfQ09TX1ZBTElEX0RFRkFVTFRfMl8xPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9DT1NfVkFMSURfREVGQVVMVF8yXzJfMSI+WE1MX1NDSEVNQVBfQ09TX1ZBTElEX0RFRkFVTFRfMl8yXzE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0NPU19WQUxJRF9ERUZBVUxUXzJfMl8yIj5YTUxfU0NIRU1BUF9DT1NfVkFMSURfREVGQVVMVF8yXzJfMjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfQ1RfUFJPUFNfQ09SUkVDVF8xIj5YTUxfU0NIRU1BUF9DVF9QUk9QU19DT1JSRUNUXzE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0NUX1BST1BTX0NPUlJFQ1RfMiI+WE1MX1NDSEVNQVBfQ1RfUFJPUFNfQ09SUkVDVF8yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9DVF9QUk9QU19DT1JSRUNUXzMiPlhNTF9TQ0hFTUFQX0NUX1BST1BTX0NPUlJFQ1RfMzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfQ1RfUFJPUFNfQ09SUkVDVF80Ij5YTUxfU0NIRU1BUF9DVF9QUk9QU19DT1JSRUNUXzQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0NUX1BST1BTX0NPUlJFQ1RfNSI+WE1MX1NDSEVNQVBfQ1RfUFJPUFNfQ09SUkVDVF81PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9DVkNfU0lNUExFX1RZUEUiPlhNTF9TQ0hFTUFQX0NWQ19TSU1QTEVfVFlQRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfQ19QUk9QU19DT1JSRUNUIj5YTUxfU0NIRU1BUF9DX1BST1BTX0NPUlJFQ1Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0RFRl9BTkRfUFJFRklYIj5YTUxfU0NIRU1BUF9ERUZfQU5EX1BSRUZJWDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfREVSSVZBVElPTl9PS19SRVNUUklDVElPTl8xIj5YTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0RFUklWQVRJT05fT0tfUkVTVFJJQ1RJT05fMl8xXzEiPlhNTF9TQ0hFTUFQX0RFUklWQVRJT05fT0tfUkVTVFJJQ1RJT05fMl8xXzE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0RFUklWQVRJT05fT0tfUkVTVFJJQ1RJT05fMl8xXzIiPlhNTF9TQ0hFTUFQX0RFUklWQVRJT05fT0tfUkVTVFJJQ1RJT05fMl8xXzI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0RFUklWQVRJT05fT0tfUkVTVFJJQ1RJT05fMl8xXzMiPlhNTF9TQ0hFTUFQX0RFUklWQVRJT05fT0tfUkVTVFJJQ1RJT05fMl8xXzM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0RFUklWQVRJT05fT0tfUkVTVFJJQ1RJT05fMl8yIj5YTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzJfMjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfREVSSVZBVElPTl9PS19SRVNUUklDVElPTl8zIj5YTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0RFUklWQVRJT05fT0tfUkVTVFJJQ1RJT05fNF8xIj5YTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzRfMTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfREVSSVZBVElPTl9PS19SRVNUUklDVElPTl80XzIiPlhNTF9TQ0hFTUFQX0RFUklWQVRJT05fT0tfUkVTVFJJQ1RJT05fNF8yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzRfMyI+WE1MX1NDSEVNQVBfREVSSVZBVElPTl9PS19SRVNUUklDVElPTl80XzM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0VMRU1GT1JNREVGQVVMVF9WQUxVRSI+WE1MX1NDSEVNQVBfRUxFTUZPUk1ERUZBVUxUX1ZBTFVFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9FTEVNX0RFRkFVTFRfRklYRUQiPlhNTF9TQ0hFTUFQX0VMRU1fREVGQVVMVF9GSVhFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfRUxFTV9OT05BTUVfTk9SRUYiPlhNTF9TQ0hFTUFQX0VMRU1fTk9OQU1FX05PUkVGPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9FWFRFTlNJT05fTk9fQkFTRSI+WE1MX1NDSEVNQVBfRVhURU5TSU9OX05PX0JBU0U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0VfUFJPUFNfQ09SUkVDVF8yIj5YTUxfU0NIRU1BUF9FX1BST1BTX0NPUlJFQ1RfMjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfRV9QUk9QU19DT1JSRUNUXzMiPlhNTF9TQ0hFTUFQX0VfUFJPUFNfQ09SUkVDVF8zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9FX1BST1BTX0NPUlJFQ1RfNCI+WE1MX1NDSEVNQVBfRV9QUk9QU19DT1JSRUNUXzQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0VfUFJPUFNfQ09SUkVDVF81Ij5YTUxfU0NIRU1BUF9FX1BST1BTX0NPUlJFQ1RfNTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfRV9QUk9QU19DT1JSRUNUXzYiPlhNTF9TQ0hFTUFQX0VfUFJPUFNfQ09SUkVDVF82PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9GQUNFVF9OT19WQUxVRSI+WE1MX1NDSEVNQVBfRkFDRVRfTk9fVkFMVUU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0ZBSUxFRF9CVUlMRF9JTVBPUlQiPlhNTF9TQ0hFTUFQX0ZBSUxFRF9CVUlMRF9JTVBPUlQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0ZBSUxFRF9MT0FEIj5YTUxfU0NIRU1BUF9GQUlMRURfTE9BRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfRkFJTEVEX1BBUlNFIj5YTUxfU0NIRU1BUF9GQUlMRURfUEFSU0U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0dST1VQX05PTkFNRV9OT1JFRiI+WE1MX1NDSEVNQVBfR1JPVVBfTk9OQU1FX05PUkVGPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9JTVBPUlRfTkFNRVNQQUNFX05PVF9VUkkiPlhNTF9TQ0hFTUFQX0lNUE9SVF9OQU1FU1BBQ0VfTk9UX1VSSTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfSU1QT1JUX1JFREVGSU5FX05TTkFNRSI+WE1MX1NDSEVNQVBfSU1QT1JUX1JFREVGSU5FX05TTkFNRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfSU1QT1JUX1NDSEVNQV9OT1RfVVJJIj5YTUxfU0NIRU1BUF9JTVBPUlRfU0NIRU1BX05PVF9VUkk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0lOQ0xVREVfU0NIRU1BX05PVF9VUkkiPlhNTF9TQ0hFTUFQX0lOQ0xVREVfU0NIRU1BX05PVF9VUkk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0lOQ0xVREVfU0NIRU1BX05PX1VSSSI+WE1MX1NDSEVNQVBfSU5DTFVERV9TQ0hFTUFfTk9fVVJJPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9JTlRFUk5BTCI+WE1MX1NDSEVNQVBfSU5URVJOQUw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0lOVEVSU0VDVElPTl9OT1RfRVhQUkVTU0lCTEUiPlhNTF9TQ0hFTUFQX0lOVEVSU0VDVElPTl9OT1RfRVhQUkVTU0lCTEU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0lOVkFMSURfQVRUUl9DT01CSU5BVElPTiI+WE1MX1NDSEVNQVBfSU5WQUxJRF9BVFRSX0NPTUJJTkFUSU9OPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9JTlZBTElEX0FUVFJfSU5MSU5FX0NPTUJJTkFUSU9OIj5YTUxfU0NIRU1BUF9JTlZBTElEX0FUVFJfSU5MSU5FX0NPTUJJTkFUSU9OPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9JTlZBTElEX0FUVFJfTkFNRSI+WE1MX1NDSEVNQVBfSU5WQUxJRF9BVFRSX05BTUU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0lOVkFMSURfQVRUUl9VU0UiPlhNTF9TQ0hFTUFQX0lOVkFMSURfQVRUUl9VU0U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0lOVkFMSURfQk9PTEVBTiI+WE1MX1NDSEVNQVBfSU5WQUxJRF9CT09MRUFOPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9JTlZBTElEX0VOVU0iPlhNTF9TQ0hFTUFQX0lOVkFMSURfRU5VTTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfSU5WQUxJRF9GQUNFVCI+WE1MX1NDSEVNQVBfSU5WQUxJRF9GQUNFVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfSU5WQUxJRF9GQUNFVF9WQUxVRSI+WE1MX1NDSEVNQVBfSU5WQUxJRF9GQUNFVF9WQUxVRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfSU5WQUxJRF9NQVhPQ0NVUlMiPlhNTF9TQ0hFTUFQX0lOVkFMSURfTUFYT0NDVVJTPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9JTlZBTElEX01JTk9DQ1VSUyI+WE1MX1NDSEVNQVBfSU5WQUxJRF9NSU5PQ0NVUlM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0lOVkFMSURfUkVGX0FORF9TVUJUWVBFIj5YTUxfU0NIRU1BUF9JTlZBTElEX1JFRl9BTkRfU1VCVFlQRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfSU5WQUxJRF9XSElURV9TUEFDRSI+WE1MX1NDSEVNQVBfSU5WQUxJRF9XSElURV9TUEFDRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfTUdfUFJPUFNfQ09SUkVDVF8xIj5YTUxfU0NIRU1BUF9NR19QUk9QU19DT1JSRUNUXzE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX01HX1BST1BTX0NPUlJFQ1RfMiI+WE1MX1NDSEVNQVBfTUdfUFJPUFNfQ09SUkVDVF8yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9NSVNTSU5HX1NJTVBMRVRZUEVfQ0hJTEQiPlhNTF9TQ0hFTUFQX01JU1NJTkdfU0lNUExFVFlQRV9DSElMRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfTk9BVFRSX05PUkVGIj5YTUxfU0NIRU1BUF9OT0FUVFJfTk9SRUY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX05PUk9PVCI+WE1MX1NDSEVNQVBfTk9ST09UPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9OT1RBVElPTl9OT19OQU1FIj5YTUxfU0NIRU1BUF9OT1RBVElPTl9OT19OQU1FPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9OT1RISU5HX1RPX1BBUlNFIj5YTUxfU0NIRU1BUF9OT1RISU5HX1RPX1BBUlNFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9OT1RZUEVfTk9SRUYiPlhNTF9TQ0hFTUFQX05PVFlQRV9OT1JFRjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfTk9UX0RFVEVSTUlOSVNUSUMiPlhNTF9TQ0hFTUFQX05PVF9ERVRFUk1JTklTVElDPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9OT1RfU0NIRU1BIj5YTUxfU0NIRU1BUF9OT1RfU0NIRU1BPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9OT19YTUxOUyI+WE1MX1NDSEVNQVBfTk9fWE1MTlM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX05PX1hTSSI+WE1MX1NDSEVNQVBfTk9fWFNJPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9QUkVGSVhfVU5ERUZJTkVEIj5YTUxfU0NIRU1BUF9QUkVGSVhfVU5ERUZJTkVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9QX1BST1BTX0NPUlJFQ1RfMSI+WE1MX1NDSEVNQVBfUF9QUk9QU19DT1JSRUNUXzE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1BfUFJPUFNfQ09SUkVDVF8yXzEiPlhNTF9TQ0hFTUFQX1BfUFJPUFNfQ09SUkVDVF8yXzE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1BfUFJPUFNfQ09SUkVDVF8yXzIiPlhNTF9TQ0hFTUFQX1BfUFJPUFNfQ09SUkVDVF8yXzI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1JFQ1VSU0lWRSI+WE1MX1NDSEVNQVBfUkVDVVJTSVZFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9SRURFRklORURfQVRUUiI+WE1MX1NDSEVNQVBfUkVERUZJTkVEX0FUVFI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1JFREVGSU5FRF9BVFRSR1JPVVAiPlhNTF9TQ0hFTUFQX1JFREVGSU5FRF9BVFRSR1JPVVA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1JFREVGSU5FRF9FTEVNRU5UIj5YTUxfU0NIRU1BUF9SRURFRklORURfRUxFTUVOVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfUkVERUZJTkVEX0dST1VQIj5YTUxfU0NIRU1BUF9SRURFRklORURfR1JPVVA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1JFREVGSU5FRF9OT1RBVElPTiI+WE1MX1NDSEVNQVBfUkVERUZJTkVEX05PVEFUSU9OPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9SRURFRklORURfVFlQRSI+WE1MX1NDSEVNQVBfUkVERUZJTkVEX1RZUEU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1JFRl9BTkRfQ09OVEVOVCI+WE1MX1NDSEVNQVBfUkVGX0FORF9DT05URU5UPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9SRUZfQU5EX1NVQlRZUEUiPlhNTF9TQ0hFTUFQX1JFRl9BTkRfU1VCVFlQRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfUkVHRVhQX0lOVkFMSUQiPlhNTF9TQ0hFTUFQX1JFR0VYUF9JTlZBTElEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9SRVNUUklDVElPTl9OT05BTUVfTk9SRUYiPlhNTF9TQ0hFTUFQX1JFU1RSSUNUSU9OX05PTkFNRV9OT1JFRjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfUzRTX0FUVFJfSU5WQUxJRF9WQUxVRSI+WE1MX1NDSEVNQVBfUzRTX0FUVFJfSU5WQUxJRF9WQUxVRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfUzRTX0FUVFJfTUlTU0lORyI+WE1MX1NDSEVNQVBfUzRTX0FUVFJfTUlTU0lORzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfUzRTX0FUVFJfTk9UX0FMTE9XRUQiPlhNTF9TQ0hFTUFQX1M0U19BVFRSX05PVF9BTExPV0VEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9TNFNfRUxFTV9NSVNTSU5HIj5YTUxfU0NIRU1BUF9TNFNfRUxFTV9NSVNTSU5HPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9TNFNfRUxFTV9OT1RfQUxMT1dFRCI+WE1MX1NDSEVNQVBfUzRTX0VMRU1fTk9UX0FMTE9XRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1NJTVBMRVRZUEVfTk9OQU1FIj5YTUxfU0NIRU1BUF9TSU1QTEVUWVBFX05PTkFNRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfU1JDX0FUVFJJQlVURV8xIj5YTUxfU0NIRU1BUF9TUkNfQVRUUklCVVRFXzE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1NSQ19BVFRSSUJVVEVfMiI+WE1MX1NDSEVNQVBfU1JDX0FUVFJJQlVURV8yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9TUkNfQVRUUklCVVRFXzNfMSI+WE1MX1NDSEVNQVBfU1JDX0FUVFJJQlVURV8zXzE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1NSQ19BVFRSSUJVVEVfM18yIj5YTUxfU0NIRU1BUF9TUkNfQVRUUklCVVRFXzNfMjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfU1JDX0FUVFJJQlVURV80Ij5YTUxfU0NIRU1BUF9TUkNfQVRUUklCVVRFXzQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1NSQ19BVFRSSUJVVEVfR1JPVVBfMSI+WE1MX1NDSEVNQVBfU1JDX0FUVFJJQlVURV9HUk9VUF8xPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9TUkNfQVRUUklCVVRFX0dST1VQXzIiPlhNTF9TQ0hFTUFQX1NSQ19BVFRSSUJVVEVfR1JPVVBfMjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfU1JDX0FUVFJJQlVURV9HUk9VUF8zIj5YTUxfU0NIRU1BUF9TUkNfQVRUUklCVVRFX0dST1VQXzM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1NSQ19DVF8xIj5YTUxfU0NIRU1BUF9TUkNfQ1RfMTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfU1JDX0VMRU1FTlRfMSI+WE1MX1NDSEVNQVBfU1JDX0VMRU1FTlRfMTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfU1JDX0VMRU1FTlRfMl8xIj5YTUxfU0NIRU1BUF9TUkNfRUxFTUVOVF8yXzE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1NSQ19FTEVNRU5UXzJfMiI+WE1MX1NDSEVNQVBfU1JDX0VMRU1FTlRfMl8yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9TUkNfRUxFTUVOVF8zIj5YTUxfU0NIRU1BUF9TUkNfRUxFTUVOVF8zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9TUkNfSU1QT1JUIj5YTUxfU0NIRU1BUF9TUkNfSU1QT1JUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9TUkNfSU1QT1JUXzFfMSI+WE1MX1NDSEVNQVBfU1JDX0lNUE9SVF8xXzE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1NSQ19JTVBPUlRfMV8yIj5YTUxfU0NIRU1BUF9TUkNfSU1QT1JUXzFfMjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfU1JDX0lNUE9SVF8yIj5YTUxfU0NIRU1BUF9TUkNfSU1QT1JUXzI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1NSQ19JTVBPUlRfMl8xIj5YTUxfU0NIRU1BUF9TUkNfSU1QT1JUXzJfMTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfU1JDX0lNUE9SVF8yXzIiPlhNTF9TQ0hFTUFQX1NSQ19JTVBPUlRfMl8yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9TUkNfSU1QT1JUXzNfMSI+WE1MX1NDSEVNQVBfU1JDX0lNUE9SVF8zXzE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1NSQ19JTVBPUlRfM18yIj5YTUxfU0NIRU1BUF9TUkNfSU1QT1JUXzNfMjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfU1JDX0lOQ0xVREUiPlhNTF9TQ0hFTUFQX1NSQ19JTkNMVURFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9TUkNfTElTVF9JVEVNVFlQRV9PUl9TSU1QTEVUWVBFIj5YTUxfU0NIRU1BUF9TUkNfTElTVF9JVEVNVFlQRV9PUl9TSU1QTEVUWVBFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9TUkNfUkVERUZJTkUiPlhNTF9TQ0hFTUFQX1NSQ19SRURFRklORTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfU1JDX1JFU09MVkUiPlhNTF9TQ0hFTUFQX1NSQ19SRVNPTFZFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9TUkNfUkVTVFJJQ1RJT05fQkFTRV9PUl9TSU1QTEVUWVBFIj5YTUxfU0NIRU1BUF9TUkNfUkVTVFJJQ1RJT05fQkFTRV9PUl9TSU1QTEVUWVBFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9TUkNfU0lNUExFX1RZUEVfMSI+WE1MX1NDSEVNQVBfU1JDX1NJTVBMRV9UWVBFXzE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1NSQ19TSU1QTEVfVFlQRV8yIj5YTUxfU0NIRU1BUF9TUkNfU0lNUExFX1RZUEVfMjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfU1JDX1NJTVBMRV9UWVBFXzMiPlhNTF9TQ0hFTUFQX1NSQ19TSU1QTEVfVFlQRV8zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9TUkNfU0lNUExFX1RZUEVfNCI+WE1MX1NDSEVNQVBfU1JDX1NJTVBMRV9UWVBFXzQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1NSQ19VTklPTl9NRU1CRVJUWVBFU19PUl9TSU1QTEVUWVBFUyI+WE1MX1NDSEVNQVBfU1JDX1VOSU9OX01FTUJFUlRZUEVTX09SX1NJTVBMRVRZUEVTPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9TVF9QUk9QU19DT1JSRUNUXzEiPlhNTF9TQ0hFTUFQX1NUX1BST1BTX0NPUlJFQ1RfMTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfU1RfUFJPUFNfQ09SUkVDVF8yIj5YTUxfU0NIRU1BUF9TVF9QUk9QU19DT1JSRUNUXzI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1NUX1BST1BTX0NPUlJFQ1RfMyI+WE1MX1NDSEVNQVBfU1RfUFJPUFNfQ09SUkVDVF8zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9TVVBFUk5VTUVST1VTX0xJU1RfSVRFTV9UWVBFIj5YTUxfU0NIRU1BUF9TVVBFUk5VTUVST1VTX0xJU1RfSVRFTV9UWVBFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9UWVBFX0FORF9TVUJUWVBFIj5YTUxfU0NIRU1BUF9UWVBFX0FORF9TVUJUWVBFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9VTklPTl9OT1RfRVhQUkVTU0lCTEUiPlhNTF9TQ0hFTUFQX1VOSU9OX05PVF9FWFBSRVNTSUJMRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfVU5LTk9XTl9BTExfQ0hJTEQiPlhNTF9TQ0hFTUFQX1VOS05PV05fQUxMX0NISUxEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9VTktOT1dOX0FOWUFUVFJJQlVURV9DSElMRCI+WE1MX1NDSEVNQVBfVU5LTk9XTl9BTllBVFRSSUJVVEVfQ0hJTEQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1VOS05PV05fQVRUUkdSUF9DSElMRCI+WE1MX1NDSEVNQVBfVU5LTk9XTl9BVFRSR1JQX0NISUxEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9VTktOT1dOX0FUVFJJQlVURV9HUk9VUCI+WE1MX1NDSEVNQVBfVU5LTk9XTl9BVFRSSUJVVEVfR1JPVVA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1VOS05PV05fQVRUUl9DSElMRCI+WE1MX1NDSEVNQVBfVU5LTk9XTl9BVFRSX0NISUxEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9VTktOT1dOX0JBU0VfVFlQRSI+WE1MX1NDSEVNQVBfVU5LTk9XTl9CQVNFX1RZUEU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1VOS05PV05fQ0hPSUNFX0NISUxEIj5YTUxfU0NIRU1BUF9VTktOT1dOX0NIT0lDRV9DSElMRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfVU5LTk9XTl9DT01QTEVYQ09OVEVOVF9DSElMRCI+WE1MX1NDSEVNQVBfVU5LTk9XTl9DT01QTEVYQ09OVEVOVF9DSElMRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfVU5LTk9XTl9DT01QTEVYVFlQRV9DSElMRCI+WE1MX1NDSEVNQVBfVU5LTk9XTl9DT01QTEVYVFlQRV9DSElMRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfVU5LTk9XTl9FTEVNX0NISUxEIj5YTUxfU0NIRU1BUF9VTktOT1dOX0VMRU1fQ0hJTEQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1VOS05PV05fRVhURU5TSU9OX0NISUxEIj5YTUxfU0NIRU1BUF9VTktOT1dOX0VYVEVOU0lPTl9DSElMRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfVU5LTk9XTl9GQUNFVF9DSElMRCI+WE1MX1NDSEVNQVBfVU5LTk9XTl9GQUNFVF9DSElMRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfVU5LTk9XTl9GQUNFVF9UWVBFIj5YTUxfU0NIRU1BUF9VTktOT1dOX0ZBQ0VUX1RZUEU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1VOS05PV05fR1JPVVBfQ0hJTEQiPlhNTF9TQ0hFTUFQX1VOS05PV05fR1JPVVBfQ0hJTEQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1VOS05PV05fSU1QT1JUX0NISUxEIj5YTUxfU0NIRU1BUF9VTktOT1dOX0lNUE9SVF9DSElMRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfVU5LTk9XTl9JTkNMVURFX0NISUxEIj5YTUxfU0NIRU1BUF9VTktOT1dOX0lOQ0xVREVfQ0hJTEQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1VOS05PV05fTElTVF9DSElMRCI+WE1MX1NDSEVNQVBfVU5LTk9XTl9MSVNUX0NISUxEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9VTktOT1dOX01FTUJFUl9UWVBFIj5YTUxfU0NIRU1BUF9VTktOT1dOX01FTUJFUl9UWVBFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9VTktOT1dOX05PVEFUSU9OX0NISUxEIj5YTUxfU0NIRU1BUF9VTktOT1dOX05PVEFUSU9OX0NISUxEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9VTktOT1dOX1BSRUZJWCI+WE1MX1NDSEVNQVBfVU5LTk9XTl9QUkVGSVg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1VOS05PV05fUFJPQ0VTU0NPTlRFTlRfQ0hJTEQiPlhNTF9TQ0hFTUFQX1VOS05PV05fUFJPQ0VTU0NPTlRFTlRfQ0hJTEQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1VOS05PV05fUkVGIj5YTUxfU0NIRU1BUF9VTktOT1dOX1JFRjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfVU5LTk9XTl9SRVNUUklDVElPTl9DSElMRCI+WE1MX1NDSEVNQVBfVU5LTk9XTl9SRVNUUklDVElPTl9DSElMRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfVU5LTk9XTl9TQ0hFTUFTX0NISUxEIj5YTUxfU0NIRU1BUF9VTktOT1dOX1NDSEVNQVNfQ0hJTEQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1VOS05PV05fU0VRVUVOQ0VfQ0hJTEQiPlhNTF9TQ0hFTUFQX1VOS05PV05fU0VRVUVOQ0VfQ0hJTEQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1VOS05PV05fU0lNUExFQ09OVEVOVF9DSElMRCI+WE1MX1NDSEVNQVBfVU5LTk9XTl9TSU1QTEVDT05URU5UX0NISUxEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9VTktOT1dOX1NJTVBMRVRZUEVfQ0hJTEQiPlhNTF9TQ0hFTUFQX1VOS05PV05fU0lNUExFVFlQRV9DSElMRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfVU5LTk9XTl9UWVBFIj5YTUxfU0NIRU1BUF9VTktOT1dOX1RZUEU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1VOS05PV05fVU5JT05fQ0hJTEQiPlhNTF9TQ0hFTUFQX1VOS05PV05fVU5JT05fQ0hJTEQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1dBUk5fQVRUUl9QT0lOVExFU1NfUFJPSCI+WE1MX1NDSEVNQVBfV0FSTl9BVFRSX1BPSU5UTEVTU19QUk9IPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9XQVJOX0FUVFJfUkVERUNMX1BST0giPlhNTF9TQ0hFTUFQX1dBUk5fQVRUUl9SRURFQ0xfUFJPSDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfV0FSTl9TS0lQX1NDSEVNQSI+WE1MX1NDSEVNQVBfV0FSTl9TS0lQX1NDSEVNQTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfV0FSTl9VTkxPQ0FURURfU0NIRU1BIj5YTUxfU0NIRU1BUF9XQVJOX1VOTE9DQVRFRF9TQ0hFTUE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1dJTERDQVJEX0lOVkFMSURfTlNfTUVNQkVSIj5YTUxfU0NIRU1BUF9XSUxEQ0FSRF9JTlZBTElEX05TX01FTUJFUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19BTllBVFRSX0xBWCI+WE1MX1NDSEVNQVNfQU5ZQVRUUl9MQVg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfQU5ZQVRUUl9TS0lQIj5YTUxfU0NIRU1BU19BTllBVFRSX1NLSVA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfQU5ZQVRUUl9TVFJJQ1QiPlhNTF9TQ0hFTUFTX0FOWUFUVFJfU1RSSUNUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0FOWVNJTVBMRVRZUEUiPlhNTF9TQ0hFTUFTX0FOWVNJTVBMRVRZUEU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfQU5ZVFlQRSI+WE1MX1NDSEVNQVNfQU5ZVFlQRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19BTllVUkkiPlhNTF9TQ0hFTUFTX0FOWVVSSTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19BTllfTEFYIj5YTUxfU0NIRU1BU19BTllfTEFYPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0FOWV9TS0lQIj5YTUxfU0NIRU1BU19BTllfU0tJUDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19BTllfU1RSSUNUIj5YTUxfU0NIRU1BU19BTllfU1RSSUNUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0FUVFJHUk9VUF9HTE9CQUwiPlhNTF9TQ0hFTUFTX0FUVFJHUk9VUF9HTE9CQUw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfQVRUUkdST1VQX0hBU19SRUZTIj5YTUxfU0NIRU1BU19BVFRSR1JPVVBfSEFTX1JFRlM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfQVRUUkdST1VQX01BUktFRCI+WE1MX1NDSEVNQVNfQVRUUkdST1VQX01BUktFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19BVFRSR1JPVVBfUkVERUZJTkVEIj5YTUxfU0NIRU1BU19BVFRSR1JPVVBfUkVERUZJTkVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0FUVFJHUk9VUF9XSUxEQ0FSRF9CVUlMREVEIj5YTUxfU0NIRU1BU19BVFRSR1JPVVBfV0lMRENBUkRfQlVJTERFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19BVFRSX0ZJWEVEIj5YTUxfU0NIRU1BU19BVFRSX0ZJWEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0FUVFJfR0xPQkFMIj5YTUxfU0NIRU1BU19BVFRSX0dMT0JBTDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19BVFRSX0lOVEVSTkFMX1JFU09MVkVEIj5YTUxfU0NIRU1BU19BVFRSX0lOVEVSTkFMX1JFU09MVkVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0FUVFJfTlNERUZBVUxUIj5YTUxfU0NIRU1BU19BVFRSX05TREVGQVVMVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19BVFRSX1VTRV9PUFRJT05BTCI+WE1MX1NDSEVNQVNfQVRUUl9VU0VfT1BUSU9OQUw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfQVRUUl9VU0VfUFJPSElCSVRFRCI+WE1MX1NDSEVNQVNfQVRUUl9VU0VfUFJPSElCSVRFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19BVFRSX1VTRV9SRVFVSVJFRCI+WE1MX1NDSEVNQVNfQVRUUl9VU0VfUkVRVUlSRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfQkFTRTY0QklOQVJZIj5YTUxfU0NIRU1BU19CQVNFNjRCSU5BUlk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfQkxPQ0tfREVGQVVMVF9FWFRFTlNJT04iPlhNTF9TQ0hFTUFTX0JMT0NLX0RFRkFVTFRfRVhURU5TSU9OPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0JMT0NLX0RFRkFVTFRfUkVTVFJJQ1RJT04iPlhNTF9TQ0hFTUFTX0JMT0NLX0RFRkFVTFRfUkVTVFJJQ1RJT048L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfQkxPQ0tfREVGQVVMVF9TVUJTVElUVVRJT04iPlhNTF9TQ0hFTUFTX0JMT0NLX0RFRkFVTFRfU1VCU1RJVFVUSU9OPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0JPT0xFQU4iPlhNTF9TQ0hFTUFTX0JPT0xFQU48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfQllURSI+WE1MX1NDSEVNQVNfQllURTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19EQVRFIj5YTUxfU0NIRU1BU19EQVRFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0RBVEVUSU1FIj5YTUxfU0NIRU1BU19EQVRFVElNRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19ERUNJTUFMIj5YTUxfU0NIRU1BU19ERUNJTUFMPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0RPVUJMRSI+WE1MX1NDSEVNQVNfRE9VQkxFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0RVUkFUSU9OIj5YTUxfU0NIRU1BU19EVVJBVElPTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19FTEVNX0FCU1RSQUNUIj5YTUxfU0NIRU1BU19FTEVNX0FCU1RSQUNUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0VMRU1fQkxPQ0tfQUJTRU5UIj5YTUxfU0NIRU1BU19FTEVNX0JMT0NLX0FCU0VOVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19FTEVNX0JMT0NLX0VYVEVOU0lPTiI+WE1MX1NDSEVNQVNfRUxFTV9CTE9DS19FWFRFTlNJT048L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfRUxFTV9CTE9DS19SRVNUUklDVElPTiI+WE1MX1NDSEVNQVNfRUxFTV9CTE9DS19SRVNUUklDVElPTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19FTEVNX0JMT0NLX1NVQlNUSVRVVElPTiI+WE1MX1NDSEVNQVNfRUxFTV9CTE9DS19TVUJTVElUVVRJT048L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfRUxFTV9DSVJDVUxBUiI+WE1MX1NDSEVNQVNfRUxFTV9DSVJDVUxBUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19FTEVNX0RFRkFVTFQiPlhNTF9TQ0hFTUFTX0VMRU1fREVGQVVMVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19FTEVNX0ZJTkFMX0FCU0VOVCI+WE1MX1NDSEVNQVNfRUxFTV9GSU5BTF9BQlNFTlQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfRUxFTV9GSU5BTF9FWFRFTlNJT04iPlhNTF9TQ0hFTUFTX0VMRU1fRklOQUxfRVhURU5TSU9OPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0VMRU1fRklOQUxfUkVTVFJJQ1RJT04iPlhNTF9TQ0hFTUFTX0VMRU1fRklOQUxfUkVTVFJJQ1RJT048L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfRUxFTV9GSVhFRCI+WE1MX1NDSEVNQVNfRUxFTV9GSVhFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19FTEVNX0dMT0JBTCI+WE1MX1NDSEVNQVNfRUxFTV9HTE9CQUw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfRUxFTV9JTlRFUk5BTF9DSEVDS0VEIj5YTUxfU0NIRU1BU19FTEVNX0lOVEVSTkFMX0NIRUNLRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfRUxFTV9JTlRFUk5BTF9SRVNPTFZFRCI+WE1MX1NDSEVNQVNfRUxFTV9JTlRFUk5BTF9SRVNPTFZFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19FTEVNX05JTExBQkxFIj5YTUxfU0NIRU1BU19FTEVNX05JTExBQkxFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0VMRU1fTlNERUZBVUxUIj5YTUxfU0NIRU1BU19FTEVNX05TREVGQVVMVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19FTEVNX1JFRiI+WE1MX1NDSEVNQVNfRUxFTV9SRUY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfRUxFTV9TVUJTVF9HUk9VUF9IRUFEIj5YTUxfU0NIRU1BU19FTEVNX1NVQlNUX0dST1VQX0hFQUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfRUxFTV9UT1BMRVZFTCI+WE1MX1NDSEVNQVNfRUxFTV9UT1BMRVZFTDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19FTlRJVElFUyI+WE1MX1NDSEVNQVNfRU5USVRJRVM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfRU5USVRZIj5YTUxfU0NIRU1BU19FTlRJVFk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjWE1MX1NDSEVNQVNfRVJSXyI+WE1MX1NDSEVNQVNfRVJSXzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCNYTUxfU0NIRU1BU19FUlJfQVRUUklOVkFMSUQiPlhNTF9TQ0hFTUFTX0VSUl9BVFRSSU5WQUxJRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCNYTUxfU0NIRU1BU19FUlJfQVRUUlVOS05PV04iPlhNTF9TQ0hFTUFTX0VSUl9BVFRSVU5LTk9XTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCNYTUxfU0NIRU1BU19FUlJfQ09OU1RSVUNUIj5YTUxfU0NIRU1BU19FUlJfQ09OU1RSVUNUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI1hNTF9TQ0hFTUFTX0VSUl9FTEVNQ09OVCI+WE1MX1NDSEVNQVNfRVJSX0VMRU1DT05UPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI1hNTF9TQ0hFTUFTX0VSUl9FWFRSQUNPTlRFTlQiPlhNTF9TQ0hFTUFTX0VSUl9FWFRSQUNPTlRFTlQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjWE1MX1NDSEVNQVNfRVJSX0ZBQ0VUIj5YTUxfU0NIRU1BU19FUlJfRkFDRVQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjWE1MX1NDSEVNQVNfRVJSX0hBVkVERUZBVUxUIj5YTUxfU0NIRU1BU19FUlJfSEFWRURFRkFVTFQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjWE1MX1NDSEVNQVNfRVJSX0lOVEVSTkFMIj5YTUxfU0NIRU1BU19FUlJfSU5URVJOQUw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjWE1MX1NDSEVNQVNfRVJSX0lOVkFMSURBVFRSIj5YTUxfU0NIRU1BU19FUlJfSU5WQUxJREFUVFI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjWE1MX1NDSEVNQVNfRVJSX0lOVkFMSURFTEVNIj5YTUxfU0NIRU1BU19FUlJfSU5WQUxJREVMRU08L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjWE1MX1NDSEVNQVNfRVJSX0lTQUJTVFJBQ1QiPlhNTF9TQ0hFTUFTX0VSUl9JU0FCU1RSQUNUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI1hNTF9TQ0hFTUFTX0VSUl9NSVNTSU5HIj5YTUxfU0NIRU1BU19FUlJfTUlTU0lORzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCNYTUxfU0NIRU1BU19FUlJfTk9ST0xMQkFDSyI+WE1MX1NDSEVNQVNfRVJSX05PUk9MTEJBQ0s8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjWE1MX1NDSEVNQVNfRVJSX05PUk9PVCI+WE1MX1NDSEVNQVNfRVJSX05PUk9PVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCNYTUxfU0NIRU1BU19FUlJfTk9UREVURVJNSU5JU1QiPlhNTF9TQ0hFTUFTX0VSUl9OT1RERVRFUk1JTklTVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCNYTUxfU0NIRU1BU19FUlJfTk9URU1QVFkiPlhNTF9TQ0hFTUFTX0VSUl9OT1RFTVBUWTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCNYTUxfU0NIRU1BU19FUlJfTk9UTklMTEFCTEUiPlhNTF9TQ0hFTUFTX0VSUl9OT1ROSUxMQUJMRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCNYTUxfU0NIRU1BU19FUlJfTk9UU0lNUExFIj5YTUxfU0NIRU1BU19FUlJfTk9UU0lNUExFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI1hNTF9TQ0hFTUFTX0VSUl9OT1RUT1BMRVZFTCI+WE1MX1NDSEVNQVNfRVJSX05PVFRPUExFVkVMPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI1hNTF9TQ0hFTUFTX0VSUl9OT1RZUEUiPlhNTF9TQ0hFTUFTX0VSUl9OT1RZUEU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjWE1MX1NDSEVNQVNfRVJSX09LIj5YTUxfU0NIRU1BU19FUlJfT0s8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjWE1MX1NDSEVNQVNfRVJSX1VOREVDTEFSRURFTEVNIj5YTUxfU0NIRU1BU19FUlJfVU5ERUNMQVJFREVMRU08L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjWE1MX1NDSEVNQVNfRVJSX1ZBTFVFIj5YTUxfU0NIRU1BU19FUlJfVkFMVUU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjWE1MX1NDSEVNQVNfRVJSX1dST05HRUxFTSI+WE1MX1NDSEVNQVNfRVJSX1dST05HRUxFTTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCNYTUxfU0NIRU1BU19FUlJfWFhYIj5YTUxfU0NIRU1BU19FUlJfWFhYPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0ZBQ0VUX0NPTExBUFNFIj5YTUxfU0NIRU1BU19GQUNFVF9DT0xMQVBTRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19GQUNFVF9QUkVTRVJWRSI+WE1MX1NDSEVNQVNfRkFDRVRfUFJFU0VSVkU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfRkFDRVRfUkVQTEFDRSI+WE1MX1NDSEVNQVNfRkFDRVRfUkVQTEFDRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19GQUNFVF9VTktOT1dOIj5YTUxfU0NIRU1BU19GQUNFVF9VTktOT1dOPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0ZJTkFMX0RFRkFVTFRfRVhURU5TSU9OIj5YTUxfU0NIRU1BU19GSU5BTF9ERUZBVUxUX0VYVEVOU0lPTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19GSU5BTF9ERUZBVUxUX0xJU1QiPlhNTF9TQ0hFTUFTX0ZJTkFMX0RFRkFVTFRfTElTVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19GSU5BTF9ERUZBVUxUX1JFU1RSSUNUSU9OIj5YTUxfU0NIRU1BU19GSU5BTF9ERUZBVUxUX1JFU1RSSUNUSU9OPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0ZJTkFMX0RFRkFVTFRfVU5JT04iPlhNTF9TQ0hFTUFTX0ZJTkFMX0RFRkFVTFRfVU5JT048L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfRkxPQVQiPlhNTF9TQ0hFTUFTX0ZMT0FUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0dEQVkiPlhNTF9TQ0hFTUFTX0dEQVk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfR01PTlRIIj5YTUxfU0NIRU1BU19HTU9OVEg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfR01PTlRIREFZIj5YTUxfU0NIRU1BU19HTU9OVEhEQVk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfR1lFQVIiPlhNTF9TQ0hFTUFTX0dZRUFSPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0dZRUFSTU9OVEgiPlhNTF9TQ0hFTUFTX0dZRUFSTU9OVEg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfSEVYQklOQVJZIj5YTUxfU0NIRU1BU19IRVhCSU5BUlk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfSUQiPlhNTF9TQ0hFTUFTX0lEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0lEUkVGIj5YTUxfU0NIRU1BU19JRFJFRjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19JRFJFRlMiPlhNTF9TQ0hFTUFTX0lEUkVGUzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19JTkNMVURJTkdfQ09OVkVSVF9OUyI+WE1MX1NDSEVNQVNfSU5DTFVESU5HX0NPTlZFUlRfTlM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfSU5UIj5YTUxfU0NIRU1BU19JTlQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfSU5URUdFUiI+WE1MX1NDSEVNQVNfSU5URUdFUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19MQU5HVUFHRSI+WE1MX1NDSEVNQVNfTEFOR1VBR0U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfTE9ORyI+WE1MX1NDSEVNQVNfTE9ORzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19OQU1FIj5YTUxfU0NIRU1BU19OQU1FPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX05DTkFNRSI+WE1MX1NDSEVNQVNfTkNOQU1FPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX05JTlRFR0VSIj5YTUxfU0NIRU1BU19OSU5URUdFUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19OTVRPS0VOIj5YTUxfU0NIRU1BU19OTVRPS0VOPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX05NVE9LRU5TIj5YTUxfU0NIRU1BU19OTVRPS0VOUzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19OTklOVEVHRVIiPlhNTF9TQ0hFTUFTX05OSU5URUdFUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19OT1JNU1RSSU5HIj5YTUxfU0NIRU1BU19OT1JNU1RSSU5HPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX05PVEFUSU9OIj5YTUxfU0NIRU1BU19OT1RBVElPTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19OUElOVEVHRVIiPlhNTF9TQ0hFTUFTX05QSU5URUdFUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19QSU5URUdFUiI+WE1MX1NDSEVNQVNfUElOVEVHRVI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfUU5BTUUiPlhNTF9TQ0hFTUFTX1FOQU1FPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1FVQUxJRl9BVFRSIj5YTUxfU0NIRU1BU19RVUFMSUZfQVRUUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19RVUFMSUZfRUxFTSI+WE1MX1NDSEVNQVNfUVVBTElGX0VMRU08L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfU0hPUlQiPlhNTF9TQ0hFTUFTX1NIT1JUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1NUUklORyI+WE1MX1NDSEVNQVNfU1RSSU5HPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RJTUUiPlhNTF9TQ0hFTUFTX1RJTUU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVE9LRU4iPlhNTF9TQ0hFTUFTX1RPS0VOPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfQUJTVFJBQ1QiPlhNTF9TQ0hFTUFTX1RZUEVfQUJTVFJBQ1Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVFlQRV9CTE9DS19ERUZBVUxUIj5YTUxfU0NIRU1BU19UWVBFX0JMT0NLX0RFRkFVTFQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVFlQRV9CTE9DS19FWFRFTlNJT04iPlhNTF9TQ0hFTUFTX1RZUEVfQkxPQ0tfRVhURU5TSU9OPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfQkxPQ0tfUkVTVFJJQ1RJT04iPlhNTF9TQ0hFTUFTX1RZUEVfQkxPQ0tfUkVTVFJJQ1RJT048L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVFlQRV9CVUlMVElOX1BSSU1JVElWRSI+WE1MX1NDSEVNQVNfVFlQRV9CVUlMVElOX1BSSU1JVElWRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX0RFUklWQVRJT05fTUVUSE9EX0VYVEVOU0lPTiI+WE1MX1NDSEVNQVNfVFlQRV9ERVJJVkFUSU9OX01FVEhPRF9FWFRFTlNJT048L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVFlQRV9ERVJJVkFUSU9OX01FVEhPRF9SRVNUUklDVElPTiI+WE1MX1NDSEVNQVNfVFlQRV9ERVJJVkFUSU9OX01FVEhPRF9SRVNUUklDVElPTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX0ZBQ0VUU05FRURWQUxVRSI+WE1MX1NDSEVNQVNfVFlQRV9GQUNFVFNORUVEVkFMVUU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVFlQRV9GSU5BTF9ERUZBVUxUIj5YTUxfU0NIRU1BU19UWVBFX0ZJTkFMX0RFRkFVTFQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVFlQRV9GSU5BTF9FWFRFTlNJT04iPlhNTF9TQ0hFTUFTX1RZUEVfRklOQUxfRVhURU5TSU9OPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfRklOQUxfTElTVCI+WE1MX1NDSEVNQVNfVFlQRV9GSU5BTF9MSVNUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfRklOQUxfUkVTVFJJQ1RJT04iPlhNTF9TQ0hFTUFTX1RZUEVfRklOQUxfUkVTVFJJQ1RJT048L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVFlQRV9GSU5BTF9VTklPTiI+WE1MX1NDSEVNQVNfVFlQRV9GSU5BTF9VTklPTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX0ZJWFVQXzEiPlhNTF9TQ0hFTUFTX1RZUEVfRklYVVBfMTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX0dMT0JBTCI+WE1MX1NDSEVNQVNfVFlQRV9HTE9CQUw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVFlQRV9IQVNfRkFDRVRTIj5YTUxfU0NIRU1BU19UWVBFX0hBU19GQUNFVFM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVFlQRV9JTlRFUk5BTF9JTlZBTElEIj5YTUxfU0NIRU1BU19UWVBFX0lOVEVSTkFMX0lOVkFMSUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVFlQRV9JTlRFUk5BTF9SRVNPTFZFRCI+WE1MX1NDSEVNQVNfVFlQRV9JTlRFUk5BTF9SRVNPTFZFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX01BUktFRCI+WE1MX1NDSEVNQVNfVFlQRV9NQVJLRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVFlQRV9NSVhFRCI+WE1MX1NDSEVNQVNfVFlQRV9NSVhFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX05PUk1WQUxVRU5FRURFRCI+WE1MX1NDSEVNQVNfVFlQRV9OT1JNVkFMVUVORUVERUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVFlQRV9PV05FRF9BVFRSX1dJTERDQVJEIj5YTUxfU0NIRU1BU19UWVBFX09XTkVEX0FUVFJfV0lMRENBUkQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVFlQRV9SRURFRklORUQiPlhNTF9TQ0hFTUFTX1RZUEVfUkVERUZJTkVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfVkFSSUVUWV9BQlNFTlQiPlhNTF9TQ0hFTUFTX1RZUEVfVkFSSUVUWV9BQlNFTlQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX0FUT01JQyI+WE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX0FUT01JQzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX1ZBUklFVFlfTElTVCI+WE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX0xJU1Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX1VOSU9OIj5YTUxfU0NIRU1BU19UWVBFX1ZBUklFVFlfVU5JT048L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVFlQRV9XSElURVNQQUNFX0NPTExBUFNFIj5YTUxfU0NIRU1BU19UWVBFX1dISVRFU1BBQ0VfQ09MTEFQU0U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVFlQRV9XSElURVNQQUNFX1BSRVNFUlZFIj5YTUxfU0NIRU1BU19UWVBFX1dISVRFU1BBQ0VfUFJFU0VSVkU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVFlQRV9XSElURVNQQUNFX1JFUExBQ0UiPlhNTF9TQ0hFTUFTX1RZUEVfV0hJVEVTUEFDRV9SRVBMQUNFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1VCWVRFIj5YTUxfU0NIRU1BU19VQllURTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19VSU5UIj5YTUxfU0NIRU1BU19VSU5UPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1VMT05HIj5YTUxfU0NIRU1BU19VTE9ORzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19VTktOT1dOIj5YTUxfU0NIRU1BU19VTktOT1dOPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1VTSE9SVCI+WE1MX1NDSEVNQVNfVVNIT1JUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1dJTERDQVJEX0NPTVBMRVRFIj5YTUxfU0NIRU1BU19XSUxEQ0FSRF9DT01QTEVURTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVRST05WX0FTU0VSVCI+WE1MX1NDSEVNQVRST05WX0FTU0VSVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVRST05WX1JFUE9SVCI+WE1MX1NDSEVNQVRST05WX1JFUE9SVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXRyb24uaHRtbCNYTUxfU0NIRU1BVFJPTl9PVVRfQlVGRkVSIj5YTUxfU0NIRU1BVFJPTl9PVVRfQlVGRkVSPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hdHJvbi5odG1sI1hNTF9TQ0hFTUFUUk9OX09VVF9FUlJPUiI+WE1MX1NDSEVNQVRST05fT1VUX0VSUk9SPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hdHJvbi5odG1sI1hNTF9TQ0hFTUFUUk9OX09VVF9GSUxFIj5YTUxfU0NIRU1BVFJPTl9PVVRfRklMRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXRyb24uaHRtbCNYTUxfU0NIRU1BVFJPTl9PVVRfSU8iPlhNTF9TQ0hFTUFUUk9OX09VVF9JTzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXRyb24uaHRtbCNYTUxfU0NIRU1BVFJPTl9PVVRfUVVJRVQiPlhNTF9TQ0hFTUFUUk9OX09VVF9RVUlFVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXRyb24uaHRtbCNYTUxfU0NIRU1BVFJPTl9PVVRfVEVYVCI+WE1MX1NDSEVNQVRST05fT1VUX1RFWFQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWF0cm9uLmh0bWwjWE1MX1NDSEVNQVRST05fT1VUX1hNTCI+WE1MX1NDSEVNQVRST05fT1VUX1hNTDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQVRUUklOVkFMSUQiPlhNTF9TQ0hFTUFWX0FUVFJJTlZBTElEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9BVFRSVU5LTk9XTiI+WE1MX1NDSEVNQVZfQVRUUlVOS05PV048L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NPTlNUUlVDVCI+WE1MX1NDSEVNQVZfQ09OU1RSVUNUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9DVkNfQVRUUklCVVRFXzEiPlhNTF9TQ0hFTUFWX0NWQ19BVFRSSUJVVEVfMTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX0FUVFJJQlVURV8yIj5YTUxfU0NIRU1BVl9DVkNfQVRUUklCVVRFXzI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19BVFRSSUJVVEVfMyI+WE1MX1NDSEVNQVZfQ1ZDX0FUVFJJQlVURV8zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9DVkNfQVRUUklCVVRFXzQiPlhNTF9TQ0hFTUFWX0NWQ19BVFRSSUJVVEVfNDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX0FVIj5YTUxfU0NIRU1BVl9DVkNfQVU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfMSI+WE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV8xPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzJfMSI+WE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV8yXzE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfMl8yIj5YTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzJfMjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV8yXzMiPlhNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfMl8zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzJfNCI+WE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV8yXzQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfM18xIj5YTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzNfMTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV8zXzJfMSI+WE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV8zXzJfMTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV8zXzJfMiI+WE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV8zXzJfMjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV80Ij5YTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfNV8xIj5YTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzVfMTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV81XzIiPlhNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfNV8yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9DVkNfREFUQVRZUEVfVkFMSURfMV8yXzEiPlhNTF9TQ0hFTUFWX0NWQ19EQVRBVFlQRV9WQUxJRF8xXzJfMTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX0RBVEFUWVBFX1ZBTElEXzFfMl8yIj5YTUxfU0NIRU1BVl9DVkNfREFUQVRZUEVfVkFMSURfMV8yXzI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19EQVRBVFlQRV9WQUxJRF8xXzJfMyI+WE1MX1NDSEVNQVZfQ1ZDX0RBVEFUWVBFX1ZBTElEXzFfMl8zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9DVkNfRUxUXzEiPlhNTF9TQ0hFTUFWX0NWQ19FTFRfMTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX0VMVF8yIj5YTUxfU0NIRU1BVl9DVkNfRUxUXzI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19FTFRfM18xIj5YTUxfU0NIRU1BVl9DVkNfRUxUXzNfMTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX0VMVF8zXzJfMSI+WE1MX1NDSEVNQVZfQ1ZDX0VMVF8zXzJfMTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX0VMVF8zXzJfMiI+WE1MX1NDSEVNQVZfQ1ZDX0VMVF8zXzJfMjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX0VMVF80XzEiPlhNTF9TQ0hFTUFWX0NWQ19FTFRfNF8xPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9DVkNfRUxUXzRfMiI+WE1MX1NDSEVNQVZfQ1ZDX0VMVF80XzI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19FTFRfNF8zIj5YTUxfU0NIRU1BVl9DVkNfRUxUXzRfMzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX0VMVF81XzFfMSI+WE1MX1NDSEVNQVZfQ1ZDX0VMVF81XzFfMTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX0VMVF81XzFfMiI+WE1MX1NDSEVNQVZfQ1ZDX0VMVF81XzFfMjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX0VMVF81XzJfMSI+WE1MX1NDSEVNQVZfQ1ZDX0VMVF81XzJfMTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX0VMVF81XzJfMl8xIj5YTUxfU0NIRU1BVl9DVkNfRUxUXzVfMl8yXzE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19FTFRfNV8yXzJfMl8xIj5YTUxfU0NIRU1BVl9DVkNfRUxUXzVfMl8yXzJfMTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX0VMVF81XzJfMl8yXzIiPlhNTF9TQ0hFTUFWX0NWQ19FTFRfNV8yXzJfMl8yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9DVkNfRUxUXzYiPlhNTF9TQ0hFTUFWX0NWQ19FTFRfNjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX0VMVF83Ij5YTUxfU0NIRU1BVl9DVkNfRUxUXzc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19FTlVNRVJBVElPTl9WQUxJRCI+WE1MX1NDSEVNQVZfQ1ZDX0VOVU1FUkFUSU9OX1ZBTElEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9DVkNfRkFDRVRfVkFMSUQiPlhNTF9TQ0hFTUFWX0NWQ19GQUNFVF9WQUxJRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX0ZSQUNUSU9ORElHSVRTX1ZBTElEIj5YTUxfU0NIRU1BVl9DVkNfRlJBQ1RJT05ESUdJVFNfVkFMSUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19JREMiPlhNTF9TQ0hFTUFWX0NWQ19JREM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19MRU5HVEhfVkFMSUQiPlhNTF9TQ0hFTUFWX0NWQ19MRU5HVEhfVkFMSUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19NQVhFWENMVVNJVkVfVkFMSUQiPlhNTF9TQ0hFTUFWX0NWQ19NQVhFWENMVVNJVkVfVkFMSUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19NQVhJTkNMVVNJVkVfVkFMSUQiPlhNTF9TQ0hFTUFWX0NWQ19NQVhJTkNMVVNJVkVfVkFMSUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19NQVhMRU5HVEhfVkFMSUQiPlhNTF9TQ0hFTUFWX0NWQ19NQVhMRU5HVEhfVkFMSUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19NSU5FWENMVVNJVkVfVkFMSUQiPlhNTF9TQ0hFTUFWX0NWQ19NSU5FWENMVVNJVkVfVkFMSUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19NSU5JTkNMVVNJVkVfVkFMSUQiPlhNTF9TQ0hFTUFWX0NWQ19NSU5JTkNMVVNJVkVfVkFMSUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19NSU5MRU5HVEhfVkFMSUQiPlhNTF9TQ0hFTUFWX0NWQ19NSU5MRU5HVEhfVkFMSUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19QQVRURVJOX1ZBTElEIj5YTUxfU0NIRU1BVl9DVkNfUEFUVEVSTl9WQUxJRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX1RPVEFMRElHSVRTX1ZBTElEIj5YTUxfU0NIRU1BVl9DVkNfVE9UQUxESUdJVFNfVkFMSUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19UWVBFXzEiPlhNTF9TQ0hFTUFWX0NWQ19UWVBFXzE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19UWVBFXzIiPlhNTF9TQ0hFTUFWX0NWQ19UWVBFXzI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19UWVBFXzNfMV8xIj5YTUxfU0NIRU1BVl9DVkNfVFlQRV8zXzFfMTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX1RZUEVfM18xXzIiPlhNTF9TQ0hFTUFWX0NWQ19UWVBFXzNfMV8yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9DVkNfV0lMRENBUkQiPlhNTF9TQ0hFTUFWX0NWQ19XSUxEQ0FSRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfRE9DVU1FTlRfRUxFTUVOVF9NSVNTSU5HIj5YTUxfU0NIRU1BVl9ET0NVTUVOVF9FTEVNRU5UX01JU1NJTkc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0VMRU1DT05UIj5YTUxfU0NIRU1BVl9FTEVNQ09OVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfRUxFTUVOVF9DT05URU5UIj5YTUxfU0NIRU1BVl9FTEVNRU5UX0NPTlRFTlQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0VYVFJBQ09OVEVOVCI+WE1MX1NDSEVNQVZfRVhUUkFDT05URU5UPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9GQUNFVCI+WE1MX1NDSEVNQVZfRkFDRVQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0hBVkVERUZBVUxUIj5YTUxfU0NIRU1BVl9IQVZFREVGQVVMVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfSU5URVJOQUwiPlhNTF9TQ0hFTUFWX0lOVEVSTkFMPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9JTlZBTElEQVRUUiI+WE1MX1NDSEVNQVZfSU5WQUxJREFUVFI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0lOVkFMSURFTEVNIj5YTUxfU0NIRU1BVl9JTlZBTElERUxFTTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfSVNBQlNUUkFDVCI+WE1MX1NDSEVNQVZfSVNBQlNUUkFDVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfTUlTQyI+WE1MX1NDSEVNQVZfTUlTQzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfTUlTU0lORyI+WE1MX1NDSEVNQVZfTUlTU0lORzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfTk9ST0xMQkFDSyI+WE1MX1NDSEVNQVZfTk9ST0xMQkFDSzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfTk9ST09UIj5YTUxfU0NIRU1BVl9OT1JPT1Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX05PVERFVEVSTUlOSVNUIj5YTUxfU0NIRU1BVl9OT1RERVRFUk1JTklTVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfTk9URU1QVFkiPlhNTF9TQ0hFTUFWX05PVEVNUFRZPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9OT1ROSUxMQUJMRSI+WE1MX1NDSEVNQVZfTk9UTklMTEFCTEU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX05PVFNJTVBMRSI+WE1MX1NDSEVNQVZfTk9UU0lNUExFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9OT1RUT1BMRVZFTCI+WE1MX1NDSEVNQVZfTk9UVE9QTEVWRUw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX05PVFlQRSI+WE1MX1NDSEVNQVZfTk9UWVBFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9VTkRFQ0xBUkVERUxFTSI+WE1MX1NDSEVNQVZfVU5ERUNMQVJFREVMRU08L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX1ZBTFVFIj5YTUxfU0NIRU1BVl9WQUxVRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfV1JPTkdFTEVNIj5YTUxfU0NIRU1BVl9XUk9OR0VMRU08L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQV9DT05URU5UX0FOWSI+WE1MX1NDSEVNQV9DT05URU5UX0FOWTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BX0NPTlRFTlRfQkFTSUMiPlhNTF9TQ0hFTUFfQ09OVEVOVF9CQVNJQzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BX0NPTlRFTlRfRUxFTUVOVFMiPlhNTF9TQ0hFTUFfQ09OVEVOVF9FTEVNRU5UUzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BX0NPTlRFTlRfRU1QVFkiPlhNTF9TQ0hFTUFfQ09OVEVOVF9FTVBUWTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BX0NPTlRFTlRfTUlYRUQiPlhNTF9TQ0hFTUFfQ09OVEVOVF9NSVhFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BX0NPTlRFTlRfTUlYRURfT1JfRUxFTUVOVFMiPlhNTF9TQ0hFTUFfQ09OVEVOVF9NSVhFRF9PUl9FTEVNRU5UUzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BX0NPTlRFTlRfU0lNUExFIj5YTUxfU0NIRU1BX0NPTlRFTlRfU0lNUExFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFfQ09OVEVOVF9VTktOT1dOIj5YTUxfU0NIRU1BX0NPTlRFTlRfVU5LTk9XTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BX0VYVFJBX0FUVFJfVVNFX1BST0hJQiI+WE1MX1NDSEVNQV9FWFRSQV9BVFRSX1VTRV9QUk9ISUI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQV9FWFRSQV9RTkFNRVJFRiI+WE1MX1NDSEVNQV9FWFRSQV9RTkFNRVJFRjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BX0ZBQ0VUX0VOVU1FUkFUSU9OIj5YTUxfU0NIRU1BX0ZBQ0VUX0VOVU1FUkFUSU9OPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFfRkFDRVRfRlJBQ1RJT05ESUdJVFMiPlhNTF9TQ0hFTUFfRkFDRVRfRlJBQ1RJT05ESUdJVFM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQV9GQUNFVF9MRU5HVEgiPlhNTF9TQ0hFTUFfRkFDRVRfTEVOR1RIPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFfRkFDRVRfTUFYRVhDTFVTSVZFIj5YTUxfU0NIRU1BX0ZBQ0VUX01BWEVYQ0xVU0lWRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BX0ZBQ0VUX01BWElOQ0xVU0lWRSI+WE1MX1NDSEVNQV9GQUNFVF9NQVhJTkNMVVNJVkU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQV9GQUNFVF9NQVhMRU5HVEgiPlhNTF9TQ0hFTUFfRkFDRVRfTUFYTEVOR1RIPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFfRkFDRVRfTUlORVhDTFVTSVZFIj5YTUxfU0NIRU1BX0ZBQ0VUX01JTkVYQ0xVU0lWRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BX0ZBQ0VUX01JTklOQ0xVU0lWRSI+WE1MX1NDSEVNQV9GQUNFVF9NSU5JTkNMVVNJVkU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQV9GQUNFVF9NSU5MRU5HVEgiPlhNTF9TQ0hFTUFfRkFDRVRfTUlOTEVOR1RIPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFfRkFDRVRfUEFUVEVSTiI+WE1MX1NDSEVNQV9GQUNFVF9QQVRURVJOPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFfRkFDRVRfVE9UQUxESUdJVFMiPlhNTF9TQ0hFTUFfRkFDRVRfVE9UQUxESUdJVFM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQV9GQUNFVF9XSElURVNQQUNFIj5YTUxfU0NIRU1BX0ZBQ0VUX1dISVRFU1BBQ0U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQV9UWVBFX0FMTCI+WE1MX1NDSEVNQV9UWVBFX0FMTDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BX1RZUEVfQU5ZIj5YTUxfU0NIRU1BX1RZUEVfQU5ZPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFfVFlQRV9BTllfQVRUUklCVVRFIj5YTUxfU0NIRU1BX1RZUEVfQU5ZX0FUVFJJQlVURTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BX1RZUEVfQVRUUklCVVRFIj5YTUxfU0NIRU1BX1RZUEVfQVRUUklCVVRFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFfVFlQRV9BVFRSSUJVVEVHUk9VUCI+WE1MX1NDSEVNQV9UWVBFX0FUVFJJQlVURUdST1VQPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFfVFlQRV9BVFRSSUJVVEVfVVNFIj5YTUxfU0NIRU1BX1RZUEVfQVRUUklCVVRFX1VTRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BX1RZUEVfQkFTSUMiPlhNTF9TQ0hFTUFfVFlQRV9CQVNJQzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BX1RZUEVfQ0hPSUNFIj5YTUxfU0NIRU1BX1RZUEVfQ0hPSUNFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFfVFlQRV9DT01QTEVYIj5YTUxfU0NIRU1BX1RZUEVfQ09NUExFWDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BX1RZUEVfQ09NUExFWF9DT05URU5UIj5YTUxfU0NIRU1BX1RZUEVfQ09NUExFWF9DT05URU5UPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFfVFlQRV9FTEVNRU5UIj5YTUxfU0NIRU1BX1RZUEVfRUxFTUVOVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BX1RZUEVfRVhURU5TSU9OIj5YTUxfU0NIRU1BX1RZUEVfRVhURU5TSU9OPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFfVFlQRV9GQUNFVCI+WE1MX1NDSEVNQV9UWVBFX0ZBQ0VUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFfVFlQRV9HUk9VUCI+WE1MX1NDSEVNQV9UWVBFX0dST1VQPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFfVFlQRV9JRENfS0VZIj5YTUxfU0NIRU1BX1RZUEVfSURDX0tFWTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BX1RZUEVfSURDX0tFWVJFRiI+WE1MX1NDSEVNQV9UWVBFX0lEQ19LRVlSRUY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQV9UWVBFX0lEQ19VTklRVUUiPlhNTF9TQ0hFTUFfVFlQRV9JRENfVU5JUVVFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFfVFlQRV9MSVNUIj5YTUxfU0NIRU1BX1RZUEVfTElTVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BX1RZUEVfTk9UQVRJT04iPlhNTF9TQ0hFTUFfVFlQRV9OT1RBVElPTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BX1RZUEVfUEFSVElDTEUiPlhNTF9TQ0hFTUFfVFlQRV9QQVJUSUNMRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BX1RZUEVfUkVTVFJJQ1RJT04iPlhNTF9TQ0hFTUFfVFlQRV9SRVNUUklDVElPTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BX1RZUEVfU0VRVUVOQ0UiPlhNTF9TQ0hFTUFfVFlQRV9TRVFVRU5DRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BX1RZUEVfU0lNUExFIj5YTUxfU0NIRU1BX1RZUEVfU0lNUExFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFfVFlQRV9TSU1QTEVfQ09OVEVOVCI+WE1MX1NDSEVNQV9UWVBFX1NJTVBMRV9DT05URU5UPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFfVFlQRV9VTklPTiI+WE1MX1NDSEVNQV9UWVBFX1VOSU9OPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFfVFlQRV9VUiI+WE1MX1NDSEVNQV9UWVBFX1VSPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI1hNTF9TQ0hFTUFfVkFMX1ZDX0lfQ1JFQVRFIj5YTUxfU0NIRU1BX1ZBTF9WQ19JX0NSRUFURTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI1hNTF9TQ0hFTUFfV0hJVEVTUEFDRV9DT0xMQVBTRSI+WE1MX1NDSEVNQV9XSElURVNQQUNFX0NPTExBUFNFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjWE1MX1NDSEVNQV9XSElURVNQQUNFX1BSRVNFUlZFIj5YTUxfU0NIRU1BX1dISVRFU1BBQ0VfUFJFU0VSVkU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCNYTUxfU0NIRU1BX1dISVRFU1BBQ0VfUkVQTEFDRSI+WE1MX1NDSEVNQV9XSElURVNQQUNFX1JFUExBQ0U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCNYTUxfU0NIRU1BX1dISVRFU1BBQ0VfVU5LTk9XTiI+WE1MX1NDSEVNQV9XSElURVNQQUNFX1VOS05PV048L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfU0tJUF9JRFMiPlhNTF9TS0lQX0lEUzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI1hNTF9TVUJTVElUVVRFX0JPVEgiPlhNTF9TVUJTVElUVVRFX0JPVEg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNYTUxfU1VCU1RJVFVURV9OT05FIj5YTUxfU1VCU1RJVFVURV9OT05FPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjWE1MX1NVQlNUSVRVVEVfUEVSRUYiPlhNTF9TVUJTVElUVVRFX1BFUkVGPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjWE1MX1NVQlNUSVRVVEVfUkVGIj5YTUxfU1VCU1RJVFVURV9SRUY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCNYTUxfVEVYVFJFQURFUl9NT0RFX0NMT1NFRCI+WE1MX1RFWFRSRUFERVJfTU9ERV9DTE9TRUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCNYTUxfVEVYVFJFQURFUl9NT0RFX0VPRiI+WE1MX1RFWFRSRUFERVJfTU9ERV9FT0Y8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCNYTUxfVEVYVFJFQURFUl9NT0RFX0VSUk9SIj5YTUxfVEVYVFJFQURFUl9NT0RFX0VSUk9SPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjWE1MX1RFWFRSRUFERVJfTU9ERV9JTklUSUFMIj5YTUxfVEVYVFJFQURFUl9NT0RFX0lOSVRJQUw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCNYTUxfVEVYVFJFQURFUl9NT0RFX0lOVEVSQUNUSVZFIj5YTUxfVEVYVFJFQURFUl9NT0RFX0lOVEVSQUNUSVZFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjWE1MX1RFWFRSRUFERVJfTU9ERV9SRUFESU5HIj5YTUxfVEVYVFJFQURFUl9NT0RFX1JFQURJTkc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX1RFWFRfTk9ERSI+WE1MX1RFWFRfTk9ERTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1RSRUVfSU5WQUxJRF9ERUMiPlhNTF9UUkVFX0lOVkFMSURfREVDPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfVFJFRV9JTlZBTElEX0hFWCI+WE1MX1RSRUVfSU5WQUxJRF9IRVg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9UUkVFX05PVF9VVEY4Ij5YTUxfVFJFRV9OT1RfVVRGODwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1RSRUVfVU5URVJNSU5BVEVEX0VOVElUWSI+WE1MX1RSRUVfVU5URVJNSU5BVEVEX0VOVElUWTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1dBUl9DQVRBTE9HX1BJIj5YTUxfV0FSX0NBVEFMT0dfUEk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9XQVJfRU5USVRZX1JFREVGSU5FRCI+WE1MX1dBUl9FTlRJVFlfUkVERUZJTkVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfV0FSX0xBTkdfVkFMVUUiPlhNTF9XQVJfTEFOR19WQUxVRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1dBUl9OU19DT0xVTU4iPlhNTF9XQVJfTlNfQ09MVU1OPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfV0FSX05TX1VSSSI+WE1MX1dBUl9OU19VUkk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9XQVJfTlNfVVJJX1JFTEFUSVZFIj5YTUxfV0FSX05TX1VSSV9SRUxBVElWRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1dBUl9TUEFDRV9WQUxVRSI+WE1MX1dBUl9TUEFDRV9WQUxVRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1dBUl9VTkRFQ0xBUkVEX0VOVElUWSI+WE1MX1dBUl9VTkRFQ0xBUkVEX0VOVElUWTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1dBUl9VTktOT1dOX1ZFUlNJT04iPlhNTF9XQVJfVU5LTk9XTl9WRVJTSU9OPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1dJVEhfQVVUT01BVEEiPlhNTF9XSVRIX0FVVE9NQVRBPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1dJVEhfQzE0TiI+WE1MX1dJVEhfQzE0TjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9XSVRIX0NBVEFMT0ciPlhNTF9XSVRIX0NBVEFMT0c8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfV0lUSF9ERUJVRyI+WE1MX1dJVEhfREVCVUc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfV0lUSF9ERUJVR19NRU0iPlhNTF9XSVRIX0RFQlVHX01FTTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9XSVRIX0RFQlVHX1JVTiI+WE1MX1dJVEhfREVCVUdfUlVOPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1dJVEhfRVhQUiI+WE1MX1dJVEhfRVhQUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9XSVRIX0ZUUCI+WE1MX1dJVEhfRlRQPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1dJVEhfSFRNTCI+WE1MX1dJVEhfSFRNTDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9XSVRIX0hUVFAiPlhNTF9XSVRIX0hUVFA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfV0lUSF9JQ09OViI+WE1MX1dJVEhfSUNPTlY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfV0lUSF9JQ1UiPlhNTF9XSVRIX0lDVTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9XSVRIX0lTTzg4NTlYIj5YTUxfV0lUSF9JU084ODU5WDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9XSVRIX0xFR0FDWSI+WE1MX1dJVEhfTEVHQUNZPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1dJVEhfTFpNQSI+WE1MX1dJVEhfTFpNQTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9XSVRIX01PRFVMRVMiPlhNTF9XSVRIX01PRFVMRVM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfV0lUSF9OT05FIj5YTUxfV0lUSF9OT05FPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1dJVEhfT1VUUFVUIj5YTUxfV0lUSF9PVVRQVVQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfV0lUSF9QQVRURVJOIj5YTUxfV0lUSF9QQVRURVJOPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1dJVEhfUFVTSCI+WE1MX1dJVEhfUFVTSDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9XSVRIX1JFQURFUiI+WE1MX1dJVEhfUkVBREVSPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1dJVEhfUkVHRVhQIj5YTUxfV0lUSF9SRUdFWFA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfV0lUSF9TQVgxIj5YTUxfV0lUSF9TQVgxPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1dJVEhfU0NIRU1BUyI+WE1MX1dJVEhfU0NIRU1BUzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9XSVRIX1NDSEVNQVRST04iPlhNTF9XSVRIX1NDSEVNQVRST048L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfV0lUSF9USFJFQUQiPlhNTF9XSVRIX1RIUkVBRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9XSVRIX1RSRUUiPlhNTF9XSVRIX1RSRUU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfV0lUSF9VTklDT0RFIj5YTUxfV0lUSF9VTklDT0RFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1dJVEhfVkFMSUQiPlhNTF9XSVRIX1ZBTElEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1dJVEhfV1JJVEVSIj5YTUxfV0lUSF9XUklURVI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfV0lUSF9YSU5DTFVERSI+WE1MX1dJVEhfWElOQ0xVREU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfV0lUSF9YUEFUSCI+WE1MX1dJVEhfWFBBVEg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfV0lUSF9YUFRSIj5YTUxfV0lUSF9YUFRSPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1dJVEhfWkxJQiI+WE1MX1dJVEhfWkxJQjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1hJTkNMVURFX0JVSUxEX0ZBSUxFRCI+WE1MX1hJTkNMVURFX0JVSUxEX0ZBSUxFRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1hJTkNMVURFX0RFUFJFQ0FURURfTlMiPlhNTF9YSU5DTFVERV9ERVBSRUNBVEVEX05TPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9YSU5DTFVERV9FTkQiPlhNTF9YSU5DTFVERV9FTkQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9YSU5DTFVERV9FTlRJVFlfREVGX01JU01BVENIIj5YTUxfWElOQ0xVREVfRU5USVRZX0RFRl9NSVNNQVRDSDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1hJTkNMVURFX0ZBTExCQUNLU19JTl9JTkNMVURFIj5YTUxfWElOQ0xVREVfRkFMTEJBQ0tTX0lOX0lOQ0xVREU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9YSU5DTFVERV9GQUxMQkFDS19OT1RfSU5fSU5DTFVERSI+WE1MX1hJTkNMVURFX0ZBTExCQUNLX05PVF9JTl9JTkNMVURFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfWElOQ0xVREVfRlJBR01FTlRfSUQiPlhNTF9YSU5DTFVERV9GUkFHTUVOVF9JRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1hJTkNMVURFX0hSRUZfVVJJIj5YTUxfWElOQ0xVREVfSFJFRl9VUkk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9YSU5DTFVERV9JTkNMVURFX0lOX0lOQ0xVREUiPlhNTF9YSU5DTFVERV9JTkNMVURFX0lOX0lOQ0xVREU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9YSU5DTFVERV9JTlZBTElEX0NIQVIiPlhNTF9YSU5DTFVERV9JTlZBTElEX0NIQVI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9YSU5DTFVERV9NVUxUSVBMRV9ST09UIj5YTUxfWElOQ0xVREVfTVVMVElQTEVfUk9PVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1hJTkNMVURFX05PX0ZBTExCQUNLIj5YTUxfWElOQ0xVREVfTk9fRkFMTEJBQ0s8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9YSU5DTFVERV9OT19IUkVGIj5YTUxfWElOQ0xVREVfTk9fSFJFRjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1hJTkNMVURFX1BBUlNFX1ZBTFVFIj5YTUxfWElOQ0xVREVfUEFSU0VfVkFMVUU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9YSU5DTFVERV9SRUNVUlNJT04iPlhNTF9YSU5DTFVERV9SRUNVUlNJT048L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX1hJTkNMVURFX1NUQVJUIj5YTUxfWElOQ0xVREVfU1RBUlQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9YSU5DTFVERV9URVhUX0RPQ1VNRU5UIj5YTUxfWElOQ0xVREVfVEVYVF9ET0NVTUVOVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1hJTkNMVURFX1RFWFRfRlJBR01FTlQiPlhNTF9YSU5DTFVERV9URVhUX0ZSQUdNRU5UPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfWElOQ0xVREVfVU5LTk9XTl9FTkNPRElORyI+WE1MX1hJTkNMVURFX1VOS05PV05fRU5DT0RJTkc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9YSU5DTFVERV9YUFRSX0ZBSUxFRCI+WE1MX1hJTkNMVURFX1hQVFJfRkFJTEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfWElOQ0xVREVfWFBUUl9SRVNVTFQiPlhNTF9YSU5DTFVERV9YUFRSX1JFU1VMVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNYTUxfWE1MX0lEIj5YTUxfWE1MX0lEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9YTUxfTkFNRVNQQUNFIj5YTUxfWE1MX05BTUVTUEFDRTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjWE1MX1hQQVRIX0NIRUNLTlMiPlhNTF9YUEFUSF9DSEVDS05TPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfWFBBVEhfRU5DT0RJTkdfRVJST1IiPlhNTF9YUEFUSF9FTkNPRElOR19FUlJPUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1hQQVRIX0VYUFJFU1NJT05fT0siPlhNTF9YUEFUSF9FWFBSRVNTSU9OX09LPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfWFBBVEhfRVhQUl9FUlJPUiI+WE1MX1hQQVRIX0VYUFJfRVJST1I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9YUEFUSF9JTlZBTElEX0FSSVRZIj5YTUxfWFBBVEhfSU5WQUxJRF9BUklUWTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1hQQVRIX0lOVkFMSURfQ0hBUl9FUlJPUiI+WE1MX1hQQVRIX0lOVkFMSURfQ0hBUl9FUlJPUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1hQQVRIX0lOVkFMSURfQ1RYVF9QT1NJVElPTiI+WE1MX1hQQVRIX0lOVkFMSURfQ1RYVF9QT1NJVElPTjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1hQQVRIX0lOVkFMSURfQ1RYVF9TSVpFIj5YTUxfWFBBVEhfSU5WQUxJRF9DVFhUX1NJWkU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9YUEFUSF9JTlZBTElEX09QRVJBTkQiPlhNTF9YUEFUSF9JTlZBTElEX09QRVJBTkQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9YUEFUSF9JTlZBTElEX1BSRURJQ0FURV9FUlJPUiI+WE1MX1hQQVRIX0lOVkFMSURfUFJFRElDQVRFX0VSUk9SPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfWFBBVEhfSU5WQUxJRF9UWVBFIj5YTUxfWFBBVEhfSU5WQUxJRF9UWVBFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfWFBBVEhfTUVNT1JZX0VSUk9SIj5YTUxfWFBBVEhfTUVNT1JZX0VSUk9SPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCNYTUxfWFBBVEhfTk9WQVIiPlhNTF9YUEFUSF9OT1ZBUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1hQQVRIX05VTUJFUl9FUlJPUiI+WE1MX1hQQVRIX05VTUJFUl9FUlJPUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1hQQVRIX1NUQVJUX0xJVEVSQUxfRVJST1IiPlhNTF9YUEFUSF9TVEFSVF9MSVRFUkFMX0VSUk9SPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfWFBBVEhfVU5DTE9TRURfRVJST1IiPlhNTF9YUEFUSF9VTkNMT1NFRF9FUlJPUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1hQQVRIX1VOREVGX1BSRUZJWF9FUlJPUiI+WE1MX1hQQVRIX1VOREVGX1BSRUZJWF9FUlJPUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1hQQVRIX1VOREVGX1ZBUklBQkxFX0VSUk9SIj5YTUxfWFBBVEhfVU5ERUZfVkFSSUFCTEVfRVJST1I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9YUEFUSF9VTkZJTklTSEVEX0xJVEVSQUxfRVJST1IiPlhNTF9YUEFUSF9VTkZJTklTSEVEX0xJVEVSQUxfRVJST1I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9YUEFUSF9VTktOT1dOX0ZVTkNfRVJST1IiPlhNTF9YUEFUSF9VTktOT1dOX0ZVTkNfRVJST1I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9YUEFUSF9WQVJJQUJMRV9SRUZfRVJST1IiPlhNTF9YUEFUSF9WQVJJQUJMRV9SRUZfRVJST1I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9YUFRSX0NISUxEU0VRX1NUQVJUIj5YTUxfWFBUUl9DSElMRFNFUV9TVEFSVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1hQVFJfRVZBTF9GQUlMRUQiPlhNTF9YUFRSX0VWQUxfRkFJTEVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfWFBUUl9FWFRSQV9PQkpFQ1RTIj5YTUxfWFBUUl9FWFRSQV9PQkpFQ1RTPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfWFBUUl9SRVNPVVJDRV9FUlJPUiI+WE1MX1hQVFJfUkVTT1VSQ0VfRVJST1I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9YUFRSX1NVQl9SRVNPVVJDRV9FUlJPUiI+WE1MX1hQVFJfU1VCX1JFU09VUkNFX0VSUk9SPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfWFBUUl9TWU5UQVhfRVJST1IiPlhNTF9YUFRSX1NZTlRBWF9FUlJPUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1hQVFJfVU5LTk9XTl9TQ0hFTUUiPlhNTF9YUFRSX1VOS05PV05fU0NIRU1FPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCNYUEFUSF9CT09MRUFOIj5YUEFUSF9CT09MRUFOPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCNYUEFUSF9FTkNPRElOR19FUlJPUiI+WFBBVEhfRU5DT0RJTkdfRVJST1I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI1hQQVRIX0VYUFJFU1NJT05fT0siPlhQQVRIX0VYUFJFU1NJT05fT0s8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI1hQQVRIX0VYUFJfRVJST1IiPlhQQVRIX0VYUFJfRVJST1I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI1hQQVRIX0ZPUkJJRF9WQVJJQUJMRV9FUlJPUiI+WFBBVEhfRk9SQklEX1ZBUklBQkxFX0VSUk9SPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCNYUEFUSF9JTlZBTElEX0FSSVRZIj5YUEFUSF9JTlZBTElEX0FSSVRZPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCNYUEFUSF9JTlZBTElEX0NIQVJfRVJST1IiPlhQQVRIX0lOVkFMSURfQ0hBUl9FUlJPUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjWFBBVEhfSU5WQUxJRF9DVFhUIj5YUEFUSF9JTlZBTElEX0NUWFQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI1hQQVRIX0lOVkFMSURfQ1RYVF9QT1NJVElPTiI+WFBBVEhfSU5WQUxJRF9DVFhUX1BPU0lUSU9OPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCNYUEFUSF9JTlZBTElEX0NUWFRfU0laRSI+WFBBVEhfSU5WQUxJRF9DVFhUX1NJWkU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI1hQQVRIX0lOVkFMSURfT1BFUkFORCI+WFBBVEhfSU5WQUxJRF9PUEVSQU5EPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCNYUEFUSF9JTlZBTElEX1BSRURJQ0FURV9FUlJPUiI+WFBBVEhfSU5WQUxJRF9QUkVESUNBVEVfRVJST1I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI1hQQVRIX0lOVkFMSURfVFlQRSI+WFBBVEhfSU5WQUxJRF9UWVBFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCNYUEFUSF9MT0NBVElPTlNFVCI+WFBBVEhfTE9DQVRJT05TRVQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI1hQQVRIX01FTU9SWV9FUlJPUiI+WFBBVEhfTUVNT1JZX0VSUk9SPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCNYUEFUSF9OT0RFU0VUIj5YUEFUSF9OT0RFU0VUPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCNYUEFUSF9OVU1CRVIiPlhQQVRIX05VTUJFUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjWFBBVEhfTlVNQkVSX0VSUk9SIj5YUEFUSF9OVU1CRVJfRVJST1I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI1hQQVRIX1BPSU5UIj5YUEFUSF9QT0lOVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjWFBBVEhfUkFOR0UiPlhQQVRIX1JBTkdFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCNYUEFUSF9TVEFDS19FUlJPUiI+WFBBVEhfU1RBQ0tfRVJST1I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI1hQQVRIX1NUQVJUX0xJVEVSQUxfRVJST1IiPlhQQVRIX1NUQVJUX0xJVEVSQUxfRVJST1I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI1hQQVRIX1NUUklORyI+WFBBVEhfU1RSSU5HPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCNYUEFUSF9VTkNMT1NFRF9FUlJPUiI+WFBBVEhfVU5DTE9TRURfRVJST1I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI1hQQVRIX1VOREVGSU5FRCI+WFBBVEhfVU5ERUZJTkVEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCNYUEFUSF9VTkRFRl9QUkVGSVhfRVJST1IiPlhQQVRIX1VOREVGX1BSRUZJWF9FUlJPUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjWFBBVEhfVU5ERUZfVkFSSUFCTEVfRVJST1IiPlhQQVRIX1VOREVGX1ZBUklBQkxFX0VSUk9SPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCNYUEFUSF9VTkZJTklTSEVEX0xJVEVSQUxfRVJST1IiPlhQQVRIX1VORklOSVNIRURfTElURVJBTF9FUlJPUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjWFBBVEhfVU5LTk9XTl9GVU5DX0VSUk9SIj5YUEFUSF9VTktOT1dOX0ZVTkNfRVJST1I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI1hQQVRIX1VTRVJTIj5YUEFUSF9VU0VSUzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjWFBBVEhfVkFSSUFCTEVfUkVGX0VSUk9SIj5YUEFUSF9WQVJJQUJMRV9SRUZfRVJST1I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI1hQQVRIX1hTTFRfVFJFRSI+WFBBVEhfWFNMVF9UUkVFPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCNYUFRSX1JFU09VUkNFX0VSUk9SIj5YUFRSX1JFU09VUkNFX0VSUk9SPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCNYUFRSX1NVQl9SRVNPVVJDRV9FUlJPUiI+WFBUUl9TVUJfUkVTT1VSQ0VfRVJST1I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI1hQVFJfU1lOVEFYX0VSUk9SIj5YUFRSX1NZTlRBWF9FUlJPUjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjWFBfRVJST1IiPlhQX0VSUk9SPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCNYUF9FUlJPUjAiPlhQX0VSUk9SMDwvYT48YnIgLz4KKzwvcD48aDI+TGV0dGVyIF86PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC14bWxleHBvcnRzLmh0bWwjX1JFRU5UUkFOVCI+X1JFRU5UUkFOVDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNfaHRtbEVsZW1EZXNjIj5faHRtbEVsZW1EZXNjPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI19odG1sRW50aXR5RGVzYyI+X2h0bWxFbnRpdHlEZXNjPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCNfdWNvbnZfdCI+X3Vjb252X3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bGluay5odG1sI194bGlua0hhbmRsZXIiPl94bGlua0hhbmRsZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjX3htbEF0dHIiPl94bWxBdHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI194bWxBdHRyaWJ1dGUiPl94bWxBdHRyaWJ1dGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjX3htbEJ1ZmZlciI+X3htbEJ1ZmZlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNodmFsaWQuaHRtbCNfeG1sQ2hMUmFuZ2UiPl94bWxDaExSYW5nZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNodmFsaWQuaHRtbCNfeG1sQ2hSYW5nZUdyb3VwIj5feG1sQ2hSYW5nZUdyb3VwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI194bWxDaFNSYW5nZSI+X3htbENoU1JhbmdlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCNfeG1sQ2hhckVuY29kaW5nSGFuZGxlciI+X3htbENoYXJFbmNvZGluZ0hhbmRsZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjX3htbERPTVdyYXBDdHh0Ij5feG1sRE9NV3JhcEN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjX3htbERvYyI+X3htbERvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNfeG1sRHRkIj5feG1sRHRkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI194bWxFbGVtZW50Ij5feG1sRWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNfeG1sRWxlbWVudENvbnRlbnQiPl94bWxFbGVtZW50Q29udGVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjX3htbEVudGl0eSI+X3htbEVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNfeG1sRW51bWVyYXRpb24iPl94bWxFbnVtZXJhdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjX3htbEVycm9yIj5feG1sRXJyb3I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjX3htbEdsb2JhbFN0YXRlIj5feG1sR2xvYmFsU3RhdGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjX3htbElEIj5feG1sSUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI194bWxMb2NhdGlvblNldCI+X3htbExvY2F0aW9uU2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI194bWxOb2RlIj5feG1sTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjX3htbE5vZGVTZXQiPl94bWxOb2RlU2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI194bWxOb3RhdGlvbiI+X3htbE5vdGF0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI194bWxOcyI+X3htbE5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCNfeG1sT3V0cHV0QnVmZmVyIj5feG1sT3V0cHV0QnVmZmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjX3htbFBhcnNlckN0eHQiPl94bWxQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjX3htbFBhcnNlcklucHV0Ij5feG1sUGFyc2VySW5wdXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI194bWxQYXJzZXJJbnB1dEJ1ZmZlciI+X3htbFBhcnNlcklucHV0QnVmZmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjX3htbFBhcnNlck5vZGVJbmZvIj5feG1sUGFyc2VyTm9kZUluZm88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNfeG1sUGFyc2VyTm9kZUluZm9TZXEiPl94bWxQYXJzZXJOb2RlSW5mb1NlcTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCNfeG1sUmVmIj5feG1sUmVmPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjX3htbFNBWEhhbmRsZXIiPl94bWxTQVhIYW5kbGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjX3htbFNBWEhhbmRsZXJWMSI+X3htbFNBWEhhbmRsZXJWMTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI194bWxTQVhMb2NhdG9yIj5feG1sU0FYTG9jYXRvcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNfeG1sU2NoZW1hIj5feG1sU2NoZW1hPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI194bWxTY2hlbWFBbm5vdCI+X3htbFNjaGVtYUFubm90PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI194bWxTY2hlbWFBdHRyaWJ1dGUiPl94bWxTY2hlbWFBdHRyaWJ1dGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjX3htbFNjaGVtYUF0dHJpYnV0ZUdyb3VwIj5feG1sU2NoZW1hQXR0cmlidXRlR3JvdXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjX3htbFNjaGVtYUF0dHJpYnV0ZUxpbmsiPl94bWxTY2hlbWFBdHRyaWJ1dGVMaW5rPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI194bWxTY2hlbWFFbGVtZW50Ij5feG1sU2NoZW1hRWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNfeG1sU2NoZW1hRmFjZXQiPl94bWxTY2hlbWFGYWNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNfeG1sU2NoZW1hRmFjZXRMaW5rIj5feG1sU2NoZW1hRmFjZXRMaW5rPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI194bWxTY2hlbWFOb3RhdGlvbiI+X3htbFNjaGVtYU5vdGF0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI194bWxTY2hlbWFUeXBlIj5feG1sU2NoZW1hVHlwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNfeG1sU2NoZW1hVHlwZUxpbmsiPl94bWxTY2hlbWFUeXBlTGluazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNfeG1sU2NoZW1hV2lsZGNhcmQiPl94bWxTY2hlbWFXaWxkY2FyZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNfeG1sU2NoZW1hV2lsZGNhcmROcyI+X3htbFNjaGVtYVdpbGRjYXJkTnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI194bWxTaGVsbEN0eHQiPl94bWxTaGVsbEN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCNfeG1sVVJJIj5feG1sVVJJPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCNfeG1sVmFsaWRDdHh0Ij5feG1sVmFsaWRDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCNfeG1sWFBhdGhBeGlzIj5feG1sWFBhdGhBeGlzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCNfeG1sWFBhdGhDb250ZXh0Ij5feG1sWFBhdGhDb250ZXh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCNfeG1sWFBhdGhGdW5jdCI+X3htbFhQYXRoRnVuY3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI194bWxYUGF0aE9iamVjdCI+X3htbFhQYXRoT2JqZWN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCNfeG1sWFBhdGhQYXJzZXJDb250ZXh0Ij5feG1sWFBhdGhQYXJzZXJDb250ZXh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCNfeG1sWFBhdGhUeXBlIj5feG1sWFBhdGhUeXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCNfeG1sWFBhdGhWYXJpYWJsZSI+X3htbFhQYXRoVmFyaWFibGU8L2E+PGJyIC8+Cis8L3A+PGgyPkxldHRlciBhOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGVEZWNsIj5hdHRyaWJ1dGVEZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjYXR0cmlidXRlRGVjbFNBWEZ1bmMiPmF0dHJpYnV0ZURlY2xTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjYXR0cmlidXRlU0FYRnVuYyI+YXR0cmlidXRlU0FYRnVuYzwvYT48YnIgLz4KKzwvcD48aDI+TGV0dGVyIGM6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNjZGF0YUJsb2NrIj5jZGF0YUJsb2NrPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjY2RhdGFCbG9ja1NBWEZ1bmMiPmNkYXRhQmxvY2tTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjY2hhcmFjdGVycyI+Y2hhcmFjdGVyczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI2NoYXJhY3RlcnNTQVhGdW5jIj5jaGFyYWN0ZXJzU0FYRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI2NoZWNrTmFtZXNwYWNlIj5jaGVja05hbWVzcGFjZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI2NvbW1lbnQiPmNvbW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNjb21tZW50U0FYRnVuYyI+Y29tbWVudFNBWEZ1bmM8L2E+PGJyIC8+Cis8L3A+PGgyPkxldHRlciBkOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtRE9DQnBhcnNlci5odG1sI2RvY2JDcmVhdGVGaWxlUGFyc2VyQ3R4dCI+ZG9jYkNyZWF0ZUZpbGVQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtRE9DQnBhcnNlci5odG1sI2RvY2JDcmVhdGVQdXNoUGFyc2VyQ3R4dCI+ZG9jYkNyZWF0ZVB1c2hQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI2RvY2JEZWZhdWx0U0FYSGFuZGxlciI+ZG9jYkRlZmF1bHRTQVhIYW5kbGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI2RvY2JEZWZhdWx0U0FYSGFuZGxlckluaXQiPmRvY2JEZWZhdWx0U0FYSGFuZGxlckluaXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1ET0NCcGFyc2VyLmh0bWwjZG9jYkRvY1B0ciI+ZG9jYkRvY1B0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiRW5jb2RlRW50aXRpZXMiPmRvY2JFbmNvZGVFbnRpdGllczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiRnJlZVBhcnNlckN0eHQiPmRvY2JGcmVlUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiUGFyc2VDaHVuayI+ZG9jYlBhcnNlQ2h1bms8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1ET0NCcGFyc2VyLmh0bWwjZG9jYlBhcnNlRG9jIj5kb2NiUGFyc2VEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1ET0NCcGFyc2VyLmh0bWwjZG9jYlBhcnNlRG9jdW1lbnQiPmRvY2JQYXJzZURvY3VtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtRE9DQnBhcnNlci5odG1sI2RvY2JQYXJzZUZpbGUiPmRvY2JQYXJzZUZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1ET0NCcGFyc2VyLmh0bWwjZG9jYlBhcnNlckN0eHQiPmRvY2JQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtRE9DQnBhcnNlci5odG1sI2RvY2JQYXJzZXJDdHh0UHRyIj5kb2NiUGFyc2VyQ3R4dFB0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiUGFyc2VySW5wdXQiPmRvY2JQYXJzZXJJbnB1dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiUGFyc2VySW5wdXRQdHIiPmRvY2JQYXJzZXJJbnB1dFB0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiU0FYSGFuZGxlciI+ZG9jYlNBWEhhbmRsZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1ET0NCcGFyc2VyLmh0bWwjZG9jYlNBWEhhbmRsZXJQdHIiPmRvY2JTQVhIYW5kbGVyUHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtRE9DQnBhcnNlci5odG1sI2RvY2JTQVhQYXJzZURvYyI+ZG9jYlNBWFBhcnNlRG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtRE9DQnBhcnNlci5odG1sI2RvY2JTQVhQYXJzZUZpbGUiPmRvY2JTQVhQYXJzZUZpbGU8L2E+PGJyIC8+Cis8L3A+PGgyPkxldHRlciBlOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjZWxlbWVudERlY2wiPmVsZW1lbnREZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjZWxlbWVudERlY2xTQVhGdW5jIj5lbGVtZW50RGVjbFNBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCNlbXB0eUV4cCI+ZW1wdHlFeHA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNlbmREb2N1bWVudCI+ZW5kRG9jdW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNlbmREb2N1bWVudFNBWEZ1bmMiPmVuZERvY3VtZW50U0FYRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI2VuZEVsZW1lbnQiPmVuZEVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNlbmRFbGVtZW50TnNTQVgyRnVuYyI+ZW5kRWxlbWVudE5zU0FYMkZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNlbmRFbGVtZW50U0FYRnVuYyI+ZW5kRWxlbWVudFNBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNlbnRpdHlEZWNsIj5lbnRpdHlEZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjZW50aXR5RGVjbFNBWEZ1bmMiPmVudGl0eURlY2xTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjZXJyb3JTQVhGdW5jIj5lcnJvclNBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNleHRlcm5hbFN1YnNldCI+ZXh0ZXJuYWxTdWJzZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNleHRlcm5hbFN1YnNldFNBWEZ1bmMiPmV4dGVybmFsU3Vic2V0U0FYRnVuYzwvYT48YnIgLz4KKzwvcD48aDI+TGV0dGVyIGY6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNmYXRhbEVycm9yU0FYRnVuYyI+ZmF0YWxFcnJvclNBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCNmb3JiaWRkZW5FeHAiPmZvcmJpZGRlbkV4cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCNmdHBEYXRhQ2FsbGJhY2siPmZ0cERhdGFDYWxsYmFjazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCNmdHBMaXN0Q2FsbGJhY2siPmZ0cExpc3RDYWxsYmFjazwvYT48YnIgLz4KKzwvcD48aDI+TGV0dGVyIGc6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNnZXRDb2x1bW5OdW1iZXIiPmdldENvbHVtbk51bWJlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI2dldEVudGl0eSI+Z2V0RW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjZ2V0RW50aXR5U0FYRnVuYyI+Z2V0RW50aXR5U0FYRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI2dldExpbmVOdW1iZXIiPmdldExpbmVOdW1iZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNnZXROYW1lc3BhY2UiPmdldE5hbWVzcGFjZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI2dldFBhcmFtZXRlckVudGl0eSI+Z2V0UGFyYW1ldGVyRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjZ2V0UGFyYW1ldGVyRW50aXR5U0FYRnVuYyI+Z2V0UGFyYW1ldGVyRW50aXR5U0FYRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI2dldFB1YmxpY0lkIj5nZXRQdWJsaWNJZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI2dldFN5c3RlbUlkIj5nZXRTeXN0ZW1JZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI2dsb2JhbE5hbWVzcGFjZSI+Z2xvYmFsTmFtZXNwYWNlPC9hPjxiciAvPgorPC9wPjxoMj5MZXR0ZXIgaDo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI2hhc0V4dGVybmFsU3Vic2V0Ij5oYXNFeHRlcm5hbFN1YnNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI2hhc0V4dGVybmFsU3Vic2V0U0FYRnVuYyI+aGFzRXh0ZXJuYWxTdWJzZXRTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjaGFzSW50ZXJuYWxTdWJzZXQiPmhhc0ludGVybmFsU3Vic2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjaGFzSW50ZXJuYWxTdWJzZXRTQVhGdW5jIj5oYXNJbnRlcm5hbFN1YnNldFNBWEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEF0dHJBbGxvd2VkIj5odG1sQXR0ckFsbG93ZWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEF1dG9DbG9zZVRhZyI+aHRtbEF1dG9DbG9zZVRhZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI2h0bWxDcmVhdGVGaWxlUGFyc2VyQ3R4dCI+aHRtbENyZWF0ZUZpbGVQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxDcmVhdGVNZW1vcnlQYXJzZXJDdHh0Ij5odG1sQ3JlYXRlTWVtb3J5UGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQiPmh0bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sQ3R4dFJlYWREb2MiPmh0bWxDdHh0UmVhZERvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sQ3R4dFJlYWRGZCI+aHRtbEN0eHRSZWFkRmQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEN0eHRSZWFkRmlsZSI+aHRtbEN0eHRSZWFkRmlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sQ3R4dFJlYWRJTyI+aHRtbEN0eHRSZWFkSU88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEN0eHRSZWFkTWVtb3J5Ij5odG1sQ3R4dFJlYWRNZW1vcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEN0eHRSZXNldCI+aHRtbEN0eHRSZXNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sQ3R4dFVzZU9wdGlvbnMiPmh0bWxDdHh0VXNlT3B0aW9uczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCNodG1sRGVmYXVsdFNBWEhhbmRsZXIiPmh0bWxEZWZhdWx0U0FYSGFuZGxlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCNodG1sRGVmYXVsdFNBWEhhbmRsZXJJbml0Ij5odG1sRGVmYXVsdFNBWEhhbmRsZXJJbml0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxEZWZhdWx0U3ViZWxlbWVudCI+aHRtbERlZmF1bHRTdWJlbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNodG1sRG9jQ29udGVudER1bXBGb3JtYXRPdXRwdXQiPmh0bWxEb2NDb250ZW50RHVtcEZvcm1hdE91dHB1dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwjaHRtbERvY0NvbnRlbnREdW1wT3V0cHV0Ij5odG1sRG9jQ29udGVudER1bXBPdXRwdXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI2h0bWxEb2NEdW1wIj5odG1sRG9jRHVtcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwjaHRtbERvY0R1bXBNZW1vcnkiPmh0bWxEb2NEdW1wTWVtb3J5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNodG1sRG9jRHVtcE1lbW9yeUZvcm1hdCI+aHRtbERvY0R1bXBNZW1vcnlGb3JtYXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbERvY1B0ciI+aHRtbERvY1B0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sRWxlbURlc2MiPmh0bWxFbGVtRGVzYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sRWxlbURlc2NQdHIiPmh0bWxFbGVtRGVzY1B0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sRWxlbWVudEFsbG93ZWRIZXJlIj5odG1sRWxlbWVudEFsbG93ZWRIZXJlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxFbGVtZW50QWxsb3dlZEhlcmVEZXNjIj5odG1sRWxlbWVudEFsbG93ZWRIZXJlRGVzYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sRWxlbWVudFN0YXR1c0hlcmUiPmh0bWxFbGVtZW50U3RhdHVzSGVyZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sRW5jb2RlRW50aXRpZXMiPmh0bWxFbmNvZGVFbnRpdGllczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sRW50aXR5RGVzYyI+aHRtbEVudGl0eURlc2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEVudGl0eURlc2NQdHIiPmh0bWxFbnRpdHlEZXNjUHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxFbnRpdHlMb29rdXAiPmh0bWxFbnRpdHlMb29rdXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEVudGl0eVZhbHVlTG9va3VwIj5odG1sRW50aXR5VmFsdWVMb29rdXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEZyZWVQYXJzZXJDdHh0Ij5odG1sRnJlZVBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI2h0bWxHZXRNZXRhRW5jb2RpbmciPmh0bWxHZXRNZXRhRW5jb2Rpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEhhbmRsZU9taXR0ZWRFbGVtIj5odG1sSGFuZGxlT21pdHRlZEVsZW08L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNodG1sSW5pdEF1dG9DbG9zZSI+aHRtbEluaXRBdXRvQ2xvc2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbElzQXV0b0Nsb3NlZCI+aHRtbElzQXV0b0Nsb3NlZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwjaHRtbElzQm9vbGVhbkF0dHIiPmh0bWxJc0Jvb2xlYW5BdHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxJc1NjcmlwdEF0dHJpYnV0ZSI+aHRtbElzU2NyaXB0QXR0cmlidXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNodG1sTmV3RG9jIj5odG1sTmV3RG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNodG1sTmV3RG9jTm9EdEQiPmh0bWxOZXdEb2NOb0R0RDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sTmV3UGFyc2VyQ3R4dCI+aHRtbE5ld1BhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI2h0bWxOb2RlRHVtcCI+aHRtbE5vZGVEdW1wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNodG1sTm9kZUR1bXBGaWxlIj5odG1sTm9kZUR1bXBGaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNodG1sTm9kZUR1bXBGaWxlRm9ybWF0Ij5odG1sTm9kZUR1bXBGaWxlRm9ybWF0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNodG1sTm9kZUR1bXBGb3JtYXRPdXRwdXQiPmh0bWxOb2RlRHVtcEZvcm1hdE91dHB1dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwjaHRtbE5vZGVEdW1wT3V0cHV0Ij5odG1sTm9kZUR1bXBPdXRwdXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbE5vZGVQdHIiPmh0bWxOb2RlUHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxOb2RlU3RhdHVzIj5odG1sTm9kZVN0YXR1czwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sUGFyc2VDaGFyUmVmIj5odG1sUGFyc2VDaGFyUmVmPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxQYXJzZUNodW5rIj5odG1sUGFyc2VDaHVuazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sUGFyc2VEb2MiPmh0bWxQYXJzZURvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sUGFyc2VEb2N1bWVudCI+aHRtbFBhcnNlRG9jdW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlRWxlbWVudCI+aHRtbFBhcnNlRWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sUGFyc2VFbnRpdHlSZWYiPmh0bWxQYXJzZUVudGl0eVJlZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sUGFyc2VGaWxlIj5odG1sUGFyc2VGaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxQYXJzZXJDdHh0Ij5odG1sUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sUGFyc2VyQ3R4dFB0ciI+aHRtbFBhcnNlckN0eHRQdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlcklucHV0Ij5odG1sUGFyc2VySW5wdXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlcklucHV0UHRyIj5odG1sUGFyc2VySW5wdXRQdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlck5vZGVJbmZvIj5odG1sUGFyc2VyTm9kZUluZm88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlck9wdGlvbiI+aHRtbFBhcnNlck9wdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sUmVhZERvYyI+aHRtbFJlYWREb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFJlYWRGZCI+aHRtbFJlYWRGZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sUmVhZEZpbGUiPmh0bWxSZWFkRmlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sUmVhZElPIj5odG1sUmVhZElPPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxSZWFkTWVtb3J5Ij5odG1sUmVhZE1lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sUmVxdWlyZWRBdHRycyI+aHRtbFJlcXVpcmVkQXR0cnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFNBWEhhbmRsZXIiPmh0bWxTQVhIYW5kbGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxTQVhIYW5kbGVyUHRyIj5odG1sU0FYSGFuZGxlclB0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sU0FYUGFyc2VEb2MiPmh0bWxTQVhQYXJzZURvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sU0FYUGFyc2VGaWxlIj5odG1sU0FYUGFyc2VGaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNodG1sU2F2ZUZpbGUiPmh0bWxTYXZlRmlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwjaHRtbFNhdmVGaWxlRW5jIj5odG1sU2F2ZUZpbGVFbmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI2h0bWxTYXZlRmlsZUZvcm1hdCI+aHRtbFNhdmVGaWxlRm9ybWF0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNodG1sU2V0TWV0YUVuY29kaW5nIj5odG1sU2V0TWV0YUVuY29kaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxTdGF0dXMiPmh0bWxTdGF0dXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFRhZ0xvb2t1cCI+aHRtbFRhZ0xvb2t1cDwvYT48YnIgLz4KKzwvcD48aDI+TGV0dGVyIGk6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNpZ25vcmFibGVXaGl0ZXNwYWNlIj5pZ25vcmFibGVXaGl0ZXNwYWNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjaWdub3JhYmxlV2hpdGVzcGFjZVNBWEZ1bmMiPmlnbm9yYWJsZVdoaXRlc3BhY2VTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNpbml0R2VuZXJpY0Vycm9yRGVmYXVsdEZ1bmMiPmluaXRHZW5lcmljRXJyb3JEZWZhdWx0RnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI2luaXRkb2NiRGVmYXVsdFNBWEhhbmRsZXIiPmluaXRkb2NiRGVmYXVsdFNBWEhhbmRsZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNpbml0aHRtbERlZmF1bHRTQVhIYW5kbGVyIj5pbml0aHRtbERlZmF1bHRTQVhIYW5kbGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjaW5pdHhtbERlZmF1bHRTQVhIYW5kbGVyIj5pbml0eG1sRGVmYXVsdFNBWEhhbmRsZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNpbnB1dFBvcCI+aW5wdXRQb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNpbnB1dFB1c2giPmlucHV0UHVzaDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI2ludGVybmFsU3Vic2V0Ij5pbnRlcm5hbFN1YnNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI2ludGVybmFsU3Vic2V0U0FYRnVuYyI+aW50ZXJuYWxTdWJzZXRTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjaXNTdGFuZGFsb25lIj5pc1N0YW5kYWxvbmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNpc1N0YW5kYWxvbmVTQVhGdW5jIj5pc1N0YW5kYWxvbmVTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCNpc29sYXQxVG9VVEY4Ij5pc29sYXQxVG9VVEY4PC9hPjxiciAvPgorPC9wPjxoMj5MZXR0ZXIgbjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI25hbWVQb3AiPm5hbWVQb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNuYW1lUHVzaCI+bmFtZVB1c2g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNuYW1lc3BhY2VEZWNsIj5uYW1lc3BhY2VEZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjbm9kZVBvcCI+bm9kZVBvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI25vZGVQdXNoIj5ub2RlUHVzaDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI25vdGF0aW9uRGVjbCI+bm90YXRpb25EZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjbm90YXRpb25EZWNsU0FYRnVuYyI+bm90YXRpb25EZWNsU0FYRnVuYzwvYT48YnIgLz4KKzwvcD48aDI+TGV0dGVyIG86PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjb2xkWE1MV0Rjb21wYXRpYmlsaXR5Ij5vbGRYTUxXRGNvbXBhdGliaWxpdHk8L2E+PGJyIC8+Cis8L3A+PGgyPkxldHRlciBwOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjcHJvY2Vzc2luZ0luc3RydWN0aW9uIj5wcm9jZXNzaW5nSW5zdHJ1Y3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNwcm9jZXNzaW5nSW5zdHJ1Y3Rpb25TQVhGdW5jIj5wcm9jZXNzaW5nSW5zdHJ1Y3Rpb25TQVhGdW5jPC9hPjxiciAvPgorPC9wPjxoMj5MZXR0ZXIgcjo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI3JlZmVyZW5jZSI+cmVmZXJlbmNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjcmVmZXJlbmNlU0FYRnVuYyI+cmVmZXJlbmNlU0FYRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWC5odG1sI3Jlc29sdmVFbnRpdHkiPnJlc29sdmVFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNyZXNvbHZlRW50aXR5U0FYRnVuYyI+cmVzb2x2ZUVudGl0eVNBWEZ1bmM8L2E+PGJyIC8+Cis8L3A+PGgyPkxldHRlciBzOjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjc2V0RG9jdW1lbnRMb2NhdG9yIj5zZXREb2N1bWVudExvY2F0b3I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNzZXREb2N1bWVudExvY2F0b3JTQVhGdW5jIj5zZXREb2N1bWVudExvY2F0b3JTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjc2V0TmFtZXNwYWNlIj5zZXROYW1lc3BhY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCNzdGFydERvY3VtZW50Ij5zdGFydERvY3VtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjc3RhcnREb2N1bWVudFNBWEZ1bmMiPnN0YXJ0RG9jdW1lbnRTQVhGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYLmh0bWwjc3RhcnRFbGVtZW50Ij5zdGFydEVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNzdGFydEVsZW1lbnROc1NBWDJGdW5jIj5zdGFydEVsZW1lbnROc1NBWDJGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjc3RhcnRFbGVtZW50U0FYRnVuYyI+c3RhcnRFbGVtZW50U0FYRnVuYzwvYT48YnIgLz4KKzwvcD48aDI+TGV0dGVyIHU6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3Vjb252X3QiPnVjb252X3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVguaHRtbCN1bnBhcnNlZEVudGl0eURlY2wiPnVucGFyc2VkRW50aXR5RGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3VucGFyc2VkRW50aXR5RGVjbFNBWEZ1bmMiPnVucGFyc2VkRW50aXR5RGVjbFNBWEZ1bmM8L2E+PGJyIC8+Cis8L3A+PGgyPkxldHRlciB2OjwvaDI+PHA+PGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN2YWx1ZVBvcCI+dmFsdWVQb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3ZhbHVlUHVzaCI+dmFsdWVQdXNoPC9hPjxiciAvPgorPC9wPjxoMj5MZXR0ZXIgdzo8L2gyPjxwPjxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3dhcm5pbmdTQVhGdW5jIj53YXJuaW5nU0FYRnVuYzwvYT48YnIgLz4KKzwvcD48aDI+TGV0dGVyIHg6PC9oMj48cD48YSBocmVmPSJodG1sL2xpYnhtbC14bGluay5odG1sI3hsaW5rQWN0dWF0ZSI+eGxpbmtBY3R1YXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGxpbmsuaHRtbCN4bGlua0V4dGVuZGVkTGlua0Z1bmsiPnhsaW5rRXh0ZW5kZWRMaW5rRnVuazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhsaW5rLmh0bWwjeGxpbmtFeHRlbmRlZExpbmtTZXRGdW5rIj54bGlua0V4dGVuZGVkTGlua1NldEZ1bms8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bGluay5odG1sI3hsaW5rR2V0RGVmYXVsdERldGVjdCI+eGxpbmtHZXREZWZhdWx0RGV0ZWN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGxpbmsuaHRtbCN4bGlua0dldERlZmF1bHRIYW5kbGVyIj54bGlua0dldERlZmF1bHRIYW5kbGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGxpbmsuaHRtbCN4bGlua0hSZWYiPnhsaW5rSFJlZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhsaW5rLmh0bWwjeGxpbmtIYW5kbGVyIj54bGlua0hhbmRsZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bGluay5odG1sI3hsaW5rSGFuZGxlclB0ciI+eGxpbmtIYW5kbGVyUHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGxpbmsuaHRtbCN4bGlua0lzTGluayI+eGxpbmtJc0xpbms8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bGluay5odG1sI3hsaW5rTm9kZURldGVjdEZ1bmMiPnhsaW5rTm9kZURldGVjdEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bGluay5odG1sI3hsaW5rUm9sZSI+eGxpbmtSb2xlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGxpbmsuaHRtbCN4bGlua1NldERlZmF1bHREZXRlY3QiPnhsaW5rU2V0RGVmYXVsdERldGVjdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhsaW5rLmh0bWwjeGxpbmtTZXREZWZhdWx0SGFuZGxlciI+eGxpbmtTZXREZWZhdWx0SGFuZGxlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhsaW5rLmh0bWwjeGxpbmtTaG93Ij54bGlua1Nob3c8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bGluay5odG1sI3hsaW5rU2ltcGxlTGlua0Z1bmsiPnhsaW5rU2ltcGxlTGlua0Z1bms8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bGluay5odG1sI3hsaW5rVGl0bGUiPnhsaW5rVGl0bGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bGluay5odG1sI3hsaW5rVHlwZSI+eGxpbmtUeXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbEFDYXRhbG9nQWRkIj54bWxBQ2F0YWxvZ0FkZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxBQ2F0YWxvZ0R1bXAiPnhtbEFDYXRhbG9nRHVtcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxBQ2F0YWxvZ1JlbW92ZSI+eG1sQUNhdGFsb2dSZW1vdmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQUNhdGFsb2dSZXNvbHZlIj54bWxBQ2F0YWxvZ1Jlc29sdmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQUNhdGFsb2dSZXNvbHZlUHVibGljIj54bWxBQ2F0YWxvZ1Jlc29sdmVQdWJsaWM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQUNhdGFsb2dSZXNvbHZlU3lzdGVtIj54bWxBQ2F0YWxvZ1Jlc29sdmVTeXN0ZW08L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQUNhdGFsb2dSZXNvbHZlVVJJIj54bWxBQ2F0YWxvZ1Jlc29sdmVVUkk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEFkZEF0dHJpYnV0ZURlY2wiPnhtbEFkZEF0dHJpYnV0ZURlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQWRkQ2hpbGQiPnhtbEFkZENoaWxkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEFkZENoaWxkTGlzdCI+eG1sQWRkQ2hpbGRMaXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxBZGREb2NFbnRpdHkiPnhtbEFkZERvY0VudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjeG1sQWRkRHRkRW50aXR5Ij54bWxBZGREdGRFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEFkZEVsZW1lbnREZWNsIj54bWxBZGRFbGVtZW50RGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQWRkRW5jb2RpbmdBbGlhcyI+eG1sQWRkRW5jb2RpbmdBbGlhczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sQWRkSUQiPnhtbEFkZElEPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEFkZE5leHRTaWJsaW5nIj54bWxBZGROZXh0U2libGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sQWRkTm90YXRpb25EZWNsIj54bWxBZGROb3RhdGlvbkRlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQWRkUHJldlNpYmxpbmciPnhtbEFkZFByZXZTaWJsaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxBZGRSZWYiPnhtbEFkZFJlZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxBZGRTaWJsaW5nIj54bWxBZGRTaWJsaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxBbGxvY091dHB1dEJ1ZmZlciI+eG1sQWxsb2NPdXRwdXRCdWZmZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbEFsbG9jUGFyc2VySW5wdXRCdWZmZXIiPnhtbEFsbG9jUGFyc2VySW5wdXRCdWZmZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQXR0ciI+eG1sQXR0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxBdHRyUHRyIj54bWxBdHRyUHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEF0dHJTZXJpYWxpemVUeHRDb250ZW50Ij54bWxBdHRyU2VyaWFsaXplVHh0Q29udGVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxBdHRyaWJ1dGUiPnhtbEF0dHJpYnV0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxBdHRyaWJ1dGVEZWZhdWx0Ij54bWxBdHRyaWJ1dGVEZWZhdWx0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEF0dHJpYnV0ZVB0ciI+eG1sQXR0cmlidXRlUHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxBdHRyaWJ1dGVUYWJsZSI+eG1sQXR0cmlidXRlVGFibGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEF0dHJpYnV0ZVRhYmxlUHRyIj54bWxBdHRyaWJ1dGVUYWJsZVB0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxBdHRyaWJ1dGVUeXBlIj54bWxBdHRyaWJ1dGVUeXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YSI+eG1sQXV0b21hdGE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhQ29tcGlsZSI+eG1sQXV0b21hdGFDb21waWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YUdldEluaXRTdGF0ZSI+eG1sQXV0b21hdGFHZXRJbml0U3RhdGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhSXNEZXRlcm1pbmlzdCI+eG1sQXV0b21hdGFJc0RldGVybWluaXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld0FsbFRyYW5zIj54bWxBdXRvbWF0YU5ld0FsbFRyYW5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld0NvdW50VHJhbnMiPnhtbEF1dG9tYXRhTmV3Q291bnRUcmFuczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdDb3VudFRyYW5zMiI+eG1sQXV0b21hdGFOZXdDb3VudFRyYW5zMjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdDb3VudGVkVHJhbnMiPnhtbEF1dG9tYXRhTmV3Q291bnRlZFRyYW5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld0NvdW50ZXIiPnhtbEF1dG9tYXRhTmV3Q291bnRlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdDb3VudGVyVHJhbnMiPnhtbEF1dG9tYXRhTmV3Q291bnRlclRyYW5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld0Vwc2lsb24iPnhtbEF1dG9tYXRhTmV3RXBzaWxvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdOZWdUcmFucyI+eG1sQXV0b21hdGFOZXdOZWdUcmFuczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdPbmNlVHJhbnMiPnhtbEF1dG9tYXRhTmV3T25jZVRyYW5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld09uY2VUcmFuczIiPnhtbEF1dG9tYXRhTmV3T25jZVRyYW5zMjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdTdGF0ZSI+eG1sQXV0b21hdGFOZXdTdGF0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdUcmFuc2l0aW9uIj54bWxBdXRvbWF0YU5ld1RyYW5zaXRpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhTmV3VHJhbnNpdGlvbjIiPnhtbEF1dG9tYXRhTmV3VHJhbnNpdGlvbjI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhUHRyIj54bWxBdXRvbWF0YVB0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFTZXRGaW5hbFN0YXRlIj54bWxBdXRvbWF0YVNldEZpbmFsU3RhdGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhU3RhdGUiPnhtbEF1dG9tYXRhU3RhdGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhU3RhdGVQdHIiPnhtbEF1dG9tYXRhU3RhdGVQdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbEJvb2xUb1RleHQiPnhtbEJvb2xUb1RleHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmIj54bWxCdWY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmQ29udGVudCI+eG1sQnVmQ29udGVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZFbmQiPnhtbEJ1ZkVuZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZHZXROb2RlQ29udGVudCI+eG1sQnVmR2V0Tm9kZUNvbnRlbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmTm9kZUR1bXAiPnhtbEJ1Zk5vZGVEdW1wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZlB0ciI+eG1sQnVmUHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZlNocmluayI+eG1sQnVmU2hyaW5rPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZlVzZSI+eG1sQnVmVXNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlciI+eG1sQnVmZmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlckFkZCI+eG1sQnVmZmVyQWRkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlckFkZEhlYWQiPnhtbEJ1ZmZlckFkZEhlYWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sQnVmZmVyQWxsb2NTY2hlbWUiPnhtbEJ1ZmZlckFsbG9jU2NoZW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUiPnhtbEJ1ZmZlckFsbG9jYXRpb25TY2hlbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyQ0NhdCI+eG1sQnVmZmVyQ0NhdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJDYXQiPnhtbEJ1ZmZlckNhdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJDb250ZW50Ij54bWxCdWZmZXJDb250ZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlckNyZWF0ZSI+eG1sQnVmZmVyQ3JlYXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlckNyZWF0ZVNpemUiPnhtbEJ1ZmZlckNyZWF0ZVNpemU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyQ3JlYXRlU3RhdGljIj54bWxCdWZmZXJDcmVhdGVTdGF0aWM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyRGV0YWNoIj54bWxCdWZmZXJEZXRhY2g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyRHVtcCI+eG1sQnVmZmVyRHVtcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJFbXB0eSI+eG1sQnVmZmVyRW1wdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyRnJlZSI+eG1sQnVmZmVyRnJlZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJHcm93Ij54bWxCdWZmZXJHcm93PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlckxlbmd0aCI+eG1sQnVmZmVyTGVuZ3RoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlclB0ciI+eG1sQnVmZmVyUHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlclJlc2l6ZSI+eG1sQnVmZmVyUmVzaXplPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlclNldEFsbG9jYXRpb25TY2hlbWUiPnhtbEJ1ZmZlclNldEFsbG9jYXRpb25TY2hlbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyU2hyaW5rIj54bWxCdWZmZXJTaHJpbms8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyV3JpdGVDSEFSIj54bWxCdWZmZXJXcml0ZUNIQVI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyV3JpdGVDaGFyIj54bWxCdWZmZXJXcml0ZUNoYXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyV3JpdGVRdW90ZWRTdHJpbmciPnhtbEJ1ZmZlcldyaXRlUXVvdGVkU3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1aWxkUU5hbWUiPnhtbEJ1aWxkUU5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxCdWlsZFJlbGF0aXZlVVJJIj54bWxCdWlsZFJlbGF0aXZlVVJJPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sQnVpbGRVUkkiPnhtbEJ1aWxkVVJJPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQnl0ZUNvbnN1bWVkIj54bWxCeXRlQ29uc3VtZWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jMTRuLmh0bWwjeG1sQzE0TkRvY0R1bXBNZW1vcnkiPnhtbEMxNE5Eb2NEdW1wTWVtb3J5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtYzE0bi5odG1sI3htbEMxNE5Eb2NTYXZlIj54bWxDMTRORG9jU2F2ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTRORG9jU2F2ZVRvIj54bWxDMTRORG9jU2F2ZVRvPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtYzE0bi5odG1sI3htbEMxNE5FeGVjdXRlIj54bWxDMTRORXhlY3V0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTROSXNWaXNpYmxlQ2FsbGJhY2siPnhtbEMxNE5Jc1Zpc2libGVDYWxsYmFjazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTROTW9kZSI+eG1sQzE0Tk1vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxDYW5vbmljUGF0aCI+eG1sQ2Fub25pY1BhdGg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZyI+eG1sQ2F0YWxvZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nQWRkIj54bWxDYXRhbG9nQWRkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dBZGRMb2NhbCI+eG1sQ2F0YWxvZ0FkZExvY2FsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dBbGxvdyI+eG1sQ2F0YWxvZ0FsbG93PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dDbGVhbnVwIj54bWxDYXRhbG9nQ2xlYW51cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nQ29udmVydCI+eG1sQ2F0YWxvZ0NvbnZlcnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ0R1bXAiPnhtbENhdGFsb2dEdW1wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dGcmVlTG9jYWwiPnhtbENhdGFsb2dGcmVlTG9jYWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ0dldERlZmF1bHRzIj54bWxDYXRhbG9nR2V0RGVmYXVsdHM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ0dldFB1YmxpYyI+eG1sQ2F0YWxvZ0dldFB1YmxpYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nR2V0U3lzdGVtIj54bWxDYXRhbG9nR2V0U3lzdGVtPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dJc0VtcHR5Ij54bWxDYXRhbG9nSXNFbXB0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nTG9jYWxSZXNvbHZlIj54bWxDYXRhbG9nTG9jYWxSZXNvbHZlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dMb2NhbFJlc29sdmVVUkkiPnhtbENhdGFsb2dMb2NhbFJlc29sdmVVUkk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ1ByZWZlciI+eG1sQ2F0YWxvZ1ByZWZlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nUHRyIj54bWxDYXRhbG9nUHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dSZW1vdmUiPnhtbENhdGFsb2dSZW1vdmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ1Jlc29sdmUiPnhtbENhdGFsb2dSZXNvbHZlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dSZXNvbHZlUHVibGljIj54bWxDYXRhbG9nUmVzb2x2ZVB1YmxpYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nUmVzb2x2ZVN5c3RlbSI+eG1sQ2F0YWxvZ1Jlc29sdmVTeXN0ZW08L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ1Jlc29sdmVVUkkiPnhtbENhdGFsb2dSZXNvbHZlVVJJPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dTZXREZWJ1ZyI+eG1sQ2F0YWxvZ1NldERlYnVnPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dTZXREZWZhdWx0UHJlZmVyIj54bWxDYXRhbG9nU2V0RGVmYXVsdFByZWZlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nU2V0RGVmYXVsdHMiPnhtbENhdGFsb2dTZXREZWZhdWx0czwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxDaExSYW5nZSI+eG1sQ2hMUmFuZ2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sQ2hMUmFuZ2VQdHIiPnhtbENoTFJhbmdlUHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbENoUmFuZ2VHcm91cCI+eG1sQ2hSYW5nZUdyb3VwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbENoUmFuZ2VHcm91cFB0ciI+eG1sQ2hSYW5nZUdyb3VwUHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbENoU1JhbmdlIj54bWxDaFNSYW5nZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxDaFNSYW5nZVB0ciI+eG1sQ2hTUmFuZ2VQdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jQ2xvc2VGdW5jIj54bWxDaGFyRW5jQ2xvc2VGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jRmlyc3RMaW5lIj54bWxDaGFyRW5jRmlyc3RMaW5lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jSW5GdW5jIj54bWxDaGFyRW5jSW5GdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jT3V0RnVuYyI+eG1sQ2hhckVuY091dEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZyI+eG1sQ2hhckVuY29kaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmdIYW5kbGVyIj54bWxDaGFyRW5jb2RpbmdIYW5kbGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyIj54bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmdJbnB1dEZ1bmMiPnhtbENoYXJFbmNvZGluZ0lucHV0RnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYyI+eG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxDaGFySW5SYW5nZSI+eG1sQ2hhckluUmFuZ2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyU3RyZHVwIj54bWxDaGFyU3RyZHVwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhclN0cm5kdXAiPnhtbENoYXJTdHJuZHVwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxDaGVja0ZpbGVuYW1lIj54bWxDaGVja0ZpbGVuYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxDaGVja0hUVFBJbnB1dCI+eG1sQ2hlY2tIVFRQSW5wdXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxDaGVja0xhbmd1YWdlSUQiPnhtbENoZWNrTGFuZ3VhZ2VJRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoZWNrVVRGOCI+eG1sQ2hlY2tVVEY4PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI3htbENoZWNrVmVyc2lvbiI+eG1sQ2hlY2tWZXJzaW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbENoaWxkRWxlbWVudENvdW50Ij54bWxDaGlsZEVsZW1lbnRDb3VudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxDaGlsZHJlbk5vZGUiPnhtbENoaWxkcmVuTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2xlYW51cENoYXJFbmNvZGluZ0hhbmRsZXJzIj54bWxDbGVhbnVwQ2hhckVuY29kaW5nSGFuZGxlcnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbENsZWFudXBFbmNvZGluZ0FsaWFzZXMiPnhtbENsZWFudXBFbmNvZGluZ0FsaWFzZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sQ2xlYW51cEdsb2JhbHMiPnhtbENsZWFudXBHbG9iYWxzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxDbGVhbnVwSW5wdXRDYWxsYmFja3MiPnhtbENsZWFudXBJbnB1dENhbGxiYWNrczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbENsZWFudXBNZW1vcnkiPnhtbENsZWFudXBNZW1vcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbENsZWFudXBPdXRwdXRDYWxsYmFja3MiPnhtbENsZWFudXBPdXRwdXRDYWxsYmFja3M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxDbGVhbnVwUGFyc2VyIj54bWxDbGVhbnVwUGFyc2VyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxDbGVhbnVwUHJlZGVmaW5lZEVudGl0aWVzIj54bWxDbGVhbnVwUHJlZGVmaW5lZEVudGl0aWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbENsZWFudXBUaHJlYWRzIj54bWxDbGVhbnVwVGhyZWFkczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbENsZWFyTm9kZUluZm9TZXEiPnhtbENsZWFyTm9kZUluZm9TZXE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxDbGVhclBhcnNlckN0eHQiPnhtbENsZWFyUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDb252ZXJ0U0dNTENhdGFsb2ciPnhtbENvbnZlcnRTR01MQ2F0YWxvZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sQ29weUF0dHJpYnV0ZVRhYmxlIj54bWxDb3B5QXR0cmlidXRlVGFibGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxDb3B5Q2hhciI+eG1sQ29weUNoYXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxDb3B5Q2hhck11bHRpQnl0ZSI+eG1sQ29weUNoYXJNdWx0aUJ5dGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQ29weURvYyI+eG1sQ29weURvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sQ29weURvY0VsZW1lbnRDb250ZW50Ij54bWxDb3B5RG9jRWxlbWVudENvbnRlbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQ29weUR0ZCI+eG1sQ29weUR0ZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sQ29weUVsZW1lbnRDb250ZW50Ij54bWxDb3B5RWxlbWVudENvbnRlbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbENvcHlFbGVtZW50VGFibGUiPnhtbENvcHlFbGVtZW50VGFibGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI3htbENvcHlFbnRpdGllc1RhYmxlIj54bWxDb3B5RW50aXRpZXNUYWJsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sQ29weUVudW1lcmF0aW9uIj54bWxDb3B5RW51bWVyYXRpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI3htbENvcHlFcnJvciI+eG1sQ29weUVycm9yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbENvcHlOYW1lc3BhY2UiPnhtbENvcHlOYW1lc3BhY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQ29weU5hbWVzcGFjZUxpc3QiPnhtbENvcHlOYW1lc3BhY2VMaXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbENvcHlOb2RlIj54bWxDb3B5Tm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxDb3B5Tm9kZUxpc3QiPnhtbENvcHlOb2RlTGlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sQ29weU5vdGF0aW9uVGFibGUiPnhtbENvcHlOb3RhdGlvblRhYmxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbENvcHlQcm9wIj54bWxDb3B5UHJvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxDb3B5UHJvcExpc3QiPnhtbENvcHlQcm9wTGlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbENyZWF0ZURvY1BhcnNlckN0eHQiPnhtbENyZWF0ZURvY1BhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI3htbENyZWF0ZUVudGl0aWVzVGFibGUiPnhtbENyZWF0ZUVudGl0aWVzVGFibGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxDcmVhdGVFbnRpdHlQYXJzZXJDdHh0Ij54bWxDcmVhdGVFbnRpdHlQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxDcmVhdGVFbnVtZXJhdGlvbiI+eG1sQ3JlYXRlRW51bWVyYXRpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxDcmVhdGVGaWxlUGFyc2VyQ3R4dCI+eG1sQ3JlYXRlRmlsZVBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxDcmVhdGVJT1BhcnNlckN0eHQiPnhtbENyZWF0ZUlPUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxDcmVhdGVJbnRTdWJzZXQiPnhtbENyZWF0ZUludFN1YnNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbENyZWF0ZU1lbW9yeVBhcnNlckN0eHQiPnhtbENyZWF0ZU1lbW9yeVBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dCI+eG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxDcmVhdGVVUkkiPnhtbENyZWF0ZVVSSTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbENyZWF0ZVVSTFBhcnNlckN0eHQiPnhtbENyZWF0ZVVSTFBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI3htbEN0eHRHZXRMYXN0RXJyb3IiPnhtbEN0eHRHZXRMYXN0RXJyb3I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxDdHh0UmVhZERvYyI+eG1sQ3R4dFJlYWREb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxDdHh0UmVhZEZkIj54bWxDdHh0UmVhZEZkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ3R4dFJlYWRGaWxlIj54bWxDdHh0UmVhZEZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxDdHh0UmVhZElPIj54bWxDdHh0UmVhZElPPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ3R4dFJlYWRNZW1vcnkiPnhtbEN0eHRSZWFkTWVtb3J5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ3R4dFJlc2V0Ij54bWxDdHh0UmVzZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI3htbEN0eHRSZXNldExhc3RFcnJvciI+eG1sQ3R4dFJlc2V0TGFzdEVycm9yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ3R4dFJlc2V0UHVzaCI+eG1sQ3R4dFJlc2V0UHVzaDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEN0eHRVc2VPcHRpb25zIj54bWxDdHh0VXNlT3B0aW9uczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbEN1cnJlbnRDaGFyIj54bWxDdXJyZW50Q2hhcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwQWNxdWlyZU5zRnVuY3Rpb24iPnhtbERPTVdyYXBBY3F1aXJlTnNGdW5jdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwQWRvcHROb2RlIj54bWxET01XcmFwQWRvcHROb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBDbG9uZU5vZGUiPnhtbERPTVdyYXBDbG9uZU5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcEN0eHQiPnhtbERPTVdyYXBDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBDdHh0UHRyIj54bWxET01XcmFwQ3R4dFB0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwRnJlZUN0eHQiPnhtbERPTVdyYXBGcmVlQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwTmV3Q3R4dCI+eG1sRE9NV3JhcE5ld0N0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcFJlY29uY2lsZU5hbWVzcGFjZXMiPnhtbERPTVdyYXBSZWNvbmNpbGVOYW1lc3BhY2VzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBSZW1vdmVOb2RlIj54bWxET01XcmFwUmVtb3ZlTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sRGVidWdDaGVja0RvY3VtZW50Ij54bWxEZWJ1Z0NoZWNrRG9jdW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbERlYnVnRHVtcEF0dHIiPnhtbERlYnVnRHVtcEF0dHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbERlYnVnRHVtcEF0dHJMaXN0Ij54bWxEZWJ1Z0R1bXBBdHRyTGlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sRGVidWdEdW1wRFREIj54bWxEZWJ1Z0R1bXBEVEQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbERlYnVnRHVtcERvY3VtZW50Ij54bWxEZWJ1Z0R1bXBEb2N1bWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sRGVidWdEdW1wRG9jdW1lbnRIZWFkIj54bWxEZWJ1Z0R1bXBEb2N1bWVudEhlYWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbERlYnVnRHVtcEVudGl0aWVzIj54bWxEZWJ1Z0R1bXBFbnRpdGllczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sRGVidWdEdW1wTm9kZSI+eG1sRGVidWdEdW1wTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sRGVidWdEdW1wTm9kZUxpc3QiPnhtbERlYnVnRHVtcE5vZGVMaXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxEZWJ1Z0R1bXBPbmVOb2RlIj54bWxEZWJ1Z0R1bXBPbmVOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxEZWJ1Z0R1bXBTdHJpbmciPnhtbERlYnVnRHVtcFN0cmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbERlY29kZUVudGl0aWVzIj54bWxEZWNvZGVFbnRpdGllczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxEZWZhdWx0QnVmZmVyU2l6ZSI+eG1sRGVmYXVsdEJ1ZmZlclNpemU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sRGVmYXVsdFNBWEhhbmRsZXIiPnhtbERlZmF1bHRTQVhIYW5kbGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbERlZmF1bHRTQVhIYW5kbGVySW5pdCI+eG1sRGVmYXVsdFNBWEhhbmRsZXJJbml0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbERlZmF1bHRTQVhMb2NhdG9yIj54bWxEZWZhdWx0U0FYTG9jYXRvcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sRGVsRW5jb2RpbmdBbGlhcyI+eG1sRGVsRW5jb2RpbmdBbGlhczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxEZXJlZ2lzdGVyTm9kZURlZmF1bHQiPnhtbERlcmVnaXN0ZXJOb2RlRGVmYXVsdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxEZXJlZ2lzdGVyTm9kZURlZmF1bHRWYWx1ZSI+eG1sRGVyZWdpc3Rlck5vZGVEZWZhdWx0VmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sRGVyZWdpc3Rlck5vZGVGdW5jIj54bWxEZXJlZ2lzdGVyTm9kZUZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbERldGVjdENoYXJFbmNvZGluZyI+eG1sRGV0ZWN0Q2hhckVuY29kaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGljdC5odG1sI3htbERpY3QiPnhtbERpY3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kaWN0Lmh0bWwjeG1sRGljdENsZWFudXAiPnhtbERpY3RDbGVhbnVwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGljdC5odG1sI3htbERpY3RDcmVhdGUiPnhtbERpY3RDcmVhdGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kaWN0Lmh0bWwjeG1sRGljdENyZWF0ZVN1YiI+eG1sRGljdENyZWF0ZVN1YjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0RXhpc3RzIj54bWxEaWN0RXhpc3RzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGljdC5odG1sI3htbERpY3RGcmVlIj54bWxEaWN0RnJlZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0R2V0VXNhZ2UiPnhtbERpY3RHZXRVc2FnZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0TG9va3VwIj54bWxEaWN0TG9va3VwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGljdC5odG1sI3htbERpY3RPd25zIj54bWxEaWN0T3duczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0UHRyIj54bWxEaWN0UHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGljdC5odG1sI3htbERpY3RRTG9va3VwIj54bWxEaWN0UUxvb2t1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0UmVmZXJlbmNlIj54bWxEaWN0UmVmZXJlbmNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGljdC5odG1sI3htbERpY3RTZXRMaW1pdCI+eG1sRGljdFNldExpbWl0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGljdC5odG1sI3htbERpY3RTaXplIj54bWxEaWN0U2l6ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRocmVhZHMuaHRtbCN4bWxEbGxNYWluIj54bWxEbGxNYWluPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbERvVmFsaWRpdHlDaGVja2luZ0RlZmF1bHRWYWx1ZSI+eG1sRG9WYWxpZGl0eUNoZWNraW5nRGVmYXVsdFZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERvYyI+eG1sRG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERvY0NvcHlOb2RlIj54bWxEb2NDb3B5Tm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxEb2NDb3B5Tm9kZUxpc3QiPnhtbERvY0NvcHlOb2RlTGlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxEb2NEdW1wIj54bWxEb2NEdW1wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERvY0R1bXBGb3JtYXRNZW1vcnkiPnhtbERvY0R1bXBGb3JtYXRNZW1vcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRG9jRHVtcEZvcm1hdE1lbW9yeUVuYyI+eG1sRG9jRHVtcEZvcm1hdE1lbW9yeUVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxEb2NEdW1wTWVtb3J5Ij54bWxEb2NEdW1wTWVtb3J5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERvY0R1bXBNZW1vcnlFbmMiPnhtbERvY0R1bXBNZW1vcnlFbmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRG9jRm9ybWF0RHVtcCI+eG1sRG9jRm9ybWF0RHVtcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxEb2NHZXRSb290RWxlbWVudCI+eG1sRG9jR2V0Um9vdEVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHJvcGVydGllcyI+eG1sRG9jUHJvcGVydGllczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxEb2NTZXRSb290RWxlbWVudCI+eG1sRG9jU2V0Um9vdEVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRHRkIj54bWxEdGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRHRkUHRyIj54bWxEdGRQdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbER1bXBBdHRyaWJ1dGVEZWNsIj54bWxEdW1wQXR0cmlidXRlRGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sRHVtcEF0dHJpYnV0ZVRhYmxlIj54bWxEdW1wQXR0cmlidXRlVGFibGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbER1bXBFbGVtZW50RGVjbCI+eG1sRHVtcEVsZW1lbnREZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxEdW1wRWxlbWVudFRhYmxlIj54bWxEdW1wRWxlbWVudFRhYmxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxEdW1wRW50aXRpZXNUYWJsZSI+eG1sRHVtcEVudGl0aWVzVGFibGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI3htbER1bXBFbnRpdHlEZWNsIj54bWxEdW1wRW50aXR5RGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sRHVtcE5vdGF0aW9uRGVjbCI+eG1sRHVtcE5vdGF0aW9uRGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sRHVtcE5vdGF0aW9uVGFibGUiPnhtbER1bXBOb3RhdGlvblRhYmxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEVsZW1EdW1wIj54bWxFbGVtRHVtcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxFbGVtZW50Ij54bWxFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEVsZW1lbnRDb250ZW50Ij54bWxFbGVtZW50Q29udGVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxFbGVtZW50Q29udGVudE9jY3VyIj54bWxFbGVtZW50Q29udGVudE9jY3VyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEVsZW1lbnRDb250ZW50UHRyIj54bWxFbGVtZW50Q29udGVudFB0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxFbGVtZW50Q29udGVudFR5cGUiPnhtbEVsZW1lbnRDb250ZW50VHlwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxFbGVtZW50UHRyIj54bWxFbGVtZW50UHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxFbGVtZW50VGFibGUiPnhtbEVsZW1lbnRUYWJsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sRWxlbWVudFRhYmxlUHRyIj54bWxFbGVtZW50VGFibGVQdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRWxlbWVudFR5cGUiPnhtbEVsZW1lbnRUeXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEVsZW1lbnRUeXBlVmFsIj54bWxFbGVtZW50VHlwZVZhbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjeG1sRW5jb2RlRW50aXRpZXMiPnhtbEVuY29kZUVudGl0aWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxFbmNvZGVFbnRpdGllc1JlZW50cmFudCI+eG1sRW5jb2RlRW50aXRpZXNSZWVudHJhbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI3htbEVuY29kZVNwZWNpYWxDaGFycyI+eG1sRW5jb2RlU3BlY2lhbENoYXJzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxFbnRpdGllc1RhYmxlIj54bWxFbnRpdGllc1RhYmxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxFbnRpdGllc1RhYmxlUHRyIj54bWxFbnRpdGllc1RhYmxlUHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEVudGl0eSI+eG1sRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEVudGl0eVB0ciI+eG1sRW50aXR5UHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sRW50aXR5UmVmZXJlbmNlRnVuYyI+eG1sRW50aXR5UmVmZXJlbmNlRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjeG1sRW50aXR5VHlwZSI+eG1sRW50aXR5VHlwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxFbnVtZXJhdGlvbiI+eG1sRW51bWVyYXRpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRW51bWVyYXRpb25QdHIiPnhtbEVudW1lcmF0aW9uUHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sRXJyTWVtb3J5Ij54bWxFcnJNZW1vcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI3htbEVycm9yIj54bWxFcnJvcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sRXJyb3JEb21haW4iPnhtbEVycm9yRG9tYWluPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxFcnJvckxldmVsIj54bWxFcnJvckxldmVsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxFcnJvclB0ciI+eG1sRXJyb3JQdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBDdHh0Ij54bWxFeHBDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwQ3R4dE5iQ29ucyI+eG1sRXhwQ3R4dE5iQ29uczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cEN0eHROYk5vZGVzIj54bWxFeHBDdHh0TmJOb2RlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cEN0eHRQdHIiPnhtbEV4cEN0eHRQdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBEdW1wIj54bWxFeHBEdW1wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwRXhwRGVyaXZlIj54bWxFeHBFeHBEZXJpdmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBGcmVlIj54bWxFeHBGcmVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwRnJlZUN0eHQiPnhtbEV4cEZyZWVDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwR2V0TGFuZ3VhZ2UiPnhtbEV4cEdldExhbmd1YWdlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwR2V0U3RhcnQiPnhtbEV4cEdldFN0YXJ0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwSXNOaWxsYWJsZSI+eG1sRXhwSXNOaWxsYWJsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cE1heFRva2VuIj54bWxFeHBNYXhUb2tlbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5ld0F0b20iPnhtbEV4cE5ld0F0b208L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBOZXdDdHh0Ij54bWxFeHBOZXdDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwTmV3T3IiPnhtbEV4cE5ld09yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwTmV3UmFuZ2UiPnhtbEV4cE5ld1JhbmdlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwTmV3U2VxIj54bWxFeHBOZXdTZXE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBOb2RlIj54bWxFeHBOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwTm9kZVB0ciI+eG1sRXhwTm9kZVB0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5vZGVUeXBlIj54bWxFeHBOb2RlVHlwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cFBhcnNlIj54bWxFeHBQYXJzZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cFJlZiI+eG1sRXhwUmVmPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwU3RyaW5nRGVyaXZlIj54bWxFeHBTdHJpbmdEZXJpdmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBTdWJzdW1lIj54bWxFeHBTdWJzdW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sRXh0ZXJuYWxFbnRpdHlMb2FkZXIiPnhtbEV4dGVybmFsRW50aXR5TG9hZGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sRmVhdHVyZSI+eG1sRmVhdHVyZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sRmlsZUNsb3NlIj54bWxGaWxlQ2xvc2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbEZpbGVNYXRjaCI+eG1sRmlsZU1hdGNoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxGaWxlT3BlbiI+eG1sRmlsZU9wZW48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbEZpbGVSZWFkIj54bWxGaWxlUmVhZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sRmluZENoYXJFbmNvZGluZ0hhbmRsZXIiPnhtbEZpbmRDaGFyRW5jb2RpbmdIYW5kbGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEZpcnN0RWxlbWVudENoaWxkIj54bWxGaXJzdEVsZW1lbnRDaGlsZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxGcmVlIj54bWxGcmVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxGcmVlQXR0cmlidXRlVGFibGUiPnhtbEZyZWVBdHRyaWJ1dGVUYWJsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sRnJlZUF1dG9tYXRhIj54bWxGcmVlQXV0b21hdGE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sRnJlZUNhdGFsb2ciPnhtbEZyZWVDYXRhbG9nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEZyZWVEb2MiPnhtbEZyZWVEb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEZyZWVEb2NFbGVtZW50Q29udGVudCI+eG1sRnJlZURvY0VsZW1lbnRDb250ZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEZyZWVEdGQiPnhtbEZyZWVEdGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEZyZWVFbGVtZW50Q29udGVudCI+eG1sRnJlZUVsZW1lbnRDb250ZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxGcmVlRWxlbWVudFRhYmxlIj54bWxGcmVlRWxlbWVudFRhYmxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxGcmVlRW50aXRpZXNUYWJsZSI+eG1sRnJlZUVudGl0aWVzVGFibGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEZyZWVFbnVtZXJhdGlvbiI+eG1sRnJlZUVudW1lcmF0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sRnJlZUZ1bmMiPnhtbEZyZWVGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxGcmVlSURUYWJsZSI+eG1sRnJlZUlEVGFibGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxGcmVlSW5wdXRTdHJlYW0iPnhtbEZyZWVJbnB1dFN0cmVhbTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRocmVhZHMuaHRtbCN4bWxGcmVlTXV0ZXgiPnhtbEZyZWVNdXRleDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxGcmVlTm9kZSI+eG1sRnJlZU5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRnJlZU5vZGVMaXN0Ij54bWxGcmVlTm9kZUxpc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEZyZWVOb3RhdGlvblRhYmxlIj54bWxGcmVlTm90YXRpb25UYWJsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxGcmVlTnMiPnhtbEZyZWVOczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxGcmVlTnNMaXN0Ij54bWxGcmVlTnNMaXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sRnJlZVBhcnNlckN0eHQiPnhtbEZyZWVQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxGcmVlUGFyc2VySW5wdXRCdWZmZXIiPnhtbEZyZWVQYXJzZXJJbnB1dEJ1ZmZlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCN4bWxGcmVlUGF0dGVybiI+eG1sRnJlZVBhdHRlcm48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sRnJlZVBhdHRlcm5MaXN0Ij54bWxGcmVlUGF0dGVybkxpc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRnJlZVByb3AiPnhtbEZyZWVQcm9wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEZyZWVQcm9wTGlzdCI+eG1sRnJlZVByb3BMaXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbEZyZWVSTXV0ZXgiPnhtbEZyZWVSTXV0ZXg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEZyZWVSZWZUYWJsZSI+eG1sRnJlZVJlZlRhYmxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbEZyZWVTdHJlYW1DdHh0Ij54bWxGcmVlU3RyZWFtQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbEZyZWVUZXh0UmVhZGVyIj54bWxGcmVlVGV4dFJlYWRlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbEZyZWVUZXh0V3JpdGVyIj54bWxGcmVlVGV4dFdyaXRlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbEZyZWVVUkkiPnhtbEZyZWVVUkk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEZyZWVWYWxpZEN0eHQiPnhtbEZyZWVWYWxpZEN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxHY01lbUdldCI+eG1sR2NNZW1HZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxHY01lbVNldHVwIj54bWxHY01lbVNldHVwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbEdlbmVyaWNFcnJvciI+eG1sR2VuZXJpY0Vycm9yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbEdlbmVyaWNFcnJvckNvbnRleHQiPnhtbEdlbmVyaWNFcnJvckNvbnRleHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI3htbEdlbmVyaWNFcnJvckZ1bmMiPnhtbEdlbmVyaWNFcnJvckZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sR2V0QnVmZmVyQWxsb2NhdGlvblNjaGVtZSI+eG1sR2V0QnVmZmVyQWxsb2NhdGlvblNjaGVtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sR2V0Q2hhckVuY29kaW5nSGFuZGxlciI+eG1sR2V0Q2hhckVuY29kaW5nSGFuZGxlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sR2V0Q2hhckVuY29kaW5nTmFtZSI+eG1sR2V0Q2hhckVuY29kaW5nTmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxHZXRDb21wcmVzc01vZGUiPnhtbEdldENvbXByZXNzTW9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxHZXREb2NDb21wcmVzc01vZGUiPnhtbEdldERvY0NvbXByZXNzTW9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjeG1sR2V0RG9jRW50aXR5Ij54bWxHZXREb2NFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEdldER0ZEF0dHJEZXNjIj54bWxHZXREdGRBdHRyRGVzYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sR2V0RHRkRWxlbWVudERlc2MiPnhtbEdldER0ZEVsZW1lbnREZXNjPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxHZXREdGRFbnRpdHkiPnhtbEdldER0ZEVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sR2V0RHRkTm90YXRpb25EZXNjIj54bWxHZXREdGROb3RhdGlvbkRlc2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEdldER0ZFFBdHRyRGVzYyI+eG1sR2V0RHRkUUF0dHJEZXNjPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxHZXREdGRRRWxlbWVudERlc2MiPnhtbEdldER0ZFFFbGVtZW50RGVzYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sR2V0RW5jb2RpbmdBbGlhcyI+eG1sR2V0RW5jb2RpbmdBbGlhczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEdldEV4dGVybmFsRW50aXR5TG9hZGVyIj54bWxHZXRFeHRlcm5hbEVudGl0eUxvYWRlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEdldEZlYXR1cmUiPnhtbEdldEZlYXR1cmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxHZXRGZWF0dXJlc0xpc3QiPnhtbEdldEZlYXR1cmVzTGlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRocmVhZHMuaHRtbCN4bWxHZXRHbG9iYWxTdGF0ZSI+eG1sR2V0R2xvYmFsU3RhdGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEdldElEIj54bWxHZXRJRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxHZXRJbnRTdWJzZXQiPnhtbEdldEludFN1YnNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxHZXRMYXN0Q2hpbGQiPnhtbEdldExhc3RDaGlsZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sR2V0TGFzdEVycm9yIj54bWxHZXRMYXN0RXJyb3I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sR2V0TGluZU5vIj54bWxHZXRMaW5lTm88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sR2V0Tm9Oc1Byb3AiPnhtbEdldE5vTnNQcm9wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEdldE5vZGVQYXRoIj54bWxHZXROb2RlUGF0aDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxHZXROc0xpc3QiPnhtbEdldE5zTGlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxHZXROc1Byb3AiPnhtbEdldE5zUHJvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjeG1sR2V0UGFyYW1ldGVyRW50aXR5Ij54bWxHZXRQYXJhbWV0ZXJFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI3htbEdldFByZWRlZmluZWRFbnRpdHkiPnhtbEdldFByZWRlZmluZWRFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sR2V0UHJvcCI+eG1sR2V0UHJvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sR2V0UmVmcyI+eG1sR2V0UmVmczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRocmVhZHMuaHRtbCN4bWxHZXRUaHJlYWRJZCI+eG1sR2V0VGhyZWFkSWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxHZXRVVEY4Q2hhciI+eG1sR2V0VVRGOENoYXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sR2V0V2FybmluZ3NEZWZhdWx0VmFsdWUiPnhtbEdldFdhcm5pbmdzRGVmYXVsdFZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbEdsb2JhbFN0YXRlIj54bWxHbG9iYWxTdGF0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxHbG9iYWxTdGF0ZVB0ciI+eG1sR2xvYmFsU3RhdGVQdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxIYW5kbGVFbnRpdHkiPnhtbEhhbmRsZUVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEhhc0ZlYXR1cmUiPnhtbEhhc0ZlYXR1cmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sSGFzTnNQcm9wIj54bWxIYXNOc1Byb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sSGFzUHJvcCI+eG1sSGFzUHJvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoQWRkRW50cnkiPnhtbEhhc2hBZGRFbnRyeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoQWRkRW50cnkyIj54bWxIYXNoQWRkRW50cnkyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hBZGRFbnRyeTMiPnhtbEhhc2hBZGRFbnRyeTM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaENvcGllciI+eG1sSGFzaENvcGllcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoQ29weSI+eG1sSGFzaENvcHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaENyZWF0ZSI+eG1sSGFzaENyZWF0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoQ3JlYXRlRGljdCI+eG1sSGFzaENyZWF0ZURpY3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaERlYWxsb2NhdG9yIj54bWxIYXNoRGVhbGxvY2F0b3I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaEZyZWUiPnhtbEhhc2hGcmVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hMb29rdXAiPnhtbEhhc2hMb29rdXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaExvb2t1cDIiPnhtbEhhc2hMb29rdXAyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hMb29rdXAzIj54bWxIYXNoTG9va3VwMzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoUUxvb2t1cCI+eG1sSGFzaFFMb29rdXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFFMb29rdXAyIj54bWxIYXNoUUxvb2t1cDI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFFMb29rdXAzIj54bWxIYXNoUUxvb2t1cDM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFJlbW92ZUVudHJ5Ij54bWxIYXNoUmVtb3ZlRW50cnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFJlbW92ZUVudHJ5MiI+eG1sSGFzaFJlbW92ZUVudHJ5MjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoUmVtb3ZlRW50cnkzIj54bWxIYXNoUmVtb3ZlRW50cnkzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hTY2FuIj54bWxIYXNoU2NhbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoU2NhbjMiPnhtbEhhc2hTY2FuMzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoU2NhbkZ1bGwiPnhtbEhhc2hTY2FuRnVsbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoU2NhbkZ1bGwzIj54bWxIYXNoU2NhbkZ1bGwzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hTY2FubmVyIj54bWxIYXNoU2Nhbm5lcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoU2Nhbm5lckZ1bGwiPnhtbEhhc2hTY2FubmVyRnVsbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoU2l6ZSI+eG1sSGFzaFNpemU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFRhYmxlIj54bWxIYXNoVGFibGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFRhYmxlUHRyIj54bWxIYXNoVGFibGVQdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFVwZGF0ZUVudHJ5Ij54bWxIYXNoVXBkYXRlRW50cnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFVwZGF0ZUVudHJ5MiI+eG1sSGFzaFVwZGF0ZUVudHJ5MjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoVXBkYXRlRW50cnkzIj54bWxIYXNoVXBkYXRlRW50cnkzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbElEIj54bWxJRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxJRFB0ciI+eG1sSURQdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbElEVGFibGUiPnhtbElEVGFibGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbElEVGFibGVQdHIiPnhtbElEVGFibGVQdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbElPRlRQQ2xvc2UiPnhtbElPRlRQQ2xvc2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbElPRlRQTWF0Y2giPnhtbElPRlRQTWF0Y2g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbElPRlRQT3BlbiI+eG1sSU9GVFBPcGVuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxJT0ZUUFJlYWQiPnhtbElPRlRQUmVhZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sSU9IVFRQQ2xvc2UiPnhtbElPSFRUUENsb3NlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxJT0hUVFBNYXRjaCI+eG1sSU9IVFRQTWF0Y2g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbElPSFRUUE9wZW4iPnhtbElPSFRUUE9wZW48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbElPSFRUUE9wZW5XIj54bWxJT0hUVFBPcGVuVzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sSU9IVFRQUmVhZCI+eG1sSU9IVFRQUmVhZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbElPUGFyc2VEVEQiPnhtbElPUGFyc2VEVEQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sSW5kZW50VHJlZU91dHB1dCI+eG1sSW5kZW50VHJlZU91dHB1dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sSW5pdENoYXJFbmNvZGluZ0hhbmRsZXJzIj54bWxJbml0Q2hhckVuY29kaW5nSGFuZGxlcnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sSW5pdEdsb2JhbHMiPnhtbEluaXRHbG9iYWxzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sSW5pdE1lbW9yeSI+eG1sSW5pdE1lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEluaXROb2RlSW5mb1NlcSI+eG1sSW5pdE5vZGVJbmZvU2VxPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sSW5pdFBhcnNlciI+eG1sSW5pdFBhcnNlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEluaXRQYXJzZXJDdHh0Ij54bWxJbml0UGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRocmVhZHMuaHRtbCN4bWxJbml0VGhyZWFkcyI+eG1sSW5pdFRocmVhZHM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sSW5pdGlhbGl6ZUNhdGFsb2ciPnhtbEluaXRpYWxpemVDYXRhbG9nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGljdC5odG1sI3htbEluaXRpYWxpemVEaWN0Ij54bWxJbml0aWFsaXplRGljdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxJbml0aWFsaXplR2xvYmFsU3RhdGUiPnhtbEluaXRpYWxpemVHbG9iYWxTdGF0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjeG1sSW5pdGlhbGl6ZVByZWRlZmluZWRFbnRpdGllcyI+eG1sSW5pdGlhbGl6ZVByZWRlZmluZWRFbnRpdGllczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sSW5wdXRDbG9zZUNhbGxiYWNrIj54bWxJbnB1dENsb3NlQ2FsbGJhY2s8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbElucHV0TWF0Y2hDYWxsYmFjayI+eG1sSW5wdXRNYXRjaENhbGxiYWNrPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxJbnB1dE9wZW5DYWxsYmFjayI+eG1sSW5wdXRPcGVuQ2FsbGJhY2s8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbElucHV0UmVhZENhbGxiYWNrIj54bWxJbnB1dFJlYWRDYWxsYmFjazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc0Jhc2VDaGFyIj54bWxJc0Jhc2VDaGFyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzQmFzZUNoYXJHcm91cCI+eG1sSXNCYXNlQ2hhckdyb3VwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzQmFzZUNoYXJRIj54bWxJc0Jhc2VDaGFyUTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc0Jhc2VDaGFyX2NoIj54bWxJc0Jhc2VDaGFyX2NoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzQmxhbmsiPnhtbElzQmxhbms8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sSXNCbGFua05vZGUiPnhtbElzQmxhbmtOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzQmxhbmtRIj54bWxJc0JsYW5rUTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc0JsYW5rX2NoIj54bWxJc0JsYW5rX2NoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzQ2hhciI+eG1sSXNDaGFyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzQ2hhckdyb3VwIj54bWxJc0NoYXJHcm91cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc0NoYXJRIj54bWxJc0NoYXJRPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzQ2hhcl9jaCI+eG1sSXNDaGFyX2NoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzQ29tYmluaW5nIj54bWxJc0NvbWJpbmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc0NvbWJpbmluZ0dyb3VwIj54bWxJc0NvbWJpbmluZ0dyb3VwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzQ29tYmluaW5nUSI+eG1sSXNDb21iaW5pbmdRPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzRGlnaXQiPnhtbElzRGlnaXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNEaWdpdEdyb3VwIj54bWxJc0RpZ2l0R3JvdXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNEaWdpdFEiPnhtbElzRGlnaXRRPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzRGlnaXRfY2giPnhtbElzRGlnaXRfY2g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNFeHRlbmRlciI+eG1sSXNFeHRlbmRlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc0V4dGVuZGVyR3JvdXAiPnhtbElzRXh0ZW5kZXJHcm91cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc0V4dGVuZGVyUSI+eG1sSXNFeHRlbmRlclE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNFeHRlbmRlcl9jaCI+eG1sSXNFeHRlbmRlcl9jaDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sSXNJRCI+eG1sSXNJRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc0lkZW9ncmFwaGljIj54bWxJc0lkZW9ncmFwaGljPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzSWRlb2dyYXBoaWNHcm91cCI+eG1sSXNJZGVvZ3JhcGhpY0dyb3VwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzSWRlb2dyYXBoaWNRIj54bWxJc0lkZW9ncmFwaGljUTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbElzTGV0dGVyIj54bWxJc0xldHRlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRocmVhZHMuaHRtbCN4bWxJc01haW5UaHJlYWQiPnhtbElzTWFpblRocmVhZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sSXNNaXhlZEVsZW1lbnQiPnhtbElzTWl4ZWRFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzUHViaWRDaGFyIj54bWxJc1B1YmlkQ2hhcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc1B1YmlkQ2hhclEiPnhtbElzUHViaWRDaGFyUTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc1B1YmlkQ2hhcl9jaCI+eG1sSXNQdWJpZENoYXJfY2g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNQdWJpZENoYXJfdGFiIj54bWxJc1B1YmlkQ2hhcl90YWI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbElzUmVmIj54bWxJc1JlZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxJc1hIVE1MIj54bWxJc1hIVE1MPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sS2VlcEJsYW5rc0RlZmF1bHQiPnhtbEtlZXBCbGFua3NEZWZhdWx0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbEtlZXBCbGFua3NEZWZhdWx0VmFsdWUiPnhtbEtlZXBCbGFua3NEZWZhdWx0VmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTGFzdEVsZW1lbnRDaGlsZCI+eG1sTGFzdEVsZW1lbnRDaGlsZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxMYXN0RXJyb3IiPnhtbExhc3RFcnJvcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbExpbmVOdW1iZXJzRGVmYXVsdCI+eG1sTGluZU51bWJlcnNEZWZhdWx0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbExpbmVOdW1iZXJzRGVmYXVsdFZhbHVlIj54bWxMaW5lTnVtYmVyc0RlZmF1bHRWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaW5rIj54bWxMaW5rPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpbmtHZXREYXRhIj54bWxMaW5rR2V0RGF0YTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaW5rUHRyIj54bWxMaW5rUHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3QiPnhtbExpc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdEFwcGVuZCI+eG1sTGlzdEFwcGVuZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0Q2xlYXIiPnhtbExpc3RDbGVhcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0Q29weSI+eG1sTGlzdENvcHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdENyZWF0ZSI+eG1sTGlzdENyZWF0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0RGF0YUNvbXBhcmUiPnhtbExpc3REYXRhQ29tcGFyZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0RGVhbGxvY2F0b3IiPnhtbExpc3REZWFsbG9jYXRvcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0RGVsZXRlIj54bWxMaXN0RGVsZXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3REdXAiPnhtbExpc3REdXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdEVtcHR5Ij54bWxMaXN0RW1wdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdEVuZCI+eG1sTGlzdEVuZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0RnJvbnQiPnhtbExpc3RGcm9udDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0SW5zZXJ0Ij54bWxMaXN0SW5zZXJ0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3RNZXJnZSI+eG1sTGlzdE1lcmdlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3RQb3BCYWNrIj54bWxMaXN0UG9wQmFjazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0UG9wRnJvbnQiPnhtbExpc3RQb3BGcm9udDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0UHRyIj54bWxMaXN0UHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3RQdXNoQmFjayI+eG1sTGlzdFB1c2hCYWNrPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3RQdXNoRnJvbnQiPnhtbExpc3RQdXNoRnJvbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdFJlbW92ZUFsbCI+eG1sTGlzdFJlbW92ZUFsbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0UmVtb3ZlRmlyc3QiPnhtbExpc3RSZW1vdmVGaXJzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0UmVtb3ZlTGFzdCI+eG1sTGlzdFJlbW92ZUxhc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdFJldmVyc2UiPnhtbExpc3RSZXZlcnNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3RSZXZlcnNlU2VhcmNoIj54bWxMaXN0UmV2ZXJzZVNlYXJjaDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0UmV2ZXJzZVdhbGsiPnhtbExpc3RSZXZlcnNlV2FsazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0U2VhcmNoIj54bWxMaXN0U2VhcmNoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3RTaXplIj54bWxMaXN0U2l6ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0U29ydCI+eG1sTGlzdFNvcnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdFdhbGsiPnhtbExpc3RXYWxrPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3RXYWxrZXIiPnhtbExpc3RXYWxrZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sTG9hZEFDYXRhbG9nIj54bWxMb2FkQUNhdGFsb2c8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sTG9hZENhdGFsb2ciPnhtbExvYWRDYXRhbG9nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbExvYWRDYXRhbG9ncyI+eG1sTG9hZENhdGFsb2dzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbExvYWRFeHREdGREZWZhdWx0VmFsdWUiPnhtbExvYWRFeHREdGREZWZhdWx0VmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxMb2FkRXh0ZXJuYWxFbnRpdHkiPnhtbExvYWRFeHRlcm5hbEVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxMb2FkU0dNTFN1cGVyQ2F0YWxvZyI+eG1sTG9hZFNHTUxTdXBlckNhdGFsb2c8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbExvY2F0aW9uU2V0Ij54bWxMb2NhdGlvblNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sTG9jYXRpb25TZXRQdHIiPnhtbExvY2F0aW9uU2V0UHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbExvY2tMaWJyYXJ5Ij54bWxMb2NrTGlicmFyeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sTHNDb3VudE5vZGUiPnhtbExzQ291bnROb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxMc09uZU5vZGUiPnhtbExzT25lTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxNYWxsb2MiPnhtbE1hbGxvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxNYWxsb2NBdG9taWMiPnhtbE1hbGxvY0F0b21pYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1hbGxvY0F0b21pY0xvYyI+eG1sTWFsbG9jQXRvbWljTG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWFsbG9jRnVuYyI+eG1sTWFsbG9jRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1hbGxvY0xvYyI+eG1sTWFsbG9jTG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWVtQmxvY2tzIj54bWxNZW1CbG9ja3M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNZW1EaXNwbGF5Ij54bWxNZW1EaXNwbGF5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWVtRGlzcGxheUxhc3QiPnhtbE1lbURpc3BsYXlMYXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWVtRnJlZSI+eG1sTWVtRnJlZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1lbUdldCI+eG1sTWVtR2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWVtTWFsbG9jIj54bWxNZW1NYWxsb2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNZW1SZWFsbG9jIj54bWxNZW1SZWFsbG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWVtU2V0dXAiPnhtbE1lbVNldHVwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWVtU2hvdyI+eG1sTWVtU2hvdzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxNZW1TdHJkdXAiPnhtbE1lbVN0cmR1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1lbVN0cmR1cExvYyI+eG1sTWVtU3RyZHVwTG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWVtVXNlZCI+eG1sTWVtVXNlZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1lbW9yeUR1bXAiPnhtbE1lbW9yeUR1bXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNZW1vcnlTdHJkdXAiPnhtbE1lbW9yeVN0cmR1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1vZHVsZS5odG1sI3htbE1vZHVsZSI+eG1sTW9kdWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbW9kdWxlLmh0bWwjeG1sTW9kdWxlQ2xvc2UiPnhtbE1vZHVsZUNsb3NlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbW9kdWxlLmh0bWwjeG1sTW9kdWxlRnJlZSI+eG1sTW9kdWxlRnJlZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1vZHVsZS5odG1sI3htbE1vZHVsZU9wZW4iPnhtbE1vZHVsZU9wZW48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxtb2R1bGUuaHRtbCN4bWxNb2R1bGVPcHRpb24iPnhtbE1vZHVsZU9wdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1vZHVsZS5odG1sI3htbE1vZHVsZVB0ciI+eG1sTW9kdWxlUHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbW9kdWxlLmh0bWwjeG1sTW9kdWxlU3ltYm9sIj54bWxNb2R1bGVTeW1ib2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sTXV0ZXgiPnhtbE11dGV4PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbE11dGV4TG9jayI+eG1sTXV0ZXhMb2NrPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbE11dGV4UHRyIj54bWxNdXRleFB0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRocmVhZHMuaHRtbCN4bWxNdXRleFVubG9jayI+eG1sTXV0ZXhVbmxvY2s8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxOYW1lc3BhY2VQYXJzZU5DTmFtZSI+eG1sTmFtZXNwYWNlUGFyc2VOQ05hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxOYW1lc3BhY2VQYXJzZU5TRGVmIj54bWxOYW1lc3BhY2VQYXJzZU5TRGVmPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sTmFtZXNwYWNlUGFyc2VRTmFtZSI+eG1sTmFtZXNwYWNlUGFyc2VRTmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQQ2hlY2tSZXNwb25zZSI+eG1sTmFub0ZUUENoZWNrUmVzcG9uc2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUENsZWFudXAiPnhtbE5hbm9GVFBDbGVhbnVwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBDbG9zZSI+eG1sTmFub0ZUUENsb3NlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBDbG9zZUNvbm5lY3Rpb24iPnhtbE5hbm9GVFBDbG9zZUNvbm5lY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUENvbm5lY3QiPnhtbE5hbm9GVFBDb25uZWN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBDb25uZWN0VG8iPnhtbE5hbm9GVFBDb25uZWN0VG88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUEN3ZCI+eG1sTmFub0ZUUEN3ZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQRGVsZSI+eG1sTmFub0ZUUERlbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUEZyZWVDdHh0Ij54bWxOYW5vRlRQRnJlZUN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUEdldCI+eG1sTmFub0ZUUEdldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQR2V0Q29ubmVjdGlvbiI+eG1sTmFub0ZUUEdldENvbm5lY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUEdldFJlc3BvbnNlIj54bWxOYW5vRlRQR2V0UmVzcG9uc2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUEdldFNvY2tldCI+eG1sTmFub0ZUUEdldFNvY2tldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQSW5pdCI+eG1sTmFub0ZUUEluaXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUExpc3QiPnhtbE5hbm9GVFBMaXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBOZXdDdHh0Ij54bWxOYW5vRlRQTmV3Q3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQT3BlbiI+eG1sTmFub0ZUUE9wZW48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUFByb3h5Ij54bWxOYW5vRlRQUHJveHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUFF1aXQiPnhtbE5hbm9GVFBRdWl0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBSZWFkIj54bWxOYW5vRlRQUmVhZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQU2NhblByb3h5Ij54bWxOYW5vRlRQU2NhblByb3h5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBVcGRhdGVVUkwiPnhtbE5hbm9GVFBVcGRhdGVVUkw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQQXV0aEhlYWRlciI+eG1sTmFub0hUVFBBdXRoSGVhZGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUENsZWFudXAiPnhtbE5hbm9IVFRQQ2xlYW51cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9odHRwLmh0bWwjeG1sTmFub0hUVFBDbG9zZSI+eG1sTmFub0hUVFBDbG9zZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9odHRwLmh0bWwjeG1sTmFub0hUVFBDb250ZW50TGVuZ3RoIj54bWxOYW5vSFRUUENvbnRlbnRMZW5ndGg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQRW5jb2RpbmciPnhtbE5hbm9IVFRQRW5jb2Rpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQRmV0Y2giPnhtbE5hbm9IVFRQRmV0Y2g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQSW5pdCI+eG1sTmFub0hUVFBJbml0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUE1ldGhvZCI+eG1sTmFub0hUVFBNZXRob2Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQTWV0aG9kUmVkaXIiPnhtbE5hbm9IVFRQTWV0aG9kUmVkaXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQTWltZVR5cGUiPnhtbE5hbm9IVFRQTWltZVR5cGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQT3BlbiI+eG1sTmFub0hUVFBPcGVuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUE9wZW5SZWRpciI+eG1sTmFub0hUVFBPcGVuUmVkaXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQUmVhZCI+eG1sTmFub0hUVFBSZWFkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUFJlZGlyIj54bWxOYW5vSFRUUFJlZGlyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUFJldHVybkNvZGUiPnhtbE5hbm9IVFRQUmV0dXJuQ29kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9odHRwLmh0bWwjeG1sTmFub0hUVFBTYXZlIj54bWxOYW5vSFRUUFNhdmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQU2NhblByb3h5Ij54bWxOYW5vSFRUUFNjYW5Qcm94eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sTmV3QXV0b21hdGEiPnhtbE5ld0F1dG9tYXRhPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld0NEYXRhQmxvY2siPnhtbE5ld0NEYXRhQmxvY2s8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sTmV3Q2F0YWxvZyI+eG1sTmV3Q2F0YWxvZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sTmV3Q2hhckVuY29kaW5nSGFuZGxlciI+eG1sTmV3Q2hhckVuY29kaW5nSGFuZGxlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdDaGFyUmVmIj54bWxOZXdDaGFyUmVmPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld0NoaWxkIj54bWxOZXdDaGlsZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdDb21tZW50Ij54bWxOZXdDb21tZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld0RvYyI+eG1sTmV3RG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld0RvY0NvbW1lbnQiPnhtbE5ld0RvY0NvbW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbE5ld0RvY0VsZW1lbnRDb250ZW50Ij54bWxOZXdEb2NFbGVtZW50Q29udGVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdEb2NGcmFnbWVudCI+eG1sTmV3RG9jRnJhZ21lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3RG9jTm9kZSI+eG1sTmV3RG9jTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdEb2NOb2RlRWF0TmFtZSI+eG1sTmV3RG9jTm9kZUVhdE5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3RG9jUEkiPnhtbE5ld0RvY1BJPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld0RvY1Byb3AiPnhtbE5ld0RvY1Byb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3RG9jUmF3Tm9kZSI+eG1sTmV3RG9jUmF3Tm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdEb2NUZXh0Ij54bWxOZXdEb2NUZXh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld0RvY1RleHRMZW4iPnhtbE5ld0RvY1RleHRMZW48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3RHRkIj54bWxOZXdEdGQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbE5ld0VsZW1lbnRDb250ZW50Ij54bWxOZXdFbGVtZW50Q29udGVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjeG1sTmV3RW50aXR5Ij54bWxOZXdFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxOZXdFbnRpdHlJbnB1dFN0cmVhbSI+eG1sTmV3RW50aXR5SW5wdXRTdHJlYW08L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3R2xvYmFsTnMiPnhtbE5ld0dsb2JhbE5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sTmV3SU9JbnB1dFN0cmVhbSI+eG1sTmV3SU9JbnB1dFN0cmVhbTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbE5ld0lucHV0RnJvbUZpbGUiPnhtbE5ld0lucHV0RnJvbUZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxOZXdJbnB1dFN0cmVhbSI+eG1sTmV3SW5wdXRTdHJlYW08L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sTmV3TXV0ZXgiPnhtbE5ld011dGV4PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld05vZGUiPnhtbE5ld05vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3Tm9kZUVhdE5hbWUiPnhtbE5ld05vZGVFYXROYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld05zIj54bWxOZXdOczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdOc1Byb3AiPnhtbE5ld05zUHJvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdOc1Byb3BFYXROYW1lIj54bWxOZXdOc1Byb3BFYXROYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld1BJIj54bWxOZXdQSTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbE5ld1BhcnNlckN0eHQiPnhtbE5ld1BhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3UHJvcCI+eG1sTmV3UHJvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRocmVhZHMuaHRtbCN4bWxOZXdSTXV0ZXgiPnhtbE5ld1JNdXRleDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdSZWZlcmVuY2UiPnhtbE5ld1JlZmVyZW5jZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbE5ld1N0cmluZ0lucHV0U3RyZWFtIj54bWxOZXdTdHJpbmdJbnB1dFN0cmVhbTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdUZXh0Ij54bWxOZXdUZXh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld1RleHRDaGlsZCI+eG1sTmV3VGV4dENoaWxkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld1RleHRMZW4iPnhtbE5ld1RleHRMZW48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxOZXdUZXh0UmVhZGVyIj54bWxOZXdUZXh0UmVhZGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sTmV3VGV4dFJlYWRlckZpbGVuYW1lIj54bWxOZXdUZXh0UmVhZGVyRmlsZW5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxOZXdUZXh0V3JpdGVyIj54bWxOZXdUZXh0V3JpdGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sTmV3VGV4dFdyaXRlckRvYyI+eG1sTmV3VGV4dFdyaXRlckRvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbE5ld1RleHRXcml0ZXJGaWxlbmFtZSI+eG1sTmV3VGV4dFdyaXRlckZpbGVuYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sTmV3VGV4dFdyaXRlck1lbW9yeSI+eG1sTmV3VGV4dFdyaXRlck1lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbE5ld1RleHRXcml0ZXJQdXNoUGFyc2VyIj54bWxOZXdUZXh0V3JpdGVyUHVzaFBhcnNlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbE5ld1RleHRXcml0ZXJUcmVlIj54bWxOZXdUZXh0V3JpdGVyVHJlZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sTmV3VmFsaWRDdHh0Ij54bWxOZXdWYWxpZEN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxOZXh0Q2hhciI+eG1sTmV4dENoYXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV4dEVsZW1lbnRTaWJsaW5nIj54bWxOZXh0RWxlbWVudFNpYmxpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE5vTmV0RXh0ZXJuYWxFbnRpdHlMb2FkZXIiPnhtbE5vTmV0RXh0ZXJuYWxFbnRpdHlMb2FkZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZSI+eG1sTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlQWRkQ29udGVudCI+eG1sTm9kZUFkZENvbnRlbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUFkZENvbnRlbnRMZW4iPnhtbE5vZGVBZGRDb250ZW50TGVuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVCdWZHZXRDb250ZW50Ij54bWxOb2RlQnVmR2V0Q29udGVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlRHVtcCI+eG1sTm9kZUR1bXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUR1bXBPdXRwdXQiPnhtbE5vZGVEdW1wT3V0cHV0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVHZXRCYXNlIj54bWxOb2RlR2V0QmFzZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlR2V0Q29udGVudCI+eG1sTm9kZUdldENvbnRlbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUdldExhbmciPnhtbE5vZGVHZXRMYW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVHZXRTcGFjZVByZXNlcnZlIj54bWxOb2RlR2V0U3BhY2VQcmVzZXJ2ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlSXNUZXh0Ij54bWxOb2RlSXNUZXh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVMaXN0R2V0UmF3U3RyaW5nIj54bWxOb2RlTGlzdEdldFJhd1N0cmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlTGlzdEdldFN0cmluZyI+eG1sTm9kZUxpc3RHZXRTdHJpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldCI+eG1sTm9kZVNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlU2V0QmFzZSI+eG1sTm9kZVNldEJhc2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVNldENvbnRlbnQiPnhtbE5vZGVTZXRDb250ZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVTZXRDb250ZW50TGVuIj54bWxOb2RlU2V0Q29udGVudExlbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlU2V0TGFuZyI+eG1sTm9kZVNldExhbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVNldE5hbWUiPnhtbE5vZGVTZXROYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVTZXRTcGFjZVByZXNlcnZlIj54bWxOb2RlU2V0U3BhY2VQcmVzZXJ2ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbE5vcm1hbGl6ZVVSSVBhdGgiPnhtbE5vcm1hbGl6ZVVSSVBhdGg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE5vcm1hbGl6ZVdpbmRvd3NQYXRoIj54bWxOb3JtYWxpemVXaW5kb3dzUGF0aDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb3RhdGlvbiI+eG1sTm90YXRpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm90YXRpb25QdHIiPnhtbE5vdGF0aW9uUHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxOb3RhdGlvblRhYmxlIj54bWxOb3RhdGlvblRhYmxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxOb3RhdGlvblRhYmxlUHRyIj54bWxOb3RhdGlvblRhYmxlUHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5zIj54bWxOczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOc1B0ciI+eG1sTnNQdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTnNUeXBlIj54bWxOc1R5cGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sT3V0cHV0QnVmZmVyIj54bWxPdXRwdXRCdWZmZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dEJ1ZmZlckNsb3NlIj54bWxPdXRwdXRCdWZmZXJDbG9zZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0QnVmZmVyQ3JlYXRlQnVmZmVyIj54bWxPdXRwdXRCdWZmZXJDcmVhdGVCdWZmZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZkIj54bWxPdXRwdXRCdWZmZXJDcmVhdGVGZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZSI+eG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWUiPnhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRGVmYXVsdCI+eG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYyI+eG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lVmFsdWUiPnhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lVmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dEJ1ZmZlckNyZWF0ZUlPIj54bWxPdXRwdXRCdWZmZXJDcmVhdGVJTzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0QnVmZmVyRmx1c2giPnhtbE91dHB1dEJ1ZmZlckZsdXNoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRCdWZmZXJHZXRDb250ZW50Ij54bWxPdXRwdXRCdWZmZXJHZXRDb250ZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRCdWZmZXJHZXRTaXplIj54bWxPdXRwdXRCdWZmZXJHZXRTaXplPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE91dHB1dEJ1ZmZlclB0ciI+eG1sT3V0cHV0QnVmZmVyUHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRCdWZmZXJXcml0ZSI+eG1sT3V0cHV0QnVmZmVyV3JpdGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dEJ1ZmZlcldyaXRlRXNjYXBlIj54bWxPdXRwdXRCdWZmZXJXcml0ZUVzY2FwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmciPnhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRDbG9zZUNhbGxiYWNrIj54bWxPdXRwdXRDbG9zZUNhbGxiYWNrPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRNYXRjaENhbGxiYWNrIj54bWxPdXRwdXRNYXRjaENhbGxiYWNrPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRPcGVuQ2FsbGJhY2siPnhtbE91dHB1dE9wZW5DYWxsYmFjazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0V3JpdGVDYWxsYmFjayI+eG1sT3V0cHV0V3JpdGVDYWxsYmFjazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQXR0VmFsdWUiPnhtbFBhcnNlQXR0VmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUF0dHJpYnV0ZSI+eG1sUGFyc2VBdHRyaWJ1dGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUF0dHJpYnV0ZUxpc3REZWNsIj54bWxQYXJzZUF0dHJpYnV0ZUxpc3REZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VBdHRyaWJ1dGVUeXBlIj54bWxQYXJzZUF0dHJpYnV0ZVR5cGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnkiPnhtbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXIiPnhtbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUNEU2VjdCI+eG1sUGFyc2VDRFNlY3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sUGFyc2VDYXRhbG9nRmlsZSI+eG1sUGFyc2VDYXRhbG9nRmlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQ2hhckRhdGEiPnhtbFBhcnNlQ2hhckRhdGE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbFBhcnNlQ2hhckVuY29kaW5nIj54bWxQYXJzZUNoYXJFbmNvZGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQ2hhclJlZiI+eG1sUGFyc2VDaGFyUmVmPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VDaHVuayI+eG1sUGFyc2VDaHVuazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQ29tbWVudCI+eG1sUGFyc2VDb21tZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VDb250ZW50Ij54bWxQYXJzZUNvbnRlbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUN0eHRFeHRlcm5hbEVudGl0eSI+eG1sUGFyc2VDdHh0RXh0ZXJuYWxFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZURURCI+eG1sUGFyc2VEVEQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZURlZmF1bHREZWNsIj54bWxQYXJzZURlZmF1bHREZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VEb2MiPnhtbFBhcnNlRG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VEb2NUeXBlRGVjbCI+eG1sUGFyc2VEb2NUeXBlRGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlRG9jdW1lbnQiPnhtbFBhcnNlRG9jdW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVsZW1lbnQiPnhtbFBhcnNlRWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2wiPnhtbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVsZW1lbnRDb250ZW50RGVjbCI+eG1sUGFyc2VFbGVtZW50Q29udGVudERlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVsZW1lbnREZWNsIj54bWxQYXJzZUVsZW1lbnREZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbGVtZW50TWl4ZWRDb250ZW50RGVjbCI+eG1sUGFyc2VFbGVtZW50TWl4ZWRDb250ZW50RGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRW5jTmFtZSI+eG1sUGFyc2VFbmNOYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbmNvZGluZ0RlY2wiPnhtbFBhcnNlRW5jb2RpbmdEZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbmRUYWciPnhtbFBhcnNlRW5kVGFnPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VFbnRpdHkiPnhtbFBhcnNlRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbnRpdHlEZWNsIj54bWxQYXJzZUVudGl0eURlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVudGl0eVJlZiI+eG1sUGFyc2VFbnRpdHlSZWY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVudGl0eVZhbHVlIj54bWxQYXJzZUVudGl0eVZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbnVtZXJhdGVkVHlwZSI+eG1sUGFyc2VFbnVtZXJhdGVkVHlwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRW51bWVyYXRpb25UeXBlIj54bWxQYXJzZUVudW1lcmF0aW9uVHlwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlRXh0UGFyc2VkRW50Ij54bWxQYXJzZUV4dFBhcnNlZEVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlRXh0ZXJuYWxFbnRpdHkiPnhtbFBhcnNlRXh0ZXJuYWxFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUV4dGVybmFsSUQiPnhtbFBhcnNlRXh0ZXJuYWxJRDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRXh0ZXJuYWxTdWJzZXQiPnhtbFBhcnNlRXh0ZXJuYWxTdWJzZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUZpbGUiPnhtbFBhcnNlRmlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlSW5Ob2RlQ29udGV4dCI+eG1sUGFyc2VJbk5vZGVDb250ZXh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VNYXJrdXBEZWNsIj54bWxQYXJzZU1hcmt1cERlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZU1lbW9yeSI+eG1sUGFyc2VNZW1vcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZU1pc2MiPnhtbFBhcnNlTWlzYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlTmFtZSI+eG1sUGFyc2VOYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VOYW1lc3BhY2UiPnhtbFBhcnNlTmFtZXNwYWNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VObXRva2VuIj54bWxQYXJzZU5tdG9rZW48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZU5vdGF0aW9uRGVjbCI+eG1sUGFyc2VOb3RhdGlvbkRlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZU5vdGF0aW9uVHlwZSI+eG1sUGFyc2VOb3RhdGlvblR5cGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZVBFUmVmZXJlbmNlIj54bWxQYXJzZVBFUmVmZXJlbmNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VQSSI+eG1sUGFyc2VQSTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlUElUYXJnZXQiPnhtbFBhcnNlUElUYXJnZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZVB1YmlkTGl0ZXJhbCI+eG1sUGFyc2VQdWJpZExpdGVyYWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZVF1b3RlZFN0cmluZyI+eG1sUGFyc2VRdW90ZWRTdHJpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZVJlZmVyZW5jZSI+eG1sUGFyc2VSZWZlcmVuY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZVNERGVjbCI+eG1sUGFyc2VTRERlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZVN0YXJ0VGFnIj54bWxQYXJzZVN0YXJ0VGFnPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VTeXN0ZW1MaXRlcmFsIj54bWxQYXJzZVN5c3RlbUxpdGVyYWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZVRleHREZWNsIj54bWxQYXJzZVRleHREZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sUGFyc2VVUkkiPnhtbFBhcnNlVVJJPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sUGFyc2VVUklSYXciPnhtbFBhcnNlVVJJUmF3PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sUGFyc2VVUklSZWZlcmVuY2UiPnhtbFBhcnNlVVJJUmVmZXJlbmNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VWZXJzaW9uSW5mbyI+eG1sUGFyc2VWZXJzaW9uSW5mbzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlVmVyc2lvbk51bSI+eG1sUGFyc2VWZXJzaW9uTnVtPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VYTUxEZWNsIj54bWxQYXJzZVhNTERlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZXJBZGROb2RlSW5mbyI+eG1sUGFyc2VyQWRkTm9kZUluZm88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dCI+eG1sUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbFBhcnNlckRlYnVnRW50aXRpZXMiPnhtbFBhcnNlckRlYnVnRW50aXRpZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI3htbFBhcnNlckVycm9yIj54bWxQYXJzZXJFcnJvcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sUGFyc2VyRXJyb3JzIj54bWxQYXJzZXJFcnJvcnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZXJGaW5kTm9kZUluZm8iPnhtbFBhcnNlckZpbmROb2RlSW5mbzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlckZpbmROb2RlSW5mb0luZGV4Ij54bWxQYXJzZXJGaW5kTm9kZUluZm9JbmRleDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sUGFyc2VyR2V0RGlyZWN0b3J5Ij54bWxQYXJzZXJHZXREaXJlY3Rvcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZXJIYW5kbGVQRVJlZmVyZW5jZSI+eG1sUGFyc2VySGFuZGxlUEVSZWZlcmVuY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZXJIYW5kbGVSZWZlcmVuY2UiPnhtbFBhcnNlckhhbmRsZVJlZmVyZW5jZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dCI+eG1sUGFyc2VySW5wdXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXIiPnhtbFBhcnNlcklucHV0QnVmZmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZkIj54bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGUiPnhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZSI+eG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRGVmYXVsdCI+eG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmMiPnhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVWYWx1ZSI+eG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZVZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUlPIj54bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUlPPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZU1lbSI+eG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVNZW08L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlU3RhdGljIj54bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZVN0YXRpYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJHcm93Ij54bWxQYXJzZXJJbnB1dEJ1ZmZlckdyb3c8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIiPnhtbFBhcnNlcklucHV0QnVmZmVyUHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlclB1c2giPnhtbFBhcnNlcklucHV0QnVmZmVyUHVzaDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJSZWFkIj54bWxQYXJzZXJJbnB1dEJ1ZmZlclJlYWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZXJJbnB1dERlYWxsb2NhdGUiPnhtbFBhcnNlcklucHV0RGVhbGxvY2F0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlcklucHV0R3JvdyI+eG1sUGFyc2VySW5wdXRHcm93PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlcklucHV0UHRyIj54bWxQYXJzZXJJbnB1dFB0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlcklucHV0UmVhZCI+eG1sUGFyc2VySW5wdXRSZWFkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VySW5wdXRTaHJpbmsiPnhtbFBhcnNlcklucHV0U2hyaW5rPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VySW5wdXRTdGF0ZSI+eG1sUGFyc2VySW5wdXRTdGF0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlck1heERlcHRoIj54bWxQYXJzZXJNYXhEZXB0aDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlck1vZGUiPnhtbFBhcnNlck1vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZXJOb2RlSW5mbyI+eG1sUGFyc2VyTm9kZUluZm88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZXJOb2RlSW5mb1B0ciI+eG1sUGFyc2VyTm9kZUluZm9QdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZXJOb2RlSW5mb1NlcSI+eG1sUGFyc2VyTm9kZUluZm9TZXE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZXJOb2RlSW5mb1NlcVB0ciI+eG1sUGFyc2VyTm9kZUluZm9TZXFQdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZXJPcHRpb24iPnhtbFBhcnNlck9wdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sUGFyc2VyUHJpbnRGaWxlQ29udGV4dCI+eG1sUGFyc2VyUHJpbnRGaWxlQ29udGV4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sUGFyc2VyUHJpbnRGaWxlSW5mbyI+eG1sUGFyc2VyUHJpbnRGaWxlSW5mbzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFBhcnNlclByb3BlcnRpZXMiPnhtbFBhcnNlclByb3BlcnRpZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxQYXJzZXJTZXZlcml0aWVzIj54bWxQYXJzZXJTZXZlcml0aWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxQYXJzZXJWYWxpZGl0eUVycm9yIj54bWxQYXJzZXJWYWxpZGl0eUVycm9yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxQYXJzZXJWYWxpZGl0eVdhcm5pbmciPnhtbFBhcnNlclZhbGlkaXR5V2FybmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxQYXJzZXJWZXJzaW9uIj54bWxQYXJzZXJWZXJzaW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxQYXJzZXJXYXJuaW5nIj54bWxQYXJzZXJXYXJuaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sUGF0aFRvVVJJIj54bWxQYXRoVG9VUkk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sUGF0dGVybiI+eG1sUGF0dGVybjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCN4bWxQYXR0ZXJuRmxhZ3MiPnhtbFBhdHRlcm5GbGFnczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCN4bWxQYXR0ZXJuRnJvbVJvb3QiPnhtbFBhdHRlcm5Gcm9tUm9vdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCN4bWxQYXR0ZXJuR2V0U3RyZWFtQ3R4dCI+eG1sUGF0dGVybkdldFN0cmVhbUN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sUGF0dGVybk1hdGNoIj54bWxQYXR0ZXJuTWF0Y2g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sUGF0dGVybk1heERlcHRoIj54bWxQYXR0ZXJuTWF4RGVwdGg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sUGF0dGVybk1pbkRlcHRoIj54bWxQYXR0ZXJuTWluRGVwdGg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sUGF0dGVyblB0ciI+eG1sUGF0dGVyblB0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCN4bWxQYXR0ZXJuU3RyZWFtYWJsZSI+eG1sUGF0dGVyblN0cmVhbWFibGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sUGF0dGVybmNvbXBpbGUiPnhtbFBhdHRlcm5jb21waWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGVkYW50aWNQYXJzZXJEZWZhdWx0Ij54bWxQZWRhbnRpY1BhcnNlckRlZmF1bHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sUGVkYW50aWNQYXJzZXJEZWZhdWx0VmFsdWUiPnhtbFBlZGFudGljUGFyc2VyRGVmYXVsdFZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUG9wSW5wdXQiPnhtbFBvcElucHV0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxQb3BJbnB1dENhbGxiYWNrcyI+eG1sUG9wSW5wdXRDYWxsYmFja3M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sUHJldmlvdXNFbGVtZW50U2libGluZyI+eG1sUHJldmlvdXNFbGVtZW50U2libGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbFByaW50VVJJIj54bWxQcmludFVSSTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFB1c2hJbnB1dCI+eG1sUHVzaElucHV0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbFJNdXRleCI+eG1sUk11dGV4PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbFJNdXRleExvY2siPnhtbFJNdXRleExvY2s8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sUk11dGV4UHRyIj54bWxSTXV0ZXhQdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sUk11dGV4VW5sb2NrIj54bWxSTXV0ZXhVbmxvY2s8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxSZWFkRG9jIj54bWxSZWFkRG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUmVhZEZkIj54bWxSZWFkRmQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxSZWFkRmlsZSI+eG1sUmVhZEZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxSZWFkSU8iPnhtbFJlYWRJTzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFJlYWRNZW1vcnkiPnhtbFJlYWRNZW1vcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxSZWFkZXJGb3JEb2MiPnhtbFJlYWRlckZvckRvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFJlYWRlckZvckZkIj54bWxSZWFkZXJGb3JGZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFJlYWRlckZvckZpbGUiPnhtbFJlYWRlckZvckZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxSZWFkZXJGb3JJTyI+eG1sUmVhZGVyRm9ySU88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxSZWFkZXJGb3JNZW1vcnkiPnhtbFJlYWRlckZvck1lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFJlYWRlck5ld0RvYyI+eG1sUmVhZGVyTmV3RG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sUmVhZGVyTmV3RmQiPnhtbFJlYWRlck5ld0ZkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sUmVhZGVyTmV3RmlsZSI+eG1sUmVhZGVyTmV3RmlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFJlYWRlck5ld0lPIj54bWxSZWFkZXJOZXdJTzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFJlYWRlck5ld01lbW9yeSI+eG1sUmVhZGVyTmV3TWVtb3J5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sUmVhZGVyTmV3V2Fsa2VyIj54bWxSZWFkZXJOZXdXYWxrZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxSZWFkZXJUeXBlcyI+eG1sUmVhZGVyVHlwZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxSZWFkZXJXYWxrZXIiPnhtbFJlYWRlcldhbGtlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxSZWFsbG9jIj54bWxSZWFsbG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sUmVhbGxvY0Z1bmMiPnhtbFJlYWxsb2NGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sUmVhbGxvY0xvYyI+eG1sUmVhbGxvY0xvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxSZWNvbmNpbGlhdGVOcyI+eG1sUmVjb25jaWxpYXRlTnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxSZWNvdmVyRG9jIj54bWxSZWNvdmVyRG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUmVjb3ZlckZpbGUiPnhtbFJlY292ZXJGaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUmVjb3Zlck1lbW9yeSI+eG1sUmVjb3Zlck1lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxSZWYiPnhtbFJlZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxSZWZQdHIiPnhtbFJlZlB0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sUmVmVGFibGUiPnhtbFJlZlRhYmxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxSZWZUYWJsZVB0ciI+eG1sUmVmVGFibGVQdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdFeGVjQ2FsbGJhY2tzIj54bWxSZWdFeGVjQ2FsbGJhY2tzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnRXhlY0N0eHQiPnhtbFJlZ0V4ZWNDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnRXhlY0N0eHRQdHIiPnhtbFJlZ0V4ZWNDdHh0UHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnRXhlY0VyckluZm8iPnhtbFJlZ0V4ZWNFcnJJbmZvPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnRXhlY05leHRWYWx1ZXMiPnhtbFJlZ0V4ZWNOZXh0VmFsdWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnRXhlY1B1c2hTdHJpbmciPnhtbFJlZ0V4ZWNQdXNoU3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnRXhlY1B1c2hTdHJpbmcyIj54bWxSZWdFeGVjUHVzaFN0cmluZzI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdGcmVlRXhlY0N0eHQiPnhtbFJlZ0ZyZWVFeGVjQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ0ZyZWVSZWdleHAiPnhtbFJlZ0ZyZWVSZWdleHA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdOZXdFeGVjQ3R4dCI+eG1sUmVnTmV3RXhlY0N0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdleHAiPnhtbFJlZ2V4cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ2V4cENvbXBpbGUiPnhtbFJlZ2V4cENvbXBpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdleHBFeGVjIj54bWxSZWdleHBFeGVjPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnZXhwSXNEZXRlcm1pbmlzdCI+eG1sUmVnZXhwSXNEZXRlcm1pbmlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ2V4cFByaW50Ij54bWxSZWdleHBQcmludDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ2V4cFB0ciI+eG1sUmVnZXhwUHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxSZWdpc3RlckNoYXJFbmNvZGluZ0hhbmRsZXIiPnhtbFJlZ2lzdGVyQ2hhckVuY29kaW5nSGFuZGxlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sUmVnaXN0ZXJEZWZhdWx0SW5wdXRDYWxsYmFja3MiPnhtbFJlZ2lzdGVyRGVmYXVsdElucHV0Q2FsbGJhY2tzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxSZWdpc3RlckRlZmF1bHRPdXRwdXRDYWxsYmFja3MiPnhtbFJlZ2lzdGVyRGVmYXVsdE91dHB1dENhbGxiYWNrczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sUmVnaXN0ZXJIVFRQUG9zdENhbGxiYWNrcyI+eG1sUmVnaXN0ZXJIVFRQUG9zdENhbGxiYWNrczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sUmVnaXN0ZXJJbnB1dENhbGxiYWNrcyI+eG1sUmVnaXN0ZXJJbnB1dENhbGxiYWNrczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxSZWdpc3Rlck5vZGVEZWZhdWx0Ij54bWxSZWdpc3Rlck5vZGVEZWZhdWx0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbFJlZ2lzdGVyTm9kZURlZmF1bHRWYWx1ZSI+eG1sUmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbFJlZ2lzdGVyTm9kZUZ1bmMiPnhtbFJlZ2lzdGVyTm9kZUZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbFJlZ2lzdGVyT3V0cHV0Q2FsbGJhY2tzIj54bWxSZWdpc3Rlck91dHB1dENhbGxiYWNrczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HIj54bWxSZWxheE5HPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdDbGVhbnVwVHlwZXMiPnhtbFJlbGF4TkdDbGVhbnVwVHlwZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR0R1bXAiPnhtbFJlbGF4TkdEdW1wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdEdW1wVHJlZSI+eG1sUmVsYXhOR0R1bXBUcmVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdGcmVlIj54bWxSZWxheE5HRnJlZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HRnJlZVBhcnNlckN0eHQiPnhtbFJlbGF4TkdGcmVlUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HRnJlZVZhbGlkQ3R4dCI+eG1sUmVsYXhOR0ZyZWVWYWxpZEN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR0dldFBhcnNlckVycm9ycyI+eG1sUmVsYXhOR0dldFBhcnNlckVycm9yczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HR2V0VmFsaWRFcnJvcnMiPnhtbFJlbGF4TkdHZXRWYWxpZEVycm9yczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HSW5pdFR5cGVzIj54bWxSZWxheE5HSW5pdFR5cGVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdOZXdEb2NQYXJzZXJDdHh0Ij54bWxSZWxheE5HTmV3RG9jUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HTmV3TWVtUGFyc2VyQ3R4dCI+eG1sUmVsYXhOR05ld01lbVBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR05ld1BhcnNlckN0eHQiPnhtbFJlbGF4TkdOZXdQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdOZXdWYWxpZEN0eHQiPnhtbFJlbGF4TkdOZXdWYWxpZEN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1BhcnNlIj54bWxSZWxheE5HUGFyc2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1BhcnNlckN0eHQiPnhtbFJlbGF4TkdQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdQYXJzZXJDdHh0UHRyIj54bWxSZWxheE5HUGFyc2VyQ3R4dFB0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HUGFyc2VyRmxhZyI+eG1sUmVsYXhOR1BhcnNlckZsYWc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1B0ciI+eG1sUmVsYXhOR1B0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HU2V0UGFyc2VyRXJyb3JzIj54bWxSZWxheE5HU2V0UGFyc2VyRXJyb3JzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdTZXRQYXJzZXJTdHJ1Y3R1cmVkRXJyb3JzIj54bWxSZWxheE5HU2V0UGFyc2VyU3RydWN0dXJlZEVycm9yczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HU2V0VmFsaWRFcnJvcnMiPnhtbFJlbGF4TkdTZXRWYWxpZEVycm9yczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzIj54bWxSZWxheE5HU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdWYWxpZEN0eHQiPnhtbFJlbGF4TkdWYWxpZEN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0ciI+eG1sUmVsYXhOR1ZhbGlkQ3R4dFB0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HVmFsaWRFcnIiPnhtbFJlbGF4TkdWYWxpZEVycjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HVmFsaWRhdGVEb2MiPnhtbFJlbGF4TkdWYWxpZGF0ZURvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HVmFsaWRhdGVGdWxsRWxlbWVudCI+eG1sUmVsYXhOR1ZhbGlkYXRlRnVsbEVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1ZhbGlkYXRlUG9wRWxlbWVudCI+eG1sUmVsYXhOR1ZhbGlkYXRlUG9wRWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HVmFsaWRhdGVQdXNoQ0RhdGEiPnhtbFJlbGF4TkdWYWxpZGF0ZVB1c2hDRGF0YTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HVmFsaWRhdGVQdXNoRWxlbWVudCI+eG1sUmVsYXhOR1ZhbGlkYXRlUHVzaEVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1ZhbGlkaXR5RXJyb3JGdW5jIj54bWxSZWxheE5HVmFsaWRpdHlFcnJvckZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1ZhbGlkaXR5V2FybmluZ0Z1bmMiPnhtbFJlbGF4TkdWYWxpZGl0eVdhcm5pbmdGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4UGFyc2VyU2V0RmxhZyI+eG1sUmVsYXhQYXJzZXJTZXRGbGFnPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxSZW1vdmVJRCI+eG1sUmVtb3ZlSUQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sUmVtb3ZlUHJvcCI+eG1sUmVtb3ZlUHJvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sUmVtb3ZlUmVmIj54bWxSZW1vdmVSZWY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sUmVwbGFjZU5vZGUiPnhtbFJlcGxhY2VOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxSZXNldEVycm9yIj54bWxSZXNldEVycm9yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxSZXNldExhc3RFcnJvciI+eG1sUmVzZXRMYXN0RXJyb3I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sUm9vdE5vZGUiPnhtbFJvb3ROb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJBdHRyaWJ1dGVEZWNsIj54bWxTQVgyQXR0cmlidXRlRGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyQ0RhdGFCbG9jayI+eG1sU0FYMkNEYXRhQmxvY2s8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMkNoYXJhY3RlcnMiPnhtbFNBWDJDaGFyYWN0ZXJzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJDb21tZW50Ij54bWxTQVgyQ29tbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyRWxlbWVudERlY2wiPnhtbFNBWDJFbGVtZW50RGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyRW5kRG9jdW1lbnQiPnhtbFNBWDJFbmREb2N1bWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyRW5kRWxlbWVudCI+eG1sU0FYMkVuZEVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMkVuZEVsZW1lbnROcyI+eG1sU0FYMkVuZEVsZW1lbnROczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyRW50aXR5RGVjbCI+eG1sU0FYMkVudGl0eURlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMkV4dGVybmFsU3Vic2V0Ij54bWxTQVgyRXh0ZXJuYWxTdWJzZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMkdldENvbHVtbk51bWJlciI+eG1sU0FYMkdldENvbHVtbk51bWJlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyR2V0RW50aXR5Ij54bWxTQVgyR2V0RW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJHZXRMaW5lTnVtYmVyIj54bWxTQVgyR2V0TGluZU51bWJlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyR2V0UGFyYW1ldGVyRW50aXR5Ij54bWxTQVgyR2V0UGFyYW1ldGVyRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJHZXRQdWJsaWNJZCI+eG1sU0FYMkdldFB1YmxpY0lkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJHZXRTeXN0ZW1JZCI+eG1sU0FYMkdldFN5c3RlbUlkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJIYXNFeHRlcm5hbFN1YnNldCI+eG1sU0FYMkhhc0V4dGVybmFsU3Vic2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJIYXNJbnRlcm5hbFN1YnNldCI+eG1sU0FYMkhhc0ludGVybmFsU3Vic2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJJZ25vcmFibGVXaGl0ZXNwYWNlIj54bWxTQVgySWdub3JhYmxlV2hpdGVzcGFjZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgySW5pdERlZmF1bHRTQVhIYW5kbGVyIj54bWxTQVgySW5pdERlZmF1bHRTQVhIYW5kbGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJJbml0RG9jYkRlZmF1bHRTQVhIYW5kbGVyIj54bWxTQVgySW5pdERvY2JEZWZhdWx0U0FYSGFuZGxlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgySW5pdEh0bWxEZWZhdWx0U0FYSGFuZGxlciI+eG1sU0FYMkluaXRIdG1sRGVmYXVsdFNBWEhhbmRsZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMkludGVybmFsU3Vic2V0Ij54bWxTQVgySW50ZXJuYWxTdWJzZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMklzU3RhbmRhbG9uZSI+eG1sU0FYMklzU3RhbmRhbG9uZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyTm90YXRpb25EZWNsIj54bWxTQVgyTm90YXRpb25EZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24iPnhtbFNBWDJQcm9jZXNzaW5nSW5zdHJ1Y3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMlJlZmVyZW5jZSI+eG1sU0FYMlJlZmVyZW5jZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyUmVzb2x2ZUVudGl0eSI+eG1sU0FYMlJlc29sdmVFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMlNldERvY3VtZW50TG9jYXRvciI+eG1sU0FYMlNldERvY3VtZW50TG9jYXRvcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyU3RhcnREb2N1bWVudCI+eG1sU0FYMlN0YXJ0RG9jdW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMlN0YXJ0RWxlbWVudCI+eG1sU0FYMlN0YXJ0RWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyU3RhcnRFbGVtZW50TnMiPnhtbFNBWDJTdGFydEVsZW1lbnROczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyVW5wYXJzZWRFbnRpdHlEZWNsIj54bWxTQVgyVW5wYXJzZWRFbnRpdHlEZWNsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWERlZmF1bHRWZXJzaW9uIj54bWxTQVhEZWZhdWx0VmVyc2lvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTQVhIYW5kbGVyIj54bWxTQVhIYW5kbGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNBWEhhbmRsZXJQdHIiPnhtbFNBWEhhbmRsZXJQdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxTQVhIYW5kbGVyVjEiPnhtbFNBWEhhbmRsZXJWMTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNBWEhhbmRsZXJWMVB0ciI+eG1sU0FYSGFuZGxlclYxUHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNBWExvY2F0b3IiPnhtbFNBWExvY2F0b3I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU0FYTG9jYXRvclB0ciI+eG1sU0FYTG9jYXRvclB0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNBWFBhcnNlRFREIj54bWxTQVhQYXJzZURURDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNBWFBhcnNlRG9jIj54bWxTQVhQYXJzZURvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNBWFBhcnNlRW50aXR5Ij54bWxTQVhQYXJzZUVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNBWFBhcnNlRmlsZSI+eG1sU0FYUGFyc2VGaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYUGFyc2VGaWxlV2l0aERhdGEiPnhtbFNBWFBhcnNlRmlsZVdpdGhEYXRhPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYUGFyc2VNZW1vcnkiPnhtbFNBWFBhcnNlTWVtb3J5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYUGFyc2VNZW1vcnlXaXRoRGF0YSI+eG1sU0FYUGFyc2VNZW1vcnlXaXRoRGF0YTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNBWFVzZXJQYXJzZUZpbGUiPnhtbFNBWFVzZXJQYXJzZUZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxTQVhVc2VyUGFyc2VNZW1vcnkiPnhtbFNBWFVzZXJQYXJzZU1lbW9yeTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVhWZXJzaW9uIj54bWxTQVhWZXJzaW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2F2ZS5odG1sI3htbFNhdmVDbG9zZSI+eG1sU2F2ZUNsb3NlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2F2ZS5odG1sI3htbFNhdmVDdHh0Ij54bWxTYXZlQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNhdmUuaHRtbCN4bWxTYXZlQ3R4dFB0ciI+eG1sU2F2ZUN0eHRQdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzYXZlLmh0bWwjeG1sU2F2ZURvYyI+eG1sU2F2ZURvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTYXZlRmlsZSI+eG1sU2F2ZUZpbGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2F2ZUZpbGVFbmMiPnhtbFNhdmVGaWxlRW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNhdmVGaWxlVG8iPnhtbFNhdmVGaWxlVG88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzYXZlLmh0bWwjeG1sU2F2ZUZsdXNoIj54bWxTYXZlRmx1c2g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2F2ZUZvcm1hdEZpbGUiPnhtbFNhdmVGb3JtYXRGaWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNhdmVGb3JtYXRGaWxlRW5jIj54bWxTYXZlRm9ybWF0RmlsZUVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTYXZlRm9ybWF0RmlsZVRvIj54bWxTYXZlRm9ybWF0RmlsZVRvPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbFNhdmVOb0VtcHR5VGFncyI+eG1sU2F2ZU5vRW1wdHlUYWdzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2F2ZS5odG1sI3htbFNhdmVPcHRpb24iPnhtbFNhdmVPcHRpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzYXZlLmh0bWwjeG1sU2F2ZVNldEF0dHJFc2NhcGUiPnhtbFNhdmVTZXRBdHRyRXNjYXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2F2ZS5odG1sI3htbFNhdmVTZXRFc2NhcGUiPnhtbFNhdmVTZXRFc2NhcGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzYXZlLmh0bWwjeG1sU2F2ZVRvQnVmZmVyIj54bWxTYXZlVG9CdWZmZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzYXZlLmh0bWwjeG1sU2F2ZVRvRmQiPnhtbFNhdmVUb0ZkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2F2ZS5odG1sI3htbFNhdmVUb0ZpbGVuYW1lIj54bWxTYXZlVG9GaWxlbmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNhdmUuaHRtbCN4bWxTYXZlVG9JTyI+eG1sU2F2ZVRvSU88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzYXZlLmh0bWwjeG1sU2F2ZVRyZWUiPnhtbFNhdmVUcmVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sU2F2ZVVyaSI+eG1sU2F2ZVVyaTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFNjYW5OYW1lIj54bWxTY2FuTmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWEiPnhtbFNjaGVtYTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFBbm5vdCI+eG1sU2NoZW1hQW5ub3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hQW5ub3RQdHIiPnhtbFNjaGVtYUFubm90UHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYUF0dHJpYnV0ZSI+eG1sU2NoZW1hQXR0cmlidXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYUF0dHJpYnV0ZUdyb3VwIj54bWxTY2hlbWFBdHRyaWJ1dGVHcm91cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFBdHRyaWJ1dGVHcm91cFB0ciI+eG1sU2NoZW1hQXR0cmlidXRlR3JvdXBQdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hQXR0cmlidXRlTGluayI+eG1sU2NoZW1hQXR0cmlidXRlTGluazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFBdHRyaWJ1dGVMaW5rUHRyIj54bWxTY2hlbWFBdHRyaWJ1dGVMaW5rUHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYUF0dHJpYnV0ZVB0ciI+eG1sU2NoZW1hQXR0cmlidXRlUHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hQ2hlY2tGYWNldCI+eG1sU2NoZW1hQ2hlY2tGYWNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUNsZWFudXBUeXBlcyI+eG1sU2NoZW1hQ2xlYW51cFR5cGVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hQ29sbGFwc2VTdHJpbmciPnhtbFNjaGVtYUNvbGxhcHNlU3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hQ29tcGFyZVZhbHVlcyI+eG1sU2NoZW1hQ29tcGFyZVZhbHVlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUNvbXBhcmVWYWx1ZXNXaHRzcCI+eG1sU2NoZW1hQ29tcGFyZVZhbHVlc1dodHNwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYUNvbnRlbnRUeXBlIj54bWxTY2hlbWFDb250ZW50VHlwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUNvcHlWYWx1ZSI+eG1sU2NoZW1hQ29weVZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYUR1bXAiPnhtbFNjaGVtYUR1bXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hRWxlbWVudCI+eG1sU2NoZW1hRWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFFbGVtZW50UHRyIj54bWxTY2hlbWFFbGVtZW50UHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYUZhY2V0Ij54bWxTY2hlbWFGYWNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFGYWNldExpbmsiPnhtbFNjaGVtYUZhY2V0TGluazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFGYWNldExpbmtQdHIiPnhtbFNjaGVtYUZhY2V0TGlua1B0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFGYWNldFB0ciI+eG1sU2NoZW1hRmFjZXRQdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hRnJlZSI+eG1sU2NoZW1hRnJlZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUZyZWVGYWNldCI+eG1sU2NoZW1hRnJlZUZhY2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYUZyZWVQYXJzZXJDdHh0Ij54bWxTY2hlbWFGcmVlUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFGcmVlVHlwZSI+eG1sU2NoZW1hRnJlZVR5cGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hRnJlZVZhbGlkQ3R4dCI+eG1sU2NoZW1hRnJlZVZhbGlkQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUZyZWVWYWx1ZSI+eG1sU2NoZW1hRnJlZVZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYUZyZWVXaWxkY2FyZCI+eG1sU2NoZW1hRnJlZVdpbGRjYXJkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hR2V0QnVpbHRJbkxpc3RTaW1wbGVUeXBlSXRlbVR5cGUiPnhtbFNjaGVtYUdldEJ1aWx0SW5MaXN0U2ltcGxlVHlwZUl0ZW1UeXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hR2V0QnVpbHRJblR5cGUiPnhtbFNjaGVtYUdldEJ1aWx0SW5UeXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hR2V0Q2Fub25WYWx1ZSI+eG1sU2NoZW1hR2V0Q2Fub25WYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUdldENhbm9uVmFsdWVXaHRzcCI+eG1sU2NoZW1hR2V0Q2Fub25WYWx1ZVdodHNwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hR2V0RmFjZXRWYWx1ZUFzVUxvbmciPnhtbFNjaGVtYUdldEZhY2V0VmFsdWVBc1VMb25nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYUdldFBhcnNlckVycm9ycyI+eG1sU2NoZW1hR2V0UGFyc2VyRXJyb3JzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hR2V0UHJlZGVmaW5lZFR5cGUiPnhtbFNjaGVtYUdldFByZWRlZmluZWRUeXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hR2V0VmFsVHlwZSI+eG1sU2NoZW1hR2V0VmFsVHlwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFHZXRWYWxpZEVycm9ycyI+eG1sU2NoZW1hR2V0VmFsaWRFcnJvcnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFJbml0VHlwZXMiPnhtbFNjaGVtYUluaXRUeXBlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUlzQnVpbHRJblR5cGVGYWNldCI+eG1sU2NoZW1hSXNCdWlsdEluVHlwZUZhY2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYUlzVmFsaWQiPnhtbFNjaGVtYUlzVmFsaWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hTmV3RG9jUGFyc2VyQ3R4dCI+eG1sU2NoZW1hTmV3RG9jUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYU5ld0ZhY2V0Ij54bWxTY2hlbWFOZXdGYWNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFOZXdNZW1QYXJzZXJDdHh0Ij54bWxTY2hlbWFOZXdNZW1QYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hTmV3Tk9UQVRJT05WYWx1ZSI+eG1sU2NoZW1hTmV3Tk9UQVRJT05WYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFOZXdQYXJzZXJDdHh0Ij54bWxTY2hlbWFOZXdQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hTmV3UU5hbWVWYWx1ZSI+eG1sU2NoZW1hTmV3UU5hbWVWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYU5ld1N0cmluZ1ZhbHVlIj54bWxTY2hlbWFOZXdTdHJpbmdWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFOZXdWYWxpZEN0eHQiPnhtbFNjaGVtYU5ld1ZhbGlkQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFOb3RhdGlvbiI+eG1sU2NoZW1hTm90YXRpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hTm90YXRpb25QdHIiPnhtbFNjaGVtYU5vdGF0aW9uUHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVBhcnNlIj54bWxTY2hlbWFQYXJzZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFQYXJzZXJDdHh0Ij54bWxTY2hlbWFQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVBhcnNlckN0eHRQdHIiPnhtbFNjaGVtYVBhcnNlckN0eHRQdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hUHRyIj54bWxTY2hlbWFQdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hU0FYUGx1ZyI+eG1sU2NoZW1hU0FYUGx1ZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFTQVhQbHVnUHRyIj54bWxTY2hlbWFTQVhQbHVnUHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVNBWFBsdWdTdHJ1Y3QiPnhtbFNjaGVtYVNBWFBsdWdTdHJ1Y3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hU0FYVW5wbHVnIj54bWxTY2hlbWFTQVhVbnBsdWc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hU2V0UGFyc2VyRXJyb3JzIj54bWxTY2hlbWFTZXRQYXJzZXJFcnJvcnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hU2V0UGFyc2VyU3RydWN0dXJlZEVycm9ycyI+eG1sU2NoZW1hU2V0UGFyc2VyU3RydWN0dXJlZEVycm9yczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFTZXRWYWxpZEVycm9ycyI+eG1sU2NoZW1hU2V0VmFsaWRFcnJvcnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hU2V0VmFsaWRPcHRpb25zIj54bWxTY2hlbWFTZXRWYWxpZE9wdGlvbnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzIj54bWxTY2hlbWFTZXRWYWxpZFN0cnVjdHVyZWRFcnJvcnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVHlwZSI+eG1sU2NoZW1hVHlwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFUeXBlTGluayI+eG1sU2NoZW1hVHlwZUxpbms8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVHlwZUxpbmtQdHIiPnhtbFNjaGVtYVR5cGVMaW5rUHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVR5cGVQdHIiPnhtbFNjaGVtYVR5cGVQdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVHlwZVR5cGUiPnhtbFNjaGVtYVR5cGVUeXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVZhbCI+eG1sU2NoZW1hVmFsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hVmFsUHJlZGVmVHlwZU5vZGUiPnhtbFNjaGVtYVZhbFByZWRlZlR5cGVOb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hVmFsUHJlZGVmVHlwZU5vZGVOb05vcm0iPnhtbFNjaGVtYVZhbFByZWRlZlR5cGVOb2RlTm9Ob3JtPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVZhbFB0ciI+eG1sU2NoZW1hVmFsUHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVZhbFR5cGUiPnhtbFNjaGVtYVZhbFR5cGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRDdHh0Ij54bWxTY2hlbWFWYWxpZEN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRDdHh0R2V0T3B0aW9ucyI+eG1sU2NoZW1hVmFsaWRDdHh0R2V0T3B0aW9uczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZEN0eHRHZXRQYXJzZXJDdHh0Ij54bWxTY2hlbWFWYWxpZEN0eHRHZXRQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkQ3R4dFB0ciI+eG1sU2NoZW1hVmFsaWRDdHh0UHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkRXJyb3IiPnhtbFNjaGVtYVZhbGlkRXJyb3I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRPcHRpb24iPnhtbFNjaGVtYVZhbGlkT3B0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkYXRlRG9jIj54bWxTY2hlbWFWYWxpZGF0ZURvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYVZhbGlkYXRlRmFjZXQiPnhtbFNjaGVtYVZhbGlkYXRlRmFjZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0V2h0c3AiPnhtbFNjaGVtYVZhbGlkYXRlRmFjZXRXaHRzcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZGF0ZUZpbGUiPnhtbFNjaGVtYVZhbGlkYXRlRmlsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXQiPnhtbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFWYWxpZGF0ZUxlbmd0aEZhY2V0V2h0c3AiPnhtbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXRXaHRzcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYVZhbGlkYXRlTGlzdFNpbXBsZVR5cGVGYWNldCI+eG1sU2NoZW1hVmFsaWRhdGVMaXN0U2ltcGxlVHlwZUZhY2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkYXRlT25lRWxlbWVudCI+eG1sU2NoZW1hVmFsaWRhdGVPbmVFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hVmFsaWRhdGVQcmVkZWZpbmVkVHlwZSI+eG1sU2NoZW1hVmFsaWRhdGVQcmVkZWZpbmVkVHlwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZGF0ZVNldEZpbGVuYW1lIj54bWxTY2hlbWFWYWxpZGF0ZVNldEZpbGVuYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkYXRlU2V0TG9jYXRvciI+eG1sU2NoZW1hVmFsaWRhdGVTZXRMb2NhdG9yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkYXRlU3RyZWFtIj54bWxTY2hlbWFWYWxpZGF0ZVN0cmVhbTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZGl0eUVycm9yRnVuYyI+eG1sU2NoZW1hVmFsaWRpdHlFcnJvckZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRpdHlMb2NhdG9yRnVuYyI+eG1sU2NoZW1hVmFsaWRpdHlMb2NhdG9yRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZGl0eVdhcm5pbmdGdW5jIj54bWxTY2hlbWFWYWxpZGl0eVdhcm5pbmdGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hVmFsdWVBcHBlbmQiPnhtbFNjaGVtYVZhbHVlQXBwZW5kPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hVmFsdWVHZXRBc0Jvb2xlYW4iPnhtbFNjaGVtYVZhbHVlR2V0QXNCb29sZWFuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hVmFsdWVHZXRBc1N0cmluZyI+eG1sU2NoZW1hVmFsdWVHZXRBc1N0cmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYVZhbHVlR2V0TmV4dCI+eG1sU2NoZW1hVmFsdWVHZXROZXh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hV2hpdGVTcGFjZVJlcGxhY2UiPnhtbFNjaGVtYVdoaXRlU3BhY2VSZXBsYWNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hV2hpdGVzcGFjZVZhbHVlVHlwZSI+eG1sU2NoZW1hV2hpdGVzcGFjZVZhbHVlVHlwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFXaWxkY2FyZCI+eG1sU2NoZW1hV2lsZGNhcmQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hV2lsZGNhcmROcyI+eG1sU2NoZW1hV2lsZGNhcmROczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFXaWxkY2FyZE5zUHRyIj54bWxTY2hlbWFXaWxkY2FyZE5zUHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVdpbGRjYXJkUHRyIj54bWxTY2hlbWFXaWxkY2FyZFB0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uIj54bWxTY2hlbWF0cm9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hdHJvbi5odG1sI3htbFNjaGVtYXRyb25GcmVlIj54bWxTY2hlbWF0cm9uRnJlZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uRnJlZVBhcnNlckN0eHQiPnhtbFNjaGVtYXRyb25GcmVlUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uRnJlZVZhbGlkQ3R4dCI+eG1sU2NoZW1hdHJvbkZyZWVWYWxpZEN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvbk5ld0RvY1BhcnNlckN0eHQiPnhtbFNjaGVtYXRyb25OZXdEb2NQYXJzZXJDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hdHJvbi5odG1sI3htbFNjaGVtYXRyb25OZXdNZW1QYXJzZXJDdHh0Ij54bWxTY2hlbWF0cm9uTmV3TWVtUGFyc2VyQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uTmV3UGFyc2VyQ3R4dCI+eG1sU2NoZW1hdHJvbk5ld1BhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvbk5ld1ZhbGlkQ3R4dCI+eG1sU2NoZW1hdHJvbk5ld1ZhbGlkQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uUGFyc2UiPnhtbFNjaGVtYXRyb25QYXJzZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uUGFyc2VyQ3R4dCI+eG1sU2NoZW1hdHJvblBhcnNlckN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvblBhcnNlckN0eHRQdHIiPnhtbFNjaGVtYXRyb25QYXJzZXJDdHh0UHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hdHJvbi5odG1sI3htbFNjaGVtYXRyb25QdHIiPnhtbFNjaGVtYXRyb25QdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvblNldFZhbGlkU3RydWN0dXJlZEVycm9ycyI+eG1sU2NoZW1hdHJvblNldFZhbGlkU3RydWN0dXJlZEVycm9yczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uVmFsaWRDdHh0Ij54bWxTY2hlbWF0cm9uVmFsaWRDdHh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtc2NoZW1hdHJvbi5odG1sI3htbFNjaGVtYXRyb25WYWxpZEN0eHRQdHIiPnhtbFNjaGVtYXRyb25WYWxpZEN0eHRQdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvblZhbGlkT3B0aW9ucyI+eG1sU2NoZW1hdHJvblZhbGlkT3B0aW9uczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uVmFsaWRhdGVEb2MiPnhtbFNjaGVtYXRyb25WYWxpZGF0ZURvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uVmFsaWRpdHlFcnJvckZ1bmMiPnhtbFNjaGVtYXRyb25WYWxpZGl0eUVycm9yRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uVmFsaWRpdHlXYXJuaW5nRnVuYyI+eG1sU2NoZW1hdHJvblZhbGlkaXR5V2FybmluZ0Z1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2VhcmNoTnMiPnhtbFNlYXJjaE5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNlYXJjaE5zQnlIcmVmIj54bWxTZWFyY2hOc0J5SHJlZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lIj54bWxTZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNldENvbXByZXNzTW9kZSI+eG1sU2V0Q29tcHJlc3NNb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNldERvY0NvbXByZXNzTW9kZSI+eG1sU2V0RG9jQ29tcHJlc3NNb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sU2V0RW50aXR5UmVmZXJlbmNlRnVuYyI+eG1sU2V0RW50aXR5UmVmZXJlbmNlRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNldEV4dGVybmFsRW50aXR5TG9hZGVyIj54bWxTZXRFeHRlcm5hbEVudGl0eUxvYWRlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNldEZlYXR1cmUiPnhtbFNldEZlYXR1cmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI3htbFNldEdlbmVyaWNFcnJvckZ1bmMiPnhtbFNldEdlbmVyaWNFcnJvckZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2V0TGlzdERvYyI+eG1sU2V0TGlzdERvYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTZXROcyI+eG1sU2V0TnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2V0TnNQcm9wIj54bWxTZXROc1Byb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2V0UHJvcCI+eG1sU2V0UHJvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sU2V0U3RydWN0dXJlZEVycm9yRnVuYyI+eG1sU2V0U3RydWN0dXJlZEVycm9yRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTZXRUcmVlRG9jIj54bWxTZXRUcmVlRG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU2V0dXBQYXJzZXJGb3JCdWZmZXIiPnhtbFNldHVwUGFyc2VyRm9yQnVmZmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbCI+eG1sU2hlbGw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsQmFzZSI+eG1sU2hlbGxCYXNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbENhdCI+eG1sU2hlbGxDYXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsQ21kIj54bWxTaGVsbENtZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxDdHh0Ij54bWxTaGVsbEN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsQ3R4dFB0ciI+eG1sU2hlbGxDdHh0UHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbERpciI+eG1sU2hlbGxEaXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsRHUiPnhtbFNoZWxsRHU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsTGlzdCI+eG1sU2hlbGxMaXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbExvYWQiPnhtbFNoZWxsTG9hZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxQcmludE5vZGUiPnhtbFNoZWxsUHJpbnROb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbFByaW50WFBhdGhFcnJvciI+eG1sU2hlbGxQcmludFhQYXRoRXJyb3I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsUHJpbnRYUGF0aFJlc3VsdCI+eG1sU2hlbGxQcmludFhQYXRoUmVzdWx0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbFB3ZCI+eG1sU2hlbGxQd2Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsUmVhZGxpbmVGdW5jIj54bWxTaGVsbFJlYWRsaW5lRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxTYXZlIj54bWxTaGVsbFNhdmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsVmFsaWRhdGUiPnhtbFNoZWxsVmFsaWRhdGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsV3JpdGUiPnhtbFNoZWxsV3JpdGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxTa2lwQmxhbmtDaGFycyI+eG1sU2tpcEJsYW5rQ2hhcnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFNucHJpbnRmRWxlbWVudENvbnRlbnQiPnhtbFNucHJpbnRmRWxlbWVudENvbnRlbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxTcGxpdFFOYW1lIj54bWxTcGxpdFFOYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNwbGl0UU5hbWUyIj54bWxTcGxpdFFOYW1lMjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTcGxpdFFOYW1lMyI+eG1sU3BsaXRRTmFtZTM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFNwcmludGZFbGVtZW50Q29udGVudCI+eG1sU3ByaW50ZkVsZW1lbnRDb250ZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU3RvcFBhcnNlciI+eG1sU3RvcFBhcnNlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFN0ckVxdWFsIj54bWxTdHJFcXVhbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFN0clByaW50ZiI+eG1sU3RyUHJpbnRmPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3RyUUVxdWFsIj54bWxTdHJRRXF1YWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJWUHJpbnRmIj54bWxTdHJWUHJpbnRmPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3RyY2FzZWNtcCI+eG1sU3RyY2FzZWNtcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFN0cmNhc2VzdHIiPnhtbFN0cmNhc2VzdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJjYXQiPnhtbFN0cmNhdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFN0cmNociI+eG1sU3RyY2hyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3RyY21wIj54bWxTdHJjbXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJkdXAiPnhtbFN0cmR1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbFN0cmR1cEZ1bmMiPnhtbFN0cmR1cEZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sU3RyZWFtQ3R4dCI+eG1sU3RyZWFtQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCN4bWxTdHJlYW1DdHh0UHRyIj54bWxTdHJlYW1DdHh0UHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbFN0cmVhbVBvcCI+eG1sU3RyZWFtUG9wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbFN0cmVhbVB1c2giPnhtbFN0cmVhbVB1c2g8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sU3RyZWFtUHVzaEF0dHIiPnhtbFN0cmVhbVB1c2hBdHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbFN0cmVhbVB1c2hOb2RlIj54bWxTdHJlYW1QdXNoTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCN4bWxTdHJlYW1XYW50c0FueU5vZGUiPnhtbFN0cmVhbVdhbnRzQW55Tm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFN0cmluZ0NvbW1lbnQiPnhtbFN0cmluZ0NvbW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxTdHJpbmdDdXJyZW50Q2hhciI+eG1sU3RyaW5nQ3VycmVudENoYXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxTdHJpbmdEZWNvZGVFbnRpdGllcyI+eG1sU3RyaW5nRGVjb2RlRW50aXRpZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU3RyaW5nR2V0Tm9kZUxpc3QiPnhtbFN0cmluZ0dldE5vZGVMaXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sU3RyaW5nTGVuRGVjb2RlRW50aXRpZXMiPnhtbFN0cmluZ0xlbkRlY29kZUVudGl0aWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFN0cmluZ0xlbkdldE5vZGVMaXN0Ij54bWxTdHJpbmdMZW5HZXROb2RlTGlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFN0cmluZ1RleHQiPnhtbFN0cmluZ1RleHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxTdHJpbmdUZXh0Tm9lbmMiPnhtbFN0cmluZ1RleHROb2VuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFN0cmxlbiI+eG1sU3RybGVuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3RybmNhc2VjbXAiPnhtbFN0cm5jYXNlY21wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3RybmNhdCI+eG1sU3RybmNhdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFN0cm5jYXROZXciPnhtbFN0cm5jYXROZXc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJuY21wIj54bWxTdHJuY21wPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3RybmR1cCI+eG1sU3RybmR1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFN0cnN0ciI+eG1sU3Ryc3RyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3Ryc3ViIj54bWxTdHJzdWI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sU3RydWN0dXJlZEVycm9yIj54bWxTdHJ1Y3R1cmVkRXJyb3I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sU3RydWN0dXJlZEVycm9yQ29udGV4dCI+eG1sU3RydWN0dXJlZEVycm9yQ29udGV4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sU3RydWN0dXJlZEVycm9yRnVuYyI+eG1sU3RydWN0dXJlZEVycm9yRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHQiPnhtbFN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdFZhbHVlIj54bWxTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0VmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxTd2l0Y2hFbmNvZGluZyI+eG1sU3dpdGNoRW5jb2Rpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxTd2l0Y2hJbnB1dEVuY29kaW5nIj54bWxTd2l0Y2hJbnB1dEVuY29kaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sU3dpdGNoVG9FbmNvZGluZyI+eG1sU3dpdGNoVG9FbmNvZGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxUZXh0Q29uY2F0Ij54bWxUZXh0Q29uY2F0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFRleHRNZXJnZSI+eG1sVGV4dE1lcmdlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlciI+eG1sVGV4dFJlYWRlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJBdHRyaWJ1dGVDb3VudCI+eG1sVGV4dFJlYWRlckF0dHJpYnV0ZUNvdW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckJhc2VVcmkiPnhtbFRleHRSZWFkZXJCYXNlVXJpPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckJ5dGVDb25zdW1lZCI+eG1sVGV4dFJlYWRlckJ5dGVDb25zdW1lZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJDbG9zZSI+eG1sVGV4dFJlYWRlckNsb3NlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckNvbnN0QmFzZVVyaSI+eG1sVGV4dFJlYWRlckNvbnN0QmFzZVVyaTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJDb25zdEVuY29kaW5nIj54bWxUZXh0UmVhZGVyQ29uc3RFbmNvZGluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJDb25zdExvY2FsTmFtZSI+eG1sVGV4dFJlYWRlckNvbnN0TG9jYWxOYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckNvbnN0TmFtZSI+eG1sVGV4dFJlYWRlckNvbnN0TmFtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJDb25zdE5hbWVzcGFjZVVyaSI+eG1sVGV4dFJlYWRlckNvbnN0TmFtZXNwYWNlVXJpPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckNvbnN0UHJlZml4Ij54bWxUZXh0UmVhZGVyQ29uc3RQcmVmaXg8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyQ29uc3RTdHJpbmciPnhtbFRleHRSZWFkZXJDb25zdFN0cmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJDb25zdFZhbHVlIj54bWxUZXh0UmVhZGVyQ29uc3RWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJDb25zdFhtbExhbmciPnhtbFRleHRSZWFkZXJDb25zdFhtbExhbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyQ29uc3RYbWxWZXJzaW9uIj54bWxUZXh0UmVhZGVyQ29uc3RYbWxWZXJzaW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckN1cnJlbnREb2MiPnhtbFRleHRSZWFkZXJDdXJyZW50RG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckN1cnJlbnROb2RlIj54bWxUZXh0UmVhZGVyQ3VycmVudE5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyRGVwdGgiPnhtbFRleHRSZWFkZXJEZXB0aDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJFcnJvckZ1bmMiPnhtbFRleHRSZWFkZXJFcnJvckZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyRXhwYW5kIj54bWxUZXh0UmVhZGVyRXhwYW5kPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZSI+eG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJHZXRBdHRyaWJ1dGVObyI+eG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZU5vPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZU5zIj54bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlTnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyR2V0RXJyb3JIYW5kbGVyIj54bWxUZXh0UmVhZGVyR2V0RXJyb3JIYW5kbGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckdldFBhcnNlckNvbHVtbk51bWJlciI+eG1sVGV4dFJlYWRlckdldFBhcnNlckNvbHVtbk51bWJlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJHZXRQYXJzZXJMaW5lTnVtYmVyIj54bWxUZXh0UmVhZGVyR2V0UGFyc2VyTGluZU51bWJlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJHZXRQYXJzZXJQcm9wIj54bWxUZXh0UmVhZGVyR2V0UGFyc2VyUHJvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJHZXRSZW1haW5kZXIiPnhtbFRleHRSZWFkZXJHZXRSZW1haW5kZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVySGFzQXR0cmlidXRlcyI+eG1sVGV4dFJlYWRlckhhc0F0dHJpYnV0ZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVySGFzVmFsdWUiPnhtbFRleHRSZWFkZXJIYXNWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJJc0RlZmF1bHQiPnhtbFRleHRSZWFkZXJJc0RlZmF1bHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVySXNFbXB0eUVsZW1lbnQiPnhtbFRleHRSZWFkZXJJc0VtcHR5RWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJJc05hbWVzcGFjZURlY2wiPnhtbFRleHRSZWFkZXJJc05hbWVzcGFjZURlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVySXNWYWxpZCI+eG1sVGV4dFJlYWRlcklzVmFsaWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyTG9jYWxOYW1lIj54bWxUZXh0UmVhZGVyTG9jYWxOYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckxvY2F0b3JCYXNlVVJJIj54bWxUZXh0UmVhZGVyTG9jYXRvckJhc2VVUkk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyTG9jYXRvckxpbmVOdW1iZXIiPnhtbFRleHRSZWFkZXJMb2NhdG9yTGluZU51bWJlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJMb2NhdG9yUHRyIj54bWxUZXh0UmVhZGVyTG9jYXRvclB0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJMb29rdXBOYW1lc3BhY2UiPnhtbFRleHRSZWFkZXJMb29rdXBOYW1lc3BhY2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyTW9kZSI+eG1sVGV4dFJlYWRlck1vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyTW92ZVRvQXR0cmlidXRlIj54bWxUZXh0UmVhZGVyTW92ZVRvQXR0cmlidXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlck1vdmVUb0F0dHJpYnV0ZU5vIj54bWxUZXh0UmVhZGVyTW92ZVRvQXR0cmlidXRlTm88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyTW92ZVRvQXR0cmlidXRlTnMiPnhtbFRleHRSZWFkZXJNb3ZlVG9BdHRyaWJ1dGVOczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJNb3ZlVG9FbGVtZW50Ij54bWxUZXh0UmVhZGVyTW92ZVRvRWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJNb3ZlVG9GaXJzdEF0dHJpYnV0ZSI+eG1sVGV4dFJlYWRlck1vdmVUb0ZpcnN0QXR0cmlidXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlck1vdmVUb05leHRBdHRyaWJ1dGUiPnhtbFRleHRSZWFkZXJNb3ZlVG9OZXh0QXR0cmlidXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlck5hbWUiPnhtbFRleHRSZWFkZXJOYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlck5hbWVzcGFjZVVyaSI+eG1sVGV4dFJlYWRlck5hbWVzcGFjZVVyaTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJOZXh0Ij54bWxUZXh0UmVhZGVyTmV4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJOZXh0U2libGluZyI+eG1sVGV4dFJlYWRlck5leHRTaWJsaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlck5vZGVUeXBlIj54bWxUZXh0UmVhZGVyTm9kZVR5cGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyTm9ybWFsaXphdGlvbiI+eG1sVGV4dFJlYWRlck5vcm1hbGl6YXRpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHJlZml4Ij54bWxUZXh0UmVhZGVyUHJlZml4PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclByZXNlcnZlIj54bWxUZXh0UmVhZGVyUHJlc2VydmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHJlc2VydmVQYXR0ZXJuIj54bWxUZXh0UmVhZGVyUHJlc2VydmVQYXR0ZXJuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJRdW90ZUNoYXIiPnhtbFRleHRSZWFkZXJRdW90ZUNoYXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUmVhZCI+eG1sVGV4dFJlYWRlclJlYWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUmVhZEF0dHJpYnV0ZVZhbHVlIj54bWxUZXh0UmVhZGVyUmVhZEF0dHJpYnV0ZVZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclJlYWRJbm5lclhtbCI+eG1sVGV4dFJlYWRlclJlYWRJbm5lclhtbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJSZWFkT3V0ZXJYbWwiPnhtbFRleHRSZWFkZXJSZWFkT3V0ZXJYbWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUmVhZFN0YXRlIj54bWxUZXh0UmVhZGVyUmVhZFN0YXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclJlYWRTdHJpbmciPnhtbFRleHRSZWFkZXJSZWFkU3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclJlbGF4TkdTZXRTY2hlbWEiPnhtbFRleHRSZWFkZXJSZWxheE5HU2V0U2NoZW1hPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZSI+eG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJSZWxheE5HVmFsaWRhdGVDdHh0Ij54bWxUZXh0UmVhZGVyUmVsYXhOR1ZhbGlkYXRlQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZSI+eG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlQ3R4dCI+eG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJTZXRFcnJvckhhbmRsZXIiPnhtbFRleHRSZWFkZXJTZXRFcnJvckhhbmRsZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyU2V0UGFyc2VyUHJvcCI+eG1sVGV4dFJlYWRlclNldFBhcnNlclByb3A8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyU2V0U2NoZW1hIj54bWxUZXh0UmVhZGVyU2V0U2NoZW1hPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclNldFN0cnVjdHVyZWRFcnJvckhhbmRsZXIiPnhtbFRleHRSZWFkZXJTZXRTdHJ1Y3R1cmVkRXJyb3JIYW5kbGVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclNldHVwIj54bWxUZXh0UmVhZGVyU2V0dXA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyU3RhbmRhbG9uZSI+eG1sVGV4dFJlYWRlclN0YW5kYWxvbmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyVmFsdWUiPnhtbFRleHRSZWFkZXJWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJYbWxMYW5nIj54bWxUZXh0UmVhZGVyWG1sTGFuZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXIiPnhtbFRleHRXcml0ZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyRW5kQXR0cmlidXRlIj54bWxUZXh0V3JpdGVyRW5kQXR0cmlidXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlckVuZENEQVRBIj54bWxUZXh0V3JpdGVyRW5kQ0RBVEE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyRW5kQ29tbWVudCI+eG1sVGV4dFdyaXRlckVuZENvbW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyRW5kRFREIj54bWxUZXh0V3JpdGVyRW5kRFREPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlckVuZERUREF0dGxpc3QiPnhtbFRleHRXcml0ZXJFbmREVERBdHRsaXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlckVuZERUREVsZW1lbnQiPnhtbFRleHRXcml0ZXJFbmREVERFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlckVuZERUREVudGl0eSI+eG1sVGV4dFdyaXRlckVuZERUREVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJFbmREb2N1bWVudCI+eG1sVGV4dFdyaXRlckVuZERvY3VtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlckVuZEVsZW1lbnQiPnhtbFRleHRXcml0ZXJFbmRFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlckVuZFBJIj54bWxUZXh0V3JpdGVyRW5kUEk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyRmx1c2giPnhtbFRleHRXcml0ZXJGbHVzaDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJGdWxsRW5kRWxlbWVudCI+eG1sVGV4dFdyaXRlckZ1bGxFbmRFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJTZXRJbmRlbnQiPnhtbFRleHRXcml0ZXJTZXRJbmRlbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyU2V0SW5kZW50U3RyaW5nIj54bWxUZXh0V3JpdGVyU2V0SW5kZW50U3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclNldFF1b3RlQ2hhciI+eG1sVGV4dFdyaXRlclNldFF1b3RlQ2hhcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJTdGFydEF0dHJpYnV0ZSI+eG1sVGV4dFdyaXRlclN0YXJ0QXR0cmlidXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclN0YXJ0QXR0cmlidXRlTlMiPnhtbFRleHRXcml0ZXJTdGFydEF0dHJpYnV0ZU5TPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclN0YXJ0Q0RBVEEiPnhtbFRleHRXcml0ZXJTdGFydENEQVRBPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclN0YXJ0Q29tbWVudCI+eG1sVGV4dFdyaXRlclN0YXJ0Q29tbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJTdGFydERURCI+eG1sVGV4dFdyaXRlclN0YXJ0RFREPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclN0YXJ0RFREQXR0bGlzdCI+eG1sVGV4dFdyaXRlclN0YXJ0RFREQXR0bGlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJTdGFydERUREVsZW1lbnQiPnhtbFRleHRXcml0ZXJTdGFydERUREVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyU3RhcnREVERFbnRpdHkiPnhtbFRleHRXcml0ZXJTdGFydERUREVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJTdGFydERvY3VtZW50Ij54bWxUZXh0V3JpdGVyU3RhcnREb2N1bWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJTdGFydEVsZW1lbnQiPnhtbFRleHRXcml0ZXJTdGFydEVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyU3RhcnRFbGVtZW50TlMiPnhtbFRleHRXcml0ZXJTdGFydEVsZW1lbnROUzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJTdGFydFBJIj54bWxUZXh0V3JpdGVyU3RhcnRQSTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZUF0dHJpYnV0ZSI+eG1sVGV4dFdyaXRlcldyaXRlQXR0cmlidXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlQXR0cmlidXRlTlMiPnhtbFRleHRXcml0ZXJXcml0ZUF0dHJpYnV0ZU5TPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlQmFzZTY0Ij54bWxUZXh0V3JpdGVyV3JpdGVCYXNlNjQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVCaW5IZXgiPnhtbFRleHRXcml0ZXJXcml0ZUJpbkhleDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZUNEQVRBIj54bWxUZXh0V3JpdGVyV3JpdGVDREFUQTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZUNvbW1lbnQiPnhtbFRleHRXcml0ZXJXcml0ZUNvbW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVEVEQiPnhtbFRleHRXcml0ZXJXcml0ZURURDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZURUREF0dGxpc3QiPnhtbFRleHRXcml0ZXJXcml0ZURUREF0dGxpc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVEVERFbGVtZW50Ij54bWxUZXh0V3JpdGVyV3JpdGVEVERFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRFRERW50aXR5Ij54bWxUZXh0V3JpdGVyV3JpdGVEVERFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVEVERFeHRlcm5hbEVudGl0eSI+eG1sVGV4dFdyaXRlcldyaXRlRFRERXh0ZXJuYWxFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVEVERFeHRlcm5hbEVudGl0eUNvbnRlbnRzIj54bWxUZXh0V3JpdGVyV3JpdGVEVERFeHRlcm5hbEVudGl0eUNvbnRlbnRzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRFRESW50ZXJuYWxFbnRpdHkiPnhtbFRleHRXcml0ZXJXcml0ZURUREludGVybmFsRW50aXR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRFRETm90YXRpb24iPnhtbFRleHRXcml0ZXJXcml0ZURURE5vdGF0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRG9jVHlwZSI+eG1sVGV4dFdyaXRlcldyaXRlRG9jVHlwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZUVsZW1lbnQiPnhtbFRleHRXcml0ZXJXcml0ZUVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVFbGVtZW50TlMiPnhtbFRleHRXcml0ZXJXcml0ZUVsZW1lbnROUzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdEF0dHJpYnV0ZSI+eG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0QXR0cmlidXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0QXR0cmlidXRlTlMiPnhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdEF0dHJpYnV0ZU5TPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0Q0RBVEEiPnhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdENEQVRBPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0Q29tbWVudCI+eG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0Q29tbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdERURCI+eG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFREPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFREQXR0bGlzdCI+eG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFREQXR0bGlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdERUREVsZW1lbnQiPnhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdERUREVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVERJbnRlcm5hbEVudGl0eSI+eG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFRESW50ZXJuYWxFbnRpdHk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRFbGVtZW50Ij54bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRFbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RWxlbWVudE5TIj54bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRFbGVtZW50TlM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRQSSI+eG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0UEk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRSYXciPnhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdFJhdzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdFN0cmluZyI+eG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0U3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlUEkiPnhtbFRleHRXcml0ZXJXcml0ZVBJPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlUHJvY2Vzc2luZ0luc3RydWN0aW9uIj54bWxUZXh0V3JpdGVyV3JpdGVQcm9jZXNzaW5nSW5zdHJ1Y3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVSYXciPnhtbFRleHRXcml0ZXJXcml0ZVJhdzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZVJhd0xlbiI+eG1sVGV4dFdyaXRlcldyaXRlUmF3TGVuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlU3RyaW5nIj54bWxUZXh0V3JpdGVyV3JpdGVTdHJpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0QXR0cmlidXRlIj54bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0QXR0cmlidXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEF0dHJpYnV0ZU5TIj54bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0QXR0cmlidXRlTlM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0Q0RBVEEiPnhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRDREFUQTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRDb21tZW50Ij54bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0Q29tbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVEQiPnhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVEQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFREQXR0bGlzdCI+eG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREF0dGxpc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFRERWxlbWVudCI+eG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFRESW50ZXJuYWxFbnRpdHkiPnhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVERJbnRlcm5hbEVudGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRFbGVtZW50Ij54bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRFbGVtZW50TlMiPnhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRFbGVtZW50TlM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0UEkiPnhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRQSTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRSYXciPnhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRSYXc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0U3RyaW5nIj54bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0U3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbFRockRlZkJ1ZmZlckFsbG9jU2NoZW1lIj54bWxUaHJEZWZCdWZmZXJBbGxvY1NjaGVtZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxUaHJEZWZEZWZhdWx0QnVmZmVyU2l6ZSI+eG1sVGhyRGVmRGVmYXVsdEJ1ZmZlclNpemU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sVGhyRGVmRGVyZWdpc3Rlck5vZGVEZWZhdWx0Ij54bWxUaHJEZWZEZXJlZ2lzdGVyTm9kZURlZmF1bHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sVGhyRGVmRG9WYWxpZGl0eUNoZWNraW5nRGVmYXVsdFZhbHVlIj54bWxUaHJEZWZEb1ZhbGlkaXR5Q2hlY2tpbmdEZWZhdWx0VmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sVGhyRGVmR2V0V2FybmluZ3NEZWZhdWx0VmFsdWUiPnhtbFRockRlZkdldFdhcm5pbmdzRGVmYXVsdFZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbFRockRlZkluZGVudFRyZWVPdXRwdXQiPnhtbFRockRlZkluZGVudFRyZWVPdXRwdXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sVGhyRGVmS2VlcEJsYW5rc0RlZmF1bHRWYWx1ZSI+eG1sVGhyRGVmS2VlcEJsYW5rc0RlZmF1bHRWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxUaHJEZWZMaW5lTnVtYmVyc0RlZmF1bHRWYWx1ZSI+eG1sVGhyRGVmTGluZU51bWJlcnNEZWZhdWx0VmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sVGhyRGVmTG9hZEV4dER0ZERlZmF1bHRWYWx1ZSI+eG1sVGhyRGVmTG9hZEV4dER0ZERlZmF1bHRWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxUaHJEZWZPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQiPnhtbFRockRlZk91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRGVmYXVsdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxUaHJEZWZQYXJzZXJEZWJ1Z0VudGl0aWVzIj54bWxUaHJEZWZQYXJzZXJEZWJ1Z0VudGl0aWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbFRockRlZlBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0Ij54bWxUaHJEZWZQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRGVmYXVsdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxUaHJEZWZQZWRhbnRpY1BhcnNlckRlZmF1bHRWYWx1ZSI+eG1sVGhyRGVmUGVkYW50aWNQYXJzZXJEZWZhdWx0VmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sVGhyRGVmUmVnaXN0ZXJOb2RlRGVmYXVsdCI+eG1sVGhyRGVmUmVnaXN0ZXJOb2RlRGVmYXVsdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxUaHJEZWZTYXZlTm9FbXB0eVRhZ3MiPnhtbFRockRlZlNhdmVOb0VtcHR5VGFnczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxUaHJEZWZTZXRHZW5lcmljRXJyb3JGdW5jIj54bWxUaHJEZWZTZXRHZW5lcmljRXJyb3JGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbFRockRlZlNldFN0cnVjdHVyZWRFcnJvckZ1bmMiPnhtbFRockRlZlNldFN0cnVjdHVyZWRFcnJvckZ1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sVGhyRGVmU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdFZhbHVlIj54bWxUaHJEZWZTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0VmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sVGhyRGVmVHJlZUluZGVudFN0cmluZyI+eG1sVGhyRGVmVHJlZUluZGVudFN0cmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxUcmVlSW5kZW50U3RyaW5nIj54bWxUcmVlSW5kZW50U3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQWVnZWFuTnVtYmVycyI+eG1sVUNTSXNBZWdlYW5OdW1iZXJzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQWxwaGFiZXRpY1ByZXNlbnRhdGlvbkZvcm1zIj54bWxVQ1NJc0FscGhhYmV0aWNQcmVzZW50YXRpb25Gb3JtczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0FyYWJpYyI+eG1sVUNTSXNBcmFiaWM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNBcmFiaWNQcmVzZW50YXRpb25Gb3Jtc0EiPnhtbFVDU0lzQXJhYmljUHJlc2VudGF0aW9uRm9ybXNBPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQXJhYmljUHJlc2VudGF0aW9uRm9ybXNCIj54bWxVQ1NJc0FyYWJpY1ByZXNlbnRhdGlvbkZvcm1zQjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0FybWVuaWFuIj54bWxVQ1NJc0FybWVuaWFuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQXJyb3dzIj54bWxVQ1NJc0Fycm93czwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0Jhc2ljTGF0aW4iPnhtbFVDU0lzQmFzaWNMYXRpbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0JlbmdhbGkiPnhtbFVDU0lzQmVuZ2FsaTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0Jsb2NrIj54bWxVQ1NJc0Jsb2NrPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQmxvY2tFbGVtZW50cyI+eG1sVUNTSXNCbG9ja0VsZW1lbnRzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQm9wb21vZm8iPnhtbFVDU0lzQm9wb21vZm88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNCb3BvbW9mb0V4dGVuZGVkIj54bWxVQ1NJc0JvcG9tb2ZvRXh0ZW5kZWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNCb3hEcmF3aW5nIj54bWxVQ1NJc0JveERyYXdpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNCcmFpbGxlUGF0dGVybnMiPnhtbFVDU0lzQnJhaWxsZVBhdHRlcm5zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQnVoaWQiPnhtbFVDU0lzQnVoaWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNCeXphbnRpbmVNdXNpY2FsU3ltYm9scyI+eG1sVUNTSXNCeXphbnRpbmVNdXNpY2FsU3ltYm9sczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHkiPnhtbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHlGb3JtcyI+eG1sVUNTSXNDSktDb21wYXRpYmlsaXR5Rm9ybXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDSktDb21wYXRpYmlsaXR5SWRlb2dyYXBocyI+eG1sVUNTSXNDSktDb21wYXRpYmlsaXR5SWRlb2dyYXBoczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHlJZGVvZ3JhcGhzU3VwcGxlbWVudCI+eG1sVUNTSXNDSktDb21wYXRpYmlsaXR5SWRlb2dyYXBoc1N1cHBsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDSktSYWRpY2Fsc1N1cHBsZW1lbnQiPnhtbFVDU0lzQ0pLUmFkaWNhbHNTdXBwbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ0pLU3ltYm9sc2FuZFB1bmN0dWF0aW9uIj54bWxVQ1NJc0NKS1N5bWJvbHNhbmRQdW5jdHVhdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NKS1VuaWZpZWRJZGVvZ3JhcGhzIj54bWxVQ1NJc0NKS1VuaWZpZWRJZGVvZ3JhcGhzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ0pLVW5pZmllZElkZW9ncmFwaHNFeHRlbnNpb25BIj54bWxVQ1NJc0NKS1VuaWZpZWRJZGVvZ3JhcGhzRXh0ZW5zaW9uQTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NKS1VuaWZpZWRJZGVvZ3JhcGhzRXh0ZW5zaW9uQiI+eG1sVUNTSXNDSktVbmlmaWVkSWRlb2dyYXBoc0V4dGVuc2lvbkI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDYXQiPnhtbFVDU0lzQ2F0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ2F0QyI+eG1sVUNTSXNDYXRDPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ2F0Q2MiPnhtbFVDU0lzQ2F0Q2M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDYXRDZiI+eG1sVUNTSXNDYXRDZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NhdENvIj54bWxVQ1NJc0NhdENvPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ2F0Q3MiPnhtbFVDU0lzQ2F0Q3M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDYXRMIj54bWxVQ1NJc0NhdEw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDYXRMbCI+eG1sVUNTSXNDYXRMbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NhdExtIj54bWxVQ1NJc0NhdExtPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ2F0TG8iPnhtbFVDU0lzQ2F0TG88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDYXRMdCI+eG1sVUNTSXNDYXRMdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NhdEx1Ij54bWxVQ1NJc0NhdEx1PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ2F0TSI+eG1sVUNTSXNDYXRNPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ2F0TWMiPnhtbFVDU0lzQ2F0TWM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDYXRNZSI+eG1sVUNTSXNDYXRNZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NhdE1uIj54bWxVQ1NJc0NhdE1uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ2F0TiI+eG1sVUNTSXNDYXROPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ2F0TmQiPnhtbFVDU0lzQ2F0TmQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDYXRObCI+eG1sVUNTSXNDYXRObDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NhdE5vIj54bWxVQ1NJc0NhdE5vPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ2F0UCI+eG1sVUNTSXNDYXRQPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ2F0UGMiPnhtbFVDU0lzQ2F0UGM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDYXRQZCI+eG1sVUNTSXNDYXRQZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NhdFBlIj54bWxVQ1NJc0NhdFBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ2F0UGYiPnhtbFVDU0lzQ2F0UGY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDYXRQaSI+eG1sVUNTSXNDYXRQaTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NhdFBvIj54bWxVQ1NJc0NhdFBvPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ2F0UHMiPnhtbFVDU0lzQ2F0UHM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDYXRTIj54bWxVQ1NJc0NhdFM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDYXRTYyI+eG1sVUNTSXNDYXRTYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NhdFNrIj54bWxVQ1NJc0NhdFNrPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ2F0U20iPnhtbFVDU0lzQ2F0U208L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDYXRTbyI+eG1sVUNTSXNDYXRTbzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NhdFoiPnhtbFVDU0lzQ2F0WjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NhdFpsIj54bWxVQ1NJc0NhdFpsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ2F0WnAiPnhtbFVDU0lzQ2F0WnA8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDYXRacyI+eG1sVUNTSXNDYXRaczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NoZXJva2VlIj54bWxVQ1NJc0NoZXJva2VlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ29tYmluaW5nRGlhY3JpdGljYWxNYXJrcyI+eG1sVUNTSXNDb21iaW5pbmdEaWFjcml0aWNhbE1hcmtzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ29tYmluaW5nRGlhY3JpdGljYWxNYXJrc2ZvclN5bWJvbHMiPnhtbFVDU0lzQ29tYmluaW5nRGlhY3JpdGljYWxNYXJrc2ZvclN5bWJvbHM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDb21iaW5pbmdIYWxmTWFya3MiPnhtbFVDU0lzQ29tYmluaW5nSGFsZk1hcmtzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ29tYmluaW5nTWFya3Nmb3JTeW1ib2xzIj54bWxVQ1NJc0NvbWJpbmluZ01hcmtzZm9yU3ltYm9sczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NvbnRyb2xQaWN0dXJlcyI+eG1sVUNTSXNDb250cm9sUGljdHVyZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDdXJyZW5jeVN5bWJvbHMiPnhtbFVDU0lzQ3VycmVuY3lTeW1ib2xzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ3lwcmlvdFN5bGxhYmFyeSI+eG1sVUNTSXNDeXByaW90U3lsbGFiYXJ5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ3lyaWxsaWMiPnhtbFVDU0lzQ3lyaWxsaWM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDeXJpbGxpY1N1cHBsZW1lbnQiPnhtbFVDU0lzQ3lyaWxsaWNTdXBwbGVtZW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzRGVzZXJldCI+eG1sVUNTSXNEZXNlcmV0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzRGV2YW5hZ2FyaSI+eG1sVUNTSXNEZXZhbmFnYXJpPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzRGluZ2JhdHMiPnhtbFVDU0lzRGluZ2JhdHM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNFbmNsb3NlZEFscGhhbnVtZXJpY3MiPnhtbFVDU0lzRW5jbG9zZWRBbHBoYW51bWVyaWNzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzRW5jbG9zZWRDSktMZXR0ZXJzYW5kTW9udGhzIj54bWxVQ1NJc0VuY2xvc2VkQ0pLTGV0dGVyc2FuZE1vbnRoczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0V0aGlvcGljIj54bWxVQ1NJc0V0aGlvcGljPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzR2VuZXJhbFB1bmN0dWF0aW9uIj54bWxVQ1NJc0dlbmVyYWxQdW5jdHVhdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0dlb21ldHJpY1NoYXBlcyI+eG1sVUNTSXNHZW9tZXRyaWNTaGFwZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNHZW9yZ2lhbiI+eG1sVUNTSXNHZW9yZ2lhbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0dvdGhpYyI+eG1sVUNTSXNHb3RoaWM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNHcmVlayI+eG1sVUNTSXNHcmVlazwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0dyZWVrRXh0ZW5kZWQiPnhtbFVDU0lzR3JlZWtFeHRlbmRlZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0dyZWVrYW5kQ29wdGljIj54bWxVQ1NJc0dyZWVrYW5kQ29wdGljPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzR3VqYXJhdGkiPnhtbFVDU0lzR3VqYXJhdGk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNHdXJtdWtoaSI+eG1sVUNTSXNHdXJtdWtoaTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0hhbGZ3aWR0aGFuZEZ1bGx3aWR0aEZvcm1zIj54bWxVQ1NJc0hhbGZ3aWR0aGFuZEZ1bGx3aWR0aEZvcm1zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzSGFuZ3VsQ29tcGF0aWJpbGl0eUphbW8iPnhtbFVDU0lzSGFuZ3VsQ29tcGF0aWJpbGl0eUphbW88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNIYW5ndWxKYW1vIj54bWxVQ1NJc0hhbmd1bEphbW88L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNIYW5ndWxTeWxsYWJsZXMiPnhtbFVDU0lzSGFuZ3VsU3lsbGFibGVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzSGFudW5vbyI+eG1sVUNTSXNIYW51bm9vPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzSGVicmV3Ij54bWxVQ1NJc0hlYnJldzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0hpZ2hQcml2YXRlVXNlU3Vycm9nYXRlcyI+eG1sVUNTSXNIaWdoUHJpdmF0ZVVzZVN1cnJvZ2F0ZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNIaWdoU3Vycm9nYXRlcyI+eG1sVUNTSXNIaWdoU3Vycm9nYXRlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0hpcmFnYW5hIj54bWxVQ1NJc0hpcmFnYW5hPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzSVBBRXh0ZW5zaW9ucyI+eG1sVUNTSXNJUEFFeHRlbnNpb25zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzSWRlb2dyYXBoaWNEZXNjcmlwdGlvbkNoYXJhY3RlcnMiPnhtbFVDU0lzSWRlb2dyYXBoaWNEZXNjcmlwdGlvbkNoYXJhY3RlcnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNLYW5idW4iPnhtbFVDU0lzS2FuYnVuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzS2FuZ3hpUmFkaWNhbHMiPnhtbFVDU0lzS2FuZ3hpUmFkaWNhbHM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNLYW5uYWRhIj54bWxVQ1NJc0thbm5hZGE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNLYXRha2FuYSI+eG1sVUNTSXNLYXRha2FuYTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0thdGFrYW5hUGhvbmV0aWNFeHRlbnNpb25zIj54bWxVQ1NJc0thdGFrYW5hUGhvbmV0aWNFeHRlbnNpb25zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzS2htZXIiPnhtbFVDU0lzS2htZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNLaG1lclN5bWJvbHMiPnhtbFVDU0lzS2htZXJTeW1ib2xzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzTGFvIj54bWxVQ1NJc0xhbzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0xhdGluMVN1cHBsZW1lbnQiPnhtbFVDU0lzTGF0aW4xU3VwcGxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0xhdGluRXh0ZW5kZWRBIj54bWxVQ1NJc0xhdGluRXh0ZW5kZWRBPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzTGF0aW5FeHRlbmRlZEFkZGl0aW9uYWwiPnhtbFVDU0lzTGF0aW5FeHRlbmRlZEFkZGl0aW9uYWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNMYXRpbkV4dGVuZGVkQiI+eG1sVUNTSXNMYXRpbkV4dGVuZGVkQjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0xldHRlcmxpa2VTeW1ib2xzIj54bWxVQ1NJc0xldHRlcmxpa2VTeW1ib2xzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzTGltYnUiPnhtbFVDU0lzTGltYnU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNMaW5lYXJCSWRlb2dyYW1zIj54bWxVQ1NJc0xpbmVhckJJZGVvZ3JhbXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNMaW5lYXJCU3lsbGFiYXJ5Ij54bWxVQ1NJc0xpbmVhckJTeWxsYWJhcnk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNMb3dTdXJyb2dhdGVzIj54bWxVQ1NJc0xvd1N1cnJvZ2F0ZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNNYWxheWFsYW0iPnhtbFVDU0lzTWFsYXlhbGFtPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzTWF0aGVtYXRpY2FsQWxwaGFudW1lcmljU3ltYm9scyI+eG1sVUNTSXNNYXRoZW1hdGljYWxBbHBoYW51bWVyaWNTeW1ib2xzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzTWF0aGVtYXRpY2FsT3BlcmF0b3JzIj54bWxVQ1NJc01hdGhlbWF0aWNhbE9wZXJhdG9yczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc01pc2NlbGxhbmVvdXNNYXRoZW1hdGljYWxTeW1ib2xzQSI+eG1sVUNTSXNNaXNjZWxsYW5lb3VzTWF0aGVtYXRpY2FsU3ltYm9sc0E8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNNaXNjZWxsYW5lb3VzTWF0aGVtYXRpY2FsU3ltYm9sc0IiPnhtbFVDU0lzTWlzY2VsbGFuZW91c01hdGhlbWF0aWNhbFN5bWJvbHNCPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzTWlzY2VsbGFuZW91c1N5bWJvbHMiPnhtbFVDU0lzTWlzY2VsbGFuZW91c1N5bWJvbHM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNNaXNjZWxsYW5lb3VzU3ltYm9sc2FuZEFycm93cyI+eG1sVUNTSXNNaXNjZWxsYW5lb3VzU3ltYm9sc2FuZEFycm93czwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc01pc2NlbGxhbmVvdXNUZWNobmljYWwiPnhtbFVDU0lzTWlzY2VsbGFuZW91c1RlY2huaWNhbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc01vbmdvbGlhbiI+eG1sVUNTSXNNb25nb2xpYW48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNNdXNpY2FsU3ltYm9scyI+eG1sVUNTSXNNdXNpY2FsU3ltYm9sczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc015YW5tYXIiPnhtbFVDU0lzTXlhbm1hcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc051bWJlckZvcm1zIj54bWxVQ1NJc051bWJlckZvcm1zPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzT2doYW0iPnhtbFVDU0lzT2doYW08L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNPbGRJdGFsaWMiPnhtbFVDU0lzT2xkSXRhbGljPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzT3B0aWNhbENoYXJhY3RlclJlY29nbml0aW9uIj54bWxVQ1NJc09wdGljYWxDaGFyYWN0ZXJSZWNvZ25pdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc09yaXlhIj54bWxVQ1NJc09yaXlhPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzT3NtYW55YSI+eG1sVUNTSXNPc21hbnlhPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzUGhvbmV0aWNFeHRlbnNpb25zIj54bWxVQ1NJc1Bob25ldGljRXh0ZW5zaW9uczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc1ByaXZhdGVVc2UiPnhtbFVDU0lzUHJpdmF0ZVVzZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc1ByaXZhdGVVc2VBcmVhIj54bWxVQ1NJc1ByaXZhdGVVc2VBcmVhPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzUnVuaWMiPnhtbFVDU0lzUnVuaWM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNTaGF2aWFuIj54bWxVQ1NJc1NoYXZpYW48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNTaW5oYWxhIj54bWxVQ1NJc1NpbmhhbGE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNTbWFsbEZvcm1WYXJpYW50cyI+eG1sVUNTSXNTbWFsbEZvcm1WYXJpYW50czwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc1NwYWNpbmdNb2RpZmllckxldHRlcnMiPnhtbFVDU0lzU3BhY2luZ01vZGlmaWVyTGV0dGVyczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc1NwZWNpYWxzIj54bWxVQ1NJc1NwZWNpYWxzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzU3VwZXJzY3JpcHRzYW5kU3Vic2NyaXB0cyI+eG1sVUNTSXNTdXBlcnNjcmlwdHNhbmRTdWJzY3JpcHRzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzU3VwcGxlbWVudGFsQXJyb3dzQSI+eG1sVUNTSXNTdXBwbGVtZW50YWxBcnJvd3NBPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzU3VwcGxlbWVudGFsQXJyb3dzQiI+eG1sVUNTSXNTdXBwbGVtZW50YWxBcnJvd3NCPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzU3VwcGxlbWVudGFsTWF0aGVtYXRpY2FsT3BlcmF0b3JzIj54bWxVQ1NJc1N1cHBsZW1lbnRhbE1hdGhlbWF0aWNhbE9wZXJhdG9yczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc1N1cHBsZW1lbnRhcnlQcml2YXRlVXNlQXJlYUEiPnhtbFVDU0lzU3VwcGxlbWVudGFyeVByaXZhdGVVc2VBcmVhQTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc1N1cHBsZW1lbnRhcnlQcml2YXRlVXNlQXJlYUIiPnhtbFVDU0lzU3VwcGxlbWVudGFyeVByaXZhdGVVc2VBcmVhQjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc1N5cmlhYyI+eG1sVUNTSXNTeXJpYWM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNUYWdhbG9nIj54bWxVQ1NJc1RhZ2Fsb2c8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNUYWdiYW53YSI+eG1sVUNTSXNUYWdiYW53YTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc1RhZ3MiPnhtbFVDU0lzVGFnczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc1RhaUxlIj54bWxVQ1NJc1RhaUxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzVGFpWHVhbkppbmdTeW1ib2xzIj54bWxVQ1NJc1RhaVh1YW5KaW5nU3ltYm9sczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc1RhbWlsIj54bWxVQ1NJc1RhbWlsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzVGVsdWd1Ij54bWxVQ1NJc1RlbHVndTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc1RoYWFuYSI+eG1sVUNTSXNUaGFhbmE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNUaGFpIj54bWxVQ1NJc1RoYWk8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNUaWJldGFuIj54bWxVQ1NJc1RpYmV0YW48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNVZ2FyaXRpYyI+eG1sVUNTSXNVZ2FyaXRpYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc1VuaWZpZWRDYW5hZGlhbkFib3JpZ2luYWxTeWxsYWJpY3MiPnhtbFVDU0lzVW5pZmllZENhbmFkaWFuQWJvcmlnaW5hbFN5bGxhYmljczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc1ZhcmlhdGlvblNlbGVjdG9ycyI+eG1sVUNTSXNWYXJpYXRpb25TZWxlY3RvcnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNWYXJpYXRpb25TZWxlY3RvcnNTdXBwbGVtZW50Ij54bWxVQ1NJc1ZhcmlhdGlvblNlbGVjdG9yc1N1cHBsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNZaVJhZGljYWxzIj54bWxVQ1NJc1lpUmFkaWNhbHM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNZaVN5bGxhYmxlcyI+eG1sVUNTSXNZaVN5bGxhYmxlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc1lpamluZ0hleGFncmFtU3ltYm9scyI+eG1sVUNTSXNZaWppbmdIZXhhZ3JhbVN5bWJvbHM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxVUkkiPnhtbFVSSTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbFVSSUVzY2FwZSI+eG1sVVJJRXNjYXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sVVJJRXNjYXBlU3RyIj54bWxVUklFc2NhcGVTdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxVUklQdHIiPnhtbFVSSVB0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXVyaS5odG1sI3htbFVSSVVuZXNjYXBlU3RyaW5nIj54bWxVUklVbmVzY2FwZVN0cmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFVURjhDaGFyY21wIj54bWxVVEY4Q2hhcmNtcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFVURjhTaXplIj54bWxVVEY4U2l6ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFVURjhTdHJsZW4iPnhtbFVURjhTdHJsZW48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxVVEY4U3RybG9jIj54bWxVVEY4U3RybG9jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sVVRGOFN0cm5kdXAiPnhtbFVURjhTdHJuZHVwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sVVRGOFN0cnBvcyI+eG1sVVRGOFN0cnBvczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFVURjhTdHJzaXplIj54bWxVVEY4U3Ryc2l6ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFVURjhTdHJzdWIiPnhtbFVURjhTdHJzdWI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sVW5saW5rTm9kZSI+eG1sVW5saW5rTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRocmVhZHMuaHRtbCN4bWxVbmxvY2tMaWJyYXJ5Ij54bWxVbmxvY2tMaWJyYXJ5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFVuc2V0TnNQcm9wIj54bWxVbnNldE5zUHJvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxVbnNldFByb3AiPnhtbFVuc2V0UHJvcDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRCdWlsZENvbnRlbnRNb2RlbCI+eG1sVmFsaWRCdWlsZENvbnRlbnRNb2RlbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRDdHh0Ij54bWxWYWxpZEN0eHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkQ3R4dE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlIj54bWxWYWxpZEN0eHROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRDdHh0UHRyIj54bWxWYWxpZEN0eHRQdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkR2V0UG90ZW50aWFsQ2hpbGRyZW4iPnhtbFZhbGlkR2V0UG90ZW50aWFsQ2hpbGRyZW48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkR2V0VmFsaWRFbGVtZW50cyI+eG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlIj54bWxWYWxpZE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZFN0YXRlIj54bWxWYWxpZFN0YXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZFN0YXRlUHRyIj54bWxWYWxpZFN0YXRlUHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZUF0dHJpYnV0ZURlY2wiPnhtbFZhbGlkYXRlQXR0cmlidXRlRGVjbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVBdHRyaWJ1dGVWYWx1ZSI+eG1sVmFsaWRhdGVBdHRyaWJ1dGVWYWx1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVEb2N1bWVudCI+eG1sVmFsaWRhdGVEb2N1bWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVEb2N1bWVudEZpbmFsIj54bWxWYWxpZGF0ZURvY3VtZW50RmluYWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlRHRkIj54bWxWYWxpZGF0ZUR0ZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVEdGRGaW5hbCI+eG1sVmFsaWRhdGVEdGRGaW5hbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVFbGVtZW50Ij54bWxWYWxpZGF0ZUVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlRWxlbWVudERlY2wiPnhtbFZhbGlkYXRlRWxlbWVudERlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sVmFsaWRhdGVOQ05hbWUiPnhtbFZhbGlkYXRlTkNOYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFZhbGlkYXRlTk1Ub2tlbiI+eG1sVmFsaWRhdGVOTVRva2VuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFZhbGlkYXRlTmFtZSI+eG1sVmFsaWRhdGVOYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZU5hbWVWYWx1ZSI+eG1sVmFsaWRhdGVOYW1lVmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlTmFtZXNWYWx1ZSI+eG1sVmFsaWRhdGVOYW1lc1ZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZU5tdG9rZW5WYWx1ZSI+eG1sVmFsaWRhdGVObXRva2VuVmFsdWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlTm10b2tlbnNWYWx1ZSI+eG1sVmFsaWRhdGVObXRva2Vuc1ZhbHVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZU5vdGF0aW9uRGVjbCI+eG1sVmFsaWRhdGVOb3RhdGlvbkRlY2w8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlTm90YXRpb25Vc2UiPnhtbFZhbGlkYXRlTm90YXRpb25Vc2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlT25lQXR0cmlidXRlIj54bWxWYWxpZGF0ZU9uZUF0dHJpYnV0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVPbmVFbGVtZW50Ij54bWxWYWxpZGF0ZU9uZUVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlT25lTmFtZXNwYWNlIj54bWxWYWxpZGF0ZU9uZU5hbWVzcGFjZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVQb3BFbGVtZW50Ij54bWxWYWxpZGF0ZVBvcEVsZW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlUHVzaENEYXRhIj54bWxWYWxpZGF0ZVB1c2hDRGF0YTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVQdXNoRWxlbWVudCI+eG1sVmFsaWRhdGVQdXNoRWxlbWVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxWYWxpZGF0ZVFOYW1lIj54bWxWYWxpZGF0ZVFOYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZVJvb3QiPnhtbFZhbGlkYXRlUm9vdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRpdHlFcnJvckZ1bmMiPnhtbFZhbGlkaXR5RXJyb3JGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGl0eVdhcm5pbmdGdW5jIj54bWxWYWxpZGl0eVdhcm5pbmdGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGluY2x1ZGUuaHRtbCN4bWxYSW5jbHVkZUN0eHQiPnhtbFhJbmNsdWRlQ3R4dDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhpbmNsdWRlLmh0bWwjeG1sWEluY2x1ZGVDdHh0UHRyIj54bWxYSW5jbHVkZUN0eHRQdHI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14aW5jbHVkZS5odG1sI3htbFhJbmNsdWRlRnJlZUNvbnRleHQiPnhtbFhJbmNsdWRlRnJlZUNvbnRleHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14aW5jbHVkZS5odG1sI3htbFhJbmNsdWRlTmV3Q29udGV4dCI+eG1sWEluY2x1ZGVOZXdDb250ZXh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGluY2x1ZGUuaHRtbCN4bWxYSW5jbHVkZVByb2Nlc3MiPnhtbFhJbmNsdWRlUHJvY2VzczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhpbmNsdWRlLmh0bWwjeG1sWEluY2x1ZGVQcm9jZXNzRmxhZ3MiPnhtbFhJbmNsdWRlUHJvY2Vzc0ZsYWdzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteGluY2x1ZGUuaHRtbCN4bWxYSW5jbHVkZVByb2Nlc3NGbGFnc0RhdGEiPnhtbFhJbmNsdWRlUHJvY2Vzc0ZsYWdzRGF0YTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhpbmNsdWRlLmh0bWwjeG1sWEluY2x1ZGVQcm9jZXNzTm9kZSI+eG1sWEluY2x1ZGVQcm9jZXNzTm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhpbmNsdWRlLmh0bWwjeG1sWEluY2x1ZGVQcm9jZXNzVHJlZSI+eG1sWEluY2x1ZGVQcm9jZXNzVHJlZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhpbmNsdWRlLmh0bWwjeG1sWEluY2x1ZGVQcm9jZXNzVHJlZUZsYWdzIj54bWxYSW5jbHVkZVByb2Nlc3NUcmVlRmxhZ3M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14aW5jbHVkZS5odG1sI3htbFhJbmNsdWRlUHJvY2Vzc1RyZWVGbGFnc0RhdGEiPnhtbFhJbmNsdWRlUHJvY2Vzc1RyZWVGbGFnc0RhdGE8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14aW5jbHVkZS5odG1sI3htbFhJbmNsdWRlU2V0RmxhZ3MiPnhtbFhJbmNsdWRlU2V0RmxhZ3M8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoQWRkVmFsdWVzIj54bWxYUGF0aEFkZFZhbHVlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhBeGlzIj54bWxYUGF0aEF4aXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQXhpc0Z1bmMiPnhtbFhQYXRoQXhpc0Z1bmM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQXhpc1B0ciI+eG1sWFBhdGhBeGlzUHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEJvb2xlYW5GdW5jdGlvbiI+eG1sWFBhdGhCb29sZWFuRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ2FzdEJvb2xlYW5Ub051bWJlciI+eG1sWFBhdGhDYXN0Qm9vbGVhblRvTnVtYmVyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENhc3RCb29sZWFuVG9TdHJpbmciPnhtbFhQYXRoQ2FzdEJvb2xlYW5Ub1N0cmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDYXN0Tm9kZVNldFRvQm9vbGVhbiI+eG1sWFBhdGhDYXN0Tm9kZVNldFRvQm9vbGVhbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDYXN0Tm9kZVNldFRvTnVtYmVyIj54bWxYUGF0aENhc3ROb2RlU2V0VG9OdW1iZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ2FzdE5vZGVTZXRUb1N0cmluZyI+eG1sWFBhdGhDYXN0Tm9kZVNldFRvU3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENhc3ROb2RlVG9OdW1iZXIiPnhtbFhQYXRoQ2FzdE5vZGVUb051bWJlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDYXN0Tm9kZVRvU3RyaW5nIj54bWxYUGF0aENhc3ROb2RlVG9TdHJpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ2FzdE51bWJlclRvQm9vbGVhbiI+eG1sWFBhdGhDYXN0TnVtYmVyVG9Cb29sZWFuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENhc3ROdW1iZXJUb1N0cmluZyI+eG1sWFBhdGhDYXN0TnVtYmVyVG9TdHJpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ2FzdFN0cmluZ1RvQm9vbGVhbiI+eG1sWFBhdGhDYXN0U3RyaW5nVG9Cb29sZWFuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENhc3RTdHJpbmdUb051bWJlciI+eG1sWFBhdGhDYXN0U3RyaW5nVG9OdW1iZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ2FzdFRvQm9vbGVhbiI+eG1sWFBhdGhDYXN0VG9Cb29sZWFuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENhc3RUb051bWJlciI+eG1sWFBhdGhDYXN0VG9OdW1iZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ2FzdFRvU3RyaW5nIj54bWxYUGF0aENhc3RUb1N0cmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhDZWlsaW5nRnVuY3Rpb24iPnhtbFhQYXRoQ2VpbGluZ0Z1bmN0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aENoZWNrRXJyb3IiPnhtbFhQYXRoQ2hlY2tFcnJvcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDbXBOb2RlcyI+eG1sWFBhdGhDbXBOb2RlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb21wRXhwciI+eG1sWFBhdGhDb21wRXhwcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb21wRXhwclB0ciI+eG1sWFBhdGhDb21wRXhwclB0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhDb21wYXJlVmFsdWVzIj54bWxYUGF0aENvbXBhcmVWYWx1ZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29tcGlsZSI+eG1sWFBhdGhDb21waWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbXBpbGVkRXZhbCI+eG1sWFBhdGhDb21waWxlZEV2YWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29tcGlsZWRFdmFsVG9Cb29sZWFuIj54bWxYUGF0aENvbXBpbGVkRXZhbFRvQm9vbGVhbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhDb25jYXRGdW5jdGlvbiI+eG1sWFBhdGhDb25jYXRGdW5jdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhDb250YWluc0Z1bmN0aW9uIj54bWxYUGF0aENvbnRhaW5zRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dCI+eG1sWFBhdGhDb250ZXh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHRQdHIiPnhtbFhQYXRoQ29udGV4dFB0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0U2V0Q2FjaGUiPnhtbFhQYXRoQ29udGV4dFNldENhY2hlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbnZlcnRCb29sZWFuIj54bWxYUGF0aENvbnZlcnRCb29sZWFuPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbnZlcnRGdW5jIj54bWxYUGF0aENvbnZlcnRGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbnZlcnROdW1iZXIiPnhtbFhQYXRoQ29udmVydE51bWJlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb252ZXJ0U3RyaW5nIj54bWxYUGF0aENvbnZlcnRTdHJpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoQ291bnRGdW5jdGlvbiI+eG1sWFBhdGhDb3VudEZ1bmN0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aEN0eHRDb21waWxlIj54bWxYUGF0aEN0eHRDb21waWxlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aERlYnVnRHVtcENvbXBFeHByIj54bWxYUGF0aERlYnVnRHVtcENvbXBFeHByPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aERlYnVnRHVtcE9iamVjdCI+eG1sWFBhdGhEZWJ1Z0R1bXBPYmplY3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRGlmZmVyZW5jZSI+eG1sWFBhdGhEaWZmZXJlbmNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aERpc3RpbmN0Ij54bWxYUGF0aERpc3RpbmN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aERpc3RpbmN0U29ydGVkIj54bWxYUGF0aERpc3RpbmN0U29ydGVkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aERpdlZhbHVlcyI+eG1sWFBhdGhEaXZWYWx1ZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRW1wdHlOb2RlU2V0Ij54bWxYUGF0aEVtcHR5Tm9kZVNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhFcXVhbFZhbHVlcyI+eG1sWFBhdGhFcXVhbFZhbHVlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhFcnIiPnhtbFhQYXRoRXJyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aEVycm9yIj54bWxYUGF0aEVycm9yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aEV2YWwiPnhtbFhQYXRoRXZhbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhFdmFsRXhwciI+eG1sWFBhdGhFdmFsRXhwcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhFdmFsRXhwcmVzc2lvbiI+eG1sWFBhdGhFdmFsRXhwcmVzc2lvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhFdmFsRnVuYyI+eG1sWFBhdGhFdmFsRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhFdmFsUHJlZGljYXRlIj54bWxYUGF0aEV2YWxQcmVkaWNhdGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRXZhbHVhdGVQcmVkaWNhdGVSZXN1bHQiPnhtbFhQYXRoRXZhbHVhdGVQcmVkaWNhdGVSZXN1bHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRmFsc2VGdW5jdGlvbiI+eG1sWFBhdGhGYWxzZUZ1bmN0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEZsb29yRnVuY3Rpb24iPnhtbFhQYXRoRmxvb3JGdW5jdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhGcmVlQ29tcEV4cHIiPnhtbFhQYXRoRnJlZUNvbXBFeHByPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aEZyZWVDb250ZXh0Ij54bWxYUGF0aEZyZWVDb250ZXh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aEZyZWVOb2RlU2V0Ij54bWxYUGF0aEZyZWVOb2RlU2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aEZyZWVOb2RlU2V0TGlzdCI+eG1sWFBhdGhGcmVlTm9kZVNldExpc3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoRnJlZU9iamVjdCI+eG1sWFBhdGhGcmVlT2JqZWN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEZyZWVQYXJzZXJDb250ZXh0Ij54bWxYUGF0aEZyZWVQYXJzZXJDb250ZXh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aEZ1bmNMb29rdXBGdW5jIj54bWxYUGF0aEZ1bmNMb29rdXBGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aEZ1bmNQdHIiPnhtbFhQYXRoRnVuY1B0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhGdW5jdCI+eG1sWFBhdGhGdW5jdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhGdW5jdGlvbiI+eG1sWFBhdGhGdW5jdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhGdW5jdGlvbkxvb2t1cCI+eG1sWFBhdGhGdW5jdGlvbkxvb2t1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhGdW5jdGlvbkxvb2t1cE5TIj54bWxYUGF0aEZ1bmN0aW9uTG9va3VwTlM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoR2V0Q29udGV4dE5vZGUiPnhtbFhQYXRoR2V0Q29udGV4dE5vZGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoR2V0RG9jdW1lbnQiPnhtbFhQYXRoR2V0RG9jdW1lbnQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoR2V0RXJyb3IiPnhtbFhQYXRoR2V0RXJyb3I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoSGFzU2FtZU5vZGVzIj54bWxYUGF0aEhhc1NhbWVOb2RlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhJZEZ1bmN0aW9uIj54bWxYUGF0aElkRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoSW5pdCI+eG1sWFBhdGhJbml0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEludGVyc2VjdGlvbiI+eG1sWFBhdGhJbnRlcnNlY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoSXNJbmYiPnhtbFhQYXRoSXNJbmY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoSXNOYU4iPnhtbFhQYXRoSXNOYU48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoSXNOb2RlVHlwZSI+eG1sWFBhdGhJc05vZGVUeXBlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aExhbmdGdW5jdGlvbiI+eG1sWFBhdGhMYW5nRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTGFzdEZ1bmN0aW9uIj54bWxYUGF0aExhc3RGdW5jdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhMZWFkaW5nIj54bWxYUGF0aExlYWRpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTGVhZGluZ1NvcnRlZCI+eG1sWFBhdGhMZWFkaW5nU29ydGVkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aExvY2FsTmFtZUZ1bmN0aW9uIj54bWxYUGF0aExvY2FsTmFtZUZ1bmN0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE1vZFZhbHVlcyI+eG1sWFBhdGhNb2RWYWx1ZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTXVsdFZhbHVlcyI+eG1sWFBhdGhNdWx0VmFsdWVzPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE5BTiI+eG1sWFBhdGhOQU48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoTklORiI+eG1sWFBhdGhOSU5GPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5hbWVzcGFjZVVSSUZ1bmN0aW9uIj54bWxYUGF0aE5hbWVzcGFjZVVSSUZ1bmN0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5ld0Jvb2xlYW4iPnhtbFhQYXRoTmV3Qm9vbGVhbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXdDU3RyaW5nIj54bWxYUGF0aE5ld0NTdHJpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoTmV3Q29udGV4dCI+eG1sWFBhdGhOZXdDb250ZXh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5ld0Zsb2F0Ij54bWxYUGF0aE5ld0Zsb2F0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5ld05vZGVTZXQiPnhtbFhQYXRoTmV3Tm9kZVNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXdOb2RlU2V0TGlzdCI+eG1sWFBhdGhOZXdOb2RlU2V0TGlzdDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXdQYXJzZXJDb250ZXh0Ij54bWxYUGF0aE5ld1BhcnNlckNvbnRleHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV3U3RyaW5nIj54bWxYUGF0aE5ld1N0cmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXdWYWx1ZVRyZWUiPnhtbFhQYXRoTmV3VmFsdWVUcmVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHRBbmNlc3RvciI+eG1sWFBhdGhOZXh0QW5jZXN0b3I8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV4dEFuY2VzdG9yT3JTZWxmIj54bWxYUGF0aE5leHRBbmNlc3Rvck9yU2VsZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXh0QXR0cmlidXRlIj54bWxYUGF0aE5leHRBdHRyaWJ1dGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV4dENoaWxkIj54bWxYUGF0aE5leHRDaGlsZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXh0RGVzY2VuZGFudCI+eG1sWFBhdGhOZXh0RGVzY2VuZGFudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXh0RGVzY2VuZGFudE9yU2VsZiI+eG1sWFBhdGhOZXh0RGVzY2VuZGFudE9yU2VsZjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXh0Rm9sbG93aW5nIj54bWxYUGF0aE5leHRGb2xsb3dpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV4dEZvbGxvd2luZ1NpYmxpbmciPnhtbFhQYXRoTmV4dEZvbGxvd2luZ1NpYmxpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV4dE5hbWVzcGFjZSI+eG1sWFBhdGhOZXh0TmFtZXNwYWNlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHRQYXJlbnQiPnhtbFhQYXRoTmV4dFBhcmVudDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXh0UHJlY2VkaW5nIj54bWxYUGF0aE5leHRQcmVjZWRpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV4dFByZWNlZGluZ1NpYmxpbmciPnhtbFhQYXRoTmV4dFByZWNlZGluZ1NpYmxpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV4dFNlbGYiPnhtbFhQYXRoTmV4dFNlbGY8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoTm9kZUV2YWwiPnhtbFhQYXRoTm9kZUV2YWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9kZUxlYWRpbmciPnhtbFhQYXRoTm9kZUxlYWRpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9kZUxlYWRpbmdTb3J0ZWQiPnhtbFhQYXRoTm9kZUxlYWRpbmdTb3J0ZWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9kZVNldEFkZCI+eG1sWFBhdGhOb2RlU2V0QWRkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vZGVTZXRBZGROcyI+eG1sWFBhdGhOb2RlU2V0QWRkTnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9kZVNldEFkZFVuaXF1ZSI+eG1sWFBhdGhOb2RlU2V0QWRkVW5pcXVlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vZGVTZXRDb250YWlucyI+eG1sWFBhdGhOb2RlU2V0Q29udGFpbnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoTm9kZVNldENyZWF0ZSI+eG1sWFBhdGhOb2RlU2V0Q3JlYXRlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vZGVTZXREZWwiPnhtbFhQYXRoTm9kZVNldERlbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb2RlU2V0RnJlZU5zIj54bWxYUGF0aE5vZGVTZXRGcmVlTnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoTm9kZVNldEdldExlbmd0aCI+eG1sWFBhdGhOb2RlU2V0R2V0TGVuZ3RoPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE5vZGVTZXRJc0VtcHR5Ij54bWxYUGF0aE5vZGVTZXRJc0VtcHR5PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE5vZGVTZXRJdGVtIj54bWxYUGF0aE5vZGVTZXRJdGVtPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vZGVTZXRNZXJnZSI+eG1sWFBhdGhOb2RlU2V0TWVyZ2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9kZVNldFJlbW92ZSI+eG1sWFBhdGhOb2RlU2V0UmVtb3ZlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vZGVTZXRTb3J0Ij54bWxYUGF0aE5vZGVTZXRTb3J0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vZGVUcmFpbGluZyI+eG1sWFBhdGhOb2RlVHJhaWxpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9kZVRyYWlsaW5nU29ydGVkIj54bWxYUGF0aE5vZGVUcmFpbGluZ1NvcnRlZDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb3JtYWxpemVGdW5jdGlvbiI+eG1sWFBhdGhOb3JtYWxpemVGdW5jdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb3RFcXVhbFZhbHVlcyI+eG1sWFBhdGhOb3RFcXVhbFZhbHVlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb3RGdW5jdGlvbiI+eG1sWFBhdGhOb3RGdW5jdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOc0xvb2t1cCI+eG1sWFBhdGhOc0xvb2t1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOdW1iZXJGdW5jdGlvbiI+eG1sWFBhdGhOdW1iZXJGdW5jdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3QiPnhtbFhQYXRoT2JqZWN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdENvcHkiPnhtbFhQYXRoT2JqZWN0Q29weTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFR5cGUiPnhtbFhQYXRoT2JqZWN0VHlwZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPcmRlckRvY0VsZW1zIj54bWxYUGF0aE9yZGVyRG9jRWxlbXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUElORiI+eG1sWFBhdGhQSU5GPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFBhcnNlTkNOYW1lIj54bWxYUGF0aFBhcnNlTkNOYW1lPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFBhcnNlTmFtZSI+eG1sWFBhdGhQYXJzZU5hbWU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dCI+eG1sWFBhdGhQYXJzZXJDb250ZXh0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhQb3BCb29sZWFuIj54bWxYUGF0aFBvcEJvb2xlYW48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUG9wRXh0ZXJuYWwiPnhtbFhQYXRoUG9wRXh0ZXJuYWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUG9wTm9kZVNldCI+eG1sWFBhdGhQb3BOb2RlU2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFBvcE51bWJlciI+eG1sWFBhdGhQb3BOdW1iZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUG9wU3RyaW5nIj54bWxYUGF0aFBvcFN0cmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhQb3NpdGlvbkZ1bmN0aW9uIj54bWxYUGF0aFBvc2l0aW9uRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmVnaXN0ZXJBbGxGdW5jdGlvbnMiPnhtbFhQYXRoUmVnaXN0ZXJBbGxGdW5jdGlvbnM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmVnaXN0ZXJGdW5jIj54bWxYUGF0aFJlZ2lzdGVyRnVuYzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhSZWdpc3RlckZ1bmNMb29rdXAiPnhtbFhQYXRoUmVnaXN0ZXJGdW5jTG9va3VwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJlZ2lzdGVyRnVuY05TIj54bWxYUGF0aFJlZ2lzdGVyRnVuY05TPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJlZ2lzdGVyTnMiPnhtbFhQYXRoUmVnaXN0ZXJOczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlIj54bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZUxvb2t1cCI+eG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlTG9va3VwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGVOUyI+eG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlTlM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmVnaXN0ZXJlZEZ1bmNzQ2xlYW51cCI+eG1sWFBhdGhSZWdpc3RlcmVkRnVuY3NDbGVhbnVwPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJlZ2lzdGVyZWROc0NsZWFudXAiPnhtbFhQYXRoUmVnaXN0ZXJlZE5zQ2xlYW51cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhSZWdpc3RlcmVkVmFyaWFibGVzQ2xlYW51cCI+eG1sWFBhdGhSZWdpc3RlcmVkVmFyaWFibGVzQ2xlYW51cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhSZXR1cm5Cb29sZWFuIj54bWxYUGF0aFJldHVybkJvb2xlYW48L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmV0dXJuRW1wdHlOb2RlU2V0Ij54bWxYUGF0aFJldHVybkVtcHR5Tm9kZVNldDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhSZXR1cm5FbXB0eVN0cmluZyI+eG1sWFBhdGhSZXR1cm5FbXB0eVN0cmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhSZXR1cm5FeHRlcm5hbCI+eG1sWFBhdGhSZXR1cm5FeHRlcm5hbDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhSZXR1cm5GYWxzZSI+eG1sWFBhdGhSZXR1cm5GYWxzZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhSZXR1cm5Ob2RlU2V0Ij54bWxYUGF0aFJldHVybk5vZGVTZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmV0dXJuTnVtYmVyIj54bWxYUGF0aFJldHVybk51bWJlcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhSZXR1cm5TdHJpbmciPnhtbFhQYXRoUmV0dXJuU3RyaW5nPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJldHVyblRydWUiPnhtbFhQYXRoUmV0dXJuVHJ1ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhSb290Ij54bWxYUGF0aFJvb3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUm91bmRGdW5jdGlvbiI+eG1sWFBhdGhSb3VuZEZ1bmN0aW9uPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFNldEFyaXR5RXJyb3IiPnhtbFhQYXRoU2V0QXJpdHlFcnJvcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhTZXRDb250ZXh0Tm9kZSI+eG1sWFBhdGhTZXRDb250ZXh0Tm9kZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTZXRFcnJvciI+eG1sWFBhdGhTZXRFcnJvcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTZXRUeXBlRXJyb3IiPnhtbFhQYXRoU2V0VHlwZUVycm9yPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFN0YWNrSXNFeHRlcm5hbCI+eG1sWFBhdGhTdGFja0lzRXh0ZXJuYWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU3RhY2tJc05vZGVTZXQiPnhtbFhQYXRoU3RhY2tJc05vZGVTZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU3RhcnRzV2l0aEZ1bmN0aW9uIj54bWxYUGF0aFN0YXJ0c1dpdGhGdW5jdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdHJpbmdFdmFsTnVtYmVyIj54bWxYUGF0aFN0cmluZ0V2YWxOdW1iZXI8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU3RyaW5nRnVuY3Rpb24iPnhtbFhQYXRoU3RyaW5nRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU3RyaW5nTGVuZ3RoRnVuY3Rpb24iPnhtbFhQYXRoU3RyaW5nTGVuZ3RoRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU3ViVmFsdWVzIj54bWxYUGF0aFN1YlZhbHVlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdWJzdHJpbmdBZnRlckZ1bmN0aW9uIj54bWxYUGF0aFN1YnN0cmluZ0FmdGVyRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU3Vic3RyaW5nQmVmb3JlRnVuY3Rpb24iPnhtbFhQYXRoU3Vic3RyaW5nQmVmb3JlRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU3Vic3RyaW5nRnVuY3Rpb24iPnhtbFhQYXRoU3Vic3RyaW5nRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU3VtRnVuY3Rpb24iPnhtbFhQYXRoU3VtRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoVHJhaWxpbmciPnhtbFhQYXRoVHJhaWxpbmc8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoVHJhaWxpbmdTb3J0ZWQiPnhtbFhQYXRoVHJhaWxpbmdTb3J0ZWQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoVHJhbnNsYXRlRnVuY3Rpb24iPnhtbFhQYXRoVHJhbnNsYXRlRnVuY3Rpb248L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoVHJ1ZUZ1bmN0aW9uIj54bWxYUGF0aFRydWVGdW5jdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhUeXBlIj54bWxYUGF0aFR5cGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoVHlwZVB0ciI+eG1sWFBhdGhUeXBlUHRyPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFZhbHVlRmxpcFNpZ24iPnhtbFhQYXRoVmFsdWVGbGlwU2lnbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhWYXJpYWJsZSI+eG1sWFBhdGhWYXJpYWJsZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhWYXJpYWJsZUxvb2t1cCI+eG1sWFBhdGhWYXJpYWJsZUxvb2t1cDwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhWYXJpYWJsZUxvb2t1cEZ1bmMiPnhtbFhQYXRoVmFyaWFibGVMb29rdXBGdW5jPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFZhcmlhYmxlTG9va3VwTlMiPnhtbFhQYXRoVmFyaWFibGVMb29rdXBOUzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhWYXJpYWJsZVB0ciI+eG1sWFBhdGhWYXJpYWJsZVB0cjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhXcmFwQ1N0cmluZyI+eG1sWFBhdGhXcmFwQ1N0cmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhXcmFwRXh0ZXJuYWwiPnhtbFhQYXRoV3JhcEV4dGVybmFsPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFdyYXBOb2RlU2V0Ij54bWxYUGF0aFdyYXBOb2RlU2V0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFdyYXBTdHJpbmciPnhtbFhQYXRoV3JhcFN0cmluZzwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhlcnJvciI+eG1sWFBhdGhlcnJvcjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ckJ1aWxkTm9kZUxpc3QiPnhtbFhQdHJCdWlsZE5vZGVMaXN0PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyRXZhbCI+eG1sWFB0ckV2YWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJFdmFsUmFuZ2VQcmVkaWNhdGUiPnhtbFhQdHJFdmFsUmFuZ2VQcmVkaWNhdGU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJGcmVlTG9jYXRpb25TZXQiPnhtbFhQdHJGcmVlTG9jYXRpb25TZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJMb2NhdGlvblNldEFkZCI+eG1sWFB0ckxvY2F0aW9uU2V0QWRkPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyTG9jYXRpb25TZXRDcmVhdGUiPnhtbFhQdHJMb2NhdGlvblNldENyZWF0ZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ckxvY2F0aW9uU2V0RGVsIj54bWxYUHRyTG9jYXRpb25TZXREZWw8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJMb2NhdGlvblNldE1lcmdlIj54bWxYUHRyTG9jYXRpb25TZXRNZXJnZTwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ckxvY2F0aW9uU2V0UmVtb3ZlIj54bWxYUHRyTG9jYXRpb25TZXRSZW1vdmU8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJOZXdDb2xsYXBzZWRSYW5nZSI+eG1sWFB0ck5ld0NvbGxhcHNlZFJhbmdlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyTmV3Q29udGV4dCI+eG1sWFB0ck5ld0NvbnRleHQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJOZXdMb2NhdGlvblNldE5vZGVTZXQiPnhtbFhQdHJOZXdMb2NhdGlvblNldE5vZGVTZXQ8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJOZXdMb2NhdGlvblNldE5vZGVzIj54bWxYUHRyTmV3TG9jYXRpb25TZXROb2RlczwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ck5ld1JhbmdlIj54bWxYUHRyTmV3UmFuZ2U8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJOZXdSYW5nZU5vZGVPYmplY3QiPnhtbFhQdHJOZXdSYW5nZU5vZGVPYmplY3Q8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJOZXdSYW5nZU5vZGVQb2ludCI+eG1sWFB0ck5ld1JhbmdlTm9kZVBvaW50PC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyTmV3UmFuZ2VOb2RlcyI+eG1sWFB0ck5ld1JhbmdlTm9kZXM8L2E+PGJyIC8+Cis8YSBocmVmPSJodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJOZXdSYW5nZVBvaW50Tm9kZSI+eG1sWFB0ck5ld1JhbmdlUG9pbnROb2RlPC9hPjxiciAvPgorPGEgaHJlZj0iaHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyTmV3UmFuZ2VQb2ludHMiPnhtbFhQdHJOZXdSYW5nZVBvaW50czwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0clJhbmdlVG9GdW5jdGlvbiI+eG1sWFB0clJhbmdlVG9GdW5jdGlvbjwvYT48YnIgLz4KKzxhIGhyZWY9Imh0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0cldyYXBMb2NhdGlvblNldCI+eG1sWFB0cldyYXBMb2NhdGlvblNldDwvYT48YnIgLz4KKzwvcD48cD48YSBocmVmPSJidWdzLmh0bWwiPkRhbmllbCBWZWlsbGFyZDwvYT48L3A+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL0NoYW5nZUxvZy5hd2sgYi9saWJ4bWwyL2RvYy9DaGFuZ2VMb2cuYXdrCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmViMGRiMDMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9DaGFuZ2VMb2cuYXdrCkBAIC0wLDAgKzEsNDkgQEAKKyMhL2Jpbi9hd2sgLWYKK2Z1bmN0aW9uIHRyYW5zbGF0ZShzdHIpIHsKKyAgICB3aGlsZSAoc3ViKC8mLywgIiNhbXA7Iiwgc3RyKSA9PSAxKTsKKyAgICB3aGlsZSAoc3ViKC8jYW1wOy8sICJcXCZhbXA7Iiwgc3RyKSA9PSAxKTsgIyBmdW4gaXNuJ3QgaXQgPworICAgIHdoaWxlIChzdWIoLzwvLCAiXFwmbHQ7Iiwgc3RyKSA9PSAxKTsKKyAgICB3aGlsZSAoc3ViKC8+LywgIlxcJmd0OyIsIHN0cikgPT0gMSk7CisgICAgc3ViKC9bMC05XVswLTldWzAtOV1bMC05XVswLTldKy8sICI8YnVnIG51bWJlcj0nJicvPiIsIHN0cikKKyAgICByZXR1cm4oc3RyKQorfQorQkVHSU4gICAgICAgICB7IAorCQluYl9lbnRyeSA9IDAKKyAgICAgICAgICAgICAgICBpbl9lbnRyeSA9IDAKKyAgICAgICAgICAgICAgICBpbl9pdGVtID0gMAorCQlwcmludCAiPD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nSVNPLTg4NTktMSc/PiIKKwkJcHJpbnQgIjxsb2c+IgorCSAgICAgIH0KK0VORCAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGlmIChpbl9pdGVtID09IDEpICBwcmludGYoIiVzPC9pdGVtPlxuIiwgdHJhbnNsYXRlKGl0ZW0pKQorICAgICAgICAgICAgICAgIGlmIChpbl9lbnRyeSA9PSAxKSBwcmludCAiICA8L2VudHJ5PiIKKyAgICAgICAgICAgICAgICBwcmludCAiPC9sb2c+IgorCSAgICAgIH0KKy9eWyBcdF0qJC8gICAgeyBuZXh0IH0KKy9eW0EtWmEtejAtOV0vIHsgCisgICAgICAgICAgICAgICAgbWF0Y2goJDAsICJcKC4qXCkgXChbQS1aXStcKSBcKFswLTldWzAtOV1bMC05XVswLTldXCkgXCguKlwpIDxcKC4qXCk+IiwgbG9nZSkKKyAgICAgICAgICAgICAgICBpZiAoaW5faXRlbSA9PSAxKSAgcHJpbnRmKCIlczwvaXRlbT5cbiIsIHRyYW5zbGF0ZShpdGVtKSkKKyAgICAgICAgICAgICAgICBpZiAoaW5fZW50cnkgPT0gMSkgcHJpbnQgIiAgPC9lbnRyeT4iCisJCW5iX2VudHJ5ID0gbmJfZW50cnkgKyAxCisJCWlmIChuYl9lbnRyeSA+IDUwKSB7CisJCSAgICBpbl9lbnRyeSA9IDAKKwkJICAgIGluX2l0ZW0gPSAwCisJCSAgICBleGl0CisJCX0KKyAgICAgICAgICAgICAgICBpbl9lbnRyeSA9IDEKKyAgICAgICAgICAgICAgICBpbl9pdGVtID0gMAorCQlwcmludGYoIiAgPGVudHJ5IGRhdGU9JyVzJyB0aW1lem9uZT0nJXMnIHllYXI9JyVzJ1xuICAgICAgICAgd2hvPSclcycgZW1haWw9JyVzJz5cbiIsIGxvZ2VbMV0sIGxvZ2VbMl0sIGxvZ2VbM10sIGxvZ2VbNF0sIGxvZ2VbNV0pCisJICAgICAgfQorL15bIFx0XSpcKi8gICB7CisgICAgICAgICAgICAgICAgaWYgKGluX2l0ZW0gPT0gMSkgIHByaW50ZigiJXM8L2l0ZW0+XG4iLCB0cmFuc2xhdGUoaXRlbSkpCisgICAgICAgICAgICAgICAgaW5faXRlbSA9IDEKKwkJcHJpbnRmKCIgICAgPGl0ZW0+IikKKyAgICAgICAgICAgICAgICBtYXRjaCgkMCwgIlsgXHRdKi4gKlwoLipcKSIsIGxvZ2UpCisJCWl0ZW0gPSBsb2dlWzFdCisgICAgICAgICAgICAgIH0KKy9eWyBcdF0qW2EtekEtWjAtOVwjXS8gICAgeyAKKyAgICAgICAgICAgICAgICBpZiAoaW5faXRlbSA9PSAxKSB7CisJCSAgICBtYXRjaCgkMCwgIlsgXHRdKlwoLipcKVsgXHRdKiIsIGxvZ2UpCisJCSAgICBpdGVtID0gc3ByaW50ZigiJXMgJXMiLCAgaXRlbSwgbG9nZVsxXSkKKwkJfQorICAgICAgICAgICAgICB9CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9DaGFuZ2VMb2cueHNsIGIvbGlieG1sMi9kb2MvQ2hhbmdlTG9nLnhzbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MDczYmEyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvQ2hhbmdlTG9nLnhzbApAQCAtMCwwICsxLDExNyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IS0tIHRoaXMgc3R5bGVzaGVldCBidWlsZHMgdGhlIENoYW5nZUxvZy5odG1sIC0tPgorPHhzbDpzdHlsZXNoZWV0IHZlcnNpb249IjEuMCIKKyAgeG1sbnM6eHNsPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L1hTTC9UcmFuc2Zvcm0iPgorCisgIDwhLS0gSW1wb3J0IHRoZSByZXN0IG9mIHRoZSBzaXRlIHN0eWxlc2hlZXRzIC0tPgorICA8eHNsOmltcG9ydCBocmVmPSJzaXRlLnhzbCIvPgorCisgIDwhLS0gR2VuZXJhdGUgWEhUTUwtMS4wIHRyYW5zaXRpb25hbCAtLT4KKyAgPHhzbDpvdXRwdXQgbWV0aG9kPSJ4bWwiIGVuY29kaW5nPSJVVEYtOCIgaW5kZW50PSJ5ZXMiCisgICAgICBkb2N0eXBlLXB1YmxpYz0iLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iCisgICAgICBkb2N0eXBlLXN5c3RlbT0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCIvPgorCisgIDx4c2w6cGFyYW0gbmFtZT0ibW9kdWxlIj5saWJ4bWwyPC94c2w6cGFyYW0+CisKKyAgPCEtLSBUaGUgdGFibGUgb2YgY29udGVudCBmb3IgdGhlIEhUTUwgcGFnZSAtLT4KKyAgPHhzbDp2YXJpYWJsZSBuYW1lPSJtZW51X25hbWUiPkFQSSBNZW51PC94c2w6dmFyaWFibGU+CisgIDx4c2w6dmFyaWFibGUgbmFtZT0iZGV2ZWx0b2MiPgorICAgIDxmb3JtIGFjdGlvbj0iLi4vc2VhcmNoLnBocCIKKyAgICAgICAgICBlbmN0eXBlPSJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiIG1ldGhvZD0iZ2V0Ij4KKyAgICAgIDxpbnB1dCBuYW1lPSJxdWVyeSIgdHlwZT0idGV4dCIgc2l6ZT0iMjAiIHZhbHVlPSIiLz4KKyAgICAgIDxpbnB1dCBuYW1lPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNlYXJjaCAuLi4iLz4KKyAgICA8L2Zvcm0+CisgICAgPHVsPjwhLS0gc3R5bGU9Im1hcmdpbi1sZWZ0OiAtMWVtIiAtLT4KKyAgICAgIDxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIKKyAgICAgICAgICAgICBocmVmPSJ7JGhyZWZfYmFzZX1pbmRleC5odG1sIj5NYWluIE1lbnU8L2E+PC9saT4KKyAgICAgIDxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgCisgICAgICAgICAgICAgaHJlZj0ieyRocmVmX2Jhc2V9ZG9jcy5odG1sIj5EZXZlbG9wZXIgTWVudTwvYT48L2xpPgorICAgICAgPGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiAKKyAgICAgICAgICAgICBocmVmPSJ7JGhyZWZfYmFzZX1odG1sL2luZGV4Lmh0bWwiPk1vZHVsZXMgSW5kZXg8L2E+PC9saT4KKyAgICAgIDxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgCisgICAgICAgICAgICAgaHJlZj0ieyRocmVmX2Jhc2V9ZXhhbXBsZXMvaW5kZXguaHRtbCI+Q29kZSBFeGFtcGxlczwvYT48L2xpPgorICAgICAgPGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIgorICAgICAgICAgICAgIGhyZWY9ImluZGV4Lmh0bWwiPkFQSSBNZW51PC9hPjwvbGk+CisgICAgICA8bGk+PGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwiPlBhcnNlciBBUEk8L2E+PC9saT4KKyAgICAgIDxsaT48YSBocmVmPSJodG1sL2xpYnhtbC10cmVlLmh0bWwiPlRyZWUgQVBJPC9hPjwvbGk+CisgICAgICA8bGk+PGEgaHJlZj0iaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwiPlJlYWRlciBBUEk8L2E+PC9saT4KKyAgICAgIDxsaT48YSBocmVmPSJ7JGhyZWZfYmFzZX1ndWlkZWxpbmVzLmh0bWwiPlhNTCBHdWlkZWxpbmVzPC9hPjwvbGk+CisgICAgPC91bD4KKyAgPC94c2w6dmFyaWFibGU+CisKKyAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iYnVnIj4KKyAgICA8YSBocmVmPSJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD17QG51bWJlcn0iPgorICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbnVtYmVyIi8+PC9hPgorICA8L3hzbDp0ZW1wbGF0ZT4KKyAgCisgIDx4c2w6dGVtcGxhdGUgbWF0Y2g9Iml0ZW0iPgorICAgIDxsaT48eHNsOmFwcGx5LXRlbXBsYXRlcy8+PC9saT4KKyAgPC94c2w6dGVtcGxhdGU+CisKKyAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iZW50cnkiPgorICAgIAorICAgIDxwPgorICAgIDxiPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAd2hvIi8+PC9iPgorICAgICAgIDx4c2w6dGV4dD4gPC94c2w6dGV4dD4KKyAgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iQGRhdGUiLz4KKyAgICAgICA8eHNsOnRleHQ+IDwveHNsOnRleHQ+CisgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkB0aW1lem9uZSIvPgorICAgIDx1bD4KKyAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iaXRlbSIvPgorICAgIDwvdWw+CisgICAgPC9wPgorICA8L3hzbDp0ZW1wbGF0ZT4KKworICA8eHNsOnRlbXBsYXRlIG1hdGNoPSJsb2ciPgorICAgIDx4c2w6dmFyaWFibGUgbmFtZT0idGl0bGUiPkNoYW5nZUxvZyBsYXN0IGVudHJpZXMgb2YgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRtb2R1bGUiLz48L3hzbDp2YXJpYWJsZT4KKyAgICAgIDxodG1sPgorICAgICAgICA8aGVhZD4KKyAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9InN0eWxlIi8+CisJPHhzbDplbGVtZW50IG5hbWU9InRpdGxlIj4KKwkgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkdGl0bGUiLz4KKwk8L3hzbDplbGVtZW50PgorICAgICAgICA8L2hlYWQ+CisgICAgICAgIDxib2R5IGJnY29sb3I9IiM4Yjc3NjUiIHRleHQ9IiMwMDAwMDAiIGxpbms9IiNhMDYwNjAiIHZsaW5rPSIjMDAwMDAwIj4KKyAgICAgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0idGl0bGVib3giPgorCSAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0idGl0bGUiIHNlbGVjdD0iJHRpdGxlIi8+CisJICA8L3hzbDpjYWxsLXRlbXBsYXRlPgorICAgICAgICAgIDx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI0IiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPgorICAgICAgICAgICAgPHRyPgorICAgICAgICAgICAgICA8dGQgYmdjb2xvcj0iIzhiNzc2NSI+CisgICAgICAgICAgICAgICAgPHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIiB3aWR0aD0iMTAwJSI+CisgICAgICAgICAgICAgICAgICA8dHI+CisgICAgICAgICAgICAgICAgICAgIDx0ZCB2YWxpZ249InRvcCIgd2lkdGg9IjIwMCIgYmdjb2xvcj0iIzhiNzc2NSI+CisgICAgICAgICAgICAgICAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImRldmVsdG9jIi8+CisgICAgICAgICAgICAgICAgICAgIDwvdGQ+CisgICAgICAgICAgICAgICAgICAgIDx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzhiNzc2NSI+CisgICAgICAgICAgICAgICAgICAgICAgPHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSI+CisgICAgICAgICAgICAgICAgICAgICAgICA8dHI+CisgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIzIiBjZWxsc3BhY2luZz0iMSIgd2lkdGg9IjEwMCUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgYmdjb2xvcj0iI2ZmZmFjZCI+CisJCQkJICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImVudHJ5Ii8+CisJCQkJCTxwPjxhIGhyZWY9InskaHJlZl9iYXNlfWJ1Z3MuaHRtbCI+RGFuaWVsIFZlaWxsYXJkPC9hPjwvcD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CisgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KKyAgICAgICAgICAgICAgICAgICAgPC90ZD4KKyAgICAgICAgICAgICAgICAgIDwvdHI+CisgICAgICAgICAgICAgICAgPC90YWJsZT4KKyAgICAgICAgICAgICAgPC90ZD4KKyAgICAgICAgICAgIDwvdHI+CisgICAgICAgICAgPC90YWJsZT4KKyAgICAgICAgPC9ib2R5PgorICAgICAgPC9odG1sPgorICA8L3hzbDp0ZW1wbGF0ZT4KKworPC94c2w6c3R5bGVzaGVldD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL0RPTS5maWcgYi9saWJ4bWwyL2RvYy9ET00uZmlnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdhNDhhMzIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9ET00uZmlnCkBAIC0wLDAgKzEsNjQgQEAKKyNGSUcgMy4yCitMYW5kc2NhcGUKK0NlbnRlcgorSW5jaGVzCitMZXR0ZXIgIAorMTAwLjAwCitTaW5nbGUKKy0yCisxMjAwIDIKKzIgMiAwIDEgMCA3IDAgMCAtMSAwLjAwMCAwIDAgLTEgMCAwIDUKKwkgODI1IDExMjUgMjYyNSAxMTI1IDI2MjUgMzM3NSA4MjUgMzM3NSA4MjUgMTEyNQorMiAyIDAgMSAwIDcgMCAwIC0xIDAuMDAwIDAgMCAtMSAwIDAgNQorCSA0MTI1IDExMjUgNTkyNSAxMTI1IDU5MjUgMzM3NSA0MTI1IDMzNzUgNDEyNSAxMTI1CisyIDQgMCAxIDAgNyAwIDAgLTEgMC4wMDAgMCAwIDcgMCAwIDUKKwkgMjAyNSAzMDc1IDIwMjUgMTY1MCAxMDUwIDE2NTAgMTA1MCAzMDc1IDIwMjUgMzA3NQorMiAyIDAgMSAwIDcgMCAwIC0xIDAuMDAwIDAgMCAtMSAwIDAgNQorCSAxNDI1IDE4NzUgMTU3NSAxODc1IDE1NzUgMjAyNSAxNDI1IDIwMjUgMTQyNSAxODc1CisyIDIgMCAxIDAgNyAwIDAgLTEgMC4wMDAgMCAwIC0xIDAgMCA1CisJIDEyMDAgMjE3NSAxMzUwIDIxNzUgMTM1MCAyMzI1IDEyMDAgMjMyNSAxMjAwIDIxNzUKKzIgMiAwIDEgMCA3IDAgMCAtMSAwLjAwMCAwIDAgLTEgMCAwIDUKKwkgMTUwMCAyMTc1IDE2NTAgMjE3NSAxNjUwIDIzMjUgMTUwMCAyMzI1IDE1MDAgMjE3NQorMiAyIDAgMSAwIDcgMCAwIC0xIDAuMDAwIDAgMCAtMSAwIDAgNQorCSAxODAwIDIxNzUgMTk1MCAyMTc1IDE5NTAgMjMyNSAxODAwIDIzMjUgMTgwMCAyMTc1CisyIDIgMCAxIDAgNyAwIDAgLTEgMC4wMDAgMCAwIC0xIDAgMCA1CisJIDE1MDAgMjQ3NSAxNjUwIDI0NzUgMTY1MCAyNjI1IDE1MDAgMjYyNSAxNTAwIDI0NzUKKzIgMiAwIDEgMCA3IDAgMCAtMSAwLjAwMCAwIDAgLTEgMCAwIDUKKwkgMTcyNSAyNzAwIDE4NzUgMjcwMCAxODc1IDI4NTAgMTcyNSAyODUwIDE3MjUgMjcwMAorMiAyIDAgMSAwIDcgMCAwIC0xIDAuMDAwIDAgMCAtMSAwIDAgNQorCSAxMjc1IDI3MDAgMTQyNSAyNzAwIDE0MjUgMjg1MCAxMjc1IDI4NTAgMTI3NSAyNzAwCisyIDEgMCAxIDAgNyAwIDAgLTEgMC4wMDAgMCAwIC0xIDAgMCAyCisJIDE1MDAgMjAyNSAxMzUwIDIxNzUKKzIgMSAwIDEgMCA3IDAgMCAtMSAwLjAwMCAwIDAgLTEgMCAwIDIKKwkgMTUwMCAyMDI1IDE1NzUgMjE3NQorMiAxIDAgMSAwIDcgMCAwIC0xIDAuMDAwIDAgMCAtMSAwIDAgMgorCSAxNTAwIDIwMjUgMTg3NSAyMTc1CisyIDEgMCAxIDAgNyAwIDAgLTEgMC4wMDAgMCAwIC0xIDAgMCAyCisJIDE1NzUgMjMyNSAxNTc1IDI0NzUKKzIgMSAwIDEgMCA3IDAgMCAtMSAwLjAwMCAwIDAgLTEgMCAwIDIKKwkgMTY1MCAyNjI1IDE3MjUgMjcwMAorMiAxIDAgMSAwIDcgMCAwIC0xIDAuMDAwIDAgMCAtMSAwIDAgMgorCSAxNTAwIDI2MjUgMTQyNSAyNzAwCisyIDMgMCAyIDAgNyAwIDAgLTEgNi4wMDAgMCAwIC0xIDAgMCA1CisJIDI1NTAgMTcyNSAyMTc1IDE5NTAgMjE3NSAyODUwIDI1NTAgMzA3NSAyNTUwIDE3MjUKKzIgMyAwIDIgMCA3IDAgMCAtMSA2LjAwMCAwIDAgLTEgMCAwIDUKKwkgNDU3NSAxNzI1IDQyMDAgMTk1MCA0MjAwIDI4NTAgNDU3NSAzMDc1IDQ1NzUgMTcyNQorMiAyIDAgMSAwIDcgMCAwIC0xIDQuMDAwIDAgMCAtMSAwIDAgNQorCSAyNzAwIDIwMjUgNDA1MCAyMDI1IDQwNTAgMjc3NSAyNzAwIDI3NzUgMjcwMCAyMDI1CisyIDEgMCAyIDAgNyAwIDAgLTEgNi4wMDAgMCAwIC0xIDAgMCAyCisJIDUwMjUgMjAyNSA0NTc1IDIxNzUKKzIgMSAxIDIgMCA3IDAgMCAtMSA2LjAwMCAwIDAgLTEgMSAwIDMKKwkxIDEgMi4wMCAxMjAuMDAgMjQwLjAwCisJIDQ1NzUgMjE3NSA0MjAwIDIyNTAgMjAyNSAyMjUwCisyIDEgMSAyIDAgNyAwIDAgLTEgNi4wMDAgMCAwIC0xIDAgMCAzCisJIDIwMjUgMjQ3NSA0MjAwIDI0NzUgNDU3NSAyNTUwCisyIDEgMCAyIDAgNyAwIDAgLTEgNi4wMDAgMCAwIC0xIDEgMCAyCisJMSAxIDIuMDAgMTIwLjAwIDI0MC4wMAorCSA0NTc1IDI1NTAgNTAyNSAyNjI1Cis0IDAgMCAwIDAgMCAxOCAwLjAwMDAgNCAyNTUgMTE1NSAxMDUwIDgyNSBQcm9ncmFtIDFcMDAxCis0IDAgMCAwIDAgMCAxOCAwLjAwMDAgNCAyNTUgMTE1NSA0NDI1IDkwMCBQcm9ncmFtIDJcMDAxCis0IDAgMCAwIDAgMCAxOCAwLjAwMDAgNCAxOTUgNTg1IDEzNTAgMTUwMCBYTUxcMDAxCis0IDAgMCAwIDAgMCAxOCAwLjAwMDAgNCAxOTUgOTc1IDMwMDAgMzA3NSBDT1JCQVwwMDEKKzQgMCAwIDAgMCAwIDE4IDAuMDAwMCA0IDE5NSA3MzUgMzAwMCAzMzc1IE9SQml0XDAwMQorNCAwIDAgMCAwIDAgMTggMC4wMDAwIDQgMTk1IDEzOTUgMjE3NSAxNTc1IERPTSBzZXJ2ZXJcMDAxCis0IDAgMCAwIDAgMCAxOCAwLjAwMDAgNCAxOTUgMTMzNSA0MjAwIDE2NTAgRE9NIGNsaWVudFwwMDEKZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL0RPTS5naWYgYi9saWJ4bWwyL2RvYy9ET00uZ2lmCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE0NDg4MmYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9ET00uZ2lmCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL0RPTS5odG1sIGIvbGlieG1sMi9kb2MvRE9NLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWIyNTE3YwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL0RPTS5odG1sCkBAIC0wLDAgKzEsMTcgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+PGxpbmsgcmVsPSJTSE9SVENVVCBJQ09OIiBocmVmPSIvZmF2aWNvbi5pY28iIC8+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK1REIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitCT0RZIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2E7IG1hcmdpbi10b3A6IDJlbTsgbWFyZ2luLWxlZnQ6IDBlbTsgbWFyZ2luLXJpZ2h0OiAwZW19CitIMSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDIge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gzIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitBOmxpbmssIEE6dmlzaXRlZCwgQTphY3RpdmUgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB9Cis8L3N0eWxlPjx0aXRsZT5ET00gUHJpbmNpcGxlczwvdGl0bGU+PC9oZWFkPjxib2R5IGJnY29sb3I9IiM4Yjc3NjUiIHRleHQ9IiMwMDAwMDAiIGxpbms9IiNhMDYwNjAiIHZsaW5rPSIjMDAwMDAwIj48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iMTAwJSIgY2VsbHBhZGRpbmc9IjUiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIHdpZHRoPSIxMjAiPjxhIGhyZWY9Imh0dHA6Ly9zd3BhdC5mZmlpLm9yZy8iPjxpbWcgc3JjPSJlcGF0ZW50cy5wbmciIGFsdD0iQWN0aW9uIGFnYWluc3Qgc29mdHdhcmUgcGF0ZW50cyIgLz48L2E+PC90ZD48dGQgd2lkdGg9IjE4MCI+PGEgaHJlZj0iaHR0cDovL3d3dy5nbm9tZS5vcmcvIj48aW1nIHNyYz0iZ25vbWUyLnBuZyIgYWx0PSJHbm9tZTIgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvU3RhdHVzIj48aW1nIHNyYz0idzNjLnBuZyIgYWx0PSJXM0MgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy5yZWRoYXQuY29tLyI+PGltZyBzcmM9InJlZGhhdC5naWYiIGFsdD0iUmVkIEhhdCBMb2dvIiAvPjwvYT48ZGl2IGFsaWduPSJsZWZ0Ij48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvIj48aW1nIHNyYz0iTGlieG1sMi1Mb2dvLTE4MHgxNjguZ2lmIiBhbHQ9Ik1hZGUgd2l0aCBMaWJ4bWwyIExvZ28iIC8+PC9hPjwvZGl2PjwvdGQ+PHRkPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSI5MCUiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIiBiZ2NvbG9yPSIjZmZmYWNkIj48dHI+PHRkIGFsaWduPSJjZW50ZXIiPjxoMT5UaGUgWE1MIEMgcGFyc2VyIGFuZCB0b29sa2l0IG9mIEdub21lPC9oMT48aDI+RE9NIFByaW5jaXBsZXM8L2gyPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI0IiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCB2YWxpZ249InRvcCIgd2lkdGg9IjIwMCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+RGV2ZWxvcGVyIE1lbnU8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PGZvcm0gYWN0aW9uPSJzZWFyY2gucGhwIiBlbmN0eXBlPSJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiIG1ldGhvZD0iZ2V0Ij48aW5wdXQgbmFtZT0icXVlcnkiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iIiAvPjxpbnB1dCBuYW1lPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNlYXJjaCAuLi4iIC8+PC9mb3JtPjx1bD48bGk+PGEgaHJlZj0iaW5kZXguaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPk1haW4gTWVudTwvYT48L2xpPjxsaT48YSBocmVmPSJodG1sL2luZGV4Lmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5SZWZlcmVuY2UgTWFudWFsPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImV4YW1wbGVzL2luZGV4Lmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5Db2RlIEV4YW1wbGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imd1aWRlbGluZXMuaHRtbCI+WE1MIEd1aWRlbGluZXM8L2E+PC9saT48bGk+PGEgaHJlZj0idHV0b3JpYWwvaW5kZXguaHRtbCI+VHV0b3JpYWw8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1scmVhZGVyLmh0bWwiPlRoZSBSZWFkZXIgSW50ZXJmYWNlPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkNoYW5nZUxvZy5odG1sIj5DaGFuZ2VMb2c8L2E+PC9saT48bGk+PGEgaHJlZj0iWFNMVC5odG1sIj5YU0xUPC9hPjwvbGk+PGxpPjxhIGhyZWY9InB5dGhvbi5odG1sIj5QeXRob24gYW5kIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImFyY2hpdGVjdHVyZS5odG1sIj5saWJ4bWwyIGFyY2hpdGVjdHVyZTwvYT48L2xpPjxsaT48YSBocmVmPSJ0cmVlLmh0bWwiPlRoZSB0cmVlIG91dHB1dDwvYT48L2xpPjxsaT48YSBocmVmPSJpbnRlcmZhY2UuaHRtbCI+VGhlIFNBWCBpbnRlcmZhY2U8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1sbWVtLmh0bWwiPk1lbW9yeSBNYW5hZ2VtZW50PC9hPjwvbGk+PGxpPjxhIGhyZWY9InhtbGlvLmh0bWwiPkkvTyBJbnRlcmZhY2VzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnJhcnkuaHRtbCI+VGhlIHBhcnNlciBpbnRlcmZhY2VzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImVudGl0aWVzLmh0bWwiPkVudGl0aWVzIG9yIG5vIGVudGl0aWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Im5hbWVzcGFjZXMuaHRtbCI+TmFtZXNwYWNlczwvYT48L2xpPjxsaT48YSBocmVmPSJ1cGdyYWRlLmh0bWwiPlVwZ3JhZGluZyAxLnggY29kZTwvYT48L2xpPjxsaT48YSBocmVmPSJ0aHJlYWRzLmh0bWwiPlRocmVhZCBzYWZldHk8L2E+PC9saT48bGk+PGEgaHJlZj0iRE9NLmh0bWwiPkRPTSBQcmluY2lwbGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImV4YW1wbGUuaHRtbCI+QSByZWFsIGV4YW1wbGU8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1sLmh0bWwiPmZsYXQgcGFnZTwvYT4sIDxhIGhyZWY9InNpdGUueHNsIj5zdHlsZXNoZWV0PC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+QVBJIEluZGV4ZXM8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSJBUEljaHVuazAuaHRtbCI+QWxwaGFiZXRpYzwvYT48L2xpPjxsaT48YSBocmVmPSJBUEljb25zdHJ1Y3RvcnMuaHRtbCI+Q29uc3RydWN0b3JzPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkFQSWZ1bmN0aW9ucy5odG1sIj5GdW5jdGlvbnMvVHlwZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iQVBJZmlsZXMuaHRtbCI+TW9kdWxlczwvYT48L2xpPjxsaT48YSBocmVmPSJBUElzeW1ib2xzLmh0bWwiPlN5bWJvbHM8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5SZWxhdGVkIGxpbmtzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iaHR0cDovL21haWwuZ25vbWUub3JnL2FyY2hpdmVzL3htbC8iPk1haWwgYXJjaGl2ZTwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvWFNMVC8iPlhTTFQgbGlieHNsdDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vcGhkLmNzLnVuaWJvLml0L2dkb21lMi8iPkRPTSBnZG9tZTI8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5hbGVrc2V5LmNvbS94bWxzZWMvIj5YTUwtRFNpZyB4bWxzZWM8L2E+PC9saT48bGk+PGEgaHJlZj0iZnRwOi8veG1sc29mdC5vcmcvIj5GVFA8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56bGF0a292aWMuY29tL3Byb2plY3RzL2xpYnhtbC8iPldpbmRvd3MgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL29wZW5jc3cub3JnL3BhY2thZ2VzL2xpYnhtbDIiPlNvbGFyaXMgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5leHBsYWluLmNvbS5hdS9vc3MvbGlieG1sMnhzbHQuaHRtbCI+TWFjT3NYIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9seG1sLmRlLyI+bHhtbCBQeXRob24gYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2NwYW4udXdpbm5pcGVnLmNhL2Rpc3QvWE1MLUxpYlhNTCI+UGVybCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1scGx1c3BsdXMuc291cmNlZm9yZ2UubmV0LyI+QysrIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemVuZC5jb20vcGhwNS9hcnRpY2xlcy9waHA1LXhtbHBocC5waHAjSGVhZGluZzQiPlBIUCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2xpYnhtbDItcGFzLyI+UGFzY2FsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWwucnVieWZvcmdlLm9yZy8iPlJ1YnkgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3RjbHhtbC5zb3VyY2Vmb3JnZS5uZXQvIj5UY2wgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9idWdsaXN0LmNnaT9wcm9kdWN0PWxpYnhtbDIiPkJ1ZyBUcmFja2VyPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIzIiBjZWxsc3BhY2luZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHA+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvRE9NLyI+RE9NPC9hPiBzdGFuZHMgZm9yIHRoZSA8ZW0+RG9jdW1lbnQKK09iamVjdCBNb2RlbDwvZW0+OyB0aGlzIGlzIGFuIEFQSSBmb3IgYWNjZXNzaW5nIFhNTCBvciBIVE1MIHN0cnVjdHVyZWQKK2RvY3VtZW50cy4gTmF0aXZlIHN1cHBvcnQgZm9yIERPTSBpbiBHbm9tZSBpcyBvbiB0aGUgd2F5IChtb2R1bGUgZ25vbWUtZG9tKSwKK2FuZCB3aWxsIGJlIGJhc2VkIG9uIGdub21lLXhtbC4gVGhpcyB3aWxsIGJlIGEgZmFyIGNsZWFuZXIgaW50ZXJmYWNlIHRvCittYW5pcHVsYXRlIFhNTCBmaWxlcyB3aXRoaW4gR25vbWUgc2luY2UgaXQgd29uJ3QgZXhwb3NlIHRoZSBpbnRlcm5hbAorc3RydWN0dXJlLjwvcD48cD5UaGUgY3VycmVudCBET00gaW1wbGVtZW50YXRpb24gb24gdG9wIG9mIGxpYnhtbDIgaXMgdGhlIDxhIGhyZWY9Imh0dHA6Ly9zdm4uZ25vbWUub3JnL3ZpZXd2Yy9nZG9tZTIvdHJ1bmsvIj5nZG9tZTIgR25vbWUgbW9kdWxlPC9hPiwgdGhpcworaXMgYSBmdWxsIERPTSBpbnRlcmZhY2UsIHRoYW5rcyB0byBQYW9sbyBDYXNhcmluaSwgY2hlY2sgdGhlIDxhIGhyZWY9Imh0dHA6Ly9nZG9tZTIuY3MudW5pYm8uaXQvIj5HZG9tZTIgaG9tZXBhZ2U8L2E+IGZvciBtb3JlCitpbmZvcm1hdGlvbi48L3A+PHA+PGEgaHJlZj0iYnVncy5odG1sIj5EYW5pZWwgVmVpbGxhcmQ8L2E+PC9wPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9GQVEuaHRtbCBiL2xpYnhtbDIvZG9jL0ZBUS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM0ODFjMTkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9GQVEuaHRtbApAQCAtMCwwICsxLDI5OSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIj4KKzxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj48aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz48bGluayByZWw9IlNIT1JUQ1VUIElDT04iIGhyZWY9Ii9mYXZpY29uLmljbyIgLz48c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorVEQge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0JPRFkge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYTsgbWFyZ2luLXRvcDogMmVtOyBtYXJnaW4tbGVmdDogMGVtOyBtYXJnaW4tcmlnaHQ6IDBlbX0KK0gxIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMiB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDMge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0E6bGluaywgQTp2aXNpdGVkLCBBOmFjdGl2ZSB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIH0KKzwvc3R5bGU+PHRpdGxlPkZBUTwvdGl0bGU+PC9oZWFkPjxib2R5IGJnY29sb3I9IiM4Yjc3NjUiIHRleHQ9IiMwMDAwMDAiIGxpbms9IiNhMDYwNjAiIHZsaW5rPSIjMDAwMDAwIj48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iMTAwJSIgY2VsbHBhZGRpbmc9IjUiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIHdpZHRoPSIxMjAiPjxhIGhyZWY9Imh0dHA6Ly9zd3BhdC5mZmlpLm9yZy8iPjxpbWcgc3JjPSJlcGF0ZW50cy5wbmciIGFsdD0iQWN0aW9uIGFnYWluc3Qgc29mdHdhcmUgcGF0ZW50cyIgLz48L2E+PC90ZD48dGQgd2lkdGg9IjE4MCI+PGEgaHJlZj0iaHR0cDovL3d3dy5nbm9tZS5vcmcvIj48aW1nIHNyYz0iZ25vbWUyLnBuZyIgYWx0PSJHbm9tZTIgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvU3RhdHVzIj48aW1nIHNyYz0idzNjLnBuZyIgYWx0PSJXM0MgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy5yZWRoYXQuY29tLyI+PGltZyBzcmM9InJlZGhhdC5naWYiIGFsdD0iUmVkIEhhdCBMb2dvIiAvPjwvYT48ZGl2IGFsaWduPSJsZWZ0Ij48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvIj48aW1nIHNyYz0iTGlieG1sMi1Mb2dvLTE4MHgxNjguZ2lmIiBhbHQ9Ik1hZGUgd2l0aCBMaWJ4bWwyIExvZ28iIC8+PC9hPjwvZGl2PjwvdGQ+PHRkPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSI5MCUiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIiBiZ2NvbG9yPSIjZmZmYWNkIj48dHI+PHRkIGFsaWduPSJjZW50ZXIiPjxoMT5UaGUgWE1MIEMgcGFyc2VyIGFuZCB0b29sa2l0IG9mIEdub21lPC9oMT48aDI+RkFRPC9oMj48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iNCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiIgd2lkdGg9IjEwMCUiPjx0cj48dGQgdmFsaWduPSJ0b3AiIHdpZHRoPSIyMDAiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPk1haW4gTWVudTwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48Zm9ybSBhY3Rpb249InNlYXJjaC5waHAiIGVuY3R5cGU9ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIgbWV0aG9kPSJnZXQiPjxpbnB1dCBuYW1lPSJxdWVyeSIgdHlwZT0idGV4dCIgc2l6ZT0iMjAiIHZhbHVlPSIiIC8+PGlucHV0IG5hbWU9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU2VhcmNoIC4uLiIgLz48L2Zvcm0+PHVsPjxsaT48YSBocmVmPSJpbmRleC5odG1sIj5Ib21lPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0bWwvaW5kZXguaHRtbCI+UmVmZXJlbmNlIE1hbnVhbDwvYT48L2xpPjxsaT48YSBocmVmPSJpbnRyby5odG1sIj5JbnRyb2R1Y3Rpb248L2E+PC9saT48bGk+PGEgaHJlZj0iRkFRLmh0bWwiPkZBUTwvYT48L2xpPjxsaT48YSBocmVmPSJkb2NzLmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5EZXZlbG9wZXIgTWVudTwvYT48L2xpPjxsaT48YSBocmVmPSJidWdzLmh0bWwiPlJlcG9ydGluZyBidWdzIGFuZCBnZXR0aW5nIGhlbHA8L2E+PC9saT48bGk+PGEgaHJlZj0iaGVscC5odG1sIj5Ib3cgdG8gaGVscDwvYT48L2xpPjxsaT48YSBocmVmPSJkb3dubG9hZHMuaHRtbCI+RG93bmxvYWRzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Im5ld3MuaHRtbCI+UmVsZWFzZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iWE1MaW5mby5odG1sIj5YTUw8L2E+PC9saT48bGk+PGEgaHJlZj0iWFNMVC5odG1sIj5YU0xUPC9hPjwvbGk+PGxpPjxhIGhyZWY9InhtbGR0ZC5odG1sIj5WYWxpZGF0aW9uICZhbXA7IERURHM8L2E+PC9saT48bGk+PGEgaHJlZj0iZW5jb2RpbmcuaHRtbCI+RW5jb2RpbmdzIHN1cHBvcnQ8L2E+PC9saT48bGk+PGEgaHJlZj0iY2F0YWxvZy5odG1sIj5DYXRhbG9nIHN1cHBvcnQ8L2E+PC9saT48bGk+PGEgaHJlZj0ibmFtZXNwYWNlcy5odG1sIj5OYW1lc3BhY2VzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImNvbnRyaWJzLmh0bWwiPkNvbnRyaWJ1dGlvbnM8L2E+PC9saT48bGk+PGEgaHJlZj0iZXhhbXBsZXMvaW5kZXguaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPkNvZGUgRXhhbXBsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHRtbC9pbmRleC5odG1sIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+QVBJIE1lbnU8L2E+PC9saT48bGk+PGEgaHJlZj0iZ3VpZGVsaW5lcy5odG1sIj5YTUwgR3VpZGVsaW5lczwvYT48L2xpPjxsaT48YSBocmVmPSJDaGFuZ2VMb2cuaHRtbCI+UmVjZW50IENoYW5nZXM8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5SZWxhdGVkIGxpbmtzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iaHR0cDovL21haWwuZ25vbWUub3JnL2FyY2hpdmVzL3htbC8iPk1haWwgYXJjaGl2ZTwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvWFNMVC8iPlhTTFQgbGlieHNsdDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vcGhkLmNzLnVuaWJvLml0L2dkb21lMi8iPkRPTSBnZG9tZTI8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5hbGVrc2V5LmNvbS94bWxzZWMvIj5YTUwtRFNpZyB4bWxzZWM8L2E+PC9saT48bGk+PGEgaHJlZj0iZnRwOi8veG1sc29mdC5vcmcvIj5GVFA8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56bGF0a292aWMuY29tL3Byb2plY3RzL2xpYnhtbC8iPldpbmRvd3MgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL29wZW5jc3cub3JnL3BhY2thZ2VzL2xpYnhtbDIiPlNvbGFyaXMgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5leHBsYWluLmNvbS5hdS9vc3MvbGlieG1sMnhzbHQuaHRtbCI+TWFjT3NYIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9seG1sLmRlLyI+bHhtbCBQeXRob24gYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2NwYW4udXdpbm5pcGVnLmNhL2Rpc3QvWE1MLUxpYlhNTCI+UGVybCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1scGx1c3BsdXMuc291cmNlZm9yZ2UubmV0LyI+QysrIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemVuZC5jb20vcGhwNS9hcnRpY2xlcy9waHA1LXhtbHBocC5waHAjSGVhZGluZzQiPlBIUCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2xpYnhtbDItcGFzLyI+UGFzY2FsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWwucnVieWZvcmdlLm9yZy8iPlJ1YnkgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3RjbHhtbC5zb3VyY2Vmb3JnZS5uZXQvIj5UY2wgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9idWdsaXN0LmNnaT9wcm9kdWN0PWxpYnhtbDIiPkJ1ZyBUcmFja2VyPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIzIiBjZWxsc3BhY2luZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHA+VGFibGUgb2YgQ29udGVudHM6PC9wPjx1bD4KKyAgPGxpPjxhIGhyZWY9IkZBUS5odG1sI0xpY2Vuc2UiPkxpY2Vuc2Uocyk8L2E+PC9saT4KKyAgPGxpPjxhIGhyZWY9IkZBUS5odG1sI0luc3RhbGxhdGkiPkluc3RhbGxhdGlvbjwvYT48L2xpPgorICA8bGk+PGEgaHJlZj0iRkFRLmh0bWwjQ29tcGlsYXRpbyI+Q29tcGlsYXRpb248L2E+PC9saT4KKyAgPGxpPjxhIGhyZWY9IkZBUS5odG1sI0RldmVsb3BlciI+RGV2ZWxvcGVyIGNvcm5lcjwvYT48L2xpPgorPC91bD48aDM+PGEgbmFtZT0iTGljZW5zZSIgaWQ9IkxpY2Vuc2UiPkxpY2Vuc2U8L2E+KHMpPC9oMz48b2w+CisgIDxsaT48ZW0+TGljZW5zaW5nIFRlcm1zIGZvciBsaWJ4bWw8L2VtPgorICAgIDxwPmxpYnhtbDIgaXMgcmVsZWFzZWQgdW5kZXIgdGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UuaHRtbCI+TUlUCisgICAgTGljZW5zZTwvYT47IHNlZSB0aGUgZmlsZSBDb3B5cmlnaHQgaW4gdGhlIGRpc3RyaWJ1dGlvbiBmb3IgdGhlIHByZWNpc2UKKyAgICB3b3JkaW5nPC9wPgorICA8L2xpPgorICA8bGk+PGVtPkNhbiBJIGVtYmVkIGxpYnhtbDIgaW4gYSBwcm9wcmlldGFyeSBhcHBsaWNhdGlvbiA/PC9lbT4KKyAgICA8cD5ZZXMuIFRoZSBNSVQgTGljZW5zZSBhbGxvd3MgeW91IHRvIGtlZXAgcHJvcHJpZXRhcnkgdGhlIGNoYW5nZXMgeW91CisgICAgbWFkZSB0byBsaWJ4bWwsIGJ1dCBpdCB3b3VsZCBiZSBncmFjZWZ1bCB0byBzZW5kLWJhY2sgYnVnIGZpeGVzIGFuZAorICAgIGltcHJvdmVtZW50cyBhcyBwYXRjaGVzIGZvciBwb3NzaWJsZSBpbmNvcnBvcmF0aW9uIGluIHRoZSBtYWluCisgICAgZGV2ZWxvcG1lbnQgdHJlZS48L3A+CisgIDwvbGk+Cis8L29sPjxoMz48YSBuYW1lPSJJbnN0YWxsYXRpIiBpZD0iSW5zdGFsbGF0aSI+SW5zdGFsbGF0aW9uPC9hPjwvaDM+PG9sPgorICA8bGk+PHN0cm9uZz48c3BhbiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogI0ZGMDAwMCI+RG8gTm90IFVzZQorICAgIGxpYnhtbDE8L3NwYW4+PC9zdHJvbmc+LCB1c2UgbGlieG1sMjwvbGk+CisgIDxwPjwvcD4KKyAgPGxpPjxlbT5XaGVyZSBjYW4gSSBnZXQgbGlieG1sPC9lbT4gPworICAgIDxwPlRoZSBvcmlnaW5hbCBkaXN0cmlidXRpb24gY29tZXMgZnJvbSA8YSBocmVmPSJmdHA6Ly94bWxzb2Z0Lm9yZy9saWJ4bWwyLyI+eG1sc29mdC5vcmc8L2E+IG9yIDxhIGhyZWY9ImZ0cDovL2Z0cC5nbm9tZS5vcmcvcHViL0dOT01FL3NvdXJjZXMvbGlieG1sMi8yLjYvIj5nbm9tZS5vcmc8L2E+PC9wPgorICAgIDxwPk1vc3QgTGludXggYW5kIEJTRCBkaXN0cmlidXRpb25zIGluY2x1ZGUgbGlieG1sLCB0aGlzIGlzIHByb2JhYmx5IHRoZQorICAgIHNhZmVyIHdheSBmb3IgZW5kLXVzZXJzIHRvIHVzZSBsaWJ4bWwuPC9wPgorICAgIDxwPkRhdmlkIERvb2xpbiBwcm92aWRlcyBwcmVjb21waWxlZCBXaW5kb3dzIHZlcnNpb25zIGF0IDxhIGhyZWY9Imh0dHA6Ly93d3cuY2UuYmVya2VsZXkuZWR1L35kb29saW4vY29kZS9saWJ4bWx3aW4zMi8gICAgICAgICAiPmh0dHA6Ly93d3cuY2UuYmVya2VsZXkuZWR1L35kb29saW4vY29kZS9saWJ4bWx3aW4zMi88L2E+PC9wPgorICA8L2xpPgorICA8cD48L3A+CisgIDxsaT48ZW0+SSBzZWUgbGlieG1sIGFuZCBsaWJ4bWwyIHJlbGVhc2VzLCB3aGljaCBvbmUgc2hvdWxkIEkgaW5zdGFsbCA/PC9lbT4KKyAgICA8dWw+CisgICAgICA8bGk+SWYgeW91IGFyZSBub3QgY29uc3RyYWluZWQgYnkgYmFja3dhcmQgY29tcGF0aWJpbGl0eSBpc3N1ZXMgd2l0aAorICAgICAgICBleGlzdGluZyBhcHBsaWNhdGlvbnMsIGluc3RhbGwgbGlieG1sMiBvbmx5PC9saT4KKyAgICAgIDxsaT5JZiB5b3UgYXJlIG5vdCBkb2luZyBkZXZlbG9wbWVudCwgeW91IGNhbiBzYWZlbHkgaW5zdGFsbCBib3RoLgorICAgICAgICBVc3VhbGx5IHRoZSBwYWNrYWdlcyA8YSBocmVmPSJodHRwOi8vcnBtZmluZC5uZXQvbGludXgvUlBNL2xpYnhtbC5odG1sIj5saWJ4bWw8L2E+IGFuZCA8YSBocmVmPSJodHRwOi8vcnBtZmluZC5uZXQvbGludXgvUlBNL2xpYnhtbDIuaHRtbCI+bGlieG1sMjwvYT4gYXJlCisgICAgICAgIGNvbXBhdGlibGUgKHRoaXMgaXMgbm90IHRoZSBjYXNlIGZvciBkZXZlbG9wbWVudCBwYWNrYWdlcykuPC9saT4KKyAgICAgIDxsaT5JZiB5b3UgYXJlIGEgZGV2ZWxvcGVyIGFuZCB5b3VyIHN5c3RlbSBwcm92aWRlcyBzZXBhcmF0ZSBwYWNrYWdpbmcKKyAgICAgICAgZm9yIHNoYXJlZCBsaWJyYXJpZXMgYW5kIHRoZSBkZXZlbG9wbWVudCBjb21wb25lbnRzLCBpdCBpcyBwb3NzaWJsZQorICAgICAgICB0byBpbnN0YWxsIGxpYnhtbCBhbmQgbGlieG1sMiwgYW5kIGFsc28gPGEgaHJlZj0iaHR0cDovL3JwbWZpbmQubmV0L2xpbnV4L1JQTS9saWJ4bWwtZGV2ZWwuaHRtbCI+bGlieG1sLWRldmVsPC9hPgorICAgICAgICBhbmQgPGEgaHJlZj0iaHR0cDovL3JwbWZpbmQubmV0L2xpbnV4L1JQTS9saWJ4bWwyLWRldmVsLmh0bWwiPmxpYnhtbDItZGV2ZWw8L2E+CisgICAgICAgIHRvbyBmb3IgbGlieG1sMiAmZ3Q7PSAyLjMuMDwvbGk+CisgICAgICA8bGk+SWYgeW91IGFyZSBkZXZlbG9waW5nIGEgbmV3IGFwcGxpY2F0aW9uLCBwbGVhc2UgZGV2ZWxvcCBhZ2FpbnN0CisgICAgICAgIGxpYnhtbDIoLWRldmVsKTwvbGk+CisgICAgPC91bD4KKyAgPC9saT4KKyAgPGxpPjxlbT5JIGNhbid0IGluc3RhbGwgdGhlIGxpYnhtbCBwYWNrYWdlLCBpdCBjb25mbGljdHMgd2l0aCBsaWJ4bWwwPC9lbT4KKyAgICA8cD5Zb3UgcHJvYmFibHkgaGF2ZSBhbiBvbGQgbGlieG1sMCBwYWNrYWdlIHVzZWQgdG8gcHJvdmlkZSB0aGUgc2hhcmVkCisgICAgbGlicmFyeSBmb3IgbGlieG1sLnNvLjAsIHlvdSBjYW4gcHJvYmFibHkgc2FmZWx5IHJlbW92ZSBpdC4gVGhlIGxpYnhtbAorICAgIHBhY2thZ2VzIHByb3ZpZGVkIG9uIDxhIGhyZWY9ImZ0cDovL3htbHNvZnQub3JnL2xpYnhtbDIvIj54bWxzb2Z0Lm9yZzwvYT4gcHJvdmlkZQorICAgIGxpYnhtbC5zby4wPC9wPgorICA8L2xpPgorICA8bGk+PGVtPkkgY2FuJ3QgaW5zdGFsbCB0aGUgbGlieG1sKDIpIFJQTSBwYWNrYWdlIGR1ZSB0byBmYWlsZWQKKyAgICBkZXBlbmRlbmNpZXM8L2VtPgorICAgIDxwPlRoZSBtb3N0IGdlbmVyaWMgc29sdXRpb24gaXMgdG8gcmUtZmV0Y2ggdGhlIGxhdGVzdCBzcmMucnBtICwgYW5kCisgICAgcmVidWlsZCBpdCBsb2NhbGx5IHdpdGg8L3A+CisgICAgPHA+PGNvZGU+cnBtIC0tcmVidWlsZCBsaWJ4bWwoMikteHh4LnNyYy5ycG08L2NvZGU+LjwvcD4KKyAgICA8cD5JZiBldmVyeXRoaW5nIGdvZXMgd2VsbCBpdCB3aWxsIGdlbmVyYXRlIHR3byBiaW5hcnkgcnBtIHBhY2thZ2VzIChvbmUKKyAgICBwcm92aWRpbmcgdGhlIHNoYXJlZCBsaWJzIGFuZCB4bWxsaW50LCBhbmQgdGhlIG90aGVyIG9uZSwgdGhlIC1kZXZlbAorICAgIHBhY2thZ2UsIHByb3ZpZGluZyBpbmNsdWRlcywgc3RhdGljIGxpYnJhcmllcyBhbmQgc2NyaXB0cyBuZWVkZWQgdG8gYnVpbGQKKyAgICBhcHBsaWNhdGlvbnMgd2l0aCBsaWJ4bWwoMikpIHRoYXQgeW91IGNhbiBpbnN0YWxsIGxvY2FsbHkuPC9wPgorICA8L2xpPgorPC9vbD48aDM+PGEgbmFtZT0iQ29tcGlsYXRpbyIgaWQ9IkNvbXBpbGF0aW8iPkNvbXBpbGF0aW9uPC9hPjwvaDM+PG9sPgorICA8bGk+PGVtPldoYXQgaXMgdGhlIHByb2Nlc3MgdG8gY29tcGlsZSBsaWJ4bWwyID88L2VtPgorICAgIDxwPkFzIG1vc3QgVU5JWCBsaWJyYXJpZXMgbGlieG1sMiBmb2xsb3dzIHRoZSAic3RhbmRhcmQiOjwvcD4KKyAgICA8cD48Y29kZT5ndW56aXAgLWMgeHh4LnRhci5neiB8IHRhciB4dmYgLTwvY29kZT48L3A+CisgICAgPHA+PGNvZGU+Y2QgbGlieG1sLXh4eHg8L2NvZGU+PC9wPgorICAgIDxwPjxjb2RlPi4vY29uZmlndXJlIC0taGVscDwvY29kZT48L3A+CisgICAgPHA+dG8gc2VlIHRoZSBvcHRpb25zLCB0aGVuIHRoZSBjb21waWxhdGlvbi9pbnN0YWxsYXRpb24gcHJvcGVyPC9wPgorICAgIDxwPjxjb2RlPi4vY29uZmlndXJlIFtwb3NzaWJsZSBvcHRpb25zXTwvY29kZT48L3A+CisgICAgPHA+PGNvZGU+bWFrZTwvY29kZT48L3A+CisgICAgPHA+PGNvZGU+bWFrZSBpbnN0YWxsPC9jb2RlPjwvcD4KKyAgICA8cD5BdCB0aGF0IHBvaW50IHlvdSBtYXkgaGF2ZSB0byByZXJ1biBsZGNvbmZpZyBvciBhIHNpbWlsYXIgdXRpbGl0eSB0bworICAgIHVwZGF0ZSB5b3VyIGxpc3Qgb2YgaW5zdGFsbGVkIHNoYXJlZCBsaWJzLjwvcD4KKyAgPC9saT4KKyAgPGxpPjxlbT5XaGF0IG90aGVyIGxpYnJhcmllcyBhcmUgbmVlZGVkIHRvIGNvbXBpbGUvaW5zdGFsbCBsaWJ4bWwyID88L2VtPgorICAgIDxwPkxpYnhtbDIgZG9lcyBub3QgcmVxdWlyZSBhbnkgb3RoZXIgbGlicmFyeSwgdGhlIG5vcm1hbCBDIEFOU0kgQVBJCisgICAgc2hvdWxkIGJlIHN1ZmZpY2llbnQgKHBsZWFzZSByZXBvcnQgYW55IHZpb2xhdGlvbiB0byB0aGlzIHJ1bGUgeW91IG1heQorICAgIGZpbmQpLjwvcD4KKyAgICA8cD5Ib3dldmVyIGlmIGZvdW5kIGF0IGNvbmZpZ3VyYXRpb24gdGltZSBsaWJ4bWwyIHdpbGwgZGV0ZWN0IGFuZCB1c2UgdGhlCisgICAgZm9sbG93aW5nIGxpYnM6PC9wPgorICAgIDx1bD4KKyAgICAgIDxsaT48YSBocmVmPSJodHRwOi8vd3d3LmluZm8temlwLm9yZy9wdWIvaW5mb3ppcC96bGliLyI+bGliejwvYT4gOiBhCisgICAgICAgIGhpZ2hseSBwb3J0YWJsZSBhbmQgYXZhaWxhYmxlIHdpZGVseSBjb21wcmVzc2lvbiBsaWJyYXJ5LjwvbGk+CisgICAgICA8bGk+aWNvbnY6IGEgcG93ZXJmdWwgY2hhcmFjdGVyIGVuY29kaW5nIGNvbnZlcnNpb24gbGlicmFyeS4gSXQgaXMKKyAgICAgICAgaW5jbHVkZWQgYnkgZGVmYXVsdCBpbiByZWNlbnQgZ2xpYmMgbGlicmFyaWVzLCBzbyBpdCBkb2Vzbid0IG5lZWQgdG8KKyAgICAgICAgYmUgaW5zdGFsbGVkIHNwZWNpZmljYWxseSBvbiBMaW51eC4gSXQgbm93IHNlZW1zIGEgPGEgaHJlZj0iaHR0cDovL3d3dy5vcGVubmMub3JnL29ubGluZXB1YnMvNzkwODc5OS94c2gvaWNvbnYuaHRtbCI+cGFydAorICAgICAgICBvZiB0aGUgb2ZmaWNpYWwgVU5JWDwvYT4gc3BlY2lmaWNhdGlvbi4gSGVyZSBpcyBvbmUgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2xpYmljb252LyI+aW1wbGVtZW50YXRpb24gb2YgdGhlCisgICAgICAgIGxpYnJhcnk8L2E+IHdoaWNoIHNvdXJjZSBjYW4gYmUgZm91bmQgPGEgaHJlZj0iZnRwOi8vZnRwLmlsb2cuZnIvcHViL1VzZXJzL2hhaWJsZS9nbnUvIj5oZXJlPC9hPi48L2xpPgorICAgIDwvdWw+CisgIDwvbGk+CisgIDxwPjwvcD4KKyAgPGxpPjxlbT5NYWtlIGNoZWNrIGZhaWxzIG9uIHNvbWUgcGxhdGZvcm1zPC9lbT4KKyAgICA8cD5Tb21ldGltZXMgdGhlIHJlZ3Jlc3Npb24gdGVzdHMnIHJlc3VsdHMgZG9uJ3QgY29tcGxldGVseSBtYXRjaCB0aGUKKyAgICB2YWx1ZSBwcm9kdWNlZCBieSB0aGUgcGFyc2VyLCBhbmQgdGhlIG1ha2VmaWxlIHVzZXMgZGlmZiB0byBwcmludCB0aGUKKyAgICBkZWx0YS4gT24gc29tZSBwbGF0Zm9ybXMgdGhlIGRpZmYgcmV0dXJuIGJyZWFrcyB0aGUgY29tcGlsYXRpb24gcHJvY2VzczsKKyAgICBpZiB0aGUgZGlmZiBpcyBzbWFsbCB0aGlzIGlzIHByb2JhYmx5IG5vdCBhIHNlcmlvdXMgcHJvYmxlbS48L3A+CisgICAgPHA+U29tZXRpbWVzIChlc3BlY2lhbGx5IG9uIFNvbGFyaXMpIG1ha2UgY2hlY2tzIGZhaWwgZHVlIHRvIGxpbWl0YXRpb25zCisgICAgaW4gbWFrZS4gVHJ5IHVzaW5nIEdOVS1tYWtlIGluc3RlYWQuPC9wPgorICA8L2xpPgorICA8bGk+PGVtPkkgdXNlIHRoZSBTVk4gdmVyc2lvbiBhbmQgdGhlcmUgaXMgbm8gY29uZmlndXJlIHNjcmlwdDwvZW0+CisgICAgPHA+VGhlIGNvbmZpZ3VyZSBzY3JpcHQgKGFuZCBvdGhlciBNYWtlZmlsZXMpIGFyZSBnZW5lcmF0ZWQuIFVzZSB0aGUKKyAgICBhdXRvZ2VuLnNoIHNjcmlwdCB0byByZWdlbmVyYXRlIHRoZSBjb25maWd1cmUgc2NyaXB0IGFuZCBNYWtlZmlsZXMsCisgICAgbGlrZTo8L3A+CisgICAgPHA+PGNvZGU+Li9hdXRvZ2VuLnNoIC0tcHJlZml4PS91c3IgLS1kaXNhYmxlLXNoYXJlZDwvY29kZT48L3A+CisgIDwvbGk+CisgIDxsaT48ZW0+SSBoYXZlIHRyb3VibGVzIHdoZW4gcnVubmluZyBtYWtlIHRlc3RzIHdpdGggZ2NjLTMuMDwvZW0+CisgICAgPHA+SXQgc2VlbXMgdGhlIGluaXRpYWwgcmVsZWFzZSBvZiBnY2MtMy4wIGhhcyBhIHByb2JsZW0gd2l0aCB0aGUKKyAgICBvcHRpbWl6ZXIgd2hpY2ggbWlzY29tcGlsZXMgdGhlIFVSSSBtb2R1bGUuIFBsZWFzZSB1c2UgYW5vdGhlcgorICAgIGNvbXBpbGVyLjwvcD4KKyAgPC9saT4KKzwvb2w+PGgzPjxhIG5hbWU9IkRldmVsb3BlciIgaWQ9IkRldmVsb3BlciI+RGV2ZWxvcGVyPC9hPiBjb3JuZXI8L2gzPjxvbD4KKyAgPGxpPjxlbT5Ucm91YmxlcyBjb21waWxpbmcgb3IgbGlua2luZyBwcm9ncmFtcyB1c2luZyBsaWJ4bWwyPC9lbT4KKyAgICA8cD5Vc3VhbGx5IHRoZSBwcm9ibGVtIGNvbWVzIGZyb20gdGhlIGZhY3QgdGhhdCB0aGUgY29tcGlsZXIgZG9lc24ndCBnZXQKKyAgICB0aGUgcmlnaHQgY29tcGlsYXRpb24gb3IgbGlua2luZyBmbGFncy4gVGhlcmUgaXMgYSBzbWFsbCBzaGVsbCBzY3JpcHQKKyAgICA8Y29kZT54bWwyLWNvbmZpZzwvY29kZT4gd2hpY2ggaXMgaW5zdGFsbGVkIGFzIHBhcnQgb2YgbGlieG1sMiB1c3VhbAorICAgIGluc3RhbGwgcHJvY2VzcyB3aGljaCBwcm92aWRlcyB0aG9zZSBmbGFncy4gVXNlPC9wPgorICAgIDxwPjxjb2RlPnhtbDItY29uZmlnIC0tY2ZsYWdzPC9jb2RlPjwvcD4KKyAgICA8cD50byBnZXQgdGhlIGNvbXBpbGF0aW9uIGZsYWdzIGFuZDwvcD4KKyAgICA8cD48Y29kZT54bWwyLWNvbmZpZyAtLWxpYnM8L2NvZGU+PC9wPgorICAgIDxwPnRvIGdldCB0aGUgbGlua2VyIGZsYWdzLiBVc3VhbGx5IHRoaXMgaXMgZG9uZSBkaXJlY3RseSBmcm9tIHRoZQorICAgIE1ha2VmaWxlIGFzOjwvcD4KKyAgICA8cD48Y29kZT5DRkxBR1M9YHhtbDItY29uZmlnIC0tY2ZsYWdzYDwvY29kZT48L3A+CisgICAgPHA+PGNvZGU+TElCUz1geG1sMi1jb25maWcgLS1saWJzYDwvY29kZT48L3A+CisgIDwvbGk+CisgIDxsaT48ZW0+SSB3YW50IHRvIGluc3RhbGwgbXkgb3duIGNvcHkgb2YgbGlieG1sMiBpbiBteSBob21lIGRpcmVjdG9yeSBhbmQKKyAgICBsaW5rIG15IHByb2dyYW1zIGFnYWluc3QgaXQsIGJ1dCBpdCBkb2Vzbid0IHdvcms8L2VtPgorICAgIDxwPlRoZXJlIGFyZSBtYW55IGRpZmZlcmVudCB3YXlzIHRvIGFjY29tcGxpc2ggdGhpcy4gIEhlcmUgaXMgb25lIHdheSB0bworICAgIGRvIHRoaXMgdW5kZXIgTGludXguICBTdXBwb3NlIHlvdXIgaG9tZSBkaXJlY3RvcnkgaXMgPGNvZGU+L2hvbWUvdXNlci4KKyAgICA8L2NvZGU+VGhlbjo8L3A+CisgICAgPHVsPgorICAgICAgPGxpPkNyZWF0ZSBhIHN1YmRpcmVjdG9yeSwgbGV0J3MgY2FsbCBpdCA8Y29kZT5teXhtbDwvY29kZT48L2xpPgorICAgICAgPGxpPnVucGFjayB0aGUgbGlieG1sMiBkaXN0cmlidXRpb24gaW50byB0aGF0IHN1YmRpcmVjdG9yeTwvbGk+CisgICAgICA8bGk+Y2hkaXIgaW50byB0aGUgdW5wYWNrZWQgZGlzdHJpYnV0aW9uCisgICAgICAgICg8Y29kZT4vaG9tZS91c2VyL215eG1sL2xpYnhtbDIgPC9jb2RlPik8L2xpPgorICAgICAgPGxpPmNvbmZpZ3VyZSB0aGUgbGlicmFyeSB1c2luZyB0aGUgIjxjb2RlPi0tcHJlZml4PC9jb2RlPiIgc3dpdGNoLAorICAgICAgICBzcGVjaWZ5aW5nIGFuIGluc3RhbGxhdGlvbiBzdWJkaXJlY3RvcnkgaW4KKyAgICAgICAgPGNvZGU+L2hvbWUvdXNlci9teXhtbDwvY29kZT4sIGUuZy4KKyAgICAgICAgPHA+PGNvZGU+Li9jb25maWd1cmUgLS1wcmVmaXggL2hvbWUvdXNlci9teXhtbC94bWxpbnN0PC9jb2RlPiB7b3RoZXIKKyAgICAgICAgY29uZmlndXJhdGlvbiBvcHRpb25zfTwvcD4KKyAgICAgIDwvbGk+CisgICAgICA8bGk+bm93IHJ1biA8Y29kZT5tYWtlPC9jb2RlPiBmb2xsb3dlZCBieSA8Y29kZT5tYWtlIGluc3RhbGw8L2NvZGU+PC9saT4KKyAgICAgIDxsaT5BdCB0aGlzIHBvaW50LCB0aGUgaW5zdGFsbGF0aW9uIHN1YmRpcmVjdG9yeSBjb250YWlucyB0aGUgY29tcGxldGUKKyAgICAgICAgInByaXZhdGUiIGluY2x1ZGUgZmlsZXMsIGxpYnJhcnkgZmlsZXMgYW5kIGJpbmFyeSBwcm9ncmFtIGZpbGVzIChlLmcuCisgICAgICAgIHhtbGxpbnQpLCBsb2NhdGVkIGluCisgICAgICAgIDxwPjxjb2RlPi9ob21lL3VzZXIvbXl4bWwveG1saW5zdC9saWIsCisgICAgICAgIC9ob21lL3VzZXIvbXl4bWwveG1saW5zdC9pbmNsdWRlIDwvY29kZT4gYW5kIDxjb2RlPgorICAgICAgICAvaG9tZS91c2VyL215eG1sL3htbGluc3QvYmluPC9jb2RlPjwvcD4KKyAgICAgICAgcmVzcGVjdGl2ZWx5LjwvbGk+CisgICAgICA8bGk+SW4gb3JkZXIgdG8gdXNlIHRoaXMgInByaXZhdGUiIGxpYnJhcnksIHlvdSBzaG91bGQgZmlyc3QgYWRkIGl0IHRvCisgICAgICAgIHRoZSBiZWdpbm5pbmcgb2YgeW91ciBkZWZhdWx0IFBBVEggKHNvIHRoYXQgeW91ciBvd24gcHJpdmF0ZSBwcm9ncmFtCisgICAgICAgIGZpbGVzIHN1Y2ggYXMgeG1sbGludCB3aWxsIGJlIHVzZWQgaW5zdGVhZCBvZiB0aGUgbm9ybWFsIHN5c3RlbQorICAgICAgICBvbmVzKS4gIFRvIGRvIHRoaXMsIHRoZSBCYXNoIGNvbW1hbmQgd291bGQgYmUKKyAgICAgICAgPHA+PGNvZGU+ZXhwb3J0IFBBVEg9L2hvbWUvdXNlci9teXhtbC94bWxpbnN0L2JpbjokUEFUSDwvY29kZT48L3A+CisgICAgICA8L2xpPgorICAgICAgPGxpPk5vdyBzdXBwb3NlIHlvdSBoYXZlIGEgcHJvZ3JhbSA8Y29kZT50ZXN0MS5jPC9jb2RlPiB0aGF0IHlvdSB3b3VsZAorICAgICAgICBsaWtlIHRvIGNvbXBpbGUgd2l0aCB5b3VyICJwcml2YXRlIiBsaWJyYXJ5LiAgU2ltcGx5IGNvbXBpbGUgaXQgdXNpbmcKKyAgICAgICAgdGhlIGNvbW1hbmQKKyAgICAgICAgPHA+PGNvZGU+Z2NjIGB4bWwyLWNvbmZpZyAtLWNmbGFncyAtLWxpYnNgIC1vIHRlc3QgdGVzdC5jPC9jb2RlPjwvcD4KKyAgICAgICAgTm90ZSB0aGF0LCBiZWNhdXNlIHlvdXIgUEFUSCBoYXMgYmVlbiBzZXQgd2l0aCA8Y29kZT4KKyAgICAgICAgL2hvbWUvdXNlci9teXhtbC94bWxpbnN0L2JpbjwvY29kZT4gYXQgdGhlIGJlZ2lubmluZywgdGhlIHhtbDItY29uZmlnCisgICAgICAgIHByb2dyYW0gd2hpY2ggeW91IGp1c3QgaW5zdGFsbGVkIHdpbGwgYmUgdXNlZCBpbnN0ZWFkIG9mIHRoZSBzeXN0ZW0KKyAgICAgICAgZGVmYXVsdCBvbmUsIGFuZCB0aGlzIHdpbGwgPGVtPmF1dG9tYXRpY2FsbHk8L2VtPiBnZXQgdGhlIGNvcnJlY3QKKyAgICAgICAgbGlicmFyaWVzIGxpbmtlZCB3aXRoIHlvdXIgcHJvZ3JhbS48L2xpPgorICAgIDwvdWw+CisgIDwvbGk+CisKKyAgPHA+PC9wPgorICA8bGk+PGVtPnhtbERvY0R1bXAoKSBnZW5lcmF0ZXMgb3V0cHV0IG9uIG9uZSBsaW5lLjwvZW0+CisgICAgPHA+TGlieG1sMiB3aWxsIG5vdCA8c3Ryb25nPmludmVudDwvc3Ryb25nPiBzcGFjZXMgaW4gdGhlIGNvbnRlbnQgb2YgYQorICAgIGRvY3VtZW50IHNpbmNlIDxzdHJvbmc+YWxsIHNwYWNlcyBpbiB0aGUgY29udGVudCBvZiBhIGRvY3VtZW50IGFyZQorICAgIHNpZ25pZmljYW50PC9zdHJvbmc+LiBJZiB5b3UgYnVpbGQgYSB0cmVlIGZyb20gdGhlIEFQSSBhbmQgd2FudAorICAgIGluZGVudGF0aW9uOjwvcD4KKyAgICA8b2w+CisgICAgICA8bGk+dGhlIGNvcnJlY3Qgd2F5IGlzIHRvIGdlbmVyYXRlIHRob3NlIHlvdXJzZWxmIHRvby48L2xpPgorICAgICAgPGxpPnRoZSBkYW5nZXJvdXMgd2F5IGlzIHRvIGFzayBsaWJ4bWwyIHRvIGFkZCB0aG9zZSBibGFua3MgdG8geW91cgorICAgICAgICBjb250ZW50IDxzdHJvbmc+bW9kaWZ5aW5nIHRoZSBjb250ZW50IG9mIHlvdXIgZG9jdW1lbnQgaW4gdGhlCisgICAgICAgIHByb2Nlc3M8L3N0cm9uZz4uIFRoZSByZXN1bHQgbWF5IG5vdCBiZSB3aGF0IHlvdSBleHBlY3QuIFRoZXJlIGlzCisgICAgICAgIDxzdHJvbmc+Tk88L3N0cm9uZz4gd2F5IHRvIGd1YXJhbnRlZSB0aGF0IHN1Y2ggYSBtb2RpZmljYXRpb24gd29uJ3QKKyAgICAgICAgYWZmZWN0IG90aGVyIHBhcnRzIG9mIHRoZSBjb250ZW50IG9mIHlvdXIgZG9jdW1lbnQuIFNlZSA8YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sS2VlcEJsYW5rc0RlZmF1bHQiPnhtbEtlZXBCbGFua3NEZWZhdWx0CisgICAgICAgICgpPC9hPiBhbmQgPGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnL2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTYXZlRm9ybWF0RmlsZSI+eG1sU2F2ZUZvcm1hdEZpbGUKKyAgICAgICAgKCk8L2E+PC9saT4KKyAgICA8L29sPgorICA8L2xpPgorICA8cD48L3A+CisgIDxsaT48ZW0+RXh0cmEgbm9kZXMgaW4gdGhlIGRvY3VtZW50OjwvZW0+CisgICAgPHA+PGVtPkZvciBhbiBYTUwgZmlsZSBhcyBiZWxvdzo8L2VtPjwvcD4KKyAgICA8cHJlPiZsdDs/eG1sIHZlcnNpb249IjEuMCI/Jmd0OworJmx0O1BMQU4geG1sbnM9Imh0dHA6Ly93d3cuYXJndXMuY2EvYXV0b3Rlc3QvMS4wLyImZ3Q7CismbHQ7Tk9ERSBDb21tRmxhZz0iMCIvJmd0OworJmx0O05PREUgQ29tbUZsYWc9IjEiLyZndDsKKyZsdDsvUExBTiZndDs8L3ByZT4KKyAgICA8cD48ZW0+YWZ0ZXIgcGFyc2luZyBpdCB3aXRoIHRoZSBmdW5jdGlvbgorICAgIHB4bWxEb2M9eG1sUGFyc2VGaWxlKC4uLik7PC9lbT48L3A+CisgICAgPHA+PGVtPkkgd2FudCB0byB0aGUgZ2V0IHRoZSBjb250ZW50IG9mIHRoZSBmaXJzdCBub2RlIChub2RlIHdpdGggdGhlCisgICAgQ29tbUZsYWc9IjAiKTwvZW0+PC9wPgorICAgIDxwPjxlbT5zbyBJIGRpZCBpdCBhcyBmb2xsb3dpbmc7PC9lbT48L3A+CisgICAgPHByZT54bWxOb2RlUHRyIHBub2RlOworcG5vZGU9cHhtbERvYy0mZ3Q7Y2hpbGRyZW4tJmd0O2NoaWxkcmVuOzwvcHJlPgorICAgIDxwPjxlbT5idXQgaXQgZG9lcyBub3Qgd29yay4gSWYgSSBjaGFuZ2UgaXQgdG88L2VtPjwvcD4KKyAgICA8cHJlPnBub2RlPXB4bWxEb2MtJmd0O2NoaWxkcmVuLSZndDtjaGlsZHJlbi0mZ3Q7bmV4dDs8L3ByZT4KKyAgICA8cD48ZW0+dGhlbiBpdCB3b3Jrcy4gIENhbiBzb21lb25lIGV4cGxhaW4gaXQgdG8gbWUuPC9lbT48L3A+CisgICAgPHA+PC9wPgorICAgIDxwPkluIFhNTCBhbGwgY2hhcmFjdGVycyBpbiB0aGUgY29udGVudCBvZiB0aGUgZG9jdW1lbnQgYXJlIHNpZ25pZmljYW50CisgICAgPHN0cm9uZz5pbmNsdWRpbmcgYmxhbmtzIGFuZCBmb3JtYXR0aW5nIGxpbmUgYnJlYWtzPC9zdHJvbmc+LjwvcD4KKyAgICA8cD5UaGUgZXh0cmEgbm9kZXMgeW91IGFyZSB3b25kZXJpbmcgYWJvdXQgYXJlIGp1c3QgdGhhdCwgdGV4dCBub2RlcyB3aXRoCisgICAgdGhlIGZvcm1hdHRpbmcgc3BhY2VzIHdoaWNoIGFyZSBwYXJ0IG9mIHRoZSBkb2N1bWVudCBidXQgdGhhdCBwZW9wbGUgdGVuZAorICAgIHRvIGZvcmdldC4gVGhlcmUgaXMgYSBmdW5jdGlvbiA8YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwiPnhtbEtlZXBCbGFua3NEZWZhdWx0CisgICAgKCk8L2E+ICB0byByZW1vdmUgdGhvc2UgYXQgcGFyc2UgdGltZSwgYnV0IHRoYXQncyBhbiBoZXVyaXN0aWMsIGFuZCBpdHMKKyAgICB1c2Ugc2hvdWxkIGJlIGxpbWl0ZWQgdG8gY2FzZXMgd2hlcmUgeW91IGFyZSBjZXJ0YWluIHRoZXJlIGlzIG5vCisgICAgbWl4ZWQtY29udGVudCBpbiB0aGUgZG9jdW1lbnQuPC9wPgorICA8L2xpPgorICA8bGk+PGVtPkkgZ2V0IGNvbXBpbGF0aW9uIGVycm9ycyBvZiBleGlzdGluZyBjb2RlIGxpa2Ugd2hlbiBhY2Nlc3NpbmcKKyAgICA8c3Ryb25nPnJvb3Q8L3N0cm9uZz4gb3IgPHN0cm9uZz5jaGlsZCBmaWVsZHM8L3N0cm9uZz4gb2Ygbm9kZXMuPC9lbT4KKyAgICA8cD5Zb3UgYXJlIGNvbXBpbGluZyBjb2RlIGRldmVsb3BlZCBmb3IgbGlieG1sIHZlcnNpb24gMSBhbmQgdXNpbmcgYQorICAgIGxpYnhtbDIgZGV2ZWxvcG1lbnQgZW52aXJvbm1lbnQuIEVpdGhlciBzd2l0Y2ggYmFjayB0byBsaWJ4bWwgdjEgZGV2ZWwgb3IKKyAgICBldmVuIGJldHRlciBmaXggdGhlIGNvZGUgdG8gY29tcGlsZSB3aXRoIGxpYnhtbDIgKG9yIGJvdGgpIGJ5IDxhIGhyZWY9InVwZ3JhZGUuaHRtbCI+Zm9sbG93aW5nIHRoZSBpbnN0cnVjdGlvbnM8L2E+LjwvcD4KKyAgPC9saT4KKyAgPGxpPjxlbT5JIGdldCBjb21waWxhdGlvbiBlcnJvcnMgYWJvdXQgbm9uIGV4aXN0aW5nCisgICAgPHN0cm9uZz54bWxSb290Tm9kZTwvc3Ryb25nPiBvciA8c3Ryb25nPnhtbENoaWxkcmVuTm9kZTwvc3Ryb25nPgorICAgIGZpZWxkcy48L2VtPgorICAgIDxwPlRoZSBzb3VyY2UgY29kZSB5b3UgYXJlIHVzaW5nIGhhcyBiZWVuIDxhIGhyZWY9InVwZ3JhZGUuaHRtbCI+dXBncmFkZWQ8L2E+IHRvIGJlIGFibGUgdG8gY29tcGlsZSB3aXRoIGJvdGggbGlieG1sCisgICAgYW5kIGxpYnhtbDIsIGJ1dCB5b3UgbmVlZCB0byBpbnN0YWxsIGEgbW9yZSByZWNlbnQgdmVyc2lvbjoKKyAgICBsaWJ4bWwoLWRldmVsKSAmZ3Q7PSAxLjguOCBvciBsaWJ4bWwyKC1kZXZlbCkgJmd0Oz0gMi4xLjA8L3A+CisgIDwvbGk+CisgIDxsaT48ZW0+UmFuZG9tIGNyYXNoZXMgaW4gdGhyZWFkZWQgYXBwbGljYXRpb25zPC9lbT4KKyAgICA8cD5SZWFkIGFuZCBmb2xsb3cgYWxsIGFkdmljZXMgb24gdGhlIDxhIGhyZWY9InRocmVhZHMuaHRtbCI+dGhyZWFkCisgICAgc2FmZXR5PC9hPiBwYWdlLCBhbmQgbWFrZSAxMDAlIHN1cmUgeW91IG5ldmVyIGNhbGwgeG1sQ2xlYW51cFBhcnNlcigpCisgICAgd2hpbGUgdGhlIGxpYnJhcnkgb3IgYW4gWE1MIGRvY3VtZW50IG1pZ2h0IHN0aWxsIGJlIGluIHVzZSBieSBhbm90aGVyCisgICAgdGhyZWFkLjwvcD4KKyAgPC9saT4KKyAgPGxpPjxlbT5UaGUgZXhhbXBsZSBwcm92aWRlZCBpbiB0aGUgd2ViIHBhZ2UgZG9lcyBub3QgY29tcGlsZS48L2VtPgorICAgIDxwPkl0J3MgaGFyZCB0byBtYWludGFpbiB0aGUgZG9jdW1lbnRhdGlvbiBpbiBzeW5jIHdpdGggdGhlIGNvZGUKKyAgICAmbHQ7Z3Jpbi8mZ3Q7IC4uLjwvcD4KKyAgICA8cD5DaGVjayB0aGUgcHJldmlvdXMgcG9pbnRzIDEvIGFuZCAyLyByYWlzZWQgYmVmb3JlLCBhbmQgcGxlYXNlIHNlbmQKKyAgICBwYXRjaGVzLjwvcD4KKyAgPC9saT4KKyAgPGxpPjxlbT5XaGVyZSBjYW4gSSBnZXQgbW9yZSBleGFtcGxlcyBhbmQgaW5mb3JtYXRpb24gdGhhbiBwcm92aWRlZCBvbiB0aGUKKyAgICB3ZWIgcGFnZT88L2VtPgorICAgIDxwPklkZWFsbHkgYSBsaWJ4bWwyIGJvb2sgd291bGQgYmUgbmljZS4gSSBoYXZlIG5vIHN1Y2ggcGxhbiAuLi4gQnV0IHlvdQorICAgIGNhbjo8L3A+CisgICAgPHVsPgorICAgICAgPGxpPmNoZWNrIG1vcmUgZGVlcGx5IHRoZSA8YSBocmVmPSJodG1sL2xpYnhtbC1saWIuaHRtbCI+ZXhpc3RpbmcKKyAgICAgICAgZ2VuZXJhdGVkIGRvYzwvYT48L2xpPgorICAgICAgPGxpPmhhdmUgYSBsb29rIGF0IDxhIGhyZWY9ImV4YW1wbGVzL2luZGV4Lmh0bWwiPnRoZSBzZXQgb2YKKyAgICAgICAgZXhhbXBsZXM8L2E+LjwvbGk+CisgICAgICA8bGk+bG9vayBmb3IgZXhhbXBsZXMgb2YgdXNlIGZvciBsaWJ4bWwyIGZ1bmN0aW9uIHVzaW5nIHRoZSBHbm9tZSBjb2RlCisgICAgICAgICAgb3IgYnkgYXNraW5nIG9uIEdvb2dsZS48L2xpPgorICAgICAgPGxpPjxhIGhyZWY9Imh0dHA6Ly9zdm4uZ25vbWUub3JnL3ZpZXd2Yy9saWJ4bWwyL3RydW5rLyI+QnJvd3NlCisgICAgICAgIHRoZSBsaWJ4bWwyIHNvdXJjZTwvYT4gLCBJIHRyeSB0byB3cml0ZSBjb2RlIGFzIGNsZWFuIGFuZCBkb2N1bWVudGVkCisgICAgICAgIGFzIHBvc3NpYmxlLCBzbyBsb29raW5nIGF0IGl0IG1heSBiZSBoZWxwZnVsLiBJbiBwYXJ0aWN1bGFyIHRoZSBjb2RlCisgICAgICAgIG9mIDxhIGhyZWY9Imh0dHA6Ly9zdm4uZ25vbWUub3JnL3ZpZXd2Yy9saWJ4bWwyL3RydW5rL3htbGxpbnQuYz92aWV3PW1hcmt1cCI+eG1sbGludC5jPC9hPiBhbmQgb2YgdGhlIHZhcmlvdXMgdGVzdFhYWC5jIHRlc3QgcHJvZ3JhbXMgc2hvdWxkCisgICAgICAgIHByb3ZpZGUgZ29vZCBleGFtcGxlcyBvZiBob3cgdG8gZG8gdGhpbmdzIHdpdGggdGhlIGxpYnJhcnkuPC9saT4KKyAgICA8L3VsPgorICA8L2xpPgorICA8cD48L3A+CisgIDxsaT48ZW0+V2hhdCBhYm91dCBDKysgPzwvZW0+CisgICAgPHA+bGlieG1sMiBpcyB3cml0dGVuIGluIHB1cmUgQyBpbiBvcmRlciB0byBhbGxvdyBlYXN5IHJldXNlIG9uIGEgbnVtYmVyCisgICAgb2YgcGxhdGZvcm1zLCBpbmNsdWRpbmcgZW1iZWRkZWQgc3lzdGVtcy4gSSBkb24ndCBpbnRlbmQgdG8gY29udmVydCB0bworICAgIEMrKy48L3A+CisgICAgPHA+VGhlcmUgaXMgaG93ZXZlciBhIEMrKyB3cmFwcGVyIHdoaWNoIG1heSBmdWxmaWxsIHlvdXIgbmVlZHM6PC9wPgorICAgIDx1bD4KKyAgICAgIDxsaT5ieSBBcmkgSm9obnNvbiAmbHQ7YXJpQGJ0aWdhdGUuY29tJmd0OzoKKyAgICAgICAgPHA+V2Vic2l0ZTogPGEgaHJlZj0iaHR0cDovL2xpYnhtbHBsdXNwbHVzLnNvdXJjZWZvcmdlLm5ldC8iPmh0dHA6Ly9saWJ4bWxwbHVzcGx1cy5zb3VyY2Vmb3JnZS5uZXQvPC9hPjwvcD4KKyAgICAgICAgPHA+RG93bmxvYWQ6IDxhIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdC9zaG93ZmlsZXMucGhwP2dyb3VwX2lkPTEyOTk5Ij5odHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3Qvc2hvd2ZpbGVzLnBocD9ncm91cF9pZD0xMjk5OTwvYT48L3A+CisgICAgICA8L2xpPgorICAgIDwvdWw+CisgIDwvbGk+CisgIDxsaT48ZW0+SG93IHRvIHZhbGlkYXRlIGEgZG9jdW1lbnQgYSBwb3N0ZXJpb3JpID88L2VtPgorICAgIDxwPkl0IGlzIHBvc3NpYmxlIHRvIHZhbGlkYXRlIGRvY3VtZW50cyB3aGljaCBoYWQgbm90IGJlZW4gdmFsaWRhdGVkIGF0CisgICAgaW5pdGlhbCBwYXJzaW5nIHRpbWUgb3IgZG9jdW1lbnRzIHdoaWNoIGhhdmUgYmVlbiBidWlsdCBmcm9tIHNjcmF0Y2gKKyAgICB1c2luZyB0aGUgQVBJLiBVc2UgdGhlIDxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9odG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlRHRkIj54bWxWYWxpZGF0ZUR0ZCgpPC9hPgorICAgIGZ1bmN0aW9uLiBJdCBpcyBhbHNvIHBvc3NpYmxlIHRvIHNpbXBseSBhZGQgYSBEVEQgdG8gYW4gZXhpc3RpbmcKKyAgICBkb2N1bWVudDo8L3A+CisgICAgPHByZT54bWxEb2NQdHIgZG9jOyAvKiB5b3VyIGV4aXN0aW5nIGRvY3VtZW50ICovCit4bWxEdGRQdHIgZHRkID0geG1sUGFyc2VEVEQoTlVMTCwgZmlsZW5hbWVfb2ZfZHRkKTsgLyogcGFyc2UgdGhlIERURCAqLworCisgICAgICAgIGR0ZC0mZ3Q7bmFtZSA9IHhtbFN0ckR1cCgoeG1sQ2hhciopInJvb3RfbmFtZSIpOyAvKiB1c2UgdGhlIGdpdmVuIHJvb3QgKi8KKworICAgICAgICBkb2MtJmd0O2ludFN1YnNldCA9IGR0ZDsKKyAgICAgICAgaWYgKGRvYy0mZ3Q7Y2hpbGRyZW4gPT0gTlVMTCkgeG1sQWRkQ2hpbGQoKHhtbE5vZGVQdHIpZG9jLCAoeG1sTm9kZVB0cilkdGQpOworICAgICAgICBlbHNlIHhtbEFkZFByZXZTaWJsaW5nKGRvYy0mZ3Q7Y2hpbGRyZW4sICh4bWxOb2RlUHRyKWR0ZCk7CisgICAgICAgICAgPC9wcmU+CisgIDwvbGk+CisgIDxsaT48ZW0+U28gd2hhdCBpcyB0aGlzIGZ1bmt5ICJ4bWxDaGFyIiB1c2VkIGFsbCB0aGUgdGltZT88L2VtPgorICAgIDxwPkl0IGlzIGEgbnVsbCB0ZXJtaW5hdGVkIHNlcXVlbmNlIG9mIHV0Zi04IGNoYXJhY3RlcnMuIEFuZCBvbmx5IHV0Zi04IQorICAgIFlvdSBuZWVkIHRvIGNvbnZlcnQgc3RyaW5ncyBlbmNvZGVkIGluIGRpZmZlcmVudCB3YXlzIHRvIHV0Zi04IGJlZm9yZQorICAgIHBhc3NpbmcgdGhlbSB0byB0aGUgQVBJLiAgVGhpcyBjYW4gYmUgYWNjb21wbGlzaGVkIHdpdGggdGhlIGljb252IGxpYnJhcnkKKyAgICBmb3IgaW5zdGFuY2UuPC9wPgorICA8L2xpPgorICA8bGk+ZXRjIC4uLjwvbGk+Cis8L29sPjxwPjwvcD48cD48YSBocmVmPSJidWdzLmh0bWwiPkRhbmllbCBWZWlsbGFyZDwvYT48L3A+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL0xpYnhtbDItTG9nby0xODB4MTY4LmdpZiBiL2xpYnhtbDIvZG9jL0xpYnhtbDItTG9nby0xODB4MTY4LmdpZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYmRlZDRmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvTGlieG1sMi1Mb2dvLTE4MHgxNjguZ2lmCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL0xpYnhtbDItTG9nby05MHgzNC5naWYgYi9saWJ4bWwyL2RvYy9MaWJ4bWwyLUxvZ28tOTB4MzQuZ2lmCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI5NmZmZjAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9MaWJ4bWwyLUxvZ28tOTB4MzQuZ2lmCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL01ha2VmaWxlLmFtIGIvbGlieG1sMi9kb2MvTWFrZWZpbGUuYW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGNjMGE1MAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL01ha2VmaWxlLmFtCkBAIC0wLDAgKzEsMzUxIEBACisjIyBQcm9jZXNzIHRoaXMgZmlsZSB3aXRoIGF1dG9tYWtlIHRvIHByb2R1Y2UgTWFrZWZpbGUuaW4KK1NVQkRJUlMgPSAuIGRldmhlbHAgZXhhbXBsZXMKKworIyBUaGUgdG9wLWxldmVsIFNHTUwgZmlsZS4KK0RPQ19NQUlOX1hNTF9GSUxFPWdub21lLXhtbC54bWwKKworIyBUaGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgdGhlIHNvdXJjZSBjb2RlIChpZiBpdCBjb250YWlucyBkb2N1bWVudGF0aW9uKS4KK0RPQ19TT1VSQ0VfRElSPS4uCisKKyMgQSBmaWxlIGluIHdpbjMyIGRlcGVuZHMgdXBvbiBvbmUgb2YgdGhlIGRvYyBmaWxlcworV0lOMzJfRElSPSQodG9wX3NyY2Rpcikvd2luMzIKKworUEFHRVM9IGFyY2hpdGVjdHVyZS5odG1sIGJ1Z3MuaHRtbCBjb250cmlicy5odG1sIGRvY3MuaHRtbCBET00uaHRtbCBcCisgICAgZG93bmxvYWRzLmh0bWwgZW50aXRpZXMuaHRtbCBleGFtcGxlLmh0bWwgaGVscC5odG1sIGluZGV4Lmh0bWwgXAorICAgIGludGVyZmFjZS5odG1sIGludHJvLmh0bWwgbGlicmFyeS5odG1sIG5hbWVzcGFjZXMuaHRtbCBuZXdzLmh0bWwgXAorICAgIHRyZWUuaHRtbCB4bWxkdGQuaHRtbCBYTUxpbmZvLmh0bWwgWFNMVC5odG1sCitBUElQQUdFUz1BUEljb25zdHJ1Y3RvcnMuaHRtbCBBUElmaWxlcy5odG1sIEFQSWZ1bmN0aW9ucy5odG1sIFwKKyAgICBBUElzeW1ib2xzLmh0bWwgQVBJY2h1bmswLmh0bWwKKworaWYgUkVCVUlMRF9ET0NTCitFWFRSQV9ESVNUX3djID0geG1sY2F0YWxvZ19tYW4ueG1sICQod2lsZGNhcmQgdHV0b3JpYWwvKi5odG1sKSBcCisgICAgJCh3aWxkY2FyZCB0dXRvcmlhbC8qLmMpICQod2lsZGNhcmQgdHV0b3JpYWwvKi5wZGYpIFwKKyAgICAkKHdpbGRjYXJkIHR1dG9yaWFsL2ltYWdlcy8qLnBuZykgXAorICAgICQod2lsZGNhcmQgdHV0b3JpYWwvaW1hZ2VzL2NhbGxvdXRzLyoucG5nKSAkKHdpbGRjYXJkIEFQSSouaHRtbCkgXAorICAgICQod2lsZGNhcmQgKi4xKSAkKHdpbGRjYXJkICoueHNsKSAkKHdpbGRjYXJkICouaHRtbCkgXAorICAgICQod2lsZGNhcmQgKi5naWYpIHczYy5wbmcgJCh3aWxkY2FyZCBodG1sLyouaHRtbCkgXAorICAgICQod2lsZGNhcmQgaHRtbC8qLnBuZykgbGlieG1sMi1hcGkueG1sIGluZGV4LnB5IHNlYXJjaC5waHAgXAorICAgIGFwaWJ1aWxkLnB5IGxpYnhtbDIueHNhIHhtbGxpbnQueG1sIHhtbGNhdGFsb2dfbWFuLnhtbCBcCisgICAgUkVBRE1FLmRvY3Mgc3ltYm9scy54bWwKK2VuZGlmCisKKyMgRXhwYW5kZWQgZm9ybSBvZiBFWFRSQV9ESVNUX3djCisjCitFWFRSQV9ESVNUID0gXAorCUFQSWNodW5rMC5odG1sIFwKKwlBUEljaHVuazEuaHRtbCBcCisJQVBJY2h1bmsyLmh0bWwgXAorCUFQSWNodW5rMy5odG1sIFwKKwlBUEljaHVuazQuaHRtbCBcCisJQVBJY2h1bms1Lmh0bWwgXAorCUFQSWNodW5rNi5odG1sIFwKKwlBUEljaHVuazcuaHRtbCBcCisJQVBJY2h1bms4Lmh0bWwgXAorCUFQSWNodW5rOS5odG1sIFwKKwlBUEljaHVuazEwLmh0bWwgXAorCUFQSWNodW5rMTEuaHRtbCBcCisJQVBJY2h1bmsxMi5odG1sIFwKKwlBUEljaHVuazEzLmh0bWwgXAorCUFQSWNodW5rMTQuaHRtbCBcCisJQVBJY2h1bmsxNS5odG1sIFwKKwlBUEljaHVuazE2Lmh0bWwgXAorCUFQSWNodW5rMTcuaHRtbCBcCisJQVBJY2h1bmsxOC5odG1sIFwKKwlBUEljaHVuazE5Lmh0bWwgXAorCUFQSWNodW5rMjAuaHRtbCBcCisJQVBJY2h1bmsyMS5odG1sIFwKKwlBUEljaHVuazIyLmh0bWwgXAorCUFQSWNodW5rMjMuaHRtbCBcCisJQVBJY2h1bmsyNC5odG1sIFwKKwlBUEljaHVuazI1Lmh0bWwgXAorCUFQSWNodW5rMjYuaHRtbCBcCisJQVBJY2h1bmsyNy5odG1sIFwKKwlBUEljaHVuazI4Lmh0bWwgXAorCUFQSWNodW5rMjkuaHRtbCBcCisJQVBJY29uc3RydWN0b3JzLmh0bWwgXAorCUFQSWZpbGVzLmh0bWwgXAorCUFQSWZ1bmN0aW9ucy5odG1sIFwKKwlBUElzeW1ib2xzLmh0bWwgXAorCUNoYW5nZUxvZy54c2wgXAorCURPTS5naWYgXAorCURPTS5odG1sIFwKKwlGQVEuaHRtbCBcCisJTGlieG1sMi1Mb2dvLTE4MHgxNjguZ2lmIFwKKwlMaWJ4bWwyLUxvZ28tOTB4MzQuZ2lmIFwKKwlSRUFETUUuZG9jcyBcCisJWE1MaW5mby5odG1sIFwKKwlYU0xULmh0bWwgXAorCWFwaS54c2wgXAorCWFwaWJ1aWxkLnB5IFwKKwlhcmNoaXRlY3R1cmUuaHRtbCBcCisJYnVncy5odG1sIFwKKwljYXRhbG9nLmdpZiBcCisJY2F0YWxvZy5odG1sIFwKKwljaGVja2FwaXN5bS54c2wgXAorCWNvbnRyaWJzLmh0bWwgXAorCWRvY3MuaHRtbCBcCisJZG93bmxvYWRzLmh0bWwgXAorCWVsZmdjY2hhY2sueHNsIFwKKwllbmNvZGluZy5odG1sIFwKKwllbnRpdGllcy5odG1sIFwKKwlleGFtcGxlLmh0bWwgXAorCWd1aWRlbGluZXMuaHRtbCBcCisJaGVscC5odG1sIFwKKwlodG1sL2Jvb2sxLmh0bWwgXAorCWh0bWwvaG9tZS5wbmcgXAorCWh0bWwvaW5kZXguaHRtbCBcCisJaHRtbC9sZWZ0LnBuZyBcCisJaHRtbC9saWJ4bWwtRE9DQnBhcnNlci5odG1sIFwKKwlodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwgXAorCWh0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwgXAorCWh0bWwvbGlieG1sLVNBWC5odG1sIFwKKwlodG1sL2xpYnhtbC1TQVgyLmh0bWwgXAorCWh0bWwvbGlieG1sLWMxNG4uaHRtbCBcCisJaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sIFwKKwlodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwgXAorCWh0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwgXAorCWh0bWwvbGlieG1sLWRpY3QuaHRtbCBcCisJaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCBcCisJaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCBcCisJaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sIFwKKwlodG1sL2xpYnhtbC1oYXNoLmh0bWwgXAorCWh0bWwvbGlieG1sLWxpYi5odG1sIFwKKwlodG1sL2xpYnhtbC1saXN0Lmh0bWwgXAorCWh0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCBcCisJaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCBcCisJaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwgXAorCWh0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sIFwKKwlodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwgXAorCWh0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCBcCisJaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sIFwKKwlodG1sL2xpYnhtbC1zY2hlbWF0cm9uLmh0bWwgXAorCWh0bWwvbGlieG1sLXRocmVhZHMuaHRtbCBcCisJaHRtbC9saWJ4bWwtdHJlZS5odG1sIFwKKwlodG1sL2xpYnhtbC11cmkuaHRtbCBcCisJaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCBcCisJaHRtbC9saWJ4bWwteGluY2x1ZGUuaHRtbCBcCisJaHRtbC9saWJ4bWwteGxpbmsuaHRtbCBcCisJaHRtbC9saWJ4bWwteG1sSU8uaHRtbCBcCisJaHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCBcCisJaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCBcCisJaHRtbC9saWJ4bWwteG1sZXhwb3J0cy5odG1sIFwKKwlodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCBcCisJaHRtbC9saWJ4bWwteG1sbW9kdWxlLmh0bWwgXAorCWh0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sIFwKKwlodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCBcCisJaHRtbC9saWJ4bWwteG1sc2F2ZS5odG1sIFwKKwlodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwgXAorCWh0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sIFwKKwlodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCBcCisJaHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sIFwKKwlodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwgXAorCWh0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sIFwKKwlodG1sL2xpYnhtbC14cGF0aC5odG1sIFwKKwlodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sIFwKKwlodG1sL2xpYnhtbC14cG9pbnRlci5odG1sIFwKKwlodG1sL2xpYnhtbC14emxpYi5odG1sIFwKKwlodG1sL3JpZ2h0LnBuZyBcCisJaHRtbC91cC5wbmcgXAorCWluZGV4Lmh0bWwgXAorCWluZGV4LnB5IFwKKwlpbnRlcmZhY2UuaHRtbCBcCisJaW50cm8uaHRtbCBcCisJbGlicmFyeS5odG1sIFwKKwlsaWJ4bWwuZ2lmIFwKKwlsaWJ4bWwyLWFwaS54bWwgXAorCWxpYnhtbDIueHNhIFwKKwluYW1lc3BhY2VzLmh0bWwgXAorCW5ld2FwaS54c2wgXAorCW5ld3MuaHRtbCBcCisJbmV3cy54c2wgXAorCXB5dGhvbi5odG1sIFwKKwlyZWRoYXQuZ2lmIFwKKwlzZWFyY2gucGhwIFwKKwlzZWFyY2hlcy5odG1sIFwKKwlzZWFyY2hlcy54c2wgXAorCXNpdGUueHNsIFwKKwlzbWFsbGZvb3Rvbmx5LmdpZiBcCisJc3RydWN0dXJlLmdpZiBcCisJc3ltYm9scy54bWwgXAorCXN5bXMueHNsIFwKKwl0aHJlYWRzLmh0bWwgXAorCXRyZWUuaHRtbCBcCisJdHV0b3JpYWwvYXBhLmh0bWwgXAorCXR1dG9yaWFsL2FwYi5odG1sIFwKKwl0dXRvcmlhbC9hcGMuaHRtbCBcCisJdHV0b3JpYWwvYXBkLmh0bWwgXAorCXR1dG9yaWFsL2FwZS5odG1sIFwKKwl0dXRvcmlhbC9hcGYuaHRtbCBcCisJdHV0b3JpYWwvYXBnLmh0bWwgXAorCXR1dG9yaWFsL2FwaC5odG1sIFwKKwl0dXRvcmlhbC9hcGkuaHRtbCBcCisJdHV0b3JpYWwvYXIwMXMwMi5odG1sIFwKKwl0dXRvcmlhbC9hcjAxczAzLmh0bWwgXAorCXR1dG9yaWFsL2FyMDFzMDQuaHRtbCBcCisJdHV0b3JpYWwvYXIwMXMwNS5odG1sIFwKKwl0dXRvcmlhbC9hcjAxczA2Lmh0bWwgXAorCXR1dG9yaWFsL2FyMDFzMDcuaHRtbCBcCisJdHV0b3JpYWwvYXIwMXMwOC5odG1sIFwKKwl0dXRvcmlhbC9hcjAxczA5Lmh0bWwgXAorCXR1dG9yaWFsL2ltYWdlcy9ibGFuay5wbmcgXAorCXR1dG9yaWFsL2ltYWdlcy9jYWxsb3V0cy8xLnBuZyBcCisJdHV0b3JpYWwvaW1hZ2VzL2NhbGxvdXRzLzEwLnBuZyBcCisJdHV0b3JpYWwvaW1hZ2VzL2NhbGxvdXRzLzIucG5nIFwKKwl0dXRvcmlhbC9pbWFnZXMvY2FsbG91dHMvMy5wbmcgXAorCXR1dG9yaWFsL2ltYWdlcy9jYWxsb3V0cy80LnBuZyBcCisJdHV0b3JpYWwvaW1hZ2VzL2NhbGxvdXRzLzUucG5nIFwKKwl0dXRvcmlhbC9pbWFnZXMvY2FsbG91dHMvNi5wbmcgXAorCXR1dG9yaWFsL2ltYWdlcy9jYWxsb3V0cy83LnBuZyBcCisJdHV0b3JpYWwvaW1hZ2VzL2NhbGxvdXRzLzgucG5nIFwKKwl0dXRvcmlhbC9pbWFnZXMvY2FsbG91dHMvOS5wbmcgXAorCXR1dG9yaWFsL2ltYWdlcy9jYXV0aW9uLnBuZyBcCisJdHV0b3JpYWwvaW1hZ2VzL2RyYWZ0LnBuZyBcCisJdHV0b3JpYWwvaW1hZ2VzL2hvbWUucG5nIFwKKwl0dXRvcmlhbC9pbWFnZXMvaW1wb3J0YW50LnBuZyBcCisJdHV0b3JpYWwvaW1hZ2VzL25leHQucG5nIFwKKwl0dXRvcmlhbC9pbWFnZXMvbm90ZS5wbmcgXAorCXR1dG9yaWFsL2ltYWdlcy9wcmV2LnBuZyBcCisJdHV0b3JpYWwvaW1hZ2VzL3RpcC5wbmcgXAorCXR1dG9yaWFsL2ltYWdlcy90b2MtYmxhbmsucG5nIFwKKwl0dXRvcmlhbC9pbWFnZXMvdG9jLW1pbnVzLnBuZyBcCisJdHV0b3JpYWwvaW1hZ2VzL3RvYy1wbHVzLnBuZyBcCisJdHV0b3JpYWwvaW1hZ2VzL3VwLnBuZyBcCisJdHV0b3JpYWwvaW1hZ2VzL3dhcm5pbmcucG5nIFwKKwl0dXRvcmlhbC9pbmNsdWRlYWRkYXR0cmlidXRlLmMgXAorCXR1dG9yaWFsL2luY2x1ZGVhZGRrZXl3b3JkLmMgXAorCXR1dG9yaWFsL2luY2x1ZGVjb252ZXJ0LmMgXAorCXR1dG9yaWFsL2luY2x1ZGVnZXRhdHRyaWJ1dGUuYyBcCisJdHV0b3JpYWwvaW5jbHVkZWtleXdvcmQuYyBcCisJdHV0b3JpYWwvaW5jbHVkZXhwYXRoLmMgXAorCXR1dG9yaWFsL2luZGV4Lmh0bWwgXAorCXR1dG9yaWFsL2l4MDEuaHRtbCBcCisJdHV0b3JpYWwveG1sdHV0b3JpYWwucGRmIFwKKwl1cGdyYWRlLmh0bWwgXAorCXczYy5wbmcgXAorCXdpa2kueHNsIFwKKwl4bWwuaHRtbCBcCisJeG1sY2F0YWxvZy4xIFwKKwl4bWxjYXRhbG9nX21hbi5odG1sIFwKKwl4bWxjYXRhbG9nX21hbi54bWwgXAorCXhtbGR0ZC5odG1sIFwKKwl4bWxpby5odG1sIFwKKwl4bWxsaW50LjEgXAorCXhtbGxpbnQuaHRtbCBcCisJeG1sbGludC54bWwgXAorCXhtbG1lbS5odG1sIFwKKwl4bWxyZWFkZXIuaHRtbCBcCisJeHNhLnhzbAorCittYW5fTUFOUyA9IHhtbGxpbnQuMSB4bWxjYXRhbG9nLjEKKworaWYgUkVCVUlMRF9ET0NTCitkb2NzOiB3ZWIgJCh0b3BfYnVpbGRkaXIpL05FV1MgbGlieG1sMi54c2EgJChtYW5fTUFOUykKKworYXBpOiBsaWJ4bWwyLWFwaS54bWwgbGlieG1sMi1yZWZzLnhtbCAkKEFQSVBBR0VTKSAkKHNyY2RpcikvaHRtbC9pbmRleC5odG1sICQoV0lOMzJfRElSKS9saWJ4bWwyLmRlZi5zcmMgLi4vZWxmZ2NjaGFjay5oICQoc3JjZGlyKS9zaXRlLnhzbAorCit3ZWI6ICQoUEFHRVMpCisKKy4uL2VsZmdjY2hhY2suaDogJChzcmNkaXIpL2VsZmdjY2hhY2sueHNsICQoc3JjZGlyKS9saWJ4bWwyLWFwaS54bWwKKwktQChpZiBbIC14ICQoWFNMVFBST0MpIF0gOyB0aGVuIFwKKwkgIGVjaG8gIlJlYnVpbGRpbmcgdGhlIGVsZmdjY2hhY2suaCBoZWFkZXIiIDsgXAorCSAgJChYU0xUUFJPQykgLS1ub25ldCAkKHNyY2RpcikvZWxmZ2NjaGFjay54c2wgJChzcmNkaXIpL2xpYnhtbDItYXBpLnhtbCA+IGVsZmdjY2hhY2suaCA7IFwKKwkgIGlmIFsgImBkaWZmIC1xIGVsZmdjY2hhY2suaCAuLi9lbGZnY2NoYWNrLmhgIiBdIDsgdGhlbiBcCisJICAgIGVjaG8gInVwZGF0aW5nIC4uL2VsZmdjY2hhY2suaCI7IFwKKwkgICAgY3AgZWxmZ2NjaGFjay5oIC4uL2VsZmdjY2hhY2suaDsgXAorCSAgZmkgOyBybSAtZiBlbGZnY2NoYWNrLmggOyAgZmkgKTsKKworJChQQUdFUyk6IHhtbC5odG1sICQoc3JjZGlyKS9zaXRlLnhzbAorCS1AKGlmIFsgLXggJChYU0xUUFJPQykgXSA7IHRoZW4gXAorCSAgZWNobyAiUmVidWlsZGluZyB0aGUgSFRNTCBXZWIgcGFnZXMgZnJvbSB4bWwuaHRtbCIgOyBcCisJICAkKFhTTFRQUk9DKSAtLW5vbmV0IC0taHRtbCAtLXBhdGggJChzcmNkaXIpICQoc3JjZGlyKS9zaXRlLnhzbCAkKHNyY2RpcikveG1sLmh0bWwgPiBpbmRleC5odG1sIDsgZmkgKTsKKwktQChpZiBbIC14ICQoWE1MTElOVCkgXSA7IHRoZW4gXAorCSAgZWNobyAiVmFsaWRhdGluZyB0aGUgSFRNTCBXZWIgcGFnZXMiIDsgXAorCSAgJChYTUxMSU5UKSAtLW5vbmV0IC0tdmFsaWQgLS1ub291dCAkKFBBR0VTKSA7IGZpICk7CisKKyQodG9wX2J1aWxkZGlyKS9ORVdTOiAkKHNyY2RpcikvbmV3cy54c2wgJChzcmNkaXIpL25ld3MuaHRtbAorCS1AKGlmIFsgLXggJChYU0xUUFJPQykgXSA7IHRoZW4gXAorCSAgJChYU0xUUFJPQykgLS1ub25ldCAkKHNyY2RpcikvbmV3cy54c2wgJChzcmNkaXIpL25ld3MuaHRtbCA+ICQodG9wX2J1aWxkZGlyKS9ORVdTIDsgZmkgKTsKKworbGlieG1sMi54c2E6ICQoc3JjZGlyKS94c2EueHNsICQoc3JjZGlyKS9uZXdzLmh0bWwKKwktQChpZiBbIC14ICQoWFNMVFBST0MpIF0gOyB0aGVuIFwKKwkgIGVjaG8gIlJlYnVpbGRpbmcgdGhlIE5FV1MgZmlsZSIgOyBcCisJICAkKFhTTFRQUk9DKSAtLW5vbmV0ICQoc3JjZGlyKS94c2EueHNsICQoc3JjZGlyKS9uZXdzLmh0bWwgPiBsaWJ4bWwyLnhzYSA7IGZpICk7CisKKyQoQVBJUEFHRVMpOiBsaWJ4bWwyLWFwaS54bWwgbGlieG1sMi1yZWZzLnhtbCAkKHNyY2Rpcikvc2l0ZS54c2wgJChzcmNkaXIpL2FwaS54c2wKKwktQChpZiBbIC14ICQoWFNMVFBST0MpIF0gOyB0aGVuIFwKKwkgIGVjaG8gIlJlYnVpbGRpbmcgdGhlIEhUTUwgQVBJIHBhZ2VzIGZyb20gbGlieG1sMi1yZWZzLnhtbCIgOyBcCisJICAkKFhTTFRQUk9DKSAtLW5vbmV0IC0taHRtbCAkKHNyY2RpcikvYXBpLnhzbCBcCisJICAgICAgICAgICAgICAgICAgICAgJChzcmNkaXIpL3htbC5odG1sIDsgZmkgKTsKKwktQChpZiBbIC14ICQoWE1MTElOVCkgXSA7IHRoZW4gXAorCSAgZWNobyAiVmFsaWRhdGluZyB0aGUgSFRNTCBBUEkgcGFnZXMiIDsgXAorCSAgJChYTUxMSU5UKSAtLW5vbmV0IC0tdmFsaWQgLS1ub291dCBBUEkqLmh0bWwgOyBmaSApOworCiskKHNyY2RpcikvaHRtbC9pbmRleC5odG1sOiBsaWJ4bWwyLWFwaS54bWwgJChzcmNkaXIpL25ld2FwaS54c2wKKwktQChpZiBbIC14ICQoWFNMVFBST0MpIF0gOyB0aGVuIFwKKwkgIGVjaG8gIlJlYnVpbGRpbmcgdGhlIEhUTUwgcGFnZXMgZnJvbSB0aGUgWE1MIEFQSSIgOyBcCisJICAkKFhTTFRQUk9DKSAtLW5vbmV0ICQoc3JjZGlyKS9uZXdhcGkueHNsICQoc3JjZGlyKS9saWJ4bWwyLWFwaS54bWwgOyBmaSApCisJLUAoaWYgWyAteCAkKFhNTExJTlQpIF0gOyB0aGVuIFwKKwkgIGVjaG8gIlZhbGlkYXRpbmcgdGhlIHJlc3VsdGluZyBYSFRNTCBwYWdlcyIgOyBcCisJICAkKFhNTExJTlQpIC0tbm9uZXQgLS12YWxpZCAtLW5vb3V0IGh0bWwvKi5odG1sIDsgZmkgKTsKKword2lraTogbGlieG1sMi1hcGkueG1sICQoc3JjZGlyKS93aWtpLnhzbAorCS1AKGlmIFsgLXggJChYU0xUUFJPQykgXSA7IHRoZW4gXAorCQllY2hvICJSZWJ1aWxkaW5nIHRoZSB3aWtpIEhUTUwgcGFnZXMgZnJvbSB0aGUgWE1MIEFQSSIgOyBcCisJCSQoWFNMVFBST0MpIC0tbm9uZXQgJChzcmNkaXIpL3dpa2kueHNsICQoc3JjZGlyKS9saWJ4bWwyLWFwaS54bWw7IGZpICkKKworJChXSU4zMl9ESVIpL2xpYnhtbDIuZGVmLnNyYzogbGlieG1sMi1hcGkueG1sCisJLUAoaWYgWyAteCAkKFhTTFRQUk9DKSBdIDsgdGhlbiBcCisJICAkKFhTTFRQUk9DKSAtbyAkKFdJTjMyX0RJUikvbGlieG1sMi5kZWYuc3JjIFwKKwkgIC0tbm9uZXQgJChXSU4zMl9ESVIpL2RlZmdlbi54c2wgbGlieG1sMi1hcGkueG1sIDsgZmkgKQorCitzb3VyY2VfZmlsZV9kZXBzID0gXAorCSQoZmlsdGVyLW91dCAlL3htbHZlcnNpb24uaCwgJCh3aWxkY2FyZCAkKHRvcF9zcmNkaXIpL2luY2x1ZGUvbGlieG1sLyouaCkpIFwKKwkkKHRvcF9zcmNkaXIpL2luY2x1ZGUvbGlieG1sL3htbHZlcnNpb24uaC5pbiBcCisJJCh3aWxkY2FyZCAkKHRvcF9zcmNkaXIpLyouYykKKworbGlieG1sMi1hcGkueG1sIGxpYnhtbDItcmVmcy54bWwgLi4vbGlieG1sMi5zeW1zOiBhcGlidWlsZC5weSBzeW1ib2xzLnhtbCBzeW1zLnhzbCBjaGVja2FwaXN5bS54c2wgJChzb3VyY2VfZmlsZV9kZXBzKQorCXRlc3QgLWYgJCh0b3Bfc3JjZGlyKS9pbmNsdWRlL2xpYnhtbC94bWx2ZXJzaW9uLmgKKwkoY2QgJChzcmNkaXIpICYmIC4vYXBpYnVpbGQucHkpCisJKCQoWFNMVFBST0MpICQoc3JjZGlyKS9jaGVja2FwaXN5bS54c2wgJChzcmNkaXIpL2xpYnhtbDItYXBpLnhtbCkKKwkoJChYU0xUUFJPQykgLW8gLi4vbGlieG1sMi5zeW1zICQoc3JjZGlyKS9zeW1zLnhzbCAkKHNyY2Rpcikvc3ltYm9scy54bWwpCisJLUAoY2QgLi4gOyAkKE1BS0UpIHJlYnVpbGRfdGVzdGFwaSkKKworCit4bWxsaW50LjE6IHhtbGxpbnQueG1sCisJLUAoJChYU0xUUFJPQykgLS1ub25ldCB4bWxsaW50LnhtbCkKKworeG1sY2F0YWxvZy4xOiB4bWxjYXRhbG9nX21hbi54bWwKKwktQCgkKFhTTFRQUk9DKSAtLW5vbmV0IHhtbGNhdGFsb2dfbWFuLnhtbCkKKworY2hlY2stZXh0cmEtZGlzdDoKKwlmb3IgZiBpbiAkKEVYVFJBX0RJU1Rfd2MpIDsgZG8gZWNobyAkJGY7IGRvbmUgfCBzb3J0IC11ID50bXAuRVhUUkFfRElTVF93YworCWZvciBmIGluICQoRVhUUkFfRElTVCkgOyAgICBkbyBlY2hvICQkZjsgZG9uZSB8IHNvcnQgICAgPnRtcC5FWFRSQV9ESVNUCisJZGlmZiAtdSB0bXAuRVhUUkFfRElTVF93YyB0bXAuRVhUUkFfRElTVAorCXJtIC1mIHRtcC5FWFRSQV9ESVNUX3djIHRtcC5FWFRSQV9ESVNUCitlbmRpZgorCitjbGVhbi1sb2NhbDoKKwlybSAtZiAqfiAqLmJhayAqLmhpZXJhcmNoeSAqLnNpZ25hbHMgKi11bnVzZWQudHh0CisKK21haW50YWluZXItY2xlYW4tbG9jYWw6IGNsZWFuLWxvY2FsCisJcm0gLXJmIGxpYnhtbC1kZWNsLWxpc3QudHh0IGxpYnhtbC1kZWNsLnR4dCAKKworcmVidWlsZDogYXBpIGRvY3MKKworaW5zdGFsbC1kYXRhLWxvY2FsOiAKKwkkKE1LRElSX1ApICQoREVTVERJUikkKEhUTUxfRElSKQorCS0kKElOU1RBTEwpIC1tIDA2NDQgJChzcmNkaXIpL3htbC5odG1sICQoc3JjZGlyKS9lbmNvZGluZy5odG1sICQoc3JjZGlyKS9GQVEuaHRtbCAkKHNyY2Rpcikvc3RydWN0dXJlLmdpZiAkKHNyY2RpcikvRE9NLmdpZiAkKHNyY2Rpcikvc21hbGxmb290b25seS5naWYgJChzcmNkaXIpL3JlZGhhdC5naWYgJChzcmNkaXIpL2xpYnhtbC5naWYgJChzcmNkaXIpL3czYy5wbmcgJChzcmNkaXIpL0xpYnhtbDItTG9nby0xODB4MTY4LmdpZiAkKHNyY2RpcikvTGlieG1sMi1Mb2dvLTkweDM0LmdpZiAkKERFU1RESVIpJChIVE1MX0RJUikKKwkkKE1LRElSX1ApICQoREVTVERJUikkKEhUTUxfRElSKS9odG1sCisJLSQoSU5TVEFMTCkgLW0gMDY0NCAkKHNyY2RpcikvaHRtbC8qLmh0bWwgJChERVNURElSKSQoSFRNTF9ESVIpL2h0bWwKKwktJChJTlNUQUxMKSAtbSAwNjQ0ICQoc3JjZGlyKS9odG1sLyoucG5nICQoREVTVERJUikkKEhUTUxfRElSKS9odG1sCisJJChNS0RJUl9QKSAkKERFU1RESVIpJChIVE1MX0RJUikvdHV0b3JpYWwKKwktJChJTlNUQUxMKSAtbSAwNjQ0ICQoc3JjZGlyKS90dXRvcmlhbC8qLiogXAorCQkkKERFU1RESVIpJChIVE1MX0RJUikvdHV0b3JpYWwKKwkkKE1LRElSX1ApICQoREVTVERJUikkKEhUTUxfRElSKS90dXRvcmlhbC9pbWFnZXMKKwktJChJTlNUQUxMKSAtbSAwNjQ0ICQoc3JjZGlyKS90dXRvcmlhbC9pbWFnZXMvKi4qIFwKKwkJJChERVNURElSKSQoSFRNTF9ESVIpL3R1dG9yaWFsL2ltYWdlcworCSQoTUtESVJfUCkgJChERVNURElSKSQoSFRNTF9ESVIpL3R1dG9yaWFsL2ltYWdlcy9jYWxsb3V0cworCS0kKElOU1RBTEwpIC1tIDA2NDQgJChzcmNkaXIpL3R1dG9yaWFsL2ltYWdlcy9jYWxsb3V0cy8qLiogXAorCQkkKERFU1RESVIpJChIVE1MX0RJUikvdHV0b3JpYWwvaW1hZ2VzL2NhbGxvdXRzCisKKy5QSE9OWTogZG9jcyBhcGkgd2ViIHdpa2kgcmVidWlsZApkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvUkVBRE1FLmRvY3MgYi9saWJ4bWwyL2RvYy9SRUFETUUuZG9jcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNzliMzc1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvUkVBRE1FLmRvY3MKQEAgLTAsMCArMSwyNCBAQAorCisgICAgICAgICAgICAgICAgICBYTUwgdG9vbGtpdCBmcm9tIHRoZSBHTk9NRSBwcm9qZWN0CisKK0Z1bGwgZG9jdW1lbnRhdGlvbiBpcyBhdmFpbGFibGUgb24tbGluZSBhdAorICAgIGh0dHA6Ly94bWxzb2Z0Lm9yZy8KKworVGhpcyBjb2RlIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5jZSBzZWUgdGhlIENvcHlyaWdodCBmaWxlLgorCitUbyByZXBvcnQgYnVncywgZm9sbG93IHRoZSBpbnN0cnVjdGlvbnMgYXQ6IAorICBodHRwOi8veG1sc29mdC5vcmcvYnVncy5odG1sCisKK0EgbWFpbGluZy1saXN0IHhtbEBnbm9tZS5vcmcgaXMgYXZhaWxhYmxlLCB0byBzdWJzY3JpYmU6CisgICAgaHR0cDovL21haWwuZ25vbWUub3JnL21haWxtYW4vbGlzdGluZm8veG1sCisKK1RoZSBsaXN0IGFyY2hpdmUgaXMgYXQ6CisgICAgaHR0cDovL21haWwuZ25vbWUub3JnL2FyY2hpdmVzL3htbC8KKworQWxsIHRlY2huaWNhbCBhbnN3ZXJzIGFza2VkIHByaXZhdGVseSB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgYW5zd2VyZWQgb24KK3RoZSBsaXN0IGFuZCBhcmNoaXZlZCBmb3IgcHVibGljIGFjY2VzcyB1bmxlc3MgcHJpY2FjeSBpcyBleHBsaWNpdGVseQorcmVxdWlyZWQgYW5kIGp1c3RpZmllZC4KKworRGFuaWVsIFZlaWxsYXJkCisKKyRJZCQKZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL1hNTGluZm8uaHRtbCBiL2xpYnhtbDIvZG9jL1hNTGluZm8uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NGE3YjM2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvWE1MaW5mby5odG1sCkBAIC0wLDAgKzEsMzUgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+PGxpbmsgcmVsPSJTSE9SVENVVCBJQ09OIiBocmVmPSIvZmF2aWNvbi5pY28iIC8+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK1REIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitCT0RZIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2E7IG1hcmdpbi10b3A6IDJlbTsgbWFyZ2luLWxlZnQ6IDBlbTsgbWFyZ2luLXJpZ2h0OiAwZW19CitIMSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDIge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gzIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitBOmxpbmssIEE6dmlzaXRlZCwgQTphY3RpdmUgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB9Cis8L3N0eWxlPjx0aXRsZT5YTUw8L3RpdGxlPjwvaGVhZD48Ym9keSBiZ2NvbG9yPSIjOGI3NzY1IiB0ZXh0PSIjMDAwMDAwIiBsaW5rPSIjYTA2MDYwIiB2bGluaz0iIzAwMDAwMCI+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjEwMCUiIGNlbGxwYWRkaW5nPSI1IiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCB3aWR0aD0iMTIwIj48YSBocmVmPSJodHRwOi8vc3dwYXQuZmZpaS5vcmcvIj48aW1nIHNyYz0iZXBhdGVudHMucG5nIiBhbHQ9IkFjdGlvbiBhZ2FpbnN0IHNvZnR3YXJlIHBhdGVudHMiIC8+PC9hPjwvdGQ+PHRkIHdpZHRoPSIxODAiPjxhIGhyZWY9Imh0dHA6Ly93d3cuZ25vbWUub3JnLyI+PGltZyBzcmM9Imdub21lMi5wbmciIGFsdD0iR25vbWUyIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1N0YXR1cyI+PGltZyBzcmM9InczYy5wbmciIGFsdD0iVzNDIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cucmVkaGF0LmNvbS8iPjxpbWcgc3JjPSJyZWRoYXQuZ2lmIiBhbHQ9IlJlZCBIYXQgTG9nbyIgLz48L2E+PGRpdiBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnLyI+PGltZyBzcmM9IkxpYnhtbDItTG9nby0xODB4MTY4LmdpZiIgYWx0PSJNYWRlIHdpdGggTGlieG1sMiBMb2dvIiAvPjwvYT48L2Rpdj48L3RkPjx0ZD48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iOTAlIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyIgYmdjb2xvcj0iI2ZmZmFjZCI+PHRyPjx0ZCBhbGlnbj0iY2VudGVyIj48aDE+VGhlIFhNTCBDIHBhcnNlciBhbmQgdG9vbGtpdCBvZiBHbm9tZTwvaDE+PGgyPlhNTDwvaDI+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjQiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiIHdpZHRoPSIxMDAlIj48dHI+PHRkIHZhbGlnbj0idG9wIiB3aWR0aD0iMjAwIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5NYWluIE1lbnU8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PGZvcm0gYWN0aW9uPSJzZWFyY2gucGhwIiBlbmN0eXBlPSJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiIG1ldGhvZD0iZ2V0Ij48aW5wdXQgbmFtZT0icXVlcnkiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iIiAvPjxpbnB1dCBuYW1lPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNlYXJjaCAuLi4iIC8+PC9mb3JtPjx1bD48bGk+PGEgaHJlZj0iaW5kZXguaHRtbCI+SG9tZTwvYT48L2xpPjxsaT48YSBocmVmPSJodG1sL2luZGV4Lmh0bWwiPlJlZmVyZW5jZSBNYW51YWw8L2E+PC9saT48bGk+PGEgaHJlZj0iaW50cm8uaHRtbCI+SW50cm9kdWN0aW9uPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkZBUS5odG1sIj5GQVE8L2E+PC9saT48bGk+PGEgaHJlZj0iZG9jcy5odG1sIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+RGV2ZWxvcGVyIE1lbnU8L2E+PC9saT48bGk+PGEgaHJlZj0iYnVncy5odG1sIj5SZXBvcnRpbmcgYnVncyBhbmQgZ2V0dGluZyBoZWxwPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImhlbHAuaHRtbCI+SG93IHRvIGhlbHA8L2E+PC9saT48bGk+PGEgaHJlZj0iZG93bmxvYWRzLmh0bWwiPkRvd25sb2FkczwvYT48L2xpPjxsaT48YSBocmVmPSJuZXdzLmh0bWwiPlJlbGVhc2VzPC9hPjwvbGk+PGxpPjxhIGhyZWY9IlhNTGluZm8uaHRtbCI+WE1MPC9hPjwvbGk+PGxpPjxhIGhyZWY9IlhTTFQuaHRtbCI+WFNMVDwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWxkdGQuaHRtbCI+VmFsaWRhdGlvbiAmYW1wOyBEVERzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImVuY29kaW5nLmh0bWwiPkVuY29kaW5ncyBzdXBwb3J0PC9hPjwvbGk+PGxpPjxhIGhyZWY9ImNhdGFsb2cuaHRtbCI+Q2F0YWxvZyBzdXBwb3J0PC9hPjwvbGk+PGxpPjxhIGhyZWY9Im5hbWVzcGFjZXMuaHRtbCI+TmFtZXNwYWNlczwvYT48L2xpPjxsaT48YSBocmVmPSJjb250cmlicy5odG1sIj5Db250cmlidXRpb25zPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImV4YW1wbGVzL2luZGV4Lmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5Db2RlIEV4YW1wbGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0bWwvaW5kZXguaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPkFQSSBNZW51PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imd1aWRlbGluZXMuaHRtbCI+WE1MIEd1aWRlbGluZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iQ2hhbmdlTG9nLmh0bWwiPlJlY2VudCBDaGFuZ2VzPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+UmVsYXRlZCBsaW5rczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9Imh0dHA6Ly9tYWlsLmdub21lLm9yZy9hcmNoaXZlcy94bWwvIj5NYWlsIGFyY2hpdmU8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnL1hTTFQvIj5YU0xUIGxpYnhzbHQ8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3BoZC5jcy51bmliby5pdC9nZG9tZTIvIj5ET00gZ2RvbWUyPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuYWxla3NleS5jb20veG1sc2VjLyI+WE1MLURTaWcgeG1sc2VjPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImZ0cDovL3htbHNvZnQub3JnLyI+RlRQPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemxhdGtvdmljLmNvbS9wcm9qZWN0cy9saWJ4bWwvIj5XaW5kb3dzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9vcGVuY3N3Lm9yZy9wYWNrYWdlcy9saWJ4bWwyIj5Tb2xhcmlzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuZXhwbGFpbi5jb20uYXUvb3NzL2xpYnhtbDJ4c2x0Lmh0bWwiPk1hY09zWCBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbHhtbC5kZS8iPmx4bWwgUHl0aG9uIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9jcGFuLnV3aW5uaXBlZy5jYS9kaXN0L1hNTC1MaWJYTUwiPlBlcmwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbHBsdXNwbHVzLnNvdXJjZWZvcmdlLm5ldC8iPkMrKyBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnplbmQuY29tL3BocDUvYXJ0aWNsZXMvcGhwNS14bWxwaHAucGhwI0hlYWRpbmc0Ij5QSFAgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9saWJ4bWwyLXBhcy8iPlBhc2NhbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1sLnJ1Ynlmb3JnZS5vcmcvIj5SdWJ5IGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly90Y2x4bWwuc291cmNlZm9yZ2UubmV0LyI+VGNsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvYnVnbGlzdC5jZ2k/cHJvZHVjdD1saWJ4bWwyIj5CdWcgVHJhY2tlcjwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMyIgY2VsbHNwYWNpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjxwPjxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy14bWwiPlhNTCBpcyBhIHN0YW5kYXJkPC9hPiBmb3IKK21hcmt1cC1iYXNlZCBzdHJ1Y3R1cmVkIGRvY3VtZW50cy4gSGVyZSBpcyA8YSBuYW1lPSJleGFtcGxlIiBpZD0iZXhhbXBsZSI+YW4gZXhhbXBsZSBYTUwKK2RvY3VtZW50PC9hPjo8L3A+PHByZT4mbHQ7P3htbCB2ZXJzaW9uPSIxLjAiPyZndDsKKyZsdDtFWEFNUExFIHByb3AxPSJnbm9tZSBpcyBncmVhdCIgcHJvcDI9IiZhbXA7YW1wOyBsaW51eCB0b28iJmd0OworICAmbHQ7aGVhZCZndDsKKyAgICZsdDt0aXRsZSZndDtXZWxjb21lIHRvIEdub21lJmx0Oy90aXRsZSZndDsKKyAgJmx0Oy9oZWFkJmd0OworICAmbHQ7Y2hhcHRlciZndDsKKyAgICZsdDt0aXRsZSZndDtUaGUgTGludXggYWR2ZW50dXJlJmx0Oy90aXRsZSZndDsKKyAgICZsdDtwJmd0O2JsYSBibGEgYmxhIC4uLiZsdDsvcCZndDsKKyAgICZsdDtpbWFnZSBocmVmPSJsaW51cy5naWYiLyZndDsKKyAgICZsdDtwJmd0Oy4uLiZsdDsvcCZndDsKKyAgJmx0Oy9jaGFwdGVyJmd0OworJmx0Oy9FWEFNUExFJmd0OzwvcHJlPjxwPlRoZSBmaXJzdCBsaW5lIHNwZWNpZmllcyB0aGF0IGl0IGlzIGFuIFhNTCBkb2N1bWVudCBhbmQgZ2l2ZXMgdXNlZnVsCitpbmZvcm1hdGlvbiBhYm91dCBpdHMgZW5jb2RpbmcuICBUaGVuIHRoZSByZXN0IG9mIHRoZSBkb2N1bWVudCBpcyBhIHRleHQKK2Zvcm1hdCB3aG9zZSBzdHJ1Y3R1cmUgaXMgc3BlY2lmaWVkIGJ5IHRhZ3MgYmV0d2VlbiBicmFja2V0cy4gPHN0cm9uZz5FYWNoCit0YWcgb3BlbmVkIGhhcyB0byBiZSBjbG9zZWQ8L3N0cm9uZz4uIFhNTCBpcyBwZWRhbnRpYyBhYm91dCB0aGlzLiBIb3dldmVyLCBpZgorYSB0YWcgaXMgZW1wdHkgKG5vIGNvbnRlbnQpLCBhIHNpbmdsZSB0YWcgY2FuIHNlcnZlIGFzIGJvdGggdGhlIG9wZW5pbmcgYW5kCitjbG9zaW5nIHRhZyBpZiBpdCBlbmRzIHdpdGggPGNvZGU+LyZndDs8L2NvZGU+IHJhdGhlciB0aGFuIHdpdGgKKzxjb2RlPiZndDs8L2NvZGU+LiBOb3RlIHRoYXQsIGZvciBleGFtcGxlLCB0aGUgaW1hZ2UgdGFnIGhhcyBubyBjb250ZW50IChqdXN0CithbiBhdHRyaWJ1dGUpIGFuZCBpcyBjbG9zZWQgYnkgZW5kaW5nIHRoZSB0YWcgd2l0aCA8Y29kZT4vJmd0OzwvY29kZT4uPC9wPjxwPlhNTCBjYW4gYmUgYXBwbGllZCBzdWNjZXNzZnVsbHkgdG8gYSB3aWRlIHJhbmdlIG9mIHRhc2tzLCByYW5naW5nIGZyb20KK2xvbmcgdGVybSBzdHJ1Y3R1cmVkIGRvY3VtZW50IG1haW50ZW5hbmNlICh3aGVyZSBpdCBmb2xsb3dzIHRoZSBzdGVwcyBvZgorU0dNTCkgdG8gc2ltcGxlIGRhdGEgZW5jb2RpbmcgbWVjaGFuaXNtcyBsaWtlIGNvbmZpZ3VyYXRpb24gZmlsZSBmb3JtYXR0aW5nCisoZ2xhZGUpLCBzcHJlYWRzaGVldHMgKGdudW1lcmljKSwgb3IgZXZlbiBzaG9ydGVyIGxpdmVkIGRvY3VtZW50cyBzdWNoIGFzCitXZWJEQVYgd2hlcmUgaXQgaXMgdXNlZCB0byBlbmNvZGUgcmVtb3RlIGNhbGxzIGJldHdlZW4gYSBjbGllbnQgYW5kIGEKK3NlcnZlci48L3A+PHA+PGEgaHJlZj0iYnVncy5odG1sIj5EYW5pZWwgVmVpbGxhcmQ8L2E+PC9wPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9YU0xULmh0bWwgYi9saWJ4bWwyL2RvYy9YU0xULmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjY0YTY3NwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL1hTTFQuaHRtbApAQCAtMCwwICsxLDEzIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPgorPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPjxoZWFkPjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPjxsaW5rIHJlbD0iU0hPUlRDVVQgSUNPTiIgaHJlZj0iL2Zhdmljb24uaWNvIiAvPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CitURCB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorQk9EWSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhOyBtYXJnaW4tdG9wOiAyZW07IG1hcmdpbi1sZWZ0OiAwZW07IG1hcmdpbi1yaWdodDogMGVtfQorSDEge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gyIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMyB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorQTpsaW5rLCBBOnZpc2l0ZWQsIEE6YWN0aXZlIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgfQorPC9zdHlsZT48dGl0bGU+WFNMVDwvdGl0bGU+PC9oZWFkPjxib2R5IGJnY29sb3I9IiM4Yjc3NjUiIHRleHQ9IiMwMDAwMDAiIGxpbms9IiNhMDYwNjAiIHZsaW5rPSIjMDAwMDAwIj48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iMTAwJSIgY2VsbHBhZGRpbmc9IjUiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIHdpZHRoPSIxMjAiPjxhIGhyZWY9Imh0dHA6Ly9zd3BhdC5mZmlpLm9yZy8iPjxpbWcgc3JjPSJlcGF0ZW50cy5wbmciIGFsdD0iQWN0aW9uIGFnYWluc3Qgc29mdHdhcmUgcGF0ZW50cyIgLz48L2E+PC90ZD48dGQgd2lkdGg9IjE4MCI+PGEgaHJlZj0iaHR0cDovL3d3dy5nbm9tZS5vcmcvIj48aW1nIHNyYz0iZ25vbWUyLnBuZyIgYWx0PSJHbm9tZTIgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvU3RhdHVzIj48aW1nIHNyYz0idzNjLnBuZyIgYWx0PSJXM0MgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy5yZWRoYXQuY29tLyI+PGltZyBzcmM9InJlZGhhdC5naWYiIGFsdD0iUmVkIEhhdCBMb2dvIiAvPjwvYT48ZGl2IGFsaWduPSJsZWZ0Ij48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvIj48aW1nIHNyYz0iTGlieG1sMi1Mb2dvLTE4MHgxNjguZ2lmIiBhbHQ9Ik1hZGUgd2l0aCBMaWJ4bWwyIExvZ28iIC8+PC9hPjwvZGl2PjwvdGQ+PHRkPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSI5MCUiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIiBiZ2NvbG9yPSIjZmZmYWNkIj48dHI+PHRkIGFsaWduPSJjZW50ZXIiPjxoMT5UaGUgWE1MIEMgcGFyc2VyIGFuZCB0b29sa2l0IG9mIEdub21lPC9oMT48aDI+WFNMVDwvaDI+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjQiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiIHdpZHRoPSIxMDAlIj48dHI+PHRkIHZhbGlnbj0idG9wIiB3aWR0aD0iMjAwIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5NYWluIE1lbnU8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PGZvcm0gYWN0aW9uPSJzZWFyY2gucGhwIiBlbmN0eXBlPSJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiIG1ldGhvZD0iZ2V0Ij48aW5wdXQgbmFtZT0icXVlcnkiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iIiAvPjxpbnB1dCBuYW1lPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNlYXJjaCAuLi4iIC8+PC9mb3JtPjx1bD48bGk+PGEgaHJlZj0iaW5kZXguaHRtbCI+SG9tZTwvYT48L2xpPjxsaT48YSBocmVmPSJodG1sL2luZGV4Lmh0bWwiPlJlZmVyZW5jZSBNYW51YWw8L2E+PC9saT48bGk+PGEgaHJlZj0iaW50cm8uaHRtbCI+SW50cm9kdWN0aW9uPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkZBUS5odG1sIj5GQVE8L2E+PC9saT48bGk+PGEgaHJlZj0iZG9jcy5odG1sIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+RGV2ZWxvcGVyIE1lbnU8L2E+PC9saT48bGk+PGEgaHJlZj0iYnVncy5odG1sIj5SZXBvcnRpbmcgYnVncyBhbmQgZ2V0dGluZyBoZWxwPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImhlbHAuaHRtbCI+SG93IHRvIGhlbHA8L2E+PC9saT48bGk+PGEgaHJlZj0iZG93bmxvYWRzLmh0bWwiPkRvd25sb2FkczwvYT48L2xpPjxsaT48YSBocmVmPSJuZXdzLmh0bWwiPlJlbGVhc2VzPC9hPjwvbGk+PGxpPjxhIGhyZWY9IlhNTGluZm8uaHRtbCI+WE1MPC9hPjwvbGk+PGxpPjxhIGhyZWY9IlhTTFQuaHRtbCI+WFNMVDwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWxkdGQuaHRtbCI+VmFsaWRhdGlvbiAmYW1wOyBEVERzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImVuY29kaW5nLmh0bWwiPkVuY29kaW5ncyBzdXBwb3J0PC9hPjwvbGk+PGxpPjxhIGhyZWY9ImNhdGFsb2cuaHRtbCI+Q2F0YWxvZyBzdXBwb3J0PC9hPjwvbGk+PGxpPjxhIGhyZWY9Im5hbWVzcGFjZXMuaHRtbCI+TmFtZXNwYWNlczwvYT48L2xpPjxsaT48YSBocmVmPSJjb250cmlicy5odG1sIj5Db250cmlidXRpb25zPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImV4YW1wbGVzL2luZGV4Lmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5Db2RlIEV4YW1wbGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0bWwvaW5kZXguaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPkFQSSBNZW51PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imd1aWRlbGluZXMuaHRtbCI+WE1MIEd1aWRlbGluZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iQ2hhbmdlTG9nLmh0bWwiPlJlY2VudCBDaGFuZ2VzPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+UmVsYXRlZCBsaW5rczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9Imh0dHA6Ly9tYWlsLmdub21lLm9yZy9hcmNoaXZlcy94bWwvIj5NYWlsIGFyY2hpdmU8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnL1hTTFQvIj5YU0xUIGxpYnhzbHQ8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3BoZC5jcy51bmliby5pdC9nZG9tZTIvIj5ET00gZ2RvbWUyPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuYWxla3NleS5jb20veG1sc2VjLyI+WE1MLURTaWcgeG1sc2VjPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImZ0cDovL3htbHNvZnQub3JnLyI+RlRQPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemxhdGtvdmljLmNvbS9wcm9qZWN0cy9saWJ4bWwvIj5XaW5kb3dzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9vcGVuY3N3Lm9yZy9wYWNrYWdlcy9saWJ4bWwyIj5Tb2xhcmlzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuZXhwbGFpbi5jb20uYXUvb3NzL2xpYnhtbDJ4c2x0Lmh0bWwiPk1hY09zWCBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbHhtbC5kZS8iPmx4bWwgUHl0aG9uIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9jcGFuLnV3aW5uaXBlZy5jYS9kaXN0L1hNTC1MaWJYTUwiPlBlcmwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbHBsdXNwbHVzLnNvdXJjZWZvcmdlLm5ldC8iPkMrKyBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnplbmQuY29tL3BocDUvYXJ0aWNsZXMvcGhwNS14bWxwaHAucGhwI0hlYWRpbmc0Ij5QSFAgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9saWJ4bWwyLXBhcy8iPlBhc2NhbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1sLnJ1Ynlmb3JnZS5vcmcvIj5SdWJ5IGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly90Y2x4bWwuc291cmNlZm9yZ2UubmV0LyI+VGNsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvYnVnbGlzdC5jZ2k/cHJvZHVjdD1saWJ4bWwyIj5CdWcgVHJhY2tlcjwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMyIgY2VsbHNwYWNpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjxwPkNoZWNrIDxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9YU0xUIj50aGUgc2VwYXJhdGUgbGlieHNsdCBwYWdlPC9hPjwvcD48cD48YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi94c2x0Ij5YU0wgVHJhbnNmb3JtYXRpb25zPC9hPiwgIGlzIGEKK2xhbmd1YWdlIGZvciB0cmFuc2Zvcm1pbmcgWE1MIGRvY3VtZW50cyBpbnRvIG90aGVyIFhNTCBkb2N1bWVudHMgKG9yCitIVE1ML3RleHR1YWwgb3V0cHV0KS48L3A+PHA+QSBzZXBhcmF0ZSBsaWJyYXJ5IGNhbGxlZCBsaWJ4c2x0IGlzIGF2YWlsYWJsZSBpbXBsZW1lbnRpbmcgWFNMVC0xLjAgZm9yCitsaWJ4bWwyLiBUaGlzIG1vZHVsZSAibGlieHNsdCIgdG9vIGNhbiBiZSBmb3VuZCBpbiB0aGUgR25vbWUgU1ZOIGJhc2UuPC9wPjxwPllvdSBjYW4gY2hlY2sgdGhlIHByb2dyZXNzZXMgb24gdGhlIGxpYnhzbHQgPGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnL1hTTFQvQ2hhbmdlTG9nLmh0bWwiPkNoYW5nZWxvZzwvYT4uPC9wPjxwPjxhIGhyZWY9ImJ1Z3MuaHRtbCI+RGFuaWVsIFZlaWxsYXJkPC9hPjwvcD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvYXBpLnhzbCBiL2xpYnhtbDIvZG9jL2FwaS54c2wKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmY5MDA3ZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL2FwaS54c2wKQEAgLTAsMCArMSwzOTQgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCEtLSB0aGlzIHN0eWxlc2hlZXQgYnVpbGRzIHRoZSBBUEkqLmh0bWwgLCBpdCB3b3JrcyBiYXNlZCBvbiBsaWJ4bWwyLXJlZnMueG1sCisgIC0tPgorPHhzbDpzdHlsZXNoZWV0IHZlcnNpb249IjEuMCIKKyAgeG1sbnM6eHNsPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L1hTTC9UcmFuc2Zvcm0iCisgIHhtbG5zOmV4c2w9Imh0dHA6Ly9leHNsdC5vcmcvY29tbW9uIgorICBleHRlbnNpb24tZWxlbWVudC1wcmVmaXhlcz0iZXhzbCIKKyAgZXhjbHVkZS1yZXN1bHQtcHJlZml4ZXM9ImV4c2wiPgorCisgIDwhLS0gSW1wb3J0IHRoZSByZXN0IG9mIHRoZSBzaXRlIHN0eWxlc2hlZXRzIC0tPgorICA8eHNsOmltcG9ydCBocmVmPSJzaXRlLnhzbCIvPgorCisgIDwhLS0gR2VuZXJhdGUgWEhUTUwtMS4wIHRyYW5zaXRpb25hbCAtLT4KKyAgPHhzbDpvdXRwdXQgbWV0aG9kPSJ4bWwiIGVuY29kaW5nPSJVVEYtOCIgaW5kZW50PSJ5ZXMiCisgICAgICBkb2N0eXBlLXB1YmxpYz0iLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iCisgICAgICBkb2N0eXBlLXN5c3RlbT0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCIvPgorCisgIDx4c2w6dmFyaWFibGUgbmFtZT0iaHJlZl9iYXNlIiBzZWxlY3Q9IicnIi8+CisgIDx4c2w6dmFyaWFibGUgbmFtZT0iYXBpcmVmcyIgc2VsZWN0PSJkb2N1bWVudCgnbGlieG1sMi1yZWZzLnhtbCcpIi8+CisgIDx4c2w6dmFyaWFibGUgbmFtZT0ibW9kdWxlIiBzZWxlY3Q9IiRhcGlyZWZzL2FwaXJlZnMvQG5hbWUiLz4KKyAgPHhzbDprZXkgbmFtZT0icmVmaHJlZiIgbWF0Y2g9InJlZmVyZW5jZSIgdXNlPSJAbmFtZSIvPgorCisgIDx4c2w6dGVtcGxhdGUgbWF0Y2g9InJlZiIgbW9kZT0iYW5jaG9yIj4KKyAgICA8eHNsOnZhcmlhYmxlIG5hbWU9Im5hbWUiIHNlbGVjdD0iQG5hbWUiLz4KKyAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0iZG9jdW1lbnQoJ2xpYnhtbDItcmVmcy54bWwnKSI+CisJPGEgaHJlZj0ie2tleSgncmVmaHJlZicsICRuYW1lKS9AaHJlZn0iPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkbmFtZSIvPjwvYT48YnIvPgorICAgIDwveHNsOmZvci1lYWNoPgorICA8L3hzbDp0ZW1wbGF0ZT4KKyAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD0idHlwZSIgbW9kZT0icmVmbGlzdCI+CisgICAgPGgyPlR5cGUgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+OjwvaDI+CisgICAgPHA+CisgICAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0icmVmIj4KKyAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgbW9kZT0iYW5jaG9yIiBzZWxlY3Q9Ii4iLz4KKwk8eHNsOnRleHQ+Cis8L3hzbDp0ZXh0PgorICAgICAgPC94c2w6Zm9yLWVhY2g+CisgICAgPC9wPgorICA8L3hzbDp0ZW1wbGF0ZT4KKyAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD0ibGV0dGVyIiBtb2RlPSJyZWZsaXN0Ij4KKyAgICA8aDI+TGV0dGVyIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPjo8L2gyPgorICAgIDxwPgorICAgICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9InJlZiI+CisgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIG1vZGU9ImFuY2hvciIgc2VsZWN0PSIuIi8+CisJPHhzbDp0ZXh0PgorPC94c2w6dGV4dD4KKyAgICAgIDwveHNsOmZvci1lYWNoPgorICAgIDwvcD4KKyAgPC94c2w6dGVtcGxhdGU+CisgIDx4c2w6dGVtcGxhdGUgbWF0Y2g9ImZpbGUiIG1vZGU9InJlZmxpc3QiPgorICAgIDxoMj48YSBuYW1lPSJ7QG5hbWV9Ij5Nb2R1bGUgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+PC9hPjo8L2gyPgorICAgIDxwPgorICAgICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9InJlZiI+CisgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIG1vZGU9ImFuY2hvciIgc2VsZWN0PSIuIi8+CisJPHhzbDp0ZXh0PgorPC94c2w6dGV4dD4KKyAgICAgIDwveHNsOmZvci1lYWNoPgorICAgIDwvcD4KKyAgPC94c2w6dGVtcGxhdGU+CisgIDx4c2w6dGVtcGxhdGUgbWF0Y2g9ImxldHRlciIgbW9kZT0id29yZGxpc3QiPgorICAgIDxoMj5MZXR0ZXIgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+OjwvaDI+CisgICAgPGRsPgorICAgICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9IndvcmQiPgorICAgICAgICA8ZHQ+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+PC9kdD4KKwk8ZGQ+CisJPHhzbDpmb3ItZWFjaCBzZWxlY3Q9InJlZiI+CisJICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBtb2RlPSJhbmNob3IiIHNlbGVjdD0iLiIvPgorCSAgPHhzbDp0ZXh0PgorPC94c2w6dGV4dD4KKwk8L3hzbDpmb3ItZWFjaD4KKwk8L2RkPgorICAgICAgPC94c2w6Zm9yLWVhY2g+CisgICAgPC9kbD4KKyAgPC94c2w6dGVtcGxhdGU+CisKKyAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iY29uc3RydWN0b3JzIj4KKyAgICA8eHNsOm1lc3NhZ2U+R2VuZXJhdGluZyBBUEkgQ29uc3RydWN0b3JzPC94c2w6bWVzc2FnZT4KKyAgICA8eHNsOnZhcmlhYmxlIG5hbWU9InRpdGxlIj5MaXN0IG9mIGNvbnN0cnVjdG9ycyBmb3IgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRtb2R1bGUiLz48L3hzbDp2YXJpYWJsZT4KKyAgICA8eHNsOmRvY3VtZW50IGhyZWY9IkFQSWNvbnN0cnVjdG9ycy5odG1sIiBtZXRob2Q9InhtbCIgZW5jb2Rpbmc9IlVURi04IgorICAgICAgZG9jdHlwZS1wdWJsaWM9Ii0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIgorICAgICAgZG9jdHlwZS1zeXN0ZW09Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPgorICAgICAgPGh0bWw+CisgICAgICAgIDxoZWFkPgorICAgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0ic3R5bGUiLz4KKwk8eHNsOmVsZW1lbnQgbmFtZT0idGl0bGUiPgorCSAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiR0aXRsZSIvPgorCTwveHNsOmVsZW1lbnQ+CisgICAgICAgIDwvaGVhZD4KKyAgICAgICAgPGJvZHkgYmdjb2xvcj0iIzhiNzc2NSIgdGV4dD0iIzAwMDAwMCIgbGluaz0iI2EwNjA2MCIgdmxpbms9IiMwMDAwMDAiPgorICAgICAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJ0aXRsZWJveCI+CisJICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJ0aXRsZSIgc2VsZWN0PSIkdGl0bGUiLz4KKwkgIDwveHNsOmNhbGwtdGVtcGxhdGU+CisgICAgICAgICAgPHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjQiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+CisgICAgICAgICAgICA8dHI+CisgICAgICAgICAgICAgIDx0ZCBiZ2NvbG9yPSIjOGI3NzY1Ij4KKyAgICAgICAgICAgICAgICA8dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiIHdpZHRoPSIxMDAlIj4KKyAgICAgICAgICAgICAgICAgIDx0cj4KKyAgICAgICAgICAgICAgICAgICAgPHRkIHZhbGlnbj0idG9wIiB3aWR0aD0iMjAwIiBiZ2NvbG9yPSIjOGI3NzY1Ij4KKyAgICAgICAgICAgICAgICAgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iZGV2ZWx0b2MiLz4KKyAgICAgICAgICAgICAgICAgICAgPC90ZD4KKyAgICAgICAgICAgICAgICAgICAgPHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjOGI3NzY1Ij4KKyAgICAgICAgICAgICAgICAgICAgICA8dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiB3aWR0aD0iMTAwJSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj4KKwkJCQkgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIG1vZGU9InJlZmxpc3QiIHNlbGVjdD0idHlwZSIvPgorCQkJCQk8cD48YSBocmVmPSJ7JGhyZWZfYmFzZX1idWdzLmh0bWwiPkRhbmllbCBWZWlsbGFyZDwvYT48L3A+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+CisgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CisgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgorICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+CisgICAgICAgICAgICAgICAgICAgIDwvdGQ+CisgICAgICAgICAgICAgICAgICA8L3RyPgorICAgICAgICAgICAgICAgIDwvdGFibGU+CisgICAgICAgICAgICAgIDwvdGQ+CisgICAgICAgICAgICA8L3RyPgorICAgICAgICAgIDwvdGFibGU+CisgICAgICAgIDwvYm9keT4KKyAgICAgIDwvaHRtbD4KKyAgICA8L3hzbDpkb2N1bWVudD4KKyAgPC94c2w6dGVtcGxhdGU+CisgIDx4c2w6dGVtcGxhdGUgbWF0Y2g9ImZpbGVzIj4KKyAgICA8eHNsOm1lc3NhZ2U+R2VuZXJhdGluZyBBUEkgTGlzdCBvZiBzeW5ib2xzIHBlciBmaWxlPC94c2w6bWVzc2FnZT4KKyAgICA8eHNsOnZhcmlhYmxlIG5hbWU9InRpdGxlIj5MaXN0IG9mIFN5bWJvbHMgcGVyIE1vZHVsZSBmb3IgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRtb2R1bGUiLz48L3hzbDp2YXJpYWJsZT4KKyAgICA8eHNsOmRvY3VtZW50IGhyZWY9IkFQSWZpbGVzLmh0bWwiIG1ldGhvZD0ieG1sIiBlbmNvZGluZz0iVVRGLTgiCisgICAgICBkb2N0eXBlLXB1YmxpYz0iLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iCisgICAgICBkb2N0eXBlLXN5c3RlbT0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+CisgICAgICA8aHRtbD4KKyAgICAgICAgPGhlYWQ+CisgICAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJzdHlsZSIvPgorCTx4c2w6ZWxlbWVudCBuYW1lPSJ0aXRsZSI+CisJICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iJHRpdGxlIi8+CisJPC94c2w6ZWxlbWVudD4KKyAgICAgICAgPC9oZWFkPgorICAgICAgICA8Ym9keSBiZ2NvbG9yPSIjOGI3NzY1IiB0ZXh0PSIjMDAwMDAwIiBsaW5rPSIjYTA2MDYwIiB2bGluaz0iIzAwMDAwMCI+CisgICAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9InRpdGxlYm94Ij4KKwkgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9InRpdGxlIiBzZWxlY3Q9IiR0aXRsZSIvPgorCSAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKyAgICAgICAgICA8dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iNCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIiBhbGlnbj0iY2VudGVyIj4KKyAgICAgICAgICAgIDx0cj4KKyAgICAgICAgICAgICAgPHRkIGJnY29sb3I9IiM4Yjc3NjUiPgorICAgICAgICAgICAgICAgIDx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiIgd2lkdGg9IjEwMCUiPgorICAgICAgICAgICAgICAgICAgPHRyPgorICAgICAgICAgICAgICAgICAgICA8dGQgdmFsaWduPSJ0b3AiIHdpZHRoPSIyMDAiIGJnY29sb3I9IiM4Yjc3NjUiPgorICAgICAgICAgICAgICAgICAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJkZXZlbHRvYyIvPgorICAgICAgICAgICAgICAgICAgICA8L3RkPgorICAgICAgICAgICAgICAgICAgICA8dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiM4Yjc3NjUiPgorICAgICAgICAgICAgICAgICAgICAgIDx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiPgorICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgorICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMyIgY2VsbHNwYWNpbmc9IjEiIHdpZHRoPSIxMDAlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGJnY29sb3I9IiNmZmZhY2QiPgorCQkJCSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgbW9kZT0icmVmbGlzdCIgc2VsZWN0PSJmaWxlIi8+CisJCQkJCTxwPjxhIGhyZWY9InskaHJlZl9iYXNlfWJ1Z3MuaHRtbCI+RGFuaWVsIFZlaWxsYXJkPC9hPjwvcD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CisgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KKyAgICAgICAgICAgICAgICAgICAgPC90ZD4KKyAgICAgICAgICAgICAgICAgIDwvdHI+CisgICAgICAgICAgICAgICAgPC90YWJsZT4KKyAgICAgICAgICAgICAgPC90ZD4KKyAgICAgICAgICAgIDwvdHI+CisgICAgICAgICAgPC90YWJsZT4KKyAgICAgICAgPC9ib2R5PgorICAgICAgPC9odG1sPgorICAgIDwveHNsOmRvY3VtZW50PgorICA8L3hzbDp0ZW1wbGF0ZT4KKyAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iZnVuY3Rpb25zIj4KKyAgICA8eHNsOm1lc3NhZ2U+R2VuZXJhdGluZyBBUEkgRnVuY3Rpb25zIGJ5IFR5cGU8L3hzbDptZXNzYWdlPgorICAgIDx4c2w6dmFyaWFibGUgbmFtZT0idGl0bGUiPkxpc3Qgb2YgZnVuY3Rpb24gbWFuaXB1bGF0aW5nIHR5cGVzIGluIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkbW9kdWxlIi8+PC94c2w6dmFyaWFibGU+CisgICAgPHhzbDpkb2N1bWVudCBocmVmPSJBUElmdW5jdGlvbnMuaHRtbCIgbWV0aG9kPSJ4bWwiIGVuY29kaW5nPSJVVEYtOCIKKyAgICAgIGRvY3R5cGUtcHVibGljPSItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIKKyAgICAgIGRvY3R5cGUtc3lzdGVtPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIj4KKyAgICAgIDxodG1sPgorICAgICAgICA8aGVhZD4KKyAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9InN0eWxlIi8+CisJPHhzbDplbGVtZW50IG5hbWU9InRpdGxlIj4KKwkgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkdGl0bGUiLz4KKwk8L3hzbDplbGVtZW50PgorICAgICAgICA8L2hlYWQ+CisgICAgICAgIDxib2R5IGJnY29sb3I9IiM4Yjc3NjUiIHRleHQ9IiMwMDAwMDAiIGxpbms9IiNhMDYwNjAiIHZsaW5rPSIjMDAwMDAwIj4KKyAgICAgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0idGl0bGVib3giPgorCSAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0idGl0bGUiIHNlbGVjdD0iJHRpdGxlIi8+CisJICA8L3hzbDpjYWxsLXRlbXBsYXRlPgorICAgICAgICAgIDx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI0IiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPgorICAgICAgICAgICAgPHRyPgorICAgICAgICAgICAgICA8dGQgYmdjb2xvcj0iIzhiNzc2NSI+CisgICAgICAgICAgICAgICAgPHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIiB3aWR0aD0iMTAwJSI+CisgICAgICAgICAgICAgICAgICA8dHI+CisgICAgICAgICAgICAgICAgICAgIDx0ZCB2YWxpZ249InRvcCIgd2lkdGg9IjIwMCIgYmdjb2xvcj0iIzhiNzc2NSI+CisgICAgICAgICAgICAgICAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImRldmVsdG9jIi8+CisgICAgICAgICAgICAgICAgICAgIDwvdGQ+CisgICAgICAgICAgICAgICAgICAgIDx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzhiNzc2NSI+CisgICAgICAgICAgICAgICAgICAgICAgPHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSI+CisgICAgICAgICAgICAgICAgICAgICAgICA8dHI+CisgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIzIiBjZWxsc3BhY2luZz0iMSIgd2lkdGg9IjEwMCUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgYmdjb2xvcj0iI2ZmZmFjZCI+CisJCQkJICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBtb2RlPSJyZWZsaXN0IiBzZWxlY3Q9InR5cGUiLz4KKwkJCQkJPHA+PGEgaHJlZj0ieyRocmVmX2Jhc2V9YnVncy5odG1sIj5EYW5pZWwgVmVpbGxhcmQ8L2E+PC9wPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPgorICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgorICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KKyAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPgorICAgICAgICAgICAgICAgICAgICA8L3RkPgorICAgICAgICAgICAgICAgICAgPC90cj4KKyAgICAgICAgICAgICAgICA8L3RhYmxlPgorICAgICAgICAgICAgICA8L3RkPgorICAgICAgICAgICAgPC90cj4KKyAgICAgICAgICA8L3RhYmxlPgorICAgICAgICA8L2JvZHk+CisgICAgICA8L2h0bWw+CisgICAgPC94c2w6ZG9jdW1lbnQ+CisgIDwveHNsOnRlbXBsYXRlPgorICA8eHNsOnRlbXBsYXRlIG1hdGNoPSJhbHBoYSI+CisgICAgPHhzbDptZXNzYWdlPkdlbmVyYXRpbmcgQVBJIEFscGhhYmV0aWMgbGlzdDwveHNsOm1lc3NhZ2U+CisgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJ0aXRsZSI+QWxwaGFiZXRpYyBMaXN0IG9mIFN5bWJvbHMgaW4gPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRtb2R1bGUiLz48L3hzbDp2YXJpYWJsZT4KKyAgICA8eHNsOmRvY3VtZW50IGhyZWY9IkFQSXN5bWJvbHMuaHRtbCIgbWV0aG9kPSJ4bWwiIGVuY29kaW5nPSJVVEYtOCIKKyAgICAgIGRvY3R5cGUtcHVibGljPSItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIKKyAgICAgIGRvY3R5cGUtc3lzdGVtPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIj4KKyAgICAgIDxodG1sPgorICAgICAgICA8aGVhZD4KKyAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9InN0eWxlIi8+CisJPHhzbDplbGVtZW50IG5hbWU9InRpdGxlIj4KKwkgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkdGl0bGUiLz4KKwk8L3hzbDplbGVtZW50PgorICAgICAgICA8L2hlYWQ+CisgICAgICAgIDxib2R5IGJnY29sb3I9IiM4Yjc3NjUiIHRleHQ9IiMwMDAwMDAiIGxpbms9IiNhMDYwNjAiIHZsaW5rPSIjMDAwMDAwIj4KKyAgICAgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0idGl0bGVib3giPgorCSAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0idGl0bGUiIHNlbGVjdD0iJHRpdGxlIi8+CisJICA8L3hzbDpjYWxsLXRlbXBsYXRlPgorICAgICAgICAgIDx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI0IiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPgorICAgICAgICAgICAgPHRyPgorICAgICAgICAgICAgICA8dGQgYmdjb2xvcj0iIzhiNzc2NSI+CisgICAgICAgICAgICAgICAgPHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIiB3aWR0aD0iMTAwJSI+CisgICAgICAgICAgICAgICAgICA8dHI+CisgICAgICAgICAgICAgICAgICAgIDx0ZCB2YWxpZ249InRvcCIgd2lkdGg9IjIwMCIgYmdjb2xvcj0iIzhiNzc2NSI+CisgICAgICAgICAgICAgICAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImRldmVsdG9jIi8+CisgICAgICAgICAgICAgICAgICAgIDwvdGQ+CisgICAgICAgICAgICAgICAgICAgIDx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzhiNzc2NSI+CisgICAgICAgICAgICAgICAgICAgICAgPHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSI+CisgICAgICAgICAgICAgICAgICAgICAgICA8dHI+CisgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIzIiBjZWxsc3BhY2luZz0iMSIgd2lkdGg9IjEwMCUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgYmdjb2xvcj0iI2ZmZmFjZCI+CisJCQkJICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBtb2RlPSJyZWZsaXN0IiBzZWxlY3Q9ImxldHRlciIvPgorCQkJCQk8cD48YSBocmVmPSJ7JGhyZWZfYmFzZX1idWdzLmh0bWwiPkRhbmllbCBWZWlsbGFyZDwvYT48L3A+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+CisgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CisgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgorICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+CisgICAgICAgICAgICAgICAgICAgIDwvdGQ+CisgICAgICAgICAgICAgICAgICA8L3RyPgorICAgICAgICAgICAgICAgIDwvdGFibGU+CisgICAgICAgICAgICAgIDwvdGQ+CisgICAgICAgICAgICA8L3RyPgorICAgICAgICAgIDwvdGFibGU+CisgICAgICAgIDwvYm9keT4KKyAgICAgIDwvaHRtbD4KKyAgICA8L3hzbDpkb2N1bWVudD4KKyAgPC94c2w6dGVtcGxhdGU+CisgIDx4c2w6dGVtcGxhdGUgbmFtZT0iYXBpY2h1bmtzIj4KKyAgICA8aDIgYWxpZ249ImNlbnRlciI+CisgICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9Ii9hcGlyZWZzL2luZGV4L2NodW5rcy9jaHVuayI+CisgICAgICA8eHNsOnZhcmlhYmxlIG5hbWU9Im5hbWUiIHNlbGVjdD0iQG5hbWUiLz4KKyAgICAgIDx4c2w6dmFyaWFibGUgbmFtZT0ic3RhcnQiIHNlbGVjdD0iQHN0YXJ0Ii8+CisgICAgICA8eHNsOnZhcmlhYmxlIG5hbWU9ImVuZCIgc2VsZWN0PSJAZW5kIi8+CisgICAgICA8eHNsOnZhcmlhYmxlIG5hbWU9ImJsb2NrIiBzZWxlY3Q9ImNvbmNhdCgkc3RhcnQsICctJywgJGVuZCkiLz4KKyAgICAgIDxhIGhyZWY9IkFQSXskbmFtZX0uaHRtbCI+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRibG9jayIvPjwvYT4KKyAgICAgIDx4c2w6dGV4dD4KKzwveHNsOnRleHQ+CisgICAgPC94c2w6Zm9yLWVhY2g+CisgICAgPC9oMj4KKyAgPC94c2w6dGVtcGxhdGU+CisgIDx4c2w6dGVtcGxhdGUgbWF0Y2g9ImNodW5rIj4KKyAgICA8eHNsOnZhcmlhYmxlIG5hbWU9Im5hbWUiIHNlbGVjdD0iQG5hbWUiLz4KKyAgICA8eHNsOnZhcmlhYmxlIG5hbWU9InN0YXJ0IiBzZWxlY3Q9IkBzdGFydCIvPgorICAgIDx4c2w6dmFyaWFibGUgbmFtZT0iZW5kIiBzZWxlY3Q9IkBlbmQiLz4KKyAgICA8eHNsOnZhcmlhYmxlIG5hbWU9ImJsb2NrIiBzZWxlY3Q9ImNvbmNhdCgkc3RhcnQsICctJywgJGVuZCkiLz4KKyAgICA8eHNsOnZhcmlhYmxlIG5hbWU9InRhcmdldCIgc2VsZWN0PSIvYXBpcmVmcy9pbmRleC9jaHVua1tAbmFtZSA9ICRuYW1lXSIvPgorICAgIDx4c2w6dmFyaWFibGUgbmFtZT0idGl0bGUiPkFQSSBBbHBoYWJldGljIEluZGV4IDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkYmxvY2siLz4gZm9yIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkbW9kdWxlIi8+PC94c2w6dmFyaWFibGU+CisgICAgPHhzbDpkb2N1bWVudCBocmVmPSJBUEl7JG5hbWV9Lmh0bWwiIG1ldGhvZD0ieG1sIiBlbmNvZGluZz0iVVRGLTgiCisgICAgICBkb2N0eXBlLXB1YmxpYz0iLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iCisgICAgICBkb2N0eXBlLXN5c3RlbT0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+CisgICAgICA8aHRtbD4KKyAgICAgICAgPGhlYWQ+CisgICAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJzdHlsZSIvPgorCTx4c2w6ZWxlbWVudCBuYW1lPSJ0aXRsZSI+CisJICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iJHRpdGxlIi8+CisJPC94c2w6ZWxlbWVudD4KKyAgICAgICAgPC9oZWFkPgorICAgICAgICA8Ym9keSBiZ2NvbG9yPSIjOGI3NzY1IiB0ZXh0PSIjMDAwMDAwIiBsaW5rPSIjYTA2MDYwIiB2bGluaz0iIzAwMDAwMCI+CisgICAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9InRpdGxlYm94Ij4KKwkgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9InRpdGxlIiBzZWxlY3Q9IiR0aXRsZSIvPgorCSAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKyAgICAgICAgICA8dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iNCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIiBhbGlnbj0iY2VudGVyIj4KKyAgICAgICAgICAgIDx0cj4KKyAgICAgICAgICAgICAgPHRkIGJnY29sb3I9IiM4Yjc3NjUiPgorICAgICAgICAgICAgICAgIDx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiIgd2lkdGg9IjEwMCUiPgorICAgICAgICAgICAgICAgICAgPHRyPgorICAgICAgICAgICAgICAgICAgICA8dGQgdmFsaWduPSJ0b3AiIHdpZHRoPSIyMDAiIGJnY29sb3I9IiM4Yjc3NjUiPgorICAgICAgICAgICAgICAgICAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJkZXZlbHRvYyIvPgorICAgICAgICAgICAgICAgICAgICA8L3RkPgorICAgICAgICAgICAgICAgICAgICA8dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiM4Yjc3NjUiPgorICAgICAgICAgICAgICAgICAgICAgIDx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiPgorICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgorICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMyIgY2VsbHNwYWNpbmc9IjEiIHdpZHRoPSIxMDAlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGJnY29sb3I9IiNmZmZhY2QiPgorCQkJCSAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImFwaWNodW5rcyIvPgorCQkJCSAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgbW9kZT0id29yZGxpc3QiCisJCQkJCSAgICAgICAgICAgc2VsZWN0PSIkdGFyZ2V0L2xldHRlciIvPgorCQkJCSAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImFwaWNodW5rcyIvPgorCQkJCQk8cD48YSBocmVmPSJ7JGhyZWZfYmFzZX1idWdzLmh0bWwiPkRhbmllbCBWZWlsbGFyZDwvYT48L3A+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+CisgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CisgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgorICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+CisgICAgICAgICAgICAgICAgICAgIDwvdGQ+CisgICAgICAgICAgICAgICAgICA8L3RyPgorICAgICAgICAgICAgICAgIDwvdGFibGU+CisgICAgICAgICAgICAgIDwvdGQ+CisgICAgICAgICAgICA8L3RyPgorICAgICAgICAgIDwvdGFibGU+CisgICAgICAgIDwvYm9keT4KKyAgICAgIDwvaHRtbD4KKyAgICA8L3hzbDpkb2N1bWVudD4KKyAgPC94c2w6dGVtcGxhdGU+CisKKyAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iaW5kZXgiPgorICAgIDx4c2w6bWVzc2FnZT5HZW5lcmF0aW5nIEFQSSBJbmRleDwveHNsOm1lc3NhZ2U+CisgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJjaHVua3MvY2h1bmsiLz4KKyAgPC94c2w6dGVtcGxhdGU+CisKKyAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iYXBpcmVmcyI+CisgICAgPHhzbDptZXNzYWdlPkdlbmVyYXRpbmcgQVBJIENyb3NzIFJlZmVyZW5jZXM8L3hzbDptZXNzYWdlPgorICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iY29uc3RydWN0b3JzIi8+CisgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJmdW5jdGlvbnMiLz4KKyAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImFscGhhIi8+CisgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJmaWxlcyIvPgorICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iaW5kZXgiLz4KKyAgPC94c2w6dGVtcGxhdGU+CisKKyAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iLyI+CisgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSIkYXBpcmVmcy9hcGlyZWZzIi8+CisgIDwveHNsOnRlbXBsYXRlPgorCis8L3hzbDpzdHlsZXNoZWV0PgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvYXBpYnVpbGQucHkgYi9saWJ4bWwyL2RvYy9hcGlidWlsZC5weQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iNWI2NjlhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvYXBpYnVpbGQucHkKQEAgLTAsMCArMSwyMTUxIEBACisjIS91c3IvYmluL3B5dGhvbiAtdQorIworIyBUaGlzIGlzIHRoZSBBUEkgYnVpbGRlciwgaXQgcGFyc2VzIHRoZSBDIHNvdXJjZXMgYW5kIGJ1aWxkIHRoZQorIyBBUEkgZm9ybWFsIGRlc2NyaXB0aW9uIGluIFhNTC4KKyMKKyMgU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgorIworIyBkYW5pZWxAdmVpbGxhcmQuY29tCisjCitpbXBvcnQgb3MsIHN5cworaW1wb3J0IHN0cmluZworaW1wb3J0IGdsb2IKKworZGVidWc9MAorI2RlYnVnc3ltPSdpZ25vcmFibGVXaGl0ZXNwYWNlU0FYRnVuYycKK2RlYnVnc3ltPU5vbmUKKworIworIyBDIHBhcnNlciBhbmFseXNpcyBjb2RlCisjCitpZ25vcmVkX2ZpbGVzID0geworICAidHJpbyI6ICJ0b28gbWFueSBub24gc3RhbmRhcmQgbWFjcm9zIiwKKyAgInRyaW8uYyI6ICJ0b28gbWFueSBub24gc3RhbmRhcmQgbWFjcm9zIiwKKyAgInRyaW9uYW4uYyI6ICJ0b28gbWFueSBub24gc3RhbmRhcmQgbWFjcm9zIiwKKyAgInRyaW9zdHIuYyI6ICJ0b28gbWFueSBub24gc3RhbmRhcmQgbWFjcm9zIiwKKyAgImFjY29uZmlnLmgiOiAiZ2VuZXJhdGVkIHBvcnRhYmlsaXR5IGxheWVyIiwKKyAgImNvbmZpZy5oIjogImdlbmVyYXRlZCBwb3J0YWJpbGl0eSBsYXllciIsCisgICJsaWJ4bWwuaCI6ICJpbnRlcm5hbCBvbmx5IiwKKyAgInRlc3RPT00uYyI6ICJvdXQgb2YgbWVtb3J5IHRlc3RlciIsCisgICJ0ZXN0T09NbGliLmgiOiAib3V0IG9mIG1lbW9yeSB0ZXN0ZXIiLAorICAidGVzdE9PTWxpYi5jIjogIm91dCBvZiBtZW1vcnkgdGVzdGVyIiwKKyAgInJuZ3BhcnNlci5jIjogIm5vdCB5ZXQgaW50ZWdyYXRlZCIsCisgICJybmdwYXJzZXIuaCI6ICJub3QgeWV0IGludGVncmF0ZWQiLAorICAiZWxmZ2NjaGFjay5oIjogIm5vdCBhIG5vcm1hbCBoZWFkZXIiLAorICAidGVzdEhUTUwuYyI6ICJ0ZXN0IHRvb2wiLAorICAidGVzdFJlYWRlci5jIjogInRlc3QgdG9vbCIsCisgICJ0ZXN0U2NoZW1hcy5jIjogInRlc3QgdG9vbCIsCisgICJ0ZXN0WFBhdGguYyI6ICJ0ZXN0IHRvb2wiLAorICAidGVzdEF1dG9tYXRhLmMiOiAidGVzdCB0b29sIiwKKyAgInRlc3RNb2R1bGUuYyI6ICJ0ZXN0IHRvb2wiLAorICAidGVzdFJlZ2V4cC5jIjogInRlc3QgdG9vbCIsCisgICJ0ZXN0VGhyZWFkcy5jIjogInRlc3QgdG9vbCIsCisgICJ0ZXN0QzE0Ti5jIjogInRlc3QgdG9vbCIsCisgICJ0ZXN0UmVsYXguYyI6ICJ0ZXN0IHRvb2wiLAorICAidGVzdFRocmVhZHNXaW4zMi5jIjogInRlc3QgdG9vbCIsCisgICJ0ZXN0U0FYLmMiOiAidGVzdCB0b29sIiwKKyAgInRlc3RVUkkuYyI6ICJ0ZXN0IHRvb2wiLAorICAidGVzdGFwaS5jIjogImdlbmVyYXRlZCByZWdyZXNzaW9uIHRlc3RzIiwKKyAgInJ1bnRlc3QuYyI6ICJyZWdyZXNzaW9uIHRlc3RzIHByb2dyYW0iLAorICAicnVuc3VpdGUuYyI6ICJyZWdyZXNzaW9uIHRlc3RzIHByb2dyYW0iLAorICAidHN0LmMiOiAibm90IHBhcnQgb2YgdGhlIGxpYnJhcnkiLAorICAidGVzdC5jIjogIm5vdCBwYXJ0IG9mIHRoZSBsaWJyYXJ5IiwKKyAgInRlc3Rkc28uYyI6ICJ0ZXN0IGZvciBkeW5hbWlkIHNoYXJlZCBsaWJyYXJpZXMiLAorICAidGVzdHJlY3Vyc2UuYyI6ICJ0ZXN0IGZvciBlbnRpdGllcyByZWN1cnNpb25zIiwKKyAgInh6bGliLmgiOiAiSW50ZXJuYWwgQVBJIG9ubHkgMi44LjAiLAorICAiYnVmLmgiOiAiSW50ZXJuYWwgQVBJIG9ubHkgMi45LjAiLAorICAiZW5jLmgiOiAiSW50ZXJuYWwgQVBJIG9ubHkgMi45LjAiLAorICAiL3NhdmUuaCI6ICJJbnRlcm5hbCBBUEkgb25seSAyLjkuMCIsCisgICJ0aW1zb3J0LmgiOiAiSW50ZXJuYWwgaGVhZGVyIG9ubHkgZm9yIHhwYXRoLmMgMi45LjAiLAorfQorCitpZ25vcmVkX3dvcmRzID0geworICAiV0lOQVBJIjogKDAsICJXaW5kb3dzIGtleXdvcmQiKSwKKyAgIkxJQlhNTF9ETExfSU1QT1JUIjogKDAsICJTcGVjaWFsIG1hY3JvIHRvIGZsYWcgZXh0ZXJuYWwga2V5d29yZHMiKSwKKyAgIlhNTFBVQlZBUiI6ICgwLCAiU3BlY2lhbCBtYWNybyBmb3IgZXh0ZXJuIHZhcnMgZm9yIHdpbjMyIiksCisgICJYU0xUUFVCVkFSIjogKDAsICJTcGVjaWFsIG1hY3JvIGZvciBleHRlcm4gdmFycyBmb3Igd2luMzIiKSwKKyAgIkVYU0xUUFVCVkFSIjogKDAsICJTcGVjaWFsIG1hY3JvIGZvciBleHRlcm4gdmFycyBmb3Igd2luMzIiKSwKKyAgIlhNTFBVQkZVTiI6ICgwLCAiU3BlY2lhbCBtYWNybyBmb3IgZXh0ZXJuIGZ1bmNzIGZvciB3aW4zMiIpLAorICAiWFNMVFBVQkZVTiI6ICgwLCAiU3BlY2lhbCBtYWNybyBmb3IgZXh0ZXJuIGZ1bmNzIGZvciB3aW4zMiIpLAorICAiRVhTTFRQVUJGVU4iOiAoMCwgIlNwZWNpYWwgbWFjcm8gZm9yIGV4dGVybiBmdW5jcyBmb3Igd2luMzIiKSwKKyAgIlhNTENBTEwiOiAoMCwgIlNwZWNpYWwgbWFjcm8gZm9yIHdpbjMyIGNhbGxzIiksCisgICJYU0xUQ0FMTCI6ICgwLCAiU3BlY2lhbCBtYWNybyBmb3Igd2luMzIgY2FsbHMiKSwKKyAgIlhNTENERUNMIjogKDAsICJTcGVjaWFsIG1hY3JvIGZvciB3aW4zMiBjYWxscyIpLAorICAiRVhTTFRDQUxMIjogKDAsICJTcGVjaWFsIG1hY3JvIGZvciB3aW4zMiBjYWxscyIpLAorICAiX19kZWNsc3BlYyI6ICgzLCAiV2luZG93cyBrZXl3b3JkIiksCisgICJfX3N0ZGNhbGwiOiAoMCwgIldpbmRvd3Mga2V5d29yZCIpLAorICAiQVRUUklCVVRFX1VOVVNFRCI6ICgwLCAibWFjcm8ga2V5d29yZCIpLAorICAiTElCRVhTTFRfUFVCTElDIjogKDAsICJtYWNybyBrZXl3b3JkIiksCisgICJYX0lOX1kiOiAoNSwgIm1hY3JvIGZ1bmN0aW9uIGJ1aWxkZXIiKSwKKyAgIkFUVFJJQlVURV9BTExPQ19TSVpFIjogKDMsICJtYWNybyBmb3IgZ2NjIGNoZWNraW5nIGV4dGVuc2lvbiIpLAorICAiQVRUUklCVVRFX1BSSU5URiI6ICg1LCAibWFjcm8gZm9yIGdjYyBwcmludGYgYXJncyBjaGVja2luZyBleHRlbnNpb24iKSwKKyAgIkxJQlhNTF9BVFRSX0ZPUk1BVCI6ICg1LCAibWFjcm8gZm9yIGdjYyBwcmludGYgYXJncyBjaGVja2luZyBleHRlbnNpb24iKSwKKyAgIkxJQlhNTF9BVFRSX0FMTE9DX1NJWkUiOiAoMywgIm1hY3JvIGZvciBnY2MgY2hlY2tpbmcgZXh0ZW5zaW9uIiksCit9CisKK2RlZiBlc2NhcGUocmF3KToKKyAgICByYXcgPSByYXcucmVwbGFjZSgnJicsICcmYW1wOycpCisgICAgcmF3ID0gcmF3LnJlcGxhY2UoJzwnLCAnJmx0OycpCisgICAgcmF3ID0gcmF3LnJlcGxhY2UoJz4nLCAnJmd0OycpCisgICAgcmF3ID0gcmF3LnJlcGxhY2UoIiciLCAnJmFwb3M7JykKKyAgICByYXcgPSByYXcucmVwbGFjZSgnIicsICcmcXVvdDsnKQorICAgIHJldHVybiByYXcKKworZGVmIHVuaXEoaXRlbXMpOgorICAgIGQgPSB7fQorICAgIGZvciBpdGVtIGluIGl0ZW1zOgorICAgICAgICBkW2l0ZW1dPTEKKyAgICByZXR1cm4gbGlzdChkLmtleXMoKSkKKworY2xhc3MgaWRlbnRpZmllcjoKKyAgICBkZWYgX19pbml0X18oc2VsZiwgbmFtZSwgaGVhZGVyPU5vbmUsIG1vZHVsZT1Ob25lLCB0eXBlPU5vbmUsIGxpbmVubyA9IDAsCisgICAgICAgICAgICAgICAgIGluZm89Tm9uZSwgZXh0cmE9Tm9uZSwgY29uZGl0aW9uYWxzID0gTm9uZSk6CisgICAgICAgIHNlbGYubmFtZSA9IG5hbWUKKyAgICAgICAgc2VsZi5oZWFkZXIgPSBoZWFkZXIKKyAgICAgICAgc2VsZi5tb2R1bGUgPSBtb2R1bGUKKyAgICAgICAgc2VsZi50eXBlID0gdHlwZQorICAgICAgICBzZWxmLmluZm8gPSBpbmZvCisgICAgICAgIHNlbGYuZXh0cmEgPSBleHRyYQorICAgICAgICBzZWxmLmxpbmVubyA9IGxpbmVubworICAgICAgICBzZWxmLnN0YXRpYyA9IDAKKyAgICAgICAgaWYgY29uZGl0aW9uYWxzID09IE5vbmUgb3IgbGVuKGNvbmRpdGlvbmFscykgPT0gMDoKKyAgICAgICAgICAgIHNlbGYuY29uZGl0aW9uYWxzID0gTm9uZQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgc2VsZi5jb25kaXRpb25hbHMgPSBjb25kaXRpb25hbHNbOl0KKyAgICAgICAgaWYgc2VsZi5uYW1lID09IGRlYnVnc3ltOgorICAgICAgICAgICAgcHJpbnQoIj0+IGRlZmluZSAlcyA6ICVzIiAlIChkZWJ1Z3N5bSwgKG1vZHVsZSwgdHlwZSwgaW5mbywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXh0cmEsIGNvbmRpdGlvbmFscykpKQorCisgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgorICAgICAgICByID0gIiVzICVzOiIgJSAoc2VsZi50eXBlLCBzZWxmLm5hbWUpCisgICAgICAgIGlmIHNlbGYuc3RhdGljOgorICAgICAgICAgICAgciA9IHIgKyAiIHN0YXRpYyIKKyAgICAgICAgaWYgc2VsZi5tb2R1bGUgIT0gTm9uZToKKyAgICAgICAgICAgIHIgPSByICsgIiBmcm9tICVzIiAlIChzZWxmLm1vZHVsZSkKKyAgICAgICAgaWYgc2VsZi5pbmZvICE9IE5vbmU6CisgICAgICAgICAgICByID0gciArICIgIiArICByZXByKHNlbGYuaW5mbykKKyAgICAgICAgaWYgc2VsZi5leHRyYSAhPSBOb25lOgorICAgICAgICAgICAgciA9IHIgKyAiICIgKyByZXByKHNlbGYuZXh0cmEpCisgICAgICAgIGlmIHNlbGYuY29uZGl0aW9uYWxzICE9IE5vbmU6CisgICAgICAgICAgICByID0gciArICIgIiArIHJlcHIoc2VsZi5jb25kaXRpb25hbHMpCisgICAgICAgIHJldHVybiByCisKKworICAgIGRlZiBzZXRfaGVhZGVyKHNlbGYsIGhlYWRlcik6CisgICAgICAgIHNlbGYuaGVhZGVyID0gaGVhZGVyCisgICAgZGVmIHNldF9tb2R1bGUoc2VsZiwgbW9kdWxlKToKKyAgICAgICAgc2VsZi5tb2R1bGUgPSBtb2R1bGUKKyAgICBkZWYgc2V0X3R5cGUoc2VsZiwgdHlwZSk6CisgICAgICAgIHNlbGYudHlwZSA9IHR5cGUKKyAgICBkZWYgc2V0X2luZm8oc2VsZiwgaW5mbyk6CisgICAgICAgIHNlbGYuaW5mbyA9IGluZm8KKyAgICBkZWYgc2V0X2V4dHJhKHNlbGYsIGV4dHJhKToKKyAgICAgICAgc2VsZi5leHRyYSA9IGV4dHJhCisgICAgZGVmIHNldF9saW5lbm8oc2VsZiwgbGluZW5vKToKKyAgICAgICAgc2VsZi5saW5lbm8gPSBsaW5lbm8KKyAgICBkZWYgc2V0X3N0YXRpYyhzZWxmLCBzdGF0aWMpOgorICAgICAgICBzZWxmLnN0YXRpYyA9IHN0YXRpYworICAgIGRlZiBzZXRfY29uZGl0aW9uYWxzKHNlbGYsIGNvbmRpdGlvbmFscyk6CisgICAgICAgIGlmIGNvbmRpdGlvbmFscyA9PSBOb25lIG9yIGxlbihjb25kaXRpb25hbHMpID09IDA6CisgICAgICAgICAgICBzZWxmLmNvbmRpdGlvbmFscyA9IE5vbmUKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYuY29uZGl0aW9uYWxzID0gY29uZGl0aW9uYWxzWzpdCisKKyAgICBkZWYgZ2V0X25hbWUoc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLm5hbWUKKyAgICBkZWYgZ2V0X2hlYWRlcihzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYubW9kdWxlCisgICAgZGVmIGdldF9tb2R1bGUoc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLm1vZHVsZQorICAgIGRlZiBnZXRfdHlwZShzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYudHlwZQorICAgIGRlZiBnZXRfaW5mbyhzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYuaW5mbworICAgIGRlZiBnZXRfbGluZW5vKHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZi5saW5lbm8KKyAgICBkZWYgZ2V0X2V4dHJhKHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZi5leHRyYQorICAgIGRlZiBnZXRfc3RhdGljKHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZi5zdGF0aWMKKyAgICBkZWYgZ2V0X2NvbmRpdGlvbmFscyhzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYuY29uZGl0aW9uYWxzCisKKyAgICBkZWYgdXBkYXRlKHNlbGYsIGhlYWRlciwgbW9kdWxlLCB0eXBlID0gTm9uZSwgaW5mbyA9IE5vbmUsIGV4dHJhPU5vbmUsCisgICAgICAgICAgICAgICBjb25kaXRpb25hbHM9Tm9uZSk6CisgICAgICAgIGlmIHNlbGYubmFtZSA9PSBkZWJ1Z3N5bToKKyAgICAgICAgICAgIHByaW50KCI9PiB1cGRhdGUgJXMgOiAlcyIgJSAoZGVidWdzeW0sIChtb2R1bGUsIHR5cGUsIGluZm8sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4dHJhLCBjb25kaXRpb25hbHMpKSkKKyAgICAgICAgaWYgaGVhZGVyICE9IE5vbmUgYW5kIHNlbGYuaGVhZGVyID09IE5vbmU6CisgICAgICAgICAgICBzZWxmLnNldF9oZWFkZXIobW9kdWxlKQorICAgICAgICBpZiBtb2R1bGUgIT0gTm9uZSBhbmQgKHNlbGYubW9kdWxlID09IE5vbmUgb3Igc2VsZi5oZWFkZXIgPT0gc2VsZi5tb2R1bGUpOgorICAgICAgICAgICAgc2VsZi5zZXRfbW9kdWxlKG1vZHVsZSkKKyAgICAgICAgaWYgdHlwZSAhPSBOb25lIGFuZCBzZWxmLnR5cGUgPT0gTm9uZToKKyAgICAgICAgICAgIHNlbGYuc2V0X3R5cGUodHlwZSkKKyAgICAgICAgaWYgaW5mbyAhPSBOb25lOgorICAgICAgICAgICAgc2VsZi5zZXRfaW5mbyhpbmZvKQorICAgICAgICBpZiBleHRyYSAhPSBOb25lOgorICAgICAgICAgICAgc2VsZi5zZXRfZXh0cmEoZXh0cmEpCisgICAgICAgIGlmIGNvbmRpdGlvbmFscyAhPSBOb25lOgorICAgICAgICAgICAgc2VsZi5zZXRfY29uZGl0aW9uYWxzKGNvbmRpdGlvbmFscykKKworY2xhc3MgaW5kZXg6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIG5hbWUgPSAibm9uYW1lIik6CisgICAgICAgIHNlbGYubmFtZSA9IG5hbWUKKyAgICAgICAgc2VsZi5pZGVudGlmaWVycyA9IHt9CisgICAgICAgIHNlbGYuZnVuY3Rpb25zID0ge30KKyAgICAgICAgc2VsZi52YXJpYWJsZXMgPSB7fQorICAgICAgICBzZWxmLmluY2x1ZGVzID0ge30KKyAgICAgICAgc2VsZi5zdHJ1Y3RzID0ge30KKyAgICAgICAgc2VsZi5lbnVtcyA9IHt9CisgICAgICAgIHNlbGYudHlwZWRlZnMgPSB7fQorICAgICAgICBzZWxmLm1hY3JvcyA9IHt9CisgICAgICAgIHNlbGYucmVmZXJlbmNlcyA9IHt9CisgICAgICAgIHNlbGYuaW5mbyA9IHt9CisKKyAgICBkZWYgYWRkX3JlZihzZWxmLCBuYW1lLCBoZWFkZXIsIG1vZHVsZSwgc3RhdGljLCB0eXBlLCBsaW5lbm8sIGluZm89Tm9uZSwgZXh0cmE9Tm9uZSwgY29uZGl0aW9uYWxzID0gTm9uZSk6CisgICAgICAgIGlmIG5hbWVbMDoyXSA9PSAnX18nOgorICAgICAgICAgICAgcmV0dXJuIE5vbmUKKyAgICAgICAgZCA9IE5vbmUKKyAgICAgICAgdHJ5OgorICAgICAgICAgICBkID0gc2VsZi5pZGVudGlmaWVyc1tuYW1lXQorICAgICAgICAgICBkLnVwZGF0ZShoZWFkZXIsIG1vZHVsZSwgdHlwZSwgbGluZW5vLCBpbmZvLCBleHRyYSwgY29uZGl0aW9uYWxzKQorICAgICAgICBleGNlcHQ6CisgICAgICAgICAgIGQgPSBpZGVudGlmaWVyKG5hbWUsIGhlYWRlciwgbW9kdWxlLCB0eXBlLCBsaW5lbm8sIGluZm8sIGV4dHJhLCBjb25kaXRpb25hbHMpCisgICAgICAgICAgIHNlbGYuaWRlbnRpZmllcnNbbmFtZV0gPSBkCisKKyAgICAgICAgaWYgZCAhPSBOb25lIGFuZCBzdGF0aWMgPT0gMToKKyAgICAgICAgICAgIGQuc2V0X3N0YXRpYygxKQorCisgICAgICAgIGlmIGQgIT0gTm9uZSBhbmQgbmFtZSAhPSBOb25lIGFuZCB0eXBlICE9IE5vbmU6CisgICAgICAgICAgICBzZWxmLnJlZmVyZW5jZXNbbmFtZV0gPSBkCisKKyAgICAgICAgaWYgbmFtZSA9PSBkZWJ1Z3N5bToKKyAgICAgICAgICAgIHByaW50KCJOZXcgcmVmOiAlcyIgJSAoZCkpCisKKyAgICAgICAgcmV0dXJuIGQKKworICAgIGRlZiBhZGQoc2VsZiwgbmFtZSwgaGVhZGVyLCBtb2R1bGUsIHN0YXRpYywgdHlwZSwgbGluZW5vLCBpbmZvPU5vbmUsIGV4dHJhPU5vbmUsIGNvbmRpdGlvbmFscyA9IE5vbmUpOgorICAgICAgICBpZiBuYW1lWzA6Ml0gPT0gJ19fJzoKKyAgICAgICAgICAgIHJldHVybiBOb25lCisgICAgICAgIGQgPSBOb25lCisgICAgICAgIHRyeToKKyAgICAgICAgICAgZCA9IHNlbGYuaWRlbnRpZmllcnNbbmFtZV0KKyAgICAgICAgICAgZC51cGRhdGUoaGVhZGVyLCBtb2R1bGUsIHR5cGUsIGxpbmVubywgaW5mbywgZXh0cmEsIGNvbmRpdGlvbmFscykKKyAgICAgICAgZXhjZXB0OgorICAgICAgICAgICBkID0gaWRlbnRpZmllcihuYW1lLCBoZWFkZXIsIG1vZHVsZSwgdHlwZSwgbGluZW5vLCBpbmZvLCBleHRyYSwgY29uZGl0aW9uYWxzKQorICAgICAgICAgICBzZWxmLmlkZW50aWZpZXJzW25hbWVdID0gZAorCisgICAgICAgIGlmIGQgIT0gTm9uZSBhbmQgc3RhdGljID09IDE6CisgICAgICAgICAgICBkLnNldF9zdGF0aWMoMSkKKworICAgICAgICBpZiBkICE9IE5vbmUgYW5kIG5hbWUgIT0gTm9uZSBhbmQgdHlwZSAhPSBOb25lOgorICAgICAgICAgICAgaWYgdHlwZSA9PSAiZnVuY3Rpb24iOgorICAgICAgICAgICAgICAgIHNlbGYuZnVuY3Rpb25zW25hbWVdID0gZAorICAgICAgICAgICAgZWxpZiB0eXBlID09ICJmdW5jdHlwZSI6CisgICAgICAgICAgICAgICAgc2VsZi5mdW5jdGlvbnNbbmFtZV0gPSBkCisgICAgICAgICAgICBlbGlmIHR5cGUgPT0gInZhcmlhYmxlIjoKKyAgICAgICAgICAgICAgICBzZWxmLnZhcmlhYmxlc1tuYW1lXSA9IGQKKyAgICAgICAgICAgIGVsaWYgdHlwZSA9PSAiaW5jbHVkZSI6CisgICAgICAgICAgICAgICAgc2VsZi5pbmNsdWRlc1tuYW1lXSA9IGQKKyAgICAgICAgICAgIGVsaWYgdHlwZSA9PSAic3RydWN0IjoKKyAgICAgICAgICAgICAgICBzZWxmLnN0cnVjdHNbbmFtZV0gPSBkCisgICAgICAgICAgICBlbGlmIHR5cGUgPT0gImVudW0iOgorICAgICAgICAgICAgICAgIHNlbGYuZW51bXNbbmFtZV0gPSBkCisgICAgICAgICAgICBlbGlmIHR5cGUgPT0gInR5cGVkZWYiOgorICAgICAgICAgICAgICAgIHNlbGYudHlwZWRlZnNbbmFtZV0gPSBkCisgICAgICAgICAgICBlbGlmIHR5cGUgPT0gIm1hY3JvIjoKKyAgICAgICAgICAgICAgICBzZWxmLm1hY3Jvc1tuYW1lXSA9IGQKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgcHJpbnQoIlVuYWJsZSB0byByZWdpc3RlciB0eXBlICIsIHR5cGUpCisKKyAgICAgICAgaWYgbmFtZSA9PSBkZWJ1Z3N5bToKKyAgICAgICAgICAgIHByaW50KCJOZXcgc3ltYm9sOiAlcyIgJSAoZCkpCisKKyAgICAgICAgcmV0dXJuIGQKKworICAgIGRlZiBtZXJnZShzZWxmLCBpZHgpOgorICAgICAgICBmb3IgaWQgaW4gbGlzdChpZHguZnVuY3Rpb25zLmtleXMoKSk6CisgICAgICAgICAgICAgICMKKyAgICAgICAgICAgICAgIyBtYWNybyBtaWdodCBiZSB1c2VkIHRvIG92ZXJyaWRlIGZ1bmN0aW9ucyBvciB2YXJpYWJsZXMKKyAgICAgICAgICAgICAgIyBkZWZpbml0aW9ucworICAgICAgICAgICAgICAjCisgICAgICAgICAgICAgaWYgaWQgaW4gc2VsZi5tYWNyb3M6CisgICAgICAgICAgICAgICAgIGRlbCBzZWxmLm1hY3Jvc1tpZF0KKyAgICAgICAgICAgICBpZiBpZCBpbiBzZWxmLmZ1bmN0aW9uczoKKyAgICAgICAgICAgICAgICAgcHJpbnQoImZ1bmN0aW9uICVzIGZyb20gJXMgcmVkZWNsYXJlZCBpbiAlcyIgJSAoCisgICAgICAgICAgICAgICAgICAgIGlkLCBzZWxmLmZ1bmN0aW9uc1tpZF0uaGVhZGVyLCBpZHguZnVuY3Rpb25zW2lkXS5oZWFkZXIpKQorICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgIHNlbGYuZnVuY3Rpb25zW2lkXSA9IGlkeC5mdW5jdGlvbnNbaWRdCisgICAgICAgICAgICAgICAgIHNlbGYuaWRlbnRpZmllcnNbaWRdID0gaWR4LmZ1bmN0aW9uc1tpZF0KKyAgICAgICAgZm9yIGlkIGluIGxpc3QoaWR4LnZhcmlhYmxlcy5rZXlzKCkpOgorICAgICAgICAgICAgICAjCisgICAgICAgICAgICAgICMgbWFjcm8gbWlnaHQgYmUgdXNlZCB0byBvdmVycmlkZSBmdW5jdGlvbnMgb3IgdmFyaWFibGVzCisgICAgICAgICAgICAgICMgZGVmaW5pdGlvbnMKKyAgICAgICAgICAgICAgIworICAgICAgICAgICAgIGlmIGlkIGluIHNlbGYubWFjcm9zOgorICAgICAgICAgICAgICAgICBkZWwgc2VsZi5tYWNyb3NbaWRdCisgICAgICAgICAgICAgaWYgaWQgaW4gc2VsZi52YXJpYWJsZXM6CisgICAgICAgICAgICAgICAgIHByaW50KCJ2YXJpYWJsZSAlcyBmcm9tICVzIHJlZGVjbGFyZWQgaW4gJXMiICUgKAorICAgICAgICAgICAgICAgICAgICBpZCwgc2VsZi52YXJpYWJsZXNbaWRdLmhlYWRlciwgaWR4LnZhcmlhYmxlc1tpZF0uaGVhZGVyKSkKKyAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICBzZWxmLnZhcmlhYmxlc1tpZF0gPSBpZHgudmFyaWFibGVzW2lkXQorICAgICAgICAgICAgICAgICBzZWxmLmlkZW50aWZpZXJzW2lkXSA9IGlkeC52YXJpYWJsZXNbaWRdCisgICAgICAgIGZvciBpZCBpbiBsaXN0KGlkeC5zdHJ1Y3RzLmtleXMoKSk6CisgICAgICAgICAgICAgaWYgaWQgaW4gc2VsZi5zdHJ1Y3RzOgorICAgICAgICAgICAgICAgICBwcmludCgic3RydWN0ICVzIGZyb20gJXMgcmVkZWNsYXJlZCBpbiAlcyIgJSAoCisgICAgICAgICAgICAgICAgICAgIGlkLCBzZWxmLnN0cnVjdHNbaWRdLmhlYWRlciwgaWR4LnN0cnVjdHNbaWRdLmhlYWRlcikpCisgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgc2VsZi5zdHJ1Y3RzW2lkXSA9IGlkeC5zdHJ1Y3RzW2lkXQorICAgICAgICAgICAgICAgICBzZWxmLmlkZW50aWZpZXJzW2lkXSA9IGlkeC5zdHJ1Y3RzW2lkXQorICAgICAgICBmb3IgaWQgaW4gbGlzdChpZHgudHlwZWRlZnMua2V5cygpKToKKyAgICAgICAgICAgICBpZiBpZCBpbiBzZWxmLnR5cGVkZWZzOgorICAgICAgICAgICAgICAgICBwcmludCgidHlwZWRlZiAlcyBmcm9tICVzIHJlZGVjbGFyZWQgaW4gJXMiICUgKAorICAgICAgICAgICAgICAgICAgICBpZCwgc2VsZi50eXBlZGVmc1tpZF0uaGVhZGVyLCBpZHgudHlwZWRlZnNbaWRdLmhlYWRlcikpCisgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgc2VsZi50eXBlZGVmc1tpZF0gPSBpZHgudHlwZWRlZnNbaWRdCisgICAgICAgICAgICAgICAgIHNlbGYuaWRlbnRpZmllcnNbaWRdID0gaWR4LnR5cGVkZWZzW2lkXQorICAgICAgICBmb3IgaWQgaW4gbGlzdChpZHgubWFjcm9zLmtleXMoKSk6CisgICAgICAgICAgICAgICMKKyAgICAgICAgICAgICAgIyBtYWNybyBtaWdodCBiZSB1c2VkIHRvIG92ZXJyaWRlIGZ1bmN0aW9ucyBvciB2YXJpYWJsZXMKKyAgICAgICAgICAgICAgIyBkZWZpbml0aW9ucworICAgICAgICAgICAgICAjCisgICAgICAgICAgICAgaWYgaWQgaW4gc2VsZi52YXJpYWJsZXM6CisgICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICAgaWYgaWQgaW4gc2VsZi5mdW5jdGlvbnM6CisgICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICAgaWYgaWQgaW4gc2VsZi5lbnVtczoKKyAgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgICBpZiBpZCBpbiBzZWxmLm1hY3JvczoKKyAgICAgICAgICAgICAgICAgcHJpbnQoIm1hY3JvICVzIGZyb20gJXMgcmVkZWNsYXJlZCBpbiAlcyIgJSAoCisgICAgICAgICAgICAgICAgICAgIGlkLCBzZWxmLm1hY3Jvc1tpZF0uaGVhZGVyLCBpZHgubWFjcm9zW2lkXS5oZWFkZXIpKQorICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgIHNlbGYubWFjcm9zW2lkXSA9IGlkeC5tYWNyb3NbaWRdCisgICAgICAgICAgICAgICAgIHNlbGYuaWRlbnRpZmllcnNbaWRdID0gaWR4Lm1hY3Jvc1tpZF0KKyAgICAgICAgZm9yIGlkIGluIGxpc3QoaWR4LmVudW1zLmtleXMoKSk6CisgICAgICAgICAgICAgaWYgaWQgaW4gc2VsZi5lbnVtczoKKyAgICAgICAgICAgICAgICAgcHJpbnQoImVudW0gJXMgZnJvbSAlcyByZWRlY2xhcmVkIGluICVzIiAlICgKKyAgICAgICAgICAgICAgICAgICAgaWQsIHNlbGYuZW51bXNbaWRdLmhlYWRlciwgaWR4LmVudW1zW2lkXS5oZWFkZXIpKQorICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgIHNlbGYuZW51bXNbaWRdID0gaWR4LmVudW1zW2lkXQorICAgICAgICAgICAgICAgICBzZWxmLmlkZW50aWZpZXJzW2lkXSA9IGlkeC5lbnVtc1tpZF0KKworICAgIGRlZiBtZXJnZV9wdWJsaWMoc2VsZiwgaWR4KToKKyAgICAgICAgZm9yIGlkIGluIGxpc3QoaWR4LmZ1bmN0aW9ucy5rZXlzKCkpOgorICAgICAgICAgICAgIGlmIGlkIGluIHNlbGYuZnVuY3Rpb25zOgorICAgICAgICAgICAgICAgICAjIGNoZWNrIHRoYXQgZnVuY3Rpb24gY29uZGl0aW9uIGFncmVlcyB3aXRoIGhlYWRlcgorICAgICAgICAgICAgICAgICBpZiBpZHguZnVuY3Rpb25zW2lkXS5jb25kaXRpb25hbHMgIT0gXAorICAgICAgICAgICAgICAgICAgICBzZWxmLmZ1bmN0aW9uc1tpZF0uY29uZGl0aW9uYWxzOgorICAgICAgICAgICAgICAgICAgICAgcHJpbnQoIkhlYWRlciBjb25kaXRpb24gZGlmZmVycyBmcm9tIEZ1bmN0aW9uIGZvciAlczoiIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICUgaWQpCisgICAgICAgICAgICAgICAgICAgICBwcmludCgiICBIOiAlcyIgJSBzZWxmLmZ1bmN0aW9uc1tpZF0uY29uZGl0aW9uYWxzKQorICAgICAgICAgICAgICAgICAgICAgcHJpbnQoIiAgQzogJXMiICUgaWR4LmZ1bmN0aW9uc1tpZF0uY29uZGl0aW9uYWxzKQorICAgICAgICAgICAgICAgICB1cCA9IGlkeC5mdW5jdGlvbnNbaWRdCisgICAgICAgICAgICAgICAgIHNlbGYuZnVuY3Rpb25zW2lkXS51cGRhdGUoTm9uZSwgdXAubW9kdWxlLCB1cC50eXBlLCB1cC5pbmZvLCB1cC5leHRyYSkKKyAgICAgICAgICMgICAgIGVsc2U6CisgICAgICAgICAjICAgICAgICAgcHJpbnQgIkZ1bmN0aW9uICVzIGZyb20gJXMgaXMgbm90IGRlY2xhcmVkIGluIGhlYWRlcnMiICUgKAorICAgICAgICAgIyAgICAgICAgICAgICAgICBpZCwgaWR4LmZ1bmN0aW9uc1tpZF0ubW9kdWxlKQorICAgICAgICAgIyBUT0RPOiBkbyB0aGUgc2FtZSBmb3IgdmFyaWFibGVzLgorCisgICAgZGVmIGFuYWx5emVfZGljdChzZWxmLCB0eXBlLCBkaWN0KToKKyAgICAgICAgY291bnQgPSAwCisgICAgICAgIHB1YmxpYyA9IDAKKyAgICAgICAgZm9yIG5hbWUgaW4gbGlzdChkaWN0LmtleXMoKSk6CisgICAgICAgICAgICBpZCA9IGRpY3RbbmFtZV0KKyAgICAgICAgICAgIGNvdW50ID0gY291bnQgKyAxCisgICAgICAgICAgICBpZiBpZC5zdGF0aWMgPT0gMDoKKyAgICAgICAgICAgICAgICBwdWJsaWMgPSBwdWJsaWMgKyAxCisgICAgICAgIGlmIGNvdW50ICE9IHB1YmxpYzoKKyAgICAgICAgICAgIHByaW50KCIgICVkICVzICwgJWQgcHVibGljIiAlIChjb3VudCwgdHlwZSwgcHVibGljKSkKKyAgICAgICAgZWxpZiBjb3VudCAhPSAwOgorICAgICAgICAgICAgcHJpbnQoIiAgJWQgcHVibGljICVzIiAlIChjb3VudCwgdHlwZSkpCisKKworICAgIGRlZiBhbmFseXplKHNlbGYpOgorICAgICAgICBzZWxmLmFuYWx5emVfZGljdCgiZnVuY3Rpb25zIiwgc2VsZi5mdW5jdGlvbnMpCisgICAgICAgIHNlbGYuYW5hbHl6ZV9kaWN0KCJ2YXJpYWJsZXMiLCBzZWxmLnZhcmlhYmxlcykKKyAgICAgICAgc2VsZi5hbmFseXplX2RpY3QoInN0cnVjdHMiLCBzZWxmLnN0cnVjdHMpCisgICAgICAgIHNlbGYuYW5hbHl6ZV9kaWN0KCJ0eXBlZGVmcyIsIHNlbGYudHlwZWRlZnMpCisgICAgICAgIHNlbGYuYW5hbHl6ZV9kaWN0KCJtYWNyb3MiLCBzZWxmLm1hY3JvcykKKworY2xhc3MgQ0xleGVyOgorICAgICIiIkEgbGV4ZXIgZm9yIHRoZSBDIGxhbmd1YWdlLCB0b2tlbml6ZSB0aGUgaW5wdXQgYnkgcmVhZGluZyBhbmQKKyAgICAgICBhbmFseXppbmcgaXQgbGluZSBieSBsaW5lIiIiCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGlucHV0KToKKyAgICAgICAgc2VsZi5pbnB1dCA9IGlucHV0CisgICAgICAgIHNlbGYudG9rZW5zID0gW10KKyAgICAgICAgc2VsZi5saW5lID0gIiIKKyAgICAgICAgc2VsZi5saW5lbm8gPSAwCisKKyAgICBkZWYgZ2V0bGluZShzZWxmKToKKyAgICAgICAgbGluZSA9ICcnCisgICAgICAgIHdoaWxlIGxpbmUgPT0gJyc6CisgICAgICAgICAgICBsaW5lID0gc2VsZi5pbnB1dC5yZWFkbGluZSgpCisgICAgICAgICAgICBpZiBub3QgbGluZToKKyAgICAgICAgICAgICAgICByZXR1cm4gTm9uZQorICAgICAgICAgICAgc2VsZi5saW5lbm8gPSBzZWxmLmxpbmVubyArIDEKKyAgICAgICAgICAgIGxpbmUgPSBsaW5lLmxzdHJpcCgpCisgICAgICAgICAgICBsaW5lID0gbGluZS5yc3RyaXAoKQorICAgICAgICAgICAgaWYgbGluZSA9PSAnJzoKKyAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgd2hpbGUgbGluZVstMV0gPT0gJ1xcJzoKKyAgICAgICAgICAgICAgICBsaW5lID0gbGluZVs6LTFdCisgICAgICAgICAgICAgICAgbiA9IHNlbGYuaW5wdXQucmVhZGxpbmUoKQorICAgICAgICAgICAgICAgIHNlbGYubGluZW5vID0gc2VsZi5saW5lbm8gKyAxCisgICAgICAgICAgICAgICAgbiA9IG4ubHN0cmlwKCkKKyAgICAgICAgICAgICAgICBuID0gbi5yc3RyaXAoKQorICAgICAgICAgICAgICAgIGlmIG5vdCBuOgorICAgICAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIGxpbmUgPSBsaW5lICsgbgorICAgICAgICByZXR1cm4gbGluZQorCisgICAgZGVmIGdldGxpbmVubyhzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYubGluZW5vCisKKyAgICBkZWYgcHVzaChzZWxmLCB0b2tlbik6CisgICAgICAgIHNlbGYudG9rZW5zLmluc2VydCgwLCB0b2tlbik7CisKKyAgICBkZWYgZGVidWcoc2VsZik6CisgICAgICAgIHByaW50KCJMYXN0IHRva2VuOiAiLCBzZWxmLmxhc3QpCisgICAgICAgIHByaW50KCJUb2tlbiBxdWV1ZTogIiwgc2VsZi50b2tlbnMpCisgICAgICAgIHByaW50KCJMaW5lICVkIGVuZDogIiAlIChzZWxmLmxpbmVubyksIHNlbGYubGluZSkKKworICAgIGRlZiB0b2tlbihzZWxmKToKKyAgICAgICAgd2hpbGUgc2VsZi50b2tlbnMgPT0gW106CisgICAgICAgICAgICBpZiBzZWxmLmxpbmUgPT0gIiI6CisgICAgICAgICAgICAgICAgbGluZSA9IHNlbGYuZ2V0bGluZSgpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIGxpbmUgPSBzZWxmLmxpbmUKKyAgICAgICAgICAgICAgICBzZWxmLmxpbmUgPSAiIgorICAgICAgICAgICAgaWYgbGluZSA9PSBOb25lOgorICAgICAgICAgICAgICAgIHJldHVybiBOb25lCisKKyAgICAgICAgICAgIGlmIGxpbmVbMF0gPT0gJyMnOgorICAgICAgICAgICAgICAgIHNlbGYudG9rZW5zID0gbGlzdChtYXAoKGxhbWJkYSB4OiAoJ3ByZXByb2MnLCB4KSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS5zcGxpdCgpKSkKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGwgPSBsZW4obGluZSkKKyAgICAgICAgICAgIGlmIGxpbmVbMF0gPT0gJyInIG9yIGxpbmVbMF0gPT0gIiciOgorICAgICAgICAgICAgICAgIGVuZCA9IGxpbmVbMF0KKyAgICAgICAgICAgICAgICBsaW5lID0gbGluZVsxOl0KKyAgICAgICAgICAgICAgICBmb3VuZCA9IDAKKyAgICAgICAgICAgICAgICB0b2sgPSAiIgorICAgICAgICAgICAgICAgIHdoaWxlIGZvdW5kID09IDA6CisgICAgICAgICAgICAgICAgICAgIGkgPSAwCisgICAgICAgICAgICAgICAgICAgIGwgPSBsZW4obGluZSkKKyAgICAgICAgICAgICAgICAgICAgd2hpbGUgaSA8IGw6CisgICAgICAgICAgICAgICAgICAgICAgICBpZiBsaW5lW2ldID09IGVuZDoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmxpbmUgPSBsaW5lW2krMTpdCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZSA9IGxpbmVbOmldCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbCA9IGkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3VuZCA9IDEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgICAgICAgICAgICAgaWYgbGluZVtpXSA9PSAnXFwnOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGkgPSBpICsgMQorICAgICAgICAgICAgICAgICAgICAgICAgaSA9IGkgKyAxCisgICAgICAgICAgICAgICAgICAgIHRvayA9IHRvayArIGxpbmUKKyAgICAgICAgICAgICAgICAgICAgaWYgZm91bmQgPT0gMDoKKyAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUgPSBzZWxmLmdldGxpbmUoKQorICAgICAgICAgICAgICAgICAgICAgICAgaWYgbGluZSA9PSBOb25lOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBOb25lCisgICAgICAgICAgICAgICAgc2VsZi5sYXN0ID0gKCdzdHJpbmcnLCB0b2spCisgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYubGFzdAorCisgICAgICAgICAgICBpZiBsID49IDIgYW5kIGxpbmVbMF0gPT0gJy8nIGFuZCBsaW5lWzFdID09ICcqJzoKKyAgICAgICAgICAgICAgICBsaW5lID0gbGluZVsyOl0KKyAgICAgICAgICAgICAgICBmb3VuZCA9IDAKKyAgICAgICAgICAgICAgICB0b2sgPSAiIgorICAgICAgICAgICAgICAgIHdoaWxlIGZvdW5kID09IDA6CisgICAgICAgICAgICAgICAgICAgIGkgPSAwCisgICAgICAgICAgICAgICAgICAgIGwgPSBsZW4obGluZSkKKyAgICAgICAgICAgICAgICAgICAgd2hpbGUgaSA8IGw6CisgICAgICAgICAgICAgICAgICAgICAgICBpZiBsaW5lW2ldID09ICcqJyBhbmQgaSsxIDwgbCBhbmQgbGluZVtpKzFdID09ICcvJzoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmxpbmUgPSBsaW5lW2krMjpdCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZSA9IGxpbmVbOmktMV0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBsID0gaQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvdW5kID0gMQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAgICAgICAgICAgICAgICBpID0gaSArIDEKKyAgICAgICAgICAgICAgICAgICAgaWYgdG9rICE9ICIiOgorICAgICAgICAgICAgICAgICAgICAgICAgdG9rID0gdG9rICsgIlxuIgorICAgICAgICAgICAgICAgICAgICB0b2sgPSB0b2sgKyBsaW5lCisgICAgICAgICAgICAgICAgICAgIGlmIGZvdW5kID09IDA6CisgICAgICAgICAgICAgICAgICAgICAgICBsaW5lID0gc2VsZi5nZXRsaW5lKCkKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIGxpbmUgPT0gTm9uZToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gTm9uZQorICAgICAgICAgICAgICAgIHNlbGYubGFzdCA9ICgnY29tbWVudCcsIHRvaykKKyAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5sYXN0CisgICAgICAgICAgICBpZiBsID49IDIgYW5kIGxpbmVbMF0gPT0gJy8nIGFuZCBsaW5lWzFdID09ICcvJzoKKyAgICAgICAgICAgICAgICBsaW5lID0gbGluZVsyOl0KKyAgICAgICAgICAgICAgICBzZWxmLmxhc3QgPSAoJ2NvbW1lbnQnLCBsaW5lKQorICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLmxhc3QKKyAgICAgICAgICAgIGkgPSAwCisgICAgICAgICAgICB3aGlsZSBpIDwgbDoKKyAgICAgICAgICAgICAgICBpZiBsaW5lW2ldID09ICcvJyBhbmQgaSsxIDwgbCBhbmQgbGluZVtpKzFdID09ICcvJzoKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5saW5lID0gbGluZVtpOl0KKyAgICAgICAgICAgICAgICAgICAgbGluZSA9IGxpbmVbOmldCisgICAgICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAgICAgICAgaWYgbGluZVtpXSA9PSAnLycgYW5kIGkrMSA8IGwgYW5kIGxpbmVbaSsxXSA9PSAnKic6CisgICAgICAgICAgICAgICAgICAgIHNlbGYubGluZSA9IGxpbmVbaTpdCisgICAgICAgICAgICAgICAgICAgIGxpbmUgPSBsaW5lWzppXQorICAgICAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgICAgIGlmIGxpbmVbaV0gPT0gJyInIG9yIGxpbmVbaV0gPT0gIiciOgorICAgICAgICAgICAgICAgICAgICBzZWxmLmxpbmUgPSBsaW5lW2k6XQorICAgICAgICAgICAgICAgICAgICBsaW5lID0gbGluZVs6aV0KKyAgICAgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgICAgICBpID0gaSArIDEKKyAgICAgICAgICAgIGwgPSBsZW4obGluZSkKKyAgICAgICAgICAgIGkgPSAwCisgICAgICAgICAgICB3aGlsZSBpIDwgbDoKKyAgICAgICAgICAgICAgICBpZiBsaW5lW2ldID09ICcgJyBvciBsaW5lW2ldID09ICdcdCc6CisgICAgICAgICAgICAgICAgICAgIGkgPSBpICsgMQorICAgICAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgICAgIG8gPSBvcmQobGluZVtpXSkKKyAgICAgICAgICAgICAgICBpZiAobyA+PSA5NyBhbmQgbyA8PSAxMjIpIG9yIChvID49IDY1IGFuZCBvIDw9IDkwKSBvciBcCisgICAgICAgICAgICAgICAgICAgKG8gPj0gNDggYW5kIG8gPD0gNTcpOgorICAgICAgICAgICAgICAgICAgICBzID0gaQorICAgICAgICAgICAgICAgICAgICB3aGlsZSBpIDwgbDoKKyAgICAgICAgICAgICAgICAgICAgICAgIG8gPSBvcmQobGluZVtpXSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChvID49IDk3IGFuZCBvIDw9IDEyMikgb3IgKG8gPj0gNjUgYW5kIG8gPD0gOTApIG9yIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIChvID49IDQ4IGFuZCBvIDw9IDU3KSBvciBcCisJCQkgICAoIiBcdCgpe306OywrLSovJSYhfFtdPT48Ii5maW5kKGxpbmVbaV0pKSA9PSAtMToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpID0gaSArIDEKKyAgICAgICAgICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgICAgICAgICAgc2VsZi50b2tlbnMuYXBwZW5kKCgnbmFtZScsIGxpbmVbczppXSkpCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICAgICAgaWYgIigpe306OyxbXSIuZmluZChsaW5lW2ldKSAhPSAtMToKKyMgICAgICAgICAgICAgICAgIGlmIGxpbmVbaV0gPT0gJygnIG9yIGxpbmVbaV0gPT0gJyknIG9yIGxpbmVbaV0gPT0gJ3snIG9yIFwKKyMgICAgICAgICAgICAgICAgICAgIGxpbmVbaV0gPT0gJ30nIG9yIGxpbmVbaV0gPT0gJzonIG9yIGxpbmVbaV0gPT0gJzsnIG9yIFwKKyMgICAgICAgICAgICAgICAgICAgIGxpbmVbaV0gPT0gJywnIG9yIGxpbmVbaV0gPT0gJ1snIG9yIGxpbmVbaV0gPT0gJ10nOgorICAgICAgICAgICAgICAgICAgICBzZWxmLnRva2Vucy5hcHBlbmQoKCdzZXAnLCBsaW5lW2ldKSkKKyAgICAgICAgICAgICAgICAgICAgaSA9IGkgKyAxCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICAgICAgaWYgIistKj48PS8lJiF8LiIuZmluZChsaW5lW2ldKSAhPSAtMToKKyMgICAgICAgICAgICAgICAgIGlmIGxpbmVbaV0gPT0gJysnIG9yIGxpbmVbaV0gPT0gJy0nIG9yIGxpbmVbaV0gPT0gJyonIG9yIFwKKyMgICAgICAgICAgICAgICAgICAgIGxpbmVbaV0gPT0gJz4nIG9yIGxpbmVbaV0gPT0gJzwnIG9yIGxpbmVbaV0gPT0gJz0nIG9yIFwKKyMgICAgICAgICAgICAgICAgICAgIGxpbmVbaV0gPT0gJy8nIG9yIGxpbmVbaV0gPT0gJyUnIG9yIGxpbmVbaV0gPT0gJyYnIG9yIFwKKyMgICAgICAgICAgICAgICAgICAgIGxpbmVbaV0gPT0gJyEnIG9yIGxpbmVbaV0gPT0gJ3wnIG9yIGxpbmVbaV0gPT0gJy4nOgorICAgICAgICAgICAgICAgICAgICBpZiBsaW5lW2ldID09ICcuJyBhbmQgIGkgKyAyIDwgbCBhbmQgXAorICAgICAgICAgICAgICAgICAgICAgICBsaW5lW2krMV0gPT0gJy4nIGFuZCBsaW5lW2krMl0gPT0gJy4nOgorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi50b2tlbnMuYXBwZW5kKCgnbmFtZScsICcuLi4nKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGkgPSBpICsgMworICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWUKKworICAgICAgICAgICAgICAgICAgICBqID0gaSArIDEKKyAgICAgICAgICAgICAgICAgICAgaWYgaiA8IGwgYW5kICgKKyAgICAgICAgICAgICAgICAgICAgICAgIistKj48PS8lJiF8Ii5maW5kKGxpbmVbal0pICE9IC0xKToKKyMgICAgICAgICAgICAgICAgICAgICAgICBsaW5lW2pdID09ICcrJyBvciBsaW5lW2pdID09ICctJyBvciBsaW5lW2pdID09ICcqJyBvciBcCisjICAgICAgICAgICAgICAgICAgICAgICAgbGluZVtqXSA9PSAnPicgb3IgbGluZVtqXSA9PSAnPCcgb3IgbGluZVtqXSA9PSAnPScgb3IgXAorIyAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVbal0gPT0gJy8nIG9yIGxpbmVbal0gPT0gJyUnIG9yIGxpbmVbal0gPT0gJyYnIG9yIFwKKyMgICAgICAgICAgICAgICAgICAgICAgICBsaW5lW2pdID09ICchJyBvciBsaW5lW2pdID09ICd8Jyk6CisgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnRva2Vucy5hcHBlbmQoKCdvcCcsIGxpbmVbaTpqKzFdKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGkgPSBqICsgMQorICAgICAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi50b2tlbnMuYXBwZW5kKCgnb3AnLCBsaW5lW2ldKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGkgPSBpICsgMQorICAgICAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgICAgIHMgPSBpCisgICAgICAgICAgICAgICAgd2hpbGUgaSA8IGw6CisgICAgICAgICAgICAgICAgICAgIG8gPSBvcmQobGluZVtpXSkKKyAgICAgICAgICAgICAgICAgICAgaWYgKG8gPj0gOTcgYW5kIG8gPD0gMTIyKSBvciAobyA+PSA2NSBhbmQgbyA8PSA5MCkgb3IgXAorICAgICAgICAgICAgICAgICAgICAgICAobyA+PSA0OCBhbmQgbyA8PSA1Nykgb3IgKAorICAgICAgICAgICAgICAgICAgICAgICAgIiBcdCgpe306OywrLSovJSYhfFtdPT48Ii5maW5kKGxpbmVbaV0pID09IC0xKToKKyMgICAgICAgICAgICAgICAgICAgICAgICAgbGluZVtpXSAhPSAnICcgYW5kIGxpbmVbaV0gIT0gJ1x0JyBhbmQKKyMgICAgICAgICAgICAgICAgICAgICAgICAgbGluZVtpXSAhPSAnKCcgYW5kIGxpbmVbaV0gIT0gJyknIGFuZAorIyAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lW2ldICE9ICd7JyAgYW5kIGxpbmVbaV0gIT0gJ30nIGFuZAorIyAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lW2ldICE9ICc6JyBhbmQgbGluZVtpXSAhPSAnOycgYW5kCisjICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVbaV0gIT0gJywnIGFuZCBsaW5lW2ldICE9ICcrJyBhbmQKKyMgICAgICAgICAgICAgICAgICAgICAgICAgbGluZVtpXSAhPSAnLScgYW5kIGxpbmVbaV0gIT0gJyonIGFuZAorIyAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lW2ldICE9ICcvJyBhbmQgbGluZVtpXSAhPSAnJScgYW5kCisjICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVbaV0gIT0gJyYnIGFuZCBsaW5lW2ldICE9ICchJyBhbmQKKyMgICAgICAgICAgICAgICAgICAgICAgICAgbGluZVtpXSAhPSAnfCcgYW5kIGxpbmVbaV0gIT0gJ1snIGFuZAorIyAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lW2ldICE9ICddJyBhbmQgbGluZVtpXSAhPSAnPScgYW5kCisjICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVbaV0gIT0gJyonIGFuZCBsaW5lW2ldICE9ICc+JyBhbmQKKyMgICAgICAgICAgICAgICAgICAgICAgICAgbGluZVtpXSAhPSAnPCcpOgorICAgICAgICAgICAgICAgICAgICAgICAgaSA9IGkgKyAxCisgICAgICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgICAgIHNlbGYudG9rZW5zLmFwcGVuZCgoJ25hbWUnLCBsaW5lW3M6aV0pKQorCisgICAgICAgIHRvayA9IHNlbGYudG9rZW5zWzBdCisgICAgICAgIHNlbGYudG9rZW5zID0gc2VsZi50b2tlbnNbMTpdCisgICAgICAgIHNlbGYubGFzdCA9IHRvaworICAgICAgICByZXR1cm4gdG9rCisKK2NsYXNzIENQYXJzZXI6CisgICAgIiIiVGhlIEMgbW9kdWxlIHBhcnNlciIiIgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBmaWxlbmFtZSwgaWR4ID0gTm9uZSk6CisgICAgICAgIHNlbGYuZmlsZW5hbWUgPSBmaWxlbmFtZQorICAgICAgICBpZiBsZW4oZmlsZW5hbWUpID4gMiBhbmQgZmlsZW5hbWVbLTI6XSA9PSAnLmgnOgorICAgICAgICAgICAgc2VsZi5pc19oZWFkZXIgPSAxCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLmlzX2hlYWRlciA9IDAKKyAgICAgICAgc2VsZi5pbnB1dCA9IG9wZW4oZmlsZW5hbWUpCisgICAgICAgIHNlbGYubGV4ZXIgPSBDTGV4ZXIoc2VsZi5pbnB1dCkKKyAgICAgICAgaWYgaWR4ID09IE5vbmU6CisgICAgICAgICAgICBzZWxmLmluZGV4ID0gaW5kZXgoKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgc2VsZi5pbmRleCA9IGlkeAorICAgICAgICBzZWxmLnRvcF9jb21tZW50ID0gIiIKKyAgICAgICAgc2VsZi5sYXN0X2NvbW1lbnQgPSAiIgorICAgICAgICBzZWxmLmNvbW1lbnQgPSBOb25lCisgICAgICAgIHNlbGYuY29sbGVjdF9yZWYgPSAwCisgICAgICAgIHNlbGYubm9fZXJyb3IgPSAwCisgICAgICAgIHNlbGYuY29uZGl0aW9uYWxzID0gW10KKyAgICAgICAgc2VsZi5kZWZpbmVzID0gW10KKworICAgIGRlZiBjb2xsZWN0X3JlZmVyZW5jZXMoc2VsZik6CisgICAgICAgIHNlbGYuY29sbGVjdF9yZWYgPSAxCisKKyAgICBkZWYgc3RvcF9lcnJvcihzZWxmKToKKyAgICAgICAgc2VsZi5ub19lcnJvciA9IDEKKworICAgIGRlZiBzdGFydF9lcnJvcihzZWxmKToKKyAgICAgICAgc2VsZi5ub19lcnJvciA9IDAKKworICAgIGRlZiBsaW5lbm8oc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLmxleGVyLmdldGxpbmVubygpCisKKyAgICBkZWYgaW5kZXhfYWRkKHNlbGYsIG5hbWUsIG1vZHVsZSwgc3RhdGljLCB0eXBlLCBpbmZvPU5vbmUsIGV4dHJhID0gTm9uZSk6CisgICAgICAgIGlmIHNlbGYuaXNfaGVhZGVyID09IDE6CisgICAgICAgICAgICBzZWxmLmluZGV4LmFkZChuYW1lLCBtb2R1bGUsIG1vZHVsZSwgc3RhdGljLCB0eXBlLCBzZWxmLmxpbmVubygpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5mbywgZXh0cmEsIHNlbGYuY29uZGl0aW9uYWxzKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgc2VsZi5pbmRleC5hZGQobmFtZSwgTm9uZSwgbW9kdWxlLCBzdGF0aWMsIHR5cGUsIHNlbGYubGluZW5vKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmZvLCBleHRyYSwgc2VsZi5jb25kaXRpb25hbHMpCisKKyAgICBkZWYgaW5kZXhfYWRkX3JlZihzZWxmLCBuYW1lLCBtb2R1bGUsIHN0YXRpYywgdHlwZSwgaW5mbz1Ob25lLAorICAgICAgICAgICAgICAgICAgICAgIGV4dHJhID0gTm9uZSk6CisgICAgICAgIGlmIHNlbGYuaXNfaGVhZGVyID09IDE6CisgICAgICAgICAgICBzZWxmLmluZGV4LmFkZF9yZWYobmFtZSwgbW9kdWxlLCBtb2R1bGUsIHN0YXRpYywgdHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmxpbmVubygpLCBpbmZvLCBleHRyYSwgc2VsZi5jb25kaXRpb25hbHMpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLmluZGV4LmFkZF9yZWYobmFtZSwgTm9uZSwgbW9kdWxlLCBzdGF0aWMsIHR5cGUsIHNlbGYubGluZW5vKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5mbywgZXh0cmEsIHNlbGYuY29uZGl0aW9uYWxzKQorCisgICAgZGVmIHdhcm5pbmcoc2VsZiwgbXNnKToKKyAgICAgICAgaWYgc2VsZi5ub19lcnJvcjoKKyAgICAgICAgICAgIHJldHVybgorICAgICAgICBwcmludChtc2cpCisKKyAgICBkZWYgZXJyb3Ioc2VsZiwgbXNnLCB0b2tlbj0tMSk6CisgICAgICAgIGlmIHNlbGYubm9fZXJyb3I6CisgICAgICAgICAgICByZXR1cm4KKworICAgICAgICBwcmludCgiUGFyc2UgRXJyb3I6ICIgKyBtc2cpCisgICAgICAgIGlmIHRva2VuICE9IC0xOgorICAgICAgICAgICAgcHJpbnQoIkdvdCB0b2tlbiAiLCB0b2tlbikKKyAgICAgICAgc2VsZi5sZXhlci5kZWJ1ZygpCisgICAgICAgIHN5cy5leGl0KDEpCisKKyAgICBkZWYgZGVidWcoc2VsZiwgbXNnLCB0b2tlbj0tMSk6CisgICAgICAgIHByaW50KCJEZWJ1ZzogIiArIG1zZykKKyAgICAgICAgaWYgdG9rZW4gIT0gLTE6CisgICAgICAgICAgICBwcmludCgiR290IHRva2VuICIsIHRva2VuKQorICAgICAgICBzZWxmLmxleGVyLmRlYnVnKCkKKworICAgIGRlZiBwYXJzZVRvcENvbW1lbnQoc2VsZiwgY29tbWVudCk6CisgICAgICAgIHJlcyA9IHt9CisgICAgICAgIGxpbmVzID0gY29tbWVudC5zcGxpdCgiXG4iKQorICAgICAgICBpdGVtID0gTm9uZQorICAgICAgICBmb3IgbGluZSBpbiBsaW5lczoKKyAgICAgICAgICAgIHdoaWxlIGxpbmUgIT0gIiIgYW5kIChsaW5lWzBdID09ICcgJyBvciBsaW5lWzBdID09ICdcdCcpOgorICAgICAgICAgICAgICAgIGxpbmUgPSBsaW5lWzE6XQorICAgICAgICAgICAgd2hpbGUgbGluZSAhPSAiIiBhbmQgbGluZVswXSA9PSAnKic6CisgICAgICAgICAgICAgICAgbGluZSA9IGxpbmVbMTpdCisgICAgICAgICAgICB3aGlsZSBsaW5lICE9ICIiIGFuZCAobGluZVswXSA9PSAnICcgb3IgbGluZVswXSA9PSAnXHQnKToKKyAgICAgICAgICAgICAgICBsaW5lID0gbGluZVsxOl0KKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAoaXQsIGxpbmUpID0gbGluZS5zcGxpdCgiOiIsIDEpCisgICAgICAgICAgICAgICAgaXRlbSA9IGl0CisgICAgICAgICAgICAgICAgd2hpbGUgbGluZSAhPSAiIiBhbmQgKGxpbmVbMF0gPT0gJyAnIG9yIGxpbmVbMF0gPT0gJ1x0Jyk6CisgICAgICAgICAgICAgICAgICAgIGxpbmUgPSBsaW5lWzE6XQorICAgICAgICAgICAgICAgIGlmIGl0ZW0gaW4gcmVzOgorICAgICAgICAgICAgICAgICAgICByZXNbaXRlbV0gPSByZXNbaXRlbV0gKyAiICIgKyBsaW5lCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgcmVzW2l0ZW1dID0gbGluZQorICAgICAgICAgICAgZXhjZXB0OgorICAgICAgICAgICAgICAgIGlmIGl0ZW0gIT0gTm9uZToKKyAgICAgICAgICAgICAgICAgICAgaWYgaXRlbSBpbiByZXM6CisgICAgICAgICAgICAgICAgICAgICAgICByZXNbaXRlbV0gPSByZXNbaXRlbV0gKyAiICIgKyBsaW5lCisgICAgICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgICAgICByZXNbaXRlbV0gPSBsaW5lCisgICAgICAgIHNlbGYuaW5kZXguaW5mbyA9IHJlcworCisgICAgZGVmIHBhcnNlQ29tbWVudChzZWxmLCB0b2tlbik6CisgICAgICAgIGlmIHNlbGYudG9wX2NvbW1lbnQgPT0gIiI6CisgICAgICAgICAgICBzZWxmLnRvcF9jb21tZW50ID0gdG9rZW5bMV0KKyAgICAgICAgaWYgc2VsZi5jb21tZW50ID09IE5vbmUgb3IgdG9rZW5bMV1bMF0gPT0gJyonOgorICAgICAgICAgICAgc2VsZi5jb21tZW50ID0gdG9rZW5bMV07CisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLmNvbW1lbnQgPSBzZWxmLmNvbW1lbnQgKyB0b2tlblsxXQorICAgICAgICB0b2tlbiA9IHNlbGYubGV4ZXIudG9rZW4oKQorCisgICAgICAgIGlmIHNlbGYuY29tbWVudC5maW5kKCJET0NfRElTQUJMRSIpICE9IC0xOgorICAgICAgICAgICAgc2VsZi5zdG9wX2Vycm9yKCkKKworICAgICAgICBpZiBzZWxmLmNvbW1lbnQuZmluZCgiRE9DX0VOQUJMRSIpICE9IC0xOgorICAgICAgICAgICAgc2VsZi5zdGFydF9lcnJvcigpCisKKyAgICAgICAgcmV0dXJuIHRva2VuCisKKyAgICAjCisgICAgIyBQYXJzZSBhIGNvbW1lbnQgYmxvY2sgYXNzb2NpYXRlIHRvIGEgdHlwZWRlZgorICAgICMKKyAgICBkZWYgcGFyc2VUeXBlQ29tbWVudChzZWxmLCBuYW1lLCBxdWlldCA9IDApOgorICAgICAgICBpZiBuYW1lWzA6Ml0gPT0gJ19fJzoKKyAgICAgICAgICAgIHF1aWV0ID0gMQorCisgICAgICAgIGFyZ3MgPSBbXQorICAgICAgICBkZXNjID0gIiIKKworICAgICAgICBpZiBzZWxmLmNvbW1lbnQgPT0gTm9uZToKKyAgICAgICAgICAgIGlmIG5vdCBxdWlldDoKKyAgICAgICAgICAgICAgICBzZWxmLndhcm5pbmcoIk1pc3NpbmcgY29tbWVudCBmb3IgdHlwZSAlcyIgJSAobmFtZSkpCisgICAgICAgICAgICByZXR1cm4oKGFyZ3MsIGRlc2MpKQorICAgICAgICBpZiBzZWxmLmNvbW1lbnRbMF0gIT0gJyonOgorICAgICAgICAgICAgaWYgbm90IHF1aWV0OgorICAgICAgICAgICAgICAgIHNlbGYud2FybmluZygiTWlzc2luZyAqIGluIHR5cGUgY29tbWVudCBmb3IgJXMiICUgKG5hbWUpKQorICAgICAgICAgICAgcmV0dXJuKChhcmdzLCBkZXNjKSkKKyAgICAgICAgbGluZXMgPSBzZWxmLmNvbW1lbnQuc3BsaXQoJ1xuJykKKyAgICAgICAgaWYgbGluZXNbMF0gPT0gJyonOgorICAgICAgICAgICAgZGVsIGxpbmVzWzBdCisgICAgICAgIGlmIGxpbmVzWzBdICE9ICIqICVzOiIgJSAobmFtZSk6CisgICAgICAgICAgICBpZiBub3QgcXVpZXQ6CisgICAgICAgICAgICAgICAgc2VsZi53YXJuaW5nKCJNaXNmb3JtYXR0ZWQgdHlwZSBjb21tZW50IGZvciAlcyIgJSAobmFtZSkpCisgICAgICAgICAgICAgICAgc2VsZi53YXJuaW5nKCIgIEV4cGVjdGluZyAnKiAlczonIGdvdCAnJXMnIiAlIChuYW1lLCBsaW5lc1swXSkpCisgICAgICAgICAgICByZXR1cm4oKGFyZ3MsIGRlc2MpKQorICAgICAgICBkZWwgbGluZXNbMF0KKyAgICAgICAgd2hpbGUgbGVuKGxpbmVzKSA+IDAgYW5kIGxpbmVzWzBdID09ICcqJzoKKyAgICAgICAgICAgIGRlbCBsaW5lc1swXQorICAgICAgICBkZXNjID0gIiIKKyAgICAgICAgd2hpbGUgbGVuKGxpbmVzKSA+IDA6CisgICAgICAgICAgICBsID0gbGluZXNbMF0KKyAgICAgICAgICAgIHdoaWxlIGxlbihsKSA+IDAgYW5kIGxbMF0gPT0gJyonOgorICAgICAgICAgICAgICAgIGwgPSBsWzE6XQorICAgICAgICAgICAgbCA9IGwuc3RyaXAoKQorICAgICAgICAgICAgZGVzYyA9IGRlc2MgKyAiICIgKyBsCisgICAgICAgICAgICBkZWwgbGluZXNbMF0KKworICAgICAgICBkZXNjID0gZGVzYy5zdHJpcCgpCisKKyAgICAgICAgaWYgcXVpZXQgPT0gMDoKKyAgICAgICAgICAgIGlmIGRlc2MgPT0gIiI6CisgICAgICAgICAgICAgICAgc2VsZi53YXJuaW5nKCJUeXBlIGNvbW1lbnQgZm9yICVzIGxhY2sgZGVzY3JpcHRpb24gb2YgdGhlIG1hY3JvIiAlIChuYW1lKSkKKworICAgICAgICByZXR1cm4oZGVzYykKKyAgICAjCisgICAgIyBQYXJzZSBhIGNvbW1lbnQgYmxvY2sgYXNzb2NpYXRlIHRvIGEgbWFjcm8KKyAgICAjCisgICAgZGVmIHBhcnNlTWFjcm9Db21tZW50KHNlbGYsIG5hbWUsIHF1aWV0ID0gMCk6CisgICAgICAgIGlmIG5hbWVbMDoyXSA9PSAnX18nOgorICAgICAgICAgICAgcXVpZXQgPSAxCisKKyAgICAgICAgYXJncyA9IFtdCisgICAgICAgIGRlc2MgPSAiIgorCisgICAgICAgIGlmIHNlbGYuY29tbWVudCA9PSBOb25lOgorICAgICAgICAgICAgaWYgbm90IHF1aWV0OgorICAgICAgICAgICAgICAgIHNlbGYud2FybmluZygiTWlzc2luZyBjb21tZW50IGZvciBtYWNybyAlcyIgJSAobmFtZSkpCisgICAgICAgICAgICByZXR1cm4oKGFyZ3MsIGRlc2MpKQorICAgICAgICBpZiBzZWxmLmNvbW1lbnRbMF0gIT0gJyonOgorICAgICAgICAgICAgaWYgbm90IHF1aWV0OgorICAgICAgICAgICAgICAgIHNlbGYud2FybmluZygiTWlzc2luZyAqIGluIG1hY3JvIGNvbW1lbnQgZm9yICVzIiAlIChuYW1lKSkKKyAgICAgICAgICAgIHJldHVybigoYXJncywgZGVzYykpCisgICAgICAgIGxpbmVzID0gc2VsZi5jb21tZW50LnNwbGl0KCdcbicpCisgICAgICAgIGlmIGxpbmVzWzBdID09ICcqJzoKKyAgICAgICAgICAgIGRlbCBsaW5lc1swXQorICAgICAgICBpZiBsaW5lc1swXSAhPSAiKiAlczoiICUgKG5hbWUpOgorICAgICAgICAgICAgaWYgbm90IHF1aWV0OgorICAgICAgICAgICAgICAgIHNlbGYud2FybmluZygiTWlzZm9ybWF0dGVkIG1hY3JvIGNvbW1lbnQgZm9yICVzIiAlIChuYW1lKSkKKyAgICAgICAgICAgICAgICBzZWxmLndhcm5pbmcoIiAgRXhwZWN0aW5nICcqICVzOicgZ290ICclcyciICUgKG5hbWUsIGxpbmVzWzBdKSkKKyAgICAgICAgICAgIHJldHVybigoYXJncywgZGVzYykpCisgICAgICAgIGRlbCBsaW5lc1swXQorICAgICAgICB3aGlsZSBsaW5lc1swXSA9PSAnKic6CisgICAgICAgICAgICBkZWwgbGluZXNbMF0KKyAgICAgICAgd2hpbGUgbGVuKGxpbmVzKSA+IDAgYW5kIGxpbmVzWzBdWzA6M10gPT0gJyogQCc6CisgICAgICAgICAgICBsID0gbGluZXNbMF1bMzpdCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgKGFyZywgZGVzYykgPSBsLnNwbGl0KCc6JywgMSkKKyAgICAgICAgICAgICAgICBkZXNjPWRlc2Muc3RyaXAoKQorICAgICAgICAgICAgICAgIGFyZz1hcmcuc3RyaXAoKQorICAgICAgICAgICAgZXhjZXB0OgorICAgICAgICAgICAgICAgIGlmIG5vdCBxdWlldDoKKyAgICAgICAgICAgICAgICAgICAgc2VsZi53YXJuaW5nKCJNaXNmb3JtYXR0ZWQgbWFjcm8gY29tbWVudCBmb3IgJXMiICUgKG5hbWUpKQorICAgICAgICAgICAgICAgICAgICBzZWxmLndhcm5pbmcoIiAgcHJvYmxlbSB3aXRoICclcyciICUgKGxpbmVzWzBdKSkKKyAgICAgICAgICAgICAgICBkZWwgbGluZXNbMF0KKyAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgZGVsIGxpbmVzWzBdCisgICAgICAgICAgICBsID0gbGluZXNbMF0uc3RyaXAoKQorICAgICAgICAgICAgd2hpbGUgbGVuKGwpID4gMiBhbmQgbFswOjNdICE9ICcqIEAnOgorICAgICAgICAgICAgICAgIHdoaWxlIGxbMF0gPT0gJyonOgorICAgICAgICAgICAgICAgICAgICBsID0gbFsxOl0KKyAgICAgICAgICAgICAgICBkZXNjID0gZGVzYyArICcgJyArIGwuc3RyaXAoKQorICAgICAgICAgICAgICAgIGRlbCBsaW5lc1swXQorICAgICAgICAgICAgICAgIGlmIGxlbihsaW5lcykgPT0gMDoKKyAgICAgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgICAgICBsID0gbGluZXNbMF0KKyAgICAgICAgICAgIGFyZ3MuYXBwZW5kKChhcmcsIGRlc2MpKQorICAgICAgICB3aGlsZSBsZW4obGluZXMpID4gMCBhbmQgbGluZXNbMF0gPT0gJyonOgorICAgICAgICAgICAgZGVsIGxpbmVzWzBdCisgICAgICAgIGRlc2MgPSAiIgorICAgICAgICB3aGlsZSBsZW4obGluZXMpID4gMDoKKyAgICAgICAgICAgIGwgPSBsaW5lc1swXQorICAgICAgICAgICAgd2hpbGUgbGVuKGwpID4gMCBhbmQgbFswXSA9PSAnKic6CisgICAgICAgICAgICAgICAgbCA9IGxbMTpdCisgICAgICAgICAgICBsID0gbC5zdHJpcCgpCisgICAgICAgICAgICBkZXNjID0gZGVzYyArICIgIiArIGwKKyAgICAgICAgICAgIGRlbCBsaW5lc1swXQorCisgICAgICAgIGRlc2MgPSBkZXNjLnN0cmlwKCkKKworICAgICAgICBpZiBxdWlldCA9PSAwOgorICAgICAgICAgICAgaWYgZGVzYyA9PSAiIjoKKyAgICAgICAgICAgICAgICBzZWxmLndhcm5pbmcoIk1hY3JvIGNvbW1lbnQgZm9yICVzIGxhY2sgZGVzY3JpcHRpb24gb2YgdGhlIG1hY3JvIiAlIChuYW1lKSkKKworICAgICAgICByZXR1cm4oKGFyZ3MsIGRlc2MpKQorCisgICAgICMKKyAgICAgIyBQYXJzZSBhIGNvbW1lbnQgYmxvY2sgYW5kIG1lcmdlIHRoZSBpbmZvcm1hdGlvbnMgZm91bmQgaW4gdGhlCisgICAgICMgcGFyYW1ldGVycyBkZXNjcmlwdGlvbnMsIGZpbmFsbHkgcmV0dXJucyBhIGJsb2NrIGFzIGNvbXBsZXRlCisgICAgICMgYXMgcG9zc2libGUKKyAgICAgIworICAgIGRlZiBtZXJnZUZ1bmN0aW9uQ29tbWVudChzZWxmLCBuYW1lLCBkZXNjcmlwdGlvbiwgcXVpZXQgPSAwKToKKyAgICAgICAgaWYgbmFtZSA9PSAnbWFpbic6CisgICAgICAgICAgICBxdWlldCA9IDEKKyAgICAgICAgaWYgbmFtZVswOjJdID09ICdfXyc6CisgICAgICAgICAgICBxdWlldCA9IDEKKworICAgICAgICAocmV0LCBhcmdzKSA9IGRlc2NyaXB0aW9uCisgICAgICAgIGRlc2MgPSAiIgorICAgICAgICByZXRkZXNjID0gIiIKKworICAgICAgICBpZiBzZWxmLmNvbW1lbnQgPT0gTm9uZToKKyAgICAgICAgICAgIGlmIG5vdCBxdWlldDoKKyAgICAgICAgICAgICAgICBzZWxmLndhcm5pbmcoIk1pc3NpbmcgY29tbWVudCBmb3IgZnVuY3Rpb24gJXMiICUgKG5hbWUpKQorICAgICAgICAgICAgcmV0dXJuKCgocmV0WzBdLCByZXRkZXNjKSwgYXJncywgZGVzYykpCisgICAgICAgIGlmIHNlbGYuY29tbWVudFswXSAhPSAnKic6CisgICAgICAgICAgICBpZiBub3QgcXVpZXQ6CisgICAgICAgICAgICAgICAgc2VsZi53YXJuaW5nKCJNaXNzaW5nICogaW4gZnVuY3Rpb24gY29tbWVudCBmb3IgJXMiICUgKG5hbWUpKQorICAgICAgICAgICAgcmV0dXJuKCgocmV0WzBdLCByZXRkZXNjKSwgYXJncywgZGVzYykpCisgICAgICAgIGxpbmVzID0gc2VsZi5jb21tZW50LnNwbGl0KCdcbicpCisgICAgICAgIGlmIGxpbmVzWzBdID09ICcqJzoKKyAgICAgICAgICAgIGRlbCBsaW5lc1swXQorICAgICAgICBpZiBsaW5lc1swXSAhPSAiKiAlczoiICUgKG5hbWUpOgorICAgICAgICAgICAgaWYgbm90IHF1aWV0OgorICAgICAgICAgICAgICAgIHNlbGYud2FybmluZygiTWlzZm9ybWF0dGVkIGZ1bmN0aW9uIGNvbW1lbnQgZm9yICVzIiAlIChuYW1lKSkKKyAgICAgICAgICAgICAgICBzZWxmLndhcm5pbmcoIiAgRXhwZWN0aW5nICcqICVzOicgZ290ICclcyciICUgKG5hbWUsIGxpbmVzWzBdKSkKKyAgICAgICAgICAgIHJldHVybigoKHJldFswXSwgcmV0ZGVzYyksIGFyZ3MsIGRlc2MpKQorICAgICAgICBkZWwgbGluZXNbMF0KKyAgICAgICAgd2hpbGUgbGluZXNbMF0gPT0gJyonOgorICAgICAgICAgICAgZGVsIGxpbmVzWzBdCisgICAgICAgIG5iYXJncyA9IGxlbihhcmdzKQorICAgICAgICB3aGlsZSBsZW4obGluZXMpID4gMCBhbmQgbGluZXNbMF1bMDozXSA9PSAnKiBAJzoKKyAgICAgICAgICAgIGwgPSBsaW5lc1swXVszOl0KKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAoYXJnLCBkZXNjKSA9IGwuc3BsaXQoJzonLCAxKQorICAgICAgICAgICAgICAgIGRlc2M9ZGVzYy5zdHJpcCgpCisgICAgICAgICAgICAgICAgYXJnPWFyZy5zdHJpcCgpCisgICAgICAgICAgICBleGNlcHQ6CisgICAgICAgICAgICAgICAgaWYgbm90IHF1aWV0OgorICAgICAgICAgICAgICAgICAgICBzZWxmLndhcm5pbmcoIk1pc2Zvcm1hdHRlZCBmdW5jdGlvbiBjb21tZW50IGZvciAlcyIgJSAobmFtZSkpCisgICAgICAgICAgICAgICAgICAgIHNlbGYud2FybmluZygiICBwcm9ibGVtIHdpdGggJyVzJyIgJSAobGluZXNbMF0pKQorICAgICAgICAgICAgICAgIGRlbCBsaW5lc1swXQorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICBkZWwgbGluZXNbMF0KKyAgICAgICAgICAgIGwgPSBsaW5lc1swXS5zdHJpcCgpCisgICAgICAgICAgICB3aGlsZSBsZW4obCkgPiAyIGFuZCBsWzA6M10gIT0gJyogQCc6CisgICAgICAgICAgICAgICAgd2hpbGUgbFswXSA9PSAnKic6CisgICAgICAgICAgICAgICAgICAgIGwgPSBsWzE6XQorICAgICAgICAgICAgICAgIGRlc2MgPSBkZXNjICsgJyAnICsgbC5zdHJpcCgpCisgICAgICAgICAgICAgICAgZGVsIGxpbmVzWzBdCisgICAgICAgICAgICAgICAgaWYgbGVuKGxpbmVzKSA9PSAwOgorICAgICAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgICAgIGwgPSBsaW5lc1swXQorICAgICAgICAgICAgaSA9IDAKKyAgICAgICAgICAgIHdoaWxlIGkgPCBuYmFyZ3M6CisgICAgICAgICAgICAgICAgaWYgYXJnc1tpXVsxXSA9PSBhcmc6CisgICAgICAgICAgICAgICAgICAgIGFyZ3NbaV0gPSAoYXJnc1tpXVswXSwgYXJnLCBkZXNjKQorICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICBpID0gaSArIDEKKyAgICAgICAgICAgIGlmIGkgPj0gbmJhcmdzOgorICAgICAgICAgICAgICAgIGlmIG5vdCBxdWlldDoKKyAgICAgICAgICAgICAgICAgICAgc2VsZi53YXJuaW5nKCJVbmFibGUgdG8gZmluZCBhcmcgJXMgZnJvbSBmdW5jdGlvbiBjb21tZW50IGZvciAlcyIgJSAoCisgICAgICAgICAgICAgICAgICAgICAgIGFyZywgbmFtZSkpCisgICAgICAgIHdoaWxlIGxlbihsaW5lcykgPiAwIGFuZCBsaW5lc1swXSA9PSAnKic6CisgICAgICAgICAgICBkZWwgbGluZXNbMF0KKyAgICAgICAgZGVzYyA9ICIiCisgICAgICAgIHdoaWxlIGxlbihsaW5lcykgPiAwOgorICAgICAgICAgICAgbCA9IGxpbmVzWzBdCisgICAgICAgICAgICB3aGlsZSBsZW4obCkgPiAwIGFuZCBsWzBdID09ICcqJzoKKyAgICAgICAgICAgICAgICBsID0gbFsxOl0KKyAgICAgICAgICAgIGwgPSBsLnN0cmlwKCkKKyAgICAgICAgICAgIGlmIGxlbihsKSA+PSA2IGFuZCAgbFswOjZdID09ICJyZXR1cm4iIG9yIGxbMDo2XSA9PSAiUmV0dXJuIjoKKyAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgIGwgPSBsLnNwbGl0KCcgJywgMSlbMV0KKyAgICAgICAgICAgICAgICBleGNlcHQ6CisgICAgICAgICAgICAgICAgICAgIGwgPSAiIgorICAgICAgICAgICAgICAgIHJldGRlc2MgPSBsLnN0cmlwKCkKKyAgICAgICAgICAgICAgICBkZWwgbGluZXNbMF0KKyAgICAgICAgICAgICAgICB3aGlsZSBsZW4obGluZXMpID4gMDoKKyAgICAgICAgICAgICAgICAgICAgbCA9IGxpbmVzWzBdCisgICAgICAgICAgICAgICAgICAgIHdoaWxlIGxlbihsKSA+IDAgYW5kIGxbMF0gPT0gJyonOgorICAgICAgICAgICAgICAgICAgICAgICAgbCA9IGxbMTpdCisgICAgICAgICAgICAgICAgICAgIGwgPSBsLnN0cmlwKCkKKyAgICAgICAgICAgICAgICAgICAgcmV0ZGVzYyA9IHJldGRlc2MgKyAiICIgKyBsCisgICAgICAgICAgICAgICAgICAgIGRlbCBsaW5lc1swXQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBkZXNjID0gZGVzYyArICIgIiArIGwKKyAgICAgICAgICAgICAgICBkZWwgbGluZXNbMF0KKworICAgICAgICByZXRkZXNjID0gcmV0ZGVzYy5zdHJpcCgpCisgICAgICAgIGRlc2MgPSBkZXNjLnN0cmlwKCkKKworICAgICAgICBpZiBxdWlldCA9PSAwOgorICAgICAgICAgICAgICMKKyAgICAgICAgICAgICAjIHJlcG9ydCBtaXNzaW5nIGNvbW1lbnRzCisgICAgICAgICAgICAgIworICAgICAgICAgICAgaSA9IDAKKyAgICAgICAgICAgIHdoaWxlIGkgPCBuYmFyZ3M6CisgICAgICAgICAgICAgICAgaWYgYXJnc1tpXVsyXSA9PSBOb25lIGFuZCBhcmdzW2ldWzBdICE9ICJ2b2lkIiBhbmQgXAorICAgICAgICAgICAgICAgICAgICgoYXJnc1tpXVsxXSAhPSBOb25lKSBvciAoYXJnc1tpXVsxXSA9PSAnJykpOgorICAgICAgICAgICAgICAgICAgICBzZWxmLndhcm5pbmcoIkZ1bmN0aW9uIGNvbW1lbnQgZm9yICVzIGxhY2tzIGRlc2NyaXB0aW9uIG9mIGFyZyAlcyIgJSAobmFtZSwgYXJnc1tpXVsxXSkpCisgICAgICAgICAgICAgICAgaSA9IGkgKyAxCisgICAgICAgICAgICBpZiByZXRkZXNjID09ICIiIGFuZCByZXRbMF0gIT0gInZvaWQiOgorICAgICAgICAgICAgICAgIHNlbGYud2FybmluZygiRnVuY3Rpb24gY29tbWVudCBmb3IgJXMgbGFja3MgZGVzY3JpcHRpb24gb2YgcmV0dXJuIHZhbHVlIiAlIChuYW1lKSkKKyAgICAgICAgICAgIGlmIGRlc2MgPT0gIiI6CisgICAgICAgICAgICAgICAgc2VsZi53YXJuaW5nKCJGdW5jdGlvbiBjb21tZW50IGZvciAlcyBsYWNrcyBkZXNjcmlwdGlvbiBvZiB0aGUgZnVuY3Rpb24iICUgKG5hbWUpKQorCisgICAgICAgIHJldHVybigoKHJldFswXSwgcmV0ZGVzYyksIGFyZ3MsIGRlc2MpKQorCisgICAgZGVmIHBhcnNlUHJlcHJvYyhzZWxmLCB0b2tlbik6CisgICAgICAgIGlmIGRlYnVnOgorICAgICAgICAgICAgcHJpbnQoIj0+IHByZXByb2MgIiwgdG9rZW4sIHNlbGYubGV4ZXIudG9rZW5zKQorICAgICAgICBuYW1lID0gdG9rZW5bMV0KKyAgICAgICAgaWYgbmFtZSA9PSAiI2luY2x1ZGUiOgorICAgICAgICAgICAgdG9rZW4gPSBzZWxmLmxleGVyLnRva2VuKCkKKyAgICAgICAgICAgIGlmIHRva2VuID09IE5vbmU6CisgICAgICAgICAgICAgICAgcmV0dXJuIE5vbmUKKyAgICAgICAgICAgIGlmIHRva2VuWzBdID09ICdwcmVwcm9jJzoKKyAgICAgICAgICAgICAgICBzZWxmLmluZGV4X2FkZCh0b2tlblsxXSwgc2VsZi5maWxlbmFtZSwgbm90IHNlbGYuaXNfaGVhZGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaW5jbHVkZSIpCisgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYubGV4ZXIudG9rZW4oKQorICAgICAgICAgICAgcmV0dXJuIHRva2VuCisgICAgICAgIGlmIG5hbWUgPT0gIiNkZWZpbmUiOgorICAgICAgICAgICAgdG9rZW4gPSBzZWxmLmxleGVyLnRva2VuKCkKKyAgICAgICAgICAgIGlmIHRva2VuID09IE5vbmU6CisgICAgICAgICAgICAgICAgcmV0dXJuIE5vbmUKKyAgICAgICAgICAgIGlmIHRva2VuWzBdID09ICdwcmVwcm9jJzoKKyAgICAgICAgICAgICAgICAgIyBUT0RPIG1hY3JvcyB3aXRoIGFyZ3VtZW50cworICAgICAgICAgICAgICAgIG5hbWUgPSB0b2tlblsxXQorICAgICAgICAgICAgICAgIGxzdCA9IFtdCisgICAgICAgICAgICAgICAgdG9rZW4gPSBzZWxmLmxleGVyLnRva2VuKCkKKyAgICAgICAgICAgICAgICB3aGlsZSB0b2tlbiAhPSBOb25lIGFuZCB0b2tlblswXSA9PSAncHJlcHJvYycgYW5kIFwKKyAgICAgICAgICAgICAgICAgICAgICB0b2tlblsxXVswXSAhPSAnIyc6CisgICAgICAgICAgICAgICAgICAgIGxzdC5hcHBlbmQodG9rZW5bMV0pCisgICAgICAgICAgICAgICAgICAgIHRva2VuID0gc2VsZi5sZXhlci50b2tlbigpCisgICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICBuYW1lID0gbmFtZS5zcGxpdCgnKCcpIFswXQorICAgICAgICAgICAgICAgIGV4Y2VwdDoKKyAgICAgICAgICAgICAgICAgICAgcGFzcworICAgICAgICAgICAgICAgIGluZm8gPSBzZWxmLnBhcnNlTWFjcm9Db21tZW50KG5hbWUsIG5vdCBzZWxmLmlzX2hlYWRlcikKKyAgICAgICAgICAgICAgICBzZWxmLmluZGV4X2FkZChuYW1lLCBzZWxmLmZpbGVuYW1lLCBub3Qgc2VsZi5pc19oZWFkZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtYWNybyIsIGluZm8pCisgICAgICAgICAgICAgICAgcmV0dXJuIHRva2VuCisKKyAgICAgICAgIworICAgICAgICAjIFByb2Nlc3Npbmcgb2YgY29uZGl0aW9uYWxzIG1vZGlmaWVkIGJ5IEJpbGwgMS8xLzA1CisgICAgICAgICMKKyAgICAgICAgIyBXZSBwcm9jZXNzIGNvbmRpdGlvbmFscyAoaS5lLiB0b2tlbnMgZnJvbSAjaWZkZWYsICNpZm5kZWYsCisgICAgICAgICMgI2lmLCAjZWxzZSBhbmQgI2VuZGlmKSBmb3IgaGVhZGVycyBhbmQgbWFpbmxpbmUgY29kZSwKKyAgICAgICAgIyBzdG9yZSB0aGUgb25lcyBmcm9tIHRoZSBoZWFkZXIgaW4gbGlieG1sMi1hcGkueG1sLCBhbmQgbGF0ZXIKKyAgICAgICAgIyAoaW4gdGhlIHJvdXRpbmUgbWVyZ2VfcHVibGljKSB2ZXJpZnkgdGhhdCB0aGUgdHdvIChoZWFkZXIgYW5kCisgICAgICAgICMgbWFpbmxpbmUgY29kZSkgYWdyZWUuCisgICAgICAgICMKKyAgICAgICAgIyBUaGVyZSBpcyBhIHNtYWxsIHByb2JsZW0gd2l0aCBwcm9jZXNzaW5nIHRoZSBoZWFkZXJzLiBTb21lIG9mCisgICAgICAgICMgdGhlIHZhcmlhYmxlcyBhcmUgbm90IGNvbmNlcm5lZCB3aXRoIGVuYWJsaW5nIC8gZGlzYWJsaW5nIG9mCisgICAgICAgICMgbGlicmFyeSBmdW5jdGlvbnMgKGUuZy4gJ19fWE1MX1BBUlNFUl9IX18nKSwgYW5kIHdlIGRvbid0IHdhbnQKKyAgICAgICAgIyB0aGVtIHRvIGJlIGluY2x1ZGVkIGluIGxpYnhtbDItYXBpLnhtbCwgb3IgaW52b2x2ZWQgaW4KKyAgICAgICAgIyB0aGUgY2hlY2sgYmV0d2VlbiB0aGUgaGVhZGVyIGFuZCB0aGUgbWFpbmxpbmUgY29kZS4gIFRvCisgICAgICAgICMgYWNjb21wbGlzaCB0aGlzLCB3ZSBpZ25vcmUgYW55IGNvbmRpdGlvbmFsIHdoaWNoIGRvZXNuJ3QgaW5jbHVkZQorICAgICAgICAjIHRoZSBzdHJpbmcgJ0VOQUJMRUQnCisgICAgICAgICMKKyAgICAgICAgaWYgbmFtZSA9PSAiI2lmZGVmIjoKKyAgICAgICAgICAgIGFwc3RyID0gc2VsZi5sZXhlci50b2tlbnNbMF1bMV0KKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBzZWxmLmRlZmluZXMuYXBwZW5kKGFwc3RyKQorICAgICAgICAgICAgICAgIGlmIGFwc3RyLmZpbmQoJ0VOQUJMRUQnKSAhPSAtMToKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5jb25kaXRpb25hbHMuYXBwZW5kKCJkZWZpbmVkKCVzKSIgJSBhcHN0cikKKyAgICAgICAgICAgIGV4Y2VwdDoKKyAgICAgICAgICAgICAgICBwYXNzCisgICAgICAgIGVsaWYgbmFtZSA9PSAiI2lmbmRlZiI6CisgICAgICAgICAgICBhcHN0ciA9IHNlbGYubGV4ZXIudG9rZW5zWzBdWzFdCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgc2VsZi5kZWZpbmVzLmFwcGVuZChhcHN0cikKKyAgICAgICAgICAgICAgICBpZiBhcHN0ci5maW5kKCdFTkFCTEVEJykgIT0gLTE6CisgICAgICAgICAgICAgICAgICAgIHNlbGYuY29uZGl0aW9uYWxzLmFwcGVuZCgiIWRlZmluZWQoJXMpIiAlIGFwc3RyKQorICAgICAgICAgICAgZXhjZXB0OgorICAgICAgICAgICAgICAgIHBhc3MKKyAgICAgICAgZWxpZiBuYW1lID09ICIjaWYiOgorICAgICAgICAgICAgYXBzdHIgPSAiIgorICAgICAgICAgICAgZm9yIHRvayBpbiBzZWxmLmxleGVyLnRva2VuczoKKyAgICAgICAgICAgICAgICBpZiBhcHN0ciAhPSAiIjoKKyAgICAgICAgICAgICAgICAgICAgYXBzdHIgPSBhcHN0ciArICIgIgorICAgICAgICAgICAgICAgIGFwc3RyID0gYXBzdHIgKyB0b2tbMV0KKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBzZWxmLmRlZmluZXMuYXBwZW5kKGFwc3RyKQorICAgICAgICAgICAgICAgIGlmIGFwc3RyLmZpbmQoJ0VOQUJMRUQnKSAhPSAtMToKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5jb25kaXRpb25hbHMuYXBwZW5kKGFwc3RyKQorICAgICAgICAgICAgZXhjZXB0OgorICAgICAgICAgICAgICAgIHBhc3MKKyAgICAgICAgZWxpZiBuYW1lID09ICIjZWxzZSI6CisgICAgICAgICAgICBpZiBzZWxmLmNvbmRpdGlvbmFscyAhPSBbXSBhbmQgXAorICAgICAgICAgICAgICAgc2VsZi5kZWZpbmVzWy0xXS5maW5kKCdFTkFCTEVEJykgIT0gLTE6CisgICAgICAgICAgICAgICAgc2VsZi5jb25kaXRpb25hbHNbLTFdID0gIiEoJXMpIiAlIHNlbGYuY29uZGl0aW9uYWxzWy0xXQorICAgICAgICBlbGlmIG5hbWUgPT0gIiNlbmRpZiI6CisgICAgICAgICAgICBpZiBzZWxmLmNvbmRpdGlvbmFscyAhPSBbXSBhbmQgXAorICAgICAgICAgICAgICAgc2VsZi5kZWZpbmVzWy0xXS5maW5kKCdFTkFCTEVEJykgIT0gLTE6CisgICAgICAgICAgICAgICAgc2VsZi5jb25kaXRpb25hbHMgPSBzZWxmLmNvbmRpdGlvbmFsc1s6LTFdCisgICAgICAgICAgICBzZWxmLmRlZmluZXMgPSBzZWxmLmRlZmluZXNbOi0xXQorICAgICAgICB0b2tlbiA9IHNlbGYubGV4ZXIudG9rZW4oKQorICAgICAgICB3aGlsZSB0b2tlbiAhPSBOb25lIGFuZCB0b2tlblswXSA9PSAncHJlcHJvYycgYW5kIFwKKyAgICAgICAgICAgIHRva2VuWzFdWzBdICE9ICcjJzoKKyAgICAgICAgICAgIHRva2VuID0gc2VsZi5sZXhlci50b2tlbigpCisgICAgICAgIHJldHVybiB0b2tlbgorCisgICAgICMKKyAgICAgIyB0b2tlbiBhY3F1aXNpdGlvbiBvbiB0b3Agb2YgdGhlIGxleGVyLCBpdCBoYW5kbGUgaW50ZXJuYWxseQorICAgICAjIHByZXByb2Nlc3NvciBhbmQgY29tbWVudHMgc2luY2UgdGhleSBhcmUgbG9naWNhbGx5IG5vdCBwYXJ0IG9mCisgICAgICMgdGhlIHByb2dyYW0gc3RydWN0dXJlLgorICAgICAjCisgICAgZGVmIHRva2VuKHNlbGYpOgorICAgICAgICBnbG9iYWwgaWdub3JlZF93b3JkcworCisgICAgICAgIHRva2VuID0gc2VsZi5sZXhlci50b2tlbigpCisgICAgICAgIHdoaWxlIHRva2VuICE9IE5vbmU6CisgICAgICAgICAgICBpZiB0b2tlblswXSA9PSAnY29tbWVudCc6CisgICAgICAgICAgICAgICAgdG9rZW4gPSBzZWxmLnBhcnNlQ29tbWVudCh0b2tlbikKKyAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgZWxpZiB0b2tlblswXSA9PSAncHJlcHJvYyc6CisgICAgICAgICAgICAgICAgdG9rZW4gPSBzZWxmLnBhcnNlUHJlcHJvYyh0b2tlbikKKyAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgZWxpZiB0b2tlblswXSA9PSAibmFtZSIgYW5kIHRva2VuWzFdID09ICJfX2NvbnN0IjoKKyAgICAgICAgICAgICAgICB0b2tlbiA9ICgibmFtZSIsICJjb25zdCIpCisgICAgICAgICAgICAgICAgcmV0dXJuIHRva2VuCisgICAgICAgICAgICBlbGlmIHRva2VuWzBdID09ICJuYW1lIiBhbmQgdG9rZW5bMV0gPT0gIl9fYXR0cmlidXRlIjoKKyAgICAgICAgICAgICAgICB0b2tlbiA9IHNlbGYubGV4ZXIudG9rZW4oKQorICAgICAgICAgICAgICAgIHdoaWxlIHRva2VuICE9IE5vbmUgYW5kIHRva2VuWzFdICE9ICI7IjoKKyAgICAgICAgICAgICAgICAgICAgdG9rZW4gPSBzZWxmLmxleGVyLnRva2VuKCkKKyAgICAgICAgICAgICAgICByZXR1cm4gdG9rZW4KKyAgICAgICAgICAgIGVsaWYgdG9rZW5bMF0gPT0gIm5hbWUiIGFuZCB0b2tlblsxXSBpbiBpZ25vcmVkX3dvcmRzOgorICAgICAgICAgICAgICAgIChuLCBpbmZvKSA9IGlnbm9yZWRfd29yZHNbdG9rZW5bMV1dCisgICAgICAgICAgICAgICAgaSA9IDAKKyAgICAgICAgICAgICAgICB3aGlsZSBpIDwgbjoKKyAgICAgICAgICAgICAgICAgICAgdG9rZW4gPSBzZWxmLmxleGVyLnRva2VuKCkKKyAgICAgICAgICAgICAgICAgICAgaSA9IGkgKyAxCisgICAgICAgICAgICAgICAgdG9rZW4gPSBzZWxmLmxleGVyLnRva2VuKCkKKyAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBpZiBkZWJ1ZzoKKyAgICAgICAgICAgICAgICAgICAgcHJpbnQoIj0+ICIsIHRva2VuKQorICAgICAgICAgICAgICAgIHJldHVybiB0b2tlbgorICAgICAgICByZXR1cm4gTm9uZQorCisgICAgICMKKyAgICAgIyBQYXJzZSBhIHR5cGVkZWYsIGl0IHJlY29yZHMgdGhlIHR5cGUgYW5kIGl0cyBuYW1lLgorICAgICAjCisgICAgZGVmIHBhcnNlVHlwZWRlZihzZWxmLCB0b2tlbik6CisgICAgICAgIGlmIHRva2VuID09IE5vbmU6CisgICAgICAgICAgICByZXR1cm4gTm9uZQorICAgICAgICB0b2tlbiA9IHNlbGYucGFyc2VUeXBlKHRva2VuKQorICAgICAgICBpZiB0b2tlbiA9PSBOb25lOgorICAgICAgICAgICAgc2VsZi5lcnJvcigicGFyc2luZyB0eXBlZGVmIikKKyAgICAgICAgICAgIHJldHVybiBOb25lCisgICAgICAgIGJhc2VfdHlwZSA9IHNlbGYudHlwZQorICAgICAgICB0eXBlID0gYmFzZV90eXBlCisgICAgICAgICAjc2VsZi5kZWJ1ZygiZW5kIHR5cGVkZWYgdHlwZSIsIHRva2VuKQorICAgICAgICB3aGlsZSB0b2tlbiAhPSBOb25lOgorICAgICAgICAgICAgaWYgdG9rZW5bMF0gPT0gIm5hbWUiOgorICAgICAgICAgICAgICAgIG5hbWUgPSB0b2tlblsxXQorICAgICAgICAgICAgICAgIHNpZ25hdHVyZSA9IHNlbGYuc2lnbmF0dXJlCisgICAgICAgICAgICAgICAgaWYgc2lnbmF0dXJlICE9IE5vbmU6CisgICAgICAgICAgICAgICAgICAgIHR5cGUgPSB0eXBlLnNwbGl0KCcoJylbMF0KKyAgICAgICAgICAgICAgICAgICAgZCA9IHNlbGYubWVyZ2VGdW5jdGlvbkNvbW1lbnQobmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHR5cGUsIE5vbmUpLCBzaWduYXR1cmUpLCAxKQorICAgICAgICAgICAgICAgICAgICBzZWxmLmluZGV4X2FkZChuYW1lLCBzZWxmLmZpbGVuYW1lLCBub3Qgc2VsZi5pc19oZWFkZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZnVuY3R5cGUiLCBkKQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIGlmIGJhc2VfdHlwZSA9PSAic3RydWN0IjoKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuaW5kZXhfYWRkKG5hbWUsIHNlbGYuZmlsZW5hbWUsIG5vdCBzZWxmLmlzX2hlYWRlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RydWN0IiwgdHlwZSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGJhc2VfdHlwZSA9ICJzdHJ1Y3QgIiArIG5hbWUKKyAgICAgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgICAgICMgVE9ETyByZXBvcnQgbWlzc2luZyBvciBtaXNmb3JtYXR0ZWQgY29tbWVudHMKKyAgICAgICAgICAgICAgICAgICAgICAgIGluZm8gPSBzZWxmLnBhcnNlVHlwZUNvbW1lbnQobmFtZSwgMSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuaW5kZXhfYWRkKG5hbWUsIHNlbGYuZmlsZW5hbWUsIG5vdCBzZWxmLmlzX2hlYWRlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlZGVmIiwgdHlwZSwgaW5mbykKKyAgICAgICAgICAgICAgICB0b2tlbiA9IHNlbGYudG9rZW4oKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBzZWxmLmVycm9yKCJwYXJzaW5nIHR5cGVkZWY6IGV4cGVjdGluZyBhIG5hbWUiKQorICAgICAgICAgICAgICAgIHJldHVybiB0b2tlbgorICAgICAgICAgICAgICNzZWxmLmRlYnVnKCJlbmQgdHlwZWRlZiIsIHRva2VuKQorICAgICAgICAgICAgaWYgdG9rZW4gIT0gTm9uZSBhbmQgdG9rZW5bMF0gPT0gJ3NlcCcgYW5kIHRva2VuWzFdID09ICcsJzoKKyAgICAgICAgICAgICAgICB0eXBlID0gYmFzZV90eXBlCisgICAgICAgICAgICAgICAgdG9rZW4gPSBzZWxmLnRva2VuKCkKKyAgICAgICAgICAgICAgICB3aGlsZSB0b2tlbiAhPSBOb25lIGFuZCB0b2tlblswXSA9PSAib3AiOgorICAgICAgICAgICAgICAgICAgICB0eXBlID0gdHlwZSArIHRva2VuWzFdCisgICAgICAgICAgICAgICAgICAgIHRva2VuID0gc2VsZi50b2tlbigpCisgICAgICAgICAgICBlbGlmIHRva2VuICE9IE5vbmUgYW5kIHRva2VuWzBdID09ICdzZXAnIGFuZCB0b2tlblsxXSA9PSAnOyc6CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBlbGlmIHRva2VuICE9IE5vbmUgYW5kIHRva2VuWzBdID09ICduYW1lJzoKKyAgICAgICAgICAgICAgICB0eXBlID0gYmFzZV90eXBlCisgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHNlbGYuZXJyb3IoInBhcnNpbmcgdHlwZWRlZjogZXhwZWN0aW5nICc7JyIsIHRva2VuKQorICAgICAgICAgICAgICAgIHJldHVybiB0b2tlbgorICAgICAgICB0b2tlbiA9IHNlbGYudG9rZW4oKQorICAgICAgICByZXR1cm4gdG9rZW4KKworICAgICAjCisgICAgICMgUGFyc2UgYSBDIGNvZGUgYmxvY2ssIHVzZWQgZm9yIGZ1bmN0aW9ucyBpdCBwYXJzZSB0aWxsCisgICAgICMgdGhlIGJhbGFuY2luZyB9IGluY2x1ZGVkCisgICAgICMKKyAgICBkZWYgcGFyc2VCbG9jayhzZWxmLCB0b2tlbik6CisgICAgICAgIHdoaWxlIHRva2VuICE9IE5vbmU6CisgICAgICAgICAgICBpZiB0b2tlblswXSA9PSAic2VwIiBhbmQgdG9rZW5bMV0gPT0gInsiOgorICAgICAgICAgICAgICAgIHRva2VuID0gc2VsZi50b2tlbigpCisgICAgICAgICAgICAgICAgdG9rZW4gPSBzZWxmLnBhcnNlQmxvY2sodG9rZW4pCisgICAgICAgICAgICBlbGlmIHRva2VuWzBdID09ICJzZXAiIGFuZCB0b2tlblsxXSA9PSAifSI6CisgICAgICAgICAgICAgICAgc2VsZi5jb21tZW50ID0gTm9uZQorICAgICAgICAgICAgICAgIHRva2VuID0gc2VsZi50b2tlbigpCisgICAgICAgICAgICAgICAgcmV0dXJuIHRva2VuCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIGlmIHNlbGYuY29sbGVjdF9yZWYgPT0gMToKKyAgICAgICAgICAgICAgICAgICAgb2xkdG9rID0gdG9rZW4KKyAgICAgICAgICAgICAgICAgICAgdG9rZW4gPSBzZWxmLnRva2VuKCkKKyAgICAgICAgICAgICAgICAgICAgaWYgb2xkdG9rWzBdID09ICJuYW1lIiBhbmQgb2xkdG9rWzFdWzA6M10gPT0gInhtbCI6CisgICAgICAgICAgICAgICAgICAgICAgICBpZiB0b2tlblswXSA9PSAic2VwIiBhbmQgdG9rZW5bMV0gPT0gIigiOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuaW5kZXhfYWRkX3JlZihvbGR0b2tbMV0sIHNlbGYuZmlsZW5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCAiZnVuY3Rpb24iKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRva2VuID0gc2VsZi50b2tlbigpCisgICAgICAgICAgICAgICAgICAgICAgICBlbGlmIHRva2VuWzBdID09ICJuYW1lIjoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2tlbiA9IHNlbGYudG9rZW4oKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIHRva2VuWzBdID09ICJzZXAiIGFuZCAodG9rZW5bMV0gPT0gIjsiIG9yCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9rZW5bMV0gPT0gIiwiIG9yIHRva2VuWzFdID09ICI9Iik6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuaW5kZXhfYWRkX3JlZihvbGR0b2tbMV0sIHNlbGYuZmlsZW5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgInR5cGUiKQorICAgICAgICAgICAgICAgICAgICBlbGlmIG9sZHRva1swXSA9PSAibmFtZSIgYW5kIG9sZHRva1sxXVswOjRdID09ICJYTUxfIjoKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuaW5kZXhfYWRkX3JlZihvbGR0b2tbMV0sIHNlbGYuZmlsZW5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsICJ0eXBlZGVmIikKKyAgICAgICAgICAgICAgICAgICAgZWxpZiBvbGR0b2tbMF0gPT0gIm5hbWUiIGFuZCBvbGR0b2tbMV1bMDo3XSA9PSAiTElCWE1MXyI6CisgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmluZGV4X2FkZF9yZWYob2xkdG9rWzFdLCBzZWxmLmZpbGVuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCAidHlwZWRlZiIpCisKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICB0b2tlbiA9IHNlbGYudG9rZW4oKQorICAgICAgICByZXR1cm4gdG9rZW4KKworICAgICAjCisgICAgICMgUGFyc2UgYSBDIHN0cnVjdCBkZWZpbml0aW9uIHRpbGwgdGhlIGJhbGFuY2luZyB9CisgICAgICMKKyAgICBkZWYgcGFyc2VTdHJ1Y3Qoc2VsZiwgdG9rZW4pOgorICAgICAgICBmaWVsZHMgPSBbXQorICAgICAgICAgI3NlbGYuZGVidWcoInN0YXJ0IHBhcnNlU3RydWN0IiwgdG9rZW4pCisgICAgICAgIHdoaWxlIHRva2VuICE9IE5vbmU6CisgICAgICAgICAgICBpZiB0b2tlblswXSA9PSAic2VwIiBhbmQgdG9rZW5bMV0gPT0gInsiOgorICAgICAgICAgICAgICAgIHRva2VuID0gc2VsZi50b2tlbigpCisgICAgICAgICAgICAgICAgdG9rZW4gPSBzZWxmLnBhcnNlVHlwZUJsb2NrKHRva2VuKQorICAgICAgICAgICAgZWxpZiB0b2tlblswXSA9PSAic2VwIiBhbmQgdG9rZW5bMV0gPT0gIn0iOgorICAgICAgICAgICAgICAgIHNlbGYuc3RydWN0X2ZpZWxkcyA9IGZpZWxkcworICAgICAgICAgICAgICAgICAjc2VsZi5kZWJ1ZygiZW5kIHBhcnNlU3RydWN0IiwgdG9rZW4pCisgICAgICAgICAgICAgICAgICNwcmludCBmaWVsZHMKKyAgICAgICAgICAgICAgICB0b2tlbiA9IHNlbGYudG9rZW4oKQorICAgICAgICAgICAgICAgIHJldHVybiB0b2tlbgorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBiYXNlX3R5cGUgPSBzZWxmLnR5cGUKKyAgICAgICAgICAgICAgICAgI3NlbGYuZGVidWcoImJlZm9yZSBwYXJzZVR5cGUiLCB0b2tlbikKKyAgICAgICAgICAgICAgICB0b2tlbiA9IHNlbGYucGFyc2VUeXBlKHRva2VuKQorICAgICAgICAgICAgICAgICAjc2VsZi5kZWJ1ZygiYWZ0ZXIgcGFyc2VUeXBlIiwgdG9rZW4pCisgICAgICAgICAgICAgICAgaWYgdG9rZW4gIT0gTm9uZSBhbmQgdG9rZW5bMF0gPT0gIm5hbWUiOgorICAgICAgICAgICAgICAgICAgICBmbmFtZSA9IHRva2VuWzFdCisgICAgICAgICAgICAgICAgICAgIHRva2VuID0gc2VsZi50b2tlbigpCisgICAgICAgICAgICAgICAgICAgIGlmIHRva2VuWzBdID09ICJzZXAiIGFuZCB0b2tlblsxXSA9PSAiOyI6CisgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmNvbW1lbnQgPSBOb25lCisgICAgICAgICAgICAgICAgICAgICAgICB0b2tlbiA9IHNlbGYudG9rZW4oKQorICAgICAgICAgICAgICAgICAgICAgICAgZmllbGRzLmFwcGVuZCgoc2VsZi50eXBlLCBmbmFtZSwgc2VsZi5jb21tZW50KSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuY29tbWVudCA9IE5vbmUKKyAgICAgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZXJyb3IoInBhcnNlU3RydWN0OiBleHBlY3RpbmcgOyIsIHRva2VuKQorICAgICAgICAgICAgICAgIGVsaWYgdG9rZW4gIT0gTm9uZSBhbmQgdG9rZW5bMF0gPT0gInNlcCIgYW5kIHRva2VuWzFdID09ICJ7IjoKKyAgICAgICAgICAgICAgICAgICAgdG9rZW4gPSBzZWxmLnRva2VuKCkKKyAgICAgICAgICAgICAgICAgICAgdG9rZW4gPSBzZWxmLnBhcnNlVHlwZUJsb2NrKHRva2VuKQorICAgICAgICAgICAgICAgICAgICBpZiB0b2tlbiAhPSBOb25lIGFuZCB0b2tlblswXSA9PSAibmFtZSI6CisgICAgICAgICAgICAgICAgICAgICAgICB0b2tlbiA9IHNlbGYudG9rZW4oKQorICAgICAgICAgICAgICAgICAgICBpZiB0b2tlbiAhPSBOb25lIGFuZCB0b2tlblswXSA9PSAic2VwIiBhbmQgdG9rZW5bMV0gPT0gIjsiOgorICAgICAgICAgICAgICAgICAgICAgICAgdG9rZW4gPSBzZWxmLnRva2VuKCkKKyAgICAgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZXJyb3IoInBhcnNlU3RydWN0OiBleHBlY3RpbmcgOyIsIHRva2VuKQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIHNlbGYuZXJyb3IoInBhcnNlU3RydWN0OiBuYW1lIiwgdG9rZW4pCisgICAgICAgICAgICAgICAgICAgIHRva2VuID0gc2VsZi50b2tlbigpCisgICAgICAgICAgICAgICAgc2VsZi50eXBlID0gYmFzZV90eXBlOworICAgICAgICBzZWxmLnN0cnVjdF9maWVsZHMgPSBmaWVsZHMKKyAgICAgICAgICNzZWxmLmRlYnVnKCJlbmQgcGFyc2VTdHJ1Y3QiLCB0b2tlbikKKyAgICAgICAgICNwcmludCBmaWVsZHMKKyAgICAgICAgcmV0dXJuIHRva2VuCisKKyAgICAgIworICAgICAjIFBhcnNlIGEgQyBlbnVtIGJsb2NrLCBwYXJzZSB0aWxsIHRoZSBiYWxhbmNpbmcgfQorICAgICAjCisgICAgZGVmIHBhcnNlRW51bUJsb2NrKHNlbGYsIHRva2VuKToKKyAgICAgICAgc2VsZi5lbnVtcyA9IFtdCisgICAgICAgIG5hbWUgPSBOb25lCisgICAgICAgIHNlbGYuY29tbWVudCA9IE5vbmUKKyAgICAgICAgY29tbWVudCA9ICIiCisgICAgICAgIHZhbHVlID0gIjAiCisgICAgICAgIHdoaWxlIHRva2VuICE9IE5vbmU6CisgICAgICAgICAgICBpZiB0b2tlblswXSA9PSAic2VwIiBhbmQgdG9rZW5bMV0gPT0gInsiOgorICAgICAgICAgICAgICAgIHRva2VuID0gc2VsZi50b2tlbigpCisgICAgICAgICAgICAgICAgdG9rZW4gPSBzZWxmLnBhcnNlVHlwZUJsb2NrKHRva2VuKQorICAgICAgICAgICAgZWxpZiB0b2tlblswXSA9PSAic2VwIiBhbmQgdG9rZW5bMV0gPT0gIn0iOgorICAgICAgICAgICAgICAgIGlmIG5hbWUgIT0gTm9uZToKKyAgICAgICAgICAgICAgICAgICAgaWYgc2VsZi5jb21tZW50ICE9IE5vbmU6CisgICAgICAgICAgICAgICAgICAgICAgICBjb21tZW50ID0gc2VsZi5jb21tZW50CisgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmNvbW1lbnQgPSBOb25lCisgICAgICAgICAgICAgICAgICAgIHNlbGYuZW51bXMuYXBwZW5kKChuYW1lLCB2YWx1ZSwgY29tbWVudCkpCisgICAgICAgICAgICAgICAgdG9rZW4gPSBzZWxmLnRva2VuKCkKKyAgICAgICAgICAgICAgICByZXR1cm4gdG9rZW4KKyAgICAgICAgICAgIGVsaWYgdG9rZW5bMF0gPT0gIm5hbWUiOgorICAgICAgICAgICAgICAgICAgICBpZiBuYW1lICE9IE5vbmU6CisgICAgICAgICAgICAgICAgICAgICAgICBpZiBzZWxmLmNvbW1lbnQgIT0gTm9uZToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21tZW50ID0gc2VsZi5jb21tZW50LnN0cmlwKCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmNvbW1lbnQgPSBOb25lCisgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmVudW1zLmFwcGVuZCgobmFtZSwgdmFsdWUsIGNvbW1lbnQpKQorICAgICAgICAgICAgICAgICAgICBuYW1lID0gdG9rZW5bMV0KKyAgICAgICAgICAgICAgICAgICAgY29tbWVudCA9ICIiCisgICAgICAgICAgICAgICAgICAgIHRva2VuID0gc2VsZi50b2tlbigpCisgICAgICAgICAgICAgICAgICAgIGlmIHRva2VuWzBdID09ICJvcCIgYW5kIHRva2VuWzFdWzBdID09ICI9IjoKKyAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlID0gIiIKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIGxlbih0b2tlblsxXSkgPiAxOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlID0gdG9rZW5bMV1bMTpdCisgICAgICAgICAgICAgICAgICAgICAgICB0b2tlbiA9IHNlbGYudG9rZW4oKQorICAgICAgICAgICAgICAgICAgICAgICAgd2hpbGUgdG9rZW5bMF0gIT0gInNlcCIgb3IgKHRva2VuWzFdICE9ICcsJyBhbmQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRva2VuWzFdICE9ICd9Jyk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZSArIHRva2VuWzFdCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9rZW4gPSBzZWxmLnRva2VuKCkKKyAgICAgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9ICIlZCIgJSAoaW50KHZhbHVlKSArIDEpCisgICAgICAgICAgICAgICAgICAgICAgICBleGNlcHQ6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi53YXJuaW5nKCJGYWlsZWQgdG8gY29tcHV0ZSB2YWx1ZSBvZiBlbnVtICVzIiAlIChuYW1lKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT0iIgorICAgICAgICAgICAgICAgICAgICBpZiB0b2tlblswXSA9PSAic2VwIiBhbmQgdG9rZW5bMV0gPT0gIiwiOgorICAgICAgICAgICAgICAgICAgICAgICAgdG9rZW4gPSBzZWxmLnRva2VuKCkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgdG9rZW4gPSBzZWxmLnRva2VuKCkKKyAgICAgICAgcmV0dXJuIHRva2VuCisKKyAgICAgIworICAgICAjIFBhcnNlIGEgQyBkZWZpbml0aW9uIGJsb2NrLCB1c2VkIGZvciBzdHJ1Y3RzIGl0IHBhcnNlIHRpbGwKKyAgICAgIyB0aGUgYmFsYW5jaW5nIH0KKyAgICAgIworICAgIGRlZiBwYXJzZVR5cGVCbG9jayhzZWxmLCB0b2tlbik6CisgICAgICAgIHdoaWxlIHRva2VuICE9IE5vbmU6CisgICAgICAgICAgICBpZiB0b2tlblswXSA9PSAic2VwIiBhbmQgdG9rZW5bMV0gPT0gInsiOgorICAgICAgICAgICAgICAgIHRva2VuID0gc2VsZi50b2tlbigpCisgICAgICAgICAgICAgICAgdG9rZW4gPSBzZWxmLnBhcnNlVHlwZUJsb2NrKHRva2VuKQorICAgICAgICAgICAgZWxpZiB0b2tlblswXSA9PSAic2VwIiBhbmQgdG9rZW5bMV0gPT0gIn0iOgorICAgICAgICAgICAgICAgIHRva2VuID0gc2VsZi50b2tlbigpCisgICAgICAgICAgICAgICAgcmV0dXJuIHRva2VuCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHRva2VuID0gc2VsZi50b2tlbigpCisgICAgICAgIHJldHVybiB0b2tlbgorCisgICAgICMKKyAgICAgIyBQYXJzZSBhIHR5cGU6IHRoZSBmYWN0IHRoYXQgdGhlIHR5cGUgbmFtZSBjYW4gZWl0aGVyIG9jY3VyIGFmdGVyCisgICAgICMgICAgdGhlIGRlZmluaXRpb24gb3Igd2l0aGluIHRoZSBkZWZpbml0aW9uIG1ha2VzIGl0IGEgbGl0dGxlIGhhcmRlcgorICAgICAjICAgIGlmIGluc2lkZSwgdGhlIG5hbWUgdG9rZW4gaXMgcHVzaGVkIGJhY2sgYmVmb3JlIHJldHVybmluZworICAgICAjCisgICAgZGVmIHBhcnNlVHlwZShzZWxmLCB0b2tlbik6CisgICAgICAgIHNlbGYudHlwZSA9ICIiCisgICAgICAgIHNlbGYuc3RydWN0X2ZpZWxkcyA9IFtdCisgICAgICAgIHNlbGYuc2lnbmF0dXJlID0gTm9uZQorICAgICAgICBpZiB0b2tlbiA9PSBOb25lOgorICAgICAgICAgICAgcmV0dXJuIHRva2VuCisKKyAgICAgICAgd2hpbGUgdG9rZW5bMF0gPT0gIm5hbWUiIGFuZCAoCisgICAgICAgICAgICAgIHRva2VuWzFdID09ICJjb25zdCIgb3IgXAorICAgICAgICAgICAgICB0b2tlblsxXSA9PSAidW5zaWduZWQiIG9yIFwKKyAgICAgICAgICAgICAgdG9rZW5bMV0gPT0gInNpZ25lZCIpOgorICAgICAgICAgICAgaWYgc2VsZi50eXBlID09ICIiOgorICAgICAgICAgICAgICAgIHNlbGYudHlwZSA9IHRva2VuWzFdCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHNlbGYudHlwZSA9IHNlbGYudHlwZSArICIgIiArIHRva2VuWzFdCisgICAgICAgICAgICB0b2tlbiA9IHNlbGYudG9rZW4oKQorCisgICAgICAgIGlmIHRva2VuWzBdID09ICJuYW1lIiBhbmQgKHRva2VuWzFdID09ICJsb25nIiBvciB0b2tlblsxXSA9PSAic2hvcnQiKToKKyAgICAgICAgICAgIGlmIHNlbGYudHlwZSA9PSAiIjoKKyAgICAgICAgICAgICAgICBzZWxmLnR5cGUgPSB0b2tlblsxXQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBzZWxmLnR5cGUgPSBzZWxmLnR5cGUgKyAiICIgKyB0b2tlblsxXQorICAgICAgICAgICAgaWYgdG9rZW5bMF0gPT0gIm5hbWUiIGFuZCB0b2tlblsxXSA9PSAiaW50IjoKKyAgICAgICAgICAgICAgICBpZiBzZWxmLnR5cGUgPT0gIiI6CisgICAgICAgICAgICAgICAgICAgIHNlbGYudHlwZSA9IHRtcFsxXQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIHNlbGYudHlwZSA9IHNlbGYudHlwZSArICIgIiArIHRtcFsxXQorCisgICAgICAgIGVsaWYgdG9rZW5bMF0gPT0gIm5hbWUiIGFuZCB0b2tlblsxXSA9PSAic3RydWN0IjoKKyAgICAgICAgICAgIGlmIHNlbGYudHlwZSA9PSAiIjoKKyAgICAgICAgICAgICAgICBzZWxmLnR5cGUgPSB0b2tlblsxXQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBzZWxmLnR5cGUgPSBzZWxmLnR5cGUgKyAiICIgKyB0b2tlblsxXQorICAgICAgICAgICAgdG9rZW4gPSBzZWxmLnRva2VuKCkKKyAgICAgICAgICAgIG5hbWV0b2sgPSBOb25lCisgICAgICAgICAgICBpZiB0b2tlblswXSA9PSAibmFtZSI6CisgICAgICAgICAgICAgICAgbmFtZXRvayA9IHRva2VuCisgICAgICAgICAgICAgICAgdG9rZW4gPSBzZWxmLnRva2VuKCkKKyAgICAgICAgICAgIGlmIHRva2VuICE9IE5vbmUgYW5kIHRva2VuWzBdID09ICJzZXAiIGFuZCB0b2tlblsxXSA9PSAieyI6CisgICAgICAgICAgICAgICAgdG9rZW4gPSBzZWxmLnRva2VuKCkKKyAgICAgICAgICAgICAgICB0b2tlbiA9IHNlbGYucGFyc2VTdHJ1Y3QodG9rZW4pCisgICAgICAgICAgICBlbGlmIHRva2VuICE9IE5vbmUgYW5kIHRva2VuWzBdID09ICJvcCIgYW5kIHRva2VuWzFdID09ICIqIjoKKyAgICAgICAgICAgICAgICBzZWxmLnR5cGUgPSBzZWxmLnR5cGUgKyAiICIgKyBuYW1ldG9rWzFdICsgIiAqIgorICAgICAgICAgICAgICAgIHRva2VuID0gc2VsZi50b2tlbigpCisgICAgICAgICAgICAgICAgd2hpbGUgdG9rZW4gIT0gTm9uZSBhbmQgdG9rZW5bMF0gPT0gIm9wIiBhbmQgdG9rZW5bMV0gPT0gIioiOgorICAgICAgICAgICAgICAgICAgICBzZWxmLnR5cGUgPSBzZWxmLnR5cGUgKyAiICoiCisgICAgICAgICAgICAgICAgICAgIHRva2VuID0gc2VsZi50b2tlbigpCisgICAgICAgICAgICAgICAgaWYgdG9rZW5bMF0gPT0gIm5hbWUiOgorICAgICAgICAgICAgICAgICAgICBuYW1ldG9rID0gdG9rZW4KKyAgICAgICAgICAgICAgICAgICAgdG9rZW4gPSBzZWxmLnRva2VuKCkKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBzZWxmLmVycm9yKCJzdHJ1Y3QgOiBleHBlY3RpbmcgbmFtZSIsIHRva2VuKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gdG9rZW4KKyAgICAgICAgICAgIGVsaWYgdG9rZW4gIT0gTm9uZSBhbmQgdG9rZW5bMF0gPT0gIm5hbWUiIGFuZCBuYW1ldG9rICE9IE5vbmU6CisgICAgICAgICAgICAgICAgc2VsZi50eXBlID0gc2VsZi50eXBlICsgIiAiICsgbmFtZXRva1sxXQorICAgICAgICAgICAgICAgIHJldHVybiB0b2tlbgorCisgICAgICAgICAgICBpZiBuYW1ldG9rICE9IE5vbmU6CisgICAgICAgICAgICAgICAgc2VsZi5sZXhlci5wdXNoKHRva2VuKQorICAgICAgICAgICAgICAgIHRva2VuID0gbmFtZXRvaworICAgICAgICAgICAgcmV0dXJuIHRva2VuCisKKyAgICAgICAgZWxpZiB0b2tlblswXSA9PSAibmFtZSIgYW5kIHRva2VuWzFdID09ICJlbnVtIjoKKyAgICAgICAgICAgIGlmIHNlbGYudHlwZSA9PSAiIjoKKyAgICAgICAgICAgICAgICBzZWxmLnR5cGUgPSB0b2tlblsxXQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBzZWxmLnR5cGUgPSBzZWxmLnR5cGUgKyAiICIgKyB0b2tlblsxXQorICAgICAgICAgICAgc2VsZi5lbnVtcyA9IFtdCisgICAgICAgICAgICB0b2tlbiA9IHNlbGYudG9rZW4oKQorICAgICAgICAgICAgaWYgdG9rZW4gIT0gTm9uZSBhbmQgdG9rZW5bMF0gPT0gInNlcCIgYW5kIHRva2VuWzFdID09ICJ7IjoKKyAgICAgICAgICAgICAgICB0b2tlbiA9IHNlbGYudG9rZW4oKQorICAgICAgICAgICAgICAgIHRva2VuID0gc2VsZi5wYXJzZUVudW1CbG9jayh0b2tlbikKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgc2VsZi5lcnJvcigicGFyc2luZyBlbnVtOiBleHBlY3RpbmcgJ3snIiwgdG9rZW4pCisgICAgICAgICAgICBlbnVtX3R5cGUgPSBOb25lCisgICAgICAgICAgICBpZiB0b2tlbiAhPSBOb25lIGFuZCB0b2tlblswXSAhPSAibmFtZSI6CisgICAgICAgICAgICAgICAgc2VsZi5sZXhlci5wdXNoKHRva2VuKQorICAgICAgICAgICAgICAgIHRva2VuID0gKCJuYW1lIiwgImVudW0iKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBlbnVtX3R5cGUgPSB0b2tlblsxXQorICAgICAgICAgICAgZm9yIGVudW0gaW4gc2VsZi5lbnVtczoKKyAgICAgICAgICAgICAgICBzZWxmLmluZGV4X2FkZChlbnVtWzBdLCBzZWxmLmZpbGVuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vdCBzZWxmLmlzX2hlYWRlciwgImVudW0iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChlbnVtWzFdLCBlbnVtWzJdLCBlbnVtX3R5cGUpKQorICAgICAgICAgICAgcmV0dXJuIHRva2VuCisKKyAgICAgICAgZWxpZiB0b2tlblswXSA9PSAibmFtZSI6CisgICAgICAgICAgICBpZiBzZWxmLnR5cGUgPT0gIiI6CisgICAgICAgICAgICAgICAgc2VsZi50eXBlID0gdG9rZW5bMV0KKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgc2VsZi50eXBlID0gc2VsZi50eXBlICsgIiAiICsgdG9rZW5bMV0KKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYuZXJyb3IoInBhcnNpbmcgdHlwZSAlczogZXhwZWN0aW5nIGEgbmFtZSIgJSAoc2VsZi50eXBlKSwKKyAgICAgICAgICAgICAgICAgICAgICAgdG9rZW4pCisgICAgICAgICAgICByZXR1cm4gdG9rZW4KKyAgICAgICAgdG9rZW4gPSBzZWxmLnRva2VuKCkKKyAgICAgICAgd2hpbGUgdG9rZW4gIT0gTm9uZSBhbmQgKHRva2VuWzBdID09ICJvcCIgb3IKKyAgICAgICAgICAgICAgdG9rZW5bMF0gPT0gIm5hbWUiIGFuZCB0b2tlblsxXSA9PSAiY29uc3QiKToKKyAgICAgICAgICAgIHNlbGYudHlwZSA9IHNlbGYudHlwZSArICIgIiArIHRva2VuWzFdCisgICAgICAgICAgICB0b2tlbiA9IHNlbGYudG9rZW4oKQorCisgICAgICAgICAjCisgICAgICAgICAjIGlmIHRoZXJlIGlzIGEgcGFyZW50aGVzaXMgaGVyZSwgdGhpcyBtZWFucyBhIGZ1bmN0aW9uIHR5cGUKKyAgICAgICAgICMKKyAgICAgICAgaWYgdG9rZW4gIT0gTm9uZSBhbmQgdG9rZW5bMF0gPT0gInNlcCIgYW5kIHRva2VuWzFdID09ICcoJzoKKyAgICAgICAgICAgIHNlbGYudHlwZSA9IHNlbGYudHlwZSArIHRva2VuWzFdCisgICAgICAgICAgICB0b2tlbiA9IHNlbGYudG9rZW4oKQorICAgICAgICAgICAgd2hpbGUgdG9rZW4gIT0gTm9uZSBhbmQgdG9rZW5bMF0gPT0gIm9wIiBhbmQgdG9rZW5bMV0gPT0gJyonOgorICAgICAgICAgICAgICAgIHNlbGYudHlwZSA9IHNlbGYudHlwZSArIHRva2VuWzFdCisgICAgICAgICAgICAgICAgdG9rZW4gPSBzZWxmLnRva2VuKCkKKyAgICAgICAgICAgIGlmIHRva2VuID09IE5vbmUgb3IgdG9rZW5bMF0gIT0gIm5hbWUiIDoKKyAgICAgICAgICAgICAgICBzZWxmLmVycm9yKCJwYXJzaW5nIGZ1bmN0aW9uIHR5cGUsIG5hbWUgZXhwZWN0ZWQiLCB0b2tlbik7CisgICAgICAgICAgICAgICAgcmV0dXJuIHRva2VuCisgICAgICAgICAgICBzZWxmLnR5cGUgPSBzZWxmLnR5cGUgKyB0b2tlblsxXQorICAgICAgICAgICAgbmFtZXRvayA9IHRva2VuCisgICAgICAgICAgICB0b2tlbiA9IHNlbGYudG9rZW4oKQorICAgICAgICAgICAgaWYgdG9rZW4gIT0gTm9uZSBhbmQgdG9rZW5bMF0gPT0gInNlcCIgYW5kIHRva2VuWzFdID09ICcpJzoKKyAgICAgICAgICAgICAgICBzZWxmLnR5cGUgPSBzZWxmLnR5cGUgKyB0b2tlblsxXQorICAgICAgICAgICAgICAgIHRva2VuID0gc2VsZi50b2tlbigpCisgICAgICAgICAgICAgICAgaWYgdG9rZW4gIT0gTm9uZSBhbmQgdG9rZW5bMF0gPT0gInNlcCIgYW5kIHRva2VuWzFdID09ICcoJzoKKyAgICAgICAgICAgICAgICAgICAgdG9rZW4gPSBzZWxmLnRva2VuKCkKKyAgICAgICAgICAgICAgICAgICAgdHlwZSA9IHNlbGYudHlwZTsKKyAgICAgICAgICAgICAgICAgICAgdG9rZW4gPSBzZWxmLnBhcnNlU2lnbmF0dXJlKHRva2VuKTsKKyAgICAgICAgICAgICAgICAgICAgc2VsZi50eXBlID0gdHlwZTsKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBzZWxmLmVycm9yKCJwYXJzaW5nIGZ1bmN0aW9uIHR5cGUsICcoJyBleHBlY3RlZCIsIHRva2VuKTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRva2VuCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHNlbGYuZXJyb3IoInBhcnNpbmcgZnVuY3Rpb24gdHlwZSwgJyknIGV4cGVjdGVkIiwgdG9rZW4pOworICAgICAgICAgICAgICAgIHJldHVybiB0b2tlbgorICAgICAgICAgICAgc2VsZi5sZXhlci5wdXNoKHRva2VuKQorICAgICAgICAgICAgdG9rZW4gPSBuYW1ldG9rCisgICAgICAgICAgICByZXR1cm4gdG9rZW4KKworICAgICAgICAgIworICAgICAgICAgIyBkbyBzb21lIGxvb2thaGVhZCBmb3IgYXJyYXlzCisgICAgICAgICAjCisgICAgICAgIGlmIHRva2VuICE9IE5vbmUgYW5kIHRva2VuWzBdID09ICJuYW1lIjoKKyAgICAgICAgICAgIG5hbWV0b2sgPSB0b2tlbgorICAgICAgICAgICAgdG9rZW4gPSBzZWxmLnRva2VuKCkKKyAgICAgICAgICAgIGlmIHRva2VuICE9IE5vbmUgYW5kIHRva2VuWzBdID09ICJzZXAiIGFuZCB0b2tlblsxXSA9PSAnWyc6CisgICAgICAgICAgICAgICAgc2VsZi50eXBlID0gc2VsZi50eXBlICsgbmFtZXRva1sxXQorICAgICAgICAgICAgICAgIHdoaWxlIHRva2VuICE9IE5vbmUgYW5kIHRva2VuWzBdID09ICJzZXAiIGFuZCB0b2tlblsxXSA9PSAnWyc6CisgICAgICAgICAgICAgICAgICAgIHNlbGYudHlwZSA9IHNlbGYudHlwZSArIHRva2VuWzFdCisgICAgICAgICAgICAgICAgICAgIHRva2VuID0gc2VsZi50b2tlbigpCisgICAgICAgICAgICAgICAgICAgIHdoaWxlIHRva2VuICE9IE5vbmUgYW5kIHRva2VuWzBdICE9ICdzZXAnIGFuZCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgIHRva2VuWzFdICE9ICddJyBhbmQgdG9rZW5bMV0gIT0gJzsnOgorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi50eXBlID0gc2VsZi50eXBlICsgdG9rZW5bMV0KKyAgICAgICAgICAgICAgICAgICAgICAgIHRva2VuID0gc2VsZi50b2tlbigpCisgICAgICAgICAgICAgICAgaWYgdG9rZW4gIT0gTm9uZSBhbmQgdG9rZW5bMF0gPT0gJ3NlcCcgYW5kIHRva2VuWzFdID09ICddJzoKKyAgICAgICAgICAgICAgICAgICAgc2VsZi50eXBlID0gc2VsZi50eXBlICsgdG9rZW5bMV0KKyAgICAgICAgICAgICAgICAgICAgdG9rZW4gPSBzZWxmLnRva2VuKCkKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBzZWxmLmVycm9yKCJwYXJzaW5nIGFycmF5IHR5cGUsICddJyBleHBlY3RlZCIsIHRva2VuKTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRva2VuCisgICAgICAgICAgICBlbGlmIHRva2VuICE9IE5vbmUgYW5kIHRva2VuWzBdID09ICJzZXAiIGFuZCB0b2tlblsxXSA9PSAnOic6CisgICAgICAgICAgICAgICAgICMgcmVtb3ZlIDoxMiBpbiBjYXNlIGl0J3MgYSBsaW1pdGVkIGludCBzaXplCisgICAgICAgICAgICAgICAgdG9rZW4gPSBzZWxmLnRva2VuKCkKKyAgICAgICAgICAgICAgICB0b2tlbiA9IHNlbGYudG9rZW4oKQorICAgICAgICAgICAgc2VsZi5sZXhlci5wdXNoKHRva2VuKQorICAgICAgICAgICAgdG9rZW4gPSBuYW1ldG9rCisKKyAgICAgICAgcmV0dXJuIHRva2VuCisKKyAgICAgIworICAgICAjIFBhcnNlIGEgc2lnbmF0dXJlOiAnKCcgaGFzIGJlZW4gcGFyc2VkIGFuZCB3ZSBzY2FuIHRoZSB0eXBlIGRlZmluaXRpb24KKyAgICAgIyAgICB1cCB0byB0aGUgJyknIGluY2x1ZGVkCisgICAgZGVmIHBhcnNlU2lnbmF0dXJlKHNlbGYsIHRva2VuKToKKyAgICAgICAgc2lnbmF0dXJlID0gW10KKyAgICAgICAgaWYgdG9rZW4gIT0gTm9uZSBhbmQgdG9rZW5bMF0gPT0gInNlcCIgYW5kIHRva2VuWzFdID09ICcpJzoKKyAgICAgICAgICAgIHNlbGYuc2lnbmF0dXJlID0gW10KKyAgICAgICAgICAgIHRva2VuID0gc2VsZi50b2tlbigpCisgICAgICAgICAgICByZXR1cm4gdG9rZW4KKyAgICAgICAgd2hpbGUgdG9rZW4gIT0gTm9uZToKKyAgICAgICAgICAgIHRva2VuID0gc2VsZi5wYXJzZVR5cGUodG9rZW4pCisgICAgICAgICAgICBpZiB0b2tlbiAhPSBOb25lIGFuZCB0b2tlblswXSA9PSAibmFtZSI6CisgICAgICAgICAgICAgICAgc2lnbmF0dXJlLmFwcGVuZCgoc2VsZi50eXBlLCB0b2tlblsxXSwgTm9uZSkpCisgICAgICAgICAgICAgICAgdG9rZW4gPSBzZWxmLnRva2VuKCkKKyAgICAgICAgICAgIGVsaWYgdG9rZW4gIT0gTm9uZSBhbmQgdG9rZW5bMF0gPT0gInNlcCIgYW5kIHRva2VuWzFdID09ICcsJzoKKyAgICAgICAgICAgICAgICB0b2tlbiA9IHNlbGYudG9rZW4oKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICBlbGlmIHRva2VuICE9IE5vbmUgYW5kIHRva2VuWzBdID09ICJzZXAiIGFuZCB0b2tlblsxXSA9PSAnKSc6CisgICAgICAgICAgICAgICAgICMgb25seSB0aGUgdHlwZSB3YXMgcHJvdmlkZWQKKyAgICAgICAgICAgICAgICBpZiBzZWxmLnR5cGUgPT0gIi4uLiI6CisgICAgICAgICAgICAgICAgICAgIHNpZ25hdHVyZS5hcHBlbmQoKHNlbGYudHlwZSwgIi4uLiIsIE5vbmUpKQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIHNpZ25hdHVyZS5hcHBlbmQoKHNlbGYudHlwZSwgTm9uZSwgTm9uZSkpCisgICAgICAgICAgICBpZiB0b2tlbiAhPSBOb25lIGFuZCB0b2tlblswXSA9PSAic2VwIjoKKyAgICAgICAgICAgICAgICBpZiB0b2tlblsxXSA9PSAnLCc6CisgICAgICAgICAgICAgICAgICAgIHRva2VuID0gc2VsZi50b2tlbigpCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICAgICAgZWxpZiB0b2tlblsxXSA9PSAnKSc6CisgICAgICAgICAgICAgICAgICAgIHRva2VuID0gc2VsZi50b2tlbigpCisgICAgICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgIHNlbGYuc2lnbmF0dXJlID0gc2lnbmF0dXJlCisgICAgICAgIHJldHVybiB0b2tlbgorCisgICAgICMKKyAgICAgIyBQYXJzZSBhIGdsb2JhbCBkZWZpbml0aW9uLCBiZSBpdCBhIHR5cGUsIHZhcmlhYmxlIG9yIGZ1bmN0aW9uCisgICAgICMgdGhlIGV4dGVybiAiQyIgYmxvY2tzIGFyZSBhIGJpdCBuYXN0eSBhbmQgcmVxdWlyZSBpdCB0byByZWN1cnNlLgorICAgICAjCisgICAgZGVmIHBhcnNlR2xvYmFsKHNlbGYsIHRva2VuKToKKyAgICAgICAgc3RhdGljID0gMAorICAgICAgICBpZiB0b2tlblsxXSA9PSAnZXh0ZXJuJzoKKyAgICAgICAgICAgIHRva2VuID0gc2VsZi50b2tlbigpCisgICAgICAgICAgICBpZiB0b2tlbiA9PSBOb25lOgorICAgICAgICAgICAgICAgIHJldHVybiB0b2tlbgorICAgICAgICAgICAgaWYgdG9rZW5bMF0gPT0gJ3N0cmluZyc6CisgICAgICAgICAgICAgICAgaWYgdG9rZW5bMV0gPT0gJ0MnOgorICAgICAgICAgICAgICAgICAgICB0b2tlbiA9IHNlbGYudG9rZW4oKQorICAgICAgICAgICAgICAgICAgICBpZiB0b2tlbiA9PSBOb25lOgorICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRva2VuCisgICAgICAgICAgICAgICAgICAgIGlmIHRva2VuWzBdID09ICdzZXAnIGFuZCB0b2tlblsxXSA9PSAieyI6CisgICAgICAgICAgICAgICAgICAgICAgICB0b2tlbiA9IHNlbGYudG9rZW4oKQorIyAgICAgICAgICAgICAgICAgICAgICAgICBwcmludCAnRW50ZXJpbmcgZXh0ZXJuICJDIGxpbmUgJywgc2VsZi5saW5lbm8oKQorICAgICAgICAgICAgICAgICAgICAgICAgd2hpbGUgdG9rZW4gIT0gTm9uZSBhbmQgKHRva2VuWzBdICE9ICdzZXAnIG9yCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2tlblsxXSAhPSAifSIpOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIHRva2VuWzBdID09ICduYW1lJzoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9rZW4gPSBzZWxmLnBhcnNlR2xvYmFsKHRva2VuKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZXJyb3IoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidG9rZW4gJXMgJXMgdW5leHBlY3RlZCBhdCB0aGUgdG9wIGxldmVsIiAlICgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2tlblswXSwgdG9rZW5bMV0pKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2tlbiA9IHNlbGYucGFyc2VHbG9iYWwodG9rZW4pCisjICAgICAgICAgICAgICAgICAgICAgICAgIHByaW50ICdFeGl0aW5nIGV4dGVybiAiQyIgbGluZScsIHNlbGYubGluZW5vKCkKKyAgICAgICAgICAgICAgICAgICAgICAgIHRva2VuID0gc2VsZi50b2tlbigpCisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdG9rZW4KKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICByZXR1cm4gdG9rZW4KKyAgICAgICAgZWxpZiB0b2tlblsxXSA9PSAnc3RhdGljJzoKKyAgICAgICAgICAgIHN0YXRpYyA9IDEKKyAgICAgICAgICAgIHRva2VuID0gc2VsZi50b2tlbigpCisgICAgICAgICAgICBpZiB0b2tlbiA9PSBOb25lIG9yICB0b2tlblswXSAhPSAnbmFtZSc6CisgICAgICAgICAgICAgICAgcmV0dXJuIHRva2VuCisKKyAgICAgICAgaWYgdG9rZW5bMV0gPT0gJ3R5cGVkZWYnOgorICAgICAgICAgICAgdG9rZW4gPSBzZWxmLnRva2VuKCkKKyAgICAgICAgICAgIHJldHVybiBzZWxmLnBhcnNlVHlwZWRlZih0b2tlbikKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHRva2VuID0gc2VsZi5wYXJzZVR5cGUodG9rZW4pCisgICAgICAgICAgICB0eXBlX29yaWcgPSBzZWxmLnR5cGUKKyAgICAgICAgaWYgdG9rZW4gPT0gTm9uZSBvciB0b2tlblswXSAhPSAibmFtZSI6CisgICAgICAgICAgICByZXR1cm4gdG9rZW4KKyAgICAgICAgdHlwZSA9IHR5cGVfb3JpZworICAgICAgICBzZWxmLm5hbWUgPSB0b2tlblsxXQorICAgICAgICB0b2tlbiA9IHNlbGYudG9rZW4oKQorICAgICAgICB3aGlsZSB0b2tlbiAhPSBOb25lIGFuZCAodG9rZW5bMF0gPT0gInNlcCIgb3IgdG9rZW5bMF0gPT0gIm9wIik6CisgICAgICAgICAgICBpZiB0b2tlblswXSA9PSAic2VwIjoKKyAgICAgICAgICAgICAgICBpZiB0b2tlblsxXSA9PSAiWyI6CisgICAgICAgICAgICAgICAgICAgIHR5cGUgPSB0eXBlICsgdG9rZW5bMV0KKyAgICAgICAgICAgICAgICAgICAgdG9rZW4gPSBzZWxmLnRva2VuKCkKKyAgICAgICAgICAgICAgICAgICAgd2hpbGUgdG9rZW4gIT0gTm9uZSBhbmQgKHRva2VuWzBdICE9ICJzZXAiIG9yIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdG9rZW5bMV0gIT0gIjsiKToKKyAgICAgICAgICAgICAgICAgICAgICAgIHR5cGUgPSB0eXBlICsgdG9rZW5bMV0KKyAgICAgICAgICAgICAgICAgICAgICAgIHRva2VuID0gc2VsZi50b2tlbigpCisKKyAgICAgICAgICAgIGlmIHRva2VuICE9IE5vbmUgYW5kIHRva2VuWzBdID09ICJvcCIgYW5kIHRva2VuWzFdID09ICI9IjoKKyAgICAgICAgICAgICAgICAgIworICAgICAgICAgICAgICAgICAjIFNraXAgdGhlIGluaXRpYWxpemF0aW9uIG9mIHRoZSB2YXJpYWJsZQorICAgICAgICAgICAgICAgICAjCisgICAgICAgICAgICAgICAgdG9rZW4gPSBzZWxmLnRva2VuKCkKKyAgICAgICAgICAgICAgICBpZiB0b2tlblswXSA9PSAnc2VwJyBhbmQgdG9rZW5bMV0gPT0gJ3snOgorICAgICAgICAgICAgICAgICAgICB0b2tlbiA9IHNlbGYudG9rZW4oKQorICAgICAgICAgICAgICAgICAgICB0b2tlbiA9IHNlbGYucGFyc2VCbG9jayh0b2tlbikKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBzZWxmLmNvbW1lbnQgPSBOb25lCisgICAgICAgICAgICAgICAgICAgIHdoaWxlIHRva2VuICE9IE5vbmUgYW5kICh0b2tlblswXSAhPSAic2VwIiBvciBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICh0b2tlblsxXSAhPSAnOycgYW5kIHRva2VuWzFdICE9ICcsJykpOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRva2VuID0gc2VsZi50b2tlbigpCisgICAgICAgICAgICAgICAgc2VsZi5jb21tZW50ID0gTm9uZQorICAgICAgICAgICAgICAgIGlmIHRva2VuID09IE5vbmUgb3IgdG9rZW5bMF0gIT0gInNlcCIgb3IgKHRva2VuWzFdICE9ICc7JyBhbmQKKyAgICAgICAgICAgICAgICAgICB0b2tlblsxXSAhPSAnLCcpOgorICAgICAgICAgICAgICAgICAgICBzZWxmLmVycm9yKCJtaXNzaW5nICc7JyBvciAnLCcgYWZ0ZXIgdmFsdWUiKQorCisgICAgICAgICAgICBpZiB0b2tlbiAhPSBOb25lIGFuZCB0b2tlblswXSA9PSAic2VwIjoKKyAgICAgICAgICAgICAgICBpZiB0b2tlblsxXSA9PSAiOyI6CisgICAgICAgICAgICAgICAgICAgIHNlbGYuY29tbWVudCA9IE5vbmUKKyAgICAgICAgICAgICAgICAgICAgdG9rZW4gPSBzZWxmLnRva2VuKCkKKyAgICAgICAgICAgICAgICAgICAgaWYgdHlwZSA9PSAic3RydWN0IjoKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuaW5kZXhfYWRkKHNlbGYubmFtZSwgc2VsZi5maWxlbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90IHNlbGYuaXNfaGVhZGVyLCAic3RydWN0Iiwgc2VsZi5zdHJ1Y3RfZmllbGRzKQorICAgICAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5pbmRleF9hZGQoc2VsZi5uYW1lLCBzZWxmLmZpbGVuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub3Qgc2VsZi5pc19oZWFkZXIsICJ2YXJpYWJsZSIsIHR5cGUpCisgICAgICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAgICAgICAgZWxpZiB0b2tlblsxXSA9PSAiKCI6CisgICAgICAgICAgICAgICAgICAgIHRva2VuID0gc2VsZi50b2tlbigpCisgICAgICAgICAgICAgICAgICAgIHRva2VuID0gc2VsZi5wYXJzZVNpZ25hdHVyZSh0b2tlbikKKyAgICAgICAgICAgICAgICAgICAgaWYgdG9rZW4gPT0gTm9uZToKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBOb25lCisgICAgICAgICAgICAgICAgICAgIGlmIHRva2VuWzBdID09ICJzZXAiIGFuZCB0b2tlblsxXSA9PSAiOyI6CisgICAgICAgICAgICAgICAgICAgICAgICBkID0gc2VsZi5tZXJnZUZ1bmN0aW9uQ29tbWVudChzZWxmLm5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgodHlwZSwgTm9uZSksIHNlbGYuc2lnbmF0dXJlKSwgMSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuaW5kZXhfYWRkKHNlbGYubmFtZSwgc2VsZi5maWxlbmFtZSwgc3RhdGljLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmdW5jdGlvbiIsIGQpCisgICAgICAgICAgICAgICAgICAgICAgICB0b2tlbiA9IHNlbGYudG9rZW4oKQorICAgICAgICAgICAgICAgICAgICBlbGlmIHRva2VuWzBdID09ICJzZXAiIGFuZCB0b2tlblsxXSA9PSAieyI6CisgICAgICAgICAgICAgICAgICAgICAgICBkID0gc2VsZi5tZXJnZUZ1bmN0aW9uQ29tbWVudChzZWxmLm5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgodHlwZSwgTm9uZSksIHNlbGYuc2lnbmF0dXJlKSwgc3RhdGljKQorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5pbmRleF9hZGQoc2VsZi5uYW1lLCBzZWxmLmZpbGVuYW1lLCBzdGF0aWMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZ1bmN0aW9uIiwgZCkKKyAgICAgICAgICAgICAgICAgICAgICAgIHRva2VuID0gc2VsZi50b2tlbigpCisgICAgICAgICAgICAgICAgICAgICAgICB0b2tlbiA9IHNlbGYucGFyc2VCbG9jayh0b2tlbik7CisgICAgICAgICAgICAgICAgZWxpZiB0b2tlblsxXSA9PSAnLCc6CisgICAgICAgICAgICAgICAgICAgIHNlbGYuY29tbWVudCA9IE5vbmUKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5pbmRleF9hZGQoc2VsZi5uYW1lLCBzZWxmLmZpbGVuYW1lLCBzdGF0aWMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmFyaWFibGUiLCB0eXBlKQorICAgICAgICAgICAgICAgICAgICB0eXBlID0gdHlwZV9vcmlnCisgICAgICAgICAgICAgICAgICAgIHRva2VuID0gc2VsZi50b2tlbigpCisgICAgICAgICAgICAgICAgICAgIHdoaWxlIHRva2VuICE9IE5vbmUgYW5kIHRva2VuWzBdID09ICJzZXAiOgorICAgICAgICAgICAgICAgICAgICAgICAgdHlwZSA9IHR5cGUgKyB0b2tlblsxXQorICAgICAgICAgICAgICAgICAgICAgICAgdG9rZW4gPSBzZWxmLnRva2VuKCkKKyAgICAgICAgICAgICAgICAgICAgaWYgdG9rZW4gIT0gTm9uZSBhbmQgdG9rZW5bMF0gPT0gIm5hbWUiOgorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5uYW1lID0gdG9rZW5bMV0KKyAgICAgICAgICAgICAgICAgICAgICAgIHRva2VuID0gc2VsZi50b2tlbigpCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgYnJlYWsKKworICAgICAgICByZXR1cm4gdG9rZW4KKworICAgIGRlZiBwYXJzZShzZWxmKToKKyAgICAgICAgc2VsZi53YXJuaW5nKCJQYXJzaW5nICVzIiAlIChzZWxmLmZpbGVuYW1lKSkKKyAgICAgICAgdG9rZW4gPSBzZWxmLnRva2VuKCkKKyAgICAgICAgd2hpbGUgdG9rZW4gIT0gTm9uZToKKyAgICAgICAgICAgIGlmIHRva2VuWzBdID09ICduYW1lJzoKKyAgICAgICAgICAgICAgICB0b2tlbiA9IHNlbGYucGFyc2VHbG9iYWwodG9rZW4pCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHNlbGYuZXJyb3IoInRva2VuICVzICVzIHVuZXhwZWN0ZWQgYXQgdGhlIHRvcCBsZXZlbCIgJSAoCisgICAgICAgICAgICAgICAgICAgICAgIHRva2VuWzBdLCB0b2tlblsxXSkpCisgICAgICAgICAgICAgICAgdG9rZW4gPSBzZWxmLnBhcnNlR2xvYmFsKHRva2VuKQorICAgICAgICAgICAgICAgIHJldHVybgorICAgICAgICBzZWxmLnBhcnNlVG9wQ29tbWVudChzZWxmLnRvcF9jb21tZW50KQorICAgICAgICByZXR1cm4gc2VsZi5pbmRleAorCisKK2NsYXNzIGRvY0J1aWxkZXI6CisgICAgIiIiQSBkb2N1bWVudGF0aW9uIGJ1aWxkZXIiIiIKKyAgICBkZWYgX19pbml0X18oc2VsZiwgbmFtZSwgZGlyZWN0b3JpZXM9WycuJ10sIGV4Y2x1ZGVzPVtdKToKKyAgICAgICAgc2VsZi5uYW1lID0gbmFtZQorICAgICAgICBzZWxmLmRpcmVjdG9yaWVzID0gZGlyZWN0b3JpZXMKKyAgICAgICAgc2VsZi5leGNsdWRlcyA9IGV4Y2x1ZGVzICsgbGlzdChpZ25vcmVkX2ZpbGVzLmtleXMoKSkKKyAgICAgICAgc2VsZi5tb2R1bGVzID0ge30KKyAgICAgICAgc2VsZi5oZWFkZXJzID0ge30KKyAgICAgICAgc2VsZi5pZHggPSBpbmRleCgpCisgICAgICAgIHNlbGYueHJlZiA9IHt9CisgICAgICAgIHNlbGYuaW5kZXggPSB7fQorICAgICAgICBpZiBuYW1lID09ICdsaWJ4bWwyJzoKKyAgICAgICAgICAgIHNlbGYuYmFzZW5hbWUgPSAnbGlieG1sJworICAgICAgICBlbHNlOgorICAgICAgICAgICAgc2VsZi5iYXNlbmFtZSA9IG5hbWUKKworICAgIGRlZiBpbmRleFN0cmluZyhzZWxmLCBpZCwgc3RyKToKKyAgICAgICAgaWYgc3RyID09IE5vbmU6CisgICAgICAgICAgICByZXR1cm4KKyAgICAgICAgc3RyID0gc3RyLnJlcGxhY2UoIiciLCAnICcpCisgICAgICAgIHN0ciA9IHN0ci5yZXBsYWNlKCciJywgJyAnKQorICAgICAgICBzdHIgPSBzdHIucmVwbGFjZSgiLyIsICcgJykKKyAgICAgICAgc3RyID0gc3RyLnJlcGxhY2UoJyonLCAnICcpCisgICAgICAgIHN0ciA9IHN0ci5yZXBsYWNlKCJbIiwgJyAnKQorICAgICAgICBzdHIgPSBzdHIucmVwbGFjZSgiXSIsICcgJykKKyAgICAgICAgc3RyID0gc3RyLnJlcGxhY2UoIigiLCAnICcpCisgICAgICAgIHN0ciA9IHN0ci5yZXBsYWNlKCIpIiwgJyAnKQorICAgICAgICBzdHIgPSBzdHIucmVwbGFjZSgiPCIsICcgJykKKyAgICAgICAgc3RyID0gc3RyLnJlcGxhY2UoJz4nLCAnICcpCisgICAgICAgIHN0ciA9IHN0ci5yZXBsYWNlKCImIiwgJyAnKQorICAgICAgICBzdHIgPSBzdHIucmVwbGFjZSgnIycsICcgJykKKyAgICAgICAgc3RyID0gc3RyLnJlcGxhY2UoIiwiLCAnICcpCisgICAgICAgIHN0ciA9IHN0ci5yZXBsYWNlKCcuJywgJyAnKQorICAgICAgICBzdHIgPSBzdHIucmVwbGFjZSgnOycsICcgJykKKyAgICAgICAgdG9rZW5zID0gc3RyLnNwbGl0KCkKKyAgICAgICAgZm9yIHRva2VuIGluIHRva2VuczoKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBjID0gdG9rZW5bMF0KKyAgICAgICAgICAgICAgICBpZiBzdHJpbmcuYXNjaWlfbGV0dGVycy5maW5kKGMpIDwgMDoKKyAgICAgICAgICAgICAgICAgICAgcGFzcworICAgICAgICAgICAgICAgIGVsaWYgbGVuKHRva2VuKSA8IDM6CisgICAgICAgICAgICAgICAgICAgIHBhc3MKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBsb3dlciA9IHRva2VuLmxvd2VyKCkKKyAgICAgICAgICAgICAgICAgICAgIyBUT0RPOiBnZW5lcmFsaXplIHRoaXMgYSBiaXQKKyAgICAgICAgICAgICAgICAgICAgaWYgbG93ZXIgPT0gJ2FuZCcgb3IgbG93ZXIgPT0gJ3RoZSc6CisgICAgICAgICAgICAgICAgICAgICAgICBwYXNzCisgICAgICAgICAgICAgICAgICAgIGVsaWYgdG9rZW4gaW4gc2VsZi54cmVmOgorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi54cmVmW3Rva2VuXS5hcHBlbmQoaWQpCisgICAgICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnhyZWZbdG9rZW5dID0gW2lkXQorICAgICAgICAgICAgZXhjZXB0OgorICAgICAgICAgICAgICAgIHBhc3MKKworICAgIGRlZiBhbmFseXplKHNlbGYpOgorICAgICAgICBwcmludCgiUHJvamVjdCAlcyA6ICVkIGhlYWRlcnMsICVkIG1vZHVsZXMiICUgKHNlbGYubmFtZSwgbGVuKGxpc3Qoc2VsZi5oZWFkZXJzLmtleXMoKSkpLCBsZW4obGlzdChzZWxmLm1vZHVsZXMua2V5cygpKSkpKQorICAgICAgICBzZWxmLmlkeC5hbmFseXplKCkKKworICAgIGRlZiBzY2FuSGVhZGVycyhzZWxmKToKKyAgICAgICAgZm9yIGhlYWRlciBpbiBsaXN0KHNlbGYuaGVhZGVycy5rZXlzKCkpOgorICAgICAgICAgICAgcGFyc2VyID0gQ1BhcnNlcihoZWFkZXIpCisgICAgICAgICAgICBpZHggPSBwYXJzZXIucGFyc2UoKQorICAgICAgICAgICAgc2VsZi5oZWFkZXJzW2hlYWRlcl0gPSBpZHg7CisgICAgICAgICAgICBzZWxmLmlkeC5tZXJnZShpZHgpCisKKyAgICBkZWYgc2Nhbk1vZHVsZXMoc2VsZik6CisgICAgICAgIGZvciBtb2R1bGUgaW4gbGlzdChzZWxmLm1vZHVsZXMua2V5cygpKToKKyAgICAgICAgICAgIHBhcnNlciA9IENQYXJzZXIobW9kdWxlKQorICAgICAgICAgICAgaWR4ID0gcGFyc2VyLnBhcnNlKCkKKyAgICAgICAgICAgICMgaWR4LmFuYWx5emUoKQorICAgICAgICAgICAgc2VsZi5tb2R1bGVzW21vZHVsZV0gPSBpZHgKKyAgICAgICAgICAgIHNlbGYuaWR4Lm1lcmdlX3B1YmxpYyhpZHgpCisKKyAgICBkZWYgc2NhbihzZWxmKToKKyAgICAgICAgZm9yIGRpcmVjdG9yeSBpbiBzZWxmLmRpcmVjdG9yaWVzOgorICAgICAgICAgICAgZmlsZXMgPSBnbG9iLmdsb2IoZGlyZWN0b3J5ICsgIi8qLmMiKQorICAgICAgICAgICAgZm9yIGZpbGUgaW4gZmlsZXM6CisgICAgICAgICAgICAgICAgc2tpcCA9IDAKKyAgICAgICAgICAgICAgICBmb3IgZXhjbCBpbiBzZWxmLmV4Y2x1ZGVzOgorICAgICAgICAgICAgICAgICAgICBpZiBmaWxlLmZpbmQoZXhjbCkgIT0gLTE6CisgICAgICAgICAgICAgICAgICAgICAgICBwcmludCgiU2tpcHBpbmcgJXMiICUgZmlsZSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHNraXAgPSAxCisgICAgICAgICAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgICAgIGlmIHNraXAgPT0gMDoKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5tb2R1bGVzW2ZpbGVdID0gTm9uZTsKKyAgICAgICAgICAgIGZpbGVzID0gZ2xvYi5nbG9iKGRpcmVjdG9yeSArICIvKi5oIikKKyAgICAgICAgICAgIGZvciBmaWxlIGluIGZpbGVzOgorICAgICAgICAgICAgICAgIHNraXAgPSAwCisgICAgICAgICAgICAgICAgZm9yIGV4Y2wgaW4gc2VsZi5leGNsdWRlczoKKyAgICAgICAgICAgICAgICAgICAgaWYgZmlsZS5maW5kKGV4Y2wpICE9IC0xOgorICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnQoIlNraXBwaW5nICVzIiAlIGZpbGUpCisgICAgICAgICAgICAgICAgICAgICAgICBza2lwID0gMQorICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgICAgICBpZiBza2lwID09IDA6CisgICAgICAgICAgICAgICAgICAgIHNlbGYuaGVhZGVyc1tmaWxlXSA9IE5vbmU7CisgICAgICAgIHNlbGYuc2NhbkhlYWRlcnMoKQorICAgICAgICBzZWxmLnNjYW5Nb2R1bGVzKCkKKworICAgIGRlZiBtb2R1bGVuYW1lX2ZpbGUoc2VsZiwgZmlsZSk6CisgICAgICAgIG1vZHVsZSA9IG9zLnBhdGguYmFzZW5hbWUoZmlsZSkKKyAgICAgICAgaWYgbW9kdWxlWy0yOl0gPT0gJy5oJzoKKyAgICAgICAgICAgIG1vZHVsZSA9IG1vZHVsZVs6LTJdCisgICAgICAgIGVsaWYgbW9kdWxlWy0yOl0gPT0gJy5jJzoKKyAgICAgICAgICAgIG1vZHVsZSA9IG1vZHVsZVs6LTJdCisgICAgICAgIHJldHVybiBtb2R1bGUKKworICAgIGRlZiBzZXJpYWxpemVfZW51bShzZWxmLCBvdXRwdXQsIG5hbWUpOgorICAgICAgICBpZCA9IHNlbGYuaWR4LmVudW1zW25hbWVdCisgICAgICAgIG91dHB1dC53cml0ZSgiICAgIDxlbnVtIG5hbWU9JyVzJyBmaWxlPSclcyciICUgKG5hbWUsCisgICAgICAgICAgICAgICAgICAgICBzZWxmLm1vZHVsZW5hbWVfZmlsZShpZC5oZWFkZXIpKSkKKyAgICAgICAgaWYgaWQuaW5mbyAhPSBOb25lOgorICAgICAgICAgICAgaW5mbyA9IGlkLmluZm8KKyAgICAgICAgICAgIGlmIGluZm9bMF0gIT0gTm9uZSBhbmQgaW5mb1swXSAhPSAnJzoKKyAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgIHZhbCA9IGV2YWwoaW5mb1swXSkKKyAgICAgICAgICAgICAgICBleGNlcHQ6CisgICAgICAgICAgICAgICAgICAgIHZhbCA9IGluZm9bMF0KKyAgICAgICAgICAgICAgICBvdXRwdXQud3JpdGUoIiB2YWx1ZT0nJXMnIiAlICh2YWwpKTsKKyAgICAgICAgICAgIGlmIGluZm9bMl0gIT0gTm9uZSBhbmQgaW5mb1syXSAhPSAnJzoKKyAgICAgICAgICAgICAgICBvdXRwdXQud3JpdGUoIiB0eXBlPSclcyciICUgaW5mb1syXSk7CisgICAgICAgICAgICBpZiBpbmZvWzFdICE9IE5vbmUgYW5kIGluZm9bMV0gIT0gJyc6CisgICAgICAgICAgICAgICAgb3V0cHV0LndyaXRlKCIgaW5mbz0nJXMnIiAlIGVzY2FwZShpbmZvWzFdKSk7CisgICAgICAgIG91dHB1dC53cml0ZSgiLz5cbiIpCisKKyAgICBkZWYgc2VyaWFsaXplX21hY3JvKHNlbGYsIG91dHB1dCwgbmFtZSk6CisgICAgICAgIGlkID0gc2VsZi5pZHgubWFjcm9zW25hbWVdCisgICAgICAgIG91dHB1dC53cml0ZSgiICAgIDxtYWNybyBuYW1lPSclcycgZmlsZT0nJXMnPlxuIiAlIChuYW1lLAorICAgICAgICAgICAgICAgICAgICAgc2VsZi5tb2R1bGVuYW1lX2ZpbGUoaWQuaGVhZGVyKSkpCisgICAgICAgIGlmIGlkLmluZm8gIT0gTm9uZToKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAoYXJncywgZGVzYykgPSBpZC5pbmZvCisgICAgICAgICAgICAgICAgaWYgZGVzYyAhPSBOb25lIGFuZCBkZXNjICE9ICIiOgorICAgICAgICAgICAgICAgICAgICBvdXRwdXQud3JpdGUoIiAgICAgIDxpbmZvPiVzPC9pbmZvPlxuIiAlIChlc2NhcGUoZGVzYykpKQorICAgICAgICAgICAgICAgICAgICBzZWxmLmluZGV4U3RyaW5nKG5hbWUsIGRlc2MpCisgICAgICAgICAgICAgICAgZm9yIGFyZyBpbiBhcmdzOgorICAgICAgICAgICAgICAgICAgICAobmFtZSwgZGVzYykgPSBhcmcKKyAgICAgICAgICAgICAgICAgICAgaWYgZGVzYyAhPSBOb25lIGFuZCBkZXNjICE9ICIiOgorICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0LndyaXRlKCIgICAgICA8YXJnIG5hbWU9JyVzJyBpbmZvPSclcycvPlxuIiAlICgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lLCBlc2NhcGUoZGVzYykpKQorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5pbmRleFN0cmluZyhuYW1lLCBkZXNjKQorICAgICAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0LndyaXRlKCIgICAgICA8YXJnIG5hbWU9JyVzJy8+XG4iICUgKG5hbWUpKQorICAgICAgICAgICAgZXhjZXB0OgorICAgICAgICAgICAgICAgIHBhc3MKKyAgICAgICAgb3V0cHV0LndyaXRlKCIgICAgPC9tYWNybz5cbiIpCisKKyAgICBkZWYgc2VyaWFsaXplX3R5cGVkZWYoc2VsZiwgb3V0cHV0LCBuYW1lKToKKyAgICAgICAgaWQgPSBzZWxmLmlkeC50eXBlZGVmc1tuYW1lXQorICAgICAgICBpZiBpZC5pbmZvWzA6N10gPT0gJ3N0cnVjdCAnOgorICAgICAgICAgICAgb3V0cHV0LndyaXRlKCIgICAgPHN0cnVjdCBuYW1lPSclcycgZmlsZT0nJXMnIHR5cGU9JyVzJyIgJSAoCisgICAgICAgICAgICAgICAgICAgICBuYW1lLCBzZWxmLm1vZHVsZW5hbWVfZmlsZShpZC5oZWFkZXIpLCBpZC5pbmZvKSkKKyAgICAgICAgICAgIG5hbWUgPSBpZC5pbmZvWzc6XQorICAgICAgICAgICAgaWYgbmFtZSBpbiBzZWxmLmlkeC5zdHJ1Y3RzIGFuZCAoIFwKKyAgICAgICAgICAgICAgIHR5cGUoc2VsZi5pZHguc3RydWN0c1tuYW1lXS5pbmZvKSA9PSB0eXBlKCgpKSBvcgorICAgICAgICAgICAgICAgIHR5cGUoc2VsZi5pZHguc3RydWN0c1tuYW1lXS5pbmZvKSA9PSB0eXBlKFtdKSk6CisgICAgICAgICAgICAgICAgb3V0cHV0LndyaXRlKCI+XG4iKTsKKyAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgIGZvciBmaWVsZCBpbiBzZWxmLmlkeC5zdHJ1Y3RzW25hbWVdLmluZm86CisgICAgICAgICAgICAgICAgICAgICAgICBkZXNjID0gZmllbGRbMl0KKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuaW5kZXhTdHJpbmcobmFtZSwgZGVzYykKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIGRlc2MgPT0gTm9uZToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjID0gJycKKyAgICAgICAgICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzYyA9IGVzY2FwZShkZXNjKQorICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0LndyaXRlKCIgICAgICA8ZmllbGQgbmFtZT0nJXMnIHR5cGU9JyVzJyBpbmZvPSclcycvPlxuIiAlIChmaWVsZFsxXSAsIGZpZWxkWzBdLCBkZXNjKSkKKyAgICAgICAgICAgICAgICBleGNlcHQ6CisgICAgICAgICAgICAgICAgICAgIHByaW50KCJGYWlsZWQgdG8gc2VyaWFsaXplIHN0cnVjdCAlcyIgJSAobmFtZSkpCisgICAgICAgICAgICAgICAgb3V0cHV0LndyaXRlKCIgICAgPC9zdHJ1Y3Q+XG4iKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBvdXRwdXQud3JpdGUoIi8+XG4iKTsKKyAgICAgICAgZWxzZSA6CisgICAgICAgICAgICBvdXRwdXQud3JpdGUoIiAgICA8dHlwZWRlZiBuYW1lPSclcycgZmlsZT0nJXMnIHR5cGU9JyVzJyIgJSAoCisgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSwgc2VsZi5tb2R1bGVuYW1lX2ZpbGUoaWQuaGVhZGVyKSwgaWQuaW5mbykpCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgZGVzYyA9IGlkLmV4dHJhCisgICAgICAgICAgICAgICAgaWYgZGVzYyAhPSBOb25lIGFuZCBkZXNjICE9ICIiOgorICAgICAgICAgICAgICAgICAgICBvdXRwdXQud3JpdGUoIj5cbiAgICAgIDxpbmZvPiVzPC9pbmZvPlxuIiAlIChlc2NhcGUoZGVzYykpKQorICAgICAgICAgICAgICAgICAgICBvdXRwdXQud3JpdGUoIiAgICA8L3R5cGVkZWY+XG4iKQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIG91dHB1dC53cml0ZSgiLz5cbiIpCisgICAgICAgICAgICBleGNlcHQ6CisgICAgICAgICAgICAgICAgb3V0cHV0LndyaXRlKCIvPlxuIikKKworICAgIGRlZiBzZXJpYWxpemVfdmFyaWFibGUoc2VsZiwgb3V0cHV0LCBuYW1lKToKKyAgICAgICAgaWQgPSBzZWxmLmlkeC52YXJpYWJsZXNbbmFtZV0KKyAgICAgICAgaWYgaWQuaW5mbyAhPSBOb25lOgorICAgICAgICAgICAgb3V0cHV0LndyaXRlKCIgICAgPHZhcmlhYmxlIG5hbWU9JyVzJyBmaWxlPSclcycgdHlwZT0nJXMnLz5cbiIgJSAoCisgICAgICAgICAgICAgICAgICAgIG5hbWUsIHNlbGYubW9kdWxlbmFtZV9maWxlKGlkLmhlYWRlciksIGlkLmluZm8pKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgb3V0cHV0LndyaXRlKCIgICAgPHZhcmlhYmxlIG5hbWU9JyVzJyBmaWxlPSclcycvPlxuIiAlICgKKyAgICAgICAgICAgICAgICAgICAgbmFtZSwgc2VsZi5tb2R1bGVuYW1lX2ZpbGUoaWQuaGVhZGVyKSkpCisKKyAgICBkZWYgc2VyaWFsaXplX2Z1bmN0aW9uKHNlbGYsIG91dHB1dCwgbmFtZSk6CisgICAgICAgIGlkID0gc2VsZi5pZHguZnVuY3Rpb25zW25hbWVdCisgICAgICAgIGlmIG5hbWUgPT0gZGVidWdzeW06CisgICAgICAgICAgICBwcmludCgiPT4iLCBpZCkKKworICAgICAgICBvdXRwdXQud3JpdGUoIiAgICA8JXMgbmFtZT0nJXMnIGZpbGU9JyVzJyBtb2R1bGU9JyVzJz5cbiIgJSAoaWQudHlwZSwKKyAgICAgICAgICAgICAgICAgICAgIG5hbWUsIHNlbGYubW9kdWxlbmFtZV9maWxlKGlkLmhlYWRlciksCisgICAgICAgICAgICAgICAgICAgICBzZWxmLm1vZHVsZW5hbWVfZmlsZShpZC5tb2R1bGUpKSkKKyAgICAgICAgIworICAgICAgICAjIFByb2Nlc3Npbmcgb2YgY29uZGl0aW9uYWxzIG1vZGlmaWVkIGJ5IEJpbGwgMS8xLzA1CisgICAgICAgICMKKyAgICAgICAgaWYgaWQuY29uZGl0aW9uYWxzICE9IE5vbmU6CisgICAgICAgICAgICBhcHN0ciA9ICIiCisgICAgICAgICAgICBmb3IgY29uZCBpbiBpZC5jb25kaXRpb25hbHM6CisgICAgICAgICAgICAgICAgaWYgYXBzdHIgIT0gIiI6CisgICAgICAgICAgICAgICAgICAgIGFwc3RyID0gYXBzdHIgKyAiICZhbXA7JmFtcDsgIgorICAgICAgICAgICAgICAgIGFwc3RyID0gYXBzdHIgKyBjb25kCisgICAgICAgICAgICBvdXRwdXQud3JpdGUoIiAgICAgIDxjb25kPiVzPC9jb25kPlxuIiUgKGFwc3RyKSk7CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIChyZXQsIHBhcmFtcywgZGVzYykgPSBpZC5pbmZvCisgICAgICAgICAgICBpZiAoZGVzYyA9PSBOb25lIG9yIGRlc2MgPT0gJycpIGFuZCBcCisgICAgICAgICAgICAgICBuYW1lWzA6OV0gIT0gInhtbFRockRlZiIgYW5kIG5hbWUgIT0gInhtbERsbE1haW4iOgorICAgICAgICAgICAgICAgIHByaW50KCIlcyAlcyBmcm9tICVzIGhhcyBubyBkZXNjcmlwdGlvbiIgJSAoaWQudHlwZSwgbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5tb2R1bGVuYW1lX2ZpbGUoaWQubW9kdWxlKSkpCisKKyAgICAgICAgICAgIG91dHB1dC53cml0ZSgiICAgICAgPGluZm8+JXM8L2luZm8+XG4iICUgKGVzY2FwZShkZXNjKSkpCisgICAgICAgICAgICBzZWxmLmluZGV4U3RyaW5nKG5hbWUsIGRlc2MpCisgICAgICAgICAgICBpZiByZXRbMF0gIT0gTm9uZToKKyAgICAgICAgICAgICAgICBpZiByZXRbMF0gPT0gInZvaWQiOgorICAgICAgICAgICAgICAgICAgICBvdXRwdXQud3JpdGUoIiAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPlxuIikKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBvdXRwdXQud3JpdGUoIiAgICAgIDxyZXR1cm4gdHlwZT0nJXMnIGluZm89JyVzJy8+XG4iICUgKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXRbMF0sIGVzY2FwZShyZXRbMV0pKSkKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5pbmRleFN0cmluZyhuYW1lLCByZXRbMV0pCisgICAgICAgICAgICBmb3IgcGFyYW0gaW4gcGFyYW1zOgorICAgICAgICAgICAgICAgIGlmIHBhcmFtWzBdID09ICd2b2lkJzoKKyAgICAgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgICAgICBpZiBwYXJhbVsyXSA9PSBOb25lOgorICAgICAgICAgICAgICAgICAgICBvdXRwdXQud3JpdGUoIiAgICAgIDxhcmcgbmFtZT0nJXMnIHR5cGU9JyVzJyBpbmZvPScnLz5cbiIgJSAocGFyYW1bMV0sIHBhcmFtWzBdKSkKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBvdXRwdXQud3JpdGUoIiAgICAgIDxhcmcgbmFtZT0nJXMnIHR5cGU9JyVzJyBpbmZvPSclcycvPlxuIiAlIChwYXJhbVsxXSwgcGFyYW1bMF0sIGVzY2FwZShwYXJhbVsyXSkpKQorICAgICAgICAgICAgICAgICAgICBzZWxmLmluZGV4U3RyaW5nKG5hbWUsIHBhcmFtWzJdKQorICAgICAgICBleGNlcHQ6CisgICAgICAgICAgICBwcmludCgiRmFpbGVkIHRvIHNhdmUgZnVuY3Rpb24gJXMgaW5mbzogIiAlIG5hbWUsIHJlcHIoaWQuaW5mbykpCisgICAgICAgIG91dHB1dC53cml0ZSgiICAgIDwvJXM+XG4iICUgKGlkLnR5cGUpKQorCisgICAgZGVmIHNlcmlhbGl6ZV9leHBvcnRzKHNlbGYsIG91dHB1dCwgZmlsZSk6CisgICAgICAgIG1vZHVsZSA9IHNlbGYubW9kdWxlbmFtZV9maWxlKGZpbGUpCisgICAgICAgIG91dHB1dC53cml0ZSgiICAgIDxmaWxlIG5hbWU9JyVzJz5cbiIgJSAobW9kdWxlKSkKKyAgICAgICAgZGljdCA9IHNlbGYuaGVhZGVyc1tmaWxlXQorICAgICAgICBpZiBkaWN0LmluZm8gIT0gTm9uZToKKyAgICAgICAgICAgIGZvciBkYXRhIGluICgnU3VtbWFyeScsICdEZXNjcmlwdGlvbicsICdBdXRob3InKToKKyAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgIG91dHB1dC53cml0ZSgiICAgICA8JXM+JXM8LyVzPlxuIiAlICgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEubG93ZXIoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVzY2FwZShkaWN0LmluZm9bZGF0YV0pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS5sb3dlcigpKSkKKyAgICAgICAgICAgICAgICBleGNlcHQ6CisgICAgICAgICAgICAgICAgICAgIHByaW50KCJIZWFkZXIgJXMgbGFja3MgYSAlcyBkZXNjcmlwdGlvbiIgJSAobW9kdWxlLCBkYXRhKSkKKyAgICAgICAgICAgIGlmICdEZXNjcmlwdGlvbicgaW4gZGljdC5pbmZvOgorICAgICAgICAgICAgICAgIGRlc2MgPSBkaWN0LmluZm9bJ0Rlc2NyaXB0aW9uJ10KKyAgICAgICAgICAgICAgICBpZiBkZXNjLmZpbmQoIkRFUFJFQ0FURUQiKSAhPSAtMToKKyAgICAgICAgICAgICAgICAgICAgb3V0cHV0LndyaXRlKCIgICAgIDxkZXByZWNhdGVkLz5cbiIpCisKKyAgICAgICAgaWRzID0gbGlzdChkaWN0Lm1hY3Jvcy5rZXlzKCkpCisgICAgICAgIGlkcy5zb3J0KCkKKyAgICAgICAgZm9yIGlkIGluIHVuaXEoaWRzKToKKyAgICAgICAgICAgICMgTWFjcm9zIGFyZSBzb21ldGltZSB1c2VkIHRvIG1hc3F1ZXJhZGUgb3RoZXIgdHlwZXMuCisgICAgICAgICAgICBpZiBpZCBpbiBkaWN0LmZ1bmN0aW9uczoKKyAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgaWYgaWQgaW4gZGljdC52YXJpYWJsZXM6CisgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgIGlmIGlkIGluIGRpY3QudHlwZWRlZnM6CisgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgIGlmIGlkIGluIGRpY3Quc3RydWN0czoKKyAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgaWYgaWQgaW4gZGljdC5lbnVtczoKKyAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgb3V0cHV0LndyaXRlKCIgICAgIDxleHBvcnRzIHN5bWJvbD0nJXMnIHR5cGU9J21hY3JvJy8+XG4iICUgKGlkKSkKKyAgICAgICAgaWRzID0gbGlzdChkaWN0LmVudW1zLmtleXMoKSkKKyAgICAgICAgaWRzLnNvcnQoKQorICAgICAgICBmb3IgaWQgaW4gdW5pcShpZHMpOgorICAgICAgICAgICAgb3V0cHV0LndyaXRlKCIgICAgIDxleHBvcnRzIHN5bWJvbD0nJXMnIHR5cGU9J2VudW0nLz5cbiIgJSAoaWQpKQorICAgICAgICBpZHMgPSBsaXN0KGRpY3QudHlwZWRlZnMua2V5cygpKQorICAgICAgICBpZHMuc29ydCgpCisgICAgICAgIGZvciBpZCBpbiB1bmlxKGlkcyk6CisgICAgICAgICAgICBvdXRwdXQud3JpdGUoIiAgICAgPGV4cG9ydHMgc3ltYm9sPSclcycgdHlwZT0ndHlwZWRlZicvPlxuIiAlIChpZCkpCisgICAgICAgIGlkcyA9IGxpc3QoZGljdC5zdHJ1Y3RzLmtleXMoKSkKKyAgICAgICAgaWRzLnNvcnQoKQorICAgICAgICBmb3IgaWQgaW4gdW5pcShpZHMpOgorICAgICAgICAgICAgb3V0cHV0LndyaXRlKCIgICAgIDxleHBvcnRzIHN5bWJvbD0nJXMnIHR5cGU9J3N0cnVjdCcvPlxuIiAlIChpZCkpCisgICAgICAgIGlkcyA9IGxpc3QoZGljdC52YXJpYWJsZXMua2V5cygpKQorICAgICAgICBpZHMuc29ydCgpCisgICAgICAgIGZvciBpZCBpbiB1bmlxKGlkcyk6CisgICAgICAgICAgICBvdXRwdXQud3JpdGUoIiAgICAgPGV4cG9ydHMgc3ltYm9sPSclcycgdHlwZT0ndmFyaWFibGUnLz5cbiIgJSAoaWQpKQorICAgICAgICBpZHMgPSBsaXN0KGRpY3QuZnVuY3Rpb25zLmtleXMoKSkKKyAgICAgICAgaWRzLnNvcnQoKQorICAgICAgICBmb3IgaWQgaW4gdW5pcShpZHMpOgorICAgICAgICAgICAgb3V0cHV0LndyaXRlKCIgICAgIDxleHBvcnRzIHN5bWJvbD0nJXMnIHR5cGU9J2Z1bmN0aW9uJy8+XG4iICUgKGlkKSkKKyAgICAgICAgb3V0cHV0LndyaXRlKCIgICAgPC9maWxlPlxuIikKKworICAgIGRlZiBzZXJpYWxpemVfeHJlZnNfZmlsZXMoc2VsZiwgb3V0cHV0KToKKyAgICAgICAgaGVhZGVycyA9IGxpc3Qoc2VsZi5oZWFkZXJzLmtleXMoKSkKKyAgICAgICAgaGVhZGVycy5zb3J0KCkKKyAgICAgICAgZm9yIGZpbGUgaW4gaGVhZGVyczoKKyAgICAgICAgICAgIG1vZHVsZSA9IHNlbGYubW9kdWxlbmFtZV9maWxlKGZpbGUpCisgICAgICAgICAgICBvdXRwdXQud3JpdGUoIiAgICA8ZmlsZSBuYW1lPSclcyc+XG4iICUgKG1vZHVsZSkpCisgICAgICAgICAgICBkaWN0ID0gc2VsZi5oZWFkZXJzW2ZpbGVdCisgICAgICAgICAgICBpZHMgPSB1bmlxKGxpc3QoZGljdC5mdW5jdGlvbnMua2V5cygpKSArIGxpc3QoZGljdC52YXJpYWJsZXMua2V5cygpKSArIFwKKyAgICAgICAgICAgICAgICAgIGxpc3QoZGljdC5tYWNyb3Mua2V5cygpKSArIGxpc3QoZGljdC50eXBlZGVmcy5rZXlzKCkpICsgXAorICAgICAgICAgICAgICAgICAgbGlzdChkaWN0LnN0cnVjdHMua2V5cygpKSArIGxpc3QoZGljdC5lbnVtcy5rZXlzKCkpKQorICAgICAgICAgICAgaWRzLnNvcnQoKQorICAgICAgICAgICAgZm9yIGlkIGluIGlkczoKKyAgICAgICAgICAgICAgICBvdXRwdXQud3JpdGUoIiAgICAgIDxyZWYgbmFtZT0nJXMnLz5cbiIgJSAoaWQpKQorICAgICAgICAgICAgb3V0cHV0LndyaXRlKCIgICAgPC9maWxlPlxuIikKKyAgICAgICAgcGFzcworCisgICAgZGVmIHNlcmlhbGl6ZV94cmVmc19mdW5jdGlvbnMoc2VsZiwgb3V0cHV0KToKKyAgICAgICAgZnVuY3MgPSB7fQorICAgICAgICBmb3IgbmFtZSBpbiBsaXN0KHNlbGYuaWR4LmZ1bmN0aW9ucy5rZXlzKCkpOgorICAgICAgICAgICAgaWQgPSBzZWxmLmlkeC5mdW5jdGlvbnNbbmFtZV0KKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAocmV0LCBwYXJhbXMsIGRlc2MpID0gaWQuaW5mbworICAgICAgICAgICAgICAgIGZvciBwYXJhbSBpbiBwYXJhbXM6CisgICAgICAgICAgICAgICAgICAgIGlmIHBhcmFtWzBdID09ICd2b2lkJzoKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICAgICAgICAgIGlmIHBhcmFtWzBdIGluIGZ1bmNzOgorICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3NbcGFyYW1bMF1dLmFwcGVuZChuYW1lKQorICAgICAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3NbcGFyYW1bMF1dID0gW25hbWVdCisgICAgICAgICAgICBleGNlcHQ6CisgICAgICAgICAgICAgICAgcGFzcworICAgICAgICB0eXAgPSBsaXN0KGZ1bmNzLmtleXMoKSkKKyAgICAgICAgdHlwLnNvcnQoKQorICAgICAgICBmb3IgdHlwZSBpbiB0eXA6CisgICAgICAgICAgICBpZiB0eXBlID09ICcnIG9yIHR5cGUgPT0gJ3ZvaWQnIG9yIHR5cGUgPT0gImludCIgb3IgXAorICAgICAgICAgICAgICAgdHlwZSA9PSAiY2hhciAqIiBvciB0eXBlID09ICJjb25zdCBjaGFyICoiIDoKKyAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgb3V0cHV0LndyaXRlKCIgICAgPHR5cGUgbmFtZT0nJXMnPlxuIiAlICh0eXBlKSkKKyAgICAgICAgICAgIGlkcyA9IGZ1bmNzW3R5cGVdCisgICAgICAgICAgICBpZHMuc29ydCgpCisgICAgICAgICAgICBwaWQgPSAnJyAgICAgICAgIyBub3Qgc3VyZSB3aHkgd2UgaGF2ZSBkdXBzLCBidXQgZ2V0IHJpZCBvZiB0aGVtIQorICAgICAgICAgICAgZm9yIGlkIGluIGlkczoKKyAgICAgICAgICAgICAgICBpZiBpZCAhPSBwaWQ6CisgICAgICAgICAgICAgICAgICAgIG91dHB1dC53cml0ZSgiICAgICAgPHJlZiBuYW1lPSclcycvPlxuIiAlIChpZCkpCisgICAgICAgICAgICAgICAgICAgIHBpZCA9IGlkCisgICAgICAgICAgICBvdXRwdXQud3JpdGUoIiAgICA8L3R5cGU+XG4iKQorCisgICAgZGVmIHNlcmlhbGl6ZV94cmVmc19jb25zdHJ1Y3RvcnMoc2VsZiwgb3V0cHV0KToKKyAgICAgICAgZnVuY3MgPSB7fQorICAgICAgICBmb3IgbmFtZSBpbiBsaXN0KHNlbGYuaWR4LmZ1bmN0aW9ucy5rZXlzKCkpOgorICAgICAgICAgICAgaWQgPSBzZWxmLmlkeC5mdW5jdGlvbnNbbmFtZV0KKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAocmV0LCBwYXJhbXMsIGRlc2MpID0gaWQuaW5mbworICAgICAgICAgICAgICAgIGlmIHJldFswXSA9PSAidm9pZCI6CisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICAgICAgaWYgcmV0WzBdIGluIGZ1bmNzOgorICAgICAgICAgICAgICAgICAgICBmdW5jc1tyZXRbMF1dLmFwcGVuZChuYW1lKQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIGZ1bmNzW3JldFswXV0gPSBbbmFtZV0KKyAgICAgICAgICAgIGV4Y2VwdDoKKyAgICAgICAgICAgICAgICBwYXNzCisgICAgICAgIHR5cCA9IGxpc3QoZnVuY3Mua2V5cygpKQorICAgICAgICB0eXAuc29ydCgpCisgICAgICAgIGZvciB0eXBlIGluIHR5cDoKKyAgICAgICAgICAgIGlmIHR5cGUgPT0gJycgb3IgdHlwZSA9PSAndm9pZCcgb3IgdHlwZSA9PSAiaW50IiBvciBcCisgICAgICAgICAgICAgICB0eXBlID09ICJjaGFyICoiIG9yIHR5cGUgPT0gImNvbnN0IGNoYXIgKiIgOgorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICBvdXRwdXQud3JpdGUoIiAgICA8dHlwZSBuYW1lPSclcyc+XG4iICUgKHR5cGUpKQorICAgICAgICAgICAgaWRzID0gZnVuY3NbdHlwZV0KKyAgICAgICAgICAgIGlkcy5zb3J0KCkKKyAgICAgICAgICAgIGZvciBpZCBpbiBpZHM6CisgICAgICAgICAgICAgICAgb3V0cHV0LndyaXRlKCIgICAgICA8cmVmIG5hbWU9JyVzJy8+XG4iICUgKGlkKSkKKyAgICAgICAgICAgIG91dHB1dC53cml0ZSgiICAgIDwvdHlwZT5cbiIpCisKKyAgICBkZWYgc2VyaWFsaXplX3hyZWZzX2FscGhhKHNlbGYsIG91dHB1dCk6CisgICAgICAgIGxldHRlciA9IE5vbmUKKyAgICAgICAgaWRzID0gbGlzdChzZWxmLmlkeC5pZGVudGlmaWVycy5rZXlzKCkpCisgICAgICAgIGlkcy5zb3J0KCkKKyAgICAgICAgZm9yIGlkIGluIGlkczoKKyAgICAgICAgICAgIGlmIGlkWzBdICE9IGxldHRlcjoKKyAgICAgICAgICAgICAgICBpZiBsZXR0ZXIgIT0gTm9uZToKKyAgICAgICAgICAgICAgICAgICAgb3V0cHV0LndyaXRlKCIgICAgPC9sZXR0ZXI+XG4iKQorICAgICAgICAgICAgICAgIGxldHRlciA9IGlkWzBdCisgICAgICAgICAgICAgICAgb3V0cHV0LndyaXRlKCIgICAgPGxldHRlciBuYW1lPSclcyc+XG4iICUgKGxldHRlcikpCisgICAgICAgICAgICBvdXRwdXQud3JpdGUoIiAgICAgIDxyZWYgbmFtZT0nJXMnLz5cbiIgJSAoaWQpKQorICAgICAgICBpZiBsZXR0ZXIgIT0gTm9uZToKKyAgICAgICAgICAgIG91dHB1dC53cml0ZSgiICAgIDwvbGV0dGVyPlxuIikKKworICAgIGRlZiBzZXJpYWxpemVfeHJlZnNfcmVmZXJlbmNlcyhzZWxmLCBvdXRwdXQpOgorICAgICAgICB0eXAgPSBsaXN0KHNlbGYuaWR4LmlkZW50aWZpZXJzLmtleXMoKSkKKyAgICAgICAgdHlwLnNvcnQoKQorICAgICAgICBmb3IgaWQgaW4gdHlwOgorICAgICAgICAgICAgaWRmID0gc2VsZi5pZHguaWRlbnRpZmllcnNbaWRdCisgICAgICAgICAgICBtb2R1bGUgPSBpZGYuaGVhZGVyCisgICAgICAgICAgICBvdXRwdXQud3JpdGUoIiAgICA8cmVmZXJlbmNlIG5hbWU9JyVzJyBocmVmPSclcycvPlxuIiAlIChpZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAnaHRtbC8nICsgc2VsZi5iYXNlbmFtZSArICctJyArCisgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5tb2R1bGVuYW1lX2ZpbGUobW9kdWxlKSArICcuaHRtbCMnICsKKyAgICAgICAgICAgICAgICAgICAgICAgICBpZCkpCisKKyAgICBkZWYgc2VyaWFsaXplX3hyZWZzX2luZGV4KHNlbGYsIG91dHB1dCk6CisgICAgICAgIGluZGV4ID0gc2VsZi54cmVmCisgICAgICAgIHR5cCA9IGxpc3QoaW5kZXgua2V5cygpKQorICAgICAgICB0eXAuc29ydCgpCisgICAgICAgIGxldHRlciA9IE5vbmUKKyAgICAgICAgY291bnQgPSAwCisgICAgICAgIGNodW5rID0gMAorICAgICAgICBjaHVua3MgPSBbXQorICAgICAgICBmb3IgaWQgaW4gdHlwOgorICAgICAgICAgICAgaWYgbGVuKGluZGV4W2lkXSkgPiAzMDoKKyAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgaWYgaWRbMF0gIT0gbGV0dGVyOgorICAgICAgICAgICAgICAgIGlmIGxldHRlciA9PSBOb25lIG9yIGNvdW50ID4gMjAwOgorICAgICAgICAgICAgICAgICAgICBpZiBsZXR0ZXIgIT0gTm9uZToKKyAgICAgICAgICAgICAgICAgICAgICAgIG91dHB1dC53cml0ZSgiICAgICAgPC9sZXR0ZXI+XG4iKQorICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0LndyaXRlKCIgICAgPC9jaHVuaz5cbiIpCisgICAgICAgICAgICAgICAgICAgICAgICBjb3VudCA9IDAKKyAgICAgICAgICAgICAgICAgICAgICAgIGNodW5rcy5hcHBlbmQoWyJjaHVuayVzIiAlIChjaHVuayAtMSksIGZpcnN0X2xldHRlciwgbGV0dGVyXSkKKyAgICAgICAgICAgICAgICAgICAgb3V0cHV0LndyaXRlKCIgICAgPGNodW5rIG5hbWU9J2NodW5rJXMnPlxuIiAlIChjaHVuaykpCisgICAgICAgICAgICAgICAgICAgIGZpcnN0X2xldHRlciA9IGlkWzBdCisgICAgICAgICAgICAgICAgICAgIGNodW5rID0gY2h1bmsgKyAxCisgICAgICAgICAgICAgICAgZWxpZiBsZXR0ZXIgIT0gTm9uZToKKyAgICAgICAgICAgICAgICAgICAgb3V0cHV0LndyaXRlKCIgICAgICA8L2xldHRlcj5cbiIpCisgICAgICAgICAgICAgICAgbGV0dGVyID0gaWRbMF0KKyAgICAgICAgICAgICAgICBvdXRwdXQud3JpdGUoIiAgICAgIDxsZXR0ZXIgbmFtZT0nJXMnPlxuIiAlIChsZXR0ZXIpKQorICAgICAgICAgICAgb3V0cHV0LndyaXRlKCIgICAgICAgIDx3b3JkIG5hbWU9JyVzJz5cbiIgJSAoaWQpKQorICAgICAgICAgICAgdG9rZW5zID0gaW5kZXhbaWRdOworICAgICAgICAgICAgdG9rZW5zLnNvcnQoKQorICAgICAgICAgICAgdG9rID0gTm9uZQorICAgICAgICAgICAgZm9yIHRva2VuIGluIHRva2VuczoKKyAgICAgICAgICAgICAgICBpZiB0b2sgPT0gdG9rZW46CisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICAgICAgdG9rID0gdG9rZW4KKyAgICAgICAgICAgICAgICBvdXRwdXQud3JpdGUoIiAgICAgICAgICA8cmVmIG5hbWU9JyVzJy8+XG4iICUgKHRva2VuKSkKKyAgICAgICAgICAgICAgICBjb3VudCA9IGNvdW50ICsgMQorICAgICAgICAgICAgb3V0cHV0LndyaXRlKCIgICAgICAgIDwvd29yZD5cbiIpCisgICAgICAgIGlmIGxldHRlciAhPSBOb25lOgorICAgICAgICAgICAgb3V0cHV0LndyaXRlKCIgICAgICA8L2xldHRlcj5cbiIpCisgICAgICAgICAgICBvdXRwdXQud3JpdGUoIiAgICA8L2NodW5rPlxuIikKKyAgICAgICAgICAgIGlmIGNvdW50ICE9IDA6CisgICAgICAgICAgICAgICAgY2h1bmtzLmFwcGVuZChbImNodW5rJXMiICUgKGNodW5rIC0xKSwgZmlyc3RfbGV0dGVyLCBsZXR0ZXJdKQorICAgICAgICAgICAgb3V0cHV0LndyaXRlKCIgICAgPGNodW5rcz5cbiIpCisgICAgICAgICAgICBmb3IgY2ggaW4gY2h1bmtzOgorICAgICAgICAgICAgICAgIG91dHB1dC53cml0ZSgiICAgICAgPGNodW5rIG5hbWU9JyVzJyBzdGFydD0nJXMnIGVuZD0nJXMnLz5cbiIgJSAoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoWzBdLCBjaFsxXSwgY2hbMl0pKQorICAgICAgICAgICAgb3V0cHV0LndyaXRlKCIgICAgPC9jaHVua3M+XG4iKQorCisgICAgZGVmIHNlcmlhbGl6ZV94cmVmcyhzZWxmLCBvdXRwdXQpOgorICAgICAgICBvdXRwdXQud3JpdGUoIiAgPHJlZmVyZW5jZXM+XG4iKQorICAgICAgICBzZWxmLnNlcmlhbGl6ZV94cmVmc19yZWZlcmVuY2VzKG91dHB1dCkKKyAgICAgICAgb3V0cHV0LndyaXRlKCIgIDwvcmVmZXJlbmNlcz5cbiIpCisgICAgICAgIG91dHB1dC53cml0ZSgiICA8YWxwaGE+XG4iKQorICAgICAgICBzZWxmLnNlcmlhbGl6ZV94cmVmc19hbHBoYShvdXRwdXQpCisgICAgICAgIG91dHB1dC53cml0ZSgiICA8L2FscGhhPlxuIikKKyAgICAgICAgb3V0cHV0LndyaXRlKCIgIDxjb25zdHJ1Y3RvcnM+XG4iKQorICAgICAgICBzZWxmLnNlcmlhbGl6ZV94cmVmc19jb25zdHJ1Y3RvcnMob3V0cHV0KQorICAgICAgICBvdXRwdXQud3JpdGUoIiAgPC9jb25zdHJ1Y3RvcnM+XG4iKQorICAgICAgICBvdXRwdXQud3JpdGUoIiAgPGZ1bmN0aW9ucz5cbiIpCisgICAgICAgIHNlbGYuc2VyaWFsaXplX3hyZWZzX2Z1bmN0aW9ucyhvdXRwdXQpCisgICAgICAgIG91dHB1dC53cml0ZSgiICA8L2Z1bmN0aW9ucz5cbiIpCisgICAgICAgIG91dHB1dC53cml0ZSgiICA8ZmlsZXM+XG4iKQorICAgICAgICBzZWxmLnNlcmlhbGl6ZV94cmVmc19maWxlcyhvdXRwdXQpCisgICAgICAgIG91dHB1dC53cml0ZSgiICA8L2ZpbGVzPlxuIikKKyAgICAgICAgb3V0cHV0LndyaXRlKCIgIDxpbmRleD5cbiIpCisgICAgICAgIHNlbGYuc2VyaWFsaXplX3hyZWZzX2luZGV4KG91dHB1dCkKKyAgICAgICAgb3V0cHV0LndyaXRlKCIgIDwvaW5kZXg+XG4iKQorCisgICAgZGVmIHNlcmlhbGl6ZShzZWxmKToKKyAgICAgICAgZmlsZW5hbWUgPSAiJXMtYXBpLnhtbCIgJSBzZWxmLm5hbWUKKyAgICAgICAgcHJpbnQoIlNhdmluZyBYTUwgZGVzY3JpcHRpb24gJXMiICUgKGZpbGVuYW1lKSkKKyAgICAgICAgb3V0cHV0ID0gb3BlbihmaWxlbmFtZSwgInciKQorICAgICAgICBvdXRwdXQud3JpdGUoJzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IklTTy04ODU5LTEiPz5cbicpCisgICAgICAgIG91dHB1dC53cml0ZSgiPGFwaSBuYW1lPSclcyc+XG4iICUgc2VsZi5uYW1lKQorICAgICAgICBvdXRwdXQud3JpdGUoIiAgPGZpbGVzPlxuIikKKyAgICAgICAgaGVhZGVycyA9IGxpc3Qoc2VsZi5oZWFkZXJzLmtleXMoKSkKKyAgICAgICAgaGVhZGVycy5zb3J0KCkKKyAgICAgICAgZm9yIGZpbGUgaW4gaGVhZGVyczoKKyAgICAgICAgICAgIHNlbGYuc2VyaWFsaXplX2V4cG9ydHMob3V0cHV0LCBmaWxlKQorICAgICAgICBvdXRwdXQud3JpdGUoIiAgPC9maWxlcz5cbiIpCisgICAgICAgIG91dHB1dC53cml0ZSgiICA8c3ltYm9scz5cbiIpCisgICAgICAgIG1hY3JvcyA9IGxpc3Qoc2VsZi5pZHgubWFjcm9zLmtleXMoKSkKKyAgICAgICAgbWFjcm9zLnNvcnQoKQorICAgICAgICBmb3IgbWFjcm8gaW4gbWFjcm9zOgorICAgICAgICAgICAgc2VsZi5zZXJpYWxpemVfbWFjcm8ob3V0cHV0LCBtYWNybykKKyAgICAgICAgZW51bXMgPSBsaXN0KHNlbGYuaWR4LmVudW1zLmtleXMoKSkKKyAgICAgICAgZW51bXMuc29ydCgpCisgICAgICAgIGZvciBlbnVtIGluIGVudW1zOgorICAgICAgICAgICAgc2VsZi5zZXJpYWxpemVfZW51bShvdXRwdXQsIGVudW0pCisgICAgICAgIHR5cGVkZWZzID0gbGlzdChzZWxmLmlkeC50eXBlZGVmcy5rZXlzKCkpCisgICAgICAgIHR5cGVkZWZzLnNvcnQoKQorICAgICAgICBmb3IgdHlwZWRlZiBpbiB0eXBlZGVmczoKKyAgICAgICAgICAgIHNlbGYuc2VyaWFsaXplX3R5cGVkZWYob3V0cHV0LCB0eXBlZGVmKQorICAgICAgICB2YXJpYWJsZXMgPSBsaXN0KHNlbGYuaWR4LnZhcmlhYmxlcy5rZXlzKCkpCisgICAgICAgIHZhcmlhYmxlcy5zb3J0KCkKKyAgICAgICAgZm9yIHZhcmlhYmxlIGluIHZhcmlhYmxlczoKKyAgICAgICAgICAgIHNlbGYuc2VyaWFsaXplX3ZhcmlhYmxlKG91dHB1dCwgdmFyaWFibGUpCisgICAgICAgIGZ1bmN0aW9ucyA9IGxpc3Qoc2VsZi5pZHguZnVuY3Rpb25zLmtleXMoKSkKKyAgICAgICAgZnVuY3Rpb25zLnNvcnQoKQorICAgICAgICBmb3IgZnVuY3Rpb24gaW4gZnVuY3Rpb25zOgorICAgICAgICAgICAgc2VsZi5zZXJpYWxpemVfZnVuY3Rpb24ob3V0cHV0LCBmdW5jdGlvbikKKyAgICAgICAgb3V0cHV0LndyaXRlKCIgIDwvc3ltYm9scz5cbiIpCisgICAgICAgIG91dHB1dC53cml0ZSgiPC9hcGk+XG4iKQorICAgICAgICBvdXRwdXQuY2xvc2UoKQorCisgICAgICAgIGZpbGVuYW1lID0gIiVzLXJlZnMueG1sIiAlIHNlbGYubmFtZQorICAgICAgICBwcmludCgiU2F2aW5nIFhNTCBDcm9zcyBSZWZlcmVuY2VzICVzIiAlIChmaWxlbmFtZSkpCisgICAgICAgIG91dHB1dCA9IG9wZW4oZmlsZW5hbWUsICJ3IikKKyAgICAgICAgb3V0cHV0LndyaXRlKCc8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJJU08tODg1OS0xIj8+XG4nKQorICAgICAgICBvdXRwdXQud3JpdGUoIjxhcGlyZWZzIG5hbWU9JyVzJz5cbiIgJSBzZWxmLm5hbWUpCisgICAgICAgIHNlbGYuc2VyaWFsaXplX3hyZWZzKG91dHB1dCkKKyAgICAgICAgb3V0cHV0LndyaXRlKCI8L2FwaXJlZnM+XG4iKQorICAgICAgICBvdXRwdXQuY2xvc2UoKQorCisKK2RlZiByZWJ1aWxkKCk6CisgICAgYnVpbGRlciA9IE5vbmUKKyAgICBpZiBnbG9iLmdsb2IoInBhcnNlci5jIikgIT0gW10gOgorICAgICAgICBwcmludCgiUmVidWlsZGluZyBBUEkgZGVzY3JpcHRpb24gZm9yIGxpYnhtbDIiKQorICAgICAgICBidWlsZGVyID0gZG9jQnVpbGRlcigibGlieG1sMiIsIFsiLiIsICIuIl0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsieG1sd2luMzJ2ZXJzaW9uLmgiLCAidHN0LmMiXSkKKyAgICBlbGlmIGdsb2IuZ2xvYigiLi4vcGFyc2VyLmMiKSAhPSBbXSA6CisgICAgICAgIHByaW50KCJSZWJ1aWxkaW5nIEFQSSBkZXNjcmlwdGlvbiBmb3IgbGlieG1sMiIpCisgICAgICAgIGJ1aWxkZXIgPSBkb2NCdWlsZGVyKCJsaWJ4bWwyIiwgWyIuLiIsICIuLi9pbmNsdWRlL2xpYnhtbCJdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbInhtbHdpbjMydmVyc2lvbi5oIiwgInRzdC5jIl0pCisgICAgZWxpZiBnbG9iLmdsb2IoIi4uL2xpYnhzbHQvdHJhbnNmb3JtLmMiKSAhPSBbXSA6CisgICAgICAgIHByaW50KCJSZWJ1aWxkaW5nIEFQSSBkZXNjcmlwdGlvbiBmb3IgbGlieHNsdCIpCisgICAgICAgIGJ1aWxkZXIgPSBkb2NCdWlsZGVyKCJsaWJ4c2x0IiwgWyIuLi9saWJ4c2x0Il0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsid2luMzJjb25maWcuaCIsICJsaWJ4c2x0LmgiLCAidHN0LmMiXSkKKyAgICBlbHNlOgorICAgICAgICBwcmludCgicmVidWlsZCgpIGZhaWxlZCwgdW5hYmxlIHRvIGd1ZXNzIHRoZSBtb2R1bGUiKQorICAgICAgICByZXR1cm4gTm9uZQorICAgIGJ1aWxkZXIuc2NhbigpCisgICAgYnVpbGRlci5hbmFseXplKCkKKyAgICBidWlsZGVyLnNlcmlhbGl6ZSgpCisgICAgaWYgZ2xvYi5nbG9iKCIuLi9saWJleHNsdC9leHNsdC5jIikgIT0gW10gOgorICAgICAgICBleHRyYSA9IGRvY0J1aWxkZXIoImxpYmV4c2x0IiwgWyIuLi9saWJleHNsdCJdLCBbImxpYmV4c2x0LmgiXSkKKyAgICAgICAgZXh0cmEuc2NhbigpCisgICAgICAgIGV4dHJhLmFuYWx5emUoKQorICAgICAgICBleHRyYS5zZXJpYWxpemUoKQorICAgIHJldHVybiBidWlsZGVyCisKKyMKKyMgZm9yIGRlYnVnZ2luZyB0aGUgcGFyc2VyCisjCitkZWYgcGFyc2UoZmlsZW5hbWUpOgorICAgIHBhcnNlciA9IENQYXJzZXIoZmlsZW5hbWUpCisgICAgaWR4ID0gcGFyc2VyLnBhcnNlKCkKKyAgICByZXR1cm4gaWR4CisKK2lmIF9fbmFtZV9fID09ICJfX21haW5fXyI6CisgICAgaWYgbGVuKHN5cy5hcmd2KSA+IDE6CisgICAgICAgIGRlYnVnID0gMQorICAgICAgICBwYXJzZShzeXMuYXJndlsxXSkKKyAgICBlbHNlOgorICAgICAgICByZWJ1aWxkKCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2FyY2hpdGVjdHVyZS5odG1sIGIvbGlieG1sMi9kb2MvYXJjaGl0ZWN0dXJlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjJhOTIyZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL2FyY2hpdGVjdHVyZS5odG1sCkBAIC0wLDAgKzEsMjQgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+PGxpbmsgcmVsPSJTSE9SVENVVCBJQ09OIiBocmVmPSIvZmF2aWNvbi5pY28iIC8+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK1REIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitCT0RZIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2E7IG1hcmdpbi10b3A6IDJlbTsgbWFyZ2luLWxlZnQ6IDBlbTsgbWFyZ2luLXJpZ2h0OiAwZW19CitIMSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDIge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gzIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitBOmxpbmssIEE6dmlzaXRlZCwgQTphY3RpdmUgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB9Cis8L3N0eWxlPjx0aXRsZT5saWJ4bWwyIGFyY2hpdGVjdHVyZTwvdGl0bGU+PC9oZWFkPjxib2R5IGJnY29sb3I9IiM4Yjc3NjUiIHRleHQ9IiMwMDAwMDAiIGxpbms9IiNhMDYwNjAiIHZsaW5rPSIjMDAwMDAwIj48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iMTAwJSIgY2VsbHBhZGRpbmc9IjUiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIHdpZHRoPSIxMjAiPjxhIGhyZWY9Imh0dHA6Ly9zd3BhdC5mZmlpLm9yZy8iPjxpbWcgc3JjPSJlcGF0ZW50cy5wbmciIGFsdD0iQWN0aW9uIGFnYWluc3Qgc29mdHdhcmUgcGF0ZW50cyIgLz48L2E+PC90ZD48dGQgd2lkdGg9IjE4MCI+PGEgaHJlZj0iaHR0cDovL3d3dy5nbm9tZS5vcmcvIj48aW1nIHNyYz0iZ25vbWUyLnBuZyIgYWx0PSJHbm9tZTIgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvU3RhdHVzIj48aW1nIHNyYz0idzNjLnBuZyIgYWx0PSJXM0MgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy5yZWRoYXQuY29tLyI+PGltZyBzcmM9InJlZGhhdC5naWYiIGFsdD0iUmVkIEhhdCBMb2dvIiAvPjwvYT48ZGl2IGFsaWduPSJsZWZ0Ij48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvIj48aW1nIHNyYz0iTGlieG1sMi1Mb2dvLTE4MHgxNjguZ2lmIiBhbHQ9Ik1hZGUgd2l0aCBMaWJ4bWwyIExvZ28iIC8+PC9hPjwvZGl2PjwvdGQ+PHRkPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSI5MCUiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIiBiZ2NvbG9yPSIjZmZmYWNkIj48dHI+PHRkIGFsaWduPSJjZW50ZXIiPjxoMT5UaGUgWE1MIEMgcGFyc2VyIGFuZCB0b29sa2l0IG9mIEdub21lPC9oMT48aDI+bGlieG1sMiBhcmNoaXRlY3R1cmU8L2gyPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI0IiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCB2YWxpZ249InRvcCIgd2lkdGg9IjIwMCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+RGV2ZWxvcGVyIE1lbnU8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PGZvcm0gYWN0aW9uPSJzZWFyY2gucGhwIiBlbmN0eXBlPSJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiIG1ldGhvZD0iZ2V0Ij48aW5wdXQgbmFtZT0icXVlcnkiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iIiAvPjxpbnB1dCBuYW1lPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNlYXJjaCAuLi4iIC8+PC9mb3JtPjx1bD48bGk+PGEgaHJlZj0iaW5kZXguaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPk1haW4gTWVudTwvYT48L2xpPjxsaT48YSBocmVmPSJodG1sL2luZGV4Lmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5SZWZlcmVuY2UgTWFudWFsPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImV4YW1wbGVzL2luZGV4Lmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5Db2RlIEV4YW1wbGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imd1aWRlbGluZXMuaHRtbCI+WE1MIEd1aWRlbGluZXM8L2E+PC9saT48bGk+PGEgaHJlZj0idHV0b3JpYWwvaW5kZXguaHRtbCI+VHV0b3JpYWw8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1scmVhZGVyLmh0bWwiPlRoZSBSZWFkZXIgSW50ZXJmYWNlPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkNoYW5nZUxvZy5odG1sIj5DaGFuZ2VMb2c8L2E+PC9saT48bGk+PGEgaHJlZj0iWFNMVC5odG1sIj5YU0xUPC9hPjwvbGk+PGxpPjxhIGhyZWY9InB5dGhvbi5odG1sIj5QeXRob24gYW5kIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImFyY2hpdGVjdHVyZS5odG1sIj5saWJ4bWwyIGFyY2hpdGVjdHVyZTwvYT48L2xpPjxsaT48YSBocmVmPSJ0cmVlLmh0bWwiPlRoZSB0cmVlIG91dHB1dDwvYT48L2xpPjxsaT48YSBocmVmPSJpbnRlcmZhY2UuaHRtbCI+VGhlIFNBWCBpbnRlcmZhY2U8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1sbWVtLmh0bWwiPk1lbW9yeSBNYW5hZ2VtZW50PC9hPjwvbGk+PGxpPjxhIGhyZWY9InhtbGlvLmh0bWwiPkkvTyBJbnRlcmZhY2VzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnJhcnkuaHRtbCI+VGhlIHBhcnNlciBpbnRlcmZhY2VzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImVudGl0aWVzLmh0bWwiPkVudGl0aWVzIG9yIG5vIGVudGl0aWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Im5hbWVzcGFjZXMuaHRtbCI+TmFtZXNwYWNlczwvYT48L2xpPjxsaT48YSBocmVmPSJ1cGdyYWRlLmh0bWwiPlVwZ3JhZGluZyAxLnggY29kZTwvYT48L2xpPjxsaT48YSBocmVmPSJ0aHJlYWRzLmh0bWwiPlRocmVhZCBzYWZldHk8L2E+PC9saT48bGk+PGEgaHJlZj0iRE9NLmh0bWwiPkRPTSBQcmluY2lwbGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImV4YW1wbGUuaHRtbCI+QSByZWFsIGV4YW1wbGU8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1sLmh0bWwiPmZsYXQgcGFnZTwvYT4sIDxhIGhyZWY9InNpdGUueHNsIj5zdHlsZXNoZWV0PC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+QVBJIEluZGV4ZXM8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSJBUEljaHVuazAuaHRtbCI+QWxwaGFiZXRpYzwvYT48L2xpPjxsaT48YSBocmVmPSJBUEljb25zdHJ1Y3RvcnMuaHRtbCI+Q29uc3RydWN0b3JzPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkFQSWZ1bmN0aW9ucy5odG1sIj5GdW5jdGlvbnMvVHlwZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iQVBJZmlsZXMuaHRtbCI+TW9kdWxlczwvYT48L2xpPjxsaT48YSBocmVmPSJBUElzeW1ib2xzLmh0bWwiPlN5bWJvbHM8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5SZWxhdGVkIGxpbmtzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iaHR0cDovL21haWwuZ25vbWUub3JnL2FyY2hpdmVzL3htbC8iPk1haWwgYXJjaGl2ZTwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvWFNMVC8iPlhTTFQgbGlieHNsdDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vcGhkLmNzLnVuaWJvLml0L2dkb21lMi8iPkRPTSBnZG9tZTI8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5hbGVrc2V5LmNvbS94bWxzZWMvIj5YTUwtRFNpZyB4bWxzZWM8L2E+PC9saT48bGk+PGEgaHJlZj0iZnRwOi8veG1sc29mdC5vcmcvIj5GVFA8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56bGF0a292aWMuY29tL3Byb2plY3RzL2xpYnhtbC8iPldpbmRvd3MgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL29wZW5jc3cub3JnL3BhY2thZ2VzL2xpYnhtbDIiPlNvbGFyaXMgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5leHBsYWluLmNvbS5hdS9vc3MvbGlieG1sMnhzbHQuaHRtbCI+TWFjT3NYIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9seG1sLmRlLyI+bHhtbCBQeXRob24gYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2NwYW4udXdpbm5pcGVnLmNhL2Rpc3QvWE1MLUxpYlhNTCI+UGVybCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1scGx1c3BsdXMuc291cmNlZm9yZ2UubmV0LyI+QysrIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemVuZC5jb20vcGhwNS9hcnRpY2xlcy9waHA1LXhtbHBocC5waHAjSGVhZGluZzQiPlBIUCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2xpYnhtbDItcGFzLyI+UGFzY2FsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWwucnVieWZvcmdlLm9yZy8iPlJ1YnkgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3RjbHhtbC5zb3VyY2Vmb3JnZS5uZXQvIj5UY2wgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9idWdsaXN0LmNnaT9wcm9kdWN0PWxpYnhtbDIiPkJ1ZyBUcmFja2VyPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIzIiBjZWxsc3BhY2luZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHA+TGlieG1sMiBpcyBtYWRlIG9mIG11bHRpcGxlIGNvbXBvbmVudHM7IHNvbWUgb2YgdGhlbSBhcmUgb3B0aW9uYWwsIGFuZAorbW9zdCBvZiB0aGUgYmxvY2sgaW50ZXJmYWNlcyBhcmUgcHVibGljLiBUaGUgbWFpbiBjb21wb25lbnRzIGFyZTo8L3A+PHVsPgorICA8bGk+YW4gSW5wdXQvT3V0cHV0IGxheWVyPC9saT4KKyAgPGxpPkZUUCBhbmQgSFRUUCBjbGllbnQgbGF5ZXJzIChvcHRpb25hbCk8L2xpPgorICA8bGk+YW4gSW50ZXJuYXRpb25hbGl6YXRpb24gbGF5ZXIgbWFuYWdpbmcgdGhlIGVuY29kaW5ncyBzdXBwb3J0PC9saT4KKyAgPGxpPmEgVVJJIG1vZHVsZTwvbGk+CisgIDxsaT50aGUgWE1MIHBhcnNlciBhbmQgaXRzIGJhc2ljIFNBWCBpbnRlcmZhY2U8L2xpPgorICA8bGk+YW4gSFRNTCBwYXJzZXIgdXNpbmcgdGhlIHNhbWUgU0FYIGludGVyZmFjZSAob3B0aW9uYWwpPC9saT4KKyAgPGxpPmEgU0FYIHRyZWUgbW9kdWxlIHRvIGJ1aWxkIGFuIGluLW1lbW9yeSBET00gcmVwcmVzZW50YXRpb248L2xpPgorICA8bGk+YSB0cmVlIG1vZHVsZSB0byBtYW5pcHVsYXRlIHRoZSBET00gcmVwcmVzZW50YXRpb248L2xpPgorICA8bGk+YSB2YWxpZGF0aW9uIG1vZHVsZSB1c2luZyB0aGUgRE9NIHJlcHJlc2VudGF0aW9uIChvcHRpb25hbCk8L2xpPgorICA8bGk+YW4gWFBhdGggbW9kdWxlIGZvciBnbG9iYWwgbG9va3VwIGluIGEgRE9NIHJlcHJlc2VudGF0aW9uCisgIChvcHRpb25hbCk8L2xpPgorICA8bGk+YSBkZWJ1ZyBtb2R1bGUgKG9wdGlvbmFsKTwvbGk+Cis8L3VsPjxwPkdyYXBoaWNhbGx5IHRoaXMgZ2l2ZXMgdGhlIGZvbGxvd2luZzo8L3A+PHA+PGltZyBzcmM9ImxpYnhtbC5naWYiIGFsdD0iYSBncmFwaGljYWwgdmlldyBvZiB0aGUgdmFyaW91cyIgLz48L3A+PHA+PC9wPjxwPjxhIGhyZWY9ImJ1Z3MuaHRtbCI+RGFuaWVsIFZlaWxsYXJkPC9hPjwvcD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvYnVncy5odG1sIGIvbGlieG1sMi9kb2MvYnVncy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU1ZmYyOTYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9idWdzLmh0bWwKQEAgLTAsMCArMSw3MCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIj4KKzxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj48aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz48bGluayByZWw9IlNIT1JUQ1VUIElDT04iIGhyZWY9Ii9mYXZpY29uLmljbyIgLz48c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorVEQge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0JPRFkge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYTsgbWFyZ2luLXRvcDogMmVtOyBtYXJnaW4tbGVmdDogMGVtOyBtYXJnaW4tcmlnaHQ6IDBlbX0KK0gxIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMiB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDMge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0E6bGluaywgQTp2aXNpdGVkLCBBOmFjdGl2ZSB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIH0KKzwvc3R5bGU+PHRpdGxlPlJlcG9ydGluZyBidWdzIGFuZCBnZXR0aW5nIGhlbHA8L3RpdGxlPjwvaGVhZD48Ym9keSBiZ2NvbG9yPSIjOGI3NzY1IiB0ZXh0PSIjMDAwMDAwIiBsaW5rPSIjYTA2MDYwIiB2bGluaz0iIzAwMDAwMCI+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjEwMCUiIGNlbGxwYWRkaW5nPSI1IiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCB3aWR0aD0iMTIwIj48YSBocmVmPSJodHRwOi8vc3dwYXQuZmZpaS5vcmcvIj48aW1nIHNyYz0iZXBhdGVudHMucG5nIiBhbHQ9IkFjdGlvbiBhZ2FpbnN0IHNvZnR3YXJlIHBhdGVudHMiIC8+PC9hPjwvdGQ+PHRkIHdpZHRoPSIxODAiPjxhIGhyZWY9Imh0dHA6Ly93d3cuZ25vbWUub3JnLyI+PGltZyBzcmM9Imdub21lMi5wbmciIGFsdD0iR25vbWUyIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1N0YXR1cyI+PGltZyBzcmM9InczYy5wbmciIGFsdD0iVzNDIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cucmVkaGF0LmNvbS8iPjxpbWcgc3JjPSJyZWRoYXQuZ2lmIiBhbHQ9IlJlZCBIYXQgTG9nbyIgLz48L2E+PGRpdiBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnLyI+PGltZyBzcmM9IkxpYnhtbDItTG9nby0xODB4MTY4LmdpZiIgYWx0PSJNYWRlIHdpdGggTGlieG1sMiBMb2dvIiAvPjwvYT48L2Rpdj48L3RkPjx0ZD48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iOTAlIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyIgYmdjb2xvcj0iI2ZmZmFjZCI+PHRyPjx0ZCBhbGlnbj0iY2VudGVyIj48aDE+VGhlIFhNTCBDIHBhcnNlciBhbmQgdG9vbGtpdCBvZiBHbm9tZTwvaDE+PGgyPlJlcG9ydGluZyBidWdzIGFuZCBnZXR0aW5nIGhlbHA8L2gyPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI0IiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCB2YWxpZ249InRvcCIgd2lkdGg9IjIwMCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+TWFpbiBNZW51PC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjxmb3JtIGFjdGlvbj0ic2VhcmNoLnBocCIgZW5jdHlwZT0iYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIiBtZXRob2Q9ImdldCI+PGlucHV0IG5hbWU9InF1ZXJ5IiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IiIgLz48aW5wdXQgbmFtZT0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJTZWFyY2ggLi4uIiAvPjwvZm9ybT48dWw+PGxpPjxhIGhyZWY9ImluZGV4Lmh0bWwiPkhvbWU8L2E+PC9saT48bGk+PGEgaHJlZj0iaHRtbC9pbmRleC5odG1sIj5SZWZlcmVuY2UgTWFudWFsPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImludHJvLmh0bWwiPkludHJvZHVjdGlvbjwvYT48L2xpPjxsaT48YSBocmVmPSJGQVEuaHRtbCI+RkFRPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImRvY3MuaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPkRldmVsb3BlciBNZW51PC9hPjwvbGk+PGxpPjxhIGhyZWY9ImJ1Z3MuaHRtbCI+UmVwb3J0aW5nIGJ1Z3MgYW5kIGdldHRpbmcgaGVscDwvYT48L2xpPjxsaT48YSBocmVmPSJoZWxwLmh0bWwiPkhvdyB0byBoZWxwPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImRvd25sb2Fkcy5odG1sIj5Eb3dubG9hZHM8L2E+PC9saT48bGk+PGEgaHJlZj0ibmV3cy5odG1sIj5SZWxlYXNlczwvYT48L2xpPjxsaT48YSBocmVmPSJYTUxpbmZvLmh0bWwiPlhNTDwvYT48L2xpPjxsaT48YSBocmVmPSJYU0xULmh0bWwiPlhTTFQ8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1sZHRkLmh0bWwiPlZhbGlkYXRpb24gJmFtcDsgRFREczwvYT48L2xpPjxsaT48YSBocmVmPSJlbmNvZGluZy5odG1sIj5FbmNvZGluZ3Mgc3VwcG9ydDwvYT48L2xpPjxsaT48YSBocmVmPSJjYXRhbG9nLmh0bWwiPkNhdGFsb2cgc3VwcG9ydDwvYT48L2xpPjxsaT48YSBocmVmPSJuYW1lc3BhY2VzLmh0bWwiPk5hbWVzcGFjZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iY29udHJpYnMuaHRtbCI+Q29udHJpYnV0aW9uczwvYT48L2xpPjxsaT48YSBocmVmPSJleGFtcGxlcy9pbmRleC5odG1sIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+Q29kZSBFeGFtcGxlczwvYT48L2xpPjxsaT48YSBocmVmPSJodG1sL2luZGV4Lmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5BUEkgTWVudTwvYT48L2xpPjxsaT48YSBocmVmPSJndWlkZWxpbmVzLmh0bWwiPlhNTCBHdWlkZWxpbmVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkNoYW5nZUxvZy5odG1sIj5SZWNlbnQgQ2hhbmdlczwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPlJlbGF0ZWQgbGlua3M8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSJodHRwOi8vbWFpbC5nbm9tZS5vcmcvYXJjaGl2ZXMveG1sLyI+TWFpbCBhcmNoaXZlPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9YU0xULyI+WFNMVCBsaWJ4c2x0PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9waGQuY3MudW5pYm8uaXQvZ2RvbWUyLyI+RE9NIGdkb21lMjwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmFsZWtzZXkuY29tL3htbHNlYy8iPlhNTC1EU2lnIHhtbHNlYzwvYT48L2xpPjxsaT48YSBocmVmPSJmdHA6Ly94bWxzb2Z0Lm9yZy8iPkZUUDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnpsYXRrb3ZpYy5jb20vcHJvamVjdHMvbGlieG1sLyI+V2luZG93cyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vb3BlbmNzdy5vcmcvcGFja2FnZXMvbGlieG1sMiI+U29sYXJpcyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmV4cGxhaW4uY29tLmF1L29zcy9saWJ4bWwyeHNsdC5odG1sIj5NYWNPc1ggYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2x4bWwuZGUvIj5seG1sIFB5dGhvbiBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vY3Bhbi51d2lubmlwZWcuY2EvZGlzdC9YTUwtTGliWE1MIj5QZXJsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWxwbHVzcGx1cy5zb3VyY2Vmb3JnZS5uZXQvIj5DKysgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56ZW5kLmNvbS9waHA1L2FydGljbGVzL3BocDUteG1scGhwLnBocCNIZWFkaW5nNCI+UEhQIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbGlieG1sMi1wYXMvIj5QYXNjYWwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbC5ydWJ5Zm9yZ2Uub3JnLyI+UnVieSBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vdGNseG1sLnNvdXJjZWZvcmdlLm5ldC8iPlRjbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2J1Z2xpc3QuY2dpP3Byb2R1Y3Q9bGlieG1sMiI+QnVnIFRyYWNrZXI8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48cD5XZWxsLCBidWdzIG9yIG1pc3NpbmcgZmVhdHVyZXMgYXJlIGFsd2F5cyBwb3NzaWJsZSwgYW5kIEkgd2lsbCBtYWtlIGEKK3BvaW50IG9mIGZpeGluZyB0aGVtIGluIGEgdGltZWx5IGZhc2hpb24uIFRoZSBiZXN0IHdheSB0byByZXBvcnQgYSBidWcgaXMgdG8KK3VzZSB0aGUgPGEgaHJlZj0iaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9idWdsaXN0LmNnaT9wcm9kdWN0PWxpYnhtbDIiPkdub21lCitidWcgdHJhY2tpbmcgZGF0YWJhc2U8L2E+IChtYWtlIHN1cmUgdG8gdXNlIHRoZSAibGlieG1sMiIgbW9kdWxlIG5hbWUpLiBJCitsb29rIGF0IHJlcG9ydHMgdGhlcmUgcmVndWxhcmx5IGFuZCBpdCdzIGdvb2QgdG8gaGF2ZSBhIHJlbWluZGVyIHdoZW4gYSBidWcKK2lzIHN0aWxsIG9wZW4uIEJlIHN1cmUgdG8gc3BlY2lmeSB0aGF0IHRoZSBidWcgaXMgZm9yIHRoZSBwYWNrYWdlIGxpYnhtbDIuPC9wPjxwPkZvciBzbWFsbCBwcm9ibGVtcyB5b3UgY2FuIHRyeSB0byBnZXQgaGVscCBvbiBJUkMsIHRoZSAjeG1sIGNoYW5uZWwgb24KK2lyYy5nbm9tZS5vcmcgKHBvcnQgNjY2NykgdXN1YWxseSBoYXZlIGEgZmV3IHBlcnNvbiBzdWJzY3JpYmVkIHdoaWNoIG1heSBoZWxwCisoYnV0IHRoZXJlIGlzIG5vIGd1YXJhbnRlZSBhbmQgaWYgYSByZWFsIGlzc3VlIGlzIHJhaXNlZCBpdCBzaG91bGQgZ28gb24gdGhlCittYWlsaW5nLWxpc3QgZm9yIGFyY2hpdmFsKS48L3A+PHA+VGhlcmUgaXMgYWxzbyBhIG1haWxpbmctbGlzdCA8YSBocmVmPSJtYWlsdG86eG1sQGdub21lLm9yZyI+eG1sQGdub21lLm9yZzwvYT4gZm9yIGxpYnhtbCwgd2l0aCBhbiAgPGEgaHJlZj0iaHR0cDovL21haWwuZ25vbWUub3JnL2FyY2hpdmVzL3htbC8iPm9uLWxpbmUgYXJjaGl2ZTwvYT4gKDxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9tZXNzYWdlcyI+b2xkPC9hPikuIFRvIHN1YnNjcmliZSB0byB0aGlzIGxpc3QsCitwbGVhc2UgdmlzaXQgdGhlIDxhIGhyZWY9Imh0dHA6Ly9tYWlsLmdub21lLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3htbCI+YXNzb2NpYXRlZCBXZWI8L2E+IHBhZ2UgYW5kCitmb2xsb3cgdGhlIGluc3RydWN0aW9ucy4gPHN0cm9uZz5EbyBub3Qgc2VuZCBjb2RlLCBJIHdvbid0IGRlYnVnIGl0PC9zdHJvbmc+CisoYnV0IHBhdGNoZXMgYXJlIHJlYWxseSBhcHByZWNpYXRlZCEpLjwvcD48cD5QbGVhc2Ugbm90ZSB0aGF0IHdpdGggdGhlIGN1cnJlbnQgYW1vdW50IG9mIHZpcnVzIGFuZCBTUEFNLCBzZW5kaW5nIG1haWwKK3RvIHRoZSBsaXN0IHdpdGhvdXQgYmVpbmcgc3Vic2NyaWJlZCB3b24ndCB3b3JrLiBUaGVyZSBpcyAqZmFyIHRvbyBtYW55Citib3VuY2VzKiAoaW4gdGhlIG9yZGVyIG9mIGEgdGhvdXNhbmQgYSBkYXkgISkgSSBjYW5ub3QgYXBwcm92ZSB0aGVtIG1hbnVhbGx5Cithbnltb3JlLiBJZiB5b3VyIG1haWwgdG8gdGhlIGxpc3QgYm91bmNlZCB3YWl0aW5nIGZvciBhZG1pbmlzdHJhdG9yIGFwcHJvdmFsLAoraXQgaXMgTE9TVCAhIFJlcG9zdCBpdCBhbmQgZml4IHRoZSBwcm9ibGVtIHRyaWdnZXJpbmcgdGhlIGVycm9yLiBBbHNvIHBsZWFzZQorbm90ZSB0aGF0IDxzcGFuIHN0eWxlPSJjb2xvcjogI0ZGMDAwMDsgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRiI+ZW1haWxzIHdpdGgKK2EgbGVnYWwgd2FybmluZyBhc2tpbmcgdG8gbm90IGNvcHkgb3IgcmVkaXN0cmlidXRlIGZyZWVseSB0aGUgaW5mb3JtYXRpb24KK3RoZXkgY29udGFpbjwvc3Bhbj4gYXJlIDxzdHJvbmc+Tk9UPC9zdHJvbmc+IGFjY2VwdGFibGUgZm9yIHRoZSBtYWlsaW5nLWxpc3QsCitzdWNoIG1haWwgd2lsbCBhcyBtdWNoIGFzIHBvc3NpYmxlIGJlIGRpc2NhcmRlZCBhdXRvbWF0aWNhbGx5LCBhbmQgYXJlIGxlc3MKK2xpa2VseSB0byBiZSBhbnN3ZXJlZCBpZiB0aGV5IG1hZGUgaXQgdG8gdGhlIGxpc3QsIDxzdHJvbmc+RE8gTk9UPC9zdHJvbmc+Citwb3N0IHRvIHRoZSBsaXN0IGZyb20gYW4gZW1haWwgYWRkcmVzcyB3aGVyZSBzdWNoIGxlZ2FsIHJlcXVpcmVtZW50cyBhcmUKK2F1dG9tYXRpY2FsbHkgYWRkZWQsIGdldCBwcml2YXRlIHBheWluZyBzdXBwb3J0IGlmIHlvdSBjYW4ndCBzaGFyZQoraW5mb3JtYXRpb24uPC9wPjxwPkNoZWNrIHRoZSBmb2xsb3dpbmcgPHN0cm9uZz48c3BhbiBzdHlsZT0iY29sb3I6ICNGRjAwMDAiPmJlZm9yZQorcG9zdGluZzwvc3Bhbj48L3N0cm9uZz46PC9wPjx1bD4KKyAgPGxpPlJlYWQgdGhlIDxhIGhyZWY9IkZBUS5odG1sIj5GQVE8L2E+IGFuZCA8YSBocmVmPSJzZWFyY2gucGhwIj51c2UgdGhlCisgICAgc2VhcmNoIGVuZ2luZTwvYT4gdG8gZ2V0IGluZm9ybWF0aW9uIHJlbGF0ZWQgdG8geW91ciBwcm9ibGVtLjwvbGk+CisgIDxsaT5NYWtlIHN1cmUgeW91IGFyZSA8YSBocmVmPSJmdHA6Ly94bWxzb2Z0Lm9yZy9saWJ4bWwyLyI+dXNpbmcgYSByZWNlbnQKKyAgICB2ZXJzaW9uPC9hPiwgYW5kIHRoYXQgdGhlIHByb2JsZW0gc3RpbGwgc2hvd3MgdXAgaW4gYSByZWNlbnQgdmVyc2lvbi48L2xpPgorICA8bGk+Q2hlY2sgdGhlIDxhIGhyZWY9Imh0dHA6Ly9tYWlsLmdub21lLm9yZy9hcmNoaXZlcy94bWwvIj5saXN0CisgICAgYXJjaGl2ZXM8L2E+IHRvIHNlZSBpZiB0aGUgcHJvYmxlbSB3YXMgcmVwb3J0ZWQgYWxyZWFkeS4gSW4gdGhpcyBjYXNlCisgICAgdGhlcmUgaXMgcHJvYmFibHkgYSBmaXggYXZhaWxhYmxlLCBzaW1pbGFybHkgY2hlY2sgdGhlIDxhIGhyZWY9Imh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvYnVnbGlzdC5jZ2k/cHJvZHVjdD1saWJ4bWwyIj5yZWdpc3RlcmVkCisgICAgb3BlbiBidWdzPC9hPi48L2xpPgorICA8bGk+TWFrZSBzdXJlIHlvdSBjYW4gcmVwcm9kdWNlIHRoZSBidWcgd2l0aCB4bWxsaW50IG9yIG9uZSBvZiB0aGUgdGVzdAorICAgIHByb2dyYW1zIGZvdW5kIGluIHNvdXJjZSBpbiB0aGUgZGlzdHJpYnV0aW9uLjwvbGk+CisgIDxsaT5QbGVhc2Ugc2VuZCB0aGUgY29tbWFuZCBzaG93aW5nIHRoZSBlcnJvciBhcyB3ZWxsIGFzIHRoZSBpbnB1dCAoYXMgYW4KKyAgICBhdHRhY2htZW50KTwvbGk+Cis8L3VsPjxwPlRoZW4gc2VuZCB0aGUgYnVnIHdpdGggYXNzb2NpYXRlZCBpbmZvcm1hdGlvbiB0byByZXByb2R1Y2UgaXQgdG8gdGhlIDxhIGhyZWY9Im1haWx0bzp4bWxAZ25vbWUub3JnIj54bWxAZ25vbWUub3JnPC9hPiBsaXN0OyBpZiBpdCdzIHJlYWxseSBsaWJ4bWwKK3JlbGF0ZWQgSSB3aWxsIGFwcHJvdmUgaXQuIFBsZWFzZSBkbyBub3Qgc2VuZCBtYWlsIHRvIG1lIGRpcmVjdGx5LCBpdCBtYWtlcwordGhpbmdzIHJlYWxseSBoYXJkIHRvIHRyYWNrIGFuZCBpbiBzb21lIGNhc2VzIEkgYW0gbm90IHRoZSBiZXN0IHBlcnNvbiB0bworYW5zd2VyIGEgZ2l2ZW4gcXVlc3Rpb24sIGFzayBvbiB0aGUgbGlzdC48L3A+PHA+VG8gPHNwYW4gc3R5bGU9ImNvbG9yOiAjRTUwMDAwIj5iZSByZWFsbHkgY2xlYXIgYWJvdXQgc3VwcG9ydDwvc3Bhbj46PC9wPjx1bD4KKyAgPGxpPlN1cHBvcnQgb3IgaGVscCA8c3BhbiBzdHlsZT0iY29sb3I6ICNFNTAwMDAiPnJlcXVlc3RzIE1VU1QgYmUgc2VudCB0bworICAgIHRoZSBsaXN0IG9yIG9uIGJ1Z3ppbGxhPC9zcGFuPiBpbiBjYXNlIG9mIHByb2JsZW1zLCBzbyB0aGF0IHRoZSBRdWVzdGlvbgorICAgIGFuZCBBbnN3ZXJzIGNhbiBiZSBzaGFyZWQgcHVibGljbHkuIEZhaWxpbmcgdG8gZG8gc28gY2FycmllcyB0aGUgaW1wbGljaXQKKyAgICBtZXNzYWdlICJJIHdhbnQgZnJlZSBzdXBwb3J0IGJ1dCBJIGRvbid0IHdhbnQgdG8gc2hhcmUgdGhlIGJlbmVmaXRzIHdpdGgKKyAgICBvdGhlcnMiIGFuZCBpcyBub3Qgd2VsY29tZS4gSSB3aWxsIGF1dG9tYXRpY2FsbHkgQ2FyYm9uLUNvcHkgdGhlCisgICAgeG1sQGdub21lLm9yZyBtYWlsaW5nIGxpc3QgZm9yIGFueSB0ZWNobmljYWwgcmVwbHkgbWFkZSBhYm91dCBsaWJ4bWwyIG9yCisgICAgbGlieHNsdC48L2xpPgorICA8bGk+VGhlcmUgaXMgPHNwYW4gc3R5bGU9ImNvbG9yOiAjRTUwMDAwIj5ubyBndWFyYW50ZWUgb2Ygc3VwcG9ydDwvc3Bhbj4uIElmCisgICAgeW91ciBxdWVzdGlvbiByZW1haW5zIHVuYW5zd2VyZWQgYWZ0ZXIgYSB3ZWVrLCByZXBvc3QgaXQsIG1ha2luZyBzdXJlIHlvdQorICAgIGdhdmUgYWxsIHRoZSBkZXRhaWwgbmVlZGVkIGFuZCB0aGUgaW5mb3JtYXRpb24gcmVxdWVzdGVkLjwvbGk+CisgIDxsaT5GYWlsaW5nIHRvIHByb3ZpZGUgaW5mb3JtYXRpb24gYXMgcmVxdWVzdGVkIG9yIGRvdWJsZSBjaGVja2luZyBmaXJzdAorICAgIGZvciBwcmlvciBmZWVkYmFjayBhbHNvIGNhcnJpZXMgdGhlIGltcGxpY2l0IG1lc3NhZ2UgInRoZSB0aW1lIG9mIHRoZQorICAgIGxpYnJhcnkgbWFpbnRhaW5lcnMgaXMgbGVzcyB2YWx1YWJsZSB0aGFuIG15IHRpbWUiIGFuZCBtaWdodCBub3QgYmUKKyAgICB3ZWxjb21lLjwvbGk+Cis8L3VsPjxwPk9mIGNvdXJzZSwgYnVncyByZXBvcnRlZCB3aXRoIGEgc3VnZ2VzdGVkIHBhdGNoIGZvciBmaXhpbmcgdGhlbSB3aWxsCitwcm9iYWJseSBiZSBwcm9jZXNzZWQgZmFzdGVyIHRoYW4gdGhvc2Ugd2l0aG91dC48L3A+PHA+SWYgeW91J3JlIGxvb2tpbmcgZm9yIGhlbHAsIGEgcXVpY2sgbG9vayBhdCA8YSBocmVmPSJodHRwOi8vbWFpbC5nbm9tZS5vcmcvYXJjaGl2ZXMveG1sLyI+dGhlIGxpc3QgYXJjaGl2ZTwvYT4gbWF5IGFjdHVhbGx5Citwcm92aWRlIHRoZSBhbnN3ZXIuIEkgdXN1YWxseSBzZW5kIHNvdXJjZSBzYW1wbGVzIHdoZW4gYW5zd2VyaW5nIGxpYnhtbDIKK3VzYWdlIHF1ZXN0aW9ucy4gVGhlIDxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9odG1sL2Jvb2sxLmh0bWwiPmF1dG8tZ2VuZXJhdGVkIGRvY3VtZW50YXRpb248L2E+IGlzCitub3QgYXMgcG9saXNoZWQgYXMgSSB3b3VsZCBsaWtlIChpIG5lZWQgdG8gbGVhcm4gbW9yZSBhYm91dCBEb2NCb29rKSwgYnV0CitpdCdzIGEgZ29vZCBzdGFydGluZyBwb2ludC48L3A+PHA+PGEgaHJlZj0iYnVncy5odG1sIj5EYW5pZWwgVmVpbGxhcmQ8L2E+PC9wPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9idWlsZERvY0Jvb2tDYXRhbG9nIGIvbGlieG1sMi9kb2MvYnVpbGREb2NCb29rQ2F0YWxvZwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kMWI4Yzk0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvYnVpbGREb2NCb29rQ2F0YWxvZwpAQCAtMCwwICsxLDQxNCBAQAorIyEgL2Jpbi9iYXNoCisKK3VzYWdlKCkKK3sKKyAgICBjYXQgPDxFT0YKK1VzYWdlOiAkcG5hbWUgW09QVElPTl0KKworS25vd24gdmFsdWVzIGZvciBPUFRJT04gYXJlOgorICAtLXByZWZpeD1ESVIgICAgICAgIGNoYW5nZSB0aGUgb3V0cHV0IGRpcmVjdG9yeSBmb3IgY2F0YWxvZyBmaWxlcworICAgICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0ICRESVJdCisgIC0tc2hvdyAgICAgICAgICAgICAgZGlzcGxheSB0aGUgb3V0cHV0IGZpbGVuYW1lcyBhbmQgcGF0aHMKKyAgLS12ZXJzaW9uPXgueS56ICAgICBjaGFuZ2UgdGhlIERvY0Jvb2sgdmVyc2lvbiBbZGVmYXVsdCAkVkVSU0lPTl0KKyAgLS1kZWJ1ZyAgICAgICAgICAgICBkaXNwbGF5IHNjcmlwdCBhY3Rpb24gaW5mb3JtYXRpb24KKyAgLS1oZWxwICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdAorRU9GCit9CisKK3NldGRlZmF1bHQoKQoreworICAgIGVjaG8gVW5hYmxlIHRvIHVwZGF0ZSByb290IGNhdGFsb2cgJFJPT1RDQVRBTE9HCisgICAgUk9PVENBVEFMT0c9JEhPTUUveG1sY2F0YWxvZworICAgIENBVEFMT0c9JEhPTUUvZGJreG1sY2F0YWxvZworICAgIERJUj0kSE9NRQorICAgIENBVD14bWxjYXRhbG9nCisgICAgZWNobyBVc2luZyAkUk9PVENBVEFMT0cgYXMgdGhlIHJvb3QgY2F0YWxvZworICAgIGVjaG8gUmVtZW1iZXIgdG8gZXhwb3J0IFhNTF9DQVRBTE9HX0ZJTEVTPSRST09UQ0FUQUxPRworICAgIGVjaG8KKyAgICBwcmVmaXg9MQorfQorCitmaXhuYW1lKCkKK3sKKyMKKyMgUk9PVENBVEFMT0cgY29udGFpbnMgdGhlIGZ1bGwgcGF0aG5hbWUgZm9yIHRoZSBjYXRhbG9nLiAgV2Ugd2lsbAorIyBzcGxpdCB0aGF0IGludG8gdGhlIGRpcmVjdG9yeSBuYW1lIGFuZCB0aGUgZmlsZW5hbWUsIHRoZW4gd2Ugd2lsbAorIyBzZWUgaWYgdGhlIGRpcmVjdG9yeSBleGlzdHMuICBJZiBpdCBkb2VzIG5vdCwgd2Ugd2lsbCBhdHRlbXB0IHRvCisjIGNyZWF0ZSBpdC4KKyMKKyAgICBpZiB0ZXN0ICR2ZXJib3NlID0gMQorICAgIHRoZW4KKyAgICAgICAgZWNobyBDaGVja2luZyBwYXRoICRST09UQ0FUQUxPRyBmb3IgcGVybWlzc2lvbnMKKyAgICBmaQorIyBGaXJzdCB3ZSBzcGxpdCB0aGUgZmlsZW5hbWUgYW5kIGRpcmVjdG9yeSBuYW1lCisgICAgQ0FUPWBiYXNlbmFtZSAkUk9PVENBVEFMT0dgCisgICAgRElSPWBkaXJuYW1lICRST09UQ0FUQUxPR2AKKyAgICBpZiB0ZXN0ICIkRElSIiA9ICIiCisgICAgdGhlbgorICAgICAgICBlY2hvIFVuYWJsZSB0byBpc29sYXRlIGRpcmVjdG9yeSBuYW1lIGZyb20gJyRST09UQ0FUQUxPRycgLSBleGl0aW5nCisgICAgICAgIGV4aXQgMQorICAgIGZpCisgICAgQ0FUQUxPRz0ke0RJUn0vZG9jYm9vaworICAgIHBhcmVudD1gZGlybmFtZSAkRElSYAorICAgIGlmIHRlc3QgIiRwYXJlbnQiID09ICIiCisgICAgdGhlbgorICAgICAgICBwYXJlbnQ9LworICAgIGZpCisgICAgaWYgWyAhIC1kICRESVIgXQorICAgIHRoZW4KKyAgICAgICAgaWYgdGVzdCAkdmVyYm9zZSA9IDEKKyAgICAgICAgdGhlbgorICAgICAgICAgICAgZWNobyBEaXJlY3RvcnkgJERJUiBtaXNzaW5nIC0gSSB3aWxsIHRyeSB0byBjcmVhdGUgaXQKKyAgICAgICAgZmkKKyAgICAgICAgaWYgWyAhIC13ICRwYXJlbnQgXQorICAgICAgICB0aGVuCisgICAgICAgICAgICBpZiB0ZXN0ICR2ZXJib3NlID0gMQorICAgICAgICAgICAgdGhlbgorICAgICAgICAgICAgICAgIGVjaG8gTm8gd3JpdGUgcGVybWlzc2lvbiBmb3IgZGlyZWN0b3J5ICRwYXJlbnQKKyAgICAgICAgICAgIGZpCisgICAgICAgICAgICBzZXRkZWZhdWx0CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIG5ld2Rpcj0xCisgICAgICAgIGZpCisgICAgZWxzZQorICAgICAgICBpZiBbIC1mICRST09UQ0FUQUxPRyAtYSAhIC13ICRST09UQ0FUQUxPRyBdIHx8CisJICAgWyAtZSAkUk9PVENBVEFMT0cgLWEgISAtZiAkUk9PVENBVEFMT0cgXSB8fAorICAgICAgICAgICBbICEgLWUgJFJPT1RDQVRBTE9HICAtYSAhIC13ICRESVIgXQorICAgICAgICB0aGVuCisgICAgICAgICAgICBzZXRkZWZhdWx0CisgICAgICAgIGZpCisgICAgZmkKKworfQorZmluZGRieCgpCit7CitkdGQ0MjE9IiIKK3M9Ii8vT0FTSVMvL0RURCBEb2NCb29rIFhNTCBWJHtWRVJTSU9OfS8vRU4iCitmb3VuZD1gZmluZCAkMSAtbmFtZSBkb2Nib29reC5kdGQgLWV4ZWMgZ3JlcCAtbCAiJHMiIHt9IFw7YAorZm9yIGR0ZCBpbiAkZm91bmQ7IGRvCisgICAgZG9jYm9va2Rpcj1gZGlybmFtZSAkZHRkYAorICAgIGVjaG8gRm91bmQgRG9jQm9vayBYTUwgJFZFUlNJT04gRFREIGluICRkb2Nib29rZGlyCisjCisjIFRoZSBvcmlnaW5hbCBzY3JpcHQgaGFkIGEgY2hlY2sgZm9yIHdyaXRlIHBlcm1pc3Npb24gb24gdGhlIGZpbGUKKyMgYnV0IEkgY2FuJ3Qgc2VlIHdoeSBpdCBzaG91bGQgYmUgbmVjZXNzYXJ5CisjCisgICAgZHRkNDIxPSRkdGQKKyAgICBicmVhaworZG9uZQorfQorCisjCisjIFByZXNldCBzY3JpcHQgY29udHJvbCBwYXJhbXMKK3Nob3c9MAorcHJlZml4PTAKK25ld2Rpcj0wCit2ZXJib3NlPTAKKyMKKyMgSXNvbGF0ZSB0aGUgc2NyaXB0IG5hbWUgZm9yIG1lc3NhZ2VzCitwbmFtZT1gYmFzZW5hbWUgJDBgCitWRVJTSU9OPTQuMS4yCisKK2lmIHRlc3QgIiRYTUxfQ0FUQUxPR19GSUxFUyIgIT0gIiIKK3RoZW4KKyAgICBST09UQ0FUQUxPRz0kWE1MX0NBVEFMT0dfRklMRVMKK2Vsc2UKKyAgICBST09UQ0FUQUxPRz0vZXRjL3htbC9jYXRhbG9nCitmaQorCisjCisjIEludGVycHJldCBzY3JpcHQgcGFyYW1ldGVycword2hpbGUgdGVzdCAkIyAtZ3QgMDsgZG8KKyAgICBjYXNlICIkMSIgaW4KKyAgICAtKj0qKSBvcHRhcmc9YGVjaG8gIiQxIiB8IHNlZCAncy9bLV9hLXpBLVowLTldKj0vLydgIDs7CisgICAgKikgb3B0YXJnPSA7OworICAgIGVzYWMKKworICAgIGNhc2UgIiQxIiBpbgorICAgIC1wPSogfCAtLXByZWZpeD0qKQorICAgICAgICBST09UQ0FUQUxPRz0kb3B0YXJnL2NhdGFsb2cKKyAgICAgICAgcHJlZml4PTEKKyAgICAgICAgOzsKKworICAgIC1zIHwgLS1zaG93KQorICAgICAgICBzaG93PTEKKyAgICAgICAgOzsKKworICAgIC12PSogfCAtLXZlcnNpb249KikKKyAgICAgICAgVkVSU0lPTj0kb3B0YXJnCisJOzsKKworICAgIC1kIHwgLS1kZWJ1ZykKKyAgICAgICAgdmVyYm9zZT0xCisgICAgICAgIDs7CisKKyAgICAtaCB8IC0taGVscCkKKyAgICAgICAgdXNhZ2UKKwlleGl0IDAKKwk7OworCisgICAgKiApCisgICAgICAgIGVjaG8gSW52YWxpZCBhcmd1bWVudCAiJDEiCisJdXNhZ2UKKyAgICAgICAgZXhpdCAxCisgICAgICAgIDs7CisgICAgZXNhYworICAgIHNoaWZ0Citkb25lCitmaXhuYW1lCitpZiB0ZXN0ICRwcmVmaXggIT0gMAordGhlbgorICAgIGV4cG9ydCBYTUxfQ0FUQUxPR19GSUxFUz0kUk9PVENBVEFMT0cKK2ZpCitpZiB0ZXN0ICRzaG93ICE9IDAKK3RoZW4KKyAgICBlY2hvIFhNTCBDYXRhbG9nIGlzICRST09UQ0FUQUxPRworICAgIGVjaG8gRG9jYm9vayBDYXRhbG9nIGlzICRDQVRBTE9HCisgICAgZXhpdCAwCitmaQoraWYgdGVzdCAkbmV3ZGlyIT0wCit0aGVuCisgICAgbWtkaXIgLXAgJERJUgorICAgIGNobW9kIDc1NSAkRElSCitmaQorCitlY2hvIFN0YXJ0aW5nIHJ1bgorIworIyBjcmVhdGUgdGhlIGNhdGFsb2dzIHJvb3QgYW5kIGRvY2Jvb2sgc3BlY2lmaWMKKyMKK2lmIFsgISAtciAkUk9PVENBVEFMT0cgXSA7IHRoZW4KKyAgIGVjaG8gY3JlYXRpbmcgWE1MIENhdGFsb2cgcm9vdCAkUk9PVENBVEFMT0cKKyAgIHhtbGNhdGFsb2cgLS1ub291dCAtLWNyZWF0ZSAkUk9PVENBVEFMT0cKK2ZpCitpZiBbICEgLXIgJFJPT1RDQVRBTE9HIF0gOyB0aGVuCisgICBlY2hvIEZhaWxlZCBjcmVhdGluZyBYTUwgQ2F0YWxvZyByb290ICRST09UQ0FUQUxPRworICAgZXhpdCAxCitmaQoraWYgWyAhIC1yICRDQVRBTE9HIF0gOyB0aGVuCisgICBlY2hvIGNyZWF0aW5nIERvY0Jvb2sgWE1MIENhdGFsb2cgJENBVEFMT0cKKyAgIHhtbGNhdGFsb2cgLS1ub291dCAtLWNyZWF0ZSAkQ0FUQUxPRworZmkKK2lmIFsgISAtciAkQ0FUQUxPRyBdIDsgdGhlbgorICAgZWNobyBGYWlsZWQgY3JlYXRpbmcgRG9jQm9vayBYTUwgQ2F0YWxvZyAkQ0FUQUxPRworICAgZXhpdCAxCitmaQorCisjCisjIGZpbmQgdGhlIHByZWZpeCBmb3IgRG9jQm9vayBEVEQKKyMKK2ZpbmRkYnggL3Vzci9zaGFyZS94bWwKK2lmIFsgIiRkdGQ0MjEiID0gIiIgXSA7IHRoZW4KKyAgICBmaW5kZGJ4ICRIT01FCitmaQoraWYgWyAiJGR0ZDQyMSIgPSAiIiBdIDsgdGhlbgorICAgIGZpbmRkYnggL3Vzci9sb2NhbAorZmkKK2lmIFsgIiRkdGQ0MjEiID0gIiIgXSA7IHRoZW4KKyAgICBmaW5kZGJ4IC91c3Ivc2hhcmUvc2dtbAorZmkKKworaWYgWyAiJGR0ZDQyMSIgPSAiIiBdIDsgdGhlbgorICAgIGVjaG8gY291bGQgbm90IGxvY2F0ZSB2ZXJzaW9uICRWRVJTSU9OIG9mIERvY0Jvb2sgWE1MCisgICAgZXhpdCAxCitmaQorCit4bWxjYXRhbG9nIC0tbm9vdXQgLS1hZGQgInB1YmxpYyIgXAorICAgICItLy9PQVNJUy8vRUxFTUVOVFMgRG9jQm9vayBYTUwgSW5mb3JtYXRpb24gUG9vbCBWJHtWRVJTSU9OfS8vRU4iIFwKKyAgICAiZmlsZTovLyRkb2Nib29rZGlyL2RicG9vbHgubW9kIiAkQ0FUQUxPRworeG1sY2F0YWxvZyAtLW5vb3V0IC0tYWRkICJwdWJsaWMiIFwKKyAgICAiLS8vT0FTSVMvL0RURCBEb2NCb29rIFhNTCBWJHtWRVJTSU9OfS8vRU4iIFwKKyAgICAiZmlsZTovLyRkb2Nib29rZGlyL2RvY2Jvb2t4LmR0ZCIgJENBVEFMT0cKK3htbGNhdGFsb2cgLS1ub291dCAtLWFkZCAicHVibGljIiBcCisgICAgIi0vL09BU0lTLy9FTlRJVElFUyBEb2NCb29rIFhNTCBDaGFyYWN0ZXIgRW50aXRpZXMgViR7VkVSU0lPTn0vL0VOIiBcCisgICAgImZpbGU6Ly8kZG9jYm9va2Rpci9kYmNlbnR4Lm1vZCIgJENBVEFMT0cKK3htbGNhdGFsb2cgLS1ub291dCAtLWFkZCAicHVibGljIiBcCisgICAgIi0vL09BU0lTLy9FTlRJVElFUyBEb2NCb29rIFhNTCBOb3RhdGlvbnMgViR7VkVSU0lPTn0vL0VOIiBcCisgICAgImZpbGU6Ly8kZG9jYm9va2Rpci9kYm5vdG54Lm1vZCIgJENBVEFMT0cKK3htbGNhdGFsb2cgLS1ub291dCAtLWFkZCAicHVibGljIiBcCisgICAgIi0vL09BU0lTLy9FTlRJVElFUyBEb2NCb29rIFhNTCBBZGRpdGlvbmFsIEdlbmVyYWwgRW50aXRpZXMgViR7VkVSU0lPTn0vL0VOIiBcCisgICAgImZpbGU6Ly8kZG9jYm9va2Rpci9kYmdlbmVudC5tb2QiICRDQVRBTE9HCit4bWxjYXRhbG9nIC0tbm9vdXQgLS1hZGQgInB1YmxpYyIgXAorICAgICItLy9PQVNJUy8vRUxFTUVOVFMgRG9jQm9vayBYTUwgRG9jdW1lbnQgSGllcmFyY2h5IFYke1ZFUlNJT059Ly9FTiIgXAorICAgICJmaWxlOi8vJGRvY2Jvb2tkaXIvZGJoaWVyeC5tb2QiICRDQVRBTE9HCit4bWxjYXRhbG9nIC0tbm9vdXQgLS1hZGQgInB1YmxpYyIgXAorICAgICItLy9PQVNJUy8vRFREIFhNTCBFeGNoYW5nZSBUYWJsZSBNb2RlbCAxOTk5MDMxNS8vRU4iIFwKKyAgICAiZmlsZTovLyRkb2Nib29rZGlyL3NvZXh0Ymx4LmR0ZCIgJENBVEFMT0cKK3htbGNhdGFsb2cgLS1ub291dCAtLWFkZCAicHVibGljIiBcCisgICAgIi0vL09BU0lTLy9EVEQgRG9jQm9vayBYTUwgQ0FMUyBUYWJsZSBNb2RlbCBWJHtWRVJTSU9OfS8vRU4iIFwKKyAgICAiZmlsZTovLyRkb2Nib29rZGlyL2NhbHN0Ymx4LmR0ZCIgJENBVEFMT0cKK3htbGNhdGFsb2cgLS1ub291dCAtLWFkZCAicmV3cml0ZVN5c3RlbSIgXAorICAgICJodHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL2RvY2Jvb2sveG1sLyR7VkVSU0lPTn0iIFwKKyAgICAiZmlsZTovLyRkb2Nib29rZGlyIiAkQ0FUQUxPRworeG1sY2F0YWxvZyAtLW5vb3V0IC0tYWRkICJyZXdyaXRlVVJJIiBcCisgICAgImh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvZG9jYm9vay94bWwvJHtWRVJTSU9OfSIgXAorICAgICJmaWxlOi8vJGRvY2Jvb2tkaXIiICRDQVRBTE9HCisKK3htbGNhdGFsb2cgLS1ub291dCAtLWFkZCAiZGVsZWdhdGVQdWJsaWMiIFwKKyAgICAiLS8vT0FTSVMvL0VOVElUSUVTIERvY0Jvb2sgWE1MIiBcCisgICAgImZpbGU6Ly8kQ0FUQUxPRyIgJFJPT1RDQVRBTE9HCit4bWxjYXRhbG9nIC0tbm9vdXQgLS1hZGQgImRlbGVnYXRlUHVibGljIiBcCisgICAgIi0vL09BU0lTLy9EVEQgRG9jQm9vayBYTUwiIFwKKyAgICAiZmlsZTovLyRDQVRBTE9HIiAkUk9PVENBVEFMT0cKK3htbGNhdGFsb2cgLS1ub291dCAtLWFkZCAiZGVsZWdhdGVTeXN0ZW0iIFwKKyAgICAiaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9kb2Nib29rLyIgXAorICAgICJmaWxlOi8vJENBVEFMT0ciICRST09UQ0FUQUxPRworeG1sY2F0YWxvZyAtLW5vb3V0IC0tYWRkICJkZWxlZ2F0ZVVSSSIgXAorICAgICJodHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL2RvY2Jvb2svIiBcCisgICAgImZpbGU6Ly8kQ0FUQUxPRyIgJFJPT1RDQVRBTE9HCisKKyMKKyMgZmluZCB0aGUgcHJlZml4IGZvciBJU08gRG9jQm9vayBlbnRpdGllcworIwordG9wPWBkaXJuYW1lICRkb2Nib29rZGlyYAorZm91bmQ9YGZpbmQgJHRvcCAtbmFtZSBpc28tYW1zYi5lbnRgCitpZiBbICIkZm91bmQiID0gIiIgXSA7IHRoZW4KKyAgICBmb3VuZD1gZmluZCAvdXNyL3NoYXJlL3htbCAtbmFtZSBpc28tYW1zYi5lbnRgCitmaQoraWYgWyAiJGZvdW5kIiA9ICIiIF0gOyB0aGVuCisgICAgZm91bmQ9YGZpbmQgJEhPTUUgLW5hbWUgaXNvLWFtc2IuZW50YAorZmkKK2lmIFsgIiRmb3VuZCIgPSAiIiBdIDsgdGhlbgorICAgIGZvdW5kPWBmaW5kIC91c3IvbG9jYWwgLW5hbWUgaXNvLWFtc2IuZW50YAorZmkKK2lmIFsgIiRmb3VuZCIgPSAiIiBdIDsgdGhlbgorICAgIGZvdW5kPWBmaW5kIC91c3Ivc2hhcmUvc2dtbCAtbmFtZSBpc28tYW1zYi5lbnRgCitmaQoraWYgWyAiJGZvdW5kIiA9ICIiIF0gOyB0aGVuCisgICAgZWNobyBjb3VsZCBub3QgbG9jYXRlIGlzby1hbXNiLmVudCBvZiBJU08gRG9jQm9vayBlbnRpdGllcworICAgIGV4aXQgMQorZmkKKworZW50eG1sPSIiCitmb3IgdHN0IGluICRmb3VuZDsgZG8KKyAgICBjaGVjaz1gZ3JlcCAnPCFFTlRJVFkgb21pbnVzLiJcJiN4MjI5NjsiPicgJHRzdGAKKyAgICBpZiBbICIkY2hlY2siICE9ICIiIF0gOyB0aGVuCisgICAgICAgIGVudHhtbD0kdHN0CisgICAgICAgIGJyZWFrCisgICAgZmkKK2RvbmUKKworaWYgWyAiJGVudHhtbCIgPSAiIiBdIDsgdGhlbgorICAgIGVjaG8gY291bGQgbm90IGxvY2F0ZSBJU08gRG9jQm9vayBlbnRpdGllcworICAgIGV4aXQgMQorZmkKK2lzb2Rpcj1gZGlybmFtZSAkZW50eG1sYAorZWNobyBGb3VuZCBJU08gRG9jQm9vayBlbnRpdGllcyBpbiAkaXNvZGlyCisKK3htbGNhdGFsb2cgLS1ub291dCAtLWFkZCAicHVibGljIiBcCisgICAgIklTTyA4ODc5OjE5ODYvL0VOVElUSUVTIFB1Ymxpc2hpbmcvL0VOIiBcCisgICAgImZpbGU6Ly8kaXNvZGlyL2lzby1wdWIuZW50IiAkQ0FUQUxPRworeG1sY2F0YWxvZyAtLW5vb3V0IC0tYWRkICJwdWJsaWMiIFwKKyAgICAiSVNPIDg4Nzk6MTk4Ni8vRU5USVRJRVMgR3JlZWsgTGV0dGVycy8vRU4iIFwKKyAgICAiZmlsZTovLyRpc29kaXIvaXNvLWdyazEuZW50IiAkQ0FUQUxPRworeG1sY2F0YWxvZyAtLW5vb3V0IC0tYWRkICJwdWJsaWMiIFwKKyAgICAiSVNPIDg4Nzk6MTk4Ni8vRU5USVRJRVMgQm94IGFuZCBMaW5lIERyYXdpbmcvL0VOIiBcCisgICAgImZpbGU6Ly8kaXNvZGlyL2lzby1ib3guZW50IiAkQ0FUQUxPRworeG1sY2F0YWxvZyAtLW5vb3V0IC0tYWRkICJwdWJsaWMiIFwKKyAgICAiSVNPIDg4Nzk6MTk4Ni8vRU5USVRJRVMgR3JlZWsgU3ltYm9scy8vRU4iIFwKKyAgICAiZmlsZTovLyRpc29kaXIvaXNvLWdyazMuZW50IiAkQ0FUQUxPRworeG1sY2F0YWxvZyAtLW5vb3V0IC0tYWRkICJwdWJsaWMiIFwKKyAgICAiSVNPIDg4Nzk6MTk4Ni8vRU5USVRJRVMgQWRkZWQgTWF0aCBTeW1ib2xzOiBOZWdhdGVkIFJlbGF0aW9ucy8vRU4iIFwKKyAgICAiZmlsZTovLyRpc29kaXIvaXNvLWFtc24uZW50IiAkQ0FUQUxPRworeG1sY2F0YWxvZyAtLW5vb3V0IC0tYWRkICJwdWJsaWMiIFwKKyAgICAiSVNPIDg4Nzk6MTk4Ni8vRU5USVRJRVMgTnVtZXJpYyBhbmQgU3BlY2lhbCBHcmFwaGljLy9FTiIgXAorICAgICJmaWxlOi8vJGlzb2Rpci9pc28tbnVtLmVudCIgJENBVEFMT0cKK3htbGNhdGFsb2cgLS1ub291dCAtLWFkZCAicHVibGljIiBcCisgICAgIklTTyA4ODc5OjE5ODYvL0VOVElUSUVTIEFsdGVybmF0aXZlIEdyZWVrIFN5bWJvbHMvL0VOIiBcCisgICAgImZpbGU6Ly8kaXNvZGlyL2lzby1ncms0LmVudCIgJENBVEFMT0cKK3htbGNhdGFsb2cgLS1ub291dCAtLWFkZCAicHVibGljIiBcCisgICAgIklTTyA4ODc5OjE5ODYvL0VOVElUSUVTIERpYWNyaXRpY2FsIE1hcmtzLy9FTiIgXAorICAgICJmaWxlOi8vJGlzb2Rpci9pc28tZGlhLmVudCIgJENBVEFMT0cKK3htbGNhdGFsb2cgLS1ub291dCAtLWFkZCAicHVibGljIiBcCisgICAgIklTTyA4ODc5OjE5ODYvL0VOVElUSUVTIE1vbm90b25pa28gR3JlZWsvL0VOIiBcCisgICAgImZpbGU6Ly8kaXNvZGlyL2lzby1ncmsyLmVudCIgJENBVEFMT0cKK3htbGNhdGFsb2cgLS1ub291dCAtLWFkZCAicHVibGljIiBcCisgICAgIklTTyA4ODc5OjE5ODYvL0VOVElUSUVTIEFkZGVkIE1hdGggU3ltYm9sczogQXJyb3cgUmVsYXRpb25zLy9FTiIgXAorICAgICJmaWxlOi8vJGlzb2Rpci9pc28tYW1zYS5lbnQiICRDQVRBTE9HCit4bWxjYXRhbG9nIC0tbm9vdXQgLS1hZGQgInB1YmxpYyIgXAorICAgICJJU08gODg3OToxOTg2Ly9FTlRJVElFUyBBZGRlZCBNYXRoIFN5bWJvbHM6IE9yZGluYXJ5Ly9FTiIgXAorICAgICJmaWxlOi8vJGlzb2Rpci9pc28tYW1zby5lbnQiICRDQVRBTE9HCit4bWxjYXRhbG9nIC0tbm9vdXQgLS1hZGQgInB1YmxpYyIgXAorICAgICJJU08gODg3OToxOTg2Ly9FTlRJVElFUyBSdXNzaWFuIEN5cmlsbGljLy9FTiIgXAorICAgICJmaWxlOi8vJGlzb2Rpci9pc28tY3lyMS5lbnQiICRDQVRBTE9HCit4bWxjYXRhbG9nIC0tbm9vdXQgLS1hZGQgInB1YmxpYyIgXAorICAgICJJU08gODg3OToxOTg2Ly9FTlRJVElFUyBHZW5lcmFsIFRlY2huaWNhbC8vRU4iIFwKKyAgICAiZmlsZTovLyRpc29kaXIvaXNvLXRlY2guZW50IiAkQ0FUQUxPRworeG1sY2F0YWxvZyAtLW5vb3V0IC0tYWRkICJwdWJsaWMiIFwKKyAgICAiSVNPIDg4Nzk6MTk4Ni8vRU5USVRJRVMgQWRkZWQgTWF0aCBTeW1ib2xzOiBEZWxpbWl0ZXJzLy9FTiIgXAorICAgICJmaWxlOi8vJGlzb2Rpci9pc28tYW1zYy5lbnQiICRDQVRBTE9HCit4bWxjYXRhbG9nIC0tbm9vdXQgLS1hZGQgInB1YmxpYyIgXAorICAgICJJU08gODg3OToxOTg2Ly9FTlRJVElFUyBBZGRlZCBMYXRpbiAxLy9FTiIgXAorICAgICJmaWxlOi8vJGlzb2Rpci9pc28tbGF0MS5lbnQiICRDQVRBTE9HCit4bWxjYXRhbG9nIC0tbm9vdXQgLS1hZGQgInB1YmxpYyIgXAorICAgICJJU08gODg3OToxOTg2Ly9FTlRJVElFUyBBZGRlZCBNYXRoIFN5bWJvbHM6IEJpbmFyeSBPcGVyYXRvcnMvL0VOIiBcCisgICAgImZpbGU6Ly8kaXNvZGlyL2lzby1hbXNiLmVudCIgJENBVEFMT0cKK3htbGNhdGFsb2cgLS1ub291dCAtLWFkZCAicHVibGljIiBcCisgICAgIklTTyA4ODc5OjE5ODYvL0VOVElUSUVTIEFkZGVkIExhdGluIDIvL0VOIiBcCisgICAgImZpbGU6Ly8kaXNvZGlyL2lzby1sYXQyLmVudCIgJENBVEFMT0cKK3htbGNhdGFsb2cgLS1ub291dCAtLWFkZCAicHVibGljIiBcCisgICAgIklTTyA4ODc5OjE5ODYvL0VOVElUSUVTIEFkZGVkIE1hdGggU3ltYm9sczogUmVsYXRpb25zLy9FTiIgXAorICAgICJmaWxlOi8vJGlzb2Rpci9pc28tYW1zci5lbnQiICRDQVRBTE9HCit4bWxjYXRhbG9nIC0tbm9vdXQgLS1hZGQgInB1YmxpYyIgXAorICAgICJJU08gODg3OToxOTg2Ly9FTlRJVElFUyBOb24tUnVzc2lhbiBDeXJpbGxpYy8vRU4iIFwKKyAgICAiZmlsZTovLyRpc29kaXIvaXNvLWN5cjIuZW50IiAkQ0FUQUxPRworCit4bWxjYXRhbG9nIC0tbm9vdXQgLS1hZGQgImRlbGVnYXRlUHVibGljIiBcCisgICAgIklTTyA4ODc5OjE5ODYiIFwKKyAgICAiZmlsZTovLyRDQVRBTE9HIiAkUk9PVENBVEFMT0cKKworIworIyBmaW5kIHRoZSBwcmVmaXggZm9yIFhTTFQgc3R5bGVzaGVldHMKKyMKK3RvcD1gZGlybmFtZSAkZG9jYm9va2RpcmAKK2ZvdW5kPWBmaW5kICR0b3AgLW5hbWUgY2h1bmsueHNsYAoraWYgWyAiJGZvdW5kIiA9ICIiIF0gOyB0aGVuCisgICAgZm91bmQ9YGZpbmQgL3Vzci9zaGFyZS94bWwgLW5hbWUgY2h1bmsueHNsYAorZmkKK2lmIFsgIiRmb3VuZCIgPSAiIiBdIDsgdGhlbgorICAgIGZvdW5kPWBmaW5kICRIT01FIC1uYW1lIGNodW5rLnhzbGAKK2ZpCitpZiBbICIkZm91bmQiID0gIiIgXSA7IHRoZW4KKyAgICBmb3VuZD1gZmluZCAvdXNyL2xvY2FsIC1uYW1lIGNodW5rLnhzbGAKK2ZpCitpZiBbICIkZm91bmQiID0gIiIgXSA7IHRoZW4KKyAgICBmb3VuZD1gZmluZCAvdXNyL3NoYXJlL3NnbWwgLW5hbWUgY2h1bmsueHNsYAorZmkKK2lmIFsgIiRmb3VuZCIgPSAiIiBdIDsgdGhlbgorICAgIGVjaG8gY291bGQgbm90IGxvY2F0ZSBjaHVuay1jb21tb24ueHNsIG9mIERvY0Jvb2sgWFNMVCBzdHlsZXNoZWV0cworICAgIGV4aXQgMQorZmkKKworeHNsZGlyPSIiCitmb3IgdHN0IGluICRmb3VuZDsgZG8KKyAgICBkaXI9YGRpcm5hbWUgJHRzdGAKKyAgICBkaXI9YGRpcm5hbWUgJGRpcmAKKyAgICBpZiBbIC1yICRkaXIvaHRtbC9kb2Nib29rLnhzbCAtYSAtciAkZGlyL2NvbW1vbi9sMTBuLnhtbCBdOyB0aGVuCisgICAgICAgIHhzbGRpcj0kZGlyCisgICAgICAgIGJyZWFrCisgICAgZmkKK2RvbmUKKworaWYgWyAiJHhzbGRpciIgPSAiIiBdIDsgdGhlbgorICAgIGVjaG8gY291bGQgbm90IGxvY2F0ZSBEb2NCb29rIFhTTFQgc3R5bGVzaGVldHMKKyAgICBleGl0IDEKK2ZpCitlY2hvIEZvdW5kIERvY0Jvb2sgWFNMVCBzdHlsZXNoZWV0cyBpbiAkeHNsZGlyCitmb3IgdmVyc2lvbiBpbiBjdXJyZW50IDEuMzkgMS40MCAxLjQxIDEuNDIgMS40MyAxLjQ0IDEuNDUgMS40NiAxLjQ3IFwKKyAgICAgICAgICAgICAgIDEuNDggMS40OSAxLjUwCitkbworICAgIHhtbGNhdGFsb2cgLS1ub291dCAtLWFkZCAicmV3cml0ZVN5c3RlbSIgXAorCSJodHRwOi8vZG9jYm9vay5zb3VyY2Vmb3JnZS5uZXQvcmVsZWFzZS94c2wvJHZlcnNpb24iIFwKKwkiZmlsZTovLyR4c2xkaXIiICRDQVRBTE9HCisgICAgeG1sY2F0YWxvZyAtLW5vb3V0IC0tYWRkICJyZXdyaXRlVVJJIiBcCisJImh0dHA6Ly9kb2Nib29rLnNvdXJjZWZvcmdlLm5ldC9yZWxlYXNlL3hzbC8kdmVyc2lvbiIgXAorCSJmaWxlOi8vJHhzbGRpciIgJENBVEFMT0cKK2RvbmUKKworeG1sY2F0YWxvZyAtLW5vb3V0IC0tYWRkICJkZWxlZ2F0ZVN5c3RlbSIgXAorICAgICJodHRwOi8vZG9jYm9vay5zb3VyY2Vmb3JnZS5uZXQvcmVsZWFzZS94c2wvIiBcCisgICAgImZpbGU6Ly8kQ0FUQUxPRyIgJFJPT1RDQVRBTE9HCit4bWxjYXRhbG9nIC0tbm9vdXQgLS1hZGQgImRlbGVnYXRlVVJJIiBcCisgICAgImh0dHA6Ly9kb2Nib29rLnNvdXJjZWZvcmdlLm5ldC9yZWxlYXNlL3hzbC8iIFwKKyAgICAiZmlsZTovLyRDQVRBTE9HIiAkUk9PVENBVEFMT0cKKworIworIwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvY2F0YWxvZy5maWcgYi9saWJ4bWwyL2RvYy9jYXRhbG9nLmZpZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYWRiMzQ3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvY2F0YWxvZy5maWcKQEAgLTAsMCArMSw2MiBAQAorI0ZJRyAzLjIKK0xhbmRzY2FwZQorQ2VudGVyCitJbmNoZXMKK0xldHRlciAgCisxMDAuMDAKK1NpbmdsZQorLTIKKzEyMDAgMgorMSAyIDAgMSAwIDcgNTAgMCAtMSAwLjAwMCAxIDAuMDAwMCAyNTg3IDE4NzUgMTMxMiAzMDAgMTI3NSAxNTc1IDM5MDAgMjE3NQorMSAyIDAgMSAwIDcgNTAgMCAtMSAwLjAwMCAxIDAuMDAwMCAyNTg3IDM5MDAgMTMxMiAzMDAgMTI3NSAzNjAwIDM5MDAgNDIwMAorMSAyIDAgMSAwIDcgNTAgMCAtMSAwLjAwMCAxIDAuMDAwMCAxMDk4NyAxODc1IDEzMTIgMzAwIDk2NzUgMTU3NSAxMjMwMCAyMTc1CisxIDIgMCAxIDAgNyA1MCAwIC0xIDAuMDAwIDEgMC4wMDAwIDEwOTg3IDM5MDAgMTMxMiAzMDAgOTY3NSAzNjAwIDEyMzAwIDQyMDAKKzIgNCAwIDIgLTEgNyA1MCAwIC0xIDYuMDAwIDAgMCA3IDAgMCA1CisJIDQzNTAgNTkyNSA0MzUwIDQ2NTAgMzM3NSA0NjUwIDMzNzUgNTkyNSA0MzUwIDU5MjUKKzIgMSAwIDEgMCA3IDUwIDAgLTEgMC4wMDAgMCAwIC0xIDAgMCAyCisJIDEyNzUgMTg3NSAxMjc1IDM5MDAKKzIgMSAwIDEgMCA3IDUwIDAgLTEgMC4wMDAgMCAwIC0xIDAgMCAyCisJIDM5MDAgMTg3NSAzOTAwIDM5MDAKKzIgMyAwIDEgMCAxIDUwIDAgMjAgMC4wMDAgMCAwIDAgMCAwIDcKKwkgMTY4NSAzNjc1IDE5NDUgMzUyNSAxOTQ1IDMyMjUgMTY4NSAzMDc1IDE0MjUgMzIyNSAxNDI1IDM1MjUKKwkgMTY4NSAzNjc1CisyIDMgMCAxIDAgMSA1MCAwIDIwIDAuMDAwIDAgMCAwIDAgMCA3CisJIDIyNTAgMzAwMCAyNTEwIDI4NTAgMjUxMCAyNTUwIDIyNTAgMjQwMCAxOTkwIDI1NTAgMTk5MCAyODUwCisJIDIyNTAgMzAwMAorMiA0IDAgMSAwIDExIDUwIDAgMjAgMC4wMDAgMCAwIDcgMCAwIDUKKwkgMzM3NSAyNjI1IDMwMDAgMjYyNSAzMDAwIDIzMjUgMzM3NSAyMzI1IDMzNzUgMjYyNQorMiA0IDAgMSAwIDE3IDUwIDAgMjAgMC4wMDAgMCAwIDcgMCAwIDUKKwkgMzM3NSAzMDAwIDMwMDAgMzAwMCAzMDAwIDI3MDAgMzM3NSAyNzAwIDMzNzUgMzAwMAorMiA0IDAgMSAwIDEzIDUwIDAgMjAgMC4wMDAgMCAwIDcgMCAwIDUKKwkgMzgyNSAyODUwIDM0NTAgMjg1MCAzNDUwIDI1NTAgMzgyNSAyNTUwIDM4MjUgMjg1MAorMiAxIDAgMiA0IDcgNTAgMCAtMSA2LjAwMCAwIDAgLTEgMSAwIDIKKwkxIDAgMi4wMCAxMjAuMDAgMjQwLjAwCisJIDI1NTAgMjYyNSAzMDAwIDI0NzUKKzIgMSAwIDIgNCA3IDUwIDAgLTEgNi4wMDAgMCAwIC0xIDEgMCAyCisJMSAwIDIuMDAgMTIwLjAwIDI0MC4wMAorCSAzODExIDUwMDcgMTg3NSAzNjAwCisyIDEgMCAyIC0xIDcgNTAgMCAtMSAwLjAwMCAwIDAgLTEgMSAwIDQKKwkxIDAgMi4wMCAxMjAuMDAgMjQwLjAwCisJIDM4MjUgNTAyNSA1MjUwIDUwMjUgOTA3NSA0MTI1IDExMzI1IDI2MjUKKzIgMSAwIDEgMCA3IDUwIDAgLTEgMC4wMDAgMCAwIC0xIDAgMCAyCisJIDk2NzUgMTg3NSA5Njc1IDM5MDAKKzIgMSAwIDEgMCA3IDUwIDAgLTEgMC4wMDAgMCAwIC0xIDAgMCAyCisJIDEyMzAwIDE4NzUgMTIzMDAgMzkwMAorMiA0IDAgMSAwIDExIDUwIDAgMjAgMC4wMDAgMCAwIDcgMCAwIDUKKwkgMTE3NzUgMjYyNSAxMTQwMCAyNjI1IDExNDAwIDIzMjUgMTE3NzUgMjMyNSAxMTc3NSAyNjI1CisyIDQgMCAxIDAgMTcgNTAgMCAyMCAwLjAwMCAwIDAgNyAwIDAgNQorCSAxMTc3NSAzMDAwIDExNDAwIDMwMDAgMTE0MDAgMjcwMCAxMTc3NSAyNzAwIDExNzc1IDMwMDAKKzIgNCAwIDEgMCAxMyA1MCAwIDIwIDAuMDAwIDAgMCA3IDAgMCA1CisJIDEyMjI1IDI4NTAgMTE4NTAgMjg1MCAxMTg1MCAyNTUwIDEyMjI1IDI1NTAgMTIyMjUgMjg1MAorMyAzIDAgMSAtMSA3IDUwIDAgLTEgNC4wMDAgMCAwIDAgMTEKKwkgNzcyNSAyNjI1IDY0NTAgMjcwMCA1Nzc1IDM1MjUgNTcwMCA0MjAwIDU5MjUgNDgwMCA2NjAwIDU0NzUKKwkgNzM1MCA1NjI1IDgxMDAgNTQwMCA4NTUwIDQ3MjUgODYyNSAzOTc1IDg0MDAgMzA3NQorCSAtMS4wMDAgLTEuMDAwIC0xLjAwMCAtMS4wMDAgLTEuMDAwIC0xLjAwMCAtMS4wMDAgLTEuMDAwCisJIC0xLjAwMCAtMS4wMDAgLTEuMDAwCiszIDIgMCAyIDQgNyA1MCAwIC0xIDYuMDAwIDAgMSAwIDMKKwkxIDAgMi4wMCAxMjAuMDAgMjQwLjAwCisJIDE1NzUgMzE1MCAxNTc1IDI3NzUgMTk1MCAyNzAwCisJIDAuMDAwIC0xLjAwMCAwLjAwMAorNCAwIC0xIDUwIDAgMiAzNSAwLjAwMDAgNCAzNDUgMTc0MCA2Mzc1IDQyMDAgSW50ZXJuZXRcMDAxCis0IDAgMCA1MCAwIDAgMTggMC4wMDAwIDQgMjU1IDE3NzAgMjAyNSAzNDUwIC9ldGMveG1sL2NhdGFsb2dcMDAxCis0IDAgLTEgNTAgMCAwIDIyIDAuMDAwMCA0IDI1NSA4MTAgMzgyNSA0NTAwIFhNTFwwMDEKZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2NhdGFsb2cuZ2lmIGIvbGlieG1sMi9kb2MvY2F0YWxvZy5naWYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjJlMmJkMwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL2NhdGFsb2cuZ2lmCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2NhdGFsb2cuaHRtbCBiL2xpYnhtbDIvZG9jL2NhdGFsb2cuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZDViYmUxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvY2F0YWxvZy5odG1sCkBAIC0wLDAgKzEsMjYxIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPgorPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPjxoZWFkPjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPjxsaW5rIHJlbD0iU0hPUlRDVVQgSUNPTiIgaHJlZj0iL2Zhdmljb24uaWNvIiAvPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CitURCB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorQk9EWSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhOyBtYXJnaW4tdG9wOiAyZW07IG1hcmdpbi1sZWZ0OiAwZW07IG1hcmdpbi1yaWdodDogMGVtfQorSDEge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gyIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMyB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorQTpsaW5rLCBBOnZpc2l0ZWQsIEE6YWN0aXZlIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgfQorPC9zdHlsZT48dGl0bGU+Q2F0YWxvZyBzdXBwb3J0PC90aXRsZT48L2hlYWQ+PGJvZHkgYmdjb2xvcj0iIzhiNzc2NSIgdGV4dD0iIzAwMDAwMCIgbGluaz0iI2EwNjA2MCIgdmxpbms9IiMwMDAwMDAiPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSIxMDAlIiBjZWxscGFkZGluZz0iNSIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgd2lkdGg9IjEyMCI+PGEgaHJlZj0iaHR0cDovL3N3cGF0LmZmaWkub3JnLyI+PGltZyBzcmM9ImVwYXRlbnRzLnBuZyIgYWx0PSJBY3Rpb24gYWdhaW5zdCBzb2Z0d2FyZSBwYXRlbnRzIiAvPjwvYT48L3RkPjx0ZCB3aWR0aD0iMTgwIj48YSBocmVmPSJodHRwOi8vd3d3Lmdub21lLm9yZy8iPjxpbWcgc3JjPSJnbm9tZTIucG5nIiBhbHQ9Ikdub21lMiBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9TdGF0dXMiPjxpbWcgc3JjPSJ3M2MucG5nIiBhbHQ9IlczQyBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnJlZGhhdC5jb20vIj48aW1nIHNyYz0icmVkaGF0LmdpZiIgYWx0PSJSZWQgSGF0IExvZ28iIC8+PC9hPjxkaXYgYWxpZ249ImxlZnQiPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy8iPjxpbWcgc3JjPSJMaWJ4bWwyLUxvZ28tMTgweDE2OC5naWYiIGFsdD0iTWFkZSB3aXRoIExpYnhtbDIgTG9nbyIgLz48L2E+PC9kaXY+PC90ZD48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjkwJSIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiIGJnY29sb3I9IiNmZmZhY2QiPjx0cj48dGQgYWxpZ249ImNlbnRlciI+PGgxPlRoZSBYTUwgQyBwYXJzZXIgYW5kIHRvb2xraXQgb2YgR25vbWU8L2gxPjxoMj5DYXRhbG9nIHN1cHBvcnQ8L2gyPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI0IiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCB2YWxpZ249InRvcCIgd2lkdGg9IjIwMCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+TWFpbiBNZW51PC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjxmb3JtIGFjdGlvbj0ic2VhcmNoLnBocCIgZW5jdHlwZT0iYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIiBtZXRob2Q9ImdldCI+PGlucHV0IG5hbWU9InF1ZXJ5IiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IiIgLz48aW5wdXQgbmFtZT0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJTZWFyY2ggLi4uIiAvPjwvZm9ybT48dWw+PGxpPjxhIGhyZWY9ImluZGV4Lmh0bWwiPkhvbWU8L2E+PC9saT48bGk+PGEgaHJlZj0iaHRtbC9pbmRleC5odG1sIj5SZWZlcmVuY2UgTWFudWFsPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImludHJvLmh0bWwiPkludHJvZHVjdGlvbjwvYT48L2xpPjxsaT48YSBocmVmPSJGQVEuaHRtbCI+RkFRPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImRvY3MuaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPkRldmVsb3BlciBNZW51PC9hPjwvbGk+PGxpPjxhIGhyZWY9ImJ1Z3MuaHRtbCI+UmVwb3J0aW5nIGJ1Z3MgYW5kIGdldHRpbmcgaGVscDwvYT48L2xpPjxsaT48YSBocmVmPSJoZWxwLmh0bWwiPkhvdyB0byBoZWxwPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImRvd25sb2Fkcy5odG1sIj5Eb3dubG9hZHM8L2E+PC9saT48bGk+PGEgaHJlZj0ibmV3cy5odG1sIj5SZWxlYXNlczwvYT48L2xpPjxsaT48YSBocmVmPSJYTUxpbmZvLmh0bWwiPlhNTDwvYT48L2xpPjxsaT48YSBocmVmPSJYU0xULmh0bWwiPlhTTFQ8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1sZHRkLmh0bWwiPlZhbGlkYXRpb24gJmFtcDsgRFREczwvYT48L2xpPjxsaT48YSBocmVmPSJlbmNvZGluZy5odG1sIj5FbmNvZGluZ3Mgc3VwcG9ydDwvYT48L2xpPjxsaT48YSBocmVmPSJjYXRhbG9nLmh0bWwiPkNhdGFsb2cgc3VwcG9ydDwvYT48L2xpPjxsaT48YSBocmVmPSJuYW1lc3BhY2VzLmh0bWwiPk5hbWVzcGFjZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iY29udHJpYnMuaHRtbCI+Q29udHJpYnV0aW9uczwvYT48L2xpPjxsaT48YSBocmVmPSJleGFtcGxlcy9pbmRleC5odG1sIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+Q29kZSBFeGFtcGxlczwvYT48L2xpPjxsaT48YSBocmVmPSJodG1sL2luZGV4Lmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5BUEkgTWVudTwvYT48L2xpPjxsaT48YSBocmVmPSJndWlkZWxpbmVzLmh0bWwiPlhNTCBHdWlkZWxpbmVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkNoYW5nZUxvZy5odG1sIj5SZWNlbnQgQ2hhbmdlczwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPlJlbGF0ZWQgbGlua3M8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSJodHRwOi8vbWFpbC5nbm9tZS5vcmcvYXJjaGl2ZXMveG1sLyI+TWFpbCBhcmNoaXZlPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9YU0xULyI+WFNMVCBsaWJ4c2x0PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9waGQuY3MudW5pYm8uaXQvZ2RvbWUyLyI+RE9NIGdkb21lMjwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmFsZWtzZXkuY29tL3htbHNlYy8iPlhNTC1EU2lnIHhtbHNlYzwvYT48L2xpPjxsaT48YSBocmVmPSJmdHA6Ly94bWxzb2Z0Lm9yZy8iPkZUUDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnpsYXRrb3ZpYy5jb20vcHJvamVjdHMvbGlieG1sLyI+V2luZG93cyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vb3BlbmNzdy5vcmcvcGFja2FnZXMvbGlieG1sMiI+U29sYXJpcyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmV4cGxhaW4uY29tLmF1L29zcy9saWJ4bWwyeHNsdC5odG1sIj5NYWNPc1ggYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2x4bWwuZGUvIj5seG1sIFB5dGhvbiBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vY3Bhbi51d2lubmlwZWcuY2EvZGlzdC9YTUwtTGliWE1MIj5QZXJsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWxwbHVzcGx1cy5zb3VyY2Vmb3JnZS5uZXQvIj5DKysgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56ZW5kLmNvbS9waHA1L2FydGljbGVzL3BocDUteG1scGhwLnBocCNIZWFkaW5nNCI+UEhQIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbGlieG1sMi1wYXMvIj5QYXNjYWwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbC5ydWJ5Zm9yZ2Uub3JnLyI+UnVieSBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vdGNseG1sLnNvdXJjZWZvcmdlLm5ldC8iPlRjbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2J1Z2xpc3QuY2dpP3Byb2R1Y3Q9bGlieG1sMiI+QnVnIFRyYWNrZXI8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48cD5UYWJsZSBvZiBDb250ZW50OjwvcD48b2w+CisgIDxsaT48YSBocmVmPSJHZW5lcmFsMiI+R2VuZXJhbCBvdmVydmlldzwvYT48L2xpPgorICA8bGk+PGEgaHJlZj0iI2RlZmluaXRpb24iPlRoZSBkZWZpbml0aW9uPC9hPjwvbGk+CisgIDxsaT48YSBocmVmPSIjU2ltcGxlIj5Vc2luZyBjYXRhbG9nczwvYT48L2xpPgorICA8bGk+PGEgaHJlZj0iI1NvbWUiPlNvbWUgZXhhbXBsZXM8L2E+PC9saT4KKyAgPGxpPjxhIGhyZWY9IiNyZWZlcmVuY2UiPkhvdyB0byB0dW5lICBjYXRhbG9nIHVzYWdlPC9hPjwvbGk+CisgIDxsaT48YSBocmVmPSIjdmFsaWRhdGUiPkhvdyB0byBkZWJ1ZyBjYXRhbG9nIHByb2Nlc3Npbmc8L2E+PC9saT4KKyAgPGxpPjxhIGhyZWY9IiNEZWNsYXJpbmciPkhvdyB0byBjcmVhdGUgYW5kIG1haW50YWluIGNhdGFsb2dzPC9hPjwvbGk+CisgIDxsaT48YSBocmVmPSIjaW1wbGVtZW50byI+VGhlIGltcGxlbWVudG9yIGNvcm5lciBxdWljayByZXZpZXcgb2YgdGhlCisgIEFQSTwvYT48L2xpPgorICA8bGk+PGEgaHJlZj0iI090aGVyIj5PdGhlciByZXNvdXJjZXM8L2E+PC9saT4KKzwvb2w+PGgzPjxhIG5hbWU9IkdlbmVyYWwyIiBpZD0iR2VuZXJhbDIiPkdlbmVyYWwgb3ZlcnZpZXc8L2E+PC9oMz48cD5XaGF0IGlzIGEgY2F0YWxvZz8gQmFzaWNhbGx5IGl0J3MgYSBsb29rdXAgbWVjaGFuaXNtIHVzZWQgd2hlbiBhbiBlbnRpdHkKKyhhIGZpbGUgb3IgYSByZW1vdGUgcmVzb3VyY2UpIHJlZmVyZW5jZXMgYW5vdGhlciBlbnRpdHkuIFRoZSBjYXRhbG9nIGxvb2t1cAoraXMgaW5zZXJ0ZWQgYmV0d2VlbiB0aGUgbW9tZW50IHRoZSByZWZlcmVuY2UgaXMgcmVjb2duaXplZCBieSB0aGUgc29mdHdhcmUKKyhYTUwgcGFyc2VyLCBzdHlsZXNoZWV0IHByb2Nlc3NpbmcsIG9yIGV2ZW4gaW1hZ2VzIHJlZmVyZW5jZWQgZm9yIGluY2x1c2lvbgoraW4gYSByZW5kZXJpbmcpIGFuZCB0aGUgdGltZSB3aGVyZSBsb2FkaW5nIHRoYXQgcmVzb3VyY2UgaXMgYWN0dWFsbHkKK3N0YXJ0ZWQuPC9wPjxwPkl0IGlzIGJhc2ljYWxseSB1c2VkIGZvciAzIHRoaW5nczo8L3A+PHVsPgorICA8bGk+bWFwcGluZyBmcm9tICJsb2dpY2FsIiBuYW1lcywgdGhlIHB1YmxpYyBpZGVudGlmaWVycyBhbmQgYSBtb3JlCisgICAgY29uY3JldGUgbmFtZSB1c2FibGUgZm9yIGRvd25sb2FkIChhbmQgVVJJKS4gRm9yIGV4YW1wbGUgaXQgY2FuIGFzc29jaWF0ZQorICAgIHRoZSBsb2dpY2FsIG5hbWUKKyAgICA8cD4iLS8vT0FTSVMvL0RURCBEb2NCb29rIFhNTCBWNC4xLjIvL0VOIjwvcD4KKyAgICA8cD5vZiB0aGUgRG9jQm9vayA0LjEuMiBYTUwgRFREIHdpdGggdGhlIGFjdHVhbCBVUkwgd2hlcmUgaXQgY2FuIGJlCisgICAgZG93bmxvYWRlZDwvcD4KKyAgICA8cD5odHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL2RvY2Jvb2sveG1sLzQuMS4yL2RvY2Jvb2t4LmR0ZDwvcD4KKyAgPC9saT4KKyAgPGxpPnJlbWFwcGluZyBmcm9tIGEgZ2l2ZW4gVVJMIHRvIGFub3RoZXIgb25lLCBsaWtlIGFuIEhUVFAgaW5kaXJlY3Rpb24KKyAgICBzYXlpbmcgdGhhdAorICAgIDxwPiJodHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL2NvbW1pdHRlcy90ci54c2wiPC9wPgorICAgIDxwPnNob3VsZCByZWFsbHkgYmUgbG9va2VkIGF0PC9wPgorICAgIDxwPiJodHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL2NvbW1pdHRlcy9lbnRpdHkvc3R5bGVzaGVldHMvYmFzZS90ci54c2wiPC9wPgorICA8L2xpPgorICA8bGk+cHJvdmlkaW5nIGEgbG9jYWwgY2FjaGUgbWVjaGFuaXNtIGFsbG93aW5nIHRvIGxvYWQgdGhlIGVudGl0aWVzCisgICAgYXNzb2NpYXRlZCB0byBwdWJsaWMgaWRlbnRpZmllcnMgb3IgcmVtb3RlIHJlc291cmNlcywgdGhpcyBpcyBhIHJlYWxseQorICAgIGltcG9ydGFudCBmZWF0dXJlIGZvciBhbnkgc2lnbmlmaWNhbnQgZGVwbG95bWVudCBvZiBYTUwgb3IgU0dNTCBzaW5jZSBpdAorICAgIGFsbG93cyB0byBhdm9pZCB0aGUgYWxlYXMgYW5kIGRlbGF5cyBhc3NvY2lhdGVkIHRvIGZldGNoaW5nIHJlbW90ZQorICAgIHJlc291cmNlcy48L2xpPgorPC91bD48aDM+PGEgbmFtZT0iZGVmaW5pdGlvbiIgaWQ9ImRlZmluaXRpb24iPlRoZSBkZWZpbml0aW9uczwvYT48L2gzPjxwPkxpYnhtbCwgYXMgb2YgMi40LjMgaW1wbGVtZW50cyAyIGtpbmQgb2YgY2F0YWxvZ3M6PC9wPjx1bD4KKyAgPGxpPnRoZSBvbGRlciBTR01MIGNhdGFsb2dzLCB0aGUgb2ZmaWNpYWwgc3BlYyBpcyAgU0dNTCBPcGVuIFRlY2huaWNhbAorICAgIFJlc29sdXRpb24gVFI5NDAxOjE5OTcsIGJ1dCBpcyBiZXR0ZXIgdW5kZXJzdG9vZCBieSByZWFkaW5nIDxhIGhyZWY9Imh0dHA6Ly93d3cuamNsYXJrLmNvbS9zcC9jYXRhbG9nLmh0bSI+dGhlIFNQIENhdGFsb2cgcGFnZTwvYT4gZnJvbQorICAgIEphbWVzIENsYXJrLiBUaGlzIGlzIHJlbGF0aXZlbHkgb2xkIGFuZCBub3QgdGhlIHByZWZlcnJlZCBtb2RlIG9mCisgICAgb3BlcmF0aW9uIG9mIGxpYnhtbC48L2xpPgorICA8bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9jb21taXR0ZWVzL2VudGl0eS9zcGVjLmh0bWwiPlhNTAorICAgIENhdGFsb2dzPC9hPiBpcyBmYXIgbW9yZSBmbGV4aWJsZSwgbW9yZSByZWNlbnQsIHVzZXMgYW4gWE1MIHN5bnRheCBhbmQKKyAgICBzaG91bGQgc2NhbGUgcXVpdGUgYmV0dGVyLiBUaGlzIGlzIHRoZSBkZWZhdWx0IG9wdGlvbiBvZiBsaWJ4bWwuPC9saT4KKzwvdWw+PHA+PC9wPjxoMz48YSBuYW1lPSJTaW1wbGUiIGlkPSJTaW1wbGUiPlVzaW5nIGNhdGFsb2c8L2E+PC9oMz48cD5JbiBhIG5vcm1hbCBlbnZpcm9ubWVudCBsaWJ4bWwyIHdpbGwgYnkgZGVmYXVsdCBjaGVjayB0aGUgcHJlc2VuY2Ugb2YgYQorY2F0YWxvZyBpbiAvZXRjL3htbC9jYXRhbG9nLCBhbmQgYXNzdW1pbmcgaXQgaGFzIGJlZW4gY29ycmVjdGx5IHBvcHVsYXRlZCwKK3RoZSBwcm9jZXNzaW5nIGlzIGNvbXBsZXRlbHkgdHJhbnNwYXJlbnQgdG8gdGhlIGRvY3VtZW50IHVzZXIuIFRvIHRha2UgYQorY29uY3JldGUgZXhhbXBsZSwgc3VwcG9zZSB5b3UgYXJlIGF1dGhvcmluZyBhIERvY0Jvb2sgZG9jdW1lbnQsIHRoaXMgb25lCitzdGFydHMgd2l0aCB0aGUgZm9sbG93aW5nIERPQ1RZUEUgZGVmaW5pdGlvbjo8L3A+PHByZT4mbHQ7P3htbCB2ZXJzaW9uPScxLjAnPyZndDsKKyZsdDshRE9DVFlQRSBib29rIFBVQkxJQyAiLS8vTm9ybWFuIFdhbHNoLy9EVEQgRG9jQmsgWE1MIFYzLjEuNC8vRU4iCisgICAgICAgICAgImh0dHA6Ly9ud2Fsc2guY29tL2RvY2Jvb2sveG1sLzMuMS40L2RiM3htbC5kdGQiJmd0OzwvcHJlPjxwPldoZW4gdmFsaWRhdGluZyB0aGUgZG9jdW1lbnQgd2l0aCBsaWJ4bWwsIHRoZSBjYXRhbG9nIHdpbGwgYmUKK2F1dG9tYXRpY2FsbHkgY29uc3VsdGVkIHRvIGxvb2t1cCB0aGUgcHVibGljIGlkZW50aWZpZXIgIi0vL05vcm1hbiBXYWxzaC8vRFRECitEb2NCayBYTUwgVjMuMS40Ly9FTiIgYW5kIHRoZSBzeXN0ZW0gaWRlbnRpZmllcgorImh0dHA6Ly9ud2Fsc2guY29tL2RvY2Jvb2sveG1sLzMuMS40L2RiM3htbC5kdGQiLCBhbmQgaWYgdGhlc2UgZW50aXRpZXMgaGF2ZQorYmVlbiBpbnN0YWxsZWQgb24geW91ciBzeXN0ZW0gYW5kIHRoZSBjYXRhbG9ncyBhY3R1YWxseSBwb2ludCB0byB0aGVtLCBsaWJ4bWwKK3dpbGwgZmV0Y2ggdGhlbSBmcm9tIHRoZSBsb2NhbCBkaXNrLjwvcD48cCBzdHlsZT0iZm9udC1zaXplOiAxMHB0Ij48c3Ryb25nPk5vdGU8L3N0cm9uZz46IFJlYWxseSBkb24ndCB1c2UgdGhpcworRE9DVFlQRSBleGFtcGxlIGl0J3MgYSByZWFsbHkgb2xkIHZlcnNpb24sIGJ1dCBpcyBmaW5lIGFzIGFuIGV4YW1wbGUuPC9wPjxwPkxpYnhtbDIgd2lsbCBjaGVjayB0aGUgY2F0YWxvZyBlYWNoIHRpbWUgdGhhdCBpdCBpcyByZXF1ZXN0ZWQgdG8gbG9hZCBhbgorZW50aXR5LCB0aGlzIGluY2x1ZGVzIERURCwgZXh0ZXJuYWwgcGFyc2VkIGVudGl0aWVzLCBzdHlsZXNoZWV0cywgZXRjIC4uLiBJZgoreW91ciBzeXN0ZW0gaXMgY29ycmVjdGx5IGNvbmZpZ3VyZWQgYWxsIHRoZSBhdXRob3JpbmcgcGhhc2UgYW5kIHByb2Nlc3NpbmcKK3Nob3VsZCB1c2Ugb25seSBsb2NhbCBmaWxlcywgZXZlbiBpZiB5b3VyIGRvY3VtZW50IHN0YXlzIHBvcnRhYmxlIGJlY2F1c2UgaXQKK3VzZXMgdGhlIGNhbm9uaWNhbCBwdWJsaWMgYW5kIHN5c3RlbSBJRCwgcmVmZXJlbmNpbmcgdGhlIHJlbW90ZSBkb2N1bWVudC48L3A+PGgzPjxhIG5hbWU9IlNvbWUiIGlkPSJTb21lIj5Tb21lIGV4YW1wbGVzOjwvYT48L2gzPjxwPkhlcmUgaXMgYSBjb3VwbGUgb2YgZnJhZ21lbnRzIGZyb20gWE1MIENhdGFsb2dzIHVzZWQgaW4gbGlieG1sMiBlYXJseQorcmVncmVzc2lvbiB0ZXN0cyBpbiA8Y29kZT50ZXN0L2NhdGFsb2dzPC9jb2RlPiA6PC9wPjxwcmU+Jmx0Oz94bWwgdmVyc2lvbj0iMS4wIj8mZ3Q7CismbHQ7IURPQ1RZUEUgY2F0YWxvZyBQVUJMSUMgCisgICAiLS8vT0FTSVMvL0RURCBFbnRpdHkgUmVzb2x1dGlvbiBYTUwgQ2F0YWxvZyBWMS4wLy9FTiIKKyAgICJodHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL2NvbW1pdHRlZXMvZW50aXR5L3JlbGVhc2UvMS4wL2NhdGFsb2cuZHRkIiZndDsKKyZsdDtjYXRhbG9nIHhtbG5zPSJ1cm46b2FzaXM6bmFtZXM6dGM6ZW50aXR5OnhtbG5zOnhtbDpjYXRhbG9nIiZndDsKKyAgJmx0O3B1YmxpYyBwdWJsaWNJZD0iLS8vT0FTSVMvL0RURCBEb2NCb29rIFhNTCBWNC4xLjIvL0VOIgorICAgdXJpPSJodHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL2RvY2Jvb2sveG1sLzQuMS4yL2RvY2Jvb2t4LmR0ZCIvJmd0OworLi4uPC9wcmU+PHA+VGhpcyBpcyB0aGUgYmVnaW5uaW5nIG9mIGEgY2F0YWxvZyBmb3IgRG9jQm9vayA0LjEuMiwgWE1MIENhdGFsb2dzIGFyZQord3JpdHRlbiBpbiBYTUwsICB0aGVyZSBpcyBhIHNwZWNpZmljIG5hbWVzcGFjZSBmb3IgY2F0YWxvZyBlbGVtZW50cworInVybjpvYXNpczpuYW1lczp0YzplbnRpdHk6eG1sbnM6eG1sOmNhdGFsb2ciLiBUaGUgZmlyc3QgZW50cnkgaW4gdGhpcworY2F0YWxvZyBpcyBhIDxjb2RlPnB1YmxpYzwvY29kZT4gbWFwcGluZyBpdCBhbGxvd3MgdG8gYXNzb2NpYXRlIGEgUHVibGljCitJZGVudGlmaWVyIHdpdGggYW4gVVJJLjwvcD48cHJlPi4uLgorICAgICZsdDtyZXdyaXRlU3lzdGVtIHN5c3RlbUlkU3RhcnRTdHJpbmc9Imh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvZG9jYm9vay8iCisgICAgICAgICAgICAgICAgICAgcmV3cml0ZVByZWZpeD0iZmlsZTovLy91c3Ivc2hhcmUveG1sL2RvY2Jvb2svIi8mZ3Q7CisuLi48L3ByZT48cD5BIDxjb2RlPnJld3JpdGVTeXN0ZW08L2NvZGU+IGlzIGEgdmVyeSBwb3dlcmZ1bCBpbnN0cnVjdGlvbiwgaXQgc2F5cyB0aGF0CithbnkgVVJJIHN0YXJ0aW5nIHdpdGggYSBnaXZlbiBwcmVmaXggc2hvdWxkIGJlIGxvb2tlZCBhdCBhbm90aGVyICBVUkkKK2NvbnN0cnVjdGVkIGJ5IHJlcGxhY2luZyB0aGUgcHJlZml4IHdpdGggYW4gbmV3IG9uZS4gSW4gZWZmZWN0IHRoaXMgYWN0cyBsaWtlCithIGNhY2hlIHN5c3RlbSBmb3IgYSBmdWxsIGFyZWEgb2YgdGhlIFdlYi4gSW4gcHJhY3RpY2UgaXQgaXMgZXh0cmVtZWx5IHVzZWZ1bAord2l0aCBhIGZpbGUgcHJlZml4IGlmIHlvdSBoYXZlIGluc3RhbGxlZCBhIGNvcHkgb2YgdGhvc2UgcmVzb3VyY2VzIG9uIHlvdXIKK2xvY2FsIHN5c3RlbS48L3A+PHByZT4uLi4KKyZsdDtkZWxlZ2F0ZVB1YmxpYyBwdWJsaWNJZFN0YXJ0U3RyaW5nPSItLy9PQVNJUy8vRFREIFhNTCBDYXRhbG9nIC8vIgorICAgICAgICAgICAgICAgIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rLnhtbCIvJmd0OworJmx0O2RlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL09BU0lTLy9FTlRJVElFUyBEb2NCb29rIFhNTCIKKyAgICAgICAgICAgICAgICBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay54bWwiLyZndDsKKyZsdDtkZWxlZ2F0ZVB1YmxpYyBwdWJsaWNJZFN0YXJ0U3RyaW5nPSItLy9PQVNJUy8vRFREIERvY0Jvb2sgWE1MIgorICAgICAgICAgICAgICAgIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rLnhtbCIvJmd0OworJmx0O2RlbGVnYXRlU3lzdGVtIHN5c3RlbUlkU3RhcnRTdHJpbmc9Imh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvZG9jYm9vay8iCisgICAgICAgICAgICAgICAgY2F0YWxvZz0iZmlsZTovLy91c3Ivc2hhcmUveG1sL2RvY2Jvb2sueG1sIi8mZ3Q7CismbHQ7ZGVsZWdhdGVVUkkgdXJpU3RhcnRTdHJpbmc9Imh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvZG9jYm9vay8iCisgICAgICAgICAgICAgICAgY2F0YWxvZz0iZmlsZTovLy91c3Ivc2hhcmUveG1sL2RvY2Jvb2sueG1sIi8mZ3Q7CisuLi48L3ByZT48cD5EZWxlZ2F0aW9uIGlzIHRoZSBjb3JlIGZlYXR1cmVzIHdoaWNoIGFsbG93cyB0byBidWlsZCBhIHRyZWUgb2YgY2F0YWxvZ3MsCitlYXNpZXIgdG8gbWFpbnRhaW4gdGhhbiBhIHNpbmdsZSBjYXRhbG9nLCBiYXNlZCBvbiBQdWJsaWMgSWRlbnRpZmllciwgU3lzdGVtCitJZGVudGlmaWVyIG9yIFVSSSBwcmVmaXhlcyBpdCBpbnN0cnVjdHMgdGhlIGNhdGFsb2cgc29mdHdhcmUgdG8gbG9vayB1cAorZW50cmllcyBpbiBhbm90aGVyIHJlc291cmNlLiBUaGlzIGZlYXR1cmUgYWxsb3cgdG8gYnVpbGQgaGllcmFyY2hpZXMgb2YKK2NhdGFsb2dzLCB0aGUgc2V0IG9mIGVudHJpZXMgcHJlc2VudGVkIHNob3VsZCBiZSBzdWZmaWNpZW50IHRvIHJlZGlyZWN0IHRoZQorcmVzb2x1dGlvbiBvZiBhbGwgRG9jQm9vayByZWZlcmVuY2VzIHRvIHRoZSBzcGVjaWZpYyBjYXRhbG9nIGluCis8Y29kZT4vdXNyL3NoYXJlL3htbC9kb2Nib29rLnhtbDwvY29kZT4gdGhpcyBvbmUgaW4gdHVybiBjb3VsZCBkZWxlZ2F0ZSBhbGwKK3JlZmVyZW5jZXMgZm9yIERvY0Jvb2sgNC4yLjEgdG8gYSBzcGVjaWZpYyBjYXRhbG9nIGluc3RhbGxlZCBhdCB0aGUgc2FtZSB0aW1lCithcyB0aGUgRG9jQm9vayByZXNvdXJjZXMgb24gdGhlIGxvY2FsIG1hY2hpbmUuPC9wPjxoMz48YSBuYW1lPSJyZWZlcmVuY2UiIGlkPSJyZWZlcmVuY2UiPkhvdyB0byB0dW5lIGNhdGFsb2cgdXNhZ2U6PC9hPjwvaDM+PHA+VGhlIHVzZXIgY2FuIGNoYW5nZSB0aGUgZGVmYXVsdCBjYXRhbG9nIGJlaGF2aW91ciBieSByZWRpcmVjdGluZyBxdWVyaWVzCit0byBpdHMgb3duIHNldCBvZiBjYXRhbG9ncywgdGhpcyBjYW4gYmUgZG9uZSBieSBzZXR0aW5nIHRoZQorPGNvZGU+WE1MX0NBVEFMT0dfRklMRVM8L2NvZGU+IGVudmlyb25tZW50IHZhcmlhYmxlIHRvIGEgbGlzdCBvZiBjYXRhbG9ncywgYW4KK2VtcHR5IG9uZSBzaG91bGQgZGVhY3RpdmF0ZSBsb2FkaW5nIHRoZSBkZWZhdWx0IDxjb2RlPi9ldGMveG1sL2NhdGFsb2c8L2NvZGU+CitkZWZhdWx0IGNhdGFsb2c8L3A+PGgzPjxhIG5hbWU9InZhbGlkYXRlIiBpZD0idmFsaWRhdGUiPkhvdyB0byBkZWJ1ZyBjYXRhbG9nIHByb2Nlc3Npbmc6PC9hPjwvaDM+PHA+U2V0dGluZyB1cCB0aGUgPGNvZGU+WE1MX0RFQlVHX0NBVEFMT0c8L2NvZGU+IGVudmlyb25tZW50IHZhcmlhYmxlIHdpbGwKK21ha2UgbGlieG1sMiBvdXRwdXQgZGVidWdnaW5nIGluZm9ybWF0aW9uIGZvciBlYWNoIGNhdGFsb2cgb3BlcmF0aW9ucywgZm9yCitleGFtcGxlOjwvcD48cHJlPm9yY2hpczp+L1hNTCAtJmd0OyB4bWxsaW50IC0tbWVtb3J5IC0tbm9vdXQgdGVzdC9lbnQyCit3YXJuaW5nOiBmYWlsZWQgdG8gbG9hZCBleHRlcm5hbCBlbnRpdHkgInRpdGxlLnhtbCIKK29yY2hpczp+L1hNTCAtJmd0OyBleHBvcnQgWE1MX0RFQlVHX0NBVEFMT0c9CitvcmNoaXM6fi9YTUwgLSZndDsgeG1sbGludCAtLW1lbW9yeSAtLW5vb3V0IHRlc3QvZW50MgorRmFpbGVkIHRvIHBhcnNlIGNhdGFsb2cgL2V0Yy94bWwvY2F0YWxvZworRmFpbGVkIHRvIHBhcnNlIGNhdGFsb2cgL2V0Yy94bWwvY2F0YWxvZword2FybmluZzogZmFpbGVkIHRvIGxvYWQgZXh0ZXJuYWwgZW50aXR5ICJ0aXRsZS54bWwiCitDYXRhbG9ncyBjbGVhbnVwCitvcmNoaXM6fi9YTUwgLSZndDsgPC9wcmU+PHA+VGhlIHRlc3QvZW50MiByZWZlcmVuY2VzIGFuIGVudGl0eSwgcnVubmluZyB0aGUgcGFyc2VyIGZyb20gbWVtb3J5IG1ha2VzCit0aGUgYmFzZSBVUkkgdW5hdmFpbGFibGUgYW5kIHRoZSB0aGUgInRpdGxlLnhtbCIgZW50aXR5IGNhbm5vdCBiZSBsb2FkZWQuCitTZXR0aW5nIHVwIHRoZSBkZWJ1ZyBlbnZpcm9ubWVudCB2YXJpYWJsZSBhbGxvd3MgdG8gZGV0ZWN0IHRoYXQgYW4gYXR0ZW1wdCBpcworbWFkZSB0byBsb2FkIHRoZSA8Y29kZT4vZXRjL3htbC9jYXRhbG9nPC9jb2RlPiBidXQgc2luY2UgaXQncyBub3QgcHJlc2VudCB0aGUKK3Jlc29sdXRpb24gZmFpbHMuPC9wPjxwPkJ1dCB0aGUgbW9zdCBhZHZhbmNlZCB3YXkgdG8gZGVidWcgWE1MIGNhdGFsb2cgcHJvY2Vzc2luZyBpcyB0byB1c2UgdGhlCis8c3Ryb25nPnhtbGNhdGFsb2c8L3N0cm9uZz4gY29tbWFuZCBzaGlwcGVkIHdpdGggbGlieG1sMiwgaXQgYWxsb3dzIHRvIGxvYWQKK2NhdGFsb2dzIGFuZCBtYWtlIHJlc29sdXRpb24gcXVlcmllcyB0byBzZWUgd2hhdCBpcyBnb2luZyBvbi4gVGhpcyBpcyBhbHNvCit1c2VkIGZvciB0aGUgcmVncmVzc2lvbiB0ZXN0czo8L3A+PHByZT5vcmNoaXM6fi9YTUwgLSZndDsgLi94bWxjYXRhbG9nIHRlc3QvY2F0YWxvZ3MvZG9jYm9vay54bWwgXAorICAgICAgICAgICAgICAgICAgICItLy9PQVNJUy8vRFREIERvY0Jvb2sgWE1MIFY0LjEuMi8vRU4iCitodHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL2RvY2Jvb2sveG1sLzQuMS4yL2RvY2Jvb2t4LmR0ZAorb3JjaGlzOn4vWE1MIC0mZ3Q7IDwvcHJlPjxwPkZvciBkZWJ1Z2dpbmcgd2hhdCBpcyBnb2luZyBvbiwgYWRkaW5nIG9uZSAtdiBmbGFncyBpbmNyZWFzZSB0aGUgdmVyYm9zaXR5CitsZXZlbCB0byBpbmRpY2F0ZSB0aGUgcHJvY2Vzc2luZyBkb25lIChhZGRpbmcgYSBzZWNvbmQgZmxhZyBhbHNvIGluZGljYXRlCit3aGF0IGVsZW1lbnRzIGFyZSByZWNvZ25pemVkIGF0IHBhcnNpbmcpOjwvcD48cHJlPm9yY2hpczp+L1hNTCAtJmd0OyAuL3htbGNhdGFsb2cgLXYgdGVzdC9jYXRhbG9ncy9kb2Nib29rLnhtbCBcCisgICAgICAgICAgICAgICAgICAgIi0vL09BU0lTLy9EVEQgRG9jQm9vayBYTUwgVjQuMS4yLy9FTiIKK1BhcnNpbmcgY2F0YWxvZyB0ZXN0L2NhdGFsb2dzL2RvY2Jvb2sueG1sJ3MgY29udGVudAorRm91bmQgcHVibGljIG1hdGNoIC0vL09BU0lTLy9EVEQgRG9jQm9vayBYTUwgVjQuMS4yLy9FTgoraHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9kb2Nib29rL3htbC80LjEuMi9kb2Nib29reC5kdGQKK0NhdGFsb2dzIGNsZWFudXAKK29yY2hpczp+L1hNTCAtJmd0OyA8L3ByZT48cD5BIHNoZWxsIGludGVyZmFjZSBpcyBhbHNvIGF2YWlsYWJsZSB0byBkZWJ1ZyBhbmQgcHJvY2VzcyBtdWx0aXBsZSBxdWVyaWVzCisoYW5kIGZvciByZWdyZXNzaW9uIHRlc3RzKTo8L3A+PHByZT5vcmNoaXM6fi9YTUwgLSZndDsgLi94bWxjYXRhbG9nIC1zaGVsbCB0ZXN0L2NhdGFsb2dzL2RvY2Jvb2sueG1sIFwKKyAgICAgICAgICAgICAgICAgICAiLS8vT0FTSVMvL0RURCBEb2NCb29rIFhNTCBWNC4xLjIvL0VOIgorJmd0OyBoZWxwICAgCitDb21tYW5kcyBhdmFpbGFibGU6CitwdWJsaWMgUHVibGljSUQ6IG1ha2UgYSBQVUJMSUMgaWRlbnRpZmllciBsb29rdXAKK3N5c3RlbSBTeXN0ZW1JRDogbWFrZSBhIFNZU1RFTSBpZGVudGlmaWVyIGxvb2t1cAorcmVzb2x2ZSBQdWJsaWNJRCBTeXN0ZW1JRDogZG8gYSBmdWxsIHJlc29sdmVyIGxvb2t1cAorYWRkICd0eXBlJyAnb3JpZycgJ3JlcGxhY2UnIDogYWRkIGFuIGVudHJ5CitkZWwgJ3ZhbHVlcycgOiByZW1vdmUgdmFsdWVzCitkdW1wOiBwcmludCB0aGUgY3VycmVudCBjYXRhbG9nIHN0YXRlCitkZWJ1ZzogaW5jcmVhc2UgdGhlIHZlcmJvc2l0eSBsZXZlbAorcXVpZXQ6IGRlY3JlYXNlIHRoZSB2ZXJib3NpdHkgbGV2ZWwKK2V4aXQ6ICBxdWl0IHRoZSBzaGVsbAorJmd0OyBwdWJsaWMgIi0vL09BU0lTLy9EVEQgRG9jQm9vayBYTUwgVjQuMS4yLy9FTiIKK2h0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvZG9jYm9vay94bWwvNC4xLjIvZG9jYm9va3guZHRkCismZ3Q7IHF1aXQKK29yY2hpczp+L1hNTCAtJmd0OyA8L3ByZT48cD5UaGlzIHNob3VsZCBiZSBzdWZmaWNpZW50IGZvciBtb3N0IGRlYnVnZ2luZyBwdXJwb3NlLCB0aGlzIHdhcyBhY3R1YWxseQordXNlZCBoZWF2aWx5IHRvIGRlYnVnIHRoZSBYTUwgQ2F0YWxvZyBpbXBsZW1lbnRhdGlvbiBpdHNlbGYuPC9wPjxoMz48YSBuYW1lPSJEZWNsYXJpbmciIGlkPSJEZWNsYXJpbmciPkhvdyB0byBjcmVhdGUgYW5kIG1haW50YWluPC9hPiBjYXRhbG9nczo8L2gzPjxwPkJhc2ljYWxseSBYTUwgQ2F0YWxvZ3MgYXJlIFhNTCBmaWxlcywgeW91IGNhbiBlaXRoZXIgdXNlIFhNTCB0b29scyB0bworbWFuYWdlIHRoZW0gb3IgdXNlICA8c3Ryb25nPnhtbGNhdGFsb2c8L3N0cm9uZz4gZm9yIHRoaXMuIFRoZSBiYXNpYyBzdGVwIGlzCit0byBjcmVhdGUgYSBjYXRhbG9nIHRoZSAtY3JlYXRlIG9wdGlvbiBwcm92aWRlIHRoaXMgZmFjaWxpdHk6PC9wPjxwcmU+b3JjaGlzOn4vWE1MIC0mZ3Q7IC4veG1sY2F0YWxvZyAtLWNyZWF0ZSB0c3QueG1sCismbHQ7P3htbCB2ZXJzaW9uPSIxLjAiPyZndDsKKyZsdDshRE9DVFlQRSBjYXRhbG9nIFBVQkxJQyAiLS8vT0FTSVMvL0RURCBFbnRpdHkgUmVzb2x1dGlvbiBYTUwgQ2F0YWxvZyBWMS4wLy9FTiIKKyAgICAgICAgICJodHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL2NvbW1pdHRlZXMvZW50aXR5L3JlbGVhc2UvMS4wL2NhdGFsb2cuZHRkIiZndDsKKyZsdDtjYXRhbG9nIHhtbG5zPSJ1cm46b2FzaXM6bmFtZXM6dGM6ZW50aXR5OnhtbG5zOnhtbDpjYXRhbG9nIi8mZ3Q7CitvcmNoaXM6fi9YTUwgLSZndDsgPC9wcmU+PHA+QnkgZGVmYXVsdCB4bWxjYXRhbG9nIGRvZXMgbm90IG92ZXJ3cml0ZSB0aGUgb3JpZ2luYWwgY2F0YWxvZyBhbmQgc2F2ZSB0aGUKK3Jlc3VsdCBvbiB0aGUgc3RhbmRhcmQgb3V0cHV0LCB0aGlzIGNhbiBiZSBvdmVycmlkZGVuIHVzaW5nIHRoZSAtbm9vdXQKK29wdGlvbi4gVGhlIDxjb2RlPi1hZGQ8L2NvZGU+IGNvbW1hbmQgYWxsb3dzIHRvIGFkZCBlbnRyaWVzIGluIHRoZQorY2F0YWxvZzo8L3A+PHByZT5vcmNoaXM6fi9YTUwgLSZndDsgLi94bWxjYXRhbG9nIC0tbm9vdXQgLS1jcmVhdGUgLS1hZGQgInB1YmxpYyIgXAorICAiLS8vT0FTSVMvL0RURCBEb2NCb29rIFhNTCBWNC4xLjIvL0VOIiBcCisgIGh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvZG9jYm9vay94bWwvNC4xLjIvZG9jYm9va3guZHRkIHRzdC54bWwKK29yY2hpczp+L1hNTCAtJmd0OyBjYXQgdHN0LnhtbAorJmx0Oz94bWwgdmVyc2lvbj0iMS4wIj8mZ3Q7CismbHQ7IURPQ1RZUEUgY2F0YWxvZyBQVUJMSUMgIi0vL09BU0lTLy9EVEQgRW50aXR5IFJlc29sdXRpb24gWE1MIENhdGFsb2cgVjEuMC8vRU4iIFwKKyAgImh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvY29tbWl0dGVlcy9lbnRpdHkvcmVsZWFzZS8xLjAvY2F0YWxvZy5kdGQiJmd0OworJmx0O2NhdGFsb2cgeG1sbnM9InVybjpvYXNpczpuYW1lczp0YzplbnRpdHk6eG1sbnM6eG1sOmNhdGFsb2ciJmd0OworJmx0O3B1YmxpYyBwdWJsaWNJZD0iLS8vT0FTSVMvL0RURCBEb2NCb29rIFhNTCBWNC4xLjIvL0VOIgorICAgICAgICB1cmk9Imh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvZG9jYm9vay94bWwvNC4xLjIvZG9jYm9va3guZHRkIi8mZ3Q7CismbHQ7L2NhdGFsb2cmZ3Q7CitvcmNoaXM6fi9YTUwgLSZndDsgPC9wcmU+PHA+VGhlIDxjb2RlPi1hZGQ8L2NvZGU+IG9wdGlvbiB3aWxsIGFsd2F5cyB0YWtlIDMgcGFyYW1ldGVycyBldmVuIGlmIHNvbWUgb2YKK3RoZSBYTUwgQ2F0YWxvZyBjb25zdHJ1Y3RzIChsaWtlIG5leHRDYXRhbG9nKSB3aWxsIGhhdmUgb25seSBhIHNpbmdsZQorYXJndW1lbnQsIGp1c3QgcGFzcyBhIHRoaXJkIGVtcHR5IHN0cmluZywgaXQgd2lsbCBiZSBpZ25vcmVkLjwvcD48cD5TaW1pbGFybHkgdGhlIDxjb2RlPi1kZWw8L2NvZGU+IG9wdGlvbiByZW1vdmUgbWF0Y2hpbmcgZW50cmllcyBmcm9tIHRoZQorY2F0YWxvZzo8L3A+PHByZT5vcmNoaXM6fi9YTUwgLSZndDsgLi94bWxjYXRhbG9nIC0tZGVsIFwKKyAgImh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvZG9jYm9vay94bWwvNC4xLjIvZG9jYm9va3guZHRkIiB0c3QueG1sCismbHQ7P3htbCB2ZXJzaW9uPSIxLjAiPyZndDsKKyZsdDshRE9DVFlQRSBjYXRhbG9nIFBVQkxJQyAiLS8vT0FTSVMvL0RURCBFbnRpdHkgUmVzb2x1dGlvbiBYTUwgQ2F0YWxvZyBWMS4wLy9FTiIKKyAgICAiaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9jb21taXR0ZWVzL2VudGl0eS9yZWxlYXNlLzEuMC9jYXRhbG9nLmR0ZCImZ3Q7CismbHQ7Y2F0YWxvZyB4bWxucz0idXJuOm9hc2lzOm5hbWVzOnRjOmVudGl0eTp4bWxuczp4bWw6Y2F0YWxvZyIvJmd0Oworb3JjaGlzOn4vWE1MIC0mZ3Q7IDwvcHJlPjxwPlRoZSBjYXRhbG9nIGlzIG5vdyBlbXB0eS4gTm90ZSB0aGF0IHRoZSBtYXRjaGluZyBvZiA8Y29kZT4tZGVsPC9jb2RlPiBpcworZXhhY3QgYW5kIHdvdWxkIGhhdmUgd29ya2VkIGluIGEgc2ltaWxhciBmYXNoaW9uIHdpdGggdGhlIFB1YmxpYyBJRAorc3RyaW5nLjwvcD48cD5UaGlzIGlzIHJ1ZGltZW50YXJ5IGJ1dCBzaG91bGQgYmUgc3VmZmljaWVudCB0byBtYW5hZ2UgYSBub3QgdG9vIGNvbXBsZXgKK2NhdGFsb2cgdHJlZSBvZiByZXNvdXJjZXMuPC9wPjxoMz48YSBuYW1lPSJpbXBsZW1lbnRvIiBpZD0iaW1wbGVtZW50byI+VGhlIGltcGxlbWVudG9yIGNvcm5lciBxdWljayByZXZpZXcgb2YgdGhlCitBUEk6PC9hPjwvaDM+PHA+Rmlyc3QsIGFuZCBsaWtlIGZvciBldmVyeSBvdGhlciBtb2R1bGUgb2YgbGlieG1sLCB0aGVyZSBpcyBhbgorYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgPGEgaHJlZj0iaHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sIj5BUEkgcGFnZSBmb3IKK2NhdGFsb2cgc3VwcG9ydDwvYT4uPC9wPjxwPlRoZSBoZWFkZXIgZm9yIHRoZSBjYXRhbG9nIGludGVyZmFjZXMgc2hvdWxkIGJlIGluY2x1ZGVkIGFzOjwvcD48cHJlPiNpbmNsdWRlICZsdDtsaWJ4bWwvY2F0YWxvZy5oJmd0OzwvcHJlPjxwPlRoZSBBUEkgaXMgdm9sdW50YXJpbHkga2VwdCB2ZXJ5IHNpbXBsZS4gRmlyc3QgaXQgaXMgbm90IG9idmlvdXMgdGhhdAorYXBwbGljYXRpb25zIHJlYWxseSBuZWVkIGFjY2VzcyB0byBpdCBzaW5jZSBpdCBpcyB0aGUgZGVmYXVsdCBiZWhhdmlvdXIgb2YKK2xpYnhtbDIgKE5vdGU6IGl0IGlzIHBvc3NpYmxlIHRvIGNvbXBsZXRlbHkgb3ZlcnJpZGUgbGlieG1sMiBkZWZhdWx0IGNhdGFsb2cKK2J5IHVzaW5nIDxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sIj54bWxTZXRFeHRlcm5hbEVudGl0eUxvYWRlcjwvYT4gdG8KK3BsdWcgYW4gYXBwbGljYXRpb24gc3BlY2lmaWMgcmVzb2x2ZXIpLjwvcD48cD5CYXNpY2FsbHkgbGlieG1sMiBzdXBwb3J0IDIgY2F0YWxvZyBsaXN0czo8L3A+PHVsPgorICA8bGk+dGhlIGRlZmF1bHQgb25lLCBnbG9iYWwgc2hhcmVkIGJ5IGFsbCB0aGUgYXBwbGljYXRpb248L2xpPgorICA8bGk+YSBwZXItZG9jdW1lbnQgY2F0YWxvZywgdGhpcyBvbmUgaXMgYnVpbHQgaWYgdGhlIGRvY3VtZW50IHVzZXMgdGhlCisgICAgPGNvZGU+b2FzaXMteG1sLWNhdGFsb2c8L2NvZGU+IFBJcyB0byBzcGVjaWZ5IGl0cyBvd24gY2F0YWxvZyBsaXN0LCBpdCBpcworICAgIGFzc29jaWF0ZWQgdG8gdGhlIHBhcnNlciBjb250ZXh0IGFuZCBkZXN0cm95ZWQgd2hlbiB0aGUgcGFyc2luZyBjb250ZXh0CisgICAgaXMgZGVzdHJveWVkLjwvbGk+Cis8L3VsPjxwPnRoZSBkb2N1bWVudCBvbmUgd2lsbCBiZSB1c2VkIGZpcnN0IGlmIGl0IGV4aXN0cy48L3A+PGg0PkluaXRpYWxpemF0aW9uIHJvdXRpbmVzOjwvaDQ+PHA+eG1sSW5pdGlhbGl6ZUNhdGFsb2coKSwgeG1sTG9hZENhdGFsb2coKSBhbmQgeG1sTG9hZENhdGFsb2dzKCkgc2hvdWxkIGJlCit1c2VkIGF0IHN0YXJ0dXAgdG8gaW5pdGlhbGl6ZSB0aGUgY2F0YWxvZywgaWYgdGhlIGNhdGFsb2cgc2hvdWxkIGJlCitpbml0aWFsaXplZCB3aXRoIHNwZWNpZmljIHZhbHVlcyB4bWxMb2FkQ2F0YWxvZygpICBvciB4bWxMb2FkQ2F0YWxvZ3MoKQorc2hvdWxkIGJlIGNhbGxlZCBiZWZvcmUgeG1sSW5pdGlhbGl6ZUNhdGFsb2coKSB3aGljaCB3b3VsZCBvdGhlcndpc2UgZG8gYQorZGVmYXVsdCBpbml0aWFsaXphdGlvbiBmaXJzdC48L3A+PHA+VGhlIHhtbENhdGFsb2dBZGRMb2NhbCgpIGNhbGwgaXMgdXNlZCBieSB0aGUgcGFyc2VyIHRvIGdyb3cgdGhlIGRvY3VtZW50Citvd24gY2F0YWxvZyBsaXN0IGlmIG5lZWRlZC48L3A+PGg0PlByZWZlcmVuY2VzIHNldHVwOjwvaDQ+PHA+VGhlIFhNTCBDYXRhbG9nIHNwZWMgcmVxdWlyZXMgdGhlIHBvc3NpYmlsaXR5IHRvIHNlbGVjdCBkZWZhdWx0CitwcmVmZXJlbmNlcyBiZXR3ZWVuICBwdWJsaWMgYW5kIHN5c3RlbSBkZWxlZ2F0aW9uLAoreG1sQ2F0YWxvZ1NldERlZmF1bHRQcmVmZXIoKSBhbGxvd3MgdGhpcywgeG1sQ2F0YWxvZ1NldERlZmF1bHRzKCkgYW5kCit4bWxDYXRhbG9nR2V0RGVmYXVsdHMoKSBhbGxvdyB0byBjb250cm9sICBpZiBYTUwgQ2F0YWxvZ3MgcmVzb2x1dGlvbiBzaG91bGQKK2JlIGZvcmJpZGRlbiwgYWxsb3dlZCBmb3IgZ2xvYmFsIGNhdGFsb2csIGZvciBkb2N1bWVudCBjYXRhbG9nIG9yIGJvdGgsIHRoZQorZGVmYXVsdCBpcyB0byBhbGxvdyBib3RoLjwvcD48cD5BbmQgb2YgY291cnNlIHhtbENhdGFsb2dTZXREZWJ1ZygpIGFsbG93cyB0byBnZW5lcmF0ZSBkZWJ1ZyBtZXNzYWdlcworKHRocm91Z2ggdGhlIHhtbEdlbmVyaWNFcnJvcigpIG1lY2hhbmlzbSkuPC9wPjxoND5RdWVyeWluZyByb3V0aW5lczo8L2g0PjxwPnhtbENhdGFsb2dSZXNvbHZlKCksIHhtbENhdGFsb2dSZXNvbHZlU3lzdGVtKCksIHhtbENhdGFsb2dSZXNvbHZlUHVibGljKCkKK2FuZCB4bWxDYXRhbG9nUmVzb2x2ZVVSSSgpIGFyZSByZWxhdGl2ZWx5IGV4cGxpY2l0IGlmIHlvdSByZWFkIHRoZSBYTUwKK0NhdGFsb2cgc3BlY2lmaWNhdGlvbiB0aGV5IGNvcnJlc3BvbmQgdG8gc2VjdGlvbiA3IGFsZ29yaXRobXMsIHRoZXkgc2hvdWxkCithbHNvIHdvcmsgaWYgeW91IGhhdmUgbG9hZGVkIGFuIFNHTUwgY2F0YWxvZyB3aXRoIGEgc2ltcGxpZmllZCBzZW1hbnRpYy48L3A+PHA+eG1sQ2F0YWxvZ0xvY2FsUmVzb2x2ZSgpIGFuZCB4bWxDYXRhbG9nTG9jYWxSZXNvbHZlVVJJKCkgYXJlIHRoZSBzYW1lIGJ1dAorb3BlcmF0ZSBvbiB0aGUgZG9jdW1lbnQgY2F0YWxvZyBsaXN0PC9wPjxoND5DbGVhbnVwIGFuZCBNaXNjZWxsYW5lb3VzOjwvaDQ+PHA+eG1sQ2F0YWxvZ0NsZWFudXAoKSBmcmVlLXVwIHRoZSBnbG9iYWwgY2F0YWxvZywgeG1sQ2F0YWxvZ0ZyZWVMb2NhbCgpIGlzCit0aGUgcGVyLWRvY3VtZW50IGVxdWl2YWxlbnQuPC9wPjxwPnhtbENhdGFsb2dBZGQoKSBhbmQgeG1sQ2F0YWxvZ1JlbW92ZSgpIGFyZSB1c2VkIHRvIGR5bmFtaWNhbGx5IG1vZGlmeSB0aGUKK2ZpcnN0IGNhdGFsb2cgaW4gdGhlIGdsb2JhbCBsaXN0LCBhbmQgeG1sQ2F0YWxvZ0R1bXAoKSBhbGxvd3MgdG8gZHVtcCBhCitjYXRhbG9nIHN0YXRlLCB0aG9zZSByb3V0aW5lcyBhcmUgcHJpbWFyaWx5IGRlc2lnbmVkIGZvciB4bWxjYXRhbG9nLCBJJ20gbm90CitzdXJlIHRoYXQgZXhwb3NpbmcgbW9yZSBjb21wbGV4IGludGVyZmFjZXMgKGxpa2UgbmF2aWdhdGlvbiBvbmVzKSB3b3VsZCBiZQorcmVhbGx5IHVzZWZ1bC48L3A+PHA+VGhlIHhtbFBhcnNlQ2F0YWxvZ0ZpbGUoKSBpcyBhIGZ1bmN0aW9uIHVzZWQgdG8gbG9hZCBYTUwgQ2F0YWxvZyBmaWxlcywKK2l0J3Mgc2ltaWxhciBhcyB4bWxQYXJzZUZpbGUoKSBleGNlcHQgaXQgYnlwYXNzIGFsbCBjYXRhbG9nIGxvb2t1cHMsIGl0J3MKK3Byb3ZpZGVkIGJlY2F1c2UgdGhpcyBmdW5jdGlvbmFsaXR5IG1heSBiZSB1c2VmdWwgZm9yIGNsaWVudCB0b29scy48L3A+PGg0PnRocmVhZGVkIGVudmlyb25tZW50czo8L2g0PjxwPlNpbmNlIHRoZSBjYXRhbG9nIHRyZWUgaXMgYnVpbHQgcHJvZ3Jlc3NpdmVseSwgc29tZSBjYXJlIGhhcyBiZWVuIHRha2VuIHRvCit0cnkgdG8gYXZvaWQgdHJvdWJsZXMgaW4gbXVsdGl0aHJlYWRlZCBlbnZpcm9ubWVudHMuIFRoZSBjb2RlIGlzIG5vdyB0aHJlYWQKK3NhZmUgYXNzdW1pbmcgdGhhdCB0aGUgbGlieG1sMiBsaWJyYXJ5IGhhcyBiZWVuIGNvbXBpbGVkIHdpdGggdGhyZWFkcworc3VwcG9ydC48L3A+PHA+PC9wPjxoMz48YSBuYW1lPSJPdGhlciIgaWQ9Ik90aGVyIj5PdGhlciByZXNvdXJjZXM8L2E+PC9oMz48cD5UaGUgWE1MIENhdGFsb2cgc3BlY2lmaWNhdGlvbiBpcyByZWxhdGl2ZWx5IHJlY2VudCBzbyB0aGVyZSBpc24ndCBtdWNoCitsaXRlcmF0dXJlIHRvIHBvaW50IGF0OjwvcD48dWw+CisgIDxsaT5Zb3UgY2FuIGZpbmQgYSBnb29kIHJhbnQgZnJvbSBOb3JtIFdhbHNoIGFib3V0IDxhIGhyZWY9Imh0dHA6Ly93d3cuYXJib3J0ZXh0LmNvbS9UaGlua19UYW5rL1hNTF9SZXNvdXJjZXMvSXNzdWVfVGhyZWUvaXNzdWVfdGhyZWUuaHRtbCI+dGhlCisgICAgbmVlZCBmb3IgY2F0YWxvZ3M8L2E+LCBpdCBwcm92aWRlcyBhIGxvdCBvZiBjb250ZXh0IGluZm9ybWF0aW9uIGV2ZW4gaWYKKyAgICBJIGRvbid0IGFncmVlIHdpdGggZXZlcnl0aGluZyBwcmVzZW50ZWQuIE5vcm0gYWxzbyB3cm90ZSBhIG1vcmUgcmVjZW50CisgICAgYXJ0aWNsZSA8YSBocmVmPSJodHRwOi8vd3d3cy5zdW4uY29tL3NvZnR3YXJlL3htbC9kZXZlbG9wZXJzL3Jlc29sdmVyL2FydGljbGUvIj5YTUwKKyAgICBlbnRpdGllcyBhbmQgVVJJIHJlc29sdmVyczwvYT4gZGVzY3JpYmluZyB0aGVtLjwvbGk+CisgIDxsaT5BbiA8YSBocmVmPSJodHRwOi8vaG9tZS5jY2lsLm9yZy9+Y293YW4vWE1ML1hDYXRhbG9nLmh0bWwiPm9sZCBYTUwKKyAgICBjYXRhbG9nIHByb3Bvc2FsPC9hPiBmcm9tIEpvaG4gQ293YW48L2xpPgorICA8bGk+VGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cucmRkbC5vcmcvIj5SZXNvdXJjZSBEaXJlY3RvcnkgRGVzY3JpcHRpb24KKyAgICBMYW5ndWFnZTwvYT4gKFJEREwpIGFub3RoZXIgY2F0YWxvZyBzeXN0ZW0gYnV0IG1vcmUgb3JpZW50ZWQgdG93YXJkCisgICAgcHJvdmlkaW5nIG1ldGFkYXRhIGZvciBYTUwgbmFtZXNwYWNlcy48L2xpPgorICA8bGk+dGhlIHBhZ2UgZnJvbSB0aGUgT0FTSVMgVGVjaG5pY2FsIDxhIGhyZWY9Imh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvY29tbWl0dGVlcy9lbnRpdHkvIj5Db21taXR0ZWUgb24gRW50aXR5CisgICAgUmVzb2x1dGlvbjwvYT4gd2hvIG1haW50YWlucyBYTUwgQ2F0YWxvZywgeW91IHdpbGwgZmluZCBwb2ludGVycyB0byB0aGUKKyAgICBzcGVjaWZpY2F0aW9uIHVwZGF0ZSwgc29tZSBiYWNrZ3JvdW5kIGFuZCBwb2ludGVycyB0byBvdGhlcnMgdG9vbHMKKyAgICBwcm92aWRpbmcgWE1MIENhdGFsb2cgc3VwcG9ydDwvbGk+CisgIDxsaT5UaGVyZSBpcyBhIDxhIGhyZWY9ImJ1aWxkRG9jQm9va0NhdGFsb2ciPnNoZWxsIHNjcmlwdDwvYT4gdG8gZ2VuZXJhdGUKKyAgICBYTUwgQ2F0YWxvZ3MgZm9yIERvY0Jvb2sgNC4xLjIgLiBJZiBpdCBjYW4gd3JpdGUgdG8gdGhlIC9ldGMveG1sLworICAgIGRpcmVjdG9yeSwgaXQgd2lsbCBzZXQtdXAgL2V0Yy94bWwvY2F0YWxvZyBhbmQgL2V0Yy94bWwvZG9jYm9vayBiYXNlZCBvbgorICAgIHRoZSByZXNvdXJjZXMgZm91bmQgb24gdGhlIHN5c3RlbS4gT3RoZXJ3aXNlIGl0IHdpbGwganVzdCBjcmVhdGUKKyAgICB+L3htbGNhdGFsb2cgYW5kIH4vZGJreG1sY2F0YWxvZyBhbmQgZG9pbmc6CisgICAgPHA+PGNvZGU+ZXhwb3J0IFhNTF9DQVRBTE9HX0ZJTEVTPSRIT01FL3htbGNhdGFsb2c8L2NvZGU+PC9wPgorICAgIDxwPnNob3VsZCBhbGxvdyB0byBwcm9jZXNzIERvY0Jvb2sgZG9jdW1lbnRhdGlvbnMgd2l0aG91dCByZXF1aXJpbmcKKyAgICBuZXR3b3JrIGFjY2Vzc2VzIGZvciB0aGUgRFREIG9yIHN0eWxlc2hlZXRzPC9wPgorICA8L2xpPgorICA8bGk+SSBoYXZlIHVwbG9hZGVkIDxhIGhyZWY9ImZ0cDovL3htbHNvZnQub3JnL2xpYnhtbDIvdGVzdC9kYms0MTJjYXRhbG9nLnRhci5neiI+YQorICAgIHNtYWxsIHRhcmJhbGw8L2E+IGNvbnRhaW5pbmcgWE1MIENhdGFsb2dzIGZvciBEb2NCb29rIDQuMS4yIHdoaWNoIHNlZW1zCisgICAgdG8gd29yayBmaW5lIGZvciBtZSB0b288L2xpPgorICA8bGk+VGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cueG1sc29mdC5vcmcveG1sY2F0YWxvZ19tYW4uaHRtbCI+eG1sY2F0YWxvZworICAgIG1hbnVhbCBwYWdlPC9hPjwvbGk+Cis8L3VsPjxwPklmIHlvdSBoYXZlIHN1Z2dlc3Rpb25zIGZvciBjb3JyZWN0aW9ucyBvciBhZGRpdGlvbnMsIHNpbXBseSBjb250YWN0CittZTo8L3A+PHA+PGEgaHJlZj0iYnVncy5odG1sIj5EYW5pZWwgVmVpbGxhcmQ8L2E+PC9wPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9jaGVja2FwaXN5bS54c2wgYi9saWJ4bWwyL2RvYy9jaGVja2FwaXN5bS54c2wKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODU5MTM5MwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL2NoZWNrYXBpc3ltLnhzbApAQCAtMCwwICsxLDQ4IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhLS0gVGhpcyBzdHlsZXNoZWV0IGlzIHVzZWQgdG8gY2hlY2sgdGhhdCBzeW1ib2xzIGV4cG9ydGVkCisgICAgIGZyb20gbGlieG1sMi1hcGkueG1sIGFyZSBhbHNvIHByZXNlbnQgaW4gdGhlIHN5bWJvbCBmaWxlCisgICAgIHN5bWJvbHMueG1sIHdoaWNoIGlzIHVzZWQgdG8gZ2VuZXJhdGUgbGlieG1sMi5zeW1zIHNldHRpbmcKKyAgICAgdXAgdGhlIGFsbG93ZWQgYWNjZXNzIHBvaW50IHRvIHRoZSBzaGFyZWQgbGlicmFyaWVzIC0tPgorCisKKzx4c2w6c3R5bGVzaGVldCB4bWxuczp4c2w9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvWFNML1RyYW5zZm9ybSIKKyAgICAgICAgICAgICAgICB2ZXJzaW9uPSIxLjAiPgorICA8eHNsOm91dHB1dCBtZXRob2Q9InRleHQiIGVuY29kaW5nPSJVVEYtOCIvPgorCisgIDx4c2w6dmFyaWFibGUgbmFtZT0ic3ltcyIgc2VsZWN0PSJkb2N1bWVudCgnc3ltYm9scy54bWwnKSIvPgorCisgIDx4c2w6dGVtcGxhdGUgbWF0Y2g9Ii8iPgorICAgIDx4c2w6bWVzc2FnZSB0ZXJtaW5hdGU9Im5vIj4KKyAgICAgIDx4c2w6dGV4dD5Mb29raW5nIGZvciBmdW5jdGlvbnMgaW4gc3ltYm9scy54bWw8L3hzbDp0ZXh0PgorICAgIDwveHNsOm1lc3NhZ2U+CisgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSIvYXBpL3N5bWJvbHMvZnVuY3Rpb24iLz4KKyAgICA8eHNsOm1lc3NhZ2UgdGVybWluYXRlPSJubyI+CisgICAgICA8eHNsOnRleHQ+Rm91bmQgPC94c2w6dGV4dD4KKyAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJjb3VudCgvYXBpL3N5bWJvbHMvZnVuY3Rpb24pIi8+CisgICAgICA8eHNsOnRleHQ+IGZ1bmN0aW9uczwveHNsOnRleHQ+CisgICAgPC94c2w6bWVzc2FnZT4KKyAgICA8eHNsOm1lc3NhZ2UgdGVybWluYXRlPSJubyI+CisgICAgICA8eHNsOnRleHQ+TG9va2luZyBmb3IgdmFyaWFibGVzIGluIHN5bWJvbHMueG1sPC94c2w6dGV4dD4KKyAgICA8L3hzbDptZXNzYWdlPgorICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iL2FwaS9zeW1ib2xzL3ZhcmlhYmxlIi8+CisgICAgPHhzbDptZXNzYWdlIHRlcm1pbmF0ZT0ibm8iPgorICAgICAgPHhzbDp0ZXh0PkZvdW5kIDwveHNsOnRleHQ+CisgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iY291bnQoL2FwaS9zeW1ib2xzL3ZhcmlhYmxlKSIvPgorICAgICAgPHhzbDp0ZXh0PiB2YXJpYWJsZXM8L3hzbDp0ZXh0PgorICAgIDwveHNsOm1lc3NhZ2U+CisgIDwveHNsOnRlbXBsYXRlPgorCisgIDx4c2w6dGVtcGxhdGUgbWF0Y2g9ImZ1bmN0aW9ufHZhcmlhYmxlIj4KKyAgICA8eHNsOnZhcmlhYmxlIG5hbWU9Im5hbWUiIHNlbGVjdD0iQG5hbWUiLz4KKyAgICA8eHNsOnZhcmlhYmxlIG5hbWU9InN5bWJvbCIKKyAgICAgICAgc2VsZWN0PSIkc3ltcy9zeW1ib2xzL3JlbGVhc2Uvc3ltYm9sWy4gPSAkbmFtZV0iLz4KKyAgICA8eHNsOmlmIHRlc3Q9InN0cmluZygkc3ltYm9sKSAhPSAkbmFtZSI+CisgICAgICA8eHNsOm1lc3NhZ2UgdGVybWluYXRlPSJ5ZXMiPgorICAgICAgICA8eHNsOnRleHQ+RmFpbGVkIHRvIGZpbmQgZXhwb3J0IGluIHN5bWJvbHMueG1sOiA8L3hzbDp0ZXh0PgorICAgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iJG5hbWUiLz4KKyAgICAgIDwveHNsOm1lc3NhZ2U+CisgICAgPC94c2w6aWY+CisgIDwveHNsOnRlbXBsYXRlPgorCis8L3hzbDpzdHlsZXNoZWV0PgorCmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9jb250cmlicy5odG1sIGIvbGlieG1sMi9kb2MvY29udHJpYnMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zN2E1MGM5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvY29udHJpYnMuaHRtbApAQCAtMCwwICsxLDQxIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPgorPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPjxoZWFkPjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPjxsaW5rIHJlbD0iU0hPUlRDVVQgSUNPTiIgaHJlZj0iL2Zhdmljb24uaWNvIiAvPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CitURCB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorQk9EWSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhOyBtYXJnaW4tdG9wOiAyZW07IG1hcmdpbi1sZWZ0OiAwZW07IG1hcmdpbi1yaWdodDogMGVtfQorSDEge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gyIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMyB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorQTpsaW5rLCBBOnZpc2l0ZWQsIEE6YWN0aXZlIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgfQorPC9zdHlsZT48dGl0bGU+Q29udHJpYnV0aW9uczwvdGl0bGU+PC9oZWFkPjxib2R5IGJnY29sb3I9IiM4Yjc3NjUiIHRleHQ9IiMwMDAwMDAiIGxpbms9IiNhMDYwNjAiIHZsaW5rPSIjMDAwMDAwIj48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iMTAwJSIgY2VsbHBhZGRpbmc9IjUiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIHdpZHRoPSIxMjAiPjxhIGhyZWY9Imh0dHA6Ly9zd3BhdC5mZmlpLm9yZy8iPjxpbWcgc3JjPSJlcGF0ZW50cy5wbmciIGFsdD0iQWN0aW9uIGFnYWluc3Qgc29mdHdhcmUgcGF0ZW50cyIgLz48L2E+PC90ZD48dGQgd2lkdGg9IjE4MCI+PGEgaHJlZj0iaHR0cDovL3d3dy5nbm9tZS5vcmcvIj48aW1nIHNyYz0iZ25vbWUyLnBuZyIgYWx0PSJHbm9tZTIgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvU3RhdHVzIj48aW1nIHNyYz0idzNjLnBuZyIgYWx0PSJXM0MgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy5yZWRoYXQuY29tLyI+PGltZyBzcmM9InJlZGhhdC5naWYiIGFsdD0iUmVkIEhhdCBMb2dvIiAvPjwvYT48ZGl2IGFsaWduPSJsZWZ0Ij48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvIj48aW1nIHNyYz0iTGlieG1sMi1Mb2dvLTE4MHgxNjguZ2lmIiBhbHQ9Ik1hZGUgd2l0aCBMaWJ4bWwyIExvZ28iIC8+PC9hPjwvZGl2PjwvdGQ+PHRkPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSI5MCUiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIiBiZ2NvbG9yPSIjZmZmYWNkIj48dHI+PHRkIGFsaWduPSJjZW50ZXIiPjxoMT5UaGUgWE1MIEMgcGFyc2VyIGFuZCB0b29sa2l0IG9mIEdub21lPC9oMT48aDI+Q29udHJpYnV0aW9uczwvaDI+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjQiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiIHdpZHRoPSIxMDAlIj48dHI+PHRkIHZhbGlnbj0idG9wIiB3aWR0aD0iMjAwIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5NYWluIE1lbnU8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PGZvcm0gYWN0aW9uPSJzZWFyY2gucGhwIiBlbmN0eXBlPSJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiIG1ldGhvZD0iZ2V0Ij48aW5wdXQgbmFtZT0icXVlcnkiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iIiAvPjxpbnB1dCBuYW1lPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNlYXJjaCAuLi4iIC8+PC9mb3JtPjx1bD48bGk+PGEgaHJlZj0iaW5kZXguaHRtbCI+SG9tZTwvYT48L2xpPjxsaT48YSBocmVmPSJodG1sL2luZGV4Lmh0bWwiPlJlZmVyZW5jZSBNYW51YWw8L2E+PC9saT48bGk+PGEgaHJlZj0iaW50cm8uaHRtbCI+SW50cm9kdWN0aW9uPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkZBUS5odG1sIj5GQVE8L2E+PC9saT48bGk+PGEgaHJlZj0iZG9jcy5odG1sIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+RGV2ZWxvcGVyIE1lbnU8L2E+PC9saT48bGk+PGEgaHJlZj0iYnVncy5odG1sIj5SZXBvcnRpbmcgYnVncyBhbmQgZ2V0dGluZyBoZWxwPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImhlbHAuaHRtbCI+SG93IHRvIGhlbHA8L2E+PC9saT48bGk+PGEgaHJlZj0iZG93bmxvYWRzLmh0bWwiPkRvd25sb2FkczwvYT48L2xpPjxsaT48YSBocmVmPSJuZXdzLmh0bWwiPlJlbGVhc2VzPC9hPjwvbGk+PGxpPjxhIGhyZWY9IlhNTGluZm8uaHRtbCI+WE1MPC9hPjwvbGk+PGxpPjxhIGhyZWY9IlhTTFQuaHRtbCI+WFNMVDwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWxkdGQuaHRtbCI+VmFsaWRhdGlvbiAmYW1wOyBEVERzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImVuY29kaW5nLmh0bWwiPkVuY29kaW5ncyBzdXBwb3J0PC9hPjwvbGk+PGxpPjxhIGhyZWY9ImNhdGFsb2cuaHRtbCI+Q2F0YWxvZyBzdXBwb3J0PC9hPjwvbGk+PGxpPjxhIGhyZWY9Im5hbWVzcGFjZXMuaHRtbCI+TmFtZXNwYWNlczwvYT48L2xpPjxsaT48YSBocmVmPSJjb250cmlicy5odG1sIj5Db250cmlidXRpb25zPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImV4YW1wbGVzL2luZGV4Lmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5Db2RlIEV4YW1wbGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0bWwvaW5kZXguaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPkFQSSBNZW51PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imd1aWRlbGluZXMuaHRtbCI+WE1MIEd1aWRlbGluZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iQ2hhbmdlTG9nLmh0bWwiPlJlY2VudCBDaGFuZ2VzPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+UmVsYXRlZCBsaW5rczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9Imh0dHA6Ly9tYWlsLmdub21lLm9yZy9hcmNoaXZlcy94bWwvIj5NYWlsIGFyY2hpdmU8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnL1hTTFQvIj5YU0xUIGxpYnhzbHQ8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3BoZC5jcy51bmliby5pdC9nZG9tZTIvIj5ET00gZ2RvbWUyPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuYWxla3NleS5jb20veG1sc2VjLyI+WE1MLURTaWcgeG1sc2VjPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImZ0cDovL3htbHNvZnQub3JnLyI+RlRQPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemxhdGtvdmljLmNvbS9wcm9qZWN0cy9saWJ4bWwvIj5XaW5kb3dzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9vcGVuY3N3Lm9yZy9wYWNrYWdlcy9saWJ4bWwyIj5Tb2xhcmlzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuZXhwbGFpbi5jb20uYXUvb3NzL2xpYnhtbDJ4c2x0Lmh0bWwiPk1hY09zWCBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbHhtbC5kZS8iPmx4bWwgUHl0aG9uIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9jcGFuLnV3aW5uaXBlZy5jYS9kaXN0L1hNTC1MaWJYTUwiPlBlcmwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbHBsdXNwbHVzLnNvdXJjZWZvcmdlLm5ldC8iPkMrKyBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnplbmQuY29tL3BocDUvYXJ0aWNsZXMvcGhwNS14bWxwaHAucGhwI0hlYWRpbmc0Ij5QSFAgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9saWJ4bWwyLXBhcy8iPlBhc2NhbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1sLnJ1Ynlmb3JnZS5vcmcvIj5SdWJ5IGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly90Y2x4bWwuc291cmNlZm9yZ2UubmV0LyI+VGNsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvYnVnbGlzdC5jZ2k/cHJvZHVjdD1saWJ4bWwyIj5CdWcgVHJhY2tlcjwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMyIgY2VsbHNwYWNpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD4KKyAgPGxpPkJqb3JuIFJlZXNlLCBXaWxsaWFtIEJyYWNrIGFuZCBUaG9tYXMgQnJveWVyIGhhdmUgcHJvdmlkZWQgYSBudW1iZXIgb2YKKyAgICBwYXRjaGVzLCBHYXJ5IFBlbm5pbmd0b24gd29ya2VkIG9uIHRoZSB2YWxpZGF0aW9uIEFQSSwgdGhyZWFkaW5nIHN1cHBvcnQKKyAgICBhbmQgU29sYXJpcyBwb3J0LjwvbGk+CisgIDxsaT5Kb2huIEZsZWNrIGhlbHBzIG1haW50YWluaW5nIHRoZSBkb2N1bWVudGF0aW9uIGFuZCBtYW4gcGFnZXMuPC9saT4KKyAgPGxpPjxhIGhyZWY9Im1haWx0bzppZ29yQHpsYXRrb3ZpYy5jb20iPklnb3IgIFpsYXRrb3ZpYzwvYT4gaXMgbm93IHRoZQorICAgIG1haW50YWluZXIgb2YgdGhlIFdpbmRvd3MgcG9ydCwgPGEgaHJlZj0iaHR0cDovL3d3dy56bGF0a292aWMuY29tL3Byb2plY3RzL2xpYnhtbC9pbmRleC5odG1sIj5oZSBwcm92aWRlcworICAgIGJpbmFyaWVzPC9hPjwvbGk+CisgIDxsaT48YSBocmVmPSJtYWlsdG86R2FyeS5QZW5uaW5ndG9uQHN1bi5jb20iPkdhcnkgUGVubmluZ3RvbjwvYT4gcHJvdmlkZXMKKyAgICA8YSBocmVmPSJodHRwOi8vZ2FyeXBlbm5pbmd0b24ubmV0L2xpYnhtbDIvIj5Tb2xhcmlzIGJpbmFyaWVzPC9hPjwvbGk+CisgIDxsaT48YSBocmVmPSJodHRwOi8vbWFpbC5nbm9tZS5vcmcvYXJjaGl2ZXMveG1sLzIwMDEtTWFyY2gvbXNnMDAwMTQuaHRtbCI+TWF0dAorICAgIFNlcmdlYW50PC9hPiBkZXZlbG9wZWQgPGEgaHJlZj0iaHR0cDovL2F4a2l0Lm9yZy9kb3dubG9hZC8iPlhNTDo6TGliWFNMVDwvYT4sIGEgUGVybCB3cmFwcGVyIGZvcgorICAgIGxpYnhtbDIvbGlieHNsdCBhcyBwYXJ0IG9mIHRoZSA8YSBocmVmPSJodHRwOi8vYXhraXQuY29tLyI+QXhLaXQgWE1MCisgICAgYXBwbGljYXRpb24gc2VydmVyPC9hPjwvbGk+CisgIDxsaT48YSBocmVmPSJtYWlsdG86Zm5hdHRlckBnbXgubmV0Ij5GZWxpeCBOYXR0ZXI8L2E+IGFuZCA8YSBocmVmPSJtYWlsdG86Z2VlcnRrQGFpLnJ1Zy5ubCI+R2VlcnQgS2xvb3N0ZXJtYW48L2E+IHByb3ZpZGUgPGEgaHJlZj0ibGlieG1sLWRvYy5lbCI+YW4gZW1hY3MgbW9kdWxlPC9hPiB0byBsb29rdXAgbGlieG1sKDIpIGZ1bmN0aW9ucworICAgIGRvY3VtZW50YXRpb248L2xpPgorICA8bGk+PGEgaHJlZj0ibWFpbHRvOnNoZXJ3aW5AbmxtLm5paC5nb3YiPlppeWluZyBTaGVyd2luPC9hPiBwcm92aWRlZCA8YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvbWVzc2FnZXMvMDQ4OC5odG1sIj5tYW4gcGFnZXM8L2E+PC9saT4KKyAgPGxpPnRoZXJlIGlzIGEgbW9kdWxlIGZvciA8YSBocmVmPSJodHRwOi8vYWNzLW1pc2Muc291cmNlZm9yZ2UubmV0L25zeG1sLmh0bWwiPmxpYnhtbC9saWJ4c2x0IHN1cHBvcnQKKyAgICBpbiBPcGVuTlNEL0FPTFNlcnZlcjwvYT48L2xpPgorICA8bGk+PGEgaHJlZj0ibWFpbHRvOmRrdWhsbWFuQGN1dHRlci5yZXh4LmNvbSI+RGF2ZSBLdWhsbWFuPC9hPiBwcm92aWRlZCB0aGUKKyAgICBmaXJzdCB2ZXJzaW9uIG9mIGxpYnhtbC9saWJ4c2x0IDxhIGhyZWY9Imh0dHA6Ly93d3cucmV4eC5jb20vfmRrdWhsbWFuIj53cmFwcGVycyBmb3IgUHl0aG9uPC9hPjwvbGk+CisgIDxsaT5QZXRyIEtvemVsa2EgcHJvdmlkZXMgPGEgaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9saWJ4bWwyLXBhcyI+UGFzY2FsIHVuaXRzIHRvIGdsdWUKKyAgICBsaWJ4bWwyPC9hPiB3aXRoIEt5bGl4IGFuZCBEZWxwaGkgYW5kIG90aGVyIFBhc2NhbCBjb21waWxlcnM8L2xpPgorICA8bGk+PGEgaHJlZj0ibWFpbHRvOmFsZWtzZXlAYWxla3NleS5jb20iPkFsZWtzZXkgU2FuaW48L2E+IGltcGxlbWVudGVkIHRoZQorICAgIDxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1NpZ25hdHVyZS8iPlhNTCBDYW5vbmljYWxpemF0aW9uIGFuZCBYTUwKKyAgICBEaWdpdGFsIFNpZ25hdHVyZTwvYT4gPGEgaHJlZj0iaHR0cDovL3d3dy5hbGVrc2V5LmNvbS94bWxzZWMvIj5pbXBsZW1lbnRhdGlvbnMgZm9yIGxpYnhtbDI8L2E+PC9saT4KKyAgPGxpPjxhIGhyZWY9Im1haWx0bzpTdGV2ZS5CYWxsQGV4cGxhaW4uY29tLmF1Ij5TdGV2ZSBCYWxsPC9hPiBhbmQKKyAgICBjb250cmlidXRvcnMgbWFpbnRhaW4gPGEgaHJlZj0iaHR0cDovL3RjbHhtbC5zb3VyY2Vmb3JnZS5uZXQvIj50Y2wKKyAgICBiaW5kaW5ncyBmb3IgbGlieG1sMiBhbmQgbGlieHNsdDwvYT4sIGFzIHdlbGwgYXMgPGEgaHJlZj0iaHR0cDovL3RjbHhtbC5zZi5uZXQvdGt4bWxsaW50Lmh0bWwiPnRreG1sbGludDwvYT4gYSBHVUkgZm9yCisgICAgeG1sbGludCBhbmQgPGEgaHJlZj0iaHR0cDovL3RjbHhtbC5zZi5uZXQvdGt4c2x0cHJvYy5odG1sIj50a3hzbHRwcm9jPC9hPgorICAgIGEgR1VJIGZvciB4c2x0cHJvYy48L2xpPgorPC91bD48cD48L3A+PHA+PGEgaHJlZj0iYnVncy5odG1sIj5EYW5pZWwgVmVpbGxhcmQ8L2E+PC9wPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9kZXZoZWxwL01ha2VmaWxlLmFtIGIvbGlieG1sMi9kb2MvZGV2aGVscC9NYWtlZmlsZS5hbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYWQ3OTc1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvZGV2aGVscC9NYWtlZmlsZS5hbQpAQCAtMCwwICsxLDc5IEBACitkZXZoZWxwZGlyID0gJChkYXRhZGlyKS9ndGstZG9jL2h0bWwvbGlieG1sMgorCitkaXN0X2RldmhlbHBfREFUQSA9CQkJXAorCWxpYnhtbDIuZGV2aGVscAkJCVwKKwkkKEhUTUxfRklMRVMpCQkJXAorCSQoRVhUUkFfRk9STUFUKQorCitIVE1MX0ZJTEVTID0JCQkJXAorCWdlbmVyYWwuaHRtbAkJCVwKKwlpbmRleC5odG1sCQkJXAorCSQoSFRNTF9NT0RVTEVTKQorCitIVE1MX01PRFVMRVM9CQkJCVwKKwlsaWJ4bWwyLWMxNG4uaHRtbAkJXAorCWxpYnhtbDItY2F0YWxvZy5odG1sCQlcCisJbGlieG1sMi1jaHZhbGlkLmh0bWwJCVwKKwlsaWJ4bWwyLWRlYnVnWE1MLmh0bWwJCVwKKwlsaWJ4bWwyLWRpY3QuaHRtbAkJXAorCWxpYnhtbDItRE9DQnBhcnNlci5odG1sCQlcCisJbGlieG1sMi1lbmNvZGluZy5odG1sCQlcCisJbGlieG1sMi1lbnRpdGllcy5odG1sCQlcCisJbGlieG1sMi1nbG9iYWxzLmh0bWwJCVwKKwlsaWJ4bWwyLWhhc2guaHRtbAkJXAorCWxpYnhtbDItSFRNTHBhcnNlci5odG1sCQlcCisJbGlieG1sMi1IVE1MdHJlZS5odG1sCQlcCisJbGlieG1sMi1saXN0Lmh0bWwJCVwKKwlsaWJ4bWwyLW5hbm9mdHAuaHRtbAkJXAorCWxpYnhtbDItbmFub2h0dHAuaHRtbAkJXAorCWxpYnhtbDItcGFyc2VyLmh0bWwJCVwKKwlsaWJ4bWwyLXBhcnNlckludGVybmFscy5odG1sCVwKKwlsaWJ4bWwyLXBhdHRlcm4uaHRtbAkJXAorCWxpYnhtbDItcmVsYXhuZy5odG1sCQlcCisJbGlieG1sMi1TQVgyLmh0bWwJCVwKKwlsaWJ4bWwyLVNBWC5odG1sCQlcCisJbGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwJXAorCWxpYnhtbDItc2NoZW1hdHJvbi5odG1sCQlcCisJbGlieG1sMi10aHJlYWRzLmh0bWwJCVwKKwlsaWJ4bWwyLXRyZWUuaHRtbAkJXAorCWxpYnhtbDItdXJpLmh0bWwJCVwKKwlsaWJ4bWwyLXZhbGlkLmh0bWwJCVwKKwlsaWJ4bWwyLXhpbmNsdWRlLmh0bWwJCVwKKwlsaWJ4bWwyLXhsaW5rLmh0bWwJCVwKKwlsaWJ4bWwyLXhtbGF1dG9tYXRhLmh0bWwJXAorCWxpYnhtbDIteG1sZXJyb3IuaHRtbAkJXAorCWxpYnhtbDIteG1sZXhwb3J0cy5odG1sCQlcCisJbGlieG1sMi14bWxJTy5odG1sCQlcCisJbGlieG1sMi14bWxtZW1vcnkuaHRtbAkJXAorCWxpYnhtbDIteG1sbW9kdWxlLmh0bWwJCVwKKwlsaWJ4bWwyLXhtbHJlYWRlci5odG1sCQlcCisJbGlieG1sMi14bWxyZWdleHAuaHRtbAkJXAorCWxpYnhtbDIteG1sc2F2ZS5odG1sCQlcCisJbGlieG1sMi14bWxzY2hlbWFzLmh0bWwJCVwKKwlsaWJ4bWwyLXhtbHNjaGVtYXN0eXBlcy5odG1sCVwKKwlsaWJ4bWwyLXhtbHN0cmluZy5odG1sCQlcCisJbGlieG1sMi14bWx1bmljb2RlLmh0bWwJCVwKKwlsaWJ4bWwyLXhtbHZlcnNpb24uaHRtbAkJXAorCWxpYnhtbDIteG1sd3JpdGVyLmh0bWwJCVwKKwlsaWJ4bWwyLXhwYXRoLmh0bWwJCVwKKwlsaWJ4bWwyLXhwYXRoSW50ZXJuYWxzLmh0bWwJXAorCWxpYnhtbDIteHBvaW50ZXIuaHRtbAorCitFWFRSQV9GT1JNQVQ9CQkJCVwKKwlob21lLnBuZwkJCVwKKwlsZWZ0LnBuZwkJCVwKKwlyaWdodC5wbmcJCQlcCisJdXAucG5nCQkJCVwKKwlzdHlsZS5jc3MKKworRVhUUkFfRElTVCA9IGRldmhlbHAueHNsIGh0bWwueHNsCisKK2lmIFJFQlVJTERfRE9DUworcmVidWlsZDogbGlieG1sMi5kZXZoZWxwICQoSFRNTF9GSUxFUykKKy5QSE9OWTogcmVidWlsZAorCitsaWJ4bWwyLmRldmhlbHAgJChIVE1MX0ZJTEVTKTogZGV2aGVscC54c2wgaHRtbC54c2wgJCh0b3Bfc3JjZGlyKS9kb2MvbGlieG1sMi1hcGkueG1sCisJLUAoaWYgWyAteCAkKFhTTFRQUk9DKSBdIDsgdGhlbiBcCisJICBlY2hvIFJlYnVpbGRpbmcgZGV2aGVscCBmaWxlcyA7IFwKKwkgICQoWFNMVFBST0MpIC0tbm9uZXQgLW8gJChzcmNkaXIpL2xpYnhtbDIuZGV2aGVscCAkKHNyY2RpcikvZGV2aGVscC54c2wgJCh0b3Bfc3JjZGlyKS9kb2MvbGlieG1sMi1hcGkueG1sIDsgZmkgKTsKK2VuZGlmCmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9kZXZoZWxwL2RldmhlbHAueHNsIGIvbGlieG1sMi9kb2MvZGV2aGVscC9kZXZoZWxwLnhzbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMTljM2YxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvZGV2aGVscC9kZXZoZWxwLnhzbApAQCAtMCwwICsxLDEyNyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8eHNsOnN0eWxlc2hlZXQgeG1sbnM6eHNsPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L1hTTC9UcmFuc2Zvcm0iIHZlcnNpb249IjEuMCIKKwkJeG1sbnM9Imh0dHA6Ly93d3cuZGV2aGVscC5uZXQvYm9vayIKKwkJeG1sbnM6ZXhzbD0iaHR0cDovL2V4c2x0Lm9yZy9jb21tb24iCisJCXhtbG5zOnN0cj0iaHR0cDovL2V4c2x0Lm9yZy9zdHJpbmdzIgorCQlleHRlbnNpb24tZWxlbWVudC1wcmVmaXhlcz0iZXhzbCBzdHIiCisJCWV4Y2x1ZGUtcmVzdWx0LXByZWZpeGVzPSJleHNsIHN0ciI+CisgIDwhLS0gVGhlIHN0eWxlc2hlZXQgZm9yIHRoZSBodG1sIHBhZ2VzIC0tPgorICA8eHNsOmltcG9ydCBocmVmPSJodG1sLnhzbCIvPgorCisgIDx4c2w6b3V0cHV0IG1ldGhvZD0ieG1sIiBlbmNvZGluZz0iVVRGLTgiIGluZGVudD0ieWVzIi8+CisKKyAgPCEtLSBCdWlsZCBrZXlzIGZvciBhbGwgc3ltYm9scyAtLT4KKyAgPHhzbDprZXkgbmFtZT0ic3ltYm9scyIgbWF0Y2g9Ii9hcGkvc3ltYm9scy8qIiB1c2U9IkBuYW1lIi8+CisKKyAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iL2FwaSI+CisgICAgPGJvb2sgdGl0bGU9IntAbmFtZX0gUmVmZXJlbmNlIE1hbnVhbCIgbGluaz0iaW5kZXguaHRtbCIgYXV0aG9yPSIiIG5hbWU9IntAbmFtZX0iPgorICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJmaWxlcyIvPgorICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJzeW1ib2xzIi8+CisgICAgPC9ib29rPgorICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJnZW5lcmF0ZV9pbmRleCIvPgorICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJnZW5lcmF0ZV9nZW5lcmFsIi8+CisgIDwveHNsOnRlbXBsYXRlPgorICA8eHNsOnRlbXBsYXRlIG1hdGNoPSIvYXBpL2ZpbGVzIj4KKyAgICA8Y2hhcHRlcnM+CisgICAgICA8c3ViIG5hbWU9IkFQSSIgbGluaz0iZ2VuZXJhbC5odG1sIj4KKyAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJmaWxlIi8+CisgICAgICA8L3N1Yj4KKyAgICA8L2NoYXB0ZXJzPgorICA8L3hzbDp0ZW1wbGF0ZT4KKyAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iL2FwaS9maWxlcy9maWxlIj4KKyAgICA8eHNsOnZhcmlhYmxlIG5hbWU9Im1vZHVsZSIgc2VsZWN0PSJAbmFtZSIvPgorICAgIDx4c2w6dmFyaWFibGUgbmFtZT0icHJldiIgc2VsZWN0PSJzdHJpbmcocHJlY2VkaW5nLXNpYmxpbmc6OmZpbGVbcG9zaXRpb24oKT0xXS9AbmFtZSkiLz4KKyAgICA8eHNsOnZhcmlhYmxlIG5hbWU9Im5leHQiIHNlbGVjdD0ic3RyaW5nKGZvbGxvd2luZy1zaWJsaW5nOjpmaWxlW3Bvc2l0aW9uKCk9MV0vQG5hbWUpIi8+CisgICAgPHN1YiBuYW1lPSJ7QG5hbWV9IiBsaW5rPSJsaWJ4bWwyLXtAbmFtZX0uaHRtbCIvPgorICAgIDx4c2w6ZG9jdW1lbnQgeG1sbnM9IiIgaHJlZj0ibGlieG1sMi17QG5hbWV9Lmh0bWwiIG1ldGhvZD0ieG1sIiBpbmRlbnQ9InllcyIgZW5jb2Rpbmc9IlVURi04Ij4KKyAgICAgIDxodG1sPgorICAgICAgICA8aGVhZD4KKwkgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ii8+CisJICA8dGl0bGU+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9ImNvbmNhdChAbmFtZSwgJzogJywgc3VtbWFyeSkiLz48L3RpdGxlPgorCSAgPG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJMaWJ4bWwyIGRldmhlbHAgc3R5bGVzaGVldCIvPgorCSAgPGxpbmsgcmVsPSJzdGFydCIgaHJlZj0iaW5kZXguaHRtbCIgdGl0bGU9ImxpYnhtbDIgUmVmZXJlbmNlIE1hbnVhbCIvPgorCSAgPGxpbmsgcmVsPSJ1cCIgaHJlZj0iZ2VuZXJhbC5odG1sIiB0aXRsZT0iQVBJIi8+CisJICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9InN0eWxlLmNzcyIgdHlwZT0idGV4dC9jc3MiLz4KKwkgIDxsaW5rIHJlbD0iY2hhcHRlciIgaHJlZj0iZ2VuZXJhbC5odG1sIiB0aXRsZT0iQVBJIi8+CisgICAgICAgIDwvaGVhZD4KKwk8Ym9keSBiZ2NvbG9yPSJ3aGl0ZSIgdGV4dD0iYmxhY2siIGxpbms9IiMwMDAwRkYiIHZsaW5rPSIjODQwMDg0IiBhbGluaz0iIzAwMDBGRiI+CisKKyAgICAgICAgICA8dGFibGUgY2xhc3M9Im5hdmlnYXRpb24iIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIyIj4KKwkgICAgPHRyIHZhbGlnbj0ibWlkZGxlIj4KKwkgICAgICA8eHNsOmlmIHRlc3Q9IiRwcmV2ICE9ICcnIj4KKwkJPHRkPjxhIGFjY2Vzc2tleT0icCIgaHJlZj0ibGlieG1sMi17JHByZXZ9Lmh0bWwiPjxpbWcgc3JjPSJsZWZ0LnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iUHJldiIvPjwvYT48L3RkPgorCSAgICAgIDwveHNsOmlmPgorICAgICAgICAgICAgICA8dGQ+PGEgYWNjZXNza2V5PSJ1IiBocmVmPSJnZW5lcmFsLmh0bWwiPjxpbWcgc3JjPSJ1cC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlVwIi8+PC9hPjwvdGQ+CisgICAgICAgICAgICAgIDx0ZD48YSBhY2Nlc3NrZXk9ImgiIGhyZWY9ImluZGV4Lmh0bWwiPjxpbWcgc3JjPSJob21lLnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iSG9tZSIvPjwvYT48L3RkPgorCSAgICAgIDx4c2w6aWYgdGVzdD0iJG5leHQgIT0gJyciPgorCQk8dGQ+PGEgYWNjZXNza2V5PSJuIiBocmVmPSJsaWJ4bWwyLXskbmV4dH0uaHRtbCI+PGltZyBzcmM9InJpZ2h0LnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iTmV4dCIvPjwvYT48L3RkPgorCSAgICAgIDwveHNsOmlmPgorICAgICAgICAgICAgICA8dGggd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPmxpYnhtbDIgUmVmZXJlbmNlIE1hbnVhbDwvdGg+CisgICAgICAgICAgICA8L3RyPgorCSAgPC90YWJsZT4KKwkgIDxoMj48c3BhbiBjbGFzcz0icmVmZW50cnl0aXRsZSI+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+PC9zcGFuPjwvaDI+CisJICA8cD48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz4gLSA8eHNsOnZhbHVlLW9mIHNlbGVjdD0ic3VtbWFyeSIvPjwvcD4KKwkgIDxwPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJkZXNjcmlwdGlvbiIvPjwvcD4KKwkgIDx4c2w6aWYgdGVzdD0iZGVwcmVjYXRlZCI+CisJICAgIDxwPiBXQVJOSU5HOiB0aGlzIG1vZHVsZSBpcyBkZXByZWNhdGVkICE8L3A+CisJICA8L3hzbDppZj4KKwkgIDxwPkF1dGhvcihzKTogPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9ImF1dGhvciIvPjwvcD4KKwkgIDxkaXYgY2xhc3M9InJlZnN5bm9wc2lzZGl2Ij4KKwkgIDxoMj5TeW5vcHNpczwvaDI+CisJICA8cHJlIGNsYXNzPSJzeW5vcHNpcyI+CisJICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIG1vZGU9InN5bm9wc2lzIiBzZWxlY3Q9ImV4cG9ydHMiLz4KKwkgIDwvcHJlPgorCSAgPC9kaXY+CisJICA8ZGl2IGNsYXNzPSJyZWZzZWN0MSIgbGFuZz0iZW4iPgorCSAgPGgyPkRlc2NyaXB0aW9uPC9oMj4KKwkgIDwvZGl2PgorCSAgPGRpdiBjbGFzcz0icmVmc2VjdDEiIGxhbmc9ImVuIj4KKwkgIDxoMj5EZXRhaWxzPC9oMj4KKwkgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+CisJICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIG1vZGU9ImRldGFpbHMiIHNlbGVjdD0iL2FwaS9zeW1ib2xzL21hY3JvW0BmaWxlPSRtb2R1bGVdIi8+CisJICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIG1vZGU9ImRldGFpbHMiIHNlbGVjdD0iL2FwaS9zeW1ib2xzL3R5cGVkZWZbQGZpbGU9JG1vZHVsZV0gfCAvYXBpL3N5bWJvbHMvc3RydWN0W0BmaWxlPSRtb2R1bGVdIi8+CisJICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIG1vZGU9ImRldGFpbHMiIHNlbGVjdD0iL2FwaS9zeW1ib2xzL2Z1bmN0eXBlW0BmaWxlPSRtb2R1bGVdIi8+CisJICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIG1vZGU9ImRldGFpbHMiIHNlbGVjdD0iL2FwaS9zeW1ib2xzL3ZhcmlhYmxlW0BmaWxlPSRtb2R1bGVdIi8+CisJICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIG1vZGU9ImRldGFpbHMiIHNlbGVjdD0iL2FwaS9zeW1ib2xzL2Z1bmN0aW9uW0BmaWxlPSRtb2R1bGVdIi8+CisJICA8L2Rpdj4KKwkgIDwvZGl2PgorCTwvYm9keT4KKyAgICAgIDwvaHRtbD4KKyAgICA8L3hzbDpkb2N1bWVudD4KKyAgPC94c2w6dGVtcGxhdGU+CisgIDx4c2w6dGVtcGxhdGUgbWF0Y2g9Ii9hcGkvc3ltYm9scyI+CisgICAgPGZ1bmN0aW9ucz4KKyAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0ibWFjcm8iLz4KKyAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZW51bSIvPgorICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJ0eXBlZGVmIi8+CisgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9InN0cnVjdCIvPgorICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJmdW5jdHlwZSIvPgorICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJ2YXJpYWJsZSIvPgorICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJmdW5jdGlvbiIvPgorICAgIDwvZnVuY3Rpb25zPgorICA8L3hzbDp0ZW1wbGF0ZT4KKyAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iL2FwaS9zeW1ib2xzL2Z1bmN0eXBlIj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ie0BuYW1lfSIgbGluaz0ibGlieG1sMi17QGZpbGV9Lmh0bWwje0BuYW1lfSIvPgorICA8L3hzbDp0ZW1wbGF0ZT4KKyAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iL2FwaS9zeW1ib2xzL2Z1bmN0aW9uIj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ie0BuYW1lfSAoKSIgbGluaz0ibGlieG1sMi17QGZpbGV9Lmh0bWwje0BuYW1lfSIvPgorICA8L3hzbDp0ZW1wbGF0ZT4KKyAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iL2FwaS9zeW1ib2xzL3R5cGVkZWYiPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ7QG5hbWV9IiBsaW5rPSJsaWJ4bWwyLXtAZmlsZX0uaHRtbCN7QG5hbWV9Ii8+CisgIDwveHNsOnRlbXBsYXRlPgorICA8eHNsOnRlbXBsYXRlIG1hdGNoPSIvYXBpL3N5bWJvbHMvZW51bSI+CisgICAgPGZ1bmN0aW9uIG5hbWU9IntAbmFtZX0iIGxpbms9ImxpYnhtbDIte0BmaWxlfS5odG1sI3tAbmFtZX0iLz4KKyAgPC94c2w6dGVtcGxhdGU+CisgIDx4c2w6dGVtcGxhdGUgbWF0Y2g9Ii9hcGkvc3ltYm9scy9zdHJ1Y3QiPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ7QG5hbWV9IiBsaW5rPSJsaWJ4bWwyLXtAZmlsZX0uaHRtbCN7QG5hbWV9Ii8+CisgIDwveHNsOnRlbXBsYXRlPgorICA8eHNsOnRlbXBsYXRlIG1hdGNoPSIvYXBpL3N5bWJvbHMvbWFjcm8iPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ7QG5hbWV9IiBsaW5rPSJsaWJ4bWwyLXtAZmlsZX0uaHRtbCN7QG5hbWV9Ii8+CisgIDwveHNsOnRlbXBsYXRlPgorICA8eHNsOnRlbXBsYXRlIG1hdGNoPSIvYXBpL3N5bWJvbHMvdmFyaWFibGUiPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ7QG5hbWV9IiBsaW5rPSJsaWJ4bWwyLXtAZmlsZX0uaHRtbCN7QG5hbWV9Ii8+CisgIDwveHNsOnRlbXBsYXRlPgorCis8L3hzbDpzdHlsZXNoZWV0PgorCisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2RldmhlbHAvZ2VuZXJhbC5odG1sIGIvbGlieG1sMi9kb2MvZGV2aGVscC9nZW5lcmFsLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjhmOTM4MAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL2RldmhlbHAvZ2VuZXJhbC5odG1sCkBAIC0wLDAgKzEsMzggQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8aHRtbD4KKyAgPGhlYWQ+CisgICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiLz4KKyAgICA8dGl0bGU+bGlieG1sMjogPC90aXRsZT4KKyAgICA8bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9IkxpYnhtbDIgZGV2aGVscCBzdHlsZXNoZWV0Ii8+CisgICAgPGxpbmsgcmVsPSJzdGFydCIgaHJlZj0iaW5kZXguaHRtbCIgdGl0bGU9ImxpYnhtbDIgUmVmZXJlbmNlIE1hbnVhbCIvPgorICAgIDxsaW5rIHJlbD0idXAiIGhyZWY9ImluZGV4Lmh0bWwiIHRpdGxlPSJsaWJ4bWwyIFJlZmVyZW5jZSBNYW51YWwiLz4KKyAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9InN0eWxlLmNzcyIgdHlwZT0idGV4dC9jc3MiLz4KKyAgICA8bGluayByZWw9ImNoYXB0ZXIiIGhyZWY9ImluZGV4Lmh0bWwiIHRpdGxlPSJsaWJ4bWwyIFJlZmVyZW5jZSBNYW51YWwiLz4KKyAgPC9oZWFkPgorICA8Ym9keSBiZ2NvbG9yPSJ3aGl0ZSIgdGV4dD0iYmxhY2siIGxpbms9IiMwMDAwRkYiIHZsaW5rPSIjODQwMDg0IiBhbGluaz0iIzAwMDBGRiI+CisgICAgPHRhYmxlIGNsYXNzPSJuYXZpZ2F0aW9uIiB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBoZWFkZXIiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMiI+CisgICAgICA8dHIgdmFsaWduPSJtaWRkbGUiPgorICAgICAgICA8dGQ+CisgICAgICAgICAgPGEgYWNjZXNza2V5PSJ1IiBocmVmPSJpbmRleC5odG1sIj4KKyAgICAgICAgICAgIDxpbWcgc3JjPSJ1cC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlVwIi8+CisgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGQ+CisgICAgICAgICAgPGEgYWNjZXNza2V5PSJoIiBocmVmPSJpbmRleC5odG1sIj4KKyAgICAgICAgICAgIDxpbWcgc3JjPSJob21lLnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iSG9tZSIvPgorICAgICAgICAgIDwvYT4KKyAgICAgICAgPC90ZD4KKyAgICAgICAgPHRkPgorICAgICAgICAgIDxhIGFjY2Vzc2tleT0ibiIgaHJlZj0ibGlieG1sMi1ET0NCcGFyc2VyLmh0bWwiPgorICAgICAgICAgICAgPGltZyBzcmM9InJpZ2h0LnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iTmV4dCIvPgorICAgICAgICAgIDwvYT4KKyAgICAgICAgPC90ZD4KKyAgICAgICAgPHRoIHdpZHRoPSIxMDAlIiBhbGlnbj0iY2VudGVyIj5saWJ4bWwyIFJlZmVyZW5jZSBNYW51YWw8L3RoPgorICAgICAgPC90cj4KKyAgICA8L3RhYmxlPgorICAgIDxoMj4KKyAgICAgIDxzcGFuIGNsYXNzPSJyZWZlbnRyeXRpdGxlIj5saWJ4bWwyIEFQSSBNb2R1bGVzPC9zcGFuPgorICAgIDwvaDI+CisgICAgPHA+PGEgaHJlZj0ibGlieG1sMi1ET0NCcGFyc2VyLmh0bWwiPkRPQ0JwYXJzZXI8L2E+IC0gb2xkIERvY0Jvb2sgU0dNTCBwYXJzZXI8YnIvPjxhIGhyZWY9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sIj5IVE1McGFyc2VyPC9hPiAtIGludGVyZmFjZSBmb3IgYW4gSFRNTCA0LjAgbm9uLXZlcmlmeWluZyBwYXJzZXI8YnIvPjxhIGhyZWY9ImxpYnhtbDItSFRNTHRyZWUuaHRtbCI+SFRNTHRyZWU8L2E+IC0gc3BlY2lmaWMgQVBJcyB0byBwcm9jZXNzIEhUTUwgdHJlZSwgZXNwZWNpYWxseSBzZXJpYWxpemF0aW9uPGJyLz48YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sIj5TQVg8L2E+IC0gT2xkIFNBWCB2ZXJzaW9uIDEgaGFuZGxlciwgZGVwcmVjYXRlZDxici8+PGEgaHJlZj0ibGlieG1sMi1TQVgyLmh0bWwiPlNBWDI8L2E+IC0gU0FYMiBwYXJzZXIgaW50ZXJmYWNlIHVzZWQgdG8gYnVpbGQgdGhlIERPTSB0cmVlPGJyLz48YSBocmVmPSJsaWJ4bWwyLWMxNG4uaHRtbCI+YzE0bjwvYT4gLSBQcm92aWRlIENhbm9uaWNhbCBYTUwgYW5kIEV4Y2x1c2l2ZSBYTUwgQ2Fub25pY2FsaXphdGlvbjxici8+PGEgaHJlZj0ibGlieG1sMi1jYXRhbG9nLmh0bWwiPmNhdGFsb2c8L2E+IC0gaW50ZXJmYWNlcyB0byB0aGUgQ2F0YWxvZyBoYW5kbGluZyBzeXN0ZW08YnIvPjxhIGhyZWY9ImxpYnhtbDItY2h2YWxpZC5odG1sIj5jaHZhbGlkPC9hPiAtIFVuaWNvZGUgY2hhcmFjdGVyIHJhbmdlIGNoZWNraW5nPGJyLz48YSBocmVmPSJsaWJ4bWwyLWRlYnVnWE1MLmh0bWwiPmRlYnVnWE1MPC9hPiAtIFRyZWUgZGVidWdnaW5nIEFQSXM8YnIvPjxhIGhyZWY9ImxpYnhtbDItZGljdC5odG1sIj5kaWN0PC9hPiAtIHN0cmluZyBkaWN0aW9ubmFyeTxici8+PGEgaHJlZj0ibGlieG1sMi1lbmNvZGluZy5odG1sIj5lbmNvZGluZzwvYT4gLSBpbnRlcmZhY2UgZm9yIHRoZSBlbmNvZGluZyBjb252ZXJzaW9uIGZ1bmN0aW9uczxici8+PGEgaHJlZj0ibGlieG1sMi1lbnRpdGllcy5odG1sIj5lbnRpdGllczwvYT4gLSBpbnRlcmZhY2UgZm9yIHRoZSBYTUwgZW50aXRpZXMgaGFuZGxpbmc8YnIvPjxhIGhyZWY9ImxpYnhtbDItZ2xvYmFscy5odG1sIj5nbG9iYWxzPC9hPiAtIGludGVyZmFjZSBmb3IgYWxsIGdsb2JhbCB2YXJpYWJsZXMgb2YgdGhlIGxpYnJhcnk8YnIvPjxhIGhyZWY9ImxpYnhtbDItaGFzaC5odG1sIj5oYXNoPC9hPiAtIENoYWluZWQgaGFzaCB0YWJsZXM8YnIvPjxhIGhyZWY9ImxpYnhtbDItbGlzdC5odG1sIj5saXN0PC9hPiAtIGxpc3RzIGludGVyZmFjZXM8YnIvPjxhIGhyZWY9ImxpYnhtbDItbmFub2Z0cC5odG1sIj5uYW5vZnRwPC9hPiAtIG1pbmltYWwgRlRQIGltcGxlbWVudGF0aW9uPGJyLz48YSBocmVmPSJsaWJ4bWwyLW5hbm9odHRwLmh0bWwiPm5hbm9odHRwPC9hPiAtIG1pbmltYWwgSFRUUCBpbXBsZW1lbnRhdGlvbjxici8+PGEgaHJlZj0ibGlieG1sMi1wYXJzZXIuaHRtbCI+cGFyc2VyPC9hPiAtIHRoZSBjb3JlIHBhcnNlciBtb2R1bGU8YnIvPjxhIGhyZWY9ImxpYnhtbDItcGFyc2VySW50ZXJuYWxzLmh0bWwiPnBhcnNlckludGVybmFsczwvYT4gLSBpbnRlcm5hbHMgcm91dGluZXMgYW5kIGxpbWl0cyBleHBvcnRlZCBieSB0aGUgcGFyc2VyLjxici8+PGEgaHJlZj0ibGlieG1sMi1wYXR0ZXJuLmh0bWwiPnBhdHRlcm48L2E+IC0gcGF0dGVybiBleHByZXNzaW9uIGhhbmRsaW5nPGJyLz48YSBocmVmPSJsaWJ4bWwyLXJlbGF4bmcuaHRtbCI+cmVsYXhuZzwvYT4gLSBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgUmVsYXgtTkcgdmFsaWRhdGlvbjxici8+PGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwiPnNjaGVtYXNJbnRlcm5hbHM8L2E+IC0gaW50ZXJuYWwgaW50ZXJmYWNlcyBmb3IgWE1MIFNjaGVtYXM8YnIvPjxhIGhyZWY9ImxpYnhtbDItc2NoZW1hdHJvbi5odG1sIj5zY2hlbWF0cm9uPC9hPiAtIFhNTCBTY2hlbWFzdHJvbiBpbXBsZW1lbnRhdGlvbjxici8+PGEgaHJlZj0ibGlieG1sMi10aHJlYWRzLmh0bWwiPnRocmVhZHM8L2E+IC0gaW50ZXJmYWNlcyBmb3IgdGhyZWFkIGhhbmRsaW5nPGJyLz48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCI+dHJlZTwvYT4gLSBpbnRlcmZhY2VzIGZvciB0cmVlIG1hbmlwdWxhdGlvbjxici8+PGEgaHJlZj0ibGlieG1sMi11cmkuaHRtbCI+dXJpPC9hPiAtIGxpYnJhcnkgb2YgZ2VuZXJpYyBVUkkgcmVsYXRlZCByb3V0aW5lczxici8+PGEgaHJlZj0ibGlieG1sMi12YWxpZC5odG1sIj52YWxpZDwvYT4gLSBUaGUgRFREIHZhbGlkYXRpb248YnIvPjxhIGhyZWY9ImxpYnhtbDIteGluY2x1ZGUuaHRtbCI+eGluY2x1ZGU8L2E+IC0gaW1wbGVtZW50YXRpb24gb2YgWEluY2x1ZGU8YnIvPjxhIGhyZWY9ImxpYnhtbDIteGxpbmsuaHRtbCI+eGxpbms8L2E+IC0gdW5maW5pc2hlZCBYTGluayBkZXRlY3Rpb24gbW9kdWxlPGJyLz48YSBocmVmPSJsaWJ4bWwyLXhtbElPLmh0bWwiPnhtbElPPC9hPiAtIGludGVyZmFjZSBmb3IgdGhlIEkvTyBpbnRlcmZhY2VzIHVzZWQgYnkgdGhlIHBhcnNlcjxici8+PGEgaHJlZj0ibGlieG1sMi14bWxhdXRvbWF0YS5odG1sIj54bWxhdXRvbWF0YTwvYT4gLSBBUEkgdG8gYnVpbGQgcmVnZXhwIGF1dG9tYXRhPGJyLz48YSBocmVmPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwiPnhtbGVycm9yPC9hPiAtIGVycm9yIGhhbmRsaW5nPGJyLz48YSBocmVmPSJsaWJ4bWwyLXhtbGV4cG9ydHMuaHRtbCI+eG1sZXhwb3J0czwvYT4gLSBtYWNyb3MgZm9yIG1hcmtpbmcgc3ltYm9scyBhcyBleHBvcnRhYmxlL2ltcG9ydGFibGUuPGJyLz48YSBocmVmPSJsaWJ4bWwyLXhtbG1lbW9yeS5odG1sIj54bWxtZW1vcnk8L2E+IC0gaW50ZXJmYWNlIGZvciB0aGUgbWVtb3J5IGFsbG9jYXRvcjxici8+PGEgaHJlZj0ibGlieG1sMi14bWxtb2R1bGUuaHRtbCI+eG1sbW9kdWxlPC9hPiAtIGR5bmFtaWMgbW9kdWxlIGxvYWRpbmc8YnIvPjxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwiPnhtbHJlYWRlcjwvYT4gLSB0aGUgWE1MUmVhZGVyIGltcGxlbWVudGF0aW9uPGJyLz48YSBocmVmPSJsaWJ4bWwyLXhtbHJlZ2V4cC5odG1sIj54bWxyZWdleHA8L2E+IC0gcmVndWxhciBleHByZXNzaW9ucyBoYW5kbGluZzxici8+PGEgaHJlZj0ibGlieG1sMi14bWxzYXZlLmh0bWwiPnhtbHNhdmU8L2E+IC0gdGhlIFhNTCBkb2N1bWVudCBzZXJpYWxpemVyPGJyLz48YSBocmVmPSJsaWJ4bWwyLXhtbHNjaGVtYXMuaHRtbCI+eG1sc2NoZW1hczwvYT4gLSBpbmNvbXBsZXRlIFhNTCBTY2hlbWFzIHN0cnVjdHVyZSBpbXBsZW1lbnRhdGlvbjxici8+PGEgaHJlZj0ibGlieG1sMi14bWxzY2hlbWFzdHlwZXMuaHRtbCI+eG1sc2NoZW1hc3R5cGVzPC9hPiAtIGltcGxlbWVudGF0aW9uIG9mIFhNTCBTY2hlbWEgRGF0YXR5cGVzPGJyLz48YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sIj54bWxzdHJpbmc8L2E+IC0gc2V0IG9mIHJvdXRpbmVzIHRvIHByb2Nlc3Mgc3RyaW5nczxici8+PGEgaHJlZj0ibGlieG1sMi14bWx1bmljb2RlLmh0bWwiPnhtbHVuaWNvZGU8L2E+IC0gVW5pY29kZSBjaGFyYWN0ZXIgQVBJczxici8+PGEgaHJlZj0ibGlieG1sMi14bWx2ZXJzaW9uLmh0bWwiPnhtbHZlcnNpb248L2E+IC0gY29tcGlsZS10aW1lIHZlcnNpb24gaW5mb3JtYXRpb25zPGJyLz48YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sIj54bWx3cml0ZXI8L2E+IC0gdGV4dCB3cml0aW5nIEFQSSBmb3IgWE1MPGJyLz48YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwiPnhwYXRoPC9hPiAtIFhNTCBQYXRoIExhbmd1YWdlIGltcGxlbWVudGF0aW9uPGJyLz48YSBocmVmPSJsaWJ4bWwyLXhwYXRoSW50ZXJuYWxzLmh0bWwiPnhwYXRoSW50ZXJuYWxzPC9hPiAtIGludGVybmFsIGludGVyZmFjZXMgZm9yIFhNTCBQYXRoIExhbmd1YWdlIGltcGxlbWVudGF0aW9uPGJyLz48YSBocmVmPSJsaWJ4bWwyLXhwb2ludGVyLmh0bWwiPnhwb2ludGVyPC9hPiAtIEFQSSB0byBoYW5kbGUgWE1MIFBvaW50ZXJzPGJyLz48L3A+CisgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2RldmhlbHAvaG9tZS5wbmcgYi9saWJ4bWwyL2RvYy9kZXZoZWxwL2hvbWUucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE3MDAzNjEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9kZXZoZWxwL2hvbWUucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2RldmhlbHAvaHRtbC54c2wgYi9saWJ4bWwyL2RvYy9kZXZoZWxwL2h0bWwueHNsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE3MjBiMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9kZXZoZWxwL2h0bWwueHNsCkBAIC0wLDAgKzEsNjAyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzx4c2w6c3R5bGVzaGVldCB4bWxuczp4c2w9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvWFNML1RyYW5zZm9ybSIgdmVyc2lvbj0iMS4wIgorCQl4bWxuczpleHNsPSJodHRwOi8vZXhzbHQub3JnL2NvbW1vbiIKKwkJeG1sbnM6c3RyPSJodHRwOi8vZXhzbHQub3JnL3N0cmluZ3MiCisJCWV4dGVuc2lvbi1lbGVtZW50LXByZWZpeGVzPSJleHNsIHN0ciIKKwkJZXhjbHVkZS1yZXN1bHQtcHJlZml4ZXM9ImV4c2wgc3RyIj4KKyAgPHhzbDpvdXRwdXQgbWV0aG9kPSJ4bWwiIGVuY29kaW5nPSJVVEYtOCIgaW5kZW50PSJ5ZXMiLz4KKworICA8IS0tIFRoaXMgaXMgY29udm9sdXRlZCBidXQgbmVlZGVkIHRvIGZvcmNlIHRoZSBjdXJyZW50IGRvY3VtZW50IHRvCisgICAgICAgYmUgdGhlIEFQSSBvbmUgYW5kIG5vdCB0aGUgcmVzdWx0IHRyZWUgZnJvbSB0aGUgdG9rZW5pemUoKSByZXN1bHQsCisgICAgICAgYmVjYXVzZSB0aGUga2V5cyBhcmUgb25seSBkZWZpbmVkIG9uIHRoZSBtYWluIGRvY3VtZW50IC0tPgorICA8eHNsOnRlbXBsYXRlIG1vZGU9ImR1bXB0b2tlbiIgbWF0Y2g9JyonPgorICAgIDx4c2w6cGFyYW0gbmFtZT0idG9rZW4iLz4KKyAgICA8eHNsOnZhcmlhYmxlIG5hbWU9InJlZiIgc2VsZWN0PSJrZXkoJ3N5bWJvbHMnLCAkdG9rZW4pIi8+CisgICAgPHhzbDpjaG9vc2U+CisgICAgICA8eHNsOndoZW4gdGVzdD0iJHJlZiI+CisgICAgICAgIDxhIGhyZWY9ImxpYnhtbDIteyRyZWYvQGZpbGV9Lmh0bWwjeyRyZWYvQG5hbWV9Ij48eHNsOnZhbHVlLW9mIHNlbGVjdD0iJHRva2VuIi8+PC9hPgorICAgICAgPC94c2w6d2hlbj4KKyAgICAgIDx4c2w6b3RoZXJ3aXNlPgorICAgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iJHRva2VuIi8+CisgICAgICA8L3hzbDpvdGhlcndpc2U+CisgICAgPC94c2w6Y2hvb3NlPgorICA8L3hzbDp0ZW1wbGF0ZT4KKworICA8IS0tIGR1bXBzIGEgc3RyaW5nLCBtYWtpbmcgY3Jvc3MtcmVmZXJlbmNlIGxpbmtzIC0tPgorICA8eHNsOnRlbXBsYXRlIG5hbWU9ImR1bXB0ZXh0Ij4KKyAgICA8eHNsOnBhcmFtIG5hbWU9InRleHQiLz4KKyAgICA8eHNsOnZhcmlhYmxlIG5hbWU9ImN0eHQiIHNlbGVjdD0nLicvPgorICAgIDwhLS0gPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiR0ZXh0Ii8+IC0tPgorICAgIDx4c2w6Zm9yLWVhY2ggc2VsZWN0PSJzdHI6dG9rZW5pemUoJHRleHQsICcgJiM5OycpIj4KKyAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iJGN0eHQiIG1vZGU9J2R1bXB0b2tlbic+CisgICAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJ0b2tlbiIgc2VsZWN0PSJzdHJpbmcoLikiLz4KKyAgICAgIDwveHNsOmFwcGx5LXRlbXBsYXRlcz4KKyAgICAgIDx4c2w6aWYgdGVzdD0icG9zaXRpb24oKSAhPSBsYXN0KCkiPgorICAgICAgICA8eHNsOnRleHQ+IDwveHNsOnRleHQ+CisgICAgICA8L3hzbDppZj4KKyAgICA8L3hzbDpmb3ItZWFjaD4KKyAgPC94c2w6dGVtcGxhdGU+CisKKzwhLS0KKworICAgICAgICAgICAgIFRoZSBmb2xsb3dpbmcgYnVpbGRzIHRoZSBTeW5vcHNpcyBzZWN0aW9uCisKKy0tPgorICA8eHNsOnRlbXBsYXRlIG1vZGU9InN5bm9wc2lzIiBtYXRjaD0iZnVuY3Rpb24iPgorICAgIDx4c2w6dmFyaWFibGUgbmFtZT0ibmFtZSIgc2VsZWN0PSJzdHJpbmcoQG5hbWUpIi8+CisgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJubGVuIiBzZWxlY3Q9InN0cmluZy1sZW5ndGgoJG5hbWUpIi8+CisgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJ0bGVuIiBzZWxlY3Q9InN0cmluZy1sZW5ndGgocmV0dXJuL0B0eXBlKSIvPgorICAgIDx4c2w6dmFyaWFibGUgbmFtZT0iYmxlbiIgc2VsZWN0PSIoKCRubGVuICsgOCkgLSAoKCRubGVuICsgOCkgbW9kIDgpKSArICgoJHRsZW4gKyA4KSAtICgoJHRsZW4gKyA4KSBtb2QgOCkpIi8+CisgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImR1bXB0ZXh0Ij4KKyAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJ0ZXh0IiBzZWxlY3Q9InJldHVybi9AdHlwZSIvPgorICAgIDwveHNsOmNhbGwtdGVtcGxhdGU+CisgICAgPHhzbDp0ZXh0PiYjOTs8L3hzbDp0ZXh0PgorICAgIDxhIGhyZWY9IiN7QG5hbWV9Ij48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz48L2E+CisgICAgPHhzbDppZiB0ZXN0PSIkYmxlbiAtIDQwICZsdDsgLTgiPgorICAgICAgPHhzbDp0ZXh0PiYjOTs8L3hzbDp0ZXh0PgorICAgIDwveHNsOmlmPgorICAgIDx4c2w6aWYgdGVzdD0iJGJsZW4gLSA0MCAmbHQ7IDAiPgorICAgICAgPHhzbDp0ZXh0PiYjOTs8L3hzbDp0ZXh0PgorICAgIDwveHNsOmlmPgorICAgIDx4c2w6dGV4dD4mIzk7KDwveHNsOnRleHQ+CisgICAgPHhzbDppZiB0ZXN0PSJub3QoYXJnKSI+CisgICAgICA8eHNsOnRleHQ+dm9pZDwveHNsOnRleHQ+CisgICAgPC94c2w6aWY+CisgICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9ImFyZyI+CisgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iZHVtcHRleHQiPgorICAgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0idGV4dCIgc2VsZWN0PSJAdHlwZSIvPgorICAgICAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKyAgICAgIDx4c2w6dGV4dD4gPC94c2w6dGV4dD4KKyAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPgorICAgICAgPHhzbDppZiB0ZXN0PSJwb3NpdGlvbigpICE9IGxhc3QoKSI+CisgICAgICAgIDx4c2w6dGV4dD4sIDwveHNsOnRleHQ+PGJyLz4KKwk8eHNsOmlmIHRlc3Q9IiRibGVuIC0gNDAgJmd0OyA4Ij4KKwkgIDx4c2w6dGV4dD4mIzk7PC94c2w6dGV4dD4KKwk8L3hzbDppZj4KKwk8eHNsOmlmIHRlc3Q9IiRibGVuIC0gNDAgJmd0OyAwIj4KKwkgIDx4c2w6dGV4dD4mIzk7PC94c2w6dGV4dD4KKwk8L3hzbDppZj4KKwk8eHNsOnRleHQ+JiM5OyYjOTsmIzk7JiM5OyYjOTsgPC94c2w6dGV4dD4KKyAgICAgIDwveHNsOmlmPgorICAgIDwveHNsOmZvci1lYWNoPgorICAgIDx4c2w6dGV4dD4pOzwveHNsOnRleHQ+CisgICAgPHhzbDp0ZXh0PgorPC94c2w6dGV4dD4KKyAgPC94c2w6dGVtcGxhdGU+CisKKyAgPHhzbDp0ZW1wbGF0ZSBtb2RlPSJzeW5vcHNpcyIgbWF0Y2g9ImZ1bmN0eXBlIj4KKyAgICA8eHNsOnZhcmlhYmxlIG5hbWU9Im5hbWUiIHNlbGVjdD0ic3RyaW5nKEBuYW1lKSIvPgorICAgIDx4c2w6dmFyaWFibGUgbmFtZT0ibmxlbiIgc2VsZWN0PSJzdHJpbmctbGVuZ3RoKCRuYW1lKSIvPgorICAgIDx4c2w6dmFyaWFibGUgbmFtZT0idGxlbiIgc2VsZWN0PSJzdHJpbmctbGVuZ3RoKHJldHVybi9AdHlwZSkiLz4KKyAgICA8eHNsOnZhcmlhYmxlIG5hbWU9ImJsZW4iIHNlbGVjdD0iKCgkbmxlbiArIDgpIC0gKCgkbmxlbiArIDgpIG1vZCA4KSkgKyAoKCR0bGVuICsgOCkgLSAoKCR0bGVuICsgOCkgbW9kIDgpKSIvPgorICAgIDx4c2w6dGV4dD50eXBlZGVmIDwveHNsOnRleHQ+CisgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImR1bXB0ZXh0Ij4KKyAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJ0ZXh0IiBzZWxlY3Q9InJldHVybi9AdHlwZSIvPgorICAgIDwveHNsOmNhbGwtdGVtcGxhdGU+CisgICAgPHhzbDp0ZXh0PiA8L3hzbDp0ZXh0PgorICAgIDxhIGhyZWY9IiN7QG5hbWV9Ij48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz48L2E+CisgICAgPHhzbDppZiB0ZXN0PSIkYmxlbiAtIDQwICZsdDsgLTgiPgorICAgICAgPHhzbDp0ZXh0PiYjOTs8L3hzbDp0ZXh0PgorICAgIDwveHNsOmlmPgorICAgIDx4c2w6aWYgdGVzdD0iJGJsZW4gLSA0MCAmbHQ7IDAiPgorICAgICAgPHhzbDp0ZXh0PiYjOTs8L3hzbDp0ZXh0PgorICAgIDwveHNsOmlmPgorICAgIDx4c2w6dGV4dD4mIzk7KDwveHNsOnRleHQ+CisgICAgPHhzbDppZiB0ZXN0PSJub3QoYXJnKSI+CisgICAgICA8eHNsOnRleHQ+dm9pZDwveHNsOnRleHQ+CisgICAgPC94c2w6aWY+CisgICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9ImFyZyI+CisgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iZHVtcHRleHQiPgorICAgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0idGV4dCIgc2VsZWN0PSJAdHlwZSIvPgorICAgICAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKyAgICAgIDx4c2w6dGV4dD4gPC94c2w6dGV4dD4KKyAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPgorICAgICAgPHhzbDppZiB0ZXN0PSJwb3NpdGlvbigpICE9IGxhc3QoKSI+CisgICAgICAgIDx4c2w6dGV4dD4sIDwveHNsOnRleHQ+PGJyLz4KKwk8eHNsOmlmIHRlc3Q9IiRibGVuIC0gNDAgJmd0OyA4Ij4KKwkgIDx4c2w6dGV4dD4mIzk7PC94c2w6dGV4dD4KKwk8L3hzbDppZj4KKwk8eHNsOmlmIHRlc3Q9IiRibGVuIC0gNDAgJmd0OyAwIj4KKwkgIDx4c2w6dGV4dD4mIzk7PC94c2w6dGV4dD4KKwk8L3hzbDppZj4KKwk8eHNsOnRleHQ+JiM5OyYjOTsmIzk7JiM5OyYjOTsgPC94c2w6dGV4dD4KKyAgICAgIDwveHNsOmlmPgorICAgIDwveHNsOmZvci1lYWNoPgorICAgIDx4c2w6dGV4dD4pOzwveHNsOnRleHQ+CisgICAgPHhzbDp0ZXh0PgorPC94c2w6dGV4dD4KKyAgPC94c2w6dGVtcGxhdGU+CisKKyAgPHhzbDp0ZW1wbGF0ZSBtb2RlPSJzeW5vcHNpcyIgbWF0Y2g9ImV4cG9ydHNbQHR5cGU9J2Z1bmN0aW9uJ10iPgorICAgIDx4c2w6dmFyaWFibGUgbmFtZT0iZGVmIiBzZWxlY3Q9ImtleSgnc3ltYm9scycsQHN5bWJvbCkiLz4KKyAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBtb2RlPSJzeW5vcHNpcyIgc2VsZWN0PSIkZGVmIi8+CisgIDwveHNsOnRlbXBsYXRlPgorCisgIDx4c2w6dGVtcGxhdGUgbW9kZT0ic3lub3BzaXMiIG1hdGNoPSJleHBvcnRzW0B0eXBlPSd0eXBlZGVmJ10iPgorICAgIDx4c2w6dGV4dD50eXBlZGVmIDwveHNsOnRleHQ+CisgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImR1bXB0ZXh0Ij4KKyAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJ0ZXh0IiBzZWxlY3Q9InN0cmluZyhrZXkoJ3N5bWJvbHMnLEBzeW1ib2wpL0B0eXBlKSIvPgorICAgIDwveHNsOmNhbGwtdGVtcGxhdGU+CisgICAgPHhzbDp0ZXh0PiA8L3hzbDp0ZXh0PgorICAgIDxhIGhyZWY9IiN7QHN5bWJvbH0iPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAc3ltYm9sIi8+PC9hPgorICAgIDx4c2w6dGV4dD47Cis8L3hzbDp0ZXh0PgorICA8L3hzbDp0ZW1wbGF0ZT4KKworICA8eHNsOnRlbXBsYXRlIG1vZGU9InN5bm9wc2lzIiBtYXRjaD0iZXhwb3J0c1tAdHlwZT0nbWFjcm8nXSI+CisgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJkZWYiIHNlbGVjdD0ia2V5KCdzeW1ib2xzJyxAc3ltYm9sKSIvPgorICAgIDx4c2w6dGV4dD4jZGVmaW5lIDwveHNsOnRleHQ+CisgICAgPGEgaHJlZj0iI3tAc3ltYm9sfSI+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBzeW1ib2wiLz48L2E+CisgICAgPHhzbDppZiB0ZXN0PSIkZGVmL2FyZyI+CisgICAgICA8eHNsOnRleHQ+KDwveHNsOnRleHQ+CisgICAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0iJGRlZi9hcmciPgorICAgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz4KKwk8eHNsOmlmIHRlc3Q9InBvc2l0aW9uKCkgIT0gbGFzdCgpIj4KKwkgIDx4c2w6dGV4dD4sIDwveHNsOnRleHQ+CisJPC94c2w6aWY+CisgICAgICA8L3hzbDpmb3ItZWFjaD4KKyAgICAgIDx4c2w6dGV4dD4pPC94c2w6dGV4dD4KKyAgICA8L3hzbDppZj4KKyAgICA8eHNsOnRleHQ+OworPC94c2w6dGV4dD4KKyAgPC94c2w6dGVtcGxhdGU+CisgIDx4c2w6dGVtcGxhdGUgbW9kZT0ic3lub3BzaXMiIG1hdGNoPSJleHBvcnRzW0B0eXBlPSdlbnVtJ10iPgorICA8L3hzbDp0ZW1wbGF0ZT4KKyAgPHhzbDp0ZW1wbGF0ZSBtb2RlPSJzeW5vcHNpcyIgbWF0Y2g9ImV4cG9ydHNbQHR5cGU9J3N0cnVjdCddIj4KKyAgPC94c2w6dGVtcGxhdGU+CisKKzwhLS0KKworICAgICAgICAgICAgIFRoZSBmb2xsb3dpbmcgYnVpbGRzIHRoZSBEZXRhaWxzIHNlY3Rpb24KKworLS0+CisgIDx4c2w6dGVtcGxhdGUgbW9kZT0iZGV0YWlscyIgbWF0Y2g9InN0cnVjdCI+CisgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJuYW1lIiBzZWxlY3Q9InN0cmluZyhAbmFtZSkiLz4KKyAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPgorICAgIDxoMz48YSBuYW1lPSJ7JG5hbWV9Ij5TdHJ1Y3R1cmUgPC9hPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkbmFtZSIvPjwvaDM+CisgICAgPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPgorICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAdHlwZSIvPjx4c2w6dGV4dD4geworPC94c2w6dGV4dD4KKyAgICA8eHNsOmlmIHRlc3Q9Im5vdChmaWVsZCkiPgorICAgICAgPHhzbDp0ZXh0PlRoZSBjb250ZW50IG9mIHRoaXMgc3RydWN0dXJlIGlzIG5vdCBtYWRlIHB1YmxpYyBieSB0aGUgQVBJLgorPC94c2w6dGV4dD4KKyAgICA8L3hzbDppZj4KKyAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0iZmllbGQiPgorICAgICAgICA8eHNsOnRleHQ+ICAgIDwveHNsOnRleHQ+CisJPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImR1bXB0ZXh0Ij4KKwkgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJ0ZXh0IiBzZWxlY3Q9IkB0eXBlIi8+CisJPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKwk8eHNsOnRleHQ+JiM5OzwveHNsOnRleHQ+CisJPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+CisJPHhzbDppZiB0ZXN0PSJAaW5mbyAhPSAnJyI+CisJICA8eHNsOnRleHQ+JiM5OzogPC94c2w6dGV4dD4KKwkgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJkdW1wdGV4dCI+CisJICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJ0ZXh0IiBzZWxlY3Q9InN1YnN0cmluZyhAaW5mbywgMSwgNzApIi8+CisJICA8L3hzbDpjYWxsLXRlbXBsYXRlPgorCTwveHNsOmlmPgorCTx4c2w6dGV4dD4KKzwveHNsOnRleHQ+CisgICAgPC94c2w6Zm9yLWVhY2g+CisgICAgPHhzbDp0ZXh0Pn0gPC94c2w6dGV4dD4KKyAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iJG5hbWUiLz4KKyAgICA8eHNsOnRleHQ+OworPC94c2w6dGV4dD4KKyAgICA8L3ByZT4KKyAgICA8cD4KKyAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iZHVtcHRleHQiPgorICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9InRleHQiIHNlbGVjdD0iaW5mbyIvPgorICAgIDwveHNsOmNhbGwtdGVtcGxhdGU+CisgICAgPC9wPjx4c2w6dGV4dD4KKzwveHNsOnRleHQ+CisgICAgPC9kaXY+PGhyLz4KKyAgPC94c2w6dGVtcGxhdGU+CisKKyAgPHhzbDp0ZW1wbGF0ZSBtb2RlPSJkZXRhaWxzIiBtYXRjaD0idHlwZWRlZltAdHlwZSAhPSAnZW51bSddIj4KKyAgICA8eHNsOnZhcmlhYmxlIG5hbWU9Im5hbWUiIHNlbGVjdD0ic3RyaW5nKEBuYW1lKSIvPgorICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+CisgICAgPGgzPjxhIG5hbWU9InskbmFtZX0iPlR5cGVkZWYgPC9hPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkbmFtZSIvPjwvaDM+CisgICAgPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPgorICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJkdW1wdGV4dCI+CisgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0idGV4dCIgc2VsZWN0PSJzdHJpbmcoQHR5cGUpIi8+CisgICAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKyAgICA8eHNsOnRleHQ+IDwveHNsOnRleHQ+CisgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRuYW1lIi8+CisgICAgPHhzbDp0ZXh0PjsKKzwveHNsOnRleHQ+CisgICAgPC9wcmU+CisgICAgPHA+CisgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImR1bXB0ZXh0Ij4KKyAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJ0ZXh0IiBzZWxlY3Q9ImluZm8iLz4KKyAgICA8L3hzbDpjYWxsLXRlbXBsYXRlPgorICAgIDwvcD48eHNsOnRleHQ+Cis8L3hzbDp0ZXh0PgorICAgIDwvZGl2Pjxoci8+CisgIDwveHNsOnRlbXBsYXRlPgorCisgIDx4c2w6dGVtcGxhdGUgbW9kZT0iZGV0YWlscyIgbWF0Y2g9InZhcmlhYmxlIj4KKyAgICA8eHNsOnZhcmlhYmxlIG5hbWU9Im5hbWUiIHNlbGVjdD0ic3RyaW5nKEBuYW1lKSIvPgorICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+CisgICAgPGgzPjxhIG5hbWU9InskbmFtZX0iPlZhcmlhYmxlIDwvYT48eHNsOnZhbHVlLW9mIHNlbGVjdD0iJG5hbWUiLz48L2gzPgorICAgIDxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4KKyAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iZHVtcHRleHQiPgorICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9InRleHQiIHNlbGVjdD0ic3RyaW5nKEB0eXBlKSIvPgorICAgIDwveHNsOmNhbGwtdGVtcGxhdGU+CisgICAgPHhzbDp0ZXh0PiA8L3hzbDp0ZXh0PgorICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkbmFtZSIvPgorICAgIDx4c2w6dGV4dD47Cis8L3hzbDp0ZXh0PgorICAgIDwvcHJlPgorICAgIDxwPgorICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJkdW1wdGV4dCI+CisgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0idGV4dCIgc2VsZWN0PSJpbmZvIi8+CisgICAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKyAgICA8L3A+PHhzbDp0ZXh0PgorPC94c2w6dGV4dD4KKyAgICA8L2Rpdj48aHIvPgorICA8L3hzbDp0ZW1wbGF0ZT4KKworICA8eHNsOnRlbXBsYXRlIG1vZGU9ImRldGFpbHMiIG1hdGNoPSJ0eXBlZGVmW0B0eXBlID0gJ2VudW0nXSI+CisgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJuYW1lIiBzZWxlY3Q9InN0cmluZyhAbmFtZSkiLz4KKyAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPgorICAgIDxoMz48YSBuYW1lPSJ7JG5hbWV9Ij5FbnVtIDwvYT48eHNsOnZhbHVlLW9mIHNlbGVjdD0iJG5hbWUiLz48L2gzPgorICAgIDxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4KKyAgICA8eHNsOnRleHQ+ZW51bSA8L3hzbDp0ZXh0PgorICAgIDxhIGhyZWY9IiN7JG5hbWV9Ij48eHNsOnZhbHVlLW9mIHNlbGVjdD0iJG5hbWUiLz48L2E+CisgICAgPHhzbDp0ZXh0PiB7Cis8L3hzbDp0ZXh0PgorICAgIDx4c2w6Zm9yLWVhY2ggc2VsZWN0PSIvYXBpL3N5bWJvbHMvZW51bVtAdHlwZT0kbmFtZV0iPgorICAgICAgPHhzbDpzb3J0IHNlbGVjdD0iQHZhbHVlIiBkYXRhLXR5cGU9Im51bWJlciIgb3JkZXI9ImFzY2VuZGluZyIvPgorICAgICAgPHhzbDp0ZXh0PiAgICA8L3hzbDp0ZXh0PgorICAgICAgPGEgbmFtZT0ie0BuYW1lfSI+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+PC9hPgorICAgICAgPHhzbDppZiB0ZXN0PSJAdmFsdWUiPgorICAgICAgICA8eHNsOnRleHQ+ID0gPC94c2w6dGV4dD4KKwk8eHNsOnZhbHVlLW9mIHNlbGVjdD0iQHZhbHVlIi8+CisgICAgICA8L3hzbDppZj4KKyAgICAgIDx4c2w6aWYgdGVzdD0iQGluZm8iPgorICAgICAgICA8eHNsOnRleHQ+IC8qIDwveHNsOnRleHQ+CisJPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBpbmZvIi8+CisgICAgICAgIDx4c2w6dGV4dD4gKi88L3hzbDp0ZXh0PgorICAgICAgPC94c2w6aWY+CisgICAgICA8eHNsOnRleHQ+Cis8L3hzbDp0ZXh0PgorICAgIDwveHNsOmZvci1lYWNoPgorICAgIDx4c2w6dGV4dD59OworPC94c2w6dGV4dD4KKyAgICA8L3ByZT4KKyAgICA8cD4KKyAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iZHVtcHRleHQiPgorICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9InRleHQiIHNlbGVjdD0iaW5mbyIvPgorICAgIDwveHNsOmNhbGwtdGVtcGxhdGU+CisgICAgPC9wPjx4c2w6dGV4dD4KKzwveHNsOnRleHQ+CisgICAgPC9kaXY+PGhyLz4KKyAgPC94c2w6dGVtcGxhdGU+CisKKyAgPHhzbDp0ZW1wbGF0ZSBtb2RlPSJkZXRhaWxzIiBtYXRjaD0ibWFjcm8iPgorICAgIDx4c2w6dmFyaWFibGUgbmFtZT0ibmFtZSIgc2VsZWN0PSJzdHJpbmcoQG5hbWUpIi8+CisgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj4KKyAgICA8aDM+PGEgbmFtZT0ieyRuYW1lfSI+TWFjcm8gPC9hPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkbmFtZSIvPjwvaDM+CisgICAgPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPgorICAgIDx4c2w6dGV4dD4jZGVmaW5lIDwveHNsOnRleHQ+CisgICAgPGEgaHJlZj0iI3skbmFtZX0iPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkbmFtZSIvPjwvYT4KKyAgICA8eHNsOmlmIHRlc3Q9ImFyZyI+CisgICAgICA8eHNsOnRleHQ+KDwveHNsOnRleHQ+CisgICAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0iYXJnIj4KKyAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+CisJPHhzbDppZiB0ZXN0PSJwb3NpdGlvbigpICE9IGxhc3QoKSI+CisJICA8eHNsOnRleHQ+LCA8L3hzbDp0ZXh0PgorCTwveHNsOmlmPgorICAgICAgPC94c2w6Zm9yLWVhY2g+CisgICAgICA8eHNsOnRleHQ+KTwveHNsOnRleHQ+CisgICAgPC94c2w6aWY+CisgICAgPHhzbDp0ZXh0PjsKKzwveHNsOnRleHQ+CisgICAgPC9wcmU+CisgICAgPHA+CisgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImR1bXB0ZXh0Ij4KKyAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJ0ZXh0IiBzZWxlY3Q9ImluZm8iLz4KKyAgICA8L3hzbDpjYWxsLXRlbXBsYXRlPgorICAgIDwvcD4KKyAgICA8eHNsOmlmIHRlc3Q9ImFyZyI+CisgICAgICA8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+CisgICAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0iYXJnIj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD4KKwkgIDx0ZD4KKwkgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImR1bXB0ZXh0Ij4KKwkgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0idGV4dCIgc2VsZWN0PSJAaW5mbyIvPgorCSAgICA8L3hzbDpjYWxsLXRlbXBsYXRlPgorCSAgPC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgIDwveHNsOmZvci1lYWNoPgorICAgICAgPC90Ym9keT48L3RhYmxlPjwvZGl2PgorICAgIDwveHNsOmlmPgorICAgIDx4c2w6dGV4dD4KKzwveHNsOnRleHQ+CisgICAgPC9kaXY+PGhyLz4KKyAgPC94c2w6dGVtcGxhdGU+CisKKyAgPHhzbDp0ZW1wbGF0ZSBtb2RlPSJkZXRhaWxzIiBtYXRjaD0iZnVuY3Rpb24iPgorICAgIDx4c2w6dmFyaWFibGUgbmFtZT0ibmFtZSIgc2VsZWN0PSJzdHJpbmcoQG5hbWUpIi8+CisgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJubGVuIiBzZWxlY3Q9InN0cmluZy1sZW5ndGgoJG5hbWUpIi8+CisgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJ0bGVuIiBzZWxlY3Q9InN0cmluZy1sZW5ndGgocmV0dXJuL0B0eXBlKSIvPgorICAgIDx4c2w6dmFyaWFibGUgbmFtZT0iYmxlbiIgc2VsZWN0PSIoKCRubGVuICsgOCkgLSAoKCRubGVuICsgOCkgbW9kIDgpKSArICgoJHRsZW4gKyA4KSAtICgoJHRsZW4gKyA4KSBtb2QgOCkpIi8+CisgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj4KKyAgICA8aDM+PGEgbmFtZT0ieyRuYW1lfSI+PC9hPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkbmFtZSIvPiAoKTwvaDM+CisgICAgPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPgorICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJkdW1wdGV4dCI+CisgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0idGV4dCIgc2VsZWN0PSJyZXR1cm4vQHR5cGUiLz4KKyAgICA8L3hzbDpjYWxsLXRlbXBsYXRlPgorICAgIDx4c2w6dGV4dD4mIzk7PC94c2w6dGV4dD4KKyAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz4KKyAgICA8eHNsOmlmIHRlc3Q9IiRibGVuIC0gNDAgJmx0OyAtOCI+CisgICAgICA8eHNsOnRleHQ+JiM5OzwveHNsOnRleHQ+CisgICAgPC94c2w6aWY+CisgICAgPHhzbDppZiB0ZXN0PSIkYmxlbiAtIDQwICZsdDsgMCI+CisgICAgICA8eHNsOnRleHQ+JiM5OzwveHNsOnRleHQ+CisgICAgPC94c2w6aWY+CisgICAgPHhzbDp0ZXh0PiYjOTsoPC94c2w6dGV4dD4KKyAgICA8eHNsOmlmIHRlc3Q9Im5vdChhcmcpIj4KKyAgICAgIDx4c2w6dGV4dD52b2lkPC94c2w6dGV4dD4KKyAgICA8L3hzbDppZj4KKyAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0iYXJnIj4KKyAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJkdW1wdGV4dCI+CisgICAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJ0ZXh0IiBzZWxlY3Q9IkB0eXBlIi8+CisgICAgICA8L3hzbDpjYWxsLXRlbXBsYXRlPgorICAgICAgPHhzbDp0ZXh0PiA8L3hzbDp0ZXh0PgorICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+CisgICAgICA8eHNsOmlmIHRlc3Q9InBvc2l0aW9uKCkgIT0gbGFzdCgpIj4KKyAgICAgICAgPHhzbDp0ZXh0PiwgPC94c2w6dGV4dD48YnIvPgorCTx4c2w6aWYgdGVzdD0iJGJsZW4gLSA0MCAmZ3Q7IDgiPgorCSAgPHhzbDp0ZXh0PiYjOTs8L3hzbDp0ZXh0PgorCTwveHNsOmlmPgorCTx4c2w6aWYgdGVzdD0iJGJsZW4gLSA0MCAmZ3Q7IDAiPgorCSAgPHhzbDp0ZXh0PiYjOTs8L3hzbDp0ZXh0PgorCTwveHNsOmlmPgorCTx4c2w6dGV4dD4mIzk7JiM5OyYjOTsmIzk7JiM5OyA8L3hzbDp0ZXh0PgorICAgICAgPC94c2w6aWY+CisgICAgPC94c2w6Zm9yLWVhY2g+CisgICAgPHhzbDp0ZXh0Pik8L3hzbDp0ZXh0Pjxici8+CisgICAgPHhzbDp0ZXh0PgorPC94c2w6dGV4dD4KKyAgICA8L3ByZT4KKyAgICA8cD4KKyAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iZHVtcHRleHQiPgorICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9InRleHQiIHNlbGVjdD0iaW5mbyIvPgorICAgIDwveHNsOmNhbGwtdGVtcGxhdGU+CisgICAgPC9wPjx4c2w6dGV4dD4KKzwveHNsOnRleHQ+CisgICAgPHhzbDppZiB0ZXN0PSJhcmcgfCByZXR1cm4vQGluZm8iPgorICAgICAgPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5PgorICAgICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9ImFyZyI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz48L3R0PjwvaT46PC9zcGFuPjwvdGQ+CisJICA8dGQ+CisJICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJkdW1wdGV4dCI+CisJICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9InRleHQiIHNlbGVjdD0iQGluZm8iLz4KKwkgICAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKwkgIDwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICA8L3hzbDpmb3ItZWFjaD4KKyAgICAgIDx4c2w6aWYgdGVzdD0icmV0dXJuL0BpbmZvIj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+CisJICA8dGQ+CisJICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJkdW1wdGV4dCI+CisJICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9InRleHQiIHNlbGVjdD0icmV0dXJuL0BpbmZvIi8+CisJICAgIDwveHNsOmNhbGwtdGVtcGxhdGU+CisJICA8L3RkPgorICAgICAgICA8L3RyPgorICAgICAgPC94c2w6aWY+CisgICAgICA8L3Rib2R5PjwvdGFibGU+PC9kaXY+CisgICAgPC94c2w6aWY+CisgICAgPC9kaXY+PGhyLz4KKyAgPC94c2w6dGVtcGxhdGU+CisKKyAgPHhzbDp0ZW1wbGF0ZSBtb2RlPSJkZXRhaWxzIiBtYXRjaD0iZnVuY3R5cGUiPgorICAgIDx4c2w6dmFyaWFibGUgbmFtZT0ibmFtZSIgc2VsZWN0PSJzdHJpbmcoQG5hbWUpIi8+CisgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJubGVuIiBzZWxlY3Q9InN0cmluZy1sZW5ndGgoJG5hbWUpIi8+CisgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJ0bGVuIiBzZWxlY3Q9InN0cmluZy1sZW5ndGgocmV0dXJuL0B0eXBlKSIvPgorICAgIDx4c2w6dmFyaWFibGUgbmFtZT0iYmxlbiIgc2VsZWN0PSIoKCRubGVuICsgOCkgLSAoKCRubGVuICsgOCkgbW9kIDgpKSArICgoJHRsZW4gKyA4KSAtICgoJHRsZW4gKyA4KSBtb2QgOCkpIi8+CisgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj4KKyAgICA8aDM+PGEgbmFtZT0ieyRuYW1lfSI+PC9hPkZ1bmN0aW9uIHR5cGUgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRuYW1lIi8+IDwvaDM+CisgICAgPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPgorICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJkdW1wdGV4dCI+CisgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0idGV4dCIgc2VsZWN0PSJyZXR1cm4vQHR5cGUiLz4KKyAgICA8L3hzbDpjYWxsLXRlbXBsYXRlPgorICAgIDx4c2w6dGV4dD4mIzk7PC94c2w6dGV4dD4KKyAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz4KKyAgICA8eHNsOmlmIHRlc3Q9IiRibGVuIC0gNDAgJmx0OyAtOCI+CisgICAgICA8eHNsOnRleHQ+JiM5OzwveHNsOnRleHQ+CisgICAgPC94c2w6aWY+CisgICAgPHhzbDppZiB0ZXN0PSIkYmxlbiAtIDQwICZsdDsgMCI+CisgICAgICA8eHNsOnRleHQ+JiM5OzwveHNsOnRleHQ+CisgICAgPC94c2w6aWY+CisgICAgPHhzbDp0ZXh0PiYjOTsoPC94c2w6dGV4dD4KKyAgICA8eHNsOmlmIHRlc3Q9Im5vdChhcmcpIj4KKyAgICAgIDx4c2w6dGV4dD52b2lkPC94c2w6dGV4dD4KKyAgICA8L3hzbDppZj4KKyAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0iYXJnIj4KKyAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJkdW1wdGV4dCI+CisgICAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJ0ZXh0IiBzZWxlY3Q9IkB0eXBlIi8+CisgICAgICA8L3hzbDpjYWxsLXRlbXBsYXRlPgorICAgICAgPHhzbDp0ZXh0PiA8L3hzbDp0ZXh0PgorICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+CisgICAgICA8eHNsOmlmIHRlc3Q9InBvc2l0aW9uKCkgIT0gbGFzdCgpIj4KKyAgICAgICAgPHhzbDp0ZXh0PiwgPC94c2w6dGV4dD48YnIvPgorCTx4c2w6aWYgdGVzdD0iJGJsZW4gLSA0MCAmZ3Q7IDgiPgorCSAgPHhzbDp0ZXh0PiYjOTs8L3hzbDp0ZXh0PgorCTwveHNsOmlmPgorCTx4c2w6aWYgdGVzdD0iJGJsZW4gLSA0MCAmZ3Q7IDAiPgorCSAgPHhzbDp0ZXh0PiYjOTs8L3hzbDp0ZXh0PgorCTwveHNsOmlmPgorCTx4c2w6dGV4dD4mIzk7JiM5OyYjOTsmIzk7JiM5OyA8L3hzbDp0ZXh0PgorICAgICAgPC94c2w6aWY+CisgICAgPC94c2w6Zm9yLWVhY2g+CisgICAgPHhzbDp0ZXh0Pik8L3hzbDp0ZXh0Pjxici8+CisgICAgPHhzbDp0ZXh0PgorPC94c2w6dGV4dD4KKyAgICA8L3ByZT4KKyAgICA8cD4KKyAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iZHVtcHRleHQiPgorICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9InRleHQiIHNlbGVjdD0iaW5mbyIvPgorICAgIDwveHNsOmNhbGwtdGVtcGxhdGU+CisgICAgPC9wPjx4c2w6dGV4dD4KKzwveHNsOnRleHQ+CisgICAgPHhzbDppZiB0ZXN0PSJhcmcgfCByZXR1cm4vQGluZm8iPgorICAgICAgPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5PgorICAgICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9ImFyZyI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz48L3R0PjwvaT46PC9zcGFuPjwvdGQ+CisJICA8dGQ+CisJICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJkdW1wdGV4dCI+CisJICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9InRleHQiIHNlbGVjdD0iQGluZm8iLz4KKwkgICAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKwkgIDwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICA8L3hzbDpmb3ItZWFjaD4KKyAgICAgIDx4c2w6aWYgdGVzdD0icmV0dXJuL0BpbmZvIj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+CisJICA8dGQ+CisJICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJkdW1wdGV4dCI+CisJICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9InRleHQiIHNlbGVjdD0icmV0dXJuL0BpbmZvIi8+CisJICAgIDwveHNsOmNhbGwtdGVtcGxhdGU+CisJICA8L3RkPgorICAgICAgICA8L3RyPgorICAgICAgPC94c2w6aWY+CisgICAgICA8L3Rib2R5PjwvdGFibGU+PC9kaXY+CisgICAgPC94c2w6aWY+CisgICAgPC9kaXY+PGhyLz4KKyAgPC94c2w6dGVtcGxhdGU+CisKKzwhLS0KKworICAgICAgICAgICAgIFRoZSBmb2xsb3dpbmcgYnVpbGRzIHRoZSBnZW5lcmFsLmh0bWwgcGFnZQorCistLT4KKyAgPHhzbDp0ZW1wbGF0ZSBuYW1lPSJnZW5lcmF0ZV9nZW5lcmFsIj4KKyAgICA8eHNsOnZhcmlhYmxlIG5hbWU9Im5leHQiIHNlbGVjdD0ic3RyaW5nKC9hcGkvZmlsZXMvZmlsZVtwb3NpdGlvbigpPTFdL0BuYW1lKSIvPgorICAgIDx4c2w6ZG9jdW1lbnQgeG1sbnM9IiIgaHJlZj0iZ2VuZXJhbC5odG1sIiBtZXRob2Q9InhtbCIgaW5kZW50PSJ5ZXMiIGVuY29kaW5nPSJVVEYtOCI+CisgICAgICA8aHRtbD4KKyAgICAgICAgPGhlYWQ+CisJICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIvPgorCSAgPHRpdGxlPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJjb25jYXQoQG5hbWUsICc6ICcsIHN1bW1hcnkpIi8+PC90aXRsZT4KKwkgIDxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iTGlieG1sMiBkZXZoZWxwIHN0eWxlc2hlZXQiLz4KKwkgIDxsaW5rIHJlbD0ic3RhcnQiIGhyZWY9ImluZGV4Lmh0bWwiIHRpdGxlPSJsaWJ4bWwyIFJlZmVyZW5jZSBNYW51YWwiLz4KKwkgIDxsaW5rIHJlbD0idXAiIGhyZWY9ImluZGV4Lmh0bWwiIHRpdGxlPSJsaWJ4bWwyIFJlZmVyZW5jZSBNYW51YWwiLz4KKwkgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0ic3R5bGUuY3NzIiB0eXBlPSJ0ZXh0L2NzcyIvPgorCSAgPGxpbmsgcmVsPSJjaGFwdGVyIiBocmVmPSJpbmRleC5odG1sIiB0aXRsZT0ibGlieG1sMiBSZWZlcmVuY2UgTWFudWFsIi8+CisgICAgICAgIDwvaGVhZD4KKwk8Ym9keSBiZ2NvbG9yPSJ3aGl0ZSIgdGV4dD0iYmxhY2siIGxpbms9IiMwMDAwRkYiIHZsaW5rPSIjODQwMDg0IiBhbGluaz0iIzAwMDBGRiI+CisKKyAgICAgICAgICA8dGFibGUgY2xhc3M9Im5hdmlnYXRpb24iIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIyIj4KKwkgICAgPHRyIHZhbGlnbj0ibWlkZGxlIj4KKyAgICAgICAgICAgICAgPHRkPjxhIGFjY2Vzc2tleT0idSIgaHJlZj0iaW5kZXguaHRtbCI+PGltZyBzcmM9InVwLnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iVXAiLz48L2E+PC90ZD4KKyAgICAgICAgICAgICAgPHRkPjxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iaW5kZXguaHRtbCI+PGltZyBzcmM9ImhvbWUucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJIb21lIi8+PC9hPjwvdGQ+CisJICAgICAgPHhzbDppZiB0ZXN0PSIkbmV4dCAhPSAnJyI+CisJCTx0ZD48YSBhY2Nlc3NrZXk9Im4iIGhyZWY9ImxpYnhtbDIteyRuZXh0fS5odG1sIj48aW1nIHNyYz0icmlnaHQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJOZXh0Ii8+PC9hPjwvdGQ+CisJICAgICAgPC94c2w6aWY+CisgICAgICAgICAgICAgIDx0aCB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+bGlieG1sMiBSZWZlcmVuY2UgTWFudWFsPC90aD4KKyAgICAgICAgICAgIDwvdHI+CisJICA8L3RhYmxlPgorCSAgPGgyPjxzcGFuIGNsYXNzPSJyZWZlbnRyeXRpdGxlIj5saWJ4bWwyIEFQSSBNb2R1bGVzPC9zcGFuPjwvaDI+CisJICA8cD4KKwkgIDx4c2w6Zm9yLWVhY2ggc2VsZWN0PSIvYXBpL2ZpbGVzL2ZpbGUiPgorCSAgICA8YSBocmVmPSJsaWJ4bWwyLXtAbmFtZX0uaHRtbCI+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+PC9hPiAtIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJzdW1tYXJ5Ii8+PGJyLz4KKwkgIDwveHNsOmZvci1lYWNoPgorCSAgPC9wPgorCTwvYm9keT4KKyAgICAgIDwvaHRtbD4KKyAgICA8L3hzbDpkb2N1bWVudD4KKyAgPC94c2w6dGVtcGxhdGU+CisKKzwhLS0KKworICAgICAgICAgICAgIFRoZSBmb2xsb3dpbmcgYnVpbGRzIHRoZSBpbmRleC5odG1sIHBhZ2UKKworLS0+CisgIDx4c2w6dGVtcGxhdGUgbmFtZT0iZ2VuZXJhdGVfaW5kZXgiPgorICAgIDx4c2w6ZG9jdW1lbnQgeG1sbnM9IiIgaHJlZj0iaW5kZXguaHRtbCIgbWV0aG9kPSJ4bWwiIGluZGVudD0ieWVzIiBlbmNvZGluZz0iVVRGLTgiPgorICAgICAgPGh0bWw+CisgICAgICAgIDxoZWFkPgorCSAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiLz4KKwkgIDx0aXRsZT5saWJ4bWwyIFJlZmVyZW5jZSBNYW51YWw8L3RpdGxlPgorCSAgPG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJMaWJ4bWwyIGRldmhlbHAgc3R5bGVzaGVldCIvPgorCSAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJzdHlsZS5jc3MiIHR5cGU9InRleHQvY3NzIi8+CisgICAgICAgIDwvaGVhZD4KKwk8Ym9keSBiZ2NvbG9yPSJ3aGl0ZSIgdGV4dD0iYmxhY2siIGxpbms9IiMwMDAwRkYiIHZsaW5rPSIjODQwMDg0IiBhbGluaz0iIzAwMDBGRiI+CisKKyAgICAgICAgICA8dGFibGUgY2xhc3M9Im5hdmlnYXRpb24iIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIyIj4KKwkgICAgPHRyIHZhbGlnbj0ibWlkZGxlIj4KKyAgICAgICAgICAgICAgPHRkPjxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iaW5kZXguaHRtbCI+PGltZyBzcmM9ImhvbWUucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJIb21lIi8+PC9hPjwvdGQ+CisJICAgICAgPHRkPjxhIGFjY2Vzc2tleT0ibiIgaHJlZj0iZ2VuZXJhbC5odG1sIj48aW1nIHNyYz0icmlnaHQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJOZXh0Ii8+PC9hPjwvdGQ+CisgICAgICAgICAgICAgIDx0aCB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+bGlieG1sMiBSZWZlcmVuY2UgTWFudWFsPC90aD4KKyAgICAgICAgICAgIDwvdHI+CisJICA8L3RhYmxlPgorCSAgPGgyPjxzcGFuIGNsYXNzPSJyZWZlbnRyeXRpdGxlIj5saWJ4bWwyIFJlZmVyZW5jZSBNYW51YWw8L3NwYW4+PC9oMj4KKzxwPkxpYnhtbDIgaXMgdGhlIFhNTCBDIHBhcnNlciBhbmQgdG9vbGtpdCBkZXZlbG9wZWQgZm9yIHRoZSBHbm9tZSBwcm9qZWN0CisoYnV0IHVzYWJsZSBvdXRzaWRlIG9mIHRoZSBHbm9tZSBwbGF0Zm9ybSksIGl0IGlzIGZyZWUgc29mdHdhcmUgYXZhaWxhYmxlCit1bmRlciB0aGUgPGEgaHJlZj0iaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9taXQtbGljZW5zZS5odG1sIj5NSVQKK0xpY2Vuc2U8L2E+LiBYTUwgaXRzZWxmIGlzIGEgbWV0YWxhbmd1YWdlIHRvIGRlc2lnbiBtYXJrdXAgbGFuZ3VhZ2VzLCBpLmUuCit0ZXh0IGxhbmd1YWdlIHdoZXJlIHNlbWFudGljIGFuZCBzdHJ1Y3R1cmUgYXJlIGFkZGVkIHRvIHRoZSBjb250ZW50IHVzaW5nCitleHRyYSAibWFya3VwIiBpbmZvcm1hdGlvbiBlbmNsb3NlZCBiZXR3ZWVuIGFuZ2xlIGJyYWNrZXRzLiBIVE1MIGlzIHRoZSBtb3N0Cit3ZWxsLWtub3duIG1hcmt1cCBsYW5ndWFnZS4gVGhvdWdoIHRoZSBsaWJyYXJ5IGlzIHdyaXR0ZW4gaW4gQyA8YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvcHl0aG9uLmh0bWwiPmEgdmFyaWV0eSBvZiBsYW5ndWFnZSBiaW5kaW5nczwvYT4gbWFrZSBpdCBhdmFpbGFibGUgaW4KK290aGVyIGVudmlyb25tZW50cy48L3A+Cis8cD5MaWJ4bWwyIGltcGxlbWVudHMgYSBudW1iZXIgb2YgZXhpc3Rpbmcgc3RhbmRhcmRzIHJlbGF0ZWQgdG8gbWFya3VwCitsYW5ndWFnZXM6PC9wPgorPHVsPjxsaT50aGUgWE1MIHN0YW5kYXJkOiA8YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMteG1sIj5odHRwOi8vd3d3LnczLm9yZy9UUi9SRUMteG1sPC9hPjwvbGk+Cis8bGk+TmFtZXNwYWNlcyBpbiBYTUw6IDxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy14bWwtbmFtZXMvIj5odHRwOi8vd3d3LnczLm9yZy9UUi9SRUMteG1sLW5hbWVzLzwvYT48L2xpPgorPGxpPlhNTCBCYXNlOiA8YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi94bWxiYXNlLyI+aHR0cDovL3d3dy53My5vcmcvVFIveG1sYmFzZS88L2E+PC9saT4KKzxsaT48YSBocmVmPSJodHRwOi8vd3d3LmNpcy5vaGlvLXN0YXRlLmVkdS9yZmMvcmZjMjM5Ni50eHQiPlJGQyAyMzk2PC9hPiA6CitVbmlmb3JtIFJlc291cmNlIElkZW50aWZpZXJzIDxhIGhyZWY9Imh0dHA6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzIzOTYudHh0Ij5odHRwOi8vd3d3LmlldGYub3JnL3JmYy9yZmMyMzk2LnR4dDwvYT48L2xpPgorPGxpPlhNTCBQYXRoIExhbmd1YWdlIChYUGF0aCkgMS4wOiA8YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi94cGF0aCI+aHR0cDovL3d3dy53My5vcmcvVFIveHBhdGg8L2E+PC9saT4KKzxsaT5IVE1MNCBwYXJzZXI6IDxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0MDEvIj5odHRwOi8vd3d3LnczLm9yZy9UUi9odG1sNDAxLzwvYT48L2xpPgorPGxpPlhNTCBQb2ludGVyIExhbmd1YWdlIChYUG9pbnRlcikgVmVyc2lvbiAxLjA6IDxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hwdHIiPmh0dHA6Ly93d3cudzMub3JnL1RSL3hwdHI8L2E+PC9saT4KKzxsaT5YTUwgSW5jbHVzaW9ucyAoWEluY2x1ZGUpIFZlcnNpb24gMS4wOiA8YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aW5jbHVkZS8iPmh0dHA6Ly93d3cudzMub3JnL1RSL3hpbmNsdWRlLzwvYT48L2xpPgorPGxpPklTTy04ODU5LXggZW5jb2RpbmdzLCBhcyB3ZWxsIGFzIDxhIGhyZWY9Imh0dHA6Ly93d3cuY2lzLm9oaW8tc3RhdGUuZWR1L3JmYy9yZmMyMDQ0LnR4dCI+cmZjMjA0NDwvYT4gW1VURi04XQorYW5kIDxhIGhyZWY9Imh0dHA6Ly93d3cuY2lzLm9oaW8tc3RhdGUuZWR1L3JmYy9yZmMyNzgxLnR4dCI+cmZjMjc4MTwvYT4KK1tVVEYtMTZdIFVuaWNvZGUgZW5jb2RpbmdzLCBhbmQgbW9yZSBpZiB1c2luZyBpY29udiBzdXBwb3J0PC9saT4KKzxsaT5wYXJ0IG9mIFNHTUwgT3BlbiBUZWNobmljYWwgUmVzb2x1dGlvbiBUUjk0MDE6MTk5NzwvbGk+Cis8bGk+WE1MIENhdGFsb2dzIFdvcmtpbmcgRHJhZnQgMDYgQXVndXN0IDIwMDE6IDxhIGhyZWY9Imh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvY29tbWl0dGVlcy9lbnRpdHkvc3BlYy0yMDAxLTA4LTA2Lmh0bWwiPmh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvY29tbWl0dGVlcy9lbnRpdHkvc3BlYy0yMDAxLTA4LTA2Lmh0bWw8L2E+PC9saT4KKzxsaT5DYW5vbmljYWwgWE1MIFZlcnNpb24gMS4wOiA8YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi94bWwtYzE0biI+aHR0cDovL3d3dy53My5vcmcvVFIveG1sLWMxNG48L2E+CithbmQgdGhlIEV4Y2x1c2l2ZSBYTUwgQ2Fub25pY2FsaXphdGlvbiBDUiBkcmFmdCA8YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi94bWwtZXhjLWMxNG4iPmh0dHA6Ly93d3cudzMub3JnL1RSL3htbC1leGMtYzE0bjwvYT48L2xpPgorPGxpPlJlbGF4IE5HLCBJU08vSUVDIDE5NzU3LTI6MjAwMywgPGEgaHJlZj0iaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9jb21taXR0ZWVzL3JlbGF4LW5nL3NwZWMtMjAwMTEyMDMuaHRtbCI+aHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9jb21taXR0ZWVzL3JlbGF4LW5nL3NwZWMtMjAwMTEyMDMuaHRtbDwvYT48L2xpPgorPGxpPlczQyBYTUwgU2NoZW1hcyBQYXJ0IDI6IERhdGF0eXBlcyA8YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi8yMDAxL1JFQy14bWxzY2hlbWEtMi0yMDAxMDUwMi8iPlJFQyAwMiBNYXkKKzIwMDE8L2E+PC9saT4KKzxsaT5XM0MgPGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIveG1sLWlkLyI+eG1sOmlkPC9hPiBXb3JraW5nIERyYWZ0IDcKK0FwcmlsIDIwMDQ8L2xpPgorPC91bD4KKwkgIDxwPiBBcyBhIHJlc3VsdCB0aGUgPGEgaHJlZj0iZ2VuZXJhbC5odG1sIj5saWJ4bWwyIEFQSTwvYT4gaXMgdmVyeQorCSAgICAgIGxhcmdlLiBJZiB5b3UgZ2V0IGxvc3Qgc2VhcmNoaW5nIGZvciBzb21lIHNwZWNpZmljIEFQSSB1c2UKKwkgICAgICA8YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvc2VhcmNoLnBocCI+dGhlIG9ubGluZSBzZWFyY2gKKwkgICAgICBlbmdpbmU8L2E+IGhvc3RlZCBvbiA8YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvIj54bWxzb2Z0Lm9yZzwvYT4KKwkgICAgICB0aGUgbGlieG1sMiBhbmQgbGlieHNsdCBwcm9qZWN0IHBhZ2UuIDwvcD4KKwk8L2JvZHk+CisgICAgICA8L2h0bWw+CisgICAgPC94c2w6ZG9jdW1lbnQ+CisgIDwveHNsOnRlbXBsYXRlPgorCis8L3hzbDpzdHlsZXNoZWV0PgorCisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2RldmhlbHAvaW5kZXguaHRtbCBiL2xpYnhtbDIvZG9jL2RldmhlbHAvaW5kZXguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNmMyODM5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvZGV2aGVscC9pbmRleC5odG1sCkBAIC0wLDAgKzEsNjcgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8aHRtbD4KKyAgPGhlYWQ+CisgICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiLz4KKyAgICA8dGl0bGU+bGlieG1sMiBSZWZlcmVuY2UgTWFudWFsPC90aXRsZT4KKyAgICA8bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9IkxpYnhtbDIgZGV2aGVscCBzdHlsZXNoZWV0Ii8+CisgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJzdHlsZS5jc3MiIHR5cGU9InRleHQvY3NzIi8+CisgIDwvaGVhZD4KKyAgPGJvZHkgYmdjb2xvcj0id2hpdGUiIHRleHQ9ImJsYWNrIiBsaW5rPSIjMDAwMEZGIiB2bGluaz0iIzg0MDA4NCIgYWxpbms9IiMwMDAwRkYiPgorICAgIDx0YWJsZSBjbGFzcz0ibmF2aWdhdGlvbiIgd2lkdGg9IjEwMCUiIHN1bW1hcnk9Ik5hdmlnYXRpb24gaGVhZGVyIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjIiPgorICAgICAgPHRyIHZhbGlnbj0ibWlkZGxlIj4KKyAgICAgICAgPHRkPgorICAgICAgICAgIDxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iaW5kZXguaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0iaG9tZS5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IkhvbWUiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9Im4iIGhyZWY9ImdlbmVyYWwuaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0icmlnaHQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJOZXh0Ii8+CisgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGggd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPmxpYnhtbDIgUmVmZXJlbmNlIE1hbnVhbDwvdGg+CisgICAgICA8L3RyPgorICAgIDwvdGFibGU+CisgICAgPGgyPgorICAgICAgPHNwYW4gY2xhc3M9InJlZmVudHJ5dGl0bGUiPmxpYnhtbDIgUmVmZXJlbmNlIE1hbnVhbDwvc3Bhbj4KKyAgICA8L2gyPgorICAgIDxwPkxpYnhtbDIgaXMgdGhlIFhNTCBDIHBhcnNlciBhbmQgdG9vbGtpdCBkZXZlbG9wZWQgZm9yIHRoZSBHbm9tZSBwcm9qZWN0CisoYnV0IHVzYWJsZSBvdXRzaWRlIG9mIHRoZSBHbm9tZSBwbGF0Zm9ybSksIGl0IGlzIGZyZWUgc29mdHdhcmUgYXZhaWxhYmxlCit1bmRlciB0aGUgPGEgaHJlZj0iaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9taXQtbGljZW5zZS5odG1sIj5NSVQKK0xpY2Vuc2U8L2E+LiBYTUwgaXRzZWxmIGlzIGEgbWV0YWxhbmd1YWdlIHRvIGRlc2lnbiBtYXJrdXAgbGFuZ3VhZ2VzLCBpLmUuCit0ZXh0IGxhbmd1YWdlIHdoZXJlIHNlbWFudGljIGFuZCBzdHJ1Y3R1cmUgYXJlIGFkZGVkIHRvIHRoZSBjb250ZW50IHVzaW5nCitleHRyYSAibWFya3VwIiBpbmZvcm1hdGlvbiBlbmNsb3NlZCBiZXR3ZWVuIGFuZ2xlIGJyYWNrZXRzLiBIVE1MIGlzIHRoZSBtb3N0Cit3ZWxsLWtub3duIG1hcmt1cCBsYW5ndWFnZS4gVGhvdWdoIHRoZSBsaWJyYXJ5IGlzIHdyaXR0ZW4gaW4gQyA8YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvcHl0aG9uLmh0bWwiPmEgdmFyaWV0eSBvZiBsYW5ndWFnZSBiaW5kaW5nczwvYT4gbWFrZSBpdCBhdmFpbGFibGUgaW4KK290aGVyIGVudmlyb25tZW50cy48L3A+CisgICAgPHA+TGlieG1sMiBpbXBsZW1lbnRzIGEgbnVtYmVyIG9mIGV4aXN0aW5nIHN0YW5kYXJkcyByZWxhdGVkIHRvIG1hcmt1cAorbGFuZ3VhZ2VzOjwvcD4KKyAgICA8dWw+CisgICAgICA8bGk+dGhlIFhNTCBzdGFuZGFyZDogPGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLXhtbCI+aHR0cDovL3d3dy53My5vcmcvVFIvUkVDLXhtbDwvYT48L2xpPgorICAgICAgPGxpPk5hbWVzcGFjZXMgaW4gWE1MOiA8YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMteG1sLW5hbWVzLyI+aHR0cDovL3d3dy53My5vcmcvVFIvUkVDLXhtbC1uYW1lcy88L2E+PC9saT4KKyAgICAgIDxsaT5YTUwgQmFzZTogPGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIveG1sYmFzZS8iPmh0dHA6Ly93d3cudzMub3JnL1RSL3htbGJhc2UvPC9hPjwvbGk+CisgICAgICA8bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5jaXMub2hpby1zdGF0ZS5lZHUvcmZjL3JmYzIzOTYudHh0Ij5SRkMgMjM5NjwvYT4gOgorVW5pZm9ybSBSZXNvdXJjZSBJZGVudGlmaWVycyA8YSBocmVmPSJodHRwOi8vd3d3LmlldGYub3JnL3JmYy9yZmMyMzk2LnR4dCI+aHR0cDovL3d3dy5pZXRmLm9yZy9yZmMvcmZjMjM5Ni50eHQ8L2E+PC9saT4KKyAgICAgIDxsaT5YTUwgUGF0aCBMYW5ndWFnZSAoWFBhdGgpIDEuMDogPGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIveHBhdGgiPmh0dHA6Ly93d3cudzMub3JnL1RSL3hwYXRoPC9hPjwvbGk+CisgICAgICA8bGk+SFRNTDQgcGFyc2VyOiA8YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9odG1sNDAxLyI+aHR0cDovL3d3dy53My5vcmcvVFIvaHRtbDQwMS88L2E+PC9saT4KKyAgICAgIDxsaT5YTUwgUG9pbnRlciBMYW5ndWFnZSAoWFBvaW50ZXIpIFZlcnNpb24gMS4wOiA8YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi94cHRyIj5odHRwOi8vd3d3LnczLm9yZy9UUi94cHRyPC9hPjwvbGk+CisgICAgICA8bGk+WE1MIEluY2x1c2lvbnMgKFhJbmNsdWRlKSBWZXJzaW9uIDEuMDogPGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIveGluY2x1ZGUvIj5odHRwOi8vd3d3LnczLm9yZy9UUi94aW5jbHVkZS88L2E+PC9saT4KKyAgICAgIDxsaT5JU08tODg1OS14IGVuY29kaW5ncywgYXMgd2VsbCBhcyA8YSBocmVmPSJodHRwOi8vd3d3LmNpcy5vaGlvLXN0YXRlLmVkdS9yZmMvcmZjMjA0NC50eHQiPnJmYzIwNDQ8L2E+IFtVVEYtOF0KK2FuZCA8YSBocmVmPSJodHRwOi8vd3d3LmNpcy5vaGlvLXN0YXRlLmVkdS9yZmMvcmZjMjc4MS50eHQiPnJmYzI3ODE8L2E+CitbVVRGLTE2XSBVbmljb2RlIGVuY29kaW5ncywgYW5kIG1vcmUgaWYgdXNpbmcgaWNvbnYgc3VwcG9ydDwvbGk+CisgICAgICA8bGk+cGFydCBvZiBTR01MIE9wZW4gVGVjaG5pY2FsIFJlc29sdXRpb24gVFI5NDAxOjE5OTc8L2xpPgorICAgICAgPGxpPlhNTCBDYXRhbG9ncyBXb3JraW5nIERyYWZ0IDA2IEF1Z3VzdCAyMDAxOiA8YSBocmVmPSJodHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL2NvbW1pdHRlZXMvZW50aXR5L3NwZWMtMjAwMS0wOC0wNi5odG1sIj5odHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL2NvbW1pdHRlZXMvZW50aXR5L3NwZWMtMjAwMS0wOC0wNi5odG1sPC9hPjwvbGk+CisgICAgICA8bGk+Q2Fub25pY2FsIFhNTCBWZXJzaW9uIDEuMDogPGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIveG1sLWMxNG4iPmh0dHA6Ly93d3cudzMub3JnL1RSL3htbC1jMTRuPC9hPgorYW5kIHRoZSBFeGNsdXNpdmUgWE1MIENhbm9uaWNhbGl6YXRpb24gQ1IgZHJhZnQgPGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIveG1sLWV4Yy1jMTRuIj5odHRwOi8vd3d3LnczLm9yZy9UUi94bWwtZXhjLWMxNG48L2E+PC9saT4KKyAgICAgIDxsaT5SZWxheCBORywgSVNPL0lFQyAxOTc1Ny0yOjIwMDMsIDxhIGhyZWY9Imh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvY29tbWl0dGVlcy9yZWxheC1uZy9zcGVjLTIwMDExMjAzLmh0bWwiPmh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvY29tbWl0dGVlcy9yZWxheC1uZy9zcGVjLTIwMDExMjAzLmh0bWw8L2E+PC9saT4KKyAgICAgIDxsaT5XM0MgWE1MIFNjaGVtYXMgUGFydCAyOiBEYXRhdHlwZXMgPGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvMjAwMS9SRUMteG1sc2NoZW1hLTItMjAwMTA1MDIvIj5SRUMgMDIgTWF5CisyMDAxPC9hPjwvbGk+CisgICAgICA8bGk+VzNDIDxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3htbC1pZC8iPnhtbDppZDwvYT4gV29ya2luZyBEcmFmdCA3CitBcHJpbCAyMDA0PC9saT4KKyAgICA8L3VsPgorICAgIDxwPiBBcyBhIHJlc3VsdCB0aGUgPGEgaHJlZj0iZ2VuZXJhbC5odG1sIj5saWJ4bWwyIEFQSTwvYT4gaXMgdmVyeQorCSAgICAgIGxhcmdlLiBJZiB5b3UgZ2V0IGxvc3Qgc2VhcmNoaW5nIGZvciBzb21lIHNwZWNpZmljIEFQSSB1c2UKKwkgICAgICA8YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvc2VhcmNoLnBocCI+dGhlIG9ubGluZSBzZWFyY2gKKwkgICAgICBlbmdpbmU8L2E+IGhvc3RlZCBvbiA8YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvIj54bWxzb2Z0Lm9yZzwvYT4KKwkgICAgICB0aGUgbGlieG1sMiBhbmQgbGlieHNsdCBwcm9qZWN0IHBhZ2UuIDwvcD4KKyAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvZGV2aGVscC9sZWZ0LnBuZyBiL2xpYnhtbDIvZG9jL2RldmhlbHAvbGVmdC5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmQwNWIzZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL2RldmhlbHAvbGVmdC5wbmcKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvZGV2aGVscC9saWJ4bWwyLURPQ0JwYXJzZXIuaHRtbCBiL2xpYnhtbDIvZG9jL2RldmhlbHAvbGlieG1sMi1ET0NCcGFyc2VyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTdiNTE0ZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL2RldmhlbHAvbGlieG1sMi1ET0NCcGFyc2VyLmh0bWwKQEAgLTAsMCArMSwxMzggQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8aHRtbD4KKyAgPGhlYWQ+CisgICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiLz4KKyAgICA8dGl0bGU+RE9DQnBhcnNlcjogb2xkIERvY0Jvb2sgU0dNTCBwYXJzZXI8L3RpdGxlPgorICAgIDxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iTGlieG1sMiBkZXZoZWxwIHN0eWxlc2hlZXQiLz4KKyAgICA8bGluayByZWw9InN0YXJ0IiBocmVmPSJpbmRleC5odG1sIiB0aXRsZT0ibGlieG1sMiBSZWZlcmVuY2UgTWFudWFsIi8+CisgICAgPGxpbmsgcmVsPSJ1cCIgaHJlZj0iZ2VuZXJhbC5odG1sIiB0aXRsZT0iQVBJIi8+CisgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJzdHlsZS5jc3MiIHR5cGU9InRleHQvY3NzIi8+CisgICAgPGxpbmsgcmVsPSJjaGFwdGVyIiBocmVmPSJnZW5lcmFsLmh0bWwiIHRpdGxlPSJBUEkiLz4KKyAgPC9oZWFkPgorICA8Ym9keSBiZ2NvbG9yPSJ3aGl0ZSIgdGV4dD0iYmxhY2siIGxpbms9IiMwMDAwRkYiIHZsaW5rPSIjODQwMDg0IiBhbGluaz0iIzAwMDBGRiI+CisgICAgPHRhYmxlIGNsYXNzPSJuYXZpZ2F0aW9uIiB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBoZWFkZXIiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMiI+CisgICAgICA8dHIgdmFsaWduPSJtaWRkbGUiPgorICAgICAgICA8dGQ+CisgICAgICAgICAgPGEgYWNjZXNza2V5PSJ1IiBocmVmPSJnZW5lcmFsLmh0bWwiPgorICAgICAgICAgICAgPGltZyBzcmM9InVwLnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iVXAiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9ImgiIGhyZWY9ImluZGV4Lmh0bWwiPgorICAgICAgICAgICAgPGltZyBzcmM9ImhvbWUucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJIb21lIi8+CisgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGQ+CisgICAgICAgICAgPGEgYWNjZXNza2V5PSJuIiBocmVmPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0icmlnaHQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJOZXh0Ii8+CisgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGggd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPmxpYnhtbDIgUmVmZXJlbmNlIE1hbnVhbDwvdGg+CisgICAgICA8L3RyPgorICAgIDwvdGFibGU+CisgICAgPGgyPgorICAgICAgPHNwYW4gY2xhc3M9InJlZmVudHJ5dGl0bGUiPkRPQ0JwYXJzZXI8L3NwYW4+CisgICAgPC9oMj4KKyAgICA8cD5ET0NCcGFyc2VyIC0gb2xkIERvY0Jvb2sgU0dNTCBwYXJzZXI8L3A+CisgICAgPHA+aW50ZXJmYWNlIGZvciBhIERvY0Jvb2sgU0dNTCBub24tdmVyaWZ5aW5nIHBhcnNlciBUaGlzIGNvZGUgaXMgREVQUkVDQVRFRCwgYW5kIHNob3VsZCBub3QgYmUgdXNlZCBhbnltb3JlLiA8L3A+CisgICAgPHA+IFdBUk5JTkc6IHRoaXMgbW9kdWxlIGlzIGRlcHJlY2F0ZWQgITwvcD4KKyAgICA8cD5BdXRob3Iocyk6IERhbmllbCBWZWlsbGFyZCA8L3A+CisgICAgPGRpdiBjbGFzcz0icmVmc3lub3BzaXNkaXYiPgorICAgICAgPGgyPlN5bm9wc2lzPC9oMj4KKyAgICAgIDxwcmUgY2xhc3M9InN5bm9wc2lzIj50eXBlZGVmIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlcklucHV0UHRyIj54bWxQYXJzZXJJbnB1dFB0cjwvYT4gPGEgaHJlZj0iI2RvY2JQYXJzZXJJbnB1dFB0ciI+ZG9jYlBhcnNlcklucHV0UHRyPC9hPjsKK3R5cGVkZWYgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dCI+eG1sUGFyc2VyQ3R4dDwvYT4gPGEgaHJlZj0iI2RvY2JQYXJzZXJDdHh0Ij5kb2NiUGFyc2VyQ3R4dDwvYT47Cit0eXBlZGVmIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IDxhIGhyZWY9IiNkb2NiUGFyc2VyQ3R4dFB0ciI+ZG9jYlBhcnNlckN0eHRQdHI8L2E+OwordHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dCI+eG1sUGFyc2VySW5wdXQ8L2E+IDxhIGhyZWY9IiNkb2NiUGFyc2VySW5wdXQiPmRvY2JQYXJzZXJJbnB1dDwvYT47Cit0eXBlZGVmIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiA8YSBocmVmPSIjZG9jYkRvY1B0ciI+ZG9jYkRvY1B0cjwvYT47Cit0eXBlZGVmIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFNBWEhhbmRsZXIiPnhtbFNBWEhhbmRsZXI8L2E+IDxhIGhyZWY9IiNkb2NiU0FYSGFuZGxlciI+ZG9jYlNBWEhhbmRsZXI8L2E+OwordHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxTQVhIYW5kbGVyUHRyIj54bWxTQVhIYW5kbGVyUHRyPC9hPiA8YSBocmVmPSIjZG9jYlNBWEhhbmRsZXJQdHIiPmRvY2JTQVhIYW5kbGVyUHRyPC9hPjsKK3ZvaWQJPGEgaHJlZj0iI2RvY2JGcmVlUGFyc2VyQ3R4dCI+ZG9jYkZyZWVQYXJzZXJDdHh0PC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItRE9DQnBhcnNlci5odG1sI2RvY2JQYXJzZXJDdHh0UHRyIj5kb2NiUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk7Cis8YSBocmVmPSJsaWJ4bWwyLURPQ0JwYXJzZXIuaHRtbCNkb2NiRG9jUHRyIj5kb2NiRG9jUHRyPC9hPgk8YSBocmVmPSIjZG9jYlBhcnNlRG9jIj5kb2NiUGFyc2VEb2M8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGN1ciwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcpOworPGEgaHJlZj0ibGlieG1sMi1ET0NCcGFyc2VyLmh0bWwjZG9jYlBhcnNlckN0eHRQdHIiPmRvY2JQYXJzZXJDdHh0UHRyPC9hPgk8YSBocmVmPSIjZG9jYkNyZWF0ZUZpbGVQYXJzZXJDdHh0Ij5kb2NiQ3JlYXRlRmlsZVBhcnNlckN0eHQ8L2E+CShjb25zdCBjaGFyICogZmlsZW5hbWUsIDxici8+CQkJCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcpOworPGEgaHJlZj0ibGlieG1sMi1ET0NCcGFyc2VyLmh0bWwjZG9jYkRvY1B0ciI+ZG9jYkRvY1B0cjwvYT4JPGEgaHJlZj0iI2RvY2JTQVhQYXJzZUZpbGUiPmRvY2JTQVhQYXJzZUZpbGU8L2E+CShjb25zdCBjaGFyICogZmlsZW5hbWUsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItRE9DQnBhcnNlci5odG1sI2RvY2JTQVhIYW5kbGVyUHRyIj5kb2NiU0FYSGFuZGxlclB0cjwvYT4gc2F4LCA8YnIvPgkJCQkJIHZvaWQgKiB1c2VyRGF0YSk7Cis8YSBocmVmPSJsaWJ4bWwyLURPQ0JwYXJzZXIuaHRtbCNkb2NiRG9jUHRyIj5kb2NiRG9jUHRyPC9hPgk8YSBocmVmPSIjZG9jYlNBWFBhcnNlRG9jIj5kb2NiU0FYUGFyc2VEb2M8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGN1ciwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi1ET0NCcGFyc2VyLmh0bWwjZG9jYlNBWEhhbmRsZXJQdHIiPmRvY2JTQVhIYW5kbGVyUHRyPC9hPiBzYXgsIDxici8+CQkJCQkgdm9pZCAqIHVzZXJEYXRhKTsKKzxhIGhyZWY9ImxpYnhtbDItRE9DQnBhcnNlci5odG1sI2RvY2JQYXJzZXJDdHh0UHRyIj5kb2NiUGFyc2VyQ3R4dFB0cjwvYT4JPGEgaHJlZj0iI2RvY2JDcmVhdGVQdXNoUGFyc2VyQ3R4dCI+ZG9jYkNyZWF0ZVB1c2hQYXJzZXJDdHh0PC9hPgkoPGEgaHJlZj0ibGlieG1sMi1ET0NCcGFyc2VyLmh0bWwjZG9jYlNBWEhhbmRsZXJQdHIiPmRvY2JTQVhIYW5kbGVyUHRyPC9hPiBzYXgsIDxici8+CQkJCQkJCSB2b2lkICogdXNlcl9kYXRhLCA8YnIvPgkJCQkJCQkgY29uc3QgY2hhciAqIGNodW5rLCA8YnIvPgkJCQkJCQkgaW50IHNpemUsIDxici8+CQkJCQkJCSBjb25zdCBjaGFyICogZmlsZW5hbWUsIDxici8+CQkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nIj54bWxDaGFyRW5jb2Rpbmc8L2E+IGVuYyk7CitpbnQJPGEgaHJlZj0iI2RvY2JFbmNvZGVFbnRpdGllcyI+ZG9jYkVuY29kZUVudGl0aWVzPC9hPgkJKHVuc2lnbmVkIGNoYXIgKiBvdXQsIDxici8+CQkJCQkgaW50ICogb3V0bGVuLCA8YnIvPgkJCQkJIGNvbnN0IHVuc2lnbmVkIGNoYXIgKiBpbiwgPGJyLz4JCQkJCSBpbnQgKiBpbmxlbiwgPGJyLz4JCQkJCSBpbnQgcXVvdGVDaGFyKTsKKzxhIGhyZWY9ImxpYnhtbDItRE9DQnBhcnNlci5odG1sI2RvY2JEb2NQdHIiPmRvY2JEb2NQdHI8L2E+CTxhIGhyZWY9IiNkb2NiUGFyc2VGaWxlIj5kb2NiUGFyc2VGaWxlPC9hPgkJKGNvbnN0IGNoYXIgKiBmaWxlbmFtZSwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcpOworaW50CTxhIGhyZWY9IiNkb2NiUGFyc2VEb2N1bWVudCI+ZG9jYlBhcnNlRG9jdW1lbnQ8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi1ET0NCcGFyc2VyLmh0bWwjZG9jYlBhcnNlckN0eHRQdHIiPmRvY2JQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTsKK2ludAk8YSBocmVmPSIjZG9jYlBhcnNlQ2h1bmsiPmRvY2JQYXJzZUNodW5rPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwyLURPQ0JwYXJzZXIuaHRtbCNkb2NiUGFyc2VyQ3R4dFB0ciI+ZG9jYlBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGNodW5rLCA8YnIvPgkJCQkJIGludCBzaXplLCA8YnIvPgkJCQkJIGludCB0ZXJtaW5hdGUpOworPC9wcmU+CisgICAgPC9kaXY+CisgICAgPGRpdiBjbGFzcz0icmVmc2VjdDEiIGxhbmc9ImVuIj4KKyAgICAgIDxoMj5EZXNjcmlwdGlvbjwvaDI+CisgICAgPC9kaXY+CisgICAgPGRpdiBjbGFzcz0icmVmc2VjdDEiIGxhbmc9ImVuIj4KKyAgICAgIDxoMj5EZXRhaWxzPC9oMj4KKyAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9ImRvY2JEb2NQdHIiPlR5cGVkZWYgPC9hPmRvY2JEb2NQdHI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jYkRvY1B0cjsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJkb2NiUGFyc2VyQ3R4dCI+VHlwZWRlZiA8L2E+ZG9jYlBhcnNlckN0eHQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0Ij54bWxQYXJzZXJDdHh0PC9hPiBkb2NiUGFyc2VyQ3R4dDsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJkb2NiUGFyc2VyQ3R4dFB0ciI+VHlwZWRlZiA8L2E+ZG9jYlBhcnNlckN0eHRQdHI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBkb2NiUGFyc2VyQ3R4dFB0cjsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJkb2NiUGFyc2VySW5wdXQiPlR5cGVkZWYgPC9hPmRvY2JQYXJzZXJJbnB1dDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlcklucHV0Ij54bWxQYXJzZXJJbnB1dDwvYT4gZG9jYlBhcnNlcklucHV0OworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9ImRvY2JQYXJzZXJJbnB1dFB0ciI+VHlwZWRlZiA8L2E+ZG9jYlBhcnNlcklucHV0UHRyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRQdHIiPnhtbFBhcnNlcklucHV0UHRyPC9hPiBkb2NiUGFyc2VySW5wdXRQdHI7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iZG9jYlNBWEhhbmRsZXIiPlR5cGVkZWYgPC9hPmRvY2JTQVhIYW5kbGVyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sU0FYSGFuZGxlciI+eG1sU0FYSGFuZGxlcjwvYT4gZG9jYlNBWEhhbmRsZXI7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iZG9jYlNBWEhhbmRsZXJQdHIiPlR5cGVkZWYgPC9hPmRvY2JTQVhIYW5kbGVyUHRyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sU0FYSGFuZGxlclB0ciI+eG1sU0FYSGFuZGxlclB0cjwvYT4gZG9jYlNBWEhhbmRsZXJQdHI7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iZG9jYkNyZWF0ZUZpbGVQYXJzZXJDdHh0Ii8+ZG9jYkNyZWF0ZUZpbGVQYXJzZXJDdHh0ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi1ET0NCcGFyc2VyLmh0bWwjZG9jYlBhcnNlckN0eHRQdHIiPmRvY2JQYXJzZXJDdHh0UHRyPC9hPglkb2NiQ3JlYXRlRmlsZVBhcnNlckN0eHQJKGNvbnN0IGNoYXIgKiBmaWxlbmFtZSwgPGJyLz4JCQkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZyk8YnIvPgorPC9wcmU+PHA+Q3JlYXRlIGEgcGFyc2VyIGNvbnRleHQgZm9yIGEgZmlsZSBjb250ZW50LiBBdXRvbWF0aWMgc3VwcG9ydCBmb3IgWkxJQi9Db21wcmVzcyBjb21wcmVzc2VkIGRvY3VtZW50IGlzIHByb3ZpZGVkIGJ5IGRlZmF1bHQgaWYgZm91bmQgYXQgY29tcGlsZS10aW1lLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmlsZW5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmaWxlbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jb2Rpbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBTR01MIGRvY3VtZW50IGVuY29kaW5nLCBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IHBhcnNlciBjb250ZXh0IG9yIE5VTEw8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJkb2NiQ3JlYXRlUHVzaFBhcnNlckN0eHQiLz5kb2NiQ3JlYXRlUHVzaFBhcnNlckN0eHQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLURPQ0JwYXJzZXIuaHRtbCNkb2NiUGFyc2VyQ3R4dFB0ciI+ZG9jYlBhcnNlckN0eHRQdHI8L2E+CWRvY2JDcmVhdGVQdXNoUGFyc2VyQ3R4dAkoPGEgaHJlZj0ibGlieG1sMi1ET0NCcGFyc2VyLmh0bWwjZG9jYlNBWEhhbmRsZXJQdHIiPmRvY2JTQVhIYW5kbGVyUHRyPC9hPiBzYXgsIDxici8+CQkJCQkJCSB2b2lkICogdXNlcl9kYXRhLCA8YnIvPgkJCQkJCQkgY29uc3QgY2hhciAqIGNodW5rLCA8YnIvPgkJCQkJCQkgaW50IHNpemUsIDxici8+CQkJCQkJCSBjb25zdCBjaGFyICogZmlsZW5hbWUsIDxici8+CQkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nIj54bWxDaGFyRW5jb2Rpbmc8L2E+IGVuYyk8YnIvPgorPC9wcmU+PHA+Q3JlYXRlIGEgcGFyc2VyIGNvbnRleHQgZm9yIHVzaW5nIHRoZSBEb2NCb29rIFNHTUwgcGFyc2VyIGluIHB1c2ggbW9kZSBUbyBhbGxvdyBjb250ZW50IGVuY29kaW5nIGRldGVjdGlvbiwgQHNpemUgc2hvdWxkIGJlICZndDs9IDQgVGhlIHZhbHVlIG9mIEBmaWxlbmFtZSBpcyB1c2VkIGZvciBmZXRjaGluZyBleHRlcm5hbCBlbnRpdGllcyBhbmQgZXJyb3Ivd2FybmluZyByZXBvcnRzLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2F4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIFNBWCBoYW5kbGVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD51c2VyX2RhdGE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlRoZSB1c2VyIGRhdGEgcmV0dXJuZWQgb24gU0FYIGNhbGxiYWNrczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y2h1bms8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byBhbiBhcnJheSBvZiBjaGFyczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2l6ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+bnVtYmVyIG9mIGNoYXJzIGluIHRoZSBhcnJheTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmlsZW5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIG9wdGlvbmFsIGZpbGUgbmFtZSBvciBVUkk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVuYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gb3B0aW9uYWwgZW5jb2Rpbmc8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXcgcGFyc2VyIGNvbnRleHQgb3IgTlVMTDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9ImRvY2JFbmNvZGVFbnRpdGllcyIvPmRvY2JFbmNvZGVFbnRpdGllcyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAlkb2NiRW5jb2RlRW50aXRpZXMJCSh1bnNpZ25lZCBjaGFyICogb3V0LCA8YnIvPgkJCQkJIGludCAqIG91dGxlbiwgPGJyLz4JCQkJCSBjb25zdCB1bnNpZ25lZCBjaGFyICogaW4sIDxici8+CQkJCQkgaW50ICogaW5sZW4sIDxici8+CQkJCQkgaW50IHF1b3RlQ2hhcik8YnIvPgorPC9wcmU+PHA+VGFrZSBhIGJsb2NrIG9mIFVURi04IGNoYXJzIGluIGFuZCB0cnkgdG8gY29udmVydCBpdCB0byBhbiBBU0NJSSBwbHVzIFNHTUwgZW50aXRpZXMgYmxvY2sgb2YgY2hhcnMgb3V0LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3V0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gYW4gYXJyYXkgb2YgYnl0ZXMgdG8gc3RvcmUgdGhlIHJlc3VsdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3V0bGVuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbGVuZ3RoIG9mIEBvdXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmluPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gYW4gYXJyYXkgb2YgVVRGLTggY2hhcnM8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmlubGVuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbGVuZ3RoIG9mIEBpbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cXVvdGVDaGFyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcXVvdGUgY2hhcmFjdGVyIHRvIGVzY2FwZSAoJyBvciAiKSBvciB6ZXJvLjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpZiBzdWNjZXNzLCAtMiBpZiB0aGUgdHJhbnNjb2RpbmcgZmFpbHMsIG9yIC0xIG90aGVyd2lzZSBUaGUgdmFsdWUgb2YgQGlubGVuIGFmdGVyIHJldHVybiBpcyB0aGUgbnVtYmVyIG9mIG9jdGV0cyBjb25zdW1lZCBhcyB0aGUgcmV0dXJuIHZhbHVlIGlzIHBvc2l0aXZlLCBlbHNlIHVucHJlZGljdGFibGUuIFRoZSB2YWx1ZSBvZiBAb3V0bGVuIGFmdGVyIHJldHVybiBpcyB0aGUgbnVtYmVyIG9mIG9jdGV0cyBjb25zdW1lZC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJkb2NiRnJlZVBhcnNlckN0eHQiLz5kb2NiRnJlZVBhcnNlckN0eHQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCWRvY2JGcmVlUGFyc2VyQ3R4dAkJKDxhIGhyZWY9ImxpYnhtbDItRE9DQnBhcnNlci5odG1sI2RvY2JQYXJzZXJDdHh0UHRyIj5kb2NiUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8YnIvPgorPC9wcmU+PHA+RnJlZSBhbGwgdGhlIG1lbW9yeSB1c2VkIGJ5IGEgcGFyc2VyIGNvbnRleHQuIEhvd2V2ZXIgdGhlIHBhcnNlZCBkb2N1bWVudCBpbiBjdHh0LSZndDtteURvYyBpcyBub3QgZnJlZWQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBTR01MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iZG9jYlBhcnNlQ2h1bmsiLz5kb2NiUGFyc2VDaHVuayAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAlkb2NiUGFyc2VDaHVuawkJCSg8YSBocmVmPSJsaWJ4bWwyLURPQ0JwYXJzZXIuaHRtbCNkb2NiUGFyc2VyQ3R4dFB0ciI+ZG9jYlBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGNodW5rLCA8YnIvPgkJCQkJIGludCBzaXplLCA8YnIvPgkJCQkJIGludCB0ZXJtaW5hdGUpPGJyLz4KKzwvcHJlPjxwPlBhcnNlIGEgQ2h1bmsgb2YgbWVtb3J5PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNodW5rPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBjaGFyIGFycmF5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zaXplPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc2l6ZSBpbiBieXRlIG9mIHRoZSBjaHVuazwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dGVybWluYXRlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5sYXN0IGNodW5rIGluZGljYXRvcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+emVybyBpZiBubyBlcnJvciwgdGhlIDxhIGhyZWY9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCN4bWxQYXJzZXJFcnJvcnMiPnhtbFBhcnNlckVycm9yczwvYT4gb3RoZXJ3aXNlLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9ImRvY2JQYXJzZURvYyIvPmRvY2JQYXJzZURvYyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItRE9DQnBhcnNlci5odG1sI2RvY2JEb2NQdHIiPmRvY2JEb2NQdHI8L2E+CWRvY2JQYXJzZURvYwkJKDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjdXIsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nKTxici8+Cis8L3ByZT48cD5wYXJzZSBhbiBTR01MIGluLW1lbW9yeSBkb2N1bWVudCBhbmQgYnVpbGQgYSB0cmVlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gYW4gYXJyYXkgb2YgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jb2Rpbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgZnJlZSBmb3JtIEMgc3RyaW5nIGRlc2NyaWJpbmcgdGhlIFNHTUwgZG9jdW1lbnQgZW5jb2RpbmcsIG9yIE5VTEw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSByZXN1bHRpbmcgZG9jdW1lbnQgdHJlZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9ImRvY2JQYXJzZURvY3VtZW50Ii8+ZG9jYlBhcnNlRG9jdW1lbnQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJZG9jYlBhcnNlRG9jdW1lbnQJCSg8YSBocmVmPSJsaWJ4bWwyLURPQ0JwYXJzZXIuaHRtbCNkb2NiUGFyc2VyQ3R4dFB0ciI+ZG9jYlBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPGJyLz4KKzwvcHJlPjxwPnBhcnNlIGFuIFNHTUwgZG9jdW1lbnQgKGFuZCBidWlsZCBhIHRyZWUgaWYgdXNpbmcgdGhlIHN0YW5kYXJkIFNBWCBpbnRlcmZhY2UpLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gU0dNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCwgLTEgaW4gY2FzZSBvZiBlcnJvci4gdGhlIHBhcnNlciBjb250ZXh0IGlzIGF1Z21lbnRlZCBhcyBhIHJlc3VsdCBvZiB0aGUgcGFyc2luZy48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJkb2NiUGFyc2VGaWxlIi8+ZG9jYlBhcnNlRmlsZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItRE9DQnBhcnNlci5odG1sI2RvY2JEb2NQdHIiPmRvY2JEb2NQdHI8L2E+CWRvY2JQYXJzZUZpbGUJCShjb25zdCBjaGFyICogZmlsZW5hbWUsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nKTxici8+Cis8L3ByZT48cD5wYXJzZSBhIERvY2Jvb2sgU0dNTCBmaWxlIGFuZCBidWlsZCBhIHRyZWUuIEF1dG9tYXRpYyBzdXBwb3J0IGZvciBaTElCL0NvbXByZXNzIGNvbXByZXNzZWQgZG9jdW1lbnQgaXMgcHJvdmlkZWQgYnkgZGVmYXVsdCBpZiBmb3VuZCBhdCBjb21waWxlLXRpbWUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlbmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZpbGVuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbmNvZGluZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBmcmVlIGZvcm0gQyBzdHJpbmcgZGVzY3JpYmluZyBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHJlc3VsdGluZyBkb2N1bWVudCB0cmVlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iZG9jYlNBWFBhcnNlRG9jIi8+ZG9jYlNBWFBhcnNlRG9jICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi1ET0NCcGFyc2VyLmh0bWwjZG9jYkRvY1B0ciI+ZG9jYkRvY1B0cjwvYT4JZG9jYlNBWFBhcnNlRG9jCQkoPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGN1ciwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi1ET0NCcGFyc2VyLmh0bWwjZG9jYlNBWEhhbmRsZXJQdHIiPmRvY2JTQVhIYW5kbGVyUHRyPC9hPiBzYXgsIDxici8+CQkJCQkgdm9pZCAqIHVzZXJEYXRhKTxici8+Cis8L3ByZT48cD5wYXJzZSBhbiBTR01MIGluLW1lbW9yeSBkb2N1bWVudCBhbmQgYnVpbGQgYSB0cmVlLiBJdCB1c2UgdGhlIGdpdmVuIFNBWCBmdW5jdGlvbiBibG9jayB0byBoYW5kbGUgdGhlIHBhcnNpbmcgY2FsbGJhY2suIElmIHNheCBpcyBOVUxMLCBmYWxsYmFjayB0byB0aGUgZGVmYXVsdCBET00gdHJlZSBidWlsZGluZyByb3V0aW5lcy48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIGFuIGFycmF5IG9mIDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVuY29kaW5nPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGZyZWUgZm9ybSBDIHN0cmluZyBkZXNjcmliaW5nIHRoZSBTR01MIGRvY3VtZW50IGVuY29kaW5nLCBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zYXg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBTQVggaGFuZGxlciBibG9jazwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dXNlckRhdGE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmlmIHVzaW5nIFNBWCwgdGhpcyBwb2ludGVyIHdpbGwgYmUgcHJvdmlkZWQgb24gY2FsbGJhY2tzLjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHJlc3VsdGluZyBkb2N1bWVudCB0cmVlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iZG9jYlNBWFBhcnNlRmlsZSIvPmRvY2JTQVhQYXJzZUZpbGUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLURPQ0JwYXJzZXIuaHRtbCNkb2NiRG9jUHRyIj5kb2NiRG9jUHRyPC9hPglkb2NiU0FYUGFyc2VGaWxlCShjb25zdCBjaGFyICogZmlsZW5hbWUsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItRE9DQnBhcnNlci5odG1sI2RvY2JTQVhIYW5kbGVyUHRyIj5kb2NiU0FYSGFuZGxlclB0cjwvYT4gc2F4LCA8YnIvPgkJCQkJIHZvaWQgKiB1c2VyRGF0YSk8YnIvPgorPC9wcmU+PHA+cGFyc2UgYW4gU0dNTCBmaWxlIGFuZCBidWlsZCBhIHRyZWUuIEF1dG9tYXRpYyBzdXBwb3J0IGZvciBaTElCL0NvbXByZXNzIGNvbXByZXNzZWQgZG9jdW1lbnQgaXMgcHJvdmlkZWQgYnkgZGVmYXVsdCBpZiBmb3VuZCBhdCBjb21waWxlLXRpbWUuIEl0IHVzZSB0aGUgZ2l2ZW4gU0FYIGZ1bmN0aW9uIGJsb2NrIHRvIGhhbmRsZSB0aGUgcGFyc2luZyBjYWxsYmFjay4gSWYgc2F4IGlzIE5VTEwsIGZhbGxiYWNrIHRvIHRoZSBkZWZhdWx0IERPTSB0cmVlIGJ1aWxkaW5nIHJvdXRpbmVzLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmlsZW5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmaWxlbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jb2Rpbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgZnJlZSBmb3JtIEMgc3RyaW5nIGRlc2NyaWJpbmcgdGhlIFNHTUwgZG9jdW1lbnQgZW5jb2RpbmcsIG9yIE5VTEw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNheDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFNBWCBoYW5kbGVyIGJsb2NrPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD51c2VyRGF0YTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+aWYgdXNpbmcgU0FYLCB0aGlzIHBvaW50ZXIgd2lsbCBiZSBwcm92aWRlZCBvbiBjYWxsYmFja3MuPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmVzdWx0aW5nIGRvY3VtZW50IHRyZWU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgPC9kaXY+CisgICAgPC9kaXY+CisgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2RldmhlbHAvbGlieG1sMi1IVE1McGFyc2VyLmh0bWwgYi9saWJ4bWwyL2RvYy9kZXZoZWxwL2xpYnhtbDItSFRNTHBhcnNlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZkOGE0MmEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9kZXZoZWxwL2xpYnhtbDItSFRNTHBhcnNlci5odG1sCkBAIC0wLDAgKzEsMzczIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPGh0bWw+CisgIDxoZWFkPgorICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ii8+CisgICAgPHRpdGxlPkhUTUxwYXJzZXI6IGludGVyZmFjZSBmb3IgYW4gSFRNTCA0LjAgbm9uLXZlcmlmeWluZyBwYXJzZXI8L3RpdGxlPgorICAgIDxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iTGlieG1sMiBkZXZoZWxwIHN0eWxlc2hlZXQiLz4KKyAgICA8bGluayByZWw9InN0YXJ0IiBocmVmPSJpbmRleC5odG1sIiB0aXRsZT0ibGlieG1sMiBSZWZlcmVuY2UgTWFudWFsIi8+CisgICAgPGxpbmsgcmVsPSJ1cCIgaHJlZj0iZ2VuZXJhbC5odG1sIiB0aXRsZT0iQVBJIi8+CisgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJzdHlsZS5jc3MiIHR5cGU9InRleHQvY3NzIi8+CisgICAgPGxpbmsgcmVsPSJjaGFwdGVyIiBocmVmPSJnZW5lcmFsLmh0bWwiIHRpdGxlPSJBUEkiLz4KKyAgPC9oZWFkPgorICA8Ym9keSBiZ2NvbG9yPSJ3aGl0ZSIgdGV4dD0iYmxhY2siIGxpbms9IiMwMDAwRkYiIHZsaW5rPSIjODQwMDg0IiBhbGluaz0iIzAwMDBGRiI+CisgICAgPHRhYmxlIGNsYXNzPSJuYXZpZ2F0aW9uIiB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBoZWFkZXIiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMiI+CisgICAgICA8dHIgdmFsaWduPSJtaWRkbGUiPgorICAgICAgICA8dGQ+CisgICAgICAgICAgPGEgYWNjZXNza2V5PSJwIiBocmVmPSJsaWJ4bWwyLURPQ0JwYXJzZXIuaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0ibGVmdC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlByZXYiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9InUiIGhyZWY9ImdlbmVyYWwuaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0idXAucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJVcCIvPgorICAgICAgICAgIDwvYT4KKyAgICAgICAgPC90ZD4KKyAgICAgICAgPHRkPgorICAgICAgICAgIDxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iaW5kZXguaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0iaG9tZS5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IkhvbWUiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9Im4iIGhyZWY9ImxpYnhtbDItSFRNTHRyZWUuaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0icmlnaHQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJOZXh0Ii8+CisgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGggd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPmxpYnhtbDIgUmVmZXJlbmNlIE1hbnVhbDwvdGg+CisgICAgICA8L3RyPgorICAgIDwvdGFibGU+CisgICAgPGgyPgorICAgICAgPHNwYW4gY2xhc3M9InJlZmVudHJ5dGl0bGUiPkhUTUxwYXJzZXI8L3NwYW4+CisgICAgPC9oMj4KKyAgICA8cD5IVE1McGFyc2VyIC0gaW50ZXJmYWNlIGZvciBhbiBIVE1MIDQuMCBub24tdmVyaWZ5aW5nIHBhcnNlcjwvcD4KKyAgICA8cD50aGlzIG1vZHVsZSBpbXBsZW1lbnRzIGFuIEhUTUwgNC4wIG5vbi12ZXJpZnlpbmcgcGFyc2VyIHdpdGggQVBJIGNvbXBhdGlibGUgd2l0aCB0aGUgWE1MIHBhcnNlciBvbmVzLiBJdCBzaG91bGQgYmUgYWJsZSB0byBwYXJzZSAicmVhbCB3b3JsZCIgSFRNTCwgZXZlbiBpZiBzZXZlcmVseSBicm9rZW4gZnJvbSBhIHNwZWNpZmljYXRpb24gcG9pbnQgb2Ygdmlldy4gPC9wPgorICAgIDxwPkF1dGhvcihzKTogRGFuaWVsIFZlaWxsYXJkIDwvcD4KKyAgICA8ZGl2IGNsYXNzPSJyZWZzeW5vcHNpc2RpdiI+CisgICAgICA8aDI+U3lub3BzaXM8L2gyPgorICAgICAgPHByZSBjbGFzcz0ic3lub3BzaXMiPiNkZWZpbmUgPGEgaHJlZj0iI2h0bWxEZWZhdWx0U3ViZWxlbWVudCI+aHRtbERlZmF1bHRTdWJlbGVtZW50PC9hPihlbHQpOworI2RlZmluZSA8YSBocmVmPSIjaHRtbEVsZW1lbnRBbGxvd2VkSGVyZURlc2MiPmh0bWxFbGVtZW50QWxsb3dlZEhlcmVEZXNjPC9hPihwYXJlbnQsIGVsdCk7CisjZGVmaW5lIDxhIGhyZWY9IiNodG1sUmVxdWlyZWRBdHRycyI+aHRtbFJlcXVpcmVkQXR0cnM8L2E+KGVsdCk7Cit0eXBlZGVmIDxhIGhyZWY9ImxpYnhtbDItcGFyc2VyLmh0bWwjeG1sUGFyc2VyTm9kZUluZm8iPnhtbFBhcnNlck5vZGVJbmZvPC9hPiA8YSBocmVmPSIjaHRtbFBhcnNlck5vZGVJbmZvIj5odG1sUGFyc2VyTm9kZUluZm88L2E+OwordHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dCI+eG1sUGFyc2VySW5wdXQ8L2E+IDxhIGhyZWY9IiNodG1sUGFyc2VySW5wdXQiPmh0bWxQYXJzZXJJbnB1dDwvYT47Cit0eXBlZGVmIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IDxhIGhyZWY9IiNodG1sUGFyc2VyQ3R4dFB0ciI+aHRtbFBhcnNlckN0eHRQdHI8L2E+OwordHlwZWRlZiBzdHJ1Y3QgX2h0bWxFbnRpdHlEZXNjIDxhIGhyZWY9IiNodG1sRW50aXR5RGVzYyI+aHRtbEVudGl0eURlc2M8L2E+OwordHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gPGEgaHJlZj0iI2h0bWxEb2NQdHIiPmh0bWxEb2NQdHI8L2E+OwordHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxTQVhIYW5kbGVyUHRyIj54bWxTQVhIYW5kbGVyUHRyPC9hPiA8YSBocmVmPSIjaHRtbFNBWEhhbmRsZXJQdHIiPmh0bWxTQVhIYW5kbGVyUHRyPC9hPjsKK3R5cGVkZWYgZW51bSA8YSBocmVmPSIjaHRtbFN0YXR1cyI+aHRtbFN0YXR1czwvYT47Cit0eXBlZGVmIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IDxhIGhyZWY9IiNodG1sTm9kZVB0ciI+aHRtbE5vZGVQdHI8L2E+OwordHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNodG1sRWxlbURlc2MiPmh0bWxFbGVtRGVzYzwvYT4gKiA8YSBocmVmPSIjaHRtbEVsZW1EZXNjUHRyIj5odG1sRWxlbURlc2NQdHI8L2E+OwordHlwZWRlZiBzdHJ1Y3QgX2h0bWxFbGVtRGVzYyA8YSBocmVmPSIjaHRtbEVsZW1EZXNjIj5odG1sRWxlbURlc2M8L2E+OwordHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxTQVhIYW5kbGVyIj54bWxTQVhIYW5kbGVyPC9hPiA8YSBocmVmPSIjaHRtbFNBWEhhbmRsZXIiPmh0bWxTQVhIYW5kbGVyPC9hPjsKK3R5cGVkZWYgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRQdHIiPnhtbFBhcnNlcklucHV0UHRyPC9hPiA8YSBocmVmPSIjaHRtbFBhcnNlcklucHV0UHRyIj5odG1sUGFyc2VySW5wdXRQdHI8L2E+OwordHlwZWRlZiBlbnVtIDxhIGhyZWY9IiNodG1sUGFyc2VyT3B0aW9uIj5odG1sUGFyc2VyT3B0aW9uPC9hPjsKK3R5cGVkZWYgPGEgaHJlZj0ibGlieG1sMi1IVE1McGFyc2VyLmh0bWwjaHRtbEVudGl0eURlc2MiPmh0bWxFbnRpdHlEZXNjPC9hPiAqIDxhIGhyZWY9IiNodG1sRW50aXR5RGVzY1B0ciI+aHRtbEVudGl0eURlc2NQdHI8L2E+OwordHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0Ij54bWxQYXJzZXJDdHh0PC9hPiA8YSBocmVmPSIjaHRtbFBhcnNlckN0eHQiPmh0bWxQYXJzZXJDdHh0PC9hPjsKK2ludAk8YSBocmVmPSIjaHRtbElzU2NyaXB0QXR0cmlidXRlIj5odG1sSXNTY3JpcHRBdHRyaWJ1dGU8L2E+CQkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpOworaW50CTxhIGhyZWY9IiNodG1sSGFuZGxlT21pdHRlZEVsZW0iPmh0bWxIYW5kbGVPbWl0dGVkRWxlbTwvYT4JCShpbnQgdmFsKTsKKzxhIGhyZWY9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sI2h0bWxEb2NQdHIiPmh0bWxEb2NQdHI8L2E+CTxhIGhyZWY9IiNodG1sUmVhZEZkIj5odG1sUmVhZEZkPC9hPgkJKGludCBmZCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogVVJMLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyLz4JCQkJCSBpbnQgb3B0aW9ucyk7Cis8YSBocmVmPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNodG1sRG9jUHRyIj5odG1sRG9jUHRyPC9hPgk8YSBocmVmPSIjaHRtbFJlYWRJTyI+aHRtbFJlYWRJTzwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXhtbElPLmh0bWwjeG1sSW5wdXRSZWFkQ2FsbGJhY2siPnhtbElucHV0UmVhZENhbGxiYWNrPC9hPiBpb3JlYWQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxJTy5odG1sI3htbElucHV0Q2xvc2VDYWxsYmFjayI+eG1sSW5wdXRDbG9zZUNhbGxiYWNrPC9hPiBpb2Nsb3NlLCA8YnIvPgkJCQkJIHZvaWQgKiBpb2N0eCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogVVJMLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyLz4JCQkJCSBpbnQgb3B0aW9ucyk7Cis8YSBocmVmPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNodG1sRG9jUHRyIj5odG1sRG9jUHRyPC9hPgk8YSBocmVmPSIjaHRtbFBhcnNlRmlsZSI+aHRtbFBhcnNlRmlsZTwvYT4JCShjb25zdCBjaGFyICogZmlsZW5hbWUsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nKTsKKzxhIGhyZWY9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sI2h0bWxEb2NQdHIiPmh0bWxEb2NQdHI8L2E+CTxhIGhyZWY9IiNodG1sQ3R4dFJlYWREb2MiPmh0bWxDdHh0UmVhZERvYzwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNodG1sUGFyc2VyQ3R4dFB0ciI+aHRtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGN1ciwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogVVJMLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyLz4JCQkJCSBpbnQgb3B0aW9ucyk7CitpbnQJPGEgaHJlZj0iI2h0bWxBdXRvQ2xvc2VUYWciPmh0bWxBdXRvQ2xvc2VUYWc8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi1IVE1McGFyc2VyLmh0bWwjaHRtbERvY1B0ciI+aHRtbERvY1B0cjwvYT4gZG9jLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sI2h0bWxOb2RlUHRyIj5odG1sTm9kZVB0cjwvYT4gZWxlbSk7CitpbnQJPGEgaHJlZj0iI2h0bWxQYXJzZUNodW5rIj5odG1sUGFyc2VDaHVuazwvYT4JCQkoPGEgaHJlZj0ibGlieG1sMi1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlckN0eHRQdHIiPmh0bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBjaHVuaywgPGJyLz4JCQkJCSBpbnQgc2l6ZSwgPGJyLz4JCQkJCSBpbnQgdGVybWluYXRlKTsKK2NvbnN0IDxhIGhyZWY9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sI2h0bWxFbGVtRGVzYyI+aHRtbEVsZW1EZXNjPC9hPiAqCTxhIGhyZWY9IiNodG1sVGFnTG9va3VwIj5odG1sVGFnTG9va3VwPC9hPgkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHRhZyk7Cis8YSBocmVmPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNodG1sUGFyc2VyQ3R4dFB0ciI+aHRtbFBhcnNlckN0eHRQdHI8L2E+CTxhIGhyZWY9IiNodG1sQ3JlYXRlTWVtb3J5UGFyc2VyQ3R4dCI+aHRtbENyZWF0ZU1lbW9yeVBhcnNlckN0eHQ8L2E+CShjb25zdCBjaGFyICogYnVmZmVyLCA8YnIvPgkJCQkJCQkgaW50IHNpemUpOwordm9pZAk8YSBocmVmPSIjaHRtbEN0eHRSZXNldCI+aHRtbEN0eHRSZXNldDwvYT4JCQkoPGEgaHJlZj0ibGlieG1sMi1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlckN0eHRQdHIiPmh0bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTsKK2ludAk8YSBocmVmPSIjaHRtbEVsZW1lbnRBbGxvd2VkSGVyZSI+aHRtbEVsZW1lbnRBbGxvd2VkSGVyZTwvYT4JCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNodG1sRWxlbURlc2MiPmh0bWxFbGVtRGVzYzwvYT4gKiBwYXJlbnQsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGVsdCk7Cis8YSBocmVmPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNodG1sRG9jUHRyIj5odG1sRG9jUHRyPC9hPgk8YSBocmVmPSIjaHRtbEN0eHRSZWFkSU8iPmh0bWxDdHh0UmVhZElPPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sI2h0bWxQYXJzZXJDdHh0UHRyIj5odG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbElPLmh0bWwjeG1sSW5wdXRSZWFkQ2FsbGJhY2siPnhtbElucHV0UmVhZENhbGxiYWNrPC9hPiBpb3JlYWQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxJTy5odG1sI3htbElucHV0Q2xvc2VDYWxsYmFjayI+eG1sSW5wdXRDbG9zZUNhbGxiYWNrPC9hPiBpb2Nsb3NlLCA8YnIvPgkJCQkJIHZvaWQgKiBpb2N0eCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogVVJMLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyLz4JCQkJCSBpbnQgb3B0aW9ucyk7Cis8YSBocmVmPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNodG1sUGFyc2VyQ3R4dFB0ciI+aHRtbFBhcnNlckN0eHRQdHI8L2E+CTxhIGhyZWY9IiNodG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQiPmh0bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dDwvYT4JKDxhIGhyZWY9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sI2h0bWxTQVhIYW5kbGVyUHRyIj5odG1sU0FYSGFuZGxlclB0cjwvYT4gc2F4LCA8YnIvPgkJCQkJCQkgdm9pZCAqIHVzZXJfZGF0YSwgPGJyLz4JCQkJCQkJIGNvbnN0IGNoYXIgKiBjaHVuaywgPGJyLz4JCQkJCQkJIGludCBzaXplLCA8YnIvPgkJCQkJCQkgY29uc3QgY2hhciAqIGZpbGVuYW1lLCA8YnIvPgkJCQkJCQkgPGEgaHJlZj0ibGlieG1sMi1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZyI+eG1sQ2hhckVuY29kaW5nPC9hPiBlbmMpOworPGEgaHJlZj0ibGlieG1sMi1IVE1McGFyc2VyLmh0bWwjaHRtbERvY1B0ciI+aHRtbERvY1B0cjwvYT4JPGEgaHJlZj0iI2h0bWxSZWFkTWVtb3J5Ij5odG1sUmVhZE1lbW9yeTwvYT4JCShjb25zdCBjaGFyICogYnVmZmVyLCA8YnIvPgkJCQkJIGludCBzaXplLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBVUkwsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nLCA8YnIvPgkJCQkJIGludCBvcHRpb25zKTsKK2ludAk8YSBocmVmPSIjaHRtbElzQXV0b0Nsb3NlZCI+aHRtbElzQXV0b0Nsb3NlZDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNodG1sRG9jUHRyIj5odG1sRG9jUHRyPC9hPiBkb2MsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi1IVE1McGFyc2VyLmh0bWwjaHRtbE5vZGVQdHIiPmh0bWxOb2RlUHRyPC9hPiBlbGVtKTsKK2ludAk8YSBocmVmPSIjaHRtbFBhcnNlQ2hhclJlZiI+aHRtbFBhcnNlQ2hhclJlZjwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNodG1sUGFyc2VyQ3R4dFB0ciI+aHRtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpOworPGEgaHJlZj0ibGlieG1sMi1IVE1McGFyc2VyLmh0bWwjaHRtbERvY1B0ciI+aHRtbERvY1B0cjwvYT4JPGEgaHJlZj0iI2h0bWxSZWFkRG9jIj5odG1sUmVhZERvYzwvYT4JCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY3VyLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBVUkwsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nLCA8YnIvPgkJCQkJIGludCBvcHRpb25zKTsKK2ludAk8YSBocmVmPSIjaHRtbEVuY29kZUVudGl0aWVzIj5odG1sRW5jb2RlRW50aXRpZXM8L2E+CQkodW5zaWduZWQgY2hhciAqIG91dCwgPGJyLz4JCQkJCSBpbnQgKiBvdXRsZW4sIDxici8+CQkJCQkgY29uc3QgdW5zaWduZWQgY2hhciAqIGluLCA8YnIvPgkJCQkJIGludCAqIGlubGVuLCA8YnIvPgkJCQkJIGludCBxdW90ZUNoYXIpOworPGEgaHJlZj0ibGlieG1sMi1IVE1McGFyc2VyLmh0bWwjaHRtbFN0YXR1cyI+aHRtbFN0YXR1czwvYT4JPGEgaHJlZj0iI2h0bWxOb2RlU3RhdHVzIj5odG1sTm9kZVN0YXR1czwvYT4JCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNodG1sTm9kZVB0ciI+aHRtbE5vZGVQdHI8L2E+IG5vZGUsIDxici8+CQkJCQkgaW50IGxlZ2FjeSk7Cis8YSBocmVmPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNodG1sU3RhdHVzIj5odG1sU3RhdHVzPC9hPgk8YSBocmVmPSIjaHRtbEF0dHJBbGxvd2VkIj5odG1sQXR0ckFsbG93ZWQ8L2E+CQkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi1IVE1McGFyc2VyLmh0bWwjaHRtbEVsZW1EZXNjIj5odG1sRWxlbURlc2M8L2E+ICogZWx0LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBhdHRyLCA8YnIvPgkJCQkJIGludCBsZWdhY3kpOworPGEgaHJlZj0ibGlieG1sMi1IVE1McGFyc2VyLmh0bWwjaHRtbERvY1B0ciI+aHRtbERvY1B0cjwvYT4JPGEgaHJlZj0iI2h0bWxTQVhQYXJzZUZpbGUiPmh0bWxTQVhQYXJzZUZpbGU8L2E+CShjb25zdCBjaGFyICogZmlsZW5hbWUsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sI2h0bWxTQVhIYW5kbGVyUHRyIj5odG1sU0FYSGFuZGxlclB0cjwvYT4gc2F4LCA8YnIvPgkJCQkJIHZvaWQgKiB1c2VyRGF0YSk7Citjb25zdCA8YSBocmVmPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNodG1sRW50aXR5RGVzYyI+aHRtbEVudGl0eURlc2M8L2E+ICoJPGEgaHJlZj0iI2h0bWxQYXJzZUVudGl0eVJlZiI+aHRtbFBhcnNlRW50aXR5UmVmPC9hPgkoPGEgaHJlZj0ibGlieG1sMi1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlckN0eHRQdHIiPmh0bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoqIHN0cik7Cis8YSBocmVmPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNodG1sU3RhdHVzIj5odG1sU3RhdHVzPC9hPgk8YSBocmVmPSIjaHRtbEVsZW1lbnRTdGF0dXNIZXJlIj5odG1sRWxlbWVudFN0YXR1c0hlcmU8L2E+CShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNodG1sRWxlbURlc2MiPmh0bWxFbGVtRGVzYzwvYT4gKiBwYXJlbnQsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi1IVE1McGFyc2VyLmh0bWwjaHRtbEVsZW1EZXNjIj5odG1sRWxlbURlc2M8L2E+ICogZWx0KTsKK2NvbnN0IDxhIGhyZWY9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sI2h0bWxFbnRpdHlEZXNjIj5odG1sRW50aXR5RGVzYzwvYT4gKgk8YSBocmVmPSIjaHRtbEVudGl0eVZhbHVlTG9va3VwIj5odG1sRW50aXR5VmFsdWVMb29rdXA8L2E+CSh1bnNpZ25lZCBpbnQgdmFsdWUpOwordm9pZAk8YSBocmVmPSIjaHRtbFBhcnNlRWxlbWVudCI+aHRtbFBhcnNlRWxlbWVudDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNodG1sUGFyc2VyQ3R4dFB0ciI+aHRtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpOworaW50CTxhIGhyZWY9IiNVVEY4VG9IdG1sIj5VVEY4VG9IdG1sPC9hPgkJCSh1bnNpZ25lZCBjaGFyICogb3V0LCA8YnIvPgkJCQkJIGludCAqIG91dGxlbiwgPGJyLz4JCQkJCSBjb25zdCB1bnNpZ25lZCBjaGFyICogaW4sIDxici8+CQkJCQkgaW50ICogaW5sZW4pOworY29uc3QgPGEgaHJlZj0ibGlieG1sMi1IVE1McGFyc2VyLmh0bWwjaHRtbEVudGl0eURlc2MiPmh0bWxFbnRpdHlEZXNjPC9hPiAqCTxhIGhyZWY9IiNodG1sRW50aXR5TG9va3VwIj5odG1sRW50aXR5TG9va3VwPC9hPgkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpOwordm9pZAk8YSBocmVmPSIjaHRtbEZyZWVQYXJzZXJDdHh0Ij5odG1sRnJlZVBhcnNlckN0eHQ8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlckN0eHRQdHIiPmh0bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTsKKzxhIGhyZWY9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sI2h0bWxEb2NQdHIiPmh0bWxEb2NQdHI8L2E+CTxhIGhyZWY9IiNodG1sQ3R4dFJlYWRNZW1vcnkiPmh0bWxDdHh0UmVhZE1lbW9yeTwvYT4JKDxhIGhyZWY9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sI2h0bWxQYXJzZXJDdHh0UHRyIj5odG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogYnVmZmVyLCA8YnIvPgkJCQkJIGludCBzaXplLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBVUkwsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nLCA8YnIvPgkJCQkJIGludCBvcHRpb25zKTsKKzxhIGhyZWY9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sI2h0bWxEb2NQdHIiPmh0bWxEb2NQdHI8L2E+CTxhIGhyZWY9IiNodG1sQ3R4dFJlYWRGZCI+aHRtbEN0eHRSZWFkRmQ8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlckN0eHRQdHIiPmh0bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIGludCBmZCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogVVJMLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyLz4JCQkJCSBpbnQgb3B0aW9ucyk7Cis8YSBocmVmPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNodG1sRG9jUHRyIj5odG1sRG9jUHRyPC9hPgk8YSBocmVmPSIjaHRtbFJlYWRGaWxlIj5odG1sUmVhZEZpbGU8L2E+CQkoY29uc3QgY2hhciAqIGZpbGVuYW1lLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyLz4JCQkJCSBpbnQgb3B0aW9ucyk7Cis8YSBocmVmPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNodG1sRG9jUHRyIj5odG1sRG9jUHRyPC9hPgk8YSBocmVmPSIjaHRtbEN0eHRSZWFkRmlsZSI+aHRtbEN0eHRSZWFkRmlsZTwvYT4JKDxhIGhyZWY9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sI2h0bWxQYXJzZXJDdHh0UHRyIj5odG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZmlsZW5hbWUsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nLCA8YnIvPgkJCQkJIGludCBvcHRpb25zKTsKK2ludAk8YSBocmVmPSIjaHRtbFBhcnNlRG9jdW1lbnQiPmh0bWxQYXJzZURvY3VtZW50PC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sI2h0bWxQYXJzZXJDdHh0UHRyIj5odG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk7Cis8YSBocmVmPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNodG1sUGFyc2VyQ3R4dFB0ciI+aHRtbFBhcnNlckN0eHRQdHI8L2E+CTxhIGhyZWY9IiNodG1sTmV3UGFyc2VyQ3R4dCI+aHRtbE5ld1BhcnNlckN0eHQ8L2E+CSh2b2lkKTsKKzxhIGhyZWY9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sI2h0bWxEb2NQdHIiPmh0bWxEb2NQdHI8L2E+CTxhIGhyZWY9IiNodG1sU0FYUGFyc2VEb2MiPmh0bWxTQVhQYXJzZURvYzwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY3VyLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNodG1sU0FYSGFuZGxlclB0ciI+aHRtbFNBWEhhbmRsZXJQdHI8L2E+IHNheCwgPGJyLz4JCQkJCSB2b2lkICogdXNlckRhdGEpOworaW50CTxhIGhyZWY9IiNodG1sQ3R4dFVzZU9wdGlvbnMiPmh0bWxDdHh0VXNlT3B0aW9uczwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNodG1sUGFyc2VyQ3R4dFB0ciI+aHRtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgaW50IG9wdGlvbnMpOworPGEgaHJlZj0ibGlieG1sMi1IVE1McGFyc2VyLmh0bWwjaHRtbERvY1B0ciI+aHRtbERvY1B0cjwvYT4JPGEgaHJlZj0iI2h0bWxQYXJzZURvYyI+aHRtbFBhcnNlRG9jPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjdXIsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nKTsKKzwvcHJlPgorICAgIDwvZGl2PgorICAgIDxkaXYgY2xhc3M9InJlZnNlY3QxIiBsYW5nPSJlbiI+CisgICAgICA8aDI+RGVzY3JpcHRpb248L2gyPgorICAgIDwvZGl2PgorICAgIDxkaXYgY2xhc3M9InJlZnNlY3QxIiBsYW5nPSJlbiI+CisgICAgICA8aDI+RGV0YWlsczwvaDI+CisgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJodG1sRGVmYXVsdFN1YmVsZW1lbnQiPk1hY3JvIDwvYT5odG1sRGVmYXVsdFN1YmVsZW1lbnQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNodG1sRGVmYXVsdFN1YmVsZW1lbnQiPmh0bWxEZWZhdWx0U3ViZWxlbWVudDwvYT4oZWx0KTsKKzwvcHJlPjxwPlJldHVybnMgdGhlIGRlZmF1bHQgc3ViZWxlbWVudCBmb3IgdGhpcyBlbGVtZW50PC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZWx0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5IVE1MIGVsZW1lbnQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9Imh0bWxFbGVtZW50QWxsb3dlZEhlcmVEZXNjIj5NYWNybyA8L2E+aHRtbEVsZW1lbnRBbGxvd2VkSGVyZURlc2M8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNodG1sRWxlbWVudEFsbG93ZWRIZXJlRGVzYyI+aHRtbEVsZW1lbnRBbGxvd2VkSGVyZURlc2M8L2E+KHBhcmVudCwgZWx0KTsKKzwvcHJlPjxwPkNoZWNrcyB3aGV0aGVyIGFuIEhUTUwgZWxlbWVudCBkZXNjcmlwdGlvbiBtYXkgYmUgYSBkaXJlY3QgY2hpbGQgb2YgdGhlIHNwZWNpZmllZCBlbGVtZW50LiBSZXR1cm5zIDEgaWYgYWxsb3dlZDsgMCBvdGhlcndpc2UuPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cGFyZW50PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5IVE1MIHBhcmVudCBlbGVtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPkhUTUwgZWxlbWVudDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iaHRtbFJlcXVpcmVkQXR0cnMiPk1hY3JvIDwvYT5odG1sUmVxdWlyZWRBdHRyczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI2h0bWxSZXF1aXJlZEF0dHJzIj5odG1sUmVxdWlyZWRBdHRyczwvYT4oZWx0KTsKKzwvcHJlPjxwPlJldHVybnMgdGhlIGF0dHJpYnV0ZXMgcmVxdWlyZWQgZm9yIHRoZSBzcGVjaWZpZWQgZWxlbWVudC48L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPkhUTUwgZWxlbWVudDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iaHRtbERvY1B0ciI+VHlwZWRlZiA8L2E+aHRtbERvY1B0cjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBodG1sRG9jUHRyOworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9Imh0bWxFbGVtRGVzYyI+U3RydWN0dXJlIDwvYT5odG1sRWxlbURlc2M8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5zdHJ1Y3QgX2h0bWxFbGVtRGVzYyB7CisgICAgY29uc3QgY2hhciAqCW5hbWUJOiBUaGUgdGFnIG5hbWUKKyAgICBjaGFyCXN0YXJ0VGFnCTogV2hldGhlciB0aGUgc3RhcnQgdGFnIGNhbiBiZSBpbXBsaWVkCisgICAgY2hhcgllbmRUYWcJOiBXaGV0aGVyIHRoZSBlbmQgdGFnIGNhbiBiZSBpbXBsaWVkCisgICAgY2hhcglzYXZlRW5kVGFnCTogV2hldGhlciB0aGUgZW5kIHRhZyBzaG91bGQgYmUgc2F2ZWQKKyAgICBjaGFyCWVtcHR5CTogSXMgdGhpcyBhbiBlbXB0eSBlbGVtZW50ID8KKyAgICBjaGFyCWRlcHIJOiBJcyB0aGlzIGEgZGVwcmVjYXRlZCBlbGVtZW50ID8KKyAgICBjaGFyCWR0ZAk6IDE6IG9ubHkgaW4gTG9vc2UgRFRELCAyOiBvbmx5IEZyYW1lc2V0IG9uZQorICAgIGNoYXIJaXNpbmxpbmUJOiBpcyB0aGlzIGEgYmxvY2sgMCBvciBpbmxpbmUgMSBlbGVtZW50CisgICAgY29uc3QgY2hhciAqCWRlc2MJOiB0aGUgZGVzY3JpcHRpb24gTlJLIEphbi4yMDAzICogTmV3IGZpZWxkcyBlbmNhcHN1bGF0aW5nIEhUTUwgc3RydWN0dXIKKyAgICBjb25zdCBjaGFyICoqCXN1YmVsdHMJOiBhbGxvd2VkIHN1Yi1lbGVtZW50cyBvZiB0aGlzIGVsZW1lbnQKKyAgICBjb25zdCBjaGFyICoJZGVmYXVsdHN1YmVsdAk6IHN1YmVsZW1lbnQgZm9yIHN1Z2dlc3RlZCBhdXRvLXJlcGFpciBpZiBuZWNlc3Nhcnkgb3IgTlVMTAorICAgIGNvbnN0IGNoYXIgKioJYXR0cnNfb3B0CTogT3B0aW9uYWwgQXR0cmlidXRlcworICAgIGNvbnN0IGNoYXIgKioJYXR0cnNfZGVwcgk6IEFkZGl0aW9uYWwgZGVwcmVjYXRlZCBhdHRyaWJ1dGVzCisgICAgY29uc3QgY2hhciAqKglhdHRyc19yZXEJOiBSZXF1aXJlZCBhdHRyaWJ1dGVzCit9IGh0bWxFbGVtRGVzYzsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJodG1sRWxlbURlc2NQdHIiPlR5cGVkZWYgPC9hPmh0bWxFbGVtRGVzY1B0cjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sI2h0bWxFbGVtRGVzYyI+aHRtbEVsZW1EZXNjPC9hPiAqIGh0bWxFbGVtRGVzY1B0cjsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJodG1sRW50aXR5RGVzYyI+U3RydWN0dXJlIDwvYT5odG1sRW50aXR5RGVzYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnN0cnVjdCBfaHRtbEVudGl0eURlc2MgeworICAgIHVuc2lnbmVkIGludAl2YWx1ZQk6IHRoZSBVTklDT0RFIHZhbHVlIGZvciB0aGUgY2hhcmFjdGVyCisgICAgY29uc3QgY2hhciAqCW5hbWUJOiBUaGUgZW50aXR5IG5hbWUKKyAgICBjb25zdCBjaGFyICoJZGVzYwk6IHRoZSBkZXNjcmlwdGlvbgorfSBodG1sRW50aXR5RGVzYzsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJodG1sRW50aXR5RGVzY1B0ciI+VHlwZWRlZiA8L2E+aHRtbEVudGl0eURlc2NQdHI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNodG1sRW50aXR5RGVzYyI+aHRtbEVudGl0eURlc2M8L2E+ICogaHRtbEVudGl0eURlc2NQdHI7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iaHRtbE5vZGVQdHIiPlR5cGVkZWYgPC9hPmh0bWxOb2RlUHRyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gaHRtbE5vZGVQdHI7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iaHRtbFBhcnNlckN0eHQiPlR5cGVkZWYgPC9hPmh0bWxQYXJzZXJDdHh0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dCI+eG1sUGFyc2VyQ3R4dDwvYT4gaHRtbFBhcnNlckN0eHQ7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iaHRtbFBhcnNlckN0eHRQdHIiPlR5cGVkZWYgPC9hPmh0bWxQYXJzZXJDdHh0UHRyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gaHRtbFBhcnNlckN0eHRQdHI7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iaHRtbFBhcnNlcklucHV0Ij5UeXBlZGVmIDwvYT5odG1sUGFyc2VySW5wdXQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dCI+eG1sUGFyc2VySW5wdXQ8L2E+IGh0bWxQYXJzZXJJbnB1dDsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJodG1sUGFyc2VySW5wdXRQdHIiPlR5cGVkZWYgPC9hPmh0bWxQYXJzZXJJbnB1dFB0cjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlcklucHV0UHRyIj54bWxQYXJzZXJJbnB1dFB0cjwvYT4gaHRtbFBhcnNlcklucHV0UHRyOworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9Imh0bWxQYXJzZXJOb2RlSW5mbyI+VHlwZWRlZiA8L2E+aHRtbFBhcnNlck5vZGVJbmZvPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi1wYXJzZXIuaHRtbCN4bWxQYXJzZXJOb2RlSW5mbyI+eG1sUGFyc2VyTm9kZUluZm88L2E+IGh0bWxQYXJzZXJOb2RlSW5mbzsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJodG1sUGFyc2VyT3B0aW9uIj5FbnVtIDwvYT5odG1sUGFyc2VyT3B0aW9uPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+ZW51bSA8YSBocmVmPSIjaHRtbFBhcnNlck9wdGlvbiI+aHRtbFBhcnNlck9wdGlvbjwvYT4geworICAgIDxhIG5hbWU9IkhUTUxfUEFSU0VfUkVDT1ZFUiI+SFRNTF9QQVJTRV9SRUNPVkVSPC9hPiA9IDEgLyogUmVsYXhlZCBwYXJzaW5nICovCisgICAgPGEgbmFtZT0iSFRNTF9QQVJTRV9OT0RFRkRURCI+SFRNTF9QQVJTRV9OT0RFRkRURDwvYT4gPSA0IC8qIGRvIG5vdCBkZWZhdWx0IGEgZG9jdHlwZSBpZiBub3QgZm91bmQgKi8KKyAgICA8YSBuYW1lPSJIVE1MX1BBUlNFX05PRVJST1IiPkhUTUxfUEFSU0VfTk9FUlJPUjwvYT4gPSAzMiAvKiBzdXBwcmVzcyBlcnJvciByZXBvcnRzICovCisgICAgPGEgbmFtZT0iSFRNTF9QQVJTRV9OT1dBUk5JTkciPkhUTUxfUEFSU0VfTk9XQVJOSU5HPC9hPiA9IDY0IC8qIHN1cHByZXNzIHdhcm5pbmcgcmVwb3J0cyAqLworICAgIDxhIG5hbWU9IkhUTUxfUEFSU0VfUEVEQU5USUMiPkhUTUxfUEFSU0VfUEVEQU5USUM8L2E+ID0gMTI4IC8qIHBlZGFudGljIGVycm9yIHJlcG9ydGluZyAqLworICAgIDxhIG5hbWU9IkhUTUxfUEFSU0VfTk9CTEFOS1MiPkhUTUxfUEFSU0VfTk9CTEFOS1M8L2E+ID0gMjU2IC8qIHJlbW92ZSBibGFuayBub2RlcyAqLworICAgIDxhIG5hbWU9IkhUTUxfUEFSU0VfTk9ORVQiPkhUTUxfUEFSU0VfTk9ORVQ8L2E+ID0gMjA0OCAvKiBGb3JiaWQgbmV0d29yayBhY2Nlc3MgKi8KKyAgICA8YSBuYW1lPSJIVE1MX1BBUlNFX05PSU1QTElFRCI+SFRNTF9QQVJTRV9OT0lNUExJRUQ8L2E+ID0gODE5MiAvKiBEbyBub3QgYWRkIGltcGxpZWQgaHRtbC9ib2R5Li4uIGVsZW1lbnRzICovCisgICAgPGEgbmFtZT0iSFRNTF9QQVJTRV9DT01QQUNUIj5IVE1MX1BBUlNFX0NPTVBBQ1Q8L2E+ID0gNjU1MzYgLyogY29tcGFjdCBzbWFsbCB0ZXh0IG5vZGVzICovCisgICAgPGEgbmFtZT0iSFRNTF9QQVJTRV9JR05PUkVfRU5DIj5IVE1MX1BBUlNFX0lHTk9SRV9FTkM8L2E+ID0gMjA5NzE1MiAvKiAgaWdub3JlIGludGVybmFsIGRvY3VtZW50IGVuY29kaW5nIGhpbnQgKi8KK307Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iaHRtbFNBWEhhbmRsZXIiPlR5cGVkZWYgPC9hPmh0bWxTQVhIYW5kbGVyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sU0FYSGFuZGxlciI+eG1sU0FYSGFuZGxlcjwvYT4gaHRtbFNBWEhhbmRsZXI7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iaHRtbFNBWEhhbmRsZXJQdHIiPlR5cGVkZWYgPC9hPmh0bWxTQVhIYW5kbGVyUHRyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sU0FYSGFuZGxlclB0ciI+eG1sU0FYSGFuZGxlclB0cjwvYT4gaHRtbFNBWEhhbmRsZXJQdHI7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iaHRtbFN0YXR1cyI+RW51bSA8L2E+aHRtbFN0YXR1czwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmVudW0gPGEgaHJlZj0iI2h0bWxTdGF0dXMiPmh0bWxTdGF0dXM8L2E+IHsKKyAgICA8YSBuYW1lPSJIVE1MX05BIj5IVE1MX05BPC9hPiA9IDAgLyogc29tZXRoaW5nIHdlIGRvbid0IGNoZWNrIGF0IGFsbCAqLworICAgIDxhIG5hbWU9IkhUTUxfSU5WQUxJRCI+SFRNTF9JTlZBTElEPC9hPiA9IDEKKyAgICA8YSBuYW1lPSJIVE1MX0RFUFJFQ0FURUQiPkhUTUxfREVQUkVDQVRFRDwvYT4gPSAyCisgICAgPGEgbmFtZT0iSFRNTF9WQUxJRCI+SFRNTF9WQUxJRDwvYT4gPSA0CisgICAgPGEgbmFtZT0iSFRNTF9SRVFVSVJFRCI+SFRNTF9SRVFVSVJFRDwvYT4gPSAxMiAvKiAgVkFMSUQgYml0IHNldCBzbyAoICZhbXA7IEhUTUxfVkFMSUQgKSBpcyBUUlVFICovCit9OworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IlVURjhUb0h0bWwiLz5VVEY4VG9IdG1sICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CVVURjhUb0h0bWwJCQkodW5zaWduZWQgY2hhciAqIG91dCwgPGJyLz4JCQkJCSBpbnQgKiBvdXRsZW4sIDxici8+CQkJCQkgY29uc3QgdW5zaWduZWQgY2hhciAqIGluLCA8YnIvPgkJCQkJIGludCAqIGlubGVuKTxici8+Cis8L3ByZT48cD5UYWtlIGEgYmxvY2sgb2YgVVRGLTggY2hhcnMgaW4gYW5kIHRyeSB0byBjb252ZXJ0IGl0IHRvIGFuIEFTQ0lJIHBsdXMgSFRNTCBlbnRpdGllcyBibG9jayBvZiBjaGFycyBvdXQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vdXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byBhbiBhcnJheSBvZiBieXRlcyB0byBzdG9yZSB0aGUgcmVzdWx0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vdXRsZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsZW5ndGggb2YgQG91dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byBhbiBhcnJheSBvZiBVVEYtOCBjaGFyczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aW5sZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsZW5ndGggb2YgQGluPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGlmIHN1Y2Nlc3MsIC0yIGlmIHRoZSB0cmFuc2NvZGluZyBmYWlscywgb3IgLTEgb3RoZXJ3aXNlIFRoZSB2YWx1ZSBvZiBAaW5sZW4gYWZ0ZXIgcmV0dXJuIGlzIHRoZSBudW1iZXIgb2Ygb2N0ZXRzIGNvbnN1bWVkIGFzIHRoZSByZXR1cm4gdmFsdWUgaXMgcG9zaXRpdmUsIGVsc2UgdW5wcmVkaWN0YWJsZS4gVGhlIHZhbHVlIG9mIEBvdXRsZW4gYWZ0ZXIgcmV0dXJuIGlzIHRoZSBudW1iZXIgb2Ygb2N0ZXRzIGNvbnN1bWVkLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9Imh0bWxBdHRyQWxsb3dlZCIvPmh0bWxBdHRyQWxsb3dlZCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sI2h0bWxTdGF0dXMiPmh0bWxTdGF0dXM8L2E+CWh0bWxBdHRyQWxsb3dlZAkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sI2h0bWxFbGVtRGVzYyI+aHRtbEVsZW1EZXNjPC9hPiAqIGVsdCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogYXR0ciwgPGJyLz4JCQkJCSBpbnQgbGVnYWN5KTxici8+Cis8L3ByZT48cD5DaGVja3Mgd2hldGhlciBhbiA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBpcyB2YWxpZCBmb3IgYW4gZWxlbWVudCBIYXMgZnVsbCBrbm93bGVkZ2Ugb2YgUmVxdWlyZWQgYW5kIERlcHJlY2F0ZWQgYXR0cmlidXRlczwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZWx0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5IVE1MIGVsZW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmF0dHI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPkhUTUwgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxlZ2FjeTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+d2hldGhlciB0byBhbGxvdyBkZXByZWNhdGVkIGF0dHJpYnV0ZXM8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPm9uZSBvZiBIVE1MX1JFUVVJUkVELCBIVE1MX1ZBTElELCBIVE1MX0RFUFJFQ0FURUQsIDxhIGhyZWY9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sI0hUTUxfSU5WQUxJRCI+SFRNTF9JTlZBTElEPC9hPjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9Imh0bWxBdXRvQ2xvc2VUYWciLz5odG1sQXV0b0Nsb3NlVGFnICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CWh0bWxBdXRvQ2xvc2VUYWcJCSg8YSBocmVmPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNodG1sRG9jUHRyIj5odG1sRG9jUHRyPC9hPiBkb2MsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi1IVE1McGFyc2VyLmh0bWwjaHRtbE5vZGVQdHIiPmh0bWxOb2RlUHRyPC9hPiBlbGVtKTxici8+Cis8L3ByZT48cD5UaGUgSFRNTCBEVEQgYWxsb3dzIGEgdGFnIHRvIGltcGxpY2l0bHkgY2xvc2Ugb3RoZXIgdGFncy4gVGhlIGxpc3QgaXMga2VwdCBpbiBodG1sU3RhcnRDbG9zZSBhcnJheS4gVGhpcyBmdW5jdGlvbiBjaGVja3MgaWYgdGhlIGVsZW1lbnQgb3Igb25lIG9mIGl0J3MgY2hpbGRyZW4gd291bGQgYXV0b2Nsb3NlIHRoZSBnaXZlbiB0YWcuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBIVE1MIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5UaGUgdGFnIG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVsZW08L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBIVE1MIGVsZW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgYXV0b2Nsb3NlLCAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9Imh0bWxDcmVhdGVNZW1vcnlQYXJzZXJDdHh0Ii8+aHRtbENyZWF0ZU1lbW9yeVBhcnNlckN0eHQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNodG1sUGFyc2VyQ3R4dFB0ciI+aHRtbFBhcnNlckN0eHRQdHI8L2E+CWh0bWxDcmVhdGVNZW1vcnlQYXJzZXJDdHh0CShjb25zdCBjaGFyICogYnVmZmVyLCA8YnIvPgkJCQkJCQkgaW50IHNpemUpPGJyLz4KKzwvcHJlPjxwPkNyZWF0ZSBhIHBhcnNlciBjb250ZXh0IGZvciBhbiBIVE1MIGluLW1lbW9yeSBkb2N1bWVudC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmJ1ZmZlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIGEgY2hhciBhcnJheTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2l6ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHNpemUgb2YgdGhlIGFycmF5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IHBhcnNlciBjb250ZXh0IG9yIE5VTEw8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJodG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQiLz5odG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNodG1sUGFyc2VyQ3R4dFB0ciI+aHRtbFBhcnNlckN0eHRQdHI8L2E+CWh0bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dAkoPGEgaHJlZj0ibGlieG1sMi1IVE1McGFyc2VyLmh0bWwjaHRtbFNBWEhhbmRsZXJQdHIiPmh0bWxTQVhIYW5kbGVyUHRyPC9hPiBzYXgsIDxici8+CQkJCQkJCSB2b2lkICogdXNlcl9kYXRhLCA8YnIvPgkJCQkJCQkgY29uc3QgY2hhciAqIGNodW5rLCA8YnIvPgkJCQkJCQkgaW50IHNpemUsIDxici8+CQkJCQkJCSBjb25zdCBjaGFyICogZmlsZW5hbWUsIDxici8+CQkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nIj54bWxDaGFyRW5jb2Rpbmc8L2E+IGVuYyk8YnIvPgorPC9wcmU+PHA+Q3JlYXRlIGEgcGFyc2VyIGNvbnRleHQgZm9yIHVzaW5nIHRoZSBIVE1MIHBhcnNlciBpbiBwdXNoIG1vZGUgVGhlIHZhbHVlIG9mIEBmaWxlbmFtZSBpcyB1c2VkIGZvciBmZXRjaGluZyBleHRlcm5hbCBlbnRpdGllcyBhbmQgZXJyb3Ivd2FybmluZyByZXBvcnRzLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2F4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIFNBWCBoYW5kbGVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD51c2VyX2RhdGE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlRoZSB1c2VyIGRhdGEgcmV0dXJuZWQgb24gU0FYIGNhbGxiYWNrczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y2h1bms8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byBhbiBhcnJheSBvZiBjaGFyczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2l6ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+bnVtYmVyIG9mIGNoYXJzIGluIHRoZSBhcnJheTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmlsZW5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIG9wdGlvbmFsIGZpbGUgbmFtZSBvciBVUkk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVuYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gb3B0aW9uYWwgZW5jb2Rpbmc8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXcgcGFyc2VyIGNvbnRleHQgb3IgTlVMTDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9Imh0bWxDdHh0UmVhZERvYyIvPmh0bWxDdHh0UmVhZERvYyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sI2h0bWxEb2NQdHIiPmh0bWxEb2NQdHI8L2E+CWh0bWxDdHh0UmVhZERvYwkJKDxhIGhyZWY9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sI2h0bWxQYXJzZXJDdHh0UHRyIj5odG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY3VyLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBVUkwsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nLCA8YnIvPgkJCQkJIGludCBvcHRpb25zKTxici8+Cis8L3ByZT48cD5wYXJzZSBhbiBYTUwgaW4tbWVtb3J5IGRvY3VtZW50IGFuZCBidWlsZCBhIHRyZWUuIFRoaXMgcmV1c2VzIHRoZSBleGlzdGluZyBAY3R4dCBwYXJzZXIgY29udGV4dDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gSFRNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gYSB6ZXJvIHRlcm1pbmF0ZWQgc3RyaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5VUkw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBiYXNlIFVSTCB0byB1c2UgZm9yIHRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jb2Rpbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3B0aW9uczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBjb21iaW5hdGlvbiBvZiBodG1sUGFyc2VyT3B0aW9uKHMpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmVzdWx0aW5nIGRvY3VtZW50IHRyZWU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJodG1sQ3R4dFJlYWRGZCIvPmh0bWxDdHh0UmVhZEZkICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi1IVE1McGFyc2VyLmh0bWwjaHRtbERvY1B0ciI+aHRtbERvY1B0cjwvYT4JaHRtbEN0eHRSZWFkRmQJCSg8YSBocmVmPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNodG1sUGFyc2VyQ3R4dFB0ciI+aHRtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgaW50IGZkLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBVUkwsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nLCA8YnIvPgkJCQkJIGludCBvcHRpb25zKTxici8+Cis8L3ByZT48cD5wYXJzZSBhbiBYTUwgZnJvbSBhIGZpbGUgZGVzY3JpcHRvciBhbmQgYnVpbGQgYSB0cmVlLiBUaGlzIHJldXNlcyB0aGUgZXhpc3RpbmcgQGN0eHQgcGFyc2VyIGNvbnRleHQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIEhUTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZkPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBvcGVuIGZpbGUgZGVzY3JpcHRvcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+VVJMPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYmFzZSBVUkwgdG8gdXNlIGZvciB0aGUgZG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVuY29kaW5nPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQgZW5jb2RpbmcsIG9yIE5VTEw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm9wdGlvbnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgY29tYmluYXRpb24gb2YgaHRtbFBhcnNlck9wdGlvbihzKTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHJlc3VsdGluZyBkb2N1bWVudCB0cmVlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iaHRtbEN0eHRSZWFkRmlsZSIvPmh0bWxDdHh0UmVhZEZpbGUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNodG1sRG9jUHRyIj5odG1sRG9jUHRyPC9hPglodG1sQ3R4dFJlYWRGaWxlCSg8YSBocmVmPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNodG1sUGFyc2VyQ3R4dFB0ciI+aHRtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGZpbGVuYW1lLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyLz4JCQkJCSBpbnQgb3B0aW9ucyk8YnIvPgorPC9wcmU+PHA+cGFyc2UgYW4gWE1MIGZpbGUgZnJvbSB0aGUgZmlsZXN5c3RlbSBvciB0aGUgbmV0d29yay4gVGhpcyByZXVzZXMgdGhlIGV4aXN0aW5nIEBjdHh0IHBhcnNlciBjb250ZXh0PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBIVE1MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlbmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBmaWxlIG9yIFVSTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jb2Rpbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3B0aW9uczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBjb21iaW5hdGlvbiBvZiBodG1sUGFyc2VyT3B0aW9uKHMpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmVzdWx0aW5nIGRvY3VtZW50IHRyZWU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJodG1sQ3R4dFJlYWRJTyIvPmh0bWxDdHh0UmVhZElPICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi1IVE1McGFyc2VyLmh0bWwjaHRtbERvY1B0ciI+aHRtbERvY1B0cjwvYT4JaHRtbEN0eHRSZWFkSU8JCSg8YSBocmVmPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNodG1sUGFyc2VyQ3R4dFB0ciI+aHRtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxJTy5odG1sI3htbElucHV0UmVhZENhbGxiYWNrIj54bWxJbnB1dFJlYWRDYWxsYmFjazwvYT4gaW9yZWFkLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sSU8uaHRtbCN4bWxJbnB1dENsb3NlQ2FsbGJhY2siPnhtbElucHV0Q2xvc2VDYWxsYmFjazwvYT4gaW9jbG9zZSwgPGJyLz4JCQkJCSB2b2lkICogaW9jdHgsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIFVSTCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcsIDxici8+CQkJCQkgaW50IG9wdGlvbnMpPGJyLz4KKzwvcHJlPjxwPnBhcnNlIGFuIEhUTUwgZG9jdW1lbnQgZnJvbSBJL08gZnVuY3Rpb25zIGFuZCBzb3VyY2UgYW5kIGJ1aWxkIGEgdHJlZS4gVGhpcyByZXVzZXMgdGhlIGV4aXN0aW5nIEBjdHh0IHBhcnNlciBjb250ZXh0PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBIVE1MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pb3JlYWQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIEkvTyByZWFkIGZ1bmN0aW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pb2Nsb3NlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBJL08gY2xvc2UgZnVuY3Rpb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmlvY3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBJL08gaGFuZGxlcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+VVJMPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYmFzZSBVUkwgdG8gdXNlIGZvciB0aGUgZG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVuY29kaW5nPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQgZW5jb2RpbmcsIG9yIE5VTEw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm9wdGlvbnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgY29tYmluYXRpb24gb2YgaHRtbFBhcnNlck9wdGlvbihzKTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHJlc3VsdGluZyBkb2N1bWVudCB0cmVlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iaHRtbEN0eHRSZWFkTWVtb3J5Ii8+aHRtbEN0eHRSZWFkTWVtb3J5ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi1IVE1McGFyc2VyLmh0bWwjaHRtbERvY1B0ciI+aHRtbERvY1B0cjwvYT4JaHRtbEN0eHRSZWFkTWVtb3J5CSg8YSBocmVmPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNodG1sUGFyc2VyQ3R4dFB0ciI+aHRtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGJ1ZmZlciwgPGJyLz4JCQkJCSBpbnQgc2l6ZSwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogVVJMLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyLz4JCQkJCSBpbnQgb3B0aW9ucyk8YnIvPgorPC9wcmU+PHA+cGFyc2UgYW4gWE1MIGluLW1lbW9yeSBkb2N1bWVudCBhbmQgYnVpbGQgYSB0cmVlLiBUaGlzIHJldXNlcyB0aGUgZXhpc3RpbmcgQGN0eHQgcGFyc2VyIGNvbnRleHQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIEhUTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmJ1ZmZlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIGEgY2hhciBhcnJheTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2l6ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHNpemUgb2YgdGhlIGFycmF5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5VUkw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBiYXNlIFVSTCB0byB1c2UgZm9yIHRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jb2Rpbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3B0aW9uczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBjb21iaW5hdGlvbiBvZiBodG1sUGFyc2VyT3B0aW9uKHMpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmVzdWx0aW5nIGRvY3VtZW50IHRyZWU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJodG1sQ3R4dFJlc2V0Ii8+aHRtbEN0eHRSZXNldCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJaHRtbEN0eHRSZXNldAkJCSg8YSBocmVmPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNodG1sUGFyc2VyQ3R4dFB0ciI+aHRtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPGJyLz4KKzwvcHJlPjxwPlJlc2V0IGEgcGFyc2VyIGNvbnRleHQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIEhUTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJodG1sQ3R4dFVzZU9wdGlvbnMiLz5odG1sQ3R4dFVzZU9wdGlvbnMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJaHRtbEN0eHRVc2VPcHRpb25zCQkoPGEgaHJlZj0ibGlieG1sMi1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlckN0eHRQdHIiPmh0bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIGludCBvcHRpb25zKTxici8+Cis8L3ByZT48cD5BcHBsaWVzIHRoZSBvcHRpb25zIHRvIHRoZSBwYXJzZXIgY29udGV4dDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gSFRNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3B0aW9uczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBjb21iaW5hdGlvbiBvZiBodG1sUGFyc2VyT3B0aW9uKHMpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGluIGNhc2Ugb2Ygc3VjY2VzcywgdGhlIHNldCBvZiB1bmtub3duIG9yIHVuaW1wbGVtZW50ZWQgb3B0aW9ucyBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9Imh0bWxFbGVtZW50QWxsb3dlZEhlcmUiLz5odG1sRWxlbWVudEFsbG93ZWRIZXJlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CWh0bWxFbGVtZW50QWxsb3dlZEhlcmUJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNodG1sRWxlbURlc2MiPmh0bWxFbGVtRGVzYzwvYT4gKiBwYXJlbnQsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGVsdCk8YnIvPgorPC9wcmU+PHA+Q2hlY2tzIHdoZXRoZXIgYW4gSFRNTCBlbGVtZW50IG1heSBiZSBhIGRpcmVjdCBjaGlsZCBvZiBhIHBhcmVudCBlbGVtZW50LiBOb3RlIC0gZG9lc24ndCBjaGVjayBmb3IgZGVwcmVjYXRlZCBlbGVtZW50czwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cGFyZW50PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5IVE1MIHBhcmVudCBlbGVtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPkhUTUwgZWxlbWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiBhbGxvd2VkOyAwIG90aGVyd2lzZS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJodG1sRWxlbWVudFN0YXR1c0hlcmUiLz5odG1sRWxlbWVudFN0YXR1c0hlcmUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNodG1sU3RhdHVzIj5odG1sU3RhdHVzPC9hPglodG1sRWxlbWVudFN0YXR1c0hlcmUJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sI2h0bWxFbGVtRGVzYyI+aHRtbEVsZW1EZXNjPC9hPiAqIHBhcmVudCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNodG1sRWxlbURlc2MiPmh0bWxFbGVtRGVzYzwvYT4gKiBlbHQpPGJyLz4KKzwvcHJlPjxwPkNoZWNrcyB3aGV0aGVyIGFuIEhUTUwgZWxlbWVudCBtYXkgYmUgYSBkaXJlY3QgY2hpbGQgb2YgYSBwYXJlbnQgZWxlbWVudC4gYW5kIGlmIHNvIHdoZXRoZXIgaXQgaXMgdmFsaWQgb3IgZGVwcmVjYXRlZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnBhcmVudDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+SFRNTCBwYXJlbnQgZWxlbWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZWx0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5IVE1MIGVsZW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPm9uZSBvZiBIVE1MX1ZBTElELCBIVE1MX0RFUFJFQ0FURUQsIDxhIGhyZWY9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sI0hUTUxfSU5WQUxJRCI+SFRNTF9JTlZBTElEPC9hPjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9Imh0bWxFbmNvZGVFbnRpdGllcyIvPmh0bWxFbmNvZGVFbnRpdGllcyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAlodG1sRW5jb2RlRW50aXRpZXMJCSh1bnNpZ25lZCBjaGFyICogb3V0LCA8YnIvPgkJCQkJIGludCAqIG91dGxlbiwgPGJyLz4JCQkJCSBjb25zdCB1bnNpZ25lZCBjaGFyICogaW4sIDxici8+CQkJCQkgaW50ICogaW5sZW4sIDxici8+CQkJCQkgaW50IHF1b3RlQ2hhcik8YnIvPgorPC9wcmU+PHA+VGFrZSBhIGJsb2NrIG9mIFVURi04IGNoYXJzIGluIGFuZCB0cnkgdG8gY29udmVydCBpdCB0byBhbiBBU0NJSSBwbHVzIEhUTUwgZW50aXRpZXMgYmxvY2sgb2YgY2hhcnMgb3V0LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3V0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gYW4gYXJyYXkgb2YgYnl0ZXMgdG8gc3RvcmUgdGhlIHJlc3VsdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3V0bGVuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbGVuZ3RoIG9mIEBvdXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmluPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gYW4gYXJyYXkgb2YgVVRGLTggY2hhcnM8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmlubGVuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbGVuZ3RoIG9mIEBpbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cXVvdGVDaGFyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcXVvdGUgY2hhcmFjdGVyIHRvIGVzY2FwZSAoJyBvciAiKSBvciB6ZXJvLjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpZiBzdWNjZXNzLCAtMiBpZiB0aGUgdHJhbnNjb2RpbmcgZmFpbHMsIG9yIC0xIG90aGVyd2lzZSBUaGUgdmFsdWUgb2YgQGlubGVuIGFmdGVyIHJldHVybiBpcyB0aGUgbnVtYmVyIG9mIG9jdGV0cyBjb25zdW1lZCBhcyB0aGUgcmV0dXJuIHZhbHVlIGlzIHBvc2l0aXZlLCBlbHNlIHVucHJlZGljdGFibGUuIFRoZSB2YWx1ZSBvZiBAb3V0bGVuIGFmdGVyIHJldHVybiBpcyB0aGUgbnVtYmVyIG9mIG9jdGV0cyBjb25zdW1lZC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJodG1sRW50aXR5TG9va3VwIi8+aHRtbEVudGl0eUxvb2t1cCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmNvbnN0IDxhIGhyZWY9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sI2h0bWxFbnRpdHlEZXNjIj5odG1sRW50aXR5RGVzYzwvYT4gKglodG1sRW50aXR5TG9va3VwCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSk8YnIvPgorPC9wcmU+PHA+TG9va3VwIHRoZSBnaXZlbiBlbnRpdHkgaW4gRW50aXRpZXNUYWJsZSBUT0RPOiB0aGUgbGluZWFyIHNjYW4gaXMgcmVhbGx5IHVnbHksIGFuIGhhc2ggdGFibGUgaXMgcmVhbGx5IG5lZWRlZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbnRpdHkgbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGFzc29jaWF0ZWQgPGEgaHJlZj0ibGlieG1sMi1IVE1McGFyc2VyLmh0bWwjaHRtbEVudGl0eURlc2NQdHIiPmh0bWxFbnRpdHlEZXNjUHRyPC9hPiBpZiBmb3VuZCwgTlVMTCBvdGhlcndpc2UuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iaHRtbEVudGl0eVZhbHVlTG9va3VwIi8+aHRtbEVudGl0eVZhbHVlTG9va3VwICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Y29uc3QgPGEgaHJlZj0ibGlieG1sMi1IVE1McGFyc2VyLmh0bWwjaHRtbEVudGl0eURlc2MiPmh0bWxFbnRpdHlEZXNjPC9hPiAqCWh0bWxFbnRpdHlWYWx1ZUxvb2t1cAkodW5zaWduZWQgaW50IHZhbHVlKTxici8+Cis8L3ByZT48cD5Mb29rdXAgdGhlIGdpdmVuIGVudGl0eSBpbiBFbnRpdGllc1RhYmxlIFRPRE86IHRoZSBsaW5lYXIgc2NhbiBpcyByZWFsbHkgdWdseSwgYW4gaGFzaCB0YWJsZSBpcyByZWFsbHkgbmVlZGVkLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsdWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbnRpdHkncyB1bmljb2RlIHZhbHVlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYXNzb2NpYXRlZCA8YSBocmVmPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNodG1sRW50aXR5RGVzY1B0ciI+aHRtbEVudGl0eURlc2NQdHI8L2E+IGlmIGZvdW5kLCBOVUxMIG90aGVyd2lzZS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJodG1sRnJlZVBhcnNlckN0eHQiLz5odG1sRnJlZVBhcnNlckN0eHQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCWh0bWxGcmVlUGFyc2VyQ3R4dAkJKDxhIGhyZWY9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sI2h0bWxQYXJzZXJDdHh0UHRyIj5odG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8YnIvPgorPC9wcmU+PHA+RnJlZSBhbGwgdGhlIG1lbW9yeSB1c2VkIGJ5IGEgcGFyc2VyIGNvbnRleHQuIEhvd2V2ZXIgdGhlIHBhcnNlZCBkb2N1bWVudCBpbiBjdHh0LSZndDtteURvYyBpcyBub3QgZnJlZWQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBIVE1MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iaHRtbEhhbmRsZU9taXR0ZWRFbGVtIi8+aHRtbEhhbmRsZU9taXR0ZWRFbGVtICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CWh0bWxIYW5kbGVPbWl0dGVkRWxlbQkJKGludCB2YWwpPGJyLz4KKzwvcHJlPjxwPlNldCBhbmQgcmV0dXJuIHRoZSBwcmV2aW91cyB2YWx1ZSBmb3IgaGFuZGxpbmcgSFRNTCBvbWl0dGVkIHRhZ3MuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmludCAwIG9yIDE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsYXN0IHZhbHVlIGZvciAwIGZvciBubyBoYW5kbGluZywgMSBmb3IgYXV0byBpbnNlcnRpb24uPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iaHRtbElzQXV0b0Nsb3NlZCIvPmh0bWxJc0F1dG9DbG9zZWQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJaHRtbElzQXV0b0Nsb3NlZAkJKDxhIGhyZWY9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sI2h0bWxEb2NQdHIiPmh0bWxEb2NQdHI8L2E+IGRvYywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNodG1sTm9kZVB0ciI+aHRtbE5vZGVQdHI8L2E+IGVsZW0pPGJyLz4KKzwvcHJlPjxwPlRoZSBIVE1MIERURCBhbGxvd3MgYSB0YWcgdG8gaW1wbGljaXRseSBjbG9zZSBvdGhlciB0YWdzLiBUaGUgbGlzdCBpcyBrZXB0IGluIGh0bWxTdGFydENsb3NlIGFycmF5LiBUaGlzIGZ1bmN0aW9uIGNoZWNrcyBpZiBhIHRhZyBpcyBhdXRvY2xvc2VkIGJ5IG9uZSBvZiBpdCdzIGNoaWxkPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBIVE1MIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbGVtPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgSFRNTCBlbGVtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIGF1dG9jbG9zZWQsIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iaHRtbElzU2NyaXB0QXR0cmlidXRlIi8+aHRtbElzU2NyaXB0QXR0cmlidXRlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CWh0bWxJc1NjcmlwdEF0dHJpYnV0ZQkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKTxici8+Cis8L3ByZT48cD5DaGVjayBpZiBhbiA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBpcyBvZiBjb250ZW50IHR5cGUgU2NyaXB0PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlzIHRoZSA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBpcyBhIHNjcmlwdCAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9Imh0bWxOZXdQYXJzZXJDdHh0Ii8+aHRtbE5ld1BhcnNlckN0eHQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNodG1sUGFyc2VyQ3R4dFB0ciI+aHRtbFBhcnNlckN0eHRQdHI8L2E+CWh0bWxOZXdQYXJzZXJDdHh0CSh2b2lkKTxici8+Cis8L3ByZT48cD5BbGxvY2F0ZSBhbmQgaW5pdGlhbGl6ZSBhIG5ldyBwYXJzZXIgY29udGV4dC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNodG1sUGFyc2VyQ3R4dFB0ciI+aHRtbFBhcnNlckN0eHRQdHI8L2E+IG9yIE5VTEwgaW4gY2FzZSBvZiBhbGxvY2F0aW9uIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iaHRtbE5vZGVTdGF0dXMiLz5odG1sTm9kZVN0YXR1cyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sI2h0bWxTdGF0dXMiPmh0bWxTdGF0dXM8L2E+CWh0bWxOb2RlU3RhdHVzCQkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi1IVE1McGFyc2VyLmh0bWwjaHRtbE5vZGVQdHIiPmh0bWxOb2RlUHRyPC9hPiBub2RlLCA8YnIvPgkJCQkJIGludCBsZWdhY3kpPGJyLz4KKzwvcHJlPjxwPkNoZWNrcyB3aGV0aGVyIHRoZSB0cmVlIG5vZGUgaXMgdmFsaWQuIEV4cGVyaW1lbnRhbCAodGhlIGF1dGhvciBvbmx5IHVzZXMgdGhlIEhUTUwgZW5oYW5jZW1lbnRzIGluIGEgU0FYIHBhcnNlcik8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIDxhIGhyZWY9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sI2h0bWxOb2RlUHRyIj5odG1sTm9kZVB0cjwvYT4gaW4gYSB0cmVlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZWdhY3k8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPndoZXRoZXIgdG8gYWxsb3cgZGVwcmVjYXRlZCBlbGVtZW50cyAoWUVTIGlzIGZhc3RlciBoZXJlIGZvciBFbGVtZW50IG5vZGVzKTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+Zm9yIEVsZW1lbnQgbm9kZXMsIGEgcmV0dXJuIGZyb20gPGEgaHJlZj0ibGlieG1sMi1IVE1McGFyc2VyLmh0bWwjaHRtbEVsZW1lbnRBbGxvd2VkSGVyZSI+aHRtbEVsZW1lbnRBbGxvd2VkSGVyZTwvYT4gKGlmIGxlZ2FjeSBhbGxvd2VkKSBvciA8YSBocmVmPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNodG1sRWxlbWVudFN0YXR1c0hlcmUiPmh0bWxFbGVtZW50U3RhdHVzSGVyZTwvYT4gKG90aGVyd2lzZSkuIGZvciBBdHRyaWJ1dGUgbm9kZXMsIGEgcmV0dXJuIGZyb20gPGEgaHJlZj0ibGlieG1sMi1IVE1McGFyc2VyLmh0bWwjaHRtbEF0dHJBbGxvd2VkIj5odG1sQXR0ckFsbG93ZWQ8L2E+IGZvciBvdGhlciBub2RlcywgPGEgaHJlZj0ibGlieG1sMi1IVE1McGFyc2VyLmh0bWwjSFRNTF9OQSI+SFRNTF9OQTwvYT4gKG5vIGNoZWNrcyBwZXJmb3JtZWQpPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iaHRtbFBhcnNlQ2hhclJlZiIvPmh0bWxQYXJzZUNoYXJSZWYgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJaHRtbFBhcnNlQ2hhclJlZgkJKDxhIGhyZWY9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sI2h0bWxQYXJzZXJDdHh0UHRyIj5odG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8YnIvPgorPC9wcmU+PHA+cGFyc2UgUmVmZXJlbmNlIGRlY2xhcmF0aW9ucyBbNjZdIENoYXJSZWYgOjo9ICcmYW1wOyMnIFswLTldKyAnOycgfCAnJmFtcDsjeCcgWzAtOWEtZkEtRl0rICc7JzwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gSFRNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHZhbHVlIHBhcnNlZCAoYXMgYW4gaW50KTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9Imh0bWxQYXJzZUNodW5rIi8+aHRtbFBhcnNlQ2h1bmsgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJaHRtbFBhcnNlQ2h1bmsJCQkoPGEgaHJlZj0ibGlieG1sMi1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlckN0eHRQdHIiPmh0bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBjaHVuaywgPGJyLz4JCQkJCSBpbnQgc2l6ZSwgPGJyLz4JCQkJCSBpbnQgdGVybWluYXRlKTxici8+Cis8L3ByZT48cD5QYXJzZSBhIENodW5rIG9mIG1lbW9yeTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gSFRNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y2h1bms8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIGNoYXIgYXJyYXk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNpemU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzaXplIGluIGJ5dGUgb2YgdGhlIGNodW5rPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50ZXJtaW5hdGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmxhc3QgY2h1bmsgaW5kaWNhdG9yPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD56ZXJvIGlmIG5vIGVycm9yLCB0aGUgPGEgaHJlZj0ibGlieG1sMi14bWxlcnJvci5odG1sI3htbFBhcnNlckVycm9ycyI+eG1sUGFyc2VyRXJyb3JzPC9hPiBvdGhlcndpc2UuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iaHRtbFBhcnNlRG9jIi8+aHRtbFBhcnNlRG9jICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi1IVE1McGFyc2VyLmh0bWwjaHRtbERvY1B0ciI+aHRtbERvY1B0cjwvYT4JaHRtbFBhcnNlRG9jCQkoPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGN1ciwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcpPGJyLz4KKzwvcHJlPjxwPnBhcnNlIGFuIEhUTUwgaW4tbWVtb3J5IGRvY3VtZW50IGFuZCBidWlsZCBhIHRyZWUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byBhbiBhcnJheSBvZiA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbmNvZGluZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBmcmVlIGZvcm0gQyBzdHJpbmcgZGVzY3JpYmluZyB0aGUgSFRNTCBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHJlc3VsdGluZyBkb2N1bWVudCB0cmVlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iaHRtbFBhcnNlRG9jdW1lbnQiLz5odG1sUGFyc2VEb2N1bWVudCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAlodG1sUGFyc2VEb2N1bWVudAkJKDxhIGhyZWY9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sI2h0bWxQYXJzZXJDdHh0UHRyIj5odG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8YnIvPgorPC9wcmU+PHA+cGFyc2UgYW4gSFRNTCBkb2N1bWVudCAoYW5kIGJ1aWxkIGEgdHJlZSBpZiB1c2luZyB0aGUgc3RhbmRhcmQgU0FYIGludGVyZmFjZSkuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBIVE1MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wLCAtMSBpbiBjYXNlIG9mIGVycm9yLiB0aGUgcGFyc2VyIGNvbnRleHQgaXMgYXVnbWVudGVkIGFzIGEgcmVzdWx0IG9mIHRoZSBwYXJzaW5nLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9Imh0bWxQYXJzZUVsZW1lbnQiLz5odG1sUGFyc2VFbGVtZW50ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAlodG1sUGFyc2VFbGVtZW50CQkoPGEgaHJlZj0ibGlieG1sMi1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlckN0eHRQdHIiPmh0bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTxici8+Cis8L3ByZT48cD5wYXJzZSBhbiBIVE1MIGVsZW1lbnQsIHRoaXMgaXMgaGlnaGx5IHJlY3Vyc2l2ZSB0aGlzIGlzIGtlcHQgZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBwcmV2aW91cyBjb2RlIHZlcnNpb25zIFszOV0gZWxlbWVudCA6Oj0gRW1wdHlFbGVtVGFnIHwgU1RhZyBjb250ZW50IEVUYWcgWzQxXSBBdHRyaWJ1dGUgOjo9IE5hbWUgRXEgQXR0VmFsdWU8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIEhUTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJodG1sUGFyc2VFbnRpdHlSZWYiLz5odG1sUGFyc2VFbnRpdHlSZWYgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5jb25zdCA8YSBocmVmPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNodG1sRW50aXR5RGVzYyI+aHRtbEVudGl0eURlc2M8L2E+ICoJaHRtbFBhcnNlRW50aXR5UmVmCSg8YSBocmVmPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNodG1sUGFyc2VyQ3R4dFB0ciI+aHRtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiogc3RyKTxici8+Cis8L3ByZT48cD5wYXJzZSBhbiBIVE1MIEVOVElUWSByZWZlcmVuY2VzIFs2OF0gRW50aXR5UmVmIDo6PSAnJmFtcDsnIE5hbWUgJzsnPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBIVE1MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdHI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmxvY2F0aW9uIHRvIHN0b3JlIHRoZSBlbnRpdHkgbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGFzc29jaWF0ZWQgPGEgaHJlZj0ibGlieG1sMi1IVE1McGFyc2VyLmh0bWwjaHRtbEVudGl0eURlc2NQdHIiPmh0bWxFbnRpdHlEZXNjUHRyPC9hPiBpZiBmb3VuZCwgb3IgTlVMTCBvdGhlcndpc2UsIGlmIG5vbi1OVUxMICpzdHIgd2lsbCBoYXZlIHRvIGJlIGZyZWVkIGJ5IHRoZSBjYWxsZXIuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iaHRtbFBhcnNlRmlsZSIvPmh0bWxQYXJzZUZpbGUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNodG1sRG9jUHRyIj5odG1sRG9jUHRyPC9hPglodG1sUGFyc2VGaWxlCQkoY29uc3QgY2hhciAqIGZpbGVuYW1lLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZyk8YnIvPgorPC9wcmU+PHA+cGFyc2UgYW4gSFRNTCBmaWxlIGFuZCBidWlsZCBhIHRyZWUuIEF1dG9tYXRpYyBzdXBwb3J0IGZvciBaTElCL0NvbXByZXNzIGNvbXByZXNzZWQgZG9jdW1lbnQgaXMgcHJvdmlkZWQgYnkgZGVmYXVsdCBpZiBmb3VuZCBhdCBjb21waWxlLXRpbWUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlbmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZpbGVuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbmNvZGluZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBmcmVlIGZvcm0gQyBzdHJpbmcgZGVzY3JpYmluZyB0aGUgSFRNTCBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHJlc3VsdGluZyBkb2N1bWVudCB0cmVlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iaHRtbFJlYWREb2MiLz5odG1sUmVhZERvYyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sI2h0bWxEb2NQdHIiPmh0bWxEb2NQdHI8L2E+CWh0bWxSZWFkRG9jCQkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGN1ciwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogVVJMLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyLz4JCQkJCSBpbnQgb3B0aW9ucyk8YnIvPgorPC9wcmU+PHA+cGFyc2UgYW4gWE1MIGluLW1lbW9yeSBkb2N1bWVudCBhbmQgYnVpbGQgYSB0cmVlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gYSB6ZXJvIHRlcm1pbmF0ZWQgc3RyaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5VUkw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBiYXNlIFVSTCB0byB1c2UgZm9yIHRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jb2Rpbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3B0aW9uczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBjb21iaW5hdGlvbiBvZiBodG1sUGFyc2VyT3B0aW9uKHMpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmVzdWx0aW5nIGRvY3VtZW50IHRyZWU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJodG1sUmVhZEZkIi8+aHRtbFJlYWRGZCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sI2h0bWxEb2NQdHIiPmh0bWxEb2NQdHI8L2E+CWh0bWxSZWFkRmQJCShpbnQgZmQsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIFVSTCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcsIDxici8+CQkJCQkgaW50IG9wdGlvbnMpPGJyLz4KKzwvcHJlPjxwPnBhcnNlIGFuIFhNTCBmcm9tIGEgZmlsZSBkZXNjcmlwdG9yIGFuZCBidWlsZCBhIHRyZWUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mZDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gb3BlbiBmaWxlIGRlc2NyaXB0b3I8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlVSTDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJhc2UgVVJMIHRvIHVzZSBmb3IgdGhlIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbmNvZGluZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50IGVuY29kaW5nLCBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vcHRpb25zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGNvbWJpbmF0aW9uIG9mIGh0bWxQYXJzZXJPcHRpb24ocyk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSByZXN1bHRpbmcgZG9jdW1lbnQgdHJlZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9Imh0bWxSZWFkRmlsZSIvPmh0bWxSZWFkRmlsZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sI2h0bWxEb2NQdHIiPmh0bWxEb2NQdHI8L2E+CWh0bWxSZWFkRmlsZQkJKGNvbnN0IGNoYXIgKiBmaWxlbmFtZSwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcsIDxici8+CQkJCQkgaW50IG9wdGlvbnMpPGJyLz4KKzwvcHJlPjxwPnBhcnNlIGFuIFhNTCBmaWxlIGZyb20gdGhlIGZpbGVzeXN0ZW0gb3IgdGhlIG5ldHdvcmsuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlbmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBmaWxlIG9yIFVSTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jb2Rpbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3B0aW9uczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBjb21iaW5hdGlvbiBvZiBodG1sUGFyc2VyT3B0aW9uKHMpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmVzdWx0aW5nIGRvY3VtZW50IHRyZWU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJodG1sUmVhZElPIi8+aHRtbFJlYWRJTyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sI2h0bWxEb2NQdHIiPmh0bWxEb2NQdHI8L2E+CWh0bWxSZWFkSU8JCSg8YSBocmVmPSJsaWJ4bWwyLXhtbElPLmh0bWwjeG1sSW5wdXRSZWFkQ2FsbGJhY2siPnhtbElucHV0UmVhZENhbGxiYWNrPC9hPiBpb3JlYWQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxJTy5odG1sI3htbElucHV0Q2xvc2VDYWxsYmFjayI+eG1sSW5wdXRDbG9zZUNhbGxiYWNrPC9hPiBpb2Nsb3NlLCA8YnIvPgkJCQkJIHZvaWQgKiBpb2N0eCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogVVJMLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyLz4JCQkJCSBpbnQgb3B0aW9ucyk8YnIvPgorPC9wcmU+PHA+cGFyc2UgYW4gSFRNTCBkb2N1bWVudCBmcm9tIEkvTyBmdW5jdGlvbnMgYW5kIHNvdXJjZSBhbmQgYnVpbGQgYSB0cmVlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aW9yZWFkPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBJL08gcmVhZCBmdW5jdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aW9jbG9zZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gSS9PIGNsb3NlIGZ1bmN0aW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pb2N0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gSS9PIGhhbmRsZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlVSTDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJhc2UgVVJMIHRvIHVzZSBmb3IgdGhlIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbmNvZGluZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50IGVuY29kaW5nLCBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vcHRpb25zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGNvbWJpbmF0aW9uIG9mIGh0bWxQYXJzZXJPcHRpb24ocyk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSByZXN1bHRpbmcgZG9jdW1lbnQgdHJlZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9Imh0bWxSZWFkTWVtb3J5Ii8+aHRtbFJlYWRNZW1vcnkgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNodG1sRG9jUHRyIj5odG1sRG9jUHRyPC9hPglodG1sUmVhZE1lbW9yeQkJKGNvbnN0IGNoYXIgKiBidWZmZXIsIDxici8+CQkJCQkgaW50IHNpemUsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIFVSTCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcsIDxici8+CQkJCQkgaW50IG9wdGlvbnMpPGJyLz4KKzwvcHJlPjxwPnBhcnNlIGFuIFhNTCBpbi1tZW1vcnkgZG9jdW1lbnQgYW5kIGJ1aWxkIGEgdHJlZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmJ1ZmZlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIGEgY2hhciBhcnJheTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2l6ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHNpemUgb2YgdGhlIGFycmF5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5VUkw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBiYXNlIFVSTCB0byB1c2UgZm9yIHRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jb2Rpbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3B0aW9uczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBjb21iaW5hdGlvbiBvZiBodG1sUGFyc2VyT3B0aW9uKHMpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmVzdWx0aW5nIGRvY3VtZW50IHRyZWU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJodG1sU0FYUGFyc2VEb2MiLz5odG1sU0FYUGFyc2VEb2MgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNodG1sRG9jUHRyIj5odG1sRG9jUHRyPC9hPglodG1sU0FYUGFyc2VEb2MJCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY3VyLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNodG1sU0FYSGFuZGxlclB0ciI+aHRtbFNBWEhhbmRsZXJQdHI8L2E+IHNheCwgPGJyLz4JCQkJCSB2b2lkICogdXNlckRhdGEpPGJyLz4KKzwvcHJlPjxwPlBhcnNlIGFuIEhUTUwgaW4tbWVtb3J5IGRvY3VtZW50LiBJZiBzYXggaXMgbm90IE5VTEwsIHVzZSB0aGUgU0FYIGNhbGxiYWNrcyB0byBoYW5kbGUgcGFyc2UgZXZlbnRzLiBJZiBzYXggaXMgTlVMTCwgZmFsbGJhY2sgdG8gdGhlIGRlZmF1bHQgRE9NIGJlaGF2aW9yIGFuZCByZXR1cm4gYSB0cmVlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gYW4gYXJyYXkgb2YgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jb2Rpbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgZnJlZSBmb3JtIEMgc3RyaW5nIGRlc2NyaWJpbmcgdGhlIEhUTUwgZG9jdW1lbnQgZW5jb2RpbmcsIG9yIE5VTEw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNheDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFNBWCBoYW5kbGVyIGJsb2NrPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD51c2VyRGF0YTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+aWYgdXNpbmcgU0FYLCB0aGlzIHBvaW50ZXIgd2lsbCBiZSBwcm92aWRlZCBvbiBjYWxsYmFja3MuPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmVzdWx0aW5nIGRvY3VtZW50IHRyZWUgdW5sZXNzIFNBWCBpcyBOVUxMIG9yIHRoZSBkb2N1bWVudCBpcyBub3Qgd2VsbCBmb3JtZWQuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iaHRtbFNBWFBhcnNlRmlsZSIvPmh0bWxTQVhQYXJzZUZpbGUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNodG1sRG9jUHRyIj5odG1sRG9jUHRyPC9hPglodG1sU0FYUGFyc2VGaWxlCShjb25zdCBjaGFyICogZmlsZW5hbWUsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sI2h0bWxTQVhIYW5kbGVyUHRyIj5odG1sU0FYSGFuZGxlclB0cjwvYT4gc2F4LCA8YnIvPgkJCQkJIHZvaWQgKiB1c2VyRGF0YSk8YnIvPgorPC9wcmU+PHA+cGFyc2UgYW4gSFRNTCBmaWxlIGFuZCBidWlsZCBhIHRyZWUuIEF1dG9tYXRpYyBzdXBwb3J0IGZvciBaTElCL0NvbXByZXNzIGNvbXByZXNzZWQgZG9jdW1lbnQgaXMgcHJvdmlkZWQgYnkgZGVmYXVsdCBpZiBmb3VuZCBhdCBjb21waWxlLXRpbWUuIEl0IHVzZSB0aGUgZ2l2ZW4gU0FYIGZ1bmN0aW9uIGJsb2NrIHRvIGhhbmRsZSB0aGUgcGFyc2luZyBjYWxsYmFjay4gSWYgc2F4IGlzIE5VTEwsIGZhbGxiYWNrIHRvIHRoZSBkZWZhdWx0IERPTSB0cmVlIGJ1aWxkaW5nIHJvdXRpbmVzLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmlsZW5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmaWxlbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jb2Rpbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgZnJlZSBmb3JtIEMgc3RyaW5nIGRlc2NyaWJpbmcgdGhlIEhUTUwgZG9jdW1lbnQgZW5jb2RpbmcsIG9yIE5VTEw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNheDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFNBWCBoYW5kbGVyIGJsb2NrPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD51c2VyRGF0YTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+aWYgdXNpbmcgU0FYLCB0aGlzIHBvaW50ZXIgd2lsbCBiZSBwcm92aWRlZCBvbiBjYWxsYmFja3MuPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmVzdWx0aW5nIGRvY3VtZW50IHRyZWUgdW5sZXNzIFNBWCBpcyBOVUxMIG9yIHRoZSBkb2N1bWVudCBpcyBub3Qgd2VsbCBmb3JtZWQuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iaHRtbFRhZ0xvb2t1cCIvPmh0bWxUYWdMb29rdXAgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5jb25zdCA8YSBocmVmPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNodG1sRWxlbURlc2MiPmh0bWxFbGVtRGVzYzwvYT4gKglodG1sVGFnTG9va3VwCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdGFnKTxici8+Cis8L3ByZT48cD5Mb29rdXAgdGhlIEhUTUwgdGFnIGluIHRoZSBFbGVtZW50VGFibGU8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRhZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VGhlIHRhZyBuYW1lIGluIGxvd2VyY2FzZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHJlbGF0ZWQgPGEgaHJlZj0ibGlieG1sMi1IVE1McGFyc2VyLmh0bWwjaHRtbEVsZW1EZXNjUHRyIj5odG1sRWxlbURlc2NQdHI8L2E+IG9yIE5VTEwgaWYgbm90IGZvdW5kLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKyAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvZGV2aGVscC9saWJ4bWwyLUhUTUx0cmVlLmh0bWwgYi9saWJ4bWwyL2RvYy9kZXZoZWxwL2xpYnhtbDItSFRNTHRyZWUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NDMwZjhiCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvZGV2aGVscC9saWJ4bWwyLUhUTUx0cmVlLmh0bWwKQEAgLTAsMCArMSwxNzIgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8aHRtbD4KKyAgPGhlYWQ+CisgICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiLz4KKyAgICA8dGl0bGU+SFRNTHRyZWU6IHNwZWNpZmljIEFQSXMgdG8gcHJvY2VzcyBIVE1MIHRyZWUsIGVzcGVjaWFsbHkgc2VyaWFsaXphdGlvbjwvdGl0bGU+CisgICAgPG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJMaWJ4bWwyIGRldmhlbHAgc3R5bGVzaGVldCIvPgorICAgIDxsaW5rIHJlbD0ic3RhcnQiIGhyZWY9ImluZGV4Lmh0bWwiIHRpdGxlPSJsaWJ4bWwyIFJlZmVyZW5jZSBNYW51YWwiLz4KKyAgICA8bGluayByZWw9InVwIiBocmVmPSJnZW5lcmFsLmh0bWwiIHRpdGxlPSJBUEkiLz4KKyAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9InN0eWxlLmNzcyIgdHlwZT0idGV4dC9jc3MiLz4KKyAgICA8bGluayByZWw9ImNoYXB0ZXIiIGhyZWY9ImdlbmVyYWwuaHRtbCIgdGl0bGU9IkFQSSIvPgorICA8L2hlYWQ+CisgIDxib2R5IGJnY29sb3I9IndoaXRlIiB0ZXh0PSJibGFjayIgbGluaz0iIzAwMDBGRiIgdmxpbms9IiM4NDAwODQiIGFsaW5rPSIjMDAwMEZGIj4KKyAgICA8dGFibGUgY2xhc3M9Im5hdmlnYXRpb24iIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIyIj4KKyAgICAgIDx0ciB2YWxpZ249Im1pZGRsZSI+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sIj4KKyAgICAgICAgICAgIDxpbWcgc3JjPSJsZWZ0LnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iUHJldiIvPgorICAgICAgICAgIDwvYT4KKyAgICAgICAgPC90ZD4KKyAgICAgICAgPHRkPgorICAgICAgICAgIDxhIGFjY2Vzc2tleT0idSIgaHJlZj0iZ2VuZXJhbC5odG1sIj4KKyAgICAgICAgICAgIDxpbWcgc3JjPSJ1cC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlVwIi8+CisgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGQ+CisgICAgICAgICAgPGEgYWNjZXNza2V5PSJoIiBocmVmPSJpbmRleC5odG1sIj4KKyAgICAgICAgICAgIDxpbWcgc3JjPSJob21lLnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iSG9tZSIvPgorICAgICAgICAgIDwvYT4KKyAgICAgICAgPC90ZD4KKyAgICAgICAgPHRkPgorICAgICAgICAgIDxhIGFjY2Vzc2tleT0ibiIgaHJlZj0ibGlieG1sMi1TQVguaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0icmlnaHQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJOZXh0Ii8+CisgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGggd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPmxpYnhtbDIgUmVmZXJlbmNlIE1hbnVhbDwvdGg+CisgICAgICA8L3RyPgorICAgIDwvdGFibGU+CisgICAgPGgyPgorICAgICAgPHNwYW4gY2xhc3M9InJlZmVudHJ5dGl0bGUiPkhUTUx0cmVlPC9zcGFuPgorICAgIDwvaDI+CisgICAgPHA+SFRNTHRyZWUgLSBzcGVjaWZpYyBBUElzIHRvIHByb2Nlc3MgSFRNTCB0cmVlLCBlc3BlY2lhbGx5IHNlcmlhbGl6YXRpb248L3A+CisgICAgPHA+dGhpcyBtb2R1bGUgaW1wbGVtZW50cyBhIGZldyBmdW5jdGlvbiBuZWVkZWQgdG8gcHJvY2VzcyB0cmVlIGluIGFuIEhUTUwgc3BlY2lmaWMgd2F5LiA8L3A+CisgICAgPHA+QXV0aG9yKHMpOiBEYW5pZWwgVmVpbGxhcmQgPC9wPgorICAgIDxkaXYgY2xhc3M9InJlZnN5bm9wc2lzZGl2Ij4KKyAgICAgIDxoMj5TeW5vcHNpczwvaDI+CisgICAgICA8cHJlIGNsYXNzPSJzeW5vcHNpcyI+I2RlZmluZSA8YSBocmVmPSIjSFRNTF9FTlRJVFlfUkVGX05PREUiPkhUTUxfRU5USVRZX1JFRl9OT0RFPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI0hUTUxfQ09NTUVOVF9OT0RFIj5IVE1MX0NPTU1FTlRfTk9ERTwvYT47CisjZGVmaW5lIDxhIGhyZWY9IiNIVE1MX1BSRVNFUlZFX05PREUiPkhUTUxfUFJFU0VSVkVfTk9ERTwvYT47CisjZGVmaW5lIDxhIGhyZWY9IiNIVE1MX1RFWFRfTk9ERSI+SFRNTF9URVhUX05PREU8L2E+OworI2RlZmluZSA8YSBocmVmPSIjSFRNTF9QSV9OT0RFIj5IVE1MX1BJX05PREU8L2E+OworaW50CTxhIGhyZWY9IiNodG1sTm9kZUR1bXBGaWxlRm9ybWF0Ij5odG1sTm9kZUR1bXBGaWxlRm9ybWF0PC9hPgkJKEZJTEUgKiBvdXQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nLCA8YnIvPgkJCQkJIGludCBmb3JtYXQpOwordm9pZAk8YSBocmVmPSIjaHRtbERvY0R1bXBNZW1vcnkiPmh0bWxEb2NEdW1wTWVtb3J5PC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBjdXIsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqKiBtZW0sIDxici8+CQkJCQkgaW50ICogc2l6ZSk7CitpbnQJPGEgaHJlZj0iI2h0bWxTYXZlRmlsZSI+aHRtbFNhdmVGaWxlPC9hPgkJCShjb25zdCBjaGFyICogZmlsZW5hbWUsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGN1cik7CitpbnQJPGEgaHJlZj0iI2h0bWxEb2NEdW1wIj5odG1sRG9jRHVtcDwvYT4JCQkoRklMRSAqIGYsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGN1cik7Cit2b2lkCTxhIGhyZWY9IiNodG1sRG9jRHVtcE1lbW9yeUZvcm1hdCI+aHRtbERvY0R1bXBNZW1vcnlGb3JtYXQ8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGN1ciwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoqIG1lbSwgPGJyLz4JCQkJCSBpbnQgKiBzaXplLCA8YnIvPgkJCQkJIGludCBmb3JtYXQpOworaW50CTxhIGhyZWY9IiNodG1sSXNCb29sZWFuQXR0ciI+aHRtbElzQm9vbGVhbkF0dHI8L2E+CQkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpOworaW50CTxhIGhyZWY9IiNodG1sU2F2ZUZpbGVGb3JtYXQiPmh0bWxTYXZlRmlsZUZvcm1hdDwvYT4JCShjb25zdCBjaGFyICogZmlsZW5hbWUsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGN1ciwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcsIDxici8+CQkJCQkgaW50IGZvcm1hdCk7Cit2b2lkCTxhIGhyZWY9IiNodG1sTm9kZUR1bXBGb3JtYXRPdXRwdXQiPmh0bWxOb2RlRHVtcEZvcm1hdE91dHB1dDwvYT4JKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE91dHB1dEJ1ZmZlclB0ciI+eG1sT3V0cHV0QnVmZmVyUHRyPC9hPiBidWYsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nLCA8YnIvPgkJCQkJIGludCBmb3JtYXQpOworaW50CTxhIGhyZWY9IiNodG1sU2V0TWV0YUVuY29kaW5nIj5odG1sU2V0TWV0YUVuY29kaW5nPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sI2h0bWxEb2NQdHIiPmh0bWxEb2NQdHI8L2E+IGRvYywgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogZW5jb2RpbmcpOworaW50CTxhIGhyZWY9IiNodG1sU2F2ZUZpbGVFbmMiPmh0bWxTYXZlRmlsZUVuYzwvYT4JCQkoY29uc3QgY2hhciAqIGZpbGVuYW1lLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBjdXIsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nKTsKK3ZvaWQJPGEgaHJlZj0iI2h0bWxOb2RlRHVtcE91dHB1dCI+aHRtbE5vZGVEdW1wT3V0cHV0PC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE91dHB1dEJ1ZmZlclB0ciI+eG1sT3V0cHV0QnVmZmVyUHRyPC9hPiBidWYsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nKTsKK2ludAk8YSBocmVmPSIjaHRtbE5vZGVEdW1wIj5odG1sTm9kZUR1bXA8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEJ1ZmZlclB0ciI+eG1sQnVmZmVyUHRyPC9hPiBidWYsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIpOworPGEgaHJlZj0ibGlieG1sMi1IVE1McGFyc2VyLmh0bWwjaHRtbERvY1B0ciI+aHRtbERvY1B0cjwvYT4JPGEgaHJlZj0iI2h0bWxOZXdEb2MiPmh0bWxOZXdEb2M8L2E+CQkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIFVSSSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogRXh0ZXJuYWxJRCk7Citjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI2h0bWxHZXRNZXRhRW5jb2RpbmciPmh0bWxHZXRNZXRhRW5jb2Rpbmc8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNodG1sRG9jUHRyIj5odG1sRG9jUHRyPC9hPiBkb2MpOwordm9pZAk8YSBocmVmPSIjaHRtbE5vZGVEdW1wRmlsZSI+aHRtbE5vZGVEdW1wRmlsZTwvYT4JCShGSUxFICogb3V0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gY3VyKTsKK3ZvaWQJPGEgaHJlZj0iI2h0bWxEb2NDb250ZW50RHVtcEZvcm1hdE91dHB1dCI+aHRtbERvY0NvbnRlbnREdW1wRm9ybWF0T3V0cHV0PC9hPgkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sT3V0cHV0QnVmZmVyUHRyIj54bWxPdXRwdXRCdWZmZXJQdHI8L2E+IGJ1ZiwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gY3VyLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyLz4JCQkJCSBpbnQgZm9ybWF0KTsKKzxhIGhyZWY9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sI2h0bWxEb2NQdHIiPmh0bWxEb2NQdHI8L2E+CTxhIGhyZWY9IiNodG1sTmV3RG9jTm9EdEQiPmh0bWxOZXdEb2NOb0R0RDwvYT4JCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogVVJJLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBFeHRlcm5hbElEKTsKK3ZvaWQJPGEgaHJlZj0iI2h0bWxEb2NDb250ZW50RHVtcE91dHB1dCI+aHRtbERvY0NvbnRlbnREdW1wT3V0cHV0PC9hPgkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sT3V0cHV0QnVmZmVyUHRyIj54bWxPdXRwdXRCdWZmZXJQdHI8L2E+IGJ1ZiwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gY3VyLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZyk7Cis8L3ByZT4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MSIgbGFuZz0iZW4iPgorICAgICAgPGgyPkRlc2NyaXB0aW9uPC9oMj4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MSIgbGFuZz0iZW4iPgorICAgICAgPGgyPkRldGFpbHM8L2gyPgorICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iSFRNTF9DT01NRU5UX05PREUiPk1hY3JvIDwvYT5IVE1MX0NPTU1FTlRfTk9ERTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI0hUTUxfQ09NTUVOVF9OT0RFIj5IVE1MX0NPTU1FTlRfTk9ERTwvYT47Cis8L3ByZT48cD5NYWNyby4gQSA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2NvbW1lbnQiPmNvbW1lbnQ8L2E+IGluIGEgSFRNTCBkb2N1bWVudCBpcyByZWFsbHkgaW1wbGVtZW50ZWQgdGhlIHNhbWUgd2F5IGFzIGEgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNjb21tZW50Ij5jb21tZW50PC9hPiBpbiBhbiBYTUwgZG9jdW1lbnQuPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IkhUTUxfRU5USVRZX1JFRl9OT0RFIj5NYWNybyA8L2E+SFRNTF9FTlRJVFlfUkVGX05PREU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNIVE1MX0VOVElUWV9SRUZfTk9ERSI+SFRNTF9FTlRJVFlfUkVGX05PREU8L2E+OworPC9wcmU+PHA+TWFjcm8uIEFuIGVudGl0eSA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI3JlZmVyZW5jZSI+cmVmZXJlbmNlPC9hPiBpbiBhIEhUTUwgZG9jdW1lbnQgaXMgcmVhbGx5IGltcGxlbWVudGVkIHRoZSBzYW1lIHdheSBhcyBhbiBlbnRpdHkgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNyZWZlcmVuY2UiPnJlZmVyZW5jZTwvYT4gaW4gYW4gWE1MIGRvY3VtZW50LjwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJIVE1MX1BJX05PREUiPk1hY3JvIDwvYT5IVE1MX1BJX05PREU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNIVE1MX1BJX05PREUiPkhUTUxfUElfTk9ERTwvYT47Cis8L3ByZT48cD5NYWNyby4gQSBwcm9jZXNzaW5nIGluc3RydWN0aW9uIGluIGEgSFRNTCBkb2N1bWVudCBpcyByZWFsbHkgaW1wbGVtZW50ZWQgdGhlIHNhbWUgd2F5IGFzIGEgcHJvY2Vzc2luZyBpbnN0cnVjdGlvbiBpbiBhbiBYTUwgZG9jdW1lbnQuPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IkhUTUxfUFJFU0VSVkVfTk9ERSI+TWFjcm8gPC9hPkhUTUxfUFJFU0VSVkVfTk9ERTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI0hUTUxfUFJFU0VSVkVfTk9ERSI+SFRNTF9QUkVTRVJWRV9OT0RFPC9hPjsKKzwvcHJlPjxwPk1hY3JvLiBBIHByZXNlcnZlZCBub2RlIGluIGEgSFRNTCBkb2N1bWVudCBpcyByZWFsbHkgaW1wbGVtZW50ZWQgdGhlIHNhbWUgd2F5IGFzIGEgQ0RBVEEgc2VjdGlvbiBpbiBhbiBYTUwgZG9jdW1lbnQuPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IkhUTUxfVEVYVF9OT0RFIj5NYWNybyA8L2E+SFRNTF9URVhUX05PREU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNIVE1MX1RFWFRfTk9ERSI+SFRNTF9URVhUX05PREU8L2E+OworPC9wcmU+PHA+TWFjcm8uIEEgdGV4dCBub2RlIGluIGEgSFRNTCBkb2N1bWVudCBpcyByZWFsbHkgaW1wbGVtZW50ZWQgdGhlIHNhbWUgd2F5IGFzIGEgdGV4dCBub2RlIGluIGFuIFhNTCBkb2N1bWVudC48L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iaHRtbERvY0NvbnRlbnREdW1wRm9ybWF0T3V0cHV0Ii8+aHRtbERvY0NvbnRlbnREdW1wRm9ybWF0T3V0cHV0ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAlodG1sRG9jQ29udGVudER1bXBGb3JtYXRPdXRwdXQJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE91dHB1dEJ1ZmZlclB0ciI+eG1sT3V0cHV0QnVmZmVyUHRyPC9hPiBidWYsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGN1ciwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcsIDxici8+CQkJCQkgaW50IGZvcm1hdCk8YnIvPgorPC9wcmU+PHA+RHVtcCBhbiBIVE1MIGRvY3VtZW50LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YnVmPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgSFRNTCBidWZmZXIgb3V0cHV0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jb2Rpbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbmNvZGluZyBzdHJpbmc8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZvcm1hdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+c2hvdWxkIGZvcm1hdHRpbmcgc3BhY2VzIGJlZW4gYWRkZWQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJodG1sRG9jQ29udGVudER1bXBPdXRwdXQiLz5odG1sRG9jQ29udGVudER1bXBPdXRwdXQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCWh0bWxEb2NDb250ZW50RHVtcE91dHB1dAkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sT3V0cHV0QnVmZmVyUHRyIj54bWxPdXRwdXRCdWZmZXJQdHI8L2E+IGJ1ZiwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gY3VyLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZyk8YnIvPgorPC9wcmU+PHA+RHVtcCBhbiBIVE1MIGRvY3VtZW50LiBGb3JtYXRpbmcgcmV0dXJuL3NwYWNlcyBhcmUgYWRkZWQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5idWY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBIVE1MIGJ1ZmZlciBvdXRwdXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbmNvZGluZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVuY29kaW5nIHN0cmluZzwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9Imh0bWxEb2NEdW1wIi8+aHRtbERvY0R1bXAgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJaHRtbERvY0R1bXAJCQkoRklMRSAqIGYsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGN1cik8YnIvPgorPC9wcmU+PHA+RHVtcCBhbiBIVE1MIGRvY3VtZW50IHRvIGFuIG9wZW4gRklMRS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBGSUxFKjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgYnl0ZSB3cml0dGVuIG9yIC0xIGluIGNhc2Ugb2YgZmFpbHVyZS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJodG1sRG9jRHVtcE1lbW9yeSIvPmh0bWxEb2NEdW1wTWVtb3J5ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAlodG1sRG9jRHVtcE1lbW9yeQkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBjdXIsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqKiBtZW0sIDxici8+CQkJCQkgaW50ICogc2l6ZSk8YnIvPgorPC9wcmU+PHA+RHVtcCBhbiBIVE1MIGRvY3VtZW50IGluIG1lbW9yeSBhbmQgcmV0dXJuIHRoZSA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogYW5kIGl0J3Mgc2l6ZS4gSXQncyB1cCB0byB0aGUgY2FsbGVyIHRvIGZyZWUgdGhlIG1lbW9yeS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5tZW08L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPk9VVDogdGhlIG1lbW9yeSBwb2ludGVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zaXplPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5PVVQ6IHRoZSBtZW1vcnkgbGVuZ3RoPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iaHRtbERvY0R1bXBNZW1vcnlGb3JtYXQiLz5odG1sRG9jRHVtcE1lbW9yeUZvcm1hdCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJaHRtbERvY0R1bXBNZW1vcnlGb3JtYXQJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gY3VyLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiogbWVtLCA8YnIvPgkJCQkJIGludCAqIHNpemUsIDxici8+CQkJCQkgaW50IGZvcm1hdCk8YnIvPgorPC9wcmU+PHA+RHVtcCBhbiBIVE1MIGRvY3VtZW50IGluIG1lbW9yeSBhbmQgcmV0dXJuIHRoZSA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogYW5kIGl0J3Mgc2l6ZS4gSXQncyB1cCB0byB0aGUgY2FsbGVyIHRvIGZyZWUgdGhlIG1lbW9yeS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5tZW08L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPk9VVDogdGhlIG1lbW9yeSBwb2ludGVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zaXplPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5PVVQ6IHRoZSBtZW1vcnkgbGVuZ3RoPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mb3JtYXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnNob3VsZCBmb3JtYXR0aW5nIHNwYWNlcyBiZWVuIGFkZGVkPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iaHRtbEdldE1ldGFFbmNvZGluZyIvPmh0bWxHZXRNZXRhRW5jb2RpbmcgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5jb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJaHRtbEdldE1ldGFFbmNvZGluZwkoPGEgaHJlZj0ibGlieG1sMi1IVE1McGFyc2VyLmh0bWwjaHRtbERvY1B0ciI+aHRtbERvY1B0cjwvYT4gZG9jKTxici8+Cis8L3ByZT48cD5FbmNvZGluZyBkZWZpbml0aW9uIGxvb2t1cCBpbiB0aGUgTWV0YSB0YWdzPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGN1cnJlbnQgZW5jb2RpbmcgYXMgZmxhZ2dlZCBpbiB0aGUgSFRNTCBzb3VyY2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJodG1sSXNCb29sZWFuQXR0ciIvPmh0bWxJc0Jvb2xlYW5BdHRyICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CWh0bWxJc0Jvb2xlYW5BdHRyCQkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpPGJyLz4KKzwvcHJlPjxwPkRldGVybWluZSBpZiBhIGdpdmVuIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IGlzIGEgYm9vbGVhbiBhdHRyaWJ1dGUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZSBvZiB0aGUgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gdG8gY2hlY2s8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmZhbHNlIGlmIHRoZSA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBpcyBub3QgYm9vbGVhbiwgdHJ1ZSBvdGhlcndpc2UuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iaHRtbE5ld0RvYyIvPmh0bWxOZXdEb2MgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNodG1sRG9jUHRyIj5odG1sRG9jUHRyPC9hPglodG1sTmV3RG9jCQkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIFVSSSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogRXh0ZXJuYWxJRCk8YnIvPgorPC9wcmU+PHA+Q3JlYXRlcyBhIG5ldyBIVE1MIGRvY3VtZW50PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5VUkk8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVSSSBmb3IgdGhlIGR0ZCwgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+RXh0ZXJuYWxJRDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGV4dGVybmFsIElEIG9mIHRoZSBEVEQsIG9yIE5VTEw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbmV3IGRvY3VtZW50PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iaHRtbE5ld0RvY05vRHREIi8+aHRtbE5ld0RvY05vRHREICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi1IVE1McGFyc2VyLmh0bWwjaHRtbERvY1B0ciI+aHRtbERvY1B0cjwvYT4JaHRtbE5ld0RvY05vRHRECQkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIFVSSSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogRXh0ZXJuYWxJRCk8YnIvPgorPC9wcmU+PHA+Q3JlYXRlcyBhIG5ldyBIVE1MIGRvY3VtZW50IHdpdGhvdXQgYSBEVEQgbm9kZSBpZiBAVVJJIGFuZCBARXh0ZXJuYWxJRCBhcmUgTlVMTDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+VVJJPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VUkkgZm9yIHRoZSBkdGQsIG9yIE5VTEw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PkV4dGVybmFsSUQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBleHRlcm5hbCBJRCBvZiB0aGUgRFRELCBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIG5ldyBkb2N1bWVudCwgZG8gbm90IGluaXRpYWxpemUgdGhlIERURCBpZiBub3QgcHJvdmlkZWQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJodG1sTm9kZUR1bXAiLz5odG1sTm9kZUR1bXAgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJaHRtbE5vZGVEdW1wCQkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEJ1ZmZlclB0ciI+eG1sQnVmZmVyUHRyPC9hPiBidWYsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIpPGJyLz4KKzwvcHJlPjxwPkR1bXAgYW4gSFRNTCBub2RlLCByZWN1cnNpdmUgYmVoYXZpb3VyLGNoaWxkcmVuIGFyZSBwcmludGVkIHRvbywgYW5kIGZvcm1hdHRpbmcgcmV0dXJucyBhcmUgYWRkZWQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5idWY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBIVE1MIGJ1ZmZlciBvdXRwdXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjdXJyZW50IG5vZGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgYnl0ZSB3cml0dGVuIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJodG1sTm9kZUR1bXBGaWxlIi8+aHRtbE5vZGVEdW1wRmlsZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJaHRtbE5vZGVEdW1wRmlsZQkJKEZJTEUgKiBvdXQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIpPGJyLz4KKzwvcHJlPjxwPkR1bXAgYW4gSFRNTCBub2RlLCByZWN1cnNpdmUgYmVoYXZpb3VyLGNoaWxkcmVuIGFyZSBwcmludGVkIHRvbywgYW5kIGZvcm1hdHRpbmcgcmV0dXJucyBhcmUgYWRkZWQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vdXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBGSUxFIHBvaW50ZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjdXJyZW50IG5vZGU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJodG1sTm9kZUR1bXBGaWxlRm9ybWF0Ii8+aHRtbE5vZGVEdW1wRmlsZUZvcm1hdCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAlodG1sTm9kZUR1bXBGaWxlRm9ybWF0CQkoRklMRSAqIG91dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGN1ciwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcsIDxici8+CQkJCQkgaW50IGZvcm1hdCk8YnIvPgorPC9wcmU+PHA+RHVtcCBhbiBIVE1MIG5vZGUsIHJlY3Vyc2l2ZSBiZWhhdmlvdXIsY2hpbGRyZW4gYXJlIHByaW50ZWQgdG9vLiBUT0RPOiBpZiBlbmNvZGluZyA9PSBOVUxMIHRyeSB0byBzYXZlIGluIHRoZSBkb2MgZW5jb2Rpbmc8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm91dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIEZJTEUgcG9pbnRlcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGN1cnJlbnQgbm9kZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jb2Rpbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudCBlbmNvZGluZzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Zm9ybWF0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5zaG91bGQgZm9ybWF0dGluZyBzcGFjZXMgYmVlbiBhZGRlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBieXRlIHdyaXR0ZW4gb3IgLTEgaW4gY2FzZSBvZiBmYWlsdXJlLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9Imh0bWxOb2RlRHVtcEZvcm1hdE91dHB1dCIvPmh0bWxOb2RlRHVtcEZvcm1hdE91dHB1dCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJaHRtbE5vZGVEdW1wRm9ybWF0T3V0cHV0CSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxPdXRwdXRCdWZmZXJQdHIiPnhtbE91dHB1dEJ1ZmZlclB0cjwvYT4gYnVmLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gY3VyLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyLz4JCQkJCSBpbnQgZm9ybWF0KTxici8+Cis8L3ByZT48cD5EdW1wIGFuIEhUTUwgbm9kZSwgcmVjdXJzaXZlIGJlaGF2aW91cixjaGlsZHJlbiBhcmUgcHJpbnRlZCB0b28uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5idWY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBIVE1MIGJ1ZmZlciBvdXRwdXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjdXJyZW50IG5vZGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVuY29kaW5nPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZW5jb2Rpbmcgc3RyaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mb3JtYXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnNob3VsZCBmb3JtYXR0aW5nIHNwYWNlcyBiZWVuIGFkZGVkPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iaHRtbE5vZGVEdW1wT3V0cHV0Ii8+aHRtbE5vZGVEdW1wT3V0cHV0ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAlodG1sTm9kZUR1bXBPdXRwdXQJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxPdXRwdXRCdWZmZXJQdHIiPnhtbE91dHB1dEJ1ZmZlclB0cjwvYT4gYnVmLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gY3VyLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZyk8YnIvPgorPC9wcmU+PHA+RHVtcCBhbiBIVE1MIG5vZGUsIHJlY3Vyc2l2ZSBiZWhhdmlvdXIsY2hpbGRyZW4gYXJlIHByaW50ZWQgdG9vLCBhbmQgZm9ybWF0dGluZyByZXR1cm5zL3NwYWNlcyBhcmUgYWRkZWQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5idWY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBIVE1MIGJ1ZmZlciBvdXRwdXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjdXJyZW50IG5vZGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVuY29kaW5nPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZW5jb2Rpbmcgc3RyaW5nPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iaHRtbFNhdmVGaWxlIi8+aHRtbFNhdmVGaWxlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CWh0bWxTYXZlRmlsZQkJCShjb25zdCBjaGFyICogZmlsZW5hbWUsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGN1cik8YnIvPgorPC9wcmU+PHA+RHVtcCBhbiBIVE1MIGRvY3VtZW50IHRvIGEgZmlsZS4gSWYgQGZpbGVuYW1lIGlzICItIiB0aGUgc3Rkb3V0IGZpbGUgaXMgdXNlZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZpbGVuYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZmlsZW5hbWUgKG9yIFVSTCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGJ5dGUgd3JpdHRlbiBvciAtMSBpbiBjYXNlIG9mIGZhaWx1cmUuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iaHRtbFNhdmVGaWxlRW5jIi8+aHRtbFNhdmVGaWxlRW5jICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CWh0bWxTYXZlRmlsZUVuYwkJCShjb25zdCBjaGFyICogZmlsZW5hbWUsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGN1ciwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcpPGJyLz4KKzwvcHJlPjxwPkR1bXAgYW4gSFRNTCBkb2N1bWVudCB0byBhIGZpbGUgdXNpbmcgYSBnaXZlbiBlbmNvZGluZyBhbmQgZm9ybWF0dGluZyByZXR1cm5zL3NwYWNlcyBhcmUgYWRkZWQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlbmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZpbGVuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jb2Rpbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudCBlbmNvZGluZzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBieXRlIHdyaXR0ZW4gb3IgLTEgaW4gY2FzZSBvZiBmYWlsdXJlLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9Imh0bWxTYXZlRmlsZUZvcm1hdCIvPmh0bWxTYXZlRmlsZUZvcm1hdCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAlodG1sU2F2ZUZpbGVGb3JtYXQJCShjb25zdCBjaGFyICogZmlsZW5hbWUsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGN1ciwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcsIDxici8+CQkJCQkgaW50IGZvcm1hdCk8YnIvPgorPC9wcmU+PHA+RHVtcCBhbiBIVE1MIGRvY3VtZW50IHRvIGEgZmlsZSB1c2luZyBhIGdpdmVuIGVuY29kaW5nLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmlsZW5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmaWxlbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVuY29kaW5nPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQgZW5jb2Rpbmc8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZvcm1hdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+c2hvdWxkIGZvcm1hdHRpbmcgc3BhY2VzIGJlZW4gYWRkZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgYnl0ZSB3cml0dGVuIG9yIC0xIGluIGNhc2Ugb2YgZmFpbHVyZS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJodG1sU2V0TWV0YUVuY29kaW5nIi8+aHRtbFNldE1ldGFFbmNvZGluZyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAlodG1sU2V0TWV0YUVuY29kaW5nCQkoPGEgaHJlZj0ibGlieG1sMi1IVE1McGFyc2VyLmh0bWwjaHRtbERvY1B0ciI+aHRtbERvY1B0cjwvYT4gZG9jLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBlbmNvZGluZyk8YnIvPgorPC9wcmU+PHA+U2V0cyB0aGUgY3VycmVudCBlbmNvZGluZyBpbiB0aGUgTWV0YSB0YWdzIE5PVEU6IHRoaXMgd2lsbCBub3QgY2hhbmdlIHRoZSBkb2N1bWVudCBjb250ZW50IGVuY29kaW5nLCBqdXN0IHRoZSBNRVRBIGZsYWcgYXNzb2NpYXRlZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbmNvZGluZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVuY29kaW5nIHN0cmluZzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpbiBjYXNlIG9mIHN1Y2Nlc3MgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgPC9kaXY+CisgICAgPC9kaXY+CisgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2RldmhlbHAvbGlieG1sMi1TQVguaHRtbCBiL2xpYnhtbDIvZG9jL2RldmhlbHAvbGlieG1sMi1TQVguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MTYzYjdiCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvZGV2aGVscC9saWJ4bWwyLVNBWC5odG1sCkBAIC0wLDAgKzEsMjQzIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPGh0bWw+CisgIDxoZWFkPgorICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ii8+CisgICAgPHRpdGxlPlNBWDogT2xkIFNBWCB2ZXJzaW9uIDEgaGFuZGxlciwgZGVwcmVjYXRlZDwvdGl0bGU+CisgICAgPG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJMaWJ4bWwyIGRldmhlbHAgc3R5bGVzaGVldCIvPgorICAgIDxsaW5rIHJlbD0ic3RhcnQiIGhyZWY9ImluZGV4Lmh0bWwiIHRpdGxlPSJsaWJ4bWwyIFJlZmVyZW5jZSBNYW51YWwiLz4KKyAgICA8bGluayByZWw9InVwIiBocmVmPSJnZW5lcmFsLmh0bWwiIHRpdGxlPSJBUEkiLz4KKyAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9InN0eWxlLmNzcyIgdHlwZT0idGV4dC9jc3MiLz4KKyAgICA8bGluayByZWw9ImNoYXB0ZXIiIGhyZWY9ImdlbmVyYWwuaHRtbCIgdGl0bGU9IkFQSSIvPgorICA8L2hlYWQ+CisgIDxib2R5IGJnY29sb3I9IndoaXRlIiB0ZXh0PSJibGFjayIgbGluaz0iIzAwMDBGRiIgdmxpbms9IiM4NDAwODQiIGFsaW5rPSIjMDAwMEZGIj4KKyAgICA8dGFibGUgY2xhc3M9Im5hdmlnYXRpb24iIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIyIj4KKyAgICAgIDx0ciB2YWxpZ249Im1pZGRsZSI+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImxpYnhtbDItSFRNTHRyZWUuaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0ibGVmdC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlByZXYiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9InUiIGhyZWY9ImdlbmVyYWwuaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0idXAucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJVcCIvPgorICAgICAgICAgIDwvYT4KKyAgICAgICAgPC90ZD4KKyAgICAgICAgPHRkPgorICAgICAgICAgIDxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iaW5kZXguaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0iaG9tZS5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IkhvbWUiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9Im4iIGhyZWY9ImxpYnhtbDItU0FYMi5odG1sIj4KKyAgICAgICAgICAgIDxpbWcgc3JjPSJyaWdodC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9Ik5leHQiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0aCB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+bGlieG1sMiBSZWZlcmVuY2UgTWFudWFsPC90aD4KKyAgICAgIDwvdHI+CisgICAgPC90YWJsZT4KKyAgICA8aDI+CisgICAgICA8c3BhbiBjbGFzcz0icmVmZW50cnl0aXRsZSI+U0FYPC9zcGFuPgorICAgIDwvaDI+CisgICAgPHA+U0FYIC0gT2xkIFNBWCB2ZXJzaW9uIDEgaGFuZGxlciwgZGVwcmVjYXRlZDwvcD4KKyAgICA8cD5ERVBSRUNBVEVEIHNldCBvZiBTQVggdmVyc2lvbiAxIGludGVyZmFjZXMgdXNlZCB0byBidWlsZCB0aGUgRE9NIHRyZWUuIDwvcD4KKyAgICA8cD4gV0FSTklORzogdGhpcyBtb2R1bGUgaXMgZGVwcmVjYXRlZCAhPC9wPgorICAgIDxwPkF1dGhvcihzKTogRGFuaWVsIFZlaWxsYXJkIDwvcD4KKyAgICA8ZGl2IGNsYXNzPSJyZWZzeW5vcHNpc2RpdiI+CisgICAgICA8aDI+U3lub3BzaXM8L2gyPgorICAgICAgPHByZSBjbGFzcz0ic3lub3BzaXMiPnZvaWQJPGEgaHJlZj0iI2NvbW1lbnQiPmNvbW1lbnQ8L2E+CQkJKHZvaWQgKiBjdHgsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHZhbHVlKTsKK2ludAk8YSBocmVmPSIjY2hlY2tOYW1lc3BhY2UiPmNoZWNrTmFtZXNwYWNlPC9hPgkJCSh2b2lkICogY3R4LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lc3BhY2UpOworaW50CTxhIGhyZWY9IiNnZXRDb2x1bW5OdW1iZXIiPmdldENvbHVtbk51bWJlcjwvYT4JCQkodm9pZCAqIGN0eCk7Cit2b2lkCTxhIGhyZWY9IiNlbnRpdHlEZWNsIj5lbnRpdHlEZWNsPC9hPgkJCSh2b2lkICogY3R4LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJIGludCB0eXBlLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwdWJsaWNJZCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3lzdGVtSWQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGNvbnRlbnQpOwordm9pZAk8YSBocmVmPSIjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+CQkJKHZvaWQgKiBjdHgsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGZ1bGxuYW1lLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB2YWx1ZSk7Cis8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOc1B0ciI+eG1sTnNQdHI8L2E+CTxhIGhyZWY9IiNnZXROYW1lc3BhY2UiPmdldE5hbWVzcGFjZTwvYT4JCSh2b2lkICogY3R4KTsKK3ZvaWQJPGEgaHJlZj0iI3NldERvY3VtZW50TG9jYXRvciI+c2V0RG9jdW1lbnRMb2NhdG9yPC9hPgkJKHZvaWQgKiBjdHgsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sU0FYTG9jYXRvclB0ciI+eG1sU0FYTG9jYXRvclB0cjwvYT4gbG9jKTsKK3ZvaWQJPGEgaHJlZj0iI2luaXR4bWxEZWZhdWx0U0FYSGFuZGxlciI+aW5pdHhtbERlZmF1bHRTQVhIYW5kbGVyPC9hPgkoPGEgaHJlZj0ibGlieG1sMi1wYXJzZXIuaHRtbCN4bWxTQVhIYW5kbGVyVjEiPnhtbFNBWEhhbmRsZXJWMTwvYT4gKiBoZGxyLCA8YnIvPgkJCQkJIGludCB3YXJuaW5nKTsKK3ZvaWQJPGEgaHJlZj0iI2lnbm9yYWJsZVdoaXRlc3BhY2UiPmlnbm9yYWJsZVdoaXRlc3BhY2U8L2E+CQkodm9pZCAqIGN0eCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY2gsIDxici8+CQkJCQkgaW50IGxlbik7CitpbnQJPGEgaHJlZj0iI2hhc0V4dGVybmFsU3Vic2V0Ij5oYXNFeHRlcm5hbFN1YnNldDwvYT4JCSh2b2lkICogY3R4KTsKK3ZvaWQJPGEgaHJlZj0iI3VucGFyc2VkRW50aXR5RGVjbCI+dW5wYXJzZWRFbnRpdHlEZWNsPC9hPgkJKHZvaWQgKiBjdHgsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHB1YmxpY0lkLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzeXN0ZW1JZCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbm90YXRpb25OYW1lKTsKK3ZvaWQJPGEgaHJlZj0iI2dsb2JhbE5hbWVzcGFjZSI+Z2xvYmFsTmFtZXNwYWNlPC9hPgkJCSh2b2lkICogY3R4LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBocmVmLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwcmVmaXgpOworaW50CTxhIGhyZWY9IiNoYXNJbnRlcm5hbFN1YnNldCI+aGFzSW50ZXJuYWxTdWJzZXQ8L2E+CQkodm9pZCAqIGN0eCk7Cit2b2lkCTxhIGhyZWY9IiNyZWZlcmVuY2UiPnJlZmVyZW5jZTwvYT4JCQkodm9pZCAqIGN0eCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSk7Cit2b2lkCTxhIGhyZWY9IiNub3RhdGlvbkRlY2wiPm5vdGF0aW9uRGVjbDwvYT4JCQkodm9pZCAqIGN0eCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHVibGljSWQsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN5c3RlbUlkKTsKK2NvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjZ2V0U3lzdGVtSWQiPmdldFN5c3RlbUlkPC9hPgkJKHZvaWQgKiBjdHgpOwordm9pZAk8YSBocmVmPSIjZXh0ZXJuYWxTdWJzZXQiPmV4dGVybmFsU3Vic2V0PC9hPgkJCSh2b2lkICogY3R4LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBFeHRlcm5hbElELCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBTeXN0ZW1JRCk7Cis8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dFB0ciI+eG1sUGFyc2VySW5wdXRQdHI8L2E+CTxhIGhyZWY9IiNyZXNvbHZlRW50aXR5Ij5yZXNvbHZlRW50aXR5PC9hPgkodm9pZCAqIGN0eCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHVibGljSWQsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN5c3RlbUlkKTsKK3ZvaWQJPGEgaHJlZj0iI3N0YXJ0RG9jdW1lbnQiPnN0YXJ0RG9jdW1lbnQ8L2E+CQkJKHZvaWQgKiBjdHgpOwordm9pZAk8YSBocmVmPSIjc2V0TmFtZXNwYWNlIj5zZXROYW1lc3BhY2U8L2E+CQkJKHZvaWQgKiBjdHgsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpOwordm9pZAk8YSBocmVmPSIjY2RhdGFCbG9jayI+Y2RhdGFCbG9jazwvYT4JCQkodm9pZCAqIGN0eCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUsIDxici8+CQkJCQkgaW50IGxlbik7Citjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI2dldFB1YmxpY0lkIj5nZXRQdWJsaWNJZDwvYT4JCSh2b2lkICogY3R4KTsKK3ZvaWQJPGEgaHJlZj0iI2luaXRodG1sRGVmYXVsdFNBWEhhbmRsZXIiPmluaXRodG1sRGVmYXVsdFNBWEhhbmRsZXI8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXBhcnNlci5odG1sI3htbFNBWEhhbmRsZXJWMSI+eG1sU0FYSGFuZGxlclYxPC9hPiAqIGhkbHIpOwordm9pZAk8YSBocmVmPSIjcHJvY2Vzc2luZ0luc3RydWN0aW9uIj5wcm9jZXNzaW5nSW5zdHJ1Y3Rpb248L2E+CQkodm9pZCAqIGN0eCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdGFyZ2V0LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBkYXRhKTsKK3ZvaWQJPGEgaHJlZj0iI2VuZEVsZW1lbnQiPmVuZEVsZW1lbnQ8L2E+CQkJKHZvaWQgKiBjdHgsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpOwordm9pZAk8YSBocmVmPSIjbmFtZXNwYWNlRGVjbCI+bmFtZXNwYWNlRGVjbDwvYT4JCQkodm9pZCAqIGN0eCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogaHJlZiwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHJlZml4KTsKK3ZvaWQJPGEgaHJlZj0iI2luaXRkb2NiRGVmYXVsdFNBWEhhbmRsZXIiPmluaXRkb2NiRGVmYXVsdFNBWEhhbmRsZXI8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXBhcnNlci5odG1sI3htbFNBWEhhbmRsZXJWMSI+eG1sU0FYSGFuZGxlclYxPC9hPiAqIGhkbHIpOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRW50aXR5UHRyIj54bWxFbnRpdHlQdHI8L2E+CTxhIGhyZWY9IiNnZXRFbnRpdHkiPmdldEVudGl0eTwvYT4JCSh2b2lkICogY3R4LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKTsKK3ZvaWQJPGEgaHJlZj0iI2NoYXJhY3RlcnMiPmNoYXJhY3RlcnM8L2E+CQkJKHZvaWQgKiBjdHgsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGNoLCA8YnIvPgkJCQkJIGludCBsZW4pOwordm9pZAk8YSBocmVmPSIjZWxlbWVudERlY2wiPmVsZW1lbnREZWNsPC9hPgkJCSh2b2lkICogY3R4LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJIGludCB0eXBlLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEVsZW1lbnRDb250ZW50UHRyIj54bWxFbGVtZW50Q29udGVudFB0cjwvYT4gY29udGVudCk7Cit2b2lkCTxhIGhyZWY9IiNzdGFydEVsZW1lbnQiPnN0YXJ0RWxlbWVudDwvYT4JCQkodm9pZCAqIGN0eCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogZnVsbG5hbWUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqKiBhdHRzKTsKKzxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEVudGl0eVB0ciI+eG1sRW50aXR5UHRyPC9hPgk8YSBocmVmPSIjZ2V0UGFyYW1ldGVyRW50aXR5Ij5nZXRQYXJhbWV0ZXJFbnRpdHk8L2E+CSh2b2lkICogY3R4LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKTsKK3ZvaWQJPGEgaHJlZj0iI2F0dHJpYnV0ZURlY2wiPmF0dHJpYnV0ZURlY2w8L2E+CQkJKHZvaWQgKiBjdHgsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGVsZW0sIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGZ1bGxuYW1lLCA8YnIvPgkJCQkJIGludCB0eXBlLCA8YnIvPgkJCQkJIGludCBkZWYsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGRlZmF1bHRWYWx1ZSwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxFbnVtZXJhdGlvblB0ciI+eG1sRW51bWVyYXRpb25QdHI8L2E+IHRyZWUpOworaW50CTxhIGhyZWY9IiNpc1N0YW5kYWxvbmUiPmlzU3RhbmRhbG9uZTwvYT4JCQkodm9pZCAqIGN0eCk7Cit2b2lkCTxhIGhyZWY9IiNpbnRlcm5hbFN1YnNldCI+aW50ZXJuYWxTdWJzZXQ8L2E+CQkJKHZvaWQgKiBjdHgsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIEV4dGVybmFsSUQsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIFN5c3RlbUlEKTsKK3ZvaWQJPGEgaHJlZj0iI2VuZERvY3VtZW50Ij5lbmREb2N1bWVudDwvYT4JCQkodm9pZCAqIGN0eCk7CitpbnQJPGEgaHJlZj0iI2dldExpbmVOdW1iZXIiPmdldExpbmVOdW1iZXI8L2E+CQkJKHZvaWQgKiBjdHgpOworPC9wcmU+CisgICAgPC9kaXY+CisgICAgPGRpdiBjbGFzcz0icmVmc2VjdDEiIGxhbmc9ImVuIj4KKyAgICAgIDxoMj5EZXNjcmlwdGlvbjwvaDI+CisgICAgPC9kaXY+CisgICAgPGRpdiBjbGFzcz0icmVmc2VjdDEiIGxhbmc9ImVuIj4KKyAgICAgIDxoMj5EZXRhaWxzPC9oMj4KKyAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9ImF0dHJpYnV0ZSIvPmF0dHJpYnV0ZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJYXR0cmlidXRlCQkJKHZvaWQgKiBjdHgsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGZ1bGxuYW1lLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB2YWx1ZSk8YnIvPgorPC9wcmU+PHA+SGFuZGxlIGFuIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IHRoYXQgaGFzIGJlZW4gcmVhZCBieSB0aGUgcGFyc2VyLiBUaGUgZGVmYXVsdCBoYW5kbGluZyBpcyB0byBjb252ZXJ0IHRoZSA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBpbnRvIGFuIERPTSBzdWJ0cmVlIGFuZCBwYXN0IGl0IGluIGEgbmV3IDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEF0dHIiPnhtbEF0dHI8L2E+IGVsZW1lbnQgYWRkZWQgdG8gdGhlIGVsZW1lbnQuIERFUFJFQ0FURUQ6IHVzZSB4bWxTQVgyQXR0cmlidXRlKCk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZnVsbG5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlRoZSA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBuYW1lLCBpbmNsdWRpbmcgbmFtZXNwYWNlIHByZWZpeDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsdWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlRoZSA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiB2YWx1ZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9ImF0dHJpYnV0ZURlY2wiLz5hdHRyaWJ1dGVEZWNsICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAlhdHRyaWJ1dGVEZWNsCQkJKHZvaWQgKiBjdHgsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGVsZW0sIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGZ1bGxuYW1lLCA8YnIvPgkJCQkJIGludCB0eXBlLCA8YnIvPgkJCQkJIGludCBkZWYsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGRlZmF1bHRWYWx1ZSwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxFbnVtZXJhdGlvblB0ciI+eG1sRW51bWVyYXRpb25QdHI8L2E+IHRyZWUpPGJyLz4KKzwvcHJlPjxwPkFuIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IGRlZmluaXRpb24gaGFzIGJlZW4gcGFyc2VkIERFUFJFQ0FURUQ6IHVzZSB4bWxTQVgyQXR0cmlidXRlRGVjbCgpPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVsZW08L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lIG9mIHRoZSBlbGVtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mdWxsbmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnR5cGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiB0eXBlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kZWY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB0eXBlIG9mIGRlZmF1bHQgdmFsdWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRlZmF1bHRWYWx1ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IGRlZmF1bHQgdmFsdWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRyZWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB0cmVlIG9mIGVudW1lcmF0ZWQgdmFsdWUgc2V0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iY2RhdGFCbG9jayIvPmNkYXRhQmxvY2sgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCWNkYXRhQmxvY2sJCQkodm9pZCAqIGN0eCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUsIDxici8+CQkJCQkgaW50IGxlbik8YnIvPgorPC9wcmU+PHA+Y2FsbGVkIHdoZW4gYSBwY2RhdGEgYmxvY2sgaGFzIGJlZW4gcGFyc2VkIERFUFJFQ0FURUQ6IHVzZSB4bWxTQVgyQ0RhdGFCbG9jaygpPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbHVlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5UaGUgcGNkYXRhIGNvbnRlbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJsb2NrIGxlbmd0aDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9ImNoYXJhY3RlcnMiLz5jaGFyYWN0ZXJzICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAljaGFyYWN0ZXJzCQkJKHZvaWQgKiBjdHgsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGNoLCA8YnIvPgkJCQkJIGludCBsZW4pPGJyLz4KKzwvcHJlPjxwPnJlY2VpdmluZyBzb21lIGNoYXJzIGZyb20gdGhlIHBhcnNlci4gREVQUkVDQVRFRDogdXNlIHhtbFNBWDJDaGFyYWN0ZXJzKCk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y2g8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiBzdHJpbmc8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iY2hlY2tOYW1lc3BhY2UiLz5jaGVja05hbWVzcGFjZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAljaGVja05hbWVzcGFjZQkJCSh2b2lkICogY3R4LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lc3BhY2UpPGJyLz4KKzwvcHJlPjxwPkNoZWNrIHRoYXQgdGhlIGN1cnJlbnQgZWxlbWVudCBuYW1lc3BhY2UgaXMgdGhlIHNhbWUgYXMgdGhlIG9uZSByZWFkIHVwb24gcGFyc2luZy4gREVQUkVDQVRFRDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lc3BhY2U8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lc3BhY2UgdG8gY2hlY2sgYWdhaW5zdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iY29tbWVudCIvPmNvbW1lbnQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCWNvbW1lbnQJCQkodm9pZCAqIGN0eCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUpPGJyLz4KKzwvcHJlPjxwPkEgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNjb21tZW50Ij5jb21tZW50PC9hPiBoYXMgYmVlbiBwYXJzZWQuIERFUFJFQ0FURUQ6IHVzZSB4bWxTQVgyQ29tbWVudCgpPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbHVlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNjb21tZW50Ij5jb21tZW50PC9hPiBjb250ZW50PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iZWxlbWVudERlY2wiLz5lbGVtZW50RGVjbCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJZWxlbWVudERlY2wJCQkodm9pZCAqIGN0eCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCSBpbnQgdHlwZSwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxFbGVtZW50Q29udGVudFB0ciI+eG1sRWxlbWVudENvbnRlbnRQdHI8L2E+IGNvbnRlbnQpPGJyLz4KKzwvcHJlPjxwPkFuIGVsZW1lbnQgZGVmaW5pdGlvbiBoYXMgYmVlbiBwYXJzZWQgREVQUkVDQVRFRDogdXNlIHhtbFNBWDJFbGVtZW50RGVjbCgpPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbGVtZW50IG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnR5cGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbGVtZW50IHR5cGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbnRlbnQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbGVtZW50IHZhbHVlIHRyZWU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJlbmREb2N1bWVudCIvPmVuZERvY3VtZW50ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAllbmREb2N1bWVudAkJCSh2b2lkICogY3R4KTxici8+Cis8L3ByZT48cD5jYWxsZWQgd2hlbiB0aGUgZG9jdW1lbnQgZW5kIGhhcyBiZWVuIGRldGVjdGVkLiBERVBSRUNBVEVEOiB1c2UgeG1sU0FYMkVuZERvY3VtZW50KCk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9ImVuZEVsZW1lbnQiLz5lbmRFbGVtZW50ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAllbmRFbGVtZW50CQkJKHZvaWQgKiBjdHgsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpPGJyLz4KKzwvcHJlPjxwPmNhbGxlZCB3aGVuIHRoZSBlbmQgb2YgYW4gZWxlbWVudCBoYXMgYmVlbiBkZXRlY3RlZC4gREVQUkVDQVRFRDogdXNlIHhtbFNBWDJFbmRFbGVtZW50KCk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VGhlIGVsZW1lbnQgbmFtZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9ImVudGl0eURlY2wiLz5lbnRpdHlEZWNsICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAllbnRpdHlEZWNsCQkJKHZvaWQgKiBjdHgsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgaW50IHR5cGUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHB1YmxpY0lkLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzeXN0ZW1JZCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY29udGVudCk8YnIvPgorPC9wcmU+PHA+QW4gZW50aXR5IGRlZmluaXRpb24gaGFzIGJlZW4gcGFyc2VkIERFUFJFQ0FURUQ6IHVzZSB4bWxTQVgyRW50aXR5RGVjbCgpPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbnRpdHkgbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dHlwZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVudGl0eSB0eXBlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wdWJsaWNJZDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VGhlIHB1YmxpYyBJRCBvZiB0aGUgZW50aXR5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zeXN0ZW1JZDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VGhlIHN5c3RlbSBJRCBvZiB0aGUgZW50aXR5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb250ZW50PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZW50aXR5IHZhbHVlICh3aXRob3V0IHByb2Nlc3NpbmcpLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9ImV4dGVybmFsU3Vic2V0Ii8+ZXh0ZXJuYWxTdWJzZXQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCWV4dGVybmFsU3Vic2V0CQkJKHZvaWQgKiBjdHgsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIEV4dGVybmFsSUQsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIFN5c3RlbUlEKTxici8+Cis8L3ByZT48cD5DYWxsYmFjayBvbiBleHRlcm5hbCBzdWJzZXQgZGVjbGFyYXRpb24uIERFUFJFQ0FURUQ6IHVzZSB4bWxTQVgyRXh0ZXJuYWxTdWJzZXQoKTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcm9vdCBlbGVtZW50IG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PkV4dGVybmFsSUQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBleHRlcm5hbCBJRDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+U3lzdGVtSUQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBTWVNURU0gSUQgKGUuZy4gZmlsZW5hbWUgb3IgVVJMKTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9ImdldENvbHVtbk51bWJlciIvPmdldENvbHVtbk51bWJlciAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAlnZXRDb2x1bW5OdW1iZXIJCQkodm9pZCAqIGN0eCk8YnIvPgorPC9wcmU+PHA+UHJvdmlkZSB0aGUgY29sdW1uIG51bWJlciBvZiB0aGUgY3VycmVudCBwYXJzaW5nIHBvaW50LiBERVBSRUNBVEVEOiB1c2UgeG1sU0FYMkdldENvbHVtbk51bWJlcigpPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIGludDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9ImdldEVudGl0eSIvPmdldEVudGl0eSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEVudGl0eVB0ciI+eG1sRW50aXR5UHRyPC9hPglnZXRFbnRpdHkJCSh2b2lkICogY3R4LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKTxici8+Cis8L3ByZT48cD5HZXQgYW4gZW50aXR5IGJ5IG5hbWUgREVQUkVDQVRFRDogdXNlIHhtbFNBWDJHZXRFbnRpdHkoKTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5UaGUgZW50aXR5IG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxFbnRpdHlQdHIiPnhtbEVudGl0eVB0cjwvYT4gaWYgZm91bmQuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iZ2V0TGluZU51bWJlciIvPmdldExpbmVOdW1iZXIgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJZ2V0TGluZU51bWJlcgkJCSh2b2lkICogY3R4KTxici8+Cis8L3ByZT48cD5Qcm92aWRlIHRoZSBsaW5lIG51bWJlciBvZiB0aGUgY3VycmVudCBwYXJzaW5nIHBvaW50LiBERVBSRUNBVEVEOiB1c2UgeG1sU0FYMkdldExpbmVOdW1iZXIoKTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBpbnQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJnZXROYW1lc3BhY2UiLz5nZXROYW1lc3BhY2UgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOc1B0ciI+eG1sTnNQdHI8L2E+CWdldE5hbWVzcGFjZQkJKHZvaWQgKiBjdHgpPGJyLz4KKzwvcHJlPjxwPkdldCB0aGUgY3VycmVudCBlbGVtZW50IG5hbWVzcGFjZS4gREVQUkVDQVRFRDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTnNQdHIiPnhtbE5zUHRyPC9hPiBvciBOVUxMIGlmIG5vbmU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJnZXRQYXJhbWV0ZXJFbnRpdHkiLz5nZXRQYXJhbWV0ZXJFbnRpdHkgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxFbnRpdHlQdHIiPnhtbEVudGl0eVB0cjwvYT4JZ2V0UGFyYW1ldGVyRW50aXR5CSh2b2lkICogY3R4LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKTxici8+Cis8L3ByZT48cD5HZXQgYSBwYXJhbWV0ZXIgZW50aXR5IGJ5IG5hbWUgREVQUkVDQVRFRDogdXNlIHhtbFNBWDJHZXRQYXJhbWV0ZXJFbnRpdHkoKTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5UaGUgZW50aXR5IG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxFbnRpdHlQdHIiPnhtbEVudGl0eVB0cjwvYT4gaWYgZm91bmQuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iZ2V0UHVibGljSWQiLz5nZXRQdWJsaWNJZCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKglnZXRQdWJsaWNJZAkJKHZvaWQgKiBjdHgpPGJyLz4KKzwvcHJlPjxwPlByb3ZpZGVzIHRoZSBwdWJsaWMgSUQgZS5nLiAiLS8vU0dNTFNPVVJDRS8vRFREIERFTU8vL0VOIiBERVBSRUNBVEVEOiB1c2UgeG1sU0FYMkdldFB1YmxpY0lkKCk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJnZXRTeXN0ZW1JZCIvPmdldFN5c3RlbUlkICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Y29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCWdldFN5c3RlbUlkCQkodm9pZCAqIGN0eCk8YnIvPgorPC9wcmU+PHA+UHJvdmlkZXMgdGhlIHN5c3RlbSBJRCwgYmFzaWNhbGx5IFVSTCBvciBmaWxlbmFtZSBlLmcuIGh0dHA6Ly93d3cuc2dtbHNvdXJjZS5jb20vZHRkcy9tZW1vLmR0ZCBERVBSRUNBVEVEOiB1c2UgeG1sU0FYMkdldFN5c3RlbUlkKCk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJnbG9iYWxOYW1lc3BhY2UiLz5nbG9iYWxOYW1lc3BhY2UgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCWdsb2JhbE5hbWVzcGFjZQkJCSh2b2lkICogY3R4LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBocmVmLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwcmVmaXgpPGJyLz4KKzwvcHJlPjxwPkFuIG9sZCBnbG9iYWwgbmFtZXNwYWNlIGhhcyBiZWVuIHBhcnNlZC4gREVQUkVDQVRFRDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ocmVmPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZXNwYWNlIGFzc29jaWF0ZWQgVVJOPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wcmVmaXg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lc3BhY2UgcHJlZml4PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iaGFzRXh0ZXJuYWxTdWJzZXQiLz5oYXNFeHRlcm5hbFN1YnNldCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAloYXNFeHRlcm5hbFN1YnNldAkJKHZvaWQgKiBjdHgpPGJyLz4KKzwvcHJlPjxwPkRvZXMgdGhpcyBkb2N1bWVudCBoYXMgYW4gZXh0ZXJuYWwgc3Vic2V0IERFUFJFQ0FURUQ6IHVzZSB4bWxTQVgySGFzRXh0ZXJuYWxTdWJzZXQoKTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJoYXNJbnRlcm5hbFN1YnNldCIvPmhhc0ludGVybmFsU3Vic2V0ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CWhhc0ludGVybmFsU3Vic2V0CQkodm9pZCAqIGN0eCk8YnIvPgorPC9wcmU+PHA+RG9lcyB0aGlzIGRvY3VtZW50IGhhcyBhbiBpbnRlcm5hbCBzdWJzZXQgREVQUkVDQVRFRDogdXNlIHhtbFNBWDJIYXNJbnRlcm5hbFN1YnNldCgpPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9Imlnbm9yYWJsZVdoaXRlc3BhY2UiLz5pZ25vcmFibGVXaGl0ZXNwYWNlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAlpZ25vcmFibGVXaGl0ZXNwYWNlCQkodm9pZCAqIGN0eCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY2gsIDxici8+CQkJCQkgaW50IGxlbik8YnIvPgorPC9wcmU+PHA+cmVjZWl2aW5nIHNvbWUgaWdub3JhYmxlIHdoaXRlc3BhY2VzIGZyb20gdGhlIHBhcnNlci4gVU5VU0VEOiBieSBkZWZhdWx0IHRoZSBET00gYnVpbGRpbmcgd2lsbCB1c2UgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNjaGFyYWN0ZXJzIj5jaGFyYWN0ZXJzPC9hPiBERVBSRUNBVEVEOiB1c2UgeG1sU0FYMklnbm9yYWJsZVdoaXRlc3BhY2UoKTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jaDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+IHN0cmluZzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGVuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJpbml0ZG9jYkRlZmF1bHRTQVhIYW5kbGVyIi8+aW5pdGRvY2JEZWZhdWx0U0FYSGFuZGxlciAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJaW5pdGRvY2JEZWZhdWx0U0FYSGFuZGxlcgkoPGEgaHJlZj0ibGlieG1sMi1wYXJzZXIuaHRtbCN4bWxTQVhIYW5kbGVyVjEiPnhtbFNBWEhhbmRsZXJWMTwvYT4gKiBoZGxyKTxici8+Cis8L3ByZT48cD5Jbml0aWFsaXplIHRoZSBkZWZhdWx0IERvY0Jvb2sgU0FYIHZlcnNpb24gMSBoYW5kbGVyIERFUFJFQ0FURUQ6IHVzZSB4bWxTQVgySW5pdERvY2JEZWZhdWx0U0FYSGFuZGxlcigpIGZvciB0aGUgbmV3IFNBWDIgYmxvY2tzPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5oZGxyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgU0FYIGhhbmRsZXI8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJpbml0aHRtbERlZmF1bHRTQVhIYW5kbGVyIi8+aW5pdGh0bWxEZWZhdWx0U0FYSGFuZGxlciAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJaW5pdGh0bWxEZWZhdWx0U0FYSGFuZGxlcgkoPGEgaHJlZj0ibGlieG1sMi1wYXJzZXIuaHRtbCN4bWxTQVhIYW5kbGVyVjEiPnhtbFNBWEhhbmRsZXJWMTwvYT4gKiBoZGxyKTxici8+Cis8L3ByZT48cD5Jbml0aWFsaXplIHRoZSBkZWZhdWx0IEhUTUwgU0FYIHZlcnNpb24gMSBoYW5kbGVyIERFUFJFQ0FURUQ6IHVzZSB4bWxTQVgySW5pdEh0bWxEZWZhdWx0U0FYSGFuZGxlcigpIGZvciB0aGUgbmV3IFNBWDIgYmxvY2tzPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5oZGxyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgU0FYIGhhbmRsZXI8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJpbml0eG1sRGVmYXVsdFNBWEhhbmRsZXIiLz5pbml0eG1sRGVmYXVsdFNBWEhhbmRsZXIgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCWluaXR4bWxEZWZhdWx0U0FYSGFuZGxlcgkoPGEgaHJlZj0ibGlieG1sMi1wYXJzZXIuaHRtbCN4bWxTQVhIYW5kbGVyVjEiPnhtbFNBWEhhbmRsZXJWMTwvYT4gKiBoZGxyLCA8YnIvPgkJCQkJIGludCB3YXJuaW5nKTxici8+Cis8L3ByZT48cD5Jbml0aWFsaXplIHRoZSBkZWZhdWx0IFhNTCBTQVggdmVyc2lvbiAxIGhhbmRsZXIgREVQUkVDQVRFRDogdXNlIHhtbFNBWDJJbml0RGVmYXVsdFNBWEhhbmRsZXIoKSBmb3IgdGhlIG5ldyBTQVgyIGJsb2NrczwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aGRscjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFNBWCBoYW5kbGVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD53YXJuaW5nPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5mbGFnIGlmIG5vbi16ZXJvIHNldHMgdGhlIGhhbmRsZXIgd2FybmluZyBwcm9jZWR1cmU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJpbnRlcm5hbFN1YnNldCIvPmludGVybmFsU3Vic2V0ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAlpbnRlcm5hbFN1YnNldAkJCSh2b2lkICogY3R4LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBFeHRlcm5hbElELCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBTeXN0ZW1JRCk8YnIvPgorPC9wcmU+PHA+Q2FsbGJhY2sgb24gaW50ZXJuYWwgc3Vic2V0IGRlY2xhcmF0aW9uLiBERVBSRUNBVEVEOiB1c2UgeG1sU0FYMkludGVybmFsU3Vic2V0KCk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHJvb3QgZWxlbWVudCBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5FeHRlcm5hbElEPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZXh0ZXJuYWwgSUQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlN5c3RlbUlEPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgU1lTVEVNIElEIChlLmcuIGZpbGVuYW1lIG9yIFVSTCk8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJpc1N0YW5kYWxvbmUiLz5pc1N0YW5kYWxvbmUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJaXNTdGFuZGFsb25lCQkJKHZvaWQgKiBjdHgpPGJyLz4KKzwvcHJlPjxwPklzIHRoaXMgZG9jdW1lbnQgdGFnZ2VkIHN0YW5kYWxvbmUgPyBERVBSRUNBVEVEOiB1c2UgeG1sU0FYMklzU3RhbmRhbG9uZSgpPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9Im5hbWVzcGFjZURlY2wiLz5uYW1lc3BhY2VEZWNsICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAluYW1lc3BhY2VEZWNsCQkJKHZvaWQgKiBjdHgsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGhyZWYsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHByZWZpeCk8YnIvPgorPC9wcmU+PHA+QSBuYW1lc3BhY2UgaGFzIGJlZW4gcGFyc2VkLiBERVBSRUNBVEVEPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmhyZWY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lc3BhY2UgYXNzb2NpYXRlZCBVUk48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnByZWZpeDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5hbWVzcGFjZSBwcmVmaXg8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJub3RhdGlvbkRlY2wiLz5ub3RhdGlvbkRlY2wgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCW5vdGF0aW9uRGVjbAkJCSh2b2lkICogY3R4LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwdWJsaWNJZCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3lzdGVtSWQpPGJyLz4KKzwvcHJlPjxwPldoYXQgdG8gZG8gd2hlbiBhIG5vdGF0aW9uIGRlY2xhcmF0aW9uIGhhcyBiZWVuIHBhcnNlZC4gREVQUkVDQVRFRDogdXNlIHhtbFNBWDJOb3RhdGlvbkRlY2woKTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5UaGUgbmFtZSBvZiB0aGUgbm90YXRpb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnB1YmxpY0lkPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5UaGUgcHVibGljIElEIG9mIHRoZSBlbnRpdHk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN5c3RlbUlkPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5UaGUgc3lzdGVtIElEIG9mIHRoZSBlbnRpdHk8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJwcm9jZXNzaW5nSW5zdHJ1Y3Rpb24iLz5wcm9jZXNzaW5nSW5zdHJ1Y3Rpb24gKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXByb2Nlc3NpbmdJbnN0cnVjdGlvbgkJKHZvaWQgKiBjdHgsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHRhcmdldCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogZGF0YSk8YnIvPgorPC9wcmU+PHA+QSBwcm9jZXNzaW5nIGluc3RydWN0aW9uIGhhcyBiZWVuIHBhcnNlZC4gREVQUkVDQVRFRDogdXNlIHhtbFNBWDJQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24oKTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50YXJnZXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB0YXJnZXQgbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGF0YTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFBJIGRhdGEnczwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InJlZmVyZW5jZSIvPnJlZmVyZW5jZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJcmVmZXJlbmNlCQkJKHZvaWQgKiBjdHgsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpPGJyLz4KKzwvcHJlPjxwPmNhbGxlZCB3aGVuIGFuIGVudGl0eSA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI3JlZmVyZW5jZSI+cmVmZXJlbmNlPC9hPiBpcyBkZXRlY3RlZC4gREVQUkVDQVRFRDogdXNlIHhtbFNBWDJSZWZlcmVuY2UoKTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5UaGUgZW50aXR5IG5hbWU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJyZXNvbHZlRW50aXR5Ii8+cmVzb2x2ZUVudGl0eSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlcklucHV0UHRyIj54bWxQYXJzZXJJbnB1dFB0cjwvYT4JcmVzb2x2ZUVudGl0eQkodm9pZCAqIGN0eCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHVibGljSWQsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN5c3RlbUlkKTxici8+Cis8L3ByZT48cD5UaGUgZW50aXR5IGxvYWRlciwgdG8gY29udHJvbCB0aGUgbG9hZGluZyBvZiBleHRlcm5hbCBlbnRpdGllcywgdGhlIGFwcGxpY2F0aW9uIGNhbiBlaXRoZXI6IC0gb3ZlcnJpZGUgdGhpcyByZXNvbHZlRW50aXR5KCkgY2FsbGJhY2sgaW4gdGhlIFNBWCBibG9jayAtIG9yIGJldHRlciB1c2UgdGhlIHhtbFNldEV4dGVybmFsRW50aXR5TG9hZGVyKCkgZnVuY3Rpb24gdG8gc2V0IHVwIGl0J3Mgb3duIGVudGl0eSByZXNvbHV0aW9uIHJvdXRpbmUgREVQUkVDQVRFRDogdXNlIHhtbFNBWDJSZXNvbHZlRW50aXR5KCk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cHVibGljSWQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlRoZSBwdWJsaWMgSUQgb2YgdGhlIGVudGl0eTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3lzdGVtSWQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlRoZSBzeXN0ZW0gSUQgb2YgdGhlIGVudGl0eTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlcklucHV0UHRyIj54bWxQYXJzZXJJbnB1dFB0cjwvYT4gaWYgaW5saW5lZCBvciBOVUxMIGZvciBET00gYmVoYXZpb3VyLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InNldERvY3VtZW50TG9jYXRvciIvPnNldERvY3VtZW50TG9jYXRvciAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJc2V0RG9jdW1lbnRMb2NhdG9yCQkodm9pZCAqIGN0eCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxTQVhMb2NhdG9yUHRyIj54bWxTQVhMb2NhdG9yUHRyPC9hPiBsb2MpPGJyLz4KKzwvcHJlPjxwPlJlY2VpdmUgdGhlIGRvY3VtZW50IGxvY2F0b3IgYXQgc3RhcnR1cCwgYWN0dWFsbHkgPGEgaHJlZj0ibGlieG1sMi1nbG9iYWxzLmh0bWwjeG1sRGVmYXVsdFNBWExvY2F0b3IiPnhtbERlZmF1bHRTQVhMb2NhdG9yPC9hPiBFdmVyeXRoaW5nIGlzIGF2YWlsYWJsZSBvbiB0aGUgY29udGV4dCwgc28gdGhpcyBpcyB1c2VsZXNzIGluIG91ciBjYXNlLiBERVBSRUNBVEVEPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+QSBTQVggTG9jYXRvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InNldE5hbWVzcGFjZSIvPnNldE5hbWVzcGFjZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJc2V0TmFtZXNwYWNlCQkJKHZvaWQgKiBjdHgsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpPGJyLz4KKzwvcHJlPjxwPlNldCB0aGUgY3VycmVudCBlbGVtZW50IG5hbWVzcGFjZS4gREVQUkVDQVRFRDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZXNwYWNlIHByZWZpeDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InN0YXJ0RG9jdW1lbnQiLz5zdGFydERvY3VtZW50ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAlzdGFydERvY3VtZW50CQkJKHZvaWQgKiBjdHgpPGJyLz4KKzwvcHJlPjxwPmNhbGxlZCB3aGVuIHRoZSBkb2N1bWVudCBzdGFydCBiZWluZyBwcm9jZXNzZWQuIERFUFJFQ0FURUQ6IHVzZSB4bWxTQVgyU3RhcnREb2N1bWVudCgpPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCk8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJzdGFydEVsZW1lbnQiLz5zdGFydEVsZW1lbnQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXN0YXJ0RWxlbWVudAkJCSh2b2lkICogY3R4LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBmdWxsbmFtZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoqIGF0dHMpPGJyLz4KKzwvcHJlPjxwPmNhbGxlZCB3aGVuIGFuIG9wZW5pbmcgdGFnIGhhcyBiZWVuIHByb2Nlc3NlZC4gREVQUkVDQVRFRDogdXNlIHhtbFNBWDJTdGFydEVsZW1lbnQoKTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mdWxsbmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VGhlIGVsZW1lbnQgbmFtZSwgaW5jbHVkaW5nIG5hbWVzcGFjZSBwcmVmaXg8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmF0dHM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPkFuIGFycmF5IG9mIG5hbWUvdmFsdWUgYXR0cmlidXRlcyBwYWlycywgTlVMTCB0ZXJtaW5hdGVkPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0idW5wYXJzZWRFbnRpdHlEZWNsIi8+dW5wYXJzZWRFbnRpdHlEZWNsICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl1bnBhcnNlZEVudGl0eURlY2wJCSh2b2lkICogY3R4LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwdWJsaWNJZCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3lzdGVtSWQsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5vdGF0aW9uTmFtZSk8YnIvPgorPC9wcmU+PHA+V2hhdCB0byBkbyB3aGVuIGFuIHVucGFyc2VkIGVudGl0eSBkZWNsYXJhdGlvbiBpcyBwYXJzZWQgREVQUkVDQVRFRDogdXNlIHhtbFNBWDJVbnBhcnNlZEVudGl0eURlY2woKTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5UaGUgbmFtZSBvZiB0aGUgZW50aXR5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wdWJsaWNJZDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VGhlIHB1YmxpYyBJRCBvZiB0aGUgZW50aXR5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zeXN0ZW1JZDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VGhlIHN5c3RlbSBJRCBvZiB0aGUgZW50aXR5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub3RhdGlvbk5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lIG9mIHRoZSBub3RhdGlvbjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKyAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvZGV2aGVscC9saWJ4bWwyLVNBWDIuaHRtbCBiL2xpYnhtbDIvZG9jL2RldmhlbHAvbGlieG1sMi1TQVgyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTgwMTk5ZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL2RldmhlbHAvbGlieG1sMi1TQVgyLmh0bWwKQEAgLTAsMCArMSwyNDcgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8aHRtbD4KKyAgPGhlYWQ+CisgICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiLz4KKyAgICA8dGl0bGU+U0FYMjogU0FYMiBwYXJzZXIgaW50ZXJmYWNlIHVzZWQgdG8gYnVpbGQgdGhlIERPTSB0cmVlPC90aXRsZT4KKyAgICA8bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9IkxpYnhtbDIgZGV2aGVscCBzdHlsZXNoZWV0Ii8+CisgICAgPGxpbmsgcmVsPSJzdGFydCIgaHJlZj0iaW5kZXguaHRtbCIgdGl0bGU9ImxpYnhtbDIgUmVmZXJlbmNlIE1hbnVhbCIvPgorICAgIDxsaW5rIHJlbD0idXAiIGhyZWY9ImdlbmVyYWwuaHRtbCIgdGl0bGU9IkFQSSIvPgorICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0ic3R5bGUuY3NzIiB0eXBlPSJ0ZXh0L2NzcyIvPgorICAgIDxsaW5rIHJlbD0iY2hhcHRlciIgaHJlZj0iZ2VuZXJhbC5odG1sIiB0aXRsZT0iQVBJIi8+CisgIDwvaGVhZD4KKyAgPGJvZHkgYmdjb2xvcj0id2hpdGUiIHRleHQ9ImJsYWNrIiBsaW5rPSIjMDAwMEZGIiB2bGluaz0iIzg0MDA4NCIgYWxpbms9IiMwMDAwRkYiPgorICAgIDx0YWJsZSBjbGFzcz0ibmF2aWdhdGlvbiIgd2lkdGg9IjEwMCUiIHN1bW1hcnk9Ik5hdmlnYXRpb24gaGVhZGVyIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjIiPgorICAgICAgPHRyIHZhbGlnbj0ibWlkZGxlIj4KKyAgICAgICAgPHRkPgorICAgICAgICAgIDxhIGFjY2Vzc2tleT0icCIgaHJlZj0ibGlieG1sMi1TQVguaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0ibGVmdC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlByZXYiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9InUiIGhyZWY9ImdlbmVyYWwuaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0idXAucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJVcCIvPgorICAgICAgICAgIDwvYT4KKyAgICAgICAgPC90ZD4KKyAgICAgICAgPHRkPgorICAgICAgICAgIDxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iaW5kZXguaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0iaG9tZS5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IkhvbWUiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9Im4iIGhyZWY9ImxpYnhtbDItYzE0bi5odG1sIj4KKyAgICAgICAgICAgIDxpbWcgc3JjPSJyaWdodC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9Ik5leHQiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0aCB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+bGlieG1sMiBSZWZlcmVuY2UgTWFudWFsPC90aD4KKyAgICAgIDwvdHI+CisgICAgPC90YWJsZT4KKyAgICA8aDI+CisgICAgICA8c3BhbiBjbGFzcz0icmVmZW50cnl0aXRsZSI+U0FYMjwvc3Bhbj4KKyAgICA8L2gyPgorICAgIDxwPlNBWDIgLSBTQVgyIHBhcnNlciBpbnRlcmZhY2UgdXNlZCB0byBidWlsZCB0aGUgRE9NIHRyZWU8L3A+CisgICAgPHA+dGhvc2UgYXJlIHRoZSBkZWZhdWx0IFNBWDIgaW50ZXJmYWNlcyB1c2VkIGJ5IHRoZSBsaWJyYXJ5IHdoZW4gYnVpbGRpbmcgRE9NIHRyZWUuIDwvcD4KKyAgICA8cD5BdXRob3Iocyk6IERhbmllbCBWZWlsbGFyZCA8L3A+CisgICAgPGRpdiBjbGFzcz0icmVmc3lub3BzaXNkaXYiPgorICAgICAgPGgyPlN5bm9wc2lzPC9oMj4KKyAgICAgIDxwcmUgY2xhc3M9InN5bm9wc2lzIj52b2lkCTxhIGhyZWY9IiN4bWxTQVgyRW5kRWxlbWVudE5zIj54bWxTQVgyRW5kRWxlbWVudE5zPC9hPgkJKHZvaWQgKiBjdHgsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGxvY2FsbmFtZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHJlZml4LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBVUkkpOwordm9pZAk8YSBocmVmPSIjeG1sU0FYMlJlZmVyZW5jZSI+eG1sU0FYMlJlZmVyZW5jZTwvYT4JCSh2b2lkICogY3R4LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKTsKK3ZvaWQJPGEgaHJlZj0iI3htbFNBWDJFbGVtZW50RGVjbCI+eG1sU0FYMkVsZW1lbnREZWNsPC9hPgkJKHZvaWQgKiBjdHgsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgaW50IHR5cGUsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRWxlbWVudENvbnRlbnRQdHIiPnhtbEVsZW1lbnRDb250ZW50UHRyPC9hPiBjb250ZW50KTsKK3ZvaWQJPGEgaHJlZj0iI3htbFNBWDJBdHRyaWJ1dGVEZWNsIj54bWxTQVgyQXR0cmlidXRlRGVjbDwvYT4JCSh2b2lkICogY3R4LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBlbGVtLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBmdWxsbmFtZSwgPGJyLz4JCQkJCSBpbnQgdHlwZSwgPGJyLz4JCQkJCSBpbnQgZGVmLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBkZWZhdWx0VmFsdWUsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRW51bWVyYXRpb25QdHIiPnhtbEVudW1lcmF0aW9uUHRyPC9hPiB0cmVlKTsKK3ZvaWQJPGEgaHJlZj0iI3htbFNBWDJDb21tZW50Ij54bWxTQVgyQ29tbWVudDwvYT4JCQkodm9pZCAqIGN0eCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUpOworaW50CTxhIGhyZWY9IiN4bWxTQVgyR2V0Q29sdW1uTnVtYmVyIj54bWxTQVgyR2V0Q29sdW1uTnVtYmVyPC9hPgkJKHZvaWQgKiBjdHgpOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRW50aXR5UHRyIj54bWxFbnRpdHlQdHI8L2E+CTxhIGhyZWY9IiN4bWxTQVgyR2V0RW50aXR5Ij54bWxTQVgyR2V0RW50aXR5PC9hPgkodm9pZCAqIGN0eCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSk7Cit2b2lkCTxhIGhyZWY9IiN4bWxTQVgyVW5wYXJzZWRFbnRpdHlEZWNsIj54bWxTQVgyVW5wYXJzZWRFbnRpdHlEZWNsPC9hPgkodm9pZCAqIGN0eCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHVibGljSWQsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN5c3RlbUlkLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBub3RhdGlvbk5hbWUpOwordm9pZAk8YSBocmVmPSIjeG1sU0FYMkluaXREb2NiRGVmYXVsdFNBWEhhbmRsZXIiPnhtbFNBWDJJbml0RG9jYkRlZmF1bHRTQVhIYW5kbGVyPC9hPgkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sU0FYSGFuZGxlciI+eG1sU0FYSGFuZGxlcjwvYT4gKiBoZGxyKTsKK2ludAk8YSBocmVmPSIjeG1sU0FYVmVyc2lvbiI+eG1sU0FYVmVyc2lvbjwvYT4JCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sU0FYSGFuZGxlciI+eG1sU0FYSGFuZGxlcjwvYT4gKiBoZGxyLCA8YnIvPgkJCQkJIGludCB2ZXJzaW9uKTsKK3ZvaWQJPGEgaHJlZj0iI3htbFNBWDJJZ25vcmFibGVXaGl0ZXNwYWNlIj54bWxTQVgySWdub3JhYmxlV2hpdGVzcGFjZTwvYT4JKHZvaWQgKiBjdHgsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGNoLCA8YnIvPgkJCQkJIGludCBsZW4pOwordm9pZAk8YSBocmVmPSIjeG1sU0FYMk5vdGF0aW9uRGVjbCI+eG1sU0FYMk5vdGF0aW9uRGVjbDwvYT4JCSh2b2lkICogY3R4LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwdWJsaWNJZCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3lzdGVtSWQpOwordm9pZAk8YSBocmVmPSIjeG1sU0FYMlN0YXJ0RG9jdW1lbnQiPnhtbFNBWDJTdGFydERvY3VtZW50PC9hPgkJKHZvaWQgKiBjdHgpOwordm9pZAk8YSBocmVmPSIjeG1sU0FYMkVuZEVsZW1lbnQiPnhtbFNBWDJFbmRFbGVtZW50PC9hPgkJKHZvaWQgKiBjdHgsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRQdHIiPnhtbFBhcnNlcklucHV0UHRyPC9hPgk8YSBocmVmPSIjeG1sU0FYMlJlc29sdmVFbnRpdHkiPnhtbFNBWDJSZXNvbHZlRW50aXR5PC9hPgkodm9pZCAqIGN0eCwgPGJyLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHB1YmxpY0lkLCA8YnIvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3lzdGVtSWQpOwordm9pZAk8YSBocmVmPSIjeG1sU0FYMkV4dGVybmFsU3Vic2V0Ij54bWxTQVgyRXh0ZXJuYWxTdWJzZXQ8L2E+CQkodm9pZCAqIGN0eCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogRXh0ZXJuYWxJRCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogU3lzdGVtSUQpOworY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxTQVgyR2V0UHVibGljSWQiPnhtbFNBWDJHZXRQdWJsaWNJZDwvYT4JKHZvaWQgKiBjdHgpOworaW50CTxhIGhyZWY9IiN4bWxTQVgySXNTdGFuZGFsb25lIj54bWxTQVgySXNTdGFuZGFsb25lPC9hPgkJKHZvaWQgKiBjdHgpOwordm9pZAk8YSBocmVmPSIjeG1sU0FYMkVuZERvY3VtZW50Ij54bWxTQVgyRW5kRG9jdW1lbnQ8L2E+CQkodm9pZCAqIGN0eCk7Cit2b2lkCTxhIGhyZWY9IiN4bWxTQVgyUHJvY2Vzc2luZ0luc3RydWN0aW9uIj54bWxTQVgyUHJvY2Vzc2luZ0luc3RydWN0aW9uPC9hPgkodm9pZCAqIGN0eCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdGFyZ2V0LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBkYXRhKTsKK3ZvaWQJPGEgaHJlZj0iI3htbFNBWDJJbnRlcm5hbFN1YnNldCI+eG1sU0FYMkludGVybmFsU3Vic2V0PC9hPgkJKHZvaWQgKiBjdHgsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIEV4dGVybmFsSUQsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIFN5c3RlbUlEKTsKK3ZvaWQJPGEgaHJlZj0iI3htbFNBWDJDaGFyYWN0ZXJzIj54bWxTQVgyQ2hhcmFjdGVyczwvYT4JCSh2b2lkICogY3R4LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjaCwgPGJyLz4JCQkJCSBpbnQgbGVuKTsKK2ludAk8YSBocmVmPSIjeG1sU0FYRGVmYXVsdFZlcnNpb24iPnhtbFNBWERlZmF1bHRWZXJzaW9uPC9hPgkJKGludCB2ZXJzaW9uKTsKK3ZvaWQJPGEgaHJlZj0iI3htbFNBWDJTdGFydEVsZW1lbnQiPnhtbFNBWDJTdGFydEVsZW1lbnQ8L2E+CQkodm9pZCAqIGN0eCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogZnVsbG5hbWUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqKiBhdHRzKTsKK3ZvaWQJPGEgaHJlZj0iI3htbFNBWDJTZXREb2N1bWVudExvY2F0b3IiPnhtbFNBWDJTZXREb2N1bWVudExvY2F0b3I8L2E+CSh2b2lkICogY3R4LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFNBWExvY2F0b3JQdHIiPnhtbFNBWExvY2F0b3JQdHI8L2E+IGxvYyk7Cit2b2lkCTxhIGhyZWY9IiN4bWxTQVgyQ0RhdGFCbG9jayI+eG1sU0FYMkNEYXRhQmxvY2s8L2E+CQkodm9pZCAqIGN0eCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUsIDxici8+CQkJCQkgaW50IGxlbik7Cit2b2lkCTxhIGhyZWY9IiN4bWxTQVgyU3RhcnRFbGVtZW50TnMiPnhtbFNBWDJTdGFydEVsZW1lbnROczwvYT4JCSh2b2lkICogY3R4LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBsb2NhbG5hbWUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHByZWZpeCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogVVJJLCA8YnIvPgkJCQkJIGludCBuYl9uYW1lc3BhY2VzLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiogbmFtZXNwYWNlcywgPGJyLz4JCQkJCSBpbnQgbmJfYXR0cmlidXRlcywgPGJyLz4JCQkJCSBpbnQgbmJfZGVmYXVsdGVkLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiogYXR0cmlidXRlcyk7CitpbnQJPGEgaHJlZj0iI3htbFNBWDJIYXNFeHRlcm5hbFN1YnNldCI+eG1sU0FYMkhhc0V4dGVybmFsU3Vic2V0PC9hPgkodm9pZCAqIGN0eCk7Cit2b2lkCTxhIGhyZWY9IiNodG1sRGVmYXVsdFNBWEhhbmRsZXJJbml0Ij5odG1sRGVmYXVsdFNBWEhhbmRsZXJJbml0PC9hPgkodm9pZCk7CitpbnQJPGEgaHJlZj0iI3htbFNBWDJHZXRMaW5lTnVtYmVyIj54bWxTQVgyR2V0TGluZU51bWJlcjwvYT4JCSh2b2lkICogY3R4KTsKK2ludAk8YSBocmVmPSIjeG1sU0FYMkhhc0ludGVybmFsU3Vic2V0Ij54bWxTQVgySGFzSW50ZXJuYWxTdWJzZXQ8L2E+CSh2b2lkICogY3R4KTsKK3ZvaWQJPGEgaHJlZj0iI3htbFNBWDJJbml0SHRtbERlZmF1bHRTQVhIYW5kbGVyIj54bWxTQVgySW5pdEh0bWxEZWZhdWx0U0FYSGFuZGxlcjwvYT4JKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFNBWEhhbmRsZXIiPnhtbFNBWEhhbmRsZXI8L2E+ICogaGRscik7Cit2b2lkCTxhIGhyZWY9IiNkb2NiRGVmYXVsdFNBWEhhbmRsZXJJbml0Ij5kb2NiRGVmYXVsdFNBWEhhbmRsZXJJbml0PC9hPgkodm9pZCk7Cit2b2lkCTxhIGhyZWY9IiN4bWxEZWZhdWx0U0FYSGFuZGxlckluaXQiPnhtbERlZmF1bHRTQVhIYW5kbGVySW5pdDwvYT4JKHZvaWQpOwordm9pZAk8YSBocmVmPSIjeG1sU0FYMkluaXREZWZhdWx0U0FYSGFuZGxlciI+eG1sU0FYMkluaXREZWZhdWx0U0FYSGFuZGxlcjwvYT4JKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFNBWEhhbmRsZXIiPnhtbFNBWEhhbmRsZXI8L2E+ICogaGRsciwgPGJyLz4JCQkJCSBpbnQgd2FybmluZyk7Cis8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxFbnRpdHlQdHIiPnhtbEVudGl0eVB0cjwvYT4JPGEgaHJlZj0iI3htbFNBWDJHZXRQYXJhbWV0ZXJFbnRpdHkiPnhtbFNBWDJHZXRQYXJhbWV0ZXJFbnRpdHk8L2E+CSh2b2lkICogY3R4LCA8YnIvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSk7Citjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbFNBWDJHZXRTeXN0ZW1JZCI+eG1sU0FYMkdldFN5c3RlbUlkPC9hPgkodm9pZCAqIGN0eCk7Cit2b2lkCTxhIGhyZWY9IiN4bWxTQVgyRW50aXR5RGVjbCI+eG1sU0FYMkVudGl0eURlY2w8L2E+CQkodm9pZCAqIGN0eCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCSBpbnQgdHlwZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHVibGljSWQsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN5c3RlbUlkLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjb250ZW50KTsKKzwvcHJlPgorICAgIDwvZGl2PgorICAgIDxkaXYgY2xhc3M9InJlZnNlY3QxIiBsYW5nPSJlbiI+CisgICAgICA8aDI+RGVzY3JpcHRpb248L2gyPgorICAgIDwvZGl2PgorICAgIDxkaXYgY2xhc3M9InJlZnNlY3QxIiBsYW5nPSJlbiI+CisgICAgICA8aDI+RGV0YWlsczwvaDI+CisgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJkb2NiRGVmYXVsdFNBWEhhbmRsZXJJbml0Ii8+ZG9jYkRlZmF1bHRTQVhIYW5kbGVySW5pdCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJZG9jYkRlZmF1bHRTQVhIYW5kbGVySW5pdAkodm9pZCk8YnIvPgorPC9wcmU+PHA+SW5pdGlhbGl6ZSB0aGUgZGVmYXVsdCBTQVggaGFuZGxlcjwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJodG1sRGVmYXVsdFNBWEhhbmRsZXJJbml0Ii8+aHRtbERlZmF1bHRTQVhIYW5kbGVySW5pdCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJaHRtbERlZmF1bHRTQVhIYW5kbGVySW5pdAkodm9pZCk8YnIvPgorPC9wcmU+PHA+SW5pdGlhbGl6ZSB0aGUgZGVmYXVsdCBTQVggaGFuZGxlcjwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxEZWZhdWx0U0FYSGFuZGxlckluaXQiLz54bWxEZWZhdWx0U0FYSGFuZGxlckluaXQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbERlZmF1bHRTQVhIYW5kbGVySW5pdAkodm9pZCk8YnIvPgorPC9wcmU+PHA+SW5pdGlhbGl6ZSB0aGUgZGVmYXVsdCBTQVgyIGhhbmRsZXI8L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU0FYMkF0dHJpYnV0ZURlY2wiLz54bWxTQVgyQXR0cmlidXRlRGVjbCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sU0FYMkF0dHJpYnV0ZURlY2wJCSh2b2lkICogY3R4LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBlbGVtLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBmdWxsbmFtZSwgPGJyLz4JCQkJCSBpbnQgdHlwZSwgPGJyLz4JCQkJCSBpbnQgZGVmLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBkZWZhdWx0VmFsdWUsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRW51bWVyYXRpb25QdHIiPnhtbEVudW1lcmF0aW9uUHRyPC9hPiB0cmVlKTxici8+Cis8L3ByZT48cD5BbiA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBkZWZpbml0aW9uIGhhcyBiZWVuIHBhcnNlZDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbGVtPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZSBvZiB0aGUgZWxlbWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZnVsbG5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50eXBlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gdHlwZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGVmPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdHlwZSBvZiBkZWZhdWx0IHZhbHVlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kZWZhdWx0VmFsdWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBkZWZhdWx0IHZhbHVlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50cmVlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdHJlZSBvZiBlbnVtZXJhdGVkIHZhbHVlIHNldDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNBWDJDRGF0YUJsb2NrIi8+eG1sU0FYMkNEYXRhQmxvY2sgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFNBWDJDRGF0YUJsb2NrCQkodm9pZCAqIGN0eCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUsIDxici8+CQkJCQkgaW50IGxlbik8YnIvPgorPC9wcmU+PHA+Y2FsbGVkIHdoZW4gYSBwY2RhdGEgYmxvY2sgaGFzIGJlZW4gcGFyc2VkPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbHVlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5UaGUgcGNkYXRhIGNvbnRlbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJsb2NrIGxlbmd0aDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNBWDJDaGFyYWN0ZXJzIi8+eG1sU0FYMkNoYXJhY3RlcnMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFNBWDJDaGFyYWN0ZXJzCQkodm9pZCAqIGN0eCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY2gsIDxici8+CQkJCQkgaW50IGxlbik8YnIvPgorPC9wcmU+PHA+cmVjZWl2aW5nIHNvbWUgY2hhcnMgZnJvbSB0aGUgcGFyc2VyLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jaDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+IHN0cmluZzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGVuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTQVgyQ29tbWVudCIvPnhtbFNBWDJDb21tZW50ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxTQVgyQ29tbWVudAkJCSh2b2lkICogY3R4LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB2YWx1ZSk8YnIvPgorPC9wcmU+PHA+QSA8YSBocmVmPSJsaWJ4bWwyLVNBWDIuaHRtbCN4bWxTQVgyQ29tbWVudCI+eG1sU0FYMkNvbW1lbnQ8L2E+IGhhcyBiZWVuIHBhcnNlZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsdWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLVNBWDIuaHRtbCN4bWxTQVgyQ29tbWVudCI+eG1sU0FYMkNvbW1lbnQ8L2E+IGNvbnRlbnQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTQVgyRWxlbWVudERlY2wiLz54bWxTQVgyRWxlbWVudERlY2wgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFNBWDJFbGVtZW50RGVjbAkJKHZvaWQgKiBjdHgsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgaW50IHR5cGUsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRWxlbWVudENvbnRlbnRQdHIiPnhtbEVsZW1lbnRDb250ZW50UHRyPC9hPiBjb250ZW50KTxici8+Cis8L3ByZT48cD5BbiBlbGVtZW50IGRlZmluaXRpb24gaGFzIGJlZW4gcGFyc2VkPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbGVtZW50IG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnR5cGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbGVtZW50IHR5cGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbnRlbnQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbGVtZW50IHZhbHVlIHRyZWU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTQVgyRW5kRG9jdW1lbnQiLz54bWxTQVgyRW5kRG9jdW1lbnQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFNBWDJFbmREb2N1bWVudAkJKHZvaWQgKiBjdHgpPGJyLz4KKzwvcHJlPjxwPmNhbGxlZCB3aGVuIHRoZSBkb2N1bWVudCBlbmQgaGFzIGJlZW4gZGV0ZWN0ZWQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCk8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTQVgyRW5kRWxlbWVudCIvPnhtbFNBWDJFbmRFbGVtZW50ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxTQVgyRW5kRWxlbWVudAkJKHZvaWQgKiBjdHgsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpPGJyLz4KKzwvcHJlPjxwPmNhbGxlZCB3aGVuIHRoZSBlbmQgb2YgYW4gZWxlbWVudCBoYXMgYmVlbiBkZXRlY3RlZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VGhlIGVsZW1lbnQgbmFtZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNBWDJFbmRFbGVtZW50TnMiLz54bWxTQVgyRW5kRWxlbWVudE5zICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxTQVgyRW5kRWxlbWVudE5zCQkodm9pZCAqIGN0eCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbG9jYWxuYW1lLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwcmVmaXgsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIFVSSSk8YnIvPgorPC9wcmU+PHA+U0FYMiBjYWxsYmFjayB3aGVuIGFuIGVsZW1lbnQgZW5kIGhhcyBiZWVuIGRldGVjdGVkIGJ5IHRoZSBwYXJzZXIuIEl0IHByb3ZpZGVzIHRoZSBuYW1lc3BhY2UgaW5mb3JtYXRpb25zIGZvciB0aGUgZWxlbWVudC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bG9jYWxuYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbG9jYWwgbmFtZSBvZiB0aGUgZWxlbWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cHJlZml4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZWxlbWVudCBuYW1lc3BhY2UgcHJlZml4IGlmIGF2YWlsYWJsZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+VVJJPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZWxlbWVudCBuYW1lc3BhY2UgbmFtZSBpZiBhdmFpbGFibGU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTQVgyRW50aXR5RGVjbCIvPnhtbFNBWDJFbnRpdHlEZWNsICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxTQVgyRW50aXR5RGVjbAkJKHZvaWQgKiBjdHgsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgaW50IHR5cGUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHB1YmxpY0lkLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzeXN0ZW1JZCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY29udGVudCk8YnIvPgorPC9wcmU+PHA+QW4gZW50aXR5IGRlZmluaXRpb24gaGFzIGJlZW4gcGFyc2VkPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbnRpdHkgbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dHlwZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVudGl0eSB0eXBlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wdWJsaWNJZDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VGhlIHB1YmxpYyBJRCBvZiB0aGUgZW50aXR5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zeXN0ZW1JZDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VGhlIHN5c3RlbSBJRCBvZiB0aGUgZW50aXR5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb250ZW50PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZW50aXR5IHZhbHVlICh3aXRob3V0IHByb2Nlc3NpbmcpLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNBWDJFeHRlcm5hbFN1YnNldCIvPnhtbFNBWDJFeHRlcm5hbFN1YnNldCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sU0FYMkV4dGVybmFsU3Vic2V0CQkodm9pZCAqIGN0eCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogRXh0ZXJuYWxJRCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogU3lzdGVtSUQpPGJyLz4KKzwvcHJlPjxwPkNhbGxiYWNrIG9uIGV4dGVybmFsIHN1YnNldCBkZWNsYXJhdGlvbi48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHJvb3QgZWxlbWVudCBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5FeHRlcm5hbElEPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZXh0ZXJuYWwgSUQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlN5c3RlbUlEPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgU1lTVEVNIElEIChlLmcuIGZpbGVuYW1lIG9yIFVSTCk8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTQVgyR2V0Q29sdW1uTnVtYmVyIi8+eG1sU0FYMkdldENvbHVtbk51bWJlciAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxTQVgyR2V0Q29sdW1uTnVtYmVyCQkodm9pZCAqIGN0eCk8YnIvPgorPC9wcmU+PHA+UHJvdmlkZSB0aGUgY29sdW1uIG51bWJlciBvZiB0aGUgY3VycmVudCBwYXJzaW5nIHBvaW50LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBpbnQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTQVgyR2V0RW50aXR5Ii8+eG1sU0FYMkdldEVudGl0eSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEVudGl0eVB0ciI+eG1sRW50aXR5UHRyPC9hPgl4bWxTQVgyR2V0RW50aXR5CSh2b2lkICogY3R4LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKTxici8+Cis8L3ByZT48cD5HZXQgYW4gZW50aXR5IGJ5IG5hbWU8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VGhlIGVudGl0eSBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRW50aXR5UHRyIj54bWxFbnRpdHlQdHI8L2E+IGlmIGZvdW5kLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNBWDJHZXRMaW5lTnVtYmVyIi8+eG1sU0FYMkdldExpbmVOdW1iZXIgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sU0FYMkdldExpbmVOdW1iZXIJCSh2b2lkICogY3R4KTxici8+Cis8L3ByZT48cD5Qcm92aWRlIHRoZSBsaW5lIG51bWJlciBvZiB0aGUgY3VycmVudCBwYXJzaW5nIHBvaW50LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBpbnQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTQVgyR2V0UGFyYW1ldGVyRW50aXR5Ii8+eG1sU0FYMkdldFBhcmFtZXRlckVudGl0eSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEVudGl0eVB0ciI+eG1sRW50aXR5UHRyPC9hPgl4bWxTQVgyR2V0UGFyYW1ldGVyRW50aXR5CSh2b2lkICogY3R4LCA8YnIvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSk8YnIvPgorPC9wcmU+PHA+R2V0IGEgcGFyYW1ldGVyIGVudGl0eSBieSBuYW1lPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlRoZSBlbnRpdHkgbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEVudGl0eVB0ciI+eG1sRW50aXR5UHRyPC9hPiBpZiBmb3VuZC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTQVgyR2V0UHVibGljSWQiLz54bWxTQVgyR2V0UHVibGljSWQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5jb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sU0FYMkdldFB1YmxpY0lkCSh2b2lkICogY3R4KTxici8+Cis8L3ByZT48cD5Qcm92aWRlcyB0aGUgcHVibGljIElEIGUuZy4gIi0vL1NHTUxTT1VSQ0UvL0RURCBERU1PLy9FTiI8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTQVgyR2V0U3lzdGVtSWQiLz54bWxTQVgyR2V0U3lzdGVtSWQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5jb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sU0FYMkdldFN5c3RlbUlkCSh2b2lkICogY3R4KTxici8+Cis8L3ByZT48cD5Qcm92aWRlcyB0aGUgc3lzdGVtIElELCBiYXNpY2FsbHkgVVJMIG9yIGZpbGVuYW1lIGUuZy4gaHR0cDovL3d3dy5zZ21sc291cmNlLmNvbS9kdGRzL21lbW8uZHRkPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU0FYMkhhc0V4dGVybmFsU3Vic2V0Ii8+eG1sU0FYMkhhc0V4dGVybmFsU3Vic2V0ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFNBWDJIYXNFeHRlcm5hbFN1YnNldAkodm9pZCAqIGN0eCk8YnIvPgorPC9wcmU+PHA+RG9lcyB0aGlzIGRvY3VtZW50IGhhcyBhbiBleHRlcm5hbCBzdWJzZXQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU0FYMkhhc0ludGVybmFsU3Vic2V0Ii8+eG1sU0FYMkhhc0ludGVybmFsU3Vic2V0ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFNBWDJIYXNJbnRlcm5hbFN1YnNldAkodm9pZCAqIGN0eCk8YnIvPgorPC9wcmU+PHA+RG9lcyB0aGlzIGRvY3VtZW50IGhhcyBhbiBpbnRlcm5hbCBzdWJzZXQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU0FYMklnbm9yYWJsZVdoaXRlc3BhY2UiLz54bWxTQVgySWdub3JhYmxlV2hpdGVzcGFjZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sU0FYMklnbm9yYWJsZVdoaXRlc3BhY2UJKHZvaWQgKiBjdHgsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGNoLCA8YnIvPgkJCQkJIGludCBsZW4pPGJyLz4KKzwvcHJlPjxwPnJlY2VpdmluZyBzb21lIGlnbm9yYWJsZSB3aGl0ZXNwYWNlcyBmcm9tIHRoZSBwYXJzZXIuIFVOVVNFRDogYnkgZGVmYXVsdCB0aGUgRE9NIGJ1aWxkaW5nIHdpbGwgdXNlIDxhIGhyZWY9ImxpYnhtbDItU0FYMi5odG1sI3htbFNBWDJDaGFyYWN0ZXJzIj54bWxTQVgyQ2hhcmFjdGVyczwvYT48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y2g8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiBzdHJpbmc8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU0FYMkluaXREZWZhdWx0U0FYSGFuZGxlciIvPnhtbFNBWDJJbml0RGVmYXVsdFNBWEhhbmRsZXIgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFNBWDJJbml0RGVmYXVsdFNBWEhhbmRsZXIJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFNBWEhhbmRsZXIiPnhtbFNBWEhhbmRsZXI8L2E+ICogaGRsciwgPGJyLz4JCQkJCSBpbnQgd2FybmluZyk8YnIvPgorPC9wcmU+PHA+SW5pdGlhbGl6ZSB0aGUgZGVmYXVsdCBYTUwgU0FYMiBoYW5kbGVyPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5oZGxyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgU0FYIGhhbmRsZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pndhcm5pbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmZsYWcgaWYgbm9uLXplcm8gc2V0cyB0aGUgaGFuZGxlciB3YXJuaW5nIHByb2NlZHVyZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNBWDJJbml0RG9jYkRlZmF1bHRTQVhIYW5kbGVyIi8+eG1sU0FYMkluaXREb2NiRGVmYXVsdFNBWEhhbmRsZXIgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFNBWDJJbml0RG9jYkRlZmF1bHRTQVhIYW5kbGVyCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxTQVhIYW5kbGVyIj54bWxTQVhIYW5kbGVyPC9hPiAqIGhkbHIpPGJyLz4KKzwvcHJlPjxwPkluaXRpYWxpemUgdGhlIGRlZmF1bHQgRG9jQm9vayBTQVgyIGhhbmRsZXI8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmhkbHI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBTQVggaGFuZGxlcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNBWDJJbml0SHRtbERlZmF1bHRTQVhIYW5kbGVyIi8+eG1sU0FYMkluaXRIdG1sRGVmYXVsdFNBWEhhbmRsZXIgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFNBWDJJbml0SHRtbERlZmF1bHRTQVhIYW5kbGVyCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxTQVhIYW5kbGVyIj54bWxTQVhIYW5kbGVyPC9hPiAqIGhkbHIpPGJyLz4KKzwvcHJlPjxwPkluaXRpYWxpemUgdGhlIGRlZmF1bHQgSFRNTCBTQVgyIGhhbmRsZXI8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmhkbHI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBTQVggaGFuZGxlcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNBWDJJbnRlcm5hbFN1YnNldCIvPnhtbFNBWDJJbnRlcm5hbFN1YnNldCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sU0FYMkludGVybmFsU3Vic2V0CQkodm9pZCAqIGN0eCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogRXh0ZXJuYWxJRCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogU3lzdGVtSUQpPGJyLz4KKzwvcHJlPjxwPkNhbGxiYWNrIG9uIGludGVybmFsIHN1YnNldCBkZWNsYXJhdGlvbi48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHJvb3QgZWxlbWVudCBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5FeHRlcm5hbElEPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZXh0ZXJuYWwgSUQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlN5c3RlbUlEPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgU1lTVEVNIElEIChlLmcuIGZpbGVuYW1lIG9yIFVSTCk8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTQVgySXNTdGFuZGFsb25lIi8+eG1sU0FYMklzU3RhbmRhbG9uZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxTQVgySXNTdGFuZGFsb25lCQkodm9pZCAqIGN0eCk8YnIvPgorPC9wcmU+PHA+SXMgdGhpcyBkb2N1bWVudCB0YWdnZWQgc3RhbmRhbG9uZSA/PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNBWDJOb3RhdGlvbkRlY2wiLz54bWxTQVgyTm90YXRpb25EZWNsICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxTQVgyTm90YXRpb25EZWNsCQkodm9pZCAqIGN0eCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHVibGljSWQsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN5c3RlbUlkKTxici8+Cis8L3ByZT48cD5XaGF0IHRvIGRvIHdoZW4gYSBub3RhdGlvbiBkZWNsYXJhdGlvbiBoYXMgYmVlbiBwYXJzZWQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlRoZSBuYW1lIG9mIHRoZSBub3RhdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cHVibGljSWQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlRoZSBwdWJsaWMgSUQgb2YgdGhlIGVudGl0eTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3lzdGVtSWQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlRoZSBzeXN0ZW0gSUQgb2YgdGhlIGVudGl0eTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNBWDJQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24iLz54bWxTQVgyUHJvY2Vzc2luZ0luc3RydWN0aW9uICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxTQVgyUHJvY2Vzc2luZ0luc3RydWN0aW9uCSh2b2lkICogY3R4LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB0YXJnZXQsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGRhdGEpPGJyLz4KKzwvcHJlPjxwPkEgcHJvY2Vzc2luZyBpbnN0cnVjdGlvbiBoYXMgYmVlbiBwYXJzZWQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRhcmdldDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHRhcmdldCBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kYXRhPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgUEkgZGF0YSdzPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU0FYMlJlZmVyZW5jZSIvPnhtbFNBWDJSZWZlcmVuY2UgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFNBWDJSZWZlcmVuY2UJCSh2b2lkICogY3R4LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKTxici8+Cis8L3ByZT48cD5jYWxsZWQgd2hlbiBhbiBlbnRpdHkgPGEgaHJlZj0ibGlieG1sMi1TQVgyLmh0bWwjeG1sU0FYMlJlZmVyZW5jZSI+eG1sU0FYMlJlZmVyZW5jZTwvYT4gaXMgZGV0ZWN0ZWQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlRoZSBlbnRpdHkgbmFtZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNBWDJSZXNvbHZlRW50aXR5Ii8+eG1sU0FYMlJlc29sdmVFbnRpdHkgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dFB0ciI+eG1sUGFyc2VySW5wdXRQdHI8L2E+CXhtbFNBWDJSZXNvbHZlRW50aXR5CSh2b2lkICogY3R4LCA8YnIvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHVibGljSWQsIDxici8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzeXN0ZW1JZCk8YnIvPgorPC9wcmU+PHA+VGhlIGVudGl0eSBsb2FkZXIsIHRvIGNvbnRyb2wgdGhlIGxvYWRpbmcgb2YgZXh0ZXJuYWwgZW50aXRpZXMsIHRoZSBhcHBsaWNhdGlvbiBjYW4gZWl0aGVyOiAtIG92ZXJyaWRlIHRoaXMgeG1sU0FYMlJlc29sdmVFbnRpdHkoKSBjYWxsYmFjayBpbiB0aGUgU0FYIGJsb2NrIC0gb3IgYmV0dGVyIHVzZSB0aGUgeG1sU2V0RXh0ZXJuYWxFbnRpdHlMb2FkZXIoKSBmdW5jdGlvbiB0byBzZXQgdXAgaXQncyBvd24gZW50aXR5IHJlc29sdXRpb24gcm91dGluZTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wdWJsaWNJZDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VGhlIHB1YmxpYyBJRCBvZiB0aGUgZW50aXR5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zeXN0ZW1JZDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VGhlIHN5c3RlbSBJRCBvZiB0aGUgZW50aXR5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRQdHIiPnhtbFBhcnNlcklucHV0UHRyPC9hPiBpZiBpbmxpbmVkIG9yIE5VTEwgZm9yIERPTSBiZWhhdmlvdXIuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU0FYMlNldERvY3VtZW50TG9jYXRvciIvPnhtbFNBWDJTZXREb2N1bWVudExvY2F0b3IgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFNBWDJTZXREb2N1bWVudExvY2F0b3IJKHZvaWQgKiBjdHgsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sU0FYTG9jYXRvclB0ciI+eG1sU0FYTG9jYXRvclB0cjwvYT4gbG9jKTxici8+Cis8L3ByZT48cD5SZWNlaXZlIHRoZSBkb2N1bWVudCBsb2NhdG9yIGF0IHN0YXJ0dXAsIGFjdHVhbGx5IDxhIGhyZWY9ImxpYnhtbDItZ2xvYmFscy5odG1sI3htbERlZmF1bHRTQVhMb2NhdG9yIj54bWxEZWZhdWx0U0FYTG9jYXRvcjwvYT4gRXZlcnl0aGluZyBpcyBhdmFpbGFibGUgb24gdGhlIGNvbnRleHQsIHNvIHRoaXMgaXMgdXNlbGVzcyBpbiBvdXIgY2FzZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5BIFNBWCBMb2NhdG9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU0FYMlN0YXJ0RG9jdW1lbnQiLz54bWxTQVgyU3RhcnREb2N1bWVudCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sU0FYMlN0YXJ0RG9jdW1lbnQJCSh2b2lkICogY3R4KTxici8+Cis8L3ByZT48cD5jYWxsZWQgd2hlbiB0aGUgZG9jdW1lbnQgc3RhcnQgYmVpbmcgcHJvY2Vzc2VkLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU0FYMlN0YXJ0RWxlbWVudCIvPnhtbFNBWDJTdGFydEVsZW1lbnQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFNBWDJTdGFydEVsZW1lbnQJCSh2b2lkICogY3R4LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBmdWxsbmFtZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoqIGF0dHMpPGJyLz4KKzwvcHJlPjxwPmNhbGxlZCB3aGVuIGFuIG9wZW5pbmcgdGFnIGhhcyBiZWVuIHByb2Nlc3NlZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZnVsbG5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlRoZSBlbGVtZW50IG5hbWUsIGluY2x1ZGluZyBuYW1lc3BhY2UgcHJlZml4PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5hdHRzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5BbiBhcnJheSBvZiBuYW1lL3ZhbHVlIGF0dHJpYnV0ZXMgcGFpcnMsIE5VTEwgdGVybWluYXRlZDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNBWDJTdGFydEVsZW1lbnROcyIvPnhtbFNBWDJTdGFydEVsZW1lbnROcyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sU0FYMlN0YXJ0RWxlbWVudE5zCQkodm9pZCAqIGN0eCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbG9jYWxuYW1lLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwcmVmaXgsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIFVSSSwgPGJyLz4JCQkJCSBpbnQgbmJfbmFtZXNwYWNlcywgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoqIG5hbWVzcGFjZXMsIDxici8+CQkJCQkgaW50IG5iX2F0dHJpYnV0ZXMsIDxici8+CQkJCQkgaW50IG5iX2RlZmF1bHRlZCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoqIGF0dHJpYnV0ZXMpPGJyLz4KKzwvcHJlPjxwPlNBWDIgY2FsbGJhY2sgd2hlbiBhbiBlbGVtZW50IHN0YXJ0IGhhcyBiZWVuIGRldGVjdGVkIGJ5IHRoZSBwYXJzZXIuIEl0IHByb3ZpZGVzIHRoZSBuYW1lc3BhY2UgaW5mb3JtYXRpb25zIGZvciB0aGUgZWxlbWVudCwgYXMgd2VsbCBhcyB0aGUgbmV3IG5hbWVzcGFjZSBkZWNsYXJhdGlvbnMgb24gdGhlIGVsZW1lbnQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxvY2FsbmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxvY2FsIG5hbWUgb2YgdGhlIGVsZW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnByZWZpeDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVsZW1lbnQgbmFtZXNwYWNlIHByZWZpeCBpZiBhdmFpbGFibGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlVSSTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVsZW1lbnQgbmFtZXNwYWNlIG5hbWUgaWYgYXZhaWxhYmxlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYl9uYW1lc3BhY2VzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5udW1iZXIgb2YgbmFtZXNwYWNlIGRlZmluaXRpb25zIG9uIHRoYXQgbm9kZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZXNwYWNlczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+cG9pbnRlciB0byB0aGUgYXJyYXkgb2YgcHJlZml4L1VSSSBwYWlycyBuYW1lc3BhY2UgZGVmaW5pdGlvbnM8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5iX2F0dHJpYnV0ZXM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgYXR0cmlidXRlcyBvbiB0aGF0IG5vZGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5iX2RlZmF1bHRlZDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBkZWZhdWx0ZWQgYXR0cmlidXRlcy48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmF0dHJpYnV0ZXM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnBvaW50ZXIgdG8gdGhlIGFycmF5IG9mIChsb2NhbG5hbWUvcHJlZml4L1VSSS92YWx1ZS9lbmQpIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IHZhbHVlcy48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTQVgyVW5wYXJzZWRFbnRpdHlEZWNsIi8+eG1sU0FYMlVucGFyc2VkRW50aXR5RGVjbCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sU0FYMlVucGFyc2VkRW50aXR5RGVjbAkodm9pZCAqIGN0eCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHVibGljSWQsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN5c3RlbUlkLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBub3RhdGlvbk5hbWUpPGJyLz4KKzwvcHJlPjxwPldoYXQgdG8gZG8gd2hlbiBhbiB1bnBhcnNlZCBlbnRpdHkgZGVjbGFyYXRpb24gaXMgcGFyc2VkPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlRoZSBuYW1lIG9mIHRoZSBlbnRpdHk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnB1YmxpY0lkPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5UaGUgcHVibGljIElEIG9mIHRoZSBlbnRpdHk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN5c3RlbUlkPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5UaGUgc3lzdGVtIElEIG9mIHRoZSBlbnRpdHk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vdGF0aW9uTmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5hbWUgb2YgdGhlIG5vdGF0aW9uPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU0FYRGVmYXVsdFZlcnNpb24iLz54bWxTQVhEZWZhdWx0VmVyc2lvbiAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxTQVhEZWZhdWx0VmVyc2lvbgkJKGludCB2ZXJzaW9uKTxici8+Cis8L3ByZT48cD5TZXQgdGhlIGRlZmF1bHQgdmVyc2lvbiBvZiBTQVggdXNlZCBnbG9iYWxseSBieSB0aGUgbGlicmFyeS4gQnkgZGVmYXVsdCwgZHVyaW5nIGluaXRpYWxpemF0aW9uIHRoZSBkZWZhdWx0IGlzIHNldCB0byAyLiBOb3RlIHRoYXQgaXQgaXMgZ2VuZXJhbGx5IGEgYmV0dGVyIGNvZGluZyBzdHlsZSB0byB1c2UgeG1sU0FYVmVyc2lvbigpIHRvIHNldCB1cCB0aGUgdmVyc2lvbiBleHBsaWNpdGx5IGZvciBhIGdpdmVuIHBhcnNpbmcgY29udGV4dC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZlcnNpb248L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB2ZXJzaW9uLCAxIG9yIDI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwcmV2aW91cyB2YWx1ZSBpbiBjYXNlIG9mIHN1Y2Nlc3MgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU0FYVmVyc2lvbiIvPnhtbFNBWFZlcnNpb24gKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sU0FYVmVyc2lvbgkJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxTQVhIYW5kbGVyIj54bWxTQVhIYW5kbGVyPC9hPiAqIGhkbHIsIDxici8+CQkJCQkgaW50IHZlcnNpb24pPGJyLz4KKzwvcHJlPjxwPkluaXRpYWxpemUgdGhlIGRlZmF1bHQgWE1MIFNBWCBoYW5kbGVyIGFjY29yZGluZyB0byB0aGUgdmVyc2lvbjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aGRscjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFNBWCBoYW5kbGVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52ZXJzaW9uPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdmVyc2lvbiwgMSBvciAyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGluIGNhc2Ugb2Ygc3VjY2VzcyBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgPC9kaXY+CisgICAgPC9kaXY+CisgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2RldmhlbHAvbGlieG1sMi1jMTRuLmh0bWwgYi9saWJ4bWwyL2RvYy9kZXZoZWxwL2xpYnhtbDItYzE0bi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkxNDUwMGUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9kZXZoZWxwL2xpYnhtbDItYzE0bi5odG1sCkBAIC0wLDAgKzEsOTEgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8aHRtbD4KKyAgPGhlYWQ+CisgICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiLz4KKyAgICA8dGl0bGU+YzE0bjogUHJvdmlkZSBDYW5vbmljYWwgWE1MIGFuZCBFeGNsdXNpdmUgWE1MIENhbm9uaWNhbGl6YXRpb248L3RpdGxlPgorICAgIDxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iTGlieG1sMiBkZXZoZWxwIHN0eWxlc2hlZXQiLz4KKyAgICA8bGluayByZWw9InN0YXJ0IiBocmVmPSJpbmRleC5odG1sIiB0aXRsZT0ibGlieG1sMiBSZWZlcmVuY2UgTWFudWFsIi8+CisgICAgPGxpbmsgcmVsPSJ1cCIgaHJlZj0iZ2VuZXJhbC5odG1sIiB0aXRsZT0iQVBJIi8+CisgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJzdHlsZS5jc3MiIHR5cGU9InRleHQvY3NzIi8+CisgICAgPGxpbmsgcmVsPSJjaGFwdGVyIiBocmVmPSJnZW5lcmFsLmh0bWwiIHRpdGxlPSJBUEkiLz4KKyAgPC9oZWFkPgorICA8Ym9keSBiZ2NvbG9yPSJ3aGl0ZSIgdGV4dD0iYmxhY2siIGxpbms9IiMwMDAwRkYiIHZsaW5rPSIjODQwMDg0IiBhbGluaz0iIzAwMDBGRiI+CisgICAgPHRhYmxlIGNsYXNzPSJuYXZpZ2F0aW9uIiB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBoZWFkZXIiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMiI+CisgICAgICA8dHIgdmFsaWduPSJtaWRkbGUiPgorICAgICAgICA8dGQ+CisgICAgICAgICAgPGEgYWNjZXNza2V5PSJwIiBocmVmPSJsaWJ4bWwyLVNBWDIuaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0ibGVmdC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlByZXYiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9InUiIGhyZWY9ImdlbmVyYWwuaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0idXAucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJVcCIvPgorICAgICAgICAgIDwvYT4KKyAgICAgICAgPC90ZD4KKyAgICAgICAgPHRkPgorICAgICAgICAgIDxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iaW5kZXguaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0iaG9tZS5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IkhvbWUiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9Im4iIGhyZWY9ImxpYnhtbDItY2F0YWxvZy5odG1sIj4KKyAgICAgICAgICAgIDxpbWcgc3JjPSJyaWdodC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9Ik5leHQiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0aCB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+bGlieG1sMiBSZWZlcmVuY2UgTWFudWFsPC90aD4KKyAgICAgIDwvdHI+CisgICAgPC90YWJsZT4KKyAgICA8aDI+CisgICAgICA8c3BhbiBjbGFzcz0icmVmZW50cnl0aXRsZSI+YzE0bjwvc3Bhbj4KKyAgICA8L2gyPgorICAgIDxwPmMxNG4gLSBQcm92aWRlIENhbm9uaWNhbCBYTUwgYW5kIEV4Y2x1c2l2ZSBYTUwgQ2Fub25pY2FsaXphdGlvbjwvcD4KKyAgICA8cD50aGUgYzE0biBtb2R1bGVzIHByb3ZpZGVzIGEgICJDYW5vbmljYWwgWE1MIiBpbXBsZW1lbnRhdGlvbjwvcD4KKyAgICA8cD5BdXRob3Iocyk6IEFsZWtzZXkgU2FuaW4gJmx0O2FsZWtzZXlAYWxla3NleS5jb20mZ3Q7IDwvcD4KKyAgICA8ZGl2IGNsYXNzPSJyZWZzeW5vcHNpc2RpdiI+CisgICAgICA8aDI+U3lub3BzaXM8L2gyPgorICAgICAgPHByZSBjbGFzcz0ic3lub3BzaXMiPnR5cGVkZWYgZW51bSA8YSBocmVmPSIjeG1sQzE0Tk1vZGUiPnhtbEMxNE5Nb2RlPC9hPjsKK2ludAk8YSBocmVmPSIjeG1sQzE0TkV4ZWN1dGUiPnhtbEMxNE5FeGVjdXRlPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItYzE0bi5odG1sI3htbEMxNE5Jc1Zpc2libGVDYWxsYmFjayI+eG1sQzE0TklzVmlzaWJsZUNhbGxiYWNrPC9hPiBpc192aXNpYmxlX2NhbGxiYWNrLCA8YnIvPgkJCQkJIHZvaWQgKiB1c2VyX2RhdGEsIDxici8+CQkJCQkgaW50IG1vZGUsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqKiBpbmNsdXNpdmVfbnNfcHJlZml4ZXMsIDxici8+CQkJCQkgaW50IHdpdGhfY29tbWVudHMsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sT3V0cHV0QnVmZmVyUHRyIj54bWxPdXRwdXRCdWZmZXJQdHI8L2E+IGJ1Zik7CitpbnQJPGEgaHJlZj0iI3htbEMxNE5Eb2NTYXZlVG8iPnhtbEMxNE5Eb2NTYXZlVG88L2E+CQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gbm9kZXMsIDxici8+CQkJCQkgaW50IG1vZGUsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqKiBpbmNsdXNpdmVfbnNfcHJlZml4ZXMsIDxici8+CQkJCQkgaW50IHdpdGhfY29tbWVudHMsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sT3V0cHV0QnVmZmVyUHRyIj54bWxPdXRwdXRCdWZmZXJQdHI8L2E+IGJ1Zik7Cit0eXBlZGVmIGludCA8YSBocmVmPSIjeG1sQzE0TklzVmlzaWJsZUNhbGxiYWNrIj54bWxDMTROSXNWaXNpYmxlQ2FsbGJhY2s8L2E+CSh2b2lkICogdXNlcl9kYXRhLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gcGFyZW50KTsKK2ludAk8YSBocmVmPSIjeG1sQzE0TkRvY1NhdmUiPnhtbEMxNE5Eb2NTYXZlPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBub2RlcywgPGJyLz4JCQkJCSBpbnQgbW9kZSwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoqIGluY2x1c2l2ZV9uc19wcmVmaXhlcywgPGJyLz4JCQkJCSBpbnQgd2l0aF9jb21tZW50cywgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZmlsZW5hbWUsIDxici8+CQkJCQkgaW50IGNvbXByZXNzaW9uKTsKK2ludAk8YSBocmVmPSIjeG1sQzE0TkRvY0R1bXBNZW1vcnkiPnhtbEMxNE5Eb2NEdW1wTWVtb3J5PC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IG5vZGVzLCA8YnIvPgkJCQkJIGludCBtb2RlLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiogaW5jbHVzaXZlX25zX3ByZWZpeGVzLCA8YnIvPgkJCQkJIGludCB3aXRoX2NvbW1lbnRzLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiogZG9jX3R4dF9wdHIpOworPC9wcmU+CisgICAgPC9kaXY+CisgICAgPGRpdiBjbGFzcz0icmVmc2VjdDEiIGxhbmc9ImVuIj4KKyAgICAgIDxoMj5EZXNjcmlwdGlvbjwvaDI+CisgICAgPC9kaXY+CisgICAgPGRpdiBjbGFzcz0icmVmc2VjdDEiIGxhbmc9ImVuIj4KKyAgICAgIDxoMj5EZXRhaWxzPC9oMj4KKyAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEMxNE5Nb2RlIj5FbnVtIDwvYT54bWxDMTROTW9kZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmVudW0gPGEgaHJlZj0iI3htbEMxNE5Nb2RlIj54bWxDMTROTW9kZTwvYT4geworICAgIDxhIG5hbWU9IlhNTF9DMTROXzFfMCI+WE1MX0MxNE5fMV8wPC9hPiA9IDAgLyogT3JpZ2lhbmFsIEMxNE4gMS4wIHNwZWMgKi8KKyAgICA8YSBuYW1lPSJYTUxfQzE0Tl9FWENMVVNJVkVfMV8wIj5YTUxfQzE0Tl9FWENMVVNJVkVfMV8wPC9hPiA9IDEgLyogRXhjbHVzaXZlIEMxNE4gMS4wIHNwZWMgKi8KKyAgICA8YSBuYW1lPSJYTUxfQzE0Tl8xXzEiPlhNTF9DMTROXzFfMTwvYT4gPSAyIC8qICBDMTROIDEuMSBzcGVjICovCit9OworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEMxNE5Jc1Zpc2libGVDYWxsYmFjayIvPkZ1bmN0aW9uIHR5cGUgeG1sQzE0TklzVmlzaWJsZUNhbGxiYWNrPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbEMxNE5Jc1Zpc2libGVDYWxsYmFjawkodm9pZCAqIHVzZXJfZGF0YSwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IHBhcmVudCk8YnIvPgorPC9wcmU+PHA+U2lnbmF0dXJlIGZvciBhIEMxNE4gY2FsbGJhY2sgb24gdmlzaWJsZSBub2RlczwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dXNlcl9kYXRhPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD51c2VyIGRhdGE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjdXJlbnQgbm9kZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cGFyZW50PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcGFyZW50IG5vZGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdGhlIG5vZGUgc2hvdWxkIGJlIGluY2x1ZGVkPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sQzE0TkRvY0R1bXBNZW1vcnkiLz54bWxDMTRORG9jRHVtcE1lbW9yeSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxDMTRORG9jRHVtcE1lbW9yeQkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IG5vZGVzLCA8YnIvPgkJCQkJIGludCBtb2RlLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiogaW5jbHVzaXZlX25zX3ByZWZpeGVzLCA8YnIvPgkJCQkJIGludCB3aXRoX2NvbW1lbnRzLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiogZG9jX3R4dF9wdHIpPGJyLz4KKzwvcHJlPjxwPkR1bXBzIHRoZSBjYW5vbml6ZWQgaW1hZ2Ugb2YgZ2l2ZW4gWE1MIGRvY3VtZW50IGludG8gbWVtb3J5LiBGb3IgZGV0YWlscyBzZWUgIkNhbm9uaWNhbCBYTUwiIChodHRwOi8vd3d3LnczLm9yZy9UUi94bWwtYzE0bikgb3IgIkV4Y2x1c2l2ZSBYTUwgQ2Fub25pY2FsaXphdGlvbiIgKGh0dHA6Ly93d3cudzMub3JnL1RSL3htbC1leGMtYzE0bik8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhNTCBkb2N1bWVudCBmb3IgY2Fub25pemF0aW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vZGVzIHNldCB0byBiZSBpbmNsdWRlZCBpbiB0aGUgY2Fub25pemVkIGltYWdlIG9yIE5VTEwgaWYgYWxsIGRvY3VtZW50IG5vZGVzIHNob3VsZCBiZSBpbmNsdWRlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bW9kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGMxNG4gbW9kZSAoc2VlIEB4bWxDMTROTW9kZSk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmluY2x1c2l2ZV9uc19wcmVmaXhlczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxpc3Qgb2YgaW5jbHVzaXZlIG5hbWVzcGFjZSBwcmVmaXhlcyBlbmRlZCB3aXRoIGEgTlVMTCBvciBOVUxMIGlmIHRoZXJlIGlzIG5vIGluY2x1c2l2ZSBuYW1lc3BhY2VzIChvbmx5IGZvciBleGNsdXNpdmUgY2Fub25pY2FsaXphdGlvbiwgaWdub3JlZCBvdGhlcndpc2UpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD53aXRoX2NvbW1lbnRzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5pbmNsdWRlIGNvbW1lbnRzIGluIHRoZSByZXN1bHQgKCE9MCkgb3Igbm90ICg9PTApPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2NfdHh0X3B0cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG1lbW9yeSBwb2ludGVyIGZvciBhbGxvY2F0ZWQgY2Fub25pY2FsIFhNTCB0ZXh0OyB0aGUgY2FsbGVyIG9mIHRoaXMgZnVuY3Rpb25zIGlzIHJlc3BvbnNpYmxlIGZvciBjYWxsaW5nIHhtbEZyZWUoKSB0byBmcmVlIGFsbG9jYXRlZCBtZW1vcnk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgYnl0ZXMgd3JpdHRlbiBvbiBzdWNjZXNzIG9yIGEgbmVnYXRpdmUgdmFsdWUgb24gZmFpbDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEMxNE5Eb2NTYXZlIi8+eG1sQzE0TkRvY1NhdmUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sQzE0TkRvY1NhdmUJCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gbm9kZXMsIDxici8+CQkJCQkgaW50IG1vZGUsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqKiBpbmNsdXNpdmVfbnNfcHJlZml4ZXMsIDxici8+CQkJCQkgaW50IHdpdGhfY29tbWVudHMsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGZpbGVuYW1lLCA8YnIvPgkJCQkJIGludCBjb21wcmVzc2lvbik8YnIvPgorPC9wcmU+PHA+RHVtcHMgdGhlIGNhbm9uaXplZCBpbWFnZSBvZiBnaXZlbiBYTUwgZG9jdW1lbnQgaW50byB0aGUgZmlsZS4gRm9yIGRldGFpbHMgc2VlICJDYW5vbmljYWwgWE1MIiAoaHR0cDovL3d3dy53My5vcmcvVFIveG1sLWMxNG4pIG9yICJFeGNsdXNpdmUgWE1MIENhbm9uaWNhbGl6YXRpb24iIChodHRwOi8vd3d3LnczLm9yZy9UUi94bWwtZXhjLWMxNG4pPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYTUwgZG9jdW1lbnQgZm9yIGNhbm9uaXphdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZXM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBub2RlcyBzZXQgdG8gYmUgaW5jbHVkZWQgaW4gdGhlIGNhbm9uaXplZCBpbWFnZSBvciBOVUxMIGlmIGFsbCBkb2N1bWVudCBub2RlcyBzaG91bGQgYmUgaW5jbHVkZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm1vZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjMTRuIG1vZGUgKHNlZSBAeG1sQzE0Tk1vZGUpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pbmNsdXNpdmVfbnNfcHJlZml4ZXM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsaXN0IG9mIGluY2x1c2l2ZSBuYW1lc3BhY2UgcHJlZml4ZXMgZW5kZWQgd2l0aCBhIE5VTEwgb3IgTlVMTCBpZiB0aGVyZSBpcyBubyBpbmNsdXNpdmUgbmFtZXNwYWNlcyAob25seSBmb3IgZXhjbHVzaXZlIGNhbm9uaWNhbGl6YXRpb24sIGlnbm9yZWQgb3RoZXJ3aXNlKTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d2l0aF9jb21tZW50czwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+aW5jbHVkZSBjb21tZW50cyBpbiB0aGUgcmVzdWx0ICghPTApIG9yIG5vdCAoPT0wKTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmlsZW5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmaWxlbmFtZSB0byBzdG9yZSBjYW5vbmljYWwgWE1MIGltYWdlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb21wcmVzc2lvbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGNvbXByZXNzaW9uIGxldmVsICh6bGliIHJlcXVyZWQpOiAtMSAtIGxpYnhtbCBkZWZhdWx0LCAwIC0gdW5jb21wcmVzc2VkLCAmZ3Q7MCAtIGNvbXByZXNzaW9uIGxldmVsPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGJ5dGVzIHdyaXR0ZW4gc3VjY2VzcyBvciBhIG5lZ2F0aXZlIHZhbHVlIG9uIGZhaWw8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxDMTRORG9jU2F2ZVRvIi8+eG1sQzE0TkRvY1NhdmVUbyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxDMTRORG9jU2F2ZVRvCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gbm9kZXMsIDxici8+CQkJCQkgaW50IG1vZGUsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqKiBpbmNsdXNpdmVfbnNfcHJlZml4ZXMsIDxici8+CQkJCQkgaW50IHdpdGhfY29tbWVudHMsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sT3V0cHV0QnVmZmVyUHRyIj54bWxPdXRwdXRCdWZmZXJQdHI8L2E+IGJ1Zik8YnIvPgorPC9wcmU+PHA+RHVtcHMgdGhlIGNhbm9uaXplZCBpbWFnZSBvZiBnaXZlbiBYTUwgZG9jdW1lbnQgaW50byB0aGUgcHJvdmlkZWQgYnVmZmVyLiBGb3IgZGV0YWlscyBzZWUgIkNhbm9uaWNhbCBYTUwiIChodHRwOi8vd3d3LnczLm9yZy9UUi94bWwtYzE0bikgb3IgIkV4Y2x1c2l2ZSBYTUwgQ2Fub25pY2FsaXphdGlvbiIgKGh0dHA6Ly93d3cudzMub3JnL1RSL3htbC1leGMtYzE0bik8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhNTCBkb2N1bWVudCBmb3IgY2Fub25pemF0aW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vZGVzIHNldCB0byBiZSBpbmNsdWRlZCBpbiB0aGUgY2Fub25pemVkIGltYWdlIG9yIE5VTEwgaWYgYWxsIGRvY3VtZW50IG5vZGVzIHNob3VsZCBiZSBpbmNsdWRlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bW9kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGMxNG4gbW9kZSAoc2VlIEB4bWxDMTROTW9kZSk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmluY2x1c2l2ZV9uc19wcmVmaXhlczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxpc3Qgb2YgaW5jbHVzaXZlIG5hbWVzcGFjZSBwcmVmaXhlcyBlbmRlZCB3aXRoIGEgTlVMTCBvciBOVUxMIGlmIHRoZXJlIGlzIG5vIGluY2x1c2l2ZSBuYW1lc3BhY2VzIChvbmx5IGZvciBleGNsdXNpdmUgY2Fub25pY2FsaXphdGlvbiwgaWdub3JlZCBvdGhlcndpc2UpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD53aXRoX2NvbW1lbnRzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5pbmNsdWRlIGNvbW1lbnRzIGluIHRoZSByZXN1bHQgKCE9MCkgb3Igbm90ICg9PTApPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5idWY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBvdXRwdXQgYnVmZmVyIHRvIHN0b3JlIGNhbm9uaWNhbCBYTUw7IHRoaXMgYnVmZmVyIE1VU1QgaGF2ZSBlbmNvZGVyPT1OVUxMIGJlY2F1c2UgQzE0TiByZXF1aXJlcyBVVEYtOCBvdXRwdXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPm5vbi1uZWdhdGl2ZSB2YWx1ZSBvbiBzdWNjZXNzIG9yIGEgbmVnYXRpdmUgdmFsdWUgb24gZmFpbDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEMxNE5FeGVjdXRlIi8+eG1sQzE0TkV4ZWN1dGUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sQzE0TkV4ZWN1dGUJCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLWMxNG4uaHRtbCN4bWxDMTROSXNWaXNpYmxlQ2FsbGJhY2siPnhtbEMxNE5Jc1Zpc2libGVDYWxsYmFjazwvYT4gaXNfdmlzaWJsZV9jYWxsYmFjaywgPGJyLz4JCQkJCSB2b2lkICogdXNlcl9kYXRhLCA8YnIvPgkJCQkJIGludCBtb2RlLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiogaW5jbHVzaXZlX25zX3ByZWZpeGVzLCA8YnIvPgkJCQkJIGludCB3aXRoX2NvbW1lbnRzLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE91dHB1dEJ1ZmZlclB0ciI+eG1sT3V0cHV0QnVmZmVyUHRyPC9hPiBidWYpPGJyLz4KKzwvcHJlPjxwPkR1bXBzIHRoZSBjYW5vbml6ZWQgaW1hZ2Ugb2YgZ2l2ZW4gWE1MIGRvY3VtZW50IGludG8gdGhlIHByb3ZpZGVkIGJ1ZmZlci4gRm9yIGRldGFpbHMgc2VlICJDYW5vbmljYWwgWE1MIiAoaHR0cDovL3d3dy53My5vcmcvVFIveG1sLWMxNG4pIG9yICJFeGNsdXNpdmUgWE1MIENhbm9uaWNhbGl6YXRpb24iIChodHRwOi8vd3d3LnczLm9yZy9UUi94bWwtZXhjLWMxNG4pPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYTUwgZG9jdW1lbnQgZm9yIGNhbm9uaXphdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aXNfdmlzaWJsZV9jYWxsYmFjazwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZ1bmN0aW9uIHRvIHVzZSB0byBkZXRlcm1pbmUgaXMgbm9kZSB2aXNpYmxlIG9yIG5vdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dXNlcl9kYXRhPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZmlyc3QgcGFyYW1ldGVyIGZvciBAaXNfdmlzaWJsZV9jYWxsYmFjayBmdW5jdGlvbiAoaW4gbW9zdCBjYXNlcywgaXQgaXMgbm9kZXMgc2V0KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bW9kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGMxNG4gbW9kZSAoc2VlIEB4bWxDMTROTW9kZSk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmluY2x1c2l2ZV9uc19wcmVmaXhlczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxpc3Qgb2YgaW5jbHVzaXZlIG5hbWVzcGFjZSBwcmVmaXhlcyBlbmRlZCB3aXRoIGEgTlVMTCBvciBOVUxMIGlmIHRoZXJlIGlzIG5vIGluY2x1c2l2ZSBuYW1lc3BhY2VzIChvbmx5IGZvciBleGNsdXNpdmUgY2Fub25pY2FsaXphdGlvbiwgaWdub3JlZCBvdGhlcndpc2UpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD53aXRoX2NvbW1lbnRzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5pbmNsdWRlIGNvbW1lbnRzIGluIHRoZSByZXN1bHQgKCE9MCkgb3Igbm90ICg9PTApPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5idWY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBvdXRwdXQgYnVmZmVyIHRvIHN0b3JlIGNhbm9uaWNhbCBYTUw7IHRoaXMgYnVmZmVyIE1VU1QgaGF2ZSBlbmNvZGVyPT1OVUxMIGJlY2F1c2UgQzE0TiByZXF1aXJlcyBVVEYtOCBvdXRwdXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPm5vbi1uZWdhdGl2ZSB2YWx1ZSBvbiBzdWNjZXNzIG9yIGEgbmVnYXRpdmUgdmFsdWUgb24gZmFpbDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKyAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvZGV2aGVscC9saWJ4bWwyLWNhdGFsb2cuaHRtbCBiL2xpYnhtbDIvZG9jL2RldmhlbHAvbGlieG1sMi1jYXRhbG9nLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTFmYzRjNgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL2RldmhlbHAvbGlieG1sMi1jYXRhbG9nLmh0bWwKQEAgLTAsMCArMSwyNzggQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8aHRtbD4KKyAgPGhlYWQ+CisgICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiLz4KKyAgICA8dGl0bGU+Y2F0YWxvZzogaW50ZXJmYWNlcyB0byB0aGUgQ2F0YWxvZyBoYW5kbGluZyBzeXN0ZW08L3RpdGxlPgorICAgIDxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iTGlieG1sMiBkZXZoZWxwIHN0eWxlc2hlZXQiLz4KKyAgICA8bGluayByZWw9InN0YXJ0IiBocmVmPSJpbmRleC5odG1sIiB0aXRsZT0ibGlieG1sMiBSZWZlcmVuY2UgTWFudWFsIi8+CisgICAgPGxpbmsgcmVsPSJ1cCIgaHJlZj0iZ2VuZXJhbC5odG1sIiB0aXRsZT0iQVBJIi8+CisgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJzdHlsZS5jc3MiIHR5cGU9InRleHQvY3NzIi8+CisgICAgPGxpbmsgcmVsPSJjaGFwdGVyIiBocmVmPSJnZW5lcmFsLmh0bWwiIHRpdGxlPSJBUEkiLz4KKyAgPC9oZWFkPgorICA8Ym9keSBiZ2NvbG9yPSJ3aGl0ZSIgdGV4dD0iYmxhY2siIGxpbms9IiMwMDAwRkYiIHZsaW5rPSIjODQwMDg0IiBhbGluaz0iIzAwMDBGRiI+CisgICAgPHRhYmxlIGNsYXNzPSJuYXZpZ2F0aW9uIiB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBoZWFkZXIiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMiI+CisgICAgICA8dHIgdmFsaWduPSJtaWRkbGUiPgorICAgICAgICA8dGQ+CisgICAgICAgICAgPGEgYWNjZXNza2V5PSJwIiBocmVmPSJsaWJ4bWwyLWMxNG4uaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0ibGVmdC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlByZXYiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9InUiIGhyZWY9ImdlbmVyYWwuaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0idXAucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJVcCIvPgorICAgICAgICAgIDwvYT4KKyAgICAgICAgPC90ZD4KKyAgICAgICAgPHRkPgorICAgICAgICAgIDxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iaW5kZXguaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0iaG9tZS5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IkhvbWUiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9Im4iIGhyZWY9ImxpYnhtbDItY2h2YWxpZC5odG1sIj4KKyAgICAgICAgICAgIDxpbWcgc3JjPSJyaWdodC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9Ik5leHQiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0aCB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+bGlieG1sMiBSZWZlcmVuY2UgTWFudWFsPC90aD4KKyAgICAgIDwvdHI+CisgICAgPC90YWJsZT4KKyAgICA8aDI+CisgICAgICA8c3BhbiBjbGFzcz0icmVmZW50cnl0aXRsZSI+Y2F0YWxvZzwvc3Bhbj4KKyAgICA8L2gyPgorICAgIDxwPmNhdGFsb2cgLSBpbnRlcmZhY2VzIHRvIHRoZSBDYXRhbG9nIGhhbmRsaW5nIHN5c3RlbTwvcD4KKyAgICA8cD50aGUgY2F0YWxvZyBtb2R1bGUgaW1wbGVtZW50cyB0aGUgc3VwcG9ydCBmb3IgWE1MIENhdGFsb2dzIGFuZCBTR01MIGNhdGFsb2dzIDwvcD4KKyAgICA8cD5BdXRob3Iocyk6IERhbmllbCBWZWlsbGFyZCA8L3A+CisgICAgPGRpdiBjbGFzcz0icmVmc3lub3BzaXNkaXYiPgorICAgICAgPGgyPlN5bm9wc2lzPC9oMj4KKyAgICAgIDxwcmUgY2xhc3M9InN5bm9wc2lzIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfQ0FUQUxPR19QSSI+WE1MX0NBVEFMT0dfUEk8L2E+OworI2RlZmluZSA8YSBocmVmPSIjWE1MX0NBVEFMT0dTX05BTUVTUEFDRSI+WE1MX0NBVEFMT0dTX05BTUVTUEFDRTwvYT47Cit0eXBlZGVmIGVudW0gPGEgaHJlZj0iI3htbENhdGFsb2dBbGxvdyI+eG1sQ2F0YWxvZ0FsbG93PC9hPjsKK3R5cGVkZWYgZW51bSA8YSBocmVmPSIjeG1sQ2F0YWxvZ1ByZWZlciI+eG1sQ2F0YWxvZ1ByZWZlcjwvYT47Cit0eXBlZGVmIHN0cnVjdCBfeG1sQ2F0YWxvZyA8YSBocmVmPSIjeG1sQ2F0YWxvZyI+eG1sQ2F0YWxvZzwvYT47Cit0eXBlZGVmIDxhIGhyZWY9ImxpYnhtbDItY2F0YWxvZy5odG1sI3htbENhdGFsb2ciPnhtbENhdGFsb2c8L2E+ICogPGEgaHJlZj0iI3htbENhdGFsb2dQdHIiPnhtbENhdGFsb2dQdHI8L2E+Owordm9pZAk8YSBocmVmPSIjeG1sRnJlZUNhdGFsb2ciPnhtbEZyZWVDYXRhbG9nPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwyLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nUHRyIj54bWxDYXRhbG9nUHRyPC9hPiBjYXRhbCk7Cit2b2lkCTxhIGhyZWY9IiN4bWxMb2FkQ2F0YWxvZ3MiPnhtbExvYWRDYXRhbG9nczwvYT4JCQkoY29uc3QgY2hhciAqIHBhdGhzcyk7Cis8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbENhdGFsb2dMb2NhbFJlc29sdmUiPnhtbENhdGFsb2dMb2NhbFJlc29sdmU8L2E+CSh2b2lkICogY2F0YWxvZ3MsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHB1YklELCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzeXNJRCk7CitpbnQJPGEgaHJlZj0iI3htbEFDYXRhbG9nQWRkIj54bWxBQ2F0YWxvZ0FkZDwvYT4JCQkoPGEgaHJlZj0ibGlieG1sMi1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ1B0ciI+eG1sQ2F0YWxvZ1B0cjwvYT4gY2F0YWwsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHR5cGUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG9yaWcsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHJlcGxhY2UpOworPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxBQ2F0YWxvZ1Jlc29sdmVQdWJsaWMiPnhtbEFDYXRhbG9nUmVzb2x2ZVB1YmxpYzwvYT4JKDxhIGhyZWY9ImxpYnhtbDItY2F0YWxvZy5odG1sI3htbENhdGFsb2dQdHIiPnhtbENhdGFsb2dQdHI8L2E+IGNhdGFsLCA8YnIvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHViSUQpOworPGEgaHJlZj0ibGlieG1sMi1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ0FsbG93Ij54bWxDYXRhbG9nQWxsb3c8L2E+CTxhIGhyZWY9IiN4bWxDYXRhbG9nR2V0RGVmYXVsdHMiPnhtbENhdGFsb2dHZXREZWZhdWx0czwvYT4JKHZvaWQpOworaW50CTxhIGhyZWY9IiN4bWxBQ2F0YWxvZ1JlbW92ZSI+eG1sQUNhdGFsb2dSZW1vdmU8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ1B0ciI+eG1sQ2F0YWxvZ1B0cjwvYT4gY2F0YWwsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHZhbHVlKTsKKzxhIGhyZWY9ImxpYnhtbDItY2F0YWxvZy5odG1sI3htbENhdGFsb2dQcmVmZXIiPnhtbENhdGFsb2dQcmVmZXI8L2E+CTxhIGhyZWY9IiN4bWxDYXRhbG9nU2V0RGVmYXVsdFByZWZlciI+eG1sQ2F0YWxvZ1NldERlZmF1bHRQcmVmZXI8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nUHJlZmVyIj54bWxDYXRhbG9nUHJlZmVyPC9hPiBwcmVmZXIpOworPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxBQ2F0YWxvZ1Jlc29sdmVVUkkiPnhtbEFDYXRhbG9nUmVzb2x2ZVVSSTwvYT4JKDxhIGhyZWY9ImxpYnhtbDItY2F0YWxvZy5odG1sI3htbENhdGFsb2dQdHIiPnhtbENhdGFsb2dQdHI8L2E+IGNhdGFsLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBVUkkpOworaW50CTxhIGhyZWY9IiN4bWxDYXRhbG9nQWRkIj54bWxDYXRhbG9nQWRkPC9hPgkJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdHlwZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogb3JpZywgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcmVwbGFjZSk7Cis8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbENhdGFsb2dSZXNvbHZlUHVibGljIj54bWxDYXRhbG9nUmVzb2x2ZVB1YmxpYzwvYT4JKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwdWJJRCk7Citjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbENhdGFsb2dHZXRTeXN0ZW0iPnhtbENhdGFsb2dHZXRTeXN0ZW08L2E+CShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3lzSUQpOwordm9pZAk8YSBocmVmPSIjeG1sSW5pdGlhbGl6ZUNhdGFsb2ciPnhtbEluaXRpYWxpemVDYXRhbG9nPC9hPgkJKHZvaWQpOworaW50CTxhIGhyZWY9IiN4bWxMb2FkQ2F0YWxvZyI+eG1sTG9hZENhdGFsb2c8L2E+CQkJKGNvbnN0IGNoYXIgKiBmaWxlbmFtZSk7CitpbnQJPGEgaHJlZj0iI3htbENhdGFsb2dSZW1vdmUiPnhtbENhdGFsb2dSZW1vdmU8L2E+CQkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHZhbHVlKTsKK2ludAk8YSBocmVmPSIjeG1sQ2F0YWxvZ0lzRW1wdHkiPnhtbENhdGFsb2dJc0VtcHR5PC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItY2F0YWxvZy5odG1sI3htbENhdGFsb2dQdHIiPnhtbENhdGFsb2dQdHI8L2E+IGNhdGFsKTsKK3ZvaWQJPGEgaHJlZj0iI3htbEFDYXRhbG9nRHVtcCI+eG1sQUNhdGFsb2dEdW1wPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwyLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nUHRyIj54bWxDYXRhbG9nUHRyPC9hPiBjYXRhbCwgPGJyLz4JCQkJCSBGSUxFICogb3V0KTsKK3ZvaWQJPGEgaHJlZj0iI3htbENhdGFsb2dGcmVlTG9jYWwiPnhtbENhdGFsb2dGcmVlTG9jYWw8L2E+CQkodm9pZCAqIGNhdGFsb2dzKTsKKzxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sQUNhdGFsb2dSZXNvbHZlIj54bWxBQ2F0YWxvZ1Jlc29sdmU8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nUHRyIj54bWxDYXRhbG9nUHRyPC9hPiBjYXRhbCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHViSUQsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN5c0lEKTsKKzxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sQ2F0YWxvZ1Jlc29sdmVTeXN0ZW0iPnhtbENhdGFsb2dSZXNvbHZlU3lzdGVtPC9hPgkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN5c0lEKTsKKzxhIGhyZWY9ImxpYnhtbDItY2F0YWxvZy5odG1sI3htbENhdGFsb2dQdHIiPnhtbENhdGFsb2dQdHI8L2E+CTxhIGhyZWY9IiN4bWxMb2FkU0dNTFN1cGVyQ2F0YWxvZyI+eG1sTG9hZFNHTUxTdXBlckNhdGFsb2c8L2E+CShjb25zdCBjaGFyICogZmlsZW5hbWUpOworaW50CTxhIGhyZWY9IiN4bWxDYXRhbG9nQ29udmVydCI+eG1sQ2F0YWxvZ0NvbnZlcnQ8L2E+CQkodm9pZCk7Citjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbENhdGFsb2dHZXRQdWJsaWMiPnhtbENhdGFsb2dHZXRQdWJsaWM8L2E+CShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHViSUQpOworPGEgaHJlZj0ibGlieG1sMi1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ1B0ciI+eG1sQ2F0YWxvZ1B0cjwvYT4JPGEgaHJlZj0iI3htbExvYWRBQ2F0YWxvZyI+eG1sTG9hZEFDYXRhbG9nPC9hPgkJKGNvbnN0IGNoYXIgKiBmaWxlbmFtZSk7Cis8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbEFDYXRhbG9nUmVzb2x2ZVN5c3RlbSI+eG1sQUNhdGFsb2dSZXNvbHZlU3lzdGVtPC9hPgkoPGEgaHJlZj0ibGlieG1sMi1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ1B0ciI+eG1sQ2F0YWxvZ1B0cjwvYT4gY2F0YWwsIDxici8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzeXNJRCk7Cis8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbENhdGFsb2dMb2NhbFJlc29sdmVVUkkiPnhtbENhdGFsb2dMb2NhbFJlc29sdmVVUkk8L2E+CSh2b2lkICogY2F0YWxvZ3MsIDxici8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBVUkkpOworaW50CTxhIGhyZWY9IiN4bWxDb252ZXJ0U0dNTENhdGFsb2ciPnhtbENvbnZlcnRTR01MQ2F0YWxvZzwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nUHRyIj54bWxDYXRhbG9nUHRyPC9hPiBjYXRhbCk7Cit2b2lkICoJPGEgaHJlZj0iI3htbENhdGFsb2dBZGRMb2NhbCI+eG1sQ2F0YWxvZ0FkZExvY2FsPC9hPgkJKHZvaWQgKiBjYXRhbG9ncywgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogVVJMKTsKKzxhIGhyZWY9ImxpYnhtbDItY2F0YWxvZy5odG1sI3htbENhdGFsb2dQdHIiPnhtbENhdGFsb2dQdHI8L2E+CTxhIGhyZWY9IiN4bWxOZXdDYXRhbG9nIj54bWxOZXdDYXRhbG9nPC9hPgkJKGludCBzZ21sKTsKKzxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPgk8YSBocmVmPSIjeG1sUGFyc2VDYXRhbG9nRmlsZSI+eG1sUGFyc2VDYXRhbG9nRmlsZTwvYT4JKGNvbnN0IGNoYXIgKiBmaWxlbmFtZSk7CitpbnQJPGEgaHJlZj0iI3htbENhdGFsb2dTZXREZWJ1ZyI+eG1sQ2F0YWxvZ1NldERlYnVnPC9hPgkJKGludCBsZXZlbCk7Cis8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbENhdGFsb2dSZXNvbHZlIj54bWxDYXRhbG9nUmVzb2x2ZTwvYT4JKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwdWJJRCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3lzSUQpOwordm9pZAk8YSBocmVmPSIjeG1sQ2F0YWxvZ1NldERlZmF1bHRzIj54bWxDYXRhbG9nU2V0RGVmYXVsdHM8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ0FsbG93Ij54bWxDYXRhbG9nQWxsb3c8L2E+IGFsbG93KTsKK3ZvaWQJPGEgaHJlZj0iI3htbENhdGFsb2dEdW1wIj54bWxDYXRhbG9nRHVtcDwvYT4JCQkoRklMRSAqIG91dCk7Cit2b2lkCTxhIGhyZWY9IiN4bWxDYXRhbG9nQ2xlYW51cCI+eG1sQ2F0YWxvZ0NsZWFudXA8L2E+CQkodm9pZCk7Cis8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbENhdGFsb2dSZXNvbHZlVVJJIj54bWxDYXRhbG9nUmVzb2x2ZVVSSTwvYT4JKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBVUkkpOworPC9wcmU+CisgICAgPC9kaXY+CisgICAgPGRpdiBjbGFzcz0icmVmc2VjdDEiIGxhbmc9ImVuIj4KKyAgICAgIDxoMj5EZXNjcmlwdGlvbjwvaDI+CisgICAgPC9kaXY+CisgICAgPGRpdiBjbGFzcz0icmVmc2VjdDEiIGxhbmc9ImVuIj4KKyAgICAgIDxoMj5EZXRhaWxzPC9oMj4KKyAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IlhNTF9DQVRBTE9HU19OQU1FU1BBQ0UiPk1hY3JvIDwvYT5YTUxfQ0FUQUxPR1NfTkFNRVNQQUNFPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX0NBVEFMT0dTX05BTUVTUEFDRSI+WE1MX0NBVEFMT0dTX05BTUVTUEFDRTwvYT47Cis8L3ByZT48cD5UaGUgbmFtZXNwYWNlIGZvciB0aGUgWE1MIENhdGFsb2dzIGVsZW1lbnRzLjwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJYTUxfQ0FUQUxPR19QSSI+TWFjcm8gPC9hPlhNTF9DQVRBTE9HX1BJPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX0NBVEFMT0dfUEkiPlhNTF9DQVRBTE9HX1BJPC9hPjsKKzwvcHJlPjxwPlRoZSBzcGVjaWZpYyBYTUwgQ2F0YWxvZyBQcm9jZXNzaW5nIEluc3R1Y3Rpb24gbmFtZS48L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sQ2F0YWxvZyI+U3RydWN0dXJlIDwvYT54bWxDYXRhbG9nPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+c3RydWN0IF94bWxDYXRhbG9nIHsKK1RoZSBjb250ZW50IG9mIHRoaXMgc3RydWN0dXJlIGlzIG5vdCBtYWRlIHB1YmxpYyBieSB0aGUgQVBJLgorfSB4bWxDYXRhbG9nOworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbENhdGFsb2dBbGxvdyI+RW51bSA8L2E+eG1sQ2F0YWxvZ0FsbG93PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+ZW51bSA8YSBocmVmPSIjeG1sQ2F0YWxvZ0FsbG93Ij54bWxDYXRhbG9nQWxsb3c8L2E+IHsKKyAgICA8YSBuYW1lPSJYTUxfQ0FUQV9BTExPV19OT05FIj5YTUxfQ0FUQV9BTExPV19OT05FPC9hPiA9IDAKKyAgICA8YSBuYW1lPSJYTUxfQ0FUQV9BTExPV19HTE9CQUwiPlhNTF9DQVRBX0FMTE9XX0dMT0JBTDwvYT4gPSAxCisgICAgPGEgbmFtZT0iWE1MX0NBVEFfQUxMT1dfRE9DVU1FTlQiPlhNTF9DQVRBX0FMTE9XX0RPQ1VNRU5UPC9hPiA9IDIKKyAgICA8YSBuYW1lPSJYTUxfQ0FUQV9BTExPV19BTEwiPlhNTF9DQVRBX0FMTE9XX0FMTDwvYT4gPSAzCit9OworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbENhdGFsb2dQcmVmZXIiPkVudW0gPC9hPnhtbENhdGFsb2dQcmVmZXI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5lbnVtIDxhIGhyZWY9IiN4bWxDYXRhbG9nUHJlZmVyIj54bWxDYXRhbG9nUHJlZmVyPC9hPiB7CisgICAgPGEgbmFtZT0iWE1MX0NBVEFfUFJFRkVSX05PTkUiPlhNTF9DQVRBX1BSRUZFUl9OT05FPC9hPiA9IDAKKyAgICA8YSBuYW1lPSJYTUxfQ0FUQV9QUkVGRVJfUFVCTElDIj5YTUxfQ0FUQV9QUkVGRVJfUFVCTElDPC9hPiA9IDEKKyAgICA8YSBuYW1lPSJYTUxfQ0FUQV9QUkVGRVJfU1lTVEVNIj5YTUxfQ0FUQV9QUkVGRVJfU1lTVEVNPC9hPiA9IDIKK307Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sQ2F0YWxvZ1B0ciI+VHlwZWRlZiA8L2E+eG1sQ2F0YWxvZ1B0cjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItY2F0YWxvZy5odG1sI3htbENhdGFsb2ciPnhtbENhdGFsb2c8L2E+ICogeG1sQ2F0YWxvZ1B0cjsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxBQ2F0YWxvZ0FkZCIvPnhtbEFDYXRhbG9nQWRkICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbEFDYXRhbG9nQWRkCQkJKDxhIGhyZWY9ImxpYnhtbDItY2F0YWxvZy5odG1sI3htbENhdGFsb2dQdHIiPnhtbENhdGFsb2dQdHI8L2E+IGNhdGFsLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB0eXBlLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBvcmlnLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiByZXBsYWNlKTxici8+Cis8L3ByZT48cD5BZGQgYW4gZW50cnkgaW4gdGhlIGNhdGFsb2csIGl0IG1heSBvdmVyd3JpdGUgZXhpc3RpbmcgYnV0IGRpZmZlcmVudCBlbnRyaWVzLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y2F0YWw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgQ2F0YWxvZzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dHlwZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHR5cGUgb2YgcmVjb3JkIHRvIGFkZCB0byB0aGUgY2F0YWxvZzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3JpZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHN5c3RlbSwgcHVibGljIG9yIHByZWZpeCB0byBtYXRjaDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVwbGFjZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHJlcGxhY2VtZW50IHZhbHVlIGZvciB0aGUgbWF0Y2g8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaWYgc3VjY2Vzc2Z1bCwgLTEgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sQUNhdGFsb2dEdW1wIi8+eG1sQUNhdGFsb2dEdW1wICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxBQ2F0YWxvZ0R1bXAJCQkoPGEgaHJlZj0ibGlieG1sMi1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ1B0ciI+eG1sQ2F0YWxvZ1B0cjwvYT4gY2F0YWwsIDxici8+CQkJCQkgRklMRSAqIG91dCk8YnIvPgorPC9wcmU+PHA+RHVtcCB0aGUgZ2l2ZW4gY2F0YWxvZyB0byB0aGUgZ2l2ZW4gZmlsZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNhdGFsPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIENhdGFsb2c8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm91dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZpbGUuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sQUNhdGFsb2dSZW1vdmUiLz54bWxBQ2F0YWxvZ1JlbW92ZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxBQ2F0YWxvZ1JlbW92ZQkJKDxhIGhyZWY9ImxpYnhtbDItY2F0YWxvZy5odG1sI3htbENhdGFsb2dQdHIiPnhtbENhdGFsb2dQdHI8L2E+IGNhdGFsLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB2YWx1ZSk8YnIvPgorPC9wcmU+PHA+UmVtb3ZlIGFuIGVudHJ5IGZyb20gdGhlIGNhdGFsb2c8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNhdGFsPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIENhdGFsb2c8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbHVlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdmFsdWUgdG8gcmVtb3ZlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGVudHJpZXMgcmVtb3ZlZCBpZiBzdWNjZXNzZnVsLCAtMSBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxBQ2F0YWxvZ1Jlc29sdmUiLz54bWxBQ2F0YWxvZ1Jlc29sdmUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sQUNhdGFsb2dSZXNvbHZlCSg8YSBocmVmPSJsaWJ4bWwyLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nUHRyIj54bWxDYXRhbG9nUHRyPC9hPiBjYXRhbCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHViSUQsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN5c0lEKTxici8+Cis8L3ByZT48cD5EbyBhIGNvbXBsZXRlIHJlc29sdXRpb24gbG9va3VwIG9mIGFuIEV4dGVybmFsIElkZW50aWZpZXI8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNhdGFsPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIENhdGFsb2c8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnB1YklEPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcHVibGljIElEIHN0cmluZzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3lzSUQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzeXN0ZW0gSUQgc3RyaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgVVJJIG9mIHRoZSByZXNvdXJjZSBvciBOVUxMIGlmIG5vdCBmb3VuZCwgaXQgbXVzdCBiZSBmcmVlZCBieSB0aGUgY2FsbGVyLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEFDYXRhbG9nUmVzb2x2ZVB1YmxpYyIvPnhtbEFDYXRhbG9nUmVzb2x2ZVB1YmxpYyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxBQ2F0YWxvZ1Jlc29sdmVQdWJsaWMJKDxhIGhyZWY9ImxpYnhtbDItY2F0YWxvZy5odG1sI3htbENhdGFsb2dQdHIiPnhtbENhdGFsb2dQdHI8L2E+IGNhdGFsLCA8YnIvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHViSUQpPGJyLz4KKzwvcHJlPjxwPlRyeSB0byBsb29rdXAgdGhlIGNhdGFsb2cgbG9jYWwgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNyZWZlcmVuY2UiPnJlZmVyZW5jZTwvYT4gYXNzb2NpYXRlZCB0byBhIHB1YmxpYyBJRCBpbiB0aGF0IGNhdGFsb2c8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNhdGFsPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIENhdGFsb2c8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnB1YklEPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcHVibGljIElEIHN0cmluZzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxvY2FsIHJlc291cmNlIGlmIGZvdW5kIG9yIE5VTEwgb3RoZXJ3aXNlLCB0aGUgdmFsdWUgcmV0dXJuZWQgbXVzdCBiZSBmcmVlZCBieSB0aGUgY2FsbGVyLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEFDYXRhbG9nUmVzb2x2ZVN5c3RlbSIvPnhtbEFDYXRhbG9nUmVzb2x2ZVN5c3RlbSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxBQ2F0YWxvZ1Jlc29sdmVTeXN0ZW0JKDxhIGhyZWY9ImxpYnhtbDItY2F0YWxvZy5odG1sI3htbENhdGFsb2dQdHIiPnhtbENhdGFsb2dQdHI8L2E+IGNhdGFsLCA8YnIvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3lzSUQpPGJyLz4KKzwvcHJlPjxwPlRyeSB0byBsb29rdXAgdGhlIGNhdGFsb2cgcmVzb3VyY2UgZm9yIGEgc3lzdGVtIElEPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jYXRhbDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBDYXRhbG9nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zeXNJRDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHN5c3RlbSBJRCBzdHJpbmc8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSByZXNvdXJjZSBpZiBmb3VuZCBvciBOVUxMIG90aGVyd2lzZSwgdGhlIHZhbHVlIHJldHVybmVkIG11c3QgYmUgZnJlZWQgYnkgdGhlIGNhbGxlci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxBQ2F0YWxvZ1Jlc29sdmVVUkkiLz54bWxBQ2F0YWxvZ1Jlc29sdmVVUkkgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sQUNhdGFsb2dSZXNvbHZlVVJJCSg8YSBocmVmPSJsaWJ4bWwyLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nUHRyIj54bWxDYXRhbG9nUHRyPC9hPiBjYXRhbCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogVVJJKTxici8+Cis8L3ByZT48cD5EbyBhIGNvbXBsZXRlIHJlc29sdXRpb24gbG9va3VwIG9mIGFuIFVSSTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y2F0YWw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgQ2F0YWxvZzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+VVJJPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgVVJJPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgVVJJIG9mIHRoZSByZXNvdXJjZSBvciBOVUxMIGlmIG5vdCBmb3VuZCwgaXQgbXVzdCBiZSBmcmVlZCBieSB0aGUgY2FsbGVyLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbENhdGFsb2dBZGQiLz54bWxDYXRhbG9nQWRkICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbENhdGFsb2dBZGQJCQkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHR5cGUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG9yaWcsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHJlcGxhY2UpPGJyLz4KKzwvcHJlPjxwPkFkZCBhbiBlbnRyeSBpbiB0aGUgY2F0YWxvZywgaXQgbWF5IG92ZXJ3cml0ZSBleGlzdGluZyBidXQgZGlmZmVyZW50IGVudHJpZXMuIElmIGNhbGxlZCBiZWZvcmUgYW55IG90aGVyIGNhdGFsb2cgcm91dGluZSwgYWxsb3dzIHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IHNoYXJlZCBjYXRhbG9nIHB1dCBpbiBwbGFjZSBieSB4bWxJbml0aWFsaXplQ2F0YWxvZygpOzwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dHlwZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHR5cGUgb2YgcmVjb3JkIHRvIGFkZCB0byB0aGUgY2F0YWxvZzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3JpZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHN5c3RlbSwgcHVibGljIG9yIHByZWZpeCB0byBtYXRjaDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVwbGFjZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHJlcGxhY2VtZW50IHZhbHVlIGZvciB0aGUgbWF0Y2g8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaWYgc3VjY2Vzc2Z1bCwgLTEgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sQ2F0YWxvZ0FkZExvY2FsIi8+eG1sQ2F0YWxvZ0FkZExvY2FsICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZCAqCXhtbENhdGFsb2dBZGRMb2NhbAkJKHZvaWQgKiBjYXRhbG9ncywgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogVVJMKTxici8+Cis8L3ByZT48cD5BZGQgdGhlIG5ldyBlbnRyeSB0byB0aGUgY2F0YWxvZyBsaXN0PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jYXRhbG9nczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBkb2N1bWVudCdzIGxpc3Qgb2YgY2F0YWxvZ3M8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlVSTDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFVSTCB0byBhIG5ldyBsb2NhbCBjYXRhbG9nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXBkYXRlZCBsaXN0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sQ2F0YWxvZ0NsZWFudXAiLz54bWxDYXRhbG9nQ2xlYW51cCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sQ2F0YWxvZ0NsZWFudXAJCSh2b2lkKTxici8+Cis8L3ByZT48cD5GcmVlIHVwIGFsbCB0aGUgbWVtb3J5IGFzc29jaWF0ZWQgd2l0aCBjYXRhbG9nczwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxDYXRhbG9nQ29udmVydCIvPnhtbENhdGFsb2dDb252ZXJ0ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbENhdGFsb2dDb252ZXJ0CQkodm9pZCk8YnIvPgorPC9wcmU+PHA+Q29udmVydCBhbGwgdGhlIFNHTUwgY2F0YWxvZyBlbnRyaWVzIGFzIFhNTCBvbmVzPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGVudHJpZXMgY29udmVydGVkIGlmIHN1Y2Nlc3NmdWwsIC0xIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbENhdGFsb2dEdW1wIi8+eG1sQ2F0YWxvZ0R1bXAgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbENhdGFsb2dEdW1wCQkJKEZJTEUgKiBvdXQpPGJyLz4KKzwvcHJlPjxwPkR1bXAgYWxsIHRoZSBnbG9iYWwgY2F0YWxvZyBjb250ZW50IHRvIHRoZSBnaXZlbiBmaWxlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3V0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZmlsZS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxDYXRhbG9nRnJlZUxvY2FsIi8+eG1sQ2F0YWxvZ0ZyZWVMb2NhbCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sQ2F0YWxvZ0ZyZWVMb2NhbAkJKHZvaWQgKiBjYXRhbG9ncyk8YnIvPgorPC9wcmU+PHA+RnJlZSB1cCB0aGUgbWVtb3J5IGFzc29jaWF0ZWQgdG8gdGhlIGNhdGFsb2cgbGlzdDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y2F0YWxvZ3M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgZG9jdW1lbnQncyBsaXN0IG9mIGNhdGFsb2dzPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sQ2F0YWxvZ0dldERlZmF1bHRzIi8+eG1sQ2F0YWxvZ0dldERlZmF1bHRzICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ0FsbG93Ij54bWxDYXRhbG9nQWxsb3c8L2E+CXhtbENhdGFsb2dHZXREZWZhdWx0cwkodm9pZCk8YnIvPgorPC9wcmU+PHA+VXNlZCB0byBnZXQgdGhlIHVzZXIgcHJlZmVyZW5jZSB3LnIudC4gdG8gd2hhdCBjYXRhbG9ncyBzaG91bGQgYmUgYWNjZXB0ZWQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjdXJyZW50IDxhIGhyZWY9ImxpYnhtbDItY2F0YWxvZy5odG1sI3htbENhdGFsb2dBbGxvdyI+eG1sQ2F0YWxvZ0FsbG93PC9hPiB2YWx1ZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbENhdGFsb2dHZXRQdWJsaWMiLz54bWxDYXRhbG9nR2V0UHVibGljICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Y29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbENhdGFsb2dHZXRQdWJsaWMJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwdWJJRCk8YnIvPgorPC9wcmU+PHA+VHJ5IHRvIGxvb2t1cCB0aGUgY2F0YWxvZyA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI3JlZmVyZW5jZSI+cmVmZXJlbmNlPC9hPiBhc3NvY2lhdGVkIHRvIGEgcHVibGljIElEIERFUFJFQ0FURUQsIHVzZSB4bWxDYXRhbG9nUmVzb2x2ZVB1YmxpYygpPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wdWJJRDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHB1YmxpYyBJRCBzdHJpbmc8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSByZXNvdXJjZSBpZiBmb3VuZCBvciBOVUxMIG90aGVyd2lzZS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxDYXRhbG9nR2V0U3lzdGVtIi8+eG1sQ2F0YWxvZ0dldFN5c3RlbSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxDYXRhbG9nR2V0U3lzdGVtCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3lzSUQpPGJyLz4KKzwvcHJlPjxwPlRyeSB0byBsb29rdXAgdGhlIGNhdGFsb2cgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNyZWZlcmVuY2UiPnJlZmVyZW5jZTwvYT4gYXNzb2NpYXRlZCB0byBhIHN5c3RlbSBJRCBERVBSRUNBVEVELCB1c2UgeG1sQ2F0YWxvZ1Jlc29sdmVTeXN0ZW0oKTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3lzSUQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzeXN0ZW0gSUQgc3RyaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmVzb3VyY2UgaWYgZm91bmQgb3IgTlVMTCBvdGhlcndpc2UuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sQ2F0YWxvZ0lzRW1wdHkiLz54bWxDYXRhbG9nSXNFbXB0eSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxDYXRhbG9nSXNFbXB0eQkJKDxhIGhyZWY9ImxpYnhtbDItY2F0YWxvZy5odG1sI3htbENhdGFsb2dQdHIiPnhtbENhdGFsb2dQdHI8L2E+IGNhdGFsKTxici8+Cis8L3ByZT48cD5DaGVjayBpcyBhIGNhdGFsb2cgaXMgZW1wdHk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNhdGFsPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5zaG91bGQgdGhpcyBjcmVhdGUgYW4gU0dNTCBjYXRhbG9nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRoZSBjYXRhbG9nIGlzIGVtcHR5LCAwIGlmIG5vdCwgYW1kIC0xIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sQ2F0YWxvZ0xvY2FsUmVzb2x2ZSIvPnhtbENhdGFsb2dMb2NhbFJlc29sdmUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sQ2F0YWxvZ0xvY2FsUmVzb2x2ZQkodm9pZCAqIGNhdGFsb2dzLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwdWJJRCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3lzSUQpPGJyLz4KKzwvcHJlPjxwPkRvIGEgY29tcGxldGUgcmVzb2x1dGlvbiBsb29rdXAgb2YgYW4gRXh0ZXJuYWwgSWRlbnRpZmllciB1c2luZyBhIGRvY3VtZW50J3MgcHJpdmF0ZSBjYXRhbG9nIGxpc3Q8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNhdGFsb2dzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGRvY3VtZW50J3MgbGlzdCBvZiBjYXRhbG9nczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cHViSUQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwdWJsaWMgSUQgc3RyaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zeXNJRDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHN5c3RlbSBJRCBzdHJpbmc8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBVUkkgb2YgdGhlIHJlc291cmNlIG9yIE5VTEwgaWYgbm90IGZvdW5kLCBpdCBtdXN0IGJlIGZyZWVkIGJ5IHRoZSBjYWxsZXIuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sQ2F0YWxvZ0xvY2FsUmVzb2x2ZVVSSSIvPnhtbENhdGFsb2dMb2NhbFJlc29sdmVVUkkgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sQ2F0YWxvZ0xvY2FsUmVzb2x2ZVVSSQkodm9pZCAqIGNhdGFsb2dzLCA8YnIvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogVVJJKTxici8+Cis8L3ByZT48cD5EbyBhIGNvbXBsZXRlIHJlc29sdXRpb24gbG9va3VwIG9mIGFuIFVSSSB1c2luZyBhIGRvY3VtZW50J3MgcHJpdmF0ZSBjYXRhbG9nIGxpc3Q8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNhdGFsb2dzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGRvY3VtZW50J3MgbGlzdCBvZiBjYXRhbG9nczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+VVJJPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgVVJJPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgVVJJIG9mIHRoZSByZXNvdXJjZSBvciBOVUxMIGlmIG5vdCBmb3VuZCwgaXQgbXVzdCBiZSBmcmVlZCBieSB0aGUgY2FsbGVyLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbENhdGFsb2dSZW1vdmUiLz54bWxDYXRhbG9nUmVtb3ZlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbENhdGFsb2dSZW1vdmUJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUpPGJyLz4KKzwvcHJlPjxwPlJlbW92ZSBhbiBlbnRyeSBmcm9tIHRoZSBjYXRhbG9nPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWx1ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHZhbHVlIHRvIHJlbW92ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBlbnRyaWVzIHJlbW92ZWQgaWYgc3VjY2Vzc2Z1bCwgLTEgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sQ2F0YWxvZ1Jlc29sdmUiLz54bWxDYXRhbG9nUmVzb2x2ZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxDYXRhbG9nUmVzb2x2ZQkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHB1YklELCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzeXNJRCk8YnIvPgorPC9wcmU+PHA+RG8gYSBjb21wbGV0ZSByZXNvbHV0aW9uIGxvb2t1cCBvZiBhbiBFeHRlcm5hbCBJZGVudGlmaWVyPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wdWJJRDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHB1YmxpYyBJRCBzdHJpbmc8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN5c0lEPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc3lzdGVtIElEIHN0cmluZzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFVSSSBvZiB0aGUgcmVzb3VyY2Ugb3IgTlVMTCBpZiBub3QgZm91bmQsIGl0IG11c3QgYmUgZnJlZWQgYnkgdGhlIGNhbGxlci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxDYXRhbG9nUmVzb2x2ZVB1YmxpYyIvPnhtbENhdGFsb2dSZXNvbHZlUHVibGljICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbENhdGFsb2dSZXNvbHZlUHVibGljCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHViSUQpPGJyLz4KKzwvcHJlPjxwPlRyeSB0byBsb29rdXAgdGhlIGNhdGFsb2cgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNyZWZlcmVuY2UiPnJlZmVyZW5jZTwvYT4gYXNzb2NpYXRlZCB0byBhIHB1YmxpYyBJRDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cHViSUQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwdWJsaWMgSUQgc3RyaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmVzb3VyY2UgaWYgZm91bmQgb3IgTlVMTCBvdGhlcndpc2UsIHRoZSB2YWx1ZSByZXR1cm5lZCBtdXN0IGJlIGZyZWVkIGJ5IHRoZSBjYWxsZXIuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sQ2F0YWxvZ1Jlc29sdmVTeXN0ZW0iLz54bWxDYXRhbG9nUmVzb2x2ZVN5c3RlbSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxDYXRhbG9nUmVzb2x2ZVN5c3RlbQkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN5c0lEKTxici8+Cis8L3ByZT48cD5UcnkgdG8gbG9va3VwIHRoZSBjYXRhbG9nIHJlc291cmNlIGZvciBhIHN5c3RlbSBJRDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3lzSUQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzeXN0ZW0gSUQgc3RyaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmVzb3VyY2UgaWYgZm91bmQgb3IgTlVMTCBvdGhlcndpc2UsIHRoZSB2YWx1ZSByZXR1cm5lZCBtdXN0IGJlIGZyZWVkIGJ5IHRoZSBjYWxsZXIuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sQ2F0YWxvZ1Jlc29sdmVVUkkiLz54bWxDYXRhbG9nUmVzb2x2ZVVSSSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxDYXRhbG9nUmVzb2x2ZVVSSQkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIFVSSSk8YnIvPgorPC9wcmU+PHA+RG8gYSBjb21wbGV0ZSByZXNvbHV0aW9uIGxvb2t1cCBvZiBhbiBVUkk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlVSSTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFVSSTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFVSSSBvZiB0aGUgcmVzb3VyY2Ugb3IgTlVMTCBpZiBub3QgZm91bmQsIGl0IG11c3QgYmUgZnJlZWQgYnkgdGhlIGNhbGxlci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxDYXRhbG9nU2V0RGVidWciLz54bWxDYXRhbG9nU2V0RGVidWcgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sQ2F0YWxvZ1NldERlYnVnCQkoaW50IGxldmVsKTxici8+Cis8L3ByZT48cD5Vc2VkIHRvIHNldCB0aGUgZGVidWcgbGV2ZWwgZm9yIGNhdGFsb2cgb3BlcmF0aW9uLCAwIGRpc2FibGUgZGVidWdnaW5nLCAxIGVuYWJsZSBpdDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGV2ZWw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkZWJ1ZyBsZXZlbCBvZiBjYXRhbG9ncyByZXF1aXJlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHByZXZpb3VzIHZhbHVlIG9mIHRoZSBjYXRhbG9nIGRlYnVnZ2luZyBsZXZlbDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbENhdGFsb2dTZXREZWZhdWx0UHJlZmVyIi8+eG1sQ2F0YWxvZ1NldERlZmF1bHRQcmVmZXIgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nUHJlZmVyIj54bWxDYXRhbG9nUHJlZmVyPC9hPgl4bWxDYXRhbG9nU2V0RGVmYXVsdFByZWZlcgkoPGEgaHJlZj0ibGlieG1sMi1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ1ByZWZlciI+eG1sQ2F0YWxvZ1ByZWZlcjwvYT4gcHJlZmVyKTxici8+Cis8L3ByZT48cD5BbGxvd3MgdG8gc2V0IHRoZSBwcmVmZXJlbmNlIGJldHdlZW4gcHVibGljIGFuZCBzeXN0ZW0gZm9yIGRlbGV0aW9uIGluIFhNTCBDYXRhbG9nIHJlc29sdXRpb24uIEMuZi4gc2VjdGlvbiA0LjEuMSBvZiB0aGUgc3BlYyBWYWx1ZXMgYWNjZXB0ZWQgYXJlIDxhIGhyZWY9ImxpYnhtbDItY2F0YWxvZy5odG1sI1hNTF9DQVRBX1BSRUZFUl9QVUJMSUMiPlhNTF9DQVRBX1BSRUZFUl9QVUJMSUM8L2E+IG9yIDxhIGhyZWY9ImxpYnhtbDItY2F0YWxvZy5odG1sI1hNTF9DQVRBX1BSRUZFUl9TWVNURU0iPlhNTF9DQVRBX1BSRUZFUl9TWVNURU08L2E+PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wcmVmZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkZWZhdWx0IHByZWZlcmVuY2UgZm9yIGRlbGVnYXRpb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwcmV2aW91cyB2YWx1ZSBvZiB0aGUgZGVmYXVsdCBwcmVmZXJlbmNlIGZvciBkZWxlZ2F0aW9uPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sQ2F0YWxvZ1NldERlZmF1bHRzIi8+eG1sQ2F0YWxvZ1NldERlZmF1bHRzICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxDYXRhbG9nU2V0RGVmYXVsdHMJCSg8YSBocmVmPSJsaWJ4bWwyLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nQWxsb3ciPnhtbENhdGFsb2dBbGxvdzwvYT4gYWxsb3cpPGJyLz4KKzwvcHJlPjxwPlVzZWQgdG8gc2V0IHRoZSB1c2VyIHByZWZlcmVuY2Ugdy5yLnQuIHRvIHdoYXQgY2F0YWxvZ3Mgc2hvdWxkIGJlIGFjY2VwdGVkPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5hbGxvdzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+d2hhdCBjYXRhbG9ncyBzaG91bGQgYmUgYWNjZXB0ZWQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxDb252ZXJ0U0dNTENhdGFsb2ciLz54bWxDb252ZXJ0U0dNTENhdGFsb2cgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sQ29udmVydFNHTUxDYXRhbG9nCQkoPGEgaHJlZj0ibGlieG1sMi1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ1B0ciI+eG1sQ2F0YWxvZ1B0cjwvYT4gY2F0YWwpPGJyLz4KKzwvcHJlPjxwPkNvbnZlcnQgYWxsIHRoZSBTR01MIGNhdGFsb2cgZW50cmllcyBhcyBYTUwgb25lczwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y2F0YWw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjYXRhbG9nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGVudHJpZXMgY29udmVydGVkIGlmIHN1Y2Nlc3NmdWwsIC0xIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEZyZWVDYXRhbG9nIi8+eG1sRnJlZUNhdGFsb2cgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbEZyZWVDYXRhbG9nCQkJKDxhIGhyZWY9ImxpYnhtbDItY2F0YWxvZy5odG1sI3htbENhdGFsb2dQdHIiPnhtbENhdGFsb2dQdHI8L2E+IGNhdGFsKTxici8+Cis8L3ByZT48cD5GcmVlIHRoZSBtZW1vcnkgYWxsb2NhdGVkIHRvIGEgQ2F0YWxvZzwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y2F0YWw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgQ2F0YWxvZzwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEluaXRpYWxpemVDYXRhbG9nIi8+eG1sSW5pdGlhbGl6ZUNhdGFsb2cgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbEluaXRpYWxpemVDYXRhbG9nCQkodm9pZCk8YnIvPgorPC9wcmU+PHA+RG8gdGhlIGNhdGFsb2cgaW5pdGlhbGl6YXRpb24uIHRoaXMgZnVuY3Rpb24gaXMgbm90IHRocmVhZCBzYWZlLCBjYXRhbG9nIGluaXRpYWxpemF0aW9uIHNob3VsZCBwcmVmZXJhYmx5IGJlIGRvbmUgb25jZSBhdCBzdGFydHVwPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbExvYWRBQ2F0YWxvZyIvPnhtbExvYWRBQ2F0YWxvZyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItY2F0YWxvZy5odG1sI3htbENhdGFsb2dQdHIiPnhtbENhdGFsb2dQdHI8L2E+CXhtbExvYWRBQ2F0YWxvZwkJKGNvbnN0IGNoYXIgKiBmaWxlbmFtZSk8YnIvPgorPC9wcmU+PHA+TG9hZCB0aGUgY2F0YWxvZyBhbmQgYnVpbGQgdGhlIGFzc29jaWF0ZWQgZGF0YSBzdHJ1Y3R1cmVzLiBUaGlzIGNhbiBiZSBlaXRoZXIgYW4gWE1MIENhdGFsb2cgb3IgYW4gU0dNTCBDYXRhbG9nIEl0IHdpbGwgcmVjdXJzZSBpbiBTR01MIENBVEFMT0cgZW50cmllcy4gT24gdGhlIG90aGVyIGhhbmQgWE1MIENhdGFsb2dzIGFyZSBub3QgaGFuZGxlZCByZWN1cnNpdmVseS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZpbGVuYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGZpbGUgcGF0aDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGNhdGFsb2cgcGFyc2VkIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbExvYWRDYXRhbG9nIi8+eG1sTG9hZENhdGFsb2cgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sTG9hZENhdGFsb2cJCQkoY29uc3QgY2hhciAqIGZpbGVuYW1lKTxici8+Cis8L3ByZT48cD5Mb2FkIHRoZSBjYXRhbG9nIGFuZCBtYWtlcyBpdHMgZGVmaW5pdGlvbnMgZWZmZWN0aXZlIGZvciB0aGUgZGVmYXVsdCBleHRlcm5hbCBlbnRpdHkgbG9hZGVyLiBJdCB3aWxsIHJlY3Vyc2UgaW4gU0dNTCBDQVRBTE9HIGVudHJpZXMuIHRoaXMgZnVuY3Rpb24gaXMgbm90IHRocmVhZCBzYWZlLCBjYXRhbG9nIGluaXRpYWxpemF0aW9uIHNob3VsZCBwcmVmZXJhYmx5IGJlIGRvbmUgb25jZSBhdCBzdGFydHVwPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlbmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBmaWxlIHBhdGg8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaW4gY2FzZSBvZiBzdWNjZXNzIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxMb2FkQ2F0YWxvZ3MiLz54bWxMb2FkQ2F0YWxvZ3MgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbExvYWRDYXRhbG9ncwkJCShjb25zdCBjaGFyICogcGF0aHNzKTxici8+Cis8L3ByZT48cD5Mb2FkIHRoZSBjYXRhbG9ncyBhbmQgbWFrZXMgdGhlaXIgZGVmaW5pdGlvbnMgZWZmZWN0aXZlIGZvciB0aGUgZGVmYXVsdCBleHRlcm5hbCBlbnRpdHkgbG9hZGVyLiB0aGlzIGZ1bmN0aW9uIGlzIG5vdCB0aHJlYWQgc2FmZSwgY2F0YWxvZyBpbml0aWFsaXphdGlvbiBzaG91bGQgcHJlZmVyYWJseSBiZSBkb25lIG9uY2UgYXQgc3RhcnR1cDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cGF0aHNzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGxpc3Qgb2YgZGlyZWN0b3JpZXMgc2VwYXJhdGVkIGJ5IGEgY29sb24gb3IgYSBzcGFjZS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxMb2FkU0dNTFN1cGVyQ2F0YWxvZyIvPnhtbExvYWRTR01MU3VwZXJDYXRhbG9nICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ1B0ciI+eG1sQ2F0YWxvZ1B0cjwvYT4JeG1sTG9hZFNHTUxTdXBlckNhdGFsb2cJKGNvbnN0IGNoYXIgKiBmaWxlbmFtZSk8YnIvPgorPC9wcmU+PHA+TG9hZCBhbiBTR01MIHN1cGVyIGNhdGFsb2cuIEl0IHdvbid0IGV4cGFuZCBDQVRBTE9HIG9yIERFTEVHQVRFIHJlZmVyZW5jZXMuIFRoaXMgaXMgb25seSBuZWVkZWQgZm9yIG1hbmlwdWxhdGluZyBTR01MIFN1cGVyIENhdGFsb2dzIGxpa2UgYWRkaW5nIGFuZCByZW1vdmluZyBDQVRBTE9HIG9yIERFTEVHQVRFIGVudHJpZXMuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlbmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBmaWxlIHBhdGg8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjYXRhbG9nIHBhcnNlZCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxOZXdDYXRhbG9nIi8+eG1sTmV3Q2F0YWxvZyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItY2F0YWxvZy5odG1sI3htbENhdGFsb2dQdHIiPnhtbENhdGFsb2dQdHI8L2E+CXhtbE5ld0NhdGFsb2cJCShpbnQgc2dtbCk8YnIvPgorPC9wcmU+PHA+Y3JlYXRlIGEgbmV3IENhdGFsb2cuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zZ21sPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5zaG91bGQgdGhpcyBjcmVhdGUgYW4gU0dNTCBjYXRhbG9nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ1B0ciI+eG1sQ2F0YWxvZ1B0cjwvYT4gb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUGFyc2VDYXRhbG9nRmlsZSIvPnhtbFBhcnNlQ2F0YWxvZ0ZpbGUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4JeG1sUGFyc2VDYXRhbG9nRmlsZQkoY29uc3QgY2hhciAqIGZpbGVuYW1lKTxici8+Cis8L3ByZT48cD5wYXJzZSBhbiBYTUwgZmlsZSBhbmQgYnVpbGQgYSB0cmVlLiBJdCdzIGxpa2UgeG1sUGFyc2VGaWxlKCkgZXhjZXB0IGl0IGJ5cGFzcyBhbGwgY2F0YWxvZyBsb29rdXBzLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmlsZW5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmaWxlbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHJlc3VsdGluZyBkb2N1bWVudCB0cmVlIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKyAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvZGV2aGVscC9saWJ4bWwyLWNodmFsaWQuaHRtbCBiL2xpYnhtbDIvZG9jL2RldmhlbHAvbGlieG1sMi1jaHZhbGlkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWM3NzE1OAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL2RldmhlbHAvbGlieG1sMi1jaHZhbGlkLmh0bWwKQEAgLTAsMCArMSwyNDEgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8aHRtbD4KKyAgPGhlYWQ+CisgICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiLz4KKyAgICA8dGl0bGU+Y2h2YWxpZDogVW5pY29kZSBjaGFyYWN0ZXIgcmFuZ2UgY2hlY2tpbmc8L3RpdGxlPgorICAgIDxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iTGlieG1sMiBkZXZoZWxwIHN0eWxlc2hlZXQiLz4KKyAgICA8bGluayByZWw9InN0YXJ0IiBocmVmPSJpbmRleC5odG1sIiB0aXRsZT0ibGlieG1sMiBSZWZlcmVuY2UgTWFudWFsIi8+CisgICAgPGxpbmsgcmVsPSJ1cCIgaHJlZj0iZ2VuZXJhbC5odG1sIiB0aXRsZT0iQVBJIi8+CisgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJzdHlsZS5jc3MiIHR5cGU9InRleHQvY3NzIi8+CisgICAgPGxpbmsgcmVsPSJjaGFwdGVyIiBocmVmPSJnZW5lcmFsLmh0bWwiIHRpdGxlPSJBUEkiLz4KKyAgPC9oZWFkPgorICA8Ym9keSBiZ2NvbG9yPSJ3aGl0ZSIgdGV4dD0iYmxhY2siIGxpbms9IiMwMDAwRkYiIHZsaW5rPSIjODQwMDg0IiBhbGluaz0iIzAwMDBGRiI+CisgICAgPHRhYmxlIGNsYXNzPSJuYXZpZ2F0aW9uIiB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBoZWFkZXIiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMiI+CisgICAgICA8dHIgdmFsaWduPSJtaWRkbGUiPgorICAgICAgICA8dGQ+CisgICAgICAgICAgPGEgYWNjZXNza2V5PSJwIiBocmVmPSJsaWJ4bWwyLWNhdGFsb2cuaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0ibGVmdC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlByZXYiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9InUiIGhyZWY9ImdlbmVyYWwuaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0idXAucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJVcCIvPgorICAgICAgICAgIDwvYT4KKyAgICAgICAgPC90ZD4KKyAgICAgICAgPHRkPgorICAgICAgICAgIDxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iaW5kZXguaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0iaG9tZS5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IkhvbWUiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9Im4iIGhyZWY9ImxpYnhtbDItZGVidWdYTUwuaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0icmlnaHQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJOZXh0Ii8+CisgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGggd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPmxpYnhtbDIgUmVmZXJlbmNlIE1hbnVhbDwvdGg+CisgICAgICA8L3RyPgorICAgIDwvdGFibGU+CisgICAgPGgyPgorICAgICAgPHNwYW4gY2xhc3M9InJlZmVudHJ5dGl0bGUiPmNodmFsaWQ8L3NwYW4+CisgICAgPC9oMj4KKyAgICA8cD5jaHZhbGlkIC0gVW5pY29kZSBjaGFyYWN0ZXIgcmFuZ2UgY2hlY2tpbmc8L3A+CisgICAgPHA+dGhpcyBtb2R1bGUgZXhwb3J0cyBpbnRlcmZhY2VzIGZvciB0aGUgY2hhcmFjdGVyIHJhbmdlIHZhbGlkYXRpb24gQVBJcyAgVGhpcyBmaWxlIGlzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGN2cyBzb3VyY2UgZGVmaW5pdGlvbiBmaWxlcyB1c2luZyB0aGUgZ2VuQ2hSYW5nZXMucHkgUHl0aG9uIHNjcmlwdCA8L3A+CisgICAgPHA+QXV0aG9yKHMpOiBXaWxsaWFtIEJyYWNrICZsdDt3YnJhY2tAbW1tLmNvbS5oayZndDsgPC9wPgorICAgIDxkaXYgY2xhc3M9InJlZnN5bm9wc2lzZGl2Ij4KKyAgICAgIDxoMj5TeW5vcHNpczwvaDI+CisgICAgICA8cHJlIGNsYXNzPSJzeW5vcHNpcyI+I2RlZmluZSA8YSBocmVmPSIjeG1sSXNFeHRlbmRlcl9jaCI+eG1sSXNFeHRlbmRlcl9jaDwvYT4oYyk7CisjZGVmaW5lIDxhIGhyZWY9IiN4bWxJc1B1YmlkQ2hhclEiPnhtbElzUHViaWRDaGFyUTwvYT4oYyk7CisjZGVmaW5lIDxhIGhyZWY9IiN4bWxJc1B1YmlkQ2hhcl9jaCI+eG1sSXNQdWJpZENoYXJfY2g8L2E+KGMpOworI2RlZmluZSA8YSBocmVmPSIjeG1sSXNJZGVvZ3JhcGhpY1EiPnhtbElzSWRlb2dyYXBoaWNRPC9hPihjKTsKKyNkZWZpbmUgPGEgaHJlZj0iI3htbElzRXh0ZW5kZXJRIj54bWxJc0V4dGVuZGVyUTwvYT4oYyk7CisjZGVmaW5lIDxhIGhyZWY9IiN4bWxJc0NoYXJfY2giPnhtbElzQ2hhcl9jaDwvYT4oYyk7CisjZGVmaW5lIDxhIGhyZWY9IiN4bWxJc0RpZ2l0USI+eG1sSXNEaWdpdFE8L2E+KGMpOworI2RlZmluZSA8YSBocmVmPSIjeG1sSXNEaWdpdF9jaCI+eG1sSXNEaWdpdF9jaDwvYT4oYyk7CisjZGVmaW5lIDxhIGhyZWY9IiN4bWxJc0Jhc2VDaGFyX2NoIj54bWxJc0Jhc2VDaGFyX2NoPC9hPihjKTsKKyNkZWZpbmUgPGEgaHJlZj0iI3htbElzQ29tYmluaW5nUSI+eG1sSXNDb21iaW5pbmdRPC9hPihjKTsKKyNkZWZpbmUgPGEgaHJlZj0iI3htbElzQmxhbmtRIj54bWxJc0JsYW5rUTwvYT4oYyk7CisjZGVmaW5lIDxhIGhyZWY9IiN4bWxJc0NoYXJRIj54bWxJc0NoYXJRPC9hPihjKTsKKyNkZWZpbmUgPGEgaHJlZj0iI3htbElzQmFzZUNoYXJRIj54bWxJc0Jhc2VDaGFyUTwvYT4oYyk7CisjZGVmaW5lIDxhIGhyZWY9IiN4bWxJc0JsYW5rX2NoIj54bWxJc0JsYW5rX2NoPC9hPihjKTsKK3R5cGVkZWYgc3RydWN0IF94bWxDaExSYW5nZSA8YSBocmVmPSIjeG1sQ2hMUmFuZ2UiPnhtbENoTFJhbmdlPC9hPjsKK3R5cGVkZWYgPGEgaHJlZj0ibGlieG1sMi1jaHZhbGlkLmh0bWwjeG1sQ2hTUmFuZ2UiPnhtbENoU1JhbmdlPC9hPiAqIDxhIGhyZWY9IiN4bWxDaFNSYW5nZVB0ciI+eG1sQ2hTUmFuZ2VQdHI8L2E+OwordHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwyLWNodmFsaWQuaHRtbCN4bWxDaExSYW5nZSI+eG1sQ2hMUmFuZ2U8L2E+ICogPGEgaHJlZj0iI3htbENoTFJhbmdlUHRyIj54bWxDaExSYW5nZVB0cjwvYT47Cit0eXBlZGVmIDxhIGhyZWY9ImxpYnhtbDItY2h2YWxpZC5odG1sI3htbENoUmFuZ2VHcm91cCI+eG1sQ2hSYW5nZUdyb3VwPC9hPiAqIDxhIGhyZWY9IiN4bWxDaFJhbmdlR3JvdXBQdHIiPnhtbENoUmFuZ2VHcm91cFB0cjwvYT47Cit0eXBlZGVmIHN0cnVjdCBfeG1sQ2hTUmFuZ2UgPGEgaHJlZj0iI3htbENoU1JhbmdlIj54bWxDaFNSYW5nZTwvYT47Cit0eXBlZGVmIHN0cnVjdCBfeG1sQ2hSYW5nZUdyb3VwIDxhIGhyZWY9IiN4bWxDaFJhbmdlR3JvdXAiPnhtbENoUmFuZ2VHcm91cDwvYT47CitpbnQJPGEgaHJlZj0iI3htbElzQ2hhciI+eG1sSXNDaGFyPC9hPgkJCSh1bnNpZ25lZCBpbnQgY2gpOworaW50CTxhIGhyZWY9IiN4bWxJc0RpZ2l0Ij54bWxJc0RpZ2l0PC9hPgkJCSh1bnNpZ25lZCBpbnQgY2gpOworaW50CTxhIGhyZWY9IiN4bWxJc0JsYW5rIj54bWxJc0JsYW5rPC9hPgkJCSh1bnNpZ25lZCBpbnQgY2gpOworaW50CTxhIGhyZWY9IiN4bWxJc0lkZW9ncmFwaGljIj54bWxJc0lkZW9ncmFwaGljPC9hPgkJKHVuc2lnbmVkIGludCBjaCk7CitpbnQJPGEgaHJlZj0iI3htbENoYXJJblJhbmdlIj54bWxDaGFySW5SYW5nZTwvYT4JCQkodW5zaWduZWQgaW50IHZhbCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLWNodmFsaWQuaHRtbCN4bWxDaFJhbmdlR3JvdXAiPnhtbENoUmFuZ2VHcm91cDwvYT4gKiBycHRyKTsKK2ludAk8YSBocmVmPSIjeG1sSXNQdWJpZENoYXIiPnhtbElzUHViaWRDaGFyPC9hPgkJCSh1bnNpZ25lZCBpbnQgY2gpOworaW50CTxhIGhyZWY9IiN4bWxJc0NvbWJpbmluZyI+eG1sSXNDb21iaW5pbmc8L2E+CQkJKHVuc2lnbmVkIGludCBjaCk7CitpbnQJPGEgaHJlZj0iI3htbElzQmFzZUNoYXIiPnhtbElzQmFzZUNoYXI8L2E+CQkJKHVuc2lnbmVkIGludCBjaCk7CitpbnQJPGEgaHJlZj0iI3htbElzRXh0ZW5kZXIiPnhtbElzRXh0ZW5kZXI8L2E+CQkJKHVuc2lnbmVkIGludCBjaCk7Cis8L3ByZT4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MSIgbGFuZz0iZW4iPgorICAgICAgPGgyPkRlc2NyaXB0aW9uPC9oMj4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MSIgbGFuZz0iZW4iPgorICAgICAgPGgyPkRldGFpbHM8L2gyPgorICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sSXNCYXNlQ2hhclEiPk1hY3JvIDwvYT54bWxJc0Jhc2VDaGFyUTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI3htbElzQmFzZUNoYXJRIj54bWxJc0Jhc2VDaGFyUTwvYT4oYyk7Cis8L3ByZT48cD5BdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSBnZW5DaFJhbmdlcy5weTwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmNoYXIgdG8gdmFsaWRhdGU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbElzQmFzZUNoYXJfY2giPk1hY3JvIDwvYT54bWxJc0Jhc2VDaGFyX2NoPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjeG1sSXNCYXNlQ2hhcl9jaCI+eG1sSXNCYXNlQ2hhcl9jaDwvYT4oYyk7Cis8L3ByZT48cD5BdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSBnZW5DaFJhbmdlcy5weTwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmNoYXIgdG8gdmFsaWRhdGU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbElzQmxhbmtRIj5NYWNybyA8L2E+eG1sSXNCbGFua1E8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiN4bWxJc0JsYW5rUSI+eG1sSXNCbGFua1E8L2E+KGMpOworPC9wcmU+PHA+QXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgZ2VuQ2hSYW5nZXMucHk8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5jaGFyIHRvIHZhbGlkYXRlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxJc0JsYW5rX2NoIj5NYWNybyA8L2E+eG1sSXNCbGFua19jaDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI3htbElzQmxhbmtfY2giPnhtbElzQmxhbmtfY2g8L2E+KGMpOworPC9wcmU+PHA+QXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgZ2VuQ2hSYW5nZXMucHk8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5jaGFyIHRvIHZhbGlkYXRlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxJc0NoYXJRIj5NYWNybyA8L2E+eG1sSXNDaGFyUTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI3htbElzQ2hhclEiPnhtbElzQ2hhclE8L2E+KGMpOworPC9wcmU+PHA+QXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgZ2VuQ2hSYW5nZXMucHk8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5jaGFyIHRvIHZhbGlkYXRlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxJc0NoYXJfY2giPk1hY3JvIDwvYT54bWxJc0NoYXJfY2g8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiN4bWxJc0NoYXJfY2giPnhtbElzQ2hhcl9jaDwvYT4oYyk7Cis8L3ByZT48cD5BdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSBnZW5DaFJhbmdlcy5weTwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmNoYXIgdG8gdmFsaWRhdGU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbElzQ29tYmluaW5nUSI+TWFjcm8gPC9hPnhtbElzQ29tYmluaW5nUTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI3htbElzQ29tYmluaW5nUSI+eG1sSXNDb21iaW5pbmdRPC9hPihjKTsKKzwvcHJlPjxwPkF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IGdlbkNoUmFuZ2VzLnB5PC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+Y2hhciB0byB2YWxpZGF0ZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sSXNEaWdpdFEiPk1hY3JvIDwvYT54bWxJc0RpZ2l0UTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI3htbElzRGlnaXRRIj54bWxJc0RpZ2l0UTwvYT4oYyk7Cis8L3ByZT48cD5BdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSBnZW5DaFJhbmdlcy5weTwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmNoYXIgdG8gdmFsaWRhdGU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbElzRGlnaXRfY2giPk1hY3JvIDwvYT54bWxJc0RpZ2l0X2NoPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjeG1sSXNEaWdpdF9jaCI+eG1sSXNEaWdpdF9jaDwvYT4oYyk7Cis8L3ByZT48cD5BdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSBnZW5DaFJhbmdlcy5weTwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmNoYXIgdG8gdmFsaWRhdGU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbElzRXh0ZW5kZXJRIj5NYWNybyA8L2E+eG1sSXNFeHRlbmRlclE8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiN4bWxJc0V4dGVuZGVyUSI+eG1sSXNFeHRlbmRlclE8L2E+KGMpOworPC9wcmU+PHA+QXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgZ2VuQ2hSYW5nZXMucHk8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5jaGFyIHRvIHZhbGlkYXRlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxJc0V4dGVuZGVyX2NoIj5NYWNybyA8L2E+eG1sSXNFeHRlbmRlcl9jaDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI3htbElzRXh0ZW5kZXJfY2giPnhtbElzRXh0ZW5kZXJfY2g8L2E+KGMpOworPC9wcmU+PHA+QXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgZ2VuQ2hSYW5nZXMucHk8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5jaGFyIHRvIHZhbGlkYXRlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxJc0lkZW9ncmFwaGljUSI+TWFjcm8gPC9hPnhtbElzSWRlb2dyYXBoaWNRPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjeG1sSXNJZGVvZ3JhcGhpY1EiPnhtbElzSWRlb2dyYXBoaWNRPC9hPihjKTsKKzwvcHJlPjxwPkF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IGdlbkNoUmFuZ2VzLnB5PC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+Y2hhciB0byB2YWxpZGF0ZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sSXNQdWJpZENoYXJRIj5NYWNybyA8L2E+eG1sSXNQdWJpZENoYXJRPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjeG1sSXNQdWJpZENoYXJRIj54bWxJc1B1YmlkQ2hhclE8L2E+KGMpOworPC9wcmU+PHA+QXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgZ2VuQ2hSYW5nZXMucHk8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5jaGFyIHRvIHZhbGlkYXRlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxJc1B1YmlkQ2hhcl9jaCI+TWFjcm8gPC9hPnhtbElzUHViaWRDaGFyX2NoPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjeG1sSXNQdWJpZENoYXJfY2giPnhtbElzUHViaWRDaGFyX2NoPC9hPihjKTsKKzwvcHJlPjxwPkF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IGdlbkNoUmFuZ2VzLnB5PC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+Y2hhciB0byB2YWxpZGF0ZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sQ2hMUmFuZ2UiPlN0cnVjdHVyZSA8L2E+eG1sQ2hMUmFuZ2U8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5zdHJ1Y3QgX3htbENoTFJhbmdlIHsKKyAgICB1bnNpZ25lZCBpbnQJbG93CisgICAgdW5zaWduZWQgaW50CWhpZ2gKK30geG1sQ2hMUmFuZ2U7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sQ2hMUmFuZ2VQdHIiPlR5cGVkZWYgPC9hPnhtbENoTFJhbmdlUHRyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi1jaHZhbGlkLmh0bWwjeG1sQ2hMUmFuZ2UiPnhtbENoTFJhbmdlPC9hPiAqIHhtbENoTFJhbmdlUHRyOworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbENoUmFuZ2VHcm91cCI+U3RydWN0dXJlIDwvYT54bWxDaFJhbmdlR3JvdXA8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5zdHJ1Y3QgX3htbENoUmFuZ2VHcm91cCB7CisgICAgaW50CW5iU2hvcnRSYW5nZQorICAgIGludAluYkxvbmdSYW5nZQorICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDItY2h2YWxpZC5odG1sI3htbENoU1JhbmdlIj54bWxDaFNSYW5nZTwvYT4gKglzaG9ydFJhbmdlCTogcG9pbnRzIHRvIGFuIGFycmF5IG9mIHJhbmdlcworICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDItY2h2YWxpZC5odG1sI3htbENoTFJhbmdlIj54bWxDaExSYW5nZTwvYT4gKglsb25nUmFuZ2UKK30geG1sQ2hSYW5nZUdyb3VwOworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbENoUmFuZ2VHcm91cFB0ciI+VHlwZWRlZiA8L2E+eG1sQ2hSYW5nZUdyb3VwUHRyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi1jaHZhbGlkLmh0bWwjeG1sQ2hSYW5nZUdyb3VwIj54bWxDaFJhbmdlR3JvdXA8L2E+ICogeG1sQ2hSYW5nZUdyb3VwUHRyOworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbENoU1JhbmdlIj5TdHJ1Y3R1cmUgPC9hPnhtbENoU1JhbmdlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+c3RydWN0IF94bWxDaFNSYW5nZSB7CisgICAgdW5zaWduZWQgc2hvcnQJbG93CisgICAgdW5zaWduZWQgc2hvcnQJaGlnaAorfSB4bWxDaFNSYW5nZTsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxDaFNSYW5nZVB0ciI+VHlwZWRlZiA8L2E+eG1sQ2hTUmFuZ2VQdHI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLWNodmFsaWQuaHRtbCN4bWxDaFNSYW5nZSI+eG1sQ2hTUmFuZ2U8L2E+ICogeG1sQ2hTUmFuZ2VQdHI7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sSXNCYXNlQ2hhckdyb3VwIj5WYXJpYWJsZSA8L2E+eG1sSXNCYXNlQ2hhckdyb3VwPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Y29uc3QgPGEgaHJlZj0ibGlieG1sMi1jaHZhbGlkLmh0bWwjeG1sQ2hSYW5nZUdyb3VwIj54bWxDaFJhbmdlR3JvdXA8L2E+IHhtbElzQmFzZUNoYXJHcm91cDsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxJc0NoYXJHcm91cCI+VmFyaWFibGUgPC9hPnhtbElzQ2hhckdyb3VwPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Y29uc3QgPGEgaHJlZj0ibGlieG1sMi1jaHZhbGlkLmh0bWwjeG1sQ2hSYW5nZUdyb3VwIj54bWxDaFJhbmdlR3JvdXA8L2E+IHhtbElzQ2hhckdyb3VwOworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbElzQ29tYmluaW5nR3JvdXAiPlZhcmlhYmxlIDwvYT54bWxJc0NvbWJpbmluZ0dyb3VwPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Y29uc3QgPGEgaHJlZj0ibGlieG1sMi1jaHZhbGlkLmh0bWwjeG1sQ2hSYW5nZUdyb3VwIj54bWxDaFJhbmdlR3JvdXA8L2E+IHhtbElzQ29tYmluaW5nR3JvdXA7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sSXNEaWdpdEdyb3VwIj5WYXJpYWJsZSA8L2E+eG1sSXNEaWdpdEdyb3VwPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Y29uc3QgPGEgaHJlZj0ibGlieG1sMi1jaHZhbGlkLmh0bWwjeG1sQ2hSYW5nZUdyb3VwIj54bWxDaFJhbmdlR3JvdXA8L2E+IHhtbElzRGlnaXRHcm91cDsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxJc0V4dGVuZGVyR3JvdXAiPlZhcmlhYmxlIDwvYT54bWxJc0V4dGVuZGVyR3JvdXA8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5jb25zdCA8YSBocmVmPSJsaWJ4bWwyLWNodmFsaWQuaHRtbCN4bWxDaFJhbmdlR3JvdXAiPnhtbENoUmFuZ2VHcm91cDwvYT4geG1sSXNFeHRlbmRlckdyb3VwOworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbElzSWRlb2dyYXBoaWNHcm91cCI+VmFyaWFibGUgPC9hPnhtbElzSWRlb2dyYXBoaWNHcm91cDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmNvbnN0IDxhIGhyZWY9ImxpYnhtbDItY2h2YWxpZC5odG1sI3htbENoUmFuZ2VHcm91cCI+eG1sQ2hSYW5nZUdyb3VwPC9hPiB4bWxJc0lkZW9ncmFwaGljR3JvdXA7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sSXNQdWJpZENoYXJfdGFiIj5WYXJpYWJsZSA8L2E+eG1sSXNQdWJpZENoYXJfdGFiPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Y29uc3QgdW5zaWduZWQgY2hhcnhtbElzUHViaWRDaGFyX3RhYlsyNTZdIHhtbElzUHViaWRDaGFyX3RhYjsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxDaGFySW5SYW5nZSIvPnhtbENoYXJJblJhbmdlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbENoYXJJblJhbmdlCQkJKHVuc2lnbmVkIGludCB2YWwsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi1jaHZhbGlkLmh0bWwjeG1sQ2hSYW5nZUdyb3VwIj54bWxDaFJhbmdlR3JvdXA8L2E+ICogcnB0cik8YnIvPgorPC9wcmU+PHA+RG9lcyBhIGJpbmFyeSBzZWFyY2ggb2YgdGhlIHJhbmdlIHRhYmxlIHRvIGRldGVybWluZSBpZiBjaGFyIGlzIHZhbGlkPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmNoYXJhY3RlciB0byBiZSB2YWxpZGF0ZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJwdHI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnBvaW50ZXIgdG8gcmFuZ2UgdG8gYmUgdXNlZCB0byB2YWxpZGF0ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dHJ1ZSBpZiBjaGFyYWN0ZXIgdmFsaWQsIGZhbHNlIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbElzQmFzZUNoYXIiLz54bWxJc0Jhc2VDaGFyICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbElzQmFzZUNoYXIJCQkodW5zaWduZWQgaW50IGNoKTxici8+Cis8L3ByZT48cD5UaGlzIGZ1bmN0aW9uIGlzIERFUFJFQ0FURUQuIFVzZSA8YSBocmVmPSJsaWJ4bWwyLWNodmFsaWQuaHRtbCN4bWxJc0Jhc2VDaGFyX2NoIj54bWxJc0Jhc2VDaGFyX2NoPC9hPiBvciA8YSBocmVmPSJsaWJ4bWwyLWNodmFsaWQuaHRtbCN4bWxJc0Jhc2VDaGFyUSI+eG1sSXNCYXNlQ2hhclE8L2E+IGluc3RlYWQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNoPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5jaGFyYWN0ZXIgdG8gdmFsaWRhdGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRydWUgaWYgYXJndW1lbnQgdmFsaWQsIGZhbHNlIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbElzQmxhbmsiLz54bWxJc0JsYW5rICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbElzQmxhbmsJCQkodW5zaWduZWQgaW50IGNoKTxici8+Cis8L3ByZT48cD5UaGlzIGZ1bmN0aW9uIGlzIERFUFJFQ0FURUQuIFVzZSA8YSBocmVmPSJsaWJ4bWwyLWNodmFsaWQuaHRtbCN4bWxJc0JsYW5rX2NoIj54bWxJc0JsYW5rX2NoPC9hPiBvciA8YSBocmVmPSJsaWJ4bWwyLWNodmFsaWQuaHRtbCN4bWxJc0JsYW5rUSI+eG1sSXNCbGFua1E8L2E+IGluc3RlYWQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNoPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5jaGFyYWN0ZXIgdG8gdmFsaWRhdGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRydWUgaWYgYXJndW1lbnQgdmFsaWQsIGZhbHNlIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbElzQ2hhciIvPnhtbElzQ2hhciAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxJc0NoYXIJCQkodW5zaWduZWQgaW50IGNoKTxici8+Cis8L3ByZT48cD5UaGlzIGZ1bmN0aW9uIGlzIERFUFJFQ0FURUQuIFVzZSA8YSBocmVmPSJsaWJ4bWwyLWNodmFsaWQuaHRtbCN4bWxJc0NoYXJfY2giPnhtbElzQ2hhcl9jaDwvYT4gb3IgPGEgaHJlZj0ibGlieG1sMi1jaHZhbGlkLmh0bWwjeG1sSXNDaGFyUSI+eG1sSXNDaGFyUTwvYT4gaW5zdGVhZDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y2g8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmNoYXJhY3RlciB0byB2YWxpZGF0ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dHJ1ZSBpZiBhcmd1bWVudCB2YWxpZCwgZmFsc2Ugb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sSXNDb21iaW5pbmciLz54bWxJc0NvbWJpbmluZyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxJc0NvbWJpbmluZwkJCSh1bnNpZ25lZCBpbnQgY2gpPGJyLz4KKzwvcHJlPjxwPlRoaXMgZnVuY3Rpb24gaXMgREVQUkVDQVRFRC4gVXNlIDxhIGhyZWY9ImxpYnhtbDItY2h2YWxpZC5odG1sI3htbElzQ29tYmluaW5nUSI+eG1sSXNDb21iaW5pbmdRPC9hPiBpbnN0ZWFkPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jaDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+Y2hhcmFjdGVyIHRvIHZhbGlkYXRlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50cnVlIGlmIGFyZ3VtZW50IHZhbGlkLCBmYWxzZSBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxJc0RpZ2l0Ii8+eG1sSXNEaWdpdCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxJc0RpZ2l0CQkJKHVuc2lnbmVkIGludCBjaCk8YnIvPgorPC9wcmU+PHA+VGhpcyBmdW5jdGlvbiBpcyBERVBSRUNBVEVELiBVc2UgPGEgaHJlZj0ibGlieG1sMi1jaHZhbGlkLmh0bWwjeG1sSXNEaWdpdF9jaCI+eG1sSXNEaWdpdF9jaDwvYT4gb3IgPGEgaHJlZj0ibGlieG1sMi1jaHZhbGlkLmh0bWwjeG1sSXNEaWdpdFEiPnhtbElzRGlnaXRRPC9hPiBpbnN0ZWFkPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jaDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+Y2hhcmFjdGVyIHRvIHZhbGlkYXRlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50cnVlIGlmIGFyZ3VtZW50IHZhbGlkLCBmYWxzZSBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxJc0V4dGVuZGVyIi8+eG1sSXNFeHRlbmRlciAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxJc0V4dGVuZGVyCQkJKHVuc2lnbmVkIGludCBjaCk8YnIvPgorPC9wcmU+PHA+VGhpcyBmdW5jdGlvbiBpcyBERVBSRUNBVEVELiBVc2UgPGEgaHJlZj0ibGlieG1sMi1jaHZhbGlkLmh0bWwjeG1sSXNFeHRlbmRlcl9jaCI+eG1sSXNFeHRlbmRlcl9jaDwvYT4gb3IgPGEgaHJlZj0ibGlieG1sMi1jaHZhbGlkLmh0bWwjeG1sSXNFeHRlbmRlclEiPnhtbElzRXh0ZW5kZXJRPC9hPiBpbnN0ZWFkPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jaDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+Y2hhcmFjdGVyIHRvIHZhbGlkYXRlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50cnVlIGlmIGFyZ3VtZW50IHZhbGlkLCBmYWxzZSBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxJc0lkZW9ncmFwaGljIi8+eG1sSXNJZGVvZ3JhcGhpYyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxJc0lkZW9ncmFwaGljCQkodW5zaWduZWQgaW50IGNoKTxici8+Cis8L3ByZT48cD5UaGlzIGZ1bmN0aW9uIGlzIERFUFJFQ0FURUQuIFVzZSA8YSBocmVmPSJsaWJ4bWwyLWNodmFsaWQuaHRtbCN4bWxJc0lkZW9ncmFwaGljUSI+eG1sSXNJZGVvZ3JhcGhpY1E8L2E+IGluc3RlYWQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNoPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5jaGFyYWN0ZXIgdG8gdmFsaWRhdGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRydWUgaWYgYXJndW1lbnQgdmFsaWQsIGZhbHNlIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbElzUHViaWRDaGFyIi8+eG1sSXNQdWJpZENoYXIgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sSXNQdWJpZENoYXIJCQkodW5zaWduZWQgaW50IGNoKTxici8+Cis8L3ByZT48cD5UaGlzIGZ1bmN0aW9uIGlzIERFUFJFQ0FURUQuIFVzZSA8YSBocmVmPSJsaWJ4bWwyLWNodmFsaWQuaHRtbCN4bWxJc1B1YmlkQ2hhcl9jaCI+eG1sSXNQdWJpZENoYXJfY2g8L2E+IG9yIDxhIGhyZWY9ImxpYnhtbDItY2h2YWxpZC5odG1sI3htbElzUHViaWRDaGFyUSI+eG1sSXNQdWJpZENoYXJRPC9hPiBpbnN0ZWFkPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jaDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+Y2hhcmFjdGVyIHRvIHZhbGlkYXRlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50cnVlIGlmIGFyZ3VtZW50IHZhbGlkLCBmYWxzZSBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgPC9kaXY+CisgICAgPC9kaXY+CisgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2RldmhlbHAvbGlieG1sMi1kZWJ1Z1hNTC5odG1sIGIvbGlieG1sMi9kb2MvZGV2aGVscC9saWJ4bWwyLWRlYnVnWE1MLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDA1NDFjZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL2RldmhlbHAvbGlieG1sMi1kZWJ1Z1hNTC5odG1sCkBAIC0wLDAgKzEsMjI1IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPGh0bWw+CisgIDxoZWFkPgorICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ii8+CisgICAgPHRpdGxlPmRlYnVnWE1MOiBUcmVlIGRlYnVnZ2luZyBBUElzPC90aXRsZT4KKyAgICA8bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9IkxpYnhtbDIgZGV2aGVscCBzdHlsZXNoZWV0Ii8+CisgICAgPGxpbmsgcmVsPSJzdGFydCIgaHJlZj0iaW5kZXguaHRtbCIgdGl0bGU9ImxpYnhtbDIgUmVmZXJlbmNlIE1hbnVhbCIvPgorICAgIDxsaW5rIHJlbD0idXAiIGhyZWY9ImdlbmVyYWwuaHRtbCIgdGl0bGU9IkFQSSIvPgorICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0ic3R5bGUuY3NzIiB0eXBlPSJ0ZXh0L2NzcyIvPgorICAgIDxsaW5rIHJlbD0iY2hhcHRlciIgaHJlZj0iZ2VuZXJhbC5odG1sIiB0aXRsZT0iQVBJIi8+CisgIDwvaGVhZD4KKyAgPGJvZHkgYmdjb2xvcj0id2hpdGUiIHRleHQ9ImJsYWNrIiBsaW5rPSIjMDAwMEZGIiB2bGluaz0iIzg0MDA4NCIgYWxpbms9IiMwMDAwRkYiPgorICAgIDx0YWJsZSBjbGFzcz0ibmF2aWdhdGlvbiIgd2lkdGg9IjEwMCUiIHN1bW1hcnk9Ik5hdmlnYXRpb24gaGVhZGVyIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjIiPgorICAgICAgPHRyIHZhbGlnbj0ibWlkZGxlIj4KKyAgICAgICAgPHRkPgorICAgICAgICAgIDxhIGFjY2Vzc2tleT0icCIgaHJlZj0ibGlieG1sMi1jaHZhbGlkLmh0bWwiPgorICAgICAgICAgICAgPGltZyBzcmM9ImxlZnQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJQcmV2Ii8+CisgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGQ+CisgICAgICAgICAgPGEgYWNjZXNza2V5PSJ1IiBocmVmPSJnZW5lcmFsLmh0bWwiPgorICAgICAgICAgICAgPGltZyBzcmM9InVwLnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iVXAiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9ImgiIGhyZWY9ImluZGV4Lmh0bWwiPgorICAgICAgICAgICAgPGltZyBzcmM9ImhvbWUucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJIb21lIi8+CisgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGQ+CisgICAgICAgICAgPGEgYWNjZXNza2V5PSJuIiBocmVmPSJsaWJ4bWwyLWRpY3QuaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0icmlnaHQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJOZXh0Ii8+CisgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGggd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPmxpYnhtbDIgUmVmZXJlbmNlIE1hbnVhbDwvdGg+CisgICAgICA8L3RyPgorICAgIDwvdGFibGU+CisgICAgPGgyPgorICAgICAgPHNwYW4gY2xhc3M9InJlZmVudHJ5dGl0bGUiPmRlYnVnWE1MPC9zcGFuPgorICAgIDwvaDI+CisgICAgPHA+ZGVidWdYTUwgLSBUcmVlIGRlYnVnZ2luZyBBUElzPC9wPgorICAgIDxwPkludGVyZmFjZXMgdG8gYSBzZXQgb2Ygcm91dGluZXMgdXNlZCBmb3IgZGVidWdnaW5nIHRoZSB0cmVlIHByb2R1Y2VkIGJ5IHRoZSBYTUwgcGFyc2VyLiA8L3A+CisgICAgPHA+QXV0aG9yKHMpOiBEYW5pZWwgVmVpbGxhcmQgPC9wPgorICAgIDxkaXYgY2xhc3M9InJlZnN5bm9wc2lzZGl2Ij4KKyAgICAgIDxoMj5TeW5vcHNpczwvaDI+CisgICAgICA8cHJlIGNsYXNzPSJzeW5vcHNpcyI+dHlwZWRlZiBzdHJ1Y3QgX3htbFNoZWxsQ3R4dCA8YSBocmVmPSIjeG1sU2hlbGxDdHh0Ij54bWxTaGVsbEN0eHQ8L2E+OwordHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwyLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxDdHh0Ij54bWxTaGVsbEN0eHQ8L2E+ICogPGEgaHJlZj0iI3htbFNoZWxsQ3R4dFB0ciI+eG1sU2hlbGxDdHh0UHRyPC9hPjsKK3ZvaWQJPGEgaHJlZj0iI3htbERlYnVnRHVtcEF0dHJMaXN0Ij54bWxEZWJ1Z0R1bXBBdHRyTGlzdDwvYT4JCShGSUxFICogb3V0cHV0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEF0dHJQdHIiPnhtbEF0dHJQdHI8L2E+IGF0dHIsIDxici8+CQkJCQkgaW50IGRlcHRoKTsKK3ZvaWQJPGEgaHJlZj0iI3htbExzT25lTm9kZSI+eG1sTHNPbmVOb2RlPC9hPgkJCShGSUxFICogb3V0cHV0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUpOwordHlwZWRlZiBjaGFyICogPGEgaHJlZj0iI3htbFNoZWxsUmVhZGxpbmVGdW5jIj54bWxTaGVsbFJlYWRsaW5lRnVuYzwvYT4JCShjaGFyICogcHJvbXB0KTsKK2ludAk8YSBocmVmPSIjeG1sU2hlbGxTYXZlIj54bWxTaGVsbFNhdmU8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbDItZGVidWdYTUwuaHRtbCN4bWxTaGVsbEN0eHRQdHIiPnhtbFNoZWxsQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSBjaGFyICogZmlsZW5hbWUsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlMik7Citjb25zdCBjaGFyICoJPGEgaHJlZj0iI3htbEJvb2xUb1RleHQiPnhtbEJvb2xUb1RleHQ8L2E+CQkoaW50IGJvb2x2YWwpOworaW50CTxhIGhyZWY9IiN4bWxTaGVsbFdyaXRlIj54bWxTaGVsbFdyaXRlPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwyLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxDdHh0UHRyIj54bWxTaGVsbEN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgY2hhciAqIGZpbGVuYW1lLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZTIpOworaW50CTxhIGhyZWY9IiN4bWxTaGVsbER1Ij54bWxTaGVsbER1PC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwyLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxDdHh0UHRyIj54bWxTaGVsbEN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgY2hhciAqIGFyZywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiB0cmVlLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUyKTsKK2ludAk8YSBocmVmPSIjeG1sU2hlbGxWYWxpZGF0ZSI+eG1sU2hlbGxWYWxpZGF0ZTwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxDdHh0UHRyIj54bWxTaGVsbEN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgY2hhciAqIGR0ZCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUyKTsKK2ludAk8YSBocmVmPSIjeG1sRGVidWdDaGVja0RvY3VtZW50Ij54bWxEZWJ1Z0NoZWNrRG9jdW1lbnQ8L2E+CQkoRklMRSAqIG91dHB1dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jKTsKK3ZvaWQJPGEgaHJlZj0iI3htbFNoZWxsUHJpbnRYUGF0aFJlc3VsdCI+eG1sU2hlbGxQcmludFhQYXRoUmVzdWx0PC9hPgkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4gbGlzdCk7Cit0eXBlZGVmIGludCA8YSBocmVmPSIjeG1sU2hlbGxDbWQiPnhtbFNoZWxsQ21kPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwyLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxDdHh0UHRyIj54bWxTaGVsbEN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgY2hhciAqIGFyZywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUyKTsKK2ludAk8YSBocmVmPSIjeG1sU2hlbGxMb2FkIj54bWxTaGVsbExvYWQ8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbDItZGVidWdYTUwuaHRtbCN4bWxTaGVsbEN0eHRQdHIiPnhtbFNoZWxsQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSBjaGFyICogZmlsZW5hbWUsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlMik7Cit2b2lkCTxhIGhyZWY9IiN4bWxEZWJ1Z0R1bXBTdHJpbmciPnhtbERlYnVnRHVtcFN0cmluZzwvYT4JCShGSUxFICogb3V0cHV0LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzdHIpOworaW50CTxhIGhyZWY9IiN4bWxTaGVsbEJhc2UiPnhtbFNoZWxsQmFzZTwvYT4JCQkoPGEgaHJlZj0ibGlieG1sMi1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsQ3R4dFB0ciI+eG1sU2hlbGxDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIGNoYXIgKiBhcmcsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlMik7CitpbnQJPGEgaHJlZj0iI3htbFNoZWxsQ2F0Ij54bWxTaGVsbENhdDwvYT4JCQkoPGEgaHJlZj0ibGlieG1sMi1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsQ3R4dFB0ciI+eG1sU2hlbGxDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIGNoYXIgKiBhcmcsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlMik7Cit2b2lkCTxhIGhyZWY9IiN4bWxEZWJ1Z0R1bXBEVEQiPnhtbERlYnVnRHVtcERURDwvYT4JCQkoRklMRSAqIG91dHB1dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEdGRQdHIiPnhtbER0ZFB0cjwvYT4gZHRkKTsKK3ZvaWQJPGEgaHJlZj0iI3htbERlYnVnRHVtcE5vZGUiPnhtbERlYnVnRHVtcE5vZGU8L2E+CQkoRklMRSAqIG91dHB1dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlLCA8YnIvPgkJCQkJIGludCBkZXB0aCk7Cit2b2lkCTxhIGhyZWY9IiN4bWxEZWJ1Z0R1bXBFbnRpdGllcyI+eG1sRGVidWdEdW1wRW50aXRpZXM8L2E+CQkoRklMRSAqIG91dHB1dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jKTsKK3ZvaWQJPGEgaHJlZj0iI3htbFNoZWxsUHJpbnROb2RlIj54bWxTaGVsbFByaW50Tm9kZTwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlKTsKK2ludAk8YSBocmVmPSIjeG1sU2hlbGxQd2QiPnhtbFNoZWxsUHdkPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwyLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxDdHh0UHRyIj54bWxTaGVsbEN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgY2hhciAqIGJ1ZmZlciwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUyKTsKK3ZvaWQJPGEgaHJlZj0iI3htbERlYnVnRHVtcE5vZGVMaXN0Ij54bWxEZWJ1Z0R1bXBOb2RlTGlzdDwvYT4JCShGSUxFICogb3V0cHV0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsIDxici8+CQkJCQkgaW50IGRlcHRoKTsKK3ZvaWQJPGEgaHJlZj0iI3htbERlYnVnRHVtcEF0dHIiPnhtbERlYnVnRHVtcEF0dHI8L2E+CQkoRklMRSAqIG91dHB1dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxBdHRyUHRyIj54bWxBdHRyUHRyPC9hPiBhdHRyLCA8YnIvPgkJCQkJIGludCBkZXB0aCk7Cit2b2lkCTxhIGhyZWY9IiN4bWxEZWJ1Z0R1bXBEb2N1bWVudCI+eG1sRGVidWdEdW1wRG9jdW1lbnQ8L2E+CQkoRklMRSAqIG91dHB1dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jKTsKK2ludAk8YSBocmVmPSIjeG1sTHNDb3VudE5vZGUiPnhtbExzQ291bnROb2RlPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlKTsKK3ZvaWQJPGEgaHJlZj0iI3htbFNoZWxsUHJpbnRYUGF0aEVycm9yIj54bWxTaGVsbFByaW50WFBhdGhFcnJvcjwvYT4JCShpbnQgZXJyb3JUeXBlLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBhcmcpOworaW50CTxhIGhyZWY9IiN4bWxTaGVsbERpciI+eG1sU2hlbGxEaXI8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbDItZGVidWdYTUwuaHRtbCN4bWxTaGVsbEN0eHRQdHIiPnhtbFNoZWxsQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSBjaGFyICogYXJnLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZTIpOwordm9pZAk8YSBocmVmPSIjeG1sRGVidWdEdW1wT25lTm9kZSI+eG1sRGVidWdEdW1wT25lTm9kZTwvYT4JCShGSUxFICogb3V0cHV0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsIDxici8+CQkJCQkgaW50IGRlcHRoKTsKK2ludAk8YSBocmVmPSIjeG1sU2hlbGxMaXN0Ij54bWxTaGVsbExpc3Q8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbDItZGVidWdYTUwuaHRtbCN4bWxTaGVsbEN0eHRQdHIiPnhtbFNoZWxsQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSBjaGFyICogYXJnLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZTIpOwordm9pZAk8YSBocmVmPSIjeG1sRGVidWdEdW1wRG9jdW1lbnRIZWFkIj54bWxEZWJ1Z0R1bXBEb2N1bWVudEhlYWQ8L2E+CShGSUxFICogb3V0cHV0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MpOwordm9pZAk8YSBocmVmPSIjeG1sU2hlbGwiPnhtbFNoZWxsPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIvPgkJCQkJIGNoYXIgKiBmaWxlbmFtZSwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxSZWFkbGluZUZ1bmMiPnhtbFNoZWxsUmVhZGxpbmVGdW5jPC9hPiBpbnB1dCwgPGJyLz4JCQkJCSBGSUxFICogb3V0cHV0KTsKKzwvcHJlPgorICAgIDwvZGl2PgorICAgIDxkaXYgY2xhc3M9InJlZnNlY3QxIiBsYW5nPSJlbiI+CisgICAgICA8aDI+RGVzY3JpcHRpb248L2gyPgorICAgIDwvZGl2PgorICAgIDxkaXYgY2xhc3M9InJlZnNlY3QxIiBsYW5nPSJlbiI+CisgICAgICA8aDI+RGV0YWlsczwvaDI+CisgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTaGVsbEN0eHQiPlN0cnVjdHVyZSA8L2E+eG1sU2hlbGxDdHh0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+c3RydWN0IF94bWxTaGVsbEN0eHQgeworICAgIGNoYXIgKglmaWxlbmFtZQorICAgIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPglkb2MKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPglub2RlCisgICAgPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFB0ciI+eG1sWFBhdGhDb250ZXh0UHRyPC9hPglwY3R4dAorICAgIGludAlsb2FkZWQKKyAgICBGSUxFICoJb3V0cHV0CisgICAgPGEgaHJlZj0ibGlieG1sMi1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsUmVhZGxpbmVGdW5jIj54bWxTaGVsbFJlYWRsaW5lRnVuYzwvYT4JaW5wdXQKK30geG1sU2hlbGxDdHh0OworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNoZWxsQ3R4dFB0ciI+VHlwZWRlZiA8L2E+eG1sU2hlbGxDdHh0UHRyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsQ3R4dCI+eG1sU2hlbGxDdHh0PC9hPiAqIHhtbFNoZWxsQ3R4dFB0cjsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTaGVsbENtZCIvPkZ1bmN0aW9uIHR5cGUgeG1sU2hlbGxDbWQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sU2hlbGxDbWQJCQkoPGEgaHJlZj0ibGlieG1sMi1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsQ3R4dFB0ciI+eG1sU2hlbGxDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIGNoYXIgKiBhcmcsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlMik8YnIvPgorPC9wcmU+PHA+VGhpcyBpcyBhIGdlbmVyaWMgc2lnbmF0dXJlIGZvciB0aGUgWE1MIHNoZWxsIGZ1bmN0aW9ucy48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgc2hlbGwgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YXJnPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHN0cmluZyBhcmd1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBmaXJzdCBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlMjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBzZWNvbmQgbm9kZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gaW50LCBuZWdhdGl2ZSByZXR1cm5zIGluZGljYXRpbmcgZXJyb3JzLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNoZWxsUmVhZGxpbmVGdW5jIi8+RnVuY3Rpb24gdHlwZSB4bWxTaGVsbFJlYWRsaW5lRnVuYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmNoYXIgKgl4bWxTaGVsbFJlYWRsaW5lRnVuYwkJKGNoYXIgKiBwcm9tcHQpPGJyLz4KKzwvcHJlPjxwPlRoaXMgaXMgYSBnZW5lcmljIHNpZ25hdHVyZSBmb3IgdGhlIFhNTCBzaGVsbCBpbnB1dCBmdW5jdGlvbi48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnByb21wdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBzdHJpbmcgcHJvbXB0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHN0cmluZyB3aGljaCB3aWxsIGJlIGZyZWVkIGJ5IHRoZSBTaGVsbC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxCb29sVG9UZXh0Ii8+eG1sQm9vbFRvVGV4dCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmNvbnN0IGNoYXIgKgl4bWxCb29sVG9UZXh0CQkoaW50IGJvb2x2YWwpPGJyLz4KKzwvcHJlPjxwPkNvbnZlbmllbnQgd2F5IHRvIHR1cm4gYm9vbCBpbnRvIHRleHQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmJvb2x2YWw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgYm9vbCB0byB0dXJuIGludG8gdGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIGVpdGhlciAiVHJ1ZSIgb3IgIkZhbHNlIjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbERlYnVnQ2hlY2tEb2N1bWVudCIvPnhtbERlYnVnQ2hlY2tEb2N1bWVudCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxEZWJ1Z0NoZWNrRG9jdW1lbnQJCShGSUxFICogb3V0cHV0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MpPGJyLz4KKzwvcHJlPjxwPkNoZWNrIHRoZSBkb2N1bWVudCBmb3IgcG90ZW50aWFsIGNvbnRlbnQgcHJvYmxlbXMsIGFuZCBvdXRwdXQgdGhlIGVycm9ycyB0byBAb3V0cHV0PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vdXRwdXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBGSUxFICogZm9yIHRoZSBvdXRwdXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGVycm9ycyBmb3VuZDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbERlYnVnRHVtcEF0dHIiLz54bWxEZWJ1Z0R1bXBBdHRyICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxEZWJ1Z0R1bXBBdHRyCQkoRklMRSAqIG91dHB1dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxBdHRyUHRyIj54bWxBdHRyUHRyPC9hPiBhdHRyLCA8YnIvPgkJCQkJIGludCBkZXB0aCk8YnIvPgorPC9wcmU+PHA+RHVtcHMgZGVidWcgaW5mb3JtYXRpb24gZm9yIHRoZSA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3V0cHV0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgRklMRSAqIGZvciB0aGUgb3V0cHV0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5hdHRyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRlcHRoPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaW5kZW50YXRpb24gbGV2ZWwuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sRGVidWdEdW1wQXR0ckxpc3QiLz54bWxEZWJ1Z0R1bXBBdHRyTGlzdCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sRGVidWdEdW1wQXR0ckxpc3QJCShGSUxFICogb3V0cHV0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEF0dHJQdHIiPnhtbEF0dHJQdHI8L2E+IGF0dHIsIDxici8+CQkJCQkgaW50IGRlcHRoKTxici8+Cis8L3ByZT48cD5EdW1wcyBkZWJ1ZyBpbmZvcm1hdGlvbiBmb3IgdGhlIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IGxpc3Q8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm91dHB1dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIEZJTEUgKiBmb3IgdGhlIG91dHB1dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YXR0cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IGxpc3Q8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRlcHRoPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaW5kZW50YXRpb24gbGV2ZWwuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sRGVidWdEdW1wRFREIi8+eG1sRGVidWdEdW1wRFREICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxEZWJ1Z0R1bXBEVEQJCQkoRklMRSAqIG91dHB1dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEdGRQdHIiPnhtbER0ZFB0cjwvYT4gZHRkKTxici8+Cis8L3ByZT48cD5EdW1wcyBkZWJ1ZyBpbmZvcm1hdGlvbiBmb3IgdGhlIERURDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3V0cHV0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgRklMRSAqIGZvciB0aGUgb3V0cHV0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kdGQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBEVEQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxEZWJ1Z0R1bXBEb2N1bWVudCIvPnhtbERlYnVnRHVtcERvY3VtZW50ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxEZWJ1Z0R1bXBEb2N1bWVudAkJKEZJTEUgKiBvdXRwdXQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYyk8YnIvPgorPC9wcmU+PHA+RHVtcHMgZGVidWcgaW5mb3JtYXRpb24gZm9yIHRoZSBkb2N1bWVudCwgaXQncyByZWN1cnNpdmU8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm91dHB1dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIEZJTEUgKiBmb3IgdGhlIG91dHB1dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxEZWJ1Z0R1bXBEb2N1bWVudEhlYWQiLz54bWxEZWJ1Z0R1bXBEb2N1bWVudEhlYWQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbERlYnVnRHVtcERvY3VtZW50SGVhZAkoRklMRSAqIG91dHB1dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jKTxici8+Cis8L3ByZT48cD5EdW1wcyBkZWJ1ZyBpbmZvcm1hdGlvbiBjbmNlcm5pbmcgdGhlIGRvY3VtZW50LCBub3QgcmVjdXJzaXZlPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vdXRwdXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBGSUxFICogZm9yIHRoZSBvdXRwdXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sRGVidWdEdW1wRW50aXRpZXMiLz54bWxEZWJ1Z0R1bXBFbnRpdGllcyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sRGVidWdEdW1wRW50aXRpZXMJCShGSUxFICogb3V0cHV0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MpPGJyLz4KKzwvcHJlPjxwPkR1bXBzIGRlYnVnIGluZm9ybWF0aW9uIGZvciBhbGwgdGhlIGVudGl0aWVzIGluIHVzZSBieSB0aGUgZG9jdW1lbnQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm91dHB1dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIEZJTEUgKiBmb3IgdGhlIG91dHB1dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxEZWJ1Z0R1bXBOb2RlIi8+eG1sRGVidWdEdW1wTm9kZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sRGVidWdEdW1wTm9kZQkJKEZJTEUgKiBvdXRwdXQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSwgPGJyLz4JCQkJCSBpbnQgZGVwdGgpPGJyLz4KKzwvcHJlPjxwPkR1bXBzIGRlYnVnIGluZm9ybWF0aW9uIGZvciB0aGUgZWxlbWVudCBub2RlLCBpdCBpcyByZWN1cnNpdmU8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm91dHB1dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIEZJTEUgKiBmb3IgdGhlIG91dHB1dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vZGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRlcHRoPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaW5kZW50YXRpb24gbGV2ZWwuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sRGVidWdEdW1wTm9kZUxpc3QiLz54bWxEZWJ1Z0R1bXBOb2RlTGlzdCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sRGVidWdEdW1wTm9kZUxpc3QJCShGSUxFICogb3V0cHV0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsIDxici8+CQkJCQkgaW50IGRlcHRoKTxici8+Cis8L3ByZT48cD5EdW1wcyBkZWJ1ZyBpbmZvcm1hdGlvbiBmb3IgdGhlIGxpc3Qgb2YgZWxlbWVudCBub2RlLCBpdCBpcyByZWN1cnNpdmU8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm91dHB1dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIEZJTEUgKiBmb3IgdGhlIG91dHB1dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vZGUgbGlzdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGVwdGg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBpbmRlbnRhdGlvbiBsZXZlbC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxEZWJ1Z0R1bXBPbmVOb2RlIi8+eG1sRGVidWdEdW1wT25lTm9kZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sRGVidWdEdW1wT25lTm9kZQkJKEZJTEUgKiBvdXRwdXQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSwgPGJyLz4JCQkJCSBpbnQgZGVwdGgpPGJyLz4KKzwvcHJlPjxwPkR1bXBzIGRlYnVnIGluZm9ybWF0aW9uIGZvciB0aGUgZWxlbWVudCBub2RlLCBpdCBpcyBub3QgcmVjdXJzaXZlPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vdXRwdXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBGSUxFICogZm9yIHRoZSBvdXRwdXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kZXB0aDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGluZGVudGF0aW9uIGxldmVsLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbERlYnVnRHVtcFN0cmluZyIvPnhtbERlYnVnRHVtcFN0cmluZyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sRGVidWdEdW1wU3RyaW5nCQkoRklMRSAqIG91dHB1dCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3RyKTxici8+Cis8L3ByZT48cD5EdW1wcyBpbmZvcm1hdGlvbnMgYWJvdXQgdGhlIHN0cmluZywgc2hvcnRlbiBpdCBpZiBuZWNlc3Nhcnk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm91dHB1dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIEZJTEUgKiBmb3IgdGhlIG91dHB1dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3RyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc3RyaW5nPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTHNDb3VudE5vZGUiLz54bWxMc0NvdW50Tm9kZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxMc0NvdW50Tm9kZQkJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlKTxici8+Cis8L3ByZT48cD5Db3VudCB0aGUgY2hpbGRyZW4gb2YgQG5vZGUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbm9kZSB0byBjb3VudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBjaGlsZHJlbiBvZiBAbm9kZS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxMc09uZU5vZGUiLz54bWxMc09uZU5vZGUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbExzT25lTm9kZQkJCShGSUxFICogb3V0cHV0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUpPGJyLz4KKzwvcHJlPjxwPkR1bXAgdG8gQG91dHB1dCB0aGUgdHlwZSBhbmQgbmFtZSBvZiBAbm9kZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm91dHB1dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIEZJTEUgKiBmb3IgdGhlIG91dHB1dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vZGUgdG8gZHVtcDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNoZWxsIi8+eG1sU2hlbGwgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFNoZWxsCQkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxici8+CQkJCQkgY2hhciAqIGZpbGVuYW1lLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItZGVidWdYTUwuaHRtbCN4bWxTaGVsbFJlYWRsaW5lRnVuYyI+eG1sU2hlbGxSZWFkbGluZUZ1bmM8L2E+IGlucHV0LCA8YnIvPgkJCQkJIEZJTEUgKiBvdXRwdXQpPGJyLz4KKzwvcHJlPjxwPkltcGxlbWVudHMgdGhlIFhNTCBzaGVsbCBUaGlzIGFsbG93IHRvIGxvYWQsIHZhbGlkYXRlLCB2aWV3LCBtb2RpZnkgYW5kIHNhdmUgYSBkb2N1bWVudCB1c2luZyBhIGVudmlyb25tZW50IHNpbWlsYXIgdG8gYSBVTklYIGNvbW1hbmRsaW5lLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaW5pdGlhbCBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmlsZW5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBvdXRwdXQgYnVmZmVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pbnB1dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxpbmUgcmVhZGluZyBmdW5jdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3V0cHV0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgb3V0cHV0IEZJTEUqLCBkZWZhdWx0cyB0byBzdGRvdXQgaWYgTlVMTDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNoZWxsQmFzZSIvPnhtbFNoZWxsQmFzZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxTaGVsbEJhc2UJCQkoPGEgaHJlZj0ibGlieG1sMi1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsQ3R4dFB0ciI+eG1sU2hlbGxDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIGNoYXIgKiBhcmcsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlMik8YnIvPgorPC9wcmU+PHA+SW1wbGVtZW50cyB0aGUgWE1MIHNoZWxsIGZ1bmN0aW9uICJiYXNlIiBkdW1wcyB0aGUgY3VycmVudCBYTUwgYmFzZSBvZiB0aGUgbm9kZTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHNoZWxsIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmFyZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dW51c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIG5vZGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGUyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD51bnVzZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjA8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTaGVsbENhdCIvPnhtbFNoZWxsQ2F0ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFNoZWxsQ2F0CQkJKDxhIGhyZWY9ImxpYnhtbDItZGVidWdYTUwuaHRtbCN4bWxTaGVsbEN0eHRQdHIiPnhtbFNoZWxsQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSBjaGFyICogYXJnLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZTIpPGJyLz4KKzwvcHJlPjxwPkltcGxlbWVudHMgdGhlIFhNTCBzaGVsbCBmdW5jdGlvbiAiY2F0IiBkdW1wcyB0aGUgc2VyaWFsaXphdGlvbiBub2RlIGNvbnRlbnQgKFhNTCBvciBIVE1MKS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzaGVsbCBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5hcmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnVudXNlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlMjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dW51c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU2hlbGxEaXIiLz54bWxTaGVsbERpciAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxTaGVsbERpcgkJCSg8YSBocmVmPSJsaWJ4bWwyLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxDdHh0UHRyIj54bWxTaGVsbEN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgY2hhciAqIGFyZywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUyKTxici8+Cis8L3ByZT48cD5JbXBsZW1lbnRzIHRoZSBYTUwgc2hlbGwgZnVuY3Rpb24gImRpciIgZHVtcHMgaW5mb3JtYXRpb25zIGFib3V0IHRoZSBub2RlIChuYW1lc3BhY2UsIGF0dHJpYnV0ZXMsIGNvbnRlbnQpLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHNoZWxsIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmFyZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dW51c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIG5vZGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGUyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD51bnVzZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjA8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTaGVsbER1Ii8+eG1sU2hlbGxEdSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxTaGVsbER1CQkJKDxhIGhyZWY9ImxpYnhtbDItZGVidWdYTUwuaHRtbCN4bWxTaGVsbEN0eHRQdHIiPnhtbFNoZWxsQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSBjaGFyICogYXJnLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IHRyZWUsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZTIpPGJyLz4KKzwvcHJlPjxwPkltcGxlbWVudHMgdGhlIFhNTCBzaGVsbCBmdW5jdGlvbiAiZHUiIHNob3cgdGhlIHN0cnVjdHVyZSBvZiB0aGUgc3VidHJlZSB1bmRlciBub2RlIEB0cmVlIElmIEB0cmVlIGlzIG51bGwsIHRoZSBjb21tYW5kIHdvcmtzIG9uIHRoZSBjdXJyZW50IG5vZGUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc2hlbGwgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YXJnPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD51bnVzZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRyZWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbm9kZSBkZWZpbmluZyBhIHN1YnRyZWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGUyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD51bnVzZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNoZWxsTGlzdCIvPnhtbFNoZWxsTGlzdCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxTaGVsbExpc3QJCQkoPGEgaHJlZj0ibGlieG1sMi1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsQ3R4dFB0ciI+eG1sU2hlbGxDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIGNoYXIgKiBhcmcsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlMik8YnIvPgorPC9wcmU+PHA+SW1wbGVtZW50cyB0aGUgWE1MIHNoZWxsIGZ1bmN0aW9uICJscyIgRG9lcyBhbiBVbml4IGxpa2UgbGlzdGluZyBvZiB0aGUgZ2l2ZW4gbm9kZSAobGlrZSBhIGRpcmVjdG9yeSk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzaGVsbCBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5hcmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnVudXNlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlMjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dW51c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU2hlbGxMb2FkIi8+eG1sU2hlbGxMb2FkICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFNoZWxsTG9hZAkJCSg8YSBocmVmPSJsaWJ4bWwyLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxDdHh0UHRyIj54bWxTaGVsbEN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgY2hhciAqIGZpbGVuYW1lLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZTIpPGJyLz4KKzwvcHJlPjxwPkltcGxlbWVudHMgdGhlIFhNTCBzaGVsbCBmdW5jdGlvbiAibG9hZCIgbG9hZHMgYSBuZXcgZG9jdW1lbnQgc3BlY2lmaWVkIGJ5IHRoZSBmaWxlbmFtZTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHNoZWxsIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZpbGVuYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZmlsZSBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD51bnVzZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGUyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD51bnVzZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgb3IgLTEgaWYgbG9hZGluZyBmYWlsZWQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTaGVsbFByaW50Tm9kZSIvPnhtbFNoZWxsUHJpbnROb2RlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxTaGVsbFByaW50Tm9kZQkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUpPGJyLz4KKzwvcHJlPjxwPlByaW50IG5vZGUgdG8gdGhlIG91dHB1dCBGSUxFPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIG5vbi1udWxsIG5vZGUgdG8gcHJpbnQgdG8gdGhlIG91dHB1dCBGSUxFPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU2hlbGxQcmludFhQYXRoRXJyb3IiLz54bWxTaGVsbFByaW50WFBhdGhFcnJvciAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sU2hlbGxQcmludFhQYXRoRXJyb3IJCShpbnQgZXJyb3JUeXBlLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBhcmcpPGJyLz4KKzwvcHJlPjxwPlByaW50IHRoZSB4cGF0aCBlcnJvciB0byBsaWJ4bWwgZGVmYXVsdCBlcnJvciBjaGFubmVsPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lcnJvclR5cGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnZhbGlkIHhwYXRoIGVycm9yIGlkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5hcmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBhcmd1bWVudCB0aGF0IGNhdXNlIHhwYXRoIHRvIGZhaWw8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTaGVsbFByaW50WFBhdGhSZXN1bHQiLz54bWxTaGVsbFByaW50WFBhdGhSZXN1bHQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFNoZWxsUHJpbnRYUGF0aFJlc3VsdAkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4gbGlzdCk8YnIvPgorPC9wcmU+PHA+UHJpbnRzIHJlc3VsdCB0byB0aGUgb3V0cHV0IEZJTEU8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pmxpc3Q8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgdmFsaWQgcmVzdWx0IGdlbmVyYXRlZCBieSBhbiB4cGF0aCBldmFsdWF0aW9uPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU2hlbGxQd2QiLz54bWxTaGVsbFB3ZCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxTaGVsbFB3ZAkJCSg8YSBocmVmPSJsaWJ4bWwyLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxDdHh0UHRyIj54bWxTaGVsbEN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgY2hhciAqIGJ1ZmZlciwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUyKTxici8+Cis8L3ByZT48cD5JbXBsZW1lbnRzIHRoZSBYTUwgc2hlbGwgZnVuY3Rpb24gInB3ZCIgU2hvdyB0aGUgZnVsbCBwYXRoIGZyb20gdGhlIHJvb3QgdG8gdGhlIG5vZGUsIGlmIG5lZWRlZCBidWlsZGluZyB0aHVtYmxlcnMgd2hlbiBzaW1pbGFyIGVsZW1lbnRzIGV4aXN0cyBhdCBhIGdpdmVuIGFuY2VzdG9yIGxldmVsLiBUaGUgb3V0cHV0IGlzIGNvbXBhdGlibGUgd2l0aCBYUGF0aCBjb21tYW5kcy48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzaGVsbCBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5idWZmZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBvdXRwdXQgYnVmZmVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIG5vZGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGUyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD51bnVzZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNoZWxsU2F2ZSIvPnhtbFNoZWxsU2F2ZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxTaGVsbFNhdmUJCQkoPGEgaHJlZj0ibGlieG1sMi1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsQ3R4dFB0ciI+eG1sU2hlbGxDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIGNoYXIgKiBmaWxlbmFtZSwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUyKTxici8+Cis8L3ByZT48cD5JbXBsZW1lbnRzIHRoZSBYTUwgc2hlbGwgZnVuY3Rpb24gInNhdmUiIFdyaXRlIHRoZSBjdXJyZW50IGRvY3VtZW50IHRvIHRoZSBmaWxlbmFtZSwgb3IgaXQncyBvcmlnaW5hbCBuYW1lPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc2hlbGwgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmlsZW5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmaWxlIG5hbWUgKG9wdGlvbmFsKTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dW51c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlMjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dW51c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTaGVsbFZhbGlkYXRlIi8+eG1sU2hlbGxWYWxpZGF0ZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxTaGVsbFZhbGlkYXRlCQkoPGEgaHJlZj0ibGlieG1sMi1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsQ3R4dFB0ciI+eG1sU2hlbGxDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIGNoYXIgKiBkdGQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlMik8YnIvPgorPC9wcmU+PHA+SW1wbGVtZW50cyB0aGUgWE1MIHNoZWxsIGZ1bmN0aW9uICJ2YWxpZGF0ZSIgVmFsaWRhdGUgdGhlIGRvY3VtZW50LCBpZiBhIERURCBwYXRoIGlzIHByb3ZpZGVkLCB0aGVuIHRoZSB2YWxpZGF0aW9uIGlzIGRvbmUgYWdhaW5zdCB0aGUgZ2l2ZW4gRFRELjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHNoZWxsIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmR0ZDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIERURCBVUkkgKG9wdGlvbmFsKTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dW51c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlMjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dW51c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTaGVsbFdyaXRlIi8+eG1sU2hlbGxXcml0ZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxTaGVsbFdyaXRlCQkJKDxhIGhyZWY9ImxpYnhtbDItZGVidWdYTUwuaHRtbCN4bWxTaGVsbEN0eHRQdHIiPnhtbFNoZWxsQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSBjaGFyICogZmlsZW5hbWUsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlMik8YnIvPgorPC9wcmU+PHA+SW1wbGVtZW50cyB0aGUgWE1MIHNoZWxsIGZ1bmN0aW9uICJ3cml0ZSIgV3JpdGUgdGhlIGN1cnJlbnQgbm9kZSB0byB0aGUgZmlsZW5hbWUsIGl0IHNhdmVzIHRoZSBzZXJpYWxpemF0aW9uIG9mIHRoZSBzdWJ0cmVlIHVuZGVyIHRoZSBAbm9kZSBzcGVjaWZpZWQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzaGVsbCBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlbmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZpbGUgbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBub2RlIGluIHRoZSB0cmVlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlMjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dW51c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgPC9kaXY+CisgICAgPC9kaXY+CisgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2RldmhlbHAvbGlieG1sMi1kaWN0Lmh0bWwgYi9saWJ4bWwyL2RvYy9kZXZoZWxwL2xpYnhtbDItZGljdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZkNWY2YjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9kZXZoZWxwL2xpYnhtbDItZGljdC5odG1sCkBAIC0wLDAgKzEsMTM0IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPGh0bWw+CisgIDxoZWFkPgorICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ii8+CisgICAgPHRpdGxlPmRpY3Q6IHN0cmluZyBkaWN0aW9ubmFyeTwvdGl0bGU+CisgICAgPG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJMaWJ4bWwyIGRldmhlbHAgc3R5bGVzaGVldCIvPgorICAgIDxsaW5rIHJlbD0ic3RhcnQiIGhyZWY9ImluZGV4Lmh0bWwiIHRpdGxlPSJsaWJ4bWwyIFJlZmVyZW5jZSBNYW51YWwiLz4KKyAgICA8bGluayByZWw9InVwIiBocmVmPSJnZW5lcmFsLmh0bWwiIHRpdGxlPSJBUEkiLz4KKyAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9InN0eWxlLmNzcyIgdHlwZT0idGV4dC9jc3MiLz4KKyAgICA8bGluayByZWw9ImNoYXB0ZXIiIGhyZWY9ImdlbmVyYWwuaHRtbCIgdGl0bGU9IkFQSSIvPgorICA8L2hlYWQ+CisgIDxib2R5IGJnY29sb3I9IndoaXRlIiB0ZXh0PSJibGFjayIgbGluaz0iIzAwMDBGRiIgdmxpbms9IiM4NDAwODQiIGFsaW5rPSIjMDAwMEZGIj4KKyAgICA8dGFibGUgY2xhc3M9Im5hdmlnYXRpb24iIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIyIj4KKyAgICAgIDx0ciB2YWxpZ249Im1pZGRsZSI+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImxpYnhtbDItZGVidWdYTUwuaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0ibGVmdC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlByZXYiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9InUiIGhyZWY9ImdlbmVyYWwuaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0idXAucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJVcCIvPgorICAgICAgICAgIDwvYT4KKyAgICAgICAgPC90ZD4KKyAgICAgICAgPHRkPgorICAgICAgICAgIDxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iaW5kZXguaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0iaG9tZS5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IkhvbWUiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9Im4iIGhyZWY9ImxpYnhtbDItZW5jb2RpbmcuaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0icmlnaHQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJOZXh0Ii8+CisgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGggd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPmxpYnhtbDIgUmVmZXJlbmNlIE1hbnVhbDwvdGg+CisgICAgICA8L3RyPgorICAgIDwvdGFibGU+CisgICAgPGgyPgorICAgICAgPHNwYW4gY2xhc3M9InJlZmVudHJ5dGl0bGUiPmRpY3Q8L3NwYW4+CisgICAgPC9oMj4KKyAgICA8cD5kaWN0IC0gc3RyaW5nIGRpY3Rpb25uYXJ5PC9wPgorICAgIDxwPmRpY3Rpb25hcnkgb2YgcmV1c2FibGUgc3RyaW5ncywganVzdCB1c2VkIHRvIGF2b2lkIGFsbG9jYXRpb24gYW5kIGZyZWVpbmcgb3BlcmF0aW9ucy4gPC9wPgorICAgIDxwPkF1dGhvcihzKTogRGFuaWVsIFZlaWxsYXJkIDwvcD4KKyAgICA8ZGl2IGNsYXNzPSJyZWZzeW5vcHNpc2RpdiI+CisgICAgICA8aDI+U3lub3BzaXM8L2gyPgorICAgICAgPHByZSBjbGFzcz0ic3lub3BzaXMiPnR5cGVkZWYgc3RydWN0IF94bWxEaWN0IDxhIGhyZWY9IiN4bWxEaWN0Ij54bWxEaWN0PC9hPjsKK3R5cGVkZWYgPGEgaHJlZj0ibGlieG1sMi1kaWN0Lmh0bWwjeG1sRGljdCI+eG1sRGljdDwvYT4gKiA8YSBocmVmPSIjeG1sRGljdFB0ciI+eG1sRGljdFB0cjwvYT47CitzaXplX3QJPGEgaHJlZj0iI3htbERpY3RHZXRVc2FnZSI+eG1sRGljdEdldFVzYWdlPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwyLWRpY3QuaHRtbCN4bWxEaWN0UHRyIj54bWxEaWN0UHRyPC9hPiBkaWN0KTsKK2ludAk8YSBocmVmPSIjeG1sRGljdFJlZmVyZW5jZSI+eG1sRGljdFJlZmVyZW5jZTwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLWRpY3QuaHRtbCN4bWxEaWN0UHRyIj54bWxEaWN0UHRyPC9hPiBkaWN0KTsKK3ZvaWQJPGEgaHJlZj0iI3htbERpY3RDbGVhbnVwIj54bWxEaWN0Q2xlYW51cDwvYT4JCQkodm9pZCk7CitpbnQJPGEgaHJlZj0iI3htbERpY3RTaXplIj54bWxEaWN0U2l6ZTwvYT4JCQkoPGEgaHJlZj0ibGlieG1sMi1kaWN0Lmh0bWwjeG1sRGljdFB0ciI+eG1sRGljdFB0cjwvYT4gZGljdCk7Citjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbERpY3RFeGlzdHMiPnhtbERpY3RFeGlzdHM8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi1kaWN0Lmh0bWwjeG1sRGljdFB0ciI+eG1sRGljdFB0cjwvYT4gZGljdCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCSBpbnQgbGVuKTsKK3NpemVfdAk8YSBocmVmPSIjeG1sRGljdFNldExpbWl0Ij54bWxEaWN0U2V0TGltaXQ8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbDItZGljdC5odG1sI3htbERpY3RQdHIiPnhtbERpY3RQdHI8L2E+IGRpY3QsIDxici8+CQkJCQkgc2l6ZV90IGxpbWl0KTsKK2ludAk8YSBocmVmPSIjeG1sRGljdE93bnMiPnhtbERpY3RPd25zPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwyLWRpY3QuaHRtbCN4bWxEaWN0UHRyIj54bWxEaWN0UHRyPC9hPiBkaWN0LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzdHIpOworY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxEaWN0UUxvb2t1cCI+eG1sRGljdFFMb29rdXA8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi1kaWN0Lmh0bWwjeG1sRGljdFB0ciI+eG1sRGljdFB0cjwvYT4gZGljdCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHJlZml4LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKTsKK2ludAk8YSBocmVmPSIjeG1sSW5pdGlhbGl6ZURpY3QiPnhtbEluaXRpYWxpemVEaWN0PC9hPgkJKHZvaWQpOworPGEgaHJlZj0ibGlieG1sMi1kaWN0Lmh0bWwjeG1sRGljdFB0ciI+eG1sRGljdFB0cjwvYT4JPGEgaHJlZj0iI3htbERpY3RDcmVhdGVTdWIiPnhtbERpY3RDcmVhdGVTdWI8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLWRpY3QuaHRtbCN4bWxEaWN0UHRyIj54bWxEaWN0UHRyPC9hPiBzdWIpOwordm9pZAk8YSBocmVmPSIjeG1sRGljdEZyZWUiPnhtbERpY3RGcmVlPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwyLWRpY3QuaHRtbCN4bWxEaWN0UHRyIj54bWxEaWN0UHRyPC9hPiBkaWN0KTsKK2NvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sRGljdExvb2t1cCI+eG1sRGljdExvb2t1cDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLWRpY3QuaHRtbCN4bWxEaWN0UHRyIj54bWxEaWN0UHRyPC9hPiBkaWN0LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJIGludCBsZW4pOworPGEgaHJlZj0ibGlieG1sMi1kaWN0Lmh0bWwjeG1sRGljdFB0ciI+eG1sRGljdFB0cjwvYT4JPGEgaHJlZj0iI3htbERpY3RDcmVhdGUiPnhtbERpY3RDcmVhdGU8L2E+CQkodm9pZCk7Cis8L3ByZT4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MSIgbGFuZz0iZW4iPgorICAgICAgPGgyPkRlc2NyaXB0aW9uPC9oMj4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MSIgbGFuZz0iZW4iPgorICAgICAgPGgyPkRldGFpbHM8L2gyPgorICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sRGljdCI+U3RydWN0dXJlIDwvYT54bWxEaWN0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+c3RydWN0IF94bWxEaWN0IHsKK1RoZSBjb250ZW50IG9mIHRoaXMgc3RydWN0dXJlIGlzIG5vdCBtYWRlIHB1YmxpYyBieSB0aGUgQVBJLgorfSB4bWxEaWN0OworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbERpY3RQdHIiPlR5cGVkZWYgPC9hPnhtbERpY3RQdHI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLWRpY3QuaHRtbCN4bWxEaWN0Ij54bWxEaWN0PC9hPiAqIHhtbERpY3RQdHI7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sRGljdENsZWFudXAiLz54bWxEaWN0Q2xlYW51cCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sRGljdENsZWFudXAJCQkodm9pZCk8YnIvPgorPC9wcmU+PHA+RnJlZSB0aGUgZGljdGlvbmFyeSBtdXRleC4gRG8gbm90IGNhbGwgdW5sZXNzIHN1cmUgdGhlIGxpYnJhcnkgaXMgbm90IGluIHVzZSBhbnltb3JlICE8L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sRGljdENyZWF0ZSIvPnhtbERpY3RDcmVhdGUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLWRpY3QuaHRtbCN4bWxEaWN0UHRyIj54bWxEaWN0UHRyPC9hPgl4bWxEaWN0Q3JlYXRlCQkodm9pZCk8YnIvPgorPC9wcmU+PHA+Q3JlYXRlIGEgbmV3IGRpY3Rpb25hcnk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXdseSBjcmVhdGVkIGRpY3Rpb25uYXJ5LCBvciBOVUxMIGlmIGFuIGVycm9yIG9jY3VyZWQuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sRGljdENyZWF0ZVN1YiIvPnhtbERpY3RDcmVhdGVTdWIgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLWRpY3QuaHRtbCN4bWxEaWN0UHRyIj54bWxEaWN0UHRyPC9hPgl4bWxEaWN0Q3JlYXRlU3ViCSg8YSBocmVmPSJsaWJ4bWwyLWRpY3QuaHRtbCN4bWxEaWN0UHRyIj54bWxEaWN0UHRyPC9hPiBzdWIpPGJyLz4KKzwvcHJlPjxwPkNyZWF0ZSBhIG5ldyBkaWN0aW9uYXJ5LCBpbmhlcml0aW5nIHN0cmluZ3MgZnJvbSB0aGUgcmVhZC1vbmx5IGRpY3Rpb25uYXJ5IEBzdWIuIE9uIGxvb2t1cCwgc3RyaW5ncyBhcmUgZmlyc3Qgc2VhcmNoZWQgaW4gdGhlIG5ldyBkaWN0aW9ubmFyeSwgdGhlbiBpbiBAc3ViLCBhbmQgaWYgbm90IGZvdW5kIGFyZSBjcmVhdGVkIGluIHRoZSBuZXcgZGljdGlvbm5hcnkuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdWI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIGV4aXN0aW5nIGRpY3Rpb25uYXJ5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3bHkgY3JlYXRlZCBkaWN0aW9ubmFyeSwgb3IgTlVMTCBpZiBhbiBlcnJvciBvY2N1cmVkLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbERpY3RFeGlzdHMiLz54bWxEaWN0RXhpc3RzICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Y29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbERpY3RFeGlzdHMJCSg8YSBocmVmPSJsaWJ4bWwyLWRpY3QuaHRtbCN4bWxEaWN0UHRyIj54bWxEaWN0UHRyPC9hPiBkaWN0LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJIGludCBsZW4pPGJyLz4KKzwvcHJlPjxwPkNoZWNrIGlmIHRoZSBAbmFtZSBleGlzdHMgaW4gdGhlIGRpY3Rpb25uYXJ5IEBkaWN0LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGljdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRpY3Rpb25uYXJ5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZSBvZiB0aGUgdXNlcmRhdGE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxlbmd0aCBvZiB0aGUgbmFtZSwgaWYgLTEgaXQgaXMgcmVjb21wdXRlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGludGVybmFsIGNvcHkgb2YgdGhlIG5hbWUgb3IgTlVMTCBpZiBub3QgZm91bmQuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sRGljdEZyZWUiLz54bWxEaWN0RnJlZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sRGljdEZyZWUJCQkoPGEgaHJlZj0ibGlieG1sMi1kaWN0Lmh0bWwjeG1sRGljdFB0ciI+eG1sRGljdFB0cjwvYT4gZGljdCk8YnIvPgorPC9wcmU+PHA+RnJlZSB0aGUgaGFzaCBAZGljdCBhbmQgaXRzIGNvbnRlbnRzLiBUaGUgdXNlcmRhdGEgaXMgZGVhbGxvY2F0ZWQgd2l0aCBAZiBpZiBwcm92aWRlZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRpY3Q8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkaWN0aW9ubmFyeTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbERpY3RHZXRVc2FnZSIvPnhtbERpY3RHZXRVc2FnZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnNpemVfdAl4bWxEaWN0R2V0VXNhZ2UJCQkoPGEgaHJlZj0ibGlieG1sMi1kaWN0Lmh0bWwjeG1sRGljdFB0ciI+eG1sRGljdFB0cjwvYT4gZGljdCk8YnIvPgorPC9wcmU+PHA+R2V0IGhvdyBtdWNoIG1lbW9yeSBpcyB1c2VkIGJ5IGEgZGljdGlvbmFyeSBmb3Igc3RyaW5ncyBBZGRlZCBpbiAyLjkuMDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGljdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRpY3Rpb25uYXJ5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYW1vdW50IG9mIHN0cmluZ3MgYWxsb2NhdGVkPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sRGljdExvb2t1cCIvPnhtbERpY3RMb29rdXAgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5jb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sRGljdExvb2t1cAkJKDxhIGhyZWY9ImxpYnhtbDItZGljdC5odG1sI3htbERpY3RQdHIiPnhtbERpY3RQdHI8L2E+IGRpY3QsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgaW50IGxlbik8YnIvPgorPC9wcmU+PHA+QWRkIHRoZSBAbmFtZSB0byB0aGUgZGljdGlvbm5hcnkgQGRpY3QgaWYgbm90IHByZXNlbnQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kaWN0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZGljdGlvbm5hcnk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lIG9mIHRoZSB1c2VyZGF0YTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGVuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbGVuZ3RoIG9mIHRoZSBuYW1lLCBpZiAtMSBpdCBpcyByZWNvbXB1dGVkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaW50ZXJuYWwgY29weSBvZiB0aGUgbmFtZSBvciBOVUxMIGluIGNhc2Ugb2YgaW50ZXJuYWwgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxEaWN0T3ducyIvPnhtbERpY3RPd25zICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbERpY3RPd25zCQkJKDxhIGhyZWY9ImxpYnhtbDItZGljdC5odG1sI3htbERpY3RQdHIiPnhtbERpY3RQdHI8L2E+IGRpY3QsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0cik8YnIvPgorPC9wcmU+PHA+Y2hlY2sgaWYgYSBzdHJpbmcgaXMgb3duZWQgYnkgdGhlIGRpc2N0aW9uYXJ5PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kaWN0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZGljdGlvbm5hcnk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHN0cmluZzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlLCAwIGlmIGZhbHNlIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxEaWN0UUxvb2t1cCIvPnhtbERpY3RRTG9va3VwICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Y29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbERpY3RRTG9va3VwCQkoPGEgaHJlZj0ibGlieG1sMi1kaWN0Lmh0bWwjeG1sRGljdFB0ciI+eG1sRGljdFB0cjwvYT4gZGljdCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHJlZml4LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKTxici8+Cis8L3ByZT48cD5BZGQgdGhlIFFOYW1lIEBwcmVmaXg6QG5hbWUgdG8gdGhlIGhhc2ggQGRpY3QgaWYgbm90IHByZXNlbnQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kaWN0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZGljdGlvbm5hcnk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnByZWZpeDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHByZWZpeDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBpbnRlcm5hbCBjb3B5IG9mIHRoZSBRTmFtZSBvciBOVUxMIGluIGNhc2Ugb2YgaW50ZXJuYWwgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxEaWN0UmVmZXJlbmNlIi8+eG1sRGljdFJlZmVyZW5jZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxEaWN0UmVmZXJlbmNlCQkoPGEgaHJlZj0ibGlieG1sMi1kaWN0Lmh0bWwjeG1sRGljdFB0ciI+eG1sRGljdFB0cjwvYT4gZGljdCk8YnIvPgorPC9wcmU+PHA+SW5jcmVtZW50IHRoZSA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI3JlZmVyZW5jZSI+cmVmZXJlbmNlPC9hPiBjb3VudGVyIG9mIGEgZGljdGlvbmFyeTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGljdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRpY3Rpb25uYXJ5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGluIGNhc2Ugb2Ygc3VjY2VzcyBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbERpY3RTZXRMaW1pdCIvPnhtbERpY3RTZXRMaW1pdCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnNpemVfdAl4bWxEaWN0U2V0TGltaXQJCQkoPGEgaHJlZj0ibGlieG1sMi1kaWN0Lmh0bWwjeG1sRGljdFB0ciI+eG1sRGljdFB0cjwvYT4gZGljdCwgPGJyLz4JCQkJCSBzaXplX3QgbGltaXQpPGJyLz4KKzwvcHJlPjxwPlNldCBhIHNpemUgbGltaXQgZm9yIHRoZSBkaWN0aW9uYXJ5IEFkZGVkIGluIDIuOS4wPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kaWN0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZGljdGlvbm5hcnk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxpbWl0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbGltaXQgaW4gYnl0ZXM8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwcmV2aW91cyBsaW1pdCBvZiB0aGUgZGljdGlvbmFyeSBvciAwPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sRGljdFNpemUiLz54bWxEaWN0U2l6ZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxEaWN0U2l6ZQkJCSg8YSBocmVmPSJsaWJ4bWwyLWRpY3QuaHRtbCN4bWxEaWN0UHRyIj54bWxEaWN0UHRyPC9hPiBkaWN0KTxici8+Cis8L3ByZT48cD5RdWVyeSB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzIGluc3RhbGxlZCBpbiB0aGUgaGFzaCBAZGljdC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRpY3Q8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkaWN0aW9ubmFyeTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBlbGVtZW50cyBpbiB0aGUgZGljdGlvbm5hcnkgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEluaXRpYWxpemVEaWN0Ii8+eG1sSW5pdGlhbGl6ZURpY3QgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sSW5pdGlhbGl6ZURpY3QJCSh2b2lkKTxici8+Cis8L3ByZT48cD5EbyB0aGUgZGljdGlvbmFyeSBtdXRleCBpbml0aWFsaXphdGlvbi4gdGhpcyBmdW5jdGlvbiBpcyBkZXByZWNhdGVkPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGlmIGluaXRpYWxpemF0aW9uIHdhcyBhbHJlYWR5IGRvbmUsIGFuZCAxIGlmIHRoYXQgY2FsbCBsZWQgdG8gdGhlIGluaXRpYWxpemF0aW9uPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgIDwvZGl2PgorICAgIDwvZGl2PgorICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9kZXZoZWxwL2xpYnhtbDItZW5jb2RpbmcuaHRtbCBiL2xpYnhtbDIvZG9jL2RldmhlbHAvbGlieG1sMi1lbmNvZGluZy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI2MWU1MGEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9kZXZoZWxwL2xpYnhtbDItZW5jb2RpbmcuaHRtbApAQCAtMCwwICsxLDIxOCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxodG1sPgorICA8aGVhZD4KKyAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIvPgorICAgIDx0aXRsZT5lbmNvZGluZzogaW50ZXJmYWNlIGZvciB0aGUgZW5jb2RpbmcgY29udmVyc2lvbiBmdW5jdGlvbnM8L3RpdGxlPgorICAgIDxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iTGlieG1sMiBkZXZoZWxwIHN0eWxlc2hlZXQiLz4KKyAgICA8bGluayByZWw9InN0YXJ0IiBocmVmPSJpbmRleC5odG1sIiB0aXRsZT0ibGlieG1sMiBSZWZlcmVuY2UgTWFudWFsIi8+CisgICAgPGxpbmsgcmVsPSJ1cCIgaHJlZj0iZ2VuZXJhbC5odG1sIiB0aXRsZT0iQVBJIi8+CisgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJzdHlsZS5jc3MiIHR5cGU9InRleHQvY3NzIi8+CisgICAgPGxpbmsgcmVsPSJjaGFwdGVyIiBocmVmPSJnZW5lcmFsLmh0bWwiIHRpdGxlPSJBUEkiLz4KKyAgPC9oZWFkPgorICA8Ym9keSBiZ2NvbG9yPSJ3aGl0ZSIgdGV4dD0iYmxhY2siIGxpbms9IiMwMDAwRkYiIHZsaW5rPSIjODQwMDg0IiBhbGluaz0iIzAwMDBGRiI+CisgICAgPHRhYmxlIGNsYXNzPSJuYXZpZ2F0aW9uIiB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBoZWFkZXIiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMiI+CisgICAgICA8dHIgdmFsaWduPSJtaWRkbGUiPgorICAgICAgICA8dGQ+CisgICAgICAgICAgPGEgYWNjZXNza2V5PSJwIiBocmVmPSJsaWJ4bWwyLWRpY3QuaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0ibGVmdC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlByZXYiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9InUiIGhyZWY9ImdlbmVyYWwuaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0idXAucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJVcCIvPgorICAgICAgICAgIDwvYT4KKyAgICAgICAgPC90ZD4KKyAgICAgICAgPHRkPgorICAgICAgICAgIDxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iaW5kZXguaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0iaG9tZS5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IkhvbWUiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9Im4iIGhyZWY9ImxpYnhtbDItZW50aXRpZXMuaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0icmlnaHQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJOZXh0Ii8+CisgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGggd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPmxpYnhtbDIgUmVmZXJlbmNlIE1hbnVhbDwvdGg+CisgICAgICA8L3RyPgorICAgIDwvdGFibGU+CisgICAgPGgyPgorICAgICAgPHNwYW4gY2xhc3M9InJlZmVudHJ5dGl0bGUiPmVuY29kaW5nPC9zcGFuPgorICAgIDwvaDI+CisgICAgPHA+ZW5jb2RpbmcgLSBpbnRlcmZhY2UgZm9yIHRoZSBlbmNvZGluZyBjb252ZXJzaW9uIGZ1bmN0aW9uczwvcD4KKyAgICA8cD5pbnRlcmZhY2UgZm9yIHRoZSBlbmNvZGluZyBjb252ZXJzaW9uIGZ1bmN0aW9ucyBuZWVkZWQgZm9yIFhNTCBiYXNpYyBlbmNvZGluZyBhbmQgaWNvbnYoKSBzdXBwb3J0LiAgUmVsYXRlZCBzcGVjcyBhcmUgcmZjMjA0NCAgICAgICAgKFVURi04IGFuZCBVVEYtMTYpIEYuIFllcmdlYXUgQWxpcyBUZWNobm9sb2dpZXMgW0lTTy0xMDY0Nl0gICAgVVRGLTggYW5kIFVURi0xNiBpbiBBbm5leGVzIFtJU08tODg1OS0xXSAgIElTTyBMYXRpbi0xIGNoYXJhY3RlcnMgY29kZXMuIFtVTklDT0RFXSAgICAgIFRoZSBVbmljb2RlIENvbnNvcnRpdW0sICJUaGUgVW5pY29kZSBTdGFuZGFyZCAtLSBXb3JsZHdpZGUgQ2hhcmFjdGVyIEVuY29kaW5nIC0tIFZlcnNpb24gMS4wIiwgQWRkaXNvbi0gV2VzbGV5LCBWb2x1bWUgMSwgMTk5MSwgVm9sdW1lIDIsIDE5OTIuICBVVEYtOCBpcyBkZXNjcmliZWQgaW4gVW5pY29kZSBUZWNobmljYWwgUmVwb3J0ICM0LiBbVVMtQVNDSUldICAgICBDb2RlZCBDaGFyYWN0ZXIgU2V0LS03LWJpdCBBbWVyaWNhbiBTdGFuZGFyZCBDb2RlIGZvciBJbmZvcm1hdGlvbiBJbnRlcmNoYW5nZSwgQU5TSSBYMy40LTE5ODYuIDwvcD4KKyAgICA8cD5BdXRob3Iocyk6IERhbmllbCBWZWlsbGFyZCA8L3A+CisgICAgPGRpdiBjbGFzcz0icmVmc3lub3BzaXNkaXYiPgorICAgICAgPGgyPlN5bm9wc2lzPC9oMj4KKyAgICAgIDxwcmUgY2xhc3M9InN5bm9wc2lzIj50eXBlZGVmIHN0cnVjdCBfdWNvbnZfdCA8YSBocmVmPSIjdWNvbnZfdCI+dWNvbnZfdDwvYT47Cit0eXBlZGVmIGVudW0gPGEgaHJlZj0iI3htbENoYXJFbmNvZGluZyI+eG1sQ2hhckVuY29kaW5nPC9hPjsKK3R5cGVkZWYgc3RydWN0IF94bWxDaGFyRW5jb2RpbmdIYW5kbGVyIDxhIGhyZWY9IiN4bWxDaGFyRW5jb2RpbmdIYW5kbGVyIj54bWxDaGFyRW5jb2RpbmdIYW5kbGVyPC9hPjsKK3R5cGVkZWYgPGEgaHJlZj0ibGlieG1sMi1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZ0hhbmRsZXIiPnhtbENoYXJFbmNvZGluZ0hhbmRsZXI8L2E+ICogPGEgaHJlZj0iI3htbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIiPnhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHI8L2E+OworaW50CTxhIGhyZWY9IiN4bWxEZWxFbmNvZGluZ0FsaWFzIj54bWxEZWxFbmNvZGluZ0FsaWFzPC9hPgkJKGNvbnN0IGNoYXIgKiBhbGlhcyk7Citjb25zdCBjaGFyICoJPGEgaHJlZj0iI3htbEdldEVuY29kaW5nQWxpYXMiPnhtbEdldEVuY29kaW5nQWxpYXM8L2E+CShjb25zdCBjaGFyICogYWxpYXMpOwordm9pZAk8YSBocmVmPSIjeG1sUmVnaXN0ZXJDaGFyRW5jb2RpbmdIYW5kbGVyIj54bWxSZWdpc3RlckNoYXJFbmNvZGluZ0hhbmRsZXI8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0ciI+eG1sQ2hhckVuY29kaW5nSGFuZGxlclB0cjwvYT4gaGFuZGxlcik7CitpbnQJPGEgaHJlZj0iI1VURjhUb2lzb2xhdDEiPlVURjhUb2lzb2xhdDE8L2E+CQkJKHVuc2lnbmVkIGNoYXIgKiBvdXQsIDxici8+CQkJCQkgaW50ICogb3V0bGVuLCA8YnIvPgkJCQkJIGNvbnN0IHVuc2lnbmVkIGNoYXIgKiBpbiwgPGJyLz4JCQkJCSBpbnQgKiBpbmxlbik7Cit2b2lkCTxhIGhyZWY9IiN4bWxJbml0Q2hhckVuY29kaW5nSGFuZGxlcnMiPnhtbEluaXRDaGFyRW5jb2RpbmdIYW5kbGVyczwvYT4JKHZvaWQpOworaW50CTxhIGhyZWY9IiN4bWxBZGRFbmNvZGluZ0FsaWFzIj54bWxBZGRFbmNvZGluZ0FsaWFzPC9hPgkJKGNvbnN0IGNoYXIgKiBuYW1lLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBhbGlhcyk7Cit2b2lkCTxhIGhyZWY9IiN4bWxDbGVhbnVwRW5jb2RpbmdBbGlhc2VzIj54bWxDbGVhbnVwRW5jb2RpbmdBbGlhc2VzPC9hPgkodm9pZCk7CitpbnQJPGEgaHJlZj0iI3htbENoYXJFbmNPdXRGdW5jIj54bWxDaGFyRW5jT3V0RnVuYzwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nSGFuZGxlciI+eG1sQ2hhckVuY29kaW5nSGFuZGxlcjwvYT4gKiBoYW5kbGVyLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEJ1ZmZlclB0ciI+eG1sQnVmZmVyUHRyPC9hPiBvdXQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQnVmZmVyUHRyIj54bWxCdWZmZXJQdHI8L2E+IGluKTsKKzxhIGhyZWY9ImxpYnhtbDItZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmciPnhtbENoYXJFbmNvZGluZzwvYT4JPGEgaHJlZj0iI3htbFBhcnNlQ2hhckVuY29kaW5nIj54bWxQYXJzZUNoYXJFbmNvZGluZzwvYT4JKGNvbnN0IGNoYXIgKiBuYW1lKTsKK3R5cGVkZWYgaW50IDxhIGhyZWY9IiN4bWxDaGFyRW5jb2RpbmdJbnB1dEZ1bmMiPnhtbENoYXJFbmNvZGluZ0lucHV0RnVuYzwvYT4JKHVuc2lnbmVkIGNoYXIgKiBvdXQsIDxici8+CQkJCQkgaW50ICogb3V0bGVuLCA8YnIvPgkJCQkJIGNvbnN0IHVuc2lnbmVkIGNoYXIgKiBpbiwgPGJyLz4JCQkJCSBpbnQgKiBpbmxlbik7Cit2b2lkCTxhIGhyZWY9IiN4bWxDbGVhbnVwQ2hhckVuY29kaW5nSGFuZGxlcnMiPnhtbENsZWFudXBDaGFyRW5jb2RpbmdIYW5kbGVyczwvYT4JKHZvaWQpOworPGEgaHJlZj0ibGlieG1sMi1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIiPnhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHI8L2E+CTxhIGhyZWY9IiN4bWxOZXdDaGFyRW5jb2RpbmdIYW5kbGVyIj54bWxOZXdDaGFyRW5jb2RpbmdIYW5kbGVyPC9hPgkoY29uc3QgY2hhciAqIG5hbWUsIDxici8+CQkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nSW5wdXRGdW5jIj54bWxDaGFyRW5jb2RpbmdJbnB1dEZ1bmM8L2E+IGlucHV0LCA8YnIvPgkJCQkJCQkgPGEgaHJlZj0ibGlieG1sMi1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZ091dHB1dEZ1bmMiPnhtbENoYXJFbmNvZGluZ091dHB1dEZ1bmM8L2E+IG91dHB1dCk7Cit0eXBlZGVmIGludCA8YSBocmVmPSIjeG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYyI+eG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYzwvYT4JKHVuc2lnbmVkIGNoYXIgKiBvdXQsIDxici8+CQkJCQkgaW50ICogb3V0bGVuLCA8YnIvPgkJCQkJIGNvbnN0IHVuc2lnbmVkIGNoYXIgKiBpbiwgPGJyLz4JCQkJCSBpbnQgKiBpbmxlbik7CitpbnQJPGEgaHJlZj0iI2lzb2xhdDFUb1VURjgiPmlzb2xhdDFUb1VURjg8L2E+CQkJKHVuc2lnbmVkIGNoYXIgKiBvdXQsIDxici8+CQkJCQkgaW50ICogb3V0bGVuLCA8YnIvPgkJCQkJIGNvbnN0IHVuc2lnbmVkIGNoYXIgKiBpbiwgPGJyLz4JCQkJCSBpbnQgKiBpbmxlbik7Cis8YSBocmVmPSJsaWJ4bWwyLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0ciI+eG1sQ2hhckVuY29kaW5nSGFuZGxlclB0cjwvYT4JPGEgaHJlZj0iI3htbEZpbmRDaGFyRW5jb2RpbmdIYW5kbGVyIj54bWxGaW5kQ2hhckVuY29kaW5nSGFuZGxlcjwvYT4JKGNvbnN0IGNoYXIgKiBuYW1lKTsKK2ludAk8YSBocmVmPSIjeG1sQ2hhckVuY0luRnVuYyI+eG1sQ2hhckVuY0luRnVuYzwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nSGFuZGxlciI+eG1sQ2hhckVuY29kaW5nSGFuZGxlcjwvYT4gKiBoYW5kbGVyLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEJ1ZmZlclB0ciI+eG1sQnVmZmVyUHRyPC9hPiBvdXQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQnVmZmVyUHRyIj54bWxCdWZmZXJQdHI8L2E+IGluKTsKKzxhIGhyZWY9ImxpYnhtbDItZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyIj54bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyPC9hPgk8YSBocmVmPSIjeG1sR2V0Q2hhckVuY29kaW5nSGFuZGxlciI+eG1sR2V0Q2hhckVuY29kaW5nSGFuZGxlcjwvYT4JKDxhIGhyZWY9ImxpYnhtbDItZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmciPnhtbENoYXJFbmNvZGluZzwvYT4gZW5jKTsKK2ludAk8YSBocmVmPSIjeG1sQ2hhckVuY0ZpcnN0TGluZSI+eG1sQ2hhckVuY0ZpcnN0TGluZTwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nSGFuZGxlciI+eG1sQ2hhckVuY29kaW5nSGFuZGxlcjwvYT4gKiBoYW5kbGVyLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEJ1ZmZlclB0ciI+eG1sQnVmZmVyUHRyPC9hPiBvdXQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQnVmZmVyUHRyIj54bWxCdWZmZXJQdHI8L2E+IGluKTsKKzxhIGhyZWY9ImxpYnhtbDItZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmciPnhtbENoYXJFbmNvZGluZzwvYT4JPGEgaHJlZj0iI3htbERldGVjdENoYXJFbmNvZGluZyI+eG1sRGV0ZWN0Q2hhckVuY29kaW5nPC9hPgkoY29uc3QgdW5zaWduZWQgY2hhciAqIGluLCA8YnIvPgkJCQkJIGludCBsZW4pOworaW50CTxhIGhyZWY9IiN4bWxDaGFyRW5jQ2xvc2VGdW5jIj54bWxDaGFyRW5jQ2xvc2VGdW5jPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmdIYW5kbGVyIj54bWxDaGFyRW5jb2RpbmdIYW5kbGVyPC9hPiAqIGhhbmRsZXIpOworY29uc3QgY2hhciAqCTxhIGhyZWY9IiN4bWxHZXRDaGFyRW5jb2RpbmdOYW1lIj54bWxHZXRDaGFyRW5jb2RpbmdOYW1lPC9hPgkoPGEgaHJlZj0ibGlieG1sMi1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZyI+eG1sQ2hhckVuY29kaW5nPC9hPiBlbmMpOworPC9wcmU+CisgICAgPC9kaXY+CisgICAgPGRpdiBjbGFzcz0icmVmc2VjdDEiIGxhbmc9ImVuIj4KKyAgICAgIDxoMj5EZXNjcmlwdGlvbjwvaDI+CisgICAgPC9kaXY+CisgICAgPGRpdiBjbGFzcz0icmVmc2VjdDEiIGxhbmc9ImVuIj4KKyAgICAgIDxoMj5EZXRhaWxzPC9oMj4KKyAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InVjb252X3QiPlN0cnVjdHVyZSA8L2E+dWNvbnZfdDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnN0cnVjdCBfdWNvbnZfdCB7CisgICAgVUNvbnZlcnRlciAqCXVjb252CTogZm9yIGNvbnZlcnNpb24gYmV0d2VlbiBhbiBlbmNvZGluZyBhbmQgVVRGLTE2CisgICAgVUNvbnZlcnRlciAqCXV0ZjgJOiBmb3IgY29udmVyc2lvbiBiZXR3ZWVuIFVURi04IGFuZCBVVEYtMTYKK30gdWNvbnZfdDsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxDaGFyRW5jb2RpbmciPkVudW0gPC9hPnhtbENoYXJFbmNvZGluZzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmVudW0gPGEgaHJlZj0iI3htbENoYXJFbmNvZGluZyI+eG1sQ2hhckVuY29kaW5nPC9hPiB7CisgICAgPGEgbmFtZT0iWE1MX0NIQVJfRU5DT0RJTkdfRVJST1IiPlhNTF9DSEFSX0VOQ09ESU5HX0VSUk9SPC9hPiA9IC0xIC8qIE5vIGNoYXIgZW5jb2RpbmcgZGV0ZWN0ZWQgKi8KKyAgICA8YSBuYW1lPSJYTUxfQ0hBUl9FTkNPRElOR19OT05FIj5YTUxfQ0hBUl9FTkNPRElOR19OT05FPC9hPiA9IDAgLyogTm8gY2hhciBlbmNvZGluZyBkZXRlY3RlZCAqLworICAgIDxhIG5hbWU9IlhNTF9DSEFSX0VOQ09ESU5HX1VURjgiPlhNTF9DSEFSX0VOQ09ESU5HX1VURjg8L2E+ID0gMSAvKiBVVEYtOCAqLworICAgIDxhIG5hbWU9IlhNTF9DSEFSX0VOQ09ESU5HX1VURjE2TEUiPlhNTF9DSEFSX0VOQ09ESU5HX1VURjE2TEU8L2E+ID0gMiAvKiBVVEYtMTYgbGl0dGxlIGVuZGlhbiAqLworICAgIDxhIG5hbWU9IlhNTF9DSEFSX0VOQ09ESU5HX1VURjE2QkUiPlhNTF9DSEFSX0VOQ09ESU5HX1VURjE2QkU8L2E+ID0gMyAvKiBVVEYtMTYgYmlnIGVuZGlhbiAqLworICAgIDxhIG5hbWU9IlhNTF9DSEFSX0VOQ09ESU5HX1VDUzRMRSI+WE1MX0NIQVJfRU5DT0RJTkdfVUNTNExFPC9hPiA9IDQgLyogVUNTLTQgbGl0dGxlIGVuZGlhbiAqLworICAgIDxhIG5hbWU9IlhNTF9DSEFSX0VOQ09ESU5HX1VDUzRCRSI+WE1MX0NIQVJfRU5DT0RJTkdfVUNTNEJFPC9hPiA9IDUgLyogVUNTLTQgYmlnIGVuZGlhbiAqLworICAgIDxhIG5hbWU9IlhNTF9DSEFSX0VOQ09ESU5HX0VCQ0RJQyI+WE1MX0NIQVJfRU5DT0RJTkdfRUJDRElDPC9hPiA9IDYgLyogRUJDRElDIHVoISAqLworICAgIDxhIG5hbWU9IlhNTF9DSEFSX0VOQ09ESU5HX1VDUzRfMjE0MyI+WE1MX0NIQVJfRU5DT0RJTkdfVUNTNF8yMTQzPC9hPiA9IDcgLyogVUNTLTQgdW51c3VhbCBvcmRlcmluZyAqLworICAgIDxhIG5hbWU9IlhNTF9DSEFSX0VOQ09ESU5HX1VDUzRfMzQxMiI+WE1MX0NIQVJfRU5DT0RJTkdfVUNTNF8zNDEyPC9hPiA9IDggLyogVUNTLTQgdW51c3VhbCBvcmRlcmluZyAqLworICAgIDxhIG5hbWU9IlhNTF9DSEFSX0VOQ09ESU5HX1VDUzIiPlhNTF9DSEFSX0VOQ09ESU5HX1VDUzI8L2E+ID0gOSAvKiBVQ1MtMiAqLworICAgIDxhIG5hbWU9IlhNTF9DSEFSX0VOQ09ESU5HXzg4NTlfMSI+WE1MX0NIQVJfRU5DT0RJTkdfODg1OV8xPC9hPiA9IDEwIC8qIElTTy04ODU5LTEgSVNPIExhdGluIDEgKi8KKyAgICA8YSBuYW1lPSJYTUxfQ0hBUl9FTkNPRElOR184ODU5XzIiPlhNTF9DSEFSX0VOQ09ESU5HXzg4NTlfMjwvYT4gPSAxMSAvKiBJU08tODg1OS0yIElTTyBMYXRpbiAyICovCisgICAgPGEgbmFtZT0iWE1MX0NIQVJfRU5DT0RJTkdfODg1OV8zIj5YTUxfQ0hBUl9FTkNPRElOR184ODU5XzM8L2E+ID0gMTIgLyogSVNPLTg4NTktMyAqLworICAgIDxhIG5hbWU9IlhNTF9DSEFSX0VOQ09ESU5HXzg4NTlfNCI+WE1MX0NIQVJfRU5DT0RJTkdfODg1OV80PC9hPiA9IDEzIC8qIElTTy04ODU5LTQgKi8KKyAgICA8YSBuYW1lPSJYTUxfQ0hBUl9FTkNPRElOR184ODU5XzUiPlhNTF9DSEFSX0VOQ09ESU5HXzg4NTlfNTwvYT4gPSAxNCAvKiBJU08tODg1OS01ICovCisgICAgPGEgbmFtZT0iWE1MX0NIQVJfRU5DT0RJTkdfODg1OV82Ij5YTUxfQ0hBUl9FTkNPRElOR184ODU5XzY8L2E+ID0gMTUgLyogSVNPLTg4NTktNiAqLworICAgIDxhIG5hbWU9IlhNTF9DSEFSX0VOQ09ESU5HXzg4NTlfNyI+WE1MX0NIQVJfRU5DT0RJTkdfODg1OV83PC9hPiA9IDE2IC8qIElTTy04ODU5LTcgKi8KKyAgICA8YSBuYW1lPSJYTUxfQ0hBUl9FTkNPRElOR184ODU5XzgiPlhNTF9DSEFSX0VOQ09ESU5HXzg4NTlfODwvYT4gPSAxNyAvKiBJU08tODg1OS04ICovCisgICAgPGEgbmFtZT0iWE1MX0NIQVJfRU5DT0RJTkdfODg1OV85Ij5YTUxfQ0hBUl9FTkNPRElOR184ODU5Xzk8L2E+ID0gMTggLyogSVNPLTg4NTktOSAqLworICAgIDxhIG5hbWU9IlhNTF9DSEFSX0VOQ09ESU5HXzIwMjJfSlAiPlhNTF9DSEFSX0VOQ09ESU5HXzIwMjJfSlA8L2E+ID0gMTkgLyogSVNPLTIwMjItSlAgKi8KKyAgICA8YSBuYW1lPSJYTUxfQ0hBUl9FTkNPRElOR19TSElGVF9KSVMiPlhNTF9DSEFSX0VOQ09ESU5HX1NISUZUX0pJUzwvYT4gPSAyMCAvKiBTaGlmdF9KSVMgKi8KKyAgICA8YSBuYW1lPSJYTUxfQ0hBUl9FTkNPRElOR19FVUNfSlAiPlhNTF9DSEFSX0VOQ09ESU5HX0VVQ19KUDwvYT4gPSAyMSAvKiBFVUMtSlAgKi8KKyAgICA8YSBuYW1lPSJYTUxfQ0hBUl9FTkNPRElOR19BU0NJSSI+WE1MX0NIQVJfRU5DT0RJTkdfQVNDSUk8L2E+ID0gMjIgLyogIHB1cmUgQVNDSUkgKi8KK307Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sQ2hhckVuY29kaW5nSGFuZGxlciI+U3RydWN0dXJlIDwvYT54bWxDaGFyRW5jb2RpbmdIYW5kbGVyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+c3RydWN0IF94bWxDaGFyRW5jb2RpbmdIYW5kbGVyIHsKKyAgICBjaGFyICoJbmFtZQorICAgIDxhIGhyZWY9ImxpYnhtbDItZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmdJbnB1dEZ1bmMiPnhtbENoYXJFbmNvZGluZ0lucHV0RnVuYzwvYT4JaW5wdXQKKyAgICA8YSBocmVmPSJsaWJ4bWwyLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYyI+eG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYzwvYT4Jb3V0cHV0CisgICAgaWNvbnZfdAlpY29udl9pbgorICAgIGljb252X3QJaWNvbnZfb3V0CisgICAgPGEgaHJlZj0ibGlieG1sMi1lbmNvZGluZy5odG1sI3Vjb252X3QiPnVjb252X3Q8L2E+ICoJdWNvbnZfaW4KKyAgICA8YSBocmVmPSJsaWJ4bWwyLWVuY29kaW5nLmh0bWwjdWNvbnZfdCI+dWNvbnZfdDwvYT4gKgl1Y29udl9vdXQKK30geG1sQ2hhckVuY29kaW5nSGFuZGxlcjsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyIj5UeXBlZGVmIDwvYT54bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZ0hhbmRsZXIiPnhtbENoYXJFbmNvZGluZ0hhbmRsZXI8L2E+ICogeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0cjsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxDaGFyRW5jb2RpbmdJbnB1dEZ1bmMiLz5GdW5jdGlvbiB0eXBlIHhtbENoYXJFbmNvZGluZ0lucHV0RnVuYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxDaGFyRW5jb2RpbmdJbnB1dEZ1bmMJKHVuc2lnbmVkIGNoYXIgKiBvdXQsIDxici8+CQkJCQkgaW50ICogb3V0bGVuLCA8YnIvPgkJCQkJIGNvbnN0IHVuc2lnbmVkIGNoYXIgKiBpbiwgPGJyLz4JCQkJCSBpbnQgKiBpbmxlbik8YnIvPgorPC9wcmU+PHA+VGFrZSBhIGJsb2NrIG9mIGNoYXJzIGluIHRoZSBvcmlnaW5hbCBlbmNvZGluZyBhbmQgdHJ5IHRvIGNvbnZlcnQgaXQgdG8gYW4gVVRGLTggYmxvY2sgb2YgY2hhcnMgb3V0LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3V0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gYW4gYXJyYXkgb2YgYnl0ZXMgdG8gc3RvcmUgdGhlIFVURi04IHJlc3VsdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3V0bGVuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbGVuZ3RoIG9mIEBvdXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmluPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gYW4gYXJyYXkgb2YgY2hhcnMgaW4gdGhlIG9yaWdpbmFsIGVuY29kaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pbmxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxlbmd0aCBvZiBAaW48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgYnl0ZXMgd3JpdHRlbiwgLTEgaWYgbGFjayBvZiBzcGFjZSwgb3IgLTIgaWYgdGhlIHRyYW5zY29kaW5nIGZhaWxlZC4gVGhlIHZhbHVlIG9mIEBpbmxlbiBhZnRlciByZXR1cm4gaXMgdGhlIG51bWJlciBvZiBvY3RldHMgY29uc3VtZWQgaWYgdGhlIHJldHVybiB2YWx1ZSBpcyBwb3NpdGl2ZSwgZWxzZSB1bnByZWRpY3RpYWJsZS4gVGhlIHZhbHVlIG9mIEBvdXRsZW4gYWZ0ZXIgcmV0dXJuIGlzIHRoZSBudW1iZXIgb2Ygb2N0ZXRzIGNvbnN1bWVkLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbENoYXJFbmNvZGluZ091dHB1dEZ1bmMiLz5GdW5jdGlvbiB0eXBlIHhtbENoYXJFbmNvZGluZ091dHB1dEZ1bmM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYwkodW5zaWduZWQgY2hhciAqIG91dCwgPGJyLz4JCQkJCSBpbnQgKiBvdXRsZW4sIDxici8+CQkJCQkgY29uc3QgdW5zaWduZWQgY2hhciAqIGluLCA8YnIvPgkJCQkJIGludCAqIGlubGVuKTxici8+Cis8L3ByZT48cD5UYWtlIGEgYmxvY2sgb2YgVVRGLTggY2hhcnMgaW4gYW5kIHRyeSB0byBjb252ZXJ0IGl0IHRvIGFub3RoZXIgZW5jb2RpbmcuIE5vdGU6IGEgZmlyc3QgY2FsbCBkZXNpZ25lZCB0byBwcm9kdWNlIGhlYWRpbmcgaW5mbyBpcyBjYWxsZWQgd2l0aCBpbiA9IE5VTEwuIElmIHN0YXRlZnVsIHRoaXMgc2hvdWxkIGFsc28gaW5pdGlhbGl6ZSB0aGUgZW5jb2RlciBzdGF0ZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm91dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIGFuIGFycmF5IG9mIGJ5dGVzIHRvIHN0b3JlIHRoZSByZXN1bHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm91dGxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxlbmd0aCBvZiBAb3V0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIGFuIGFycmF5IG9mIFVURi04IGNoYXJzPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pbmxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxlbmd0aCBvZiBAaW48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgYnl0ZXMgd3JpdHRlbiwgLTEgaWYgbGFjayBvZiBzcGFjZSwgb3IgLTIgaWYgdGhlIHRyYW5zY29kaW5nIGZhaWxlZC4gVGhlIHZhbHVlIG9mIEBpbmxlbiBhZnRlciByZXR1cm4gaXMgdGhlIG51bWJlciBvZiBvY3RldHMgY29uc3VtZWQgaWYgdGhlIHJldHVybiB2YWx1ZSBpcyBwb3NpdGl2ZSwgZWxzZSB1bnByZWRpY3RpYWJsZS4gVGhlIHZhbHVlIG9mIEBvdXRsZW4gYWZ0ZXIgcmV0dXJuIGlzIHRoZSBudW1iZXIgb2Ygb2N0ZXRzIHByb2R1Y2VkLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IlVURjhUb2lzb2xhdDEiLz5VVEY4VG9pc29sYXQxICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CVVURjhUb2lzb2xhdDEJCQkodW5zaWduZWQgY2hhciAqIG91dCwgPGJyLz4JCQkJCSBpbnQgKiBvdXRsZW4sIDxici8+CQkJCQkgY29uc3QgdW5zaWduZWQgY2hhciAqIGluLCA8YnIvPgkJCQkJIGludCAqIGlubGVuKTxici8+Cis8L3ByZT48cD5UYWtlIGEgYmxvY2sgb2YgVVRGLTggY2hhcnMgaW4gYW5kIHRyeSB0byBjb252ZXJ0IGl0IHRvIGFuIElTTyBMYXRpbiAxIGJsb2NrIG9mIGNoYXJzIG91dC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm91dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIGFuIGFycmF5IG9mIGJ5dGVzIHRvIHN0b3JlIHRoZSByZXN1bHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm91dGxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxlbmd0aCBvZiBAb3V0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIGFuIGFycmF5IG9mIFVURi04IGNoYXJzPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pbmxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxlbmd0aCBvZiBAaW48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgYnl0ZXMgd3JpdHRlbiBpZiBzdWNjZXNzLCAtMiBpZiB0aGUgdHJhbnNjb2RpbmcgZmFpbHMsIG9yIC0xIG90aGVyd2lzZSBUaGUgdmFsdWUgb2YgQGlubGVuIGFmdGVyIHJldHVybiBpcyB0aGUgbnVtYmVyIG9mIG9jdGV0cyBjb25zdW1lZCBpZiB0aGUgcmV0dXJuIHZhbHVlIGlzIHBvc2l0aXZlLCBlbHNlIHVucHJlZGljdGFibGUuIFRoZSB2YWx1ZSBvZiBAb3V0bGVuIGFmdGVyIHJldHVybiBpcyB0aGUgbnVtYmVyIG9mIG9jdGV0cyBjb25zdW1lZC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJpc29sYXQxVG9VVEY4Ii8+aXNvbGF0MVRvVVRGOCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAlpc29sYXQxVG9VVEY4CQkJKHVuc2lnbmVkIGNoYXIgKiBvdXQsIDxici8+CQkJCQkgaW50ICogb3V0bGVuLCA8YnIvPgkJCQkJIGNvbnN0IHVuc2lnbmVkIGNoYXIgKiBpbiwgPGJyLz4JCQkJCSBpbnQgKiBpbmxlbik8YnIvPgorPC9wcmU+PHA+VGFrZSBhIGJsb2NrIG9mIElTTyBMYXRpbiAxIGNoYXJzIGluIGFuZCB0cnkgdG8gY29udmVydCBpdCB0byBhbiBVVEYtOCBibG9jayBvZiBjaGFycyBvdXQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vdXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byBhbiBhcnJheSBvZiBieXRlcyB0byBzdG9yZSB0aGUgcmVzdWx0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vdXRsZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsZW5ndGggb2YgQG91dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byBhbiBhcnJheSBvZiBJU08gTGF0aW4gMSBjaGFyczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aW5sZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsZW5ndGggb2YgQGluPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGJ5dGVzIHdyaXR0ZW4gaWYgc3VjY2Vzcywgb3IgLTEgb3RoZXJ3aXNlIFRoZSB2YWx1ZSBvZiBAaW5sZW4gYWZ0ZXIgcmV0dXJuIGlzIHRoZSBudW1iZXIgb2Ygb2N0ZXRzIGNvbnN1bWVkIGlmIHRoZSByZXR1cm4gdmFsdWUgaXMgcG9zaXRpdmUsIGVsc2UgdW5wcmVkaWN0YWJsZS4gVGhlIHZhbHVlIG9mIEBvdXRsZW4gYWZ0ZXIgcmV0dXJuIGlzIHRoZSBudW1iZXIgb2Ygb2N0ZXRzIGNvbnN1bWVkLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEFkZEVuY29kaW5nQWxpYXMiLz54bWxBZGRFbmNvZGluZ0FsaWFzICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbEFkZEVuY29kaW5nQWxpYXMJCShjb25zdCBjaGFyICogbmFtZSwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogYWxpYXMpPGJyLz4KKzwvcHJlPjxwPlJlZ2lzdGVycyBhbiBhbGlhcyBAYWxpYXMgZm9yIGFuIGVuY29kaW5nIG5hbWVkIEBuYW1lLiBFeGlzdGluZyBhbGlhcyB3aWxsIGJlIG92ZXJ3cml0dGVuLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVuY29kaW5nIG5hbWUgYXMgcGFyc2VkLCBpbiBVVEYtOCBmb3JtYXQgKEFTQ0lJIGFjdHVhbGx5KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YWxpYXM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBhbGlhcyBuYW1lIGFzIHBhcnNlZCwgaW4gVVRGLTggZm9ybWF0IChBU0NJSSBhY3R1YWxseSk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaW4gY2FzZSBvZiBzdWNjZXNzLCAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sQ2hhckVuY0Nsb3NlRnVuYyIvPnhtbENoYXJFbmNDbG9zZUZ1bmMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sQ2hhckVuY0Nsb3NlRnVuYwkJKDxhIGhyZWY9ImxpYnhtbDItZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmdIYW5kbGVyIj54bWxDaGFyRW5jb2RpbmdIYW5kbGVyPC9hPiAqIGhhbmRsZXIpPGJyLz4KKzwvcHJlPjxwPkdlbmVyaWMgZnJvbnQtZW5kIGZvciBlbmNvZGluZyBoYW5kbGVyIGNsb3NlIGZ1bmN0aW9uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5oYW5kbGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5jaGFyIGVuY29uZGluZyB0cmFuc2Zvcm1hdGlvbiBkYXRhIHN0cnVjdHVyZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpZiBzdWNjZXNzLCBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sQ2hhckVuY0ZpcnN0TGluZSIvPnhtbENoYXJFbmNGaXJzdExpbmUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sQ2hhckVuY0ZpcnN0TGluZQkJKDxhIGhyZWY9ImxpYnhtbDItZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmdIYW5kbGVyIj54bWxDaGFyRW5jb2RpbmdIYW5kbGVyPC9hPiAqIGhhbmRsZXIsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQnVmZmVyUHRyIj54bWxCdWZmZXJQdHI8L2E+IG91dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxCdWZmZXJQdHIiPnhtbEJ1ZmZlclB0cjwvYT4gaW4pPGJyLz4KKzwvcHJlPjxwPkZyb250LWVuZCBmb3IgdGhlIGVuY29kaW5nIGhhbmRsZXIgaW5wdXQgZnVuY3Rpb24sIGJ1dCBoYW5kbGUgb25seSB0aGUgdmVyeSBmaXJzdCBsaW5lLCBpLmUuIGxpbWl0IGl0c2VsZiB0byA0NSBjaGFycy48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmhhbmRsZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmNoYXIgZW5jb25kaW5nIHRyYW5zZm9ybWF0aW9uIGRhdGEgc3RydWN0dXJlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vdXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEJ1ZmZlciI+eG1sQnVmZmVyPC9hPiBmb3IgdGhlIG91dHB1dC48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmluPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxCdWZmZXIiPnhtbEJ1ZmZlcjwvYT4gZm9yIHRoZSBpbnB1dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBieXRlIHdyaXR0ZW4gaWYgc3VjY2Vzcywgb3IgLTEgZ2VuZXJhbCBlcnJvciAtMiBpZiB0aGUgdHJhbnNjb2RpbmcgZmFpbHMgKGZvciAqaW4gaXMgbm90IHZhbGlkIHV0Zjggc3RyaW5nIG9yIHRoZSByZXN1bHQgb2YgdHJhbnNmb3JtYXRpb24gY2FuJ3QgZml0IGludG8gdGhlIGVuY29kaW5nIHdlIHdhbnQpLCBvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbENoYXJFbmNJbkZ1bmMiLz54bWxDaGFyRW5jSW5GdW5jICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbENoYXJFbmNJbkZ1bmMJCSg8YSBocmVmPSJsaWJ4bWwyLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nSGFuZGxlciI+eG1sQ2hhckVuY29kaW5nSGFuZGxlcjwvYT4gKiBoYW5kbGVyLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEJ1ZmZlclB0ciI+eG1sQnVmZmVyUHRyPC9hPiBvdXQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQnVmZmVyUHRyIj54bWxCdWZmZXJQdHI8L2E+IGluKTxici8+Cis8L3ByZT48cD5HZW5lcmljIGZyb250LWVuZCBmb3IgdGhlIGVuY29kaW5nIGhhbmRsZXIgaW5wdXQgZnVuY3Rpb248L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmhhbmRsZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmNoYXIgZW5jb2RpbmcgdHJhbnNmb3JtYXRpb24gZGF0YSBzdHJ1Y3R1cmU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm91dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQnVmZmVyIj54bWxCdWZmZXI8L2E+IGZvciB0aGUgb3V0cHV0LjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEJ1ZmZlciI+eG1sQnVmZmVyPC9hPiBmb3IgdGhlIGlucHV0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGJ5dGUgd3JpdHRlbiBpZiBzdWNjZXNzLCBvciAtMSBnZW5lcmFsIGVycm9yIC0yIGlmIHRoZSB0cmFuc2NvZGluZyBmYWlscyAoZm9yICppbiBpcyBub3QgdmFsaWQgdXRmOCBzdHJpbmcgb3IgdGhlIHJlc3VsdCBvZiB0cmFuc2Zvcm1hdGlvbiBjYW4ndCBmaXQgaW50byB0aGUgZW5jb2Rpbmcgd2Ugd2FudCksIG9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sQ2hhckVuY091dEZ1bmMiLz54bWxDaGFyRW5jT3V0RnVuYyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxDaGFyRW5jT3V0RnVuYwkJKDxhIGhyZWY9ImxpYnhtbDItZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmdIYW5kbGVyIj54bWxDaGFyRW5jb2RpbmdIYW5kbGVyPC9hPiAqIGhhbmRsZXIsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQnVmZmVyUHRyIj54bWxCdWZmZXJQdHI8L2E+IG91dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxCdWZmZXJQdHIiPnhtbEJ1ZmZlclB0cjwvYT4gaW4pPGJyLz4KKzwvcHJlPjxwPkdlbmVyaWMgZnJvbnQtZW5kIGZvciB0aGUgZW5jb2RpbmcgaGFuZGxlciBvdXRwdXQgZnVuY3Rpb24gYSBmaXJzdCBjYWxsIHdpdGggQGluID09IE5VTEwgaGFzIHRvIGJlIG1hZGUgZmlycyB0byBpbml0aWF0ZSB0aGUgb3V0cHV0IGluIGNhc2Ugb2Ygbm9uLXN0YXRlbGVzcyBlbmNvZGluZyBuZWVkaW5nIHRvIGluaXRpYXRlIHRoZWlyIHN0YXRlIG9yIHRoZSBvdXRwdXQgKGxpa2UgdGhlIEJPTSBpbiBVVEYxNikuIEluIGNhc2Ugb2YgVVRGOCBzZXF1ZW5jZSBjb252ZXJzaW9uIGVycm9ycyBmb3IgdGhlIGdpdmVuIGVuY29kZXIsIHRoZSBjb250ZW50IHdpbGwgYmUgYXV0b21hdGljYWxseSByZW1hcHBlZCB0byBhIENoYXJSZWYgc2VxdWVuY2UuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5oYW5kbGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5jaGFyIGVuY29uZGluZyB0cmFuc2Zvcm1hdGlvbiBkYXRhIHN0cnVjdHVyZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3V0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxCdWZmZXIiPnhtbEJ1ZmZlcjwvYT4gZm9yIHRoZSBvdXRwdXQuPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQnVmZmVyIj54bWxCdWZmZXI8L2E+IGZvciB0aGUgaW5wdXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgYnl0ZSB3cml0dGVuIGlmIHN1Y2Nlc3MsIG9yIC0xIGdlbmVyYWwgZXJyb3IgLTIgaWYgdGhlIHRyYW5zY29kaW5nIGZhaWxzIChmb3IgKmluIGlzIG5vdCB2YWxpZCB1dGY4IHN0cmluZyBvciB0aGUgcmVzdWx0IG9mIHRyYW5zZm9ybWF0aW9uIGNhbid0IGZpdCBpbnRvIHRoZSBlbmNvZGluZyB3ZSB3YW50KSwgb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxDbGVhbnVwQ2hhckVuY29kaW5nSGFuZGxlcnMiLz54bWxDbGVhbnVwQ2hhckVuY29kaW5nSGFuZGxlcnMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbENsZWFudXBDaGFyRW5jb2RpbmdIYW5kbGVycwkodm9pZCk8YnIvPgorPC9wcmU+PHA+Q2xlYW51cCB0aGUgbWVtb3J5IGFsbG9jYXRlZCBmb3IgdGhlIGNoYXIgZW5jb2Rpbmcgc3VwcG9ydCwgaXQgdW5yZWdpc3RlcnMgYWxsIHRoZSBlbmNvZGluZyBoYW5kbGVycyBhbmQgdGhlIGFsaWFzZXMuPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbENsZWFudXBFbmNvZGluZ0FsaWFzZXMiLz54bWxDbGVhbnVwRW5jb2RpbmdBbGlhc2VzICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxDbGVhbnVwRW5jb2RpbmdBbGlhc2VzCSh2b2lkKTxici8+Cis8L3ByZT48cD5VbnJlZ2lzdGVycyBhbGwgYWxpYXNlczwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxEZWxFbmNvZGluZ0FsaWFzIi8+eG1sRGVsRW5jb2RpbmdBbGlhcyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxEZWxFbmNvZGluZ0FsaWFzCQkoY29uc3QgY2hhciAqIGFsaWFzKTxici8+Cis8L3ByZT48cD5VbnJlZ2lzdGVycyBhbiBlbmNvZGluZyBhbGlhcyBAYWxpYXM8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmFsaWFzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYWxpYXMgbmFtZSBhcyBwYXJzZWQsIGluIFVURi04IGZvcm1hdCAoQVNDSUkgYWN0dWFsbHkpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGluIGNhc2Ugb2Ygc3VjY2VzcywgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbERldGVjdENoYXJFbmNvZGluZyIvPnhtbERldGVjdENoYXJFbmNvZGluZyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmciPnhtbENoYXJFbmNvZGluZzwvYT4JeG1sRGV0ZWN0Q2hhckVuY29kaW5nCShjb25zdCB1bnNpZ25lZCBjaGFyICogaW4sIDxici8+CQkJCQkgaW50IGxlbik8YnIvPgorPC9wcmU+PHA+R3Vlc3MgdGhlIGVuY29kaW5nIG9mIHRoZSBlbnRpdHkgdXNpbmcgdGhlIGZpcnN0IGJ5dGVzIG9mIHRoZSBlbnRpdHkgY29udGVudCBhY2NvcmRpbmcgdG8gdGhlIG5vbi1ub3JtYXRpdmUgYXBwZW5kaXggRiBvZiB0aGUgWE1MLTEuMCByZWNvbW1lbmRhdGlvbi48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmluPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gdGhlIGZpcnN0IGJ5dGVzIG9mIHRoZSBYTUwgZW50aXR5LCBtdXN0IGJlIGF0IGxlYXN0IDIgYnl0ZXMgbG9uZyAoYXQgbGVhc3QgNCBpZiBlbmNvZGluZyBpcyBVVEY0IHZhcmlhbnQpLjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGVuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5wb2ludGVyIHRvIHRoZSBsZW5ndGggb2YgdGhlIGJ1ZmZlcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+b25lIG9mIHRoZSBYTUxfQ0hBUl9FTkNPRElOR18uLi4gdmFsdWVzLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEZpbmRDaGFyRW5jb2RpbmdIYW5kbGVyIi8+eG1sRmluZENoYXJFbmNvZGluZ0hhbmRsZXIgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0ciI+eG1sQ2hhckVuY29kaW5nSGFuZGxlclB0cjwvYT4JeG1sRmluZENoYXJFbmNvZGluZ0hhbmRsZXIJKGNvbnN0IGNoYXIgKiBuYW1lKTxici8+Cis8L3ByZT48cD5TZWFyY2ggaW4gdGhlIHJlZ2lzdGVyZWQgc2V0IHRoZSBoYW5kbGVyIGFibGUgdG8gcmVhZC93cml0ZSB0aGF0IGVuY29kaW5nLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBzdHJpbmcgZGVzY3JpYmluZyB0aGUgY2hhciBlbmNvZGluZy48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBoYW5kbGVyIG9yIE5VTEwgaWYgbm90IGZvdW5kPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sR2V0Q2hhckVuY29kaW5nSGFuZGxlciIvPnhtbEdldENoYXJFbmNvZGluZ0hhbmRsZXIgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0ciI+eG1sQ2hhckVuY29kaW5nSGFuZGxlclB0cjwvYT4JeG1sR2V0Q2hhckVuY29kaW5nSGFuZGxlcgkoPGEgaHJlZj0ibGlieG1sMi1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZyI+eG1sQ2hhckVuY29kaW5nPC9hPiBlbmMpPGJyLz4KKzwvcHJlPjxwPlNlYXJjaCBpbiB0aGUgcmVnaXN0ZXJlZCBzZXQgdGhlIGhhbmRsZXIgYWJsZSB0byByZWFkL3dyaXRlIHRoYXQgZW5jb2RpbmcuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbmM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIDxhIGhyZWY9ImxpYnhtbDItZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmciPnhtbENoYXJFbmNvZGluZzwvYT4gdmFsdWUuPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaGFuZGxlciBvciBOVUxMIGlmIG5vdCBmb3VuZDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEdldENoYXJFbmNvZGluZ05hbWUiLz54bWxHZXRDaGFyRW5jb2RpbmdOYW1lICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Y29uc3QgY2hhciAqCXhtbEdldENoYXJFbmNvZGluZ05hbWUJKDxhIGhyZWY9ImxpYnhtbDItZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmciPnhtbENoYXJFbmNvZGluZzwvYT4gZW5jKTxici8+Cis8L3ByZT48cD5UaGUgImNhbm9uaWNhbCIgbmFtZSBmb3IgWE1MIGVuY29kaW5nLiBDLmYuIGh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy14bWwjY2hhcmVuY29kaW5nIFNlY3Rpb24gNC4zLjMgQ2hhcmFjdGVyIEVuY29kaW5nIGluIEVudGl0aWVzPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbmM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbmNvZGluZzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGNhbm9uaWNhbCBuYW1lIGZvciB0aGUgZ2l2ZW4gZW5jb2Rpbmc8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxHZXRFbmNvZGluZ0FsaWFzIi8+eG1sR2V0RW5jb2RpbmdBbGlhcyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmNvbnN0IGNoYXIgKgl4bWxHZXRFbmNvZGluZ0FsaWFzCShjb25zdCBjaGFyICogYWxpYXMpPGJyLz4KKzwvcHJlPjxwPkxvb2t1cCBhbiBlbmNvZGluZyBuYW1lIGZvciB0aGUgZ2l2ZW4gYWxpYXMuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5hbGlhczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGFsaWFzIG5hbWUgYXMgcGFyc2VkLCBpbiBVVEYtOCBmb3JtYXQgKEFTQ0lJIGFjdHVhbGx5KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+TlVMTCBpZiBub3QgZm91bmQsIG90aGVyd2lzZSB0aGUgb3JpZ2luYWwgbmFtZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEluaXRDaGFyRW5jb2RpbmdIYW5kbGVycyIvPnhtbEluaXRDaGFyRW5jb2RpbmdIYW5kbGVycyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sSW5pdENoYXJFbmNvZGluZ0hhbmRsZXJzCSh2b2lkKTxici8+Cis8L3ByZT48cD5Jbml0aWFsaXplIHRoZSBjaGFyIGVuY29kaW5nIHN1cHBvcnQsIGl0IHJlZ2lzdGVycyB0aGUgZGVmYXVsdCBlbmNvZGluZyBzdXBwb3J0ZWQuIE5PVEU6IHdoaWxlIHB1YmxpYywgdGhpcyBmdW5jdGlvbiB1c3VhbGx5IGRvZXNuJ3QgbmVlZCB0byBiZSBjYWxsZWQgaW4gbm9ybWFsIHByb2Nlc3NpbmcuPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE5ld0NoYXJFbmNvZGluZ0hhbmRsZXIiLz54bWxOZXdDaGFyRW5jb2RpbmdIYW5kbGVyICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIiPnhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHI8L2E+CXhtbE5ld0NoYXJFbmNvZGluZ0hhbmRsZXIJKGNvbnN0IGNoYXIgKiBuYW1lLCA8YnIvPgkJCQkJCQkgPGEgaHJlZj0ibGlieG1sMi1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZ0lucHV0RnVuYyI+eG1sQ2hhckVuY29kaW5nSW5wdXRGdW5jPC9hPiBpbnB1dCwgPGJyLz4JCQkJCQkJIDxhIGhyZWY9ImxpYnhtbDItZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmdPdXRwdXRGdW5jIj54bWxDaGFyRW5jb2RpbmdPdXRwdXRGdW5jPC9hPiBvdXRwdXQpPGJyLz4KKzwvcHJlPjxwPkNyZWF0ZSBhbmQgcmVnaXN0ZXJzIGFuIHhtbENoYXJFbmNvZGluZ0hhbmRsZXIuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZW5jb2RpbmcgbmFtZSwgaW4gVVRGLTggZm9ybWF0IChBU0NJSSBhY3R1YWxseSk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmlucHV0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZ0lucHV0RnVuYyI+eG1sQ2hhckVuY29kaW5nSW5wdXRGdW5jPC9hPiB0byByZWFkIHRoYXQgZW5jb2Rpbmc8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm91dHB1dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDItZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmdPdXRwdXRGdW5jIj54bWxDaGFyRW5jb2RpbmdPdXRwdXRGdW5jPC9hPiB0byB3cml0ZSB0aGF0IGVuY29kaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIiPnhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHI8L2E+IGNyZWF0ZWQgKG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcikuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUGFyc2VDaGFyRW5jb2RpbmciLz54bWxQYXJzZUNoYXJFbmNvZGluZyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmciPnhtbENoYXJFbmNvZGluZzwvYT4JeG1sUGFyc2VDaGFyRW5jb2RpbmcJKGNvbnN0IGNoYXIgKiBuYW1lKTxici8+Cis8L3ByZT48cD5Db21wYXJlIHRoZSBzdHJpbmcgdG8gdGhlIGVuY29kaW5nIHNjaGVtZXMgYWxyZWFkeSBrbm93bi4gTm90ZSB0aGF0IHRoZSBjb21wYXJpc29uIGlzIGNhc2UgaW5zZW5zaXRpdmUgYWNjb3JkaW5nbHkgdG8gdGhlIHNlY3Rpb24gW1hNTF0gNC4zLjMgQ2hhcmFjdGVyIEVuY29kaW5nIGluIEVudGl0aWVzLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVuY29kaW5nIG5hbWUgYXMgcGFyc2VkLCBpbiBVVEYtOCBmb3JtYXQgKEFTQ0lJIGFjdHVhbGx5KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+b25lIG9mIHRoZSBYTUxfQ0hBUl9FTkNPRElOR18uLi4gdmFsdWVzIG9yIDxhIGhyZWY9ImxpYnhtbDItZW5jb2RpbmcuaHRtbCNYTUxfQ0hBUl9FTkNPRElOR19OT05FIj5YTUxfQ0hBUl9FTkNPRElOR19OT05FPC9hPiBpZiBub3QgcmVjb2duaXplZC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxSZWdpc3RlckNoYXJFbmNvZGluZ0hhbmRsZXIiLz54bWxSZWdpc3RlckNoYXJFbmNvZGluZ0hhbmRsZXIgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFJlZ2lzdGVyQ2hhckVuY29kaW5nSGFuZGxlcgkoPGEgaHJlZj0ibGlieG1sMi1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIiPnhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHI8L2E+IGhhbmRsZXIpPGJyLz4KKzwvcHJlPjxwPlJlZ2lzdGVyIHRoZSBjaGFyIGVuY29kaW5nIGhhbmRsZXIsIHN1cnByaXNpbmcsIGlzbid0IGl0ID88L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmhhbmRsZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0ciI+eG1sQ2hhckVuY29kaW5nSGFuZGxlclB0cjwvYT4gaGFuZGxlciBibG9jazwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKyAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvZGV2aGVscC9saWJ4bWwyLWVudGl0aWVzLmh0bWwgYi9saWJ4bWwyL2RvYy9kZXZoZWxwL2xpYnhtbDItZW50aXRpZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMjYyYzQwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvZGV2aGVscC9saWJ4bWwyLWVudGl0aWVzLmh0bWwKQEAgLTAsMCArMSwxNjYgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8aHRtbD4KKyAgPGhlYWQ+CisgICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiLz4KKyAgICA8dGl0bGU+ZW50aXRpZXM6IGludGVyZmFjZSBmb3IgdGhlIFhNTCBlbnRpdGllcyBoYW5kbGluZzwvdGl0bGU+CisgICAgPG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJMaWJ4bWwyIGRldmhlbHAgc3R5bGVzaGVldCIvPgorICAgIDxsaW5rIHJlbD0ic3RhcnQiIGhyZWY9ImluZGV4Lmh0bWwiIHRpdGxlPSJsaWJ4bWwyIFJlZmVyZW5jZSBNYW51YWwiLz4KKyAgICA8bGluayByZWw9InVwIiBocmVmPSJnZW5lcmFsLmh0bWwiIHRpdGxlPSJBUEkiLz4KKyAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9InN0eWxlLmNzcyIgdHlwZT0idGV4dC9jc3MiLz4KKyAgICA8bGluayByZWw9ImNoYXB0ZXIiIGhyZWY9ImdlbmVyYWwuaHRtbCIgdGl0bGU9IkFQSSIvPgorICA8L2hlYWQ+CisgIDxib2R5IGJnY29sb3I9IndoaXRlIiB0ZXh0PSJibGFjayIgbGluaz0iIzAwMDBGRiIgdmxpbms9IiM4NDAwODQiIGFsaW5rPSIjMDAwMEZGIj4KKyAgICA8dGFibGUgY2xhc3M9Im5hdmlnYXRpb24iIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIyIj4KKyAgICAgIDx0ciB2YWxpZ249Im1pZGRsZSI+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImxpYnhtbDItZW5jb2RpbmcuaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0ibGVmdC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlByZXYiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9InUiIGhyZWY9ImdlbmVyYWwuaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0idXAucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJVcCIvPgorICAgICAgICAgIDwvYT4KKyAgICAgICAgPC90ZD4KKyAgICAgICAgPHRkPgorICAgICAgICAgIDxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iaW5kZXguaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0iaG9tZS5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IkhvbWUiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9Im4iIGhyZWY9ImxpYnhtbDItZ2xvYmFscy5odG1sIj4KKyAgICAgICAgICAgIDxpbWcgc3JjPSJyaWdodC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9Ik5leHQiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0aCB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+bGlieG1sMiBSZWZlcmVuY2UgTWFudWFsPC90aD4KKyAgICAgIDwvdHI+CisgICAgPC90YWJsZT4KKyAgICA8aDI+CisgICAgICA8c3BhbiBjbGFzcz0icmVmZW50cnl0aXRsZSI+ZW50aXRpZXM8L3NwYW4+CisgICAgPC9oMj4KKyAgICA8cD5lbnRpdGllcyAtIGludGVyZmFjZSBmb3IgdGhlIFhNTCBlbnRpdGllcyBoYW5kbGluZzwvcD4KKyAgICA8cD50aGlzIG1vZHVsZSBwcm92aWRlcyBzb21lIG9mIHRoZSBlbnRpdHkgQVBJIG5lZWRlZCBmb3IgdGhlIHBhcnNlciBhbmQgYXBwbGljYXRpb25zLiA8L3A+CisgICAgPHA+QXV0aG9yKHMpOiBEYW5pZWwgVmVpbGxhcmQgPC9wPgorICAgIDxkaXYgY2xhc3M9InJlZnN5bm9wc2lzZGl2Ij4KKyAgICAgIDxoMj5TeW5vcHNpczwvaDI+CisgICAgICA8cHJlIGNsYXNzPSJzeW5vcHNpcyI+dHlwZWRlZiBlbnVtIDxhIGhyZWY9IiN4bWxFbnRpdHlUeXBlIj54bWxFbnRpdHlUeXBlPC9hPjsKK3R5cGVkZWYgc3RydWN0IF94bWxIYXNoVGFibGUgPGEgaHJlZj0iI3htbEVudGl0aWVzVGFibGUiPnhtbEVudGl0aWVzVGFibGU8L2E+OwordHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwyLWVudGl0aWVzLmh0bWwjeG1sRW50aXRpZXNUYWJsZSI+eG1sRW50aXRpZXNUYWJsZTwvYT4gKiA8YSBocmVmPSIjeG1sRW50aXRpZXNUYWJsZVB0ciI+eG1sRW50aXRpZXNUYWJsZVB0cjwvYT47Cis8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxFbnRpdHlQdHIiPnhtbEVudGl0eVB0cjwvYT4JPGEgaHJlZj0iI3htbEFkZERvY0VudGl0eSI+eG1sQWRkRG9jRW50aXR5PC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgaW50IHR5cGUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIEV4dGVybmFsSUQsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIFN5c3RlbUlELCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjb250ZW50KTsKKzxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEVudGl0eVB0ciI+eG1sRW50aXR5UHRyPC9hPgk8YSBocmVmPSIjeG1sTmV3RW50aXR5Ij54bWxOZXdFbnRpdHk8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCSBpbnQgdHlwZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogRXh0ZXJuYWxJRCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogU3lzdGVtSUQsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGNvbnRlbnQpOworPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxFbmNvZGVFbnRpdGllc1JlZW50cmFudCI+eG1sRW5jb2RlRW50aXRpZXNSZWVudHJhbnQ8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogaW5wdXQpOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRW50aXR5UHRyIj54bWxFbnRpdHlQdHI8L2E+CTxhIGhyZWY9IiN4bWxHZXREb2NFbnRpdHkiPnhtbEdldERvY0VudGl0eTwvYT4JCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2MiPnhtbERvYzwvYT4gKiBkb2MsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRW50aXR5UHRyIj54bWxFbnRpdHlQdHI8L2E+CTxhIGhyZWY9IiN4bWxHZXREdGRFbnRpdHkiPnhtbEdldER0ZEVudGl0eTwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKTsKKzxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEVudGl0eVB0ciI+eG1sRW50aXR5UHRyPC9hPgk8YSBocmVmPSIjeG1sQWRkRHRkRW50aXR5Ij54bWxBZGREdGRFbnRpdHk8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCSBpbnQgdHlwZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogRXh0ZXJuYWxJRCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogU3lzdGVtSUQsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGNvbnRlbnQpOworPGEgaHJlZj0ibGlieG1sMi1lbnRpdGllcy5odG1sI3htbEVudGl0aWVzVGFibGVQdHIiPnhtbEVudGl0aWVzVGFibGVQdHI8L2E+CTxhIGhyZWY9IiN4bWxDb3B5RW50aXRpZXNUYWJsZSI+eG1sQ29weUVudGl0aWVzVGFibGU8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLWVudGl0aWVzLmh0bWwjeG1sRW50aXRpZXNUYWJsZVB0ciI+eG1sRW50aXRpZXNUYWJsZVB0cjwvYT4gdGFibGUpOwordm9pZAk8YSBocmVmPSIjeG1sRnJlZUVudGl0aWVzVGFibGUiPnhtbEZyZWVFbnRpdGllc1RhYmxlPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItZW50aXRpZXMuaHRtbCN4bWxFbnRpdGllc1RhYmxlUHRyIj54bWxFbnRpdGllc1RhYmxlUHRyPC9hPiB0YWJsZSk7Cis8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxFbnRpdHlQdHIiPnhtbEVudGl0eVB0cjwvYT4JPGEgaHJlZj0iI3htbEdldFBhcmFtZXRlckVudGl0eSI+eG1sR2V0UGFyYW1ldGVyRW50aXR5PC9hPgkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSk7Cit2b2lkCTxhIGhyZWY9IiN4bWxEdW1wRW50aXRpZXNUYWJsZSI+eG1sRHVtcEVudGl0aWVzVGFibGU8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQnVmZmVyUHRyIj54bWxCdWZmZXJQdHI8L2E+IGJ1ZiwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLWVudGl0aWVzLmh0bWwjeG1sRW50aXRpZXNUYWJsZVB0ciI+eG1sRW50aXRpZXNUYWJsZVB0cjwvYT4gdGFibGUpOwordm9pZAk8YSBocmVmPSIjeG1sRHVtcEVudGl0eURlY2wiPnhtbER1bXBFbnRpdHlEZWNsPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEJ1ZmZlclB0ciI+eG1sQnVmZmVyUHRyPC9hPiBidWYsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRW50aXR5UHRyIj54bWxFbnRpdHlQdHI8L2E+IGVudCk7Cit2b2lkCTxhIGhyZWY9IiN4bWxDbGVhbnVwUHJlZGVmaW5lZEVudGl0aWVzIj54bWxDbGVhbnVwUHJlZGVmaW5lZEVudGl0aWVzPC9hPgkodm9pZCk7Cis8YSBocmVmPSJsaWJ4bWwyLWVudGl0aWVzLmh0bWwjeG1sRW50aXRpZXNUYWJsZVB0ciI+eG1sRW50aXRpZXNUYWJsZVB0cjwvYT4JPGEgaHJlZj0iI3htbENyZWF0ZUVudGl0aWVzVGFibGUiPnhtbENyZWF0ZUVudGl0aWVzVGFibGU8L2E+CSh2b2lkKTsKK2NvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sRW5jb2RlRW50aXRpZXMiPnhtbEVuY29kZUVudGl0aWVzPC9hPgkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogaW5wdXQpOworPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxFbmNvZGVTcGVjaWFsQ2hhcnMiPnhtbEVuY29kZVNwZWNpYWxDaGFyczwvYT4JKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvYyI+eG1sRG9jPC9hPiAqIGRvYywgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogaW5wdXQpOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRW50aXR5UHRyIj54bWxFbnRpdHlQdHI8L2E+CTxhIGhyZWY9IiN4bWxHZXRQcmVkZWZpbmVkRW50aXR5Ij54bWxHZXRQcmVkZWZpbmVkRW50aXR5PC9hPgkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpOwordm9pZAk8YSBocmVmPSIjeG1sSW5pdGlhbGl6ZVByZWRlZmluZWRFbnRpdGllcyI+eG1sSW5pdGlhbGl6ZVByZWRlZmluZWRFbnRpdGllczwvYT4JKHZvaWQpOworPC9wcmU+CisgICAgPC9kaXY+CisgICAgPGRpdiBjbGFzcz0icmVmc2VjdDEiIGxhbmc9ImVuIj4KKyAgICAgIDxoMj5EZXNjcmlwdGlvbjwvaDI+CisgICAgPC9kaXY+CisgICAgPGRpdiBjbGFzcz0icmVmc2VjdDEiIGxhbmc9ImVuIj4KKyAgICAgIDxoMj5EZXRhaWxzPC9oMj4KKyAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEVudGl0aWVzVGFibGUiPlN0cnVjdHVyZSA8L2E+eG1sRW50aXRpZXNUYWJsZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnN0cnVjdCBfeG1sSGFzaFRhYmxlIHsKK1RoZSBjb250ZW50IG9mIHRoaXMgc3RydWN0dXJlIGlzIG5vdCBtYWRlIHB1YmxpYyBieSB0aGUgQVBJLgorfSB4bWxFbnRpdGllc1RhYmxlOworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEVudGl0aWVzVGFibGVQdHIiPlR5cGVkZWYgPC9hPnhtbEVudGl0aWVzVGFibGVQdHI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLWVudGl0aWVzLmh0bWwjeG1sRW50aXRpZXNUYWJsZSI+eG1sRW50aXRpZXNUYWJsZTwvYT4gKiB4bWxFbnRpdGllc1RhYmxlUHRyOworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEVudGl0eVR5cGUiPkVudW0gPC9hPnhtbEVudGl0eVR5cGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5lbnVtIDxhIGhyZWY9IiN4bWxFbnRpdHlUeXBlIj54bWxFbnRpdHlUeXBlPC9hPiB7CisgICAgPGEgbmFtZT0iWE1MX0lOVEVSTkFMX0dFTkVSQUxfRU5USVRZIj5YTUxfSU5URVJOQUxfR0VORVJBTF9FTlRJVFk8L2E+ID0gMQorICAgIDxhIG5hbWU9IlhNTF9FWFRFUk5BTF9HRU5FUkFMX1BBUlNFRF9FTlRJVFkiPlhNTF9FWFRFUk5BTF9HRU5FUkFMX1BBUlNFRF9FTlRJVFk8L2E+ID0gMgorICAgIDxhIG5hbWU9IlhNTF9FWFRFUk5BTF9HRU5FUkFMX1VOUEFSU0VEX0VOVElUWSI+WE1MX0VYVEVSTkFMX0dFTkVSQUxfVU5QQVJTRURfRU5USVRZPC9hPiA9IDMKKyAgICA8YSBuYW1lPSJYTUxfSU5URVJOQUxfUEFSQU1FVEVSX0VOVElUWSI+WE1MX0lOVEVSTkFMX1BBUkFNRVRFUl9FTlRJVFk8L2E+ID0gNAorICAgIDxhIG5hbWU9IlhNTF9FWFRFUk5BTF9QQVJBTUVURVJfRU5USVRZIj5YTUxfRVhURVJOQUxfUEFSQU1FVEVSX0VOVElUWTwvYT4gPSA1CisgICAgPGEgbmFtZT0iWE1MX0lOVEVSTkFMX1BSRURFRklORURfRU5USVRZIj5YTUxfSU5URVJOQUxfUFJFREVGSU5FRF9FTlRJVFk8L2E+ID0gNgorfTsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxBZGREb2NFbnRpdHkiLz54bWxBZGREb2NFbnRpdHkgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxFbnRpdHlQdHIiPnhtbEVudGl0eVB0cjwvYT4JeG1sQWRkRG9jRW50aXR5CQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCSBpbnQgdHlwZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogRXh0ZXJuYWxJRCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogU3lzdGVtSUQsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGNvbnRlbnQpPGJyLz4KKzwvcHJlPjxwPlJlZ2lzdGVyIGEgbmV3IGVudGl0eSBmb3IgdGhpcyBkb2N1bWVudC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZW50aXR5IG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnR5cGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbnRpdHkgdHlwZSBYTUxfeHh4X3l5eV9FTlRJVFk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PkV4dGVybmFsSUQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbnRpdHkgZXh0ZXJuYWwgSUQgaWYgYXZhaWxhYmxlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5TeXN0ZW1JRDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVudGl0eSBzeXN0ZW0gSUQgaWYgYXZhaWxhYmxlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb250ZW50PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZW50aXR5IGNvbnRlbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byB0aGUgZW50aXR5IG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEFkZER0ZEVudGl0eSIvPnhtbEFkZER0ZEVudGl0eSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEVudGl0eVB0ciI+eG1sRW50aXR5UHRyPC9hPgl4bWxBZGREdGRFbnRpdHkJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJIGludCB0eXBlLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBFeHRlcm5hbElELCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBTeXN0ZW1JRCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY29udGVudCk8YnIvPgorPC9wcmU+PHA+UmVnaXN0ZXIgYSBuZXcgZW50aXR5IGZvciB0aGlzIGRvY3VtZW50IERURCBleHRlcm5hbCBzdWJzZXQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVudGl0eSBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50eXBlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZW50aXR5IHR5cGUgWE1MX3h4eF95eXlfRU5USVRZPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5FeHRlcm5hbElEPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZW50aXR5IGV4dGVybmFsIElEIGlmIGF2YWlsYWJsZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+U3lzdGVtSUQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbnRpdHkgc3lzdGVtIElEIGlmIGF2YWlsYWJsZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29udGVudDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVudGl0eSBjb250ZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gdGhlIGVudGl0eSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxDbGVhbnVwUHJlZGVmaW5lZEVudGl0aWVzIi8+eG1sQ2xlYW51cFByZWRlZmluZWRFbnRpdGllcyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sQ2xlYW51cFByZWRlZmluZWRFbnRpdGllcwkodm9pZCk8YnIvPgorPC9wcmU+PHA+Q2xlYW51cCB1cCB0aGUgcHJlZGVmaW5lZCBlbnRpdGllcyB0YWJsZS4gRGVwcmVjYXRlZCBjYWxsPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbENvcHlFbnRpdGllc1RhYmxlIi8+eG1sQ29weUVudGl0aWVzVGFibGUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLWVudGl0aWVzLmh0bWwjeG1sRW50aXRpZXNUYWJsZVB0ciI+eG1sRW50aXRpZXNUYWJsZVB0cjwvYT4JeG1sQ29weUVudGl0aWVzVGFibGUJKDxhIGhyZWY9ImxpYnhtbDItZW50aXRpZXMuaHRtbCN4bWxFbnRpdGllc1RhYmxlUHRyIj54bWxFbnRpdGllc1RhYmxlUHRyPC9hPiB0YWJsZSk8YnIvPgorPC9wcmU+PHA+QnVpbGQgYSBjb3B5IG9mIGFuIGVudGl0eSB0YWJsZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRhYmxlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5BbiBlbnRpdHkgdGFibGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXcgPGEgaHJlZj0ibGlieG1sMi1lbnRpdGllcy5odG1sI3htbEVudGl0aWVzVGFibGVQdHIiPnhtbEVudGl0aWVzVGFibGVQdHI8L2E+IG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxDcmVhdGVFbnRpdGllc1RhYmxlIi8+eG1sQ3JlYXRlRW50aXRpZXNUYWJsZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItZW50aXRpZXMuaHRtbCN4bWxFbnRpdGllc1RhYmxlUHRyIj54bWxFbnRpdGllc1RhYmxlUHRyPC9hPgl4bWxDcmVhdGVFbnRpdGllc1RhYmxlCSh2b2lkKTxici8+Cis8L3ByZT48cD5jcmVhdGUgYW5kIGluaXRpYWxpemUgYW4gZW1wdHkgZW50aXRpZXMgaGFzaCB0YWJsZS4gVGhpcyByZWFsbHkgZG9lc24ndCBtYWtlIHNlbnNlIGFuZCBzaG91bGQgYmUgZGVwcmVjYXRlZDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDItZW50aXRpZXMuaHRtbCN4bWxFbnRpdGllc1RhYmxlUHRyIj54bWxFbnRpdGllc1RhYmxlUHRyPC9hPiBqdXN0IGNyZWF0ZWQgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbER1bXBFbnRpdGllc1RhYmxlIi8+eG1sRHVtcEVudGl0aWVzVGFibGUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbER1bXBFbnRpdGllc1RhYmxlCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQnVmZmVyUHRyIj54bWxCdWZmZXJQdHI8L2E+IGJ1ZiwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLWVudGl0aWVzLmh0bWwjeG1sRW50aXRpZXNUYWJsZVB0ciI+eG1sRW50aXRpZXNUYWJsZVB0cjwvYT4gdGFibGUpPGJyLz4KKzwvcHJlPjxwPlRoaXMgd2lsbCBkdW1wIHRoZSBjb250ZW50IG9mIHRoZSBlbnRpdHkgdGFibGUgYXMgYW4gWE1MIERURCBkZWZpbml0aW9uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5idWY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPkFuIFhNTCBidWZmZXIuPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50YWJsZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+QW4gZW50aXR5IHRhYmxlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sRHVtcEVudGl0eURlY2wiLz54bWxEdW1wRW50aXR5RGVjbCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sRHVtcEVudGl0eURlY2wJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxCdWZmZXJQdHIiPnhtbEJ1ZmZlclB0cjwvYT4gYnVmLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEVudGl0eVB0ciI+eG1sRW50aXR5UHRyPC9hPiBlbnQpPGJyLz4KKzwvcHJlPjxwPlRoaXMgd2lsbCBkdW1wIHRoZSBjb250ZW50IG9mIHRoZSBlbnRpdHkgdGFibGUgYXMgYW4gWE1MIERURCBkZWZpbml0aW9uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5idWY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPkFuIFhNTCBidWZmZXIuPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbnQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPkFuIGVudGl0eSB0YWJsZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEVuY29kZUVudGl0aWVzIi8+eG1sRW5jb2RlRW50aXRpZXMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5jb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sRW5jb2RlRW50aXRpZXMJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGlucHV0KTxici8+Cis8L3ByZT48cD5UT0RPOiByZW1vdmUgeG1sRW5jb2RlRW50aXRpZXMsIG9uY2Ugd2UgYXJlIG5vdCBhZnJhaWQgb2YgYnJlYWtpbmcgYmluYXJ5IGNvbXBhdGliaWxpdHkgUGVvcGxlIG11c3QgbWlncmF0ZSB0aGVpciBjb2RlIHRvIDxhIGhyZWY9ImxpYnhtbDItZW50aXRpZXMuaHRtbCN4bWxFbmNvZGVFbnRpdGllc1JlZW50cmFudCI+eG1sRW5jb2RlRW50aXRpZXNSZWVudHJhbnQ8L2E+ICEgVGhpcyByb3V0aW5lIHdpbGwgaXNzdWUgYSB3YXJuaW5nIHdoZW4gZW5jb3VudGVyZWQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudCBjb250YWluaW5nIHRoZSBzdHJpbmc8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmlucHV0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5BIHN0cmluZyB0byBjb252ZXJ0IHRvIFhNTC48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPk5VTEw8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxFbmNvZGVFbnRpdGllc1JlZW50cmFudCIvPnhtbEVuY29kZUVudGl0aWVzUmVlbnRyYW50ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbEVuY29kZUVudGl0aWVzUmVlbnRyYW50CSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogaW5wdXQpPGJyLz4KKzwvcHJlPjxwPkRvIGEgZ2xvYmFsIGVuY29kaW5nIG9mIGEgc3RyaW5nLCByZXBsYWNpbmcgdGhlIHByZWRlZmluZWQgZW50aXRpZXMgYW5kIG5vbiBBU0NJSSB2YWx1ZXMgd2l0aCB0aGVpciBlbnRpdGllcyBhbmQgQ2hhclJlZiBjb3VudGVycGFydHMuIENvbnRyYXJ5IHRvIHhtbEVuY29kZUVudGl0aWVzLCB0aGlzIHJvdXRpbmUgaXMgcmVlbnRyYW50LCBhbmQgcmVzdWx0IG11c3QgYmUgZGVhbGxvY2F0ZWQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudCBjb250YWluaW5nIHRoZSBzdHJpbmc8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmlucHV0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5BIHN0cmluZyB0byBjb252ZXJ0IHRvIFhNTC48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPkEgbmV3bHkgYWxsb2NhdGVkIHN0cmluZyB3aXRoIHRoZSBzdWJzdGl0dXRpb24gZG9uZS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxFbmNvZGVTcGVjaWFsQ2hhcnMiLz54bWxFbmNvZGVTcGVjaWFsQ2hhcnMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sRW5jb2RlU3BlY2lhbENoYXJzCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2MiPnhtbERvYzwvYT4gKiBkb2MsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGlucHV0KTxici8+Cis8L3ByZT48cD5EbyBhIGdsb2JhbCBlbmNvZGluZyBvZiBhIHN0cmluZywgcmVwbGFjaW5nIHRoZSBwcmVkZWZpbmVkIGVudGl0aWVzIHRoaXMgcm91dGluZSBpcyByZWVudHJhbnQsIGFuZCByZXN1bHQgbXVzdCBiZSBkZWFsbG9jYXRlZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50IGNvbnRhaW5pbmcgdGhlIHN0cmluZzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aW5wdXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPkEgc3RyaW5nIHRvIGNvbnZlcnQgdG8gWE1MLjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+QSBuZXdseSBhbGxvY2F0ZWQgc3RyaW5nIHdpdGggdGhlIHN1YnN0aXR1dGlvbiBkb25lLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEZyZWVFbnRpdGllc1RhYmxlIi8+eG1sRnJlZUVudGl0aWVzVGFibGUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbEZyZWVFbnRpdGllc1RhYmxlCQkoPGEgaHJlZj0ibGlieG1sMi1lbnRpdGllcy5odG1sI3htbEVudGl0aWVzVGFibGVQdHIiPnhtbEVudGl0aWVzVGFibGVQdHI8L2E+IHRhYmxlKTxici8+Cis8L3ByZT48cD5EZWFsbG9jYXRlIHRoZSBtZW1vcnkgdXNlZCBieSBhbiBlbnRpdGllcyBoYXNoIHRhYmxlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dGFibGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPkFuIGVudGl0eSB0YWJsZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEdldERvY0VudGl0eSIvPnhtbEdldERvY0VudGl0eSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEVudGl0eVB0ciI+eG1sRW50aXR5UHRyPC9hPgl4bWxHZXREb2NFbnRpdHkJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2MiPnhtbERvYzwvYT4gKiBkb2MsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpPGJyLz4KKzwvcHJlPjxwPkRvIGFuIGVudGl0eSBsb29rdXAgaW4gdGhlIGRvY3VtZW50IGVudGl0eSBoYXNoIHRhYmxlIGFuZDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQgcmVmZXJlbmNpbmcgdGhlIGVudGl0eTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVudGl0eSBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY29ycmVzcG9uZGluZyBlbnRpdHksIG90aGVyd2lzZSBhIGxvb2t1cCBpcyBkb25lIGluIHRoZSBwcmVkZWZpbmVkIGVudGl0aWVzIHRvby4gUmV0dXJucyBBIHBvaW50ZXIgdG8gdGhlIGVudGl0eSBzdHJ1Y3R1cmUgb3IgTlVMTCBpZiBub3QgZm91bmQuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sR2V0RHRkRW50aXR5Ii8+eG1sR2V0RHRkRW50aXR5ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRW50aXR5UHRyIj54bWxFbnRpdHlQdHI8L2E+CXhtbEdldER0ZEVudGl0eQkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpPGJyLz4KKzwvcHJlPjxwPkRvIGFuIGVudGl0eSBsb29rdXAgaW4gdGhlIERURCBlbnRpdHkgaGFzaCB0YWJsZSBhbmQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50IHJlZmVyZW5jaW5nIHRoZSBlbnRpdHk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbnRpdHkgbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGNvcnJlc3BvbmRpbmcgZW50aXR5LCBpZiBmb3VuZC4gTm90ZTogdGhlIGZpcnN0IGFyZ3VtZW50IGlzIHRoZSBkb2N1bWVudCBub2RlLCBub3QgdGhlIERURCBub2RlLiBSZXR1cm5zIEEgcG9pbnRlciB0byB0aGUgZW50aXR5IHN0cnVjdHVyZSBvciBOVUxMIGlmIG5vdCBmb3VuZC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxHZXRQYXJhbWV0ZXJFbnRpdHkiLz54bWxHZXRQYXJhbWV0ZXJFbnRpdHkgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxFbnRpdHlQdHIiPnhtbEVudGl0eVB0cjwvYT4JeG1sR2V0UGFyYW1ldGVyRW50aXR5CSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKTxici8+Cis8L3ByZT48cD5EbyBhbiBlbnRpdHkgbG9va3VwIGluIHRoZSBpbnRlcm5hbCBhbmQgZXh0ZXJuYWwgc3Vic2V0cyBhbmQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50IHJlZmVyZW5jaW5nIHRoZSBlbnRpdHk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbnRpdHkgbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGNvcnJlc3BvbmRpbmcgcGFyYW1ldGVyIGVudGl0eSwgaWYgZm91bmQuIFJldHVybnMgQSBwb2ludGVyIHRvIHRoZSBlbnRpdHkgc3RydWN0dXJlIG9yIE5VTEwgaWYgbm90IGZvdW5kLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEdldFByZWRlZmluZWRFbnRpdHkiLz54bWxHZXRQcmVkZWZpbmVkRW50aXR5ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRW50aXR5UHRyIj54bWxFbnRpdHlQdHI8L2E+CXhtbEdldFByZWRlZmluZWRFbnRpdHkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKTxici8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoaXMgbmFtZSBpcyBhbiBwcmVkZWZpbmVkIGVudGl0eS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbnRpdHkgbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+TlVMTCBpZiBub3QsIG90aGVyd2lzZSB0aGUgZW50aXR5PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sSW5pdGlhbGl6ZVByZWRlZmluZWRFbnRpdGllcyIvPnhtbEluaXRpYWxpemVQcmVkZWZpbmVkRW50aXRpZXMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbEluaXRpYWxpemVQcmVkZWZpbmVkRW50aXRpZXMJKHZvaWQpPGJyLz4KKzwvcHJlPjxwPlNldCB1cCB0aGUgcHJlZGVmaW5lZCBlbnRpdGllcy4gRGVwcmVjYXRlZCBjYWxsPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE5ld0VudGl0eSIvPnhtbE5ld0VudGl0eSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEVudGl0eVB0ciI+eG1sRW50aXR5UHRyPC9hPgl4bWxOZXdFbnRpdHkJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJIGludCB0eXBlLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBFeHRlcm5hbElELCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBTeXN0ZW1JRCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY29udGVudCk8YnIvPgorPC9wcmU+PHA+Q3JlYXRlIGEgbmV3IGVudGl0eSwgdGhpcyBkaWZmZXJzIGZyb20geG1sQWRkRG9jRW50aXR5KCkgdGhhdCBpZiB0aGUgZG9jdW1lbnQgaXMgTlVMTCBvciBoYXMgbm8gaW50ZXJuYWwgc3Vic2V0IGRlZmluZWQsIHRoZW4gYW4gdW5saW5rZWQgZW50aXR5IHN0cnVjdHVyZSB3aWxsIGJlIHJldHVybmVkLCBpdCBpcyB0aGVuIHRoZSByZXNwb25zYWJpbGl0eSBvZiB0aGUgY2FsbGVyIHRvIGxpbmsgaXQgdG8gdGhlIGRvY3VtZW50IGxhdGVyIG9yIGZyZWUgaXQgd2hlbiBub3QgbmVlZGVkIGFueW1vcmUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVudGl0eSBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50eXBlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZW50aXR5IHR5cGUgWE1MX3h4eF95eXlfRU5USVRZPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5FeHRlcm5hbElEPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZW50aXR5IGV4dGVybmFsIElEIGlmIGF2YWlsYWJsZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+U3lzdGVtSUQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbnRpdHkgc3lzdGVtIElEIGlmIGF2YWlsYWJsZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29udGVudDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVudGl0eSBjb250ZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gdGhlIGVudGl0eSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgPC9kaXY+CisgICAgPC9kaXY+CisgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2RldmhlbHAvbGlieG1sMi1nbG9iYWxzLmh0bWwgYi9saWJ4bWwyL2RvYy9kZXZoZWxwL2xpYnhtbDItZ2xvYmFscy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQxNTQ5MmIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9kZXZoZWxwL2xpYnhtbDItZ2xvYmFscy5odG1sCkBAIC0wLDAgKzEsMzgzIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPGh0bWw+CisgIDxoZWFkPgorICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ii8+CisgICAgPHRpdGxlPmdsb2JhbHM6IGludGVyZmFjZSBmb3IgYWxsIGdsb2JhbCB2YXJpYWJsZXMgb2YgdGhlIGxpYnJhcnk8L3RpdGxlPgorICAgIDxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iTGlieG1sMiBkZXZoZWxwIHN0eWxlc2hlZXQiLz4KKyAgICA8bGluayByZWw9InN0YXJ0IiBocmVmPSJpbmRleC5odG1sIiB0aXRsZT0ibGlieG1sMiBSZWZlcmVuY2UgTWFudWFsIi8+CisgICAgPGxpbmsgcmVsPSJ1cCIgaHJlZj0iZ2VuZXJhbC5odG1sIiB0aXRsZT0iQVBJIi8+CisgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJzdHlsZS5jc3MiIHR5cGU9InRleHQvY3NzIi8+CisgICAgPGxpbmsgcmVsPSJjaGFwdGVyIiBocmVmPSJnZW5lcmFsLmh0bWwiIHRpdGxlPSJBUEkiLz4KKyAgPC9oZWFkPgorICA8Ym9keSBiZ2NvbG9yPSJ3aGl0ZSIgdGV4dD0iYmxhY2siIGxpbms9IiMwMDAwRkYiIHZsaW5rPSIjODQwMDg0IiBhbGluaz0iIzAwMDBGRiI+CisgICAgPHRhYmxlIGNsYXNzPSJuYXZpZ2F0aW9uIiB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBoZWFkZXIiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMiI+CisgICAgICA8dHIgdmFsaWduPSJtaWRkbGUiPgorICAgICAgICA8dGQ+CisgICAgICAgICAgPGEgYWNjZXNza2V5PSJwIiBocmVmPSJsaWJ4bWwyLWVudGl0aWVzLmh0bWwiPgorICAgICAgICAgICAgPGltZyBzcmM9ImxlZnQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJQcmV2Ii8+CisgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGQ+CisgICAgICAgICAgPGEgYWNjZXNza2V5PSJ1IiBocmVmPSJnZW5lcmFsLmh0bWwiPgorICAgICAgICAgICAgPGltZyBzcmM9InVwLnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iVXAiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9ImgiIGhyZWY9ImluZGV4Lmh0bWwiPgorICAgICAgICAgICAgPGltZyBzcmM9ImhvbWUucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJIb21lIi8+CisgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGQ+CisgICAgICAgICAgPGEgYWNjZXNza2V5PSJuIiBocmVmPSJsaWJ4bWwyLWhhc2guaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0icmlnaHQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJOZXh0Ii8+CisgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGggd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPmxpYnhtbDIgUmVmZXJlbmNlIE1hbnVhbDwvdGg+CisgICAgICA8L3RyPgorICAgIDwvdGFibGU+CisgICAgPGgyPgorICAgICAgPHNwYW4gY2xhc3M9InJlZmVudHJ5dGl0bGUiPmdsb2JhbHM8L3NwYW4+CisgICAgPC9oMj4KKyAgICA8cD5nbG9iYWxzIC0gaW50ZXJmYWNlIGZvciBhbGwgZ2xvYmFsIHZhcmlhYmxlcyBvZiB0aGUgbGlicmFyeTwvcD4KKyAgICA8cD5hbGwgdGhlIGdsb2JhbCB2YXJpYWJsZXMgYW5kIHRocmVhZCBoYW5kbGluZyBmb3IgdGhvc2UgdmFyaWFibGVzIGlzIGhhbmRsZWQgYnkgdGhpcyBtb2R1bGUuICBUaGUgYm90dG9tIG9mIHRoaXMgZmlsZSBpcyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSBidWlsZF9nbG9iLnB5IGJhc2VkIG9uIHRoZSBkZXNjcmlwdGlvbiBmaWxlIGdsb2JhbC5kYXRhIDwvcD4KKyAgICA8cD5BdXRob3Iocyk6IEdhcnkgUGVubmluZ3RvbiAmbHQ7R2FyeS5QZW5uaW5ndG9uQHVrLnN1bi5jb20mZ3Q7LCBEYW5pZWwgVmVpbGxhcmQgPC9wPgorICAgIDxkaXYgY2xhc3M9InJlZnN5bm9wc2lzZGl2Ij4KKyAgICAgIDxoMj5TeW5vcHNpczwvaDI+CisgICAgICA8cHJlIGNsYXNzPSJzeW5vcHNpcyI+dHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwyLWdsb2JhbHMuaHRtbCN4bWxHbG9iYWxTdGF0ZSI+eG1sR2xvYmFsU3RhdGU8L2E+ICogPGEgaHJlZj0iI3htbEdsb2JhbFN0YXRlUHRyIj54bWxHbG9iYWxTdGF0ZVB0cjwvYT47Cit0eXBlZGVmIHN0cnVjdCBfeG1sR2xvYmFsU3RhdGUgPGEgaHJlZj0iI3htbEdsb2JhbFN0YXRlIj54bWxHbG9iYWxTdGF0ZTwvYT47Cit2b2lkCTxhIGhyZWY9IiN4bWxUaHJEZWZTZXRTdHJ1Y3R1cmVkRXJyb3JGdW5jIj54bWxUaHJEZWZTZXRTdHJ1Y3R1cmVkRXJyb3JGdW5jPC9hPgkodm9pZCAqIGN0eCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjeG1sU3RydWN0dXJlZEVycm9yRnVuYyI+eG1sU3RydWN0dXJlZEVycm9yRnVuYzwvYT4gaGFuZGxlcik7Cit2b2lkCTxhIGhyZWY9IiN4bWxJbml0aWFsaXplR2xvYmFsU3RhdGUiPnhtbEluaXRpYWxpemVHbG9iYWxTdGF0ZTwvYT4JKDxhIGhyZWY9ImxpYnhtbDItZ2xvYmFscy5odG1sI3htbEdsb2JhbFN0YXRlUHRyIj54bWxHbG9iYWxTdGF0ZVB0cjwvYT4gZ3MpOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQnVmZmVyQWxsb2NhdGlvblNjaGVtZSI+eG1sQnVmZmVyQWxsb2NhdGlvblNjaGVtZTwvYT4JPGEgaHJlZj0iI3htbFRockRlZkJ1ZmZlckFsbG9jU2NoZW1lIj54bWxUaHJEZWZCdWZmZXJBbGxvY1NjaGVtZTwvYT4JKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUiPnhtbEJ1ZmZlckFsbG9jYXRpb25TY2hlbWU8L2E+IHYpOworaW50CTxhIGhyZWY9IiN4bWxUaHJEZWZQZWRhbnRpY1BhcnNlckRlZmF1bHRWYWx1ZSI+eG1sVGhyRGVmUGVkYW50aWNQYXJzZXJEZWZhdWx0VmFsdWU8L2E+CShpbnQgdik7Cis8YSBocmVmPSJsaWJ4bWwyLWdsb2JhbHMuaHRtbCN4bWxSZWdpc3Rlck5vZGVGdW5jIj54bWxSZWdpc3Rlck5vZGVGdW5jPC9hPgk8YSBocmVmPSIjeG1sUmVnaXN0ZXJOb2RlRGVmYXVsdCI+eG1sUmVnaXN0ZXJOb2RlRGVmYXVsdDwvYT4JKDxhIGhyZWY9ImxpYnhtbDItZ2xvYmFscy5odG1sI3htbFJlZ2lzdGVyTm9kZUZ1bmMiPnhtbFJlZ2lzdGVyTm9kZUZ1bmM8L2E+IGZ1bmMpOwordHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciI+eG1sUGFyc2VySW5wdXRCdWZmZXJQdHI8L2E+IDxhIGhyZWY9IiN4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYyI+eG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmM8L2E+CShjb25zdCBjaGFyICogVVJJLCA8YnIvPgkJCQkJCQkgPGEgaHJlZj0ibGlieG1sMi1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZyI+eG1sQ2hhckVuY29kaW5nPC9hPiBlbmMpOworPGEgaHJlZj0ibGlieG1sMi1nbG9iYWxzLmh0bWwjeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jIj54bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmM8L2E+CTxhIGhyZWY9IiN4bWxUaHJEZWZPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQiPnhtbFRockRlZk91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRGVmYXVsdDwvYT4JKDxhIGhyZWY9ImxpYnhtbDItZ2xvYmFscy5odG1sI3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYyI+eG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jPC9hPiBmdW5jKTsKKzxhIGhyZWY9ImxpYnhtbDItZ2xvYmFscy5odG1sI3htbERlcmVnaXN0ZXJOb2RlRnVuYyI+eG1sRGVyZWdpc3Rlck5vZGVGdW5jPC9hPgk8YSBocmVmPSIjeG1sRGVyZWdpc3Rlck5vZGVEZWZhdWx0Ij54bWxEZXJlZ2lzdGVyTm9kZURlZmF1bHQ8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLWdsb2JhbHMuaHRtbCN4bWxEZXJlZ2lzdGVyTm9kZUZ1bmMiPnhtbERlcmVnaXN0ZXJOb2RlRnVuYzwvYT4gZnVuYyk7CitpbnQJPGEgaHJlZj0iI3htbFRockRlZkRlZmF1bHRCdWZmZXJTaXplIj54bWxUaHJEZWZEZWZhdWx0QnVmZmVyU2l6ZTwvYT4JKGludCB2KTsKKzxhIGhyZWY9ImxpYnhtbDItZ2xvYmFscy5odG1sI3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYyI+eG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jPC9hPgk8YSBocmVmPSIjeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0Ij54bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQ8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLWdsb2JhbHMuaHRtbCN4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmMiPnhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYzwvYT4gZnVuYyk7CitpbnQJPGEgaHJlZj0iI3htbFRockRlZkxvYWRFeHREdGREZWZhdWx0VmFsdWUiPnhtbFRockRlZkxvYWRFeHREdGREZWZhdWx0VmFsdWU8L2E+CShpbnQgdik7Cis8YSBocmVmPSJsaWJ4bWwyLWdsb2JhbHMuaHRtbCN4bWxSZWdpc3Rlck5vZGVGdW5jIj54bWxSZWdpc3Rlck5vZGVGdW5jPC9hPgk8YSBocmVmPSIjeG1sVGhyRGVmUmVnaXN0ZXJOb2RlRGVmYXVsdCI+eG1sVGhyRGVmUmVnaXN0ZXJOb2RlRGVmYXVsdDwvYT4JKDxhIGhyZWY9ImxpYnhtbDItZ2xvYmFscy5odG1sI3htbFJlZ2lzdGVyTm9kZUZ1bmMiPnhtbFJlZ2lzdGVyTm9kZUZ1bmM8L2E+IGZ1bmMpOworaW50CTxhIGhyZWY9IiN4bWxUaHJEZWZLZWVwQmxhbmtzRGVmYXVsdFZhbHVlIj54bWxUaHJEZWZLZWVwQmxhbmtzRGVmYXVsdFZhbHVlPC9hPgkoaW50IHYpOwordHlwZWRlZiB2b2lkIDxhIGhyZWY9IiN4bWxEZXJlZ2lzdGVyTm9kZUZ1bmMiPnhtbERlcmVnaXN0ZXJOb2RlRnVuYzwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlKTsKK2ludAk8YSBocmVmPSIjeG1sVGhyRGVmUGFyc2VyRGVidWdFbnRpdGllcyI+eG1sVGhyRGVmUGFyc2VyRGVidWdFbnRpdGllczwvYT4JKGludCB2KTsKKzxhIGhyZWY9ImxpYnhtbDItZ2xvYmFscy5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jIj54bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYzwvYT4JPGEgaHJlZj0iI3htbFRockRlZlBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0Ij54bWxUaHJEZWZQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRGVmYXVsdDwvYT4JKDxhIGhyZWY9ImxpYnhtbDItZ2xvYmFscy5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jIj54bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYzwvYT4gZnVuYyk7Cit2b2lkCTxhIGhyZWY9IiN4bWxUaHJEZWZTZXRHZW5lcmljRXJyb3JGdW5jIj54bWxUaHJEZWZTZXRHZW5lcmljRXJyb3JGdW5jPC9hPgkodm9pZCAqIGN0eCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjeG1sR2VuZXJpY0Vycm9yRnVuYyI+eG1sR2VuZXJpY0Vycm9yRnVuYzwvYT4gaGFuZGxlcik7Cis8YSBocmVmPSJsaWJ4bWwyLWdsb2JhbHMuaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYyI+eG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmM8L2E+CTxhIGhyZWY9IiN4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRGVmYXVsdCI+eG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQ8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLWdsb2JhbHMuaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYyI+eG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmM8L2E+IGZ1bmMpOworaW50CTxhIGhyZWY9IiN4bWxUaHJEZWZEb1ZhbGlkaXR5Q2hlY2tpbmdEZWZhdWx0VmFsdWUiPnhtbFRockRlZkRvVmFsaWRpdHlDaGVja2luZ0RlZmF1bHRWYWx1ZTwvYT4JKGludCB2KTsKK3ZvaWQJPGEgaHJlZj0iI3htbENsZWFudXBHbG9iYWxzIj54bWxDbGVhbnVwR2xvYmFsczwvYT4JCSh2b2lkKTsKK2ludAk8YSBocmVmPSIjeG1sVGhyRGVmR2V0V2FybmluZ3NEZWZhdWx0VmFsdWUiPnhtbFRockRlZkdldFdhcm5pbmdzRGVmYXVsdFZhbHVlPC9hPgkoaW50IHYpOworPGEgaHJlZj0ibGlieG1sMi1nbG9iYWxzLmh0bWwjeG1sRGVyZWdpc3Rlck5vZGVGdW5jIj54bWxEZXJlZ2lzdGVyTm9kZUZ1bmM8L2E+CTxhIGhyZWY9IiN4bWxUaHJEZWZEZXJlZ2lzdGVyTm9kZURlZmF1bHQiPnhtbFRockRlZkRlcmVnaXN0ZXJOb2RlRGVmYXVsdDwvYT4JKDxhIGhyZWY9ImxpYnhtbDItZ2xvYmFscy5odG1sI3htbERlcmVnaXN0ZXJOb2RlRnVuYyI+eG1sRGVyZWdpc3Rlck5vZGVGdW5jPC9hPiBmdW5jKTsKK2ludAk8YSBocmVmPSIjeG1sVGhyRGVmU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdFZhbHVlIj54bWxUaHJEZWZTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0VmFsdWU8L2E+CShpbnQgdik7Cit0eXBlZGVmIHZvaWQgPGEgaHJlZj0iI3htbFJlZ2lzdGVyTm9kZUZ1bmMiPnhtbFJlZ2lzdGVyTm9kZUZ1bmM8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSk7CitpbnQJPGEgaHJlZj0iI3htbFRockRlZlNhdmVOb0VtcHR5VGFncyI+eG1sVGhyRGVmU2F2ZU5vRW1wdHlUYWdzPC9hPgkoaW50IHYpOworaW50CTxhIGhyZWY9IiN4bWxUaHJEZWZJbmRlbnRUcmVlT3V0cHV0Ij54bWxUaHJEZWZJbmRlbnRUcmVlT3V0cHV0PC9hPgkoaW50IHYpOwordHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxPdXRwdXRCdWZmZXJQdHIiPnhtbE91dHB1dEJ1ZmZlclB0cjwvYT4gPGEgaHJlZj0iI3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYyI+eG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jPC9hPgkoY29uc3QgY2hhciAqIFVSSSwgPGJyLz4JCQkJCQkJIDxhIGhyZWY9ImxpYnhtbDItZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyIj54bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyPC9hPiBlbmNvZGVyLCA8YnIvPgkJCQkJCQkgaW50IGNvbXByZXNzaW9uKTsKK3ZvaWQJPGEgaHJlZj0iI3htbEluaXRHbG9iYWxzIj54bWxJbml0R2xvYmFsczwvYT4JCQkodm9pZCk7CitpbnQJPGEgaHJlZj0iI3htbFRockRlZkxpbmVOdW1iZXJzRGVmYXVsdFZhbHVlIj54bWxUaHJEZWZMaW5lTnVtYmVyc0RlZmF1bHRWYWx1ZTwvYT4JKGludCB2KTsKK2NvbnN0IGNoYXIgKgk8YSBocmVmPSIjeG1sVGhyRGVmVHJlZUluZGVudFN0cmluZyI+eG1sVGhyRGVmVHJlZUluZGVudFN0cmluZzwvYT4JKGNvbnN0IGNoYXIgKiB2KTsKKzwvcHJlPgorICAgIDwvZGl2PgorICAgIDxkaXYgY2xhc3M9InJlZnNlY3QxIiBsYW5nPSJlbiI+CisgICAgICA8aDI+RGVzY3JpcHRpb248L2gyPgorICAgIDwvZGl2PgorICAgIDxkaXYgY2xhc3M9InJlZnNlY3QxIiBsYW5nPSJlbiI+CisgICAgICA8aDI+RGV0YWlsczwvaDI+CisgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxHbG9iYWxTdGF0ZSI+U3RydWN0dXJlIDwvYT54bWxHbG9iYWxTdGF0ZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnN0cnVjdCBfeG1sR2xvYmFsU3RhdGUgeworICAgIGNvbnN0IGNoYXIgKgl4bWxQYXJzZXJWZXJzaW9uCisgICAgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sU0FYTG9jYXRvciI+eG1sU0FYTG9jYXRvcjwvYT4JeG1sRGVmYXVsdFNBWExvY2F0b3IKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXBhcnNlci5odG1sI3htbFNBWEhhbmRsZXJWMSI+eG1sU0FYSGFuZGxlclYxPC9hPgl4bWxEZWZhdWx0U0FYSGFuZGxlcgorICAgIDxhIGhyZWY9ImxpYnhtbDItcGFyc2VyLmh0bWwjeG1sU0FYSGFuZGxlclYxIj54bWxTQVhIYW5kbGVyVjE8L2E+CWRvY2JEZWZhdWx0U0FYSGFuZGxlcgorICAgIDxhIGhyZWY9ImxpYnhtbDItcGFyc2VyLmh0bWwjeG1sU0FYSGFuZGxlclYxIj54bWxTQVhIYW5kbGVyVjE8L2E+CWh0bWxEZWZhdWx0U0FYSGFuZGxlcgorICAgIDxhIGhyZWY9ImxpYnhtbDIteG1sbWVtb3J5Lmh0bWwjeG1sRnJlZUZ1bmMiPnhtbEZyZWVGdW5jPC9hPgl4bWxGcmVlCisgICAgPGEgaHJlZj0ibGlieG1sMi14bWxtZW1vcnkuaHRtbCN4bWxNYWxsb2NGdW5jIj54bWxNYWxsb2NGdW5jPC9hPgl4bWxNYWxsb2MKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXhtbG1lbW9yeS5odG1sI3htbFN0cmR1cEZ1bmMiPnhtbFN0cmR1cEZ1bmM8L2E+CXhtbE1lbVN0cmR1cAorICAgIDxhIGhyZWY9ImxpYnhtbDIteG1sbWVtb3J5Lmh0bWwjeG1sUmVhbGxvY0Z1bmMiPnhtbFJlYWxsb2NGdW5jPC9hPgl4bWxSZWFsbG9jCisgICAgPGEgaHJlZj0ibGlieG1sMi14bWxlcnJvci5odG1sI3htbEdlbmVyaWNFcnJvckZ1bmMiPnhtbEdlbmVyaWNFcnJvckZ1bmM8L2E+CXhtbEdlbmVyaWNFcnJvcgorICAgIDxhIGhyZWY9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCN4bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jIj54bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jPC9hPgl4bWxTdHJ1Y3R1cmVkRXJyb3IKKyAgICB2b2lkICoJeG1sR2VuZXJpY0Vycm9yQ29udGV4dAorICAgIGludAlvbGRYTUxXRGNvbXBhdGliaWxpdHkKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxCdWZmZXJBbGxvY2F0aW9uU2NoZW1lIj54bWxCdWZmZXJBbGxvY2F0aW9uU2NoZW1lPC9hPgl4bWxCdWZmZXJBbGxvY1NjaGVtZQorICAgIGludAl4bWxEZWZhdWx0QnVmZmVyU2l6ZQorICAgIGludAl4bWxTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0VmFsdWUKKyAgICBpbnQJeG1sRG9WYWxpZGl0eUNoZWNraW5nRGVmYXVsdFZhbHVlCisgICAgaW50CXhtbEdldFdhcm5pbmdzRGVmYXVsdFZhbHVlCisgICAgaW50CXhtbEtlZXBCbGFua3NEZWZhdWx0VmFsdWUKKyAgICBpbnQJeG1sTGluZU51bWJlcnNEZWZhdWx0VmFsdWUKKyAgICBpbnQJeG1sTG9hZEV4dER0ZERlZmF1bHRWYWx1ZQorICAgIGludAl4bWxQYXJzZXJEZWJ1Z0VudGl0aWVzCisgICAgaW50CXhtbFBlZGFudGljUGFyc2VyRGVmYXVsdFZhbHVlCisgICAgaW50CXhtbFNhdmVOb0VtcHR5VGFncworICAgIGludAl4bWxJbmRlbnRUcmVlT3V0cHV0CisgICAgY29uc3QgY2hhciAqCXhtbFRyZWVJbmRlbnRTdHJpbmcKKyAgICA8YSBocmVmPSJsaWJ4bWwyLWdsb2JhbHMuaHRtbCN4bWxSZWdpc3Rlck5vZGVGdW5jIj54bWxSZWdpc3Rlck5vZGVGdW5jPC9hPgl4bWxSZWdpc3Rlck5vZGVEZWZhdWx0VmFsdWUKKyAgICA8YSBocmVmPSJsaWJ4bWwyLWdsb2JhbHMuaHRtbCN4bWxEZXJlZ2lzdGVyTm9kZUZ1bmMiPnhtbERlcmVnaXN0ZXJOb2RlRnVuYzwvYT4JeG1sRGVyZWdpc3Rlck5vZGVEZWZhdWx0VmFsdWUKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXhtbG1lbW9yeS5odG1sI3htbE1hbGxvY0Z1bmMiPnhtbE1hbGxvY0Z1bmM8L2E+CXhtbE1hbGxvY0F0b21pYworICAgIDxhIGhyZWY9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCN4bWxFcnJvciI+eG1sRXJyb3I8L2E+CXhtbExhc3RFcnJvcgorICAgIDxhIGhyZWY9ImxpYnhtbDItZ2xvYmFscy5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jIj54bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYzwvYT4JeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZVZhbHVlCisgICAgPGEgaHJlZj0ibGlieG1sMi1nbG9iYWxzLmh0bWwjeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jIj54bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmM8L2E+CXhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lVmFsdWUKKyAgICB2b2lkICoJeG1sU3RydWN0dXJlZEVycm9yQ29udGV4dAorfSB4bWxHbG9iYWxTdGF0ZTsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxHbG9iYWxTdGF0ZVB0ciI+VHlwZWRlZiA8L2E+eG1sR2xvYmFsU3RhdGVQdHI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLWdsb2JhbHMuaHRtbCN4bWxHbG9iYWxTdGF0ZSI+eG1sR2xvYmFsU3RhdGU8L2E+ICogeG1sR2xvYmFsU3RhdGVQdHI7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sRGVyZWdpc3Rlck5vZGVGdW5jIi8+RnVuY3Rpb24gdHlwZSB4bWxEZXJlZ2lzdGVyTm9kZUZ1bmM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbERlcmVnaXN0ZXJOb2RlRnVuYwkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUpPGJyLz4KKzwvcHJlPjxwPlNpZ25hdHVyZSBmb3IgdGhlIGRlcmVnaXN0cmF0aW9uIGNhbGxiYWNrIG9mIGEgZGlzY2FyZGVkIG5vZGU8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjdXJyZW50IG5vZGU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmMiLz5GdW5jdGlvbiB0eXBlIHhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE91dHB1dEJ1ZmZlclB0ciI+eG1sT3V0cHV0QnVmZmVyUHRyPC9hPgl4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmMJKGNvbnN0IGNoYXIgKiBVUkksIDxici8+CQkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0ciI+eG1sQ2hhckVuY29kaW5nSGFuZGxlclB0cjwvYT4gZW5jb2RlciwgPGJyLz4JCQkJCQkJIGludCBjb21wcmVzc2lvbik8YnIvPgorPC9wcmU+PHA+U2lnbmF0dXJlIGZvciB0aGUgZnVuY3Rpb24gZG9pbmcgdGhlIGxvb2t1cCBmb3IgYSBzdWl0YWJsZSBvdXRwdXQgbWV0aG9kIGNvcnJlc3BvbmRpbmcgdG8gYW4gVVJJLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+VVJJPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgVVJJIHRvIHdyaXRlIHRvPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbmNvZGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZC8+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29tcHJlc3Npb248L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkLz48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE91dHB1dEJ1ZmZlclB0ciI+eG1sT3V0cHV0QnVmZmVyUHRyPC9hPiBpbiBjYXNlIG9mIHN1Y2Nlc3Mgb3IgTlVMTCBpZiBubyBtZXRob2Qgd2FzIGZvdW5kLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jIi8+RnVuY3Rpb24gdHlwZSB4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyUHRyIj54bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cjwvYT4JeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmMJKGNvbnN0IGNoYXIgKiBVUkksIDxici8+CQkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nIj54bWxDaGFyRW5jb2Rpbmc8L2E+IGVuYyk8YnIvPgorPC9wcmU+PHA+U2lnbmF0dXJlIGZvciB0aGUgZnVuY3Rpb24gZG9pbmcgdGhlIGxvb2t1cCBmb3IgYSBzdWl0YWJsZSBpbnB1dCBtZXRob2QgY29ycmVzcG9uZGluZyB0byBhbiBVUkkuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5VUkk8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBVUkkgdG8gcmVhZCBmcm9tPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbmM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSByZXF1ZXN0ZWQgc291cmNlIGVuY29kaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyUHRyIj54bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cjwvYT4gaW4gY2FzZSBvZiBzdWNjZXNzIG9yIE5VTEwgaWYgbm8gbWV0aG9kIHdhcyBmb3VuZC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxSZWdpc3Rlck5vZGVGdW5jIi8+RnVuY3Rpb24gdHlwZSB4bWxSZWdpc3Rlck5vZGVGdW5jPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxSZWdpc3Rlck5vZGVGdW5jCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSk8YnIvPgorPC9wcmU+PHA+U2lnbmF0dXJlIGZvciB0aGUgcmVnaXN0cmF0aW9uIGNhbGxiYWNrIG9mIGEgY3JlYXRlZCBub2RlPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY3VycmVudCBub2RlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iZG9jYkRlZmF1bHRTQVhIYW5kbGVyIj5WYXJpYWJsZSA8L2E+ZG9jYkRlZmF1bHRTQVhIYW5kbGVyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi1wYXJzZXIuaHRtbCN4bWxTQVhIYW5kbGVyVjEiPnhtbFNBWEhhbmRsZXJWMTwvYT4gZG9jYkRlZmF1bHRTQVhIYW5kbGVyOworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9Imh0bWxEZWZhdWx0U0FYSGFuZGxlciI+VmFyaWFibGUgPC9hPmh0bWxEZWZhdWx0U0FYSGFuZGxlcjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItcGFyc2VyLmh0bWwjeG1sU0FYSGFuZGxlclYxIj54bWxTQVhIYW5kbGVyVjE8L2E+IGh0bWxEZWZhdWx0U0FYSGFuZGxlcjsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJvbGRYTUxXRGNvbXBhdGliaWxpdHkiPlZhcmlhYmxlIDwvYT5vbGRYTUxXRGNvbXBhdGliaWxpdHk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQgb2xkWE1MV0Rjb21wYXRpYmlsaXR5OworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEJ1ZmZlckFsbG9jU2NoZW1lIj5WYXJpYWJsZSA8L2E+eG1sQnVmZmVyQWxsb2NTY2hlbWU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxCdWZmZXJBbGxvY2F0aW9uU2NoZW1lIj54bWxCdWZmZXJBbGxvY2F0aW9uU2NoZW1lPC9hPiB4bWxCdWZmZXJBbGxvY1NjaGVtZTsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxEZWZhdWx0QnVmZmVyU2l6ZSI+VmFyaWFibGUgPC9hPnhtbERlZmF1bHRCdWZmZXJTaXplPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50IHhtbERlZmF1bHRCdWZmZXJTaXplOworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbERlZmF1bHRTQVhIYW5kbGVyIj5WYXJpYWJsZSA8L2E+eG1sRGVmYXVsdFNBWEhhbmRsZXI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXBhcnNlci5odG1sI3htbFNBWEhhbmRsZXJWMSI+eG1sU0FYSGFuZGxlclYxPC9hPiB4bWxEZWZhdWx0U0FYSGFuZGxlcjsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxEZWZhdWx0U0FYTG9jYXRvciI+VmFyaWFibGUgPC9hPnhtbERlZmF1bHRTQVhMb2NhdG9yPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sU0FYTG9jYXRvciI+eG1sU0FYTG9jYXRvcjwvYT4geG1sRGVmYXVsdFNBWExvY2F0b3I7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sRGVyZWdpc3Rlck5vZGVEZWZhdWx0VmFsdWUiPlZhcmlhYmxlIDwvYT54bWxEZXJlZ2lzdGVyTm9kZURlZmF1bHRWYWx1ZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItZ2xvYmFscy5odG1sI3htbERlcmVnaXN0ZXJOb2RlRnVuYyI+eG1sRGVyZWdpc3Rlck5vZGVGdW5jPC9hPiB4bWxEZXJlZ2lzdGVyTm9kZURlZmF1bHRWYWx1ZTsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxEb1ZhbGlkaXR5Q2hlY2tpbmdEZWZhdWx0VmFsdWUiPlZhcmlhYmxlIDwvYT54bWxEb1ZhbGlkaXR5Q2hlY2tpbmdEZWZhdWx0VmFsdWU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQgeG1sRG9WYWxpZGl0eUNoZWNraW5nRGVmYXVsdFZhbHVlOworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEZyZWUiPlZhcmlhYmxlIDwvYT54bWxGcmVlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14bWxtZW1vcnkuaHRtbCN4bWxGcmVlRnVuYyI+eG1sRnJlZUZ1bmM8L2E+IHhtbEZyZWU7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sR2VuZXJpY0Vycm9yIj5WYXJpYWJsZSA8L2E+eG1sR2VuZXJpY0Vycm9yPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14bWxlcnJvci5odG1sI3htbEdlbmVyaWNFcnJvckZ1bmMiPnhtbEdlbmVyaWNFcnJvckZ1bmM8L2E+IHhtbEdlbmVyaWNFcnJvcjsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxHZW5lcmljRXJyb3JDb250ZXh0Ij5WYXJpYWJsZSA8L2E+eG1sR2VuZXJpY0Vycm9yQ29udGV4dDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQgKiB4bWxHZW5lcmljRXJyb3JDb250ZXh0OworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEdldFdhcm5pbmdzRGVmYXVsdFZhbHVlIj5WYXJpYWJsZSA8L2E+eG1sR2V0V2FybmluZ3NEZWZhdWx0VmFsdWU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQgeG1sR2V0V2FybmluZ3NEZWZhdWx0VmFsdWU7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sSW5kZW50VHJlZU91dHB1dCI+VmFyaWFibGUgPC9hPnhtbEluZGVudFRyZWVPdXRwdXQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQgeG1sSW5kZW50VHJlZU91dHB1dDsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxLZWVwQmxhbmtzRGVmYXVsdFZhbHVlIj5WYXJpYWJsZSA8L2E+eG1sS2VlcEJsYW5rc0RlZmF1bHRWYWx1ZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludCB4bWxLZWVwQmxhbmtzRGVmYXVsdFZhbHVlOworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbExhc3RFcnJvciI+VmFyaWFibGUgPC9hPnhtbExhc3RFcnJvcjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCN4bWxFcnJvciI+eG1sRXJyb3I8L2E+IHhtbExhc3RFcnJvcjsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxMaW5lTnVtYmVyc0RlZmF1bHRWYWx1ZSI+VmFyaWFibGUgPC9hPnhtbExpbmVOdW1iZXJzRGVmYXVsdFZhbHVlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50IHhtbExpbmVOdW1iZXJzRGVmYXVsdFZhbHVlOworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbExvYWRFeHREdGREZWZhdWx0VmFsdWUiPlZhcmlhYmxlIDwvYT54bWxMb2FkRXh0RHRkRGVmYXVsdFZhbHVlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50IHhtbExvYWRFeHREdGREZWZhdWx0VmFsdWU7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTWFsbG9jIj5WYXJpYWJsZSA8L2E+eG1sTWFsbG9jPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14bWxtZW1vcnkuaHRtbCN4bWxNYWxsb2NGdW5jIj54bWxNYWxsb2NGdW5jPC9hPiB4bWxNYWxsb2M7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTWFsbG9jQXRvbWljIj5WYXJpYWJsZSA8L2E+eG1sTWFsbG9jQXRvbWljPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14bWxtZW1vcnkuaHRtbCN4bWxNYWxsb2NGdW5jIj54bWxNYWxsb2NGdW5jPC9hPiB4bWxNYWxsb2NBdG9taWM7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTWVtU3RyZHVwIj5WYXJpYWJsZSA8L2E+eG1sTWVtU3RyZHVwPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14bWxtZW1vcnkuaHRtbCN4bWxTdHJkdXBGdW5jIj54bWxTdHJkdXBGdW5jPC9hPiB4bWxNZW1TdHJkdXA7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVWYWx1ZSI+VmFyaWFibGUgPC9hPnhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lVmFsdWU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLWdsb2JhbHMuaHRtbCN4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmMiPnhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYzwvYT4geG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVWYWx1ZTsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxQYXJzZXJEZWJ1Z0VudGl0aWVzIj5WYXJpYWJsZSA8L2E+eG1sUGFyc2VyRGVidWdFbnRpdGllczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludCB4bWxQYXJzZXJEZWJ1Z0VudGl0aWVzOworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVWYWx1ZSI+VmFyaWFibGUgPC9hPnhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVWYWx1ZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItZ2xvYmFscy5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jIj54bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYzwvYT4geG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZVZhbHVlOworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFBhcnNlclZlcnNpb24iPlZhcmlhYmxlIDwvYT54bWxQYXJzZXJWZXJzaW9uPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Y29uc3QgY2hhciAqIHhtbFBhcnNlclZlcnNpb247Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUGVkYW50aWNQYXJzZXJEZWZhdWx0VmFsdWUiPlZhcmlhYmxlIDwvYT54bWxQZWRhbnRpY1BhcnNlckRlZmF1bHRWYWx1ZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludCB4bWxQZWRhbnRpY1BhcnNlckRlZmF1bHRWYWx1ZTsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxSZWFsbG9jIj5WYXJpYWJsZSA8L2E+eG1sUmVhbGxvYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1sbWVtb3J5Lmh0bWwjeG1sUmVhbGxvY0Z1bmMiPnhtbFJlYWxsb2NGdW5jPC9hPiB4bWxSZWFsbG9jOworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFJlZ2lzdGVyTm9kZURlZmF1bHRWYWx1ZSI+VmFyaWFibGUgPC9hPnhtbFJlZ2lzdGVyTm9kZURlZmF1bHRWYWx1ZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItZ2xvYmFscy5odG1sI3htbFJlZ2lzdGVyTm9kZUZ1bmMiPnhtbFJlZ2lzdGVyTm9kZUZ1bmM8L2E+IHhtbFJlZ2lzdGVyTm9kZURlZmF1bHRWYWx1ZTsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTYXZlTm9FbXB0eVRhZ3MiPlZhcmlhYmxlIDwvYT54bWxTYXZlTm9FbXB0eVRhZ3M8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQgeG1sU2F2ZU5vRW1wdHlUYWdzOworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFN0cnVjdHVyZWRFcnJvciI+VmFyaWFibGUgPC9hPnhtbFN0cnVjdHVyZWRFcnJvcjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCN4bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jIj54bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jPC9hPiB4bWxTdHJ1Y3R1cmVkRXJyb3I7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU3RydWN0dXJlZEVycm9yQ29udGV4dCI+VmFyaWFibGUgPC9hPnhtbFN0cnVjdHVyZWRFcnJvckNvbnRleHQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkICogeG1sU3RydWN0dXJlZEVycm9yQ29udGV4dDsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0VmFsdWUiPlZhcmlhYmxlIDwvYT54bWxTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0VmFsdWU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQgeG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdFZhbHVlOworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFRyZWVJbmRlbnRTdHJpbmciPlZhcmlhYmxlIDwvYT54bWxUcmVlSW5kZW50U3RyaW5nPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Y29uc3QgY2hhciAqIHhtbFRyZWVJbmRlbnRTdHJpbmc7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sQ2xlYW51cEdsb2JhbHMiLz54bWxDbGVhbnVwR2xvYmFscyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sQ2xlYW51cEdsb2JhbHMJCSh2b2lkKTxici8+Cis8L3ByZT48cD5BZGRpdGlvbmFsIGNsZWFudXAgZm9yIG11bHRpLXRocmVhZGluZzwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxEZXJlZ2lzdGVyTm9kZURlZmF1bHQiLz54bWxEZXJlZ2lzdGVyTm9kZURlZmF1bHQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLWdsb2JhbHMuaHRtbCN4bWxEZXJlZ2lzdGVyTm9kZUZ1bmMiPnhtbERlcmVnaXN0ZXJOb2RlRnVuYzwvYT4JeG1sRGVyZWdpc3Rlck5vZGVEZWZhdWx0CSg8YSBocmVmPSJsaWJ4bWwyLWdsb2JhbHMuaHRtbCN4bWxEZXJlZ2lzdGVyTm9kZUZ1bmMiPnhtbERlcmVnaXN0ZXJOb2RlRnVuYzwvYT4gZnVuYyk8YnIvPgorPC9wcmU+PHA+UmVnaXN0ZXJzIGEgY2FsbGJhY2sgZm9yIG5vZGUgZGVzdHJ1Y3Rpb248L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZ1bmM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmZ1bmN0aW9uIHBvaW50ZXIgdG8gdGhlIG5ldyBEZXJlZ2lzdGVyTm9kZUZ1bmM8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwcmV2aW91cyB2YWx1ZSBvZiB0aGUgZGVyZWdpc3RyYXRpb24gZnVuY3Rpb248L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxJbml0R2xvYmFscyIvPnhtbEluaXRHbG9iYWxzICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxJbml0R2xvYmFscwkJCSh2b2lkKTxici8+Cis8L3ByZT48cD5BZGRpdGlvbmFsIGluaXRpYWxpc2F0aW9uIGZvciBtdWx0aS10aHJlYWRpbmc8L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sSW5pdGlhbGl6ZUdsb2JhbFN0YXRlIi8+eG1sSW5pdGlhbGl6ZUdsb2JhbFN0YXRlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxJbml0aWFsaXplR2xvYmFsU3RhdGUJKDxhIGhyZWY9ImxpYnhtbDItZ2xvYmFscy5odG1sI3htbEdsb2JhbFN0YXRlUHRyIj54bWxHbG9iYWxTdGF0ZVB0cjwvYT4gZ3MpPGJyLz4KKzwvcHJlPjxwPnhtbEluaXRpYWxpemVHbG9iYWxTdGF0ZSgpIGluaXRpYWxpemUgYSBnbG9iYWwgc3RhdGUgd2l0aCBhbGwgdGhlIGRlZmF1bHQgdmFsdWVzIG9mIHRoZSBsaWJyYXJ5LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Z3M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byBhIG5ld2x5IGFsbG9jYXRlZCBnbG9iYWwgc3RhdGU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQiLz54bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLWdsb2JhbHMuaHRtbCN4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmMiPnhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYzwvYT4JeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0CSg8YSBocmVmPSJsaWJ4bWwyLWdsb2JhbHMuaHRtbCN4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmMiPnhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYzwvYT4gZnVuYyk8YnIvPgorPC9wcmU+PHA+UmVnaXN0ZXJzIGEgY2FsbGJhY2sgZm9yIFVSSSBvdXRwdXQgZmlsZSBoYW5kbGluZzwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZnVuYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+ZnVuY3Rpb24gcG9pbnRlciB0byB0aGUgbmV3IE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG9sZCB2YWx1ZSBvZiB0aGUgcmVnaXN0cmF0aW9uIGZ1bmN0aW9uPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQiLz54bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRGVmYXVsdCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItZ2xvYmFscy5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jIj54bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYzwvYT4JeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQJKDxhIGhyZWY9ImxpYnhtbDItZ2xvYmFscy5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jIj54bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYzwvYT4gZnVuYyk8YnIvPgorPC9wcmU+PHA+UmVnaXN0ZXJzIGEgY2FsbGJhY2sgZm9yIFVSSSBpbnB1dCBmaWxlIGhhbmRsaW5nPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mdW5jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5mdW5jdGlvbiBwb2ludGVyIHRvIHRoZSBuZXcgUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmM8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBvbGQgdmFsdWUgb2YgdGhlIHJlZ2lzdHJhdGlvbiBmdW5jdGlvbjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFJlZ2lzdGVyTm9kZURlZmF1bHQiLz54bWxSZWdpc3Rlck5vZGVEZWZhdWx0ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi1nbG9iYWxzLmh0bWwjeG1sUmVnaXN0ZXJOb2RlRnVuYyI+eG1sUmVnaXN0ZXJOb2RlRnVuYzwvYT4JeG1sUmVnaXN0ZXJOb2RlRGVmYXVsdAkoPGEgaHJlZj0ibGlieG1sMi1nbG9iYWxzLmh0bWwjeG1sUmVnaXN0ZXJOb2RlRnVuYyI+eG1sUmVnaXN0ZXJOb2RlRnVuYzwvYT4gZnVuYyk8YnIvPgorPC9wcmU+PHA+UmVnaXN0ZXJzIGEgY2FsbGJhY2sgZm9yIG5vZGUgY3JlYXRpb248L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZ1bmM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmZ1bmN0aW9uIHBvaW50ZXIgdG8gdGhlIG5ldyBSZWdpc3Rlck5vZGVGdW5jPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgb2xkIHZhbHVlIG9mIHRoZSByZWdpc3RyYXRpb24gZnVuY3Rpb248L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxUaHJEZWZCdWZmZXJBbGxvY1NjaGVtZSIvPnhtbFRockRlZkJ1ZmZlckFsbG9jU2NoZW1lICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQnVmZmVyQWxsb2NhdGlvblNjaGVtZSI+eG1sQnVmZmVyQWxsb2NhdGlvblNjaGVtZTwvYT4JeG1sVGhyRGVmQnVmZmVyQWxsb2NTY2hlbWUJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUiPnhtbEJ1ZmZlckFsbG9jYXRpb25TY2hlbWU8L2E+IHYpPGJyLz4KKzwvcHJlPjxwLz4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+djwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQvPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkLz48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVGhyRGVmRGVmYXVsdEJ1ZmZlclNpemUiLz54bWxUaHJEZWZEZWZhdWx0QnVmZmVyU2l6ZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUaHJEZWZEZWZhdWx0QnVmZmVyU2l6ZQkoaW50IHYpPGJyLz4KKzwvcHJlPjxwLz4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+djwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQvPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkLz48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVGhyRGVmRGVyZWdpc3Rlck5vZGVEZWZhdWx0Ii8+eG1sVGhyRGVmRGVyZWdpc3Rlck5vZGVEZWZhdWx0ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi1nbG9iYWxzLmh0bWwjeG1sRGVyZWdpc3Rlck5vZGVGdW5jIj54bWxEZXJlZ2lzdGVyTm9kZUZ1bmM8L2E+CXhtbFRockRlZkRlcmVnaXN0ZXJOb2RlRGVmYXVsdAkoPGEgaHJlZj0ibGlieG1sMi1nbG9iYWxzLmh0bWwjeG1sRGVyZWdpc3Rlck5vZGVGdW5jIj54bWxEZXJlZ2lzdGVyTm9kZUZ1bmM8L2E+IGZ1bmMpPGJyLz4KKzwvcHJlPjxwLz4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZnVuYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQvPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkLz48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVGhyRGVmRG9WYWxpZGl0eUNoZWNraW5nRGVmYXVsdFZhbHVlIi8+eG1sVGhyRGVmRG9WYWxpZGl0eUNoZWNraW5nRGVmYXVsdFZhbHVlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRockRlZkRvVmFsaWRpdHlDaGVja2luZ0RlZmF1bHRWYWx1ZQkoaW50IHYpPGJyLz4KKzwvcHJlPjxwLz4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+djwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQvPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkLz48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVGhyRGVmR2V0V2FybmluZ3NEZWZhdWx0VmFsdWUiLz54bWxUaHJEZWZHZXRXYXJuaW5nc0RlZmF1bHRWYWx1ZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUaHJEZWZHZXRXYXJuaW5nc0RlZmF1bHRWYWx1ZQkoaW50IHYpPGJyLz4KKzwvcHJlPjxwLz4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+djwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQvPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkLz48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVGhyRGVmSW5kZW50VHJlZU91dHB1dCIvPnhtbFRockRlZkluZGVudFRyZWVPdXRwdXQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGhyRGVmSW5kZW50VHJlZU91dHB1dAkoaW50IHYpPGJyLz4KKzwvcHJlPjxwLz4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+djwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQvPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkLz48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVGhyRGVmS2VlcEJsYW5rc0RlZmF1bHRWYWx1ZSIvPnhtbFRockRlZktlZXBCbGFua3NEZWZhdWx0VmFsdWUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGhyRGVmS2VlcEJsYW5rc0RlZmF1bHRWYWx1ZQkoaW50IHYpPGJyLz4KKzwvcHJlPjxwLz4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+djwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQvPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkLz48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVGhyRGVmTGluZU51bWJlcnNEZWZhdWx0VmFsdWUiLz54bWxUaHJEZWZMaW5lTnVtYmVyc0RlZmF1bHRWYWx1ZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUaHJEZWZMaW5lTnVtYmVyc0RlZmF1bHRWYWx1ZQkoaW50IHYpPGJyLz4KKzwvcHJlPjxwLz4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+djwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQvPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkLz48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVGhyRGVmTG9hZEV4dER0ZERlZmF1bHRWYWx1ZSIvPnhtbFRockRlZkxvYWRFeHREdGREZWZhdWx0VmFsdWUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGhyRGVmTG9hZEV4dER0ZERlZmF1bHRWYWx1ZQkoaW50IHYpPGJyLz4KKzwvcHJlPjxwLz4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+djwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQvPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkLz48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVGhyRGVmT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0Ii8+eG1sVGhyRGVmT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi1nbG9iYWxzLmh0bWwjeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jIj54bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmM8L2E+CXhtbFRockRlZk91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRGVmYXVsdAkoPGEgaHJlZj0ibGlieG1sMi1nbG9iYWxzLmh0bWwjeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jIj54bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmM8L2E+IGZ1bmMpPGJyLz4KKzwvcHJlPjxwLz4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZnVuYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQvPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkLz48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVGhyRGVmUGFyc2VyRGVidWdFbnRpdGllcyIvPnhtbFRockRlZlBhcnNlckRlYnVnRW50aXRpZXMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGhyRGVmUGFyc2VyRGVidWdFbnRpdGllcwkoaW50IHYpPGJyLz4KKzwvcHJlPjxwLz4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+djwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQvPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkLz48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVGhyRGVmUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQiLz54bWxUaHJEZWZQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRGVmYXVsdCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItZ2xvYmFscy5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jIj54bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYzwvYT4JeG1sVGhyRGVmUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQJKDxhIGhyZWY9ImxpYnhtbDItZ2xvYmFscy5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jIj54bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYzwvYT4gZnVuYyk8YnIvPgorPC9wcmU+PHAvPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mdW5jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZC8+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQvPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxUaHJEZWZQZWRhbnRpY1BhcnNlckRlZmF1bHRWYWx1ZSIvPnhtbFRockRlZlBlZGFudGljUGFyc2VyRGVmYXVsdFZhbHVlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRockRlZlBlZGFudGljUGFyc2VyRGVmYXVsdFZhbHVlCShpbnQgdik8YnIvPgorPC9wcmU+PHAvPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZC8+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQvPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxUaHJEZWZSZWdpc3Rlck5vZGVEZWZhdWx0Ii8+eG1sVGhyRGVmUmVnaXN0ZXJOb2RlRGVmYXVsdCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItZ2xvYmFscy5odG1sI3htbFJlZ2lzdGVyTm9kZUZ1bmMiPnhtbFJlZ2lzdGVyTm9kZUZ1bmM8L2E+CXhtbFRockRlZlJlZ2lzdGVyTm9kZURlZmF1bHQJKDxhIGhyZWY9ImxpYnhtbDItZ2xvYmFscy5odG1sI3htbFJlZ2lzdGVyTm9kZUZ1bmMiPnhtbFJlZ2lzdGVyTm9kZUZ1bmM8L2E+IGZ1bmMpPGJyLz4KKzwvcHJlPjxwLz4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZnVuYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQvPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkLz48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVGhyRGVmU2F2ZU5vRW1wdHlUYWdzIi8+eG1sVGhyRGVmU2F2ZU5vRW1wdHlUYWdzICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRockRlZlNhdmVOb0VtcHR5VGFncwkoaW50IHYpPGJyLz4KKzwvcHJlPjxwLz4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+djwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQvPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkLz48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVGhyRGVmU2V0R2VuZXJpY0Vycm9yRnVuYyIvPnhtbFRockRlZlNldEdlbmVyaWNFcnJvckZ1bmMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFRockRlZlNldEdlbmVyaWNFcnJvckZ1bmMJKHZvaWQgKiBjdHgsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxlcnJvci5odG1sI3htbEdlbmVyaWNFcnJvckZ1bmMiPnhtbEdlbmVyaWNFcnJvckZ1bmM8L2E+IGhhbmRsZXIpPGJyLz4KKzwvcHJlPjxwLz4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZC8+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aGFuZGxlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQvPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxUaHJEZWZTZXRTdHJ1Y3R1cmVkRXJyb3JGdW5jIi8+eG1sVGhyRGVmU2V0U3RydWN0dXJlZEVycm9yRnVuYyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sVGhyRGVmU2V0U3RydWN0dXJlZEVycm9yRnVuYwkodm9pZCAqIGN0eCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjeG1sU3RydWN0dXJlZEVycm9yRnVuYyI+eG1sU3RydWN0dXJlZEVycm9yRnVuYzwvYT4gaGFuZGxlcik8YnIvPgorPC9wcmU+PHAvPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkLz48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5oYW5kbGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZC8+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFRockRlZlN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHRWYWx1ZSIvPnhtbFRockRlZlN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHRWYWx1ZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUaHJEZWZTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0VmFsdWUJKGludCB2KTxici8+Cis8L3ByZT48cC8+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkLz48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZC8+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFRockRlZlRyZWVJbmRlbnRTdHJpbmciLz54bWxUaHJEZWZUcmVlSW5kZW50U3RyaW5nICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Y29uc3QgY2hhciAqCXhtbFRockRlZlRyZWVJbmRlbnRTdHJpbmcJKGNvbnN0IGNoYXIgKiB2KTxici8+Cis8L3ByZT48cC8+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkLz48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZC8+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKyAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvZGV2aGVscC9saWJ4bWwyLWhhc2guaHRtbCBiL2xpYnhtbDIvZG9jL2RldmhlbHAvbGlieG1sMi1oYXNoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzVhOTkxMQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL2RldmhlbHAvbGlieG1sMi1oYXNoLmh0bWwKQEAgLTAsMCArMSwyMTQgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8aHRtbD4KKyAgPGhlYWQ+CisgICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiLz4KKyAgICA8dGl0bGU+aGFzaDogQ2hhaW5lZCBoYXNoIHRhYmxlczwvdGl0bGU+CisgICAgPG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJMaWJ4bWwyIGRldmhlbHAgc3R5bGVzaGVldCIvPgorICAgIDxsaW5rIHJlbD0ic3RhcnQiIGhyZWY9ImluZGV4Lmh0bWwiIHRpdGxlPSJsaWJ4bWwyIFJlZmVyZW5jZSBNYW51YWwiLz4KKyAgICA8bGluayByZWw9InVwIiBocmVmPSJnZW5lcmFsLmh0bWwiIHRpdGxlPSJBUEkiLz4KKyAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9InN0eWxlLmNzcyIgdHlwZT0idGV4dC9jc3MiLz4KKyAgICA8bGluayByZWw9ImNoYXB0ZXIiIGhyZWY9ImdlbmVyYWwuaHRtbCIgdGl0bGU9IkFQSSIvPgorICA8L2hlYWQ+CisgIDxib2R5IGJnY29sb3I9IndoaXRlIiB0ZXh0PSJibGFjayIgbGluaz0iIzAwMDBGRiIgdmxpbms9IiM4NDAwODQiIGFsaW5rPSIjMDAwMEZGIj4KKyAgICA8dGFibGUgY2xhc3M9Im5hdmlnYXRpb24iIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIyIj4KKyAgICAgIDx0ciB2YWxpZ249Im1pZGRsZSI+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImxpYnhtbDItZ2xvYmFscy5odG1sIj4KKyAgICAgICAgICAgIDxpbWcgc3JjPSJsZWZ0LnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iUHJldiIvPgorICAgICAgICAgIDwvYT4KKyAgICAgICAgPC90ZD4KKyAgICAgICAgPHRkPgorICAgICAgICAgIDxhIGFjY2Vzc2tleT0idSIgaHJlZj0iZ2VuZXJhbC5odG1sIj4KKyAgICAgICAgICAgIDxpbWcgc3JjPSJ1cC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlVwIi8+CisgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGQ+CisgICAgICAgICAgPGEgYWNjZXNza2V5PSJoIiBocmVmPSJpbmRleC5odG1sIj4KKyAgICAgICAgICAgIDxpbWcgc3JjPSJob21lLnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iSG9tZSIvPgorICAgICAgICAgIDwvYT4KKyAgICAgICAgPC90ZD4KKyAgICAgICAgPHRkPgorICAgICAgICAgIDxhIGFjY2Vzc2tleT0ibiIgaHJlZj0ibGlieG1sMi1saXN0Lmh0bWwiPgorICAgICAgICAgICAgPGltZyBzcmM9InJpZ2h0LnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iTmV4dCIvPgorICAgICAgICAgIDwvYT4KKyAgICAgICAgPC90ZD4KKyAgICAgICAgPHRoIHdpZHRoPSIxMDAlIiBhbGlnbj0iY2VudGVyIj5saWJ4bWwyIFJlZmVyZW5jZSBNYW51YWw8L3RoPgorICAgICAgPC90cj4KKyAgICA8L3RhYmxlPgorICAgIDxoMj4KKyAgICAgIDxzcGFuIGNsYXNzPSJyZWZlbnRyeXRpdGxlIj5oYXNoPC9zcGFuPgorICAgIDwvaDI+CisgICAgPHA+aGFzaCAtIENoYWluZWQgaGFzaCB0YWJsZXM8L3A+CisgICAgPHA+VGhpcyBtb2R1bGUgaW1wbGVtZW50cyB0aGUgaGFzaCB0YWJsZSBzdXBwb3J0IHVzZWQgaW4gdmFyaW91cyBwbGFjZXMgaW4gdGhlIGxpYnJhcnkuIDwvcD4KKyAgICA8cD5BdXRob3Iocyk6IEJqb3JuIFJlZXNlICZsdDtiam9ybi5yZWVzZUBzeXN0ZW1hdGljLmRrJmd0OyA8L3A+CisgICAgPGRpdiBjbGFzcz0icmVmc3lub3BzaXNkaXYiPgorICAgICAgPGgyPlN5bm9wc2lzPC9oMj4KKyAgICAgIDxwcmUgY2xhc3M9InN5bm9wc2lzIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfQ0FTVF9GUFRSIj5YTUxfQ0FTVF9GUFRSPC9hPihmcHRyKTsKK3R5cGVkZWYgc3RydWN0IF94bWxIYXNoVGFibGUgPGEgaHJlZj0iI3htbEhhc2hUYWJsZSI+eG1sSGFzaFRhYmxlPC9hPjsKK3R5cGVkZWYgPGEgaHJlZj0ibGlieG1sMi1oYXNoLmh0bWwjeG1sSGFzaFRhYmxlIj54bWxIYXNoVGFibGU8L2E+ICogPGEgaHJlZj0iI3htbEhhc2hUYWJsZVB0ciI+eG1sSGFzaFRhYmxlUHRyPC9hPjsKK3ZvaWQJPGEgaHJlZj0iI3htbEhhc2hTY2FuRnVsbCI+eG1sSGFzaFNjYW5GdWxsPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwyLWhhc2guaHRtbCN4bWxIYXNoVGFibGVQdHIiPnhtbEhhc2hUYWJsZVB0cjwvYT4gdGFibGUsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi1oYXNoLmh0bWwjeG1sSGFzaFNjYW5uZXJGdWxsIj54bWxIYXNoU2Nhbm5lckZ1bGw8L2E+IGYsIDxici8+CQkJCQkgdm9pZCAqIGRhdGEpOwordm9pZAk8YSBocmVmPSIjeG1sSGFzaFNjYW4iPnhtbEhhc2hTY2FuPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwyLWhhc2guaHRtbCN4bWxIYXNoVGFibGVQdHIiPnhtbEhhc2hUYWJsZVB0cjwvYT4gdGFibGUsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi1oYXNoLmh0bWwjeG1sSGFzaFNjYW5uZXIiPnhtbEhhc2hTY2FubmVyPC9hPiBmLCA8YnIvPgkJCQkJIHZvaWQgKiBkYXRhKTsKK3R5cGVkZWYgdm9pZCA8YSBocmVmPSIjeG1sSGFzaFNjYW5uZXJGdWxsIj54bWxIYXNoU2Nhbm5lckZ1bGw8L2E+CQkodm9pZCAqIHBheWxvYWQsIDxici8+CQkJCQkgdm9pZCAqIGRhdGEsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUyLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lMyk7Cis8YSBocmVmPSJsaWJ4bWwyLWhhc2guaHRtbCN4bWxIYXNoVGFibGVQdHIiPnhtbEhhc2hUYWJsZVB0cjwvYT4JPGEgaHJlZj0iI3htbEhhc2hDcmVhdGVEaWN0Ij54bWxIYXNoQ3JlYXRlRGljdDwvYT4JKGludCBzaXplLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItZGljdC5odG1sI3htbERpY3RQdHIiPnhtbERpY3RQdHI8L2E+IGRpY3QpOworaW50CTxhIGhyZWY9IiN4bWxIYXNoQWRkRW50cnkiPnhtbEhhc2hBZGRFbnRyeTwvYT4JCQkoPGEgaHJlZj0ibGlieG1sMi1oYXNoLmh0bWwjeG1sSGFzaFRhYmxlUHRyIj54bWxIYXNoVGFibGVQdHI8L2E+IHRhYmxlLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJIHZvaWQgKiB1c2VyZGF0YSk7CitpbnQJPGEgaHJlZj0iI3htbEhhc2hVcGRhdGVFbnRyeSI+eG1sSGFzaFVwZGF0ZUVudHJ5PC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItaGFzaC5odG1sI3htbEhhc2hUYWJsZVB0ciI+eG1sSGFzaFRhYmxlUHRyPC9hPiB0YWJsZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCSB2b2lkICogdXNlcmRhdGEsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi1oYXNoLmh0bWwjeG1sSGFzaERlYWxsb2NhdG9yIj54bWxIYXNoRGVhbGxvY2F0b3I8L2E+IGYpOwordm9pZCAqCTxhIGhyZWY9IiN4bWxIYXNoUUxvb2t1cDMiPnhtbEhhc2hRTG9va3VwMzwvYT4JCQkoPGEgaHJlZj0ibGlieG1sMi1oYXNoLmh0bWwjeG1sSGFzaFRhYmxlUHRyIj54bWxIYXNoVGFibGVQdHI8L2E+IHRhYmxlLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwcmVmaXgsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHByZWZpeDIsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUyLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwcmVmaXgzLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lMyk7Cit2b2lkICoJPGEgaHJlZj0iI3htbEhhc2hRTG9va3VwMiI+eG1sSGFzaFFMb29rdXAyPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwyLWhhc2guaHRtbCN4bWxIYXNoVGFibGVQdHIiPnhtbEhhc2hUYWJsZVB0cjwvYT4gdGFibGUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHByZWZpeCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHJlZml4MiwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZTIpOwordm9pZAk8YSBocmVmPSIjeG1sSGFzaFNjYW4zIj54bWxIYXNoU2NhbjM8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbDItaGFzaC5odG1sI3htbEhhc2hUYWJsZVB0ciI+eG1sSGFzaFRhYmxlUHRyPC9hPiB0YWJsZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZTIsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUzLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItaGFzaC5odG1sI3htbEhhc2hTY2FubmVyIj54bWxIYXNoU2Nhbm5lcjwvYT4gZiwgPGJyLz4JCQkJCSB2b2lkICogZGF0YSk7Cit0eXBlZGVmIHZvaWQgPGEgaHJlZj0iI3htbEhhc2hTY2FubmVyIj54bWxIYXNoU2Nhbm5lcjwvYT4JCQkodm9pZCAqIHBheWxvYWQsIDxici8+CQkJCQkgdm9pZCAqIGRhdGEsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpOwordHlwZWRlZiB2b2lkIDxhIGhyZWY9IiN4bWxIYXNoRGVhbGxvY2F0b3IiPnhtbEhhc2hEZWFsbG9jYXRvcjwvYT4JCSh2b2lkICogcGF5bG9hZCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSk7Cis8YSBocmVmPSJsaWJ4bWwyLWhhc2guaHRtbCN4bWxIYXNoVGFibGVQdHIiPnhtbEhhc2hUYWJsZVB0cjwvYT4JPGEgaHJlZj0iI3htbEhhc2hDcmVhdGUiPnhtbEhhc2hDcmVhdGU8L2E+CQkoaW50IHNpemUpOwordm9pZAk8YSBocmVmPSIjeG1sSGFzaEZyZWUiPnhtbEhhc2hGcmVlPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwyLWhhc2guaHRtbCN4bWxIYXNoVGFibGVQdHIiPnhtbEhhc2hUYWJsZVB0cjwvYT4gdGFibGUsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi1oYXNoLmh0bWwjeG1sSGFzaERlYWxsb2NhdG9yIj54bWxIYXNoRGVhbGxvY2F0b3I8L2E+IGYpOwordm9pZCAqCTxhIGhyZWY9IiN4bWxIYXNoTG9va3VwIj54bWxIYXNoTG9va3VwPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwyLWhhc2guaHRtbCN4bWxIYXNoVGFibGVQdHIiPnhtbEhhc2hUYWJsZVB0cjwvYT4gdGFibGUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpOwordm9pZCAqCTxhIGhyZWY9IiN4bWxIYXNoUUxvb2t1cCI+eG1sSGFzaFFMb29rdXA8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbDItaGFzaC5odG1sI3htbEhhc2hUYWJsZVB0ciI+eG1sSGFzaFRhYmxlUHRyPC9hPiB0YWJsZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHJlZml4LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKTsKK2ludAk8YSBocmVmPSIjeG1sSGFzaFVwZGF0ZUVudHJ5MiI+eG1sSGFzaFVwZGF0ZUVudHJ5MjwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLWhhc2guaHRtbCN4bWxIYXNoVGFibGVQdHIiPnhtbEhhc2hUYWJsZVB0cjwvYT4gdGFibGUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUyLCA8YnIvPgkJCQkJIHZvaWQgKiB1c2VyZGF0YSwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLWhhc2guaHRtbCN4bWxIYXNoRGVhbGxvY2F0b3IiPnhtbEhhc2hEZWFsbG9jYXRvcjwvYT4gZik7CitpbnQJPGEgaHJlZj0iI3htbEhhc2hSZW1vdmVFbnRyeTIiPnhtbEhhc2hSZW1vdmVFbnRyeTI8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi1oYXNoLmh0bWwjeG1sSGFzaFRhYmxlUHRyIj54bWxIYXNoVGFibGVQdHI8L2E+IHRhYmxlLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lMiwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLWhhc2guaHRtbCN4bWxIYXNoRGVhbGxvY2F0b3IiPnhtbEhhc2hEZWFsbG9jYXRvcjwvYT4gZik7CitpbnQJPGEgaHJlZj0iI3htbEhhc2hSZW1vdmVFbnRyeTMiPnhtbEhhc2hSZW1vdmVFbnRyeTM8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi1oYXNoLmh0bWwjeG1sSGFzaFRhYmxlUHRyIj54bWxIYXNoVGFibGVQdHI8L2E+IHRhYmxlLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lMiwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZTMsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi1oYXNoLmh0bWwjeG1sSGFzaERlYWxsb2NhdG9yIj54bWxIYXNoRGVhbGxvY2F0b3I8L2E+IGYpOworPGEgaHJlZj0ibGlieG1sMi1oYXNoLmh0bWwjeG1sSGFzaFRhYmxlUHRyIj54bWxIYXNoVGFibGVQdHI8L2E+CTxhIGhyZWY9IiN4bWxIYXNoQ29weSI+eG1sSGFzaENvcHk8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi1oYXNoLmh0bWwjeG1sSGFzaFRhYmxlUHRyIj54bWxIYXNoVGFibGVQdHI8L2E+IHRhYmxlLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItaGFzaC5odG1sI3htbEhhc2hDb3BpZXIiPnhtbEhhc2hDb3BpZXI8L2E+IGYpOwordm9pZAk8YSBocmVmPSIjeG1sSGFzaFNjYW5GdWxsMyI+eG1sSGFzaFNjYW5GdWxsMzwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLWhhc2guaHRtbCN4bWxIYXNoVGFibGVQdHIiPnhtbEhhc2hUYWJsZVB0cjwvYT4gdGFibGUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUyLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lMywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLWhhc2guaHRtbCN4bWxIYXNoU2Nhbm5lckZ1bGwiPnhtbEhhc2hTY2FubmVyRnVsbDwvYT4gZiwgPGJyLz4JCQkJCSB2b2lkICogZGF0YSk7CitpbnQJPGEgaHJlZj0iI3htbEhhc2hVcGRhdGVFbnRyeTMiPnhtbEhhc2hVcGRhdGVFbnRyeTM8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi1oYXNoLmh0bWwjeG1sSGFzaFRhYmxlUHRyIj54bWxIYXNoVGFibGVQdHI8L2E+IHRhYmxlLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lMiwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZTMsIDxici8+CQkJCQkgdm9pZCAqIHVzZXJkYXRhLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItaGFzaC5odG1sI3htbEhhc2hEZWFsbG9jYXRvciI+eG1sSGFzaERlYWxsb2NhdG9yPC9hPiBmKTsKK3ZvaWQgKgk8YSBocmVmPSIjeG1sSGFzaExvb2t1cDMiPnhtbEhhc2hMb29rdXAzPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwyLWhhc2guaHRtbCN4bWxIYXNoVGFibGVQdHIiPnhtbEhhc2hUYWJsZVB0cjwvYT4gdGFibGUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUyLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lMyk7Cit2b2lkICoJPGEgaHJlZj0iI3htbEhhc2hMb29rdXAyIj54bWxIYXNoTG9va3VwMjwvYT4JCQkoPGEgaHJlZj0ibGlieG1sMi1oYXNoLmh0bWwjeG1sSGFzaFRhYmxlUHRyIj54bWxIYXNoVGFibGVQdHI8L2E+IHRhYmxlLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lMik7CitpbnQJPGEgaHJlZj0iI3htbEhhc2hSZW1vdmVFbnRyeSI+eG1sSGFzaFJlbW92ZUVudHJ5PC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItaGFzaC5odG1sI3htbEhhc2hUYWJsZVB0ciI+eG1sSGFzaFRhYmxlUHRyPC9hPiB0YWJsZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLWhhc2guaHRtbCN4bWxIYXNoRGVhbGxvY2F0b3IiPnhtbEhhc2hEZWFsbG9jYXRvcjwvYT4gZik7Cit0eXBlZGVmIHZvaWQgKiA8YSBocmVmPSIjeG1sSGFzaENvcGllciI+eG1sSGFzaENvcGllcjwvYT4JCQkodm9pZCAqIHBheWxvYWQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpOworaW50CTxhIGhyZWY9IiN4bWxIYXNoQWRkRW50cnkyIj54bWxIYXNoQWRkRW50cnkyPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItaGFzaC5odG1sI3htbEhhc2hUYWJsZVB0ciI+eG1sSGFzaFRhYmxlUHRyPC9hPiB0YWJsZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZTIsIDxici8+CQkJCQkgdm9pZCAqIHVzZXJkYXRhKTsKK2ludAk8YSBocmVmPSIjeG1sSGFzaEFkZEVudHJ5MyI+eG1sSGFzaEFkZEVudHJ5MzwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLWhhc2guaHRtbCN4bWxIYXNoVGFibGVQdHIiPnhtbEhhc2hUYWJsZVB0cjwvYT4gdGFibGUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUyLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lMywgPGJyLz4JCQkJCSB2b2lkICogdXNlcmRhdGEpOworaW50CTxhIGhyZWY9IiN4bWxIYXNoU2l6ZSI+eG1sSGFzaFNpemU8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbDItaGFzaC5odG1sI3htbEhhc2hUYWJsZVB0ciI+eG1sSGFzaFRhYmxlUHRyPC9hPiB0YWJsZSk7Cis8L3ByZT4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MSIgbGFuZz0iZW4iPgorICAgICAgPGgyPkRlc2NyaXB0aW9uPC9oMj4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MSIgbGFuZz0iZW4iPgorICAgICAgPGgyPkRldGFpbHM8L2gyPgorICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iWE1MX0NBU1RfRlBUUiI+TWFjcm8gPC9hPlhNTF9DQVNUX0ZQVFI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfQ0FTVF9GUFRSIj5YTUxfQ0FTVF9GUFRSPC9hPihmcHRyKTsKKzwvcHJlPjxwPk1hY3JvIHRvIGRvIGEgY2FzdGluZyBmcm9tIGFuIG9iamVjdCBwb2ludGVyIHRvIGEgZnVuY3Rpb24gcG9pbnRlciB3aXRob3V0IGVuY291bnRlcmluZyBhIHdhcm5pbmcgZnJvbSBnY2MgI2RlZmluZSBYTUxfQ0FTVF9GUFRSKGZwdHIpICgqKHZvaWQgKiopKCZhbXA7ZnB0cikpIFRoaXMgbWFjcm8gdmlvbGF0ZWQgSVNPIEMgYWxpYXNpbmcgcnVsZXMgKGdjYzQgb24gczM5MCBicm9rZSkgc28gaXQgaXMgZGlzYWJsZWQgbm93PC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZnB0cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+cG9pbnRlciB0byBhIGZ1bmN0aW9uPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxIYXNoVGFibGUiPlN0cnVjdHVyZSA8L2E+eG1sSGFzaFRhYmxlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+c3RydWN0IF94bWxIYXNoVGFibGUgeworVGhlIGNvbnRlbnQgb2YgdGhpcyBzdHJ1Y3R1cmUgaXMgbm90IG1hZGUgcHVibGljIGJ5IHRoZSBBUEkuCit9IHhtbEhhc2hUYWJsZTsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxIYXNoVGFibGVQdHIiPlR5cGVkZWYgPC9hPnhtbEhhc2hUYWJsZVB0cjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItaGFzaC5odG1sI3htbEhhc2hUYWJsZSI+eG1sSGFzaFRhYmxlPC9hPiAqIHhtbEhhc2hUYWJsZVB0cjsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxIYXNoQ29waWVyIi8+RnVuY3Rpb24gdHlwZSB4bWxIYXNoQ29waWVyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZCAqCXhtbEhhc2hDb3BpZXIJCQkodm9pZCAqIHBheWxvYWQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpPGJyLz4KKzwvcHJlPjxwPkNhbGxiYWNrIHRvIGNvcHkgZGF0YSBmcm9tIGEgaGFzaC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnBheWxvYWQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkYXRhIGluIHRoZSBoYXNoPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZSBhc3NvY2lhdGVkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGNvcHkgb2YgdGhlIGRhdGEgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEhhc2hEZWFsbG9jYXRvciIvPkZ1bmN0aW9uIHR5cGUgeG1sSGFzaERlYWxsb2NhdG9yPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxIYXNoRGVhbGxvY2F0b3IJCSh2b2lkICogcGF5bG9hZCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSk8YnIvPgorPC9wcmU+PHA+Q2FsbGJhY2sgdG8gZnJlZSBkYXRhIGZyb20gYSBoYXNoLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cGF5bG9hZDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRhdGEgaW4gdGhlIGhhc2g8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lIGFzc29jaWF0ZWQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxIYXNoU2Nhbm5lciIvPkZ1bmN0aW9uIHR5cGUgeG1sSGFzaFNjYW5uZXI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbEhhc2hTY2FubmVyCQkJKHZvaWQgKiBwYXlsb2FkLCA8YnIvPgkJCQkJIHZvaWQgKiBkYXRhLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKTxici8+Cis8L3ByZT48cD5DYWxsYmFjayB3aGVuIHNjYW5uaW5nIGRhdGEgaW4gYSBoYXNoIHdpdGggdGhlIHNpbXBsZSBzY2FubmVyLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cGF5bG9hZDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRhdGEgaW4gdGhlIGhhc2g8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRhdGE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmV4dHJhIHNjYW5ubmVyIGRhdGE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lIGFzc29jaWF0ZWQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxIYXNoU2Nhbm5lckZ1bGwiLz5GdW5jdGlvbiB0eXBlIHhtbEhhc2hTY2FubmVyRnVsbDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sSGFzaFNjYW5uZXJGdWxsCQkodm9pZCAqIHBheWxvYWQsIDxici8+CQkJCQkgdm9pZCAqIGRhdGEsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUyLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lMyk8YnIvPgorPC9wcmU+PHA+Q2FsbGJhY2sgd2hlbiBzY2FubmluZyBkYXRhIGluIGEgaGFzaCB3aXRoIHRoZSBmdWxsIHNjYW5uZXIuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wYXlsb2FkPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZGF0YSBpbiB0aGUgaGFzaDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGF0YTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+ZXh0cmEgc2Nhbm5uZXIgZGF0YTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5hbWUgYXNzb2NpYXRlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzZWNvbmQgbmFtZSBhc3NvY2lhdGVkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lMzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHRoaXJkIG5hbWUgYXNzb2NpYXRlZDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEhhc2hBZGRFbnRyeSIvPnhtbEhhc2hBZGRFbnRyeSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxIYXNoQWRkRW50cnkJCQkoPGEgaHJlZj0ibGlieG1sMi1oYXNoLmh0bWwjeG1sSGFzaFRhYmxlUHRyIj54bWxIYXNoVGFibGVQdHI8L2E+IHRhYmxlLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJIHZvaWQgKiB1c2VyZGF0YSk8YnIvPgorPC9wcmU+PHA+QWRkIHRoZSBAdXNlcmRhdGEgdG8gdGhlIGhhc2ggQHRhYmxlLiBUaGlzIGNhbiBsYXRlciBiZSByZXRyaWV2ZWQgYnkgdXNpbmcgdGhlIEBuYW1lLiBEdXBsaWNhdGUgbmFtZXMgZ2VuZXJhdGUgZXJyb3JzLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dGFibGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBoYXNoIHRhYmxlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZSBvZiB0aGUgdXNlcmRhdGE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnVzZXJkYXRhPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gdGhlIHVzZXJkYXRhPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIHRoZSBhZGRpdGlvbiBzdWNjZWVkZWQgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sSGFzaEFkZEVudHJ5MiIvPnhtbEhhc2hBZGRFbnRyeTIgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sSGFzaEFkZEVudHJ5MgkJKDxhIGhyZWY9ImxpYnhtbDItaGFzaC5odG1sI3htbEhhc2hUYWJsZVB0ciI+eG1sSGFzaFRhYmxlUHRyPC9hPiB0YWJsZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZTIsIDxici8+CQkJCQkgdm9pZCAqIHVzZXJkYXRhKTxici8+Cis8L3ByZT48cD5BZGQgdGhlIEB1c2VyZGF0YSB0byB0aGUgaGFzaCBAdGFibGUuIFRoaXMgY2FuIGxhdGVyIGJlIHJldHJpZXZlZCBieSB1c2luZyB0aGUgKEBuYW1lLCBAbmFtZTIpIHR1cGxlLiBEdXBsaWNhdGUgdHVwbGVzIGdlbmVyYXRlIGVycm9ycy48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRhYmxlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaGFzaCB0YWJsZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5hbWUgb2YgdGhlIHVzZXJkYXRhPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lMjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBzZWNvbmQgbmFtZSBvZiB0aGUgdXNlcmRhdGE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnVzZXJkYXRhPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gdGhlIHVzZXJkYXRhPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIHRoZSBhZGRpdGlvbiBzdWNjZWVkZWQgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sSGFzaEFkZEVudHJ5MyIvPnhtbEhhc2hBZGRFbnRyeTMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sSGFzaEFkZEVudHJ5MwkJKDxhIGhyZWY9ImxpYnhtbDItaGFzaC5odG1sI3htbEhhc2hUYWJsZVB0ciI+eG1sSGFzaFRhYmxlUHRyPC9hPiB0YWJsZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZTIsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUzLCA8YnIvPgkJCQkJIHZvaWQgKiB1c2VyZGF0YSk8YnIvPgorPC9wcmU+PHA+QWRkIHRoZSBAdXNlcmRhdGEgdG8gdGhlIGhhc2ggQHRhYmxlLiBUaGlzIGNhbiBsYXRlciBiZSByZXRyaWV2ZWQgYnkgdXNpbmcgdGhlIHR1cGxlIChAbmFtZSwgQG5hbWUyLCBAbmFtZTMpLiBEdXBsaWNhdGUgZW50cmllcyBnZW5lcmF0ZSBlcnJvcnMuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50YWJsZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGhhc2ggdGFibGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lIG9mIHRoZSB1c2VyZGF0YTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgc2Vjb25kIG5hbWUgb2YgdGhlIHVzZXJkYXRhPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lMzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSB0aGlyZCBuYW1lIG9mIHRoZSB1c2VyZGF0YTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dXNlcmRhdGE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byB0aGUgdXNlcmRhdGE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgdGhlIGFkZGl0aW9uIHN1Y2NlZWRlZCBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxIYXNoQ29weSIvPnhtbEhhc2hDb3B5ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi1oYXNoLmh0bWwjeG1sSGFzaFRhYmxlUHRyIj54bWxIYXNoVGFibGVQdHI8L2E+CXhtbEhhc2hDb3B5CQkoPGEgaHJlZj0ibGlieG1sMi1oYXNoLmh0bWwjeG1sSGFzaFRhYmxlUHRyIj54bWxIYXNoVGFibGVQdHI8L2E+IHRhYmxlLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItaGFzaC5odG1sI3htbEhhc2hDb3BpZXIiPnhtbEhhc2hDb3BpZXI8L2E+IGYpPGJyLz4KKzwvcHJlPjxwPlNjYW4gdGhlIGhhc2ggQHRhYmxlIGFuZCBhcHBsaWVkIEBmIHRvIGVhY2ggdmFsdWUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50YWJsZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGhhc2ggdGFibGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjb3BpZXIgZnVuY3Rpb24gZm9yIGl0ZW1zIGluIHRoZSBoYXNoPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IHRhYmxlIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxIYXNoQ3JlYXRlIi8+eG1sSGFzaENyZWF0ZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItaGFzaC5odG1sI3htbEhhc2hUYWJsZVB0ciI+eG1sSGFzaFRhYmxlUHRyPC9hPgl4bWxIYXNoQ3JlYXRlCQkoaW50IHNpemUpPGJyLz4KKzwvcHJlPjxwPkNyZWF0ZSBhIG5ldyB4bWxIYXNoVGFibGVQdHIuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zaXplPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc2l6ZSBvZiB0aGUgaGFzaCB0YWJsZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ld2x5IGNyZWF0ZWQgb2JqZWN0LCBvciBOVUxMIGlmIGFuIGVycm9yIG9jY3VyZWQuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sSGFzaENyZWF0ZURpY3QiLz54bWxIYXNoQ3JlYXRlRGljdCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItaGFzaC5odG1sI3htbEhhc2hUYWJsZVB0ciI+eG1sSGFzaFRhYmxlUHRyPC9hPgl4bWxIYXNoQ3JlYXRlRGljdAkoaW50IHNpemUsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi1kaWN0Lmh0bWwjeG1sRGljdFB0ciI+eG1sRGljdFB0cjwvYT4gZGljdCk8YnIvPgorPC9wcmU+PHA+Q3JlYXRlIGEgbmV3IDxhIGhyZWY9ImxpYnhtbDItaGFzaC5odG1sI3htbEhhc2hUYWJsZVB0ciI+eG1sSGFzaFRhYmxlUHRyPC9hPiB3aGljaCB3aWxsIHVzZSBAZGljdCBhcyB0aGUgaW50ZXJuYWwgZGljdGlvbmFyeTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2l6ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHNpemUgb2YgdGhlIGhhc2ggdGFibGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRpY3Q8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgZGljdGlvbmFyeSB0byB1c2UgZm9yIHRoZSBoYXNoPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QsIG9yIE5VTEwgaWYgYW4gZXJyb3Igb2NjdXJlZC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxIYXNoRnJlZSIvPnhtbEhhc2hGcmVlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxIYXNoRnJlZQkJCSg8YSBocmVmPSJsaWJ4bWwyLWhhc2guaHRtbCN4bWxIYXNoVGFibGVQdHIiPnhtbEhhc2hUYWJsZVB0cjwvYT4gdGFibGUsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi1oYXNoLmh0bWwjeG1sSGFzaERlYWxsb2NhdG9yIj54bWxIYXNoRGVhbGxvY2F0b3I8L2E+IGYpPGJyLz4KKzwvcHJlPjxwPkZyZWUgdGhlIGhhc2ggQHRhYmxlIGFuZCBpdHMgY29udGVudHMuIFRoZSB1c2VyZGF0YSBpcyBkZWFsbG9jYXRlZCB3aXRoIEBmIGlmIHByb3ZpZGVkLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dGFibGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBoYXNoIHRhYmxlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZGVhbGxvY2F0b3IgZnVuY3Rpb24gZm9yIGl0ZW1zIGluIHRoZSBoYXNoPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sSGFzaExvb2t1cCIvPnhtbEhhc2hMb29rdXAgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkICoJeG1sSGFzaExvb2t1cAkJCSg8YSBocmVmPSJsaWJ4bWwyLWhhc2guaHRtbCN4bWxIYXNoVGFibGVQdHIiPnhtbEhhc2hUYWJsZVB0cjwvYT4gdGFibGUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpPGJyLz4KKzwvcHJlPjxwPkZpbmQgdGhlIHVzZXJkYXRhIHNwZWNpZmllZCBieSB0aGUgQG5hbWUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50YWJsZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGhhc2ggdGFibGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lIG9mIHRoZSB1c2VyZGF0YTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHBvaW50ZXIgdG8gdGhlIHVzZXJkYXRhPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sSGFzaExvb2t1cDIiLz54bWxIYXNoTG9va3VwMiAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQgKgl4bWxIYXNoTG9va3VwMgkJCSg8YSBocmVmPSJsaWJ4bWwyLWhhc2guaHRtbCN4bWxIYXNoVGFibGVQdHIiPnhtbEhhc2hUYWJsZVB0cjwvYT4gdGFibGUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUyKTxici8+Cis8L3ByZT48cD5GaW5kIHRoZSB1c2VyZGF0YSBzcGVjaWZpZWQgYnkgdGhlIChAbmFtZSwgQG5hbWUyKSB0dXBsZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRhYmxlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaGFzaCB0YWJsZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5hbWUgb2YgdGhlIHVzZXJkYXRhPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lMjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBzZWNvbmQgbmFtZSBvZiB0aGUgdXNlcmRhdGE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwb2ludGVyIHRvIHRoZSB1c2VyZGF0YTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEhhc2hMb29rdXAzIi8+eG1sSGFzaExvb2t1cDMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkICoJeG1sSGFzaExvb2t1cDMJCQkoPGEgaHJlZj0ibGlieG1sMi1oYXNoLmh0bWwjeG1sSGFzaFRhYmxlUHRyIj54bWxIYXNoVGFibGVQdHI8L2E+IHRhYmxlLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lMiwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZTMpPGJyLz4KKzwvcHJlPjxwPkZpbmQgdGhlIHVzZXJkYXRhIHNwZWNpZmllZCBieSB0aGUgKEBuYW1lLCBAbmFtZTIsIEBuYW1lMykgdHVwbGUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50YWJsZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGhhc2ggdGFibGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lIG9mIHRoZSB1c2VyZGF0YTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgc2Vjb25kIG5hbWUgb2YgdGhlIHVzZXJkYXRhPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lMzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSB0aGlyZCBuYW1lIG9mIHRoZSB1c2VyZGF0YTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGEgcG9pbnRlciB0byB0aGUgdXNlcmRhdGE8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxIYXNoUUxvb2t1cCIvPnhtbEhhc2hRTG9va3VwICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZCAqCXhtbEhhc2hRTG9va3VwCQkJKDxhIGhyZWY9ImxpYnhtbDItaGFzaC5odG1sI3htbEhhc2hUYWJsZVB0ciI+eG1sSGFzaFRhYmxlUHRyPC9hPiB0YWJsZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHJlZml4LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKTxici8+Cis8L3ByZT48cD5GaW5kIHRoZSB1c2VyZGF0YSBzcGVjaWZpZWQgYnkgdGhlIFFOYW1lIEBwcmVmaXg6QG5hbWUvQG5hbWUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50YWJsZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGhhc2ggdGFibGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnByZWZpeDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHByZWZpeCBvZiB0aGUgdXNlcmRhdGE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lIG9mIHRoZSB1c2VyZGF0YTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHBvaW50ZXIgdG8gdGhlIHVzZXJkYXRhPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sSGFzaFFMb29rdXAyIi8+eG1sSGFzaFFMb29rdXAyICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZCAqCXhtbEhhc2hRTG9va3VwMgkJCSg8YSBocmVmPSJsaWJ4bWwyLWhhc2guaHRtbCN4bWxIYXNoVGFibGVQdHIiPnhtbEhhc2hUYWJsZVB0cjwvYT4gdGFibGUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHByZWZpeCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHJlZml4MiwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZTIpPGJyLz4KKzwvcHJlPjxwPkZpbmQgdGhlIHVzZXJkYXRhIHNwZWNpZmllZCBieSB0aGUgUU5hbWVzIHR1cGxlPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50YWJsZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGhhc2ggdGFibGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnByZWZpeDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHByZWZpeCBvZiB0aGUgdXNlcmRhdGE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lIG9mIHRoZSB1c2VyZGF0YTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cHJlZml4MjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHNlY29uZCBwcmVmaXggb2YgdGhlIHVzZXJkYXRhPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lMjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBzZWNvbmQgbmFtZSBvZiB0aGUgdXNlcmRhdGE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwb2ludGVyIHRvIHRoZSB1c2VyZGF0YTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEhhc2hRTG9va3VwMyIvPnhtbEhhc2hRTG9va3VwMyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQgKgl4bWxIYXNoUUxvb2t1cDMJCQkoPGEgaHJlZj0ibGlieG1sMi1oYXNoLmh0bWwjeG1sSGFzaFRhYmxlUHRyIj54bWxIYXNoVGFibGVQdHI8L2E+IHRhYmxlLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwcmVmaXgsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHByZWZpeDIsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUyLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwcmVmaXgzLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lMyk8YnIvPgorPC9wcmU+PHA+RmluZCB0aGUgdXNlcmRhdGEgc3BlY2lmaWVkIGJ5IHRoZSAoQG5hbWUsIEBuYW1lMiwgQG5hbWUzKSB0dXBsZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRhYmxlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaGFzaCB0YWJsZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cHJlZml4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcHJlZml4IG9mIHRoZSB1c2VyZGF0YTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5hbWUgb2YgdGhlIHVzZXJkYXRhPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wcmVmaXgyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc2Vjb25kIHByZWZpeCBvZiB0aGUgdXNlcmRhdGE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWUyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHNlY29uZCBuYW1lIG9mIHRoZSB1c2VyZGF0YTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cHJlZml4MzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHRoaXJkIHByZWZpeCBvZiB0aGUgdXNlcmRhdGE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWUzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHRoaXJkIG5hbWUgb2YgdGhlIHVzZXJkYXRhPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYSBwb2ludGVyIHRvIHRoZSB1c2VyZGF0YTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEhhc2hSZW1vdmVFbnRyeSIvPnhtbEhhc2hSZW1vdmVFbnRyeSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxIYXNoUmVtb3ZlRW50cnkJCSg8YSBocmVmPSJsaWJ4bWwyLWhhc2guaHRtbCN4bWxIYXNoVGFibGVQdHIiPnhtbEhhc2hUYWJsZVB0cjwvYT4gdGFibGUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi1oYXNoLmh0bWwjeG1sSGFzaERlYWxsb2NhdG9yIj54bWxIYXNoRGVhbGxvY2F0b3I8L2E+IGYpPGJyLz4KKzwvcHJlPjxwPkZpbmQgdGhlIHVzZXJkYXRhIHNwZWNpZmllZCBieSB0aGUgQG5hbWUgYW5kIHJlbW92ZSBpdCBmcm9tIHRoZSBoYXNoIEB0YWJsZS4gRXhpc3RpbmcgdXNlcmRhdGEgZm9yIHRoaXMgdHVwbGUgd2lsbCBiZSByZW1vdmVkIGFuZCBmcmVlZCB3aXRoIEBmLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dGFibGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBoYXNoIHRhYmxlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZSBvZiB0aGUgdXNlcmRhdGE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkZWFsbG9jYXRvciBmdW5jdGlvbiBmb3IgcmVtb3ZlZCBpdGVtIChpZiBhbnkpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGlmIHRoZSByZW1vdmFsIHN1Y2NlZWRlZCBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvciBvciBub3QgZm91bmQuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sSGFzaFJlbW92ZUVudHJ5MiIvPnhtbEhhc2hSZW1vdmVFbnRyeTIgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sSGFzaFJlbW92ZUVudHJ5MgkJKDxhIGhyZWY9ImxpYnhtbDItaGFzaC5odG1sI3htbEhhc2hUYWJsZVB0ciI+eG1sSGFzaFRhYmxlUHRyPC9hPiB0YWJsZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZTIsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi1oYXNoLmh0bWwjeG1sSGFzaERlYWxsb2NhdG9yIj54bWxIYXNoRGVhbGxvY2F0b3I8L2E+IGYpPGJyLz4KKzwvcHJlPjxwPkZpbmQgdGhlIHVzZXJkYXRhIHNwZWNpZmllZCBieSB0aGUgKEBuYW1lLCBAbmFtZTIpIHR1cGxlIGFuZCByZW1vdmUgaXQgZnJvbSB0aGUgaGFzaCBAdGFibGUuIEV4aXN0aW5nIHVzZXJkYXRhIGZvciB0aGlzIHR1cGxlIHdpbGwgYmUgcmVtb3ZlZCBhbmQgZnJlZWQgd2l0aCBAZi48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRhYmxlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaGFzaCB0YWJsZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5hbWUgb2YgdGhlIHVzZXJkYXRhPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lMjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBzZWNvbmQgbmFtZSBvZiB0aGUgdXNlcmRhdGE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkZWFsbG9jYXRvciBmdW5jdGlvbiBmb3IgcmVtb3ZlZCBpdGVtIChpZiBhbnkpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGlmIHRoZSByZW1vdmFsIHN1Y2NlZWRlZCBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvciBvciBub3QgZm91bmQuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sSGFzaFJlbW92ZUVudHJ5MyIvPnhtbEhhc2hSZW1vdmVFbnRyeTMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sSGFzaFJlbW92ZUVudHJ5MwkJKDxhIGhyZWY9ImxpYnhtbDItaGFzaC5odG1sI3htbEhhc2hUYWJsZVB0ciI+eG1sSGFzaFRhYmxlUHRyPC9hPiB0YWJsZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZTIsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUzLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItaGFzaC5odG1sI3htbEhhc2hEZWFsbG9jYXRvciI+eG1sSGFzaERlYWxsb2NhdG9yPC9hPiBmKTxici8+Cis8L3ByZT48cD5GaW5kIHRoZSB1c2VyZGF0YSBzcGVjaWZpZWQgYnkgdGhlIChAbmFtZSwgQG5hbWUyLCBAbmFtZTMpIHR1cGxlIGFuZCByZW1vdmUgaXQgZnJvbSB0aGUgaGFzaCBAdGFibGUuIEV4aXN0aW5nIHVzZXJkYXRhIGZvciB0aGlzIHR1cGxlIHdpbGwgYmUgcmVtb3ZlZCBhbmQgZnJlZWQgd2l0aCBAZi48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRhYmxlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaGFzaCB0YWJsZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5hbWUgb2YgdGhlIHVzZXJkYXRhPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lMjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBzZWNvbmQgbmFtZSBvZiB0aGUgdXNlcmRhdGE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWUzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHRoaXJkIG5hbWUgb2YgdGhlIHVzZXJkYXRhPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZGVhbGxvY2F0b3IgZnVuY3Rpb24gZm9yIHJlbW92ZWQgaXRlbSAoaWYgYW55KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpZiB0aGUgcmVtb3ZhbCBzdWNjZWVkZWQgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3Igb3Igbm90IGZvdW5kLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEhhc2hTY2FuIi8+eG1sSGFzaFNjYW4gKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbEhhc2hTY2FuCQkJKDxhIGhyZWY9ImxpYnhtbDItaGFzaC5odG1sI3htbEhhc2hUYWJsZVB0ciI+eG1sSGFzaFRhYmxlUHRyPC9hPiB0YWJsZSwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLWhhc2guaHRtbCN4bWxIYXNoU2Nhbm5lciI+eG1sSGFzaFNjYW5uZXI8L2E+IGYsIDxici8+CQkJCQkgdm9pZCAqIGRhdGEpPGJyLz4KKzwvcHJlPjxwPlNjYW4gdGhlIGhhc2ggQHRhYmxlIGFuZCBhcHBsaWVkIEBmIHRvIGVhY2ggdmFsdWUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50YWJsZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGhhc2ggdGFibGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzY2FubmVyIGZ1bmN0aW9uIGZvciBpdGVtcyBpbiB0aGUgaGFzaDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGF0YTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+ZXh0cmEgZGF0YSBwYXNzZWQgdG8gZjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEhhc2hTY2FuMyIvPnhtbEhhc2hTY2FuMyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sSGFzaFNjYW4zCQkJKDxhIGhyZWY9ImxpYnhtbDItaGFzaC5odG1sI3htbEhhc2hUYWJsZVB0ciI+eG1sSGFzaFRhYmxlUHRyPC9hPiB0YWJsZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZTIsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUzLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItaGFzaC5odG1sI3htbEhhc2hTY2FubmVyIj54bWxIYXNoU2Nhbm5lcjwvYT4gZiwgPGJyLz4JCQkJCSB2b2lkICogZGF0YSk8YnIvPgorPC9wcmU+PHA+U2NhbiB0aGUgaGFzaCBAdGFibGUgYW5kIGFwcGxpZWQgQGYgdG8gZWFjaCB2YWx1ZSBtYXRjaGluZyAoQG5hbWUsIEBuYW1lMiwgQG5hbWUzKSB0dXBsZS4gSWYgb25lIG9mIHRoZSBuYW1lcyBpcyBudWxsLCB0aGUgY29tcGFyaXNvbiBpcyBjb25zaWRlcmVkIHRvIG1hdGNoLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dGFibGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBoYXNoIHRhYmxlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZSBvZiB0aGUgdXNlcmRhdGEgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgc2Vjb25kIG5hbWUgb2YgdGhlIHVzZXJkYXRhIG9yIE5VTEw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWUzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHRoaXJkIG5hbWUgb2YgdGhlIHVzZXJkYXRhIG9yIE5VTEw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzY2FubmVyIGZ1bmN0aW9uIGZvciBpdGVtcyBpbiB0aGUgaGFzaDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGF0YTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+ZXh0cmEgZGF0YSBwYXNzZWQgdG8gZjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEhhc2hTY2FuRnVsbCIvPnhtbEhhc2hTY2FuRnVsbCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sSGFzaFNjYW5GdWxsCQkJKDxhIGhyZWY9ImxpYnhtbDItaGFzaC5odG1sI3htbEhhc2hUYWJsZVB0ciI+eG1sSGFzaFRhYmxlUHRyPC9hPiB0YWJsZSwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLWhhc2guaHRtbCN4bWxIYXNoU2Nhbm5lckZ1bGwiPnhtbEhhc2hTY2FubmVyRnVsbDwvYT4gZiwgPGJyLz4JCQkJCSB2b2lkICogZGF0YSk8YnIvPgorPC9wcmU+PHA+U2NhbiB0aGUgaGFzaCBAdGFibGUgYW5kIGFwcGxpZWQgQGYgdG8gZWFjaCB2YWx1ZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRhYmxlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaGFzaCB0YWJsZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHNjYW5uZXIgZnVuY3Rpb24gZm9yIGl0ZW1zIGluIHRoZSBoYXNoPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kYXRhPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5leHRyYSBkYXRhIHBhc3NlZCB0byBmPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sSGFzaFNjYW5GdWxsMyIvPnhtbEhhc2hTY2FuRnVsbDMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbEhhc2hTY2FuRnVsbDMJCSg8YSBocmVmPSJsaWJ4bWwyLWhhc2guaHRtbCN4bWxIYXNoVGFibGVQdHIiPnhtbEhhc2hUYWJsZVB0cjwvYT4gdGFibGUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUyLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lMywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLWhhc2guaHRtbCN4bWxIYXNoU2Nhbm5lckZ1bGwiPnhtbEhhc2hTY2FubmVyRnVsbDwvYT4gZiwgPGJyLz4JCQkJCSB2b2lkICogZGF0YSk8YnIvPgorPC9wcmU+PHA+U2NhbiB0aGUgaGFzaCBAdGFibGUgYW5kIGFwcGxpZWQgQGYgdG8gZWFjaCB2YWx1ZSBtYXRjaGluZyAoQG5hbWUsIEBuYW1lMiwgQG5hbWUzKSB0dXBsZS4gSWYgb25lIG9mIHRoZSBuYW1lcyBpcyBudWxsLCB0aGUgY29tcGFyaXNvbiBpcyBjb25zaWRlcmVkIHRvIG1hdGNoLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dGFibGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBoYXNoIHRhYmxlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZSBvZiB0aGUgdXNlcmRhdGEgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgc2Vjb25kIG5hbWUgb2YgdGhlIHVzZXJkYXRhIG9yIE5VTEw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWUzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHRoaXJkIG5hbWUgb2YgdGhlIHVzZXJkYXRhIG9yIE5VTEw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzY2FubmVyIGZ1bmN0aW9uIGZvciBpdGVtcyBpbiB0aGUgaGFzaDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGF0YTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+ZXh0cmEgZGF0YSBwYXNzZWQgdG8gZjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEhhc2hTaXplIi8+eG1sSGFzaFNpemUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sSGFzaFNpemUJCQkoPGEgaHJlZj0ibGlieG1sMi1oYXNoLmh0bWwjeG1sSGFzaFRhYmxlUHRyIj54bWxIYXNoVGFibGVQdHI8L2E+IHRhYmxlKTxici8+Cis8L3ByZT48cD5RdWVyeSB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzIGluc3RhbGxlZCBpbiB0aGUgaGFzaCBAdGFibGUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50YWJsZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGhhc2ggdGFibGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgZWxlbWVudHMgaW4gdGhlIGhhc2ggdGFibGUgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEhhc2hVcGRhdGVFbnRyeSIvPnhtbEhhc2hVcGRhdGVFbnRyeSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxIYXNoVXBkYXRlRW50cnkJCSg8YSBocmVmPSJsaWJ4bWwyLWhhc2guaHRtbCN4bWxIYXNoVGFibGVQdHIiPnhtbEhhc2hUYWJsZVB0cjwvYT4gdGFibGUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgdm9pZCAqIHVzZXJkYXRhLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItaGFzaC5odG1sI3htbEhhc2hEZWFsbG9jYXRvciI+eG1sSGFzaERlYWxsb2NhdG9yPC9hPiBmKTxici8+Cis8L3ByZT48cD5BZGQgdGhlIEB1c2VyZGF0YSB0byB0aGUgaGFzaCBAdGFibGUuIFRoaXMgY2FuIGxhdGVyIGJlIHJldHJpZXZlZCBieSB1c2luZyB0aGUgQG5hbWUuIEV4aXN0aW5nIGVudHJ5IGZvciB0aGlzIEBuYW1lIHdpbGwgYmUgcmVtb3ZlZCBhbmQgZnJlZWQgd2l0aCBAZiBpZiBmb3VuZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRhYmxlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaGFzaCB0YWJsZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5hbWUgb2YgdGhlIHVzZXJkYXRhPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD51c2VyZGF0YTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIHRoZSB1c2VyZGF0YTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRlYWxsb2NhdG9yIGZ1bmN0aW9uIGZvciByZXBsYWNlZCBpdGVtIChpZiBhbnkpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIHRoZSBhZGRpdGlvbiBzdWNjZWVkZWQgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sSGFzaFVwZGF0ZUVudHJ5MiIvPnhtbEhhc2hVcGRhdGVFbnRyeTIgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sSGFzaFVwZGF0ZUVudHJ5MgkJKDxhIGhyZWY9ImxpYnhtbDItaGFzaC5odG1sI3htbEhhc2hUYWJsZVB0ciI+eG1sSGFzaFRhYmxlUHRyPC9hPiB0YWJsZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZTIsIDxici8+CQkJCQkgdm9pZCAqIHVzZXJkYXRhLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItaGFzaC5odG1sI3htbEhhc2hEZWFsbG9jYXRvciI+eG1sSGFzaERlYWxsb2NhdG9yPC9hPiBmKTxici8+Cis8L3ByZT48cD5BZGQgdGhlIEB1c2VyZGF0YSB0byB0aGUgaGFzaCBAdGFibGUuIFRoaXMgY2FuIGxhdGVyIGJlIHJldHJpZXZlZCBieSB1c2luZyB0aGUgKEBuYW1lLCBAbmFtZTIpIHR1cGxlLiBFeGlzdGluZyBlbnRyeSBmb3IgdGhpcyB0dXBsZSB3aWxsIGJlIHJlbW92ZWQgYW5kIGZyZWVkIHdpdGggQGYgaWYgZm91bmQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50YWJsZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGhhc2ggdGFibGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lIG9mIHRoZSB1c2VyZGF0YTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgc2Vjb25kIG5hbWUgb2YgdGhlIHVzZXJkYXRhPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD51c2VyZGF0YTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIHRoZSB1c2VyZGF0YTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRlYWxsb2NhdG9yIGZ1bmN0aW9uIGZvciByZXBsYWNlZCBpdGVtIChpZiBhbnkpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIHRoZSBhZGRpdGlvbiBzdWNjZWVkZWQgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sSGFzaFVwZGF0ZUVudHJ5MyIvPnhtbEhhc2hVcGRhdGVFbnRyeTMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sSGFzaFVwZGF0ZUVudHJ5MwkJKDxhIGhyZWY9ImxpYnhtbDItaGFzaC5odG1sI3htbEhhc2hUYWJsZVB0ciI+eG1sSGFzaFRhYmxlUHRyPC9hPiB0YWJsZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZTIsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUzLCA8YnIvPgkJCQkJIHZvaWQgKiB1c2VyZGF0YSwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLWhhc2guaHRtbCN4bWxIYXNoRGVhbGxvY2F0b3IiPnhtbEhhc2hEZWFsbG9jYXRvcjwvYT4gZik8YnIvPgorPC9wcmU+PHA+QWRkIHRoZSBAdXNlcmRhdGEgdG8gdGhlIGhhc2ggQHRhYmxlLiBUaGlzIGNhbiBsYXRlciBiZSByZXRyaWV2ZWQgYnkgdXNpbmcgdGhlIHR1cGxlIChAbmFtZSwgQG5hbWUyLCBAbmFtZTMpLiBFeGlzdGluZyBlbnRyeSBmb3IgdGhpcyB0dXBsZSB3aWxsIGJlIHJlbW92ZWQgYW5kIGZyZWVkIHdpdGggQGYgaWYgZm91bmQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50YWJsZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGhhc2ggdGFibGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lIG9mIHRoZSB1c2VyZGF0YTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgc2Vjb25kIG5hbWUgb2YgdGhlIHVzZXJkYXRhPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lMzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSB0aGlyZCBuYW1lIG9mIHRoZSB1c2VyZGF0YTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dXNlcmRhdGE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byB0aGUgdXNlcmRhdGE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkZWFsbG9jYXRvciBmdW5jdGlvbiBmb3IgcmVwbGFjZWQgaXRlbSAoaWYgYW55KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCB0aGUgYWRkaXRpb24gc3VjY2VlZGVkIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKyAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvZGV2aGVscC9saWJ4bWwyLWxpc3QuaHRtbCBiL2xpYnhtbDIvZG9jL2RldmhlbHAvbGlieG1sMi1saXN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGE0ZmE3MwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL2RldmhlbHAvbGlieG1sMi1saXN0Lmh0bWwKQEAgLTAsMCArMSwyMjYgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8aHRtbD4KKyAgPGhlYWQ+CisgICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiLz4KKyAgICA8dGl0bGU+bGlzdDogbGlzdHMgaW50ZXJmYWNlczwvdGl0bGU+CisgICAgPG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJMaWJ4bWwyIGRldmhlbHAgc3R5bGVzaGVldCIvPgorICAgIDxsaW5rIHJlbD0ic3RhcnQiIGhyZWY9ImluZGV4Lmh0bWwiIHRpdGxlPSJsaWJ4bWwyIFJlZmVyZW5jZSBNYW51YWwiLz4KKyAgICA8bGluayByZWw9InVwIiBocmVmPSJnZW5lcmFsLmh0bWwiIHRpdGxlPSJBUEkiLz4KKyAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9InN0eWxlLmNzcyIgdHlwZT0idGV4dC9jc3MiLz4KKyAgICA8bGluayByZWw9ImNoYXB0ZXIiIGhyZWY9ImdlbmVyYWwuaHRtbCIgdGl0bGU9IkFQSSIvPgorICA8L2hlYWQ+CisgIDxib2R5IGJnY29sb3I9IndoaXRlIiB0ZXh0PSJibGFjayIgbGluaz0iIzAwMDBGRiIgdmxpbms9IiM4NDAwODQiIGFsaW5rPSIjMDAwMEZGIj4KKyAgICA8dGFibGUgY2xhc3M9Im5hdmlnYXRpb24iIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIyIj4KKyAgICAgIDx0ciB2YWxpZ249Im1pZGRsZSI+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImxpYnhtbDItaGFzaC5odG1sIj4KKyAgICAgICAgICAgIDxpbWcgc3JjPSJsZWZ0LnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iUHJldiIvPgorICAgICAgICAgIDwvYT4KKyAgICAgICAgPC90ZD4KKyAgICAgICAgPHRkPgorICAgICAgICAgIDxhIGFjY2Vzc2tleT0idSIgaHJlZj0iZ2VuZXJhbC5odG1sIj4KKyAgICAgICAgICAgIDxpbWcgc3JjPSJ1cC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlVwIi8+CisgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGQ+CisgICAgICAgICAgPGEgYWNjZXNza2V5PSJoIiBocmVmPSJpbmRleC5odG1sIj4KKyAgICAgICAgICAgIDxpbWcgc3JjPSJob21lLnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iSG9tZSIvPgorICAgICAgICAgIDwvYT4KKyAgICAgICAgPC90ZD4KKyAgICAgICAgPHRkPgorICAgICAgICAgIDxhIGFjY2Vzc2tleT0ibiIgaHJlZj0ibGlieG1sMi1uYW5vZnRwLmh0bWwiPgorICAgICAgICAgICAgPGltZyBzcmM9InJpZ2h0LnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iTmV4dCIvPgorICAgICAgICAgIDwvYT4KKyAgICAgICAgPC90ZD4KKyAgICAgICAgPHRoIHdpZHRoPSIxMDAlIiBhbGlnbj0iY2VudGVyIj5saWJ4bWwyIFJlZmVyZW5jZSBNYW51YWw8L3RoPgorICAgICAgPC90cj4KKyAgICA8L3RhYmxlPgorICAgIDxoMj4KKyAgICAgIDxzcGFuIGNsYXNzPSJyZWZlbnRyeXRpdGxlIj5saXN0PC9zcGFuPgorICAgIDwvaDI+CisgICAgPHA+bGlzdCAtIGxpc3RzIGludGVyZmFjZXM8L3A+CisgICAgPHA+dGhpcyBtb2R1bGUgaW1wbGVtZW50IHRoZSBsaXN0IHN1cHBvcnQgdXNlZCBpbiB2YXJpb3VzIHBsYWNlIGluIHRoZSBsaWJyYXJ5LiA8L3A+CisgICAgPHA+QXV0aG9yKHMpOiBHYXJ5IFBlbm5pbmd0b24gJmx0O0dhcnkuUGVubmluZ3RvbkB1ay5zdW4uY29tJmd0OyA8L3A+CisgICAgPGRpdiBjbGFzcz0icmVmc3lub3BzaXNkaXYiPgorICAgICAgPGgyPlN5bm9wc2lzPC9oMj4KKyAgICAgIDxwcmUgY2xhc3M9InN5bm9wc2lzIj50eXBlZGVmIHN0cnVjdCBfeG1sTGluayA8YSBocmVmPSIjeG1sTGluayI+eG1sTGluazwvYT47Cit0eXBlZGVmIDxhIGhyZWY9ImxpYnhtbDItbGlzdC5odG1sI3htbExpbmsiPnhtbExpbms8L2E+ICogPGEgaHJlZj0iI3htbExpbmtQdHIiPnhtbExpbmtQdHI8L2E+OwordHlwZWRlZiBzdHJ1Y3QgX3htbExpc3QgPGEgaHJlZj0iI3htbExpc3QiPnhtbExpc3Q8L2E+OwordHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwyLWxpc3QuaHRtbCN4bWxMaXN0Ij54bWxMaXN0PC9hPiAqIDxhIGhyZWY9IiN4bWxMaXN0UHRyIj54bWxMaXN0UHRyPC9hPjsKK2ludAk8YSBocmVmPSIjeG1sTGlzdEluc2VydCI+eG1sTGlzdEluc2VydDwvYT4JCQkoPGEgaHJlZj0ibGlieG1sMi1saXN0Lmh0bWwjeG1sTGlzdFB0ciI+eG1sTGlzdFB0cjwvYT4gbCwgPGJyLz4JCQkJCSB2b2lkICogZGF0YSk7CitpbnQJPGEgaHJlZj0iI3htbExpc3RFbXB0eSI+eG1sTGlzdEVtcHR5PC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwyLWxpc3QuaHRtbCN4bWxMaXN0UHRyIj54bWxMaXN0UHRyPC9hPiBsKTsKK3ZvaWQJPGEgaHJlZj0iI3htbExpc3RTb3J0Ij54bWxMaXN0U29ydDwvYT4JCQkoPGEgaHJlZj0ibGlieG1sMi1saXN0Lmh0bWwjeG1sTGlzdFB0ciI+eG1sTGlzdFB0cjwvYT4gbCk7Cit0eXBlZGVmIHZvaWQgPGEgaHJlZj0iI3htbExpc3REZWFsbG9jYXRvciI+eG1sTGlzdERlYWxsb2NhdG9yPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItbGlzdC5odG1sI3htbExpbmtQdHIiPnhtbExpbmtQdHI8L2E+IGxrKTsKK3ZvaWQJPGEgaHJlZj0iI3htbExpc3RNZXJnZSI+eG1sTGlzdE1lcmdlPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwyLWxpc3QuaHRtbCN4bWxMaXN0UHRyIj54bWxMaXN0UHRyPC9hPiBsMSwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLWxpc3QuaHRtbCN4bWxMaXN0UHRyIj54bWxMaXN0UHRyPC9hPiBsMik7Cis8YSBocmVmPSJsaWJ4bWwyLWxpc3QuaHRtbCN4bWxMaXN0UHRyIj54bWxMaXN0UHRyPC9hPgk8YSBocmVmPSIjeG1sTGlzdENyZWF0ZSI+eG1sTGlzdENyZWF0ZTwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLWxpc3QuaHRtbCN4bWxMaXN0RGVhbGxvY2F0b3IiPnhtbExpc3REZWFsbG9jYXRvcjwvYT4gZGVhbGxvY2F0b3IsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi1saXN0Lmh0bWwjeG1sTGlzdERhdGFDb21wYXJlIj54bWxMaXN0RGF0YUNvbXBhcmU8L2E+IGNvbXBhcmUpOworPGEgaHJlZj0ibGlieG1sMi1saXN0Lmh0bWwjeG1sTGlzdFB0ciI+eG1sTGlzdFB0cjwvYT4JPGEgaHJlZj0iI3htbExpc3REdXAiPnhtbExpc3REdXA8L2E+CQkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi1saXN0Lmh0bWwjeG1sTGlzdFB0ciI+eG1sTGlzdFB0cjwvYT4gb2xkKTsKK2ludAk8YSBocmVmPSIjeG1sTGlzdFJlbW92ZUxhc3QiPnhtbExpc3RSZW1vdmVMYXN0PC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItbGlzdC5odG1sI3htbExpc3RQdHIiPnhtbExpc3RQdHI8L2E+IGwsIDxici8+CQkJCQkgdm9pZCAqIGRhdGEpOwordm9pZAk8YSBocmVmPSIjeG1sTGlzdFdhbGsiPnhtbExpc3RXYWxrPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwyLWxpc3QuaHRtbCN4bWxMaXN0UHRyIj54bWxMaXN0UHRyPC9hPiBsLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItbGlzdC5odG1sI3htbExpc3RXYWxrZXIiPnhtbExpc3RXYWxrZXI8L2E+IHdhbGtlciwgPGJyLz4JCQkJCSBjb25zdCB2b2lkICogdXNlcik7CitpbnQJPGEgaHJlZj0iI3htbExpc3RSZW1vdmVBbGwiPnhtbExpc3RSZW1vdmVBbGw8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi1saXN0Lmh0bWwjeG1sTGlzdFB0ciI+eG1sTGlzdFB0cjwvYT4gbCwgPGJyLz4JCQkJCSB2b2lkICogZGF0YSk7CitpbnQJPGEgaHJlZj0iI3htbExpc3RDb3B5Ij54bWxMaXN0Q29weTwvYT4JCQkoPGEgaHJlZj0ibGlieG1sMi1saXN0Lmh0bWwjeG1sTGlzdFB0ciI+eG1sTGlzdFB0cjwvYT4gY3VyLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDItbGlzdC5odG1sI3htbExpc3RQdHIiPnhtbExpc3RQdHI8L2E+IG9sZCk7Cit2b2lkCTxhIGhyZWY9IiN4bWxMaXN0UG9wRnJvbnQiPnhtbExpc3RQb3BGcm9udDwvYT4JCQkoPGEgaHJlZj0ibGlieG1sMi1saXN0Lmh0bWwjeG1sTGlzdFB0ciI+eG1sTGlzdFB0cjwvYT4gbCk7Cit2b2lkICoJPGEgaHJlZj0iI3htbExpc3RTZWFyY2giPnhtbExpc3RTZWFyY2g8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbDItbGlzdC5odG1sI3htbExpc3RQdHIiPnhtbExpc3RQdHI8L2E+IGwsIDxici8+CQkJCQkgdm9pZCAqIGRhdGEpOwordHlwZWRlZiBpbnQgPGEgaHJlZj0iI3htbExpc3RXYWxrZXIiPnhtbExpc3RXYWxrZXI8L2E+CQkJKGNvbnN0IHZvaWQgKiBkYXRhLCA8YnIvPgkJCQkJIGNvbnN0IHZvaWQgKiB1c2VyKTsKK2ludAk8YSBocmVmPSIjeG1sTGlzdFJlbW92ZUZpcnN0Ij54bWxMaXN0UmVtb3ZlRmlyc3Q8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi1saXN0Lmh0bWwjeG1sTGlzdFB0ciI+eG1sTGlzdFB0cjwvYT4gbCwgPGJyLz4JCQkJCSB2b2lkICogZGF0YSk7Cit2b2lkCTxhIGhyZWY9IiN4bWxMaXN0UmV2ZXJzZVdhbGsiPnhtbExpc3RSZXZlcnNlV2FsazwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLWxpc3QuaHRtbCN4bWxMaXN0UHRyIj54bWxMaXN0UHRyPC9hPiBsLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItbGlzdC5odG1sI3htbExpc3RXYWxrZXIiPnhtbExpc3RXYWxrZXI8L2E+IHdhbGtlciwgPGJyLz4JCQkJCSBjb25zdCB2b2lkICogdXNlcik7Cit2b2lkICoJPGEgaHJlZj0iI3htbExpbmtHZXREYXRhIj54bWxMaW5rR2V0RGF0YTwvYT4JCQkoPGEgaHJlZj0ibGlieG1sMi1saXN0Lmh0bWwjeG1sTGlua1B0ciI+eG1sTGlua1B0cjwvYT4gbGspOwordm9pZAk8YSBocmVmPSIjeG1sTGlzdENsZWFyIj54bWxMaXN0Q2xlYXI8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbDItbGlzdC5odG1sI3htbExpc3RQdHIiPnhtbExpc3RQdHI8L2E+IGwpOworaW50CTxhIGhyZWY9IiN4bWxMaXN0QXBwZW5kIj54bWxMaXN0QXBwZW5kPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwyLWxpc3QuaHRtbCN4bWxMaXN0UHRyIj54bWxMaXN0UHRyPC9hPiBsLCA8YnIvPgkJCQkJIHZvaWQgKiBkYXRhKTsKK3ZvaWQJPGEgaHJlZj0iI3htbExpc3RSZXZlcnNlIj54bWxMaXN0UmV2ZXJzZTwvYT4JCQkoPGEgaHJlZj0ibGlieG1sMi1saXN0Lmh0bWwjeG1sTGlzdFB0ciI+eG1sTGlzdFB0cjwvYT4gbCk7Cit0eXBlZGVmIGludCA8YSBocmVmPSIjeG1sTGlzdERhdGFDb21wYXJlIj54bWxMaXN0RGF0YUNvbXBhcmU8L2E+CQkoY29uc3Qgdm9pZCAqIGRhdGEwLCA8YnIvPgkJCQkJIGNvbnN0IHZvaWQgKiBkYXRhMSk7CitpbnQJPGEgaHJlZj0iI3htbExpc3RTaXplIj54bWxMaXN0U2l6ZTwvYT4JCQkoPGEgaHJlZj0ibGlieG1sMi1saXN0Lmh0bWwjeG1sTGlzdFB0ciI+eG1sTGlzdFB0cjwvYT4gbCk7CitpbnQJPGEgaHJlZj0iI3htbExpc3RQdXNoRnJvbnQiPnhtbExpc3RQdXNoRnJvbnQ8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi1saXN0Lmh0bWwjeG1sTGlzdFB0ciI+eG1sTGlzdFB0cjwvYT4gbCwgPGJyLz4JCQkJCSB2b2lkICogZGF0YSk7Cis8YSBocmVmPSJsaWJ4bWwyLWxpc3QuaHRtbCN4bWxMaW5rUHRyIj54bWxMaW5rUHRyPC9hPgk8YSBocmVmPSIjeG1sTGlzdEVuZCI+eG1sTGlzdEVuZDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLWxpc3QuaHRtbCN4bWxMaXN0UHRyIj54bWxMaXN0UHRyPC9hPiBsKTsKK3ZvaWQJPGEgaHJlZj0iI3htbExpc3RQb3BCYWNrIj54bWxMaXN0UG9wQmFjazwvYT4JCQkoPGEgaHJlZj0ibGlieG1sMi1saXN0Lmh0bWwjeG1sTGlzdFB0ciI+eG1sTGlzdFB0cjwvYT4gbCk7Cit2b2lkICoJPGEgaHJlZj0iI3htbExpc3RSZXZlcnNlU2VhcmNoIj54bWxMaXN0UmV2ZXJzZVNlYXJjaDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLWxpc3QuaHRtbCN4bWxMaXN0UHRyIj54bWxMaXN0UHRyPC9hPiBsLCA8YnIvPgkJCQkJIHZvaWQgKiBkYXRhKTsKK2ludAk8YSBocmVmPSIjeG1sTGlzdFB1c2hCYWNrIj54bWxMaXN0UHVzaEJhY2s8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbDItbGlzdC5odG1sI3htbExpc3RQdHIiPnhtbExpc3RQdHI8L2E+IGwsIDxici8+CQkJCQkgdm9pZCAqIGRhdGEpOworPGEgaHJlZj0ibGlieG1sMi1saXN0Lmh0bWwjeG1sTGlua1B0ciI+eG1sTGlua1B0cjwvYT4JPGEgaHJlZj0iI3htbExpc3RGcm9udCI+eG1sTGlzdEZyb250PC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItbGlzdC5odG1sI3htbExpc3RQdHIiPnhtbExpc3RQdHI8L2E+IGwpOwordm9pZAk8YSBocmVmPSIjeG1sTGlzdERlbGV0ZSI+eG1sTGlzdERlbGV0ZTwvYT4JCQkoPGEgaHJlZj0ibGlieG1sMi1saXN0Lmh0bWwjeG1sTGlzdFB0ciI+eG1sTGlzdFB0cjwvYT4gbCk7Cis8L3ByZT4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MSIgbGFuZz0iZW4iPgorICAgICAgPGgyPkRlc2NyaXB0aW9uPC9oMj4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MSIgbGFuZz0iZW4iPgorICAgICAgPGgyPkRldGFpbHM8L2gyPgorICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTGluayI+U3RydWN0dXJlIDwvYT54bWxMaW5rPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+c3RydWN0IF94bWxMaW5rIHsKK1RoZSBjb250ZW50IG9mIHRoaXMgc3RydWN0dXJlIGlzIG5vdCBtYWRlIHB1YmxpYyBieSB0aGUgQVBJLgorfSB4bWxMaW5rOworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbExpbmtQdHIiPlR5cGVkZWYgPC9hPnhtbExpbmtQdHI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLWxpc3QuaHRtbCN4bWxMaW5rIj54bWxMaW5rPC9hPiAqIHhtbExpbmtQdHI7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTGlzdCI+U3RydWN0dXJlIDwvYT54bWxMaXN0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+c3RydWN0IF94bWxMaXN0IHsKK1RoZSBjb250ZW50IG9mIHRoaXMgc3RydWN0dXJlIGlzIG5vdCBtYWRlIHB1YmxpYyBieSB0aGUgQVBJLgorfSB4bWxMaXN0OworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbExpc3RQdHIiPlR5cGVkZWYgPC9hPnhtbExpc3RQdHI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLWxpc3QuaHRtbCN4bWxMaXN0Ij54bWxMaXN0PC9hPiAqIHhtbExpc3RQdHI7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTGlzdERhdGFDb21wYXJlIi8+RnVuY3Rpb24gdHlwZSB4bWxMaXN0RGF0YUNvbXBhcmU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sTGlzdERhdGFDb21wYXJlCQkoY29uc3Qgdm9pZCAqIGRhdGEwLCA8YnIvPgkJCQkJIGNvbnN0IHZvaWQgKiBkYXRhMSk8YnIvPgorPC9wcmU+PHA+Q2FsbGJhY2sgZnVuY3Rpb24gdXNlZCB0byBjb21wYXJlIDIgZGF0YS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRhdGEwPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZmlyc3QgZGF0YTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGF0YTE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzZWNvbmQgZGF0YTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpcyBlcXVhbGl0eSwgLTEgb3IgMSBvdGhlcndpc2UgZGVwZW5kaW5nIG9uIHRoZSBvcmRlcmluZy48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxMaXN0RGVhbGxvY2F0b3IiLz5GdW5jdGlvbiB0eXBlIHhtbExpc3REZWFsbG9jYXRvcjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sTGlzdERlYWxsb2NhdG9yCQkoPGEgaHJlZj0ibGlieG1sMi1saXN0Lmh0bWwjeG1sTGlua1B0ciI+eG1sTGlua1B0cjwvYT4gbGspPGJyLz4KKzwvcHJlPjxwPkNhbGxiYWNrIGZ1bmN0aW9uIHVzZWQgdG8gZnJlZSBkYXRhIGZyb20gYSBsaXN0LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGs8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkYXRhIHRvIGRlYWxsb2NhdGU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxMaXN0V2Fsa2VyIi8+RnVuY3Rpb24gdHlwZSB4bWxMaXN0V2Fsa2VyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbExpc3RXYWxrZXIJCQkoY29uc3Qgdm9pZCAqIGRhdGEsIDxici8+CQkJCQkgY29uc3Qgdm9pZCAqIHVzZXIpPGJyLz4KKzwvcHJlPjxwPkNhbGxiYWNrIGZ1bmN0aW9uIHVzZWQgd2hlbiB3YWxraW5nIGEgbGlzdCB3aXRoIHhtbExpc3RXYWxrKCkuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kYXRhPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZGF0YSBmb3VuZCBpbiB0aGUgbGlzdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dXNlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+ZXh0cmEgdXNlciBwcm92aWRlZCBkYXRhIHRvIHRoZSB3YWxrZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgdG8gc3RvcCB3YWxraW5nIHRoZSBsaXN0LCAxIG90aGVyd2lzZS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxMaW5rR2V0RGF0YSIvPnhtbExpbmtHZXREYXRhICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZCAqCXhtbExpbmtHZXREYXRhCQkJKDxhIGhyZWY9ImxpYnhtbDItbGlzdC5odG1sI3htbExpbmtQdHIiPnhtbExpbmtQdHI8L2E+IGxrKTxici8+Cis8L3ByZT48cD5TZWUgUmV0dXJucy48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxrPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGxpbms8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byB0aGUgZGF0YSByZWZlcmVuY2VkIGZyb20gdGhpcyBsaW5rPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTGlzdEFwcGVuZCIvPnhtbExpc3RBcHBlbmQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sTGlzdEFwcGVuZAkJCSg8YSBocmVmPSJsaWJ4bWwyLWxpc3QuaHRtbCN4bWxMaXN0UHRyIj54bWxMaXN0UHRyPC9hPiBsLCA8YnIvPgkJCQkJIHZvaWQgKiBkYXRhKTxici8+Cis8L3ByZT48cD5JbnNlcnQgZGF0YSBpbiB0aGUgb3JkZXJlZCBsaXN0IGF0IHRoZSBlbmQgZm9yIHRoaXMgdmFsdWU8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pmw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbGlzdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGF0YTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRhdGE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaW4gY2FzZSBvZiBzdWNjZXNzLCAxIGluIGNhc2Ugb2YgZmFpbHVyZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbExpc3RDbGVhciIvPnhtbExpc3RDbGVhciAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sTGlzdENsZWFyCQkJKDxhIGhyZWY9ImxpYnhtbDItbGlzdC5odG1sI3htbExpc3RQdHIiPnhtbExpc3RQdHI8L2E+IGwpPGJyLz4KKzwvcHJlPjxwPlJlbW92ZSB0aGUgYWxsIGRhdGEgaW4gdGhlIGxpc3Q8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pmw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbGlzdDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbExpc3RDb3B5Ii8+eG1sTGlzdENvcHkgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sTGlzdENvcHkJCQkoPGEgaHJlZj0ibGlieG1sMi1saXN0Lmh0bWwjeG1sTGlzdFB0ciI+eG1sTGlzdFB0cjwvYT4gY3VyLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDItbGlzdC5odG1sI3htbExpc3RQdHIiPnhtbExpc3RQdHI8L2E+IG9sZCk8YnIvPgorPC9wcmU+PHA+TW92ZSBhbGwgdGhlIGVsZW1lbnQgZnJvbSB0aGUgb2xkIGxpc3QgaW4gdGhlIG5ldyBsaXN0PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXcgbGlzdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b2xkPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgb2xkIGxpc3Q8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaW4gY2FzZSBvZiBzdWNjZXNzIDEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbExpc3RDcmVhdGUiLz54bWxMaXN0Q3JlYXRlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi1saXN0Lmh0bWwjeG1sTGlzdFB0ciI+eG1sTGlzdFB0cjwvYT4JeG1sTGlzdENyZWF0ZQkJKDxhIGhyZWY9ImxpYnhtbDItbGlzdC5odG1sI3htbExpc3REZWFsbG9jYXRvciI+eG1sTGlzdERlYWxsb2NhdG9yPC9hPiBkZWFsbG9jYXRvciwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLWxpc3QuaHRtbCN4bWxMaXN0RGF0YUNvbXBhcmUiPnhtbExpc3REYXRhQ29tcGFyZTwvYT4gY29tcGFyZSk8YnIvPgorPC9wcmU+PHA+Q3JlYXRlIGEgbmV3IGxpc3Q8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRlYWxsb2NhdG9yPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBvcHRpb25hbCBkZWFsbG9jYXRvciBmdW5jdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29tcGFyZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gb3B0aW9uYWwgY29tcGFyaXNvbiBmdW5jdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ldyBsaXN0IG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbExpc3REZWxldGUiLz54bWxMaXN0RGVsZXRlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxMaXN0RGVsZXRlCQkJKDxhIGhyZWY9ImxpYnhtbDItbGlzdC5odG1sI3htbExpc3RQdHIiPnhtbExpc3RQdHI8L2E+IGwpPGJyLz4KKzwvcHJlPjxwPkRlbGV0ZXMgdGhlIGxpc3QgYW5kIGl0cyBhc3NvY2lhdGVkIGRhdGE8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pmw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbGlzdDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbExpc3REdXAiLz54bWxMaXN0RHVwICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi1saXN0Lmh0bWwjeG1sTGlzdFB0ciI+eG1sTGlzdFB0cjwvYT4JeG1sTGlzdER1cAkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDItbGlzdC5odG1sI3htbExpc3RQdHIiPnhtbExpc3RQdHI8L2E+IG9sZCk8YnIvPgorPC9wcmU+PHA+RHVwbGljYXRlIHRoZSBsaXN0PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vbGQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsaXN0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIG5ldyBjb3B5IG9mIHRoZSBsaXN0IG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbExpc3RFbXB0eSIvPnhtbExpc3RFbXB0eSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxMaXN0RW1wdHkJCQkoPGEgaHJlZj0ibGlieG1sMi1saXN0Lmh0bWwjeG1sTGlzdFB0ciI+eG1sTGlzdFB0cjwvYT4gbCk8YnIvPgorPC9wcmU+PHA+SXMgdGhlIGxpc3QgZW1wdHkgPzwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBsaXN0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRoZSBsaXN0IGlzIGVtcHR5LCAwIGlmIG5vdCBlbXB0eSBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbExpc3RFbmQiLz54bWxMaXN0RW5kICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi1saXN0Lmh0bWwjeG1sTGlua1B0ciI+eG1sTGlua1B0cjwvYT4JeG1sTGlzdEVuZAkJKDxhIGhyZWY9ImxpYnhtbDItbGlzdC5odG1sI3htbExpc3RQdHIiPnhtbExpc3RQdHI8L2E+IGwpPGJyLz4KKzwvcHJlPjxwPkdldCB0aGUgbGFzdCBlbGVtZW50IGluIHRoZSBsaXN0PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGxpc3Q8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsYXN0IGVsZW1lbnQgaW4gdGhlIGxpc3QsIG9yIE5VTEw8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxMaXN0RnJvbnQiLz54bWxMaXN0RnJvbnQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLWxpc3QuaHRtbCN4bWxMaW5rUHRyIj54bWxMaW5rUHRyPC9hPgl4bWxMaXN0RnJvbnQJCSg8YSBocmVmPSJsaWJ4bWwyLWxpc3QuaHRtbCN4bWxMaXN0UHRyIj54bWxMaXN0UHRyPC9hPiBsKTxici8+Cis8L3ByZT48cD5HZXQgdGhlIGZpcnN0IGVsZW1lbnQgaW4gdGhlIGxpc3Q8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pmw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbGlzdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZpcnN0IGVsZW1lbnQgaW4gdGhlIGxpc3QsIG9yIE5VTEw8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxMaXN0SW5zZXJ0Ii8+eG1sTGlzdEluc2VydCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxMaXN0SW5zZXJ0CQkJKDxhIGhyZWY9ImxpYnhtbDItbGlzdC5odG1sI3htbExpc3RQdHIiPnhtbExpc3RQdHI8L2E+IGwsIDxici8+CQkJCQkgdm9pZCAqIGRhdGEpPGJyLz4KKzwvcHJlPjxwPkluc2VydCBkYXRhIGluIHRoZSBvcmRlcmVkIGxpc3QgYXQgdGhlIGJlZ2lubmluZyBmb3IgdGhpcyB2YWx1ZTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBsaXN0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kYXRhPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZGF0YTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpbiBjYXNlIG9mIHN1Y2Nlc3MsIDEgaW4gY2FzZSBvZiBmYWlsdXJlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTGlzdE1lcmdlIi8+eG1sTGlzdE1lcmdlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxMaXN0TWVyZ2UJCQkoPGEgaHJlZj0ibGlieG1sMi1saXN0Lmh0bWwjeG1sTGlzdFB0ciI+eG1sTGlzdFB0cjwvYT4gbDEsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi1saXN0Lmh0bWwjeG1sTGlzdFB0ciI+eG1sTGlzdFB0cjwvYT4gbDIpPGJyLz4KKzwvcHJlPjxwPmluY2x1ZGUgYWxsIHRoZSBlbGVtZW50cyBvZiB0aGUgc2Vjb25kIGxpc3QgaW4gdGhlIGZpcnN0IG9uZSBhbmQgY2xlYXIgdGhlIHNlY29uZCBsaXN0PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sMTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG9yaWdpbmFsIGxpc3Q8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmwyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IGxpc3Q8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxMaXN0UG9wQmFjayIvPnhtbExpc3RQb3BCYWNrICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxMaXN0UG9wQmFjawkJCSg8YSBocmVmPSJsaWJ4bWwyLWxpc3QuaHRtbCN4bWxMaXN0UHRyIj54bWxMaXN0UHRyPC9hPiBsKTxici8+Cis8L3ByZT48cD5SZW1vdmVzIHRoZSBsYXN0IGVsZW1lbnQgaW4gdGhlIGxpc3Q8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pmw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbGlzdDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbExpc3RQb3BGcm9udCIvPnhtbExpc3RQb3BGcm9udCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sTGlzdFBvcEZyb250CQkJKDxhIGhyZWY9ImxpYnhtbDItbGlzdC5odG1sI3htbExpc3RQdHIiPnhtbExpc3RQdHI8L2E+IGwpPGJyLz4KKzwvcHJlPjxwPlJlbW92ZXMgdGhlIGZpcnN0IGVsZW1lbnQgaW4gdGhlIGxpc3Q8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pmw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbGlzdDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbExpc3RQdXNoQmFjayIvPnhtbExpc3RQdXNoQmFjayAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxMaXN0UHVzaEJhY2sJCQkoPGEgaHJlZj0ibGlieG1sMi1saXN0Lmh0bWwjeG1sTGlzdFB0ciI+eG1sTGlzdFB0cjwvYT4gbCwgPGJyLz4JCQkJCSB2b2lkICogZGF0YSk8YnIvPgorPC9wcmU+PHA+YWRkIHRoZSBuZXcgZGF0YSBhdCB0aGUgZW5kIG9mIHRoZSBsaXN0PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGxpc3Q8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRhdGE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPm5ldyBkYXRhPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHN1Y2Nlc3NmdWwsIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTGlzdFB1c2hGcm9udCIvPnhtbExpc3RQdXNoRnJvbnQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sTGlzdFB1c2hGcm9udAkJKDxhIGhyZWY9ImxpYnhtbDItbGlzdC5odG1sI3htbExpc3RQdHIiPnhtbExpc3RQdHI8L2E+IGwsIDxici8+CQkJCQkgdm9pZCAqIGRhdGEpPGJyLz4KKzwvcHJlPjxwPmFkZCB0aGUgbmV3IGRhdGEgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgbGlzdDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBsaXN0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kYXRhPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5uZXcgZGF0YTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiBzdWNjZXNzZnVsLCAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbExpc3RSZW1vdmVBbGwiLz54bWxMaXN0UmVtb3ZlQWxsICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbExpc3RSZW1vdmVBbGwJCSg8YSBocmVmPSJsaWJ4bWwyLWxpc3QuaHRtbCN4bWxMaXN0UHRyIj54bWxMaXN0UHRyPC9hPiBsLCA8YnIvPgkJCQkJIHZvaWQgKiBkYXRhKTxici8+Cis8L3ByZT48cD5SZW1vdmUgdGhlIGFsbCBpbnN0YW5jZSBhc3NvY2lhdGVkIHRvIGRhdGEgaW4gdGhlIGxpc3Q8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pmw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbGlzdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGF0YTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+bGlzdCBkYXRhPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGRlYWxsb2NhdGlvbiwgb3IgMCBpZiBub3QgZm91bmQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxMaXN0UmVtb3ZlRmlyc3QiLz54bWxMaXN0UmVtb3ZlRmlyc3QgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sTGlzdFJlbW92ZUZpcnN0CQkoPGEgaHJlZj0ibGlieG1sMi1saXN0Lmh0bWwjeG1sTGlzdFB0ciI+eG1sTGlzdFB0cjwvYT4gbCwgPGJyLz4JCQkJCSB2b2lkICogZGF0YSk8YnIvPgorPC9wcmU+PHA+UmVtb3ZlIHRoZSBmaXJzdCBpbnN0YW5jZSBhc3NvY2lhdGVkIHRvIGRhdGEgaW4gdGhlIGxpc3Q8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pmw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbGlzdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGF0YTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+bGlzdCBkYXRhPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIGEgZGVhbGxvY2F0aW9uIG9jY3VyZWQsIG9yIDAgaWYgbm90IGZvdW5kPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTGlzdFJlbW92ZUxhc3QiLz54bWxMaXN0UmVtb3ZlTGFzdCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxMaXN0UmVtb3ZlTGFzdAkJKDxhIGhyZWY9ImxpYnhtbDItbGlzdC5odG1sI3htbExpc3RQdHIiPnhtbExpc3RQdHI8L2E+IGwsIDxici8+CQkJCQkgdm9pZCAqIGRhdGEpPGJyLz4KKzwvcHJlPjxwPlJlbW92ZSB0aGUgbGFzdCBpbnN0YW5jZSBhc3NvY2lhdGVkIHRvIGRhdGEgaW4gdGhlIGxpc3Q8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pmw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbGlzdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGF0YTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+bGlzdCBkYXRhPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIGEgZGVhbGxvY2F0aW9uIG9jY3VyZWQsIG9yIDAgaWYgbm90IGZvdW5kPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTGlzdFJldmVyc2UiLz54bWxMaXN0UmV2ZXJzZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sTGlzdFJldmVyc2UJCQkoPGEgaHJlZj0ibGlieG1sMi1saXN0Lmh0bWwjeG1sTGlzdFB0ciI+eG1sTGlzdFB0cjwvYT4gbCk8YnIvPgorPC9wcmU+PHA+UmV2ZXJzZSB0aGUgb3JkZXIgb2YgdGhlIGVsZW1lbnRzIGluIHRoZSBsaXN0PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGxpc3Q8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxMaXN0UmV2ZXJzZVNlYXJjaCIvPnhtbExpc3RSZXZlcnNlU2VhcmNoICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZCAqCXhtbExpc3RSZXZlcnNlU2VhcmNoCQkoPGEgaHJlZj0ibGlieG1sMi1saXN0Lmh0bWwjeG1sTGlzdFB0ciI+eG1sTGlzdFB0cjwvYT4gbCwgPGJyLz4JCQkJCSB2b2lkICogZGF0YSk8YnIvPgorPC9wcmU+PHA+U2VhcmNoIHRoZSBsaXN0IGluIHJldmVyc2Ugb3JkZXIgZm9yIGFuIGV4aXN0aW5nIHZhbHVlIG9mIEBkYXRhPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGxpc3Q8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRhdGE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgc2VhcmNoIHZhbHVlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdmFsdWUgYXNzb2NpYXRlZCB0byBAZGF0YSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxMaXN0UmV2ZXJzZVdhbGsiLz54bWxMaXN0UmV2ZXJzZVdhbGsgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbExpc3RSZXZlcnNlV2FsawkJKDxhIGhyZWY9ImxpYnhtbDItbGlzdC5odG1sI3htbExpc3RQdHIiPnhtbExpc3RQdHI8L2E+IGwsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi1saXN0Lmh0bWwjeG1sTGlzdFdhbGtlciI+eG1sTGlzdFdhbGtlcjwvYT4gd2Fsa2VyLCA8YnIvPgkJCQkJIGNvbnN0IHZvaWQgKiB1c2VyKTxici8+Cis8L3ByZT48cD5XYWxrIGFsbCB0aGUgZWxlbWVudCBvZiB0aGUgbGlzdCBpbiByZXZlcnNlIG9yZGVyIGFuZCBhcHBseSB0aGUgd2Fsa2VyIGZ1bmN0aW9uIHRvIGl0PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGxpc3Q8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PndhbGtlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwcm9jZXNzaW5nIGZ1bmN0aW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD51c2VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHVzZXIgcGFyYW1ldGVyIHBhc3NlZCB0byB0aGUgd2Fsa2VyIGZ1bmN0aW9uPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTGlzdFNlYXJjaCIvPnhtbExpc3RTZWFyY2ggKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkICoJeG1sTGlzdFNlYXJjaAkJCSg8YSBocmVmPSJsaWJ4bWwyLWxpc3QuaHRtbCN4bWxMaXN0UHRyIj54bWxMaXN0UHRyPC9hPiBsLCA8YnIvPgkJCQkJIHZvaWQgKiBkYXRhKTxici8+Cis8L3ByZT48cD5TZWFyY2ggdGhlIGxpc3QgZm9yIGFuIGV4aXN0aW5nIHZhbHVlIG9mIEBkYXRhPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGxpc3Q8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRhdGE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgc2VhcmNoIHZhbHVlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdmFsdWUgYXNzb2NpYXRlZCB0byBAZGF0YSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxMaXN0U2l6ZSIvPnhtbExpc3RTaXplICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbExpc3RTaXplCQkJKDxhIGhyZWY9ImxpYnhtbDItbGlzdC5odG1sI3htbExpc3RQdHIiPnhtbExpc3RQdHI8L2E+IGwpPGJyLz4KKzwvcHJlPjxwPkdldCB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzIGluIHRoZSBsaXN0PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGxpc3Q8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgZWxlbWVudHMgaW4gdGhlIGxpc3Qgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbExpc3RTb3J0Ii8+eG1sTGlzdFNvcnQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbExpc3RTb3J0CQkJKDxhIGhyZWY9ImxpYnhtbDItbGlzdC5odG1sI3htbExpc3RQdHIiPnhtbExpc3RQdHI8L2E+IGwpPGJyLz4KKzwvcHJlPjxwPlNvcnQgYWxsIHRoZSBlbGVtZW50cyBpbiB0aGUgbGlzdDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBsaXN0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTGlzdFdhbGsiLz54bWxMaXN0V2FsayAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sTGlzdFdhbGsJCQkoPGEgaHJlZj0ibGlieG1sMi1saXN0Lmh0bWwjeG1sTGlzdFB0ciI+eG1sTGlzdFB0cjwvYT4gbCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLWxpc3QuaHRtbCN4bWxMaXN0V2Fsa2VyIj54bWxMaXN0V2Fsa2VyPC9hPiB3YWxrZXIsIDxici8+CQkJCQkgY29uc3Qgdm9pZCAqIHVzZXIpPGJyLz4KKzwvcHJlPjxwPldhbGsgYWxsIHRoZSBlbGVtZW50IG9mIHRoZSBmaXJzdCBmcm9tIGZpcnN0IHRvIGxhc3QgYW5kIGFwcGx5IHRoZSB3YWxrZXIgZnVuY3Rpb24gdG8gaXQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pmw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbGlzdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d2Fsa2VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHByb2Nlc3NpbmcgZnVuY3Rpb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnVzZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgdXNlciBwYXJhbWV0ZXIgcGFzc2VkIHRvIHRoZSB3YWxrZXIgZnVuY3Rpb248L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgPC9kaXY+CisgICAgPC9kaXY+CisgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2RldmhlbHAvbGlieG1sMi1uYW5vZnRwLmh0bWwgYi9saWJ4bWwyL2RvYy9kZXZoZWxwL2xpYnhtbDItbmFub2Z0cC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA3ZTEwZjMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9kZXZoZWxwL2xpYnhtbDItbmFub2Z0cC5odG1sCkBAIC0wLDAgKzEsMTg3IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPGh0bWw+CisgIDxoZWFkPgorICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ii8+CisgICAgPHRpdGxlPm5hbm9mdHA6IG1pbmltYWwgRlRQIGltcGxlbWVudGF0aW9uPC90aXRsZT4KKyAgICA8bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9IkxpYnhtbDIgZGV2aGVscCBzdHlsZXNoZWV0Ii8+CisgICAgPGxpbmsgcmVsPSJzdGFydCIgaHJlZj0iaW5kZXguaHRtbCIgdGl0bGU9ImxpYnhtbDIgUmVmZXJlbmNlIE1hbnVhbCIvPgorICAgIDxsaW5rIHJlbD0idXAiIGhyZWY9ImdlbmVyYWwuaHRtbCIgdGl0bGU9IkFQSSIvPgorICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0ic3R5bGUuY3NzIiB0eXBlPSJ0ZXh0L2NzcyIvPgorICAgIDxsaW5rIHJlbD0iY2hhcHRlciIgaHJlZj0iZ2VuZXJhbC5odG1sIiB0aXRsZT0iQVBJIi8+CisgIDwvaGVhZD4KKyAgPGJvZHkgYmdjb2xvcj0id2hpdGUiIHRleHQ9ImJsYWNrIiBsaW5rPSIjMDAwMEZGIiB2bGluaz0iIzg0MDA4NCIgYWxpbms9IiMwMDAwRkYiPgorICAgIDx0YWJsZSBjbGFzcz0ibmF2aWdhdGlvbiIgd2lkdGg9IjEwMCUiIHN1bW1hcnk9Ik5hdmlnYXRpb24gaGVhZGVyIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjIiPgorICAgICAgPHRyIHZhbGlnbj0ibWlkZGxlIj4KKyAgICAgICAgPHRkPgorICAgICAgICAgIDxhIGFjY2Vzc2tleT0icCIgaHJlZj0ibGlieG1sMi1saXN0Lmh0bWwiPgorICAgICAgICAgICAgPGltZyBzcmM9ImxlZnQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJQcmV2Ii8+CisgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGQ+CisgICAgICAgICAgPGEgYWNjZXNza2V5PSJ1IiBocmVmPSJnZW5lcmFsLmh0bWwiPgorICAgICAgICAgICAgPGltZyBzcmM9InVwLnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iVXAiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9ImgiIGhyZWY9ImluZGV4Lmh0bWwiPgorICAgICAgICAgICAgPGltZyBzcmM9ImhvbWUucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJIb21lIi8+CisgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGQ+CisgICAgICAgICAgPGEgYWNjZXNza2V5PSJuIiBocmVmPSJsaWJ4bWwyLW5hbm9odHRwLmh0bWwiPgorICAgICAgICAgICAgPGltZyBzcmM9InJpZ2h0LnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iTmV4dCIvPgorICAgICAgICAgIDwvYT4KKyAgICAgICAgPC90ZD4KKyAgICAgICAgPHRoIHdpZHRoPSIxMDAlIiBhbGlnbj0iY2VudGVyIj5saWJ4bWwyIFJlZmVyZW5jZSBNYW51YWw8L3RoPgorICAgICAgPC90cj4KKyAgICA8L3RhYmxlPgorICAgIDxoMj4KKyAgICAgIDxzcGFuIGNsYXNzPSJyZWZlbnRyeXRpdGxlIj5uYW5vZnRwPC9zcGFuPgorICAgIDwvaDI+CisgICAgPHA+bmFub2Z0cCAtIG1pbmltYWwgRlRQIGltcGxlbWVudGF0aW9uPC9wPgorICAgIDxwPm1pbmltYWwgRlRQIGltcGxlbWVudGF0aW9uIGFsbG93aW5nIHRvIGZldGNoIHJlc291cmNlcyBsaWtlIGV4dGVybmFsIHN1YnNldC4gPC9wPgorICAgIDxwPkF1dGhvcihzKTogRGFuaWVsIFZlaWxsYXJkIDwvcD4KKyAgICA8ZGl2IGNsYXNzPSJyZWZzeW5vcHNpc2RpdiI+CisgICAgICA8aDI+U3lub3BzaXM8L2gyPgorICAgICAgPHByZSBjbGFzcz0ic3lub3BzaXMiPiNkZWZpbmUgPGEgaHJlZj0iI0lOVkFMSURfU09DS0VUIj5JTlZBTElEX1NPQ0tFVDwvYT47CisjZGVmaW5lIDxhIGhyZWY9IiNTT0NLRVQiPlNPQ0tFVDwvYT47CitpbnQJPGEgaHJlZj0iI3htbE5hbm9GVFBRdWl0Ij54bWxOYW5vRlRQUXVpdDwvYT4JCQkodm9pZCAqIGN0eCk7CitpbnQJPGEgaHJlZj0iI3htbE5hbm9GVFBDbG9zZSI+eG1sTmFub0ZUUENsb3NlPC9hPgkJCSh2b2lkICogY3R4KTsKK3R5cGVkZWYgdm9pZCA8YSBocmVmPSIjZnRwTGlzdENhbGxiYWNrIj5mdHBMaXN0Q2FsbGJhY2s8L2E+CQkJKHZvaWQgKiB1c2VyRGF0YSwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZmlsZW5hbWUsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGF0dHJpYiwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogb3duZXIsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGdyb3VwLCA8YnIvPgkJCQkJIHVuc2lnbmVkIGxvbmcgc2l6ZSwgPGJyLz4JCQkJCSBpbnQgbGlua3MsIDxici8+CQkJCQkgaW50IHllYXIsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIG1vbnRoLCA8YnIvPgkJCQkJIGludCBkYXksIDxici8+CQkJCQkgaW50IGhvdXIsIDxici8+CQkJCQkgaW50IG1pbnV0ZSk7CitpbnQJPGEgaHJlZj0iI3htbE5hbm9GVFBDbG9zZUNvbm5lY3Rpb24iPnhtbE5hbm9GVFBDbG9zZUNvbm5lY3Rpb248L2E+CSh2b2lkICogY3R4KTsKK3ZvaWQJPGEgaHJlZj0iI3htbE5hbm9GVFBQcm94eSI+eG1sTmFub0ZUUFByb3h5PC9hPgkJCShjb25zdCBjaGFyICogaG9zdCwgPGJyLz4JCQkJCSBpbnQgcG9ydCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogdXNlciwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogcGFzc3dkLCA8YnIvPgkJCQkJIGludCB0eXBlKTsKK2ludAk8YSBocmVmPSIjeG1sTmFub0ZUUFVwZGF0ZVVSTCI+eG1sTmFub0ZUUFVwZGF0ZVVSTDwvYT4JCSh2b2lkICogY3R4LCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBVUkwpOworPGEgaHJlZj0ibGlieG1sMi1uYW5vZnRwLmh0bWwjU09DS0VUIj5TT0NLRVQ8L2E+CTxhIGhyZWY9IiN4bWxOYW5vRlRQR2V0Q29ubmVjdGlvbiI+eG1sTmFub0ZUUEdldENvbm5lY3Rpb248L2E+CQkodm9pZCAqIGN0eCk7CitpbnQJPGEgaHJlZj0iI3htbE5hbm9GVFBEZWxlIj54bWxOYW5vRlRQRGVsZTwvYT4JCQkodm9pZCAqIGN0eCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZmlsZSk7Cit2b2lkICoJPGEgaHJlZj0iI3htbE5hbm9GVFBOZXdDdHh0Ij54bWxOYW5vRlRQTmV3Q3R4dDwvYT4JCShjb25zdCBjaGFyICogVVJMKTsKK2ludAk8YSBocmVmPSIjeG1sTmFub0ZUUENoZWNrUmVzcG9uc2UiPnhtbE5hbm9GVFBDaGVja1Jlc3BvbnNlPC9hPgkJKHZvaWQgKiBjdHgpOwordm9pZAk8YSBocmVmPSIjeG1sTmFub0ZUUFNjYW5Qcm94eSI+eG1sTmFub0ZUUFNjYW5Qcm94eTwvYT4JCShjb25zdCBjaGFyICogVVJMKTsKK3R5cGVkZWYgdm9pZCA8YSBocmVmPSIjZnRwRGF0YUNhbGxiYWNrIj5mdHBEYXRhQ2FsbGJhY2s8L2E+CQkJKHZvaWQgKiB1c2VyRGF0YSwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZGF0YSwgPGJyLz4JCQkJCSBpbnQgbGVuKTsKK2ludAk8YSBocmVmPSIjeG1sTmFub0ZUUEdldFJlc3BvbnNlIj54bWxOYW5vRlRQR2V0UmVzcG9uc2U8L2E+CQkodm9pZCAqIGN0eCk7CitpbnQJPGEgaHJlZj0iI3htbE5hbm9GVFBDd2QiPnhtbE5hbm9GVFBDd2Q8L2E+CQkJKHZvaWQgKiBjdHgsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGRpcmVjdG9yeSk7Cit2b2lkCTxhIGhyZWY9IiN4bWxOYW5vRlRQSW5pdCI+eG1sTmFub0ZUUEluaXQ8L2E+CQkJKHZvaWQpOwordm9pZCAqCTxhIGhyZWY9IiN4bWxOYW5vRlRQQ29ubmVjdFRvIj54bWxOYW5vRlRQQ29ubmVjdFRvPC9hPgkJKGNvbnN0IGNoYXIgKiBzZXJ2ZXIsIDxici8+CQkJCQkgaW50IHBvcnQpOworaW50CTxhIGhyZWY9IiN4bWxOYW5vRlRQTGlzdCI+eG1sTmFub0ZUUExpc3Q8L2E+CQkJKHZvaWQgKiBjdHgsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi1uYW5vZnRwLmh0bWwjZnRwTGlzdENhbGxiYWNrIj5mdHBMaXN0Q2FsbGJhY2s8L2E+IGNhbGxiYWNrLCA8YnIvPgkJCQkJIHZvaWQgKiB1c2VyRGF0YSwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZmlsZW5hbWUpOwordm9pZCAqCTxhIGhyZWY9IiN4bWxOYW5vRlRQT3BlbiI+eG1sTmFub0ZUUE9wZW48L2E+CQkJKGNvbnN0IGNoYXIgKiBVUkwpOworaW50CTxhIGhyZWY9IiN4bWxOYW5vRlRQQ29ubmVjdCI+eG1sTmFub0ZUUENvbm5lY3Q8L2E+CQkodm9pZCAqIGN0eCk7Cis8YSBocmVmPSJsaWJ4bWwyLW5hbm9mdHAuaHRtbCNTT0NLRVQiPlNPQ0tFVDwvYT4JPGEgaHJlZj0iI3htbE5hbm9GVFBHZXRTb2NrZXQiPnhtbE5hbm9GVFBHZXRTb2NrZXQ8L2E+CQkodm9pZCAqIGN0eCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZmlsZW5hbWUpOworaW50CTxhIGhyZWY9IiN4bWxOYW5vRlRQR2V0Ij54bWxOYW5vRlRQR2V0PC9hPgkJCSh2b2lkICogY3R4LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItbmFub2Z0cC5odG1sI2Z0cERhdGFDYWxsYmFjayI+ZnRwRGF0YUNhbGxiYWNrPC9hPiBjYWxsYmFjaywgPGJyLz4JCQkJCSB2b2lkICogdXNlckRhdGEsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGZpbGVuYW1lKTsKK2ludAk8YSBocmVmPSIjeG1sTmFub0ZUUFJlYWQiPnhtbE5hbm9GVFBSZWFkPC9hPgkJCSh2b2lkICogY3R4LCA8YnIvPgkJCQkJIHZvaWQgKiBkZXN0LCA8YnIvPgkJCQkJIGludCBsZW4pOwordm9pZAk8YSBocmVmPSIjeG1sTmFub0ZUUEZyZWVDdHh0Ij54bWxOYW5vRlRQRnJlZUN0eHQ8L2E+CQkodm9pZCAqIGN0eCk7Cit2b2lkCTxhIGhyZWY9IiN4bWxOYW5vRlRQQ2xlYW51cCI+eG1sTmFub0ZUUENsZWFudXA8L2E+CQkodm9pZCk7Cis8L3ByZT4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MSIgbGFuZz0iZW4iPgorICAgICAgPGgyPkRlc2NyaXB0aW9uPC9oMj4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MSIgbGFuZz0iZW4iPgorICAgICAgPGgyPkRldGFpbHM8L2gyPgorICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iSU5WQUxJRF9TT0NLRVQiPk1hY3JvIDwvYT5JTlZBTElEX1NPQ0tFVDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI0lOVkFMSURfU09DS0VUIj5JTlZBTElEX1NPQ0tFVDwvYT47Cis8L3ByZT48cD5tYWNybyB1c2VkIHRvIHByb3ZpZGUgcG9ydGFiaWxpdHkgb2YgY29kZSB0byB3aW5kb3dzIHNvY2tldHMgdGhlIHZhbHVlIHRvIGJlIHVzZWQgd2hlbiB0aGUgc29ja2V0IGlzIG5vdCB2YWxpZDwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJTT0NLRVQiPk1hY3JvIDwvYT5TT0NLRVQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNTT0NLRVQiPlNPQ0tFVDwvYT47Cis8L3ByZT48cD5tYWNybyB1c2VkIHRvIHByb3ZpZGUgcG9ydGFiaWxpdHkgb2YgY29kZSB0byB3aW5kb3dzIHNvY2tldHM8L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iZnRwRGF0YUNhbGxiYWNrIi8+RnVuY3Rpb24gdHlwZSBmdHBEYXRhQ2FsbGJhY2s8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCWZ0cERhdGFDYWxsYmFjawkJCSh2b2lkICogdXNlckRhdGEsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGRhdGEsIDxici8+CQkJCQkgaW50IGxlbik8YnIvPgorPC9wcmU+PHA+QSBjYWxsYmFjayBmb3IgdGhlIDxhIGhyZWY9ImxpYnhtbDItbmFub2Z0cC5odG1sI3htbE5hbm9GVFBHZXQiPnhtbE5hbm9GVFBHZXQ8L2E+IGNvbW1hbmQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD51c2VyRGF0YTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgcHJvdmlkZWQgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGF0YTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRhdGEgcmVjZWl2ZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+aXRzIHNpemUgaW4gYnl0ZXM8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJmdHBMaXN0Q2FsbGJhY2siLz5GdW5jdGlvbiB0eXBlIGZ0cExpc3RDYWxsYmFjazwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJZnRwTGlzdENhbGxiYWNrCQkJKHZvaWQgKiB1c2VyRGF0YSwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZmlsZW5hbWUsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGF0dHJpYiwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogb3duZXIsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGdyb3VwLCA8YnIvPgkJCQkJIHVuc2lnbmVkIGxvbmcgc2l6ZSwgPGJyLz4JCQkJCSBpbnQgbGlua3MsIDxici8+CQkJCQkgaW50IHllYXIsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIG1vbnRoLCA8YnIvPgkJCQkJIGludCBkYXksIDxici8+CQkJCQkgaW50IGhvdXIsIDxici8+CQkJCQkgaW50IG1pbnV0ZSk8YnIvPgorPC9wcmU+PHA+QSBjYWxsYmFjayBmb3IgdGhlIDxhIGhyZWY9ImxpYnhtbDItbmFub2Z0cC5odG1sI3htbE5hbm9GVFBMaXN0Ij54bWxOYW5vRlRQTGlzdDwvYT4gY29tbWFuZC4gTm90ZSB0aGF0IG9ubHkgb25lIG9mIHllYXIgYW5kIGRheTptaW51dGUgYXJlIHNwZWNpZmllZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnVzZXJEYXRhPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD51c2VyIHByb3ZpZGVkIGRhdGEgZm9yIHRoZSBjYWxsYmFjazwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmlsZW5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmaWxlIG5hbWUgKGluY2x1ZGluZyAiLSZndDsiIHdoZW4gbGlua3MgYXJlIHNob3duKTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YXR0cmliPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gc3RyaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vd25lcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG93bmVyIHN0cmluZzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Z3JvdXA8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBncm91cCBzdHJpbmc8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNpemU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmaWxlIHNpemU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxpbmtzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbGluayBjb3VudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+eWVhcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHllYXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm1vbnRoPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbW9udGg8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRheTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRheTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aG91cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGhvdXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm1pbnV0ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG1pbnV0ZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE5hbm9GVFBDaGVja1Jlc3BvbnNlIi8+eG1sTmFub0ZUUENoZWNrUmVzcG9uc2UgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sTmFub0ZUUENoZWNrUmVzcG9uc2UJCSh2b2lkICogY3R4KTxici8+Cis8L3ByZT48cD5DaGVjayBpZiB0aGVyZSBpcyBhIHJlc3BvbnNlIGZyb20gdGhlIEZUUCBzZXJ2ZXIgYWZ0ZXIgYSBjb21tYW5kLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBGVFAgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGNvZGUgbnVtYmVyLCBvciAwPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTmFub0ZUUENsZWFudXAiLz54bWxOYW5vRlRQQ2xlYW51cCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sTmFub0ZUUENsZWFudXAJCSh2b2lkKTxici8+Cis8L3ByZT48cD5DbGVhbnVwIHRoZSBGVFAgcHJvdG9jb2wgbGF5ZXIuIFRoaXMgY2xlYW51cCBwcm94eSBpbmZvcm1hdGlvbnMuPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE5hbm9GVFBDbG9zZSIvPnhtbE5hbm9GVFBDbG9zZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxOYW5vRlRQQ2xvc2UJCQkodm9pZCAqIGN0eCk8YnIvPgorPC9wcmU+PHA+Q2xvc2UgdGhlIGNvbm5lY3Rpb24gYW5kIGJvdGggY29udHJvbCBhbmQgdHJhbnNwb3J0PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIEZUUCBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4tMSBpbmNhc2Ugb2YgZXJyb3IsIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTmFub0ZUUENsb3NlQ29ubmVjdGlvbiIvPnhtbE5hbm9GVFBDbG9zZUNvbm5lY3Rpb24gKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sTmFub0ZUUENsb3NlQ29ubmVjdGlvbgkodm9pZCAqIGN0eCk8YnIvPgorPC9wcmU+PHA+Q2xvc2UgdGhlIGRhdGEgY29ubmVjdGlvbiBmcm9tIHRoZSBzZXJ2ZXI8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gRlRQIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPi0xIGluY2FzZSBvZiBlcnJvciwgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxOYW5vRlRQQ29ubmVjdCIvPnhtbE5hbm9GVFBDb25uZWN0ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbE5hbm9GVFBDb25uZWN0CQkodm9pZCAqIGN0eCk8YnIvPgorPC9wcmU+PHA+VHJpZXMgdG8gb3BlbiBhIGNvbnRyb2wgY29ubmVjdGlvbjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBGVFAgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+LTEgaW4gY2FzZSBvZiBlcnJvciwgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxOYW5vRlRQQ29ubmVjdFRvIi8+eG1sTmFub0ZUUENvbm5lY3RUbyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQgKgl4bWxOYW5vRlRQQ29ubmVjdFRvCQkoY29uc3QgY2hhciAqIHNlcnZlciwgPGJyLz4JCQkJCSBpbnQgcG9ydCk8YnIvPgorPC9wcmU+PHA+VHJpZXMgdG8gb3BlbiBhIGNvbnRyb2wgY29ubmVjdGlvbiB0byB0aGUgZ2l2ZW4gc2VydmVyL3BvcnQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNlcnZlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gRlRQIHNlcnZlciBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wb3J0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcG9ydCAodXNlIDIxIGlmIDApPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBmVFAgY29udGV4dCBvciBOVUxMIGlmIGl0IGZhaWxlZDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE5hbm9GVFBDd2QiLz54bWxOYW5vRlRQQ3dkICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbE5hbm9GVFBDd2QJCQkodm9pZCAqIGN0eCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZGlyZWN0b3J5KTxici8+Cis8L3ByZT48cD5UcmllcyB0byBjaGFuZ2UgdGhlIHJlbW90ZSBkaXJlY3Rvcnk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gRlRQIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRpcmVjdG9yeTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBkaXJlY3Rvcnkgb24gdGhlIHNlcnZlcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+LTEgaW5jYXNlIG9mIGVycm9yLCAxIGlmIENXRCB3b3JrZWQsIDAgaWYgaXQgZmFpbGVkPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTmFub0ZUUERlbGUiLz54bWxOYW5vRlRQRGVsZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxOYW5vRlRQRGVsZQkJCSh2b2lkICogY3R4LCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBmaWxlKTxici8+Cis8L3ByZT48cD5UcmllcyB0byBkZWxldGUgYW4gaXRlbSAoZmlsZSBvciBkaXJlY3RvcnkpIGZyb20gc2VydmVyPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIEZUUCBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGZpbGUgb3IgZGlyZWN0b3J5IG9uIHRoZSBzZXJ2ZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPi0xIGluY2FzZSBvZiBlcnJvciwgMSBpZiBERUxFIHdvcmtlZCwgMCBpZiBpdCBmYWlsZWQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxOYW5vRlRQRnJlZUN0eHQiLz54bWxOYW5vRlRQRnJlZUN0eHQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbE5hbm9GVFBGcmVlQ3R4dAkJKHZvaWQgKiBjdHgpPGJyLz4KKzwvcHJlPjxwPkZyZWVzIHRoZSBjb250ZXh0IGFmdGVyIGNsb3NpbmcgdGhlIGNvbm5lY3Rpb24uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIEZUUCBjb250ZXh0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTmFub0ZUUEdldCIvPnhtbE5hbm9GVFBHZXQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sTmFub0ZUUEdldAkJCSh2b2lkICogY3R4LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItbmFub2Z0cC5odG1sI2Z0cERhdGFDYWxsYmFjayI+ZnRwRGF0YUNhbGxiYWNrPC9hPiBjYWxsYmFjaywgPGJyLz4JCQkJCSB2b2lkICogdXNlckRhdGEsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGZpbGVuYW1lKTxici8+Cis8L3ByZT48cD5GZXRjaCB0aGUgZ2l2ZW4gZmlsZSBmcm9tIHRoZSBzZXJ2ZXIuIEFsbCBkYXRhIGFyZSBwYXNzZWQgYmFjayBpbiB0aGUgY2FsbGJhY2tzLiBUaGUgbGFzdCBjYWxsYmFjayBoYXMgYSBzaXplIG9mIDAgYmxvY2suPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIEZUUCBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jYWxsYmFjazwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgY2FsbGJhY2s8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnVzZXJEYXRhPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlciBjYWxsYmFjayBkYXRhPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlbmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZpbGUgdG8gcmV0cmlldmU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPi0xIGluY2FzZSBvZiBlcnJvciwgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxOYW5vRlRQR2V0Q29ubmVjdGlvbiIvPnhtbE5hbm9GVFBHZXRDb25uZWN0aW9uICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi1uYW5vZnRwLmh0bWwjU09DS0VUIj5TT0NLRVQ8L2E+CXhtbE5hbm9GVFBHZXRDb25uZWN0aW9uCQkodm9pZCAqIGN0eCk8YnIvPgorPC9wcmU+PHA+VHJ5IHRvIG9wZW4gYSBkYXRhIGNvbm5lY3Rpb24gdG8gdGhlIHNlcnZlci4gQ3VycmVudGx5IG9ubHkgcGFzc2l2ZSBtb2RlIGlzIHN1cHBvcnRlZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gRlRQIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPi0xIGluY2FzZSBvZiBlcnJvciwgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxOYW5vRlRQR2V0UmVzcG9uc2UiLz54bWxOYW5vRlRQR2V0UmVzcG9uc2UgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sTmFub0ZUUEdldFJlc3BvbnNlCQkodm9pZCAqIGN0eCk8YnIvPgorPC9wcmU+PHA+R2V0IHRoZSByZXNwb25zZSBmcm9tIHRoZSBGVFAgc2VydmVyIGFmdGVyIGEgY29tbWFuZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gRlRQIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjb2RlIG51bWJlcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE5hbm9GVFBHZXRTb2NrZXQiLz54bWxOYW5vRlRQR2V0U29ja2V0ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi1uYW5vZnRwLmh0bWwjU09DS0VUIj5TT0NLRVQ8L2E+CXhtbE5hbm9GVFBHZXRTb2NrZXQJCSh2b2lkICogY3R4LCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBmaWxlbmFtZSk8YnIvPgorPC9wcmU+PHA+SW5pdGlhdGUgZmV0Y2ggb2YgdGhlIGdpdmVuIGZpbGUgZnJvbSB0aGUgc2VydmVyLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBGVFAgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmlsZW5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmaWxlIHRvIHJldHJpZXZlIChvciBOVUxMIGlmIHBhdGggaXMgaW4gY29udGV4dCkuPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc29ja2V0IGZvciB0aGUgZGF0YSBjb25uZWN0aW9uLCBvciAmbHQ7MCBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTmFub0ZUUEluaXQiLz54bWxOYW5vRlRQSW5pdCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sTmFub0ZUUEluaXQJCQkodm9pZCk8YnIvPgorPC9wcmU+PHA+SW5pdGlhbGl6ZSB0aGUgRlRQIHByb3RvY29sIGxheWVyLiBDdXJyZW50bHkgaXQganVzdCBjaGVja3MgZm9yIHByb3h5IGluZm9ybWF0aW9ucywgYW5kIGdldCB0aGUgaG9zdG5hbWU8L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTmFub0ZUUExpc3QiLz54bWxOYW5vRlRQTGlzdCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxOYW5vRlRQTGlzdAkJCSh2b2lkICogY3R4LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItbmFub2Z0cC5odG1sI2Z0cExpc3RDYWxsYmFjayI+ZnRwTGlzdENhbGxiYWNrPC9hPiBjYWxsYmFjaywgPGJyLz4JCQkJCSB2b2lkICogdXNlckRhdGEsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGZpbGVuYW1lKTxici8+Cis8L3ByZT48cD5EbyBhIGxpc3Rpbmcgb24gdGhlIHNlcnZlci4gQWxsIGZpbGVzIGluZm8gYXJlIHBhc3NlZCBiYWNrIGluIHRoZSBjYWxsYmFja3MuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIEZUUCBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jYWxsYmFjazwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgY2FsbGJhY2s8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnVzZXJEYXRhPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlciBjYWxsYmFjayBkYXRhPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlbmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+b3B0aW9uYWwgZmlsZXMgdG8gbGlzdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+LTEgaW5jYXNlIG9mIGVycm9yLCAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE5hbm9GVFBOZXdDdHh0Ii8+eG1sTmFub0ZUUE5ld0N0eHQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkICoJeG1sTmFub0ZUUE5ld0N0eHQJCShjb25zdCBjaGFyICogVVJMKTxici8+Cis8L3ByZT48cD5BbGxvY2F0ZSBhbmQgaW5pdGlhbGl6ZSBhIG5ldyBGVFAgY29udGV4dC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlVSTDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VGhlIFVSTCB1c2VkIHRvIGluaXRpYWxpemUgdGhlIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIEZUUCBjb250ZXh0IG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxOYW5vRlRQT3BlbiIvPnhtbE5hbm9GVFBPcGVuICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZCAqCXhtbE5hbm9GVFBPcGVuCQkJKGNvbnN0IGNoYXIgKiBVUkwpPGJyLz4KKzwvcHJlPjxwPlN0YXJ0IHRvIGZldGNoIHRoZSBnaXZlbiBmdHA6Ly8gcmVzb3VyY2U8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlVSTDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFVSTCB0byB0aGUgcmVzb3VyY2U8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIEZUUCBjb250ZXh0LCBvciBOVUxMPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTmFub0ZUUFByb3h5Ii8+eG1sTmFub0ZUUFByb3h5ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxOYW5vRlRQUHJveHkJCQkoY29uc3QgY2hhciAqIGhvc3QsIDxici8+CQkJCQkgaW50IHBvcnQsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIHVzZXIsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIHBhc3N3ZCwgPGJyLz4JCQkJCSBpbnQgdHlwZSk8YnIvPgorPC9wcmU+PHA+U2V0dXAgdGhlIEZUUCBwcm94eSBpbmZvcm1hdGlvbnMuIFRoaXMgY2FuIGFsc28gYmUgZG9uZSBieSB1c2luZyBmdHBfcHJveHkgZnRwX3Byb3h5X3VzZXIgYW5kIGZ0cF9wcm94eV9wYXNzd29yZCBlbnZpcm9ubWVudCB2YXJpYWJsZXMuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ob3N0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcHJveHkgaG9zdCBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wb3J0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcHJveHkgcG9ydDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dXNlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHByb3h5IHVzZXIgbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cGFzc3dkPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcHJveHkgcGFzc3dvcmQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnR5cGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB0eXBlIG9mIHByb3h5IDEgZm9yIHVzaW5nIFNJVEUsIDIgZm9yIFVTRVIgYUBiPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTmFub0ZUUFF1aXQiLz54bWxOYW5vRlRQUXVpdCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxOYW5vRlRQUXVpdAkJCSh2b2lkICogY3R4KTxici8+Cis8L3ByZT48cD5TZW5kIGEgUVVJVCBjb21tYW5kIHRvIHRoZSBzZXJ2ZXI8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gRlRQIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPi0xIGluIGNhc2Ugb2YgZXJyb3IsIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTmFub0ZUUFJlYWQiLz54bWxOYW5vRlRQUmVhZCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxOYW5vRlRQUmVhZAkJCSh2b2lkICogY3R4LCA8YnIvPgkJCQkJIHZvaWQgKiBkZXN0LCA8YnIvPgkJCQkJIGludCBsZW4pPGJyLz4KKzwvcHJlPjxwPlRoaXMgZnVuY3Rpb24gdHJpZXMgdG8gcmVhZCBAbGVuIGJ5dGVzIGZyb20gdGhlIGV4aXN0aW5nIEZUUCBjb25uZWN0aW9uIGFuZCBzYXZlcyB0aGVtIGluIEBkZXN0LiBUaGlzIGlzIGEgYmxvY2tpbmcgY2FsbC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIEZUUCBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kZXN0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGJ1ZmZlcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGVuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnVmZmVyIGxlbmd0aDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBieXRlIHJlYWQuIDAgaXMgYW4gaW5kaWNhdGlvbiBvZiBhbiBlbmQgb2YgY29ubmVjdGlvbi4gLTEgaW5kaWNhdGVzIGEgcGFyYW1ldGVyIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE5hbm9GVFBTY2FuUHJveHkiLz54bWxOYW5vRlRQU2NhblByb3h5ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxOYW5vRlRQU2NhblByb3h5CQkoY29uc3QgY2hhciAqIFVSTCk8YnIvPgorPC9wcmU+PHA+KFJlKUluaXRpYWxpemUgdGhlIEZUUCBQcm94eSBjb250ZXh0IGJ5IHBhcnNpbmcgdGhlIFVSTCBhbmQgZmluZGluZyB0aGUgcHJvdG9jb2wgaG9zdCBwb3J0IGl0IGluZGljYXRlcy4gU2hvdWxkIGJlIGxpa2UgZnRwOi8vbXlwcm94eS8gb3IgZnRwOi8vbXlwcm94eTozMTI4LyBBIE5VTEwgVVJMIGNsZWFucyB1cCBwcm94eSBpbmZvcm1hdGlvbnMuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5VUkw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlRoZSBwcm94eSBVUkwgdXNlZCB0byBpbml0aWFsaXplIHRoZSBwcm94eSBjb250ZXh0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTmFub0ZUUFVwZGF0ZVVSTCIvPnhtbE5hbm9GVFBVcGRhdGVVUkwgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sTmFub0ZUUFVwZGF0ZVVSTAkJKHZvaWQgKiBjdHgsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIFVSTCk8YnIvPgorPC9wcmU+PHA+VXBkYXRlIGFuIEZUUCBjb250ZXh0IGJ5IHBhcnNpbmcgdGhlIFVSTCBhbmQgZmluZGluZyBuZXcgcGF0aCBpdCBpbmRpY2F0ZXMuIElmIHRoZXJlIGlzIGFuIGVycm9yIGluIHRoZSBwcm90b2NvbCwgaG9zdG5hbWUsIHBvcnQgb3Igb3RoZXIgaW5mb3JtYXRpb24sIHRoZSBlcnJvciBpcyByYWlzZWQuIEl0IGluZGljYXRlcyBhIG5ldyBjb25uZWN0aW9uIGhhcyB0byBiZSBlc3RhYmxpc2hlZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gRlRQIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlVSTDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VGhlIFVSTCB1c2VkIHRvIHVwZGF0ZSB0aGUgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpZiBPaywgLTEgaW4gY2FzZSBvZiBlcnJvciAob3RoZXIgaG9zdCkuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgIDwvZGl2PgorICAgIDwvZGl2PgorICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9kZXZoZWxwL2xpYnhtbDItbmFub2h0dHAuaHRtbCBiL2xpYnhtbDIvZG9jL2RldmhlbHAvbGlieG1sMi1uYW5vaHR0cC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA3NWFlNDgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9kZXZoZWxwL2xpYnhtbDItbmFub2h0dHAuaHRtbApAQCAtMCwwICsxLDE0MiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxodG1sPgorICA8aGVhZD4KKyAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIvPgorICAgIDx0aXRsZT5uYW5vaHR0cDogbWluaW1hbCBIVFRQIGltcGxlbWVudGF0aW9uPC90aXRsZT4KKyAgICA8bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9IkxpYnhtbDIgZGV2aGVscCBzdHlsZXNoZWV0Ii8+CisgICAgPGxpbmsgcmVsPSJzdGFydCIgaHJlZj0iaW5kZXguaHRtbCIgdGl0bGU9ImxpYnhtbDIgUmVmZXJlbmNlIE1hbnVhbCIvPgorICAgIDxsaW5rIHJlbD0idXAiIGhyZWY9ImdlbmVyYWwuaHRtbCIgdGl0bGU9IkFQSSIvPgorICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0ic3R5bGUuY3NzIiB0eXBlPSJ0ZXh0L2NzcyIvPgorICAgIDxsaW5rIHJlbD0iY2hhcHRlciIgaHJlZj0iZ2VuZXJhbC5odG1sIiB0aXRsZT0iQVBJIi8+CisgIDwvaGVhZD4KKyAgPGJvZHkgYmdjb2xvcj0id2hpdGUiIHRleHQ9ImJsYWNrIiBsaW5rPSIjMDAwMEZGIiB2bGluaz0iIzg0MDA4NCIgYWxpbms9IiMwMDAwRkYiPgorICAgIDx0YWJsZSBjbGFzcz0ibmF2aWdhdGlvbiIgd2lkdGg9IjEwMCUiIHN1bW1hcnk9Ik5hdmlnYXRpb24gaGVhZGVyIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjIiPgorICAgICAgPHRyIHZhbGlnbj0ibWlkZGxlIj4KKyAgICAgICAgPHRkPgorICAgICAgICAgIDxhIGFjY2Vzc2tleT0icCIgaHJlZj0ibGlieG1sMi1uYW5vZnRwLmh0bWwiPgorICAgICAgICAgICAgPGltZyBzcmM9ImxlZnQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJQcmV2Ii8+CisgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGQ+CisgICAgICAgICAgPGEgYWNjZXNza2V5PSJ1IiBocmVmPSJnZW5lcmFsLmh0bWwiPgorICAgICAgICAgICAgPGltZyBzcmM9InVwLnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iVXAiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9ImgiIGhyZWY9ImluZGV4Lmh0bWwiPgorICAgICAgICAgICAgPGltZyBzcmM9ImhvbWUucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJIb21lIi8+CisgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGQ+CisgICAgICAgICAgPGEgYWNjZXNza2V5PSJuIiBocmVmPSJsaWJ4bWwyLXBhcnNlci5odG1sIj4KKyAgICAgICAgICAgIDxpbWcgc3JjPSJyaWdodC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9Ik5leHQiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0aCB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+bGlieG1sMiBSZWZlcmVuY2UgTWFudWFsPC90aD4KKyAgICAgIDwvdHI+CisgICAgPC90YWJsZT4KKyAgICA8aDI+CisgICAgICA8c3BhbiBjbGFzcz0icmVmZW50cnl0aXRsZSI+bmFub2h0dHA8L3NwYW4+CisgICAgPC9oMj4KKyAgICA8cD5uYW5vaHR0cCAtIG1pbmltYWwgSFRUUCBpbXBsZW1lbnRhdGlvbjwvcD4KKyAgICA8cD5taW5pbWFsIEhUVFAgaW1wbGVtZW50YXRpb24gYWxsb3dpbmcgdG8gZmV0Y2ggcmVzb3VyY2VzIGxpa2UgZXh0ZXJuYWwgc3Vic2V0LiA8L3A+CisgICAgPHA+QXV0aG9yKHMpOiBEYW5pZWwgVmVpbGxhcmQgPC9wPgorICAgIDxkaXYgY2xhc3M9InJlZnN5bm9wc2lzZGl2Ij4KKyAgICAgIDxoMj5TeW5vcHNpczwvaDI+CisgICAgICA8cHJlIGNsYXNzPSJzeW5vcHNpcyI+aW50CTxhIGhyZWY9IiN4bWxOYW5vSFRUUFJlYWQiPnhtbE5hbm9IVFRQUmVhZDwvYT4JCQkodm9pZCAqIGN0eCwgPGJyLz4JCQkJCSB2b2lkICogZGVzdCwgPGJyLz4JCQkJCSBpbnQgbGVuKTsKK2ludAk8YSBocmVmPSIjeG1sTmFub0hUVFBTYXZlIj54bWxOYW5vSFRUUFNhdmU8L2E+CQkJKHZvaWQgKiBjdHh0LCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBmaWxlbmFtZSk7Citjb25zdCBjaGFyICoJPGEgaHJlZj0iI3htbE5hbm9IVFRQUmVkaXIiPnhtbE5hbm9IVFRQUmVkaXI8L2E+CSh2b2lkICogY3R4KTsKK2NvbnN0IGNoYXIgKgk8YSBocmVmPSIjeG1sTmFub0hUVFBBdXRoSGVhZGVyIj54bWxOYW5vSFRUUEF1dGhIZWFkZXI8L2E+CSh2b2lkICogY3R4KTsKK2ludAk8YSBocmVmPSIjeG1sTmFub0hUVFBGZXRjaCI+eG1sTmFub0hUVFBGZXRjaDwvYT4JCShjb25zdCBjaGFyICogVVJMLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBmaWxlbmFtZSwgPGJyLz4JCQkJCSBjaGFyICoqIGNvbnRlbnRUeXBlKTsKK2ludAk8YSBocmVmPSIjeG1sTmFub0hUVFBDb250ZW50TGVuZ3RoIj54bWxOYW5vSFRUUENvbnRlbnRMZW5ndGg8L2E+CSh2b2lkICogY3R4KTsKK2NvbnN0IGNoYXIgKgk8YSBocmVmPSIjeG1sTmFub0hUVFBNaW1lVHlwZSI+eG1sTmFub0hUVFBNaW1lVHlwZTwvYT4JKHZvaWQgKiBjdHgpOwordm9pZAk8YSBocmVmPSIjeG1sTmFub0hUVFBDbG9zZSI+eG1sTmFub0hUVFBDbG9zZTwvYT4JCSh2b2lkICogY3R4KTsKK3ZvaWQJPGEgaHJlZj0iI3htbE5hbm9IVFRQQ2xlYW51cCI+eG1sTmFub0hUVFBDbGVhbnVwPC9hPgkJKHZvaWQpOwordm9pZCAqCTxhIGhyZWY9IiN4bWxOYW5vSFRUUE1ldGhvZCI+eG1sTmFub0hUVFBNZXRob2Q8L2E+CQkoY29uc3QgY2hhciAqIFVSTCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogbWV0aG9kLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBpbnB1dCwgPGJyLz4JCQkJCSBjaGFyICoqIGNvbnRlbnRUeXBlLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBoZWFkZXJzLCA8YnIvPgkJCQkJIGludCBpbGVuKTsKK3ZvaWQJPGEgaHJlZj0iI3htbE5hbm9IVFRQSW5pdCI+eG1sTmFub0hUVFBJbml0PC9hPgkJCSh2b2lkKTsKK3ZvaWQgKgk8YSBocmVmPSIjeG1sTmFub0hUVFBPcGVuIj54bWxOYW5vSFRUUE9wZW48L2E+CQkJKGNvbnN0IGNoYXIgKiBVUkwsIDxici8+CQkJCQkgY2hhciAqKiBjb250ZW50VHlwZSk7Cit2b2lkICoJPGEgaHJlZj0iI3htbE5hbm9IVFRQT3BlblJlZGlyIj54bWxOYW5vSFRUUE9wZW5SZWRpcjwvYT4JCShjb25zdCBjaGFyICogVVJMLCA8YnIvPgkJCQkJIGNoYXIgKiogY29udGVudFR5cGUsIDxici8+CQkJCQkgY2hhciAqKiByZWRpcik7Cit2b2lkICoJPGEgaHJlZj0iI3htbE5hbm9IVFRQTWV0aG9kUmVkaXIiPnhtbE5hbm9IVFRQTWV0aG9kUmVkaXI8L2E+CQkoY29uc3QgY2hhciAqIFVSTCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogbWV0aG9kLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBpbnB1dCwgPGJyLz4JCQkJCSBjaGFyICoqIGNvbnRlbnRUeXBlLCA8YnIvPgkJCQkJIGNoYXIgKiogcmVkaXIsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGhlYWRlcnMsIDxici8+CQkJCQkgaW50IGlsZW4pOwordm9pZAk8YSBocmVmPSIjeG1sTmFub0hUVFBTY2FuUHJveHkiPnhtbE5hbm9IVFRQU2NhblByb3h5PC9hPgkJKGNvbnN0IGNoYXIgKiBVUkwpOworY29uc3QgY2hhciAqCTxhIGhyZWY9IiN4bWxOYW5vSFRUUEVuY29kaW5nIj54bWxOYW5vSFRUUEVuY29kaW5nPC9hPgkodm9pZCAqIGN0eCk7CitpbnQJPGEgaHJlZj0iI3htbE5hbm9IVFRQUmV0dXJuQ29kZSI+eG1sTmFub0hUVFBSZXR1cm5Db2RlPC9hPgkJKHZvaWQgKiBjdHgpOworPC9wcmU+CisgICAgPC9kaXY+CisgICAgPGRpdiBjbGFzcz0icmVmc2VjdDEiIGxhbmc9ImVuIj4KKyAgICAgIDxoMj5EZXNjcmlwdGlvbjwvaDI+CisgICAgPC9kaXY+CisgICAgPGRpdiBjbGFzcz0icmVmc2VjdDEiIGxhbmc9ImVuIj4KKyAgICAgIDxoMj5EZXRhaWxzPC9oMj4KKyAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE5hbm9IVFRQQXV0aEhlYWRlciIvPnhtbE5hbm9IVFRQQXV0aEhlYWRlciAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmNvbnN0IGNoYXIgKgl4bWxOYW5vSFRUUEF1dGhIZWFkZXIJKHZvaWQgKiBjdHgpPGJyLz4KKzwvcHJlPjxwPkdldCB0aGUgYXV0aGVudGljYXRpb24gaGVhZGVyIG9mIGFuIEhUVFAgY29udGV4dDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgSFRUUCBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc3Rhc2hlZCB2YWx1ZSBvZiB0aGUgV1dXLUF1dGhlbnRpY2F0ZSBvciBQcm94eS1BdXRoZW50aWNhdGUgaGVhZGVyLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE5hbm9IVFRQQ2xlYW51cCIvPnhtbE5hbm9IVFRQQ2xlYW51cCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sTmFub0hUVFBDbGVhbnVwCQkodm9pZCk8YnIvPgorPC9wcmU+PHA+Q2xlYW51cCB0aGUgSFRUUCBwcm90b2NvbCBsYXllci48L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTmFub0hUVFBDbG9zZSIvPnhtbE5hbm9IVFRQQ2xvc2UgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbE5hbm9IVFRQQ2xvc2UJCSh2b2lkICogY3R4KTxici8+Cis8L3ByZT48cD5UaGlzIGZ1bmN0aW9uIGNsb3NlcyBhbiBIVFRQIGNvbnRleHQsIGl0IGVuZHMgdXAgdGhlIGNvbm5lY3Rpb24gYW5kIGZyZWUgYWxsIGRhdGEgcmVsYXRlZCB0byBpdC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIEhUVFAgY29udGV4dDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE5hbm9IVFRQQ29udGVudExlbmd0aCIvPnhtbE5hbm9IVFRQQ29udGVudExlbmd0aCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxOYW5vSFRUUENvbnRlbnRMZW5ndGgJKHZvaWQgKiBjdHgpPGJyLz4KKzwvcHJlPjxwPlByb3ZpZGVzIHRoZSBzcGVjaWZpZWQgY29udGVudCBsZW5ndGggZnJvbSB0aGUgSFRUUCBoZWFkZXIuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBIVFRQIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzcGVjaWZpZWQgY29udGVudCBsZW5ndGggZnJvbSB0aGUgSFRUUCBoZWFkZXIuIE5vdGUgdGhhdCBhIHZhbHVlIG9mIC0xIGluZGljYXRlcyB0aGF0IHRoZSBjb250ZW50IGxlbmd0aCBlbGVtZW50IHdhcyBub3QgaW5jbHVkZWQgaW4gdGhlIHJlc3BvbnNlIGhlYWRlci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxOYW5vSFRUUEVuY29kaW5nIi8+eG1sTmFub0hUVFBFbmNvZGluZyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmNvbnN0IGNoYXIgKgl4bWxOYW5vSFRUUEVuY29kaW5nCSh2b2lkICogY3R4KTxici8+Cis8L3ByZT48cD5Qcm92aWRlcyB0aGUgc3BlY2lmaWVkIGVuY29kaW5nIGlmIHNwZWNpZmllZCBpbiB0aGUgSFRUUCBoZWFkZXJzLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgSFRUUCBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc3BlY2lmaWVkIGVuY29kaW5nIG9yIE5VTEwgaWYgbm90IGF2YWlsYWJsZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE5hbm9IVFRQRmV0Y2giLz54bWxOYW5vSFRUUEZldGNoICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbE5hbm9IVFRQRmV0Y2gJCShjb25zdCBjaGFyICogVVJMLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBmaWxlbmFtZSwgPGJyLz4JCQkJCSBjaGFyICoqIGNvbnRlbnRUeXBlKTxici8+Cis8L3ByZT48cD5UaGlzIGZ1bmN0aW9uIHRyeSB0byBmZXRjaCB0aGUgaW5kaWNhdGVkIHJlc291cmNlIHZpYSBIVFRQIEdFVCBhbmQgc2F2ZSBpdCdzIGNvbnRlbnQgaW4gdGhlIGZpbGUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5VUkw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlRoZSBVUkwgdG8gbG9hZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmlsZW5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmaWxlbmFtZSB3aGVyZSB0aGUgY29udGVudCBzaG91bGQgYmUgc2F2ZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbnRlbnRUeXBlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5pZiBhdmFpbGFibGUgdGhlIENvbnRlbnQtVHlwZSBpbmZvcm1hdGlvbiB3aWxsIGJlIHJldHVybmVkIGF0IHRoYXQgbG9jYXRpb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPi0xIGluIGNhc2Ugb2YgZmFpbHVyZSwgMCBpbmNhc2Ugb2Ygc3VjY2Vzcy4gVGhlIGNvbnRlbnRUeXBlLCBpZiBwcm92aWRlZCBtdXN0IGJlIGZyZWVkIGJ5IHRoZSBjYWxsZXI8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxOYW5vSFRUUEluaXQiLz54bWxOYW5vSFRUUEluaXQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbE5hbm9IVFRQSW5pdAkJCSh2b2lkKTxici8+Cis8L3ByZT48cD5Jbml0aWFsaXplIHRoZSBIVFRQIHByb3RvY29sIGxheWVyLiBDdXJyZW50bHkgaXQganVzdCBjaGVja3MgZm9yIHByb3h5IGluZm9ybWF0aW9uczwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxOYW5vSFRUUE1ldGhvZCIvPnhtbE5hbm9IVFRQTWV0aG9kICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZCAqCXhtbE5hbm9IVFRQTWV0aG9kCQkoY29uc3QgY2hhciAqIFVSTCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogbWV0aG9kLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBpbnB1dCwgPGJyLz4JCQkJCSBjaGFyICoqIGNvbnRlbnRUeXBlLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBoZWFkZXJzLCA8YnIvPgkJCQkJIGludCBpbGVuKTxici8+Cis8L3ByZT48cD5UaGlzIGZ1bmN0aW9uIHRyeSB0byBvcGVuIGEgY29ubmVjdGlvbiB0byB0aGUgaW5kaWNhdGVkIHJlc291cmNlIHZpYSBIVFRQIHVzaW5nIHRoZSBnaXZlbiBAbWV0aG9kLCBhZGRpbmcgdGhlIGdpdmVuIGV4dHJhIGhlYWRlcnMgYW5kIHRoZSBpbnB1dCBidWZmZXIgZm9yIHRoZSByZXF1ZXN0IGNvbnRlbnQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5VUkw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlRoZSBVUkwgdG8gbG9hZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bWV0aG9kPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgSFRUUCBtZXRob2QgdG8gdXNlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pbnB1dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGlucHV0IHN0cmluZyBpZiBhbnk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbnRlbnRUeXBlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgQ29udGVudC1UeXBlIGluZm9ybWF0aW9uIElOIGFuZCBPVVQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmhlYWRlcnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBleHRyYSBoZWFkZXJzPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pbGVuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5pbnB1dCBsZW5ndGg8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPk5VTEwgaW4gY2FzZSBvZiBmYWlsdXJlLCBvdGhlcndpc2UgYSByZXF1ZXN0IGhhbmRsZXIuIFRoZSBjb250ZW50VHlwZSwgaWYgcHJvdmlkZWQgbXVzdCBiZSBmcmVlZCBieSB0aGUgY2FsbGVyPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTmFub0hUVFBNZXRob2RSZWRpciIvPnhtbE5hbm9IVFRQTWV0aG9kUmVkaXIgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkICoJeG1sTmFub0hUVFBNZXRob2RSZWRpcgkJKGNvbnN0IGNoYXIgKiBVUkwsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIG1ldGhvZCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogaW5wdXQsIDxici8+CQkJCQkgY2hhciAqKiBjb250ZW50VHlwZSwgPGJyLz4JCQkJCSBjaGFyICoqIHJlZGlyLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBoZWFkZXJzLCA8YnIvPgkJCQkJIGludCBpbGVuKTxici8+Cis8L3ByZT48cD5UaGlzIGZ1bmN0aW9uIHRyeSB0byBvcGVuIGEgY29ubmVjdGlvbiB0byB0aGUgaW5kaWNhdGVkIHJlc291cmNlIHZpYSBIVFRQIHVzaW5nIHRoZSBnaXZlbiBAbWV0aG9kLCBhZGRpbmcgdGhlIGdpdmVuIGV4dHJhIGhlYWRlcnMgYW5kIHRoZSBpbnB1dCBidWZmZXIgZm9yIHRoZSByZXF1ZXN0IGNvbnRlbnQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5VUkw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlRoZSBVUkwgdG8gbG9hZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bWV0aG9kPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgSFRUUCBtZXRob2QgdG8gdXNlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pbnB1dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGlucHV0IHN0cmluZyBpZiBhbnk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbnRlbnRUeXBlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgQ29udGVudC1UeXBlIGluZm9ybWF0aW9uIElOIGFuZCBPVVQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJlZGlyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmVkaXJlY3RlZCBVUkwgT1VUPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5oZWFkZXJzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZXh0cmEgaGVhZGVyczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aWxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+aW5wdXQgbGVuZ3RoPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5OVUxMIGluIGNhc2Ugb2YgZmFpbHVyZSwgb3RoZXJ3aXNlIGEgcmVxdWVzdCBoYW5kbGVyLiBUaGUgY29udGVudFR5cGUsIG9yIHJlZGlyLCBpZiBwcm92aWRlZCBtdXN0IGJlIGZyZWVkIGJ5IHRoZSBjYWxsZXI8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxOYW5vSFRUUE1pbWVUeXBlIi8+eG1sTmFub0hUVFBNaW1lVHlwZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmNvbnN0IGNoYXIgKgl4bWxOYW5vSFRUUE1pbWVUeXBlCSh2b2lkICogY3R4KTxici8+Cis8L3ByZT48cD5Qcm92aWRlcyB0aGUgc3BlY2lmaWVkIE1pbWUtVHlwZSBpZiBzcGVjaWZpZWQgaW4gdGhlIEhUVFAgaGVhZGVycy48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIEhUVFAgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHNwZWNpZmllZCBNaW1lLVR5cGUgb3IgTlVMTCBpZiBub3QgYXZhaWxhYmxlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTmFub0hUVFBPcGVuIi8+eG1sTmFub0hUVFBPcGVuICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZCAqCXhtbE5hbm9IVFRQT3BlbgkJCShjb25zdCBjaGFyICogVVJMLCA8YnIvPgkJCQkJIGNoYXIgKiogY29udGVudFR5cGUpPGJyLz4KKzwvcHJlPjxwPlRoaXMgZnVuY3Rpb24gdHJ5IHRvIG9wZW4gYSBjb25uZWN0aW9uIHRvIHRoZSBpbmRpY2F0ZWQgcmVzb3VyY2UgdmlhIEhUVFAgR0VULjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+VVJMPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5UaGUgVVJMIHRvIGxvYWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbnRlbnRUeXBlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5pZiBhdmFpbGFibGUgdGhlIENvbnRlbnQtVHlwZSBpbmZvcm1hdGlvbiB3aWxsIGJlIHJldHVybmVkIGF0IHRoYXQgbG9jYXRpb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPk5VTEwgaW4gY2FzZSBvZiBmYWlsdXJlLCBvdGhlcndpc2UgYSByZXF1ZXN0IGhhbmRsZXIuIFRoZSBjb250ZW50VHlwZSwgaWYgcHJvdmlkZWQgbXVzdCBiZSBmcmVlZCBieSB0aGUgY2FsbGVyPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTmFub0hUVFBPcGVuUmVkaXIiLz54bWxOYW5vSFRUUE9wZW5SZWRpciAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQgKgl4bWxOYW5vSFRUUE9wZW5SZWRpcgkJKGNvbnN0IGNoYXIgKiBVUkwsIDxici8+CQkJCQkgY2hhciAqKiBjb250ZW50VHlwZSwgPGJyLz4JCQkJCSBjaGFyICoqIHJlZGlyKTxici8+Cis8L3ByZT48cD5UaGlzIGZ1bmN0aW9uIHRyeSB0byBvcGVuIGEgY29ubmVjdGlvbiB0byB0aGUgaW5kaWNhdGVkIHJlc291cmNlIHZpYSBIVFRQIEdFVC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlVSTDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VGhlIFVSTCB0byBsb2FkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb250ZW50VHlwZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+aWYgYXZhaWxhYmxlIHRoZSBDb250ZW50LVR5cGUgaW5mb3JtYXRpb24gd2lsbCBiZSByZXR1cm5lZCBhdCB0aGF0IGxvY2F0aW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWRpcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+aWYgYXZhaWxhYmxlIHRoZSByZWRpcmVjdGVkIFVSTCB3aWxsIGJlIHJldHVybmVkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5OVUxMIGluIGNhc2Ugb2YgZmFpbHVyZSwgb3RoZXJ3aXNlIGEgcmVxdWVzdCBoYW5kbGVyLiBUaGUgY29udGVudFR5cGUsIGlmIHByb3ZpZGVkIG11c3QgYmUgZnJlZWQgYnkgdGhlIGNhbGxlcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE5hbm9IVFRQUmVhZCIvPnhtbE5hbm9IVFRQUmVhZCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxOYW5vSFRUUFJlYWQJCQkodm9pZCAqIGN0eCwgPGJyLz4JCQkJCSB2b2lkICogZGVzdCwgPGJyLz4JCQkJCSBpbnQgbGVuKTxici8+Cis8L3ByZT48cD5UaGlzIGZ1bmN0aW9uIHRyaWVzIHRvIHJlYWQgQGxlbiBieXRlcyBmcm9tIHRoZSBleGlzdGluZyBIVFRQIGNvbm5lY3Rpb24gYW5kIHNhdmVzIHRoZW0gaW4gQGRlc3QuIFRoaXMgaXMgYSBibG9ja2luZyBjYWxsLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgSFRUUCBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kZXN0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGJ1ZmZlcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGVuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnVmZmVyIGxlbmd0aDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBieXRlIHJlYWQuIDAgaXMgYW4gaW5kaWNhdGlvbiBvZiBhbiBlbmQgb2YgY29ubmVjdGlvbi4gLTEgaW5kaWNhdGVzIGEgcGFyYW1ldGVyIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE5hbm9IVFRQUmVkaXIiLz54bWxOYW5vSFRUUFJlZGlyICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Y29uc3QgY2hhciAqCXhtbE5hbm9IVFRQUmVkaXIJKHZvaWQgKiBjdHgpPGJyLz4KKzwvcHJlPjxwPlByb3ZpZGVzIHRoZSBzcGVjaWZpZWQgcmVkaXJlY3Rpb24gVVJMIGlmIGF2YWlsYWJsZSBmcm9tIHRoZSBIVFRQIGhlYWRlci48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIEhUVFAgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHNwZWNpZmllZCByZWRpcmVjdGlvbiBVUkwgb3IgTlVMTCBpZiBub3QgcmVkaXJlY3RlZC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxOYW5vSFRUUFJldHVybkNvZGUiLz54bWxOYW5vSFRUUFJldHVybkNvZGUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sTmFub0hUVFBSZXR1cm5Db2RlCQkodm9pZCAqIGN0eCk8YnIvPgorPC9wcmU+PHA+R2V0IHRoZSBsYXRlc3QgSFRUUCByZXR1cm4gY29kZSByZWNlaXZlZDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgSFRUUCBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgSFRUUCByZXR1cm4gY29kZSBmb3IgdGhlIHJlcXVlc3QuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTmFub0hUVFBTYXZlIi8+eG1sTmFub0hUVFBTYXZlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbE5hbm9IVFRQU2F2ZQkJCSh2b2lkICogY3R4dCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZmlsZW5hbWUpPGJyLz4KKzwvcHJlPjxwPlRoaXMgZnVuY3Rpb24gc2F2ZXMgdGhlIG91dHB1dCBvZiB0aGUgSFRUUCB0cmFuc2FjdGlvbiB0byBhIGZpbGUgSXQgY2xvc2VzIGFuZCBmcmVlIHRoZSBjb250ZXh0IGF0IHRoZSBlbmQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBIVFRQIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZpbGVuYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZmlsZW5hbWUgd2hlcmUgdGhlIGNvbnRlbnQgc2hvdWxkIGJlIHNhdmVkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4tMSBpbiBjYXNlIG9mIGZhaWx1cmUsIDAgaW5jYXNlIG9mIHN1Y2Nlc3MuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTmFub0hUVFBTY2FuUHJveHkiLz54bWxOYW5vSFRUUFNjYW5Qcm94eSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sTmFub0hUVFBTY2FuUHJveHkJCShjb25zdCBjaGFyICogVVJMKTxici8+Cis8L3ByZT48cD4oUmUpSW5pdGlhbGl6ZSB0aGUgSFRUUCBQcm94eSBjb250ZXh0IGJ5IHBhcnNpbmcgdGhlIFVSTCBhbmQgZmluZGluZyB0aGUgcHJvdG9jb2wgaG9zdCBwb3J0IGl0IGluZGljYXRlcy4gU2hvdWxkIGJlIGxpa2UgaHR0cDovL215cHJveHkvIG9yIGh0dHA6Ly9teXByb3h5OjMxMjgvIEEgTlVMTCBVUkwgY2xlYW5zIHVwIHByb3h5IGluZm9ybWF0aW9ucy48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlVSTDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VGhlIHByb3h5IFVSTCB1c2VkIHRvIGluaXRpYWxpemUgdGhlIHByb3h5IGNvbnRleHQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgPC9kaXY+CisgICAgPC9kaXY+CisgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2RldmhlbHAvbGlieG1sMi1wYXJzZXIuaHRtbCBiL2xpYnhtbDIvZG9jL2RldmhlbHAvbGlieG1sMi1wYXJzZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNTdjMTRhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvZGV2aGVscC9saWJ4bWwyLXBhcnNlci5odG1sCkBAIC0wLDAgKzEsNzY2IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPGh0bWw+CisgIDxoZWFkPgorICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ii8+CisgICAgPHRpdGxlPnBhcnNlcjogdGhlIGNvcmUgcGFyc2VyIG1vZHVsZTwvdGl0bGU+CisgICAgPG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJMaWJ4bWwyIGRldmhlbHAgc3R5bGVzaGVldCIvPgorICAgIDxsaW5rIHJlbD0ic3RhcnQiIGhyZWY9ImluZGV4Lmh0bWwiIHRpdGxlPSJsaWJ4bWwyIFJlZmVyZW5jZSBNYW51YWwiLz4KKyAgICA8bGluayByZWw9InVwIiBocmVmPSJnZW5lcmFsLmh0bWwiIHRpdGxlPSJBUEkiLz4KKyAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9InN0eWxlLmNzcyIgdHlwZT0idGV4dC9jc3MiLz4KKyAgICA8bGluayByZWw9ImNoYXB0ZXIiIGhyZWY9ImdlbmVyYWwuaHRtbCIgdGl0bGU9IkFQSSIvPgorICA8L2hlYWQ+CisgIDxib2R5IGJnY29sb3I9IndoaXRlIiB0ZXh0PSJibGFjayIgbGluaz0iIzAwMDBGRiIgdmxpbms9IiM4NDAwODQiIGFsaW5rPSIjMDAwMEZGIj4KKyAgICA8dGFibGUgY2xhc3M9Im5hdmlnYXRpb24iIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIyIj4KKyAgICAgIDx0ciB2YWxpZ249Im1pZGRsZSI+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImxpYnhtbDItbmFub2h0dHAuaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0ibGVmdC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlByZXYiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9InUiIGhyZWY9ImdlbmVyYWwuaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0idXAucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJVcCIvPgorICAgICAgICAgIDwvYT4KKyAgICAgICAgPC90ZD4KKyAgICAgICAgPHRkPgorICAgICAgICAgIDxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iaW5kZXguaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0iaG9tZS5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IkhvbWUiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9Im4iIGhyZWY9ImxpYnhtbDItcGFyc2VySW50ZXJuYWxzLmh0bWwiPgorICAgICAgICAgICAgPGltZyBzcmM9InJpZ2h0LnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iTmV4dCIvPgorICAgICAgICAgIDwvYT4KKyAgICAgICAgPC90ZD4KKyAgICAgICAgPHRoIHdpZHRoPSIxMDAlIiBhbGlnbj0iY2VudGVyIj5saWJ4bWwyIFJlZmVyZW5jZSBNYW51YWw8L3RoPgorICAgICAgPC90cj4KKyAgICA8L3RhYmxlPgorICAgIDxoMj4KKyAgICAgIDxzcGFuIGNsYXNzPSJyZWZlbnRyeXRpdGxlIj5wYXJzZXI8L3NwYW4+CisgICAgPC9oMj4KKyAgICA8cD5wYXJzZXIgLSB0aGUgY29yZSBwYXJzZXIgbW9kdWxlPC9wPgorICAgIDxwPkludGVyZmFjZXMsIGNvbnN0YW50cyBhbmQgdHlwZXMgcmVsYXRlZCB0byB0aGUgWE1MIHBhcnNlciA8L3A+CisgICAgPHA+QXV0aG9yKHMpOiBEYW5pZWwgVmVpbGxhcmQgPC9wPgorICAgIDxkaXYgY2xhc3M9InJlZnN5bm9wc2lzZGl2Ij4KKyAgICAgIDxoMj5TeW5vcHNpczwvaDI+CisgICAgICA8cHJlIGNsYXNzPSJzeW5vcHNpcyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX0NPTVBMRVRFX0FUVFJTIj5YTUxfQ09NUExFVEVfQVRUUlM8L2E+OworI2RlZmluZSA8YSBocmVmPSIjWE1MX1NLSVBfSURTIj5YTUxfU0tJUF9JRFM8L2E+OworI2RlZmluZSA8YSBocmVmPSIjWE1MX1NBWDJfTUFHSUMiPlhNTF9TQVgyX01BR0lDPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI1hNTF9ERVRFQ1RfSURTIj5YTUxfREVURUNUX0lEUzwvYT47CisjZGVmaW5lIDxhIGhyZWY9IiNYTUxfREVGQVVMVF9WRVJTSU9OIj5YTUxfREVGQVVMVF9WRVJTSU9OPC9hPjsKK3R5cGVkZWYgPGEgaHJlZj0ibGlieG1sMi1wYXJzZXIuaHRtbCN4bWxQYXJzZXJOb2RlSW5mb1NlcSI+eG1sUGFyc2VyTm9kZUluZm9TZXE8L2E+ICogPGEgaHJlZj0iI3htbFBhcnNlck5vZGVJbmZvU2VxUHRyIj54bWxQYXJzZXJOb2RlSW5mb1NlcVB0cjwvYT47Cit0eXBlZGVmIHN0cnVjdCBfeG1sU0FYSGFuZGxlclYxIDxhIGhyZWY9IiN4bWxTQVhIYW5kbGVyVjEiPnhtbFNBWEhhbmRsZXJWMTwvYT47Cit0eXBlZGVmIGVudW0gPGEgaHJlZj0iI3htbFBhcnNlcklucHV0U3RhdGUiPnhtbFBhcnNlcklucHV0U3RhdGU8L2E+OwordHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwyLXBhcnNlci5odG1sI3htbFBhcnNlck5vZGVJbmZvIj54bWxQYXJzZXJOb2RlSW5mbzwvYT4gKiA8YSBocmVmPSIjeG1sUGFyc2VyTm9kZUluZm9QdHIiPnhtbFBhcnNlck5vZGVJbmZvUHRyPC9hPjsKK3R5cGVkZWYgc3RydWN0IF94bWxQYXJzZXJOb2RlSW5mb1NlcSA8YSBocmVmPSIjeG1sUGFyc2VyTm9kZUluZm9TZXEiPnhtbFBhcnNlck5vZGVJbmZvU2VxPC9hPjsKK3R5cGVkZWYgZW51bSA8YSBocmVmPSIjeG1sRmVhdHVyZSI+eG1sRmVhdHVyZTwvYT47Cit0eXBlZGVmIGVudW0gPGEgaHJlZj0iI3htbFBhcnNlck1vZGUiPnhtbFBhcnNlck1vZGU8L2E+OwordHlwZWRlZiBlbnVtIDxhIGhyZWY9IiN4bWxQYXJzZXJPcHRpb24iPnhtbFBhcnNlck9wdGlvbjwvYT47Cit0eXBlZGVmIDxhIGhyZWY9ImxpYnhtbDItcGFyc2VyLmh0bWwjeG1sU0FYSGFuZGxlclYxIj54bWxTQVhIYW5kbGVyVjE8L2E+ICogPGEgaHJlZj0iI3htbFNBWEhhbmRsZXJWMVB0ciI+eG1sU0FYSGFuZGxlclYxUHRyPC9hPjsKK3R5cGVkZWYgc3RydWN0IF94bWxQYXJzZXJOb2RlSW5mbyA8YSBocmVmPSIjeG1sUGFyc2VyTm9kZUluZm8iPnhtbFBhcnNlck5vZGVJbmZvPC9hPjsKK3ZvaWQJPGEgaHJlZj0iI3htbFNldHVwUGFyc2VyRm9yQnVmZmVyIj54bWxTZXR1cFBhcnNlckZvckJ1ZmZlcjwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBidWZmZXIsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGZpbGVuYW1lKTsKKzxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPgk8YSBocmVmPSIjeG1sQ3R4dFJlYWRGaWxlIj54bWxDdHh0UmVhZEZpbGU8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZmlsZW5hbWUsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nLCA8YnIvPgkJCQkJIGludCBvcHRpb25zKTsKK2ludAk8YSBocmVmPSIjeG1sUGFyc2VDdHh0RXh0ZXJuYWxFbnRpdHkiPnhtbFBhcnNlQ3R4dEV4dGVybmFsRW50aXR5PC9hPgkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBVUkwsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIElELCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+ICogbHN0KTsKK3R5cGVkZWYgdm9pZCA8YSBocmVmPSIjYXR0cmlidXRlRGVjbFNBWEZ1bmMiPmF0dHJpYnV0ZURlY2xTQVhGdW5jPC9hPgkJKHZvaWQgKiBjdHgsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGVsZW0sIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGZ1bGxuYW1lLCA8YnIvPgkJCQkJIGludCB0eXBlLCA8YnIvPgkJCQkJIGludCBkZWYsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGRlZmF1bHRWYWx1ZSwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxFbnVtZXJhdGlvblB0ciI+eG1sRW51bWVyYXRpb25QdHI8L2E+IHRyZWUpOwordHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxFbnRpdHlQdHIiPnhtbEVudGl0eVB0cjwvYT4gPGEgaHJlZj0iI2dldEVudGl0eVNBWEZ1bmMiPmdldEVudGl0eVNBWEZ1bmM8L2E+CSh2b2lkICogY3R4LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKTsKK3R5cGVkZWYgdm9pZCA8YSBocmVmPSIjc3RhcnRFbGVtZW50U0FYRnVuYyI+c3RhcnRFbGVtZW50U0FYRnVuYzwvYT4JCSh2b2lkICogY3R4LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiogYXR0cyk7Cit0eXBlZGVmIHZvaWQgPGEgaHJlZj0iI2NoYXJhY3RlcnNTQVhGdW5jIj5jaGFyYWN0ZXJzU0FYRnVuYzwvYT4JCSh2b2lkICogY3R4LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjaCwgPGJyLz4JCQkJCSBpbnQgbGVuKTsKK3ZvaWQJPGEgaHJlZj0iI3htbENsZWFyTm9kZUluZm9TZXEiPnhtbENsZWFyTm9kZUluZm9TZXE8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi1wYXJzZXIuaHRtbCN4bWxQYXJzZXJOb2RlSW5mb1NlcVB0ciI+eG1sUGFyc2VyTm9kZUluZm9TZXFQdHI8L2E+IHNlcSk7CitpbnQJPGEgaHJlZj0iI3htbFBhcnNlQ2h1bmsiPnhtbFBhcnNlQ2h1bms8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGNodW5rLCA8YnIvPgkJCQkJIGludCBzaXplLCA8YnIvPgkJCQkJIGludCB0ZXJtaW5hdGUpOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+CTxhIGhyZWY9IiN4bWxQYXJzZUVudGl0eSI+eG1sUGFyc2VFbnRpdHk8L2E+CQkoY29uc3QgY2hhciAqIGZpbGVuYW1lKTsKKzxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPgk8YSBocmVmPSIjeG1sUmVjb3ZlckZpbGUiPnhtbFJlY292ZXJGaWxlPC9hPgkJKGNvbnN0IGNoYXIgKiBmaWxlbmFtZSk7Cis8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4JPGEgaHJlZj0iI3htbEN0eHRSZWFkRG9jIj54bWxDdHh0UmVhZERvYzwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjdXIsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIFVSTCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcsIDxici8+CQkJCQkgaW50IG9wdGlvbnMpOwordHlwZWRlZiB2b2lkIDxhIGhyZWY9IiNzdGFydEVsZW1lbnROc1NBWDJGdW5jIj5zdGFydEVsZW1lbnROc1NBWDJGdW5jPC9hPgkJKHZvaWQgKiBjdHgsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGxvY2FsbmFtZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHJlZml4LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBVUkksIDxici8+CQkJCQkgaW50IG5iX25hbWVzcGFjZXMsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqKiBuYW1lc3BhY2VzLCA8YnIvPgkJCQkJIGludCBuYl9hdHRyaWJ1dGVzLCA8YnIvPgkJCQkJIGludCBuYl9kZWZhdWx0ZWQsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqKiBhdHRyaWJ1dGVzKTsKKzxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+CTxhIGhyZWY9IiN4bWxDcmVhdGVJT1BhcnNlckN0eHQiPnhtbENyZWF0ZUlPUGFyc2VyQ3R4dDwvYT4JKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFNBWEhhbmRsZXJQdHIiPnhtbFNBWEhhbmRsZXJQdHI8L2E+IHNheCwgPGJyLz4JCQkJCQkgdm9pZCAqIHVzZXJfZGF0YSwgPGJyLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxJTy5odG1sI3htbElucHV0UmVhZENhbGxiYWNrIj54bWxJbnB1dFJlYWRDYWxsYmFjazwvYT4gaW9yZWFkLCA8YnIvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbElPLmh0bWwjeG1sSW5wdXRDbG9zZUNhbGxiYWNrIj54bWxJbnB1dENsb3NlQ2FsbGJhY2s8L2E+IGlvY2xvc2UsIDxici8+CQkJCQkJIHZvaWQgKiBpb2N0eCwgPGJyLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sMi1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZyI+eG1sQ2hhckVuY29kaW5nPC9hPiBlbmMpOworPGEgaHJlZj0ibGlieG1sMi14bWxlcnJvci5odG1sI3htbFBhcnNlckVycm9ycyI+eG1sUGFyc2VyRXJyb3JzPC9hPgk8YSBocmVmPSIjeG1sUGFyc2VJbk5vZGVDb250ZXh0Ij54bWxQYXJzZUluTm9kZUNvbnRleHQ8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBkYXRhLCA8YnIvPgkJCQkJIGludCBkYXRhbGVuLCA8YnIvPgkJCQkJIGludCBvcHRpb25zLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+ICogbHN0KTsKK3R5cGVkZWYgdm9pZCA8YSBocmVmPSIjcmVmZXJlbmNlU0FYRnVuYyI+cmVmZXJlbmNlU0FYRnVuYzwvYT4JCSh2b2lkICogY3R4LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKTsKK3R5cGVkZWYgaW50IDxhIGhyZWY9IiNoYXNFeHRlcm5hbFN1YnNldFNBWEZ1bmMiPmhhc0V4dGVybmFsU3Vic2V0U0FYRnVuYzwvYT4JKHZvaWQgKiBjdHgpOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+CTxhIGhyZWY9IiN4bWxTQVhQYXJzZURvYyI+eG1sU0FYUGFyc2VEb2M8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sU0FYSGFuZGxlclB0ciI+eG1sU0FYSGFuZGxlclB0cjwvYT4gc2F4LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjdXIsIDxici8+CQkJCQkgaW50IHJlY292ZXJ5KTsKKzxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPgk8YSBocmVmPSIjeG1sUmVhZE1lbW9yeSI+eG1sUmVhZE1lbW9yeTwvYT4JCShjb25zdCBjaGFyICogYnVmZmVyLCA8YnIvPgkJCQkJIGludCBzaXplLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBVUkwsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nLCA8YnIvPgkJCQkJIGludCBvcHRpb25zKTsKKzxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPgk8YSBocmVmPSIjeG1sUGFyc2VNZW1vcnkiPnhtbFBhcnNlTWVtb3J5PC9hPgkJKGNvbnN0IGNoYXIgKiBidWZmZXIsIDxici8+CQkJCQkgaW50IHNpemUpOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRQdHIiPnhtbFBhcnNlcklucHV0UHRyPC9hPgk8YSBocmVmPSIjeG1sTmV3SU9JbnB1dFN0cmVhbSI+eG1sTmV3SU9JbnB1dFN0cmVhbTwvYT4JKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyUHRyIj54bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cjwvYT4gaW5wdXQsIDxici8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbDItZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmciPnhtbENoYXJFbmNvZGluZzwvYT4gZW5jKTsKK3R5cGVkZWYgdm9pZCA8YSBocmVmPSIjcHJvY2Vzc2luZ0luc3RydWN0aW9uU0FYRnVuYyI+cHJvY2Vzc2luZ0luc3RydWN0aW9uU0FYRnVuYzwvYT4JKHZvaWQgKiBjdHgsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHRhcmdldCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogZGF0YSk7CitpbnQJPGEgaHJlZj0iI3htbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXIiPnhtbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXI8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxTQVhIYW5kbGVyUHRyIj54bWxTQVhIYW5kbGVyUHRyPC9hPiBzYXgsIDxici8+CQkJCQkJIHZvaWQgKiB1c2VyX2RhdGEsIDxici8+CQkJCQkJIGludCBkZXB0aCwgPGJyLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0cmluZywgPGJyLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gKiBsc3QsIDxici8+CQkJCQkJIGludCByZWNvdmVyKTsKK3ZvaWQJPGEgaHJlZj0iI3htbEluaXRQYXJzZXIiPnhtbEluaXRQYXJzZXI8L2E+CQkJKHZvaWQpOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4JPGEgaHJlZj0iI3htbENyZWF0ZURvY1BhcnNlckN0eHQiPnhtbENyZWF0ZURvY1BhcnNlckN0eHQ8L2E+CShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY3VyKTsKK3R5cGVkZWYgdm9pZCA8YSBocmVmPSIjZXJyb3JTQVhGdW5jIj5lcnJvclNBWEZ1bmM8L2E+CQkJKHZvaWQgKiBjdHgsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIG1zZywgPGJyLz4JCQkJCSAuLi4gLi4uKTsKKzxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPgk8YSBocmVmPSIjeG1sU0FYUGFyc2VNZW1vcnkiPnhtbFNBWFBhcnNlTWVtb3J5PC9hPgkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sU0FYSGFuZGxlclB0ciI+eG1sU0FYSGFuZGxlclB0cjwvYT4gc2F4LCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBidWZmZXIsIDxici8+CQkJCQkgaW50IHNpemUsIDxici8+CQkJCQkgaW50IHJlY292ZXJ5KTsKKzxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPgk8YSBocmVmPSIjeG1sUmVjb3Zlck1lbW9yeSI+eG1sUmVjb3Zlck1lbW9yeTwvYT4JKGNvbnN0IGNoYXIgKiBidWZmZXIsIDxici8+CQkJCQkgaW50IHNpemUpOwordHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dFB0ciI+eG1sUGFyc2VySW5wdXRQdHI8L2E+IDxhIGhyZWY9IiN4bWxFeHRlcm5hbEVudGl0eUxvYWRlciI+eG1sRXh0ZXJuYWxFbnRpdHlMb2FkZXI8L2E+CShjb25zdCBjaGFyICogVVJMLCA8YnIvPgkJCQkJCSBjb25zdCBjaGFyICogSUQsIDxici8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGNvbnRleHQpOwordHlwZWRlZiBpbnQgPGEgaHJlZj0iI2hhc0ludGVybmFsU3Vic2V0U0FYRnVuYyI+aGFzSW50ZXJuYWxTdWJzZXRTQVhGdW5jPC9hPgkodm9pZCAqIGN0eCk7Cit0eXBlZGVmIHZvaWQgPGEgaHJlZj0iI2NkYXRhQmxvY2tTQVhGdW5jIj5jZGF0YUJsb2NrU0FYRnVuYzwvYT4JCSh2b2lkICogY3R4LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB2YWx1ZSwgPGJyLz4JCQkJCSBpbnQgbGVuKTsKKzxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPgk8YSBocmVmPSIjeG1sU0FYUGFyc2VGaWxlIj54bWxTQVhQYXJzZUZpbGU8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sU0FYSGFuZGxlclB0ciI+eG1sU0FYSGFuZGxlclB0cjwvYT4gc2F4LCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBmaWxlbmFtZSwgPGJyLz4JCQkJCSBpbnQgcmVjb3ZlcnkpOwordHlwZWRlZiB2b2lkIDxhIGhyZWY9IiN4bWxQYXJzZXJJbnB1dERlYWxsb2NhdGUiPnhtbFBhcnNlcklucHV0RGVhbGxvY2F0ZTwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzdHIpOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+CTxhIGhyZWY9IiN4bWxDdHh0UmVhZElPIj54bWxDdHh0UmVhZElPPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxJTy5odG1sI3htbElucHV0UmVhZENhbGxiYWNrIj54bWxJbnB1dFJlYWRDYWxsYmFjazwvYT4gaW9yZWFkLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sSU8uaHRtbCN4bWxJbnB1dENsb3NlQ2FsbGJhY2siPnhtbElucHV0Q2xvc2VDYWxsYmFjazwvYT4gaW9jbG9zZSwgPGJyLz4JCQkJCSB2b2lkICogaW9jdHgsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIFVSTCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcsIDxici8+CQkJCQkgaW50IG9wdGlvbnMpOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+CTxhIGhyZWY9IiN4bWxTQVhQYXJzZU1lbW9yeVdpdGhEYXRhIj54bWxTQVhQYXJzZU1lbW9yeVdpdGhEYXRhPC9hPgkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sU0FYSGFuZGxlclB0ciI+eG1sU0FYSGFuZGxlclB0cjwvYT4gc2F4LCA8YnIvPgkJCQkJCSBjb25zdCBjaGFyICogYnVmZmVyLCA8YnIvPgkJCQkJCSBpbnQgc2l6ZSwgPGJyLz4JCQkJCQkgaW50IHJlY292ZXJ5LCA8YnIvPgkJCQkJCSB2b2lkICogZGF0YSk7CitpbnQJPGEgaHJlZj0iI3htbEdldEZlYXR1cmUiPnhtbEdldEZlYXR1cmU8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIG5hbWUsIDxici8+CQkJCQkgdm9pZCAqIHJlc3VsdCk7Cis8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEdGRQdHIiPnhtbER0ZFB0cjwvYT4JPGEgaHJlZj0iI3htbElPUGFyc2VEVEQiPnhtbElPUGFyc2VEVEQ8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sU0FYSGFuZGxlclB0ciI+eG1sU0FYSGFuZGxlclB0cjwvYT4gc2F4LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyUHRyIj54bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cjwvYT4gaW5wdXQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZyI+eG1sQ2hhckVuY29kaW5nPC9hPiBlbmMpOwordm9pZAk8YSBocmVmPSIjeG1sRnJlZVBhcnNlckN0eHQiPnhtbEZyZWVQYXJzZXJDdHh0PC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRHRkUHRyIj54bWxEdGRQdHI8L2E+CTxhIGhyZWY9IiN4bWxQYXJzZURURCI+eG1sUGFyc2VEVEQ8L2E+CQkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIEV4dGVybmFsSUQsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIFN5c3RlbUlEKTsKKzxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPgk8YSBocmVmPSIjeG1sUmVjb3ZlckRvYyI+eG1sUmVjb3ZlckRvYzwvYT4JCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY3VyKTsKK3R5cGVkZWYgdm9pZCA8YSBocmVmPSIjY29tbWVudFNBWEZ1bmMiPmNvbW1lbnRTQVhGdW5jPC9hPgkJCSh2b2lkICogY3R4LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB2YWx1ZSk7CitpbnQJPGEgaHJlZj0iI3htbEluaXRQYXJzZXJDdHh0Ij54bWxJbml0UGFyc2VyQ3R4dDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTsKK3R5cGVkZWYgdm9pZCA8YSBocmVmPSIjYXR0cmlidXRlU0FYRnVuYyI+YXR0cmlidXRlU0FYRnVuYzwvYT4JCSh2b2lkICogY3R4LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB2YWx1ZSk7CitpbnQJPGEgaHJlZj0iI3htbFBhcnNlcklucHV0R3JvdyI+eG1sUGFyc2VySW5wdXRHcm93PC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlcklucHV0UHRyIj54bWxQYXJzZXJJbnB1dFB0cjwvYT4gaW4sIDxici8+CQkJCQkgaW50IGxlbik7Cis8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4JPGEgaHJlZj0iI3htbEN0eHRSZWFkTWVtb3J5Ij54bWxDdHh0UmVhZE1lbW9yeTwvYT4JKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGJ1ZmZlciwgPGJyLz4JCQkJCSBpbnQgc2l6ZSwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogVVJMLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyLz4JCQkJCSBpbnQgb3B0aW9ucyk7Cit0eXBlZGVmIHZvaWQgPGEgaHJlZj0iI2V4dGVybmFsU3Vic2V0U0FYRnVuYyI+ZXh0ZXJuYWxTdWJzZXRTQVhGdW5jPC9hPgkJKHZvaWQgKiBjdHgsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIEV4dGVybmFsSUQsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIFN5c3RlbUlEKTsKK3R5cGVkZWYgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRQdHIiPnhtbFBhcnNlcklucHV0UHRyPC9hPiA8YSBocmVmPSIjcmVzb2x2ZUVudGl0eVNBWEZ1bmMiPnJlc29sdmVFbnRpdHlTQVhGdW5jPC9hPgkodm9pZCAqIGN0eCwgPGJyLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHB1YmxpY0lkLCA8YnIvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3lzdGVtSWQpOworaW50CTxhIGhyZWY9IiN4bWxQZWRhbnRpY1BhcnNlckRlZmF1bHQiPnhtbFBlZGFudGljUGFyc2VyRGVmYXVsdDwvYT4JKGludCB2YWwpOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+CTxhIGhyZWY9IiN4bWxTQVhQYXJzZUVudGl0eSI+eG1sU0FYUGFyc2VFbnRpdHk8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxTQVhIYW5kbGVyUHRyIj54bWxTQVhIYW5kbGVyUHRyPC9hPiBzYXgsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGZpbGVuYW1lKTsKKzxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPgk8YSBocmVmPSIjeG1sUGFyc2VEb2MiPnhtbFBhcnNlRG9jPC9hPgkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjdXIpOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+CTxhIGhyZWY9IiN4bWxTQVhQYXJzZUZpbGVXaXRoRGF0YSI+eG1sU0FYUGFyc2VGaWxlV2l0aERhdGE8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxTQVhIYW5kbGVyUHRyIj54bWxTQVhIYW5kbGVyUHRyPC9hPiBzYXgsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGZpbGVuYW1lLCA8YnIvPgkJCQkJIGludCByZWNvdmVyeSwgPGJyLz4JCQkJCSB2b2lkICogZGF0YSk7CitpbnQJPGEgaHJlZj0iI3htbExpbmVOdW1iZXJzRGVmYXVsdCI+eG1sTGluZU51bWJlcnNEZWZhdWx0PC9hPgkJKGludCB2YWwpOworPGEgaHJlZj0ibGlieG1sMi1wYXJzZXIuaHRtbCN4bWxFeHRlcm5hbEVudGl0eUxvYWRlciI+eG1sRXh0ZXJuYWxFbnRpdHlMb2FkZXI8L2E+CTxhIGhyZWY9IiN4bWxHZXRFeHRlcm5hbEVudGl0eUxvYWRlciI+eG1sR2V0RXh0ZXJuYWxFbnRpdHlMb2FkZXI8L2E+CSh2b2lkKTsKK3R5cGVkZWYgdm9pZCA8YSBocmVmPSIjZWxlbWVudERlY2xTQVhGdW5jIj5lbGVtZW50RGVjbFNBWEZ1bmM8L2E+CQkodm9pZCAqIGN0eCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCSBpbnQgdHlwZSwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxFbGVtZW50Q29udGVudFB0ciI+eG1sRWxlbWVudENvbnRlbnRQdHI8L2E+IGNvbnRlbnQpOworaW50CTxhIGhyZWY9IiN4bWxDdHh0VXNlT3B0aW9ucyI+eG1sQ3R4dFVzZU9wdGlvbnM8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSBpbnQgb3B0aW9ucyk7Cis8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPgk8YSBocmVmPSIjeG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQiPnhtbENyZWF0ZVB1c2hQYXJzZXJDdHh0PC9hPgkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sU0FYSGFuZGxlclB0ciI+eG1sU0FYSGFuZGxlclB0cjwvYT4gc2F4LCA8YnIvPgkJCQkJCSB2b2lkICogdXNlcl9kYXRhLCA8YnIvPgkJCQkJCSBjb25zdCBjaGFyICogY2h1bmssIDxici8+CQkJCQkJIGludCBzaXplLCA8YnIvPgkJCQkJCSBjb25zdCBjaGFyICogZmlsZW5hbWUpOwordm9pZAk8YSBocmVmPSIjeG1sUGFyc2VyQWRkTm9kZUluZm8iPnhtbFBhcnNlckFkZE5vZGVJbmZvPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi1wYXJzZXIuaHRtbCN4bWxQYXJzZXJOb2RlSW5mb1B0ciI+eG1sUGFyc2VyTm9kZUluZm9QdHI8L2E+IGluZm8pOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+CTxhIGhyZWY9IiN4bWxDdHh0UmVhZEZkIj54bWxDdHh0UmVhZEZkPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgaW50IGZkLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBVUkwsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nLCA8YnIvPgkJCQkJIGludCBvcHRpb25zKTsKK3R5cGVkZWYgdm9pZCA8YSBocmVmPSIjaW50ZXJuYWxTdWJzZXRTQVhGdW5jIj5pbnRlcm5hbFN1YnNldFNBWEZ1bmM8L2E+CQkodm9pZCAqIGN0eCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogRXh0ZXJuYWxJRCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogU3lzdGVtSUQpOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4JPGEgaHJlZj0iI3htbE5ld1BhcnNlckN0eHQiPnhtbE5ld1BhcnNlckN0eHQ8L2E+CSh2b2lkKTsKK3R5cGVkZWYgdm9pZCA8YSBocmVmPSIjZW5kRG9jdW1lbnRTQVhGdW5jIj5lbmREb2N1bWVudFNBWEZ1bmM8L2E+CQkodm9pZCAqIGN0eCk7Cis8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4JPGEgaHJlZj0iI3htbFBhcnNlRmlsZSI+eG1sUGFyc2VGaWxlPC9hPgkJKGNvbnN0IGNoYXIgKiBmaWxlbmFtZSk7CitpbnQJPGEgaHJlZj0iI3htbFBhcnNlRG9jdW1lbnQiPnhtbFBhcnNlRG9jdW1lbnQ8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk7Cit0eXBlZGVmIHZvaWQgPGEgaHJlZj0iI3NldERvY3VtZW50TG9jYXRvclNBWEZ1bmMiPnNldERvY3VtZW50TG9jYXRvclNBWEZ1bmM8L2E+CSh2b2lkICogY3R4LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFNBWExvY2F0b3JQdHIiPnhtbFNBWExvY2F0b3JQdHI8L2E+IGxvYyk7Cit0eXBlZGVmIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEVudGl0eVB0ciI+eG1sRW50aXR5UHRyPC9hPiA8YSBocmVmPSIjZ2V0UGFyYW1ldGVyRW50aXR5U0FYRnVuYyI+Z2V0UGFyYW1ldGVyRW50aXR5U0FYRnVuYzwvYT4JKHZvaWQgKiBjdHgsIDxici8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKTsKK3R5cGVkZWYgdm9pZCA8YSBocmVmPSIjaWdub3JhYmxlV2hpdGVzcGFjZVNBWEZ1bmMiPmlnbm9yYWJsZVdoaXRlc3BhY2VTQVhGdW5jPC9hPgkodm9pZCAqIGN0eCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY2gsIDxici8+CQkJCQkgaW50IGxlbik7Cit2b2lkCTxhIGhyZWY9IiN4bWxJbml0Tm9kZUluZm9TZXEiPnhtbEluaXROb2RlSW5mb1NlcTwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXBhcnNlci5odG1sI3htbFBhcnNlck5vZGVJbmZvU2VxUHRyIj54bWxQYXJzZXJOb2RlSW5mb1NlcVB0cjwvYT4gc2VxKTsKK2ludAk8YSBocmVmPSIjeG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdCI+eG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdDwvYT4JKGludCB2YWwpOwordHlwZWRlZiB2b2lkIDxhIGhyZWY9IiNlbmRFbGVtZW50U0FYRnVuYyI+ZW5kRWxlbWVudFNBWEZ1bmM8L2E+CQkodm9pZCAqIGN0eCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSk7Cit1bnNpZ25lZCBsb25nCTxhIGhyZWY9IiN4bWxQYXJzZXJGaW5kTm9kZUluZm9JbmRleCI+eG1sUGFyc2VyRmluZE5vZGVJbmZvSW5kZXg8L2E+CShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXBhcnNlci5odG1sI3htbFBhcnNlck5vZGVJbmZvU2VxUHRyIj54bWxQYXJzZXJOb2RlSW5mb1NlcVB0cjwvYT4gc2VxLCA8YnIvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlKTsKK2xvbmcJPGEgaHJlZj0iI3htbEJ5dGVDb25zdW1lZCI+eG1sQnl0ZUNvbnN1bWVkPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTsKK3ZvaWQJPGEgaHJlZj0iI3htbEN0eHRSZXNldCI+eG1sQ3R4dFJlc2V0PC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTsKK2ludAk8YSBocmVmPSIjeG1sU2V0RmVhdHVyZSI+eG1sU2V0RmVhdHVyZTwvYT4JCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogbmFtZSwgPGJyLz4JCQkJCSB2b2lkICogdmFsdWUpOworaW50CTxhIGhyZWY9IiN4bWxLZWVwQmxhbmtzRGVmYXVsdCI+eG1sS2VlcEJsYW5rc0RlZmF1bHQ8L2E+CQkoaW50IHZhbCk7CitpbnQJPGEgaHJlZj0iI3htbFBhcnNlcklucHV0UmVhZCI+eG1sUGFyc2VySW5wdXRSZWFkPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlcklucHV0UHRyIj54bWxQYXJzZXJJbnB1dFB0cjwvYT4gaW4sIDxici8+CQkJCQkgaW50IGxlbik7Cis8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4JPGEgaHJlZj0iI3htbFJlYWRGaWxlIj54bWxSZWFkRmlsZTwvYT4JCShjb25zdCBjaGFyICogZmlsZW5hbWUsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nLCA8YnIvPgkJCQkJIGludCBvcHRpb25zKTsKK2ludAk8YSBocmVmPSIjeG1sR2V0RmVhdHVyZXNMaXN0Ij54bWxHZXRGZWF0dXJlc0xpc3Q8L2E+CQkoaW50ICogbGVuLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiogcmVzdWx0KTsKK2ludAk8YSBocmVmPSIjeG1sSGFzRmVhdHVyZSI+eG1sSGFzRmVhdHVyZTwvYT4JCQkoPGEgaHJlZj0ibGlieG1sMi1wYXJzZXIuaHRtbCN4bWxGZWF0dXJlIj54bWxGZWF0dXJlPC9hPiBmZWF0dXJlKTsKK3R5cGVkZWYgdm9pZCA8YSBocmVmPSIjdW5wYXJzZWRFbnRpdHlEZWNsU0FYRnVuYyI+dW5wYXJzZWRFbnRpdHlEZWNsU0FYRnVuYzwvYT4JKHZvaWQgKiBjdHgsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHB1YmxpY0lkLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzeXN0ZW1JZCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbm90YXRpb25OYW1lKTsKK2ludAk8YSBocmVmPSIjeG1sU0FYVXNlclBhcnNlRmlsZSI+eG1sU0FYVXNlclBhcnNlRmlsZTwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxTQVhIYW5kbGVyUHRyIj54bWxTQVhIYW5kbGVyUHRyPC9hPiBzYXgsIDxici8+CQkJCQkgdm9pZCAqIHVzZXJfZGF0YSwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZmlsZW5hbWUpOwordHlwZWRlZiB2b2lkIDxhIGhyZWY9IiNmYXRhbEVycm9yU0FYRnVuYyI+ZmF0YWxFcnJvclNBWEZ1bmM8L2E+CQkodm9pZCAqIGN0eCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogbXNnLCA8YnIvPgkJCQkJIC4uLiAuLi4pOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRHRkUHRyIj54bWxEdGRQdHI8L2E+CTxhIGhyZWY9IiN4bWxTQVhQYXJzZURURCI+eG1sU0FYUGFyc2VEVEQ8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sU0FYSGFuZGxlclB0ciI+eG1sU0FYSGFuZGxlclB0cjwvYT4gc2F4LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBFeHRlcm5hbElELCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBTeXN0ZW1JRCk7Citjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXBhcnNlci5odG1sI3htbFBhcnNlck5vZGVJbmZvIj54bWxQYXJzZXJOb2RlSW5mbzwvYT4gKgk8YSBocmVmPSIjeG1sUGFyc2VyRmluZE5vZGVJbmZvIj54bWxQYXJzZXJGaW5kTm9kZUluZm88L2E+CShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHgsIDxici8+CQkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlKTsKK3R5cGVkZWYgdm9pZCA8YSBocmVmPSIjZW50aXR5RGVjbFNBWEZ1bmMiPmVudGl0eURlY2xTQVhGdW5jPC9hPgkJKHZvaWQgKiBjdHgsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgaW50IHR5cGUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHB1YmxpY0lkLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzeXN0ZW1JZCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY29udGVudCk7Cis8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dFB0ciI+eG1sUGFyc2VySW5wdXRQdHI8L2E+CTxhIGhyZWY9IiN4bWxMb2FkRXh0ZXJuYWxFbnRpdHkiPnhtbExvYWRFeHRlcm5hbEVudGl0eTwvYT4JKGNvbnN0IGNoYXIgKiBVUkwsIDxici8+CQkJCQkJIGNvbnN0IGNoYXIgKiBJRCwgPGJyLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk7Cit2b2lkCTxhIGhyZWY9IiN4bWxTdG9wUGFyc2VyIj54bWxTdG9wUGFyc2VyPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTsKKzxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPgk8YSBocmVmPSIjeG1sUmVhZEZkIj54bWxSZWFkRmQ8L2E+CQkoaW50IGZkLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBVUkwsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nLCA8YnIvPgkJCQkJIGludCBvcHRpb25zKTsKK2ludAk8YSBocmVmPSIjeG1sUGFyc2VFeHRQYXJzZWRFbnQiPnhtbFBhcnNlRXh0UGFyc2VkRW50PC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+CTxhIGhyZWY9IiN4bWxSZWFkSU8iPnhtbFJlYWRJTzwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXhtbElPLmh0bWwjeG1sSW5wdXRSZWFkQ2FsbGJhY2siPnhtbElucHV0UmVhZENhbGxiYWNrPC9hPiBpb3JlYWQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxJTy5odG1sI3htbElucHV0Q2xvc2VDYWxsYmFjayI+eG1sSW5wdXRDbG9zZUNhbGxiYWNrPC9hPiBpb2Nsb3NlLCA8YnIvPgkJCQkJIHZvaWQgKiBpb2N0eCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogVVJMLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyLz4JCQkJCSBpbnQgb3B0aW9ucyk7Cis8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4JPGEgaHJlZj0iI3htbFJlYWREb2MiPnhtbFJlYWREb2M8L2E+CQkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGN1ciwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogVVJMLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyLz4JCQkJCSBpbnQgb3B0aW9ucyk7CitpbnQJPGEgaHJlZj0iI3htbFNBWFVzZXJQYXJzZU1lbW9yeSI+eG1sU0FYVXNlclBhcnNlTWVtb3J5PC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFNBWEhhbmRsZXJQdHIiPnhtbFNBWEhhbmRsZXJQdHI8L2E+IHNheCwgPGJyLz4JCQkJCSB2b2lkICogdXNlcl9kYXRhLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBidWZmZXIsIDxici8+CQkJCQkgaW50IHNpemUpOworaW50CTxhIGhyZWY9IiN4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnkiPnhtbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeTwvYT4JKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sU0FYSGFuZGxlclB0ciI+eG1sU0FYSGFuZGxlclB0cjwvYT4gc2F4LCA8YnIvPgkJCQkJIHZvaWQgKiB1c2VyX2RhdGEsIDxici8+CQkJCQkgaW50IGRlcHRoLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzdHJpbmcsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gKiBsc3QpOwordHlwZWRlZiB2b2lkIDxhIGhyZWY9IiNlbmRFbGVtZW50TnNTQVgyRnVuYyI+ZW5kRWxlbWVudE5zU0FYMkZ1bmM8L2E+CQkodm9pZCAqIGN0eCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbG9jYWxuYW1lLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwcmVmaXgsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIFVSSSk7Cit2b2lkCTxhIGhyZWY9IiN4bWxDbGVhbnVwUGFyc2VyIj54bWxDbGVhbnVwUGFyc2VyPC9hPgkJKHZvaWQpOworaW50CTxhIGhyZWY9IiN4bWxDdHh0UmVzZXRQdXNoIj54bWxDdHh0UmVzZXRQdXNoPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGNodW5rLCA8YnIvPgkJCQkJIGludCBzaXplLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBmaWxlbmFtZSwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcpOwordHlwZWRlZiBpbnQgPGEgaHJlZj0iI2lzU3RhbmRhbG9uZVNBWEZ1bmMiPmlzU3RhbmRhbG9uZVNBWEZ1bmM8L2E+CQkodm9pZCAqIGN0eCk7Cit0eXBlZGVmIHZvaWQgPGEgaHJlZj0iI3N0YXJ0RG9jdW1lbnRTQVhGdW5jIj5zdGFydERvY3VtZW50U0FYRnVuYzwvYT4JCSh2b2lkICogY3R4KTsKK3ZvaWQJPGEgaHJlZj0iI3htbENsZWFyUGFyc2VyQ3R4dCI+eG1sQ2xlYXJQYXJzZXJDdHh0PC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpOworaW50CTxhIGhyZWY9IiN4bWxQYXJzZUV4dGVybmFsRW50aXR5Ij54bWxQYXJzZUV4dGVybmFsRW50aXR5PC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sU0FYSGFuZGxlclB0ciI+eG1sU0FYSGFuZGxlclB0cjwvYT4gc2F4LCA8YnIvPgkJCQkJIHZvaWQgKiB1c2VyX2RhdGEsIDxici8+CQkJCQkgaW50IGRlcHRoLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBVUkwsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIElELCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+ICogbHN0KTsKK3R5cGVkZWYgdm9pZCA8YSBocmVmPSIjbm90YXRpb25EZWNsU0FYRnVuYyI+bm90YXRpb25EZWNsU0FYRnVuYzwvYT4JCSh2b2lkICogY3R4LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwdWJsaWNJZCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3lzdGVtSWQpOwordHlwZWRlZiB2b2lkIDxhIGhyZWY9IiN3YXJuaW5nU0FYRnVuYyI+d2FybmluZ1NBWEZ1bmM8L2E+CQkJKHZvaWQgKiBjdHgsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIG1zZywgPGJyLz4JCQkJCSAuLi4gLi4uKTsKK3ZvaWQJPGEgaHJlZj0iI3htbFNldEV4dGVybmFsRW50aXR5TG9hZGVyIj54bWxTZXRFeHRlcm5hbEVudGl0eUxvYWRlcjwvYT4JKDxhIGhyZWY9ImxpYnhtbDItcGFyc2VyLmh0bWwjeG1sRXh0ZXJuYWxFbnRpdHlMb2FkZXIiPnhtbEV4dGVybmFsRW50aXR5TG9hZGVyPC9hPiBmKTsKKzwvcHJlPgorICAgIDwvZGl2PgorICAgIDxkaXYgY2xhc3M9InJlZnNlY3QxIiBsYW5nPSJlbiI+CisgICAgICA8aDI+RGVzY3JpcHRpb248L2gyPgorICAgIDwvZGl2PgorICAgIDxkaXYgY2xhc3M9InJlZnNlY3QxIiBsYW5nPSJlbiI+CisgICAgICA8aDI+RGV0YWlsczwvaDI+CisgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJYTUxfQ09NUExFVEVfQVRUUlMiPk1hY3JvIDwvYT5YTUxfQ09NUExFVEVfQVRUUlM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfQ09NUExFVEVfQVRUUlMiPlhNTF9DT01QTEVURV9BVFRSUzwvYT47Cis8L3ByZT48cD5CaXQgaW4gdGhlIGxvYWRzdWJzZXQgY29udGV4dCBmaWVsZCB0byB0ZWxsIHRvIGRvIGNvbXBsZXRlIHRoZSBlbGVtZW50cyBhdHRyaWJ1dGVzIGxpc3RzIHdpdGggdGhlIG9uZXMgZGVmYXVsdGVkIGZyb20gdGhlIERURHMuIFVzZSBpdCB0byBpbml0aWFsaXplIHhtbExvYWRFeHREdGREZWZhdWx0VmFsdWUuPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IlhNTF9ERUZBVUxUX1ZFUlNJT04iPk1hY3JvIDwvYT5YTUxfREVGQVVMVF9WRVJTSU9OPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX0RFRkFVTFRfVkVSU0lPTiI+WE1MX0RFRkFVTFRfVkVSU0lPTjwvYT47Cis8L3ByZT48cD5UaGUgZGVmYXVsdCB2ZXJzaW9uIG9mIFhNTCB1c2VkOiAxLjA8L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iWE1MX0RFVEVDVF9JRFMiPk1hY3JvIDwvYT5YTUxfREVURUNUX0lEUzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9ERVRFQ1RfSURTIj5YTUxfREVURUNUX0lEUzwvYT47Cis8L3ByZT48cD5CaXQgaW4gdGhlIGxvYWRzdWJzZXQgY29udGV4dCBmaWVsZCB0byB0ZWxsIHRvIGRvIElEL1JFRnMgbG9va3Vwcy4gVXNlIGl0IHRvIGluaXRpYWxpemUgeG1sTG9hZEV4dER0ZERlZmF1bHRWYWx1ZS48L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iWE1MX1NBWDJfTUFHSUMiPk1hY3JvIDwvYT5YTUxfU0FYMl9NQUdJQzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQVgyX01BR0lDIj5YTUxfU0FYMl9NQUdJQzwvYT47Cis8L3ByZT48cD5TcGVjaWFsIGNvbnN0YW50IGZvdW5kIGluIFNBWDIgYmxvY2tzIGluaXRpYWxpemVkIGZpZWxkczwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJYTUxfU0tJUF9JRFMiPk1hY3JvIDwvYT5YTUxfU0tJUF9JRFM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0tJUF9JRFMiPlhNTF9TS0lQX0lEUzwvYT47Cis8L3ByZT48cD5CaXQgaW4gdGhlIGxvYWRzdWJzZXQgY29udGV4dCBmaWVsZCB0byB0ZWxsIHRvIG5vdCBkbyBJRC9SRUZzIHJlZ2lzdHJhdGlvbi4gVXNlZCB0byBpbml0aWFsaXplIDxhIGhyZWY9ImxpYnhtbDItZ2xvYmFscy5odG1sI3htbExvYWRFeHREdGREZWZhdWx0VmFsdWUiPnhtbExvYWRFeHREdGREZWZhdWx0VmFsdWU8L2E+IGluIHNvbWUgc3BlY2lhbCBjYXNlcy48L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sRmVhdHVyZSI+RW51bSA8L2E+eG1sRmVhdHVyZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmVudW0gPGEgaHJlZj0iI3htbEZlYXR1cmUiPnhtbEZlYXR1cmU8L2E+IHsKKyAgICA8YSBuYW1lPSJYTUxfV0lUSF9USFJFQUQiPlhNTF9XSVRIX1RIUkVBRDwvYT4gPSAxCisgICAgPGEgbmFtZT0iWE1MX1dJVEhfVFJFRSI+WE1MX1dJVEhfVFJFRTwvYT4gPSAyCisgICAgPGEgbmFtZT0iWE1MX1dJVEhfT1VUUFVUIj5YTUxfV0lUSF9PVVRQVVQ8L2E+ID0gMworICAgIDxhIG5hbWU9IlhNTF9XSVRIX1BVU0giPlhNTF9XSVRIX1BVU0g8L2E+ID0gNAorICAgIDxhIG5hbWU9IlhNTF9XSVRIX1JFQURFUiI+WE1MX1dJVEhfUkVBREVSPC9hPiA9IDUKKyAgICA8YSBuYW1lPSJYTUxfV0lUSF9QQVRURVJOIj5YTUxfV0lUSF9QQVRURVJOPC9hPiA9IDYKKyAgICA8YSBuYW1lPSJYTUxfV0lUSF9XUklURVIiPlhNTF9XSVRIX1dSSVRFUjwvYT4gPSA3CisgICAgPGEgbmFtZT0iWE1MX1dJVEhfU0FYMSI+WE1MX1dJVEhfU0FYMTwvYT4gPSA4CisgICAgPGEgbmFtZT0iWE1MX1dJVEhfRlRQIj5YTUxfV0lUSF9GVFA8L2E+ID0gOQorICAgIDxhIG5hbWU9IlhNTF9XSVRIX0hUVFAiPlhNTF9XSVRIX0hUVFA8L2E+ID0gMTAKKyAgICA8YSBuYW1lPSJYTUxfV0lUSF9WQUxJRCI+WE1MX1dJVEhfVkFMSUQ8L2E+ID0gMTEKKyAgICA8YSBuYW1lPSJYTUxfV0lUSF9IVE1MIj5YTUxfV0lUSF9IVE1MPC9hPiA9IDEyCisgICAgPGEgbmFtZT0iWE1MX1dJVEhfTEVHQUNZIj5YTUxfV0lUSF9MRUdBQ1k8L2E+ID0gMTMKKyAgICA8YSBuYW1lPSJYTUxfV0lUSF9DMTROIj5YTUxfV0lUSF9DMTROPC9hPiA9IDE0CisgICAgPGEgbmFtZT0iWE1MX1dJVEhfQ0FUQUxPRyI+WE1MX1dJVEhfQ0FUQUxPRzwvYT4gPSAxNQorICAgIDxhIG5hbWU9IlhNTF9XSVRIX1hQQVRIIj5YTUxfV0lUSF9YUEFUSDwvYT4gPSAxNgorICAgIDxhIG5hbWU9IlhNTF9XSVRIX1hQVFIiPlhNTF9XSVRIX1hQVFI8L2E+ID0gMTcKKyAgICA8YSBuYW1lPSJYTUxfV0lUSF9YSU5DTFVERSI+WE1MX1dJVEhfWElOQ0xVREU8L2E+ID0gMTgKKyAgICA8YSBuYW1lPSJYTUxfV0lUSF9JQ09OViI+WE1MX1dJVEhfSUNPTlY8L2E+ID0gMTkKKyAgICA8YSBuYW1lPSJYTUxfV0lUSF9JU084ODU5WCI+WE1MX1dJVEhfSVNPODg1OVg8L2E+ID0gMjAKKyAgICA8YSBuYW1lPSJYTUxfV0lUSF9VTklDT0RFIj5YTUxfV0lUSF9VTklDT0RFPC9hPiA9IDIxCisgICAgPGEgbmFtZT0iWE1MX1dJVEhfUkVHRVhQIj5YTUxfV0lUSF9SRUdFWFA8L2E+ID0gMjIKKyAgICA8YSBuYW1lPSJYTUxfV0lUSF9BVVRPTUFUQSI+WE1MX1dJVEhfQVVUT01BVEE8L2E+ID0gMjMKKyAgICA8YSBuYW1lPSJYTUxfV0lUSF9FWFBSIj5YTUxfV0lUSF9FWFBSPC9hPiA9IDI0CisgICAgPGEgbmFtZT0iWE1MX1dJVEhfU0NIRU1BUyI+WE1MX1dJVEhfU0NIRU1BUzwvYT4gPSAyNQorICAgIDxhIG5hbWU9IlhNTF9XSVRIX1NDSEVNQVRST04iPlhNTF9XSVRIX1NDSEVNQVRST048L2E+ID0gMjYKKyAgICA8YSBuYW1lPSJYTUxfV0lUSF9NT0RVTEVTIj5YTUxfV0lUSF9NT0RVTEVTPC9hPiA9IDI3CisgICAgPGEgbmFtZT0iWE1MX1dJVEhfREVCVUciPlhNTF9XSVRIX0RFQlVHPC9hPiA9IDI4CisgICAgPGEgbmFtZT0iWE1MX1dJVEhfREVCVUdfTUVNIj5YTUxfV0lUSF9ERUJVR19NRU08L2E+ID0gMjkKKyAgICA8YSBuYW1lPSJYTUxfV0lUSF9ERUJVR19SVU4iPlhNTF9XSVRIX0RFQlVHX1JVTjwvYT4gPSAzMAorICAgIDxhIG5hbWU9IlhNTF9XSVRIX1pMSUIiPlhNTF9XSVRIX1pMSUI8L2E+ID0gMzEKKyAgICA8YSBuYW1lPSJYTUxfV0lUSF9JQ1UiPlhNTF9XSVRIX0lDVTwvYT4gPSAzMgorICAgIDxhIG5hbWU9IlhNTF9XSVRIX0xaTUEiPlhNTF9XSVRIX0xaTUE8L2E+ID0gMzMKKyAgICA8YSBuYW1lPSJYTUxfV0lUSF9OT05FIj5YTUxfV0lUSF9OT05FPC9hPiA9IDk5OTk5IC8qICBqdXN0IHRvIGJlIHN1cmUgb2YgYWxsb2NhdGlvbiBzaXplICovCit9OworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFBhcnNlcklucHV0U3RhdGUiPkVudW0gPC9hPnhtbFBhcnNlcklucHV0U3RhdGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5lbnVtIDxhIGhyZWY9IiN4bWxQYXJzZXJJbnB1dFN0YXRlIj54bWxQYXJzZXJJbnB1dFN0YXRlPC9hPiB7CisgICAgPGEgbmFtZT0iWE1MX1BBUlNFUl9FT0YiPlhNTF9QQVJTRVJfRU9GPC9hPiA9IC0xIC8qIG5vdGhpbmcgaXMgdG8gYmUgcGFyc2VkICovCisgICAgPGEgbmFtZT0iWE1MX1BBUlNFUl9TVEFSVCI+WE1MX1BBUlNFUl9TVEFSVDwvYT4gPSAwIC8qIG5vdGhpbmcgaGFzIGJlZW4gcGFyc2VkICovCisgICAgPGEgbmFtZT0iWE1MX1BBUlNFUl9NSVNDIj5YTUxfUEFSU0VSX01JU0M8L2E+ID0gMSAvKiBNaXNjKiBiZWZvcmUgaW50IHN1YnNldCAqLworICAgIDxhIG5hbWU9IlhNTF9QQVJTRVJfUEkiPlhNTF9QQVJTRVJfUEk8L2E+ID0gMiAvKiBXaXRoaW4gYSBwcm9jZXNzaW5nIGluc3RydWN0aW9uICovCisgICAgPGEgbmFtZT0iWE1MX1BBUlNFUl9EVEQiPlhNTF9QQVJTRVJfRFREPC9hPiA9IDMgLyogd2l0aGluIHNvbWUgRFREIGNvbnRlbnQgKi8KKyAgICA8YSBuYW1lPSJYTUxfUEFSU0VSX1BST0xPRyI+WE1MX1BBUlNFUl9QUk9MT0c8L2E+ID0gNCAvKiBNaXNjKiBhZnRlciBpbnRlcm5hbCBzdWJzZXQgKi8KKyAgICA8YSBuYW1lPSJYTUxfUEFSU0VSX0NPTU1FTlQiPlhNTF9QQVJTRVJfQ09NTUVOVDwvYT4gPSA1IC8qIHdpdGhpbiBhIGNvbW1lbnQgKi8KKyAgICA8YSBuYW1lPSJYTUxfUEFSU0VSX1NUQVJUX1RBRyI+WE1MX1BBUlNFUl9TVEFSVF9UQUc8L2E+ID0gNiAvKiB3aXRoaW4gYSBzdGFydCB0YWcgKi8KKyAgICA8YSBuYW1lPSJYTUxfUEFSU0VSX0NPTlRFTlQiPlhNTF9QQVJTRVJfQ09OVEVOVDwvYT4gPSA3IC8qIHdpdGhpbiB0aGUgY29udGVudCAqLworICAgIDxhIG5hbWU9IlhNTF9QQVJTRVJfQ0RBVEFfU0VDVElPTiI+WE1MX1BBUlNFUl9DREFUQV9TRUNUSU9OPC9hPiA9IDggLyogd2l0aGluIGEgQ0RBVEEgc2VjdGlvbiAqLworICAgIDxhIG5hbWU9IlhNTF9QQVJTRVJfRU5EX1RBRyI+WE1MX1BBUlNFUl9FTkRfVEFHPC9hPiA9IDkgLyogd2l0aGluIGEgY2xvc2luZyB0YWcgKi8KKyAgICA8YSBuYW1lPSJYTUxfUEFSU0VSX0VOVElUWV9ERUNMIj5YTUxfUEFSU0VSX0VOVElUWV9ERUNMPC9hPiA9IDEwIC8qIHdpdGhpbiBhbiBlbnRpdHkgZGVjbGFyYXRpb24gKi8KKyAgICA8YSBuYW1lPSJYTUxfUEFSU0VSX0VOVElUWV9WQUxVRSI+WE1MX1BBUlNFUl9FTlRJVFlfVkFMVUU8L2E+ID0gMTEgLyogd2l0aGluIGFuIGVudGl0eSB2YWx1ZSBpbiBhIGRlY2wgKi8KKyAgICA8YSBuYW1lPSJYTUxfUEFSU0VSX0FUVFJJQlVURV9WQUxVRSI+WE1MX1BBUlNFUl9BVFRSSUJVVEVfVkFMVUU8L2E+ID0gMTIgLyogd2l0aGluIGFuIGF0dHJpYnV0ZSB2YWx1ZSAqLworICAgIDxhIG5hbWU9IlhNTF9QQVJTRVJfU1lTVEVNX0xJVEVSQUwiPlhNTF9QQVJTRVJfU1lTVEVNX0xJVEVSQUw8L2E+ID0gMTMgLyogd2l0aGluIGEgU1lTVEVNIHZhbHVlICovCisgICAgPGEgbmFtZT0iWE1MX1BBUlNFUl9FUElMT0ciPlhNTF9QQVJTRVJfRVBJTE9HPC9hPiA9IDE0IC8qIHRoZSBNaXNjKiBhZnRlciB0aGUgbGFzdCBlbmQgdGFnICovCisgICAgPGEgbmFtZT0iWE1MX1BBUlNFUl9JR05PUkUiPlhNTF9QQVJTRVJfSUdOT1JFPC9hPiA9IDE1IC8qIHdpdGhpbiBhbiBJR05PUkVEIHNlY3Rpb24gKi8KKyAgICA8YSBuYW1lPSJYTUxfUEFSU0VSX1BVQkxJQ19MSVRFUkFMIj5YTUxfUEFSU0VSX1BVQkxJQ19MSVRFUkFMPC9hPiA9IDE2IC8qICB3aXRoaW4gYSBQVUJMSUMgdmFsdWUgKi8KK307Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUGFyc2VyTW9kZSI+RW51bSA8L2E+eG1sUGFyc2VyTW9kZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmVudW0gPGEgaHJlZj0iI3htbFBhcnNlck1vZGUiPnhtbFBhcnNlck1vZGU8L2E+IHsKKyAgICA8YSBuYW1lPSJYTUxfUEFSU0VfVU5LTk9XTiI+WE1MX1BBUlNFX1VOS05PV048L2E+ID0gMAorICAgIDxhIG5hbWU9IlhNTF9QQVJTRV9ET00iPlhNTF9QQVJTRV9ET008L2E+ID0gMQorICAgIDxhIG5hbWU9IlhNTF9QQVJTRV9TQVgiPlhNTF9QQVJTRV9TQVg8L2E+ID0gMgorICAgIDxhIG5hbWU9IlhNTF9QQVJTRV9QVVNIX0RPTSI+WE1MX1BBUlNFX1BVU0hfRE9NPC9hPiA9IDMKKyAgICA8YSBuYW1lPSJYTUxfUEFSU0VfUFVTSF9TQVgiPlhNTF9QQVJTRV9QVVNIX1NBWDwvYT4gPSA0CisgICAgPGEgbmFtZT0iWE1MX1BBUlNFX1JFQURFUiI+WE1MX1BBUlNFX1JFQURFUjwvYT4gPSA1Cit9OworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFBhcnNlck5vZGVJbmZvIj5TdHJ1Y3R1cmUgPC9hPnhtbFBhcnNlck5vZGVJbmZvPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+c3RydWN0IF94bWxQYXJzZXJOb2RlSW5mbyB7CisgICAgY29uc3Qgc3RydWN0IF94bWxOb2RlICoJbm9kZQk6IFBvc2l0aW9uICZhbXA7IGxpbmUgIyB0aGF0IHRleHQgdGhhdCBjcmVhdGVkIHRoZSBub2RlIGJlZ2lucyAmYW1wOyBlbmRzIG9uCisgICAgdW5zaWduZWQgbG9uZwliZWdpbl9wb3MKKyAgICB1bnNpZ25lZCBsb25nCWJlZ2luX2xpbmUKKyAgICB1bnNpZ25lZCBsb25nCWVuZF9wb3MKKyAgICB1bnNpZ25lZCBsb25nCWVuZF9saW5lCit9IHhtbFBhcnNlck5vZGVJbmZvOworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFBhcnNlck5vZGVJbmZvUHRyIj5UeXBlZGVmIDwvYT54bWxQYXJzZXJOb2RlSW5mb1B0cjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItcGFyc2VyLmh0bWwjeG1sUGFyc2VyTm9kZUluZm8iPnhtbFBhcnNlck5vZGVJbmZvPC9hPiAqIHhtbFBhcnNlck5vZGVJbmZvUHRyOworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFBhcnNlck5vZGVJbmZvU2VxIj5TdHJ1Y3R1cmUgPC9hPnhtbFBhcnNlck5vZGVJbmZvU2VxPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+c3RydWN0IF94bWxQYXJzZXJOb2RlSW5mb1NlcSB7CisgICAgdW5zaWduZWQgbG9uZwltYXhpbXVtCisgICAgdW5zaWduZWQgbG9uZwlsZW5ndGgKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXBhcnNlci5odG1sI3htbFBhcnNlck5vZGVJbmZvIj54bWxQYXJzZXJOb2RlSW5mbzwvYT4gKglidWZmZXIKK30geG1sUGFyc2VyTm9kZUluZm9TZXE7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUGFyc2VyTm9kZUluZm9TZXFQdHIiPlR5cGVkZWYgPC9hPnhtbFBhcnNlck5vZGVJbmZvU2VxUHRyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi1wYXJzZXIuaHRtbCN4bWxQYXJzZXJOb2RlSW5mb1NlcSI+eG1sUGFyc2VyTm9kZUluZm9TZXE8L2E+ICogeG1sUGFyc2VyTm9kZUluZm9TZXFQdHI7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUGFyc2VyT3B0aW9uIj5FbnVtIDwvYT54bWxQYXJzZXJPcHRpb248L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5lbnVtIDxhIGhyZWY9IiN4bWxQYXJzZXJPcHRpb24iPnhtbFBhcnNlck9wdGlvbjwvYT4geworICAgIDxhIG5hbWU9IlhNTF9QQVJTRV9SRUNPVkVSIj5YTUxfUEFSU0VfUkVDT1ZFUjwvYT4gPSAxIC8qIHJlY292ZXIgb24gZXJyb3JzICovCisgICAgPGEgbmFtZT0iWE1MX1BBUlNFX05PRU5UIj5YTUxfUEFSU0VfTk9FTlQ8L2E+ID0gMiAvKiBzdWJzdGl0dXRlIGVudGl0aWVzICovCisgICAgPGEgbmFtZT0iWE1MX1BBUlNFX0RURExPQUQiPlhNTF9QQVJTRV9EVERMT0FEPC9hPiA9IDQgLyogbG9hZCB0aGUgZXh0ZXJuYWwgc3Vic2V0ICovCisgICAgPGEgbmFtZT0iWE1MX1BBUlNFX0RUREFUVFIiPlhNTF9QQVJTRV9EVERBVFRSPC9hPiA9IDggLyogZGVmYXVsdCBEVEQgYXR0cmlidXRlcyAqLworICAgIDxhIG5hbWU9IlhNTF9QQVJTRV9EVERWQUxJRCI+WE1MX1BBUlNFX0RURFZBTElEPC9hPiA9IDE2IC8qIHZhbGlkYXRlIHdpdGggdGhlIERURCAqLworICAgIDxhIG5hbWU9IlhNTF9QQVJTRV9OT0VSUk9SIj5YTUxfUEFSU0VfTk9FUlJPUjwvYT4gPSAzMiAvKiBzdXBwcmVzcyBlcnJvciByZXBvcnRzICovCisgICAgPGEgbmFtZT0iWE1MX1BBUlNFX05PV0FSTklORyI+WE1MX1BBUlNFX05PV0FSTklORzwvYT4gPSA2NCAvKiBzdXBwcmVzcyB3YXJuaW5nIHJlcG9ydHMgKi8KKyAgICA8YSBuYW1lPSJYTUxfUEFSU0VfUEVEQU5USUMiPlhNTF9QQVJTRV9QRURBTlRJQzwvYT4gPSAxMjggLyogcGVkYW50aWMgZXJyb3IgcmVwb3J0aW5nICovCisgICAgPGEgbmFtZT0iWE1MX1BBUlNFX05PQkxBTktTIj5YTUxfUEFSU0VfTk9CTEFOS1M8L2E+ID0gMjU2IC8qIHJlbW92ZSBibGFuayBub2RlcyAqLworICAgIDxhIG5hbWU9IlhNTF9QQVJTRV9TQVgxIj5YTUxfUEFSU0VfU0FYMTwvYT4gPSA1MTIgLyogdXNlIHRoZSBTQVgxIGludGVyZmFjZSBpbnRlcm5hbGx5ICovCisgICAgPGEgbmFtZT0iWE1MX1BBUlNFX1hJTkNMVURFIj5YTUxfUEFSU0VfWElOQ0xVREU8L2E+ID0gMTAyNCAvKiBJbXBsZW1lbnQgWEluY2x1ZGUgc3Vic3RpdGl0aW9uICovCisgICAgPGEgbmFtZT0iWE1MX1BBUlNFX05PTkVUIj5YTUxfUEFSU0VfTk9ORVQ8L2E+ID0gMjA0OCAvKiBGb3JiaWQgbmV0d29yayBhY2Nlc3MgKi8KKyAgICA8YSBuYW1lPSJYTUxfUEFSU0VfTk9ESUNUIj5YTUxfUEFSU0VfTk9ESUNUPC9hPiA9IDQwOTYgLyogRG8gbm90IHJldXNlIHRoZSBjb250ZXh0IGRpY3Rpb25uYXJ5ICovCisgICAgPGEgbmFtZT0iWE1MX1BBUlNFX05TQ0xFQU4iPlhNTF9QQVJTRV9OU0NMRUFOPC9hPiA9IDgxOTIgLyogcmVtb3ZlIHJlZHVuZGFudCBuYW1lc3BhY2VzIGRlY2xhcmF0aW9ucyAqLworICAgIDxhIG5hbWU9IlhNTF9QQVJTRV9OT0NEQVRBIj5YTUxfUEFSU0VfTk9DREFUQTwvYT4gPSAxNjM4NCAvKiBtZXJnZSBDREFUQSBhcyB0ZXh0IG5vZGVzICovCisgICAgPGEgbmFtZT0iWE1MX1BBUlNFX05PWElOQ05PREUiPlhNTF9QQVJTRV9OT1hJTkNOT0RFPC9hPiA9IDMyNzY4IC8qIGRvIG5vdCBnZW5lcmF0ZSBYSU5DTFVERSBTVEFSVC9FTkQgbm9kZXMgKi8KKyAgICA8YSBuYW1lPSJYTUxfUEFSU0VfQ09NUEFDVCI+WE1MX1BBUlNFX0NPTVBBQ1Q8L2E+ID0gNjU1MzYgLyogY29tcGFjdCBzbWFsbCB0ZXh0IG5vZGVzOyBubyBtb2RpZmljYXRpb24gb2YgdGhlIHRyZWUgYWxsb3dlZCBhZnRlcndhcmRzICh3aWxsIHBvc3NpYmx5IGNyYXNoIGlmIHlvdSB0cnkgdG8gbW9kaWZ5IHRoZSB0cmVlKSAqLworICAgIDxhIG5hbWU9IlhNTF9QQVJTRV9PTEQxMCI+WE1MX1BBUlNFX09MRDEwPC9hPiA9IDEzMTA3MiAvKiBwYXJzZSB1c2luZyBYTUwtMS4wIGJlZm9yZSB1cGRhdGUgNSAqLworICAgIDxhIG5hbWU9IlhNTF9QQVJTRV9OT0JBU0VGSVgiPlhNTF9QQVJTRV9OT0JBU0VGSVg8L2E+ID0gMjYyMTQ0IC8qIGRvIG5vdCBmaXh1cCBYSU5DTFVERSB4bWw6YmFzZSB1cmlzICovCisgICAgPGEgbmFtZT0iWE1MX1BBUlNFX0hVR0UiPlhNTF9QQVJTRV9IVUdFPC9hPiA9IDUyNDI4OCAvKiByZWxheCBhbnkgaGFyZGNvZGVkIGxpbWl0IGZyb20gdGhlIHBhcnNlciAqLworICAgIDxhIG5hbWU9IlhNTF9QQVJTRV9PTERTQVgiPlhNTF9QQVJTRV9PTERTQVg8L2E+ID0gMTA0ODU3NiAvKiBwYXJzZSB1c2luZyBTQVgyIGludGVyZmFjZSBiZWZvcmUgMi43LjAgKi8KKyAgICA8YSBuYW1lPSJYTUxfUEFSU0VfSUdOT1JFX0VOQyI+WE1MX1BBUlNFX0lHTk9SRV9FTkM8L2E+ID0gMjA5NzE1MiAvKiBpZ25vcmUgaW50ZXJuYWwgZG9jdW1lbnQgZW5jb2RpbmcgaGludCAqLworICAgIDxhIG5hbWU9IlhNTF9QQVJTRV9CSUdfTElORVMiPlhNTF9QQVJTRV9CSUdfTElORVM8L2E+ID0gNDE5NDMwNCAvKiAgU3RvcmUgYmlnIGxpbmVzIG51bWJlcnMgaW4gdGV4dCBQU1ZJIGZpZWxkICovCit9OworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNBWEhhbmRsZXJWMSI+U3RydWN0dXJlIDwvYT54bWxTQVhIYW5kbGVyVjE8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5zdHJ1Y3QgX3htbFNBWEhhbmRsZXJWMSB7CisgICAgPGEgaHJlZj0ibGlieG1sMi1wYXJzZXIuaHRtbCNpbnRlcm5hbFN1YnNldFNBWEZ1bmMiPmludGVybmFsU3Vic2V0U0FYRnVuYzwvYT4JaW50ZXJuYWxTdWJzZXQKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXBhcnNlci5odG1sI2lzU3RhbmRhbG9uZVNBWEZ1bmMiPmlzU3RhbmRhbG9uZVNBWEZ1bmM8L2E+CWlzU3RhbmRhbG9uZQorICAgIDxhIGhyZWY9ImxpYnhtbDItcGFyc2VyLmh0bWwjaGFzSW50ZXJuYWxTdWJzZXRTQVhGdW5jIj5oYXNJbnRlcm5hbFN1YnNldFNBWEZ1bmM8L2E+CWhhc0ludGVybmFsU3Vic2V0CisgICAgPGEgaHJlZj0ibGlieG1sMi1wYXJzZXIuaHRtbCNoYXNFeHRlcm5hbFN1YnNldFNBWEZ1bmMiPmhhc0V4dGVybmFsU3Vic2V0U0FYRnVuYzwvYT4JaGFzRXh0ZXJuYWxTdWJzZXQKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXBhcnNlci5odG1sI3Jlc29sdmVFbnRpdHlTQVhGdW5jIj5yZXNvbHZlRW50aXR5U0FYRnVuYzwvYT4JcmVzb2x2ZUVudGl0eQorICAgIDxhIGhyZWY9ImxpYnhtbDItcGFyc2VyLmh0bWwjZ2V0RW50aXR5U0FYRnVuYyI+Z2V0RW50aXR5U0FYRnVuYzwvYT4JZ2V0RW50aXR5CisgICAgPGEgaHJlZj0ibGlieG1sMi1wYXJzZXIuaHRtbCNlbnRpdHlEZWNsU0FYRnVuYyI+ZW50aXR5RGVjbFNBWEZ1bmM8L2E+CWVudGl0eURlY2wKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXBhcnNlci5odG1sI25vdGF0aW9uRGVjbFNBWEZ1bmMiPm5vdGF0aW9uRGVjbFNBWEZ1bmM8L2E+CW5vdGF0aW9uRGVjbAorICAgIDxhIGhyZWY9ImxpYnhtbDItcGFyc2VyLmh0bWwjYXR0cmlidXRlRGVjbFNBWEZ1bmMiPmF0dHJpYnV0ZURlY2xTQVhGdW5jPC9hPglhdHRyaWJ1dGVEZWNsCisgICAgPGEgaHJlZj0ibGlieG1sMi1wYXJzZXIuaHRtbCNlbGVtZW50RGVjbFNBWEZ1bmMiPmVsZW1lbnREZWNsU0FYRnVuYzwvYT4JZWxlbWVudERlY2wKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXBhcnNlci5odG1sI3VucGFyc2VkRW50aXR5RGVjbFNBWEZ1bmMiPnVucGFyc2VkRW50aXR5RGVjbFNBWEZ1bmM8L2E+CXVucGFyc2VkRW50aXR5RGVjbAorICAgIDxhIGhyZWY9ImxpYnhtbDItcGFyc2VyLmh0bWwjc2V0RG9jdW1lbnRMb2NhdG9yU0FYRnVuYyI+c2V0RG9jdW1lbnRMb2NhdG9yU0FYRnVuYzwvYT4Jc2V0RG9jdW1lbnRMb2NhdG9yCisgICAgPGEgaHJlZj0ibGlieG1sMi1wYXJzZXIuaHRtbCNzdGFydERvY3VtZW50U0FYRnVuYyI+c3RhcnREb2N1bWVudFNBWEZ1bmM8L2E+CXN0YXJ0RG9jdW1lbnQKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXBhcnNlci5odG1sI2VuZERvY3VtZW50U0FYRnVuYyI+ZW5kRG9jdW1lbnRTQVhGdW5jPC9hPgllbmREb2N1bWVudAorICAgIDxhIGhyZWY9ImxpYnhtbDItcGFyc2VyLmh0bWwjc3RhcnRFbGVtZW50U0FYRnVuYyI+c3RhcnRFbGVtZW50U0FYRnVuYzwvYT4Jc3RhcnRFbGVtZW50CisgICAgPGEgaHJlZj0ibGlieG1sMi1wYXJzZXIuaHRtbCNlbmRFbGVtZW50U0FYRnVuYyI+ZW5kRWxlbWVudFNBWEZ1bmM8L2E+CWVuZEVsZW1lbnQKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXBhcnNlci5odG1sI3JlZmVyZW5jZVNBWEZ1bmMiPnJlZmVyZW5jZVNBWEZ1bmM8L2E+CXJlZmVyZW5jZQorICAgIDxhIGhyZWY9ImxpYnhtbDItcGFyc2VyLmh0bWwjY2hhcmFjdGVyc1NBWEZ1bmMiPmNoYXJhY3RlcnNTQVhGdW5jPC9hPgljaGFyYWN0ZXJzCisgICAgPGEgaHJlZj0ibGlieG1sMi1wYXJzZXIuaHRtbCNpZ25vcmFibGVXaGl0ZXNwYWNlU0FYRnVuYyI+aWdub3JhYmxlV2hpdGVzcGFjZVNBWEZ1bmM8L2E+CWlnbm9yYWJsZVdoaXRlc3BhY2UKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXBhcnNlci5odG1sI3Byb2Nlc3NpbmdJbnN0cnVjdGlvblNBWEZ1bmMiPnByb2Nlc3NpbmdJbnN0cnVjdGlvblNBWEZ1bmM8L2E+CXByb2Nlc3NpbmdJbnN0cnVjdGlvbgorICAgIDxhIGhyZWY9ImxpYnhtbDItcGFyc2VyLmh0bWwjY29tbWVudFNBWEZ1bmMiPmNvbW1lbnRTQVhGdW5jPC9hPgljb21tZW50CisgICAgPGEgaHJlZj0ibGlieG1sMi1wYXJzZXIuaHRtbCN3YXJuaW5nU0FYRnVuYyI+d2FybmluZ1NBWEZ1bmM8L2E+CXdhcm5pbmcKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXBhcnNlci5odG1sI2Vycm9yU0FYRnVuYyI+ZXJyb3JTQVhGdW5jPC9hPgllcnJvcgorICAgIDxhIGhyZWY9ImxpYnhtbDItcGFyc2VyLmh0bWwjZmF0YWxFcnJvclNBWEZ1bmMiPmZhdGFsRXJyb3JTQVhGdW5jPC9hPglmYXRhbEVycm9yCTogdW51c2VkIGVycm9yKCkgZ2V0IGFsbCB0aGUgZXJyb3JzCisgICAgPGEgaHJlZj0ibGlieG1sMi1wYXJzZXIuaHRtbCNnZXRQYXJhbWV0ZXJFbnRpdHlTQVhGdW5jIj5nZXRQYXJhbWV0ZXJFbnRpdHlTQVhGdW5jPC9hPglnZXRQYXJhbWV0ZXJFbnRpdHkKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXBhcnNlci5odG1sI2NkYXRhQmxvY2tTQVhGdW5jIj5jZGF0YUJsb2NrU0FYRnVuYzwvYT4JY2RhdGFCbG9jaworICAgIDxhIGhyZWY9ImxpYnhtbDItcGFyc2VyLmh0bWwjZXh0ZXJuYWxTdWJzZXRTQVhGdW5jIj5leHRlcm5hbFN1YnNldFNBWEZ1bmM8L2E+CWV4dGVybmFsU3Vic2V0CisgICAgdW5zaWduZWQgaW50CWluaXRpYWxpemVkCit9IHhtbFNBWEhhbmRsZXJWMTsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTQVhIYW5kbGVyVjFQdHIiPlR5cGVkZWYgPC9hPnhtbFNBWEhhbmRsZXJWMVB0cjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItcGFyc2VyLmh0bWwjeG1sU0FYSGFuZGxlclYxIj54bWxTQVhIYW5kbGVyVjE8L2E+ICogeG1sU0FYSGFuZGxlclYxUHRyOworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9ImF0dHJpYnV0ZURlY2xTQVhGdW5jIi8+RnVuY3Rpb24gdHlwZSBhdHRyaWJ1dGVEZWNsU0FYRnVuYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJYXR0cmlidXRlRGVjbFNBWEZ1bmMJCSh2b2lkICogY3R4LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBlbGVtLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBmdWxsbmFtZSwgPGJyLz4JCQkJCSBpbnQgdHlwZSwgPGJyLz4JCQkJCSBpbnQgZGVmLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBkZWZhdWx0VmFsdWUsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRW51bWVyYXRpb25QdHIiPnhtbEVudW1lcmF0aW9uUHRyPC9hPiB0cmVlKTxici8+Cis8L3ByZT48cD5BbiA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBkZWZpbml0aW9uIGhhcyBiZWVuIHBhcnNlZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZWxlbTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5hbWUgb2YgdGhlIGVsZW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZ1bGxuYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dHlwZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IHR5cGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRlZjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHR5cGUgb2YgZGVmYXVsdCB2YWx1ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGVmYXVsdFZhbHVlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gZGVmYXVsdCB2YWx1ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dHJlZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHRyZWUgb2YgZW51bWVyYXRlZCB2YWx1ZSBzZXQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJhdHRyaWJ1dGVTQVhGdW5jIi8+RnVuY3Rpb24gdHlwZSBhdHRyaWJ1dGVTQVhGdW5jPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAlhdHRyaWJ1dGVTQVhGdW5jCQkodm9pZCAqIGN0eCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUpPGJyLz4KKzwvcHJlPjxwPkhhbmRsZSBhbiA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiB0aGF0IGhhcyBiZWVuIHJlYWQgYnkgdGhlIHBhcnNlci4gVGhlIGRlZmF1bHQgaGFuZGxpbmcgaXMgdG8gY29udmVydCB0aGUgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gaW50byBhbiBET00gc3VidHJlZSBhbmQgcGFzdCBpdCBpbiBhIG5ldyA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxBdHRyIj54bWxBdHRyPC9hPiBlbGVtZW50IGFkZGVkIHRvIHRoZSBlbGVtZW50LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5UaGUgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gbmFtZSwgaW5jbHVkaW5nIG5hbWVzcGFjZSBwcmVmaXg8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbHVlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5UaGUgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gdmFsdWU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJjZGF0YUJsb2NrU0FYRnVuYyIvPkZ1bmN0aW9uIHR5cGUgY2RhdGFCbG9ja1NBWEZ1bmM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCWNkYXRhQmxvY2tTQVhGdW5jCQkodm9pZCAqIGN0eCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUsIDxici8+CQkJCQkgaW50IGxlbik8YnIvPgorPC9wcmU+PHA+Q2FsbGVkIHdoZW4gYSBwY2RhdGEgYmxvY2sgaGFzIGJlZW4gcGFyc2VkLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWx1ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VGhlIHBjZGF0YSBjb250ZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBibG9jayBsZW5ndGg8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJjaGFyYWN0ZXJzU0FYRnVuYyIvPkZ1bmN0aW9uIHR5cGUgY2hhcmFjdGVyc1NBWEZ1bmM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCWNoYXJhY3RlcnNTQVhGdW5jCQkodm9pZCAqIGN0eCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY2gsIDxici8+CQkJCQkgaW50IGxlbik8YnIvPgorPC9wcmU+PHA+UmVjZWl2aW5nIHNvbWUgY2hhcnMgZnJvbSB0aGUgcGFyc2VyLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jaDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+IHN0cmluZzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGVuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJjb21tZW50U0FYRnVuYyIvPkZ1bmN0aW9uIHR5cGUgY29tbWVudFNBWEZ1bmM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCWNvbW1lbnRTQVhGdW5jCQkJKHZvaWQgKiBjdHgsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHZhbHVlKTxici8+Cis8L3ByZT48cD5BIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjY29tbWVudCI+Y29tbWVudDwvYT4gaGFzIGJlZW4gcGFyc2VkLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWx1ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjY29tbWVudCI+Y29tbWVudDwvYT4gY29udGVudDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9ImVsZW1lbnREZWNsU0FYRnVuYyIvPkZ1bmN0aW9uIHR5cGUgZWxlbWVudERlY2xTQVhGdW5jPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAllbGVtZW50RGVjbFNBWEZ1bmMJCSh2b2lkICogY3R4LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJIGludCB0eXBlLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEVsZW1lbnRDb250ZW50UHRyIj54bWxFbGVtZW50Q29udGVudFB0cjwvYT4gY29udGVudCk8YnIvPgorPC9wcmU+PHA+QW4gZWxlbWVudCBkZWZpbml0aW9uIGhhcyBiZWVuIHBhcnNlZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVsZW1lbnQgbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dHlwZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVsZW1lbnQgdHlwZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29udGVudDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVsZW1lbnQgdmFsdWUgdHJlZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9ImVuZERvY3VtZW50U0FYRnVuYyIvPkZ1bmN0aW9uIHR5cGUgZW5kRG9jdW1lbnRTQVhGdW5jPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAllbmREb2N1bWVudFNBWEZ1bmMJCSh2b2lkICogY3R4KTxici8+Cis8L3ByZT48cD5DYWxsZWQgd2hlbiB0aGUgZG9jdW1lbnQgZW5kIGhhcyBiZWVuIGRldGVjdGVkLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iZW5kRWxlbWVudE5zU0FYMkZ1bmMiLz5GdW5jdGlvbiB0eXBlIGVuZEVsZW1lbnROc1NBWDJGdW5jPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAllbmRFbGVtZW50TnNTQVgyRnVuYwkJKHZvaWQgKiBjdHgsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGxvY2FsbmFtZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHJlZml4LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBVUkkpPGJyLz4KKzwvcHJlPjxwPlNBWDIgY2FsbGJhY2sgd2hlbiBhbiBlbGVtZW50IGVuZCBoYXMgYmVlbiBkZXRlY3RlZCBieSB0aGUgcGFyc2VyLiBJdCBwcm92aWRlcyB0aGUgbmFtZXNwYWNlIGluZm9ybWF0aW9ucyBmb3IgdGhlIGVsZW1lbnQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxvY2FsbmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxvY2FsIG5hbWUgb2YgdGhlIGVsZW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnByZWZpeDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVsZW1lbnQgbmFtZXNwYWNlIHByZWZpeCBpZiBhdmFpbGFibGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlVSSTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVsZW1lbnQgbmFtZXNwYWNlIG5hbWUgaWYgYXZhaWxhYmxlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iZW5kRWxlbWVudFNBWEZ1bmMiLz5GdW5jdGlvbiB0eXBlIGVuZEVsZW1lbnRTQVhGdW5jPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAllbmRFbGVtZW50U0FYRnVuYwkJKHZvaWQgKiBjdHgsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpPGJyLz4KKzwvcHJlPjxwPkNhbGxlZCB3aGVuIHRoZSBlbmQgb2YgYW4gZWxlbWVudCBoYXMgYmVlbiBkZXRlY3RlZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VGhlIGVsZW1lbnQgbmFtZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9ImVudGl0eURlY2xTQVhGdW5jIi8+RnVuY3Rpb24gdHlwZSBlbnRpdHlEZWNsU0FYRnVuYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJZW50aXR5RGVjbFNBWEZ1bmMJCSh2b2lkICogY3R4LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJIGludCB0eXBlLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwdWJsaWNJZCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3lzdGVtSWQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGNvbnRlbnQpPGJyLz4KKzwvcHJlPjxwPkFuIGVudGl0eSBkZWZpbml0aW9uIGhhcyBiZWVuIHBhcnNlZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVudGl0eSBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50eXBlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZW50aXR5IHR5cGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnB1YmxpY0lkPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5UaGUgcHVibGljIElEIG9mIHRoZSBlbnRpdHk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN5c3RlbUlkPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5UaGUgc3lzdGVtIElEIG9mIHRoZSBlbnRpdHk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbnRlbnQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbnRpdHkgdmFsdWUgKHdpdGhvdXQgcHJvY2Vzc2luZykuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iZXJyb3JTQVhGdW5jIi8+RnVuY3Rpb24gdHlwZSBlcnJvclNBWEZ1bmM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCWVycm9yU0FYRnVuYwkJCSh2b2lkICogY3R4LCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBtc2csIDxici8+CQkJCQkgLi4uIC4uLik8YnIvPgorPC9wcmU+PHA+RGlzcGxheSBhbmQgZm9ybWF0IGFuIGVycm9yIG1lc3NhZ2VzLCBjYWxsYmFjay48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5tc2c8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBtZXNzYWdlIHRvIGRpc3BsYXkvdHJhbnNtaXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pi4uLjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+ZXh0cmEgcGFyYW1ldGVycyBmb3IgdGhlIG1lc3NhZ2UgZGlzcGxheTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9ImV4dGVybmFsU3Vic2V0U0FYRnVuYyIvPkZ1bmN0aW9uIHR5cGUgZXh0ZXJuYWxTdWJzZXRTQVhGdW5jPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAlleHRlcm5hbFN1YnNldFNBWEZ1bmMJCSh2b2lkICogY3R4LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBFeHRlcm5hbElELCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBTeXN0ZW1JRCk8YnIvPgorPC9wcmU+PHA+Q2FsbGJhY2sgb24gZXh0ZXJuYWwgc3Vic2V0IGRlY2xhcmF0aW9uLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcm9vdCBlbGVtZW50IG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PkV4dGVybmFsSUQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBleHRlcm5hbCBJRDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+U3lzdGVtSUQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBTWVNURU0gSUQgKGUuZy4gZmlsZW5hbWUgb3IgVVJMKTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9ImZhdGFsRXJyb3JTQVhGdW5jIi8+RnVuY3Rpb24gdHlwZSBmYXRhbEVycm9yU0FYRnVuYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJZmF0YWxFcnJvclNBWEZ1bmMJCSh2b2lkICogY3R4LCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBtc2csIDxici8+CQkJCQkgLi4uIC4uLik8YnIvPgorPC9wcmU+PHA+RGlzcGxheSBhbmQgZm9ybWF0IGZhdGFsIGVycm9yIG1lc3NhZ2VzLCBjYWxsYmFjay4gTm90ZTogc28gZmFyIGZhdGFsRXJyb3IoKSBTQVggY2FsbGJhY2tzIGFyZSBub3QgdXNlZCwgZXJyb3IoKSBnZXQgYWxsIHRoZSBjYWxsYmFja3MgZm9yIGVycm9ycy48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5tc2c8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBtZXNzYWdlIHRvIGRpc3BsYXkvdHJhbnNtaXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pi4uLjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+ZXh0cmEgcGFyYW1ldGVycyBmb3IgdGhlIG1lc3NhZ2UgZGlzcGxheTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9ImdldEVudGl0eVNBWEZ1bmMiLz5GdW5jdGlvbiB0eXBlIGdldEVudGl0eVNBWEZ1bmM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxFbnRpdHlQdHIiPnhtbEVudGl0eVB0cjwvYT4JZ2V0RW50aXR5U0FYRnVuYwkodm9pZCAqIGN0eCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSk8YnIvPgorPC9wcmU+PHA+R2V0IGFuIGVudGl0eSBieSBuYW1lLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5UaGUgZW50aXR5IG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxFbnRpdHlQdHIiPnhtbEVudGl0eVB0cjwvYT4gaWYgZm91bmQuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iZ2V0UGFyYW1ldGVyRW50aXR5U0FYRnVuYyIvPkZ1bmN0aW9uIHR5cGUgZ2V0UGFyYW1ldGVyRW50aXR5U0FYRnVuYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEVudGl0eVB0ciI+eG1sRW50aXR5UHRyPC9hPglnZXRQYXJhbWV0ZXJFbnRpdHlTQVhGdW5jCSh2b2lkICogY3R4LCA8YnIvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSk8YnIvPgorPC9wcmU+PHA+R2V0IGEgcGFyYW1ldGVyIGVudGl0eSBieSBuYW1lLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5UaGUgZW50aXR5IG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxFbnRpdHlQdHIiPnhtbEVudGl0eVB0cjwvYT4gaWYgZm91bmQuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iaGFzRXh0ZXJuYWxTdWJzZXRTQVhGdW5jIi8+RnVuY3Rpb24gdHlwZSBoYXNFeHRlcm5hbFN1YnNldFNBWEZ1bmM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJaGFzRXh0ZXJuYWxTdWJzZXRTQVhGdW5jCSh2b2lkICogY3R4KTxici8+Cis8L3ByZT48cD5Eb2VzIHRoaXMgZG9jdW1lbnQgaGFzIGFuIGV4dGVybmFsIHN1YnNldD88L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iaGFzSW50ZXJuYWxTdWJzZXRTQVhGdW5jIi8+RnVuY3Rpb24gdHlwZSBoYXNJbnRlcm5hbFN1YnNldFNBWEZ1bmM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJaGFzSW50ZXJuYWxTdWJzZXRTQVhGdW5jCSh2b2lkICogY3R4KTxici8+Cis8L3ByZT48cD5Eb2VzIHRoaXMgZG9jdW1lbnQgaGFzIGFuIGludGVybmFsIHN1YnNldC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iaWdub3JhYmxlV2hpdGVzcGFjZVNBWEZ1bmMiLz5GdW5jdGlvbiB0eXBlIGlnbm9yYWJsZVdoaXRlc3BhY2VTQVhGdW5jPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAlpZ25vcmFibGVXaGl0ZXNwYWNlU0FYRnVuYwkodm9pZCAqIGN0eCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY2gsIDxici8+CQkJCQkgaW50IGxlbik8YnIvPgorPC9wcmU+PHA+UmVjZWl2aW5nIHNvbWUgaWdub3JhYmxlIHdoaXRlc3BhY2VzIGZyb20gdGhlIHBhcnNlci4gVU5VU0VEOiBieSBkZWZhdWx0IHRoZSBET00gYnVpbGRpbmcgd2lsbCB1c2UgY2hhcmFjdGVycy48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y2g8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiBzdHJpbmc8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iaW50ZXJuYWxTdWJzZXRTQVhGdW5jIi8+RnVuY3Rpb24gdHlwZSBpbnRlcm5hbFN1YnNldFNBWEZ1bmM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCWludGVybmFsU3Vic2V0U0FYRnVuYwkJKHZvaWQgKiBjdHgsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIEV4dGVybmFsSUQsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIFN5c3RlbUlEKTxici8+Cis8L3ByZT48cD5DYWxsYmFjayBvbiBpbnRlcm5hbCBzdWJzZXQgZGVjbGFyYXRpb24uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSByb290IGVsZW1lbnQgbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+RXh0ZXJuYWxJRDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGV4dGVybmFsIElEPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5TeXN0ZW1JRDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFNZU1RFTSBJRCAoZS5nLiBmaWxlbmFtZSBvciBVUkwpPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iaXNTdGFuZGFsb25lU0FYRnVuYyIvPkZ1bmN0aW9uIHR5cGUgaXNTdGFuZGFsb25lU0FYRnVuYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAlpc1N0YW5kYWxvbmVTQVhGdW5jCQkodm9pZCAqIGN0eCk8YnIvPgorPC9wcmU+PHA+SXMgdGhpcyBkb2N1bWVudCB0YWdnZWQgc3RhbmRhbG9uZT88L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ibm90YXRpb25EZWNsU0FYRnVuYyIvPkZ1bmN0aW9uIHR5cGUgbm90YXRpb25EZWNsU0FYRnVuYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJbm90YXRpb25EZWNsU0FYRnVuYwkJKHZvaWQgKiBjdHgsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHB1YmxpY0lkLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzeXN0ZW1JZCk8YnIvPgorPC9wcmU+PHA+V2hhdCB0byBkbyB3aGVuIGEgbm90YXRpb24gZGVjbGFyYXRpb24gaGFzIGJlZW4gcGFyc2VkLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5UaGUgbmFtZSBvZiB0aGUgbm90YXRpb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnB1YmxpY0lkPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5UaGUgcHVibGljIElEIG9mIHRoZSBlbnRpdHk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN5c3RlbUlkPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5UaGUgc3lzdGVtIElEIG9mIHRoZSBlbnRpdHk8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJwcm9jZXNzaW5nSW5zdHJ1Y3Rpb25TQVhGdW5jIi8+RnVuY3Rpb24gdHlwZSBwcm9jZXNzaW5nSW5zdHJ1Y3Rpb25TQVhGdW5jPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAlwcm9jZXNzaW5nSW5zdHJ1Y3Rpb25TQVhGdW5jCSh2b2lkICogY3R4LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB0YXJnZXQsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGRhdGEpPGJyLz4KKzwvcHJlPjxwPkEgcHJvY2Vzc2luZyBpbnN0cnVjdGlvbiBoYXMgYmVlbiBwYXJzZWQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRhcmdldDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHRhcmdldCBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kYXRhPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgUEkgZGF0YSdzPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0icmVmZXJlbmNlU0FYRnVuYyIvPkZ1bmN0aW9uIHR5cGUgcmVmZXJlbmNlU0FYRnVuYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJcmVmZXJlbmNlU0FYRnVuYwkJKHZvaWQgKiBjdHgsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpPGJyLz4KKzwvcHJlPjxwPkNhbGxlZCB3aGVuIGFuIGVudGl0eSA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI3JlZmVyZW5jZSI+cmVmZXJlbmNlPC9hPiBpcyBkZXRlY3RlZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VGhlIGVudGl0eSBuYW1lPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0icmVzb2x2ZUVudGl0eVNBWEZ1bmMiLz5GdW5jdGlvbiB0eXBlIHJlc29sdmVFbnRpdHlTQVhGdW5jPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRQdHIiPnhtbFBhcnNlcklucHV0UHRyPC9hPglyZXNvbHZlRW50aXR5U0FYRnVuYwkodm9pZCAqIGN0eCwgPGJyLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHB1YmxpY0lkLCA8YnIvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3lzdGVtSWQpPGJyLz4KKzwvcHJlPjxwPkNhbGxiYWNrOiBUaGUgZW50aXR5IGxvYWRlciwgdG8gY29udHJvbCB0aGUgbG9hZGluZyBvZiBleHRlcm5hbCBlbnRpdGllcywgdGhlIGFwcGxpY2F0aW9uIGNhbiBlaXRoZXI6IC0gb3ZlcnJpZGUgdGhpcyByZXNvbHZlRW50aXR5KCkgY2FsbGJhY2sgaW4gdGhlIFNBWCBibG9jayAtIG9yIGJldHRlciB1c2UgdGhlIHhtbFNldEV4dGVybmFsRW50aXR5TG9hZGVyKCkgZnVuY3Rpb24gdG8gc2V0IHVwIGl0J3Mgb3duIGVudGl0eSByZXNvbHV0aW9uIHJvdXRpbmU8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cHVibGljSWQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlRoZSBwdWJsaWMgSUQgb2YgdGhlIGVudGl0eTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3lzdGVtSWQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlRoZSBzeXN0ZW0gSUQgb2YgdGhlIGVudGl0eTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlcklucHV0UHRyIj54bWxQYXJzZXJJbnB1dFB0cjwvYT4gaWYgaW5saW5lZCBvciBOVUxMIGZvciBET00gYmVoYXZpb3VyLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InNldERvY3VtZW50TG9jYXRvclNBWEZ1bmMiLz5GdW5jdGlvbiB0eXBlIHNldERvY3VtZW50TG9jYXRvclNBWEZ1bmM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXNldERvY3VtZW50TG9jYXRvclNBWEZ1bmMJKHZvaWQgKiBjdHgsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sU0FYTG9jYXRvclB0ciI+eG1sU0FYTG9jYXRvclB0cjwvYT4gbG9jKTxici8+Cis8L3ByZT48cD5SZWNlaXZlIHRoZSBkb2N1bWVudCBsb2NhdG9yIGF0IHN0YXJ0dXAsIGFjdHVhbGx5IHhtbERlZmF1bHRTQVhMb2NhdG9yLiBFdmVyeXRoaW5nIGlzIGF2YWlsYWJsZSBvbiB0aGUgY29udGV4dCwgc28gdGhpcyBpcyB1c2VsZXNzIGluIG91ciBjYXNlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPkEgU0FYIExvY2F0b3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJzdGFydERvY3VtZW50U0FYRnVuYyIvPkZ1bmN0aW9uIHR5cGUgc3RhcnREb2N1bWVudFNBWEZ1bmM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXN0YXJ0RG9jdW1lbnRTQVhGdW5jCQkodm9pZCAqIGN0eCk8YnIvPgorPC9wcmU+PHA+Q2FsbGVkIHdoZW4gdGhlIGRvY3VtZW50IHN0YXJ0IGJlaW5nIHByb2Nlc3NlZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InN0YXJ0RWxlbWVudE5zU0FYMkZ1bmMiLz5GdW5jdGlvbiB0eXBlIHN0YXJ0RWxlbWVudE5zU0FYMkZ1bmM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXN0YXJ0RWxlbWVudE5zU0FYMkZ1bmMJCSh2b2lkICogY3R4LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBsb2NhbG5hbWUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHByZWZpeCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogVVJJLCA8YnIvPgkJCQkJIGludCBuYl9uYW1lc3BhY2VzLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiogbmFtZXNwYWNlcywgPGJyLz4JCQkJCSBpbnQgbmJfYXR0cmlidXRlcywgPGJyLz4JCQkJCSBpbnQgbmJfZGVmYXVsdGVkLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiogYXR0cmlidXRlcyk8YnIvPgorPC9wcmU+PHA+U0FYMiBjYWxsYmFjayB3aGVuIGFuIGVsZW1lbnQgc3RhcnQgaGFzIGJlZW4gZGV0ZWN0ZWQgYnkgdGhlIHBhcnNlci4gSXQgcHJvdmlkZXMgdGhlIG5hbWVzcGFjZSBpbmZvcm1hdGlvbnMgZm9yIHRoZSBlbGVtZW50LCBhcyB3ZWxsIGFzIHRoZSBuZXcgbmFtZXNwYWNlIGRlY2xhcmF0aW9ucyBvbiB0aGUgZWxlbWVudC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bG9jYWxuYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbG9jYWwgbmFtZSBvZiB0aGUgZWxlbWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cHJlZml4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZWxlbWVudCBuYW1lc3BhY2UgcHJlZml4IGlmIGF2YWlsYWJsZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+VVJJPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZWxlbWVudCBuYW1lc3BhY2UgbmFtZSBpZiBhdmFpbGFibGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5iX25hbWVzcGFjZXM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPm51bWJlciBvZiBuYW1lc3BhY2UgZGVmaW5pdGlvbnMgb24gdGhhdCBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lc3BhY2VzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5wb2ludGVyIHRvIHRoZSBhcnJheSBvZiBwcmVmaXgvVVJJIHBhaXJzIG5hbWVzcGFjZSBkZWZpbml0aW9uczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmJfYXR0cmlidXRlczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBhdHRyaWJ1dGVzIG9uIHRoYXQgbm9kZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmJfZGVmYXVsdGVkPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGRlZmF1bHRlZCBhdHRyaWJ1dGVzLiBUaGUgZGVmYXVsdGVkIG9uZXMgYXJlIGF0IHRoZSBlbmQgb2YgdGhlIGFycmF5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5hdHRyaWJ1dGVzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5wb2ludGVyIHRvIHRoZSBhcnJheSBvZiAobG9jYWxuYW1lL3ByZWZpeC9VUkkvdmFsdWUvZW5kKSA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiB2YWx1ZXMuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ic3RhcnRFbGVtZW50U0FYRnVuYyIvPkZ1bmN0aW9uIHR5cGUgc3RhcnRFbGVtZW50U0FYRnVuYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJc3RhcnRFbGVtZW50U0FYRnVuYwkJKHZvaWQgKiBjdHgsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqKiBhdHRzKTxici8+Cis8L3ByZT48cD5DYWxsZWQgd2hlbiBhbiBvcGVuaW5nIHRhZyBoYXMgYmVlbiBwcm9jZXNzZWQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlRoZSBlbGVtZW50IG5hbWUsIGluY2x1ZGluZyBuYW1lc3BhY2UgcHJlZml4PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5hdHRzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5BbiBhcnJheSBvZiBuYW1lL3ZhbHVlIGF0dHJpYnV0ZXMgcGFpcnMsIE5VTEwgdGVybWluYXRlZDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InVucGFyc2VkRW50aXR5RGVjbFNBWEZ1bmMiLz5GdW5jdGlvbiB0eXBlIHVucGFyc2VkRW50aXR5RGVjbFNBWEZ1bmM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXVucGFyc2VkRW50aXR5RGVjbFNBWEZ1bmMJKHZvaWQgKiBjdHgsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHB1YmxpY0lkLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzeXN0ZW1JZCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbm90YXRpb25OYW1lKTxici8+Cis8L3ByZT48cD5XaGF0IHRvIGRvIHdoZW4gYW4gdW5wYXJzZWQgZW50aXR5IGRlY2xhcmF0aW9uIGlzIHBhcnNlZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VGhlIG5hbWUgb2YgdGhlIGVudGl0eTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cHVibGljSWQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlRoZSBwdWJsaWMgSUQgb2YgdGhlIGVudGl0eTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3lzdGVtSWQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlRoZSBzeXN0ZW0gSUQgb2YgdGhlIGVudGl0eTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm90YXRpb25OYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZSBvZiB0aGUgbm90YXRpb248L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ3YXJuaW5nU0FYRnVuYyIvPkZ1bmN0aW9uIHR5cGUgd2FybmluZ1NBWEZ1bmM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXdhcm5pbmdTQVhGdW5jCQkJKHZvaWQgKiBjdHgsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIG1zZywgPGJyLz4JCQkJCSAuLi4gLi4uKTxici8+Cis8L3ByZT48cD5EaXNwbGF5IGFuZCBmb3JtYXQgYSB3YXJuaW5nIG1lc3NhZ2VzLCBjYWxsYmFjay48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5tc2c8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBtZXNzYWdlIHRvIGRpc3BsYXkvdHJhbnNtaXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pi4uLjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+ZXh0cmEgcGFyYW1ldGVycyBmb3IgdGhlIG1lc3NhZ2UgZGlzcGxheTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEV4dGVybmFsRW50aXR5TG9hZGVyIi8+RnVuY3Rpb24gdHlwZSB4bWxFeHRlcm5hbEVudGl0eUxvYWRlcjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlcklucHV0UHRyIj54bWxQYXJzZXJJbnB1dFB0cjwvYT4JeG1sRXh0ZXJuYWxFbnRpdHlMb2FkZXIJKGNvbnN0IGNoYXIgKiBVUkwsIDxici8+CQkJCQkJIGNvbnN0IGNoYXIgKiBJRCwgPGJyLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY29udGV4dCk8YnIvPgorPC9wcmU+PHA+RXh0ZXJuYWwgZW50aXR5IGxvYWRlcnMgdHlwZXMuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5VUkw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlRoZSBTeXN0ZW0gSUQgb2YgdGhlIHJlc291cmNlIHJlcXVlc3RlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+SUQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlRoZSBQdWJsaWMgSUQgb2YgdGhlIHJlc291cmNlIHJlcXVlc3RlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29udGV4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVudGl0eSBpbnB1dCBwYXJzZXIuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUGFyc2VySW5wdXREZWFsbG9jYXRlIi8+RnVuY3Rpb24gdHlwZSB4bWxQYXJzZXJJbnB1dERlYWxsb2NhdGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFBhcnNlcklucHV0RGVhbGxvY2F0ZQkoPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0cik8YnIvPgorPC9wcmU+PHA+Q2FsbGJhY2sgZm9yIGZyZWVpbmcgc29tZSBwYXJzZXIgaW5wdXQgYWxsb2NhdGlvbnMuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdHI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzdHJpbmcgdG8gZGVhbGxvY2F0ZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEJ5dGVDb25zdW1lZCIvPnhtbEJ5dGVDb25zdW1lZCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmxvbmcJeG1sQnl0ZUNvbnN1bWVkCQkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPGJyLz4KKzwvcHJlPjxwPlRoaXMgZnVuY3Rpb24gcHJvdmlkZXMgdGhlIGN1cnJlbnQgaW5kZXggb2YgdGhlIHBhcnNlciByZWxhdGl2ZSB0byB0aGUgc3RhcnQgb2YgdGhlIGN1cnJlbnQgZW50aXR5LiBUaGlzIGZ1bmN0aW9uIGlzIGNvbXB1dGVkIGluIGJ5dGVzIGZyb20gdGhlIGJlZ2lubmluZyBzdGFydGluZyBhdCB6ZXJvIGFuZCBmaW5pc2hpbmcgYXQgdGhlIHNpemUgaW4gYnl0ZSBvZiB0aGUgZmlsZSBpZiBwYXJzaW5nIGEgZmlsZS4gVGhlIGZ1bmN0aW9uIGlzIG9mIGNvbnN0YW50IGNvc3QgaWYgdGhlIGlucHV0IGlzIFVURi04IGJ1dCBjYW4gYmUgY29zdGx5IGlmIHJ1biBvbiBub24tVVRGLTggaW5wdXQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBpbmRleCBpbiBieXRlcyBmcm9tIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGVudGl0eSBvciAtMSBpbiBjYXNlIHRoZSBpbmRleCBjb3VsZCBub3QgYmUgY29tcHV0ZWQuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sQ2xlYW51cFBhcnNlciIvPnhtbENsZWFudXBQYXJzZXIgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbENsZWFudXBQYXJzZXIJCSh2b2lkKTxici8+Cis8L3ByZT48cD5UaGlzIGZ1bmN0aW9uIG5hbWUgaXMgc29tZXdoYXQgbWlzbGVhZGluZy4gSXQgZG9lcyBub3QgY2xlYW4gdXAgcGFyc2VyIHN0YXRlLCBpdCBjbGVhbnMgdXAgbWVtb3J5IGFsbG9jYXRlZCBieSB0aGUgbGlicmFyeSBpdHNlbGYuIEl0IGlzIGEgY2xlYW51cCBmdW5jdGlvbiBmb3IgdGhlIFhNTCBsaWJyYXJ5LiBJdCB0cmllcyB0byByZWNsYWltIGFsbCByZWxhdGVkIGdsb2JhbCBtZW1vcnkgYWxsb2NhdGVkIGZvciB0aGUgbGlicmFyeSBwcm9jZXNzaW5nLiBJdCBkb2Vzbid0IGRlYWxsb2NhdGUgYW55IGRvY3VtZW50IHJlbGF0ZWQgbWVtb3J5LiBPbmUgc2hvdWxkIGNhbGwgeG1sQ2xlYW51cFBhcnNlcigpIG9ubHkgd2hlbiB0aGUgcHJvY2VzcyBoYXMgZmluaXNoZWQgdXNpbmcgdGhlIGxpYnJhcnkgYW5kIGFsbCBYTUwvSFRNTCBkb2N1bWVudHMgYnVpbHQgd2l0aCBpdC4gU2VlIGFsc28geG1sSW5pdFBhcnNlcigpIHdoaWNoIGhhcyB0aGUgb3Bwb3NpdGUgZnVuY3Rpb24gb2YgcHJlcGFyaW5nIHRoZSBsaWJyYXJ5IGZvciBvcGVyYXRpb25zLiBXQVJOSU5HOiBpZiB5b3VyIGFwcGxpY2F0aW9uIGlzIG11bHRpdGhyZWFkZWQgb3IgaGFzIHBsdWdpbiBzdXBwb3J0IGNhbGxpbmcgdGhpcyBtYXkgY3Jhc2ggdGhlIGFwcGxpY2F0aW9uIGlmIGFub3RoZXIgdGhyZWFkIG9yIGEgcGx1Z2luIGlzIHN0aWxsIHVzaW5nIGxpYnhtbDIuIEl0J3Mgc29tZXRpbWVzIHZlcnkgaGFyZCB0byBndWVzcyBpZiBsaWJ4bWwyIGlzIGluIHVzZSBpbiB0aGUgYXBwbGljYXRpb24sIHNvbWUgbGlicmFyaWVzIG9yIHBsdWdpbnMgbWF5IHVzZSBpdCB3aXRob3V0IG5vdGljZS4gSW4gY2FzZSBvZiBkb3VidCBhYnN0YWluIGZyb20gY2FsbGluZyB0aGlzIGZ1bmN0aW9uIG9yIGRvIGl0IGp1c3QgYmVmb3JlIGNhbGxpbmcgZXhpdCgpIHRvIGF2b2lkIGxlYWsgcmVwb3J0cyBmcm9tIHZhbGdyaW5kICE8L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sQ2xlYXJOb2RlSW5mb1NlcSIvPnhtbENsZWFyTm9kZUluZm9TZXEgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbENsZWFyTm9kZUluZm9TZXEJCSg8YSBocmVmPSJsaWJ4bWwyLXBhcnNlci5odG1sI3htbFBhcnNlck5vZGVJbmZvU2VxUHRyIj54bWxQYXJzZXJOb2RlSW5mb1NlcVB0cjwvYT4gc2VxKTxici8+Cis8L3ByZT48cD4tLSBDbGVhciAocmVsZWFzZSBtZW1vcnkgYW5kIHJlaW5pdGlhbGl6ZSkgbm9kZSBpbmZvIHNlcXVlbmNlPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zZXE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbm9kZSBpbmZvIHNlcXVlbmNlIHBvaW50ZXI8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxDbGVhclBhcnNlckN0eHQiLz54bWxDbGVhclBhcnNlckN0eHQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbENsZWFyUGFyc2VyQ3R4dAkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPGJyLz4KKzwvcHJlPjxwPkNsZWFyIChyZWxlYXNlIG93bmVkIHJlc291cmNlcykgYW5kIHJlaW5pdGlhbGl6ZSBhIHBhcnNlciBjb250ZXh0PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxDcmVhdGVEb2NQYXJzZXJDdHh0Ii8+eG1sQ3JlYXRlRG9jUGFyc2VyQ3R4dCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+CXhtbENyZWF0ZURvY1BhcnNlckN0eHQJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjdXIpPGJyLz4KKzwvcHJlPjxwPkNyZWF0ZXMgYSBwYXJzZXIgY29udGV4dCBmb3IgYW4gWE1MIGluLW1lbW9yeSBkb2N1bWVudC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIGFuIGFycmF5IG9mIDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXcgcGFyc2VyIGNvbnRleHQgb3IgTlVMTDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbENyZWF0ZUlPUGFyc2VyQ3R4dCIvPnhtbENyZWF0ZUlPUGFyc2VyQ3R4dCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+CXhtbENyZWF0ZUlPUGFyc2VyQ3R4dAkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sU0FYSGFuZGxlclB0ciI+eG1sU0FYSGFuZGxlclB0cjwvYT4gc2F4LCA8YnIvPgkJCQkJCSB2b2lkICogdXNlcl9kYXRhLCA8YnIvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbElPLmh0bWwjeG1sSW5wdXRSZWFkQ2FsbGJhY2siPnhtbElucHV0UmVhZENhbGxiYWNrPC9hPiBpb3JlYWQsIDxici8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sSU8uaHRtbCN4bWxJbnB1dENsb3NlQ2FsbGJhY2siPnhtbElucHV0Q2xvc2VDYWxsYmFjazwvYT4gaW9jbG9zZSwgPGJyLz4JCQkJCQkgdm9pZCAqIGlvY3R4LCA8YnIvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nIj54bWxDaGFyRW5jb2Rpbmc8L2E+IGVuYyk8YnIvPgorPC9wcmU+PHA+Q3JlYXRlIGEgcGFyc2VyIGNvbnRleHQgZm9yIHVzaW5nIHRoZSBYTUwgcGFyc2VyIHdpdGggYW4gZXhpc3RpbmcgSS9PIHN0cmVhbTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2F4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIFNBWCBoYW5kbGVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD51c2VyX2RhdGE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlRoZSB1c2VyIGRhdGEgcmV0dXJuZWQgb24gU0FYIGNhbGxiYWNrczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aW9yZWFkPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBJL08gcmVhZCBmdW5jdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aW9jbG9zZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gSS9PIGNsb3NlIGZ1bmN0aW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pb2N0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gSS9PIGhhbmRsZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVuYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGNoYXJzZXQgZW5jb2RpbmcgaWYga25vd248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXcgcGFyc2VyIGNvbnRleHQgb3IgTlVMTDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbENyZWF0ZVB1c2hQYXJzZXJDdHh0Ii8+eG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPgl4bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dAkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sU0FYSGFuZGxlclB0ciI+eG1sU0FYSGFuZGxlclB0cjwvYT4gc2F4LCA8YnIvPgkJCQkJCSB2b2lkICogdXNlcl9kYXRhLCA8YnIvPgkJCQkJCSBjb25zdCBjaGFyICogY2h1bmssIDxici8+CQkJCQkJIGludCBzaXplLCA8YnIvPgkJCQkJCSBjb25zdCBjaGFyICogZmlsZW5hbWUpPGJyLz4KKzwvcHJlPjxwPkNyZWF0ZSBhIHBhcnNlciBjb250ZXh0IGZvciB1c2luZyB0aGUgWE1MIHBhcnNlciBpbiBwdXNoIG1vZGUuIElmIEBidWZmZXIgYW5kIEBzaXplIGFyZSBub24tTlVMTCwgdGhlIGRhdGEgaXMgdXNlZCB0byBkZXRlY3QgdGhlIGVuY29kaW5nLiBUaGUgcmVtYWluaW5nIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjY2hhcmFjdGVycyI+Y2hhcmFjdGVyczwvYT4gd2lsbCBiZSBwYXJzZWQgc28gdGhleSBkb24ndCBuZWVkIHRvIGJlIGZlZCBpbiBhZ2FpbiB0aHJvdWdoIHhtbFBhcnNlQ2h1bmsuIFRvIGFsbG93IGNvbnRlbnQgZW5jb2RpbmcgZGV0ZWN0aW9uLCBAc2l6ZSBzaG91bGQgYmUgJmd0Oz0gNCBUaGUgdmFsdWUgb2YgQGZpbGVuYW1lIGlzIHVzZWQgZm9yIGZldGNoaW5nIGV4dGVybmFsIGVudGl0aWVzIGFuZCBlcnJvci93YXJuaW5nIHJlcG9ydHMuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zYXg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgU0FYIGhhbmRsZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnVzZXJfZGF0YTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VGhlIHVzZXIgZGF0YSByZXR1cm5lZCBvbiBTQVggY2FsbGJhY2tzPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jaHVuazwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIGFuIGFycmF5IG9mIGNoYXJzPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zaXplPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5udW1iZXIgb2YgY2hhcnMgaW4gdGhlIGFycmF5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlbmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gb3B0aW9uYWwgZmlsZSBuYW1lIG9yIFVSSTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ldyBwYXJzZXIgY29udGV4dCBvciBOVUxMPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sQ3R4dFJlYWREb2MiLz54bWxDdHh0UmVhZERvYyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPgl4bWxDdHh0UmVhZERvYwkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGN1ciwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogVVJMLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyLz4JCQkJCSBpbnQgb3B0aW9ucyk8YnIvPgorPC9wcmU+PHA+cGFyc2UgYW4gWE1MIGluLW1lbW9yeSBkb2N1bWVudCBhbmQgYnVpbGQgYSB0cmVlLiBUaGlzIHJldXNlcyB0aGUgZXhpc3RpbmcgQGN0eHQgcGFyc2VyIGNvbnRleHQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gYSB6ZXJvIHRlcm1pbmF0ZWQgc3RyaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5VUkw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBiYXNlIFVSTCB0byB1c2UgZm9yIHRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jb2Rpbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3B0aW9uczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBjb21iaW5hdGlvbiBvZiA8YSBocmVmPSJsaWJ4bWwyLXBhcnNlci5odG1sI3htbFBhcnNlck9wdGlvbiI+eG1sUGFyc2VyT3B0aW9uPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHJlc3VsdGluZyBkb2N1bWVudCB0cmVlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sQ3R4dFJlYWRGZCIvPnhtbEN0eHRSZWFkRmQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4JeG1sQ3R4dFJlYWRGZAkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgaW50IGZkLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBVUkwsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nLCA8YnIvPgkJCQkJIGludCBvcHRpb25zKTxici8+Cis8L3ByZT48cD5wYXJzZSBhbiBYTUwgZnJvbSBhIGZpbGUgZGVzY3JpcHRvciBhbmQgYnVpbGQgYSB0cmVlLiBUaGlzIHJldXNlcyB0aGUgZXhpc3RpbmcgQGN0eHQgcGFyc2VyIGNvbnRleHQgTk9URSB0aGF0IHRoZSBmaWxlIGRlc2NyaXB0b3Igd2lsbCBub3QgYmUgY2xvc2VkIHdoZW4gdGhlIHJlYWRlciBpcyBjbG9zZWQgb3IgcmVzZXQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZkPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBvcGVuIGZpbGUgZGVzY3JpcHRvcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+VVJMPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYmFzZSBVUkwgdG8gdXNlIGZvciB0aGUgZG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVuY29kaW5nPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQgZW5jb2RpbmcsIG9yIE5VTEw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm9wdGlvbnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgY29tYmluYXRpb24gb2YgPGEgaHJlZj0ibGlieG1sMi1wYXJzZXIuaHRtbCN4bWxQYXJzZXJPcHRpb24iPnhtbFBhcnNlck9wdGlvbjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSByZXN1bHRpbmcgZG9jdW1lbnQgdHJlZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEN0eHRSZWFkRmlsZSIvPnhtbEN0eHRSZWFkRmlsZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPgl4bWxDdHh0UmVhZEZpbGUJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBmaWxlbmFtZSwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcsIDxici8+CQkJCQkgaW50IG9wdGlvbnMpPGJyLz4KKzwvcHJlPjxwPnBhcnNlIGFuIFhNTCBmaWxlIGZyb20gdGhlIGZpbGVzeXN0ZW0gb3IgdGhlIG5ldHdvcmsuIFRoaXMgcmV1c2VzIHRoZSBleGlzdGluZyBAY3R4dCBwYXJzZXIgY29udGV4dDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlbmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBmaWxlIG9yIFVSTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jb2Rpbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3B0aW9uczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBjb21iaW5hdGlvbiBvZiA8YSBocmVmPSJsaWJ4bWwyLXBhcnNlci5odG1sI3htbFBhcnNlck9wdGlvbiI+eG1sUGFyc2VyT3B0aW9uPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHJlc3VsdGluZyBkb2N1bWVudCB0cmVlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sQ3R4dFJlYWRJTyIvPnhtbEN0eHRSZWFkSU8gKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4JeG1sQ3R4dFJlYWRJTwkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxJTy5odG1sI3htbElucHV0UmVhZENhbGxiYWNrIj54bWxJbnB1dFJlYWRDYWxsYmFjazwvYT4gaW9yZWFkLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sSU8uaHRtbCN4bWxJbnB1dENsb3NlQ2FsbGJhY2siPnhtbElucHV0Q2xvc2VDYWxsYmFjazwvYT4gaW9jbG9zZSwgPGJyLz4JCQkJCSB2b2lkICogaW9jdHgsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIFVSTCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcsIDxici8+CQkJCQkgaW50IG9wdGlvbnMpPGJyLz4KKzwvcHJlPjxwPnBhcnNlIGFuIFhNTCBkb2N1bWVudCBmcm9tIEkvTyBmdW5jdGlvbnMgYW5kIHNvdXJjZSBhbmQgYnVpbGQgYSB0cmVlLiBUaGlzIHJldXNlcyB0aGUgZXhpc3RpbmcgQGN0eHQgcGFyc2VyIGNvbnRleHQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aW9yZWFkPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBJL08gcmVhZCBmdW5jdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aW9jbG9zZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gSS9PIGNsb3NlIGZ1bmN0aW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pb2N0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gSS9PIGhhbmRsZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlVSTDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJhc2UgVVJMIHRvIHVzZSBmb3IgdGhlIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbmNvZGluZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50IGVuY29kaW5nLCBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vcHRpb25zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGNvbWJpbmF0aW9uIG9mIDxhIGhyZWY9ImxpYnhtbDItcGFyc2VyLmh0bWwjeG1sUGFyc2VyT3B0aW9uIj54bWxQYXJzZXJPcHRpb248L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmVzdWx0aW5nIGRvY3VtZW50IHRyZWU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxDdHh0UmVhZE1lbW9yeSIvPnhtbEN0eHRSZWFkTWVtb3J5ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+CXhtbEN0eHRSZWFkTWVtb3J5CSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBidWZmZXIsIDxici8+CQkJCQkgaW50IHNpemUsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIFVSTCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcsIDxici8+CQkJCQkgaW50IG9wdGlvbnMpPGJyLz4KKzwvcHJlPjxwPnBhcnNlIGFuIFhNTCBpbi1tZW1vcnkgZG9jdW1lbnQgYW5kIGJ1aWxkIGEgdHJlZS4gVGhpcyByZXVzZXMgdGhlIGV4aXN0aW5nIEBjdHh0IHBhcnNlciBjb250ZXh0PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmJ1ZmZlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIGEgY2hhciBhcnJheTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2l6ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHNpemUgb2YgdGhlIGFycmF5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5VUkw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBiYXNlIFVSTCB0byB1c2UgZm9yIHRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jb2Rpbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3B0aW9uczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBjb21iaW5hdGlvbiBvZiA8YSBocmVmPSJsaWJ4bWwyLXBhcnNlci5odG1sI3htbFBhcnNlck9wdGlvbiI+eG1sUGFyc2VyT3B0aW9uPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHJlc3VsdGluZyBkb2N1bWVudCB0cmVlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sQ3R4dFJlc2V0Ii8+eG1sQ3R4dFJlc2V0ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxDdHh0UmVzZXQJCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8YnIvPgorPC9wcmU+PHA+UmVzZXQgYSBwYXJzZXIgY29udGV4dDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sQ3R4dFJlc2V0UHVzaCIvPnhtbEN0eHRSZXNldFB1c2ggKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sQ3R4dFJlc2V0UHVzaAkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGNodW5rLCA8YnIvPgkJCQkJIGludCBzaXplLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBmaWxlbmFtZSwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcpPGJyLz4KKzwvcHJlPjxwPlJlc2V0IGEgcHVzaCBwYXJzZXIgY29udGV4dDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jaHVuazwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIGFuIGFycmF5IG9mIGNoYXJzPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zaXplPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5udW1iZXIgb2YgY2hhcnMgaW4gdGhlIGFycmF5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlbmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gb3B0aW9uYWwgZmlsZSBuYW1lIG9yIFVSSTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jb2Rpbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpbiBjYXNlIG9mIHN1Y2Nlc3MgYW5kIDEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEN0eHRVc2VPcHRpb25zIi8+eG1sQ3R4dFVzZU9wdGlvbnMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sQ3R4dFVzZU9wdGlvbnMJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIGludCBvcHRpb25zKTxici8+Cis8L3ByZT48cD5BcHBsaWVzIHRoZSBvcHRpb25zIHRvIHRoZSBwYXJzZXIgY29udGV4dDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vcHRpb25zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGNvbWJpbmF0aW9uIG9mIDxhIGhyZWY9ImxpYnhtbDItcGFyc2VyLmh0bWwjeG1sUGFyc2VyT3B0aW9uIj54bWxQYXJzZXJPcHRpb248L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGluIGNhc2Ugb2Ygc3VjY2VzcywgdGhlIHNldCBvZiB1bmtub3duIG9yIHVuaW1wbGVtZW50ZWQgb3B0aW9ucyBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEZyZWVQYXJzZXJDdHh0Ii8+eG1sRnJlZVBhcnNlckN0eHQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbEZyZWVQYXJzZXJDdHh0CQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8YnIvPgorPC9wcmU+PHA+RnJlZSBhbGwgdGhlIG1lbW9yeSB1c2VkIGJ5IGEgcGFyc2VyIGNvbnRleHQuIEhvd2V2ZXIgdGhlIHBhcnNlZCBkb2N1bWVudCBpbiBjdHh0LSZndDtteURvYyBpcyBub3QgZnJlZWQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxHZXRFeHRlcm5hbEVudGl0eUxvYWRlciIvPnhtbEdldEV4dGVybmFsRW50aXR5TG9hZGVyICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi1wYXJzZXIuaHRtbCN4bWxFeHRlcm5hbEVudGl0eUxvYWRlciI+eG1sRXh0ZXJuYWxFbnRpdHlMb2FkZXI8L2E+CXhtbEdldEV4dGVybmFsRW50aXR5TG9hZGVyCSh2b2lkKTxici8+Cis8L3ByZT48cD5HZXQgdGhlIGRlZmF1bHQgZXh0ZXJuYWwgZW50aXR5IHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgYXBwbGljYXRpb248L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXBhcnNlci5odG1sI3htbEV4dGVybmFsRW50aXR5TG9hZGVyIj54bWxFeHRlcm5hbEVudGl0eUxvYWRlcjwvYT4gZnVuY3Rpb24gcG9pbnRlcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEdldEZlYXR1cmUiLz54bWxHZXRGZWF0dXJlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbEdldEZlYXR1cmUJCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogbmFtZSwgPGJyLz4JCQkJCSB2b2lkICogcmVzdWx0KTxici8+Cis8L3ByZT48cD5SZWFkIHRoZSBjdXJyZW50IHZhbHVlIG9mIG9uZSBmZWF0dXJlIG9mIHRoaXMgcGFyc2VyIGluc3RhbmNlPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwvSFRNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZlYXR1cmUgbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVzdWx0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5sb2NhdGlvbiB0byBzdG9yZSB0aGUgcmVzdWx0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4tMSBpbiBjYXNlIG9yIGVycm9yLCAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEdldEZlYXR1cmVzTGlzdCIvPnhtbEdldEZlYXR1cmVzTGlzdCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxHZXRGZWF0dXJlc0xpc3QJCShpbnQgKiBsZW4sIDxici8+CQkJCQkgY29uc3QgY2hhciAqKiByZXN1bHQpPGJyLz4KKzwvcHJlPjxwPkNvcHkgYXQgbW9zdCAqQGxlbiBmZWF0dXJlIG5hbWVzIGludG8gdGhlIEByZXN1bHQgYXJyYXk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxlbmd0aCBvZiB0aGUgZmVhdHVyZXMgbmFtZSBhcnJheSAoaW5wdXQvb3V0cHV0KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVzdWx0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBhcnJheSBvZiBzdHJpbmcgdG8gYmUgZmlsbGVkIHdpdGggdGhlIGZlYXR1cmVzIG5hbWUuPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4tMSBpbiBjYXNlIG9yIGVycm9yLCBvciB0aGUgdG90YWwgbnVtYmVyIG9mIGZlYXR1cmVzLCBsZW4gaXMgdXBkYXRlZCB3aXRoIHRoZSBudW1iZXIgb2Ygc3RyaW5ncyBjb3BpZWQsIHN0cmluZ3MgbXVzdCBub3QgYmUgZGVhbGxvY2F0ZWQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxIYXNGZWF0dXJlIi8+eG1sSGFzRmVhdHVyZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxIYXNGZWF0dXJlCQkJKDxhIGhyZWY9ImxpYnhtbDItcGFyc2VyLmh0bWwjeG1sRmVhdHVyZSI+eG1sRmVhdHVyZTwvYT4gZmVhdHVyZSk8YnIvPgorPC9wcmU+PHA+RXhhbWluZXMgaWYgdGhlIGxpYnJhcnkgaGFzIGJlZW4gY29tcGlsZWQgd2l0aCBhIGdpdmVuIGZlYXR1cmUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mZWF0dXJlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZmVhdHVyZSB0byBiZSBleGFtaW5lZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBub24temVybyB2YWx1ZSBpZiB0aGUgZmVhdHVyZSBleGlzdCwgb3RoZXJ3aXNlIHplcm8uIFJldHVybnMgemVybyAoMCkgaWYgdGhlIGZlYXR1cmUgZG9lcyBub3QgZXhpc3Qgb3IgYW4gdW5rbm93biB1bmtub3duIGZlYXR1cmUgaXMgcmVxdWVzdGVkLCBub24temVybyBvdGhlcndpc2UuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sSU9QYXJzZURURCIvPnhtbElPUGFyc2VEVEQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEdGRQdHIiPnhtbER0ZFB0cjwvYT4JeG1sSU9QYXJzZURURAkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFNBWEhhbmRsZXJQdHIiPnhtbFNBWEhhbmRsZXJQdHI8L2E+IHNheCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciI+eG1sUGFyc2VySW5wdXRCdWZmZXJQdHI8L2E+IGlucHV0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmciPnhtbENoYXJFbmNvZGluZzwvYT4gZW5jKTxici8+Cis8L3ByZT48cD5Mb2FkIGFuZCBwYXJzZSBhIERURDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2F4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgU0FYIGhhbmRsZXIgYmxvY2sgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aW5wdXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIElucHV0IEJ1ZmZlcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY2hhcnNldCBlbmNvZGluZyBpZiBrbm93bjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHJlc3VsdGluZyA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEdGRQdHIiPnhtbER0ZFB0cjwvYT4gb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLiBAaW5wdXQgd2lsbCBiZSBmcmVlZCBieSB0aGUgZnVuY3Rpb24gaW4gYW55IGNhc2UuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sSW5pdE5vZGVJbmZvU2VxIi8+eG1sSW5pdE5vZGVJbmZvU2VxICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxJbml0Tm9kZUluZm9TZXEJCSg8YSBocmVmPSJsaWJ4bWwyLXBhcnNlci5odG1sI3htbFBhcnNlck5vZGVJbmZvU2VxUHRyIj54bWxQYXJzZXJOb2RlSW5mb1NlcVB0cjwvYT4gc2VxKTxici8+Cis8L3ByZT48cD4tLSBJbml0aWFsaXplIChzZXQgdG8gaW5pdGlhbCBzdGF0ZSkgbm9kZSBpbmZvIHNlcXVlbmNlPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zZXE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbm9kZSBpbmZvIHNlcXVlbmNlIHBvaW50ZXI8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxJbml0UGFyc2VyIi8+eG1sSW5pdFBhcnNlciAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sSW5pdFBhcnNlcgkJCSh2b2lkKTxici8+Cis8L3ByZT48cD5Jbml0aWFsaXphdGlvbiBmdW5jdGlvbiBmb3IgdGhlIFhNTCBwYXJzZXIuIFRoaXMgaXMgbm90IHJlZW50cmFudC4gQ2FsbCBvbmNlIGJlZm9yZSBwcm9jZXNzaW5nIGluIGNhc2Ugb2YgdXNlIGluIG11bHRpdGhyZWFkZWQgcHJvZ3JhbXMuPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEluaXRQYXJzZXJDdHh0Ii8+eG1sSW5pdFBhcnNlckN0eHQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sSW5pdFBhcnNlckN0eHQJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTxici8+Cis8L3ByZT48cD5Jbml0aWFsaXplIGEgcGFyc2VyIGNvbnRleHQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpbiBjYXNlIG9mIHN1Y2Nlc3MgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxLZWVwQmxhbmtzRGVmYXVsdCIvPnhtbEtlZXBCbGFua3NEZWZhdWx0ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbEtlZXBCbGFua3NEZWZhdWx0CQkoaW50IHZhbCk8YnIvPgorPC9wcmU+PHA+U2V0IGFuZCByZXR1cm4gdGhlIHByZXZpb3VzIHZhbHVlIGZvciBkZWZhdWx0IGJsYW5rcyB0ZXh0IG5vZGVzIHN1cHBvcnQuIFRoZSAxLnggdmVyc2lvbiBvZiB0aGUgcGFyc2VyIHVzZWQgYW4gaGV1cmlzdGljIHRvIHRyeSB0byBkZXRlY3QgaWdub3JhYmxlIHdoaXRlIHNwYWNlcy4gQXMgYSByZXN1bHQgdGhlIFNBWCBjYWxsYmFjayB3YXMgZ2VuZXJhdGluZyB4bWxTQVgySWdub3JhYmxlV2hpdGVzcGFjZSgpIGNhbGxiYWNrcyBpbnN0ZWFkIG9mIGNoYXJhY3RlcnMoKSBvbmUsIGFuZCB3aGVuIHVzaW5nIHRoZSBET00gb3V0cHV0IHRleHQgbm9kZXMgY29udGFpbmluZyB0aG9zZSBibGFua3Mgd2VyZSBub3QgZ2VuZXJhdGVkLiBUaGUgMi54IGFuZCBsYXRlciB2ZXJzaW9uIHdpbGwgc3dpdGNoIHRvIHRoZSBYTUwgc3RhbmRhcmQgd2F5IGFuZCBpZ25vcmFibGVXaGl0ZXNwYWNlKCkgYXJlIG9ubHkgZ2VuZXJhdGVkIHdoZW4gcnVubmluZyB0aGUgcGFyc2VyIGluIHZhbGlkYXRpbmcgbW9kZSBhbmQgd2hlbiB0aGUgY3VycmVudCBlbGVtZW50IGRvZXNuJ3QgYWxsb3cgQ0RBVEEgb3IgbWl4ZWQgY29udGVudC4gVGhpcyBmdW5jdGlvbiBpcyBwcm92aWRlZCBhcyBhIHdheSB0byBmb3JjZSB0aGUgc3RhbmRhcmQgYmVoYXZpb3Igb24gMS5YIGxpYnMgYW5kIHRvIHN3aXRjaCBiYWNrIHRvIHRoZSBvbGQgbW9kZSBmb3IgY29tcGF0aWJpbGl0eSB3aGVuIHJ1bm5pbmcgMS5YIGNsaWVudCBjb2RlIG9uIDIuWCAuIFVwZ3JhZGUgb2YgMS5YIGNvZGUgc2hvdWxkIGJlIGRvbmUgYnkgdXNpbmcgeG1sSXNCbGFua05vZGUoKSBjb21tb2RpdHkgZnVuY3Rpb24gdG8gZGV0ZWN0IHRoZSAiZW1wdHkiIG5vZGVzIGdlbmVyYXRlZC4gVGhpcyB2YWx1ZSBhbHNvIGFmZmVjdCBhdXRvZ2VuZXJhdGlvbiBvZiBpbmRlbnRhdGlvbiB3aGVuIHNhdmluZyBjb2RlIGlmIGJsYW5rcyBzZWN0aW9ucyBhcmUga2VwdCwgaW5kZW50YXRpb24gaXMgbm90IGdlbmVyYXRlZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+aW50IDAgb3IgMTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxhc3QgdmFsdWUgZm9yIDAgZm9yIG5vIHN1YnN0aXR1dGlvbiwgMSBmb3Igc3Vic3RpdHV0aW9uLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbExpbmVOdW1iZXJzRGVmYXVsdCIvPnhtbExpbmVOdW1iZXJzRGVmYXVsdCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxMaW5lTnVtYmVyc0RlZmF1bHQJCShpbnQgdmFsKTxici8+Cis8L3ByZT48cD5TZXQgYW5kIHJldHVybiB0aGUgcHJldmlvdXMgdmFsdWUgZm9yIGVuYWJsaW5nIGxpbmUgbnVtYmVycyBpbiBlbGVtZW50cyBjb250ZW50cy4gVGhpcyBtYXkgYnJlYWsgb24gb2xkIGFwcGxpY2F0aW9uIGFuZCBpcyB0dXJuZWQgb2ZmIGJ5IGRlZmF1bHQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmludCAwIG9yIDE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsYXN0IHZhbHVlIGZvciAwIGZvciBubyBzdWJzdGl0dXRpb24sIDEgZm9yIHN1YnN0aXR1dGlvbi48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxMb2FkRXh0ZXJuYWxFbnRpdHkiLz54bWxMb2FkRXh0ZXJuYWxFbnRpdHkgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dFB0ciI+eG1sUGFyc2VySW5wdXRQdHI8L2E+CXhtbExvYWRFeHRlcm5hbEVudGl0eQkoY29uc3QgY2hhciAqIFVSTCwgPGJyLz4JCQkJCQkgY29uc3QgY2hhciAqIElELCA8YnIvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTxici8+Cis8L3ByZT48cD5Mb2FkIGFuIGV4dGVybmFsIGVudGl0eSwgbm90ZSB0aGF0IHRoZSB1c2Ugb2YgdGhpcyBmdW5jdGlvbiBmb3IgdW5wYXJzZWQgZW50aXRpZXMgbWF5IGdlbmVyYXRlIHByb2JsZW1zPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5VUkw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBVUkwgZm9yIHRoZSBlbnRpdHkgdG8gbG9hZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+SUQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBQdWJsaWMgSUQgZm9yIHRoZSBlbnRpdHkgdG8gbG9hZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGNvbnRleHQgaW4gd2hpY2ggdGhlIGVudGl0eSBpcyBjYWxsZWQgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlcklucHV0UHRyIj54bWxQYXJzZXJJbnB1dFB0cjwvYT4gb3IgTlVMTDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE5ld0lPSW5wdXRTdHJlYW0iLz54bWxOZXdJT0lucHV0U3RyZWFtICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRQdHIiPnhtbFBhcnNlcklucHV0UHRyPC9hPgl4bWxOZXdJT0lucHV0U3RyZWFtCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciI+eG1sUGFyc2VySW5wdXRCdWZmZXJQdHI8L2E+IGlucHV0LCA8YnIvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nIj54bWxDaGFyRW5jb2Rpbmc8L2E+IGVuYyk8YnIvPgorPC9wcmU+PHA+Q3JlYXRlIGEgbmV3IGlucHV0IHN0cmVhbSBzdHJ1Y3R1cmUgZW5jYXBzdWxhdGluZyB0aGUgQGlucHV0IGludG8gYSBzdHJlYW0gc3VpdGFibGUgZm9yIHRoZSBwYXJzZXIuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmlucHV0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBJL08gSW5wdXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVuYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGNoYXJzZXQgZW5jb2RpbmcgaWYga25vd248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXcgaW5wdXQgc3RyZWFtIG9yIE5VTEw8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxOZXdQYXJzZXJDdHh0Ii8+eG1sTmV3UGFyc2VyQ3R4dCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+CXhtbE5ld1BhcnNlckN0eHQJKHZvaWQpPGJyLz4KKzwvcHJlPjxwPkFsbG9jYXRlIGFuZCBpbml0aWFsaXplIGEgbmV3IHBhcnNlciBjb250ZXh0LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IG9yIE5VTEw8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnkiLz54bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnkgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5CSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFNBWEhhbmRsZXJQdHIiPnhtbFNBWEhhbmRsZXJQdHI8L2E+IHNheCwgPGJyLz4JCQkJCSB2b2lkICogdXNlcl9kYXRhLCA8YnIvPgkJCQkJIGludCBkZXB0aCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3RyaW5nLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+ICogbHN0KTxici8+Cis8L3ByZT48cD5QYXJzZSBhIHdlbGwtYmFsYW5jZWQgY2h1bmsgb2YgYW4gWE1MIGRvY3VtZW50IGNhbGxlZCBieSB0aGUgcGFyc2VyIFRoZSBhbGxvd2VkIHNlcXVlbmNlIGZvciB0aGUgV2VsbCBCYWxhbmNlZCBDaHVuayBpcyB0aGUgb25lIGRlZmluZWQgYnkgdGhlIGNvbnRlbnQgcHJvZHVjdGlvbiBpbiB0aGUgWE1MIGdyYW1tYXI6IFs0M10gY29udGVudCA6Oj0gKGVsZW1lbnQgfCBDaGFyRGF0YSB8IFJlZmVyZW5jZSB8IENEU2VjdCB8IFBJIHwgQ29tbWVudCkqPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudCB0aGUgY2h1bmsgcGVydGFpbnMgdG88L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNheDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFNBWCBoYW5kbGVyIGJsb2MgKHBvc3NpYmx5IE5VTEwpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD51c2VyX2RhdGE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlRoZSB1c2VyIGRhdGEgcmV0dXJuZWQgb24gU0FYIGNhbGxiYWNrcyAocG9zc2libHkgTlVMTCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRlcHRoPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5Vc2VkIGZvciBsb29wIGRldGVjdGlvbiwgdXNlIDA8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0cmluZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGlucHV0IHN0cmluZyBpbiBVVEY4IG9yIElTTy1MYXRpbiAoemVybyB0ZXJtaW5hdGVkKTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bHN0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmV0dXJuIHZhbHVlIGZvciB0aGUgc2V0IG9mIHBhcnNlZCBub2RlczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpZiB0aGUgY2h1bmsgaXMgd2VsbCBiYWxhbmNlZCwgLTEgaW4gY2FzZSBvZiBhcmdzIHByb2JsZW0gYW5kIHRoZSBwYXJzZXIgZXJyb3IgY29kZSBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlSZWNvdmVyIi8+eG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5UmVjb3ZlciAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlSZWNvdmVyCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxTQVhIYW5kbGVyUHRyIj54bWxTQVhIYW5kbGVyUHRyPC9hPiBzYXgsIDxici8+CQkJCQkJIHZvaWQgKiB1c2VyX2RhdGEsIDxici8+CQkJCQkJIGludCBkZXB0aCwgPGJyLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0cmluZywgPGJyLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gKiBsc3QsIDxici8+CQkJCQkJIGludCByZWNvdmVyKTxici8+Cis8L3ByZT48cD5QYXJzZSBhIHdlbGwtYmFsYW5jZWQgY2h1bmsgb2YgYW4gWE1MIGRvY3VtZW50IGNhbGxlZCBieSB0aGUgcGFyc2VyIFRoZSBhbGxvd2VkIHNlcXVlbmNlIGZvciB0aGUgV2VsbCBCYWxhbmNlZCBDaHVuayBpcyB0aGUgb25lIGRlZmluZWQgYnkgdGhlIGNvbnRlbnQgcHJvZHVjdGlvbiBpbiB0aGUgWE1MIGdyYW1tYXI6IFs0M10gY29udGVudCA6Oj0gKGVsZW1lbnQgfCBDaGFyRGF0YSB8IFJlZmVyZW5jZSB8IENEU2VjdCB8IFBJIHwgQ29tbWVudCkqPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudCB0aGUgY2h1bmsgcGVydGFpbnMgdG88L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNheDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFNBWCBoYW5kbGVyIGJsb2MgKHBvc3NpYmx5IE5VTEwpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD51c2VyX2RhdGE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlRoZSB1c2VyIGRhdGEgcmV0dXJuZWQgb24gU0FYIGNhbGxiYWNrcyAocG9zc2libHkgTlVMTCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRlcHRoPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5Vc2VkIGZvciBsb29wIGRldGVjdGlvbiwgdXNlIDA8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0cmluZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGlucHV0IHN0cmluZyBpbiBVVEY4IG9yIElTTy1MYXRpbiAoemVybyB0ZXJtaW5hdGVkKTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bHN0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmV0dXJuIHZhbHVlIGZvciB0aGUgc2V0IG9mIHBhcnNlZCBub2RlczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVjb3ZlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+cmV0dXJuIG5vZGVzIGV2ZW4gaWYgdGhlIGRhdGEgaXMgYnJva2VuICh1c2UgMCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaWYgdGhlIGNodW5rIGlzIHdlbGwgYmFsYW5jZWQsIC0xIGluIGNhc2Ugb2YgYXJncyBwcm9ibGVtIGFuZCB0aGUgcGFyc2VyIGVycm9yIGNvZGUgb3RoZXJ3aXNlIEluIGNhc2UgcmVjb3ZlciBpcyBzZXQgdG8gMSwgdGhlIG5vZGVsaXN0IHdpbGwgbm90IGJlIGVtcHR5IGV2ZW4gaWYgdGhlIHBhcnNlZCBjaHVuayBpcyBub3Qgd2VsbCBiYWxhbmNlZCwgYXNzdW1pbmcgdGhlIHBhcnNpbmcgc3VjY2VlZGVkIHRvIHNvbWUgZXh0ZW50LjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFBhcnNlQ2h1bmsiLz54bWxQYXJzZUNodW5rICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFBhcnNlQ2h1bmsJCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogY2h1bmssIDxici8+CQkJCQkgaW50IHNpemUsIDxici8+CQkJCQkgaW50IHRlcm1pbmF0ZSk8YnIvPgorPC9wcmU+PHA+UGFyc2UgYSBDaHVuayBvZiBtZW1vcnk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y2h1bms8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIGNoYXIgYXJyYXk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNpemU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzaXplIGluIGJ5dGUgb2YgdGhlIGNodW5rPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50ZXJtaW5hdGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmxhc3QgY2h1bmsgaW5kaWNhdG9yPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD56ZXJvIGlmIG5vIGVycm9yLCB0aGUgPGEgaHJlZj0ibGlieG1sMi14bWxlcnJvci5odG1sI3htbFBhcnNlckVycm9ycyI+eG1sUGFyc2VyRXJyb3JzPC9hPiBvdGhlcndpc2UuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUGFyc2VDdHh0RXh0ZXJuYWxFbnRpdHkiLz54bWxQYXJzZUN0eHRFeHRlcm5hbEVudGl0eSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxQYXJzZUN0eHRFeHRlcm5hbEVudGl0eQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBVUkwsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIElELCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+ICogbHN0KTxici8+Cis8L3ByZT48cD5QYXJzZSBhbiBleHRlcm5hbCBnZW5lcmFsIGVudGl0eSB3aXRoaW4gYW4gZXhpc3RpbmcgcGFyc2luZyBjb250ZXh0IEFuIGV4dGVybmFsIGdlbmVyYWwgcGFyc2VkIGVudGl0eSBpcyB3ZWxsLWZvcm1lZCBpZiBpdCBtYXRjaGVzIHRoZSBwcm9kdWN0aW9uIGxhYmVsZWQgZXh0UGFyc2VkRW50LiBbNzhdIGV4dFBhcnNlZEVudCA6Oj0gVGV4dERlY2w/IGNvbnRlbnQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGV4aXN0aW5nIHBhcnNpbmcgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+VVJMPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgVVJMIGZvciB0aGUgZW50aXR5IHRvIGxvYWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PklEPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgU3lzdGVtIElEIGZvciB0aGUgZW50aXR5IHRvIGxvYWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxzdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHJldHVybiB2YWx1ZSBmb3IgdGhlIHNldCBvZiBwYXJzZWQgbm9kZXM8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaWYgdGhlIGVudGl0eSBpcyB3ZWxsIGZvcm1lZCwgLTEgaW4gY2FzZSBvZiBhcmdzIHByb2JsZW0gYW5kIHRoZSBwYXJzZXIgZXJyb3IgY29kZSBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxQYXJzZURURCIvPnhtbFBhcnNlRFREICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRHRkUHRyIj54bWxEdGRQdHI8L2E+CXhtbFBhcnNlRFRECQkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIEV4dGVybmFsSUQsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIFN5c3RlbUlEKTxici8+Cis8L3ByZT48cD5Mb2FkIGFuZCBwYXJzZSBhbiBleHRlcm5hbCBzdWJzZXQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5FeHRlcm5hbElEPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIE5BTUUqIGNvbnRhaW5pbmcgdGhlIEV4dGVybmFsIElEIG9mIHRoZSBEVEQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlN5c3RlbUlEPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIE5BTUUqIGNvbnRhaW5pbmcgdGhlIFVSTCB0byB0aGUgRFREPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmVzdWx0aW5nIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbER0ZFB0ciI+eG1sRHRkUHRyPC9hPiBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUGFyc2VEb2MiLz54bWxQYXJzZURvYyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPgl4bWxQYXJzZURvYwkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjdXIpPGJyLz4KKzwvcHJlPjxwPnBhcnNlIGFuIFhNTCBpbi1tZW1vcnkgZG9jdW1lbnQgYW5kIGJ1aWxkIGEgdHJlZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIGFuIGFycmF5IG9mIDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSByZXN1bHRpbmcgZG9jdW1lbnQgdHJlZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFBhcnNlRG9jdW1lbnQiLz54bWxQYXJzZURvY3VtZW50ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFBhcnNlRG9jdW1lbnQJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTxici8+Cis8L3ByZT48cD5wYXJzZSBhbiBYTUwgZG9jdW1lbnQgKGFuZCBidWlsZCBhIHRyZWUgaWYgdXNpbmcgdGhlIHN0YW5kYXJkIFNBWCBpbnRlcmZhY2UpLiBbMV0gZG9jdW1lbnQgOjo9IHByb2xvZyBlbGVtZW50IE1pc2MqIFsyMl0gcHJvbG9nIDo6PSBYTUxEZWNsPyBNaXNjKiAoZG9jdHlwZWRlY2wgTWlzYyopPzwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wLCAtMSBpbiBjYXNlIG9mIGVycm9yLiB0aGUgcGFyc2VyIGNvbnRleHQgaXMgYXVnbWVudGVkIGFzIGEgcmVzdWx0IG9mIHRoZSBwYXJzaW5nLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFBhcnNlRW50aXR5Ii8+eG1sUGFyc2VFbnRpdHkgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4JeG1sUGFyc2VFbnRpdHkJCShjb25zdCBjaGFyICogZmlsZW5hbWUpPGJyLz4KKzwvcHJlPjxwPnBhcnNlIGFuIFhNTCBleHRlcm5hbCBlbnRpdHkgb3V0IG9mIGNvbnRleHQgYW5kIGJ1aWxkIGEgdHJlZS4gWzc4XSBleHRQYXJzZWRFbnQgOjo9IFRleHREZWNsPyBjb250ZW50IFRoaXMgY29ycmVzcG9uZCB0byBhICJXZWxsIEJhbGFuY2VkIiBjaHVuazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmlsZW5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmaWxlbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHJlc3VsdGluZyBkb2N1bWVudCB0cmVlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUGFyc2VFeHRQYXJzZWRFbnQiLz54bWxQYXJzZUV4dFBhcnNlZEVudCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxQYXJzZUV4dFBhcnNlZEVudAkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPGJyLz4KKzwvcHJlPjxwPnBhcnNlIGEgZ2VuZXJhbCBwYXJzZWQgZW50aXR5IEFuIGV4dGVybmFsIGdlbmVyYWwgcGFyc2VkIGVudGl0eSBpcyB3ZWxsLWZvcm1lZCBpZiBpdCBtYXRjaGVzIHRoZSBwcm9kdWN0aW9uIGxhYmVsZWQgZXh0UGFyc2VkRW50LiBbNzhdIGV4dFBhcnNlZEVudCA6Oj0gVGV4dERlY2w/IGNvbnRlbnQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCwgLTEgaW4gY2FzZSBvZiBlcnJvci4gdGhlIHBhcnNlciBjb250ZXh0IGlzIGF1Z21lbnRlZCBhcyBhIHJlc3VsdCBvZiB0aGUgcGFyc2luZy48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxQYXJzZUV4dGVybmFsRW50aXR5Ii8+eG1sUGFyc2VFeHRlcm5hbEVudGl0eSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxQYXJzZUV4dGVybmFsRW50aXR5CQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxTQVhIYW5kbGVyUHRyIj54bWxTQVhIYW5kbGVyUHRyPC9hPiBzYXgsIDxici8+CQkJCQkgdm9pZCAqIHVzZXJfZGF0YSwgPGJyLz4JCQkJCSBpbnQgZGVwdGgsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIFVSTCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogSUQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gKiBsc3QpPGJyLz4KKzwvcHJlPjxwPlBhcnNlIGFuIGV4dGVybmFsIGdlbmVyYWwgZW50aXR5IEFuIGV4dGVybmFsIGdlbmVyYWwgcGFyc2VkIGVudGl0eSBpcyB3ZWxsLWZvcm1lZCBpZiBpdCBtYXRjaGVzIHRoZSBwcm9kdWN0aW9uIGxhYmVsZWQgZXh0UGFyc2VkRW50LiBbNzhdIGV4dFBhcnNlZEVudCA6Oj0gVGV4dERlY2w/IGNvbnRlbnQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50IHRoZSBjaHVuayBwZXJ0YWlucyB0bzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2F4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgU0FYIGhhbmRsZXIgYmxvYyAocG9zc2libHkgTlVMTCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnVzZXJfZGF0YTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VGhlIHVzZXIgZGF0YSByZXR1cm5lZCBvbiBTQVggY2FsbGJhY2tzIChwb3NzaWJseSBOVUxMKTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGVwdGg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVzZWQgZm9yIGxvb3AgZGV0ZWN0aW9uLCB1c2UgMDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+VVJMPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgVVJMIGZvciB0aGUgZW50aXR5IHRvIGxvYWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PklEPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgU3lzdGVtIElEIGZvciB0aGUgZW50aXR5IHRvIGxvYWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxzdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHJldHVybiB2YWx1ZSBmb3IgdGhlIHNldCBvZiBwYXJzZWQgbm9kZXM8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaWYgdGhlIGVudGl0eSBpcyB3ZWxsIGZvcm1lZCwgLTEgaW4gY2FzZSBvZiBhcmdzIHByb2JsZW0gYW5kIHRoZSBwYXJzZXIgZXJyb3IgY29kZSBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxQYXJzZUZpbGUiLz54bWxQYXJzZUZpbGUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4JeG1sUGFyc2VGaWxlCQkoY29uc3QgY2hhciAqIGZpbGVuYW1lKTxici8+Cis8L3ByZT48cD5wYXJzZSBhbiBYTUwgZmlsZSBhbmQgYnVpbGQgYSB0cmVlLiBBdXRvbWF0aWMgc3VwcG9ydCBmb3IgWkxJQi9Db21wcmVzcyBjb21wcmVzc2VkIGRvY3VtZW50IGlzIHByb3ZpZGVkIGJ5IGRlZmF1bHQgaWYgZm91bmQgYXQgY29tcGlsZS10aW1lLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmlsZW5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmaWxlbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHJlc3VsdGluZyBkb2N1bWVudCB0cmVlIGlmIHRoZSBmaWxlIHdhcyB3ZWxsZm9ybWVkLCBOVUxMIG90aGVyd2lzZS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxQYXJzZUluTm9kZUNvbnRleHQiLz54bWxQYXJzZUluTm9kZUNvbnRleHQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjeG1sUGFyc2VyRXJyb3JzIj54bWxQYXJzZXJFcnJvcnM8L2E+CXhtbFBhcnNlSW5Ob2RlQ29udGV4dAkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZGF0YSwgPGJyLz4JCQkJCSBpbnQgZGF0YWxlbiwgPGJyLz4JCQkJCSBpbnQgb3B0aW9ucywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiAqIGxzdCk8YnIvPgorPC9wcmU+PHA+UGFyc2UgYSB3ZWxsLWJhbGFuY2VkIGNodW5rIG9mIGFuIFhNTCBkb2N1bWVudCB3aXRoaW4gdGhlIGNvbnRleHQgKERURCwgbmFtZXNwYWNlcywgZXRjIC4uLikgb2YgdGhlIGdpdmVuIG5vZGUuIFRoZSBhbGxvd2VkIHNlcXVlbmNlIGZvciB0aGUgZGF0YSBpcyBhIFdlbGwgQmFsYW5jZWQgQ2h1bmsgZGVmaW5lZCBieSB0aGUgY29udGVudCBwcm9kdWN0aW9uIGluIHRoZSBYTUwgZ3JhbW1hcjogWzQzXSBjb250ZW50IDo6PSAoZWxlbWVudCB8IENoYXJEYXRhIHwgUmVmZXJlbmNlIHwgQ0RTZWN0IHwgUEkgfCBDb21tZW50KSo8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjb250ZXh0IG5vZGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRhdGE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBpbnB1dCBzdHJpbmc8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRhdGFsZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBpbnB1dCBzdHJpbmcgbGVuZ3RoIGluIGJ5dGVzPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vcHRpb25zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGNvbWJpbmF0aW9uIG9mIDxhIGhyZWY9ImxpYnhtbDItcGFyc2VyLmh0bWwjeG1sUGFyc2VyT3B0aW9uIj54bWxQYXJzZXJPcHRpb248L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sc3Q8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSByZXR1cm4gdmFsdWUgZm9yIHRoZSBzZXQgb2YgcGFyc2VkIG5vZGVzPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD48YSBocmVmPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9PSyI+WE1MX0VSUl9PSzwvYT4gaWYgdGhlIGNodW5rIGlzIHdlbGwgYmFsYW5jZWQsIGFuZCB0aGUgcGFyc2VyIGVycm9yIGNvZGUgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUGFyc2VNZW1vcnkiLz54bWxQYXJzZU1lbW9yeSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPgl4bWxQYXJzZU1lbW9yeQkJKGNvbnN0IGNoYXIgKiBidWZmZXIsIDxici8+CQkJCQkgaW50IHNpemUpPGJyLz4KKzwvcHJlPjxwPnBhcnNlIGFuIFhNTCBpbi1tZW1vcnkgYmxvY2sgYW5kIGJ1aWxkIGEgdHJlZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmJ1ZmZlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gcG9pbnRlciB0byBhIGNoYXIgYXJyYXk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNpemU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzaXplIG9mIHRoZSBhcnJheTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHJlc3VsdGluZyBkb2N1bWVudCB0cmVlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUGFyc2VyQWRkTm9kZUluZm8iLz54bWxQYXJzZXJBZGROb2RlSW5mbyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sUGFyc2VyQWRkTm9kZUluZm8JCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDItcGFyc2VyLmh0bWwjeG1sUGFyc2VyTm9kZUluZm9QdHIiPnhtbFBhcnNlck5vZGVJbmZvUHRyPC9hPiBpbmZvKTxici8+Cis8L3ByZT48cD5JbnNlcnQgbm9kZSBpbmZvIHJlY29yZCBpbnRvIHRoZSBzb3J0ZWQgc2VxdWVuY2U8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aW5mbzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBub2RlIGluZm8gc2VxdWVuY2UgcG9pbnRlcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFBhcnNlckZpbmROb2RlSW5mbyIvPnhtbFBhcnNlckZpbmROb2RlSW5mbyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmNvbnN0IDxhIGhyZWY9ImxpYnhtbDItcGFyc2VyLmh0bWwjeG1sUGFyc2VyTm9kZUluZm8iPnhtbFBhcnNlck5vZGVJbmZvPC9hPiAqCXhtbFBhcnNlckZpbmROb2RlSW5mbwkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4LCA8YnIvPgkJCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSk8YnIvPgorPC9wcmU+PHA+RmluZCB0aGUgcGFyc2VyIG5vZGUgaW5mbyBzdHJ1Y3QgZm9yIGEgZ2l2ZW4gbm9kZTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBub2RlIHdpdGhpbiB0aGUgdHJlZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gPGEgaHJlZj0ibGlieG1sMi1wYXJzZXIuaHRtbCN4bWxQYXJzZXJOb2RlSW5mbyI+eG1sUGFyc2VyTm9kZUluZm88L2E+IGJsb2NrIHBvaW50ZXIgb3IgTlVMTDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFBhcnNlckZpbmROb2RlSW5mb0luZGV4Ii8+eG1sUGFyc2VyRmluZE5vZGVJbmZvSW5kZXggKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj51bnNpZ25lZCBsb25nCXhtbFBhcnNlckZpbmROb2RlSW5mb0luZGV4CShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXBhcnNlci5odG1sI3htbFBhcnNlck5vZGVJbmZvU2VxUHRyIj54bWxQYXJzZXJOb2RlSW5mb1NlcVB0cjwvYT4gc2VxLCA8YnIvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlKTxici8+Cis8L3ByZT48cD48YSBocmVmPSJsaWJ4bWwyLXBhcnNlci5odG1sI3htbFBhcnNlckZpbmROb2RlSW5mb0luZGV4Ij54bWxQYXJzZXJGaW5kTm9kZUluZm9JbmRleDwvYT4gOiBGaW5kIHRoZSBpbmRleCB0aGF0IHRoZSBpbmZvIHJlY29yZCBmb3IgdGhlIGdpdmVuIG5vZGUgaXMgb3Igc2hvdWxkIGJlIGF0IGluIGEgc29ydGVkIHNlcXVlbmNlPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zZXE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbm9kZSBpbmZvIHNlcXVlbmNlIHBvaW50ZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBub2RlIHBvaW50ZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbG9uZyBpbmRpY2F0aW5nIHRoZSBwb3NpdGlvbiBvZiB0aGUgcmVjb3JkPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUGFyc2VySW5wdXRHcm93Ii8+eG1sUGFyc2VySW5wdXRHcm93ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFBhcnNlcklucHV0R3JvdwkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlcklucHV0UHRyIj54bWxQYXJzZXJJbnB1dFB0cjwvYT4gaW4sIDxici8+CQkJCQkgaW50IGxlbik8YnIvPgorPC9wcmU+PHA+VGhpcyBmdW5jdGlvbiBpbmNyZWFzZSB0aGUgaW5wdXQgZm9yIHRoZSBwYXJzZXIuIEl0IHRyaWVzIHRvIHByZXNlcnZlIHBvaW50ZXJzIHRvIHRoZSBpbnB1dCBidWZmZXIsIGFuZCBrZWVwIGFscmVhZHkgcmVhZCBkYXRhPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1MIHBhcnNlciBpbnB1dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGVuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBpbmRpY2F0aXZlIHNpemUgZm9yIHRoZSBsb29rYWhlYWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBhbW91bnQgb2YgY2hhciByZWFkLCBvciAtMSBpbiBjYXNlIG9mIGVycm9yLCAwIGluZGljYXRlIHRoZSBlbmQgb2YgdGhpcyBlbnRpdHk8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxQYXJzZXJJbnB1dFJlYWQiLz54bWxQYXJzZXJJbnB1dFJlYWQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sUGFyc2VySW5wdXRSZWFkCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRQdHIiPnhtbFBhcnNlcklucHV0UHRyPC9hPiBpbiwgPGJyLz4JCQkJCSBpbnQgbGVuKTxici8+Cis8L3ByZT48cD5UaGlzIGZ1bmN0aW9uIHdhcyBpbnRlcm5hbCBhbmQgaXMgZGVwcmVjYXRlZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmluPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGlucHV0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIGluZGljYXRpdmUgc2l6ZSBmb3IgdGhlIGxvb2thaGVhZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+LTEgYXMgdGhpcyBpcyBhbiBlcnJvciB0byB1c2UgaXQuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUGVkYW50aWNQYXJzZXJEZWZhdWx0Ii8+eG1sUGVkYW50aWNQYXJzZXJEZWZhdWx0ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFBlZGFudGljUGFyc2VyRGVmYXVsdAkoaW50IHZhbCk8YnIvPgorPC9wcmU+PHA+U2V0IGFuZCByZXR1cm4gdGhlIHByZXZpb3VzIHZhbHVlIGZvciBlbmFibGluZyBwZWRhbnRpYyB3YXJuaW5ncy48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+aW50IDAgb3IgMTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxhc3QgdmFsdWUgZm9yIDAgZm9yIG5vIHN1YnN0aXR1dGlvbiwgMSBmb3Igc3Vic3RpdHV0aW9uLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFJlYWREb2MiLz54bWxSZWFkRG9jICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+CXhtbFJlYWREb2MJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY3VyLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBVUkwsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nLCA8YnIvPgkJCQkJIGludCBvcHRpb25zKTxici8+Cis8L3ByZT48cD5wYXJzZSBhbiBYTUwgaW4tbWVtb3J5IGRvY3VtZW50IGFuZCBidWlsZCBhIHRyZWUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byBhIHplcm8gdGVybWluYXRlZCBzdHJpbmc8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlVSTDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJhc2UgVVJMIHRvIHVzZSBmb3IgdGhlIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbmNvZGluZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50IGVuY29kaW5nLCBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vcHRpb25zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGNvbWJpbmF0aW9uIG9mIDxhIGhyZWY9ImxpYnhtbDItcGFyc2VyLmh0bWwjeG1sUGFyc2VyT3B0aW9uIj54bWxQYXJzZXJPcHRpb248L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmVzdWx0aW5nIGRvY3VtZW50IHRyZWU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxSZWFkRmQiLz54bWxSZWFkRmQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4JeG1sUmVhZEZkCQkoaW50IGZkLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBVUkwsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nLCA8YnIvPgkJCQkJIGludCBvcHRpb25zKTxici8+Cis8L3ByZT48cD5wYXJzZSBhbiBYTUwgZnJvbSBhIGZpbGUgZGVzY3JpcHRvciBhbmQgYnVpbGQgYSB0cmVlLiBOT1RFIHRoYXQgdGhlIGZpbGUgZGVzY3JpcHRvciB3aWxsIG5vdCBiZSBjbG9zZWQgd2hlbiB0aGUgcmVhZGVyIGlzIGNsb3NlZCBvciByZXNldC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZkPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBvcGVuIGZpbGUgZGVzY3JpcHRvcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+VVJMPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYmFzZSBVUkwgdG8gdXNlIGZvciB0aGUgZG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVuY29kaW5nPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQgZW5jb2RpbmcsIG9yIE5VTEw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm9wdGlvbnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgY29tYmluYXRpb24gb2YgPGEgaHJlZj0ibGlieG1sMi1wYXJzZXIuaHRtbCN4bWxQYXJzZXJPcHRpb24iPnhtbFBhcnNlck9wdGlvbjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSByZXN1bHRpbmcgZG9jdW1lbnQgdHJlZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFJlYWRGaWxlIi8+eG1sUmVhZEZpbGUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4JeG1sUmVhZEZpbGUJCShjb25zdCBjaGFyICogZmlsZW5hbWUsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nLCA8YnIvPgkJCQkJIGludCBvcHRpb25zKTxici8+Cis8L3ByZT48cD5wYXJzZSBhbiBYTUwgZmlsZSBmcm9tIHRoZSBmaWxlc3lzdGVtIG9yIHRoZSBuZXR3b3JrLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmlsZW5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgZmlsZSBvciBVUkw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVuY29kaW5nPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQgZW5jb2RpbmcsIG9yIE5VTEw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm9wdGlvbnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgY29tYmluYXRpb24gb2YgPGEgaHJlZj0ibGlieG1sMi1wYXJzZXIuaHRtbCN4bWxQYXJzZXJPcHRpb24iPnhtbFBhcnNlck9wdGlvbjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSByZXN1bHRpbmcgZG9jdW1lbnQgdHJlZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFJlYWRJTyIvPnhtbFJlYWRJTyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPgl4bWxSZWFkSU8JCSg8YSBocmVmPSJsaWJ4bWwyLXhtbElPLmh0bWwjeG1sSW5wdXRSZWFkQ2FsbGJhY2siPnhtbElucHV0UmVhZENhbGxiYWNrPC9hPiBpb3JlYWQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxJTy5odG1sI3htbElucHV0Q2xvc2VDYWxsYmFjayI+eG1sSW5wdXRDbG9zZUNhbGxiYWNrPC9hPiBpb2Nsb3NlLCA8YnIvPgkJCQkJIHZvaWQgKiBpb2N0eCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogVVJMLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyLz4JCQkJCSBpbnQgb3B0aW9ucyk8YnIvPgorPC9wcmU+PHA+cGFyc2UgYW4gWE1MIGRvY3VtZW50IGZyb20gSS9PIGZ1bmN0aW9ucyBhbmQgc291cmNlIGFuZCBidWlsZCBhIHRyZWUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pb3JlYWQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIEkvTyByZWFkIGZ1bmN0aW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pb2Nsb3NlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBJL08gY2xvc2UgZnVuY3Rpb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmlvY3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBJL08gaGFuZGxlcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+VVJMPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYmFzZSBVUkwgdG8gdXNlIGZvciB0aGUgZG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVuY29kaW5nPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQgZW5jb2RpbmcsIG9yIE5VTEw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm9wdGlvbnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgY29tYmluYXRpb24gb2YgPGEgaHJlZj0ibGlieG1sMi1wYXJzZXIuaHRtbCN4bWxQYXJzZXJPcHRpb24iPnhtbFBhcnNlck9wdGlvbjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSByZXN1bHRpbmcgZG9jdW1lbnQgdHJlZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFJlYWRNZW1vcnkiLz54bWxSZWFkTWVtb3J5ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+CXhtbFJlYWRNZW1vcnkJCShjb25zdCBjaGFyICogYnVmZmVyLCA8YnIvPgkJCQkJIGludCBzaXplLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBVUkwsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nLCA8YnIvPgkJCQkJIGludCBvcHRpb25zKTxici8+Cis8L3ByZT48cD5wYXJzZSBhbiBYTUwgaW4tbWVtb3J5IGRvY3VtZW50IGFuZCBidWlsZCBhIHRyZWUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5idWZmZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byBhIGNoYXIgYXJyYXk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNpemU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzaXplIG9mIHRoZSBhcnJheTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+VVJMPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYmFzZSBVUkwgdG8gdXNlIGZvciB0aGUgZG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVuY29kaW5nPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQgZW5jb2RpbmcsIG9yIE5VTEw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm9wdGlvbnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgY29tYmluYXRpb24gb2YgPGEgaHJlZj0ibGlieG1sMi1wYXJzZXIuaHRtbCN4bWxQYXJzZXJPcHRpb24iPnhtbFBhcnNlck9wdGlvbjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSByZXN1bHRpbmcgZG9jdW1lbnQgdHJlZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFJlY292ZXJEb2MiLz54bWxSZWNvdmVyRG9jICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+CXhtbFJlY292ZXJEb2MJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY3VyKTxici8+Cis8L3ByZT48cD5wYXJzZSBhbiBYTUwgaW4tbWVtb3J5IGRvY3VtZW50IGFuZCBidWlsZCBhIHRyZWUuIEluIHRoZSBjYXNlIHRoZSBkb2N1bWVudCBpcyBub3QgV2VsbCBGb3JtZWQsIGEgYXR0ZW1wdCB0byBidWlsZCBhIHRyZWUgaXMgdHJpZWQgYW55d2F5PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byBhbiBhcnJheSBvZiA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmVzdWx0aW5nIGRvY3VtZW50IHRyZWUgb3IgTlVMTCBpbiBjYXNlIG9mIGZhaWx1cmU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxSZWNvdmVyRmlsZSIvPnhtbFJlY292ZXJGaWxlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+CXhtbFJlY292ZXJGaWxlCQkoY29uc3QgY2hhciAqIGZpbGVuYW1lKTxici8+Cis8L3ByZT48cD5wYXJzZSBhbiBYTUwgZmlsZSBhbmQgYnVpbGQgYSB0cmVlLiBBdXRvbWF0aWMgc3VwcG9ydCBmb3IgWkxJQi9Db21wcmVzcyBjb21wcmVzc2VkIGRvY3VtZW50IGlzIHByb3ZpZGVkIGJ5IGRlZmF1bHQgaWYgZm91bmQgYXQgY29tcGlsZS10aW1lLiBJbiB0aGUgY2FzZSB0aGUgZG9jdW1lbnQgaXMgbm90IFdlbGwgRm9ybWVkLCBpdCBhdHRlbXB0cyB0byBidWlsZCBhIHRyZWUgYW55d2F5PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlbmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZpbGVuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmVzdWx0aW5nIGRvY3VtZW50IHRyZWUgb3IgTlVMTCBpbiBjYXNlIG9mIGZhaWx1cmU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxSZWNvdmVyTWVtb3J5Ii8+eG1sUmVjb3Zlck1lbW9yeSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPgl4bWxSZWNvdmVyTWVtb3J5CShjb25zdCBjaGFyICogYnVmZmVyLCA8YnIvPgkJCQkJIGludCBzaXplKTxici8+Cis8L3ByZT48cD5wYXJzZSBhbiBYTUwgaW4tbWVtb3J5IGJsb2NrIGFuZCBidWlsZCBhIHRyZWUuIEluIHRoZSBjYXNlIHRoZSBkb2N1bWVudCBpcyBub3QgV2VsbCBGb3JtZWQsIGFuIGF0dGVtcHQgdG8gYnVpbGQgYSB0cmVlIGlzIHRyaWVkIGFueXdheTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YnVmZmVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBwb2ludGVyIHRvIGEgY2hhciBhcnJheTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2l6ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHNpemUgb2YgdGhlIGFycmF5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmVzdWx0aW5nIGRvY3VtZW50IHRyZWUgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU0FYUGFyc2VEVEQiLz54bWxTQVhQYXJzZURURCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbER0ZFB0ciI+eG1sRHRkUHRyPC9hPgl4bWxTQVhQYXJzZURURAkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFNBWEhhbmRsZXJQdHIiPnhtbFNBWEhhbmRsZXJQdHI8L2E+IHNheCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogRXh0ZXJuYWxJRCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogU3lzdGVtSUQpPGJyLz4KKzwvcHJlPjxwPkxvYWQgYW5kIHBhcnNlIGFuIGV4dGVybmFsIHN1YnNldC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNheDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFNBWCBoYW5kbGVyIGJsb2NrPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5FeHRlcm5hbElEPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIE5BTUUqIGNvbnRhaW5pbmcgdGhlIEV4dGVybmFsIElEIG9mIHRoZSBEVEQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlN5c3RlbUlEPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIE5BTUUqIGNvbnRhaW5pbmcgdGhlIFVSTCB0byB0aGUgRFREPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmVzdWx0aW5nIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbER0ZFB0ciI+eG1sRHRkUHRyPC9hPiBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU0FYUGFyc2VEb2MiLz54bWxTQVhQYXJzZURvYyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPgl4bWxTQVhQYXJzZURvYwkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFNBWEhhbmRsZXJQdHIiPnhtbFNBWEhhbmRsZXJQdHI8L2E+IHNheCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY3VyLCA8YnIvPgkJCQkJIGludCByZWNvdmVyeSk8YnIvPgorPC9wcmU+PHA+cGFyc2UgYW4gWE1MIGluLW1lbW9yeSBkb2N1bWVudCBhbmQgYnVpbGQgYSB0cmVlLiBJdCB1c2UgdGhlIGdpdmVuIFNBWCBmdW5jdGlvbiBibG9jayB0byBoYW5kbGUgdGhlIHBhcnNpbmcgY2FsbGJhY2suIElmIHNheCBpcyBOVUxMLCBmYWxsYmFjayB0byB0aGUgZGVmYXVsdCBET00gdHJlZSBidWlsZGluZyByb3V0aW5lcy48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNheDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFNBWCBoYW5kbGVyIGJsb2NrPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byBhbiBhcnJheSBvZiA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWNvdmVyeTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+d29yayBpbiByZWNvdmVyeSBtb2RlLCBpLmUuIHRyaWVzIHRvIHJlYWQgbm8gV2VsbCBGb3JtZWQgZG9jdW1lbnRzPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmVzdWx0aW5nIGRvY3VtZW50IHRyZWU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTQVhQYXJzZUVudGl0eSIvPnhtbFNBWFBhcnNlRW50aXR5ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+CXhtbFNBWFBhcnNlRW50aXR5CSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxTQVhIYW5kbGVyUHRyIj54bWxTQVhIYW5kbGVyUHRyPC9hPiBzYXgsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGZpbGVuYW1lKTxici8+Cis8L3ByZT48cD5wYXJzZSBhbiBYTUwgZXh0ZXJuYWwgZW50aXR5IG91dCBvZiBjb250ZXh0IGFuZCBidWlsZCBhIHRyZWUuIEl0IHVzZSB0aGUgZ2l2ZW4gU0FYIGZ1bmN0aW9uIGJsb2NrIHRvIGhhbmRsZSB0aGUgcGFyc2luZyBjYWxsYmFjay4gSWYgc2F4IGlzIE5VTEwsIGZhbGxiYWNrIHRvIHRoZSBkZWZhdWx0IERPTSB0cmVlIGJ1aWxkaW5nIHJvdXRpbmVzLiBbNzhdIGV4dFBhcnNlZEVudCA6Oj0gVGV4dERlY2w/IGNvbnRlbnQgVGhpcyBjb3JyZXNwb25kIHRvIGEgIldlbGwgQmFsYW5jZWQiIGNodW5rPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zYXg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBTQVggaGFuZGxlciBibG9jazwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmlsZW5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmaWxlbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHJlc3VsdGluZyBkb2N1bWVudCB0cmVlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU0FYUGFyc2VGaWxlIi8+eG1sU0FYUGFyc2VGaWxlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+CXhtbFNBWFBhcnNlRmlsZQkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFNBWEhhbmRsZXJQdHIiPnhtbFNBWEhhbmRsZXJQdHI8L2E+IHNheCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZmlsZW5hbWUsIDxici8+CQkJCQkgaW50IHJlY292ZXJ5KTxici8+Cis8L3ByZT48cD5wYXJzZSBhbiBYTUwgZmlsZSBhbmQgYnVpbGQgYSB0cmVlLiBBdXRvbWF0aWMgc3VwcG9ydCBmb3IgWkxJQi9Db21wcmVzcyBjb21wcmVzc2VkIGRvY3VtZW50IGlzIHByb3ZpZGVkIGJ5IGRlZmF1bHQgaWYgZm91bmQgYXQgY29tcGlsZS10aW1lLiBJdCB1c2UgdGhlIGdpdmVuIFNBWCBmdW5jdGlvbiBibG9jayB0byBoYW5kbGUgdGhlIHBhcnNpbmcgY2FsbGJhY2suIElmIHNheCBpcyBOVUxMLCBmYWxsYmFjayB0byB0aGUgZGVmYXVsdCBET00gdHJlZSBidWlsZGluZyByb3V0aW5lcy48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNheDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFNBWCBoYW5kbGVyIGJsb2NrPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlbmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZpbGVuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWNvdmVyeTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+d29yayBpbiByZWNvdmVyeSBtb2RlLCBpLmUuIHRyaWVzIHRvIHJlYWQgbm8gV2VsbCBGb3JtZWQgZG9jdW1lbnRzPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmVzdWx0aW5nIGRvY3VtZW50IHRyZWU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTQVhQYXJzZUZpbGVXaXRoRGF0YSIvPnhtbFNBWFBhcnNlRmlsZVdpdGhEYXRhICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+CXhtbFNBWFBhcnNlRmlsZVdpdGhEYXRhCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxTQVhIYW5kbGVyUHRyIj54bWxTQVhIYW5kbGVyUHRyPC9hPiBzYXgsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGZpbGVuYW1lLCA8YnIvPgkJCQkJIGludCByZWNvdmVyeSwgPGJyLz4JCQkJCSB2b2lkICogZGF0YSk8YnIvPgorPC9wcmU+PHA+cGFyc2UgYW4gWE1MIGZpbGUgYW5kIGJ1aWxkIGEgdHJlZS4gQXV0b21hdGljIHN1cHBvcnQgZm9yIFpMSUIvQ29tcHJlc3MgY29tcHJlc3NlZCBkb2N1bWVudCBpcyBwcm92aWRlZCBieSBkZWZhdWx0IGlmIGZvdW5kIGF0IGNvbXBpbGUtdGltZS4gSXQgdXNlIHRoZSBnaXZlbiBTQVggZnVuY3Rpb24gYmxvY2sgdG8gaGFuZGxlIHRoZSBwYXJzaW5nIGNhbGxiYWNrLiBJZiBzYXggaXMgTlVMTCwgZmFsbGJhY2sgdG8gdGhlIGRlZmF1bHQgRE9NIHRyZWUgYnVpbGRpbmcgcm91dGluZXMuIFVzZXIgZGF0YSAodm9pZCAqKSBpcyBzdG9yZWQgd2l0aGluIHRoZSBwYXJzZXIgY29udGV4dCBpbiB0aGUgY29udGV4dCdzIF9wcml2YXRlIG1lbWJlciwgc28gaXQgaXMgYXZhaWxhYmxlIG5lYXJseSBldmVyeXdoZXJlIGluIGxpYnhtbDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2F4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgU0FYIGhhbmRsZXIgYmxvY2s8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZpbGVuYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZmlsZW5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJlY292ZXJ5PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD53b3JrIGluIHJlY292ZXJ5IG1vZGUsIGkuZS4gdHJpZXMgdG8gcmVhZCBubyBXZWxsIEZvcm1lZCBkb2N1bWVudHM8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRhdGE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyZGF0YTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHJlc3VsdGluZyBkb2N1bWVudCB0cmVlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU0FYUGFyc2VNZW1vcnkiLz54bWxTQVhQYXJzZU1lbW9yeSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPgl4bWxTQVhQYXJzZU1lbW9yeQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sU0FYSGFuZGxlclB0ciI+eG1sU0FYSGFuZGxlclB0cjwvYT4gc2F4LCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBidWZmZXIsIDxici8+CQkJCQkgaW50IHNpemUsIDxici8+CQkJCQkgaW50IHJlY292ZXJ5KTxici8+Cis8L3ByZT48cD5wYXJzZSBhbiBYTUwgaW4tbWVtb3J5IGJsb2NrIGFuZCB1c2UgdGhlIGdpdmVuIFNBWCBmdW5jdGlvbiBibG9jayB0byBoYW5kbGUgdGhlIHBhcnNpbmcgY2FsbGJhY2suIElmIHNheCBpcyBOVUxMLCBmYWxsYmFjayB0byB0aGUgZGVmYXVsdCBET00gdHJlZSBidWlsZGluZyByb3V0aW5lcy48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNheDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFNBWCBoYW5kbGVyIGJsb2NrPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5idWZmZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIHBvaW50ZXIgdG8gYSBjaGFyIGFycmF5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zaXplPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc2l6ZSBvZiB0aGUgYXJyYXk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJlY292ZXJ5PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD53b3JrIGluIHJlY292ZXJ5IG1vZGUsIGkuZS4gdHJpZXMgdG8gcmVhZCBub3QgV2VsbCBGb3JtZWQgZG9jdW1lbnRzPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmVzdWx0aW5nIGRvY3VtZW50IHRyZWU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTQVhQYXJzZU1lbW9yeVdpdGhEYXRhIi8+eG1sU0FYUGFyc2VNZW1vcnlXaXRoRGF0YSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPgl4bWxTQVhQYXJzZU1lbW9yeVdpdGhEYXRhCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxTQVhIYW5kbGVyUHRyIj54bWxTQVhIYW5kbGVyUHRyPC9hPiBzYXgsIDxici8+CQkJCQkJIGNvbnN0IGNoYXIgKiBidWZmZXIsIDxici8+CQkJCQkJIGludCBzaXplLCA8YnIvPgkJCQkJCSBpbnQgcmVjb3ZlcnksIDxici8+CQkJCQkJIHZvaWQgKiBkYXRhKTxici8+Cis8L3ByZT48cD5wYXJzZSBhbiBYTUwgaW4tbWVtb3J5IGJsb2NrIGFuZCB1c2UgdGhlIGdpdmVuIFNBWCBmdW5jdGlvbiBibG9jayB0byBoYW5kbGUgdGhlIHBhcnNpbmcgY2FsbGJhY2suIElmIHNheCBpcyBOVUxMLCBmYWxsYmFjayB0byB0aGUgZGVmYXVsdCBET00gdHJlZSBidWlsZGluZyByb3V0aW5lcy4gVXNlciBkYXRhICh2b2lkICopIGlzIHN0b3JlZCB3aXRoaW4gdGhlIHBhcnNlciBjb250ZXh0IGluIHRoZSBjb250ZXh0J3MgX3ByaXZhdGUgbWVtYmVyLCBzbyBpdCBpcyBhdmFpbGFibGUgbmVhcmx5IGV2ZXJ5d2hlcmUgaW4gbGlieG1sPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zYXg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBTQVggaGFuZGxlciBibG9jazwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YnVmZmVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBwb2ludGVyIHRvIGEgY2hhciBhcnJheTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2l6ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHNpemUgb2YgdGhlIGFycmF5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWNvdmVyeTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+d29yayBpbiByZWNvdmVyeSBtb2RlLCBpLmUuIHRyaWVzIHRvIHJlYWQgbm8gV2VsbCBGb3JtZWQgZG9jdW1lbnRzPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kYXRhPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlcmRhdGE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSByZXN1bHRpbmcgZG9jdW1lbnQgdHJlZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNBWFVzZXJQYXJzZUZpbGUiLz54bWxTQVhVc2VyUGFyc2VGaWxlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFNBWFVzZXJQYXJzZUZpbGUJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxTQVhIYW5kbGVyUHRyIj54bWxTQVhIYW5kbGVyUHRyPC9hPiBzYXgsIDxici8+CQkJCQkgdm9pZCAqIHVzZXJfZGF0YSwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZmlsZW5hbWUpPGJyLz4KKzwvcHJlPjxwPnBhcnNlIGFuIFhNTCBmaWxlIGFuZCBjYWxsIHRoZSBnaXZlbiBTQVggaGFuZGxlciByb3V0aW5lcy4gQXV0b21hdGljIHN1cHBvcnQgZm9yIFpMSUIvQ29tcHJlc3MgY29tcHJlc3NlZCBkb2N1bWVudCBpcyBwcm92aWRlZDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2F4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIFNBWCBoYW5kbGVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD51c2VyX2RhdGE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlRoZSB1c2VyIGRhdGEgcmV0dXJuZWQgb24gU0FYIGNhbGxiYWNrczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmlsZW5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgZmlsZSBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGluIGNhc2Ugb2Ygc3VjY2VzcyBvciBhIGVycm9yIG51bWJlciBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTQVhVc2VyUGFyc2VNZW1vcnkiLz54bWxTQVhVc2VyUGFyc2VNZW1vcnkgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sU0FYVXNlclBhcnNlTWVtb3J5CQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sU0FYSGFuZGxlclB0ciI+eG1sU0FYSGFuZGxlclB0cjwvYT4gc2F4LCA8YnIvPgkJCQkJIHZvaWQgKiB1c2VyX2RhdGEsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGJ1ZmZlciwgPGJyLz4JCQkJCSBpbnQgc2l6ZSk8YnIvPgorPC9wcmU+PHA+QSBiZXR0ZXIgU0FYIHBhcnNpbmcgcm91dGluZS4gcGFyc2UgYW4gWE1MIGluLW1lbW9yeSBidWZmZXIgYW5kIGNhbGwgdGhlIGdpdmVuIFNBWCBoYW5kbGVyIHJvdXRpbmVzLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2F4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIFNBWCBoYW5kbGVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD51c2VyX2RhdGE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlRoZSB1c2VyIGRhdGEgcmV0dXJuZWQgb24gU0FYIGNhbGxiYWNrczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YnVmZmVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBpbi1tZW1vcnkgWE1MIGRvY3VtZW50IGlucHV0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zaXplPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbGVuZ3RoIG9mIHRoZSBYTUwgZG9jdW1lbnQgaW4gYnl0ZXM8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaW4gY2FzZSBvZiBzdWNjZXNzIG9yIGEgZXJyb3IgbnVtYmVyIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNldEV4dGVybmFsRW50aXR5TG9hZGVyIi8+eG1sU2V0RXh0ZXJuYWxFbnRpdHlMb2FkZXIgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFNldEV4dGVybmFsRW50aXR5TG9hZGVyCSg8YSBocmVmPSJsaWJ4bWwyLXBhcnNlci5odG1sI3htbEV4dGVybmFsRW50aXR5TG9hZGVyIj54bWxFeHRlcm5hbEVudGl0eUxvYWRlcjwvYT4gZik8YnIvPgorPC9wcmU+PHA+Q2hhbmdlcyB0aGUgZGVmYXVsdGV4dGVybmFsIGVudGl0eSByZXNvbHZlciBmdW5jdGlvbiBmb3IgdGhlIGFwcGxpY2F0aW9uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IGVudGl0eSByZXNvbHZlciBmdW5jdGlvbjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNldEZlYXR1cmUiLz54bWxTZXRGZWF0dXJlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFNldEZlYXR1cmUJCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogbmFtZSwgPGJyLz4JCQkJCSB2b2lkICogdmFsdWUpPGJyLz4KKzwvcHJlPjxwPkNoYW5nZSB0aGUgY3VycmVudCB2YWx1ZSBvZiBvbmUgZmVhdHVyZSBvZiB0aGlzIHBhcnNlciBpbnN0YW5jZTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1ML0hUTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmZWF0dXJlIG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbHVlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5wb2ludGVyIHRvIHRoZSBsb2NhdGlvbiBvZiB0aGUgbmV3IHZhbHVlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4tMSBpbiBjYXNlIG9yIGVycm9yLCAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNldHVwUGFyc2VyRm9yQnVmZmVyIi8+eG1sU2V0dXBQYXJzZXJGb3JCdWZmZXIgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFNldHVwUGFyc2VyRm9yQnVmZmVyCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogYnVmZmVyLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBmaWxlbmFtZSk8YnIvPgorPC9wcmU+PHA+U2V0dXAgdGhlIHBhcnNlciBjb250ZXh0IHRvIHBhcnNlIGEgbmV3IGJ1ZmZlcjsgQ2xlYXJzIGFueSBwcmlvciBjb250ZW50cyBmcm9tIHRoZSBwYXJzZXIgY29udGV4dC4gVGhlIGJ1ZmZlciBwYXJhbWV0ZXIgbXVzdCBub3QgYmUgTlVMTCwgYnV0IHRoZSBmaWxlbmFtZSBwYXJhbWV0ZXIgY2FuIGJlPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmJ1ZmZlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogYnVmZmVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlbmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBmaWxlIG5hbWU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTdG9wUGFyc2VyIi8+eG1sU3RvcFBhcnNlciAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sU3RvcFBhcnNlcgkJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTxici8+Cis8L3ByZT48cD5CbG9ja3MgZnVydGhlciBwYXJzZXIgcHJvY2Vzc2luZzwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdCIvPnhtbFN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdAkoaW50IHZhbCk8YnIvPgorPC9wcmU+PHA+U2V0IGFuZCByZXR1cm4gdGhlIHByZXZpb3VzIHZhbHVlIGZvciBkZWZhdWx0IGVudGl0eSBzdXBwb3J0LiBJbml0aWFsbHkgdGhlIHBhcnNlciBhbHdheXMga2VlcCBlbnRpdHkgcmVmZXJlbmNlcyBpbnN0ZWFkIG9mIHN1YnN0aXR1dGluZyBlbnRpdHkgdmFsdWVzIGluIHRoZSBvdXRwdXQuIFRoaXMgZnVuY3Rpb24gaGFzIHRvIGJlIHVzZWQgdG8gY2hhbmdlIHRoZSBkZWZhdWx0IHBhcnNlciBiZWhhdmlvciBTQVg6OnN1YnN0aXR1dGVFbnRpdGllcygpIGhhcyB0byBiZSB1c2VkIGZvciBjaGFuZ2luZyB0aGF0IG9uIGEgZmlsZSBieSBmaWxlIGJhc2lzLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5pbnQgMCBvciAxPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbGFzdCB2YWx1ZSBmb3IgMCBmb3Igbm8gc3Vic3RpdHV0aW9uLCAxIGZvciBzdWJzdGl0dXRpb24uPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgIDwvZGl2PgorICAgIDwvZGl2PgorICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9kZXZoZWxwL2xpYnhtbDItcGFyc2VySW50ZXJuYWxzLmh0bWwgYi9saWJ4bWwyL2RvYy9kZXZoZWxwL2xpYnhtbDItcGFyc2VySW50ZXJuYWxzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTE1YWQ1YgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL2RldmhlbHAvbGlieG1sMi1wYXJzZXJJbnRlcm5hbHMuaHRtbApAQCAtMCwwICsxLDY4OCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxodG1sPgorICA8aGVhZD4KKyAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIvPgorICAgIDx0aXRsZT5wYXJzZXJJbnRlcm5hbHM6IGludGVybmFscyByb3V0aW5lcyBhbmQgbGltaXRzIGV4cG9ydGVkIGJ5IHRoZSBwYXJzZXIuPC90aXRsZT4KKyAgICA8bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9IkxpYnhtbDIgZGV2aGVscCBzdHlsZXNoZWV0Ii8+CisgICAgPGxpbmsgcmVsPSJzdGFydCIgaHJlZj0iaW5kZXguaHRtbCIgdGl0bGU9ImxpYnhtbDIgUmVmZXJlbmNlIE1hbnVhbCIvPgorICAgIDxsaW5rIHJlbD0idXAiIGhyZWY9ImdlbmVyYWwuaHRtbCIgdGl0bGU9IkFQSSIvPgorICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0ic3R5bGUuY3NzIiB0eXBlPSJ0ZXh0L2NzcyIvPgorICAgIDxsaW5rIHJlbD0iY2hhcHRlciIgaHJlZj0iZ2VuZXJhbC5odG1sIiB0aXRsZT0iQVBJIi8+CisgIDwvaGVhZD4KKyAgPGJvZHkgYmdjb2xvcj0id2hpdGUiIHRleHQ9ImJsYWNrIiBsaW5rPSIjMDAwMEZGIiB2bGluaz0iIzg0MDA4NCIgYWxpbms9IiMwMDAwRkYiPgorICAgIDx0YWJsZSBjbGFzcz0ibmF2aWdhdGlvbiIgd2lkdGg9IjEwMCUiIHN1bW1hcnk9Ik5hdmlnYXRpb24gaGVhZGVyIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjIiPgorICAgICAgPHRyIHZhbGlnbj0ibWlkZGxlIj4KKyAgICAgICAgPHRkPgorICAgICAgICAgIDxhIGFjY2Vzc2tleT0icCIgaHJlZj0ibGlieG1sMi1wYXJzZXIuaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0ibGVmdC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlByZXYiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9InUiIGhyZWY9ImdlbmVyYWwuaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0idXAucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJVcCIvPgorICAgICAgICAgIDwvYT4KKyAgICAgICAgPC90ZD4KKyAgICAgICAgPHRkPgorICAgICAgICAgIDxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iaW5kZXguaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0iaG9tZS5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IkhvbWUiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9Im4iIGhyZWY9ImxpYnhtbDItcGF0dGVybi5odG1sIj4KKyAgICAgICAgICAgIDxpbWcgc3JjPSJyaWdodC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9Ik5leHQiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0aCB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+bGlieG1sMiBSZWZlcmVuY2UgTWFudWFsPC90aD4KKyAgICAgIDwvdHI+CisgICAgPC90YWJsZT4KKyAgICA8aDI+CisgICAgICA8c3BhbiBjbGFzcz0icmVmZW50cnl0aXRsZSI+cGFyc2VySW50ZXJuYWxzPC9zcGFuPgorICAgIDwvaDI+CisgICAgPHA+cGFyc2VySW50ZXJuYWxzIC0gaW50ZXJuYWxzIHJvdXRpbmVzIGFuZCBsaW1pdHMgZXhwb3J0ZWQgYnkgdGhlIHBhcnNlci48L3A+CisgICAgPHA+dGhpcyBtb2R1bGUgZXhwb3J0cyBhIG51bWJlciBvZiBpbnRlcm5hbCBwYXJzaW5nIHJvdXRpbmVzIHRoZXkgYXJlIG5vdCByZWFsbHkgYWxsIGludGVuZGVkIGZvciBhcHBsaWNhdGlvbnMgYnV0IGNhbiBwcm92ZSB1c2VmdWwgZG9pbmcgbG93IGxldmVsIHByb2Nlc3NpbmcuIDwvcD4KKyAgICA8cD5BdXRob3Iocyk6IERhbmllbCBWZWlsbGFyZCA8L3A+CisgICAgPGRpdiBjbGFzcz0icmVmc3lub3BzaXNkaXYiPgorICAgICAgPGgyPlN5bm9wc2lzPC9oMj4KKyAgICAgIDxwcmUgY2xhc3M9InN5bm9wc2lzIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfU1VCU1RJVFVURV9SRUYiPlhNTF9TVUJTVElUVVRFX1JFRjwvYT47CisjZGVmaW5lIDxhIGhyZWY9IiNJU19CTEFOSyI+SVNfQkxBTks8L2E+KGMpOworI2RlZmluZSA8YSBocmVmPSIjSVNfQllURV9DSEFSIj5JU19CWVRFX0NIQVI8L2E+KGMpOworI2RlZmluZSA8YSBocmVmPSIjSVNfUFVCSURDSEFSIj5JU19QVUJJRENIQVI8L2E+KGMpOworI2RlZmluZSA8YSBocmVmPSIjSVNfRElHSVRfQ0giPklTX0RJR0lUX0NIPC9hPihjKTsKKyNkZWZpbmUgPGEgaHJlZj0iI0lTX0VYVEVOREVSIj5JU19FWFRFTkRFUjwvYT4oYyk7CisjZGVmaW5lIDxhIGhyZWY9IiNJU19BU0NJSV9ESUdJVCI+SVNfQVNDSUlfRElHSVQ8L2E+KGMpOworI2RlZmluZSA8YSBocmVmPSIjSVNfQ09NQklOSU5HX0NIIj5JU19DT01CSU5JTkdfQ0g8L2E+KGMpOworI2RlZmluZSA8YSBocmVmPSIjSVNfQ0hBUiI+SVNfQ0hBUjwvYT4oYyk7CisjZGVmaW5lIDxhIGhyZWY9IiNJU19MRVRURVIiPklTX0xFVFRFUjwvYT4oYyk7CisjZGVmaW5lIDxhIGhyZWY9IiNJU19JREVPR1JBUEhJQyI+SVNfSURFT0dSQVBISUM8L2E+KGMpOworI2RlZmluZSA8YSBocmVmPSIjTU9WRVRPX1NUQVJUVEFHIj5NT1ZFVE9fU1RBUlRUQUc8L2E+KHApOworI2RlZmluZSA8YSBocmVmPSIjWE1MX01BWF9OQU1FX0xFTkdUSCI+WE1MX01BWF9OQU1FX0xFTkdUSDwvYT47CisjZGVmaW5lIDxhIGhyZWY9IiNJU19BU0NJSV9MRVRURVIiPklTX0FTQ0lJX0xFVFRFUjwvYT4oYyk7CisjZGVmaW5lIDxhIGhyZWY9IiNJU19ESUdJVCI+SVNfRElHSVQ8L2E+KGMpOworI2RlZmluZSA8YSBocmVmPSIjWE1MX01BWF9ESUNUSU9OQVJZX0xJTUlUIj5YTUxfTUFYX0RJQ1RJT05BUllfTElNSVQ8L2E+OworI2RlZmluZSA8YSBocmVmPSIjWE1MX1NVQlNUSVRVVEVfUEVSRUYiPlhNTF9TVUJTVElUVVRFX1BFUkVGPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI01PVkVUT19FTkRUQUciPk1PVkVUT19FTkRUQUc8L2E+KHApOworI2RlZmluZSA8YSBocmVmPSIjU0tJUF9FT0wiPlNLSVBfRU9MPC9hPihwKTsKKyNkZWZpbmUgPGEgaHJlZj0iI0lTX0VYVEVOREVSX0NIIj5JU19FWFRFTkRFUl9DSDwvYT4oYyk7CisjZGVmaW5lIDxhIGhyZWY9IiNJU19CTEFOS19DSCI+SVNfQkxBTktfQ0g8L2E+KGMpOworI2RlZmluZSA8YSBocmVmPSIjSVNfTEVUVEVSX0NIIj5JU19MRVRURVJfQ0g8L2E+KGMpOworI2RlZmluZSA8YSBocmVmPSIjWE1MX01BWF9MT09LVVBfTElNSVQiPlhNTF9NQVhfTE9PS1VQX0xJTUlUPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI1hNTF9NQVhfVEVYVF9MRU5HVEgiPlhNTF9NQVhfVEVYVF9MRU5HVEg8L2E+OworI2RlZmluZSA8YSBocmVmPSIjWE1MX1NVQlNUSVRVVEVfTk9ORSI+WE1MX1NVQlNUSVRVVEVfTk9ORTwvYT47CisjZGVmaW5lIDxhIGhyZWY9IiNJU19DT01CSU5JTkciPklTX0NPTUJJTklORzwvYT4oYyk7CisjZGVmaW5lIDxhIGhyZWY9IiNYTUxfTUFYX05BTUVMRU4iPlhNTF9NQVhfTkFNRUxFTjwvYT47CisjZGVmaW5lIDxhIGhyZWY9IiNJU19CQVNFQ0hBUiI+SVNfQkFTRUNIQVI8L2E+KGMpOworI2RlZmluZSA8YSBocmVmPSIjSU5QVVRfQ0hVTksiPklOUFVUX0NIVU5LPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI0lTX1BVQklEQ0hBUl9DSCI+SVNfUFVCSURDSEFSX0NIPC9hPihjKTsKKyNkZWZpbmUgPGEgaHJlZj0iI0lTX0NIQVJfQ0giPklTX0NIQVJfQ0g8L2E+KGMpOworI2RlZmluZSA8YSBocmVmPSIjWE1MX1NVQlNUSVRVVEVfQk9USCI+WE1MX1NVQlNUSVRVVEVfQk9USDwvYT47Cis8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgk8YSBocmVmPSIjbm9kZVBvcCI+bm9kZVBvcDwvYT4JCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk7Cit2b2lkCTxhIGhyZWY9IiN4bWxQYXJzZU5vdGF0aW9uRGVjbCI+eG1sUGFyc2VOb3RhdGlvbkRlY2w8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk7Cit2b2lkCTxhIGhyZWY9IiN4bWxQYXJzZUV4dGVybmFsU3Vic2V0Ij54bWxQYXJzZUV4dGVybmFsU3Vic2V0PC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIEV4dGVybmFsSUQsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIFN5c3RlbUlEKTsKK3ZvaWQJPGEgaHJlZj0iI3htbFBhcnNlTWlzYyI+eG1sUGFyc2VNaXNjPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTsKK2ludAk8YSBocmVmPSIjeG1sU3dpdGNoSW5wdXRFbmNvZGluZyI+eG1sU3dpdGNoSW5wdXRFbmNvZGluZzwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlcklucHV0UHRyIj54bWxQYXJzZXJJbnB1dFB0cjwvYT4gaW5wdXQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIiPnhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHI8L2E+IGhhbmRsZXIpOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRQdHIiPnhtbFBhcnNlcklucHV0UHRyPC9hPgk8YSBocmVmPSIjeG1sTmV3U3RyaW5nSW5wdXRTdHJlYW0iPnhtbE5ld1N0cmluZ0lucHV0U3RyZWFtPC9hPgkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGJ1ZmZlcik7Cis8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbFBhcnNlRXh0ZXJuYWxJRCI+eG1sUGFyc2VFeHRlcm5hbElEPC9hPgkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoqIHB1YmxpY0lELCA8YnIvPgkJCQkJIGludCBzdHJpY3QpOworPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxTY2FuTmFtZSI+eG1sU2Nhbk5hbWU8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk7CitpbnQJPGEgaHJlZj0iI3htbFBhcnNlRWxlbWVudERlY2wiPnhtbFBhcnNlRWxlbWVudERlY2w8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk7Cit2b2lkCTxhIGhyZWY9IiN4bWxQYXJzZU1hcmt1cERlY2wiPnhtbFBhcnNlTWFya3VwRGVjbDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTsKKzxhIGhyZWY9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sI2h0bWxQYXJzZXJDdHh0UHRyIj5odG1sUGFyc2VyQ3R4dFB0cjwvYT4JPGEgaHJlZj0iI2h0bWxDcmVhdGVGaWxlUGFyc2VyQ3R4dCI+aHRtbENyZWF0ZUZpbGVQYXJzZXJDdHh0PC9hPgkoY29uc3QgY2hhciAqIGZpbGVuYW1lLCA8YnIvPgkJCQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nKTsKK2ludAk8YSBocmVmPSIjaW5wdXRQdXNoIj5pbnB1dFB1c2g8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRQdHIiPnhtbFBhcnNlcklucHV0UHRyPC9hPiB2YWx1ZSk7Cis8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbFN0cmluZ0xlbkRlY29kZUVudGl0aWVzIj54bWxTdHJpbmdMZW5EZWNvZGVFbnRpdGllczwvYT4JKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzdHIsIDxici8+CQkJCQkJIGludCBsZW4sIDxici8+CQkJCQkJIGludCB3aGF0LCA8YnIvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+IGVuZCwgPGJyLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiBlbmQyLCA8YnIvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+IGVuZDMpOworY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiNuYW1lUG9wIj5uYW1lUG9wPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTsKK3ZvaWQJPGEgaHJlZj0iI3htbFBhcnNlQ29udGVudCI+eG1sUGFyc2VDb250ZW50PC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTsKKzxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlcklucHV0UHRyIj54bWxQYXJzZXJJbnB1dFB0cjwvYT4JPGEgaHJlZj0iI3htbE5ld0lucHV0U3RyZWFtIj54bWxOZXdJbnB1dFN0cmVhbTwvYT4JKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpOworPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxOYW1lc3BhY2VQYXJzZVFOYW1lIj54bWxOYW1lc3BhY2VQYXJzZVFOYW1lPC9hPgkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoqIHByZWZpeCk7Cis8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dFB0ciI+eG1sUGFyc2VySW5wdXRQdHI8L2E+CTxhIGhyZWY9IiN4bWxOZXdJbnB1dEZyb21GaWxlIj54bWxOZXdJbnB1dEZyb21GaWxlPC9hPgkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCQkgY29uc3QgY2hhciAqIGZpbGVuYW1lKTsKK3ZvaWQJPGEgaHJlZj0iI3htbFBhcnNlckhhbmRsZVBFUmVmZXJlbmNlIj54bWxQYXJzZXJIYW5kbGVQRVJlZmVyZW5jZTwvYT4JKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpOworPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxTdHJpbmdEZWNvZGVFbnRpdGllcyI+eG1sU3RyaW5nRGVjb2RlRW50aXRpZXM8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzdHIsIDxici8+CQkJCQkgaW50IHdoYXQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiBlbmQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiBlbmQyLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gZW5kMyk7Cis8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPgk8YSBocmVmPSIjeG1sQ3JlYXRlRmlsZVBhcnNlckN0eHQiPnhtbENyZWF0ZUZpbGVQYXJzZXJDdHh0PC9hPgkoY29uc3QgY2hhciAqIGZpbGVuYW1lKTsKK2ludAk8YSBocmVmPSIjeG1sUGFyc2VDaGFyUmVmIj54bWxQYXJzZUNoYXJSZWY8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpOwordm9pZAk8YSBocmVmPSIjeG1sUGFyc2VFbGVtZW50Ij54bWxQYXJzZUVsZW1lbnQ8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpOwordm9pZAk8YSBocmVmPSIjeG1sUGFyc2VUZXh0RGVjbCI+eG1sUGFyc2VUZXh0RGVjbDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTsKKzxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlcklucHV0UHRyIj54bWxQYXJzZXJJbnB1dFB0cjwvYT4JPGEgaHJlZj0iI3htbE5ld0VudGl0eUlucHV0U3RyZWFtIj54bWxOZXdFbnRpdHlJbnB1dFN0cmVhbTwvYT4JKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEVudGl0eVB0ciI+eG1sRW50aXR5UHRyPC9hPiBlbnRpdHkpOworaW50CTxhIGhyZWY9IiN4bWxDb3B5Q2hhck11bHRpQnl0ZSI+eG1sQ29weUNoYXJNdWx0aUJ5dGU8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG91dCwgPGJyLz4JCQkJCSBpbnQgdmFsKTsKKzxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEVsZW1lbnRDb250ZW50UHRyIj54bWxFbGVtZW50Q29udGVudFB0cjwvYT4JPGEgaHJlZj0iI3htbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2wiPnhtbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2w8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJCQkgaW50IGlucHV0Y2hrKTsKK3ZvaWQJPGEgaHJlZj0iI3htbFBhcnNlQ2hhckRhdGEiPnhtbFBhcnNlQ2hhckRhdGE8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSBpbnQgY2RhdGEpOworPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxQYXJzZVZlcnNpb25JbmZvIj54bWxQYXJzZVZlcnNpb25JbmZvPC9hPgkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk7CitpbnQJPGEgaHJlZj0iI3htbFBhcnNlU0REZWNsIj54bWxQYXJzZVNERGVjbDwvYT4JCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk7CitpbnQJPGEgaHJlZj0iI3htbFBhcnNlRW51bWVyYXRlZFR5cGUiPnhtbFBhcnNlRW51bWVyYXRlZFR5cGU8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxFbnVtZXJhdGlvblB0ciI+eG1sRW51bWVyYXRpb25QdHI8L2E+ICogdHJlZSk7Cit2b2lkCTxhIGhyZWY9IiN4bWxIYW5kbGVFbnRpdHkiPnhtbEhhbmRsZUVudGl0eTwvYT4JCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxFbnRpdHlQdHIiPnhtbEVudGl0eVB0cjwvYT4gZW50aXR5KTsKK2ludAk8YSBocmVmPSIjeG1sQ3VycmVudENoYXIiPnhtbEN1cnJlbnRDaGFyPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIGludCAqIGxlbik7CitpbnQJPGEgaHJlZj0iI3htbFNraXBCbGFua0NoYXJzIj54bWxTa2lwQmxhbmtDaGFyczwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTsKKzxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEVudW1lcmF0aW9uUHRyIj54bWxFbnVtZXJhdGlvblB0cjwvYT4JPGEgaHJlZj0iI3htbFBhcnNlTm90YXRpb25UeXBlIj54bWxQYXJzZU5vdGF0aW9uVHlwZTwvYT4JKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpOwordm9pZAk8YSBocmVmPSIjeG1sUGFyc2VySW5wdXRTaHJpbmsiPnhtbFBhcnNlcklucHV0U2hyaW5rPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlcklucHV0UHRyIj54bWxQYXJzZXJJbnB1dFB0cjwvYT4gaW4pOwordm9pZAk8YSBocmVmPSIjeG1sU2V0RW50aXR5UmVmZXJlbmNlRnVuYyI+eG1sU2V0RW50aXR5UmVmZXJlbmNlRnVuYzwvYT4JKDxhIGhyZWY9ImxpYnhtbDItcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sRW50aXR5UmVmZXJlbmNlRnVuYyI+eG1sRW50aXR5UmVmZXJlbmNlRnVuYzwvYT4gZnVuYyk7Cit2b2lkCTxhIGhyZWY9IiN4bWxGcmVlSW5wdXRTdHJlYW0iPnhtbEZyZWVJbnB1dFN0cmVhbTwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dFB0ciI+eG1sUGFyc2VySW5wdXRQdHI8L2E+IGlucHV0KTsKK3ZvaWQJPGEgaHJlZj0iI3htbFBhcnNlUEVSZWZlcmVuY2UiPnhtbFBhcnNlUEVSZWZlcmVuY2U8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk7Cis8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPgk8YSBocmVmPSIjeG1sQ3JlYXRlVVJMUGFyc2VyQ3R4dCI+eG1sQ3JlYXRlVVJMUGFyc2VyQ3R4dDwvYT4JKGNvbnN0IGNoYXIgKiBmaWxlbmFtZSwgPGJyLz4JCQkJCQkgaW50IG9wdGlvbnMpOworaW50CTxhIGhyZWY9IiN4bWxJc0xldHRlciI+eG1sSXNMZXR0ZXI8L2E+CQkJKGludCBjKTsKK2ludAk8YSBocmVmPSIjeG1sQ2hlY2tMYW5ndWFnZUlEIj54bWxDaGVja0xhbmd1YWdlSUQ8L2E+CQkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGxhbmcpOwordm9pZAk8YSBocmVmPSIjeG1sTmV4dENoYXIiPnhtbE5leHRDaGFyPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTsKKzxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEVudW1lcmF0aW9uUHRyIj54bWxFbnVtZXJhdGlvblB0cjwvYT4JPGEgaHJlZj0iI3htbFBhcnNlRW51bWVyYXRpb25UeXBlIj54bWxQYXJzZUVudW1lcmF0aW9uVHlwZTwvYT4JKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpOworaW50CTxhIGhyZWY9IiN4bWxQYXJzZUF0dHJpYnV0ZVR5cGUiPnhtbFBhcnNlQXR0cmlidXRlVHlwZTwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEVudW1lcmF0aW9uUHRyIj54bWxFbnVtZXJhdGlvblB0cjwvYT4gKiB0cmVlKTsKK2ludAk8YSBocmVmPSIjeG1sUGFyc2VEZWZhdWx0RGVjbCI+eG1sUGFyc2VEZWZhdWx0RGVjbDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiogdmFsdWUpOworPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxQYXJzZVN5c3RlbUxpdGVyYWwiPnhtbFBhcnNlU3lzdGVtTGl0ZXJhbDwvYT4JKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpOworPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxQYXJzZUF0dFZhbHVlIj54bWxQYXJzZUF0dFZhbHVlPC9hPgkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk7Cis8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPgk8YSBocmVmPSIjeG1sQ3JlYXRlTWVtb3J5UGFyc2VyQ3R4dCI+eG1sQ3JlYXRlTWVtb3J5UGFyc2VyQ3R4dDwvYT4JKGNvbnN0IGNoYXIgKiBidWZmZXIsIDxici8+CQkJCQkJCSBpbnQgc2l6ZSk7Cit2b2lkCTxhIGhyZWY9IiN4bWxQYXJzZUF0dHJpYnV0ZUxpc3REZWNsIj54bWxQYXJzZUF0dHJpYnV0ZUxpc3REZWNsPC9hPgkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk7Citjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbFBhcnNlTmFtZSI+eG1sUGFyc2VOYW1lPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpOworPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxQYXJzZUVuY05hbWUiPnhtbFBhcnNlRW5jTmFtZTwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTsKK2ludAk8YSBocmVmPSIjbm9kZVB1c2giPm5vZGVQdXNoPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IHZhbHVlKTsKK2ludAk8YSBocmVmPSIjeG1sU3dpdGNoRW5jb2RpbmciPnhtbFN3aXRjaEVuY29kaW5nPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZyI+eG1sQ2hhckVuY29kaW5nPC9hPiBlbmMpOworaW50CTxhIGhyZWY9IiN4bWxTd2l0Y2hUb0VuY29kaW5nIj54bWxTd2l0Y2hUb0VuY29kaW5nPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIiPnhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHI8L2E+IGhhbmRsZXIpOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRW50aXR5UHRyIj54bWxFbnRpdHlQdHI8L2E+CTxhIGhyZWY9IiN4bWxQYXJzZUVudGl0eVJlZiI+eG1sUGFyc2VFbnRpdHlSZWY8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTsKK2NvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sUGFyc2VBdHRyaWJ1dGUiPnhtbFBhcnNlQXR0cmlidXRlPC9hPgkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoqIHZhbHVlKTsKK3ZvaWQJPGEgaHJlZj0iI3htbFBhcnNlRW5kVGFnIj54bWxQYXJzZUVuZFRhZzwvYT4JCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk7Citjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbFBhcnNlRW5jb2RpbmdEZWNsIj54bWxQYXJzZUVuY29kaW5nRGVjbDwvYT4JKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpOwordm9pZAk8YSBocmVmPSIjaHRtbEluaXRBdXRvQ2xvc2UiPmh0bWxJbml0QXV0b0Nsb3NlPC9hPgkJKHZvaWQpOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4JPGEgaHJlZj0iI3htbENyZWF0ZUVudGl0eVBhcnNlckN0eHQiPnhtbENyZWF0ZUVudGl0eVBhcnNlckN0eHQ8L2E+CShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogVVJMLCA8YnIvPgkJCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIElELCA8YnIvPgkJCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGJhc2UpOworPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxTcGxpdFFOYW1lIj54bWxTcGxpdFFOYW1lPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqKiBwcmVmaXgpOwordm9pZAk8YSBocmVmPSIjeG1sUGFyc2VySGFuZGxlUmVmZXJlbmNlIj54bWxQYXJzZXJIYW5kbGVSZWZlcmVuY2U8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTsKK2NvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sUGFyc2VQSVRhcmdldCI+eG1sUGFyc2VQSVRhcmdldDwvYT4JKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpOworaW50CTxhIGhyZWY9IiN4bWxQYXJzZUVsZW1lbnRDb250ZW50RGVjbCI+eG1sUGFyc2VFbGVtZW50Q29udGVudERlY2w8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEVsZW1lbnRDb250ZW50UHRyIj54bWxFbGVtZW50Q29udGVudFB0cjwvYT4gKiByZXN1bHQpOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRQdHIiPnhtbFBhcnNlcklucHV0UHRyPC9hPgk8YSBocmVmPSIjaW5wdXRQb3AiPmlucHV0UG9wPC9hPgkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk7Cis8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+CTxhIGhyZWY9IiN4bWxQb3BJbnB1dCI+eG1sUG9wSW5wdXQ8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpOworPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxQYXJzZVB1YmlkTGl0ZXJhbCI+eG1sUGFyc2VQdWJpZExpdGVyYWw8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTsKK2ludAk8YSBocmVmPSIjeG1sUHVzaElucHV0Ij54bWxQdXNoSW5wdXQ8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRQdHIiPnhtbFBhcnNlcklucHV0UHRyPC9hPiBpbnB1dCk7Cis8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbFBhcnNlRW50aXR5VmFsdWUiPnhtbFBhcnNlRW50aXR5VmFsdWU8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiogb3JpZyk7Cis8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbERlY29kZUVudGl0aWVzIj54bWxEZWNvZGVFbnRpdGllczwvYT4JKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgaW50IGxlbiwgPGJyLz4JCQkJCSBpbnQgd2hhdCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+IGVuZCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+IGVuZDIsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiBlbmQzKTsKKzxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sUGFyc2VWZXJzaW9uTnVtIj54bWxQYXJzZVZlcnNpb25OdW08L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTsKK3ZvaWQJPGEgaHJlZj0iI3htbFBhcnNlWE1MRGVjbCI+eG1sUGFyc2VYTUxEZWNsPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTsKK3R5cGVkZWYgdm9pZCA8YSBocmVmPSIjeG1sRW50aXR5UmVmZXJlbmNlRnVuYyI+eG1sRW50aXR5UmVmZXJlbmNlRnVuYzwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxFbnRpdHlQdHIiPnhtbEVudGl0eVB0cjwvYT4gZW50LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGZpcnN0Tm9kZSwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBsYXN0Tm9kZSk7Cis8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxFbGVtZW50Q29udGVudFB0ciI+eG1sRWxlbWVudENvbnRlbnRQdHI8L2E+CTxhIGhyZWY9IiN4bWxQYXJzZUVsZW1lbnRNaXhlZENvbnRlbnREZWNsIj54bWxQYXJzZUVsZW1lbnRNaXhlZENvbnRlbnREZWNsPC9hPgkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCQkJIGludCBpbnB1dGNoayk7Cis8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbFBhcnNlUXVvdGVkU3RyaW5nIj54bWxQYXJzZVF1b3RlZFN0cmluZzwvYT4JKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpOworPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxOYW1lc3BhY2VQYXJzZU5TRGVmIj54bWxOYW1lc3BhY2VQYXJzZU5TRGVmPC9hPgkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk7Cit2b2lkCTxhIGhyZWY9IiN4bWxQYXJzZUNEU2VjdCI+eG1sUGFyc2VDRFNlY3Q8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpOworaW50CTxhIGhyZWY9IiN4bWxTdHJpbmdDdXJyZW50Q2hhciI+eG1sU3RyaW5nQ3VycmVudENoYXI8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY3VyLCA8YnIvPgkJCQkJIGludCAqIGxlbik7Cit2b2lkCTxhIGhyZWY9IiN4bWxQYXJzZUNvbW1lbnQiPnhtbFBhcnNlQ29tbWVudDwvYT4JCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk7Cit2b2lkCTxhIGhyZWY9IiN4bWxFcnJNZW1vcnkiPnhtbEVyck1lbW9yeTwvYT4JCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZXh0cmEpOworPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxOYW1lc3BhY2VQYXJzZU5DTmFtZSI+eG1sTmFtZXNwYWNlUGFyc2VOQ05hbWU8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTsKKzxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sUGFyc2VObXRva2VuIj54bWxQYXJzZU5tdG9rZW48L2E+CQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk7Cit2b2lkCTxhIGhyZWY9IiN4bWxQYXJzZVJlZmVyZW5jZSI+eG1sUGFyc2VSZWZlcmVuY2U8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk7CitpbnQJPGEgaHJlZj0iI25hbWVQdXNoIj5uYW1lUHVzaDwvYT4JCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUpOwordm9pZAk8YSBocmVmPSIjeG1sUGFyc2VOYW1lc3BhY2UiPnhtbFBhcnNlTmFtZXNwYWNlPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpOworaW50CTxhIGhyZWY9IiN4bWxDb3B5Q2hhciI+eG1sQ29weUNoYXI8L2E+CQkJKGludCBsZW4sIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG91dCwgPGJyLz4JCQkJCSBpbnQgdmFsKTsKK3ZvaWQJPGEgaHJlZj0iI3htbFBhcnNlUEkiPnhtbFBhcnNlUEk8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpOwordm9pZAk8YSBocmVmPSIjeG1sUGFyc2VEb2NUeXBlRGVjbCI+eG1sUGFyc2VEb2NUeXBlRGVjbDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTsKK2NvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sUGFyc2VTdGFydFRhZyI+eG1sUGFyc2VTdGFydFRhZzwvYT4JKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpOwordm9pZAk8YSBocmVmPSIjeG1sUGFyc2VFbnRpdHlEZWNsIj54bWxQYXJzZUVudGl0eURlY2w8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk7Cis8L3ByZT4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MSIgbGFuZz0iZW4iPgorICAgICAgPGgyPkRlc2NyaXB0aW9uPC9oMj4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MSIgbGFuZz0iZW4iPgorICAgICAgPGgyPkRldGFpbHM8L2gyPgorICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iSU5QVVRfQ0hVTksiPk1hY3JvIDwvYT5JTlBVVF9DSFVOSzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI0lOUFVUX0NIVU5LIj5JTlBVVF9DSFVOSzwvYT47Cis8L3ByZT48cD5UaGUgcGFyc2VyIHRyaWVzIHRvIGFsd2F5cyBoYXZlIHRoYXQgYW1vdW50IG9mIGlucHV0IHJlYWR5LiBPbmUgb2YgdGhlIHBvaW50IGlzIHByb3ZpZGluZyBjb250ZXh0IHdoZW4gcmVwb3J0aW5nIGVycm9ycy48L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iSVNfQVNDSUlfRElHSVQiPk1hY3JvIDwvYT5JU19BU0NJSV9ESUdJVDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI0lTX0FTQ0lJX0RJR0lUIj5JU19BU0NJSV9ESUdJVDwvYT4oYyk7Cis8L3ByZT48cD5NYWNybyB0byBjaGVjayBbMC05XTwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gdmFsdWU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IklTX0FTQ0lJX0xFVFRFUiI+TWFjcm8gPC9hPklTX0FTQ0lJX0xFVFRFUjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI0lTX0FTQ0lJX0xFVFRFUiI+SVNfQVNDSUlfTEVUVEVSPC9hPihjKTsKKzwvcHJlPjxwPk1hY3JvIHRvIGNoZWNrIFthLXpBLVpdPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiB2YWx1ZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iSVNfQkFTRUNIQVIiPk1hY3JvIDwvYT5JU19CQVNFQ0hBUjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI0lTX0JBU0VDSEFSIj5JU19CQVNFQ0hBUjwvYT4oYyk7Cis8L3ByZT48cD5NYWNybyB0byBjaGVjayB0aGUgZm9sbG93aW5nIHByb2R1Y3Rpb24gaW4gdGhlIFhNTCBzcGVjOiBbODVdIEJhc2VDaGFyIDo6PSAuLi4gbG9uZyBsaXN0IHNlZSBSRUMgLi4uPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gVU5JQ09ERSB2YWx1ZSAoaW50KTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iSVNfQkxBTksiPk1hY3JvIDwvYT5JU19CTEFOSzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI0lTX0JMQU5LIj5JU19CTEFOSzwvYT4oYyk7Cis8L3ByZT48cD5NYWNybyB0byBjaGVjayB0aGUgZm9sbG93aW5nIHByb2R1Y3Rpb24gaW4gdGhlIFhNTCBzcGVjOiBbM10gUyA6Oj0gKCN4MjAgfCAjeDkgfCAjeEQgfCAjeEEpKzwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFVOSUNPREUgdmFsdWUgKGludCk8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IklTX0JMQU5LX0NIIj5NYWNybyA8L2E+SVNfQkxBTktfQ0g8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNJU19CTEFOS19DSCI+SVNfQkxBTktfQ0g8L2E+KGMpOworPC9wcmU+PHA+QmVoYXZpb3VyIHNhbWUgYXMgPGEgaHJlZj0ibGlieG1sMi1wYXJzZXJJbnRlcm5hbHMuaHRtbCNJU19CTEFOSyI+SVNfQkxBTks8L2E+PC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiB2YWx1ZSAobm9ybWFsbHkgdW5zaWduZWQgY2hhcik8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IklTX0JZVEVfQ0hBUiI+TWFjcm8gPC9hPklTX0JZVEVfQ0hBUjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI0lTX0JZVEVfQ0hBUiI+SVNfQllURV9DSEFSPC9hPihjKTsKKzwvcHJlPjxwPk1hY3JvIHRvIGNoZWNrIHRoZSBmb2xsb3dpbmcgcHJvZHVjdGlvbiBpbiB0aGUgWE1MIHNwZWM6IFsyXSBDaGFyIDo6PSAjeDkgfCAjeEEgfCAjeEQgfCBbI3gyMC4uLl0gYW55IGJ5dGUgY2hhcmFjdGVyIGluIHRoZSBhY2NlcHRlZCByYW5nZTwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIGJ5dGUgdmFsdWUgKGludCk8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IklTX0NIQVIiPk1hY3JvIDwvYT5JU19DSEFSPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjSVNfQ0hBUiI+SVNfQ0hBUjwvYT4oYyk7Cis8L3ByZT48cD5NYWNybyB0byBjaGVjayB0aGUgZm9sbG93aW5nIHByb2R1Y3Rpb24gaW4gdGhlIFhNTCBzcGVjOiBbMl0gQ2hhciA6Oj0gI3g5IHwgI3hBIHwgI3hEIHwgWyN4MjAtI3hEN0ZGXSB8IFsjeEUwMDAtI3hGRkZEXSB8IFsjeDEwMDAwLSN4MTBGRkZGXSBhbnkgVW5pY29kZSBjaGFyYWN0ZXIsIGV4Y2x1ZGluZyB0aGUgc3Vycm9nYXRlIGJsb2NrcywgRkZGRSwgYW5kIEZGRkYuPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gVU5JQ09ERSB2YWx1ZSAoaW50KTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iSVNfQ0hBUl9DSCI+TWFjcm8gPC9hPklTX0NIQVJfQ0g8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNJU19DSEFSX0NIIj5JU19DSEFSX0NIPC9hPihjKTsKKzwvcHJlPjxwPkJlaGF2ZXMgbGlrZSA8YSBocmVmPSJsaWJ4bWwyLXBhcnNlckludGVybmFscy5odG1sI0lTX0NIQVIiPklTX0NIQVI8L2E+IG9uIHNpbmdsZS1ieXRlIHZhbHVlPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAodXN1YWxseSBhbiB1bnNpZ25lZCBjaGFyKTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iSVNfQ09NQklOSU5HIj5NYWNybyA8L2E+SVNfQ09NQklOSU5HPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjSVNfQ09NQklOSU5HIj5JU19DT01CSU5JTkc8L2E+KGMpOworPC9wcmU+PHA+TWFjcm8gdG8gY2hlY2sgdGhlIGZvbGxvd2luZyBwcm9kdWN0aW9uIGluIHRoZSBYTUwgc3BlYzogWzg3XSBDb21iaW5pbmdDaGFyIDo6PSAuLi4gbG9uZyBsaXN0IHNlZSBSRUMgLi4uPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gVU5JQ09ERSB2YWx1ZSAoaW50KTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iSVNfQ09NQklOSU5HX0NIIj5NYWNybyA8L2E+SVNfQ09NQklOSU5HX0NIPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjSVNfQ09NQklOSU5HX0NIIj5JU19DT01CSU5JTkdfQ0g8L2E+KGMpOworPC9wcmU+PHA+QWx3YXlzIGZhbHNlIChhbGwgY29tYmluaW5nIGNoYXJzICZndDsgMHhmZik8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICh1c3VhbGx5IGFuIHVuc2lnbmVkIGNoYXIpPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJJU19ESUdJVCI+TWFjcm8gPC9hPklTX0RJR0lUPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjSVNfRElHSVQiPklTX0RJR0lUPC9hPihjKTsKKzwvcHJlPjxwPk1hY3JvIHRvIGNoZWNrIHRoZSBmb2xsb3dpbmcgcHJvZHVjdGlvbiBpbiB0aGUgWE1MIHNwZWM6IFs4OF0gRGlnaXQgOjo9IC4uLiBsb25nIGxpc3Qgc2VlIFJFQyAuLi48L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBVTklDT0RFIHZhbHVlIChpbnQpPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJJU19ESUdJVF9DSCI+TWFjcm8gPC9hPklTX0RJR0lUX0NIPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjSVNfRElHSVRfQ0giPklTX0RJR0lUX0NIPC9hPihjKTsKKzwvcHJlPjxwPkJlaGF2ZXMgbGlrZSA8YSBocmVmPSJsaWJ4bWwyLXBhcnNlckludGVybmFscy5odG1sI0lTX0RJR0lUIj5JU19ESUdJVDwvYT4gYnV0IHdpdGggYSBzaW5nbGUgYnl0ZSBhcmd1bWVudDwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gdmFsdWUgKHVzdWFsbHkgYW4gdW5zaWduZWQgY2hhcik8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IklTX0VYVEVOREVSIj5NYWNybyA8L2E+SVNfRVhURU5ERVI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNJU19FWFRFTkRFUiI+SVNfRVhURU5ERVI8L2E+KGMpOworPC9wcmU+PHA+TWFjcm8gdG8gY2hlY2sgdGhlIGZvbGxvd2luZyBwcm9kdWN0aW9uIGluIHRoZSBYTUwgc3BlYzogWzg5XSBFeHRlbmRlciA6Oj0gI3gwMEI3IHwgI3gwMkQwIHwgI3gwMkQxIHwgI3gwMzg3IHwgI3gwNjQwIHwgI3gwRTQ2IHwgI3gwRUM2IHwgI3gzMDA1IHwgWyN4MzAzMS0jeDMwMzVdIHwgWyN4MzA5RC0jeDMwOUVdIHwgWyN4MzBGQy0jeDMwRkVdPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gVU5JQ09ERSB2YWx1ZSAoaW50KTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iSVNfRVhURU5ERVJfQ0giPk1hY3JvIDwvYT5JU19FWFRFTkRFUl9DSDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI0lTX0VYVEVOREVSX0NIIj5JU19FWFRFTkRFUl9DSDwvYT4oYyk7Cis8L3ByZT48cD5CZWhhdmVzIGxpa2UgPGEgaHJlZj0ibGlieG1sMi1wYXJzZXJJbnRlcm5hbHMuaHRtbCNJU19FWFRFTkRFUiI+SVNfRVhURU5ERVI8L2E+IGJ1dCB3aXRoIGEgc2luZ2xlLWJ5dGUgYXJndW1lbnQ8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+IHZhbHVlICh1c3VhbGx5IGFuIHVuc2lnbmVkIGNoYXIpPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJJU19JREVPR1JBUEhJQyI+TWFjcm8gPC9hPklTX0lERU9HUkFQSElDPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjSVNfSURFT0dSQVBISUMiPklTX0lERU9HUkFQSElDPC9hPihjKTsKKzwvcHJlPjxwPk1hY3JvIHRvIGNoZWNrIHRoZSBmb2xsb3dpbmcgcHJvZHVjdGlvbiBpbiB0aGUgWE1MIHNwZWM6IFs4Nl0gSWRlb2dyYXBoaWMgOjo9IFsjeDRFMDAtI3g5RkE1XSB8ICN4MzAwNyB8IFsjeDMwMjEtI3gzMDI5XTwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFVOSUNPREUgdmFsdWUgKGludCk8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IklTX0xFVFRFUiI+TWFjcm8gPC9hPklTX0xFVFRFUjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI0lTX0xFVFRFUiI+SVNfTEVUVEVSPC9hPihjKTsKKzwvcHJlPjxwPk1hY3JvIHRvIGNoZWNrIHRoZSBmb2xsb3dpbmcgcHJvZHVjdGlvbiBpbiB0aGUgWE1MIHNwZWM6IFs4NF0gTGV0dGVyIDo6PSBCYXNlQ2hhciB8IElkZW9ncmFwaGljPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gVU5JQ09ERSB2YWx1ZSAoaW50KTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iSVNfTEVUVEVSX0NIIj5NYWNybyA8L2E+SVNfTEVUVEVSX0NIPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjSVNfTEVUVEVSX0NIIj5JU19MRVRURVJfQ0g8L2E+KGMpOworPC9wcmU+PHA+TWFjcm8gYmVoYXZlcyBsaWtlIElTX0xFVFRFUiwgYnV0IG9ubHkgY2hlY2sgYmFzZSBjaGFyczwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gdmFsdWUgKG5vcm1hbGx5IHVuc2lnbmVkIGNoYXIpPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJJU19QVUJJRENIQVIiPk1hY3JvIDwvYT5JU19QVUJJRENIQVI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNJU19QVUJJRENIQVIiPklTX1BVQklEQ0hBUjwvYT4oYyk7Cis8L3ByZT48cD5NYWNybyB0byBjaGVjayB0aGUgZm9sbG93aW5nIHByb2R1Y3Rpb24gaW4gdGhlIFhNTCBzcGVjOiBbMTNdIFB1YmlkQ2hhciA6Oj0gI3gyMCB8ICN4RCB8ICN4QSB8IFthLXpBLVowLTldIHwgWy0nKCkrLC4vOj0/OyEqI0AkXyVdPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gVU5JQ09ERSB2YWx1ZSAoaW50KTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iSVNfUFVCSURDSEFSX0NIIj5NYWNybyA8L2E+SVNfUFVCSURDSEFSX0NIPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjSVNfUFVCSURDSEFSX0NIIj5JU19QVUJJRENIQVJfQ0g8L2E+KGMpOworPC9wcmU+PHA+U2FtZSBhcyA8YSBocmVmPSJsaWJ4bWwyLXBhcnNlckludGVybmFscy5odG1sI0lTX1BVQklEQ0hBUiI+SVNfUFVCSURDSEFSPC9hPiBidXQgZm9yIHNpbmdsZS1ieXRlIHZhbHVlPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiB2YWx1ZSAobm9ybWFsbHkgdW5zaWduZWQgY2hhcik8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9Ik1PVkVUT19FTkRUQUciPk1hY3JvIDwvYT5NT1ZFVE9fRU5EVEFHPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjTU9WRVRPX0VORFRBRyI+TU9WRVRPX0VORFRBRzwvYT4ocCk7Cis8L3ByZT48cD5Ta2lwcyB0byB0aGUgbmV4dCAnJmd0OycgY2hhci48L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbmQgVVRGOCBzdHJpbmcgcG9pbnRlcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iTU9WRVRPX1NUQVJUVEFHIj5NYWNybyA8L2E+TU9WRVRPX1NUQVJUVEFHPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjTU9WRVRPX1NUQVJUVEFHIj5NT1ZFVE9fU1RBUlRUQUc8L2E+KHApOworPC9wcmU+PHA+U2tpcHMgdG8gdGhlIG5leHQgJyZsdDsnIGNoYXIuPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW5kIFVURjggc3RyaW5nIHBvaW50ZXI8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IlNLSVBfRU9MIj5NYWNybyA8L2E+U0tJUF9FT0w8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNTS0lQX0VPTCI+U0tJUF9FT0w8L2E+KHApOworPC9wcmU+PHA+U2tpcHMgdGhlIGVuZCBvZiBsaW5lIGNoYXJzLjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnA8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuZCBVVEY4IHN0cmluZyBwb2ludGVyPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJYTUxfTUFYX0RJQ1RJT05BUllfTElNSVQiPk1hY3JvIDwvYT5YTUxfTUFYX0RJQ1RJT05BUllfTElNSVQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfTUFYX0RJQ1RJT05BUllfTElNSVQiPlhNTF9NQVhfRElDVElPTkFSWV9MSU1JVDwvYT47Cis8L3ByZT48cD5NYXhpbXVtIHNpemUgYWxsb3dlZCBieSB0aGUgcGFyc2VyIGZvciBhIGRpY3Rpb25hcnkgYnkgZGVmYXVsdCBUaGlzIGlzIG5vdCBhIGxpbWl0YXRpb24gb2YgdGhlIHBhcnNlciBidXQgYSBzYWZldHkgYm91bmRhcnkgZmVhdHVyZSwgdXNlIDxhIGhyZWY9ImxpYnhtbDItcGFyc2VyLmh0bWwjWE1MX1BBUlNFX0hVR0UiPlhNTF9QQVJTRV9IVUdFPC9hPiBvcHRpb24gdG8gb3ZlcnJpZGUgaXQuIEludHJvZHVjZWQgaW4gMi45LjA8L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iWE1MX01BWF9MT09LVVBfTElNSVQiPk1hY3JvIDwvYT5YTUxfTUFYX0xPT0tVUF9MSU1JVDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9NQVhfTE9PS1VQX0xJTUlUIj5YTUxfTUFYX0xPT0tVUF9MSU1JVDwvYT47Cis8L3ByZT48cD5NYXhpbXVtIHNpemUgYWxsb3dlZCBieSB0aGUgcGFyc2VyIGZvciBhaGVhZCBsb29rdXAgVGhpcyBpcyBhbiB1cHBlciBib3VuZGFyeSBlbmZvcmNlZCBieSB0aGUgcGFyc2VyIHRvIGF2b2lkIGJhZCBiZWhhdmlvdXIgb24gInVuZnJpZW5kbHknIGNvbnRlbnQgSW50cm9kdWNlZCBpbiAyLjkuMDwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJYTUxfTUFYX05BTUVMRU4iPk1hY3JvIDwvYT5YTUxfTUFYX05BTUVMRU48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfTUFYX05BTUVMRU4iPlhNTF9NQVhfTkFNRUxFTjwvYT47Cis8L3ByZT48cD5JZGVudGlmaWVycyBjYW4gYmUgbG9uZ2VyLCBidXQgdGhpcyB3aWxsIGJlIG1vcmUgY29zdGx5IGF0IHJ1bnRpbWUuPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IlhNTF9NQVhfTkFNRV9MRU5HVEgiPk1hY3JvIDwvYT5YTUxfTUFYX05BTUVfTEVOR1RIPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX01BWF9OQU1FX0xFTkdUSCI+WE1MX01BWF9OQU1FX0xFTkdUSDwvYT47Cis8L3ByZT48cD5NYXhpbXVtIHNpemUgYWxsb3dlZCBmb3IgYSBtYXJrdXAgaWRlbnRpdGllciBUaGlzIGlzIG5vdCBhIGxpbWl0YXRpb24gb2YgdGhlIHBhcnNlciBidXQgYSBzYWZldHkgYm91bmRhcnkgZmVhdHVyZSwgdXNlIDxhIGhyZWY9ImxpYnhtbDItcGFyc2VyLmh0bWwjWE1MX1BBUlNFX0hVR0UiPlhNTF9QQVJTRV9IVUdFPC9hPiBvcHRpb24gdG8gb3ZlcnJpZGUgaXQuIE5vdGUgdGhhdCB3aXRoIHRoZSB1c2Ugb2YgcGFyc2luZyBkaWN0aW9uYXJpZXMgb3ZlcnJpZGluZyB0aGUgbGltaXQgbWF5IHJlc3VsdCBpbiBtb3JlIHJ1bnRpbWUgbWVtb3J5IHVzYWdlIGluIGZhY2Ugb2YgInVuZnJpZW5kbHknIGNvbnRlbnQgSW50cm9kdWNlZCBpbiAyLjkuMDwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJYTUxfTUFYX1RFWFRfTEVOR1RIIj5NYWNybyA8L2E+WE1MX01BWF9URVhUX0xFTkdUSDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9NQVhfVEVYVF9MRU5HVEgiPlhNTF9NQVhfVEVYVF9MRU5HVEg8L2E+OworPC9wcmU+PHA+TWF4aW11bSBzaXplIGFsbG93ZWQgZm9yIGEgc2luZ2xlIHRleHQgbm9kZSB3aGVuIGJ1aWxkaW5nIGEgdHJlZS4gVGhpcyBpcyBub3QgYSBsaW1pdGF0aW9uIG9mIHRoZSBwYXJzZXIgYnV0IGEgc2FmZXR5IGJvdW5kYXJ5IGZlYXR1cmUsIHVzZSA8YSBocmVmPSJsaWJ4bWwyLXBhcnNlci5odG1sI1hNTF9QQVJTRV9IVUdFIj5YTUxfUEFSU0VfSFVHRTwvYT4gb3B0aW9uIHRvIG92ZXJyaWRlIGl0LiBJbnRyb2R1Y2VkIGluIDIuOS4wPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IlhNTF9TVUJTVElUVVRFX0JPVEgiPk1hY3JvIDwvYT5YTUxfU1VCU1RJVFVURV9CT1RIPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX1NVQlNUSVRVVEVfQk9USCI+WE1MX1NVQlNUSVRVVEVfQk9USDwvYT47Cis8L3ByZT48cD5Cb3RoIGdlbmVyYWwgYW5kIHBhcmFtZXRlciBlbnRpdGllcyBuZWVkIHRvIGJlIHN1YnN0aXR1dGVkLjwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJYTUxfU1VCU1RJVFVURV9OT05FIj5NYWNybyA8L2E+WE1MX1NVQlNUSVRVVEVfTk9ORTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TVUJTVElUVVRFX05PTkUiPlhNTF9TVUJTVElUVVRFX05PTkU8L2E+OworPC9wcmU+PHA+SWYgbm8gZW50aXRpZXMgbmVlZCB0byBiZSBzdWJzdGl0dXRlZC48L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iWE1MX1NVQlNUSVRVVEVfUEVSRUYiPk1hY3JvIDwvYT5YTUxfU1VCU1RJVFVURV9QRVJFRjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TVUJTVElUVVRFX1BFUkVGIj5YTUxfU1VCU1RJVFVURV9QRVJFRjwvYT47Cis8L3ByZT48cD5XaGV0aGVyIHBhcmFtZXRlciBlbnRpdGllcyBuZWVkIHRvIGJlIHN1YnN0aXR1dGVkLjwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJYTUxfU1VCU1RJVFVURV9SRUYiPk1hY3JvIDwvYT5YTUxfU1VCU1RJVFVURV9SRUY8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfU1VCU1RJVFVURV9SRUYiPlhNTF9TVUJTVElUVVRFX1JFRjwvYT47Cis8L3ByZT48cD5XaGV0aGVyIGdlbmVyYWwgZW50aXRpZXMgbmVlZCB0byBiZSBzdWJzdGl0dXRlZC48L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sRW50aXR5UmVmZXJlbmNlRnVuYyIvPkZ1bmN0aW9uIHR5cGUgeG1sRW50aXR5UmVmZXJlbmNlRnVuYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sRW50aXR5UmVmZXJlbmNlRnVuYwkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEVudGl0eVB0ciI+eG1sRW50aXR5UHRyPC9hPiBlbnQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gZmlyc3ROb2RlLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGxhc3ROb2RlKTxici8+Cis8L3ByZT48cD5DYWxsYmFjayBmdW5jdGlvbiB1c2VkIHdoZW4gb25lIG5lZWRzIHRvIGJlIGFibGUgdG8gdHJhY2sgYmFjayB0aGUgcHJvdmVuYW5jZSBvZiBhIGNodW5rIG9mIG5vZGVzIGluaGVyaXRlZCBmcm9tIGFuIGVudGl0eSByZXBsYWNlbWVudC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVudDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVudGl0eTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Zmlyc3ROb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZmlzdCBub2RlIGluIHRoZSBjaHVuazwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGFzdE5vZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsYXN0IG5vZCBpbiB0aGUgY2h1bms8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxQYXJzZXJNYXhEZXB0aCI+VmFyaWFibGUgPC9hPnhtbFBhcnNlck1heERlcHRoPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dW5zaWduZWQgaW50IHhtbFBhcnNlck1heERlcHRoOworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFN0cmluZ0NvbW1lbnQiPlZhcmlhYmxlIDwvYT54bWxTdHJpbmdDb21tZW50PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Y29uc3QgeG1sQ2hhcnhtbFN0cmluZ0NvbW1lbnRbXSB4bWxTdHJpbmdDb21tZW50OworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFN0cmluZ1RleHQiPlZhcmlhYmxlIDwvYT54bWxTdHJpbmdUZXh0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Y29uc3QgeG1sQ2hhcnhtbFN0cmluZ1RleHRbXSB4bWxTdHJpbmdUZXh0OworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFN0cmluZ1RleHROb2VuYyI+VmFyaWFibGUgPC9hPnhtbFN0cmluZ1RleHROb2VuYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmNvbnN0IHhtbENoYXJ4bWxTdHJpbmdUZXh0Tm9lbmNbXSB4bWxTdHJpbmdUZXh0Tm9lbmM7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iaHRtbENyZWF0ZUZpbGVQYXJzZXJDdHh0Ii8+aHRtbENyZWF0ZUZpbGVQYXJzZXJDdHh0ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlckN0eHRQdHIiPmh0bWxQYXJzZXJDdHh0UHRyPC9hPglodG1sQ3JlYXRlRmlsZVBhcnNlckN0eHQJKGNvbnN0IGNoYXIgKiBmaWxlbmFtZSwgPGJyLz4JCQkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZyk8YnIvPgorPC9wcmU+PHA+Q3JlYXRlIGEgcGFyc2VyIGNvbnRleHQgZm9yIGEgZmlsZSBjb250ZW50LiBBdXRvbWF0aWMgc3VwcG9ydCBmb3IgWkxJQi9Db21wcmVzcyBjb21wcmVzc2VkIGRvY3VtZW50IGlzIHByb3ZpZGVkIGJ5IGRlZmF1bHQgaWYgZm91bmQgYXQgY29tcGlsZS10aW1lLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmlsZW5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmaWxlbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jb2Rpbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgZnJlZSBmb3JtIEMgc3RyaW5nIGRlc2NyaWJpbmcgdGhlIEhUTUwgZG9jdW1lbnQgZW5jb2RpbmcsIG9yIE5VTEw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXcgcGFyc2VyIGNvbnRleHQgb3IgTlVMTDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9Imh0bWxJbml0QXV0b0Nsb3NlIi8+aHRtbEluaXRBdXRvQ2xvc2UgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCWh0bWxJbml0QXV0b0Nsb3NlCQkodm9pZCk8YnIvPgorPC9wcmU+PHA+SW5pdGlhbGl6ZSB0aGUgaHRtbFN0YXJ0Q2xvc2VJbmRleCBmb3IgZmFzdCBsb29rdXAgb2YgY2xvc2luZyB0YWdzIG5hbWVzLiBUaGlzIGlzIG5vdCByZWVudHJhbnQuIENhbGwgeG1sSW5pdFBhcnNlcigpIG9uY2UgYmVmb3JlIHByb2Nlc3NpbmcgaW4gY2FzZSBvZiB1c2UgaW4gbXVsdGl0aHJlYWRlZCBwcm9ncmFtcy48L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iaW5wdXRQb3AiLz5pbnB1dFBvcCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlcklucHV0UHRyIj54bWxQYXJzZXJJbnB1dFB0cjwvYT4JaW5wdXRQb3AJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPGJyLz4KKzwvcHJlPjxwPlBvcHMgdGhlIHRvcCBwYXJzZXIgaW5wdXQgZnJvbSB0aGUgaW5wdXQgc3RhY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGlucHV0IGp1c3QgcmVtb3ZlZDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9ImlucHV0UHVzaCIvPmlucHV0UHVzaCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAlpbnB1dFB1c2gJCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dFB0ciI+eG1sUGFyc2VySW5wdXRQdHI8L2E+IHZhbHVlKTxici8+Cis8L3ByZT48cD5QdXNoZXMgYSBuZXcgcGFyc2VyIGlucHV0IG9uIHRvcCBvZiB0aGUgaW5wdXQgc3RhY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsdWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwYXJzZXIgaW5wdXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPi0xIGluIGNhc2Ugb2YgZXJyb3IsIHRoZSBpbmRleCBpbiB0aGUgc3RhY2sgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ibmFtZVBvcCIvPm5hbWVQb3AgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5jb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJbmFtZVBvcAkJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTxici8+Cis8L3ByZT48cD5Qb3BzIHRoZSB0b3AgZWxlbWVudCBuYW1lIGZyb20gdGhlIG5hbWUgc3RhY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5hbWUganVzdCByZW1vdmVkPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ibmFtZVB1c2giLz5uYW1lUHVzaCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAluYW1lUHVzaAkJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB2YWx1ZSk8YnIvPgorPC9wcmU+PHA+UHVzaGVzIGEgbmV3IGVsZW1lbnQgbmFtZSBvbiB0b3Agb2YgdGhlIG5hbWUgc3RhY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsdWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbGVtZW50IG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPi0xIGluIGNhc2Ugb2YgZXJyb3IsIHRoZSBpbmRleCBpbiB0aGUgc3RhY2sgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ibm9kZVBvcCIvPm5vZGVQb3AgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPglub2RlUG9wCQkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPGJyLz4KKzwvcHJlPjxwPlBvcHMgdGhlIHRvcCBlbGVtZW50IG5vZGUgZnJvbSB0aGUgbm9kZSBzdGFjazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbm9kZSBqdXN0IHJlbW92ZWQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJub2RlUHVzaCIvPm5vZGVQdXNoICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CW5vZGVQdXNoCQkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gdmFsdWUpPGJyLz4KKzwvcHJlPjxwPlB1c2hlcyBhIG5ldyBlbGVtZW50IG5vZGUgb24gdG9wIG9mIHRoZSBub2RlIHN0YWNrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbHVlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZWxlbWVudCBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4tMSBpbiBjYXNlIG9mIGVycm9yLCB0aGUgaW5kZXggaW4gdGhlIHN0YWNrIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbENoZWNrTGFuZ3VhZ2VJRCIvPnhtbENoZWNrTGFuZ3VhZ2VJRCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxDaGVja0xhbmd1YWdlSUQJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbGFuZyk8YnIvPgorPC9wcmU+PHA+Q2hlY2tzIHRoYXQgdGhlIHZhbHVlIGNvbmZvcm1zIHRvIHRoZSBMYW5ndWFnZUlEIHByb2R1Y3Rpb246IE5PVEU6IHRoaXMgaXMgc29tZXdoYXQgZGVwcmVjYXRlZCwgdGhvc2UgcHJvZHVjdGlvbnMgd2VyZSByZW1vdmVkIGZyb20gdGhlIFhNTCBTZWNvbmQgZWRpdGlvbi4gWzMzXSBMYW5ndWFnZUlEIDo6PSBMYW5nY29kZSAoJy0nIFN1YmNvZGUpKiBbMzRdIExhbmdjb2RlIDo6PSBJU082MzlDb2RlIHwgSWFuYUNvZGUgfCBVc2VyQ29kZSBbMzVdIElTTzYzOUNvZGUgOjo9IChbYS16XSB8IFtBLVpdKSAoW2Etel0gfCBbQS1aXSkgWzM2XSBJYW5hQ29kZSA6Oj0gKCdpJyB8ICdJJykgJy0nIChbYS16XSB8IFtBLVpdKSsgWzM3XSBVc2VyQ29kZSA6Oj0gKCd4JyB8ICdYJykgJy0nIChbYS16XSB8IFtBLVpdKSsgWzM4XSBTdWJjb2RlIDo6PSAoW2Etel0gfCBbQS1aXSkrIFRoZSBjdXJyZW50IFJFQyA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI3JlZmVyZW5jZSI+cmVmZXJlbmNlPC9hPiB0aGUgc3VjZXNzb3JzIG9mIFJGQyAxNzY2LCBjdXJyZW50bHkgNTY0NiBodHRwOi8vd3d3LnJmYy1lZGl0b3Iub3JnL3JmYy9yZmM1NjQ2LnR4dCBsYW5ndGFnID0gbGFuZ3VhZ2UgWyItIiBzY3JpcHRdIFsiLSIgcmVnaW9uXSAqKCItIiB2YXJpYW50KSAqKCItIiBleHRlbnNpb24pIFsiLSIgcHJpdmF0ZXVzZV0gbGFuZ3VhZ2UgPSAyKjNBTFBIQSA7IHNob3J0ZXN0IElTTyA2MzkgY29kZSBbIi0iIGV4dGxhbmddIDsgc29tZXRpbWVzIGZvbGxvd2VkIGJ5IDsgZXh0ZW5kZWQgbGFuZ3VhZ2Ugc3VidGFncyAvIDRBTFBIQSA7IG9yIHJlc2VydmVkIGZvciBmdXR1cmUgdXNlIC8gNSo4QUxQSEEgOyBvciByZWdpc3RlcmVkIGxhbmd1YWdlIHN1YnRhZyBleHRsYW5nID0gM0FMUEhBIDsgc2VsZWN0ZWQgSVNPIDYzOSBjb2RlcyAqMigiLSIgM0FMUEhBKSA7IHBlcm1hbmVudGx5IHJlc2VydmVkIHNjcmlwdCA9IDRBTFBIQSA7IElTTyAxNTkyNCBjb2RlIHJlZ2lvbiA9IDJBTFBIQSA7IElTTyAzMTY2LTEgY29kZSAvIDNESUdJVCA7IFVOIE0uNDkgY29kZSB2YXJpYW50ID0gNSo4YWxwaGFudW0gOyByZWdpc3RlcmVkIHZhcmlhbnRzIC8gKERJR0lUIDNhbHBoYW51bSkgZXh0ZW5zaW9uID0gc2luZ2xldG9uIDEqKCItIiAoMio4YWxwaGFudW0pKSA7IFNpbmdsZSBhbHBoYW51bWVyaWNzIDsgIngiIHJlc2VydmVkIGZvciBwcml2YXRlIHVzZSBzaW5nbGV0b24gPSBESUdJVCA7IDAgLSA5IC8gJXg0MS01NyA7IEEgLSBXIC8gJXg1OS01QSA7IFkgLSBaIC8gJXg2MS03NyA7IGEgLSB3IC8gJXg3OS03QSA7IHkgLSB6IGl0IHNvdW5kcyByaWdodCB0byBzdGlsbCBhbGxvdyBJcnJlZ3VsYXIgaS14eHggSUFOQSBhbmQgdXNlciBjb2RlcyB0b28gVGhlIHBhcnNlciBiZWxvdyBkb2Vzbid0IHRyeSB0byBjb3BlIHdpdGggZXh0ZW5zaW9uIG9yIHByaXZhdGV1c2UgdGhhdCBjb3VsZCBiZSBhZGRlZCBidXQgdGhhdCdzIG5vdCBpbnRlcm9wZXJhYmxlIGFueXdheTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGFuZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+cG9pbnRlciB0byB0aGUgc3RyaW5nIHZhbHVlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIGNvcnJlY3QgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxDb3B5Q2hhciIvPnhtbENvcHlDaGFyICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbENvcHlDaGFyCQkJKGludCBsZW4sIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG91dCwgPGJyLz4JCQkJCSBpbnQgdmFsKTxici8+Cis8L3ByZT48cD5hcHBlbmQgdGhlIGNoYXIgdmFsdWUgaW4gdGhlIGFycmF5PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPklnbm9yZWQsIGNvbXBhdGliaWxpdHk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm91dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+cG9pbnRlciB0byBhbiBhcnJheSBvZiA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjaGFyIHZhbHVlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gd3JpdHRlbjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbENvcHlDaGFyTXVsdGlCeXRlIi8+eG1sQ29weUNoYXJNdWx0aUJ5dGUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sQ29weUNoYXJNdWx0aUJ5dGUJCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogb3V0LCA8YnIvPgkJCQkJIGludCB2YWwpPGJyLz4KKzwvcHJlPjxwPmFwcGVuZCB0aGUgY2hhciB2YWx1ZSBpbiB0aGUgYXJyYXk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm91dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+cG9pbnRlciB0byBhbiBhcnJheSBvZiA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjaGFyIHZhbHVlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gd3JpdHRlbjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbENyZWF0ZUVudGl0eVBhcnNlckN0eHQiLz54bWxDcmVhdGVFbnRpdHlQYXJzZXJDdHh0ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4JeG1sQ3JlYXRlRW50aXR5UGFyc2VyQ3R4dAkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIFVSTCwgPGJyLz4JCQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBJRCwgPGJyLz4JCQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBiYXNlKTxici8+Cis8L3ByZT48cD5DcmVhdGUgYSBwYXJzZXIgY29udGV4dCBmb3IgYW4gZXh0ZXJuYWwgZW50aXR5IEF1dG9tYXRpYyBzdXBwb3J0IGZvciBaTElCL0NvbXByZXNzIGNvbXByZXNzZWQgZG9jdW1lbnQgaXMgcHJvdmlkZWQgYnkgZGVmYXVsdCBpZiBmb3VuZCBhdCBjb21waWxlLXRpbWUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5VUkw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbnRpdHkgVVJMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5JRDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVudGl0eSBQVUJMSUMgSUQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmJhc2U8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9zc2libGUgYmFzZSBmb3IgdGhlIHRhcmdldCBVUkk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXcgcGFyc2VyIGNvbnRleHQgb3IgTlVMTDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbENyZWF0ZUZpbGVQYXJzZXJDdHh0Ii8+eG1sQ3JlYXRlRmlsZVBhcnNlckN0eHQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPgl4bWxDcmVhdGVGaWxlUGFyc2VyQ3R4dAkoY29uc3QgY2hhciAqIGZpbGVuYW1lKTxici8+Cis8L3ByZT48cD5DcmVhdGUgYSBwYXJzZXIgY29udGV4dCBmb3IgYSBmaWxlIGNvbnRlbnQuIEF1dG9tYXRpYyBzdXBwb3J0IGZvciBaTElCL0NvbXByZXNzIGNvbXByZXNzZWQgZG9jdW1lbnQgaXMgcHJvdmlkZWQgYnkgZGVmYXVsdCBpZiBmb3VuZCBhdCBjb21waWxlLXRpbWUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlbmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZpbGVuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IHBhcnNlciBjb250ZXh0IG9yIE5VTEw8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxDcmVhdGVNZW1vcnlQYXJzZXJDdHh0Ii8+eG1sQ3JlYXRlTWVtb3J5UGFyc2VyQ3R4dCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+CXhtbENyZWF0ZU1lbW9yeVBhcnNlckN0eHQJKGNvbnN0IGNoYXIgKiBidWZmZXIsIDxici8+CQkJCQkJCSBpbnQgc2l6ZSk8YnIvPgorPC9wcmU+PHA+Q3JlYXRlIGEgcGFyc2VyIGNvbnRleHQgZm9yIGFuIFhNTCBpbi1tZW1vcnkgZG9jdW1lbnQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5idWZmZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byBhIGNoYXIgYXJyYXk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNpemU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzaXplIG9mIHRoZSBhcnJheTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ldyBwYXJzZXIgY29udGV4dCBvciBOVUxMPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sQ3JlYXRlVVJMUGFyc2VyQ3R4dCIvPnhtbENyZWF0ZVVSTFBhcnNlckN0eHQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPgl4bWxDcmVhdGVVUkxQYXJzZXJDdHh0CShjb25zdCBjaGFyICogZmlsZW5hbWUsIDxici8+CQkJCQkJIGludCBvcHRpb25zKTxici8+Cis8L3ByZT48cD5DcmVhdGUgYSBwYXJzZXIgY29udGV4dCBmb3IgYSBmaWxlIG9yIFVSTCBjb250ZW50LiBBdXRvbWF0aWMgc3VwcG9ydCBmb3IgWkxJQi9Db21wcmVzcyBjb21wcmVzc2VkIGRvY3VtZW50IGlzIHByb3ZpZGVkIGJ5IGRlZmF1bHQgaWYgZm91bmQgYXQgY29tcGlsZS10aW1lIGFuZCBmb3IgZmlsZSBhY2Nlc3NlczwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmlsZW5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmaWxlbmFtZSBvciBVUkw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm9wdGlvbnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgY29tYmluYXRpb24gb2YgPGEgaHJlZj0ibGlieG1sMi1wYXJzZXIuaHRtbCN4bWxQYXJzZXJPcHRpb24iPnhtbFBhcnNlck9wdGlvbjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXcgcGFyc2VyIGNvbnRleHQgb3IgTlVMTDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEN1cnJlbnRDaGFyIi8+eG1sQ3VycmVudENoYXIgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sQ3VycmVudENoYXIJCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSBpbnQgKiBsZW4pPGJyLz4KKzwvcHJlPjxwPlRoZSBjdXJyZW50IGNoYXIgdmFsdWUsIGlmIHVzaW5nIFVURi04IHRoaXMgbWF5IGFjdHVhbGx5IHNwYW4gbXVsdGlwbGUgYnl0ZXMgaW4gdGhlIGlucHV0IGJ1ZmZlci4gSW1wbGVtZW50IHRoZSBlbmQgb2YgbGluZSBub3JtYWxpemF0aW9uOiAyLjExIEVuZC1vZi1MaW5lIEhhbmRsaW5nIFdoZXJldmVyIGFuIGV4dGVybmFsIHBhcnNlZCBlbnRpdHkgb3IgdGhlIGxpdGVyYWwgZW50aXR5IHZhbHVlIG9mIGFuIGludGVybmFsIHBhcnNlZCBlbnRpdHkgY29udGFpbnMgZWl0aGVyIHRoZSBsaXRlcmFsIHR3by1jaGFyYWN0ZXIgc2VxdWVuY2UgIiN4RCN4QSIgb3IgYSBzdGFuZGFsb25lIGxpdGVyYWwgI3hELCBhbiBYTUwgcHJvY2Vzc29yIG11c3QgcGFzcyB0byB0aGUgYXBwbGljYXRpb24gdGhlIHNpbmdsZSBjaGFyYWN0ZXIgI3hBLiBUaGlzIGJlaGF2aW9yIGNhbiBjb252ZW5pZW50bHkgYmUgcHJvZHVjZWQgYnkgbm9ybWFsaXppbmcgYWxsIGxpbmUgYnJlYWtzIHRvICN4QSBvbiBpbnB1dCwgYmVmb3JlIHBhcnNpbmcuKTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGVuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5wb2ludGVyIHRvIHRoZSBsZW5ndGggb2YgdGhlIGNoYXIgcmVhZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGN1cnJlbnQgY2hhciB2YWx1ZSBhbmQgaXRzIGxlbmd0aDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbERlY29kZUVudGl0aWVzIi8+eG1sRGVjb2RlRW50aXRpZXMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sRGVjb2RlRW50aXRpZXMJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgaW50IGxlbiwgPGJyLz4JCQkJCSBpbnQgd2hhdCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+IGVuZCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+IGVuZDIsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiBlbmQzKTxici8+Cis8L3ByZT48cD5UaGlzIGZ1bmN0aW9uIGlzIGRlcHJlY2F0ZWQsIHdlIG5vdyBhbHdheXMgcHJvY2VzcyBlbnRpdGllcyBjb250ZW50IHRocm91Z2ggPGEgaHJlZj0ibGlieG1sMi1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxTdHJpbmdEZWNvZGVFbnRpdGllcyI+eG1sU3RyaW5nRGVjb2RlRW50aXRpZXM8L2E+IFRPRE86IHJlbW92ZSBpdCBpbiBuZXh0IG1ham9yIHJlbGVhc2UuIFs2N10gUmVmZXJlbmNlIDo6PSBFbnRpdHlSZWYgfCBDaGFyUmVmIFs2OV0gUEVSZWZlcmVuY2UgOjo9ICclJyBOYW1lICc7JzwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsZW4gdG8gZGVjb2RlIChpbiBieXRlcyAhKSwgLTEgZm9yIG5vIHNpemUgbGltaXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PndoYXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmNvbWJpbmF0aW9uIG9mIDxhIGhyZWY9ImxpYnhtbDItcGFyc2VySW50ZXJuYWxzLmh0bWwjWE1MX1NVQlNUSVRVVEVfUkVGIj5YTUxfU1VCU1RJVFVURV9SRUY8L2E+IGFuZCA8YSBocmVmPSJsaWJ4bWwyLXBhcnNlckludGVybmFscy5odG1sI1hNTF9TVUJTVElUVVRFX1BFUkVGIj5YTUxfU1VCU1RJVFVURV9QRVJFRjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVuZDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gZW5kIG1hcmtlciB4bWxDaGFyLCAwIGlmIG5vbmU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVuZDI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIGVuZCBtYXJrZXIgeG1sQ2hhciwgMCBpZiBub25lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbmQzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBlbmQgbWFya2VyIHhtbENoYXIsIDAgaWYgbm9uZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+QSBuZXdseSBhbGxvY2F0ZWQgc3RyaW5nIHdpdGggdGhlIHN1YnN0aXR1dGlvbiBkb25lLiBUaGUgY2FsbGVyIG11c3QgZGVhbGxvY2F0ZSBpdCAhPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sRXJyTWVtb3J5Ii8+eG1sRXJyTWVtb3J5ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxFcnJNZW1vcnkJCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZXh0cmEpPGJyLz4KKzwvcHJlPjxwPkhhbmRsZSBhIHJlZGVmaW5pdGlvbiBvZiA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBlcnJvcjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5leHRyYTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+ZXh0cmEgaW5mb3JtYXRpb25zPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sRnJlZUlucHV0U3RyZWFtIi8+eG1sRnJlZUlucHV0U3RyZWFtICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxGcmVlSW5wdXRTdHJlYW0JCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dFB0ciI+eG1sUGFyc2VySW5wdXRQdHI8L2E+IGlucHV0KTxici8+Cis8L3ByZT48cD5GcmVlIHVwIGFuIGlucHV0IHN0cmVhbS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmlucHV0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dFB0ciI+eG1sUGFyc2VySW5wdXRQdHI8L2E+PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sSGFuZGxlRW50aXR5Ii8+eG1sSGFuZGxlRW50aXR5ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxIYW5kbGVFbnRpdHkJCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxFbnRpdHlQdHIiPnhtbEVudGl0eVB0cjwvYT4gZW50aXR5KTxici8+Cis8L3ByZT48cD5EZWZhdWx0IGhhbmRsaW5nIG9mIGRlZmluZWQgZW50aXRpZXMsIHdoZW4gc2hvdWxkIHdlIGRlZmluZSBhIG5ldyBpbnB1dCBzdHJlYW0gPyBXaGVuIGRvIHdlIGp1c3QgaGFuZGxlIHRoYXQgYXMgYSBzZXQgb2YgY2hhcnMgPyBPQlNPTEVURTogdG8gYmUgcmVtb3ZlZCBhdCBzb21lIHBvaW50LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbnRpdHk8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBlbnRpdHkgcG9pbnRlci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxJc0xldHRlciIvPnhtbElzTGV0dGVyICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbElzTGV0dGVyCQkJKGludCBjKTxici8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgYWxsb3dlZCBieSB0aGUgcHJvZHVjdGlvbiBbODRdIExldHRlciA6Oj0gQmFzZUNoYXIgfCBJZGVvZ3JhcGhpYzwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gdW5pY29kZSBjaGFyYWN0ZXIgKGludCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaWYgbm90LCBub24temVybyBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxOYW1lc3BhY2VQYXJzZU5DTmFtZSIvPnhtbE5hbWVzcGFjZVBhcnNlTkNOYW1lICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbE5hbWVzcGFjZVBhcnNlTkNOYW1lCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTxici8+Cis8L3ByZT48cD5wYXJzZSBhbiBYTUwgbmFtZXNwYWNlIG5hbWUuIFRPRE86IHRoaXMgc2VlbXMgbm90IGluIHVzZSBhbnltb3JlLCB0aGUgbmFtZXNwYWNlIGhhbmRsaW5nIGlzIGRvbmUgb24gdG9wIG9mIHRoZSBTQVggaW50ZXJmYWNlcywgaS5lLiBub3Qgb24gcmF3IGlucHV0LiBbTlMgM10gTkNOYW1lIDo6PSAoTGV0dGVyIHwgJ18nKSAoTkNOYW1lQ2hhcikqIFtOUyA0XSBOQ05hbWVDaGFyIDo6PSBMZXR0ZXIgfCBEaWdpdCB8ICcuJyB8ICctJyB8ICdfJyB8IENvbWJpbmluZ0NoYXIgfCBFeHRlbmRlcjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZXNwYWNlIG5hbWUgb3IgTlVMTDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE5hbWVzcGFjZVBhcnNlTlNEZWYiLz54bWxOYW1lc3BhY2VQYXJzZU5TRGVmICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbE5hbWVzcGFjZVBhcnNlTlNEZWYJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPGJyLz4KKzwvcHJlPjxwPnBhcnNlIGEgbmFtZXNwYWNlIHByZWZpeCBkZWNsYXJhdGlvbiBUT0RPOiB0aGlzIHNlZW1zIG5vdCBpbiB1c2UgYW55bW9yZSwgdGhlIG5hbWVzcGFjZSBoYW5kbGluZyBpcyBkb25lIG9uIHRvcCBvZiB0aGUgU0FYIGludGVyZmFjZXMsIGkuZS4gbm90IG9uIHJhdyBpbnB1dC4gW05TIDFdIE5TRGVmIDo6PSBQcmVmaXhEZWYgRXEgU3lzdGVtTGl0ZXJhbCBbTlMgMl0gUHJlZml4RGVmIDo6PSAneG1sbnMnICgnOicgTkNOYW1lKT88L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5hbWVzcGFjZSBuYW1lPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTmFtZXNwYWNlUGFyc2VRTmFtZSIvPnhtbE5hbWVzcGFjZVBhcnNlUU5hbWUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sTmFtZXNwYWNlUGFyc2VRTmFtZQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoqIHByZWZpeCk8YnIvPgorPC9wcmU+PHA+VE9ETzogdGhpcyBzZWVtcyBub3QgaW4gdXNlIGFueW1vcmUsIHRoZSBuYW1lc3BhY2UgaGFuZGxpbmcgaXMgZG9uZSBvbiB0b3Agb2YgdGhlIFNBWCBpbnRlcmZhY2VzLCBpLmUuIG5vdCBvbiByYXcgaW5wdXQuIHBhcnNlIGFuIFhNTCBxdWFsaWZpZWQgbmFtZSBbTlMgNV0gUU5hbWUgOjo9IChQcmVmaXggJzonKT8gTG9jYWxQYXJ0IFtOUyA2XSBQcmVmaXggOjo9IE5DTmFtZSBbTlMgN10gTG9jYWxQYXJ0IDo6PSBOQ05hbWU8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cHJlZml4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKio8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsb2NhbCBwYXJ0LCBhbmQgcHJlZml4IGlzIHVwZGF0ZWQgdG8gZ2V0IHRoZSBQcmVmaXggaWYgYW55LjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE5ld0VudGl0eUlucHV0U3RyZWFtIi8+eG1sTmV3RW50aXR5SW5wdXRTdHJlYW0gKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dFB0ciI+eG1sUGFyc2VySW5wdXRQdHI8L2E+CXhtbE5ld0VudGl0eUlucHV0U3RyZWFtCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxFbnRpdHlQdHIiPnhtbEVudGl0eVB0cjwvYT4gZW50aXR5KTxici8+Cis8L3ByZT48cD5DcmVhdGUgYSBuZXcgaW5wdXQgc3RyZWFtIGJhc2VkIG9uIGFuIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEVudGl0eVB0ciI+eG1sRW50aXR5UHRyPC9hPjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbnRpdHk8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIEVudGl0eSBwb2ludGVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IGlucHV0IHN0cmVhbSBvciBOVUxMPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTmV3SW5wdXRGcm9tRmlsZSIvPnhtbE5ld0lucHV0RnJvbUZpbGUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dFB0ciI+eG1sUGFyc2VySW5wdXRQdHI8L2E+CXhtbE5ld0lucHV0RnJvbUZpbGUJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkJIGNvbnN0IGNoYXIgKiBmaWxlbmFtZSk8YnIvPgorPC9wcmU+PHA+Q3JlYXRlIGEgbmV3IGlucHV0IHN0cmVhbSBiYXNlZCBvbiBhIGZpbGUgb3IgYW4gVVJMLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlbmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZpbGVuYW1lIHRvIHVzZSBhcyBlbnRpdHk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXcgaW5wdXQgc3RyZWFtIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE5ld0lucHV0U3RyZWFtIi8+eG1sTmV3SW5wdXRTdHJlYW0gKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dFB0ciI+eG1sUGFyc2VySW5wdXRQdHI8L2E+CXhtbE5ld0lucHV0U3RyZWFtCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTxici8+Cis8L3ByZT48cD5DcmVhdGUgYSBuZXcgaW5wdXQgc3RyZWFtIHN0cnVjdHVyZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ldyBpbnB1dCBzdHJlYW0gb3IgTlVMTDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE5ld1N0cmluZ0lucHV0U3RyZWFtIi8+eG1sTmV3U3RyaW5nSW5wdXRTdHJlYW0gKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dFB0ciI+eG1sUGFyc2VySW5wdXRQdHI8L2E+CXhtbE5ld1N0cmluZ0lucHV0U3RyZWFtCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogYnVmZmVyKTxici8+Cis8L3ByZT48cD5DcmVhdGUgYSBuZXcgaW5wdXQgc3RyZWFtIGJhc2VkIG9uIGEgbWVtb3J5IGJ1ZmZlci48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YnVmZmVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBtZW1vcnkgYnVmZmVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IGlucHV0IHN0cmVhbTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE5leHRDaGFyIi8+eG1sTmV4dENoYXIgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbE5leHRDaGFyCQkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPGJyLz4KKzwvcHJlPjxwPlNraXAgdG8gdGhlIG5leHQgY2hhciBpbnB1dCBjaGFyLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFBhcnNlQXR0VmFsdWUiLz54bWxQYXJzZUF0dFZhbHVlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbFBhcnNlQXR0VmFsdWUJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPGJyLz4KKzwvcHJlPjxwPnBhcnNlIGEgdmFsdWUgZm9yIGFuIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IE5vdGU6IHRoZSBwYXJzZXIgd29uJ3QgZG8gc3Vic3RpdHV0aW9uIG9mIGVudGl0aWVzIGhlcmUsIHRoaXMgd2lsbCBiZSBoYW5kbGVkIGxhdGVyIGluIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFN0cmluZ0dldE5vZGVMaXN0Ij54bWxTdHJpbmdHZXROb2RlTGlzdDwvYT4gWzEwXSBBdHRWYWx1ZSA6Oj0gJyInIChbXiZsdDsmYW1wOyJdIHwgUmVmZXJlbmNlKSogJyInIHwgIiciIChbXiZsdDsmYW1wOyddIHwgUmVmZXJlbmNlKSogIiciIDMuMy4zIEF0dHJpYnV0ZS1WYWx1ZSBOb3JtYWxpemF0aW9uOiBCZWZvcmUgdGhlIHZhbHVlIG9mIGFuIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IGlzIHBhc3NlZCB0byB0aGUgYXBwbGljYXRpb24gb3IgY2hlY2tlZCBmb3IgdmFsaWRpdHksIHRoZSBYTUwgcHJvY2Vzc29yIG11c3Qgbm9ybWFsaXplIGl0IGFzIGZvbGxvd3M6IC0gYSBjaGFyYWN0ZXIgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNyZWZlcmVuY2UiPnJlZmVyZW5jZTwvYT4gaXMgcHJvY2Vzc2VkIGJ5IGFwcGVuZGluZyB0aGUgcmVmZXJlbmNlZCBjaGFyYWN0ZXIgdG8gdGhlIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IHZhbHVlIC0gYW4gZW50aXR5IDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjcmVmZXJlbmNlIj5yZWZlcmVuY2U8L2E+IGlzIHByb2Nlc3NlZCBieSByZWN1cnNpdmVseSBwcm9jZXNzaW5nIHRoZSByZXBsYWNlbWVudCB0ZXh0IG9mIHRoZSBlbnRpdHkgLSBhIHdoaXRlc3BhY2UgY2hhcmFjdGVyICgjeDIwLCAjeEQsICN4QSwgI3g5KSBpcyBwcm9jZXNzZWQgYnkgYXBwZW5kaW5nICN4MjAgdG8gdGhlIG5vcm1hbGl6ZWQgdmFsdWUsIGV4Y2VwdCB0aGF0IG9ubHkgYSBzaW5nbGUgI3gyMCBpcyBhcHBlbmRlZCBmb3IgYSAiI3hEI3hBIiBzZXF1ZW5jZSB0aGF0IGlzIHBhcnQgb2YgYW4gZXh0ZXJuYWwgcGFyc2VkIGVudGl0eSBvciB0aGUgbGl0ZXJhbCBlbnRpdHkgdmFsdWUgb2YgYW4gaW50ZXJuYWwgcGFyc2VkIGVudGl0eSAtIG90aGVyIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjY2hhcmFjdGVycyI+Y2hhcmFjdGVyczwvYT4gYXJlIHByb2Nlc3NlZCBieSBhcHBlbmRpbmcgdGhlbSB0byB0aGUgbm9ybWFsaXplZCB2YWx1ZSBJZiB0aGUgZGVjbGFyZWQgdmFsdWUgaXMgbm90IENEQVRBLCB0aGVuIHRoZSBYTUwgcHJvY2Vzc29yIG11c3QgZnVydGhlciBwcm9jZXNzIHRoZSBub3JtYWxpemVkIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IHZhbHVlIGJ5IGRpc2NhcmRpbmcgYW55IGxlYWRpbmcgYW5kIHRyYWlsaW5nIHNwYWNlICgjeDIwKSBjaGFyYWN0ZXJzLCBhbmQgYnkgcmVwbGFjaW5nIHNlcXVlbmNlcyBvZiBzcGFjZSAoI3gyMCkgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNjaGFyYWN0ZXJzIj5jaGFyYWN0ZXJzPC9hPiBieSBhIHNpbmdsZSBzcGFjZSAoI3gyMCkgY2hhcmFjdGVyLiBBbGwgYXR0cmlidXRlcyBmb3Igd2hpY2ggbm8gZGVjbGFyYXRpb24gaGFzIGJlZW4gcmVhZCBzaG91bGQgYmUgdHJlYXRlZCBieSBhIG5vbi12YWxpZGF0aW5nIHBhcnNlciBhcyBpZiBkZWNsYXJlZCBDREFUQS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIEF0dFZhbHVlIHBhcnNlZCBvciBOVUxMLiBUaGUgdmFsdWUgaGFzIHRvIGJlIGZyZWVkIGJ5IHRoZSBjYWxsZXIuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUGFyc2VBdHRyaWJ1dGUiLz54bWxQYXJzZUF0dHJpYnV0ZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxQYXJzZUF0dHJpYnV0ZQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoqIHZhbHVlKTxici8+Cis8L3ByZT48cD5wYXJzZSBhbiA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBbNDFdIEF0dHJpYnV0ZSA6Oj0gTmFtZSBFcSBBdHRWYWx1ZSBbIFdGQzogTm8gRXh0ZXJuYWwgRW50aXR5IFJlZmVyZW5jZXMgXSBBdHRyaWJ1dGUgdmFsdWVzIGNhbm5vdCBjb250YWluIGRpcmVjdCBvciBpbmRpcmVjdCBlbnRpdHkgcmVmZXJlbmNlcyB0byBleHRlcm5hbCBlbnRpdGllcy4gWyBXRkM6IE5vICZsdDsgaW4gQXR0cmlidXRlIFZhbHVlcyBdIFRoZSByZXBsYWNlbWVudCB0ZXh0IG9mIGFueSBlbnRpdHkgcmVmZXJyZWQgdG8gZGlyZWN0bHkgb3IgaW5kaXJlY3RseSBpbiBhbiA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiB2YWx1ZSAob3RoZXIgdGhhbiAiJmFtcDtsdDsiKSBtdXN0IG5vdCBjb250YWluIGEgJmx0Oy4gWyBWQzogQXR0cmlidXRlIFZhbHVlIFR5cGUgXSBUaGUgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gbXVzdCBoYXZlIGJlZW4gZGVjbGFyZWQ7IHRoZSB2YWx1ZSBtdXN0IGJlIG9mIHRoZSB0eXBlIGRlY2xhcmVkIGZvciBpdC4gWzI1XSBFcSA6Oj0gUz8gJz0nIFM/IFdpdGggbmFtZXNwYWNlOiBbTlMgMTFdIEF0dHJpYnV0ZSA6Oj0gUU5hbWUgRXEgQXR0VmFsdWUgQWxzbyB0aGUgY2FzZSBRTmFtZSA9PSB4bWxuczo/Pz8gaXMgaGFuZGxlZCBpbmRlcGVuZGVudGx5IGFzIGEgbmFtZXNwYWNlIGRlZmluaXRpb24uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbHVlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiogdXNlZCB0byBzdG9yZSB0aGUgdmFsdWUgb2YgdGhlIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gbmFtZSwgYW5kIHRoZSB2YWx1ZSBpbiAqdmFsdWUuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUGFyc2VBdHRyaWJ1dGVMaXN0RGVjbCIvPnhtbFBhcnNlQXR0cmlidXRlTGlzdERlY2wgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFBhcnNlQXR0cmlidXRlTGlzdERlY2wJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPGJyLz4KKzwvcHJlPjxwPjogcGFyc2UgdGhlIEF0dHJpYnV0ZSBsaXN0IGRlZiBmb3IgYW4gZWxlbWVudCBbNTJdIEF0dGxpc3REZWNsIDo6PSAnJmx0OyFBVFRMSVNUJyBTIE5hbWUgQXR0RGVmKiBTPyAnJmd0OycgWzUzXSBBdHREZWYgOjo9IFMgTmFtZSBTIEF0dFR5cGUgUyBEZWZhdWx0RGVjbDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUGFyc2VBdHRyaWJ1dGVUeXBlIi8+eG1sUGFyc2VBdHRyaWJ1dGVUeXBlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFBhcnNlQXR0cmlidXRlVHlwZQkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRW51bWVyYXRpb25QdHIiPnhtbEVudW1lcmF0aW9uUHRyPC9hPiAqIHRyZWUpPGJyLz4KKzwvcHJlPjxwPnBhcnNlIHRoZSBBdHRyaWJ1dGUgbGlzdCBkZWYgZm9yIGFuIGVsZW1lbnQgWzU0XSBBdHRUeXBlIDo6PSBTdHJpbmdUeXBlIHwgVG9rZW5pemVkVHlwZSB8IEVudW1lcmF0ZWRUeXBlIFs1NV0gU3RyaW5nVHlwZSA6Oj0gJ0NEQVRBJyBbNTZdIFRva2VuaXplZFR5cGUgOjo9ICdJRCcgfCAnSURSRUYnIHwgJ0lEUkVGUycgfCAnRU5USVRZJyB8ICdFTlRJVElFUycgfCAnTk1UT0tFTicgfCAnTk1UT0tFTlMnIFZhbGlkaXR5IGNvbnN0cmFpbnRzIGZvciA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiB2YWx1ZXMgc3ludGF4IGFyZSBjaGVja2VkIGluIHhtbFZhbGlkYXRlQXR0cmlidXRlVmFsdWUoKSBbIFZDOiBJRCBdIFZhbHVlcyBvZiB0eXBlIElEIG11c3QgbWF0Y2ggdGhlIE5hbWUgcHJvZHVjdGlvbi4gQSBuYW1lIG11c3Qgbm90IGFwcGVhciBtb3JlIHRoYW4gb25jZSBpbiBhbiBYTUwgZG9jdW1lbnQgYXMgYSB2YWx1ZSBvZiB0aGlzIHR5cGU7IGkuZS4sIElEIHZhbHVlcyBtdXN0IHVuaXF1ZWx5IGlkZW50aWZ5IHRoZSBlbGVtZW50cyB3aGljaCBiZWFyIHRoZW0uIFsgVkM6IE9uZSBJRCBwZXIgRWxlbWVudCBUeXBlIF0gTm8gZWxlbWVudCB0eXBlIG1heSBoYXZlIG1vcmUgdGhhbiBvbmUgSUQgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gc3BlY2lmaWVkLiBbIFZDOiBJRCBBdHRyaWJ1dGUgRGVmYXVsdCBdIEFuIElEIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IG11c3QgaGF2ZSBhIGRlY2xhcmVkIGRlZmF1bHQgb2YgI0lNUExJRUQgb3IgI1JFUVVJUkVELiBbIFZDOiBJRFJFRiBdIFZhbHVlcyBvZiB0eXBlIElEUkVGIG11c3QgbWF0Y2ggdGhlIE5hbWUgcHJvZHVjdGlvbiwgYW5kIHZhbHVlcyBvZiB0eXBlIElEUkVGUyBtdXN0IG1hdGNoIE5hbWVzOyBlYWNoIElEUkVGIE5hbWUgbXVzdCBtYXRjaCB0aGUgdmFsdWUgb2YgYW4gSUQgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gb24gc29tZSBlbGVtZW50IGluIHRoZSBYTUwgZG9jdW1lbnQ7IGkuZS4gSURSRUYgdmFsdWVzIG11c3QgbWF0Y2ggdGhlIHZhbHVlIG9mIHNvbWUgSUQgYXR0cmlidXRlLiBbIFZDOiBFbnRpdHkgTmFtZSBdIFZhbHVlcyBvZiB0eXBlIEVOVElUWSBtdXN0IG1hdGNoIHRoZSBOYW1lIHByb2R1Y3Rpb24sIHZhbHVlcyBvZiB0eXBlIEVOVElUSUVTIG11c3QgbWF0Y2ggTmFtZXM7IGVhY2ggRW50aXR5IE5hbWUgbXVzdCBtYXRjaCB0aGUgbmFtZSBvZiBhbiB1bnBhcnNlZCBlbnRpdHkgZGVjbGFyZWQgaW4gdGhlIERURC4gWyBWQzogTmFtZSBUb2tlbiBdIFZhbHVlcyBvZiB0eXBlIE5NVE9LRU4gbXVzdCBtYXRjaCB0aGUgTm10b2tlbiBwcm9kdWN0aW9uOyB2YWx1ZXMgb2YgdHlwZSBOTVRPS0VOUyBtdXN0IG1hdGNoIE5tdG9rZW5zLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50cmVlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZW51bWVyYXRpb24gdHJlZSBidWlsdCB3aGlsZSBwYXJzaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gdHlwZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFBhcnNlQ0RTZWN0Ii8+eG1sUGFyc2VDRFNlY3QgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFBhcnNlQ0RTZWN0CQkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPGJyLz4KKzwvcHJlPjxwPlBhcnNlIGVzY2FwZWQgcHVyZSByYXcgY29udGVudC4gWzE4XSBDRFNlY3QgOjo9IENEU3RhcnQgQ0RhdGEgQ0RFbmQgWzE5XSBDRFN0YXJ0IDo6PSAnJmx0OyFbQ0RBVEFbJyBbMjBdIERhdGEgOjo9IChDaGFyKiAtIChDaGFyKiAnXV0mZ3Q7JyBDaGFyKikpIFsyMV0gQ0RFbmQgOjo9ICddXSZndDsnPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxQYXJzZUNoYXJEYXRhIi8+eG1sUGFyc2VDaGFyRGF0YSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sUGFyc2VDaGFyRGF0YQkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgaW50IGNkYXRhKTxici8+Cis8L3ByZT48cD5wYXJzZSBhIENoYXJEYXRhIHNlY3Rpb24uIGlmIHdlIGFyZSB3aXRoaW4gYSBDREFUQSBzZWN0aW9uICddXSZndDsnIG1hcmtzIGFuIGVuZCBvZiBzZWN0aW9uLiBUaGUgcmlnaHQgYW5nbGUgYnJhY2tldCAoJmd0OykgbWF5IGJlIHJlcHJlc2VudGVkIHVzaW5nIHRoZSBzdHJpbmcgIiZhbXA7Z3Q7IiwgYW5kIG11c3QsIGZvciBjb21wYXRpYmlsaXR5LCBiZSBlc2NhcGVkIHVzaW5nICImYW1wO2d0OyIgb3IgYSBjaGFyYWN0ZXIgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNyZWZlcmVuY2UiPnJlZmVyZW5jZTwvYT4gd2hlbiBpdCBhcHBlYXJzIGluIHRoZSBzdHJpbmcgIl1dJmd0OyIgaW4gY29udGVudCwgd2hlbiB0aGF0IHN0cmluZyBpcyBub3QgbWFya2luZyB0aGUgZW5kIG9mIGEgQ0RBVEEgc2VjdGlvbi4gWzE0XSBDaGFyRGF0YSA6Oj0gW14mbHQ7JmFtcDtdKiAtIChbXiZsdDsmYW1wO10qICddXSZndDsnIFteJmx0OyZhbXA7XSopPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNkYXRhPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5pbnQgaW5kaWNhdGluZyB3aGV0aGVyIHdlIGFyZSB3aXRoaW4gYSBDREFUQSBzZWN0aW9uPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUGFyc2VDaGFyUmVmIi8+eG1sUGFyc2VDaGFyUmVmICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFBhcnNlQ2hhclJlZgkJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTxici8+Cis8L3ByZT48cD5wYXJzZSBSZWZlcmVuY2UgZGVjbGFyYXRpb25zIFs2Nl0gQ2hhclJlZiA6Oj0gJyZhbXA7IycgWzAtOV0rICc7JyB8ICcmYW1wOyN4JyBbMC05YS1mQS1GXSsgJzsnIFsgV0ZDOiBMZWdhbCBDaGFyYWN0ZXIgXSBDaGFyYWN0ZXJzIHJlZmVycmVkIHRvIHVzaW5nIGNoYXJhY3RlciByZWZlcmVuY2VzIG11c3QgbWF0Y2ggdGhlIHByb2R1Y3Rpb24gZm9yIENoYXIuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB2YWx1ZSBwYXJzZWQgKGFzIGFuIGludCksIDAgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFBhcnNlQ29tbWVudCIvPnhtbFBhcnNlQ29tbWVudCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sUGFyc2VDb21tZW50CQkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPGJyLz4KKzwvcHJlPjxwPlNraXAgYW4gWE1MIChTR01MKSA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2NvbW1lbnQiPmNvbW1lbnQ8L2E+ICZsdDshLS0gLi4uLiAtLSZndDsgVGhlIHNwZWMgc2F5cyB0aGF0ICJGb3IgY29tcGF0aWJpbGl0eSwgdGhlIHN0cmluZyAiLS0iIChkb3VibGUtaHlwaGVuKSBtdXN0IG5vdCBvY2N1ciB3aXRoaW4gY29tbWVudHMuICIgWzE1XSBDb21tZW50IDo6PSAnJmx0OyEtLScgKChDaGFyIC0gJy0nKSB8ICgnLScgKENoYXIgLSAnLScpKSkqICctLSZndDsnPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxQYXJzZUNvbnRlbnQiLz54bWxQYXJzZUNvbnRlbnQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFBhcnNlQ29udGVudAkJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTxici8+Cis8L3ByZT48cD5QYXJzZSBhIGNvbnRlbnQ6IFs0M10gY29udGVudCA6Oj0gKGVsZW1lbnQgfCBDaGFyRGF0YSB8IFJlZmVyZW5jZSB8IENEU2VjdCB8IFBJIHwgQ29tbWVudCkqPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxQYXJzZURlZmF1bHREZWNsIi8+eG1sUGFyc2VEZWZhdWx0RGVjbCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxQYXJzZURlZmF1bHREZWNsCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoqIHZhbHVlKTxici8+Cis8L3ByZT48cD5QYXJzZSBhbiA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBkZWZhdWx0IGRlY2xhcmF0aW9uIFs2MF0gRGVmYXVsdERlY2wgOjo9ICcjUkVRVUlSRUQnIHwgJyNJTVBMSUVEJyB8ICgoJyNGSVhFRCcgUyk/IEF0dFZhbHVlKSBbIFZDOiBSZXF1aXJlZCBBdHRyaWJ1dGUgXSBpZiB0aGUgZGVmYXVsdCBkZWNsYXJhdGlvbiBpcyB0aGUga2V5d29yZCAjUkVRVUlSRUQsIHRoZW4gdGhlIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IG11c3QgYmUgc3BlY2lmaWVkIGZvciBhbGwgZWxlbWVudHMgb2YgdGhlIHR5cGUgaW4gdGhlIGF0dHJpYnV0ZS1saXN0IGRlY2xhcmF0aW9uLiBbIFZDOiBBdHRyaWJ1dGUgRGVmYXVsdCBMZWdhbCBdIFRoZSBkZWNsYXJlZCBkZWZhdWx0IHZhbHVlIG11c3QgbWVldCB0aGUgbGV4aWNhbCBjb25zdHJhaW50cyBvZiB0aGUgZGVjbGFyZWQgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gdHlwZSBjLmYuIHhtbFZhbGlkYXRlQXR0cmlidXRlRGVjbCgpIFsgVkM6IEZpeGVkIEF0dHJpYnV0ZSBEZWZhdWx0IF0gaWYgYW4gPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gaGFzIGEgZGVmYXVsdCB2YWx1ZSBkZWNsYXJlZCB3aXRoIHRoZSAjRklYRUQga2V5d29yZCwgaW5zdGFuY2VzIG9mIHRoYXQgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gbXVzdCBtYXRjaCB0aGUgZGVmYXVsdCB2YWx1ZS4gWyBXRkM6IE5vICZsdDsgaW4gQXR0cmlidXRlIFZhbHVlcyBdIGhhbmRsZWQgaW4geG1sUGFyc2VBdHRWYWx1ZSgpPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbHVlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5SZWNlaXZlIGEgcG9zc2libGUgZml4ZWQgZGVmYXVsdCB2YWx1ZSBmb3IgdGhlIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5YTUxfQVRUUklCVVRFX05PTkUsIFhNTF9BVFRSSUJVVEVfUkVRVUlSRUQsIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI1hNTF9BVFRSSUJVVEVfSU1QTElFRCI+WE1MX0FUVFJJQlVURV9JTVBMSUVEPC9hPiBvciBYTUxfQVRUUklCVVRFX0ZJWEVELjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFBhcnNlRG9jVHlwZURlY2wiLz54bWxQYXJzZURvY1R5cGVEZWNsICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxQYXJzZURvY1R5cGVEZWNsCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8YnIvPgorPC9wcmU+PHA+cGFyc2UgYSBET0NUWVBFIGRlY2xhcmF0aW9uIFsyOF0gZG9jdHlwZWRlY2wgOjo9ICcmbHQ7IURPQ1RZUEUnIFMgTmFtZSAoUyBFeHRlcm5hbElEKT8gUz8gKCdbJyAobWFya3VwZGVjbCB8IFBFUmVmZXJlbmNlIHwgUykqICddJyBTPyk/ICcmZ3Q7JyBbIFZDOiBSb290IEVsZW1lbnQgVHlwZSBdIFRoZSBOYW1lIGluIHRoZSBkb2N1bWVudCB0eXBlIGRlY2xhcmF0aW9uIG11c3QgbWF0Y2ggdGhlIGVsZW1lbnQgdHlwZSBvZiB0aGUgcm9vdCBlbGVtZW50LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUGFyc2VFbGVtZW50Ii8+eG1sUGFyc2VFbGVtZW50ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxQYXJzZUVsZW1lbnQJCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8YnIvPgorPC9wcmU+PHA+cGFyc2UgYW4gWE1MIGVsZW1lbnQsIHRoaXMgaXMgaGlnaGx5IHJlY3Vyc2l2ZSBbMzldIGVsZW1lbnQgOjo9IEVtcHR5RWxlbVRhZyB8IFNUYWcgY29udGVudCBFVGFnIFsgV0ZDOiBFbGVtZW50IFR5cGUgTWF0Y2ggXSBUaGUgTmFtZSBpbiBhbiBlbGVtZW50J3MgZW5kLXRhZyBtdXN0IG1hdGNoIHRoZSBlbGVtZW50IHR5cGUgaW4gdGhlIHN0YXJ0LXRhZy48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2wiLz54bWxQYXJzZUVsZW1lbnRDaGlsZHJlbkNvbnRlbnREZWNsICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRWxlbWVudENvbnRlbnRQdHIiPnhtbEVsZW1lbnRDb250ZW50UHRyPC9hPgl4bWxQYXJzZUVsZW1lbnRDaGlsZHJlbkNvbnRlbnREZWNsCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJCQkgaW50IGlucHV0Y2hrKTxici8+Cis8L3ByZT48cD5wYXJzZSB0aGUgZGVjbGFyYXRpb24gZm9yIGEgTWl4ZWQgRWxlbWVudCBjb250ZW50IFRoZSBsZWFkaW5nICcoJyBhbmQgc3BhY2VzIGhhdmUgYmVlbiBza2lwcGVkIGluIDxhIGhyZWY9ImxpYnhtbDItcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbGVtZW50Q29udGVudERlY2wiPnhtbFBhcnNlRWxlbWVudENvbnRlbnREZWNsPC9hPiBbNDddIGNoaWxkcmVuIDo6PSAoY2hvaWNlIHwgc2VxKSAoJz8nIHwgJyonIHwgJysnKT8gWzQ4XSBjcCA6Oj0gKE5hbWUgfCBjaG9pY2UgfCBzZXEpICgnPycgfCAnKicgfCAnKycpPyBbNDldIGNob2ljZSA6Oj0gJygnIFM/IGNwICggUz8gJ3wnIFM/IGNwICkqIFM/ICcpJyBbNTBdIHNlcSA6Oj0gJygnIFM/IGNwICggUz8gJywnIFM/IGNwICkqIFM/ICcpJyBbIFZDOiBQcm9wZXIgR3JvdXAvUEUgTmVzdGluZyBdIGFwcGxpZXMgdG8gWzQ5XSBhbmQgWzUwXSBUT0RPIFBhcmFtZXRlci1lbnRpdHkgcmVwbGFjZW1lbnQgdGV4dCBtdXN0IGJlIHByb3Blcmx5IG5lc3RlZCB3aXRoIHBhcmVudGhlc2l6ZWQgZ3JvdXBzLiBUaGF0IGlzIHRvIHNheSwgaWYgZWl0aGVyIG9mIHRoZSBvcGVuaW5nIG9yIGNsb3NpbmcgcGFyZW50aGVzZXMgaW4gYSBjaG9pY2UsIHNlcSwgb3IgTWl4ZWQgY29uc3RydWN0IGlzIGNvbnRhaW5lZCBpbiB0aGUgcmVwbGFjZW1lbnQgdGV4dCBmb3IgYSBwYXJhbWV0ZXIgZW50aXR5LCBib3RoIG11c3QgYmUgY29udGFpbmVkIGluIHRoZSBzYW1lIHJlcGxhY2VtZW50IHRleHQuIEZvciBpbnRlcm9wZXJhYmlsaXR5LCBpZiBhIHBhcmFtZXRlci1lbnRpdHkgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNyZWZlcmVuY2UiPnJlZmVyZW5jZTwvYT4gYXBwZWFycyBpbiBhIGNob2ljZSwgc2VxLCBvciBNaXhlZCBjb25zdHJ1Y3QsIGl0cyByZXBsYWNlbWVudCB0ZXh0IHNob3VsZCBub3QgYmUgZW1wdHksIGFuZCBuZWl0aGVyIHRoZSBmaXJzdCBub3IgbGFzdCBub24tYmxhbmsgY2hhcmFjdGVyIG9mIHRoZSByZXBsYWNlbWVudCB0ZXh0IHNob3VsZCBiZSBhIGNvbm5lY3RvciAofCBvciAsKS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aW5wdXRjaGs8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBpbnB1dCB1c2VkIGZvciB0aGUgY3VycmVudCBlbnRpdHksIG5lZWRlZCBmb3IgYm91bmRhcnkgY2hlY2tzPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdHJlZSBvZiA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxFbGVtZW50Q29udGVudFB0ciI+eG1sRWxlbWVudENvbnRlbnRQdHI8L2E+IGRlc2NyaWJpbmcgdGhlIGVsZW1lbnQgaGllcmFyY2h5LjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFBhcnNlRWxlbWVudENvbnRlbnREZWNsIi8+eG1sUGFyc2VFbGVtZW50Q29udGVudERlY2wgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sUGFyc2VFbGVtZW50Q29udGVudERlY2wJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRWxlbWVudENvbnRlbnRQdHIiPnhtbEVsZW1lbnRDb250ZW50UHRyPC9hPiAqIHJlc3VsdCk8YnIvPgorPC9wcmU+PHA+cGFyc2UgdGhlIGRlY2xhcmF0aW9uIGZvciBhbiBFbGVtZW50IGNvbnRlbnQgZWl0aGVyIE1peGVkIG9yIENoaWxkcmVuLCB0aGUgY2FzZXMgRU1QVFkgYW5kIEFOWSBhcmUgaGFuZGxlZCBkaXJlY3RseSBpbiA8YSBocmVmPSJsaWJ4bWwyLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRWxlbWVudERlY2wiPnhtbFBhcnNlRWxlbWVudERlY2w8L2E+IFs0Nl0gY29udGVudHNwZWMgOjo9ICdFTVBUWScgfCAnQU5ZJyB8IE1peGVkIHwgY2hpbGRyZW48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5hbWUgb2YgdGhlIGVsZW1lbnQgYmVpbmcgZGVmaW5lZC48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJlc3VsdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIEVsZW1lbnQgQ29udGVudCBwb2ludGVyIHdpbGwgYmUgc3RvcmVkIGhlcmUgaWYgYW55PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdHlwZSBvZiBlbGVtZW50IGNvbnRlbnQgWE1MX0VMRU1FTlRfVFlQRV94eHg8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxQYXJzZUVsZW1lbnREZWNsIi8+eG1sUGFyc2VFbGVtZW50RGVjbCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxQYXJzZUVsZW1lbnREZWNsCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8YnIvPgorPC9wcmU+PHA+cGFyc2UgYW4gRWxlbWVudCBkZWNsYXJhdGlvbi4gWzQ1XSBlbGVtZW50ZGVjbCA6Oj0gJyZsdDshRUxFTUVOVCcgUyBOYW1lIFMgY29udGVudHNwZWMgUz8gJyZndDsnIFsgVkM6IFVuaXF1ZSBFbGVtZW50IFR5cGUgRGVjbGFyYXRpb24gXSBObyBlbGVtZW50IHR5cGUgbWF5IGJlIGRlY2xhcmVkIG1vcmUgdGhhbiBvbmNlPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB0eXBlIG9mIHRoZSBlbGVtZW50LCBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUGFyc2VFbGVtZW50TWl4ZWRDb250ZW50RGVjbCIvPnhtbFBhcnNlRWxlbWVudE1peGVkQ29udGVudERlY2wgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxFbGVtZW50Q29udGVudFB0ciI+eG1sRWxlbWVudENvbnRlbnRQdHI8L2E+CXhtbFBhcnNlRWxlbWVudE1peGVkQ29udGVudERlY2wJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkJCSBpbnQgaW5wdXRjaGspPGJyLz4KKzwvcHJlPjxwPnBhcnNlIHRoZSBkZWNsYXJhdGlvbiBmb3IgYSBNaXhlZCBFbGVtZW50IGNvbnRlbnQgVGhlIGxlYWRpbmcgJygnIGFuZCBzcGFjZXMgaGF2ZSBiZWVuIHNraXBwZWQgaW4gPGEgaHJlZj0ibGlieG1sMi1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVsZW1lbnRDb250ZW50RGVjbCI+eG1sUGFyc2VFbGVtZW50Q29udGVudERlY2w8L2E+IFs1MV0gTWl4ZWQgOjo9ICcoJyBTPyAnI1BDREFUQScgKFM/ICd8JyBTPyBOYW1lKSogUz8gJykqJyB8ICcoJyBTPyAnI1BDREFUQScgUz8gJyknIFsgVkM6IFByb3BlciBHcm91cC9QRSBOZXN0aW5nIF0gYXBwbGllcyB0byBbNTFdIHRvbyAoc2VlIFs0OV0pIFsgVkM6IE5vIER1cGxpY2F0ZSBUeXBlcyBdIFRoZSBzYW1lIG5hbWUgbXVzdCBub3QgYXBwZWFyIG1vcmUgdGhhbiBvbmNlIGluIGEgc2luZ2xlIG1peGVkLWNvbnRlbnQgZGVjbGFyYXRpb24uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmlucHV0Y2hrPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaW5wdXQgdXNlZCBmb3IgdGhlIGN1cnJlbnQgZW50aXR5LCBuZWVkZWQgZm9yIGJvdW5kYXJ5IGNoZWNrczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxpc3Qgb2YgdGhlIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEVsZW1lbnRDb250ZW50UHRyIj54bWxFbGVtZW50Q29udGVudFB0cjwvYT4gZGVzY3JpYmluZyB0aGUgZWxlbWVudCBjaG9pY2VzPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUGFyc2VFbmNOYW1lIi8+eG1sUGFyc2VFbmNOYW1lICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbFBhcnNlRW5jTmFtZQkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPGJyLz4KKzwvcHJlPjxwPnBhcnNlIHRoZSBYTUwgZW5jb2RpbmcgbmFtZSBbODFdIEVuY05hbWUgOjo9IFtBLVphLXpdIChbQS1aYS16MC05Ll9dIHwgJy0nKSo8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVuY29kaW5nIG5hbWUgdmFsdWUgb3IgTlVMTDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFBhcnNlRW5jb2RpbmdEZWNsIi8+eG1sUGFyc2VFbmNvZGluZ0RlY2wgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5jb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sUGFyc2VFbmNvZGluZ0RlY2wJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPGJyLz4KKzwvcHJlPjxwPnBhcnNlIHRoZSBYTUwgZW5jb2RpbmcgZGVjbGFyYXRpb24gWzgwXSBFbmNvZGluZ0RlY2wgOjo9IFMgJ2VuY29kaW5nJyBFcSAoJyInIEVuY05hbWUgJyInIHwgIiciIEVuY05hbWUgIiciKSB0aGlzIHNldHVwcyB0aGUgY29udmVyc2lvbiBmaWx0ZXJzLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZW5jb2RpbmcgdmFsdWUgb3IgTlVMTDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFBhcnNlRW5kVGFnIi8+eG1sUGFyc2VFbmRUYWcgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFBhcnNlRW5kVGFnCQkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPGJyLz4KKzwvcHJlPjxwPnBhcnNlIGFuIGVuZCBvZiB0YWcgWzQyXSBFVGFnIDo6PSAnJmx0Oy8nIE5hbWUgUz8gJyZndDsnIFdpdGggbmFtZXNwYWNlIFtOUyA5XSBFVGFnIDo6PSAnJmx0Oy8nIFFOYW1lIFM/ICcmZ3Q7JzwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUGFyc2VFbnRpdHlEZWNsIi8+eG1sUGFyc2VFbnRpdHlEZWNsICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxQYXJzZUVudGl0eURlY2wJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTxici8+Cis8L3ByZT48cD5wYXJzZSAmbHQ7IUVOVElUWSBkZWNsYXJhdGlvbnMgWzcwXSBFbnRpdHlEZWNsIDo6PSBHRURlY2wgfCBQRURlY2wgWzcxXSBHRURlY2wgOjo9ICcmbHQ7IUVOVElUWScgUyBOYW1lIFMgRW50aXR5RGVmIFM/ICcmZ3Q7JyBbNzJdIFBFRGVjbCA6Oj0gJyZsdDshRU5USVRZJyBTICclJyBTIE5hbWUgUyBQRURlZiBTPyAnJmd0OycgWzczXSBFbnRpdHlEZWYgOjo9IEVudGl0eVZhbHVlIHwgKEV4dGVybmFsSUQgTkRhdGFEZWNsPykgWzc0XSBQRURlZiA6Oj0gRW50aXR5VmFsdWUgfCBFeHRlcm5hbElEIFs3Nl0gTkRhdGFEZWNsIDo6PSBTICdOREFUQScgUyBOYW1lIFsgVkM6IE5vdGF0aW9uIERlY2xhcmVkIF0gVGhlIE5hbWUgbXVzdCBtYXRjaCB0aGUgZGVjbGFyZWQgbmFtZSBvZiBhIG5vdGF0aW9uLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUGFyc2VFbnRpdHlSZWYiLz54bWxQYXJzZUVudGl0eVJlZiAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEVudGl0eVB0ciI+eG1sRW50aXR5UHRyPC9hPgl4bWxQYXJzZUVudGl0eVJlZgkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8YnIvPgorPC9wcmU+PHA+cGFyc2UgRU5USVRZIHJlZmVyZW5jZXMgZGVjbGFyYXRpb25zIFs2OF0gRW50aXR5UmVmIDo6PSAnJmFtcDsnIE5hbWUgJzsnIFsgV0ZDOiBFbnRpdHkgRGVjbGFyZWQgXSBJbiBhIGRvY3VtZW50IHdpdGhvdXQgYW55IERURCwgYSBkb2N1bWVudCB3aXRoIG9ubHkgYW4gaW50ZXJuYWwgRFREIHN1YnNldCB3aGljaCBjb250YWlucyBubyBwYXJhbWV0ZXIgZW50aXR5IHJlZmVyZW5jZXMsIG9yIGEgZG9jdW1lbnQgd2l0aCAic3RhbmRhbG9uZT0neWVzJyIsIHRoZSBOYW1lIGdpdmVuIGluIHRoZSBlbnRpdHkgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNyZWZlcmVuY2UiPnJlZmVyZW5jZTwvYT4gbXVzdCBtYXRjaCB0aGF0IGluIGFuIGVudGl0eSBkZWNsYXJhdGlvbiwgZXhjZXB0IHRoYXQgd2VsbC1mb3JtZWQgZG9jdW1lbnRzIG5lZWQgbm90IGRlY2xhcmUgYW55IG9mIHRoZSBmb2xsb3dpbmcgZW50aXRpZXM6IGFtcCwgbHQsIGd0LCBhcG9zLCBxdW90LiBUaGUgZGVjbGFyYXRpb24gb2YgYSBwYXJhbWV0ZXIgZW50aXR5IG11c3QgcHJlY2VkZSBhbnkgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNyZWZlcmVuY2UiPnJlZmVyZW5jZTwvYT4gdG8gaXQuIFNpbWlsYXJseSwgdGhlIGRlY2xhcmF0aW9uIG9mIGEgZ2VuZXJhbCBlbnRpdHkgbXVzdCBwcmVjZWRlIGFueSA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI3JlZmVyZW5jZSI+cmVmZXJlbmNlPC9hPiB0byBpdCB3aGljaCBhcHBlYXJzIGluIGEgZGVmYXVsdCB2YWx1ZSBpbiBhbiBhdHRyaWJ1dGUtbGlzdCBkZWNsYXJhdGlvbi4gTm90ZSB0aGF0IGlmIGVudGl0aWVzIGFyZSBkZWNsYXJlZCBpbiB0aGUgZXh0ZXJuYWwgc3Vic2V0IG9yIGluIGV4dGVybmFsIHBhcmFtZXRlciBlbnRpdGllcywgYSBub24tdmFsaWRhdGluZyBwcm9jZXNzb3IgaXMgbm90IG9ibGlnYXRlZCB0byByZWFkIGFuZCBwcm9jZXNzIHRoZWlyIGRlY2xhcmF0aW9uczsgZm9yIHN1Y2ggZG9jdW1lbnRzLCB0aGUgcnVsZSB0aGF0IGFuIGVudGl0eSBtdXN0IGJlIGRlY2xhcmVkIGlzIGEgd2VsbC1mb3JtZWRuZXNzIGNvbnN0cmFpbnQgb25seSBpZiBzdGFuZGFsb25lPSd5ZXMnLiBbIFdGQzogUGFyc2VkIEVudGl0eSBdIEFuIGVudGl0eSA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI3JlZmVyZW5jZSI+cmVmZXJlbmNlPC9hPiBtdXN0IG5vdCBjb250YWluIHRoZSBuYW1lIG9mIGFuIHVucGFyc2VkIGVudGl0eTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRW50aXR5UHRyIj54bWxFbnRpdHlQdHI8L2E+IGlmIGZvdW5kLCBvciBOVUxMIG90aGVyd2lzZS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxQYXJzZUVudGl0eVZhbHVlIi8+eG1sUGFyc2VFbnRpdHlWYWx1ZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxQYXJzZUVudGl0eVZhbHVlCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiogb3JpZyk8YnIvPgorPC9wcmU+PHA+cGFyc2UgYSB2YWx1ZSBmb3IgRU5USVRZIGRlY2xhcmF0aW9ucyBbOV0gRW50aXR5VmFsdWUgOjo9ICciJyAoW14lJmFtcDsiXSB8IFBFUmVmZXJlbmNlIHwgUmVmZXJlbmNlKSogJyInIHwgIiciIChbXiUmYW1wOyddIHwgUEVSZWZlcmVuY2UgfCBSZWZlcmVuY2UpKiAiJyI8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3JpZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+aWYgbm9uLU5VTEwgc3RvcmUgYSBjb3B5IG9mIHRoZSBvcmlnaW5hbCBlbnRpdHkgdmFsdWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBFbnRpdHlWYWx1ZSBwYXJzZWQgd2l0aCA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI3JlZmVyZW5jZSI+cmVmZXJlbmNlPC9hPiBzdWJzdGl0dXRlZCBvciBOVUxMPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUGFyc2VFbnVtZXJhdGVkVHlwZSIvPnhtbFBhcnNlRW51bWVyYXRlZFR5cGUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sUGFyc2VFbnVtZXJhdGVkVHlwZQkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRW51bWVyYXRpb25QdHIiPnhtbEVudW1lcmF0aW9uUHRyPC9hPiAqIHRyZWUpPGJyLz4KKzwvcHJlPjxwPnBhcnNlIGFuIEVudW1lcmF0ZWQgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gdHlwZS4gWzU3XSBFbnVtZXJhdGVkVHlwZSA6Oj0gTm90YXRpb25UeXBlIHwgRW51bWVyYXRpb24gWzU4XSBOb3RhdGlvblR5cGUgOjo9ICdOT1RBVElPTicgUyAnKCcgUz8gTmFtZSAoUz8gJ3wnIFM/IE5hbWUpKiBTPyAnKSc8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dHJlZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVudW1lcmF0aW9uIHRyZWUgYnVpbHQgd2hpbGUgcGFyc2luZzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjWE1MX0FUVFJJQlVURV9FTlVNRVJBVElPTiI+WE1MX0FUVFJJQlVURV9FTlVNRVJBVElPTjwvYT4gb3IgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjWE1MX0FUVFJJQlVURV9OT1RBVElPTiI+WE1MX0FUVFJJQlVURV9OT1RBVElPTjwvYT48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxQYXJzZUVudW1lcmF0aW9uVHlwZSIvPnhtbFBhcnNlRW51bWVyYXRpb25UeXBlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRW51bWVyYXRpb25QdHIiPnhtbEVudW1lcmF0aW9uUHRyPC9hPgl4bWxQYXJzZUVudW1lcmF0aW9uVHlwZQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8YnIvPgorPC9wcmU+PHA+cGFyc2UgYW4gRW51bWVyYXRpb24gPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gdHlwZS4gWzU5XSBFbnVtZXJhdGlvbiA6Oj0gJygnIFM/IE5tdG9rZW4gKFM/ICd8JyBTPyBObXRva2VuKSogUz8gJyknIFsgVkM6IEVudW1lcmF0aW9uIF0gVmFsdWVzIG9mIHRoaXMgdHlwZSBtdXN0IG1hdGNoIG9uZSBvZiB0aGUgTm10b2tlbiB0b2tlbnMgaW4gdGhlIGRlY2xhcmF0aW9uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbnVtZXJhdGlvbiA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiB0cmVlIGJ1aWx0IHdoaWxlIHBhcnNpbmc8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxQYXJzZUV4dGVybmFsSUQiLz54bWxQYXJzZUV4dGVybmFsSUQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sUGFyc2VFeHRlcm5hbElECSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiogcHVibGljSUQsIDxici8+CQkJCQkgaW50IHN0cmljdCk8YnIvPgorPC9wcmU+PHA+UGFyc2UgYW4gRXh0ZXJuYWwgSUQgb3IgYSBQdWJsaWMgSUQgTk9URTogUHJvZHVjdGlvbnMgWzc1XSBhbmQgWzgzXSBpbnRlcmFjdCBiYWRseSBzaW5jZSBbNzVdIGNhbiBnZW5lcmF0ZSAnUFVCTElDJyBTIFB1YmlkTGl0ZXJhbCBTIFN5c3RlbUxpdGVyYWwgWzc1XSBFeHRlcm5hbElEIDo6PSAnU1lTVEVNJyBTIFN5c3RlbUxpdGVyYWwgfCAnUFVCTElDJyBTIFB1YmlkTGl0ZXJhbCBTIFN5c3RlbUxpdGVyYWwgWzgzXSBQdWJsaWNJRCA6Oj0gJ1BVQkxJQycgUyBQdWJpZExpdGVyYWw8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cHVibGljSUQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgeG1sQ2hhcioqIHJlY2VpdmluZyBQdWJpZExpdGVyYWw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0cmljdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+aW5kaWNhdGUgd2hldGhlciB3ZSBzaG91bGQgcmVzdHJpY3QgcGFyc2luZyB0byBvbmx5IHByb2R1Y3Rpb24gWzc1XSwgc2VlIE5PVEUgYmVsb3c8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmdW5jdGlvbiByZXR1cm5zIFN5c3RlbUxpdGVyYWwgYW5kIGluIHRoZSBzZWNvbmQgY2FzZSBwdWJsaWNJRCByZWNlaXZlcyBQdWJpZExpdGVyYWwsIGlzIHN0cmljdCBpcyBvZmYgaXQgaXMgcG9zc2libGUgdG8gcmV0dXJuIE5VTEwgYW5kIGhhdmUgcHVibGljSUQgc2V0LjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFBhcnNlRXh0ZXJuYWxTdWJzZXQiLz54bWxQYXJzZUV4dGVybmFsU3Vic2V0ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxQYXJzZUV4dGVybmFsU3Vic2V0CQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogRXh0ZXJuYWxJRCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogU3lzdGVtSUQpPGJyLz4KKzwvcHJlPjxwPnBhcnNlIE1hcmt1cCBkZWNsYXJhdGlvbnMgZnJvbSBhbiBleHRlcm5hbCBzdWJzZXQgWzMwXSBleHRTdWJzZXQgOjo9IHRleHREZWNsPyBleHRTdWJzZXREZWNsIFszMV0gZXh0U3Vic2V0RGVjbCA6Oj0gKG1hcmt1cGRlY2wgfCBjb25kaXRpb25hbFNlY3QgfCBQRVJlZmVyZW5jZSB8IFMpICo8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+RXh0ZXJuYWxJRDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGV4dGVybmFsIGlkZW50aWZpZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlN5c3RlbUlEPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc3lzdGVtIGlkZW50aWZpZXIgKG9yIFVSTCk8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxQYXJzZU1hcmt1cERlY2wiLz54bWxQYXJzZU1hcmt1cERlY2wgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFBhcnNlTWFya3VwRGVjbAkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPGJyLz4KKzwvcHJlPjxwPnBhcnNlIE1hcmt1cCBkZWNsYXJhdGlvbnMgWzI5XSBtYXJrdXBkZWNsIDo6PSBlbGVtZW50ZGVjbCB8IEF0dGxpc3REZWNsIHwgRW50aXR5RGVjbCB8IE5vdGF0aW9uRGVjbCB8IFBJIHwgQ29tbWVudCBbIFZDOiBQcm9wZXIgRGVjbGFyYXRpb24vUEUgTmVzdGluZyBdIFBhcmFtZXRlci1lbnRpdHkgcmVwbGFjZW1lbnQgdGV4dCBtdXN0IGJlIHByb3Blcmx5IG5lc3RlZCB3aXRoIG1hcmt1cCBkZWNsYXJhdGlvbnMuIFRoYXQgaXMgdG8gc2F5LCBpZiBlaXRoZXIgdGhlIGZpcnN0IGNoYXJhY3RlciBvciB0aGUgbGFzdCBjaGFyYWN0ZXIgb2YgYSBtYXJrdXAgZGVjbGFyYXRpb24gKG1hcmt1cGRlY2wgYWJvdmUpIGlzIGNvbnRhaW5lZCBpbiB0aGUgcmVwbGFjZW1lbnQgdGV4dCBmb3IgYSBwYXJhbWV0ZXItZW50aXR5IHJlZmVyZW5jZSwgYm90aCBtdXN0IGJlIGNvbnRhaW5lZCBpbiB0aGUgc2FtZSByZXBsYWNlbWVudCB0ZXh0LiBbIFdGQzogUEVzIGluIEludGVybmFsIFN1YnNldCBdIEluIHRoZSBpbnRlcm5hbCBEVEQgc3Vic2V0LCBwYXJhbWV0ZXItZW50aXR5IHJlZmVyZW5jZXMgY2FuIG9jY3VyIG9ubHkgd2hlcmUgbWFya3VwIGRlY2xhcmF0aW9ucyBjYW4gb2NjdXIsIG5vdCB3aXRoaW4gbWFya3VwIGRlY2xhcmF0aW9ucy4gKFRoaXMgZG9lcyBub3QgYXBwbHkgdG8gcmVmZXJlbmNlcyB0aGF0IG9jY3VyIGluIGV4dGVybmFsIHBhcmFtZXRlciBlbnRpdGllcyBvciB0byB0aGUgZXh0ZXJuYWwgc3Vic2V0Lik8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFBhcnNlTWlzYyIvPnhtbFBhcnNlTWlzYyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sUGFyc2VNaXNjCQkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPGJyLz4KKzwvcHJlPjxwPnBhcnNlIGFuIFhNTCBNaXNjKiBvcHRpb25hbCBmaWVsZC4gWzI3XSBNaXNjIDo6PSBDb21tZW50IHwgUEkgfCBTPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxQYXJzZU5hbWUiLz54bWxQYXJzZU5hbWUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5jb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sUGFyc2VOYW1lCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8YnIvPgorPC9wcmU+PHA+cGFyc2UgYW4gWE1MIG5hbWUuIFs0XSBOYW1lQ2hhciA6Oj0gTGV0dGVyIHwgRGlnaXQgfCAnLicgfCAnLScgfCAnXycgfCAnOicgfCBDb21iaW5pbmdDaGFyIHwgRXh0ZW5kZXIgWzVdIE5hbWUgOjo9IChMZXR0ZXIgfCAnXycgfCAnOicpIChOYW1lQ2hhcikqIFs2XSBOYW1lcyA6Oj0gTmFtZSAoI3gyMCBOYW1lKSo8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIE5hbWUgcGFyc2VkIG9yIE5VTEw8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxQYXJzZU5hbWVzcGFjZSIvPnhtbFBhcnNlTmFtZXNwYWNlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxQYXJzZU5hbWVzcGFjZQkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPGJyLz4KKzwvcHJlPjxwPnhtbFBhcnNlTmFtZXNwYWNlOiBwYXJzZSBzcGVjaWZpYyBQSSAnJmx0Oz9uYW1lc3BhY2UgLi4uJyBjb25zdHJ1Y3RzLiBUaGlzIGlzIHdoYXQgdGhlIG9sZGVyIHhtbC1uYW1lIFdvcmtpbmcgRHJhZnQgc3BlY2lmaWVkLCBhIGJ1bmNoIG9mIG90aGVyIHN0dWZmIG1heSBzdGlsbCByZWx5IG9uIGl0LCBzbyBzdXBwb3J0IGlzIHN0aWxsIGhlcmUgYXMgaWYgaXQgd2FzIGRlY2xhcmVkIG9uIHRoZSByb290IG9mIHRoZSBUcmVlOi0oIFRPRE86IHJlbW92ZSBmcm9tIGxpYnJhcnkgVG8gYmUgcmVtb3ZlZCBhdCBuZXh0IGRyb3Agb2YgYmluYXJ5IGNvbXBhdGliaWxpdHk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFBhcnNlTm10b2tlbiIvPnhtbFBhcnNlTm10b2tlbiAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxQYXJzZU5tdG9rZW4JCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTxici8+Cis8L3ByZT48cD5wYXJzZSBhbiBYTUwgTm10b2tlbi4gWzddIE5tdG9rZW4gOjo9IChOYW1lQ2hhcikrIFs4XSBObXRva2VucyA6Oj0gTm10b2tlbiAoI3gyMCBObXRva2VuKSo8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIE5tdG9rZW4gcGFyc2VkIG9yIE5VTEw8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxQYXJzZU5vdGF0aW9uRGVjbCIvPnhtbFBhcnNlTm90YXRpb25EZWNsICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxQYXJzZU5vdGF0aW9uRGVjbAkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPGJyLz4KKzwvcHJlPjxwPnBhcnNlIGEgbm90YXRpb24gZGVjbGFyYXRpb24gWzgyXSBOb3RhdGlvbkRlY2wgOjo9ICcmbHQ7IU5PVEFUSU9OJyBTIE5hbWUgUyAoRXh0ZXJuYWxJRCB8IFB1YmxpY0lEKSBTPyAnJmd0OycgSGVuY2UgdGhlcmUgaXMgYWN0dWFsbHkgMyBjaG9pY2VzOiAnUFVCTElDJyBTIFB1YmlkTGl0ZXJhbCAnUFVCTElDJyBTIFB1YmlkTGl0ZXJhbCBTIFN5c3RlbUxpdGVyYWwgYW5kICdTWVNURU0nIFMgU3lzdGVtTGl0ZXJhbCBTZWUgdGhlIE5PVEUgb24geG1sUGFyc2VFeHRlcm5hbElEKCkuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxQYXJzZU5vdGF0aW9uVHlwZSIvPnhtbFBhcnNlTm90YXRpb25UeXBlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRW51bWVyYXRpb25QdHIiPnhtbEVudW1lcmF0aW9uUHRyPC9hPgl4bWxQYXJzZU5vdGF0aW9uVHlwZQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8YnIvPgorPC9wcmU+PHA+cGFyc2UgYW4gTm90YXRpb24gPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gdHlwZS4gTm90ZTogdGhlIGxlYWRpbmcgJ05PVEFUSU9OJyBTIHBhcnQgaGFzIGFscmVhZHkgYmVpbmcgcGFyc2VkLi4uIFs1OF0gTm90YXRpb25UeXBlIDo6PSAnTk9UQVRJT04nIFMgJygnIFM/IE5hbWUgKFM/ICd8JyBTPyBOYW1lKSogUz8gJyknIFsgVkM6IE5vdGF0aW9uIEF0dHJpYnV0ZXMgXSBWYWx1ZXMgb2YgdGhpcyB0eXBlIG11c3QgbWF0Y2ggb25lIG9mIHRoZSBub3RhdGlvbiBuYW1lcyBpbmNsdWRlZCBpbiB0aGUgZGVjbGFyYXRpb247IGFsbCBub3RhdGlvbiBuYW1lcyBpbiB0aGUgZGVjbGFyYXRpb24gbXVzdCBiZSBkZWNsYXJlZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vdGF0aW9uIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IHRyZWUgYnVpbHQgd2hpbGUgcGFyc2luZzwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFBhcnNlUEVSZWZlcmVuY2UiLz54bWxQYXJzZVBFUmVmZXJlbmNlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxQYXJzZVBFUmVmZXJlbmNlCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8YnIvPgorPC9wcmU+PHA+cGFyc2UgUEVSZWZlcmVuY2UgZGVjbGFyYXRpb25zIFRoZSBlbnRpdHkgY29udGVudCBpcyBoYW5kbGVkIGRpcmVjdGx5IGJ5IHB1c2hpbmcgaXQncyBjb250ZW50IGFzIGEgbmV3IGlucHV0IHN0cmVhbS4gWzY5XSBQRVJlZmVyZW5jZSA6Oj0gJyUnIE5hbWUgJzsnIFsgV0ZDOiBObyBSZWN1cnNpb24gXSBBIHBhcnNlZCBlbnRpdHkgbXVzdCBub3QgY29udGFpbiBhIHJlY3Vyc2l2ZSA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI3JlZmVyZW5jZSI+cmVmZXJlbmNlPC9hPiB0byBpdHNlbGYsIGVpdGhlciBkaXJlY3RseSBvciBpbmRpcmVjdGx5LiBbIFdGQzogRW50aXR5IERlY2xhcmVkIF0gSW4gYSBkb2N1bWVudCB3aXRob3V0IGFueSBEVEQsIGEgZG9jdW1lbnQgd2l0aCBvbmx5IGFuIGludGVybmFsIERURCBzdWJzZXQgd2hpY2ggY29udGFpbnMgbm8gcGFyYW1ldGVyIGVudGl0eSByZWZlcmVuY2VzLCBvciBhIGRvY3VtZW50IHdpdGggInN0YW5kYWxvbmU9J3llcyciLCAuLi4gLi4uIFRoZSBkZWNsYXJhdGlvbiBvZiBhIHBhcmFtZXRlciBlbnRpdHkgbXVzdCBwcmVjZWRlIGFueSA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI3JlZmVyZW5jZSI+cmVmZXJlbmNlPC9hPiB0byBpdC4uLiBbIFZDOiBFbnRpdHkgRGVjbGFyZWQgXSBJbiBhIGRvY3VtZW50IHdpdGggYW4gZXh0ZXJuYWwgc3Vic2V0IG9yIGV4dGVybmFsIHBhcmFtZXRlciBlbnRpdGllcyB3aXRoICJzdGFuZGFsb25lPSdubyciLCAuLi4gLi4uIFRoZSBkZWNsYXJhdGlvbiBvZiBhIHBhcmFtZXRlciBlbnRpdHkgbXVzdCBwcmVjZWRlIGFueSA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI3JlZmVyZW5jZSI+cmVmZXJlbmNlPC9hPiB0byBpdC4uLiBbIFdGQzogSW4gRFREIF0gUGFyYW1ldGVyLWVudGl0eSByZWZlcmVuY2VzIG1heSBvbmx5IGFwcGVhciBpbiB0aGUgRFRELiBOT1RFOiBtaXNsZWFkaW5nIGJ1dCB0aGlzIGlzIGhhbmRsZWQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxQYXJzZVBJIi8+eG1sUGFyc2VQSSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sUGFyc2VQSQkJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTxici8+Cis8L3ByZT48cD5wYXJzZSBhbiBYTUwgUHJvY2Vzc2luZyBJbnN0cnVjdGlvbi4gWzE2XSBQSSA6Oj0gJyZsdDs/JyBQSVRhcmdldCAoUyAoQ2hhciogLSAoQ2hhciogJz8mZ3Q7JyBDaGFyKikpKT8gJz8mZ3Q7JyBUaGUgcHJvY2Vzc2luZyBpcyB0cmFuc2ZlcmVkIHRvIFNBWCBvbmNlIHBhcnNlZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFBhcnNlUElUYXJnZXQiLz54bWxQYXJzZVBJVGFyZ2V0ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Y29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbFBhcnNlUElUYXJnZXQJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPGJyLz4KKzwvcHJlPjxwPnBhcnNlIHRoZSBuYW1lIG9mIGEgUEkgWzE3XSBQSVRhcmdldCA6Oj0gTmFtZSAtICgoJ1gnIHwgJ3gnKSAoJ00nIHwgJ20nKSAoJ0wnIHwgJ2wnKSk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFBJVGFyZ2V0IG5hbWUgb3IgTlVMTDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFBhcnNlUHViaWRMaXRlcmFsIi8+eG1sUGFyc2VQdWJpZExpdGVyYWwgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sUGFyc2VQdWJpZExpdGVyYWwJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPGJyLz4KKzwvcHJlPjxwPnBhcnNlIGFuIFhNTCBwdWJsaWMgbGl0ZXJhbCBbMTJdIFB1YmlkTGl0ZXJhbCA6Oj0gJyInIFB1YmlkQ2hhciogJyInIHwgIiciIChQdWJpZENoYXIgLSAiJyIpKiAiJyI8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFB1YmlkTGl0ZXJhbCBwYXJzZWQgb3IgTlVMTC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxQYXJzZVF1b3RlZFN0cmluZyIvPnhtbFBhcnNlUXVvdGVkU3RyaW5nICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbFBhcnNlUXVvdGVkU3RyaW5nCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTxici8+Cis8L3ByZT48cD5QYXJzZSBhbmQgcmV0dXJuIGEgc3RyaW5nIGJldHdlZW4gcXVvdGVzIG9yIGRvdWJsZXF1b3RlcyBUT0RPOiBEZXByZWNhdGVkLCB0byBiZSByZW1vdmVkIGF0IG5leHQgZHJvcCBvZiBiaW5hcnkgY29tcGF0aWJpbGl0eTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc3RyaW5nIHBhcnNlciBvciBOVUxMLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFBhcnNlUmVmZXJlbmNlIi8+eG1sUGFyc2VSZWZlcmVuY2UgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFBhcnNlUmVmZXJlbmNlCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8YnIvPgorPC9wcmU+PHA+cGFyc2UgYW5kIGhhbmRsZSBlbnRpdHkgcmVmZXJlbmNlcyBpbiBjb250ZW50LCBkZXBlbmRpbmcgb24gdGhlIFNBWCBpbnRlcmZhY2UsIHRoaXMgbWF5IGVuZC11cCBpbiBhIGNhbGwgdG8gY2hhcmFjdGVyKCkgaWYgdGhpcyBpcyBhIENoYXJSZWYsIGEgcHJlZGVmaW5lZCBlbnRpdHksIGlmIHRoZXJlIGlzIG5vIHJlZmVyZW5jZSgpIGNhbGxiYWNrLiBvciBpZiB0aGUgcGFyc2VyIHdhcyBhc2tlZCB0byBzd2l0Y2ggdG8gdGhhdCBtb2RlLiBbNjddIFJlZmVyZW5jZSA6Oj0gRW50aXR5UmVmIHwgQ2hhclJlZjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUGFyc2VTRERlY2wiLz54bWxQYXJzZVNERGVjbCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxQYXJzZVNERGVjbAkJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTxici8+Cis8L3ByZT48cD5wYXJzZSB0aGUgWE1MIHN0YW5kYWxvbmUgZGVjbGFyYXRpb24gWzMyXSBTRERlY2wgOjo9IFMgJ3N0YW5kYWxvbmUnIEVxICgoIiciICgneWVzJyB8ICdubycpICInIikgfCAoJyInICgneWVzJyB8ICdubycpJyInKSkgWyBWQzogU3RhbmRhbG9uZSBEb2N1bWVudCBEZWNsYXJhdGlvbiBdIFRPRE8gVGhlIHN0YW5kYWxvbmUgZG9jdW1lbnQgZGVjbGFyYXRpb24gbXVzdCBoYXZlIHRoZSB2YWx1ZSAibm8iIGlmIGFueSBleHRlcm5hbCBtYXJrdXAgZGVjbGFyYXRpb25zIGNvbnRhaW4gZGVjbGFyYXRpb25zIG9mOiAtIGF0dHJpYnV0ZXMgd2l0aCBkZWZhdWx0IHZhbHVlcywgaWYgZWxlbWVudHMgdG8gd2hpY2ggdGhlc2UgYXR0cmlidXRlcyBhcHBseSBhcHBlYXIgaW4gdGhlIGRvY3VtZW50IHdpdGhvdXQgc3BlY2lmaWNhdGlvbnMgb2YgdmFsdWVzIGZvciB0aGVzZSBhdHRyaWJ1dGVzLCBvciAtIGVudGl0aWVzIChvdGhlciB0aGFuIGFtcCwgbHQsIGd0LCBhcG9zLCBxdW90KSwgaWYgcmVmZXJlbmNlcyB0byB0aG9zZSBlbnRpdGllcyBhcHBlYXIgaW4gdGhlIGRvY3VtZW50LCBvciAtIGF0dHJpYnV0ZXMgd2l0aCB2YWx1ZXMgc3ViamVjdCB0byBub3JtYWxpemF0aW9uLCB3aGVyZSB0aGUgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gYXBwZWFycyBpbiB0aGUgZG9jdW1lbnQgd2l0aCBhIHZhbHVlIHdoaWNoIHdpbGwgY2hhbmdlIGFzIGEgcmVzdWx0IG9mIG5vcm1hbGl6YXRpb24sIG9yIC0gZWxlbWVudCB0eXBlcyB3aXRoIGVsZW1lbnQgY29udGVudCwgaWYgd2hpdGUgc3BhY2Ugb2NjdXJzIGRpcmVjdGx5IHdpdGhpbiBhbnkgaW5zdGFuY2Ugb2YgdGhvc2UgdHlwZXMuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgc3RhbmRhbG9uZT0ieWVzIiAwIGlmIHN0YW5kYWxvbmU9Im5vIiAtMiBpZiBzdGFuZGFsb25lIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IGlzIG1pc3Npbmcgb3IgaW52YWxpZCAoQSBzdGFuZGFsb25lIHZhbHVlIG9mIC0yIG1lYW5zIHRoYXQgdGhlIFhNTCBkZWNsYXJhdGlvbiB3YXMgZm91bmQsIGJ1dCBubyB2YWx1ZSB3YXMgc3BlY2lmaWVkIGZvciB0aGUgc3RhbmRhbG9uZSBhdHRyaWJ1dGUpLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFBhcnNlU3RhcnRUYWciLz54bWxQYXJzZVN0YXJ0VGFnICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Y29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbFBhcnNlU3RhcnRUYWcJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPGJyLz4KKzwvcHJlPjxwPnBhcnNlIGEgc3RhcnQgb2YgdGFnIGVpdGhlciBmb3IgcnVsZSBlbGVtZW50IG9yIEVtcHR5RWxlbWVudC4gSW4gYm90aCBjYXNlIHdlIGRvbid0IHBhcnNlIHRoZSB0YWcgY2xvc2luZyBjaGFycy4gWzQwXSBTVGFnIDo6PSAnJmx0OycgTmFtZSAoUyBBdHRyaWJ1dGUpKiBTPyAnJmd0OycgWyBXRkM6IFVuaXF1ZSBBdHQgU3BlYyBdIE5vIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IG5hbWUgbWF5IGFwcGVhciBtb3JlIHRoYW4gb25jZSBpbiB0aGUgc2FtZSBzdGFydC10YWcgb3IgZW1wdHktZWxlbWVudCB0YWcuIFs0NF0gRW1wdHlFbGVtVGFnIDo6PSAnJmx0OycgTmFtZSAoUyBBdHRyaWJ1dGUpKiBTPyAnLyZndDsnIFsgV0ZDOiBVbmlxdWUgQXR0IFNwZWMgXSBObyA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBuYW1lIG1heSBhcHBlYXIgbW9yZSB0aGFuIG9uY2UgaW4gdGhlIHNhbWUgc3RhcnQtdGFnIG9yIGVtcHR5LWVsZW1lbnQgdGFnLiBXaXRoIG5hbWVzcGFjZTogW05TIDhdIFNUYWcgOjo9ICcmbHQ7JyBRTmFtZSAoUyBBdHRyaWJ1dGUpKiBTPyAnJmd0OycgW05TIDEwXSBFbXB0eUVsZW1lbnQgOjo9ICcmbHQ7JyBRTmFtZSAoUyBBdHRyaWJ1dGUpKiBTPyAnLyZndDsnPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbGVtZW50IG5hbWUgcGFyc2VkPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUGFyc2VTeXN0ZW1MaXRlcmFsIi8+eG1sUGFyc2VTeXN0ZW1MaXRlcmFsICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbFBhcnNlU3lzdGVtTGl0ZXJhbAkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8YnIvPgorPC9wcmU+PHA+cGFyc2UgYW4gWE1MIExpdGVyYWwgWzExXSBTeXN0ZW1MaXRlcmFsIDo6PSAoJyInIFteIl0qICciJykgfCAoIiciIFteJ10qICInIik8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFN5c3RlbUxpdGVyYWwgcGFyc2VkIG9yIE5VTEw8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxQYXJzZVRleHREZWNsIi8+eG1sUGFyc2VUZXh0RGVjbCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sUGFyc2VUZXh0RGVjbAkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPGJyLz4KKzwvcHJlPjxwPnBhcnNlIGFuIFhNTCBkZWNsYXJhdGlvbiBoZWFkZXIgZm9yIGV4dGVybmFsIGVudGl0aWVzIFs3N10gVGV4dERlY2wgOjo9ICcmbHQ7P3htbCcgVmVyc2lvbkluZm8/IEVuY29kaW5nRGVjbCBTPyAnPyZndDsnPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxQYXJzZVZlcnNpb25JbmZvIi8+eG1sUGFyc2VWZXJzaW9uSW5mbyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxQYXJzZVZlcnNpb25JbmZvCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTxici8+Cis8L3ByZT48cD5wYXJzZSB0aGUgWE1MIHZlcnNpb24uIFsyNF0gVmVyc2lvbkluZm8gOjo9IFMgJ3ZlcnNpb24nIEVxICgnIFZlcnNpb25OdW0gJyB8ICIgVmVyc2lvbk51bSAiKSBbMjVdIEVxIDo6PSBTPyAnPScgUz88L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHZlcnNpb24gc3RyaW5nLCBlLmcuICIxLjAiPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUGFyc2VWZXJzaW9uTnVtIi8+eG1sUGFyc2VWZXJzaW9uTnVtICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbFBhcnNlVmVyc2lvbk51bQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8YnIvPgorPC9wcmU+PHA+cGFyc2UgdGhlIFhNTCB2ZXJzaW9uIHZhbHVlLiBbMjZdIFZlcnNpb25OdW0gOjo9ICcxLicgWzAtOV0rIEluIHByYWN0aWNlIGFsbG93IFswLTldLlswLTldKyBhdCB0aGF0IGxldmVsPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzdHJpbmcgZ2l2aW5nIHRoZSBYTUwgdmVyc2lvbiBudW1iZXIsIG9yIE5VTEw8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxQYXJzZVhNTERlY2wiLz54bWxQYXJzZVhNTERlY2wgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFBhcnNlWE1MRGVjbAkJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTxici8+Cis8L3ByZT48cD5wYXJzZSBhbiBYTUwgZGVjbGFyYXRpb24gaGVhZGVyIFsyM10gWE1MRGVjbCA6Oj0gJyZsdDs/eG1sJyBWZXJzaW9uSW5mbyBFbmNvZGluZ0RlY2w/IFNERGVjbD8gUz8gJz8mZ3Q7JzwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUGFyc2VySGFuZGxlUEVSZWZlcmVuY2UiLz54bWxQYXJzZXJIYW5kbGVQRVJlZmVyZW5jZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sUGFyc2VySGFuZGxlUEVSZWZlcmVuY2UJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPGJyLz4KKzwvcHJlPjxwPls2OV0gUEVSZWZlcmVuY2UgOjo9ICclJyBOYW1lICc7JyBbIFdGQzogTm8gUmVjdXJzaW9uIF0gQSBwYXJzZWQgZW50aXR5IG11c3Qgbm90IGNvbnRhaW4gYSByZWN1cnNpdmUgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNyZWZlcmVuY2UiPnJlZmVyZW5jZTwvYT4gdG8gaXRzZWxmLCBlaXRoZXIgZGlyZWN0bHkgb3IgaW5kaXJlY3RseS4gWyBXRkM6IEVudGl0eSBEZWNsYXJlZCBdIEluIGEgZG9jdW1lbnQgd2l0aG91dCBhbnkgRFRELCBhIGRvY3VtZW50IHdpdGggb25seSBhbiBpbnRlcm5hbCBEVEQgc3Vic2V0IHdoaWNoIGNvbnRhaW5zIG5vIHBhcmFtZXRlciBlbnRpdHkgcmVmZXJlbmNlcywgb3IgYSBkb2N1bWVudCB3aXRoICJzdGFuZGFsb25lPSd5ZXMnIiwgLi4uIC4uLiBUaGUgZGVjbGFyYXRpb24gb2YgYSBwYXJhbWV0ZXIgZW50aXR5IG11c3QgcHJlY2VkZSBhbnkgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNyZWZlcmVuY2UiPnJlZmVyZW5jZTwvYT4gdG8gaXQuLi4gWyBWQzogRW50aXR5IERlY2xhcmVkIF0gSW4gYSBkb2N1bWVudCB3aXRoIGFuIGV4dGVybmFsIHN1YnNldCBvciBleHRlcm5hbCBwYXJhbWV0ZXIgZW50aXRpZXMgd2l0aCAic3RhbmRhbG9uZT0nbm8nIiwgLi4uIC4uLiBUaGUgZGVjbGFyYXRpb24gb2YgYSBwYXJhbWV0ZXIgZW50aXR5IG11c3QgcHJlY2VkZSBhbnkgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNyZWZlcmVuY2UiPnJlZmVyZW5jZTwvYT4gdG8gaXQuLi4gWyBXRkM6IEluIERURCBdIFBhcmFtZXRlci1lbnRpdHkgcmVmZXJlbmNlcyBtYXkgb25seSBhcHBlYXIgaW4gdGhlIERURC4gTk9URTogbWlzbGVhZGluZyBidXQgdGhpcyBpcyBoYW5kbGVkLiBBIFBFUmVmZXJlbmNlIG1heSBoYXZlIGJlZW4gZGV0ZWN0ZWQgaW4gdGhlIGN1cnJlbnQgaW5wdXQgc3RyZWFtIHRoZSBoYW5kbGluZyBpcyBkb25lIGFjY29yZGluZ2x5IHRvIGh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy14bWwjZW50cHJvYyBpLmUuIC0gSW5jbHVkZWQgaW4gbGl0ZXJhbCBpbiBlbnRpdHkgdmFsdWVzIC0gSW5jbHVkZWQgYXMgUGFyYW1ldGVyIEVudGl0eSA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI3JlZmVyZW5jZSI+cmVmZXJlbmNlPC9hPiB3aXRoaW4gRFREczwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUGFyc2VySGFuZGxlUmVmZXJlbmNlIi8+eG1sUGFyc2VySGFuZGxlUmVmZXJlbmNlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxQYXJzZXJIYW5kbGVSZWZlcmVuY2UJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPGJyLz4KKzwvcHJlPjxwPlRPRE86IFJlbW92ZSwgbm93IGRlcHJlY2F0ZWQgLi4uIHRoZSB0ZXN0IGlzIGRvbmUgZGlyZWN0bHkgaW4gdGhlIGNvbnRlbnQgcGFyc2luZyByb3V0aW5lcy4gWzY3XSBSZWZlcmVuY2UgOjo9IEVudGl0eVJlZiB8IENoYXJSZWYgWzY4XSBFbnRpdHlSZWYgOjo9ICcmYW1wOycgTmFtZSAnOycgWyBXRkM6IEVudGl0eSBEZWNsYXJlZCBdIHRoZSBOYW1lIGdpdmVuIGluIHRoZSBlbnRpdHkgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNyZWZlcmVuY2UiPnJlZmVyZW5jZTwvYT4gbXVzdCBtYXRjaCB0aGF0IGluIGFuIGVudGl0eSBkZWNsYXJhdGlvbiwgZXhjZXB0IHRoYXQgd2VsbC1mb3JtZWQgZG9jdW1lbnRzIG5lZWQgbm90IGRlY2xhcmUgYW55IG9mIHRoZSBmb2xsb3dpbmcgZW50aXRpZXM6IGFtcCwgbHQsIGd0LCBhcG9zLCBxdW90LiBbIFdGQzogUGFyc2VkIEVudGl0eSBdIEFuIGVudGl0eSA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI3JlZmVyZW5jZSI+cmVmZXJlbmNlPC9hPiBtdXN0IG5vdCBjb250YWluIHRoZSBuYW1lIG9mIGFuIHVucGFyc2VkIGVudGl0eSBbNjZdIENoYXJSZWYgOjo9ICcmYW1wOyMnIFswLTldKyAnOycgfCAnJmFtcDsjeCcgWzAtOWEtZkEtRl0rICc7JyBBIFBFUmVmZXJlbmNlIG1heSBoYXZlIGJlZW4gZGV0ZWN0ZWQgaW4gdGhlIGN1cnJlbnQgaW5wdXQgc3RyZWFtIHRoZSBoYW5kbGluZyBpcyBkb25lIGFjY29yZGluZ2x5IHRvIGh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy14bWwjZW50cHJvYzwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUGFyc2VySW5wdXRTaHJpbmsiLz54bWxQYXJzZXJJbnB1dFNocmluayAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sUGFyc2VySW5wdXRTaHJpbmsJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dFB0ciI+eG1sUGFyc2VySW5wdXRQdHI8L2E+IGluKTxici8+Cis8L3ByZT48cD5UaGlzIGZ1bmN0aW9uIHJlbW92ZXMgdXNlZCBpbnB1dCBmb3IgdGhlIHBhcnNlci48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmluPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGlucHV0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUG9wSW5wdXQiLz54bWxQb3BJbnB1dCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4JeG1sUG9wSW5wdXQJCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8YnIvPgorPC9wcmU+PHA+eG1sUG9wSW5wdXQ6IHRoZSBjdXJyZW50IGlucHV0IHBvaW50ZWQgYnkgY3R4dC0mZ3Q7aW5wdXQgY2FtZSB0byBhbiBlbmQgcG9wIGl0IGFuZCByZXR1cm4gdGhlIG5leHQgY2hhci48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGN1cnJlbnQgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiBpbiB0aGUgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxQdXNoSW5wdXQiLz54bWxQdXNoSW5wdXQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sUHVzaElucHV0CQkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRQdHIiPnhtbFBhcnNlcklucHV0UHRyPC9hPiBpbnB1dCk8YnIvPgorPC9wcmU+PHA+eG1sUHVzaElucHV0OiBzd2l0Y2ggdG8gYSBuZXcgaW5wdXQgc3RyZWFtIHdoaWNoIGlzIHN0YWNrZWQgb24gdG9wIG9mIHRoZSBwcmV2aW91cyBvbmUocykuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmlucHV0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGlucHV0IGZyYWdtZW50IChlbnRpdHksIFhNTCBmcmFnbWVudCAuLi4pLjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+LTEgaW4gY2FzZSBvZiBlcnJvciBvciB0aGUgaW5kZXggaW4gdGhlIGlucHV0IHN0YWNrPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU2Nhbk5hbWUiLz54bWxTY2FuTmFtZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxTY2FuTmFtZQkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPGJyLz4KKzwvcHJlPjxwPlRyaWNrZXJ5OiBwYXJzZSBhbiBYTUwgbmFtZSBidXQgd2l0aG91dCBjb25zdW1pbmcgdGhlIGlucHV0IGZsb3cgTmVlZGVkIGZvciByb2xsYmFjayBjYXNlcy4gVXNlZCBvbmx5IHdoZW4gcGFyc2luZyBlbnRpdGllcyByZWZlcmVuY2VzLiBUT0RPOiBzZWVtcyBkZXByZWNhdGVkIG5vdywgb25seSB1c2VkIGluIHRoZSBkZWZhdWx0IHBhcnQgb2YgPGEgaHJlZj0ibGlieG1sMi1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZXJIYW5kbGVSZWZlcmVuY2UiPnhtbFBhcnNlckhhbmRsZVJlZmVyZW5jZTwvYT4gWzRdIE5hbWVDaGFyIDo6PSBMZXR0ZXIgfCBEaWdpdCB8ICcuJyB8ICctJyB8ICdfJyB8ICc6JyB8IENvbWJpbmluZ0NoYXIgfCBFeHRlbmRlciBbNV0gTmFtZSA6Oj0gKExldHRlciB8ICdfJyB8ICc6JykgKE5hbWVDaGFyKSogWzZdIE5hbWVzIDo6PSBOYW1lIChTIE5hbWUpKjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgTmFtZSBwYXJzZWQgb3IgTlVMTDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNldEVudGl0eVJlZmVyZW5jZUZ1bmMiLz54bWxTZXRFbnRpdHlSZWZlcmVuY2VGdW5jICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxTZXRFbnRpdHlSZWZlcmVuY2VGdW5jCSg8YSBocmVmPSJsaWJ4bWwyLXBhcnNlckludGVybmFscy5odG1sI3htbEVudGl0eVJlZmVyZW5jZUZ1bmMiPnhtbEVudGl0eVJlZmVyZW5jZUZ1bmM8L2E+IGZ1bmMpPGJyLz4KKzwvcHJlPjxwPlNldCB0aGUgZnVuY3Rpb24gdG8gY2FsbCBjYWxsIGJhY2sgd2hlbiBhIHhtbCA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI3JlZmVyZW5jZSI+cmVmZXJlbmNlPC9hPiBoYXMgYmVlbiBtYWRlPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mdW5jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5BIHZhbGlkIGZ1bmN0aW9uPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU2tpcEJsYW5rQ2hhcnMiLz54bWxTa2lwQmxhbmtDaGFycyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxTa2lwQmxhbmtDaGFycwkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPGJyLz4KKzwvcHJlPjxwPnNraXAgYWxsIGJsYW5rcyBjaGFyYWN0ZXIgZm91bmQgYXQgdGhhdCBwb2ludCBpbiB0aGUgaW5wdXQgc3RyZWFtcy4gSXQgcG9wcyB1cCBmaW5pc2hlZCBlbnRpdGllcyBpbiB0aGUgcHJvY2VzcyBpZiBhbGxvd2FibGUgYXQgdGhhdCBwb2ludC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2Ygc3BhY2UgY2hhcnMgc2tpcHBlZDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNwbGl0UU5hbWUiLz54bWxTcGxpdFFOYW1lICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbFNwbGl0UU5hbWUJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiogcHJlZml4KTxici8+Cis8L3ByZT48cD5wYXJzZSBhbiBVVEY4IGVuY29kZWQgWE1MIHF1YWxpZmllZCBuYW1lIHN0cmluZyBbTlMgNV0gUU5hbWUgOjo9IChQcmVmaXggJzonKT8gTG9jYWxQYXJ0IFtOUyA2XSBQcmVmaXggOjo9IE5DTmFtZSBbTlMgN10gTG9jYWxQYXJ0IDo6PSBOQ05hbWU8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wcmVmaXg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqKjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxvY2FsIHBhcnQsIGFuZCBwcmVmaXggaXMgdXBkYXRlZCB0byBnZXQgdGhlIFByZWZpeCBpZiBhbnkuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU3RyaW5nQ3VycmVudENoYXIiLz54bWxTdHJpbmdDdXJyZW50Q2hhciAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxTdHJpbmdDdXJyZW50Q2hhcgkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGN1ciwgPGJyLz4JCQkJCSBpbnQgKiBsZW4pPGJyLz4KKzwvcHJlPjxwPlRoZSBjdXJyZW50IGNoYXIgdmFsdWUsIGlmIHVzaW5nIFVURi04IHRoaXMgbWF5IGFjdHVhbGx5IHNwYW4gbXVsdGlwbGUgYnl0ZXMgaW4gdGhlIGlucHV0IGJ1ZmZlci48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+cG9pbnRlciB0byB0aGUgYmVnaW5uaW5nIG9mIHRoZSBjaGFyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnBvaW50ZXIgdG8gdGhlIGxlbmd0aCBvZiB0aGUgY2hhciByZWFkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY3VycmVudCBjaGFyIHZhbHVlIGFuZCBpdHMgbGVuZ3RoPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU3RyaW5nRGVjb2RlRW50aXRpZXMiLz54bWxTdHJpbmdEZWNvZGVFbnRpdGllcyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxTdHJpbmdEZWNvZGVFbnRpdGllcwkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3RyLCA8YnIvPgkJCQkJIGludCB3aGF0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gZW5kLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gZW5kMiwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+IGVuZDMpPGJyLz4KKzwvcHJlPjxwPlRha2VzIGEgZW50aXR5IHN0cmluZyBjb250ZW50IGFuZCBwcm9jZXNzIHRvIGRvIHRoZSBhZGVxdWF0ZSBzdWJzdGl0dXRpb25zLiBbNjddIFJlZmVyZW5jZSA6Oj0gRW50aXR5UmVmIHwgQ2hhclJlZiBbNjldIFBFUmVmZXJlbmNlIDo6PSAnJScgTmFtZSAnOyc8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3RyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaW5wdXQgc3RyaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD53aGF0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5jb21iaW5hdGlvbiBvZiA8YSBocmVmPSJsaWJ4bWwyLXBhcnNlckludGVybmFscy5odG1sI1hNTF9TVUJTVElUVVRFX1JFRiI+WE1MX1NVQlNUSVRVVEVfUkVGPC9hPiBhbmQgPGEgaHJlZj0ibGlieG1sMi1wYXJzZXJJbnRlcm5hbHMuaHRtbCNYTUxfU1VCU1RJVFVURV9QRVJFRiI+WE1MX1NVQlNUSVRVVEVfUEVSRUY8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbmQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIGVuZCBtYXJrZXIgeG1sQ2hhciwgMCBpZiBub25lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbmQyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBlbmQgbWFya2VyIHhtbENoYXIsIDAgaWYgbm9uZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5kMzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gZW5kIG1hcmtlciB4bWxDaGFyLCAwIGlmIG5vbmU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPkEgbmV3bHkgYWxsb2NhdGVkIHN0cmluZyB3aXRoIHRoZSBzdWJzdGl0dXRpb24gZG9uZS4gVGhlIGNhbGxlciBtdXN0IGRlYWxsb2NhdGUgaXQgITwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFN0cmluZ0xlbkRlY29kZUVudGl0aWVzIi8+eG1sU3RyaW5nTGVuRGVjb2RlRW50aXRpZXMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sU3RyaW5nTGVuRGVjb2RlRW50aXRpZXMJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzdHIsIDxici8+CQkJCQkJIGludCBsZW4sIDxici8+CQkJCQkJIGludCB3aGF0LCA8YnIvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+IGVuZCwgPGJyLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiBlbmQyLCA8YnIvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+IGVuZDMpPGJyLz4KKzwvcHJlPjxwPlRha2VzIGEgZW50aXR5IHN0cmluZyBjb250ZW50IGFuZCBwcm9jZXNzIHRvIGRvIHRoZSBhZGVxdWF0ZSBzdWJzdGl0dXRpb25zLiBbNjddIFJlZmVyZW5jZSA6Oj0gRW50aXR5UmVmIHwgQ2hhclJlZiBbNjldIFBFUmVmZXJlbmNlIDo6PSAnJScgTmFtZSAnOyc8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3RyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaW5wdXQgc3RyaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzdHJpbmcgbGVuZ3RoPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD53aGF0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5jb21iaW5hdGlvbiBvZiA8YSBocmVmPSJsaWJ4bWwyLXBhcnNlckludGVybmFscy5odG1sI1hNTF9TVUJTVElUVVRFX1JFRiI+WE1MX1NVQlNUSVRVVEVfUkVGPC9hPiBhbmQgPGEgaHJlZj0ibGlieG1sMi1wYXJzZXJJbnRlcm5hbHMuaHRtbCNYTUxfU1VCU1RJVFVURV9QRVJFRiI+WE1MX1NVQlNUSVRVVEVfUEVSRUY8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbmQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIGVuZCBtYXJrZXIgeG1sQ2hhciwgMCBpZiBub25lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbmQyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBlbmQgbWFya2VyIHhtbENoYXIsIDAgaWYgbm9uZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5kMzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gZW5kIG1hcmtlciB4bWxDaGFyLCAwIGlmIG5vbmU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPkEgbmV3bHkgYWxsb2NhdGVkIHN0cmluZyB3aXRoIHRoZSBzdWJzdGl0dXRpb24gZG9uZS4gVGhlIGNhbGxlciBtdXN0IGRlYWxsb2NhdGUgaXQgITwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFN3aXRjaEVuY29kaW5nIi8+eG1sU3dpdGNoRW5jb2RpbmcgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sU3dpdGNoRW5jb2RpbmcJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmciPnhtbENoYXJFbmNvZGluZzwvYT4gZW5jKTxici8+Cis8L3ByZT48cD5jaGFuZ2UgdGhlIGlucHV0IGZ1bmN0aW9ucyB3aGVuIGRpc2NvdmVyaW5nIHRoZSBjaGFyYWN0ZXIgZW5jb2Rpbmcgb2YgYSBnaXZlbiBlbnRpdHkuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVuYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVuY29kaW5nIHZhbHVlIChudW1iZXIpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGluIGNhc2Ugb2Ygc3VjY2VzcywgLTEgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU3dpdGNoSW5wdXRFbmNvZGluZyIvPnhtbFN3aXRjaElucHV0RW5jb2RpbmcgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sU3dpdGNoSW5wdXRFbmNvZGluZwkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRQdHIiPnhtbFBhcnNlcklucHV0UHRyPC9hPiBpbnB1dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0ciI+eG1sQ2hhckVuY29kaW5nSGFuZGxlclB0cjwvYT4gaGFuZGxlcik8YnIvPgorPC9wcmU+PHA+Y2hhbmdlIHRoZSBpbnB1dCBmdW5jdGlvbnMgd2hlbiBkaXNjb3ZlcmluZyB0aGUgY2hhcmFjdGVyIGVuY29kaW5nIG9mIGEgZ2l2ZW4gZW50aXR5LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pbnB1dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGlucHV0IHN0cmVhbTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aGFuZGxlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVuY29kaW5nIGhhbmRsZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaW4gY2FzZSBvZiBzdWNjZXNzLCAtMSBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTd2l0Y2hUb0VuY29kaW5nIi8+eG1sU3dpdGNoVG9FbmNvZGluZyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxTd2l0Y2hUb0VuY29kaW5nCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0ciI+eG1sQ2hhckVuY29kaW5nSGFuZGxlclB0cjwvYT4gaGFuZGxlcik8YnIvPgorPC9wcmU+PHA+Y2hhbmdlIHRoZSBpbnB1dCBmdW5jdGlvbnMgd2hlbiBkaXNjb3ZlcmluZyB0aGUgY2hhcmFjdGVyIGVuY29kaW5nIG9mIGEgZ2l2ZW4gZW50aXR5LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5oYW5kbGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZW5jb2RpbmcgaGFuZGxlcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpbiBjYXNlIG9mIHN1Y2Nlc3MsIC0xIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKyAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvZGV2aGVscC9saWJ4bWwyLXBhdHRlcm4uaHRtbCBiL2xpYnhtbDIvZG9jL2RldmhlbHAvbGlieG1sMi1wYXR0ZXJuLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzIxYmQ3OQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL2RldmhlbHAvbGlieG1sMi1wYXR0ZXJuLmh0bWwKQEAgLTAsMCArMSwxNjYgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8aHRtbD4KKyAgPGhlYWQ+CisgICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiLz4KKyAgICA8dGl0bGU+cGF0dGVybjogcGF0dGVybiBleHByZXNzaW9uIGhhbmRsaW5nPC90aXRsZT4KKyAgICA8bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9IkxpYnhtbDIgZGV2aGVscCBzdHlsZXNoZWV0Ii8+CisgICAgPGxpbmsgcmVsPSJzdGFydCIgaHJlZj0iaW5kZXguaHRtbCIgdGl0bGU9ImxpYnhtbDIgUmVmZXJlbmNlIE1hbnVhbCIvPgorICAgIDxsaW5rIHJlbD0idXAiIGhyZWY9ImdlbmVyYWwuaHRtbCIgdGl0bGU9IkFQSSIvPgorICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0ic3R5bGUuY3NzIiB0eXBlPSJ0ZXh0L2NzcyIvPgorICAgIDxsaW5rIHJlbD0iY2hhcHRlciIgaHJlZj0iZ2VuZXJhbC5odG1sIiB0aXRsZT0iQVBJIi8+CisgIDwvaGVhZD4KKyAgPGJvZHkgYmdjb2xvcj0id2hpdGUiIHRleHQ9ImJsYWNrIiBsaW5rPSIjMDAwMEZGIiB2bGluaz0iIzg0MDA4NCIgYWxpbms9IiMwMDAwRkYiPgorICAgIDx0YWJsZSBjbGFzcz0ibmF2aWdhdGlvbiIgd2lkdGg9IjEwMCUiIHN1bW1hcnk9Ik5hdmlnYXRpb24gaGVhZGVyIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjIiPgorICAgICAgPHRyIHZhbGlnbj0ibWlkZGxlIj4KKyAgICAgICAgPHRkPgorICAgICAgICAgIDxhIGFjY2Vzc2tleT0icCIgaHJlZj0ibGlieG1sMi1wYXJzZXJJbnRlcm5hbHMuaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0ibGVmdC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlByZXYiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9InUiIGhyZWY9ImdlbmVyYWwuaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0idXAucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJVcCIvPgorICAgICAgICAgIDwvYT4KKyAgICAgICAgPC90ZD4KKyAgICAgICAgPHRkPgorICAgICAgICAgIDxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iaW5kZXguaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0iaG9tZS5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IkhvbWUiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9Im4iIGhyZWY9ImxpYnhtbDItcmVsYXhuZy5odG1sIj4KKyAgICAgICAgICAgIDxpbWcgc3JjPSJyaWdodC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9Ik5leHQiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0aCB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+bGlieG1sMiBSZWZlcmVuY2UgTWFudWFsPC90aD4KKyAgICAgIDwvdHI+CisgICAgPC90YWJsZT4KKyAgICA8aDI+CisgICAgICA8c3BhbiBjbGFzcz0icmVmZW50cnl0aXRsZSI+cGF0dGVybjwvc3Bhbj4KKyAgICA8L2gyPgorICAgIDxwPnBhdHRlcm4gLSBwYXR0ZXJuIGV4cHJlc3Npb24gaGFuZGxpbmc8L3A+CisgICAgPHA+YWxsb3dzIHRvIGNvbXBpbGUgYW5kIHRlc3QgcGF0dGVybiBleHByZXNzaW9ucyBmb3Igbm9kZXMgZWl0aGVyIGluIGEgdHJlZSBvciBiYXNlZCBvbiBhIHBhcnNlciBzdGF0ZS4gPC9wPgorICAgIDxwPkF1dGhvcihzKTogRGFuaWVsIFZlaWxsYXJkIDwvcD4KKyAgICA8ZGl2IGNsYXNzPSJyZWZzeW5vcHNpc2RpdiI+CisgICAgICA8aDI+U3lub3BzaXM8L2gyPgorICAgICAgPHByZSBjbGFzcz0ic3lub3BzaXMiPnR5cGVkZWYgPGEgaHJlZj0ibGlieG1sMi1wYXR0ZXJuLmh0bWwjeG1sU3RyZWFtQ3R4dCI+eG1sU3RyZWFtQ3R4dDwvYT4gKiA8YSBocmVmPSIjeG1sU3RyZWFtQ3R4dFB0ciI+eG1sU3RyZWFtQ3R4dFB0cjwvYT47Cit0eXBlZGVmIGVudW0gPGEgaHJlZj0iI3htbFBhdHRlcm5GbGFncyI+eG1sUGF0dGVybkZsYWdzPC9hPjsKK3R5cGVkZWYgc3RydWN0IF94bWxTdHJlYW1DdHh0IDxhIGhyZWY9IiN4bWxTdHJlYW1DdHh0Ij54bWxTdHJlYW1DdHh0PC9hPjsKK3R5cGVkZWYgc3RydWN0IF94bWxQYXR0ZXJuIDxhIGhyZWY9IiN4bWxQYXR0ZXJuIj54bWxQYXR0ZXJuPC9hPjsKK3R5cGVkZWYgPGEgaHJlZj0ibGlieG1sMi1wYXR0ZXJuLmh0bWwjeG1sUGF0dGVybiI+eG1sUGF0dGVybjwvYT4gKiA8YSBocmVmPSIjeG1sUGF0dGVyblB0ciI+eG1sUGF0dGVyblB0cjwvYT47CitpbnQJPGEgaHJlZj0iI3htbFBhdHRlcm5NaW5EZXB0aCI+eG1sUGF0dGVybk1pbkRlcHRoPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItcGF0dGVybi5odG1sI3htbFBhdHRlcm5QdHIiPnhtbFBhdHRlcm5QdHI8L2E+IGNvbXApOworPGEgaHJlZj0ibGlieG1sMi1wYXR0ZXJuLmh0bWwjeG1sU3RyZWFtQ3R4dFB0ciI+eG1sU3RyZWFtQ3R4dFB0cjwvYT4JPGEgaHJlZj0iI3htbFBhdHRlcm5HZXRTdHJlYW1DdHh0Ij54bWxQYXR0ZXJuR2V0U3RyZWFtQ3R4dDwvYT4JKDxhIGhyZWY9ImxpYnhtbDItcGF0dGVybi5odG1sI3htbFBhdHRlcm5QdHIiPnhtbFBhdHRlcm5QdHI8L2E+IGNvbXApOworaW50CTxhIGhyZWY9IiN4bWxQYXR0ZXJuRnJvbVJvb3QiPnhtbFBhdHRlcm5Gcm9tUm9vdDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXBhdHRlcm4uaHRtbCN4bWxQYXR0ZXJuUHRyIj54bWxQYXR0ZXJuUHRyPC9hPiBjb21wKTsKK3ZvaWQJPGEgaHJlZj0iI3htbEZyZWVQYXR0ZXJuTGlzdCI+eG1sRnJlZVBhdHRlcm5MaXN0PC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItcGF0dGVybi5odG1sI3htbFBhdHRlcm5QdHIiPnhtbFBhdHRlcm5QdHI8L2E+IGNvbXApOworaW50CTxhIGhyZWY9IiN4bWxQYXR0ZXJuU3RyZWFtYWJsZSI+eG1sUGF0dGVyblN0cmVhbWFibGU8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi1wYXR0ZXJuLmh0bWwjeG1sUGF0dGVyblB0ciI+eG1sUGF0dGVyblB0cjwvYT4gY29tcCk7CitpbnQJPGEgaHJlZj0iI3htbFN0cmVhbVB1c2hBdHRyIj54bWxTdHJlYW1QdXNoQXR0cjwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXBhdHRlcm4uaHRtbCN4bWxTdHJlYW1DdHh0UHRyIj54bWxTdHJlYW1DdHh0UHRyPC9hPiBzdHJlYW0sIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5zKTsKK2ludAk8YSBocmVmPSIjeG1sUGF0dGVybk1hdGNoIj54bWxQYXR0ZXJuTWF0Y2g8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbDItcGF0dGVybi5odG1sI3htbFBhdHRlcm5QdHIiPnhtbFBhdHRlcm5QdHI8L2E+IGNvbXAsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSk7CitpbnQJPGEgaHJlZj0iI3htbFN0cmVhbVdhbnRzQW55Tm9kZSI+eG1sU3RyZWFtV2FudHNBbnlOb2RlPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItcGF0dGVybi5odG1sI3htbFN0cmVhbUN0eHRQdHIiPnhtbFN0cmVhbUN0eHRQdHI8L2E+IHN0cmVhbUN0eHQpOworaW50CTxhIGhyZWY9IiN4bWxTdHJlYW1Qb3AiPnhtbFN0cmVhbVBvcDwvYT4JCQkoPGEgaHJlZj0ibGlieG1sMi1wYXR0ZXJuLmh0bWwjeG1sU3RyZWFtQ3R4dFB0ciI+eG1sU3RyZWFtQ3R4dFB0cjwvYT4gc3RyZWFtKTsKK3ZvaWQJPGEgaHJlZj0iI3htbEZyZWVQYXR0ZXJuIj54bWxGcmVlUGF0dGVybjwvYT4JCQkoPGEgaHJlZj0ibGlieG1sMi1wYXR0ZXJuLmh0bWwjeG1sUGF0dGVyblB0ciI+eG1sUGF0dGVyblB0cjwvYT4gY29tcCk7CitpbnQJPGEgaHJlZj0iI3htbFN0cmVhbVB1c2giPnhtbFN0cmVhbVB1c2g8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbDItcGF0dGVybi5odG1sI3htbFN0cmVhbUN0eHRQdHIiPnhtbFN0cmVhbUN0eHRQdHI8L2E+IHN0cmVhbSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbnMpOworaW50CTxhIGhyZWY9IiN4bWxQYXR0ZXJuTWF4RGVwdGgiPnhtbFBhdHRlcm5NYXhEZXB0aDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXBhdHRlcm4uaHRtbCN4bWxQYXR0ZXJuUHRyIj54bWxQYXR0ZXJuUHRyPC9hPiBjb21wKTsKKzxhIGhyZWY9ImxpYnhtbDItcGF0dGVybi5odG1sI3htbFBhdHRlcm5QdHIiPnhtbFBhdHRlcm5QdHI8L2E+CTxhIGhyZWY9IiN4bWxQYXR0ZXJuY29tcGlsZSI+eG1sUGF0dGVybmNvbXBpbGU8L2E+CShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcGF0dGVybiwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLWRpY3QuaHRtbCN4bWxEaWN0Ij54bWxEaWN0PC9hPiAqIGRpY3QsIDxici8+CQkJCQkgaW50IGZsYWdzLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiogbmFtZXNwYWNlcyk7CitpbnQJPGEgaHJlZj0iI3htbFN0cmVhbVB1c2hOb2RlIj54bWxTdHJlYW1QdXNoTm9kZTwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXBhdHRlcm4uaHRtbCN4bWxTdHJlYW1DdHh0UHRyIj54bWxTdHJlYW1DdHh0UHRyPC9hPiBzdHJlYW0sIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5zLCA8YnIvPgkJCQkJIGludCBub2RlVHlwZSk7Cit2b2lkCTxhIGhyZWY9IiN4bWxGcmVlU3RyZWFtQ3R4dCI+eG1sRnJlZVN0cmVhbUN0eHQ8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi1wYXR0ZXJuLmh0bWwjeG1sU3RyZWFtQ3R4dFB0ciI+eG1sU3RyZWFtQ3R4dFB0cjwvYT4gc3RyZWFtKTsKKzwvcHJlPgorICAgIDwvZGl2PgorICAgIDxkaXYgY2xhc3M9InJlZnNlY3QxIiBsYW5nPSJlbiI+CisgICAgICA8aDI+RGVzY3JpcHRpb248L2gyPgorICAgIDwvZGl2PgorICAgIDxkaXYgY2xhc3M9InJlZnNlY3QxIiBsYW5nPSJlbiI+CisgICAgICA8aDI+RGV0YWlsczwvaDI+CisgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxQYXR0ZXJuIj5TdHJ1Y3R1cmUgPC9hPnhtbFBhdHRlcm48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5zdHJ1Y3QgX3htbFBhdHRlcm4geworVGhlIGNvbnRlbnQgb2YgdGhpcyBzdHJ1Y3R1cmUgaXMgbm90IG1hZGUgcHVibGljIGJ5IHRoZSBBUEkuCit9IHhtbFBhdHRlcm47Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUGF0dGVybkZsYWdzIj5FbnVtIDwvYT54bWxQYXR0ZXJuRmxhZ3M8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5lbnVtIDxhIGhyZWY9IiN4bWxQYXR0ZXJuRmxhZ3MiPnhtbFBhdHRlcm5GbGFnczwvYT4geworICAgIDxhIG5hbWU9IlhNTF9QQVRURVJOX0RFRkFVTFQiPlhNTF9QQVRURVJOX0RFRkFVTFQ8L2E+ID0gMCAvKiBzaW1wbGUgcGF0dGVybiBtYXRjaCAqLworICAgIDxhIG5hbWU9IlhNTF9QQVRURVJOX1hQQVRIIj5YTUxfUEFUVEVSTl9YUEFUSDwvYT4gPSAxIC8qIHN0YW5kYXJkIFhQYXRoIHBhdHRlcm4gKi8KKyAgICA8YSBuYW1lPSJYTUxfUEFUVEVSTl9YU1NFTCI+WE1MX1BBVFRFUk5fWFNTRUw8L2E+ID0gMiAvKiBYUGF0aCBzdWJzZXQgZm9yIHNjaGVtYSBzZWxlY3RvciAqLworICAgIDxhIG5hbWU9IlhNTF9QQVRURVJOX1hTRklFTEQiPlhNTF9QQVRURVJOX1hTRklFTEQ8L2E+ID0gNCAvKiAgWFBhdGggc3Vic2V0IGZvciBzY2hlbWEgZmllbGQgKi8KK307Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUGF0dGVyblB0ciI+VHlwZWRlZiA8L2E+eG1sUGF0dGVyblB0cjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItcGF0dGVybi5odG1sI3htbFBhdHRlcm4iPnhtbFBhdHRlcm48L2E+ICogeG1sUGF0dGVyblB0cjsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTdHJlYW1DdHh0Ij5TdHJ1Y3R1cmUgPC9hPnhtbFN0cmVhbUN0eHQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5zdHJ1Y3QgX3htbFN0cmVhbUN0eHQgeworVGhlIGNvbnRlbnQgb2YgdGhpcyBzdHJ1Y3R1cmUgaXMgbm90IG1hZGUgcHVibGljIGJ5IHRoZSBBUEkuCit9IHhtbFN0cmVhbUN0eHQ7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU3RyZWFtQ3R4dFB0ciI+VHlwZWRlZiA8L2E+eG1sU3RyZWFtQ3R4dFB0cjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItcGF0dGVybi5odG1sI3htbFN0cmVhbUN0eHQiPnhtbFN0cmVhbUN0eHQ8L2E+ICogeG1sU3RyZWFtQ3R4dFB0cjsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxGcmVlUGF0dGVybiIvPnhtbEZyZWVQYXR0ZXJuICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxGcmVlUGF0dGVybgkJCSg8YSBocmVmPSJsaWJ4bWwyLXBhdHRlcm4uaHRtbCN4bWxQYXR0ZXJuUHRyIj54bWxQYXR0ZXJuUHRyPC9hPiBjb21wKTxici8+Cis8L3ByZT48cD5GcmVlIHVwIHRoZSBtZW1vcnkgYWxsb2NhdGVkIGJ5IEBjb21wPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb21wPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYU0xUIGNvbXA8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxGcmVlUGF0dGVybkxpc3QiLz54bWxGcmVlUGF0dGVybkxpc3QgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbEZyZWVQYXR0ZXJuTGlzdAkJKDxhIGhyZWY9ImxpYnhtbDItcGF0dGVybi5odG1sI3htbFBhdHRlcm5QdHIiPnhtbFBhdHRlcm5QdHI8L2E+IGNvbXApPGJyLz4KKzwvcHJlPjxwPkZyZWUgdXAgdGhlIG1lbW9yeSBhbGxvY2F0ZWQgYnkgYWxsIHRoZSBlbGVtZW50cyBvZiBAY29tcDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29tcDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWFNMVCBjb21wIGxpc3Q8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxGcmVlU3RyZWFtQ3R4dCIvPnhtbEZyZWVTdHJlYW1DdHh0ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxGcmVlU3RyZWFtQ3R4dAkJKDxhIGhyZWY9ImxpYnhtbDItcGF0dGVybi5odG1sI3htbFN0cmVhbUN0eHRQdHIiPnhtbFN0cmVhbUN0eHRQdHI8L2E+IHN0cmVhbSk8YnIvPgorPC9wcmU+PHA+RnJlZSB0aGUgc3RyZWFtIGNvbnRleHQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0cmVhbTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHN0cmVhbSBjb250ZXh0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUGF0dGVybkZyb21Sb290Ii8+eG1sUGF0dGVybkZyb21Sb290ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFBhdHRlcm5Gcm9tUm9vdAkJKDxhIGhyZWY9ImxpYnhtbDItcGF0dGVybi5odG1sI3htbFBhdHRlcm5QdHIiPnhtbFBhdHRlcm5QdHI8L2E+IGNvbXApPGJyLz4KKzwvcHJlPjxwPkNoZWNrIGlmIHRoZSBwYXR0ZXJuIG11c3QgYmUgbG9va2VkIGF0IGZyb20gdGhlIHJvb3QuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb21wPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcHJlY29tcGlsZWQgcGF0dGVybjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlLCAwIGlmIGZhbHNlIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUGF0dGVybkdldFN0cmVhbUN0eHQiLz54bWxQYXR0ZXJuR2V0U3RyZWFtQ3R4dCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItcGF0dGVybi5odG1sI3htbFN0cmVhbUN0eHRQdHIiPnhtbFN0cmVhbUN0eHRQdHI8L2E+CXhtbFBhdHRlcm5HZXRTdHJlYW1DdHh0CSg8YSBocmVmPSJsaWJ4bWwyLXBhdHRlcm4uaHRtbCN4bWxQYXR0ZXJuUHRyIj54bWxQYXR0ZXJuUHRyPC9hPiBjb21wKTxici8+Cis8L3ByZT48cD5HZXQgYSBzdHJlYW1pbmcgY29udGV4dCBmb3IgdGhhdCBwYXR0ZXJuIFVzZSA8YSBocmVmPSJsaWJ4bWwyLXBhdHRlcm4uaHRtbCN4bWxGcmVlU3RyZWFtQ3R4dCI+eG1sRnJlZVN0cmVhbUN0eHQ8L2E+IHRvIGZyZWUgdGhlIGNvbnRleHQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb21wPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcHJlY29tcGlsZWQgcGF0dGVybjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIHRoZSBjb250ZXh0IG9yIE5VTEwgaW4gY2FzZSBvZiBmYWlsdXJlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUGF0dGVybk1hdGNoIi8+eG1sUGF0dGVybk1hdGNoICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFBhdHRlcm5NYXRjaAkJCSg8YSBocmVmPSJsaWJ4bWwyLXBhdHRlcm4uaHRtbCN4bWxQYXR0ZXJuUHRyIj54bWxQYXR0ZXJuUHRyPC9hPiBjb21wLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUpPGJyLz4KKzwvcHJlPjxwPlRlc3Qgd2hldGhlciB0aGUgbm9kZSBtYXRjaGVzIHRoZSBwYXR0ZXJuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb21wPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcHJlY29tcGlsZWQgcGF0dGVybjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIGl0IG1hdGNoZXMsIDAgaWYgaXQgZG9lc24ndCBhbmQgLTEgaW4gY2FzZSBvZiBmYWlsdXJlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUGF0dGVybk1heERlcHRoIi8+eG1sUGF0dGVybk1heERlcHRoICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFBhdHRlcm5NYXhEZXB0aAkJKDxhIGhyZWY9ImxpYnhtbDItcGF0dGVybi5odG1sI3htbFBhdHRlcm5QdHIiPnhtbFBhdHRlcm5QdHI8L2E+IGNvbXApPGJyLz4KKzwvcHJlPjxwPkNoZWNrIHRoZSBtYXhpbXVtIGRlcHRoIHJlYWNoYWJsZSBieSBhIHBhdHRlcm48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbXA8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwcmVjb21waWxlZCBwYXR0ZXJuPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4tMiBpZiBubyBsaW1pdCAodXNpbmcgLy8pLCBvdGhlcndpc2UgdGhlIGRlcHRoLCBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFBhdHRlcm5NaW5EZXB0aCIvPnhtbFBhdHRlcm5NaW5EZXB0aCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxQYXR0ZXJuTWluRGVwdGgJCSg8YSBocmVmPSJsaWJ4bWwyLXBhdHRlcm4uaHRtbCN4bWxQYXR0ZXJuUHRyIj54bWxQYXR0ZXJuUHRyPC9hPiBjb21wKTxici8+Cis8L3ByZT48cD5DaGVjayB0aGUgbWluaW11bSBkZXB0aCByZWFjaGFibGUgYnkgYSBwYXR0ZXJuLCAwIG1lYW4gdGhlIC8gb3IgLiBhcmUgcGFydCBvZiB0aGUgc2V0LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29tcDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHByZWNvbXBpbGVkIHBhdHRlcm48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPi0xIGluIGNhc2Ugb2YgZXJyb3Igb3RoZXJ3aXNlIHRoZSBkZXB0aCw8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxQYXR0ZXJuU3RyZWFtYWJsZSIvPnhtbFBhdHRlcm5TdHJlYW1hYmxlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFBhdHRlcm5TdHJlYW1hYmxlCQkoPGEgaHJlZj0ibGlieG1sMi1wYXR0ZXJuLmh0bWwjeG1sUGF0dGVyblB0ciI+eG1sUGF0dGVyblB0cjwvYT4gY29tcCk8YnIvPgorPC9wcmU+PHA+Q2hlY2sgaWYgdGhlIHBhdHRlcm4gaXMgc3RyZWFtYWJsZSBpLmUuIHhtbFBhdHRlcm5HZXRTdHJlYW1DdHh0KCkgc2hvdWxkIHdvcmsuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb21wPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcHJlY29tcGlsZWQgcGF0dGVybjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiBzdHJlYW1hYmxlLCAwIGlmIG5vdCBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxQYXR0ZXJuY29tcGlsZSIvPnhtbFBhdHRlcm5jb21waWxlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi1wYXR0ZXJuLmh0bWwjeG1sUGF0dGVyblB0ciI+eG1sUGF0dGVyblB0cjwvYT4JeG1sUGF0dGVybmNvbXBpbGUJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwYXR0ZXJuLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItZGljdC5odG1sI3htbERpY3QiPnhtbERpY3Q8L2E+ICogZGljdCwgPGJyLz4JCQkJCSBpbnQgZmxhZ3MsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqKiBuYW1lc3BhY2VzKTxici8+Cis8L3ByZT48cD5Db21waWxlIGEgcGF0dGVybi48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnBhdHRlcm48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwYXR0ZXJuIHRvIGNvbXBpbGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRpY3Q8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIG9wdGlvbmFsIGRpY3Rpb25hcnkgZm9yIGludGVybmVkIHN0cmluZ3M8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZsYWdzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5jb21waWxhdGlvbiBmbGFncywgc2VlIDxhIGhyZWY9ImxpYnhtbDItcGF0dGVybi5odG1sI3htbFBhdHRlcm5GbGFncyI+eG1sUGF0dGVybkZsYWdzPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZXNwYWNlczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHByZWZpeCBkZWZpbml0aW9ucywgYXJyYXkgb2YgW1VSSSwgcHJlZml4XSBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY29tcGlsZWQgZm9ybSBvZiB0aGUgcGF0dGVybiBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTdHJlYW1Qb3AiLz54bWxTdHJlYW1Qb3AgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sU3RyZWFtUG9wCQkJKDxhIGhyZWY9ImxpYnhtbDItcGF0dGVybi5odG1sI3htbFN0cmVhbUN0eHRQdHIiPnhtbFN0cmVhbUN0eHRQdHI8L2E+IHN0cmVhbSk8YnIvPgorPC9wcmU+PHA+cHVzaCBvbmUgbGV2ZWwgZnJvbSB0aGUgc3RyZWFtLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3RyZWFtPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc3RyZWFtIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPi0xIGluIGNhc2Ugb2YgZXJyb3IsIDAgb3RoZXJ3aXNlLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFN0cmVhbVB1c2giLz54bWxTdHJlYW1QdXNoICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFN0cmVhbVB1c2gJCQkoPGEgaHJlZj0ibGlieG1sMi1wYXR0ZXJuLmh0bWwjeG1sU3RyZWFtQ3R4dFB0ciI+eG1sU3RyZWFtQ3R4dFB0cjwvYT4gc3RyZWFtLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBucyk8YnIvPgorPC9wcmU+PHA+UHVzaCBuZXcgZGF0YSBvbnRvIHRoZSBzdHJlYW0uIE5PVEU6IGlmIHRoZSBjYWxsIHhtbFBhdHRlcm5jb21waWxlKCkgaW5kaWNhdGVkIGEgZGljdGlvbmFyeSwgdGhlbiBzdHJpbmdzIGZvciBuYW1lIGFuZCBucyB3aWxsIGJlIGV4cGVjdGVkIHRvIGNvbWUgZnJvbSB0aGUgZGljdGlvbmFyeS4gQm90aCBAbmFtZSBhbmQgQG5zIGJlaW5nIE5VTEwgbWVhbnMgdGhlIC8gaS5lLiB0aGUgcm9vdCBvZiB0aGUgZG9jdW1lbnQuIFRoaXMgY2FuIGFsc28gYWN0IGFzIGEgcmVzZXQuIE90aGVyd2lzZSB0aGUgZnVuY3Rpb24gd2lsbCBhY3QgYXMgaWYgaXQgaGFzIGJlZW4gZ2l2ZW4gYW4gZWxlbWVudC1ub2RlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3RyZWFtPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc3RyZWFtIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjdXJyZW50IG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZXNwYWNlIG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPi0xIGluIGNhc2Ugb2YgZXJyb3IsIDEgaWYgdGhlIGN1cnJlbnQgc3RhdGUgaW4gdGhlIHN0cmVhbSBpcyBhIG1hdGNoIGFuZCAwIG90aGVyd2lzZS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTdHJlYW1QdXNoQXR0ciIvPnhtbFN0cmVhbVB1c2hBdHRyICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFN0cmVhbVB1c2hBdHRyCQkoPGEgaHJlZj0ibGlieG1sMi1wYXR0ZXJuLmh0bWwjeG1sU3RyZWFtQ3R4dFB0ciI+eG1sU3RyZWFtQ3R4dFB0cjwvYT4gc3RyZWFtLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBucyk8YnIvPgorPC9wcmU+PHA+UHVzaCBuZXcgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gZGF0YSBvbnRvIHRoZSBzdHJlYW0uIE5PVEU6IGlmIHRoZSBjYWxsIHhtbFBhdHRlcm5jb21waWxlKCkgaW5kaWNhdGVkIGEgZGljdGlvbmFyeSwgdGhlbiBzdHJpbmdzIGZvciBuYW1lIGFuZCBucyB3aWxsIGJlIGV4cGVjdGVkIHRvIGNvbWUgZnJvbSB0aGUgZGljdGlvbmFyeS4gQm90aCBAbmFtZSBhbmQgQG5zIGJlaW5nIE5VTEwgbWVhbnMgdGhlIC8gaS5lLiB0aGUgcm9vdCBvZiB0aGUgZG9jdW1lbnQuIFRoaXMgY2FuIGFsc28gYWN0IGFzIGEgcmVzZXQuIE90aGVyd2lzZSB0aGUgZnVuY3Rpb24gd2lsbCBhY3QgYXMgaWYgaXQgaGFzIGJlZW4gZ2l2ZW4gYW4gYXR0cmlidXRlLW5vZGUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdHJlYW08L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzdHJlYW0gY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGN1cnJlbnQgbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lc3BhY2UgbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+LTEgaW4gY2FzZSBvZiBlcnJvciwgMSBpZiB0aGUgY3VycmVudCBzdGF0ZSBpbiB0aGUgc3RyZWFtIGlzIGEgbWF0Y2ggYW5kIDAgb3RoZXJ3aXNlLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFN0cmVhbVB1c2hOb2RlIi8+eG1sU3RyZWFtUHVzaE5vZGUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sU3RyZWFtUHVzaE5vZGUJCSg8YSBocmVmPSJsaWJ4bWwyLXBhdHRlcm4uaHRtbCN4bWxTdHJlYW1DdHh0UHRyIj54bWxTdHJlYW1DdHh0UHRyPC9hPiBzdHJlYW0sIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5zLCA8YnIvPgkJCQkJIGludCBub2RlVHlwZSk8YnIvPgorPC9wcmU+PHA+UHVzaCBuZXcgZGF0YSBvbnRvIHRoZSBzdHJlYW0uIE5PVEU6IGlmIHRoZSBjYWxsIHhtbFBhdHRlcm5jb21waWxlKCkgaW5kaWNhdGVkIGEgZGljdGlvbmFyeSwgdGhlbiBzdHJpbmdzIGZvciBuYW1lIGFuZCBucyB3aWxsIGJlIGV4cGVjdGVkIHRvIGNvbWUgZnJvbSB0aGUgZGljdGlvbmFyeS4gQm90aCBAbmFtZSBhbmQgQG5zIGJlaW5nIE5VTEwgbWVhbnMgdGhlIC8gaS5lLiB0aGUgcm9vdCBvZiB0aGUgZG9jdW1lbnQuIFRoaXMgY2FuIGFsc28gYWN0IGFzIGEgcmVzZXQuIERpZmZlcmVudCBmcm9tIHhtbFN0cmVhbVB1c2goKSB0aGlzIGZ1bmN0aW9uIGNhbiBiZSBmZWQgd2l0aCBub2RlcyBvZiB0eXBlOiBlbGVtZW50LSwgYXR0cmlidXRlLSwgdGV4dC0sIGNkYXRhLXNlY3Rpb24tLCBjb21tZW50LSBhbmQgcHJvY2Vzc2luZy1pbnN0cnVjdGlvbi1ub2RlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3RyZWFtPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc3RyZWFtIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjdXJyZW50IG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZXNwYWNlIG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGVUeXBlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdHlwZSBvZiB0aGUgbm9kZSBiZWluZyBwdXNoZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPi0xIGluIGNhc2Ugb2YgZXJyb3IsIDEgaWYgdGhlIGN1cnJlbnQgc3RhdGUgaW4gdGhlIHN0cmVhbSBpcyBhIG1hdGNoIGFuZCAwIG90aGVyd2lzZS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTdHJlYW1XYW50c0FueU5vZGUiLz54bWxTdHJlYW1XYW50c0FueU5vZGUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sU3RyZWFtV2FudHNBbnlOb2RlCQkoPGEgaHJlZj0ibGlieG1sMi1wYXR0ZXJuLmh0bWwjeG1sU3RyZWFtQ3R4dFB0ciI+eG1sU3RyZWFtQ3R4dFB0cjwvYT4gc3RyZWFtQ3R4dCk8YnIvPgorPC9wcmU+PHA+UXVlcnkgaWYgdGhlIHN0cmVhbWluZyBwYXR0ZXJuIGFkZGl0aW9uYWxseSBuZWVkcyB0byBiZSBmZWQgd2l0aCB0ZXh0LSwgY2RhdGEtc2VjdGlvbi0sIGNvbW1lbnQtIGFuZCBwcm9jZXNzaW5nLWluc3RydWN0aW9uLW5vZGVzLiBJZiB0aGUgcmVzdWx0IGlzIDAgdGhlbiBvbmx5IGVsZW1lbnQtbm9kZXMgYW5kIGF0dHJpYnV0ZS1ub2RlcyBuZWVkIHRvIGJlIHB1c2hlZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0cmVhbUN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzdHJlYW0gY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpbiBjYXNlIG9mIG5lZWQgb2Ygbm9kZXMgb2YgdGhlIGFib3ZlIGRlc2NyaWJlZCB0eXBlcywgMCBvdGhlcndpc2UuIC0xIG9uIEFQSSBlcnJvcnMuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgIDwvZGl2PgorICAgIDwvZGl2PgorICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9kZXZoZWxwL2xpYnhtbDItcmVsYXhuZy5odG1sIGIvbGlieG1sMi9kb2MvZGV2aGVscC9saWJ4bWwyLXJlbGF4bmcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMzkwNWQwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvZGV2aGVscC9saWJ4bWwyLXJlbGF4bmcuaHRtbApAQCAtMCwwICsxLDI3OCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxodG1sPgorICA8aGVhZD4KKyAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIvPgorICAgIDx0aXRsZT5yZWxheG5nOiBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgUmVsYXgtTkcgdmFsaWRhdGlvbjwvdGl0bGU+CisgICAgPG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJMaWJ4bWwyIGRldmhlbHAgc3R5bGVzaGVldCIvPgorICAgIDxsaW5rIHJlbD0ic3RhcnQiIGhyZWY9ImluZGV4Lmh0bWwiIHRpdGxlPSJsaWJ4bWwyIFJlZmVyZW5jZSBNYW51YWwiLz4KKyAgICA8bGluayByZWw9InVwIiBocmVmPSJnZW5lcmFsLmh0bWwiIHRpdGxlPSJBUEkiLz4KKyAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9InN0eWxlLmNzcyIgdHlwZT0idGV4dC9jc3MiLz4KKyAgICA8bGluayByZWw9ImNoYXB0ZXIiIGhyZWY9ImdlbmVyYWwuaHRtbCIgdGl0bGU9IkFQSSIvPgorICA8L2hlYWQ+CisgIDxib2R5IGJnY29sb3I9IndoaXRlIiB0ZXh0PSJibGFjayIgbGluaz0iIzAwMDBGRiIgdmxpbms9IiM4NDAwODQiIGFsaW5rPSIjMDAwMEZGIj4KKyAgICA8dGFibGUgY2xhc3M9Im5hdmlnYXRpb24iIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIyIj4KKyAgICAgIDx0ciB2YWxpZ249Im1pZGRsZSI+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImxpYnhtbDItcGF0dGVybi5odG1sIj4KKyAgICAgICAgICAgIDxpbWcgc3JjPSJsZWZ0LnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iUHJldiIvPgorICAgICAgICAgIDwvYT4KKyAgICAgICAgPC90ZD4KKyAgICAgICAgPHRkPgorICAgICAgICAgIDxhIGFjY2Vzc2tleT0idSIgaHJlZj0iZ2VuZXJhbC5odG1sIj4KKyAgICAgICAgICAgIDxpbWcgc3JjPSJ1cC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlVwIi8+CisgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGQ+CisgICAgICAgICAgPGEgYWNjZXNza2V5PSJoIiBocmVmPSJpbmRleC5odG1sIj4KKyAgICAgICAgICAgIDxpbWcgc3JjPSJob21lLnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iSG9tZSIvPgorICAgICAgICAgIDwvYT4KKyAgICAgICAgPC90ZD4KKyAgICAgICAgPHRkPgorICAgICAgICAgIDxhIGFjY2Vzc2tleT0ibiIgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwiPgorICAgICAgICAgICAgPGltZyBzcmM9InJpZ2h0LnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iTmV4dCIvPgorICAgICAgICAgIDwvYT4KKyAgICAgICAgPC90ZD4KKyAgICAgICAgPHRoIHdpZHRoPSIxMDAlIiBhbGlnbj0iY2VudGVyIj5saWJ4bWwyIFJlZmVyZW5jZSBNYW51YWw8L3RoPgorICAgICAgPC90cj4KKyAgICA8L3RhYmxlPgorICAgIDxoMj4KKyAgICAgIDxzcGFuIGNsYXNzPSJyZWZlbnRyeXRpdGxlIj5yZWxheG5nPC9zcGFuPgorICAgIDwvaDI+CisgICAgPHA+cmVsYXhuZyAtIGltcGxlbWVudGF0aW9uIG9mIHRoZSBSZWxheC1ORyB2YWxpZGF0aW9uPC9wPgorICAgIDxwPmltcGxlbWVudGF0aW9uIG9mIHRoZSBSZWxheC1ORyB2YWxpZGF0aW9uIDwvcD4KKyAgICA8cD5BdXRob3Iocyk6IERhbmllbCBWZWlsbGFyZCA8L3A+CisgICAgPGRpdiBjbGFzcz0icmVmc3lub3BzaXNkaXYiPgorICAgICAgPGgyPlN5bm9wc2lzPC9oMj4KKyAgICAgIDxwcmUgY2xhc3M9InN5bm9wc2lzIj50eXBlZGVmIHN0cnVjdCBfeG1sUmVsYXhORyA8YSBocmVmPSIjeG1sUmVsYXhORyI+eG1sUmVsYXhORzwvYT47Cit0eXBlZGVmIDxhIGhyZWY9ImxpYnhtbDItcmVsYXhuZy5odG1sI3htbFJlbGF4TkciPnhtbFJlbGF4Tkc8L2E+ICogPGEgaHJlZj0iI3htbFJlbGF4TkdQdHIiPnhtbFJlbGF4TkdQdHI8L2E+OwordHlwZWRlZiBlbnVtIDxhIGhyZWY9IiN4bWxSZWxheE5HVmFsaWRFcnIiPnhtbFJlbGF4TkdWYWxpZEVycjwvYT47Cit0eXBlZGVmIHN0cnVjdCBfeG1sUmVsYXhOR1BhcnNlckN0eHQgPGEgaHJlZj0iI3htbFJlbGF4TkdQYXJzZXJDdHh0Ij54bWxSZWxheE5HUGFyc2VyQ3R4dDwvYT47Cit0eXBlZGVmIDxhIGhyZWY9ImxpYnhtbDItcmVsYXhuZy5odG1sI3htbFJlbGF4TkdQYXJzZXJDdHh0Ij54bWxSZWxheE5HUGFyc2VyQ3R4dDwvYT4gKiA8YSBocmVmPSIjeG1sUmVsYXhOR1BhcnNlckN0eHRQdHIiPnhtbFJlbGF4TkdQYXJzZXJDdHh0UHRyPC9hPjsKK3R5cGVkZWYgZW51bSA8YSBocmVmPSIjeG1sUmVsYXhOR1BhcnNlckZsYWciPnhtbFJlbGF4TkdQYXJzZXJGbGFnPC9hPjsKK3R5cGVkZWYgc3RydWN0IF94bWxSZWxheE5HVmFsaWRDdHh0IDxhIGhyZWY9IiN4bWxSZWxheE5HVmFsaWRDdHh0Ij54bWxSZWxheE5HVmFsaWRDdHh0PC9hPjsKK3R5cGVkZWYgPGEgaHJlZj0ibGlieG1sMi1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1ZhbGlkQ3R4dCI+eG1sUmVsYXhOR1ZhbGlkQ3R4dDwvYT4gKiA8YSBocmVmPSIjeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0ciI+eG1sUmVsYXhOR1ZhbGlkQ3R4dFB0cjwvYT47Cit2b2lkCTxhIGhyZWY9IiN4bWxSZWxheE5HRnJlZVZhbGlkQ3R4dCI+eG1sUmVsYXhOR0ZyZWVWYWxpZEN0eHQ8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0ciI+eG1sUmVsYXhOR1ZhbGlkQ3R4dFB0cjwvYT4gY3R4dCk7Cis8YSBocmVmPSJsaWJ4bWwyLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HUGFyc2VyQ3R4dFB0ciI+eG1sUmVsYXhOR1BhcnNlckN0eHRQdHI8L2E+CTxhIGhyZWY9IiN4bWxSZWxheE5HTmV3RG9jUGFyc2VyQ3R4dCI+eG1sUmVsYXhOR05ld0RvY1BhcnNlckN0eHQ8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jKTsKK3ZvaWQJPGEgaHJlZj0iI3htbFJlbGF4TkdTZXRWYWxpZEVycm9ycyI+eG1sUmVsYXhOR1NldFZhbGlkRXJyb3JzPC9hPgkoPGEgaHJlZj0ibGlieG1sMi1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0ciI+eG1sUmVsYXhOR1ZhbGlkQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HVmFsaWRpdHlFcnJvckZ1bmMiPnhtbFJlbGF4TkdWYWxpZGl0eUVycm9yRnVuYzwvYT4gZXJyLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItcmVsYXhuZy5odG1sI3htbFJlbGF4TkdWYWxpZGl0eVdhcm5pbmdGdW5jIj54bWxSZWxheE5HVmFsaWRpdHlXYXJuaW5nRnVuYzwvYT4gd2FybiwgPGJyLz4JCQkJCSB2b2lkICogY3R4KTsKKzxhIGhyZWY9ImxpYnhtbDItcmVsYXhuZy5odG1sI3htbFJlbGF4TkdQYXJzZXJDdHh0UHRyIj54bWxSZWxheE5HUGFyc2VyQ3R4dFB0cjwvYT4JPGEgaHJlZj0iI3htbFJlbGF4TkdOZXdQYXJzZXJDdHh0Ij54bWxSZWxheE5HTmV3UGFyc2VyQ3R4dDwvYT4JKGNvbnN0IGNoYXIgKiBVUkwpOworaW50CTxhIGhyZWY9IiN4bWxSZWxheE5HR2V0UGFyc2VyRXJyb3JzIj54bWxSZWxheE5HR2V0UGFyc2VyRXJyb3JzPC9hPgkoPGEgaHJlZj0ibGlieG1sMi1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1BhcnNlckN0eHRQdHIiPnhtbFJlbGF4TkdQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItcmVsYXhuZy5odG1sI3htbFJlbGF4TkdWYWxpZGl0eUVycm9yRnVuYyI+eG1sUmVsYXhOR1ZhbGlkaXR5RXJyb3JGdW5jPC9hPiAqIGVyciwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HVmFsaWRpdHlXYXJuaW5nRnVuYyI+eG1sUmVsYXhOR1ZhbGlkaXR5V2FybmluZ0Z1bmM8L2E+ICogd2FybiwgPGJyLz4JCQkJCSB2b2lkICoqIGN0eCk7CitpbnQJPGEgaHJlZj0iI3htbFJlbGF4TkdWYWxpZGF0ZVBvcEVsZW1lbnQiPnhtbFJlbGF4TkdWYWxpZGF0ZVBvcEVsZW1lbnQ8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HVmFsaWRDdHh0UHRyIj54bWxSZWxheE5HVmFsaWRDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gZWxlbSk7Cis8YSBocmVmPSJsaWJ4bWwyLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HVmFsaWRDdHh0UHRyIj54bWxSZWxheE5HVmFsaWRDdHh0UHRyPC9hPgk8YSBocmVmPSIjeG1sUmVsYXhOR05ld1ZhbGlkQ3R4dCI+eG1sUmVsYXhOR05ld1ZhbGlkQ3R4dDwvYT4JKDxhIGhyZWY9ImxpYnhtbDItcmVsYXhuZy5odG1sI3htbFJlbGF4TkdQdHIiPnhtbFJlbGF4TkdQdHI8L2E+IHNjaGVtYSk7Cis8YSBocmVmPSJsaWJ4bWwyLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HUGFyc2VyQ3R4dFB0ciI+eG1sUmVsYXhOR1BhcnNlckN0eHRQdHI8L2E+CTxhIGhyZWY9IiN4bWxSZWxheE5HTmV3TWVtUGFyc2VyQ3R4dCI+eG1sUmVsYXhOR05ld01lbVBhcnNlckN0eHQ8L2E+CShjb25zdCBjaGFyICogYnVmZmVyLCA8YnIvPgkJCQkJCQkgaW50IHNpemUpOwordm9pZAk8YSBocmVmPSIjeG1sUmVsYXhOR0R1bXAiPnhtbFJlbGF4TkdEdW1wPC9hPgkJCShGSUxFICogb3V0cHV0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItcmVsYXhuZy5odG1sI3htbFJlbGF4TkdQdHIiPnhtbFJlbGF4TkdQdHI8L2E+IHNjaGVtYSk7Cit2b2lkCTxhIGhyZWY9IiN4bWxSZWxheE5HU2V0UGFyc2VyRXJyb3JzIj54bWxSZWxheE5HU2V0UGFyc2VyRXJyb3JzPC9hPgkoPGEgaHJlZj0ibGlieG1sMi1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1BhcnNlckN0eHRQdHIiPnhtbFJlbGF4TkdQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItcmVsYXhuZy5odG1sI3htbFJlbGF4TkdWYWxpZGl0eUVycm9yRnVuYyI+eG1sUmVsYXhOR1ZhbGlkaXR5RXJyb3JGdW5jPC9hPiBlcnIsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1ZhbGlkaXR5V2FybmluZ0Z1bmMiPnhtbFJlbGF4TkdWYWxpZGl0eVdhcm5pbmdGdW5jPC9hPiB3YXJuLCA8YnIvPgkJCQkJIHZvaWQgKiBjdHgpOworPGEgaHJlZj0ibGlieG1sMi1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1B0ciI+eG1sUmVsYXhOR1B0cjwvYT4JPGEgaHJlZj0iI3htbFJlbGF4TkdQYXJzZSI+eG1sUmVsYXhOR1BhcnNlPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItcmVsYXhuZy5odG1sI3htbFJlbGF4TkdQYXJzZXJDdHh0UHRyIj54bWxSZWxheE5HUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk7Cit2b2lkCTxhIGhyZWY9IiN4bWxSZWxheE5HU2V0UGFyc2VyU3RydWN0dXJlZEVycm9ycyI+eG1sUmVsYXhOR1NldFBhcnNlclN0cnVjdHVyZWRFcnJvcnM8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HUGFyc2VyQ3R4dFB0ciI+eG1sUmVsYXhOR1BhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCN4bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jIj54bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jPC9hPiBzZXJyb3IsIDxici8+CQkJCQkJIHZvaWQgKiBjdHgpOworaW50CTxhIGhyZWY9IiN4bWxSZWxheE5HVmFsaWRhdGVGdWxsRWxlbWVudCI+eG1sUmVsYXhOR1ZhbGlkYXRlRnVsbEVsZW1lbnQ8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HVmFsaWRDdHh0UHRyIj54bWxSZWxheE5HVmFsaWRDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gZWxlbSk7Cit0eXBlZGVmIHZvaWQgPGEgaHJlZj0iI3htbFJlbGF4TkdWYWxpZGl0eUVycm9yRnVuYyI+eG1sUmVsYXhOR1ZhbGlkaXR5RXJyb3JGdW5jPC9hPgkodm9pZCAqIGN0eCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogbXNnLCA8YnIvPgkJCQkJIC4uLiAuLi4pOworaW50CTxhIGhyZWY9IiN4bWxSZWxheE5HVmFsaWRhdGVQdXNoRWxlbWVudCI+eG1sUmVsYXhOR1ZhbGlkYXRlUHVzaEVsZW1lbnQ8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HVmFsaWRDdHh0UHRyIj54bWxSZWxheE5HVmFsaWRDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gZWxlbSk7Cit2b2lkCTxhIGhyZWY9IiN4bWxSZWxheE5HRnJlZSI+eG1sUmVsYXhOR0ZyZWU8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbDItcmVsYXhuZy5odG1sI3htbFJlbGF4TkdQdHIiPnhtbFJlbGF4TkdQdHI8L2E+IHNjaGVtYSk7CitpbnQJPGEgaHJlZj0iI3htbFJlbGF4TkdWYWxpZGF0ZURvYyI+eG1sUmVsYXhOR1ZhbGlkYXRlRG9jPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItcmVsYXhuZy5odG1sI3htbFJlbGF4TkdWYWxpZEN0eHRQdHIiPnhtbFJlbGF4TkdWYWxpZEN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYyk7Cit2b2lkCTxhIGhyZWY9IiN4bWxSZWxheE5HU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzIj54bWxSZWxheE5HU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzPC9hPgkoPGEgaHJlZj0ibGlieG1sMi1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0ciI+eG1sUmVsYXhOR1ZhbGlkQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxlcnJvci5odG1sI3htbFN0cnVjdHVyZWRFcnJvckZ1bmMiPnhtbFN0cnVjdHVyZWRFcnJvckZ1bmM8L2E+IHNlcnJvciwgPGJyLz4JCQkJCQkgdm9pZCAqIGN0eCk7Cit2b2lkCTxhIGhyZWY9IiN4bWxSZWxheE5HRnJlZVBhcnNlckN0eHQiPnhtbFJlbGF4TkdGcmVlUGFyc2VyQ3R4dDwvYT4JKDxhIGhyZWY9ImxpYnhtbDItcmVsYXhuZy5odG1sI3htbFJlbGF4TkdQYXJzZXJDdHh0UHRyIj54bWxSZWxheE5HUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk7CitpbnQJPGEgaHJlZj0iI3htbFJlbGF4TkdHZXRWYWxpZEVycm9ycyI+eG1sUmVsYXhOR0dldFZhbGlkRXJyb3JzPC9hPgkoPGEgaHJlZj0ibGlieG1sMi1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0ciI+eG1sUmVsYXhOR1ZhbGlkQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HVmFsaWRpdHlFcnJvckZ1bmMiPnhtbFJlbGF4TkdWYWxpZGl0eUVycm9yRnVuYzwvYT4gKiBlcnIsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1ZhbGlkaXR5V2FybmluZ0Z1bmMiPnhtbFJlbGF4TkdWYWxpZGl0eVdhcm5pbmdGdW5jPC9hPiAqIHdhcm4sIDxici8+CQkJCQkgdm9pZCAqKiBjdHgpOworaW50CTxhIGhyZWY9IiN4bWxSZWxheE5HSW5pdFR5cGVzIj54bWxSZWxheE5HSW5pdFR5cGVzPC9hPgkJKHZvaWQpOwordm9pZAk8YSBocmVmPSIjeG1sUmVsYXhOR0R1bXBUcmVlIj54bWxSZWxheE5HRHVtcFRyZWU8L2E+CQkoRklMRSAqIG91dHB1dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HUHRyIj54bWxSZWxheE5HUHRyPC9hPiBzY2hlbWEpOwordm9pZAk8YSBocmVmPSIjeG1sUmVsYXhOR0NsZWFudXBUeXBlcyI+eG1sUmVsYXhOR0NsZWFudXBUeXBlczwvYT4JCSh2b2lkKTsKK2ludAk8YSBocmVmPSIjeG1sUmVsYXhOR1ZhbGlkYXRlUHVzaENEYXRhIj54bWxSZWxheE5HVmFsaWRhdGVQdXNoQ0RhdGE8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HVmFsaWRDdHh0UHRyIj54bWxSZWxheE5HVmFsaWRDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBkYXRhLCA8YnIvPgkJCQkJIGludCBsZW4pOworaW50CTxhIGhyZWY9IiN4bWxSZWxheFBhcnNlclNldEZsYWciPnhtbFJlbGF4UGFyc2VyU2V0RmxhZzwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HUGFyc2VyQ3R4dFB0ciI+eG1sUmVsYXhOR1BhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgaW50IGZsYWdzKTsKK3R5cGVkZWYgdm9pZCA8YSBocmVmPSIjeG1sUmVsYXhOR1ZhbGlkaXR5V2FybmluZ0Z1bmMiPnhtbFJlbGF4TkdWYWxpZGl0eVdhcm5pbmdGdW5jPC9hPgkodm9pZCAqIGN0eCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogbXNnLCA8YnIvPgkJCQkJIC4uLiAuLi4pOworPC9wcmU+CisgICAgPC9kaXY+CisgICAgPGRpdiBjbGFzcz0icmVmc2VjdDEiIGxhbmc9ImVuIj4KKyAgICAgIDxoMj5EZXNjcmlwdGlvbjwvaDI+CisgICAgPC9kaXY+CisgICAgPGRpdiBjbGFzcz0icmVmc2VjdDEiIGxhbmc9ImVuIj4KKyAgICAgIDxoMj5EZXRhaWxzPC9oMj4KKyAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFJlbGF4TkciPlN0cnVjdHVyZSA8L2E+eG1sUmVsYXhORzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnN0cnVjdCBfeG1sUmVsYXhORyB7CitUaGUgY29udGVudCBvZiB0aGlzIHN0cnVjdHVyZSBpcyBub3QgbWFkZSBwdWJsaWMgYnkgdGhlIEFQSS4KK30geG1sUmVsYXhORzsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxSZWxheE5HUGFyc2VyQ3R4dCI+U3RydWN0dXJlIDwvYT54bWxSZWxheE5HUGFyc2VyQ3R4dDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnN0cnVjdCBfeG1sUmVsYXhOR1BhcnNlckN0eHQgeworVGhlIGNvbnRlbnQgb2YgdGhpcyBzdHJ1Y3R1cmUgaXMgbm90IG1hZGUgcHVibGljIGJ5IHRoZSBBUEkuCit9IHhtbFJlbGF4TkdQYXJzZXJDdHh0OworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFJlbGF4TkdQYXJzZXJDdHh0UHRyIj5UeXBlZGVmIDwvYT54bWxSZWxheE5HUGFyc2VyQ3R4dFB0cjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItcmVsYXhuZy5odG1sI3htbFJlbGF4TkdQYXJzZXJDdHh0Ij54bWxSZWxheE5HUGFyc2VyQ3R4dDwvYT4gKiB4bWxSZWxheE5HUGFyc2VyQ3R4dFB0cjsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxSZWxheE5HUGFyc2VyRmxhZyI+RW51bSA8L2E+eG1sUmVsYXhOR1BhcnNlckZsYWc8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5lbnVtIDxhIGhyZWY9IiN4bWxSZWxheE5HUGFyc2VyRmxhZyI+eG1sUmVsYXhOR1BhcnNlckZsYWc8L2E+IHsKKyAgICA8YSBuYW1lPSJYTUxfUkVMQVhOR1BfTk9ORSI+WE1MX1JFTEFYTkdQX05PTkU8L2E+ID0gMAorICAgIDxhIG5hbWU9IlhNTF9SRUxBWE5HUF9GUkVFX0RPQyI+WE1MX1JFTEFYTkdQX0ZSRUVfRE9DPC9hPiA9IDEKKyAgICA8YSBuYW1lPSJYTUxfUkVMQVhOR1BfQ1JORyI+WE1MX1JFTEFYTkdQX0NSTkc8L2E+ID0gMgorfTsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxSZWxheE5HUHRyIj5UeXBlZGVmIDwvYT54bWxSZWxheE5HUHRyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi1yZWxheG5nLmh0bWwjeG1sUmVsYXhORyI+eG1sUmVsYXhORzwvYT4gKiB4bWxSZWxheE5HUHRyOworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFJlbGF4TkdWYWxpZEN0eHQiPlN0cnVjdHVyZSA8L2E+eG1sUmVsYXhOR1ZhbGlkQ3R4dDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnN0cnVjdCBfeG1sUmVsYXhOR1ZhbGlkQ3R4dCB7CitUaGUgY29udGVudCBvZiB0aGlzIHN0cnVjdHVyZSBpcyBub3QgbWFkZSBwdWJsaWMgYnkgdGhlIEFQSS4KK30geG1sUmVsYXhOR1ZhbGlkQ3R4dDsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxSZWxheE5HVmFsaWRDdHh0UHRyIj5UeXBlZGVmIDwvYT54bWxSZWxheE5HVmFsaWRDdHh0UHRyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1ZhbGlkQ3R4dCI+eG1sUmVsYXhOR1ZhbGlkQ3R4dDwvYT4gKiB4bWxSZWxheE5HVmFsaWRDdHh0UHRyOworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFJlbGF4TkdWYWxpZEVyciI+RW51bSA8L2E+eG1sUmVsYXhOR1ZhbGlkRXJyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+ZW51bSA8YSBocmVmPSIjeG1sUmVsYXhOR1ZhbGlkRXJyIj54bWxSZWxheE5HVmFsaWRFcnI8L2E+IHsKKyAgICA8YSBuYW1lPSJYTUxfUkVMQVhOR19PSyI+WE1MX1JFTEFYTkdfT0s8L2E+ID0gMAorICAgIDxhIG5hbWU9IlhNTF9SRUxBWE5HX0VSUl9NRU1PUlkiPlhNTF9SRUxBWE5HX0VSUl9NRU1PUlk8L2E+ID0gMQorICAgIDxhIG5hbWU9IlhNTF9SRUxBWE5HX0VSUl9UWVBFIj5YTUxfUkVMQVhOR19FUlJfVFlQRTwvYT4gPSAyCisgICAgPGEgbmFtZT0iWE1MX1JFTEFYTkdfRVJSX1RZUEVWQUwiPlhNTF9SRUxBWE5HX0VSUl9UWVBFVkFMPC9hPiA9IDMKKyAgICA8YSBuYW1lPSJYTUxfUkVMQVhOR19FUlJfRFVQSUQiPlhNTF9SRUxBWE5HX0VSUl9EVVBJRDwvYT4gPSA0CisgICAgPGEgbmFtZT0iWE1MX1JFTEFYTkdfRVJSX1RZUEVDTVAiPlhNTF9SRUxBWE5HX0VSUl9UWVBFQ01QPC9hPiA9IDUKKyAgICA8YSBuYW1lPSJYTUxfUkVMQVhOR19FUlJfTk9TVEFURSI+WE1MX1JFTEFYTkdfRVJSX05PU1RBVEU8L2E+ID0gNgorICAgIDxhIG5hbWU9IlhNTF9SRUxBWE5HX0VSUl9OT0RFRklORSI+WE1MX1JFTEFYTkdfRVJSX05PREVGSU5FPC9hPiA9IDcKKyAgICA8YSBuYW1lPSJYTUxfUkVMQVhOR19FUlJfTElTVEVYVFJBIj5YTUxfUkVMQVhOR19FUlJfTElTVEVYVFJBPC9hPiA9IDgKKyAgICA8YSBuYW1lPSJYTUxfUkVMQVhOR19FUlJfTElTVEVNUFRZIj5YTUxfUkVMQVhOR19FUlJfTElTVEVNUFRZPC9hPiA9IDkKKyAgICA8YSBuYW1lPSJYTUxfUkVMQVhOR19FUlJfSU5URVJOT0RBVEEiPlhNTF9SRUxBWE5HX0VSUl9JTlRFUk5PREFUQTwvYT4gPSAxMAorICAgIDxhIG5hbWU9IlhNTF9SRUxBWE5HX0VSUl9JTlRFUlNFUSI+WE1MX1JFTEFYTkdfRVJSX0lOVEVSU0VRPC9hPiA9IDExCisgICAgPGEgbmFtZT0iWE1MX1JFTEFYTkdfRVJSX0lOVEVSRVhUUkEiPlhNTF9SRUxBWE5HX0VSUl9JTlRFUkVYVFJBPC9hPiA9IDEyCisgICAgPGEgbmFtZT0iWE1MX1JFTEFYTkdfRVJSX0VMRU1OQU1FIj5YTUxfUkVMQVhOR19FUlJfRUxFTU5BTUU8L2E+ID0gMTMKKyAgICA8YSBuYW1lPSJYTUxfUkVMQVhOR19FUlJfQVRUUk5BTUUiPlhNTF9SRUxBWE5HX0VSUl9BVFRSTkFNRTwvYT4gPSAxNAorICAgIDxhIG5hbWU9IlhNTF9SRUxBWE5HX0VSUl9FTEVNTk9OUyI+WE1MX1JFTEFYTkdfRVJSX0VMRU1OT05TPC9hPiA9IDE1CisgICAgPGEgbmFtZT0iWE1MX1JFTEFYTkdfRVJSX0FUVFJOT05TIj5YTUxfUkVMQVhOR19FUlJfQVRUUk5PTlM8L2E+ID0gMTYKKyAgICA8YSBuYW1lPSJYTUxfUkVMQVhOR19FUlJfRUxFTVdST05HTlMiPlhNTF9SRUxBWE5HX0VSUl9FTEVNV1JPTkdOUzwvYT4gPSAxNworICAgIDxhIG5hbWU9IlhNTF9SRUxBWE5HX0VSUl9BVFRSV1JPTkdOUyI+WE1MX1JFTEFYTkdfRVJSX0FUVFJXUk9OR05TPC9hPiA9IDE4CisgICAgPGEgbmFtZT0iWE1MX1JFTEFYTkdfRVJSX0VMRU1FWFRSQU5TIj5YTUxfUkVMQVhOR19FUlJfRUxFTUVYVFJBTlM8L2E+ID0gMTkKKyAgICA8YSBuYW1lPSJYTUxfUkVMQVhOR19FUlJfQVRUUkVYVFJBTlMiPlhNTF9SRUxBWE5HX0VSUl9BVFRSRVhUUkFOUzwvYT4gPSAyMAorICAgIDxhIG5hbWU9IlhNTF9SRUxBWE5HX0VSUl9FTEVNTk9URU1QVFkiPlhNTF9SRUxBWE5HX0VSUl9FTEVNTk9URU1QVFk8L2E+ID0gMjEKKyAgICA8YSBuYW1lPSJYTUxfUkVMQVhOR19FUlJfTk9FTEVNIj5YTUxfUkVMQVhOR19FUlJfTk9FTEVNPC9hPiA9IDIyCisgICAgPGEgbmFtZT0iWE1MX1JFTEFYTkdfRVJSX05PVEVMRU0iPlhNTF9SRUxBWE5HX0VSUl9OT1RFTEVNPC9hPiA9IDIzCisgICAgPGEgbmFtZT0iWE1MX1JFTEFYTkdfRVJSX0FUVFJWQUxJRCI+WE1MX1JFTEFYTkdfRVJSX0FUVFJWQUxJRDwvYT4gPSAyNAorICAgIDxhIG5hbWU9IlhNTF9SRUxBWE5HX0VSUl9DT05URU5UVkFMSUQiPlhNTF9SRUxBWE5HX0VSUl9DT05URU5UVkFMSUQ8L2E+ID0gMjUKKyAgICA8YSBuYW1lPSJYTUxfUkVMQVhOR19FUlJfRVhUUkFDT05URU5UIj5YTUxfUkVMQVhOR19FUlJfRVhUUkFDT05URU5UPC9hPiA9IDI2CisgICAgPGEgbmFtZT0iWE1MX1JFTEFYTkdfRVJSX0lOVkFMSURBVFRSIj5YTUxfUkVMQVhOR19FUlJfSU5WQUxJREFUVFI8L2E+ID0gMjcKKyAgICA8YSBuYW1lPSJYTUxfUkVMQVhOR19FUlJfREFUQUVMRU0iPlhNTF9SRUxBWE5HX0VSUl9EQVRBRUxFTTwvYT4gPSAyOAorICAgIDxhIG5hbWU9IlhNTF9SRUxBWE5HX0VSUl9WQUxFTEVNIj5YTUxfUkVMQVhOR19FUlJfVkFMRUxFTTwvYT4gPSAyOQorICAgIDxhIG5hbWU9IlhNTF9SRUxBWE5HX0VSUl9MSVNURUxFTSI+WE1MX1JFTEFYTkdfRVJSX0xJU1RFTEVNPC9hPiA9IDMwCisgICAgPGEgbmFtZT0iWE1MX1JFTEFYTkdfRVJSX0RBVEFUWVBFIj5YTUxfUkVMQVhOR19FUlJfREFUQVRZUEU8L2E+ID0gMzEKKyAgICA8YSBuYW1lPSJYTUxfUkVMQVhOR19FUlJfVkFMVUUiPlhNTF9SRUxBWE5HX0VSUl9WQUxVRTwvYT4gPSAzMgorICAgIDxhIG5hbWU9IlhNTF9SRUxBWE5HX0VSUl9MSVNUIj5YTUxfUkVMQVhOR19FUlJfTElTVDwvYT4gPSAzMworICAgIDxhIG5hbWU9IlhNTF9SRUxBWE5HX0VSUl9OT0dSQU1NQVIiPlhNTF9SRUxBWE5HX0VSUl9OT0dSQU1NQVI8L2E+ID0gMzQKKyAgICA8YSBuYW1lPSJYTUxfUkVMQVhOR19FUlJfRVhUUkFEQVRBIj5YTUxfUkVMQVhOR19FUlJfRVhUUkFEQVRBPC9hPiA9IDM1CisgICAgPGEgbmFtZT0iWE1MX1JFTEFYTkdfRVJSX0xBQ0tEQVRBIj5YTUxfUkVMQVhOR19FUlJfTEFDS0RBVEE8L2E+ID0gMzYKKyAgICA8YSBuYW1lPSJYTUxfUkVMQVhOR19FUlJfSU5URVJOQUwiPlhNTF9SRUxBWE5HX0VSUl9JTlRFUk5BTDwvYT4gPSAzNworICAgIDxhIG5hbWU9IlhNTF9SRUxBWE5HX0VSUl9FTEVNV1JPTkciPlhNTF9SRUxBWE5HX0VSUl9FTEVNV1JPTkc8L2E+ID0gMzgKKyAgICA8YSBuYW1lPSJYTUxfUkVMQVhOR19FUlJfVEVYVFdST05HIj5YTUxfUkVMQVhOR19FUlJfVEVYVFdST05HPC9hPiA9IDM5Cit9OworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFJlbGF4TkdWYWxpZGl0eUVycm9yRnVuYyIvPkZ1bmN0aW9uIHR5cGUgeG1sUmVsYXhOR1ZhbGlkaXR5RXJyb3JGdW5jPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxSZWxheE5HVmFsaWRpdHlFcnJvckZ1bmMJKHZvaWQgKiBjdHgsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIG1zZywgPGJyLz4JCQkJCSAuLi4gLi4uKTxici8+Cis8L3ByZT48cD5TaWduYXR1cmUgb2YgYW4gZXJyb3IgY2FsbGJhY2sgZnJvbSBhIFJlbGF4LU5HIHZhbGlkYXRpb248L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHZhbGlkYXRpb24gY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bXNnPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbWVzc2FnZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Li4uPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5leHRyYSBhcmd1bWVudHM8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxSZWxheE5HVmFsaWRpdHlXYXJuaW5nRnVuYyIvPkZ1bmN0aW9uIHR5cGUgeG1sUmVsYXhOR1ZhbGlkaXR5V2FybmluZ0Z1bmM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFJlbGF4TkdWYWxpZGl0eVdhcm5pbmdGdW5jCSh2b2lkICogY3R4LCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBtc2csIDxici8+CQkJCQkgLi4uIC4uLik8YnIvPgorPC9wcmU+PHA+U2lnbmF0dXJlIG9mIGEgd2FybmluZyBjYWxsYmFjayBmcm9tIGEgUmVsYXgtTkcgdmFsaWRhdGlvbjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdmFsaWRhdGlvbiBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5tc2c8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBtZXNzYWdlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD4uLi48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmV4dHJhIGFyZ3VtZW50czwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFJlbGF4TkdDbGVhbnVwVHlwZXMiLz54bWxSZWxheE5HQ2xlYW51cFR5cGVzICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxSZWxheE5HQ2xlYW51cFR5cGVzCQkodm9pZCk8YnIvPgorPC9wcmU+PHA+Q2xlYW51cCB0aGUgZGVmYXVsdCBTY2hlbWFzIHR5cGUgbGlicmFyeSBhc3NvY2lhdGVkIHRvIFJlbGF4Tkc8L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUmVsYXhOR0R1bXAiLz54bWxSZWxheE5HRHVtcCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sUmVsYXhOR0R1bXAJCQkoRklMRSAqIG91dHB1dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HUHRyIj54bWxSZWxheE5HUHRyPC9hPiBzY2hlbWEpPGJyLz4KKzwvcHJlPjxwPkR1bXAgYSBSZWxheE5HIHN0cnVjdHVyZSBiYWNrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vdXRwdXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmaWxlIG91dHB1dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2NoZW1hPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHNjaGVtYSBzdHJ1Y3R1cmU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxSZWxheE5HRHVtcFRyZWUiLz54bWxSZWxheE5HRHVtcFRyZWUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFJlbGF4TkdEdW1wVHJlZQkJKEZJTEUgKiBvdXRwdXQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1B0ciI+eG1sUmVsYXhOR1B0cjwvYT4gc2NoZW1hKTxici8+Cis8L3ByZT48cD5EdW1wIHRoZSB0cmFuc2Zvcm1lZCBSZWxheE5HIHRyZWUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vdXRwdXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmaWxlIG91dHB1dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2NoZW1hPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHNjaGVtYSBzdHJ1Y3R1cmU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxSZWxheE5HRnJlZSIvPnhtbFJlbGF4TkdGcmVlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxSZWxheE5HRnJlZQkJCSg8YSBocmVmPSJsaWJ4bWwyLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HUHRyIj54bWxSZWxheE5HUHRyPC9hPiBzY2hlbWEpPGJyLz4KKzwvcHJlPjxwPkRlYWxsb2NhdGUgYSBSZWxheE5HIHN0cnVjdHVyZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNjaGVtYTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBzY2hlbWEgc3RydWN0dXJlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUmVsYXhOR0ZyZWVQYXJzZXJDdHh0Ii8+eG1sUmVsYXhOR0ZyZWVQYXJzZXJDdHh0ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxSZWxheE5HRnJlZVBhcnNlckN0eHQJKDxhIGhyZWY9ImxpYnhtbDItcmVsYXhuZy5odG1sI3htbFJlbGF4TkdQYXJzZXJDdHh0UHRyIj54bWxSZWxheE5HUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8YnIvPgorPC9wcmU+PHA+RnJlZSB0aGUgcmVzb3VyY2VzIGFzc29jaWF0ZWQgdG8gdGhlIHNjaGVtYSBwYXJzZXIgY29udGV4dDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHNjaGVtYSBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFJlbGF4TkdGcmVlVmFsaWRDdHh0Ii8+eG1sUmVsYXhOR0ZyZWVWYWxpZEN0eHQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFJlbGF4TkdGcmVlVmFsaWRDdHh0CQkoPGEgaHJlZj0ibGlieG1sMi1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0ciI+eG1sUmVsYXhOR1ZhbGlkQ3R4dFB0cjwvYT4gY3R4dCk8YnIvPgorPC9wcmU+PHA+RnJlZSB0aGUgcmVzb3VyY2VzIGFzc29jaWF0ZWQgdG8gdGhlIHNjaGVtYSB2YWxpZGF0aW9uIGNvbnRleHQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzY2hlbWEgdmFsaWRhdGlvbiBjb250ZXh0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUmVsYXhOR0dldFBhcnNlckVycm9ycyIvPnhtbFJlbGF4TkdHZXRQYXJzZXJFcnJvcnMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sUmVsYXhOR0dldFBhcnNlckVycm9ycwkoPGEgaHJlZj0ibGlieG1sMi1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1BhcnNlckN0eHRQdHIiPnhtbFJlbGF4TkdQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItcmVsYXhuZy5odG1sI3htbFJlbGF4TkdWYWxpZGl0eUVycm9yRnVuYyI+eG1sUmVsYXhOR1ZhbGlkaXR5RXJyb3JGdW5jPC9hPiAqIGVyciwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HVmFsaWRpdHlXYXJuaW5nRnVuYyI+eG1sUmVsYXhOR1ZhbGlkaXR5V2FybmluZ0Z1bmM8L2E+ICogd2FybiwgPGJyLz4JCQkJCSB2b2lkICoqIGN0eCk8YnIvPgorPC9wcmU+PHA+R2V0IHRoZSBjYWxsYmFjayBpbmZvcm1hdGlvbiB1c2VkIHRvIGhhbmRsZSBlcnJvcnMgZm9yIGEgdmFsaWRhdGlvbiBjb250ZXh0PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIFJlbGF4LU5HIHZhbGlkYXRpb24gY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZXJyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZXJyb3IgY2FsbGJhY2sgcmVzdWx0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD53YXJuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgd2FybmluZyBjYWxsYmFjayByZXN1bHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+Y29udGV4dHVhbCBkYXRhIGZvciB0aGUgY2FsbGJhY2tzIHJlc3VsdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+LTEgaW4gY2FzZSBvZiBmYWlsdXJlLCAwIG90aGVyd2lzZS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxSZWxheE5HR2V0VmFsaWRFcnJvcnMiLz54bWxSZWxheE5HR2V0VmFsaWRFcnJvcnMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sUmVsYXhOR0dldFZhbGlkRXJyb3JzCSg8YSBocmVmPSJsaWJ4bWwyLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HVmFsaWRDdHh0UHRyIj54bWxSZWxheE5HVmFsaWRDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItcmVsYXhuZy5odG1sI3htbFJlbGF4TkdWYWxpZGl0eUVycm9yRnVuYyI+eG1sUmVsYXhOR1ZhbGlkaXR5RXJyb3JGdW5jPC9hPiAqIGVyciwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HVmFsaWRpdHlXYXJuaW5nRnVuYyI+eG1sUmVsYXhOR1ZhbGlkaXR5V2FybmluZ0Z1bmM8L2E+ICogd2FybiwgPGJyLz4JCQkJCSB2b2lkICoqIGN0eCk8YnIvPgorPC9wcmU+PHA+R2V0IHRoZSBlcnJvciBhbmQgd2FybmluZyBjYWxsYmFjayBpbmZvcm1hdGlvbnM8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgUmVsYXgtTkcgdmFsaWRhdGlvbiBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lcnI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlcnJvciBmdW5jdGlvbiByZXN1bHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pndhcm48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB3YXJuaW5nIGZ1bmN0aW9uIHJlc3VsdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZnVuY3Rpb25zIGNvbnRleHQgcmVzdWx0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4tMSBpbiBjYXNlIG9mIGVycm9yIGFuZCAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFJlbGF4TkdJbml0VHlwZXMiLz54bWxSZWxheE5HSW5pdFR5cGVzICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFJlbGF4TkdJbml0VHlwZXMJCSh2b2lkKTxici8+Cis8L3ByZT48cD5Jbml0aWxpemUgdGhlIGRlZmF1bHQgdHlwZSBsaWJyYXJpZXMuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGluIGNhc2Ugb2Ygc3VjY2VzcyBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxSZWxheE5HTmV3RG9jUGFyc2VyQ3R4dCIvPnhtbFJlbGF4TkdOZXdEb2NQYXJzZXJDdHh0ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1BhcnNlckN0eHRQdHIiPnhtbFJlbGF4TkdQYXJzZXJDdHh0UHRyPC9hPgl4bWxSZWxheE5HTmV3RG9jUGFyc2VyQ3R4dAkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYyk8YnIvPgorPC9wcmU+PHA+Q3JlYXRlIGFuIFhNTCBSZWxheE5HcyBwYXJzZXIgY29udGV4dCBmb3IgdGhhdCBkb2N1bWVudC4gTm90ZTogc2luY2UgdGhlIHByb2Nlc3Mgb2YgY29tcGlsaW5nIGEgUmVsYXhORyBzY2hlbWFzIG1vZGlmaWVzIHRoZSBkb2N1bWVudCwgdGhlIEBkb2MgcGFyYW1ldGVyIGlzIGR1cGxpY2F0ZWQgaW50ZXJuYWxseS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwcmVwYXJzZWQgZG9jdW1lbnQgdHJlZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHBhcnNlciBjb250ZXh0IG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFJlbGF4TkdOZXdNZW1QYXJzZXJDdHh0Ii8+eG1sUmVsYXhOR05ld01lbVBhcnNlckN0eHQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HUGFyc2VyQ3R4dFB0ciI+eG1sUmVsYXhOR1BhcnNlckN0eHRQdHI8L2E+CXhtbFJlbGF4TkdOZXdNZW1QYXJzZXJDdHh0CShjb25zdCBjaGFyICogYnVmZmVyLCA8YnIvPgkJCQkJCQkgaW50IHNpemUpPGJyLz4KKzwvcHJlPjxwPkNyZWF0ZSBhbiBYTUwgUmVsYXhOR3MgcGFyc2UgY29udGV4dCBmb3IgdGhhdCBtZW1vcnkgYnVmZmVyIGV4cGVjdGVkIHRvIGNvbnRhaW4gYW4gWE1MIFJlbGF4TkdzIGZpbGUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5idWZmZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byBhIGNoYXIgYXJyYXkgY29udGFpbmluZyB0aGUgc2NoZW1hczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2l6ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHNpemUgb2YgdGhlIGFycmF5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcGFyc2VyIGNvbnRleHQgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUmVsYXhOR05ld1BhcnNlckN0eHQiLz54bWxSZWxheE5HTmV3UGFyc2VyQ3R4dCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItcmVsYXhuZy5odG1sI3htbFJlbGF4TkdQYXJzZXJDdHh0UHRyIj54bWxSZWxheE5HUGFyc2VyQ3R4dFB0cjwvYT4JeG1sUmVsYXhOR05ld1BhcnNlckN0eHQJKGNvbnN0IGNoYXIgKiBVUkwpPGJyLz4KKzwvcHJlPjxwPkNyZWF0ZSBhbiBYTUwgUmVsYXhOR3MgcGFyc2UgY29udGV4dCBmb3IgdGhhdCBmaWxlL3Jlc291cmNlIGV4cGVjdGVkIHRvIGNvbnRhaW4gYW4gWE1MIFJlbGF4TkdzIGZpbGUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5VUkw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsb2NhdGlvbiBvZiB0aGUgc2NoZW1hPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcGFyc2VyIGNvbnRleHQgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUmVsYXhOR05ld1ZhbGlkQ3R4dCIvPnhtbFJlbGF4TkdOZXdWYWxpZEN0eHQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HVmFsaWRDdHh0UHRyIj54bWxSZWxheE5HVmFsaWRDdHh0UHRyPC9hPgl4bWxSZWxheE5HTmV3VmFsaWRDdHh0CSg8YSBocmVmPSJsaWJ4bWwyLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HUHRyIj54bWxSZWxheE5HUHRyPC9hPiBzY2hlbWEpPGJyLz4KKzwvcHJlPjxwPkNyZWF0ZSBhbiBYTUwgUmVsYXhOR3MgdmFsaWRhdGlvbiBjb250ZXh0IGJhc2VkIG9uIHRoZSBnaXZlbiBzY2hlbWE8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNjaGVtYTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwcmVjb21waWxlZCBYTUwgUmVsYXhOR3M8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB2YWxpZGF0aW9uIGNvbnRleHQgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUmVsYXhOR1BhcnNlIi8+eG1sUmVsYXhOR1BhcnNlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1B0ciI+eG1sUmVsYXhOR1B0cjwvYT4JeG1sUmVsYXhOR1BhcnNlCQkoPGEgaHJlZj0ibGlieG1sMi1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1BhcnNlckN0eHRQdHIiPnhtbFJlbGF4TkdQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTxici8+Cis8L3ByZT48cD5wYXJzZSBhIHNjaGVtYSBkZWZpbml0aW9uIHJlc291cmNlIGFuZCBidWlsZCBhbiBpbnRlcm5hbCBYTUwgU2hlbWEgc3RydXR1cmUgd2hpY2ggY2FuIGJlIHVzZWQgdG8gdmFsaWRhdGUgaW5zdGFuY2VzLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBSZWxheC1ORyBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGludGVybmFsIFhNTCBSZWxheE5HIHN0cnVjdHVyZSBidWlsdCBmcm9tIHRoZSByZXNvdXJjZSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxSZWxheE5HU2V0UGFyc2VyRXJyb3JzIi8+eG1sUmVsYXhOR1NldFBhcnNlckVycm9ycyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sUmVsYXhOR1NldFBhcnNlckVycm9ycwkoPGEgaHJlZj0ibGlieG1sMi1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1BhcnNlckN0eHRQdHIiPnhtbFJlbGF4TkdQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItcmVsYXhuZy5odG1sI3htbFJlbGF4TkdWYWxpZGl0eUVycm9yRnVuYyI+eG1sUmVsYXhOR1ZhbGlkaXR5RXJyb3JGdW5jPC9hPiBlcnIsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1ZhbGlkaXR5V2FybmluZ0Z1bmMiPnhtbFJlbGF4TkdWYWxpZGl0eVdhcm5pbmdGdW5jPC9hPiB3YXJuLCA8YnIvPgkJCQkJIHZvaWQgKiBjdHgpPGJyLz4KKzwvcHJlPjxwPlNldCB0aGUgY2FsbGJhY2sgZnVuY3Rpb25zIHVzZWQgdG8gaGFuZGxlIGVycm9ycyBmb3IgYSB2YWxpZGF0aW9uIGNvbnRleHQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgUmVsYXgtTkcgdmFsaWRhdGlvbiBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lcnI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlcnJvciBjYWxsYmFjazwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d2FybjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHdhcm5pbmcgY2FsbGJhY2s8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+Y29udGV4dHVhbCBkYXRhIGZvciB0aGUgY2FsbGJhY2tzPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUmVsYXhOR1NldFBhcnNlclN0cnVjdHVyZWRFcnJvcnMiLz54bWxSZWxheE5HU2V0UGFyc2VyU3RydWN0dXJlZEVycm9ycyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sUmVsYXhOR1NldFBhcnNlclN0cnVjdHVyZWRFcnJvcnMJKDxhIGhyZWY9ImxpYnhtbDItcmVsYXhuZy5odG1sI3htbFJlbGF4TkdQYXJzZXJDdHh0UHRyIj54bWxSZWxheE5HUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxlcnJvci5odG1sI3htbFN0cnVjdHVyZWRFcnJvckZ1bmMiPnhtbFN0cnVjdHVyZWRFcnJvckZ1bmM8L2E+IHNlcnJvciwgPGJyLz4JCQkJCQkgdm9pZCAqIGN0eCk8YnIvPgorPC9wcmU+PHA+U2V0IHRoZSBjYWxsYmFjayBmdW5jdGlvbnMgdXNlZCB0byBoYW5kbGUgZXJyb3JzIGZvciBhIHBhcnNpbmcgY29udGV4dDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBSZWxheC1ORyBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2Vycm9yPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZXJyb3IgY2FsbGJhY2s8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+Y29udGV4dHVhbCBkYXRhIGZvciB0aGUgY2FsbGJhY2tzPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUmVsYXhOR1NldFZhbGlkRXJyb3JzIi8+eG1sUmVsYXhOR1NldFZhbGlkRXJyb3JzICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxSZWxheE5HU2V0VmFsaWRFcnJvcnMJKDxhIGhyZWY9ImxpYnhtbDItcmVsYXhuZy5odG1sI3htbFJlbGF4TkdWYWxpZEN0eHRQdHIiPnhtbFJlbGF4TkdWYWxpZEN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1ZhbGlkaXR5RXJyb3JGdW5jIj54bWxSZWxheE5HVmFsaWRpdHlFcnJvckZ1bmM8L2E+IGVyciwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HVmFsaWRpdHlXYXJuaW5nRnVuYyI+eG1sUmVsYXhOR1ZhbGlkaXR5V2FybmluZ0Z1bmM8L2E+IHdhcm4sIDxici8+CQkJCQkgdm9pZCAqIGN0eCk8YnIvPgorPC9wcmU+PHA+U2V0IHRoZSBlcnJvciBhbmQgd2FybmluZyBjYWxsYmFjayBpbmZvcm1hdGlvbnM8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgUmVsYXgtTkcgdmFsaWRhdGlvbiBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lcnI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlcnJvciBmdW5jdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d2FybjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHdhcm5pbmcgZnVuY3Rpb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZ1bmN0aW9ucyBjb250ZXh0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUmVsYXhOR1NldFZhbGlkU3RydWN0dXJlZEVycm9ycyIvPnhtbFJlbGF4TkdTZXRWYWxpZFN0cnVjdHVyZWRFcnJvcnMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFJlbGF4TkdTZXRWYWxpZFN0cnVjdHVyZWRFcnJvcnMJKDxhIGhyZWY9ImxpYnhtbDItcmVsYXhuZy5odG1sI3htbFJlbGF4TkdWYWxpZEN0eHRQdHIiPnhtbFJlbGF4TkdWYWxpZEN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCN4bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jIj54bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jPC9hPiBzZXJyb3IsIDxici8+CQkJCQkJIHZvaWQgKiBjdHgpPGJyLz4KKzwvcHJlPjxwPlNldCB0aGUgc3RydWN0dXJlZCBlcnJvciBjYWxsYmFjazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBSZWxheC1ORyB2YWxpZGF0aW9uIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNlcnJvcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHN0cnVjdHVyZWQgZXJyb3IgZnVuY3Rpb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZ1bmN0aW9ucyBjb250ZXh0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUmVsYXhOR1ZhbGlkYXRlRG9jIi8+eG1sUmVsYXhOR1ZhbGlkYXRlRG9jICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFJlbGF4TkdWYWxpZGF0ZURvYwkJKDxhIGhyZWY9ImxpYnhtbDItcmVsYXhuZy5odG1sI3htbFJlbGF4TkdWYWxpZEN0eHRQdHIiPnhtbFJlbGF4TkdWYWxpZEN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYyk8YnIvPgorPC9wcmU+PHA+VmFsaWRhdGUgYSBkb2N1bWVudCB0cmVlIGluIG1lbW9yeS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgUmVsYXgtTkcgdmFsaWRhdGlvbiBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcGFyc2VkIGRvY3VtZW50IHRyZWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaWYgdGhlIGRvY3VtZW50IGlzIHZhbGlkLCBhIHBvc2l0aXZlIGVycm9yIGNvZGUgbnVtYmVyIG90aGVyd2lzZSBhbmQgLTEgaW4gY2FzZSBvZiBpbnRlcm5hbCBvciBBUEkgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUmVsYXhOR1ZhbGlkYXRlRnVsbEVsZW1lbnQiLz54bWxSZWxheE5HVmFsaWRhdGVGdWxsRWxlbWVudCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxSZWxheE5HVmFsaWRhdGVGdWxsRWxlbWVudAkoPGEgaHJlZj0ibGlieG1sMi1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0ciI+eG1sUmVsYXhOR1ZhbGlkQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGVsZW0pPGJyLz4KKzwvcHJlPjxwPlZhbGlkYXRlIGEgZnVsbCBzdWJ0cmVlIHdoZW4geG1sUmVsYXhOR1ZhbGlkYXRlUHVzaEVsZW1lbnQoKSByZXR1cm5lZCAwIGFuZCB0aGUgY29udGVudCBvZiB0aGUgbm9kZSBoYXMgYmVlbiBleHBhbmRlZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB2YWxpZGF0aW9uIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBkb2N1bWVudCBpbnN0YW5jZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZWxlbTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gZWxlbWVudCBpbnN0YW5jZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiBubyB2YWxpZGF0aW9uIHByb2JsZW0gd2FzIGZvdW5kIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUmVsYXhOR1ZhbGlkYXRlUG9wRWxlbWVudCIvPnhtbFJlbGF4TkdWYWxpZGF0ZVBvcEVsZW1lbnQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sUmVsYXhOR1ZhbGlkYXRlUG9wRWxlbWVudAkoPGEgaHJlZj0ibGlieG1sMi1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0ciI+eG1sUmVsYXhOR1ZhbGlkQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGVsZW0pPGJyLz4KKzwvcHJlPjxwPlBvcCB0aGUgZWxlbWVudCBlbmQgZnJvbSB0aGUgUmVsYXhORyB2YWxpZGF0aW9uIHN0YWNrLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFJlbGF4TkcgdmFsaWRhdGlvbiBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgZG9jdW1lbnQgaW5zdGFuY2U8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVsZW08L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIGVsZW1lbnQgaW5zdGFuY2U8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgbm8gdmFsaWRhdGlvbiBwcm9ibGVtIHdhcyBmb3VuZCBvciAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFJlbGF4TkdWYWxpZGF0ZVB1c2hDRGF0YSIvPnhtbFJlbGF4TkdWYWxpZGF0ZVB1c2hDRGF0YSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxSZWxheE5HVmFsaWRhdGVQdXNoQ0RhdGEJKDxhIGhyZWY9ImxpYnhtbDItcmVsYXhuZy5odG1sI3htbFJlbGF4TkdWYWxpZEN0eHRQdHIiPnhtbFJlbGF4TkdWYWxpZEN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGRhdGEsIDxici8+CQkJCQkgaW50IGxlbik8YnIvPgorPC9wcmU+PHA+Y2hlY2sgdGhlIENEYXRhIHBhcnNlZCBmb3IgdmFsaWRhdGlvbiBpbiB0aGUgY3VycmVudCBzdGFjazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFJlbGF4TkcgdmFsaWRhdGlvbiBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kYXRhPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5zb21lIGNoYXJhY3RlciBkYXRhIHJlYWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxlbmd0aCBvZiB0aGUgZGF0YTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiBubyB2YWxpZGF0aW9uIHByb2JsZW0gd2FzIGZvdW5kIG9yIC0xIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFJlbGF4TkdWYWxpZGF0ZVB1c2hFbGVtZW50Ii8+eG1sUmVsYXhOR1ZhbGlkYXRlUHVzaEVsZW1lbnQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sUmVsYXhOR1ZhbGlkYXRlUHVzaEVsZW1lbnQJKDxhIGhyZWY9ImxpYnhtbDItcmVsYXhuZy5odG1sI3htbFJlbGF4TkdWYWxpZEN0eHRQdHIiPnhtbFJlbGF4TkdWYWxpZEN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBlbGVtKTxici8+Cis8L3ByZT48cD5QdXNoIGEgbmV3IGVsZW1lbnQgc3RhcnQgb24gdGhlIFJlbGF4TkcgdmFsaWRhdGlvbiBzdGFjay48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB2YWxpZGF0aW9uIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBkb2N1bWVudCBpbnN0YW5jZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZWxlbTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gZWxlbWVudCBpbnN0YW5jZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiBubyB2YWxpZGF0aW9uIHByb2JsZW0gd2FzIGZvdW5kIG9yIDAgaWYgdmFsaWRhdGluZyB0aGUgZWxlbWVudCByZXF1aXJlcyBhIGZ1bGwgbm9kZSwgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUmVsYXhQYXJzZXJTZXRGbGFnIi8+eG1sUmVsYXhQYXJzZXJTZXRGbGFnICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFJlbGF4UGFyc2VyU2V0RmxhZwkJKDxhIGhyZWY9ImxpYnhtbDItcmVsYXhuZy5odG1sI3htbFJlbGF4TkdQYXJzZXJDdHh0UHRyIj54bWxSZWxheE5HUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSBpbnQgZmxhZ3MpPGJyLz4KKzwvcHJlPjxwPlNlbWkgcHJpdmF0ZSBmdW5jdGlvbiB1c2VkIHRvIHBhc3MgaW5mb3JtYXRpb25zIHRvIGEgcGFyc2VyIGNvbnRleHQgd2hpY2ggYXJlIGEgY29tYmluYXRpb24gb2YgPGEgaHJlZj0ibGlieG1sMi1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1BhcnNlckZsYWciPnhtbFJlbGF4TkdQYXJzZXJGbGFnPC9hPiAuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIFJlbGF4TkcgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZsYWdzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHNldCBvZiBmbGFncyB2YWx1ZXM8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaWYgc3VjY2VzcyBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKyAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvZGV2aGVscC9saWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCBiL2xpYnhtbDIvZG9jL2RldmhlbHAvbGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmY5Y2JjOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL2RldmhlbHAvbGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwKQEAgLTAsMCArMSw4NjAgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8aHRtbD4KKyAgPGhlYWQ+CisgICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiLz4KKyAgICA8dGl0bGU+c2NoZW1hc0ludGVybmFsczogaW50ZXJuYWwgaW50ZXJmYWNlcyBmb3IgWE1MIFNjaGVtYXM8L3RpdGxlPgorICAgIDxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iTGlieG1sMiBkZXZoZWxwIHN0eWxlc2hlZXQiLz4KKyAgICA8bGluayByZWw9InN0YXJ0IiBocmVmPSJpbmRleC5odG1sIiB0aXRsZT0ibGlieG1sMiBSZWZlcmVuY2UgTWFudWFsIi8+CisgICAgPGxpbmsgcmVsPSJ1cCIgaHJlZj0iZ2VuZXJhbC5odG1sIiB0aXRsZT0iQVBJIi8+CisgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJzdHlsZS5jc3MiIHR5cGU9InRleHQvY3NzIi8+CisgICAgPGxpbmsgcmVsPSJjaGFwdGVyIiBocmVmPSJnZW5lcmFsLmh0bWwiIHRpdGxlPSJBUEkiLz4KKyAgPC9oZWFkPgorICA8Ym9keSBiZ2NvbG9yPSJ3aGl0ZSIgdGV4dD0iYmxhY2siIGxpbms9IiMwMDAwRkYiIHZsaW5rPSIjODQwMDg0IiBhbGluaz0iIzAwMDBGRiI+CisgICAgPHRhYmxlIGNsYXNzPSJuYXZpZ2F0aW9uIiB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBoZWFkZXIiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMiI+CisgICAgICA8dHIgdmFsaWduPSJtaWRkbGUiPgorICAgICAgICA8dGQ+CisgICAgICAgICAgPGEgYWNjZXNza2V5PSJwIiBocmVmPSJsaWJ4bWwyLXJlbGF4bmcuaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0ibGVmdC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlByZXYiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9InUiIGhyZWY9ImdlbmVyYWwuaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0idXAucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJVcCIvPgorICAgICAgICAgIDwvYT4KKyAgICAgICAgPC90ZD4KKyAgICAgICAgPHRkPgorICAgICAgICAgIDxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iaW5kZXguaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0iaG9tZS5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IkhvbWUiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9Im4iIGhyZWY9ImxpYnhtbDItc2NoZW1hdHJvbi5odG1sIj4KKyAgICAgICAgICAgIDxpbWcgc3JjPSJyaWdodC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9Ik5leHQiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0aCB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+bGlieG1sMiBSZWZlcmVuY2UgTWFudWFsPC90aD4KKyAgICAgIDwvdHI+CisgICAgPC90YWJsZT4KKyAgICA8aDI+CisgICAgICA8c3BhbiBjbGFzcz0icmVmZW50cnl0aXRsZSI+c2NoZW1hc0ludGVybmFsczwvc3Bhbj4KKyAgICA8L2gyPgorICAgIDxwPnNjaGVtYXNJbnRlcm5hbHMgLSBpbnRlcm5hbCBpbnRlcmZhY2VzIGZvciBYTUwgU2NoZW1hczwvcD4KKyAgICA8cD5pbnRlcm5hbCBpbnRlcmZhY2VzIGZvciB0aGUgWE1MIFNjaGVtYXMgaGFuZGxpbmcgYW5kIHNjaGVtYSB2YWxpZGl0eSBjaGVja2luZyBUaGUgU2NoZW1hcyBkZXZlbG9wbWVudCBpcyBhIFdvcmsgSW4gUHJvZ3Jlc3MuIFNvbWUgb2YgdGhvc2UgaW50ZXJmYWNlcyBhcmUgbm90IGdhcmFudGVlZCB0byBiZSBBUEkgb3IgQUJJIHN0YWJsZSAhIDwvcD4KKyAgICA8cD5BdXRob3Iocyk6IERhbmllbCBWZWlsbGFyZCA8L3A+CisgICAgPGRpdiBjbGFzcz0icmVmc3lub3BzaXNkaXYiPgorICAgICAgPGgyPlN5bm9wc2lzPC9oMj4KKyAgICAgIDxwcmUgY2xhc3M9InN5bm9wc2lzIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19CTE9DS19ERUZBVUxUX1JFU1RSSUNUSU9OIj5YTUxfU0NIRU1BU19CTE9DS19ERUZBVUxUX1JFU1RSSUNUSU9OPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX0ZJTkFMX0RFRkFVTFRfRVhURU5TSU9OIj5YTUxfU0NIRU1BU19GSU5BTF9ERUZBVUxUX0VYVEVOU0lPTjwvYT47CisjZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19UWVBFX0ZJWFVQXzEiPlhNTF9TQ0hFTUFTX1RZUEVfRklYVVBfMTwvYT47CisjZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19GSU5BTF9ERUZBVUxUX1JFU1RSSUNUSU9OIj5YTUxfU0NIRU1BU19GSU5BTF9ERUZBVUxUX1JFU1RSSUNUSU9OPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX0VMRU1fQ0lSQ1VMQVIiPlhNTF9TQ0hFTUFTX0VMRU1fQ0lSQ1VMQVI8L2E+OworI2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfUVVBTElGX0FUVFIiPlhNTF9TQ0hFTUFTX1FVQUxJRl9BVFRSPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX1RZUEVfQlVJTFRJTl9QUklNSVRJVkUiPlhNTF9TQ0hFTUFTX1RZUEVfQlVJTFRJTl9QUklNSVRJVkU8L2E+OworI2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfVFlQRV9ERVJJVkFUSU9OX01FVEhPRF9SRVNUUklDVElPTiI+WE1MX1NDSEVNQVNfVFlQRV9ERVJJVkFUSU9OX01FVEhPRF9SRVNUUklDVElPTjwvYT47CisjZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19BVFRSX1VTRV9SRVFVSVJFRCI+WE1MX1NDSEVNQVNfQVRUUl9VU0VfUkVRVUlSRUQ8L2E+OworI2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfRkFDRVRfQ09MTEFQU0UiPlhNTF9TQ0hFTUFTX0ZBQ0VUX0NPTExBUFNFPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX1RZUEVfV0hJVEVTUEFDRV9DT0xMQVBTRSI+WE1MX1NDSEVNQVNfVFlQRV9XSElURVNQQUNFX0NPTExBUFNFPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX1RZUEVfVkFSSUVUWV9VTklPTiI+WE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX1VOSU9OPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX0FOWV9TVFJJQ1QiPlhNTF9TQ0hFTUFTX0FOWV9TVFJJQ1Q8L2E+OworI2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfVFlQRV9JTlRFUk5BTF9SRVNPTFZFRCI+WE1MX1NDSEVNQVNfVFlQRV9JTlRFUk5BTF9SRVNPTFZFRDwvYT47CisjZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19RVUFMSUZfRUxFTSI+WE1MX1NDSEVNQVNfUVVBTElGX0VMRU08L2E+OworI2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX0xJU1QiPlhNTF9TQ0hFTUFTX1RZUEVfVkFSSUVUWV9MSVNUPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX1RZUEVfV0hJVEVTUEFDRV9QUkVTRVJWRSI+WE1MX1NDSEVNQVNfVFlQRV9XSElURVNQQUNFX1BSRVNFUlZFPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX0VMRU1fSU5URVJOQUxfQ0hFQ0tFRCI+WE1MX1NDSEVNQVNfRUxFTV9JTlRFUk5BTF9DSEVDS0VEPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX0lOQ0xVRElOR19DT05WRVJUX05TIj5YTUxfU0NIRU1BU19JTkNMVURJTkdfQ09OVkVSVF9OUzwvYT47CisjZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19BVFRSX0lOVEVSTkFMX1JFU09MVkVEIj5YTUxfU0NIRU1BU19BVFRSX0lOVEVSTkFMX1JFU09MVkVEPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX0FUVFJfVVNFX1BST0hJQklURUQiPlhNTF9TQ0hFTUFTX0FUVFJfVVNFX1BST0hJQklURUQ8L2E+OworI2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfRUxFTV9OSUxMQUJMRSI+WE1MX1NDSEVNQVNfRUxFTV9OSUxMQUJMRTwvYT47CisjZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19CTE9DS19ERUZBVUxUX1NVQlNUSVRVVElPTiI+WE1MX1NDSEVNQVNfQkxPQ0tfREVGQVVMVF9TVUJTVElUVVRJT048L2E+OworI2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfQVRUUkdST1VQX1JFREVGSU5FRCI+WE1MX1NDSEVNQVNfQVRUUkdST1VQX1JFREVGSU5FRDwvYT47CisjZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19FTEVNX1NVQlNUX0dST1VQX0hFQUQiPlhNTF9TQ0hFTUFTX0VMRU1fU1VCU1RfR1JPVVBfSEVBRDwvYT47CisjZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19UWVBFX0JMT0NLX0RFRkFVTFQiPlhNTF9TQ0hFTUFTX1RZUEVfQkxPQ0tfREVGQVVMVDwvYT47CisjZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19FTEVNX0JMT0NLX1NVQlNUSVRVVElPTiI+WE1MX1NDSEVNQVNfRUxFTV9CTE9DS19TVUJTVElUVVRJT048L2E+OworI2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfVFlQRV9GSU5BTF9FWFRFTlNJT04iPlhNTF9TQ0hFTUFTX1RZUEVfRklOQUxfRVhURU5TSU9OPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX1RZUEVfUkVERUZJTkVEIj5YTUxfU0NIRU1BU19UWVBFX1JFREVGSU5FRDwvYT47CisjZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19FTEVNX0ZJWEVEIj5YTUxfU0NIRU1BU19FTEVNX0ZJWEVEPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX1RZUEVfT1dORURfQVRUUl9XSUxEQ0FSRCI+WE1MX1NDSEVNQVNfVFlQRV9PV05FRF9BVFRSX1dJTERDQVJEPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX1RZUEVfVkFSSUVUWV9BVE9NSUMiPlhNTF9TQ0hFTUFTX1RZUEVfVkFSSUVUWV9BVE9NSUM8L2E+OworI2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfVFlQRV9GSU5BTF9MSVNUIj5YTUxfU0NIRU1BU19UWVBFX0ZJTkFMX0xJU1Q8L2E+OworI2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfQVRUUl9VU0VfT1BUSU9OQUwiPlhNTF9TQ0hFTUFTX0FUVFJfVVNFX09QVElPTkFMPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX0FUVFJfTlNERUZBVUxUIj5YTUxfU0NIRU1BU19BVFRSX05TREVGQVVMVDwvYT47CisjZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19UWVBFX1dISVRFU1BBQ0VfUkVQTEFDRSI+WE1MX1NDSEVNQVNfVFlQRV9XSElURVNQQUNFX1JFUExBQ0U8L2E+OworI2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfVFlQRV9CTE9DS19SRVNUUklDVElPTiI+WE1MX1NDSEVNQVNfVFlQRV9CTE9DS19SRVNUUklDVElPTjwvYT47CisjZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19BTllBVFRSX1NUUklDVCI+WE1MX1NDSEVNQVNfQU5ZQVRUUl9TVFJJQ1Q8L2E+OworI2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfRkFDRVRfVU5LTk9XTiI+WE1MX1NDSEVNQVNfRkFDRVRfVU5LTk9XTjwvYT47CisjZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19BVFRSR1JPVVBfTUFSS0VEIj5YTUxfU0NIRU1BU19BVFRSR1JPVVBfTUFSS0VEPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX0ZBQ0VUX1BSRVNFUlZFIj5YTUxfU0NIRU1BU19GQUNFVF9QUkVTRVJWRTwvYT47CisjZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19FTEVNX0JMT0NLX0VYVEVOU0lPTiI+WE1MX1NDSEVNQVNfRUxFTV9CTE9DS19FWFRFTlNJT048L2E+OworI2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfQVRUUl9HTE9CQUwiPlhNTF9TQ0hFTUFTX0FUVFJfR0xPQkFMPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX0FOWUFUVFJfU0tJUCI+WE1MX1NDSEVNQVNfQU5ZQVRUUl9TS0lQPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX1RZUEVfREVSSVZBVElPTl9NRVRIT0RfRVhURU5TSU9OIj5YTUxfU0NIRU1BU19UWVBFX0RFUklWQVRJT05fTUVUSE9EX0VYVEVOU0lPTjwvYT47CisjZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19BTllBVFRSX0xBWCI+WE1MX1NDSEVNQVNfQU5ZQVRUUl9MQVg8L2E+OworI2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfVFlQRV9HTE9CQUwiPlhNTF9TQ0hFTUFTX1RZUEVfR0xPQkFMPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX1RZUEVfQUJTVFJBQ1QiPlhNTF9TQ0hFTUFTX1RZUEVfQUJTVFJBQ1Q8L2E+OworI2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfVFlQRV9NSVhFRCI+WE1MX1NDSEVNQVNfVFlQRV9NSVhFRDwvYT47CisjZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19BVFRSX0ZJWEVEIj5YTUxfU0NIRU1BU19BVFRSX0ZJWEVEPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX0VMRU1fSU5URVJOQUxfUkVTT0xWRUQiPlhNTF9TQ0hFTUFTX0VMRU1fSU5URVJOQUxfUkVTT0xWRUQ8L2E+OworI2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfQU5ZX1NLSVAiPlhNTF9TQ0hFTUFTX0FOWV9TS0lQPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX0ZJTkFMX0RFRkFVTFRfTElTVCI+WE1MX1NDSEVNQVNfRklOQUxfREVGQVVMVF9MSVNUPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX1RZUEVfVkFSSUVUWV9BQlNFTlQiPlhNTF9TQ0hFTUFTX1RZUEVfVkFSSUVUWV9BQlNFTlQ8L2E+OworI2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfRUxFTV9GSU5BTF9SRVNUUklDVElPTiI+WE1MX1NDSEVNQVNfRUxFTV9GSU5BTF9SRVNUUklDVElPTjwvYT47CisjZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19XSUxEQ0FSRF9DT01QTEVURSI+WE1MX1NDSEVNQVNfV0lMRENBUkRfQ09NUExFVEU8L2E+OworI2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfQVRUUkdST1VQX1dJTERDQVJEX0JVSUxERUQiPlhNTF9TQ0hFTUFTX0FUVFJHUk9VUF9XSUxEQ0FSRF9CVUlMREVEPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX0VMRU1fTlNERUZBVUxUIj5YTUxfU0NIRU1BU19FTEVNX05TREVGQVVMVDwvYT47CisjZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19FTEVNX0dMT0JBTCI+WE1MX1NDSEVNQVNfRUxFTV9HTE9CQUw8L2E+OworI2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfRUxFTV9UT1BMRVZFTCI+WE1MX1NDSEVNQVNfRUxFTV9UT1BMRVZFTDwvYT47CisjZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19BTllfTEFYIj5YTUxfU0NIRU1BU19BTllfTEFYPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX1RZUEVfRklOQUxfUkVTVFJJQ1RJT04iPlhNTF9TQ0hFTUFTX1RZUEVfRklOQUxfUkVTVFJJQ1RJT048L2E+OworI2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfVFlQRV9IQVNfRkFDRVRTIj5YTUxfU0NIRU1BU19UWVBFX0hBU19GQUNFVFM8L2E+OworI2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfRUxFTV9GSU5BTF9FWFRFTlNJT04iPlhNTF9TQ0hFTUFTX0VMRU1fRklOQUxfRVhURU5TSU9OPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX1RZUEVfTk9STVZBTFVFTkVFREVEIj5YTUxfU0NIRU1BU19UWVBFX05PUk1WQUxVRU5FRURFRDwvYT47CisjZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19FTEVNX0ZJTkFMX0FCU0VOVCI+WE1MX1NDSEVNQVNfRUxFTV9GSU5BTF9BQlNFTlQ8L2E+OworI2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfVFlQRV9CTE9DS19FWFRFTlNJT04iPlhNTF9TQ0hFTUFTX1RZUEVfQkxPQ0tfRVhURU5TSU9OPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX1RZUEVfSU5URVJOQUxfSU5WQUxJRCI+WE1MX1NDSEVNQVNfVFlQRV9JTlRFUk5BTF9JTlZBTElEPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX0FUVFJHUk9VUF9IQVNfUkVGUyI+WE1MX1NDSEVNQVNfQVRUUkdST1VQX0hBU19SRUZTPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX0VMRU1fQUJTVFJBQ1QiPlhNTF9TQ0hFTUFTX0VMRU1fQUJTVFJBQ1Q8L2E+OworI2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfQkxPQ0tfREVGQVVMVF9FWFRFTlNJT04iPlhNTF9TQ0hFTUFTX0JMT0NLX0RFRkFVTFRfRVhURU5TSU9OPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX1RZUEVfRklOQUxfVU5JT04iPlhNTF9TQ0hFTUFTX1RZUEVfRklOQUxfVU5JT048L2E+OworI2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfVFlQRV9GSU5BTF9ERUZBVUxUIj5YTUxfU0NIRU1BU19UWVBFX0ZJTkFMX0RFRkFVTFQ8L2E+OworI2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfVFlQRV9GQUNFVFNORUVEVkFMVUUiPlhNTF9TQ0hFTUFTX1RZUEVfRkFDRVRTTkVFRFZBTFVFPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX0ZJTkFMX0RFRkFVTFRfVU5JT04iPlhNTF9TQ0hFTUFTX0ZJTkFMX0RFRkFVTFRfVU5JT048L2E+OworI2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfRUxFTV9CTE9DS19SRVNUUklDVElPTiI+WE1MX1NDSEVNQVNfRUxFTV9CTE9DS19SRVNUUklDVElPTjwvYT47CisjZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19GQUNFVF9SRVBMQUNFIj5YTUxfU0NIRU1BU19GQUNFVF9SRVBMQUNFPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX0VMRU1fREVGQVVMVCI+WE1MX1NDSEVNQVNfRUxFTV9ERUZBVUxUPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX1RZUEVfTUFSS0VEIj5YTUxfU0NIRU1BU19UWVBFX01BUktFRDwvYT47CisjZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19FTEVNX0JMT0NLX0FCU0VOVCI+WE1MX1NDSEVNQVNfRUxFTV9CTE9DS19BQlNFTlQ8L2E+OworI2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfQVRUUkdST1VQX0dMT0JBTCI+WE1MX1NDSEVNQVNfQVRUUkdST1VQX0dMT0JBTDwvYT47CisjZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19FTEVNX1JFRiI+WE1MX1NDSEVNQVNfRUxFTV9SRUY8L2E+OwordHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFBdHRyaWJ1dGVHcm91cCI+eG1sU2NoZW1hQXR0cmlidXRlR3JvdXA8L2E+ICogPGEgaHJlZj0iI3htbFNjaGVtYUF0dHJpYnV0ZUdyb3VwUHRyIj54bWxTY2hlbWFBdHRyaWJ1dGVHcm91cFB0cjwvYT47Cit0eXBlZGVmIDxhIGhyZWY9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYUVsZW1lbnQiPnhtbFNjaGVtYUVsZW1lbnQ8L2E+ICogPGEgaHJlZj0iI3htbFNjaGVtYUVsZW1lbnRQdHIiPnhtbFNjaGVtYUVsZW1lbnRQdHI8L2E+OwordHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFGYWNldExpbmsiPnhtbFNjaGVtYUZhY2V0TGluazwvYT4gKiA8YSBocmVmPSIjeG1sU2NoZW1hRmFjZXRMaW5rUHRyIj54bWxTY2hlbWFGYWNldExpbmtQdHI8L2E+OwordHlwZWRlZiBzdHJ1Y3QgX3htbFNjaGVtYVZhbCA8YSBocmVmPSIjeG1sU2NoZW1hVmFsIj54bWxTY2hlbWFWYWw8L2E+OwordHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFBdHRyaWJ1dGVMaW5rIj54bWxTY2hlbWFBdHRyaWJ1dGVMaW5rPC9hPiAqIDxhIGhyZWY9IiN4bWxTY2hlbWFBdHRyaWJ1dGVMaW5rUHRyIj54bWxTY2hlbWFBdHRyaWJ1dGVMaW5rUHRyPC9hPjsKK3R5cGVkZWYgc3RydWN0IF94bWxTY2hlbWFUeXBlIDxhIGhyZWY9IiN4bWxTY2hlbWFUeXBlIj54bWxTY2hlbWFUeXBlPC9hPjsKK3R5cGVkZWYgc3RydWN0IF94bWxTY2hlbWFBbm5vdCA8YSBocmVmPSIjeG1sU2NoZW1hQW5ub3QiPnhtbFNjaGVtYUFubm90PC9hPjsKK3R5cGVkZWYgPGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hQW5ub3QiPnhtbFNjaGVtYUFubm90PC9hPiAqIDxhIGhyZWY9IiN4bWxTY2hlbWFBbm5vdFB0ciI+eG1sU2NoZW1hQW5ub3RQdHI8L2E+OwordHlwZWRlZiBzdHJ1Y3QgX3htbFNjaGVtYUVsZW1lbnQgPGEgaHJlZj0iI3htbFNjaGVtYUVsZW1lbnQiPnhtbFNjaGVtYUVsZW1lbnQ8L2E+OwordHlwZWRlZiBzdHJ1Y3QgX3htbFNjaGVtYVdpbGRjYXJkIDxhIGhyZWY9IiN4bWxTY2hlbWFXaWxkY2FyZCI+eG1sU2NoZW1hV2lsZGNhcmQ8L2E+OwordHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFXaWxkY2FyZCI+eG1sU2NoZW1hV2lsZGNhcmQ8L2E+ICogPGEgaHJlZj0iI3htbFNjaGVtYVdpbGRjYXJkUHRyIj54bWxTY2hlbWFXaWxkY2FyZFB0cjwvYT47Cit0eXBlZGVmIDxhIGhyZWY9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYUZhY2V0Ij54bWxTY2hlbWFGYWNldDwvYT4gKiA8YSBocmVmPSIjeG1sU2NoZW1hRmFjZXRQdHIiPnhtbFNjaGVtYUZhY2V0UHRyPC9hPjsKK3R5cGVkZWYgc3RydWN0IF94bWxTY2hlbWFUeXBlTGluayA8YSBocmVmPSIjeG1sU2NoZW1hVHlwZUxpbmsiPnhtbFNjaGVtYVR5cGVMaW5rPC9hPjsKK3R5cGVkZWYgc3RydWN0IF94bWxTY2hlbWFBdHRyaWJ1dGVMaW5rIDxhIGhyZWY9IiN4bWxTY2hlbWFBdHRyaWJ1dGVMaW5rIj54bWxTY2hlbWFBdHRyaWJ1dGVMaW5rPC9hPjsKK3R5cGVkZWYgPGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVmFsIj54bWxTY2hlbWFWYWw8L2E+ICogPGEgaHJlZj0iI3htbFNjaGVtYVZhbFB0ciI+eG1sU2NoZW1hVmFsUHRyPC9hPjsKK3R5cGVkZWYgc3RydWN0IF94bWxTY2hlbWFGYWNldExpbmsgPGEgaHJlZj0iI3htbFNjaGVtYUZhY2V0TGluayI+eG1sU2NoZW1hRmFjZXRMaW5rPC9hPjsKK3R5cGVkZWYgPGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hV2lsZGNhcmROcyI+eG1sU2NoZW1hV2lsZGNhcmROczwvYT4gKiA8YSBocmVmPSIjeG1sU2NoZW1hV2lsZGNhcmROc1B0ciI+eG1sU2NoZW1hV2lsZGNhcmROc1B0cjwvYT47Cit0eXBlZGVmIHN0cnVjdCBfeG1sU2NoZW1hQXR0cmlidXRlR3JvdXAgPGEgaHJlZj0iI3htbFNjaGVtYUF0dHJpYnV0ZUdyb3VwIj54bWxTY2hlbWFBdHRyaWJ1dGVHcm91cDwvYT47Cit0eXBlZGVmIDxhIGhyZWY9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVR5cGVMaW5rIj54bWxTY2hlbWFUeXBlTGluazwvYT4gKiA8YSBocmVmPSIjeG1sU2NoZW1hVHlwZUxpbmtQdHIiPnhtbFNjaGVtYVR5cGVMaW5rUHRyPC9hPjsKK3R5cGVkZWYgc3RydWN0IF94bWxTY2hlbWFXaWxkY2FyZE5zIDxhIGhyZWY9IiN4bWxTY2hlbWFXaWxkY2FyZE5zIj54bWxTY2hlbWFXaWxkY2FyZE5zPC9hPjsKK3R5cGVkZWYgPGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hQXR0cmlidXRlIj54bWxTY2hlbWFBdHRyaWJ1dGU8L2E+ICogPGEgaHJlZj0iI3htbFNjaGVtYUF0dHJpYnV0ZVB0ciI+eG1sU2NoZW1hQXR0cmlidXRlUHRyPC9hPjsKK3R5cGVkZWYgPGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hTm90YXRpb24iPnhtbFNjaGVtYU5vdGF0aW9uPC9hPiAqIDxhIGhyZWY9IiN4bWxTY2hlbWFOb3RhdGlvblB0ciI+eG1sU2NoZW1hTm90YXRpb25QdHI8L2E+OwordHlwZWRlZiBlbnVtIDxhIGhyZWY9IiN4bWxTY2hlbWFWYWxUeXBlIj54bWxTY2hlbWFWYWxUeXBlPC9hPjsKK3R5cGVkZWYgPGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVHlwZSI+eG1sU2NoZW1hVHlwZTwvYT4gKiA8YSBocmVmPSIjeG1sU2NoZW1hVHlwZVB0ciI+eG1sU2NoZW1hVHlwZVB0cjwvYT47Cit0eXBlZGVmIHN0cnVjdCBfeG1sU2NoZW1hTm90YXRpb24gPGEgaHJlZj0iI3htbFNjaGVtYU5vdGF0aW9uIj54bWxTY2hlbWFOb3RhdGlvbjwvYT47Cit0eXBlZGVmIHN0cnVjdCBfeG1sU2NoZW1hRmFjZXQgPGEgaHJlZj0iI3htbFNjaGVtYUZhY2V0Ij54bWxTY2hlbWFGYWNldDwvYT47Cit0eXBlZGVmIGVudW0gPGEgaHJlZj0iI3htbFNjaGVtYUNvbnRlbnRUeXBlIj54bWxTY2hlbWFDb250ZW50VHlwZTwvYT47Cit0eXBlZGVmIGVudW0gPGEgaHJlZj0iI3htbFNjaGVtYVR5cGVUeXBlIj54bWxTY2hlbWFUeXBlVHlwZTwvYT47Cit0eXBlZGVmIHN0cnVjdCBfeG1sU2NoZW1hQXR0cmlidXRlIDxhIGhyZWY9IiN4bWxTY2hlbWFBdHRyaWJ1dGUiPnhtbFNjaGVtYUF0dHJpYnV0ZTwvYT47Cit2b2lkCTxhIGhyZWY9IiN4bWxTY2hlbWFGcmVlVHlwZSI+eG1sU2NoZW1hRnJlZVR5cGU8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVHlwZVB0ciI+eG1sU2NoZW1hVHlwZVB0cjwvYT4gdHlwZSk7Cit2b2lkCTxhIGhyZWY9IiN4bWxTY2hlbWFGcmVlV2lsZGNhcmQiPnhtbFNjaGVtYUZyZWVXaWxkY2FyZDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFXaWxkY2FyZFB0ciI+eG1sU2NoZW1hV2lsZGNhcmRQdHI8L2E+IHdpbGRjYXJkKTsKKzwvcHJlPgorICAgIDwvZGl2PgorICAgIDxkaXYgY2xhc3M9InJlZnNlY3QxIiBsYW5nPSJlbiI+CisgICAgICA8aDI+RGVzY3JpcHRpb248L2gyPgorICAgIDwvZGl2PgorICAgIDxkaXYgY2xhc3M9InJlZnNlY3QxIiBsYW5nPSJlbiI+CisgICAgICA8aDI+RGV0YWlsczwvaDI+CisgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJYTUxfU0NIRU1BU19BTllBVFRSX0xBWCI+TWFjcm8gPC9hPlhNTF9TQ0hFTUFTX0FOWUFUVFJfTEFYPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfQU5ZQVRUUl9MQVgiPlhNTF9TQ0hFTUFTX0FOWUFUVFJfTEFYPC9hPjsKKzwvcHJlPjxwPklnbm9yZSB2YWxpZGF0aW9uIG5vbiBkZWZpbml0aW9uIG9uIGF0dHJpYnV0ZXMgT2Jzb2xldGUsIG5vdCB1c2VkIGFueW1vcmUuPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IlhNTF9TQ0hFTUFTX0FOWUFUVFJfU0tJUCI+TWFjcm8gPC9hPlhNTF9TQ0hFTUFTX0FOWUFUVFJfU0tJUDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX0FOWUFUVFJfU0tJUCI+WE1MX1NDSEVNQVNfQU5ZQVRUUl9TS0lQPC9hPjsKKzwvcHJlPjxwPlNraXAgdW5rbm93biA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBmcm9tIHZhbGlkYXRpb24gT2Jzb2xldGUsIG5vdCB1c2VkIGFueW1vcmUuPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IlhNTF9TQ0hFTUFTX0FOWUFUVFJfU1RSSUNUIj5NYWNybyA8L2E+WE1MX1NDSEVNQVNfQU5ZQVRUUl9TVFJJQ1Q8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19BTllBVFRSX1NUUklDVCI+WE1MX1NDSEVNQVNfQU5ZQVRUUl9TVFJJQ1Q8L2E+OworPC9wcmU+PHA+QXBwbHkgc3RyaWN0IHZhbGlkYXRpb24gcnVsZXMgb24gYXR0cmlidXRlcyBPYnNvbGV0ZSwgbm90IHVzZWQgYW55bW9yZS48L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iWE1MX1NDSEVNQVNfQU5ZX0xBWCI+TWFjcm8gPC9hPlhNTF9TQ0hFTUFTX0FOWV9MQVg8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19BTllfTEFYIj5YTUxfU0NIRU1BU19BTllfTEFYPC9hPjsKKzwvcHJlPjxwPlVzZWQgYnkgd2lsZGNhcmRzLiBWYWxpZGF0ZSBpZiB0eXBlIGZvdW5kLCBkb24ndCB3b3JyeSBpZiBub3QgZm91bmQ8L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iWE1MX1NDSEVNQVNfQU5ZX1NLSVAiPk1hY3JvIDwvYT5YTUxfU0NIRU1BU19BTllfU0tJUDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX0FOWV9TS0lQIj5YTUxfU0NIRU1BU19BTllfU0tJUDwvYT47Cis8L3ByZT48cD5Ta2lwIHVua25vd24gPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gZnJvbSB2YWxpZGF0aW9uPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IlhNTF9TQ0hFTUFTX0FOWV9TVFJJQ1QiPk1hY3JvIDwvYT5YTUxfU0NIRU1BU19BTllfU1RSSUNUPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfQU5ZX1NUUklDVCI+WE1MX1NDSEVNQVNfQU5ZX1NUUklDVDwvYT47Cis8L3ByZT48cD5Vc2VkIGJ5IHdpbGRjYXJkcy4gQXBwbHkgc3RyaWN0IHZhbGlkYXRpb24gcnVsZXM8L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iWE1MX1NDSEVNQVNfQVRUUkdST1VQX0dMT0JBTCI+TWFjcm8gPC9hPlhNTF9TQ0hFTUFTX0FUVFJHUk9VUF9HTE9CQUw8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19BVFRSR1JPVVBfR0xPQkFMIj5YTUxfU0NIRU1BU19BVFRSR1JPVVBfR0xPQkFMPC9hPjsKKzwvcHJlPjxwPlRoZSA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiB3aWxkY2FyZCBoYXMgYmVlbiBhbHJlYWR5IGJ1aWxkZWQuPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IlhNTF9TQ0hFTUFTX0FUVFJHUk9VUF9IQVNfUkVGUyI+TWFjcm8gPC9hPlhNTF9TQ0hFTUFTX0FUVFJHUk9VUF9IQVNfUkVGUzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX0FUVFJHUk9VUF9IQVNfUkVGUyI+WE1MX1NDSEVNQVNfQVRUUkdST1VQX0hBU19SRUZTPC9hPjsKKzwvcHJlPjxwPldoZXRoZXIgdGhpcyBhdHRyLiBncm91cCBjb250YWlucyBhdHRyLiBncm91cCByZWZlcmVuY2VzLjwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJYTUxfU0NIRU1BU19BVFRSR1JPVVBfTUFSS0VEIj5NYWNybyA8L2E+WE1MX1NDSEVNQVNfQVRUUkdST1VQX01BUktFRDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX0FUVFJHUk9VUF9NQVJLRUQiPlhNTF9TQ0hFTUFTX0FUVFJHUk9VUF9NQVJLRUQ8L2E+OworPC9wcmU+PHA+TWFya3MgdGhlIGF0dHIgZ3JvdXAgYXMgbWFya2VkOyB1c2VkIGZvciBjaXJjdWxhciBjaGVja3MuPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IlhNTF9TQ0hFTUFTX0FUVFJHUk9VUF9SRURFRklORUQiPk1hY3JvIDwvYT5YTUxfU0NIRU1BU19BVFRSR1JPVVBfUkVERUZJTkVEPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfQVRUUkdST1VQX1JFREVGSU5FRCI+WE1MX1NDSEVNQVNfQVRUUkdST1VQX1JFREVGSU5FRDwvYT47Cis8L3ByZT48cD5UaGUgYXR0ciBncm91cCB3YXMgcmVkZWZpbmVkLjwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJYTUxfU0NIRU1BU19BVFRSR1JPVVBfV0lMRENBUkRfQlVJTERFRCI+TWFjcm8gPC9hPlhNTF9TQ0hFTUFTX0FUVFJHUk9VUF9XSUxEQ0FSRF9CVUlMREVEPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfQVRUUkdST1VQX1dJTERDQVJEX0JVSUxERUQiPlhNTF9TQ0hFTUFTX0FUVFJHUk9VUF9XSUxEQ0FSRF9CVUlMREVEPC9hPjsKKzwvcHJlPjxwPlRoZSA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiB3aWxkY2FyZCBoYXMgYmVlbiBhbHJlYWR5IGJ1aWxkZWQuPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IlhNTF9TQ0hFTUFTX0FUVFJfRklYRUQiPk1hY3JvIDwvYT5YTUxfU0NIRU1BU19BVFRSX0ZJWEVEPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfQVRUUl9GSVhFRCI+WE1MX1NDSEVNQVNfQVRUUl9GSVhFRDwvYT47Cis8L3ByZT48cD50aGUgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gaGFzIGEgZml4ZWQgdmFsdWU8L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iWE1MX1NDSEVNQVNfQVRUUl9HTE9CQUwiPk1hY3JvIDwvYT5YTUxfU0NIRU1BU19BVFRSX0dMT0JBTDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX0FUVFJfR0xPQkFMIj5YTUxfU0NIRU1BU19BVFRSX0dMT0JBTDwvYT47Cis8L3ByZT48cD5hbGxvdyBlbGVtZW50cyBpbiBubyBuYW1lc3BhY2U8L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iWE1MX1NDSEVNQVNfQVRUUl9JTlRFUk5BTF9SRVNPTFZFRCI+TWFjcm8gPC9hPlhNTF9TQ0hFTUFTX0FUVFJfSU5URVJOQUxfUkVTT0xWRUQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19BVFRSX0lOVEVSTkFMX1JFU09MVkVEIj5YTUxfU0NIRU1BU19BVFRSX0lOVEVSTkFMX1JFU09MVkVEPC9hPjsKKzwvcHJlPjxwPnRoaXMgaXMgc2V0IHdoZW4gdGhlICJ0eXBlIiBhbmQgInJlZiIgcmVmZXJlbmNlcyBoYXZlIGJlZW4gcmVzb2x2ZWQuPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IlhNTF9TQ0hFTUFTX0FUVFJfTlNERUZBVUxUIj5NYWNybyA8L2E+WE1MX1NDSEVNQVNfQVRUUl9OU0RFRkFVTFQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19BVFRSX05TREVGQVVMVCI+WE1MX1NDSEVNQVNfQVRUUl9OU0RFRkFVTFQ8L2E+OworPC9wcmU+PHA+YWxsb3cgZWxlbWVudHMgaW4gbm8gbmFtZXNwYWNlPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IlhNTF9TQ0hFTUFTX0FUVFJfVVNFX09QVElPTkFMIj5NYWNybyA8L2E+WE1MX1NDSEVNQVNfQVRUUl9VU0VfT1BUSU9OQUw8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19BVFRSX1VTRV9PUFRJT05BTCI+WE1MX1NDSEVNQVNfQVRUUl9VU0VfT1BUSU9OQUw8L2E+OworPC9wcmU+PHA+VGhlIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IGlzIG9wdGlvbmFsLjwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJYTUxfU0NIRU1BU19BVFRSX1VTRV9QUk9ISUJJVEVEIj5NYWNybyA8L2E+WE1MX1NDSEVNQVNfQVRUUl9VU0VfUFJPSElCSVRFRDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX0FUVFJfVVNFX1BST0hJQklURUQiPlhNTF9TQ0hFTUFTX0FUVFJfVVNFX1BST0hJQklURUQ8L2E+OworPC9wcmU+PHA+VXNlZCBieSB3aWxkY2FyZHMuIFRoZSA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBpcyBwcm9oaWJpdGVkLjwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJYTUxfU0NIRU1BU19BVFRSX1VTRV9SRVFVSVJFRCI+TWFjcm8gPC9hPlhNTF9TQ0hFTUFTX0FUVFJfVVNFX1JFUVVJUkVEPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfQVRUUl9VU0VfUkVRVUlSRUQiPlhNTF9TQ0hFTUFTX0FUVFJfVVNFX1JFUVVJUkVEPC9hPjsKKzwvcHJlPjxwPlRoZSA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBpcyByZXF1aXJlZC48L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iWE1MX1NDSEVNQVNfQkxPQ0tfREVGQVVMVF9FWFRFTlNJT04iPk1hY3JvIDwvYT5YTUxfU0NIRU1BU19CTE9DS19ERUZBVUxUX0VYVEVOU0lPTjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX0JMT0NLX0RFRkFVTFRfRVhURU5TSU9OIj5YTUxfU0NIRU1BU19CTE9DS19ERUZBVUxUX0VYVEVOU0lPTjwvYT47Cis8L3ByZT48cD50aGUgc2NoZW1hIGhhcyAiZXh0ZW5zaW9uIiBpbiB0aGUgc2V0IG9mIGJsb2NrRGVmYXVsdC48L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iWE1MX1NDSEVNQVNfQkxPQ0tfREVGQVVMVF9SRVNUUklDVElPTiI+TWFjcm8gPC9hPlhNTF9TQ0hFTUFTX0JMT0NLX0RFRkFVTFRfUkVTVFJJQ1RJT048L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19CTE9DS19ERUZBVUxUX1JFU1RSSUNUSU9OIj5YTUxfU0NIRU1BU19CTE9DS19ERUZBVUxUX1JFU1RSSUNUSU9OPC9hPjsKKzwvcHJlPjxwPnRoZSBzY2hlbWEgaGFzICJyZXN0cmljdGlvbiIgaW4gdGhlIHNldCBvZiBibG9ja0RlZmF1bHQuPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IlhNTF9TQ0hFTUFTX0JMT0NLX0RFRkFVTFRfU1VCU1RJVFVUSU9OIj5NYWNybyA8L2E+WE1MX1NDSEVNQVNfQkxPQ0tfREVGQVVMVF9TVUJTVElUVVRJT048L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19CTE9DS19ERUZBVUxUX1NVQlNUSVRVVElPTiI+WE1MX1NDSEVNQVNfQkxPQ0tfREVGQVVMVF9TVUJTVElUVVRJT048L2E+OworPC9wcmU+PHA+dGhlIHNjaGVtYSBoYXMgInN1YnN0aXR1dGlvbiIgaW4gdGhlIHNldCBvZiBibG9ja0RlZmF1bHQuPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IlhNTF9TQ0hFTUFTX0VMRU1fQUJTVFJBQ1QiPk1hY3JvIDwvYT5YTUxfU0NIRU1BU19FTEVNX0FCU1RSQUNUPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfRUxFTV9BQlNUUkFDVCI+WE1MX1NDSEVNQVNfRUxFTV9BQlNUUkFDVDwvYT47Cis8L3ByZT48cD50aGUgZWxlbWVudCBpcyBhYnN0cmFjdDwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJYTUxfU0NIRU1BU19FTEVNX0JMT0NLX0FCU0VOVCI+TWFjcm8gPC9hPlhNTF9TQ0hFTUFTX0VMRU1fQkxPQ0tfQUJTRU5UPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfRUxFTV9CTE9DS19BQlNFTlQiPlhNTF9TQ0hFTUFTX0VMRU1fQkxPQ0tfQUJTRU5UPC9hPjsKKzwvcHJlPjxwPnRoZSAiYmxvY2siIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IGlzIGFic2VudDwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJYTUxfU0NIRU1BU19FTEVNX0JMT0NLX0VYVEVOU0lPTiI+TWFjcm8gPC9hPlhNTF9TQ0hFTUFTX0VMRU1fQkxPQ0tfRVhURU5TSU9OPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfRUxFTV9CTE9DS19FWFRFTlNJT04iPlhNTF9TQ0hFTUFTX0VMRU1fQkxPQ0tfRVhURU5TSU9OPC9hPjsKKzwvcHJlPjxwPmRpc2FsbG93ZWQgc3Vic3RpdHV0aW9ucyBhcmUgYWJzZW50PC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IlhNTF9TQ0hFTUFTX0VMRU1fQkxPQ0tfUkVTVFJJQ1RJT04iPk1hY3JvIDwvYT5YTUxfU0NIRU1BU19FTEVNX0JMT0NLX1JFU1RSSUNUSU9OPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfRUxFTV9CTE9DS19SRVNUUklDVElPTiI+WE1MX1NDSEVNQVNfRUxFTV9CTE9DS19SRVNUUklDVElPTjwvYT47Cis8L3ByZT48cD5kaXNhbGxvd2VkIHN1YnN0aXR1dGlvbnM6ICJyZXN0cmljdGlvbiI8L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iWE1MX1NDSEVNQVNfRUxFTV9CTE9DS19TVUJTVElUVVRJT04iPk1hY3JvIDwvYT5YTUxfU0NIRU1BU19FTEVNX0JMT0NLX1NVQlNUSVRVVElPTjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX0VMRU1fQkxPQ0tfU1VCU1RJVFVUSU9OIj5YTUxfU0NIRU1BU19FTEVNX0JMT0NLX1NVQlNUSVRVVElPTjwvYT47Cis8L3ByZT48cD5kaXNhbGxvd2VkIHN1YnN0aXR1dGlvbnM6ICJzdWJzdGl0dWlvbiI8L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iWE1MX1NDSEVNQVNfRUxFTV9DSVJDVUxBUiI+TWFjcm8gPC9hPlhNTF9TQ0hFTUFTX0VMRU1fQ0lSQ1VMQVI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19FTEVNX0NJUkNVTEFSIj5YTUxfU0NIRU1BU19FTEVNX0NJUkNVTEFSPC9hPjsKKzwvcHJlPjxwPmEgaGVscGVyIGZsYWcgZm9yIHRoZSBzZWFyY2ggb2YgY2lyY3VsYXIgcmVmZXJlbmNlcy48L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iWE1MX1NDSEVNQVNfRUxFTV9ERUZBVUxUIj5NYWNybyA8L2E+WE1MX1NDSEVNQVNfRUxFTV9ERUZBVUxUPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfRUxFTV9ERUZBVUxUIj5YTUxfU0NIRU1BU19FTEVNX0RFRkFVTFQ8L2E+OworPC9wcmU+PHA+dGhlIGVsZW1lbnQgaGFzIGEgZGVmYXVsdCB2YWx1ZTwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJYTUxfU0NIRU1BU19FTEVNX0ZJTkFMX0FCU0VOVCI+TWFjcm8gPC9hPlhNTF9TQ0hFTUFTX0VMRU1fRklOQUxfQUJTRU5UPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfRUxFTV9GSU5BTF9BQlNFTlQiPlhNTF9TQ0hFTUFTX0VMRU1fRklOQUxfQUJTRU5UPC9hPjsKKzwvcHJlPjxwPnN1YnN0aXR1dGlvbiBncm91cCBleGNsdXNpb25zIGFyZSBhYnNlbnQ8L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iWE1MX1NDSEVNQVNfRUxFTV9GSU5BTF9FWFRFTlNJT04iPk1hY3JvIDwvYT5YTUxfU0NIRU1BU19FTEVNX0ZJTkFMX0VYVEVOU0lPTjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX0VMRU1fRklOQUxfRVhURU5TSU9OIj5YTUxfU0NIRU1BU19FTEVNX0ZJTkFMX0VYVEVOU0lPTjwvYT47Cis8L3ByZT48cD5zdWJzdGl0dXRpb24gZ3JvdXAgZXhjbHVzaW9uczogImV4dGVuc2lvbiI8L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iWE1MX1NDSEVNQVNfRUxFTV9GSU5BTF9SRVNUUklDVElPTiI+TWFjcm8gPC9hPlhNTF9TQ0hFTUFTX0VMRU1fRklOQUxfUkVTVFJJQ1RJT048L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19FTEVNX0ZJTkFMX1JFU1RSSUNUSU9OIj5YTUxfU0NIRU1BU19FTEVNX0ZJTkFMX1JFU1RSSUNUSU9OPC9hPjsKKzwvcHJlPjxwPnN1YnN0aXR1dGlvbiBncm91cCBleGNsdXNpb25zOiAicmVzdHJpY3Rpb24iPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IlhNTF9TQ0hFTUFTX0VMRU1fRklYRUQiPk1hY3JvIDwvYT5YTUxfU0NIRU1BU19FTEVNX0ZJWEVEPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfRUxFTV9GSVhFRCI+WE1MX1NDSEVNQVNfRUxFTV9GSVhFRDwvYT47Cis8L3ByZT48cD50aGUgZWxlbWVudCBoYXMgYSBmaXhlZCB2YWx1ZTwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJYTUxfU0NIRU1BU19FTEVNX0dMT0JBTCI+TWFjcm8gPC9hPlhNTF9TQ0hFTUFTX0VMRU1fR0xPQkFMPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfRUxFTV9HTE9CQUwiPlhNTF9TQ0hFTUFTX0VMRU1fR0xPQkFMPC9hPjsKKzwvcHJlPjxwPnRoZSBlbGVtZW50IGlzIGdsb2JhbDwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJYTUxfU0NIRU1BU19FTEVNX0lOVEVSTkFMX0NIRUNLRUQiPk1hY3JvIDwvYT5YTUxfU0NIRU1BU19FTEVNX0lOVEVSTkFMX0NIRUNLRUQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19FTEVNX0lOVEVSTkFMX0NIRUNLRUQiPlhNTF9TQ0hFTUFTX0VMRU1fSU5URVJOQUxfQ0hFQ0tFRDwvYT47Cis8L3ByZT48cD50aGlzIGlzIHNldCB3aGVuIHRoZSBlbGVtIGRlY2wgaGFzIGJlZW4gY2hlY2tlZCBhZ2FpbnN0IGFsbCBjb25zdHJhaW50czwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJYTUxfU0NIRU1BU19FTEVNX0lOVEVSTkFMX1JFU09MVkVEIj5NYWNybyA8L2E+WE1MX1NDSEVNQVNfRUxFTV9JTlRFUk5BTF9SRVNPTFZFRDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX0VMRU1fSU5URVJOQUxfUkVTT0xWRUQiPlhNTF9TQ0hFTUFTX0VMRU1fSU5URVJOQUxfUkVTT0xWRUQ8L2E+OworPC9wcmU+PHA+dGhpcyBpcyBzZXQgd2hlbiAidHlwZSIsICJyZWYiLCAic3Vic3RpdHV0aW9uR3JvdXAiIHJlZmVyZW5jZXMgaGF2ZSBiZWVuIHJlc29sdmVkLjwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJYTUxfU0NIRU1BU19FTEVNX05JTExBQkxFIj5NYWNybyA8L2E+WE1MX1NDSEVNQVNfRUxFTV9OSUxMQUJMRTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX0VMRU1fTklMTEFCTEUiPlhNTF9TQ0hFTUFTX0VMRU1fTklMTEFCTEU8L2E+OworPC9wcmU+PHA+dGhlIGVsZW1lbnQgaXMgbmlsbGFibGU8L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iWE1MX1NDSEVNQVNfRUxFTV9OU0RFRkFVTFQiPk1hY3JvIDwvYT5YTUxfU0NIRU1BU19FTEVNX05TREVGQVVMVDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX0VMRU1fTlNERUZBVUxUIj5YTUxfU0NIRU1BU19FTEVNX05TREVGQVVMVDwvYT47Cis8L3ByZT48cD5hbGxvdyBlbGVtZW50cyBpbiBubyBuYW1lc3BhY2UgT2Jzb2xldGUsIG5vdCB1c2VkIGFueW1vcmUuPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IlhNTF9TQ0hFTUFTX0VMRU1fUkVGIj5NYWNybyA8L2E+WE1MX1NDSEVNQVNfRUxFTV9SRUY8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19FTEVNX1JFRiI+WE1MX1NDSEVNQVNfRUxFTV9SRUY8L2E+OworPC9wcmU+PHA+dGhlIGVsZW1lbnQgaXMgYSA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI3JlZmVyZW5jZSI+cmVmZXJlbmNlPC9hPiB0byBhIHR5cGU8L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iWE1MX1NDSEVNQVNfRUxFTV9TVUJTVF9HUk9VUF9IRUFEIj5NYWNybyA8L2E+WE1MX1NDSEVNQVNfRUxFTV9TVUJTVF9HUk9VUF9IRUFEPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfRUxFTV9TVUJTVF9HUk9VUF9IRUFEIj5YTUxfU0NIRU1BU19FTEVNX1NVQlNUX0dST1VQX0hFQUQ8L2E+OworPC9wcmU+PHA+dGhlIGRlY2xhcmF0aW9uIGlzIGEgc3Vic3RpdHV0aW9uIGdyb3VwIGhlYWQ8L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iWE1MX1NDSEVNQVNfRUxFTV9UT1BMRVZFTCI+TWFjcm8gPC9hPlhNTF9TQ0hFTUFTX0VMRU1fVE9QTEVWRUw8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19FTEVNX1RPUExFVkVMIj5YTUxfU0NIRU1BU19FTEVNX1RPUExFVkVMPC9hPjsKKzwvcHJlPjxwPnRoZSBlbGVtZW50IGlzIHRvcCBsZXZlbCBvYnNvbGV0ZTogdXNlIDxhIGhyZWY9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0VMRU1fR0xPQkFMIj5YTUxfU0NIRU1BU19FTEVNX0dMT0JBTDwvYT4gaW5zdGVhZDwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJYTUxfU0NIRU1BU19GQUNFVF9DT0xMQVBTRSI+TWFjcm8gPC9hPlhNTF9TQ0hFTUFTX0ZBQ0VUX0NPTExBUFNFPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfRkFDRVRfQ09MTEFQU0UiPlhNTF9TQ0hFTUFTX0ZBQ0VUX0NPTExBUFNFPC9hPjsKKzwvcHJlPjxwPmNvbGxhcHNlIHRoZSB0eXBlcyBvZiB0aGUgZmFjZXQ8L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iWE1MX1NDSEVNQVNfRkFDRVRfUFJFU0VSVkUiPk1hY3JvIDwvYT5YTUxfU0NIRU1BU19GQUNFVF9QUkVTRVJWRTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX0ZBQ0VUX1BSRVNFUlZFIj5YTUxfU0NIRU1BU19GQUNFVF9QUkVTRVJWRTwvYT47Cis8L3ByZT48cD5wcmVzZXJ2ZSB0aGUgdHlwZSBvZiB0aGUgZmFjZXQ8L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iWE1MX1NDSEVNQVNfRkFDRVRfUkVQTEFDRSI+TWFjcm8gPC9hPlhNTF9TQ0hFTUFTX0ZBQ0VUX1JFUExBQ0U8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19GQUNFVF9SRVBMQUNFIj5YTUxfU0NIRU1BU19GQUNFVF9SRVBMQUNFPC9hPjsKKzwvcHJlPjxwPnJlcGxhY2UgdGhlIHR5cGUgb2YgdGhlIGZhY2V0PC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IlhNTF9TQ0hFTUFTX0ZBQ0VUX1VOS05PV04iPk1hY3JvIDwvYT5YTUxfU0NIRU1BU19GQUNFVF9VTktOT1dOPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfRkFDRVRfVU5LTk9XTiI+WE1MX1NDSEVNQVNfRkFDRVRfVU5LTk9XTjwvYT47Cis8L3ByZT48cD51bmtub3duIGZhY2V0IGhhbmRsaW5nPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IlhNTF9TQ0hFTUFTX0ZJTkFMX0RFRkFVTFRfRVhURU5TSU9OIj5NYWNybyA8L2E+WE1MX1NDSEVNQVNfRklOQUxfREVGQVVMVF9FWFRFTlNJT048L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19GSU5BTF9ERUZBVUxUX0VYVEVOU0lPTiI+WE1MX1NDSEVNQVNfRklOQUxfREVGQVVMVF9FWFRFTlNJT048L2E+OworPC9wcmU+PHA+dGhlIHNjaGVtYSBoYXMgImV4dGVuc2lvbiIgaW4gdGhlIHNldCBvZiBmaW5hbERlZmF1bHQuPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IlhNTF9TQ0hFTUFTX0ZJTkFMX0RFRkFVTFRfTElTVCI+TWFjcm8gPC9hPlhNTF9TQ0hFTUFTX0ZJTkFMX0RFRkFVTFRfTElTVDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX0ZJTkFMX0RFRkFVTFRfTElTVCI+WE1MX1NDSEVNQVNfRklOQUxfREVGQVVMVF9MSVNUPC9hPjsKKzwvcHJlPjxwPnRoZSBjc2hlbWEgaGFzICJsaXN0IiBpbiB0aGUgc2V0IG9mIGZpbmFsRGVmYXVsdC48L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iWE1MX1NDSEVNQVNfRklOQUxfREVGQVVMVF9SRVNUUklDVElPTiI+TWFjcm8gPC9hPlhNTF9TQ0hFTUFTX0ZJTkFMX0RFRkFVTFRfUkVTVFJJQ1RJT048L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19GSU5BTF9ERUZBVUxUX1JFU1RSSUNUSU9OIj5YTUxfU0NIRU1BU19GSU5BTF9ERUZBVUxUX1JFU1RSSUNUSU9OPC9hPjsKKzwvcHJlPjxwPnRoZSBzY2hlbWEgaGFzICJyZXN0cmljdGlvbiIgaW4gdGhlIHNldCBvZiBmaW5hbERlZmF1bHQuPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IlhNTF9TQ0hFTUFTX0ZJTkFMX0RFRkFVTFRfVU5JT04iPk1hY3JvIDwvYT5YTUxfU0NIRU1BU19GSU5BTF9ERUZBVUxUX1VOSU9OPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfRklOQUxfREVGQVVMVF9VTklPTiI+WE1MX1NDSEVNQVNfRklOQUxfREVGQVVMVF9VTklPTjwvYT47Cis8L3ByZT48cD50aGUgc2NoZW1hIGhhcyAidW5pb24iIGluIHRoZSBzZXQgb2YgZmluYWxEZWZhdWx0LjwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJYTUxfU0NIRU1BU19JTkNMVURJTkdfQ09OVkVSVF9OUyI+TWFjcm8gPC9hPlhNTF9TQ0hFTUFTX0lOQ0xVRElOR19DT05WRVJUX05TPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfSU5DTFVESU5HX0NPTlZFUlRfTlMiPlhNTF9TQ0hFTUFTX0lOQ0xVRElOR19DT05WRVJUX05TPC9hPjsKKzwvcHJlPjxwPnRoZSBzY2hlbWEgaXMgY3VycmVudGx5IGluY2x1ZGluZyBhbiBvdGhlciBzY2hlbWEgd2l0aCBubyB0YXJnZXQgbmFtZXNwYWNlLjwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJYTUxfU0NIRU1BU19RVUFMSUZfQVRUUiI+TWFjcm8gPC9hPlhNTF9TQ0hFTUFTX1FVQUxJRl9BVFRSPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfUVVBTElGX0FUVFIiPlhNTF9TQ0hFTUFTX1FVQUxJRl9BVFRSPC9hPjsKKzwvcHJlPjxwPlJlZmxlY3RzIGF0dHJpYnV0ZUZvcm1EZWZhdWx0ID09IHF1YWxpZmllZCBpbiBhbiBYTUwgc2NoZW1hIGRvY3VtZW50LjwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJYTUxfU0NIRU1BU19RVUFMSUZfRUxFTSI+TWFjcm8gPC9hPlhNTF9TQ0hFTUFTX1FVQUxJRl9FTEVNPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfUVVBTElGX0VMRU0iPlhNTF9TQ0hFTUFTX1FVQUxJRl9FTEVNPC9hPjsKKzwvcHJlPjxwPlJlZmxlY3RzIGVsZW1lbnRGb3JtRGVmYXVsdCA9PSBxdWFsaWZpZWQgaW4gYW4gWE1MIHNjaGVtYSBkb2N1bWVudC48L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iWE1MX1NDSEVNQVNfVFlQRV9BQlNUUkFDVCI+TWFjcm8gPC9hPlhNTF9TQ0hFTUFTX1RZUEVfQUJTVFJBQ1Q8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19UWVBFX0FCU1RSQUNUIj5YTUxfU0NIRU1BU19UWVBFX0FCU1RSQUNUPC9hPjsKKzwvcHJlPjxwPnRoZSBzaW1wbGUvY29tcGxleFR5cGUgaXMgYWJzdHJhY3QuPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IlhNTF9TQ0hFTUFTX1RZUEVfQkxPQ0tfREVGQVVMVCI+TWFjcm8gPC9hPlhNTF9TQ0hFTUFTX1RZUEVfQkxPQ0tfREVGQVVMVDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX1RZUEVfQkxPQ0tfREVGQVVMVCI+WE1MX1NDSEVNQVNfVFlQRV9CTE9DS19ERUZBVUxUPC9hPjsKKzwvcHJlPjxwPnRoZSBjb21wbGV4VHlwZSBkaWQgbm90IHNwZWNpZnkgJ2Jsb2NrJyBzbyB1c2UgdGhlIGRlZmF1bHQgb2YgdGhlICZsdDtzY2hlbWEmZ3Q7IGl0ZW0uPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IlhNTF9TQ0hFTUFTX1RZUEVfQkxPQ0tfRVhURU5TSU9OIj5NYWNybyA8L2E+WE1MX1NDSEVNQVNfVFlQRV9CTE9DS19FWFRFTlNJT048L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19UWVBFX0JMT0NLX0VYVEVOU0lPTiI+WE1MX1NDSEVNQVNfVFlQRV9CTE9DS19FWFRFTlNJT048L2E+OworPC9wcmU+PHA+dGhlIGNvbXBsZXhUeXBlIGhhcyBhICdibG9jaycgb2YgImV4dGVuc2lvbiIuPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IlhNTF9TQ0hFTUFTX1RZUEVfQkxPQ0tfUkVTVFJJQ1RJT04iPk1hY3JvIDwvYT5YTUxfU0NIRU1BU19UWVBFX0JMT0NLX1JFU1RSSUNUSU9OPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfVFlQRV9CTE9DS19SRVNUUklDVElPTiI+WE1MX1NDSEVNQVNfVFlQRV9CTE9DS19SRVNUUklDVElPTjwvYT47Cis8L3ByZT48cD50aGUgY29tcGxleFR5cGUgaGFzIGEgJ2Jsb2NrJyBvZiAicmVzdHJpY3Rpb24iLjwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJYTUxfU0NIRU1BU19UWVBFX0JVSUxUSU5fUFJJTUlUSVZFIj5NYWNybyA8L2E+WE1MX1NDSEVNQVNfVFlQRV9CVUlMVElOX1BSSU1JVElWRTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX1RZUEVfQlVJTFRJTl9QUklNSVRJVkUiPlhNTF9TQ0hFTUFTX1RZUEVfQlVJTFRJTl9QUklNSVRJVkU8L2E+OworPC9wcmU+PHA+TWFya3MgdGhlIGl0ZW0gYXMgYSBidWlsdGluIHByaW1pdGl2ZS48L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iWE1MX1NDSEVNQVNfVFlQRV9ERVJJVkFUSU9OX01FVEhPRF9FWFRFTlNJT04iPk1hY3JvIDwvYT5YTUxfU0NIRU1BU19UWVBFX0RFUklWQVRJT05fTUVUSE9EX0VYVEVOU0lPTjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX1RZUEVfREVSSVZBVElPTl9NRVRIT0RfRVhURU5TSU9OIj5YTUxfU0NIRU1BU19UWVBFX0RFUklWQVRJT05fTUVUSE9EX0VYVEVOU0lPTjwvYT47Cis8L3ByZT48cD50aGUgc2ltcGxlIG9yIGNvbXBsZXggdHlwZSBoYXMgYSBkZXJpdmF0aW9uIG1ldGhvZCBvZiAiZXh0ZW5zaW9uIi48L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iWE1MX1NDSEVNQVNfVFlQRV9ERVJJVkFUSU9OX01FVEhPRF9SRVNUUklDVElPTiI+TWFjcm8gPC9hPlhNTF9TQ0hFTUFTX1RZUEVfREVSSVZBVElPTl9NRVRIT0RfUkVTVFJJQ1RJT048L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19UWVBFX0RFUklWQVRJT05fTUVUSE9EX1JFU1RSSUNUSU9OIj5YTUxfU0NIRU1BU19UWVBFX0RFUklWQVRJT05fTUVUSE9EX1JFU1RSSUNUSU9OPC9hPjsKKzwvcHJlPjxwPnRoZSBzaW1wbGUgb3IgY29tcGxleCB0eXBlIGhhcyBhIGRlcml2YXRpb24gbWV0aG9kIG9mICJyZXN0cmljdGlvbiIuPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IlhNTF9TQ0hFTUFTX1RZUEVfRkFDRVRTTkVFRFZBTFVFIj5NYWNybyA8L2E+WE1MX1NDSEVNQVNfVFlQRV9GQUNFVFNORUVEVkFMVUU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19UWVBFX0ZBQ0VUU05FRURWQUxVRSI+WE1MX1NDSEVNQVNfVFlQRV9GQUNFVFNORUVEVkFMVUU8L2E+OworPC9wcmU+PHA+aW5kaWNhdGVzIGlmIHRoZSBmYWNldHMgbmVlZCBhIGNvbXB1dGVkIHZhbHVlPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IlhNTF9TQ0hFTUFTX1RZUEVfRklOQUxfREVGQVVMVCI+TWFjcm8gPC9hPlhNTF9TQ0hFTUFTX1RZUEVfRklOQUxfREVGQVVMVDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX1RZUEVfRklOQUxfREVGQVVMVCI+WE1MX1NDSEVNQVNfVFlQRV9GSU5BTF9ERUZBVUxUPC9hPjsKKzwvcHJlPjxwPnRoZSBzaW1wbGVUeXBlIGhhcyBhIGZpbmFsIG9mICJkZWZhdWx0Ii48L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iWE1MX1NDSEVNQVNfVFlQRV9GSU5BTF9FWFRFTlNJT04iPk1hY3JvIDwvYT5YTUxfU0NIRU1BU19UWVBFX0ZJTkFMX0VYVEVOU0lPTjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX1RZUEVfRklOQUxfRVhURU5TSU9OIj5YTUxfU0NIRU1BU19UWVBFX0ZJTkFMX0VYVEVOU0lPTjwvYT47Cis8L3ByZT48cD50aGUgY29tcGxleFR5cGUgaGFzIGEgZmluYWwgb2YgImV4dGVuc2lvbiIuPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IlhNTF9TQ0hFTUFTX1RZUEVfRklOQUxfTElTVCI+TWFjcm8gPC9hPlhNTF9TQ0hFTUFTX1RZUEVfRklOQUxfTElTVDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX1RZUEVfRklOQUxfTElTVCI+WE1MX1NDSEVNQVNfVFlQRV9GSU5BTF9MSVNUPC9hPjsKKzwvcHJlPjxwPnRoZSBzaW1wbGVUeXBlIGhhcyBhIGZpbmFsIG9mICJsaXN0Ii48L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iWE1MX1NDSEVNQVNfVFlQRV9GSU5BTF9SRVNUUklDVElPTiI+TWFjcm8gPC9hPlhNTF9TQ0hFTUFTX1RZUEVfRklOQUxfUkVTVFJJQ1RJT048L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19UWVBFX0ZJTkFMX1JFU1RSSUNUSU9OIj5YTUxfU0NIRU1BU19UWVBFX0ZJTkFMX1JFU1RSSUNUSU9OPC9hPjsKKzwvcHJlPjxwPnRoZSBzaW1wbGVUeXBlL2NvbXBsZXhUeXBlIGhhcyBhIGZpbmFsIG9mICJyZXN0cmljdGlvbiIuPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IlhNTF9TQ0hFTUFTX1RZUEVfRklOQUxfVU5JT04iPk1hY3JvIDwvYT5YTUxfU0NIRU1BU19UWVBFX0ZJTkFMX1VOSU9OPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfVFlQRV9GSU5BTF9VTklPTiI+WE1MX1NDSEVNQVNfVFlQRV9GSU5BTF9VTklPTjwvYT47Cis8L3ByZT48cD50aGUgc2ltcGxlVHlwZSBoYXMgYSBmaW5hbCBvZiAidW5pb24iLjwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJYTUxfU0NIRU1BU19UWVBFX0ZJWFVQXzEiPk1hY3JvIDwvYT5YTUxfU0NIRU1BU19UWVBFX0ZJWFVQXzE8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19UWVBFX0ZJWFVQXzEiPlhNTF9TQ0hFTUFTX1RZUEVfRklYVVBfMTwvYT47Cis8L3ByZT48cD5GaXJzdCBzdGFnZSBvZiBmaXh1cCB3YXMgZG9uZS48L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iWE1MX1NDSEVNQVNfVFlQRV9HTE9CQUwiPk1hY3JvIDwvYT5YTUxfU0NIRU1BU19UWVBFX0dMT0JBTDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX1RZUEVfR0xPQkFMIj5YTUxfU0NIRU1BU19UWVBFX0dMT0JBTDwvYT47Cis8L3ByZT48cD50aGUgdHlwZSBpcyBnbG9iYWw8L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iWE1MX1NDSEVNQVNfVFlQRV9IQVNfRkFDRVRTIj5NYWNybyA8L2E+WE1MX1NDSEVNQVNfVFlQRV9IQVNfRkFDRVRTPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfVFlQRV9IQVNfRkFDRVRTIj5YTUxfU0NIRU1BU19UWVBFX0hBU19GQUNFVFM8L2E+OworPC9wcmU+PHA+aGFzIGZhY2V0czwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJYTUxfU0NIRU1BU19UWVBFX0lOVEVSTkFMX0lOVkFMSUQiPk1hY3JvIDwvYT5YTUxfU0NIRU1BU19UWVBFX0lOVEVSTkFMX0lOVkFMSUQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19UWVBFX0lOVEVSTkFMX0lOVkFMSUQiPlhNTF9TQ0hFTUFTX1RZUEVfSU5URVJOQUxfSU5WQUxJRDwvYT47Cis8L3ByZT48cD5pbmRpY2F0ZXMgdGhhdCB0aGUgdHlwZSBpcyBpbnZhbGlkPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IlhNTF9TQ0hFTUFTX1RZUEVfSU5URVJOQUxfUkVTT0xWRUQiPk1hY3JvIDwvYT5YTUxfU0NIRU1BU19UWVBFX0lOVEVSTkFMX1JFU09MVkVEPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfVFlQRV9JTlRFUk5BTF9SRVNPTFZFRCI+WE1MX1NDSEVNQVNfVFlQRV9JTlRFUk5BTF9SRVNPTFZFRDwvYT47Cis8L3ByZT48cD5pbmRpY2F0ZXMgdGhhdCB0aGUgdHlwZSB3YXMgdHlwZWZpeGVkPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IlhNTF9TQ0hFTUFTX1RZUEVfTUFSS0VEIj5NYWNybyA8L2E+WE1MX1NDSEVNQVNfVFlQRV9NQVJLRUQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19UWVBFX01BUktFRCI+WE1MX1NDSEVNQVNfVFlQRV9NQVJLRUQ8L2E+OworPC9wcmU+PHA+TWFya3MgdGhlIGl0ZW0gYXMgbWFya2VkOyB1c2VkIGZvciBjaXJjdWxhciBjaGVja3MuPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IlhNTF9TQ0hFTUFTX1RZUEVfTUlYRUQiPk1hY3JvIDwvYT5YTUxfU0NIRU1BU19UWVBFX01JWEVEPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfVFlQRV9NSVhFRCI+WE1MX1NDSEVNQVNfVFlQRV9NSVhFRDwvYT47Cis8L3ByZT48cD50aGUgZWxlbWVudCBjb250ZW50IHR5cGUgaXMgbWl4ZWQ8L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iWE1MX1NDSEVNQVNfVFlQRV9OT1JNVkFMVUVORUVERUQiPk1hY3JvIDwvYT5YTUxfU0NIRU1BU19UWVBFX05PUk1WQUxVRU5FRURFRDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX1RZUEVfTk9STVZBTFVFTkVFREVEIj5YTUxfU0NIRU1BU19UWVBFX05PUk1WQUxVRU5FRURFRDwvYT47Cis8L3ByZT48cD5pbmRpY2F0ZXMgaWYgdGhlIGZhY2V0cyAocGF0dGVybikgbmVlZCBhIG5vcm1hbGl6ZWQgdmFsdWU8L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iWE1MX1NDSEVNQVNfVFlQRV9PV05FRF9BVFRSX1dJTERDQVJEIj5NYWNybyA8L2E+WE1MX1NDSEVNQVNfVFlQRV9PV05FRF9BVFRSX1dJTERDQVJEPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfVFlQRV9PV05FRF9BVFRSX1dJTERDQVJEIj5YTUxfU0NIRU1BU19UWVBFX09XTkVEX0FUVFJfV0lMRENBUkQ8L2E+OworPC9wcmU+PHA+dGhlIGNvbXBsZXhUeXBlIG93bnMgYW4gPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gd2lsZGNhcmQsIGkuZS4gaXQgY2FuIGJlIGZyZWVkIGJ5IHRoZSBjb21wbGV4VHlwZTwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJYTUxfU0NIRU1BU19UWVBFX1JFREVGSU5FRCI+TWFjcm8gPC9hPlhNTF9TQ0hFTUFTX1RZUEVfUkVERUZJTkVEPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfVFlQRV9SRURFRklORUQiPlhNTF9TQ0hFTUFTX1RZUEVfUkVERUZJTkVEPC9hPjsKKzwvcHJlPjxwPlRoZSB0eXBlIHdhcyByZWRlZmluZWQuPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IlhNTF9TQ0hFTUFTX1RZUEVfVkFSSUVUWV9BQlNFTlQiPk1hY3JvIDwvYT5YTUxfU0NIRU1BU19UWVBFX1ZBUklFVFlfQUJTRU5UPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX0FCU0VOVCI+WE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX0FCU0VOVDwvYT47Cis8L3ByZT48cD50aGUgc2ltcGxlVHlwZSBoYXMgYSB2YXJpZXR5IG9mICJhYnNlbnQiLiBUT0RPOiBBY3R1YWxseSBub3QgbmVjZXNzYXJ5IDotLywgc2luY2UgaWYgbm9uZSBvZiB0aGUgdmFyaWV0eSBmbGFncyBvY2N1ciB0aGVuIGl0J3MgYXV0b21hdGljYWxseSBhYnNlbnQuPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IlhNTF9TQ0hFTUFTX1RZUEVfVkFSSUVUWV9BVE9NSUMiPk1hY3JvIDwvYT5YTUxfU0NIRU1BU19UWVBFX1ZBUklFVFlfQVRPTUlDPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX0FUT01JQyI+WE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX0FUT01JQzwvYT47Cis8L3ByZT48cD50aGUgc2ltcGxlVHlwZSBoYXMgYSB2YXJpZXR5IG9mICJ1bmlvbiIuPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IlhNTF9TQ0hFTUFTX1RZUEVfVkFSSUVUWV9MSVNUIj5NYWNybyA8L2E+WE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX0xJU1Q8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19UWVBFX1ZBUklFVFlfTElTVCI+WE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX0xJU1Q8L2E+OworPC9wcmU+PHA+dGhlIHNpbXBsZVR5cGUgaGFzIGEgdmFyaWV0eSBvZiAibGlzdCIuPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IlhNTF9TQ0hFTUFTX1RZUEVfVkFSSUVUWV9VTklPTiI+TWFjcm8gPC9hPlhNTF9TQ0hFTUFTX1RZUEVfVkFSSUVUWV9VTklPTjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX1RZUEVfVkFSSUVUWV9VTklPTiI+WE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX1VOSU9OPC9hPjsKKzwvcHJlPjxwPnRoZSBzaW1wbGVUeXBlIGhhcyBhIHZhcmlldHkgb2YgInVuaW9uIi48L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iWE1MX1NDSEVNQVNfVFlQRV9XSElURVNQQUNFX0NPTExBUFNFIj5NYWNybyA8L2E+WE1MX1NDSEVNQVNfVFlQRV9XSElURVNQQUNFX0NPTExBUFNFPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfVFlQRV9XSElURVNQQUNFX0NPTExBUFNFIj5YTUxfU0NIRU1BU19UWVBFX1dISVRFU1BBQ0VfQ09MTEFQU0U8L2E+OworPC9wcmU+PHA+YSB3aGl0ZXNwYWNlLWZhY2V0IHZhbHVlIG9mICJjb2xsYXBzZSI8L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iWE1MX1NDSEVNQVNfVFlQRV9XSElURVNQQUNFX1BSRVNFUlZFIj5NYWNybyA8L2E+WE1MX1NDSEVNQVNfVFlQRV9XSElURVNQQUNFX1BSRVNFUlZFPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfVFlQRV9XSElURVNQQUNFX1BSRVNFUlZFIj5YTUxfU0NIRU1BU19UWVBFX1dISVRFU1BBQ0VfUFJFU0VSVkU8L2E+OworPC9wcmU+PHA+YSB3aGl0ZXNwYWNlLWZhY2V0IHZhbHVlIG9mICJwcmVzZXJ2ZSI8L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iWE1MX1NDSEVNQVNfVFlQRV9XSElURVNQQUNFX1JFUExBQ0UiPk1hY3JvIDwvYT5YTUxfU0NIRU1BU19UWVBFX1dISVRFU1BBQ0VfUkVQTEFDRTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX1RZUEVfV0hJVEVTUEFDRV9SRVBMQUNFIj5YTUxfU0NIRU1BU19UWVBFX1dISVRFU1BBQ0VfUkVQTEFDRTwvYT47Cis8L3ByZT48cD5hIHdoaXRlc3BhY2UtZmFjZXQgdmFsdWUgb2YgInJlcGxhY2UiPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IlhNTF9TQ0hFTUFTX1dJTERDQVJEX0NPTVBMRVRFIj5NYWNybyA8L2E+WE1MX1NDSEVNQVNfV0lMRENBUkRfQ09NUExFVEU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19XSUxEQ0FSRF9DT01QTEVURSI+WE1MX1NDSEVNQVNfV0lMRENBUkRfQ09NUExFVEU8L2E+OworPC9wcmU+PHA+SWYgdGhlIHdpbGRjYXJkIGlzIGNvbXBsZXRlLjwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTY2hlbWFBbm5vdCI+U3RydWN0dXJlIDwvYT54bWxTY2hlbWFBbm5vdDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnN0cnVjdCBfeG1sU2NoZW1hQW5ub3QgeworICAgIHN0cnVjdCBfeG1sU2NoZW1hQW5ub3QgKgluZXh0CisgICAgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JY29udGVudAk6IHRoZSBhbm5vdGF0aW9uCit9IHhtbFNjaGVtYUFubm90OworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNjaGVtYUFubm90UHRyIj5UeXBlZGVmIDwvYT54bWxTY2hlbWFBbm5vdFB0cjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYUFubm90Ij54bWxTY2hlbWFBbm5vdDwvYT4gKiB4bWxTY2hlbWFBbm5vdFB0cjsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTY2hlbWFBdHRyaWJ1dGUiPlN0cnVjdHVyZSA8L2E+eG1sU2NoZW1hQXR0cmlidXRlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+c3RydWN0IF94bWxTY2hlbWFBdHRyaWJ1dGUgeworICAgIDxhIGhyZWY9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVR5cGVUeXBlIj54bWxTY2hlbWFUeXBlVHlwZTwvYT4JdHlwZQorICAgIHN0cnVjdCBfeG1sU2NoZW1hQXR0cmlidXRlICoJbmV4dAk6IHRoZSBuZXh0IDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IChub3QgdXNlZD8pCisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCW5hbWUJOiB0aGUgbmFtZSBvZiB0aGUgZGVjbGFyYXRpb24KKyAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJaWQJOiBEZXByZWNhdGVkOyBub3QgdXNlZAorICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKglyZWYJOiBEZXByZWNhdGVkOyBub3QgdXNlZAorICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKglyZWZOcwk6IERlcHJlY2F0ZWQ7IG5vdCB1c2VkCisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXR5cGVOYW1lCTogdGhlIGxvY2FsIG5hbWUgb2YgdGhlIHR5cGUgZGVmaW5pdGlvbgorICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl0eXBlTnMJOiB0aGUgbnMgVVJJIG9mIHRoZSB0eXBlIGRlZmluaXRpb24KKyAgICA8YSBocmVmPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFBbm5vdFB0ciI+eG1sU2NoZW1hQW5ub3RQdHI8L2E+CWFubm90CisgICAgPGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVHlwZVB0ciI+eG1sU2NoZW1hVHlwZVB0cjwvYT4JYmFzZQk6IERlcHJlY2F0ZWQ7IG5vdCB1c2VkCisgICAgaW50CW9jY3Vycwk6IERlcHJlY2F0ZWQ7IG5vdCB1c2VkCisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCWRlZlZhbHVlCTogVGhlIGluaXRpYWwgdmFsdWUgb2YgdGhlIHZhbHVlIGNvbnN0cmFpbnQKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFUeXBlUHRyIj54bWxTY2hlbWFUeXBlUHRyPC9hPglzdWJ0eXBlcwk6IHRoZSB0eXBlIGRlZmluaXRpb24KKyAgICA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPglub2RlCisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXRhcmdldE5hbWVzcGFjZQorICAgIGludAlmbGFncworICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKglyZWZQcmVmaXgJOiBEZXByZWNhdGVkOyBub3QgdXNlZAorICAgIDxhIGhyZWY9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVZhbFB0ciI+eG1sU2NoZW1hVmFsUHRyPC9hPglkZWZWYWwJOiBUaGUgY29tcGlsZWQgdmFsdWUgY29uc3RyYWludAorICAgIDxhIGhyZWY9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYUF0dHJpYnV0ZVB0ciI+eG1sU2NoZW1hQXR0cmlidXRlUHRyPC9hPglyZWZEZWNsCTogRGVwcmVjYXRlZDsgbm90IHVzZWQKK30geG1sU2NoZW1hQXR0cmlidXRlOworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNjaGVtYUF0dHJpYnV0ZUdyb3VwIj5TdHJ1Y3R1cmUgPC9hPnhtbFNjaGVtYUF0dHJpYnV0ZUdyb3VwPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+c3RydWN0IF94bWxTY2hlbWFBdHRyaWJ1dGVHcm91cCB7CisgICAgPGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVHlwZVR5cGUiPnhtbFNjaGVtYVR5cGVUeXBlPC9hPgl0eXBlCTogVGhlIGtpbmQgb2YgdHlwZQorICAgIHN0cnVjdCBfeG1sU2NoZW1hQXR0cmlidXRlICoJbmV4dAk6IHRoZSBuZXh0IDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IGlmIGluIGEgZ3JvdXAgLi4uCisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCW5hbWUKKyAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJaWQKKyAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJcmVmCTogRGVwcmVjYXRlZDsgbm90IHVzZWQKKyAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJcmVmTnMJOiBEZXByZWNhdGVkOyBub3QgdXNlZAorICAgIDxhIGhyZWY9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYUFubm90UHRyIj54bWxTY2hlbWFBbm5vdFB0cjwvYT4JYW5ub3QKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFBdHRyaWJ1dGVQdHIiPnhtbFNjaGVtYUF0dHJpYnV0ZVB0cjwvYT4JYXR0cmlidXRlcwk6IERlcHJlY2F0ZWQ7IG5vdCB1c2VkCisgICAgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4Jbm9kZQorICAgIGludAlmbGFncworICAgIDxhIGhyZWY9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVdpbGRjYXJkUHRyIj54bWxTY2hlbWFXaWxkY2FyZFB0cjwvYT4JYXR0cmlidXRlV2lsZGNhcmQKKyAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJcmVmUHJlZml4CTogRGVwcmVjYXRlZDsgbm90IHVzZWQKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFBdHRyaWJ1dGVHcm91cFB0ciI+eG1sU2NoZW1hQXR0cmlidXRlR3JvdXBQdHI8L2E+CXJlZkl0ZW0JOiBEZXByZWNhdGVkOyBub3QgdXNlZAorICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl0YXJnZXROYW1lc3BhY2UKKyAgICB2b2lkICoJYXR0clVzZXMKK30geG1sU2NoZW1hQXR0cmlidXRlR3JvdXA7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU2NoZW1hQXR0cmlidXRlR3JvdXBQdHIiPlR5cGVkZWYgPC9hPnhtbFNjaGVtYUF0dHJpYnV0ZUdyb3VwUHRyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hQXR0cmlidXRlR3JvdXAiPnhtbFNjaGVtYUF0dHJpYnV0ZUdyb3VwPC9hPiAqIHhtbFNjaGVtYUF0dHJpYnV0ZUdyb3VwUHRyOworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNjaGVtYUF0dHJpYnV0ZUxpbmsiPlN0cnVjdHVyZSA8L2E+eG1sU2NoZW1hQXR0cmlidXRlTGluazwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnN0cnVjdCBfeG1sU2NoZW1hQXR0cmlidXRlTGluayB7CisgICAgc3RydWN0IF94bWxTY2hlbWFBdHRyaWJ1dGVMaW5rICoJbmV4dAk6IHRoZSBuZXh0IDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IGxpbmsgLi4uCisgICAgc3RydWN0IF94bWxTY2hlbWFBdHRyaWJ1dGUgKglhdHRyCTogdGhlIGxpbmtlZCA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPgorfSB4bWxTY2hlbWFBdHRyaWJ1dGVMaW5rOworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNjaGVtYUF0dHJpYnV0ZUxpbmtQdHIiPlR5cGVkZWYgPC9hPnhtbFNjaGVtYUF0dHJpYnV0ZUxpbmtQdHI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFBdHRyaWJ1dGVMaW5rIj54bWxTY2hlbWFBdHRyaWJ1dGVMaW5rPC9hPiAqIHhtbFNjaGVtYUF0dHJpYnV0ZUxpbmtQdHI7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU2NoZW1hQXR0cmlidXRlUHRyIj5UeXBlZGVmIDwvYT54bWxTY2hlbWFBdHRyaWJ1dGVQdHI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFBdHRyaWJ1dGUiPnhtbFNjaGVtYUF0dHJpYnV0ZTwvYT4gKiB4bWxTY2hlbWFBdHRyaWJ1dGVQdHI7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU2NoZW1hQ29udGVudFR5cGUiPkVudW0gPC9hPnhtbFNjaGVtYUNvbnRlbnRUeXBlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+ZW51bSA8YSBocmVmPSIjeG1sU2NoZW1hQ29udGVudFR5cGUiPnhtbFNjaGVtYUNvbnRlbnRUeXBlPC9hPiB7CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQV9DT05URU5UX1VOS05PV04iPlhNTF9TQ0hFTUFfQ09OVEVOVF9VTktOT1dOPC9hPiA9IDAKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BX0NPTlRFTlRfRU1QVFkiPlhNTF9TQ0hFTUFfQ09OVEVOVF9FTVBUWTwvYT4gPSAxCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQV9DT05URU5UX0VMRU1FTlRTIj5YTUxfU0NIRU1BX0NPTlRFTlRfRUxFTUVOVFM8L2E+ID0gMgorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFfQ09OVEVOVF9NSVhFRCI+WE1MX1NDSEVNQV9DT05URU5UX01JWEVEPC9hPiA9IDMKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BX0NPTlRFTlRfU0lNUExFIj5YTUxfU0NIRU1BX0NPTlRFTlRfU0lNUExFPC9hPiA9IDQKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BX0NPTlRFTlRfTUlYRURfT1JfRUxFTUVOVFMiPlhNTF9TQ0hFTUFfQ09OVEVOVF9NSVhFRF9PUl9FTEVNRU5UUzwvYT4gPSA1IC8qIE9ic29sZXRlICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQV9DT05URU5UX0JBU0lDIj5YTUxfU0NIRU1BX0NPTlRFTlRfQkFTSUM8L2E+ID0gNgorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFfQ09OVEVOVF9BTlkiPlhNTF9TQ0hFTUFfQ09OVEVOVF9BTlk8L2E+ID0gNworfTsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTY2hlbWFFbGVtZW50Ij5TdHJ1Y3R1cmUgPC9hPnhtbFNjaGVtYUVsZW1lbnQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5zdHJ1Y3QgX3htbFNjaGVtYUVsZW1lbnQgeworICAgIDxhIGhyZWY9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVR5cGVUeXBlIj54bWxTY2hlbWFUeXBlVHlwZTwvYT4JdHlwZQk6IFRoZSBraW5kIG9mIHR5cGUKKyAgICBzdHJ1Y3QgX3htbFNjaGVtYVR5cGUgKgluZXh0CTogTm90IHVzZWQ/CisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCW5hbWUKKyAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJaWQJOiBEZXByZWNhdGVkOyBub3QgdXNlZAorICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKglyZWYJOiBEZXByZWNhdGVkOyBub3QgdXNlZAorICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKglyZWZOcwk6IERlcHJlY2F0ZWQ7IG5vdCB1c2VkCisgICAgPGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hQW5ub3RQdHIiPnhtbFNjaGVtYUFubm90UHRyPC9hPglhbm5vdAorICAgIDxhIGhyZWY9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVR5cGVQdHIiPnhtbFNjaGVtYVR5cGVQdHI8L2E+CXN1YnR5cGVzCTogdGhlIHR5cGUgZGVmaW5pdGlvbgorICAgIDxhIGhyZWY9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYUF0dHJpYnV0ZVB0ciI+eG1sU2NoZW1hQXR0cmlidXRlUHRyPC9hPglhdHRyaWJ1dGVzCisgICAgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4Jbm9kZQorICAgIGludAltaW5PY2N1cnMJOiBEZXByZWNhdGVkOyBub3QgdXNlZAorICAgIGludAltYXhPY2N1cnMJOiBEZXByZWNhdGVkOyBub3QgdXNlZAorICAgIGludAlmbGFncworICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl0YXJnZXROYW1lc3BhY2UKKyAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJbmFtZWRUeXBlCisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCW5hbWVkVHlwZU5zCisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXN1YnN0R3JvdXAKKyAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJc3Vic3RHcm91cE5zCisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXNjb3BlCisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXZhbHVlCTogVGhlIG9yaWdpbmFsIHZhbHVlIG9mIHRoZSB2YWx1ZSBjb25zdHJhaW50LgorICAgIHN0cnVjdCBfeG1sU2NoZW1hRWxlbWVudCAqCXJlZkRlY2wJOiBUaGlzIHdpbGwgbm93IGJlIHVzZWQgZm9yIHRoZSBzdWJzdGl0dXRpb24gZ3JvdXAgYWZmaWxpYXRpb24KKyAgICA8YSBocmVmPSJsaWJ4bWwyLXhtbHJlZ2V4cC5odG1sI3htbFJlZ2V4cFB0ciI+eG1sUmVnZXhwUHRyPC9hPgljb250TW9kZWwJOiBPYnNvbGV0ZSBmb3IgV1hTLCBtYXliZSB1c2VkIGZvciBSZWxheE5HCisgICAgPGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hQ29udGVudFR5cGUiPnhtbFNjaGVtYUNvbnRlbnRUeXBlPC9hPgljb250ZW50VHlwZQorICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKglyZWZQcmVmaXgJOiBEZXByZWNhdGVkOyBub3QgdXNlZAorICAgIDxhIGhyZWY9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVZhbFB0ciI+eG1sU2NoZW1hVmFsUHRyPC9hPglkZWZWYWwJOiBUaGUgY29tcGlsZWQgdmFsdWUgY29udHJhaW50LgorICAgIHZvaWQgKglpZGNzCTogVGhlIGlkZW50aXR5LWNvbnN0cmFpbnQgZGVmcworfSB4bWxTY2hlbWFFbGVtZW50OworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNjaGVtYUVsZW1lbnRQdHIiPlR5cGVkZWYgPC9hPnhtbFNjaGVtYUVsZW1lbnRQdHI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFFbGVtZW50Ij54bWxTY2hlbWFFbGVtZW50PC9hPiAqIHhtbFNjaGVtYUVsZW1lbnRQdHI7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU2NoZW1hRmFjZXQiPlN0cnVjdHVyZSA8L2E+eG1sU2NoZW1hRmFjZXQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5zdHJ1Y3QgX3htbFNjaGVtYUZhY2V0IHsKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFUeXBlVHlwZSI+eG1sU2NoZW1hVHlwZVR5cGU8L2E+CXR5cGUJOiBUaGUga2luZCBvZiB0eXBlCisgICAgc3RydWN0IF94bWxTY2hlbWFGYWNldCAqCW5leHQJOiB0aGUgbmV4dCB0eXBlIGlmIGluIGEgc2VxdWVuY2UgLi4uCisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXZhbHVlCTogVGhlIG9yaWdpbmFsIHZhbHVlCisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCWlkCTogT2Jzb2xldGUKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFBbm5vdFB0ciI+eG1sU2NoZW1hQW5ub3RQdHI8L2E+CWFubm90CisgICAgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4Jbm9kZQorICAgIGludAlmaXhlZAk6IFhNTF9TQ0hFTUFTX0ZBQ0VUX1BSRVNFUlZFLCBldGMuCisgICAgaW50CXdoaXRlc3BhY2UKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFWYWxQdHIiPnhtbFNjaGVtYVZhbFB0cjwvYT4JdmFsCTogVGhlIGNvbXBpbGVkIHZhbHVlCisgICAgPGEgaHJlZj0ibGlieG1sMi14bWxyZWdleHAuaHRtbCN4bWxSZWdleHBQdHIiPnhtbFJlZ2V4cFB0cjwvYT4JcmVnZXhwCTogVGhlIHJlZ2V4IGZvciBwYXR0ZXJucworfSB4bWxTY2hlbWFGYWNldDsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTY2hlbWFGYWNldExpbmsiPlN0cnVjdHVyZSA8L2E+eG1sU2NoZW1hRmFjZXRMaW5rPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+c3RydWN0IF94bWxTY2hlbWFGYWNldExpbmsgeworICAgIHN0cnVjdCBfeG1sU2NoZW1hRmFjZXRMaW5rICoJbmV4dAk6IHRoZSBuZXh0IGZhY2V0IGxpbmsgLi4uCisgICAgPGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hRmFjZXRQdHIiPnhtbFNjaGVtYUZhY2V0UHRyPC9hPglmYWNldAk6IHRoZSBsaW5rZWQgZmFjZXQKK30geG1sU2NoZW1hRmFjZXRMaW5rOworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNjaGVtYUZhY2V0TGlua1B0ciI+VHlwZWRlZiA8L2E+eG1sU2NoZW1hRmFjZXRMaW5rUHRyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hRmFjZXRMaW5rIj54bWxTY2hlbWFGYWNldExpbms8L2E+ICogeG1sU2NoZW1hRmFjZXRMaW5rUHRyOworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNjaGVtYUZhY2V0UHRyIj5UeXBlZGVmIDwvYT54bWxTY2hlbWFGYWNldFB0cjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYUZhY2V0Ij54bWxTY2hlbWFGYWNldDwvYT4gKiB4bWxTY2hlbWFGYWNldFB0cjsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTY2hlbWFOb3RhdGlvbiI+U3RydWN0dXJlIDwvYT54bWxTY2hlbWFOb3RhdGlvbjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnN0cnVjdCBfeG1sU2NoZW1hTm90YXRpb24geworICAgIDxhIGhyZWY9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVR5cGVUeXBlIj54bWxTY2hlbWFUeXBlVHlwZTwvYT4JdHlwZQk6IFRoZSBraW5kIG9mIHR5cGUKKyAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJbmFtZQorICAgIDxhIGhyZWY9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYUFubm90UHRyIj54bWxTY2hlbWFBbm5vdFB0cjwvYT4JYW5ub3QKKyAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJaWRlbnRpZmllcgorICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl0YXJnZXROYW1lc3BhY2UKK30geG1sU2NoZW1hTm90YXRpb247Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU2NoZW1hTm90YXRpb25QdHIiPlR5cGVkZWYgPC9hPnhtbFNjaGVtYU5vdGF0aW9uUHRyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hTm90YXRpb24iPnhtbFNjaGVtYU5vdGF0aW9uPC9hPiAqIHhtbFNjaGVtYU5vdGF0aW9uUHRyOworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNjaGVtYVR5cGUiPlN0cnVjdHVyZSA8L2E+eG1sU2NoZW1hVHlwZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnN0cnVjdCBfeG1sU2NoZW1hVHlwZSB7CisgICAgPGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVHlwZVR5cGUiPnhtbFNjaGVtYVR5cGVUeXBlPC9hPgl0eXBlCTogVGhlIGtpbmQgb2YgdHlwZQorICAgIHN0cnVjdCBfeG1sU2NoZW1hVHlwZSAqCW5leHQJOiB0aGUgbmV4dCB0eXBlIGlmIGluIGEgc2VxdWVuY2UgLi4uCisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCW5hbWUKKyAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJaWQJOiBEZXByZWNhdGVkOyBub3QgdXNlZAorICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKglyZWYJOiBEZXByZWNhdGVkOyBub3QgdXNlZAorICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKglyZWZOcwk6IERlcHJlY2F0ZWQ7IG5vdCB1c2VkCisgICAgPGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hQW5ub3RQdHIiPnhtbFNjaGVtYUFubm90UHRyPC9hPglhbm5vdAorICAgIDxhIGhyZWY9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVR5cGVQdHIiPnhtbFNjaGVtYVR5cGVQdHI8L2E+CXN1YnR5cGVzCisgICAgPGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hQXR0cmlidXRlUHRyIj54bWxTY2hlbWFBdHRyaWJ1dGVQdHI8L2E+CWF0dHJpYnV0ZXMJOiBEZXByZWNhdGVkOyBub3QgdXNlZAorICAgIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CW5vZGUKKyAgICBpbnQJbWluT2NjdXJzCTogRGVwcmVjYXRlZDsgbm90IHVzZWQKKyAgICBpbnQJbWF4T2NjdXJzCTogRGVwcmVjYXRlZDsgbm90IHVzZWQKKyAgICBpbnQJZmxhZ3MKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFDb250ZW50VHlwZSI+eG1sU2NoZW1hQ29udGVudFR5cGU8L2E+CWNvbnRlbnRUeXBlCisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCWJhc2UJOiBCYXNlIHR5cGUncyBsb2NhbCBuYW1lCisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCWJhc2VOcwk6IEJhc2UgdHlwZSdzIHRhcmdldCBuYW1lc3BhY2UKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFUeXBlUHRyIj54bWxTY2hlbWFUeXBlUHRyPC9hPgliYXNlVHlwZQk6IFRoZSBiYXNlIHR5cGUgY29tcG9uZW50CisgICAgPGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hRmFjZXRQdHIiPnhtbFNjaGVtYUZhY2V0UHRyPC9hPglmYWNldHMJOiBMb2NhbCBmYWNldHMKKyAgICBzdHJ1Y3QgX3htbFNjaGVtYVR5cGUgKglyZWRlZgk6IERlcHJlY2F0ZWQ7IG5vdCB1c2VkCisgICAgaW50CXJlY3Vyc2UJOiBPYnNvbGV0ZQorICAgIDxhIGhyZWY9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYUF0dHJpYnV0ZUxpbmtQdHIiPnhtbFNjaGVtYUF0dHJpYnV0ZUxpbmtQdHI8L2E+ICoJYXR0cmlidXRlVXNlcwk6IERlcHJlY2F0ZWQ7IG5vdCB1c2VkCisgICAgPGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hV2lsZGNhcmRQdHIiPnhtbFNjaGVtYVdpbGRjYXJkUHRyPC9hPglhdHRyaWJ1dGVXaWxkY2FyZAorICAgIGludAlidWlsdEluVHlwZQk6IFR5cGUgb2YgYnVpbHQtaW4gdHlwZXMuCisgICAgPGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVHlwZUxpbmtQdHIiPnhtbFNjaGVtYVR5cGVMaW5rUHRyPC9hPgltZW1iZXJUeXBlcwk6IG1lbWJlci10eXBlcyBpZiBhIHVuaW9uIHR5cGUuCisgICAgPGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hRmFjZXRMaW5rUHRyIj54bWxTY2hlbWFGYWNldExpbmtQdHI8L2E+CWZhY2V0U2V0CTogQWxsIGZhY2V0cyAoaW5jbC4gaW5oZXJpdGVkKQorICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKglyZWZQcmVmaXgJOiBEZXByZWNhdGVkOyBub3QgdXNlZAorICAgIDxhIGhyZWY9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVR5cGVQdHIiPnhtbFNjaGVtYVR5cGVQdHI8L2E+CWNvbnRlbnRUeXBlRGVmCTogVXNlZCBmb3IgdGhlIHNpbXBsZSBjb250ZW50IG9mIGNvbXBsZXggdHlwZXMuIENvdWxkIHdlIHVzZSBAc3VidHlwZXMKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXhtbHJlZ2V4cC5odG1sI3htbFJlZ2V4cFB0ciI+eG1sUmVnZXhwUHRyPC9hPgljb250TW9kZWwJOiBIb2xkcyB0aGUgYXV0b21hdG9uIG9mIHRoZSBjb250ZW50IG1vZGVsCisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXRhcmdldE5hbWVzcGFjZQorICAgIHZvaWQgKglhdHRyVXNlcworfSB4bWxTY2hlbWFUeXBlOworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNjaGVtYVR5cGVMaW5rIj5TdHJ1Y3R1cmUgPC9hPnhtbFNjaGVtYVR5cGVMaW5rPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+c3RydWN0IF94bWxTY2hlbWFUeXBlTGluayB7CisgICAgc3RydWN0IF94bWxTY2hlbWFUeXBlTGluayAqCW5leHQJOiB0aGUgbmV4dCB0eXBlIGxpbmsgLi4uCisgICAgPGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVHlwZVB0ciI+eG1sU2NoZW1hVHlwZVB0cjwvYT4JdHlwZQk6IHRoZSBsaW5rZWQgdHlwZQorfSB4bWxTY2hlbWFUeXBlTGluazsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTY2hlbWFUeXBlTGlua1B0ciI+VHlwZWRlZiA8L2E+eG1sU2NoZW1hVHlwZUxpbmtQdHI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFUeXBlTGluayI+eG1sU2NoZW1hVHlwZUxpbms8L2E+ICogeG1sU2NoZW1hVHlwZUxpbmtQdHI7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU2NoZW1hVHlwZVB0ciI+VHlwZWRlZiA8L2E+eG1sU2NoZW1hVHlwZVB0cjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVR5cGUiPnhtbFNjaGVtYVR5cGU8L2E+ICogeG1sU2NoZW1hVHlwZVB0cjsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTY2hlbWFUeXBlVHlwZSI+RW51bSA8L2E+eG1sU2NoZW1hVHlwZVR5cGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5lbnVtIDxhIGhyZWY9IiN4bWxTY2hlbWFUeXBlVHlwZSI+eG1sU2NoZW1hVHlwZVR5cGU8L2E+IHsKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BX1RZUEVfQkFTSUMiPlhNTF9TQ0hFTUFfVFlQRV9CQVNJQzwvYT4gPSAxIC8qIEEgYnVpbHQtaW4gZGF0YXR5cGUgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BX1RZUEVfQU5ZIj5YTUxfU0NIRU1BX1RZUEVfQU5ZPC9hPiA9IDIKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BX1RZUEVfRkFDRVQiPlhNTF9TQ0hFTUFfVFlQRV9GQUNFVDwvYT4gPSAzCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQV9UWVBFX1NJTVBMRSI+WE1MX1NDSEVNQV9UWVBFX1NJTVBMRTwvYT4gPSA0CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQV9UWVBFX0NPTVBMRVgiPlhNTF9TQ0hFTUFfVFlQRV9DT01QTEVYPC9hPiA9IDUKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BX1RZUEVfU0VRVUVOQ0UiPlhNTF9TQ0hFTUFfVFlQRV9TRVFVRU5DRTwvYT4gPSA2CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQV9UWVBFX0NIT0lDRSI+WE1MX1NDSEVNQV9UWVBFX0NIT0lDRTwvYT4gPSA3CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQV9UWVBFX0FMTCI+WE1MX1NDSEVNQV9UWVBFX0FMTDwvYT4gPSA4CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQV9UWVBFX1NJTVBMRV9DT05URU5UIj5YTUxfU0NIRU1BX1RZUEVfU0lNUExFX0NPTlRFTlQ8L2E+ID0gOQorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFfVFlQRV9DT01QTEVYX0NPTlRFTlQiPlhNTF9TQ0hFTUFfVFlQRV9DT01QTEVYX0NPTlRFTlQ8L2E+ID0gMTAKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BX1RZUEVfVVIiPlhNTF9TQ0hFTUFfVFlQRV9VUjwvYT4gPSAxMQorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFfVFlQRV9SRVNUUklDVElPTiI+WE1MX1NDSEVNQV9UWVBFX1JFU1RSSUNUSU9OPC9hPiA9IDEyCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQV9UWVBFX0VYVEVOU0lPTiI+WE1MX1NDSEVNQV9UWVBFX0VYVEVOU0lPTjwvYT4gPSAxMworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFfVFlQRV9FTEVNRU5UIj5YTUxfU0NIRU1BX1RZUEVfRUxFTUVOVDwvYT4gPSAxNAorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFfVFlQRV9BVFRSSUJVVEUiPlhNTF9TQ0hFTUFfVFlQRV9BVFRSSUJVVEU8L2E+ID0gMTUKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BX1RZUEVfQVRUUklCVVRFR1JPVVAiPlhNTF9TQ0hFTUFfVFlQRV9BVFRSSUJVVEVHUk9VUDwvYT4gPSAxNgorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFfVFlQRV9HUk9VUCI+WE1MX1NDSEVNQV9UWVBFX0dST1VQPC9hPiA9IDE3CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQV9UWVBFX05PVEFUSU9OIj5YTUxfU0NIRU1BX1RZUEVfTk9UQVRJT048L2E+ID0gMTgKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BX1RZUEVfTElTVCI+WE1MX1NDSEVNQV9UWVBFX0xJU1Q8L2E+ID0gMTkKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BX1RZUEVfVU5JT04iPlhNTF9TQ0hFTUFfVFlQRV9VTklPTjwvYT4gPSAyMAorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFfVFlQRV9BTllfQVRUUklCVVRFIj5YTUxfU0NIRU1BX1RZUEVfQU5ZX0FUVFJJQlVURTwvYT4gPSAyMQorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFfVFlQRV9JRENfVU5JUVVFIj5YTUxfU0NIRU1BX1RZUEVfSURDX1VOSVFVRTwvYT4gPSAyMgorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFfVFlQRV9JRENfS0VZIj5YTUxfU0NIRU1BX1RZUEVfSURDX0tFWTwvYT4gPSAyMworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFfVFlQRV9JRENfS0VZUkVGIj5YTUxfU0NIRU1BX1RZUEVfSURDX0tFWVJFRjwvYT4gPSAyNAorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFfVFlQRV9QQVJUSUNMRSI+WE1MX1NDSEVNQV9UWVBFX1BBUlRJQ0xFPC9hPiA9IDI1CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQV9UWVBFX0FUVFJJQlVURV9VU0UiPlhNTF9TQ0hFTUFfVFlQRV9BVFRSSUJVVEVfVVNFPC9hPiA9IDI2CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQV9GQUNFVF9NSU5JTkNMVVNJVkUiPlhNTF9TQ0hFTUFfRkFDRVRfTUlOSU5DTFVTSVZFPC9hPiA9IDEwMDAKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BX0ZBQ0VUX01JTkVYQ0xVU0lWRSI+WE1MX1NDSEVNQV9GQUNFVF9NSU5FWENMVVNJVkU8L2E+ID0gMTAwMQorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFfRkFDRVRfTUFYSU5DTFVTSVZFIj5YTUxfU0NIRU1BX0ZBQ0VUX01BWElOQ0xVU0lWRTwvYT4gPSAxMDAyCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQV9GQUNFVF9NQVhFWENMVVNJVkUiPlhNTF9TQ0hFTUFfRkFDRVRfTUFYRVhDTFVTSVZFPC9hPiA9IDEwMDMKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BX0ZBQ0VUX1RPVEFMRElHSVRTIj5YTUxfU0NIRU1BX0ZBQ0VUX1RPVEFMRElHSVRTPC9hPiA9IDEwMDQKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BX0ZBQ0VUX0ZSQUNUSU9ORElHSVRTIj5YTUxfU0NIRU1BX0ZBQ0VUX0ZSQUNUSU9ORElHSVRTPC9hPiA9IDEwMDUKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BX0ZBQ0VUX1BBVFRFUk4iPlhNTF9TQ0hFTUFfRkFDRVRfUEFUVEVSTjwvYT4gPSAxMDA2CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQV9GQUNFVF9FTlVNRVJBVElPTiI+WE1MX1NDSEVNQV9GQUNFVF9FTlVNRVJBVElPTjwvYT4gPSAxMDA3CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQV9GQUNFVF9XSElURVNQQUNFIj5YTUxfU0NIRU1BX0ZBQ0VUX1dISVRFU1BBQ0U8L2E+ID0gMTAwOAorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFfRkFDRVRfTEVOR1RIIj5YTUxfU0NIRU1BX0ZBQ0VUX0xFTkdUSDwvYT4gPSAxMDA5CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQV9GQUNFVF9NQVhMRU5HVEgiPlhNTF9TQ0hFTUFfRkFDRVRfTUFYTEVOR1RIPC9hPiA9IDEwMTAKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BX0ZBQ0VUX01JTkxFTkdUSCI+WE1MX1NDSEVNQV9GQUNFVF9NSU5MRU5HVEg8L2E+ID0gMTAxMQorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFfRVhUUkFfUU5BTUVSRUYiPlhNTF9TQ0hFTUFfRVhUUkFfUU5BTUVSRUY8L2E+ID0gMjAwMAorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFfRVhUUkFfQVRUUl9VU0VfUFJPSElCIj5YTUxfU0NIRU1BX0VYVFJBX0FUVFJfVVNFX1BST0hJQjwvYT4gPSAyMDAxCit9OworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNjaGVtYVZhbCI+U3RydWN0dXJlIDwvYT54bWxTY2hlbWFWYWw8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5zdHJ1Y3QgX3htbFNjaGVtYVZhbCB7CitUaGUgY29udGVudCBvZiB0aGlzIHN0cnVjdHVyZSBpcyBub3QgbWFkZSBwdWJsaWMgYnkgdGhlIEFQSS4KK30geG1sU2NoZW1hVmFsOworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNjaGVtYVZhbFB0ciI+VHlwZWRlZiA8L2E+eG1sU2NoZW1hVmFsUHRyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVmFsIj54bWxTY2hlbWFWYWw8L2E+ICogeG1sU2NoZW1hVmFsUHRyOworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNjaGVtYVZhbFR5cGUiPkVudW0gPC9hPnhtbFNjaGVtYVZhbFR5cGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5lbnVtIDxhIGhyZWY9IiN4bWxTY2hlbWFWYWxUeXBlIj54bWxTY2hlbWFWYWxUeXBlPC9hPiB7CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVNfVU5LTk9XTiI+WE1MX1NDSEVNQVNfVU5LTk9XTjwvYT4gPSAwCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVNfU1RSSU5HIj5YTUxfU0NIRU1BU19TVFJJTkc8L2E+ID0gMQorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFTX05PUk1TVFJJTkciPlhNTF9TQ0hFTUFTX05PUk1TVFJJTkc8L2E+ID0gMgorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFTX0RFQ0lNQUwiPlhNTF9TQ0hFTUFTX0RFQ0lNQUw8L2E+ID0gMworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFTX1RJTUUiPlhNTF9TQ0hFTUFTX1RJTUU8L2E+ID0gNAorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFTX0dEQVkiPlhNTF9TQ0hFTUFTX0dEQVk8L2E+ID0gNQorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFTX0dNT05USCI+WE1MX1NDSEVNQVNfR01PTlRIPC9hPiA9IDYKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BU19HTU9OVEhEQVkiPlhNTF9TQ0hFTUFTX0dNT05USERBWTwvYT4gPSA3CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVNfR1lFQVIiPlhNTF9TQ0hFTUFTX0dZRUFSPC9hPiA9IDgKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BU19HWUVBUk1PTlRIIj5YTUxfU0NIRU1BU19HWUVBUk1PTlRIPC9hPiA9IDkKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BU19EQVRFIj5YTUxfU0NIRU1BU19EQVRFPC9hPiA9IDEwCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVNfREFURVRJTUUiPlhNTF9TQ0hFTUFTX0RBVEVUSU1FPC9hPiA9IDExCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVNfRFVSQVRJT04iPlhNTF9TQ0hFTUFTX0RVUkFUSU9OPC9hPiA9IDEyCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVNfRkxPQVQiPlhNTF9TQ0hFTUFTX0ZMT0FUPC9hPiA9IDEzCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVNfRE9VQkxFIj5YTUxfU0NIRU1BU19ET1VCTEU8L2E+ID0gMTQKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BU19CT09MRUFOIj5YTUxfU0NIRU1BU19CT09MRUFOPC9hPiA9IDE1CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVNfVE9LRU4iPlhNTF9TQ0hFTUFTX1RPS0VOPC9hPiA9IDE2CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVNfTEFOR1VBR0UiPlhNTF9TQ0hFTUFTX0xBTkdVQUdFPC9hPiA9IDE3CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVNfTk1UT0tFTiI+WE1MX1NDSEVNQVNfTk1UT0tFTjwvYT4gPSAxOAorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFTX05NVE9LRU5TIj5YTUxfU0NIRU1BU19OTVRPS0VOUzwvYT4gPSAxOQorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFTX05BTUUiPlhNTF9TQ0hFTUFTX05BTUU8L2E+ID0gMjAKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BU19RTkFNRSI+WE1MX1NDSEVNQVNfUU5BTUU8L2E+ID0gMjEKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BU19OQ05BTUUiPlhNTF9TQ0hFTUFTX05DTkFNRTwvYT4gPSAyMgorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFTX0lEIj5YTUxfU0NIRU1BU19JRDwvYT4gPSAyMworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFTX0lEUkVGIj5YTUxfU0NIRU1BU19JRFJFRjwvYT4gPSAyNAorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFTX0lEUkVGUyI+WE1MX1NDSEVNQVNfSURSRUZTPC9hPiA9IDI1CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVNfRU5USVRZIj5YTUxfU0NIRU1BU19FTlRJVFk8L2E+ID0gMjYKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BU19FTlRJVElFUyI+WE1MX1NDSEVNQVNfRU5USVRJRVM8L2E+ID0gMjcKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BU19OT1RBVElPTiI+WE1MX1NDSEVNQVNfTk9UQVRJT048L2E+ID0gMjgKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BU19BTllVUkkiPlhNTF9TQ0hFTUFTX0FOWVVSSTwvYT4gPSAyOQorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFTX0lOVEVHRVIiPlhNTF9TQ0hFTUFTX0lOVEVHRVI8L2E+ID0gMzAKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BU19OUElOVEVHRVIiPlhNTF9TQ0hFTUFTX05QSU5URUdFUjwvYT4gPSAzMQorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFTX05JTlRFR0VSIj5YTUxfU0NIRU1BU19OSU5URUdFUjwvYT4gPSAzMgorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFTX05OSU5URUdFUiI+WE1MX1NDSEVNQVNfTk5JTlRFR0VSPC9hPiA9IDMzCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVNfUElOVEVHRVIiPlhNTF9TQ0hFTUFTX1BJTlRFR0VSPC9hPiA9IDM0CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVNfSU5UIj5YTUxfU0NIRU1BU19JTlQ8L2E+ID0gMzUKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BU19VSU5UIj5YTUxfU0NIRU1BU19VSU5UPC9hPiA9IDM2CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVNfTE9ORyI+WE1MX1NDSEVNQVNfTE9ORzwvYT4gPSAzNworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFTX1VMT05HIj5YTUxfU0NIRU1BU19VTE9ORzwvYT4gPSAzOAorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFTX1NIT1JUIj5YTUxfU0NIRU1BU19TSE9SVDwvYT4gPSAzOQorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFTX1VTSE9SVCI+WE1MX1NDSEVNQVNfVVNIT1JUPC9hPiA9IDQwCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVNfQllURSI+WE1MX1NDSEVNQVNfQllURTwvYT4gPSA0MQorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFTX1VCWVRFIj5YTUxfU0NIRU1BU19VQllURTwvYT4gPSA0MgorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFTX0hFWEJJTkFSWSI+WE1MX1NDSEVNQVNfSEVYQklOQVJZPC9hPiA9IDQzCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVNfQkFTRTY0QklOQVJZIj5YTUxfU0NIRU1BU19CQVNFNjRCSU5BUlk8L2E+ID0gNDQKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BU19BTllUWVBFIj5YTUxfU0NIRU1BU19BTllUWVBFPC9hPiA9IDQ1CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVNfQU5ZU0lNUExFVFlQRSI+WE1MX1NDSEVNQVNfQU5ZU0lNUExFVFlQRTwvYT4gPSA0NgorfTsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTY2hlbWFXaWxkY2FyZCI+U3RydWN0dXJlIDwvYT54bWxTY2hlbWFXaWxkY2FyZDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnN0cnVjdCBfeG1sU2NoZW1hV2lsZGNhcmQgeworICAgIDxhIGhyZWY9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVR5cGVUeXBlIj54bWxTY2hlbWFUeXBlVHlwZTwvYT4JdHlwZQk6IFRoZSBraW5kIG9mIHR5cGUKKyAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJaWQJOiBEZXByZWNhdGVkOyBub3QgdXNlZAorICAgIDxhIGhyZWY9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYUFubm90UHRyIj54bWxTY2hlbWFBbm5vdFB0cjwvYT4JYW5ub3QKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPglub2RlCisgICAgaW50CW1pbk9jY3Vycwk6IERlcHJlY2F0ZWQ7IG5vdCB1c2VkCisgICAgaW50CW1heE9jY3Vycwk6IERlcHJlY2F0ZWQ7IG5vdCB1c2VkCisgICAgaW50CXByb2Nlc3NDb250ZW50cworICAgIGludAlhbnkJOiBJbmRpY2F0ZXMgaWYgdGhlIG5zIGNvbnN0cmFpbnQgaXMgb2YgIyNhbnkKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFXaWxkY2FyZE5zUHRyIj54bWxTY2hlbWFXaWxkY2FyZE5zUHRyPC9hPgluc1NldAk6IFRoZSBsaXN0IG9mIGFsbG93ZWQgbmFtZXNwYWNlcworICAgIDxhIGhyZWY9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVdpbGRjYXJkTnNQdHIiPnhtbFNjaGVtYVdpbGRjYXJkTnNQdHI8L2E+CW5lZ05zU2V0CTogVGhlIG5lZ2F0ZWQgbmFtZXNwYWNlCisgICAgaW50CWZsYWdzCit9IHhtbFNjaGVtYVdpbGRjYXJkOworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNjaGVtYVdpbGRjYXJkTnMiPlN0cnVjdHVyZSA8L2E+eG1sU2NoZW1hV2lsZGNhcmROczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnN0cnVjdCBfeG1sU2NoZW1hV2lsZGNhcmROcyB7CisgICAgc3RydWN0IF94bWxTY2hlbWFXaWxkY2FyZE5zICoJbmV4dAk6IHRoZSBuZXh0IGNvbnN0cmFpbnQgbGluayAuLi4KKyAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJdmFsdWUJOiB0aGUgdmFsdWUKK30geG1sU2NoZW1hV2lsZGNhcmROczsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTY2hlbWFXaWxkY2FyZE5zUHRyIj5UeXBlZGVmIDwvYT54bWxTY2hlbWFXaWxkY2FyZE5zUHRyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hV2lsZGNhcmROcyI+eG1sU2NoZW1hV2lsZGNhcmROczwvYT4gKiB4bWxTY2hlbWFXaWxkY2FyZE5zUHRyOworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNjaGVtYVdpbGRjYXJkUHRyIj5UeXBlZGVmIDwvYT54bWxTY2hlbWFXaWxkY2FyZFB0cjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVdpbGRjYXJkIj54bWxTY2hlbWFXaWxkY2FyZDwvYT4gKiB4bWxTY2hlbWFXaWxkY2FyZFB0cjsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTY2hlbWFGcmVlVHlwZSIvPnhtbFNjaGVtYUZyZWVUeXBlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxTY2hlbWFGcmVlVHlwZQkJKDxhIGhyZWY9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVR5cGVQdHIiPnhtbFNjaGVtYVR5cGVQdHI8L2E+IHR5cGUpPGJyLz4KKzwvcHJlPjxwPkRlYWxsb2NhdGUgYSBTY2hlbWEgVHlwZSBzdHJ1Y3R1cmUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50eXBlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHNjaGVtYSB0eXBlIHN0cnVjdHVyZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNjaGVtYUZyZWVXaWxkY2FyZCIvPnhtbFNjaGVtYUZyZWVXaWxkY2FyZCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sU2NoZW1hRnJlZVdpbGRjYXJkCQkoPGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hV2lsZGNhcmRQdHIiPnhtbFNjaGVtYVdpbGRjYXJkUHRyPC9hPiB3aWxkY2FyZCk8YnIvPgorPC9wcmU+PHA+RGVhbGxvY2F0ZXMgYSB3aWxkY2FyZCBzdHJ1Y3R1cmUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD53aWxkY2FyZDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSB3aWxkY2FyZCBzdHJ1Y3R1cmU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgPC9kaXY+CisgICAgPC9kaXY+CisgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2RldmhlbHAvbGlieG1sMi1zY2hlbWF0cm9uLmh0bWwgYi9saWJ4bWwyL2RvYy9kZXZoZWxwL2xpYnhtbDItc2NoZW1hdHJvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM5OWUzM2UKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9kZXZoZWxwL2xpYnhtbDItc2NoZW1hdHJvbi5odG1sCkBAIC0wLDAgKzEsMTY2IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPGh0bWw+CisgIDxoZWFkPgorICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ii8+CisgICAgPHRpdGxlPnNjaGVtYXRyb246IFhNTCBTY2hlbWFzdHJvbiBpbXBsZW1lbnRhdGlvbjwvdGl0bGU+CisgICAgPG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJMaWJ4bWwyIGRldmhlbHAgc3R5bGVzaGVldCIvPgorICAgIDxsaW5rIHJlbD0ic3RhcnQiIGhyZWY9ImluZGV4Lmh0bWwiIHRpdGxlPSJsaWJ4bWwyIFJlZmVyZW5jZSBNYW51YWwiLz4KKyAgICA8bGluayByZWw9InVwIiBocmVmPSJnZW5lcmFsLmh0bWwiIHRpdGxlPSJBUEkiLz4KKyAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9InN0eWxlLmNzcyIgdHlwZT0idGV4dC9jc3MiLz4KKyAgICA8bGluayByZWw9ImNoYXB0ZXIiIGhyZWY9ImdlbmVyYWwuaHRtbCIgdGl0bGU9IkFQSSIvPgorICA8L2hlYWQ+CisgIDxib2R5IGJnY29sb3I9IndoaXRlIiB0ZXh0PSJibGFjayIgbGluaz0iIzAwMDBGRiIgdmxpbms9IiM4NDAwODQiIGFsaW5rPSIjMDAwMEZGIj4KKyAgICA8dGFibGUgY2xhc3M9Im5hdmlnYXRpb24iIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIyIj4KKyAgICAgIDx0ciB2YWxpZ249Im1pZGRsZSI+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sIj4KKyAgICAgICAgICAgIDxpbWcgc3JjPSJsZWZ0LnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iUHJldiIvPgorICAgICAgICAgIDwvYT4KKyAgICAgICAgPC90ZD4KKyAgICAgICAgPHRkPgorICAgICAgICAgIDxhIGFjY2Vzc2tleT0idSIgaHJlZj0iZ2VuZXJhbC5odG1sIj4KKyAgICAgICAgICAgIDxpbWcgc3JjPSJ1cC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlVwIi8+CisgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGQ+CisgICAgICAgICAgPGEgYWNjZXNza2V5PSJoIiBocmVmPSJpbmRleC5odG1sIj4KKyAgICAgICAgICAgIDxpbWcgc3JjPSJob21lLnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iSG9tZSIvPgorICAgICAgICAgIDwvYT4KKyAgICAgICAgPC90ZD4KKyAgICAgICAgPHRkPgorICAgICAgICAgIDxhIGFjY2Vzc2tleT0ibiIgaHJlZj0ibGlieG1sMi10aHJlYWRzLmh0bWwiPgorICAgICAgICAgICAgPGltZyBzcmM9InJpZ2h0LnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iTmV4dCIvPgorICAgICAgICAgIDwvYT4KKyAgICAgICAgPC90ZD4KKyAgICAgICAgPHRoIHdpZHRoPSIxMDAlIiBhbGlnbj0iY2VudGVyIj5saWJ4bWwyIFJlZmVyZW5jZSBNYW51YWw8L3RoPgorICAgICAgPC90cj4KKyAgICA8L3RhYmxlPgorICAgIDxoMj4KKyAgICAgIDxzcGFuIGNsYXNzPSJyZWZlbnRyeXRpdGxlIj5zY2hlbWF0cm9uPC9zcGFuPgorICAgIDwvaDI+CisgICAgPHA+c2NoZW1hdHJvbiAtIFhNTCBTY2hlbWFzdHJvbiBpbXBsZW1lbnRhdGlvbjwvcD4KKyAgICA8cD5pbnRlcmZhY2UgdG8gdGhlIFhNTCBTY2hlbWF0cm9uIHZhbGlkaXR5IGNoZWNraW5nLiA8L3A+CisgICAgPHA+QXV0aG9yKHMpOiBEYW5pZWwgVmVpbGxhcmQgPC9wPgorICAgIDxkaXYgY2xhc3M9InJlZnN5bm9wc2lzZGl2Ij4KKyAgICAgIDxoMj5TeW5vcHNpczwvaDI+CisgICAgICA8cHJlIGNsYXNzPSJzeW5vcHNpcyI+dHlwZWRlZiBzdHJ1Y3QgX3htbFNjaGVtYXRyb25WYWxpZEN0eHQgPGEgaHJlZj0iI3htbFNjaGVtYXRyb25WYWxpZEN0eHQiPnhtbFNjaGVtYXRyb25WYWxpZEN0eHQ8L2E+OwordHlwZWRlZiBlbnVtIDxhIGhyZWY9IiN4bWxTY2hlbWF0cm9uVmFsaWRPcHRpb25zIj54bWxTY2hlbWF0cm9uVmFsaWRPcHRpb25zPC9hPjsKK3R5cGVkZWYgPGEgaHJlZj0ibGlieG1sMi1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvbiI+eG1sU2NoZW1hdHJvbjwvYT4gKiA8YSBocmVmPSIjeG1sU2NoZW1hdHJvblB0ciI+eG1sU2NoZW1hdHJvblB0cjwvYT47Cit0eXBlZGVmIHN0cnVjdCBfeG1sU2NoZW1hdHJvblBhcnNlckN0eHQgPGEgaHJlZj0iI3htbFNjaGVtYXRyb25QYXJzZXJDdHh0Ij54bWxTY2hlbWF0cm9uUGFyc2VyQ3R4dDwvYT47Cit0eXBlZGVmIHN0cnVjdCBfeG1sU2NoZW1hdHJvbiA8YSBocmVmPSIjeG1sU2NoZW1hdHJvbiI+eG1sU2NoZW1hdHJvbjwvYT47Cit0eXBlZGVmIDxhIGhyZWY9ImxpYnhtbDItc2NoZW1hdHJvbi5odG1sI3htbFNjaGVtYXRyb25WYWxpZEN0eHQiPnhtbFNjaGVtYXRyb25WYWxpZEN0eHQ8L2E+ICogPGEgaHJlZj0iI3htbFNjaGVtYXRyb25WYWxpZEN0eHRQdHIiPnhtbFNjaGVtYXRyb25WYWxpZEN0eHRQdHI8L2E+OwordHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwyLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uUGFyc2VyQ3R4dCI+eG1sU2NoZW1hdHJvblBhcnNlckN0eHQ8L2E+ICogPGEgaHJlZj0iI3htbFNjaGVtYXRyb25QYXJzZXJDdHh0UHRyIj54bWxTY2hlbWF0cm9uUGFyc2VyQ3R4dFB0cjwvYT47CitpbnQJPGEgaHJlZj0iI3htbFNjaGVtYXRyb25WYWxpZGF0ZURvYyI+eG1sU2NoZW1hdHJvblZhbGlkYXRlRG9jPC9hPgkoPGEgaHJlZj0ibGlieG1sMi1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvblZhbGlkQ3R4dFB0ciI+eG1sU2NoZW1hdHJvblZhbGlkQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gaW5zdGFuY2UpOwordm9pZAk8YSBocmVmPSIjeG1sU2NoZW1hdHJvbkZyZWVQYXJzZXJDdHh0Ij54bWxTY2hlbWF0cm9uRnJlZVBhcnNlckN0eHQ8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uUGFyc2VyQ3R4dFB0ciI+eG1sU2NoZW1hdHJvblBhcnNlckN0eHRQdHI8L2E+IGN0eHQpOworPGEgaHJlZj0ibGlieG1sMi1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvblBhcnNlckN0eHRQdHIiPnhtbFNjaGVtYXRyb25QYXJzZXJDdHh0UHRyPC9hPgk8YSBocmVmPSIjeG1sU2NoZW1hdHJvbk5ld01lbVBhcnNlckN0eHQiPnhtbFNjaGVtYXRyb25OZXdNZW1QYXJzZXJDdHh0PC9hPgkoY29uc3QgY2hhciAqIGJ1ZmZlciwgPGJyLz4JCQkJCQkJIGludCBzaXplKTsKK3R5cGVkZWYgdm9pZCA8YSBocmVmPSIjeG1sU2NoZW1hdHJvblZhbGlkaXR5RXJyb3JGdW5jIj54bWxTY2hlbWF0cm9uVmFsaWRpdHlFcnJvckZ1bmM8L2E+CSh2b2lkICogY3R4LCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBtc2csIDxici8+CQkJCQkgLi4uIC4uLik7Cis8YSBocmVmPSJsaWJ4bWwyLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uUGFyc2VyQ3R4dFB0ciI+eG1sU2NoZW1hdHJvblBhcnNlckN0eHRQdHI8L2E+CTxhIGhyZWY9IiN4bWxTY2hlbWF0cm9uTmV3UGFyc2VyQ3R4dCI+eG1sU2NoZW1hdHJvbk5ld1BhcnNlckN0eHQ8L2E+CShjb25zdCBjaGFyICogVVJMKTsKK3R5cGVkZWYgdm9pZCA8YSBocmVmPSIjeG1sU2NoZW1hdHJvblZhbGlkaXR5V2FybmluZ0Z1bmMiPnhtbFNjaGVtYXRyb25WYWxpZGl0eVdhcm5pbmdGdW5jPC9hPgkodm9pZCAqIGN0eCwgPGJyLz4JCQkJCQkgY29uc3QgY2hhciAqIG1zZywgPGJyLz4JCQkJCQkgLi4uIC4uLik7Cit2b2lkCTxhIGhyZWY9IiN4bWxTY2hlbWF0cm9uRnJlZSI+eG1sU2NoZW1hdHJvbkZyZWU8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvblB0ciI+eG1sU2NoZW1hdHJvblB0cjwvYT4gc2NoZW1hKTsKK3ZvaWQJPGEgaHJlZj0iI3htbFNjaGVtYXRyb25TZXRWYWxpZFN0cnVjdHVyZWRFcnJvcnMiPnhtbFNjaGVtYXRyb25TZXRWYWxpZFN0cnVjdHVyZWRFcnJvcnM8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uVmFsaWRDdHh0UHRyIj54bWxTY2hlbWF0cm9uVmFsaWRDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjeG1sU3RydWN0dXJlZEVycm9yRnVuYyI+eG1sU3RydWN0dXJlZEVycm9yRnVuYzwvYT4gc2Vycm9yLCA8YnIvPgkJCQkJCSB2b2lkICogY3R4KTsKK3ZvaWQJPGEgaHJlZj0iI3htbFNjaGVtYXRyb25GcmVlVmFsaWRDdHh0Ij54bWxTY2hlbWF0cm9uRnJlZVZhbGlkQ3R4dDwvYT4JKDxhIGhyZWY9ImxpYnhtbDItc2NoZW1hdHJvbi5odG1sI3htbFNjaGVtYXRyb25WYWxpZEN0eHRQdHIiPnhtbFNjaGVtYXRyb25WYWxpZEN0eHRQdHI8L2E+IGN0eHQpOworPGEgaHJlZj0ibGlieG1sMi1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvblB0ciI+eG1sU2NoZW1hdHJvblB0cjwvYT4JPGEgaHJlZj0iI3htbFNjaGVtYXRyb25QYXJzZSI+eG1sU2NoZW1hdHJvblBhcnNlPC9hPgkoPGEgaHJlZj0ibGlieG1sMi1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvblBhcnNlckN0eHRQdHIiPnhtbFNjaGVtYXRyb25QYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTsKKzxhIGhyZWY9ImxpYnhtbDItc2NoZW1hdHJvbi5odG1sI3htbFNjaGVtYXRyb25QYXJzZXJDdHh0UHRyIj54bWxTY2hlbWF0cm9uUGFyc2VyQ3R4dFB0cjwvYT4JPGEgaHJlZj0iI3htbFNjaGVtYXRyb25OZXdEb2NQYXJzZXJDdHh0Ij54bWxTY2hlbWF0cm9uTmV3RG9jUGFyc2VyQ3R4dDwvYT4JKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MpOworPGEgaHJlZj0ibGlieG1sMi1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvblZhbGlkQ3R4dFB0ciI+eG1sU2NoZW1hdHJvblZhbGlkQ3R4dFB0cjwvYT4JPGEgaHJlZj0iI3htbFNjaGVtYXRyb25OZXdWYWxpZEN0eHQiPnhtbFNjaGVtYXRyb25OZXdWYWxpZEN0eHQ8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uUHRyIj54bWxTY2hlbWF0cm9uUHRyPC9hPiBzY2hlbWEsIDxici8+CQkJCQkJCSBpbnQgb3B0aW9ucyk7Cis8L3ByZT4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MSIgbGFuZz0iZW4iPgorICAgICAgPGgyPkRlc2NyaXB0aW9uPC9oMj4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MSIgbGFuZz0iZW4iPgorICAgICAgPGgyPkRldGFpbHM8L2gyPgorICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU2NoZW1hdHJvbiI+U3RydWN0dXJlIDwvYT54bWxTY2hlbWF0cm9uPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+c3RydWN0IF94bWxTY2hlbWF0cm9uIHsKK1RoZSBjb250ZW50IG9mIHRoaXMgc3RydWN0dXJlIGlzIG5vdCBtYWRlIHB1YmxpYyBieSB0aGUgQVBJLgorfSB4bWxTY2hlbWF0cm9uOworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNjaGVtYXRyb25QYXJzZXJDdHh0Ij5TdHJ1Y3R1cmUgPC9hPnhtbFNjaGVtYXRyb25QYXJzZXJDdHh0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+c3RydWN0IF94bWxTY2hlbWF0cm9uUGFyc2VyQ3R4dCB7CitUaGUgY29udGVudCBvZiB0aGlzIHN0cnVjdHVyZSBpcyBub3QgbWFkZSBwdWJsaWMgYnkgdGhlIEFQSS4KK30geG1sU2NoZW1hdHJvblBhcnNlckN0eHQ7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU2NoZW1hdHJvblBhcnNlckN0eHRQdHIiPlR5cGVkZWYgPC9hPnhtbFNjaGVtYXRyb25QYXJzZXJDdHh0UHRyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvblBhcnNlckN0eHQiPnhtbFNjaGVtYXRyb25QYXJzZXJDdHh0PC9hPiAqIHhtbFNjaGVtYXRyb25QYXJzZXJDdHh0UHRyOworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNjaGVtYXRyb25QdHIiPlR5cGVkZWYgPC9hPnhtbFNjaGVtYXRyb25QdHI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uIj54bWxTY2hlbWF0cm9uPC9hPiAqIHhtbFNjaGVtYXRyb25QdHI7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU2NoZW1hdHJvblZhbGlkQ3R4dCI+U3RydWN0dXJlIDwvYT54bWxTY2hlbWF0cm9uVmFsaWRDdHh0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+c3RydWN0IF94bWxTY2hlbWF0cm9uVmFsaWRDdHh0IHsKK1RoZSBjb250ZW50IG9mIHRoaXMgc3RydWN0dXJlIGlzIG5vdCBtYWRlIHB1YmxpYyBieSB0aGUgQVBJLgorfSB4bWxTY2hlbWF0cm9uVmFsaWRDdHh0OworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNjaGVtYXRyb25WYWxpZEN0eHRQdHIiPlR5cGVkZWYgPC9hPnhtbFNjaGVtYXRyb25WYWxpZEN0eHRQdHI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uVmFsaWRDdHh0Ij54bWxTY2hlbWF0cm9uVmFsaWRDdHh0PC9hPiAqIHhtbFNjaGVtYXRyb25WYWxpZEN0eHRQdHI7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU2NoZW1hdHJvblZhbGlkT3B0aW9ucyI+RW51bSA8L2E+eG1sU2NoZW1hdHJvblZhbGlkT3B0aW9uczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmVudW0gPGEgaHJlZj0iI3htbFNjaGVtYXRyb25WYWxpZE9wdGlvbnMiPnhtbFNjaGVtYXRyb25WYWxpZE9wdGlvbnM8L2E+IHsKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BVFJPTl9PVVRfUVVJRVQiPlhNTF9TQ0hFTUFUUk9OX09VVF9RVUlFVDwvYT4gPSAxIC8qIHF1aWV0IG5vIHJlcG9ydCAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFUUk9OX09VVF9URVhUIj5YTUxfU0NIRU1BVFJPTl9PVVRfVEVYVDwvYT4gPSAyIC8qIGJ1aWxkIGEgdGV4dHVhbCByZXBvcnQgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BVFJPTl9PVVRfWE1MIj5YTUxfU0NIRU1BVFJPTl9PVVRfWE1MPC9hPiA9IDQgLyogb3V0cHV0IFNWUkwgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BVFJPTl9PVVRfRVJST1IiPlhNTF9TQ0hFTUFUUk9OX09VVF9FUlJPUjwvYT4gPSA4IC8qIG91dHB1dCB2aWEgeG1sU3RydWN0dXJlZEVycm9yRnVuYyAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFUUk9OX09VVF9GSUxFIj5YTUxfU0NIRU1BVFJPTl9PVVRfRklMRTwvYT4gPSAyNTYgLyogb3V0cHV0IHRvIGEgZmlsZSBkZXNjcmlwdG9yICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVRST05fT1VUX0JVRkZFUiI+WE1MX1NDSEVNQVRST05fT1VUX0JVRkZFUjwvYT4gPSA1MTIgLyogb3V0cHV0IHRvIGEgYnVmZmVyICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVRST05fT1VUX0lPIj5YTUxfU0NIRU1BVFJPTl9PVVRfSU88L2E+ID0gMTAyNCAvKiAgb3V0cHV0IHRvIEkvTyBtZWNoYW5pc20gKi8KK307Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU2NoZW1hdHJvblZhbGlkaXR5RXJyb3JGdW5jIi8+RnVuY3Rpb24gdHlwZSB4bWxTY2hlbWF0cm9uVmFsaWRpdHlFcnJvckZ1bmM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFNjaGVtYXRyb25WYWxpZGl0eUVycm9yRnVuYwkodm9pZCAqIGN0eCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogbXNnLCA8YnIvPgkJCQkJIC4uLiAuLi4pPGJyLz4KKzwvcHJlPjxwPlNpZ25hdHVyZSBvZiBhbiBlcnJvciBjYWxsYmFjayBmcm9tIGEgU2NoZW1hdHJvbiB2YWxpZGF0aW9uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB2YWxpZGF0aW9uIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm1zZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG1lc3NhZ2U8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pi4uLjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+ZXh0cmEgYXJndW1lbnRzPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU2NoZW1hdHJvblZhbGlkaXR5V2FybmluZ0Z1bmMiLz5GdW5jdGlvbiB0eXBlIHhtbFNjaGVtYXRyb25WYWxpZGl0eVdhcm5pbmdGdW5jPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxTY2hlbWF0cm9uVmFsaWRpdHlXYXJuaW5nRnVuYwkodm9pZCAqIGN0eCwgPGJyLz4JCQkJCQkgY29uc3QgY2hhciAqIG1zZywgPGJyLz4JCQkJCQkgLi4uIC4uLik8YnIvPgorPC9wcmU+PHA+U2lnbmF0dXJlIG9mIGEgd2FybmluZyBjYWxsYmFjayBmcm9tIGEgU2NoZW1hdHJvbiB2YWxpZGF0aW9uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB2YWxpZGF0aW9uIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm1zZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG1lc3NhZ2U8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pi4uLjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+ZXh0cmEgYXJndW1lbnRzPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU2NoZW1hdHJvbkZyZWUiLz54bWxTY2hlbWF0cm9uRnJlZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sU2NoZW1hdHJvbkZyZWUJCSg8YSBocmVmPSJsaWJ4bWwyLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uUHRyIj54bWxTY2hlbWF0cm9uUHRyPC9hPiBzY2hlbWEpPGJyLz4KKzwvcHJlPjxwPkRlYWxsb2NhdGUgYSBTY2hlbWF0cm9uIHN0cnVjdHVyZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNjaGVtYTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBzY2hlbWEgc3RydWN0dXJlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU2NoZW1hdHJvbkZyZWVQYXJzZXJDdHh0Ii8+eG1sU2NoZW1hdHJvbkZyZWVQYXJzZXJDdHh0ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxTY2hlbWF0cm9uRnJlZVBhcnNlckN0eHQJKDxhIGhyZWY9ImxpYnhtbDItc2NoZW1hdHJvbi5odG1sI3htbFNjaGVtYXRyb25QYXJzZXJDdHh0UHRyIj54bWxTY2hlbWF0cm9uUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8YnIvPgorPC9wcmU+PHA+RnJlZSB0aGUgcmVzb3VyY2VzIGFzc29jaWF0ZWQgdG8gdGhlIHNjaGVtYSBwYXJzZXIgY29udGV4dDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHNjaGVtYSBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNjaGVtYXRyb25GcmVlVmFsaWRDdHh0Ii8+eG1sU2NoZW1hdHJvbkZyZWVWYWxpZEN0eHQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFNjaGVtYXRyb25GcmVlVmFsaWRDdHh0CSg8YSBocmVmPSJsaWJ4bWwyLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uVmFsaWRDdHh0UHRyIj54bWxTY2hlbWF0cm9uVmFsaWRDdHh0UHRyPC9hPiBjdHh0KTxici8+Cis8L3ByZT48cD5GcmVlIHRoZSByZXNvdXJjZXMgYXNzb2NpYXRlZCB0byB0aGUgc2NoZW1hIHZhbGlkYXRpb24gY29udGV4dDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHNjaGVtYSB2YWxpZGF0aW9uIGNvbnRleHQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTY2hlbWF0cm9uTmV3RG9jUGFyc2VyQ3R4dCIvPnhtbFNjaGVtYXRyb25OZXdEb2NQYXJzZXJDdHh0ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvblBhcnNlckN0eHRQdHIiPnhtbFNjaGVtYXRyb25QYXJzZXJDdHh0UHRyPC9hPgl4bWxTY2hlbWF0cm9uTmV3RG9jUGFyc2VyQ3R4dAkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYyk8YnIvPgorPC9wcmU+PHA+Q3JlYXRlIGFuIFhNTCBTY2hlbWF0cm9ucyBwYXJzZSBjb250ZXh0IGZvciB0aGF0IGRvY3VtZW50LiBOQi4gVGhlIGRvY3VtZW50IG1heSBiZSBtb2RpZmllZCBkdXJpbmcgdGhlIHBhcnNpbmcgcHJvY2Vzcy48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwcmVwYXJzZWQgZG9jdW1lbnQgdHJlZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHBhcnNlciBjb250ZXh0IG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNjaGVtYXRyb25OZXdNZW1QYXJzZXJDdHh0Ii8+eG1sU2NoZW1hdHJvbk5ld01lbVBhcnNlckN0eHQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uUGFyc2VyQ3R4dFB0ciI+eG1sU2NoZW1hdHJvblBhcnNlckN0eHRQdHI8L2E+CXhtbFNjaGVtYXRyb25OZXdNZW1QYXJzZXJDdHh0CShjb25zdCBjaGFyICogYnVmZmVyLCA8YnIvPgkJCQkJCQkgaW50IHNpemUpPGJyLz4KKzwvcHJlPjxwPkNyZWF0ZSBhbiBYTUwgU2NoZW1hdHJvbnMgcGFyc2UgY29udGV4dCBmb3IgdGhhdCBtZW1vcnkgYnVmZmVyIGV4cGVjdGVkIHRvIGNvbnRhaW4gYW4gWE1MIFNjaGVtYXRyb25zIGZpbGUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5idWZmZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byBhIGNoYXIgYXJyYXkgY29udGFpbmluZyB0aGUgc2NoZW1hczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2l6ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHNpemUgb2YgdGhlIGFycmF5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcGFyc2VyIGNvbnRleHQgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU2NoZW1hdHJvbk5ld1BhcnNlckN0eHQiLz54bWxTY2hlbWF0cm9uTmV3UGFyc2VyQ3R4dCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItc2NoZW1hdHJvbi5odG1sI3htbFNjaGVtYXRyb25QYXJzZXJDdHh0UHRyIj54bWxTY2hlbWF0cm9uUGFyc2VyQ3R4dFB0cjwvYT4JeG1sU2NoZW1hdHJvbk5ld1BhcnNlckN0eHQJKGNvbnN0IGNoYXIgKiBVUkwpPGJyLz4KKzwvcHJlPjxwPkNyZWF0ZSBhbiBYTUwgU2NoZW1hdHJvbnMgcGFyc2UgY29udGV4dCBmb3IgdGhhdCBmaWxlL3Jlc291cmNlIGV4cGVjdGVkIHRvIGNvbnRhaW4gYW4gWE1MIFNjaGVtYXRyb25zIGZpbGUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5VUkw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsb2NhdGlvbiBvZiB0aGUgc2NoZW1hPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcGFyc2VyIGNvbnRleHQgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU2NoZW1hdHJvbk5ld1ZhbGlkQ3R4dCIvPnhtbFNjaGVtYXRyb25OZXdWYWxpZEN0eHQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uVmFsaWRDdHh0UHRyIj54bWxTY2hlbWF0cm9uVmFsaWRDdHh0UHRyPC9hPgl4bWxTY2hlbWF0cm9uTmV3VmFsaWRDdHh0CSg8YSBocmVmPSJsaWJ4bWwyLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uUHRyIj54bWxTY2hlbWF0cm9uUHRyPC9hPiBzY2hlbWEsIDxici8+CQkJCQkJCSBpbnQgb3B0aW9ucyk8YnIvPgorPC9wcmU+PHA+Q3JlYXRlIGFuIFhNTCBTY2hlbWF0cm9ucyB2YWxpZGF0aW9uIGNvbnRleHQgYmFzZWQgb24gdGhlIGdpdmVuIHNjaGVtYS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNjaGVtYTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwcmVjb21waWxlZCBYTUwgU2NoZW1hdHJvbnM8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm9wdGlvbnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgc2V0IG9mIDxhIGhyZWY9ImxpYnhtbDItc2NoZW1hdHJvbi5odG1sI3htbFNjaGVtYXRyb25WYWxpZE9wdGlvbnMiPnhtbFNjaGVtYXRyb25WYWxpZE9wdGlvbnM8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdmFsaWRhdGlvbiBjb250ZXh0IG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNjaGVtYXRyb25QYXJzZSIvPnhtbFNjaGVtYXRyb25QYXJzZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItc2NoZW1hdHJvbi5odG1sI3htbFNjaGVtYXRyb25QdHIiPnhtbFNjaGVtYXRyb25QdHI8L2E+CXhtbFNjaGVtYXRyb25QYXJzZQkoPGEgaHJlZj0ibGlieG1sMi1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvblBhcnNlckN0eHRQdHIiPnhtbFNjaGVtYXRyb25QYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTxici8+Cis8L3ByZT48cD5wYXJzZSBhIHNjaGVtYSBkZWZpbml0aW9uIHJlc291cmNlIGFuZCBidWlsZCBhbiBpbnRlcm5hbCBYTUwgU2hlbWEgc3RydXR1cmUgd2hpY2ggY2FuIGJlIHVzZWQgdG8gdmFsaWRhdGUgaW5zdGFuY2VzLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBzY2hlbWEgdmFsaWRhdGlvbiBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaW50ZXJuYWwgWE1MIFNjaGVtYXRyb24gc3RydWN0dXJlIGJ1aWx0IGZyb20gdGhlIHJlc291cmNlIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNjaGVtYXRyb25TZXRWYWxpZFN0cnVjdHVyZWRFcnJvcnMiLz54bWxTY2hlbWF0cm9uU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxTY2hlbWF0cm9uU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzCSg8YSBocmVmPSJsaWJ4bWwyLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uVmFsaWRDdHh0UHRyIj54bWxTY2hlbWF0cm9uVmFsaWRDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjeG1sU3RydWN0dXJlZEVycm9yRnVuYyI+eG1sU3RydWN0dXJlZEVycm9yRnVuYzwvYT4gc2Vycm9yLCA8YnIvPgkJCQkJCSB2b2lkICogY3R4KTxici8+Cis8L3ByZT48cD5TZXQgdGhlIHN0cnVjdHVyZWQgZXJyb3IgY2FsbGJhY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgU2NoZW1hdHJvbiB2YWxpZGF0aW9uIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNlcnJvcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHN0cnVjdHVyZWQgZXJyb3IgZnVuY3Rpb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZ1bmN0aW9ucyBjb250ZXh0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU2NoZW1hdHJvblZhbGlkYXRlRG9jIi8+eG1sU2NoZW1hdHJvblZhbGlkYXRlRG9jICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFNjaGVtYXRyb25WYWxpZGF0ZURvYwkoPGEgaHJlZj0ibGlieG1sMi1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvblZhbGlkQ3R4dFB0ciI+eG1sU2NoZW1hdHJvblZhbGlkQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gaW5zdGFuY2UpPGJyLz4KKzwvcHJlPjxwPlZhbGlkYXRlIGEgdHJlZSBpbnN0YW5jZSBhZ2FpbnN0IHRoZSBzY2hlbWF0cm9uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc2NoZW1hIHZhbGlkYXRpb24gY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aW5zdGFuY2U8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudCBpbnN0YWNlIHRyZWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaW4gY2FzZSBvZiBzdWNjZXNzLCAtMSBpbiBjYXNlIG9mIGludGVybmFsIGVycm9yIGFuZCBhbiBlcnJvciBjb3VudCBvdGhlcndpc2UuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgIDwvZGl2PgorICAgIDwvZGl2PgorICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9kZXZoZWxwL2xpYnhtbDItdGhyZWFkcy5odG1sIGIvbGlieG1sMi9kb2MvZGV2aGVscC9saWJ4bWwyLXRocmVhZHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZGRkMGJjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvZGV2aGVscC9saWJ4bWwyLXRocmVhZHMuaHRtbApAQCAtMCwwICsxLDE2MSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxodG1sPgorICA8aGVhZD4KKyAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIvPgorICAgIDx0aXRsZT50aHJlYWRzOiBpbnRlcmZhY2VzIGZvciB0aHJlYWQgaGFuZGxpbmc8L3RpdGxlPgorICAgIDxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iTGlieG1sMiBkZXZoZWxwIHN0eWxlc2hlZXQiLz4KKyAgICA8bGluayByZWw9InN0YXJ0IiBocmVmPSJpbmRleC5odG1sIiB0aXRsZT0ibGlieG1sMiBSZWZlcmVuY2UgTWFudWFsIi8+CisgICAgPGxpbmsgcmVsPSJ1cCIgaHJlZj0iZ2VuZXJhbC5odG1sIiB0aXRsZT0iQVBJIi8+CisgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJzdHlsZS5jc3MiIHR5cGU9InRleHQvY3NzIi8+CisgICAgPGxpbmsgcmVsPSJjaGFwdGVyIiBocmVmPSJnZW5lcmFsLmh0bWwiIHRpdGxlPSJBUEkiLz4KKyAgPC9oZWFkPgorICA8Ym9keSBiZ2NvbG9yPSJ3aGl0ZSIgdGV4dD0iYmxhY2siIGxpbms9IiMwMDAwRkYiIHZsaW5rPSIjODQwMDg0IiBhbGluaz0iIzAwMDBGRiI+CisgICAgPHRhYmxlIGNsYXNzPSJuYXZpZ2F0aW9uIiB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBoZWFkZXIiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMiI+CisgICAgICA8dHIgdmFsaWduPSJtaWRkbGUiPgorICAgICAgICA8dGQ+CisgICAgICAgICAgPGEgYWNjZXNza2V5PSJwIiBocmVmPSJsaWJ4bWwyLXNjaGVtYXRyb24uaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0ibGVmdC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlByZXYiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9InUiIGhyZWY9ImdlbmVyYWwuaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0idXAucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJVcCIvPgorICAgICAgICAgIDwvYT4KKyAgICAgICAgPC90ZD4KKyAgICAgICAgPHRkPgorICAgICAgICAgIDxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iaW5kZXguaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0iaG9tZS5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IkhvbWUiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9Im4iIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sIj4KKyAgICAgICAgICAgIDxpbWcgc3JjPSJyaWdodC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9Ik5leHQiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0aCB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+bGlieG1sMiBSZWZlcmVuY2UgTWFudWFsPC90aD4KKyAgICAgIDwvdHI+CisgICAgPC90YWJsZT4KKyAgICA8aDI+CisgICAgICA8c3BhbiBjbGFzcz0icmVmZW50cnl0aXRsZSI+dGhyZWFkczwvc3Bhbj4KKyAgICA8L2gyPgorICAgIDxwPnRocmVhZHMgLSBpbnRlcmZhY2VzIGZvciB0aHJlYWQgaGFuZGxpbmc8L3A+CisgICAgPHA+c2V0IG9mIGdlbmVyaWMgdGhyZWFkaW5nIHJlbGF0ZWQgcm91dGluZXMgc2hvdWxkIHdvcmsgd2l0aCBwdGhyZWFkcywgV2luZG93cyBuYXRpdmUgb3IgVExTIHRocmVhZHMgPC9wPgorICAgIDxwPkF1dGhvcihzKTogRGFuaWVsIFZlaWxsYXJkIDwvcD4KKyAgICA8ZGl2IGNsYXNzPSJyZWZzeW5vcHNpc2RpdiI+CisgICAgICA8aDI+U3lub3BzaXM8L2gyPgorICAgICAgPHByZSBjbGFzcz0ic3lub3BzaXMiPnR5cGVkZWYgc3RydWN0IF94bWxNdXRleCA8YSBocmVmPSIjeG1sTXV0ZXgiPnhtbE11dGV4PC9hPjsKK3R5cGVkZWYgc3RydWN0IF94bWxSTXV0ZXggPGEgaHJlZj0iI3htbFJNdXRleCI+eG1sUk11dGV4PC9hPjsKK3R5cGVkZWYgPGEgaHJlZj0ibGlieG1sMi10aHJlYWRzLmh0bWwjeG1sUk11dGV4Ij54bWxSTXV0ZXg8L2E+ICogPGEgaHJlZj0iI3htbFJNdXRleFB0ciI+eG1sUk11dGV4UHRyPC9hPjsKK3R5cGVkZWYgPGEgaHJlZj0ibGlieG1sMi10aHJlYWRzLmh0bWwjeG1sTXV0ZXgiPnhtbE11dGV4PC9hPiAqIDxhIGhyZWY9IiN4bWxNdXRleFB0ciI+eG1sTXV0ZXhQdHI8L2E+Owordm9pZAk8YSBocmVmPSIjeG1sRnJlZVJNdXRleCI+eG1sRnJlZVJNdXRleDwvYT4JCQkoPGEgaHJlZj0ibGlieG1sMi10aHJlYWRzLmh0bWwjeG1sUk11dGV4UHRyIj54bWxSTXV0ZXhQdHI8L2E+IHRvayk7CitpbnQJPGEgaHJlZj0iI3htbEdldFRocmVhZElkIj54bWxHZXRUaHJlYWRJZDwvYT4JCQkodm9pZCk7Cit2b2lkCTxhIGhyZWY9IiN4bWxNdXRleFVubG9jayI+eG1sTXV0ZXhVbmxvY2s8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbDItdGhyZWFkcy5odG1sI3htbE11dGV4UHRyIj54bWxNdXRleFB0cjwvYT4gdG9rKTsKK3ZvaWQJPGEgaHJlZj0iI3htbENsZWFudXBUaHJlYWRzIj54bWxDbGVhbnVwVGhyZWFkczwvYT4JCSh2b2lkKTsKK3ZvaWQJPGEgaHJlZj0iI3htbExvY2tMaWJyYXJ5Ij54bWxMb2NrTGlicmFyeTwvYT4JCQkodm9pZCk7Cis8YSBocmVmPSJsaWJ4bWwyLXRocmVhZHMuaHRtbCN4bWxSTXV0ZXhQdHIiPnhtbFJNdXRleFB0cjwvYT4JPGEgaHJlZj0iI3htbE5ld1JNdXRleCI+eG1sTmV3Uk11dGV4PC9hPgkJKHZvaWQpOwordm9pZAk8YSBocmVmPSIjeG1sTXV0ZXhMb2NrIj54bWxNdXRleExvY2s8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbDItdGhyZWFkcy5odG1sI3htbE11dGV4UHRyIj54bWxNdXRleFB0cjwvYT4gdG9rKTsKK2ludAk8YSBocmVmPSIjeG1sSXNNYWluVGhyZWFkIj54bWxJc01haW5UaHJlYWQ8L2E+CQkJKHZvaWQpOwordm9pZAk8YSBocmVmPSIjeG1sUk11dGV4VW5sb2NrIj54bWxSTXV0ZXhVbmxvY2s8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbDItdGhyZWFkcy5odG1sI3htbFJNdXRleFB0ciI+eG1sUk11dGV4UHRyPC9hPiB0b2spOworPGEgaHJlZj0ibGlieG1sMi1nbG9iYWxzLmh0bWwjeG1sR2xvYmFsU3RhdGVQdHIiPnhtbEdsb2JhbFN0YXRlUHRyPC9hPgk8YSBocmVmPSIjeG1sR2V0R2xvYmFsU3RhdGUiPnhtbEdldEdsb2JhbFN0YXRlPC9hPgkodm9pZCk7Cis8YSBocmVmPSJsaWJ4bWwyLXRocmVhZHMuaHRtbCN4bWxNdXRleFB0ciI+eG1sTXV0ZXhQdHI8L2E+CTxhIGhyZWY9IiN4bWxOZXdNdXRleCI+eG1sTmV3TXV0ZXg8L2E+CQkodm9pZCk7CitpbnQJPGEgaHJlZj0iI3htbERsbE1haW4iPnhtbERsbE1haW48L2E+CQkJKHZvaWQgKiBoaW5zdERMTCwgPGJyLz4JCQkJCSB1bnNpZ25lZCBsb25nIGZkd1JlYXNvbiwgPGJyLz4JCQkJCSB2b2lkICogbHB2UmVzZXJ2ZWQpOwordm9pZAk8YSBocmVmPSIjeG1sRnJlZU11dGV4Ij54bWxGcmVlTXV0ZXg8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbDItdGhyZWFkcy5odG1sI3htbE11dGV4UHRyIj54bWxNdXRleFB0cjwvYT4gdG9rKTsKK3ZvaWQJPGEgaHJlZj0iI3htbFVubG9ja0xpYnJhcnkiPnhtbFVubG9ja0xpYnJhcnk8L2E+CQkodm9pZCk7Cit2b2lkCTxhIGhyZWY9IiN4bWxJbml0VGhyZWFkcyI+eG1sSW5pdFRocmVhZHM8L2E+CQkJKHZvaWQpOwordm9pZAk8YSBocmVmPSIjeG1sUk11dGV4TG9jayI+eG1sUk11dGV4TG9jazwvYT4JCQkoPGEgaHJlZj0ibGlieG1sMi10aHJlYWRzLmh0bWwjeG1sUk11dGV4UHRyIj54bWxSTXV0ZXhQdHI8L2E+IHRvayk7Cis8L3ByZT4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MSIgbGFuZz0iZW4iPgorICAgICAgPGgyPkRlc2NyaXB0aW9uPC9oMj4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MSIgbGFuZz0iZW4iPgorICAgICAgPGgyPkRldGFpbHM8L2gyPgorICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTXV0ZXgiPlN0cnVjdHVyZSA8L2E+eG1sTXV0ZXg8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5zdHJ1Y3QgX3htbE11dGV4IHsKK1RoZSBjb250ZW50IG9mIHRoaXMgc3RydWN0dXJlIGlzIG5vdCBtYWRlIHB1YmxpYyBieSB0aGUgQVBJLgorfSB4bWxNdXRleDsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxNdXRleFB0ciI+VHlwZWRlZiA8L2E+eG1sTXV0ZXhQdHI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRocmVhZHMuaHRtbCN4bWxNdXRleCI+eG1sTXV0ZXg8L2E+ICogeG1sTXV0ZXhQdHI7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUk11dGV4Ij5TdHJ1Y3R1cmUgPC9hPnhtbFJNdXRleDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnN0cnVjdCBfeG1sUk11dGV4IHsKK1RoZSBjb250ZW50IG9mIHRoaXMgc3RydWN0dXJlIGlzIG5vdCBtYWRlIHB1YmxpYyBieSB0aGUgQVBJLgorfSB4bWxSTXV0ZXg7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUk11dGV4UHRyIj5UeXBlZGVmIDwvYT54bWxSTXV0ZXhQdHI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRocmVhZHMuaHRtbCN4bWxSTXV0ZXgiPnhtbFJNdXRleDwvYT4gKiB4bWxSTXV0ZXhQdHI7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sQ2xlYW51cFRocmVhZHMiLz54bWxDbGVhbnVwVGhyZWFkcyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sQ2xlYW51cFRocmVhZHMJCSh2b2lkKTxici8+Cis8L3ByZT48cD54bWxDbGVhbnVwVGhyZWFkcygpIGlzIHVzZWQgdG8gdG8gY2xlYW51cCBhbGwgdGhlIHRocmVhZCByZWxhdGVkIGRhdGEgb2YgdGhlIGxpYnhtbDIgbGlicmFyeSBvbmNlIHByb2Nlc3NpbmcgaGFzIGVuZGVkLiBXQVJOSU5HOiBpZiB5b3VyIGFwcGxpY2F0aW9uIGlzIG11bHRpdGhyZWFkZWQgb3IgaGFzIHBsdWdpbiBzdXBwb3J0IGNhbGxpbmcgdGhpcyBtYXkgY3Jhc2ggdGhlIGFwcGxpY2F0aW9uIGlmIGFub3RoZXIgdGhyZWFkIG9yIGEgcGx1Z2luIGlzIHN0aWxsIHVzaW5nIGxpYnhtbDIuIEl0J3Mgc29tZXRpbWVzIHZlcnkgaGFyZCB0byBndWVzcyBpZiBsaWJ4bWwyIGlzIGluIHVzZSBpbiB0aGUgYXBwbGljYXRpb24sIHNvbWUgbGlicmFyaWVzIG9yIHBsdWdpbnMgbWF5IHVzZSBpdCB3aXRob3V0IG5vdGljZS4gSW4gY2FzZSBvZiBkb3VidCBhYnN0YWluIGZyb20gY2FsbGluZyB0aGlzIGZ1bmN0aW9uIG9yIGRvIGl0IGp1c3QgYmVmb3JlIGNhbGxpbmcgZXhpdCgpIHRvIGF2b2lkIGxlYWsgcmVwb3J0cyBmcm9tIHZhbGdyaW5kICE8L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sRGxsTWFpbiIvPnhtbERsbE1haW4gKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sRGxsTWFpbgkJCSh2b2lkICogaGluc3RETEwsIDxici8+CQkJCQkgdW5zaWduZWQgbG9uZyBmZHdSZWFzb24sIDxici8+CQkJCQkgdm9pZCAqIGxwdlJlc2VydmVkKTxici8+Cis8L3ByZT48cC8+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmhpbnN0RExMPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZC8+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmR3UmVhc29uPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZC8+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bHB2UmVzZXJ2ZWQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkLz48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZC8+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEZyZWVNdXRleCIvPnhtbEZyZWVNdXRleCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sRnJlZU11dGV4CQkJKDxhIGhyZWY9ImxpYnhtbDItdGhyZWFkcy5odG1sI3htbE11dGV4UHRyIj54bWxNdXRleFB0cjwvYT4gdG9rKTxici8+Cis8L3ByZT48cD54bWxGcmVlTXV0ZXgoKSBpcyB1c2VkIHRvIHJlY2xhaW0gcmVzb3VyY2VzIGFzc29jaWF0ZWQgd2l0aCBhIGxpYnhtbDIgdG9rZW4gc3RydWN0LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dG9rPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc2ltcGxlIG11dGV4PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sRnJlZVJNdXRleCIvPnhtbEZyZWVSTXV0ZXggKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbEZyZWVSTXV0ZXgJCQkoPGEgaHJlZj0ibGlieG1sMi10aHJlYWRzLmh0bWwjeG1sUk11dGV4UHRyIj54bWxSTXV0ZXhQdHI8L2E+IHRvayk8YnIvPgorPC9wcmU+PHA+eG1sUkZyZWVNdXRleCgpIGlzIHVzZWQgdG8gcmVjbGFpbSByZXNvdXJjZXMgYXNzb2NpYXRlZCB3aXRoIGEgcmVlbnRyYW50IG11dGV4LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dG9rPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmVlbnRyYW50IG11dGV4PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sR2V0R2xvYmFsU3RhdGUiLz54bWxHZXRHbG9iYWxTdGF0ZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItZ2xvYmFscy5odG1sI3htbEdsb2JhbFN0YXRlUHRyIj54bWxHbG9iYWxTdGF0ZVB0cjwvYT4JeG1sR2V0R2xvYmFsU3RhdGUJKHZvaWQpPGJyLz4KKzwvcHJlPjxwPnhtbEdldEdsb2JhbFN0YXRlKCkgaXMgY2FsbGVkIHRvIHJldHJpZXZlIHRoZSBnbG9iYWwgc3RhdGUgZm9yIGEgdGhyZWFkLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHRocmVhZCBnbG9iYWwgc3RhdGUgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sR2V0VGhyZWFkSWQiLz54bWxHZXRUaHJlYWRJZCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxHZXRUaHJlYWRJZAkJCSh2b2lkKTxici8+Cis8L3ByZT48cD54bWxHZXRUaHJlYWRJZCgpIGZpbmQgdGhlIGN1cnJlbnQgdGhyZWFkIElEIG51bWJlciBOb3RlIHRoYXQgdGhpcyBpcyBsaWtlbHkgdG8gYmUgYnJva2VuIG9uIHNvbWUgcGxhdGZvcm1zIHVzaW5nIHB0aHJlYWRzIGFzIHRoZSBzcGVjaWZpY2F0aW9uIGRvZXNuJ3QgbWFuZGF0ZSBwdGhyZWFkX3QgdG8gYmUgYW4gaW50ZWdlciB0eXBlPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY3VycmVudCB0aHJlYWQgSUQgbnVtYmVyPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sSW5pdFRocmVhZHMiLz54bWxJbml0VGhyZWFkcyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sSW5pdFRocmVhZHMJCQkodm9pZCk8YnIvPgorPC9wcmU+PHA+eG1sSW5pdFRocmVhZHMoKSBpcyB1c2VkIHRvIHRvIGluaXRpYWxpemUgYWxsIHRoZSB0aHJlYWQgcmVsYXRlZCBkYXRhIG9mIHRoZSBsaWJ4bWwyIGxpYnJhcnkuPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbElzTWFpblRocmVhZCIvPnhtbElzTWFpblRocmVhZCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxJc01haW5UaHJlYWQJCQkodm9pZCk8YnIvPgorPC9wcmU+PHA+eG1sSXNNYWluVGhyZWFkKCkgY2hlY2sgd2hldGhlciB0aGUgY3VycmVudCB0aHJlYWQgaXMgdGhlIG1haW4gdGhyZWFkLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0aGUgY3VycmVudCB0aHJlYWQgaXMgdGhlIG1haW4gdGhyZWFkLCAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbExvY2tMaWJyYXJ5Ii8+eG1sTG9ja0xpYnJhcnkgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbExvY2tMaWJyYXJ5CQkJKHZvaWQpPGJyLz4KKzwvcHJlPjxwPnhtbExvY2tMaWJyYXJ5KCkgaXMgdXNlZCB0byB0YWtlIG91dCBhIHJlLWVudHJhbnQgbG9jayBvbiB0aGUgbGlieG1sMiBsaWJyYXJ5LjwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxNdXRleExvY2siLz54bWxNdXRleExvY2sgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbE11dGV4TG9jawkJCSg8YSBocmVmPSJsaWJ4bWwyLXRocmVhZHMuaHRtbCN4bWxNdXRleFB0ciI+eG1sTXV0ZXhQdHI8L2E+IHRvayk8YnIvPgorPC9wcmU+PHA+eG1sTXV0ZXhMb2NrKCkgaXMgdXNlZCB0byBsb2NrIGEgbGlieG1sMiB0b2tlbi48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRvazwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHNpbXBsZSBtdXRleDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE11dGV4VW5sb2NrIi8+eG1sTXV0ZXhVbmxvY2sgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbE11dGV4VW5sb2NrCQkJKDxhIGhyZWY9ImxpYnhtbDItdGhyZWFkcy5odG1sI3htbE11dGV4UHRyIj54bWxNdXRleFB0cjwvYT4gdG9rKTxici8+Cis8L3ByZT48cD54bWxNdXRleFVubG9jaygpIGlzIHVzZWQgdG8gdW5sb2NrIGEgbGlieG1sMiB0b2tlbi48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRvazwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHNpbXBsZSBtdXRleDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE5ld011dGV4Ii8+eG1sTmV3TXV0ZXggKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRocmVhZHMuaHRtbCN4bWxNdXRleFB0ciI+eG1sTXV0ZXhQdHI8L2E+CXhtbE5ld011dGV4CQkodm9pZCk8YnIvPgorPC9wcmU+PHA+eG1sTmV3TXV0ZXgoKSBpcyB1c2VkIHRvIGFsbG9jYXRlIGEgbGlieG1sMiB0b2tlbiBzdHJ1Y3QgZm9yIHVzZSBpbiBzeW5jaHJvbml6aW5nIGFjY2VzcyB0byBkYXRhLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBuZXcgc2ltcGxlIG11dGV4IHBvaW50ZXIgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTmV3Uk11dGV4Ii8+eG1sTmV3Uk11dGV4ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10aHJlYWRzLmh0bWwjeG1sUk11dGV4UHRyIj54bWxSTXV0ZXhQdHI8L2E+CXhtbE5ld1JNdXRleAkJKHZvaWQpPGJyLz4KKzwvcHJlPjxwPnhtbFJOZXdNdXRleCgpIGlzIHVzZWQgdG8gYWxsb2NhdGUgYSByZWVudHJhbnQgbXV0ZXggZm9yIHVzZSBpbiBzeW5jaHJvbml6aW5nIGFjY2VzcyB0byBkYXRhLiB0b2tlbl9yIGlzIGEgcmUtZW50cmFudCBsb2NrIGFuZCB0aHVzIHVzZWZ1bCBmb3Igc3luY2hyb25pemluZyBhY2Nlc3MgdG8gZGF0YSBzdHJ1Y3R1cmVzIHRoYXQgbWF5IGJlIG1hbmlwdWxhdGVkIGluIGEgcmVjdXJzaXZlIGZhc2hpb24uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IHJlZW50cmFudCBtdXRleCBwb2ludGVyIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFJNdXRleExvY2siLz54bWxSTXV0ZXhMb2NrICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxSTXV0ZXhMb2NrCQkJKDxhIGhyZWY9ImxpYnhtbDItdGhyZWFkcy5odG1sI3htbFJNdXRleFB0ciI+eG1sUk11dGV4UHRyPC9hPiB0b2spPGJyLz4KKzwvcHJlPjxwPnhtbFJNdXRleExvY2soKSBpcyB1c2VkIHRvIGxvY2sgYSBsaWJ4bWwyIHRva2VuX3IuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50b2s8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSByZWVudHJhbnQgbXV0ZXg8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxSTXV0ZXhVbmxvY2siLz54bWxSTXV0ZXhVbmxvY2sgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFJNdXRleFVubG9jawkJCSg8YSBocmVmPSJsaWJ4bWwyLXRocmVhZHMuaHRtbCN4bWxSTXV0ZXhQdHIiPnhtbFJNdXRleFB0cjwvYT4gdG9rKTxici8+Cis8L3ByZT48cD54bWxSTXV0ZXhVbmxvY2soKSBpcyB1c2VkIHRvIHVubG9jayBhIGxpYnhtbDIgdG9rZW5fci48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRvazwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHJlZW50cmFudCBtdXRleDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFVubG9ja0xpYnJhcnkiLz54bWxVbmxvY2tMaWJyYXJ5ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxVbmxvY2tMaWJyYXJ5CQkodm9pZCk8YnIvPgorPC9wcmU+PHA+eG1sVW5sb2NrTGlicmFyeSgpIGlzIHVzZWQgdG8gcmVsZWFzZSBhIHJlLWVudHJhbnQgbG9jayBvbiB0aGUgbGlieG1sMiBsaWJyYXJ5LjwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgPC9kaXY+CisgICAgPC9kaXY+CisgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2RldmhlbHAvbGlieG1sMi10cmVlLmh0bWwgYi9saWJ4bWwyL2RvYy9kZXZoZWxwL2xpYnhtbDItdHJlZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNjYzI4YzcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9kZXZoZWxwL2xpYnhtbDItdHJlZS5odG1sCkBAIC0wLDAgKzEsMTU5NyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxodG1sPgorICA8aGVhZD4KKyAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIvPgorICAgIDx0aXRsZT50cmVlOiBpbnRlcmZhY2VzIGZvciB0cmVlIG1hbmlwdWxhdGlvbjwvdGl0bGU+CisgICAgPG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJMaWJ4bWwyIGRldmhlbHAgc3R5bGVzaGVldCIvPgorICAgIDxsaW5rIHJlbD0ic3RhcnQiIGhyZWY9ImluZGV4Lmh0bWwiIHRpdGxlPSJsaWJ4bWwyIFJlZmVyZW5jZSBNYW51YWwiLz4KKyAgICA8bGluayByZWw9InVwIiBocmVmPSJnZW5lcmFsLmh0bWwiIHRpdGxlPSJBUEkiLz4KKyAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9InN0eWxlLmNzcyIgdHlwZT0idGV4dC9jc3MiLz4KKyAgICA8bGluayByZWw9ImNoYXB0ZXIiIGhyZWY9ImdlbmVyYWwuaHRtbCIgdGl0bGU9IkFQSSIvPgorICA8L2hlYWQ+CisgIDxib2R5IGJnY29sb3I9IndoaXRlIiB0ZXh0PSJibGFjayIgbGluaz0iIzAwMDBGRiIgdmxpbms9IiM4NDAwODQiIGFsaW5rPSIjMDAwMEZGIj4KKyAgICA8dGFibGUgY2xhc3M9Im5hdmlnYXRpb24iIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIyIj4KKyAgICAgIDx0ciB2YWxpZ249Im1pZGRsZSI+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImxpYnhtbDItdGhyZWFkcy5odG1sIj4KKyAgICAgICAgICAgIDxpbWcgc3JjPSJsZWZ0LnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iUHJldiIvPgorICAgICAgICAgIDwvYT4KKyAgICAgICAgPC90ZD4KKyAgICAgICAgPHRkPgorICAgICAgICAgIDxhIGFjY2Vzc2tleT0idSIgaHJlZj0iZ2VuZXJhbC5odG1sIj4KKyAgICAgICAgICAgIDxpbWcgc3JjPSJ1cC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlVwIi8+CisgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGQ+CisgICAgICAgICAgPGEgYWNjZXNza2V5PSJoIiBocmVmPSJpbmRleC5odG1sIj4KKyAgICAgICAgICAgIDxpbWcgc3JjPSJob21lLnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iSG9tZSIvPgorICAgICAgICAgIDwvYT4KKyAgICAgICAgPC90ZD4KKyAgICAgICAgPHRkPgorICAgICAgICAgIDxhIGFjY2Vzc2tleT0ibiIgaHJlZj0ibGlieG1sMi11cmkuaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0icmlnaHQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJOZXh0Ii8+CisgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGggd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPmxpYnhtbDIgUmVmZXJlbmNlIE1hbnVhbDwvdGg+CisgICAgICA8L3RyPgorICAgIDwvdGFibGU+CisgICAgPGgyPgorICAgICAgPHNwYW4gY2xhc3M9InJlZmVudHJ5dGl0bGUiPnRyZWU8L3NwYW4+CisgICAgPC9oMj4KKyAgICA8cD50cmVlIC0gaW50ZXJmYWNlcyBmb3IgdHJlZSBtYW5pcHVsYXRpb248L3A+CisgICAgPHA+dGhpcyBtb2R1bGUgZGVzY3JpYmVzIHRoZSBzdHJ1Y3R1cmVzIGZvdW5kIGluIGFuIHRyZWUgcmVzdWx0aW5nIGZyb20gYW4gWE1MIG9yIEhUTUwgcGFyc2luZywgYXMgd2VsbCBhcyB0aGUgQVBJIHByb3ZpZGVkIGZvciB2YXJpb3VzIHByb2Nlc3Npbmcgb24gdGhhdCB0cmVlIDwvcD4KKyAgICA8cD5BdXRob3Iocyk6IERhbmllbCBWZWlsbGFyZCA8L3A+CisgICAgPGRpdiBjbGFzcz0icmVmc3lub3BzaXNkaXYiPgorICAgICAgPGgyPlN5bm9wc2lzPC9oMj4KKyAgICAgIDxwcmUgY2xhc3M9InN5bm9wc2lzIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfTE9DQUxfTkFNRVNQQUNFIj5YTUxfTE9DQUxfTkFNRVNQQUNFPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI0JBU0VfQlVGRkVSX1NJWkUiPkJBU0VfQlVGRkVSX1NJWkU8L2E+OworI2RlZmluZSA8YSBocmVmPSIjWE1MX1hNTF9JRCI+WE1MX1hNTF9JRDwvYT47CisjZGVmaW5lIDxhIGhyZWY9IiN4bWxSb290Tm9kZSI+eG1sUm9vdE5vZGU8L2E+OworI2RlZmluZSA8YSBocmVmPSIjWE1MX0dFVF9MSU5FIj5YTUxfR0VUX0xJTkU8L2E+OworI2RlZmluZSA8YSBocmVmPSIjWE1MX0dFVF9DT05URU5UIj5YTUxfR0VUX0NPTlRFTlQ8L2E+OworI2RlZmluZSA8YSBocmVmPSIjeG1sQ2hpbGRyZW5Ob2RlIj54bWxDaGlsZHJlbk5vZGU8L2E+OworI2RlZmluZSA8YSBocmVmPSIjWE1MX1hNTF9OQU1FU1BBQ0UiPlhNTF9YTUxfTkFNRVNQQUNFPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI0xJQlhNTDJfTkVXX0JVRkZFUiI+TElCWE1MMl9ORVdfQlVGRkVSPC9hPjsKK3R5cGVkZWYgc3RydWN0IF94bWxOcyA8YSBocmVmPSIjeG1sTnMiPnhtbE5zPC9hPjsKK3R5cGVkZWYgc3RydWN0IF94bWxFbGVtZW50Q29udGVudCA8YSBocmVmPSIjeG1sRWxlbWVudENvbnRlbnQiPnhtbEVsZW1lbnRDb250ZW50PC9hPjsKK3R5cGVkZWYgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRW51bWVyYXRpb24iPnhtbEVudW1lcmF0aW9uPC9hPiAqIDxhIGhyZWY9IiN4bWxFbnVtZXJhdGlvblB0ciI+eG1sRW51bWVyYXRpb25QdHI8L2E+OwordHlwZWRlZiBzdHJ1Y3QgX3htbEJ1ZmZlciA8YSBocmVmPSIjeG1sQnVmZmVyIj54bWxCdWZmZXI8L2E+OwordHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dCI+eG1sUGFyc2VySW5wdXQ8L2E+ICogPGEgaHJlZj0iI3htbFBhcnNlcklucHV0UHRyIj54bWxQYXJzZXJJbnB1dFB0cjwvYT47Cit0eXBlZGVmIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFNBWExvY2F0b3IiPnhtbFNBWExvY2F0b3I8L2E+ICogPGEgaHJlZj0iI3htbFNBWExvY2F0b3JQdHIiPnhtbFNBWExvY2F0b3JQdHI8L2E+OwordHlwZWRlZiBzdHJ1Y3QgX3htbFBhcnNlcklucHV0IDxhIGhyZWY9IiN4bWxQYXJzZXJJbnB1dCI+eG1sUGFyc2VySW5wdXQ8L2E+OwordHlwZWRlZiBzdHJ1Y3QgX3htbEVsZW1lbnQgPGEgaHJlZj0iI3htbEVsZW1lbnQiPnhtbEVsZW1lbnQ8L2E+OwordHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxFbGVtZW50VHlwZSI+eG1sRWxlbWVudFR5cGU8L2E+IDxhIGhyZWY9IiN4bWxOc1R5cGUiPnhtbE5zVHlwZTwvYT47Cit0eXBlZGVmIGVudW0gPGEgaHJlZj0iI3htbEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUiPnhtbEJ1ZmZlckFsbG9jYXRpb25TY2hlbWU8L2E+OwordHlwZWRlZiBzdHJ1Y3QgX3htbE5vZGUgPGEgaHJlZj0iI3htbE5vZGUiPnhtbE5vZGU8L2E+OwordHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2MiPnhtbERvYzwvYT4gKiA8YSBocmVmPSIjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+OwordHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxCdWZmZXIiPnhtbEJ1ZmZlcjwvYT4gKiA8YSBocmVmPSIjeG1sQnVmZmVyUHRyIj54bWxCdWZmZXJQdHI8L2E+OwordHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxET01XcmFwQ3R4dCI+eG1sRE9NV3JhcEN0eHQ8L2E+ICogPGEgaHJlZj0iI3htbERPTVdyYXBDdHh0UHRyIj54bWxET01XcmFwQ3R4dFB0cjwvYT47Cit0eXBlZGVmIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFJlZiI+eG1sUmVmPC9hPiAqIDxhIGhyZWY9IiN4bWxSZWZQdHIiPnhtbFJlZlB0cjwvYT47Cit0eXBlZGVmIHN0cnVjdCBfeG1sUGFyc2VySW5wdXRCdWZmZXIgPGEgaHJlZj0iI3htbFBhcnNlcklucHV0QnVmZmVyIj54bWxQYXJzZXJJbnB1dEJ1ZmZlcjwvYT47Cit0eXBlZGVmIHN0cnVjdCBfeG1sUmVmIDxhIGhyZWY9IiN4bWxSZWYiPnhtbFJlZjwvYT47Cit0eXBlZGVmIHN0cnVjdCBfeG1sRE9NV3JhcEN0eHQgPGEgaHJlZj0iI3htbERPTVdyYXBDdHh0Ij54bWxET01XcmFwQ3R4dDwvYT47Cit0eXBlZGVmIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGUiPnhtbE5vZGU8L2E+ICogPGEgaHJlZj0iI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+OwordHlwZWRlZiBzdHJ1Y3QgX3htbFBhcnNlckN0eHQgPGEgaHJlZj0iI3htbFBhcnNlckN0eHQiPnhtbFBhcnNlckN0eHQ8L2E+OwordHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEdGQiPnhtbER0ZDwvYT4gKiA8YSBocmVmPSIjeG1sRHRkUHRyIj54bWxEdGRQdHI8L2E+OwordHlwZWRlZiBlbnVtIDxhIGhyZWY9IiN4bWxBdHRyaWJ1dGVEZWZhdWx0Ij54bWxBdHRyaWJ1dGVEZWZhdWx0PC9hPjsKK3R5cGVkZWYgc3RydWN0IF94bWxCdWYgPGEgaHJlZj0iI3htbEJ1ZiI+eG1sQnVmPC9hPjsKK3R5cGVkZWYgc3RydWN0IF94bWxOb3RhdGlvbiA8YSBocmVmPSIjeG1sTm90YXRpb24iPnhtbE5vdGF0aW9uPC9hPjsKK3R5cGVkZWYgZW51bSA8YSBocmVmPSIjeG1sRWxlbWVudFR5cGUiPnhtbEVsZW1lbnRUeXBlPC9hPjsKK3R5cGVkZWYgc3RydWN0IF94bWxFbnRpdHkgPGEgaHJlZj0iI3htbEVudGl0eSI+eG1sRW50aXR5PC9hPjsKK3R5cGVkZWYgc3RydWN0IF94bWxBdHRyIDxhIGhyZWY9IiN4bWxBdHRyIj54bWxBdHRyPC9hPjsKK3R5cGVkZWYgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQXR0cmlidXRlIj54bWxBdHRyaWJ1dGU8L2E+ICogPGEgaHJlZj0iI3htbEF0dHJpYnV0ZVB0ciI+eG1sQXR0cmlidXRlUHRyPC9hPjsKK3R5cGVkZWYgZW51bSA8YSBocmVmPSIjeG1sRWxlbWVudFR5cGVWYWwiPnhtbEVsZW1lbnRUeXBlVmFsPC9hPjsKK3R5cGVkZWYgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm90YXRpb24iPnhtbE5vdGF0aW9uPC9hPiAqIDxhIGhyZWY9IiN4bWxOb3RhdGlvblB0ciI+eG1sTm90YXRpb25QdHI8L2E+OwordHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxFbGVtZW50Ij54bWxFbGVtZW50PC9hPiAqIDxhIGhyZWY9IiN4bWxFbGVtZW50UHRyIj54bWxFbGVtZW50UHRyPC9hPjsKK3R5cGVkZWYgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQnVmIj54bWxCdWY8L2E+ICogPGEgaHJlZj0iI3htbEJ1ZlB0ciI+eG1sQnVmUHRyPC9hPjsKK3R5cGVkZWYgZW51bSA8YSBocmVmPSIjeG1sRWxlbWVudENvbnRlbnRPY2N1ciI+eG1sRWxlbWVudENvbnRlbnRPY2N1cjwvYT47Cit0eXBlZGVmIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEF0dHIiPnhtbEF0dHI8L2E+ICogPGEgaHJlZj0iI3htbEF0dHJQdHIiPnhtbEF0dHJQdHI8L2E+OwordHlwZWRlZiBzdHJ1Y3QgX3htbERvYyA8YSBocmVmPSIjeG1sRG9jIj54bWxEb2M8L2E+OwordHlwZWRlZiBzdHJ1Y3QgX3htbElEIDxhIGhyZWY9IiN4bWxJRCI+eG1sSUQ8L2E+OwordHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0Ij54bWxQYXJzZXJDdHh0PC9hPiAqIDxhIGhyZWY9IiN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPjsKK3R5cGVkZWYgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRW50aXR5Ij54bWxFbnRpdHk8L2E+ICogPGEgaHJlZj0iI3htbEVudGl0eVB0ciI+eG1sRW50aXR5UHRyPC9hPjsKK3R5cGVkZWYgc3RydWN0IF94bWxFbnVtZXJhdGlvbiA8YSBocmVmPSIjeG1sRW51bWVyYXRpb24iPnhtbEVudW1lcmF0aW9uPC9hPjsKK3R5cGVkZWYgZW51bSA8YSBocmVmPSIjeG1sQXR0cmlidXRlVHlwZSI+eG1sQXR0cmlidXRlVHlwZTwvYT47Cit0eXBlZGVmIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5zIj54bWxOczwvYT4gKiA8YSBocmVmPSIjeG1sTnNQdHIiPnhtbE5zUHRyPC9hPjsKK3R5cGVkZWYgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXIiPnhtbFBhcnNlcklucHV0QnVmZmVyPC9hPiAqIDxhIGhyZWY9IiN4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciI+eG1sUGFyc2VySW5wdXRCdWZmZXJQdHI8L2E+OwordHlwZWRlZiBzdHJ1Y3QgX3htbFNBWEhhbmRsZXIgPGEgaHJlZj0iI3htbFNBWEhhbmRsZXIiPnhtbFNBWEhhbmRsZXI8L2E+OwordHlwZWRlZiBzdHJ1Y3QgX3htbE91dHB1dEJ1ZmZlciA8YSBocmVmPSIjeG1sT3V0cHV0QnVmZmVyIj54bWxPdXRwdXRCdWZmZXI8L2E+OwordHlwZWRlZiBzdHJ1Y3QgX3htbFNBWExvY2F0b3IgPGEgaHJlZj0iI3htbFNBWExvY2F0b3IiPnhtbFNBWExvY2F0b3I8L2E+OwordHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxFbGVtZW50Q29udGVudCI+eG1sRWxlbWVudENvbnRlbnQ8L2E+ICogPGEgaHJlZj0iI3htbEVsZW1lbnRDb250ZW50UHRyIj54bWxFbGVtZW50Q29udGVudFB0cjwvYT47Cit0eXBlZGVmIGVudW0gPGEgaHJlZj0iI3htbEVsZW1lbnRDb250ZW50VHlwZSI+eG1sRWxlbWVudENvbnRlbnRUeXBlPC9hPjsKK3R5cGVkZWYgZW51bSA8YSBocmVmPSIjeG1sRG9jUHJvcGVydGllcyI+eG1sRG9jUHJvcGVydGllczwvYT47Cit0eXBlZGVmIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbElEIj54bWxJRDwvYT4gKiA8YSBocmVmPSIjeG1sSURQdHIiPnhtbElEUHRyPC9hPjsKK3R5cGVkZWYgc3RydWN0IF94bWxEdGQgPGEgaHJlZj0iI3htbER0ZCI+eG1sRHRkPC9hPjsKK3R5cGVkZWYgc3RydWN0IF94bWxBdHRyaWJ1dGUgPGEgaHJlZj0iI3htbEF0dHJpYnV0ZSI+eG1sQXR0cmlidXRlPC9hPjsKK3R5cGVkZWYgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sT3V0cHV0QnVmZmVyIj54bWxPdXRwdXRCdWZmZXI8L2E+ICogPGEgaHJlZj0iI3htbE91dHB1dEJ1ZmZlclB0ciI+eG1sT3V0cHV0QnVmZmVyUHRyPC9hPjsKK3R5cGVkZWYgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sU0FYSGFuZGxlciI+eG1sU0FYSGFuZGxlcjwvYT4gKiA8YSBocmVmPSIjeG1sU0FYSGFuZGxlclB0ciI+eG1sU0FYSGFuZGxlclB0cjwvYT47Cis8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgk8YSBocmVmPSIjeG1sRG9jQ29weU5vZGUiPnhtbERvY0NvcHlOb2RlPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyLz4JCQkJCSBpbnQgZXh0ZW5kZWQpOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JPGEgaHJlZj0iI3htbE5ld0RvY1Jhd05vZGUiPnhtbE5ld0RvY1Jhd05vZGU8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5zUHRyIj54bWxOc1B0cjwvYT4gbnMsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGNvbnRlbnQpOworPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxCdWZDb250ZW50Ij54bWxCdWZDb250ZW50PC9hPgkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEJ1ZiI+eG1sQnVmPC9hPiAqIGJ1Zik7Cis8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxBdHRyUHRyIj54bWxBdHRyUHRyPC9hPgk8YSBocmVmPSIjeG1sTmV3TnNQcm9wRWF0TmFtZSI+eG1sTmV3TnNQcm9wRWF0TmFtZTwvYT4JKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTnNQdHIiPnhtbE5zUHRyPC9hPiBucywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUpOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JPGEgaHJlZj0iI3htbFN0cmluZ0dldE5vZGVMaXN0Ij54bWxTdHJpbmdHZXROb2RlTGlzdDwvYT4JKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvYyI+eG1sRG9jPC9hPiAqIGRvYywgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUpOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JPGEgaHJlZj0iI3htbE5ld0NEYXRhQmxvY2siPnhtbE5ld0NEYXRhQmxvY2s8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjb250ZW50LCA8YnIvPgkJCQkJIGludCBsZW4pOwordm9pZAk8YSBocmVmPSIjeG1sQnVmZmVyV3JpdGVDSEFSIj54bWxCdWZmZXJXcml0ZUNIQVI8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQnVmZmVyUHRyIj54bWxCdWZmZXJQdHI8L2E+IGJ1ZiwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3RyaW5nKTsKKzxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sTm9kZUdldEJhc2UiPnhtbE5vZGVHZXRCYXNlPC9hPgkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvYyI+eG1sRG9jPC9hPiAqIGRvYywgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlIj54bWxOb2RlPC9hPiAqIGN1cik7Cit2b2lkCTxhIGhyZWY9IiN4bWxCdWZmZXJFbXB0eSI+eG1sQnVmZmVyRW1wdHk8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEJ1ZmZlclB0ciI+eG1sQnVmZmVyUHRyPC9hPiBidWYpOworPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxCdWlsZFFOYW1lIj54bWxCdWlsZFFOYW1lPC9hPgkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuY25hbWUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHByZWZpeCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbWVtb3J5LCA8YnIvPgkJCQkJIGludCBsZW4pOworaW50CTxhIGhyZWY9IiN4bWxWYWxpZGF0ZU5NVG9rZW4iPnhtbFZhbGlkYXRlTk1Ub2tlbjwvYT4JCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUsIDxici8+CQkJCQkgaW50IHNwYWNlKTsKK2ludAk8YSBocmVmPSIjeG1sU2F2ZUZvcm1hdEZpbGVFbmMiPnhtbFNhdmVGb3JtYXRGaWxlRW5jPC9hPgkJKGNvbnN0IGNoYXIgKiBmaWxlbmFtZSwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gY3VyLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyLz4JCQkJCSBpbnQgZm9ybWF0KTsKKzxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CTxhIGhyZWY9IiN4bWxBZGRTaWJsaW5nIj54bWxBZGRTaWJsaW5nPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGN1ciwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBlbGVtKTsKKzxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEJ1ZmZlclB0ciI+eG1sQnVmZmVyUHRyPC9hPgk8YSBocmVmPSIjeG1sQnVmZmVyQ3JlYXRlIj54bWxCdWZmZXJDcmVhdGU8L2E+CQkodm9pZCk7Cis8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgk8YSBocmVmPSIjeG1sTmV3RG9jRnJhZ21lbnQiPnhtbE5ld0RvY0ZyYWdtZW50PC9hPgkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYyk7Cis8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgk8YSBocmVmPSIjeG1sRG9jR2V0Um9vdEVsZW1lbnQiPnhtbERvY0dldFJvb3RFbGVtZW50PC9hPgkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jIj54bWxEb2M8L2E+ICogZG9jKTsKKzxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sR2V0UHJvcCI+eG1sR2V0UHJvcDwvYT4JCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlIj54bWxOb2RlPC9hPiAqIG5vZGUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpOworaW50CTxhIGhyZWY9IiN4bWxWYWxpZGF0ZU5hbWUiPnhtbFZhbGlkYXRlTmFtZTwvYT4JCQkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHZhbHVlLCA8YnIvPgkJCQkJIGludCBzcGFjZSk7Cis8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbEJ1ZkVuZCI+eG1sQnVmRW5kPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEJ1ZlB0ciI+eG1sQnVmUHRyPC9hPiBidWYpOworaW50CTxhIGhyZWY9IiN4bWxWYWxpZGF0ZVFOYW1lIj54bWxWYWxpZGF0ZVFOYW1lPC9hPgkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB2YWx1ZSwgPGJyLz4JCQkJCSBpbnQgc3BhY2UpOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQXR0clB0ciI+eG1sQXR0clB0cjwvYT4JPGEgaHJlZj0iI3htbEhhc05zUHJvcCI+eG1sSGFzTnNQcm9wPC9hPgkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGUiPnhtbE5vZGU8L2E+ICogbm9kZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZVNwYWNlKTsKKzxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CTxhIGhyZWY9IiN4bWxBZGRQcmV2U2libGluZyI+eG1sQWRkUHJldlNpYmxpbmc8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gZWxlbSk7CitpbnQJPGEgaHJlZj0iI3htbEJ1ZmZlckFkZEhlYWQiPnhtbEJ1ZmZlckFkZEhlYWQ8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQnVmZmVyUHRyIj54bWxCdWZmZXJQdHI8L2E+IGJ1ZiwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3RyLCA8YnIvPgkJCQkJIGludCBsZW4pOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JPGEgaHJlZj0iI3htbE5ld1BJIj54bWxOZXdQSTwvYT4JCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY29udGVudCk7Cit2b2lkCTxhIGhyZWY9IiN4bWxEb2NEdW1wRm9ybWF0TWVtb3J5RW5jIj54bWxEb2NEdW1wRm9ybWF0TWVtb3J5RW5jPC9hPgkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IG91dF9kb2MsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqKiBkb2NfdHh0X3B0ciwgPGJyLz4JCQkJCSBpbnQgKiBkb2NfdHh0X2xlbiwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogdHh0X2VuY29kaW5nLCA8YnIvPgkJCQkJIGludCBmb3JtYXQpOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQXR0clB0ciI+eG1sQXR0clB0cjwvYT4JPGEgaHJlZj0iI3htbFNldFByb3AiPnhtbFNldFByb3A8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUpOwordW5zaWduZWQgbG9uZwk8YSBocmVmPSIjeG1sQ2hpbGRFbGVtZW50Q291bnQiPnhtbENoaWxkRWxlbWVudENvdW50PC9hPgkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gcGFyZW50KTsKK3ZvaWQJPGEgaHJlZj0iI3htbEVsZW1EdW1wIj54bWxFbGVtRHVtcDwvYT4JCQkoRklMRSAqIGYsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIpOworaW50CTxhIGhyZWY9IiN4bWxTYXZlRm9ybWF0RmlsZVRvIj54bWxTYXZlRm9ybWF0RmlsZVRvPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE91dHB1dEJ1ZmZlclB0ciI+eG1sT3V0cHV0QnVmZmVyUHRyPC9hPiBidWYsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGN1ciwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcsIDxici8+CQkJCQkgaW50IGZvcm1hdCk7Cis8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEdGRQdHIiPnhtbER0ZFB0cjwvYT4JPGEgaHJlZj0iI3htbEdldEludFN1YnNldCI+eG1sR2V0SW50U3Vic2V0PC9hPgkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvYyI+eG1sRG9jPC9hPiAqIGRvYyk7CitpbnQJPGEgaHJlZj0iI3htbE5vZGVCdWZHZXRDb250ZW50Ij54bWxOb2RlQnVmR2V0Q29udGVudDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxCdWZmZXJQdHIiPnhtbEJ1ZmZlclB0cjwvYT4gYnVmZmVyLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGUiPnhtbE5vZGU8L2E+ICogY3VyKTsKKzxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CTxhIGhyZWY9IiN4bWxOZXh0RWxlbWVudFNpYmxpbmciPnhtbE5leHRFbGVtZW50U2libGluZzwvYT4JKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUpOwordm9pZAk8YSBocmVmPSIjeG1sQnVmZmVyV3JpdGVDaGFyIj54bWxCdWZmZXJXcml0ZUNoYXI8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQnVmZmVyUHRyIj54bWxCdWZmZXJQdHI8L2E+IGJ1ZiwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogc3RyaW5nKTsKK3ZvaWQJPGEgaHJlZj0iI3htbEJ1ZmZlckZyZWUiPnhtbEJ1ZmZlckZyZWU8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEJ1ZmZlclB0ciI+eG1sQnVmZmVyUHRyPC9hPiBidWYpOworaW50CTxhIGhyZWY9IiN4bWxET01XcmFwQ2xvbmVOb2RlIj54bWxET01XcmFwQ2xvbmVOb2RlPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERPTVdyYXBDdHh0UHRyIj54bWxET01XcmFwQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gc291cmNlRG9jLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gKiByZXNOb2RlLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkZXN0RG9jLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGRlc3RQYXJlbnQsIDxici8+CQkJCQkgaW50IGRlZXAsIDxici8+CQkJCQkgaW50IG9wdGlvbnMpOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JPGEgaHJlZj0iI3htbE5ld05vZGUiPnhtbE5ld05vZGU8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTnNQdHIiPnhtbE5zUHRyPC9hPiBucywgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSk7CitpbnQJPGEgaHJlZj0iI3htbFNhdmVGaWxlVG8iPnhtbFNhdmVGaWxlVG88L2E+CQkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE91dHB1dEJ1ZmZlclB0ciI+eG1sT3V0cHV0QnVmZmVyUHRyPC9hPiBidWYsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGN1ciwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcpOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JPGEgaHJlZj0iI3htbE5ld1RleHRMZW4iPnhtbE5ld1RleHRMZW48L2E+CQkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGNvbnRlbnQsIDxici8+CQkJCQkgaW50IGxlbik7Cis8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgk8YSBocmVmPSIjeG1sTmV3VGV4dENoaWxkIj54bWxOZXdUZXh0Q2hpbGQ8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gcGFyZW50LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5zUHRyIj54bWxOc1B0cjwvYT4gbnMsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGNvbnRlbnQpOwordm9pZAk8YSBocmVmPSIjeG1sTm9kZVNldENvbnRlbnQiPnhtbE5vZGVTZXRDb250ZW50PC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGN1ciwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY29udGVudCk7CitpbnQJPGEgaHJlZj0iI3htbEJ1ZmZlckFkZCI+eG1sQnVmZmVyQWRkPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxCdWZmZXJQdHIiPnhtbEJ1ZmZlclB0cjwvYT4gYnVmLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzdHIsIDxici8+CQkJCQkgaW50IGxlbik7Cit2b2lkCTxhIGhyZWY9IiN4bWxOb2RlRHVtcE91dHB1dCI+eG1sTm9kZUR1bXBPdXRwdXQ8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sT3V0cHV0QnVmZmVyUHRyIj54bWxPdXRwdXRCdWZmZXJQdHI8L2E+IGJ1ZiwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGN1ciwgPGJyLz4JCQkJCSBpbnQgbGV2ZWwsIDxici8+CQkJCQkgaW50IGZvcm1hdCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcpOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTnNQdHIiPnhtbE5zUHRyPC9hPgk8YSBocmVmPSIjeG1sQ29weU5hbWVzcGFjZSI+eG1sQ29weU5hbWVzcGFjZTwvYT4JKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5zUHRyIj54bWxOc1B0cjwvYT4gY3VyKTsKKzxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5zUHRyIj54bWxOc1B0cjwvYT4JPGEgaHJlZj0iI3htbFNlYXJjaE5zQnlIcmVmIj54bWxTZWFyY2hOc0J5SHJlZjwvYT4JKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogaHJlZik7Cis8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgk8YSBocmVmPSIjeG1sQWRkQ2hpbGQiPnhtbEFkZENoaWxkPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IHBhcmVudCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIpOworaW50CTxhIGhyZWY9IiN4bWxSZWNvbmNpbGlhdGVOcyI+eG1sUmVjb25jaWxpYXRlTnM8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiB0cmVlKTsKK2ludAk8YSBocmVmPSIjeG1sVmFsaWRhdGVOQ05hbWUiPnhtbFZhbGlkYXRlTkNOYW1lPC9hPgkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB2YWx1ZSwgPGJyLz4JCQkJCSBpbnQgc3BhY2UpOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JPGEgaHJlZj0iI3htbE5ld0RvY0NvbW1lbnQiPnhtbE5ld0RvY0NvbW1lbnQ8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjb250ZW50KTsKK2ludAk8YSBocmVmPSIjeG1sR2V0Q29tcHJlc3NNb2RlIj54bWxHZXRDb21wcmVzc01vZGU8L2E+CQkodm9pZCk7CitpbnQJPGEgaHJlZj0iI3htbE5vZGVEdW1wIj54bWxOb2RlRHVtcDwvYT4JCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQnVmZmVyUHRyIj54bWxCdWZmZXJQdHI8L2E+IGJ1ZiwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGN1ciwgPGJyLz4JCQkJCSBpbnQgbGV2ZWwsIDxici8+CQkJCQkgaW50IGZvcm1hdCk7Cis8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxCdWZmZXJQdHIiPnhtbEJ1ZmZlclB0cjwvYT4JPGEgaHJlZj0iI3htbEJ1ZmZlckNyZWF0ZVNpemUiPnhtbEJ1ZmZlckNyZWF0ZVNpemU8L2E+CShzaXplX3Qgc2l6ZSk7Cis8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbE5vZGVMaXN0R2V0U3RyaW5nIj54bWxOb2RlTGlzdEdldFN0cmluZzwvYT4JKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZSI+eG1sTm9kZTwvYT4gKiBsaXN0LCA8YnIvPgkJCQkJIGludCBpbkxpbmUpOwordm9pZAk8YSBocmVmPSIjeG1sU2V0Q29tcHJlc3NNb2RlIj54bWxTZXRDb21wcmVzc01vZGU8L2E+CQkoaW50IG1vZGUpOwordm9pZAk8YSBocmVmPSIjeG1sU2V0VHJlZURvYyI+eG1sU2V0VHJlZURvYzwvYT4JCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gdHJlZSwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jKTsKK2ludAk8YSBocmVmPSIjeG1sRE9NV3JhcEFkb3B0Tm9kZSI+eG1sRE9NV3JhcEFkb3B0Tm9kZTwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxET01XcmFwQ3R4dFB0ciI+eG1sRE9NV3JhcEN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IHNvdXJjZURvYywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkZXN0RG9jLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGRlc3RQYXJlbnQsIDxici8+CQkJCQkgaW50IG9wdGlvbnMpOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JPGEgaHJlZj0iI3htbENvcHlOb2RlTGlzdCI+eG1sQ29weU5vZGVMaXN0PC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUpOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JPGEgaHJlZj0iI3htbE5ld0RvY05vZGVFYXROYW1lIj54bWxOZXdEb2NOb2RlRWF0TmFtZTwvYT4JKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTnNQdHIiPnhtbE5zUHRyPC9hPiBucywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY29udGVudCk7Cis8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgk8YSBocmVmPSIjeG1sQWRkQ2hpbGRMaXN0Ij54bWxBZGRDaGlsZExpc3Q8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gcGFyZW50LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGN1cik7Cis8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbEdldE5vZGVQYXRoIj54bWxHZXROb2RlUGF0aDwvYT4JCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlIj54bWxOb2RlPC9hPiAqIG5vZGUpOwordm9pZAk8YSBocmVmPSIjeG1sRnJlZVByb3BMaXN0Ij54bWxGcmVlUHJvcExpc3Q8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEF0dHJQdHIiPnhtbEF0dHJQdHI8L2E+IGN1cik7Cit2b2lkCTxhIGhyZWY9IiN4bWxOb2RlQWRkQ29udGVudCI+eG1sTm9kZUFkZENvbnRlbnQ8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gY3VyLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjb250ZW50KTsKK2ludAk8YSBocmVmPSIjeG1sVW5zZXROc1Byb3AiPnhtbFVuc2V0TnNQcm9wPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5zUHRyIj54bWxOc1B0cjwvYT4gbnMsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JPGEgaHJlZj0iI3htbEZpcnN0RWxlbWVudENoaWxkIj54bWxGaXJzdEVsZW1lbnRDaGlsZDwvYT4JKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IHBhcmVudCk7Cis8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgk8YSBocmVmPSIjeG1sQWRkTmV4dFNpYmxpbmciPnhtbEFkZE5leHRTaWJsaW5nPC9hPgkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gY3VyLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGVsZW0pOworaW50CTxhIGhyZWY9IiN4bWxJc0JsYW5rTm9kZSI+eG1sSXNCbGFua05vZGU8L2E+CQkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGUiPnhtbE5vZGU8L2E+ICogbm9kZSk7Cis8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOc1B0ciI+eG1sTnNQdHI8L2E+CTxhIGhyZWY9IiN4bWxOZXdHbG9iYWxOcyI+eG1sTmV3R2xvYmFsTnM8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogaHJlZiwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHJlZml4KTsKK2ludAk8YSBocmVmPSIjeG1sQnVmZmVyRHVtcCI+eG1sQnVmZmVyRHVtcDwvYT4JCQkoRklMRSAqIGZpbGUsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQnVmZmVyUHRyIj54bWxCdWZmZXJQdHI8L2E+IGJ1Zik7Cis8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbE5vZGVHZXRDb250ZW50Ij54bWxOb2RlR2V0Q29udGVudDwvYT4JKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGUiPnhtbE5vZGU8L2E+ICogY3VyKTsKKzxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPgk8YSBocmVmPSIjeG1sQ29weURvYyI+eG1sQ29weURvYzwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIvPgkJCQkJIGludCByZWN1cnNpdmUpOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRE9NV3JhcEN0eHRQdHIiPnhtbERPTVdyYXBDdHh0UHRyPC9hPgk8YSBocmVmPSIjeG1sRE9NV3JhcE5ld0N0eHQiPnhtbERPTVdyYXBOZXdDdHh0PC9hPgkodm9pZCk7Cit2b2lkCTxhIGhyZWY9IiN4bWxEb2NEdW1wTWVtb3J5RW5jIj54bWxEb2NEdW1wTWVtb3J5RW5jPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBvdXRfZG9jLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiogZG9jX3R4dF9wdHIsIDxici8+CQkJCQkgaW50ICogZG9jX3R4dF9sZW4sIDxici8+CQkJCQkgY29uc3QgY2hhciAqIHR4dF9lbmNvZGluZyk7CitpbnQJPGEgaHJlZj0iI3htbEJ1ZkdldE5vZGVDb250ZW50Ij54bWxCdWZHZXROb2RlQ29udGVudDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxCdWZQdHIiPnhtbEJ1ZlB0cjwvYT4gYnVmLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGUiPnhtbE5vZGU8L2E+ICogY3VyKTsKKzxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CTxhIGhyZWY9IiN4bWxUZXh0TWVyZ2UiPnhtbFRleHRNZXJnZTwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBmaXJzdCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBzZWNvbmQpOwordm9pZAk8YSBocmVmPSIjeG1sRG9jRHVtcE1lbW9yeSI+eG1sRG9jRHVtcE1lbW9yeTwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gY3VyLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiogbWVtLCA8YnIvPgkJCQkJIGludCAqIHNpemUpOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JPGEgaHJlZj0iI3htbE5ld0RvY1BJIj54bWxOZXdEb2NQSTwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjb250ZW50KTsKK3ZvaWQJPGEgaHJlZj0iI3htbEZyZWVOcyI+eG1sRnJlZU5zPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOc1B0ciI+eG1sTnNQdHI8L2E+IGN1cik7CitpbnQJPGEgaHJlZj0iI3htbERvY0R1bXAiPnhtbERvY0R1bXA8L2E+CQkJKEZJTEUgKiBmLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBjdXIpOwordm9pZAk8YSBocmVmPSIjeG1sRnJlZVByb3AiPnhtbEZyZWVQcm9wPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxBdHRyUHRyIj54bWxBdHRyUHRyPC9hPiBjdXIpOworPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxHZXROb05zUHJvcCI+eG1sR2V0Tm9Oc1Byb3A8L2E+CQkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZSI+eG1sTm9kZTwvYT4gKiBub2RlLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKTsKKzxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sU3BsaXRRTmFtZTIiPnhtbFNwbGl0UU5hbWUyPC9hPgkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiogcHJlZml4KTsKKzxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEF0dHJQdHIiPnhtbEF0dHJQdHI8L2E+CTxhIGhyZWY9IiN4bWxOZXdQcm9wIj54bWxOZXdQcm9wPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHZhbHVlKTsKK2ludAk8YSBocmVmPSIjeG1sVGV4dENvbmNhdCI+eG1sVGV4dENvbmNhdDwvYT4JCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY29udGVudCwgPGJyLz4JCQkJCSBpbnQgbGVuKTsKK2ludAk8YSBocmVmPSIjeG1sTm9kZUdldFNwYWNlUHJlc2VydmUiPnhtbE5vZGVHZXRTcGFjZVByZXNlcnZlPC9hPgkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGUiPnhtbE5vZGU8L2E+ICogY3VyKTsKK2ludAk8YSBocmVmPSIjeG1sQnVmZmVyU2hyaW5rIj54bWxCdWZmZXJTaHJpbms8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEJ1ZmZlclB0ciI+eG1sQnVmZmVyUHRyPC9hPiBidWYsIDxici8+CQkJCQkgdW5zaWduZWQgaW50IGxlbik7Cis8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgk8YSBocmVmPSIjeG1sUHJldmlvdXNFbGVtZW50U2libGluZyI+eG1sUHJldmlvdXNFbGVtZW50U2libGluZzwvYT4JKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUpOwordm9pZAk8YSBocmVmPSIjeG1sTm9kZVNldENvbnRlbnRMZW4iPnhtbE5vZGVTZXRDb250ZW50TGVuPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGN1ciwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY29udGVudCwgPGJyLz4JCQkJCSBpbnQgbGVuKTsKK3ZvaWQJPGEgaHJlZj0iI3htbE5vZGVBZGRDb250ZW50TGVuIj54bWxOb2RlQWRkQ29udGVudExlbjwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGNvbnRlbnQsIDxici8+CQkJCQkgaW50IGxlbik7Cit2b2lkCTxhIGhyZWY9IiN4bWxCdWZmZXJXcml0ZVF1b3RlZFN0cmluZyI+eG1sQnVmZmVyV3JpdGVRdW90ZWRTdHJpbmc8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxCdWZmZXJQdHIiPnhtbEJ1ZmZlclB0cjwvYT4gYnVmLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzdHJpbmcpOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQXR0clB0ciI+eG1sQXR0clB0cjwvYT4JPGEgaHJlZj0iI3htbENvcHlQcm9wIj54bWxDb3B5UHJvcDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiB0YXJnZXQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQXR0clB0ciI+eG1sQXR0clB0cjwvYT4gY3VyKTsKKzxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CTxhIGhyZWY9IiN4bWxSZXBsYWNlTm9kZSI+eG1sUmVwbGFjZU5vZGU8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gb2xkLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGN1cik7Cit2b2lkCTxhIGhyZWY9IiN4bWxTZXREb2NDb21wcmVzc01vZGUiPnhtbFNldERvY0NvbXByZXNzTW9kZTwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIvPgkJCQkJIGludCBtb2RlKTsKKzxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CTxhIGhyZWY9IiN4bWxDb3B5Tm9kZSI+eG1sQ29weU5vZGU8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSwgPGJyLz4JCQkJCSBpbnQgZXh0ZW5kZWQpOwordm9pZAk8YSBocmVmPSIjeG1sVW5saW5rTm9kZSI+eG1sVW5saW5rTm9kZTwvYT4JCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gY3VyKTsKK2NvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sU3BsaXRRTmFtZTMiPnhtbFNwbGl0UU5hbWUzPC9hPgkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJIGludCAqIGxlbik7Cit0eXBlZGVmIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5zUHRyIj54bWxOc1B0cjwvYT4gPGEgaHJlZj0iI3htbERPTVdyYXBBY3F1aXJlTnNGdW5jdGlvbiI+eG1sRE9NV3JhcEFjcXVpcmVOc0Z1bmN0aW9uPC9hPgkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRE9NV3JhcEN0eHRQdHIiPnhtbERPTVdyYXBDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlLCA8YnIvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbnNOYW1lLCA8YnIvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbnNQcmVmaXgpOworc2l6ZV90CTxhIGhyZWY9IiN4bWxCdWZVc2UiPnhtbEJ1ZlVzZTwvYT4JCQkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQnVmUHRyIj54bWxCdWZQdHI8L2E+IGJ1Zik7Cis8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgk8YSBocmVmPSIjeG1sRG9jU2V0Um9vdEVsZW1lbnQiPnhtbERvY1NldFJvb3RFbGVtZW50PC9hPgkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiByb290KTsKK2xvbmcJPGEgaHJlZj0iI3htbEdldExpbmVObyI+eG1sR2V0TGluZU5vPC9hPgkJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlIj54bWxOb2RlPC9hPiAqIG5vZGUpOworY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxCdWZmZXJDb250ZW50Ij54bWxCdWZmZXJDb250ZW50PC9hPgkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQnVmZmVyIj54bWxCdWZmZXI8L2E+ICogYnVmKTsKK2ludAk8YSBocmVmPSIjeG1sUmVtb3ZlUHJvcCI+eG1sUmVtb3ZlUHJvcDwvYT4JCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQXR0clB0ciI+eG1sQXR0clB0cjwvYT4gY3VyKTsKKzxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CTxhIGhyZWY9IiN4bWxMYXN0RWxlbWVudENoaWxkIj54bWxMYXN0RWxlbWVudENoaWxkPC9hPgkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gcGFyZW50KTsKKzxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sTm9kZUdldExhbmciPnhtbE5vZGVHZXRMYW5nPC9hPgkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGUiPnhtbE5vZGU8L2E+ICogY3VyKTsKK2ludAk8YSBocmVmPSIjeG1sR2V0RG9jQ29tcHJlc3NNb2RlIj54bWxHZXREb2NDb21wcmVzc01vZGU8L2E+CQkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jIj54bWxEb2M8L2E+ICogZG9jKTsKK3NpemVfdAk8YSBocmVmPSIjeG1sQnVmTm9kZUR1bXAiPnhtbEJ1Zk5vZGVEdW1wPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxCdWZQdHIiPnhtbEJ1ZlB0cjwvYT4gYnVmLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gY3VyLCA8YnIvPgkJCQkJIGludCBsZXZlbCwgPGJyLz4JCQkJCSBpbnQgZm9ybWF0KTsKKzxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sR2V0TnNQcm9wIj54bWxHZXROc1Byb3A8L2E+CQkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZSI+eG1sTm9kZTwvYT4gKiBub2RlLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lU3BhY2UpOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQXR0clB0ciI+eG1sQXR0clB0cjwvYT4JPGEgaHJlZj0iI3htbE5ld0RvY1Byb3AiPnhtbE5ld0RvY1Byb3A8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUpOwordm9pZAk8YSBocmVmPSIjeG1sRnJlZU5vZGUiPnhtbEZyZWVOb2RlPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIpOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQXR0clB0ciI+eG1sQXR0clB0cjwvYT4JPGEgaHJlZj0iI3htbE5ld05zUHJvcCI+eG1sTmV3TnNQcm9wPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTnNQdHIiPnhtbE5zUHRyPC9hPiBucywgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUpOwordm9pZAk8YSBocmVmPSIjeG1sRE9NV3JhcEZyZWVDdHh0Ij54bWxET01XcmFwRnJlZUN0eHQ8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRE9NV3JhcEN0eHRQdHIiPnhtbERPTVdyYXBDdHh0UHRyPC9hPiBjdHh0KTsKKzxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sQnVmZmVyRGV0YWNoIj54bWxCdWZmZXJEZXRhY2g8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQnVmZmVyUHRyIj54bWxCdWZmZXJQdHI8L2E+IGJ1Zik7Cit2b2lkCTxhIGhyZWY9IiN4bWxCdWZmZXJTZXRBbGxvY2F0aW9uU2NoZW1lIj54bWxCdWZmZXJTZXRBbGxvY2F0aW9uU2NoZW1lPC9hPgkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQnVmZmVyUHRyIj54bWxCdWZmZXJQdHI8L2E+IGJ1ZiwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxCdWZmZXJBbGxvY2F0aW9uU2NoZW1lIj54bWxCdWZmZXJBbGxvY2F0aW9uU2NoZW1lPC9hPiBzY2hlbWUpOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JPGEgaHJlZj0iI3htbE5ld0NoaWxkIj54bWxOZXdDaGlsZDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBwYXJlbnQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTnNQdHIiPnhtbE5zUHRyPC9hPiBucywgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY29udGVudCk7Cis8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOc1B0ciI+eG1sTnNQdHI8L2E+CTxhIGhyZWY9IiN4bWxTZWFyY2hOcyI+eG1sU2VhcmNoTnM8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lU3BhY2UpOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JPGEgaHJlZj0iI3htbFN0cmluZ0xlbkdldE5vZGVMaXN0Ij54bWxTdHJpbmdMZW5HZXROb2RlTGlzdDwvYT4JKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvYyI+eG1sRG9jPC9hPiAqIGRvYywgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUsIDxici8+CQkJCQkgaW50IGxlbik7CitpbnQJPGEgaHJlZj0iI3htbFNhdmVGb3JtYXRGaWxlIj54bWxTYXZlRm9ybWF0RmlsZTwvYT4JCShjb25zdCBjaGFyICogZmlsZW5hbWUsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGN1ciwgPGJyLz4JCQkJCSBpbnQgZm9ybWF0KTsKKzxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEF0dHJQdHIiPnhtbEF0dHJQdHI8L2E+CTxhIGhyZWY9IiN4bWxDb3B5UHJvcExpc3QiPnhtbENvcHlQcm9wTGlzdDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiB0YXJnZXQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQXR0clB0ciI+eG1sQXR0clB0cjwvYT4gY3VyKTsKK2ludAk8YSBocmVmPSIjeG1sRG9jRm9ybWF0RHVtcCI+eG1sRG9jRm9ybWF0RHVtcDwvYT4JCShGSUxFICogZiwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gY3VyLCA8YnIvPgkJCQkJIGludCBmb3JtYXQpOwordm9pZAk8YSBocmVmPSIjeG1sTm9kZVNldFNwYWNlUHJlc2VydmUiPnhtbE5vZGVTZXRTcGFjZVByZXNlcnZlPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGN1ciwgPGJyLz4JCQkJCSBpbnQgdmFsKTsKKzxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEF0dHJQdHIiPnhtbEF0dHJQdHI8L2E+CTxhIGhyZWY9IiN4bWxIYXNQcm9wIj54bWxIYXNQcm9wPC9hPgkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGUiPnhtbE5vZGU8L2E+ICogbm9kZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSk7CitpbnQJPGEgaHJlZj0iI3htbEJ1ZmZlckNhdCI+eG1sQnVmZmVyQ2F0PC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxCdWZmZXJQdHIiPnhtbEJ1ZmZlclB0cjwvYT4gYnVmLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzdHIpOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRHRkUHRyIj54bWxEdGRQdHI8L2E+CTxhIGhyZWY9IiN4bWxDcmVhdGVJbnRTdWJzZXQiPnhtbENyZWF0ZUludFN1YnNldDwvYT4JKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIEV4dGVybmFsSUQsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIFN5c3RlbUlEKTsKKzxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPgk8YSBocmVmPSIjeG1sTmV3RG9jIj54bWxOZXdEb2M8L2E+CQkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHZlcnNpb24pOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JPGEgaHJlZj0iI3htbE5ld0NoYXJSZWYiPnhtbE5ld0NoYXJSZWY8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSk7Cis8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOc1B0ciI+eG1sTnNQdHI8L2E+CTxhIGhyZWY9IiN4bWxDb3B5TmFtZXNwYWNlTGlzdCI+eG1sQ29weU5hbWVzcGFjZUxpc3Q8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOc1B0ciI+eG1sTnNQdHI8L2E+IGN1cik7Cis8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgk8YSBocmVmPSIjeG1sTmV3Tm9kZUVhdE5hbWUiPnhtbE5ld05vZGVFYXROYW1lPC9hPgkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTnNQdHIiPnhtbE5zUHRyPC9hPiBucywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSk7CitpbnQJPGEgaHJlZj0iI3htbEJ1ZmZlclJlc2l6ZSI+eG1sQnVmZmVyUmVzaXplPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxCdWZmZXJQdHIiPnhtbEJ1ZmZlclB0cjwvYT4gYnVmLCA8YnIvPgkJCQkJIHVuc2lnbmVkIGludCBzaXplKTsKK3ZvaWQJPGEgaHJlZj0iI3htbE5vZGVTZXRCYXNlIj54bWxOb2RlU2V0QmFzZTwvYT4JCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gY3VyLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB1cmkpOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JPGEgaHJlZj0iI3htbE5ld0NvbW1lbnQiPnhtbE5ld0NvbW1lbnQ8L2E+CQkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGNvbnRlbnQpOworaW50CTxhIGhyZWY9IiN4bWxCdWZmZXJMZW5ndGgiPnhtbEJ1ZmZlckxlbmd0aDwvYT4JCQkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQnVmZmVyIj54bWxCdWZmZXI8L2E+ICogYnVmKTsKKzxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CTxhIGhyZWY9IiN4bWxOZXdUZXh0Ij54bWxOZXdUZXh0PC9hPgkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjb250ZW50KTsKK2ludAk8YSBocmVmPSIjeG1sVW5zZXRQcm9wIj54bWxVbnNldFByb3A8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQnVmZmVyQWxsb2NhdGlvblNjaGVtZSI+eG1sQnVmZmVyQWxsb2NhdGlvblNjaGVtZTwvYT4JPGEgaHJlZj0iI3htbEdldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUiPnhtbEdldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWU8L2E+CSh2b2lkKTsKK2ludAk8YSBocmVmPSIjeG1sU2F2ZUZpbGUiPnhtbFNhdmVGaWxlPC9hPgkJCShjb25zdCBjaGFyICogZmlsZW5hbWUsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGN1cik7Cis8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgk8YSBocmVmPSIjeG1sRG9jQ29weU5vZGVMaXN0Ij54bWxEb2NDb3B5Tm9kZUxpc3Q8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUpOwordm9pZAk8YSBocmVmPSIjeG1sU2V0TnMiPnhtbFNldE5zPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5zUHRyIj54bWxOc1B0cjwvYT4gbnMpOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTnNQdHIiPnhtbE5zUHRyPC9hPgk8YSBocmVmPSIjeG1sTmV3TnMiPnhtbE5ld05zPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGhyZWYsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHByZWZpeCk7CitpbnQJPGEgaHJlZj0iI3htbERPTVdyYXBSZW1vdmVOb2RlIj54bWxET01XcmFwUmVtb3ZlTm9kZTwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxET01XcmFwQ3R4dFB0ciI+eG1sRE9NV3JhcEN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlLCA8YnIvPgkJCQkJIGludCBvcHRpb25zKTsKK3ZvaWQJPGEgaHJlZj0iI3htbEF0dHJTZXJpYWxpemVUeHRDb250ZW50Ij54bWxBdHRyU2VyaWFsaXplVHh0Q29udGVudDwvYT4JKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEJ1ZmZlclB0ciI+eG1sQnVmZmVyUHRyPC9hPiBidWYsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxBdHRyUHRyIj54bWxBdHRyUHRyPC9hPiBhdHRyLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzdHJpbmcpOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRHRkUHRyIj54bWxEdGRQdHI8L2E+CTxhIGhyZWY9IiN4bWxDb3B5RHRkIj54bWxDb3B5RHRkPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbER0ZFB0ciI+eG1sRHRkUHRyPC9hPiBkdGQpOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JPGEgaHJlZj0iI3htbE5ld0RvY1RleHQiPnhtbE5ld0RvY1RleHQ8L2E+CQkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jIj54bWxEb2M8L2E+ICogZG9jLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjb250ZW50KTsKKzxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sTm9kZUxpc3RHZXRSYXdTdHJpbmciPnhtbE5vZGVMaXN0R2V0UmF3U3RyaW5nPC9hPgkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jIj54bWxEb2M8L2E+ICogZG9jLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGUiPnhtbE5vZGU8L2E+ICogbGlzdCwgPGJyLz4JCQkJCSBpbnQgaW5MaW5lKTsKKzxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEJ1ZmZlclB0ciI+eG1sQnVmZmVyUHRyPC9hPgk8YSBocmVmPSIjeG1sQnVmZmVyQ3JlYXRlU3RhdGljIj54bWxCdWZmZXJDcmVhdGVTdGF0aWM8L2E+CSh2b2lkICogbWVtLCA8YnIvPgkJCQkJIHNpemVfdCBzaXplKTsKKzxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CTxhIGhyZWY9IiN4bWxOZXdSZWZlcmVuY2UiPnhtbE5ld1JlZmVyZW5jZTwvYT4JCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2MiPnhtbERvYzwvYT4gKiBkb2MsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpOworaW50CTxhIGhyZWY9IiN4bWxET01XcmFwUmVjb25jaWxlTmFtZXNwYWNlcyI+eG1sRE9NV3JhcFJlY29uY2lsZU5hbWVzcGFjZXM8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxET01XcmFwQ3R4dFB0ciI+eG1sRE9NV3JhcEN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gZWxlbSwgPGJyLz4JCQkJCSBpbnQgb3B0aW9ucyk7CitpbnQJPGEgaHJlZj0iI3htbEJ1ZmZlckNDYXQiPnhtbEJ1ZmZlckNDYXQ8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEJ1ZmZlclB0ciI+eG1sQnVmZmVyUHRyPC9hPiBidWYsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIHN0cik7Cis8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOc1B0ciI+eG1sTnNQdHI8L2E+ICoJPGEgaHJlZj0iI3htbEdldE5zTGlzdCI+eG1sR2V0TnNMaXN0PC9hPgkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvYyI+eG1sRG9jPC9hPiAqIGRvYywgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlIj54bWxOb2RlPC9hPiAqIG5vZGUpOworaW50CTxhIGhyZWY9IiN4bWxCdWZmZXJHcm93Ij54bWxCdWZmZXJHcm93PC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxCdWZmZXJQdHIiPnhtbEJ1ZmZlclB0cjwvYT4gYnVmLCA8YnIvPgkJCQkJIHVuc2lnbmVkIGludCBsZW4pOworaW50CTxhIGhyZWY9IiN4bWxOb2RlSXNUZXh0Ij54bWxOb2RlSXNUZXh0PC9hPgkJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlIj54bWxOb2RlPC9hPiAqIG5vZGUpOwordm9pZAk8YSBocmVmPSIjeG1sU2V0QnVmZmVyQWxsb2NhdGlvblNjaGVtZSI+eG1sU2V0QnVmZmVyQWxsb2NhdGlvblNjaGVtZTwvYT4JKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUiPnhtbEJ1ZmZlckFsbG9jYXRpb25TY2hlbWU8L2E+IHNjaGVtZSk7CitpbnQJPGEgaHJlZj0iI3htbElzWEhUTUwiPnhtbElzWEhUTUw8L2E+CQkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzeXN0ZW1JRCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHVibGljSUQpOwordm9pZAk8YSBocmVmPSIjeG1sTm9kZVNldExhbmciPnhtbE5vZGVTZXRMYW5nPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGxhbmcpOwordm9pZAk8YSBocmVmPSIjeG1sRnJlZUR0ZCI+eG1sRnJlZUR0ZDwvYT4JCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRHRkUHRyIj54bWxEdGRQdHI8L2E+IGN1cik7Cit2b2lkCTxhIGhyZWY9IiN4bWxGcmVlTm9kZUxpc3QiPnhtbEZyZWVOb2RlTGlzdDwvYT4JCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gY3VyKTsKK3ZvaWQJPGEgaHJlZj0iI3htbEZyZWVEb2MiPnhtbEZyZWVEb2M8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBjdXIpOworc2l6ZV90CTxhIGhyZWY9IiN4bWxCdWZTaHJpbmsiPnhtbEJ1ZlNocmluazwvYT4JCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQnVmUHRyIj54bWxCdWZQdHI8L2E+IGJ1ZiwgPGJyLz4JCQkJCSBzaXplX3QgbGVuKTsKKzxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CTxhIGhyZWY9IiN4bWxOZXdEb2NOb2RlIj54bWxOZXdEb2NOb2RlPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTnNQdHIiPnhtbE5zUHRyPC9hPiBucywgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY29udGVudCk7CitpbnQJPGEgaHJlZj0iI3htbFNhdmVGaWxlRW5jIj54bWxTYXZlRmlsZUVuYzwvYT4JCQkoY29uc3QgY2hhciAqIGZpbGVuYW1lLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBjdXIsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nKTsKKzxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEF0dHJQdHIiPnhtbEF0dHJQdHI8L2E+CTxhIGhyZWY9IiN4bWxTZXROc1Byb3AiPnhtbFNldE5zUHJvcDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5zUHRyIj54bWxOc1B0cjwvYT4gbnMsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHZhbHVlKTsKK3ZvaWQJPGEgaHJlZj0iI3htbERvY0R1bXBGb3JtYXRNZW1vcnkiPnhtbERvY0R1bXBGb3JtYXRNZW1vcnk8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGN1ciwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoqIG1lbSwgPGJyLz4JCQkJCSBpbnQgKiBzaXplLCA8YnIvPgkJCQkJIGludCBmb3JtYXQpOwordm9pZAk8YSBocmVmPSIjeG1sU2V0TGlzdERvYyI+eG1sU2V0TGlzdERvYzwvYT4JCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbGlzdCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jKTsKK3ZvaWQJPGEgaHJlZj0iI3htbE5vZGVTZXROYW1lIj54bWxOb2RlU2V0TmFtZTwvYT4JCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gY3VyLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKTsKKzxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CTxhIGhyZWY9IiN4bWxOZXdEb2NUZXh0TGVuIj54bWxOZXdEb2NUZXh0TGVuPC9hPgkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY29udGVudCwgPGJyLz4JCQkJCSBpbnQgbGVuKTsKKzxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbER0ZFB0ciI+eG1sRHRkUHRyPC9hPgk8YSBocmVmPSIjeG1sTmV3RHRkIj54bWxOZXdEdGQ8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogRXh0ZXJuYWxJRCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogU3lzdGVtSUQpOwordm9pZAk8YSBocmVmPSIjeG1sRnJlZU5zTGlzdCI+eG1sRnJlZU5zTGlzdDwvYT4JCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTnNQdHIiPnhtbE5zUHRyPC9hPiBjdXIpOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JPGEgaHJlZj0iI3htbEdldExhc3RDaGlsZCI+eG1sR2V0TGFzdENoaWxkPC9hPgkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGUiPnhtbE5vZGU8L2E+ICogcGFyZW50KTsKKzwvcHJlPgorICAgIDwvZGl2PgorICAgIDxkaXYgY2xhc3M9InJlZnNlY3QxIiBsYW5nPSJlbiI+CisgICAgICA8aDI+RGVzY3JpcHRpb248L2gyPgorICAgIDwvZGl2PgorICAgIDxkaXYgY2xhc3M9InJlZnNlY3QxIiBsYW5nPSJlbiI+CisgICAgICA8aDI+RGV0YWlsczwvaDI+CisgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJCQVNFX0JVRkZFUl9TSVpFIj5NYWNybyA8L2E+QkFTRV9CVUZGRVJfU0laRTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI0JBU0VfQlVGRkVSX1NJWkUiPkJBU0VfQlVGRkVSX1NJWkU8L2E+OworPC9wcmU+PHA+ZGVmYXVsdCBidWZmZXIgc2l6ZSA0MDAwLjwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJMSUJYTUwyX05FV19CVUZGRVIiPk1hY3JvIDwvYT5MSUJYTUwyX05FV19CVUZGRVI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNMSUJYTUwyX05FV19CVUZGRVIiPkxJQlhNTDJfTkVXX0JVRkZFUjwvYT47Cis8L3ByZT48cD5NYWNybyB1c2VkIHRvIGV4cHJlc3MgdGhhdCB0aGUgQVBJIHVzZSB0aGUgbmV3IGJ1ZmZlcnMgZm9yIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyIj54bWxQYXJzZXJJbnB1dEJ1ZmZlcjwvYT4gYW5kIHhtbE91dHB1dEJ1ZmZlci4gVGhlIGNoYW5nZSB3YXMgaW50cm9kdWNlZCBpbiAyLjkuMC48L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iWE1MX0dFVF9DT05URU5UIj5NYWNybyA8L2E+WE1MX0dFVF9DT05URU5UPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX0dFVF9DT05URU5UIj5YTUxfR0VUX0NPTlRFTlQ8L2E+OworPC9wcmU+PHA+TWFjcm8gdG8gZXh0cmFjdCB0aGUgY29udGVudCBwb2ludGVyIG9mIGEgbm9kZS48L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iWE1MX0dFVF9MSU5FIj5NYWNybyA8L2E+WE1MX0dFVF9MSU5FPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX0dFVF9MSU5FIj5YTUxfR0VUX0xJTkU8L2E+OworPC9wcmU+PHA+TWFjcm8gdG8gZXh0cmFjdCB0aGUgbGluZSBudW1iZXIgb2YgYW4gZWxlbWVudCBub2RlLjwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJYTUxfTE9DQUxfTkFNRVNQQUNFIj5NYWNybyA8L2E+WE1MX0xPQ0FMX05BTUVTUEFDRTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9MT0NBTF9OQU1FU1BBQ0UiPlhNTF9MT0NBTF9OQU1FU1BBQ0U8L2E+OworPC9wcmU+PHA+QSBuYW1lc3BhY2UgZGVjbGFyYXRpb24gbm9kZS48L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iWE1MX1hNTF9JRCI+TWFjcm8gPC9hPlhNTF9YTUxfSUQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfWE1MX0lEIj5YTUxfWE1MX0lEPC9hPjsKKzwvcHJlPjxwPlRoaXMgaXMgdGhlIG5hbWUgZm9yIHRoZSBzcGVjaWFsIHhtbDppZCA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPjwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJYTUxfWE1MX05BTUVTUEFDRSI+TWFjcm8gPC9hPlhNTF9YTUxfTkFNRVNQQUNFPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX1hNTF9OQU1FU1BBQ0UiPlhNTF9YTUxfTkFNRVNQQUNFPC9hPjsKKzwvcHJlPjxwPlRoaXMgaXMgdGhlIG5hbWVzcGFjZSBmb3IgdGhlIHNwZWNpYWwgeG1sOiBwcmVmaXggcHJlZGVmaW5lZCBpbiB0aGUgWE1MIE5hbWVzcGFjZSBzcGVjaWZpY2F0aW9uLjwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxDaGlsZHJlbk5vZGUiPk1hY3JvIDwvYT54bWxDaGlsZHJlbk5vZGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiN4bWxDaGlsZHJlbk5vZGUiPnhtbENoaWxkcmVuTm9kZTwvYT47Cis8L3ByZT48cD5NYWNybyBmb3IgY29tcGF0aWJpbGl0eSBuYW1pbmcgbGF5ZXIgd2l0aCBsaWJ4bWwxLiBNYXBzIHRvICJjaGlsZHJlbi4iPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFJvb3ROb2RlIj5NYWNybyA8L2E+eG1sUm9vdE5vZGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiN4bWxSb290Tm9kZSI+eG1sUm9vdE5vZGU8L2E+OworPC9wcmU+PHA+TWFjcm8gZm9yIGNvbXBhdGliaWxpdHkgbmFtaW5nIGxheWVyIHdpdGggbGlieG1sMS4gTWFwcyB0byAiY2hpbGRyZW4iLjwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxBdHRyIj5TdHJ1Y3R1cmUgPC9hPnhtbEF0dHI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5zdHJ1Y3QgX3htbEF0dHIgeworICAgIHZvaWQgKglfcHJpdmF0ZQk6IGFwcGxpY2F0aW9uIGRhdGEKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxFbGVtZW50VHlwZSI+eG1sRWxlbWVudFR5cGU8L2E+CXR5cGUJOiBYTUxfQVRUUklCVVRFX05PREUsIG11c3QgYmUgc2Vjb25kICEKKyAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJbmFtZQk6IHRoZSBuYW1lIG9mIHRoZSBwcm9wZXJ0eQorICAgIHN0cnVjdCBfeG1sTm9kZSAqCWNoaWxkcmVuCTogdGhlIHZhbHVlIG9mIHRoZSBwcm9wZXJ0eQorICAgIHN0cnVjdCBfeG1sTm9kZSAqCWxhc3QJOiBOVUxMCisgICAgc3RydWN0IF94bWxOb2RlICoJcGFyZW50CTogY2hpbGQtJmd0O3BhcmVudCBsaW5rCisgICAgc3RydWN0IF94bWxBdHRyICoJbmV4dAk6IG5leHQgc2libGluZyBsaW5rCisgICAgc3RydWN0IF94bWxBdHRyICoJcHJldgk6IHByZXZpb3VzIHNpYmxpbmcgbGluaworICAgIHN0cnVjdCBfeG1sRG9jICoJZG9jCTogdGhlIGNvbnRhaW5pbmcgZG9jdW1lbnQKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOcyI+eG1sTnM8L2E+ICoJbnMJOiBwb2ludGVyIHRvIHRoZSBhc3NvY2lhdGVkIG5hbWVzcGFjZQorICAgIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEF0dHJpYnV0ZVR5cGUiPnhtbEF0dHJpYnV0ZVR5cGU8L2E+CWF0eXBlCTogdGhlIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IHR5cGUgaWYgdmFsaWRhdGluZworICAgIHZvaWQgKglwc3ZpCTogZm9yIHR5cGUvUFNWSSBpbmZvcm1hdGlvbnMKK30geG1sQXR0cjsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxBdHRyUHRyIj5UeXBlZGVmIDwvYT54bWxBdHRyUHRyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQXR0ciI+eG1sQXR0cjwvYT4gKiB4bWxBdHRyUHRyOworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEF0dHJpYnV0ZSI+U3RydWN0dXJlIDwvYT54bWxBdHRyaWJ1dGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5zdHJ1Y3QgX3htbEF0dHJpYnV0ZSB7CisgICAgdm9pZCAqCV9wcml2YXRlCTogYXBwbGljYXRpb24gZGF0YQorICAgIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEVsZW1lbnRUeXBlIj54bWxFbGVtZW50VHlwZTwvYT4JdHlwZQk6IFhNTF9BVFRSSUJVVEVfREVDTCwgbXVzdCBiZSBzZWNvbmQgIQorICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgluYW1lCTogQXR0cmlidXRlIG5hbWUKKyAgICBzdHJ1Y3QgX3htbE5vZGUgKgljaGlsZHJlbgk6IE5VTEwKKyAgICBzdHJ1Y3QgX3htbE5vZGUgKglsYXN0CTogTlVMTAorICAgIHN0cnVjdCBfeG1sRHRkICoJcGFyZW50CTogLSZndDsgRFRECisgICAgc3RydWN0IF94bWxOb2RlICoJbmV4dAk6IG5leHQgc2libGluZyBsaW5rCisgICAgc3RydWN0IF94bWxOb2RlICoJcHJldgk6IHByZXZpb3VzIHNpYmxpbmcgbGluaworICAgIHN0cnVjdCBfeG1sRG9jICoJZG9jCTogdGhlIGNvbnRhaW5pbmcgZG9jdW1lbnQKKyAgICBzdHJ1Y3QgX3htbEF0dHJpYnV0ZSAqCW5leHRoCTogbmV4dCBpbiBoYXNoIHRhYmxlCisgICAgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQXR0cmlidXRlVHlwZSI+eG1sQXR0cmlidXRlVHlwZTwvYT4JYXR5cGUJOiBUaGUgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gdHlwZQorICAgIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEF0dHJpYnV0ZURlZmF1bHQiPnhtbEF0dHJpYnV0ZURlZmF1bHQ8L2E+CWRlZgk6IHRoZSBkZWZhdWx0CisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCWRlZmF1bHRWYWx1ZQk6IG9yIHRoZSBkZWZhdWx0IHZhbHVlCisgICAgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRW51bWVyYXRpb25QdHIiPnhtbEVudW1lcmF0aW9uUHRyPC9hPgl0cmVlCTogb3IgdGhlIGVudW1lcmF0aW9uIHRyZWUgaWYgYW55CisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXByZWZpeAk6IHRoZSBuYW1lc3BhY2UgcHJlZml4IGlmIGFueQorICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgllbGVtCTogRWxlbWVudCBob2xkaW5nIHRoZSA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPgorfSB4bWxBdHRyaWJ1dGU7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sQXR0cmlidXRlRGVmYXVsdCI+RW51bSA8L2E+eG1sQXR0cmlidXRlRGVmYXVsdDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmVudW0gPGEgaHJlZj0iI3htbEF0dHJpYnV0ZURlZmF1bHQiPnhtbEF0dHJpYnV0ZURlZmF1bHQ8L2E+IHsKKyAgICA8YSBuYW1lPSJYTUxfQVRUUklCVVRFX05PTkUiPlhNTF9BVFRSSUJVVEVfTk9ORTwvYT4gPSAxCisgICAgPGEgbmFtZT0iWE1MX0FUVFJJQlVURV9SRVFVSVJFRCI+WE1MX0FUVFJJQlVURV9SRVFVSVJFRDwvYT4gPSAyCisgICAgPGEgbmFtZT0iWE1MX0FUVFJJQlVURV9JTVBMSUVEIj5YTUxfQVRUUklCVVRFX0lNUExJRUQ8L2E+ID0gMworICAgIDxhIG5hbWU9IlhNTF9BVFRSSUJVVEVfRklYRUQiPlhNTF9BVFRSSUJVVEVfRklYRUQ8L2E+ID0gNAorfTsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxBdHRyaWJ1dGVQdHIiPlR5cGVkZWYgPC9hPnhtbEF0dHJpYnV0ZVB0cjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEF0dHJpYnV0ZSI+eG1sQXR0cmlidXRlPC9hPiAqIHhtbEF0dHJpYnV0ZVB0cjsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxBdHRyaWJ1dGVUeXBlIj5FbnVtIDwvYT54bWxBdHRyaWJ1dGVUeXBlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+ZW51bSA8YSBocmVmPSIjeG1sQXR0cmlidXRlVHlwZSI+eG1sQXR0cmlidXRlVHlwZTwvYT4geworICAgIDxhIG5hbWU9IlhNTF9BVFRSSUJVVEVfQ0RBVEEiPlhNTF9BVFRSSUJVVEVfQ0RBVEE8L2E+ID0gMQorICAgIDxhIG5hbWU9IlhNTF9BVFRSSUJVVEVfSUQiPlhNTF9BVFRSSUJVVEVfSUQ8L2E+ID0gMgorICAgIDxhIG5hbWU9IlhNTF9BVFRSSUJVVEVfSURSRUYiPlhNTF9BVFRSSUJVVEVfSURSRUY8L2E+ID0gMworICAgIDxhIG5hbWU9IlhNTF9BVFRSSUJVVEVfSURSRUZTIj5YTUxfQVRUUklCVVRFX0lEUkVGUzwvYT4gPSA0CisgICAgPGEgbmFtZT0iWE1MX0FUVFJJQlVURV9FTlRJVFkiPlhNTF9BVFRSSUJVVEVfRU5USVRZPC9hPiA9IDUKKyAgICA8YSBuYW1lPSJYTUxfQVRUUklCVVRFX0VOVElUSUVTIj5YTUxfQVRUUklCVVRFX0VOVElUSUVTPC9hPiA9IDYKKyAgICA8YSBuYW1lPSJYTUxfQVRUUklCVVRFX05NVE9LRU4iPlhNTF9BVFRSSUJVVEVfTk1UT0tFTjwvYT4gPSA3CisgICAgPGEgbmFtZT0iWE1MX0FUVFJJQlVURV9OTVRPS0VOUyI+WE1MX0FUVFJJQlVURV9OTVRPS0VOUzwvYT4gPSA4CisgICAgPGEgbmFtZT0iWE1MX0FUVFJJQlVURV9FTlVNRVJBVElPTiI+WE1MX0FUVFJJQlVURV9FTlVNRVJBVElPTjwvYT4gPSA5CisgICAgPGEgbmFtZT0iWE1MX0FUVFJJQlVURV9OT1RBVElPTiI+WE1MX0FUVFJJQlVURV9OT1RBVElPTjwvYT4gPSAxMAorfTsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxCdWYiPlN0cnVjdHVyZSA8L2E+eG1sQnVmPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+c3RydWN0IF94bWxCdWYgeworVGhlIGNvbnRlbnQgb2YgdGhpcyBzdHJ1Y3R1cmUgaXMgbm90IG1hZGUgcHVibGljIGJ5IHRoZSBBUEkuCit9IHhtbEJ1ZjsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxCdWZQdHIiPlR5cGVkZWYgPC9hPnhtbEJ1ZlB0cjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEJ1ZiI+eG1sQnVmPC9hPiAqIHhtbEJ1ZlB0cjsKKzwvcHJlPjxwPkEgcG9pbnRlciB0byBhIGJ1ZmZlciBzdHJ1Y3R1cmUsIHRoZSBhY3R1YWwgc3RydWN0dXJlIGludGVybmFscyBhcmUgbm90IHB1YmxpYzwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxCdWZmZXIiPlN0cnVjdHVyZSA8L2E+eG1sQnVmZmVyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+c3RydWN0IF94bWxCdWZmZXIgeworICAgIDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgljb250ZW50CTogVGhlIGJ1ZmZlciBjb250ZW50IFVURjgKKyAgICB1bnNpZ25lZCBpbnQJdXNlCTogVGhlIGJ1ZmZlciBzaXplIHVzZWQKKyAgICB1bnNpZ25lZCBpbnQJc2l6ZQk6IFRoZSBidWZmZXIgc2l6ZQorICAgIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUiPnhtbEJ1ZmZlckFsbG9jYXRpb25TY2hlbWU8L2E+CWFsbG9jCTogVGhlIHJlYWxsb2MgbWV0aG9kCisgICAgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCWNvbnRlbnRJTwk6IGluIElPIG1vZGUgd2UgbWF5IGhhdmUgYSBkaWZmZXJlbnQgYmFzZQorfSB4bWxCdWZmZXI7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sQnVmZmVyQWxsb2NhdGlvblNjaGVtZSI+RW51bSA8L2E+eG1sQnVmZmVyQWxsb2NhdGlvblNjaGVtZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmVudW0gPGEgaHJlZj0iI3htbEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUiPnhtbEJ1ZmZlckFsbG9jYXRpb25TY2hlbWU8L2E+IHsKKyAgICA8YSBuYW1lPSJYTUxfQlVGRkVSX0FMTE9DX0RPVUJMRUlUIj5YTUxfQlVGRkVSX0FMTE9DX0RPVUJMRUlUPC9hPiA9IDEgLyogZG91YmxlIGVhY2ggdGltZSBvbmUgbmVlZCB0byBncm93ICovCisgICAgPGEgbmFtZT0iWE1MX0JVRkZFUl9BTExPQ19FWEFDVCI+WE1MX0JVRkZFUl9BTExPQ19FWEFDVDwvYT4gPSAyIC8qIGdyb3cgb25seSB0byB0aGUgbWluaW1hbCBzaXplICovCisgICAgPGEgbmFtZT0iWE1MX0JVRkZFUl9BTExPQ19JTU1VVEFCTEUiPlhNTF9CVUZGRVJfQUxMT0NfSU1NVVRBQkxFPC9hPiA9IDMgLyogaW1tdXRhYmxlIGJ1ZmZlciAqLworICAgIDxhIG5hbWU9IlhNTF9CVUZGRVJfQUxMT0NfSU8iPlhNTF9CVUZGRVJfQUxMT0NfSU88L2E+ID0gNCAvKiBzcGVjaWFsIGFsbG9jYXRpb24gc2NoZW1lIHVzZWQgZm9yIEkvTyAqLworICAgIDxhIG5hbWU9IlhNTF9CVUZGRVJfQUxMT0NfSFlCUklEIj5YTUxfQlVGRkVSX0FMTE9DX0hZQlJJRDwvYT4gPSA1IC8qICBleGFjdCB1cCB0byBhIHRocmVzaG9sZCwgYW5kIGRvdWJsZWl0IHRoZXJlYWZ0ZXIgKi8KK307Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sQnVmZmVyUHRyIj5UeXBlZGVmIDwvYT54bWxCdWZmZXJQdHI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxCdWZmZXIiPnhtbEJ1ZmZlcjwvYT4gKiB4bWxCdWZmZXJQdHI7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sRE9NV3JhcEN0eHQiPlN0cnVjdHVyZSA8L2E+eG1sRE9NV3JhcEN0eHQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5zdHJ1Y3QgX3htbERPTVdyYXBDdHh0IHsKKyAgICB2b2lkICoJX3ByaXZhdGUJOiAqIFRoZSB0eXBlIG9mIHRoaXMgY29udGV4dCwganVzdCBpbiBjYXNlIHdlIG5lZWQgc3BlY2lhbGl6ZWQgKiBjb250ZXh0CisgICAgaW50CXR5cGUJOiAqIEludGVybmFsIG5hbWVzcGFjZSBtYXAgdXNlZCBmb3IgdmFyaW91cyBvcGVyYXRpb25zLiAqCisgICAgdm9pZCAqCW5hbWVzcGFjZU1hcAk6ICogVXNlIHRoaXMgb25lIHRvIGFjcXVpcmUgYW4gPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTnNQdHIiPnhtbE5zUHRyPC9hPiBpbnRlbmRlZCBmb3Igbm9kZS0mZ3Q7bnMuICogKE5vdGUgdAorICAgIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERPTVdyYXBBY3F1aXJlTnNGdW5jdGlvbiI+eG1sRE9NV3JhcEFjcXVpcmVOc0Z1bmN0aW9uPC9hPglnZXROc0Zvck5vZGVGdW5jCit9IHhtbERPTVdyYXBDdHh0OworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbERPTVdyYXBDdHh0UHRyIj5UeXBlZGVmIDwvYT54bWxET01XcmFwQ3R4dFB0cjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERPTVdyYXBDdHh0Ij54bWxET01XcmFwQ3R4dDwvYT4gKiB4bWxET01XcmFwQ3R4dFB0cjsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxEb2MiPlN0cnVjdHVyZSA8L2E+eG1sRG9jPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+c3RydWN0IF94bWxEb2MgeworICAgIHZvaWQgKglfcHJpdmF0ZQk6IGFwcGxpY2F0aW9uIGRhdGEKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxFbGVtZW50VHlwZSI+eG1sRWxlbWVudFR5cGU8L2E+CXR5cGUJOiBYTUxfRE9DVU1FTlRfTk9ERSwgbXVzdCBiZSBzZWNvbmQgIQorICAgIGNoYXIgKgluYW1lCTogbmFtZS9maWxlbmFtZS9VUkkgb2YgdGhlIGRvY3VtZW50CisgICAgc3RydWN0IF94bWxOb2RlICoJY2hpbGRyZW4JOiB0aGUgZG9jdW1lbnQgdHJlZQorICAgIHN0cnVjdCBfeG1sTm9kZSAqCWxhc3QJOiBsYXN0IGNoaWxkIGxpbmsKKyAgICBzdHJ1Y3QgX3htbE5vZGUgKglwYXJlbnQJOiBjaGlsZC0mZ3Q7cGFyZW50IGxpbmsKKyAgICBzdHJ1Y3QgX3htbE5vZGUgKgluZXh0CTogbmV4dCBzaWJsaW5nIGxpbmsKKyAgICBzdHJ1Y3QgX3htbE5vZGUgKglwcmV2CTogcHJldmlvdXMgc2libGluZyBsaW5rCisgICAgc3RydWN0IF94bWxEb2MgKglkb2MJOiBhdXRvcmVmZXJlbmNlIHRvIGl0c2VsZiBFbmQgb2YgY29tbW9uIHBhcnQKKyAgICBpbnQJY29tcHJlc3Npb24JOiBsZXZlbCBvZiB6bGliIGNvbXByZXNzaW9uCisgICAgaW50CXN0YW5kYWxvbmUJOiBzdGFuZGFsb25lIGRvY3VtZW50IChubyBleHRlcm5hbCByZWZzKSAxIGlmIHN0YW5kYWxvbmU9InllcyIgMCBpZiBzdGEKKyAgICBzdHJ1Y3QgX3htbER0ZCAqCWludFN1YnNldAk6IHRoZSBkb2N1bWVudCBpbnRlcm5hbCBzdWJzZXQKKyAgICBzdHJ1Y3QgX3htbER0ZCAqCWV4dFN1YnNldAk6IHRoZSBkb2N1bWVudCBleHRlcm5hbCBzdWJzZXQKKyAgICBzdHJ1Y3QgX3htbE5zICoJb2xkTnMJOiBHbG9iYWwgbmFtZXNwYWNlLCB0aGUgb2xkIHdheQorICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl2ZXJzaW9uCTogdGhlIFhNTCB2ZXJzaW9uIHN0cmluZworICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgllbmNvZGluZwk6IGV4dGVybmFsIGluaXRpYWwgZW5jb2RpbmcsIGlmIGFueQorICAgIHZvaWQgKglpZHMJOiBIYXNoIHRhYmxlIGZvciBJRCBhdHRyaWJ1dGVzIGlmIGFueQorICAgIHZvaWQgKglyZWZzCTogSGFzaCB0YWJsZSBmb3IgSURSRUZzIGF0dHJpYnV0ZXMgaWYgYW55CisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCVVSTAk6IFRoZSBVUkkgZm9yIHRoYXQgZG9jdW1lbnQKKyAgICBpbnQJY2hhcnNldAk6IGVuY29kaW5nIG9mIHRoZSBpbi1tZW1vcnkgY29udGVudCBhY3R1YWxseSBhbiA8YSBocmVmPSJsaWJ4bWwyLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nIj54bWxDaGFyRW5jb2Rpbmc8L2E+CisgICAgc3RydWN0IF94bWxEaWN0ICoJZGljdAk6IGRpY3QgdXNlZCB0byBhbGxvY2F0ZSBuYW1lcyBvciBOVUxMCisgICAgdm9pZCAqCXBzdmkJOiBmb3IgdHlwZS9QU1ZJIGluZm9ybWF0aW9ucworICAgIGludAlwYXJzZUZsYWdzCTogc2V0IG9mIDxhIGhyZWY9ImxpYnhtbDItcGFyc2VyLmh0bWwjeG1sUGFyc2VyT3B0aW9uIj54bWxQYXJzZXJPcHRpb248L2E+IHVzZWQgdG8gcGFyc2UgdGhlIGRvY3VtZW50CisgICAgaW50CXByb3BlcnRpZXMJOiBzZXQgb2YgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHJvcGVydGllcyI+eG1sRG9jUHJvcGVydGllczwvYT4gZm9yIHRoaXMgZG9jdW1lbnQgc2V0IGF0IHRoZSBlbmQgb2YgcGFyc2luZworfSB4bWxEb2M7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sRG9jUHJvcGVydGllcyI+RW51bSA8L2E+eG1sRG9jUHJvcGVydGllczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmVudW0gPGEgaHJlZj0iI3htbERvY1Byb3BlcnRpZXMiPnhtbERvY1Byb3BlcnRpZXM8L2E+IHsKKyAgICA8YSBuYW1lPSJYTUxfRE9DX1dFTExGT1JNRUQiPlhNTF9ET0NfV0VMTEZPUk1FRDwvYT4gPSAxIC8qIGRvY3VtZW50IGlzIFhNTCB3ZWxsIGZvcm1lZCAqLworICAgIDxhIG5hbWU9IlhNTF9ET0NfTlNWQUxJRCI+WE1MX0RPQ19OU1ZBTElEPC9hPiA9IDIgLyogZG9jdW1lbnQgaXMgTmFtZXNwYWNlIHZhbGlkICovCisgICAgPGEgbmFtZT0iWE1MX0RPQ19PTEQxMCI+WE1MX0RPQ19PTEQxMDwvYT4gPSA0IC8qIHBhcnNlZCB3aXRoIG9sZCBYTUwtMS4wIHBhcnNlciAqLworICAgIDxhIG5hbWU9IlhNTF9ET0NfRFREVkFMSUQiPlhNTF9ET0NfRFREVkFMSUQ8L2E+ID0gOCAvKiBEVEQgdmFsaWRhdGlvbiB3YXMgc3VjY2Vzc2Z1bCAqLworICAgIDxhIG5hbWU9IlhNTF9ET0NfWElOQ0xVREUiPlhNTF9ET0NfWElOQ0xVREU8L2E+ID0gMTYgLyogWEluY2x1ZGUgc3Vic3RpdHV0aW9uIHdhcyBkb25lICovCisgICAgPGEgbmFtZT0iWE1MX0RPQ19VU0VSQlVJTFQiPlhNTF9ET0NfVVNFUkJVSUxUPC9hPiA9IDMyIC8qIERvY3VtZW50IHdhcyBidWlsdCB1c2luZyB0aGUgQVBJIGFuZCBub3QgYnkgcGFyc2luZyBhbiBpbnN0YW5jZSAqLworICAgIDxhIG5hbWU9IlhNTF9ET0NfSU5URVJOQUwiPlhNTF9ET0NfSU5URVJOQUw8L2E+ID0gNjQgLyogYnVpbHQgZm9yIGludGVybmFsIHByb2Nlc3NpbmcgKi8KKyAgICA8YSBuYW1lPSJYTUxfRE9DX0hUTUwiPlhNTF9ET0NfSFRNTDwvYT4gPSAxMjggLyogIHBhcnNlZCBvciBidWlsdCBIVE1MIGRvY3VtZW50ICovCit9OworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbERvY1B0ciI+VHlwZWRlZiA8L2E+eG1sRG9jUHRyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jIj54bWxEb2M8L2E+ICogeG1sRG9jUHRyOworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbER0ZCI+U3RydWN0dXJlIDwvYT54bWxEdGQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5zdHJ1Y3QgX3htbER0ZCB7CisgICAgdm9pZCAqCV9wcml2YXRlCTogYXBwbGljYXRpb24gZGF0YQorICAgIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEVsZW1lbnRUeXBlIj54bWxFbGVtZW50VHlwZTwvYT4JdHlwZQk6IFhNTF9EVERfTk9ERSwgbXVzdCBiZSBzZWNvbmQgIQorICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgluYW1lCTogTmFtZSBvZiB0aGUgRFRECisgICAgc3RydWN0IF94bWxOb2RlICoJY2hpbGRyZW4JOiB0aGUgdmFsdWUgb2YgdGhlIHByb3BlcnR5IGxpbmsKKyAgICBzdHJ1Y3QgX3htbE5vZGUgKglsYXN0CTogbGFzdCBjaGlsZCBsaW5rCisgICAgc3RydWN0IF94bWxEb2MgKglwYXJlbnQJOiBjaGlsZC0mZ3Q7cGFyZW50IGxpbmsKKyAgICBzdHJ1Y3QgX3htbE5vZGUgKgluZXh0CTogbmV4dCBzaWJsaW5nIGxpbmsKKyAgICBzdHJ1Y3QgX3htbE5vZGUgKglwcmV2CTogcHJldmlvdXMgc2libGluZyBsaW5rCisgICAgc3RydWN0IF94bWxEb2MgKglkb2MJOiB0aGUgY29udGFpbmluZyBkb2N1bWVudCBFbmQgb2YgY29tbW9uIHBhcnQKKyAgICB2b2lkICoJbm90YXRpb25zCTogSGFzaCB0YWJsZSBmb3Igbm90YXRpb25zIGlmIGFueQorICAgIHZvaWQgKgllbGVtZW50cwk6IEhhc2ggdGFibGUgZm9yIGVsZW1lbnRzIGlmIGFueQorICAgIHZvaWQgKglhdHRyaWJ1dGVzCTogSGFzaCB0YWJsZSBmb3IgYXR0cmlidXRlcyBpZiBhbnkKKyAgICB2b2lkICoJZW50aXRpZXMJOiBIYXNoIHRhYmxlIGZvciBlbnRpdGllcyBpZiBhbnkKKyAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJRXh0ZXJuYWxJRAk6IEV4dGVybmFsIGlkZW50aWZpZXIgZm9yIFBVQkxJQyBEVEQKKyAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJU3lzdGVtSUQJOiBVUkkgZm9yIGEgU1lTVEVNIG9yIFBVQkxJQyBEVEQKKyAgICB2b2lkICoJcGVudGl0aWVzCTogSGFzaCB0YWJsZSBmb3IgcGFyYW0gZW50aXRpZXMgaWYgYW55Cit9IHhtbER0ZDsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxEdGRQdHIiPlR5cGVkZWYgPC9hPnhtbER0ZFB0cjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbER0ZCI+eG1sRHRkPC9hPiAqIHhtbER0ZFB0cjsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxFbGVtZW50Ij5TdHJ1Y3R1cmUgPC9hPnhtbEVsZW1lbnQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5zdHJ1Y3QgX3htbEVsZW1lbnQgeworICAgIHZvaWQgKglfcHJpdmF0ZQk6IGFwcGxpY2F0aW9uIGRhdGEKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxFbGVtZW50VHlwZSI+eG1sRWxlbWVudFR5cGU8L2E+CXR5cGUJOiBYTUxfRUxFTUVOVF9ERUNMLCBtdXN0IGJlIHNlY29uZCAhCisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCW5hbWUJOiBFbGVtZW50IG5hbWUKKyAgICBzdHJ1Y3QgX3htbE5vZGUgKgljaGlsZHJlbgk6IE5VTEwKKyAgICBzdHJ1Y3QgX3htbE5vZGUgKglsYXN0CTogTlVMTAorICAgIHN0cnVjdCBfeG1sRHRkICoJcGFyZW50CTogLSZndDsgRFRECisgICAgc3RydWN0IF94bWxOb2RlICoJbmV4dAk6IG5leHQgc2libGluZyBsaW5rCisgICAgc3RydWN0IF94bWxOb2RlICoJcHJldgk6IHByZXZpb3VzIHNpYmxpbmcgbGluaworICAgIHN0cnVjdCBfeG1sRG9jICoJZG9jCTogdGhlIGNvbnRhaW5pbmcgZG9jdW1lbnQKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxFbGVtZW50VHlwZVZhbCI+eG1sRWxlbWVudFR5cGVWYWw8L2E+CWV0eXBlCTogVGhlIHR5cGUKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxFbGVtZW50Q29udGVudFB0ciI+eG1sRWxlbWVudENvbnRlbnRQdHI8L2E+CWNvbnRlbnQJOiB0aGUgYWxsb3dlZCBlbGVtZW50IGNvbnRlbnQKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxBdHRyaWJ1dGVQdHIiPnhtbEF0dHJpYnV0ZVB0cjwvYT4JYXR0cmlidXRlcwk6IExpc3Qgb2YgdGhlIGRlY2xhcmVkIGF0dHJpYnV0ZXMKKyAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJcHJlZml4CTogdGhlIG5hbWVzcGFjZSBwcmVmaXggaWYgYW55CisgICAgPGEgaHJlZj0ibGlieG1sMi14bWxyZWdleHAuaHRtbCN4bWxSZWdleHBQdHIiPnhtbFJlZ2V4cFB0cjwvYT4JY29udE1vZGVsCTogdGhlIHZhbGlkYXRpbmcgcmVnZXhwCisgICAgdm9pZCAqCWNvbnRNb2RlbAorfSB4bWxFbGVtZW50OworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEVsZW1lbnRDb250ZW50Ij5TdHJ1Y3R1cmUgPC9hPnhtbEVsZW1lbnRDb250ZW50PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+c3RydWN0IF94bWxFbGVtZW50Q29udGVudCB7CisgICAgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRWxlbWVudENvbnRlbnRUeXBlIj54bWxFbGVtZW50Q29udGVudFR5cGU8L2E+CXR5cGUJOiBQQ0RBVEEsIEVMRU1FTlQsIFNFUSBvciBPUgorICAgIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEVsZW1lbnRDb250ZW50T2NjdXIiPnhtbEVsZW1lbnRDb250ZW50T2NjdXI8L2E+CW9jdXIJOiBPTkNFLCBPUFQsIE1VTFQgb3IgUExVUworICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgluYW1lCTogRWxlbWVudCBuYW1lCisgICAgc3RydWN0IF94bWxFbGVtZW50Q29udGVudCAqCWMxCTogZmlyc3QgY2hpbGQKKyAgICBzdHJ1Y3QgX3htbEVsZW1lbnRDb250ZW50ICoJYzIJOiBzZWNvbmQgY2hpbGQKKyAgICBzdHJ1Y3QgX3htbEVsZW1lbnRDb250ZW50ICoJcGFyZW50CTogcGFyZW50CisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXByZWZpeAk6IE5hbWVzcGFjZSBwcmVmaXgKK30geG1sRWxlbWVudENvbnRlbnQ7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sRWxlbWVudENvbnRlbnRPY2N1ciI+RW51bSA8L2E+eG1sRWxlbWVudENvbnRlbnRPY2N1cjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmVudW0gPGEgaHJlZj0iI3htbEVsZW1lbnRDb250ZW50T2NjdXIiPnhtbEVsZW1lbnRDb250ZW50T2NjdXI8L2E+IHsKKyAgICA8YSBuYW1lPSJYTUxfRUxFTUVOVF9DT05URU5UX09OQ0UiPlhNTF9FTEVNRU5UX0NPTlRFTlRfT05DRTwvYT4gPSAxCisgICAgPGEgbmFtZT0iWE1MX0VMRU1FTlRfQ09OVEVOVF9PUFQiPlhNTF9FTEVNRU5UX0NPTlRFTlRfT1BUPC9hPiA9IDIKKyAgICA8YSBuYW1lPSJYTUxfRUxFTUVOVF9DT05URU5UX01VTFQiPlhNTF9FTEVNRU5UX0NPTlRFTlRfTVVMVDwvYT4gPSAzCisgICAgPGEgbmFtZT0iWE1MX0VMRU1FTlRfQ09OVEVOVF9QTFVTIj5YTUxfRUxFTUVOVF9DT05URU5UX1BMVVM8L2E+ID0gNAorfTsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxFbGVtZW50Q29udGVudFB0ciI+VHlwZWRlZiA8L2E+eG1sRWxlbWVudENvbnRlbnRQdHI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxFbGVtZW50Q29udGVudCI+eG1sRWxlbWVudENvbnRlbnQ8L2E+ICogeG1sRWxlbWVudENvbnRlbnRQdHI7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sRWxlbWVudENvbnRlbnRUeXBlIj5FbnVtIDwvYT54bWxFbGVtZW50Q29udGVudFR5cGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5lbnVtIDxhIGhyZWY9IiN4bWxFbGVtZW50Q29udGVudFR5cGUiPnhtbEVsZW1lbnRDb250ZW50VHlwZTwvYT4geworICAgIDxhIG5hbWU9IlhNTF9FTEVNRU5UX0NPTlRFTlRfUENEQVRBIj5YTUxfRUxFTUVOVF9DT05URU5UX1BDREFUQTwvYT4gPSAxCisgICAgPGEgbmFtZT0iWE1MX0VMRU1FTlRfQ09OVEVOVF9FTEVNRU5UIj5YTUxfRUxFTUVOVF9DT05URU5UX0VMRU1FTlQ8L2E+ID0gMgorICAgIDxhIG5hbWU9IlhNTF9FTEVNRU5UX0NPTlRFTlRfU0VRIj5YTUxfRUxFTUVOVF9DT05URU5UX1NFUTwvYT4gPSAzCisgICAgPGEgbmFtZT0iWE1MX0VMRU1FTlRfQ09OVEVOVF9PUiI+WE1MX0VMRU1FTlRfQ09OVEVOVF9PUjwvYT4gPSA0Cit9OworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEVsZW1lbnRQdHIiPlR5cGVkZWYgPC9hPnhtbEVsZW1lbnRQdHI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxFbGVtZW50Ij54bWxFbGVtZW50PC9hPiAqIHhtbEVsZW1lbnRQdHI7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sRWxlbWVudFR5cGUiPkVudW0gPC9hPnhtbEVsZW1lbnRUeXBlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+ZW51bSA8YSBocmVmPSIjeG1sRWxlbWVudFR5cGUiPnhtbEVsZW1lbnRUeXBlPC9hPiB7CisgICAgPGEgbmFtZT0iWE1MX0VMRU1FTlRfTk9ERSI+WE1MX0VMRU1FTlRfTk9ERTwvYT4gPSAxCisgICAgPGEgbmFtZT0iWE1MX0FUVFJJQlVURV9OT0RFIj5YTUxfQVRUUklCVVRFX05PREU8L2E+ID0gMgorICAgIDxhIG5hbWU9IlhNTF9URVhUX05PREUiPlhNTF9URVhUX05PREU8L2E+ID0gMworICAgIDxhIG5hbWU9IlhNTF9DREFUQV9TRUNUSU9OX05PREUiPlhNTF9DREFUQV9TRUNUSU9OX05PREU8L2E+ID0gNAorICAgIDxhIG5hbWU9IlhNTF9FTlRJVFlfUkVGX05PREUiPlhNTF9FTlRJVFlfUkVGX05PREU8L2E+ID0gNQorICAgIDxhIG5hbWU9IlhNTF9FTlRJVFlfTk9ERSI+WE1MX0VOVElUWV9OT0RFPC9hPiA9IDYKKyAgICA8YSBuYW1lPSJYTUxfUElfTk9ERSI+WE1MX1BJX05PREU8L2E+ID0gNworICAgIDxhIG5hbWU9IlhNTF9DT01NRU5UX05PREUiPlhNTF9DT01NRU5UX05PREU8L2E+ID0gOAorICAgIDxhIG5hbWU9IlhNTF9ET0NVTUVOVF9OT0RFIj5YTUxfRE9DVU1FTlRfTk9ERTwvYT4gPSA5CisgICAgPGEgbmFtZT0iWE1MX0RPQ1VNRU5UX1RZUEVfTk9ERSI+WE1MX0RPQ1VNRU5UX1RZUEVfTk9ERTwvYT4gPSAxMAorICAgIDxhIG5hbWU9IlhNTF9ET0NVTUVOVF9GUkFHX05PREUiPlhNTF9ET0NVTUVOVF9GUkFHX05PREU8L2E+ID0gMTEKKyAgICA8YSBuYW1lPSJYTUxfTk9UQVRJT05fTk9ERSI+WE1MX05PVEFUSU9OX05PREU8L2E+ID0gMTIKKyAgICA8YSBuYW1lPSJYTUxfSFRNTF9ET0NVTUVOVF9OT0RFIj5YTUxfSFRNTF9ET0NVTUVOVF9OT0RFPC9hPiA9IDEzCisgICAgPGEgbmFtZT0iWE1MX0RURF9OT0RFIj5YTUxfRFREX05PREU8L2E+ID0gMTQKKyAgICA8YSBuYW1lPSJYTUxfRUxFTUVOVF9ERUNMIj5YTUxfRUxFTUVOVF9ERUNMPC9hPiA9IDE1CisgICAgPGEgbmFtZT0iWE1MX0FUVFJJQlVURV9ERUNMIj5YTUxfQVRUUklCVVRFX0RFQ0w8L2E+ID0gMTYKKyAgICA8YSBuYW1lPSJYTUxfRU5USVRZX0RFQ0wiPlhNTF9FTlRJVFlfREVDTDwvYT4gPSAxNworICAgIDxhIG5hbWU9IlhNTF9OQU1FU1BBQ0VfREVDTCI+WE1MX05BTUVTUEFDRV9ERUNMPC9hPiA9IDE4CisgICAgPGEgbmFtZT0iWE1MX1hJTkNMVURFX1NUQVJUIj5YTUxfWElOQ0xVREVfU1RBUlQ8L2E+ID0gMTkKKyAgICA8YSBuYW1lPSJYTUxfWElOQ0xVREVfRU5EIj5YTUxfWElOQ0xVREVfRU5EPC9hPiA9IDIwCisgICAgPGEgbmFtZT0iWE1MX0RPQ0JfRE9DVU1FTlRfTk9ERSI+WE1MX0RPQ0JfRE9DVU1FTlRfTk9ERTwvYT4gPSAyMQorfTsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxFbGVtZW50VHlwZVZhbCI+RW51bSA8L2E+eG1sRWxlbWVudFR5cGVWYWw8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5lbnVtIDxhIGhyZWY9IiN4bWxFbGVtZW50VHlwZVZhbCI+eG1sRWxlbWVudFR5cGVWYWw8L2E+IHsKKyAgICA8YSBuYW1lPSJYTUxfRUxFTUVOVF9UWVBFX1VOREVGSU5FRCI+WE1MX0VMRU1FTlRfVFlQRV9VTkRFRklORUQ8L2E+ID0gMAorICAgIDxhIG5hbWU9IlhNTF9FTEVNRU5UX1RZUEVfRU1QVFkiPlhNTF9FTEVNRU5UX1RZUEVfRU1QVFk8L2E+ID0gMQorICAgIDxhIG5hbWU9IlhNTF9FTEVNRU5UX1RZUEVfQU5ZIj5YTUxfRUxFTUVOVF9UWVBFX0FOWTwvYT4gPSAyCisgICAgPGEgbmFtZT0iWE1MX0VMRU1FTlRfVFlQRV9NSVhFRCI+WE1MX0VMRU1FTlRfVFlQRV9NSVhFRDwvYT4gPSAzCisgICAgPGEgbmFtZT0iWE1MX0VMRU1FTlRfVFlQRV9FTEVNRU5UIj5YTUxfRUxFTUVOVF9UWVBFX0VMRU1FTlQ8L2E+ID0gNAorfTsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxFbnRpdHkiPlN0cnVjdHVyZSA8L2E+eG1sRW50aXR5PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+c3RydWN0IF94bWxFbnRpdHkgeworICAgIHZvaWQgKglfcHJpdmF0ZQk6IGFwcGxpY2F0aW9uIGRhdGEKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxFbGVtZW50VHlwZSI+eG1sRWxlbWVudFR5cGU8L2E+CXR5cGUJOiBYTUxfRU5USVRZX0RFQ0wsIG11c3QgYmUgc2Vjb25kICEKKyAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJbmFtZQk6IEVudGl0eSBuYW1lCisgICAgc3RydWN0IF94bWxOb2RlICoJY2hpbGRyZW4JOiBGaXJzdCBjaGlsZCBsaW5rCisgICAgc3RydWN0IF94bWxOb2RlICoJbGFzdAk6IExhc3QgY2hpbGQgbGluaworICAgIHN0cnVjdCBfeG1sRHRkICoJcGFyZW50CTogLSZndDsgRFRECisgICAgc3RydWN0IF94bWxOb2RlICoJbmV4dAk6IG5leHQgc2libGluZyBsaW5rCisgICAgc3RydWN0IF94bWxOb2RlICoJcHJldgk6IHByZXZpb3VzIHNpYmxpbmcgbGluaworICAgIHN0cnVjdCBfeG1sRG9jICoJZG9jCTogdGhlIGNvbnRhaW5pbmcgZG9jdW1lbnQKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJb3JpZwk6IGNvbnRlbnQgd2l0aG91dCByZWYgc3Vic3RpdHV0aW9uCisgICAgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCWNvbnRlbnQJOiBjb250ZW50IG9yIG5kYXRhIGlmIHVucGFyc2VkCisgICAgaW50CWxlbmd0aAk6IHRoZSBjb250ZW50IGxlbmd0aAorICAgIDxhIGhyZWY9ImxpYnhtbDItZW50aXRpZXMuaHRtbCN4bWxFbnRpdHlUeXBlIj54bWxFbnRpdHlUeXBlPC9hPglldHlwZQk6IFRoZSBlbnRpdHkgdHlwZQorICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKglFeHRlcm5hbElECTogRXh0ZXJuYWwgaWRlbnRpZmllciBmb3IgUFVCTElDCisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCVN5c3RlbUlECTogVVJJIGZvciBhIFNZU1RFTSBvciBQVUJMSUMgRW50aXR5CisgICAgc3RydWN0IF94bWxFbnRpdHkgKgluZXh0ZQk6IHVudXNlZAorICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKglVUkkJOiB0aGUgZnVsbCBVUkkgYXMgY29tcHV0ZWQKKyAgICBpbnQJb3duZXIJOiBkb2VzIHRoZSBlbnRpdHkgb3duIHRoZSBjaGlsZHJlbnMKKyAgICBpbnQJY2hlY2tlZAk6IHdhcyB0aGUgZW50aXR5IGNvbnRlbnQgY2hlY2tlZCB0aGlzIGlzIGFsc28gdXNlZCB0byBjb3VudCBlbnRpdGllcyAqCit9IHhtbEVudGl0eTsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxFbnRpdHlQdHIiPlR5cGVkZWYgPC9hPnhtbEVudGl0eVB0cjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEVudGl0eSI+eG1sRW50aXR5PC9hPiAqIHhtbEVudGl0eVB0cjsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxFbnVtZXJhdGlvbiI+U3RydWN0dXJlIDwvYT54bWxFbnVtZXJhdGlvbjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnN0cnVjdCBfeG1sRW51bWVyYXRpb24geworICAgIHN0cnVjdCBfeG1sRW51bWVyYXRpb24gKgluZXh0CTogbmV4dCBvbmUKKyAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJbmFtZQk6IEVudW1lcmF0aW9uIG5hbWUKK30geG1sRW51bWVyYXRpb247Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sRW51bWVyYXRpb25QdHIiPlR5cGVkZWYgPC9hPnhtbEVudW1lcmF0aW9uUHRyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRW51bWVyYXRpb24iPnhtbEVudW1lcmF0aW9uPC9hPiAqIHhtbEVudW1lcmF0aW9uUHRyOworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbElEIj5TdHJ1Y3R1cmUgPC9hPnhtbElEPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+c3RydWN0IF94bWxJRCB7CisgICAgc3RydWN0IF94bWxJRCAqCW5leHQJOiBuZXh0IElECisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXZhbHVlCTogVGhlIElEIG5hbWUKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxBdHRyUHRyIj54bWxBdHRyUHRyPC9hPglhdHRyCTogVGhlIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IGhvbGRpbmcgaXQKKyAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJbmFtZQk6IFRoZSA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBpZiBhdHRyIGlzIG5vdCBhdmFpbGFibGUKKyAgICBpbnQJbGluZW5vCTogVGhlIGxpbmUgbnVtYmVyIGlmIGF0dHIgaXMgbm90IGF2YWlsYWJsZQorICAgIHN0cnVjdCBfeG1sRG9jICoJZG9jCTogVGhlIGRvY3VtZW50IGhvbGRpbmcgdGhlIElECit9IHhtbElEOworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbElEUHRyIj5UeXBlZGVmIDwvYT54bWxJRFB0cjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbElEIj54bWxJRDwvYT4gKiB4bWxJRFB0cjsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxOb2RlIj5TdHJ1Y3R1cmUgPC9hPnhtbE5vZGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5zdHJ1Y3QgX3htbE5vZGUgeworICAgIHZvaWQgKglfcHJpdmF0ZQk6IGFwcGxpY2F0aW9uIGRhdGEKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxFbGVtZW50VHlwZSI+eG1sRWxlbWVudFR5cGU8L2E+CXR5cGUJOiB0eXBlIG51bWJlciwgbXVzdCBiZSBzZWNvbmQgIQorICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgluYW1lCTogdGhlIG5hbWUgb2YgdGhlIG5vZGUsIG9yIHRoZSBlbnRpdHkKKyAgICBzdHJ1Y3QgX3htbE5vZGUgKgljaGlsZHJlbgk6IHBhcmVudC0mZ3Q7Y2hpbGRzIGxpbmsKKyAgICBzdHJ1Y3QgX3htbE5vZGUgKglsYXN0CTogbGFzdCBjaGlsZCBsaW5rCisgICAgc3RydWN0IF94bWxOb2RlICoJcGFyZW50CTogY2hpbGQtJmd0O3BhcmVudCBsaW5rCisgICAgc3RydWN0IF94bWxOb2RlICoJbmV4dAk6IG5leHQgc2libGluZyBsaW5rCisgICAgc3RydWN0IF94bWxOb2RlICoJcHJldgk6IHByZXZpb3VzIHNpYmxpbmcgbGluaworICAgIHN0cnVjdCBfeG1sRG9jICoJZG9jCTogdGhlIGNvbnRhaW5pbmcgZG9jdW1lbnQgRW5kIG9mIGNvbW1vbiBwYXJ0CisgICAgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTnMiPnhtbE5zPC9hPiAqCW5zCTogcG9pbnRlciB0byB0aGUgYXNzb2NpYXRlZCBuYW1lc3BhY2UKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJY29udGVudAk6IHRoZSBjb250ZW50CisgICAgc3RydWN0IF94bWxBdHRyICoJcHJvcGVydGllcwk6IHByb3BlcnRpZXMgbGlzdAorICAgIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5zIj54bWxOczwvYT4gKgluc0RlZgk6IG5hbWVzcGFjZSBkZWZpbml0aW9ucyBvbiB0aGlzIG5vZGUKKyAgICB2b2lkICoJcHN2aQk6IGZvciB0eXBlL1BTVkkgaW5mb3JtYXRpb25zCisgICAgdW5zaWduZWQgc2hvcnQJbGluZQk6IGxpbmUgbnVtYmVyCisgICAgdW5zaWduZWQgc2hvcnQJZXh0cmEJOiBleHRyYSBkYXRhIGZvciBYUGF0aC9YU0xUCit9IHhtbE5vZGU7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTm9kZVB0ciI+VHlwZWRlZiA8L2E+eG1sTm9kZVB0cjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGUiPnhtbE5vZGU8L2E+ICogeG1sTm9kZVB0cjsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxOb3RhdGlvbiI+U3RydWN0dXJlIDwvYT54bWxOb3RhdGlvbjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnN0cnVjdCBfeG1sTm90YXRpb24geworICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgluYW1lCTogTm90YXRpb24gbmFtZQorICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKglQdWJsaWNJRAk6IFB1YmxpYyBpZGVudGlmaWVyLCBpZiBhbnkKKyAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJU3lzdGVtSUQJOiBTeXN0ZW0gaWRlbnRpZmllciwgaWYgYW55Cit9IHhtbE5vdGF0aW9uOworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE5vdGF0aW9uUHRyIj5UeXBlZGVmIDwvYT54bWxOb3RhdGlvblB0cjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vdGF0aW9uIj54bWxOb3RhdGlvbjwvYT4gKiB4bWxOb3RhdGlvblB0cjsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxOcyI+U3RydWN0dXJlIDwvYT54bWxOczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnN0cnVjdCBfeG1sTnMgeworICAgIHN0cnVjdCBfeG1sTnMgKgluZXh0CTogbmV4dCBOcyBsaW5rIGZvciB0aGlzIG5vZGUKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOc1R5cGUiPnhtbE5zVHlwZTwvYT4JdHlwZQk6IGdsb2JhbCBvciBsb2NhbAorICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKglocmVmCTogVVJMIGZvciB0aGUgbmFtZXNwYWNlCisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXByZWZpeAk6IHByZWZpeCBmb3IgdGhlIG5hbWVzcGFjZQorICAgIHZvaWQgKglfcHJpdmF0ZQk6IGFwcGxpY2F0aW9uIGRhdGEKKyAgICBzdHJ1Y3QgX3htbERvYyAqCWNvbnRleHQJOiBub3JtYWxseSBhbiA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2MiPnhtbERvYzwvYT4KK30geG1sTnM7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTnNQdHIiPlR5cGVkZWYgPC9hPnhtbE5zUHRyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTnMiPnhtbE5zPC9hPiAqIHhtbE5zUHRyOworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE5zVHlwZSI+VHlwZWRlZiA8L2E+eG1sTnNUeXBlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRWxlbWVudFR5cGUiPnhtbEVsZW1lbnRUeXBlPC9hPiB4bWxOc1R5cGU7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sT3V0cHV0QnVmZmVyIj5TdHJ1Y3R1cmUgPC9hPnhtbE91dHB1dEJ1ZmZlcjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnN0cnVjdCBfeG1sT3V0cHV0QnVmZmVyIHsKKyAgICB2b2lkICoJY29udGV4dAorICAgIDxhIGhyZWY9ImxpYnhtbDIteG1sSU8uaHRtbCN4bWxPdXRwdXRXcml0ZUNhbGxiYWNrIj54bWxPdXRwdXRXcml0ZUNhbGxiYWNrPC9hPgl3cml0ZWNhbGxiYWNrCisgICAgPGEgaHJlZj0ibGlieG1sMi14bWxJTy5odG1sI3htbE91dHB1dENsb3NlQ2FsbGJhY2siPnhtbE91dHB1dENsb3NlQ2FsbGJhY2s8L2E+CWNsb3NlY2FsbGJhY2sKKyAgICA8YSBocmVmPSJsaWJ4bWwyLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0ciI+eG1sQ2hhckVuY29kaW5nSGFuZGxlclB0cjwvYT4JZW5jb2Rlcgk6IEkxOE4gY29udmVyc2lvbnMgdG8gVVRGLTgKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxCdWZQdHIiPnhtbEJ1ZlB0cjwvYT4JYnVmZmVyCTogTG9jYWwgYnVmZmVyIGVuY29kZWQgaW4gVVRGLTggb3IgSVNPTGF0aW4KKyAgICA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxCdWZQdHIiPnhtbEJ1ZlB0cjwvYT4JY29udgk6IGlmIGVuY29kZXIgIT0gTlVMTCBidWZmZXIgZm9yIG91dHB1dAorICAgIGludAl3cml0dGVuCTogdG90YWwgbnVtYmVyIG9mIGJ5dGUgd3JpdHRlbgorICAgIGludAllcnJvcgorfSB4bWxPdXRwdXRCdWZmZXI7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sT3V0cHV0QnVmZmVyUHRyIj5UeXBlZGVmIDwvYT54bWxPdXRwdXRCdWZmZXJQdHI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxPdXRwdXRCdWZmZXIiPnhtbE91dHB1dEJ1ZmZlcjwvYT4gKiB4bWxPdXRwdXRCdWZmZXJQdHI7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUGFyc2VyQ3R4dCI+U3RydWN0dXJlIDwvYT54bWxQYXJzZXJDdHh0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+c3RydWN0IF94bWxQYXJzZXJDdHh0IHsKKyAgICBzdHJ1Y3QgX3htbFNBWEhhbmRsZXIgKglzYXgJOiBUaGUgU0FYIGhhbmRsZXIKKyAgICB2b2lkICoJdXNlckRhdGEJOiBGb3IgU0FYIGludGVyZmFjZSBvbmx5LCB1c2VkIGJ5IERPTSBidWlsZAorICAgIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPglteURvYwk6IHRoZSBkb2N1bWVudCBiZWluZyBidWlsdAorICAgIGludAl3ZWxsRm9ybWVkCTogaXMgdGhlIGRvY3VtZW50IHdlbGwgZm9ybWVkCisgICAgaW50CXJlcGxhY2VFbnRpdGllcwk6IHNoYWxsIHdlIHJlcGxhY2UgZW50aXRpZXMgPworICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl2ZXJzaW9uCTogdGhlIFhNTCB2ZXJzaW9uIHN0cmluZworICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgllbmNvZGluZwk6IHRoZSBkZWNsYXJlZCBlbmNvZGluZywgaWYgYW55CisgICAgaW50CXN0YW5kYWxvbmUJOiBzdGFuZGFsb25lIGRvY3VtZW50CisgICAgaW50CWh0bWwJOiBhbiBIVE1MKDEpL0RvY2Jvb2soMikgZG9jdW1lbnQgKiAzIGlzIEhUTUwgYWZ0ZXIgJmx0O2hlYWQmZ3Q7ICogMTAgaXMgSFRNTAorICAgIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlcklucHV0UHRyIj54bWxQYXJzZXJJbnB1dFB0cjwvYT4JaW5wdXQJOiBDdXJyZW50IGlucHV0IHN0cmVhbQorICAgIGludAlpbnB1dE5yCTogTnVtYmVyIG9mIGN1cnJlbnQgaW5wdXQgc3RyZWFtcworICAgIGludAlpbnB1dE1heAk6IE1heCBudW1iZXIgb2YgaW5wdXQgc3RyZWFtcworICAgIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlcklucHV0UHRyIj54bWxQYXJzZXJJbnB1dFB0cjwvYT4gKglpbnB1dFRhYgk6IHN0YWNrIG9mIGlucHV0cyBOb2RlIGFuYWx5c2lzIHN0YWNrIG9ubHkgdXNlZCBmb3IgRE9NIGJ1aWxkaW5nCisgICAgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4Jbm9kZQk6IEN1cnJlbnQgcGFyc2VkIE5vZGUKKyAgICBpbnQJbm9kZU5yCTogRGVwdGggb2YgdGhlIHBhcnNpbmcgc3RhY2sKKyAgICBpbnQJbm9kZU1heAk6IE1heCBkZXB0aCBvZiB0aGUgcGFyc2luZyBzdGFjaworICAgIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+ICoJbm9kZVRhYgk6IGFycmF5IG9mIG5vZGVzCisgICAgaW50CXJlY29yZF9pbmZvCTogV2hldGhlciBub2RlIGluZm8gc2hvdWxkIGJlIGtlcHQKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXBhcnNlci5odG1sI3htbFBhcnNlck5vZGVJbmZvU2VxIj54bWxQYXJzZXJOb2RlSW5mb1NlcTwvYT4Jbm9kZV9zZXEJOiBpbmZvIGFib3V0IGVhY2ggbm9kZSBwYXJzZWQKKyAgICBpbnQJZXJyTm8JOiBlcnJvciBjb2RlCisgICAgaW50CWhhc0V4dGVybmFsU3Vic2V0CTogPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNyZWZlcmVuY2UiPnJlZmVyZW5jZTwvYT4gYW5kIGV4dGVybmFsIHN1YnNldAorICAgIGludAloYXNQRXJlZnMJOiB0aGUgaW50ZXJuYWwgc3Vic2V0IGhhcyBQRSByZWZzCisgICAgaW50CWV4dGVybmFsCTogYXJlIHdlIHBhcnNpbmcgYW4gZXh0ZXJuYWwgZW50aXR5CisgICAgaW50CXZhbGlkCTogaXMgdGhlIGRvY3VtZW50IHZhbGlkCisgICAgaW50CXZhbGlkYXRlCTogc2hhbGwgd2UgdHJ5IHRvIHZhbGlkYXRlID8KKyAgICA8YSBocmVmPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sVmFsaWRDdHh0Ij54bWxWYWxpZEN0eHQ8L2E+CXZjdHh0CTogVGhlIHZhbGlkaXR5IGNvbnRleHQKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXBhcnNlci5odG1sI3htbFBhcnNlcklucHV0U3RhdGUiPnhtbFBhcnNlcklucHV0U3RhdGU8L2E+CWluc3RhdGUJOiBjdXJyZW50IHR5cGUgb2YgaW5wdXQKKyAgICBpbnQJdG9rZW4JOiBuZXh0IGNoYXIgbG9vay1haGVhZAorICAgIGNoYXIgKglkaXJlY3RvcnkJOiB0aGUgZGF0YSBkaXJlY3RvcnkgTm9kZSBuYW1lIHN0YWNrCisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCW5hbWUJOiBDdXJyZW50IHBhcnNlZCBOb2RlCisgICAgaW50CW5hbWVOcgk6IERlcHRoIG9mIHRoZSBwYXJzaW5nIHN0YWNrCisgICAgaW50CW5hbWVNYXgJOiBNYXggZGVwdGggb2YgdGhlIHBhcnNpbmcgc3RhY2sKKyAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogKgluYW1lVGFiCTogYXJyYXkgb2Ygbm9kZXMKKyAgICBsb25nCW5iQ2hhcnMJOiBudW1iZXIgb2YgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiBwcm9jZXNzZWQKKyAgICBsb25nCWNoZWNrSW5kZXgJOiB1c2VkIGJ5IHByb2dyZXNzaXZlIHBhcnNpbmcgbG9va3VwCisgICAgaW50CWtlZXBCbGFua3MJOiB1Z2x5IGJ1dCAuLi4KKyAgICBpbnQJZGlzYWJsZVNBWAk6IFNBWCBjYWxsYmFja3MgYXJlIGRpc2FibGVkCisgICAgaW50CWluU3Vic2V0CTogUGFyc2luZyBpcyBpbiBpbnQgMS9leHQgMiBzdWJzZXQKKyAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJaW50U3ViTmFtZQk6IG5hbWUgb2Ygc3Vic2V0CisgICAgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCWV4dFN1YlVSSQk6IFVSSSBvZiBleHRlcm5hbCBzdWJzZXQKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJZXh0U3ViU3lzdGVtCTogU1lTVEVNIElEIG9mIGV4dGVybmFsIHN1YnNldCB4bWw6c3BhY2UgdmFsdWVzCisgICAgaW50ICoJc3BhY2UJOiBTaG91bGQgdGhlIHBhcnNlciBwcmVzZXJ2ZSBzcGFjZXMKKyAgICBpbnQJc3BhY2VOcgk6IERlcHRoIG9mIHRoZSBwYXJzaW5nIHN0YWNrCisgICAgaW50CXNwYWNlTWF4CTogTWF4IGRlcHRoIG9mIHRoZSBwYXJzaW5nIHN0YWNrCisgICAgaW50ICoJc3BhY2VUYWIJOiBhcnJheSBvZiBzcGFjZSBpbmZvcworICAgIGludAlkZXB0aAk6IHRvIHByZXZlbnQgZW50aXR5IHN1YnN0aXR1dGlvbiBsb29wcworICAgIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlcklucHV0UHRyIj54bWxQYXJzZXJJbnB1dFB0cjwvYT4JZW50aXR5CTogdXNlZCB0byBjaGVjayBlbnRpdGllcyBib3VuZGFyaWVzCisgICAgaW50CWNoYXJzZXQJOiBlbmNvZGluZyBvZiB0aGUgaW4tbWVtb3J5IGNvbnRlbnQgYWN0dWFsbHkgYW4gPGEgaHJlZj0ibGlieG1sMi1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZyI+eG1sQ2hhckVuY29kaW5nPC9hPgorICAgIGludAlub2RlbGVuCTogVGhvc2UgdHdvIGZpZWxkcyBhcmUgdGhlcmUgdG8KKyAgICBpbnQJbm9kZW1lbQk6IFNwZWVkIHVwIGxhcmdlIG5vZGUgcGFyc2luZworICAgIGludAlwZWRhbnRpYwk6IHNpZ25hbCBwZWRhbnRpYyB3YXJuaW5ncworICAgIHZvaWQgKglfcHJpdmF0ZQk6IEZvciB1c2VyIGRhdGEsIGxpYnhtbCB3b24ndCB0b3VjaCBpdAorICAgIGludAlsb2Fkc3Vic2V0CTogc2hvdWxkIHRoZSBleHRlcm5hbCBzdWJzZXQgYmUgbG9hZGVkCisgICAgaW50CWxpbmVudW1iZXJzCTogc2V0IGxpbmUgbnVtYmVyIGluIGVsZW1lbnQgY29udGVudAorICAgIHZvaWQgKgljYXRhbG9ncwk6IGRvY3VtZW50J3Mgb3duIGNhdGFsb2cKKyAgICBpbnQJcmVjb3ZlcnkJOiBydW4gaW4gcmVjb3ZlcnkgbW9kZQorICAgIGludAlwcm9ncmVzc2l2ZQk6IGlzIHRoaXMgYSBwcm9ncmVzc2l2ZSBwYXJzaW5nCisgICAgPGEgaHJlZj0ibGlieG1sMi1kaWN0Lmh0bWwjeG1sRGljdFB0ciI+eG1sRGljdFB0cjwvYT4JZGljdAk6IGRpY3Rpb25uYXJ5IGZvciB0aGUgcGFyc2VyCisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqICoJYXR0cwk6IGFycmF5IGZvciB0aGUgYXR0cmlidXRlcyBjYWxsYmFja3MKKyAgICBpbnQJbWF4YXR0cwk6IHRoZSBzaXplIG9mIHRoZSBhcnJheQorICAgIGludAlkb2NkaWN0CTogKiBwcmUtaW50ZXJuZWQgc3RyaW5ncyAqCisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXN0cl94bWwKKyAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJc3RyX3htbG5zCisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXN0cl94bWxfbnMJOiAqIEV2ZXJ5dGhpbmcgYmVsb3cgaXMgdXNlZCBvbmx5IGJ5IHRoZSBuZXcgU0FYIG1vZGUgKgorICAgIGludAlzYXgyCTogb3BlcmF0aW5nIGluIHRoZSBuZXcgU0FYIG1vZGUKKyAgICBpbnQJbnNOcgk6IHRoZSBudW1iZXIgb2YgaW5oZXJpdGVkIG5hbWVzcGFjZXMKKyAgICBpbnQJbnNNYXgJOiB0aGUgc2l6ZSBvZiB0aGUgYXJyYXlzCisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqICoJbnNUYWIJOiB0aGUgYXJyYXkgb2YgcHJlZml4L25hbWVzcGFjZSBuYW1lCisgICAgaW50ICoJYXR0YWxsb2NzCTogd2hpY2ggPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gd2VyZSBhbGxvY2F0ZWQKKyAgICB2b2lkICogKglwdXNoVGFiCTogYXJyYXkgb2YgZGF0YSBmb3IgcHVzaAorICAgIDxhIGhyZWY9ImxpYnhtbDItaGFzaC5odG1sI3htbEhhc2hUYWJsZVB0ciI+eG1sSGFzaFRhYmxlUHRyPC9hPglhdHRzRGVmYXVsdAk6IGRlZmF1bHRlZCBhdHRyaWJ1dGVzIGlmIGFueQorICAgIDxhIGhyZWY9ImxpYnhtbDItaGFzaC5odG1sI3htbEhhc2hUYWJsZVB0ciI+eG1sSGFzaFRhYmxlUHRyPC9hPglhdHRzU3BlY2lhbAk6IG5vbi1DREFUQSBhdHRyaWJ1dGVzIGlmIGFueQorICAgIGludAluc1dlbGxGb3JtZWQJOiBpcyB0aGUgZG9jdW1lbnQgWE1MIE5hbmVzcGFjZSBva2F5CisgICAgaW50CW9wdGlvbnMJOiAqIFRob3NlIGZpZWxkcyBhcmUgbmVlZGVkIG9ubHkgZm9yIHRyZWFtaW5nIHBhcnNpbmcgc28gZmFyICoKKyAgICBpbnQJZGljdE5hbWVzCTogVXNlIGRpY3Rpb25hcnkgbmFtZXMgZm9yIHRoZSB0cmVlCisgICAgaW50CWZyZWVFbGVtc05yCTogbnVtYmVyIG9mIGZyZWVkIGVsZW1lbnQgbm9kZXMKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPglmcmVlRWxlbXMJOiBMaXN0IG9mIGZyZWVkIGVsZW1lbnQgbm9kZXMKKyAgICBpbnQJZnJlZUF0dHJzTnIJOiBudW1iZXIgb2YgZnJlZWQgYXR0cmlidXRlcyBub2RlcworICAgIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEF0dHJQdHIiPnhtbEF0dHJQdHI8L2E+CWZyZWVBdHRycwk6ICogdGhlIGNvbXBsZXRlIGVycm9yIGluZm9ybWF0aW9ucyBmb3IgdGhlIGxhc3QgZXJyb3IuICoKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjeG1sRXJyb3IiPnhtbEVycm9yPC9hPglsYXN0RXJyb3IKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXBhcnNlci5odG1sI3htbFBhcnNlck1vZGUiPnhtbFBhcnNlck1vZGU8L2E+CXBhcnNlTW9kZQk6IHRoZSBwYXJzZXIgbW9kZQorICAgIHVuc2lnbmVkIGxvbmcJbmJlbnRpdGllcwk6IG51bWJlciBvZiBlbnRpdGllcyByZWZlcmVuY2VzCisgICAgdW5zaWduZWQgbG9uZwlzaXplZW50aXRpZXMJOiBzaXplIG9mIHBhcnNlZCBlbnRpdGllcyBmb3IgdXNlIGJ5IEhUTUwgbm9uLXJlY3Vyc2l2ZSBwYXJzZXIKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXBhcnNlci5odG1sI3htbFBhcnNlck5vZGVJbmZvIj54bWxQYXJzZXJOb2RlSW5mbzwvYT4gKglub2RlSW5mbwk6IEN1cnJlbnQgTm9kZUluZm8KKyAgICBpbnQJbm9kZUluZm9Ocgk6IERlcHRoIG9mIHRoZSBwYXJzaW5nIHN0YWNrCisgICAgaW50CW5vZGVJbmZvTWF4CTogTWF4IGRlcHRoIG9mIHRoZSBwYXJzaW5nIHN0YWNrCisgICAgPGEgaHJlZj0ibGlieG1sMi1wYXJzZXIuaHRtbCN4bWxQYXJzZXJOb2RlSW5mbyI+eG1sUGFyc2VyTm9kZUluZm88L2E+ICoJbm9kZUluZm9UYWIJOiBhcnJheSBvZiBub2RlSW5mb3MKKyAgICBpbnQJaW5wdXRfaWQJOiB3ZSBuZWVkIHRvIGxhYmVsIGlucHV0cworICAgIHVuc2lnbmVkIGxvbmcJc2l6ZWVudGNvcHkJOiB2b2x1bWUgb2YgZW50aXR5IGNvcHkKK30geG1sUGFyc2VyQ3R4dDsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxQYXJzZXJDdHh0UHRyIj5UeXBlZGVmIDwvYT54bWxQYXJzZXJDdHh0UHRyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dCI+eG1sUGFyc2VyQ3R4dDwvYT4gKiB4bWxQYXJzZXJDdHh0UHRyOworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFBhcnNlcklucHV0Ij5TdHJ1Y3R1cmUgPC9hPnhtbFBhcnNlcklucHV0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+c3RydWN0IF94bWxQYXJzZXJJbnB1dCB7CisgICAgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIiPnhtbFBhcnNlcklucHV0QnVmZmVyUHRyPC9hPglidWYJOiBVVEYtOCBlbmNvZGVkIGJ1ZmZlcgorICAgIGNvbnN0IGNoYXIgKglmaWxlbmFtZQk6IFRoZSBmaWxlIGFuYWx5emVkLCBpZiBhbnkKKyAgICBjb25zdCBjaGFyICoJZGlyZWN0b3J5CTogdGhlIGRpcmVjdG9yeS9iYXNlIG9mIHRoZSBmaWxlCisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCWJhc2UJOiBCYXNlIG9mIHRoZSBhcnJheSB0byBwYXJzZQorICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgljdXIJOiBDdXJyZW50IGNoYXIgYmVpbmcgcGFyc2VkCisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCWVuZAk6IGVuZCBvZiB0aGUgYXJyYXkgdG8gcGFyc2UKKyAgICBpbnQJbGVuZ3RoCTogbGVuZ3RoIGlmIGtub3duCisgICAgaW50CWxpbmUJOiBDdXJyZW50IGxpbmUKKyAgICBpbnQJY29sCTogKiBOT1RFOiBjb25zdW1lZCBpcyBvbmx5IHRlc3RlZCBmb3IgZXF1YWxpdHkgaW4gdGhlIHBhcnNlciBjb2RlLCAqCisgICAgdW5zaWduZWQgbG9uZwljb25zdW1lZAk6IEhvdyBtYW55IHhtbENoYXJzIGFscmVhZHkgY29uc3VtZWQKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXBhcnNlci5odG1sI3htbFBhcnNlcklucHV0RGVhbGxvY2F0ZSI+eG1sUGFyc2VySW5wdXREZWFsbG9jYXRlPC9hPglmcmVlCTogZnVuY3Rpb24gdG8gZGVhbGxvY2F0ZSB0aGUgYmFzZQorICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgllbmNvZGluZwk6IHRoZSBlbmNvZGluZyBzdHJpbmcgZm9yIGVudGl0eQorICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl2ZXJzaW9uCTogdGhlIHZlcnNpb24gc3RyaW5nIGZvciBlbnRpdHkKKyAgICBpbnQJc3RhbmRhbG9uZQk6IFdhcyB0aGF0IGVudGl0eSBtYXJrZWQgc3RhbmRhbG9uZQorICAgIGludAlpZAk6IGFuIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgZW50aXR5Cit9IHhtbFBhcnNlcklucHV0OworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFBhcnNlcklucHV0QnVmZmVyIj5TdHJ1Y3R1cmUgPC9hPnhtbFBhcnNlcklucHV0QnVmZmVyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+c3RydWN0IF94bWxQYXJzZXJJbnB1dEJ1ZmZlciB7CisgICAgdm9pZCAqCWNvbnRleHQKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXhtbElPLmh0bWwjeG1sSW5wdXRSZWFkQ2FsbGJhY2siPnhtbElucHV0UmVhZENhbGxiYWNrPC9hPglyZWFkY2FsbGJhY2sKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXhtbElPLmh0bWwjeG1sSW5wdXRDbG9zZUNhbGxiYWNrIj54bWxJbnB1dENsb3NlQ2FsbGJhY2s8L2E+CWNsb3NlY2FsbGJhY2sKKyAgICA8YSBocmVmPSJsaWJ4bWwyLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0ciI+eG1sQ2hhckVuY29kaW5nSGFuZGxlclB0cjwvYT4JZW5jb2Rlcgk6IEkxOE4gY29udmVyc2lvbnMgdG8gVVRGLTgKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxCdWZQdHIiPnhtbEJ1ZlB0cjwvYT4JYnVmZmVyCTogTG9jYWwgYnVmZmVyIGVuY29kZWQgaW4gVVRGLTgKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxCdWZQdHIiPnhtbEJ1ZlB0cjwvYT4JcmF3CTogaWYgZW5jb2RlciAhPSBOVUxMIGJ1ZmZlciBmb3IgcmF3IGlucHV0CisgICAgaW50CWNvbXByZXNzZWQJOiAtMT11bmtub3duLCAwPW5vdCBjb21wcmVzc2VkLCAxPWNvbXByZXNzZWQKKyAgICBpbnQJZXJyb3IKKyAgICB1bnNpZ25lZCBsb25nCXJhd2NvbnN1bWVkCTogYW1vdW50IGNvbnN1bWVkIGZyb20gcmF3Cit9IHhtbFBhcnNlcklucHV0QnVmZmVyOworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFBhcnNlcklucHV0QnVmZmVyUHRyIj5UeXBlZGVmIDwvYT54bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyIj54bWxQYXJzZXJJbnB1dEJ1ZmZlcjwvYT4gKiB4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cjsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxQYXJzZXJJbnB1dFB0ciI+VHlwZWRlZiA8L2E+eG1sUGFyc2VySW5wdXRQdHI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dCI+eG1sUGFyc2VySW5wdXQ8L2E+ICogeG1sUGFyc2VySW5wdXRQdHI7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUmVmIj5TdHJ1Y3R1cmUgPC9hPnhtbFJlZjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnN0cnVjdCBfeG1sUmVmIHsKKyAgICBzdHJ1Y3QgX3htbFJlZiAqCW5leHQJOiBuZXh0IFJlZgorICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl2YWx1ZQk6IFRoZSBSZWYgbmFtZQorICAgIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEF0dHJQdHIiPnhtbEF0dHJQdHI8L2E+CWF0dHIJOiBUaGUgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gaG9sZGluZyBpdAorICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgluYW1lCTogVGhlIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IGlmIGF0dHIgaXMgbm90IGF2YWlsYWJsZQorICAgIGludAlsaW5lbm8JOiBUaGUgbGluZSBudW1iZXIgaWYgYXR0ciBpcyBub3QgYXZhaWxhYmxlCit9IHhtbFJlZjsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxSZWZQdHIiPlR5cGVkZWYgPC9hPnhtbFJlZlB0cjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFJlZiI+eG1sUmVmPC9hPiAqIHhtbFJlZlB0cjsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTQVhIYW5kbGVyIj5TdHJ1Y3R1cmUgPC9hPnhtbFNBWEhhbmRsZXI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5zdHJ1Y3QgX3htbFNBWEhhbmRsZXIgeworICAgIDxhIGhyZWY9ImxpYnhtbDItcGFyc2VyLmh0bWwjaW50ZXJuYWxTdWJzZXRTQVhGdW5jIj5pbnRlcm5hbFN1YnNldFNBWEZ1bmM8L2E+CWludGVybmFsU3Vic2V0CisgICAgPGEgaHJlZj0ibGlieG1sMi1wYXJzZXIuaHRtbCNpc1N0YW5kYWxvbmVTQVhGdW5jIj5pc1N0YW5kYWxvbmVTQVhGdW5jPC9hPglpc1N0YW5kYWxvbmUKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXBhcnNlci5odG1sI2hhc0ludGVybmFsU3Vic2V0U0FYRnVuYyI+aGFzSW50ZXJuYWxTdWJzZXRTQVhGdW5jPC9hPgloYXNJbnRlcm5hbFN1YnNldAorICAgIDxhIGhyZWY9ImxpYnhtbDItcGFyc2VyLmh0bWwjaGFzRXh0ZXJuYWxTdWJzZXRTQVhGdW5jIj5oYXNFeHRlcm5hbFN1YnNldFNBWEZ1bmM8L2E+CWhhc0V4dGVybmFsU3Vic2V0CisgICAgPGEgaHJlZj0ibGlieG1sMi1wYXJzZXIuaHRtbCNyZXNvbHZlRW50aXR5U0FYRnVuYyI+cmVzb2x2ZUVudGl0eVNBWEZ1bmM8L2E+CXJlc29sdmVFbnRpdHkKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXBhcnNlci5odG1sI2dldEVudGl0eVNBWEZ1bmMiPmdldEVudGl0eVNBWEZ1bmM8L2E+CWdldEVudGl0eQorICAgIDxhIGhyZWY9ImxpYnhtbDItcGFyc2VyLmh0bWwjZW50aXR5RGVjbFNBWEZ1bmMiPmVudGl0eURlY2xTQVhGdW5jPC9hPgllbnRpdHlEZWNsCisgICAgPGEgaHJlZj0ibGlieG1sMi1wYXJzZXIuaHRtbCNub3RhdGlvbkRlY2xTQVhGdW5jIj5ub3RhdGlvbkRlY2xTQVhGdW5jPC9hPglub3RhdGlvbkRlY2wKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXBhcnNlci5odG1sI2F0dHJpYnV0ZURlY2xTQVhGdW5jIj5hdHRyaWJ1dGVEZWNsU0FYRnVuYzwvYT4JYXR0cmlidXRlRGVjbAorICAgIDxhIGhyZWY9ImxpYnhtbDItcGFyc2VyLmh0bWwjZWxlbWVudERlY2xTQVhGdW5jIj5lbGVtZW50RGVjbFNBWEZ1bmM8L2E+CWVsZW1lbnREZWNsCisgICAgPGEgaHJlZj0ibGlieG1sMi1wYXJzZXIuaHRtbCN1bnBhcnNlZEVudGl0eURlY2xTQVhGdW5jIj51bnBhcnNlZEVudGl0eURlY2xTQVhGdW5jPC9hPgl1bnBhcnNlZEVudGl0eURlY2wKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXBhcnNlci5odG1sI3NldERvY3VtZW50TG9jYXRvclNBWEZ1bmMiPnNldERvY3VtZW50TG9jYXRvclNBWEZ1bmM8L2E+CXNldERvY3VtZW50TG9jYXRvcgorICAgIDxhIGhyZWY9ImxpYnhtbDItcGFyc2VyLmh0bWwjc3RhcnREb2N1bWVudFNBWEZ1bmMiPnN0YXJ0RG9jdW1lbnRTQVhGdW5jPC9hPglzdGFydERvY3VtZW50CisgICAgPGEgaHJlZj0ibGlieG1sMi1wYXJzZXIuaHRtbCNlbmREb2N1bWVudFNBWEZ1bmMiPmVuZERvY3VtZW50U0FYRnVuYzwvYT4JZW5kRG9jdW1lbnQKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXBhcnNlci5odG1sI3N0YXJ0RWxlbWVudFNBWEZ1bmMiPnN0YXJ0RWxlbWVudFNBWEZ1bmM8L2E+CXN0YXJ0RWxlbWVudAorICAgIDxhIGhyZWY9ImxpYnhtbDItcGFyc2VyLmh0bWwjZW5kRWxlbWVudFNBWEZ1bmMiPmVuZEVsZW1lbnRTQVhGdW5jPC9hPgllbmRFbGVtZW50CisgICAgPGEgaHJlZj0ibGlieG1sMi1wYXJzZXIuaHRtbCNyZWZlcmVuY2VTQVhGdW5jIj5yZWZlcmVuY2VTQVhGdW5jPC9hPglyZWZlcmVuY2UKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXBhcnNlci5odG1sI2NoYXJhY3RlcnNTQVhGdW5jIj5jaGFyYWN0ZXJzU0FYRnVuYzwvYT4JY2hhcmFjdGVycworICAgIDxhIGhyZWY9ImxpYnhtbDItcGFyc2VyLmh0bWwjaWdub3JhYmxlV2hpdGVzcGFjZVNBWEZ1bmMiPmlnbm9yYWJsZVdoaXRlc3BhY2VTQVhGdW5jPC9hPglpZ25vcmFibGVXaGl0ZXNwYWNlCisgICAgPGEgaHJlZj0ibGlieG1sMi1wYXJzZXIuaHRtbCNwcm9jZXNzaW5nSW5zdHJ1Y3Rpb25TQVhGdW5jIj5wcm9jZXNzaW5nSW5zdHJ1Y3Rpb25TQVhGdW5jPC9hPglwcm9jZXNzaW5nSW5zdHJ1Y3Rpb24KKyAgICA8YSBocmVmPSJsaWJ4bWwyLXBhcnNlci5odG1sI2NvbW1lbnRTQVhGdW5jIj5jb21tZW50U0FYRnVuYzwvYT4JY29tbWVudAorICAgIDxhIGhyZWY9ImxpYnhtbDItcGFyc2VyLmh0bWwjd2FybmluZ1NBWEZ1bmMiPndhcm5pbmdTQVhGdW5jPC9hPgl3YXJuaW5nCisgICAgPGEgaHJlZj0ibGlieG1sMi1wYXJzZXIuaHRtbCNlcnJvclNBWEZ1bmMiPmVycm9yU0FYRnVuYzwvYT4JZXJyb3IKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXBhcnNlci5odG1sI2ZhdGFsRXJyb3JTQVhGdW5jIj5mYXRhbEVycm9yU0FYRnVuYzwvYT4JZmF0YWxFcnJvcgk6IHVudXNlZCBlcnJvcigpIGdldCBhbGwgdGhlIGVycm9ycworICAgIDxhIGhyZWY9ImxpYnhtbDItcGFyc2VyLmh0bWwjZ2V0UGFyYW1ldGVyRW50aXR5U0FYRnVuYyI+Z2V0UGFyYW1ldGVyRW50aXR5U0FYRnVuYzwvYT4JZ2V0UGFyYW1ldGVyRW50aXR5CisgICAgPGEgaHJlZj0ibGlieG1sMi1wYXJzZXIuaHRtbCNjZGF0YUJsb2NrU0FYRnVuYyI+Y2RhdGFCbG9ja1NBWEZ1bmM8L2E+CWNkYXRhQmxvY2sKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXBhcnNlci5odG1sI2V4dGVybmFsU3Vic2V0U0FYRnVuYyI+ZXh0ZXJuYWxTdWJzZXRTQVhGdW5jPC9hPglleHRlcm5hbFN1YnNldAorICAgIHVuc2lnbmVkIGludAlpbml0aWFsaXplZAk6IFRoZSBmb2xsb3dpbmcgZmllbGRzIGFyZSBleHRlbnNpb25zIGF2YWlsYWJsZSBvbmx5IG9uIHZlcnNpb24gMgorICAgIHZvaWQgKglfcHJpdmF0ZQorICAgIDxhIGhyZWY9ImxpYnhtbDItcGFyc2VyLmh0bWwjc3RhcnRFbGVtZW50TnNTQVgyRnVuYyI+c3RhcnRFbGVtZW50TnNTQVgyRnVuYzwvYT4Jc3RhcnRFbGVtZW50TnMKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXBhcnNlci5odG1sI2VuZEVsZW1lbnROc1NBWDJGdW5jIj5lbmRFbGVtZW50TnNTQVgyRnVuYzwvYT4JZW5kRWxlbWVudE5zCisgICAgPGEgaHJlZj0ibGlieG1sMi14bWxlcnJvci5odG1sI3htbFN0cnVjdHVyZWRFcnJvckZ1bmMiPnhtbFN0cnVjdHVyZWRFcnJvckZ1bmM8L2E+CXNlcnJvcgorfSB4bWxTQVhIYW5kbGVyOworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNBWEhhbmRsZXJQdHIiPlR5cGVkZWYgPC9hPnhtbFNBWEhhbmRsZXJQdHI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxTQVhIYW5kbGVyIj54bWxTQVhIYW5kbGVyPC9hPiAqIHhtbFNBWEhhbmRsZXJQdHI7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU0FYTG9jYXRvciI+U3RydWN0dXJlIDwvYT54bWxTQVhMb2NhdG9yPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+c3RydWN0IF94bWxTQVhMb2NhdG9yIHsKKyAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICooKmdldFB1YmxpY0lkKQlnZXRQdWJsaWNJZAorICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKigqZ2V0U3lzdGVtSWQpCWdldFN5c3RlbUlkCisgICAgaW50KCpnZXRMaW5lTnVtYmVyKQlnZXRMaW5lTnVtYmVyCisgICAgaW50KCpnZXRDb2x1bW5OdW1iZXIpCWdldENvbHVtbk51bWJlcgorfSB4bWxTQVhMb2NhdG9yOworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNBWExvY2F0b3JQdHIiPlR5cGVkZWYgPC9hPnhtbFNBWExvY2F0b3JQdHI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxTQVhMb2NhdG9yIj54bWxTQVhMb2NhdG9yPC9hPiAqIHhtbFNBWExvY2F0b3JQdHI7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sRE9NV3JhcEFjcXVpcmVOc0Z1bmN0aW9uIi8+RnVuY3Rpb24gdHlwZSB4bWxET01XcmFwQWNxdWlyZU5zRnVuY3Rpb248L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOc1B0ciI+eG1sTnNQdHI8L2E+CXhtbERPTVdyYXBBY3F1aXJlTnNGdW5jdGlvbgkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRE9NV3JhcEN0eHRQdHIiPnhtbERPTVdyYXBDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlLCA8YnIvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbnNOYW1lLCA8YnIvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbnNQcmVmaXgpPGJyLz4KKzwvcHJlPjxwPkEgZnVuY3Rpb24gY2FsbGVkIHRvIGFjcXVpcmUgbmFtZXNwYWNlcyAoeG1sTnMpIGZyb20gdGhlIHdyYXBwZXIuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIERPTSB3cmFwcGVyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjb250ZXh0IG5vZGUgKGVsZW1lbnQgb3IgYXR0cmlidXRlKTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bnNOYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmVxdWVzdGVkIG5hbWVzcGFjZSBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uc1ByZWZpeDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHJlcXVlc3RlZCBuYW1lc3BhY2UgcHJlZml4PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOc1B0ciI+eG1sTnNQdHI8L2E+IG9yIE5VTEwgaW4gY2FzZSBvZiBhbiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxBZGRDaGlsZCIvPnhtbEFkZENoaWxkICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JeG1sQWRkQ2hpbGQJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBwYXJlbnQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gY3VyKTxici8+Cis8L3ByZT48cD5BZGQgYSBuZXcgbm9kZSB0byBAcGFyZW50LCBhdCB0aGUgZW5kIG9mIHRoZSBjaGlsZCAob3IgcHJvcGVydHkpIGxpc3QgbWVyZ2luZyBhZGphY2VudCBURVhUIG5vZGVzIChpbiB3aGljaCBjYXNlIEBjdXIgaXMgZnJlZWQpIElmIHRoZSBuZXcgbm9kZSBpcyBBVFRSSUJVVEUsIGl0IGlzIGFkZGVkIGludG8gcHJvcGVydGllcyBpbnN0ZWFkIG9mIGNoaWxkcmVuLiBJZiB0aGVyZSBpcyBhbiA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiB3aXRoIGVxdWFsIG5hbWUsIGl0IGlzIGZpcnN0IGRlc3Ryb3llZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnBhcmVudDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHBhcmVudCBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjaGlsZCBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY2hpbGQgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEFkZENoaWxkTGlzdCIvPnhtbEFkZENoaWxkTGlzdCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CXhtbEFkZENoaWxkTGlzdAkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IHBhcmVudCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIpPGJyLz4KKzwvcHJlPjxwPkFkZCBhIGxpc3Qgb2Ygbm9kZSBhdCB0aGUgZW5kIG9mIHRoZSBjaGlsZCBsaXN0IG9mIHRoZSBwYXJlbnQgbWVyZ2luZyBhZGphY2VudCBURVhUIG5vZGVzIChAY3VyIG1heSBiZSBmcmVlZCk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnBhcmVudDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHBhcmVudCBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmaXJzdCBub2RlIGluIHRoZSBsaXN0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbGFzdCBjaGlsZCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sQWRkTmV4dFNpYmxpbmciLz54bWxBZGROZXh0U2libGluZyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CXhtbEFkZE5leHRTaWJsaW5nCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gZWxlbSk8YnIvPgorPC9wcmU+PHA+QWRkIGEgbmV3IG5vZGUgQGVsZW0gYXMgdGhlIG5leHQgc2libGluZyBvZiBAY3VyIElmIHRoZSBuZXcgbm9kZSB3YXMgYWxyZWFkeSBpbnNlcnRlZCBpbiBhIGRvY3VtZW50IGl0IGlzIGZpcnN0IHVubGlua2VkIGZyb20gaXRzIGV4aXN0aW5nIGNvbnRleHQuIEFzIGEgcmVzdWx0IG9mIHRleHQgbWVyZ2luZyBAZWxlbSBtYXkgYmUgZnJlZWQuIElmIHRoZSBuZXcgbm9kZSBpcyBBVFRSSUJVVEUsIGl0IGlzIGFkZGVkIGludG8gcHJvcGVydGllcyBpbnN0ZWFkIG9mIGNoaWxkcmVuLiBJZiB0aGVyZSBpcyBhbiA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiB3aXRoIGVxdWFsIG5hbWUsIGl0IGlzIGZpcnN0IGRlc3Ryb3llZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGNoaWxkIG5vZGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVsZW08L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXcgbm9kZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ldyBub2RlIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxBZGRQcmV2U2libGluZyIvPnhtbEFkZFByZXZTaWJsaW5nICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JeG1sQWRkUHJldlNpYmxpbmcJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGN1ciwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBlbGVtKTxici8+Cis8L3ByZT48cD5BZGQgYSBuZXcgbm9kZSBAZWxlbSBhcyB0aGUgcHJldmlvdXMgc2libGluZyBvZiBAY3VyIG1lcmdpbmcgYWRqYWNlbnQgVEVYVCBub2RlcyAoQGVsZW0gbWF5IGJlIGZyZWVkKSBJZiB0aGUgbmV3IG5vZGUgd2FzIGFscmVhZHkgaW5zZXJ0ZWQgaW4gYSBkb2N1bWVudCBpdCBpcyBmaXJzdCB1bmxpbmtlZCBmcm9tIGl0cyBleGlzdGluZyBjb250ZXh0LiBJZiB0aGUgbmV3IG5vZGUgaXMgQVRUUklCVVRFLCBpdCBpcyBhZGRlZCBpbnRvIHByb3BlcnRpZXMgaW5zdGVhZCBvZiBjaGlsZHJlbi4gSWYgdGhlcmUgaXMgYW4gPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gd2l0aCBlcXVhbCBuYW1lLCBpdCBpcyBmaXJzdCBkZXN0cm95ZWQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjaGlsZCBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbGVtPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IG5vZGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXcgbm9kZSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sQWRkU2libGluZyIvPnhtbEFkZFNpYmxpbmcgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgl4bWxBZGRTaWJsaW5nCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gY3VyLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGVsZW0pPGJyLz4KKzwvcHJlPjxwPkFkZCBhIG5ldyBlbGVtZW50IEBlbGVtIHRvIHRoZSBsaXN0IG9mIHNpYmxpbmdzIG9mIEBjdXIgbWVyZ2luZyBhZGphY2VudCBURVhUIG5vZGVzIChAZWxlbSBtYXkgYmUgZnJlZWQpIElmIHRoZSBuZXcgZWxlbWVudCB3YXMgYWxyZWFkeSBpbnNlcnRlZCBpbiBhIGRvY3VtZW50IGl0IGlzIGZpcnN0IHVubGlua2VkIGZyb20gaXRzIGV4aXN0aW5nIGNvbnRleHQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjaGlsZCBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbGVtPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IG5vZGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXcgZWxlbWVudCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sQXR0clNlcmlhbGl6ZVR4dENvbnRlbnQiLz54bWxBdHRyU2VyaWFsaXplVHh0Q29udGVudCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sQXR0clNlcmlhbGl6ZVR4dENvbnRlbnQJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEJ1ZmZlclB0ciI+eG1sQnVmZmVyUHRyPC9hPiBidWYsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxBdHRyUHRyIj54bWxBdHRyUHRyPC9hPiBhdHRyLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzdHJpbmcpPGJyLz4KKzwvcHJlPjxwPlNlcmlhbGl6ZSB0ZXh0IDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IHZhbHVlcyB0byBhbiB4bWwgc2ltcGxlIGJ1ZmZlcjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YnVmPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWE1MIGJ1ZmZlciBvdXRwdXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5hdHRyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gbm9kZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3RyaW5nPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdGV4dCBjb250ZW50PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sQnVmQ29udGVudCIvPnhtbEJ1ZkNvbnRlbnQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sQnVmQ29udGVudAkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEJ1ZiI+eG1sQnVmPC9hPiAqIGJ1Zik8YnIvPgorPC9wcmU+PHA+RnVuY3Rpb24gdG8gZXh0cmFjdCB0aGUgY29udGVudCBvZiBhIGJ1ZmZlcjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YnVmPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnVmZmVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaW50ZXJuYWwgY29udGVudDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEJ1ZkVuZCIvPnhtbEJ1ZkVuZCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxCdWZFbmQJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxCdWZQdHIiPnhtbEJ1ZlB0cjwvYT4gYnVmKTxici8+Cis8L3ByZT48cD5GdW5jdGlvbiB0byBleHRyYWN0IHRoZSBlbmQgb2YgdGhlIGNvbnRlbnQgb2YgYSBidWZmZXI8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmJ1ZjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ1ZmZlcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVuZCBvZiB0aGUgaW50ZXJuYWwgY29udGVudCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxCdWZHZXROb2RlQ29udGVudCIvPnhtbEJ1ZkdldE5vZGVDb250ZW50ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbEJ1ZkdldE5vZGVDb250ZW50CQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQnVmUHRyIj54bWxCdWZQdHI8L2E+IGJ1ZiwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlIj54bWxOb2RlPC9hPiAqIGN1cik8YnIvPgorPC9wcmU+PHA+UmVhZCB0aGUgdmFsdWUgb2YgYSBub2RlIEBjdXIsIHRoaXMgY2FuIGJlIGVpdGhlciB0aGUgdGV4dCBjYXJyaWVkIGRpcmVjdGx5IGJ5IHRoaXMgbm9kZSBpZiBpdCdzIGEgVEVYVCBub2RlIG9yIHRoZSBhZ2dyZWdhdGUgc3RyaW5nIG9mIHRoZSB2YWx1ZXMgY2FycmllZCBieSB0aGlzIG5vZGUgY2hpbGQncyAoVEVYVCBhbmQgRU5USVRZX1JFRikuIEVudGl0eSByZWZlcmVuY2VzIGFyZSBzdWJzdGl0dXRlZC4gRmlsbHMgdXAgdGhlIGJ1ZmZlciBAYnVmIHdpdGggdGhpcyB2YWx1ZTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YnVmPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGJ1ZmZlciA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxCdWZQdHIiPnhtbEJ1ZlB0cjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vZGUgYmVpbmcgcmVhZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpbiBjYXNlIG9mIHN1Y2Nlc3MgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sQnVmTm9kZUR1bXAiLz54bWxCdWZOb2RlRHVtcCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnNpemVfdAl4bWxCdWZOb2RlRHVtcAkJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxCdWZQdHIiPnhtbEJ1ZlB0cjwvYT4gYnVmLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gY3VyLCA8YnIvPgkJCQkJIGludCBsZXZlbCwgPGJyLz4JCQkJCSBpbnQgZm9ybWF0KTxici8+Cis8L3ByZT48cD5EdW1wIGFuIFhNTCBub2RlLCByZWN1cnNpdmUgYmVoYXZpb3VyLGNoaWxkcmVuIGFyZSBwcmludGVkIHRvby4gTm90ZSB0aGF0IEBmb3JtYXQgPSAxIHByb3ZpZGUgbm9kZSBpbmRlbnRpbmcgb25seSBpZiA8YSBocmVmPSJsaWJ4bWwyLWdsb2JhbHMuaHRtbCN4bWxJbmRlbnRUcmVlT3V0cHV0Ij54bWxJbmRlbnRUcmVlT3V0cHV0PC9hPiA9IDEgb3IgeG1sS2VlcEJsYW5rc0RlZmF1bHQoMCkgd2FzIGNhbGxlZDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YnVmPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWE1MIGJ1ZmZlciBvdXRwdXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjdXJyZW50IG5vZGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxldmVsPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaW1icmljYXRpb24gbGV2ZWwgZm9yIGluZGVudGluZzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Zm9ybWF0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5pcyBmb3JtYXR0aW5nIGFsbG93ZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgYnl0ZXMgd3JpdHRlbiB0byB0aGUgYnVmZmVyLCBpbiBjYXNlIG9mIGVycm9yIDAgaXMgcmV0dXJuZWQgb3IgQGJ1ZiBzdG9yZXMgdGhlIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sQnVmU2hyaW5rIi8+eG1sQnVmU2hyaW5rICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+c2l6ZV90CXhtbEJ1ZlNocmluawkJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxCdWZQdHIiPnhtbEJ1ZlB0cjwvYT4gYnVmLCA8YnIvPgkJCQkJIHNpemVfdCBsZW4pPGJyLz4KKzwvcHJlPjxwPlJlbW92ZSB0aGUgYmVnaW5uaW5nIG9mIGFuIFhNTCBidWZmZXIuIE5PVEUgdGhhdCB0aGlzIHJvdXRpbmUgYmVoYXZpb3VyIGRpZmZlcnMgZnJvbSB4bWxCdWZmZXJTaHJpbmsoKSBhcyBpdCB3aWxsIHJldHVybiAwIG9uIGVycm9yIGluc3RlYWQgb2YgLTEgZHVlIHRvIHNpemVfdCBiZWluZyB1c2VkIGFzIHRoZSByZXR1cm4gdHlwZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmJ1ZjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ1ZmZlciB0byBkdW1wPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiB0byByZW1vdmU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgYnl0ZSByZW1vdmVkIG9yIDAgaW4gY2FzZSBvZiBmYWlsdXJlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sQnVmVXNlIi8+eG1sQnVmVXNlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+c2l6ZV90CXhtbEJ1ZlVzZQkJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxCdWZQdHIiPnhtbEJ1ZlB0cjwvYT4gYnVmKTxici8+Cis8L3ByZT48cD5GdW5jdGlvbiB0byBnZXQgdGhlIGxlbmd0aCBvZiBhIGJ1ZmZlcjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YnVmPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnVmZmVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbGVuZ3RoIG9mIGRhdGEgaW4gdGhlIGludGVybmFsIGNvbnRlbnQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxCdWZmZXJBZGQiLz54bWxCdWZmZXJBZGQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sQnVmZmVyQWRkCQkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEJ1ZmZlclB0ciI+eG1sQnVmZmVyUHRyPC9hPiBidWYsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0ciwgPGJyLz4JCQkJCSBpbnQgbGVuKTxici8+Cis8L3ByZT48cD5BZGQgYSBzdHJpbmcgcmFuZ2UgdG8gYW4gWE1MIGJ1ZmZlci4gaWYgbGVuID09IC0xLCB0aGUgbGVuZ3RoIG9mIHN0ciBpcyByZWNvbXB1dGVkLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YnVmPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnVmZmVyIHRvIGR1bXA8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlICN4bWxDaGFyIHN0cmluZzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGVuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mICN4bWxDaGFyIHRvIGFkZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBzdWNjZXNzZnVsLCBhIHBvc2l0aXZlIGVycm9yIGNvZGUgbnVtYmVyIG90aGVyd2lzZSBhbmQgLTEgaW4gY2FzZSBvZiBpbnRlcm5hbCBvciBBUEkgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sQnVmZmVyQWRkSGVhZCIvPnhtbEJ1ZmZlckFkZEhlYWQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sQnVmZmVyQWRkSGVhZAkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEJ1ZmZlclB0ciI+eG1sQnVmZmVyUHRyPC9hPiBidWYsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0ciwgPGJyLz4JCQkJCSBpbnQgbGVuKTxici8+Cis8L3ByZT48cD5BZGQgYSBzdHJpbmcgcmFuZ2UgdG8gdGhlIGJlZ2lubmluZyBvZiBhbiBYTUwgYnVmZmVyLiBpZiBsZW4gPT0gLTEsIHRoZSBsZW5ndGggb2YgQHN0ciBpcyByZWNvbXB1dGVkLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YnVmPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnVmZmVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdHI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSAjeG1sQ2hhciBzdHJpbmc8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiAjeG1sQ2hhciB0byBhZGQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgc3VjY2Vzc2Z1bCwgYSBwb3NpdGl2ZSBlcnJvciBjb2RlIG51bWJlciBvdGhlcndpc2UgYW5kIC0xIGluIGNhc2Ugb2YgaW50ZXJuYWwgb3IgQVBJIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEJ1ZmZlckNDYXQiLz54bWxCdWZmZXJDQ2F0ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbEJ1ZmZlckNDYXQJCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQnVmZmVyUHRyIj54bWxCdWZmZXJQdHI8L2E+IGJ1ZiwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogc3RyKTxici8+Cis8L3ByZT48cD5BcHBlbmQgYSB6ZXJvIHRlcm1pbmF0ZWQgQyBzdHJpbmcgdG8gYW4gWE1MIGJ1ZmZlci48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmJ1ZjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ1ZmZlciB0byBkdW1wPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdHI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBDIGNoYXIgc3RyaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIHN1Y2Nlc3NmdWwsIGEgcG9zaXRpdmUgZXJyb3IgY29kZSBudW1iZXIgb3RoZXJ3aXNlIGFuZCAtMSBpbiBjYXNlIG9mIGludGVybmFsIG9yIEFQSSBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxCdWZmZXJDYXQiLz54bWxCdWZmZXJDYXQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sQnVmZmVyQ2F0CQkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEJ1ZmZlclB0ciI+eG1sQnVmZmVyUHRyPC9hPiBidWYsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0cik8YnIvPgorPC9wcmU+PHA+QXBwZW5kIGEgemVybyB0ZXJtaW5hdGVkIHN0cmluZyB0byBhbiBYTUwgYnVmZmVyLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YnVmPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnVmZmVyIHRvIGFkZCB0bzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3RyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgI3htbENoYXIgc3RyaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIHN1Y2Nlc3NmdWwsIGEgcG9zaXRpdmUgZXJyb3IgY29kZSBudW1iZXIgb3RoZXJ3aXNlIGFuZCAtMSBpbiBjYXNlIG9mIGludGVybmFsIG9yIEFQSSBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxCdWZmZXJDb250ZW50Ii8+eG1sQnVmZmVyQ29udGVudCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxCdWZmZXJDb250ZW50CShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxCdWZmZXIiPnhtbEJ1ZmZlcjwvYT4gKiBidWYpPGJyLz4KKzwvcHJlPjxwPkZ1bmN0aW9uIHRvIGV4dHJhY3QgdGhlIGNvbnRlbnQgb2YgYSBidWZmZXI8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmJ1ZjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ1ZmZlcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGludGVybmFsIGNvbnRlbnQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxCdWZmZXJDcmVhdGUiLz54bWxCdWZmZXJDcmVhdGUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxCdWZmZXJQdHIiPnhtbEJ1ZmZlclB0cjwvYT4JeG1sQnVmZmVyQ3JlYXRlCQkodm9pZCk8YnIvPgorPC9wcmU+PHA+cm91dGluZSB0byBjcmVhdGUgYW4gWE1MIGJ1ZmZlci48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXcgc3RydWN0dXJlLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEJ1ZmZlckNyZWF0ZVNpemUiLz54bWxCdWZmZXJDcmVhdGVTaXplICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQnVmZmVyUHRyIj54bWxCdWZmZXJQdHI8L2E+CXhtbEJ1ZmZlckNyZWF0ZVNpemUJKHNpemVfdCBzaXplKTxici8+Cis8L3ByZT48cD5yb3V0aW5lIHRvIGNyZWF0ZSBhbiBYTUwgYnVmZmVyLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2l6ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+aW5pdGlhbCBzaXplIG9mIGJ1ZmZlcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ldyBzdHJ1Y3R1cmUuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sQnVmZmVyQ3JlYXRlU3RhdGljIi8+eG1sQnVmZmVyQ3JlYXRlU3RhdGljICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQnVmZmVyUHRyIj54bWxCdWZmZXJQdHI8L2E+CXhtbEJ1ZmZlckNyZWF0ZVN0YXRpYwkodm9pZCAqIG1lbSwgPGJyLz4JCQkJCSBzaXplX3Qgc2l6ZSk8YnIvPgorPC9wcmU+PHA+cm91dGluZSB0byBjcmVhdGUgYW4gWE1MIGJ1ZmZlciBmcm9tIGFuIGltbXV0YWJsZSBtZW1vcnkgYXJlYS4gVGhlIGFyZWEgd29uJ3QgYmUgbW9kaWZpZWQgbm9yIGNvcGllZCwgYW5kIGlzIGV4cGVjdGVkIHRvIGJlIHByZXNlbnQgdW50aWwgdGhlIGVuZCBvZiB0aGUgYnVmZmVyIGxpZmV0aW1lLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bWVtPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbWVtb3J5IGFyZWE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNpemU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzaXplIGluIGJ5dGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXcgc3RydWN0dXJlLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEJ1ZmZlckRldGFjaCIvPnhtbEJ1ZmZlckRldGFjaCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxCdWZmZXJEZXRhY2gJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxCdWZmZXJQdHIiPnhtbEJ1ZmZlclB0cjwvYT4gYnVmKTxici8+Cis8L3ByZT48cD5SZW1vdmUgdGhlIHN0cmluZyBjb250YWluZWQgaW4gYSBidWZmZXIgYW5kIGdpZSBpdCBiYWNrIHRvIHRoZSBjYWxsZXIuIFRoZSBidWZmZXIgaXMgcmVzZXQgdG8gYW4gZW1wdHkgY29udGVudC4gVGhpcyBkb2Vzbid0IHdvcmsgd2l0aCBpbW11dGFibGUgYnVmZmVycyBhcyB0aGV5IGNhbid0IGJlIHJlc2V0LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YnVmPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnVmZmVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcHJldmlvdXMgc3RyaW5nIGNvbnRhaW5lZCBieSB0aGUgYnVmZmVyLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEJ1ZmZlckR1bXAiLz54bWxCdWZmZXJEdW1wICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbEJ1ZmZlckR1bXAJCQkoRklMRSAqIGZpbGUsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQnVmZmVyUHRyIj54bWxCdWZmZXJQdHI8L2E+IGJ1Zik8YnIvPgorPC9wcmU+PHA+RHVtcHMgYW4gWE1MIGJ1ZmZlciB0byBhIEZJTEUgKi48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZpbGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmaWxlIG91dHB1dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YnVmPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnVmZmVyIHRvIGR1bXA8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgI3htbENoYXIgd3JpdHRlbjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEJ1ZmZlckVtcHR5Ii8+eG1sQnVmZmVyRW1wdHkgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbEJ1ZmZlckVtcHR5CQkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEJ1ZmZlclB0ciI+eG1sQnVmZmVyUHRyPC9hPiBidWYpPGJyLz4KKzwvcHJlPjxwPmVtcHR5IGEgYnVmZmVyLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YnVmPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnVmZmVyPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sQnVmZmVyRnJlZSIvPnhtbEJ1ZmZlckZyZWUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbEJ1ZmZlckZyZWUJCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQnVmZmVyUHRyIj54bWxCdWZmZXJQdHI8L2E+IGJ1Zik8YnIvPgorPC9wcmU+PHA+RnJlZXMgYW4gWE1MIGJ1ZmZlci4gSXQgZnJlZXMgYm90aCB0aGUgY29udGVudCBhbmQgdGhlIHN0cnVjdHVyZSB3aGljaCBlbmNhcHN1bGF0ZSBpdC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmJ1ZjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ1ZmZlciB0byBmcmVlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sQnVmZmVyR3JvdyIvPnhtbEJ1ZmZlckdyb3cgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sQnVmZmVyR3JvdwkJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxCdWZmZXJQdHIiPnhtbEJ1ZmZlclB0cjwvYT4gYnVmLCA8YnIvPgkJCQkJIHVuc2lnbmVkIGludCBsZW4pPGJyLz4KKzwvcHJlPjxwPkdyb3cgdGhlIGF2YWlsYWJsZSBzcGFjZSBvZiBhbiBYTUwgYnVmZmVyLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YnVmPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnVmZmVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBtaW5pbXVtIGZyZWUgc2l6ZSB0byBhbGxvY2F0ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ldyBhdmFpbGFibGUgc3BhY2Ugb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEJ1ZmZlckxlbmd0aCIvPnhtbEJ1ZmZlckxlbmd0aCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxCdWZmZXJMZW5ndGgJCQkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQnVmZmVyIj54bWxCdWZmZXI8L2E+ICogYnVmKTxici8+Cis8L3ByZT48cD5GdW5jdGlvbiB0byBnZXQgdGhlIGxlbmd0aCBvZiBhIGJ1ZmZlcjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YnVmPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnVmZmVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbGVuZ3RoIG9mIGRhdGEgaW4gdGhlIGludGVybmFsIGNvbnRlbnQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxCdWZmZXJSZXNpemUiLz54bWxCdWZmZXJSZXNpemUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sQnVmZmVyUmVzaXplCQkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEJ1ZmZlclB0ciI+eG1sQnVmZmVyUHRyPC9hPiBidWYsIDxici8+CQkJCQkgdW5zaWduZWQgaW50IHNpemUpPGJyLz4KKzwvcHJlPjxwPlJlc2l6ZSBhIGJ1ZmZlciB0byBhY2NvbW1vZGF0ZSBtaW5pbXVtIHNpemUgb2YgQHNpemUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5idWY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBidWZmZXIgdG8gcmVzaXplPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zaXplPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZGVzaXJlZCBzaXplPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGluIGNhc2Ugb2YgcHJvYmxlbXMsIDEgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sQnVmZmVyU2V0QWxsb2NhdGlvblNjaGVtZSIvPnhtbEJ1ZmZlclNldEFsbG9jYXRpb25TY2hlbWUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbEJ1ZmZlclNldEFsbG9jYXRpb25TY2hlbWUJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEJ1ZmZlclB0ciI+eG1sQnVmZmVyUHRyPC9hPiBidWYsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQnVmZmVyQWxsb2NhdGlvblNjaGVtZSI+eG1sQnVmZmVyQWxsb2NhdGlvblNjaGVtZTwvYT4gc2NoZW1lKTxici8+Cis8L3ByZT48cD5TZXRzIHRoZSBhbGxvY2F0aW9uIHNjaGVtZSBmb3IgdGhpcyBidWZmZXI8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmJ1ZjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ1ZmZlciB0byB0dW5lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zY2hlbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFsbG9jYXRpb24gc2NoZW1lIHRvIHVzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEJ1ZmZlclNocmluayIvPnhtbEJ1ZmZlclNocmluayAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxCdWZmZXJTaHJpbmsJCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQnVmZmVyUHRyIj54bWxCdWZmZXJQdHI8L2E+IGJ1ZiwgPGJyLz4JCQkJCSB1bnNpZ25lZCBpbnQgbGVuKTxici8+Cis8L3ByZT48cD5SZW1vdmUgdGhlIGJlZ2lubmluZyBvZiBhbiBYTUwgYnVmZmVyLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YnVmPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnVmZmVyIHRvIGR1bXA8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+IHRvIHJlbW92ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiAjeG1sQ2hhciByZW1vdmVkLCBvciAtMSBpbiBjYXNlIG9mIGZhaWx1cmUuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sQnVmZmVyV3JpdGVDSEFSIi8+eG1sQnVmZmVyV3JpdGVDSEFSICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxCdWZmZXJXcml0ZUNIQVIJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxCdWZmZXJQdHIiPnhtbEJ1ZmZlclB0cjwvYT4gYnVmLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzdHJpbmcpPGJyLz4KKzwvcHJlPjxwPnJvdXRpbmUgd2hpY2ggbWFuYWdlcyBhbmQgZ3Jvd3MgYW4gb3V0cHV0IGJ1ZmZlci4gVGhpcyBvbmUgYWRkcyB4bWxDaGFycyBhdCB0aGUgZW5kIG9mIHRoZSBidWZmZXIuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5idWY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYTUwgYnVmZmVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdHJpbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzdHJpbmcgdG8gYWRkPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sQnVmZmVyV3JpdGVDaGFyIi8+eG1sQnVmZmVyV3JpdGVDaGFyICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxCdWZmZXJXcml0ZUNoYXIJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxCdWZmZXJQdHIiPnhtbEJ1ZmZlclB0cjwvYT4gYnVmLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBzdHJpbmcpPGJyLz4KKzwvcHJlPjxwPnJvdXRpbmUgd2hpY2ggbWFuYWdlIGFuZCBncm93cyBhbiBvdXRwdXQgYnVmZmVyLiBUaGlzIG9uZSBhZGQgQyBjaGFycyBhdCB0aGUgZW5kIG9mIHRoZSBhcnJheS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmJ1ZjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhNTCBidWZmZXIgb3V0cHV0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdHJpbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzdHJpbmcgdG8gYWRkPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sQnVmZmVyV3JpdGVRdW90ZWRTdHJpbmciLz54bWxCdWZmZXJXcml0ZVF1b3RlZFN0cmluZyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sQnVmZmVyV3JpdGVRdW90ZWRTdHJpbmcJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEJ1ZmZlclB0ciI+eG1sQnVmZmVyUHRyPC9hPiBidWYsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0cmluZyk8YnIvPgorPC9wcmU+PHA+cm91dGluZSB3aGljaCBtYW5hZ2UgYW5kIGdyb3dzIGFuIG91dHB1dCBidWZmZXIuIFRoaXMgb25lIHdyaXRlcyBhIHF1b3RlZCBvciBkb3VibGUgcXVvdGVkICN4bWxDaGFyIHN0cmluZywgY2hlY2tpbmcgZmlyc3QgaWYgaXQgaG9sZHMgcXVvdGUgb3IgZG91YmxlLXF1b3RlcyBpbnRlcm5hbGx5PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5idWY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYTUwgYnVmZmVyIG91dHB1dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3RyaW5nPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc3RyaW5nIHRvIGFkZDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEJ1aWxkUU5hbWUiLz54bWxCdWlsZFFOYW1lICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbEJ1aWxkUU5hbWUJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmNuYW1lLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwcmVmaXgsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG1lbW9yeSwgPGJyLz4JCQkJCSBpbnQgbGVuKTxici8+Cis8L3ByZT48cD5CdWlsZHMgdGhlIFFOYW1lIEBwcmVmaXg6QG5jbmFtZSBpbiBAbWVtb3J5IGlmIHRoZXJlIGlzIGVub3VnaCBzcGFjZSBhbmQgcHJlZml4IGlzIG5vdCBOVUxMIG5vciBlbXB0eSwgb3RoZXJ3aXNlIGFsbG9jYXRlIGEgbmV3IHN0cmluZy4gSWYgcHJlZml4IGlzIE5VTEwgb3IgZW1wdHkgaXQgcmV0dXJucyBuY25hbWUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uY25hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBOYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wcmVmaXg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwcmVmaXg8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm1lbW9yeTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+cHJlYWxsb2NhdGVkIG1lbW9yeTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGVuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5wcmVhbGxvY2F0ZWQgbWVtb3J5IGxlbmd0aDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ldyBzdHJpbmcgd2hpY2ggbXVzdCBiZSBmcmVlZCBieSB0aGUgY2FsbGVyIGlmIGRpZmZlcmVudCBmcm9tIEBtZW1vcnkgYW5kIEBuY25hbWUgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sQ2hpbGRFbGVtZW50Q291bnQiLz54bWxDaGlsZEVsZW1lbnRDb3VudCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnVuc2lnbmVkIGxvbmcJeG1sQ2hpbGRFbGVtZW50Q291bnQJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IHBhcmVudCk8YnIvPgorPC9wcmU+PHA+RmluZHMgdGhlIGN1cnJlbnQgbnVtYmVyIG9mIGNoaWxkIG5vZGVzIG9mIHRoYXQgZWxlbWVudCB3aGljaCBhcmUgZWxlbWVudCBub2Rlcy4gTm90ZSB0aGUgaGFuZGxpbmcgb2YgZW50aXRpZXMgcmVmZXJlbmNlcyBpcyBkaWZmZXJlbnQgdGhhbiBpbiB0aGUgVzNDIERPTSBlbGVtZW50IHRyYXZlcnNhbCBzcGVjIHNpbmNlIHdlIGRvbid0IGhhdmUgYmFjayA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI3JlZmVyZW5jZSI+cmVmZXJlbmNlPC9hPiBmcm9tIGVudGl0aWVzIGNvbnRlbnQgdG8gZW50aXRpZXMgcmVmZXJlbmNlcy48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnBhcmVudDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHBhcmVudCBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY291bnQgb2YgZWxlbWVudCBjaGlsZCBvciAwIGlmIG5vdCBhdmFpbGFibGU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxDb3B5RG9jIi8+eG1sQ29weURvYyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPgl4bWxDb3B5RG9jCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyLz4JCQkJCSBpbnQgcmVjdXJzaXZlKTxici8+Cis8L3ByZT48cD5EbyBhIGNvcHkgb2YgdGhlIGRvY3VtZW50IGluZm8uIElmIHJlY3Vyc2l2ZSwgdGhlIGNvbnRlbnQgdHJlZSB3aWxsIGJlIGNvcGllZCB0b28gYXMgd2VsbCBhcyBEVEQsIG5hbWVzcGFjZXMgYW5kIGVudGl0aWVzLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJlY3Vyc2l2ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+aWYgbm90IHplcm8gZG8gYSByZWN1cnNpdmUgY29weS48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbmV3ICN4bWxEb2NQdHIsIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxDb3B5RHRkIi8+eG1sQ29weUR0ZCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbER0ZFB0ciI+eG1sRHRkUHRyPC9hPgl4bWxDb3B5RHRkCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRHRkUHRyIj54bWxEdGRQdHI8L2E+IGR0ZCk8YnIvPgorPC9wcmU+PHA+RG8gYSBjb3B5IG9mIHRoZSBkdGQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kdGQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkdGQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbmV3ICN4bWxEdGRQdHIsIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxDb3B5TmFtZXNwYWNlIi8+eG1sQ29weU5hbWVzcGFjZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5zUHRyIj54bWxOc1B0cjwvYT4JeG1sQ29weU5hbWVzcGFjZQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTnNQdHIiPnhtbE5zUHRyPC9hPiBjdXIpPGJyLz4KKzwvcHJlPjxwPkRvIGEgY29weSBvZiB0aGUgbmFtZXNwYWNlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZXNwYWNlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIG5ldyAjeG1sTnNQdHIsIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxDb3B5TmFtZXNwYWNlTGlzdCIvPnhtbENvcHlOYW1lc3BhY2VMaXN0ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTnNQdHIiPnhtbE5zUHRyPC9hPgl4bWxDb3B5TmFtZXNwYWNlTGlzdAkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTnNQdHIiPnhtbE5zUHRyPC9hPiBjdXIpPGJyLz4KKzwvcHJlPjxwPkRvIGEgY29weSBvZiBhbiBuYW1lc3BhY2UgbGlzdC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZpcnN0IG5hbWVzcGFjZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBuZXcgI3htbE5zUHRyLCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sQ29weU5vZGUiLz54bWxDb3B5Tm9kZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CXhtbENvcHlOb2RlCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSwgPGJyLz4JCQkJCSBpbnQgZXh0ZW5kZWQpPGJyLz4KKzwvcHJlPjxwPkRvIGEgY29weSBvZiB0aGUgbm9kZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5leHRlbmRlZDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+aWYgMSBkbyBhIHJlY3Vyc2l2ZSBjb3B5IChwcm9wZXJ0aWVzLCBuYW1lc3BhY2VzIGFuZCBjaGlsZHJlbiB3aGVuIGFwcGxpY2FibGUpIGlmIDIgY29weSBwcm9wZXJ0aWVzIGFuZCBuYW1lc3BhY2VzICh3aGVuIGFwcGxpY2FibGUpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIG5ldyAjeG1sTm9kZVB0ciwgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbENvcHlOb2RlTGlzdCIvPnhtbENvcHlOb2RlTGlzdCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CXhtbENvcHlOb2RlTGlzdAkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUpPGJyLz4KKzwvcHJlPjxwPkRvIGEgcmVjdXJzaXZlIGNvcHkgb2YgdGhlIG5vZGUgbGlzdC4gVXNlIHhtbERvY0NvcHlOb2RlTGlzdCgpIGlmIHBvc3NpYmxlIHRvIGVuc3VyZSBzdHJpbmcgaW50ZXJuaW5nLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZpcnN0IG5vZGUgaW4gdGhlIGxpc3QuPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIG5ldyAjeG1sTm9kZVB0ciwgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbENvcHlQcm9wIi8+eG1sQ29weVByb3AgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxBdHRyUHRyIj54bWxBdHRyUHRyPC9hPgl4bWxDb3B5UHJvcAkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IHRhcmdldCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxBdHRyUHRyIj54bWxBdHRyUHRyPC9hPiBjdXIpPGJyLz4KKzwvcHJlPjxwPkRvIGEgY29weSBvZiB0aGUgYXR0cmlidXRlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dGFyZ2V0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZWxlbWVudCB3aGVyZSB0aGUgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gd2lsbCBiZSBncmFmdGVkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBuZXcgI3htbEF0dHJQdHIsIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxDb3B5UHJvcExpc3QiLz54bWxDb3B5UHJvcExpc3QgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxBdHRyUHRyIj54bWxBdHRyUHRyPC9hPgl4bWxDb3B5UHJvcExpc3QJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiB0YXJnZXQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQXR0clB0ciI+eG1sQXR0clB0cjwvYT4gY3VyKTxici8+Cis8L3ByZT48cD5EbyBhIGNvcHkgb2YgYW4gPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gbGlzdC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRhcmdldDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVsZW1lbnQgd2hlcmUgdGhlIGF0dHJpYnV0ZXMgd2lsbCBiZSBncmFmdGVkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmaXJzdCA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBuZXcgI3htbEF0dHJQdHIsIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxDcmVhdGVJbnRTdWJzZXQiLz54bWxDcmVhdGVJbnRTdWJzZXQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEdGRQdHIiPnhtbER0ZFB0cjwvYT4JeG1sQ3JlYXRlSW50U3Vic2V0CSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBFeHRlcm5hbElELCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBTeXN0ZW1JRCk8YnIvPgorPC9wcmU+PHA+Q3JlYXRlIHRoZSBpbnRlcm5hbCBzdWJzZXQgb2YgYSBkb2N1bWVudDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQgcG9pbnRlcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIERURCBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5FeHRlcm5hbElEPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZXh0ZXJuYWwgKFBVQkxJQykgSUQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlN5c3RlbUlEPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc3lzdGVtIElEPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gdGhlIG5ldyBEVEQgc3RydWN0dXJlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sRE9NV3JhcEFkb3B0Tm9kZSIvPnhtbERPTVdyYXBBZG9wdE5vZGUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sRE9NV3JhcEFkb3B0Tm9kZQkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERPTVdyYXBDdHh0UHRyIj54bWxET01XcmFwQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gc291cmNlRG9jLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRlc3REb2MsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gZGVzdFBhcmVudCwgPGJyLz4JCQkJCSBpbnQgb3B0aW9ucyk8YnIvPgorPC9wcmU+PHA+UmVmZXJlbmNlcyBvZiBvdXQtb2Ygc2NvcGUgbnMtZGVjbHMgYXJlIHJlbWFwcGVkIHRvIHBvaW50IHRvIEBkZXN0RG9jOiAxKSBJZiBAZGVzdFBhcmVudCBpcyBnaXZlbiwgdGhlbiBuc0RlZiBlbnRyaWVzIG9uIGVsZW1lbnQtbm9kZXMgYXJlIHVzZWQgMikgSWYgKm5vKiBAZGVzdFBhcmVudCBpcyBnaXZlbiwgdGhlbiBAZGVzdERvYy0mZ3Q7b2xkTnMgZW50cmllcyBhcmUgdXNlZCBUaGlzIGlzIHRoZSBjYXNlIHdoZW4geW91IGhhdmUgYW4gdW5saW5rZWQgbm9kZSBhbmQganVzdCB3YW50IHRvIG1vdmUgaXQgdG8gdGhlIGNvbnRleHQgb2YgSWYgQGRlc3RQYXJlbnQgaXMgZ2l2ZW4sIGl0IGVuc3VyZXMgdGhhdCB0aGUgdHJlZSBpcyBuYW1lc3BhY2Ugd2VsbGZvcm1lZCBieSBjcmVhdGluZyBhZGRpdGlvbmFsIG5zLWRlY2xzIHdoZXJlIG5lZWRlZC4gTm90ZSB0aGF0LCBzaW5jZSBwcmVmaXhlcyBvZiBhbHJlYWR5IGV4aXN0ZW50IG5zLWRlY2xzIGNhbiBiZSBzaGFkb3dlZCBieSB0aGlzIHByb2Nlc3MsIGl0IGNvdWxkIGJyZWFrIFFOYW1lcyBpbiA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiB2YWx1ZXMgb3IgZWxlbWVudCBjb250ZW50LiBOT1RFOiBUaGlzIGZ1bmN0aW9uIHdhcyBub3QgaW50ZW5zaXZlbHkgdGVzdGVkLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG9wdGlvbmFsIGNvbnRleHQgZm9yIGN1c3RvbSBwcm9jZXNzaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zb3VyY2VEb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBvcHRpb25hbCBzb3VyY2VEb2M8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBub2RlIHRvIHN0YXJ0IHdpdGg8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRlc3REb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkZXN0aW5hdGlvbiBkb2M8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRlc3RQYXJlbnQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBvcHRpb25hbCBuZXcgcGFyZW50IG9mIEBub2RlIGluIEBkZXN0RG9jPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vcHRpb25zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5vcHRpb24gZmxhZ3M8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaWYgdGhlIG9wZXJhdGlvbiBzdWNjZWVkZWQsIDEgaWYgYSBub2RlIG9mIHVuc3VwcG9ydGVkIHR5cGUgd2FzIGdpdmVuLCAyIGlmIGEgbm9kZSBvZiBub3QgeWV0IHN1cHBvcnRlZCB0eXBlIHdhcyBnaXZlbiBhbmQgLTEgb24gQVBJL2ludGVybmFsIGVycm9ycy48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxET01XcmFwQ2xvbmVOb2RlIi8+eG1sRE9NV3JhcENsb25lTm9kZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxET01XcmFwQ2xvbmVOb2RlCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRE9NV3JhcEN0eHRQdHIiPnhtbERPTVdyYXBDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBzb3VyY2VEb2MsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiAqIHJlc05vZGUsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRlc3REb2MsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gZGVzdFBhcmVudCwgPGJyLz4JCQkJCSBpbnQgZGVlcCwgPGJyLz4JCQkJCSBpbnQgb3B0aW9ucyk8YnIvPgorPC9wcmU+PHA+UmVmZXJlbmNlcyBvZiBvdXQtb2Ygc2NvcGUgbnMtZGVjbHMgYXJlIHJlbWFwcGVkIHRvIHBvaW50IHRvIEBkZXN0RG9jOiAxKSBJZiBAZGVzdFBhcmVudCBpcyBnaXZlbiwgdGhlbiBuc0RlZiBlbnRyaWVzIG9uIGVsZW1lbnQtbm9kZXMgYXJlIHVzZWQgMikgSWYgKm5vKiBAZGVzdFBhcmVudCBpcyBnaXZlbiwgdGhlbiBAZGVzdERvYy0mZ3Q7b2xkTnMgZW50cmllcyBhcmUgdXNlZC4gVGhpcyBpcyB0aGUgY2FzZSB3aGVuIHlvdSBkb24ndCBrbm93IGFscmVhZHkgd2hlcmUgdGhlIGNsb25lZCBicmFuY2ggd2lsbCBiZSBhZGRlZCB0by4gSWYgQGRlc3RQYXJlbnQgaXMgZ2l2ZW4sIGl0IGVuc3VyZXMgdGhhdCB0aGUgdHJlZSBpcyBuYW1lc3BhY2Ugd2VsbGZvcm1lZCBieSBjcmVhdGluZyBhZGRpdGlvbmFsIG5zLWRlY2xzIHdoZXJlIG5lZWRlZC4gTm90ZSB0aGF0LCBzaW5jZSBwcmVmaXhlcyBvZiBhbHJlYWR5IGV4aXN0ZW50IG5zLWRlY2xzIGNhbiBiZSBzaGFkb3dlZCBieSB0aGlzIHByb2Nlc3MsIGl0IGNvdWxkIGJyZWFrIFFOYW1lcyBpbiA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiB2YWx1ZXMgb3IgZWxlbWVudCBjb250ZW50LiBUT0RPOiAxKSBXaGF0IHRvIGRvIHdpdGggWEluY2x1ZGU/IEN1cnJlbnRseSB0aGlzIHJldHVybnMgYW4gZXJyb3IgZm9yIFhJbmNsdWRlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG9wdGlvbmFsIGNvbnRleHQgZm9yIGN1c3RvbSBwcm9jZXNzaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zb3VyY2VEb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBvcHRpb25hbCBzb3VyY2VEb2M8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBub2RlIHRvIHN0YXJ0IHdpdGg8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJlc05vZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjbG9uZSBvZiB0aGUgZ2l2ZW4gQG5vZGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRlc3REb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkZXN0aW5hdGlvbiBkb2M8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRlc3RQYXJlbnQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBvcHRpb25hbCBuZXcgcGFyZW50IG9mIEBub2RlIGluIEBkZXN0RG9jPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kZWVwPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5kZXNjZW5kIGludG8gY2hpbGQgaWYgc2V0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vcHRpb25zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5vcHRpb24gZmxhZ3M8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaWYgdGhlIG9wZXJhdGlvbiBzdWNjZWVkZWQsIDEgaWYgYSBub2RlIG9mIHVuc3VwcG9ydGVkIChvciBub3QgeWV0IHN1cHBvcnRlZCkgdHlwZSB3YXMgZ2l2ZW4sIC0xIG9uIEFQSS9pbnRlcm5hbCBlcnJvcnMuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sRE9NV3JhcEZyZWVDdHh0Ii8+eG1sRE9NV3JhcEZyZWVDdHh0ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxET01XcmFwRnJlZUN0eHQJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxET01XcmFwQ3R4dFB0ciI+eG1sRE9NV3JhcEN0eHRQdHI8L2E+IGN0eHQpPGJyLz4KKzwvcHJlPjxwPkZyZWVzIHRoZSBET00td3JhcHBlciBjb250ZXh0LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIERPTS13cmFwcGVyIGNvbnRleHQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxET01XcmFwTmV3Q3R4dCIvPnhtbERPTVdyYXBOZXdDdHh0ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRE9NV3JhcEN0eHRQdHIiPnhtbERPTVdyYXBDdHh0UHRyPC9hPgl4bWxET01XcmFwTmV3Q3R4dAkodm9pZCk8YnIvPgorPC9wcmU+PHA+QWxsb2NhdGVzIGFuZCBpbml0aWFsaXplcyBhIG5ldyBET00td3JhcHBlciBjb250ZXh0LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERPTVdyYXBDdHh0UHRyIj54bWxET01XcmFwQ3R4dFB0cjwvYT4gb3IgTlVMTCBpbiBjYXNlIG9mIGFuIGludGVybmFsIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbERPTVdyYXBSZWNvbmNpbGVOYW1lc3BhY2VzIi8+eG1sRE9NV3JhcFJlY29uY2lsZU5hbWVzcGFjZXMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sRE9NV3JhcFJlY29uY2lsZU5hbWVzcGFjZXMJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERPTVdyYXBDdHh0UHRyIj54bWxET01XcmFwQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBlbGVtLCA8YnIvPgkJCQkJIGludCBvcHRpb25zKTxici8+Cis8L3ByZT48cD5FbnN1cmVzIHRoYXQgbnMtcmVmZXJlbmNlcyBwb2ludCB0byBucy1kZWNscyBob2xkIG9uIGVsZW1lbnQtbm9kZXMuIEVuc3VyZXMgdGhhdCB0aGUgdHJlZSBpcyBuYW1lc3BhY2Ugd2VsbGZvcm1lZCBieSBjcmVhdGluZyBhZGRpdGlvbmFsIG5zLWRlY2xzIHdoZXJlIG5lZWRlZC4gTm90ZSB0aGF0LCBzaW5jZSBwcmVmaXhlcyBvZiBhbHJlYWR5IGV4aXN0ZW50IG5zLWRlY2xzIGNhbiBiZSBzaGFkb3dlZCBieSB0aGlzIHByb2Nlc3MsIGl0IGNvdWxkIGJyZWFrIFFOYW1lcyBpbiA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiB2YWx1ZXMgb3IgZWxlbWVudCBjb250ZW50LiBOT1RFOiBUaGlzIGZ1bmN0aW9uIHdhcyBub3QgaW50ZW5zaXZlbHkgdGVzdGVkLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+RE9NIHdyYXBwZXIgY29udGV4dCwgdW51c2VkIGF0IHRoZSBtb21lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVsZW08L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbGVtZW50LW5vZGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm9wdGlvbnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPm9wdGlvbiBmbGFnczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpZiBzdWNjZWVkZWQsIC0xIG90aGVyd2lzZSBhbmQgb24gQVBJL2ludGVybmFsIGVycm9ycy48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxET01XcmFwUmVtb3ZlTm9kZSIvPnhtbERPTVdyYXBSZW1vdmVOb2RlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbERPTVdyYXBSZW1vdmVOb2RlCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRE9NV3JhcEN0eHRQdHIiPnhtbERPTVdyYXBDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSwgPGJyLz4JCQkJCSBpbnQgb3B0aW9ucyk8YnIvPgorPC9wcmU+PHA+VW5saW5rcyB0aGUgZ2l2ZW4gbm9kZSBmcm9tIGl0cyBvd25lci4gVGhpcyB3aWxsIHN1YnN0aXR1dGUgbnMtcmVmZXJlbmNlcyB0byBub2RlLSZndDtuc0RlZiBmb3IgbnMtcmVmZXJlbmNlcyB0byBkb2MtJmd0O29sZE5zLCB0aHVzIGVuc3VyaW5nIHRoZSByZW1vdmVkIGJyYW5jaCB0byBiZSBhdXRhcmsgd3J0IG5zLXJlZmVyZW5jZXMuIE5PVEU6IFRoaXMgZnVuY3Rpb24gd2FzIG5vdCBpbnRlbnNpdmVseSB0ZXN0ZWQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIERPTSB3cmFwcGVyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvYzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vZGUgdG8gYmUgcmVtb3ZlZC48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm9wdGlvbnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnNldCBvZiBvcHRpb25zLCB1bnVzZWQgYXQgdGhlIG1vbWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBvbiBzdWNjZXNzLCAxIGlmIHRoZSBub2RlIGlzIG5vdCBzdXBwb3J0ZWQsIC0xIG9uIEFQSSBhbmQgaW50ZXJuYWwgZXJyb3JzLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbERvY0NvcHlOb2RlIi8+eG1sRG9jQ29weU5vZGUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgl4bWxEb2NDb3B5Tm9kZQkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyLz4JCQkJCSBpbnQgZXh0ZW5kZWQpPGJyLz4KKzwvcHJlPjxwPkRvIGEgY29weSBvZiB0aGUgbm9kZSB0byBhIGdpdmVuIGRvY3VtZW50LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vZGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5leHRlbmRlZDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+aWYgMSBkbyBhIHJlY3Vyc2l2ZSBjb3B5IChwcm9wZXJ0aWVzLCBuYW1lc3BhY2VzIGFuZCBjaGlsZHJlbiB3aGVuIGFwcGxpY2FibGUpIGlmIDIgY29weSBwcm9wZXJ0aWVzIGFuZCBuYW1lc3BhY2VzICh3aGVuIGFwcGxpY2FibGUpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIG5ldyAjeG1sTm9kZVB0ciwgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbERvY0NvcHlOb2RlTGlzdCIvPnhtbERvY0NvcHlOb2RlTGlzdCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CXhtbERvY0NvcHlOb2RlTGlzdAkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlKTxici8+Cis8L3ByZT48cD5EbyBhIHJlY3Vyc2l2ZSBjb3B5IG9mIHRoZSBub2RlIGxpc3QuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB0YXJnZXQgZG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmaXJzdCBub2RlIGluIHRoZSBsaXN0LjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBuZXcgI3htbE5vZGVQdHIsIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxEb2NEdW1wIi8+eG1sRG9jRHVtcCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxEb2NEdW1wCQkJKEZJTEUgKiBmLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBjdXIpPGJyLz4KKzwvcHJlPjxwPkR1bXAgYW4gWE1MIGRvY3VtZW50IHRvIGFuIG9wZW4gRklMRS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBGSUxFKjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgYnl0ZXMgd3JpdHRlbiBvciAtMSBpbiBjYXNlIG9mIGZhaWx1cmUuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sRG9jRHVtcEZvcm1hdE1lbW9yeSIvPnhtbERvY0R1bXBGb3JtYXRNZW1vcnkgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbERvY0R1bXBGb3JtYXRNZW1vcnkJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gY3VyLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiogbWVtLCA8YnIvPgkJCQkJIGludCAqIHNpemUsIDxici8+CQkJCQkgaW50IGZvcm1hdCk8YnIvPgorPC9wcmU+PHA+RHVtcCBhbiBYTUwgZG9jdW1lbnQgaW4gbWVtb3J5IGFuZCByZXR1cm4gdGhlICN4bWxDaGFyICogYW5kIGl0J3Mgc2l6ZS4gSXQncyB1cCB0byB0aGUgY2FsbGVyIHRvIGZyZWUgdGhlIG1lbW9yeSB3aXRoIHhtbEZyZWUoKS4gTm90ZSB0aGF0IEBmb3JtYXQgPSAxIHByb3ZpZGUgbm9kZSBpbmRlbnRpbmcgb25seSBpZiA8YSBocmVmPSJsaWJ4bWwyLWdsb2JhbHMuaHRtbCN4bWxJbmRlbnRUcmVlT3V0cHV0Ij54bWxJbmRlbnRUcmVlT3V0cHV0PC9hPiA9IDEgb3IgeG1sS2VlcEJsYW5rc0RlZmF1bHQoMCkgd2FzIGNhbGxlZDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm1lbTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+T1VUOiB0aGUgbWVtb3J5IHBvaW50ZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNpemU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPk9VVDogdGhlIG1lbW9yeSBsZW5ndGg8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZvcm1hdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+c2hvdWxkIGZvcm1hdHRpbmcgc3BhY2VzIGJlZW4gYWRkZWQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxEb2NEdW1wRm9ybWF0TWVtb3J5RW5jIi8+eG1sRG9jRHVtcEZvcm1hdE1lbW9yeUVuYyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sRG9jRHVtcEZvcm1hdE1lbW9yeUVuYwkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IG91dF9kb2MsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqKiBkb2NfdHh0X3B0ciwgPGJyLz4JCQkJCSBpbnQgKiBkb2NfdHh0X2xlbiwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogdHh0X2VuY29kaW5nLCA8YnIvPgkJCQkJIGludCBmb3JtYXQpPGJyLz4KKzwvcHJlPjxwPkR1bXAgdGhlIGN1cnJlbnQgRE9NIHRyZWUgaW50byBtZW1vcnkgdXNpbmcgdGhlIGNoYXJhY3RlciBlbmNvZGluZyBzcGVjaWZpZWQgYnkgdGhlIGNhbGxlci4gTm90ZSBpdCBpcyB1cCB0byB0aGUgY2FsbGVyIG9mIHRoaXMgZnVuY3Rpb24gdG8gZnJlZSB0aGUgYWxsb2NhdGVkIG1lbW9yeSB3aXRoIHhtbEZyZWUoKS4gTm90ZSB0aGF0IEBmb3JtYXQgPSAxIHByb3ZpZGUgbm9kZSBpbmRlbnRpbmcgb25seSBpZiA8YSBocmVmPSJsaWJ4bWwyLWdsb2JhbHMuaHRtbCN4bWxJbmRlbnRUcmVlT3V0cHV0Ij54bWxJbmRlbnRUcmVlT3V0cHV0PC9hPiA9IDEgb3IgeG1sS2VlcEJsYW5rc0RlZmF1bHQoMCkgd2FzIGNhbGxlZDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3V0X2RvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+RG9jdW1lbnQgdG8gZ2VuZXJhdGUgWE1MIHRleHQgZnJvbTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jX3R4dF9wdHI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPk1lbW9yeSBwb2ludGVyIGZvciBhbGxvY2F0ZWQgWE1MIHRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvY190eHRfbGVuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5MZW5ndGggb2YgdGhlIGdlbmVyYXRlZCBYTUwgdGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dHh0X2VuY29kaW5nPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5DaGFyYWN0ZXIgZW5jb2RpbmcgdG8gdXNlIHdoZW4gZ2VuZXJhdGluZyBYTUwgdGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Zm9ybWF0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5zaG91bGQgZm9ybWF0dGluZyBzcGFjZXMgYmVlbiBhZGRlZDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbERvY0R1bXBNZW1vcnkiLz54bWxEb2NEdW1wTWVtb3J5ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxEb2NEdW1wTWVtb3J5CQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGN1ciwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoqIG1lbSwgPGJyLz4JCQkJCSBpbnQgKiBzaXplKTxici8+Cis8L3ByZT48cD5EdW1wIGFuIFhNTCBkb2N1bWVudCBpbiBtZW1vcnkgYW5kIHJldHVybiB0aGUgI3htbENoYXIgKiBhbmQgaXQncyBzaXplIGluIGJ5dGVzLiBJdCdzIHVwIHRvIHRoZSBjYWxsZXIgdG8gZnJlZSB0aGUgbWVtb3J5IHdpdGggeG1sRnJlZSgpLiBUaGUgcmVzdWx0aW5nIGJ5dGUgYXJyYXkgaXMgemVybyB0ZXJtaW5hdGVkLCB0aG91Z2ggdGhlIGxhc3QgMCBpcyBub3QgaW5jbHVkZWQgaW4gdGhlIHJldHVybmVkIHNpemUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bWVtPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5PVVQ6IHRoZSBtZW1vcnkgcG9pbnRlcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2l6ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+T1VUOiB0aGUgbWVtb3J5IGxlbmd0aDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbERvY0R1bXBNZW1vcnlFbmMiLz54bWxEb2NEdW1wTWVtb3J5RW5jICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxEb2NEdW1wTWVtb3J5RW5jCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IG91dF9kb2MsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqKiBkb2NfdHh0X3B0ciwgPGJyLz4JCQkJCSBpbnQgKiBkb2NfdHh0X2xlbiwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogdHh0X2VuY29kaW5nKTxici8+Cis8L3ByZT48cD5EdW1wIHRoZSBjdXJyZW50IERPTSB0cmVlIGludG8gbWVtb3J5IHVzaW5nIHRoZSBjaGFyYWN0ZXIgZW5jb2Rpbmcgc3BlY2lmaWVkIGJ5IHRoZSBjYWxsZXIuIE5vdGUgaXQgaXMgdXAgdG8gdGhlIGNhbGxlciBvZiB0aGlzIGZ1bmN0aW9uIHRvIGZyZWUgdGhlIGFsbG9jYXRlZCBtZW1vcnkgd2l0aCB4bWxGcmVlKCkuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vdXRfZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5Eb2N1bWVudCB0byBnZW5lcmF0ZSBYTUwgdGV4dCBmcm9tPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2NfdHh0X3B0cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+TWVtb3J5IHBvaW50ZXIgZm9yIGFsbG9jYXRlZCBYTUwgdGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jX3R4dF9sZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPkxlbmd0aCBvZiB0aGUgZ2VuZXJhdGVkIFhNTCB0ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50eHRfZW5jb2Rpbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPkNoYXJhY3RlciBlbmNvZGluZyB0byB1c2Ugd2hlbiBnZW5lcmF0aW5nIFhNTCB0ZXh0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sRG9jRm9ybWF0RHVtcCIvPnhtbERvY0Zvcm1hdER1bXAgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sRG9jRm9ybWF0RHVtcAkJKEZJTEUgKiBmLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBjdXIsIDxici8+CQkJCQkgaW50IGZvcm1hdCk8YnIvPgorPC9wcmU+PHA+RHVtcCBhbiBYTUwgZG9jdW1lbnQgdG8gYW4gb3BlbiBGSUxFLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIEZJTEUqPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Zm9ybWF0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5zaG91bGQgZm9ybWF0dGluZyBzcGFjZXMgYmVlbiBhZGRlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBieXRlcyB3cml0dGVuIG9yIC0xIGluIGNhc2Ugb2YgZmFpbHVyZS4gTm90ZSB0aGF0IEBmb3JtYXQgPSAxIHByb3ZpZGUgbm9kZSBpbmRlbnRpbmcgb25seSBpZiA8YSBocmVmPSJsaWJ4bWwyLWdsb2JhbHMuaHRtbCN4bWxJbmRlbnRUcmVlT3V0cHV0Ij54bWxJbmRlbnRUcmVlT3V0cHV0PC9hPiA9IDEgb3IgeG1sS2VlcEJsYW5rc0RlZmF1bHQoMCkgd2FzIGNhbGxlZDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbERvY0dldFJvb3RFbGVtZW50Ii8+eG1sRG9jR2V0Um9vdEVsZW1lbnQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgl4bWxEb2NHZXRSb290RWxlbWVudAkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jIj54bWxEb2M8L2E+ICogZG9jKTxici8+Cis8L3ByZT48cD5HZXQgdGhlIHJvb3QgZWxlbWVudCBvZiB0aGUgZG9jdW1lbnQgKGRvYy0mZ3Q7Y2hpbGRyZW4gaXMgYSBsaXN0IGNvbnRhaW5pbmcgcG9zc2libHkgY29tbWVudHMsIFBJcywgZXRjIC4uLikuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlICN4bWxOb2RlUHRyIGZvciB0aGUgcm9vdCBvciBOVUxMPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sRG9jU2V0Um9vdEVsZW1lbnQiLz54bWxEb2NTZXRSb290RWxlbWVudCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CXhtbERvY1NldFJvb3RFbGVtZW50CSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IHJvb3QpPGJyLz4KKzwvcHJlPjxwPlNldCB0aGUgcm9vdCBlbGVtZW50IG9mIHRoZSBkb2N1bWVudCAoZG9jLSZndDtjaGlsZHJlbiBpcyBhIGxpc3QgY29udGFpbmluZyBwb3NzaWJseSBjb21tZW50cywgUElzLCBldGMgLi4uKS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yb290PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IGRvY3VtZW50IHJvb3QgZWxlbWVudCwgaWYgcm9vdCBpcyBOVUxMIG5vIGFjdGlvbiBpcyB0YWtlbiwgdG8gcmVtb3ZlIGEgbm9kZSBmcm9tIGEgZG9jdW1lbnQgdXNlIHhtbFVubGlua05vZGUocm9vdCkgaW5zdGVhZC48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBvbGQgcm9vdCBlbGVtZW50IGlmIGFueSB3YXMgZm91bmQsIE5VTEwgaWYgcm9vdCB3YXMgTlVMTDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEVsZW1EdW1wIi8+eG1sRWxlbUR1bXAgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbEVsZW1EdW1wCQkJKEZJTEUgKiBmLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gY3VyKTxici8+Cis8L3ByZT48cD5EdW1wIGFuIFhNTC9IVE1MIG5vZGUsIHJlY3Vyc2l2ZSBiZWhhdmlvdXIsIGNoaWxkcmVuIGFyZSBwcmludGVkIHRvby48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBGSUxFICogZm9yIHRoZSBvdXRwdXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjdXJyZW50IG5vZGU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxGaXJzdEVsZW1lbnRDaGlsZCIvPnhtbEZpcnN0RWxlbWVudENoaWxkICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JeG1sRmlyc3RFbGVtZW50Q2hpbGQJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IHBhcmVudCk8YnIvPgorPC9wcmU+PHA+RmluZHMgdGhlIGZpcnN0IGNoaWxkIG5vZGUgb2YgdGhhdCBlbGVtZW50IHdoaWNoIGlzIGEgRWxlbWVudCBub2RlIE5vdGUgdGhlIGhhbmRsaW5nIG9mIGVudGl0aWVzIHJlZmVyZW5jZXMgaXMgZGlmZmVyZW50IHRoYW4gaW4gdGhlIFczQyBET00gZWxlbWVudCB0cmF2ZXJzYWwgc3BlYyBzaW5jZSB3ZSBkb24ndCBoYXZlIGJhY2sgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNyZWZlcmVuY2UiPnJlZmVyZW5jZTwvYT4gZnJvbSBlbnRpdGllcyBjb250ZW50IHRvIGVudGl0aWVzIHJlZmVyZW5jZXMuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wYXJlbnQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwYXJlbnQgbm9kZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZpcnN0IGVsZW1lbnQgY2hpbGQgb3IgTlVMTCBpZiBub3QgYXZhaWxhYmxlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sRnJlZURvYyIvPnhtbEZyZWVEb2MgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbEZyZWVEb2MJCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGN1cik8YnIvPgorPC9wcmU+PHA+RnJlZSB1cCBhbGwgdGhlIHN0cnVjdHVyZXMgdXNlZCBieSBhIGRvY3VtZW50LCB0cmVlIGluY2x1ZGVkLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5wb2ludGVyIHRvIHRoZSBkb2N1bWVudDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEZyZWVEdGQiLz54bWxGcmVlRHRkICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxGcmVlRHRkCQkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbER0ZFB0ciI+eG1sRHRkUHRyPC9hPiBjdXIpPGJyLz4KKzwvcHJlPjxwPkZyZWUgYSBEVEQgc3RydWN0dXJlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgRFREIHN0cnVjdHVyZSB0byBmcmVlIHVwPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sRnJlZU5vZGUiLz54bWxGcmVlTm9kZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sRnJlZU5vZGUJCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gY3VyKTxici8+Cis8L3ByZT48cD5GcmVlIGEgbm9kZSwgdGhpcyBpcyBhIHJlY3Vyc2l2ZSBiZWhhdmlvdXIsIGFsbCB0aGUgY2hpbGRyZW4gYXJlIGZyZWVkIHRvby4gVGhpcyBkb2Vzbid0IHVubGluayB0aGUgY2hpbGQgZnJvbSB0aGUgbGlzdCwgdXNlIHhtbFVubGlua05vZGUoKSBmaXJzdC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vZGU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxGcmVlTm9kZUxpc3QiLz54bWxGcmVlTm9kZUxpc3QgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbEZyZWVOb2RlTGlzdAkJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIpPGJyLz4KKzwvcHJlPjxwPkZyZWUgYSBub2RlIGFuZCBhbGwgaXRzIHNpYmxpbmdzLCB0aGlzIGlzIGEgcmVjdXJzaXZlIGJlaGF2aW91ciwgYWxsIHRoZSBjaGlsZHJlbiBhcmUgZnJlZWQgdG9vLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZmlyc3Qgbm9kZSBpbiB0aGUgbGlzdDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEZyZWVOcyIvPnhtbEZyZWVOcyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sRnJlZU5zCQkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5zUHRyIj54bWxOc1B0cjwvYT4gY3VyKTxici8+Cis8L3ByZT48cD5GcmVlIHVwIHRoZSBzdHJ1Y3R1cmVzIGFzc29jaWF0ZWQgdG8gYSBuYW1lc3BhY2U8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5hbWVzcGFjZSBwb2ludGVyPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sRnJlZU5zTGlzdCIvPnhtbEZyZWVOc0xpc3QgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbEZyZWVOc0xpc3QJCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTnNQdHIiPnhtbE5zUHRyPC9hPiBjdXIpPGJyLz4KKzwvcHJlPjxwPkZyZWUgdXAgYWxsIHRoZSBzdHJ1Y3R1cmVzIGFzc29jaWF0ZWQgdG8gdGhlIGNoYWluZWQgbmFtZXNwYWNlcy48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZpcnN0IG5hbWVzcGFjZSBwb2ludGVyPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sRnJlZVByb3AiLz54bWxGcmVlUHJvcCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sRnJlZVByb3AJCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQXR0clB0ciI+eG1sQXR0clB0cjwvYT4gY3VyKTxici8+Cis8L3ByZT48cD5GcmVlIG9uZSBhdHRyaWJ1dGUsIGFsbCB0aGUgY29udGVudCBpcyBmcmVlZCB0b288L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxGcmVlUHJvcExpc3QiLz54bWxGcmVlUHJvcExpc3QgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbEZyZWVQcm9wTGlzdAkJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxBdHRyUHRyIj54bWxBdHRyUHRyPC9hPiBjdXIpPGJyLz4KKzwvcHJlPjxwPkZyZWUgYSBwcm9wZXJ0eSBhbmQgYWxsIGl0cyBzaWJsaW5ncywgYWxsIHRoZSBjaGlsZHJlbiBhcmUgZnJlZWQgdG9vLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZmlyc3QgcHJvcGVydHkgaW4gdGhlIGxpc3Q8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxHZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lIi8+eG1sR2V0QnVmZmVyQWxsb2NhdGlvblNjaGVtZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUiPnhtbEJ1ZmZlckFsbG9jYXRpb25TY2hlbWU8L2E+CXhtbEdldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUJKHZvaWQpPGJyLz4KKzwvcHJlPjxwPlR5cGVzIGFyZSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCNYTUxfQlVGRkVSX0FMTE9DX0VYQUNUIj5YTUxfQlVGRkVSX0FMTE9DX0VYQUNUPC9hPiAtIHVzZSBleGFjdCBzaXplcywga2VlcHMgbWVtb3J5IHVzYWdlIGRvd24gPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjWE1MX0JVRkZFUl9BTExPQ19ET1VCTEVJVCI+WE1MX0JVRkZFUl9BTExPQ19ET1VCTEVJVDwvYT4gLSBkb3VibGUgYnVmZmVyIHdoZW4gZXh0cmEgbmVlZGVkLCBpbXByb3ZlcyBwZXJmb3JtYW5jZSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCNYTUxfQlVGRkVSX0FMTE9DX0hZQlJJRCI+WE1MX0JVRkZFUl9BTExPQ19IWUJSSUQ8L2E+IC0gdXNlIGV4YWN0IHNpemVzIG9uIHNtYWxsIHN0cmluZ3MgdG8ga2VlcCBtZW1vcnkgdXNhZ2UgdGlnaHQgaW4gbm9ybWFsIHVzYWdlLCBhbmQgZG91YmxlaXQgb24gbGFyZ2Ugc3RyaW5ncyB0byBhdm9pZCBwYXRob2xvZ2ljYWwgcGVyZm9ybWFuY2UuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY3VycmVudCBhbGxvY2F0aW9uIHNjaGVtZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEdldENvbXByZXNzTW9kZSIvPnhtbEdldENvbXByZXNzTW9kZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxHZXRDb21wcmVzc01vZGUJCSh2b2lkKTxici8+Cis8L3ByZT48cD5nZXQgdGhlIGRlZmF1bHQgY29tcHJlc3Npb24gbW9kZSB1c2VkLCBaTElCIGJhc2VkLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCAodW5jb21wcmVzc2VkKSB0byA5IChtYXggY29tcHJlc3Npb24pPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sR2V0RG9jQ29tcHJlc3NNb2RlIi8+eG1sR2V0RG9jQ29tcHJlc3NNb2RlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbEdldERvY0NvbXByZXNzTW9kZQkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvYyI+eG1sRG9jPC9hPiAqIGRvYyk8YnIvPgorPC9wcmU+PHA+Z2V0IHRoZSBjb21wcmVzc2lvbiByYXRpbyBmb3IgYSBkb2N1bWVudCwgWkxJQiBiYXNlZDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgKHVuY29tcHJlc3NlZCkgdG8gOSAobWF4IGNvbXByZXNzaW9uKTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEdldEludFN1YnNldCIvPnhtbEdldEludFN1YnNldCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbER0ZFB0ciI+eG1sRHRkUHRyPC9hPgl4bWxHZXRJbnRTdWJzZXQJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2MiPnhtbERvYzwvYT4gKiBkb2MpPGJyLz4KKzwvcHJlPjxwPkdldCB0aGUgaW50ZXJuYWwgc3Vic2V0IG9mIGEgZG9jdW1lbnQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50IHBvaW50ZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byB0aGUgRFREIHN0cnVjdHVyZSBvciBOVUxMIGlmIG5vdCBmb3VuZDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEdldExhc3RDaGlsZCIvPnhtbEdldExhc3RDaGlsZCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CXhtbEdldExhc3RDaGlsZAkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGUiPnhtbE5vZGU8L2E+ICogcGFyZW50KTxici8+Cis8L3ByZT48cD5TZWFyY2ggdGhlIGxhc3QgY2hpbGQgb2YgYSBub2RlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cGFyZW50PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcGFyZW50IG5vZGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsYXN0IGNoaWxkIG9yIE5VTEwgaWYgbm9uZS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxHZXRMaW5lTm8iLz54bWxHZXRMaW5lTm8gKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5sb25nCXhtbEdldExpbmVObwkJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlIj54bWxOb2RlPC9hPiAqIG5vZGUpPGJyLz4KKzwvcHJlPjxwPkdldCBsaW5lIG51bWJlciBvZiBAbm9kZS4gVHJ5IHRvIG92ZXJyaWRlIHRoZSBsaW1pdGF0aW9uIG9mIGxpbmVzIGJlaW5nIHN0b3JlIGluIDE2IGJpdHMgaW50cyBpZiA8YSBocmVmPSJsaWJ4bWwyLXBhcnNlci5odG1sI1hNTF9QQVJTRV9CSUdfTElORVMiPlhNTF9QQVJTRV9CSUdfTElORVM8L2E+IHBhcnNlciBvcHRpb24gd2FzIHVzZWQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnZhbGlkIG5vZGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsaW5lIG51bWJlciBpZiBzdWNjZXNzZnVsLCAtMSBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxHZXROb05zUHJvcCIvPnhtbEdldE5vTnNQcm9wICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbEdldE5vTnNQcm9wCQkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZSI+eG1sTm9kZTwvYT4gKiBub2RlLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKTxici8+Cis8L3ByZT48cD5TZWFyY2ggYW5kIGdldCB0aGUgdmFsdWUgb2YgYW4gPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gYXNzb2NpYXRlZCB0byBhIG5vZGUgVGhpcyBkb2VzIHRoZSBlbnRpdHkgc3Vic3RpdHV0aW9uLiBUaGlzIGZ1bmN0aW9uIGxvb2tzIGluIERURCA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBkZWNsYXJhdGlvbiBmb3IgI0ZJWEVEIG9yIGRlZmF1bHQgZGVjbGFyYXRpb24gdmFsdWVzIHVubGVzcyBEVEQgdXNlIGhhcyBiZWVuIHR1cm5lZCBvZmYuIFRoaXMgZnVuY3Rpb24gaXMgc2ltaWxhciB0byA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxHZXRQcm9wIj54bWxHZXRQcm9wPC9hPiBleGNlcHQgaXQgd2lsbCBhY2NlcHQgb25seSBhbiA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBpbiBubyBuYW1lc3BhY2UuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbm9kZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiB2YWx1ZSBvciBOVUxMIGlmIG5vdCBmb3VuZC4gSXQncyB1cCB0byB0aGUgY2FsbGVyIHRvIGZyZWUgdGhlIG1lbW9yeSB3aXRoIHhtbEZyZWUoKS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxHZXROb2RlUGF0aCIvPnhtbEdldE5vZGVQYXRoICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbEdldE5vZGVQYXRoCQkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZSI+eG1sTm9kZTwvYT4gKiBub2RlKTxici8+Cis8L3ByZT48cD5CdWlsZCBhIHN0cnVjdHVyZSBiYXNlZCBQYXRoIGZvciB0aGUgZ2l2ZW4gbm9kZTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IHBhdGggb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLiBUaGUgY2FsbGVyIG11c3QgZnJlZSB0aGUgcmV0dXJuZWQgc3RyaW5nPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sR2V0TnNMaXN0Ii8+eG1sR2V0TnNMaXN0ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTnNQdHIiPnhtbE5zUHRyPC9hPiAqCXhtbEdldE5zTGlzdAkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvYyI+eG1sRG9jPC9hPiAqIGRvYywgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlIj54bWxOb2RlPC9hPiAqIG5vZGUpPGJyLz4KKzwvcHJlPjxwPlNlYXJjaCBhbGwgdGhlIG5hbWVzcGFjZSBhcHBseWluZyB0byBhIGdpdmVuIGVsZW1lbnQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGN1cnJlbnQgbm9kZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gTlVMTCB0ZXJtaW5hdGVkIGFycmF5IG9mIGFsbCB0aGUgI3htbE5zUHRyIGZvdW5kIHRoYXQgbmVlZCB0byBiZSBmcmVlZCBieSB0aGUgY2FsbGVyIG9yIE5VTEwgaWYgbm8gbmFtZXNwYWNlIGlmIGRlZmluZWQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxHZXROc1Byb3AiLz54bWxHZXROc1Byb3AgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sR2V0TnNQcm9wCQkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZSI+eG1sTm9kZTwvYT4gKiBub2RlLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lU3BhY2UpPGJyLz4KKzwvcHJlPjxwPlNlYXJjaCBhbmQgZ2V0IHRoZSB2YWx1ZSBvZiBhbiA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBhc3NvY2lhdGVkIHRvIGEgbm9kZSBUaGlzIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IGhhcyB0byBiZSBhbmNob3JlZCBpbiB0aGUgbmFtZXNwYWNlIHNwZWNpZmllZC4gVGhpcyBkb2VzIHRoZSBlbnRpdHkgc3Vic3RpdHV0aW9uLiBUaGlzIGZ1bmN0aW9uIGxvb2tzIGluIERURCA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBkZWNsYXJhdGlvbiBmb3IgI0ZJWEVEIG9yIGRlZmF1bHQgZGVjbGFyYXRpb24gdmFsdWVzIHVubGVzcyBEVEQgdXNlIGhhcyBiZWVuIHR1cm5lZCBvZmYuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbm9kZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWVTcGFjZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFVSSSBvZiB0aGUgbmFtZXNwYWNlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gdmFsdWUgb3IgTlVMTCBpZiBub3QgZm91bmQuIEl0J3MgdXAgdG8gdGhlIGNhbGxlciB0byBmcmVlIHRoZSBtZW1vcnkgd2l0aCB4bWxGcmVlKCkuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sR2V0UHJvcCIvPnhtbEdldFByb3AgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sR2V0UHJvcAkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGUiPnhtbE5vZGU8L2E+ICogbm9kZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSk8YnIvPgorPC9wcmU+PHA+U2VhcmNoIGFuZCBnZXQgdGhlIHZhbHVlIG9mIGFuIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IGFzc29jaWF0ZWQgdG8gYSBub2RlIFRoaXMgZG9lcyB0aGUgZW50aXR5IHN1YnN0aXR1dGlvbi4gVGhpcyBmdW5jdGlvbiBsb29rcyBpbiBEVEQgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gZGVjbGFyYXRpb24gZm9yICNGSVhFRCBvciBkZWZhdWx0IGRlY2xhcmF0aW9uIHZhbHVlcyB1bmxlc3MgRFREIHVzZSBoYXMgYmVlbiB0dXJuZWQgb2ZmLiBOT1RFOiB0aGlzIGZ1bmN0aW9uIGFjdHMgaW5kZXBlbmRlbnRseSBvZiBuYW1lc3BhY2VzIGFzc29jaWF0ZWQgdG8gdGhlIGF0dHJpYnV0ZS4gVXNlIHhtbEdldE5zUHJvcCgpIG9yIHhtbEdldE5vTnNQcm9wKCkgZm9yIG5hbWVzcGFjZSBhd2FyZSBwcm9jZXNzaW5nLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vZGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gdmFsdWUgb3IgTlVMTCBpZiBub3QgZm91bmQuIEl0J3MgdXAgdG8gdGhlIGNhbGxlciB0byBmcmVlIHRoZSBtZW1vcnkgd2l0aCB4bWxGcmVlKCkuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sSGFzTnNQcm9wIi8+eG1sSGFzTnNQcm9wICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQXR0clB0ciI+eG1sQXR0clB0cjwvYT4JeG1sSGFzTnNQcm9wCQkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZSI+eG1sTm9kZTwvYT4gKiBub2RlLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lU3BhY2UpPGJyLz4KKzwvcHJlPjxwPlNlYXJjaCBmb3IgYW4gPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gYXNzb2NpYXRlZCB0byBhIG5vZGUgVGhpcyA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBoYXMgdG8gYmUgYW5jaG9yZWQgaW4gdGhlIG5hbWVzcGFjZSBzcGVjaWZpZWQuIFRoaXMgZG9lcyB0aGUgZW50aXR5IHN1YnN0aXR1dGlvbi4gVGhpcyBmdW5jdGlvbiBsb29rcyBpbiBEVEQgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gZGVjbGFyYXRpb24gZm9yICNGSVhFRCBvciBkZWZhdWx0IGRlY2xhcmF0aW9uIHZhbHVlcyB1bmxlc3MgRFREIHVzZSBoYXMgYmVlbiB0dXJuZWQgb2ZmLiBOb3RlIHRoYXQgYSBuYW1lc3BhY2Ugb2YgTlVMTCBpbmRpY2F0ZXMgdG8gdXNlIHRoZSBkZWZhdWx0IG5hbWVzcGFjZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZVNwYWNlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgVVJJIG9mIHRoZSBuYW1lc3BhY2U8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBvciB0aGUgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gZGVjbGFyYXRpb24gb3IgTlVMTCBpZiBuZWl0aGVyIHdhcyBmb3VuZC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxIYXNQcm9wIi8+eG1sSGFzUHJvcCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEF0dHJQdHIiPnhtbEF0dHJQdHI8L2E+CXhtbEhhc1Byb3AJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlIj54bWxOb2RlPC9hPiAqIG5vZGUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpPGJyLz4KKzwvcHJlPjxwPlNlYXJjaCBhbiA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBhc3NvY2lhdGVkIHRvIGEgbm9kZSBUaGlzIGZ1bmN0aW9uIGFsc28gbG9va3MgaW4gRFREIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IGRlY2xhcmF0aW9uIGZvciAjRklYRUQgb3IgZGVmYXVsdCBkZWNsYXJhdGlvbiB2YWx1ZXMgdW5sZXNzIERURCB1c2UgaGFzIGJlZW4gdHVybmVkIG9mZi48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IG9yIHRoZSA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBkZWNsYXJhdGlvbiBvciBOVUxMIGlmIG5laXRoZXIgd2FzIGZvdW5kLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbElzQmxhbmtOb2RlIi8+eG1sSXNCbGFua05vZGUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sSXNCbGFua05vZGUJCQkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZSI+eG1sTm9kZTwvYT4gKiBub2RlKTxici8+Cis8L3ByZT48cD5DaGVja3Mgd2hldGhlciB0aGlzIG5vZGUgaXMgYW4gZW1wdHkgb3Igd2hpdGVzcGFjZSBvbmx5IChhbmQgcG9zc2libHkgaWdub3JhYmxlKSB0ZXh0LW5vZGUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbm9kZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSB5ZXMsIDAgbm88L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxJc1hIVE1MIi8+eG1sSXNYSFRNTCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxJc1hIVE1MCQkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzeXN0ZW1JRCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHVibGljSUQpPGJyLz4KKzwvcHJlPjxwPlRyeSB0byBmaW5kIGlmIHRoZSBkb2N1bWVudCBjb3JyZXNwb25kIHRvIGFuIFhIVE1MIERURDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3lzdGVtSUQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzeXN0ZW0gaWRlbnRpZmllcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cHVibGljSUQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwdWJsaWMgaWRlbnRpZmllcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlLCAwIGlmIG5vdCBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbExhc3RFbGVtZW50Q2hpbGQiLz54bWxMYXN0RWxlbWVudENoaWxkICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JeG1sTGFzdEVsZW1lbnRDaGlsZAkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gcGFyZW50KTxici8+Cis8L3ByZT48cD5GaW5kcyB0aGUgbGFzdCBjaGlsZCBub2RlIG9mIHRoYXQgZWxlbWVudCB3aGljaCBpcyBhIEVsZW1lbnQgbm9kZSBOb3RlIHRoZSBoYW5kbGluZyBvZiBlbnRpdGllcyByZWZlcmVuY2VzIGlzIGRpZmZlcmVudCB0aGFuIGluIHRoZSBXM0MgRE9NIGVsZW1lbnQgdHJhdmVyc2FsIHNwZWMgc2luY2Ugd2UgZG9uJ3QgaGF2ZSBiYWNrIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjcmVmZXJlbmNlIj5yZWZlcmVuY2U8L2E+IGZyb20gZW50aXRpZXMgY29udGVudCB0byBlbnRpdGllcyByZWZlcmVuY2VzLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cGFyZW50PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcGFyZW50IG5vZGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsYXN0IGVsZW1lbnQgY2hpbGQgb3IgTlVMTCBpZiBub3QgYXZhaWxhYmxlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTmV3Q0RhdGFCbG9jayIvPnhtbE5ld0NEYXRhQmxvY2sgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgl4bWxOZXdDRGF0YUJsb2NrCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjb250ZW50LCA8YnIvPgkJCQkJIGludCBsZW4pPGJyLz4KKzwvcHJlPjxwPkNyZWF0aW9uIG9mIGEgbmV3IG5vZGUgY29udGFpbmluZyBhIENEQVRBIGJsb2NrLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbnRlbnQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBDREFUQSBibG9jayBjb250ZW50IGNvbnRlbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxlbmd0aCBvZiB0aGUgYmxvY2s8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byB0aGUgbmV3IG5vZGUgb2JqZWN0LjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE5ld0NoYXJSZWYiLz54bWxOZXdDaGFyUmVmICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JeG1sTmV3Q2hhclJlZgkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpPGJyLz4KKzwvcHJlPjxwPkNyZWF0aW9uIG9mIGEgbmV3IGNoYXJhY3RlciA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI3JlZmVyZW5jZSI+cmVmZXJlbmNlPC9hPiBub2RlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjaGFyIHJlZiBzdHJpbmcsIHN0YXJ0aW5nIHdpdGggIyBvciAiJmFtcDsjIC4uLiA7IjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIHRoZSBuZXcgbm9kZSBvYmplY3QuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTmV3Q2hpbGQiLz54bWxOZXdDaGlsZCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CXhtbE5ld0NoaWxkCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gcGFyZW50LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5zUHRyIj54bWxOc1B0cjwvYT4gbnMsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGNvbnRlbnQpPGJyLz4KKzwvcHJlPjxwPkNyZWF0aW9uIG9mIGEgbmV3IGNoaWxkIGVsZW1lbnQsIGFkZGVkIGF0IHRoZSBlbmQgb2YgQHBhcmVudCBjaGlsZHJlbiBsaXN0LiBAbnMgYW5kIEBjb250ZW50IHBhcmFtZXRlcnMgYXJlIG9wdGlvbmFsIChOVUxMKS4gSWYgQG5zIGlzIE5VTEwsIHRoZSBuZXdseSBjcmVhdGVkIGVsZW1lbnQgaW5oZXJpdHMgdGhlIG5hbWVzcGFjZSBvZiBAcGFyZW50LiBJZiBAY29udGVudCBpcyBub24gTlVMTCwgYSBjaGlsZCBsaXN0IGNvbnRhaW5pbmcgdGhlIFRFWFRzIGFuZCBFTlRJVFlfUkVGcyBub2RlIHdpbGwgYmUgY3JlYXRlZC4gTk9URTogQGNvbnRlbnQgaXMgc3VwcG9zZWQgdG8gYmUgYSBwaWVjZSBvZiBYTUwgQ0RBVEEsIHNvIGl0IGFsbG93cyBlbnRpdHkgcmVmZXJlbmNlcy4gWE1MIHNwZWNpYWwgY2hhcnMgbXVzdCBiZSBlc2NhcGVkIGZpcnN0IGJ5IHVzaW5nIHhtbEVuY29kZUVudGl0aWVzUmVlbnRyYW50KCksIG9yIHhtbE5ld1RleHRDaGlsZCgpIHNob3VsZCBiZSB1c2VkLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cGFyZW50PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcGFyZW50IG5vZGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIG5hbWVzcGFjZSBpZiBhbnk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lIG9mIHRoZSBjaGlsZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29udGVudDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhNTCBjb250ZW50IG9mIHRoZSBjaGlsZCBpZiBhbnkuPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gdGhlIG5ldyBub2RlIG9iamVjdC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxOZXdDb21tZW50Ii8+eG1sTmV3Q29tbWVudCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CXhtbE5ld0NvbW1lbnQJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY29udGVudCk8YnIvPgorPC9wcmU+PHA+Q3JlYXRpb24gb2YgYSBuZXcgbm9kZSBjb250YWluaW5nIGEgY29tbWVudC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbnRlbnQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2NvbW1lbnQiPmNvbW1lbnQ8L2E+IGNvbnRlbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byB0aGUgbmV3IG5vZGUgb2JqZWN0LjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE5ld0RvYyIvPnhtbE5ld0RvYyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPgl4bWxOZXdEb2MJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmVyc2lvbik8YnIvPgorPC9wcmU+PHA+Q3JlYXRlcyBhIG5ldyBYTUwgZG9jdW1lbnQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZlcnNpb248L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gc3RyaW5nIGdpdmluZyB0aGUgdmVyc2lvbiBvZiBYTUwgIjEuMCI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbmV3IGRvY3VtZW50PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTmV3RG9jQ29tbWVudCIvPnhtbE5ld0RvY0NvbW1lbnQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgl4bWxOZXdEb2NDb21tZW50CSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjb250ZW50KTxici8+Cis8L3ByZT48cD5DcmVhdGlvbiBvZiBhIG5ldyBub2RlIGNvbnRhaW5pbmcgYSA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2NvbW1lbnQiPmNvbW1lbnQ8L2E+IHdpdGhpbiBhIGRvY3VtZW50LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbnRlbnQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2NvbW1lbnQiPmNvbW1lbnQ8L2E+IGNvbnRlbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byB0aGUgbmV3IG5vZGUgb2JqZWN0LjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE5ld0RvY0ZyYWdtZW50Ii8+eG1sTmV3RG9jRnJhZ21lbnQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgl4bWxOZXdEb2NGcmFnbWVudAkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYyk8YnIvPgorPC9wcmU+PHA+Q3JlYXRpb24gb2YgYSBuZXcgRnJhZ21lbnQgbm9kZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50IG93bmluZyB0aGUgZnJhZ21lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byB0aGUgbmV3IG5vZGUgb2JqZWN0LjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE5ld0RvY05vZGUiLz54bWxOZXdEb2NOb2RlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JeG1sTmV3RG9jTm9kZQkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTnNQdHIiPnhtbE5zUHRyPC9hPiBucywgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY29udGVudCk8YnIvPgorPC9wcmU+PHA+Q3JlYXRpb24gb2YgYSBuZXcgbm9kZSBlbGVtZW50IHdpdGhpbiBhIGRvY3VtZW50LiBAbnMgYW5kIEBjb250ZW50IGFyZSBvcHRpb25hbCAoTlVMTCkuIE5PVEU6IEBjb250ZW50IGlzIHN1cHBvc2VkIHRvIGJlIGEgcGllY2Ugb2YgWE1MIENEQVRBLCBzbyBpdCBhbGxvdyBlbnRpdGllcyByZWZlcmVuY2VzLCBidXQgWE1MIHNwZWNpYWwgY2hhcnMgbmVlZCB0byBiZSBlc2NhcGVkIGZpcnN0IGJ5IHVzaW5nIHhtbEVuY29kZUVudGl0aWVzUmVlbnRyYW50KCkuIFVzZSB4bWxOZXdEb2NSYXdOb2RlKCkgaWYgeW91IGRvbid0IG5lZWQgZW50aXRpZXMgc3VwcG9ydC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+bmFtZXNwYWNlIGlmIGFueTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vZGUgbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29udGVudDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhNTCB0ZXh0IGNvbnRlbnQgaWYgYW55PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gdGhlIG5ldyBub2RlIG9iamVjdC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxOZXdEb2NOb2RlRWF0TmFtZSIvPnhtbE5ld0RvY05vZGVFYXROYW1lICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JeG1sTmV3RG9jTm9kZUVhdE5hbWUJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTnNQdHIiPnhtbE5zUHRyPC9hPiBucywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY29udGVudCk8YnIvPgorPC9wcmU+PHA+Q3JlYXRpb24gb2YgYSBuZXcgbm9kZSBlbGVtZW50IHdpdGhpbiBhIGRvY3VtZW50LiBAbnMgYW5kIEBjb250ZW50IGFyZSBvcHRpb25hbCAoTlVMTCkuIE5PVEU6IEBjb250ZW50IGlzIHN1cHBvc2VkIHRvIGJlIGEgcGllY2Ugb2YgWE1MIENEQVRBLCBzbyBpdCBhbGxvdyBlbnRpdGllcyByZWZlcmVuY2VzLCBidXQgWE1MIHNwZWNpYWwgY2hhcnMgbmVlZCB0byBiZSBlc2NhcGVkIGZpcnN0IGJ5IHVzaW5nIHhtbEVuY29kZUVudGl0aWVzUmVlbnRyYW50KCkuIFVzZSB4bWxOZXdEb2NSYXdOb2RlKCkgaWYgeW91IGRvbid0IG5lZWQgZW50aXRpZXMgc3VwcG9ydC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+bmFtZXNwYWNlIGlmIGFueTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vZGUgbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29udGVudDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhNTCB0ZXh0IGNvbnRlbnQgaWYgYW55PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gdGhlIG5ldyBub2RlIG9iamVjdC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxOZXdEb2NQSSIvPnhtbE5ld0RvY1BJICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JeG1sTmV3RG9jUEkJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjb250ZW50KTxici8+Cis8L3ByZT48cD5DcmVhdGlvbiBvZiBhIHByb2Nlc3NpbmcgaW5zdHJ1Y3Rpb24gZWxlbWVudC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHRhcmdldCBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHByb2Nlc3NpbmcgaW5zdHJ1Y3Rpb24gbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29udGVudDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFBJIGNvbnRlbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byB0aGUgbmV3IG5vZGUgb2JqZWN0LjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE5ld0RvY1Byb3AiLz54bWxOZXdEb2NQcm9wICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQXR0clB0ciI+eG1sQXR0clB0cjwvYT4JeG1sTmV3RG9jUHJvcAkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHZhbHVlKTxici8+Cis8L3ByZT48cD5DcmVhdGUgYSBuZXcgcHJvcGVydHkgY2FycmllZCBieSBhIGRvY3VtZW50LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lIG9mIHRoZSA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsdWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB2YWx1ZSBvZiB0aGUgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byB0aGUgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxOZXdEb2NSYXdOb2RlIi8+eG1sTmV3RG9jUmF3Tm9kZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CXhtbE5ld0RvY1Jhd05vZGUJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTnNQdHIiPnhtbE5zUHRyPC9hPiBucywgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY29udGVudCk8YnIvPgorPC9wcmU+PHA+Q3JlYXRpb24gb2YgYSBuZXcgbm9kZSBlbGVtZW50IHdpdGhpbiBhIGRvY3VtZW50LiBAbnMgYW5kIEBjb250ZW50IGFyZSBvcHRpb25hbCAoTlVMTCkuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPm5hbWVzcGFjZSBpZiBhbnk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBub2RlIG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbnRlbnQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB0ZXh0IGNvbnRlbnQgaWYgYW55PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gdGhlIG5ldyBub2RlIG9iamVjdC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxOZXdEb2NUZXh0Ii8+eG1sTmV3RG9jVGV4dCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CXhtbE5ld0RvY1RleHQJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2MiPnhtbERvYzwvYT4gKiBkb2MsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGNvbnRlbnQpPGJyLz4KKzwvcHJlPjxwPkNyZWF0aW9uIG9mIGEgbmV3IHRleHQgbm9kZSB3aXRoaW4gYSBkb2N1bWVudC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb250ZW50PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdGV4dCBjb250ZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gdGhlIG5ldyBub2RlIG9iamVjdC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxOZXdEb2NUZXh0TGVuIi8+eG1sTmV3RG9jVGV4dExlbiAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CXhtbE5ld0RvY1RleHRMZW4JKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGNvbnRlbnQsIDxici8+CQkJCQkgaW50IGxlbik8YnIvPgorPC9wcmU+PHA+Q3JlYXRpb24gb2YgYSBuZXcgdGV4dCBub2RlIHdpdGggYW4gZXh0cmEgY29udGVudCBsZW5ndGggcGFyYW1ldGVyLiBUaGUgdGV4dCBub2RlIHBlcnRhaW4gdG8gYSBnaXZlbiBkb2N1bWVudC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb250ZW50PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdGV4dCBjb250ZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB0ZXh0IGxlbi48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byB0aGUgbmV3IG5vZGUgb2JqZWN0LjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE5ld0R0ZCIvPnhtbE5ld0R0ZCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbER0ZFB0ciI+eG1sRHRkUHRyPC9hPgl4bWxOZXdEdGQJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBFeHRlcm5hbElELCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBTeXN0ZW1JRCk8YnIvPgorPC9wcmU+PHA+Q3JlYXRpb24gb2YgYSBuZXcgRFREIGZvciB0aGUgZXh0ZXJuYWwgc3Vic2V0LiBUbyBjcmVhdGUgYW4gaW50ZXJuYWwgc3Vic2V0LCB1c2UgeG1sQ3JlYXRlSW50U3Vic2V0KCkuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudCBwb2ludGVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgRFREIG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PkV4dGVybmFsSUQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBleHRlcm5hbCBJRDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+U3lzdGVtSUQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzeXN0ZW0gSUQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byB0aGUgbmV3IERURCBzdHJ1Y3R1cmU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxOZXdHbG9iYWxOcyIvPnhtbE5ld0dsb2JhbE5zICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTnNQdHIiPnhtbE5zUHRyPC9hPgl4bWxOZXdHbG9iYWxOcwkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGhyZWYsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHByZWZpeCk8YnIvPgorPC9wcmU+PHA+Q3JlYXRpb24gb2YgYSBOYW1lc3BhY2UsIHRoZSBvbGQgd2F5IHVzaW5nIFBJIGFuZCB3aXRob3V0IHNjb3BpbmcgREVQUkVDQVRFRCAhISE8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50IGNhcnJ5aW5nIHRoZSBuYW1lc3BhY2U8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmhyZWY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBVUkkgYXNzb2NpYXRlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cHJlZml4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcHJlZml4IGZvciB0aGUgbmFtZXNwYWNlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5OVUxMIHRoaXMgZnVuY3Rpb25hbGl0eSBoYWQgYmVlbiByZW1vdmVkPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTmV3Tm9kZSIvPnhtbE5ld05vZGUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgl4bWxOZXdOb2RlCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTnNQdHIiPnhtbE5zUHRyPC9hPiBucywgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSk8YnIvPgorPC9wcmU+PHA+Q3JlYXRpb24gb2YgYSBuZXcgbm9kZSBlbGVtZW50LiBAbnMgaXMgb3B0aW9uYWwgKE5VTEwpLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPm5hbWVzcGFjZSBpZiBhbnk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBub2RlIG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byB0aGUgbmV3IG5vZGUgb2JqZWN0LiBVc2VzIHhtbFN0cmR1cCgpIHRvIG1ha2UgY29weSBvZiBAbmFtZS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxOZXdOb2RlRWF0TmFtZSIvPnhtbE5ld05vZGVFYXROYW1lICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JeG1sTmV3Tm9kZUVhdE5hbWUJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5zUHRyIj54bWxOc1B0cjwvYT4gbnMsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpPGJyLz4KKzwvcHJlPjxwPkNyZWF0aW9uIG9mIGEgbmV3IG5vZGUgZWxlbWVudC4gQG5zIGlzIG9wdGlvbmFsIChOVUxMKS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5uYW1lc3BhY2UgaWYgYW55PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbm9kZSBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gdGhlIG5ldyBub2RlIG9iamVjdCwgd2l0aCBwb2ludGVyIEBuYW1lIGFzIG5ldyBub2RlJ3MgbmFtZS4gVXNlIHhtbE5ld05vZGUoKSBpZiBhIGNvcHkgb2YgQG5hbWUgc3RyaW5nIGlzIGlzIG5lZWRlZCBhcyBuZXcgbm9kZSdzIG5hbWUuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTmV3TnMiLz54bWxOZXdOcyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5zUHRyIj54bWxOc1B0cjwvYT4JeG1sTmV3TnMJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBocmVmLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwcmVmaXgpPGJyLz4KKzwvcHJlPjxwPkNyZWF0aW9uIG9mIGEgbmV3IE5hbWVzcGFjZS4gVGhpcyBmdW5jdGlvbiB3aWxsIHJlZnVzZSB0byBjcmVhdGUgYSBuYW1lc3BhY2Ugd2l0aCBhIHNpbWlsYXIgcHJlZml4IHRoYW4gYW4gZXhpc3Rpbmcgb25lIHByZXNlbnQgb24gdGhpcyBub2RlLiBOb3RlIHRoYXQgZm9yIGEgZGVmYXVsdCBuYW1lc3BhY2UsIEBwcmVmaXggc2hvdWxkIGJlIE5VTEwuIFdlIHVzZSBocmVmPT1OVUxMIGluIHRoZSBjYXNlIG9mIGFuIGVsZW1lbnQgY3JlYXRpb24gd2hlcmUgdGhlIG5hbWVzcGFjZSB3YXMgbm90IGRlZmluZWQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZWxlbWVudCBjYXJyeWluZyB0aGUgbmFtZXNwYWNlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ocmVmPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgVVJJIGFzc29jaWF0ZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnByZWZpeDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHByZWZpeCBmb3IgdGhlIG5hbWVzcGFjZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBuZXcgbmFtZXNwYWNlIHBvaW50ZXIgb3IgTlVMTDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE5ld05zUHJvcCIvPnhtbE5ld05zUHJvcCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEF0dHJQdHIiPnhtbEF0dHJQdHI8L2E+CXhtbE5ld05zUHJvcAkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTnNQdHIiPnhtbE5zUHRyPC9hPiBucywgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUpPGJyLz4KKzwvcHJlPjxwPkNyZWF0ZSBhIG5ldyBwcm9wZXJ0eSB0YWdnZWQgd2l0aCBhIG5hbWVzcGFjZSBhbmQgY2FycmllZCBieSBhIG5vZGUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaG9sZGluZyBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5hbWVzcGFjZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5hbWUgb2YgdGhlIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWx1ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHZhbHVlIG9mIHRoZSA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIHRoZSA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE5ld05zUHJvcEVhdE5hbWUiLz54bWxOZXdOc1Byb3BFYXROYW1lICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQXR0clB0ciI+eG1sQXR0clB0cjwvYT4JeG1sTmV3TnNQcm9wRWF0TmFtZQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOc1B0ciI+eG1sTnNQdHI8L2E+IG5zLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB2YWx1ZSk8YnIvPgorPC9wcmU+PHA+Q3JlYXRlIGEgbmV3IHByb3BlcnR5IHRhZ2dlZCB3aXRoIGEgbmFtZXNwYWNlIGFuZCBjYXJyaWVkIGJ5IGEgbm9kZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBob2xkaW5nIG5vZGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZXNwYWNlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZSBvZiB0aGUgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbHVlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdmFsdWUgb2YgdGhlIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gdGhlIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTmV3UEkiLz54bWxOZXdQSSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CXhtbE5ld1BJCQkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGNvbnRlbnQpPGJyLz4KKzwvcHJlPjxwPkNyZWF0aW9uIG9mIGEgcHJvY2Vzc2luZyBpbnN0cnVjdGlvbiBlbGVtZW50LiBVc2UgeG1sRG9jTmV3UEkgcHJlZmVyYWJseSB0byBnZXQgc3RyaW5nIGludGVybmluZzwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHByb2Nlc3NpbmcgaW5zdHJ1Y3Rpb24gbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29udGVudDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFBJIGNvbnRlbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byB0aGUgbmV3IG5vZGUgb2JqZWN0LjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE5ld1Byb3AiLz54bWxOZXdQcm9wICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQXR0clB0ciI+eG1sQXR0clB0cjwvYT4JeG1sTmV3UHJvcAkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHZhbHVlKTxici8+Cis8L3ByZT48cD5DcmVhdGUgYSBuZXcgcHJvcGVydHkgY2FycmllZCBieSBhIG5vZGUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaG9sZGluZyBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZSBvZiB0aGUgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbHVlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdmFsdWUgb2YgdGhlIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gdGhlIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTmV3UmVmZXJlbmNlIi8+eG1sTmV3UmVmZXJlbmNlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JeG1sTmV3UmVmZXJlbmNlCQkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jIj54bWxEb2M8L2E+ICogZG9jLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKTxici8+Cis8L3ByZT48cD5DcmVhdGlvbiBvZiBhIG5ldyA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI3JlZmVyZW5jZSI+cmVmZXJlbmNlPC9hPiBub2RlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI3JlZmVyZW5jZSI+cmVmZXJlbmNlPC9hPiBuYW1lLCBvciB0aGUgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNyZWZlcmVuY2UiPnJlZmVyZW5jZTwvYT4gc3RyaW5nIHdpdGggJmFtcDsgYW5kIDs8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byB0aGUgbmV3IG5vZGUgb2JqZWN0LjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE5ld1RleHQiLz54bWxOZXdUZXh0ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JeG1sTmV3VGV4dAkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjb250ZW50KTxici8+Cis8L3ByZT48cD5DcmVhdGlvbiBvZiBhIG5ldyB0ZXh0IG5vZGUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb250ZW50PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdGV4dCBjb250ZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gdGhlIG5ldyBub2RlIG9iamVjdC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxOZXdUZXh0Q2hpbGQiLz54bWxOZXdUZXh0Q2hpbGQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgl4bWxOZXdUZXh0Q2hpbGQJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBwYXJlbnQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTnNQdHIiPnhtbE5zUHRyPC9hPiBucywgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY29udGVudCk8YnIvPgorPC9wcmU+PHA+Q3JlYXRpb24gb2YgYSBuZXcgY2hpbGQgZWxlbWVudCwgYWRkZWQgYXQgdGhlIGVuZCBvZiBAcGFyZW50IGNoaWxkcmVuIGxpc3QuIEBucyBhbmQgQGNvbnRlbnQgcGFyYW1ldGVycyBhcmUgb3B0aW9uYWwgKE5VTEwpLiBJZiBAbnMgaXMgTlVMTCwgdGhlIG5ld2x5IGNyZWF0ZWQgZWxlbWVudCBpbmhlcml0cyB0aGUgbmFtZXNwYWNlIG9mIEBwYXJlbnQuIElmIEBjb250ZW50IGlzIG5vbiBOVUxMLCBhIGNoaWxkIFRFWFQgbm9kZSB3aWxsIGJlIGNyZWF0ZWQgY29udGFpbmluZyB0aGUgc3RyaW5nIEBjb250ZW50LiBOT1RFOiBVc2UgeG1sTmV3Q2hpbGQoKSBpZiBAY29udGVudCB3aWxsIGNvbnRhaW4gZW50aXRpZXMgdGhhdCBuZWVkIHRvIGJlIHByZXNlcnZlZC4gVXNlIHRoaXMgZnVuY3Rpb24sIHhtbE5ld1RleHRDaGlsZCgpLCBpZiB5b3UgbmVlZCB0byBlbnN1cmUgdGhhdCByZXNlcnZlZCBYTUwgY2hhcnMgdGhhdCBtaWdodCBhcHBlYXIgaW4gQGNvbnRlbnQsIHN1Y2ggYXMgdGhlIGFtcGVyc2FuZCwgZ3JlYXRlci10aGFuIG9yIGxlc3MtdGhhbiBzaWducywgYXJlIGF1dG9tYXRpY2FsbHkgcmVwbGFjZWQgYnkgdGhlaXIgWE1MIGVzY2FwZWQgZW50aXR5IHJlcHJlc2VudGF0aW9ucy48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnBhcmVudDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHBhcmVudCBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBuYW1lc3BhY2UgaWYgYW55PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZSBvZiB0aGUgY2hpbGQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbnRlbnQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB0ZXh0IGNvbnRlbnQgb2YgdGhlIGNoaWxkIGlmIGFueS48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byB0aGUgbmV3IG5vZGUgb2JqZWN0LjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE5ld1RleHRMZW4iLz54bWxOZXdUZXh0TGVuICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JeG1sTmV3VGV4dExlbgkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjb250ZW50LCA8YnIvPgkJCQkJIGludCBsZW4pPGJyLz4KKzwvcHJlPjxwPkNyZWF0aW9uIG9mIGEgbmV3IHRleHQgbm9kZSB3aXRoIGFuIGV4dHJhIHBhcmFtZXRlciBmb3IgdGhlIGNvbnRlbnQncyBsZW5ndGg8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbnRlbnQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB0ZXh0IGNvbnRlbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHRleHQgbGVuLjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIHRoZSBuZXcgbm9kZSBvYmplY3QuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTmV4dEVsZW1lbnRTaWJsaW5nIi8+eG1sTmV4dEVsZW1lbnRTaWJsaW5nICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JeG1sTmV4dEVsZW1lbnRTaWJsaW5nCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlKTxici8+Cis8L3ByZT48cD5GaW5kcyB0aGUgZmlyc3QgY2xvc2VzdCBuZXh0IHNpYmxpbmcgb2YgdGhlIG5vZGUgd2hpY2ggaXMgYW4gZWxlbWVudCBub2RlLiBOb3RlIHRoZSBoYW5kbGluZyBvZiBlbnRpdGllcyByZWZlcmVuY2VzIGlzIGRpZmZlcmVudCB0aGFuIGluIHRoZSBXM0MgRE9NIGVsZW1lbnQgdHJhdmVyc2FsIHNwZWMgc2luY2Ugd2UgZG9uJ3QgaGF2ZSBiYWNrIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjcmVmZXJlbmNlIj5yZWZlcmVuY2U8L2E+IGZyb20gZW50aXRpZXMgY29udGVudCB0byBlbnRpdGllcyByZWZlcmVuY2VzLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGN1cnJlbnQgbm9kZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5leHQgZWxlbWVudCBzaWJsaW5nIG9yIE5VTEwgaWYgbm90IGF2YWlsYWJsZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE5vZGVBZGRDb250ZW50Ii8+eG1sTm9kZUFkZENvbnRlbnQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbE5vZGVBZGRDb250ZW50CQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gY3VyLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjb250ZW50KTxici8+Cis8L3ByZT48cD5BcHBlbmQgdGhlIGV4dHJhIHN1YnN0cmluZyB0byB0aGUgbm9kZSBjb250ZW50LiBOT1RFOiBJbiBjb250cmFzdCB0byB4bWxOb2RlU2V0Q29udGVudCgpLCBAY29udGVudCBpcyBzdXBwb3NlZCB0byBiZSByYXcgdGV4dCwgc28gdW5lc2NhcGVkIFhNTCBzcGVjaWFsIGNoYXJzIGFyZSBhbGxvd2VkLCBlbnRpdHkgcmVmZXJlbmNlcyBhcmUgbm90IHN1cHBvcnRlZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vZGUgYmVpbmcgbW9kaWZpZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbnRlbnQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmV4dHJhIGNvbnRlbnQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxOb2RlQWRkQ29udGVudExlbiIvPnhtbE5vZGVBZGRDb250ZW50TGVuICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxOb2RlQWRkQ29udGVudExlbgkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGN1ciwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY29udGVudCwgPGJyLz4JCQkJCSBpbnQgbGVuKTxici8+Cis8L3ByZT48cD5BcHBlbmQgdGhlIGV4dHJhIHN1YnN0cmluZyB0byB0aGUgbm9kZSBjb250ZW50LiBOT1RFOiBJbiBjb250cmFzdCB0byB4bWxOb2RlU2V0Q29udGVudExlbigpLCBAY29udGVudCBpcyBzdXBwb3NlZCB0byBiZSByYXcgdGV4dCwgc28gdW5lc2NhcGVkIFhNTCBzcGVjaWFsIGNoYXJzIGFyZSBhbGxvd2VkLCBlbnRpdHkgcmVmZXJlbmNlcyBhcmUgbm90IHN1cHBvcnRlZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vZGUgYmVpbmcgbW9kaWZpZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbnRlbnQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmV4dHJhIGNvbnRlbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHNpemUgb2YgQGNvbnRlbnQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxOb2RlQnVmR2V0Q29udGVudCIvPnhtbE5vZGVCdWZHZXRDb250ZW50ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbE5vZGVCdWZHZXRDb250ZW50CQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQnVmZmVyUHRyIj54bWxCdWZmZXJQdHI8L2E+IGJ1ZmZlciwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlIj54bWxOb2RlPC9hPiAqIGN1cik8YnIvPgorPC9wcmU+PHA+UmVhZCB0aGUgdmFsdWUgb2YgYSBub2RlIEBjdXIsIHRoaXMgY2FuIGJlIGVpdGhlciB0aGUgdGV4dCBjYXJyaWVkIGRpcmVjdGx5IGJ5IHRoaXMgbm9kZSBpZiBpdCdzIGEgVEVYVCBub2RlIG9yIHRoZSBhZ2dyZWdhdGUgc3RyaW5nIG9mIHRoZSB2YWx1ZXMgY2FycmllZCBieSB0aGlzIG5vZGUgY2hpbGQncyAoVEVYVCBhbmQgRU5USVRZX1JFRikuIEVudGl0eSByZWZlcmVuY2VzIGFyZSBzdWJzdGl0dXRlZC4gRmlsbHMgdXAgdGhlIGJ1ZmZlciBAYnVmZmVyIHdpdGggdGhpcyB2YWx1ZTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YnVmZmVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGJ1ZmZlcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbm9kZSBiZWluZyByZWFkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGluIGNhc2Ugb2Ygc3VjY2VzcyBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxOb2RlRHVtcCIvPnhtbE5vZGVEdW1wICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbE5vZGVEdW1wCQkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEJ1ZmZlclB0ciI+eG1sQnVmZmVyUHRyPC9hPiBidWYsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIsIDxici8+CQkJCQkgaW50IGxldmVsLCA8YnIvPgkJCQkJIGludCBmb3JtYXQpPGJyLz4KKzwvcHJlPjxwPkR1bXAgYW4gWE1MIG5vZGUsIHJlY3Vyc2l2ZSBiZWhhdmlvdXIsY2hpbGRyZW4gYXJlIHByaW50ZWQgdG9vLiBOb3RlIHRoYXQgQGZvcm1hdCA9IDEgcHJvdmlkZSBub2RlIGluZGVudGluZyBvbmx5IGlmIDxhIGhyZWY9ImxpYnhtbDItZ2xvYmFscy5odG1sI3htbEluZGVudFRyZWVPdXRwdXQiPnhtbEluZGVudFRyZWVPdXRwdXQ8L2E+ID0gMSBvciB4bWxLZWVwQmxhbmtzRGVmYXVsdCgwKSB3YXMgY2FsbGVkIFNpbmNlIHRoaXMgaXMgdXNpbmcgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQnVmZmVyIj54bWxCdWZmZXI8L2E+IHN0cnVjdHVyZXMgaXQgaXMgbGltaXRlZCB0byAyR0IgYW5kIHNvbWVob3cgZGVwcmVjYXRlZCwgdXNlIHhtbEJ1Zk5vZGVEdW1wKCkgaW5zdGVhZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmJ1ZjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhNTCBidWZmZXIgb3V0cHV0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY3VycmVudCBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZXZlbDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGltYnJpY2F0aW9uIGxldmVsIGZvciBpbmRlbnRpbmc8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZvcm1hdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+aXMgZm9ybWF0dGluZyBhbGxvd2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGJ5dGVzIHdyaXR0ZW4gdG8gdGhlIGJ1ZmZlciBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTm9kZUR1bXBPdXRwdXQiLz54bWxOb2RlRHVtcE91dHB1dCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sTm9kZUR1bXBPdXRwdXQJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxPdXRwdXRCdWZmZXJQdHIiPnhtbE91dHB1dEJ1ZmZlclB0cjwvYT4gYnVmLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gY3VyLCA8YnIvPgkJCQkJIGludCBsZXZlbCwgPGJyLz4JCQkJCSBpbnQgZm9ybWF0LCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZyk8YnIvPgorPC9wcmU+PHA+RHVtcCBhbiBYTUwgbm9kZSwgcmVjdXJzaXZlIGJlaGF2aW91ciwgY2hpbGRyZW4gYXJlIHByaW50ZWQgdG9vLiBOb3RlIHRoYXQgQGZvcm1hdCA9IDEgcHJvdmlkZSBub2RlIGluZGVudGluZyBvbmx5IGlmIDxhIGhyZWY9ImxpYnhtbDItZ2xvYmFscy5odG1sI3htbEluZGVudFRyZWVPdXRwdXQiPnhtbEluZGVudFRyZWVPdXRwdXQ8L2E+ID0gMSBvciB4bWxLZWVwQmxhbmtzRGVmYXVsdCgwKSB3YXMgY2FsbGVkPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5idWY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYTUwgYnVmZmVyIG91dHB1dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGN1cnJlbnQgbm9kZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGV2ZWw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBpbWJyaWNhdGlvbiBsZXZlbCBmb3IgaW5kZW50aW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mb3JtYXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmlzIGZvcm1hdHRpbmcgYWxsb3dlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jb2Rpbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIG9wdGlvbmFsIGVuY29kaW5nIHN0cmluZzwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE5vZGVHZXRCYXNlIi8+eG1sTm9kZUdldEJhc2UgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sTm9kZUdldEJhc2UJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2MiPnhtbERvYzwvYT4gKiBkb2MsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZSI+eG1sTm9kZTwvYT4gKiBjdXIpPGJyLz4KKzwvcHJlPjxwPlNlYXJjaGVzIGZvciB0aGUgQkFTRSBVUkwuIFRoZSBjb2RlIHNob3VsZCB3b3JrIG9uIGJvdGggWE1MIGFuZCBIVE1MIGRvY3VtZW50IGV2ZW4gaWYgYmFzZSBtZWNoYW5pc21zIGFyZSBjb21wbGV0ZWx5IGRpZmZlcmVudC4gSXQgcmV0dXJucyB0aGUgYmFzZSBhcyBkZWZpbmVkIGluIFJGQyAyMzk2IHNlY3Rpb25zIDUuMS4xLiBCYXNlIFVSSSB3aXRoaW4gRG9jdW1lbnQgQ29udGVudCBhbmQgNS4xLjIuIEJhc2UgVVJJIGZyb20gdGhlIEVuY2Fwc3VsYXRpbmcgRW50aXR5IEhvd2V2ZXIgaXQgZG9lcyBub3QgcmV0dXJuIHRoZSBkb2N1bWVudCBiYXNlICg1LjEuMyksIHVzZSBkb2MtJmd0O1VSTCBpbiB0aGlzIGNhc2U8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50IHRoZSBub2RlIHBlcnRhaW5zIHRvPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBub2RlIGJlaW5nIGNoZWNrZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byB0aGUgYmFzZSBVUkwsIG9yIE5VTEwgaWYgbm90IGZvdW5kIEl0J3MgdXAgdG8gdGhlIGNhbGxlciB0byBmcmVlIHRoZSBtZW1vcnkgd2l0aCB4bWxGcmVlKCkuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTm9kZUdldENvbnRlbnQiLz54bWxOb2RlR2V0Q29udGVudCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxOb2RlR2V0Q29udGVudAkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZSI+eG1sTm9kZTwvYT4gKiBjdXIpPGJyLz4KKzwvcHJlPjxwPlJlYWQgdGhlIHZhbHVlIG9mIGEgbm9kZSwgdGhpcyBjYW4gYmUgZWl0aGVyIHRoZSB0ZXh0IGNhcnJpZWQgZGlyZWN0bHkgYnkgdGhpcyBub2RlIGlmIGl0J3MgYSBURVhUIG5vZGUgb3IgdGhlIGFnZ3JlZ2F0ZSBzdHJpbmcgb2YgdGhlIHZhbHVlcyBjYXJyaWVkIGJ5IHRoaXMgbm9kZSBjaGlsZCdzIChURVhUIGFuZCBFTlRJVFlfUkVGKS4gRW50aXR5IHJlZmVyZW5jZXMgYXJlIHN1YnN0aXR1dGVkLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbm9kZSBiZWluZyByZWFkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIG5ldyAjeG1sQ2hhciAqIG9yIE5VTEwgaWYgbm8gY29udGVudCBpcyBhdmFpbGFibGUuIEl0J3MgdXAgdG8gdGhlIGNhbGxlciB0byBmcmVlIHRoZSBtZW1vcnkgd2l0aCB4bWxGcmVlKCkuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTm9kZUdldExhbmciLz54bWxOb2RlR2V0TGFuZyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxOb2RlR2V0TGFuZwkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGUiPnhtbE5vZGU8L2E+ICogY3VyKTxici8+Cis8L3ByZT48cD5TZWFyY2hlcyB0aGUgbGFuZ3VhZ2Ugb2YgYSBub2RlLCBpLmUuIHRoZSB2YWx1ZXMgb2YgdGhlIHhtbDpsYW5nIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IG9yIHRoZSBvbmUgY2FycmllZCBieSB0aGUgbmVhcmVzdCBhbmNlc3Rvci48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vZGUgYmVpbmcgY2hlY2tlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIHRoZSBsYW5nIHZhbHVlLCBvciBOVUxMIGlmIG5vdCBmb3VuZCBJdCdzIHVwIHRvIHRoZSBjYWxsZXIgdG8gZnJlZSB0aGUgbWVtb3J5IHdpdGggeG1sRnJlZSgpLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE5vZGVHZXRTcGFjZVByZXNlcnZlIi8+eG1sTm9kZUdldFNwYWNlUHJlc2VydmUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sTm9kZUdldFNwYWNlUHJlc2VydmUJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlIj54bWxOb2RlPC9hPiAqIGN1cik8YnIvPgorPC9wcmU+PHA+U2VhcmNoZXMgdGhlIHNwYWNlIHByZXNlcnZpbmcgYmVoYXZpb3VyIG9mIGEgbm9kZSwgaS5lLiB0aGUgdmFsdWVzIG9mIHRoZSB4bWw6c3BhY2UgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gb3IgdGhlIG9uZSBjYXJyaWVkIGJ5IHRoZSBuZWFyZXN0IGFuY2VzdG9yLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbm9kZSBiZWluZyBjaGVja2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4tMSBpZiB4bWw6c3BhY2UgaXMgbm90IGluaGVyaXRlZCwgMCBpZiAiZGVmYXVsdCIsIDEgaWYgInByZXNlcnZlIjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE5vZGVJc1RleHQiLz54bWxOb2RlSXNUZXh0ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbE5vZGVJc1RleHQJCQkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZSI+eG1sTm9kZTwvYT4gKiBub2RlKTxici8+Cis8L3ByZT48cD5JcyB0aGlzIG5vZGUgYSBUZXh0IG5vZGUgPzwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vZGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgeWVzLCAwIG5vPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTm9kZUxpc3RHZXRSYXdTdHJpbmciLz54bWxOb2RlTGlzdEdldFJhd1N0cmluZyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxOb2RlTGlzdEdldFJhd1N0cmluZwkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jIj54bWxEb2M8L2E+ICogZG9jLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGUiPnhtbE5vZGU8L2E+ICogbGlzdCwgPGJyLz4JCQkJCSBpbnQgaW5MaW5lKTxici8+Cis8L3ByZT48cD5CdWlsZHMgdGhlIHN0cmluZyBlcXVpdmFsZW50IHRvIHRoZSB0ZXh0IGNvbnRhaW5lZCBpbiB0aGUgTm9kZSBsaXN0IG1hZGUgb2YgVEVYVHMgYW5kIEVOVElUWV9SRUZzLCBjb250cmFyeSB0byB4bWxOb2RlTGlzdEdldFN0cmluZygpIHRoaXMgZnVuY3Rpb24gZG9lc24ndCBkbyBhbnkgY2hhcmFjdGVyIGVuY29kaW5nIGhhbmRsaW5nLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pmxpc3Q8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgTm9kZSBsaXN0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pbkxpbmU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnNob3VsZCB3ZSByZXBsYWNlIGVudGl0eSBjb250ZW50cyBvciBzaG93IHRoZWlyIGV4dGVybmFsIGZvcm08L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byB0aGUgc3RyaW5nIGNvcHksIHRoZSBjYWxsZXIgbXVzdCBmcmVlIGl0IHdpdGggeG1sRnJlZSgpLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE5vZGVMaXN0R2V0U3RyaW5nIi8+eG1sTm9kZUxpc3RHZXRTdHJpbmcgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sTm9kZUxpc3RHZXRTdHJpbmcJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZSI+eG1sTm9kZTwvYT4gKiBsaXN0LCA8YnIvPgkJCQkJIGludCBpbkxpbmUpPGJyLz4KKzwvcHJlPjxwPkJ1aWxkIHRoZSBzdHJpbmcgZXF1aXZhbGVudCB0byB0aGUgdGV4dCBjb250YWluZWQgaW4gdGhlIE5vZGUgbGlzdCBtYWRlIG9mIFRFWFRzIGFuZCBFTlRJVFlfUkVGczwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pmxpc3Q8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgTm9kZSBsaXN0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pbkxpbmU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnNob3VsZCB3ZSByZXBsYWNlIGVudGl0eSBjb250ZW50cyBvciBzaG93IHRoZWlyIGV4dGVybmFsIGZvcm08L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byB0aGUgc3RyaW5nIGNvcHksIHRoZSBjYWxsZXIgbXVzdCBmcmVlIGl0IHdpdGggeG1sRnJlZSgpLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE5vZGVTZXRCYXNlIi8+eG1sTm9kZVNldEJhc2UgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbE5vZGVTZXRCYXNlCQkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGN1ciwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdXJpKTxici8+Cis8L3ByZT48cD5TZXQgKG9yIHJlc2V0KSB0aGUgYmFzZSBVUkkgb2YgYSBub2RlLCBpLmUuIHRoZSB2YWx1ZSBvZiB0aGUgeG1sOmJhc2UgYXR0cmlidXRlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbm9kZSBiZWluZyBjaGFuZ2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD51cmk8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXcgYmFzZSBVUkk8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxOb2RlU2V0Q29udGVudCIvPnhtbE5vZGVTZXRDb250ZW50ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxOb2RlU2V0Q29udGVudAkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGN1ciwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY29udGVudCk8YnIvPgorPC9wcmU+PHA+UmVwbGFjZSB0aGUgY29udGVudCBvZiBhIG5vZGUuIE5PVEU6IEBjb250ZW50IGlzIHN1cHBvc2VkIHRvIGJlIGEgcGllY2Ugb2YgWE1MIENEQVRBLCBzbyBpdCBhbGxvd3MgZW50aXR5IHJlZmVyZW5jZXMsIGJ1dCBYTUwgc3BlY2lhbCBjaGFycyBuZWVkIHRvIGJlIGVzY2FwZWQgZmlyc3QgYnkgdXNpbmcgeG1sRW5jb2RlRW50aXRpZXNSZWVudHJhbnQoKSByZXNwLiB4bWxFbmNvZGVTcGVjaWFsQ2hhcnMoKS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vZGUgYmVpbmcgbW9kaWZpZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbnRlbnQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXcgdmFsdWUgb2YgdGhlIGNvbnRlbnQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxOb2RlU2V0Q29udGVudExlbiIvPnhtbE5vZGVTZXRDb250ZW50TGVuICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxOb2RlU2V0Q29udGVudExlbgkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGN1ciwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY29udGVudCwgPGJyLz4JCQkJCSBpbnQgbGVuKTxici8+Cis8L3ByZT48cD5SZXBsYWNlIHRoZSBjb250ZW50IG9mIGEgbm9kZS4gTk9URTogQGNvbnRlbnQgaXMgc3VwcG9zZWQgdG8gYmUgYSBwaWVjZSBvZiBYTUwgQ0RBVEEsIHNvIGl0IGFsbG93cyBlbnRpdHkgcmVmZXJlbmNlcywgYnV0IFhNTCBzcGVjaWFsIGNoYXJzIG5lZWQgdG8gYmUgZXNjYXBlZCBmaXJzdCBieSB1c2luZyB4bWxFbmNvZGVFbnRpdGllc1JlZW50cmFudCgpIHJlc3AuIHhtbEVuY29kZVNwZWNpYWxDaGFycygpLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbm9kZSBiZWluZyBtb2RpZmllZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29udGVudDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ldyB2YWx1ZSBvZiB0aGUgY29udGVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGVuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc2l6ZSBvZiBAY29udGVudDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE5vZGVTZXRMYW5nIi8+eG1sTm9kZVNldExhbmcgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbE5vZGVTZXRMYW5nCQkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGN1ciwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbGFuZyk8YnIvPgorPC9wcmU+PHA+U2V0IHRoZSBsYW5ndWFnZSBvZiBhIG5vZGUsIGkuZS4gdGhlIHZhbHVlcyBvZiB0aGUgeG1sOmxhbmcgYXR0cmlidXRlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbm9kZSBiZWluZyBjaGFuZ2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sYW5nPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbGFuZ3VhZ2UgZGVzY3JpcHRpb248L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxOb2RlU2V0TmFtZSIvPnhtbE5vZGVTZXROYW1lICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxOb2RlU2V0TmFtZQkJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpPGJyLz4KKzwvcHJlPjxwPlNldCAob3IgcmVzZXQpIHRoZSBuYW1lIG9mIGEgbm9kZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vZGUgYmVpbmcgY2hhbmdlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ldyB0YWcgbmFtZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE5vZGVTZXRTcGFjZVByZXNlcnZlIi8+eG1sTm9kZVNldFNwYWNlUHJlc2VydmUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbE5vZGVTZXRTcGFjZVByZXNlcnZlCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gY3VyLCA8YnIvPgkJCQkJIGludCB2YWwpPGJyLz4KKzwvcHJlPjxwPlNldCAob3IgcmVzZXQpIHRoZSBzcGFjZSBwcmVzZXJ2aW5nIGJlaGF2aW91ciBvZiBhIG5vZGUsIGkuZS4gdGhlIHZhbHVlIG9mIHRoZSB4bWw6c3BhY2UgYXR0cmlidXRlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbm9kZSBiZWluZyBjaGFuZ2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB4bWw6c3BhY2UgdmFsdWUgKCIwIjogZGVmYXVsdCwgMTogInByZXNlcnZlIik8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxQcmV2aW91c0VsZW1lbnRTaWJsaW5nIi8+eG1sUHJldmlvdXNFbGVtZW50U2libGluZyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CXhtbFByZXZpb3VzRWxlbWVudFNpYmxpbmcJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUpPGJyLz4KKzwvcHJlPjxwPkZpbmRzIHRoZSBmaXJzdCBjbG9zZXN0IHByZXZpb3VzIHNpYmxpbmcgb2YgdGhlIG5vZGUgd2hpY2ggaXMgYW4gZWxlbWVudCBub2RlLiBOb3RlIHRoZSBoYW5kbGluZyBvZiBlbnRpdGllcyByZWZlcmVuY2VzIGlzIGRpZmZlcmVudCB0aGFuIGluIHRoZSBXM0MgRE9NIGVsZW1lbnQgdHJhdmVyc2FsIHNwZWMgc2luY2Ugd2UgZG9uJ3QgaGF2ZSBiYWNrIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjcmVmZXJlbmNlIj5yZWZlcmVuY2U8L2E+IGZyb20gZW50aXRpZXMgY29udGVudCB0byBlbnRpdGllcyByZWZlcmVuY2VzLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGN1cnJlbnQgbm9kZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHByZXZpb3VzIGVsZW1lbnQgc2libGluZyBvciBOVUxMIGlmIG5vdCBhdmFpbGFibGU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxSZWNvbmNpbGlhdGVOcyIvPnhtbFJlY29uY2lsaWF0ZU5zICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFJlY29uY2lsaWF0ZU5zCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiB0cmVlKTxici8+Cis8L3ByZT48cD5UaGlzIGZ1bmN0aW9uIGNoZWNrcyB0aGF0IGFsbCB0aGUgbmFtZXNwYWNlcyBkZWNsYXJlZCB3aXRoaW4gdGhlIGdpdmVuIHRyZWUgYXJlIHByb3Blcmx5IGRlY2xhcmVkLiBUaGlzIGlzIG5lZWRlZCBmb3IgZXhhbXBsZSBhZnRlciBDb3B5IG9yIEN1dCBhbmQgdGhlbiBwYXN0ZSBvcGVyYXRpb25zLiBUaGUgc3VidHJlZSBtYXkgc3RpbGwgaG9sZCBwb2ludGVycyB0byBuYW1lc3BhY2UgZGVjbGFyYXRpb25zIG91dHNpZGUgdGhlIHN1YnRyZWUgb3IgaW52YWxpZC9tYXNrZWQuIEFzIG11Y2ggYXMgcG9zc2libGUgdGhlIGZ1bmN0aW9uIHRyeSB0byByZXVzZSB0aGUgZXhpc3RpbmcgbmFtZXNwYWNlcyBmb3VuZCBpbiB0aGUgbmV3IGVudmlyb25tZW50LiBJZiBub3QgcG9zc2libGUgdGhlIG5ldyBuYW1lc3BhY2VzIGFyZSByZWRlY2xhcmVkIG9uIEB0cmVlIGF0IHRoZSB0b3Agb2YgdGhlIGdpdmVuIHN1YnRyZWUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dHJlZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBub2RlIGRlZmluaW5nIHRoZSBzdWJ0cmVlIHRvIHJlY29uY2lsaWF0ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBuYW1lc3BhY2UgZGVjbGFyYXRpb25zIGNyZWF0ZWQgb3IgLTEgaW4gY2FzZSBvZiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxSZW1vdmVQcm9wIi8+eG1sUmVtb3ZlUHJvcCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxSZW1vdmVQcm9wCQkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEF0dHJQdHIiPnhtbEF0dHJQdHI8L2E+IGN1cik8YnIvPgorPC9wcmU+PHA+VW5saW5rIGFuZCBmcmVlIG9uZSBhdHRyaWJ1dGUsIGFsbCB0aGUgY29udGVudCBpcyBmcmVlZCB0b28gTm90ZSB0aGlzIGRvZXNuJ3Qgd29yayBmb3IgbmFtZXNwYWNlIGRlZmluaXRpb24gYXR0cmlidXRlczwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpZiBzdWNjZXNzIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFJlcGxhY2VOb2RlIi8+eG1sUmVwbGFjZU5vZGUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgl4bWxSZXBsYWNlTm9kZQkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG9sZCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIpPGJyLz4KKzwvcHJlPjxwPlVubGluayB0aGUgb2xkIG5vZGUgZnJvbSBpdHMgY3VycmVudCBjb250ZXh0LCBwcnVuZSB0aGUgbmV3IG9uZSBhdCB0aGUgc2FtZSBwbGFjZS4gSWYgQGN1ciB3YXMgYWxyZWFkeSBpbnNlcnRlZCBpbiBhIGRvY3VtZW50IGl0IGlzIGZpcnN0IHVubGlua2VkIGZyb20gaXRzIGV4aXN0aW5nIGNvbnRleHQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vbGQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBvbGQgbm9kZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbm9kZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIEBvbGQgbm9kZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNhdmVGaWxlIi8+eG1sU2F2ZUZpbGUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sU2F2ZUZpbGUJCQkoY29uc3QgY2hhciAqIGZpbGVuYW1lLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBjdXIpPGJyLz4KKzwvcHJlPjxwPkR1bXAgYW4gWE1MIGRvY3VtZW50IHRvIGEgZmlsZS4gV2lsbCB1c2UgY29tcHJlc3Npb24gaWYgY29tcGlsZWQgaW4gYW5kIGVuYWJsZWQuIElmIEBmaWxlbmFtZSBpcyAiLSIgdGhlIHN0ZG91dCBmaWxlIGlzIHVzZWQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlbmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZpbGVuYW1lIChvciBVUkwpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBieXRlcyB3cml0dGVuIG9yIC0xIGluIGNhc2Ugb2YgZmFpbHVyZS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTYXZlRmlsZUVuYyIvPnhtbFNhdmVGaWxlRW5jICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFNhdmVGaWxlRW5jCQkJKGNvbnN0IGNoYXIgKiBmaWxlbmFtZSwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gY3VyLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZyk8YnIvPgorPC9wcmU+PHA+RHVtcCBhbiBYTUwgZG9jdW1lbnQsIGNvbnZlcnRpbmcgaXQgdG8gdGhlIGdpdmVuIGVuY29kaW5nPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlbmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZpbGVuYW1lIChvciBVUkwpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jb2Rpbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lIG9mIGFuIGVuY29kaW5nIChvciBOVUxMKTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBieXRlcyB3cml0dGVuIG9yIC0xIGluIGNhc2Ugb2YgZmFpbHVyZS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTYXZlRmlsZVRvIi8+eG1sU2F2ZUZpbGVUbyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxTYXZlRmlsZVRvCQkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE91dHB1dEJ1ZmZlclB0ciI+eG1sT3V0cHV0QnVmZmVyUHRyPC9hPiBidWYsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGN1ciwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcpPGJyLz4KKzwvcHJlPjxwPkR1bXAgYW4gWE1MIGRvY3VtZW50IHRvIGFuIEkvTyBidWZmZXIuIFdhcm5pbmcgISBUaGlzIGNhbGwgeG1sT3V0cHV0QnVmZmVyQ2xvc2UoKSBvbiBidWYgd2hpY2ggaXMgbm90IGF2YWlsYWJsZSBhZnRlciB0aGlzIGNhbGwuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5idWY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIG91dHB1dCBJL08gYnVmZmVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jb2Rpbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbmNvZGluZyBpZiBhbnkgYXNzdW1pbmcgdGhlIEkvTyBsYXllciBoYW5kbGVzIHRoZSB0cmFuY29kaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGJ5dGVzIHdyaXR0ZW4gb3IgLTEgaW4gY2FzZSBvZiBmYWlsdXJlLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNhdmVGb3JtYXRGaWxlIi8+eG1sU2F2ZUZvcm1hdEZpbGUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sU2F2ZUZvcm1hdEZpbGUJCShjb25zdCBjaGFyICogZmlsZW5hbWUsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGN1ciwgPGJyLz4JCQkJCSBpbnQgZm9ybWF0KTxici8+Cis8L3ByZT48cD5EdW1wIGFuIFhNTCBkb2N1bWVudCB0byBhIGZpbGUuIFdpbGwgdXNlIGNvbXByZXNzaW9uIGlmIGNvbXBpbGVkIGluIGFuZCBlbmFibGVkLiBJZiBAZmlsZW5hbWUgaXMgIi0iIHRoZSBzdGRvdXQgZmlsZSBpcyB1c2VkLiBJZiBAZm9ybWF0IGlzIHNldCB0aGVuIHRoZSBkb2N1bWVudCB3aWxsIGJlIGluZGVudGVkIG9uIG91dHB1dC4gTm90ZSB0aGF0IEBmb3JtYXQgPSAxIHByb3ZpZGUgbm9kZSBpbmRlbnRpbmcgb25seSBpZiA8YSBocmVmPSJsaWJ4bWwyLWdsb2JhbHMuaHRtbCN4bWxJbmRlbnRUcmVlT3V0cHV0Ij54bWxJbmRlbnRUcmVlT3V0cHV0PC9hPiA9IDEgb3IgeG1sS2VlcEJsYW5rc0RlZmF1bHQoMCkgd2FzIGNhbGxlZDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmlsZW5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmaWxlbmFtZSAob3IgVVJMKTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZvcm1hdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+c2hvdWxkIGZvcm1hdHRpbmcgc3BhY2VzIGJlZW4gYWRkZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgYnl0ZXMgd3JpdHRlbiBvciAtMSBpbiBjYXNlIG9mIGZhaWx1cmUuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU2F2ZUZvcm1hdEZpbGVFbmMiLz54bWxTYXZlRm9ybWF0RmlsZUVuYyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxTYXZlRm9ybWF0RmlsZUVuYwkJKGNvbnN0IGNoYXIgKiBmaWxlbmFtZSwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gY3VyLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyLz4JCQkJCSBpbnQgZm9ybWF0KTxici8+Cis8L3ByZT48cD5EdW1wIGFuIFhNTCBkb2N1bWVudCB0byBhIGZpbGUgb3IgYW4gVVJMLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmlsZW5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmaWxlbmFtZSBvciBVUkwgdG8gb3V0cHV0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudCBiZWluZyBzYXZlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jb2Rpbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lIG9mIHRoZSBlbmNvZGluZyB0byB1c2Ugb3IgTlVMTC48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZvcm1hdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+c2hvdWxkIGZvcm1hdHRpbmcgc3BhY2VzIGJlIGFkZGVkLjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBieXRlcyB3cml0dGVuIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IuIE5vdGUgdGhhdCBAZm9ybWF0ID0gMSBwcm92aWRlIG5vZGUgaW5kZW50aW5nIG9ubHkgaWYgPGEgaHJlZj0ibGlieG1sMi1nbG9iYWxzLmh0bWwjeG1sSW5kZW50VHJlZU91dHB1dCI+eG1sSW5kZW50VHJlZU91dHB1dDwvYT4gPSAxIG9yIHhtbEtlZXBCbGFua3NEZWZhdWx0KDApIHdhcyBjYWxsZWQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTYXZlRm9ybWF0RmlsZVRvIi8+eG1sU2F2ZUZvcm1hdEZpbGVUbyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxTYXZlRm9ybWF0RmlsZVRvCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sT3V0cHV0QnVmZmVyUHRyIj54bWxPdXRwdXRCdWZmZXJQdHI8L2E+IGJ1ZiwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gY3VyLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyLz4JCQkJCSBpbnQgZm9ybWF0KTxici8+Cis8L3ByZT48cD5EdW1wIGFuIFhNTCBkb2N1bWVudCB0byBhbiBJL08gYnVmZmVyLiBXYXJuaW5nICEgVGhpcyBjYWxsIHhtbE91dHB1dEJ1ZmZlckNsb3NlKCkgb24gYnVmIHdoaWNoIGlzIG5vdCBhdmFpbGFibGUgYWZ0ZXIgdGhpcyBjYWxsLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YnVmPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBvdXRwdXQgSS9PIGJ1ZmZlcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVuY29kaW5nPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZW5jb2RpbmcgaWYgYW55IGFzc3VtaW5nIHRoZSBJL08gbGF5ZXIgaGFuZGxlcyB0aGUgdHJhbmNvZGluZzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Zm9ybWF0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5zaG91bGQgZm9ybWF0dGluZyBzcGFjZXMgYmVlbiBhZGRlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBieXRlcyB3cml0dGVuIG9yIC0xIGluIGNhc2Ugb2YgZmFpbHVyZS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTZWFyY2hOcyIvPnhtbFNlYXJjaE5zICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTnNQdHIiPnhtbE5zUHRyPC9hPgl4bWxTZWFyY2hOcwkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZVNwYWNlKTxici8+Cis8L3ByZT48cD5TZWFyY2ggYSBOcyByZWdpc3RlcmVkIHVuZGVyIGEgZ2l2ZW4gbmFtZSBzcGFjZSBmb3IgYSBkb2N1bWVudC4gcmVjdXJzZSBvbiB0aGUgcGFyZW50cyB1bnRpbCBpdCBmaW5kcyB0aGUgZGVmaW5lZCBuYW1lc3BhY2Ugb3IgcmV0dXJuIE5VTEwgb3RoZXJ3aXNlLiBAbmFtZVNwYWNlIGNhbiBiZSBOVUxMLCB0aGlzIGlzIGEgc2VhcmNoIGZvciB0aGUgZGVmYXVsdCBuYW1lc3BhY2UuIFdlIGRvbid0IGFsbG93IHRvIGNyb3NzIGVudGl0aWVzIGJvdW5kYXJpZXMuIElmIHlvdSBkb24ndCBkZWNsYXJlIHRoZSBuYW1lc3BhY2Ugd2l0aGluIHRob3NlIHlvdSB3aWxsIGJlIGluIHRyb3VibGVzICEhISBBIHdhcm5pbmcgaXMgZ2VuZXJhdGVkIHRvIGNvdmVyIHRoaXMgY2FzZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY3VycmVudCBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lU3BhY2U8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lc3BhY2UgcHJlZml4PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZXNwYWNlIHBvaW50ZXIgb3IgTlVMTC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTZWFyY2hOc0J5SHJlZiIvPnhtbFNlYXJjaE5zQnlIcmVmICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTnNQdHIiPnhtbE5zUHRyPC9hPgl4bWxTZWFyY2hOc0J5SHJlZgkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBocmVmKTxici8+Cis8L3ByZT48cD5TZWFyY2ggYSBOcyBhbGlhc2luZyBhIGdpdmVuIFVSSS4gUmVjdXJzZSBvbiB0aGUgcGFyZW50cyB1bnRpbCBpdCBmaW5kcyB0aGUgZGVmaW5lZCBuYW1lc3BhY2Ugb3IgcmV0dXJuIE5VTEwgb3RoZXJ3aXNlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjdXJyZW50IG5vZGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmhyZWY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lc3BhY2UgdmFsdWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lc3BhY2UgcG9pbnRlciBvciBOVUxMLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUiLz54bWxTZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxTZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxCdWZmZXJBbGxvY2F0aW9uU2NoZW1lIj54bWxCdWZmZXJBbGxvY2F0aW9uU2NoZW1lPC9hPiBzY2hlbWUpPGJyLz4KKzwvcHJlPjxwPlNldCB0aGUgYnVmZmVyIGFsbG9jYXRpb24gbWV0aG9kLiBUeXBlcyBhcmUgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjWE1MX0JVRkZFUl9BTExPQ19FWEFDVCI+WE1MX0JVRkZFUl9BTExPQ19FWEFDVDwvYT4gLSB1c2UgZXhhY3Qgc2l6ZXMsIGtlZXBzIG1lbW9yeSB1c2FnZSBkb3duIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI1hNTF9CVUZGRVJfQUxMT0NfRE9VQkxFSVQiPlhNTF9CVUZGRVJfQUxMT0NfRE9VQkxFSVQ8L2E+IC0gZG91YmxlIGJ1ZmZlciB3aGVuIGV4dHJhIG5lZWRlZCwgaW1wcm92ZXMgcGVyZm9ybWFuY2U8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNjaGVtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YWxsb2NhdGlvbiBtZXRob2QgdG8gdXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU2V0Q29tcHJlc3NNb2RlIi8+eG1sU2V0Q29tcHJlc3NNb2RlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxTZXRDb21wcmVzc01vZGUJCShpbnQgbW9kZSk8YnIvPgorPC9wcmU+PHA+c2V0IHRoZSBkZWZhdWx0IGNvbXByZXNzaW9uIG1vZGUgdXNlZCwgWkxJQiBiYXNlZCBDb3JyZWN0IHZhbHVlczogMCAodW5jb21wcmVzc2VkKSB0byA5IChtYXggY29tcHJlc3Npb24pPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5tb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY29tcHJlc3Npb24gcmF0aW88L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTZXREb2NDb21wcmVzc01vZGUiLz54bWxTZXREb2NDb21wcmVzc01vZGUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFNldERvY0NvbXByZXNzTW9kZQkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxici8+CQkJCQkgaW50IG1vZGUpPGJyLz4KKzwvcHJlPjxwPnNldCB0aGUgY29tcHJlc3Npb24gcmF0aW8gZm9yIGEgZG9jdW1lbnQsIFpMSUIgYmFzZWQgQ29ycmVjdCB2YWx1ZXM6IDAgKHVuY29tcHJlc3NlZCkgdG8gOSAobWF4IGNvbXByZXNzaW9uKTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm1vZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjb21wcmVzc2lvbiByYXRpbzwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNldExpc3REb2MiLz54bWxTZXRMaXN0RG9jICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxTZXRMaXN0RG9jCQkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGxpc3QsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYyk8YnIvPgorPC9wcmU+PHA+dXBkYXRlIGFsbCBub2RlcyBpbiB0aGUgbGlzdCB0byBwb2ludCB0byB0aGUgcmlnaHQgZG9jdW1lbnQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pmxpc3Q8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmaXJzdCBlbGVtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNldE5zIi8+eG1sU2V0TnMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFNldE5zCQkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTnNQdHIiPnhtbE5zUHRyPC9hPiBucyk8YnIvPgorPC9wcmU+PHA+QXNzb2NpYXRlIGEgbmFtZXNwYWNlIHRvIGEgbm9kZSwgYSBwb3N0ZXJpb3JpLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBub2RlIGluIHRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbmFtZXNwYWNlIHBvaW50ZXI8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTZXROc1Byb3AiLz54bWxTZXROc1Byb3AgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxBdHRyUHRyIj54bWxBdHRyUHRyPC9hPgl4bWxTZXROc1Byb3AJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5zUHRyIj54bWxOc1B0cjwvYT4gbnMsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHZhbHVlKTxici8+Cis8L3ByZT48cD5TZXQgKG9yIHJlc2V0KSBhbiA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBjYXJyaWVkIGJ5IGEgbm9kZS4gVGhlIG5zIHN0cnVjdHVyZSBtdXN0IGJlIGluIHNjb3BlLCB0aGlzIGlzIG5vdCBjaGVja2VkPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbm9kZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lc3BhY2UgZGVmaW5pdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbHVlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gdmFsdWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBwb2ludGVyLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNldFByb3AiLz54bWxTZXRQcm9wICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQXR0clB0ciI+eG1sQXR0clB0cjwvYT4JeG1sU2V0UHJvcAkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHZhbHVlKTxici8+Cis8L3ByZT48cD5TZXQgKG9yIHJlc2V0KSBhbiA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBjYXJyaWVkIGJ5IGEgbm9kZS4gSWYgQG5hbWUgaGFzIGEgcHJlZml4LCB0aGVuIHRoZSBjb3JyZXNwb25kaW5nIG5hbWVzcGFjZS1iaW5kaW5nIHdpbGwgYmUgdXNlZCwgaWYgaW4gc2NvcGU7IGl0IGlzIGFuIGVycm9yIGl0IHRoZXJlJ3Mgbm8gc3VjaCBucy1iaW5kaW5nIGZvciB0aGUgcHJlZml4IGluIHNjb3BlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vZGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBuYW1lIChhIFFOYW1lKTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsdWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiB2YWx1ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IHBvaW50ZXIuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU2V0VHJlZURvYyIvPnhtbFNldFRyZWVEb2MgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFNldFRyZWVEb2MJCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gdHJlZSwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jKTxici8+Cis8L3ByZT48cD51cGRhdGUgYWxsIG5vZGVzIHVuZGVyIHRoZSB0cmVlIHRvIHBvaW50IHRvIHRoZSByaWdodCBkb2N1bWVudDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dHJlZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHRvcCBlbGVtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNwbGl0UU5hbWUyIi8+eG1sU3BsaXRRTmFtZTIgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sU3BsaXRRTmFtZTIJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoqIHByZWZpeCk8YnIvPgorPC9wcmU+PHA+cGFyc2UgYW4gWE1MIHF1YWxpZmllZCBuYW1lIHN0cmluZyBbTlMgNV0gUU5hbWUgOjo9IChQcmVmaXggJzonKT8gTG9jYWxQYXJ0IFtOUyA2XSBQcmVmaXggOjo9IE5DTmFtZSBbTlMgN10gTG9jYWxQYXJ0IDo6PSBOQ05hbWU8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmdWxsIFFOYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wcmVmaXg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqKjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+TlVMTCBpZiBub3QgYSBRTmFtZSwgb3RoZXJ3aXNlIHRoZSBsb2NhbCBwYXJ0LCBhbmQgcHJlZml4IGlzIHVwZGF0ZWQgdG8gZ2V0IHRoZSBQcmVmaXggaWYgYW55LjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNwbGl0UU5hbWUzIi8+eG1sU3BsaXRRTmFtZTMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5jb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sU3BsaXRRTmFtZTMJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCSBpbnQgKiBsZW4pPGJyLz4KKzwvcHJlPjxwPnBhcnNlIGFuIFhNTCBxdWFsaWZpZWQgbmFtZSBzdHJpbmcsaTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZ1bGwgUU5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gaW50ICo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPk5VTEwgaWYgaXQgaXMgbm90IGEgUXVhbGlmaWVkIE5hbWUsIG90aGVyd2lzZSwgdXBkYXRlIGxlbiB3aXRoIHRoZSBsZW5ndGggaW4gYnl0ZSBvZiB0aGUgcHJlZml4IGFuZCByZXR1cm4gYSBwb2ludGVyIHRvIHRoZSBzdGFydCBvZiB0aGUgbmFtZSB3aXRob3V0IHRoZSBwcmVmaXg8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTdHJpbmdHZXROb2RlTGlzdCIvPnhtbFN0cmluZ0dldE5vZGVMaXN0ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JeG1sU3RyaW5nR2V0Tm9kZUxpc3QJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvYyI+eG1sRG9jPC9hPiAqIGRvYywgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUpPGJyLz4KKzwvcHJlPjxwPlBhcnNlIHRoZSB2YWx1ZSBzdHJpbmcgYW5kIGJ1aWxkIHRoZSBub2RlIGxpc3QgYXNzb2NpYXRlZC4gU2hvdWxkIHByb2R1Y2UgYSBmbGF0IHRyZWUgd2l0aCBvbmx5IFRFWFRzIGFuZCBFTlRJVFlfUkVGcy48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWx1ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHZhbHVlIG9mIHRoZSA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIHRoZSBmaXJzdCBjaGlsZDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFN0cmluZ0xlbkdldE5vZGVMaXN0Ii8+eG1sU3RyaW5nTGVuR2V0Tm9kZUxpc3QgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgl4bWxTdHJpbmdMZW5HZXROb2RlTGlzdAkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jIj54bWxEb2M8L2E+ICogZG9jLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB2YWx1ZSwgPGJyLz4JCQkJCSBpbnQgbGVuKTxici8+Cis8L3ByZT48cD5QYXJzZSB0aGUgdmFsdWUgc3RyaW5nIGFuZCBidWlsZCB0aGUgbm9kZSBsaXN0IGFzc29jaWF0ZWQuIFNob3VsZCBwcm9kdWNlIGEgZmxhdCB0cmVlIHdpdGggb25seSBURVhUcyBhbmQgRU5USVRZX1JFRnMuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsdWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB2YWx1ZSBvZiB0aGUgdGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGVuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbGVuZ3RoIG9mIHRoZSBzdHJpbmcgdmFsdWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byB0aGUgZmlyc3QgY2hpbGQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxUZXh0Q29uY2F0Ii8+eG1sVGV4dENvbmNhdCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0Q29uY2F0CQkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGNvbnRlbnQsIDxici8+CQkJCQkgaW50IGxlbik8YnIvPgorPC9wcmU+PHA+Q29uY2F0IHRoZSBnaXZlbiBzdHJpbmcgYXQgdGhlIGVuZCBvZiB0aGUgZXhpc3Rpbmcgbm9kZSBjb250ZW50PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbm9kZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29udGVudDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGNvbnRlbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+QGNvbnRlbnQgbGVuZ3RoPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4tMSBpbiBjYXNlIG9mIGVycm9yLCAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFRleHRNZXJnZSIvPnhtbFRleHRNZXJnZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CXhtbFRleHRNZXJnZQkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGZpcnN0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IHNlY29uZCk8YnIvPgorPC9wcmU+PHA+TWVyZ2UgdHdvIHRleHQgbm9kZXMgaW50byBvbmU8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZpcnN0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZmlyc3QgdGV4dCBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zZWNvbmQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzZWNvbmQgdGV4dCBub2RlIGJlaW5nIG1lcmdlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZpcnN0IHRleHQgbm9kZSBhdWdtZW50ZWQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxVbmxpbmtOb2RlIi8+eG1sVW5saW5rTm9kZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sVW5saW5rTm9kZQkJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIpPGJyLz4KKzwvcHJlPjxwPlVubGluayBhIG5vZGUgZnJvbSBpdCdzIGN1cnJlbnQgY29udGV4dCwgdGhlIG5vZGUgaXMgbm90IGZyZWVkIElmIG9uZSBuZWVkIHRvIGZyZWUgdGhlIG5vZGUsIHVzZSB4bWxGcmVlTm9kZSgpIHJvdXRpbmUgYWZ0ZXIgdGhlIHVubGluayB0byBkaXNjYXJkIGl0LiBOb3RlIHRoYXQgbmFtZXNwYWNlIG5vZGVzIGNhbid0IGJlIHVubGlua2VkIGFzIHRoZXkgZG8gbm90IGhhdmUgcG9pbnRlciB0byB0aGVpciBwYXJlbnQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBub2RlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVW5zZXROc1Byb3AiLz54bWxVbnNldE5zUHJvcCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVbnNldE5zUHJvcAkJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5zUHRyIj54bWxOc1B0cjwvYT4gbnMsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpPGJyLz4KKzwvcHJlPjxwPlJlbW92ZSBhbiA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBjYXJyaWVkIGJ5IGEgbm9kZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5hbWVzcGFjZSBkZWZpbml0aW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpZiBzdWNjZXNzZnVsLCAtMSBpZiBub3QgZm91bmQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxVbnNldFByb3AiLz54bWxVbnNldFByb3AgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVW5zZXRQcm9wCQkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpPGJyLz4KKzwvcHJlPjxwPlJlbW92ZSBhbiA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBjYXJyaWVkIGJ5IGEgbm9kZS4gVGhpcyBoYW5kbGVzIG9ubHkgYXR0cmlidXRlcyBpbiBubyBuYW1lc3BhY2UuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbm9kZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaWYgc3VjY2Vzc2Z1bCwgLTEgaWYgbm90IGZvdW5kPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVmFsaWRhdGVOQ05hbWUiLz54bWxWYWxpZGF0ZU5DTmFtZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxWYWxpZGF0ZU5DTmFtZQkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB2YWx1ZSwgPGJyLz4JCQkJCSBpbnQgc3BhY2UpPGJyLz4KKzwvcHJlPjxwPkNoZWNrIHRoYXQgYSB2YWx1ZSBjb25mb3JtcyB0byB0aGUgbGV4aWNhbCBzcGFjZSBvZiBOQ05hbWU8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbHVlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdmFsdWUgdG8gY2hlY2s8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNwYWNlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbGxvdyBzcGFjZXMgaW4gZnJvbnQgYW5kIGVuZCBvZiB0aGUgc3RyaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGlmIHRoaXMgdmFsaWRhdGVzLCBhIHBvc2l0aXZlIGVycm9yIGNvZGUgbnVtYmVyIG90aGVyd2lzZSBhbmQgLTEgaW4gY2FzZSBvZiBpbnRlcm5hbCBvciBBUEkgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVmFsaWRhdGVOTVRva2VuIi8+eG1sVmFsaWRhdGVOTVRva2VuICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFZhbGlkYXRlTk1Ub2tlbgkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB2YWx1ZSwgPGJyLz4JCQkJCSBpbnQgc3BhY2UpPGJyLz4KKzwvcHJlPjxwPkNoZWNrIHRoYXQgYSB2YWx1ZSBjb25mb3JtcyB0byB0aGUgbGV4aWNhbCBzcGFjZSBvZiBOTVRva2VuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWx1ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHZhbHVlIHRvIGNoZWNrPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zcGFjZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YWxsb3cgc3BhY2VzIGluIGZyb250IGFuZCBlbmQgb2YgdGhlIHN0cmluZzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpZiB0aGlzIHZhbGlkYXRlcywgYSBwb3NpdGl2ZSBlcnJvciBjb2RlIG51bWJlciBvdGhlcndpc2UgYW5kIC0xIGluIGNhc2Ugb2YgaW50ZXJuYWwgb3IgQVBJIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFZhbGlkYXRlTmFtZSIvPnhtbFZhbGlkYXRlTmFtZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxWYWxpZGF0ZU5hbWUJCQkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHZhbHVlLCA8YnIvPgkJCQkJIGludCBzcGFjZSk8YnIvPgorPC9wcmU+PHA+Q2hlY2sgdGhhdCBhIHZhbHVlIGNvbmZvcm1zIHRvIHRoZSBsZXhpY2FsIHNwYWNlIG9mIE5hbWU8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbHVlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdmFsdWUgdG8gY2hlY2s8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNwYWNlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbGxvdyBzcGFjZXMgaW4gZnJvbnQgYW5kIGVuZCBvZiB0aGUgc3RyaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGlmIHRoaXMgdmFsaWRhdGVzLCBhIHBvc2l0aXZlIGVycm9yIGNvZGUgbnVtYmVyIG90aGVyd2lzZSBhbmQgLTEgaW4gY2FzZSBvZiBpbnRlcm5hbCBvciBBUEkgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVmFsaWRhdGVRTmFtZSIvPnhtbFZhbGlkYXRlUU5hbWUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVmFsaWRhdGVRTmFtZQkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB2YWx1ZSwgPGJyLz4JCQkJCSBpbnQgc3BhY2UpPGJyLz4KKzwvcHJlPjxwPkNoZWNrIHRoYXQgYSB2YWx1ZSBjb25mb3JtcyB0byB0aGUgbGV4aWNhbCBzcGFjZSBvZiBRTmFtZTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsdWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB2YWx1ZSB0byBjaGVjazwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3BhY2U8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFsbG93IHNwYWNlcyBpbiBmcm9udCBhbmQgZW5kIG9mIHRoZSBzdHJpbmc8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaWYgdGhpcyB2YWxpZGF0ZXMsIGEgcG9zaXRpdmUgZXJyb3IgY29kZSBudW1iZXIgb3RoZXJ3aXNlIGFuZCAtMSBpbiBjYXNlIG9mIGludGVybmFsIG9yIEFQSSBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgPC9kaXY+CisgICAgPC9kaXY+CisgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2RldmhlbHAvbGlieG1sMi11cmkuaHRtbCBiL2xpYnhtbDIvZG9jL2RldmhlbHAvbGlieG1sMi11cmkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YjMzYzRlCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvZGV2aGVscC9saWJ4bWwyLXVyaS5odG1sCkBAIC0wLDAgKzEsMTU0IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPGh0bWw+CisgIDxoZWFkPgorICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ii8+CisgICAgPHRpdGxlPnVyaTogbGlicmFyeSBvZiBnZW5lcmljIFVSSSByZWxhdGVkIHJvdXRpbmVzPC90aXRsZT4KKyAgICA8bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9IkxpYnhtbDIgZGV2aGVscCBzdHlsZXNoZWV0Ii8+CisgICAgPGxpbmsgcmVsPSJzdGFydCIgaHJlZj0iaW5kZXguaHRtbCIgdGl0bGU9ImxpYnhtbDIgUmVmZXJlbmNlIE1hbnVhbCIvPgorICAgIDxsaW5rIHJlbD0idXAiIGhyZWY9ImdlbmVyYWwuaHRtbCIgdGl0bGU9IkFQSSIvPgorICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0ic3R5bGUuY3NzIiB0eXBlPSJ0ZXh0L2NzcyIvPgorICAgIDxsaW5rIHJlbD0iY2hhcHRlciIgaHJlZj0iZ2VuZXJhbC5odG1sIiB0aXRsZT0iQVBJIi8+CisgIDwvaGVhZD4KKyAgPGJvZHkgYmdjb2xvcj0id2hpdGUiIHRleHQ9ImJsYWNrIiBsaW5rPSIjMDAwMEZGIiB2bGluaz0iIzg0MDA4NCIgYWxpbms9IiMwMDAwRkYiPgorICAgIDx0YWJsZSBjbGFzcz0ibmF2aWdhdGlvbiIgd2lkdGg9IjEwMCUiIHN1bW1hcnk9Ik5hdmlnYXRpb24gaGVhZGVyIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjIiPgorICAgICAgPHRyIHZhbGlnbj0ibWlkZGxlIj4KKyAgICAgICAgPHRkPgorICAgICAgICAgIDxhIGFjY2Vzc2tleT0icCIgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwiPgorICAgICAgICAgICAgPGltZyBzcmM9ImxlZnQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJQcmV2Ii8+CisgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGQ+CisgICAgICAgICAgPGEgYWNjZXNza2V5PSJ1IiBocmVmPSJnZW5lcmFsLmh0bWwiPgorICAgICAgICAgICAgPGltZyBzcmM9InVwLnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iVXAiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9ImgiIGhyZWY9ImluZGV4Lmh0bWwiPgorICAgICAgICAgICAgPGltZyBzcmM9ImhvbWUucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJIb21lIi8+CisgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGQ+CisgICAgICAgICAgPGEgYWNjZXNza2V5PSJuIiBocmVmPSJsaWJ4bWwyLXZhbGlkLmh0bWwiPgorICAgICAgICAgICAgPGltZyBzcmM9InJpZ2h0LnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iTmV4dCIvPgorICAgICAgICAgIDwvYT4KKyAgICAgICAgPC90ZD4KKyAgICAgICAgPHRoIHdpZHRoPSIxMDAlIiBhbGlnbj0iY2VudGVyIj5saWJ4bWwyIFJlZmVyZW5jZSBNYW51YWw8L3RoPgorICAgICAgPC90cj4KKyAgICA8L3RhYmxlPgorICAgIDxoMj4KKyAgICAgIDxzcGFuIGNsYXNzPSJyZWZlbnRyeXRpdGxlIj51cmk8L3NwYW4+CisgICAgPC9oMj4KKyAgICA8cD51cmkgLSBsaWJyYXJ5IG9mIGdlbmVyaWMgVVJJIHJlbGF0ZWQgcm91dGluZXM8L3A+CisgICAgPHA+bGlicmFyeSBvZiBnZW5lcmljIFVSSSByZWxhdGVkIHJvdXRpbmVzIEltcGxlbWVudHMgUkZDIDIzOTYgPC9wPgorICAgIDxwPkF1dGhvcihzKTogRGFuaWVsIFZlaWxsYXJkIDwvcD4KKyAgICA8ZGl2IGNsYXNzPSJyZWZzeW5vcHNpc2RpdiI+CisgICAgICA8aDI+U3lub3BzaXM8L2gyPgorICAgICAgPHByZSBjbGFzcz0ic3lub3BzaXMiPnR5cGVkZWYgc3RydWN0IF94bWxVUkkgPGEgaHJlZj0iI3htbFVSSSI+eG1sVVJJPC9hPjsKK3R5cGVkZWYgPGEgaHJlZj0ibGlieG1sMi11cmkuaHRtbCN4bWxVUkkiPnhtbFVSSTwvYT4gKiA8YSBocmVmPSIjeG1sVVJJUHRyIj54bWxVUklQdHI8L2E+OworaW50CTxhIGhyZWY9IiN4bWxOb3JtYWxpemVVUklQYXRoIj54bWxOb3JtYWxpemVVUklQYXRoPC9hPgkJKGNoYXIgKiBwYXRoKTsKK3ZvaWQJPGEgaHJlZj0iI3htbFByaW50VVJJIj54bWxQcmludFVSSTwvYT4JCQkoRklMRSAqIHN0cmVhbSwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXVyaS5odG1sI3htbFVSSVB0ciI+eG1sVVJJUHRyPC9hPiB1cmkpOworPGEgaHJlZj0ibGlieG1sMi11cmkuaHRtbCN4bWxVUklQdHIiPnhtbFVSSVB0cjwvYT4JPGEgaHJlZj0iI3htbFBhcnNlVVJJUmF3Ij54bWxQYXJzZVVSSVJhdzwvYT4JCShjb25zdCBjaGFyICogc3RyLCA8YnIvPgkJCQkJIGludCByYXcpOworY2hhciAqCTxhIGhyZWY9IiN4bWxVUklVbmVzY2FwZVN0cmluZyI+eG1sVVJJVW5lc2NhcGVTdHJpbmc8L2E+CQkoY29uc3QgY2hhciAqIHN0ciwgPGJyLz4JCQkJCSBpbnQgbGVuLCA8YnIvPgkJCQkJIGNoYXIgKiB0YXJnZXQpOworPGEgaHJlZj0ibGlieG1sMi11cmkuaHRtbCN4bWxVUklQdHIiPnhtbFVSSVB0cjwvYT4JPGEgaHJlZj0iI3htbFBhcnNlVVJJIj54bWxQYXJzZVVSSTwvYT4JCShjb25zdCBjaGFyICogc3RyKTsKKzxhIGhyZWY9ImxpYnhtbDItdXJpLmh0bWwjeG1sVVJJUHRyIj54bWxVUklQdHI8L2E+CTxhIGhyZWY9IiN4bWxDcmVhdGVVUkkiPnhtbENyZWF0ZVVSSTwvYT4JCSh2b2lkKTsKKzxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sVVJJRXNjYXBlU3RyIj54bWxVUklFc2NhcGVTdHI8L2E+CQkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0ciwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbGlzdCk7Cis8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbFBhdGhUb1VSSSI+eG1sUGF0aFRvVVJJPC9hPgkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwYXRoKTsKKzxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sQ2Fub25pY1BhdGgiPnhtbENhbm9uaWNQYXRoPC9hPgkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwYXRoKTsKK3ZvaWQJPGEgaHJlZj0iI3htbEZyZWVVUkkiPnhtbEZyZWVVUkk8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbDItdXJpLmh0bWwjeG1sVVJJUHRyIj54bWxVUklQdHI8L2E+IHVyaSk7CitpbnQJPGEgaHJlZj0iI3htbFBhcnNlVVJJUmVmZXJlbmNlIj54bWxQYXJzZVVSSVJlZmVyZW5jZTwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXVyaS5odG1sI3htbFVSSVB0ciI+eG1sVVJJUHRyPC9hPiB1cmksIDxici8+CQkJCQkgY29uc3QgY2hhciAqIHN0cik7Cis8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbEJ1aWxkUmVsYXRpdmVVUkkiPnhtbEJ1aWxkUmVsYXRpdmVVUkk8L2E+CShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogVVJJLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBiYXNlKTsKKzxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sU2F2ZVVyaSI+eG1sU2F2ZVVyaTwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXVyaS5odG1sI3htbFVSSVB0ciI+eG1sVVJJUHRyPC9hPiB1cmkpOworPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxVUklFc2NhcGUiPnhtbFVSSUVzY2FwZTwvYT4JCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3RyKTsKKzxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sQnVpbGRVUkkiPnhtbEJ1aWxkVVJJPC9hPgkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBVUkksIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGJhc2UpOworPC9wcmU+CisgICAgPC9kaXY+CisgICAgPGRpdiBjbGFzcz0icmVmc2VjdDEiIGxhbmc9ImVuIj4KKyAgICAgIDxoMj5EZXNjcmlwdGlvbjwvaDI+CisgICAgPC9kaXY+CisgICAgPGRpdiBjbGFzcz0icmVmc2VjdDEiIGxhbmc9ImVuIj4KKyAgICAgIDxoMj5EZXRhaWxzPC9oMj4KKyAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFVSSSI+U3RydWN0dXJlIDwvYT54bWxVUkk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5zdHJ1Y3QgX3htbFVSSSB7CisgICAgY2hhciAqCXNjaGVtZQk6IHRoZSBVUkkgc2NoZW1lCisgICAgY2hhciAqCW9wYXF1ZQk6IG9wYXF1ZSBwYXJ0CisgICAgY2hhciAqCWF1dGhvcml0eQk6IHRoZSBhdXRob3JpdHkgcGFydAorICAgIGNoYXIgKglzZXJ2ZXIJOiB0aGUgc2VydmVyIHBhcnQKKyAgICBjaGFyICoJdXNlcgk6IHRoZSB1c2VyIHBhcnQKKyAgICBpbnQJcG9ydAk6IHRoZSBwb3J0IG51bWJlcgorICAgIGNoYXIgKglwYXRoCTogdGhlIHBhdGggc3RyaW5nCisgICAgY2hhciAqCXF1ZXJ5CTogdGhlIHF1ZXJ5IHN0cmluZyAoZGVwcmVjYXRlZCAtIHVzZSB3aXRoIGNhdXRpb24pCisgICAgY2hhciAqCWZyYWdtZW50CTogdGhlIGZyYWdtZW50IGlkZW50aWZpZXIKKyAgICBpbnQJY2xlYW51cAk6IHBhcnNpbmcgcG90ZW50aWFsbHkgdW5jbGVhbiBVUkkKKyAgICBjaGFyICoJcXVlcnlfcmF3CTogdGhlIHF1ZXJ5IHN0cmluZyAoYXMgaXQgYXBwZWFycyBpbiB0aGUgVVJJKQorfSB4bWxVUkk7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVVJJUHRyIj5UeXBlZGVmIDwvYT54bWxVUklQdHI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXVyaS5odG1sI3htbFVSSSI+eG1sVVJJPC9hPiAqIHhtbFVSSVB0cjsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxCdWlsZFJlbGF0aXZlVVJJIi8+eG1sQnVpbGRSZWxhdGl2ZVVSSSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxCdWlsZFJlbGF0aXZlVVJJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogVVJJLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBiYXNlKTxici8+Cis8L3ByZT48cD5FeHByZXNzZXMgdGhlIFVSSSBvZiB0aGUgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNyZWZlcmVuY2UiPnJlZmVyZW5jZTwvYT4gaW4gdGVybXMgcmVsYXRpdmUgdG8gdGhlIGJhc2UuIFNvbWUgZXhhbXBsZXMgb2YgdGhpcyBvcGVyYXRpb24gaW5jbHVkZTogYmFzZSA9ICJodHRwOi8vc2l0ZTEuY29tL2RvY3MvYm9vazEuaHRtbCIgVVJJIGlucHV0IFVSSSByZXR1cm5lZCBkb2NzL3BpYzEuZ2lmIHBpYzEuZ2lmIGRvY3MvaW1nL3BpYzEuZ2lmIGltZy9waWMxLmdpZiBpbWcvcGljMS5naWYgLi4vaW1nL3BpYzEuZ2lmIGh0dHA6Ly9zaXRlMS5jb20vZG9jcy9waWMxLmdpZiBwaWMxLmdpZiBodHRwOi8vc2l0ZTIuY29tL2RvY3MvcGljMS5naWYgaHR0cDovL3NpdGUyLmNvbS9kb2NzL3BpYzEuZ2lmIGJhc2UgPSAiZG9jcy9ib29rMS5odG1sIiBVUkkgaW5wdXQgVVJJIHJldHVybmVkIGRvY3MvcGljMS5naWYgcGljMS5naWYgZG9jcy9pbWcvcGljMS5naWYgaW1nL3BpYzEuZ2lmIGltZy9waWMxLmdpZiAuLi9pbWcvcGljMS5naWYgaHR0cDovL3NpdGUxLmNvbS9kb2NzL3BpYzEuZ2lmIGh0dHA6Ly9zaXRlMS5jb20vZG9jcy9waWMxLmdpZiBOb3RlOiBpZiB0aGUgVVJJIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjcmVmZXJlbmNlIj5yZWZlcmVuY2U8L2E+IGlzIHJlYWxseSB3aWVyZCBvciBjb21wbGljYXRlZCwgaXQgbWF5IGJlIHdvcnRod2hpbGUgdG8gZmlyc3QgY29udmVydCBpdCBpbnRvIGEgIm5pY2UiIG9uZSBieSBjYWxsaW5nIDxhIGhyZWY9ImxpYnhtbDItdXJpLmh0bWwjeG1sQnVpbGRVUkkiPnhtbEJ1aWxkVVJJPC9hPiAodXNpbmcgJ2Jhc2UnKSBiZWZvcmUgY2FsbGluZyB0aGlzIHJvdXRpbmUsIHNpbmNlIHRoaXMgcm91dGluZSAoZm9yIHJlYXNvbmFibGUgZWZmaWNpZW5jeSkgYXNzdW1lcyBVUkkgaGFzIGFscmVhZHkgYmVlbiB0aHJvdWdoIHNvbWUgdmFsaWRhdGlvbi48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlVSSTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFVSSSA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI3JlZmVyZW5jZSI+cmVmZXJlbmNlPC9hPiB1bmRlciBjb25zaWRlcmF0aW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5iYXNlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYmFzZSB2YWx1ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBuZXcgVVJJIHN0cmluZyAodG8gYmUgZnJlZWQgYnkgdGhlIGNhbGxlcikgb3IgTlVMTCBpbiBjYXNlIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEJ1aWxkVVJJIi8+eG1sQnVpbGRVUkkgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sQnVpbGRVUkkJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogVVJJLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBiYXNlKTxici8+Cis8L3ByZT48cD5Db21wdXRlcyBoZSBmaW5hbCBVUkkgb2YgdGhlIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjcmVmZXJlbmNlIj5yZWZlcmVuY2U8L2E+IGRvbmUgYnkgY2hlY2tpbmcgdGhhdCB0aGUgZ2l2ZW4gVVJJIGlzIHZhbGlkLCBhbmQgYnVpbGRpbmcgdGhlIGZpbmFsIFVSSSB1c2luZyB0aGUgYmFzZSBVUkkuIFRoaXMgaXMgcHJvY2Vzc2VkIGFjY29yZGluZyB0byBzZWN0aW9uIDUuMiBvZiB0aGUgUkZDIDIzOTYgNS4yLiBSZXNvbHZpbmcgUmVsYXRpdmUgUmVmZXJlbmNlcyB0byBBYnNvbHV0ZSBGb3JtPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5VUkk8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBVUkkgaW5zdGFuY2UgZm91bmQgaW4gdGhlIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5iYXNlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYmFzZSB2YWx1ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBuZXcgVVJJIHN0cmluZyAodG8gYmUgZnJlZWQgYnkgdGhlIGNhbGxlcikgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbENhbm9uaWNQYXRoIi8+eG1sQ2Fub25pY1BhdGggKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sQ2Fub25pY1BhdGgJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcGF0aCk8YnIvPgorPC9wcmU+PHA+Q29uc3RydWN0cyBhIGNhbm9uaWMgcGF0aCBmcm9tIHRoZSBzcGVjaWZpZWQgcGF0aC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnBhdGg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSByZXNvdXJjZSBsb2NhdG9yIGluIGEgZmlsZXN5c3RlbSBub3RhdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBuZXcgY2Fub25pYyBwYXRoLCBvciBhIGR1cGxpY2F0ZSBvZiB0aGUgcGF0aCBwYXJhbWV0ZXIgaWYgdGhlIGNvbnN0cnVjdGlvbiBmYWlscy4gVGhlIGNhbGxlciBpcyByZXNwb25zaWJsZSBmb3IgZnJlZWluZyB0aGUgbWVtb3J5IG9jY3VwaWVkIGJ5IHRoZSByZXR1cm5lZCBzdHJpbmcuIElmIHRoZXJlIGlzIGluc3VmZmljaWVudCBtZW1vcnkgYXZhaWxhYmxlLCBvciB0aGUgYXJndW1lbnQgaXMgTlVMTCwgdGhlIGZ1bmN0aW9uIHJldHVybnMgTlVMTC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxDcmVhdGVVUkkiLz54bWxDcmVhdGVVUkkgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXVyaS5odG1sI3htbFVSSVB0ciI+eG1sVVJJUHRyPC9hPgl4bWxDcmVhdGVVUkkJCSh2b2lkKTxici8+Cis8L3ByZT48cD5TaW1wbHkgY3JlYXRlcyBhbiBlbXB0eSA8YSBocmVmPSJsaWJ4bWwyLXVyaS5odG1sI3htbFVSSSI+eG1sVVJJPC9hPjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ldyBzdHJ1Y3R1cmUgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sRnJlZVVSSSIvPnhtbEZyZWVVUkkgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbEZyZWVVUkkJCQkoPGEgaHJlZj0ibGlieG1sMi11cmkuaHRtbCN4bWxVUklQdHIiPnhtbFVSSVB0cjwvYT4gdXJpKTxici8+Cis8L3ByZT48cD5GcmVlIHVwIHRoZSA8YSBocmVmPSJsaWJ4bWwyLXVyaS5odG1sI3htbFVSSSI+eG1sVVJJPC9hPiBzdHJ1Y3Q8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnVyaTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+cG9pbnRlciB0byBhbiA8YSBocmVmPSJsaWJ4bWwyLXVyaS5odG1sI3htbFVSSSI+eG1sVVJJPC9hPjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE5vcm1hbGl6ZVVSSVBhdGgiLz54bWxOb3JtYWxpemVVUklQYXRoICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbE5vcm1hbGl6ZVVSSVBhdGgJCShjaGFyICogcGF0aCk8YnIvPgorPC9wcmU+PHA+QXBwbGllcyB0aGUgNSBub3JtYWxpemF0aW9uIHN0ZXBzIHRvIGEgcGF0aCBzdHJpbmctLXRoYXQgaXMsIFJGQyAyMzk2IFNlY3Rpb24gNS4yLCBzdGVwcyA2LmMgdGhyb3VnaCA2LmcuIE5vcm1hbGl6YXRpb24gb2NjdXJzIGRpcmVjdGx5IG9uIHRoZSBzdHJpbmcsIG5vIG5ldyBhbGxvY2F0aW9uIGlzIGRvbmU8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnBhdGg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnBvaW50ZXIgdG8gdGhlIHBhdGggc3RyaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIG9yIGFuIGVycm9yIGNvZGU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxQYXJzZVVSSSIvPnhtbFBhcnNlVVJJICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi11cmkuaHRtbCN4bWxVUklQdHIiPnhtbFVSSVB0cjwvYT4JeG1sUGFyc2VVUkkJCShjb25zdCBjaGFyICogc3RyKTxici8+Cis8L3ByZT48cD5QYXJzZSBhbiBVUkkgYmFzZWQgb24gUkZDIDM5ODYgVVJJLXJlZmVyZW5jZSA9IFsgYWJzb2x1dGVVUkkgfCByZWxhdGl2ZVVSSSBdIFsgIiMiIGZyYWdtZW50IF08L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFVSSSBzdHJpbmcgdG8gYW5hbHl6ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBuZXdseSBidWlsdCA8YSBocmVmPSJsaWJ4bWwyLXVyaS5odG1sI3htbFVSSVB0ciI+eG1sVVJJUHRyPC9hPiBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxQYXJzZVVSSVJhdyIvPnhtbFBhcnNlVVJJUmF3ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi11cmkuaHRtbCN4bWxVUklQdHIiPnhtbFVSSVB0cjwvYT4JeG1sUGFyc2VVUklSYXcJCShjb25zdCBjaGFyICogc3RyLCA8YnIvPgkJCQkJIGludCByYXcpPGJyLz4KKzwvcHJlPjxwPlBhcnNlIGFuIFVSSSBidXQgYWxsb3dzIHRvIGtlZXAgaW50YWN0IHRoZSBvcmlnaW5hbCBmcmFnbWVudHMuIFVSSS1yZWZlcmVuY2UgPSBVUkkgLyByZWxhdGl2ZS1yZWY8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFVSSSBzdHJpbmcgdG8gYW5hbHl6ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmF3PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5pZiAxIHVuZXNjYXBpbmcgb2YgVVJJIHBpZWNlcyBhcmUgZGlzYWJsZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbmV3bHkgYnVpbHQgPGEgaHJlZj0ibGlieG1sMi11cmkuaHRtbCN4bWxVUklQdHIiPnhtbFVSSVB0cjwvYT4gb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUGFyc2VVUklSZWZlcmVuY2UiLz54bWxQYXJzZVVSSVJlZmVyZW5jZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxQYXJzZVVSSVJlZmVyZW5jZQkJKDxhIGhyZWY9ImxpYnhtbDItdXJpLmh0bWwjeG1sVVJJUHRyIj54bWxVUklQdHI8L2E+IHVyaSwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogc3RyKTxici8+Cis8L3ByZT48cD5QYXJzZSBhbiBVUkkgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNyZWZlcmVuY2UiPnJlZmVyZW5jZTwvYT4gc3RyaW5nIGJhc2VkIG9uIFJGQyAzOTg2IGFuZCBmaWxscyBpbiB0aGUgYXBwcm9wcmlhdGUgZmllbGRzIG9mIHRoZSBAdXJpIHN0cnVjdHVyZSBVUkktcmVmZXJlbmNlID0gVVJJIC8gcmVsYXRpdmUtcmVmPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD51cmk8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnBvaW50ZXIgdG8gYW4gVVJJIHN0cnVjdHVyZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3RyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc3RyaW5nIHRvIGFuYWx5emU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgb3IgdGhlIGVycm9yIGNvZGU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxQYXRoVG9VUkkiLz54bWxQYXRoVG9VUkkgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sUGF0aFRvVVJJCQkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHBhdGgpPGJyLz4KKzwvcHJlPjxwPkNvbnN0cnVjdHMgYW4gVVJJIGV4cHJlc3NpbmcgdGhlIGV4aXN0aW5nIHBhdGg8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnBhdGg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSByZXNvdXJjZSBsb2NhdG9yIGluIGEgZmlsZXN5c3RlbSBub3RhdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBuZXcgVVJJLCBvciBhIGR1cGxpY2F0ZSBvZiB0aGUgcGF0aCBwYXJhbWV0ZXIgaWYgdGhlIGNvbnN0cnVjdGlvbiBmYWlscy4gVGhlIGNhbGxlciBpcyByZXNwb25zaWJsZSBmb3IgZnJlZWluZyB0aGUgbWVtb3J5IG9jY3VwaWVkIGJ5IHRoZSByZXR1cm5lZCBzdHJpbmcuIElmIHRoZXJlIGlzIGluc3VmZmljaWVudCBtZW1vcnkgYXZhaWxhYmxlLCBvciB0aGUgYXJndW1lbnQgaXMgTlVMTCwgdGhlIGZ1bmN0aW9uIHJldHVybnMgTlVMTC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxQcmludFVSSSIvPnhtbFByaW50VVJJICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxQcmludFVSSQkJCShGSUxFICogc3RyZWFtLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdXJpLmh0bWwjeG1sVVJJUHRyIj54bWxVUklQdHI8L2E+IHVyaSk8YnIvPgorPC9wcmU+PHA+UHJpbnRzIHRoZSBVUkkgaW4gdGhlIHN0cmVhbSBAc3RyZWFtLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3RyZWFtPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIEZJTEUqIGZvciB0aGUgb3V0cHV0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD51cmk8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnBvaW50ZXIgdG8gYW4gPGEgaHJlZj0ibGlieG1sMi11cmkuaHRtbCN4bWxVUkkiPnhtbFVSSTwvYT48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTYXZlVXJpIi8+eG1sU2F2ZVVyaSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxTYXZlVXJpCQkoPGEgaHJlZj0ibGlieG1sMi11cmkuaHRtbCN4bWxVUklQdHIiPnhtbFVSSVB0cjwvYT4gdXJpKTxici8+Cis8L3ByZT48cD5TYXZlIHRoZSBVUkkgYXMgYW4gZXNjYXBlZCBzdHJpbmc8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnVyaTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+cG9pbnRlciB0byBhbiA8YSBocmVmPSJsaWJ4bWwyLXVyaS5odG1sI3htbFVSSSI+eG1sVVJJPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBuZXcgc3RyaW5nICh0byBiZSBkZWFsbG9jYXRlZCBieSBjYWxsZXIpPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVVJJRXNjYXBlIi8+eG1sVVJJRXNjYXBlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbFVSSUVzY2FwZQkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzdHIpPGJyLz4KKzwvcHJlPjxwPkVzY2FwaW5nIHJvdXRpbmUsIGRvZXMgbm90IGRvIHZhbGlkaXR5IGNoZWNrcyAhIEl0IHdpbGwgdHJ5IHRvIGVzY2FwZSB0aGUgY2hhcnMgbmVlZGluZyB0aGlzLCBidXQgdGhpcyBpcyBoZXVyaXN0aWMgYmFzZWQgaXQncyBpbXBvc3NpYmxlIHRvIGJlIHN1cmUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdHI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzdHJpbmcgb2YgdGhlIFVSSSB0byBlc2NhcGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIGNvcHkgb2YgdGhlIHN0cmluZywgYnV0IGVzY2FwZWQgMjUgTWF5IDIwMDEgVXNlcyA8YSBocmVmPSJsaWJ4bWwyLXVyaS5odG1sI3htbFBhcnNlVVJJIj54bWxQYXJzZVVSSTwvYT4gYW5kIDxhIGhyZWY9ImxpYnhtbDItdXJpLmh0bWwjeG1sVVJJRXNjYXBlU3RyIj54bWxVUklFc2NhcGVTdHI8L2E+IHRvIHRyeSB0byBlc2NhcGUgY29ycmVjdGx5IGFjY29yZGluZyB0byBSRkMyMzk2LiAtIENhcmwgRG91Z2xhczwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFVSSUVzY2FwZVN0ciIvPnhtbFVSSUVzY2FwZVN0ciAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxVUklFc2NhcGVTdHIJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3RyLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBsaXN0KTxici8+Cis8L3ByZT48cD5UaGlzIHJvdXRpbmUgZXNjYXBlcyBhIHN0cmluZyB0byBoZXgsIGlnbm9yaW5nIHJlc2VydmVkIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjY2hhcmFjdGVycyI+Y2hhcmFjdGVyczwvYT4gKGEteikgYW5kIHRoZSA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2NoYXJhY3RlcnMiPmNoYXJhY3RlcnM8L2E+IGluIHRoZSBleGNlcHRpb24gbGlzdC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+c3RyaW5nIHRvIGVzY2FwZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGlzdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+ZXhjZXB0aW9uIGxpc3Qgc3RyaW5nIG9mIGNoYXJzIG5vdCB0byBlc2NhcGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbmV3IGVzY2FwZWQgc3RyaW5nIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxVUklVbmVzY2FwZVN0cmluZyIvPnhtbFVSSVVuZXNjYXBlU3RyaW5nICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Y2hhciAqCXhtbFVSSVVuZXNjYXBlU3RyaW5nCQkoY29uc3QgY2hhciAqIHN0ciwgPGJyLz4JCQkJCSBpbnQgbGVuLCA8YnIvPgkJCQkJIGNoYXIgKiB0YXJnZXQpPGJyLz4KKzwvcHJlPjxwPlVuZXNjYXBpbmcgcm91dGluZSwgYnV0IGRvZXMgbm90IGNoZWNrIHRoYXQgdGhlIHN0cmluZyBpcyBhbiBVUkkuIFRoZSBvdXRwdXQgaXMgYSBkaXJlY3QgdW5zaWduZWQgY2hhciB0cmFuc2xhdGlvbiBvZiAlWFggdmFsdWVzIChubyBlbmNvZGluZykgTm90ZSB0aGF0IHRoZSBsZW5ndGggb2YgdGhlIHJlc3VsdCBjYW4gb25seSBiZSBzbWFsbGVyIG9yIHNhbWUgc2l6ZSBhcyB0aGUgaW5wdXQgc3RyaW5nLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3RyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc3RyaW5nIHRvIHVuZXNjYXBlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsZW5ndGggaW4gYnl0ZXMgdG8gdW5lc2NhcGUgKG9yICZsdDs9IDAgdG8gaW5kaWNhdGUgZnVsbCBzdHJpbmcpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50YXJnZXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPm9wdGlvbmFsIGRlc3RpbmF0aW9uIGJ1ZmZlcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBjb3B5IG9mIHRoZSBzdHJpbmcsIGJ1dCB1bmVzY2FwZWQsIHdpbGwgcmV0dXJuIE5VTEwgb25seSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgIDwvZGl2PgorICAgIDwvZGl2PgorICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9kZXZoZWxwL2xpYnhtbDItdmFsaWQuaHRtbCBiL2xpYnhtbDIvZG9jL2RldmhlbHAvbGlieG1sMi12YWxpZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZjYjY4ZTcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9kZXZoZWxwL2xpYnhtbDItdmFsaWQuaHRtbApAQCAtMCwwICsxLDUyOCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxodG1sPgorICA8aGVhZD4KKyAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIvPgorICAgIDx0aXRsZT52YWxpZDogVGhlIERURCB2YWxpZGF0aW9uPC90aXRsZT4KKyAgICA8bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9IkxpYnhtbDIgZGV2aGVscCBzdHlsZXNoZWV0Ii8+CisgICAgPGxpbmsgcmVsPSJzdGFydCIgaHJlZj0iaW5kZXguaHRtbCIgdGl0bGU9ImxpYnhtbDIgUmVmZXJlbmNlIE1hbnVhbCIvPgorICAgIDxsaW5rIHJlbD0idXAiIGhyZWY9ImdlbmVyYWwuaHRtbCIgdGl0bGU9IkFQSSIvPgorICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0ic3R5bGUuY3NzIiB0eXBlPSJ0ZXh0L2NzcyIvPgorICAgIDxsaW5rIHJlbD0iY2hhcHRlciIgaHJlZj0iZ2VuZXJhbC5odG1sIiB0aXRsZT0iQVBJIi8+CisgIDwvaGVhZD4KKyAgPGJvZHkgYmdjb2xvcj0id2hpdGUiIHRleHQ9ImJsYWNrIiBsaW5rPSIjMDAwMEZGIiB2bGluaz0iIzg0MDA4NCIgYWxpbms9IiMwMDAwRkYiPgorICAgIDx0YWJsZSBjbGFzcz0ibmF2aWdhdGlvbiIgd2lkdGg9IjEwMCUiIHN1bW1hcnk9Ik5hdmlnYXRpb24gaGVhZGVyIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjIiPgorICAgICAgPHRyIHZhbGlnbj0ibWlkZGxlIj4KKyAgICAgICAgPHRkPgorICAgICAgICAgIDxhIGFjY2Vzc2tleT0icCIgaHJlZj0ibGlieG1sMi11cmkuaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0ibGVmdC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlByZXYiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9InUiIGhyZWY9ImdlbmVyYWwuaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0idXAucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJVcCIvPgorICAgICAgICAgIDwvYT4KKyAgICAgICAgPC90ZD4KKyAgICAgICAgPHRkPgorICAgICAgICAgIDxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iaW5kZXguaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0iaG9tZS5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IkhvbWUiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9Im4iIGhyZWY9ImxpYnhtbDIteGluY2x1ZGUuaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0icmlnaHQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJOZXh0Ii8+CisgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGggd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPmxpYnhtbDIgUmVmZXJlbmNlIE1hbnVhbDwvdGg+CisgICAgICA8L3RyPgorICAgIDwvdGFibGU+CisgICAgPGgyPgorICAgICAgPHNwYW4gY2xhc3M9InJlZmVudHJ5dGl0bGUiPnZhbGlkPC9zcGFuPgorICAgIDwvaDI+CisgICAgPHA+dmFsaWQgLSBUaGUgRFREIHZhbGlkYXRpb248L3A+CisgICAgPHA+QVBJIGZvciB0aGUgRFREIGhhbmRsaW5nIGFuZCB0aGUgdmFsaWRpdHkgY2hlY2tpbmcgPC9wPgorICAgIDxwPkF1dGhvcihzKTogRGFuaWVsIFZlaWxsYXJkIDwvcD4KKyAgICA8ZGl2IGNsYXNzPSJyZWZzeW5vcHNpc2RpdiI+CisgICAgICA8aDI+U3lub3BzaXM8L2gyPgorICAgICAgPHByZSBjbGFzcz0ic3lub3BzaXMiPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9DVFhUX0ZJTklTSF9EVERfMCI+WE1MX0NUWFRfRklOSVNIX0RURF8wPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI1hNTF9DVFhUX0ZJTklTSF9EVERfMSI+WE1MX0NUWFRfRklOSVNIX0RURF8xPC9hPjsKK3R5cGVkZWYgc3RydWN0IF94bWxIYXNoVGFibGUgPGEgaHJlZj0iI3htbEVsZW1lbnRUYWJsZSI+eG1sRWxlbWVudFRhYmxlPC9hPjsKK3R5cGVkZWYgPGEgaHJlZj0ibGlieG1sMi12YWxpZC5odG1sI3htbFZhbGlkU3RhdGUiPnhtbFZhbGlkU3RhdGU8L2E+ICogPGEgaHJlZj0iI3htbFZhbGlkU3RhdGVQdHIiPnhtbFZhbGlkU3RhdGVQdHI8L2E+OwordHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sSURUYWJsZSI+eG1sSURUYWJsZTwvYT4gKiA8YSBocmVmPSIjeG1sSURUYWJsZVB0ciI+eG1sSURUYWJsZVB0cjwvYT47Cit0eXBlZGVmIDxhIGhyZWY9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxOb3RhdGlvblRhYmxlIj54bWxOb3RhdGlvblRhYmxlPC9hPiAqIDxhIGhyZWY9IiN4bWxOb3RhdGlvblRhYmxlUHRyIj54bWxOb3RhdGlvblRhYmxlUHRyPC9hPjsKK3R5cGVkZWYgc3RydWN0IF94bWxWYWxpZEN0eHQgPGEgaHJlZj0iI3htbFZhbGlkQ3R4dCI+eG1sVmFsaWRDdHh0PC9hPjsKK3R5cGVkZWYgPGEgaHJlZj0ibGlieG1sMi12YWxpZC5odG1sI3htbEVsZW1lbnRUYWJsZSI+eG1sRWxlbWVudFRhYmxlPC9hPiAqIDxhIGhyZWY9IiN4bWxFbGVtZW50VGFibGVQdHIiPnhtbEVsZW1lbnRUYWJsZVB0cjwvYT47Cit0eXBlZGVmIDxhIGhyZWY9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxSZWZUYWJsZSI+eG1sUmVmVGFibGU8L2E+ICogPGEgaHJlZj0iI3htbFJlZlRhYmxlUHRyIj54bWxSZWZUYWJsZVB0cjwvYT47Cit0eXBlZGVmIHN0cnVjdCBfeG1sSGFzaFRhYmxlIDxhIGhyZWY9IiN4bWxOb3RhdGlvblRhYmxlIj54bWxOb3RhdGlvblRhYmxlPC9hPjsKK3R5cGVkZWYgc3RydWN0IF94bWxIYXNoVGFibGUgPGEgaHJlZj0iI3htbFJlZlRhYmxlIj54bWxSZWZUYWJsZTwvYT47Cit0eXBlZGVmIHN0cnVjdCBfeG1sVmFsaWRTdGF0ZSA8YSBocmVmPSIjeG1sVmFsaWRTdGF0ZSI+eG1sVmFsaWRTdGF0ZTwvYT47Cit0eXBlZGVmIHN0cnVjdCBfeG1sSGFzaFRhYmxlIDxhIGhyZWY9IiN4bWxBdHRyaWJ1dGVUYWJsZSI+eG1sQXR0cmlidXRlVGFibGU8L2E+OwordHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sQXR0cmlidXRlVGFibGUiPnhtbEF0dHJpYnV0ZVRhYmxlPC9hPiAqIDxhIGhyZWY9IiN4bWxBdHRyaWJ1dGVUYWJsZVB0ciI+eG1sQXR0cmlidXRlVGFibGVQdHI8L2E+OwordHlwZWRlZiBzdHJ1Y3QgX3htbEhhc2hUYWJsZSA8YSBocmVmPSIjeG1sSURUYWJsZSI+eG1sSURUYWJsZTwvYT47Cit0eXBlZGVmIDxhIGhyZWY9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxWYWxpZEN0eHQiPnhtbFZhbGlkQ3R4dDwvYT4gKiA8YSBocmVmPSIjeG1sVmFsaWRDdHh0UHRyIj54bWxWYWxpZEN0eHRQdHI8L2E+Owordm9pZAk8YSBocmVmPSIjeG1sRnJlZU5vdGF0aW9uVGFibGUiPnhtbEZyZWVOb3RhdGlvblRhYmxlPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxOb3RhdGlvblRhYmxlUHRyIj54bWxOb3RhdGlvblRhYmxlUHRyPC9hPiB0YWJsZSk7CitpbnQJPGEgaHJlZj0iI3htbFZhbGlkYXRlTmFtZVZhbHVlIj54bWxWYWxpZGF0ZU5hbWVWYWx1ZTwvYT4JCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUpOwordm9pZAk8YSBocmVmPSIjeG1sU25wcmludGZFbGVtZW50Q29udGVudCI+eG1sU25wcmludGZFbGVtZW50Q29udGVudDwvYT4JKGNoYXIgKiBidWYsIDxici8+CQkJCQkgaW50IHNpemUsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRWxlbWVudENvbnRlbnRQdHIiPnhtbEVsZW1lbnRDb250ZW50UHRyPC9hPiBjb250ZW50LCA8YnIvPgkJCQkJIGludCBlbmdsb2IpOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUmVmUHRyIj54bWxSZWZQdHI8L2E+CTxhIGhyZWY9IiN4bWxBZGRSZWYiPnhtbEFkZFJlZjwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sVmFsaWRDdHh0UHRyIj54bWxWYWxpZEN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQXR0clB0ciI+eG1sQXR0clB0cjwvYT4gYXR0cik7Cit2b2lkCTxhIGhyZWY9IiN4bWxEdW1wQXR0cmlidXRlRGVjbCI+eG1sRHVtcEF0dHJpYnV0ZURlY2w8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQnVmZmVyUHRyIj54bWxCdWZmZXJQdHI8L2E+IGJ1ZiwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxBdHRyaWJ1dGVQdHIiPnhtbEF0dHJpYnV0ZVB0cjwvYT4gYXR0cik7CitpbnQJPGEgaHJlZj0iI3htbFZhbGlkYXRlRG9jdW1lbnRGaW5hbCI+eG1sVmFsaWRhdGVEb2N1bWVudEZpbmFsPC9hPgkoPGEgaHJlZj0ibGlieG1sMi12YWxpZC5odG1sI3htbFZhbGlkQ3R4dFB0ciI+eG1sVmFsaWRDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MpOworaW50CTxhIGhyZWY9IiN4bWxWYWxpZGF0ZUR0ZEZpbmFsIj54bWxWYWxpZGF0ZUR0ZEZpbmFsPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxWYWxpZEN0eHRQdHIiPnhtbFZhbGlkQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jKTsKK3ZvaWQJPGEgaHJlZj0iI3htbER1bXBBdHRyaWJ1dGVUYWJsZSI+eG1sRHVtcEF0dHJpYnV0ZVRhYmxlPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEJ1ZmZlclB0ciI+eG1sQnVmZmVyUHRyPC9hPiBidWYsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi12YWxpZC5odG1sI3htbEF0dHJpYnV0ZVRhYmxlUHRyIj54bWxBdHRyaWJ1dGVUYWJsZVB0cjwvYT4gdGFibGUpOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRW51bWVyYXRpb25QdHIiPnhtbEVudW1lcmF0aW9uUHRyPC9hPgk8YSBocmVmPSIjeG1sQ3JlYXRlRW51bWVyYXRpb24iPnhtbENyZWF0ZUVudW1lcmF0aW9uPC9hPgkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpOworaW50CTxhIGhyZWY9IiN4bWxWYWxpZGF0ZU9uZUF0dHJpYnV0ZSI+eG1sVmFsaWRhdGVPbmVBdHRyaWJ1dGU8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi12YWxpZC5odG1sI3htbFZhbGlkQ3R4dFB0ciI+eG1sVmFsaWRDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gZWxlbSwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxBdHRyUHRyIj54bWxBdHRyUHRyPC9hPiBhdHRyLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB2YWx1ZSk7CitpbnQJPGEgaHJlZj0iI3htbFZhbGlkR2V0VmFsaWRFbGVtZW50cyI+eG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzPC9hPgkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZSI+eG1sTm9kZTwvYT4gKiBwcmV2LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGUiPnhtbE5vZGU8L2E+ICogbmV4dCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoqIG5hbWVzLCA8YnIvPgkJCQkJIGludCBtYXgpOworaW50CTxhIGhyZWY9IiN4bWxJc01peGVkRWxlbWVudCI+eG1sSXNNaXhlZEVsZW1lbnQ8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSk7Cit2b2lkCTxhIGhyZWY9IiN4bWxEdW1wTm90YXRpb25EZWNsIj54bWxEdW1wTm90YXRpb25EZWNsPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEJ1ZmZlclB0ciI+eG1sQnVmZmVyUHRyPC9hPiBidWYsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm90YXRpb25QdHIiPnhtbE5vdGF0aW9uUHRyPC9hPiBub3RhKTsKK2ludAk8YSBocmVmPSIjeG1sSXNJRCI+eG1sSXNJRDwvYT4JCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBlbGVtLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEF0dHJQdHIiPnhtbEF0dHJQdHI8L2E+IGF0dHIpOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQXR0cmlidXRlUHRyIj54bWxBdHRyaWJ1dGVQdHI8L2E+CTxhIGhyZWY9IiN4bWxHZXREdGRRQXR0ckRlc2MiPnhtbEdldER0ZFFBdHRyRGVzYzwvYT4JKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbER0ZFB0ciI+eG1sRHRkUHRyPC9hPiBkdGQsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGVsZW0sIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHByZWZpeCk7Cis8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxFbGVtZW50Q29udGVudFB0ciI+eG1sRWxlbWVudENvbnRlbnRQdHI8L2E+CTxhIGhyZWY9IiN4bWxOZXdEb2NFbGVtZW50Q29udGVudCI+eG1sTmV3RG9jRWxlbWVudENvbnRlbnQ8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRWxlbWVudENvbnRlbnRUeXBlIj54bWxFbGVtZW50Q29udGVudFR5cGU8L2E+IHR5cGUpOwordm9pZAk8YSBocmVmPSIjeG1sRnJlZUF0dHJpYnV0ZVRhYmxlIj54bWxGcmVlQXR0cmlidXRlVGFibGU8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi12YWxpZC5odG1sI3htbEF0dHJpYnV0ZVRhYmxlUHRyIj54bWxBdHRyaWJ1dGVUYWJsZVB0cjwvYT4gdGFibGUpOwordHlwZWRlZiB2b2lkIDxhIGhyZWY9IiN4bWxWYWxpZGl0eUVycm9yRnVuYyI+eG1sVmFsaWRpdHlFcnJvckZ1bmM8L2E+CQkodm9pZCAqIGN0eCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogbXNnLCA8YnIvPgkJCQkJIC4uLiAuLi4pOworaW50CTxhIGhyZWY9IiN4bWxWYWxpZGF0ZUF0dHJpYnV0ZURlY2wiPnhtbFZhbGlkYXRlQXR0cmlidXRlRGVjbDwvYT4JKDxhIGhyZWY9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxWYWxpZEN0eHRQdHIiPnhtbFZhbGlkQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEF0dHJpYnV0ZVB0ciI+eG1sQXR0cmlidXRlUHRyPC9hPiBhdHRyKTsKKzxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEVsZW1lbnRQdHIiPnhtbEVsZW1lbnRQdHI8L2E+CTxhIGhyZWY9IiN4bWxHZXREdGRRRWxlbWVudERlc2MiPnhtbEdldER0ZFFFbGVtZW50RGVzYzwvYT4JKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbER0ZFB0ciI+eG1sRHRkUHRyPC9hPiBkdGQsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHByZWZpeCk7Cis8YSBocmVmPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sTm90YXRpb25UYWJsZVB0ciI+eG1sTm90YXRpb25UYWJsZVB0cjwvYT4JPGEgaHJlZj0iI3htbENvcHlOb3RhdGlvblRhYmxlIj54bWxDb3B5Tm90YXRpb25UYWJsZTwvYT4JKDxhIGhyZWY9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxOb3RhdGlvblRhYmxlUHRyIj54bWxOb3RhdGlvblRhYmxlUHRyPC9hPiB0YWJsZSk7CitpbnQJPGEgaHJlZj0iI3htbFZhbGlkYXRlRG9jdW1lbnQiPnhtbFZhbGlkYXRlRG9jdW1lbnQ8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi12YWxpZC5odG1sI3htbFZhbGlkQ3R4dFB0ciI+eG1sVmFsaWRDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MpOworaW50CTxhIGhyZWY9IiN4bWxWYWxpZEdldFBvdGVudGlhbENoaWxkcmVuIj54bWxWYWxpZEdldFBvdGVudGlhbENoaWxkcmVuPC9hPgkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRWxlbWVudENvbnRlbnQiPnhtbEVsZW1lbnRDb250ZW50PC9hPiAqIGN0cmVlLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiogbmFtZXMsIDxici8+CQkJCQkgaW50ICogbGVuLCA8YnIvPgkJCQkJIGludCBtYXgpOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm90YXRpb25QdHIiPnhtbE5vdGF0aW9uUHRyPC9hPgk8YSBocmVmPSIjeG1sQWRkTm90YXRpb25EZWNsIj54bWxBZGROb3RhdGlvbkRlY2w8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sVmFsaWRDdHh0UHRyIj54bWxWYWxpZEN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRHRkUHRyIj54bWxEdGRQdHI8L2E+IGR0ZCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogUHVibGljSUQsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIFN5c3RlbUlEKTsKK2ludAk8YSBocmVmPSIjeG1sVmFsaWRhdGVFbGVtZW50RGVjbCI+eG1sVmFsaWRhdGVFbGVtZW50RGVjbDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sVmFsaWRDdHh0UHRyIj54bWxWYWxpZEN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxFbGVtZW50UHRyIj54bWxFbGVtZW50UHRyPC9hPiBlbGVtKTsKKzxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEF0dHJpYnV0ZVB0ciI+eG1sQXR0cmlidXRlUHRyPC9hPgk8YSBocmVmPSIjeG1sQWRkQXR0cmlidXRlRGVjbCI+eG1sQWRkQXR0cmlidXRlRGVjbDwvYT4JKDxhIGhyZWY9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxWYWxpZEN0eHRQdHIiPnhtbFZhbGlkQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEdGRQdHIiPnhtbER0ZFB0cjwvYT4gZHRkLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBlbGVtLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBucywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxBdHRyaWJ1dGVUeXBlIj54bWxBdHRyaWJ1dGVUeXBlPC9hPiB0eXBlLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEF0dHJpYnV0ZURlZmF1bHQiPnhtbEF0dHJpYnV0ZURlZmF1bHQ8L2E+IGRlZiwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogZGVmYXVsdFZhbHVlLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEVudW1lcmF0aW9uUHRyIj54bWxFbnVtZXJhdGlvblB0cjwvYT4gdHJlZSk7Cis8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxBdHRyUHRyIj54bWxBdHRyUHRyPC9hPgk8YSBocmVmPSIjeG1sR2V0SUQiPnhtbEdldElEPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIElEKTsKKzxhIGhyZWY9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxFbGVtZW50VGFibGVQdHIiPnhtbEVsZW1lbnRUYWJsZVB0cjwvYT4JPGEgaHJlZj0iI3htbENvcHlFbGVtZW50VGFibGUiPnhtbENvcHlFbGVtZW50VGFibGU8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sRWxlbWVudFRhYmxlUHRyIj54bWxFbGVtZW50VGFibGVQdHI8L2E+IHRhYmxlKTsKKzxhIGhyZWY9ImxpYnhtbDItbGlzdC5odG1sI3htbExpc3RQdHIiPnhtbExpc3RQdHI8L2E+CTxhIGhyZWY9IiN4bWxHZXRSZWZzIj54bWxHZXRSZWZzPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIElEKTsKK3ZvaWQJPGEgaHJlZj0iI3htbFNwcmludGZFbGVtZW50Q29udGVudCI+eG1sU3ByaW50ZkVsZW1lbnRDb250ZW50PC9hPgkoY2hhciAqIGJ1ZiwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxFbGVtZW50Q29udGVudFB0ciI+eG1sRWxlbWVudENvbnRlbnRQdHI8L2E+IGNvbnRlbnQsIDxici8+CQkJCQkgaW50IGVuZ2xvYik7CitpbnQJPGEgaHJlZj0iI3htbFZhbGlkYXRlT25lRWxlbWVudCI+eG1sVmFsaWRhdGVPbmVFbGVtZW50PC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxWYWxpZEN0eHRQdHIiPnhtbFZhbGlkQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGVsZW0pOworaW50CTxhIGhyZWY9IiN4bWxWYWxpZGF0ZU5tdG9rZW5WYWx1ZSI+eG1sVmFsaWRhdGVObXRva2VuVmFsdWU8L2E+CQkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHZhbHVlKTsKK3ZvaWQJPGEgaHJlZj0iI3htbER1bXBFbGVtZW50VGFibGUiPnhtbER1bXBFbGVtZW50VGFibGU8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQnVmZmVyUHRyIj54bWxCdWZmZXJQdHI8L2E+IGJ1ZiwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sRWxlbWVudFRhYmxlUHRyIj54bWxFbGVtZW50VGFibGVQdHI8L2E+IHRhYmxlKTsKKzxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sVmFsaWRDdHh0Tm9ybWFsaXplQXR0cmlidXRlVmFsdWUiPnhtbFZhbGlkQ3R4dE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlPC9hPgkoPGEgaHJlZj0ibGlieG1sMi12YWxpZC5odG1sI3htbFZhbGlkQ3R4dFB0ciI+eG1sVmFsaWRDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyLz4JCQkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGVsZW0sIDxici8+CQkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB2YWx1ZSk7Cit2b2lkCTxhIGhyZWY9IiN4bWxEdW1wRWxlbWVudERlY2wiPnhtbER1bXBFbGVtZW50RGVjbDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxCdWZmZXJQdHIiPnhtbEJ1ZmZlclB0cjwvYT4gYnVmLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEVsZW1lbnRQdHIiPnhtbEVsZW1lbnRQdHI8L2E+IGVsZW0pOwordm9pZAk8YSBocmVmPSIjeG1sRnJlZUVsZW1lbnRDb250ZW50Ij54bWxGcmVlRWxlbWVudENvbnRlbnQ8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRWxlbWVudENvbnRlbnRQdHIiPnhtbEVsZW1lbnRDb250ZW50UHRyPC9hPiBjdXIpOworaW50CTxhIGhyZWY9IiN4bWxWYWxpZGF0ZU9uZU5hbWVzcGFjZSI+eG1sVmFsaWRhdGVPbmVOYW1lc3BhY2U8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi12YWxpZC5odG1sI3htbFZhbGlkQ3R4dFB0ciI+eG1sVmFsaWRDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gZWxlbSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHJlZml4LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5zUHRyIj54bWxOc1B0cjwvYT4gbnMsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHZhbHVlKTsKK2ludAk8YSBocmVmPSIjeG1sVmFsaWRhdGVQdXNoRWxlbWVudCI+eG1sVmFsaWRhdGVQdXNoRWxlbWVudDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sVmFsaWRDdHh0UHRyIj54bWxWYWxpZEN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBlbGVtLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBxbmFtZSk7CitpbnQJPGEgaHJlZj0iI3htbElzUmVmIj54bWxJc1JlZjwvYT4JCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBlbGVtLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEF0dHJQdHIiPnhtbEF0dHJQdHI8L2E+IGF0dHIpOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRWxlbWVudENvbnRlbnRQdHIiPnhtbEVsZW1lbnRDb250ZW50UHRyPC9hPgk8YSBocmVmPSIjeG1sQ29weURvY0VsZW1lbnRDb250ZW50Ij54bWxDb3B5RG9jRWxlbWVudENvbnRlbnQ8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIvPgkJCQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRWxlbWVudENvbnRlbnRQdHIiPnhtbEVsZW1lbnRDb250ZW50UHRyPC9hPiBjdXIpOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sSURQdHIiPnhtbElEUHRyPC9hPgk8YSBocmVmPSIjeG1sQWRkSUQiPnhtbEFkZElEPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxWYWxpZEN0eHRQdHIiPnhtbFZhbGlkQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB2YWx1ZSwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxBdHRyUHRyIj54bWxBdHRyUHRyPC9hPiBhdHRyKTsKK3ZvaWQJPGEgaHJlZj0iI3htbEZyZWVSZWZUYWJsZSI+eG1sRnJlZVJlZlRhYmxlPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sUmVmVGFibGVQdHIiPnhtbFJlZlRhYmxlUHRyPC9hPiB0YWJsZSk7CitpbnQJPGEgaHJlZj0iI3htbFZhbGlkYXRlTmFtZXNWYWx1ZSI+eG1sVmFsaWRhdGVOYW1lc1ZhbHVlPC9hPgkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB2YWx1ZSk7CitpbnQJPGEgaHJlZj0iI3htbFJlbW92ZUlEIj54bWxSZW1vdmVJRDwvYT4JCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxBdHRyUHRyIj54bWxBdHRyUHRyPC9hPiBhdHRyKTsKK3ZvaWQJPGEgaHJlZj0iI3htbEZyZWVFbGVtZW50VGFibGUiPnhtbEZyZWVFbGVtZW50VGFibGU8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi12YWxpZC5odG1sI3htbEVsZW1lbnRUYWJsZVB0ciI+eG1sRWxlbWVudFRhYmxlUHRyPC9hPiB0YWJsZSk7Cit2b2lkCTxhIGhyZWY9IiN4bWxGcmVlSURUYWJsZSI+eG1sRnJlZUlEVGFibGU8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxJRFRhYmxlUHRyIj54bWxJRFRhYmxlUHRyPC9hPiB0YWJsZSk7Cit2b2lkCTxhIGhyZWY9IiN4bWxGcmVlVmFsaWRDdHh0Ij54bWxGcmVlVmFsaWRDdHh0PC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxWYWxpZEN0eHRQdHIiPnhtbFZhbGlkQ3R4dFB0cjwvYT4gY3VyKTsKKzxhIGhyZWY9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxBdHRyaWJ1dGVUYWJsZVB0ciI+eG1sQXR0cmlidXRlVGFibGVQdHI8L2E+CTxhIGhyZWY9IiN4bWxDb3B5QXR0cmlidXRlVGFibGUiPnhtbENvcHlBdHRyaWJ1dGVUYWJsZTwvYT4JKDxhIGhyZWY9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxBdHRyaWJ1dGVUYWJsZVB0ciI+eG1sQXR0cmlidXRlVGFibGVQdHI8L2E+IHRhYmxlKTsKKzxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEVsZW1lbnRDb250ZW50UHRyIj54bWxFbGVtZW50Q29udGVudFB0cjwvYT4JPGEgaHJlZj0iI3htbENvcHlFbGVtZW50Q29udGVudCI+eG1sQ29weUVsZW1lbnRDb250ZW50PC9hPgkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRWxlbWVudENvbnRlbnRQdHIiPnhtbEVsZW1lbnRDb250ZW50UHRyPC9hPiBjdXIpOworaW50CTxhIGhyZWY9IiN4bWxWYWxpZGF0ZUF0dHJpYnV0ZVZhbHVlIj54bWxWYWxpZGF0ZUF0dHJpYnV0ZVZhbHVlPC9hPgkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQXR0cmlidXRlVHlwZSI+eG1sQXR0cmlidXRlVHlwZTwvYT4gdHlwZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUpOworaW50CTxhIGhyZWY9IiN4bWxSZW1vdmVSZWYiPnhtbFJlbW92ZVJlZjwvYT4JCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxBdHRyUHRyIj54bWxBdHRyUHRyPC9hPiBhdHRyKTsKK3R5cGVkZWYgdm9pZCA8YSBocmVmPSIjeG1sVmFsaWRpdHlXYXJuaW5nRnVuYyI+eG1sVmFsaWRpdHlXYXJuaW5nRnVuYzwvYT4JCSh2b2lkICogY3R4LCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBtc2csIDxici8+CQkJCQkgLi4uIC4uLik7CitpbnQJPGEgaHJlZj0iI3htbFZhbGlkYXRlUG9wRWxlbWVudCI+eG1sVmFsaWRhdGVQb3BFbGVtZW50PC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxWYWxpZEN0eHRQdHIiPnhtbFZhbGlkQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGVsZW0sIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHFuYW1lKTsKK3ZvaWQJPGEgaHJlZj0iI3htbEZyZWVFbnVtZXJhdGlvbiI+eG1sRnJlZUVudW1lcmF0aW9uPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEVudW1lcmF0aW9uUHRyIj54bWxFbnVtZXJhdGlvblB0cjwvYT4gY3VyKTsKKzxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEVudW1lcmF0aW9uUHRyIj54bWxFbnVtZXJhdGlvblB0cjwvYT4JPGEgaHJlZj0iI3htbENvcHlFbnVtZXJhdGlvbiI+eG1sQ29weUVudW1lcmF0aW9uPC9hPgkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRW51bWVyYXRpb25QdHIiPnhtbEVudW1lcmF0aW9uUHRyPC9hPiBjdXIpOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQXR0cmlidXRlUHRyIj54bWxBdHRyaWJ1dGVQdHI8L2E+CTxhIGhyZWY9IiN4bWxHZXREdGRBdHRyRGVzYyI+eG1sR2V0RHRkQXR0ckRlc2M8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEdGRQdHIiPnhtbER0ZFB0cjwvYT4gZHRkLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBlbGVtLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKTsKK2ludAk8YSBocmVmPSIjeG1sVmFsaWRhdGVEdGQiPnhtbFZhbGlkYXRlRHRkPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sVmFsaWRDdHh0UHRyIj54bWxWYWxpZEN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEdGRQdHIiPnhtbER0ZFB0cjwvYT4gZHRkKTsKKzxhIGhyZWY9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxWYWxpZEN0eHRQdHIiPnhtbFZhbGlkQ3R4dFB0cjwvYT4JPGEgaHJlZj0iI3htbE5ld1ZhbGlkQ3R4dCI+eG1sTmV3VmFsaWRDdHh0PC9hPgkJKHZvaWQpOwordm9pZAk8YSBocmVmPSIjeG1sRHVtcE5vdGF0aW9uVGFibGUiPnhtbER1bXBOb3RhdGlvblRhYmxlPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEJ1ZmZlclB0ciI+eG1sQnVmZmVyUHRyPC9hPiBidWYsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi12YWxpZC5odG1sI3htbE5vdGF0aW9uVGFibGVQdHIiPnhtbE5vdGF0aW9uVGFibGVQdHI8L2E+IHRhYmxlKTsKKzxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEVsZW1lbnRQdHIiPnhtbEVsZW1lbnRQdHI8L2E+CTxhIGhyZWY9IiN4bWxBZGRFbGVtZW50RGVjbCI+eG1sQWRkRWxlbWVudERlY2w8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sVmFsaWRDdHh0UHRyIj54bWxWYWxpZEN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRHRkUHRyIj54bWxEdGRQdHI8L2E+IGR0ZCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxFbGVtZW50VHlwZVZhbCI+eG1sRWxlbWVudFR5cGVWYWw8L2E+IHR5cGUsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRWxlbWVudENvbnRlbnRQdHIiPnhtbEVsZW1lbnRDb250ZW50UHRyPC9hPiBjb250ZW50KTsKKzxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sVmFsaWROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZSI+eG1sVmFsaWROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZTwvYT4JKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxici8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGVsZW0sIDxici8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUpOworaW50CTxhIGhyZWY9IiN4bWxWYWxpZEJ1aWxkQ29udGVudE1vZGVsIj54bWxWYWxpZEJ1aWxkQ29udGVudE1vZGVsPC9hPgkoPGEgaHJlZj0ibGlieG1sMi12YWxpZC5odG1sI3htbFZhbGlkQ3R4dFB0ciI+eG1sVmFsaWRDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEVsZW1lbnRQdHIiPnhtbEVsZW1lbnRQdHI8L2E+IGVsZW0pOworaW50CTxhIGhyZWY9IiN4bWxWYWxpZGF0ZUVsZW1lbnQiPnhtbFZhbGlkYXRlRWxlbWVudDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sVmFsaWRDdHh0UHRyIj54bWxWYWxpZEN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBlbGVtKTsKK2ludAk8YSBocmVmPSIjeG1sVmFsaWRhdGVOb3RhdGlvblVzZSI+eG1sVmFsaWRhdGVOb3RhdGlvblVzZTwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sVmFsaWRDdHh0UHRyIj54bWxWYWxpZEN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbm90YXRpb25OYW1lKTsKK2ludAk8YSBocmVmPSIjeG1sVmFsaWRhdGVSb290Ij54bWxWYWxpZGF0ZVJvb3Q8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxWYWxpZEN0eHRQdHIiPnhtbFZhbGlkQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jKTsKK2ludAk8YSBocmVmPSIjeG1sVmFsaWRhdGVOb3RhdGlvbkRlY2wiPnhtbFZhbGlkYXRlTm90YXRpb25EZWNsPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxWYWxpZEN0eHRQdHIiPnhtbFZhbGlkQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vdGF0aW9uUHRyIj54bWxOb3RhdGlvblB0cjwvYT4gbm90YSk7Cis8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxFbGVtZW50Q29udGVudFB0ciI+eG1sRWxlbWVudENvbnRlbnRQdHI8L2E+CTxhIGhyZWY9IiN4bWxOZXdFbGVtZW50Q29udGVudCI+eG1sTmV3RWxlbWVudENvbnRlbnQ8L2E+CShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRWxlbWVudENvbnRlbnRUeXBlIj54bWxFbGVtZW50Q29udGVudFR5cGU8L2E+IHR5cGUpOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRWxlbWVudFB0ciI+eG1sRWxlbWVudFB0cjwvYT4JPGEgaHJlZj0iI3htbEdldER0ZEVsZW1lbnREZXNjIj54bWxHZXREdGRFbGVtZW50RGVzYzwvYT4JKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbER0ZFB0ciI+eG1sRHRkUHRyPC9hPiBkdGQsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm90YXRpb25QdHIiPnhtbE5vdGF0aW9uUHRyPC9hPgk8YSBocmVmPSIjeG1sR2V0RHRkTm90YXRpb25EZXNjIj54bWxHZXREdGROb3RhdGlvbkRlc2M8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEdGRQdHIiPnhtbER0ZFB0cjwvYT4gZHRkLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKTsKK2ludAk8YSBocmVmPSIjeG1sVmFsaWRhdGVQdXNoQ0RhdGEiPnhtbFZhbGlkYXRlUHVzaENEYXRhPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxWYWxpZEN0eHRQdHIiPnhtbFZhbGlkQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogZGF0YSwgPGJyLz4JCQkJCSBpbnQgbGVuKTsKK2ludAk8YSBocmVmPSIjeG1sVmFsaWRhdGVObXRva2Vuc1ZhbHVlIj54bWxWYWxpZGF0ZU5tdG9rZW5zVmFsdWU8L2E+CShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUpOwordm9pZAk8YSBocmVmPSIjeG1sRnJlZURvY0VsZW1lbnRDb250ZW50Ij54bWxGcmVlRG9jRWxlbWVudENvbnRlbnQ8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEVsZW1lbnRDb250ZW50UHRyIj54bWxFbGVtZW50Q29udGVudFB0cjwvYT4gY3VyKTsKKzwvcHJlPgorICAgIDwvZGl2PgorICAgIDxkaXYgY2xhc3M9InJlZnNlY3QxIiBsYW5nPSJlbiI+CisgICAgICA8aDI+RGVzY3JpcHRpb248L2gyPgorICAgIDwvZGl2PgorICAgIDxkaXYgY2xhc3M9InJlZnNlY3QxIiBsYW5nPSJlbiI+CisgICAgICA8aDI+RGV0YWlsczwvaDI+CisgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJYTUxfQ1RYVF9GSU5JU0hfRFREXzAiPk1hY3JvIDwvYT5YTUxfQ1RYVF9GSU5JU0hfRFREXzA8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfQ1RYVF9GSU5JU0hfRFREXzAiPlhNTF9DVFhUX0ZJTklTSF9EVERfMDwvYT47Cis8L3ByZT48cD5TcGVjaWFsIHZhbHVlIGZvciBmaW5pc2hEdGQgZmllbGQgd2hlbiBlbWJlZGRlZCBpbiBhbiA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0Ij54bWxQYXJzZXJDdHh0PC9hPjwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJYTUxfQ1RYVF9GSU5JU0hfRFREXzEiPk1hY3JvIDwvYT5YTUxfQ1RYVF9GSU5JU0hfRFREXzE8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfQ1RYVF9GSU5JU0hfRFREXzEiPlhNTF9DVFhUX0ZJTklTSF9EVERfMTwvYT47Cis8L3ByZT48cD5TcGVjaWFsIHZhbHVlIGZvciBmaW5pc2hEdGQgZmllbGQgd2hlbiBlbWJlZGRlZCBpbiBhbiA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0Ij54bWxQYXJzZXJDdHh0PC9hPjwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxBdHRyaWJ1dGVUYWJsZSI+U3RydWN0dXJlIDwvYT54bWxBdHRyaWJ1dGVUYWJsZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnN0cnVjdCBfeG1sSGFzaFRhYmxlIHsKK1RoZSBjb250ZW50IG9mIHRoaXMgc3RydWN0dXJlIGlzIG5vdCBtYWRlIHB1YmxpYyBieSB0aGUgQVBJLgorfSB4bWxBdHRyaWJ1dGVUYWJsZTsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxBdHRyaWJ1dGVUYWJsZVB0ciI+VHlwZWRlZiA8L2E+eG1sQXR0cmlidXRlVGFibGVQdHI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sQXR0cmlidXRlVGFibGUiPnhtbEF0dHJpYnV0ZVRhYmxlPC9hPiAqIHhtbEF0dHJpYnV0ZVRhYmxlUHRyOworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEVsZW1lbnRUYWJsZSI+U3RydWN0dXJlIDwvYT54bWxFbGVtZW50VGFibGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5zdHJ1Y3QgX3htbEhhc2hUYWJsZSB7CitUaGUgY29udGVudCBvZiB0aGlzIHN0cnVjdHVyZSBpcyBub3QgbWFkZSBwdWJsaWMgYnkgdGhlIEFQSS4KK30geG1sRWxlbWVudFRhYmxlOworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEVsZW1lbnRUYWJsZVB0ciI+VHlwZWRlZiA8L2E+eG1sRWxlbWVudFRhYmxlUHRyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi12YWxpZC5odG1sI3htbEVsZW1lbnRUYWJsZSI+eG1sRWxlbWVudFRhYmxlPC9hPiAqIHhtbEVsZW1lbnRUYWJsZVB0cjsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxJRFRhYmxlIj5TdHJ1Y3R1cmUgPC9hPnhtbElEVGFibGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5zdHJ1Y3QgX3htbEhhc2hUYWJsZSB7CitUaGUgY29udGVudCBvZiB0aGlzIHN0cnVjdHVyZSBpcyBub3QgbWFkZSBwdWJsaWMgYnkgdGhlIEFQSS4KK30geG1sSURUYWJsZTsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxJRFRhYmxlUHRyIj5UeXBlZGVmIDwvYT54bWxJRFRhYmxlUHRyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi12YWxpZC5odG1sI3htbElEVGFibGUiPnhtbElEVGFibGU8L2E+ICogeG1sSURUYWJsZVB0cjsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxOb3RhdGlvblRhYmxlIj5TdHJ1Y3R1cmUgPC9hPnhtbE5vdGF0aW9uVGFibGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5zdHJ1Y3QgX3htbEhhc2hUYWJsZSB7CitUaGUgY29udGVudCBvZiB0aGlzIHN0cnVjdHVyZSBpcyBub3QgbWFkZSBwdWJsaWMgYnkgdGhlIEFQSS4KK30geG1sTm90YXRpb25UYWJsZTsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxOb3RhdGlvblRhYmxlUHRyIj5UeXBlZGVmIDwvYT54bWxOb3RhdGlvblRhYmxlUHRyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi12YWxpZC5odG1sI3htbE5vdGF0aW9uVGFibGUiPnhtbE5vdGF0aW9uVGFibGU8L2E+ICogeG1sTm90YXRpb25UYWJsZVB0cjsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxSZWZUYWJsZSI+U3RydWN0dXJlIDwvYT54bWxSZWZUYWJsZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnN0cnVjdCBfeG1sSGFzaFRhYmxlIHsKK1RoZSBjb250ZW50IG9mIHRoaXMgc3RydWN0dXJlIGlzIG5vdCBtYWRlIHB1YmxpYyBieSB0aGUgQVBJLgorfSB4bWxSZWZUYWJsZTsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxSZWZUYWJsZVB0ciI+VHlwZWRlZiA8L2E+eG1sUmVmVGFibGVQdHI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sUmVmVGFibGUiPnhtbFJlZlRhYmxlPC9hPiAqIHhtbFJlZlRhYmxlUHRyOworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFZhbGlkQ3R4dCI+U3RydWN0dXJlIDwvYT54bWxWYWxpZEN0eHQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5zdHJ1Y3QgX3htbFZhbGlkQ3R4dCB7CisgICAgdm9pZCAqCXVzZXJEYXRhCTogdXNlciBzcGVjaWZpYyBkYXRhIGJsb2NrCisgICAgPGEgaHJlZj0ibGlieG1sMi12YWxpZC5odG1sI3htbFZhbGlkaXR5RXJyb3JGdW5jIj54bWxWYWxpZGl0eUVycm9yRnVuYzwvYT4JZXJyb3IJOiB0aGUgY2FsbGJhY2sgaW4gY2FzZSBvZiBlcnJvcnMKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sVmFsaWRpdHlXYXJuaW5nRnVuYyI+eG1sVmFsaWRpdHlXYXJuaW5nRnVuYzwvYT4Jd2FybmluZwk6IHRoZSBjYWxsYmFjayBpbiBjYXNlIG9mIHdhcm5pbmcgTm9kZSBhbmFseXNpcyBzdGFjayB1c2VkIHdoZW4gdmFsaWRhdAorICAgIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CW5vZGUJOiBDdXJyZW50IHBhcnNlZCBOb2RlCisgICAgaW50CW5vZGVOcgk6IERlcHRoIG9mIHRoZSBwYXJzaW5nIHN0YWNrCisgICAgaW50CW5vZGVNYXgJOiBNYXggZGVwdGggb2YgdGhlIHBhcnNpbmcgc3RhY2sKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiAqCW5vZGVUYWIJOiBhcnJheSBvZiBub2RlcworICAgIHVuc2lnbmVkIGludAlmaW5pc2hEdGQJOiBmaW5pc2hlZCB2YWxpZGF0aW5nIHRoZSBEdGQgPworICAgIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPglkb2MJOiB0aGUgZG9jdW1lbnQKKyAgICBpbnQJdmFsaWQJOiB0ZW1wb3JhcnkgdmFsaWRpdHkgY2hlY2sgcmVzdWx0IHN0YXRlIHN0YXRlIHVzZWQgZm9yIG5vbi1kZXRlcm1pbmlzdAorICAgIDxhIGhyZWY9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxWYWxpZFN0YXRlIj54bWxWYWxpZFN0YXRlPC9hPiAqCXZzdGF0ZQk6IGN1cnJlbnQgc3RhdGUKKyAgICBpbnQJdnN0YXRlTnIJOiBEZXB0aCBvZiB0aGUgdmFsaWRhdGlvbiBzdGFjaworICAgIGludAl2c3RhdGVNYXgJOiBNYXggZGVwdGggb2YgdGhlIHZhbGlkYXRpb24gc3RhY2sKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sVmFsaWRTdGF0ZSI+eG1sVmFsaWRTdGF0ZTwvYT4gKgl2c3RhdGVUYWIJOiBhcnJheSBvZiB2YWxpZGF0aW9uIHN0YXRlcworICAgIDxhIGhyZWY9ImxpYnhtbDIteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVB0ciI+eG1sQXV0b21hdGFQdHI8L2E+CWFtCTogdGhlIGF1dG9tYXRhCisgICAgPGEgaHJlZj0ibGlieG1sMi14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhU3RhdGVQdHIiPnhtbEF1dG9tYXRhU3RhdGVQdHI8L2E+CXN0YXRlCTogdXNlZCB0byBidWlsZCB0aGUgYXV0b21hdGEKKyAgICB2b2lkICoJYW0KKyAgICB2b2lkICoJc3RhdGUKK30geG1sVmFsaWRDdHh0OworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFZhbGlkQ3R4dFB0ciI+VHlwZWRlZiA8L2E+eG1sVmFsaWRDdHh0UHRyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi12YWxpZC5odG1sI3htbFZhbGlkQ3R4dCI+eG1sVmFsaWRDdHh0PC9hPiAqIHhtbFZhbGlkQ3R4dFB0cjsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxWYWxpZFN0YXRlIj5TdHJ1Y3R1cmUgPC9hPnhtbFZhbGlkU3RhdGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5zdHJ1Y3QgX3htbFZhbGlkU3RhdGUgeworVGhlIGNvbnRlbnQgb2YgdGhpcyBzdHJ1Y3R1cmUgaXMgbm90IG1hZGUgcHVibGljIGJ5IHRoZSBBUEkuCit9IHhtbFZhbGlkU3RhdGU7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVmFsaWRTdGF0ZVB0ciI+VHlwZWRlZiA8L2E+eG1sVmFsaWRTdGF0ZVB0cjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxWYWxpZFN0YXRlIj54bWxWYWxpZFN0YXRlPC9hPiAqIHhtbFZhbGlkU3RhdGVQdHI7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVmFsaWRpdHlFcnJvckZ1bmMiLz5GdW5jdGlvbiB0eXBlIHhtbFZhbGlkaXR5RXJyb3JGdW5jPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxWYWxpZGl0eUVycm9yRnVuYwkJKHZvaWQgKiBjdHgsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIG1zZywgPGJyLz4JCQkJCSAuLi4gLi4uKTxici8+Cis8L3ByZT48cD5DYWxsYmFjayBjYWxsZWQgd2hlbiBhIHZhbGlkaXR5IGVycm9yIGlzIGZvdW5kLiBUaGlzIGlzIGEgbWVzc2FnZSBvcmllbnRlZCBmdW5jdGlvbiBzaW1pbGFyIHRvIGFuICpwcmludGYgZnVuY3Rpb24uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnVzdWFsbHkgYW4gPGEgaHJlZj0ibGlieG1sMi12YWxpZC5odG1sI3htbFZhbGlkQ3R4dFB0ciI+eG1sVmFsaWRDdHh0UHRyPC9hPiB0byBhIHZhbGlkaXR5IGVycm9yIGNvbnRleHQsIGJ1dCBjb21lcyBmcm9tIGN0eHQtJmd0O3VzZXJEYXRhICh3aGljaCBub3JtYWxseSBjb250YWlucyBzdWNoIGEgcG9pbnRlcik7IGN0eHQtJmd0O3VzZXJEYXRhIGNhbiBiZSBjaGFuZ2VkIGJ5IHRoZSB1c2VyLjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bXNnPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc3RyaW5nIHRvIGZvcm1hdCAqcHJpbnRmIGxpa2UgdmFyYXJnPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD4uLi48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnJlbWFpbmluZyBhcmd1bWVudHMgdG8gdGhlIGZvcm1hdDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFZhbGlkaXR5V2FybmluZ0Z1bmMiLz5GdW5jdGlvbiB0eXBlIHhtbFZhbGlkaXR5V2FybmluZ0Z1bmM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFZhbGlkaXR5V2FybmluZ0Z1bmMJCSh2b2lkICogY3R4LCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBtc2csIDxici8+CQkJCQkgLi4uIC4uLik8YnIvPgorPC9wcmU+PHA+Q2FsbGJhY2sgY2FsbGVkIHdoZW4gYSB2YWxpZGl0eSB3YXJuaW5nIGlzIGZvdW5kLiBUaGlzIGlzIGEgbWVzc2FnZSBvcmllbnRlZCBmdW5jdGlvbiBzaW1pbGFyIHRvIGFuICpwcmludGYgZnVuY3Rpb24uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnVzdWFsbHkgYW4gPGEgaHJlZj0ibGlieG1sMi12YWxpZC5odG1sI3htbFZhbGlkQ3R4dFB0ciI+eG1sVmFsaWRDdHh0UHRyPC9hPiB0byBhIHZhbGlkaXR5IGVycm9yIGNvbnRleHQsIGJ1dCBjb21lcyBmcm9tIGN0eHQtJmd0O3VzZXJEYXRhICh3aGljaCBub3JtYWxseSBjb250YWlucyBzdWNoIGEgcG9pbnRlcik7IGN0eHQtJmd0O3VzZXJEYXRhIGNhbiBiZSBjaGFuZ2VkIGJ5IHRoZSB1c2VyLjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bXNnPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc3RyaW5nIHRvIGZvcm1hdCAqcHJpbnRmIGxpa2UgdmFyYXJnPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD4uLi48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnJlbWFpbmluZyBhcmd1bWVudHMgdG8gdGhlIGZvcm1hdDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEFkZEF0dHJpYnV0ZURlY2wiLz54bWxBZGRBdHRyaWJ1dGVEZWNsICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQXR0cmlidXRlUHRyIj54bWxBdHRyaWJ1dGVQdHI8L2E+CXhtbEFkZEF0dHJpYnV0ZURlY2wJKDxhIGhyZWY9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxWYWxpZEN0eHRQdHIiPnhtbFZhbGlkQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEdGRQdHIiPnhtbER0ZFB0cjwvYT4gZHRkLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBlbGVtLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBucywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxBdHRyaWJ1dGVUeXBlIj54bWxBdHRyaWJ1dGVUeXBlPC9hPiB0eXBlLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEF0dHJpYnV0ZURlZmF1bHQiPnhtbEF0dHJpYnV0ZURlZmF1bHQ8L2E+IGRlZiwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogZGVmYXVsdFZhbHVlLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEVudW1lcmF0aW9uUHRyIj54bWxFbnVtZXJhdGlvblB0cjwvYT4gdHJlZSk8YnIvPgorPC9wcmU+PHA+UmVnaXN0ZXIgYSBuZXcgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gZGVjbGFyYXRpb24gTm90ZSB0aGF0IEB0cmVlIGJlY29tZXMgdGhlIG93bmVyc2hpcCBvZiB0aGUgRFREPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdmFsaWRhdGlvbiBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kdGQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnBvaW50ZXIgdG8gdGhlIERURDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZWxlbTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVsZW1lbnQgbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gbmFtZXNwYWNlIHByZWZpeDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dHlwZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IHR5cGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRlZjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IGRlZmF1bHQgdHlwZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGVmYXVsdFZhbHVlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gZGVmYXVsdCB2YWx1ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dHJlZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+aWYgaXQncyBhbiBlbnVtZXJhdGlvbiwgdGhlIGFzc29jaWF0ZWQgbGlzdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+TlVMTCBpZiBub3QgbmV3LCBvdGhlcndpc2UgdGhlIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IGRlY2w8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxBZGRFbGVtZW50RGVjbCIvPnhtbEFkZEVsZW1lbnREZWNsICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRWxlbWVudFB0ciI+eG1sRWxlbWVudFB0cjwvYT4JeG1sQWRkRWxlbWVudERlY2wJKDxhIGhyZWY9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxWYWxpZEN0eHRQdHIiPnhtbFZhbGlkQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEdGRQdHIiPnhtbER0ZFB0cjwvYT4gZHRkLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEVsZW1lbnRUeXBlVmFsIj54bWxFbGVtZW50VHlwZVZhbDwvYT4gdHlwZSwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxFbGVtZW50Q29udGVudFB0ciI+eG1sRWxlbWVudENvbnRlbnRQdHI8L2E+IGNvbnRlbnQpPGJyLz4KKzwvcHJlPjxwPlJlZ2lzdGVyIGEgbmV3IGVsZW1lbnQgZGVjbGFyYXRpb248L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB2YWxpZGF0aW9uIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmR0ZDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+cG9pbnRlciB0byB0aGUgRFREPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZW50aXR5IG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnR5cGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbGVtZW50IHR5cGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbnRlbnQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbGVtZW50IGNvbnRlbnQgdHJlZSBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5OVUxMIGlmIG5vdCwgb3RoZXJ3aXNlIHRoZSBlbnRpdHk8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxBZGRJRCIvPnhtbEFkZElEICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sSURQdHIiPnhtbElEUHRyPC9hPgl4bWxBZGRJRAkJKDxhIGhyZWY9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxWYWxpZEN0eHRQdHIiPnhtbFZhbGlkQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB2YWx1ZSwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxBdHRyUHRyIj54bWxBdHRyUHRyPC9hPiBhdHRyKTxici8+Cis8L3ByZT48cD5SZWdpc3RlciBhIG5ldyBpZCBkZWNsYXJhdGlvbjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHZhbGlkYXRpb24gY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5wb2ludGVyIHRvIHRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsdWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB2YWx1ZSBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5hdHRyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gaG9sZGluZyB0aGUgSUQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPk5VTEwgaWYgbm90LCBvdGhlcndpc2UgdGhlIG5ldyA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxJRFB0ciI+eG1sSURQdHI8L2E+PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sQWRkTm90YXRpb25EZWNsIi8+eG1sQWRkTm90YXRpb25EZWNsICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm90YXRpb25QdHIiPnhtbE5vdGF0aW9uUHRyPC9hPgl4bWxBZGROb3RhdGlvbkRlY2wJKDxhIGhyZWY9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxWYWxpZEN0eHRQdHIiPnhtbFZhbGlkQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEdGRQdHIiPnhtbER0ZFB0cjwvYT4gZHRkLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBQdWJsaWNJRCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogU3lzdGVtSUQpPGJyLz4KKzwvcHJlPjxwPlJlZ2lzdGVyIGEgbmV3IG5vdGF0aW9uIGRlY2xhcmF0aW9uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdmFsaWRhdGlvbiBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kdGQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnBvaW50ZXIgdG8gdGhlIERURDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVudGl0eSBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5QdWJsaWNJRDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHB1YmxpYyBpZGVudGlmaWVyIG9yIE5VTEw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlN5c3RlbUlEPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc3lzdGVtIGlkZW50aWZpZXIgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+TlVMTCBpZiBub3QsIG90aGVyd2lzZSB0aGUgZW50aXR5PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sQWRkUmVmIi8+eG1sQWRkUmVmICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUmVmUHRyIj54bWxSZWZQdHI8L2E+CXhtbEFkZFJlZgkJKDxhIGhyZWY9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxWYWxpZEN0eHRQdHIiPnhtbFZhbGlkQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB2YWx1ZSwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxBdHRyUHRyIj54bWxBdHRyUHRyPC9hPiBhdHRyKTxici8+Cis8L3ByZT48cD5SZWdpc3RlciBhIG5ldyByZWYgZGVjbGFyYXRpb248L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB2YWxpZGF0aW9uIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+cG9pbnRlciB0byB0aGUgZG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbHVlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdmFsdWUgbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YXR0cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IGhvbGRpbmcgdGhlIFJlZjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+TlVMTCBpZiBub3QsIG90aGVyd2lzZSB0aGUgbmV3IDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFJlZlB0ciI+eG1sUmVmUHRyPC9hPjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbENvcHlBdHRyaWJ1dGVUYWJsZSIvPnhtbENvcHlBdHRyaWJ1dGVUYWJsZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxBdHRyaWJ1dGVUYWJsZVB0ciI+eG1sQXR0cmlidXRlVGFibGVQdHI8L2E+CXhtbENvcHlBdHRyaWJ1dGVUYWJsZQkoPGEgaHJlZj0ibGlieG1sMi12YWxpZC5odG1sI3htbEF0dHJpYnV0ZVRhYmxlUHRyIj54bWxBdHRyaWJ1dGVUYWJsZVB0cjwvYT4gdGFibGUpPGJyLz4KKzwvcHJlPjxwPkJ1aWxkIGEgY29weSBvZiBhbiA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiB0YWJsZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRhYmxlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5BbiA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiB0YWJsZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ldyA8YSBocmVmPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sQXR0cmlidXRlVGFibGVQdHIiPnhtbEF0dHJpYnV0ZVRhYmxlUHRyPC9hPiBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sQ29weURvY0VsZW1lbnRDb250ZW50Ii8+eG1sQ29weURvY0VsZW1lbnRDb250ZW50ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRWxlbWVudENvbnRlbnRQdHIiPnhtbEVsZW1lbnRDb250ZW50UHRyPC9hPgl4bWxDb3B5RG9jRWxlbWVudENvbnRlbnQJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxici8+CQkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxFbGVtZW50Q29udGVudFB0ciI+eG1sRWxlbWVudENvbnRlbnRQdHI8L2E+IGN1cik8YnIvPgorPC9wcmU+PHA+QnVpbGQgYSBjb3B5IG9mIGFuIGVsZW1lbnQgY29udGVudCBkZXNjcmlwdGlvbi48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50IG93bmluZyB0aGUgZWxlbWVudCBkZWNsYXJhdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5BbiBlbGVtZW50IGNvbnRlbnQgcG9pbnRlci48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXcgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRWxlbWVudENvbnRlbnRQdHIiPnhtbEVsZW1lbnRDb250ZW50UHRyPC9hPiBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sQ29weUVsZW1lbnRDb250ZW50Ii8+eG1sQ29weUVsZW1lbnRDb250ZW50ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRWxlbWVudENvbnRlbnRQdHIiPnhtbEVsZW1lbnRDb250ZW50UHRyPC9hPgl4bWxDb3B5RWxlbWVudENvbnRlbnQJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEVsZW1lbnRDb250ZW50UHRyIj54bWxFbGVtZW50Q29udGVudFB0cjwvYT4gY3VyKTxici8+Cis8L3ByZT48cD5CdWlsZCBhIGNvcHkgb2YgYW4gZWxlbWVudCBjb250ZW50IGRlc2NyaXB0aW9uLiBEZXByZWNhdGVkLCB1c2UgPGEgaHJlZj0ibGlieG1sMi12YWxpZC5odG1sI3htbENvcHlEb2NFbGVtZW50Q29udGVudCI+eG1sQ29weURvY0VsZW1lbnRDb250ZW50PC9hPiBpbnN0ZWFkPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPkFuIGVsZW1lbnQgY29udGVudCBwb2ludGVyLjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ldyA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxFbGVtZW50Q29udGVudFB0ciI+eG1sRWxlbWVudENvbnRlbnRQdHI8L2E+IG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxDb3B5RWxlbWVudFRhYmxlIi8+eG1sQ29weUVsZW1lbnRUYWJsZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxFbGVtZW50VGFibGVQdHIiPnhtbEVsZW1lbnRUYWJsZVB0cjwvYT4JeG1sQ29weUVsZW1lbnRUYWJsZQkoPGEgaHJlZj0ibGlieG1sMi12YWxpZC5odG1sI3htbEVsZW1lbnRUYWJsZVB0ciI+eG1sRWxlbWVudFRhYmxlUHRyPC9hPiB0YWJsZSk8YnIvPgorPC9wcmU+PHA+QnVpbGQgYSBjb3B5IG9mIGFuIGVsZW1lbnQgdGFibGUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50YWJsZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+QW4gZWxlbWVudCB0YWJsZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ldyA8YSBocmVmPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sRWxlbWVudFRhYmxlUHRyIj54bWxFbGVtZW50VGFibGVQdHI8L2E+IG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxDb3B5RW51bWVyYXRpb24iLz54bWxDb3B5RW51bWVyYXRpb24gKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxFbnVtZXJhdGlvblB0ciI+eG1sRW51bWVyYXRpb25QdHI8L2E+CXhtbENvcHlFbnVtZXJhdGlvbgkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRW51bWVyYXRpb25QdHIiPnhtbEVudW1lcmF0aW9uUHRyPC9hPiBjdXIpPGJyLz4KKzwvcHJlPjxwPkNvcHkgYW4gZW51bWVyYXRpb24gPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gbm9kZSAocmVjdXJzaXZlKS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHRyZWUgdG8gY29weS48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxFbnVtZXJhdGlvblB0ciI+eG1sRW51bWVyYXRpb25QdHI8L2E+IGp1c3QgY3JlYXRlZCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sQ29weU5vdGF0aW9uVGFibGUiLz54bWxDb3B5Tm90YXRpb25UYWJsZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxOb3RhdGlvblRhYmxlUHRyIj54bWxOb3RhdGlvblRhYmxlUHRyPC9hPgl4bWxDb3B5Tm90YXRpb25UYWJsZQkoPGEgaHJlZj0ibGlieG1sMi12YWxpZC5odG1sI3htbE5vdGF0aW9uVGFibGVQdHIiPnhtbE5vdGF0aW9uVGFibGVQdHI8L2E+IHRhYmxlKTxici8+Cis8L3ByZT48cD5CdWlsZCBhIGNvcHkgb2YgYSBub3RhdGlvbiB0YWJsZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRhYmxlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5BIG5vdGF0aW9uIHRhYmxlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IDxhIGhyZWY9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxOb3RhdGlvblRhYmxlUHRyIj54bWxOb3RhdGlvblRhYmxlUHRyPC9hPiBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sQ3JlYXRlRW51bWVyYXRpb24iLz54bWxDcmVhdGVFbnVtZXJhdGlvbiAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEVudW1lcmF0aW9uUHRyIj54bWxFbnVtZXJhdGlvblB0cjwvYT4JeG1sQ3JlYXRlRW51bWVyYXRpb24JKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKTxici8+Cis8L3ByZT48cD5jcmVhdGUgYW5kIGluaXRpYWxpemUgYW4gZW51bWVyYXRpb24gPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gbm9kZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbnVtZXJhdGlvbiBuYW1lIG9yIE5VTEw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxFbnVtZXJhdGlvblB0ciI+eG1sRW51bWVyYXRpb25QdHI8L2E+IGp1c3QgY3JlYXRlZCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sRHVtcEF0dHJpYnV0ZURlY2wiLz54bWxEdW1wQXR0cmlidXRlRGVjbCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sRHVtcEF0dHJpYnV0ZURlY2wJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxCdWZmZXJQdHIiPnhtbEJ1ZmZlclB0cjwvYT4gYnVmLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEF0dHJpYnV0ZVB0ciI+eG1sQXR0cmlidXRlUHRyPC9hPiBhdHRyKTxici8+Cis8L3ByZT48cD5UaGlzIHdpbGwgZHVtcCB0aGUgY29udGVudCBvZiB0aGUgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gZGVjbGFyYXRpb24gYXMgYW4gWE1MIERURCBkZWZpbml0aW9uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5idWY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYTUwgYnVmZmVyIG91dHB1dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YXR0cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+QW4gPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gZGVjbGFyYXRpb248L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxEdW1wQXR0cmlidXRlVGFibGUiLz54bWxEdW1wQXR0cmlidXRlVGFibGUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbER1bXBBdHRyaWJ1dGVUYWJsZQkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEJ1ZmZlclB0ciI+eG1sQnVmZmVyUHRyPC9hPiBidWYsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi12YWxpZC5odG1sI3htbEF0dHJpYnV0ZVRhYmxlUHRyIj54bWxBdHRyaWJ1dGVUYWJsZVB0cjwvYT4gdGFibGUpPGJyLz4KKzwvcHJlPjxwPlRoaXMgd2lsbCBkdW1wIHRoZSBjb250ZW50IG9mIHRoZSA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiB0YWJsZSBhcyBhbiBYTUwgRFREIGRlZmluaXRpb248L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmJ1ZjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhNTCBidWZmZXIgb3V0cHV0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50YWJsZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+QW4gPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gdGFibGU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxEdW1wRWxlbWVudERlY2wiLz54bWxEdW1wRWxlbWVudERlY2wgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbER1bXBFbGVtZW50RGVjbAkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEJ1ZmZlclB0ciI+eG1sQnVmZmVyUHRyPC9hPiBidWYsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRWxlbWVudFB0ciI+eG1sRWxlbWVudFB0cjwvYT4gZWxlbSk8YnIvPgorPC9wcmU+PHA+VGhpcyB3aWxsIGR1bXAgdGhlIGNvbnRlbnQgb2YgdGhlIGVsZW1lbnQgZGVjbGFyYXRpb24gYXMgYW4gWE1MIERURCBkZWZpbml0aW9uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5idWY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYTUwgYnVmZmVyIG91dHB1dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZWxlbTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+QW4gZWxlbWVudCB0YWJsZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbER1bXBFbGVtZW50VGFibGUiLz54bWxEdW1wRWxlbWVudFRhYmxlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxEdW1wRWxlbWVudFRhYmxlCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQnVmZmVyUHRyIj54bWxCdWZmZXJQdHI8L2E+IGJ1ZiwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sRWxlbWVudFRhYmxlUHRyIj54bWxFbGVtZW50VGFibGVQdHI8L2E+IHRhYmxlKTxici8+Cis8L3ByZT48cD5UaGlzIHdpbGwgZHVtcCB0aGUgY29udGVudCBvZiB0aGUgZWxlbWVudCB0YWJsZSBhcyBhbiBYTUwgRFREIGRlZmluaXRpb248L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmJ1ZjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhNTCBidWZmZXIgb3V0cHV0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50YWJsZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+QW4gZWxlbWVudCB0YWJsZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbER1bXBOb3RhdGlvbkRlY2wiLz54bWxEdW1wTm90YXRpb25EZWNsICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxEdW1wTm90YXRpb25EZWNsCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQnVmZmVyUHRyIj54bWxCdWZmZXJQdHI8L2E+IGJ1ZiwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb3RhdGlvblB0ciI+eG1sTm90YXRpb25QdHI8L2E+IG5vdGEpPGJyLz4KKzwvcHJlPjxwPlRoaXMgd2lsbCBkdW1wIHRoZSBjb250ZW50IHRoZSBub3RhdGlvbiBkZWNsYXJhdGlvbiBhcyBhbiBYTUwgRFREIGRlZmluaXRpb248L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmJ1ZjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhNTCBidWZmZXIgb3V0cHV0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub3RhPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5BIG5vdGF0aW9uIGRlY2xhcmF0aW9uPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sRHVtcE5vdGF0aW9uVGFibGUiLz54bWxEdW1wTm90YXRpb25UYWJsZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sRHVtcE5vdGF0aW9uVGFibGUJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxCdWZmZXJQdHIiPnhtbEJ1ZmZlclB0cjwvYT4gYnVmLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxOb3RhdGlvblRhYmxlUHRyIj54bWxOb3RhdGlvblRhYmxlUHRyPC9hPiB0YWJsZSk8YnIvPgorPC9wcmU+PHA+VGhpcyB3aWxsIGR1bXAgdGhlIGNvbnRlbnQgb2YgdGhlIG5vdGF0aW9uIHRhYmxlIGFzIGFuIFhNTCBEVEQgZGVmaW5pdGlvbjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YnVmPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWE1MIGJ1ZmZlciBvdXRwdXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRhYmxlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5BIG5vdGF0aW9uIHRhYmxlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sRnJlZUF0dHJpYnV0ZVRhYmxlIi8+eG1sRnJlZUF0dHJpYnV0ZVRhYmxlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxGcmVlQXR0cmlidXRlVGFibGUJCSg8YSBocmVmPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sQXR0cmlidXRlVGFibGVQdHIiPnhtbEF0dHJpYnV0ZVRhYmxlUHRyPC9hPiB0YWJsZSk8YnIvPgorPC9wcmU+PHA+RGVhbGxvY2F0ZSB0aGUgbWVtb3J5IHVzZWQgYnkgYW4gZW50aXRpZXMgaGFzaCB0YWJsZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRhYmxlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5BbiA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiB0YWJsZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEZyZWVEb2NFbGVtZW50Q29udGVudCIvPnhtbEZyZWVEb2NFbGVtZW50Q29udGVudCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sRnJlZURvY0VsZW1lbnRDb250ZW50CSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEVsZW1lbnRDb250ZW50UHRyIj54bWxFbGVtZW50Q29udGVudFB0cjwvYT4gY3VyKTxici8+Cis8L3ByZT48cD5GcmVlIGFuIGVsZW1lbnQgY29udGVudCBzdHJ1Y3R1cmUuIFRoZSB3aG9sZSBzdWJ0cmVlIGlzIHJlbW92ZWQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudCBvd25pbmcgdGhlIGVsZW1lbnQgZGVjbGFyYXRpb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVsZW1lbnQgY29udGVudCB0cmVlIHRvIGZyZWU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxGcmVlRWxlbWVudENvbnRlbnQiLz54bWxGcmVlRWxlbWVudENvbnRlbnQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbEZyZWVFbGVtZW50Q29udGVudAkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEVsZW1lbnRDb250ZW50UHRyIj54bWxFbGVtZW50Q29udGVudFB0cjwvYT4gY3VyKTxici8+Cis8L3ByZT48cD5GcmVlIGFuIGVsZW1lbnQgY29udGVudCBzdHJ1Y3R1cmUuIFRoZSB3aG9sZSBzdWJ0cmVlIGlzIHJlbW92ZWQuIERlcHJlY2F0ZWQsIHVzZSA8YSBocmVmPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sRnJlZURvY0VsZW1lbnRDb250ZW50Ij54bWxGcmVlRG9jRWxlbWVudENvbnRlbnQ8L2E+IGluc3RlYWQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVsZW1lbnQgY29udGVudCB0cmVlIHRvIGZyZWU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxGcmVlRWxlbWVudFRhYmxlIi8+eG1sRnJlZUVsZW1lbnRUYWJsZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sRnJlZUVsZW1lbnRUYWJsZQkJKDxhIGhyZWY9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxFbGVtZW50VGFibGVQdHIiPnhtbEVsZW1lbnRUYWJsZVB0cjwvYT4gdGFibGUpPGJyLz4KKzwvcHJlPjxwPkRlYWxsb2NhdGUgdGhlIG1lbW9yeSB1c2VkIGJ5IGFuIGVsZW1lbnQgaGFzaCB0YWJsZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRhYmxlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5BbiBlbGVtZW50IHRhYmxlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sRnJlZUVudW1lcmF0aW9uIi8+eG1sRnJlZUVudW1lcmF0aW9uICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxGcmVlRW51bWVyYXRpb24JCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxFbnVtZXJhdGlvblB0ciI+eG1sRW51bWVyYXRpb25QdHI8L2E+IGN1cik8YnIvPgorPC9wcmU+PHA+ZnJlZSBhbiBlbnVtZXJhdGlvbiA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBub2RlIChyZWN1cnNpdmUpLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdHJlZSB0byBmcmVlLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEZyZWVJRFRhYmxlIi8+eG1sRnJlZUlEVGFibGUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbEZyZWVJRFRhYmxlCQkJKDxhIGhyZWY9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxJRFRhYmxlUHRyIj54bWxJRFRhYmxlUHRyPC9hPiB0YWJsZSk8YnIvPgorPC9wcmU+PHA+RGVhbGxvY2F0ZSB0aGUgbWVtb3J5IHVzZWQgYnkgYW4gSUQgaGFzaCB0YWJsZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRhYmxlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5BbiBpZCB0YWJsZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEZyZWVOb3RhdGlvblRhYmxlIi8+eG1sRnJlZU5vdGF0aW9uVGFibGUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbEZyZWVOb3RhdGlvblRhYmxlCQkoPGEgaHJlZj0ibGlieG1sMi12YWxpZC5odG1sI3htbE5vdGF0aW9uVGFibGVQdHIiPnhtbE5vdGF0aW9uVGFibGVQdHI8L2E+IHRhYmxlKTxici8+Cis8L3ByZT48cD5EZWFsbG9jYXRlIHRoZSBtZW1vcnkgdXNlZCBieSBhbiBlbnRpdGllcyBoYXNoIHRhYmxlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dGFibGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPkFuIG5vdGF0aW9uIHRhYmxlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sRnJlZVJlZlRhYmxlIi8+eG1sRnJlZVJlZlRhYmxlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxGcmVlUmVmVGFibGUJCQkoPGEgaHJlZj0ibGlieG1sMi12YWxpZC5odG1sI3htbFJlZlRhYmxlUHRyIj54bWxSZWZUYWJsZVB0cjwvYT4gdGFibGUpPGJyLz4KKzwvcHJlPjxwPkRlYWxsb2NhdGUgdGhlIG1lbW9yeSB1c2VkIGJ5IGFuIFJlZiBoYXNoIHRhYmxlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dGFibGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPkFuIHJlZiB0YWJsZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEZyZWVWYWxpZEN0eHQiLz54bWxGcmVlVmFsaWRDdHh0ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxGcmVlVmFsaWRDdHh0CQkoPGEgaHJlZj0ibGlieG1sMi12YWxpZC5odG1sI3htbFZhbGlkQ3R4dFB0ciI+eG1sVmFsaWRDdHh0UHRyPC9hPiBjdXIpPGJyLz4KKzwvcHJlPjxwPkZyZWUgYSB2YWxpZGF0aW9uIGNvbnRleHQgc3RydWN0dXJlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdmFsaWRhdGlvbiBjb250ZXh0IHRvIGZyZWU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxHZXREdGRBdHRyRGVzYyIvPnhtbEdldER0ZEF0dHJEZXNjICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQXR0cmlidXRlUHRyIj54bWxBdHRyaWJ1dGVQdHI8L2E+CXhtbEdldER0ZEF0dHJEZXNjCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEdGRQdHIiPnhtbER0ZFB0cjwvYT4gZHRkLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBlbGVtLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKTxici8+Cis8L3ByZT48cD5TZWFyY2ggdGhlIERURCBmb3IgdGhlIGRlc2NyaXB0aW9uIG9mIHRoaXMgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gb24gdGhpcyBlbGVtZW50LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZHRkPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gdGhlIER0RCB0byBzZWFyY2g8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVsZW08L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbGVtZW50IG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQXR0cmlidXRlUHRyIj54bWxBdHRyaWJ1dGVQdHI8L2E+IGlmIGZvdW5kIG9yIE5VTEw8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxHZXREdGRFbGVtZW50RGVzYyIvPnhtbEdldER0ZEVsZW1lbnREZXNjICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRWxlbWVudFB0ciI+eG1sRWxlbWVudFB0cjwvYT4JeG1sR2V0RHRkRWxlbWVudERlc2MJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbER0ZFB0ciI+eG1sRHRkUHRyPC9hPiBkdGQsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpPGJyLz4KKzwvcHJlPjxwPlNlYXJjaCB0aGUgRFREIGZvciB0aGUgZGVzY3JpcHRpb24gb2YgdGhpcyBlbGVtZW50PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kdGQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byB0aGUgRHREIHRvIHNlYXJjaDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVsZW1lbnQgbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEVsZW1lbnRQdHIiPnhtbEVsZW1lbnRQdHI8L2E+IGlmIGZvdW5kIG9yIE5VTEw8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxHZXREdGROb3RhdGlvbkRlc2MiLz54bWxHZXREdGROb3RhdGlvbkRlc2MgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb3RhdGlvblB0ciI+eG1sTm90YXRpb25QdHI8L2E+CXhtbEdldER0ZE5vdGF0aW9uRGVzYwkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRHRkUHRyIj54bWxEdGRQdHI8L2E+IGR0ZCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSk8YnIvPgorPC9wcmU+PHA+U2VhcmNoIHRoZSBEVEQgZm9yIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGlzIG5vdGF0aW9uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kdGQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byB0aGUgRHREIHRvIHNlYXJjaDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vdGF0aW9uIG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb3RhdGlvblB0ciI+eG1sTm90YXRpb25QdHI8L2E+IGlmIGZvdW5kIG9yIE5VTEw8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxHZXREdGRRQXR0ckRlc2MiLz54bWxHZXREdGRRQXR0ckRlc2MgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxBdHRyaWJ1dGVQdHIiPnhtbEF0dHJpYnV0ZVB0cjwvYT4JeG1sR2V0RHRkUUF0dHJEZXNjCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEdGRQdHIiPnhtbER0ZFB0cjwvYT4gZHRkLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBlbGVtLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwcmVmaXgpPGJyLz4KKzwvcHJlPjxwPlNlYXJjaCB0aGUgRFREIGZvciB0aGUgZGVzY3JpcHRpb24gb2YgdGhpcyBxdWFsaWZpZWQgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gb24gdGhpcyBlbGVtZW50LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZHRkPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gdGhlIER0RCB0byBzZWFyY2g8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVsZW08L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbGVtZW50IG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wcmVmaXg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBuYW1lc3BhY2UgcHJlZml4PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQXR0cmlidXRlUHRyIj54bWxBdHRyaWJ1dGVQdHI8L2E+IGlmIGZvdW5kIG9yIE5VTEw8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxHZXREdGRRRWxlbWVudERlc2MiLz54bWxHZXREdGRRRWxlbWVudERlc2MgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxFbGVtZW50UHRyIj54bWxFbGVtZW50UHRyPC9hPgl4bWxHZXREdGRRRWxlbWVudERlc2MJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbER0ZFB0ciI+eG1sRHRkUHRyPC9hPiBkdGQsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHByZWZpeCk8YnIvPgorPC9wcmU+PHA+U2VhcmNoIHRoZSBEVEQgZm9yIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGlzIGVsZW1lbnQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmR0ZDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIHRoZSBEdEQgdG8gc2VhcmNoPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZWxlbWVudCBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wcmVmaXg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbGVtZW50IG5hbWVzcGFjZSBwcmVmaXg8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxFbGVtZW50UHRyIj54bWxFbGVtZW50UHRyPC9hPiBpZiBmb3VuZCBvciBOVUxMPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sR2V0SUQiLz54bWxHZXRJRCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEF0dHJQdHIiPnhtbEF0dHJQdHI8L2E+CXhtbEdldElECQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogSUQpPGJyLz4KKzwvcHJlPjxwPlNlYXJjaCB0aGUgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gZGVjbGFyaW5nIHRoZSBnaXZlbiBJRDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5wb2ludGVyIHRvIHRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+SUQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBJRCB2YWx1ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+TlVMTCBpZiBub3QgZm91bmQsIG90aGVyd2lzZSB0aGUgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQXR0clB0ciI+eG1sQXR0clB0cjwvYT4gZGVmaW5pbmcgdGhlIElEPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sR2V0UmVmcyIvPnhtbEdldFJlZnMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLWxpc3QuaHRtbCN4bWxMaXN0UHRyIj54bWxMaXN0UHRyPC9hPgl4bWxHZXRSZWZzCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogSUQpPGJyLz4KKzwvcHJlPjxwPkZpbmQgdGhlIHNldCBvZiByZWZlcmVuY2VzIGZvciB0aGUgc3VwcGxpZWQgSUQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnBvaW50ZXIgdG8gdGhlIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5JRDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIElEIHZhbHVlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5OVUxMIGlmIG5vdCBmb3VuZCwgb3RoZXJ3aXNlIG5vZGUgc2V0IGZvciB0aGUgSUQuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sSXNJRCIvPnhtbElzSUQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sSXNJRAkJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGVsZW0sIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQXR0clB0ciI+eG1sQXR0clB0cjwvYT4gYXR0cik8YnIvPgorPC9wcmU+PHA+RGV0ZXJtaW5lIHdoZXRoZXIgYW4gPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gaXMgb2YgdHlwZSBJRC4gSW4gY2FzZSB3ZSBoYXZlIERURChzKSB0aGVuIHRoaXMgaXMgZG9uZSBpZiBEVEQgbG9hZGluZyBoYXMgYmVlbiByZXF1ZXN0ZWQuIEluIHRoZSBjYXNlIG9mIEhUTUwgZG9jdW1lbnRzIHBhcnNlZCB3aXRoIHRoZSBIVE1MIHBhcnNlciwgdGhlbiBJRCBkZXRlY3Rpb24gaXMgZG9uZSBzeXN0ZW1hdGljYWxseS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbGVtPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZWxlbWVudCBjYXJyeWluZyB0aGUgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmF0dHI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBvciAxIGRlcGVuZGluZyBvbiB0aGUgbG9va3VwIHJlc3VsdDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbElzTWl4ZWRFbGVtZW50Ii8+eG1sSXNNaXhlZEVsZW1lbnQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sSXNNaXhlZEVsZW1lbnQJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKTxici8+Cis8L3ByZT48cD5TZWFyY2ggaW4gdGhlIER0RHMgd2hldGhlciBhbiBlbGVtZW50IGFjY2VwdCBNaXhlZCBjb250ZW50IChvciBBTlkpIGJhc2ljYWxseSBpZiBpdCBpcyBzdXBwb3NlZCB0byBhY2NlcHQgdGV4dCBjaGlsZHM8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZWxlbWVudCBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGlmIG5vLCAxIGlmIHllcywgYW5kIC0xIGlmIG5vIGVsZW1lbnQgZGVzY3JpcHRpb24gaXMgYXZhaWxhYmxlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sSXNSZWYiLz54bWxJc1JlZiAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxJc1JlZgkJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGVsZW0sIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQXR0clB0ciI+eG1sQXR0clB0cjwvYT4gYXR0cik8YnIvPgorPC9wcmU+PHA+RGV0ZXJtaW5lIHdoZXRoZXIgYW4gPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gaXMgb2YgdHlwZSBSZWYuIEluIGNhc2Ugd2UgaGF2ZSBEVEQocykgdGhlbiB0aGlzIGlzIHNpbXBsZSwgb3RoZXJ3aXNlIHdlIHVzZSBhbiBoZXVyaXN0aWM6IG5hbWUgUmVmICh1cHBlciBvciBsb3dlcmNhc2UpLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVsZW08L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbGVtZW50IGNhcnJ5aW5nIHRoZSA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YXR0cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIG9yIDEgZGVwZW5kaW5nIG9uIHRoZSBsb29rdXAgcmVzdWx0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTmV3RG9jRWxlbWVudENvbnRlbnQiLz54bWxOZXdEb2NFbGVtZW50Q29udGVudCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEVsZW1lbnRDb250ZW50UHRyIj54bWxFbGVtZW50Q29udGVudFB0cjwvYT4JeG1sTmV3RG9jRWxlbWVudENvbnRlbnQJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxici8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxFbGVtZW50Q29udGVudFR5cGUiPnhtbEVsZW1lbnRDb250ZW50VHlwZTwvYT4gdHlwZSk8YnIvPgorPC9wcmU+PHA+QWxsb2NhdGUgYW4gZWxlbWVudCBjb250ZW50IHN0cnVjdHVyZSBmb3IgdGhlIGRvY3VtZW50LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzdWJlbGVtZW50IG5hbWUgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dHlwZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHR5cGUgb2YgZWxlbWVudCBjb250ZW50IGRlY2w8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPk5VTEwgaWYgbm90LCBvdGhlcndpc2UgdGhlIG5ldyBlbGVtZW50IGNvbnRlbnQgc3RydWN0dXJlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTmV3RWxlbWVudENvbnRlbnQiLz54bWxOZXdFbGVtZW50Q29udGVudCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEVsZW1lbnRDb250ZW50UHRyIj54bWxFbGVtZW50Q29udGVudFB0cjwvYT4JeG1sTmV3RWxlbWVudENvbnRlbnQJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxFbGVtZW50Q29udGVudFR5cGUiPnhtbEVsZW1lbnRDb250ZW50VHlwZTwvYT4gdHlwZSk8YnIvPgorPC9wcmU+PHA+QWxsb2NhdGUgYW4gZWxlbWVudCBjb250ZW50IHN0cnVjdHVyZS4gRGVwcmVjYXRlZCBpbiBmYXZvciBvZiA8YSBocmVmPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sTmV3RG9jRWxlbWVudENvbnRlbnQiPnhtbE5ld0RvY0VsZW1lbnRDb250ZW50PC9hPjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHN1YmVsZW1lbnQgbmFtZSBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50eXBlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdHlwZSBvZiBlbGVtZW50IGNvbnRlbnQgZGVjbDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+TlVMTCBpZiBub3QsIG90aGVyd2lzZSB0aGUgbmV3IGVsZW1lbnQgY29udGVudCBzdHJ1Y3R1cmU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxOZXdWYWxpZEN0eHQiLz54bWxOZXdWYWxpZEN0eHQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sVmFsaWRDdHh0UHRyIj54bWxWYWxpZEN0eHRQdHI8L2E+CXhtbE5ld1ZhbGlkQ3R4dAkJKHZvaWQpPGJyLz4KKzwvcHJlPjxwPkFsbG9jYXRlIGEgdmFsaWRhdGlvbiBjb250ZXh0IHN0cnVjdHVyZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPk5VTEwgaWYgbm90LCBvdGhlcndpc2UgdGhlIG5ldyB2YWxpZGF0aW9uIGNvbnRleHQgc3RydWN0dXJlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUmVtb3ZlSUQiLz54bWxSZW1vdmVJRCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxSZW1vdmVJRAkJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEF0dHJQdHIiPnhtbEF0dHJQdHI8L2E+IGF0dHIpPGJyLz4KKzwvcHJlPjxwPlJlbW92ZSB0aGUgZ2l2ZW4gPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gZnJvbSB0aGUgSUQgdGFibGUgbWFpbnRhaW5lZCBpbnRlcm5hbGx5LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmF0dHI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+LTEgaWYgdGhlIGxvb2t1cCBmYWlsZWQgYW5kIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUmVtb3ZlUmVmIi8+eG1sUmVtb3ZlUmVmICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFJlbW92ZVJlZgkJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEF0dHJQdHIiPnhtbEF0dHJQdHI8L2E+IGF0dHIpPGJyLz4KKzwvcHJlPjxwPlJlbW92ZSB0aGUgZ2l2ZW4gPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gZnJvbSB0aGUgUmVmIHRhYmxlIG1haW50YWluZWQgaW50ZXJuYWxseS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5hdHRyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPi0xIGlmIHRoZSBsb29rdXAgZmFpbGVkIGFuZCAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNucHJpbnRmRWxlbWVudENvbnRlbnQiLz54bWxTbnByaW50ZkVsZW1lbnRDb250ZW50ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxTbnByaW50ZkVsZW1lbnRDb250ZW50CShjaGFyICogYnVmLCA8YnIvPgkJCQkJIGludCBzaXplLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEVsZW1lbnRDb250ZW50UHRyIj54bWxFbGVtZW50Q29udGVudFB0cjwvYT4gY29udGVudCwgPGJyLz4JCQkJCSBpbnQgZW5nbG9iKTxici8+Cis8L3ByZT48cD5UaGlzIHdpbGwgZHVtcCB0aGUgY29udGVudCBvZiB0aGUgZWxlbWVudCBjb250ZW50IGRlZmluaXRpb24gSW50ZW5kZWQganVzdCBmb3IgdGhlIGRlYnVnIHJvdXRpbmU8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmJ1ZjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gb3V0cHV0IGJ1ZmZlcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2l6ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ1ZmZlciBzaXplPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb250ZW50PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5BbiBlbGVtZW50IHRhYmxlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbmdsb2I8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgb25lIG11c3QgcHJpbnQgdGhlIGVuZ2xvYmluZyBwYXJlbnRoZXNpcywgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTcHJpbnRmRWxlbWVudENvbnRlbnQiLz54bWxTcHJpbnRmRWxlbWVudENvbnRlbnQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFNwcmludGZFbGVtZW50Q29udGVudAkoY2hhciAqIGJ1ZiwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxFbGVtZW50Q29udGVudFB0ciI+eG1sRWxlbWVudENvbnRlbnRQdHI8L2E+IGNvbnRlbnQsIDxici8+CQkJCQkgaW50IGVuZ2xvYik8YnIvPgorPC9wcmU+PHA+RGVwcmVjYXRlZCwgdW5zYWZlLCB1c2UgPGEgaHJlZj0ibGlieG1sMi12YWxpZC5odG1sI3htbFNucHJpbnRmRWxlbWVudENvbnRlbnQiPnhtbFNucHJpbnRmRWxlbWVudENvbnRlbnQ8L2E+PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5idWY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIG91dHB1dCBidWZmZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbnRlbnQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPkFuIGVsZW1lbnQgdGFibGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVuZ2xvYjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiBvbmUgbXVzdCBwcmludCB0aGUgZW5nbG9iaW5nIHBhcmVudGhlc2lzLCAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFZhbGlkQnVpbGRDb250ZW50TW9kZWwiLz54bWxWYWxpZEJ1aWxkQ29udGVudE1vZGVsICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFZhbGlkQnVpbGRDb250ZW50TW9kZWwJKDxhIGhyZWY9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxWYWxpZEN0eHRQdHIiPnhtbFZhbGlkQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxFbGVtZW50UHRyIj54bWxFbGVtZW50UHRyPC9hPiBlbGVtKTxici8+Cis8L3ByZT48cD4oUmUpQnVpbGQgdGhlIGF1dG9tYXRhIGFzc29jaWF0ZWQgdG8gdGhlIGNvbnRlbnQgbW9kZWwgb2YgdGhpcyBlbGVtZW50PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHZhbGlkYXRpb24gY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZWxlbTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gZWxlbWVudCBkZWNsYXJhdGlvbiBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGluIGNhc2Ugb2Ygc3VjY2VzcywgMCBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVmFsaWRDdHh0Tm9ybWFsaXplQXR0cmlidXRlVmFsdWUiLz54bWxWYWxpZEN0eHROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxWYWxpZEN0eHROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZQkoPGEgaHJlZj0ibGlieG1sMi12YWxpZC5odG1sI3htbFZhbGlkQ3R4dFB0ciI+eG1sVmFsaWRDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyLz4JCQkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGVsZW0sIDxici8+CQkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB2YWx1ZSk8YnIvPgorPC9wcmU+PHA+RG9lcyB0aGUgdmFsaWRhdGlvbiByZWxhdGVkIGV4dHJhIHN0ZXAgb2YgdGhlIG5vcm1hbGl6YXRpb24gb2YgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gdmFsdWVzOiBJZiB0aGUgZGVjbGFyZWQgdmFsdWUgaXMgbm90IENEQVRBLCB0aGVuIHRoZSBYTUwgcHJvY2Vzc29yIG11c3QgZnVydGhlciBwcm9jZXNzIHRoZSBub3JtYWxpemVkIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IHZhbHVlIGJ5IGRpc2NhcmRpbmcgYW55IGxlYWRpbmcgYW5kIHRyYWlsaW5nIHNwYWNlICgjeDIwKSBjaGFyYWN0ZXJzLCBhbmQgYnkgcmVwbGFjaW5nIHNlcXVlbmNlcyBvZiBzcGFjZSAoI3gyMCkgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNjaGFyYWN0ZXJzIj5jaGFyYWN0ZXJzPC9hPiBieSBzaW5nbGUgc3BhY2UgKCN4MjApIGNoYXJhY3Rlci4gQWxzbyBjaGVjayBWQzogU3RhbmRhbG9uZSBEb2N1bWVudCBEZWNsYXJhdGlvbiBpbiBQMzIsIGFuZCB1cGRhdGUgY3R4dC0mZ3Q7dmFsaWQgYWNjb3JkaW5nbHk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB2YWxpZGF0aW9uIGNvbnRleHQgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVsZW08L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwYXJlbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWx1ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IHZhbHVlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIG5ldyBub3JtYWxpemVkIHN0cmluZyBpZiBub3JtYWxpemF0aW9uIGlzIG5lZWRlZCwgTlVMTCBvdGhlcndpc2UgdGhlIGNhbGxlciBtdXN0IGZyZWUgdGhlIHJldHVybmVkIHZhbHVlLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFZhbGlkR2V0UG90ZW50aWFsQ2hpbGRyZW4iLz54bWxWYWxpZEdldFBvdGVudGlhbENoaWxkcmVuICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFZhbGlkR2V0UG90ZW50aWFsQ2hpbGRyZW4JKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEVsZW1lbnRDb250ZW50Ij54bWxFbGVtZW50Q29udGVudDwvYT4gKiBjdHJlZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoqIG5hbWVzLCA8YnIvPgkJCQkJIGludCAqIGxlbiwgPGJyLz4JCQkJCSBpbnQgbWF4KTxici8+Cis8L3ByZT48cD5CdWlsZC9leHRlbmQgYSBsaXN0IG9mIHBvdGVudGlhbCBjaGlsZHJlbiBhbGxvd2VkIGJ5IHRoZSBjb250ZW50IHRyZWU8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0cmVlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBlbGVtZW50IGNvbnRlbnQgdHJlZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZXM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIGFycmF5IHRvIHN0b3JlIHRoZSBsaXN0IG9mIGNoaWxkIG5hbWVzPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byB0aGUgbnVtYmVyIG9mIGVsZW1lbnQgaW4gdGhlIGxpc3Q8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm1heDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHNpemUgb2YgdGhlIGFycmF5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGVsZW1lbnQgaW4gdGhlIGxpc3QsIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzIi8+eG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFZhbGlkR2V0VmFsaWRFbGVtZW50cwkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZSI+eG1sTm9kZTwvYT4gKiBwcmV2LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGUiPnhtbE5vZGU8L2E+ICogbmV4dCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoqIG5hbWVzLCA8YnIvPgkJCQkJIGludCBtYXgpPGJyLz4KKzwvcHJlPjxwPlRoaXMgZnVuY3Rpb24gcmV0dXJucyB0aGUgbGlzdCBvZiBhdXRob3JpemVkIGNoaWxkcmVuIHRvIGluc2VydCB3aXRoaW4gYW4gZXhpc3RpbmcgdHJlZSB3aGlsZSByZXNwZWN0aW5nIHRoZSB2YWxpZGl0eSBjb25zdHJhaW50cyBmb3JjZWQgYnkgdGhlIER0ZC4gVGhlIGluc2VydGlvbiBwb2ludCBpcyBkZWZpbmVkIHVzaW5nIEBwcmV2IGFuZCBAbmV4dCBpbiB0aGUgZm9sbG93aW5nIHdheXM6IHRvIGluc2VydCBiZWZvcmUgJ25vZGUnOiB4bWxWYWxpZEdldFZhbGlkRWxlbWVudHMobm9kZS0mZ3Q7cHJldiwgbm9kZSwgLi4uIHRvIGluc2VydCBuZXh0ICdub2RlJzogeG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzKG5vZGUsIG5vZGUtJmd0O25leHQsIC4uLiB0byByZXBsYWNlICdub2RlJzogeG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzKG5vZGUtJmd0O3ByZXYsIG5vZGUtJmd0O25leHQsIC4uLiB0byBwcmVwZW5kIGEgY2hpbGQgdG8gJ25vZGUnOiB4bWxWYWxpZEdldFZhbGlkRWxlbWVudHMoTlVMTCwgbm9kZS0mZ3Q7Y2hpbGRzLCB0byBhcHBlbmQgYSBjaGlsZCB0byAnbm9kZSc6IHhtbFZhbGlkR2V0VmFsaWRFbGVtZW50cyhub2RlLSZndDtsYXN0LCBOVUxMLCAuLi4gcG9pbnRlcnMgdG8gdGhlIGVsZW1lbnQgbmFtZXMgYXJlIGluc2VydGVkIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGFycmF5IGFuZCBkbyBub3QgbmVlZCB0byBiZSBmcmVlZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnByZXY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIGVsZW1lbnQgdG8gaW5zZXJ0IGFmdGVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uZXh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBlbGVtZW50IHRvIGluc2VydCBuZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gYXJyYXkgdG8gc3RvcmUgdGhlIGxpc3Qgb2YgY2hpbGQgbmFtZXM8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm1heDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHNpemUgb2YgdGhlIGFycmF5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGVsZW1lbnQgaW4gdGhlIGxpc3QsIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IuIElmIHRoZSBmdW5jdGlvbiByZXR1cm5zIHRoZSB2YWx1ZSBAbWF4IHRoZSBjYWxsZXIgaXMgaW52aXRlZCB0byBncm93IHRoZSByZWNlaXZpbmcgYXJyYXkgYW5kIHJldHJ5LjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFZhbGlkTm9ybWFsaXplQXR0cmlidXRlVmFsdWUiLz54bWxWYWxpZE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbFZhbGlkTm9ybWFsaXplQXR0cmlidXRlVmFsdWUJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxici8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGVsZW0sIDxici8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUpPGJyLz4KKzwvcHJlPjxwPkRvZXMgdGhlIHZhbGlkYXRpb24gcmVsYXRlZCBleHRyYSBzdGVwIG9mIHRoZSBub3JtYWxpemF0aW9uIG9mIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IHZhbHVlczogSWYgdGhlIGRlY2xhcmVkIHZhbHVlIGlzIG5vdCBDREFUQSwgdGhlbiB0aGUgWE1MIHByb2Nlc3NvciBtdXN0IGZ1cnRoZXIgcHJvY2VzcyB0aGUgbm9ybWFsaXplZCA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiB2YWx1ZSBieSBkaXNjYXJkaW5nIGFueSBsZWFkaW5nIGFuZCB0cmFpbGluZyBzcGFjZSAoI3gyMCkgY2hhcmFjdGVycywgYW5kIGJ5IHJlcGxhY2luZyBzZXF1ZW5jZXMgb2Ygc3BhY2UgKCN4MjApIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjY2hhcmFjdGVycyI+Y2hhcmFjdGVyczwvYT4gYnkgc2luZ2xlIHNwYWNlICgjeDIwKSBjaGFyYWN0ZXIuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZWxlbTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHBhcmVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbHVlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gdmFsdWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbmV3IG5vcm1hbGl6ZWQgc3RyaW5nIGlmIG5vcm1hbGl6YXRpb24gaXMgbmVlZGVkLCBOVUxMIG90aGVyd2lzZSB0aGUgY2FsbGVyIG11c3QgZnJlZSB0aGUgcmV0dXJuZWQgdmFsdWUuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVmFsaWRhdGVBdHRyaWJ1dGVEZWNsIi8+eG1sVmFsaWRhdGVBdHRyaWJ1dGVEZWNsICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFZhbGlkYXRlQXR0cmlidXRlRGVjbAkoPGEgaHJlZj0ibGlieG1sMi12YWxpZC5odG1sI3htbFZhbGlkQ3R4dFB0ciI+eG1sVmFsaWRDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQXR0cmlidXRlUHRyIj54bWxBdHRyaWJ1dGVQdHI8L2E+IGF0dHIpPGJyLz4KKzwvcHJlPjxwPlRyeSB0byB2YWxpZGF0ZSBhIHNpbmdsZSA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBkZWZpbml0aW9uIGJhc2ljYWxseSBpdCBkb2VzIHRoZSBmb2xsb3dpbmcgY2hlY2tzIGFzIGRlc2NyaWJlZCBieSB0aGUgWE1MLTEuMCByZWNvbW1lbmRhdGlvbjogLSBbIFZDOiBBdHRyaWJ1dGUgRGVmYXVsdCBMZWdhbCBdIC0gWyBWQzogRW51bWVyYXRpb24gXSAtIFsgVkM6IElEIEF0dHJpYnV0ZSBEZWZhdWx0IF0gVGhlIElEL0lEUkVGIHVuaXF1ZW5lc3MgYW5kIG1hdGNoaW5nIGFyZSBkb25lIHNlcGFyYXRlbHk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB2YWxpZGF0aW9uIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBkb2N1bWVudCBpbnN0YW5jZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YXR0cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gZGVmaW5pdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB2YWxpZCBvciAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFZhbGlkYXRlQXR0cmlidXRlVmFsdWUiLz54bWxWYWxpZGF0ZUF0dHJpYnV0ZVZhbHVlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFZhbGlkYXRlQXR0cmlidXRlVmFsdWUJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEF0dHJpYnV0ZVR5cGUiPnhtbEF0dHJpYnV0ZVR5cGU8L2E+IHR5cGUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHZhbHVlKTxici8+Cis8L3ByZT48cD5WYWxpZGF0ZSB0aGF0IHRoZSBnaXZlbiA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiB2YWx1ZSBtYXRjaCB0aGUgcHJvcGVyIHByb2R1Y3Rpb24gWyBWQzogSUQgXSBWYWx1ZXMgb2YgdHlwZSBJRCBtdXN0IG1hdGNoIHRoZSBOYW1lIHByb2R1Y3Rpb24uLi4uIFsgVkM6IElEUkVGIF0gVmFsdWVzIG9mIHR5cGUgSURSRUYgbXVzdCBtYXRjaCB0aGUgTmFtZSBwcm9kdWN0aW9uLCBhbmQgdmFsdWVzIG9mIHR5cGUgSURSRUZTIG11c3QgbWF0Y2ggTmFtZXMgLi4uIFsgVkM6IEVudGl0eSBOYW1lIF0gVmFsdWVzIG9mIHR5cGUgRU5USVRZIG11c3QgbWF0Y2ggdGhlIE5hbWUgcHJvZHVjdGlvbiwgdmFsdWVzIG9mIHR5cGUgRU5USVRJRVMgbXVzdCBtYXRjaCBOYW1lcyAuLi4gWyBWQzogTmFtZSBUb2tlbiBdIFZhbHVlcyBvZiB0eXBlIE5NVE9LRU4gbXVzdCBtYXRjaCB0aGUgTm10b2tlbiBwcm9kdWN0aW9uOyB2YWx1ZXMgb2YgdHlwZSBOTVRPS0VOUyBtdXN0IG1hdGNoIE5tdG9rZW5zLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dHlwZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gdHlwZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsdWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IHZhbHVlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHZhbGlkIG9yIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVmFsaWRhdGVEb2N1bWVudCIvPnhtbFZhbGlkYXRlRG9jdW1lbnQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVmFsaWRhdGVEb2N1bWVudAkJKDxhIGhyZWY9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxWYWxpZEN0eHRQdHIiPnhtbFZhbGlkQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jKTxici8+Cis8L3ByZT48cD5UcnkgdG8gdmFsaWRhdGUgdGhlIGRvY3VtZW50IGluc3RhbmNlIGJhc2ljYWxseSBpdCBkb2VzIHRoZSBhbGwgdGhlIGNoZWNrcyBkZXNjcmliZWQgYnkgdGhlIFhNTCBSZWMgaS5lLiB2YWxpZGF0ZXMgdGhlIGludGVybmFsIGFuZCBleHRlcm5hbCBzdWJzZXQgKGlmIHByZXNlbnQpIGFuZCB2YWxpZGF0ZSB0aGUgZG9jdW1lbnQgdHJlZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB2YWxpZGF0aW9uIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBkb2N1bWVudCBpbnN0YW5jZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB2YWxpZCBvciAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFZhbGlkYXRlRG9jdW1lbnRGaW5hbCIvPnhtbFZhbGlkYXRlRG9jdW1lbnRGaW5hbCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxWYWxpZGF0ZURvY3VtZW50RmluYWwJKDxhIGhyZWY9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxWYWxpZEN0eHRQdHIiPnhtbFZhbGlkQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jKTxici8+Cis8L3ByZT48cD5Eb2VzIHRoZSBmaW5hbCBzdGVwIGZvciB0aGUgZG9jdW1lbnQgdmFsaWRhdGlvbiBvbmNlIGFsbCB0aGUgaW5jcmVtZW50YWwgdmFsaWRhdGlvbiBzdGVwcyBoYXZlIGJlZW4gY29tcGxldGVkIGJhc2ljYWxseSBpdCBkb2VzIHRoZSBmb2xsb3dpbmcgY2hlY2tzIGRlc2NyaWJlZCBieSB0aGUgWE1MIFJlYyBDaGVjayBhbGwgdGhlIElEUkVGL0lEUkVGUyBhdHRyaWJ1dGVzIGRlZmluaXRpb24gZm9yIHZhbGlkaXR5PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdmFsaWRhdGlvbiBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgZG9jdW1lbnQgaW5zdGFuY2U8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdmFsaWQgb3IgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxWYWxpZGF0ZUR0ZCIvPnhtbFZhbGlkYXRlRHRkICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFZhbGlkYXRlRHRkCQkJKDxhIGhyZWY9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxWYWxpZEN0eHRQdHIiPnhtbFZhbGlkQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbER0ZFB0ciI+eG1sRHRkUHRyPC9hPiBkdGQpPGJyLz4KKzwvcHJlPjxwPlRyeSB0byB2YWxpZGF0ZSB0aGUgZG9jdW1lbnQgYWdhaW5zdCB0aGUgZHRkIGluc3RhbmNlIEJhc2ljYWxseSBpdCBkb2VzIGNoZWNrIGFsbCB0aGUgZGVmaW5pdGlvbnMgaW4gdGhlIER0RC4gTm90ZSB0aGUgdGhlIGludGVybmFsIHN1YnNldCAoaWYgcHJlc2VudCkgaXMgZGUtY291cGxlZCAoaS5lLiBub3QgdXNlZCksIHdoaWNoIGNvdWxkIGdpdmUgcHJvYmxlbXMgaWYgSUQgb3IgSURSRUYgaXMgcHJlc2VudC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB2YWxpZGF0aW9uIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBkb2N1bWVudCBpbnN0YW5jZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZHRkPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGR0ZCBpbnN0YW5jZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB2YWxpZCBvciAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFZhbGlkYXRlRHRkRmluYWwiLz54bWxWYWxpZGF0ZUR0ZEZpbmFsICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFZhbGlkYXRlRHRkRmluYWwJCSg8YSBocmVmPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sVmFsaWRDdHh0UHRyIj54bWxWYWxpZEN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYyk8YnIvPgorPC9wcmU+PHA+RG9lcyB0aGUgZmluYWwgc3RlcCBmb3IgdGhlIGR0ZHMgdmFsaWRhdGlvbiBvbmNlIGFsbCB0aGUgc3Vic2V0cyBoYXZlIGJlZW4gcGFyc2VkIGJhc2ljYWxseSBpdCBkb2VzIHRoZSBmb2xsb3dpbmcgY2hlY2tzIGRlc2NyaWJlZCBieSB0aGUgWE1MIFJlYyAtIGNoZWNrIHRoYXQgRU5USVRZIGFuZCBFTlRJVElFUyB0eXBlIGF0dHJpYnV0ZXMgZGVmYXVsdCBvciBwb3NzaWJsZSB2YWx1ZXMgbWF0Y2hlcyBvbmUgb2YgdGhlIGRlZmluZWQgZW50aXRpZXMuIC0gY2hlY2sgdGhhdCBOT1RBVElPTiB0eXBlIGF0dHJpYnV0ZXMgZGVmYXVsdCBvciBwb3NzaWJsZSB2YWx1ZXMgbWF0Y2hlcyBvbmUgb2YgdGhlIGRlZmluZWQgbm90YXRpb25zLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHZhbGlkYXRpb24gY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGRvY3VtZW50IGluc3RhbmNlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHZhbGlkIG9yIDAgaWYgaW52YWxpZCBhbmQgLTEgaWYgbm90IHdlbGwtZm9ybWVkPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVmFsaWRhdGVFbGVtZW50Ii8+eG1sVmFsaWRhdGVFbGVtZW50ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFZhbGlkYXRlRWxlbWVudAkJKDxhIGhyZWY9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxWYWxpZEN0eHRQdHIiPnhtbFZhbGlkQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGVsZW0pPGJyLz4KKzwvcHJlPjxwPlRyeSB0byB2YWxpZGF0ZSB0aGUgc3VidHJlZSB1bmRlciBhbiBlbGVtZW50PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdmFsaWRhdGlvbiBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgZG9jdW1lbnQgaW5zdGFuY2U8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVsZW08L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIGVsZW1lbnQgaW5zdGFuY2U8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdmFsaWQgb3IgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxWYWxpZGF0ZUVsZW1lbnREZWNsIi8+eG1sVmFsaWRhdGVFbGVtZW50RGVjbCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxWYWxpZGF0ZUVsZW1lbnREZWNsCQkoPGEgaHJlZj0ibGlieG1sMi12YWxpZC5odG1sI3htbFZhbGlkQ3R4dFB0ciI+eG1sVmFsaWRDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRWxlbWVudFB0ciI+eG1sRWxlbWVudFB0cjwvYT4gZWxlbSk8YnIvPgorPC9wcmU+PHA+VHJ5IHRvIHZhbGlkYXRlIGEgc2luZ2xlIGVsZW1lbnQgZGVmaW5pdGlvbiBiYXNpY2FsbHkgaXQgZG9lcyB0aGUgZm9sbG93aW5nIGNoZWNrcyBhcyBkZXNjcmliZWQgYnkgdGhlIFhNTC0xLjAgcmVjb21tZW5kYXRpb246IC0gWyBWQzogT25lIElEIHBlciBFbGVtZW50IFR5cGUgXSAtIFsgVkM6IE5vIER1cGxpY2F0ZSBUeXBlcyBdIC0gWyBWQzogVW5pcXVlIEVsZW1lbnQgVHlwZSBEZWNsYXJhdGlvbiBdPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdmFsaWRhdGlvbiBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgZG9jdW1lbnQgaW5zdGFuY2U8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVsZW08L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIGVsZW1lbnQgZGVmaW5pdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB2YWxpZCBvciAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFZhbGlkYXRlTmFtZVZhbHVlIi8+eG1sVmFsaWRhdGVOYW1lVmFsdWUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVmFsaWRhdGVOYW1lVmFsdWUJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUpPGJyLz4KKzwvcHJlPjxwPlZhbGlkYXRlIHRoYXQgdGhlIGdpdmVuIHZhbHVlIG1hdGNoIE5hbWUgcHJvZHVjdGlvbjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsdWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIE5hbWUgdmFsdWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdmFsaWQgb3IgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxWYWxpZGF0ZU5hbWVzVmFsdWUiLz54bWxWYWxpZGF0ZU5hbWVzVmFsdWUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVmFsaWRhdGVOYW1lc1ZhbHVlCQkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHZhbHVlKTxici8+Cis8L3ByZT48cD5WYWxpZGF0ZSB0aGF0IHRoZSBnaXZlbiB2YWx1ZSBtYXRjaCBOYW1lcyBwcm9kdWN0aW9uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWx1ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gTmFtZXMgdmFsdWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdmFsaWQgb3IgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxWYWxpZGF0ZU5tdG9rZW5WYWx1ZSIvPnhtbFZhbGlkYXRlTm10b2tlblZhbHVlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFZhbGlkYXRlTm10b2tlblZhbHVlCQkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHZhbHVlKTxici8+Cis8L3ByZT48cD5WYWxpZGF0ZSB0aGF0IHRoZSBnaXZlbiB2YWx1ZSBtYXRjaCBObXRva2VuIHByb2R1Y3Rpb24gWyBWQzogTmFtZSBUb2tlbiBdPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWx1ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gTm10b2tlbiB2YWx1ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB2YWxpZCBvciAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFZhbGlkYXRlTm10b2tlbnNWYWx1ZSIvPnhtbFZhbGlkYXRlTm10b2tlbnNWYWx1ZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxWYWxpZGF0ZU5tdG9rZW5zVmFsdWUJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB2YWx1ZSk8YnIvPgorPC9wcmU+PHA+VmFsaWRhdGUgdGhhdCB0aGUgZ2l2ZW4gdmFsdWUgbWF0Y2ggTm10b2tlbnMgcHJvZHVjdGlvbiBbIFZDOiBOYW1lIFRva2VuIF08L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbHVlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBObXRva2VucyB2YWx1ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB2YWxpZCBvciAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFZhbGlkYXRlTm90YXRpb25EZWNsIi8+eG1sVmFsaWRhdGVOb3RhdGlvbkRlY2wgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVmFsaWRhdGVOb3RhdGlvbkRlY2wJCSg8YSBocmVmPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sVmFsaWRDdHh0UHRyIj54bWxWYWxpZEN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb3RhdGlvblB0ciI+eG1sTm90YXRpb25QdHI8L2E+IG5vdGEpPGJyLz4KKzwvcHJlPjxwPlRyeSB0byB2YWxpZGF0ZSBhIHNpbmdsZSBub3RhdGlvbiBkZWZpbml0aW9uIGJhc2ljYWxseSBpdCBkb2VzIHRoZSBmb2xsb3dpbmcgY2hlY2tzIGFzIGRlc2NyaWJlZCBieSB0aGUgWE1MLTEuMCByZWNvbW1lbmRhdGlvbjogLSBpdCBzZWVtcyB0aGF0IG5vIHZhbGlkaXR5IGNvbnN0cmFpbnQgZXhpc3RzIG9uIG5vdGF0aW9uIGRlY2xhcmF0aW9ucyBCdXQgdGhpcyBmdW5jdGlvbiBnZXQgY2FsbGVkIGFueXdheSAuLi48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB2YWxpZGF0aW9uIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBkb2N1bWVudCBpbnN0YW5jZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm90YTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBub3RhdGlvbiBkZWZpbml0aW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHZhbGlkIG9yIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVmFsaWRhdGVOb3RhdGlvblVzZSIvPnhtbFZhbGlkYXRlTm90YXRpb25Vc2UgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVmFsaWRhdGVOb3RhdGlvblVzZQkJKDxhIGhyZWY9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxWYWxpZEN0eHRQdHIiPnhtbFZhbGlkQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBub3RhdGlvbk5hbWUpPGJyLz4KKzwvcHJlPjxwPlZhbGlkYXRlIHRoYXQgdGhlIGdpdmVuIG5hbWUgbWF0Y2ggYSBub3RhdGlvbiBkZWNsYXJhdGlvbi4gLSBbIFZDOiBOb3RhdGlvbiBEZWNsYXJlZCBdPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdmFsaWRhdGlvbiBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm90YXRpb25OYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbm90YXRpb24gbmFtZSB0byBjaGVjazwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB2YWxpZCBvciAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFZhbGlkYXRlT25lQXR0cmlidXRlIi8+eG1sVmFsaWRhdGVPbmVBdHRyaWJ1dGUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVmFsaWRhdGVPbmVBdHRyaWJ1dGUJCSg8YSBocmVmPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sVmFsaWRDdHh0UHRyIj54bWxWYWxpZEN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBlbGVtLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEF0dHJQdHIiPnhtbEF0dHJQdHI8L2E+IGF0dHIsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHZhbHVlKTxici8+Cis8L3ByZT48cD5UcnkgdG8gdmFsaWRhdGUgYSBzaW5nbGUgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gZm9yIGFuIGVsZW1lbnQgYmFzaWNhbGx5IGl0IGRvZXMgdGhlIGZvbGxvd2luZyBjaGVja3MgYXMgZGVzY3JpYmVkIGJ5IHRoZSBYTUwtMS4wIHJlY29tbWVuZGF0aW9uOiAtIFsgVkM6IEF0dHJpYnV0ZSBWYWx1ZSBUeXBlIF0gLSBbIFZDOiBGaXhlZCBBdHRyaWJ1dGUgRGVmYXVsdCBdIC0gWyBWQzogRW50aXR5IE5hbWUgXSAtIFsgVkM6IE5hbWUgVG9rZW4gXSAtIFsgVkM6IElEIF0gLSBbIFZDOiBJRFJFRiBdIC0gWyBWQzogRW50aXR5IE5hbWUgXSAtIFsgVkM6IE5vdGF0aW9uIEF0dHJpYnV0ZXMgXSBUaGUgSUQvSURSRUYgdW5pcXVlbmVzcyBhbmQgbWF0Y2hpbmcgYXJlIGRvbmUgc2VwYXJhdGVseTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHZhbGlkYXRpb24gY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGRvY3VtZW50IGluc3RhbmNlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbGVtPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBlbGVtZW50IGluc3RhbmNlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5hdHRyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBpbnN0YW5jZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsdWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiB2YWx1ZSAod2l0aG91dCBlbnRpdGllcyBwcm9jZXNzaW5nKTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB2YWxpZCBvciAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFZhbGlkYXRlT25lRWxlbWVudCIvPnhtbFZhbGlkYXRlT25lRWxlbWVudCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxWYWxpZGF0ZU9uZUVsZW1lbnQJCSg8YSBocmVmPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sVmFsaWRDdHh0UHRyIj54bWxWYWxpZEN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBlbGVtKTxici8+Cis8L3ByZT48cD5UcnkgdG8gdmFsaWRhdGUgYSBzaW5nbGUgZWxlbWVudCBhbmQgaXQncyBhdHRyaWJ1dGVzLCBiYXNpY2FsbHkgaXQgZG9lcyB0aGUgZm9sbG93aW5nIGNoZWNrcyBhcyBkZXNjcmliZWQgYnkgdGhlIFhNTC0xLjAgcmVjb21tZW5kYXRpb246IC0gWyBWQzogRWxlbWVudCBWYWxpZCBdIC0gWyBWQzogUmVxdWlyZWQgQXR0cmlidXRlIF0gVGhlbiBjYWxsIHhtbFZhbGlkYXRlT25lQXR0cmlidXRlKCkgZm9yIGVhY2ggPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gcHJlc2VudC4gVGhlIElEL0lEUkVGIGNoZWNraW5ncyBhcmUgZG9uZSBzZXBhcmF0ZWx5PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdmFsaWRhdGlvbiBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgZG9jdW1lbnQgaW5zdGFuY2U8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVsZW08L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIGVsZW1lbnQgaW5zdGFuY2U8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdmFsaWQgb3IgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxWYWxpZGF0ZU9uZU5hbWVzcGFjZSIvPnhtbFZhbGlkYXRlT25lTmFtZXNwYWNlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFZhbGlkYXRlT25lTmFtZXNwYWNlCQkoPGEgaHJlZj0ibGlieG1sMi12YWxpZC5odG1sI3htbFZhbGlkQ3R4dFB0ciI+eG1sVmFsaWRDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gZWxlbSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHJlZml4LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5zUHRyIj54bWxOc1B0cjwvYT4gbnMsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHZhbHVlKTxici8+Cis8L3ByZT48cD5UcnkgdG8gdmFsaWRhdGUgYSBzaW5nbGUgbmFtZXNwYWNlIGRlY2xhcmF0aW9uIGZvciBhbiBlbGVtZW50IGJhc2ljYWxseSBpdCBkb2VzIHRoZSBmb2xsb3dpbmcgY2hlY2tzIGFzIGRlc2NyaWJlZCBieSB0aGUgWE1MLTEuMCByZWNvbW1lbmRhdGlvbjogLSBbIFZDOiBBdHRyaWJ1dGUgVmFsdWUgVHlwZSBdIC0gWyBWQzogRml4ZWQgQXR0cmlidXRlIERlZmF1bHQgXSAtIFsgVkM6IEVudGl0eSBOYW1lIF0gLSBbIFZDOiBOYW1lIFRva2VuIF0gLSBbIFZDOiBJRCBdIC0gWyBWQzogSURSRUYgXSAtIFsgVkM6IEVudGl0eSBOYW1lIF0gLSBbIFZDOiBOb3RhdGlvbiBBdHRyaWJ1dGVzIF0gVGhlIElEL0lEUkVGIHVuaXF1ZW5lc3MgYW5kIG1hdGNoaW5nIGFyZSBkb25lIHNlcGFyYXRlbHk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB2YWxpZGF0aW9uIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBkb2N1bWVudCBpbnN0YW5jZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZWxlbTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gZWxlbWVudCBpbnN0YW5jZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cHJlZml4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZXNwYWNlIHByZWZpeDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIG5hbWVzcGFjZSBkZWNsYXJhdGlvbiBpbnN0YW5jZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsdWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiB2YWx1ZSAod2l0aG91dCBlbnRpdGllcyBwcm9jZXNzaW5nKTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB2YWxpZCBvciAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFZhbGlkYXRlUG9wRWxlbWVudCIvPnhtbFZhbGlkYXRlUG9wRWxlbWVudCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxWYWxpZGF0ZVBvcEVsZW1lbnQJCSg8YSBocmVmPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sVmFsaWRDdHh0UHRyIj54bWxWYWxpZEN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBlbGVtLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBxbmFtZSk8YnIvPgorPC9wcmU+PHA+UG9wIHRoZSBlbGVtZW50IGVuZCBmcm9tIHRoZSB2YWxpZGF0aW9uIHN0YWNrLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHZhbGlkYXRpb24gY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGRvY3VtZW50IGluc3RhbmNlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbGVtPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBlbGVtZW50IGluc3RhbmNlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5xbmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHF1YWxpZmllZCBuYW1lIGFzIGFwcGVhcmluZyBpbiB0aGUgc2VyaWFsaXphdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiBubyB2YWxpZGF0aW9uIHByb2JsZW0gd2FzIGZvdW5kIG9yIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVmFsaWRhdGVQdXNoQ0RhdGEiLz54bWxWYWxpZGF0ZVB1c2hDRGF0YSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxWYWxpZGF0ZVB1c2hDRGF0YQkJKDxhIGhyZWY9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxWYWxpZEN0eHRQdHIiPnhtbFZhbGlkQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogZGF0YSwgPGJyLz4JCQkJCSBpbnQgbGVuKTxici8+Cis8L3ByZT48cD5jaGVjayB0aGUgQ0RhdGEgcGFyc2VkIGZvciB2YWxpZGF0aW9uIGluIHRoZSBjdXJyZW50IHN0YWNrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdmFsaWRhdGlvbiBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kYXRhPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5zb21lIGNoYXJhY3RlciBkYXRhIHJlYWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxlbmd0aCBvZiB0aGUgZGF0YTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiBubyB2YWxpZGF0aW9uIHByb2JsZW0gd2FzIGZvdW5kIG9yIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVmFsaWRhdGVQdXNoRWxlbWVudCIvPnhtbFZhbGlkYXRlUHVzaEVsZW1lbnQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVmFsaWRhdGVQdXNoRWxlbWVudAkJKDxhIGhyZWY9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxWYWxpZEN0eHRQdHIiPnhtbFZhbGlkQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGVsZW0sIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHFuYW1lKTxici8+Cis8L3ByZT48cD5QdXNoIGEgbmV3IGVsZW1lbnQgc3RhcnQgb24gdGhlIHZhbGlkYXRpb24gc3RhY2suPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdmFsaWRhdGlvbiBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgZG9jdW1lbnQgaW5zdGFuY2U8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVsZW08L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIGVsZW1lbnQgaW5zdGFuY2U8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnFuYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcXVhbGlmaWVkIG5hbWUgYXMgYXBwZWFyaW5nIGluIHRoZSBzZXJpYWxpemF0aW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIG5vIHZhbGlkYXRpb24gcHJvYmxlbSB3YXMgZm91bmQgb3IgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxWYWxpZGF0ZVJvb3QiLz54bWxWYWxpZGF0ZVJvb3QgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVmFsaWRhdGVSb290CQkJKDxhIGhyZWY9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxWYWxpZEN0eHRQdHIiPnhtbFZhbGlkQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jKTxici8+Cis8L3ByZT48cD5UcnkgdG8gdmFsaWRhdGUgYSB0aGUgcm9vdCBlbGVtZW50IGJhc2ljYWxseSBpdCBkb2VzIHRoZSBmb2xsb3dpbmcgY2hlY2sgYXMgZGVzY3JpYmVkIGJ5IHRoZSBYTUwtMS4wIHJlY29tbWVuZGF0aW9uOiAtIFsgVkM6IFJvb3QgRWxlbWVudCBUeXBlIF0gaXQgZG9lc24ndCB0cnkgdG8gcmVjdXJzZSBvciBhcHBseSBvdGhlciBjaGVjayB0byB0aGUgZWxlbWVudDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHZhbGlkYXRpb24gY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGRvY3VtZW50IGluc3RhbmNlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHZhbGlkIG9yIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgIDwvZGl2PgorICAgIDwvZGl2PgorICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9kZXZoZWxwL2xpYnhtbDIteGluY2x1ZGUuaHRtbCBiL2xpYnhtbDIvZG9jL2RldmhlbHAvbGlieG1sMi14aW5jbHVkZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEyYTYxZDUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9kZXZoZWxwL2xpYnhtbDIteGluY2x1ZGUuaHRtbApAQCAtMCwwICsxLDE2OSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxodG1sPgorICA8aGVhZD4KKyAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIvPgorICAgIDx0aXRsZT54aW5jbHVkZTogaW1wbGVtZW50YXRpb24gb2YgWEluY2x1ZGU8L3RpdGxlPgorICAgIDxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iTGlieG1sMiBkZXZoZWxwIHN0eWxlc2hlZXQiLz4KKyAgICA8bGluayByZWw9InN0YXJ0IiBocmVmPSJpbmRleC5odG1sIiB0aXRsZT0ibGlieG1sMiBSZWZlcmVuY2UgTWFudWFsIi8+CisgICAgPGxpbmsgcmVsPSJ1cCIgaHJlZj0iZ2VuZXJhbC5odG1sIiB0aXRsZT0iQVBJIi8+CisgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJzdHlsZS5jc3MiIHR5cGU9InRleHQvY3NzIi8+CisgICAgPGxpbmsgcmVsPSJjaGFwdGVyIiBocmVmPSJnZW5lcmFsLmh0bWwiIHRpdGxlPSJBUEkiLz4KKyAgPC9oZWFkPgorICA8Ym9keSBiZ2NvbG9yPSJ3aGl0ZSIgdGV4dD0iYmxhY2siIGxpbms9IiMwMDAwRkYiIHZsaW5rPSIjODQwMDg0IiBhbGluaz0iIzAwMDBGRiI+CisgICAgPHRhYmxlIGNsYXNzPSJuYXZpZ2F0aW9uIiB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBoZWFkZXIiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMiI+CisgICAgICA8dHIgdmFsaWduPSJtaWRkbGUiPgorICAgICAgICA8dGQ+CisgICAgICAgICAgPGEgYWNjZXNza2V5PSJwIiBocmVmPSJsaWJ4bWwyLXZhbGlkLmh0bWwiPgorICAgICAgICAgICAgPGltZyBzcmM9ImxlZnQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJQcmV2Ii8+CisgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGQ+CisgICAgICAgICAgPGEgYWNjZXNza2V5PSJ1IiBocmVmPSJnZW5lcmFsLmh0bWwiPgorICAgICAgICAgICAgPGltZyBzcmM9InVwLnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iVXAiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9ImgiIGhyZWY9ImluZGV4Lmh0bWwiPgorICAgICAgICAgICAgPGltZyBzcmM9ImhvbWUucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJIb21lIi8+CisgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGQ+CisgICAgICAgICAgPGEgYWNjZXNza2V5PSJuIiBocmVmPSJsaWJ4bWwyLXhsaW5rLmh0bWwiPgorICAgICAgICAgICAgPGltZyBzcmM9InJpZ2h0LnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iTmV4dCIvPgorICAgICAgICAgIDwvYT4KKyAgICAgICAgPC90ZD4KKyAgICAgICAgPHRoIHdpZHRoPSIxMDAlIiBhbGlnbj0iY2VudGVyIj5saWJ4bWwyIFJlZmVyZW5jZSBNYW51YWw8L3RoPgorICAgICAgPC90cj4KKyAgICA8L3RhYmxlPgorICAgIDxoMj4KKyAgICAgIDxzcGFuIGNsYXNzPSJyZWZlbnRyeXRpdGxlIj54aW5jbHVkZTwvc3Bhbj4KKyAgICA8L2gyPgorICAgIDxwPnhpbmNsdWRlIC0gaW1wbGVtZW50YXRpb24gb2YgWEluY2x1ZGU8L3A+CisgICAgPHA+QVBJIHRvIGhhbmRsZSBYSW5jbHVkZSBwcm9jZXNzaW5nLCBpbXBsZW1lbnRzIHRoZSBXb3JsZCBXaWRlIFdlYiBDb25zb3J0aXVtIExhc3QgQ2FsbCBXb3JraW5nIERyYWZ0IDEwIE5vdmVtYmVyIDIwMDM8L3A+CisgICAgPHA+QXV0aG9yKHMpOiBEYW5pZWwgVmVpbGxhcmQgPC9wPgorICAgIDxkaXYgY2xhc3M9InJlZnN5bm9wc2lzZGl2Ij4KKyAgICAgIDxoMj5TeW5vcHNpczwvaDI+CisgICAgICA8cHJlIGNsYXNzPSJzeW5vcHNpcyI+I2RlZmluZSA8YSBocmVmPSIjWElOQ0xVREVfUEFSU0VfVEVYVCI+WElOQ0xVREVfUEFSU0VfVEVYVDwvYT47CisjZGVmaW5lIDxhIGhyZWY9IiNYSU5DTFVERV9QQVJTRV9YUE9JTlRFUiI+WElOQ0xVREVfUEFSU0VfWFBPSU5URVI8L2E+OworI2RlZmluZSA8YSBocmVmPSIjWElOQ0xVREVfSFJFRiI+WElOQ0xVREVfSFJFRjwvYT47CisjZGVmaW5lIDxhIGhyZWY9IiNYSU5DTFVERV9GQUxMQkFDSyI+WElOQ0xVREVfRkFMTEJBQ0s8L2E+OworI2RlZmluZSA8YSBocmVmPSIjWElOQ0xVREVfTlMiPlhJTkNMVURFX05TPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI1hJTkNMVURFX1BBUlNFIj5YSU5DTFVERV9QQVJTRTwvYT47CisjZGVmaW5lIDxhIGhyZWY9IiNYSU5DTFVERV9OT0RFIj5YSU5DTFVERV9OT0RFPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI1hJTkNMVURFX1BBUlNFX1hNTCI+WElOQ0xVREVfUEFSU0VfWE1MPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI1hJTkNMVURFX1BBUlNFX0VOQ09ESU5HIj5YSU5DTFVERV9QQVJTRV9FTkNPRElORzwvYT47CisjZGVmaW5lIDxhIGhyZWY9IiNYSU5DTFVERV9PTERfTlMiPlhJTkNMVURFX09MRF9OUzwvYT47Cit0eXBlZGVmIHN0cnVjdCBfeG1sWEluY2x1ZGVDdHh0IDxhIGhyZWY9IiN4bWxYSW5jbHVkZUN0eHQiPnhtbFhJbmNsdWRlQ3R4dDwvYT47Cit0eXBlZGVmIDxhIGhyZWY9ImxpYnhtbDIteGluY2x1ZGUuaHRtbCN4bWxYSW5jbHVkZUN0eHQiPnhtbFhJbmNsdWRlQ3R4dDwvYT4gKiA8YSBocmVmPSIjeG1sWEluY2x1ZGVDdHh0UHRyIj54bWxYSW5jbHVkZUN0eHRQdHI8L2E+OworaW50CTxhIGhyZWY9IiN4bWxYSW5jbHVkZVByb2Nlc3NUcmVlRmxhZ3NEYXRhIj54bWxYSW5jbHVkZVByb2Nlc3NUcmVlRmxhZ3NEYXRhPC9hPgkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gdHJlZSwgPGJyLz4JCQkJCSBpbnQgZmxhZ3MsIDxici8+CQkJCQkgdm9pZCAqIGRhdGEpOworaW50CTxhIGhyZWY9IiN4bWxYSW5jbHVkZVByb2Nlc3NGbGFnc0RhdGEiPnhtbFhJbmNsdWRlUHJvY2Vzc0ZsYWdzRGF0YTwvYT4JKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxici8+CQkJCQkgaW50IGZsYWdzLCA8YnIvPgkJCQkJIHZvaWQgKiBkYXRhKTsKK2ludAk8YSBocmVmPSIjeG1sWEluY2x1ZGVQcm9jZXNzRmxhZ3MiPnhtbFhJbmNsdWRlUHJvY2Vzc0ZsYWdzPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxici8+CQkJCQkgaW50IGZsYWdzKTsKK2ludAk8YSBocmVmPSIjeG1sWEluY2x1ZGVQcm9jZXNzVHJlZSI+eG1sWEluY2x1ZGVQcm9jZXNzVHJlZTwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiB0cmVlKTsKK2ludAk8YSBocmVmPSIjeG1sWEluY2x1ZGVQcm9jZXNzTm9kZSI+eG1sWEluY2x1ZGVQcm9jZXNzTm9kZTwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXhpbmNsdWRlLmh0bWwjeG1sWEluY2x1ZGVDdHh0UHRyIj54bWxYSW5jbHVkZUN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSk7Cit2b2lkCTxhIGhyZWY9IiN4bWxYSW5jbHVkZUZyZWVDb250ZXh0Ij54bWxYSW5jbHVkZUZyZWVDb250ZXh0PC9hPgkJKDxhIGhyZWY9ImxpYnhtbDIteGluY2x1ZGUuaHRtbCN4bWxYSW5jbHVkZUN0eHRQdHIiPnhtbFhJbmNsdWRlQ3R4dFB0cjwvYT4gY3R4dCk7CitpbnQJPGEgaHJlZj0iI3htbFhJbmNsdWRlU2V0RmxhZ3MiPnhtbFhJbmNsdWRlU2V0RmxhZ3M8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi14aW5jbHVkZS5odG1sI3htbFhJbmNsdWRlQ3R4dFB0ciI+eG1sWEluY2x1ZGVDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIGludCBmbGFncyk7CitpbnQJPGEgaHJlZj0iI3htbFhJbmNsdWRlUHJvY2VzcyI+eG1sWEluY2x1ZGVQcm9jZXNzPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MpOworPGEgaHJlZj0ibGlieG1sMi14aW5jbHVkZS5odG1sI3htbFhJbmNsdWRlQ3R4dFB0ciI+eG1sWEluY2x1ZGVDdHh0UHRyPC9hPgk8YSBocmVmPSIjeG1sWEluY2x1ZGVOZXdDb250ZXh0Ij54bWxYSW5jbHVkZU5ld0NvbnRleHQ8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jKTsKK2ludAk8YSBocmVmPSIjeG1sWEluY2x1ZGVQcm9jZXNzVHJlZUZsYWdzIj54bWxYSW5jbHVkZVByb2Nlc3NUcmVlRmxhZ3M8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiB0cmVlLCA8YnIvPgkJCQkJIGludCBmbGFncyk7Cis8L3ByZT4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MSIgbGFuZz0iZW4iPgorICAgICAgPGgyPkRlc2NyaXB0aW9uPC9oMj4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MSIgbGFuZz0iZW4iPgorICAgICAgPGgyPkRldGFpbHM8L2gyPgorICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iWElOQ0xVREVfRkFMTEJBQ0siPk1hY3JvIDwvYT5YSU5DTFVERV9GQUxMQkFDSzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hJTkNMVURFX0ZBTExCQUNLIj5YSU5DTFVERV9GQUxMQkFDSzwvYT47Cis8L3ByZT48cD5NYWNybyBkZWZpbmluZyAiZmFsbGJhY2siPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IlhJTkNMVURFX0hSRUYiPk1hY3JvIDwvYT5YSU5DTFVERV9IUkVGPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWElOQ0xVREVfSFJFRiI+WElOQ0xVREVfSFJFRjwvYT47Cis8L3ByZT48cD5NYWNybyBkZWZpbmluZyAiaHJlZiI8L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iWElOQ0xVREVfTk9ERSI+TWFjcm8gPC9hPlhJTkNMVURFX05PREU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYSU5DTFVERV9OT0RFIj5YSU5DTFVERV9OT0RFPC9hPjsKKzwvcHJlPjxwPk1hY3JvIGRlZmluaW5nICJpbmNsdWRlIjwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJYSU5DTFVERV9OUyI+TWFjcm8gPC9hPlhJTkNMVURFX05TPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWElOQ0xVREVfTlMiPlhJTkNMVURFX05TPC9hPjsKKzwvcHJlPjxwPk1hY3JvIGRlZmluaW5nIHRoZSBYaW5jbHVkZSBuYW1lc3BhY2U6IGh0dHA6Ly93d3cudzMub3JnLzIwMDMvWEluY2x1ZGU8L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iWElOQ0xVREVfT0xEX05TIj5NYWNybyA8L2E+WElOQ0xVREVfT0xEX05TPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWElOQ0xVREVfT0xEX05TIj5YSU5DTFVERV9PTERfTlM8L2E+OworPC9wcmU+PHA+TWFjcm8gZGVmaW5pbmcgdGhlIGRyYWZ0IFhpbmNsdWRlIG5hbWVzcGFjZTogaHR0cDovL3d3dy53My5vcmcvMjAwMS9YSW5jbHVkZTwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJYSU5DTFVERV9QQVJTRSI+TWFjcm8gPC9hPlhJTkNMVURFX1BBUlNFPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWElOQ0xVREVfUEFSU0UiPlhJTkNMVURFX1BBUlNFPC9hPjsKKzwvcHJlPjxwPk1hY3JvIGRlZmluaW5nICJwYXJzZSI8L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iWElOQ0xVREVfUEFSU0VfRU5DT0RJTkciPk1hY3JvIDwvYT5YSU5DTFVERV9QQVJTRV9FTkNPRElORzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hJTkNMVURFX1BBUlNFX0VOQ09ESU5HIj5YSU5DTFVERV9QQVJTRV9FTkNPRElORzwvYT47Cis8L3ByZT48cD5NYWNybyBkZWZpbmluZyAiZW5jb2RpbmciPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IlhJTkNMVURFX1BBUlNFX1RFWFQiPk1hY3JvIDwvYT5YSU5DTFVERV9QQVJTRV9URVhUPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWElOQ0xVREVfUEFSU0VfVEVYVCI+WElOQ0xVREVfUEFSU0VfVEVYVDwvYT47Cis8L3ByZT48cD5NYWNybyBkZWZpbmluZyAidGV4dCI8L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iWElOQ0xVREVfUEFSU0VfWE1MIj5NYWNybyA8L2E+WElOQ0xVREVfUEFSU0VfWE1MPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWElOQ0xVREVfUEFSU0VfWE1MIj5YSU5DTFVERV9QQVJTRV9YTUw8L2E+OworPC9wcmU+PHA+TWFjcm8gZGVmaW5pbmcgInhtbCI8L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iWElOQ0xVREVfUEFSU0VfWFBPSU5URVIiPk1hY3JvIDwvYT5YSU5DTFVERV9QQVJTRV9YUE9JTlRFUjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hJTkNMVURFX1BBUlNFX1hQT0lOVEVSIj5YSU5DTFVERV9QQVJTRV9YUE9JTlRFUjwvYT47Cis8L3ByZT48cD5NYWNybyBkZWZpbmluZyAieHBvaW50ZXIiPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhJbmNsdWRlQ3R4dCI+U3RydWN0dXJlIDwvYT54bWxYSW5jbHVkZUN0eHQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5zdHJ1Y3QgX3htbFhJbmNsdWRlQ3R4dCB7CitUaGUgY29udGVudCBvZiB0aGlzIHN0cnVjdHVyZSBpcyBub3QgbWFkZSBwdWJsaWMgYnkgdGhlIEFQSS4KK30geG1sWEluY2x1ZGVDdHh0OworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhJbmNsdWRlQ3R4dFB0ciI+VHlwZWRlZiA8L2E+eG1sWEluY2x1ZGVDdHh0UHRyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14aW5jbHVkZS5odG1sI3htbFhJbmNsdWRlQ3R4dCI+eG1sWEluY2x1ZGVDdHh0PC9hPiAqIHhtbFhJbmNsdWRlQ3R4dFB0cjsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYSW5jbHVkZUZyZWVDb250ZXh0Ii8+eG1sWEluY2x1ZGVGcmVlQ29udGV4dCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sWEluY2x1ZGVGcmVlQ29udGV4dAkJKDxhIGhyZWY9ImxpYnhtbDIteGluY2x1ZGUuaHRtbCN4bWxYSW5jbHVkZUN0eHRQdHIiPnhtbFhJbmNsdWRlQ3R4dFB0cjwvYT4gY3R4dCk8YnIvPgorPC9wcmU+PHA+RnJlZSBhbiBYSW5jbHVkZSBjb250ZXh0PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWEluY2x1ZGUgY29udGV4dDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhJbmNsdWRlTmV3Q29udGV4dCIvPnhtbFhJbmNsdWRlTmV3Q29udGV4dCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteGluY2x1ZGUuaHRtbCN4bWxYSW5jbHVkZUN0eHRQdHIiPnhtbFhJbmNsdWRlQ3R4dFB0cjwvYT4JeG1sWEluY2x1ZGVOZXdDb250ZXh0CSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jKTxici8+Cis8L3ByZT48cD5DcmVhdGVzIGEgbmV3IFhJbmNsdWRlIGNvbnRleHQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1MIERvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IHNldDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhJbmNsdWRlUHJvY2VzcyIvPnhtbFhJbmNsdWRlUHJvY2VzcyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxYSW5jbHVkZVByb2Nlc3MJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jKTxici8+Cis8L3ByZT48cD5JbXBsZW1lbnQgdGhlIFhJbmNsdWRlIHN1YnN0aXR1dGlvbiBvbiB0aGUgWE1MIGRvY3VtZW50IEBkb2M8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1MIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGlmIG5vIHN1YnN0aXR1dGlvbiB3ZXJlIGRvbmUsIC0xIGlmIHNvbWUgcHJvY2Vzc2luZyBmYWlsZWQgb3IgdGhlIG51bWJlciBvZiBzdWJzdGl0dXRpb25zIGRvbmUuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWEluY2x1ZGVQcm9jZXNzRmxhZ3MiLz54bWxYSW5jbHVkZVByb2Nlc3NGbGFncyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxYSW5jbHVkZVByb2Nlc3NGbGFncwkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxici8+CQkJCQkgaW50IGZsYWdzKTxici8+Cis8L3ByZT48cD5JbXBsZW1lbnQgdGhlIFhJbmNsdWRlIHN1YnN0aXR1dGlvbiBvbiB0aGUgWE1MIGRvY3VtZW50IEBkb2M8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1MIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mbGFnczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBzZXQgb2YgPGEgaHJlZj0ibGlieG1sMi1wYXJzZXIuaHRtbCN4bWxQYXJzZXJPcHRpb24iPnhtbFBhcnNlck9wdGlvbjwvYT4gdXNlZCBmb3IgcGFyc2luZyBYTUwgaW5jbHVkZXM8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaWYgbm8gc3Vic3RpdHV0aW9uIHdlcmUgZG9uZSwgLTEgaWYgc29tZSBwcm9jZXNzaW5nIGZhaWxlZCBvciB0aGUgbnVtYmVyIG9mIHN1YnN0aXR1dGlvbnMgZG9uZS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYSW5jbHVkZVByb2Nlc3NGbGFnc0RhdGEiLz54bWxYSW5jbHVkZVByb2Nlc3NGbGFnc0RhdGEgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sWEluY2x1ZGVQcm9jZXNzRmxhZ3NEYXRhCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIvPgkJCQkJIGludCBmbGFncywgPGJyLz4JCQkJCSB2b2lkICogZGF0YSk8YnIvPgorPC9wcmU+PHA+SW1wbGVtZW50IHRoZSBYSW5jbHVkZSBzdWJzdGl0dXRpb24gb24gdGhlIFhNTCBkb2N1bWVudCBAZG9jPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmxhZ3M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgc2V0IG9mIDxhIGhyZWY9ImxpYnhtbDItcGFyc2VyLmh0bWwjeG1sUGFyc2VyT3B0aW9uIj54bWxQYXJzZXJPcHRpb248L2E+IHVzZWQgZm9yIHBhcnNpbmcgWE1MIGluY2x1ZGVzPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kYXRhPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hcHBsaWNhdGlvbiBkYXRhIHRoYXQgd2lsbCBiZSBwYXNzZWQgdG8gdGhlIHBhcnNlciBjb250ZXh0IGluIHRoZSBfcHJpdmF0ZSBmaWVsZCBvZiB0aGUgcGFyc2VyIGNvbnRleHQocyk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaWYgbm8gc3Vic3RpdHV0aW9uIHdlcmUgZG9uZSwgLTEgaWYgc29tZSBwcm9jZXNzaW5nIGZhaWxlZCBvciB0aGUgbnVtYmVyIG9mIHN1YnN0aXR1dGlvbnMgZG9uZS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYSW5jbHVkZVByb2Nlc3NOb2RlIi8+eG1sWEluY2x1ZGVQcm9jZXNzTm9kZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxYSW5jbHVkZVByb2Nlc3NOb2RlCQkoPGEgaHJlZj0ibGlieG1sMi14aW5jbHVkZS5odG1sI3htbFhJbmNsdWRlQ3R4dFB0ciI+eG1sWEluY2x1ZGVDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUpPGJyLz4KKzwvcHJlPjxwPkltcGxlbWVudCB0aGUgWEluY2x1ZGUgc3Vic3RpdHV0aW9uIGZvciB0aGUgZ2l2ZW4gc3VidHJlZSByZXVzaW5nIHRoZSBpbmZvcm1hdGlvbnMgYW5kIGRhdGEgY29taW5nIGZyb20gdGhlIGdpdmVuIGNvbnRleHQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBleGlzdGluZyBYSW5jbHVkZSBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIG5vZGUgaW4gYW4gWE1MIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGlmIG5vIHN1YnN0aXR1dGlvbiB3ZXJlIGRvbmUsIC0xIGlmIHNvbWUgcHJvY2Vzc2luZyBmYWlsZWQgb3IgdGhlIG51bWJlciBvZiBzdWJzdGl0dXRpb25zIGRvbmUuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWEluY2x1ZGVQcm9jZXNzVHJlZSIvPnhtbFhJbmNsdWRlUHJvY2Vzc1RyZWUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sWEluY2x1ZGVQcm9jZXNzVHJlZQkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IHRyZWUpPGJyLz4KKzwvcHJlPjxwPkltcGxlbWVudCB0aGUgWEluY2x1ZGUgc3Vic3RpdHV0aW9uIGZvciB0aGUgZ2l2ZW4gc3VidHJlZTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dHJlZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBub2RlIGluIGFuIFhNTCBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpZiBubyBzdWJzdGl0dXRpb24gd2VyZSBkb25lLCAtMSBpZiBzb21lIHByb2Nlc3NpbmcgZmFpbGVkIG9yIHRoZSBudW1iZXIgb2Ygc3Vic3RpdHV0aW9ucyBkb25lLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhJbmNsdWRlUHJvY2Vzc1RyZWVGbGFncyIvPnhtbFhJbmNsdWRlUHJvY2Vzc1RyZWVGbGFncyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxYSW5jbHVkZVByb2Nlc3NUcmVlRmxhZ3MJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IHRyZWUsIDxici8+CQkJCQkgaW50IGZsYWdzKTxici8+Cis8L3ByZT48cD5JbXBsZW1lbnQgdGhlIFhJbmNsdWRlIHN1YnN0aXR1dGlvbiBmb3IgdGhlIGdpdmVuIHN1YnRyZWU8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRyZWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbm9kZSBpbiBhbiBYTUwgZG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZsYWdzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHNldCBvZiA8YSBocmVmPSJsaWJ4bWwyLXBhcnNlci5odG1sI3htbFBhcnNlck9wdGlvbiI+eG1sUGFyc2VyT3B0aW9uPC9hPiB1c2VkIGZvciBwYXJzaW5nIFhNTCBpbmNsdWRlczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpZiBubyBzdWJzdGl0dXRpb24gd2VyZSBkb25lLCAtMSBpZiBzb21lIHByb2Nlc3NpbmcgZmFpbGVkIG9yIHRoZSBudW1iZXIgb2Ygc3Vic3RpdHV0aW9ucyBkb25lLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhJbmNsdWRlUHJvY2Vzc1RyZWVGbGFnc0RhdGEiLz54bWxYSW5jbHVkZVByb2Nlc3NUcmVlRmxhZ3NEYXRhICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFhJbmNsdWRlUHJvY2Vzc1RyZWVGbGFnc0RhdGEJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IHRyZWUsIDxici8+CQkJCQkgaW50IGZsYWdzLCA8YnIvPgkJCQkJIHZvaWQgKiBkYXRhKTxici8+Cis8L3ByZT48cD5JbXBsZW1lbnQgdGhlIFhJbmNsdWRlIHN1YnN0aXR1dGlvbiBvbiB0aGUgWE1MIG5vZGUgQHRyZWU8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRyZWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mbGFnczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBzZXQgb2YgPGEgaHJlZj0ibGlieG1sMi1wYXJzZXIuaHRtbCN4bWxQYXJzZXJPcHRpb24iPnhtbFBhcnNlck9wdGlvbjwvYT4gdXNlZCBmb3IgcGFyc2luZyBYTUwgaW5jbHVkZXM8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRhdGE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFwcGxpY2F0aW9uIGRhdGEgdGhhdCB3aWxsIGJlIHBhc3NlZCB0byB0aGUgcGFyc2VyIGNvbnRleHQgaW4gdGhlIF9wcml2YXRlIGZpZWxkIG9mIHRoZSBwYXJzZXIgY29udGV4dChzKTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpZiBubyBzdWJzdGl0dXRpb24gd2VyZSBkb25lLCAtMSBpZiBzb21lIHByb2Nlc3NpbmcgZmFpbGVkIG9yIHRoZSBudW1iZXIgb2Ygc3Vic3RpdHV0aW9ucyBkb25lLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhJbmNsdWRlU2V0RmxhZ3MiLz54bWxYSW5jbHVkZVNldEZsYWdzICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFhJbmNsdWRlU2V0RmxhZ3MJCSg8YSBocmVmPSJsaWJ4bWwyLXhpbmNsdWRlLmh0bWwjeG1sWEluY2x1ZGVDdHh0UHRyIj54bWxYSW5jbHVkZUN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgaW50IGZsYWdzKTxici8+Cis8L3ByZT48cD5TZXQgdGhlIGZsYWdzIHVzZWQgZm9yIGZ1cnRoZXIgcHJvY2Vzc2luZyBvZiBYTUwgcmVzb3VyY2VzLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWEluY2x1ZGUgcHJvY2Vzc2luZyBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mbGFnczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBzZXQgb2YgPGEgaHJlZj0ibGlieG1sMi1wYXJzZXIuaHRtbCN4bWxQYXJzZXJPcHRpb24iPnhtbFBhcnNlck9wdGlvbjwvYT4gdXNlZCBmb3IgcGFyc2luZyBYTUwgaW5jbHVkZXM8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaW4gY2FzZSBvZiBzdWNjZXNzIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKyAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvZGV2aGVscC9saWJ4bWwyLXhsaW5rLmh0bWwgYi9saWJ4bWwyL2RvYy9kZXZoZWxwL2xpYnhtbDIteGxpbmsuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYmU2OTY1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvZGV2aGVscC9saWJ4bWwyLXhsaW5rLmh0bWwKQEAgLTAsMCArMSwxNjAgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8aHRtbD4KKyAgPGhlYWQ+CisgICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiLz4KKyAgICA8dGl0bGU+eGxpbms6IHVuZmluaXNoZWQgWExpbmsgZGV0ZWN0aW9uIG1vZHVsZTwvdGl0bGU+CisgICAgPG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJMaWJ4bWwyIGRldmhlbHAgc3R5bGVzaGVldCIvPgorICAgIDxsaW5rIHJlbD0ic3RhcnQiIGhyZWY9ImluZGV4Lmh0bWwiIHRpdGxlPSJsaWJ4bWwyIFJlZmVyZW5jZSBNYW51YWwiLz4KKyAgICA8bGluayByZWw9InVwIiBocmVmPSJnZW5lcmFsLmh0bWwiIHRpdGxlPSJBUEkiLz4KKyAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9InN0eWxlLmNzcyIgdHlwZT0idGV4dC9jc3MiLz4KKyAgICA8bGluayByZWw9ImNoYXB0ZXIiIGhyZWY9ImdlbmVyYWwuaHRtbCIgdGl0bGU9IkFQSSIvPgorICA8L2hlYWQ+CisgIDxib2R5IGJnY29sb3I9IndoaXRlIiB0ZXh0PSJibGFjayIgbGluaz0iIzAwMDBGRiIgdmxpbms9IiM4NDAwODQiIGFsaW5rPSIjMDAwMEZGIj4KKyAgICA8dGFibGUgY2xhc3M9Im5hdmlnYXRpb24iIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIyIj4KKyAgICAgIDx0ciB2YWxpZ249Im1pZGRsZSI+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImxpYnhtbDIteGluY2x1ZGUuaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0ibGVmdC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlByZXYiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9InUiIGhyZWY9ImdlbmVyYWwuaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0idXAucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJVcCIvPgorICAgICAgICAgIDwvYT4KKyAgICAgICAgPC90ZD4KKyAgICAgICAgPHRkPgorICAgICAgICAgIDxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iaW5kZXguaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0iaG9tZS5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IkhvbWUiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9Im4iIGhyZWY9ImxpYnhtbDIteG1sSU8uaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0icmlnaHQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJOZXh0Ii8+CisgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGggd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPmxpYnhtbDIgUmVmZXJlbmNlIE1hbnVhbDwvdGg+CisgICAgICA8L3RyPgorICAgIDwvdGFibGU+CisgICAgPGgyPgorICAgICAgPHNwYW4gY2xhc3M9InJlZmVudHJ5dGl0bGUiPnhsaW5rPC9zcGFuPgorICAgIDwvaDI+CisgICAgPHA+eGxpbmsgLSB1bmZpbmlzaGVkIFhMaW5rIGRldGVjdGlvbiBtb2R1bGU8L3A+CisgICAgPHA+dW5maW5pc2hlZCBYTGluayBkZXRlY3Rpb24gbW9kdWxlIDwvcD4KKyAgICA8cD5BdXRob3Iocyk6IERhbmllbCBWZWlsbGFyZCA8L3A+CisgICAgPGRpdiBjbGFzcz0icmVmc3lub3BzaXNkaXYiPgorICAgICAgPGgyPlN5bm9wc2lzPC9oMj4KKyAgICAgIDxwcmUgY2xhc3M9InN5bm9wc2lzIj50eXBlZGVmIDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiA8YSBocmVmPSIjeGxpbmtUaXRsZSI+eGxpbmtUaXRsZTwvYT47Cit0eXBlZGVmIGVudW0gPGEgaHJlZj0iI3hsaW5rU2hvdyI+eGxpbmtTaG93PC9hPjsKK3R5cGVkZWYgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIDxhIGhyZWY9IiN4bGlua0hSZWYiPnhsaW5rSFJlZjwvYT47Cit0eXBlZGVmIGVudW0gPGEgaHJlZj0iI3hsaW5rQWN0dWF0ZSI+eGxpbmtBY3R1YXRlPC9hPjsKK3R5cGVkZWYgc3RydWN0IF94bGlua0hhbmRsZXIgPGEgaHJlZj0iI3hsaW5rSGFuZGxlciI+eGxpbmtIYW5kbGVyPC9hPjsKK3R5cGVkZWYgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIDxhIGhyZWY9IiN4bGlua1JvbGUiPnhsaW5rUm9sZTwvYT47Cit0eXBlZGVmIDxhIGhyZWY9ImxpYnhtbDIteGxpbmsuaHRtbCN4bGlua0hhbmRsZXIiPnhsaW5rSGFuZGxlcjwvYT4gKiA8YSBocmVmPSIjeGxpbmtIYW5kbGVyUHRyIj54bGlua0hhbmRsZXJQdHI8L2E+OwordHlwZWRlZiBlbnVtIDxhIGhyZWY9IiN4bGlua1R5cGUiPnhsaW5rVHlwZTwvYT47Cit2b2lkCTxhIGhyZWY9IiN4bGlua1NldERlZmF1bHREZXRlY3QiPnhsaW5rU2V0RGVmYXVsdERldGVjdDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXhsaW5rLmh0bWwjeGxpbmtOb2RlRGV0ZWN0RnVuYyI+eGxpbmtOb2RlRGV0ZWN0RnVuYzwvYT4gZnVuYyk7Cit2b2lkCTxhIGhyZWY9IiN4bGlua1NldERlZmF1bHRIYW5kbGVyIj54bGlua1NldERlZmF1bHRIYW5kbGVyPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDIteGxpbmsuaHRtbCN4bGlua0hhbmRsZXJQdHIiPnhsaW5rSGFuZGxlclB0cjwvYT4gaGFuZGxlcik7Cit0eXBlZGVmIHZvaWQgPGEgaHJlZj0iI3hsaW5rRXh0ZW5kZWRMaW5rRnVuayI+eGxpbmtFeHRlbmRlZExpbmtGdW5rPC9hPgkJKHZvaWQgKiBjdHgsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSwgPGJyLz4JCQkJCSBpbnQgbmJMb2NhdG9ycywgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhsaW5rLmh0bWwjeGxpbmtIUmVmIj54bGlua0hSZWY8L2E+ICogaHJlZnMsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bGluay5odG1sI3hsaW5rUm9sZSI+eGxpbmtSb2xlPC9hPiAqIHJvbGVzLCA8YnIvPgkJCQkJIGludCBuYkFyY3MsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bGluay5odG1sI3hsaW5rUm9sZSI+eGxpbmtSb2xlPC9hPiAqIGZyb20sIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bGluay5odG1sI3hsaW5rUm9sZSI+eGxpbmtSb2xlPC9hPiAqIHRvLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteGxpbmsuaHRtbCN4bGlua1Nob3ciPnhsaW5rU2hvdzwvYT4gKiBzaG93LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteGxpbmsuaHRtbCN4bGlua0FjdHVhdGUiPnhsaW5rQWN0dWF0ZTwvYT4gKiBhY3R1YXRlLCA8YnIvPgkJCQkJIGludCBuYlRpdGxlcywgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhsaW5rLmh0bWwjeGxpbmtUaXRsZSI+eGxpbmtUaXRsZTwvYT4gKiB0aXRsZXMsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqKiBsYW5ncyk7Cit0eXBlZGVmIHZvaWQgPGEgaHJlZj0iI3hsaW5rRXh0ZW5kZWRMaW5rU2V0RnVuayI+eGxpbmtFeHRlbmRlZExpbmtTZXRGdW5rPC9hPgkodm9pZCAqIGN0eCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlLCA8YnIvPgkJCQkJIGludCBuYkxvY2F0b3JzLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteGxpbmsuaHRtbCN4bGlua0hSZWYiPnhsaW5rSFJlZjwvYT4gKiBocmVmcywgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhsaW5rLmh0bWwjeGxpbmtSb2xlIj54bGlua1JvbGU8L2E+ICogcm9sZXMsIDxici8+CQkJCQkgaW50IG5iVGl0bGVzLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteGxpbmsuaHRtbCN4bGlua1RpdGxlIj54bGlua1RpdGxlPC9hPiAqIHRpdGxlcywgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoqIGxhbmdzKTsKK3R5cGVkZWYgdm9pZCA8YSBocmVmPSIjeGxpbmtTaW1wbGVMaW5rRnVuayI+eGxpbmtTaW1wbGVMaW5rRnVuazwvYT4JCSh2b2lkICogY3R4LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bGluay5odG1sI3hsaW5rSFJlZiI+eGxpbmtIUmVmPC9hPiBocmVmLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteGxpbmsuaHRtbCN4bGlua1JvbGUiPnhsaW5rUm9sZTwvYT4gcm9sZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhsaW5rLmh0bWwjeGxpbmtUaXRsZSI+eGxpbmtUaXRsZTwvYT4gdGl0bGUpOwordHlwZWRlZiB2b2lkIDxhIGhyZWY9IiN4bGlua05vZGVEZXRlY3RGdW5jIj54bGlua05vZGVEZXRlY3RGdW5jPC9hPgkJKHZvaWQgKiBjdHgsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSk7Cis8YSBocmVmPSJsaWJ4bWwyLXhsaW5rLmh0bWwjeGxpbmtIYW5kbGVyUHRyIj54bGlua0hhbmRsZXJQdHI8L2E+CTxhIGhyZWY9IiN4bGlua0dldERlZmF1bHRIYW5kbGVyIj54bGlua0dldERlZmF1bHRIYW5kbGVyPC9hPgkodm9pZCk7Cis8YSBocmVmPSJsaWJ4bWwyLXhsaW5rLmh0bWwjeGxpbmtUeXBlIj54bGlua1R5cGU8L2E+CTxhIGhyZWY9IiN4bGlua0lzTGluayI+eGxpbmtJc0xpbms8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlKTsKKzxhIGhyZWY9ImxpYnhtbDIteGxpbmsuaHRtbCN4bGlua05vZGVEZXRlY3RGdW5jIj54bGlua05vZGVEZXRlY3RGdW5jPC9hPgk8YSBocmVmPSIjeGxpbmtHZXREZWZhdWx0RGV0ZWN0Ij54bGlua0dldERlZmF1bHREZXRlY3Q8L2E+CSh2b2lkKTsKKzwvcHJlPgorICAgIDwvZGl2PgorICAgIDxkaXYgY2xhc3M9InJlZnNlY3QxIiBsYW5nPSJlbiI+CisgICAgICA8aDI+RGVzY3JpcHRpb248L2gyPgorICAgIDwvZGl2PgorICAgIDxkaXYgY2xhc3M9InJlZnNlY3QxIiBsYW5nPSJlbiI+CisgICAgICA8aDI+RGV0YWlsczwvaDI+CisgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bGlua0FjdHVhdGUiPkVudW0gPC9hPnhsaW5rQWN0dWF0ZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmVudW0gPGEgaHJlZj0iI3hsaW5rQWN0dWF0ZSI+eGxpbmtBY3R1YXRlPC9hPiB7CisgICAgPGEgbmFtZT0iWExJTktfQUNUVUFURV9OT05FIj5YTElOS19BQ1RVQVRFX05PTkU8L2E+ID0gMAorICAgIDxhIG5hbWU9IlhMSU5LX0FDVFVBVEVfQVVUTyI+WExJTktfQUNUVUFURV9BVVRPPC9hPiA9IDEKKyAgICA8YSBuYW1lPSJYTElOS19BQ1RVQVRFX09OUkVRVUVTVCI+WExJTktfQUNUVUFURV9PTlJFUVVFU1Q8L2E+ID0gMgorfTsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bGlua0hSZWYiPlR5cGVkZWYgPC9hPnhsaW5rSFJlZjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB4bGlua0hSZWY7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieGxpbmtIYW5kbGVyIj5TdHJ1Y3R1cmUgPC9hPnhsaW5rSGFuZGxlcjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnN0cnVjdCBfeGxpbmtIYW5kbGVyIHsKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXhsaW5rLmh0bWwjeGxpbmtTaW1wbGVMaW5rRnVuayI+eGxpbmtTaW1wbGVMaW5rRnVuazwvYT4Jc2ltcGxlCisgICAgPGEgaHJlZj0ibGlieG1sMi14bGluay5odG1sI3hsaW5rRXh0ZW5kZWRMaW5rRnVuayI+eGxpbmtFeHRlbmRlZExpbmtGdW5rPC9hPglleHRlbmRlZAorICAgIDxhIGhyZWY9ImxpYnhtbDIteGxpbmsuaHRtbCN4bGlua0V4dGVuZGVkTGlua1NldEZ1bmsiPnhsaW5rRXh0ZW5kZWRMaW5rU2V0RnVuazwvYT4Jc2V0Cit9IHhsaW5rSGFuZGxlcjsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bGlua0hhbmRsZXJQdHIiPlR5cGVkZWYgPC9hPnhsaW5rSGFuZGxlclB0cjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteGxpbmsuaHRtbCN4bGlua0hhbmRsZXIiPnhsaW5rSGFuZGxlcjwvYT4gKiB4bGlua0hhbmRsZXJQdHI7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieGxpbmtSb2xlIj5UeXBlZGVmIDwvYT54bGlua1JvbGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogeGxpbmtSb2xlOworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhsaW5rU2hvdyI+RW51bSA8L2E+eGxpbmtTaG93PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+ZW51bSA8YSBocmVmPSIjeGxpbmtTaG93Ij54bGlua1Nob3c8L2E+IHsKKyAgICA8YSBuYW1lPSJYTElOS19TSE9XX05PTkUiPlhMSU5LX1NIT1dfTk9ORTwvYT4gPSAwCisgICAgPGEgbmFtZT0iWExJTktfU0hPV19ORVciPlhMSU5LX1NIT1dfTkVXPC9hPiA9IDEKKyAgICA8YSBuYW1lPSJYTElOS19TSE9XX0VNQkVEIj5YTElOS19TSE9XX0VNQkVEPC9hPiA9IDIKKyAgICA8YSBuYW1lPSJYTElOS19TSE9XX1JFUExBQ0UiPlhMSU5LX1NIT1dfUkVQTEFDRTwvYT4gPSAzCit9OworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhsaW5rVGl0bGUiPlR5cGVkZWYgPC9hPnhsaW5rVGl0bGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogeGxpbmtUaXRsZTsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bGlua1R5cGUiPkVudW0gPC9hPnhsaW5rVHlwZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmVudW0gPGEgaHJlZj0iI3hsaW5rVHlwZSI+eGxpbmtUeXBlPC9hPiB7CisgICAgPGEgbmFtZT0iWExJTktfVFlQRV9OT05FIj5YTElOS19UWVBFX05PTkU8L2E+ID0gMAorICAgIDxhIG5hbWU9IlhMSU5LX1RZUEVfU0lNUExFIj5YTElOS19UWVBFX1NJTVBMRTwvYT4gPSAxCisgICAgPGEgbmFtZT0iWExJTktfVFlQRV9FWFRFTkRFRCI+WExJTktfVFlQRV9FWFRFTkRFRDwvYT4gPSAyCisgICAgPGEgbmFtZT0iWExJTktfVFlQRV9FWFRFTkRFRF9TRVQiPlhMSU5LX1RZUEVfRVhURU5ERURfU0VUPC9hPiA9IDMKK307Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieGxpbmtFeHRlbmRlZExpbmtGdW5rIi8+RnVuY3Rpb24gdHlwZSB4bGlua0V4dGVuZGVkTGlua0Z1bms8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhsaW5rRXh0ZW5kZWRMaW5rRnVuawkJKHZvaWQgKiBjdHgsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSwgPGJyLz4JCQkJCSBpbnQgbmJMb2NhdG9ycywgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhsaW5rLmh0bWwjeGxpbmtIUmVmIj54bGlua0hSZWY8L2E+ICogaHJlZnMsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bGluay5odG1sI3hsaW5rUm9sZSI+eGxpbmtSb2xlPC9hPiAqIHJvbGVzLCA8YnIvPgkJCQkJIGludCBuYkFyY3MsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bGluay5odG1sI3hsaW5rUm9sZSI+eGxpbmtSb2xlPC9hPiAqIGZyb20sIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bGluay5odG1sI3hsaW5rUm9sZSI+eGxpbmtSb2xlPC9hPiAqIHRvLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteGxpbmsuaHRtbCN4bGlua1Nob3ciPnhsaW5rU2hvdzwvYT4gKiBzaG93LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteGxpbmsuaHRtbCN4bGlua0FjdHVhdGUiPnhsaW5rQWN0dWF0ZTwvYT4gKiBhY3R1YXRlLCA8YnIvPgkJCQkJIGludCBuYlRpdGxlcywgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhsaW5rLmh0bWwjeGxpbmtUaXRsZSI+eGxpbmtUaXRsZTwvYT4gKiB0aXRsZXMsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqKiBsYW5ncyk8YnIvPgorPC9wcmU+PHA+VGhpcyBpcyB0aGUgcHJvdG90eXBlIGZvciBhIGV4dGVuZGVkIGxpbmsgZGV0ZWN0aW9uIGNhbGxiYWNrLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD51c2VyIGRhdGEgcG9pbnRlcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vZGUgY2FycnlpbmcgdGhlIGxpbms8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5iTG9jYXRvcnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgbG9jYXRvcnMgZGV0ZWN0ZWQgb24gdGhlIGxpbms8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmhyZWZzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5wb2ludGVyIHRvIHRoZSBhcnJheSBvZiBsb2NhdG9yIGhyZWZzPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yb2xlczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+cG9pbnRlciB0byB0aGUgYXJyYXkgb2YgbG9jYXRvciByb2xlczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmJBcmNzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGFyY3MgZGV0ZWN0ZWQgb24gdGhlIGxpbms8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZyb208L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnBvaW50ZXIgdG8gdGhlIGFycmF5IG9mIHNvdXJjZSByb2xlcyBmb3VuZCBvbiB0aGUgYXJjczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dG88L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnBvaW50ZXIgdG8gdGhlIGFycmF5IG9mIHRhcmdldCByb2xlcyBmb3VuZCBvbiB0aGUgYXJjczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2hvdzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YXJyYXkgb2YgdmFsdWVzIGZvciB0aGUgc2hvdyBhdHRyaWJ1dGVzIGZvdW5kIG9uIHRoZSBhcmNzPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5hY3R1YXRlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hcnJheSBvZiB2YWx1ZXMgZm9yIHRoZSBhY3R1YXRlIGF0dHJpYnV0ZXMgZm91bmQgb24gdGhlIGFyY3M8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5iVGl0bGVzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIHRpdGxlcyBkZXRlY3RlZCBvbiB0aGUgbGluazwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dGl0bGVzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZC8+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGFuZ3M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFycmF5IG9mIHhtbDpsYW5nIHZhbHVlcyBmb3IgdGhlIHRpdGxlczwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhsaW5rRXh0ZW5kZWRMaW5rU2V0RnVuayIvPkZ1bmN0aW9uIHR5cGUgeGxpbmtFeHRlbmRlZExpbmtTZXRGdW5rPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bGlua0V4dGVuZGVkTGlua1NldEZ1bmsJKHZvaWQgKiBjdHgsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSwgPGJyLz4JCQkJCSBpbnQgbmJMb2NhdG9ycywgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhsaW5rLmh0bWwjeGxpbmtIUmVmIj54bGlua0hSZWY8L2E+ICogaHJlZnMsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bGluay5odG1sI3hsaW5rUm9sZSI+eGxpbmtSb2xlPC9hPiAqIHJvbGVzLCA8YnIvPgkJCQkJIGludCBuYlRpdGxlcywgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhsaW5rLmh0bWwjeGxpbmtUaXRsZSI+eGxpbmtUaXRsZTwvYT4gKiB0aXRsZXMsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqKiBsYW5ncyk8YnIvPgorPC9wcmU+PHA+VGhpcyBpcyB0aGUgcHJvdG90eXBlIGZvciBhIGV4dGVuZGVkIGxpbmsgc2V0IGRldGVjdGlvbiBjYWxsYmFjay48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dXNlciBkYXRhIHBvaW50ZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBub2RlIGNhcnJ5aW5nIHRoZSBsaW5rPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYkxvY2F0b3JzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGxvY2F0b3JzIGRldGVjdGVkIG9uIHRoZSBsaW5rPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ocmVmczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+cG9pbnRlciB0byB0aGUgYXJyYXkgb2YgbG9jYXRvciBocmVmczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cm9sZXM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnBvaW50ZXIgdG8gdGhlIGFycmF5IG9mIGxvY2F0b3Igcm9sZXM8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5iVGl0bGVzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIHRpdGxlcyBkZXRlY3RlZCBvbiB0aGUgbGluazwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dGl0bGVzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZC8+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGFuZ3M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFycmF5IG9mIHhtbDpsYW5nIHZhbHVlcyBmb3IgdGhlIHRpdGxlczwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhsaW5rTm9kZURldGVjdEZ1bmMiLz5GdW5jdGlvbiB0eXBlIHhsaW5rTm9kZURldGVjdEZ1bmM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhsaW5rTm9kZURldGVjdEZ1bmMJCSh2b2lkICogY3R4LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUpPGJyLz4KKzwvcHJlPjxwPlRoaXMgaXMgdGhlIHByb3RvdHlwZSBmb3IgdGhlIGxpbmsgZGV0ZWN0aW9uIHJvdXRpbmUuIEl0IGNhbGxzIHRoZSBkZWZhdWx0IGxpbmsgZGV0ZWN0aW9uIGNhbGxiYWNrcyB1cG9uIGxpbmsgZGV0ZWN0aW9uLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD51c2VyIGRhdGEgcG9pbnRlcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vZGUgdG8gY2hlY2s8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bGlua1NpbXBsZUxpbmtGdW5rIi8+RnVuY3Rpb24gdHlwZSB4bGlua1NpbXBsZUxpbmtGdW5rPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bGlua1NpbXBsZUxpbmtGdW5rCQkodm9pZCAqIGN0eCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteGxpbmsuaHRtbCN4bGlua0hSZWYiPnhsaW5rSFJlZjwvYT4gaHJlZiwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhsaW5rLmh0bWwjeGxpbmtSb2xlIj54bGlua1JvbGU8L2E+IHJvbGUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bGluay5odG1sI3hsaW5rVGl0bGUiPnhsaW5rVGl0bGU8L2E+IHRpdGxlKTxici8+Cis8L3ByZT48cD5UaGlzIGlzIHRoZSBwcm90b3R5cGUgZm9yIGEgc2ltcGxlIGxpbmsgZGV0ZWN0aW9uIGNhbGxiYWNrLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD51c2VyIGRhdGEgcG9pbnRlcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vZGUgY2FycnlpbmcgdGhlIGxpbms8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmhyZWY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB0YXJnZXQgb2YgdGhlIGxpbms8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJvbGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSByb2xlIHN0cmluZzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dGl0bGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsaW5rIHRpdGxlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieGxpbmtHZXREZWZhdWx0RGV0ZWN0Ii8+eGxpbmtHZXREZWZhdWx0RGV0ZWN0ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14bGluay5odG1sI3hsaW5rTm9kZURldGVjdEZ1bmMiPnhsaW5rTm9kZURldGVjdEZ1bmM8L2E+CXhsaW5rR2V0RGVmYXVsdERldGVjdAkodm9pZCk8YnIvPgorPC9wcmU+PHA+R2V0IHRoZSBkZWZhdWx0IHhsaW5rIGRldGVjdGlvbiByb3V0aW5lPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY3VycmVudCBmdW5jdGlvbiBvciBOVUxMOzwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhsaW5rR2V0RGVmYXVsdEhhbmRsZXIiLz54bGlua0dldERlZmF1bHRIYW5kbGVyICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14bGluay5odG1sI3hsaW5rSGFuZGxlclB0ciI+eGxpbmtIYW5kbGVyUHRyPC9hPgl4bGlua0dldERlZmF1bHRIYW5kbGVyCSh2b2lkKTxici8+Cis8L3ByZT48cD5HZXQgdGhlIGRlZmF1bHQgeGxpbmsgaGFuZGxlci48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjdXJyZW50IDxhIGhyZWY9ImxpYnhtbDIteGxpbmsuaHRtbCN4bGlua0hhbmRsZXJQdHIiPnhsaW5rSGFuZGxlclB0cjwvYT4gdmFsdWUuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieGxpbmtJc0xpbmsiLz54bGlua0lzTGluayAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteGxpbmsuaHRtbCN4bGlua1R5cGUiPnhsaW5rVHlwZTwvYT4JeGxpbmtJc0xpbmsJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUpPGJyLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGdpdmVuIG5vZGUgY2FycmllcyB0aGUgYXR0cmlidXRlcyBuZWVkZWQgdG8gYmUgYSBsaW5rIGVsZW1lbnQgKG9yIGlzIG9uZSBvZiB0aGUgbGlua2luZyBlbGVtZW50cyBpc3N1ZWQgZnJvbSB0aGUgKFgpSFRNTCBEdERzKS4gVGhpcyByb3V0aW5lIGRvbid0IHRyeSB0byBkbyBmdWxsIGNoZWNraW5nIG9mIHRoZSBsaW5rIHZhbGlkaXR5IGJ1dCB0cmllcyB0byBkZXRlY3QgYW5kIHJldHVybiB0aGUgYXBwcm9wcmlhdGUgbGluayB0eXBlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQgY29udGFpbmluZyB0aGUgbm9kZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vZGUgcG9pbnRlciBpdHNlbGY8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXhsaW5rLmh0bWwjeGxpbmtUeXBlIj54bGlua1R5cGU8L2E+IG9mIHRoZSBub2RlIChYTElOS19UWVBFX05PTkUgaWYgdGhlcmUgaXMgbm8gbGluayBkZXRlY3RlZC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bGlua1NldERlZmF1bHREZXRlY3QiLz54bGlua1NldERlZmF1bHREZXRlY3QgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhsaW5rU2V0RGVmYXVsdERldGVjdAkJKDxhIGhyZWY9ImxpYnhtbDIteGxpbmsuaHRtbCN4bGlua05vZGVEZXRlY3RGdW5jIj54bGlua05vZGVEZXRlY3RGdW5jPC9hPiBmdW5jKTxici8+Cis8L3ByZT48cD5TZXQgdGhlIGRlZmF1bHQgeGxpbmsgZGV0ZWN0aW9uIHJvdXRpbmU8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZ1bmM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnBvaW50ZXIgdG8gdGhlIG5ldyBkZXRlY3Rpb24gcm91dGluZS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bGlua1NldERlZmF1bHRIYW5kbGVyIi8+eGxpbmtTZXREZWZhdWx0SGFuZGxlciAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeGxpbmtTZXREZWZhdWx0SGFuZGxlcgkJKDxhIGhyZWY9ImxpYnhtbDIteGxpbmsuaHRtbCN4bGlua0hhbmRsZXJQdHIiPnhsaW5rSGFuZGxlclB0cjwvYT4gaGFuZGxlcik8YnIvPgorPC9wcmU+PHA+U2V0IHRoZSBkZWZhdWx0IHhsaW5rIGhhbmRsZXJzPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5oYW5kbGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IHZhbHVlIGZvciB0aGUgeGxpbmsgaGFuZGxlciBibG9jazwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKyAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvZGV2aGVscC9saWJ4bWwyLXhtbElPLmh0bWwgYi9saWJ4bWwyL2RvYy9kZXZoZWxwL2xpYnhtbDIteG1sSU8uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YmNjYzI3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvZGV2aGVscC9saWJ4bWwyLXhtbElPLmh0bWwKQEAgLTAsMCArMSwzNDcgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8aHRtbD4KKyAgPGhlYWQ+CisgICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiLz4KKyAgICA8dGl0bGU+eG1sSU86IGludGVyZmFjZSBmb3IgdGhlIEkvTyBpbnRlcmZhY2VzIHVzZWQgYnkgdGhlIHBhcnNlcjwvdGl0bGU+CisgICAgPG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJMaWJ4bWwyIGRldmhlbHAgc3R5bGVzaGVldCIvPgorICAgIDxsaW5rIHJlbD0ic3RhcnQiIGhyZWY9ImluZGV4Lmh0bWwiIHRpdGxlPSJsaWJ4bWwyIFJlZmVyZW5jZSBNYW51YWwiLz4KKyAgICA8bGluayByZWw9InVwIiBocmVmPSJnZW5lcmFsLmh0bWwiIHRpdGxlPSJBUEkiLz4KKyAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9InN0eWxlLmNzcyIgdHlwZT0idGV4dC9jc3MiLz4KKyAgICA8bGluayByZWw9ImNoYXB0ZXIiIGhyZWY9ImdlbmVyYWwuaHRtbCIgdGl0bGU9IkFQSSIvPgorICA8L2hlYWQ+CisgIDxib2R5IGJnY29sb3I9IndoaXRlIiB0ZXh0PSJibGFjayIgbGluaz0iIzAwMDBGRiIgdmxpbms9IiM4NDAwODQiIGFsaW5rPSIjMDAwMEZGIj4KKyAgICA8dGFibGUgY2xhc3M9Im5hdmlnYXRpb24iIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIyIj4KKyAgICAgIDx0ciB2YWxpZ249Im1pZGRsZSI+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImxpYnhtbDIteGxpbmsuaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0ibGVmdC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlByZXYiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9InUiIGhyZWY9ImdlbmVyYWwuaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0idXAucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJVcCIvPgorICAgICAgICAgIDwvYT4KKyAgICAgICAgPC90ZD4KKyAgICAgICAgPHRkPgorICAgICAgICAgIDxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iaW5kZXguaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0iaG9tZS5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IkhvbWUiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9Im4iIGhyZWY9ImxpYnhtbDIteG1sYXV0b21hdGEuaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0icmlnaHQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJOZXh0Ii8+CisgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGggd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPmxpYnhtbDIgUmVmZXJlbmNlIE1hbnVhbDwvdGg+CisgICAgICA8L3RyPgorICAgIDwvdGFibGU+CisgICAgPGgyPgorICAgICAgPHNwYW4gY2xhc3M9InJlZmVudHJ5dGl0bGUiPnhtbElPPC9zcGFuPgorICAgIDwvaDI+CisgICAgPHA+eG1sSU8gLSBpbnRlcmZhY2UgZm9yIHRoZSBJL08gaW50ZXJmYWNlcyB1c2VkIGJ5IHRoZSBwYXJzZXI8L3A+CisgICAgPHA+aW50ZXJmYWNlIGZvciB0aGUgSS9PIGludGVyZmFjZXMgdXNlZCBieSB0aGUgcGFyc2VyIDwvcD4KKyAgICA8cD5BdXRob3Iocyk6IERhbmllbCBWZWlsbGFyZCA8L3A+CisgICAgPGRpdiBjbGFzcz0icmVmc3lub3BzaXNkaXYiPgorICAgICAgPGgyPlN5bm9wc2lzPC9oMj4KKyAgICAgIDxwcmUgY2xhc3M9InN5bm9wc2lzIj5pbnQJPGEgaHJlZj0iI3htbElPSFRUUFJlYWQiPnhtbElPSFRUUFJlYWQ8L2E+CQkJKHZvaWQgKiBjb250ZXh0LCA8YnIvPgkJCQkJIGNoYXIgKiBidWZmZXIsIDxici8+CQkJCQkgaW50IGxlbik7Cit0eXBlZGVmIGludCA8YSBocmVmPSIjeG1sSW5wdXRNYXRjaENhbGxiYWNrIj54bWxJbnB1dE1hdGNoQ2FsbGJhY2s8L2E+CQkoY2hhciBjb25zdCAqIGZpbGVuYW1lKTsKK3ZvaWQJPGEgaHJlZj0iI3htbFJlZ2lzdGVyRGVmYXVsdE91dHB1dENhbGxiYWNrcyI+eG1sUmVnaXN0ZXJEZWZhdWx0T3V0cHV0Q2FsbGJhY2tzPC9hPgkodm9pZCk7CitpbnQJPGEgaHJlZj0iI3htbEZpbGVDbG9zZSI+eG1sRmlsZUNsb3NlPC9hPgkJCSh2b2lkICogY29udGV4dCk7Cit0eXBlZGVmIGludCA8YSBocmVmPSIjeG1sT3V0cHV0TWF0Y2hDYWxsYmFjayI+eG1sT3V0cHV0TWF0Y2hDYWxsYmFjazwvYT4JCShjaGFyIGNvbnN0ICogZmlsZW5hbWUpOworaW50CTxhIGhyZWY9IiN4bWxQYXJzZXJJbnB1dEJ1ZmZlclB1c2giPnhtbFBhcnNlcklucHV0QnVmZmVyUHVzaDwvYT4JKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyUHRyIj54bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cjwvYT4gaW4sIDxici8+CQkJCQkgaW50IGxlbiwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogYnVmKTsKK2ludAk8YSBocmVmPSIjeG1sSU9GVFBSZWFkIj54bWxJT0ZUUFJlYWQ8L2E+CQkJKHZvaWQgKiBjb250ZXh0LCA8YnIvPgkJCQkJIGNoYXIgKiBidWZmZXIsIDxici8+CQkJCQkgaW50IGxlbik7Cit2b2lkCTxhIGhyZWY9IiN4bWxSZWdpc3RlckhUVFBQb3N0Q2FsbGJhY2tzIj54bWxSZWdpc3RlckhUVFBQb3N0Q2FsbGJhY2tzPC9hPgkodm9pZCk7Cit2b2lkICoJPGEgaHJlZj0iI3htbElPRlRQT3BlbiI+eG1sSU9GVFBPcGVuPC9hPgkJCShjb25zdCBjaGFyICogZmlsZW5hbWUpOworaW50CTxhIGhyZWY9IiN4bWxJT0ZUUENsb3NlIj54bWxJT0ZUUENsb3NlPC9hPgkJCSh2b2lkICogY29udGV4dCk7Cit2b2lkICoJPGEgaHJlZj0iI3htbEZpbGVPcGVuIj54bWxGaWxlT3BlbjwvYT4JCQkoY29uc3QgY2hhciAqIGZpbGVuYW1lKTsKKzxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE91dHB1dEJ1ZmZlclB0ciI+eG1sT3V0cHV0QnVmZmVyUHRyPC9hPgk8YSBocmVmPSIjeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZSI+eG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZTwvYT4JKEZJTEUgKiBmaWxlLCA8YnIvPgkJCQkJCQkgPGEgaHJlZj0ibGlieG1sMi1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIiPnhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHI8L2E+IGVuY29kZXIpOworaW50CTxhIGhyZWY9IiN4bWxDaGVja0ZpbGVuYW1lIj54bWxDaGVja0ZpbGVuYW1lPC9hPgkJKGNvbnN0IGNoYXIgKiBwYXRoKTsKK3R5cGVkZWYgdm9pZCAqIDxhIGhyZWY9IiN4bWxPdXRwdXRPcGVuQ2FsbGJhY2siPnhtbE91dHB1dE9wZW5DYWxsYmFjazwvYT4JCShjaGFyIGNvbnN0ICogZmlsZW5hbWUpOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIiPnhtbFBhcnNlcklucHV0QnVmZmVyUHRyPC9hPgk8YSBocmVmPSIjeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZSI+eG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZTwvYT4JKGNvbnN0IGNoYXIgKiBVUkksIDxici8+CQkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nIj54bWxDaGFyRW5jb2Rpbmc8L2E+IGVuYyk7CitpbnQJPGEgaHJlZj0iI3htbE91dHB1dEJ1ZmZlckNsb3NlIj54bWxPdXRwdXRCdWZmZXJDbG9zZTwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxPdXRwdXRCdWZmZXJQdHIiPnhtbE91dHB1dEJ1ZmZlclB0cjwvYT4gb3V0KTsKKzxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyUHRyIj54bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cjwvYT4JPGEgaHJlZj0iI3htbEFsbG9jUGFyc2VySW5wdXRCdWZmZXIiPnhtbEFsbG9jUGFyc2VySW5wdXRCdWZmZXI8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nIj54bWxDaGFyRW5jb2Rpbmc8L2E+IGVuYyk7Cis8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxPdXRwdXRCdWZmZXJQdHIiPnhtbE91dHB1dEJ1ZmZlclB0cjwvYT4JPGEgaHJlZj0iI3htbE91dHB1dEJ1ZmZlckNyZWF0ZUlPIj54bWxPdXRwdXRCdWZmZXJDcmVhdGVJTzwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteG1sSU8uaHRtbCN4bWxPdXRwdXRXcml0ZUNhbGxiYWNrIj54bWxPdXRwdXRXcml0ZUNhbGxiYWNrPC9hPiBpb3dyaXRlLCA8YnIvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbElPLmh0bWwjeG1sT3V0cHV0Q2xvc2VDYWxsYmFjayI+eG1sT3V0cHV0Q2xvc2VDYWxsYmFjazwvYT4gaW9jbG9zZSwgPGJyLz4JCQkJCQkgdm9pZCAqIGlvY3R4LCA8YnIvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0ciI+eG1sQ2hhckVuY29kaW5nSGFuZGxlclB0cjwvYT4gZW5jb2Rlcik7Cit0eXBlZGVmIGludCA8YSBocmVmPSIjeG1sT3V0cHV0V3JpdGVDYWxsYmFjayI+eG1sT3V0cHV0V3JpdGVDYWxsYmFjazwvYT4JCSh2b2lkICogY29udGV4dCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogYnVmZmVyLCA8YnIvPgkJCQkJIGludCBsZW4pOworaW50CTxhIGhyZWY9IiN4bWxPdXRwdXRCdWZmZXJGbHVzaCI+eG1sT3V0cHV0QnVmZmVyRmx1c2g8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sT3V0cHV0QnVmZmVyUHRyIj54bWxPdXRwdXRCdWZmZXJQdHI8L2E+IG91dCk7Cis8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dFB0ciI+eG1sUGFyc2VySW5wdXRQdHI8L2E+CTxhIGhyZWY9IiN4bWxDaGVja0hUVFBJbnB1dCI+eG1sQ2hlY2tIVFRQSW5wdXQ8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dFB0ciI+eG1sUGFyc2VySW5wdXRQdHI8L2E+IHJldCk7CitpbnQJPGEgaHJlZj0iI3htbFJlZ2lzdGVyT3V0cHV0Q2FsbGJhY2tzIj54bWxSZWdpc3Rlck91dHB1dENhbGxiYWNrczwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteG1sSU8uaHRtbCN4bWxPdXRwdXRNYXRjaENhbGxiYWNrIj54bWxPdXRwdXRNYXRjaENhbGxiYWNrPC9hPiBtYXRjaEZ1bmMsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxJTy5odG1sI3htbE91dHB1dE9wZW5DYWxsYmFjayI+eG1sT3V0cHV0T3BlbkNhbGxiYWNrPC9hPiBvcGVuRnVuYywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbElPLmh0bWwjeG1sT3V0cHV0V3JpdGVDYWxsYmFjayI+eG1sT3V0cHV0V3JpdGVDYWxsYmFjazwvYT4gd3JpdGVGdW5jLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sSU8uaHRtbCN4bWxPdXRwdXRDbG9zZUNhbGxiYWNrIj54bWxPdXRwdXRDbG9zZUNhbGxiYWNrPC9hPiBjbG9zZUZ1bmMpOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIiPnhtbFBhcnNlcklucHV0QnVmZmVyUHRyPC9hPgk8YSBocmVmPSIjeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVNZW0iPnhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlTWVtPC9hPgkoY29uc3QgY2hhciAqIG1lbSwgPGJyLz4JCQkJCQkJIGludCBzaXplLCA8YnIvPgkJCQkJCQkgPGEgaHJlZj0ibGlieG1sMi1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZyI+eG1sQ2hhckVuY29kaW5nPC9hPiBlbmMpOworaW50CTxhIGhyZWY9IiN4bWxJT0ZUUE1hdGNoIj54bWxJT0ZUUE1hdGNoPC9hPgkJCShjb25zdCBjaGFyICogZmlsZW5hbWUpOworaW50CTxhIGhyZWY9IiN4bWxSZWdpc3RlcklucHV0Q2FsbGJhY2tzIj54bWxSZWdpc3RlcklucHV0Q2FsbGJhY2tzPC9hPgkoPGEgaHJlZj0ibGlieG1sMi14bWxJTy5odG1sI3htbElucHV0TWF0Y2hDYWxsYmFjayI+eG1sSW5wdXRNYXRjaENhbGxiYWNrPC9hPiBtYXRjaEZ1bmMsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxJTy5odG1sI3htbElucHV0T3BlbkNhbGxiYWNrIj54bWxJbnB1dE9wZW5DYWxsYmFjazwvYT4gb3BlbkZ1bmMsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxJTy5odG1sI3htbElucHV0UmVhZENhbGxiYWNrIj54bWxJbnB1dFJlYWRDYWxsYmFjazwvYT4gcmVhZEZ1bmMsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxJTy5odG1sI3htbElucHV0Q2xvc2VDYWxsYmFjayI+eG1sSW5wdXRDbG9zZUNhbGxiYWNrPC9hPiBjbG9zZUZ1bmMpOwordm9pZAk8YSBocmVmPSIjeG1sRnJlZVBhcnNlcklucHV0QnVmZmVyIj54bWxGcmVlUGFyc2VySW5wdXRCdWZmZXI8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciI+eG1sUGFyc2VySW5wdXRCdWZmZXJQdHI8L2E+IGluKTsKK3ZvaWQJPGEgaHJlZj0iI3htbFJlZ2lzdGVyRGVmYXVsdElucHV0Q2FsbGJhY2tzIj54bWxSZWdpc3RlckRlZmF1bHRJbnB1dENhbGxiYWNrczwvYT4JKHZvaWQpOworaW50CTxhIGhyZWY9IiN4bWxQYXJzZXJJbnB1dEJ1ZmZlckdyb3ciPnhtbFBhcnNlcklucHV0QnVmZmVyR3JvdzwvYT4JKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyUHRyIj54bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cjwvYT4gaW4sIDxici8+CQkJCQkgaW50IGxlbik7Cit0eXBlZGVmIGludCA8YSBocmVmPSIjeG1sT3V0cHV0Q2xvc2VDYWxsYmFjayI+eG1sT3V0cHV0Q2xvc2VDYWxsYmFjazwvYT4JCSh2b2lkICogY29udGV4dCk7Cis8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxPdXRwdXRCdWZmZXJQdHIiPnhtbE91dHB1dEJ1ZmZlclB0cjwvYT4JPGEgaHJlZj0iI3htbEFsbG9jT3V0cHV0QnVmZmVyIj54bWxBbGxvY091dHB1dEJ1ZmZlcjwvYT4JKDxhIGhyZWY9ImxpYnhtbDItZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyIj54bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyPC9hPiBlbmNvZGVyKTsKKzxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlcklucHV0UHRyIj54bWxQYXJzZXJJbnB1dFB0cjwvYT4JPGEgaHJlZj0iI3htbE5vTmV0RXh0ZXJuYWxFbnRpdHlMb2FkZXIiPnhtbE5vTmV0RXh0ZXJuYWxFbnRpdHlMb2FkZXI8L2E+CShjb25zdCBjaGFyICogVVJMLCA8YnIvPgkJCQkJCQkgY29uc3QgY2hhciAqIElELCA8YnIvPgkJCQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk7Cis8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxPdXRwdXRCdWZmZXJQdHIiPnhtbE91dHB1dEJ1ZmZlclB0cjwvYT4JPGEgaHJlZj0iI3htbE91dHB1dEJ1ZmZlckNyZWF0ZUJ1ZmZlciI+eG1sT3V0cHV0QnVmZmVyQ3JlYXRlQnVmZmVyPC9hPgkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQnVmZmVyUHRyIj54bWxCdWZmZXJQdHI8L2E+IGJ1ZmZlciwgPGJyLz4JCQkJCQkJIDxhIGhyZWY9ImxpYnhtbDItZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyIj54bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyPC9hPiBlbmNvZGVyKTsKK2ludAk8YSBocmVmPSIjeG1sSU9IVFRQTWF0Y2giPnhtbElPSFRUUE1hdGNoPC9hPgkJCShjb25zdCBjaGFyICogZmlsZW5hbWUpOwordm9pZCAqCTxhIGhyZWY9IiN4bWxJT0hUVFBPcGVuIj54bWxJT0hUVFBPcGVuPC9hPgkJCShjb25zdCBjaGFyICogZmlsZW5hbWUpOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIiPnhtbFBhcnNlcklucHV0QnVmZmVyUHRyPC9hPgk8YSBocmVmPSIjeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVJTyI+eG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVJTzwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteG1sSU8uaHRtbCN4bWxJbnB1dFJlYWRDYWxsYmFjayI+eG1sSW5wdXRSZWFkQ2FsbGJhY2s8L2E+IGlvcmVhZCwgPGJyLz4JCQkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sSU8uaHRtbCN4bWxJbnB1dENsb3NlQ2FsbGJhY2siPnhtbElucHV0Q2xvc2VDYWxsYmFjazwvYT4gaW9jbG9zZSwgPGJyLz4JCQkJCQkJIHZvaWQgKiBpb2N0eCwgPGJyLz4JCQkJCQkJIDxhIGhyZWY9ImxpYnhtbDItZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmciPnhtbENoYXJFbmNvZGluZzwvYT4gZW5jKTsKKzxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE91dHB1dEJ1ZmZlclB0ciI+eG1sT3V0cHV0QnVmZmVyUHRyPC9hPgk8YSBocmVmPSIjeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmQiPnhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZkPC9hPgkoaW50IGZkLCA8YnIvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0ciI+eG1sQ2hhckVuY29kaW5nSGFuZGxlclB0cjwvYT4gZW5jb2Rlcik7Cis8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbE5vcm1hbGl6ZVdpbmRvd3NQYXRoIj54bWxOb3JtYWxpemVXaW5kb3dzUGF0aDwvYT4JKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwYXRoKTsKK3R5cGVkZWYgaW50IDxhIGhyZWY9IiN4bWxJbnB1dFJlYWRDYWxsYmFjayI+eG1sSW5wdXRSZWFkQ2FsbGJhY2s8L2E+CQkodm9pZCAqIGNvbnRleHQsIDxici8+CQkJCQkgY2hhciAqIGJ1ZmZlciwgPGJyLz4JCQkJCSBpbnQgbGVuKTsKKzxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyUHRyIj54bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cjwvYT4JPGEgaHJlZj0iI3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlU3RhdGljIj54bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZVN0YXRpYzwvYT4JKGNvbnN0IGNoYXIgKiBtZW0sIDxici8+CQkJCQkJCSBpbnQgc2l6ZSwgPGJyLz4JCQkJCQkJIDxhIGhyZWY9ImxpYnhtbDItZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmciPnhtbENoYXJFbmNvZGluZzwvYT4gZW5jKTsKK2NvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sT3V0cHV0QnVmZmVyR2V0Q29udGVudCI+eG1sT3V0cHV0QnVmZmVyR2V0Q29udGVudDwvYT4JKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE91dHB1dEJ1ZmZlclB0ciI+eG1sT3V0cHV0QnVmZmVyUHRyPC9hPiBvdXQpOworaW50CTxhIGhyZWY9IiN4bWxJT0hUVFBDbG9zZSI+eG1sSU9IVFRQQ2xvc2U8L2E+CQkJKHZvaWQgKiBjb250ZXh0KTsKK2ludAk8YSBocmVmPSIjeG1sT3V0cHV0QnVmZmVyV3JpdGVFc2NhcGUiPnhtbE91dHB1dEJ1ZmZlcldyaXRlRXNjYXBlPC9hPgkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sT3V0cHV0QnVmZmVyUHRyIj54bWxPdXRwdXRCdWZmZXJQdHI8L2E+IG91dCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3RyLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmdPdXRwdXRGdW5jIj54bWxDaGFyRW5jb2RpbmdPdXRwdXRGdW5jPC9hPiBlc2NhcGluZyk7Cis8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxPdXRwdXRCdWZmZXJQdHIiPnhtbE91dHB1dEJ1ZmZlclB0cjwvYT4JPGEgaHJlZj0iI3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lIj54bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZTwvYT4JKGNvbnN0IGNoYXIgKiBVUkksIDxici8+CQkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0ciI+eG1sQ2hhckVuY29kaW5nSGFuZGxlclB0cjwvYT4gZW5jb2RlciwgPGJyLz4JCQkJCQkJIGludCBjb21wcmVzc2lvbik7CitzaXplX3QJPGEgaHJlZj0iI3htbE91dHB1dEJ1ZmZlckdldFNpemUiPnhtbE91dHB1dEJ1ZmZlckdldFNpemU8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sT3V0cHV0QnVmZmVyUHRyIj54bWxPdXRwdXRCdWZmZXJQdHI8L2E+IG91dCk7Cit2b2lkCTxhIGhyZWY9IiN4bWxDbGVhbnVwT3V0cHV0Q2FsbGJhY2tzIj54bWxDbGVhbnVwT3V0cHV0Q2FsbGJhY2tzPC9hPgkodm9pZCk7Cit0eXBlZGVmIHZvaWQgKiA8YSBocmVmPSIjeG1sSW5wdXRPcGVuQ2FsbGJhY2siPnhtbElucHV0T3BlbkNhbGxiYWNrPC9hPgkJKGNoYXIgY29uc3QgKiBmaWxlbmFtZSk7CitpbnQJPGEgaHJlZj0iI3htbFBhcnNlcklucHV0QnVmZmVyUmVhZCI+eG1sUGFyc2VySW5wdXRCdWZmZXJSZWFkPC9hPgkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIiPnhtbFBhcnNlcklucHV0QnVmZmVyUHRyPC9hPiBpbiwgPGJyLz4JCQkJCSBpbnQgbGVuKTsKK2ludAk8YSBocmVmPSIjeG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmciPnhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nPC9hPgkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sT3V0cHV0QnVmZmVyUHRyIj54bWxPdXRwdXRCdWZmZXJQdHI8L2E+IG91dCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogc3RyKTsKK2ludAk8YSBocmVmPSIjeG1sRmlsZU1hdGNoIj54bWxGaWxlTWF0Y2g8L2E+CQkJKGNvbnN0IGNoYXIgKiBmaWxlbmFtZSk7CitpbnQJPGEgaHJlZj0iI3htbFBvcElucHV0Q2FsbGJhY2tzIj54bWxQb3BJbnB1dENhbGxiYWNrczwvYT4JCSh2b2lkKTsKK2ludAk8YSBocmVmPSIjeG1sRmlsZVJlYWQiPnhtbEZpbGVSZWFkPC9hPgkJCSh2b2lkICogY29udGV4dCwgPGJyLz4JCQkJCSBjaGFyICogYnVmZmVyLCA8YnIvPgkJCQkJIGludCBsZW4pOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIiPnhtbFBhcnNlcklucHV0QnVmZmVyUHRyPC9hPgk8YSBocmVmPSIjeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlIj54bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGU8L2E+CShGSUxFICogZmlsZSwgPGJyLz4JCQkJCQkJIDxhIGhyZWY9ImxpYnhtbDItZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmciPnhtbENoYXJFbmNvZGluZzwvYT4gZW5jKTsKK2NoYXIgKgk8YSBocmVmPSIjeG1sUGFyc2VyR2V0RGlyZWN0b3J5Ij54bWxQYXJzZXJHZXREaXJlY3Rvcnk8L2E+CQkoY29uc3QgY2hhciAqIGZpbGVuYW1lKTsKK2ludAk8YSBocmVmPSIjeG1sT3V0cHV0QnVmZmVyV3JpdGUiPnhtbE91dHB1dEJ1ZmZlcldyaXRlPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE91dHB1dEJ1ZmZlclB0ciI+eG1sT3V0cHV0QnVmZmVyUHRyPC9hPiBvdXQsIDxici8+CQkJCQkgaW50IGxlbiwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogYnVmKTsKK3ZvaWQJPGEgaHJlZj0iI3htbENsZWFudXBJbnB1dENhbGxiYWNrcyI+eG1sQ2xlYW51cElucHV0Q2FsbGJhY2tzPC9hPgkodm9pZCk7Cit0eXBlZGVmIGludCA8YSBocmVmPSIjeG1sSW5wdXRDbG9zZUNhbGxiYWNrIj54bWxJbnB1dENsb3NlQ2FsbGJhY2s8L2E+CQkodm9pZCAqIGNvbnRleHQpOwordm9pZCAqCTxhIGhyZWY9IiN4bWxJT0hUVFBPcGVuVyI+eG1sSU9IVFRQT3Blblc8L2E+CQkJKGNvbnN0IGNoYXIgKiBwb3N0X3VyaSwgPGJyLz4JCQkJCSBpbnQgY29tcHJlc3Npb24pOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIiPnhtbFBhcnNlcklucHV0QnVmZmVyUHRyPC9hPgk8YSBocmVmPSIjeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGZCI+eG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGZDwvYT4JKGludCBmZCwgPGJyLz4JCQkJCQkJIDxhIGhyZWY9ImxpYnhtbDItZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmciPnhtbENoYXJFbmNvZGluZzwvYT4gZW5jKTsKKzwvcHJlPgorICAgIDwvZGl2PgorICAgIDxkaXYgY2xhc3M9InJlZnNlY3QxIiBsYW5nPSJlbiI+CisgICAgICA8aDI+RGVzY3JpcHRpb248L2gyPgorICAgIDwvZGl2PgorICAgIDxkaXYgY2xhc3M9InJlZnNlY3QxIiBsYW5nPSJlbiI+CisgICAgICA8aDI+RGV0YWlsczwvaDI+CisgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxJbnB1dENsb3NlQ2FsbGJhY2siLz5GdW5jdGlvbiB0eXBlIHhtbElucHV0Q2xvc2VDYWxsYmFjazwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxJbnB1dENsb3NlQ2FsbGJhY2sJCSh2b2lkICogY29udGV4dCk8YnIvPgorPC9wcmU+PHA+Q2FsbGJhY2sgdXNlZCBpbiB0aGUgSS9PIElucHV0IEFQSSB0byBjbG9zZSB0aGUgcmVzb3VyY2U8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbnRleHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIElucHV0IGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbElucHV0TWF0Y2hDYWxsYmFjayIvPkZ1bmN0aW9uIHR5cGUgeG1sSW5wdXRNYXRjaENhbGxiYWNrPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbElucHV0TWF0Y2hDYWxsYmFjawkJKGNoYXIgY29uc3QgKiBmaWxlbmFtZSk8YnIvPgorPC9wcmU+PHA+Q2FsbGJhY2sgdXNlZCBpbiB0aGUgSS9PIElucHV0IEFQSSB0byBkZXRlY3QgaWYgdGhlIGN1cnJlbnQgaGFuZGxlciBjYW4gcHJvdmlkZSBpbnB1dCBmb25jdGlvbm5hbGl0aWVzIGZvciB0aGlzIHJlc291cmNlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmlsZW5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmaWxlbmFtZSBvciBVUkk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgeWVzIGFuZCAwIGlmIGFub3RoZXIgSW5wdXQgbW9kdWxlIHNob3VsZCBiZSB1c2VkPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sSW5wdXRPcGVuQ2FsbGJhY2siLz5GdW5jdGlvbiB0eXBlIHhtbElucHV0T3BlbkNhbGxiYWNrPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZCAqCXhtbElucHV0T3BlbkNhbGxiYWNrCQkoY2hhciBjb25zdCAqIGZpbGVuYW1lKTxici8+Cis8L3ByZT48cD5DYWxsYmFjayB1c2VkIGluIHRoZSBJL08gSW5wdXQgQVBJIHRvIG9wZW4gdGhlIHJlc291cmNlPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlbmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZpbGVuYW1lIG9yIFVSSTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gSW5wdXQgY29udGV4dCBvciBOVUxMIGluIGNhc2Ugb3IgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxJbnB1dFJlYWRDYWxsYmFjayIvPkZ1bmN0aW9uIHR5cGUgeG1sSW5wdXRSZWFkQ2FsbGJhY2s8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sSW5wdXRSZWFkQ2FsbGJhY2sJCSh2b2lkICogY29udGV4dCwgPGJyLz4JCQkJCSBjaGFyICogYnVmZmVyLCA8YnIvPgkJCQkJIGludCBsZW4pPGJyLz4KKzwvcHJlPjxwPkNhbGxiYWNrIHVzZWQgaW4gdGhlIEkvTyBJbnB1dCBBUEkgdG8gcmVhZCB0aGUgcmVzb3VyY2U8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbnRleHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIElucHV0IGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmJ1ZmZlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ1ZmZlciB0byBzdG9yZSBkYXRhIHJlYWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxlbmd0aCBvZiB0aGUgYnVmZmVyIGluIGJ5dGVzPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGJ5dGVzIHJlYWQgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE91dHB1dENsb3NlQ2FsbGJhY2siLz5GdW5jdGlvbiB0eXBlIHhtbE91dHB1dENsb3NlQ2FsbGJhY2s8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sT3V0cHV0Q2xvc2VDYWxsYmFjawkJKHZvaWQgKiBjb250ZXh0KTxici8+Cis8L3ByZT48cD5DYWxsYmFjayB1c2VkIGluIHRoZSBJL08gT3V0cHV0IEFQSSB0byBjbG9zZSB0aGUgcmVzb3VyY2U8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbnRleHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIE91dHB1dCBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxPdXRwdXRNYXRjaENhbGxiYWNrIi8+RnVuY3Rpb24gdHlwZSB4bWxPdXRwdXRNYXRjaENhbGxiYWNrPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbE91dHB1dE1hdGNoQ2FsbGJhY2sJCShjaGFyIGNvbnN0ICogZmlsZW5hbWUpPGJyLz4KKzwvcHJlPjxwPkNhbGxiYWNrIHVzZWQgaW4gdGhlIEkvTyBPdXRwdXQgQVBJIHRvIGRldGVjdCBpZiB0aGUgY3VycmVudCBoYW5kbGVyIGNhbiBwcm92aWRlIG91dHB1dCBmb25jdGlvbm5hbGl0aWVzIGZvciB0aGlzIHJlc291cmNlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmlsZW5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmaWxlbmFtZSBvciBVUkk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgeWVzIGFuZCAwIGlmIGFub3RoZXIgT3V0cHV0IG1vZHVsZSBzaG91bGQgYmUgdXNlZDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE91dHB1dE9wZW5DYWxsYmFjayIvPkZ1bmN0aW9uIHR5cGUgeG1sT3V0cHV0T3BlbkNhbGxiYWNrPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZCAqCXhtbE91dHB1dE9wZW5DYWxsYmFjawkJKGNoYXIgY29uc3QgKiBmaWxlbmFtZSk8YnIvPgorPC9wcmU+PHA+Q2FsbGJhY2sgdXNlZCBpbiB0aGUgSS9PIE91dHB1dCBBUEkgdG8gb3BlbiB0aGUgcmVzb3VyY2U8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZpbGVuYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZmlsZW5hbWUgb3IgVVJJPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBPdXRwdXQgY29udGV4dCBvciBOVUxMIGluIGNhc2Ugb3IgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxPdXRwdXRXcml0ZUNhbGxiYWNrIi8+RnVuY3Rpb24gdHlwZSB4bWxPdXRwdXRXcml0ZUNhbGxiYWNrPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbE91dHB1dFdyaXRlQ2FsbGJhY2sJCSh2b2lkICogY29udGV4dCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogYnVmZmVyLCA8YnIvPgkJCQkJIGludCBsZW4pPGJyLz4KKzwvcHJlPjxwPkNhbGxiYWNrIHVzZWQgaW4gdGhlIEkvTyBPdXRwdXQgQVBJIHRvIHdyaXRlIHRvIHRoZSByZXNvdXJjZTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29udGV4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gT3V0cHV0IGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmJ1ZmZlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ1ZmZlciBvZiBkYXRhIHRvIHdyaXRlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsZW5ndGggb2YgdGhlIGJ1ZmZlciBpbiBieXRlczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBieXRlcyB3cml0dGVuIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxBbGxvY091dHB1dEJ1ZmZlciIvPnhtbEFsbG9jT3V0cHV0QnVmZmVyICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sT3V0cHV0QnVmZmVyUHRyIj54bWxPdXRwdXRCdWZmZXJQdHI8L2E+CXhtbEFsbG9jT3V0cHV0QnVmZmVyCSg8YSBocmVmPSJsaWJ4bWwyLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0ciI+eG1sQ2hhckVuY29kaW5nSGFuZGxlclB0cjwvYT4gZW5jb2Rlcik8YnIvPgorPC9wcmU+PHA+Q3JlYXRlIGEgYnVmZmVyZWQgcGFyc2VyIG91dHB1dDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jb2RlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVuY29kaW5nIGNvbnZlcnRlciBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IHBhcnNlciBvdXRwdXQgb3IgTlVMTDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEFsbG9jUGFyc2VySW5wdXRCdWZmZXIiLz54bWxBbGxvY1BhcnNlcklucHV0QnVmZmVyICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIiPnhtbFBhcnNlcklucHV0QnVmZmVyUHRyPC9hPgl4bWxBbGxvY1BhcnNlcklucHV0QnVmZmVyCSg8YSBocmVmPSJsaWJ4bWwyLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nIj54bWxDaGFyRW5jb2Rpbmc8L2E+IGVuYyk8YnIvPgorPC9wcmU+PHA+Q3JlYXRlIGEgYnVmZmVyZWQgcGFyc2VyIGlucHV0IGZvciBwcm9ncmVzc2l2ZSBwYXJzaW5nPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbmM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjaGFyc2V0IGVuY29kaW5nIGlmIGtub3duPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IHBhcnNlciBpbnB1dCBvciBOVUxMPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sQ2hlY2tGaWxlbmFtZSIvPnhtbENoZWNrRmlsZW5hbWUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sQ2hlY2tGaWxlbmFtZQkJKGNvbnN0IGNoYXIgKiBwYXRoKTxici8+Cis8L3ByZT48cD5mdW5jdGlvbiBjaGVja3MgdG8gc2VlIGlmIEBwYXRoIGlzIGEgdmFsaWQgc291cmNlIChmaWxlLCBzb2NrZXQuLi4pIGZvciBYTUwuIGlmIHN0YXQgaXMgbm90IGF2YWlsYWJsZSBvbiB0aGUgdGFyZ2V0IG1hY2hpbmUsPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wYXRoPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcGF0aCB0byBjaGVjazwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MS4gaWYgc3RhdCBmYWlscywgcmV0dXJucyAwIChpZiBjYWxsaW5nIHN0YXQgb24gdGhlIGZpbGVuYW1lIGZhaWxzLCBpdCBjYW4ndCBiZSByaWdodCkuIGlmIHN0YXQgc3VjY2VlZHMgYW5kIHRoZSBmaWxlIGlzIGEgZGlyZWN0b3J5LCByZXR1cm5zIDIuIG90aGVyd2lzZSByZXR1cm5zIDEuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sQ2hlY2tIVFRQSW5wdXQiLz54bWxDaGVja0hUVFBJbnB1dCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlcklucHV0UHRyIj54bWxQYXJzZXJJbnB1dFB0cjwvYT4JeG1sQ2hlY2tIVFRQSW5wdXQJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlcklucHV0UHRyIj54bWxQYXJzZXJJbnB1dFB0cjwvYT4gcmV0KTxici8+Cis8L3ByZT48cD5DaGVjayBhbiBpbnB1dCBpbiBjYXNlIGl0IHdhcyBjcmVhdGVkIGZyb20gYW4gSFRUUCBzdHJlYW0sIGluIHRoYXQgY2FzZSBpdCB3aWxsIGhhbmRsZSBlbmNvZGluZyBhbmQgdXBkYXRlIG9mIHRoZSBiYXNlIFVSTCBpbiBjYXNlIG9mIHJlZGlyZWN0aW9uLiBJdCBhbHNvIGNoZWNrcyBmb3IgSFRUUCBlcnJvcnMgaW4gd2hpY2ggY2FzZSB0aGUgaW5wdXQgaXMgY2xlYW5seSBmcmVlZCB1cCBhbmQgYW4gYXBwcm9wcmlhdGUgZXJyb3IgaXMgcmFpc2VkIGluIGNvbnRleHQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmV0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGlucHV0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaW5wdXQgb3IgTlVMTCBpbiBjYXNlIG9mIEhUVFAgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sQ2xlYW51cElucHV0Q2FsbGJhY2tzIi8+eG1sQ2xlYW51cElucHV0Q2FsbGJhY2tzICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxDbGVhbnVwSW5wdXRDYWxsYmFja3MJKHZvaWQpPGJyLz4KKzwvcHJlPjxwPmNsZWFycyB0aGUgZW50aXJlIGlucHV0IGNhbGxiYWNrIHRhYmxlLiB0aGlzIGluY2x1ZGVzIHRoZSBjb21waWxlZC1pbiBJL08uPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbENsZWFudXBPdXRwdXRDYWxsYmFja3MiLz54bWxDbGVhbnVwT3V0cHV0Q2FsbGJhY2tzICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxDbGVhbnVwT3V0cHV0Q2FsbGJhY2tzCSh2b2lkKTxici8+Cis8L3ByZT48cD5jbGVhcnMgdGhlIGVudGlyZSBvdXRwdXQgY2FsbGJhY2sgdGFibGUuIHRoaXMgaW5jbHVkZXMgdGhlIGNvbXBpbGVkLWluIEkvTyBjYWxsYmFja3MuPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEZpbGVDbG9zZSIvPnhtbEZpbGVDbG9zZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxGaWxlQ2xvc2UJCQkodm9pZCAqIGNvbnRleHQpPGJyLz4KKzwvcHJlPjxwPkNsb3NlIGFuIEkvTyBjaGFubmVsPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb250ZXh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgSS9PIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEZpbGVNYXRjaCIvPnhtbEZpbGVNYXRjaCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxGaWxlTWF0Y2gJCQkoY29uc3QgY2hhciAqIGZpbGVuYW1lKTxici8+Cis8L3ByZT48cD5pbnB1dCBmcm9tIEZJTEUgKjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmlsZW5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBVUkkgZm9yIG1hdGNoaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIG1hdGNoZXMsIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sRmlsZU9wZW4iLz54bWxGaWxlT3BlbiAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQgKgl4bWxGaWxlT3BlbgkJCShjb25zdCBjaGFyICogZmlsZW5hbWUpPGJyLz4KKzwvcHJlPjxwPldyYXBwZXIgYXJvdW5kIHhtbEZpbGVPcGVuX3JlYWwgdGhhdCB0cnkgaXQgd2l0aCBhbiB1bmVzY2FwZWQgdmVyc2lvbiBvZiBAZmlsZW5hbWUsIGlmIHRoaXMgZmFpbHMgZmFsbGJhY2sgdG8gQGZpbGVuYW1lPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlbmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFVSSSBmb3IgbWF0Y2hpbmc8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgaGFuZGxlciBvciBOVUxMIGluIGNhc2Ugb3IgZmFpbHVyZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEZpbGVSZWFkIi8+eG1sRmlsZVJlYWQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sRmlsZVJlYWQJCQkodm9pZCAqIGNvbnRleHQsIDxici8+CQkJCQkgY2hhciAqIGJ1ZmZlciwgPGJyLz4JCQkJCSBpbnQgbGVuKTxici8+Cis8L3ByZT48cD5SZWFkIEBsZW4gYnl0ZXMgdG8gQGJ1ZmZlciBmcm9tIHRoZSBJL08gY2hhbm5lbC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbnRleHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBJL08gY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YnVmZmVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD53aGVyZSB0byBkcm9wIGRhdGE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+bnVtYmVyIG9mIGJ5dGVzIHRvIHdyaXRlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGJ5dGVzIHdyaXR0ZW4gb3IgJmx0OyAwIGluIGNhc2Ugb2YgZmFpbHVyZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEZyZWVQYXJzZXJJbnB1dEJ1ZmZlciIvPnhtbEZyZWVQYXJzZXJJbnB1dEJ1ZmZlciAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sRnJlZVBhcnNlcklucHV0QnVmZmVyCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciI+eG1sUGFyc2VySW5wdXRCdWZmZXJQdHI8L2E+IGluKTxici8+Cis8L3ByZT48cD5GcmVlIHVwIHRoZSBtZW1vcnkgdXNlZCBieSBhIGJ1ZmZlcmVkIHBhcnNlciBpbnB1dDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgYnVmZmVyZWQgcGFyc2VyIGlucHV0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sSU9GVFBDbG9zZSIvPnhtbElPRlRQQ2xvc2UgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sSU9GVFBDbG9zZQkJCSh2b2lkICogY29udGV4dCk8YnIvPgorPC9wcmU+PHA+Q2xvc2UgYW4gRlRQIEkvTyBjaGFubmVsPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb250ZXh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgSS9PIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjA8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxJT0ZUUE1hdGNoIi8+eG1sSU9GVFBNYXRjaCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxJT0ZUUE1hdGNoCQkJKGNvbnN0IGNoYXIgKiBmaWxlbmFtZSk8YnIvPgorPC9wcmU+PHA+Y2hlY2sgaWYgdGhlIFVSSSBtYXRjaGVzIGFuIEZUUCBvbmU8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZpbGVuYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgVVJJIGZvciBtYXRjaGluZzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiBtYXRjaGVzLCAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbElPRlRQT3BlbiIvPnhtbElPRlRQT3BlbiAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQgKgl4bWxJT0ZUUE9wZW4JCQkoY29uc3QgY2hhciAqIGZpbGVuYW1lKTxici8+Cis8L3ByZT48cD5vcGVuIGFuIEZUUCBJL08gY2hhbm5lbDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmlsZW5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBVUkkgZm9yIG1hdGNoaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBJL08gY29udGV4dCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxJT0ZUUFJlYWQiLz54bWxJT0ZUUFJlYWQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sSU9GVFBSZWFkCQkJKHZvaWQgKiBjb250ZXh0LCA8YnIvPgkJCQkJIGNoYXIgKiBidWZmZXIsIDxici8+CQkJCQkgaW50IGxlbik8YnIvPgorPC9wcmU+PHA+UmVhZCBAbGVuIGJ5dGVzIHRvIEBidWZmZXIgZnJvbSB0aGUgSS9PIGNoYW5uZWwuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb250ZXh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgSS9PIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmJ1ZmZlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+d2hlcmUgdG8gZHJvcCBkYXRhPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPm51bWJlciBvZiBieXRlcyB0byB3cml0ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBieXRlcyB3cml0dGVuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sSU9IVFRQQ2xvc2UiLz54bWxJT0hUVFBDbG9zZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxJT0hUVFBDbG9zZQkJCSh2b2lkICogY29udGV4dCk8YnIvPgorPC9wcmU+PHA+Q2xvc2UgYW4gSFRUUCBJL08gY2hhbm5lbDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29udGV4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIEkvTyBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sSU9IVFRQTWF0Y2giLz54bWxJT0hUVFBNYXRjaCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxJT0hUVFBNYXRjaAkJCShjb25zdCBjaGFyICogZmlsZW5hbWUpPGJyLz4KKzwvcHJlPjxwPmNoZWNrIGlmIHRoZSBVUkkgbWF0Y2hlcyBhbiBIVFRQIG9uZTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmlsZW5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBVUkkgZm9yIG1hdGNoaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIG1hdGNoZXMsIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sSU9IVFRQT3BlbiIvPnhtbElPSFRUUE9wZW4gKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkICoJeG1sSU9IVFRQT3BlbgkJCShjb25zdCBjaGFyICogZmlsZW5hbWUpPGJyLz4KKzwvcHJlPjxwPm9wZW4gYW4gSFRUUCBJL08gY2hhbm5lbDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmlsZW5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBVUkkgZm9yIG1hdGNoaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBJL08gY29udGV4dCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxJT0hUVFBPcGVuVyIvPnhtbElPSFRUUE9wZW5XICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZCAqCXhtbElPSFRUUE9wZW5XCQkJKGNvbnN0IGNoYXIgKiBwb3N0X3VyaSwgPGJyLz4JCQkJCSBpbnQgY29tcHJlc3Npb24pPGJyLz4KKzwvcHJlPjxwPk9wZW4gYSB0ZW1wb3JhcnkgYnVmZmVyIHRvIGNvbGxlY3QgdGhlIGRvY3VtZW50IGZvciBhIHN1YnNlcXVlbnQgSFRUUCBQT1NUIHJlcXVlc3QuIE5vbi1zdGF0aWMgYXMgaXMgY2FsbGVkIGZyb20gdGhlIG91dHB1dCBidWZmZXIgY3JlYXRpb24gcm91dGluZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnBvc3RfdXJpPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5UaGUgZGVzdGluYXRpb24gVVJJIGZvciB0aGUgZG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbXByZXNzaW9uPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5UaGUgY29tcHJlc3Npb24gZGVzaXJlZCBmb3IgdGhlIGRvY3VtZW50LjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gSS9PIGNvbnRleHQgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbElPSFRUUFJlYWQiLz54bWxJT0hUVFBSZWFkICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbElPSFRUUFJlYWQJCQkodm9pZCAqIGNvbnRleHQsIDxici8+CQkJCQkgY2hhciAqIGJ1ZmZlciwgPGJyLz4JCQkJCSBpbnQgbGVuKTxici8+Cis8L3ByZT48cD5SZWFkIEBsZW4gYnl0ZXMgdG8gQGJ1ZmZlciBmcm9tIHRoZSBJL08gY2hhbm5lbC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbnRleHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBJL08gY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YnVmZmVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD53aGVyZSB0byBkcm9wIGRhdGE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+bnVtYmVyIG9mIGJ5dGVzIHRvIHdyaXRlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGJ5dGVzIHdyaXR0ZW48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxOb05ldEV4dGVybmFsRW50aXR5TG9hZGVyIi8+eG1sTm9OZXRFeHRlcm5hbEVudGl0eUxvYWRlciAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlcklucHV0UHRyIj54bWxQYXJzZXJJbnB1dFB0cjwvYT4JeG1sTm9OZXRFeHRlcm5hbEVudGl0eUxvYWRlcgkoY29uc3QgY2hhciAqIFVSTCwgPGJyLz4JCQkJCQkJIGNvbnN0IGNoYXIgKiBJRCwgPGJyLz4JCQkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPGJyLz4KKzwvcHJlPjxwPkEgc3BlY2lmaWMgZW50aXR5IGxvYWRlciBkaXNhYmxpbmcgbmV0d29yayBhY2Nlc3NlcywgdGhvdWdoIHN0aWxsIGFsbG93aW5nIGxvY2FsIGNhdGFsb2cgYWNjZXNzZXMgZm9yIHJlc29sdXRpb24uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5VUkw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBVUkwgZm9yIHRoZSBlbnRpdHkgdG8gbG9hZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+SUQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBTeXN0ZW0gSUQgZm9yIHRoZSBlbnRpdHkgdG8gbG9hZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGNvbnRleHQgaW4gd2hpY2ggdGhlIGVudGl0eSBpcyBjYWxsZWQgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBuZXcgYWxsb2NhdGVkIHhtbFBhcnNlcklucHV0UHRyLCBvciBOVUxMLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE5vcm1hbGl6ZVdpbmRvd3NQYXRoIi8+eG1sTm9ybWFsaXplV2luZG93c1BhdGggKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sTm9ybWFsaXplV2luZG93c1BhdGgJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwYXRoKTxici8+Cis8L3ByZT48cD5UaGlzIGZ1bmN0aW9uIGlzIG9ic29sZXRlLiBQbGVhc2Ugc2VlIHhtbFVSSUZyb21QYXRoIGluIHVyaS5jIGZvciBhIGJldHRlciBzb2x1dGlvbi48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnBhdGg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBpbnB1dCBmaWxlIHBhdGg8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgY2Fub25pY2FsaXplZCB2ZXJzaW9uIG9mIHRoZSBwYXRoPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sT3V0cHV0QnVmZmVyQ2xvc2UiLz54bWxPdXRwdXRCdWZmZXJDbG9zZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxPdXRwdXRCdWZmZXJDbG9zZQkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE91dHB1dEJ1ZmZlclB0ciI+eG1sT3V0cHV0QnVmZmVyUHRyPC9hPiBvdXQpPGJyLz4KKzwvcHJlPjxwPmZsdXNoZXMgYW5kIGNsb3NlIHRoZSBvdXRwdXQgSS9PIGNoYW5uZWwgYW5kIGZyZWUgdXAgYWxsIHRoZSBhc3NvY2lhdGVkIHJlc291cmNlczwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3V0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGJ1ZmZlcmVkIG91dHB1dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBieXRlIHdyaXR0ZW4gb3IgLTEgaW4gY2FzZSBvZiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxPdXRwdXRCdWZmZXJDcmVhdGVCdWZmZXIiLz54bWxPdXRwdXRCdWZmZXJDcmVhdGVCdWZmZXIgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxPdXRwdXRCdWZmZXJQdHIiPnhtbE91dHB1dEJ1ZmZlclB0cjwvYT4JeG1sT3V0cHV0QnVmZmVyQ3JlYXRlQnVmZmVyCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxCdWZmZXJQdHIiPnhtbEJ1ZmZlclB0cjwvYT4gYnVmZmVyLCA8YnIvPgkJCQkJCQkgPGEgaHJlZj0ibGlieG1sMi1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIiPnhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHI8L2E+IGVuY29kZXIpPGJyLz4KKzwvcHJlPjxwPkNyZWF0ZSBhIGJ1ZmZlcmVkIG91dHB1dCBmb3IgdGhlIHByb2dyZXNzaXZlIHNhdmluZyB0byBhIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEJ1ZmZlciI+eG1sQnVmZmVyPC9hPjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YnVmZmVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbEJ1ZmZlclB0ciI+eG1sQnVmZmVyUHRyPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jb2RlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVuY29kaW5nIGNvbnZlcnRlciBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IHBhcnNlciBvdXRwdXQgb3IgTlVMTDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZkIi8+eG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxPdXRwdXRCdWZmZXJQdHIiPnhtbE91dHB1dEJ1ZmZlclB0cjwvYT4JeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmQJKGludCBmZCwgPGJyLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sMi1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIiPnhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHI8L2E+IGVuY29kZXIpPGJyLz4KKzwvcHJlPjxwPkNyZWF0ZSBhIGJ1ZmZlcmVkIG91dHB1dCBmb3IgdGhlIHByb2dyZXNzaXZlIHNhdmluZyB0byBhIGZpbGUgZGVzY3JpcHRvcjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgZmlsZSBkZXNjcmlwdG9yIG51bWJlcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jb2RlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVuY29kaW5nIGNvbnZlcnRlciBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IHBhcnNlciBvdXRwdXQgb3IgTlVMTDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGUiLz54bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sT3V0cHV0QnVmZmVyUHRyIj54bWxPdXRwdXRCdWZmZXJQdHI8L2E+CXhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGUJKEZJTEUgKiBmaWxlLCA8YnIvPgkJCQkJCQkgPGEgaHJlZj0ibGlieG1sMi1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIiPnhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHI8L2E+IGVuY29kZXIpPGJyLz4KKzwvcHJlPjxwPkNyZWF0ZSBhIGJ1ZmZlcmVkIG91dHB1dCBmb3IgdGhlIHByb2dyZXNzaXZlIHNhdmluZyB0byBhIEZJTEUgKiBidWZmZXJlZCBDIEkvTzwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmlsZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBGSUxFKjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jb2RlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVuY29kaW5nIGNvbnZlcnRlciBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IHBhcnNlciBvdXRwdXQgb3IgTlVMTDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lIi8+eG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxPdXRwdXRCdWZmZXJQdHIiPnhtbE91dHB1dEJ1ZmZlclB0cjwvYT4JeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWUJKGNvbnN0IGNoYXIgKiBVUkksIDxici8+CQkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0ciI+eG1sQ2hhckVuY29kaW5nSGFuZGxlclB0cjwvYT4gZW5jb2RlciwgPGJyLz4JCQkJCQkJIGludCBjb21wcmVzc2lvbik8YnIvPgorPC9wcmU+PHA+Q3JlYXRlIGEgYnVmZmVyZWQgb3V0cHV0IGZvciB0aGUgcHJvZ3Jlc3NpdmUgc2F2aW5nIG9mIGEgZmlsZSBJZiBmaWxlbmFtZSBpcyAiLScgdGhlbiB3ZSB1c2Ugc3Rkb3V0IGFzIHRoZSBvdXRwdXQuIEF1dG9tYXRpYyBzdXBwb3J0IGZvciBaTElCL0NvbXByZXNzIGNvbXByZXNzZWQgZG9jdW1lbnQgaXMgcHJvdmlkZWQgYnkgZGVmYXVsdCBpZiBmb3VuZCBhdCBjb21waWxlLXRpbWUuIFRPRE86IGN1cnJlbnRseSBpZiBjb21wcmVzc2lvbiBpcyBzZXQsIHRoZSBsaWJyYXJ5IG9ubHkgc3VwcG9ydCB3cml0aW5nIHRvIGEgbG9jYWwgZmlsZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlVSSTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBDIHN0cmluZyBjb250YWluaW5nIHRoZSBVUkkgb3IgZmlsZW5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVuY29kZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbmNvZGluZyBjb252ZXJ0ZXIgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29tcHJlc3Npb248L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjb21wcmVzc2lvbiByYXRpb24gKDAgbm9uZSwgOSBtYXgpLjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ldyBvdXRwdXQgb3IgTlVMTDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE91dHB1dEJ1ZmZlckNyZWF0ZUlPIi8+eG1sT3V0cHV0QnVmZmVyQ3JlYXRlSU8gKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxPdXRwdXRCdWZmZXJQdHIiPnhtbE91dHB1dEJ1ZmZlclB0cjwvYT4JeG1sT3V0cHV0QnVmZmVyQ3JlYXRlSU8JKDxhIGhyZWY9ImxpYnhtbDIteG1sSU8uaHRtbCN4bWxPdXRwdXRXcml0ZUNhbGxiYWNrIj54bWxPdXRwdXRXcml0ZUNhbGxiYWNrPC9hPiBpb3dyaXRlLCA8YnIvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbElPLmh0bWwjeG1sT3V0cHV0Q2xvc2VDYWxsYmFjayI+eG1sT3V0cHV0Q2xvc2VDYWxsYmFjazwvYT4gaW9jbG9zZSwgPGJyLz4JCQkJCQkgdm9pZCAqIGlvY3R4LCA8YnIvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0ciI+eG1sQ2hhckVuY29kaW5nSGFuZGxlclB0cjwvYT4gZW5jb2Rlcik8YnIvPgorPC9wcmU+PHA+Q3JlYXRlIGEgYnVmZmVyZWQgb3V0cHV0IGZvciB0aGUgcHJvZ3Jlc3NpdmUgc2F2aW5nIHRvIGFuIEkvTyBoYW5kbGVyPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pb3dyaXRlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBJL08gd3JpdGUgZnVuY3Rpb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmlvY2xvc2U8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIEkvTyBjbG9zZSBmdW5jdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aW9jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIEkvTyBoYW5kbGVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbmNvZGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY2hhcnNldCBlbmNvZGluZyBpZiBrbm93bjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ldyBwYXJzZXIgb3V0cHV0IG9yIE5VTEw8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxPdXRwdXRCdWZmZXJGbHVzaCIvPnhtbE91dHB1dEJ1ZmZlckZsdXNoICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbE91dHB1dEJ1ZmZlckZsdXNoCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sT3V0cHV0QnVmZmVyUHRyIj54bWxPdXRwdXRCdWZmZXJQdHI8L2E+IG91dCk8YnIvPgorPC9wcmU+PHA+Zmx1c2hlcyB0aGUgb3V0cHV0IEkvTyBjaGFubmVsPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vdXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgYnVmZmVyZWQgb3V0cHV0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGJ5dGUgd3JpdHRlbiBvciAtMSBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE91dHB1dEJ1ZmZlckdldENvbnRlbnQiLz54bWxPdXRwdXRCdWZmZXJHZXRDb250ZW50ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Y29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbE91dHB1dEJ1ZmZlckdldENvbnRlbnQJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE91dHB1dEJ1ZmZlclB0ciI+eG1sT3V0cHV0QnVmZmVyUHRyPC9hPiBvdXQpPGJyLz4KKzwvcHJlPjxwPkdpdmVzIGEgcG9pbnRlciB0byB0aGUgZGF0YSBjdXJyZW50bHkgaGVsZCBpbiB0aGUgb3V0cHV0IGJ1ZmZlcjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3V0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxPdXRwdXRCdWZmZXJQdHIiPnhtbE91dHB1dEJ1ZmZlclB0cjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byB0aGUgZGF0YSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxPdXRwdXRCdWZmZXJHZXRTaXplIi8+eG1sT3V0cHV0QnVmZmVyR2V0U2l6ZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnNpemVfdAl4bWxPdXRwdXRCdWZmZXJHZXRTaXplCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sT3V0cHV0QnVmZmVyUHRyIj54bWxPdXRwdXRCdWZmZXJQdHI8L2E+IG91dCk8YnIvPgorPC9wcmU+PHA+R2l2ZXMgdGhlIGxlbmd0aCBvZiB0aGUgZGF0YSBjdXJyZW50bHkgaGVsZCBpbiB0aGUgb3V0cHV0IGJ1ZmZlcjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3V0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxPdXRwdXRCdWZmZXJQdHIiPnhtbE91dHB1dEJ1ZmZlclB0cjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaW4gY2FzZSBvciBlcnJvciBvciBubyBkYXRhIGlzIGhlbGQsIHRoZSBzaXplIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE91dHB1dEJ1ZmZlcldyaXRlIi8+eG1sT3V0cHV0QnVmZmVyV3JpdGUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sT3V0cHV0QnVmZmVyV3JpdGUJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxPdXRwdXRCdWZmZXJQdHIiPnhtbE91dHB1dEJ1ZmZlclB0cjwvYT4gb3V0LCA8YnIvPgkJCQkJIGludCBsZW4sIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGJ1Zik8YnIvPgorPC9wcmU+PHA+V3JpdGUgdGhlIGNvbnRlbnQgb2YgdGhlIGFycmF5IGluIHRoZSBvdXRwdXQgSS9PIGJ1ZmZlciBUaGlzIHJvdXRpbmUgaGFuZGxlIHRoZSBJMThOIHRyYW5zY29kaW5nIGZyb20gaW50ZXJuYWwgVVRGLTggVGhlIGJ1ZmZlciBpcyBsb3NzbGVzcywgaS5lLiB3aWxsIHN0b3JlIGluIGNhc2Ugb2YgcGFydGlhbCBvciBkZWxheWVkIHdyaXRlcy48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm91dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBidWZmZXJlZCBwYXJzZXIgb3V0cHV0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzaXplIGluIGJ5dGVzIG9mIHRoZSBhcnJheS48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmJ1ZjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gY2hhciBhcnJheTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBjaGFycyBpbW1lZGlhdGVseSB3cml0dGVuLCBvciAtMSBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE91dHB1dEJ1ZmZlcldyaXRlRXNjYXBlIi8+eG1sT3V0cHV0QnVmZmVyV3JpdGVFc2NhcGUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sT3V0cHV0QnVmZmVyV3JpdGVFc2NhcGUJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE91dHB1dEJ1ZmZlclB0ciI+eG1sT3V0cHV0QnVmZmVyUHRyPC9hPiBvdXQsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0ciwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYyI+eG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYzwvYT4gZXNjYXBpbmcpPGJyLz4KKzwvcHJlPjxwPldyaXRlIHRoZSBjb250ZW50IG9mIHRoZSBzdHJpbmcgaW4gdGhlIG91dHB1dCBJL08gYnVmZmVyIFRoaXMgcm91dGluZSBlc2NhcGVzIHRoZSBjYXJhY3RlcnMgYW5kIHRoZW4gaGFuZGxlIHRoZSBJMThOIHRyYW5zY29kaW5nIGZyb20gaW50ZXJuYWwgVVRGLTggVGhlIGJ1ZmZlciBpcyBsb3NzbGVzcywgaS5lLiB3aWxsIHN0b3JlIGluIGNhc2Ugb2YgcGFydGlhbCBvciBkZWxheWVkIHdyaXRlcy48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm91dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBidWZmZXJlZCBwYXJzZXIgb3V0cHV0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdHI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgemVybyB0ZXJtaW5hdGVkIFVURi04IHN0cmluZzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZXNjYXBpbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIG9wdGlvbmFsIGVzY2FwaW5nIGZ1bmN0aW9uIChvciBOVUxMKTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBjaGFycyBpbW1lZGlhdGVseSB3cml0dGVuLCBvciAtMSBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nIi8+eG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE91dHB1dEJ1ZmZlclB0ciI+eG1sT3V0cHV0QnVmZmVyUHRyPC9hPiBvdXQsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIHN0cik8YnIvPgorPC9wcmU+PHA+V3JpdGUgdGhlIGNvbnRlbnQgb2YgdGhlIHN0cmluZyBpbiB0aGUgb3V0cHV0IEkvTyBidWZmZXIgVGhpcyByb3V0aW5lIGhhbmRsZSB0aGUgSTE4TiB0cmFuc2NvZGluZyBmcm9tIGludGVybmFsIFVURi04IFRoZSBidWZmZXIgaXMgbG9zc2xlc3MsIGkuZS4gd2lsbCBzdG9yZSBpbiBjYXNlIG9mIHBhcnRpYWwgb3IgZGVsYXllZCB3cml0ZXMuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vdXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgYnVmZmVyZWQgcGFyc2VyIG91dHB1dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3RyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHplcm8gdGVybWluYXRlZCBDIHN0cmluZzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBjaGFycyBpbW1lZGlhdGVseSB3cml0dGVuLCBvciAtMSBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFBhcnNlckdldERpcmVjdG9yeSIvPnhtbFBhcnNlckdldERpcmVjdG9yeSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmNoYXIgKgl4bWxQYXJzZXJHZXREaXJlY3RvcnkJCShjb25zdCBjaGFyICogZmlsZW5hbWUpPGJyLz4KKzwvcHJlPjxwPmxvb2t1cCB0aGUgZGlyZWN0b3J5IGZvciB0aGF0IGZpbGU8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZpbGVuYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcGF0aCB0byBhIGZpbGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbmV3IGFsbG9jYXRlZCBzdHJpbmcgY29udGFpbmluZyB0aGUgZGlyZWN0b3J5LCBvciBOVUxMLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmQiLz54bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZkICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIiPnhtbFBhcnNlcklucHV0QnVmZmVyUHRyPC9hPgl4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZkCShpbnQgZmQsIDxici8+CQkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nIj54bWxDaGFyRW5jb2Rpbmc8L2E+IGVuYyk8YnIvPgorPC9wcmU+PHA+Q3JlYXRlIGEgYnVmZmVyZWQgcGFyc2VyIGlucHV0IGZvciB0aGUgcHJvZ3Jlc3NpdmUgcGFyc2luZyBmb3IgdGhlIGlucHV0IGZyb20gYSBmaWxlIGRlc2NyaXB0b3I8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZkPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGZpbGUgZGVzY3JpcHRvciBudW1iZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVuYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGNoYXJzZXQgZW5jb2RpbmcgaWYga25vd248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXcgcGFyc2VyIGlucHV0IG9yIE5VTEw8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGUiLz54bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciI+eG1sUGFyc2VySW5wdXRCdWZmZXJQdHI8L2E+CXhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZQkoRklMRSAqIGZpbGUsIDxici8+CQkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nIj54bWxDaGFyRW5jb2Rpbmc8L2E+IGVuYyk8YnIvPgorPC9wcmU+PHA+Q3JlYXRlIGEgYnVmZmVyZWQgcGFyc2VyIGlucHV0IGZvciB0aGUgcHJvZ3Jlc3NpdmUgcGFyc2luZyBvZiBhIEZJTEUgKiBidWZmZXJlZCBDIEkvTzwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmlsZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBGSUxFKjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY2hhcnNldCBlbmNvZGluZyBpZiBrbm93bjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ldyBwYXJzZXIgaW5wdXQgb3IgTlVMTDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWUiLz54bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIiPnhtbFBhcnNlcklucHV0QnVmZmVyUHRyPC9hPgl4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lCShjb25zdCBjaGFyICogVVJJLCA8YnIvPgkJCQkJCQkgPGEgaHJlZj0ibGlieG1sMi1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZyI+eG1sQ2hhckVuY29kaW5nPC9hPiBlbmMpPGJyLz4KKzwvcHJlPjxwPkNyZWF0ZSBhIGJ1ZmZlcmVkIHBhcnNlciBpbnB1dCBmb3IgdGhlIHByb2dyZXNzaXZlIHBhcnNpbmcgb2YgYSBmaWxlIElmIGZpbGVuYW1lIGlzICItJyB0aGVuIHdlIHVzZSBzdGRpbiBhcyB0aGUgaW5wdXQuIEF1dG9tYXRpYyBzdXBwb3J0IGZvciBaTElCL0NvbXByZXNzIGNvbXByZXNzZWQgZG9jdW1lbnQgaXMgcHJvdmlkZWQgYnkgZGVmYXVsdCBpZiBmb3VuZCBhdCBjb21waWxlLXRpbWUuIERvIGFuIGVuY29kaW5nIGNoZWNrIGlmIGVuYyA9PSA8YSBocmVmPSJsaWJ4bWwyLWVuY29kaW5nLmh0bWwjWE1MX0NIQVJfRU5DT0RJTkdfTk9ORSI+WE1MX0NIQVJfRU5DT0RJTkdfTk9ORTwvYT48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlVSSTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBDIHN0cmluZyBjb250YWluaW5nIHRoZSBVUkkgb3IgZmlsZW5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVuYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGNoYXJzZXQgZW5jb2RpbmcgaWYga25vd248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXcgcGFyc2VyIGlucHV0IG9yIE5VTEw8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUlPIi8+eG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVJTyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyUHRyIj54bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cjwvYT4JeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVJTwkoPGEgaHJlZj0ibGlieG1sMi14bWxJTy5odG1sI3htbElucHV0UmVhZENhbGxiYWNrIj54bWxJbnB1dFJlYWRDYWxsYmFjazwvYT4gaW9yZWFkLCA8YnIvPgkJCQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxJTy5odG1sI3htbElucHV0Q2xvc2VDYWxsYmFjayI+eG1sSW5wdXRDbG9zZUNhbGxiYWNrPC9hPiBpb2Nsb3NlLCA8YnIvPgkJCQkJCQkgdm9pZCAqIGlvY3R4LCA8YnIvPgkJCQkJCQkgPGEgaHJlZj0ibGlieG1sMi1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZyI+eG1sQ2hhckVuY29kaW5nPC9hPiBlbmMpPGJyLz4KKzwvcHJlPjxwPkNyZWF0ZSBhIGJ1ZmZlcmVkIHBhcnNlciBpbnB1dCBmb3IgdGhlIHByb2dyZXNzaXZlIHBhcnNpbmcgZm9yIHRoZSBpbnB1dCBmcm9tIGFuIEkvTyBoYW5kbGVyPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pb3JlYWQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIEkvTyByZWFkIGZ1bmN0aW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pb2Nsb3NlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBJL08gY2xvc2UgZnVuY3Rpb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmlvY3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBJL08gaGFuZGxlcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY2hhcnNldCBlbmNvZGluZyBpZiBrbm93bjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ldyBwYXJzZXIgaW5wdXQgb3IgTlVMTDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlTWVtIi8+eG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVNZW0gKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciI+eG1sUGFyc2VySW5wdXRCdWZmZXJQdHI8L2E+CXhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlTWVtCShjb25zdCBjaGFyICogbWVtLCA8YnIvPgkJCQkJCQkgaW50IHNpemUsIDxici8+CQkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nIj54bWxDaGFyRW5jb2Rpbmc8L2E+IGVuYyk8YnIvPgorPC9wcmU+PHA+Q3JlYXRlIGEgYnVmZmVyZWQgcGFyc2VyIGlucHV0IGZvciB0aGUgcHJvZ3Jlc3NpdmUgcGFyc2luZyBmb3IgdGhlIGlucHV0IGZyb20gYSBtZW1vcnkgYXJlYS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm1lbTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG1lbW9yeSBpbnB1dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2l6ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxlbmd0aCBvZiB0aGUgbWVtb3J5IGJsb2NrPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbmM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjaGFyc2V0IGVuY29kaW5nIGlmIGtub3duPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IHBhcnNlciBpbnB1dCBvciBOVUxMPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVTdGF0aWMiLz54bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZVN0YXRpYyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyUHRyIj54bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cjwvYT4JeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVTdGF0aWMJKGNvbnN0IGNoYXIgKiBtZW0sIDxici8+CQkJCQkJCSBpbnQgc2l6ZSwgPGJyLz4JCQkJCQkJIDxhIGhyZWY9ImxpYnhtbDItZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmciPnhtbENoYXJFbmNvZGluZzwvYT4gZW5jKTxici8+Cis8L3ByZT48cD5DcmVhdGUgYSBidWZmZXJlZCBwYXJzZXIgaW5wdXQgZm9yIHRoZSBwcm9ncmVzc2l2ZSBwYXJzaW5nIGZvciB0aGUgaW5wdXQgZnJvbSBhbiBpbW11dGFibGUgbWVtb3J5IGFyZWEuIFRoaXMgd2lsbCBub3QgY29weSB0aGUgbWVtb3J5IGFyZWEgdG8gdGhlIGJ1ZmZlciwgYnV0IHRoZSBtZW1vcnkgaXMgZXhwZWN0ZWQgdG8gYmUgYXZhaWxhYmxlIHVudGlsIHRoZSBlbmQgb2YgdGhlIHBhcnNpbmcsIHRoaXMgaXMgdXNlZnVsIGZvciBleGFtcGxlIHdoZW4gdXNpbmcgbW1hcCdlZCBmaWxlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bWVtPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbWVtb3J5IGlucHV0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zaXplPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbGVuZ3RoIG9mIHRoZSBtZW1vcnkgYmxvY2s8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVuYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGNoYXJzZXQgZW5jb2RpbmcgaWYga25vd248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXcgcGFyc2VyIGlucHV0IG9yIE5VTEw8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxQYXJzZXJJbnB1dEJ1ZmZlckdyb3ciLz54bWxQYXJzZXJJbnB1dEJ1ZmZlckdyb3cgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sUGFyc2VySW5wdXRCdWZmZXJHcm93CSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciI+eG1sUGFyc2VySW5wdXRCdWZmZXJQdHI8L2E+IGluLCA8YnIvPgkJCQkJIGludCBsZW4pPGJyLz4KKzwvcHJlPjxwPkdyb3cgdXAgdGhlIGNvbnRlbnQgb2YgdGhlIGlucHV0IGJ1ZmZlciwgdGhlIG9sZCBkYXRhIGFyZSBwcmVzZXJ2ZWQgVGhpcyByb3V0aW5lIGhhbmRsZSB0aGUgSTE4TiB0cmFuc2NvZGluZyB0byBpbnRlcm5hbCBVVEYtOCBUaGlzIHJvdXRpbmUgaXMgdXNlZCB3aGVuIG9wZXJhdGluZyB0aGUgcGFyc2VyIGluIG5vcm1hbCAocHVsbCkgbW9kZSBUT0RPOiBvbmUgc2hvdWxkIGJlIGFibGUgdG8gcmVtb3ZlIG9uZSBleHRyYSBjb3B5IGJ5IGNvcHlpbmcgZGlyZWN0bHkgb250byBpbi0mZ3Q7YnVmZmVyIG9yIGluLSZndDtyYXc8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmluPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGJ1ZmZlcmVkIHBhcnNlciBpbnB1dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGVuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5pbmRpY2F0aXZlIHZhbHVlIG9mIHRoZSBhbW91bnQgb2YgY2hhcnMgdG8gcmVhZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBjaGFycyByZWFkIGFuZCBzdG9yZWQgaW4gdGhlIGJ1ZmZlciwgb3IgLTEgaW4gY2FzZSBvZiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxQYXJzZXJJbnB1dEJ1ZmZlclB1c2giLz54bWxQYXJzZXJJbnB1dEJ1ZmZlclB1c2ggKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sUGFyc2VySW5wdXRCdWZmZXJQdXNoCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciI+eG1sUGFyc2VySW5wdXRCdWZmZXJQdHI8L2E+IGluLCA8YnIvPgkJCQkJIGludCBsZW4sIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGJ1Zik8YnIvPgorPC9wcmU+PHA+UHVzaCB0aGUgY29udGVudCBvZiB0aGUgYXJyeSBpbiB0aGUgaW5wdXQgYnVmZmVyIFRoaXMgcm91dGluZSBoYW5kbGUgdGhlIEkxOE4gdHJhbnNjb2RpbmcgdG8gaW50ZXJuYWwgVVRGLTggVGhpcyBpcyB1c2VkIHdoZW4gb3BlcmF0aW5nIHRoZSBwYXJzZXIgaW4gcHJvZ3Jlc3NpdmUgKHB1c2gpIG1vZGUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBidWZmZXJlZCBwYXJzZXIgaW5wdXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHNpemUgaW4gYnl0ZXMgb2YgdGhlIGFycmF5LjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YnVmPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBjaGFyIGFycmF5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGNoYXJzIHJlYWQgYW5kIHN0b3JlZCBpbiB0aGUgYnVmZmVyLCBvciAtMSBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFBhcnNlcklucHV0QnVmZmVyUmVhZCIvPnhtbFBhcnNlcklucHV0QnVmZmVyUmVhZCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxQYXJzZXJJbnB1dEJ1ZmZlclJlYWQJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyUHRyIj54bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cjwvYT4gaW4sIDxici8+CQkJCQkgaW50IGxlbik8YnIvPgorPC9wcmU+PHA+UmVmcmVzaCB0aGUgY29udGVudCBvZiB0aGUgaW5wdXQgYnVmZmVyLCB0aGUgb2xkIGRhdGEgYXJlIGNvbnNpZGVyZWQgY29uc3VtZWQgVGhpcyByb3V0aW5lIGhhbmRsZSB0aGUgSTE4TiB0cmFuc2NvZGluZyB0byBpbnRlcm5hbCBVVEYtODwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgYnVmZmVyZWQgcGFyc2VyIGlucHV0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmluZGljYXRpdmUgdmFsdWUgb2YgdGhlIGFtb3VudCBvZiBjaGFycyB0byByZWFkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGNoYXJzIHJlYWQgYW5kIHN0b3JlZCBpbiB0aGUgYnVmZmVyLCBvciAtMSBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFBvcElucHV0Q2FsbGJhY2tzIi8+eG1sUG9wSW5wdXRDYWxsYmFja3MgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sUG9wSW5wdXRDYWxsYmFja3MJCSh2b2lkKTxici8+Cis8L3ByZT48cD5DbGVhciB0aGUgdG9wIGlucHV0IGNhbGxiYWNrIGZyb20gdGhlIGlucHV0IHN0YWNrLiB0aGlzIGluY2x1ZGVzIHRoZSBjb21waWxlZC1pbiBJL08uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGlucHV0IGNhbGxiYWNrIHJlZ2lzdGVyZWQgb3IgLTEgaW4gY2FzZSBvZiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxSZWdpc3RlckRlZmF1bHRJbnB1dENhbGxiYWNrcyIvPnhtbFJlZ2lzdGVyRGVmYXVsdElucHV0Q2FsbGJhY2tzICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxSZWdpc3RlckRlZmF1bHRJbnB1dENhbGxiYWNrcwkodm9pZCk8YnIvPgorPC9wcmU+PHA+UmVnaXN0ZXJzIHRoZSBkZWZhdWx0IGNvbXBpbGVkLWluIEkvTyBoYW5kbGVycy48L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUmVnaXN0ZXJEZWZhdWx0T3V0cHV0Q2FsbGJhY2tzIi8+eG1sUmVnaXN0ZXJEZWZhdWx0T3V0cHV0Q2FsbGJhY2tzICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxSZWdpc3RlckRlZmF1bHRPdXRwdXRDYWxsYmFja3MJKHZvaWQpPGJyLz4KKzwvcHJlPjxwPlJlZ2lzdGVycyB0aGUgZGVmYXVsdCBjb21waWxlZC1pbiBJL08gaGFuZGxlcnMuPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFJlZ2lzdGVySFRUUFBvc3RDYWxsYmFja3MiLz54bWxSZWdpc3RlckhUVFBQb3N0Q2FsbGJhY2tzICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxSZWdpc3RlckhUVFBQb3N0Q2FsbGJhY2tzCSh2b2lkKTxici8+Cis8L3ByZT48cD5CeSBkZWZhdWx0LCBsaWJ4bWwgc3VibWl0cyBIVFRQIG91dHB1dCByZXF1ZXN0cyB1c2luZyB0aGUgIlBVVCIgbWV0aG9kLiBDYWxsaW5nIHRoaXMgbWV0aG9kIGNoYW5nZXMgdGhlIEhUVFAgb3V0cHV0IG1ldGhvZCB0byB1c2UgdGhlICJQT1NUIiBtZXRob2QgaW5zdGVhZC48L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUmVnaXN0ZXJJbnB1dENhbGxiYWNrcyIvPnhtbFJlZ2lzdGVySW5wdXRDYWxsYmFja3MgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sUmVnaXN0ZXJJbnB1dENhbGxiYWNrcwkoPGEgaHJlZj0ibGlieG1sMi14bWxJTy5odG1sI3htbElucHV0TWF0Y2hDYWxsYmFjayI+eG1sSW5wdXRNYXRjaENhbGxiYWNrPC9hPiBtYXRjaEZ1bmMsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxJTy5odG1sI3htbElucHV0T3BlbkNhbGxiYWNrIj54bWxJbnB1dE9wZW5DYWxsYmFjazwvYT4gb3BlbkZ1bmMsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxJTy5odG1sI3htbElucHV0UmVhZENhbGxiYWNrIj54bWxJbnB1dFJlYWRDYWxsYmFjazwvYT4gcmVhZEZ1bmMsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxJTy5odG1sI3htbElucHV0Q2xvc2VDYWxsYmFjayI+eG1sSW5wdXRDbG9zZUNhbGxiYWNrPC9hPiBjbG9zZUZ1bmMpPGJyLz4KKzwvcHJlPjxwPlJlZ2lzdGVyIGEgbmV3IHNldCBvZiBJL08gY2FsbGJhY2sgZm9yIGhhbmRsaW5nIHBhcnNlciBpbnB1dC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm1hdGNoRnVuYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDIteG1sSU8uaHRtbCN4bWxJbnB1dE1hdGNoQ2FsbGJhY2siPnhtbElucHV0TWF0Y2hDYWxsYmFjazwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm9wZW5GdW5jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14bWxJTy5odG1sI3htbElucHV0T3BlbkNhbGxiYWNrIj54bWxJbnB1dE9wZW5DYWxsYmFjazwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJlYWRGdW5jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14bWxJTy5odG1sI3htbElucHV0UmVhZENhbGxiYWNrIj54bWxJbnB1dFJlYWRDYWxsYmFjazwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNsb3NlRnVuYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDIteG1sSU8uaHRtbCN4bWxJbnB1dENsb3NlQ2FsbGJhY2siPnhtbElucHV0Q2xvc2VDYWxsYmFjazwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSByZWdpc3RlcmVkIGhhbmRsZXIgbnVtYmVyIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxSZWdpc3Rlck91dHB1dENhbGxiYWNrcyIvPnhtbFJlZ2lzdGVyT3V0cHV0Q2FsbGJhY2tzICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFJlZ2lzdGVyT3V0cHV0Q2FsbGJhY2tzCSg8YSBocmVmPSJsaWJ4bWwyLXhtbElPLmh0bWwjeG1sT3V0cHV0TWF0Y2hDYWxsYmFjayI+eG1sT3V0cHV0TWF0Y2hDYWxsYmFjazwvYT4gbWF0Y2hGdW5jLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sSU8uaHRtbCN4bWxPdXRwdXRPcGVuQ2FsbGJhY2siPnhtbE91dHB1dE9wZW5DYWxsYmFjazwvYT4gb3BlbkZ1bmMsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxJTy5odG1sI3htbE91dHB1dFdyaXRlQ2FsbGJhY2siPnhtbE91dHB1dFdyaXRlQ2FsbGJhY2s8L2E+IHdyaXRlRnVuYywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbElPLmh0bWwjeG1sT3V0cHV0Q2xvc2VDYWxsYmFjayI+eG1sT3V0cHV0Q2xvc2VDYWxsYmFjazwvYT4gY2xvc2VGdW5jKTxici8+Cis8L3ByZT48cD5SZWdpc3RlciBhIG5ldyBzZXQgb2YgSS9PIGNhbGxiYWNrIGZvciBoYW5kbGluZyBvdXRwdXQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5tYXRjaEZ1bmM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXhtbElPLmh0bWwjeG1sT3V0cHV0TWF0Y2hDYWxsYmFjayI+eG1sT3V0cHV0TWF0Y2hDYWxsYmFjazwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm9wZW5GdW5jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14bWxJTy5odG1sI3htbE91dHB1dE9wZW5DYWxsYmFjayI+eG1sT3V0cHV0T3BlbkNhbGxiYWNrPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d3JpdGVGdW5jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14bWxJTy5odG1sI3htbE91dHB1dFdyaXRlQ2FsbGJhY2siPnhtbE91dHB1dFdyaXRlQ2FsbGJhY2s8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jbG9zZUZ1bmM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXhtbElPLmh0bWwjeG1sT3V0cHV0Q2xvc2VDYWxsYmFjayI+eG1sT3V0cHV0Q2xvc2VDYWxsYmFjazwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSByZWdpc3RlcmVkIGhhbmRsZXIgbnVtYmVyIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgPC9kaXY+CisgICAgPC9kaXY+CisgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2RldmhlbHAvbGlieG1sMi14bWxhdXRvbWF0YS5odG1sIGIvbGlieG1sMi9kb2MvZGV2aGVscC9saWJ4bWwyLXhtbGF1dG9tYXRhLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDQ2ODQ0MgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL2RldmhlbHAvbGlieG1sMi14bWxhdXRvbWF0YS5odG1sCkBAIC0wLDAgKzEsMTc2IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPGh0bWw+CisgIDxoZWFkPgorICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ii8+CisgICAgPHRpdGxlPnhtbGF1dG9tYXRhOiBBUEkgdG8gYnVpbGQgcmVnZXhwIGF1dG9tYXRhPC90aXRsZT4KKyAgICA8bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9IkxpYnhtbDIgZGV2aGVscCBzdHlsZXNoZWV0Ii8+CisgICAgPGxpbmsgcmVsPSJzdGFydCIgaHJlZj0iaW5kZXguaHRtbCIgdGl0bGU9ImxpYnhtbDIgUmVmZXJlbmNlIE1hbnVhbCIvPgorICAgIDxsaW5rIHJlbD0idXAiIGhyZWY9ImdlbmVyYWwuaHRtbCIgdGl0bGU9IkFQSSIvPgorICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0ic3R5bGUuY3NzIiB0eXBlPSJ0ZXh0L2NzcyIvPgorICAgIDxsaW5rIHJlbD0iY2hhcHRlciIgaHJlZj0iZ2VuZXJhbC5odG1sIiB0aXRsZT0iQVBJIi8+CisgIDwvaGVhZD4KKyAgPGJvZHkgYmdjb2xvcj0id2hpdGUiIHRleHQ9ImJsYWNrIiBsaW5rPSIjMDAwMEZGIiB2bGluaz0iIzg0MDA4NCIgYWxpbms9IiMwMDAwRkYiPgorICAgIDx0YWJsZSBjbGFzcz0ibmF2aWdhdGlvbiIgd2lkdGg9IjEwMCUiIHN1bW1hcnk9Ik5hdmlnYXRpb24gaGVhZGVyIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjIiPgorICAgICAgPHRyIHZhbGlnbj0ibWlkZGxlIj4KKyAgICAgICAgPHRkPgorICAgICAgICAgIDxhIGFjY2Vzc2tleT0icCIgaHJlZj0ibGlieG1sMi14bWxJTy5odG1sIj4KKyAgICAgICAgICAgIDxpbWcgc3JjPSJsZWZ0LnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iUHJldiIvPgorICAgICAgICAgIDwvYT4KKyAgICAgICAgPC90ZD4KKyAgICAgICAgPHRkPgorICAgICAgICAgIDxhIGFjY2Vzc2tleT0idSIgaHJlZj0iZ2VuZXJhbC5odG1sIj4KKyAgICAgICAgICAgIDxpbWcgc3JjPSJ1cC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlVwIi8+CisgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGQ+CisgICAgICAgICAgPGEgYWNjZXNza2V5PSJoIiBocmVmPSJpbmRleC5odG1sIj4KKyAgICAgICAgICAgIDxpbWcgc3JjPSJob21lLnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iSG9tZSIvPgorICAgICAgICAgIDwvYT4KKyAgICAgICAgPC90ZD4KKyAgICAgICAgPHRkPgorICAgICAgICAgIDxhIGFjY2Vzc2tleT0ibiIgaHJlZj0ibGlieG1sMi14bWxlcnJvci5odG1sIj4KKyAgICAgICAgICAgIDxpbWcgc3JjPSJyaWdodC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9Ik5leHQiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0aCB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+bGlieG1sMiBSZWZlcmVuY2UgTWFudWFsPC90aD4KKyAgICAgIDwvdHI+CisgICAgPC90YWJsZT4KKyAgICA8aDI+CisgICAgICA8c3BhbiBjbGFzcz0icmVmZW50cnl0aXRsZSI+eG1sYXV0b21hdGE8L3NwYW4+CisgICAgPC9oMj4KKyAgICA8cD54bWxhdXRvbWF0YSAtIEFQSSB0byBidWlsZCByZWdleHAgYXV0b21hdGE8L3A+CisgICAgPHA+dGhlIEFQSSB0byBidWlsZCByZWdleHAgYXV0b21hdGEgPC9wPgorICAgIDxwPkF1dGhvcihzKTogRGFuaWVsIFZlaWxsYXJkIDwvcD4KKyAgICA8ZGl2IGNsYXNzPSJyZWZzeW5vcHNpc2RpdiI+CisgICAgICA8aDI+U3lub3BzaXM8L2gyPgorICAgICAgPHByZSBjbGFzcz0ic3lub3BzaXMiPnR5cGVkZWYgPGEgaHJlZj0ibGlieG1sMi14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhU3RhdGUiPnhtbEF1dG9tYXRhU3RhdGU8L2E+ICogPGEgaHJlZj0iI3htbEF1dG9tYXRhU3RhdGVQdHIiPnhtbEF1dG9tYXRhU3RhdGVQdHI8L2E+OwordHlwZWRlZiBzdHJ1Y3QgX3htbEF1dG9tYXRhIDxhIGhyZWY9IiN4bWxBdXRvbWF0YSI+eG1sQXV0b21hdGE8L2E+OwordHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwyLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGEiPnhtbEF1dG9tYXRhPC9hPiAqIDxhIGhyZWY9IiN4bWxBdXRvbWF0YVB0ciI+eG1sQXV0b21hdGFQdHI8L2E+OwordHlwZWRlZiBzdHJ1Y3QgX3htbEF1dG9tYXRhU3RhdGUgPGEgaHJlZj0iI3htbEF1dG9tYXRhU3RhdGUiPnhtbEF1dG9tYXRhU3RhdGU8L2E+Owordm9pZAk8YSBocmVmPSIjeG1sRnJlZUF1dG9tYXRhIj54bWxGcmVlQXV0b21hdGE8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbDIteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVB0ciI+eG1sQXV0b21hdGFQdHI8L2E+IGFtKTsKK2ludAk8YSBocmVmPSIjeG1sQXV0b21hdGFOZXdDb3VudGVyIj54bWxBdXRvbWF0YU5ld0NvdW50ZXI8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhUHRyIj54bWxBdXRvbWF0YVB0cjwvYT4gYW0sIDxici8+CQkJCQkgaW50IG1pbiwgPGJyLz4JCQkJCSBpbnQgbWF4KTsKKzxhIGhyZWY9ImxpYnhtbDIteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVN0YXRlUHRyIj54bWxBdXRvbWF0YVN0YXRlUHRyPC9hPgk8YSBocmVmPSIjeG1sQXV0b21hdGFHZXRJbml0U3RhdGUiPnhtbEF1dG9tYXRhR2V0SW5pdFN0YXRlPC9hPgkoPGEgaHJlZj0ibGlieG1sMi14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhUHRyIj54bWxBdXRvbWF0YVB0cjwvYT4gYW0pOworPGEgaHJlZj0ibGlieG1sMi14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhU3RhdGVQdHIiPnhtbEF1dG9tYXRhU3RhdGVQdHI8L2E+CTxhIGhyZWY9IiN4bWxBdXRvbWF0YU5ld1RyYW5zaXRpb24yIj54bWxBdXRvbWF0YU5ld1RyYW5zaXRpb24yPC9hPgkoPGEgaHJlZj0ibGlieG1sMi14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhUHRyIj54bWxBdXRvbWF0YVB0cjwvYT4gYW0sIDxici8+CQkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFTdGF0ZVB0ciI+eG1sQXV0b21hdGFTdGF0ZVB0cjwvYT4gZnJvbSwgPGJyLz4JCQkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVN0YXRlUHRyIj54bWxBdXRvbWF0YVN0YXRlUHRyPC9hPiB0bywgPGJyLz4JCQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB0b2tlbiwgPGJyLz4JCQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB0b2tlbjIsIDxici8+CQkJCQkJCSB2b2lkICogZGF0YSk7Cis8YSBocmVmPSJsaWJ4bWwyLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFTdGF0ZVB0ciI+eG1sQXV0b21hdGFTdGF0ZVB0cjwvYT4JPGEgaHJlZj0iI3htbEF1dG9tYXRhTmV3U3RhdGUiPnhtbEF1dG9tYXRhTmV3U3RhdGU8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFQdHIiPnhtbEF1dG9tYXRhUHRyPC9hPiBhbSk7Cis8YSBocmVmPSJsaWJ4bWwyLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFTdGF0ZVB0ciI+eG1sQXV0b21hdGFTdGF0ZVB0cjwvYT4JPGEgaHJlZj0iI3htbEF1dG9tYXRhTmV3Q291bnRUcmFucyI+eG1sQXV0b21hdGFOZXdDb3VudFRyYW5zPC9hPgkoPGEgaHJlZj0ibGlieG1sMi14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhUHRyIj54bWxBdXRvbWF0YVB0cjwvYT4gYW0sIDxici8+CQkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFTdGF0ZVB0ciI+eG1sQXV0b21hdGFTdGF0ZVB0cjwvYT4gZnJvbSwgPGJyLz4JCQkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVN0YXRlUHRyIj54bWxBdXRvbWF0YVN0YXRlUHRyPC9hPiB0bywgPGJyLz4JCQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB0b2tlbiwgPGJyLz4JCQkJCQkJIGludCBtaW4sIDxici8+CQkJCQkJCSBpbnQgbWF4LCA8YnIvPgkJCQkJCQkgdm9pZCAqIGRhdGEpOworPGEgaHJlZj0ibGlieG1sMi14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhU3RhdGVQdHIiPnhtbEF1dG9tYXRhU3RhdGVQdHI8L2E+CTxhIGhyZWY9IiN4bWxBdXRvbWF0YU5ld09uY2VUcmFuczIiPnhtbEF1dG9tYXRhTmV3T25jZVRyYW5zMjwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVB0ciI+eG1sQXV0b21hdGFQdHI8L2E+IGFtLCA8YnIvPgkJCQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhU3RhdGVQdHIiPnhtbEF1dG9tYXRhU3RhdGVQdHI8L2E+IGZyb20sIDxici8+CQkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFTdGF0ZVB0ciI+eG1sQXV0b21hdGFTdGF0ZVB0cjwvYT4gdG8sIDxici8+CQkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdG9rZW4sIDxici8+CQkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdG9rZW4yLCA8YnIvPgkJCQkJCQkgaW50IG1pbiwgPGJyLz4JCQkJCQkJIGludCBtYXgsIDxici8+CQkJCQkJCSB2b2lkICogZGF0YSk7Cis8YSBocmVmPSJsaWJ4bWwyLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFTdGF0ZVB0ciI+eG1sQXV0b21hdGFTdGF0ZVB0cjwvYT4JPGEgaHJlZj0iI3htbEF1dG9tYXRhTmV3QWxsVHJhbnMiPnhtbEF1dG9tYXRhTmV3QWxsVHJhbnM8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFQdHIiPnhtbEF1dG9tYXRhUHRyPC9hPiBhbSwgPGJyLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhU3RhdGVQdHIiPnhtbEF1dG9tYXRhU3RhdGVQdHI8L2E+IGZyb20sIDxici8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVN0YXRlUHRyIj54bWxBdXRvbWF0YVN0YXRlUHRyPC9hPiB0bywgPGJyLz4JCQkJCQkgaW50IGxheCk7Cis8YSBocmVmPSJsaWJ4bWwyLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFTdGF0ZVB0ciI+eG1sQXV0b21hdGFTdGF0ZVB0cjwvYT4JPGEgaHJlZj0iI3htbEF1dG9tYXRhTmV3Q291bnRlZFRyYW5zIj54bWxBdXRvbWF0YU5ld0NvdW50ZWRUcmFuczwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVB0ciI+eG1sQXV0b21hdGFQdHI8L2E+IGFtLCA8YnIvPgkJCQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhU3RhdGVQdHIiPnhtbEF1dG9tYXRhU3RhdGVQdHI8L2E+IGZyb20sIDxici8+CQkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFTdGF0ZVB0ciI+eG1sQXV0b21hdGFTdGF0ZVB0cjwvYT4gdG8sIDxici8+CQkJCQkJCSBpbnQgY291bnRlcik7Cis8YSBocmVmPSJsaWJ4bWwyLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFTdGF0ZVB0ciI+eG1sQXV0b21hdGFTdGF0ZVB0cjwvYT4JPGEgaHJlZj0iI3htbEF1dG9tYXRhTmV3Q291bnRlclRyYW5zIj54bWxBdXRvbWF0YU5ld0NvdW50ZXJUcmFuczwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVB0ciI+eG1sQXV0b21hdGFQdHI8L2E+IGFtLCA8YnIvPgkJCQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhU3RhdGVQdHIiPnhtbEF1dG9tYXRhU3RhdGVQdHI8L2E+IGZyb20sIDxici8+CQkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFTdGF0ZVB0ciI+eG1sQXV0b21hdGFTdGF0ZVB0cjwvYT4gdG8sIDxici8+CQkJCQkJCSBpbnQgY291bnRlcik7Cis8YSBocmVmPSJsaWJ4bWwyLXhtbHJlZ2V4cC5odG1sI3htbFJlZ2V4cFB0ciI+eG1sUmVnZXhwUHRyPC9hPgk8YSBocmVmPSIjeG1sQXV0b21hdGFDb21waWxlIj54bWxBdXRvbWF0YUNvbXBpbGU8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFQdHIiPnhtbEF1dG9tYXRhUHRyPC9hPiBhbSk7Cis8YSBocmVmPSJsaWJ4bWwyLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFTdGF0ZVB0ciI+eG1sQXV0b21hdGFTdGF0ZVB0cjwvYT4JPGEgaHJlZj0iI3htbEF1dG9tYXRhTmV3TmVnVHJhbnMiPnhtbEF1dG9tYXRhTmV3TmVnVHJhbnM8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFQdHIiPnhtbEF1dG9tYXRhUHRyPC9hPiBhbSwgPGJyLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhU3RhdGVQdHIiPnhtbEF1dG9tYXRhU3RhdGVQdHI8L2E+IGZyb20sIDxici8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVN0YXRlUHRyIj54bWxBdXRvbWF0YVN0YXRlUHRyPC9hPiB0bywgPGJyLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHRva2VuLCA8YnIvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdG9rZW4yLCA8YnIvPgkJCQkJCSB2b2lkICogZGF0YSk7Cis8YSBocmVmPSJsaWJ4bWwyLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFTdGF0ZVB0ciI+eG1sQXV0b21hdGFTdGF0ZVB0cjwvYT4JPGEgaHJlZj0iI3htbEF1dG9tYXRhTmV3RXBzaWxvbiI+eG1sQXV0b21hdGFOZXdFcHNpbG9uPC9hPgkoPGEgaHJlZj0ibGlieG1sMi14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhUHRyIj54bWxBdXRvbWF0YVB0cjwvYT4gYW0sIDxici8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVN0YXRlUHRyIj54bWxBdXRvbWF0YVN0YXRlUHRyPC9hPiBmcm9tLCA8YnIvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFTdGF0ZVB0ciI+eG1sQXV0b21hdGFTdGF0ZVB0cjwvYT4gdG8pOworPGEgaHJlZj0ibGlieG1sMi14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhU3RhdGVQdHIiPnhtbEF1dG9tYXRhU3RhdGVQdHI8L2E+CTxhIGhyZWY9IiN4bWxBdXRvbWF0YU5ld0NvdW50VHJhbnMyIj54bWxBdXRvbWF0YU5ld0NvdW50VHJhbnMyPC9hPgkoPGEgaHJlZj0ibGlieG1sMi14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhUHRyIj54bWxBdXRvbWF0YVB0cjwvYT4gYW0sIDxici8+CQkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFTdGF0ZVB0ciI+eG1sQXV0b21hdGFTdGF0ZVB0cjwvYT4gZnJvbSwgPGJyLz4JCQkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVN0YXRlUHRyIj54bWxBdXRvbWF0YVN0YXRlUHRyPC9hPiB0bywgPGJyLz4JCQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB0b2tlbiwgPGJyLz4JCQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB0b2tlbjIsIDxici8+CQkJCQkJCSBpbnQgbWluLCA8YnIvPgkJCQkJCQkgaW50IG1heCwgPGJyLz4JCQkJCQkJIHZvaWQgKiBkYXRhKTsKKzxhIGhyZWY9ImxpYnhtbDIteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVB0ciI+eG1sQXV0b21hdGFQdHI8L2E+CTxhIGhyZWY9IiN4bWxOZXdBdXRvbWF0YSI+eG1sTmV3QXV0b21hdGE8L2E+CQkodm9pZCk7CitpbnQJPGEgaHJlZj0iI3htbEF1dG9tYXRhU2V0RmluYWxTdGF0ZSI+eG1sQXV0b21hdGFTZXRGaW5hbFN0YXRlPC9hPgkoPGEgaHJlZj0ibGlieG1sMi14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhUHRyIj54bWxBdXRvbWF0YVB0cjwvYT4gYW0sIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhU3RhdGVQdHIiPnhtbEF1dG9tYXRhU3RhdGVQdHI8L2E+IHN0YXRlKTsKKzxhIGhyZWY9ImxpYnhtbDIteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVN0YXRlUHRyIj54bWxBdXRvbWF0YVN0YXRlUHRyPC9hPgk8YSBocmVmPSIjeG1sQXV0b21hdGFOZXdPbmNlVHJhbnMiPnhtbEF1dG9tYXRhTmV3T25jZVRyYW5zPC9hPgkoPGEgaHJlZj0ibGlieG1sMi14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhUHRyIj54bWxBdXRvbWF0YVB0cjwvYT4gYW0sIDxici8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVN0YXRlUHRyIj54bWxBdXRvbWF0YVN0YXRlUHRyPC9hPiBmcm9tLCA8YnIvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFTdGF0ZVB0ciI+eG1sQXV0b21hdGFTdGF0ZVB0cjwvYT4gdG8sIDxici8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB0b2tlbiwgPGJyLz4JCQkJCQkgaW50IG1pbiwgPGJyLz4JCQkJCQkgaW50IG1heCwgPGJyLz4JCQkJCQkgdm9pZCAqIGRhdGEpOworPGEgaHJlZj0ibGlieG1sMi14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhU3RhdGVQdHIiPnhtbEF1dG9tYXRhU3RhdGVQdHI8L2E+CTxhIGhyZWY9IiN4bWxBdXRvbWF0YU5ld1RyYW5zaXRpb24iPnhtbEF1dG9tYXRhTmV3VHJhbnNpdGlvbjwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVB0ciI+eG1sQXV0b21hdGFQdHI8L2E+IGFtLCA8YnIvPgkJCQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhU3RhdGVQdHIiPnhtbEF1dG9tYXRhU3RhdGVQdHI8L2E+IGZyb20sIDxici8+CQkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFTdGF0ZVB0ciI+eG1sQXV0b21hdGFTdGF0ZVB0cjwvYT4gdG8sIDxici8+CQkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdG9rZW4sIDxici8+CQkJCQkJCSB2b2lkICogZGF0YSk7CitpbnQJPGEgaHJlZj0iI3htbEF1dG9tYXRhSXNEZXRlcm1pbmlzdCI+eG1sQXV0b21hdGFJc0RldGVybWluaXN0PC9hPgkoPGEgaHJlZj0ibGlieG1sMi14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhUHRyIj54bWxBdXRvbWF0YVB0cjwvYT4gYW0pOworPC9wcmU+CisgICAgPC9kaXY+CisgICAgPGRpdiBjbGFzcz0icmVmc2VjdDEiIGxhbmc9ImVuIj4KKyAgICAgIDxoMj5EZXNjcmlwdGlvbjwvaDI+CisgICAgPC9kaXY+CisgICAgPGRpdiBjbGFzcz0icmVmc2VjdDEiIGxhbmc9ImVuIj4KKyAgICAgIDxoMj5EZXRhaWxzPC9oMj4KKyAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEF1dG9tYXRhIj5TdHJ1Y3R1cmUgPC9hPnhtbEF1dG9tYXRhPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+c3RydWN0IF94bWxBdXRvbWF0YSB7CitUaGUgY29udGVudCBvZiB0aGlzIHN0cnVjdHVyZSBpcyBub3QgbWFkZSBwdWJsaWMgYnkgdGhlIEFQSS4KK30geG1sQXV0b21hdGE7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sQXV0b21hdGFQdHIiPlR5cGVkZWYgPC9hPnhtbEF1dG9tYXRhUHRyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhIj54bWxBdXRvbWF0YTwvYT4gKiB4bWxBdXRvbWF0YVB0cjsKKzwvcHJlPjxwPkEgbGlieG1sIGF1dG9tYXRhIGRlc2NyaXB0aW9uLCBJdCBjYW4gYmUgY29tcGlsZWQgaW50byBhIHJlZ2V4cDwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxBdXRvbWF0YVN0YXRlIj5TdHJ1Y3R1cmUgPC9hPnhtbEF1dG9tYXRhU3RhdGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5zdHJ1Y3QgX3htbEF1dG9tYXRhU3RhdGUgeworVGhlIGNvbnRlbnQgb2YgdGhpcyBzdHJ1Y3R1cmUgaXMgbm90IG1hZGUgcHVibGljIGJ5IHRoZSBBUEkuCit9IHhtbEF1dG9tYXRhU3RhdGU7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sQXV0b21hdGFTdGF0ZVB0ciI+VHlwZWRlZiA8L2E+eG1sQXV0b21hdGFTdGF0ZVB0cjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVN0YXRlIj54bWxBdXRvbWF0YVN0YXRlPC9hPiAqIHhtbEF1dG9tYXRhU3RhdGVQdHI7Cis8L3ByZT48cD5BIHN0YXRlIGludCB0aGUgYXV0b21hdGEgZGVzY3JpcHRpb24sPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEF1dG9tYXRhQ29tcGlsZSIvPnhtbEF1dG9tYXRhQ29tcGlsZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1scmVnZXhwLmh0bWwjeG1sUmVnZXhwUHRyIj54bWxSZWdleHBQdHI8L2E+CXhtbEF1dG9tYXRhQ29tcGlsZQkoPGEgaHJlZj0ibGlieG1sMi14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhUHRyIj54bWxBdXRvbWF0YVB0cjwvYT4gYW0pPGJyLz4KKzwvcHJlPjxwPkNvbXBpbGUgdGhlIGF1dG9tYXRhIGludG8gYSBSZWcgRXhwIHJlYWR5IGZvciBiZWluZyBleGVjdXRlZC4gVGhlIGF1dG9tYXRhIHNob3VsZCBiZSBmcmVlIGFmdGVyIHRoaXMgcG9pbnQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5hbTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gYXV0b21hdGE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjb21waWxlZCByZWdleHAgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sQXV0b21hdGFHZXRJbml0U3RhdGUiLz54bWxBdXRvbWF0YUdldEluaXRTdGF0ZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVN0YXRlUHRyIj54bWxBdXRvbWF0YVN0YXRlUHRyPC9hPgl4bWxBdXRvbWF0YUdldEluaXRTdGF0ZQkoPGEgaHJlZj0ibGlieG1sMi14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhUHRyIj54bWxBdXRvbWF0YVB0cjwvYT4gYW0pPGJyLz4KKzwvcHJlPjxwPkluaXRpYWwgc3RhdGUgbG9va3VwPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5hbTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gYXV0b21hdGE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBpbml0aWFsIHN0YXRlIG9mIHRoZSBhdXRvbWF0YTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEF1dG9tYXRhSXNEZXRlcm1pbmlzdCIvPnhtbEF1dG9tYXRhSXNEZXRlcm1pbmlzdCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxBdXRvbWF0YUlzRGV0ZXJtaW5pc3QJKDxhIGhyZWY9ImxpYnhtbDIteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVB0ciI+eG1sQXV0b21hdGFQdHI8L2E+IGFtKTxici8+Cis8L3ByZT48cD5DaGVja3MgaWYgYW4gYXV0b21hdGEgaXMgZGV0ZXJtaW5pc3QuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5hbTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gYXV0b21hdGE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSwgMCBpZiBub3QsIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sQXV0b21hdGFOZXdBbGxUcmFucyIvPnhtbEF1dG9tYXRhTmV3QWxsVHJhbnMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFTdGF0ZVB0ciI+eG1sQXV0b21hdGFTdGF0ZVB0cjwvYT4JeG1sQXV0b21hdGFOZXdBbGxUcmFucwkoPGEgaHJlZj0ibGlieG1sMi14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhUHRyIj54bWxBdXRvbWF0YVB0cjwvYT4gYW0sIDxici8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVN0YXRlUHRyIj54bWxBdXRvbWF0YVN0YXRlUHRyPC9hPiBmcm9tLCA8YnIvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFTdGF0ZVB0ciI+eG1sQXV0b21hdGFTdGF0ZVB0cjwvYT4gdG8sIDxici8+CQkJCQkJIGludCBsYXgpPGJyLz4KKzwvcHJlPjxwPklmIEB0byBpcyBOVUxMLCB0aGlzIGNyZWF0ZXMgZmlyc3QgYSBuZXcgdGFyZ2V0IHN0YXRlIGluIHRoZSBhdXRvbWF0YSBhbmQgdGhlbiBhZGRzIGEgYW4gQUxMIHRyYW5zaXRpb24gZnJvbSB0aGUgQGZyb20gc3RhdGUgdG8gdGhlIHRhcmdldCBzdGF0ZS4gVGhhdCB0cmFuc2l0aW9uIGlzIGFuIGVwc2lsb24gdHJhbnNpdGlvbiBhbGxvd2VkIG9ubHkgd2hlbiBhbGwgdHJhbnNpdGlvbnMgZnJvbSB0aGUgQGZyb20gbm9kZSBoYXZlIGJlZW4gYWN0aXZhdGVkLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YW08L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIGF1dG9tYXRhPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mcm9tPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc3RhcnRpbmcgcG9pbnQgb2YgdGhlIHRyYW5zaXRpb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRvPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdGFyZ2V0IHBvaW50IG9mIHRoZSB0cmFuc2l0aW9uIG9yIE5VTEw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxheDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YWxsb3cgdG8gdHJhbnNpdGlvbiBpZiBub3QgYWxsIGFsbCB0cmFuc2l0aW9ucyBoYXZlIGJlZW4gYWN0aXZhdGVkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdGFyZ2V0IHN0YXRlIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEF1dG9tYXRhTmV3Q291bnRUcmFucyIvPnhtbEF1dG9tYXRhTmV3Q291bnRUcmFucyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVN0YXRlUHRyIj54bWxBdXRvbWF0YVN0YXRlUHRyPC9hPgl4bWxBdXRvbWF0YU5ld0NvdW50VHJhbnMJKDxhIGhyZWY9ImxpYnhtbDIteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVB0ciI+eG1sQXV0b21hdGFQdHI8L2E+IGFtLCA8YnIvPgkJCQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhU3RhdGVQdHIiPnhtbEF1dG9tYXRhU3RhdGVQdHI8L2E+IGZyb20sIDxici8+CQkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFTdGF0ZVB0ciI+eG1sQXV0b21hdGFTdGF0ZVB0cjwvYT4gdG8sIDxici8+CQkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdG9rZW4sIDxici8+CQkJCQkJCSBpbnQgbWluLCA8YnIvPgkJCQkJCQkgaW50IG1heCwgPGJyLz4JCQkJCQkJIHZvaWQgKiBkYXRhKTxici8+Cis8L3ByZT48cD5JZiBAdG8gaXMgTlVMTCwgdGhpcyBjcmVhdGVzIGZpcnN0IGEgbmV3IHRhcmdldCBzdGF0ZSBpbiB0aGUgYXV0b21hdGEgYW5kIHRoZW4gYWRkcyBhIHRyYW5zaXRpb24gZnJvbSB0aGUgQGZyb20gc3RhdGUgdG8gdGhlIHRhcmdldCBzdGF0ZSBhY3RpdmF0ZWQgYnkgYSBzdWNjZXNzaW9uIG9mIGlucHV0IG9mIHZhbHVlIEB0b2tlbiBhbmQgd2hvc2UgbnVtYmVyIGlzIGJldHdlZW4gQG1pbiBhbmQgQG1heDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YW08L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIGF1dG9tYXRhPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mcm9tPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc3RhcnRpbmcgcG9pbnQgb2YgdGhlIHRyYW5zaXRpb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRvPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdGFyZ2V0IHBvaW50IG9mIHRoZSB0cmFuc2l0aW9uIG9yIE5VTEw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRva2VuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaW5wdXQgc3RyaW5nIGFzc29jaWF0ZWQgdG8gdGhhdCB0cmFuc2l0aW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5taW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBtaW5pbXVtIHN1Y2Nlc3NpdmUgb2NjdXJlbmNlcyBvZiB0b2tlbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bWF4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbWF4aW11bSBzdWNjZXNzaXZlIG9jY3VyZW5jZXMgb2YgdG9rZW48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRhdGE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmRhdGEgYXNzb2NpYXRlZCB0byB0aGUgdHJhbnNpdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHRhcmdldCBzdGF0ZSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxBdXRvbWF0YU5ld0NvdW50VHJhbnMyIi8+eG1sQXV0b21hdGFOZXdDb3VudFRyYW5zMiAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVN0YXRlUHRyIj54bWxBdXRvbWF0YVN0YXRlUHRyPC9hPgl4bWxBdXRvbWF0YU5ld0NvdW50VHJhbnMyCSg8YSBocmVmPSJsaWJ4bWwyLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFQdHIiPnhtbEF1dG9tYXRhUHRyPC9hPiBhbSwgPGJyLz4JCQkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVN0YXRlUHRyIj54bWxBdXRvbWF0YVN0YXRlUHRyPC9hPiBmcm9tLCA8YnIvPgkJCQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhU3RhdGVQdHIiPnhtbEF1dG9tYXRhU3RhdGVQdHI8L2E+IHRvLCA8YnIvPgkJCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHRva2VuLCA8YnIvPgkJCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHRva2VuMiwgPGJyLz4JCQkJCQkJIGludCBtaW4sIDxici8+CQkJCQkJCSBpbnQgbWF4LCA8YnIvPgkJCQkJCQkgdm9pZCAqIGRhdGEpPGJyLz4KKzwvcHJlPjxwPklmIEB0byBpcyBOVUxMLCB0aGlzIGNyZWF0ZXMgZmlyc3QgYSBuZXcgdGFyZ2V0IHN0YXRlIGluIHRoZSBhdXRvbWF0YSBhbmQgdGhlbiBhZGRzIGEgdHJhbnNpdGlvbiBmcm9tIHRoZSBAZnJvbSBzdGF0ZSB0byB0aGUgdGFyZ2V0IHN0YXRlIGFjdGl2YXRlZCBieSBhIHN1Y2Nlc3Npb24gb2YgaW5wdXQgb2YgdmFsdWUgQHRva2VuIGFuZCBAdG9rZW4yIGFuZCB3aG9zZSBudW1iZXIgaXMgYmV0d2VlbiBAbWluIGFuZCBAbWF4PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5hbTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gYXV0b21hdGE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZyb208L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzdGFydGluZyBwb2ludCBvZiB0aGUgdHJhbnNpdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dG88L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB0YXJnZXQgcG9pbnQgb2YgdGhlIHRyYW5zaXRpb24gb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dG9rZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBpbnB1dCBzdHJpbmcgYXNzb2NpYXRlZCB0byB0aGF0IHRyYW5zaXRpb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRva2VuMjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHNlY29uZCBpbnB1dCBzdHJpbmcgYXNzb2NpYXRlZCB0byB0aGF0IHRyYW5zaXRpb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm1pbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG1pbmltdW0gc3VjY2Vzc2l2ZSBvY2N1cmVuY2VzIG9mIHRva2VuPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5tYXg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBtYXhpbXVtIHN1Y2Nlc3NpdmUgb2NjdXJlbmNlcyBvZiB0b2tlbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGF0YTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+ZGF0YSBhc3NvY2lhdGVkIHRvIHRoZSB0cmFuc2l0aW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdGFyZ2V0IHN0YXRlIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEF1dG9tYXRhTmV3Q291bnRlZFRyYW5zIi8+eG1sQXV0b21hdGFOZXdDb3VudGVkVHJhbnMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFTdGF0ZVB0ciI+eG1sQXV0b21hdGFTdGF0ZVB0cjwvYT4JeG1sQXV0b21hdGFOZXdDb3VudGVkVHJhbnMJKDxhIGhyZWY9ImxpYnhtbDIteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVB0ciI+eG1sQXV0b21hdGFQdHI8L2E+IGFtLCA8YnIvPgkJCQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhU3RhdGVQdHIiPnhtbEF1dG9tYXRhU3RhdGVQdHI8L2E+IGZyb20sIDxici8+CQkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFTdGF0ZVB0ciI+eG1sQXV0b21hdGFTdGF0ZVB0cjwvYT4gdG8sIDxici8+CQkJCQkJCSBpbnQgY291bnRlcik8YnIvPgorPC9wcmU+PHA+SWYgQHRvIGlzIE5VTEwsIHRoaXMgY3JlYXRlcyBmaXJzdCBhIG5ldyB0YXJnZXQgc3RhdGUgaW4gdGhlIGF1dG9tYXRhIGFuZCB0aGVuIGFkZHMgYW4gZXBzaWxvbiB0cmFuc2l0aW9uIGZyb20gdGhlIEBmcm9tIHN0YXRlIHRvIHRoZSB0YXJnZXQgc3RhdGUgd2hpY2ggd2lsbCBpbmNyZW1lbnQgdGhlIGNvdW50ZXIgcHJvdmlkZWQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmFtPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBhdXRvbWF0YTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZnJvbTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHN0YXJ0aW5nIHBvaW50IG9mIHRoZSB0cmFuc2l0aW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50bzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHRhcmdldCBwb2ludCBvZiB0aGUgdHJhbnNpdGlvbiBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb3VudGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY291bnRlciBhc3NvY2lhdGVkIHRvIHRoYXQgdHJhbnNpdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHRhcmdldCBzdGF0ZSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxBdXRvbWF0YU5ld0NvdW50ZXIiLz54bWxBdXRvbWF0YU5ld0NvdW50ZXIgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sQXV0b21hdGFOZXdDb3VudGVyCQkoPGEgaHJlZj0ibGlieG1sMi14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhUHRyIj54bWxBdXRvbWF0YVB0cjwvYT4gYW0sIDxici8+CQkJCQkgaW50IG1pbiwgPGJyLz4JCQkJCSBpbnQgbWF4KTxici8+Cis8L3ByZT48cD5DcmVhdGUgYSBuZXcgY291bnRlcjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YW08L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIGF1dG9tYXRhPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5taW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBtaW5pbWFsIHZhbHVlIG9uIHRoZSBjb3VudGVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5tYXg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBtYXhpbWFsIHZhbHVlIG9uIHRoZSBjb3VudGVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY291bnRlciBudW1iZXIgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEF1dG9tYXRhTmV3Q291bnRlclRyYW5zIi8+eG1sQXV0b21hdGFOZXdDb3VudGVyVHJhbnMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFTdGF0ZVB0ciI+eG1sQXV0b21hdGFTdGF0ZVB0cjwvYT4JeG1sQXV0b21hdGFOZXdDb3VudGVyVHJhbnMJKDxhIGhyZWY9ImxpYnhtbDIteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVB0ciI+eG1sQXV0b21hdGFQdHI8L2E+IGFtLCA8YnIvPgkJCQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhU3RhdGVQdHIiPnhtbEF1dG9tYXRhU3RhdGVQdHI8L2E+IGZyb20sIDxici8+CQkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFTdGF0ZVB0ciI+eG1sQXV0b21hdGFTdGF0ZVB0cjwvYT4gdG8sIDxici8+CQkJCQkJCSBpbnQgY291bnRlcik8YnIvPgorPC9wcmU+PHA+SWYgQHRvIGlzIE5VTEwsIHRoaXMgY3JlYXRlcyBmaXJzdCBhIG5ldyB0YXJnZXQgc3RhdGUgaW4gdGhlIGF1dG9tYXRhIGFuZCB0aGVuIGFkZHMgYW4gZXBzaWxvbiB0cmFuc2l0aW9uIGZyb20gdGhlIEBmcm9tIHN0YXRlIHRvIHRoZSB0YXJnZXQgc3RhdGUgd2hpY2ggd2lsbCBiZSBhbGxvd2VkIG9ubHkgaWYgdGhlIGNvdW50ZXIgaXMgd2l0aGluIHRoZSByaWdodCByYW5nZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmFtPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBhdXRvbWF0YTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZnJvbTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHN0YXJ0aW5nIHBvaW50IG9mIHRoZSB0cmFuc2l0aW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50bzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHRhcmdldCBwb2ludCBvZiB0aGUgdHJhbnNpdGlvbiBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb3VudGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY291bnRlciBhc3NvY2lhdGVkIHRvIHRoYXQgdHJhbnNpdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHRhcmdldCBzdGF0ZSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxBdXRvbWF0YU5ld0Vwc2lsb24iLz54bWxBdXRvbWF0YU5ld0Vwc2lsb24gKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFTdGF0ZVB0ciI+eG1sQXV0b21hdGFTdGF0ZVB0cjwvYT4JeG1sQXV0b21hdGFOZXdFcHNpbG9uCSg8YSBocmVmPSJsaWJ4bWwyLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFQdHIiPnhtbEF1dG9tYXRhUHRyPC9hPiBhbSwgPGJyLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhU3RhdGVQdHIiPnhtbEF1dG9tYXRhU3RhdGVQdHI8L2E+IGZyb20sIDxici8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVN0YXRlUHRyIj54bWxBdXRvbWF0YVN0YXRlUHRyPC9hPiB0byk8YnIvPgorPC9wcmU+PHA+SWYgQHRvIGlzIE5VTEwsIHRoaXMgY3JlYXRlcyBmaXJzdCBhIG5ldyB0YXJnZXQgc3RhdGUgaW4gdGhlIGF1dG9tYXRhIGFuZCB0aGVuIGFkZHMgYW4gZXBzaWxvbiB0cmFuc2l0aW9uIGZyb20gdGhlIEBmcm9tIHN0YXRlIHRvIHRoZSB0YXJnZXQgc3RhdGU8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmFtPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBhdXRvbWF0YTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZnJvbTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHN0YXJ0aW5nIHBvaW50IG9mIHRoZSB0cmFuc2l0aW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50bzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHRhcmdldCBwb2ludCBvZiB0aGUgdHJhbnNpdGlvbiBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdGFyZ2V0IHN0YXRlIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEF1dG9tYXRhTmV3TmVnVHJhbnMiLz54bWxBdXRvbWF0YU5ld05lZ1RyYW5zICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhU3RhdGVQdHIiPnhtbEF1dG9tYXRhU3RhdGVQdHI8L2E+CXhtbEF1dG9tYXRhTmV3TmVnVHJhbnMJKDxhIGhyZWY9ImxpYnhtbDIteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVB0ciI+eG1sQXV0b21hdGFQdHI8L2E+IGFtLCA8YnIvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFTdGF0ZVB0ciI+eG1sQXV0b21hdGFTdGF0ZVB0cjwvYT4gZnJvbSwgPGJyLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhU3RhdGVQdHIiPnhtbEF1dG9tYXRhU3RhdGVQdHI8L2E+IHRvLCA8YnIvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdG9rZW4sIDxici8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB0b2tlbjIsIDxici8+CQkJCQkJIHZvaWQgKiBkYXRhKTxici8+Cis8L3ByZT48cD5JZiBAdG8gaXMgTlVMTCwgdGhpcyBjcmVhdGVzIGZpcnN0IGEgbmV3IHRhcmdldCBzdGF0ZSBpbiB0aGUgYXV0b21hdGEgYW5kIHRoZW4gYWRkcyBhIHRyYW5zaXRpb24gZnJvbSB0aGUgQGZyb20gc3RhdGUgdG8gdGhlIHRhcmdldCBzdGF0ZSBhY3RpdmF0ZWQgYnkgYW55IHZhbHVlIGV4Y2VwdCAoQHRva2VuLEB0b2tlbjIpIE5vdGUgdGhhdCBpZiBAdG9rZW4yIGlzIG5vdCBOVUxMLCB0aGVuIChYLCBOVUxMKSB3b24ndCBtYXRjaCB0byBmb2xsb3cgIyB0aGUgc2VtYW50aWMgb2YgWFNEICMjb3RoZXI8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmFtPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBhdXRvbWF0YTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZnJvbTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHN0YXJ0aW5nIHBvaW50IG9mIHRoZSB0cmFuc2l0aW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50bzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHRhcmdldCBwb2ludCBvZiB0aGUgdHJhbnNpdGlvbiBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50b2tlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZpcnN0IGlucHV0IHN0cmluZyBhc3NvY2lhdGVkIHRvIHRoYXQgdHJhbnNpdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dG9rZW4yPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc2Vjb25kIGlucHV0IHN0cmluZyBhc3NvY2lhdGVkIHRvIHRoYXQgdHJhbnNpdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGF0YTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+ZGF0YSBwYXNzZWQgdG8gdGhlIGNhbGxiYWNrIGZ1bmN0aW9uIGlmIHRoZSB0cmFuc2l0aW9uIGlzIGFjdGl2YXRlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHRhcmdldCBzdGF0ZSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxBdXRvbWF0YU5ld09uY2VUcmFucyIvPnhtbEF1dG9tYXRhTmV3T25jZVRyYW5zICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhU3RhdGVQdHIiPnhtbEF1dG9tYXRhU3RhdGVQdHI8L2E+CXhtbEF1dG9tYXRhTmV3T25jZVRyYW5zCSg8YSBocmVmPSJsaWJ4bWwyLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFQdHIiPnhtbEF1dG9tYXRhUHRyPC9hPiBhbSwgPGJyLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhU3RhdGVQdHIiPnhtbEF1dG9tYXRhU3RhdGVQdHI8L2E+IGZyb20sIDxici8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVN0YXRlUHRyIj54bWxBdXRvbWF0YVN0YXRlUHRyPC9hPiB0bywgPGJyLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHRva2VuLCA8YnIvPgkJCQkJCSBpbnQgbWluLCA8YnIvPgkJCQkJCSBpbnQgbWF4LCA8YnIvPgkJCQkJCSB2b2lkICogZGF0YSk8YnIvPgorPC9wcmU+PHA+SWYgQHRvIGlzIE5VTEwsIHRoaXMgY3JlYXRlcyBmaXJzdCBhIG5ldyB0YXJnZXQgc3RhdGUgaW4gdGhlIGF1dG9tYXRhIGFuZCB0aGVuIGFkZHMgYSB0cmFuc2l0aW9uIGZyb20gdGhlIEBmcm9tIHN0YXRlIHRvIHRoZSB0YXJnZXQgc3RhdGUgYWN0aXZhdGVkIGJ5IGEgc3VjY2Vzc2lvbiBvZiBpbnB1dCBvZiB2YWx1ZSBAdG9rZW4gYW5kIHdob3NlIG51bWJlciBpcyBiZXR3ZWVuIEBtaW4gYW5kIEBtYXgsIG1vcmVvdmVyIHRoYXQgdHJhbnNpdGlvbiBjYW4gb25seSBiZSBjcm9zc2VkIG9uY2UuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5hbTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gYXV0b21hdGE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZyb208L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzdGFydGluZyBwb2ludCBvZiB0aGUgdHJhbnNpdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dG88L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB0YXJnZXQgcG9pbnQgb2YgdGhlIHRyYW5zaXRpb24gb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dG9rZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBpbnB1dCBzdHJpbmcgYXNzb2NpYXRlZCB0byB0aGF0IHRyYW5zaXRpb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm1pbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG1pbmltdW0gc3VjY2Vzc2l2ZSBvY2N1cmVuY2VzIG9mIHRva2VuPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5tYXg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBtYXhpbXVtIHN1Y2Nlc3NpdmUgb2NjdXJlbmNlcyBvZiB0b2tlbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGF0YTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+ZGF0YSBhc3NvY2lhdGVkIHRvIHRoZSB0cmFuc2l0aW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdGFyZ2V0IHN0YXRlIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEF1dG9tYXRhTmV3T25jZVRyYW5zMiIvPnhtbEF1dG9tYXRhTmV3T25jZVRyYW5zMiAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVN0YXRlUHRyIj54bWxBdXRvbWF0YVN0YXRlUHRyPC9hPgl4bWxBdXRvbWF0YU5ld09uY2VUcmFuczIJKDxhIGhyZWY9ImxpYnhtbDIteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVB0ciI+eG1sQXV0b21hdGFQdHI8L2E+IGFtLCA8YnIvPgkJCQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhU3RhdGVQdHIiPnhtbEF1dG9tYXRhU3RhdGVQdHI8L2E+IGZyb20sIDxici8+CQkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFTdGF0ZVB0ciI+eG1sQXV0b21hdGFTdGF0ZVB0cjwvYT4gdG8sIDxici8+CQkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdG9rZW4sIDxici8+CQkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdG9rZW4yLCA8YnIvPgkJCQkJCQkgaW50IG1pbiwgPGJyLz4JCQkJCQkJIGludCBtYXgsIDxici8+CQkJCQkJCSB2b2lkICogZGF0YSk8YnIvPgorPC9wcmU+PHA+SWYgQHRvIGlzIE5VTEwsIHRoaXMgY3JlYXRlcyBmaXJzdCBhIG5ldyB0YXJnZXQgc3RhdGUgaW4gdGhlIGF1dG9tYXRhIGFuZCB0aGVuIGFkZHMgYSB0cmFuc2l0aW9uIGZyb20gdGhlIEBmcm9tIHN0YXRlIHRvIHRoZSB0YXJnZXQgc3RhdGUgYWN0aXZhdGVkIGJ5IGEgc3VjY2Vzc2lvbiBvZiBpbnB1dCBvZiB2YWx1ZSBAdG9rZW4gYW5kIEB0b2tlbjIgYW5kIHdob3NlIG51bWJlciBpcyBiZXR3ZWVuIEBtaW4gYW5kIEBtYXgsIG1vcmVvdmVyIHRoYXQgdHJhbnNpdGlvbiBjYW4gb25seSBiZSBjcm9zc2VkIG9uY2UuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5hbTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gYXV0b21hdGE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZyb208L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzdGFydGluZyBwb2ludCBvZiB0aGUgdHJhbnNpdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dG88L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB0YXJnZXQgcG9pbnQgb2YgdGhlIHRyYW5zaXRpb24gb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dG9rZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBpbnB1dCBzdHJpbmcgYXNzb2NpYXRlZCB0byB0aGF0IHRyYW5zaXRpb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRva2VuMjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHNlY29uZCBpbnB1dCBzdHJpbmcgYXNzb2NpYXRlZCB0byB0aGF0IHRyYW5zaXRpb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm1pbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG1pbmltdW0gc3VjY2Vzc2l2ZSBvY2N1cmVuY2VzIG9mIHRva2VuPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5tYXg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBtYXhpbXVtIHN1Y2Nlc3NpdmUgb2NjdXJlbmNlcyBvZiB0b2tlbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGF0YTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+ZGF0YSBhc3NvY2lhdGVkIHRvIHRoZSB0cmFuc2l0aW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdGFyZ2V0IHN0YXRlIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEF1dG9tYXRhTmV3U3RhdGUiLz54bWxBdXRvbWF0YU5ld1N0YXRlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhU3RhdGVQdHIiPnhtbEF1dG9tYXRhU3RhdGVQdHI8L2E+CXhtbEF1dG9tYXRhTmV3U3RhdGUJKDxhIGhyZWY9ImxpYnhtbDIteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVB0ciI+eG1sQXV0b21hdGFQdHI8L2E+IGFtKTxici8+Cis8L3ByZT48cD5DcmVhdGUgYSBuZXcgZGlzY29ubmVjdGVkIHN0YXRlIGluIHRoZSBhdXRvbWF0YTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YW08L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIGF1dG9tYXRhPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IHN0YXRlIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEF1dG9tYXRhTmV3VHJhbnNpdGlvbiIvPnhtbEF1dG9tYXRhTmV3VHJhbnNpdGlvbiAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVN0YXRlUHRyIj54bWxBdXRvbWF0YVN0YXRlUHRyPC9hPgl4bWxBdXRvbWF0YU5ld1RyYW5zaXRpb24JKDxhIGhyZWY9ImxpYnhtbDIteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVB0ciI+eG1sQXV0b21hdGFQdHI8L2E+IGFtLCA8YnIvPgkJCQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhU3RhdGVQdHIiPnhtbEF1dG9tYXRhU3RhdGVQdHI8L2E+IGZyb20sIDxici8+CQkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFTdGF0ZVB0ciI+eG1sQXV0b21hdGFTdGF0ZVB0cjwvYT4gdG8sIDxici8+CQkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdG9rZW4sIDxici8+CQkJCQkJCSB2b2lkICogZGF0YSk8YnIvPgorPC9wcmU+PHA+SWYgQHRvIGlzIE5VTEwsIHRoaXMgY3JlYXRlcyBmaXJzdCBhIG5ldyB0YXJnZXQgc3RhdGUgaW4gdGhlIGF1dG9tYXRhIGFuZCB0aGVuIGFkZHMgYSB0cmFuc2l0aW9uIGZyb20gdGhlIEBmcm9tIHN0YXRlIHRvIHRoZSB0YXJnZXQgc3RhdGUgYWN0aXZhdGVkIGJ5IHRoZSB2YWx1ZSBvZiBAdG9rZW48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmFtPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBhdXRvbWF0YTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZnJvbTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHN0YXJ0aW5nIHBvaW50IG9mIHRoZSB0cmFuc2l0aW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50bzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHRhcmdldCBwb2ludCBvZiB0aGUgdHJhbnNpdGlvbiBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50b2tlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGlucHV0IHN0cmluZyBhc3NvY2lhdGVkIHRvIHRoYXQgdHJhbnNpdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGF0YTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+ZGF0YSBwYXNzZWQgdG8gdGhlIGNhbGxiYWNrIGZ1bmN0aW9uIGlmIHRoZSB0cmFuc2l0aW9uIGlzIGFjdGl2YXRlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHRhcmdldCBzdGF0ZSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxBdXRvbWF0YU5ld1RyYW5zaXRpb24yIi8+eG1sQXV0b21hdGFOZXdUcmFuc2l0aW9uMiAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVN0YXRlUHRyIj54bWxBdXRvbWF0YVN0YXRlUHRyPC9hPgl4bWxBdXRvbWF0YU5ld1RyYW5zaXRpb24yCSg8YSBocmVmPSJsaWJ4bWwyLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFQdHIiPnhtbEF1dG9tYXRhUHRyPC9hPiBhbSwgPGJyLz4JCQkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVN0YXRlUHRyIj54bWxBdXRvbWF0YVN0YXRlUHRyPC9hPiBmcm9tLCA8YnIvPgkJCQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhU3RhdGVQdHIiPnhtbEF1dG9tYXRhU3RhdGVQdHI8L2E+IHRvLCA8YnIvPgkJCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHRva2VuLCA8YnIvPgkJCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHRva2VuMiwgPGJyLz4JCQkJCQkJIHZvaWQgKiBkYXRhKTxici8+Cis8L3ByZT48cD5JZiBAdG8gaXMgTlVMTCwgdGhpcyBjcmVhdGVzIGZpcnN0IGEgbmV3IHRhcmdldCBzdGF0ZSBpbiB0aGUgYXV0b21hdGEgYW5kIHRoZW4gYWRkcyBhIHRyYW5zaXRpb24gZnJvbSB0aGUgQGZyb20gc3RhdGUgdG8gdGhlIHRhcmdldCBzdGF0ZSBhY3RpdmF0ZWQgYnkgdGhlIHZhbHVlIG9mIEB0b2tlbjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YW08L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIGF1dG9tYXRhPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mcm9tPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc3RhcnRpbmcgcG9pbnQgb2YgdGhlIHRyYW5zaXRpb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRvPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdGFyZ2V0IHBvaW50IG9mIHRoZSB0cmFuc2l0aW9uIG9yIE5VTEw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRva2VuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZmlyc3QgaW5wdXQgc3RyaW5nIGFzc29jaWF0ZWQgdG8gdGhhdCB0cmFuc2l0aW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50b2tlbjI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzZWNvbmQgaW5wdXQgc3RyaW5nIGFzc29jaWF0ZWQgdG8gdGhhdCB0cmFuc2l0aW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kYXRhPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5kYXRhIHBhc3NlZCB0byB0aGUgY2FsbGJhY2sgZnVuY3Rpb24gaWYgdGhlIHRyYW5zaXRpb24gaXMgYWN0aXZhdGVkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdGFyZ2V0IHN0YXRlIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEF1dG9tYXRhU2V0RmluYWxTdGF0ZSIvPnhtbEF1dG9tYXRhU2V0RmluYWxTdGF0ZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxBdXRvbWF0YVNldEZpbmFsU3RhdGUJKDxhIGhyZWY9ImxpYnhtbDIteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVB0ciI+eG1sQXV0b21hdGFQdHI8L2E+IGFtLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVN0YXRlUHRyIj54bWxBdXRvbWF0YVN0YXRlUHRyPC9hPiBzdGF0ZSk8YnIvPgorPC9wcmU+PHA+TWFrZXMgdGhhdCBzdGF0ZSBhIGZpbmFsIHN0YXRlPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5hbTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gYXV0b21hdGE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0YXRlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHN0YXRlIGluIHRoaXMgYXV0b21hdGE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEZyZWVBdXRvbWF0YSIvPnhtbEZyZWVBdXRvbWF0YSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sRnJlZUF1dG9tYXRhCQkJKDxhIGhyZWY9ImxpYnhtbDIteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVB0ciI+eG1sQXV0b21hdGFQdHI8L2E+IGFtKTxici8+Cis8L3ByZT48cD5GcmVlIGFuIGF1dG9tYXRhPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5hbTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gYXV0b21hdGE8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxOZXdBdXRvbWF0YSIvPnhtbE5ld0F1dG9tYXRhICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhUHRyIj54bWxBdXRvbWF0YVB0cjwvYT4JeG1sTmV3QXV0b21hdGEJCSh2b2lkKTxici8+Cis8L3ByZT48cD5DcmVhdGUgYSBuZXcgYXV0b21hdGE8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXcgb2JqZWN0IG9yIE5VTEwgaW4gY2FzZSBvZiBmYWlsdXJlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgIDwvZGl2PgorICAgIDwvZGl2PgorICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9kZXZoZWxwL2xpYnhtbDIteG1sZXJyb3IuaHRtbCBiL2xpYnhtbDIvZG9jL2RldmhlbHAvbGlieG1sMi14bWxlcnJvci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEzYmFiOGEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9kZXZoZWxwL2xpYnhtbDIteG1sZXJyb3IuaHRtbApAQCAtMCwwICsxLDk1MyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxodG1sPgorICA8aGVhZD4KKyAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIvPgorICAgIDx0aXRsZT54bWxlcnJvcjogZXJyb3IgaGFuZGxpbmc8L3RpdGxlPgorICAgIDxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iTGlieG1sMiBkZXZoZWxwIHN0eWxlc2hlZXQiLz4KKyAgICA8bGluayByZWw9InN0YXJ0IiBocmVmPSJpbmRleC5odG1sIiB0aXRsZT0ibGlieG1sMiBSZWZlcmVuY2UgTWFudWFsIi8+CisgICAgPGxpbmsgcmVsPSJ1cCIgaHJlZj0iZ2VuZXJhbC5odG1sIiB0aXRsZT0iQVBJIi8+CisgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJzdHlsZS5jc3MiIHR5cGU9InRleHQvY3NzIi8+CisgICAgPGxpbmsgcmVsPSJjaGFwdGVyIiBocmVmPSJnZW5lcmFsLmh0bWwiIHRpdGxlPSJBUEkiLz4KKyAgPC9oZWFkPgorICA8Ym9keSBiZ2NvbG9yPSJ3aGl0ZSIgdGV4dD0iYmxhY2siIGxpbms9IiMwMDAwRkYiIHZsaW5rPSIjODQwMDg0IiBhbGluaz0iIzAwMDBGRiI+CisgICAgPHRhYmxlIGNsYXNzPSJuYXZpZ2F0aW9uIiB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBoZWFkZXIiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMiI+CisgICAgICA8dHIgdmFsaWduPSJtaWRkbGUiPgorICAgICAgICA8dGQ+CisgICAgICAgICAgPGEgYWNjZXNza2V5PSJwIiBocmVmPSJsaWJ4bWwyLXhtbGF1dG9tYXRhLmh0bWwiPgorICAgICAgICAgICAgPGltZyBzcmM9ImxlZnQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJQcmV2Ii8+CisgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGQ+CisgICAgICAgICAgPGEgYWNjZXNza2V5PSJ1IiBocmVmPSJnZW5lcmFsLmh0bWwiPgorICAgICAgICAgICAgPGltZyBzcmM9InVwLnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iVXAiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9ImgiIGhyZWY9ImluZGV4Lmh0bWwiPgorICAgICAgICAgICAgPGltZyBzcmM9ImhvbWUucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJIb21lIi8+CisgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGQ+CisgICAgICAgICAgPGEgYWNjZXNza2V5PSJuIiBocmVmPSJsaWJ4bWwyLXhtbGV4cG9ydHMuaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0icmlnaHQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJOZXh0Ii8+CisgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGggd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPmxpYnhtbDIgUmVmZXJlbmNlIE1hbnVhbDwvdGg+CisgICAgICA8L3RyPgorICAgIDwvdGFibGU+CisgICAgPGgyPgorICAgICAgPHNwYW4gY2xhc3M9InJlZmVudHJ5dGl0bGUiPnhtbGVycm9yPC9zcGFuPgorICAgIDwvaDI+CisgICAgPHA+eG1sZXJyb3IgLSBlcnJvciBoYW5kbGluZzwvcD4KKyAgICA8cD50aGUgQVBJIHVzZWQgdG8gcmVwb3J0IGVycm9ycyA8L3A+CisgICAgPHA+QXV0aG9yKHMpOiBEYW5pZWwgVmVpbGxhcmQgPC9wPgorICAgIDxkaXYgY2xhc3M9InJlZnN5bm9wc2lzZGl2Ij4KKyAgICAgIDxoMj5TeW5vcHNpczwvaDI+CisgICAgICA8cHJlIGNsYXNzPSJzeW5vcHNpcyI+dHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjeG1sRXJyb3IiPnhtbEVycm9yPC9hPiAqIDxhIGhyZWY9IiN4bWxFcnJvclB0ciI+eG1sRXJyb3JQdHI8L2E+OwordHlwZWRlZiBlbnVtIDxhIGhyZWY9IiN4bWxFcnJvckxldmVsIj54bWxFcnJvckxldmVsPC9hPjsKK3R5cGVkZWYgZW51bSA8YSBocmVmPSIjeG1sUGFyc2VyRXJyb3JzIj54bWxQYXJzZXJFcnJvcnM8L2E+OwordHlwZWRlZiBlbnVtIDxhIGhyZWY9IiN4bWxFcnJvckRvbWFpbiI+eG1sRXJyb3JEb21haW48L2E+OwordHlwZWRlZiBzdHJ1Y3QgX3htbEVycm9yIDxhIGhyZWY9IiN4bWxFcnJvciI+eG1sRXJyb3I8L2E+Owordm9pZAk8YSBocmVmPSIjeG1sUGFyc2VyVmFsaWRpdHlFcnJvciI+eG1sUGFyc2VyVmFsaWRpdHlFcnJvcjwvYT4JCSh2b2lkICogY3R4LCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBtc2csIDxici8+CQkJCQkgLi4uIC4uLik7Cit0eXBlZGVmIHZvaWQgPGEgaHJlZj0iI3htbEdlbmVyaWNFcnJvckZ1bmMiPnhtbEdlbmVyaWNFcnJvckZ1bmM8L2E+CQkodm9pZCAqIGN0eCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogbXNnLCA8YnIvPgkJCQkJIC4uLiAuLi4pOwordm9pZAk8YSBocmVmPSIjeG1sU2V0R2VuZXJpY0Vycm9yRnVuYyI+eG1sU2V0R2VuZXJpY0Vycm9yRnVuYzwvYT4JCSh2b2lkICogY3R4LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCN4bWxHZW5lcmljRXJyb3JGdW5jIj54bWxHZW5lcmljRXJyb3JGdW5jPC9hPiBoYW5kbGVyKTsKK3ZvaWQJPGEgaHJlZj0iI3htbFBhcnNlclByaW50RmlsZUluZm8iPnhtbFBhcnNlclByaW50RmlsZUluZm88L2E+CQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRQdHIiPnhtbFBhcnNlcklucHV0UHRyPC9hPiBpbnB1dCk7Cit2b2lkCTxhIGhyZWY9IiN4bWxDdHh0UmVzZXRMYXN0RXJyb3IiPnhtbEN0eHRSZXNldExhc3RFcnJvcjwvYT4JCSh2b2lkICogY3R4KTsKK3ZvaWQJPGEgaHJlZj0iI3htbFJlc2V0TGFzdEVycm9yIj54bWxSZXNldExhc3RFcnJvcjwvYT4JCSh2b2lkKTsKK3ZvaWQJPGEgaHJlZj0iI2luaXRHZW5lcmljRXJyb3JEZWZhdWx0RnVuYyI+aW5pdEdlbmVyaWNFcnJvckRlZmF1bHRGdW5jPC9hPgkoPGEgaHJlZj0ibGlieG1sMi14bWxlcnJvci5odG1sI3htbEdlbmVyaWNFcnJvckZ1bmMiPnhtbEdlbmVyaWNFcnJvckZ1bmM8L2E+ICogaGFuZGxlcik7CitpbnQJPGEgaHJlZj0iI3htbENvcHlFcnJvciI+eG1sQ29weUVycm9yPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjeG1sRXJyb3JQdHIiPnhtbEVycm9yUHRyPC9hPiBmcm9tLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCN4bWxFcnJvclB0ciI+eG1sRXJyb3JQdHI8L2E+IHRvKTsKK3ZvaWQJPGEgaHJlZj0iI3htbFBhcnNlclZhbGlkaXR5V2FybmluZyI+eG1sUGFyc2VyVmFsaWRpdHlXYXJuaW5nPC9hPgkodm9pZCAqIGN0eCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogbXNnLCA8YnIvPgkJCQkJIC4uLiAuLi4pOwordm9pZAk8YSBocmVmPSIjeG1sUGFyc2VyUHJpbnRGaWxlQ29udGV4dCI+eG1sUGFyc2VyUHJpbnRGaWxlQ29udGV4dDwvYT4JKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlcklucHV0UHRyIj54bWxQYXJzZXJJbnB1dFB0cjwvYT4gaW5wdXQpOwordm9pZAk8YSBocmVmPSIjeG1sUGFyc2VyRXJyb3IiPnhtbFBhcnNlckVycm9yPC9hPgkJCSh2b2lkICogY3R4LCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBtc2csIDxici8+CQkJCQkgLi4uIC4uLik7Cit2b2lkCTxhIGhyZWY9IiN4bWxQYXJzZXJXYXJuaW5nIj54bWxQYXJzZXJXYXJuaW5nPC9hPgkJKHZvaWQgKiBjdHgsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIG1zZywgPGJyLz4JCQkJCSAuLi4gLi4uKTsKK3R5cGVkZWYgdm9pZCA8YSBocmVmPSIjeG1sU3RydWN0dXJlZEVycm9yRnVuYyI+eG1sU3RydWN0dXJlZEVycm9yRnVuYzwvYT4JCSh2b2lkICogdXNlckRhdGEsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxlcnJvci5odG1sI3htbEVycm9yUHRyIj54bWxFcnJvclB0cjwvYT4gZXJyb3IpOwordm9pZAk8YSBocmVmPSIjeG1sU2V0U3RydWN0dXJlZEVycm9yRnVuYyI+eG1sU2V0U3RydWN0dXJlZEVycm9yRnVuYzwvYT4JKHZvaWQgKiBjdHgsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxlcnJvci5odG1sI3htbFN0cnVjdHVyZWRFcnJvckZ1bmMiPnhtbFN0cnVjdHVyZWRFcnJvckZ1bmM8L2E+IGhhbmRsZXIpOwordm9pZAk8YSBocmVmPSIjeG1sUmVzZXRFcnJvciI+eG1sUmVzZXRFcnJvcjwvYT4JCQkoPGEgaHJlZj0ibGlieG1sMi14bWxlcnJvci5odG1sI3htbEVycm9yUHRyIj54bWxFcnJvclB0cjwvYT4gZXJyKTsKKzxhIGhyZWY9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCN4bWxFcnJvclB0ciI+eG1sRXJyb3JQdHI8L2E+CTxhIGhyZWY9IiN4bWxHZXRMYXN0RXJyb3IiPnhtbEdldExhc3RFcnJvcjwvYT4JCSh2b2lkKTsKKzxhIGhyZWY9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCN4bWxFcnJvclB0ciI+eG1sRXJyb3JQdHI8L2E+CTxhIGhyZWY9IiN4bWxDdHh0R2V0TGFzdEVycm9yIj54bWxDdHh0R2V0TGFzdEVycm9yPC9hPgkodm9pZCAqIGN0eCk7Cis8L3ByZT4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MSIgbGFuZz0iZW4iPgorICAgICAgPGgyPkRlc2NyaXB0aW9uPC9oMj4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MSIgbGFuZz0iZW4iPgorICAgICAgPGgyPkRldGFpbHM8L2gyPgorICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sRXJyb3IiPlN0cnVjdHVyZSA8L2E+eG1sRXJyb3I8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5zdHJ1Y3QgX3htbEVycm9yIHsKKyAgICBpbnQJZG9tYWluCTogV2hhdCBwYXJ0IG9mIHRoZSBsaWJyYXJ5IHJhaXNlZCB0aGlzIGVycm9yCisgICAgaW50CWNvZGUJOiBUaGUgZXJyb3IgY29kZSwgZS5nLiBhbiA8YSBocmVmPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjeG1sUGFyc2VyRXJyb3IiPnhtbFBhcnNlckVycm9yPC9hPgorICAgIGNoYXIgKgltZXNzYWdlCTogaHVtYW4tcmVhZGFibGUgaW5mb3JtYXRpdmUgZXJyb3IgbWVzc2FnZQorICAgIDxhIGhyZWY9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCN4bWxFcnJvckxldmVsIj54bWxFcnJvckxldmVsPC9hPglsZXZlbAk6IGhvdyBjb25zZXF1ZW50IGlzIHRoZSBlcnJvcgorICAgIGNoYXIgKglmaWxlCTogdGhlIGZpbGVuYW1lCisgICAgaW50CWxpbmUJOiB0aGUgbGluZSBudW1iZXIgaWYgYXZhaWxhYmxlCisgICAgY2hhciAqCXN0cjEJOiBleHRyYSBzdHJpbmcgaW5mb3JtYXRpb24KKyAgICBjaGFyICoJc3RyMgk6IGV4dHJhIHN0cmluZyBpbmZvcm1hdGlvbgorICAgIGNoYXIgKglzdHIzCTogZXh0cmEgc3RyaW5nIGluZm9ybWF0aW9uCisgICAgaW50CWludDEJOiBleHRyYSBudW1iZXIgaW5mb3JtYXRpb24KKyAgICBpbnQJaW50Mgk6IGVycm9yIGNvbHVtbiAjIG9yIDAgaWYgTi9BICh0b2RvOiByZW5hbWUgZmllbGQgd2hlbiB3ZSB3b3VsZCBicmsgQUJJKQorICAgIHZvaWQgKgljdHh0CTogdGhlIHBhcnNlciBjb250ZXh0IGlmIGF2YWlsYWJsZQorICAgIHZvaWQgKglub2RlCTogdGhlIG5vZGUgaW4gdGhlIHRyZWUKK30geG1sRXJyb3I7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sRXJyb3JEb21haW4iPkVudW0gPC9hPnhtbEVycm9yRG9tYWluPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+ZW51bSA8YSBocmVmPSIjeG1sRXJyb3JEb21haW4iPnhtbEVycm9yRG9tYWluPC9hPiB7CisgICAgPGEgbmFtZT0iWE1MX0ZST01fTk9ORSI+WE1MX0ZST01fTk9ORTwvYT4gPSAwCisgICAgPGEgbmFtZT0iWE1MX0ZST01fUEFSU0VSIj5YTUxfRlJPTV9QQVJTRVI8L2E+ID0gMSAvKiBUaGUgWE1MIHBhcnNlciAqLworICAgIDxhIG5hbWU9IlhNTF9GUk9NX1RSRUUiPlhNTF9GUk9NX1RSRUU8L2E+ID0gMiAvKiBUaGUgdHJlZSBtb2R1bGUgKi8KKyAgICA8YSBuYW1lPSJYTUxfRlJPTV9OQU1FU1BBQ0UiPlhNTF9GUk9NX05BTUVTUEFDRTwvYT4gPSAzIC8qIFRoZSBYTUwgTmFtZXNwYWNlIG1vZHVsZSAqLworICAgIDxhIG5hbWU9IlhNTF9GUk9NX0RURCI+WE1MX0ZST01fRFREPC9hPiA9IDQgLyogVGhlIFhNTCBEVEQgdmFsaWRhdGlvbiB3aXRoIHBhcnNlciBjb250ZXggKi8KKyAgICA8YSBuYW1lPSJYTUxfRlJPTV9IVE1MIj5YTUxfRlJPTV9IVE1MPC9hPiA9IDUgLyogVGhlIEhUTUwgcGFyc2VyICovCisgICAgPGEgbmFtZT0iWE1MX0ZST01fTUVNT1JZIj5YTUxfRlJPTV9NRU1PUlk8L2E+ID0gNiAvKiBUaGUgbWVtb3J5IGFsbG9jYXRvciAqLworICAgIDxhIG5hbWU9IlhNTF9GUk9NX09VVFBVVCI+WE1MX0ZST01fT1VUUFVUPC9hPiA9IDcgLyogVGhlIHNlcmlhbGl6YXRpb24gY29kZSAqLworICAgIDxhIG5hbWU9IlhNTF9GUk9NX0lPIj5YTUxfRlJPTV9JTzwvYT4gPSA4IC8qIFRoZSBJbnB1dC9PdXRwdXQgc3RhY2sgKi8KKyAgICA8YSBuYW1lPSJYTUxfRlJPTV9GVFAiPlhNTF9GUk9NX0ZUUDwvYT4gPSA5IC8qIFRoZSBGVFAgbW9kdWxlICovCisgICAgPGEgbmFtZT0iWE1MX0ZST01fSFRUUCI+WE1MX0ZST01fSFRUUDwvYT4gPSAxMCAvKiBUaGUgSFRUUCBtb2R1bGUgKi8KKyAgICA8YSBuYW1lPSJYTUxfRlJPTV9YSU5DTFVERSI+WE1MX0ZST01fWElOQ0xVREU8L2E+ID0gMTEgLyogVGhlIFhJbmNsdWRlIHByb2Nlc3NpbmcgKi8KKyAgICA8YSBuYW1lPSJYTUxfRlJPTV9YUEFUSCI+WE1MX0ZST01fWFBBVEg8L2E+ID0gMTIgLyogVGhlIFhQYXRoIG1vZHVsZSAqLworICAgIDxhIG5hbWU9IlhNTF9GUk9NX1hQT0lOVEVSIj5YTUxfRlJPTV9YUE9JTlRFUjwvYT4gPSAxMyAvKiBUaGUgWFBvaW50ZXIgbW9kdWxlICovCisgICAgPGEgbmFtZT0iWE1MX0ZST01fUkVHRVhQIj5YTUxfRlJPTV9SRUdFWFA8L2E+ID0gMTQgLyogVGhlIHJlZ3VsYXIgZXhwcmVzc2lvbnMgbW9kdWxlICovCisgICAgPGEgbmFtZT0iWE1MX0ZST01fREFUQVRZUEUiPlhNTF9GUk9NX0RBVEFUWVBFPC9hPiA9IDE1IC8qIFRoZSBXM0MgWE1MIFNjaGVtYXMgRGF0YXR5cGUgbW9kdWxlICovCisgICAgPGEgbmFtZT0iWE1MX0ZST01fU0NIRU1BU1AiPlhNTF9GUk9NX1NDSEVNQVNQPC9hPiA9IDE2IC8qIFRoZSBXM0MgWE1MIFNjaGVtYXMgcGFyc2VyIG1vZHVsZSAqLworICAgIDxhIG5hbWU9IlhNTF9GUk9NX1NDSEVNQVNWIj5YTUxfRlJPTV9TQ0hFTUFTVjwvYT4gPSAxNyAvKiBUaGUgVzNDIFhNTCBTY2hlbWFzIHZhbGlkYXRpb24gbW9kdWxlICovCisgICAgPGEgbmFtZT0iWE1MX0ZST01fUkVMQVhOR1AiPlhNTF9GUk9NX1JFTEFYTkdQPC9hPiA9IDE4IC8qIFRoZSBSZWxheC1ORyBwYXJzZXIgbW9kdWxlICovCisgICAgPGEgbmFtZT0iWE1MX0ZST01fUkVMQVhOR1YiPlhNTF9GUk9NX1JFTEFYTkdWPC9hPiA9IDE5IC8qIFRoZSBSZWxheC1ORyB2YWxpZGF0b3IgbW9kdWxlICovCisgICAgPGEgbmFtZT0iWE1MX0ZST01fQ0FUQUxPRyI+WE1MX0ZST01fQ0FUQUxPRzwvYT4gPSAyMCAvKiBUaGUgQ2F0YWxvZyBtb2R1bGUgKi8KKyAgICA8YSBuYW1lPSJYTUxfRlJPTV9DMTROIj5YTUxfRlJPTV9DMTROPC9hPiA9IDIxIC8qIFRoZSBDYW5vbmljYWxpemF0aW9uIG1vZHVsZSAqLworICAgIDxhIG5hbWU9IlhNTF9GUk9NX1hTTFQiPlhNTF9GUk9NX1hTTFQ8L2E+ID0gMjIgLyogVGhlIFhTTFQgZW5naW5lIGZyb20gbGlieHNsdCAqLworICAgIDxhIG5hbWU9IlhNTF9GUk9NX1ZBTElEIj5YTUxfRlJPTV9WQUxJRDwvYT4gPSAyMyAvKiBUaGUgWE1MIERURCB2YWxpZGF0aW9uIHdpdGggdmFsaWQgY29udGV4dCAqLworICAgIDxhIG5hbWU9IlhNTF9GUk9NX0NIRUNLIj5YTUxfRlJPTV9DSEVDSzwvYT4gPSAyNCAvKiBUaGUgZXJyb3IgY2hlY2tpbmcgbW9kdWxlICovCisgICAgPGEgbmFtZT0iWE1MX0ZST01fV1JJVEVSIj5YTUxfRlJPTV9XUklURVI8L2E+ID0gMjUgLyogVGhlIHhtbHdyaXRlciBtb2R1bGUgKi8KKyAgICA8YSBuYW1lPSJYTUxfRlJPTV9NT0RVTEUiPlhNTF9GUk9NX01PRFVMRTwvYT4gPSAyNiAvKiBUaGUgZHluYW1pY2FsbHkgbG9hZGVkIG1vZHVsZSBtb2R1bCAqLworICAgIDxhIG5hbWU9IlhNTF9GUk9NX0kxOE4iPlhNTF9GUk9NX0kxOE48L2E+ID0gMjcgLyogVGhlIG1vZHVsZSBoYW5kbGluZyBjaGFyYWN0ZXIgY29udmVyc2lvbiAqLworICAgIDxhIG5hbWU9IlhNTF9GUk9NX1NDSEVNQVRST05WIj5YTUxfRlJPTV9TQ0hFTUFUUk9OVjwvYT4gPSAyOCAvKiBUaGUgU2NoZW1hdHJvbiB2YWxpZGF0b3IgbW9kdWxlICovCisgICAgPGEgbmFtZT0iWE1MX0ZST01fQlVGRkVSIj5YTUxfRlJPTV9CVUZGRVI8L2E+ID0gMjkgLyogVGhlIGJ1ZmZlcnMgbW9kdWxlICovCisgICAgPGEgbmFtZT0iWE1MX0ZST01fVVJJIj5YTUxfRlJPTV9VUkk8L2E+ID0gMzAgLyogIFRoZSBVUkkgbW9kdWxlICovCit9OworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEVycm9yTGV2ZWwiPkVudW0gPC9hPnhtbEVycm9yTGV2ZWw8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5lbnVtIDxhIGhyZWY9IiN4bWxFcnJvckxldmVsIj54bWxFcnJvckxldmVsPC9hPiB7CisgICAgPGEgbmFtZT0iWE1MX0VSUl9OT05FIj5YTUxfRVJSX05PTkU8L2E+ID0gMAorICAgIDxhIG5hbWU9IlhNTF9FUlJfV0FSTklORyI+WE1MX0VSUl9XQVJOSU5HPC9hPiA9IDEgLyogQSBzaW1wbGUgd2FybmluZyAqLworICAgIDxhIG5hbWU9IlhNTF9FUlJfRVJST1IiPlhNTF9FUlJfRVJST1I8L2E+ID0gMiAvKiBBIHJlY292ZXJhYmxlIGVycm9yICovCisgICAgPGEgbmFtZT0iWE1MX0VSUl9GQVRBTCI+WE1MX0VSUl9GQVRBTDwvYT4gPSAzIC8qICBBIGZhdGFsIGVycm9yICovCit9OworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEVycm9yUHRyIj5UeXBlZGVmIDwvYT54bWxFcnJvclB0cjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCN4bWxFcnJvciI+eG1sRXJyb3I8L2E+ICogeG1sRXJyb3JQdHI7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUGFyc2VyRXJyb3JzIj5FbnVtIDwvYT54bWxQYXJzZXJFcnJvcnM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5lbnVtIDxhIGhyZWY9IiN4bWxQYXJzZXJFcnJvcnMiPnhtbFBhcnNlckVycm9yczwvYT4geworICAgIDxhIG5hbWU9IlhNTF9FUlJfT0siPlhNTF9FUlJfT0s8L2E+ID0gMAorICAgIDxhIG5hbWU9IlhNTF9FUlJfSU5URVJOQUxfRVJST1IiPlhNTF9FUlJfSU5URVJOQUxfRVJST1I8L2E+ID0gMSAvKiAxICovCisgICAgPGEgbmFtZT0iWE1MX0VSUl9OT19NRU1PUlkiPlhNTF9FUlJfTk9fTUVNT1JZPC9hPiA9IDIgLyogMiAqLworICAgIDxhIG5hbWU9IlhNTF9FUlJfRE9DVU1FTlRfU1RBUlQiPlhNTF9FUlJfRE9DVU1FTlRfU1RBUlQ8L2E+ID0gMyAvKiAzICovCisgICAgPGEgbmFtZT0iWE1MX0VSUl9ET0NVTUVOVF9FTVBUWSI+WE1MX0VSUl9ET0NVTUVOVF9FTVBUWTwvYT4gPSA0IC8qIDQgKi8KKyAgICA8YSBuYW1lPSJYTUxfRVJSX0RPQ1VNRU5UX0VORCI+WE1MX0VSUl9ET0NVTUVOVF9FTkQ8L2E+ID0gNSAvKiA1ICovCisgICAgPGEgbmFtZT0iWE1MX0VSUl9JTlZBTElEX0hFWF9DSEFSUkVGIj5YTUxfRVJSX0lOVkFMSURfSEVYX0NIQVJSRUY8L2E+ID0gNiAvKiA2ICovCisgICAgPGEgbmFtZT0iWE1MX0VSUl9JTlZBTElEX0RFQ19DSEFSUkVGIj5YTUxfRVJSX0lOVkFMSURfREVDX0NIQVJSRUY8L2E+ID0gNyAvKiA3ICovCisgICAgPGEgbmFtZT0iWE1MX0VSUl9JTlZBTElEX0NIQVJSRUYiPlhNTF9FUlJfSU5WQUxJRF9DSEFSUkVGPC9hPiA9IDggLyogOCAqLworICAgIDxhIG5hbWU9IlhNTF9FUlJfSU5WQUxJRF9DSEFSIj5YTUxfRVJSX0lOVkFMSURfQ0hBUjwvYT4gPSA5IC8qIDkgKi8KKyAgICA8YSBuYW1lPSJYTUxfRVJSX0NIQVJSRUZfQVRfRU9GIj5YTUxfRVJSX0NIQVJSRUZfQVRfRU9GPC9hPiA9IDEwIC8qIDEwICovCisgICAgPGEgbmFtZT0iWE1MX0VSUl9DSEFSUkVGX0lOX1BST0xPRyI+WE1MX0VSUl9DSEFSUkVGX0lOX1BST0xPRzwvYT4gPSAxMSAvKiAxMSAqLworICAgIDxhIG5hbWU9IlhNTF9FUlJfQ0hBUlJFRl9JTl9FUElMT0ciPlhNTF9FUlJfQ0hBUlJFRl9JTl9FUElMT0c8L2E+ID0gMTIgLyogMTIgKi8KKyAgICA8YSBuYW1lPSJYTUxfRVJSX0NIQVJSRUZfSU5fRFREIj5YTUxfRVJSX0NIQVJSRUZfSU5fRFREPC9hPiA9IDEzIC8qIDEzICovCisgICAgPGEgbmFtZT0iWE1MX0VSUl9FTlRJVFlSRUZfQVRfRU9GIj5YTUxfRVJSX0VOVElUWVJFRl9BVF9FT0Y8L2E+ID0gMTQgLyogMTQgKi8KKyAgICA8YSBuYW1lPSJYTUxfRVJSX0VOVElUWVJFRl9JTl9QUk9MT0ciPlhNTF9FUlJfRU5USVRZUkVGX0lOX1BST0xPRzwvYT4gPSAxNSAvKiAxNSAqLworICAgIDxhIG5hbWU9IlhNTF9FUlJfRU5USVRZUkVGX0lOX0VQSUxPRyI+WE1MX0VSUl9FTlRJVFlSRUZfSU5fRVBJTE9HPC9hPiA9IDE2IC8qIDE2ICovCisgICAgPGEgbmFtZT0iWE1MX0VSUl9FTlRJVFlSRUZfSU5fRFREIj5YTUxfRVJSX0VOVElUWVJFRl9JTl9EVEQ8L2E+ID0gMTcgLyogMTcgKi8KKyAgICA8YSBuYW1lPSJYTUxfRVJSX1BFUkVGX0FUX0VPRiI+WE1MX0VSUl9QRVJFRl9BVF9FT0Y8L2E+ID0gMTggLyogMTggKi8KKyAgICA8YSBuYW1lPSJYTUxfRVJSX1BFUkVGX0lOX1BST0xPRyI+WE1MX0VSUl9QRVJFRl9JTl9QUk9MT0c8L2E+ID0gMTkgLyogMTkgKi8KKyAgICA8YSBuYW1lPSJYTUxfRVJSX1BFUkVGX0lOX0VQSUxPRyI+WE1MX0VSUl9QRVJFRl9JTl9FUElMT0c8L2E+ID0gMjAgLyogMjAgKi8KKyAgICA8YSBuYW1lPSJYTUxfRVJSX1BFUkVGX0lOX0lOVF9TVUJTRVQiPlhNTF9FUlJfUEVSRUZfSU5fSU5UX1NVQlNFVDwvYT4gPSAyMSAvKiAyMSAqLworICAgIDxhIG5hbWU9IlhNTF9FUlJfRU5USVRZUkVGX05PX05BTUUiPlhNTF9FUlJfRU5USVRZUkVGX05PX05BTUU8L2E+ID0gMjIgLyogMjIgKi8KKyAgICA8YSBuYW1lPSJYTUxfRVJSX0VOVElUWVJFRl9TRU1JQ09MX01JU1NJTkciPlhNTF9FUlJfRU5USVRZUkVGX1NFTUlDT0xfTUlTU0lORzwvYT4gPSAyMyAvKiAyMyAqLworICAgIDxhIG5hbWU9IlhNTF9FUlJfUEVSRUZfTk9fTkFNRSI+WE1MX0VSUl9QRVJFRl9OT19OQU1FPC9hPiA9IDI0IC8qIDI0ICovCisgICAgPGEgbmFtZT0iWE1MX0VSUl9QRVJFRl9TRU1JQ09MX01JU1NJTkciPlhNTF9FUlJfUEVSRUZfU0VNSUNPTF9NSVNTSU5HPC9hPiA9IDI1IC8qIDI1ICovCisgICAgPGEgbmFtZT0iWE1MX0VSUl9VTkRFQ0xBUkVEX0VOVElUWSI+WE1MX0VSUl9VTkRFQ0xBUkVEX0VOVElUWTwvYT4gPSAyNiAvKiAyNiAqLworICAgIDxhIG5hbWU9IlhNTF9XQVJfVU5ERUNMQVJFRF9FTlRJVFkiPlhNTF9XQVJfVU5ERUNMQVJFRF9FTlRJVFk8L2E+ID0gMjcgLyogMjcgKi8KKyAgICA8YSBuYW1lPSJYTUxfRVJSX1VOUEFSU0VEX0VOVElUWSI+WE1MX0VSUl9VTlBBUlNFRF9FTlRJVFk8L2E+ID0gMjggLyogMjggKi8KKyAgICA8YSBuYW1lPSJYTUxfRVJSX0VOVElUWV9JU19FWFRFUk5BTCI+WE1MX0VSUl9FTlRJVFlfSVNfRVhURVJOQUw8L2E+ID0gMjkgLyogMjkgKi8KKyAgICA8YSBuYW1lPSJYTUxfRVJSX0VOVElUWV9JU19QQVJBTUVURVIiPlhNTF9FUlJfRU5USVRZX0lTX1BBUkFNRVRFUjwvYT4gPSAzMCAvKiAzMCAqLworICAgIDxhIG5hbWU9IlhNTF9FUlJfVU5LTk9XTl9FTkNPRElORyI+WE1MX0VSUl9VTktOT1dOX0VOQ09ESU5HPC9hPiA9IDMxIC8qIDMxICovCisgICAgPGEgbmFtZT0iWE1MX0VSUl9VTlNVUFBPUlRFRF9FTkNPRElORyI+WE1MX0VSUl9VTlNVUFBPUlRFRF9FTkNPRElORzwvYT4gPSAzMiAvKiAzMiAqLworICAgIDxhIG5hbWU9IlhNTF9FUlJfU1RSSU5HX05PVF9TVEFSVEVEIj5YTUxfRVJSX1NUUklOR19OT1RfU1RBUlRFRDwvYT4gPSAzMyAvKiAzMyAqLworICAgIDxhIG5hbWU9IlhNTF9FUlJfU1RSSU5HX05PVF9DTE9TRUQiPlhNTF9FUlJfU1RSSU5HX05PVF9DTE9TRUQ8L2E+ID0gMzQgLyogMzQgKi8KKyAgICA8YSBuYW1lPSJYTUxfRVJSX05TX0RFQ0xfRVJST1IiPlhNTF9FUlJfTlNfREVDTF9FUlJPUjwvYT4gPSAzNSAvKiAzNSAqLworICAgIDxhIG5hbWU9IlhNTF9FUlJfRU5USVRZX05PVF9TVEFSVEVEIj5YTUxfRVJSX0VOVElUWV9OT1RfU1RBUlRFRDwvYT4gPSAzNiAvKiAzNiAqLworICAgIDxhIG5hbWU9IlhNTF9FUlJfRU5USVRZX05PVF9GSU5JU0hFRCI+WE1MX0VSUl9FTlRJVFlfTk9UX0ZJTklTSEVEPC9hPiA9IDM3IC8qIDM3ICovCisgICAgPGEgbmFtZT0iWE1MX0VSUl9MVF9JTl9BVFRSSUJVVEUiPlhNTF9FUlJfTFRfSU5fQVRUUklCVVRFPC9hPiA9IDM4IC8qIDM4ICovCisgICAgPGEgbmFtZT0iWE1MX0VSUl9BVFRSSUJVVEVfTk9UX1NUQVJURUQiPlhNTF9FUlJfQVRUUklCVVRFX05PVF9TVEFSVEVEPC9hPiA9IDM5IC8qIDM5ICovCisgICAgPGEgbmFtZT0iWE1MX0VSUl9BVFRSSUJVVEVfTk9UX0ZJTklTSEVEIj5YTUxfRVJSX0FUVFJJQlVURV9OT1RfRklOSVNIRUQ8L2E+ID0gNDAgLyogNDAgKi8KKyAgICA8YSBuYW1lPSJYTUxfRVJSX0FUVFJJQlVURV9XSVRIT1VUX1ZBTFVFIj5YTUxfRVJSX0FUVFJJQlVURV9XSVRIT1VUX1ZBTFVFPC9hPiA9IDQxIC8qIDQxICovCisgICAgPGEgbmFtZT0iWE1MX0VSUl9BVFRSSUJVVEVfUkVERUZJTkVEIj5YTUxfRVJSX0FUVFJJQlVURV9SRURFRklORUQ8L2E+ID0gNDIgLyogNDIgKi8KKyAgICA8YSBuYW1lPSJYTUxfRVJSX0xJVEVSQUxfTk9UX1NUQVJURUQiPlhNTF9FUlJfTElURVJBTF9OT1RfU1RBUlRFRDwvYT4gPSA0MyAvKiA0MyAqLworICAgIDxhIG5hbWU9IlhNTF9FUlJfTElURVJBTF9OT1RfRklOSVNIRUQiPlhNTF9FUlJfTElURVJBTF9OT1RfRklOSVNIRUQ8L2E+ID0gNDQgLyogNDQgKi8KKyAgICA8YSBuYW1lPSJYTUxfRVJSX0NPTU1FTlRfTk9UX0ZJTklTSEVEIj5YTUxfRVJSX0NPTU1FTlRfTk9UX0ZJTklTSEVEPC9hPiA9IDQ1IC8qIDQ1ICovCisgICAgPGEgbmFtZT0iWE1MX0VSUl9QSV9OT1RfU1RBUlRFRCI+WE1MX0VSUl9QSV9OT1RfU1RBUlRFRDwvYT4gPSA0NiAvKiA0NiAqLworICAgIDxhIG5hbWU9IlhNTF9FUlJfUElfTk9UX0ZJTklTSEVEIj5YTUxfRVJSX1BJX05PVF9GSU5JU0hFRDwvYT4gPSA0NyAvKiA0NyAqLworICAgIDxhIG5hbWU9IlhNTF9FUlJfTk9UQVRJT05fTk9UX1NUQVJURUQiPlhNTF9FUlJfTk9UQVRJT05fTk9UX1NUQVJURUQ8L2E+ID0gNDggLyogNDggKi8KKyAgICA8YSBuYW1lPSJYTUxfRVJSX05PVEFUSU9OX05PVF9GSU5JU0hFRCI+WE1MX0VSUl9OT1RBVElPTl9OT1RfRklOSVNIRUQ8L2E+ID0gNDkgLyogNDkgKi8KKyAgICA8YSBuYW1lPSJYTUxfRVJSX0FUVExJU1RfTk9UX1NUQVJURUQiPlhNTF9FUlJfQVRUTElTVF9OT1RfU1RBUlRFRDwvYT4gPSA1MCAvKiA1MCAqLworICAgIDxhIG5hbWU9IlhNTF9FUlJfQVRUTElTVF9OT1RfRklOSVNIRUQiPlhNTF9FUlJfQVRUTElTVF9OT1RfRklOSVNIRUQ8L2E+ID0gNTEgLyogNTEgKi8KKyAgICA8YSBuYW1lPSJYTUxfRVJSX01JWEVEX05PVF9TVEFSVEVEIj5YTUxfRVJSX01JWEVEX05PVF9TVEFSVEVEPC9hPiA9IDUyIC8qIDUyICovCisgICAgPGEgbmFtZT0iWE1MX0VSUl9NSVhFRF9OT1RfRklOSVNIRUQiPlhNTF9FUlJfTUlYRURfTk9UX0ZJTklTSEVEPC9hPiA9IDUzIC8qIDUzICovCisgICAgPGEgbmFtZT0iWE1MX0VSUl9FTEVNQ09OVEVOVF9OT1RfU1RBUlRFRCI+WE1MX0VSUl9FTEVNQ09OVEVOVF9OT1RfU1RBUlRFRDwvYT4gPSA1NCAvKiA1NCAqLworICAgIDxhIG5hbWU9IlhNTF9FUlJfRUxFTUNPTlRFTlRfTk9UX0ZJTklTSEVEIj5YTUxfRVJSX0VMRU1DT05URU5UX05PVF9GSU5JU0hFRDwvYT4gPSA1NSAvKiA1NSAqLworICAgIDxhIG5hbWU9IlhNTF9FUlJfWE1MREVDTF9OT1RfU1RBUlRFRCI+WE1MX0VSUl9YTUxERUNMX05PVF9TVEFSVEVEPC9hPiA9IDU2IC8qIDU2ICovCisgICAgPGEgbmFtZT0iWE1MX0VSUl9YTUxERUNMX05PVF9GSU5JU0hFRCI+WE1MX0VSUl9YTUxERUNMX05PVF9GSU5JU0hFRDwvYT4gPSA1NyAvKiA1NyAqLworICAgIDxhIG5hbWU9IlhNTF9FUlJfQ09ORFNFQ19OT1RfU1RBUlRFRCI+WE1MX0VSUl9DT05EU0VDX05PVF9TVEFSVEVEPC9hPiA9IDU4IC8qIDU4ICovCisgICAgPGEgbmFtZT0iWE1MX0VSUl9DT05EU0VDX05PVF9GSU5JU0hFRCI+WE1MX0VSUl9DT05EU0VDX05PVF9GSU5JU0hFRDwvYT4gPSA1OSAvKiA1OSAqLworICAgIDxhIG5hbWU9IlhNTF9FUlJfRVhUX1NVQlNFVF9OT1RfRklOSVNIRUQiPlhNTF9FUlJfRVhUX1NVQlNFVF9OT1RfRklOSVNIRUQ8L2E+ID0gNjAgLyogNjAgKi8KKyAgICA8YSBuYW1lPSJYTUxfRVJSX0RPQ1RZUEVfTk9UX0ZJTklTSEVEIj5YTUxfRVJSX0RPQ1RZUEVfTk9UX0ZJTklTSEVEPC9hPiA9IDYxIC8qIDYxICovCisgICAgPGEgbmFtZT0iWE1MX0VSUl9NSVNQTEFDRURfQ0RBVEFfRU5EIj5YTUxfRVJSX01JU1BMQUNFRF9DREFUQV9FTkQ8L2E+ID0gNjIgLyogNjIgKi8KKyAgICA8YSBuYW1lPSJYTUxfRVJSX0NEQVRBX05PVF9GSU5JU0hFRCI+WE1MX0VSUl9DREFUQV9OT1RfRklOSVNIRUQ8L2E+ID0gNjMgLyogNjMgKi8KKyAgICA8YSBuYW1lPSJYTUxfRVJSX1JFU0VSVkVEX1hNTF9OQU1FIj5YTUxfRVJSX1JFU0VSVkVEX1hNTF9OQU1FPC9hPiA9IDY0IC8qIDY0ICovCisgICAgPGEgbmFtZT0iWE1MX0VSUl9TUEFDRV9SRVFVSVJFRCI+WE1MX0VSUl9TUEFDRV9SRVFVSVJFRDwvYT4gPSA2NSAvKiA2NSAqLworICAgIDxhIG5hbWU9IlhNTF9FUlJfU0VQQVJBVE9SX1JFUVVJUkVEIj5YTUxfRVJSX1NFUEFSQVRPUl9SRVFVSVJFRDwvYT4gPSA2NiAvKiA2NiAqLworICAgIDxhIG5hbWU9IlhNTF9FUlJfTk1UT0tFTl9SRVFVSVJFRCI+WE1MX0VSUl9OTVRPS0VOX1JFUVVJUkVEPC9hPiA9IDY3IC8qIDY3ICovCisgICAgPGEgbmFtZT0iWE1MX0VSUl9OQU1FX1JFUVVJUkVEIj5YTUxfRVJSX05BTUVfUkVRVUlSRUQ8L2E+ID0gNjggLyogNjggKi8KKyAgICA8YSBuYW1lPSJYTUxfRVJSX1BDREFUQV9SRVFVSVJFRCI+WE1MX0VSUl9QQ0RBVEFfUkVRVUlSRUQ8L2E+ID0gNjkgLyogNjkgKi8KKyAgICA8YSBuYW1lPSJYTUxfRVJSX1VSSV9SRVFVSVJFRCI+WE1MX0VSUl9VUklfUkVRVUlSRUQ8L2E+ID0gNzAgLyogNzAgKi8KKyAgICA8YSBuYW1lPSJYTUxfRVJSX1BVQklEX1JFUVVJUkVEIj5YTUxfRVJSX1BVQklEX1JFUVVJUkVEPC9hPiA9IDcxIC8qIDcxICovCisgICAgPGEgbmFtZT0iWE1MX0VSUl9MVF9SRVFVSVJFRCI+WE1MX0VSUl9MVF9SRVFVSVJFRDwvYT4gPSA3MiAvKiA3MiAqLworICAgIDxhIG5hbWU9IlhNTF9FUlJfR1RfUkVRVUlSRUQiPlhNTF9FUlJfR1RfUkVRVUlSRUQ8L2E+ID0gNzMgLyogNzMgKi8KKyAgICA8YSBuYW1lPSJYTUxfRVJSX0xUU0xBU0hfUkVRVUlSRUQiPlhNTF9FUlJfTFRTTEFTSF9SRVFVSVJFRDwvYT4gPSA3NCAvKiA3NCAqLworICAgIDxhIG5hbWU9IlhNTF9FUlJfRVFVQUxfUkVRVUlSRUQiPlhNTF9FUlJfRVFVQUxfUkVRVUlSRUQ8L2E+ID0gNzUgLyogNzUgKi8KKyAgICA8YSBuYW1lPSJYTUxfRVJSX1RBR19OQU1FX01JU01BVENIIj5YTUxfRVJSX1RBR19OQU1FX01JU01BVENIPC9hPiA9IDc2IC8qIDc2ICovCisgICAgPGEgbmFtZT0iWE1MX0VSUl9UQUdfTk9UX0ZJTklTSEVEIj5YTUxfRVJSX1RBR19OT1RfRklOSVNIRUQ8L2E+ID0gNzcgLyogNzcgKi8KKyAgICA8YSBuYW1lPSJYTUxfRVJSX1NUQU5EQUxPTkVfVkFMVUUiPlhNTF9FUlJfU1RBTkRBTE9ORV9WQUxVRTwvYT4gPSA3OCAvKiA3OCAqLworICAgIDxhIG5hbWU9IlhNTF9FUlJfRU5DT0RJTkdfTkFNRSI+WE1MX0VSUl9FTkNPRElOR19OQU1FPC9hPiA9IDc5IC8qIDc5ICovCisgICAgPGEgbmFtZT0iWE1MX0VSUl9IWVBIRU5fSU5fQ09NTUVOVCI+WE1MX0VSUl9IWVBIRU5fSU5fQ09NTUVOVDwvYT4gPSA4MCAvKiA4MCAqLworICAgIDxhIG5hbWU9IlhNTF9FUlJfSU5WQUxJRF9FTkNPRElORyI+WE1MX0VSUl9JTlZBTElEX0VOQ09ESU5HPC9hPiA9IDgxIC8qIDgxICovCisgICAgPGEgbmFtZT0iWE1MX0VSUl9FWFRfRU5USVRZX1NUQU5EQUxPTkUiPlhNTF9FUlJfRVhUX0VOVElUWV9TVEFOREFMT05FPC9hPiA9IDgyIC8qIDgyICovCisgICAgPGEgbmFtZT0iWE1MX0VSUl9DT05EU0VDX0lOVkFMSUQiPlhNTF9FUlJfQ09ORFNFQ19JTlZBTElEPC9hPiA9IDgzIC8qIDgzICovCisgICAgPGEgbmFtZT0iWE1MX0VSUl9WQUxVRV9SRVFVSVJFRCI+WE1MX0VSUl9WQUxVRV9SRVFVSVJFRDwvYT4gPSA4NCAvKiA4NCAqLworICAgIDxhIG5hbWU9IlhNTF9FUlJfTk9UX1dFTExfQkFMQU5DRUQiPlhNTF9FUlJfTk9UX1dFTExfQkFMQU5DRUQ8L2E+ID0gODUgLyogODUgKi8KKyAgICA8YSBuYW1lPSJYTUxfRVJSX0VYVFJBX0NPTlRFTlQiPlhNTF9FUlJfRVhUUkFfQ09OVEVOVDwvYT4gPSA4NiAvKiA4NiAqLworICAgIDxhIG5hbWU9IlhNTF9FUlJfRU5USVRZX0NIQVJfRVJST1IiPlhNTF9FUlJfRU5USVRZX0NIQVJfRVJST1I8L2E+ID0gODcgLyogODcgKi8KKyAgICA8YSBuYW1lPSJYTUxfRVJSX0VOVElUWV9QRV9JTlRFUk5BTCI+WE1MX0VSUl9FTlRJVFlfUEVfSU5URVJOQUw8L2E+ID0gODggLyogODggKi8KKyAgICA8YSBuYW1lPSJYTUxfRVJSX0VOVElUWV9MT09QIj5YTUxfRVJSX0VOVElUWV9MT09QPC9hPiA9IDg5IC8qIDg5ICovCisgICAgPGEgbmFtZT0iWE1MX0VSUl9FTlRJVFlfQk9VTkRBUlkiPlhNTF9FUlJfRU5USVRZX0JPVU5EQVJZPC9hPiA9IDkwIC8qIDkwICovCisgICAgPGEgbmFtZT0iWE1MX0VSUl9JTlZBTElEX1VSSSI+WE1MX0VSUl9JTlZBTElEX1VSSTwvYT4gPSA5MSAvKiA5MSAqLworICAgIDxhIG5hbWU9IlhNTF9FUlJfVVJJX0ZSQUdNRU5UIj5YTUxfRVJSX1VSSV9GUkFHTUVOVDwvYT4gPSA5MiAvKiA5MiAqLworICAgIDxhIG5hbWU9IlhNTF9XQVJfQ0FUQUxPR19QSSI+WE1MX1dBUl9DQVRBTE9HX1BJPC9hPiA9IDkzIC8qIDkzICovCisgICAgPGEgbmFtZT0iWE1MX0VSUl9OT19EVEQiPlhNTF9FUlJfTk9fRFREPC9hPiA9IDk0IC8qIDk0ICovCisgICAgPGEgbmFtZT0iWE1MX0VSUl9DT05EU0VDX0lOVkFMSURfS0VZV09SRCI+WE1MX0VSUl9DT05EU0VDX0lOVkFMSURfS0VZV09SRDwvYT4gPSA5NSAvKiA5NSAqLworICAgIDxhIG5hbWU9IlhNTF9FUlJfVkVSU0lPTl9NSVNTSU5HIj5YTUxfRVJSX1ZFUlNJT05fTUlTU0lORzwvYT4gPSA5NiAvKiA5NiAqLworICAgIDxhIG5hbWU9IlhNTF9XQVJfVU5LTk9XTl9WRVJTSU9OIj5YTUxfV0FSX1VOS05PV05fVkVSU0lPTjwvYT4gPSA5NyAvKiA5NyAqLworICAgIDxhIG5hbWU9IlhNTF9XQVJfTEFOR19WQUxVRSI+WE1MX1dBUl9MQU5HX1ZBTFVFPC9hPiA9IDk4IC8qIDk4ICovCisgICAgPGEgbmFtZT0iWE1MX1dBUl9OU19VUkkiPlhNTF9XQVJfTlNfVVJJPC9hPiA9IDk5IC8qIDk5ICovCisgICAgPGEgbmFtZT0iWE1MX1dBUl9OU19VUklfUkVMQVRJVkUiPlhNTF9XQVJfTlNfVVJJX1JFTEFUSVZFPC9hPiA9IDEwMCAvKiAxMDAgKi8KKyAgICA8YSBuYW1lPSJYTUxfRVJSX01JU1NJTkdfRU5DT0RJTkciPlhNTF9FUlJfTUlTU0lOR19FTkNPRElORzwvYT4gPSAxMDEgLyogMTAxICovCisgICAgPGEgbmFtZT0iWE1MX1dBUl9TUEFDRV9WQUxVRSI+WE1MX1dBUl9TUEFDRV9WQUxVRTwvYT4gPSAxMDIgLyogMTAyICovCisgICAgPGEgbmFtZT0iWE1MX0VSUl9OT1RfU1RBTkRBTE9ORSI+WE1MX0VSUl9OT1RfU1RBTkRBTE9ORTwvYT4gPSAxMDMgLyogMTAzICovCisgICAgPGEgbmFtZT0iWE1MX0VSUl9FTlRJVFlfUFJPQ0VTU0lORyI+WE1MX0VSUl9FTlRJVFlfUFJPQ0VTU0lORzwvYT4gPSAxMDQgLyogMTA0ICovCisgICAgPGEgbmFtZT0iWE1MX0VSUl9OT1RBVElPTl9QUk9DRVNTSU5HIj5YTUxfRVJSX05PVEFUSU9OX1BST0NFU1NJTkc8L2E+ID0gMTA1IC8qIDEwNSAqLworICAgIDxhIG5hbWU9IlhNTF9XQVJfTlNfQ09MVU1OIj5YTUxfV0FSX05TX0NPTFVNTjwvYT4gPSAxMDYgLyogMTA2ICovCisgICAgPGEgbmFtZT0iWE1MX1dBUl9FTlRJVFlfUkVERUZJTkVEIj5YTUxfV0FSX0VOVElUWV9SRURFRklORUQ8L2E+ID0gMTA3IC8qIDEwNyAqLworICAgIDxhIG5hbWU9IlhNTF9FUlJfVU5LTk9XTl9WRVJTSU9OIj5YTUxfRVJSX1VOS05PV05fVkVSU0lPTjwvYT4gPSAxMDggLyogMTA4ICovCisgICAgPGEgbmFtZT0iWE1MX0VSUl9WRVJTSU9OX01JU01BVENIIj5YTUxfRVJSX1ZFUlNJT05fTUlTTUFUQ0g8L2E+ID0gMTA5IC8qIDEwOSAqLworICAgIDxhIG5hbWU9IlhNTF9FUlJfTkFNRV9UT09fTE9ORyI+WE1MX0VSUl9OQU1FX1RPT19MT05HPC9hPiA9IDExMCAvKiAxMTAgKi8KKyAgICA8YSBuYW1lPSJYTUxfRVJSX1VTRVJfU1RPUCI+WE1MX0VSUl9VU0VSX1NUT1A8L2E+ID0gMTExIC8qIDExMSAqLworICAgIDxhIG5hbWU9IlhNTF9OU19FUlJfWE1MX05BTUVTUEFDRSI+WE1MX05TX0VSUl9YTUxfTkFNRVNQQUNFPC9hPiA9IDIwMAorICAgIDxhIG5hbWU9IlhNTF9OU19FUlJfVU5ERUZJTkVEX05BTUVTUEFDRSI+WE1MX05TX0VSUl9VTkRFRklORURfTkFNRVNQQUNFPC9hPiA9IDIwMSAvKiAyMDEgKi8KKyAgICA8YSBuYW1lPSJYTUxfTlNfRVJSX1FOQU1FIj5YTUxfTlNfRVJSX1FOQU1FPC9hPiA9IDIwMiAvKiAyMDIgKi8KKyAgICA8YSBuYW1lPSJYTUxfTlNfRVJSX0FUVFJJQlVURV9SRURFRklORUQiPlhNTF9OU19FUlJfQVRUUklCVVRFX1JFREVGSU5FRDwvYT4gPSAyMDMgLyogMjAzICovCisgICAgPGEgbmFtZT0iWE1MX05TX0VSUl9FTVBUWSI+WE1MX05TX0VSUl9FTVBUWTwvYT4gPSAyMDQgLyogMjA0ICovCisgICAgPGEgbmFtZT0iWE1MX05TX0VSUl9DT0xPTiI+WE1MX05TX0VSUl9DT0xPTjwvYT4gPSAyMDUgLyogMjA1ICovCisgICAgPGEgbmFtZT0iWE1MX0RURF9BVFRSSUJVVEVfREVGQVVMVCI+WE1MX0RURF9BVFRSSUJVVEVfREVGQVVMVDwvYT4gPSA1MDAKKyAgICA8YSBuYW1lPSJYTUxfRFREX0FUVFJJQlVURV9SRURFRklORUQiPlhNTF9EVERfQVRUUklCVVRFX1JFREVGSU5FRDwvYT4gPSA1MDEgLyogNTAxICovCisgICAgPGEgbmFtZT0iWE1MX0RURF9BVFRSSUJVVEVfVkFMVUUiPlhNTF9EVERfQVRUUklCVVRFX1ZBTFVFPC9hPiA9IDUwMiAvKiA1MDIgKi8KKyAgICA8YSBuYW1lPSJYTUxfRFREX0NPTlRFTlRfRVJST1IiPlhNTF9EVERfQ09OVEVOVF9FUlJPUjwvYT4gPSA1MDMgLyogNTAzICovCisgICAgPGEgbmFtZT0iWE1MX0RURF9DT05URU5UX01PREVMIj5YTUxfRFREX0NPTlRFTlRfTU9ERUw8L2E+ID0gNTA0IC8qIDUwNCAqLworICAgIDxhIG5hbWU9IlhNTF9EVERfQ09OVEVOVF9OT1RfREVURVJNSU5JU1QiPlhNTF9EVERfQ09OVEVOVF9OT1RfREVURVJNSU5JU1Q8L2E+ID0gNTA1IC8qIDUwNSAqLworICAgIDxhIG5hbWU9IlhNTF9EVERfRElGRkVSRU5UX1BSRUZJWCI+WE1MX0RURF9ESUZGRVJFTlRfUFJFRklYPC9hPiA9IDUwNiAvKiA1MDYgKi8KKyAgICA8YSBuYW1lPSJYTUxfRFREX0VMRU1fREVGQVVMVF9OQU1FU1BBQ0UiPlhNTF9EVERfRUxFTV9ERUZBVUxUX05BTUVTUEFDRTwvYT4gPSA1MDcgLyogNTA3ICovCisgICAgPGEgbmFtZT0iWE1MX0RURF9FTEVNX05BTUVTUEFDRSI+WE1MX0RURF9FTEVNX05BTUVTUEFDRTwvYT4gPSA1MDggLyogNTA4ICovCisgICAgPGEgbmFtZT0iWE1MX0RURF9FTEVNX1JFREVGSU5FRCI+WE1MX0RURF9FTEVNX1JFREVGSU5FRDwvYT4gPSA1MDkgLyogNTA5ICovCisgICAgPGEgbmFtZT0iWE1MX0RURF9FTVBUWV9OT1RBVElPTiI+WE1MX0RURF9FTVBUWV9OT1RBVElPTjwvYT4gPSA1MTAgLyogNTEwICovCisgICAgPGEgbmFtZT0iWE1MX0RURF9FTlRJVFlfVFlQRSI+WE1MX0RURF9FTlRJVFlfVFlQRTwvYT4gPSA1MTEgLyogNTExICovCisgICAgPGEgbmFtZT0iWE1MX0RURF9JRF9GSVhFRCI+WE1MX0RURF9JRF9GSVhFRDwvYT4gPSA1MTIgLyogNTEyICovCisgICAgPGEgbmFtZT0iWE1MX0RURF9JRF9SRURFRklORUQiPlhNTF9EVERfSURfUkVERUZJTkVEPC9hPiA9IDUxMyAvKiA1MTMgKi8KKyAgICA8YSBuYW1lPSJYTUxfRFREX0lEX1NVQlNFVCI+WE1MX0RURF9JRF9TVUJTRVQ8L2E+ID0gNTE0IC8qIDUxNCAqLworICAgIDxhIG5hbWU9IlhNTF9EVERfSU5WQUxJRF9DSElMRCI+WE1MX0RURF9JTlZBTElEX0NISUxEPC9hPiA9IDUxNSAvKiA1MTUgKi8KKyAgICA8YSBuYW1lPSJYTUxfRFREX0lOVkFMSURfREVGQVVMVCI+WE1MX0RURF9JTlZBTElEX0RFRkFVTFQ8L2E+ID0gNTE2IC8qIDUxNiAqLworICAgIDxhIG5hbWU9IlhNTF9EVERfTE9BRF9FUlJPUiI+WE1MX0RURF9MT0FEX0VSUk9SPC9hPiA9IDUxNyAvKiA1MTcgKi8KKyAgICA8YSBuYW1lPSJYTUxfRFREX01JU1NJTkdfQVRUUklCVVRFIj5YTUxfRFREX01JU1NJTkdfQVRUUklCVVRFPC9hPiA9IDUxOCAvKiA1MTggKi8KKyAgICA8YSBuYW1lPSJYTUxfRFREX01JWEVEX0NPUlJVUFQiPlhNTF9EVERfTUlYRURfQ09SUlVQVDwvYT4gPSA1MTkgLyogNTE5ICovCisgICAgPGEgbmFtZT0iWE1MX0RURF9NVUxUSVBMRV9JRCI+WE1MX0RURF9NVUxUSVBMRV9JRDwvYT4gPSA1MjAgLyogNTIwICovCisgICAgPGEgbmFtZT0iWE1MX0RURF9OT19ET0MiPlhNTF9EVERfTk9fRE9DPC9hPiA9IDUyMSAvKiA1MjEgKi8KKyAgICA8YSBuYW1lPSJYTUxfRFREX05PX0RURCI+WE1MX0RURF9OT19EVEQ8L2E+ID0gNTIyIC8qIDUyMiAqLworICAgIDxhIG5hbWU9IlhNTF9EVERfTk9fRUxFTV9OQU1FIj5YTUxfRFREX05PX0VMRU1fTkFNRTwvYT4gPSA1MjMgLyogNTIzICovCisgICAgPGEgbmFtZT0iWE1MX0RURF9OT19QUkVGSVgiPlhNTF9EVERfTk9fUFJFRklYPC9hPiA9IDUyNCAvKiA1MjQgKi8KKyAgICA8YSBuYW1lPSJYTUxfRFREX05PX1JPT1QiPlhNTF9EVERfTk9fUk9PVDwvYT4gPSA1MjUgLyogNTI1ICovCisgICAgPGEgbmFtZT0iWE1MX0RURF9OT1RBVElPTl9SRURFRklORUQiPlhNTF9EVERfTk9UQVRJT05fUkVERUZJTkVEPC9hPiA9IDUyNiAvKiA1MjYgKi8KKyAgICA8YSBuYW1lPSJYTUxfRFREX05PVEFUSU9OX1ZBTFVFIj5YTUxfRFREX05PVEFUSU9OX1ZBTFVFPC9hPiA9IDUyNyAvKiA1MjcgKi8KKyAgICA8YSBuYW1lPSJYTUxfRFREX05PVF9FTVBUWSI+WE1MX0RURF9OT1RfRU1QVFk8L2E+ID0gNTI4IC8qIDUyOCAqLworICAgIDxhIG5hbWU9IlhNTF9EVERfTk9UX1BDREFUQSI+WE1MX0RURF9OT1RfUENEQVRBPC9hPiA9IDUyOSAvKiA1MjkgKi8KKyAgICA8YSBuYW1lPSJYTUxfRFREX05PVF9TVEFOREFMT05FIj5YTUxfRFREX05PVF9TVEFOREFMT05FPC9hPiA9IDUzMCAvKiA1MzAgKi8KKyAgICA8YSBuYW1lPSJYTUxfRFREX1JPT1RfTkFNRSI+WE1MX0RURF9ST09UX05BTUU8L2E+ID0gNTMxIC8qIDUzMSAqLworICAgIDxhIG5hbWU9IlhNTF9EVERfU1RBTkRBTE9ORV9XSElURV9TUEFDRSI+WE1MX0RURF9TVEFOREFMT05FX1dISVRFX1NQQUNFPC9hPiA9IDUzMiAvKiA1MzIgKi8KKyAgICA8YSBuYW1lPSJYTUxfRFREX1VOS05PV05fQVRUUklCVVRFIj5YTUxfRFREX1VOS05PV05fQVRUUklCVVRFPC9hPiA9IDUzMyAvKiA1MzMgKi8KKyAgICA8YSBuYW1lPSJYTUxfRFREX1VOS05PV05fRUxFTSI+WE1MX0RURF9VTktOT1dOX0VMRU08L2E+ID0gNTM0IC8qIDUzNCAqLworICAgIDxhIG5hbWU9IlhNTF9EVERfVU5LTk9XTl9FTlRJVFkiPlhNTF9EVERfVU5LTk9XTl9FTlRJVFk8L2E+ID0gNTM1IC8qIDUzNSAqLworICAgIDxhIG5hbWU9IlhNTF9EVERfVU5LTk9XTl9JRCI+WE1MX0RURF9VTktOT1dOX0lEPC9hPiA9IDUzNiAvKiA1MzYgKi8KKyAgICA8YSBuYW1lPSJYTUxfRFREX1VOS05PV05fTk9UQVRJT04iPlhNTF9EVERfVU5LTk9XTl9OT1RBVElPTjwvYT4gPSA1MzcgLyogNTM3ICovCisgICAgPGEgbmFtZT0iWE1MX0RURF9TVEFOREFMT05FX0RFRkFVTFRFRCI+WE1MX0RURF9TVEFOREFMT05FX0RFRkFVTFRFRDwvYT4gPSA1MzggLyogNTM4ICovCisgICAgPGEgbmFtZT0iWE1MX0RURF9YTUxJRF9WQUxVRSI+WE1MX0RURF9YTUxJRF9WQUxVRTwvYT4gPSA1MzkgLyogNTM5ICovCisgICAgPGEgbmFtZT0iWE1MX0RURF9YTUxJRF9UWVBFIj5YTUxfRFREX1hNTElEX1RZUEU8L2E+ID0gNTQwIC8qIDU0MCAqLworICAgIDxhIG5hbWU9IlhNTF9EVERfRFVQX1RPS0VOIj5YTUxfRFREX0RVUF9UT0tFTjwvYT4gPSA1NDEgLyogNTQxICovCisgICAgPGEgbmFtZT0iWE1MX0hUTUxfU1RSVUNVUkVfRVJST1IiPlhNTF9IVE1MX1NUUlVDVVJFX0VSUk9SPC9hPiA9IDgwMAorICAgIDxhIG5hbWU9IlhNTF9IVE1MX1VOS05PV05fVEFHIj5YTUxfSFRNTF9VTktOT1dOX1RBRzwvYT4gPSA4MDEgLyogODAxICovCisgICAgPGEgbmFtZT0iWE1MX1JOR1BfQU5ZTkFNRV9BVFRSX0FOQ0VTVE9SIj5YTUxfUk5HUF9BTllOQU1FX0FUVFJfQU5DRVNUT1I8L2E+ID0gMTAwMAorICAgIDxhIG5hbWU9IlhNTF9STkdQX0FUVFJfQ09ORkxJQ1QiPlhNTF9STkdQX0FUVFJfQ09ORkxJQ1Q8L2E+ID0gMTAwMSAvKiAxMDAxICovCisgICAgPGEgbmFtZT0iWE1MX1JOR1BfQVRUUklCVVRFX0NISUxEUkVOIj5YTUxfUk5HUF9BVFRSSUJVVEVfQ0hJTERSRU48L2E+ID0gMTAwMiAvKiAxMDAyICovCisgICAgPGEgbmFtZT0iWE1MX1JOR1BfQVRUUklCVVRFX0NPTlRFTlQiPlhNTF9STkdQX0FUVFJJQlVURV9DT05URU5UPC9hPiA9IDEwMDMgLyogMTAwMyAqLworICAgIDxhIG5hbWU9IlhNTF9STkdQX0FUVFJJQlVURV9FTVBUWSI+WE1MX1JOR1BfQVRUUklCVVRFX0VNUFRZPC9hPiA9IDEwMDQgLyogMTAwNCAqLworICAgIDxhIG5hbWU9IlhNTF9STkdQX0FUVFJJQlVURV9OT09QIj5YTUxfUk5HUF9BVFRSSUJVVEVfTk9PUDwvYT4gPSAxMDA1IC8qIDEwMDUgKi8KKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9DSE9JQ0VfQ09OVEVOVCI+WE1MX1JOR1BfQ0hPSUNFX0NPTlRFTlQ8L2E+ID0gMTAwNiAvKiAxMDA2ICovCisgICAgPGEgbmFtZT0iWE1MX1JOR1BfQ0hPSUNFX0VNUFRZIj5YTUxfUk5HUF9DSE9JQ0VfRU1QVFk8L2E+ID0gMTAwNyAvKiAxMDA3ICovCisgICAgPGEgbmFtZT0iWE1MX1JOR1BfQ1JFQVRFX0ZBSUxVUkUiPlhNTF9STkdQX0NSRUFURV9GQUlMVVJFPC9hPiA9IDEwMDggLyogMTAwOCAqLworICAgIDxhIG5hbWU9IlhNTF9STkdQX0RBVEFfQ09OVEVOVCI+WE1MX1JOR1BfREFUQV9DT05URU5UPC9hPiA9IDEwMDkgLyogMTAwOSAqLworICAgIDxhIG5hbWU9IlhNTF9STkdQX0RFRl9DSE9JQ0VfQU5EX0lOVEVSTEVBVkUiPlhNTF9STkdQX0RFRl9DSE9JQ0VfQU5EX0lOVEVSTEVBVkU8L2E+ID0gMTAxMCAvKiAxMDEwICovCisgICAgPGEgbmFtZT0iWE1MX1JOR1BfREVGSU5FX0NSRUFURV9GQUlMRUQiPlhNTF9STkdQX0RFRklORV9DUkVBVEVfRkFJTEVEPC9hPiA9IDEwMTEgLyogMTAxMSAqLworICAgIDxhIG5hbWU9IlhNTF9STkdQX0RFRklORV9FTVBUWSI+WE1MX1JOR1BfREVGSU5FX0VNUFRZPC9hPiA9IDEwMTIgLyogMTAxMiAqLworICAgIDxhIG5hbWU9IlhNTF9STkdQX0RFRklORV9NSVNTSU5HIj5YTUxfUk5HUF9ERUZJTkVfTUlTU0lORzwvYT4gPSAxMDEzIC8qIDEwMTMgKi8KKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9ERUZJTkVfTkFNRV9NSVNTSU5HIj5YTUxfUk5HUF9ERUZJTkVfTkFNRV9NSVNTSU5HPC9hPiA9IDEwMTQgLyogMTAxNCAqLworICAgIDxhIG5hbWU9IlhNTF9STkdQX0VMRU1fQ09OVEVOVF9FTVBUWSI+WE1MX1JOR1BfRUxFTV9DT05URU5UX0VNUFRZPC9hPiA9IDEwMTUgLyogMTAxNSAqLworICAgIDxhIG5hbWU9IlhNTF9STkdQX0VMRU1fQ09OVEVOVF9FUlJPUiI+WE1MX1JOR1BfRUxFTV9DT05URU5UX0VSUk9SPC9hPiA9IDEwMTYgLyogMTAxNiAqLworICAgIDxhIG5hbWU9IlhNTF9STkdQX0VMRU1FTlRfRU1QVFkiPlhNTF9STkdQX0VMRU1FTlRfRU1QVFk8L2E+ID0gMTAxNyAvKiAxMDE3ICovCisgICAgPGEgbmFtZT0iWE1MX1JOR1BfRUxFTUVOVF9DT05URU5UIj5YTUxfUk5HUF9FTEVNRU5UX0NPTlRFTlQ8L2E+ID0gMTAxOCAvKiAxMDE4ICovCisgICAgPGEgbmFtZT0iWE1MX1JOR1BfRUxFTUVOVF9OQU1FIj5YTUxfUk5HUF9FTEVNRU5UX05BTUU8L2E+ID0gMTAxOSAvKiAxMDE5ICovCisgICAgPGEgbmFtZT0iWE1MX1JOR1BfRUxFTUVOVF9OT19DT05URU5UIj5YTUxfUk5HUF9FTEVNRU5UX05PX0NPTlRFTlQ8L2E+ID0gMTAyMCAvKiAxMDIwICovCisgICAgPGEgbmFtZT0iWE1MX1JOR1BfRUxFTV9URVhUX0NPTkZMSUNUIj5YTUxfUk5HUF9FTEVNX1RFWFRfQ09ORkxJQ1Q8L2E+ID0gMTAyMSAvKiAxMDIxICovCisgICAgPGEgbmFtZT0iWE1MX1JOR1BfRU1QVFkiPlhNTF9STkdQX0VNUFRZPC9hPiA9IDEwMjIgLyogMTAyMiAqLworICAgIDxhIG5hbWU9IlhNTF9STkdQX0VNUFRZX0NPTlNUUlVDVCI+WE1MX1JOR1BfRU1QVFlfQ09OU1RSVUNUPC9hPiA9IDEwMjMgLyogMTAyMyAqLworICAgIDxhIG5hbWU9IlhNTF9STkdQX0VNUFRZX0NPTlRFTlQiPlhNTF9STkdQX0VNUFRZX0NPTlRFTlQ8L2E+ID0gMTAyNCAvKiAxMDI0ICovCisgICAgPGEgbmFtZT0iWE1MX1JOR1BfRU1QVFlfTk9UX0VNUFRZIj5YTUxfUk5HUF9FTVBUWV9OT1RfRU1QVFk8L2E+ID0gMTAyNSAvKiAxMDI1ICovCisgICAgPGEgbmFtZT0iWE1MX1JOR1BfRVJST1JfVFlQRV9MSUIiPlhNTF9STkdQX0VSUk9SX1RZUEVfTElCPC9hPiA9IDEwMjYgLyogMTAyNiAqLworICAgIDxhIG5hbWU9IlhNTF9STkdQX0VYQ0VQVF9FTVBUWSI+WE1MX1JOR1BfRVhDRVBUX0VNUFRZPC9hPiA9IDEwMjcgLyogMTAyNyAqLworICAgIDxhIG5hbWU9IlhNTF9STkdQX0VYQ0VQVF9NSVNTSU5HIj5YTUxfUk5HUF9FWENFUFRfTUlTU0lORzwvYT4gPSAxMDI4IC8qIDEwMjggKi8KKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9FWENFUFRfTVVMVElQTEUiPlhNTF9STkdQX0VYQ0VQVF9NVUxUSVBMRTwvYT4gPSAxMDI5IC8qIDEwMjkgKi8KKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9FWENFUFRfTk9fQ09OVEVOVCI+WE1MX1JOR1BfRVhDRVBUX05PX0NPTlRFTlQ8L2E+ID0gMTAzMCAvKiAxMDMwICovCisgICAgPGEgbmFtZT0iWE1MX1JOR1BfRVhURVJOQUxSRUZfRU1UUFkiPlhNTF9STkdQX0VYVEVSTkFMUkVGX0VNVFBZPC9hPiA9IDEwMzEgLyogMTAzMSAqLworICAgIDxhIG5hbWU9IlhNTF9STkdQX0VYVEVSTkFMX1JFRl9GQUlMVVJFIj5YTUxfUk5HUF9FWFRFUk5BTF9SRUZfRkFJTFVSRTwvYT4gPSAxMDMyIC8qIDEwMzIgKi8KKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9FWFRFUk5BTFJFRl9SRUNVUlNFIj5YTUxfUk5HUF9FWFRFUk5BTFJFRl9SRUNVUlNFPC9hPiA9IDEwMzMgLyogMTAzMyAqLworICAgIDxhIG5hbWU9IlhNTF9STkdQX0ZPUkJJRERFTl9BVFRSSUJVVEUiPlhNTF9STkdQX0ZPUkJJRERFTl9BVFRSSUJVVEU8L2E+ID0gMTAzNCAvKiAxMDM0ICovCisgICAgPGEgbmFtZT0iWE1MX1JOR1BfRk9SRUlHTl9FTEVNRU5UIj5YTUxfUk5HUF9GT1JFSUdOX0VMRU1FTlQ8L2E+ID0gMTAzNSAvKiAxMDM1ICovCisgICAgPGEgbmFtZT0iWE1MX1JOR1BfR1JBTU1BUl9DT05URU5UIj5YTUxfUk5HUF9HUkFNTUFSX0NPTlRFTlQ8L2E+ID0gMTAzNiAvKiAxMDM2ICovCisgICAgPGEgbmFtZT0iWE1MX1JOR1BfR1JBTU1BUl9FTVBUWSI+WE1MX1JOR1BfR1JBTU1BUl9FTVBUWTwvYT4gPSAxMDM3IC8qIDEwMzcgKi8KKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9HUkFNTUFSX01JU1NJTkciPlhNTF9STkdQX0dSQU1NQVJfTUlTU0lORzwvYT4gPSAxMDM4IC8qIDEwMzggKi8KKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9HUkFNTUFSX05PX1NUQVJUIj5YTUxfUk5HUF9HUkFNTUFSX05PX1NUQVJUPC9hPiA9IDEwMzkgLyogMTAzOSAqLworICAgIDxhIG5hbWU9IlhNTF9STkdQX0dST1VQX0FUVFJfQ09ORkxJQ1QiPlhNTF9STkdQX0dST1VQX0FUVFJfQ09ORkxJQ1Q8L2E+ID0gMTA0MCAvKiAxMDQwICovCisgICAgPGEgbmFtZT0iWE1MX1JOR1BfSFJFRl9FUlJPUiI+WE1MX1JOR1BfSFJFRl9FUlJPUjwvYT4gPSAxMDQxIC8qIDEwNDEgKi8KKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9JTkNMVURFX0VNUFRZIj5YTUxfUk5HUF9JTkNMVURFX0VNUFRZPC9hPiA9IDEwNDIgLyogMTA0MiAqLworICAgIDxhIG5hbWU9IlhNTF9STkdQX0lOQ0xVREVfRkFJTFVSRSI+WE1MX1JOR1BfSU5DTFVERV9GQUlMVVJFPC9hPiA9IDEwNDMgLyogMTA0MyAqLworICAgIDxhIG5hbWU9IlhNTF9STkdQX0lOQ0xVREVfUkVDVVJTRSI+WE1MX1JOR1BfSU5DTFVERV9SRUNVUlNFPC9hPiA9IDEwNDQgLyogMTA0NCAqLworICAgIDxhIG5hbWU9IlhNTF9STkdQX0lOVEVSTEVBVkVfQUREIj5YTUxfUk5HUF9JTlRFUkxFQVZFX0FERDwvYT4gPSAxMDQ1IC8qIDEwNDUgKi8KKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9JTlRFUkxFQVZFX0NSRUFURV9GQUlMRUQiPlhNTF9STkdQX0lOVEVSTEVBVkVfQ1JFQVRFX0ZBSUxFRDwvYT4gPSAxMDQ2IC8qIDEwNDYgKi8KKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9JTlRFUkxFQVZFX0VNUFRZIj5YTUxfUk5HUF9JTlRFUkxFQVZFX0VNUFRZPC9hPiA9IDEwNDcgLyogMTA0NyAqLworICAgIDxhIG5hbWU9IlhNTF9STkdQX0lOVEVSTEVBVkVfTk9fQ09OVEVOVCI+WE1MX1JOR1BfSU5URVJMRUFWRV9OT19DT05URU5UPC9hPiA9IDEwNDggLyogMTA0OCAqLworICAgIDxhIG5hbWU9IlhNTF9STkdQX0lOVkFMSURfREVGSU5FX05BTUUiPlhNTF9STkdQX0lOVkFMSURfREVGSU5FX05BTUU8L2E+ID0gMTA0OSAvKiAxMDQ5ICovCisgICAgPGEgbmFtZT0iWE1MX1JOR1BfSU5WQUxJRF9VUkkiPlhNTF9STkdQX0lOVkFMSURfVVJJPC9hPiA9IDEwNTAgLyogMTA1MCAqLworICAgIDxhIG5hbWU9IlhNTF9STkdQX0lOVkFMSURfVkFMVUUiPlhNTF9STkdQX0lOVkFMSURfVkFMVUU8L2E+ID0gMTA1MSAvKiAxMDUxICovCisgICAgPGEgbmFtZT0iWE1MX1JOR1BfTUlTU0lOR19IUkVGIj5YTUxfUk5HUF9NSVNTSU5HX0hSRUY8L2E+ID0gMTA1MiAvKiAxMDUyICovCisgICAgPGEgbmFtZT0iWE1MX1JOR1BfTkFNRV9NSVNTSU5HIj5YTUxfUk5HUF9OQU1FX01JU1NJTkc8L2E+ID0gMTA1MyAvKiAxMDUzICovCisgICAgPGEgbmFtZT0iWE1MX1JOR1BfTkVFRF9DT01CSU5FIj5YTUxfUk5HUF9ORUVEX0NPTUJJTkU8L2E+ID0gMTA1NCAvKiAxMDU0ICovCisgICAgPGEgbmFtZT0iWE1MX1JOR1BfTk9UQUxMT1dFRF9OT1RfRU1QVFkiPlhNTF9STkdQX05PVEFMTE9XRURfTk9UX0VNUFRZPC9hPiA9IDEwNTUgLyogMTA1NSAqLworICAgIDxhIG5hbWU9IlhNTF9STkdQX05TTkFNRV9BVFRSX0FOQ0VTVE9SIj5YTUxfUk5HUF9OU05BTUVfQVRUUl9BTkNFU1RPUjwvYT4gPSAxMDU2IC8qIDEwNTYgKi8KKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9OU05BTUVfTk9fTlMiPlhNTF9STkdQX05TTkFNRV9OT19OUzwvYT4gPSAxMDU3IC8qIDEwNTcgKi8KKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9QQVJBTV9GT1JCSURERU4iPlhNTF9STkdQX1BBUkFNX0ZPUkJJRERFTjwvYT4gPSAxMDU4IC8qIDEwNTggKi8KKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9QQVJBTV9OQU1FX01JU1NJTkciPlhNTF9STkdQX1BBUkFNX05BTUVfTUlTU0lORzwvYT4gPSAxMDU5IC8qIDEwNTkgKi8KKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9QQVJFTlRSRUZfQ1JFQVRFX0ZBSUxFRCI+WE1MX1JOR1BfUEFSRU5UUkVGX0NSRUFURV9GQUlMRUQ8L2E+ID0gMTA2MCAvKiAxMDYwICovCisgICAgPGEgbmFtZT0iWE1MX1JOR1BfUEFSRU5UUkVGX05BTUVfSU5WQUxJRCI+WE1MX1JOR1BfUEFSRU5UUkVGX05BTUVfSU5WQUxJRDwvYT4gPSAxMDYxIC8qIDEwNjEgKi8KKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9QQVJFTlRSRUZfTk9fTkFNRSI+WE1MX1JOR1BfUEFSRU5UUkVGX05PX05BTUU8L2E+ID0gMTA2MiAvKiAxMDYyICovCisgICAgPGEgbmFtZT0iWE1MX1JOR1BfUEFSRU5UUkVGX05PX1BBUkVOVCI+WE1MX1JOR1BfUEFSRU5UUkVGX05PX1BBUkVOVDwvYT4gPSAxMDYzIC8qIDEwNjMgKi8KKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9QQVJFTlRSRUZfTk9UX0VNUFRZIj5YTUxfUk5HUF9QQVJFTlRSRUZfTk9UX0VNUFRZPC9hPiA9IDEwNjQgLyogMTA2NCAqLworICAgIDxhIG5hbWU9IlhNTF9STkdQX1BBUlNFX0VSUk9SIj5YTUxfUk5HUF9QQVJTRV9FUlJPUjwvYT4gPSAxMDY1IC8qIDEwNjUgKi8KKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9QQVRfQU5ZTkFNRV9FWENFUFRfQU5ZTkFNRSI+WE1MX1JOR1BfUEFUX0FOWU5BTUVfRVhDRVBUX0FOWU5BTUU8L2E+ID0gMTA2NiAvKiAxMDY2ICovCisgICAgPGEgbmFtZT0iWE1MX1JOR1BfUEFUX0FUVFJfQVRUUiI+WE1MX1JOR1BfUEFUX0FUVFJfQVRUUjwvYT4gPSAxMDY3IC8qIDEwNjcgKi8KKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9QQVRfQVRUUl9FTEVNIj5YTUxfUk5HUF9QQVRfQVRUUl9FTEVNPC9hPiA9IDEwNjggLyogMTA2OCAqLworICAgIDxhIG5hbWU9IlhNTF9STkdQX1BBVF9EQVRBX0VYQ0VQVF9BVFRSIj5YTUxfUk5HUF9QQVRfREFUQV9FWENFUFRfQVRUUjwvYT4gPSAxMDY5IC8qIDEwNjkgKi8KKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9QQVRfREFUQV9FWENFUFRfRUxFTSI+WE1MX1JOR1BfUEFUX0RBVEFfRVhDRVBUX0VMRU08L2E+ID0gMTA3MCAvKiAxMDcwICovCisgICAgPGEgbmFtZT0iWE1MX1JOR1BfUEFUX0RBVEFfRVhDRVBUX0VNUFRZIj5YTUxfUk5HUF9QQVRfREFUQV9FWENFUFRfRU1QVFk8L2E+ID0gMTA3MSAvKiAxMDcxICovCisgICAgPGEgbmFtZT0iWE1MX1JOR1BfUEFUX0RBVEFfRVhDRVBUX0dST1VQIj5YTUxfUk5HUF9QQVRfREFUQV9FWENFUFRfR1JPVVA8L2E+ID0gMTA3MiAvKiAxMDcyICovCisgICAgPGEgbmFtZT0iWE1MX1JOR1BfUEFUX0RBVEFfRVhDRVBUX0lOVEVSTEVBVkUiPlhNTF9STkdQX1BBVF9EQVRBX0VYQ0VQVF9JTlRFUkxFQVZFPC9hPiA9IDEwNzMgLyogMTA3MyAqLworICAgIDxhIG5hbWU9IlhNTF9STkdQX1BBVF9EQVRBX0VYQ0VQVF9MSVNUIj5YTUxfUk5HUF9QQVRfREFUQV9FWENFUFRfTElTVDwvYT4gPSAxMDc0IC8qIDEwNzQgKi8KKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9QQVRfREFUQV9FWENFUFRfT05FTU9SRSI+WE1MX1JOR1BfUEFUX0RBVEFfRVhDRVBUX09ORU1PUkU8L2E+ID0gMTA3NSAvKiAxMDc1ICovCisgICAgPGEgbmFtZT0iWE1MX1JOR1BfUEFUX0RBVEFfRVhDRVBUX1JFRiI+WE1MX1JOR1BfUEFUX0RBVEFfRVhDRVBUX1JFRjwvYT4gPSAxMDc2IC8qIDEwNzYgKi8KKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9QQVRfREFUQV9FWENFUFRfVEVYVCI+WE1MX1JOR1BfUEFUX0RBVEFfRVhDRVBUX1RFWFQ8L2E+ID0gMTA3NyAvKiAxMDc3ICovCisgICAgPGEgbmFtZT0iWE1MX1JOR1BfUEFUX0xJU1RfQVRUUiI+WE1MX1JOR1BfUEFUX0xJU1RfQVRUUjwvYT4gPSAxMDc4IC8qIDEwNzggKi8KKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9QQVRfTElTVF9FTEVNIj5YTUxfUk5HUF9QQVRfTElTVF9FTEVNPC9hPiA9IDEwNzkgLyogMTA3OSAqLworICAgIDxhIG5hbWU9IlhNTF9STkdQX1BBVF9MSVNUX0lOVEVSTEVBVkUiPlhNTF9STkdQX1BBVF9MSVNUX0lOVEVSTEVBVkU8L2E+ID0gMTA4MCAvKiAxMDgwICovCisgICAgPGEgbmFtZT0iWE1MX1JOR1BfUEFUX0xJU1RfTElTVCI+WE1MX1JOR1BfUEFUX0xJU1RfTElTVDwvYT4gPSAxMDgxIC8qIDEwODEgKi8KKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9QQVRfTElTVF9SRUYiPlhNTF9STkdQX1BBVF9MSVNUX1JFRjwvYT4gPSAxMDgyIC8qIDEwODIgKi8KKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9QQVRfTElTVF9URVhUIj5YTUxfUk5HUF9QQVRfTElTVF9URVhUPC9hPiA9IDEwODMgLyogMTA4MyAqLworICAgIDxhIG5hbWU9IlhNTF9STkdQX1BBVF9OU05BTUVfRVhDRVBUX0FOWU5BTUUiPlhNTF9STkdQX1BBVF9OU05BTUVfRVhDRVBUX0FOWU5BTUU8L2E+ID0gMTA4NCAvKiAxMDg0ICovCisgICAgPGEgbmFtZT0iWE1MX1JOR1BfUEFUX05TTkFNRV9FWENFUFRfTlNOQU1FIj5YTUxfUk5HUF9QQVRfTlNOQU1FX0VYQ0VQVF9OU05BTUU8L2E+ID0gMTA4NSAvKiAxMDg1ICovCisgICAgPGEgbmFtZT0iWE1MX1JOR1BfUEFUX09ORU1PUkVfR1JPVVBfQVRUUiI+WE1MX1JOR1BfUEFUX09ORU1PUkVfR1JPVVBfQVRUUjwvYT4gPSAxMDg2IC8qIDEwODYgKi8KKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9QQVRfT05FTU9SRV9JTlRFUkxFQVZFX0FUVFIiPlhNTF9STkdQX1BBVF9PTkVNT1JFX0lOVEVSTEVBVkVfQVRUUjwvYT4gPSAxMDg3IC8qIDEwODcgKi8KKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9QQVRfU1RBUlRfQVRUUiI+WE1MX1JOR1BfUEFUX1NUQVJUX0FUVFI8L2E+ID0gMTA4OCAvKiAxMDg4ICovCisgICAgPGEgbmFtZT0iWE1MX1JOR1BfUEFUX1NUQVJUX0RBVEEiPlhNTF9STkdQX1BBVF9TVEFSVF9EQVRBPC9hPiA9IDEwODkgLyogMTA4OSAqLworICAgIDxhIG5hbWU9IlhNTF9STkdQX1BBVF9TVEFSVF9FTVBUWSI+WE1MX1JOR1BfUEFUX1NUQVJUX0VNUFRZPC9hPiA9IDEwOTAgLyogMTA5MCAqLworICAgIDxhIG5hbWU9IlhNTF9STkdQX1BBVF9TVEFSVF9HUk9VUCI+WE1MX1JOR1BfUEFUX1NUQVJUX0dST1VQPC9hPiA9IDEwOTEgLyogMTA5MSAqLworICAgIDxhIG5hbWU9IlhNTF9STkdQX1BBVF9TVEFSVF9JTlRFUkxFQVZFIj5YTUxfUk5HUF9QQVRfU1RBUlRfSU5URVJMRUFWRTwvYT4gPSAxMDkyIC8qIDEwOTIgKi8KKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9QQVRfU1RBUlRfTElTVCI+WE1MX1JOR1BfUEFUX1NUQVJUX0xJU1Q8L2E+ID0gMTA5MyAvKiAxMDkzICovCisgICAgPGEgbmFtZT0iWE1MX1JOR1BfUEFUX1NUQVJUX09ORU1PUkUiPlhNTF9STkdQX1BBVF9TVEFSVF9PTkVNT1JFPC9hPiA9IDEwOTQgLyogMTA5NCAqLworICAgIDxhIG5hbWU9IlhNTF9STkdQX1BBVF9TVEFSVF9URVhUIj5YTUxfUk5HUF9QQVRfU1RBUlRfVEVYVDwvYT4gPSAxMDk1IC8qIDEwOTUgKi8KKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9QQVRfU1RBUlRfVkFMVUUiPlhNTF9STkdQX1BBVF9TVEFSVF9WQUxVRTwvYT4gPSAxMDk2IC8qIDEwOTYgKi8KKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9QUkVGSVhfVU5ERUZJTkVEIj5YTUxfUk5HUF9QUkVGSVhfVU5ERUZJTkVEPC9hPiA9IDEwOTcgLyogMTA5NyAqLworICAgIDxhIG5hbWU9IlhNTF9STkdQX1JFRl9DUkVBVEVfRkFJTEVEIj5YTUxfUk5HUF9SRUZfQ1JFQVRFX0ZBSUxFRDwvYT4gPSAxMDk4IC8qIDEwOTggKi8KKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9SRUZfQ1lDTEUiPlhNTF9STkdQX1JFRl9DWUNMRTwvYT4gPSAxMDk5IC8qIDEwOTkgKi8KKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9SRUZfTkFNRV9JTlZBTElEIj5YTUxfUk5HUF9SRUZfTkFNRV9JTlZBTElEPC9hPiA9IDExMDAgLyogMTEwMCAqLworICAgIDxhIG5hbWU9IlhNTF9STkdQX1JFRl9OT19ERUYiPlhNTF9STkdQX1JFRl9OT19ERUY8L2E+ID0gMTEwMSAvKiAxMTAxICovCisgICAgPGEgbmFtZT0iWE1MX1JOR1BfUkVGX05PX05BTUUiPlhNTF9STkdQX1JFRl9OT19OQU1FPC9hPiA9IDExMDIgLyogMTEwMiAqLworICAgIDxhIG5hbWU9IlhNTF9STkdQX1JFRl9OT1RfRU1QVFkiPlhNTF9STkdQX1JFRl9OT1RfRU1QVFk8L2E+ID0gMTEwMyAvKiAxMTAzICovCisgICAgPGEgbmFtZT0iWE1MX1JOR1BfU1RBUlRfQ0hPSUNFX0FORF9JTlRFUkxFQVZFIj5YTUxfUk5HUF9TVEFSVF9DSE9JQ0VfQU5EX0lOVEVSTEVBVkU8L2E+ID0gMTEwNCAvKiAxMTA0ICovCisgICAgPGEgbmFtZT0iWE1MX1JOR1BfU1RBUlRfQ09OVEVOVCI+WE1MX1JOR1BfU1RBUlRfQ09OVEVOVDwvYT4gPSAxMTA1IC8qIDExMDUgKi8KKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9TVEFSVF9FTVBUWSI+WE1MX1JOR1BfU1RBUlRfRU1QVFk8L2E+ID0gMTEwNiAvKiAxMTA2ICovCisgICAgPGEgbmFtZT0iWE1MX1JOR1BfU1RBUlRfTUlTU0lORyI+WE1MX1JOR1BfU1RBUlRfTUlTU0lORzwvYT4gPSAxMTA3IC8qIDExMDcgKi8KKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9URVhUX0VYUEVDVEVEIj5YTUxfUk5HUF9URVhUX0VYUEVDVEVEPC9hPiA9IDExMDggLyogMTEwOCAqLworICAgIDxhIG5hbWU9IlhNTF9STkdQX1RFWFRfSEFTX0NISUxEIj5YTUxfUk5HUF9URVhUX0hBU19DSElMRDwvYT4gPSAxMTA5IC8qIDExMDkgKi8KKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9UWVBFX01JU1NJTkciPlhNTF9STkdQX1RZUEVfTUlTU0lORzwvYT4gPSAxMTEwIC8qIDExMTAgKi8KKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9UWVBFX05PVF9GT1VORCI+WE1MX1JOR1BfVFlQRV9OT1RfRk9VTkQ8L2E+ID0gMTExMSAvKiAxMTExICovCisgICAgPGEgbmFtZT0iWE1MX1JOR1BfVFlQRV9WQUxVRSI+WE1MX1JOR1BfVFlQRV9WQUxVRTwvYT4gPSAxMTEyIC8qIDExMTIgKi8KKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9VTktOT1dOX0FUVFJJQlVURSI+WE1MX1JOR1BfVU5LTk9XTl9BVFRSSUJVVEU8L2E+ID0gMTExMyAvKiAxMTEzICovCisgICAgPGEgbmFtZT0iWE1MX1JOR1BfVU5LTk9XTl9DT01CSU5FIj5YTUxfUk5HUF9VTktOT1dOX0NPTUJJTkU8L2E+ID0gMTExNCAvKiAxMTE0ICovCisgICAgPGEgbmFtZT0iWE1MX1JOR1BfVU5LTk9XTl9DT05TVFJVQ1QiPlhNTF9STkdQX1VOS05PV05fQ09OU1RSVUNUPC9hPiA9IDExMTUgLyogMTExNSAqLworICAgIDxhIG5hbWU9IlhNTF9STkdQX1VOS05PV05fVFlQRV9MSUIiPlhNTF9STkdQX1VOS05PV05fVFlQRV9MSUI8L2E+ID0gMTExNiAvKiAxMTE2ICovCisgICAgPGEgbmFtZT0iWE1MX1JOR1BfVVJJX0ZSQUdNRU5UIj5YTUxfUk5HUF9VUklfRlJBR01FTlQ8L2E+ID0gMTExNyAvKiAxMTE3ICovCisgICAgPGEgbmFtZT0iWE1MX1JOR1BfVVJJX05PVF9BQlNPTFVURSI+WE1MX1JOR1BfVVJJX05PVF9BQlNPTFVURTwvYT4gPSAxMTE4IC8qIDExMTggKi8KKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9WQUxVRV9FTVBUWSI+WE1MX1JOR1BfVkFMVUVfRU1QVFk8L2E+ID0gMTExOSAvKiAxMTE5ICovCisgICAgPGEgbmFtZT0iWE1MX1JOR1BfVkFMVUVfTk9fQ09OVEVOVCI+WE1MX1JOR1BfVkFMVUVfTk9fQ09OVEVOVDwvYT4gPSAxMTIwIC8qIDExMjAgKi8KKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9YTUxOU19OQU1FIj5YTUxfUk5HUF9YTUxOU19OQU1FPC9hPiA9IDExMjEgLyogMTEyMSAqLworICAgIDxhIG5hbWU9IlhNTF9STkdQX1hNTF9OUyI+WE1MX1JOR1BfWE1MX05TPC9hPiA9IDExMjIgLyogMTEyMiAqLworICAgIDxhIG5hbWU9IlhNTF9YUEFUSF9FWFBSRVNTSU9OX09LIj5YTUxfWFBBVEhfRVhQUkVTU0lPTl9PSzwvYT4gPSAxMjAwCisgICAgPGEgbmFtZT0iWE1MX1hQQVRIX05VTUJFUl9FUlJPUiI+WE1MX1hQQVRIX05VTUJFUl9FUlJPUjwvYT4gPSAxMjAxIC8qIDEyMDEgKi8KKyAgICA8YSBuYW1lPSJYTUxfWFBBVEhfVU5GSU5JU0hFRF9MSVRFUkFMX0VSUk9SIj5YTUxfWFBBVEhfVU5GSU5JU0hFRF9MSVRFUkFMX0VSUk9SPC9hPiA9IDEyMDIgLyogMTIwMiAqLworICAgIDxhIG5hbWU9IlhNTF9YUEFUSF9TVEFSVF9MSVRFUkFMX0VSUk9SIj5YTUxfWFBBVEhfU1RBUlRfTElURVJBTF9FUlJPUjwvYT4gPSAxMjAzIC8qIDEyMDMgKi8KKyAgICA8YSBuYW1lPSJYTUxfWFBBVEhfVkFSSUFCTEVfUkVGX0VSUk9SIj5YTUxfWFBBVEhfVkFSSUFCTEVfUkVGX0VSUk9SPC9hPiA9IDEyMDQgLyogMTIwNCAqLworICAgIDxhIG5hbWU9IlhNTF9YUEFUSF9VTkRFRl9WQVJJQUJMRV9FUlJPUiI+WE1MX1hQQVRIX1VOREVGX1ZBUklBQkxFX0VSUk9SPC9hPiA9IDEyMDUgLyogMTIwNSAqLworICAgIDxhIG5hbWU9IlhNTF9YUEFUSF9JTlZBTElEX1BSRURJQ0FURV9FUlJPUiI+WE1MX1hQQVRIX0lOVkFMSURfUFJFRElDQVRFX0VSUk9SPC9hPiA9IDEyMDYgLyogMTIwNiAqLworICAgIDxhIG5hbWU9IlhNTF9YUEFUSF9FWFBSX0VSUk9SIj5YTUxfWFBBVEhfRVhQUl9FUlJPUjwvYT4gPSAxMjA3IC8qIDEyMDcgKi8KKyAgICA8YSBuYW1lPSJYTUxfWFBBVEhfVU5DTE9TRURfRVJST1IiPlhNTF9YUEFUSF9VTkNMT1NFRF9FUlJPUjwvYT4gPSAxMjA4IC8qIDEyMDggKi8KKyAgICA8YSBuYW1lPSJYTUxfWFBBVEhfVU5LTk9XTl9GVU5DX0VSUk9SIj5YTUxfWFBBVEhfVU5LTk9XTl9GVU5DX0VSUk9SPC9hPiA9IDEyMDkgLyogMTIwOSAqLworICAgIDxhIG5hbWU9IlhNTF9YUEFUSF9JTlZBTElEX09QRVJBTkQiPlhNTF9YUEFUSF9JTlZBTElEX09QRVJBTkQ8L2E+ID0gMTIxMCAvKiAxMjEwICovCisgICAgPGEgbmFtZT0iWE1MX1hQQVRIX0lOVkFMSURfVFlQRSI+WE1MX1hQQVRIX0lOVkFMSURfVFlQRTwvYT4gPSAxMjExIC8qIDEyMTEgKi8KKyAgICA8YSBuYW1lPSJYTUxfWFBBVEhfSU5WQUxJRF9BUklUWSI+WE1MX1hQQVRIX0lOVkFMSURfQVJJVFk8L2E+ID0gMTIxMiAvKiAxMjEyICovCisgICAgPGEgbmFtZT0iWE1MX1hQQVRIX0lOVkFMSURfQ1RYVF9TSVpFIj5YTUxfWFBBVEhfSU5WQUxJRF9DVFhUX1NJWkU8L2E+ID0gMTIxMyAvKiAxMjEzICovCisgICAgPGEgbmFtZT0iWE1MX1hQQVRIX0lOVkFMSURfQ1RYVF9QT1NJVElPTiI+WE1MX1hQQVRIX0lOVkFMSURfQ1RYVF9QT1NJVElPTjwvYT4gPSAxMjE0IC8qIDEyMTQgKi8KKyAgICA8YSBuYW1lPSJYTUxfWFBBVEhfTUVNT1JZX0VSUk9SIj5YTUxfWFBBVEhfTUVNT1JZX0VSUk9SPC9hPiA9IDEyMTUgLyogMTIxNSAqLworICAgIDxhIG5hbWU9IlhNTF9YUFRSX1NZTlRBWF9FUlJPUiI+WE1MX1hQVFJfU1lOVEFYX0VSUk9SPC9hPiA9IDEyMTYgLyogMTIxNiAqLworICAgIDxhIG5hbWU9IlhNTF9YUFRSX1JFU09VUkNFX0VSUk9SIj5YTUxfWFBUUl9SRVNPVVJDRV9FUlJPUjwvYT4gPSAxMjE3IC8qIDEyMTcgKi8KKyAgICA8YSBuYW1lPSJYTUxfWFBUUl9TVUJfUkVTT1VSQ0VfRVJST1IiPlhNTF9YUFRSX1NVQl9SRVNPVVJDRV9FUlJPUjwvYT4gPSAxMjE4IC8qIDEyMTggKi8KKyAgICA8YSBuYW1lPSJYTUxfWFBBVEhfVU5ERUZfUFJFRklYX0VSUk9SIj5YTUxfWFBBVEhfVU5ERUZfUFJFRklYX0VSUk9SPC9hPiA9IDEyMTkgLyogMTIxOSAqLworICAgIDxhIG5hbWU9IlhNTF9YUEFUSF9FTkNPRElOR19FUlJPUiI+WE1MX1hQQVRIX0VOQ09ESU5HX0VSUk9SPC9hPiA9IDEyMjAgLyogMTIyMCAqLworICAgIDxhIG5hbWU9IlhNTF9YUEFUSF9JTlZBTElEX0NIQVJfRVJST1IiPlhNTF9YUEFUSF9JTlZBTElEX0NIQVJfRVJST1I8L2E+ID0gMTIyMSAvKiAxMjIxICovCisgICAgPGEgbmFtZT0iWE1MX1RSRUVfSU5WQUxJRF9IRVgiPlhNTF9UUkVFX0lOVkFMSURfSEVYPC9hPiA9IDEzMDAKKyAgICA8YSBuYW1lPSJYTUxfVFJFRV9JTlZBTElEX0RFQyI+WE1MX1RSRUVfSU5WQUxJRF9ERUM8L2E+ID0gMTMwMSAvKiAxMzAxICovCisgICAgPGEgbmFtZT0iWE1MX1RSRUVfVU5URVJNSU5BVEVEX0VOVElUWSI+WE1MX1RSRUVfVU5URVJNSU5BVEVEX0VOVElUWTwvYT4gPSAxMzAyIC8qIDEzMDIgKi8KKyAgICA8YSBuYW1lPSJYTUxfVFJFRV9OT1RfVVRGOCI+WE1MX1RSRUVfTk9UX1VURjg8L2E+ID0gMTMwMyAvKiAxMzAzICovCisgICAgPGEgbmFtZT0iWE1MX1NBVkVfTk9UX1VURjgiPlhNTF9TQVZFX05PVF9VVEY4PC9hPiA9IDE0MDAKKyAgICA8YSBuYW1lPSJYTUxfU0FWRV9DSEFSX0lOVkFMSUQiPlhNTF9TQVZFX0NIQVJfSU5WQUxJRDwvYT4gPSAxNDAxIC8qIDE0MDEgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0FWRV9OT19ET0NUWVBFIj5YTUxfU0FWRV9OT19ET0NUWVBFPC9hPiA9IDE0MDIgLyogMTQwMiAqLworICAgIDxhIG5hbWU9IlhNTF9TQVZFX1VOS05PV05fRU5DT0RJTkciPlhNTF9TQVZFX1VOS05PV05fRU5DT0RJTkc8L2E+ID0gMTQwMyAvKiAxNDAzICovCisgICAgPGEgbmFtZT0iWE1MX1JFR0VYUF9DT01QSUxFX0VSUk9SIj5YTUxfUkVHRVhQX0NPTVBJTEVfRVJST1I8L2E+ID0gMTQ1MAorICAgIDxhIG5hbWU9IlhNTF9JT19VTktOT1dOIj5YTUxfSU9fVU5LTk9XTjwvYT4gPSAxNTAwCisgICAgPGEgbmFtZT0iWE1MX0lPX0VBQ0NFUyI+WE1MX0lPX0VBQ0NFUzwvYT4gPSAxNTAxIC8qIDE1MDEgKi8KKyAgICA8YSBuYW1lPSJYTUxfSU9fRUFHQUlOIj5YTUxfSU9fRUFHQUlOPC9hPiA9IDE1MDIgLyogMTUwMiAqLworICAgIDxhIG5hbWU9IlhNTF9JT19FQkFERiI+WE1MX0lPX0VCQURGPC9hPiA9IDE1MDMgLyogMTUwMyAqLworICAgIDxhIG5hbWU9IlhNTF9JT19FQkFETVNHIj5YTUxfSU9fRUJBRE1TRzwvYT4gPSAxNTA0IC8qIDE1MDQgKi8KKyAgICA8YSBuYW1lPSJYTUxfSU9fRUJVU1kiPlhNTF9JT19FQlVTWTwvYT4gPSAxNTA1IC8qIDE1MDUgKi8KKyAgICA8YSBuYW1lPSJYTUxfSU9fRUNBTkNFTEVEIj5YTUxfSU9fRUNBTkNFTEVEPC9hPiA9IDE1MDYgLyogMTUwNiAqLworICAgIDxhIG5hbWU9IlhNTF9JT19FQ0hJTEQiPlhNTF9JT19FQ0hJTEQ8L2E+ID0gMTUwNyAvKiAxNTA3ICovCisgICAgPGEgbmFtZT0iWE1MX0lPX0VERUFETEsiPlhNTF9JT19FREVBRExLPC9hPiA9IDE1MDggLyogMTUwOCAqLworICAgIDxhIG5hbWU9IlhNTF9JT19FRE9NIj5YTUxfSU9fRURPTTwvYT4gPSAxNTA5IC8qIDE1MDkgKi8KKyAgICA8YSBuYW1lPSJYTUxfSU9fRUVYSVNUIj5YTUxfSU9fRUVYSVNUPC9hPiA9IDE1MTAgLyogMTUxMCAqLworICAgIDxhIG5hbWU9IlhNTF9JT19FRkFVTFQiPlhNTF9JT19FRkFVTFQ8L2E+ID0gMTUxMSAvKiAxNTExICovCisgICAgPGEgbmFtZT0iWE1MX0lPX0VGQklHIj5YTUxfSU9fRUZCSUc8L2E+ID0gMTUxMiAvKiAxNTEyICovCisgICAgPGEgbmFtZT0iWE1MX0lPX0VJTlBST0dSRVNTIj5YTUxfSU9fRUlOUFJPR1JFU1M8L2E+ID0gMTUxMyAvKiAxNTEzICovCisgICAgPGEgbmFtZT0iWE1MX0lPX0VJTlRSIj5YTUxfSU9fRUlOVFI8L2E+ID0gMTUxNCAvKiAxNTE0ICovCisgICAgPGEgbmFtZT0iWE1MX0lPX0VJTlZBTCI+WE1MX0lPX0VJTlZBTDwvYT4gPSAxNTE1IC8qIDE1MTUgKi8KKyAgICA8YSBuYW1lPSJYTUxfSU9fRUlPIj5YTUxfSU9fRUlPPC9hPiA9IDE1MTYgLyogMTUxNiAqLworICAgIDxhIG5hbWU9IlhNTF9JT19FSVNESVIiPlhNTF9JT19FSVNESVI8L2E+ID0gMTUxNyAvKiAxNTE3ICovCisgICAgPGEgbmFtZT0iWE1MX0lPX0VNRklMRSI+WE1MX0lPX0VNRklMRTwvYT4gPSAxNTE4IC8qIDE1MTggKi8KKyAgICA8YSBuYW1lPSJYTUxfSU9fRU1MSU5LIj5YTUxfSU9fRU1MSU5LPC9hPiA9IDE1MTkgLyogMTUxOSAqLworICAgIDxhIG5hbWU9IlhNTF9JT19FTVNHU0laRSI+WE1MX0lPX0VNU0dTSVpFPC9hPiA9IDE1MjAgLyogMTUyMCAqLworICAgIDxhIG5hbWU9IlhNTF9JT19FTkFNRVRPT0xPTkciPlhNTF9JT19FTkFNRVRPT0xPTkc8L2E+ID0gMTUyMSAvKiAxNTIxICovCisgICAgPGEgbmFtZT0iWE1MX0lPX0VORklMRSI+WE1MX0lPX0VORklMRTwvYT4gPSAxNTIyIC8qIDE1MjIgKi8KKyAgICA8YSBuYW1lPSJYTUxfSU9fRU5PREVWIj5YTUxfSU9fRU5PREVWPC9hPiA9IDE1MjMgLyogMTUyMyAqLworICAgIDxhIG5hbWU9IlhNTF9JT19FTk9FTlQiPlhNTF9JT19FTk9FTlQ8L2E+ID0gMTUyNCAvKiAxNTI0ICovCisgICAgPGEgbmFtZT0iWE1MX0lPX0VOT0VYRUMiPlhNTF9JT19FTk9FWEVDPC9hPiA9IDE1MjUgLyogMTUyNSAqLworICAgIDxhIG5hbWU9IlhNTF9JT19FTk9MQ0siPlhNTF9JT19FTk9MQ0s8L2E+ID0gMTUyNiAvKiAxNTI2ICovCisgICAgPGEgbmFtZT0iWE1MX0lPX0VOT01FTSI+WE1MX0lPX0VOT01FTTwvYT4gPSAxNTI3IC8qIDE1MjcgKi8KKyAgICA8YSBuYW1lPSJYTUxfSU9fRU5PU1BDIj5YTUxfSU9fRU5PU1BDPC9hPiA9IDE1MjggLyogMTUyOCAqLworICAgIDxhIG5hbWU9IlhNTF9JT19FTk9TWVMiPlhNTF9JT19FTk9TWVM8L2E+ID0gMTUyOSAvKiAxNTI5ICovCisgICAgPGEgbmFtZT0iWE1MX0lPX0VOT1RESVIiPlhNTF9JT19FTk9URElSPC9hPiA9IDE1MzAgLyogMTUzMCAqLworICAgIDxhIG5hbWU9IlhNTF9JT19FTk9URU1QVFkiPlhNTF9JT19FTk9URU1QVFk8L2E+ID0gMTUzMSAvKiAxNTMxICovCisgICAgPGEgbmFtZT0iWE1MX0lPX0VOT1RTVVAiPlhNTF9JT19FTk9UU1VQPC9hPiA9IDE1MzIgLyogMTUzMiAqLworICAgIDxhIG5hbWU9IlhNTF9JT19FTk9UVFkiPlhNTF9JT19FTk9UVFk8L2E+ID0gMTUzMyAvKiAxNTMzICovCisgICAgPGEgbmFtZT0iWE1MX0lPX0VOWElPIj5YTUxfSU9fRU5YSU88L2E+ID0gMTUzNCAvKiAxNTM0ICovCisgICAgPGEgbmFtZT0iWE1MX0lPX0VQRVJNIj5YTUxfSU9fRVBFUk08L2E+ID0gMTUzNSAvKiAxNTM1ICovCisgICAgPGEgbmFtZT0iWE1MX0lPX0VQSVBFIj5YTUxfSU9fRVBJUEU8L2E+ID0gMTUzNiAvKiAxNTM2ICovCisgICAgPGEgbmFtZT0iWE1MX0lPX0VSQU5HRSI+WE1MX0lPX0VSQU5HRTwvYT4gPSAxNTM3IC8qIDE1MzcgKi8KKyAgICA8YSBuYW1lPSJYTUxfSU9fRVJPRlMiPlhNTF9JT19FUk9GUzwvYT4gPSAxNTM4IC8qIDE1MzggKi8KKyAgICA8YSBuYW1lPSJYTUxfSU9fRVNQSVBFIj5YTUxfSU9fRVNQSVBFPC9hPiA9IDE1MzkgLyogMTUzOSAqLworICAgIDxhIG5hbWU9IlhNTF9JT19FU1JDSCI+WE1MX0lPX0VTUkNIPC9hPiA9IDE1NDAgLyogMTU0MCAqLworICAgIDxhIG5hbWU9IlhNTF9JT19FVElNRURPVVQiPlhNTF9JT19FVElNRURPVVQ8L2E+ID0gMTU0MSAvKiAxNTQxICovCisgICAgPGEgbmFtZT0iWE1MX0lPX0VYREVWIj5YTUxfSU9fRVhERVY8L2E+ID0gMTU0MiAvKiAxNTQyICovCisgICAgPGEgbmFtZT0iWE1MX0lPX05FVFdPUktfQVRURU1QVCI+WE1MX0lPX05FVFdPUktfQVRURU1QVDwvYT4gPSAxNTQzIC8qIDE1NDMgKi8KKyAgICA8YSBuYW1lPSJYTUxfSU9fRU5DT0RFUiI+WE1MX0lPX0VOQ09ERVI8L2E+ID0gMTU0NCAvKiAxNTQ0ICovCisgICAgPGEgbmFtZT0iWE1MX0lPX0ZMVVNIIj5YTUxfSU9fRkxVU0g8L2E+ID0gMTU0NSAvKiAxNTQ1ICovCisgICAgPGEgbmFtZT0iWE1MX0lPX1dSSVRFIj5YTUxfSU9fV1JJVEU8L2E+ID0gMTU0NiAvKiAxNTQ2ICovCisgICAgPGEgbmFtZT0iWE1MX0lPX05PX0lOUFVUIj5YTUxfSU9fTk9fSU5QVVQ8L2E+ID0gMTU0NyAvKiAxNTQ3ICovCisgICAgPGEgbmFtZT0iWE1MX0lPX0JVRkZFUl9GVUxMIj5YTUxfSU9fQlVGRkVSX0ZVTEw8L2E+ID0gMTU0OCAvKiAxNTQ4ICovCisgICAgPGEgbmFtZT0iWE1MX0lPX0xPQURfRVJST1IiPlhNTF9JT19MT0FEX0VSUk9SPC9hPiA9IDE1NDkgLyogMTU0OSAqLworICAgIDxhIG5hbWU9IlhNTF9JT19FTk9UU09DSyI+WE1MX0lPX0VOT1RTT0NLPC9hPiA9IDE1NTAgLyogMTU1MCAqLworICAgIDxhIG5hbWU9IlhNTF9JT19FSVNDT05OIj5YTUxfSU9fRUlTQ09OTjwvYT4gPSAxNTUxIC8qIDE1NTEgKi8KKyAgICA8YSBuYW1lPSJYTUxfSU9fRUNPTk5SRUZVU0VEIj5YTUxfSU9fRUNPTk5SRUZVU0VEPC9hPiA9IDE1NTIgLyogMTU1MiAqLworICAgIDxhIG5hbWU9IlhNTF9JT19FTkVUVU5SRUFDSCI+WE1MX0lPX0VORVRVTlJFQUNIPC9hPiA9IDE1NTMgLyogMTU1MyAqLworICAgIDxhIG5hbWU9IlhNTF9JT19FQUREUklOVVNFIj5YTUxfSU9fRUFERFJJTlVTRTwvYT4gPSAxNTU0IC8qIDE1NTQgKi8KKyAgICA8YSBuYW1lPSJYTUxfSU9fRUFMUkVBRFkiPlhNTF9JT19FQUxSRUFEWTwvYT4gPSAxNTU1IC8qIDE1NTUgKi8KKyAgICA8YSBuYW1lPSJYTUxfSU9fRUFGTk9TVVBQT1JUIj5YTUxfSU9fRUFGTk9TVVBQT1JUPC9hPiA9IDE1NTYgLyogMTU1NiAqLworICAgIDxhIG5hbWU9IlhNTF9YSU5DTFVERV9SRUNVUlNJT04iPlhNTF9YSU5DTFVERV9SRUNVUlNJT048L2E+ID0gMTYwMAorICAgIDxhIG5hbWU9IlhNTF9YSU5DTFVERV9QQVJTRV9WQUxVRSI+WE1MX1hJTkNMVURFX1BBUlNFX1ZBTFVFPC9hPiA9IDE2MDEgLyogMTYwMSAqLworICAgIDxhIG5hbWU9IlhNTF9YSU5DTFVERV9FTlRJVFlfREVGX01JU01BVENIIj5YTUxfWElOQ0xVREVfRU5USVRZX0RFRl9NSVNNQVRDSDwvYT4gPSAxNjAyIC8qIDE2MDIgKi8KKyAgICA8YSBuYW1lPSJYTUxfWElOQ0xVREVfTk9fSFJFRiI+WE1MX1hJTkNMVURFX05PX0hSRUY8L2E+ID0gMTYwMyAvKiAxNjAzICovCisgICAgPGEgbmFtZT0iWE1MX1hJTkNMVURFX05PX0ZBTExCQUNLIj5YTUxfWElOQ0xVREVfTk9fRkFMTEJBQ0s8L2E+ID0gMTYwNCAvKiAxNjA0ICovCisgICAgPGEgbmFtZT0iWE1MX1hJTkNMVURFX0hSRUZfVVJJIj5YTUxfWElOQ0xVREVfSFJFRl9VUkk8L2E+ID0gMTYwNSAvKiAxNjA1ICovCisgICAgPGEgbmFtZT0iWE1MX1hJTkNMVURFX1RFWFRfRlJBR01FTlQiPlhNTF9YSU5DTFVERV9URVhUX0ZSQUdNRU5UPC9hPiA9IDE2MDYgLyogMTYwNiAqLworICAgIDxhIG5hbWU9IlhNTF9YSU5DTFVERV9URVhUX0RPQ1VNRU5UIj5YTUxfWElOQ0xVREVfVEVYVF9ET0NVTUVOVDwvYT4gPSAxNjA3IC8qIDE2MDcgKi8KKyAgICA8YSBuYW1lPSJYTUxfWElOQ0xVREVfSU5WQUxJRF9DSEFSIj5YTUxfWElOQ0xVREVfSU5WQUxJRF9DSEFSPC9hPiA9IDE2MDggLyogMTYwOCAqLworICAgIDxhIG5hbWU9IlhNTF9YSU5DTFVERV9CVUlMRF9GQUlMRUQiPlhNTF9YSU5DTFVERV9CVUlMRF9GQUlMRUQ8L2E+ID0gMTYwOSAvKiAxNjA5ICovCisgICAgPGEgbmFtZT0iWE1MX1hJTkNMVURFX1VOS05PV05fRU5DT0RJTkciPlhNTF9YSU5DTFVERV9VTktOT1dOX0VOQ09ESU5HPC9hPiA9IDE2MTAgLyogMTYxMCAqLworICAgIDxhIG5hbWU9IlhNTF9YSU5DTFVERV9NVUxUSVBMRV9ST09UIj5YTUxfWElOQ0xVREVfTVVMVElQTEVfUk9PVDwvYT4gPSAxNjExIC8qIDE2MTEgKi8KKyAgICA8YSBuYW1lPSJYTUxfWElOQ0xVREVfWFBUUl9GQUlMRUQiPlhNTF9YSU5DTFVERV9YUFRSX0ZBSUxFRDwvYT4gPSAxNjEyIC8qIDE2MTIgKi8KKyAgICA8YSBuYW1lPSJYTUxfWElOQ0xVREVfWFBUUl9SRVNVTFQiPlhNTF9YSU5DTFVERV9YUFRSX1JFU1VMVDwvYT4gPSAxNjEzIC8qIDE2MTMgKi8KKyAgICA8YSBuYW1lPSJYTUxfWElOQ0xVREVfSU5DTFVERV9JTl9JTkNMVURFIj5YTUxfWElOQ0xVREVfSU5DTFVERV9JTl9JTkNMVURFPC9hPiA9IDE2MTQgLyogMTYxNCAqLworICAgIDxhIG5hbWU9IlhNTF9YSU5DTFVERV9GQUxMQkFDS1NfSU5fSU5DTFVERSI+WE1MX1hJTkNMVURFX0ZBTExCQUNLU19JTl9JTkNMVURFPC9hPiA9IDE2MTUgLyogMTYxNSAqLworICAgIDxhIG5hbWU9IlhNTF9YSU5DTFVERV9GQUxMQkFDS19OT1RfSU5fSU5DTFVERSI+WE1MX1hJTkNMVURFX0ZBTExCQUNLX05PVF9JTl9JTkNMVURFPC9hPiA9IDE2MTYgLyogMTYxNiAqLworICAgIDxhIG5hbWU9IlhNTF9YSU5DTFVERV9ERVBSRUNBVEVEX05TIj5YTUxfWElOQ0xVREVfREVQUkVDQVRFRF9OUzwvYT4gPSAxNjE3IC8qIDE2MTcgKi8KKyAgICA8YSBuYW1lPSJYTUxfWElOQ0xVREVfRlJBR01FTlRfSUQiPlhNTF9YSU5DTFVERV9GUkFHTUVOVF9JRDwvYT4gPSAxNjE4IC8qIDE2MTggKi8KKyAgICA8YSBuYW1lPSJYTUxfQ0FUQUxPR19NSVNTSU5HX0FUVFIiPlhNTF9DQVRBTE9HX01JU1NJTkdfQVRUUjwvYT4gPSAxNjUwCisgICAgPGEgbmFtZT0iWE1MX0NBVEFMT0dfRU5UUllfQlJPS0VOIj5YTUxfQ0FUQUxPR19FTlRSWV9CUk9LRU48L2E+ID0gMTY1MSAvKiAxNjUxICovCisgICAgPGEgbmFtZT0iWE1MX0NBVEFMT0dfUFJFRkVSX1ZBTFVFIj5YTUxfQ0FUQUxPR19QUkVGRVJfVkFMVUU8L2E+ID0gMTY1MiAvKiAxNjUyICovCisgICAgPGEgbmFtZT0iWE1MX0NBVEFMT0dfTk9UX0NBVEFMT0ciPlhNTF9DQVRBTE9HX05PVF9DQVRBTE9HPC9hPiA9IDE2NTMgLyogMTY1MyAqLworICAgIDxhIG5hbWU9IlhNTF9DQVRBTE9HX1JFQ1VSU0lPTiI+WE1MX0NBVEFMT0dfUkVDVVJTSU9OPC9hPiA9IDE2NTQgLyogMTY1NCAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX1BSRUZJWF9VTkRFRklORUQiPlhNTF9TQ0hFTUFQX1BSRUZJWF9VTkRFRklORUQ8L2E+ID0gMTcwMAorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX0FUVFJGT1JNREVGQVVMVF9WQUxVRSI+WE1MX1NDSEVNQVBfQVRUUkZPUk1ERUZBVUxUX1ZBTFVFPC9hPiA9IDE3MDEgLyogMTcwMSAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX0FUVFJHUlBfTk9OQU1FX05PUkVGIj5YTUxfU0NIRU1BUF9BVFRSR1JQX05PTkFNRV9OT1JFRjwvYT4gPSAxNzAyIC8qIDE3MDIgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9BVFRSX05PTkFNRV9OT1JFRiI+WE1MX1NDSEVNQVBfQVRUUl9OT05BTUVfTk9SRUY8L2E+ID0gMTcwMyAvKiAxNzAzICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfQ09NUExFWFRZUEVfTk9OQU1FX05PUkVGIj5YTUxfU0NIRU1BUF9DT01QTEVYVFlQRV9OT05BTUVfTk9SRUY8L2E+ID0gMTcwNCAvKiAxNzA0ICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfRUxFTUZPUk1ERUZBVUxUX1ZBTFVFIj5YTUxfU0NIRU1BUF9FTEVNRk9STURFRkFVTFRfVkFMVUU8L2E+ID0gMTcwNSAvKiAxNzA1ICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfRUxFTV9OT05BTUVfTk9SRUYiPlhNTF9TQ0hFTUFQX0VMRU1fTk9OQU1FX05PUkVGPC9hPiA9IDE3MDYgLyogMTcwNiAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX0VYVEVOU0lPTl9OT19CQVNFIj5YTUxfU0NIRU1BUF9FWFRFTlNJT05fTk9fQkFTRTwvYT4gPSAxNzA3IC8qIDE3MDcgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9GQUNFVF9OT19WQUxVRSI+WE1MX1NDSEVNQVBfRkFDRVRfTk9fVkFMVUU8L2E+ID0gMTcwOCAvKiAxNzA4ICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfRkFJTEVEX0JVSUxEX0lNUE9SVCI+WE1MX1NDSEVNQVBfRkFJTEVEX0JVSUxEX0lNUE9SVDwvYT4gPSAxNzA5IC8qIDE3MDkgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9HUk9VUF9OT05BTUVfTk9SRUYiPlhNTF9TQ0hFTUFQX0dST1VQX05PTkFNRV9OT1JFRjwvYT4gPSAxNzEwIC8qIDE3MTAgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9JTVBPUlRfTkFNRVNQQUNFX05PVF9VUkkiPlhNTF9TQ0hFTUFQX0lNUE9SVF9OQU1FU1BBQ0VfTk9UX1VSSTwvYT4gPSAxNzExIC8qIDE3MTEgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9JTVBPUlRfUkVERUZJTkVfTlNOQU1FIj5YTUxfU0NIRU1BUF9JTVBPUlRfUkVERUZJTkVfTlNOQU1FPC9hPiA9IDE3MTIgLyogMTcxMiAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX0lNUE9SVF9TQ0hFTUFfTk9UX1VSSSI+WE1MX1NDSEVNQVBfSU1QT1JUX1NDSEVNQV9OT1RfVVJJPC9hPiA9IDE3MTMgLyogMTcxMyAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX0lOVkFMSURfQk9PTEVBTiI+WE1MX1NDSEVNQVBfSU5WQUxJRF9CT09MRUFOPC9hPiA9IDE3MTQgLyogMTcxNCAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX0lOVkFMSURfRU5VTSI+WE1MX1NDSEVNQVBfSU5WQUxJRF9FTlVNPC9hPiA9IDE3MTUgLyogMTcxNSAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX0lOVkFMSURfRkFDRVQiPlhNTF9TQ0hFTUFQX0lOVkFMSURfRkFDRVQ8L2E+ID0gMTcxNiAvKiAxNzE2ICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfSU5WQUxJRF9GQUNFVF9WQUxVRSI+WE1MX1NDSEVNQVBfSU5WQUxJRF9GQUNFVF9WQUxVRTwvYT4gPSAxNzE3IC8qIDE3MTcgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9JTlZBTElEX01BWE9DQ1VSUyI+WE1MX1NDSEVNQVBfSU5WQUxJRF9NQVhPQ0NVUlM8L2E+ID0gMTcxOCAvKiAxNzE4ICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfSU5WQUxJRF9NSU5PQ0NVUlMiPlhNTF9TQ0hFTUFQX0lOVkFMSURfTUlOT0NDVVJTPC9hPiA9IDE3MTkgLyogMTcxOSAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX0lOVkFMSURfUkVGX0FORF9TVUJUWVBFIj5YTUxfU0NIRU1BUF9JTlZBTElEX1JFRl9BTkRfU1VCVFlQRTwvYT4gPSAxNzIwIC8qIDE3MjAgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9JTlZBTElEX1dISVRFX1NQQUNFIj5YTUxfU0NIRU1BUF9JTlZBTElEX1dISVRFX1NQQUNFPC9hPiA9IDE3MjEgLyogMTcyMSAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX05PQVRUUl9OT1JFRiI+WE1MX1NDSEVNQVBfTk9BVFRSX05PUkVGPC9hPiA9IDE3MjIgLyogMTcyMiAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX05PVEFUSU9OX05PX05BTUUiPlhNTF9TQ0hFTUFQX05PVEFUSU9OX05PX05BTUU8L2E+ID0gMTcyMyAvKiAxNzIzICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfTk9UWVBFX05PUkVGIj5YTUxfU0NIRU1BUF9OT1RZUEVfTk9SRUY8L2E+ID0gMTcyNCAvKiAxNzI0ICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfUkVGX0FORF9TVUJUWVBFIj5YTUxfU0NIRU1BUF9SRUZfQU5EX1NVQlRZUEU8L2E+ID0gMTcyNSAvKiAxNzI1ICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfUkVTVFJJQ1RJT05fTk9OQU1FX05PUkVGIj5YTUxfU0NIRU1BUF9SRVNUUklDVElPTl9OT05BTUVfTk9SRUY8L2E+ID0gMTcyNiAvKiAxNzI2ICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfU0lNUExFVFlQRV9OT05BTUUiPlhNTF9TQ0hFTUFQX1NJTVBMRVRZUEVfTk9OQU1FPC9hPiA9IDE3MjcgLyogMTcyNyAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX1RZUEVfQU5EX1NVQlRZUEUiPlhNTF9TQ0hFTUFQX1RZUEVfQU5EX1NVQlRZUEU8L2E+ID0gMTcyOCAvKiAxNzI4ICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfVU5LTk9XTl9BTExfQ0hJTEQiPlhNTF9TQ0hFTUFQX1VOS05PV05fQUxMX0NISUxEPC9hPiA9IDE3MjkgLyogMTcyOSAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX1VOS05PV05fQU5ZQVRUUklCVVRFX0NISUxEIj5YTUxfU0NIRU1BUF9VTktOT1dOX0FOWUFUVFJJQlVURV9DSElMRDwvYT4gPSAxNzMwIC8qIDE3MzAgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9VTktOT1dOX0FUVFJfQ0hJTEQiPlhNTF9TQ0hFTUFQX1VOS05PV05fQVRUUl9DSElMRDwvYT4gPSAxNzMxIC8qIDE3MzEgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9VTktOT1dOX0FUVFJHUlBfQ0hJTEQiPlhNTF9TQ0hFTUFQX1VOS05PV05fQVRUUkdSUF9DSElMRDwvYT4gPSAxNzMyIC8qIDE3MzIgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9VTktOT1dOX0FUVFJJQlVURV9HUk9VUCI+WE1MX1NDSEVNQVBfVU5LTk9XTl9BVFRSSUJVVEVfR1JPVVA8L2E+ID0gMTczMyAvKiAxNzMzICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfVU5LTk9XTl9CQVNFX1RZUEUiPlhNTF9TQ0hFTUFQX1VOS05PV05fQkFTRV9UWVBFPC9hPiA9IDE3MzQgLyogMTczNCAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX1VOS05PV05fQ0hPSUNFX0NISUxEIj5YTUxfU0NIRU1BUF9VTktOT1dOX0NIT0lDRV9DSElMRDwvYT4gPSAxNzM1IC8qIDE3MzUgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9VTktOT1dOX0NPTVBMRVhDT05URU5UX0NISUxEIj5YTUxfU0NIRU1BUF9VTktOT1dOX0NPTVBMRVhDT05URU5UX0NISUxEPC9hPiA9IDE3MzYgLyogMTczNiAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX1VOS05PV05fQ09NUExFWFRZUEVfQ0hJTEQiPlhNTF9TQ0hFTUFQX1VOS05PV05fQ09NUExFWFRZUEVfQ0hJTEQ8L2E+ID0gMTczNyAvKiAxNzM3ICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfVU5LTk9XTl9FTEVNX0NISUxEIj5YTUxfU0NIRU1BUF9VTktOT1dOX0VMRU1fQ0hJTEQ8L2E+ID0gMTczOCAvKiAxNzM4ICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfVU5LTk9XTl9FWFRFTlNJT05fQ0hJTEQiPlhNTF9TQ0hFTUFQX1VOS05PV05fRVhURU5TSU9OX0NISUxEPC9hPiA9IDE3MzkgLyogMTczOSAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX1VOS05PV05fRkFDRVRfQ0hJTEQiPlhNTF9TQ0hFTUFQX1VOS05PV05fRkFDRVRfQ0hJTEQ8L2E+ID0gMTc0MCAvKiAxNzQwICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfVU5LTk9XTl9GQUNFVF9UWVBFIj5YTUxfU0NIRU1BUF9VTktOT1dOX0ZBQ0VUX1RZUEU8L2E+ID0gMTc0MSAvKiAxNzQxICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfVU5LTk9XTl9HUk9VUF9DSElMRCI+WE1MX1NDSEVNQVBfVU5LTk9XTl9HUk9VUF9DSElMRDwvYT4gPSAxNzQyIC8qIDE3NDIgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9VTktOT1dOX0lNUE9SVF9DSElMRCI+WE1MX1NDSEVNQVBfVU5LTk9XTl9JTVBPUlRfQ0hJTEQ8L2E+ID0gMTc0MyAvKiAxNzQzICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfVU5LTk9XTl9MSVNUX0NISUxEIj5YTUxfU0NIRU1BUF9VTktOT1dOX0xJU1RfQ0hJTEQ8L2E+ID0gMTc0NCAvKiAxNzQ0ICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfVU5LTk9XTl9OT1RBVElPTl9DSElMRCI+WE1MX1NDSEVNQVBfVU5LTk9XTl9OT1RBVElPTl9DSElMRDwvYT4gPSAxNzQ1IC8qIDE3NDUgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9VTktOT1dOX1BST0NFU1NDT05URU5UX0NISUxEIj5YTUxfU0NIRU1BUF9VTktOT1dOX1BST0NFU1NDT05URU5UX0NISUxEPC9hPiA9IDE3NDYgLyogMTc0NiAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX1VOS05PV05fUkVGIj5YTUxfU0NIRU1BUF9VTktOT1dOX1JFRjwvYT4gPSAxNzQ3IC8qIDE3NDcgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9VTktOT1dOX1JFU1RSSUNUSU9OX0NISUxEIj5YTUxfU0NIRU1BUF9VTktOT1dOX1JFU1RSSUNUSU9OX0NISUxEPC9hPiA9IDE3NDggLyogMTc0OCAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX1VOS05PV05fU0NIRU1BU19DSElMRCI+WE1MX1NDSEVNQVBfVU5LTk9XTl9TQ0hFTUFTX0NISUxEPC9hPiA9IDE3NDkgLyogMTc0OSAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX1VOS05PV05fU0VRVUVOQ0VfQ0hJTEQiPlhNTF9TQ0hFTUFQX1VOS05PV05fU0VRVUVOQ0VfQ0hJTEQ8L2E+ID0gMTc1MCAvKiAxNzUwICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfVU5LTk9XTl9TSU1QTEVDT05URU5UX0NISUxEIj5YTUxfU0NIRU1BUF9VTktOT1dOX1NJTVBMRUNPTlRFTlRfQ0hJTEQ8L2E+ID0gMTc1MSAvKiAxNzUxICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfVU5LTk9XTl9TSU1QTEVUWVBFX0NISUxEIj5YTUxfU0NIRU1BUF9VTktOT1dOX1NJTVBMRVRZUEVfQ0hJTEQ8L2E+ID0gMTc1MiAvKiAxNzUyICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfVU5LTk9XTl9UWVBFIj5YTUxfU0NIRU1BUF9VTktOT1dOX1RZUEU8L2E+ID0gMTc1MyAvKiAxNzUzICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfVU5LTk9XTl9VTklPTl9DSElMRCI+WE1MX1NDSEVNQVBfVU5LTk9XTl9VTklPTl9DSElMRDwvYT4gPSAxNzU0IC8qIDE3NTQgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9FTEVNX0RFRkFVTFRfRklYRUQiPlhNTF9TQ0hFTUFQX0VMRU1fREVGQVVMVF9GSVhFRDwvYT4gPSAxNzU1IC8qIDE3NTUgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9SRUdFWFBfSU5WQUxJRCI+WE1MX1NDSEVNQVBfUkVHRVhQX0lOVkFMSUQ8L2E+ID0gMTc1NiAvKiAxNzU2ICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfRkFJTEVEX0xPQUQiPlhNTF9TQ0hFTUFQX0ZBSUxFRF9MT0FEPC9hPiA9IDE3NTcgLyogMTc1NyAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX05PVEhJTkdfVE9fUEFSU0UiPlhNTF9TQ0hFTUFQX05PVEhJTkdfVE9fUEFSU0U8L2E+ID0gMTc1OCAvKiAxNzU4ICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfTk9ST09UIj5YTUxfU0NIRU1BUF9OT1JPT1Q8L2E+ID0gMTc1OSAvKiAxNzU5ICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfUkVERUZJTkVEX0dST1VQIj5YTUxfU0NIRU1BUF9SRURFRklORURfR1JPVVA8L2E+ID0gMTc2MCAvKiAxNzYwICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfUkVERUZJTkVEX1RZUEUiPlhNTF9TQ0hFTUFQX1JFREVGSU5FRF9UWVBFPC9hPiA9IDE3NjEgLyogMTc2MSAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX1JFREVGSU5FRF9FTEVNRU5UIj5YTUxfU0NIRU1BUF9SRURFRklORURfRUxFTUVOVDwvYT4gPSAxNzYyIC8qIDE3NjIgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9SRURFRklORURfQVRUUkdST1VQIj5YTUxfU0NIRU1BUF9SRURFRklORURfQVRUUkdST1VQPC9hPiA9IDE3NjMgLyogMTc2MyAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX1JFREVGSU5FRF9BVFRSIj5YTUxfU0NIRU1BUF9SRURFRklORURfQVRUUjwvYT4gPSAxNzY0IC8qIDE3NjQgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9SRURFRklORURfTk9UQVRJT04iPlhNTF9TQ0hFTUFQX1JFREVGSU5FRF9OT1RBVElPTjwvYT4gPSAxNzY1IC8qIDE3NjUgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9GQUlMRURfUEFSU0UiPlhNTF9TQ0hFTUFQX0ZBSUxFRF9QQVJTRTwvYT4gPSAxNzY2IC8qIDE3NjYgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9VTktOT1dOX1BSRUZJWCI+WE1MX1NDSEVNQVBfVU5LTk9XTl9QUkVGSVg8L2E+ID0gMTc2NyAvKiAxNzY3ICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfREVGX0FORF9QUkVGSVgiPlhNTF9TQ0hFTUFQX0RFRl9BTkRfUFJFRklYPC9hPiA9IDE3NjggLyogMTc2OCAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX1VOS05PV05fSU5DTFVERV9DSElMRCI+WE1MX1NDSEVNQVBfVU5LTk9XTl9JTkNMVURFX0NISUxEPC9hPiA9IDE3NjkgLyogMTc2OSAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX0lOQ0xVREVfU0NIRU1BX05PVF9VUkkiPlhNTF9TQ0hFTUFQX0lOQ0xVREVfU0NIRU1BX05PVF9VUkk8L2E+ID0gMTc3MCAvKiAxNzcwICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfSU5DTFVERV9TQ0hFTUFfTk9fVVJJIj5YTUxfU0NIRU1BUF9JTkNMVURFX1NDSEVNQV9OT19VUkk8L2E+ID0gMTc3MSAvKiAxNzcxICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfTk9UX1NDSEVNQSI+WE1MX1NDSEVNQVBfTk9UX1NDSEVNQTwvYT4gPSAxNzcyIC8qIDE3NzIgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9VTktOT1dOX01FTUJFUl9UWVBFIj5YTUxfU0NIRU1BUF9VTktOT1dOX01FTUJFUl9UWVBFPC9hPiA9IDE3NzMgLyogMTc3MyAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX0lOVkFMSURfQVRUUl9VU0UiPlhNTF9TQ0hFTUFQX0lOVkFMSURfQVRUUl9VU0U8L2E+ID0gMTc3NCAvKiAxNzc0ICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfUkVDVVJTSVZFIj5YTUxfU0NIRU1BUF9SRUNVUlNJVkU8L2E+ID0gMTc3NSAvKiAxNzc1ICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfU1VQRVJOVU1FUk9VU19MSVNUX0lURU1fVFlQRSI+WE1MX1NDSEVNQVBfU1VQRVJOVU1FUk9VU19MSVNUX0lURU1fVFlQRTwvYT4gPSAxNzc2IC8qIDE3NzYgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9JTlZBTElEX0FUVFJfQ09NQklOQVRJT04iPlhNTF9TQ0hFTUFQX0lOVkFMSURfQVRUUl9DT01CSU5BVElPTjwvYT4gPSAxNzc3IC8qIDE3NzcgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9JTlZBTElEX0FUVFJfSU5MSU5FX0NPTUJJTkFUSU9OIj5YTUxfU0NIRU1BUF9JTlZBTElEX0FUVFJfSU5MSU5FX0NPTUJJTkFUSU9OPC9hPiA9IDE3NzggLyogMTc3OCAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX01JU1NJTkdfU0lNUExFVFlQRV9DSElMRCI+WE1MX1NDSEVNQVBfTUlTU0lOR19TSU1QTEVUWVBFX0NISUxEPC9hPiA9IDE3NzkgLyogMTc3OSAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX0lOVkFMSURfQVRUUl9OQU1FIj5YTUxfU0NIRU1BUF9JTlZBTElEX0FUVFJfTkFNRTwvYT4gPSAxNzgwIC8qIDE3ODAgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9SRUZfQU5EX0NPTlRFTlQiPlhNTF9TQ0hFTUFQX1JFRl9BTkRfQ09OVEVOVDwvYT4gPSAxNzgxIC8qIDE3ODEgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9DVF9QUk9QU19DT1JSRUNUXzEiPlhNTF9TQ0hFTUFQX0NUX1BST1BTX0NPUlJFQ1RfMTwvYT4gPSAxNzgyIC8qIDE3ODIgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9DVF9QUk9QU19DT1JSRUNUXzIiPlhNTF9TQ0hFTUFQX0NUX1BST1BTX0NPUlJFQ1RfMjwvYT4gPSAxNzgzIC8qIDE3ODMgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9DVF9QUk9QU19DT1JSRUNUXzMiPlhNTF9TQ0hFTUFQX0NUX1BST1BTX0NPUlJFQ1RfMzwvYT4gPSAxNzg0IC8qIDE3ODQgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9DVF9QUk9QU19DT1JSRUNUXzQiPlhNTF9TQ0hFTUFQX0NUX1BST1BTX0NPUlJFQ1RfNDwvYT4gPSAxNzg1IC8qIDE3ODUgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9DVF9QUk9QU19DT1JSRUNUXzUiPlhNTF9TQ0hFTUFQX0NUX1BST1BTX0NPUlJFQ1RfNTwvYT4gPSAxNzg2IC8qIDE3ODYgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzEiPlhNTF9TQ0hFTUFQX0RFUklWQVRJT05fT0tfUkVTVFJJQ1RJT05fMTwvYT4gPSAxNzg3IC8qIDE3ODcgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzJfMV8xIj5YTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzJfMV8xPC9hPiA9IDE3ODggLyogMTc4OCAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX0RFUklWQVRJT05fT0tfUkVTVFJJQ1RJT05fMl8xXzIiPlhNTF9TQ0hFTUFQX0RFUklWQVRJT05fT0tfUkVTVFJJQ1RJT05fMl8xXzI8L2E+ID0gMTc4OSAvKiAxNzg5ICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfREVSSVZBVElPTl9PS19SRVNUUklDVElPTl8yXzIiPlhNTF9TQ0hFTUFQX0RFUklWQVRJT05fT0tfUkVTVFJJQ1RJT05fMl8yPC9hPiA9IDE3OTAgLyogMTc5MCAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX0RFUklWQVRJT05fT0tfUkVTVFJJQ1RJT05fMyI+WE1MX1NDSEVNQVBfREVSSVZBVElPTl9PS19SRVNUUklDVElPTl8zPC9hPiA9IDE3OTEgLyogMTc5MSAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX1dJTERDQVJEX0lOVkFMSURfTlNfTUVNQkVSIj5YTUxfU0NIRU1BUF9XSUxEQ0FSRF9JTlZBTElEX05TX01FTUJFUjwvYT4gPSAxNzkyIC8qIDE3OTIgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9JTlRFUlNFQ1RJT05fTk9UX0VYUFJFU1NJQkxFIj5YTUxfU0NIRU1BUF9JTlRFUlNFQ1RJT05fTk9UX0VYUFJFU1NJQkxFPC9hPiA9IDE3OTMgLyogMTc5MyAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX1VOSU9OX05PVF9FWFBSRVNTSUJMRSI+WE1MX1NDSEVNQVBfVU5JT05fTk9UX0VYUFJFU1NJQkxFPC9hPiA9IDE3OTQgLyogMTc5NCAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX1NSQ19JTVBPUlRfM18xIj5YTUxfU0NIRU1BUF9TUkNfSU1QT1JUXzNfMTwvYT4gPSAxNzk1IC8qIDE3OTUgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9TUkNfSU1QT1JUXzNfMiI+WE1MX1NDSEVNQVBfU1JDX0lNUE9SVF8zXzI8L2E+ID0gMTc5NiAvKiAxNzk2ICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfREVSSVZBVElPTl9PS19SRVNUUklDVElPTl80XzEiPlhNTF9TQ0hFTUFQX0RFUklWQVRJT05fT0tfUkVTVFJJQ1RJT05fNF8xPC9hPiA9IDE3OTcgLyogMTc5NyAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX0RFUklWQVRJT05fT0tfUkVTVFJJQ1RJT05fNF8yIj5YTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzRfMjwvYT4gPSAxNzk4IC8qIDE3OTggKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzRfMyI+WE1MX1NDSEVNQVBfREVSSVZBVElPTl9PS19SRVNUUklDVElPTl80XzM8L2E+ID0gMTc5OSAvKiAxNzk5ICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfQ09TX0NUX0VYVEVORFNfMV8zIj5YTUxfU0NIRU1BUF9DT1NfQ1RfRVhURU5EU18xXzM8L2E+ID0gMTgwMCAvKiAxODAwICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVZfTk9ST09UIj5YTUxfU0NIRU1BVl9OT1JPT1Q8L2E+ID0gMTgwMQorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFWX1VOREVDTEFSRURFTEVNIj5YTUxfU0NIRU1BVl9VTkRFQ0xBUkVERUxFTTwvYT4gPSAxODAyIC8qIDE4MDIgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BVl9OT1RUT1BMRVZFTCI+WE1MX1NDSEVNQVZfTk9UVE9QTEVWRUw8L2E+ID0gMTgwMyAvKiAxODAzICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVZfTUlTU0lORyI+WE1MX1NDSEVNQVZfTUlTU0lORzwvYT4gPSAxODA0IC8qIDE4MDQgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BVl9XUk9OR0VMRU0iPlhNTF9TQ0hFTUFWX1dST05HRUxFTTwvYT4gPSAxODA1IC8qIDE4MDUgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BVl9OT1RZUEUiPlhNTF9TQ0hFTUFWX05PVFlQRTwvYT4gPSAxODA2IC8qIDE4MDYgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BVl9OT1JPTExCQUNLIj5YTUxfU0NIRU1BVl9OT1JPTExCQUNLPC9hPiA9IDE4MDcgLyogMTgwNyAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFWX0lTQUJTVFJBQ1QiPlhNTF9TQ0hFTUFWX0lTQUJTVFJBQ1Q8L2E+ID0gMTgwOCAvKiAxODA4ICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVZfTk9URU1QVFkiPlhNTF9TQ0hFTUFWX05PVEVNUFRZPC9hPiA9IDE4MDkgLyogMTgwOSAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFWX0VMRU1DT05UIj5YTUxfU0NIRU1BVl9FTEVNQ09OVDwvYT4gPSAxODEwIC8qIDE4MTAgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BVl9IQVZFREVGQVVMVCI+WE1MX1NDSEVNQVZfSEFWRURFRkFVTFQ8L2E+ID0gMTgxMSAvKiAxODExICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVZfTk9UTklMTEFCTEUiPlhNTF9TQ0hFTUFWX05PVE5JTExBQkxFPC9hPiA9IDE4MTIgLyogMTgxMiAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFWX0VYVFJBQ09OVEVOVCI+WE1MX1NDSEVNQVZfRVhUUkFDT05URU5UPC9hPiA9IDE4MTMgLyogMTgxMyAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFWX0lOVkFMSURBVFRSIj5YTUxfU0NIRU1BVl9JTlZBTElEQVRUUjwvYT4gPSAxODE0IC8qIDE4MTQgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BVl9JTlZBTElERUxFTSI+WE1MX1NDSEVNQVZfSU5WQUxJREVMRU08L2E+ID0gMTgxNSAvKiAxODE1ICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVZfTk9UREVURVJNSU5JU1QiPlhNTF9TQ0hFTUFWX05PVERFVEVSTUlOSVNUPC9hPiA9IDE4MTYgLyogMTgxNiAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFWX0NPTlNUUlVDVCI+WE1MX1NDSEVNQVZfQ09OU1RSVUNUPC9hPiA9IDE4MTcgLyogMTgxNyAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFWX0lOVEVSTkFMIj5YTUxfU0NIRU1BVl9JTlRFUk5BTDwvYT4gPSAxODE4IC8qIDE4MTggKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BVl9OT1RTSU1QTEUiPlhNTF9TQ0hFTUFWX05PVFNJTVBMRTwvYT4gPSAxODE5IC8qIDE4MTkgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BVl9BVFRSVU5LTk9XTiI+WE1MX1NDSEVNQVZfQVRUUlVOS05PV048L2E+ID0gMTgyMCAvKiAxODIwICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVZfQVRUUklOVkFMSUQiPlhNTF9TQ0hFTUFWX0FUVFJJTlZBTElEPC9hPiA9IDE4MjEgLyogMTgyMSAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFWX1ZBTFVFIj5YTUxfU0NIRU1BVl9WQUxVRTwvYT4gPSAxODIyIC8qIDE4MjIgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BVl9GQUNFVCI+WE1MX1NDSEVNQVZfRkFDRVQ8L2E+ID0gMTgyMyAvKiAxODIzICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVZfQ1ZDX0RBVEFUWVBFX1ZBTElEXzFfMl8xIj5YTUxfU0NIRU1BVl9DVkNfREFUQVRZUEVfVkFMSURfMV8yXzE8L2E+ID0gMTgyNCAvKiAxODI0ICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVZfQ1ZDX0RBVEFUWVBFX1ZBTElEXzFfMl8yIj5YTUxfU0NIRU1BVl9DVkNfREFUQVRZUEVfVkFMSURfMV8yXzI8L2E+ID0gMTgyNSAvKiAxODI1ICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVZfQ1ZDX0RBVEFUWVBFX1ZBTElEXzFfMl8zIj5YTUxfU0NIRU1BVl9DVkNfREFUQVRZUEVfVkFMSURfMV8yXzM8L2E+ID0gMTgyNiAvKiAxODI2ICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVZfQ1ZDX1RZUEVfM18xXzEiPlhNTF9TQ0hFTUFWX0NWQ19UWVBFXzNfMV8xPC9hPiA9IDE4MjcgLyogMTgyNyAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFWX0NWQ19UWVBFXzNfMV8yIj5YTUxfU0NIRU1BVl9DVkNfVFlQRV8zXzFfMjwvYT4gPSAxODI4IC8qIDE4MjggKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BVl9DVkNfRkFDRVRfVkFMSUQiPlhNTF9TQ0hFTUFWX0NWQ19GQUNFVF9WQUxJRDwvYT4gPSAxODI5IC8qIDE4MjkgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BVl9DVkNfTEVOR1RIX1ZBTElEIj5YTUxfU0NIRU1BVl9DVkNfTEVOR1RIX1ZBTElEPC9hPiA9IDE4MzAgLyogMTgzMCAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFWX0NWQ19NSU5MRU5HVEhfVkFMSUQiPlhNTF9TQ0hFTUFWX0NWQ19NSU5MRU5HVEhfVkFMSUQ8L2E+ID0gMTgzMSAvKiAxODMxICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVZfQ1ZDX01BWExFTkdUSF9WQUxJRCI+WE1MX1NDSEVNQVZfQ1ZDX01BWExFTkdUSF9WQUxJRDwvYT4gPSAxODMyIC8qIDE4MzIgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BVl9DVkNfTUlOSU5DTFVTSVZFX1ZBTElEIj5YTUxfU0NIRU1BVl9DVkNfTUlOSU5DTFVTSVZFX1ZBTElEPC9hPiA9IDE4MzMgLyogMTgzMyAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFWX0NWQ19NQVhJTkNMVVNJVkVfVkFMSUQiPlhNTF9TQ0hFTUFWX0NWQ19NQVhJTkNMVVNJVkVfVkFMSUQ8L2E+ID0gMTgzNCAvKiAxODM0ICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVZfQ1ZDX01JTkVYQ0xVU0lWRV9WQUxJRCI+WE1MX1NDSEVNQVZfQ1ZDX01JTkVYQ0xVU0lWRV9WQUxJRDwvYT4gPSAxODM1IC8qIDE4MzUgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BVl9DVkNfTUFYRVhDTFVTSVZFX1ZBTElEIj5YTUxfU0NIRU1BVl9DVkNfTUFYRVhDTFVTSVZFX1ZBTElEPC9hPiA9IDE4MzYgLyogMTgzNiAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFWX0NWQ19UT1RBTERJR0lUU19WQUxJRCI+WE1MX1NDSEVNQVZfQ1ZDX1RPVEFMRElHSVRTX1ZBTElEPC9hPiA9IDE4MzcgLyogMTgzNyAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFWX0NWQ19GUkFDVElPTkRJR0lUU19WQUxJRCI+WE1MX1NDSEVNQVZfQ1ZDX0ZSQUNUSU9ORElHSVRTX1ZBTElEPC9hPiA9IDE4MzggLyogMTgzOCAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFWX0NWQ19QQVRURVJOX1ZBTElEIj5YTUxfU0NIRU1BVl9DVkNfUEFUVEVSTl9WQUxJRDwvYT4gPSAxODM5IC8qIDE4MzkgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BVl9DVkNfRU5VTUVSQVRJT05fVkFMSUQiPlhNTF9TQ0hFTUFWX0NWQ19FTlVNRVJBVElPTl9WQUxJRDwvYT4gPSAxODQwIC8qIDE4NDAgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzJfMSI+WE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV8yXzE8L2E+ID0gMTg0MSAvKiAxODQxICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV8yXzIiPlhNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfMl8yPC9hPiA9IDE4NDIgLyogMTg0MiAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfMl8zIj5YTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzJfMzwvYT4gPSAxODQzIC8qIDE4NDMgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzJfNCI+WE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV8yXzQ8L2E+ID0gMTg0NCAvKiAxODQ0ICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVZfQ1ZDX0VMVF8xIj5YTUxfU0NIRU1BVl9DVkNfRUxUXzE8L2E+ID0gMTg0NSAvKiAxODQ1ICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVZfQ1ZDX0VMVF8yIj5YTUxfU0NIRU1BVl9DVkNfRUxUXzI8L2E+ID0gMTg0NiAvKiAxODQ2ICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVZfQ1ZDX0VMVF8zXzEiPlhNTF9TQ0hFTUFWX0NWQ19FTFRfM18xPC9hPiA9IDE4NDcgLyogMTg0NyAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFWX0NWQ19FTFRfM18yXzEiPlhNTF9TQ0hFTUFWX0NWQ19FTFRfM18yXzE8L2E+ID0gMTg0OCAvKiAxODQ4ICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVZfQ1ZDX0VMVF8zXzJfMiI+WE1MX1NDSEVNQVZfQ1ZDX0VMVF8zXzJfMjwvYT4gPSAxODQ5IC8qIDE4NDkgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BVl9DVkNfRUxUXzRfMSI+WE1MX1NDSEVNQVZfQ1ZDX0VMVF80XzE8L2E+ID0gMTg1MCAvKiAxODUwICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVZfQ1ZDX0VMVF80XzIiPlhNTF9TQ0hFTUFWX0NWQ19FTFRfNF8yPC9hPiA9IDE4NTEgLyogMTg1MSAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFWX0NWQ19FTFRfNF8zIj5YTUxfU0NIRU1BVl9DVkNfRUxUXzRfMzwvYT4gPSAxODUyIC8qIDE4NTIgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BVl9DVkNfRUxUXzVfMV8xIj5YTUxfU0NIRU1BVl9DVkNfRUxUXzVfMV8xPC9hPiA9IDE4NTMgLyogMTg1MyAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFWX0NWQ19FTFRfNV8xXzIiPlhNTF9TQ0hFTUFWX0NWQ19FTFRfNV8xXzI8L2E+ID0gMTg1NCAvKiAxODU0ICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVZfQ1ZDX0VMVF81XzJfMSI+WE1MX1NDSEVNQVZfQ1ZDX0VMVF81XzJfMTwvYT4gPSAxODU1IC8qIDE4NTUgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BVl9DVkNfRUxUXzVfMl8yXzEiPlhNTF9TQ0hFTUFWX0NWQ19FTFRfNV8yXzJfMTwvYT4gPSAxODU2IC8qIDE4NTYgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BVl9DVkNfRUxUXzVfMl8yXzJfMSI+WE1MX1NDSEVNQVZfQ1ZDX0VMVF81XzJfMl8yXzE8L2E+ID0gMTg1NyAvKiAxODU3ICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVZfQ1ZDX0VMVF81XzJfMl8yXzIiPlhNTF9TQ0hFTUFWX0NWQ19FTFRfNV8yXzJfMl8yPC9hPiA9IDE4NTggLyogMTg1OCAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFWX0NWQ19FTFRfNiI+WE1MX1NDSEVNQVZfQ1ZDX0VMVF82PC9hPiA9IDE4NTkgLyogMTg1OSAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFWX0NWQ19FTFRfNyI+WE1MX1NDSEVNQVZfQ1ZDX0VMVF83PC9hPiA9IDE4NjAgLyogMTg2MCAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFWX0NWQ19BVFRSSUJVVEVfMSI+WE1MX1NDSEVNQVZfQ1ZDX0FUVFJJQlVURV8xPC9hPiA9IDE4NjEgLyogMTg2MSAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFWX0NWQ19BVFRSSUJVVEVfMiI+WE1MX1NDSEVNQVZfQ1ZDX0FUVFJJQlVURV8yPC9hPiA9IDE4NjIgLyogMTg2MiAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFWX0NWQ19BVFRSSUJVVEVfMyI+WE1MX1NDSEVNQVZfQ1ZDX0FUVFJJQlVURV8zPC9hPiA9IDE4NjMgLyogMTg2MyAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFWX0NWQ19BVFRSSUJVVEVfNCI+WE1MX1NDSEVNQVZfQ1ZDX0FUVFJJQlVURV80PC9hPiA9IDE4NjQgLyogMTg2NCAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfM18xIj5YTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzNfMTwvYT4gPSAxODY1IC8qIDE4NjUgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzNfMl8xIj5YTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzNfMl8xPC9hPiA9IDE4NjYgLyogMTg2NiAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfM18yXzIiPlhNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfM18yXzI8L2E+ID0gMTg2NyAvKiAxODY3ICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV80Ij5YTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzQ8L2E+ID0gMTg2OCAvKiAxODY4ICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV81XzEiPlhNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfNV8xPC9hPiA9IDE4NjkgLyogMTg2OSAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfNV8yIj5YTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzVfMjwvYT4gPSAxODcwIC8qIDE4NzAgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BVl9FTEVNRU5UX0NPTlRFTlQiPlhNTF9TQ0hFTUFWX0VMRU1FTlRfQ09OVEVOVDwvYT4gPSAxODcxIC8qIDE4NzEgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BVl9ET0NVTUVOVF9FTEVNRU5UX01JU1NJTkciPlhNTF9TQ0hFTUFWX0RPQ1VNRU5UX0VMRU1FTlRfTUlTU0lORzwvYT4gPSAxODcyIC8qIDE4NzIgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzEiPlhNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfMTwvYT4gPSAxODczIC8qIDE4NzMgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BVl9DVkNfQVUiPlhNTF9TQ0hFTUFWX0NWQ19BVTwvYT4gPSAxODc0IC8qIDE4NzQgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BVl9DVkNfVFlQRV8xIj5YTUxfU0NIRU1BVl9DVkNfVFlQRV8xPC9hPiA9IDE4NzUgLyogMTg3NSAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFWX0NWQ19UWVBFXzIiPlhNTF9TQ0hFTUFWX0NWQ19UWVBFXzI8L2E+ID0gMTg3NiAvKiAxODc2ICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVZfQ1ZDX0lEQyI+WE1MX1NDSEVNQVZfQ1ZDX0lEQzwvYT4gPSAxODc3IC8qIDE4NzcgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BVl9DVkNfV0lMRENBUkQiPlhNTF9TQ0hFTUFWX0NWQ19XSUxEQ0FSRDwvYT4gPSAxODc4IC8qIDE4NzggKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BVl9NSVNDIj5YTUxfU0NIRU1BVl9NSVNDPC9hPiA9IDE4NzkgLyogMTg3OSAqLworICAgIDxhIG5hbWU9IlhNTF9YUFRSX1VOS05PV05fU0NIRU1FIj5YTUxfWFBUUl9VTktOT1dOX1NDSEVNRTwvYT4gPSAxOTAwCisgICAgPGEgbmFtZT0iWE1MX1hQVFJfQ0hJTERTRVFfU1RBUlQiPlhNTF9YUFRSX0NISUxEU0VRX1NUQVJUPC9hPiA9IDE5MDEgLyogMTkwMSAqLworICAgIDxhIG5hbWU9IlhNTF9YUFRSX0VWQUxfRkFJTEVEIj5YTUxfWFBUUl9FVkFMX0ZBSUxFRDwvYT4gPSAxOTAyIC8qIDE5MDIgKi8KKyAgICA8YSBuYW1lPSJYTUxfWFBUUl9FWFRSQV9PQkpFQ1RTIj5YTUxfWFBUUl9FWFRSQV9PQkpFQ1RTPC9hPiA9IDE5MDMgLyogMTkwMyAqLworICAgIDxhIG5hbWU9IlhNTF9DMTROX0NSRUFURV9DVFhUIj5YTUxfQzE0Tl9DUkVBVEVfQ1RYVDwvYT4gPSAxOTUwCisgICAgPGEgbmFtZT0iWE1MX0MxNE5fUkVRVUlSRVNfVVRGOCI+WE1MX0MxNE5fUkVRVUlSRVNfVVRGODwvYT4gPSAxOTUxIC8qIDE5NTEgKi8KKyAgICA8YSBuYW1lPSJYTUxfQzE0Tl9DUkVBVEVfU1RBQ0siPlhNTF9DMTROX0NSRUFURV9TVEFDSzwvYT4gPSAxOTUyIC8qIDE5NTIgKi8KKyAgICA8YSBuYW1lPSJYTUxfQzE0Tl9JTlZBTElEX05PREUiPlhNTF9DMTROX0lOVkFMSURfTk9ERTwvYT4gPSAxOTUzIC8qIDE5NTMgKi8KKyAgICA8YSBuYW1lPSJYTUxfQzE0Tl9VTktOT1dfTk9ERSI+WE1MX0MxNE5fVU5LTk9XX05PREU8L2E+ID0gMTk1NCAvKiAxOTU0ICovCisgICAgPGEgbmFtZT0iWE1MX0MxNE5fUkVMQVRJVkVfTkFNRVNQQUNFIj5YTUxfQzE0Tl9SRUxBVElWRV9OQU1FU1BBQ0U8L2E+ID0gMTk1NSAvKiAxOTU1ICovCisgICAgPGEgbmFtZT0iWE1MX0ZUUF9QQVNWX0FOU1dFUiI+WE1MX0ZUUF9QQVNWX0FOU1dFUjwvYT4gPSAyMDAwCisgICAgPGEgbmFtZT0iWE1MX0ZUUF9FUFNWX0FOU1dFUiI+WE1MX0ZUUF9FUFNWX0FOU1dFUjwvYT4gPSAyMDAxIC8qIDIwMDEgKi8KKyAgICA8YSBuYW1lPSJYTUxfRlRQX0FDQ05UIj5YTUxfRlRQX0FDQ05UPC9hPiA9IDIwMDIgLyogMjAwMiAqLworICAgIDxhIG5hbWU9IlhNTF9GVFBfVVJMX1NZTlRBWCI+WE1MX0ZUUF9VUkxfU1lOVEFYPC9hPiA9IDIwMDMgLyogMjAwMyAqLworICAgIDxhIG5hbWU9IlhNTF9IVFRQX1VSTF9TWU5UQVgiPlhNTF9IVFRQX1VSTF9TWU5UQVg8L2E+ID0gMjAyMAorICAgIDxhIG5hbWU9IlhNTF9IVFRQX1VTRV9JUCI+WE1MX0hUVFBfVVNFX0lQPC9hPiA9IDIwMjEgLyogMjAyMSAqLworICAgIDxhIG5hbWU9IlhNTF9IVFRQX1VOS05PV05fSE9TVCI+WE1MX0hUVFBfVU5LTk9XTl9IT1NUPC9hPiA9IDIwMjIgLyogMjAyMiAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX1NSQ19TSU1QTEVfVFlQRV8xIj5YTUxfU0NIRU1BUF9TUkNfU0lNUExFX1RZUEVfMTwvYT4gPSAzMDAwCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfU1JDX1NJTVBMRV9UWVBFXzIiPlhNTF9TQ0hFTUFQX1NSQ19TSU1QTEVfVFlQRV8yPC9hPiA9IDMwMDEgLyogMzAwMSAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX1NSQ19TSU1QTEVfVFlQRV8zIj5YTUxfU0NIRU1BUF9TUkNfU0lNUExFX1RZUEVfMzwvYT4gPSAzMDAyIC8qIDMwMDIgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9TUkNfU0lNUExFX1RZUEVfNCI+WE1MX1NDSEVNQVBfU1JDX1NJTVBMRV9UWVBFXzQ8L2E+ID0gMzAwMyAvKiAzMDAzICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfU1JDX1JFU09MVkUiPlhNTF9TQ0hFTUFQX1NSQ19SRVNPTFZFPC9hPiA9IDMwMDQgLyogMzAwNCAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX1NSQ19SRVNUUklDVElPTl9CQVNFX09SX1NJTVBMRVRZUEUiPlhNTF9TQ0hFTUFQX1NSQ19SRVNUUklDVElPTl9CQVNFX09SX1NJTVBMRVRZUEU8L2E+ID0gMzAwNSAvKiAzMDA1ICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfU1JDX0xJU1RfSVRFTVRZUEVfT1JfU0lNUExFVFlQRSI+WE1MX1NDSEVNQVBfU1JDX0xJU1RfSVRFTVRZUEVfT1JfU0lNUExFVFlQRTwvYT4gPSAzMDA2IC8qIDMwMDYgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9TUkNfVU5JT05fTUVNQkVSVFlQRVNfT1JfU0lNUExFVFlQRVMiPlhNTF9TQ0hFTUFQX1NSQ19VTklPTl9NRU1CRVJUWVBFU19PUl9TSU1QTEVUWVBFUzwvYT4gPSAzMDA3IC8qIDMwMDcgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9TVF9QUk9QU19DT1JSRUNUXzEiPlhNTF9TQ0hFTUFQX1NUX1BST1BTX0NPUlJFQ1RfMTwvYT4gPSAzMDA4IC8qIDMwMDggKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9TVF9QUk9QU19DT1JSRUNUXzIiPlhNTF9TQ0hFTUFQX1NUX1BST1BTX0NPUlJFQ1RfMjwvYT4gPSAzMDA5IC8qIDMwMDkgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9TVF9QUk9QU19DT1JSRUNUXzMiPlhNTF9TQ0hFTUFQX1NUX1BST1BTX0NPUlJFQ1RfMzwvYT4gPSAzMDEwIC8qIDMwMTAgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzFfMSI+WE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18xXzE8L2E+ID0gMzAxMSAvKiAzMDExICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18xXzIiPlhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMV8yPC9hPiA9IDMwMTIgLyogMzAxMiAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMV8zXzEiPlhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMV8zXzE8L2E+ID0gMzAxMyAvKiAzMDEzICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18xXzNfMiI+WE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18xXzNfMjwvYT4gPSAzMDE0IC8qIDMwMTQgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzJfMSI+WE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzE8L2E+ID0gMzAxNSAvKiAzMDE1ICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzNfMV8xIj5YTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzJfM18xXzE8L2E+ID0gMzAxNiAvKiAzMDE2ICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzNfMV8yIj5YTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzJfM18xXzI8L2E+ID0gMzAxNyAvKiAzMDE3ICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzNfMl8xIj5YTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzJfM18yXzE8L2E+ID0gMzAxOCAvKiAzMDE4ICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzNfMl8yIj5YTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzJfM18yXzI8L2E+ID0gMzAxOSAvKiAzMDE5ICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzNfMl8zIj5YTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzJfM18yXzM8L2E+ID0gMzAyMCAvKiAzMDIwICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzNfMl80Ij5YTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzJfM18yXzQ8L2E+ID0gMzAyMSAvKiAzMDIxICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzNfMl81Ij5YTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzJfM18yXzU8L2E+ID0gMzAyMiAvKiAzMDIyICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzEiPlhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfM18xPC9hPiA9IDMwMjMgLyogMzAyMyAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfM18zXzEiPlhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfM18zXzE8L2E+ID0gMzAyNCAvKiAzMDI0ICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzNfMV8yIj5YTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzNfM18xXzI8L2E+ID0gMzAyNSAvKiAzMDI1ICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzNfMl8yIj5YTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzNfM18yXzI8L2E+ID0gMzAyNiAvKiAzMDI2ICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzNfMl8xIj5YTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzNfM18yXzE8L2E+ID0gMzAyNyAvKiAzMDI3ICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzNfMl8zIj5YTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzNfM18yXzM8L2E+ID0gMzAyOCAvKiAzMDI4ICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzNfMl80Ij5YTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzNfM18yXzQ8L2E+ID0gMzAyOSAvKiAzMDI5ICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzNfMl81Ij5YTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzNfM18yXzU8L2E+ID0gMzAzMCAvKiAzMDMwICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfQ09TX1NUX0RFUklWRURfT0tfMl8xIj5YTUxfU0NIRU1BUF9DT1NfU1RfREVSSVZFRF9PS18yXzE8L2E+ID0gMzAzMSAvKiAzMDMxICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfQ09TX1NUX0RFUklWRURfT0tfMl8yIj5YTUxfU0NIRU1BUF9DT1NfU1RfREVSSVZFRF9PS18yXzI8L2E+ID0gMzAzMiAvKiAzMDMyICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfUzRTX0VMRU1fTk9UX0FMTE9XRUQiPlhNTF9TQ0hFTUFQX1M0U19FTEVNX05PVF9BTExPV0VEPC9hPiA9IDMwMzMgLyogMzAzMyAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX1M0U19FTEVNX01JU1NJTkciPlhNTF9TQ0hFTUFQX1M0U19FTEVNX01JU1NJTkc8L2E+ID0gMzAzNCAvKiAzMDM0ICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfUzRTX0FUVFJfTk9UX0FMTE9XRUQiPlhNTF9TQ0hFTUFQX1M0U19BVFRSX05PVF9BTExPV0VEPC9hPiA9IDMwMzUgLyogMzAzNSAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX1M0U19BVFRSX01JU1NJTkciPlhNTF9TQ0hFTUFQX1M0U19BVFRSX01JU1NJTkc8L2E+ID0gMzAzNiAvKiAzMDM2ICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfUzRTX0FUVFJfSU5WQUxJRF9WQUxVRSI+WE1MX1NDSEVNQVBfUzRTX0FUVFJfSU5WQUxJRF9WQUxVRTwvYT4gPSAzMDM3IC8qIDMwMzcgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9TUkNfRUxFTUVOVF8xIj5YTUxfU0NIRU1BUF9TUkNfRUxFTUVOVF8xPC9hPiA9IDMwMzggLyogMzAzOCAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX1NSQ19FTEVNRU5UXzJfMSI+WE1MX1NDSEVNQVBfU1JDX0VMRU1FTlRfMl8xPC9hPiA9IDMwMzkgLyogMzAzOSAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX1NSQ19FTEVNRU5UXzJfMiI+WE1MX1NDSEVNQVBfU1JDX0VMRU1FTlRfMl8yPC9hPiA9IDMwNDAgLyogMzA0MCAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX1NSQ19FTEVNRU5UXzMiPlhNTF9TQ0hFTUFQX1NSQ19FTEVNRU5UXzM8L2E+ID0gMzA0MSAvKiAzMDQxICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfUF9QUk9QU19DT1JSRUNUXzEiPlhNTF9TQ0hFTUFQX1BfUFJPUFNfQ09SUkVDVF8xPC9hPiA9IDMwNDIgLyogMzA0MiAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX1BfUFJPUFNfQ09SUkVDVF8yXzEiPlhNTF9TQ0hFTUFQX1BfUFJPUFNfQ09SUkVDVF8yXzE8L2E+ID0gMzA0MyAvKiAzMDQzICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfUF9QUk9QU19DT1JSRUNUXzJfMiI+WE1MX1NDSEVNQVBfUF9QUk9QU19DT1JSRUNUXzJfMjwvYT4gPSAzMDQ0IC8qIDMwNDQgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9FX1BST1BTX0NPUlJFQ1RfMiI+WE1MX1NDSEVNQVBfRV9QUk9QU19DT1JSRUNUXzI8L2E+ID0gMzA0NSAvKiAzMDQ1ICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfRV9QUk9QU19DT1JSRUNUXzMiPlhNTF9TQ0hFTUFQX0VfUFJPUFNfQ09SUkVDVF8zPC9hPiA9IDMwNDYgLyogMzA0NiAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX0VfUFJPUFNfQ09SUkVDVF80Ij5YTUxfU0NIRU1BUF9FX1BST1BTX0NPUlJFQ1RfNDwvYT4gPSAzMDQ3IC8qIDMwNDcgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9FX1BST1BTX0NPUlJFQ1RfNSI+WE1MX1NDSEVNQVBfRV9QUk9QU19DT1JSRUNUXzU8L2E+ID0gMzA0OCAvKiAzMDQ4ICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfRV9QUk9QU19DT1JSRUNUXzYiPlhNTF9TQ0hFTUFQX0VfUFJPUFNfQ09SUkVDVF82PC9hPiA9IDMwNDkgLyogMzA0OSAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX1NSQ19JTkNMVURFIj5YTUxfU0NIRU1BUF9TUkNfSU5DTFVERTwvYT4gPSAzMDUwIC8qIDMwNTAgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9TUkNfQVRUUklCVVRFXzEiPlhNTF9TQ0hFTUFQX1NSQ19BVFRSSUJVVEVfMTwvYT4gPSAzMDUxIC8qIDMwNTEgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9TUkNfQVRUUklCVVRFXzIiPlhNTF9TQ0hFTUFQX1NSQ19BVFRSSUJVVEVfMjwvYT4gPSAzMDUyIC8qIDMwNTIgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9TUkNfQVRUUklCVVRFXzNfMSI+WE1MX1NDSEVNQVBfU1JDX0FUVFJJQlVURV8zXzE8L2E+ID0gMzA1MyAvKiAzMDUzICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfU1JDX0FUVFJJQlVURV8zXzIiPlhNTF9TQ0hFTUFQX1NSQ19BVFRSSUJVVEVfM18yPC9hPiA9IDMwNTQgLyogMzA1NCAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX1NSQ19BVFRSSUJVVEVfNCI+WE1MX1NDSEVNQVBfU1JDX0FUVFJJQlVURV80PC9hPiA9IDMwNTUgLyogMzA1NSAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX05PX1hNTE5TIj5YTUxfU0NIRU1BUF9OT19YTUxOUzwvYT4gPSAzMDU2IC8qIDMwNTYgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9OT19YU0kiPlhNTF9TQ0hFTUFQX05PX1hTSTwvYT4gPSAzMDU3IC8qIDMwNTcgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9DT1NfVkFMSURfREVGQVVMVF8xIj5YTUxfU0NIRU1BUF9DT1NfVkFMSURfREVGQVVMVF8xPC9hPiA9IDMwNTggLyogMzA1OCAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX0NPU19WQUxJRF9ERUZBVUxUXzJfMSI+WE1MX1NDSEVNQVBfQ09TX1ZBTElEX0RFRkFVTFRfMl8xPC9hPiA9IDMwNTkgLyogMzA1OSAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX0NPU19WQUxJRF9ERUZBVUxUXzJfMl8xIj5YTUxfU0NIRU1BUF9DT1NfVkFMSURfREVGQVVMVF8yXzJfMTwvYT4gPSAzMDYwIC8qIDMwNjAgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9DT1NfVkFMSURfREVGQVVMVF8yXzJfMiI+WE1MX1NDSEVNQVBfQ09TX1ZBTElEX0RFRkFVTFRfMl8yXzI8L2E+ID0gMzA2MSAvKiAzMDYxICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfQ1ZDX1NJTVBMRV9UWVBFIj5YTUxfU0NIRU1BUF9DVkNfU0lNUExFX1RZUEU8L2E+ID0gMzA2MiAvKiAzMDYyICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfQ09TX0NUX0VYVEVORFNfMV8xIj5YTUxfU0NIRU1BUF9DT1NfQ1RfRVhURU5EU18xXzE8L2E+ID0gMzA2MyAvKiAzMDYzICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfU1JDX0lNUE9SVF8xXzEiPlhNTF9TQ0hFTUFQX1NSQ19JTVBPUlRfMV8xPC9hPiA9IDMwNjQgLyogMzA2NCAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX1NSQ19JTVBPUlRfMV8yIj5YTUxfU0NIRU1BUF9TUkNfSU1QT1JUXzFfMjwvYT4gPSAzMDY1IC8qIDMwNjUgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9TUkNfSU1QT1JUXzIiPlhNTF9TQ0hFTUFQX1NSQ19JTVBPUlRfMjwvYT4gPSAzMDY2IC8qIDMwNjYgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9TUkNfSU1QT1JUXzJfMSI+WE1MX1NDSEVNQVBfU1JDX0lNUE9SVF8yXzE8L2E+ID0gMzA2NyAvKiAzMDY3ICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfU1JDX0lNUE9SVF8yXzIiPlhNTF9TQ0hFTUFQX1NSQ19JTVBPUlRfMl8yPC9hPiA9IDMwNjggLyogMzA2OCAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX0lOVEVSTkFMIj5YTUxfU0NIRU1BUF9JTlRFUk5BTDwvYT4gPSAzMDY5IC8qIDMwNjkgbm9uLVczQyAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX05PVF9ERVRFUk1JTklTVElDIj5YTUxfU0NIRU1BUF9OT1RfREVURVJNSU5JU1RJQzwvYT4gPSAzMDcwIC8qIDMwNzAgbm9uLVczQyAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX1NSQ19BVFRSSUJVVEVfR1JPVVBfMSI+WE1MX1NDSEVNQVBfU1JDX0FUVFJJQlVURV9HUk9VUF8xPC9hPiA9IDMwNzEgLyogMzA3MSAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX1NSQ19BVFRSSUJVVEVfR1JPVVBfMiI+WE1MX1NDSEVNQVBfU1JDX0FUVFJJQlVURV9HUk9VUF8yPC9hPiA9IDMwNzIgLyogMzA3MiAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX1NSQ19BVFRSSUJVVEVfR1JPVVBfMyI+WE1MX1NDSEVNQVBfU1JDX0FUVFJJQlVURV9HUk9VUF8zPC9hPiA9IDMwNzMgLyogMzA3MyAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX01HX1BST1BTX0NPUlJFQ1RfMSI+WE1MX1NDSEVNQVBfTUdfUFJPUFNfQ09SUkVDVF8xPC9hPiA9IDMwNzQgLyogMzA3NCAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX01HX1BST1BTX0NPUlJFQ1RfMiI+WE1MX1NDSEVNQVBfTUdfUFJPUFNfQ09SUkVDVF8yPC9hPiA9IDMwNzUgLyogMzA3NSAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX1NSQ19DVF8xIj5YTUxfU0NIRU1BUF9TUkNfQ1RfMTwvYT4gPSAzMDc2IC8qIDMwNzYgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzJfMV8zIj5YTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzJfMV8zPC9hPiA9IDMwNzcgLyogMzA3NyAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX0FVX1BST1BTX0NPUlJFQ1RfMiI+WE1MX1NDSEVNQVBfQVVfUFJPUFNfQ09SUkVDVF8yPC9hPiA9IDMwNzggLyogMzA3OCAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX0FfUFJPUFNfQ09SUkVDVF8yIj5YTUxfU0NIRU1BUF9BX1BST1BTX0NPUlJFQ1RfMjwvYT4gPSAzMDc5IC8qIDMwNzkgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9DX1BST1BTX0NPUlJFQ1QiPlhNTF9TQ0hFTUFQX0NfUFJPUFNfQ09SUkVDVDwvYT4gPSAzMDgwIC8qIDMwODAgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9TUkNfUkVERUZJTkUiPlhNTF9TQ0hFTUFQX1NSQ19SRURFRklORTwvYT4gPSAzMDgxIC8qIDMwODEgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9TUkNfSU1QT1JUIj5YTUxfU0NIRU1BUF9TUkNfSU1QT1JUPC9hPiA9IDMwODIgLyogMzA4MiAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX1dBUk5fU0tJUF9TQ0hFTUEiPlhNTF9TQ0hFTUFQX1dBUk5fU0tJUF9TQ0hFTUE8L2E+ID0gMzA4MyAvKiAzMDgzICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfV0FSTl9VTkxPQ0FURURfU0NIRU1BIj5YTUxfU0NIRU1BUF9XQVJOX1VOTE9DQVRFRF9TQ0hFTUE8L2E+ID0gMzA4NCAvKiAzMDg0ICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfV0FSTl9BVFRSX1JFREVDTF9QUk9IIj5YTUxfU0NIRU1BUF9XQVJOX0FUVFJfUkVERUNMX1BST0g8L2E+ID0gMzA4NSAvKiAzMDg1ICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfV0FSTl9BVFRSX1BPSU5UTEVTU19QUk9IIj5YTUxfU0NIRU1BUF9XQVJOX0FUVFJfUE9JTlRMRVNTX1BST0g8L2E+ID0gMzA4NiAvKiAzMDg1ICovCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfQUdfUFJPUFNfQ09SUkVDVCI+WE1MX1NDSEVNQVBfQUdfUFJPUFNfQ09SUkVDVDwvYT4gPSAzMDg3IC8qIDMwODYgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9DT1NfQ1RfRVhURU5EU18xXzIiPlhNTF9TQ0hFTUFQX0NPU19DVF9FWFRFTkRTXzFfMjwvYT4gPSAzMDg4IC8qIDMwODcgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9BVV9QUk9QU19DT1JSRUNUIj5YTUxfU0NIRU1BUF9BVV9QUk9QU19DT1JSRUNUPC9hPiA9IDMwODkgLyogMzA4OCAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX0FfUFJPUFNfQ09SUkVDVF8zIj5YTUxfU0NIRU1BUF9BX1BST1BTX0NPUlJFQ1RfMzwvYT4gPSAzMDkwIC8qIDMwODkgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9DT1NfQUxMX0xJTUlURUQiPlhNTF9TQ0hFTUFQX0NPU19BTExfTElNSVRFRDwvYT4gPSAzMDkxIC8qIDMwOTAgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BVFJPTlZfQVNTRVJUIj5YTUxfU0NIRU1BVFJPTlZfQVNTRVJUPC9hPiA9IDQwMDAgLyogNDAwMCAqLworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFUUk9OVl9SRVBPUlQiPlhNTF9TQ0hFTUFUUk9OVl9SRVBPUlQ8L2E+ID0gNDAwMQorICAgIDxhIG5hbWU9IlhNTF9NT0RVTEVfT1BFTiI+WE1MX01PRFVMRV9PUEVOPC9hPiA9IDQ5MDAgLyogNDkwMCAqLworICAgIDxhIG5hbWU9IlhNTF9NT0RVTEVfQ0xPU0UiPlhNTF9NT0RVTEVfQ0xPU0U8L2E+ID0gNDkwMSAvKiA0OTAxICovCisgICAgPGEgbmFtZT0iWE1MX0NIRUNLX0ZPVU5EX0VMRU1FTlQiPlhNTF9DSEVDS19GT1VORF9FTEVNRU5UPC9hPiA9IDUwMDAKKyAgICA8YSBuYW1lPSJYTUxfQ0hFQ0tfRk9VTkRfQVRUUklCVVRFIj5YTUxfQ0hFQ0tfRk9VTkRfQVRUUklCVVRFPC9hPiA9IDUwMDEgLyogNTAwMSAqLworICAgIDxhIG5hbWU9IlhNTF9DSEVDS19GT1VORF9URVhUIj5YTUxfQ0hFQ0tfRk9VTkRfVEVYVDwvYT4gPSA1MDAyIC8qIDUwMDIgKi8KKyAgICA8YSBuYW1lPSJYTUxfQ0hFQ0tfRk9VTkRfQ0RBVEEiPlhNTF9DSEVDS19GT1VORF9DREFUQTwvYT4gPSA1MDAzIC8qIDUwMDMgKi8KKyAgICA8YSBuYW1lPSJYTUxfQ0hFQ0tfRk9VTkRfRU5USVRZUkVGIj5YTUxfQ0hFQ0tfRk9VTkRfRU5USVRZUkVGPC9hPiA9IDUwMDQgLyogNTAwNCAqLworICAgIDxhIG5hbWU9IlhNTF9DSEVDS19GT1VORF9FTlRJVFkiPlhNTF9DSEVDS19GT1VORF9FTlRJVFk8L2E+ID0gNTAwNSAvKiA1MDA1ICovCisgICAgPGEgbmFtZT0iWE1MX0NIRUNLX0ZPVU5EX1BJIj5YTUxfQ0hFQ0tfRk9VTkRfUEk8L2E+ID0gNTAwNiAvKiA1MDA2ICovCisgICAgPGEgbmFtZT0iWE1MX0NIRUNLX0ZPVU5EX0NPTU1FTlQiPlhNTF9DSEVDS19GT1VORF9DT01NRU5UPC9hPiA9IDUwMDcgLyogNTAwNyAqLworICAgIDxhIG5hbWU9IlhNTF9DSEVDS19GT1VORF9ET0NUWVBFIj5YTUxfQ0hFQ0tfRk9VTkRfRE9DVFlQRTwvYT4gPSA1MDA4IC8qIDUwMDggKi8KKyAgICA8YSBuYW1lPSJYTUxfQ0hFQ0tfRk9VTkRfRlJBR01FTlQiPlhNTF9DSEVDS19GT1VORF9GUkFHTUVOVDwvYT4gPSA1MDA5IC8qIDUwMDkgKi8KKyAgICA8YSBuYW1lPSJYTUxfQ0hFQ0tfRk9VTkRfTk9UQVRJT04iPlhNTF9DSEVDS19GT1VORF9OT1RBVElPTjwvYT4gPSA1MDEwIC8qIDUwMTAgKi8KKyAgICA8YSBuYW1lPSJYTUxfQ0hFQ0tfVU5LTk9XTl9OT0RFIj5YTUxfQ0hFQ0tfVU5LTk9XTl9OT0RFPC9hPiA9IDUwMTEgLyogNTAxMSAqLworICAgIDxhIG5hbWU9IlhNTF9DSEVDS19FTlRJVFlfVFlQRSI+WE1MX0NIRUNLX0VOVElUWV9UWVBFPC9hPiA9IDUwMTIgLyogNTAxMiAqLworICAgIDxhIG5hbWU9IlhNTF9DSEVDS19OT19QQVJFTlQiPlhNTF9DSEVDS19OT19QQVJFTlQ8L2E+ID0gNTAxMyAvKiA1MDEzICovCisgICAgPGEgbmFtZT0iWE1MX0NIRUNLX05PX0RPQyI+WE1MX0NIRUNLX05PX0RPQzwvYT4gPSA1MDE0IC8qIDUwMTQgKi8KKyAgICA8YSBuYW1lPSJYTUxfQ0hFQ0tfTk9fTkFNRSI+WE1MX0NIRUNLX05PX05BTUU8L2E+ID0gNTAxNSAvKiA1MDE1ICovCisgICAgPGEgbmFtZT0iWE1MX0NIRUNLX05PX0VMRU0iPlhNTF9DSEVDS19OT19FTEVNPC9hPiA9IDUwMTYgLyogNTAxNiAqLworICAgIDxhIG5hbWU9IlhNTF9DSEVDS19XUk9OR19ET0MiPlhNTF9DSEVDS19XUk9OR19ET0M8L2E+ID0gNTAxNyAvKiA1MDE3ICovCisgICAgPGEgbmFtZT0iWE1MX0NIRUNLX05PX1BSRVYiPlhNTF9DSEVDS19OT19QUkVWPC9hPiA9IDUwMTggLyogNTAxOCAqLworICAgIDxhIG5hbWU9IlhNTF9DSEVDS19XUk9OR19QUkVWIj5YTUxfQ0hFQ0tfV1JPTkdfUFJFVjwvYT4gPSA1MDE5IC8qIDUwMTkgKi8KKyAgICA8YSBuYW1lPSJYTUxfQ0hFQ0tfTk9fTkVYVCI+WE1MX0NIRUNLX05PX05FWFQ8L2E+ID0gNTAyMCAvKiA1MDIwICovCisgICAgPGEgbmFtZT0iWE1MX0NIRUNLX1dST05HX05FWFQiPlhNTF9DSEVDS19XUk9OR19ORVhUPC9hPiA9IDUwMjEgLyogNTAyMSAqLworICAgIDxhIG5hbWU9IlhNTF9DSEVDS19OT1RfRFREIj5YTUxfQ0hFQ0tfTk9UX0RURDwvYT4gPSA1MDIyIC8qIDUwMjIgKi8KKyAgICA8YSBuYW1lPSJYTUxfQ0hFQ0tfTk9UX0FUVFIiPlhNTF9DSEVDS19OT1RfQVRUUjwvYT4gPSA1MDIzIC8qIDUwMjMgKi8KKyAgICA8YSBuYW1lPSJYTUxfQ0hFQ0tfTk9UX0FUVFJfREVDTCI+WE1MX0NIRUNLX05PVF9BVFRSX0RFQ0w8L2E+ID0gNTAyNCAvKiA1MDI0ICovCisgICAgPGEgbmFtZT0iWE1MX0NIRUNLX05PVF9FTEVNX0RFQ0wiPlhNTF9DSEVDS19OT1RfRUxFTV9ERUNMPC9hPiA9IDUwMjUgLyogNTAyNSAqLworICAgIDxhIG5hbWU9IlhNTF9DSEVDS19OT1RfRU5USVRZX0RFQ0wiPlhNTF9DSEVDS19OT1RfRU5USVRZX0RFQ0w8L2E+ID0gNTAyNiAvKiA1MDI2ICovCisgICAgPGEgbmFtZT0iWE1MX0NIRUNLX05PVF9OU19ERUNMIj5YTUxfQ0hFQ0tfTk9UX05TX0RFQ0w8L2E+ID0gNTAyNyAvKiA1MDI3ICovCisgICAgPGEgbmFtZT0iWE1MX0NIRUNLX05PX0hSRUYiPlhNTF9DSEVDS19OT19IUkVGPC9hPiA9IDUwMjggLyogNTAyOCAqLworICAgIDxhIG5hbWU9IlhNTF9DSEVDS19XUk9OR19QQVJFTlQiPlhNTF9DSEVDS19XUk9OR19QQVJFTlQ8L2E+ID0gNTAyOSAvKiA1MDI5ICovCisgICAgPGEgbmFtZT0iWE1MX0NIRUNLX05TX1NDT1BFIj5YTUxfQ0hFQ0tfTlNfU0NPUEU8L2E+ID0gNTAzMCAvKiA1MDMwICovCisgICAgPGEgbmFtZT0iWE1MX0NIRUNLX05TX0FOQ0VTVE9SIj5YTUxfQ0hFQ0tfTlNfQU5DRVNUT1I8L2E+ID0gNTAzMSAvKiA1MDMxICovCisgICAgPGEgbmFtZT0iWE1MX0NIRUNLX05PVF9VVEY4Ij5YTUxfQ0hFQ0tfTk9UX1VURjg8L2E+ID0gNTAzMiAvKiA1MDMyICovCisgICAgPGEgbmFtZT0iWE1MX0NIRUNLX05PX0RJQ1QiPlhNTF9DSEVDS19OT19ESUNUPC9hPiA9IDUwMzMgLyogNTAzMyAqLworICAgIDxhIG5hbWU9IlhNTF9DSEVDS19OT1RfTkNOQU1FIj5YTUxfQ0hFQ0tfTk9UX05DTkFNRTwvYT4gPSA1MDM0IC8qIDUwMzQgKi8KKyAgICA8YSBuYW1lPSJYTUxfQ0hFQ0tfT1VUU0lERV9ESUNUIj5YTUxfQ0hFQ0tfT1VUU0lERV9ESUNUPC9hPiA9IDUwMzUgLyogNTAzNSAqLworICAgIDxhIG5hbWU9IlhNTF9DSEVDS19XUk9OR19OQU1FIj5YTUxfQ0hFQ0tfV1JPTkdfTkFNRTwvYT4gPSA1MDM2IC8qIDUwMzYgKi8KKyAgICA8YSBuYW1lPSJYTUxfQ0hFQ0tfTkFNRV9OT1RfTlVMTCI+WE1MX0NIRUNLX05BTUVfTk9UX05VTEw8L2E+ID0gNTAzNyAvKiA1MDM3ICovCisgICAgPGEgbmFtZT0iWE1MX0kxOE5fTk9fTkFNRSI+WE1MX0kxOE5fTk9fTkFNRTwvYT4gPSA2MDAwCisgICAgPGEgbmFtZT0iWE1MX0kxOE5fTk9fSEFORExFUiI+WE1MX0kxOE5fTk9fSEFORExFUjwvYT4gPSA2MDAxIC8qIDYwMDEgKi8KKyAgICA8YSBuYW1lPSJYTUxfSTE4Tl9FWENFU1NfSEFORExFUiI+WE1MX0kxOE5fRVhDRVNTX0hBTkRMRVI8L2E+ID0gNjAwMiAvKiA2MDAyICovCisgICAgPGEgbmFtZT0iWE1MX0kxOE5fQ09OVl9GQUlMRUQiPlhNTF9JMThOX0NPTlZfRkFJTEVEPC9hPiA9IDYwMDMgLyogNjAwMyAqLworICAgIDxhIG5hbWU9IlhNTF9JMThOX05PX09VVFBVVCI+WE1MX0kxOE5fTk9fT1VUUFVUPC9hPiA9IDYwMDQgLyogNjAwNCAqLworICAgIDxhIG5hbWU9IlhNTF9CVUZfT1ZFUkZMT1ciPlhNTF9CVUZfT1ZFUkZMT1c8L2E+ID0gNzAwMAorfTsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxHZW5lcmljRXJyb3JGdW5jIi8+RnVuY3Rpb24gdHlwZSB4bWxHZW5lcmljRXJyb3JGdW5jPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxHZW5lcmljRXJyb3JGdW5jCQkodm9pZCAqIGN0eCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogbXNnLCA8YnIvPgkJCQkJIC4uLiAuLi4pPGJyLz4KKzwvcHJlPjxwPlNpZ25hdHVyZSBvZiB0aGUgZnVuY3Rpb24gdG8gdXNlIHdoZW4gdGhlcmUgaXMgYW4gZXJyb3IgYW5kIG5vIHBhcnNpbmcgb3IgdmFsaWRpdHkgY29udGV4dCBhdmFpbGFibGUgLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBhcnNpbmcgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bXNnPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbWVzc2FnZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Li4uPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZXh0cmEgYXJndW1lbnRzIG9mIHRoZSB2YXJhZ3MgdG8gZm9ybWF0IHRoZSBtZXNzYWdlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU3RydWN0dXJlZEVycm9yRnVuYyIvPkZ1bmN0aW9uIHR5cGUgeG1sU3RydWN0dXJlZEVycm9yRnVuYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sU3RydWN0dXJlZEVycm9yRnVuYwkJKHZvaWQgKiB1c2VyRGF0YSwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjeG1sRXJyb3JQdHIiPnhtbEVycm9yUHRyPC9hPiBlcnJvcik8YnIvPgorPC9wcmU+PHA+U2lnbmF0dXJlIG9mIHRoZSBmdW5jdGlvbiB0byB1c2Ugd2hlbiB0aGVyZSBpcyBhbiBlcnJvciBhbmQgdGhlIG1vZHVsZSBoYW5kbGVzIHRoZSBuZXcgZXJyb3IgcmVwb3J0aW5nIG1lY2hhbmlzbS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnVzZXJEYXRhPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD51c2VyIHByb3ZpZGVkIGRhdGEgZm9yIHRoZSBlcnJvciBjYWxsYmFjazwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZXJyb3I8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlcnJvciBiZWluZyByYWlzZWQuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iaW5pdEdlbmVyaWNFcnJvckRlZmF1bHRGdW5jIi8+aW5pdEdlbmVyaWNFcnJvckRlZmF1bHRGdW5jICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAlpbml0R2VuZXJpY0Vycm9yRGVmYXVsdEZ1bmMJKDxhIGhyZWY9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCN4bWxHZW5lcmljRXJyb3JGdW5jIj54bWxHZW5lcmljRXJyb3JGdW5jPC9hPiAqIGhhbmRsZXIpPGJyLz4KKzwvcHJlPjxwPlNldCBvciByZXNldCAoaWYgTlVMTCkgdGhlIGRlZmF1bHQgaGFuZGxlciBmb3IgZ2VuZXJpYyBlcnJvcnMgdG8gdGhlIGJ1aWx0aW4gZXJyb3IgZnVuY3Rpb24uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5oYW5kbGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaGFuZGxlcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbENvcHlFcnJvciIvPnhtbENvcHlFcnJvciAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxDb3B5RXJyb3IJCQkoPGEgaHJlZj0ibGlieG1sMi14bWxlcnJvci5odG1sI3htbEVycm9yUHRyIj54bWxFcnJvclB0cjwvYT4gZnJvbSwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjeG1sRXJyb3JQdHIiPnhtbEVycm9yUHRyPC9hPiB0byk8YnIvPgorPC9wcmU+PHA+U2F2ZSB0aGUgb3JpZ2luYWwgZXJyb3IgdG8gdGhlIG5ldyBwbGFjZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZyb208L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgc291cmNlIGVycm9yPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50bzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSB0YXJnZXQgZXJyb3I8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaW4gY2FzZSBvZiBzdWNjZXNzIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEN0eHRHZXRMYXN0RXJyb3IiLz54bWxDdHh0R2V0TGFzdEVycm9yICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14bWxlcnJvci5odG1sI3htbEVycm9yUHRyIj54bWxFcnJvclB0cjwvYT4JeG1sQ3R4dEdldExhc3RFcnJvcgkodm9pZCAqIGN0eCk8YnIvPgorPC9wcmU+PHA+R2V0IHRoZSBsYXN0IHBhcnNpbmcgZXJyb3IgcmVnaXN0ZXJlZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5OVUxMIGlmIG5vIGVycm9yIG9jY3VyZWQgb3IgYSBwb2ludGVyIHRvIHRoZSBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEN0eHRSZXNldExhc3RFcnJvciIvPnhtbEN0eHRSZXNldExhc3RFcnJvciAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sQ3R4dFJlc2V0TGFzdEVycm9yCQkodm9pZCAqIGN0eCk8YnIvPgorPC9wcmU+PHA+Q2xlYW51cCB0aGUgbGFzdCBnbG9iYWwgZXJyb3IgcmVnaXN0ZXJlZC4gRm9yIHBhcnNpbmcgZXJyb3IgdGhpcyBkb2VzIG5vdCBjaGFuZ2UgdGhlIHdlbGwtZm9ybWVkbmVzcyByZXN1bHQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEdldExhc3RFcnJvciIvPnhtbEdldExhc3RFcnJvciAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCN4bWxFcnJvclB0ciI+eG1sRXJyb3JQdHI8L2E+CXhtbEdldExhc3RFcnJvcgkJKHZvaWQpPGJyLz4KKzwvcHJlPjxwPkdldCB0aGUgbGFzdCBnbG9iYWwgZXJyb3IgcmVnaXN0ZXJlZC4gVGhpcyBpcyBwZXIgdGhyZWFkIGlmIGNvbXBpbGVkIHdpdGggdGhyZWFkIHN1cHBvcnQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5OVUxMIGlmIG5vIGVycm9yIG9jY3VyZWQgb3IgYSBwb2ludGVyIHRvIHRoZSBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFBhcnNlckVycm9yIi8+eG1sUGFyc2VyRXJyb3IgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFBhcnNlckVycm9yCQkJKHZvaWQgKiBjdHgsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIG1zZywgPGJyLz4JCQkJCSAuLi4gLi4uKTxici8+Cis8L3ByZT48cD5EaXNwbGF5IGFuZCBmb3JtYXQgYW4gZXJyb3IgbWVzc2FnZXMsIGdpdmVzIGZpbGUsIGxpbmUsIHBvc2l0aW9uIGFuZCBleHRyYSBwYXJhbWV0ZXJzLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm1zZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG1lc3NhZ2UgdG8gZGlzcGxheS90cmFuc21pdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Li4uPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5leHRyYSBwYXJhbWV0ZXJzIGZvciB0aGUgbWVzc2FnZSBkaXNwbGF5PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUGFyc2VyUHJpbnRGaWxlQ29udGV4dCIvPnhtbFBhcnNlclByaW50RmlsZUNvbnRleHQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFBhcnNlclByaW50RmlsZUNvbnRleHQJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlcklucHV0UHRyIj54bWxQYXJzZXJJbnB1dFB0cjwvYT4gaW5wdXQpPGJyLz4KKzwvcHJlPjxwPkRpc3BsYXlzIGN1cnJlbnQgY29udGV4dCB3aXRoaW4gdGhlIGlucHV0IGNvbnRlbnQgZm9yIGVycm9yIHRyYWNraW5nPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pbnB1dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRQdHIiPnhtbFBhcnNlcklucHV0UHRyPC9hPiBpbnB1dDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFBhcnNlclByaW50RmlsZUluZm8iLz54bWxQYXJzZXJQcmludEZpbGVJbmZvICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxQYXJzZXJQcmludEZpbGVJbmZvCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRQdHIiPnhtbFBhcnNlcklucHV0UHRyPC9hPiBpbnB1dCk8YnIvPgorPC9wcmU+PHA+RGlzcGxheXMgdGhlIGFzc29jaWF0ZWQgZmlsZSBhbmQgbGluZSBpbmZvcm1hdGlvbnMgZm9yIHRoZSBjdXJyZW50IGlucHV0PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pbnB1dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRQdHIiPnhtbFBhcnNlcklucHV0UHRyPC9hPiBpbnB1dDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFBhcnNlclZhbGlkaXR5RXJyb3IiLz54bWxQYXJzZXJWYWxpZGl0eUVycm9yICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxQYXJzZXJWYWxpZGl0eUVycm9yCQkodm9pZCAqIGN0eCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogbXNnLCA8YnIvPgkJCQkJIC4uLiAuLi4pPGJyLz4KKzwvcHJlPjxwPkRpc3BsYXkgYW5kIGZvcm1hdCBhbiB2YWxpZGl0eSBlcnJvciBtZXNzYWdlcywgZ2l2ZXMgZmlsZSwgbGluZSwgcG9zaXRpb24gYW5kIGV4dHJhIHBhcmFtZXRlcnMuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bXNnPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbWVzc2FnZSB0byBkaXNwbGF5L3RyYW5zbWl0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD4uLi48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmV4dHJhIHBhcmFtZXRlcnMgZm9yIHRoZSBtZXNzYWdlIGRpc3BsYXk8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxQYXJzZXJWYWxpZGl0eVdhcm5pbmciLz54bWxQYXJzZXJWYWxpZGl0eVdhcm5pbmcgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFBhcnNlclZhbGlkaXR5V2FybmluZwkodm9pZCAqIGN0eCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogbXNnLCA8YnIvPgkJCQkJIC4uLiAuLi4pPGJyLz4KKzwvcHJlPjxwPkRpc3BsYXkgYW5kIGZvcm1hdCBhIHZhbGlkaXR5IHdhcm5pbmcgbWVzc2FnZXMsIGdpdmVzIGZpbGUsIGxpbmUsIHBvc2l0aW9uIGFuZCBleHRyYSBwYXJhbWV0ZXJzLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm1zZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG1lc3NhZ2UgdG8gZGlzcGxheS90cmFuc21pdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Li4uPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5leHRyYSBwYXJhbWV0ZXJzIGZvciB0aGUgbWVzc2FnZSBkaXNwbGF5PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUGFyc2VyV2FybmluZyIvPnhtbFBhcnNlcldhcm5pbmcgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFBhcnNlcldhcm5pbmcJCSh2b2lkICogY3R4LCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBtc2csIDxici8+CQkJCQkgLi4uIC4uLik8YnIvPgorPC9wcmU+PHA+RGlzcGxheSBhbmQgZm9ybWF0IGEgd2FybmluZyBtZXNzYWdlcywgZ2l2ZXMgZmlsZSwgbGluZSwgcG9zaXRpb24gYW5kIGV4dHJhIHBhcmFtZXRlcnMuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bXNnPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbWVzc2FnZSB0byBkaXNwbGF5L3RyYW5zbWl0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD4uLi48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmV4dHJhIHBhcmFtZXRlcnMgZm9yIHRoZSBtZXNzYWdlIGRpc3BsYXk8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxSZXNldEVycm9yIi8+eG1sUmVzZXRFcnJvciAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sUmVzZXRFcnJvcgkJCSg8YSBocmVmPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjeG1sRXJyb3JQdHIiPnhtbEVycm9yUHRyPC9hPiBlcnIpPGJyLz4KKzwvcHJlPjxwPkNsZWFudXAgdGhlIGVycm9yLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZXJyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5wb2ludGVyIHRvIHRoZSBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxSZXNldExhc3RFcnJvciIvPnhtbFJlc2V0TGFzdEVycm9yICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxSZXNldExhc3RFcnJvcgkJKHZvaWQpPGJyLz4KKzwvcHJlPjxwPkNsZWFudXAgdGhlIGxhc3QgZ2xvYmFsIGVycm9yIHJlZ2lzdGVyZWQuIEZvciBwYXJzaW5nIGVycm9yIHRoaXMgZG9lcyBub3QgY2hhbmdlIHRoZSB3ZWxsLWZvcm1lZG5lc3MgcmVzdWx0LjwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTZXRHZW5lcmljRXJyb3JGdW5jIi8+eG1sU2V0R2VuZXJpY0Vycm9yRnVuYyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sU2V0R2VuZXJpY0Vycm9yRnVuYwkJKHZvaWQgKiBjdHgsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxlcnJvci5odG1sI3htbEdlbmVyaWNFcnJvckZ1bmMiPnhtbEdlbmVyaWNFcnJvckZ1bmM8L2E+IGhhbmRsZXIpPGJyLz4KKzwvcHJlPjxwPkZ1bmN0aW9uIHRvIHJlc2V0IHRoZSBoYW5kbGVyIGFuZCB0aGUgZXJyb3IgY29udGV4dCBmb3Igb3V0IG9mIGNvbnRleHQgZXJyb3IgbWVzc2FnZXMuIFRoaXMgc2ltcGx5IG1lYW5zIHRoYXQgQGhhbmRsZXIgd2lsbCBiZSBjYWxsZWQgZm9yIHN1YnNlcXVlbnQgZXJyb3IgbWVzc2FnZXMgd2hpbGUgbm90IHBhcnNpbmcgbm9yIHZhbGlkYXRpbmcuIEFuZCBAY3R4IHdpbGwgYmUgcGFzc2VkIGFzIGZpcnN0IGFyZ3VtZW50IHRvIEBoYW5kbGVyIE9uZSBjYW4gc2ltcGx5IGZvcmNlIG1lc3NhZ2VzIHRvIGJlIGVtaXR0ZWQgdG8gYW5vdGhlciBGSUxFICogdGhhbiBzdGRlcnIgYnkgc2V0dGluZyBAY3R4IHRvIHRoaXMgZmlsZSBoYW5kbGUgYW5kIEBoYW5kbGVyIHRvIE5VTEwuIEZvciBtdWx0aS10aHJlYWRlZCBhcHBsaWNhdGlvbnMsIHRoaXMgbXVzdCBiZSBzZXQgc2VwYXJhdGVseSBmb3IgZWFjaCB0aHJlYWQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXcgZXJyb3IgaGFuZGxpbmcgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aGFuZGxlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ldyBoYW5kbGVyIGZ1bmN0aW9uPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU2V0U3RydWN0dXJlZEVycm9yRnVuYyIvPnhtbFNldFN0cnVjdHVyZWRFcnJvckZ1bmMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFNldFN0cnVjdHVyZWRFcnJvckZ1bmMJKHZvaWQgKiBjdHgsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxlcnJvci5odG1sI3htbFN0cnVjdHVyZWRFcnJvckZ1bmMiPnhtbFN0cnVjdHVyZWRFcnJvckZ1bmM8L2E+IGhhbmRsZXIpPGJyLz4KKzwvcHJlPjxwPkZ1bmN0aW9uIHRvIHJlc2V0IHRoZSBoYW5kbGVyIGFuZCB0aGUgZXJyb3IgY29udGV4dCBmb3Igb3V0IG9mIGNvbnRleHQgc3RydWN0dXJlZCBlcnJvciBtZXNzYWdlcy4gVGhpcyBzaW1wbHkgbWVhbnMgdGhhdCBAaGFuZGxlciB3aWxsIGJlIGNhbGxlZCBmb3Igc3Vic2VxdWVudCBlcnJvciBtZXNzYWdlcyB3aGlsZSBub3QgcGFyc2luZyBub3IgdmFsaWRhdGluZy4gQW5kIEBjdHggd2lsbCBiZSBwYXNzZWQgYXMgZmlyc3QgYXJndW1lbnQgdG8gQGhhbmRsZXIgRm9yIG11bHRpLXRocmVhZGVkIGFwcGxpY2F0aW9ucywgdGhpcyBtdXN0IGJlIHNldCBzZXBhcmF0ZWx5IGZvciBlYWNoIHRocmVhZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ldyBlcnJvciBoYW5kbGluZyBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5oYW5kbGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IGhhbmRsZXIgZnVuY3Rpb248L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgPC9kaXY+CisgICAgPC9kaXY+CisgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2RldmhlbHAvbGlieG1sMi14bWxleHBvcnRzLmh0bWwgYi9saWJ4bWwyL2RvYy9kZXZoZWxwL2xpYnhtbDIteG1sZXhwb3J0cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYwZWU0YjQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9kZXZoZWxwL2xpYnhtbDIteG1sZXhwb3J0cy5odG1sCkBAIC0wLDAgKzEsODcgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8aHRtbD4KKyAgPGhlYWQ+CisgICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiLz4KKyAgICA8dGl0bGU+eG1sZXhwb3J0czogbWFjcm9zIGZvciBtYXJraW5nIHN5bWJvbHMgYXMgZXhwb3J0YWJsZS9pbXBvcnRhYmxlLjwvdGl0bGU+CisgICAgPG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJMaWJ4bWwyIGRldmhlbHAgc3R5bGVzaGVldCIvPgorICAgIDxsaW5rIHJlbD0ic3RhcnQiIGhyZWY9ImluZGV4Lmh0bWwiIHRpdGxlPSJsaWJ4bWwyIFJlZmVyZW5jZSBNYW51YWwiLz4KKyAgICA8bGluayByZWw9InVwIiBocmVmPSJnZW5lcmFsLmh0bWwiIHRpdGxlPSJBUEkiLz4KKyAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9InN0eWxlLmNzcyIgdHlwZT0idGV4dC9jc3MiLz4KKyAgICA8bGluayByZWw9ImNoYXB0ZXIiIGhyZWY9ImdlbmVyYWwuaHRtbCIgdGl0bGU9IkFQSSIvPgorICA8L2hlYWQ+CisgIDxib2R5IGJnY29sb3I9IndoaXRlIiB0ZXh0PSJibGFjayIgbGluaz0iIzAwMDBGRiIgdmxpbms9IiM4NDAwODQiIGFsaW5rPSIjMDAwMEZGIj4KKyAgICA8dGFibGUgY2xhc3M9Im5hdmlnYXRpb24iIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIyIj4KKyAgICAgIDx0ciB2YWxpZ249Im1pZGRsZSI+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0ibGVmdC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlByZXYiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9InUiIGhyZWY9ImdlbmVyYWwuaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0idXAucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJVcCIvPgorICAgICAgICAgIDwvYT4KKyAgICAgICAgPC90ZD4KKyAgICAgICAgPHRkPgorICAgICAgICAgIDxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iaW5kZXguaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0iaG9tZS5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IkhvbWUiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9Im4iIGhyZWY9ImxpYnhtbDIteG1sbWVtb3J5Lmh0bWwiPgorICAgICAgICAgICAgPGltZyBzcmM9InJpZ2h0LnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iTmV4dCIvPgorICAgICAgICAgIDwvYT4KKyAgICAgICAgPC90ZD4KKyAgICAgICAgPHRoIHdpZHRoPSIxMDAlIiBhbGlnbj0iY2VudGVyIj5saWJ4bWwyIFJlZmVyZW5jZSBNYW51YWw8L3RoPgorICAgICAgPC90cj4KKyAgICA8L3RhYmxlPgorICAgIDxoMj4KKyAgICAgIDxzcGFuIGNsYXNzPSJyZWZlbnRyeXRpdGxlIj54bWxleHBvcnRzPC9zcGFuPgorICAgIDwvaDI+CisgICAgPHA+eG1sZXhwb3J0cyAtIG1hY3JvcyBmb3IgbWFya2luZyBzeW1ib2xzIGFzIGV4cG9ydGFibGUvaW1wb3J0YWJsZS48L3A+CisgICAgPHA+bWFjcm9zIGZvciBtYXJraW5nIHN5bWJvbHMgYXMgZXhwb3J0YWJsZS9pbXBvcnRhYmxlLiA8L3A+CisgICAgPHA+QXV0aG9yKHMpOiBJZ29yIFpsYXRvdmljICZsdDtpZ29yQHpsYXRrb3ZpYy5jb20mZ3Q7IDwvcD4KKyAgICA8ZGl2IGNsYXNzPSJyZWZzeW5vcHNpc2RpdiI+CisgICAgICA8aDI+U3lub3BzaXM8L2gyPgorICAgICAgPHByZSBjbGFzcz0ic3lub3BzaXMiPiNkZWZpbmUgPGEgaHJlZj0iI19SRUVOVFJBTlQiPl9SRUVOVFJBTlQ8L2E+OworI2RlZmluZSA8YSBocmVmPSIjWE1MQ0RFQ0wiPlhNTENERUNMPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI1hNTFBVQlZBUiI+WE1MUFVCVkFSPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI0xJQlhNTF9ETExfSU1QT1JUIj5MSUJYTUxfRExMX0lNUE9SVDwvYT47CisjZGVmaW5lIDxhIGhyZWY9IiNYTUxDQUxMIj5YTUxDQUxMPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI1hNTFBVQkZVTiI+WE1MUFVCRlVOPC9hPjsKKzwvcHJlPgorICAgIDwvZGl2PgorICAgIDxkaXYgY2xhc3M9InJlZnNlY3QxIiBsYW5nPSJlbiI+CisgICAgICA8aDI+RGVzY3JpcHRpb248L2gyPgorICAgIDwvZGl2PgorICAgIDxkaXYgY2xhc3M9InJlZnNlY3QxIiBsYW5nPSJlbiI+CisgICAgICA8aDI+RGV0YWlsczwvaDI+CisgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJMSUJYTUxfRExMX0lNUE9SVCI+TWFjcm8gPC9hPkxJQlhNTF9ETExfSU1QT1JUPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjTElCWE1MX0RMTF9JTVBPUlQiPkxJQlhNTF9ETExfSU1QT1JUPC9hPjsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJYTUxDQUxMIj5NYWNybyA8L2E+WE1MQ0FMTDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTENBTEwiPlhNTENBTEw8L2E+OworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IlhNTENERUNMIj5NYWNybyA8L2E+WE1MQ0RFQ0w8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxDREVDTCI+WE1MQ0RFQ0w8L2E+OworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IlhNTFBVQkZVTiI+TWFjcm8gPC9hPlhNTFBVQkZVTjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTFBVQkZVTiI+WE1MUFVCRlVOPC9hPjsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJYTUxQVUJWQVIiPk1hY3JvIDwvYT5YTUxQVUJWQVI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxQVUJWQVIiPlhNTFBVQlZBUjwvYT47Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iX1JFRU5UUkFOVCI+TWFjcm8gPC9hPl9SRUVOVFJBTlQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNfUkVFTlRSQU5UIj5fUkVFTlRSQU5UPC9hPjsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgPC9kaXY+CisgICAgPC9kaXY+CisgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2RldmhlbHAvbGlieG1sMi14bWxtZW1vcnkuaHRtbCBiL2xpYnhtbDIvZG9jL2RldmhlbHAvbGlieG1sMi14bWxtZW1vcnkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NjEwNTM4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvZGV2aGVscC9saWJ4bWwyLXhtbG1lbW9yeS5odG1sCkBAIC0wLDAgKzEsMTg2IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPGh0bWw+CisgIDxoZWFkPgorICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ii8+CisgICAgPHRpdGxlPnhtbG1lbW9yeTogaW50ZXJmYWNlIGZvciB0aGUgbWVtb3J5IGFsbG9jYXRvcjwvdGl0bGU+CisgICAgPG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJMaWJ4bWwyIGRldmhlbHAgc3R5bGVzaGVldCIvPgorICAgIDxsaW5rIHJlbD0ic3RhcnQiIGhyZWY9ImluZGV4Lmh0bWwiIHRpdGxlPSJsaWJ4bWwyIFJlZmVyZW5jZSBNYW51YWwiLz4KKyAgICA8bGluayByZWw9InVwIiBocmVmPSJnZW5lcmFsLmh0bWwiIHRpdGxlPSJBUEkiLz4KKyAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9InN0eWxlLmNzcyIgdHlwZT0idGV4dC9jc3MiLz4KKyAgICA8bGluayByZWw9ImNoYXB0ZXIiIGhyZWY9ImdlbmVyYWwuaHRtbCIgdGl0bGU9IkFQSSIvPgorICA8L2hlYWQ+CisgIDxib2R5IGJnY29sb3I9IndoaXRlIiB0ZXh0PSJibGFjayIgbGluaz0iIzAwMDBGRiIgdmxpbms9IiM4NDAwODQiIGFsaW5rPSIjMDAwMEZGIj4KKyAgICA8dGFibGUgY2xhc3M9Im5hdmlnYXRpb24iIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIyIj4KKyAgICAgIDx0ciB2YWxpZ249Im1pZGRsZSI+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImxpYnhtbDIteG1sZXhwb3J0cy5odG1sIj4KKyAgICAgICAgICAgIDxpbWcgc3JjPSJsZWZ0LnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iUHJldiIvPgorICAgICAgICAgIDwvYT4KKyAgICAgICAgPC90ZD4KKyAgICAgICAgPHRkPgorICAgICAgICAgIDxhIGFjY2Vzc2tleT0idSIgaHJlZj0iZ2VuZXJhbC5odG1sIj4KKyAgICAgICAgICAgIDxpbWcgc3JjPSJ1cC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlVwIi8+CisgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGQ+CisgICAgICAgICAgPGEgYWNjZXNza2V5PSJoIiBocmVmPSJpbmRleC5odG1sIj4KKyAgICAgICAgICAgIDxpbWcgc3JjPSJob21lLnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iSG9tZSIvPgorICAgICAgICAgIDwvYT4KKyAgICAgICAgPC90ZD4KKyAgICAgICAgPHRkPgorICAgICAgICAgIDxhIGFjY2Vzc2tleT0ibiIgaHJlZj0ibGlieG1sMi14bWxtb2R1bGUuaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0icmlnaHQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJOZXh0Ii8+CisgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGggd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPmxpYnhtbDIgUmVmZXJlbmNlIE1hbnVhbDwvdGg+CisgICAgICA8L3RyPgorICAgIDwvdGFibGU+CisgICAgPGgyPgorICAgICAgPHNwYW4gY2xhc3M9InJlZmVudHJ5dGl0bGUiPnhtbG1lbW9yeTwvc3Bhbj4KKyAgICA8L2gyPgorICAgIDxwPnhtbG1lbW9yeSAtIGludGVyZmFjZSBmb3IgdGhlIG1lbW9yeSBhbGxvY2F0b3I8L3A+CisgICAgPHA+cHJvdmlkZXMgaW50ZXJmYWNlcyBmb3IgdGhlIG1lbW9yeSBhbGxvY2F0b3IsIGluY2x1ZGluZyBkZWJ1Z2dpbmcgY2FwYWJpbGl0aWVzLiA8L3A+CisgICAgPHA+QXV0aG9yKHMpOiBEYW5pZWwgVmVpbGxhcmQgPC9wPgorICAgIDxkaXYgY2xhc3M9InJlZnN5bm9wc2lzZGl2Ij4KKyAgICAgIDxoMj5TeW5vcHNpczwvaDI+CisgICAgICA8cHJlIGNsYXNzPSJzeW5vcHNpcyI+I2RlZmluZSA8YSBocmVmPSIjeG1sUmVhbGxvYyI+eG1sUmVhbGxvYzwvYT47CisjZGVmaW5lIDxhIGhyZWY9IiN4bWxNYWxsb2MiPnhtbE1hbGxvYzwvYT47CisjZGVmaW5lIDxhIGhyZWY9IiN4bWxNYWxsb2NBdG9taWMiPnhtbE1hbGxvY0F0b21pYzwvYT47CisjZGVmaW5lIDxhIGhyZWY9IiNERUJVR19NRU1PUlkiPkRFQlVHX01FTU9SWTwvYT47CisjZGVmaW5lIDxhIGhyZWY9IiN4bWxNZW1TdHJkdXAiPnhtbE1lbVN0cmR1cDwvYT47Cit2b2lkICoJPGEgaHJlZj0iI3htbE1lbVJlYWxsb2MiPnhtbE1lbVJlYWxsb2M8L2E+CQkJKHZvaWQgKiBwdHIsIDxici8+CQkJCQkgc2l6ZV90IHNpemUpOworaW50CTxhIGhyZWY9IiN4bWxJbml0TWVtb3J5Ij54bWxJbml0TWVtb3J5PC9hPgkJCSh2b2lkKTsKK3ZvaWQJPGEgaHJlZj0iI3htbE1lbUZyZWUiPnhtbE1lbUZyZWU8L2E+CQkJKHZvaWQgKiBwdHIpOwordm9pZCAqCTxhIGhyZWY9IiN4bWxNZW1NYWxsb2MiPnhtbE1lbU1hbGxvYzwvYT4JCQkoc2l6ZV90IHNpemUpOwordm9pZAk8YSBocmVmPSIjeG1sTWVtRGlzcGxheUxhc3QiPnhtbE1lbURpc3BsYXlMYXN0PC9hPgkJKEZJTEUgKiBmcCwgPGJyLz4JCQkJCSBsb25nIG5iQnl0ZXMpOworaW50CTxhIGhyZWY9IiN4bWxNZW1HZXQiPnhtbE1lbUdldDwvYT4JCQkoPGEgaHJlZj0ibGlieG1sMi14bWxtZW1vcnkuaHRtbCN4bWxGcmVlRnVuYyI+eG1sRnJlZUZ1bmM8L2E+ICogZnJlZUZ1bmMsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxtZW1vcnkuaHRtbCN4bWxNYWxsb2NGdW5jIj54bWxNYWxsb2NGdW5jPC9hPiAqIG1hbGxvY0Z1bmMsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxtZW1vcnkuaHRtbCN4bWxSZWFsbG9jRnVuYyI+eG1sUmVhbGxvY0Z1bmM8L2E+ICogcmVhbGxvY0Z1bmMsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxtZW1vcnkuaHRtbCN4bWxTdHJkdXBGdW5jIj54bWxTdHJkdXBGdW5jPC9hPiAqIHN0cmR1cEZ1bmMpOwordm9pZAk8YSBocmVmPSIjeG1sTWVtb3J5RHVtcCI+eG1sTWVtb3J5RHVtcDwvYT4JCQkodm9pZCk7Cit2b2lkICoJPGEgaHJlZj0iI3htbE1hbGxvY0xvYyI+eG1sTWFsbG9jTG9jPC9hPgkJCShzaXplX3Qgc2l6ZSwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZmlsZSwgPGJyLz4JCQkJCSBpbnQgbGluZSk7Cit2b2lkCTxhIGhyZWY9IiN4bWxNZW1EaXNwbGF5Ij54bWxNZW1EaXNwbGF5PC9hPgkJCShGSUxFICogZnApOworaW50CTxhIGhyZWY9IiN4bWxNZW1CbG9ja3MiPnhtbE1lbUJsb2NrczwvYT4JCQkodm9pZCk7CitpbnQJPGEgaHJlZj0iI3htbEdjTWVtR2V0Ij54bWxHY01lbUdldDwvYT4JCQkoPGEgaHJlZj0ibGlieG1sMi14bWxtZW1vcnkuaHRtbCN4bWxGcmVlRnVuYyI+eG1sRnJlZUZ1bmM8L2E+ICogZnJlZUZ1bmMsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxtZW1vcnkuaHRtbCN4bWxNYWxsb2NGdW5jIj54bWxNYWxsb2NGdW5jPC9hPiAqIG1hbGxvY0Z1bmMsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxtZW1vcnkuaHRtbCN4bWxNYWxsb2NGdW5jIj54bWxNYWxsb2NGdW5jPC9hPiAqIG1hbGxvY0F0b21pY0Z1bmMsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxtZW1vcnkuaHRtbCN4bWxSZWFsbG9jRnVuYyI+eG1sUmVhbGxvY0Z1bmM8L2E+ICogcmVhbGxvY0Z1bmMsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxtZW1vcnkuaHRtbCN4bWxTdHJkdXBGdW5jIj54bWxTdHJkdXBGdW5jPC9hPiAqIHN0cmR1cEZ1bmMpOwordHlwZWRlZiBjaGFyICogPGEgaHJlZj0iI3htbFN0cmR1cEZ1bmMiPnhtbFN0cmR1cEZ1bmM8L2E+CQkJKGNvbnN0IGNoYXIgKiBzdHIpOwordHlwZWRlZiB2b2lkIDxhIGhyZWY9IiN4bWxGcmVlRnVuYyI+eG1sRnJlZUZ1bmM8L2E+CQkJKHZvaWQgKiBtZW0pOwordm9pZAk8YSBocmVmPSIjeG1sTWVtU2hvdyI+eG1sTWVtU2hvdzwvYT4JCQkoRklMRSAqIGZwLCA8YnIvPgkJCQkJIGludCBucik7Cit2b2lkICoJPGEgaHJlZj0iI3htbE1hbGxvY0F0b21pY0xvYyI+eG1sTWFsbG9jQXRvbWljTG9jPC9hPgkJKHNpemVfdCBzaXplLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBmaWxlLCA8YnIvPgkJCQkJIGludCBsaW5lKTsKK3ZvaWQgKgk8YSBocmVmPSIjeG1sUmVhbGxvY0xvYyI+eG1sUmVhbGxvY0xvYzwvYT4JCQkodm9pZCAqIHB0ciwgPGJyLz4JCQkJCSBzaXplX3Qgc2l6ZSwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZmlsZSwgPGJyLz4JCQkJCSBpbnQgbGluZSk7Cit2b2lkCTxhIGhyZWY9IiN4bWxDbGVhbnVwTWVtb3J5Ij54bWxDbGVhbnVwTWVtb3J5PC9hPgkJKHZvaWQpOworaW50CTxhIGhyZWY9IiN4bWxNZW1Vc2VkIj54bWxNZW1Vc2VkPC9hPgkJCSh2b2lkKTsKK2ludAk8YSBocmVmPSIjeG1sTWVtU2V0dXAiPnhtbE1lbVNldHVwPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwyLXhtbG1lbW9yeS5odG1sI3htbEZyZWVGdW5jIj54bWxGcmVlRnVuYzwvYT4gZnJlZUZ1bmMsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxtZW1vcnkuaHRtbCN4bWxNYWxsb2NGdW5jIj54bWxNYWxsb2NGdW5jPC9hPiBtYWxsb2NGdW5jLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sbWVtb3J5Lmh0bWwjeG1sUmVhbGxvY0Z1bmMiPnhtbFJlYWxsb2NGdW5jPC9hPiByZWFsbG9jRnVuYywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbG1lbW9yeS5odG1sI3htbFN0cmR1cEZ1bmMiPnhtbFN0cmR1cEZ1bmM8L2E+IHN0cmR1cEZ1bmMpOwordHlwZWRlZiB2b2lkICogPGEgaHJlZj0iI3htbFJlYWxsb2NGdW5jIj54bWxSZWFsbG9jRnVuYzwvYT4JCQkodm9pZCAqIG1lbSwgPGJyLz4JCQkJCSBzaXplX3Qgc2l6ZSk7Cit0eXBlZGVmIHZvaWQgKiA8YSBocmVmPSIjeG1sTWFsbG9jRnVuYyI+eG1sTWFsbG9jRnVuYzwvYT4JCQkoc2l6ZV90IHNpemUpOworaW50CTxhIGhyZWY9IiN4bWxHY01lbVNldHVwIj54bWxHY01lbVNldHVwPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwyLXhtbG1lbW9yeS5odG1sI3htbEZyZWVGdW5jIj54bWxGcmVlRnVuYzwvYT4gZnJlZUZ1bmMsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxtZW1vcnkuaHRtbCN4bWxNYWxsb2NGdW5jIj54bWxNYWxsb2NGdW5jPC9hPiBtYWxsb2NGdW5jLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sbWVtb3J5Lmh0bWwjeG1sTWFsbG9jRnVuYyI+eG1sTWFsbG9jRnVuYzwvYT4gbWFsbG9jQXRvbWljRnVuYywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbG1lbW9yeS5odG1sI3htbFJlYWxsb2NGdW5jIj54bWxSZWFsbG9jRnVuYzwvYT4gcmVhbGxvY0Z1bmMsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxtZW1vcnkuaHRtbCN4bWxTdHJkdXBGdW5jIj54bWxTdHJkdXBGdW5jPC9hPiBzdHJkdXBGdW5jKTsKK2NoYXIgKgk8YSBocmVmPSIjeG1sTWVtb3J5U3RyZHVwIj54bWxNZW1vcnlTdHJkdXA8L2E+CQkJKGNvbnN0IGNoYXIgKiBzdHIpOworY2hhciAqCTxhIGhyZWY9IiN4bWxNZW1TdHJkdXBMb2MiPnhtbE1lbVN0cmR1cExvYzwvYT4JCQkoY29uc3QgY2hhciAqIHN0ciwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZmlsZSwgPGJyLz4JCQkJCSBpbnQgbGluZSk7Cis8L3ByZT4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MSIgbGFuZz0iZW4iPgorICAgICAgPGgyPkRlc2NyaXB0aW9uPC9oMj4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MSIgbGFuZz0iZW4iPgorICAgICAgPGgyPkRldGFpbHM8L2gyPgorICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iREVCVUdfTUVNT1JZIj5NYWNybyA8L2E+REVCVUdfTUVNT1JZPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjREVCVUdfTUVNT1JZIj5ERUJVR19NRU1PUlk8L2E+OworPC9wcmU+PHA+PGEgaHJlZj0ibGlieG1sMi14bWxtZW1vcnkuaHRtbCNERUJVR19NRU1PUlkiPkRFQlVHX01FTU9SWTwvYT4gcmVwbGFjZXMgdGhlIGFsbG9jYXRvciB3aXRoIGEgY29sbGVjdCBhbmQgZGVidWcgc2hlbGwgdG8gdGhlIGxpYmMgYWxsb2NhdG9yLiA8YSBocmVmPSJsaWJ4bWwyLXhtbG1lbW9yeS5odG1sI0RFQlVHX01FTU9SWSI+REVCVUdfTUVNT1JZPC9hPiBzaG91bGQgb25seSBiZSBhY3RpdmF0ZWQgd2hlbiBkZWJ1Z2dpbmcgbGlieG1sIGkuZS4gaWYgbGlieG1sIGhhcyBiZWVuIGNvbmZpZ3VyZWQgd2l0aCAtLXdpdGgtZGVidWctbWVtIHRvby4gI2RlZmluZSBERUJVR19NRU1PUllfRlJFRUQgI2RlZmluZSA8YSBocmVmPSJsaWJ4bWwyLXhtbHZlcnNpb24uaHRtbCNERUJVR19NRU1PUllfTE9DQVRJT04iPkRFQlVHX01FTU9SWV9MT0NBVElPTjwvYT48L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sRnJlZUZ1bmMiLz5GdW5jdGlvbiB0eXBlIHhtbEZyZWVGdW5jPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxGcmVlRnVuYwkJCSh2b2lkICogbWVtKTxici8+Cis8L3ByZT48cD5TaWduYXR1cmUgZm9yIGEgZnJlZSgpIGltcGxlbWVudGF0aW9uLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bWVtPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBhbHJlYWR5IGFsbG9jYXRlZCBibG9jayBvZiBtZW1vcnk8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxNYWxsb2NGdW5jIi8+RnVuY3Rpb24gdHlwZSB4bWxNYWxsb2NGdW5jPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZCAqCXhtbE1hbGxvY0Z1bmMJCQkoc2l6ZV90IHNpemUpPGJyLz4KKzwvcHJlPjxwPlNpZ25hdHVyZSBmb3IgYSBtYWxsb2MoKSBpbXBsZW1lbnRhdGlvbi48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNpemU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzaXplIHJlcXVlc3RlZCBpbiBieXRlczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIHRoZSBuZXdseSBhbGxvY2F0ZWQgYmxvY2sgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFJlYWxsb2NGdW5jIi8+RnVuY3Rpb24gdHlwZSB4bWxSZWFsbG9jRnVuYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQgKgl4bWxSZWFsbG9jRnVuYwkJCSh2b2lkICogbWVtLCA8YnIvPgkJCQkJIHNpemVfdCBzaXplKTxici8+Cis8L3ByZT48cD5TaWduYXR1cmUgZm9yIGEgcmVhbGxvYygpIGltcGxlbWVudGF0aW9uLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bWVtPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBhbHJlYWR5IGFsbG9jYXRlZCBibG9jayBvZiBtZW1vcnk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNpemU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXcgc2l6ZSByZXF1ZXN0ZWQgaW4gYnl0ZXM8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byB0aGUgbmV3bHkgcmVhbGxvY2F0ZWQgYmxvY2sgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFN0cmR1cEZ1bmMiLz5GdW5jdGlvbiB0eXBlIHhtbFN0cmR1cEZ1bmM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5jaGFyICoJeG1sU3RyZHVwRnVuYwkJCShjb25zdCBjaGFyICogc3RyKTxici8+Cis8L3ByZT48cD5TaWduYXR1cmUgZm9yIGFuIHN0cmR1cCgpIGltcGxlbWVudGF0aW9uLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3RyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHplcm8gdGVybWluYXRlZCBzdHJpbmc8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjb3B5IG9mIHRoZSBzdHJpbmcgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbENsZWFudXBNZW1vcnkiLz54bWxDbGVhbnVwTWVtb3J5ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxDbGVhbnVwTWVtb3J5CQkodm9pZCk8YnIvPgorPC9wcmU+PHA+RnJlZSB1cCBhbGwgdGhlIG1lbW9yeSBhbGxvY2F0ZWQgYnkgdGhlIGxpYnJhcnkgZm9yIGl0cyBvd24gdXNlLiBUaGlzIHNob3VsZCBub3QgYmUgY2FsbGVkIGJ5IHVzZXIgbGV2ZWwgY29kZS48L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sR2NNZW1HZXQiLz54bWxHY01lbUdldCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxHY01lbUdldAkJCSg8YSBocmVmPSJsaWJ4bWwyLXhtbG1lbW9yeS5odG1sI3htbEZyZWVGdW5jIj54bWxGcmVlRnVuYzwvYT4gKiBmcmVlRnVuYywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbG1lbW9yeS5odG1sI3htbE1hbGxvY0Z1bmMiPnhtbE1hbGxvY0Z1bmM8L2E+ICogbWFsbG9jRnVuYywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbG1lbW9yeS5odG1sI3htbE1hbGxvY0Z1bmMiPnhtbE1hbGxvY0Z1bmM8L2E+ICogbWFsbG9jQXRvbWljRnVuYywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbG1lbW9yeS5odG1sI3htbFJlYWxsb2NGdW5jIj54bWxSZWFsbG9jRnVuYzwvYT4gKiByZWFsbG9jRnVuYywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbG1lbW9yeS5odG1sI3htbFN0cmR1cEZ1bmMiPnhtbFN0cmR1cEZ1bmM8L2E+ICogc3RyZHVwRnVuYyk8YnIvPgorPC9wcmU+PHA+UHJvdmlkZXMgdGhlIG1lbW9yeSBhY2Nlc3MgZnVuY3Rpb25zIHNldCBjdXJyZW50bHkgaW4gdXNlIFRoZSBtYWxsb2NBdG9taWNGdW5jIGlzIHNwZWNpYWxpemVkIGZvciBhdG9taWMgYmxvY2sgYWxsb2NhdGlvbnMgKGkuZS4gb2YgYXJlYXMgdXNlZnVsIGZvciBnYXJiYWdlIGNvbGxlY3RlZCBtZW1vcnkgYWxsb2NhdG9yczwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZnJlZUZ1bmM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnBsYWNlIHRvIHNhdmUgdGhlIGZyZWUoKSBmdW5jdGlvbiBpbiB1c2U8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm1hbGxvY0Z1bmM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnBsYWNlIHRvIHNhdmUgdGhlIG1hbGxvYygpIGZ1bmN0aW9uIGluIHVzZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bWFsbG9jQXRvbWljRnVuYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+cGxhY2UgdG8gc2F2ZSB0aGUgYXRvbWljIG1hbGxvYygpIGZ1bmN0aW9uIGluIHVzZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVhbGxvY0Z1bmM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnBsYWNlIHRvIHNhdmUgdGhlIHJlYWxsb2MoKSBmdW5jdGlvbiBpbiB1c2U8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0cmR1cEZ1bmM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnBsYWNlIHRvIHNhdmUgdGhlIHN0cmR1cCgpIGZ1bmN0aW9uIGluIHVzZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBvbiBzdWNjZXNzPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sR2NNZW1TZXR1cCIvPnhtbEdjTWVtU2V0dXAgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sR2NNZW1TZXR1cAkJCSg8YSBocmVmPSJsaWJ4bWwyLXhtbG1lbW9yeS5odG1sI3htbEZyZWVGdW5jIj54bWxGcmVlRnVuYzwvYT4gZnJlZUZ1bmMsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxtZW1vcnkuaHRtbCN4bWxNYWxsb2NGdW5jIj54bWxNYWxsb2NGdW5jPC9hPiBtYWxsb2NGdW5jLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sbWVtb3J5Lmh0bWwjeG1sTWFsbG9jRnVuYyI+eG1sTWFsbG9jRnVuYzwvYT4gbWFsbG9jQXRvbWljRnVuYywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbG1lbW9yeS5odG1sI3htbFJlYWxsb2NGdW5jIj54bWxSZWFsbG9jRnVuYzwvYT4gcmVhbGxvY0Z1bmMsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxtZW1vcnkuaHRtbCN4bWxTdHJkdXBGdW5jIj54bWxTdHJkdXBGdW5jPC9hPiBzdHJkdXBGdW5jKTxici8+Cis8L3ByZT48cD5PdmVycmlkZSB0aGUgZGVmYXVsdCBtZW1vcnkgYWNjZXNzIGZ1bmN0aW9ucyB3aXRoIGEgbmV3IHNldCBUaGlzIGhhcyB0byBiZSBjYWxsZWQgYmVmb3JlIGFueSBvdGhlciBsaWJ4bWwgcm91dGluZXMgISBUaGUgbWFsbG9jQXRvbWljRnVuYyBpcyBzcGVjaWFsaXplZCBmb3IgYXRvbWljIGJsb2NrIGFsbG9jYXRpb25zIChpLmUuIG9mIGFyZWFzIHVzZWZ1bCBmb3IgZ2FyYmFnZSBjb2xsZWN0ZWQgbWVtb3J5IGFsbG9jYXRvcnMgU2hvdWxkIHRoaXMgYmUgYmxvY2tlZCBpZiB0aGVyZSB3YXMgYWxyZWFkeSBzb21lIGFsbG9jYXRpb25zIGRvbmUgPzwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZnJlZUZ1bmM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmcmVlKCkgZnVuY3Rpb24gdG8gdXNlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5tYWxsb2NGdW5jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbWFsbG9jKCkgZnVuY3Rpb24gdG8gdXNlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5tYWxsb2NBdG9taWNGdW5jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbWFsbG9jKCkgZnVuY3Rpb24gdG8gdXNlIGZvciBhdG9taWMgYWxsb2NhdGlvbnM8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJlYWxsb2NGdW5jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmVhbGxvYygpIGZ1bmN0aW9uIHRvIHVzZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3RyZHVwRnVuYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHN0cmR1cCgpIGZ1bmN0aW9uIHRvIHVzZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBvbiBzdWNjZXNzPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sSW5pdE1lbW9yeSIvPnhtbEluaXRNZW1vcnkgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sSW5pdE1lbW9yeQkJCSh2b2lkKTxici8+Cis8L3ByZT48cD5Jbml0aWFsaXplIHRoZSBtZW1vcnkgbGF5ZXIuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIG9uIHN1Y2Nlc3M8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxNYWxsb2NBdG9taWNMb2MiLz54bWxNYWxsb2NBdG9taWNMb2MgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkICoJeG1sTWFsbG9jQXRvbWljTG9jCQkoc2l6ZV90IHNpemUsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGZpbGUsIDxici8+CQkJCQkgaW50IGxpbmUpPGJyLz4KKzwvcHJlPjxwPmEgbWFsbG9jKCkgZXF1aXZhbGVudCwgd2l0aCBsb2dnaW5nIG9mIHRoZSBhbGxvY2F0aW9uIGluZm8uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zaXplPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBpbnQgc3BlY2lmeWluZyB0aGUgc2l6ZSBpbiBieXRlIHRvIGFsbG9jYXRlLjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmlsZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZpbGUgbmFtZSBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5saW5lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbGluZSBudW1iZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byB0aGUgYWxsb2NhdGVkIGFyZWEgb3IgTlVMTCBpbiBjYXNlIG9mIGxhY2sgb2YgbWVtb3J5LjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE1hbGxvY0xvYyIvPnhtbE1hbGxvY0xvYyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQgKgl4bWxNYWxsb2NMb2MJCQkoc2l6ZV90IHNpemUsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGZpbGUsIDxici8+CQkJCQkgaW50IGxpbmUpPGJyLz4KKzwvcHJlPjxwPmEgbWFsbG9jKCkgZXF1aXZhbGVudCwgd2l0aCBsb2dnaW5nIG9mIHRoZSBhbGxvY2F0aW9uIGluZm8uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zaXplPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBpbnQgc3BlY2lmeWluZyB0aGUgc2l6ZSBpbiBieXRlIHRvIGFsbG9jYXRlLjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmlsZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZpbGUgbmFtZSBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5saW5lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbGluZSBudW1iZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byB0aGUgYWxsb2NhdGVkIGFyZWEgb3IgTlVMTCBpbiBjYXNlIG9mIGxhY2sgb2YgbWVtb3J5LjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE1lbUJsb2NrcyIvPnhtbE1lbUJsb2NrcyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxNZW1CbG9ja3MJCQkodm9pZCk8YnIvPgorPC9wcmU+PHA+UHJvdmlkZXMgdGhlIG51bWJlciBvZiBtZW1vcnkgYXJlYXMgY3VycmVudGx5IGFsbG9jYXRlZDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gaW50IHJlcHJlc2VudGluZyB0aGUgbnVtYmVyIG9mIGJsb2NrczwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE1lbURpc3BsYXkiLz54bWxNZW1EaXNwbGF5ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxNZW1EaXNwbGF5CQkJKEZJTEUgKiBmcCk8YnIvPgorPC9wcmU+PHA+c2hvdyBpbi1leHRlbnNvIHRoZSBtZW1vcnkgYmxvY2tzIGFsbG9jYXRlZDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZnA8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgRklMRSBkZXNjcmlwdG9yIHVzZWQgYXMgdGhlIG91dHB1dCBmaWxlLCBpZiBOVUxMLCB0aGUgcmVzdWx0IGlzIHdyaXR0ZW4gdG8gdGhlIGZpbGUgLm1lbW9yeWxpc3Q8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxNZW1EaXNwbGF5TGFzdCIvPnhtbE1lbURpc3BsYXlMYXN0ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxNZW1EaXNwbGF5TGFzdAkJKEZJTEUgKiBmcCwgPGJyLz4JCQkJCSBsb25nIG5iQnl0ZXMpPGJyLz4KKzwvcHJlPjxwPnRoZSBsYXN0IG5iQnl0ZXMgb2YgbWVtb3J5IGFsbG9jYXRlZCBhbmQgbm90IGZyZWVkLCB1c2VmdWwgZm9yIGR1bXBpbmcgdGhlIG1lbW9yeSBsZWZ0IGFsbG9jYXRlZCBiZXR3ZWVuIHR3byBwbGFjZXMgYXQgcnVudGltZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZwPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIEZJTEUgZGVzY3JpcHRvciB1c2VkIGFzIHRoZSBvdXRwdXQgZmlsZSwgaWYgTlVMTCwgdGhlIHJlc3VsdCBpcyB3cml0dGVuIHRvIHRoZSBmaWxlIC5tZW1vcnlsaXN0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYkJ5dGVzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYW1vdW50IG9mIG1lbW9yeSB0byBkdW1wPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTWVtRnJlZSIvPnhtbE1lbUZyZWUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbE1lbUZyZWUJCQkodm9pZCAqIHB0cik8YnIvPgorPC9wcmU+PHA+YSBmcmVlKCkgZXF1aXZhbGVudCwgd2l0aCBlcnJvciBjaGVja2luZy48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnB0cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG1lbW9yeSBibG9jayBwb2ludGVyPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTWVtR2V0Ii8+eG1sTWVtR2V0ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbE1lbUdldAkJCSg8YSBocmVmPSJsaWJ4bWwyLXhtbG1lbW9yeS5odG1sI3htbEZyZWVGdW5jIj54bWxGcmVlRnVuYzwvYT4gKiBmcmVlRnVuYywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbG1lbW9yeS5odG1sI3htbE1hbGxvY0Z1bmMiPnhtbE1hbGxvY0Z1bmM8L2E+ICogbWFsbG9jRnVuYywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbG1lbW9yeS5odG1sI3htbFJlYWxsb2NGdW5jIj54bWxSZWFsbG9jRnVuYzwvYT4gKiByZWFsbG9jRnVuYywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbG1lbW9yeS5odG1sI3htbFN0cmR1cEZ1bmMiPnhtbFN0cmR1cEZ1bmM8L2E+ICogc3RyZHVwRnVuYyk8YnIvPgorPC9wcmU+PHA+UHJvdmlkZXMgdGhlIG1lbW9yeSBhY2Nlc3MgZnVuY3Rpb25zIHNldCBjdXJyZW50bHkgaW4gdXNlPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mcmVlRnVuYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+cGxhY2UgdG8gc2F2ZSB0aGUgZnJlZSgpIGZ1bmN0aW9uIGluIHVzZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bWFsbG9jRnVuYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+cGxhY2UgdG8gc2F2ZSB0aGUgbWFsbG9jKCkgZnVuY3Rpb24gaW4gdXNlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWFsbG9jRnVuYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+cGxhY2UgdG8gc2F2ZSB0aGUgcmVhbGxvYygpIGZ1bmN0aW9uIGluIHVzZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3RyZHVwRnVuYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+cGxhY2UgdG8gc2F2ZSB0aGUgc3RyZHVwKCkgZnVuY3Rpb24gaW4gdXNlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIG9uIHN1Y2Nlc3M8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxNZW1NYWxsb2MiLz54bWxNZW1NYWxsb2MgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkICoJeG1sTWVtTWFsbG9jCQkJKHNpemVfdCBzaXplKTxici8+Cis8L3ByZT48cD5hIG1hbGxvYygpIGVxdWl2YWxlbnQsIHdpdGggbG9nZ2luZyBvZiB0aGUgYWxsb2NhdGlvbiBpbmZvLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2l6ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gaW50IHNwZWNpZnlpbmcgdGhlIHNpemUgaW4gYnl0ZSB0byBhbGxvY2F0ZS48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byB0aGUgYWxsb2NhdGVkIGFyZWEgb3IgTlVMTCBpbiBjYXNlIG9mIGxhY2sgb2YgbWVtb3J5LjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE1lbVJlYWxsb2MiLz54bWxNZW1SZWFsbG9jICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZCAqCXhtbE1lbVJlYWxsb2MJCQkodm9pZCAqIHB0ciwgPGJyLz4JCQkJCSBzaXplX3Qgc2l6ZSk8YnIvPgorPC9wcmU+PHA+YSByZWFsbG9jKCkgZXF1aXZhbGVudCwgd2l0aCBsb2dnaW5nIG9mIHRoZSBhbGxvY2F0aW9uIGluZm8uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wdHI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBpbml0aWFsIG1lbW9yeSBibG9jayBwb2ludGVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zaXplPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBpbnQgc3BlY2lmeWluZyB0aGUgc2l6ZSBpbiBieXRlIHRvIGFsbG9jYXRlLjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIHRoZSBhbGxvY2F0ZWQgYXJlYSBvciBOVUxMIGluIGNhc2Ugb2YgbGFjayBvZiBtZW1vcnkuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTWVtU2V0dXAiLz54bWxNZW1TZXR1cCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxNZW1TZXR1cAkJCSg8YSBocmVmPSJsaWJ4bWwyLXhtbG1lbW9yeS5odG1sI3htbEZyZWVGdW5jIj54bWxGcmVlRnVuYzwvYT4gZnJlZUZ1bmMsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxtZW1vcnkuaHRtbCN4bWxNYWxsb2NGdW5jIj54bWxNYWxsb2NGdW5jPC9hPiBtYWxsb2NGdW5jLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sbWVtb3J5Lmh0bWwjeG1sUmVhbGxvY0Z1bmMiPnhtbFJlYWxsb2NGdW5jPC9hPiByZWFsbG9jRnVuYywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbG1lbW9yeS5odG1sI3htbFN0cmR1cEZ1bmMiPnhtbFN0cmR1cEZ1bmM8L2E+IHN0cmR1cEZ1bmMpPGJyLz4KKzwvcHJlPjxwPk92ZXJyaWRlIHRoZSBkZWZhdWx0IG1lbW9yeSBhY2Nlc3MgZnVuY3Rpb25zIHdpdGggYSBuZXcgc2V0IFRoaXMgaGFzIHRvIGJlIGNhbGxlZCBiZWZvcmUgYW55IG90aGVyIGxpYnhtbCByb3V0aW5lcyAhIFNob3VsZCB0aGlzIGJlIGJsb2NrZWQgaWYgdGhlcmUgd2FzIGFscmVhZHkgc29tZSBhbGxvY2F0aW9ucyBkb25lID88L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZyZWVGdW5jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZnJlZSgpIGZ1bmN0aW9uIHRvIHVzZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bWFsbG9jRnVuYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG1hbGxvYygpIGZ1bmN0aW9uIHRvIHVzZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVhbGxvY0Z1bmM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSByZWFsbG9jKCkgZnVuY3Rpb24gdG8gdXNlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdHJkdXBGdW5jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc3RyZHVwKCkgZnVuY3Rpb24gdG8gdXNlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIG9uIHN1Y2Nlc3M8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxNZW1TaG93Ii8+eG1sTWVtU2hvdyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sTWVtU2hvdwkJCShGSUxFICogZnAsIDxici8+CQkJCQkgaW50IG5yKTxici8+Cis8L3ByZT48cD5zaG93IGEgc2hvdyBkaXNwbGF5IG9mIHRoZSBtZW1vcnkgYWxsb2NhdGVkLCBhbmQgZHVtcCB0aGUgQG5yIGxhc3QgYWxsb2NhdGVkIGFyZWFzIHdoaWNoIHdlcmUgbm90IGZyZWVkPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mcDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBGSUxFIGRlc2NyaXB0b3IgdXNlZCBhcyB0aGUgb3V0cHV0IGZpbGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5yPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5udW1iZXIgb2YgZW50cmllcyB0byBkdW1wPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTWVtU3RyZHVwTG9jIi8+eG1sTWVtU3RyZHVwTG9jICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Y2hhciAqCXhtbE1lbVN0cmR1cExvYwkJCShjb25zdCBjaGFyICogc3RyLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBmaWxlLCA8YnIvPgkJCQkJIGludCBsaW5lKTxici8+Cis8L3ByZT48cD5hIHN0cmR1cCgpIGVxdWl2YWxlbnQsIHdpdGggbG9nZ2luZyBvZiB0aGUgYWxsb2NhdGlvbiBpbmZvLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3RyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaW5pdGlhbCBzdHJpbmcgcG9pbnRlcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmlsZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZpbGUgbmFtZSBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5saW5lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbGluZSBudW1iZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byB0aGUgbmV3IHN0cmluZyBvciBOVUxMIGlmIGFsbG9jYXRpb24gZXJyb3Igb2NjdXJyZWQuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTWVtVXNlZCIvPnhtbE1lbVVzZWQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sTWVtVXNlZAkJCSh2b2lkKTxici8+Cis8L3ByZT48cD5Qcm92aWRlcyB0aGUgYW1vdW50IG9mIG1lbW9yeSBjdXJyZW50bHkgYWxsb2NhdGVkPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBpbnQgcmVwcmVzZW50aW5nIHRoZSBhbW91bnQgb2YgbWVtb3J5IGFsbG9jYXRlZC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxNZW1vcnlEdW1wIi8+eG1sTWVtb3J5RHVtcCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sTWVtb3J5RHVtcAkJCSh2b2lkKTxici8+Cis8L3ByZT48cD5EdW1wIGluLWV4dGVuc28gdGhlIG1lbW9yeSBibG9ja3MgYWxsb2NhdGVkIHRvIHRoZSBmaWxlIC5tZW1vcnlsaXN0PC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE1lbW9yeVN0cmR1cCIvPnhtbE1lbW9yeVN0cmR1cCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmNoYXIgKgl4bWxNZW1vcnlTdHJkdXAJCQkoY29uc3QgY2hhciAqIHN0cik8YnIvPgorPC9wcmU+PHA+YSBzdHJkdXAoKSBlcXVpdmFsZW50LCB3aXRoIGxvZ2dpbmcgb2YgdGhlIGFsbG9jYXRpb24gaW5mby48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGluaXRpYWwgc3RyaW5nIHBvaW50ZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byB0aGUgbmV3IHN0cmluZyBvciBOVUxMIGlmIGFsbG9jYXRpb24gZXJyb3Igb2NjdXJyZWQuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUmVhbGxvY0xvYyIvPnhtbFJlYWxsb2NMb2MgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkICoJeG1sUmVhbGxvY0xvYwkJCSh2b2lkICogcHRyLCA8YnIvPgkJCQkJIHNpemVfdCBzaXplLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBmaWxlLCA8YnIvPgkJCQkJIGludCBsaW5lKTxici8+Cis8L3ByZT48cD5hIHJlYWxsb2MoKSBlcXVpdmFsZW50LCB3aXRoIGxvZ2dpbmcgb2YgdGhlIGFsbG9jYXRpb24gaW5mby48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnB0cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGluaXRpYWwgbWVtb3J5IGJsb2NrIHBvaW50ZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNpemU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIGludCBzcGVjaWZ5aW5nIHRoZSBzaXplIGluIGJ5dGUgdG8gYWxsb2NhdGUuPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZmlsZSBuYW1lIG9yIE5VTEw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxpbmU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsaW5lIG51bWJlcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIHRoZSBhbGxvY2F0ZWQgYXJlYSBvciBOVUxMIGluIGNhc2Ugb2YgbGFjayBvZiBtZW1vcnkuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgIDwvZGl2PgorICAgIDwvZGl2PgorICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9kZXZoZWxwL2xpYnhtbDIteG1sbW9kdWxlLmh0bWwgYi9saWJ4bWwyL2RvYy9kZXZoZWxwL2xpYnhtbDIteG1sbW9kdWxlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDhiYjRlZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL2RldmhlbHAvbGlieG1sMi14bWxtb2R1bGUuaHRtbApAQCAtMCwwICsxLDk3IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPGh0bWw+CisgIDxoZWFkPgorICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ii8+CisgICAgPHRpdGxlPnhtbG1vZHVsZTogZHluYW1pYyBtb2R1bGUgbG9hZGluZzwvdGl0bGU+CisgICAgPG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJMaWJ4bWwyIGRldmhlbHAgc3R5bGVzaGVldCIvPgorICAgIDxsaW5rIHJlbD0ic3RhcnQiIGhyZWY9ImluZGV4Lmh0bWwiIHRpdGxlPSJsaWJ4bWwyIFJlZmVyZW5jZSBNYW51YWwiLz4KKyAgICA8bGluayByZWw9InVwIiBocmVmPSJnZW5lcmFsLmh0bWwiIHRpdGxlPSJBUEkiLz4KKyAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9InN0eWxlLmNzcyIgdHlwZT0idGV4dC9jc3MiLz4KKyAgICA8bGluayByZWw9ImNoYXB0ZXIiIGhyZWY9ImdlbmVyYWwuaHRtbCIgdGl0bGU9IkFQSSIvPgorICA8L2hlYWQ+CisgIDxib2R5IGJnY29sb3I9IndoaXRlIiB0ZXh0PSJibGFjayIgbGluaz0iIzAwMDBGRiIgdmxpbms9IiM4NDAwODQiIGFsaW5rPSIjMDAwMEZGIj4KKyAgICA8dGFibGUgY2xhc3M9Im5hdmlnYXRpb24iIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIyIj4KKyAgICAgIDx0ciB2YWxpZ249Im1pZGRsZSI+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImxpYnhtbDIteG1sbWVtb3J5Lmh0bWwiPgorICAgICAgICAgICAgPGltZyBzcmM9ImxlZnQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJQcmV2Ii8+CisgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGQ+CisgICAgICAgICAgPGEgYWNjZXNza2V5PSJ1IiBocmVmPSJnZW5lcmFsLmh0bWwiPgorICAgICAgICAgICAgPGltZyBzcmM9InVwLnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iVXAiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9ImgiIGhyZWY9ImluZGV4Lmh0bWwiPgorICAgICAgICAgICAgPGltZyBzcmM9ImhvbWUucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJIb21lIi8+CisgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGQ+CisgICAgICAgICAgPGEgYWNjZXNza2V5PSJuIiBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sIj4KKyAgICAgICAgICAgIDxpbWcgc3JjPSJyaWdodC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9Ik5leHQiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0aCB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+bGlieG1sMiBSZWZlcmVuY2UgTWFudWFsPC90aD4KKyAgICAgIDwvdHI+CisgICAgPC90YWJsZT4KKyAgICA8aDI+CisgICAgICA8c3BhbiBjbGFzcz0icmVmZW50cnl0aXRsZSI+eG1sbW9kdWxlPC9zcGFuPgorICAgIDwvaDI+CisgICAgPHA+eG1sbW9kdWxlIC0gZHluYW1pYyBtb2R1bGUgbG9hZGluZzwvcD4KKyAgICA8cD5iYXNpYyBBUEkgZm9yIGR5bmFtaWMgbW9kdWxlIGxvYWRpbmcsIHVzZWQgYnkgbGliZXhzbHQgYWRkZWQgaW4gMi42LjE3IDwvcD4KKyAgICA8cD5BdXRob3Iocyk6IEpvZWwgVy4gUmVlZCA8L3A+CisgICAgPGRpdiBjbGFzcz0icmVmc3lub3BzaXNkaXYiPgorICAgICAgPGgyPlN5bm9wc2lzPC9oMj4KKyAgICAgIDxwcmUgY2xhc3M9InN5bm9wc2lzIj50eXBlZGVmIHN0cnVjdCBfeG1sTW9kdWxlIDxhIGhyZWY9IiN4bWxNb2R1bGUiPnhtbE1vZHVsZTwvYT47Cit0eXBlZGVmIDxhIGhyZWY9ImxpYnhtbDIteG1sbW9kdWxlLmh0bWwjeG1sTW9kdWxlIj54bWxNb2R1bGU8L2E+ICogPGEgaHJlZj0iI3htbE1vZHVsZVB0ciI+eG1sTW9kdWxlUHRyPC9hPjsKK3R5cGVkZWYgZW51bSA8YSBocmVmPSIjeG1sTW9kdWxlT3B0aW9uIj54bWxNb2R1bGVPcHRpb248L2E+OworaW50CTxhIGhyZWY9IiN4bWxNb2R1bGVGcmVlIj54bWxNb2R1bGVGcmVlPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwyLXhtbG1vZHVsZS5odG1sI3htbE1vZHVsZVB0ciI+eG1sTW9kdWxlUHRyPC9hPiBtb2R1bGUpOworaW50CTxhIGhyZWY9IiN4bWxNb2R1bGVTeW1ib2wiPnhtbE1vZHVsZVN5bWJvbDwvYT4JCQkoPGEgaHJlZj0ibGlieG1sMi14bWxtb2R1bGUuaHRtbCN4bWxNb2R1bGVQdHIiPnhtbE1vZHVsZVB0cjwvYT4gbW9kdWxlLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBuYW1lLCA8YnIvPgkJCQkJIHZvaWQgKiogc3ltYm9sKTsKKzxhIGhyZWY9ImxpYnhtbDIteG1sbW9kdWxlLmh0bWwjeG1sTW9kdWxlUHRyIj54bWxNb2R1bGVQdHI8L2E+CTxhIGhyZWY9IiN4bWxNb2R1bGVPcGVuIj54bWxNb2R1bGVPcGVuPC9hPgkJKGNvbnN0IGNoYXIgKiBuYW1lLCA8YnIvPgkJCQkJIGludCBvcHRpb25zKTsKK2ludAk8YSBocmVmPSIjeG1sTW9kdWxlQ2xvc2UiPnhtbE1vZHVsZUNsb3NlPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwyLXhtbG1vZHVsZS5odG1sI3htbE1vZHVsZVB0ciI+eG1sTW9kdWxlUHRyPC9hPiBtb2R1bGUpOworPC9wcmU+CisgICAgPC9kaXY+CisgICAgPGRpdiBjbGFzcz0icmVmc2VjdDEiIGxhbmc9ImVuIj4KKyAgICAgIDxoMj5EZXNjcmlwdGlvbjwvaDI+CisgICAgPC9kaXY+CisgICAgPGRpdiBjbGFzcz0icmVmc2VjdDEiIGxhbmc9ImVuIj4KKyAgICAgIDxoMj5EZXRhaWxzPC9oMj4KKyAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE1vZHVsZSI+U3RydWN0dXJlIDwvYT54bWxNb2R1bGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5zdHJ1Y3QgX3htbE1vZHVsZSB7CitUaGUgY29udGVudCBvZiB0aGlzIHN0cnVjdHVyZSBpcyBub3QgbWFkZSBwdWJsaWMgYnkgdGhlIEFQSS4KK30geG1sTW9kdWxlOworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE1vZHVsZU9wdGlvbiI+RW51bSA8L2E+eG1sTW9kdWxlT3B0aW9uPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+ZW51bSA8YSBocmVmPSIjeG1sTW9kdWxlT3B0aW9uIj54bWxNb2R1bGVPcHRpb248L2E+IHsKKyAgICA8YSBuYW1lPSJYTUxfTU9EVUxFX0xBWlkiPlhNTF9NT0RVTEVfTEFaWTwvYT4gPSAxIC8qIGxhenkgYmluZGluZyAqLworICAgIDxhIG5hbWU9IlhNTF9NT0RVTEVfTE9DQUwiPlhNTF9NT0RVTEVfTE9DQUw8L2E+ID0gMiAvKiAgbG9jYWwgYmluZGluZyAqLworfTsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxNb2R1bGVQdHIiPlR5cGVkZWYgPC9hPnhtbE1vZHVsZVB0cjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1sbW9kdWxlLmh0bWwjeG1sTW9kdWxlIj54bWxNb2R1bGU8L2E+ICogeG1sTW9kdWxlUHRyOworPC9wcmU+PHA+QSBoYW5kbGUgdG8gYSBkeW5hbWljYWxseSBsb2FkZWQgbW9kdWxlPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE1vZHVsZUNsb3NlIi8+eG1sTW9kdWxlQ2xvc2UgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sTW9kdWxlQ2xvc2UJCQkoPGEgaHJlZj0ibGlieG1sMi14bWxtb2R1bGUuaHRtbCN4bWxNb2R1bGVQdHIiPnhtbE1vZHVsZVB0cjwvYT4gbW9kdWxlKTxici8+Cis8L3ByZT48cD5UaGUgY2xvc2Ugb3BlcmF0aW9ucyB1bmxvYWQgdGhlIGFzc29jaWF0ZWQgbW9kdWxlIGFuZCBmcmVlIHRoZSBkYXRhIGFzc29jaWF0ZWQgdG8gdGhlIG1vZHVsZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm1vZHVsZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG1vZHVsZSBoYW5kbGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaW4gY2FzZSBvZiBzdWNjZXNzLCAtMSBpbiBjYXNlIG9mIGFyZ3VtZW50IGVycm9yIGFuZCAtMiBpZiB0aGUgbW9kdWxlIGNvdWxkIG5vdCBiZSBjbG9zZWQvdW5sb2FkZWQuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTW9kdWxlRnJlZSIvPnhtbE1vZHVsZUZyZWUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sTW9kdWxlRnJlZQkJCSg8YSBocmVmPSJsaWJ4bWwyLXhtbG1vZHVsZS5odG1sI3htbE1vZHVsZVB0ciI+eG1sTW9kdWxlUHRyPC9hPiBtb2R1bGUpPGJyLz4KKzwvcHJlPjxwPlRoZSBmcmVlIG9wZXJhdGlvbnMgZnJlZSB0aGUgZGF0YSBhc3NvY2lhdGVkIHRvIHRoZSBtb2R1bGUgYnV0IGRvZXMgbm90IHVubG9hZCB0aGUgYXNzb2NpYXRlZCBzaGFyZWQgbGlicmFyeSB3aGljaCBtYXkgc3RpbGwgYmUgaW4gdXNlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bW9kdWxlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbW9kdWxlIGhhbmRsZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpbiBjYXNlIG9mIHN1Y2Nlc3MsIC0xIGluIGNhc2Ugb2YgYXJndW1lbnQgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxNb2R1bGVPcGVuIi8+eG1sTW9kdWxlT3BlbiAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1sbW9kdWxlLmh0bWwjeG1sTW9kdWxlUHRyIj54bWxNb2R1bGVQdHI8L2E+CXhtbE1vZHVsZU9wZW4JCShjb25zdCBjaGFyICogbmFtZSwgPGJyLz4JCQkJCSBpbnQgb3B0aW9ucyk8YnIvPgorPC9wcmU+PHA+T3BlbnMgYSBtb2R1bGUvc2hhcmVkIGxpYnJhcnkgZ2l2ZW4gaXRzIG5hbWUgb3IgcGF0aCBOT1RFOiB0aGF0IGR1ZSB0byBwb3J0YWJpbGl0eSBpc3N1ZXMsIGJlaGF2aW91ciBjYW4gb25seSBiZSBndWFyYW50ZWVkIHdpdGggQG5hbWUgdXNpbmcgQVNDSUkuIFdlIGNhbm90IGd1YXJhbnRlZSB0aGF0IGFuIFVURi04IHN0cmluZyB3b3VsZCB3b3JrLCB3aGljaCBpcyB3aHkgbmFtZSBpcyBhIGNvbnN0IGNoYXIgKiBhbmQgbm90IGEgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIC4gVE9ETzogb3B0aW9ucyBhcmUgbm90IHlldCBpbXBsZW1lbnRlZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBtb2R1bGUgbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3B0aW9uczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBzZXQgb2YgPGEgaHJlZj0ibGlieG1sMi14bWxtb2R1bGUuaHRtbCN4bWxNb2R1bGVPcHRpb24iPnhtbE1vZHVsZU9wdGlvbjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgaGFuZGxlIGZvciB0aGUgbW9kdWxlIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE1vZHVsZVN5bWJvbCIvPnhtbE1vZHVsZVN5bWJvbCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxNb2R1bGVTeW1ib2wJCQkoPGEgaHJlZj0ibGlieG1sMi14bWxtb2R1bGUuaHRtbCN4bWxNb2R1bGVQdHIiPnhtbE1vZHVsZVB0cjwvYT4gbW9kdWxlLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBuYW1lLCA8YnIvPgkJCQkJIHZvaWQgKiogc3ltYm9sKTxici8+Cis8L3ByZT48cD5Mb29rdXAgZm9yIGEgc3ltYm9sIGFkZHJlc3MgaW4gdGhlIGdpdmVuIG1vZHVsZSBOT1RFOiB0aGF0IGR1ZSB0byBwb3J0YWJpbGl0eSBpc3N1ZXMsIGJlaGF2aW91ciBjYW4gb25seSBiZSBndWFyYW50ZWVkIHdpdGggQG5hbWUgdXNpbmcgQVNDSUkuIFdlIGNhbm90IGd1YXJhbnRlZSB0aGF0IGFuIFVURi04IHN0cmluZyB3b3VsZCB3b3JrLCB3aGljaCBpcyB3aHkgbmFtZSBpcyBhIGNvbnN0IGNoYXIgKiBhbmQgbm90IGEgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm1vZHVsZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG1vZHVsZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5hbWUgb2YgdGhlIHN5bWJvbDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3ltYm9sPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmVzdWx0aW5nIHN5bWJvbCBhZGRyZXNzPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGlmIHRoZSBzeW1ib2wgd2FzIGZvdW5kLCBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgIDwvZGl2PgorICAgIDwvZGl2PgorICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9kZXZoZWxwL2xpYnhtbDIteG1scmVhZGVyLmh0bWwgYi9saWJ4bWwyL2RvYy9kZXZoZWxwL2xpYnhtbDIteG1scmVhZGVyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzgxNGY0MwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL2RldmhlbHAvbGlieG1sMi14bWxyZWFkZXIuaHRtbApAQCAtMCwwICsxLDU2NSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxodG1sPgorICA8aGVhZD4KKyAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIvPgorICAgIDx0aXRsZT54bWxyZWFkZXI6IHRoZSBYTUxSZWFkZXIgaW1wbGVtZW50YXRpb248L3RpdGxlPgorICAgIDxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iTGlieG1sMiBkZXZoZWxwIHN0eWxlc2hlZXQiLz4KKyAgICA8bGluayByZWw9InN0YXJ0IiBocmVmPSJpbmRleC5odG1sIiB0aXRsZT0ibGlieG1sMiBSZWZlcmVuY2UgTWFudWFsIi8+CisgICAgPGxpbmsgcmVsPSJ1cCIgaHJlZj0iZ2VuZXJhbC5odG1sIiB0aXRsZT0iQVBJIi8+CisgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJzdHlsZS5jc3MiIHR5cGU9InRleHQvY3NzIi8+CisgICAgPGxpbmsgcmVsPSJjaGFwdGVyIiBocmVmPSJnZW5lcmFsLmh0bWwiIHRpdGxlPSJBUEkiLz4KKyAgPC9oZWFkPgorICA8Ym9keSBiZ2NvbG9yPSJ3aGl0ZSIgdGV4dD0iYmxhY2siIGxpbms9IiMwMDAwRkYiIHZsaW5rPSIjODQwMDg0IiBhbGluaz0iIzAwMDBGRiI+CisgICAgPHRhYmxlIGNsYXNzPSJuYXZpZ2F0aW9uIiB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBoZWFkZXIiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMiI+CisgICAgICA8dHIgdmFsaWduPSJtaWRkbGUiPgorICAgICAgICA8dGQ+CisgICAgICAgICAgPGEgYWNjZXNza2V5PSJwIiBocmVmPSJsaWJ4bWwyLXhtbG1vZHVsZS5odG1sIj4KKyAgICAgICAgICAgIDxpbWcgc3JjPSJsZWZ0LnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iUHJldiIvPgorICAgICAgICAgIDwvYT4KKyAgICAgICAgPC90ZD4KKyAgICAgICAgPHRkPgorICAgICAgICAgIDxhIGFjY2Vzc2tleT0idSIgaHJlZj0iZ2VuZXJhbC5odG1sIj4KKyAgICAgICAgICAgIDxpbWcgc3JjPSJ1cC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlVwIi8+CisgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGQ+CisgICAgICAgICAgPGEgYWNjZXNza2V5PSJoIiBocmVmPSJpbmRleC5odG1sIj4KKyAgICAgICAgICAgIDxpbWcgc3JjPSJob21lLnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iSG9tZSIvPgorICAgICAgICAgIDwvYT4KKyAgICAgICAgPC90ZD4KKyAgICAgICAgPHRkPgorICAgICAgICAgIDxhIGFjY2Vzc2tleT0ibiIgaHJlZj0ibGlieG1sMi14bWxyZWdleHAuaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0icmlnaHQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJOZXh0Ii8+CisgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGggd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPmxpYnhtbDIgUmVmZXJlbmNlIE1hbnVhbDwvdGg+CisgICAgICA8L3RyPgorICAgIDwvdGFibGU+CisgICAgPGgyPgorICAgICAgPHNwYW4gY2xhc3M9InJlZmVudHJ5dGl0bGUiPnhtbHJlYWRlcjwvc3Bhbj4KKyAgICA8L2gyPgorICAgIDxwPnhtbHJlYWRlciAtIHRoZSBYTUxSZWFkZXIgaW1wbGVtZW50YXRpb248L3A+CisgICAgPHA+QVBJIG9mIHRoZSBYTUwgc3RyZWFtaW5nIEFQSSBiYXNlZCBvbiBDIyBpbnRlcmZhY2VzLiA8L3A+CisgICAgPHA+QXV0aG9yKHMpOiBEYW5pZWwgVmVpbGxhcmQgPC9wPgorICAgIDxkaXYgY2xhc3M9InJlZnN5bm9wc2lzZGl2Ij4KKyAgICAgIDxoMj5TeW5vcHNpczwvaDI+CisgICAgICA8cHJlIGNsYXNzPSJzeW5vcHNpcyI+dHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXIiPnhtbFRleHRSZWFkZXI8L2E+ICogPGEgaHJlZj0iI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+OwordHlwZWRlZiBlbnVtIDxhIGhyZWY9IiN4bWxQYXJzZXJTZXZlcml0aWVzIj54bWxQYXJzZXJTZXZlcml0aWVzPC9hPjsKK3R5cGVkZWYgZW51bSA8YSBocmVmPSIjeG1sUGFyc2VyUHJvcGVydGllcyI+eG1sUGFyc2VyUHJvcGVydGllczwvYT47Cit0eXBlZGVmIGVudW0gPGEgaHJlZj0iI3htbFRleHRSZWFkZXJNb2RlIj54bWxUZXh0UmVhZGVyTW9kZTwvYT47Cit0eXBlZGVmIHN0cnVjdCBfeG1sVGV4dFJlYWRlciA8YSBocmVmPSIjeG1sVGV4dFJlYWRlciI+eG1sVGV4dFJlYWRlcjwvYT47Cit0eXBlZGVmIHZvaWQgKiA8YSBocmVmPSIjeG1sVGV4dFJlYWRlckxvY2F0b3JQdHIiPnhtbFRleHRSZWFkZXJMb2NhdG9yUHRyPC9hPjsKK3R5cGVkZWYgZW51bSA8YSBocmVmPSIjeG1sUmVhZGVyVHlwZXMiPnhtbFJlYWRlclR5cGVzPC9hPjsKKzxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4JPGEgaHJlZj0iI3htbE5ld1RleHRSZWFkZXJGaWxlbmFtZSI+eG1sTmV3VGV4dFJlYWRlckZpbGVuYW1lPC9hPgkoY29uc3QgY2hhciAqIFVSSSk7CitpbnQJPGEgaHJlZj0iI3htbFRleHRSZWFkZXJIYXNBdHRyaWJ1dGVzIj54bWxUZXh0UmVhZGVySGFzQXR0cmlidXRlczwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTsKK2ludAk8YSBocmVmPSIjeG1sVGV4dFJlYWRlclJlYWRTdGF0ZSI+eG1sVGV4dFJlYWRlclJlYWRTdGF0ZTwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlcik7Cis8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+CTxhIGhyZWY9IiN4bWxSZWFkZXJGb3JGaWxlIj54bWxSZWFkZXJGb3JGaWxlPC9hPgkoY29uc3QgY2hhciAqIGZpbGVuYW1lLCA8YnIvPgkJCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcsIDxici8+CQkJCQkJIGludCBvcHRpb25zKTsKK2NvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sVGV4dFJlYWRlckNvbnN0TmFtZXNwYWNlVXJpIj54bWxUZXh0UmVhZGVyQ29uc3ROYW1lc3BhY2VVcmk8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlcik7Cis8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4JPGEgaHJlZj0iI3htbFRleHRSZWFkZXJDdXJyZW50RG9jIj54bWxUZXh0UmVhZGVyQ3VycmVudERvYzwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTsKK2ludAk8YSBocmVmPSIjeG1sVGV4dFJlYWRlckdldFBhcnNlckxpbmVOdW1iZXIiPnhtbFRleHRSZWFkZXJHZXRQYXJzZXJMaW5lTnVtYmVyPC9hPgkoPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIpOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JPGEgaHJlZj0iI3htbFRleHRSZWFkZXJFeHBhbmQiPnhtbFRleHRSZWFkZXJFeHBhbmQ8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlcik7Cis8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbFRleHRSZWFkZXJYbWxMYW5nIj54bWxUZXh0UmVhZGVyWG1sTGFuZzwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTsKKzxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4JPGEgaHJlZj0iI3htbFJlYWRlckZvckRvYyI+eG1sUmVhZGVyRm9yRG9jPC9hPgkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGN1ciwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogVVJMLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyLz4JCQkJCSBpbnQgb3B0aW9ucyk7CitpbnQJPGEgaHJlZj0iI3htbFJlYWRlck5ld0lPIj54bWxSZWFkZXJOZXdJTzwvYT4JCQkoPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxJTy5odG1sI3htbElucHV0UmVhZENhbGxiYWNrIj54bWxJbnB1dFJlYWRDYWxsYmFjazwvYT4gaW9yZWFkLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sSU8uaHRtbCN4bWxJbnB1dENsb3NlQ2FsbGJhY2siPnhtbElucHV0Q2xvc2VDYWxsYmFjazwvYT4gaW9jbG9zZSwgPGJyLz4JCQkJCSB2b2lkICogaW9jdHgsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIFVSTCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcsIDxici8+CQkJCQkgaW50IG9wdGlvbnMpOworaW50CTxhIGhyZWY9IiN4bWxUZXh0UmVhZGVyQ2xvc2UiPnhtbFRleHRSZWFkZXJDbG9zZTwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlcik7Cis8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbFRleHRSZWFkZXJSZWFkSW5uZXJYbWwiPnhtbFRleHRSZWFkZXJSZWFkSW5uZXJYbWw8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlcik7Citjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbFRleHRSZWFkZXJDb25zdEVuY29kaW5nIj54bWxUZXh0UmVhZGVyQ29uc3RFbmNvZGluZzwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTsKK2ludAk8YSBocmVmPSIjeG1sVGV4dFJlYWRlck5vcm1hbGl6YXRpb24iPnhtbFRleHRSZWFkZXJOb3JtYWxpemF0aW9uPC9hPgkoPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIpOworaW50CTxhIGhyZWY9IiN4bWxUZXh0UmVhZGVyR2V0UGFyc2VyUHJvcCI+eG1sVGV4dFJlYWRlckdldFBhcnNlclByb3A8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlciwgPGJyLz4JCQkJCSBpbnQgcHJvcCk7CitpbnQJPGEgaHJlZj0iI3htbFRleHRSZWFkZXJNb3ZlVG9BdHRyaWJ1dGUiPnhtbFRleHRSZWFkZXJNb3ZlVG9BdHRyaWJ1dGU8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlciwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSk7CitpbnQJPGEgaHJlZj0iI3htbFRleHRSZWFkZXJRdW90ZUNoYXIiPnhtbFRleHRSZWFkZXJRdW90ZUNoYXI8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIpOworaW50CTxhIGhyZWY9IiN4bWxUZXh0UmVhZGVyU2V0U2NoZW1hIj54bWxUZXh0UmVhZGVyU2V0U2NoZW1hPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVB0ciI+eG1sU2NoZW1hUHRyPC9hPiBzY2hlbWEpOworPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxUZXh0UmVhZGVyVmFsdWUiPnhtbFRleHRSZWFkZXJWYWx1ZTwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTsKK2ludAk8YSBocmVmPSIjeG1sVGV4dFJlYWRlcklzVmFsaWQiPnhtbFRleHRSZWFkZXJJc1ZhbGlkPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTsKK2ludAk8YSBocmVmPSIjeG1sVGV4dFJlYWRlck1vdmVUb0ZpcnN0QXR0cmlidXRlIj54bWxUZXh0UmVhZGVyTW92ZVRvRmlyc3RBdHRyaWJ1dGU8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlcik7CitpbnQJPGEgaHJlZj0iI3htbFRleHRSZWFkZXJHZXRQYXJzZXJDb2x1bW5OdW1iZXIiPnhtbFRleHRSZWFkZXJHZXRQYXJzZXJDb2x1bW5OdW1iZXI8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlcik7Citjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbFRleHRSZWFkZXJDb25zdFZhbHVlIj54bWxUZXh0UmVhZGVyQ29uc3RWYWx1ZTwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTsKKzxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4JPGEgaHJlZj0iI3htbE5ld1RleHRSZWFkZXIiPnhtbE5ld1RleHRSZWFkZXI8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciI+eG1sUGFyc2VySW5wdXRCdWZmZXJQdHI8L2E+IGlucHV0LCA8YnIvPgkJCQkJCSBjb25zdCBjaGFyICogVVJJKTsKKzxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZU5vIj54bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlTm88L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlciwgPGJyLz4JCQkJCQkgaW50IG5vKTsKKzxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZU5zIj54bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlTnM8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlciwgPGJyLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGxvY2FsTmFtZSwgPGJyLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWVzcGFjZVVSSSk7Citjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbFRleHRSZWFkZXJDb25zdE5hbWUiPnhtbFRleHRSZWFkZXJDb25zdE5hbWU8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlcik7Citjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbFRleHRSZWFkZXJDb25zdFN0cmluZyI+eG1sVGV4dFJlYWRlckNvbnN0U3RyaW5nPC9hPgkoPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIsIDxici8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzdHIpOworY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxUZXh0UmVhZGVyQ29uc3RYbWxWZXJzaW9uIj54bWxUZXh0UmVhZGVyQ29uc3RYbWxWZXJzaW9uPC9hPgkoPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIpOworaW50CTxhIGhyZWY9IiN4bWxUZXh0UmVhZGVyRGVwdGgiPnhtbFRleHRSZWFkZXJEZXB0aDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlcik7Cis8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbFRleHRSZWFkZXJSZWFkU3RyaW5nIj54bWxUZXh0UmVhZGVyUmVhZFN0cmluZzwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTsKK2ludAk8YSBocmVmPSIjeG1sVGV4dFJlYWRlcklzRGVmYXVsdCI+eG1sVGV4dFJlYWRlcklzRGVmYXVsdDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlcik7CitpbnQJPGEgaHJlZj0iI3htbFRleHRSZWFkZXJNb3ZlVG9OZXh0QXR0cmlidXRlIj54bWxUZXh0UmVhZGVyTW92ZVRvTmV4dEF0dHJpYnV0ZTwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTsKK2ludAk8YSBocmVmPSIjeG1sUmVhZGVyTmV3V2Fsa2VyIj54bWxSZWFkZXJOZXdXYWxrZXI8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYyk7Citjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbFRleHRSZWFkZXJDb25zdFByZWZpeCI+eG1sVGV4dFJlYWRlckNvbnN0UHJlZml4PC9hPgkoPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIpOworPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPgk8YSBocmVmPSIjeG1sUmVhZGVyV2Fsa2VyIj54bWxSZWFkZXJXYWxrZXI8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jKTsKK2NvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sVGV4dFJlYWRlckNvbnN0TG9jYWxOYW1lIj54bWxUZXh0UmVhZGVyQ29uc3RMb2NhbE5hbWU8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlcik7CitpbnQJPGEgaHJlZj0iI3htbFRleHRSZWFkZXJOb2RlVHlwZSI+eG1sVGV4dFJlYWRlck5vZGVUeXBlPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTsKK3ZvaWQJPGEgaHJlZj0iI3htbEZyZWVUZXh0UmVhZGVyIj54bWxGcmVlVGV4dFJlYWRlcjwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlcik7Cis8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbFRleHRSZWFkZXJOYW1lIj54bWxUZXh0UmVhZGVyTmFtZTwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTsKK2ludAk8YSBocmVmPSIjeG1sVGV4dFJlYWRlclJlYWQiPnhtbFRleHRSZWFkZXJSZWFkPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTsKK2ludAk8YSBocmVmPSIjeG1sVGV4dFJlYWRlcklzRW1wdHlFbGVtZW50Ij54bWxUZXh0UmVhZGVySXNFbXB0eUVsZW1lbnQ8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlcik7CitpbnQJPGEgaHJlZj0iI3htbFJlYWRlck5ld01lbW9yeSI+eG1sUmVhZGVyTmV3TWVtb3J5PC9hPgkJKDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBidWZmZXIsIDxici8+CQkJCQkgaW50IHNpemUsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIFVSTCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcsIDxici8+CQkJCQkgaW50IG9wdGlvbnMpOworaW50CTxhIGhyZWY9IiN4bWxUZXh0UmVhZGVyU2NoZW1hVmFsaWRhdGVDdHh0Ij54bWxUZXh0UmVhZGVyU2NoZW1hVmFsaWRhdGVDdHh0PC9hPgkoPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRDdHh0UHRyIj54bWxTY2hlbWFWYWxpZEN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgaW50IG9wdGlvbnMpOworaW50CTxhIGhyZWY9IiN4bWxUZXh0UmVhZGVySGFzVmFsdWUiPnhtbFRleHRSZWFkZXJIYXNWYWx1ZTwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlcik7Citjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbFRleHRSZWFkZXJDb25zdEJhc2VVcmkiPnhtbFRleHRSZWFkZXJDb25zdEJhc2VVcmk8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlcik7Cis8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbFRleHRSZWFkZXJCYXNlVXJpIj54bWxUZXh0UmVhZGVyQmFzZVVyaTwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTsKK2ludAk8YSBocmVmPSIjeG1sVGV4dFJlYWRlck1vdmVUb0F0dHJpYnV0ZU5vIj54bWxUZXh0UmVhZGVyTW92ZVRvQXR0cmlidXRlTm88L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlciwgPGJyLz4JCQkJCSBpbnQgbm8pOworaW50CTxhIGhyZWY9IiN4bWxUZXh0UmVhZGVyTG9jYXRvckxpbmVOdW1iZXIiPnhtbFRleHRSZWFkZXJMb2NhdG9yTGluZU51bWJlcjwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckxvY2F0b3JQdHIiPnhtbFRleHRSZWFkZXJMb2NhdG9yUHRyPC9hPiBsb2NhdG9yKTsKK2ludAk8YSBocmVmPSIjeG1sVGV4dFJlYWRlck1vdmVUb0F0dHJpYnV0ZU5zIj54bWxUZXh0UmVhZGVyTW92ZVRvQXR0cmlidXRlTnM8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlciwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbG9jYWxOYW1lLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lc3BhY2VVUkkpOworaW50CTxhIGhyZWY9IiN4bWxUZXh0UmVhZGVyTmV4dCI+eG1sVGV4dFJlYWRlck5leHQ8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIpOworaW50CTxhIGhyZWY9IiN4bWxUZXh0UmVhZGVyQXR0cmlidXRlQ291bnQiPnhtbFRleHRSZWFkZXJBdHRyaWJ1dGVDb3VudDwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTsKKzxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sVGV4dFJlYWRlckxvb2t1cE5hbWVzcGFjZSI+eG1sVGV4dFJlYWRlckxvb2t1cE5hbWVzcGFjZTwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyLCA8YnIvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHJlZml4KTsKK2ludAk8YSBocmVmPSIjeG1sVGV4dFJlYWRlck1vdmVUb0VsZW1lbnQiPnhtbFRleHRSZWFkZXJNb3ZlVG9FbGVtZW50PC9hPgkoPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIpOworPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPgk8YSBocmVmPSIjeG1sUmVhZGVyRm9ySU8iPnhtbFJlYWRlckZvcklPPC9hPgkoPGEgaHJlZj0ibGlieG1sMi14bWxJTy5odG1sI3htbElucHV0UmVhZENhbGxiYWNrIj54bWxJbnB1dFJlYWRDYWxsYmFjazwvYT4gaW9yZWFkLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sSU8uaHRtbCN4bWxJbnB1dENsb3NlQ2FsbGJhY2siPnhtbElucHV0Q2xvc2VDYWxsYmFjazwvYT4gaW9jbG9zZSwgPGJyLz4JCQkJCSB2b2lkICogaW9jdHgsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIFVSTCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcsIDxici8+CQkJCQkgaW50IG9wdGlvbnMpOworPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxUZXh0UmVhZGVyUmVhZE91dGVyWG1sIj54bWxUZXh0UmVhZGVyUmVhZE91dGVyWG1sPC9hPgkoPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIpOworaW50CTxhIGhyZWY9IiN4bWxUZXh0UmVhZGVyUmVsYXhOR1ZhbGlkYXRlQ3R4dCI+eG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZUN0eHQ8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlciwgPGJyLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sMi1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0ciI+eG1sUmVsYXhOR1ZhbGlkQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCQkgaW50IG9wdGlvbnMpOworPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxUZXh0UmVhZGVyUHJlZml4Ij54bWxUZXh0UmVhZGVyUHJlZml4PC9hPgkoPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIpOworaW50CTxhIGhyZWY9IiN4bWxUZXh0UmVhZGVyUmVhZEF0dHJpYnV0ZVZhbHVlIj54bWxUZXh0UmVhZGVyUmVhZEF0dHJpYnV0ZVZhbHVlPC9hPgkoPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIpOworaW50CTxhIGhyZWY9IiN4bWxUZXh0UmVhZGVyTmV4dFNpYmxpbmciPnhtbFRleHRSZWFkZXJOZXh0U2libGluZzwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTsKK3R5cGVkZWYgdm9pZCA8YSBocmVmPSIjeG1sVGV4dFJlYWRlckVycm9yRnVuYyI+eG1sVGV4dFJlYWRlckVycm9yRnVuYzwvYT4JCSh2b2lkICogYXJnLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBtc2csIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxQYXJzZXJTZXZlcml0aWVzIj54bWxQYXJzZXJTZXZlcml0aWVzPC9hPiBzZXZlcml0eSwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJMb2NhdG9yUHRyIj54bWxUZXh0UmVhZGVyTG9jYXRvclB0cjwvYT4gbG9jYXRvcik7Cis8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+CTxhIGhyZWY9IiN4bWxSZWFkZXJGb3JGZCI+eG1sUmVhZGVyRm9yRmQ8L2E+CShpbnQgZmQsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIFVSTCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcsIDxici8+CQkJCQkgaW50IG9wdGlvbnMpOworPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlIj54bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlPC9hPgkoPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIsIDxici8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKTsKKzxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sVGV4dFJlYWRlckxvY2FsTmFtZSI+eG1sVGV4dFJlYWRlckxvY2FsTmFtZTwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTsKKzxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CTxhIGhyZWY9IiN4bWxUZXh0UmVhZGVyUHJlc2VydmUiPnhtbFRleHRSZWFkZXJQcmVzZXJ2ZTwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTsKKzxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CTxhIGhyZWY9IiN4bWxUZXh0UmVhZGVyQ3VycmVudE5vZGUiPnhtbFRleHRSZWFkZXJDdXJyZW50Tm9kZTwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTsKK2ludAk8YSBocmVmPSIjeG1sVGV4dFJlYWRlclNldFBhcnNlclByb3AiPnhtbFRleHRSZWFkZXJTZXRQYXJzZXJQcm9wPC9hPgkoPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIsIDxici8+CQkJCQkgaW50IHByb3AsIDxici8+CQkJCQkgaW50IHZhbHVlKTsKKzxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyUHRyIj54bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cjwvYT4JPGEgaHJlZj0iI3htbFRleHRSZWFkZXJHZXRSZW1haW5kZXIiPnhtbFRleHRSZWFkZXJHZXRSZW1haW5kZXI8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlcik7Cit2b2lkCTxhIGhyZWY9IiN4bWxUZXh0UmVhZGVyU2V0RXJyb3JIYW5kbGVyIj54bWxUZXh0UmVhZGVyU2V0RXJyb3JIYW5kbGVyPC9hPgkoPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyRXJyb3JGdW5jIj54bWxUZXh0UmVhZGVyRXJyb3JGdW5jPC9hPiBmLCA8YnIvPgkJCQkJIHZvaWQgKiBhcmcpOworaW50CTxhIGhyZWY9IiN4bWxUZXh0UmVhZGVySXNOYW1lc3BhY2VEZWNsIj54bWxUZXh0UmVhZGVySXNOYW1lc3BhY2VEZWNsPC9hPgkoPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIpOworaW50CTxhIGhyZWY9IiN4bWxSZWFkZXJOZXdEb2MiPnhtbFJlYWRlck5ld0RvYzwvYT4JCQkoPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGN1ciwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogVVJMLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyLz4JCQkJCSBpbnQgb3B0aW9ucyk7CitpbnQJPGEgaHJlZj0iI3htbFRleHRSZWFkZXJQcmVzZXJ2ZVBhdHRlcm4iPnhtbFRleHRSZWFkZXJQcmVzZXJ2ZVBhdHRlcm48L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlciwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcGF0dGVybiwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoqIG5hbWVzcGFjZXMpOworY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxUZXh0UmVhZGVyQ29uc3RYbWxMYW5nIj54bWxUZXh0UmVhZGVyQ29uc3RYbWxMYW5nPC9hPgkoPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIpOwordm9pZAk8YSBocmVmPSIjeG1sVGV4dFJlYWRlckdldEVycm9ySGFuZGxlciI+eG1sVGV4dFJlYWRlckdldEVycm9ySGFuZGxlcjwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckVycm9yRnVuYyI+eG1sVGV4dFJlYWRlckVycm9yRnVuYzwvYT4gKiBmLCA8YnIvPgkJCQkJIHZvaWQgKiogYXJnKTsKK3ZvaWQJPGEgaHJlZj0iI3htbFRleHRSZWFkZXJTZXRTdHJ1Y3R1cmVkRXJyb3JIYW5kbGVyIj54bWxUZXh0UmVhZGVyU2V0U3RydWN0dXJlZEVycm9ySGFuZGxlcjwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyLCA8YnIvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjeG1sU3RydWN0dXJlZEVycm9yRnVuYyI+eG1sU3RydWN0dXJlZEVycm9yRnVuYzwvYT4gZiwgPGJyLz4JCQkJCQkgdm9pZCAqIGFyZyk7CitpbnQJPGEgaHJlZj0iI3htbFJlYWRlck5ld0ZpbGUiPnhtbFJlYWRlck5ld0ZpbGU8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGZpbGVuYW1lLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyLz4JCQkJCSBpbnQgb3B0aW9ucyk7CitpbnQJPGEgaHJlZj0iI3htbFRleHRSZWFkZXJSZWxheE5HU2V0U2NoZW1hIj54bWxUZXh0UmVhZGVyUmVsYXhOR1NldFNjaGVtYTwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItcmVsYXhuZy5odG1sI3htbFJlbGF4TkdQdHIiPnhtbFJlbGF4TkdQdHI8L2E+IHNjaGVtYSk7CitpbnQJPGEgaHJlZj0iI3htbFJlYWRlck5ld0ZkIj54bWxSZWFkZXJOZXdGZDwvYT4JCQkoPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIsIDxici8+CQkJCQkgaW50IGZkLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBVUkwsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nLCA8YnIvPgkJCQkJIGludCBvcHRpb25zKTsKK2ludAk8YSBocmVmPSIjeG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZSI+eG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZTwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBybmcpOworPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPgk8YSBocmVmPSIjeG1sUmVhZGVyRm9yTWVtb3J5Ij54bWxSZWFkZXJGb3JNZW1vcnk8L2E+CShjb25zdCBjaGFyICogYnVmZmVyLCA8YnIvPgkJCQkJCSBpbnQgc2l6ZSwgPGJyLz4JCQkJCQkgY29uc3QgY2hhciAqIFVSTCwgPGJyLz4JCQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nLCA8YnIvPgkJCQkJCSBpbnQgb3B0aW9ucyk7CitpbnQJPGEgaHJlZj0iI3htbFRleHRSZWFkZXJTZXR1cCI+eG1sVGV4dFJlYWRlclNldHVwPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyUHRyIj54bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cjwvYT4gaW5wdXQsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIFVSTCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcsIDxici8+CQkJCQkgaW50IG9wdGlvbnMpOworbG9uZwk8YSBocmVmPSIjeG1sVGV4dFJlYWRlckJ5dGVDb25zdW1lZCI+eG1sVGV4dFJlYWRlckJ5dGVDb25zdW1lZDwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTsKKzxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sVGV4dFJlYWRlckxvY2F0b3JCYXNlVVJJIj54bWxUZXh0UmVhZGVyTG9jYXRvckJhc2VVUkk8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJMb2NhdG9yUHRyIj54bWxUZXh0UmVhZGVyTG9jYXRvclB0cjwvYT4gbG9jYXRvcik7Cis8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbFRleHRSZWFkZXJOYW1lc3BhY2VVcmkiPnhtbFRleHRSZWFkZXJOYW1lc3BhY2VVcmk8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlcik7CitpbnQJPGEgaHJlZj0iI3htbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZSI+eG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlPC9hPgkoPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIHhzZCk7CitpbnQJPGEgaHJlZj0iI3htbFRleHRSZWFkZXJTdGFuZGFsb25lIj54bWxUZXh0UmVhZGVyU3RhbmRhbG9uZTwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlcik7Cis8L3ByZT4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MSIgbGFuZz0iZW4iPgorICAgICAgPGgyPkRlc2NyaXB0aW9uPC9oMj4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MSIgbGFuZz0iZW4iPgorICAgICAgPGgyPkRldGFpbHM8L2gyPgorICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUGFyc2VyUHJvcGVydGllcyI+RW51bSA8L2E+eG1sUGFyc2VyUHJvcGVydGllczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmVudW0gPGEgaHJlZj0iI3htbFBhcnNlclByb3BlcnRpZXMiPnhtbFBhcnNlclByb3BlcnRpZXM8L2E+IHsKKyAgICA8YSBuYW1lPSJYTUxfUEFSU0VSX0xPQUREVEQiPlhNTF9QQVJTRVJfTE9BRERURDwvYT4gPSAxCisgICAgPGEgbmFtZT0iWE1MX1BBUlNFUl9ERUZBVUxUQVRUUlMiPlhNTF9QQVJTRVJfREVGQVVMVEFUVFJTPC9hPiA9IDIKKyAgICA8YSBuYW1lPSJYTUxfUEFSU0VSX1ZBTElEQVRFIj5YTUxfUEFSU0VSX1ZBTElEQVRFPC9hPiA9IDMKKyAgICA8YSBuYW1lPSJYTUxfUEFSU0VSX1NVQlNUX0VOVElUSUVTIj5YTUxfUEFSU0VSX1NVQlNUX0VOVElUSUVTPC9hPiA9IDQKK307Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUGFyc2VyU2V2ZXJpdGllcyI+RW51bSA8L2E+eG1sUGFyc2VyU2V2ZXJpdGllczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmVudW0gPGEgaHJlZj0iI3htbFBhcnNlclNldmVyaXRpZXMiPnhtbFBhcnNlclNldmVyaXRpZXM8L2E+IHsKKyAgICA8YSBuYW1lPSJYTUxfUEFSU0VSX1NFVkVSSVRZX1ZBTElESVRZX1dBUk5JTkciPlhNTF9QQVJTRVJfU0VWRVJJVFlfVkFMSURJVFlfV0FSTklORzwvYT4gPSAxCisgICAgPGEgbmFtZT0iWE1MX1BBUlNFUl9TRVZFUklUWV9WQUxJRElUWV9FUlJPUiI+WE1MX1BBUlNFUl9TRVZFUklUWV9WQUxJRElUWV9FUlJPUjwvYT4gPSAyCisgICAgPGEgbmFtZT0iWE1MX1BBUlNFUl9TRVZFUklUWV9XQVJOSU5HIj5YTUxfUEFSU0VSX1NFVkVSSVRZX1dBUk5JTkc8L2E+ID0gMworICAgIDxhIG5hbWU9IlhNTF9QQVJTRVJfU0VWRVJJVFlfRVJST1IiPlhNTF9QQVJTRVJfU0VWRVJJVFlfRVJST1I8L2E+ID0gNAorfTsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxSZWFkZXJUeXBlcyI+RW51bSA8L2E+eG1sUmVhZGVyVHlwZXM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5lbnVtIDxhIGhyZWY9IiN4bWxSZWFkZXJUeXBlcyI+eG1sUmVhZGVyVHlwZXM8L2E+IHsKKyAgICA8YSBuYW1lPSJYTUxfUkVBREVSX1RZUEVfTk9ORSI+WE1MX1JFQURFUl9UWVBFX05PTkU8L2E+ID0gMAorICAgIDxhIG5hbWU9IlhNTF9SRUFERVJfVFlQRV9FTEVNRU5UIj5YTUxfUkVBREVSX1RZUEVfRUxFTUVOVDwvYT4gPSAxCisgICAgPGEgbmFtZT0iWE1MX1JFQURFUl9UWVBFX0FUVFJJQlVURSI+WE1MX1JFQURFUl9UWVBFX0FUVFJJQlVURTwvYT4gPSAyCisgICAgPGEgbmFtZT0iWE1MX1JFQURFUl9UWVBFX1RFWFQiPlhNTF9SRUFERVJfVFlQRV9URVhUPC9hPiA9IDMKKyAgICA8YSBuYW1lPSJYTUxfUkVBREVSX1RZUEVfQ0RBVEEiPlhNTF9SRUFERVJfVFlQRV9DREFUQTwvYT4gPSA0CisgICAgPGEgbmFtZT0iWE1MX1JFQURFUl9UWVBFX0VOVElUWV9SRUZFUkVOQ0UiPlhNTF9SRUFERVJfVFlQRV9FTlRJVFlfUkVGRVJFTkNFPC9hPiA9IDUKKyAgICA8YSBuYW1lPSJYTUxfUkVBREVSX1RZUEVfRU5USVRZIj5YTUxfUkVBREVSX1RZUEVfRU5USVRZPC9hPiA9IDYKKyAgICA8YSBuYW1lPSJYTUxfUkVBREVSX1RZUEVfUFJPQ0VTU0lOR19JTlNUUlVDVElPTiI+WE1MX1JFQURFUl9UWVBFX1BST0NFU1NJTkdfSU5TVFJVQ1RJT048L2E+ID0gNworICAgIDxhIG5hbWU9IlhNTF9SRUFERVJfVFlQRV9DT01NRU5UIj5YTUxfUkVBREVSX1RZUEVfQ09NTUVOVDwvYT4gPSA4CisgICAgPGEgbmFtZT0iWE1MX1JFQURFUl9UWVBFX0RPQ1VNRU5UIj5YTUxfUkVBREVSX1RZUEVfRE9DVU1FTlQ8L2E+ID0gOQorICAgIDxhIG5hbWU9IlhNTF9SRUFERVJfVFlQRV9ET0NVTUVOVF9UWVBFIj5YTUxfUkVBREVSX1RZUEVfRE9DVU1FTlRfVFlQRTwvYT4gPSAxMAorICAgIDxhIG5hbWU9IlhNTF9SRUFERVJfVFlQRV9ET0NVTUVOVF9GUkFHTUVOVCI+WE1MX1JFQURFUl9UWVBFX0RPQ1VNRU5UX0ZSQUdNRU5UPC9hPiA9IDExCisgICAgPGEgbmFtZT0iWE1MX1JFQURFUl9UWVBFX05PVEFUSU9OIj5YTUxfUkVBREVSX1RZUEVfTk9UQVRJT048L2E+ID0gMTIKKyAgICA8YSBuYW1lPSJYTUxfUkVBREVSX1RZUEVfV0hJVEVTUEFDRSI+WE1MX1JFQURFUl9UWVBFX1dISVRFU1BBQ0U8L2E+ID0gMTMKKyAgICA8YSBuYW1lPSJYTUxfUkVBREVSX1RZUEVfU0lHTklGSUNBTlRfV0hJVEVTUEFDRSI+WE1MX1JFQURFUl9UWVBFX1NJR05JRklDQU5UX1dISVRFU1BBQ0U8L2E+ID0gMTQKKyAgICA8YSBuYW1lPSJYTUxfUkVBREVSX1RZUEVfRU5EX0VMRU1FTlQiPlhNTF9SRUFERVJfVFlQRV9FTkRfRUxFTUVOVDwvYT4gPSAxNQorICAgIDxhIG5hbWU9IlhNTF9SRUFERVJfVFlQRV9FTkRfRU5USVRZIj5YTUxfUkVBREVSX1RZUEVfRU5EX0VOVElUWTwvYT4gPSAxNgorICAgIDxhIG5hbWU9IlhNTF9SRUFERVJfVFlQRV9YTUxfREVDTEFSQVRJT04iPlhNTF9SRUFERVJfVFlQRV9YTUxfREVDTEFSQVRJT048L2E+ID0gMTcKK307Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVGV4dFJlYWRlciI+U3RydWN0dXJlIDwvYT54bWxUZXh0UmVhZGVyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+c3RydWN0IF94bWxUZXh0UmVhZGVyIHsKK1RoZSBjb250ZW50IG9mIHRoaXMgc3RydWN0dXJlIGlzIG5vdCBtYWRlIHB1YmxpYyBieSB0aGUgQVBJLgorfSB4bWxUZXh0UmVhZGVyOworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFRleHRSZWFkZXJMb2NhdG9yUHRyIj5UeXBlZGVmIDwvYT54bWxUZXh0UmVhZGVyTG9jYXRvclB0cjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQgKiB4bWxUZXh0UmVhZGVyTG9jYXRvclB0cjsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxUZXh0UmVhZGVyTW9kZSI+RW51bSA8L2E+eG1sVGV4dFJlYWRlck1vZGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5lbnVtIDxhIGhyZWY9IiN4bWxUZXh0UmVhZGVyTW9kZSI+eG1sVGV4dFJlYWRlck1vZGU8L2E+IHsKKyAgICA8YSBuYW1lPSJYTUxfVEVYVFJFQURFUl9NT0RFX0lOSVRJQUwiPlhNTF9URVhUUkVBREVSX01PREVfSU5JVElBTDwvYT4gPSAwCisgICAgPGEgbmFtZT0iWE1MX1RFWFRSRUFERVJfTU9ERV9JTlRFUkFDVElWRSI+WE1MX1RFWFRSRUFERVJfTU9ERV9JTlRFUkFDVElWRTwvYT4gPSAxCisgICAgPGEgbmFtZT0iWE1MX1RFWFRSRUFERVJfTU9ERV9FUlJPUiI+WE1MX1RFWFRSRUFERVJfTU9ERV9FUlJPUjwvYT4gPSAyCisgICAgPGEgbmFtZT0iWE1MX1RFWFRSRUFERVJfTU9ERV9FT0YiPlhNTF9URVhUUkVBREVSX01PREVfRU9GPC9hPiA9IDMKKyAgICA8YSBuYW1lPSJYTUxfVEVYVFJFQURFUl9NT0RFX0NMT1NFRCI+WE1MX1RFWFRSRUFERVJfTU9ERV9DTE9TRUQ8L2E+ID0gNAorICAgIDxhIG5hbWU9IlhNTF9URVhUUkVBREVSX01PREVfUkVBRElORyI+WE1MX1RFWFRSRUFERVJfTU9ERV9SRUFESU5HPC9hPiA9IDUKK307Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVGV4dFJlYWRlclB0ciI+VHlwZWRlZiA8L2E+eG1sVGV4dFJlYWRlclB0cjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlciI+eG1sVGV4dFJlYWRlcjwvYT4gKiB4bWxUZXh0UmVhZGVyUHRyOworPC9wcmU+PHA+UG9pbnRlciB0byBhbiB4bWxSZWFkZXIgY29udGV4dC48L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVGV4dFJlYWRlckVycm9yRnVuYyIvPkZ1bmN0aW9uIHR5cGUgeG1sVGV4dFJlYWRlckVycm9yRnVuYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sVGV4dFJlYWRlckVycm9yRnVuYwkJKHZvaWQgKiBhcmcsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIG1zZywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFBhcnNlclNldmVyaXRpZXMiPnhtbFBhcnNlclNldmVyaXRpZXM8L2E+IHNldmVyaXR5LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckxvY2F0b3JQdHIiPnhtbFRleHRSZWFkZXJMb2NhdG9yUHRyPC9hPiBsb2NhdG9yKTxici8+Cis8L3ByZT48cD5TaWduYXR1cmUgb2YgYW4gZXJyb3IgY2FsbGJhY2sgZnJvbSBhIHJlYWRlciBwYXJzZXI8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmFyZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgYXJndW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm1zZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG1lc3NhZ2U8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNldmVyaXR5PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc2V2ZXJpdHkgb2YgdGhlIGVycm9yPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sb2NhdG9yPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGxvY2F0b3IgaW5kaWNhdGluZyB3aGVyZSB0aGUgZXJyb3Igb2NjdXJlZDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEZyZWVUZXh0UmVhZGVyIi8+eG1sRnJlZVRleHRSZWFkZXIgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbEZyZWVUZXh0UmVhZGVyCQkoPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIpPGJyLz4KKzwvcHJlPjxwPkRlYWxsb2NhdGUgYWxsIHRoZSByZXNvdXJjZXMgYXNzb2NpYXRlZCB0byB0aGUgcmVhZGVyPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWFkZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTmV3VGV4dFJlYWRlciIvPnhtbE5ld1RleHRSZWFkZXIgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+CXhtbE5ld1RleHRSZWFkZXIJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyUHRyIj54bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cjwvYT4gaW5wdXQsIDxici8+CQkJCQkJIGNvbnN0IGNoYXIgKiBVUkkpPGJyLz4KKzwvcHJlPjxwPkNyZWF0ZSBhbiA8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXIiPnhtbFRleHRSZWFkZXI8L2E+IHN0cnVjdHVyZSBmZWQgd2l0aCBAaW5wdXQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmlucHV0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIiPnhtbFBhcnNlcklucHV0QnVmZmVyUHRyPC9hPiB1c2VkIHRvIHJlYWQgZGF0YTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+VVJJPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgVVJJIGluZm9ybWF0aW9uIGZvciB0aGUgc291cmNlIGlmIGF2YWlsYWJsZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ldyA8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE5ld1RleHRSZWFkZXJGaWxlbmFtZSIvPnhtbE5ld1RleHRSZWFkZXJGaWxlbmFtZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4JeG1sTmV3VGV4dFJlYWRlckZpbGVuYW1lCShjb25zdCBjaGFyICogVVJJKTxici8+Cis8L3ByZT48cD5DcmVhdGUgYW4gPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyIj54bWxUZXh0UmVhZGVyPC9hPiBzdHJ1Y3R1cmUgZmVkIHdpdGggdGhlIHJlc291cmNlIGF0IEBVUkk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlVSSTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFVSSSBvZiB0aGUgcmVzb3VyY2UgdG8gcHJvY2VzczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ldyA8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFJlYWRlckZvckRvYyIvPnhtbFJlYWRlckZvckRvYyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4JeG1sUmVhZGVyRm9yRG9jCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY3VyLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBVUkwsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nLCA8YnIvPgkJCQkJIGludCBvcHRpb25zKTxici8+Cis8L3ByZT48cD5DcmVhdGUgYW4geG1sdGV4dFJlYWRlciBmb3IgYW4gWE1MIGluLW1lbW9yeSBkb2N1bWVudC4gVGhlIHBhcnNpbmcgZmxhZ3MgQG9wdGlvbnMgYXJlIGEgY29tYmluYXRpb24gb2YgeG1sUGFyc2VyT3B0aW9uLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gYSB6ZXJvIHRlcm1pbmF0ZWQgc3RyaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5VUkw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBiYXNlIFVSTCB0byB1c2UgZm9yIHRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jb2Rpbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3B0aW9uczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBjb21iaW5hdGlvbiBvZiA8YSBocmVmPSJsaWJ4bWwyLXBhcnNlci5odG1sI3htbFBhcnNlck9wdGlvbiI+eG1sUGFyc2VyT3B0aW9uPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ldyByZWFkZXIgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFJlYWRlckZvckZkIi8+eG1sUmVhZGVyRm9yRmQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+CXhtbFJlYWRlckZvckZkCShpbnQgZmQsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIFVSTCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcsIDxici8+CQkJCQkgaW50IG9wdGlvbnMpPGJyLz4KKzwvcHJlPjxwPkNyZWF0ZSBhbiB4bWx0ZXh0UmVhZGVyIGZvciBhbiBYTUwgZnJvbSBhIGZpbGUgZGVzY3JpcHRvci4gVGhlIHBhcnNpbmcgZmxhZ3MgQG9wdGlvbnMgYXJlIGEgY29tYmluYXRpb24gb2YgeG1sUGFyc2VyT3B0aW9uLiBOT1RFIHRoYXQgdGhlIGZpbGUgZGVzY3JpcHRvciB3aWxsIG5vdCBiZSBjbG9zZWQgd2hlbiB0aGUgcmVhZGVyIGlzIGNsb3NlZCBvciByZXNldC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZkPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBvcGVuIGZpbGUgZGVzY3JpcHRvcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+VVJMPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYmFzZSBVUkwgdG8gdXNlIGZvciB0aGUgZG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVuY29kaW5nPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQgZW5jb2RpbmcsIG9yIE5VTEw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm9wdGlvbnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgY29tYmluYXRpb24gb2YgPGEgaHJlZj0ibGlieG1sMi1wYXJzZXIuaHRtbCN4bWxQYXJzZXJPcHRpb24iPnhtbFBhcnNlck9wdGlvbjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXcgcmVhZGVyIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxSZWFkZXJGb3JGaWxlIi8+eG1sUmVhZGVyRm9yRmlsZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4JeG1sUmVhZGVyRm9yRmlsZQkoY29uc3QgY2hhciAqIGZpbGVuYW1lLCA8YnIvPgkJCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcsIDxici8+CQkJCQkJIGludCBvcHRpb25zKTxici8+Cis8L3ByZT48cD5wYXJzZSBhbiBYTUwgZmlsZSBmcm9tIHRoZSBmaWxlc3lzdGVtIG9yIHRoZSBuZXR3b3JrLiBUaGUgcGFyc2luZyBmbGFncyBAb3B0aW9ucyBhcmUgYSBjb21iaW5hdGlvbiBvZiB4bWxQYXJzZXJPcHRpb24uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlbmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBmaWxlIG9yIFVSTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jb2Rpbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3B0aW9uczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBjb21iaW5hdGlvbiBvZiA8YSBocmVmPSJsaWJ4bWwyLXBhcnNlci5odG1sI3htbFBhcnNlck9wdGlvbiI+eG1sUGFyc2VyT3B0aW9uPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ldyByZWFkZXIgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFJlYWRlckZvcklPIi8+eG1sUmVhZGVyRm9ySU8gKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+CXhtbFJlYWRlckZvcklPCSg8YSBocmVmPSJsaWJ4bWwyLXhtbElPLmh0bWwjeG1sSW5wdXRSZWFkQ2FsbGJhY2siPnhtbElucHV0UmVhZENhbGxiYWNrPC9hPiBpb3JlYWQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxJTy5odG1sI3htbElucHV0Q2xvc2VDYWxsYmFjayI+eG1sSW5wdXRDbG9zZUNhbGxiYWNrPC9hPiBpb2Nsb3NlLCA8YnIvPgkJCQkJIHZvaWQgKiBpb2N0eCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogVVJMLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyLz4JCQkJCSBpbnQgb3B0aW9ucyk8YnIvPgorPC9wcmU+PHA+Q3JlYXRlIGFuIHhtbHRleHRSZWFkZXIgZm9yIGFuIFhNTCBkb2N1bWVudCBmcm9tIEkvTyBmdW5jdGlvbnMgYW5kIHNvdXJjZS4gVGhlIHBhcnNpbmcgZmxhZ3MgQG9wdGlvbnMgYXJlIGEgY29tYmluYXRpb24gb2YgeG1sUGFyc2VyT3B0aW9uLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aW9yZWFkPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBJL08gcmVhZCBmdW5jdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aW9jbG9zZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gSS9PIGNsb3NlIGZ1bmN0aW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pb2N0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gSS9PIGhhbmRsZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlVSTDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJhc2UgVVJMIHRvIHVzZSBmb3IgdGhlIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbmNvZGluZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50IGVuY29kaW5nLCBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vcHRpb25zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGNvbWJpbmF0aW9uIG9mIDxhIGhyZWY9ImxpYnhtbDItcGFyc2VyLmh0bWwjeG1sUGFyc2VyT3B0aW9uIj54bWxQYXJzZXJPcHRpb248L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IHJlYWRlciBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUmVhZGVyRm9yTWVtb3J5Ii8+eG1sUmVhZGVyRm9yTWVtb3J5ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPgl4bWxSZWFkZXJGb3JNZW1vcnkJKGNvbnN0IGNoYXIgKiBidWZmZXIsIDxici8+CQkJCQkJIGludCBzaXplLCA8YnIvPgkJCQkJCSBjb25zdCBjaGFyICogVVJMLCA8YnIvPgkJCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcsIDxici8+CQkJCQkJIGludCBvcHRpb25zKTxici8+Cis8L3ByZT48cD5DcmVhdGUgYW4geG1sdGV4dFJlYWRlciBmb3IgYW4gWE1MIGluLW1lbW9yeSBkb2N1bWVudC4gVGhlIHBhcnNpbmcgZmxhZ3MgQG9wdGlvbnMgYXJlIGEgY29tYmluYXRpb24gb2YgeG1sUGFyc2VyT3B0aW9uLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YnVmZmVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gYSBjaGFyIGFycmF5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zaXplPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc2l6ZSBvZiB0aGUgYXJyYXk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlVSTDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJhc2UgVVJMIHRvIHVzZSBmb3IgdGhlIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbmNvZGluZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50IGVuY29kaW5nLCBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vcHRpb25zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGNvbWJpbmF0aW9uIG9mIDxhIGhyZWY9ImxpYnhtbDItcGFyc2VyLmh0bWwjeG1sUGFyc2VyT3B0aW9uIj54bWxQYXJzZXJPcHRpb248L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IHJlYWRlciBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUmVhZGVyTmV3RG9jIi8+eG1sUmVhZGVyTmV3RG9jICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFJlYWRlck5ld0RvYwkJCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlciwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY3VyLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBVUkwsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nLCA8YnIvPgkJCQkJIGludCBvcHRpb25zKTxici8+Cis8L3ByZT48cD5TZXR1cCBhbiB4bWx0ZXh0UmVhZGVyIHRvIHBhcnNlIGFuIFhNTCBpbi1tZW1vcnkgZG9jdW1lbnQuIFRoZSBwYXJzaW5nIGZsYWdzIEBvcHRpb25zIGFyZSBhIGNvbWJpbmF0aW9uIG9mIHhtbFBhcnNlck9wdGlvbi4gVGhpcyByZXVzZXMgdGhlIGV4aXN0aW5nIEByZWFkZXIgeG1sVGV4dFJlYWRlci48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJlYWRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1MIHJlYWRlcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gYSB6ZXJvIHRlcm1pbmF0ZWQgc3RyaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5VUkw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBiYXNlIFVSTCB0byB1c2UgZm9yIHRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jb2Rpbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3B0aW9uczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBjb21iaW5hdGlvbiBvZiA8YSBocmVmPSJsaWJ4bWwyLXBhcnNlci5odG1sI3htbFBhcnNlck9wdGlvbiI+eG1sUGFyc2VyT3B0aW9uPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpbiBjYXNlIG9mIHN1Y2Nlc3MgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxSZWFkZXJOZXdGZCIvPnhtbFJlYWRlck5ld0ZkICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFJlYWRlck5ld0ZkCQkJKDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyLCA8YnIvPgkJCQkJIGludCBmZCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogVVJMLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyLz4JCQkJCSBpbnQgb3B0aW9ucyk8YnIvPgorPC9wcmU+PHA+U2V0dXAgYW4geG1sdGV4dFJlYWRlciB0byBwYXJzZSBhbiBYTUwgZnJvbSBhIGZpbGUgZGVzY3JpcHRvci4gTk9URSB0aGF0IHRoZSBmaWxlIGRlc2NyaXB0b3Igd2lsbCBub3QgYmUgY2xvc2VkIHdoZW4gdGhlIHJlYWRlciBpcyBjbG9zZWQgb3IgcmVzZXQuIFRoZSBwYXJzaW5nIGZsYWdzIEBvcHRpb25zIGFyZSBhIGNvbWJpbmF0aW9uIG9mIHhtbFBhcnNlck9wdGlvbi4gVGhpcyByZXVzZXMgdGhlIGV4aXN0aW5nIEByZWFkZXIgeG1sVGV4dFJlYWRlci48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJlYWRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1MIHJlYWRlcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5VUkw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBiYXNlIFVSTCB0byB1c2UgZm9yIHRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jb2Rpbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3B0aW9uczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBjb21iaW5hdGlvbiBvZiA8YSBocmVmPSJsaWJ4bWwyLXBhcnNlci5odG1sI3htbFBhcnNlck9wdGlvbiI+eG1sUGFyc2VyT3B0aW9uPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpbiBjYXNlIG9mIHN1Y2Nlc3MgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxSZWFkZXJOZXdGaWxlIi8+eG1sUmVhZGVyTmV3RmlsZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxSZWFkZXJOZXdGaWxlCQkoPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGZpbGVuYW1lLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyLz4JCQkJCSBpbnQgb3B0aW9ucyk8YnIvPgorPC9wcmU+PHA+cGFyc2UgYW4gWE1MIGZpbGUgZnJvbSB0aGUgZmlsZXN5c3RlbSBvciB0aGUgbmV0d29yay4gVGhlIHBhcnNpbmcgZmxhZ3MgQG9wdGlvbnMgYXJlIGEgY29tYmluYXRpb24gb2YgeG1sUGFyc2VyT3B0aW9uLiBUaGlzIHJldXNlcyB0aGUgZXhpc3RpbmcgQHJlYWRlciB4bWxUZXh0UmVhZGVyLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVhZGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcmVhZGVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlbmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBmaWxlIG9yIFVSTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jb2Rpbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3B0aW9uczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBjb21iaW5hdGlvbiBvZiA8YSBocmVmPSJsaWJ4bWwyLXBhcnNlci5odG1sI3htbFBhcnNlck9wdGlvbiI+eG1sUGFyc2VyT3B0aW9uPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpbiBjYXNlIG9mIHN1Y2Nlc3MgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxSZWFkZXJOZXdJTyIvPnhtbFJlYWRlck5ld0lPICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFJlYWRlck5ld0lPCQkJKDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sSU8uaHRtbCN4bWxJbnB1dFJlYWRDYWxsYmFjayI+eG1sSW5wdXRSZWFkQ2FsbGJhY2s8L2E+IGlvcmVhZCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbElPLmh0bWwjeG1sSW5wdXRDbG9zZUNhbGxiYWNrIj54bWxJbnB1dENsb3NlQ2FsbGJhY2s8L2E+IGlvY2xvc2UsIDxici8+CQkJCQkgdm9pZCAqIGlvY3R4LCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBVUkwsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nLCA8YnIvPgkJCQkJIGludCBvcHRpb25zKTxici8+Cis8L3ByZT48cD5TZXR1cCBhbiB4bWx0ZXh0UmVhZGVyIHRvIHBhcnNlIGFuIFhNTCBkb2N1bWVudCBmcm9tIEkvTyBmdW5jdGlvbnMgYW5kIHNvdXJjZS4gVGhlIHBhcnNpbmcgZmxhZ3MgQG9wdGlvbnMgYXJlIGEgY29tYmluYXRpb24gb2YgeG1sUGFyc2VyT3B0aW9uLiBUaGlzIHJldXNlcyB0aGUgZXhpc3RpbmcgQHJlYWRlciB4bWxUZXh0UmVhZGVyLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVhZGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcmVhZGVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pb3JlYWQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIEkvTyByZWFkIGZ1bmN0aW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pb2Nsb3NlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBJL08gY2xvc2UgZnVuY3Rpb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmlvY3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBJL08gaGFuZGxlcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+VVJMPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYmFzZSBVUkwgdG8gdXNlIGZvciB0aGUgZG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVuY29kaW5nPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQgZW5jb2RpbmcsIG9yIE5VTEw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm9wdGlvbnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgY29tYmluYXRpb24gb2YgPGEgaHJlZj0ibGlieG1sMi1wYXJzZXIuaHRtbCN4bWxQYXJzZXJPcHRpb24iPnhtbFBhcnNlck9wdGlvbjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaW4gY2FzZSBvZiBzdWNjZXNzIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUmVhZGVyTmV3TWVtb3J5Ii8+eG1sUmVhZGVyTmV3TWVtb3J5ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFJlYWRlck5ld01lbW9yeQkJKDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBidWZmZXIsIDxici8+CQkJCQkgaW50IHNpemUsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIFVSTCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcsIDxici8+CQkJCQkgaW50IG9wdGlvbnMpPGJyLz4KKzwvcHJlPjxwPlNldHVwIGFuIHhtbHRleHRSZWFkZXIgdG8gcGFyc2UgYW4gWE1MIGluLW1lbW9yeSBkb2N1bWVudC4gVGhlIHBhcnNpbmcgZmxhZ3MgQG9wdGlvbnMgYXJlIGEgY29tYmluYXRpb24gb2YgeG1sUGFyc2VyT3B0aW9uLiBUaGlzIHJldXNlcyB0aGUgZXhpc3RpbmcgQHJlYWRlciB4bWxUZXh0UmVhZGVyLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVhZGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcmVhZGVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5idWZmZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byBhIGNoYXIgYXJyYXk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNpemU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzaXplIG9mIHRoZSBhcnJheTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+VVJMPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYmFzZSBVUkwgdG8gdXNlIGZvciB0aGUgZG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVuY29kaW5nPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQgZW5jb2RpbmcsIG9yIE5VTEw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm9wdGlvbnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgY29tYmluYXRpb24gb2YgPGEgaHJlZj0ibGlieG1sMi1wYXJzZXIuaHRtbCN4bWxQYXJzZXJPcHRpb24iPnhtbFBhcnNlck9wdGlvbjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaW4gY2FzZSBvZiBzdWNjZXNzIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUmVhZGVyTmV3V2Fsa2VyIi8+eG1sUmVhZGVyTmV3V2Fsa2VyICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFJlYWRlck5ld1dhbGtlcgkJKDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MpPGJyLz4KKzwvcHJlPjxwPlNldHVwIGFuIHhtbHRleHRSZWFkZXIgdG8gcGFyc2UgYSBwcmVwYXJzZWQgWE1MIGRvY3VtZW50LiBUaGlzIHJldXNlcyB0aGUgZXhpc3RpbmcgQHJlYWRlciB4bWxUZXh0UmVhZGVyLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVhZGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcmVhZGVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcHJlcGFyc2VkIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGluIGNhc2Ugb2Ygc3VjY2VzcyBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFJlYWRlcldhbGtlciIvPnhtbFJlYWRlcldhbGtlciAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4JeG1sUmVhZGVyV2Fsa2VyCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jKTxici8+Cis8L3ByZT48cD5DcmVhdGUgYW4geG1sdGV4dFJlYWRlciBmb3IgYSBwcmVwYXJzZWQgZG9jdW1lbnQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcHJlcGFyc2VkIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IHJlYWRlciBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVGV4dFJlYWRlckF0dHJpYnV0ZUNvdW50Ii8+eG1sVGV4dFJlYWRlckF0dHJpYnV0ZUNvdW50ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRleHRSZWFkZXJBdHRyaWJ1dGVDb3VudAkoPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIpPGJyLz4KKzwvcHJlPjxwPlByb3ZpZGVzIHRoZSBudW1iZXIgb2YgYXR0cmlidXRlcyBvZiB0aGUgY3VycmVudCBub2RlPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWFkZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHVzZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaSBubyBhdHRyaWJ1dGVzLCAtMSBpbiBjYXNlIG9mIGVycm9yIG9yIHRoZSA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBjb3VudDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFRleHRSZWFkZXJCYXNlVXJpIi8+eG1sVGV4dFJlYWRlckJhc2VVcmkgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sVGV4dFJlYWRlckJhc2VVcmkJKDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTxici8+Cis8L3ByZT48cD5UaGUgYmFzZSBVUkkgb2YgdGhlIG5vZGUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWFkZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHVzZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBiYXNlIFVSSSBvciBOVUxMIGlmIG5vdCBhdmFpbGFibGUsIGlmIG5vbiBOVUxMIGl0IG5lZWQgdG8gYmUgZnJlZWQgYnkgdGhlIGNhbGxlci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxUZXh0UmVhZGVyQnl0ZUNvbnN1bWVkIi8+eG1sVGV4dFJlYWRlckJ5dGVDb25zdW1lZCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmxvbmcJeG1sVGV4dFJlYWRlckJ5dGVDb25zdW1lZAkoPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIpPGJyLz4KKzwvcHJlPjxwPlRoaXMgZnVuY3Rpb24gcHJvdmlkZXMgdGhlIGN1cnJlbnQgaW5kZXggb2YgdGhlIHBhcnNlciB1c2VkIGJ5IHRoZSByZWFkZXIsIHJlbGF0aXZlIHRvIHRoZSBzdGFydCBvZiB0aGUgY3VycmVudCBlbnRpdHkuIFRoaXMgZnVuY3Rpb24gYWN0dWFsbHkganVzdCB3cmFwcyBhIGNhbGwgdG8geG1sQnl0ZXNDb25zdW1lZCgpIGZvciB0aGUgcGFyc2VyIGNvbnRleHQgYXNzb2NpYXRlZCB3aXRoIHRoZSByZWFkZXIuIFNlZSB4bWxCeXRlc0NvbnN1bWVkKCkgZm9yIG1vcmUgaW5mb3JtYXRpb24uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWFkZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCByZWFkZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBpbmRleCBpbiBieXRlcyBmcm9tIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGVudGl0eSBvciAtMSBpbiBjYXNlIHRoZSBpbmRleCBjb3VsZCBub3QgYmUgY29tcHV0ZWQuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVGV4dFJlYWRlckNsb3NlIi8+eG1sVGV4dFJlYWRlckNsb3NlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRleHRSZWFkZXJDbG9zZQkJKDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTxici8+Cis8L3ByZT48cD5UaGlzIG1ldGhvZCByZWxlYXNlcyBhbnkgcmVzb3VyY2VzIGFsbG9jYXRlZCBieSB0aGUgY3VycmVudCBpbnN0YW5jZSBjaGFuZ2VzIHRoZSBzdGF0ZSB0byBDbG9zZWQgYW5kIGNsb3NlIGFueSB1bmRlcmx5aW5nIGlucHV0LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVhZGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiB1c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxUZXh0UmVhZGVyQ29uc3RCYXNlVXJpIi8+eG1sVGV4dFJlYWRlckNvbnN0QmFzZVVyaSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxUZXh0UmVhZGVyQ29uc3RCYXNlVXJpCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlcik8YnIvPgorPC9wcmU+PHA+VGhlIGJhc2UgVVJJIG9mIHRoZSBub2RlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVhZGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiB1c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYmFzZSBVUkkgb3IgTlVMTCBpZiBub3QgYXZhaWxhYmxlLCB0aGUgc3RyaW5nIHdpbGwgYmUgZGVhbGxvY2F0ZWQgd2l0aCB0aGUgcmVhZGVyPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVGV4dFJlYWRlckNvbnN0RW5jb2RpbmciLz54bWxUZXh0UmVhZGVyQ29uc3RFbmNvZGluZyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxUZXh0UmVhZGVyQ29uc3RFbmNvZGluZwkoPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIpPGJyLz4KKzwvcHJlPjxwPkRldGVybWluZSB0aGUgZW5jb2Rpbmcgb2YgdGhlIGRvY3VtZW50IGJlaW5nIHJlYWQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWFkZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHVzZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIGVuY29kaW5nIG9mIHRoZSBkb2N1bWVudCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuIFRoZSBzdHJpbmcgaXMgZGVhbGxvY2F0ZWQgd2l0aCB0aGUgcmVhZGVyLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFRleHRSZWFkZXJDb25zdExvY2FsTmFtZSIvPnhtbFRleHRSZWFkZXJDb25zdExvY2FsTmFtZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxUZXh0UmVhZGVyQ29uc3RMb2NhbE5hbWUJKDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTxici8+Cis8L3ByZT48cD5UaGUgbG9jYWwgbmFtZSBvZiB0aGUgbm9kZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJlYWRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gdXNlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxvY2FsIG5hbWUgb3IgTlVMTCBpZiBub3QgYXZhaWxhYmxlLCB0aGUgc3RyaW5nIHdpbGwgYmUgZGVhbGxvY2F0ZWQgd2l0aCB0aGUgcmVhZGVyLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFRleHRSZWFkZXJDb25zdE5hbWUiLz54bWxUZXh0UmVhZGVyQ29uc3ROYW1lICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Y29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbFRleHRSZWFkZXJDb25zdE5hbWUJKDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTxici8+Cis8L3ByZT48cD5UaGUgcXVhbGlmaWVkIG5hbWUgb2YgdGhlIG5vZGUsIGVxdWFsIHRvIFByZWZpeCA6TG9jYWxOYW1lLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVhZGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiB1c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbG9jYWwgbmFtZSBvciBOVUxMIGlmIG5vdCBhdmFpbGFibGUsIHRoZSBzdHJpbmcgaXMgZGVhbGxvY2F0ZWQgd2l0aCB0aGUgcmVhZGVyLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFRleHRSZWFkZXJDb25zdE5hbWVzcGFjZVVyaSIvPnhtbFRleHRSZWFkZXJDb25zdE5hbWVzcGFjZVVyaSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxUZXh0UmVhZGVyQ29uc3ROYW1lc3BhY2VVcmkJKDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTxici8+Cis8L3ByZT48cD5UaGUgVVJJIGRlZmluaW5nIHRoZSBuYW1lc3BhY2UgYXNzb2NpYXRlZCB3aXRoIHRoZSBub2RlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVhZGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiB1c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZXNwYWNlIFVSSSBvciBOVUxMIGlmIG5vdCBhdmFpbGFibGUsIHRoZSBzdHJpbmcgd2lsbCBiZSBkZWFsbG9jYXRlZCB3aXRoIHRoZSByZWFkZXI8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxUZXh0UmVhZGVyQ29uc3RQcmVmaXgiLz54bWxUZXh0UmVhZGVyQ29uc3RQcmVmaXggKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5jb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sVGV4dFJlYWRlckNvbnN0UHJlZml4CSg8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlcik8YnIvPgorPC9wcmU+PHA+QSBzaG9ydGhhbmQgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNyZWZlcmVuY2UiPnJlZmVyZW5jZTwvYT4gdG8gdGhlIG5hbWVzcGFjZSBhc3NvY2lhdGVkIHdpdGggdGhlIG5vZGUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWFkZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHVzZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwcmVmaXggb3IgTlVMTCBpZiBub3QgYXZhaWxhYmxlLCB0aGUgc3RyaW5nIGlzIGRlYWxsb2NhdGVkIHdpdGggdGhlIHJlYWRlci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxUZXh0UmVhZGVyQ29uc3RTdHJpbmciLz54bWxUZXh0UmVhZGVyQ29uc3RTdHJpbmcgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5jb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sVGV4dFJlYWRlckNvbnN0U3RyaW5nCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlciwgPGJyLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0cik8YnIvPgorPC9wcmU+PHA+R2V0IGFuIGludGVybmVkIHN0cmluZyBmcm9tIHRoZSByZWFkZXIsIGFsbG93cyBmb3IgZXhhbXBsZSB0byBzcGVlZHVwIHN0cmluZyBuYW1lIGNvbXBhcmlzb25zPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWFkZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHVzZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHN0cmluZyB0byBpbnRlcm4uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBpbnRlcm5lZCBjb3B5IG9mIHRoZSBzdHJpbmcgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLiBUaGUgc3RyaW5nIHdpbGwgYmUgZGVhbGxvY2F0ZWQgd2l0aCB0aGUgcmVhZGVyLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFRleHRSZWFkZXJDb25zdFZhbHVlIi8+eG1sVGV4dFJlYWRlckNvbnN0VmFsdWUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5jb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sVGV4dFJlYWRlckNvbnN0VmFsdWUJKDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTxici8+Cis8L3ByZT48cD5Qcm92aWRlcyB0aGUgdGV4dCB2YWx1ZSBvZiB0aGUgbm9kZSBpZiBwcmVzZW50PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWFkZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHVzZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzdHJpbmcgb3IgTlVMTCBpZiBub3QgYXZhaWxhYmxlLiBUaGUgcmVzdWx0IHdpbGwgYmUgZGVhbGxvY2F0ZWQgb24gdGhlIG5leHQgUmVhZCgpIG9wZXJhdGlvbi48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxUZXh0UmVhZGVyQ29uc3RYbWxMYW5nIi8+eG1sVGV4dFJlYWRlckNvbnN0WG1sTGFuZyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxUZXh0UmVhZGVyQ29uc3RYbWxMYW5nCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlcik8YnIvPgorPC9wcmU+PHA+VGhlIHhtbDpsYW5nIHNjb3BlIHdpdGhpbiB3aGljaCB0aGUgbm9kZSByZXNpZGVzLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVhZGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiB1c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgeG1sOmxhbmcgdmFsdWUgb3IgTlVMTCBpZiBub25lIGV4aXN0cy48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxUZXh0UmVhZGVyQ29uc3RYbWxWZXJzaW9uIi8+eG1sVGV4dFJlYWRlckNvbnN0WG1sVmVyc2lvbiAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxUZXh0UmVhZGVyQ29uc3RYbWxWZXJzaW9uCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlcik8YnIvPgorPC9wcmU+PHA+RGV0ZXJtaW5lIHRoZSBYTUwgdmVyc2lvbiBvZiB0aGUgZG9jdW1lbnQgYmVpbmcgcmVhZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJlYWRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gdXNlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBzdHJpbmcgY29udGFpbmluZyB0aGUgWE1MIHZlcnNpb24gb2YgdGhlIGRvY3VtZW50IG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci4gVGhlIHN0cmluZyBpcyBkZWFsbG9jYXRlZCB3aXRoIHRoZSByZWFkZXIuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVGV4dFJlYWRlckN1cnJlbnREb2MiLz54bWxUZXh0UmVhZGVyQ3VycmVudERvYyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPgl4bWxUZXh0UmVhZGVyQ3VycmVudERvYwkoPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIpPGJyLz4KKzwvcHJlPjxwPkhhY2tpbmcgaW50ZXJmYWNlIGFsbG93aW5nIHRvIGdldCB0aGUgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGNvcnJlcG9uZGluZyB0byB0aGUgY3VycmVudCBkb2N1bWVudCBiZWluZyBhY2Nlc3NlZCBieSB0aGUgeG1sVGV4dFJlYWRlci4gTk9URTogYXMgYSByZXN1bHQgb2YgdGhpcyBjYWxsLCB0aGUgcmVhZGVyIHdpbGwgbm90IGRlc3Ryb3kgdGhlIGFzc29jaWF0ZWQgWE1MIGRvY3VtZW50IGFuZCBjYWxsaW5nIHhtbEZyZWVEb2MoKSBvbiB0aGUgcmVzdWx0IGlzIG5lZWRlZCBvbmNlIHRoZSByZWFkZXIgcGFyc2luZyBoYXMgZmluaXNoZWQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWFkZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHVzZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFRleHRSZWFkZXJDdXJyZW50Tm9kZSIvPnhtbFRleHRSZWFkZXJDdXJyZW50Tm9kZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CXhtbFRleHRSZWFkZXJDdXJyZW50Tm9kZQkoPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIpPGJyLz4KKzwvcHJlPjxwPkhhY2tpbmcgaW50ZXJmYWNlIGFsbG93aW5nIHRvIGdldCB0aGUgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gY29ycmVwb25kaW5nIHRvIHRoZSBjdXJyZW50IG5vZGUgYmVpbmcgYWNjZXNzZWQgYnkgdGhlIHhtbFRleHRSZWFkZXIuIFRoaXMgaXMgZGFuZ2Vyb3VzIGJlY2F1c2UgdGhlIHVuZGVybHlpbmcgbm9kZSBtYXkgYmUgZGVzdHJveWVkIG9uIHRoZSBuZXh0IFJlYWRzLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVhZGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiB1c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFRleHRSZWFkZXJEZXB0aCIvPnhtbFRleHRSZWFkZXJEZXB0aCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0UmVhZGVyRGVwdGgJCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlcik8YnIvPgorPC9wcmU+PHA+VGhlIGRlcHRoIG9mIHRoZSBub2RlIGluIHRoZSB0cmVlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVhZGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiB1c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZGVwdGggb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFRleHRSZWFkZXJFeHBhbmQiLz54bWxUZXh0UmVhZGVyRXhwYW5kICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JeG1sVGV4dFJlYWRlckV4cGFuZAkoPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIpPGJyLz4KKzwvcHJlPjxwPlJlYWRzIHRoZSBjb250ZW50cyBvZiB0aGUgY3VycmVudCBub2RlIGFuZCB0aGUgZnVsbCBzdWJ0cmVlLiBJdCB0aGVuIG1ha2VzIHRoZSBzdWJ0cmVlIGF2YWlsYWJsZSB1bnRpbCB0aGUgbmV4dCB4bWxUZXh0UmVhZGVyUmVhZCgpIGNhbGw8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJlYWRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gdXNlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBub2RlIHBvaW50ZXIgdmFsaWQgdW50aWwgdGhlIG5leHQgeG1sVGV4dFJlYWRlclJlYWQoKSBjYWxsIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlIi8+eG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlciwgPGJyLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpPGJyLz4KKzwvcHJlPjxwPlByb3ZpZGVzIHRoZSB2YWx1ZSBvZiB0aGUgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gd2l0aCB0aGUgc3BlY2lmaWVkIHF1YWxpZmllZCBuYW1lLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVhZGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiB1c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcXVhbGlmaWVkIG5hbWUgb2YgdGhlIGF0dHJpYnV0ZS48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIHZhbHVlIG9mIHRoZSBzcGVjaWZpZWQgYXR0cmlidXRlLCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuIFRoZSBzdHJpbmcgbXVzdCBiZSBkZWFsbG9jYXRlZCBieSB0aGUgY2FsbGVyLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFRleHRSZWFkZXJHZXRBdHRyaWJ1dGVObyIvPnhtbFRleHRSZWFkZXJHZXRBdHRyaWJ1dGVObyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlTm8JKDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyLCA8YnIvPgkJCQkJCSBpbnQgbm8pPGJyLz4KKzwvcHJlPjxwPlByb3ZpZGVzIHRoZSB2YWx1ZSBvZiB0aGUgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gd2l0aCB0aGUgc3BlY2lmaWVkIGluZGV4IHJlbGF0aXZlIHRvIHRoZSBjb250YWluaW5nIGVsZW1lbnQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWFkZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHVzZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgemVyby1iYXNlZCBpbmRleCBvZiB0aGUgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gcmVsYXRpdmUgdG8gdGhlIGNvbnRhaW5pbmcgZWxlbWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBzdHJpbmcgY29udGFpbmluZyB0aGUgdmFsdWUgb2YgdGhlIHNwZWNpZmllZCBhdHRyaWJ1dGUsIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci4gVGhlIHN0cmluZyBtdXN0IGJlIGRlYWxsb2NhdGVkIGJ5IHRoZSBjYWxsZXIuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZU5zIi8+eG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZU5zICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbFRleHRSZWFkZXJHZXRBdHRyaWJ1dGVOcwkoPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIsIDxici8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBsb2NhbE5hbWUsIDxici8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lc3BhY2VVUkkpPGJyLz4KKzwvcHJlPjxwPlByb3ZpZGVzIHRoZSB2YWx1ZSBvZiB0aGUgc3BlY2lmaWVkIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWFkZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHVzZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxvY2FsTmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxvY2FsIG5hbWUgb2YgdGhlIGF0dHJpYnV0ZS48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWVzcGFjZVVSSTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5hbWVzcGFjZSBVUkkgb2YgdGhlIGF0dHJpYnV0ZS48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIHZhbHVlIG9mIHRoZSBzcGVjaWZpZWQgYXR0cmlidXRlLCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuIFRoZSBzdHJpbmcgbXVzdCBiZSBkZWFsbG9jYXRlZCBieSB0aGUgY2FsbGVyLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFRleHRSZWFkZXJHZXRFcnJvckhhbmRsZXIiLz54bWxUZXh0UmVhZGVyR2V0RXJyb3JIYW5kbGVyICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxUZXh0UmVhZGVyR2V0RXJyb3JIYW5kbGVyCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlciwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJFcnJvckZ1bmMiPnhtbFRleHRSZWFkZXJFcnJvckZ1bmM8L2E+ICogZiwgPGJyLz4JCQkJCSB2b2lkICoqIGFyZyk8YnIvPgorPC9wcmU+PHA+UmV0cmlldmUgdGhlIGVycm9yIGNhbGxiYWNrIGZ1bmN0aW9uIGFuZCB1c2VyIGFyZ3VtZW50LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVhZGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiB1c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY2FsbGJhY2sgZnVuY3Rpb24gb3IgTlVMTCBpcyBubyBjYWxsYmFjayBoYXMgYmVlbiByZWdpc3RlcmVkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5hcmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgdXNlciBhcmd1bWVudDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFRleHRSZWFkZXJHZXRQYXJzZXJDb2x1bW5OdW1iZXIiLz54bWxUZXh0UmVhZGVyR2V0UGFyc2VyQ29sdW1uTnVtYmVyICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRleHRSZWFkZXJHZXRQYXJzZXJDb2x1bW5OdW1iZXIJKDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTxici8+Cis8L3ByZT48cD5Qcm92aWRlIHRoZSBjb2x1bW4gbnVtYmVyIG9mIHRoZSBjdXJyZW50IHBhcnNpbmcgcG9pbnQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWFkZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIGRhdGEgKFhNTCByZWFkZXIgY29udGV4dCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIGludCBvciAwIGlmIG5vdCBhdmFpbGFibGU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxUZXh0UmVhZGVyR2V0UGFyc2VyTGluZU51bWJlciIvPnhtbFRleHRSZWFkZXJHZXRQYXJzZXJMaW5lTnVtYmVyICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRleHRSZWFkZXJHZXRQYXJzZXJMaW5lTnVtYmVyCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlcik8YnIvPgorPC9wcmU+PHA+UHJvdmlkZSB0aGUgbGluZSBudW1iZXIgb2YgdGhlIGN1cnJlbnQgcGFyc2luZyBwb2ludC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJlYWRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgZGF0YSAoWE1MIHJlYWRlciBjb250ZXh0KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gaW50IG9yIDAgaWYgbm90IGF2YWlsYWJsZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFRleHRSZWFkZXJHZXRQYXJzZXJQcm9wIi8+eG1sVGV4dFJlYWRlckdldFBhcnNlclByb3AgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFJlYWRlckdldFBhcnNlclByb3AJKDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyLCA8YnIvPgkJCQkJIGludCBwcm9wKTxici8+Cis8L3ByZT48cD5SZWFkIHRoZSBwYXJzZXIgaW50ZXJuYWwgcHJvcGVydHkuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWFkZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHVzZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnByb3A8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFBhcnNlclByb3BlcnRpZXMiPnhtbFBhcnNlclByb3BlcnRpZXM8L2E+IHRvIGdldDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHZhbHVlLCB1c3VhbGx5IDAgb3IgMSwgb3IgLTEgaW4gY2FzZSBvZiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxUZXh0UmVhZGVyR2V0UmVtYWluZGVyIi8+eG1sVGV4dFJlYWRlckdldFJlbWFpbmRlciAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyUHRyIj54bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cjwvYT4JeG1sVGV4dFJlYWRlckdldFJlbWFpbmRlcgkoPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIpPGJyLz4KKzwvcHJlPjxwPk1ldGhvZCB0byBnZXQgdGhlIHJlbWFpbmRlciBvZiB0aGUgYnVmZmVyZWQgWE1MLiB0aGlzIG1ldGhvZCBzdG9wcyB0aGUgcGFyc2VyLCBzZXQgaXRzIHN0YXRlIHRvIEVuZCBPZiBGaWxlIGFuZCByZXR1cm4gdGhlIGlucHV0IHN0cmVhbSB3aXRoIHdoYXQgaXMgbGVmdCB0aGF0IHRoZSBwYXJzZXIgZGlkIG5vdCB1c2UuIFRoZSBpbXBsZW1lbnRhdGlvbiBpcyBub3QgZ29vZCwgdGhlIHBhcnNlciBjZXJ0YWlubHkgcHJvY2dyZXNzZWQgcGFzdCB3aGF0J3MgbGVmdCBpbiByZWFkZXItJmd0O2lucHV0LCBhbmQgdGhlcmUgaXMgYW4gYWxsb2NhdGlvbiBwcm9ibGVtLiBCZXN0IHdvdWxkIGJlIHRvIHJld3JpdGUgaXQgZGlmZmVyZW50bHkuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWFkZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHVzZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciI+eG1sUGFyc2VySW5wdXRCdWZmZXJQdHI8L2E+IGF0dGFjaGVkIHRvIHRoZSBYTUwgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFRleHRSZWFkZXJIYXNBdHRyaWJ1dGVzIi8+eG1sVGV4dFJlYWRlckhhc0F0dHJpYnV0ZXMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFJlYWRlckhhc0F0dHJpYnV0ZXMJKDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTxici8+Cis8L3ByZT48cD5XaGV0aGVyIHRoZSBub2RlIGhhcyBhdHRyaWJ1dGVzLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVhZGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiB1c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUsIDAgaWYgZmFsc2UsIGFuZCAtMSBpbiBjYXNlIG9yIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVGV4dFJlYWRlckhhc1ZhbHVlIi8+eG1sVGV4dFJlYWRlckhhc1ZhbHVlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRleHRSZWFkZXJIYXNWYWx1ZQkJKDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTxici8+Cis8L3ByZT48cD5XaGV0aGVyIHRoZSBub2RlIGNhbiBoYXZlIGEgdGV4dCB2YWx1ZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJlYWRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gdXNlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlLCAwIGlmIGZhbHNlLCBhbmQgLTEgaW4gY2FzZSBvciBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFRleHRSZWFkZXJJc0RlZmF1bHQiLz54bWxUZXh0UmVhZGVySXNEZWZhdWx0ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRleHRSZWFkZXJJc0RlZmF1bHQJCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlcik8YnIvPgorPC9wcmU+PHA+V2hldGhlciBhbiBBdHRyaWJ1dGUgbm9kZSB3YXMgZ2VuZXJhdGVkIGZyb20gdGhlIGRlZmF1bHQgdmFsdWUgZGVmaW5lZCBpbiB0aGUgRFREIG9yIHNjaGVtYS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJlYWRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gdXNlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpZiBub3QgZGVmYXVsdGVkLCAxIGlmIGRlZmF1bHRlZCwgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxUZXh0UmVhZGVySXNFbXB0eUVsZW1lbnQiLz54bWxUZXh0UmVhZGVySXNFbXB0eUVsZW1lbnQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFJlYWRlcklzRW1wdHlFbGVtZW50CSg8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlcik8YnIvPgorPC9wcmU+PHA+Q2hlY2sgaWYgdGhlIGN1cnJlbnQgbm9kZSBpcyBlbXB0eTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVhZGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiB1c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIGVtcHR5LCAwIGlmIG5vdCBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFRleHRSZWFkZXJJc05hbWVzcGFjZURlY2wiLz54bWxUZXh0UmVhZGVySXNOYW1lc3BhY2VEZWNsICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRleHRSZWFkZXJJc05hbWVzcGFjZURlY2wJKDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTxici8+Cis8L3ByZT48cD5EZXRlcm1pbmUgd2hldGhlciB0aGUgY3VycmVudCBub2RlIGlzIGEgbmFtZXNwYWNlIGRlY2xhcmF0aW9uIHJhdGhlciB0aGFuIGEgcmVndWxhciBhdHRyaWJ1dGUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWFkZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHVzZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdGhlIGN1cnJlbnQgbm9kZSBpcyBhIG5hbWVzcGFjZSBkZWNsYXJhdGlvbiwgMCBpZiBpdCBpcyBhIHJlZ3VsYXIgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gb3Igb3RoZXIgdHlwZSBvZiBub2RlLCBvciAtMSBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFRleHRSZWFkZXJJc1ZhbGlkIi8+eG1sVGV4dFJlYWRlcklzVmFsaWQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFJlYWRlcklzVmFsaWQJCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlcik8YnIvPgorPC9wcmU+PHA+UmV0cmlldmUgdGhlIHZhbGlkaXR5IHN0YXR1cyBmcm9tIHRoZSBwYXJzZXIgY29udGV4dDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVhZGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiB1c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZmxhZyB2YWx1ZSAxIGlmIHZhbGlkLCAwIGlmIG5vLCBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFRleHRSZWFkZXJMb2NhbE5hbWUiLz54bWxUZXh0UmVhZGVyTG9jYWxOYW1lICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbFRleHRSZWFkZXJMb2NhbE5hbWUJKDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTxici8+Cis8L3ByZT48cD5UaGUgbG9jYWwgbmFtZSBvZiB0aGUgbm9kZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJlYWRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gdXNlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxvY2FsIG5hbWUgb3IgTlVMTCBpZiBub3QgYXZhaWxhYmxlLCBpZiBub24gTlVMTCBpdCBuZWVkIHRvIGJlIGZyZWVkIGJ5IHRoZSBjYWxsZXIuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVGV4dFJlYWRlckxvY2F0b3JCYXNlVVJJIi8+eG1sVGV4dFJlYWRlckxvY2F0b3JCYXNlVVJJICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbFRleHRSZWFkZXJMb2NhdG9yQmFzZVVSSQkoPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyTG9jYXRvclB0ciI+eG1sVGV4dFJlYWRlckxvY2F0b3JQdHI8L2E+IGxvY2F0b3IpPGJyLz4KKzwvcHJlPjxwPk9idGFpbiB0aGUgYmFzZSBVUkkgZm9yIHRoZSBnaXZlbiBsb2NhdG9yLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bG9jYXRvcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckxvY2F0b3JQdHIiPnhtbFRleHRSZWFkZXJMb2NhdG9yUHRyPC9hPiB1c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYmFzZSBVUkkgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLCBpZiBub24gTlVMTCBpdCBuZWVkIHRvIGJlIGZyZWVkIGJ5IHRoZSBjYWxsZXIuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVGV4dFJlYWRlckxvY2F0b3JMaW5lTnVtYmVyIi8+eG1sVGV4dFJlYWRlckxvY2F0b3JMaW5lTnVtYmVyICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRleHRSZWFkZXJMb2NhdG9yTGluZU51bWJlcgkoPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyTG9jYXRvclB0ciI+eG1sVGV4dFJlYWRlckxvY2F0b3JQdHI8L2E+IGxvY2F0b3IpPGJyLz4KKzwvcHJlPjxwPk9idGFpbiB0aGUgbGluZSBudW1iZXIgZm9yIHRoZSBnaXZlbiBsb2NhdG9yLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bG9jYXRvcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckxvY2F0b3JQdHIiPnhtbFRleHRSZWFkZXJMb2NhdG9yUHRyPC9hPiB1c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbGluZSBudW1iZXIgb3IgLTEgaW4gY2FzZSBvZiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxUZXh0UmVhZGVyTG9va3VwTmFtZXNwYWNlIi8+eG1sVGV4dFJlYWRlckxvb2t1cE5hbWVzcGFjZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxUZXh0UmVhZGVyTG9va3VwTmFtZXNwYWNlCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlciwgPGJyLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHByZWZpeCk8YnIvPgorPC9wcmU+PHA+UmVzb2x2ZXMgYSBuYW1lc3BhY2UgcHJlZml4IGluIHRoZSBzY29wZSBvZiB0aGUgY3VycmVudCBlbGVtZW50LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVhZGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiB1c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wcmVmaXg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwcmVmaXggd2hvc2UgbmFtZXNwYWNlIFVSSSBpcyB0byBiZSByZXNvbHZlZC4gVG8gcmV0dXJuIHRoZSBkZWZhdWx0IG5hbWVzcGFjZSwgc3BlY2lmeSBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHN0cmluZyBjb250YWluaW5nIHRoZSBuYW1lc3BhY2UgVVJJIHRvIHdoaWNoIHRoZSBwcmVmaXggbWFwcyBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuIFRoZSBzdHJpbmcgbXVzdCBiZSBkZWFsbG9jYXRlZCBieSB0aGUgY2FsbGVyLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFRleHRSZWFkZXJNb3ZlVG9BdHRyaWJ1dGUiLz54bWxUZXh0UmVhZGVyTW92ZVRvQXR0cmlidXRlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRleHRSZWFkZXJNb3ZlVG9BdHRyaWJ1dGUJKDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKTxici8+Cis8L3ByZT48cD5Nb3ZlcyB0aGUgcG9zaXRpb24gb2YgdGhlIGN1cnJlbnQgaW5zdGFuY2UgdG8gdGhlIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IHdpdGggdGhlIHNwZWNpZmllZCBxdWFsaWZpZWQgbmFtZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJlYWRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gdXNlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHF1YWxpZmllZCBuYW1lIG9mIHRoZSBhdHRyaWJ1dGUuPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGluIGNhc2Ugb2Ygc3VjY2VzcywgLTEgaW4gY2FzZSBvZiBlcnJvciwgMCBpZiBub3QgZm91bmQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxUZXh0UmVhZGVyTW92ZVRvQXR0cmlidXRlTm8iLz54bWxUZXh0UmVhZGVyTW92ZVRvQXR0cmlidXRlTm8gKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFJlYWRlck1vdmVUb0F0dHJpYnV0ZU5vCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlciwgPGJyLz4JCQkJCSBpbnQgbm8pPGJyLz4KKzwvcHJlPjxwPk1vdmVzIHRoZSBwb3NpdGlvbiBvZiB0aGUgY3VycmVudCBpbnN0YW5jZSB0byB0aGUgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gd2l0aCB0aGUgc3BlY2lmaWVkIGluZGV4IHJlbGF0aXZlIHRvIHRoZSBjb250YWluaW5nIGVsZW1lbnQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWFkZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHVzZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgemVyby1iYXNlZCBpbmRleCBvZiB0aGUgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gcmVsYXRpdmUgdG8gdGhlIGNvbnRhaW5pbmcgZWxlbWVudC48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaW4gY2FzZSBvZiBzdWNjZXNzLCAtMSBpbiBjYXNlIG9mIGVycm9yLCAwIGlmIG5vdCBmb3VuZDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFRleHRSZWFkZXJNb3ZlVG9BdHRyaWJ1dGVOcyIvPnhtbFRleHRSZWFkZXJNb3ZlVG9BdHRyaWJ1dGVOcyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0UmVhZGVyTW92ZVRvQXR0cmlidXRlTnMJKDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBsb2NhbE5hbWUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWVzcGFjZVVSSSk8YnIvPgorPC9wcmU+PHA+TW92ZXMgdGhlIHBvc2l0aW9uIG9mIHRoZSBjdXJyZW50IGluc3RhbmNlIHRvIHRoZSA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiB3aXRoIHRoZSBzcGVjaWZpZWQgbG9jYWwgbmFtZSBhbmQgbmFtZXNwYWNlIFVSSS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJlYWRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gdXNlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bG9jYWxOYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbG9jYWwgbmFtZSBvZiB0aGUgYXR0cmlidXRlLjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZXNwYWNlVVJJPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZXNwYWNlIFVSSSBvZiB0aGUgYXR0cmlidXRlLjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpbiBjYXNlIG9mIHN1Y2Nlc3MsIC0xIGluIGNhc2Ugb2YgZXJyb3IsIDAgaWYgbm90IGZvdW5kPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVGV4dFJlYWRlck1vdmVUb0VsZW1lbnQiLz54bWxUZXh0UmVhZGVyTW92ZVRvRWxlbWVudCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0UmVhZGVyTW92ZVRvRWxlbWVudAkoPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIpPGJyLz4KKzwvcHJlPjxwPk1vdmVzIHRoZSBwb3NpdGlvbiBvZiB0aGUgY3VycmVudCBpbnN0YW5jZSB0byB0aGUgbm9kZSB0aGF0IGNvbnRhaW5zIHRoZSBjdXJyZW50IEF0dHJpYnV0ZSBub2RlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVhZGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiB1c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGluIGNhc2Ugb2Ygc3VjY2VzcywgLTEgaW4gY2FzZSBvZiBlcnJvciwgMCBpZiBub3QgbW92ZWQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxUZXh0UmVhZGVyTW92ZVRvRmlyc3RBdHRyaWJ1dGUiLz54bWxUZXh0UmVhZGVyTW92ZVRvRmlyc3RBdHRyaWJ1dGUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFJlYWRlck1vdmVUb0ZpcnN0QXR0cmlidXRlCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlcik8YnIvPgorPC9wcmU+PHA+TW92ZXMgdGhlIHBvc2l0aW9uIG9mIHRoZSBjdXJyZW50IGluc3RhbmNlIHRvIHRoZSBmaXJzdCA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBhc3NvY2lhdGVkIHdpdGggdGhlIGN1cnJlbnQgbm9kZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJlYWRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gdXNlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpbiBjYXNlIG9mIHN1Y2Nlc3MsIC0xIGluIGNhc2Ugb2YgZXJyb3IsIDAgaWYgbm90IGZvdW5kPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVGV4dFJlYWRlck1vdmVUb05leHRBdHRyaWJ1dGUiLz54bWxUZXh0UmVhZGVyTW92ZVRvTmV4dEF0dHJpYnV0ZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0UmVhZGVyTW92ZVRvTmV4dEF0dHJpYnV0ZQkoPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIpPGJyLz4KKzwvcHJlPjxwPk1vdmVzIHRoZSBwb3NpdGlvbiBvZiB0aGUgY3VycmVudCBpbnN0YW5jZSB0byB0aGUgbmV4dCA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBhc3NvY2lhdGVkIHdpdGggdGhlIGN1cnJlbnQgbm9kZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJlYWRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gdXNlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpbiBjYXNlIG9mIHN1Y2Nlc3MsIC0xIGluIGNhc2Ugb2YgZXJyb3IsIDAgaWYgbm90IGZvdW5kPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVGV4dFJlYWRlck5hbWUiLz54bWxUZXh0UmVhZGVyTmFtZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxUZXh0UmVhZGVyTmFtZQkoPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIpPGJyLz4KKzwvcHJlPjxwPlRoZSBxdWFsaWZpZWQgbmFtZSBvZiB0aGUgbm9kZSwgZXF1YWwgdG8gUHJlZml4IDpMb2NhbE5hbWUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWFkZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHVzZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsb2NhbCBuYW1lIG9yIE5VTEwgaWYgbm90IGF2YWlsYWJsZSwgaWYgbm9uIE5VTEwgaXQgbmVlZCB0byBiZSBmcmVlZCBieSB0aGUgY2FsbGVyLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFRleHRSZWFkZXJOYW1lc3BhY2VVcmkiLz54bWxUZXh0UmVhZGVyTmFtZXNwYWNlVXJpICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbFRleHRSZWFkZXJOYW1lc3BhY2VVcmkJKDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTxici8+Cis8L3ByZT48cD5UaGUgVVJJIGRlZmluaW5nIHRoZSBuYW1lc3BhY2UgYXNzb2NpYXRlZCB3aXRoIHRoZSBub2RlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVhZGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiB1c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZXNwYWNlIFVSSSBvciBOVUxMIGlmIG5vdCBhdmFpbGFibGUsIGlmIG5vbiBOVUxMIGl0IG5lZWQgdG8gYmUgZnJlZWQgYnkgdGhlIGNhbGxlci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxUZXh0UmVhZGVyTmV4dCIvPnhtbFRleHRSZWFkZXJOZXh0ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRleHRSZWFkZXJOZXh0CQkoPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIpPGJyLz4KKzwvcHJlPjxwPlNraXAgdG8gdGhlIG5vZGUgZm9sbG93aW5nIHRoZSBjdXJyZW50IG9uZSBpbiBkb2N1bWVudCBvcmRlciB3aGlsZSBhdm9pZGluZyB0aGUgc3VidHJlZSBpZiBhbnkuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWFkZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHVzZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdGhlIG5vZGUgd2FzIHJlYWQgc3VjY2Vzc2Z1bGx5LCAwIGlmIHRoZXJlIGlzIG5vIG1vcmUgbm9kZXMgdG8gcmVhZCwgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFRleHRSZWFkZXJOZXh0U2libGluZyIvPnhtbFRleHRSZWFkZXJOZXh0U2libGluZyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0UmVhZGVyTmV4dFNpYmxpbmcJKDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTxici8+Cis8L3ByZT48cD5Ta2lwIHRvIHRoZSBub2RlIGZvbGxvd2luZyB0aGUgY3VycmVudCBvbmUgaW4gZG9jdW1lbnQgb3JkZXIgd2hpbGUgYXZvaWRpbmcgdGhlIHN1YnRyZWUgaWYgYW55LiBDdXJyZW50bHkgaW1wbGVtZW50ZWQgb25seSBmb3IgUmVhZGVycyBidWlsdCBvbiBhIGRvY3VtZW50PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWFkZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHVzZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdGhlIG5vZGUgd2FzIHJlYWQgc3VjY2Vzc2Z1bGx5LCAwIGlmIHRoZXJlIGlzIG5vIG1vcmUgbm9kZXMgdG8gcmVhZCwgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFRleHRSZWFkZXJOb2RlVHlwZSIvPnhtbFRleHRSZWFkZXJOb2RlVHlwZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0UmVhZGVyTm9kZVR5cGUJCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlcik8YnIvPgorPC9wcmU+PHA+R2V0IHRoZSBub2RlIHR5cGUgb2YgdGhlIGN1cnJlbnQgbm9kZSBSZWZlcmVuY2U6IGh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9kb3RnbnUvcG5ldGxpYi1kb2MvU3lzdGVtL1htbC9YbWxOb2RlVHlwZS5odG1sPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWFkZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHVzZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB4bWxOb2RlVHlwZSBvZiB0aGUgY3VycmVudCBub2RlIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxUZXh0UmVhZGVyTm9ybWFsaXphdGlvbiIvPnhtbFRleHRSZWFkZXJOb3JtYWxpemF0aW9uICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRleHRSZWFkZXJOb3JtYWxpemF0aW9uCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlcik8YnIvPgorPC9wcmU+PHA+VGhlIHZhbHVlIGluZGljYXRpbmcgd2hldGhlciB0byBub3JtYWxpemUgd2hpdGUgc3BhY2UgYW5kIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IHZhbHVlcy4gU2luY2UgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gdmFsdWUgYW5kIGVuZCBvZiBsaW5lIG5vcm1hbGl6YXRpb25zIGFyZSBhIE1VU1QgaW4gdGhlIFhNTCBzcGVjaWZpY2F0aW9uIG9ubHkgdGhlIHZhbHVlIHRydWUgaXMgYWNjZXB0ZWQuIFRoZSBicm9rZW4gYmFoYXZpb3VyIG9mIGFjY2VwdGluZyBvdXQgb2YgcmFuZ2UgY2hhcmFjdGVyIGVudGl0aWVzIGxpa2UgJmFtcDsjMDsgaXMgb2YgY291cnNlIG5vdCBzdXBwb3J0ZWQgZWl0aGVyLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVhZGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiB1c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVGV4dFJlYWRlclByZWZpeCIvPnhtbFRleHRSZWFkZXJQcmVmaXggKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sVGV4dFJlYWRlclByZWZpeAkoPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIpPGJyLz4KKzwvcHJlPjxwPkEgc2hvcnRoYW5kIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjcmVmZXJlbmNlIj5yZWZlcmVuY2U8L2E+IHRvIHRoZSBuYW1lc3BhY2UgYXNzb2NpYXRlZCB3aXRoIHRoZSBub2RlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVhZGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiB1c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcHJlZml4IG9yIE5VTEwgaWYgbm90IGF2YWlsYWJsZSwgaWYgbm9uIE5VTEwgaXQgbmVlZCB0byBiZSBmcmVlZCBieSB0aGUgY2FsbGVyLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFRleHRSZWFkZXJQcmVzZXJ2ZSIvPnhtbFRleHRSZWFkZXJQcmVzZXJ2ZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CXhtbFRleHRSZWFkZXJQcmVzZXJ2ZQkoPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIpPGJyLz4KKzwvcHJlPjxwPlRoaXMgdGVsbHMgdGhlIFhNTCBSZWFkZXIgdG8gcHJlc2VydmUgdGhlIGN1cnJlbnQgbm9kZS4gVGhlIGNhbGxlciBtdXN0IGFsc28gdXNlIHhtbFRleHRSZWFkZXJDdXJyZW50RG9jKCkgdG8ga2VlcCBhbiBoYW5kbGUgb24gdGhlIHJlc3VsdGluZyBkb2N1bWVudCBvbmNlIHBhcnNpbmcgaGFzIGZpbmlzaGVkPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWFkZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHVzZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVGV4dFJlYWRlclByZXNlcnZlUGF0dGVybiIvPnhtbFRleHRSZWFkZXJQcmVzZXJ2ZVBhdHRlcm4gKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFJlYWRlclByZXNlcnZlUGF0dGVybgkoPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHBhdHRlcm4sIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqKiBuYW1lc3BhY2VzKTxici8+Cis8L3ByZT48cD5UaGlzIHRlbGxzIHRoZSBYTUwgUmVhZGVyIHRvIHByZXNlcnZlIGFsbCBub2RlcyBtYXRjaGVkIGJ5IHRoZSBwYXR0ZXJuLiBUaGUgY2FsbGVyIG11c3QgYWxzbyB1c2UgeG1sVGV4dFJlYWRlckN1cnJlbnREb2MoKSB0byBrZWVwIGFuIGhhbmRsZSBvbiB0aGUgcmVzdWx0aW5nIGRvY3VtZW50IG9uY2UgcGFyc2luZyBoYXMgZmluaXNoZWQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJlYWRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gdXNlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cGF0dGVybjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWFBhdGggc3Vic2V0IHBhdHRlcm48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWVzcGFjZXM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwcmVmaXggZGVmaW5pdGlvbnMsIGFycmF5IG9mIFtVUkksIHByZWZpeF0gb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb3NpdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBzdWNjZXNzIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVGV4dFJlYWRlclF1b3RlQ2hhciIvPnhtbFRleHRSZWFkZXJRdW90ZUNoYXIgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFJlYWRlclF1b3RlQ2hhcgkJKDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTxici8+Cis8L3ByZT48cD5UaGUgcXVvdGF0aW9uIG1hcmsgY2hhcmFjdGVyIHVzZWQgdG8gZW5jbG9zZSB0aGUgdmFsdWUgb2YgYW4gYXR0cmlidXRlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVhZGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiB1c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4iIG9yICcgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxUZXh0UmVhZGVyUmVhZCIvPnhtbFRleHRSZWFkZXJSZWFkICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRleHRSZWFkZXJSZWFkCQkoPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIpPGJyLz4KKzwvcHJlPjxwPk1vdmVzIHRoZSBwb3NpdGlvbiBvZiB0aGUgY3VycmVudCBpbnN0YW5jZSB0byB0aGUgbmV4dCBub2RlIGluIHRoZSBzdHJlYW0sIGV4cG9zaW5nIGl0cyBwcm9wZXJ0aWVzLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVhZGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiB1c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRoZSBub2RlIHdhcyByZWFkIHN1Y2Nlc3NmdWxseSwgMCBpZiB0aGVyZSBpcyBubyBtb3JlIG5vZGVzIHRvIHJlYWQsIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxUZXh0UmVhZGVyUmVhZEF0dHJpYnV0ZVZhbHVlIi8+eG1sVGV4dFJlYWRlclJlYWRBdHRyaWJ1dGVWYWx1ZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0UmVhZGVyUmVhZEF0dHJpYnV0ZVZhbHVlCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlcik8YnIvPgorPC9wcmU+PHA+UGFyc2VzIGFuIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IHZhbHVlIGludG8gb25lIG9yIG1vcmUgVGV4dCBhbmQgRW50aXR5UmVmZXJlbmNlIG5vZGVzLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVhZGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiB1c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGluIGNhc2Ugb2Ygc3VjY2VzcywgMCBpZiB0aGUgcmVhZGVyIHdhcyBub3QgcG9zaXRpb25uZWQgb24gYW4gdHRyaWJ1dGUgbm9kZSBvciBhbGwgdGhlIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IHZhbHVlcyBoYXZlIGJlZW4gcmVhZCwgb3IgLTEgaW4gY2FzZSBvZiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxUZXh0UmVhZGVyUmVhZElubmVyWG1sIi8+eG1sVGV4dFJlYWRlclJlYWRJbm5lclhtbCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxUZXh0UmVhZGVyUmVhZElubmVyWG1sCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlcik8YnIvPgorPC9wcmU+PHA+UmVhZHMgdGhlIGNvbnRlbnRzIG9mIHRoZSBjdXJyZW50IG5vZGUsIGluY2x1ZGluZyBjaGlsZCBub2RlcyBhbmQgbWFya3VwLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVhZGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiB1c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHN0cmluZyBjb250YWluaW5nIHRoZSBYTUwgY29udGVudCwgb3IgTlVMTCBpZiB0aGUgY3VycmVudCBub2RlIGlzIG5laXRoZXIgYW4gZWxlbWVudCBub3IgYXR0cmlidXRlLCBvciBoYXMgbm8gY2hpbGQgbm9kZXMuIFRoZSBzdHJpbmcgbXVzdCBiZSBkZWFsbG9jYXRlZCBieSB0aGUgY2FsbGVyLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFRleHRSZWFkZXJSZWFkT3V0ZXJYbWwiLz54bWxUZXh0UmVhZGVyUmVhZE91dGVyWG1sICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbFRleHRSZWFkZXJSZWFkT3V0ZXJYbWwJKDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTxici8+Cis8L3ByZT48cD5SZWFkcyB0aGUgY29udGVudHMgb2YgdGhlIGN1cnJlbnQgbm9kZSwgaW5jbHVkaW5nIGNoaWxkIG5vZGVzIGFuZCBtYXJrdXAuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWFkZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHVzZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG5vZGUgYW5kIGFueSBYTUwgY29udGVudCwgb3IgTlVMTCBpZiB0aGUgY3VycmVudCBub2RlIGNhbm5vdCBiZSBzZXJpYWxpemVkLiBUaGUgc3RyaW5nIG11c3QgYmUgZGVhbGxvY2F0ZWQgYnkgdGhlIGNhbGxlci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxUZXh0UmVhZGVyUmVhZFN0YXRlIi8+eG1sVGV4dFJlYWRlclJlYWRTdGF0ZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0UmVhZGVyUmVhZFN0YXRlCQkoPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIpPGJyLz4KKzwvcHJlPjxwPkdldHMgdGhlIHJlYWQgc3RhdGUgb2YgdGhlIHJlYWRlci48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJlYWRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gdXNlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHN0YXRlIHZhbHVlLCBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVGV4dFJlYWRlclJlYWRTdHJpbmciLz54bWxUZXh0UmVhZGVyUmVhZFN0cmluZyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxUZXh0UmVhZGVyUmVhZFN0cmluZwkoPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIpPGJyLz4KKzwvcHJlPjxwPlJlYWRzIHRoZSBjb250ZW50cyBvZiBhbiBlbGVtZW50IG9yIGEgdGV4dCBub2RlIGFzIGEgc3RyaW5nLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVhZGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiB1c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHN0cmluZyBjb250YWluaW5nIHRoZSBjb250ZW50cyBvZiB0aGUgRWxlbWVudCBvciBUZXh0IG5vZGUsIG9yIE5VTEwgaWYgdGhlIHJlYWRlciBpcyBwb3NpdGlvbmVkIG9uIGFueSBvdGhlciB0eXBlIG9mIG5vZGUuIFRoZSBzdHJpbmcgbXVzdCBiZSBkZWFsbG9jYXRlZCBieSB0aGUgY2FsbGVyLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFRleHRSZWFkZXJSZWxheE5HU2V0U2NoZW1hIi8+eG1sVGV4dFJlYWRlclJlbGF4TkdTZXRTY2hlbWEgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFJlYWRlclJlbGF4TkdTZXRTY2hlbWEJKDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItcmVsYXhuZy5odG1sI3htbFJlbGF4TkdQdHIiPnhtbFJlbGF4TkdQdHI8L2E+IHNjaGVtYSk8YnIvPgorPC9wcmU+PHA+VXNlIFJlbGF4TkcgdG8gdmFsaWRhdGUgdGhlIGRvY3VtZW50IGFzIGl0IGlzIHByb2Nlc3NlZC4gQWN0aXZhdGlvbiBpcyBvbmx5IHBvc3NpYmxlIGJlZm9yZSB0aGUgZmlyc3QgUmVhZCgpLiBpZiBAc2NoZW1hIGlzIE5VTEwsIHRoZW4gUmVsYXhORyB2YWxpZGF0aW9uIGlzIGRlc2FjdGl2YXRlZC4gQCBUaGUgQHNjaGVtYSBzaG91bGQgbm90IGJlIGZyZWVkIHVudGlsIHRoZSByZWFkZXIgaXMgZGVhbGxvY2F0ZWQgb3IgaXRzIHVzZSBoYXMgYmVlbiBkZWFjdGl2YXRlZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJlYWRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gdXNlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2NoZW1hPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHByZWNvbXBpbGVkIFJlbGF4Tkcgc2NoZW1hPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGluIGNhc2UgdGhlIFJlbGF4TkcgdmFsaWRhdGlvbiBjb3VsZCBiZSAoZGVzKWFjdGl2YXRlZCBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxUZXh0UmVhZGVyUmVsYXhOR1ZhbGlkYXRlIi8+eG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0UmVhZGVyUmVsYXhOR1ZhbGlkYXRlCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlciwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogcm5nKTxici8+Cis8L3ByZT48cD5Vc2UgUmVsYXhORyBzY2hlbWEgdG8gdmFsaWRhdGUgdGhlIGRvY3VtZW50IGFzIGl0IGlzIHByb2Nlc3NlZC4gQWN0aXZhdGlvbiBpcyBvbmx5IHBvc3NpYmxlIGJlZm9yZSB0aGUgZmlyc3QgUmVhZCgpLiBJZiBAcm5nIGlzIE5VTEwsIHRoZW4gUmVsYXhORyBzY2hlbWEgdmFsaWRhdGlvbiBpcyBkZWFjdGl2YXRlZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJlYWRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gdXNlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cm5nPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcGF0aCB0byBhIFJlbGF4Tkcgc2NoZW1hIG9yIE5VTEw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaW4gY2FzZSB0aGUgc2NoZW1hcyB2YWxpZGF0aW9uIGNvdWxkIGJlIChkZSlhY3RpdmF0ZWQgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZUN0eHQiLz54bWxUZXh0UmVhZGVyUmVsYXhOR1ZhbGlkYXRlQ3R4dCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0UmVhZGVyUmVsYXhOR1ZhbGlkYXRlQ3R4dAkoPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIsIDxici8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbDItcmVsYXhuZy5odG1sI3htbFJlbGF4TkdWYWxpZEN0eHRQdHIiPnhtbFJlbGF4TkdWYWxpZEN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkJIGludCBvcHRpb25zKTxici8+Cis8L3ByZT48cD5Vc2UgUmVsYXhORyBzY2hlbWEgY29udGV4dCB0byB2YWxpZGF0ZSB0aGUgZG9jdW1lbnQgYXMgaXQgaXMgcHJvY2Vzc2VkLiBBY3RpdmF0aW9uIGlzIG9ubHkgcG9zc2libGUgYmVmb3JlIHRoZSBmaXJzdCBSZWFkKCkuIElmIEBjdHh0IGlzIE5VTEwsIHRoZW4gUmVsYXhORyBzY2hlbWEgdmFsaWRhdGlvbiBpcyBkZWFjdGl2YXRlZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJlYWRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gdXNlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFJlbGF4Tkcgc2NoZW1hIHZhbGlkYXRpb24gY29udGV4dCBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vcHRpb25zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5vcHRpb25zIChub3QgdXNlZCB5ZXQpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGluIGNhc2UgdGhlIHNjaGVtYXMgdmFsaWRhdGlvbiBjb3VsZCBiZSAoZGUpYWN0aXZhdGVkIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZSIvPnhtbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0UmVhZGVyU2NoZW1hVmFsaWRhdGUJKDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiB4c2QpPGJyLz4KKzwvcHJlPjxwPlVzZSBXM0MgWFNEIHNjaGVtYSB0byB2YWxpZGF0ZSB0aGUgZG9jdW1lbnQgYXMgaXQgaXMgcHJvY2Vzc2VkLiBBY3RpdmF0aW9uIGlzIG9ubHkgcG9zc2libGUgYmVmb3JlIHRoZSBmaXJzdCBSZWFkKCkuIElmIEB4c2QgaXMgTlVMTCwgdGhlbiBYTUwgU2NoZW1hIHZhbGlkYXRpb24gaXMgZGVhY3RpdmF0ZWQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWFkZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHVzZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnhzZDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHBhdGggdG8gYSBXM0MgWFNEIHNjaGVtYSBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGluIGNhc2UgdGhlIHNjaGVtYXMgdmFsaWRhdGlvbiBjb3VsZCBiZSAoZGUpYWN0aXZhdGVkIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZUN0eHQiLz54bWxUZXh0UmVhZGVyU2NoZW1hVmFsaWRhdGVDdHh0ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZUN0eHQJKDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkQ3R4dFB0ciI+eG1sU2NoZW1hVmFsaWRDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIGludCBvcHRpb25zKTxici8+Cis8L3ByZT48cD5Vc2UgVzNDIFhTRCBzY2hlbWEgY29udGV4dCB0byB2YWxpZGF0ZSB0aGUgZG9jdW1lbnQgYXMgaXQgaXMgcHJvY2Vzc2VkLiBBY3RpdmF0aW9uIGlzIG9ubHkgcG9zc2libGUgYmVmb3JlIHRoZSBmaXJzdCBSZWFkKCkuIElmIEBjdHh0IGlzIE5VTEwsIHRoZW4gWE1MIFNjaGVtYSB2YWxpZGF0aW9uIGlzIGRlYWN0aXZhdGVkLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVhZGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiB1c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWE1MIFNjaGVtYSB2YWxpZGF0aW9uIGNvbnRleHQgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3B0aW9uczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+b3B0aW9ucyAobm90IHVzZWQgeWV0KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpbiBjYXNlIHRoZSBzY2hlbWFzIHZhbGlkYXRpb24gY291bGQgYmUgKGRlKWFjdGl2YXRlZCBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxUZXh0UmVhZGVyU2V0RXJyb3JIYW5kbGVyIi8+eG1sVGV4dFJlYWRlclNldEVycm9ySGFuZGxlciAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sVGV4dFJlYWRlclNldEVycm9ySGFuZGxlcgkoPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyRXJyb3JGdW5jIj54bWxUZXh0UmVhZGVyRXJyb3JGdW5jPC9hPiBmLCA8YnIvPgkJCQkJIHZvaWQgKiBhcmcpPGJyLz4KKzwvcHJlPjxwPlJlZ2lzdGVyIGEgY2FsbGJhY2sgZnVuY3Rpb24gdGhhdCB3aWxsIGJlIGNhbGxlZCBvbiBlcnJvciBhbmQgd2FybmluZ3MuIElmIEBmIGlzIE5VTEwsIHRoZSBkZWZhdWx0IGVycm9yIGFuZCB3YXJuaW5nIGhhbmRsZXJzIGFyZSByZXN0b3JlZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJlYWRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gdXNlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGNhbGxiYWNrIGZ1bmN0aW9uIHRvIGNhbGwgb24gZXJyb3IgYW5kIHdhcm5pbmdzPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5hcmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgdXNlciBhcmd1bWVudCB0byBwYXNzIHRvIHRoZSBjYWxsYmFjayBmdW5jdGlvbjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFRleHRSZWFkZXJTZXRQYXJzZXJQcm9wIi8+eG1sVGV4dFJlYWRlclNldFBhcnNlclByb3AgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFJlYWRlclNldFBhcnNlclByb3AJKDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyLCA8YnIvPgkJCQkJIGludCBwcm9wLCA8YnIvPgkJCQkJIGludCB2YWx1ZSk8YnIvPgorPC9wcmU+PHA+Q2hhbmdlIHRoZSBwYXJzZXIgcHJvY2Vzc2luZyBiZWhhdmlvdXIgYnkgY2hhbmdpbmcgc29tZSBvZiBpdHMgaW50ZXJuYWwgcHJvcGVydGllcy4gTm90ZSB0aGF0IHNvbWUgcHJvcGVydGllcyBjYW4gb25seSBiZSBjaGFuZ2VkIGJlZm9yZSBhbnkgcmVhZCBoYXMgYmVlbiBkb25lLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVhZGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiB1c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wcm9wPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxQYXJzZXJQcm9wZXJ0aWVzIj54bWxQYXJzZXJQcm9wZXJ0aWVzPC9hPiB0byBzZXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbHVlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD51c3VhbGx5IDAgb3IgMSB0byAoZGUpYWN0aXZhdGUgaXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaWYgdGhlIGNhbGwgd2FzIHN1Y2Nlc3NmdWwsIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxUZXh0UmVhZGVyU2V0U2NoZW1hIi8+eG1sVGV4dFJlYWRlclNldFNjaGVtYSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0UmVhZGVyU2V0U2NoZW1hCQkoPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hUHRyIj54bWxTY2hlbWFQdHI8L2E+IHNjaGVtYSk8YnIvPgorPC9wcmU+PHA+VXNlIFhTRCBTY2hlbWEgdG8gdmFsaWRhdGUgdGhlIGRvY3VtZW50IGFzIGl0IGlzIHByb2Nlc3NlZC4gQWN0aXZhdGlvbiBpcyBvbmx5IHBvc3NpYmxlIGJlZm9yZSB0aGUgZmlyc3QgUmVhZCgpLiBpZiBAc2NoZW1hIGlzIE5VTEwsIHRoZW4gU2NoZW1hIHZhbGlkYXRpb24gaXMgZGVzYWN0aXZhdGVkLiBAIFRoZSBAc2NoZW1hIHNob3VsZCBub3QgYmUgZnJlZWQgdW50aWwgdGhlIHJlYWRlciBpcyBkZWFsbG9jYXRlZCBvciBpdHMgdXNlIGhhcyBiZWVuIGRlYWN0aXZhdGVkLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVhZGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiB1c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zY2hlbWE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcHJlY29tcGlsZWQgU2NoZW1hIHNjaGVtYTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpbiBjYXNlIHRoZSBTY2hlbWEgdmFsaWRhdGlvbiBjb3VsZCBiZSAoZGVzKWFjdGl2YXRlZCBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxUZXh0UmVhZGVyU2V0U3RydWN0dXJlZEVycm9ySGFuZGxlciIvPnhtbFRleHRSZWFkZXJTZXRTdHJ1Y3R1cmVkRXJyb3JIYW5kbGVyICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxUZXh0UmVhZGVyU2V0U3RydWN0dXJlZEVycm9ySGFuZGxlcgkoPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIsIDxici8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCN4bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jIj54bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jPC9hPiBmLCA8YnIvPgkJCQkJCSB2b2lkICogYXJnKTxici8+Cis8L3ByZT48cD5SZWdpc3RlciBhIGNhbGxiYWNrIGZ1bmN0aW9uIHRoYXQgd2lsbCBiZSBjYWxsZWQgb24gZXJyb3IgYW5kIHdhcm5pbmdzLiBJZiBAZiBpcyBOVUxMLCB0aGUgZGVmYXVsdCBlcnJvciBhbmQgd2FybmluZyBoYW5kbGVycyBhcmUgcmVzdG9yZWQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWFkZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHVzZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjYWxsYmFjayBmdW5jdGlvbiB0byBjYWxsIG9uIGVycm9yIGFuZCB3YXJuaW5nczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YXJnPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHVzZXIgYXJndW1lbnQgdG8gcGFzcyB0byB0aGUgY2FsbGJhY2sgZnVuY3Rpb248L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxUZXh0UmVhZGVyU2V0dXAiLz54bWxUZXh0UmVhZGVyU2V0dXAgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFJlYWRlclNldHVwCQkoPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIiPnhtbFBhcnNlcklucHV0QnVmZmVyUHRyPC9hPiBpbnB1dCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogVVJMLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyLz4JCQkJCSBpbnQgb3B0aW9ucyk8YnIvPgorPC9wcmU+PHA+U2V0dXAgYW4gWE1MIHJlYWRlciB3aXRoIG5ldyBvcHRpb25zPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWFkZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCByZWFkZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmlucHV0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciI+eG1sUGFyc2VySW5wdXRCdWZmZXJQdHI8L2E+IHVzZWQgdG8gZmVlZCB0aGUgcmVhZGVyLCB3aWxsIGJlIGRlc3Ryb3llZCB3aXRoIGl0LjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+VVJMPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYmFzZSBVUkwgdG8gdXNlIGZvciB0aGUgZG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVuY29kaW5nPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQgZW5jb2RpbmcsIG9yIE5VTEw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm9wdGlvbnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgY29tYmluYXRpb24gb2YgPGEgaHJlZj0ibGlieG1sMi1wYXJzZXIuaHRtbCN4bWxQYXJzZXJPcHRpb24iPnhtbFBhcnNlck9wdGlvbjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaW4gY2FzZSBvZiBzdWNjZXNzIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFRleHRSZWFkZXJTdGFuZGFsb25lIi8+eG1sVGV4dFJlYWRlclN0YW5kYWxvbmUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFJlYWRlclN0YW5kYWxvbmUJCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlcik8YnIvPgorPC9wcmU+PHA+RGV0ZXJtaW5lIHRoZSBzdGFuZGFsb25lIHN0YXR1cyBvZiB0aGUgZG9jdW1lbnQgYmVpbmcgcmVhZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJlYWRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gdXNlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0aGUgZG9jdW1lbnQgd2FzIGRlY2xhcmVkIHRvIGJlIHN0YW5kYWxvbmUsIDAgaWYgaXQgd2FzIGRlY2xhcmVkIHRvIGJlIG5vdCBzdGFuZGFsb25lLCBvciAtMSBpZiB0aGUgZG9jdW1lbnQgZGlkIG5vdCBzcGVjaWZ5IGl0cyBzdGFuZGFsb25lIHN0YXR1cyBvciBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFRleHRSZWFkZXJWYWx1ZSIvPnhtbFRleHRSZWFkZXJWYWx1ZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxUZXh0UmVhZGVyVmFsdWUJKDxhIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTxici8+Cis8L3ByZT48cD5Qcm92aWRlcyB0aGUgdGV4dCB2YWx1ZSBvZiB0aGUgbm9kZSBpZiBwcmVzZW50PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWFkZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHVzZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzdHJpbmcgb3IgTlVMTCBpZiBub3QgYXZhaWxhYmxlLiBUaGUgcmVzdWx0IG11c3QgYmUgZGVhbGxvY2F0ZWQgd2l0aCB4bWxGcmVlKCk8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxUZXh0UmVhZGVyWG1sTGFuZyIvPnhtbFRleHRSZWFkZXJYbWxMYW5nICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbFRleHRSZWFkZXJYbWxMYW5nCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlcik8YnIvPgorPC9wcmU+PHA+VGhlIHhtbDpsYW5nIHNjb3BlIHdpdGhpbiB3aGljaCB0aGUgbm9kZSByZXNpZGVzLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVhZGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiB1c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgeG1sOmxhbmcgdmFsdWUgb3IgTlVMTCBpZiBub25lIGV4aXN0cy4sIGlmIG5vbiBOVUxMIGl0IG5lZWQgdG8gYmUgZnJlZWQgYnkgdGhlIGNhbGxlci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgPC9kaXY+CisgICAgPC9kaXY+CisgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2RldmhlbHAvbGlieG1sMi14bWxyZWdleHAuaHRtbCBiL2xpYnhtbDIvZG9jL2RldmhlbHAvbGlieG1sMi14bWxyZWdleHAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NDI3YTM0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvZGV2aGVscC9saWJ4bWwyLXhtbHJlZ2V4cC5odG1sCkBAIC0wLDAgKzEsMjgwIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPGh0bWw+CisgIDxoZWFkPgorICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ii8+CisgICAgPHRpdGxlPnhtbHJlZ2V4cDogcmVndWxhciBleHByZXNzaW9ucyBoYW5kbGluZzwvdGl0bGU+CisgICAgPG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJMaWJ4bWwyIGRldmhlbHAgc3R5bGVzaGVldCIvPgorICAgIDxsaW5rIHJlbD0ic3RhcnQiIGhyZWY9ImluZGV4Lmh0bWwiIHRpdGxlPSJsaWJ4bWwyIFJlZmVyZW5jZSBNYW51YWwiLz4KKyAgICA8bGluayByZWw9InVwIiBocmVmPSJnZW5lcmFsLmh0bWwiIHRpdGxlPSJBUEkiLz4KKyAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9InN0eWxlLmNzcyIgdHlwZT0idGV4dC9jc3MiLz4KKyAgICA8bGluayByZWw9ImNoYXB0ZXIiIGhyZWY9ImdlbmVyYWwuaHRtbCIgdGl0bGU9IkFQSSIvPgorICA8L2hlYWQ+CisgIDxib2R5IGJnY29sb3I9IndoaXRlIiB0ZXh0PSJibGFjayIgbGluaz0iIzAwMDBGRiIgdmxpbms9IiM4NDAwODQiIGFsaW5rPSIjMDAwMEZGIj4KKyAgICA8dGFibGUgY2xhc3M9Im5hdmlnYXRpb24iIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIyIj4KKyAgICAgIDx0ciB2YWxpZ249Im1pZGRsZSI+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwiPgorICAgICAgICAgICAgPGltZyBzcmM9ImxlZnQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJQcmV2Ii8+CisgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGQ+CisgICAgICAgICAgPGEgYWNjZXNza2V5PSJ1IiBocmVmPSJnZW5lcmFsLmh0bWwiPgorICAgICAgICAgICAgPGltZyBzcmM9InVwLnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iVXAiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9ImgiIGhyZWY9ImluZGV4Lmh0bWwiPgorICAgICAgICAgICAgPGltZyBzcmM9ImhvbWUucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJIb21lIi8+CisgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGQ+CisgICAgICAgICAgPGEgYWNjZXNza2V5PSJuIiBocmVmPSJsaWJ4bWwyLXhtbHNhdmUuaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0icmlnaHQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJOZXh0Ii8+CisgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGggd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPmxpYnhtbDIgUmVmZXJlbmNlIE1hbnVhbDwvdGg+CisgICAgICA8L3RyPgorICAgIDwvdGFibGU+CisgICAgPGgyPgorICAgICAgPHNwYW4gY2xhc3M9InJlZmVudHJ5dGl0bGUiPnhtbHJlZ2V4cDwvc3Bhbj4KKyAgICA8L2gyPgorICAgIDxwPnhtbHJlZ2V4cCAtIHJlZ3VsYXIgZXhwcmVzc2lvbnMgaGFuZGxpbmc8L3A+CisgICAgPHA+YmFzaWMgQVBJIGZvciBsaWJ4bWwgcmVndWxhciBleHByZXNzaW9ucyBoYW5kbGluZyB1c2VkIGZvciBYTUwgU2NoZW1hcyBhbmQgdmFsaWRhdGlvbi4gPC9wPgorICAgIDxwPkF1dGhvcihzKTogRGFuaWVsIFZlaWxsYXJkIDwvcD4KKyAgICA8ZGl2IGNsYXNzPSJyZWZzeW5vcHNpc2RpdiI+CisgICAgICA8aDI+U3lub3BzaXM8L2gyPgorICAgICAgPHByZSBjbGFzcz0ic3lub3BzaXMiPnR5cGVkZWYgPGEgaHJlZj0ibGlieG1sMi14bWxyZWdleHAuaHRtbCN4bWxSZWdFeGVjQ3R4dCI+eG1sUmVnRXhlY0N0eHQ8L2E+ICogPGEgaHJlZj0iI3htbFJlZ0V4ZWNDdHh0UHRyIj54bWxSZWdFeGVjQ3R4dFB0cjwvYT47Cit0eXBlZGVmIHN0cnVjdCBfeG1sRXhwQ3R4dCA8YSBocmVmPSIjeG1sRXhwQ3R4dCI+eG1sRXhwQ3R4dDwvYT47Cit0eXBlZGVmIDxhIGhyZWY9ImxpYnhtbDIteG1scmVnZXhwLmh0bWwjeG1sRXhwTm9kZSI+eG1sRXhwTm9kZTwvYT4gKiA8YSBocmVmPSIjeG1sRXhwTm9kZVB0ciI+eG1sRXhwTm9kZVB0cjwvYT47Cit0eXBlZGVmIDxhIGhyZWY9ImxpYnhtbDIteG1scmVnZXhwLmh0bWwjeG1sRXhwQ3R4dCI+eG1sRXhwQ3R4dDwvYT4gKiA8YSBocmVmPSIjeG1sRXhwQ3R4dFB0ciI+eG1sRXhwQ3R4dFB0cjwvYT47Cit0eXBlZGVmIGVudW0gPGEgaHJlZj0iI3htbEV4cE5vZGVUeXBlIj54bWxFeHBOb2RlVHlwZTwvYT47Cit0eXBlZGVmIHN0cnVjdCBfeG1sUmVnRXhlY0N0eHQgPGEgaHJlZj0iI3htbFJlZ0V4ZWNDdHh0Ij54bWxSZWdFeGVjQ3R4dDwvYT47Cit0eXBlZGVmIHN0cnVjdCBfeG1sRXhwTm9kZSA8YSBocmVmPSIjeG1sRXhwTm9kZSI+eG1sRXhwTm9kZTwvYT47Cit0eXBlZGVmIHN0cnVjdCBfeG1sUmVnZXhwIDxhIGhyZWY9IiN4bWxSZWdleHAiPnhtbFJlZ2V4cDwvYT47Cit0eXBlZGVmIDxhIGhyZWY9ImxpYnhtbDIteG1scmVnZXhwLmh0bWwjeG1sUmVnZXhwIj54bWxSZWdleHA8L2E+ICogPGEgaHJlZj0iI3htbFJlZ2V4cFB0ciI+eG1sUmVnZXhwUHRyPC9hPjsKK3R5cGVkZWYgdm9pZCA8YSBocmVmPSIjeG1sUmVnRXhlY0NhbGxiYWNrcyI+eG1sUmVnRXhlY0NhbGxiYWNrczwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHJlZ2V4cC5odG1sI3htbFJlZ0V4ZWNDdHh0UHRyIj54bWxSZWdFeGVjQ3R4dFB0cjwvYT4gZXhlYywgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdG9rZW4sIDxici8+CQkJCQkgdm9pZCAqIHRyYW5zZGF0YSwgPGJyLz4JCQkJCSB2b2lkICogaW5wdXRkYXRhKTsKKzxhIGhyZWY9ImxpYnhtbDIteG1scmVnZXhwLmh0bWwjeG1sUmVnRXhlY0N0eHRQdHIiPnhtbFJlZ0V4ZWNDdHh0UHRyPC9hPgk8YSBocmVmPSIjeG1sUmVnTmV3RXhlY0N0eHQiPnhtbFJlZ05ld0V4ZWNDdHh0PC9hPgkoPGEgaHJlZj0ibGlieG1sMi14bWxyZWdleHAuaHRtbCN4bWxSZWdleHBQdHIiPnhtbFJlZ2V4cFB0cjwvYT4gY29tcCwgPGJyLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxyZWdleHAuaHRtbCN4bWxSZWdFeGVjQ2FsbGJhY2tzIj54bWxSZWdFeGVjQ2FsbGJhY2tzPC9hPiBjYWxsYmFjaywgPGJyLz4JCQkJCQkgdm9pZCAqIGRhdGEpOworPGEgaHJlZj0ibGlieG1sMi14bWxyZWdleHAuaHRtbCN4bWxFeHBOb2RlUHRyIj54bWxFeHBOb2RlUHRyPC9hPgk8YSBocmVmPSIjeG1sRXhwTmV3T3IiPnhtbEV4cE5ld09yPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDIteG1scmVnZXhwLmh0bWwjeG1sRXhwQ3R4dFB0ciI+eG1sRXhwQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5vZGVQdHIiPnhtbEV4cE5vZGVQdHI8L2E+IGxlZnQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxyZWdleHAuaHRtbCN4bWxFeHBOb2RlUHRyIj54bWxFeHBOb2RlUHRyPC9hPiByaWdodCk7Cit2b2lkCTxhIGhyZWY9IiN4bWxSZWdGcmVlUmVnZXhwIj54bWxSZWdGcmVlUmVnZXhwPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDIteG1scmVnZXhwLmh0bWwjeG1sUmVnZXhwUHRyIj54bWxSZWdleHBQdHI8L2E+IHJlZ2V4cCk7Cit2b2lkCTxhIGhyZWY9IiN4bWxFeHBSZWYiPnhtbEV4cFJlZjwvYT4JCQkoPGEgaHJlZj0ibGlieG1sMi14bWxyZWdleHAuaHRtbCN4bWxFeHBOb2RlUHRyIj54bWxFeHBOb2RlUHRyPC9hPiBleHApOworaW50CTxhIGhyZWY9IiN4bWxSZWdleHBJc0RldGVybWluaXN0Ij54bWxSZWdleHBJc0RldGVybWluaXN0PC9hPgkJKDxhIGhyZWY9ImxpYnhtbDIteG1scmVnZXhwLmh0bWwjeG1sUmVnZXhwUHRyIj54bWxSZWdleHBQdHI8L2E+IGNvbXApOworaW50CTxhIGhyZWY9IiN4bWxSZWdFeGVjRXJySW5mbyI+eG1sUmVnRXhlY0VyckluZm88L2E+CQkoPGEgaHJlZj0ibGlieG1sMi14bWxyZWdleHAuaHRtbCN4bWxSZWdFeGVjQ3R4dFB0ciI+eG1sUmVnRXhlY0N0eHRQdHI8L2E+IGV4ZWMsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqKiBzdHJpbmcsIDxici8+CQkJCQkgaW50ICogbmJ2YWwsIDxici8+CQkJCQkgaW50ICogbmJuZWcsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqKiB2YWx1ZXMsIDxici8+CQkJCQkgaW50ICogdGVybWluYWwpOwordm9pZAk8YSBocmVmPSIjeG1sUmVnRnJlZUV4ZWNDdHh0Ij54bWxSZWdGcmVlRXhlY0N0eHQ8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi14bWxyZWdleHAuaHRtbCN4bWxSZWdFeGVjQ3R4dFB0ciI+eG1sUmVnRXhlY0N0eHRQdHI8L2E+IGV4ZWMpOworaW50CTxhIGhyZWY9IiN4bWxFeHBDdHh0TmJDb25zIj54bWxFeHBDdHh0TmJDb25zPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDIteG1scmVnZXhwLmh0bWwjeG1sRXhwQ3R4dFB0ciI+eG1sRXhwQ3R4dFB0cjwvYT4gY3R4dCk7CitpbnQJPGEgaHJlZj0iI3htbEV4cFN1YnN1bWUiPnhtbEV4cFN1YnN1bWU8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbDIteG1scmVnZXhwLmh0bWwjeG1sRXhwQ3R4dFB0ciI+eG1sRXhwQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5vZGVQdHIiPnhtbEV4cE5vZGVQdHI8L2E+IGV4cCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5vZGVQdHIiPnhtbEV4cE5vZGVQdHI8L2E+IHN1Yik7CitpbnQJPGEgaHJlZj0iI3htbFJlZ0V4ZWNQdXNoU3RyaW5nMiI+eG1sUmVnRXhlY1B1c2hTdHJpbmcyPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDIteG1scmVnZXhwLmh0bWwjeG1sUmVnRXhlY0N0eHRQdHIiPnhtbFJlZ0V4ZWNDdHh0UHRyPC9hPiBleGVjLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB2YWx1ZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUyLCA8YnIvPgkJCQkJIHZvaWQgKiBkYXRhKTsKK2ludAk8YSBocmVmPSIjeG1sUmVnRXhlY05leHRWYWx1ZXMiPnhtbFJlZ0V4ZWNOZXh0VmFsdWVzPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDIteG1scmVnZXhwLmh0bWwjeG1sUmVnRXhlY0N0eHRQdHIiPnhtbFJlZ0V4ZWNDdHh0UHRyPC9hPiBleGVjLCA8YnIvPgkJCQkJIGludCAqIG5idmFsLCA8YnIvPgkJCQkJIGludCAqIG5ibmVnLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiogdmFsdWVzLCA8YnIvPgkJCQkJIGludCAqIHRlcm1pbmFsKTsKKzxhIGhyZWY9ImxpYnhtbDIteG1scmVnZXhwLmh0bWwjeG1sRXhwTm9kZVB0ciI+eG1sRXhwTm9kZVB0cjwvYT4JPGEgaHJlZj0iI3htbEV4cEV4cERlcml2ZSI+eG1sRXhwRXhwRGVyaXZlPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDIteG1scmVnZXhwLmh0bWwjeG1sRXhwQ3R4dFB0ciI+eG1sRXhwQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5vZGVQdHIiPnhtbEV4cE5vZGVQdHI8L2E+IGV4cCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5vZGVQdHIiPnhtbEV4cE5vZGVQdHI8L2E+IHN1Yik7CitpbnQJPGEgaHJlZj0iI3htbEV4cElzTmlsbGFibGUiPnhtbEV4cElzTmlsbGFibGU8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi14bWxyZWdleHAuaHRtbCN4bWxFeHBOb2RlUHRyIj54bWxFeHBOb2RlUHRyPC9hPiBleHApOwordm9pZAk8YSBocmVmPSIjeG1sRXhwRnJlZUN0eHQiPnhtbEV4cEZyZWVDdHh0PC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHJlZ2V4cC5odG1sI3htbEV4cEN0eHRQdHIiPnhtbEV4cEN0eHRQdHI8L2E+IGN0eHQpOwordm9pZAk8YSBocmVmPSIjeG1sRXhwRHVtcCI+eG1sRXhwRHVtcDwvYT4JCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQnVmZmVyUHRyIj54bWxCdWZmZXJQdHI8L2E+IGJ1ZiwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5vZGVQdHIiPnhtbEV4cE5vZGVQdHI8L2E+IGV4cHIpOworPGEgaHJlZj0ibGlieG1sMi14bWxyZWdleHAuaHRtbCN4bWxFeHBOb2RlUHRyIj54bWxFeHBOb2RlUHRyPC9hPgk8YSBocmVmPSIjeG1sRXhwTmV3U2VxIj54bWxFeHBOZXdTZXE8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi14bWxyZWdleHAuaHRtbCN4bWxFeHBDdHh0UHRyIj54bWxFeHBDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1scmVnZXhwLmh0bWwjeG1sRXhwTm9kZVB0ciI+eG1sRXhwTm9kZVB0cjwvYT4gbGVmdCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5vZGVQdHIiPnhtbEV4cE5vZGVQdHI8L2E+IHJpZ2h0KTsKK3ZvaWQJPGEgaHJlZj0iI3htbEV4cEZyZWUiPnhtbEV4cEZyZWU8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbDIteG1scmVnZXhwLmh0bWwjeG1sRXhwQ3R4dFB0ciI+eG1sRXhwQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5vZGVQdHIiPnhtbEV4cE5vZGVQdHI8L2E+IGV4cCk7Cis8YSBocmVmPSJsaWJ4bWwyLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5vZGVQdHIiPnhtbEV4cE5vZGVQdHI8L2E+CTxhIGhyZWY9IiN4bWxFeHBOZXdSYW5nZSI+eG1sRXhwTmV3UmFuZ2U8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi14bWxyZWdleHAuaHRtbCN4bWxFeHBDdHh0UHRyIj54bWxFeHBDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1scmVnZXhwLmh0bWwjeG1sRXhwTm9kZVB0ciI+eG1sRXhwTm9kZVB0cjwvYT4gc3Vic2V0LCA8YnIvPgkJCQkJIGludCBtaW4sIDxici8+CQkJCQkgaW50IG1heCk7Cis8YSBocmVmPSJsaWJ4bWwyLXhtbHJlZ2V4cC5odG1sI3htbFJlZ2V4cFB0ciI+eG1sUmVnZXhwUHRyPC9hPgk8YSBocmVmPSIjeG1sUmVnZXhwQ29tcGlsZSI+eG1sUmVnZXhwQ29tcGlsZTwvYT4JKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiByZWdleHApOworPGEgaHJlZj0ibGlieG1sMi14bWxyZWdleHAuaHRtbCN4bWxFeHBOb2RlUHRyIj54bWxFeHBOb2RlUHRyPC9hPgk8YSBocmVmPSIjeG1sRXhwTmV3QXRvbSI+eG1sRXhwTmV3QXRvbTwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHJlZ2V4cC5odG1sI3htbEV4cEN0eHRQdHIiPnhtbEV4cEN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgaW50IGxlbik7CitpbnQJPGEgaHJlZj0iI3htbFJlZ2V4cEV4ZWMiPnhtbFJlZ2V4cEV4ZWM8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbDIteG1scmVnZXhwLmh0bWwjeG1sUmVnZXhwUHRyIj54bWxSZWdleHBQdHI8L2E+IGNvbXAsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGNvbnRlbnQpOworaW50CTxhIGhyZWY9IiN4bWxSZWdFeGVjUHVzaFN0cmluZyI+eG1sUmVnRXhlY1B1c2hTdHJpbmc8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi14bWxyZWdleHAuaHRtbCN4bWxSZWdFeGVjQ3R4dFB0ciI+eG1sUmVnRXhlY0N0eHRQdHI8L2E+IGV4ZWMsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHZhbHVlLCA8YnIvPgkJCQkJIHZvaWQgKiBkYXRhKTsKK2ludAk8YSBocmVmPSIjeG1sRXhwR2V0U3RhcnQiPnhtbEV4cEdldFN0YXJ0PC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHJlZ2V4cC5odG1sI3htbEV4cEN0eHRQdHIiPnhtbEV4cEN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxyZWdleHAuaHRtbCN4bWxFeHBOb2RlUHRyIj54bWxFeHBOb2RlUHRyPC9hPiBleHAsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqKiB0b2tMaXN0LCA8YnIvPgkJCQkJIGludCBsZW4pOworPGEgaHJlZj0ibGlieG1sMi14bWxyZWdleHAuaHRtbCN4bWxFeHBOb2RlUHRyIj54bWxFeHBOb2RlUHRyPC9hPgk8YSBocmVmPSIjeG1sRXhwUGFyc2UiPnhtbEV4cFBhcnNlPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDIteG1scmVnZXhwLmh0bWwjeG1sRXhwQ3R4dFB0ciI+eG1sRXhwQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZXhwcik7Cis8YSBocmVmPSJsaWJ4bWwyLXhtbHJlZ2V4cC5odG1sI3htbEV4cEN0eHRQdHIiPnhtbEV4cEN0eHRQdHI8L2E+CTxhIGhyZWY9IiN4bWxFeHBOZXdDdHh0Ij54bWxFeHBOZXdDdHh0PC9hPgkJKGludCBtYXhOb2RlcywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLWRpY3QuaHRtbCN4bWxEaWN0UHRyIj54bWxEaWN0UHRyPC9hPiBkaWN0KTsKK2ludAk8YSBocmVmPSIjeG1sRXhwR2V0TGFuZ3VhZ2UiPnhtbEV4cEdldExhbmd1YWdlPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDIteG1scmVnZXhwLmh0bWwjeG1sRXhwQ3R4dFB0ciI+eG1sRXhwQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5vZGVQdHIiPnhtbEV4cE5vZGVQdHI8L2E+IGV4cCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoqIGxhbmdMaXN0LCA8YnIvPgkJCQkJIGludCBsZW4pOworPGEgaHJlZj0ibGlieG1sMi14bWxyZWdleHAuaHRtbCN4bWxFeHBOb2RlUHRyIj54bWxFeHBOb2RlUHRyPC9hPgk8YSBocmVmPSIjeG1sRXhwU3RyaW5nRGVyaXZlIj54bWxFeHBTdHJpbmdEZXJpdmU8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXhtbHJlZ2V4cC5odG1sI3htbEV4cEN0eHRQdHIiPnhtbEV4cEN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxyZWdleHAuaHRtbCN4bWxFeHBOb2RlUHRyIj54bWxFeHBOb2RlUHRyPC9hPiBleHAsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0ciwgPGJyLz4JCQkJCSBpbnQgbGVuKTsKK2ludAk8YSBocmVmPSIjeG1sRXhwQ3R4dE5iTm9kZXMiPnhtbEV4cEN0eHROYk5vZGVzPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDIteG1scmVnZXhwLmh0bWwjeG1sRXhwQ3R4dFB0ciI+eG1sRXhwQ3R4dFB0cjwvYT4gY3R4dCk7CitpbnQJPGEgaHJlZj0iI3htbEV4cE1heFRva2VuIj54bWxFeHBNYXhUb2tlbjwvYT4JCQkoPGEgaHJlZj0ibGlieG1sMi14bWxyZWdleHAuaHRtbCN4bWxFeHBOb2RlUHRyIj54bWxFeHBOb2RlUHRyPC9hPiBleHByKTsKK3ZvaWQJPGEgaHJlZj0iI3htbFJlZ2V4cFByaW50Ij54bWxSZWdleHBQcmludDwvYT4JCQkoRklMRSAqIG91dHB1dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbHJlZ2V4cC5odG1sI3htbFJlZ2V4cFB0ciI+eG1sUmVnZXhwUHRyPC9hPiByZWdleHApOworPC9wcmU+CisgICAgPC9kaXY+CisgICAgPGRpdiBjbGFzcz0icmVmc2VjdDEiIGxhbmc9ImVuIj4KKyAgICAgIDxoMj5EZXNjcmlwdGlvbjwvaDI+CisgICAgPC9kaXY+CisgICAgPGRpdiBjbGFzcz0icmVmc2VjdDEiIGxhbmc9ImVuIj4KKyAgICAgIDxoMj5EZXRhaWxzPC9oMj4KKyAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEV4cEN0eHQiPlN0cnVjdHVyZSA8L2E+eG1sRXhwQ3R4dDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnN0cnVjdCBfeG1sRXhwQ3R4dCB7CitUaGUgY29udGVudCBvZiB0aGlzIHN0cnVjdHVyZSBpcyBub3QgbWFkZSBwdWJsaWMgYnkgdGhlIEFQSS4KK30geG1sRXhwQ3R4dDsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxFeHBDdHh0UHRyIj5UeXBlZGVmIDwvYT54bWxFeHBDdHh0UHRyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14bWxyZWdleHAuaHRtbCN4bWxFeHBDdHh0Ij54bWxFeHBDdHh0PC9hPiAqIHhtbEV4cEN0eHRQdHI7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sRXhwTm9kZSI+U3RydWN0dXJlIDwvYT54bWxFeHBOb2RlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+c3RydWN0IF94bWxFeHBOb2RlIHsKK1RoZSBjb250ZW50IG9mIHRoaXMgc3RydWN0dXJlIGlzIG5vdCBtYWRlIHB1YmxpYyBieSB0aGUgQVBJLgorfSB4bWxFeHBOb2RlOworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEV4cE5vZGVQdHIiPlR5cGVkZWYgPC9hPnhtbEV4cE5vZGVQdHI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5vZGUiPnhtbEV4cE5vZGU8L2E+ICogeG1sRXhwTm9kZVB0cjsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxFeHBOb2RlVHlwZSI+RW51bSA8L2E+eG1sRXhwTm9kZVR5cGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5lbnVtIDxhIGhyZWY9IiN4bWxFeHBOb2RlVHlwZSI+eG1sRXhwTm9kZVR5cGU8L2E+IHsKKyAgICA8YSBuYW1lPSJYTUxfRVhQX0VNUFRZIj5YTUxfRVhQX0VNUFRZPC9hPiA9IDAKKyAgICA8YSBuYW1lPSJYTUxfRVhQX0ZPUkJJRCI+WE1MX0VYUF9GT1JCSUQ8L2E+ID0gMQorICAgIDxhIG5hbWU9IlhNTF9FWFBfQVRPTSI+WE1MX0VYUF9BVE9NPC9hPiA9IDIKKyAgICA8YSBuYW1lPSJYTUxfRVhQX1NFUSI+WE1MX0VYUF9TRVE8L2E+ID0gMworICAgIDxhIG5hbWU9IlhNTF9FWFBfT1IiPlhNTF9FWFBfT1I8L2E+ID0gNAorICAgIDxhIG5hbWU9IlhNTF9FWFBfQ09VTlQiPlhNTF9FWFBfQ09VTlQ8L2E+ID0gNQorfTsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxSZWdFeGVjQ3R4dCI+U3RydWN0dXJlIDwvYT54bWxSZWdFeGVjQ3R4dDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnN0cnVjdCBfeG1sUmVnRXhlY0N0eHQgeworVGhlIGNvbnRlbnQgb2YgdGhpcyBzdHJ1Y3R1cmUgaXMgbm90IG1hZGUgcHVibGljIGJ5IHRoZSBBUEkuCit9IHhtbFJlZ0V4ZWNDdHh0OworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFJlZ0V4ZWNDdHh0UHRyIj5UeXBlZGVmIDwvYT54bWxSZWdFeGVjQ3R4dFB0cjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1scmVnZXhwLmh0bWwjeG1sUmVnRXhlY0N0eHQiPnhtbFJlZ0V4ZWNDdHh0PC9hPiAqIHhtbFJlZ0V4ZWNDdHh0UHRyOworPC9wcmU+PHA+QSBsaWJ4bWwgcHJvZ3Jlc3NpdmUgcmVndWxhciBleHByZXNzaW9uIGV2YWx1YXRpb24gY29udGV4dDwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxSZWdleHAiPlN0cnVjdHVyZSA8L2E+eG1sUmVnZXhwPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+c3RydWN0IF94bWxSZWdleHAgeworVGhlIGNvbnRlbnQgb2YgdGhpcyBzdHJ1Y3R1cmUgaXMgbm90IG1hZGUgcHVibGljIGJ5IHRoZSBBUEkuCit9IHhtbFJlZ2V4cDsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxSZWdleHBQdHIiPlR5cGVkZWYgPC9hPnhtbFJlZ2V4cFB0cjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1scmVnZXhwLmh0bWwjeG1sUmVnZXhwIj54bWxSZWdleHA8L2E+ICogeG1sUmVnZXhwUHRyOworPC9wcmU+PHA+QSBsaWJ4bWwgcmVndWxhciBleHByZXNzaW9uLCB0aGV5IGNhbiBhY3R1YWxseSBiZSBmYXIgbW9yZSBjb21wbGV4IHRoYW5rIHRoZSBQT1NJWCByZWdleCBleHByZXNzaW9ucy48L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUmVnRXhlY0NhbGxiYWNrcyIvPkZ1bmN0aW9uIHR5cGUgeG1sUmVnRXhlY0NhbGxiYWNrczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sUmVnRXhlY0NhbGxiYWNrcwkJKDxhIGhyZWY9ImxpYnhtbDIteG1scmVnZXhwLmh0bWwjeG1sUmVnRXhlY0N0eHRQdHIiPnhtbFJlZ0V4ZWNDdHh0UHRyPC9hPiBleGVjLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB0b2tlbiwgPGJyLz4JCQkJCSB2b2lkICogdHJhbnNkYXRhLCA8YnIvPgkJCQkJIHZvaWQgKiBpbnB1dGRhdGEpPGJyLz4KKzwvcHJlPjxwPkNhbGxiYWNrIGZ1bmN0aW9uIHdoZW4gZG9pbmcgYSB0cmFuc2l0aW9uIGluIHRoZSBhdXRvbWF0YTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZXhlYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50b2tlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGN1cnJlbnQgdG9rZW4gc3RyaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50cmFuc2RhdGE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRyYW5zaXRpb24gZGF0YTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aW5wdXRkYXRhPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5pbnB1dCBkYXRhPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iZW1wdHlFeHAiPlZhcmlhYmxlIDwvYT5lbXB0eUV4cDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1scmVnZXhwLmh0bWwjeG1sRXhwTm9kZVB0ciI+eG1sRXhwTm9kZVB0cjwvYT4gZW1wdHlFeHA7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iZm9yYmlkZGVuRXhwIj5WYXJpYWJsZSA8L2E+Zm9yYmlkZGVuRXhwPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14bWxyZWdleHAuaHRtbCN4bWxFeHBOb2RlUHRyIj54bWxFeHBOb2RlUHRyPC9hPiBmb3JiaWRkZW5FeHA7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sRXhwQ3R4dE5iQ29ucyIvPnhtbEV4cEN0eHROYkNvbnMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sRXhwQ3R4dE5iQ29ucwkJKDxhIGhyZWY9ImxpYnhtbDIteG1scmVnZXhwLmh0bWwjeG1sRXhwQ3R4dFB0ciI+eG1sRXhwQ3R4dFB0cjwvYT4gY3R4dCk8YnIvPgorPC9wcmU+PHA+RGVidWdnaW5nIGZhY2lsaXR5IHByb3ZpZGVzIHRoZSBudW1iZXIgb2YgYWxsb2NhdGVkIG5vZGVzIG92ZXIgbGlmZXRpbWU8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIGV4cHJlc3Npb24gY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBub2RlcyBldmVyIGFsbG9jYXRlZCBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sRXhwQ3R4dE5iTm9kZXMiLz54bWxFeHBDdHh0TmJOb2RlcyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxFeHBDdHh0TmJOb2RlcwkJKDxhIGhyZWY9ImxpYnhtbDIteG1scmVnZXhwLmh0bWwjeG1sRXhwQ3R4dFB0ciI+eG1sRXhwQ3R4dFB0cjwvYT4gY3R4dCk8YnIvPgorPC9wcmU+PHA+RGVidWdnaW5nIGZhY2lsaXR5IHByb3ZpZGVzIHRoZSBudW1iZXIgb2YgYWxsb2NhdGVkIG5vZGVzIGF0IGEgdGhhdCBwb2ludDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gZXhwcmVzc2lvbiBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIG5vZGVzIGluIHVzZSBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sRXhwRHVtcCIvPnhtbEV4cER1bXAgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbEV4cER1bXAJCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQnVmZmVyUHRyIj54bWxCdWZmZXJQdHI8L2E+IGJ1ZiwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5vZGVQdHIiPnhtbEV4cE5vZGVQdHI8L2E+IGV4cHIpPGJyLz4KKzwvcHJlPjxwPlNlcmlhbGl6ZSB0aGUgZXhwcmVzc2lvbiBhcyBjb21waWxlZCB0byB0aGUgYnVmZmVyPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5idWY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgYnVmZmVyIHRvIHJlY2VpdmUgdGhlIG91dHB1dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZXhwcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGNvbXBpbGVkIGV4cHJlc3Npb248L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxFeHBFeHBEZXJpdmUiLz54bWxFeHBFeHBEZXJpdmUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5vZGVQdHIiPnhtbEV4cE5vZGVQdHI8L2E+CXhtbEV4cEV4cERlcml2ZQkJKDxhIGhyZWY9ImxpYnhtbDIteG1scmVnZXhwLmh0bWwjeG1sRXhwQ3R4dFB0ciI+eG1sRXhwQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5vZGVQdHIiPnhtbEV4cE5vZGVQdHI8L2E+IGV4cCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5vZGVQdHIiPnhtbEV4cE5vZGVQdHI8L2E+IHN1Yik8YnIvPgorPC9wcmU+PHA+RXZhbHVhdGVzIHRoZSBleHByZXNzaW9uIHJlc3VsdGluZyBmcm9tIEBleHAgY29uc3VtaW5nIGEgc3ViIGV4cHJlc3Npb24gQHN1YiBCYXNlZCBvbiBhbGdlYnJhaWMgZGVyaXZhdGlvbiBhbmQgc29tZXRpbWVzIGRpcmVjdCBCcnpvem93c2tpIGRlcml2YXRpb24gaXQgdXN1YWxseSB0YXRrZXMgbGVzcyB0aGFuIGxpbmVhciB0aW1lIGFuZCBjYW4gaGFuZGxlIGV4cHJlc3Npb25zIGdlbmVyYXRpbmcgaW5maW5pdGUgbGFuZ3VhZ2VzLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGV4cHJlc3Npb25zIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmV4cDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVuZ2xvYmluZyBleHByZXNzaW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdWI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzdWJleHByZXNzaW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmVzdWx0aW5nIGV4cHJlc3Npb24gb3IgTlVMTCBpbiBjYXNlIG9mIGludGVybmFsIGVycm9yLCB0aGUgcmVzdWx0IG11c3QgYmUgZnJlZWQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxFeHBGcmVlIi8+eG1sRXhwRnJlZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sRXhwRnJlZQkJCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHJlZ2V4cC5odG1sI3htbEV4cEN0eHRQdHIiPnhtbEV4cEN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxyZWdleHAuaHRtbCN4bWxFeHBOb2RlUHRyIj54bWxFeHBOb2RlUHRyPC9hPiBleHApPGJyLz4KKzwvcHJlPjxwPkRlcmVmZXJlbmNlIHRoZSBleHByZXNzaW9uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZXhwcmVzc2lvbiBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5leHA8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBleHByZXNzaW9uPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sRXhwRnJlZUN0eHQiLz54bWxFeHBGcmVlQ3R4dCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sRXhwRnJlZUN0eHQJCQkoPGEgaHJlZj0ibGlieG1sMi14bWxyZWdleHAuaHRtbCN4bWxFeHBDdHh0UHRyIj54bWxFeHBDdHh0UHRyPC9hPiBjdHh0KTxici8+Cis8L3ByZT48cD5GcmVlIGFuIGV4cHJlc3Npb24gY29udGV4dDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gZXhwcmVzc2lvbiBjb250ZXh0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sRXhwR2V0TGFuZ3VhZ2UiLz54bWxFeHBHZXRMYW5ndWFnZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxFeHBHZXRMYW5ndWFnZQkJKDxhIGhyZWY9ImxpYnhtbDIteG1scmVnZXhwLmh0bWwjeG1sRXhwQ3R4dFB0ciI+eG1sRXhwQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5vZGVQdHIiPnhtbEV4cE5vZGVQdHI8L2E+IGV4cCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoqIGxhbmdMaXN0LCA8YnIvPgkJCQkJIGludCBsZW4pPGJyLz4KKzwvcHJlPjxwPkZpbmQgYWxsIHRoZSBzdHJpbmdzIHVzZWQgaW4gQGV4cCBhbmQgc3RvcmUgdGhlbSBpbiBAbGlzdDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGV4cHJlc3Npb24gY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZXhwPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZXhwcmVzc2lvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGFuZ0xpc3Q8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPndoZXJlIHRvIHN0b3JlIHRoZSB0b2tlbnM8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGFsbG9jYXRlZCBsZW5ndGggb2YgQGxpc3Q8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgdW5pcXVlIHN0cmluZ3MgZm91bmQsIC0xIGluIGNhc2Ugb2YgZXJyb3JzIGFuZCAtMiBpZiB0aGVyZSBpcyBtb3JlIHRoYW4gQGxlbiBzdHJpbmdzPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sRXhwR2V0U3RhcnQiLz54bWxFeHBHZXRTdGFydCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxFeHBHZXRTdGFydAkJCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHJlZ2V4cC5odG1sI3htbEV4cEN0eHRQdHIiPnhtbEV4cEN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxyZWdleHAuaHRtbCN4bWxFeHBOb2RlUHRyIj54bWxFeHBOb2RlUHRyPC9hPiBleHAsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqKiB0b2tMaXN0LCA8YnIvPgkJCQkJIGludCBsZW4pPGJyLz4KKzwvcHJlPjxwPkZpbmQgYWxsIHRoZSBzdHJpbmdzIHRoYXQgYXBwZWFycyBhdCB0aGUgc3RhcnQgb2YgdGhlIGxhbmd1YWdlcyBhY2NlcHRlZCBieSBAZXhwIGFuZCBzdG9yZSB0aGVtIGluIEBsaXN0LiBFLmcuIGZvciAoYSwgYikgfCBjIGl0IHdpbGwgcmV0dXJuIHRoZSBsaXN0IFthLCBjXTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGV4cHJlc3Npb24gY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZXhwPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZXhwcmVzc2lvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dG9rTGlzdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+d2hlcmUgdG8gc3RvcmUgdGhlIHRva2VuczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGVuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYWxsb2NhdGVkIGxlbmd0aCBvZiBAbGlzdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiB1bmlxdWUgc3RyaW5ncyBmb3VuZCwgLTEgaW4gY2FzZSBvZiBlcnJvcnMgYW5kIC0yIGlmIHRoZXJlIGlzIG1vcmUgdGhhbiBAbGVuIHN0cmluZ3M8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxFeHBJc05pbGxhYmxlIi8+eG1sRXhwSXNOaWxsYWJsZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxFeHBJc05pbGxhYmxlCQkoPGEgaHJlZj0ibGlieG1sMi14bWxyZWdleHAuaHRtbCN4bWxFeHBOb2RlUHRyIj54bWxFeHBOb2RlUHRyPC9hPiBleHApPGJyLz4KKzwvcHJlPjxwPkZpbmRzIGlmIHRoZSBleHByZXNzaW9uIGlzIG5pbGxhYmxlLCBpLmUuIGlmIGl0IGFjY2VwdHMgdGhlIGVtcHR5IHNlcXVxbmNlPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5leHA8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBleHByZXNzaW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIG5pbGxhYmxlLCAwIGlmIG5vdCBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbEV4cE1heFRva2VuIi8+eG1sRXhwTWF4VG9rZW4gKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sRXhwTWF4VG9rZW4JCQkoPGEgaHJlZj0ibGlieG1sMi14bWxyZWdleHAuaHRtbCN4bWxFeHBOb2RlUHRyIj54bWxFeHBOb2RlUHRyPC9hPiBleHByKTxici8+Cis8L3ByZT48cD5JbmRpY2F0ZSB0aGUgbWF4aW11bSBudW1iZXIgb2YgaW5wdXQgYSBleHByZXNzaW9uIGNhbiBhY2NlcHQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmV4cHI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgY29tcGlsZWQgZXhwcmVzc2lvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG1heGltdW0gbGVuZ3RoIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxFeHBOZXdBdG9tIi8+eG1sRXhwTmV3QXRvbSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1scmVnZXhwLmh0bWwjeG1sRXhwTm9kZVB0ciI+eG1sRXhwTm9kZVB0cjwvYT4JeG1sRXhwTmV3QXRvbQkJKDxhIGhyZWY9ImxpYnhtbDIteG1scmVnZXhwLmh0bWwjeG1sRXhwQ3R4dFB0ciI+eG1sRXhwQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCSBpbnQgbGVuKTxici8+Cis8L3ByZT48cD5HZXQgdGhlIGF0b20gYXNzb2NpYXRlZCB0byB0aGlzIG5hbWUgZnJvbSB0aGF0IGNvbnRleHQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBleHByZXNzaW9uIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBhdG9tIG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGF0b20gbmFtZSBsZW5ndGggaW4gYnl0ZSAob3IgLTEpOzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vZGUgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sRXhwTmV3Q3R4dCIvPnhtbEV4cE5ld0N0eHQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhtbHJlZ2V4cC5odG1sI3htbEV4cEN0eHRQdHIiPnhtbEV4cEN0eHRQdHI8L2E+CXhtbEV4cE5ld0N0eHQJCShpbnQgbWF4Tm9kZXMsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi1kaWN0Lmh0bWwjeG1sRGljdFB0ciI+eG1sRGljdFB0cjwvYT4gZGljdCk8YnIvPgorPC9wcmU+PHA+Q3JlYXRlcyBhIG5ldyBjb250ZXh0IGZvciBtYW5pcHVsYXRpbmcgZXhwcmVzc2lvbnM8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm1heE5vZGVzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbWF4aW11bSBudW1iZXIgb2Ygbm9kZXM8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRpY3Q8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPm9wdGlvbmFsIGRpY3Rpb25uYXJ5IHRvIHVzZSBpbnRlcm5hbGx5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY29udGV4dCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxFeHBOZXdPciIvPnhtbEV4cE5ld09yICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14bWxyZWdleHAuaHRtbCN4bWxFeHBOb2RlUHRyIj54bWxFeHBOb2RlUHRyPC9hPgl4bWxFeHBOZXdPcgkJKDxhIGhyZWY9ImxpYnhtbDIteG1scmVnZXhwLmh0bWwjeG1sRXhwQ3R4dFB0ciI+eG1sRXhwQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5vZGVQdHIiPnhtbEV4cE5vZGVQdHI8L2E+IGxlZnQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxyZWdleHAuaHRtbCN4bWxFeHBOb2RlUHRyIj54bWxFeHBOb2RlUHRyPC9hPiByaWdodCk8YnIvPgorPC9wcmU+PHA+R2V0IHRoZSBhdG9tIGFzc29jaWF0ZWQgdG8gdGhlIGNob2ljZSBAbGVmdCB8IEByaWdodCBOb3RlIHRoYXQgQGxlZnQgYW5kIEByaWdodCBhcmUgY29uc3VtZWQgaW4gdGhlIG9wZXJhdGlvbiwgdG8ga2VlcCBhbiBoYW5kbGUgb24gdGhlbSB1c2UgeG1sRXhwUmVmKCkgYW5kIHVzZSB4bWxFeHBGcmVlKCkgdG8gcmVsZWFzZSB0aGVtLCB0aGlzIGlzIHRydWUgZXZlbiBpbiBjYXNlIG9mIGZhaWx1cmUgKHVubGVzcyBjdHh0ID09IE5VTEwpLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGV4cHJlc3Npb24gY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGVmdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+bGVmdCBleHByZXNzaW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yaWdodDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+cmlnaHQgZXhwcmVzc2lvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vZGUgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sRXhwTmV3UmFuZ2UiLz54bWxFeHBOZXdSYW5nZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1scmVnZXhwLmh0bWwjeG1sRXhwTm9kZVB0ciI+eG1sRXhwTm9kZVB0cjwvYT4JeG1sRXhwTmV3UmFuZ2UJCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHJlZ2V4cC5odG1sI3htbEV4cEN0eHRQdHIiPnhtbEV4cEN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxyZWdleHAuaHRtbCN4bWxFeHBOb2RlUHRyIj54bWxFeHBOb2RlUHRyPC9hPiBzdWJzZXQsIDxici8+CQkJCQkgaW50IG1pbiwgPGJyLz4JCQkJCSBpbnQgbWF4KTxici8+Cis8L3ByZT48cD5HZXQgdGhlIGF0b20gYXNzb2NpYXRlZCB0byB0aGUgcmFuZ2UgKEBzdWJzZXQpe0BtaW4sIEBtYXh9IE5vdGUgdGhhdCBAc3Vic2V0IGlzIGNvbnN1bWVkIGluIHRoZSBvcGVyYXRpb24sIHRvIGtlZXAgYW4gaGFuZGxlIG9uIGl0IHVzZSB4bWxFeHBSZWYoKSBhbmQgdXNlIHhtbEV4cEZyZWUoKSB0byByZWxlYXNlIGl0LCB0aGlzIGlzIHRydWUgZXZlbiBpbiBjYXNlIG9mIGZhaWx1cmUgKHVubGVzcyBjdHh0ID09IE5VTEwpLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGV4cHJlc3Npb24gY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3Vic2V0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZXhwcmVzc2lvbiB0byBiZSByZXBlYXRlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bWluPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbG93ZXIgYm91bmQgZm9yIHRoZSByZXBldGl0aW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5tYXg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1cHBlciBib3VuZCBmb3IgdGhlIHJlcGV0aXRpb24sIC0xIG1lYW5zIGluZmluaXRlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbm9kZSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxFeHBOZXdTZXEiLz54bWxFeHBOZXdTZXEgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5vZGVQdHIiPnhtbEV4cE5vZGVQdHI8L2E+CXhtbEV4cE5ld1NlcQkJKDxhIGhyZWY9ImxpYnhtbDIteG1scmVnZXhwLmh0bWwjeG1sRXhwQ3R4dFB0ciI+eG1sRXhwQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5vZGVQdHIiPnhtbEV4cE5vZGVQdHI8L2E+IGxlZnQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxyZWdleHAuaHRtbCN4bWxFeHBOb2RlUHRyIj54bWxFeHBOb2RlUHRyPC9hPiByaWdodCk8YnIvPgorPC9wcmU+PHA+R2V0IHRoZSBhdG9tIGFzc29jaWF0ZWQgdG8gdGhlIHNlcXVlbmNlIEBsZWZ0ICwgQHJpZ2h0IE5vdGUgdGhhdCBAbGVmdCBhbmQgQHJpZ2h0IGFyZSBjb25zdW1lZCBpbiB0aGUgb3BlcmF0aW9uLCB0byBrZWVwIGFuIGhhbmRsZSBvbiB0aGVtIHVzZSB4bWxFeHBSZWYoKSBhbmQgdXNlIHhtbEV4cEZyZWUoKSB0byByZWxlYXNlIHRoZW0sIHRoaXMgaXMgdHJ1ZSBldmVuIGluIGNhc2Ugb2YgZmFpbHVyZSAodW5sZXNzIGN0eHQgPT0gTlVMTCkuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZXhwcmVzc2lvbiBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZWZ0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5sZWZ0IGV4cHJlc3Npb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJpZ2h0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5yaWdodCBleHByZXNzaW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbm9kZSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxFeHBQYXJzZSIvPnhtbEV4cFBhcnNlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14bWxyZWdleHAuaHRtbCN4bWxFeHBOb2RlUHRyIj54bWxFeHBOb2RlUHRyPC9hPgl4bWxFeHBQYXJzZQkJKDxhIGhyZWY9ImxpYnhtbDIteG1scmVnZXhwLmh0bWwjeG1sRXhwQ3R4dFB0ciI+eG1sRXhwQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZXhwcik8YnIvPgorPC9wcmU+PHA+TWluaW1hbCBwYXJzZXIgZm9yIHJlZ2V4cHMsIGl0IHVuZGVyc3RhbmQgdGhlIGZvbGxvd2luZyBjb25zdHJ1Y3RzIC0gc3RyaW5nIHRlcm1pbmFscyAtIGNob2ljZSBvcGVyYXRvciB8IC0gc2VxdWVuY2Ugb3BlcmF0b3IgLCAtIHN1YmV4cHJlc3Npb25zICguLi4pIC0gdXN1YWwgY2FyZGluYWxpdHkgb3BlcmF0b3JzICsgKiBhbmQgPyAtIGZpbml0ZSBzZXF1ZW5jZXMgeyBtaW4sIG1heCB9IC0gaW5maW5pdGUgc2VxdWVuY2VzIHsgbWluLCAqIH0gVGhlcmUgaXMgbWluaW1hbCBjaGVja2luZ3MgbWFkZSBlc3BlY2lhbGx5IG5vIGNoZWNraW5nIG9uIHN0cmluZ3MgdmFsdWVzPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZXhwcmVzc2lvbnMgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZXhwcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDAgdGVybWluYXRlZCBzdHJpbmc8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbmV3IGV4cHJlc3Npb24gb3IgTlVMTCBpbiBjYXNlIG9mIGZhaWx1cmU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxFeHBSZWYiLz54bWxFeHBSZWYgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbEV4cFJlZgkJCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5vZGVQdHIiPnhtbEV4cE5vZGVQdHI8L2E+IGV4cCk8YnIvPgorPC9wcmU+PHA+SW5jcmVhc2UgdGhlIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjcmVmZXJlbmNlIj5yZWZlcmVuY2U8L2E+IGNvdW50IG9mIHRoZSBleHByZXNzaW9uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5leHA8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBleHByZXNzaW9uPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sRXhwU3RyaW5nRGVyaXZlIi8+eG1sRXhwU3RyaW5nRGVyaXZlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14bWxyZWdleHAuaHRtbCN4bWxFeHBOb2RlUHRyIj54bWxFeHBOb2RlUHRyPC9hPgl4bWxFeHBTdHJpbmdEZXJpdmUJKDxhIGhyZWY9ImxpYnhtbDIteG1scmVnZXhwLmh0bWwjeG1sRXhwQ3R4dFB0ciI+eG1sRXhwQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5vZGVQdHIiPnhtbEV4cE5vZGVQdHI8L2E+IGV4cCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3RyLCA8YnIvPgkJCQkJIGludCBsZW4pPGJyLz4KKzwvcHJlPjxwPkRvIG9uZSBzdGVwIG9mIEJyem96b3dza2kgZGVyaXZhdGlvbiBvZiB0aGUgZXhwcmVzc2lvbiBAZXhwIHdpdGggcmVzcGVjdCB0byB0aGUgaW5wdXQgc3RyaW5nPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZXhwcmVzc2lvbiBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5leHA8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBleHByZXNzaW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdHI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzdHJpbmc8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHN0cmluZyBsZW4gaW4gYnl0ZXMgaWYgYXZhaWxhYmxlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmVzdWx0aW5nIGV4cHJlc3Npb24gb3IgTlVMTCBpbiBjYXNlIG9mIGludGVybmFsIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sRXhwU3Vic3VtZSIvPnhtbEV4cFN1YnN1bWUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sRXhwU3Vic3VtZQkJCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHJlZ2V4cC5odG1sI3htbEV4cEN0eHRQdHIiPnhtbEV4cEN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxyZWdleHAuaHRtbCN4bWxFeHBOb2RlUHRyIj54bWxFeHBOb2RlUHRyPC9hPiBleHAsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxyZWdleHAuaHRtbCN4bWxFeHBOb2RlUHRyIj54bWxFeHBOb2RlUHRyPC9hPiBzdWIpPGJyLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgQGV4cCBhY2NlcHRzIGFsbCB0aGUgbGFuZ3VhZ2VzIGFjY2V4cHRlZCBieSBAc3ViIHRoZSBpbnB1dCBiZWluZyBhIHN1YmV4cHJlc3Npb24uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZXhwcmVzc2lvbnMgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZXhwPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZW5nbG9iaW5nIGV4cHJlc3Npb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN1YjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHN1YmV4cHJlc3Npb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIGlmIGZhbHNlIGFuZCAtMSBpbiBjYXNlIG9mIGZhaWx1cmUuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUmVnRXhlY0VyckluZm8iLz54bWxSZWdFeGVjRXJySW5mbyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxSZWdFeGVjRXJySW5mbwkJKDxhIGhyZWY9ImxpYnhtbDIteG1scmVnZXhwLmh0bWwjeG1sUmVnRXhlY0N0eHRQdHIiPnhtbFJlZ0V4ZWNDdHh0UHRyPC9hPiBleGVjLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiogc3RyaW5nLCA8YnIvPgkJCQkJIGludCAqIG5idmFsLCA8YnIvPgkJCQkJIGludCAqIG5ibmVnLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiogdmFsdWVzLCA8YnIvPgkJCQkJIGludCAqIHRlcm1pbmFsKTxici8+Cis8L3ByZT48cD5FeHRyYWN0IGVycm9yIGluZm9ybWF0aW9ucyBmcm9tIHRoZSByZWdleHAgZXhlY3V0aW9uLCB0aGUgcGFyYW1ldGVyIEBzdHJpbmcgd2lsbCBiZSB1cGRhdGVkIHdpdGggdGhlIHZhbHVlIHB1c2hlZCBhbmQgbm90IGFjY2VwdGVkLCB0aGUgcGFyYW1ldGVyIEB2YWx1ZXMgbXVzdCBwb2ludCB0byBhbiBhcnJheSBvZiBAbmJ2YWwgc3RyaW5nIHBvaW50ZXJzIG9uIHJldHVybiBuYnZhbCB3aWxsIGNvbnRhaW4gdGhlIG51bWJlciBvZiBwb3NzaWJsZSBzdHJpbmdzIGluIHRoYXQgc3RhdGUgYW5kIHRoZSBAdmFsdWVzIGFycmF5IHdpbGwgYmUgdXBkYXRlZCB3aXRoIHRoZW0uIFRoZSBzdHJpbmcgdmFsdWVzPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5leGVjPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHJlZ2V4cCBleGVjdXRpb24gY29udGV4dCBnZW5lcmF0aW5nIGFuIGVycm9yPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdHJpbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnJldHVybiB2YWx1ZSBmb3IgdGhlIGVycm9yIHN0cmluZzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmJ2YWw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnBvaW50ZXIgdG8gdGhlIG51bWJlciBvZiBhY2NlcHRlZCB2YWx1ZXMgSU4vT1VUPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYm5lZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+cmV0dXJuIG51bWJlciBvZiBuZWdhdGl2ZSB0cmFuc2l0aW9uczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsdWVzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5wb2ludGVyIHRvIHRoZSBhcnJheSBvZiBhY2NlcHRhYmxlIHZhbHVlczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dGVybWluYWw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnJldHVybiB2YWx1ZSBpZiB0aGlzIHdhcyBhIHRlcm1pbmFsIHN0YXRlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD53aWxsIGJlIGZyZWVkIHdpdGggdGhlIEBleGVjIGNvbnRleHQgYW5kIGRvbid0IG5lZWQgdG8gYmUgZGVhbGxvY2F0ZWQuIFJldHVybnM6IDAgaW4gY2FzZSBvZiBzdWNjZXNzIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUmVnRXhlY05leHRWYWx1ZXMiLz54bWxSZWdFeGVjTmV4dFZhbHVlcyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxSZWdFeGVjTmV4dFZhbHVlcwkJKDxhIGhyZWY9ImxpYnhtbDIteG1scmVnZXhwLmh0bWwjeG1sUmVnRXhlY0N0eHRQdHIiPnhtbFJlZ0V4ZWNDdHh0UHRyPC9hPiBleGVjLCA8YnIvPgkJCQkJIGludCAqIG5idmFsLCA8YnIvPgkJCQkJIGludCAqIG5ibmVnLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiogdmFsdWVzLCA8YnIvPgkJCQkJIGludCAqIHRlcm1pbmFsKTxici8+Cis8L3ByZT48cD5FeHRyYWN0IGluZm9ybWF0aW9ucyBmcm9tIHRoZSByZWdleHAgZXhlY3V0aW9uLCB0aGUgcGFyYW1ldGVyIEB2YWx1ZXMgbXVzdCBwb2ludCB0byBhbiBhcnJheSBvZiBAbmJ2YWwgc3RyaW5nIHBvaW50ZXJzIG9uIHJldHVybiBuYnZhbCB3aWxsIGNvbnRhaW4gdGhlIG51bWJlciBvZiBwb3NzaWJsZSBzdHJpbmdzIGluIHRoYXQgc3RhdGUgYW5kIHRoZSBAdmFsdWVzIGFycmF5IHdpbGwgYmUgdXBkYXRlZCB3aXRoIHRoZW0uIFRoZSBzdHJpbmcgdmFsdWVzPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5leGVjPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHJlZ2V4cCBleGVjdXRpb24gY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmJ2YWw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnBvaW50ZXIgdG8gdGhlIG51bWJlciBvZiBhY2NlcHRlZCB2YWx1ZXMgSU4vT1VUPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYm5lZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+cmV0dXJuIG51bWJlciBvZiBuZWdhdGl2ZSB0cmFuc2l0aW9uczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsdWVzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5wb2ludGVyIHRvIHRoZSBhcnJheSBvZiBhY2NlcHRhYmxlIHZhbHVlczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dGVybWluYWw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnJldHVybiB2YWx1ZSBpZiB0aGlzIHdhcyBhIHRlcm1pbmFsIHN0YXRlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD53aWxsIGJlIGZyZWVkIHdpdGggdGhlIEBleGVjIGNvbnRleHQgYW5kIGRvbid0IG5lZWQgdG8gYmUgZGVhbGxvY2F0ZWQuIFJldHVybnM6IDAgaW4gY2FzZSBvZiBzdWNjZXNzIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUmVnRXhlY1B1c2hTdHJpbmciLz54bWxSZWdFeGVjUHVzaFN0cmluZyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxSZWdFeGVjUHVzaFN0cmluZwkJKDxhIGhyZWY9ImxpYnhtbDIteG1scmVnZXhwLmh0bWwjeG1sUmVnRXhlY0N0eHRQdHIiPnhtbFJlZ0V4ZWNDdHh0UHRyPC9hPiBleGVjLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB2YWx1ZSwgPGJyLz4JCQkJCSB2b2lkICogZGF0YSk8YnIvPgorPC9wcmU+PHA+UHVzaCBvbmUgaW5wdXQgdG9rZW4gaW4gdGhlIGV4ZWN1dGlvbiBjb250ZXh0PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5leGVjPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHJlZ2V4cCBleGVjdXRpb24gY29udGV4dCBvciBOVUxMIHRvIGluZGljYXRlIHRoZSBlbmQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbHVlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHN0cmluZyB0b2tlbiBpbnB1dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGF0YTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+ZGF0YSBhc3NvY2lhdGVkIHRvIHRoZSB0b2tlbiB0byByZXVzZSBpbiBjYWxsYmFja3M8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdGhlIHJlZ2V4cCByZWFjaGVkIGEgZmluYWwgc3RhdGUsIDAgaWYgbm9uLWZpbmFsLCBhbmQgYSBuZWdhdGl2ZSB2YWx1ZSBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFJlZ0V4ZWNQdXNoU3RyaW5nMiIvPnhtbFJlZ0V4ZWNQdXNoU3RyaW5nMiAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxSZWdFeGVjUHVzaFN0cmluZzIJCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHJlZ2V4cC5odG1sI3htbFJlZ0V4ZWNDdHh0UHRyIj54bWxSZWdFeGVjQ3R4dFB0cjwvYT4gZXhlYywgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHZhbHVlMiwgPGJyLz4JCQkJCSB2b2lkICogZGF0YSk8YnIvPgorPC9wcmU+PHA+UHVzaCBvbmUgaW5wdXQgdG9rZW4gaW4gdGhlIGV4ZWN1dGlvbiBjb250ZXh0PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5leGVjPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHJlZ2V4cCBleGVjdXRpb24gY29udGV4dCBvciBOVUxMIHRvIGluZGljYXRlIHRoZSBlbmQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbHVlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZmlyc3Qgc3RyaW5nIHRva2VuIGlucHV0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWx1ZTI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzZWNvbmQgc3RyaW5nIHRva2VuIGlucHV0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kYXRhPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5kYXRhIGFzc29jaWF0ZWQgdG8gdGhlIHRva2VuIHRvIHJldXNlIGluIGNhbGxiYWNrczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0aGUgcmVnZXhwIHJlYWNoZWQgYSBmaW5hbCBzdGF0ZSwgMCBpZiBub24tZmluYWwsIGFuZCBhIG5lZ2F0aXZlIHZhbHVlIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUmVnRnJlZUV4ZWNDdHh0Ii8+eG1sUmVnRnJlZUV4ZWNDdHh0ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxSZWdGcmVlRXhlY0N0eHQJCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHJlZ2V4cC5odG1sI3htbFJlZ0V4ZWNDdHh0UHRyIj54bWxSZWdFeGVjQ3R4dFB0cjwvYT4gZXhlYyk8YnIvPgorPC9wcmU+PHA+RnJlZSB0aGUgc3RydWN0dXJlcyBhc3NvY2lhdGVkIHRvIGEgcmVndWxhciBleHByZXNzaW9uIGV2YXVsYXRpb24gY29udGV4dC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmV4ZWM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcmVndWxhciBleHByZXNzaW9uIGV2YXVsYXRpb24gY29udGV4dDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFJlZ0ZyZWVSZWdleHAiLz54bWxSZWdGcmVlUmVnZXhwICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxSZWdGcmVlUmVnZXhwCQkoPGEgaHJlZj0ibGlieG1sMi14bWxyZWdleHAuaHRtbCN4bWxSZWdleHBQdHIiPnhtbFJlZ2V4cFB0cjwvYT4gcmVnZXhwKTxici8+Cis8L3ByZT48cD5GcmVlIGEgcmVnZXhwPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWdleHA8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSByZWdleHA8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxSZWdOZXdFeGVjQ3R4dCIvPnhtbFJlZ05ld0V4ZWNDdHh0ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14bWxyZWdleHAuaHRtbCN4bWxSZWdFeGVjQ3R4dFB0ciI+eG1sUmVnRXhlY0N0eHRQdHI8L2E+CXhtbFJlZ05ld0V4ZWNDdHh0CSg8YSBocmVmPSJsaWJ4bWwyLXhtbHJlZ2V4cC5odG1sI3htbFJlZ2V4cFB0ciI+eG1sUmVnZXhwUHRyPC9hPiBjb21wLCA8YnIvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbHJlZ2V4cC5odG1sI3htbFJlZ0V4ZWNDYWxsYmFja3MiPnhtbFJlZ0V4ZWNDYWxsYmFja3M8L2E+IGNhbGxiYWNrLCA8YnIvPgkJCQkJCSB2b2lkICogZGF0YSk8YnIvPgorPC9wcmU+PHA+QnVpbGQgYSBjb250ZXh0IHVzZWQgZm9yIHByb2dyZXNzaXZlIGV2YWx1YXRpb24gb2YgYSByZWdleHAuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb21wPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHByZWNvbXBpbGVkIHJlZ3VsYXIgZXhwcmVzc2lvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y2FsbGJhY2s8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgY2FsbGJhY2sgZnVuY3Rpb24gdXNlZCBmb3IgaGFuZGxpbmcgcHJvZ3Jlc3NlcyBpbiB0aGUgYXV0b21hdGEgbWF0Y2hpbmcgcGhhc2U8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRhdGE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjb250ZXh0IGRhdGEgYXNzb2NpYXRlZCB0byB0aGUgY2FsbGJhY2sgaW4gdGhpcyBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IGNvbnRleHQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxSZWdleHBDb21waWxlIi8+eG1sUmVnZXhwQ29tcGlsZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1scmVnZXhwLmh0bWwjeG1sUmVnZXhwUHRyIj54bWxSZWdleHBQdHI8L2E+CXhtbFJlZ2V4cENvbXBpbGUJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiByZWdleHApPGJyLz4KKzwvcHJlPjxwPlBhcnNlcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBjb25mb3JtaW5nIHRvIFhNTCBTY2hlbWFzIFBhcnQgMiBEYXRhdHlwZSBBcHBlbmRpeCBGIGFuZCBidWlsZHMgYW4gYXV0b21hdGEgc3VpdGFibGUgZm9yIHRlc3Rpbmcgc3RyaW5ncyBhZ2FpbnN0IHRoYXQgcmVndWxhciBleHByZXNzaW9uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWdleHA8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcmVndWxhciBleHByZXNzaW9uIHN0cmluZzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGNvbXBpbGVkIGV4cHJlc3Npb24gb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUmVnZXhwRXhlYyIvPnhtbFJlZ2V4cEV4ZWMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sUmVnZXhwRXhlYwkJCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHJlZ2V4cC5odG1sI3htbFJlZ2V4cFB0ciI+eG1sUmVnZXhwUHRyPC9hPiBjb21wLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjb250ZW50KTxici8+Cis8L3ByZT48cD5DaGVjayBpZiB0aGUgcmVndWxhciBleHByZXNzaW9uIGdlbmVyYXRlcyB0aGUgdmFsdWU8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbXA8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjb21waWxlZCByZWd1bGFyIGV4cHJlc3Npb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbnRlbnQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB2YWx1ZSB0byBjaGVjayBhZ2FpbnN0IHRoZSByZWd1bGFyIGV4cHJlc3Npb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgaXQgbWF0Y2hlcywgMCBpZiBub3QgYW5kIGEgbmVnYXRpdmUgdmFsdWUgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFJlZ2V4cElzRGV0ZXJtaW5pc3QiLz54bWxSZWdleHBJc0RldGVybWluaXN0ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFJlZ2V4cElzRGV0ZXJtaW5pc3QJCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHJlZ2V4cC5odG1sI3htbFJlZ2V4cFB0ciI+eG1sUmVnZXhwUHRyPC9hPiBjb21wKTxici8+Cis8L3ByZT48cD5DaGVjayBpZiB0aGUgcmVndWxhciBleHByZXNzaW9uIGlzIGRldGVybWluaXN0PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb21wPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY29tcGlsZWQgcmVndWxhciBleHByZXNzaW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIGl0IHllcywgMCBpZiBub3QgYW5kIGEgbmVnYXRpdmUgdmFsdWUgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFJlZ2V4cFByaW50Ii8+eG1sUmVnZXhwUHJpbnQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFJlZ2V4cFByaW50CQkJKEZJTEUgKiBvdXRwdXQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxyZWdleHAuaHRtbCN4bWxSZWdleHBQdHIiPnhtbFJlZ2V4cFB0cjwvYT4gcmVnZXhwKTxici8+Cis8L3ByZT48cD5QcmludCB0aGUgY29udGVudCBvZiB0aGUgY29tcGlsZWQgcmVndWxhciBleHByZXNzaW9uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vdXRwdXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmaWxlIGZvciB0aGUgb3V0cHV0IGRlYnVnPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWdleHA8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjb21waWxlZCByZWdleHA8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgPC9kaXY+CisgICAgPC9kaXY+CisgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2RldmhlbHAvbGlieG1sMi14bWxzYXZlLmh0bWwgYi9saWJ4bWwyL2RvYy9kZXZoZWxwL2xpYnhtbDIteG1sc2F2ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYwMDZlM2IKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9kZXZoZWxwL2xpYnhtbDIteG1sc2F2ZS5odG1sCkBAIC0wLDAgKzEsMTMzIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPGh0bWw+CisgIDxoZWFkPgorICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ii8+CisgICAgPHRpdGxlPnhtbHNhdmU6IHRoZSBYTUwgZG9jdW1lbnQgc2VyaWFsaXplcjwvdGl0bGU+CisgICAgPG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJMaWJ4bWwyIGRldmhlbHAgc3R5bGVzaGVldCIvPgorICAgIDxsaW5rIHJlbD0ic3RhcnQiIGhyZWY9ImluZGV4Lmh0bWwiIHRpdGxlPSJsaWJ4bWwyIFJlZmVyZW5jZSBNYW51YWwiLz4KKyAgICA8bGluayByZWw9InVwIiBocmVmPSJnZW5lcmFsLmh0bWwiIHRpdGxlPSJBUEkiLz4KKyAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9InN0eWxlLmNzcyIgdHlwZT0idGV4dC9jc3MiLz4KKyAgICA8bGluayByZWw9ImNoYXB0ZXIiIGhyZWY9ImdlbmVyYWwuaHRtbCIgdGl0bGU9IkFQSSIvPgorICA8L2hlYWQ+CisgIDxib2R5IGJnY29sb3I9IndoaXRlIiB0ZXh0PSJibGFjayIgbGluaz0iIzAwMDBGRiIgdmxpbms9IiM4NDAwODQiIGFsaW5rPSIjMDAwMEZGIj4KKyAgICA8dGFibGUgY2xhc3M9Im5hdmlnYXRpb24iIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIyIj4KKyAgICAgIDx0ciB2YWxpZ249Im1pZGRsZSI+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImxpYnhtbDIteG1scmVnZXhwLmh0bWwiPgorICAgICAgICAgICAgPGltZyBzcmM9ImxlZnQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJQcmV2Ii8+CisgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGQ+CisgICAgICAgICAgPGEgYWNjZXNza2V5PSJ1IiBocmVmPSJnZW5lcmFsLmh0bWwiPgorICAgICAgICAgICAgPGltZyBzcmM9InVwLnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iVXAiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9ImgiIGhyZWY9ImluZGV4Lmh0bWwiPgorICAgICAgICAgICAgPGltZyBzcmM9ImhvbWUucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJIb21lIi8+CisgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGQ+CisgICAgICAgICAgPGEgYWNjZXNza2V5PSJuIiBocmVmPSJsaWJ4bWwyLXhtbHNjaGVtYXMuaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0icmlnaHQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJOZXh0Ii8+CisgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGggd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPmxpYnhtbDIgUmVmZXJlbmNlIE1hbnVhbDwvdGg+CisgICAgICA8L3RyPgorICAgIDwvdGFibGU+CisgICAgPGgyPgorICAgICAgPHNwYW4gY2xhc3M9InJlZmVudHJ5dGl0bGUiPnhtbHNhdmU8L3NwYW4+CisgICAgPC9oMj4KKyAgICA8cD54bWxzYXZlIC0gdGhlIFhNTCBkb2N1bWVudCBzZXJpYWxpemVyPC9wPgorICAgIDxwPkFQSSB0byBzYXZlIGRvY3VtZW50IG9yIHN1YnRyZWUgb2YgZG9jdW1lbnQgPC9wPgorICAgIDxwPkF1dGhvcihzKTogRGFuaWVsIFZlaWxsYXJkIDwvcD4KKyAgICA8ZGl2IGNsYXNzPSJyZWZzeW5vcHNpc2RpdiI+CisgICAgICA8aDI+U3lub3BzaXM8L2gyPgorICAgICAgPHByZSBjbGFzcz0ic3lub3BzaXMiPnR5cGVkZWYgZW51bSA8YSBocmVmPSIjeG1sU2F2ZU9wdGlvbiI+eG1sU2F2ZU9wdGlvbjwvYT47Cit0eXBlZGVmIHN0cnVjdCBfeG1sU2F2ZUN0eHQgPGEgaHJlZj0iI3htbFNhdmVDdHh0Ij54bWxTYXZlQ3R4dDwvYT47Cit0eXBlZGVmIDxhIGhyZWY9ImxpYnhtbDIteG1sc2F2ZS5odG1sI3htbFNhdmVDdHh0Ij54bWxTYXZlQ3R4dDwvYT4gKiA8YSBocmVmPSIjeG1sU2F2ZUN0eHRQdHIiPnhtbFNhdmVDdHh0UHRyPC9hPjsKKzxhIGhyZWY9ImxpYnhtbDIteG1sc2F2ZS5odG1sI3htbFNhdmVDdHh0UHRyIj54bWxTYXZlQ3R4dFB0cjwvYT4JPGEgaHJlZj0iI3htbFNhdmVUb0lPIj54bWxTYXZlVG9JTzwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXhtbElPLmh0bWwjeG1sT3V0cHV0V3JpdGVDYWxsYmFjayI+eG1sT3V0cHV0V3JpdGVDYWxsYmFjazwvYT4gaW93cml0ZSwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbElPLmh0bWwjeG1sT3V0cHV0Q2xvc2VDYWxsYmFjayI+eG1sT3V0cHV0Q2xvc2VDYWxsYmFjazwvYT4gaW9jbG9zZSwgPGJyLz4JCQkJCSB2b2lkICogaW9jdHgsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nLCA8YnIvPgkJCQkJIGludCBvcHRpb25zKTsKKzxhIGhyZWY9ImxpYnhtbDIteG1sc2F2ZS5odG1sI3htbFNhdmVDdHh0UHRyIj54bWxTYXZlQ3R4dFB0cjwvYT4JPGEgaHJlZj0iI3htbFNhdmVUb0ZkIj54bWxTYXZlVG9GZDwvYT4JCShpbnQgZmQsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nLCA8YnIvPgkJCQkJIGludCBvcHRpb25zKTsKK2ludAk8YSBocmVmPSIjeG1sU2F2ZUNsb3NlIj54bWxTYXZlQ2xvc2U8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbDIteG1sc2F2ZS5odG1sI3htbFNhdmVDdHh0UHRyIj54bWxTYXZlQ3R4dFB0cjwvYT4gY3R4dCk7CitpbnQJPGEgaHJlZj0iI3htbFNhdmVTZXRBdHRyRXNjYXBlIj54bWxTYXZlU2V0QXR0ckVzY2FwZTwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHNhdmUuaHRtbCN4bWxTYXZlQ3R4dFB0ciI+eG1sU2F2ZUN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZ091dHB1dEZ1bmMiPnhtbENoYXJFbmNvZGluZ091dHB1dEZ1bmM8L2E+IGVzY2FwZSk7Cis8YSBocmVmPSJsaWJ4bWwyLXhtbHNhdmUuaHRtbCN4bWxTYXZlQ3R4dFB0ciI+eG1sU2F2ZUN0eHRQdHI8L2E+CTxhIGhyZWY9IiN4bWxTYXZlVG9CdWZmZXIiPnhtbFNhdmVUb0J1ZmZlcjwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxCdWZmZXJQdHIiPnhtbEJ1ZmZlclB0cjwvYT4gYnVmZmVyLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyLz4JCQkJCSBpbnQgb3B0aW9ucyk7Cis8YSBocmVmPSJsaWJ4bWwyLXhtbHNhdmUuaHRtbCN4bWxTYXZlQ3R4dFB0ciI+eG1sU2F2ZUN0eHRQdHI8L2E+CTxhIGhyZWY9IiN4bWxTYXZlVG9GaWxlbmFtZSI+eG1sU2F2ZVRvRmlsZW5hbWU8L2E+CShjb25zdCBjaGFyICogZmlsZW5hbWUsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nLCA8YnIvPgkJCQkJIGludCBvcHRpb25zKTsKK2ludAk8YSBocmVmPSIjeG1sU2F2ZUZsdXNoIj54bWxTYXZlRmx1c2g8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbDIteG1sc2F2ZS5odG1sI3htbFNhdmVDdHh0UHRyIj54bWxTYXZlQ3R4dFB0cjwvYT4gY3R4dCk7Citsb25nCTxhIGhyZWY9IiN4bWxTYXZlRG9jIj54bWxTYXZlRG9jPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHNhdmUuaHRtbCN4bWxTYXZlQ3R4dFB0ciI+eG1sU2F2ZUN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYyk7CitpbnQJPGEgaHJlZj0iI3htbFNhdmVTZXRFc2NhcGUiPnhtbFNhdmVTZXRFc2NhcGU8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi14bWxzYXZlLmh0bWwjeG1sU2F2ZUN0eHRQdHIiPnhtbFNhdmVDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmdPdXRwdXRGdW5jIj54bWxDaGFyRW5jb2RpbmdPdXRwdXRGdW5jPC9hPiBlc2NhcGUpOworbG9uZwk8YSBocmVmPSIjeG1sU2F2ZVRyZWUiPnhtbFNhdmVUcmVlPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHNhdmUuaHRtbCN4bWxTYXZlQ3R4dFB0ciI+eG1sU2F2ZUN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSk7Cis8L3ByZT4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MSIgbGFuZz0iZW4iPgorICAgICAgPGgyPkRlc2NyaXB0aW9uPC9oMj4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MSIgbGFuZz0iZW4iPgorICAgICAgPGgyPkRldGFpbHM8L2gyPgorICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU2F2ZUN0eHQiPlN0cnVjdHVyZSA8L2E+eG1sU2F2ZUN0eHQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5zdHJ1Y3QgX3htbFNhdmVDdHh0IHsKK1RoZSBjb250ZW50IG9mIHRoaXMgc3RydWN0dXJlIGlzIG5vdCBtYWRlIHB1YmxpYyBieSB0aGUgQVBJLgorfSB4bWxTYXZlQ3R4dDsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTYXZlQ3R4dFB0ciI+VHlwZWRlZiA8L2E+eG1sU2F2ZUN0eHRQdHI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhtbHNhdmUuaHRtbCN4bWxTYXZlQ3R4dCI+eG1sU2F2ZUN0eHQ8L2E+ICogeG1sU2F2ZUN0eHRQdHI7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU2F2ZU9wdGlvbiI+RW51bSA8L2E+eG1sU2F2ZU9wdGlvbjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmVudW0gPGEgaHJlZj0iI3htbFNhdmVPcHRpb24iPnhtbFNhdmVPcHRpb248L2E+IHsKKyAgICA8YSBuYW1lPSJYTUxfU0FWRV9GT1JNQVQiPlhNTF9TQVZFX0ZPUk1BVDwvYT4gPSAxIC8qIGZvcm1hdCBzYXZlIG91dHB1dCAqLworICAgIDxhIG5hbWU9IlhNTF9TQVZFX05PX0RFQ0wiPlhNTF9TQVZFX05PX0RFQ0w8L2E+ID0gMiAvKiBkcm9wIHRoZSB4bWwgZGVjbGFyYXRpb24gKi8KKyAgICA8YSBuYW1lPSJYTUxfU0FWRV9OT19FTVBUWSI+WE1MX1NBVkVfTk9fRU1QVFk8L2E+ID0gNCAvKiBubyBlbXB0eSB0YWdzICovCisgICAgPGEgbmFtZT0iWE1MX1NBVkVfTk9fWEhUTUwiPlhNTF9TQVZFX05PX1hIVE1MPC9hPiA9IDggLyogZGlzYWJsZSBYSFRNTDEgc3BlY2lmaWMgcnVsZXMgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0FWRV9YSFRNTCI+WE1MX1NBVkVfWEhUTUw8L2E+ID0gMTYgLyogZm9yY2UgWEhUTUwxIHNwZWNpZmljIHJ1bGVzICovCisgICAgPGEgbmFtZT0iWE1MX1NBVkVfQVNfWE1MIj5YTUxfU0FWRV9BU19YTUw8L2E+ID0gMzIgLyogZm9yY2UgWE1MIHNlcmlhbGl6YXRpb24gb24gSFRNTCBkb2MgKi8KKyAgICA8YSBuYW1lPSJYTUxfU0FWRV9BU19IVE1MIj5YTUxfU0FWRV9BU19IVE1MPC9hPiA9IDY0IC8qIGZvcmNlIEhUTUwgc2VyaWFsaXphdGlvbiBvbiBYTUwgZG9jICovCisgICAgPGEgbmFtZT0iWE1MX1NBVkVfV1NOT05TSUciPlhNTF9TQVZFX1dTTk9OU0lHPC9hPiA9IDEyOCAvKiAgZm9ybWF0IHdpdGggbm9uLXNpZ25pZmljYW50IHdoaXRlc3BhY2UgKi8KK307Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU2F2ZUNsb3NlIi8+eG1sU2F2ZUNsb3NlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFNhdmVDbG9zZQkJCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHNhdmUuaHRtbCN4bWxTYXZlQ3R4dFB0ciI+eG1sU2F2ZUN0eHRQdHI8L2E+IGN0eHQpPGJyLz4KKzwvcHJlPjxwPkNsb3NlIGEgZG9jdW1lbnQgc2F2aW5nIGNvbnRleHQsIGkuZS4gbWFrZSBzdXJlIHRoYXQgYWxsIGJ5dGVzIGhhdmUgYmVlbiBvdXRwdXQgYW5kIGZyZWUgdGhlIGFzc29jaWF0ZWQgZGF0YS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgZG9jdW1lbnQgc2F2aW5nIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgYnl0ZSB3cml0dGVuIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU2F2ZURvYyIvPnhtbFNhdmVEb2MgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5sb25nCXhtbFNhdmVEb2MJCQkoPGEgaHJlZj0ibGlieG1sMi14bWxzYXZlLmh0bWwjeG1sU2F2ZUN0eHRQdHIiPnhtbFNhdmVDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MpPGJyLz4KKzwvcHJlPjxwPlNhdmUgYSBmdWxsIGRvY3VtZW50IHRvIGEgc2F2aW5nIGNvbnRleHQgVE9ETzogVGhlIGZ1bmN0aW9uIGlzIG5vdCBmdWxseSBpbXBsZW1lbnRlZCB5ZXQgYXMgaXQgZG9lcyBub3QgcmV0dXJuIHRoZSBieXRlIGNvdW50IGJ1dCAwIGluc3RlYWQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgZG9jdW1lbnQgc2F2aW5nIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBieXRlIHdyaXR0ZW4gb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNhdmVGbHVzaCIvPnhtbFNhdmVGbHVzaCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxTYXZlRmx1c2gJCQkoPGEgaHJlZj0ibGlieG1sMi14bWxzYXZlLmh0bWwjeG1sU2F2ZUN0eHRQdHIiPnhtbFNhdmVDdHh0UHRyPC9hPiBjdHh0KTxici8+Cis8L3ByZT48cD5GbHVzaCBhIGRvY3VtZW50IHNhdmluZyBjb250ZXh0LCBpLmUuIG1ha2Ugc3VyZSB0aGF0IGFsbCBieXRlcyBoYXZlIGJlZW4gb3V0cHV0LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBkb2N1bWVudCBzYXZpbmcgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBieXRlIHdyaXR0ZW4gb3IgLTEgaW4gY2FzZSBvZiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTYXZlU2V0QXR0ckVzY2FwZSIvPnhtbFNhdmVTZXRBdHRyRXNjYXBlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFNhdmVTZXRBdHRyRXNjYXBlCQkoPGEgaHJlZj0ibGlieG1sMi14bWxzYXZlLmh0bWwjeG1sU2F2ZUN0eHRQdHIiPnhtbFNhdmVDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmdPdXRwdXRGdW5jIj54bWxDaGFyRW5jb2RpbmdPdXRwdXRGdW5jPC9hPiBlc2NhcGUpPGJyLz4KKzwvcHJlPjxwPlNldCBhIGN1c3RvbSBlc2NhcGluZyBmdW5jdGlvbiB0byBiZSB1c2VkIGZvciB0ZXh0IGluIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IGNvbnRlbnQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgZG9jdW1lbnQgc2F2aW5nIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVzY2FwZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVzY2FwaW5nIGZ1bmN0aW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGlmIHN1Y2Nlc3NmdWwgb3IgLTEgaW4gY2FzZSBvZiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTYXZlU2V0RXNjYXBlIi8+eG1sU2F2ZVNldEVzY2FwZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxTYXZlU2V0RXNjYXBlCQkoPGEgaHJlZj0ibGlieG1sMi14bWxzYXZlLmh0bWwjeG1sU2F2ZUN0eHRQdHIiPnhtbFNhdmVDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmdPdXRwdXRGdW5jIj54bWxDaGFyRW5jb2RpbmdPdXRwdXRGdW5jPC9hPiBlc2NhcGUpPGJyLz4KKzwvcHJlPjxwPlNldCBhIGN1c3RvbSBlc2NhcGluZyBmdW5jdGlvbiB0byBiZSB1c2VkIGZvciB0ZXh0IGluIGVsZW1lbnQgY29udGVudDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBkb2N1bWVudCBzYXZpbmcgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZXNjYXBlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZXNjYXBpbmcgZnVuY3Rpb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaWYgc3VjY2Vzc2Z1bCBvciAtMSBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNhdmVUb0J1ZmZlciIvPnhtbFNhdmVUb0J1ZmZlciAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1sc2F2ZS5odG1sI3htbFNhdmVDdHh0UHRyIj54bWxTYXZlQ3R4dFB0cjwvYT4JeG1sU2F2ZVRvQnVmZmVyCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQnVmZmVyUHRyIj54bWxCdWZmZXJQdHI8L2E+IGJ1ZmZlciwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcsIDxici8+CQkJCQkgaW50IG9wdGlvbnMpPGJyLz4KKzwvcHJlPjxwPkNyZWF0ZSBhIGRvY3VtZW50IHNhdmluZyBjb250ZXh0IHNlcmlhbGl6aW5nIHRvIGEgYnVmZmVyIHdpdGggdGhlIGVuY29kaW5nIGFuZCB0aGUgb3B0aW9ucyBnaXZlbjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YnVmZmVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGJ1ZmZlcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jb2Rpbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbmNvZGluZyBuYW1lIHRvIHVzZSBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vcHRpb25zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHNldCBvZiB4bWxTYXZlT3B0aW9uczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBuZXcgc2VyaWFsaXphdGlvbiBjb250ZXh0IG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTYXZlVG9GZCIvPnhtbFNhdmVUb0ZkICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14bWxzYXZlLmh0bWwjeG1sU2F2ZUN0eHRQdHIiPnhtbFNhdmVDdHh0UHRyPC9hPgl4bWxTYXZlVG9GZAkJKGludCBmZCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcsIDxici8+CQkJCQkgaW50IG9wdGlvbnMpPGJyLz4KKzwvcHJlPjxwPkNyZWF0ZSBhIGRvY3VtZW50IHNhdmluZyBjb250ZXh0IHNlcmlhbGl6aW5nIHRvIGEgZmlsZSBkZXNjcmlwdG9yIHdpdGggdGhlIGVuY29kaW5nIGFuZCB0aGUgb3B0aW9ucyBnaXZlbi48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZkPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGZpbGUgZGVzY3JpcHRvciBudW1iZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVuY29kaW5nPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZW5jb2RpbmcgbmFtZSB0byB1c2Ugb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3B0aW9uczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBzZXQgb2YgeG1sU2F2ZU9wdGlvbnM8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbmV3IHNlcmlhbGl6YXRpb24gY29udGV4dCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU2F2ZVRvRmlsZW5hbWUiLz54bWxTYXZlVG9GaWxlbmFtZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1sc2F2ZS5odG1sI3htbFNhdmVDdHh0UHRyIj54bWxTYXZlQ3R4dFB0cjwvYT4JeG1sU2F2ZVRvRmlsZW5hbWUJKGNvbnN0IGNoYXIgKiBmaWxlbmFtZSwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcsIDxici8+CQkJCQkgaW50IG9wdGlvbnMpPGJyLz4KKzwvcHJlPjxwPkNyZWF0ZSBhIGRvY3VtZW50IHNhdmluZyBjb250ZXh0IHNlcmlhbGl6aW5nIHRvIGEgZmlsZW5hbWUgb3IgcG9zc2libHkgdG8gYW4gVVJMIChidXQgdGhpcyBpcyBsZXNzIHJlbGlhYmxlKSB3aXRoIHRoZSBlbmNvZGluZyBhbmQgdGhlIG9wdGlvbnMgZ2l2ZW4uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlbmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBmaWxlIG5hbWUgb3IgYW4gVVJMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbmNvZGluZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVuY29kaW5nIG5hbWUgdG8gdXNlIG9yIE5VTEw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm9wdGlvbnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgc2V0IG9mIHhtbFNhdmVPcHRpb25zPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIG5ldyBzZXJpYWxpemF0aW9uIGNvbnRleHQgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNhdmVUb0lPIi8+eG1sU2F2ZVRvSU8gKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhtbHNhdmUuaHRtbCN4bWxTYXZlQ3R4dFB0ciI+eG1sU2F2ZUN0eHRQdHI8L2E+CXhtbFNhdmVUb0lPCQkoPGEgaHJlZj0ibGlieG1sMi14bWxJTy5odG1sI3htbE91dHB1dFdyaXRlQ2FsbGJhY2siPnhtbE91dHB1dFdyaXRlQ2FsbGJhY2s8L2E+IGlvd3JpdGUsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxJTy5odG1sI3htbE91dHB1dENsb3NlQ2FsbGJhY2siPnhtbE91dHB1dENsb3NlQ2FsbGJhY2s8L2E+IGlvY2xvc2UsIDxici8+CQkJCQkgdm9pZCAqIGlvY3R4LCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyLz4JCQkJCSBpbnQgb3B0aW9ucyk8YnIvPgorPC9wcmU+PHA+Q3JlYXRlIGEgZG9jdW1lbnQgc2F2aW5nIGNvbnRleHQgc2VyaWFsaXppbmcgdG8gYSBmaWxlIGRlc2NyaXB0b3Igd2l0aCB0aGUgZW5jb2RpbmcgYW5kIHRoZSBvcHRpb25zIGdpdmVuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pb3dyaXRlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBJL08gd3JpdGUgZnVuY3Rpb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmlvY2xvc2U8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIEkvTyBjbG9zZSBmdW5jdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aW9jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIEkvTyBoYW5kbGVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbmNvZGluZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVuY29kaW5nIG5hbWUgdG8gdXNlIG9yIE5VTEw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm9wdGlvbnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgc2V0IG9mIHhtbFNhdmVPcHRpb25zPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIG5ldyBzZXJpYWxpemF0aW9uIGNvbnRleHQgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNhdmVUcmVlIi8+eG1sU2F2ZVRyZWUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5sb25nCXhtbFNhdmVUcmVlCQkJKDxhIGhyZWY9ImxpYnhtbDIteG1sc2F2ZS5odG1sI3htbFNhdmVDdHh0UHRyIj54bWxTYXZlQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlKTxici8+Cis8L3ByZT48cD5TYXZlIGEgc3VidHJlZSBzdGFydGluZyBhdCB0aGUgbm9kZSBwYXJhbWV0ZXIgdG8gYSBzYXZpbmcgY29udGV4dCBUT0RPOiBUaGUgZnVuY3Rpb24gaXMgbm90IGZ1bGx5IGltcGxlbWVudGVkIHlldCBhcyBpdCBkb2VzIG5vdCByZXR1cm4gdGhlIGJ5dGUgY291bnQgYnV0IDAgaW5zdGVhZDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBkb2N1bWVudCBzYXZpbmcgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHRvcCBub2RlIG9mIHRoZSBzdWJ0cmVlIHRvIHNhdmU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgYnl0ZSB3cml0dGVuIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgPC9kaXY+CisgICAgPC9kaXY+CisgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2RldmhlbHAvbGlieG1sMi14bWxzY2hlbWFzLmh0bWwgYi9saWJ4bWwyL2RvYy9kZXZoZWxwL2xpYnhtbDIteG1sc2NoZW1hcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUzM2MxMTQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9kZXZoZWxwL2xpYnhtbDIteG1sc2NoZW1hcy5odG1sCkBAIC0wLDAgKzEsMzE0IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPGh0bWw+CisgIDxoZWFkPgorICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ii8+CisgICAgPHRpdGxlPnhtbHNjaGVtYXM6IGluY29tcGxldGUgWE1MIFNjaGVtYXMgc3RydWN0dXJlIGltcGxlbWVudGF0aW9uPC90aXRsZT4KKyAgICA8bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9IkxpYnhtbDIgZGV2aGVscCBzdHlsZXNoZWV0Ii8+CisgICAgPGxpbmsgcmVsPSJzdGFydCIgaHJlZj0iaW5kZXguaHRtbCIgdGl0bGU9ImxpYnhtbDIgUmVmZXJlbmNlIE1hbnVhbCIvPgorICAgIDxsaW5rIHJlbD0idXAiIGhyZWY9ImdlbmVyYWwuaHRtbCIgdGl0bGU9IkFQSSIvPgorICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0ic3R5bGUuY3NzIiB0eXBlPSJ0ZXh0L2NzcyIvPgorICAgIDxsaW5rIHJlbD0iY2hhcHRlciIgaHJlZj0iZ2VuZXJhbC5odG1sIiB0aXRsZT0iQVBJIi8+CisgIDwvaGVhZD4KKyAgPGJvZHkgYmdjb2xvcj0id2hpdGUiIHRleHQ9ImJsYWNrIiBsaW5rPSIjMDAwMEZGIiB2bGluaz0iIzg0MDA4NCIgYWxpbms9IiMwMDAwRkYiPgorICAgIDx0YWJsZSBjbGFzcz0ibmF2aWdhdGlvbiIgd2lkdGg9IjEwMCUiIHN1bW1hcnk9Ik5hdmlnYXRpb24gaGVhZGVyIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjIiPgorICAgICAgPHRyIHZhbGlnbj0ibWlkZGxlIj4KKyAgICAgICAgPHRkPgorICAgICAgICAgIDxhIGFjY2Vzc2tleT0icCIgaHJlZj0ibGlieG1sMi14bWxzYXZlLmh0bWwiPgorICAgICAgICAgICAgPGltZyBzcmM9ImxlZnQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJQcmV2Ii8+CisgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGQ+CisgICAgICAgICAgPGEgYWNjZXNza2V5PSJ1IiBocmVmPSJnZW5lcmFsLmh0bWwiPgorICAgICAgICAgICAgPGltZyBzcmM9InVwLnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iVXAiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9ImgiIGhyZWY9ImluZGV4Lmh0bWwiPgorICAgICAgICAgICAgPGltZyBzcmM9ImhvbWUucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJIb21lIi8+CisgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGQ+CisgICAgICAgICAgPGEgYWNjZXNza2V5PSJuIiBocmVmPSJsaWJ4bWwyLXhtbHNjaGVtYXN0eXBlcy5odG1sIj4KKyAgICAgICAgICAgIDxpbWcgc3JjPSJyaWdodC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9Ik5leHQiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0aCB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+bGlieG1sMiBSZWZlcmVuY2UgTWFudWFsPC90aD4KKyAgICAgIDwvdHI+CisgICAgPC90YWJsZT4KKyAgICA8aDI+CisgICAgICA8c3BhbiBjbGFzcz0icmVmZW50cnl0aXRsZSI+eG1sc2NoZW1hczwvc3Bhbj4KKyAgICA8L2gyPgorICAgIDxwPnhtbHNjaGVtYXMgLSBpbmNvbXBsZXRlIFhNTCBTY2hlbWFzIHN0cnVjdHVyZSBpbXBsZW1lbnRhdGlvbjwvcD4KKyAgICA8cD5pbnRlcmZhY2UgdG8gdGhlIFhNTCBTY2hlbWFzIGhhbmRsaW5nIGFuZCBzY2hlbWEgdmFsaWRpdHkgY2hlY2tpbmcsIGl0IGlzIGluY29tcGxldGUgcmlnaHQgbm93LiA8L3A+CisgICAgPHA+QXV0aG9yKHMpOiBEYW5pZWwgVmVpbGxhcmQgPC9wPgorICAgIDxkaXYgY2xhc3M9InJlZnN5bm9wc2lzZGl2Ij4KKyAgICAgIDxoMj5TeW5vcHNpczwvaDI+CisgICAgICA8cHJlIGNsYXNzPSJzeW5vcHNpcyI+dHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwyLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWEiPnhtbFNjaGVtYTwvYT4gKiA8YSBocmVmPSIjeG1sU2NoZW1hUHRyIj54bWxTY2hlbWFQdHI8L2E+OwordHlwZWRlZiBzdHJ1Y3QgX3htbFNjaGVtYVBhcnNlckN0eHQgPGEgaHJlZj0iI3htbFNjaGVtYVBhcnNlckN0eHQiPnhtbFNjaGVtYVBhcnNlckN0eHQ8L2E+OwordHlwZWRlZiBlbnVtIDxhIGhyZWY9IiN4bWxTY2hlbWFWYWxpZE9wdGlvbiI+eG1sU2NoZW1hVmFsaWRPcHRpb248L2E+OwordHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwyLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFTQVhQbHVnU3RydWN0Ij54bWxTY2hlbWFTQVhQbHVnU3RydWN0PC9hPiAqIDxhIGhyZWY9IiN4bWxTY2hlbWFTQVhQbHVnUHRyIj54bWxTY2hlbWFTQVhQbHVnUHRyPC9hPjsKK3R5cGVkZWYgc3RydWN0IF94bWxTY2hlbWFTQVhQbHVnIDxhIGhyZWY9IiN4bWxTY2hlbWFTQVhQbHVnU3RydWN0Ij54bWxTY2hlbWFTQVhQbHVnU3RydWN0PC9hPjsKK3R5cGVkZWYgPGEgaHJlZj0ibGlieG1sMi14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRDdHh0Ij54bWxTY2hlbWFWYWxpZEN0eHQ8L2E+ICogPGEgaHJlZj0iI3htbFNjaGVtYVZhbGlkQ3R4dFB0ciI+eG1sU2NoZW1hVmFsaWRDdHh0UHRyPC9hPjsKK3R5cGVkZWYgPGEgaHJlZj0ibGlieG1sMi14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hUGFyc2VyQ3R4dCI+eG1sU2NoZW1hUGFyc2VyQ3R4dDwvYT4gKiA8YSBocmVmPSIjeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciI+eG1sU2NoZW1hUGFyc2VyQ3R4dFB0cjwvYT47Cit0eXBlZGVmIHN0cnVjdCBfeG1sU2NoZW1hIDxhIGhyZWY9IiN4bWxTY2hlbWEiPnhtbFNjaGVtYTwvYT47Cit0eXBlZGVmIGVudW0gPGEgaHJlZj0iI3htbFNjaGVtYVZhbGlkRXJyb3IiPnhtbFNjaGVtYVZhbGlkRXJyb3I8L2E+OwordHlwZWRlZiBzdHJ1Y3QgX3htbFNjaGVtYVZhbGlkQ3R4dCA8YSBocmVmPSIjeG1sU2NoZW1hVmFsaWRDdHh0Ij54bWxTY2hlbWFWYWxpZEN0eHQ8L2E+OworPGEgaHJlZj0ibGlieG1sMi14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciI+eG1sU2NoZW1hUGFyc2VyQ3R4dFB0cjwvYT4JPGEgaHJlZj0iI3htbFNjaGVtYU5ld0RvY1BhcnNlckN0eHQiPnhtbFNjaGVtYU5ld0RvY1BhcnNlckN0eHQ8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jKTsKK2ludAk8YSBocmVmPSIjeG1sU2NoZW1hU0FYVW5wbHVnIj54bWxTY2hlbWFTQVhVbnBsdWc8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hU0FYUGx1Z1B0ciI+eG1sU2NoZW1hU0FYUGx1Z1B0cjwvYT4gcGx1Zyk7Cis8YSBocmVmPSJsaWJ4bWwyLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFQdHIiPnhtbFNjaGVtYVB0cjwvYT4JPGEgaHJlZj0iI3htbFNjaGVtYVBhcnNlIj54bWxTY2hlbWFQYXJzZTwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIj54bWxTY2hlbWFQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTsKK3ZvaWQJPGEgaHJlZj0iI3htbFNjaGVtYUZyZWVQYXJzZXJDdHh0Ij54bWxTY2hlbWFGcmVlUGFyc2VyQ3R4dDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIj54bWxTY2hlbWFQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTsKK3ZvaWQJPGEgaHJlZj0iI3htbFNjaGVtYVZhbGlkYXRlU2V0RmlsZW5hbWUiPnhtbFNjaGVtYVZhbGlkYXRlU2V0RmlsZW5hbWU8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZEN0eHRQdHIiPnhtbFNjaGVtYVZhbGlkQ3R4dFB0cjwvYT4gdmN0eHQsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGZpbGVuYW1lKTsKKzxhIGhyZWY9ImxpYnhtbDIteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVBhcnNlckN0eHRQdHIiPnhtbFNjaGVtYVBhcnNlckN0eHRQdHI8L2E+CTxhIGhyZWY9IiN4bWxTY2hlbWFOZXdQYXJzZXJDdHh0Ij54bWxTY2hlbWFOZXdQYXJzZXJDdHh0PC9hPgkoY29uc3QgY2hhciAqIFVSTCk7CitpbnQJPGEgaHJlZj0iI3htbFNjaGVtYUlzVmFsaWQiPnhtbFNjaGVtYUlzVmFsaWQ8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRDdHh0UHRyIj54bWxTY2hlbWFWYWxpZEN0eHRQdHI8L2E+IGN0eHQpOwordHlwZWRlZiB2b2lkIDxhIGhyZWY9IiN4bWxTY2hlbWFWYWxpZGl0eUVycm9yRnVuYyI+eG1sU2NoZW1hVmFsaWRpdHlFcnJvckZ1bmM8L2E+CSh2b2lkICogY3R4LCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBtc2csIDxici8+CQkJCQkgLi4uIC4uLik7Cis8YSBocmVmPSJsaWJ4bWwyLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFTQVhQbHVnUHRyIj54bWxTY2hlbWFTQVhQbHVnUHRyPC9hPgk8YSBocmVmPSIjeG1sU2NoZW1hU0FYUGx1ZyI+eG1sU2NoZW1hU0FYUGx1ZzwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkQ3R4dFB0ciI+eG1sU2NoZW1hVmFsaWRDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxTQVhIYW5kbGVyUHRyIj54bWxTQVhIYW5kbGVyUHRyPC9hPiAqIHNheCwgPGJyLz4JCQkJCQkgdm9pZCAqKiB1c2VyX2RhdGEpOworaW50CTxhIGhyZWY9IiN4bWxTY2hlbWFWYWxpZGF0ZVN0cmVhbSI+eG1sU2NoZW1hVmFsaWRhdGVTdHJlYW08L2E+CQkoPGEgaHJlZj0ibGlieG1sMi14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRDdHh0UHRyIj54bWxTY2hlbWFWYWxpZEN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIiPnhtbFBhcnNlcklucHV0QnVmZmVyUHRyPC9hPiBpbnB1dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nIj54bWxDaGFyRW5jb2Rpbmc8L2E+IGVuYywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxTQVhIYW5kbGVyUHRyIj54bWxTQVhIYW5kbGVyUHRyPC9hPiBzYXgsIDxici8+CQkJCQkgdm9pZCAqIHVzZXJfZGF0YSk7CitpbnQJPGEgaHJlZj0iI3htbFNjaGVtYUdldFBhcnNlckVycm9ycyI+eG1sU2NoZW1hR2V0UGFyc2VyRXJyb3JzPC9hPgkoPGEgaHJlZj0ibGlieG1sMi14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciI+eG1sU2NoZW1hUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZGl0eUVycm9yRnVuYyI+eG1sU2NoZW1hVmFsaWRpdHlFcnJvckZ1bmM8L2E+ICogZXJyLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkaXR5V2FybmluZ0Z1bmMiPnhtbFNjaGVtYVZhbGlkaXR5V2FybmluZ0Z1bmM8L2E+ICogd2FybiwgPGJyLz4JCQkJCSB2b2lkICoqIGN0eCk7Cit2b2lkCTxhIGhyZWY9IiN4bWxTY2hlbWFWYWxpZGF0ZVNldExvY2F0b3IiPnhtbFNjaGVtYVZhbGlkYXRlU2V0TG9jYXRvcjwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkQ3R4dFB0ciI+eG1sU2NoZW1hVmFsaWRDdHh0UHRyPC9hPiB2Y3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZGl0eUxvY2F0b3JGdW5jIj54bWxTY2hlbWFWYWxpZGl0eUxvY2F0b3JGdW5jPC9hPiBmLCA8YnIvPgkJCQkJIHZvaWQgKiBjdHh0KTsKK2ludAk8YSBocmVmPSIjeG1sU2NoZW1hVmFsaWRhdGVPbmVFbGVtZW50Ij54bWxTY2hlbWFWYWxpZGF0ZU9uZUVsZW1lbnQ8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZEN0eHRQdHIiPnhtbFNjaGVtYVZhbGlkQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBlbGVtKTsKK3ZvaWQJPGEgaHJlZj0iI3htbFNjaGVtYVNldFZhbGlkU3RydWN0dXJlZEVycm9ycyI+eG1sU2NoZW1hU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzPC9hPgkoPGEgaHJlZj0ibGlieG1sMi14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRDdHh0UHRyIj54bWxTY2hlbWFWYWxpZEN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCN4bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jIj54bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jPC9hPiBzZXJyb3IsIDxici8+CQkJCQkJIHZvaWQgKiBjdHgpOwordm9pZAk8YSBocmVmPSIjeG1sU2NoZW1hU2V0VmFsaWRFcnJvcnMiPnhtbFNjaGVtYVNldFZhbGlkRXJyb3JzPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDIteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkQ3R4dFB0ciI+eG1sU2NoZW1hVmFsaWRDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkaXR5RXJyb3JGdW5jIj54bWxTY2hlbWFWYWxpZGl0eUVycm9yRnVuYzwvYT4gZXJyLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkaXR5V2FybmluZ0Z1bmMiPnhtbFNjaGVtYVZhbGlkaXR5V2FybmluZ0Z1bmM8L2E+IHdhcm4sIDxici8+CQkJCQkgdm9pZCAqIGN0eCk7CitpbnQJPGEgaHJlZj0iI3htbFNjaGVtYVZhbGlkQ3R4dEdldE9wdGlvbnMiPnhtbFNjaGVtYVZhbGlkQ3R4dEdldE9wdGlvbnM8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZEN0eHRQdHIiPnhtbFNjaGVtYVZhbGlkQ3R4dFB0cjwvYT4gY3R4dCk7CitpbnQJPGEgaHJlZj0iI3htbFNjaGVtYVZhbGlkYXRlRmlsZSI+eG1sU2NoZW1hVmFsaWRhdGVGaWxlPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDIteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkQ3R4dFB0ciI+eG1sU2NoZW1hVmFsaWRDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBmaWxlbmFtZSwgPGJyLz4JCQkJCSBpbnQgb3B0aW9ucyk7CitpbnQJPGEgaHJlZj0iI3htbFNjaGVtYVZhbGlkYXRlRG9jIj54bWxTY2hlbWFWYWxpZGF0ZURvYzwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZEN0eHRQdHIiPnhtbFNjaGVtYVZhbGlkQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jKTsKK3ZvaWQJPGEgaHJlZj0iI3htbFNjaGVtYUZyZWUiPnhtbFNjaGVtYUZyZWU8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbDIteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVB0ciI+eG1sU2NoZW1hUHRyPC9hPiBzY2hlbWEpOworPGEgaHJlZj0ibGlieG1sMi14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciI+eG1sU2NoZW1hUGFyc2VyQ3R4dFB0cjwvYT4JPGEgaHJlZj0iI3htbFNjaGVtYU5ld01lbVBhcnNlckN0eHQiPnhtbFNjaGVtYU5ld01lbVBhcnNlckN0eHQ8L2E+CShjb25zdCBjaGFyICogYnVmZmVyLCA8YnIvPgkJCQkJCQkgaW50IHNpemUpOwordHlwZWRlZiBpbnQgPGEgaHJlZj0iI3htbFNjaGVtYVZhbGlkaXR5TG9jYXRvckZ1bmMiPnhtbFNjaGVtYVZhbGlkaXR5TG9jYXRvckZ1bmM8L2E+CSh2b2lkICogY3R4LCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiogZmlsZSwgPGJyLz4JCQkJCSB1bnNpZ25lZCBsb25nICogbGluZSk7CitpbnQJPGEgaHJlZj0iI3htbFNjaGVtYUdldFZhbGlkRXJyb3JzIj54bWxTY2hlbWFHZXRWYWxpZEVycm9yczwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZEN0eHRQdHIiPnhtbFNjaGVtYVZhbGlkQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZGl0eUVycm9yRnVuYyI+eG1sU2NoZW1hVmFsaWRpdHlFcnJvckZ1bmM8L2E+ICogZXJyLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkaXR5V2FybmluZ0Z1bmMiPnhtbFNjaGVtYVZhbGlkaXR5V2FybmluZ0Z1bmM8L2E+ICogd2FybiwgPGJyLz4JCQkJCSB2b2lkICoqIGN0eCk7CitpbnQJPGEgaHJlZj0iI3htbFNjaGVtYVNldFZhbGlkT3B0aW9ucyI+eG1sU2NoZW1hU2V0VmFsaWRPcHRpb25zPC9hPgkoPGEgaHJlZj0ibGlieG1sMi14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRDdHh0UHRyIj54bWxTY2hlbWFWYWxpZEN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgaW50IG9wdGlvbnMpOwordm9pZAk8YSBocmVmPSIjeG1sU2NoZW1hU2V0UGFyc2VyRXJyb3JzIj54bWxTY2hlbWFTZXRQYXJzZXJFcnJvcnM8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIj54bWxTY2hlbWFQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkaXR5RXJyb3JGdW5jIj54bWxTY2hlbWFWYWxpZGl0eUVycm9yRnVuYzwvYT4gZXJyLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkaXR5V2FybmluZ0Z1bmMiPnhtbFNjaGVtYVZhbGlkaXR5V2FybmluZ0Z1bmM8L2E+IHdhcm4sIDxici8+CQkJCQkgdm9pZCAqIGN0eCk7Cit0eXBlZGVmIHZvaWQgPGEgaHJlZj0iI3htbFNjaGVtYVZhbGlkaXR5V2FybmluZ0Z1bmMiPnhtbFNjaGVtYVZhbGlkaXR5V2FybmluZ0Z1bmM8L2E+CSh2b2lkICogY3R4LCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBtc2csIDxici8+CQkJCQkgLi4uIC4uLik7Cit2b2lkCTxhIGhyZWY9IiN4bWxTY2hlbWFEdW1wIj54bWxTY2hlbWFEdW1wPC9hPgkJCShGSUxFICogb3V0cHV0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVB0ciI+eG1sU2NoZW1hUHRyPC9hPiBzY2hlbWEpOwordm9pZAk8YSBocmVmPSIjeG1sU2NoZW1hRnJlZVZhbGlkQ3R4dCI+eG1sU2NoZW1hRnJlZVZhbGlkQ3R4dDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZEN0eHRQdHIiPnhtbFNjaGVtYVZhbGlkQ3R4dFB0cjwvYT4gY3R4dCk7Cis8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPgk8YSBocmVmPSIjeG1sU2NoZW1hVmFsaWRDdHh0R2V0UGFyc2VyQ3R4dCI+eG1sU2NoZW1hVmFsaWRDdHh0R2V0UGFyc2VyQ3R4dDwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkQ3R4dFB0ciI+eG1sU2NoZW1hVmFsaWRDdHh0UHRyPC9hPiBjdHh0KTsKK3ZvaWQJPGEgaHJlZj0iI3htbFNjaGVtYVNldFBhcnNlclN0cnVjdHVyZWRFcnJvcnMiPnhtbFNjaGVtYVNldFBhcnNlclN0cnVjdHVyZWRFcnJvcnM8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIj54bWxTY2hlbWFQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjeG1sU3RydWN0dXJlZEVycm9yRnVuYyI+eG1sU3RydWN0dXJlZEVycm9yRnVuYzwvYT4gc2Vycm9yLCA8YnIvPgkJCQkJCSB2b2lkICogY3R4KTsKKzxhIGhyZWY9ImxpYnhtbDIteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkQ3R4dFB0ciI+eG1sU2NoZW1hVmFsaWRDdHh0UHRyPC9hPgk8YSBocmVmPSIjeG1sU2NoZW1hTmV3VmFsaWRDdHh0Ij54bWxTY2hlbWFOZXdWYWxpZEN0eHQ8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFQdHIiPnhtbFNjaGVtYVB0cjwvYT4gc2NoZW1hKTsKKzwvcHJlPgorICAgIDwvZGl2PgorICAgIDxkaXYgY2xhc3M9InJlZnNlY3QxIiBsYW5nPSJlbiI+CisgICAgICA8aDI+RGVzY3JpcHRpb248L2gyPgorICAgIDwvZGl2PgorICAgIDxkaXYgY2xhc3M9InJlZnNlY3QxIiBsYW5nPSJlbiI+CisgICAgICA8aDI+RGV0YWlsczwvaDI+CisgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTY2hlbWEiPlN0cnVjdHVyZSA8L2E+eG1sU2NoZW1hPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+c3RydWN0IF94bWxTY2hlbWEgeworICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgluYW1lCTogc2NoZW1hIG5hbWUKKyAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJdGFyZ2V0TmFtZXNwYWNlCTogdGhlIHRhcmdldCBuYW1lc3BhY2UKKyAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJdmVyc2lvbgorICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKglpZAk6IE9ic29sZXRlCisgICAgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+CWRvYworICAgIDxhIGhyZWY9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYUFubm90UHRyIj54bWxTY2hlbWFBbm5vdFB0cjwvYT4JYW5ub3QKKyAgICBpbnQJZmxhZ3MKKyAgICA8YSBocmVmPSJsaWJ4bWwyLWhhc2guaHRtbCN4bWxIYXNoVGFibGVQdHIiPnhtbEhhc2hUYWJsZVB0cjwvYT4JdHlwZURlY2wKKyAgICA8YSBocmVmPSJsaWJ4bWwyLWhhc2guaHRtbCN4bWxIYXNoVGFibGVQdHIiPnhtbEhhc2hUYWJsZVB0cjwvYT4JYXR0ckRlY2wKKyAgICA8YSBocmVmPSJsaWJ4bWwyLWhhc2guaHRtbCN4bWxIYXNoVGFibGVQdHIiPnhtbEhhc2hUYWJsZVB0cjwvYT4JYXR0cmdycERlY2wKKyAgICA8YSBocmVmPSJsaWJ4bWwyLWhhc2guaHRtbCN4bWxIYXNoVGFibGVQdHIiPnhtbEhhc2hUYWJsZVB0cjwvYT4JZWxlbURlY2wKKyAgICA8YSBocmVmPSJsaWJ4bWwyLWhhc2guaHRtbCN4bWxIYXNoVGFibGVQdHIiPnhtbEhhc2hUYWJsZVB0cjwvYT4Jbm90YURlY2wKKyAgICA8YSBocmVmPSJsaWJ4bWwyLWhhc2guaHRtbCN4bWxIYXNoVGFibGVQdHIiPnhtbEhhc2hUYWJsZVB0cjwvYT4Jc2NoZW1hc0ltcG9ydHMKKyAgICB2b2lkICoJX3ByaXZhdGUJOiB1bnVzZWQgYnkgdGhlIGxpYnJhcnkgZm9yIHVzZXJzIG9yIGJpbmRpbmdzCisgICAgPGEgaHJlZj0ibGlieG1sMi1oYXNoLmh0bWwjeG1sSGFzaFRhYmxlUHRyIj54bWxIYXNoVGFibGVQdHI8L2E+CWdyb3VwRGVjbAorICAgIDxhIGhyZWY9ImxpYnhtbDItZGljdC5odG1sI3htbERpY3RQdHIiPnhtbERpY3RQdHI8L2E+CWRpY3QKKyAgICB2b2lkICoJaW5jbHVkZXMJOiB0aGUgaW5jbHVkZXMsIHRoaXMgaXMgb3BhcXVlIGZvciBub3cKKyAgICBpbnQJcHJlc2VydmUJOiB3aGV0aGVyIHRvIGZyZWUgdGhlIGRvY3VtZW50CisgICAgaW50CWNvdW50ZXIJOiB1c2VkIHRvIGdpdmUgb25vbnltb3VzIGNvbXBvbmVudHMgdW5pcXVlIG5hbWVzCisgICAgPGEgaHJlZj0ibGlieG1sMi1oYXNoLmh0bWwjeG1sSGFzaFRhYmxlUHRyIj54bWxIYXNoVGFibGVQdHI8L2E+CWlkY0RlZgk6IEFsbCBpZGVudGl0eS1jb25zdHJhaW50IGRlZnMuCisgICAgdm9pZCAqCXZvbGF0aWxlcwk6IE9ic29sZXRlCit9IHhtbFNjaGVtYTsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTY2hlbWFQYXJzZXJDdHh0Ij5TdHJ1Y3R1cmUgPC9hPnhtbFNjaGVtYVBhcnNlckN0eHQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5zdHJ1Y3QgX3htbFNjaGVtYVBhcnNlckN0eHQgeworVGhlIGNvbnRlbnQgb2YgdGhpcyBzdHJ1Y3R1cmUgaXMgbm90IG1hZGUgcHVibGljIGJ5IHRoZSBBUEkuCit9IHhtbFNjaGVtYVBhcnNlckN0eHQ7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciI+VHlwZWRlZiA8L2E+eG1sU2NoZW1hUGFyc2VyQ3R4dFB0cjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVBhcnNlckN0eHQiPnhtbFNjaGVtYVBhcnNlckN0eHQ8L2E+ICogeG1sU2NoZW1hUGFyc2VyQ3R4dFB0cjsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTY2hlbWFQdHIiPlR5cGVkZWYgPC9hPnhtbFNjaGVtYVB0cjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYSI+eG1sU2NoZW1hPC9hPiAqIHhtbFNjaGVtYVB0cjsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTY2hlbWFTQVhQbHVnUHRyIj5UeXBlZGVmIDwvYT54bWxTY2hlbWFTQVhQbHVnUHRyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hU0FYUGx1Z1N0cnVjdCI+eG1sU2NoZW1hU0FYUGx1Z1N0cnVjdDwvYT4gKiB4bWxTY2hlbWFTQVhQbHVnUHRyOworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNjaGVtYVNBWFBsdWdTdHJ1Y3QiPlN0cnVjdHVyZSA8L2E+eG1sU2NoZW1hU0FYUGx1Z1N0cnVjdDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnN0cnVjdCBfeG1sU2NoZW1hU0FYUGx1ZyB7CitUaGUgY29udGVudCBvZiB0aGlzIHN0cnVjdHVyZSBpcyBub3QgbWFkZSBwdWJsaWMgYnkgdGhlIEFQSS4KK30geG1sU2NoZW1hU0FYUGx1Z1N0cnVjdDsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTY2hlbWFWYWxpZEN0eHQiPlN0cnVjdHVyZSA8L2E+eG1sU2NoZW1hVmFsaWRDdHh0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+c3RydWN0IF94bWxTY2hlbWFWYWxpZEN0eHQgeworVGhlIGNvbnRlbnQgb2YgdGhpcyBzdHJ1Y3R1cmUgaXMgbm90IG1hZGUgcHVibGljIGJ5IHRoZSBBUEkuCit9IHhtbFNjaGVtYVZhbGlkQ3R4dDsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTY2hlbWFWYWxpZEN0eHRQdHIiPlR5cGVkZWYgPC9hPnhtbFNjaGVtYVZhbGlkQ3R4dFB0cjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkQ3R4dCI+eG1sU2NoZW1hVmFsaWRDdHh0PC9hPiAqIHhtbFNjaGVtYVZhbGlkQ3R4dFB0cjsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTY2hlbWFWYWxpZEVycm9yIj5FbnVtIDwvYT54bWxTY2hlbWFWYWxpZEVycm9yPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+ZW51bSA8YSBocmVmPSIjeG1sU2NoZW1hVmFsaWRFcnJvciI+eG1sU2NoZW1hVmFsaWRFcnJvcjwvYT4geworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFTX0VSUl9PSyI+WE1MX1NDSEVNQVNfRVJSX09LPC9hPiA9IDAKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BU19FUlJfTk9ST09UIj5YTUxfU0NIRU1BU19FUlJfTk9ST09UPC9hPiA9IDEKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BU19FUlJfVU5ERUNMQVJFREVMRU0iPlhNTF9TQ0hFTUFTX0VSUl9VTkRFQ0xBUkVERUxFTTwvYT4gPSAyCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVNfRVJSX05PVFRPUExFVkVMIj5YTUxfU0NIRU1BU19FUlJfTk9UVE9QTEVWRUw8L2E+ID0gMworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFTX0VSUl9NSVNTSU5HIj5YTUxfU0NIRU1BU19FUlJfTUlTU0lORzwvYT4gPSA0CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVNfRVJSX1dST05HRUxFTSI+WE1MX1NDSEVNQVNfRVJSX1dST05HRUxFTTwvYT4gPSA1CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVNfRVJSX05PVFlQRSI+WE1MX1NDSEVNQVNfRVJSX05PVFlQRTwvYT4gPSA2CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVNfRVJSX05PUk9MTEJBQ0siPlhNTF9TQ0hFTUFTX0VSUl9OT1JPTExCQUNLPC9hPiA9IDcKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BU19FUlJfSVNBQlNUUkFDVCI+WE1MX1NDSEVNQVNfRVJSX0lTQUJTVFJBQ1Q8L2E+ID0gOAorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFTX0VSUl9OT1RFTVBUWSI+WE1MX1NDSEVNQVNfRVJSX05PVEVNUFRZPC9hPiA9IDkKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BU19FUlJfRUxFTUNPTlQiPlhNTF9TQ0hFTUFTX0VSUl9FTEVNQ09OVDwvYT4gPSAxMAorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFTX0VSUl9IQVZFREVGQVVMVCI+WE1MX1NDSEVNQVNfRVJSX0hBVkVERUZBVUxUPC9hPiA9IDExCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVNfRVJSX05PVE5JTExBQkxFIj5YTUxfU0NIRU1BU19FUlJfTk9UTklMTEFCTEU8L2E+ID0gMTIKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BU19FUlJfRVhUUkFDT05URU5UIj5YTUxfU0NIRU1BU19FUlJfRVhUUkFDT05URU5UPC9hPiA9IDEzCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVNfRVJSX0lOVkFMSURBVFRSIj5YTUxfU0NIRU1BU19FUlJfSU5WQUxJREFUVFI8L2E+ID0gMTQKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BU19FUlJfSU5WQUxJREVMRU0iPlhNTF9TQ0hFTUFTX0VSUl9JTlZBTElERUxFTTwvYT4gPSAxNQorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFTX0VSUl9OT1RERVRFUk1JTklTVCI+WE1MX1NDSEVNQVNfRVJSX05PVERFVEVSTUlOSVNUPC9hPiA9IDE2CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVNfRVJSX0NPTlNUUlVDVCI+WE1MX1NDSEVNQVNfRVJSX0NPTlNUUlVDVDwvYT4gPSAxNworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFTX0VSUl9JTlRFUk5BTCI+WE1MX1NDSEVNQVNfRVJSX0lOVEVSTkFMPC9hPiA9IDE4CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVNfRVJSX05PVFNJTVBMRSI+WE1MX1NDSEVNQVNfRVJSX05PVFNJTVBMRTwvYT4gPSAxOQorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFTX0VSUl9BVFRSVU5LTk9XTiI+WE1MX1NDSEVNQVNfRVJSX0FUVFJVTktOT1dOPC9hPiA9IDIwCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVNfRVJSX0FUVFJJTlZBTElEIj5YTUxfU0NIRU1BU19FUlJfQVRUUklOVkFMSUQ8L2E+ID0gMjEKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BU19FUlJfVkFMVUUiPlhNTF9TQ0hFTUFTX0VSUl9WQUxVRTwvYT4gPSAyMgorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFTX0VSUl9GQUNFVCI+WE1MX1NDSEVNQVNfRVJSX0ZBQ0VUPC9hPiA9IDIzCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVNfRVJSXyI+WE1MX1NDSEVNQVNfRVJSXzwvYT4gPSAyNAorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFTX0VSUl9YWFgiPlhNTF9TQ0hFTUFTX0VSUl9YWFg8L2E+ID0gMjUKK307Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU2NoZW1hVmFsaWRPcHRpb24iPkVudW0gPC9hPnhtbFNjaGVtYVZhbGlkT3B0aW9uPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+ZW51bSA8YSBocmVmPSIjeG1sU2NoZW1hVmFsaWRPcHRpb24iPnhtbFNjaGVtYVZhbGlkT3B0aW9uPC9hPiB7CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQV9WQUxfVkNfSV9DUkVBVEUiPlhNTF9TQ0hFTUFfVkFMX1ZDX0lfQ1JFQVRFPC9hPiA9IDEgLyogIERlZmF1bHQvZml4ZWQ6IGNyZWF0ZSBhbiBhdHRyaWJ1dGUgbm9kZSAqIG9yIGFuIGVsZW1lbnQncyB0ZXh0IG5vZGUgb24gdGhlIGluc3RhbmNlLiAqICovCit9OworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNjaGVtYVZhbGlkaXR5RXJyb3JGdW5jIi8+RnVuY3Rpb24gdHlwZSB4bWxTY2hlbWFWYWxpZGl0eUVycm9yRnVuYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sU2NoZW1hVmFsaWRpdHlFcnJvckZ1bmMJKHZvaWQgKiBjdHgsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIG1zZywgPGJyLz4JCQkJCSAuLi4gLi4uKTxici8+Cis8L3ByZT48cD5TaWduYXR1cmUgb2YgYW4gZXJyb3IgY2FsbGJhY2sgZnJvbSBhbiBYU0QgdmFsaWRhdGlvbjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdmFsaWRhdGlvbiBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5tc2c8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBtZXNzYWdlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD4uLi48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmV4dHJhIGFyZ3VtZW50czwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNjaGVtYVZhbGlkaXR5TG9jYXRvckZ1bmMiLz5GdW5jdGlvbiB0eXBlIHhtbFNjaGVtYVZhbGlkaXR5TG9jYXRvckZ1bmM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sU2NoZW1hVmFsaWRpdHlMb2NhdG9yRnVuYwkodm9pZCAqIGN0eCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICoqIGZpbGUsIDxici8+CQkJCQkgdW5zaWduZWQgbG9uZyAqIGxpbmUpPGJyLz4KKzwvcHJlPjxwPkEgc2NoZW1hcyB2YWxpZGF0aW9uIGxvY2F0b3IsIGEgY2FsbGJhY2sgY2FsbGVkIGJ5IHRoZSB2YWxpZGF0b3IuIFRoaXMgaXMgdXNlZCB3aGVuIGZpbGUgb3Igbm9kZSBpbmZvcm1hdGlvbnMgYXJlIG5vdCBhdmFpbGFibGUgdG8gZmluZCBvdXQgd2hhdCBmaWxlIGFuZCBsaW5lIG51bWJlciBhcmUgYWZmZWN0ZWQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dXNlciBwcm92aWRlZCBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5yZXR1cm5lZCBmaWxlIGluZm9ybWF0aW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5saW5lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5yZXR1cm5lZCBsaW5lIGluZm9ybWF0aW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGluIGNhc2Ugb2Ygc3VjY2VzcyBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNjaGVtYVZhbGlkaXR5V2FybmluZ0Z1bmMiLz5GdW5jdGlvbiB0eXBlIHhtbFNjaGVtYVZhbGlkaXR5V2FybmluZ0Z1bmM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFNjaGVtYVZhbGlkaXR5V2FybmluZ0Z1bmMJKHZvaWQgKiBjdHgsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIG1zZywgPGJyLz4JCQkJCSAuLi4gLi4uKTxici8+Cis8L3ByZT48cD5TaWduYXR1cmUgb2YgYSB3YXJuaW5nIGNhbGxiYWNrIGZyb20gYW4gWFNEIHZhbGlkYXRpb248L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHZhbGlkYXRpb24gY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bXNnPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbWVzc2FnZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Li4uPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5leHRyYSBhcmd1bWVudHM8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTY2hlbWFEdW1wIi8+eG1sU2NoZW1hRHVtcCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sU2NoZW1hRHVtcAkJCShGSUxFICogb3V0cHV0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVB0ciI+eG1sU2NoZW1hUHRyPC9hPiBzY2hlbWEpPGJyLz4KKzwvcHJlPjxwPkR1bXAgYSBTY2hlbWEgc3RydWN0dXJlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3V0cHV0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZmlsZSBvdXRwdXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNjaGVtYTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBzY2hlbWEgc3RydWN0dXJlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU2NoZW1hRnJlZSIvPnhtbFNjaGVtYUZyZWUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFNjaGVtYUZyZWUJCQkoPGEgaHJlZj0ibGlieG1sMi14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hUHRyIj54bWxTY2hlbWFQdHI8L2E+IHNjaGVtYSk8YnIvPgorPC9wcmU+PHA+RGVhbGxvY2F0ZSBhIFNjaGVtYSBzdHJ1Y3R1cmUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zY2hlbWE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgc2NoZW1hIHN0cnVjdHVyZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNjaGVtYUZyZWVQYXJzZXJDdHh0Ii8+eG1sU2NoZW1hRnJlZVBhcnNlckN0eHQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFNjaGVtYUZyZWVQYXJzZXJDdHh0CQkoPGEgaHJlZj0ibGlieG1sMi14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciI+eG1sU2NoZW1hUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8YnIvPgorPC9wcmU+PHA+RnJlZSB0aGUgcmVzb3VyY2VzIGFzc29jaWF0ZWQgdG8gdGhlIHNjaGVtYSBwYXJzZXIgY29udGV4dDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHNjaGVtYSBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNjaGVtYUZyZWVWYWxpZEN0eHQiLz54bWxTY2hlbWFGcmVlVmFsaWRDdHh0ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxTY2hlbWFGcmVlVmFsaWRDdHh0CQkoPGEgaHJlZj0ibGlieG1sMi14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRDdHh0UHRyIj54bWxTY2hlbWFWYWxpZEN0eHRQdHI8L2E+IGN0eHQpPGJyLz4KKzwvcHJlPjxwPkZyZWUgdGhlIHJlc291cmNlcyBhc3NvY2lhdGVkIHRvIHRoZSBzY2hlbWEgdmFsaWRhdGlvbiBjb250ZXh0PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc2NoZW1hIHZhbGlkYXRpb24gY29udGV4dDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNjaGVtYUdldFBhcnNlckVycm9ycyIvPnhtbFNjaGVtYUdldFBhcnNlckVycm9ycyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxTY2hlbWFHZXRQYXJzZXJFcnJvcnMJKDxhIGhyZWY9ImxpYnhtbDIteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVBhcnNlckN0eHRQdHIiPnhtbFNjaGVtYVBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRpdHlFcnJvckZ1bmMiPnhtbFNjaGVtYVZhbGlkaXR5RXJyb3JGdW5jPC9hPiAqIGVyciwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZGl0eVdhcm5pbmdGdW5jIj54bWxTY2hlbWFWYWxpZGl0eVdhcm5pbmdGdW5jPC9hPiAqIHdhcm4sIDxici8+CQkJCQkgdm9pZCAqKiBjdHgpPGJyLz4KKzwvcHJlPjxwPkdldCB0aGUgY2FsbGJhY2sgaW5mb3JtYXRpb24gdXNlZCB0byBoYW5kbGUgZXJyb3JzIGZvciBhIHBhcnNlciBjb250ZXh0PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIFhNbC1TY2hlbWEgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVycjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVycm9yIGNhbGxiYWNrIHJlc3VsdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d2FybjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHdhcm5pbmcgY2FsbGJhY2sgcmVzdWx0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmNvbnRleHR1YWwgZGF0YSBmb3IgdGhlIGNhbGxiYWNrcyByZXN1bHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPi0xIGluIGNhc2Ugb2YgZmFpbHVyZSwgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTY2hlbWFHZXRWYWxpZEVycm9ycyIvPnhtbFNjaGVtYUdldFZhbGlkRXJyb3JzICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFNjaGVtYUdldFZhbGlkRXJyb3JzCQkoPGEgaHJlZj0ibGlieG1sMi14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRDdHh0UHRyIj54bWxTY2hlbWFWYWxpZEN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRpdHlFcnJvckZ1bmMiPnhtbFNjaGVtYVZhbGlkaXR5RXJyb3JGdW5jPC9hPiAqIGVyciwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZGl0eVdhcm5pbmdGdW5jIj54bWxTY2hlbWFWYWxpZGl0eVdhcm5pbmdGdW5jPC9hPiAqIHdhcm4sIDxici8+CQkJCQkgdm9pZCAqKiBjdHgpPGJyLz4KKzwvcHJlPjxwPkdldCB0aGUgZXJyb3IgYW5kIHdhcm5pbmcgY2FsbGJhY2sgaW5mb3JtYXRpb25zPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIFhNTC1TY2hlbWEgdmFsaWRhdGlvbiBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lcnI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlcnJvciBmdW5jdGlvbiByZXN1bHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pndhcm48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB3YXJuaW5nIGZ1bmN0aW9uIHJlc3VsdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZnVuY3Rpb25zIGNvbnRleHQgcmVzdWx0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4tMSBpbiBjYXNlIG9mIGVycm9yIGFuZCAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNjaGVtYUlzVmFsaWQiLz54bWxTY2hlbWFJc1ZhbGlkICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFNjaGVtYUlzVmFsaWQJCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZEN0eHRQdHIiPnhtbFNjaGVtYVZhbGlkQ3R4dFB0cjwvYT4gY3R4dCk8YnIvPgorPC9wcmU+PHA+Q2hlY2sgaWYgYW55IGVycm9yIHdhcyBkZXRlY3RlZCBkdXJpbmcgdmFsaWRhdGlvbi48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzY2hlbWEgdmFsaWRhdGlvbiBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHZhbGlkIHNvIGZhciwgMCBpZiBlcnJvcnMgd2VyZSBkZXRlY3RlZCwgYW5kIC0xIGluIGNhc2Ugb2YgaW50ZXJuYWwgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU2NoZW1hTmV3RG9jUGFyc2VyQ3R4dCIvPnhtbFNjaGVtYU5ld0RvY1BhcnNlckN0eHQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIj54bWxTY2hlbWFQYXJzZXJDdHh0UHRyPC9hPgl4bWxTY2hlbWFOZXdEb2NQYXJzZXJDdHh0CSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jKTxici8+Cis8L3ByZT48cD5DcmVhdGUgYW4gWE1MIFNjaGVtYXMgcGFyc2UgY29udGV4dCBmb3IgdGhhdCBkb2N1bWVudC4gTkIuIFRoZSBkb2N1bWVudCBtYXkgYmUgbW9kaWZpZWQgZHVyaW5nIHRoZSBwYXJzaW5nIHByb2Nlc3MuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcHJlcGFyc2VkIGRvY3VtZW50IHRyZWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwYXJzZXIgY29udGV4dCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTY2hlbWFOZXdNZW1QYXJzZXJDdHh0Ii8+eG1sU2NoZW1hTmV3TWVtUGFyc2VyQ3R4dCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVBhcnNlckN0eHRQdHIiPnhtbFNjaGVtYVBhcnNlckN0eHRQdHI8L2E+CXhtbFNjaGVtYU5ld01lbVBhcnNlckN0eHQJKGNvbnN0IGNoYXIgKiBidWZmZXIsIDxici8+CQkJCQkJCSBpbnQgc2l6ZSk8YnIvPgorPC9wcmU+PHA+Q3JlYXRlIGFuIFhNTCBTY2hlbWFzIHBhcnNlIGNvbnRleHQgZm9yIHRoYXQgbWVtb3J5IGJ1ZmZlciBleHBlY3RlZCB0byBjb250YWluIGFuIFhNTCBTY2hlbWFzIGZpbGUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5idWZmZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byBhIGNoYXIgYXJyYXkgY29udGFpbmluZyB0aGUgc2NoZW1hczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2l6ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHNpemUgb2YgdGhlIGFycmF5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcGFyc2VyIGNvbnRleHQgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU2NoZW1hTmV3UGFyc2VyQ3R4dCIvPnhtbFNjaGVtYU5ld1BhcnNlckN0eHQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIj54bWxTY2hlbWFQYXJzZXJDdHh0UHRyPC9hPgl4bWxTY2hlbWFOZXdQYXJzZXJDdHh0CShjb25zdCBjaGFyICogVVJMKTxici8+Cis8L3ByZT48cD5DcmVhdGUgYW4gWE1MIFNjaGVtYXMgcGFyc2UgY29udGV4dCBmb3IgdGhhdCBmaWxlL3Jlc291cmNlIGV4cGVjdGVkIHRvIGNvbnRhaW4gYW4gWE1MIFNjaGVtYXMgZmlsZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlVSTDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxvY2F0aW9uIG9mIHRoZSBzY2hlbWE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwYXJzZXIgY29udGV4dCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTY2hlbWFOZXdWYWxpZEN0eHQiLz54bWxTY2hlbWFOZXdWYWxpZEN0eHQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZEN0eHRQdHIiPnhtbFNjaGVtYVZhbGlkQ3R4dFB0cjwvYT4JeG1sU2NoZW1hTmV3VmFsaWRDdHh0CSg8YSBocmVmPSJsaWJ4bWwyLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFQdHIiPnhtbFNjaGVtYVB0cjwvYT4gc2NoZW1hKTxici8+Cis8L3ByZT48cD5DcmVhdGUgYW4gWE1MIFNjaGVtYXMgdmFsaWRhdGlvbiBjb250ZXh0IGJhc2VkIG9uIHRoZSBnaXZlbiBzY2hlbWEuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zY2hlbWE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcHJlY29tcGlsZWQgWE1MIFNjaGVtYXM8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB2YWxpZGF0aW9uIGNvbnRleHQgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU2NoZW1hUGFyc2UiLz54bWxTY2hlbWFQYXJzZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVB0ciI+eG1sU2NoZW1hUHRyPC9hPgl4bWxTY2hlbWFQYXJzZQkJKDxhIGhyZWY9ImxpYnhtbDIteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVBhcnNlckN0eHRQdHIiPnhtbFNjaGVtYVBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPGJyLz4KKzwvcHJlPjxwPnBhcnNlIGEgc2NoZW1hIGRlZmluaXRpb24gcmVzb3VyY2UgYW5kIGJ1aWxkIGFuIGludGVybmFsIFhNTCBTaGVtYSBzdHJ1dHVyZSB3aGljaCBjYW4gYmUgdXNlZCB0byB2YWxpZGF0ZSBpbnN0YW5jZXMuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHNjaGVtYSB2YWxpZGF0aW9uIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBpbnRlcm5hbCBYTUwgU2NoZW1hIHN0cnVjdHVyZSBidWlsdCBmcm9tIHRoZSByZXNvdXJjZSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTY2hlbWFTQVhQbHVnIi8+eG1sU2NoZW1hU0FYUGx1ZyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVNBWFBsdWdQdHIiPnhtbFNjaGVtYVNBWFBsdWdQdHI8L2E+CXhtbFNjaGVtYVNBWFBsdWcJKDxhIGhyZWY9ImxpYnhtbDIteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkQ3R4dFB0ciI+eG1sU2NoZW1hVmFsaWRDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxTQVhIYW5kbGVyUHRyIj54bWxTQVhIYW5kbGVyUHRyPC9hPiAqIHNheCwgPGJyLz4JCQkJCQkgdm9pZCAqKiB1c2VyX2RhdGEpPGJyLz4KKzwvcHJlPjxwPlBsdWcgYSBTQVggYmFzZWQgdmFsaWRhdGlvbiBsYXllciBpbiBhIFNBWCBwYXJzaW5nIGV2ZW50IGZsb3cuIFRoZSBvcmlnaW5hbCBAc2F4cHRyIGFuZCBAZGF0YXB0ciBkYXRhIGFyZSByZXBsYWNlZCBieSBuZXcgcG9pbnRlcnMgYnV0IHRoZSBjYWxscyB0byB0aGUgb3JpZ2luYWwgd2lsbCBiZSBtYWludGFpbmVkLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBzY2hlbWEgdmFsaWRhdGlvbiBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zYXg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byB0aGUgb3JpZ2luYWwgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sU0FYSGFuZGxlclB0ciI+eG1sU0FYSGFuZGxlclB0cjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnVzZXJfZGF0YTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIHRoZSBvcmlnaW5hbCBTQVggdXNlciBkYXRhIHBvaW50ZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byBhIGRhdGEgc3RydWN0dXJlIG5lZWRlZCB0byB1bnBsdWcgdGhlIHZhbGlkYXRpb24gbGF5ZXIgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9ycy48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTY2hlbWFTQVhVbnBsdWciLz54bWxTY2hlbWFTQVhVbnBsdWcgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sU2NoZW1hU0FYVW5wbHVnCQkoPGEgaHJlZj0ibGlieG1sMi14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hU0FYUGx1Z1B0ciI+eG1sU2NoZW1hU0FYUGx1Z1B0cjwvYT4gcGx1Zyk8YnIvPgorPC9wcmU+PHA+VW5wbHVnIGEgU0FYIGJhc2VkIHZhbGlkYXRpb24gbGF5ZXIgaW4gYSBTQVggcGFyc2luZyBldmVudCBmbG93LiBUaGUgb3JpZ2luYWwgcG9pbnRlcnMgdXNlZCBpbiB0aGUgY2FsbCBhcmUgcmVzdG9yZWQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wbHVnPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGRhdGEgc3RydWN0dXJlIHJldHVybmVkIGJ5IDxhIGhyZWY9ImxpYnhtbDIteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVNBWFBsdWciPnhtbFNjaGVtYVNBWFBsdWc8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGluIGNhc2Ugb2Ygc3VjY2VzcyBhbmQgLTEgaW4gY2FzZSBvZiBmYWlsdXJlLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNjaGVtYVNldFBhcnNlckVycm9ycyIvPnhtbFNjaGVtYVNldFBhcnNlckVycm9ycyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sU2NoZW1hU2V0UGFyc2VyRXJyb3JzCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIj54bWxTY2hlbWFQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkaXR5RXJyb3JGdW5jIj54bWxTY2hlbWFWYWxpZGl0eUVycm9yRnVuYzwvYT4gZXJyLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkaXR5V2FybmluZ0Z1bmMiPnhtbFNjaGVtYVZhbGlkaXR5V2FybmluZ0Z1bmM8L2E+IHdhcm4sIDxici8+CQkJCQkgdm9pZCAqIGN0eCk8YnIvPgorPC9wcmU+PHA+U2V0IHRoZSBjYWxsYmFjayBmdW5jdGlvbnMgdXNlZCB0byBoYW5kbGUgZXJyb3JzIGZvciBhIHZhbGlkYXRpb24gY29udGV4dDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBzY2hlbWEgdmFsaWRhdGlvbiBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lcnI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlcnJvciBjYWxsYmFjazwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d2FybjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHdhcm5pbmcgY2FsbGJhY2s8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+Y29udGV4dHVhbCBkYXRhIGZvciB0aGUgY2FsbGJhY2tzPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU2NoZW1hU2V0UGFyc2VyU3RydWN0dXJlZEVycm9ycyIvPnhtbFNjaGVtYVNldFBhcnNlclN0cnVjdHVyZWRFcnJvcnMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFNjaGVtYVNldFBhcnNlclN0cnVjdHVyZWRFcnJvcnMJKDxhIGhyZWY9ImxpYnhtbDIteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVBhcnNlckN0eHRQdHIiPnhtbFNjaGVtYVBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCN4bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jIj54bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jPC9hPiBzZXJyb3IsIDxici8+CQkJCQkJIHZvaWQgKiBjdHgpPGJyLz4KKzwvcHJlPjxwPlNldCB0aGUgc3RydWN0dXJlZCBlcnJvciBjYWxsYmFjazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBzY2hlbWEgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNlcnJvcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHN0cnVjdHVyZWQgZXJyb3IgZnVuY3Rpb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZ1bmN0aW9ucyBjb250ZXh0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU2NoZW1hU2V0VmFsaWRFcnJvcnMiLz54bWxTY2hlbWFTZXRWYWxpZEVycm9ycyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sU2NoZW1hU2V0VmFsaWRFcnJvcnMJCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZEN0eHRQdHIiPnhtbFNjaGVtYVZhbGlkQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZGl0eUVycm9yRnVuYyI+eG1sU2NoZW1hVmFsaWRpdHlFcnJvckZ1bmM8L2E+IGVyciwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZGl0eVdhcm5pbmdGdW5jIj54bWxTY2hlbWFWYWxpZGl0eVdhcm5pbmdGdW5jPC9hPiB3YXJuLCA8YnIvPgkJCQkJIHZvaWQgKiBjdHgpPGJyLz4KKzwvcHJlPjxwPlNldCB0aGUgZXJyb3IgYW5kIHdhcm5pbmcgY2FsbGJhY2sgaW5mb3JtYXRpb25zPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHNjaGVtYSB2YWxpZGF0aW9uIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVycjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVycm9yIGZ1bmN0aW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD53YXJuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgd2FybmluZyBmdW5jdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZnVuY3Rpb25zIGNvbnRleHQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTY2hlbWFTZXRWYWxpZE9wdGlvbnMiLz54bWxTY2hlbWFTZXRWYWxpZE9wdGlvbnMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sU2NoZW1hU2V0VmFsaWRPcHRpb25zCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZEN0eHRQdHIiPnhtbFNjaGVtYVZhbGlkQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSBpbnQgb3B0aW9ucyk8YnIvPgorPC9wcmU+PHA+U2V0cyB0aGUgb3B0aW9ucyB0byBiZSB1c2VkIGR1cmluZyB0aGUgdmFsaWRhdGlvbi48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgc2NoZW1hIHZhbGlkYXRpb24gY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3B0aW9uczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBjb21iaW5hdGlvbiBvZiA8YSBocmVmPSJsaWJ4bWwyLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZE9wdGlvbiI+eG1sU2NoZW1hVmFsaWRPcHRpb248L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGluIGNhc2Ugb2Ygc3VjY2VzcywgLTEgaW4gY2FzZSBvZiBhbiBBUEkgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU2NoZW1hU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzIi8+eG1sU2NoZW1hU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxTY2hlbWFTZXRWYWxpZFN0cnVjdHVyZWRFcnJvcnMJKDxhIGhyZWY9ImxpYnhtbDIteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkQ3R4dFB0ciI+eG1sU2NoZW1hVmFsaWRDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjeG1sU3RydWN0dXJlZEVycm9yRnVuYyI+eG1sU3RydWN0dXJlZEVycm9yRnVuYzwvYT4gc2Vycm9yLCA8YnIvPgkJCQkJCSB2b2lkICogY3R4KTxici8+Cis8L3ByZT48cD5TZXQgdGhlIHN0cnVjdHVyZWQgZXJyb3IgY2FsbGJhY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgc2NoZW1hIHZhbGlkYXRpb24gY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2Vycm9yPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc3RydWN0dXJlZCBlcnJvciBmdW5jdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZnVuY3Rpb25zIGNvbnRleHQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTY2hlbWFWYWxpZEN0eHRHZXRPcHRpb25zIi8+eG1sU2NoZW1hVmFsaWRDdHh0R2V0T3B0aW9ucyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxTY2hlbWFWYWxpZEN0eHRHZXRPcHRpb25zCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZEN0eHRQdHIiPnhtbFNjaGVtYVZhbGlkQ3R4dFB0cjwvYT4gY3R4dCk8YnIvPgorPC9wcmU+PHA+R2V0IHRoZSB2YWxpZGF0aW9uIGNvbnRleHQgb3B0aW9ucy48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgc2NoZW1hIHZhbGlkYXRpb24gY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG9wdGlvbiBjb21iaW5hdGlvbiBvciAtMSBvbiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTY2hlbWFWYWxpZEN0eHRHZXRQYXJzZXJDdHh0Ii8+eG1sU2NoZW1hVmFsaWRDdHh0R2V0UGFyc2VyQ3R4dCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+CXhtbFNjaGVtYVZhbGlkQ3R4dEdldFBhcnNlckN0eHQJKDxhIGhyZWY9ImxpYnhtbDIteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkQ3R4dFB0ciI+eG1sU2NoZW1hVmFsaWRDdHh0UHRyPC9hPiBjdHh0KTxici8+Cis8L3ByZT48cD5hbGxvdyBhY2Nlc3MgdG8gdGhlIHBhcnNlciBjb250ZXh0IG9mIHRoZSBzY2hlbWEgdmFsaWRhdGlvbiBjb250ZXh0PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHNjaGVtYSB2YWxpZGF0aW9uIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwYXJzZXIgY29udGV4dCBvZiB0aGUgc2NoZW1hIHZhbGlkYXRpb24gY29udGV4dCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU2NoZW1hVmFsaWRhdGVEb2MiLz54bWxTY2hlbWFWYWxpZGF0ZURvYyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxTY2hlbWFWYWxpZGF0ZURvYwkJKDxhIGhyZWY9ImxpYnhtbDIteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkQ3R4dFB0ciI+eG1sU2NoZW1hVmFsaWRDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MpPGJyLz4KKzwvcHJlPjxwPlZhbGlkYXRlIGEgZG9jdW1lbnQgdHJlZSBpbiBtZW1vcnkuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHNjaGVtYSB2YWxpZGF0aW9uIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwYXJzZWQgZG9jdW1lbnQgdHJlZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpZiB0aGUgZG9jdW1lbnQgaXMgc2NoZW1hcyB2YWxpZCwgYSBwb3NpdGl2ZSBlcnJvciBjb2RlIG51bWJlciBvdGhlcndpc2UgYW5kIC0xIGluIGNhc2Ugb2YgaW50ZXJuYWwgb3IgQVBJIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNjaGVtYVZhbGlkYXRlRmlsZSIvPnhtbFNjaGVtYVZhbGlkYXRlRmlsZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxTY2hlbWFWYWxpZGF0ZUZpbGUJCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZEN0eHRQdHIiPnhtbFNjaGVtYVZhbGlkQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZmlsZW5hbWUsIDxici8+CQkJCQkgaW50IG9wdGlvbnMpPGJyLz4KKzwvcHJlPjxwPkRvIGEgc2NoZW1hcyB2YWxpZGF0aW9uIG9mIHRoZSBnaXZlbiByZXNvdXJjZSwgaXQgd2lsbCB1c2UgdGhlIFNBWCBzdHJlYW1hYmxlIHZhbGlkYXRpb24gaW50ZXJuYWxseS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgc2NoZW1hIHZhbGlkYXRpb24gY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmlsZW5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBVUkkgb2YgdGhlIGluc3RhbmNlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vcHRpb25zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGZ1dHVyZSBzZXQgb2Ygb3B0aW9ucywgY3VycmVudGx5IHVudXNlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpZiB0aGUgZG9jdW1lbnQgaXMgdmFsaWQsIGEgcG9zaXRpdmUgZXJyb3IgY29kZSBudW1iZXIgb3RoZXJ3aXNlIGFuZCAtMSBpbiBjYXNlIG9mIGFuIGludGVybmFsIG9yIEFQSSBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTY2hlbWFWYWxpZGF0ZU9uZUVsZW1lbnQiLz54bWxTY2hlbWFWYWxpZGF0ZU9uZUVsZW1lbnQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sU2NoZW1hVmFsaWRhdGVPbmVFbGVtZW50CSg8YSBocmVmPSJsaWJ4bWwyLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZEN0eHRQdHIiPnhtbFNjaGVtYVZhbGlkQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBlbGVtKTxici8+Cis8L3ByZT48cD5WYWxpZGF0ZSBhIGJyYW5jaCBvZiBhIHRyZWUsIHN0YXJ0aW5nIHdpdGggdGhlIGdpdmVuIEBlbGVtLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBzY2hlbWEgdmFsaWRhdGlvbiBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbGVtPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBlbGVtZW50IG5vZGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaWYgdGhlIGVsZW1lbnQgYW5kIGl0cyBzdWJ0cmVlIGlzIHZhbGlkLCBhIHBvc2l0aXZlIGVycm9yIGNvZGUgbnVtYmVyIG90aGVyd2lzZSBhbmQgLTEgaW4gY2FzZSBvZiBhbiBpbnRlcm5hbCBvciBBUEkgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU2NoZW1hVmFsaWRhdGVTZXRGaWxlbmFtZSIvPnhtbFNjaGVtYVZhbGlkYXRlU2V0RmlsZW5hbWUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFNjaGVtYVZhbGlkYXRlU2V0RmlsZW5hbWUJKDxhIGhyZWY9ImxpYnhtbDIteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkQ3R4dFB0ciI+eG1sU2NoZW1hVmFsaWRDdHh0UHRyPC9hPiB2Y3R4dCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZmlsZW5hbWUpPGJyLz4KKzwvcHJlPjxwPldvcmthcm91bmQgdG8gcHJvdmlkZSBmaWxlIGVycm9yIHJlcG9ydGluZyBpbmZvcm1hdGlvbiB3aGVuIHRoaXMgaXMgbm90IHByb3ZpZGVkIGJ5IGN1cnJlbnQgQVBJczwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzY2hlbWEgdmFsaWRhdGlvbiBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlbmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZpbGUgbmFtZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNjaGVtYVZhbGlkYXRlU2V0TG9jYXRvciIvPnhtbFNjaGVtYVZhbGlkYXRlU2V0TG9jYXRvciAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sU2NoZW1hVmFsaWRhdGVTZXRMb2NhdG9yCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZEN0eHRQdHIiPnhtbFNjaGVtYVZhbGlkQ3R4dFB0cjwvYT4gdmN0eHQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRpdHlMb2NhdG9yRnVuYyI+eG1sU2NoZW1hVmFsaWRpdHlMb2NhdG9yRnVuYzwvYT4gZiwgPGJyLz4JCQkJCSB2b2lkICogY3R4dCk8YnIvPgorPC9wcmU+PHA+QWxsb3dzIHRvIHNldCBhIGxvY2F0b3IgZnVuY3Rpb24gdG8gdGhlIHZhbGlkYXRpb24gY29udGV4dCwgd2hpY2ggd2lsbCBiZSB1c2VkIHRvIHByb3ZpZGUgZmlsZSBhbmQgbGluZSBpbmZvcm1hdGlvbiBzaW5jZSB0aG9zZSBhcmUgbm90IHByb3ZpZGVkIGFzIHBhcnQgb2YgdGhlIFNBWCB2YWxpZGF0aW9uIGZsb3cgU2V0dGluZyBAZiB0byBOVUxMIGRpc2FibGUgdGhlIGxvY2F0b3IuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBzY2hlbWEgdmFsaWRhdGlvbiBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbG9jYXRvciBmdW5jdGlvbiBwb2ludGVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbG9jYXRvciBjb250ZXh0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU2NoZW1hVmFsaWRhdGVTdHJlYW0iLz54bWxTY2hlbWFWYWxpZGF0ZVN0cmVhbSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxTY2hlbWFWYWxpZGF0ZVN0cmVhbQkJKDxhIGhyZWY9ImxpYnhtbDIteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkQ3R4dFB0ciI+eG1sU2NoZW1hVmFsaWRDdHh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyUHRyIj54bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cjwvYT4gaW5wdXQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZyI+eG1sQ2hhckVuY29kaW5nPC9hPiBlbmMsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sU0FYSGFuZGxlclB0ciI+eG1sU0FYSGFuZGxlclB0cjwvYT4gc2F4LCA8YnIvPgkJCQkJIHZvaWQgKiB1c2VyX2RhdGEpPGJyLz4KKzwvcHJlPjxwPlZhbGlkYXRlIGFuIGlucHV0IGJhc2VkIG9uIGEgZmxvdyBvZiBTQVggZXZlbnQgZnJvbSB0aGUgcGFyc2VyIGFuZCBmb3J3YXJkIHRoZSBldmVudHMgdG8gdGhlIEBzYXggaGFuZGxlciB3aXRoIHRoZSBwcm92aWRlZCBAdXNlcl9kYXRhIHRoZSB1c2VyIHByb3ZpZGVkIEBzYXggaGFuZGxlciBtdXN0IGJlIGEgU0FYMiBvbmUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHNjaGVtYSB2YWxpZGF0aW9uIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmlucHV0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaW5wdXQgdG8gdXNlIGZvciByZWFkaW5nIHRoZSBkYXRhPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbmM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIG9wdGlvbmFsIGVuY29kaW5nIGluZm9ybWF0aW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zYXg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgU0FYIGhhbmRsZXIgZm9yIHRoZSByZXN1bHRpbmcgZXZlbnRzPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD51c2VyX2RhdGE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjb250ZXh0IHRvIHByb3ZpZGUgdG8gdGhlIFNBWCBoYW5kbGVyLjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpZiB0aGUgZG9jdW1lbnQgaXMgc2NoZW1hcyB2YWxpZCwgYSBwb3NpdGl2ZSBlcnJvciBjb2RlIG51bWJlciBvdGhlcndpc2UgYW5kIC0xIGluIGNhc2Ugb2YgaW50ZXJuYWwgb3IgQVBJIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKyAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvZGV2aGVscC9saWJ4bWwyLXhtbHNjaGVtYXN0eXBlcy5odG1sIGIvbGlieG1sMi9kb2MvZGV2aGVscC9saWJ4bWwyLXhtbHNjaGVtYXN0eXBlcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM2YTU5ZjgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9kZXZoZWxwL2xpYnhtbDIteG1sc2NoZW1hc3R5cGVzLmh0bWwKQEAgLTAsMCArMSwyMzcgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8aHRtbD4KKyAgPGhlYWQ+CisgICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiLz4KKyAgICA8dGl0bGU+eG1sc2NoZW1hc3R5cGVzOiBpbXBsZW1lbnRhdGlvbiBvZiBYTUwgU2NoZW1hIERhdGF0eXBlczwvdGl0bGU+CisgICAgPG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJMaWJ4bWwyIGRldmhlbHAgc3R5bGVzaGVldCIvPgorICAgIDxsaW5rIHJlbD0ic3RhcnQiIGhyZWY9ImluZGV4Lmh0bWwiIHRpdGxlPSJsaWJ4bWwyIFJlZmVyZW5jZSBNYW51YWwiLz4KKyAgICA8bGluayByZWw9InVwIiBocmVmPSJnZW5lcmFsLmh0bWwiIHRpdGxlPSJBUEkiLz4KKyAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9InN0eWxlLmNzcyIgdHlwZT0idGV4dC9jc3MiLz4KKyAgICA8bGluayByZWw9ImNoYXB0ZXIiIGhyZWY9ImdlbmVyYWwuaHRtbCIgdGl0bGU9IkFQSSIvPgorICA8L2hlYWQ+CisgIDxib2R5IGJnY29sb3I9IndoaXRlIiB0ZXh0PSJibGFjayIgbGluaz0iIzAwMDBGRiIgdmxpbms9IiM4NDAwODQiIGFsaW5rPSIjMDAwMEZGIj4KKyAgICA8dGFibGUgY2xhc3M9Im5hdmlnYXRpb24iIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIyIj4KKyAgICAgIDx0ciB2YWxpZ249Im1pZGRsZSI+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImxpYnhtbDIteG1sc2NoZW1hcy5odG1sIj4KKyAgICAgICAgICAgIDxpbWcgc3JjPSJsZWZ0LnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iUHJldiIvPgorICAgICAgICAgIDwvYT4KKyAgICAgICAgPC90ZD4KKyAgICAgICAgPHRkPgorICAgICAgICAgIDxhIGFjY2Vzc2tleT0idSIgaHJlZj0iZ2VuZXJhbC5odG1sIj4KKyAgICAgICAgICAgIDxpbWcgc3JjPSJ1cC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlVwIi8+CisgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGQ+CisgICAgICAgICAgPGEgYWNjZXNza2V5PSJoIiBocmVmPSJpbmRleC5odG1sIj4KKyAgICAgICAgICAgIDxpbWcgc3JjPSJob21lLnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iSG9tZSIvPgorICAgICAgICAgIDwvYT4KKyAgICAgICAgPC90ZD4KKyAgICAgICAgPHRkPgorICAgICAgICAgIDxhIGFjY2Vzc2tleT0ibiIgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0icmlnaHQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJOZXh0Ii8+CisgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGggd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPmxpYnhtbDIgUmVmZXJlbmNlIE1hbnVhbDwvdGg+CisgICAgICA8L3RyPgorICAgIDwvdGFibGU+CisgICAgPGgyPgorICAgICAgPHNwYW4gY2xhc3M9InJlZmVudHJ5dGl0bGUiPnhtbHNjaGVtYXN0eXBlczwvc3Bhbj4KKyAgICA8L2gyPgorICAgIDxwPnhtbHNjaGVtYXN0eXBlcyAtIGltcGxlbWVudGF0aW9uIG9mIFhNTCBTY2hlbWEgRGF0YXR5cGVzPC9wPgorICAgIDxwPm1vZHVsZSBwcm92aWRpbmcgdGhlIFhNTCBTY2hlbWEgRGF0YXR5cGVzIGltcGxlbWVudGF0aW9uIGJvdGggZGVmaW5pdGlvbiBhbmQgdmFsaWRpdHkgY2hlY2tpbmcgPC9wPgorICAgIDxwPkF1dGhvcihzKTogRGFuaWVsIFZlaWxsYXJkIDwvcD4KKyAgICA8ZGl2IGNsYXNzPSJyZWZzeW5vcHNpc2RpdiI+CisgICAgICA8aDI+U3lub3BzaXM8L2gyPgorICAgICAgPHByZSBjbGFzcz0ic3lub3BzaXMiPnR5cGVkZWYgZW51bSA8YSBocmVmPSIjeG1sU2NoZW1hV2hpdGVzcGFjZVZhbHVlVHlwZSI+eG1sU2NoZW1hV2hpdGVzcGFjZVZhbHVlVHlwZTwvYT47CitpbnQJPGEgaHJlZj0iI3htbFNjaGVtYVZhbFByZWRlZlR5cGVOb2RlIj54bWxTY2hlbWFWYWxQcmVkZWZUeXBlTm9kZTwvYT4JKDxhIGhyZWY9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVR5cGVQdHIiPnhtbFNjaGVtYVR5cGVQdHI8L2E+IHR5cGUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHZhbHVlLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVZhbFB0ciI+eG1sU2NoZW1hVmFsUHRyPC9hPiAqIHZhbCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlKTsKK2ludAk8YSBocmVmPSIjeG1sU2NoZW1hR2V0Q2Fub25WYWx1ZVdodHNwIj54bWxTY2hlbWFHZXRDYW5vblZhbHVlV2h0c3A8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFWYWxQdHIiPnhtbFNjaGVtYVZhbFB0cjwvYT4gdmFsLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiogcmV0VmFsdWUsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFXaGl0ZXNwYWNlVmFsdWVUeXBlIj54bWxTY2hlbWFXaGl0ZXNwYWNlVmFsdWVUeXBlPC9hPiB3cyk7CitpbnQJPGEgaHJlZj0iI3htbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXRXaHRzcCI+eG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldFdodHNwPC9hPgkoPGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hRmFjZXRQdHIiPnhtbFNjaGVtYUZhY2V0UHRyPC9hPiBmYWNldCwgPGJyLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVmFsVHlwZSI+eG1sU2NoZW1hVmFsVHlwZTwvYT4gdmFsVHlwZSwgPGJyLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHZhbHVlLCA8YnIvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFWYWxQdHIiPnhtbFNjaGVtYVZhbFB0cjwvYT4gdmFsLCA8YnIvPgkJCQkJCSB1bnNpZ25lZCBsb25nICogbGVuZ3RoLCA8YnIvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYVdoaXRlc3BhY2VWYWx1ZVR5cGUiPnhtbFNjaGVtYVdoaXRlc3BhY2VWYWx1ZVR5cGU8L2E+IHdzKTsKK2ludAk8YSBocmVmPSIjeG1sU2NoZW1hSXNCdWlsdEluVHlwZUZhY2V0Ij54bWxTY2hlbWFJc0J1aWx0SW5UeXBlRmFjZXQ8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFUeXBlUHRyIj54bWxTY2hlbWFUeXBlUHRyPC9hPiB0eXBlLCA8YnIvPgkJCQkJIGludCBmYWNldFR5cGUpOworaW50CTxhIGhyZWY9IiN4bWxTY2hlbWFHZXRDYW5vblZhbHVlIj54bWxTY2hlbWFHZXRDYW5vblZhbHVlPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVZhbFB0ciI+eG1sU2NoZW1hVmFsUHRyPC9hPiB2YWwsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqKiByZXRWYWx1ZSk7Cis8YSBocmVmPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFUeXBlUHRyIj54bWxTY2hlbWFUeXBlUHRyPC9hPgk8YSBocmVmPSIjeG1sU2NoZW1hR2V0QnVpbHRJbkxpc3RTaW1wbGVUeXBlSXRlbVR5cGUiPnhtbFNjaGVtYUdldEJ1aWx0SW5MaXN0U2ltcGxlVHlwZUl0ZW1UeXBlPC9hPgkoPGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVHlwZVB0ciI+eG1sU2NoZW1hVHlwZVB0cjwvYT4gdHlwZSk7CitpbnQJPGEgaHJlZj0iI3htbFNjaGVtYUNvbXBhcmVWYWx1ZXNXaHRzcCI+eG1sU2NoZW1hQ29tcGFyZVZhbHVlc1dodHNwPC9hPgkoPGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVmFsUHRyIj54bWxTY2hlbWFWYWxQdHI8L2E+IHgsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFXaGl0ZXNwYWNlVmFsdWVUeXBlIj54bWxTY2hlbWFXaGl0ZXNwYWNlVmFsdWVUeXBlPC9hPiB4d3MsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVmFsUHRyIj54bWxTY2hlbWFWYWxQdHI8L2E+IHksIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFXaGl0ZXNwYWNlVmFsdWVUeXBlIj54bWxTY2hlbWFXaGl0ZXNwYWNlVmFsdWVUeXBlPC9hPiB5d3MpOworaW50CTxhIGhyZWY9IiN4bWxTY2hlbWFWYWx1ZUdldEFzQm9vbGVhbiI+eG1sU2NoZW1hVmFsdWVHZXRBc0Jvb2xlYW48L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFWYWxQdHIiPnhtbFNjaGVtYVZhbFB0cjwvYT4gdmFsKTsKKzxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sU2NoZW1hQ29sbGFwc2VTdHJpbmciPnhtbFNjaGVtYUNvbGxhcHNlU3RyaW5nPC9hPgkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHZhbHVlKTsKK2ludAk8YSBocmVmPSIjeG1sU2NoZW1hVmFsUHJlZGVmVHlwZU5vZGVOb05vcm0iPnhtbFNjaGVtYVZhbFByZWRlZlR5cGVOb2RlTm9Ob3JtPC9hPgkoPGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVHlwZVB0ciI+eG1sU2NoZW1hVHlwZVB0cjwvYT4gdHlwZSwgPGJyLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHZhbHVlLCA8YnIvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFWYWxQdHIiPnhtbFNjaGVtYVZhbFB0cjwvYT4gKiB2YWwsIDxici8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUpOworaW50CTxhIGhyZWY9IiN4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0Ij54bWxTY2hlbWFWYWxpZGF0ZUZhY2V0PC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVR5cGVQdHIiPnhtbFNjaGVtYVR5cGVQdHI8L2E+IGJhc2UsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hRmFjZXRQdHIiPnhtbFNjaGVtYUZhY2V0UHRyPC9hPiBmYWNldCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVmFsUHRyIj54bWxTY2hlbWFWYWxQdHI8L2E+IHZhbCk7Cis8YSBocmVmPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFGYWNldFB0ciI+eG1sU2NoZW1hRmFjZXRQdHI8L2E+CTxhIGhyZWY9IiN4bWxTY2hlbWFOZXdGYWNldCI+eG1sU2NoZW1hTmV3RmFjZXQ8L2E+CSh2b2lkKTsKK2ludAk8YSBocmVmPSIjeG1sU2NoZW1hVmFsdWVBcHBlbmQiPnhtbFNjaGVtYVZhbHVlQXBwZW5kPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVZhbFB0ciI+eG1sU2NoZW1hVmFsUHRyPC9hPiBwcmV2LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVZhbFB0ciI+eG1sU2NoZW1hVmFsUHRyPC9hPiBjdXIpOworaW50CTxhIGhyZWY9IiN4bWxTY2hlbWFDb21wYXJlVmFsdWVzIj54bWxTY2hlbWFDb21wYXJlVmFsdWVzPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVZhbFB0ciI+eG1sU2NoZW1hVmFsUHRyPC9hPiB4LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVZhbFB0ciI+eG1sU2NoZW1hVmFsUHRyPC9hPiB5KTsKK2ludAk8YSBocmVmPSIjeG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldCI+eG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldDwvYT4JKDxhIGhyZWY9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVR5cGVQdHIiPnhtbFNjaGVtYVR5cGVQdHI8L2E+IHR5cGUsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hRmFjZXRQdHIiPnhtbFNjaGVtYUZhY2V0UHRyPC9hPiBmYWNldCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVmFsUHRyIj54bWxTY2hlbWFWYWxQdHI8L2E+IHZhbCwgPGJyLz4JCQkJCSB1bnNpZ25lZCBsb25nICogbGVuZ3RoKTsKKzxhIGhyZWY9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVZhbFR5cGUiPnhtbFNjaGVtYVZhbFR5cGU8L2E+CTxhIGhyZWY9IiN4bWxTY2hlbWFHZXRWYWxUeXBlIj54bWxTY2hlbWFHZXRWYWxUeXBlPC9hPgkoPGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVmFsUHRyIj54bWxTY2hlbWFWYWxQdHI8L2E+IHZhbCk7Cis8YSBocmVmPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFUeXBlUHRyIj54bWxTY2hlbWFUeXBlUHRyPC9hPgk8YSBocmVmPSIjeG1sU2NoZW1hR2V0UHJlZGVmaW5lZFR5cGUiPnhtbFNjaGVtYUdldFByZWRlZmluZWRUeXBlPC9hPgkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbnMpOworaW50CTxhIGhyZWY9IiN4bWxTY2hlbWFWYWxpZGF0ZVByZWRlZmluZWRUeXBlIj54bWxTY2hlbWFWYWxpZGF0ZVByZWRlZmluZWRUeXBlPC9hPgkoPGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVHlwZVB0ciI+eG1sU2NoZW1hVHlwZVB0cjwvYT4gdHlwZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVmFsUHRyIj54bWxTY2hlbWFWYWxQdHI8L2E+ICogdmFsKTsKK3ZvaWQJPGEgaHJlZj0iI3htbFNjaGVtYUZyZWVGYWNldCI+eG1sU2NoZW1hRnJlZUZhY2V0PC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYUZhY2V0UHRyIj54bWxTY2hlbWFGYWNldFB0cjwvYT4gZmFjZXQpOworaW50CTxhIGhyZWY9IiN4bWxTY2hlbWFWYWxpZGF0ZUxpc3RTaW1wbGVUeXBlRmFjZXQiPnhtbFNjaGVtYVZhbGlkYXRlTGlzdFNpbXBsZVR5cGVGYWNldDwvYT4JKDxhIGhyZWY9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYUZhY2V0UHRyIj54bWxTY2hlbWFGYWNldFB0cjwvYT4gZmFjZXQsIDxici8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB2YWx1ZSwgPGJyLz4JCQkJCQkgdW5zaWduZWQgbG9uZyBhY3R1YWxMZW4sIDxici8+CQkJCQkJIHVuc2lnbmVkIGxvbmcgKiBleHBlY3RlZExlbik7Cit1bnNpZ25lZCBsb25nCTxhIGhyZWY9IiN4bWxTY2hlbWFHZXRGYWNldFZhbHVlQXNVTG9uZyI+eG1sU2NoZW1hR2V0RmFjZXRWYWx1ZUFzVUxvbmc8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFGYWNldFB0ciI+eG1sU2NoZW1hRmFjZXRQdHI8L2E+IGZhY2V0KTsKK3ZvaWQJPGEgaHJlZj0iI3htbFNjaGVtYUZyZWVWYWx1ZSI+eG1sU2NoZW1hRnJlZVZhbHVlPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVZhbFB0ciI+eG1sU2NoZW1hVmFsUHRyPC9hPiB2YWx1ZSk7Cis8YSBocmVmPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFWYWxQdHIiPnhtbFNjaGVtYVZhbFB0cjwvYT4JPGEgaHJlZj0iI3htbFNjaGVtYVZhbHVlR2V0TmV4dCI+eG1sU2NoZW1hVmFsdWVHZXROZXh0PC9hPgkoPGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVmFsUHRyIj54bWxTY2hlbWFWYWxQdHI8L2E+IGN1cik7Citjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbFNjaGVtYVZhbHVlR2V0QXNTdHJpbmciPnhtbFNjaGVtYVZhbHVlR2V0QXNTdHJpbmc8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFWYWxQdHIiPnhtbFNjaGVtYVZhbFB0cjwvYT4gdmFsKTsKKzxhIGhyZWY9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVZhbFB0ciI+eG1sU2NoZW1hVmFsUHRyPC9hPgk8YSBocmVmPSIjeG1sU2NoZW1hQ29weVZhbHVlIj54bWxTY2hlbWFDb3B5VmFsdWU8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFWYWxQdHIiPnhtbFNjaGVtYVZhbFB0cjwvYT4gdmFsKTsKKzxhIGhyZWY9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVZhbFB0ciI+eG1sU2NoZW1hVmFsUHRyPC9hPgk8YSBocmVmPSIjeG1sU2NoZW1hTmV3Tk9UQVRJT05WYWx1ZSI+eG1sU2NoZW1hTmV3Tk9UQVRJT05WYWx1ZTwvYT4JKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbnMpOworPGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVmFsUHRyIj54bWxTY2hlbWFWYWxQdHI8L2E+CTxhIGhyZWY9IiN4bWxTY2hlbWFOZXdRTmFtZVZhbHVlIj54bWxTY2hlbWFOZXdRTmFtZVZhbHVlPC9hPgkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWVzcGFjZU5hbWUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGxvY2FsTmFtZSk7Cit2b2lkCTxhIGhyZWY9IiN4bWxTY2hlbWFDbGVhbnVwVHlwZXMiPnhtbFNjaGVtYUNsZWFudXBUeXBlczwvYT4JCSh2b2lkKTsKKzxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sU2NoZW1hV2hpdGVTcGFjZVJlcGxhY2UiPnhtbFNjaGVtYVdoaXRlU3BhY2VSZXBsYWNlPC9hPgkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHZhbHVlKTsKKzxhIGhyZWY9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVZhbFB0ciI+eG1sU2NoZW1hVmFsUHRyPC9hPgk8YSBocmVmPSIjeG1sU2NoZW1hTmV3U3RyaW5nVmFsdWUiPnhtbFNjaGVtYU5ld1N0cmluZ1ZhbHVlPC9hPgkoPGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVmFsVHlwZSI+eG1sU2NoZW1hVmFsVHlwZTwvYT4gdHlwZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUpOworPGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVHlwZVB0ciI+eG1sU2NoZW1hVHlwZVB0cjwvYT4JPGEgaHJlZj0iI3htbFNjaGVtYUdldEJ1aWx0SW5UeXBlIj54bWxTY2hlbWFHZXRCdWlsdEluVHlwZTwvYT4JKDxhIGhyZWY9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVZhbFR5cGUiPnhtbFNjaGVtYVZhbFR5cGU8L2E+IHR5cGUpOwordm9pZAk8YSBocmVmPSIjeG1sU2NoZW1hSW5pdFR5cGVzIj54bWxTY2hlbWFJbml0VHlwZXM8L2E+CQkodm9pZCk7CitpbnQJPGEgaHJlZj0iI3htbFNjaGVtYVZhbGlkYXRlRmFjZXRXaHRzcCI+eG1sU2NoZW1hVmFsaWRhdGVGYWNldFdodHNwPC9hPgkoPGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hRmFjZXRQdHIiPnhtbFNjaGVtYUZhY2V0UHRyPC9hPiBmYWNldCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYVdoaXRlc3BhY2VWYWx1ZVR5cGUiPnhtbFNjaGVtYVdoaXRlc3BhY2VWYWx1ZVR5cGU8L2E+IGZ3cywgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFWYWxUeXBlIj54bWxTY2hlbWFWYWxUeXBlPC9hPiB2YWxUeXBlLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB2YWx1ZSwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFWYWxQdHIiPnhtbFNjaGVtYVZhbFB0cjwvYT4gdmFsLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hV2hpdGVzcGFjZVZhbHVlVHlwZSI+eG1sU2NoZW1hV2hpdGVzcGFjZVZhbHVlVHlwZTwvYT4gd3MpOworaW50CTxhIGhyZWY9IiN4bWxTY2hlbWFDaGVja0ZhY2V0Ij54bWxTY2hlbWFDaGVja0ZhY2V0PC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYUZhY2V0UHRyIj54bWxTY2hlbWFGYWNldFB0cjwvYT4gZmFjZXQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVHlwZVB0ciI+eG1sU2NoZW1hVHlwZVB0cjwvYT4gdHlwZURlY2wsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciI+eG1sU2NoZW1hUGFyc2VyQ3R4dFB0cjwvYT4gcGN0eHQsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpOworPC9wcmU+CisgICAgPC9kaXY+CisgICAgPGRpdiBjbGFzcz0icmVmc2VjdDEiIGxhbmc9ImVuIj4KKyAgICAgIDxoMj5EZXNjcmlwdGlvbjwvaDI+CisgICAgPC9kaXY+CisgICAgPGRpdiBjbGFzcz0icmVmc2VjdDEiIGxhbmc9ImVuIj4KKyAgICAgIDxoMj5EZXRhaWxzPC9oMj4KKyAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNjaGVtYVdoaXRlc3BhY2VWYWx1ZVR5cGUiPkVudW0gPC9hPnhtbFNjaGVtYVdoaXRlc3BhY2VWYWx1ZVR5cGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5lbnVtIDxhIGhyZWY9IiN4bWxTY2hlbWFXaGl0ZXNwYWNlVmFsdWVUeXBlIj54bWxTY2hlbWFXaGl0ZXNwYWNlVmFsdWVUeXBlPC9hPiB7CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQV9XSElURVNQQUNFX1VOS05PV04iPlhNTF9TQ0hFTUFfV0hJVEVTUEFDRV9VTktOT1dOPC9hPiA9IDAKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BX1dISVRFU1BBQ0VfUFJFU0VSVkUiPlhNTF9TQ0hFTUFfV0hJVEVTUEFDRV9QUkVTRVJWRTwvYT4gPSAxCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQV9XSElURVNQQUNFX1JFUExBQ0UiPlhNTF9TQ0hFTUFfV0hJVEVTUEFDRV9SRVBMQUNFPC9hPiA9IDIKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BX1dISVRFU1BBQ0VfQ09MTEFQU0UiPlhNTF9TQ0hFTUFfV0hJVEVTUEFDRV9DT0xMQVBTRTwvYT4gPSAzCit9OworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNjaGVtYUNoZWNrRmFjZXQiLz54bWxTY2hlbWFDaGVja0ZhY2V0ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFNjaGVtYUNoZWNrRmFjZXQJCSg8YSBocmVmPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFGYWNldFB0ciI+eG1sU2NoZW1hRmFjZXRQdHI8L2E+IGZhY2V0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVR5cGVQdHIiPnhtbFNjaGVtYVR5cGVQdHI8L2E+IHR5cGVEZWNsLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVBhcnNlckN0eHRQdHIiPnhtbFNjaGVtYVBhcnNlckN0eHRQdHI8L2E+IHBjdHh0LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKTxici8+Cis8L3ByZT48cD5DaGVja3MgYW5kIGNvbXB1dGVzIHRoZSB2YWx1ZXMgb2YgZmFjZXRzLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmFjZXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmYWNldDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dHlwZURlY2w8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzY2hlbWEgdHlwZSBkZWZpbml0aW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wY3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHNjaGVtYSBwYXJzZXIgY29udGV4dCBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgb3B0aW9uYWwgbmFtZSBvZiB0aGUgdHlwZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpZiB2YWxpZCwgYSBwb3NpdGl2ZSBlcnJvciBjb2RlIGlmIG5vdCB2YWxpZCBhbmQgLTEgaW4gY2FzZSBvZiBhbiBpbnRlcm5hbCBvciBBUEkgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU2NoZW1hQ2xlYW51cFR5cGVzIi8+eG1sU2NoZW1hQ2xlYW51cFR5cGVzICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxTY2hlbWFDbGVhbnVwVHlwZXMJCSh2b2lkKTxici8+Cis8L3ByZT48cD5DbGVhbnVwIHRoZSBkZWZhdWx0IFhNTCBTY2hlbWFzIHR5cGUgbGlicmFyeTwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTY2hlbWFDb2xsYXBzZVN0cmluZyIvPnhtbFNjaGVtYUNvbGxhcHNlU3RyaW5nICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbFNjaGVtYUNvbGxhcHNlU3RyaW5nCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUpPGJyLz4KKzwvcHJlPjxwPlJlbW92ZXMgYW5kIG5vcm1hbGl6ZSB3aGl0ZSBzcGFjZXMgaW4gdGhlIHN0cmluZzwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsdWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgdmFsdWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXcgc3RyaW5nIG9yIE5VTEwgaWYgbm8gY2hhbmdlIHdhcyByZXF1aXJlZC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTY2hlbWFDb21wYXJlVmFsdWVzIi8+eG1sU2NoZW1hQ29tcGFyZVZhbHVlcyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxTY2hlbWFDb21wYXJlVmFsdWVzCQkoPGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVmFsUHRyIj54bWxTY2hlbWFWYWxQdHI8L2E+IHgsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVmFsUHRyIj54bWxTY2hlbWFWYWxQdHI8L2E+IHkpPGJyLz4KKzwvcHJlPjxwPkNvbXBhcmUgMiB2YWx1ZXM8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Png8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgZmlyc3QgdmFsdWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pnk8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgc2Vjb25kIHZhbHVlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4tMSBpZiB4ICZsdDsgeSwgMCBpZiB4ID09IHksIDEgaWYgeCAmZ3Q7IHksIDIgaWYgeCAmbHQ7Jmd0OyB5LCBhbmQgLTIgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNjaGVtYUNvbXBhcmVWYWx1ZXNXaHRzcCIvPnhtbFNjaGVtYUNvbXBhcmVWYWx1ZXNXaHRzcCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxTY2hlbWFDb21wYXJlVmFsdWVzV2h0c3AJKDxhIGhyZWY9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVZhbFB0ciI+eG1sU2NoZW1hVmFsUHRyPC9hPiB4LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hV2hpdGVzcGFjZVZhbHVlVHlwZSI+eG1sU2NoZW1hV2hpdGVzcGFjZVZhbHVlVHlwZTwvYT4geHdzLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVZhbFB0ciI+eG1sU2NoZW1hVmFsUHRyPC9hPiB5LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hV2hpdGVzcGFjZVZhbHVlVHlwZSI+eG1sU2NoZW1hV2hpdGVzcGFjZVZhbHVlVHlwZTwvYT4geXdzKTxici8+Cis8L3ByZT48cD5Db21wYXJlIDIgdmFsdWVzPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD54PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGZpcnN0IHZhbHVlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD54d3M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB3aGl0ZXNwYWNlIHZhbHVlIG9mIHg8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pnk8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgc2Vjb25kIHZhbHVlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD55d3M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB3aGl0ZXNwYWNlIHZhbHVlIG9mIHk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPi0xIGlmIHggJmx0OyB5LCAwIGlmIHggPT0geSwgMSBpZiB4ICZndDsgeSwgMiBpZiB4ICZsdDsmZ3Q7IHksIGFuZCAtMiBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU2NoZW1hQ29weVZhbHVlIi8+eG1sU2NoZW1hQ29weVZhbHVlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVmFsUHRyIj54bWxTY2hlbWFWYWxQdHI8L2E+CXhtbFNjaGVtYUNvcHlWYWx1ZQkoPGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVmFsUHRyIj54bWxTY2hlbWFWYWxQdHI8L2E+IHZhbCk8YnIvPgorPC9wcmU+PHA+Q29waWVzIHRoZSBwcmVjb21wdXRlZCB2YWx1ZS4gVGhpcyBkdXBsaWNhdGVzIGFueSBzdHJpbmcgd2l0aGluLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcHJlY29tcHV0ZWQgdmFsdWUgdG8gYmUgY29waWVkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY29weSBvciBOVUxMIGlmIGEgY29weSBmb3IgYSBkYXRhLXR5cGUgaXMgbm90IGltcGxlbWVudGVkLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNjaGVtYUZyZWVGYWNldCIvPnhtbFNjaGVtYUZyZWVGYWNldCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sU2NoZW1hRnJlZUZhY2V0CQkoPGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hRmFjZXRQdHIiPnhtbFNjaGVtYUZhY2V0UHRyPC9hPiBmYWNldCk8YnIvPgorPC9wcmU+PHA+RGVhbGxvY2F0ZSBhIFNjaGVtYSBGYWNldCBzdHJ1Y3R1cmUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mYWNldDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBzY2hlbWEgZmFjZXQgc3RydWN0dXJlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU2NoZW1hRnJlZVZhbHVlIi8+eG1sU2NoZW1hRnJlZVZhbHVlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxTY2hlbWFGcmVlVmFsdWUJCSg8YSBocmVmPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFWYWxQdHIiPnhtbFNjaGVtYVZhbFB0cjwvYT4gdmFsdWUpPGJyLz4KKzwvcHJlPjxwPkNsZWFudXAgdGhlIGRlZmF1bHQgWE1MIFNjaGVtYXMgdHlwZSBsaWJyYXJ5PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWx1ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHZhbHVlIHRvIGZyZWU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTY2hlbWFHZXRCdWlsdEluTGlzdFNpbXBsZVR5cGVJdGVtVHlwZSIvPnhtbFNjaGVtYUdldEJ1aWx0SW5MaXN0U2ltcGxlVHlwZUl0ZW1UeXBlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVHlwZVB0ciI+eG1sU2NoZW1hVHlwZVB0cjwvYT4JeG1sU2NoZW1hR2V0QnVpbHRJbkxpc3RTaW1wbGVUeXBlSXRlbVR5cGUJKDxhIGhyZWY9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVR5cGVQdHIiPnhtbFNjaGVtYVR5cGVQdHI8L2E+IHR5cGUpPGJyLz4KKzwvcHJlPjxwPkxvb2t1cCBmdW5jdGlvbjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dHlwZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ1aWx0LWluIHNpbXBsZSB0eXBlLjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGl0ZW0gdHlwZSBvZiBAdHlwZSBhcyBkZWZpbmVkIGJ5IHRoZSBidWlsdC1pbiBkYXRhdHlwZSBoaWVyYXJjaHkgb2YgWE1MIFNjaGVtYSBQYXJ0IDI6IERhdGF0eXBlcywgb3IgTlVMTCBpbiBjYXNlIG9mIGFuIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNjaGVtYUdldEJ1aWx0SW5UeXBlIi8+eG1sU2NoZW1hR2V0QnVpbHRJblR5cGUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFUeXBlUHRyIj54bWxTY2hlbWFUeXBlUHRyPC9hPgl4bWxTY2hlbWFHZXRCdWlsdEluVHlwZQkoPGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVmFsVHlwZSI+eG1sU2NoZW1hVmFsVHlwZTwvYT4gdHlwZSk8YnIvPgorPC9wcmU+PHA+R2l2ZXMgeW91IHRoZSB0eXBlIHN0cnVjdCBmb3IgYSBidWlsdC1pbiB0eXBlIGJ5IGl0cyB0eXBlIGlkLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dHlwZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHR5cGUgb2YgdGhlIGJ1aWx0IGluIHR5cGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB0eXBlIGlmIGZvdW5kLCBOVUxMIG90aGVyd2lzZS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTY2hlbWFHZXRDYW5vblZhbHVlIi8+eG1sU2NoZW1hR2V0Q2Fub25WYWx1ZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxTY2hlbWFHZXRDYW5vblZhbHVlCQkoPGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVmFsUHRyIj54bWxTY2hlbWFWYWxQdHI8L2E+IHZhbCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoqIHJldFZhbHVlKTxici8+Cis8L3ByZT48cD5HZXQgdGhlIGNhbm9uaWNhbCBsZXhpY2FsIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB2YWx1ZS4gVGhlIGNhbGxlciBoYXMgdG8gRlJFRSB0aGUgcmV0dXJuZWQgcmV0VmFsdWUuIFdBUk5JTkc6IFNvbWUgdmFsdWUgdHlwZXMgYXJlIG5vdCBzdXBwb3J0ZWQgeWV0LCByZXN1bHRpbmcgaW4gYSBAcmV0VmFsdWUgb2YgIj8/PyIuIFRPRE86IFhNTCBTY2hlbWEgMS4wIGRvZXMgbm90IGRlZmluZSBjYW5vbmljYWwgcmVwcmVzZW50YXRpb25zIGZvcjogZHVyYXRpb24sIGdZZWFyTW9udGgsIGdZZWFyLCBnTW9udGhEYXksIGdNb250aCwgZ0RheSwgYW55VVJJLCBRTmFtZSwgTk9UQVRJT04uIFRoaXMgd2lsbCBiZSBmaXhlZCBpbiBYTUwgU2NoZW1hIDEuMS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHByZWNvbXB1dGVkIHZhbHVlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZXRWYWx1ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHJldHVybmVkIHZhbHVlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGlmIHRoZSB2YWx1ZSBjb3VsZCBiZSBidWlsdCwgMSBpZiB0aGUgdmFsdWUgdHlwZSBpcyBub3Qgc3VwcG9ydGVkIHlldCBhbmQgLTEgaW4gY2FzZSBvZiBBUEkgZXJyb3JzLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNjaGVtYUdldENhbm9uVmFsdWVXaHRzcCIvPnhtbFNjaGVtYUdldENhbm9uVmFsdWVXaHRzcCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxTY2hlbWFHZXRDYW5vblZhbHVlV2h0c3AJKDxhIGhyZWY9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVZhbFB0ciI+eG1sU2NoZW1hVmFsUHRyPC9hPiB2YWwsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqKiByZXRWYWx1ZSwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYVdoaXRlc3BhY2VWYWx1ZVR5cGUiPnhtbFNjaGVtYVdoaXRlc3BhY2VWYWx1ZVR5cGU8L2E+IHdzKTxici8+Cis8L3ByZT48cD5HZXQgdGhlIGNhbm9uaWNhbCByZXByZXNlbnRhdGlvbiBvZiB0aGUgdmFsdWUuIFRoZSBjYWxsZXIgaGFzIHRvIGZyZWUgdGhlIHJldHVybmVkIEByZXRWYWx1ZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHByZWNvbXB1dGVkIHZhbHVlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZXRWYWx1ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHJldHVybmVkIHZhbHVlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD53czwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHdoaXRlc3BhY2UgdHlwZSBvZiB0aGUgdmFsdWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaWYgdGhlIHZhbHVlIGNvdWxkIGJlIGJ1aWx0LCAxIGlmIHRoZSB2YWx1ZSB0eXBlIGlzIG5vdCBzdXBwb3J0ZWQgeWV0IGFuZCAtMSBpbiBjYXNlIG9mIEFQSSBlcnJvcnMuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU2NoZW1hR2V0RmFjZXRWYWx1ZUFzVUxvbmciLz54bWxTY2hlbWFHZXRGYWNldFZhbHVlQXNVTG9uZyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnVuc2lnbmVkIGxvbmcJeG1sU2NoZW1hR2V0RmFjZXRWYWx1ZUFzVUxvbmcJKDxhIGhyZWY9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYUZhY2V0UHRyIj54bWxTY2hlbWFGYWNldFB0cjwvYT4gZmFjZXQpPGJyLz4KKzwvcHJlPjxwPkV4dHJhY3QgdGhlIHZhbHVlIG9mIGEgZmFjZXQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZhY2V0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBzY2hlbWFzIHR5cGUgZmFjZXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB2YWx1ZSBhcyBhIGxvbmc8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTY2hlbWFHZXRQcmVkZWZpbmVkVHlwZSIvPnhtbFNjaGVtYUdldFByZWRlZmluZWRUeXBlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVHlwZVB0ciI+eG1sU2NoZW1hVHlwZVB0cjwvYT4JeG1sU2NoZW1hR2V0UHJlZGVmaW5lZFR5cGUJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5zKTxici8+Cis8L3ByZT48cD5Mb29rdXAgYSB0eXBlIGluIHRoZSBkZWZhdWx0IFhNTCBTY2hlbWFzIHR5cGUgbGlicmFyeTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHR5cGUgbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBVUkkgb2YgdGhlIG5hbWVzcGFjZSB1c3VhbGx5ICJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB0eXBlIGlmIGZvdW5kLCBOVUxMIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNjaGVtYUdldFZhbFR5cGUiLz54bWxTY2hlbWFHZXRWYWxUeXBlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVmFsVHlwZSI+eG1sU2NoZW1hVmFsVHlwZTwvYT4JeG1sU2NoZW1hR2V0VmFsVHlwZQkoPGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVmFsUHRyIj54bWxTY2hlbWFWYWxQdHI8L2E+IHZhbCk8YnIvPgorPC9wcmU+PHA+QWNjZXNzb3IgZm9yIHRoZSB0eXBlIG9mIGEgdmFsdWU8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBzY2hlbWFzIHZhbHVlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVmFsVHlwZSI+eG1sU2NoZW1hVmFsVHlwZTwvYT4gb2YgdGhlIHZhbHVlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU2NoZW1hSW5pdFR5cGVzIi8+eG1sU2NoZW1hSW5pdFR5cGVzICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxTY2hlbWFJbml0VHlwZXMJCSh2b2lkKTxici8+Cis8L3ByZT48cD5Jbml0aWFsaXplIHRoZSBkZWZhdWx0IFhNTCBTY2hlbWFzIHR5cGUgbGlicmFyeTwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTY2hlbWFJc0J1aWx0SW5UeXBlRmFjZXQiLz54bWxTY2hlbWFJc0J1aWx0SW5UeXBlRmFjZXQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sU2NoZW1hSXNCdWlsdEluVHlwZUZhY2V0CSg8YSBocmVmPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFUeXBlUHRyIj54bWxTY2hlbWFUeXBlUHRyPC9hPiB0eXBlLCA8YnIvPgkJCQkJIGludCBmYWNldFR5cGUpPGJyLz4KKzwvcHJlPjxwPkV2YWx1YXRlcyBpZiBhIHNwZWNpZmljIGZhY2V0IGNhbiBiZSB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggYSB0eXBlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dHlwZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ1aWx0LWluIHR5cGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZhY2V0VHlwZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZhY2V0IHR5cGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdGhlIGZhY2V0IGNhbiBiZSB1c2VkIHdpdGggdGhlIGdpdmVuIGJ1aWx0LWluIHR5cGUsIDAgb3RoZXJ3aXNlIGFuZCAtMSBpbiBjYXNlIHRoZSB0eXBlIGlzIG5vdCBhIGJ1aWx0LWluIHR5cGUuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU2NoZW1hTmV3RmFjZXQiLz54bWxTY2hlbWFOZXdGYWNldCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYUZhY2V0UHRyIj54bWxTY2hlbWFGYWNldFB0cjwvYT4JeG1sU2NoZW1hTmV3RmFjZXQJKHZvaWQpPGJyLz4KKzwvcHJlPjxwPkFsbG9jYXRlIGEgbmV3IEZhY2V0IHN0cnVjdHVyZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXdseSBhbGxvY2F0ZWQgc3RydWN0dXJlIG9yIE5VTEwgaW4gY2FzZSBvciBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNjaGVtYU5ld05PVEFUSU9OVmFsdWUiLz54bWxTY2hlbWFOZXdOT1RBVElPTlZhbHVlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVmFsUHRyIj54bWxTY2hlbWFWYWxQdHI8L2E+CXhtbFNjaGVtYU5ld05PVEFUSU9OVmFsdWUJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbnMpPGJyLz4KKzwvcHJlPjxwPkFsbG9jYXRlIGEgbmV3IE5PVEFUSU9OIHZhbHVlLiBUaGUgZ2l2ZW4gdmFsdWVzIGFyZSBjb25zdW1lZCBhbmQgZnJlZWQgd2l0aCB0aGUgc3RydWN0LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vdGF0aW9uIG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbm90YXRpb24gbmFtZXNwYWNlIG5hbWUgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIHRoZSBuZXcgdmFsdWUgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU2NoZW1hTmV3UU5hbWVWYWx1ZSIvPnhtbFNjaGVtYU5ld1FOYW1lVmFsdWUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFWYWxQdHIiPnhtbFNjaGVtYVZhbFB0cjwvYT4JeG1sU2NoZW1hTmV3UU5hbWVWYWx1ZQkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWVzcGFjZU5hbWUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGxvY2FsTmFtZSk8YnIvPgorPC9wcmU+PHA+QWxsb2NhdGUgYSBuZXcgUU5hbWUgdmFsdWUuIFRoZSBnaXZlbiB2YWx1ZXMgYXJlIGNvbnN1bWVkIGFuZCBmcmVlZCB3aXRoIHRoZSBzdHJ1Y3QuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lc3BhY2VOYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZXNwYWNlIG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxvY2FsTmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxvY2FsIG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byB0aGUgbmV3IHZhbHVlIG9yIE5VTEwgaW4gY2FzZSBvZiBhbiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTY2hlbWFOZXdTdHJpbmdWYWx1ZSIvPnhtbFNjaGVtYU5ld1N0cmluZ1ZhbHVlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVmFsUHRyIj54bWxTY2hlbWFWYWxQdHI8L2E+CXhtbFNjaGVtYU5ld1N0cmluZ1ZhbHVlCSg8YSBocmVmPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFWYWxUeXBlIj54bWxTY2hlbWFWYWxUeXBlPC9hPiB0eXBlLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB2YWx1ZSk8YnIvPgorPC9wcmU+PHA+QWxsb2NhdGUgYSBuZXcgc2ltcGxlIHR5cGUgdmFsdWUuIFRoZSB0eXBlIGNhbiBiZSBvZiBYTUxfU0NIRU1BU19TVFJJTkcuIFdBUk5JTkc6IFRoaXMgb25lIGlzIGludGVuZGVkIHRvIGJlIGV4cGFuZGVkIGZvciBvdGhlciBzdHJpbmcgYmFzZWQgdHlwZXMuIFdlIG5lZWQgdGhpcyBmb3IgYW55U2ltcGxlVHlwZSBhcyB3ZWxsLiBUaGUgZ2l2ZW4gdmFsdWUgaXMgY29uc3VtZWQgYW5kIGZyZWVkIHdpdGggdGhlIHN0cnVjdC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnR5cGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB2YWx1ZSB0eXBlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWx1ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHZhbHVlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gdGhlIG5ldyB2YWx1ZSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTY2hlbWFWYWxQcmVkZWZUeXBlTm9kZSIvPnhtbFNjaGVtYVZhbFByZWRlZlR5cGVOb2RlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFNjaGVtYVZhbFByZWRlZlR5cGVOb2RlCSg8YSBocmVmPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFUeXBlUHRyIj54bWxTY2hlbWFUeXBlUHRyPC9hPiB0eXBlLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB2YWx1ZSwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFWYWxQdHIiPnhtbFNjaGVtYVZhbFB0cjwvYT4gKiB2YWwsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSk8YnIvPgorPC9wcmU+PHA+Q2hlY2sgdGhhdCBhIHZhbHVlIGNvbmZvcm1zIHRvIHRoZSBsZXhpY2FsIHNwYWNlIG9mIHRoZSBwcmVkZWZpbmVkIHR5cGUuIGlmIHRydWUgYSB2YWx1ZSBpcyBjb21wdXRlZCBhbmQgcmV0dXJuZWQgaW4gQHZhbC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnR5cGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwcmVkZWZpbmVkIHR5cGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbHVlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdmFsdWUgdG8gY2hlY2s8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHJldHVybiBjb21wdXRlZCB2YWx1ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vZGUgY29udGFpbmluZyB0aGUgdmFsdWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaWYgdGhpcyB2YWxpZGF0ZXMsIGEgcG9zaXRpdmUgZXJyb3IgY29kZSBudW1iZXIgb3RoZXJ3aXNlIGFuZCAtMSBpbiBjYXNlIG9mIGludGVybmFsIG9yIEFQSSBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTY2hlbWFWYWxQcmVkZWZUeXBlTm9kZU5vTm9ybSIvPnhtbFNjaGVtYVZhbFByZWRlZlR5cGVOb2RlTm9Ob3JtICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFNjaGVtYVZhbFByZWRlZlR5cGVOb2RlTm9Ob3JtCSg8YSBocmVmPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFUeXBlUHRyIj54bWxTY2hlbWFUeXBlUHRyPC9hPiB0eXBlLCA8YnIvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUsIDxici8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVZhbFB0ciI+eG1sU2NoZW1hVmFsUHRyPC9hPiAqIHZhbCwgPGJyLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSk8YnIvPgorPC9wcmU+PHA+Q2hlY2sgdGhhdCBhIHZhbHVlIGNvbmZvcm1zIHRvIHRoZSBsZXhpY2FsIHNwYWNlIG9mIHRoZSBwcmVkZWZpbmVkIHR5cGUuIGlmIHRydWUgYSB2YWx1ZSBpcyBjb21wdXRlZCBhbmQgcmV0dXJuZWQgaW4gQHZhbC4gVGhpcyBvbmUgZG9lcyBhcHBseSBhbnkgbm9ybWFsaXphdGlvbiB0byB0aGUgdmFsdWUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50eXBlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcHJlZGVmaW5lZCB0eXBlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWx1ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHZhbHVlIHRvIGNoZWNrPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSByZXR1cm4gY29tcHV0ZWQgdmFsdWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBub2RlIGNvbnRhaW5pbmcgdGhlIHZhbHVlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGlmIHRoaXMgdmFsaWRhdGVzLCBhIHBvc2l0aXZlIGVycm9yIGNvZGUgbnVtYmVyIG90aGVyd2lzZSBhbmQgLTEgaW4gY2FzZSBvZiBpbnRlcm5hbCBvciBBUEkgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU2NoZW1hVmFsaWRhdGVGYWNldCIvPnhtbFNjaGVtYVZhbGlkYXRlRmFjZXQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sU2NoZW1hVmFsaWRhdGVGYWNldAkJKDxhIGhyZWY9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVR5cGVQdHIiPnhtbFNjaGVtYVR5cGVQdHI8L2E+IGJhc2UsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hRmFjZXRQdHIiPnhtbFNjaGVtYUZhY2V0UHRyPC9hPiBmYWNldCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVmFsUHRyIj54bWxTY2hlbWFWYWxQdHI8L2E+IHZhbCk8YnIvPgorPC9wcmU+PHA+Q2hlY2sgYSB2YWx1ZSBhZ2FpbnN0IGEgZmFjZXQgY29uZGl0aW9uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5iYXNlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYmFzZSB0eXBlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mYWNldDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZhY2V0IHRvIGNoZWNrPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWx1ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxleGljYWwgcmVwciBvZiB0aGUgdmFsdWUgdG8gdmFsaWRhdGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHByZWNvbXB1dGVkIHZhbHVlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGlmIHRoZSBlbGVtZW50IGlzIHNjaGVtYXMgdmFsaWQsIGEgcG9zaXRpdmUgZXJyb3IgY29kZSBudW1iZXIgb3RoZXJ3aXNlIGFuZCAtMSBpbiBjYXNlIG9mIGludGVybmFsIG9yIEFQSSBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0V2h0c3AiLz54bWxTY2hlbWFWYWxpZGF0ZUZhY2V0V2h0c3AgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sU2NoZW1hVmFsaWRhdGVGYWNldFdodHNwCSg8YSBocmVmPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFGYWNldFB0ciI+eG1sU2NoZW1hRmFjZXRQdHI8L2E+IGZhY2V0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hV2hpdGVzcGFjZVZhbHVlVHlwZSI+eG1sU2NoZW1hV2hpdGVzcGFjZVZhbHVlVHlwZTwvYT4gZndzLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVZhbFR5cGUiPnhtbFNjaGVtYVZhbFR5cGU8L2E+IHZhbFR5cGUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHZhbHVlLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVZhbFB0ciI+eG1sU2NoZW1hVmFsUHRyPC9hPiB2YWwsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFXaGl0ZXNwYWNlVmFsdWVUeXBlIj54bWxTY2hlbWFXaGl0ZXNwYWNlVmFsdWVUeXBlPC9hPiB3cyk8YnIvPgorPC9wcmU+PHA+Q2hlY2sgYSB2YWx1ZSBhZ2FpbnN0IGEgZmFjZXQgY29uZGl0aW9uLiBUaGlzIHRha2VzIHZhbHVlIG5vcm1hbGl6YXRpb24gYWNjb3JkaW5nIHRvIHRoZSBzcGVjaWZpZWQgd2hpdGVzcGFjZSB0eXBlcyBpbnRvIGFjY291bnQuIE5vdGUgdGhhdCBAdmFsdWUgbmVlZHMgdG8gYmUgdGhlICpub3JtYWxpemVkKiB2YWx1ZSBpZiB0aGUgZmFjZXQgaXMgb2YgdHlwZSAicGF0dGVybiIuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mYWNldDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZhY2V0IHRvIGNoZWNrPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5md3M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB3aGl0ZXNwYWNlIHR5cGUgb2YgdGhlIGZhY2V0J3MgdmFsdWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbFR5cGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBidWlsdC1pbiB0eXBlIG9mIHRoZSB2YWx1ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsdWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsZXhpY2FsIChvciBub3JtYWxpemVkIGZvciBwYXR0ZXJuKSByZXByIG9mIHRoZSB2YWx1ZSB0byB2YWxpZGF0ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcHJlY29tcHV0ZWQgdmFsdWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PndzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgd2hpdGVzcGFjZSB0eXBlIG9mIHRoZSB2YWx1ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpZiB0aGUgZWxlbWVudCBpcyBzY2hlbWFzIHZhbGlkLCBhIHBvc2l0aXZlIGVycm9yIGNvZGUgbnVtYmVyIG90aGVyd2lzZSBhbmQgLTEgaW4gY2FzZSBvZiBpbnRlcm5hbCBvciBBUEkgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldCIvPnhtbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldAkoPGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVHlwZVB0ciI+eG1sU2NoZW1hVHlwZVB0cjwvYT4gdHlwZSwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFGYWNldFB0ciI+eG1sU2NoZW1hRmFjZXRQdHI8L2E+IGZhY2V0LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB2YWx1ZSwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFWYWxQdHIiPnhtbFNjaGVtYVZhbFB0cjwvYT4gdmFsLCA8YnIvPgkJCQkJIHVuc2lnbmVkIGxvbmcgKiBsZW5ndGgpPGJyLz4KKzwvcHJlPjxwPkNoZWNrYSBhIHZhbHVlIGFnYWluc3QgYSAibGVuZ3RoIiwgIm1pbkxlbmd0aCIgYW5kICJtYXhMZW5ndGgiIGZhY2V0OyBzZXRzIEBsZW5ndGggdG8gdGhlIGNvbXB1dGVkIGxlbmd0aCBvZiBAdmFsdWUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50eXBlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnVpbHQtaW4gdHlwZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmFjZXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmYWNldCB0byBjaGVjazwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsdWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsZXhpY2FsIHJlcHIuIG9mIHRoZSB2YWx1ZSB0byBiZSB2YWxpZGF0ZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHByZWNvbXB1dGVkIHZhbHVlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZW5ndGg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBhY3R1YWwgbGVuZ3RoIG9mIHRoZSB2YWx1ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpZiB0aGUgdmFsdWUgaXMgdmFsaWQsIGEgcG9zaXRpdmUgZXJyb3IgY29kZSBvdGhlcndpc2UgYW5kIC0xIGluIGNhc2Ugb2YgYW4gaW50ZXJuYWwgb3IgQVBJIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXRXaHRzcCIvPnhtbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXRXaHRzcCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxTY2hlbWFWYWxpZGF0ZUxlbmd0aEZhY2V0V2h0c3AJKDxhIGhyZWY9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYUZhY2V0UHRyIj54bWxTY2hlbWFGYWNldFB0cjwvYT4gZmFjZXQsIDxici8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVZhbFR5cGUiPnhtbFNjaGVtYVZhbFR5cGU8L2E+IHZhbFR5cGUsIDxici8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB2YWx1ZSwgPGJyLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVmFsUHRyIj54bWxTY2hlbWFWYWxQdHI8L2E+IHZhbCwgPGJyLz4JCQkJCQkgdW5zaWduZWQgbG9uZyAqIGxlbmd0aCwgPGJyLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFXaGl0ZXNwYWNlVmFsdWVUeXBlIj54bWxTY2hlbWFXaGl0ZXNwYWNlVmFsdWVUeXBlPC9hPiB3cyk8YnIvPgorPC9wcmU+PHA+Q2hlY2thIGEgdmFsdWUgYWdhaW5zdCBhICJsZW5ndGgiLCAibWluTGVuZ3RoIiBhbmQgIm1heExlbmd0aCIgZmFjZXQ7IHNldHMgQGxlbmd0aCB0byB0aGUgY29tcHV0ZWQgbGVuZ3RoIG9mIEB2YWx1ZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZhY2V0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZmFjZXQgdG8gY2hlY2s8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbFR5cGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBidWlsdC1pbiB0eXBlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWx1ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxleGljYWwgcmVwci4gb2YgdGhlIHZhbHVlIHRvIGJlIHZhbGlkYXRlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcHJlY29tcHV0ZWQgdmFsdWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pmxlbmd0aDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGFjdHVhbCBsZW5ndGggb2YgdGhlIHZhbHVlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD53czwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHdoaXRlc3BhY2UgdHlwZSBvZiB0aGUgdmFsdWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaWYgdGhlIHZhbHVlIGlzIHZhbGlkLCBhIHBvc2l0aXZlIGVycm9yIGNvZGUgb3RoZXJ3aXNlIGFuZCAtMSBpbiBjYXNlIG9mIGFuIGludGVybmFsIG9yIEFQSSBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTY2hlbWFWYWxpZGF0ZUxpc3RTaW1wbGVUeXBlRmFjZXQiLz54bWxTY2hlbWFWYWxpZGF0ZUxpc3RTaW1wbGVUeXBlRmFjZXQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sU2NoZW1hVmFsaWRhdGVMaXN0U2ltcGxlVHlwZUZhY2V0CSg8YSBocmVmPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFGYWNldFB0ciI+eG1sU2NoZW1hRmFjZXRQdHI8L2E+IGZhY2V0LCA8YnIvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUsIDxici8+CQkJCQkJIHVuc2lnbmVkIGxvbmcgYWN0dWFsTGVuLCA8YnIvPgkJCQkJCSB1bnNpZ25lZCBsb25nICogZXhwZWN0ZWRMZW4pPGJyLz4KKzwvcHJlPjxwPkNoZWNrcyB0aGUgdmFsdWUgb2YgYSBsaXN0IHNpbXBsZSB0eXBlIGFnYWluc3QgYSBmYWNldC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZhY2V0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZmFjZXQgdG8gY2hlY2s8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbHVlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbGV4aWNhbCByZXByIG9mIHRoZSB2YWx1ZSB0byB2YWxpZGF0ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YWN0dWFsTGVuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGxpc3QgaXRlbXM8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmV4cGVjdGVkTGVuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmVzdWx0aW5nIGV4cGVjdGVkIG51bWJlciBvZiBsaXN0IGl0ZW1zPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGlmIHRoZSB2YWx1ZSBpcyB2YWxpZCwgYSBwb3NpdGl2ZSBlcnJvciBjb2RlIG51bWJlciBvdGhlcndpc2UgYW5kIC0xIGluIGNhc2Ugb2YgYW4gaW50ZXJuYWwgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU2NoZW1hVmFsaWRhdGVQcmVkZWZpbmVkVHlwZSIvPnhtbFNjaGVtYVZhbGlkYXRlUHJlZGVmaW5lZFR5cGUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sU2NoZW1hVmFsaWRhdGVQcmVkZWZpbmVkVHlwZQkoPGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVHlwZVB0ciI+eG1sU2NoZW1hVHlwZVB0cjwvYT4gdHlwZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVmFsUHRyIj54bWxTY2hlbWFWYWxQdHI8L2E+ICogdmFsKTxici8+Cis8L3ByZT48cD5DaGVjayB0aGF0IGEgdmFsdWUgY29uZm9ybXMgdG8gdGhlIGxleGljYWwgc3BhY2Ugb2YgdGhlIHByZWRlZmluZWQgdHlwZS4gaWYgdHJ1ZSBhIHZhbHVlIGlzIGNvbXB1dGVkIGFuZCByZXR1cm5lZCBpbiBAdmFsLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dHlwZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHByZWRlZmluZWQgdHlwZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsdWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB2YWx1ZSB0byBjaGVjazwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmV0dXJuIGNvbXB1dGVkIHZhbHVlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGlmIHRoaXMgdmFsaWRhdGVzLCBhIHBvc2l0aXZlIGVycm9yIGNvZGUgbnVtYmVyIG90aGVyd2lzZSBhbmQgLTEgaW4gY2FzZSBvZiBpbnRlcm5hbCBvciBBUEkgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU2NoZW1hVmFsdWVBcHBlbmQiLz54bWxTY2hlbWFWYWx1ZUFwcGVuZCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxTY2hlbWFWYWx1ZUFwcGVuZAkJKDxhIGhyZWY9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVZhbFB0ciI+eG1sU2NoZW1hVmFsUHRyPC9hPiBwcmV2LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVZhbFB0ciI+eG1sU2NoZW1hVmFsUHRyPC9hPiBjdXIpPGJyLz4KKzwvcHJlPjxwPkFwcGVuZHMgYSBuZXh0IHNpYmxpbmcgdG8gYSBsaXN0IG9mIGNvbXB1dGVkIHZhbHVlcy48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnByZXY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB2YWx1ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdmFsdWUgdG8gYmUgYXBwZW5kZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaWYgc3VjY2VlZGVkIGFuZCAtMSBvbiBBUEkgZXJyb3JzLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNjaGVtYVZhbHVlR2V0QXNCb29sZWFuIi8+eG1sU2NoZW1hVmFsdWVHZXRBc0Jvb2xlYW4gKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sU2NoZW1hVmFsdWVHZXRBc0Jvb2xlYW4JKDxhIGhyZWY9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVZhbFB0ciI+eG1sU2NoZW1hVmFsUHRyPC9hPiB2YWwpPGJyLz4KKzwvcHJlPjxwPkFjY2Vzc29yIGZvciB0aGUgYm9vbGVhbiB2YWx1ZSBvZiBhIGNvbXB1dGVkIHZhbHVlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdmFsdWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSBhbmQgMCBpZiBmYWxzZSwgb3IgaW4gY2FzZSBvZiBhbiBlcnJvci4gSG1tLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNjaGVtYVZhbHVlR2V0QXNTdHJpbmciLz54bWxTY2hlbWFWYWx1ZUdldEFzU3RyaW5nICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Y29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbFNjaGVtYVZhbHVlR2V0QXNTdHJpbmcJKDxhIGhyZWY9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVZhbFB0ciI+eG1sU2NoZW1hVmFsUHRyPC9hPiB2YWwpPGJyLz4KKzwvcHJlPjxwPkFjY2Vzc29yIGZvciB0aGUgc3RyaW5nIHZhbHVlIG9mIGEgY29tcHV0ZWQgdmFsdWUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB2YWx1ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHN0cmluZyB2YWx1ZSBvciBOVUxMIGlmIHRoZXJlIHdhcyBub25lLCBvciBvbiBBUEkgZXJyb3JzLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNjaGVtYVZhbHVlR2V0TmV4dCIvPnhtbFNjaGVtYVZhbHVlR2V0TmV4dCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVZhbFB0ciI+eG1sU2NoZW1hVmFsUHRyPC9hPgl4bWxTY2hlbWFWYWx1ZUdldE5leHQJKDxhIGhyZWY9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVZhbFB0ciI+eG1sU2NoZW1hVmFsUHRyPC9hPiBjdXIpPGJyLz4KKzwvcHJlPjxwPkFjY2Vzc29yIGZvciB0aGUgbmV4dCBzaWJsaW5nIG9mIGEgbGlzdCBvZiBjb21wdXRlZCB2YWx1ZXMuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB2YWx1ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5leHQgdmFsdWUgb3IgTlVMTCBpZiB0aGVyZSB3YXMgbm9uZSwgb3Igb24gQVBJIGVycm9ycy48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTY2hlbWFXaGl0ZVNwYWNlUmVwbGFjZSIvPnhtbFNjaGVtYVdoaXRlU3BhY2VSZXBsYWNlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbFNjaGVtYVdoaXRlU3BhY2VSZXBsYWNlCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUpPGJyLz4KKzwvcHJlPjxwPlJlcGxhY2VzIDB4ZCwgMHg5IGFuZCAweGEgd2l0aCBhIHNwYWNlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsdWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgdmFsdWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXcgc3RyaW5nIG9yIE5VTEwgaWYgbm8gY2hhbmdlIHdhcyByZXF1aXJlZC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgPC9kaXY+CisgICAgPC9kaXY+CisgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2RldmhlbHAvbGlieG1sMi14bWxzdHJpbmcuaHRtbCBiL2xpYnhtbDIvZG9jL2RldmhlbHAvbGlieG1sMi14bWxzdHJpbmcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZGZjNzBiCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvZGV2aGVscC9saWJ4bWwyLXhtbHN0cmluZy5odG1sCkBAIC0wLDAgKzEsMjE3IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPGh0bWw+CisgIDxoZWFkPgorICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ii8+CisgICAgPHRpdGxlPnhtbHN0cmluZzogc2V0IG9mIHJvdXRpbmVzIHRvIHByb2Nlc3Mgc3RyaW5nczwvdGl0bGU+CisgICAgPG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJMaWJ4bWwyIGRldmhlbHAgc3R5bGVzaGVldCIvPgorICAgIDxsaW5rIHJlbD0ic3RhcnQiIGhyZWY9ImluZGV4Lmh0bWwiIHRpdGxlPSJsaWJ4bWwyIFJlZmVyZW5jZSBNYW51YWwiLz4KKyAgICA8bGluayByZWw9InVwIiBocmVmPSJnZW5lcmFsLmh0bWwiIHRpdGxlPSJBUEkiLz4KKyAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9InN0eWxlLmNzcyIgdHlwZT0idGV4dC9jc3MiLz4KKyAgICA8bGluayByZWw9ImNoYXB0ZXIiIGhyZWY9ImdlbmVyYWwuaHRtbCIgdGl0bGU9IkFQSSIvPgorICA8L2hlYWQ+CisgIDxib2R5IGJnY29sb3I9IndoaXRlIiB0ZXh0PSJibGFjayIgbGluaz0iIzAwMDBGRiIgdmxpbms9IiM4NDAwODQiIGFsaW5rPSIjMDAwMEZGIj4KKyAgICA8dGFibGUgY2xhc3M9Im5hdmlnYXRpb24iIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIyIj4KKyAgICAgIDx0ciB2YWxpZ249Im1pZGRsZSI+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImxpYnhtbDIteG1sc2NoZW1hc3R5cGVzLmh0bWwiPgorICAgICAgICAgICAgPGltZyBzcmM9ImxlZnQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJQcmV2Ii8+CisgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGQ+CisgICAgICAgICAgPGEgYWNjZXNza2V5PSJ1IiBocmVmPSJnZW5lcmFsLmh0bWwiPgorICAgICAgICAgICAgPGltZyBzcmM9InVwLnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iVXAiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9ImgiIGhyZWY9ImluZGV4Lmh0bWwiPgorICAgICAgICAgICAgPGltZyBzcmM9ImhvbWUucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJIb21lIi8+CisgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGQ+CisgICAgICAgICAgPGEgYWNjZXNza2V5PSJuIiBocmVmPSJsaWJ4bWwyLXhtbHVuaWNvZGUuaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0icmlnaHQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJOZXh0Ii8+CisgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGggd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPmxpYnhtbDIgUmVmZXJlbmNlIE1hbnVhbDwvdGg+CisgICAgICA8L3RyPgorICAgIDwvdGFibGU+CisgICAgPGgyPgorICAgICAgPHNwYW4gY2xhc3M9InJlZmVudHJ5dGl0bGUiPnhtbHN0cmluZzwvc3Bhbj4KKyAgICA8L2gyPgorICAgIDxwPnhtbHN0cmluZyAtIHNldCBvZiByb3V0aW5lcyB0byBwcm9jZXNzIHN0cmluZ3M8L3A+CisgICAgPHA+dHlwZSBhbmQgaW50ZXJmYWNlcyBuZWVkZWQgZm9yIHRoZSBpbnRlcm5hbCBzdHJpbmcgaGFuZGxpbmcgb2YgdGhlIGxpYnJhcnksIGVzcGVjaWFsbHkgVVRGOCBwcm9jZXNzaW5nLiA8L3A+CisgICAgPHA+QXV0aG9yKHMpOiBEYW5pZWwgVmVpbGxhcmQgPC9wPgorICAgIDxkaXYgY2xhc3M9InJlZnN5bm9wc2lzZGl2Ij4KKyAgICAgIDxoMj5TeW5vcHNpczwvaDI+CisgICAgICA8cHJlIGNsYXNzPSJzeW5vcHNpcyI+I2RlZmluZSA8YSBocmVmPSIjQkFEX0NBU1QiPkJBRF9DQVNUPC9hPjsKK3R5cGVkZWYgdW5zaWduZWQgY2hhciA8YSBocmVmPSIjeG1sQ2hhciI+eG1sQ2hhcjwvYT47CitpbnQJPGEgaHJlZj0iI3htbFN0cmNtcCI+eG1sU3RyY21wPC9hPgkJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3RyMSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3RyMik7Cis8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbENoYXJTdHJuZHVwIj54bWxDaGFyU3RybmR1cDwvYT4JCShjb25zdCBjaGFyICogY3VyLCA8YnIvPgkJCQkJIGludCBsZW4pOworY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxTdHJjYXNlc3RyIj54bWxTdHJjYXNlc3RyPC9hPgkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzdHIsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHZhbCk7Cis8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbFN0cmNhdCI+eG1sU3RyY2F0PC9hPgkJKDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjdXIsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGFkZCk7CitpbnQJPGEgaHJlZj0iI3htbFN0clByaW50ZiI+eG1sU3RyUHJpbnRmPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogYnVmLCA8YnIvPgkJCQkJIGludCBsZW4sIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG1zZywgPGJyLz4JCQkJCSAuLi4gLi4uKTsKK2NvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sU3Ryc3RyIj54bWxTdHJzdHI8L2E+CQkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0ciwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsKTsKK2ludAk8YSBocmVmPSIjeG1sVVRGOFNpemUiPnhtbFVURjhTaXplPC9hPgkJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdXRmKTsKK2ludAk8YSBocmVmPSIjeG1sU3RyUUVxdWFsIj54bWxTdHJRRXF1YWw8L2E+CQkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwcmVmLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzdHIpOworPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxTdHJuY2F0TmV3Ij54bWxTdHJuY2F0TmV3PC9hPgkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzdHIxLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzdHIyLCA8YnIvPgkJCQkJIGludCBsZW4pOworY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxVVEY4U3RycG9zIj54bWxVVEY4U3RycG9zPC9hPgkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB1dGYsIDxici8+CQkJCQkgaW50IHBvcyk7Cis8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbFN0cmR1cCI+eG1sU3RyZHVwPC9hPgkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjdXIpOworPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxDaGFyU3RyZHVwIj54bWxDaGFyU3RyZHVwPC9hPgkJKGNvbnN0IGNoYXIgKiBjdXIpOworY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxTdHJjaHIiPnhtbFN0cmNocjwvYT4JCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3RyLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gdmFsKTsKK2ludAk8YSBocmVmPSIjeG1sU3RybGVuIj54bWxTdHJsZW48L2E+CQkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzdHIpOworaW50CTxhIGhyZWY9IiN4bWxTdHJuY21wIj54bWxTdHJuY21wPC9hPgkJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3RyMSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3RyMiwgPGJyLz4JCQkJCSBpbnQgbGVuKTsKKzxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sU3Ryc3ViIj54bWxTdHJzdWI8L2E+CQkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0ciwgPGJyLz4JCQkJCSBpbnQgc3RhcnQsIDxici8+CQkJCQkgaW50IGxlbik7Cis8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbFN0cm5jYXQiPnhtbFN0cm5jYXQ8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGN1ciwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogYWRkLCA8YnIvPgkJCQkJIGludCBsZW4pOworaW50CTxhIGhyZWY9IiN4bWxHZXRVVEY4Q2hhciI+eG1sR2V0VVRGOENoYXI8L2E+CQkJKGNvbnN0IHVuc2lnbmVkIGNoYXIgKiB1dGYsIDxici8+CQkJCQkgaW50ICogbGVuKTsKK2ludAk8YSBocmVmPSIjeG1sU3RyY2FzZWNtcCI+eG1sU3RyY2FzZWNtcDwvYT4JCQkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0cjEsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0cjIpOworPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxTdHJuZHVwIj54bWxTdHJuZHVwPC9hPgkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjdXIsIDxici8+CQkJCQkgaW50IGxlbik7CitpbnQJPGEgaHJlZj0iI3htbFN0clZQcmludGYiPnhtbFN0clZQcmludGY8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBidWYsIDxici8+CQkJCQkgaW50IGxlbiwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbXNnLCA8YnIvPgkJCQkJIHZhX2xpc3QgYXApOworaW50CTxhIGhyZWY9IiN4bWxVVEY4U3Ryc2l6ZSI+eG1sVVRGOFN0cnNpemU8L2E+CQkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB1dGYsIDxici8+CQkJCQkgaW50IGxlbik7CitpbnQJPGEgaHJlZj0iI3htbENoZWNrVVRGOCI+eG1sQ2hlY2tVVEY4PC9hPgkJCShjb25zdCB1bnNpZ25lZCBjaGFyICogdXRmKTsKK2ludAk8YSBocmVmPSIjeG1sU3RybmNhc2VjbXAiPnhtbFN0cm5jYXNlY21wPC9hPgkJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3RyMSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3RyMiwgPGJyLz4JCQkJCSBpbnQgbGVuKTsKK2ludAk8YSBocmVmPSIjeG1sVVRGOFN0cmxlbiI+eG1sVVRGOFN0cmxlbjwvYT4JCQkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHV0Zik7Cis8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbFVURjhTdHJzdWIiPnhtbFVURjhTdHJzdWI8L2E+CQkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHV0ZiwgPGJyLz4JCQkJCSBpbnQgc3RhcnQsIDxici8+CQkJCQkgaW50IGxlbik7CitpbnQJPGEgaHJlZj0iI3htbFN0ckVxdWFsIj54bWxTdHJFcXVhbDwvYT4JCQkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0cjEsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0cjIpOworaW50CTxhIGhyZWY9IiN4bWxVVEY4Q2hhcmNtcCI+eG1sVVRGOENoYXJjbXA8L2E+CQkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB1dGYxLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB1dGYyKTsKKzxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sVVRGOFN0cm5kdXAiPnhtbFVURjhTdHJuZHVwPC9hPgkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB1dGYsIDxici8+CQkJCQkgaW50IGxlbik7CitpbnQJPGEgaHJlZj0iI3htbFVURjhTdHJsb2MiPnhtbFVURjhTdHJsb2M8L2E+CQkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB1dGYsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHV0ZmNoYXIpOworPC9wcmU+CisgICAgPC9kaXY+CisgICAgPGRpdiBjbGFzcz0icmVmc2VjdDEiIGxhbmc9ImVuIj4KKyAgICAgIDxoMj5EZXNjcmlwdGlvbjwvaDI+CisgICAgPC9kaXY+CisgICAgPGRpdiBjbGFzcz0icmVmc2VjdDEiIGxhbmc9ImVuIj4KKyAgICAgIDxoMj5EZXRhaWxzPC9oMj4KKyAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IkJBRF9DQVNUIj5NYWNybyA8L2E+QkFEX0NBU1Q8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNCQURfQ0FTVCI+QkFEX0NBU1Q8L2E+OworPC9wcmU+PHA+TWFjcm8gdG8gY2FzdCBhIHN0cmluZyB0byBhbiA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogd2hlbiBvbmUga25vdyBpdHMgc2FmZS48L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sQ2hhciI+VHlwZWRlZiA8L2E+eG1sQ2hhcjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnVuc2lnbmVkIGNoYXIgeG1sQ2hhcjsKKzwvcHJlPjxwPlRoaXMgaXMgYSBiYXNpYyBieXRlIGluIGFuIFVURi04IGVuY29kZWQgc3RyaW5nLiBJdCdzIHVuc2lnbmVkIGFsbG93aW5nIHRvIHBpbnBvaW50IGNhc2Ugd2hlcmUgY2hhciAqIGFyZSBhc3NpZ25lZCB0byA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogKHBvc3NpYmx5IG1ha2luZyBzZXJpYWxpemF0aW9uIGJhY2sgaW1wb3NzaWJsZSkuPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbENoYXJTdHJkdXAiLz54bWxDaGFyU3RyZHVwICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbENoYXJTdHJkdXAJCShjb25zdCBjaGFyICogY3VyKTxici8+Cis8L3ByZT48cD5hIHN0cmR1cCBmb3IgY2hhcidzIHRvIHhtbENoYXInczwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaW5wdXQgY2hhciAqPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIG5ldyA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogb3IgTlVMTDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbENoYXJTdHJuZHVwIi8+eG1sQ2hhclN0cm5kdXAgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sQ2hhclN0cm5kdXAJCShjb25zdCBjaGFyICogY3VyLCA8YnIvPgkJCQkJIGludCBsZW4pPGJyLz4KKzwvcHJlPjxwPmEgc3RybmR1cCBmb3IgY2hhcidzIHRvIHhtbENoYXInczwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaW5wdXQgY2hhciAqPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsZW4gb2YgQGN1cjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBuZXcgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG9yIE5VTEw8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxDaGVja1VURjgiLz54bWxDaGVja1VURjggKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sQ2hlY2tVVEY4CQkJKGNvbnN0IHVuc2lnbmVkIGNoYXIgKiB1dGYpPGJyLz4KKzwvcHJlPjxwPkNoZWNrcyBAdXRmIGZvciBiZWluZyB2YWxpZCBVVEYtOC4gQHV0ZiBpcyBhc3N1bWVkIHRvIGJlIG51bGwtdGVybWluYXRlZC4gVGhpcyBmdW5jdGlvbiBpcyBub3Qgc3VwZXItc3RyaWN0LCBhcyBpdCB3aWxsIGFsbG93IGxvbmdlciBVVEYtOCBzZXF1ZW5jZXMgdGhhbiBuZWNlc3NhcnkuIE5vdGUgdGhhdCBKYXZhIGlzIGNhcGFibGUgb2YgcHJvZHVjaW5nIHRoZXNlIHNlcXVlbmNlcyBpZiBwcm92b2tlZC4gQWxzbyBub3RlLCB0aGlzIHJvdXRpbmUgY2hlY2tzIGZvciB0aGUgNC1ieXRlIG1heGltdW0gc2l6ZSwgYnV0IGRvZXMgbm90IGNoZWNrIGZvciAweDEwZmZmZiBtYXhpbXVtIHZhbHVlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dXRmPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5Qb2ludGVyIHRvIHB1dGF0aXZlIFVURi04IGVuY29kZWQgc3RyaW5nLjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dmFsdWU6IHRydWUgaWYgQHV0ZiBpcyB2YWxpZC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxHZXRVVEY4Q2hhciIvPnhtbEdldFVURjhDaGFyICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbEdldFVURjhDaGFyCQkJKGNvbnN0IHVuc2lnbmVkIGNoYXIgKiB1dGYsIDxici8+CQkJCQkgaW50ICogbGVuKTxici8+Cis8L3ByZT48cD5SZWFkIHRoZSBmaXJzdCBVVEY4IGNoYXJhY3RlciBmcm9tIEB1dGY8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnV0ZjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBzZXF1ZW5jZSBvZiBVVEYtOCBlbmNvZGVkIGJ5dGVzPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byB0aGUgbWluaW11bSBudW1iZXIgb2YgYnl0ZXMgcHJlc2VudCBpbiB0aGUgc2VxdWVuY2UuIFRoaXMgaXMgdXNlZCB0byBhc3N1cmUgdGhlIG5leHQgY2hhcmFjdGVyIGlzIGNvbXBsZXRlbHkgY29udGFpbmVkIHdpdGhpbiB0aGUgc2VxdWVuY2UuPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY2hhciB2YWx1ZSBvciAtMSBpbiBjYXNlIG9mIGVycm9yLCBhbmQgc2V0cyAqbGVuIHRvIHRoZSBhY3R1YWwgbnVtYmVyIG9mIGJ5dGVzIGNvbnN1bWVkICgwIGluIGNhc2Ugb2YgZXJyb3IpPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU3RyRXF1YWwiLz54bWxTdHJFcXVhbCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxTdHJFcXVhbAkJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3RyMSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3RyMik8YnIvPgorPC9wcmU+PHA+Q2hlY2sgaWYgYm90aCBzdHJpbmdzIGFyZSBlcXVhbCBvZiBoYXZlIHNhbWUgY29udGVudC4gU2hvdWxkIGJlIGEgYml0IG1vcmUgcmVhZGFibGUgYW5kIGZhc3RlciB0aGFuIHhtbFN0cmNtcCgpPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdHIxPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZmlyc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdHIyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc2Vjb25kIDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0aGV5IGFyZSBlcXVhbCwgMCBpZiB0aGV5IGFyZSBkaWZmZXJlbnQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTdHJQcmludGYiLz54bWxTdHJQcmludGYgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sU3RyUHJpbnRmCQkJKDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBidWYsIDxici8+CQkJCQkgaW50IGxlbiwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbXNnLCA8YnIvPgkJCQkJIC4uLiAuLi4pPGJyLz4KKzwvcHJlPjxwPkZvcm1hdHMgQG1zZyBhbmQgcGxhY2VzIHJlc3VsdCBpbnRvIEBidWYuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5idWY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSByZXN1bHQgYnVmZmVyLjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGVuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmVzdWx0IGJ1ZmZlciBsZW5ndGguPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5tc2c8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBtZXNzYWdlIHdpdGggcHJpbnRmIGZvcm1hdHRpbmcuPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD4uLi48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmV4dHJhIHBhcmFtZXRlcnMgZm9yIHRoZSBtZXNzYWdlLjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2NoYXJhY3RlcnMiPmNoYXJhY3RlcnM8L2E+IHdyaXR0ZW4gdG8gQGJ1ZiBvciAtMSBpZiBhbiBlcnJvciBvY2N1cnMuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU3RyUUVxdWFsIi8+eG1sU3RyUUVxdWFsICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFN0clFFcXVhbAkJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHJlZiwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3RyKTxici8+Cis8L3ByZT48cD5DaGVjayBpZiBhIFFOYW1lIGlzIEVxdWFsIHRvIGEgZ2l2ZW4gc3RyaW5nPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wcmVmPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcHJlZml4IG9mIHRoZSBRTmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxvY2FsbmFtZSBvZiB0aGUgUU5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHNlY29uZCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdGhleSBhcmUgZXF1YWwsIDAgaWYgdGhleSBhcmUgZGlmZmVyZW50PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU3RyVlByaW50ZiIvPnhtbFN0clZQcmludGYgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sU3RyVlByaW50ZgkJCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogYnVmLCA8YnIvPgkJCQkJIGludCBsZW4sIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG1zZywgPGJyLz4JCQkJCSB2YV9saXN0IGFwKTxici8+Cis8L3ByZT48cD5Gb3JtYXRzIEBtc2cgYW5kIHBsYWNlcyByZXN1bHQgaW50byBAYnVmLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YnVmPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmVzdWx0IGJ1ZmZlci48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHJlc3VsdCBidWZmZXIgbGVuZ3RoLjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bXNnPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbWVzc2FnZSB3aXRoIHByaW50ZiBmb3JtYXR0aW5nLjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YXA8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmV4dHJhIHBhcmFtZXRlcnMgZm9yIHRoZSBtZXNzYWdlLjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2NoYXJhY3RlcnMiPmNoYXJhY3RlcnM8L2E+IHdyaXR0ZW4gdG8gQGJ1ZiBvciAtMSBpZiBhbiBlcnJvciBvY2N1cnMuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU3RyY2FzZWNtcCIvPnhtbFN0cmNhc2VjbXAgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sU3RyY2FzZWNtcAkJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3RyMSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3RyMik8YnIvPgorPC9wcmU+PHA+YSBzdHJjYXNlY21wIGZvciB4bWxDaGFyJ3M8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0cjE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmaXJzdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0cjI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzZWNvbmQgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaW50ZWdlciByZXN1bHQgb2YgdGhlIGNvbXBhcmlzb248L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTdHJjYXNlc3RyIi8+eG1sU3RyY2FzZXN0ciAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxTdHJjYXNlc3RyCQkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0ciwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsKTxici8+Cis8L3ByZT48cD5hIGNhc2UtaWdub3Jpbmcgc3Ryc3RyIGZvciB4bWxDaGFyJ3M8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBhcnJheSAoaGF5c3RhY2spPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+IHRvIHNlYXJjaCAobmVlZGxlKTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBmb3IgdGhlIGZpcnN0IG9jY3VycmVuY2Ugb3IgTlVMTC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTdHJjYXQiLz54bWxTdHJjYXQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sU3RyY2F0CQkoPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGN1ciwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogYWRkKTxici8+Cis8L3ByZT48cD5hIHN0cmNhdCBmb3IgYXJyYXkgb2YgeG1sQ2hhcidzLiBTaW5jZSB0aGV5IGFyZSBzdXBwb3NlZCB0byBiZSBlbmNvZGVkIGluIFVURi04IG9yIGFuIGVuY29kaW5nIHdpdGggOGJpdCBiYXNlZCBjaGFycywgd2UgYXNzdW1lIGEgdGVybWluYXRpb24gbWFyayBvZiAnMCcuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBvcmlnaW5hbCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogYXJyYXk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmFkZDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBhcnJheSBhZGRlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBuZXcgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGNvbnRhaW5pbmcgdGhlIGNvbmNhdGVuYXRlZCBzdHJpbmcuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU3RyY2hyIi8+eG1sU3RyY2hyICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Y29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbFN0cmNocgkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzdHIsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiB2YWwpPGJyLz4KKzwvcHJlPjxwPmEgc3RyY2hyIGZvciB4bWxDaGFyJ3M8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBhcnJheTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiB0byBzZWFyY2g8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogZm9yIHRoZSBmaXJzdCBvY2N1cnJlbmNlIG9yIE5VTEwuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU3RyY21wIi8+eG1sU3RyY21wICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFN0cmNtcAkJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3RyMSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3RyMik8YnIvPgorPC9wcmU+PHA+YSBzdHJjbXAgZm9yIHhtbENoYXInczwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3RyMTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZpcnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3RyMjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHNlY29uZCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBpbnRlZ2VyIHJlc3VsdCBvZiB0aGUgY29tcGFyaXNvbjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFN0cmR1cCIvPnhtbFN0cmR1cCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxTdHJkdXAJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY3VyKTxici8+Cis8L3ByZT48cD5hIHN0cmR1cCBmb3IgYXJyYXkgb2YgeG1sQ2hhcidzLiBTaW5jZSB0aGV5IGFyZSBzdXBwb3NlZCB0byBiZSBlbmNvZGVkIGluIFVURi04IG9yIGFuIGVuY29kaW5nIHdpdGggOGJpdCBiYXNlZCBjaGFycywgd2UgYXNzdW1lIGEgdGVybWluYXRpb24gbWFyayBvZiAnMCcuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBpbnB1dCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbmV3IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBvciBOVUxMPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU3RybGVuIi8+eG1sU3RybGVuICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFN0cmxlbgkJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3RyKTxici8+Cis8L3ByZT48cD5sZW5ndGggb2YgYSB4bWxDaGFyJ3Mgc3RyaW5nPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdHI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogYXJyYXk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiBjb250YWluZWQgaW4gdGhlIEFSUkFZLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFN0cm5jYXNlY21wIi8+eG1sU3RybmNhc2VjbXAgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sU3RybmNhc2VjbXAJCQkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0cjEsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0cjIsIDxici8+CQkJCQkgaW50IGxlbik8YnIvPgorPC9wcmU+PHA+YSBzdHJuY2FzZWNtcCBmb3IgeG1sQ2hhcidzPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdHIxPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZmlyc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdHIyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc2Vjb25kIDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGVuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbWF4IGNvbXBhcmlzb24gbGVuZ3RoPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaW50ZWdlciByZXN1bHQgb2YgdGhlIGNvbXBhcmlzb248L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxTdHJuY2F0Ii8+eG1sU3RybmNhdCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxTdHJuY2F0CQkoPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGN1ciwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogYWRkLCA8YnIvPgkJCQkJIGludCBsZW4pPGJyLz4KKzwvcHJlPjxwPmEgc3RybmNhdCBmb3IgYXJyYXkgb2YgeG1sQ2hhcidzLCBpdCB3aWxsIGV4dGVuZCBAY3VyIHdpdGggdGhlIGxlbiBmaXJzdCBieXRlcyBvZiBAYWRkLiBOb3RlIHRoYXQgaWYgQGxlbiAmbHQ7IDAgdGhlbiB0aGlzIGlzIGFuIEFQSSBlcnJvciBhbmQgTlVMTCB3aWxsIGJlIHJldHVybmVkLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgb3JpZ2luYWwgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGFycmF5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5hZGQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogYXJyYXkgYWRkZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxlbmd0aCBvZiBAYWRkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIG5ldyA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICosIHRoZSBvcmlnaW5hbCBAY3VyIGlzIHJlYWxsb2NhdGVkIGlmIG5lZWRlZCBhbmQgc2hvdWxkIG5vdCBiZSBmcmVlZDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFN0cm5jYXROZXciLz54bWxTdHJuY2F0TmV3ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbFN0cm5jYXROZXcJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3RyMSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3RyMiwgPGJyLz4JCQkJCSBpbnQgbGVuKTxici8+Cis8L3ByZT48cD5zYW1lIGFzIHhtbFN0cm5jYXQsIGJ1dCBjcmVhdGVzIGEgbmV3IHN0cmluZy4gVGhlIG9yaWdpbmFsIHR3byBzdHJpbmdzIGFyZSBub3QgZnJlZWQuIElmIEBsZW4gaXMgJmx0OyAwIHRoZW4gdGhlIGxlbmd0aCB3aWxsIGJlIGNhbGN1bGF0ZWQgYXV0b21hdGljYWxseS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0cjE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmZpcnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gc3RyaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdHIyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5zZWNvbmQgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiBzdHJpbmc8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxlbiBvZiBAc3RyMiBvciAmbHQ7IDA8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbmV3IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBvciBOVUxMPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU3RybmNtcCIvPnhtbFN0cm5jbXAgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sU3RybmNtcAkJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3RyMSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3RyMiwgPGJyLz4JCQkJCSBpbnQgbGVuKTxici8+Cis8L3ByZT48cD5hIHN0cm5jbXAgZm9yIHhtbENoYXInczwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3RyMTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZpcnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3RyMjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHNlY29uZCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG1heCBjb21wYXJpc29uIGxlbmd0aDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGludGVnZXIgcmVzdWx0IG9mIHRoZSBjb21wYXJpc29uPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU3RybmR1cCIvPnhtbFN0cm5kdXAgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sU3RybmR1cAkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjdXIsIDxici8+CQkJCQkgaW50IGxlbik8YnIvPgorPC9wcmU+PHA+YSBzdHJuZHVwIGZvciBhcnJheSBvZiB4bWxDaGFyJ3M8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGlucHV0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGVuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbGVuIG9mIEBjdXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbmV3IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBvciBOVUxMPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sU3Ryc3RyIi8+eG1sU3Ryc3RyICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Y29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbFN0cnN0cgkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzdHIsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHZhbCk8YnIvPgorPC9wcmU+PHA+YSBzdHJzdHIgZm9yIHhtbENoYXInczwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3RyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGFycmF5IChoYXlzdGFjayk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gdG8gc2VhcmNoIChuZWVkbGUpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGZvciB0aGUgZmlyc3Qgb2NjdXJyZW5jZSBvciBOVUxMLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFN0cnN1YiIvPnhtbFN0cnN1YiAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxTdHJzdWIJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3RyLCA8YnIvPgkJCQkJIGludCBzdGFydCwgPGJyLz4JCQkJCSBpbnQgbGVuKTxici8+Cis8L3ByZT48cD5FeHRyYWN0IGEgc3Vic3RyaW5nIG9mIGEgZ2l2ZW4gc3RyaW5nPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdHI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogYXJyYXkgKGhheXN0YWNrKTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3RhcnQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBpbmRleCBvZiB0aGUgZmlyc3QgY2hhciAoemVybyBiYXNlZCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxlbmd0aCBvZiB0aGUgc3Vic3RyaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGZvciB0aGUgZmlyc3Qgb2NjdXJyZW5jZSBvciBOVUxMLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFVURjhDaGFyY21wIi8+eG1sVVRGOENoYXJjbXAgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVVRGOENoYXJjbXAJCQkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHV0ZjEsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHV0ZjIpPGJyLz4KKzwvcHJlPjxwPmNvbXBhcmVzIHRoZSB0d28gVUNTNCB2YWx1ZXM8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnV0ZjE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnBvaW50ZXIgdG8gZmlyc3QgVVRGOCBjaGFyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD51dGYyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5wb2ludGVyIHRvIHNlY29uZCBVVEY4IGNoYXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnJlc3VsdCBvZiB0aGUgY29tcGFyZSBhcyB3aXRoIDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sU3RybmNtcCI+eG1sU3RybmNtcDwvYT48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxVVEY4U2l6ZSIvPnhtbFVURjhTaXplICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVURjhTaXplCQkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB1dGYpPGJyLz4KKzwvcHJlPjxwPmNhbGN1bGF0ZXMgdGhlIGludGVybmFsIHNpemUgb2YgYSBVVEY4IGNoYXJhY3RlcjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dXRmPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5wb2ludGVyIHRvIHRoZSBVVEY4IGNoYXJhY3RlcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlcnMgb2YgYnl0ZXMgaW4gdGhlIGNoYXJhY3RlciwgLTEgb24gZm9ybWF0IGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVVRGOFN0cmxlbiIvPnhtbFVURjhTdHJsZW4gKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVVRGOFN0cmxlbgkJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdXRmKTxici8+Cis8L3ByZT48cD5jb21wdXRlIHRoZSBsZW5ndGggb2YgYW4gVVRGOCBzdHJpbmcsIGl0IGRvZXNuJ3QgZG8gYSBmdWxsIFVURjggY2hlY2tpbmcgb2YgdGhlIGNvbnRlbnQgb2YgdGhlIHN0cmluZy48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnV0ZjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBzZXF1ZW5jZSBvZiBVVEYtOCBlbmNvZGVkIGJ5dGVzPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjY2hhcmFjdGVycyI+Y2hhcmFjdGVyczwvYT4gaW4gdGhlIHN0cmluZyBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVVRGOFN0cmxvYyIvPnhtbFVURjhTdHJsb2MgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVVRGOFN0cmxvYwkJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdXRmLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB1dGZjaGFyKTxici8+Cis8L3ByZT48cD5hIGZ1bmN0aW9uIHRvIHByb3ZpZGUgdGhlIHJlbGF0aXZlIGxvY2F0aW9uIG9mIGEgVVRGOCBjaGFyPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD51dGY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBpbnB1dCBVVEY4ICo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnV0ZmNoYXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBVVEY4IGNoYXJhY3RlciB0byBiZSBmb3VuZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHJlbGF0aXZlIGNoYXJhY3RlciBwb3NpdGlvbiBvZiB0aGUgZGVzaXJlZCBjaGFyIG9yIC0xIGlmIG5vdCBmb3VuZDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFVURjhTdHJuZHVwIi8+eG1sVVRGOFN0cm5kdXAgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sVVRGOFN0cm5kdXAJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdXRmLCA8YnIvPgkJCQkJIGludCBsZW4pPGJyLz4KKzwvcHJlPjxwPmEgc3RybmR1cCBmb3IgYXJyYXkgb2YgVVRGOCdzPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD51dGY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBpbnB1dCBVVEY4ICo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxlbiBvZiBAdXRmIChpbiBjaGFycyk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbmV3IFVURjggKiBvciBOVUxMPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVVRGOFN0cnBvcyIvPnhtbFVURjhTdHJwb3MgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5jb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sVVRGOFN0cnBvcwkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB1dGYsIDxici8+CQkJCQkgaW50IHBvcyk8YnIvPgorPC9wcmU+PHA+YSBmdW5jdGlvbiB0byBwcm92aWRlIHRoZSBlcXVpdmFsZW50IG9mIGZldGNoaW5nIGEgY2hhcmFjdGVyIGZyb20gYSBzdHJpbmcgYXJyYXk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnV0ZjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGlucHV0IFVURjggKjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cG9zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcG9zaXRpb24gb2YgdGhlIGRlc2lyZWQgVVRGOCBjaGFyIChpbiBjaGFycyk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byB0aGUgVVRGOCBjaGFyYWN0ZXIgb3IgTlVMTDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFVURjhTdHJzaXplIi8+eG1sVVRGOFN0cnNpemUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVVRGOFN0cnNpemUJCQkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHV0ZiwgPGJyLz4JCQkJCSBpbnQgbGVuKTxici8+Cis8L3ByZT48cD5zdG9yYWdlIHNpemUgb2YgYW4gVVRGOCBzdHJpbmcgdGhlIGJlaGF2aW91ciBpcyBub3QgZ2FyYW50ZWVkIGlmIHRoZSBpbnB1dCBzdHJpbmcgaXMgbm90IFVURi04PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD51dGY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgc2VxdWVuY2Ugb2YgVVRGLTggZW5jb2RlZCBieXRlczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGVuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjY2hhcmFjdGVycyI+Y2hhcmFjdGVyczwvYT4gaW4gdGhlIGFycmF5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc3RvcmFnZSBzaXplIG9mIHRoZSBmaXJzdCAnbGVuJyA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2NoYXJhY3RlcnMiPmNoYXJhY3RlcnM8L2E+IG9mIEFSUkFZPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVVRGOFN0cnN1YiIvPnhtbFVURjhTdHJzdWIgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sVVRGOFN0cnN1YgkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB1dGYsIDxici8+CQkJCQkgaW50IHN0YXJ0LCA8YnIvPgkJCQkJIGludCBsZW4pPGJyLz4KKzwvcHJlPjxwPkNyZWF0ZSBhIHN1YnN0cmluZyBmcm9tIGEgZ2l2ZW4gVVRGLTggc3RyaW5nIE5vdGU6IHBvc2l0aW9ucyBhcmUgZ2l2ZW4gaW4gdW5pdHMgb2YgVVRGLTggY2hhcnM8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnV0ZjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBzZXF1ZW5jZSBvZiBVVEYtOCBlbmNvZGVkIGJ5dGVzPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdGFydDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+cmVsYXRpdmUgcG9zIG9mIGZpcnN0IGNoYXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dG90YWwgbnVtYmVyIHRvIGNvcHk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byBhIG5ld2x5IGNyZWF0ZWQgc3RyaW5nIG9yIE5VTEwgaWYgYW55IHByb2JsZW08L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgPC9kaXY+CisgICAgPC9kaXY+CisgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2RldmhlbHAvbGlieG1sMi14bWx1bmljb2RlLmh0bWwgYi9saWJ4bWwyL2RvYy9kZXZoZWxwL2xpYnhtbDIteG1sdW5pY29kZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdkNGYwZDgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9kZXZoZWxwL2xpYnhtbDIteG1sdW5pY29kZS5odG1sCkBAIC0wLDAgKzEsODg3IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPGh0bWw+CisgIDxoZWFkPgorICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ii8+CisgICAgPHRpdGxlPnhtbHVuaWNvZGU6IFVuaWNvZGUgY2hhcmFjdGVyIEFQSXM8L3RpdGxlPgorICAgIDxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iTGlieG1sMiBkZXZoZWxwIHN0eWxlc2hlZXQiLz4KKyAgICA8bGluayByZWw9InN0YXJ0IiBocmVmPSJpbmRleC5odG1sIiB0aXRsZT0ibGlieG1sMiBSZWZlcmVuY2UgTWFudWFsIi8+CisgICAgPGxpbmsgcmVsPSJ1cCIgaHJlZj0iZ2VuZXJhbC5odG1sIiB0aXRsZT0iQVBJIi8+CisgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJzdHlsZS5jc3MiIHR5cGU9InRleHQvY3NzIi8+CisgICAgPGxpbmsgcmVsPSJjaGFwdGVyIiBocmVmPSJnZW5lcmFsLmh0bWwiIHRpdGxlPSJBUEkiLz4KKyAgPC9oZWFkPgorICA8Ym9keSBiZ2NvbG9yPSJ3aGl0ZSIgdGV4dD0iYmxhY2siIGxpbms9IiMwMDAwRkYiIHZsaW5rPSIjODQwMDg0IiBhbGluaz0iIzAwMDBGRiI+CisgICAgPHRhYmxlIGNsYXNzPSJuYXZpZ2F0aW9uIiB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBoZWFkZXIiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMiI+CisgICAgICA8dHIgdmFsaWduPSJtaWRkbGUiPgorICAgICAgICA8dGQ+CisgICAgICAgICAgPGEgYWNjZXNza2V5PSJwIiBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sIj4KKyAgICAgICAgICAgIDxpbWcgc3JjPSJsZWZ0LnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iUHJldiIvPgorICAgICAgICAgIDwvYT4KKyAgICAgICAgPC90ZD4KKyAgICAgICAgPHRkPgorICAgICAgICAgIDxhIGFjY2Vzc2tleT0idSIgaHJlZj0iZ2VuZXJhbC5odG1sIj4KKyAgICAgICAgICAgIDxpbWcgc3JjPSJ1cC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlVwIi8+CisgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGQ+CisgICAgICAgICAgPGEgYWNjZXNza2V5PSJoIiBocmVmPSJpbmRleC5odG1sIj4KKyAgICAgICAgICAgIDxpbWcgc3JjPSJob21lLnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iSG9tZSIvPgorICAgICAgICAgIDwvYT4KKyAgICAgICAgPC90ZD4KKyAgICAgICAgPHRkPgorICAgICAgICAgIDxhIGFjY2Vzc2tleT0ibiIgaHJlZj0ibGlieG1sMi14bWx2ZXJzaW9uLmh0bWwiPgorICAgICAgICAgICAgPGltZyBzcmM9InJpZ2h0LnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iTmV4dCIvPgorICAgICAgICAgIDwvYT4KKyAgICAgICAgPC90ZD4KKyAgICAgICAgPHRoIHdpZHRoPSIxMDAlIiBhbGlnbj0iY2VudGVyIj5saWJ4bWwyIFJlZmVyZW5jZSBNYW51YWw8L3RoPgorICAgICAgPC90cj4KKyAgICA8L3RhYmxlPgorICAgIDxoMj4KKyAgICAgIDxzcGFuIGNsYXNzPSJyZWZlbnRyeXRpdGxlIj54bWx1bmljb2RlPC9zcGFuPgorICAgIDwvaDI+CisgICAgPHA+eG1sdW5pY29kZSAtIFVuaWNvZGUgY2hhcmFjdGVyIEFQSXM8L3A+CisgICAgPHA+QVBJIGZvciB0aGUgVW5pY29kZSBjaGFyYWN0ZXIgQVBJcyAgVGhpcyBmaWxlIGlzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIFVDUyBkZXNjcmlwdGlvbiBmaWxlcyBvZiB0aGUgVW5pY29kZSBDaGFyYWN0ZXIgRGF0YWJhc2U8L3A+CisgICAgPHA+QXV0aG9yKHMpOiBEYW5pZWwgVmVpbGxhcmQgPC9wPgorICAgIDxkaXYgY2xhc3M9InJlZnN5bm9wc2lzZGl2Ij4KKyAgICAgIDxoMj5TeW5vcHNpczwvaDI+CisgICAgICA8cHJlIGNsYXNzPSJzeW5vcHNpcyI+aW50CTxhIGhyZWY9IiN4bWxVQ1NJc0Jsb2NrRWxlbWVudHMiPnhtbFVDU0lzQmxvY2tFbGVtZW50czwvYT4JCShpbnQgY29kZSk7CitpbnQJPGEgaHJlZj0iI3htbFVDU0lzQm9wb21vZm8iPnhtbFVDU0lzQm9wb21vZm88L2E+CQkoaW50IGNvZGUpOworaW50CTxhIGhyZWY9IiN4bWxVQ1NJc0RpbmdiYXRzIj54bWxVQ1NJc0RpbmdiYXRzPC9hPgkJKGludCBjb2RlKTsKK2ludAk8YSBocmVmPSIjeG1sVUNTSXNTdXBlcnNjcmlwdHNhbmRTdWJzY3JpcHRzIj54bWxVQ1NJc1N1cGVyc2NyaXB0c2FuZFN1YnNjcmlwdHM8L2E+CShpbnQgY29kZSk7CitpbnQJPGEgaHJlZj0iI3htbFVDU0lzQ29tYmluaW5nSGFsZk1hcmtzIj54bWxVQ1NJc0NvbWJpbmluZ0hhbGZNYXJrczwvYT4JKGludCBjb2RlKTsKK2ludAk8YSBocmVmPSIjeG1sVUNTSXNUaWJldGFuIj54bWxVQ1NJc1RpYmV0YW48L2E+CQkJKGludCBjb2RlKTsKK2ludAk8YSBocmVmPSIjeG1sVUNTSXNZaVJhZGljYWxzIj54bWxVQ1NJc1lpUmFkaWNhbHM8L2E+CQkoaW50IGNvZGUpOworaW50CTxhIGhyZWY9IiN4bWxVQ1NJc0NvbWJpbmluZ01hcmtzZm9yU3ltYm9scyI+eG1sVUNTSXNDb21iaW5pbmdNYXJrc2ZvclN5bWJvbHM8L2E+CShpbnQgY29kZSk7CitpbnQJPGEgaHJlZj0iI3htbFVDU0lzSGFuZ3VsU3lsbGFibGVzIj54bWxVQ1NJc0hhbmd1bFN5bGxhYmxlczwvYT4JCShpbnQgY29kZSk7CitpbnQJPGEgaHJlZj0iI3htbFVDU0lzQmFzaWNMYXRpbiI+eG1sVUNTSXNCYXNpY0xhdGluPC9hPgkJKGludCBjb2RlKTsKK2ludAk8YSBocmVmPSIjeG1sVUNTSXNDYXRTYyI+eG1sVUNTSXNDYXRTYzwvYT4JCQkoaW50IGNvZGUpOworaW50CTxhIGhyZWY9IiN4bWxVQ1NJc0NhdFNvIj54bWxVQ1NJc0NhdFNvPC9hPgkJCShpbnQgY29kZSk7CitpbnQJPGEgaHJlZj0iI3htbFVDU0lzTGltYnUiPnhtbFVDU0lzTGltYnU8L2E+CQkJKGludCBjb2RlKTsKK2ludAk8YSBocmVmPSIjeG1sVUNTSXNDYXRTbSI+eG1sVUNTSXNDYXRTbTwvYT4JCQkoaW50IGNvZGUpOworaW50CTxhIGhyZWY9IiN4bWxVQ1NJc0NhdFNrIj54bWxVQ1NJc0NhdFNrPC9hPgkJCShpbnQgY29kZSk7CitpbnQJPGEgaHJlZj0iI3htbFVDU0lzS2htZXJTeW1ib2xzIj54bWxVQ1NJc0tobWVyU3ltYm9sczwvYT4JCShpbnQgY29kZSk7CitpbnQJPGEgaHJlZj0iI3htbFVDU0lzTW9uZ29saWFuIj54bWxVQ1NJc01vbmdvbGlhbjwvYT4JCShpbnQgY29kZSk7CitpbnQJPGEgaHJlZj0iI3htbFVDU0lzTWFsYXlhbGFtIj54bWxVQ1NJc01hbGF5YWxhbTwvYT4JCShpbnQgY29kZSk7CitpbnQJPGEgaHJlZj0iI3htbFVDU0lzTWF0aGVtYXRpY2FsQWxwaGFudW1lcmljU3ltYm9scyI+eG1sVUNTSXNNYXRoZW1hdGljYWxBbHBoYW51bWVyaWNTeW1ib2xzPC9hPgkoaW50IGNvZGUpOworaW50CTxhIGhyZWY9IiN4bWxVQ1NJc1RoYWFuYSI+eG1sVUNTSXNUaGFhbmE8L2E+CQkJKGludCBjb2RlKTsKK2ludAk8YSBocmVmPSIjeG1sVUNTSXNNeWFubWFyIj54bWxVQ1NJc015YW5tYXI8L2E+CQkJKGludCBjb2RlKTsKK2ludAk8YSBocmVmPSIjeG1sVUNTSXNUYWdzIj54bWxVQ1NJc1RhZ3M8L2E+CQkJKGludCBjb2RlKTsKK2ludAk8YSBocmVmPSIjeG1sVUNTSXNDSktDb21wYXRpYmlsaXR5SWRlb2dyYXBocyI+eG1sVUNTSXNDSktDb21wYXRpYmlsaXR5SWRlb2dyYXBoczwvYT4JKGludCBjb2RlKTsKK2ludAk8YSBocmVmPSIjeG1sVUNTSXNUZWx1Z3UiPnhtbFVDU0lzVGVsdWd1PC9hPgkJCShpbnQgY29kZSk7CitpbnQJPGEgaHJlZj0iI3htbFVDU0lzTG93U3Vycm9nYXRlcyI+eG1sVUNTSXNMb3dTdXJyb2dhdGVzPC9hPgkJKGludCBjb2RlKTsKK2ludAk8YSBocmVmPSIjeG1sVUNTSXNPc21hbnlhIj54bWxVQ1NJc09zbWFueWE8L2E+CQkJKGludCBjb2RlKTsKK2ludAk8YSBocmVmPSIjeG1sVUNTSXNTeXJpYWMiPnhtbFVDU0lzU3lyaWFjPC9hPgkJCShpbnQgY29kZSk7CitpbnQJPGEgaHJlZj0iI3htbFVDU0lzRXRoaW9waWMiPnhtbFVDU0lzRXRoaW9waWM8L2E+CQkoaW50IGNvZGUpOworaW50CTxhIGhyZWY9IiN4bWxVQ1NJc0JveERyYXdpbmciPnhtbFVDU0lzQm94RHJhd2luZzwvYT4JCShpbnQgY29kZSk7CitpbnQJPGEgaHJlZj0iI3htbFVDU0lzR3JlZWtFeHRlbmRlZCI+eG1sVUNTSXNHcmVla0V4dGVuZGVkPC9hPgkJKGludCBjb2RlKTsKK2ludAk8YSBocmVmPSIjeG1sVUNTSXNHcmVla2FuZENvcHRpYyI+eG1sVUNTSXNHcmVla2FuZENvcHRpYzwvYT4JCShpbnQgY29kZSk7CitpbnQJPGEgaHJlZj0iI3htbFVDU0lzS2FubmFkYSI+eG1sVUNTSXNLYW5uYWRhPC9hPgkJCShpbnQgY29kZSk7CitpbnQJPGEgaHJlZj0iI3htbFVDU0lzQnl6YW50aW5lTXVzaWNhbFN5bWJvbHMiPnhtbFVDU0lzQnl6YW50aW5lTXVzaWNhbFN5bWJvbHM8L2E+CShpbnQgY29kZSk7CitpbnQJPGEgaHJlZj0iI3htbFVDU0lzRW5jbG9zZWRDSktMZXR0ZXJzYW5kTW9udGhzIj54bWxVQ1NJc0VuY2xvc2VkQ0pLTGV0dGVyc2FuZE1vbnRoczwvYT4JKGludCBjb2RlKTsKK2ludAk8YSBocmVmPSIjeG1sVUNTSXNDSktDb21wYXRpYmlsaXR5Rm9ybXMiPnhtbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eUZvcm1zPC9hPgkoaW50IGNvZGUpOworaW50CTxhIGhyZWY9IiN4bWxVQ1NJc0NhdENzIj54bWxVQ1NJc0NhdENzPC9hPgkJCShpbnQgY29kZSk7CitpbnQJPGEgaHJlZj0iI3htbFVDU0lzQ0pLUmFkaWNhbHNTdXBwbGVtZW50Ij54bWxVQ1NJc0NKS1JhZGljYWxzU3VwcGxlbWVudDwvYT4JKGludCBjb2RlKTsKK2ludAk8YSBocmVmPSIjeG1sVUNTSXNDYXRDZiI+eG1sVUNTSXNDYXRDZjwvYT4JCQkoaW50IGNvZGUpOworaW50CTxhIGhyZWY9IiN4bWxVQ1NJc1NtYWxsRm9ybVZhcmlhbnRzIj54bWxVQ1NJc1NtYWxsRm9ybVZhcmlhbnRzPC9hPgkoaW50IGNvZGUpOworaW50CTxhIGhyZWY9IiN4bWxVQ1NJc0hhbmd1bENvbXBhdGliaWxpdHlKYW1vIj54bWxVQ1NJc0hhbmd1bENvbXBhdGliaWxpdHlKYW1vPC9hPgkoaW50IGNvZGUpOworaW50CTxhIGhyZWY9IiN4bWxVQ1NJc0NhdENjIj54bWxVQ1NJc0NhdENjPC9hPgkJCShpbnQgY29kZSk7CitpbnQJPGEgaHJlZj0iI3htbFVDU0lzQ2F0Q28iPnhtbFVDU0lzQ2F0Q288L2E+CQkJKGludCBjb2RlKTsKK2ludAk8YSBocmVmPSIjeG1sVUNTSXNDaGVyb2tlZSI+eG1sVUNTSXNDaGVyb2tlZTwvYT4JCShpbnQgY29kZSk7CitpbnQJPGEgaHJlZj0iI3htbFVDU0lzR290aGljIj54bWxVQ1NJc0dvdGhpYzwvYT4JCQkoaW50IGNvZGUpOworaW50CTxhIGhyZWY9IiN4bWxVQ1NJc0tobWVyIj54bWxVQ1NJc0tobWVyPC9hPgkJCShpbnQgY29kZSk7CitpbnQJPGEgaHJlZj0iI3htbFVDU0lzQ29tYmluaW5nRGlhY3JpdGljYWxNYXJrc2ZvclN5bWJvbHMiPnhtbFVDU0lzQ29tYmluaW5nRGlhY3JpdGljYWxNYXJrc2ZvclN5bWJvbHM8L2E+CShpbnQgY29kZSk7CitpbnQJPGEgaHJlZj0iI3htbFVDU0lzT2doYW0iPnhtbFVDU0lzT2doYW08L2E+CQkJKGludCBjb2RlKTsKK2ludAk8YSBocmVmPSIjeG1sVUNTSXNPcml5YSI+eG1sVUNTSXNPcml5YTwvYT4JCQkoaW50IGNvZGUpOworaW50CTxhIGhyZWY9IiN4bWxVQ1NJc0xpbmVhckJJZGVvZ3JhbXMiPnhtbFVDU0lzTGluZWFyQklkZW9ncmFtczwvYT4JKGludCBjb2RlKTsKK2ludAk8YSBocmVmPSIjeG1sVUNTSXNCbG9jayI+eG1sVUNTSXNCbG9jazwvYT4JCQkoaW50IGNvZGUsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGJsb2NrKTsKK2ludAk8YSBocmVmPSIjeG1sVUNTSXNCb3BvbW9mb0V4dGVuZGVkIj54bWxVQ1NJc0JvcG9tb2ZvRXh0ZW5kZWQ8L2E+CShpbnQgY29kZSk7CitpbnQJPGEgaHJlZj0iI3htbFVDU0lzSGFuZ3VsSmFtbyI+eG1sVUNTSXNIYW5ndWxKYW1vPC9hPgkJKGludCBjb2RlKTsKK2ludAk8YSBocmVmPSIjeG1sVUNTSXNUYWdiYW53YSI+eG1sVUNTSXNUYWdiYW53YTwvYT4JCShpbnQgY29kZSk7CitpbnQJPGEgaHJlZj0iI3htbFVDU0lzR2VuZXJhbFB1bmN0dWF0aW9uIj54bWxVQ1NJc0dlbmVyYWxQdW5jdHVhdGlvbjwvYT4JKGludCBjb2RlKTsKK2ludAk8YSBocmVmPSIjeG1sVUNTSXNDeXJpbGxpYyI+eG1sVUNTSXNDeXJpbGxpYzwvYT4JCShpbnQgY29kZSk7CitpbnQJPGEgaHJlZj0iI3htbFVDU0lzQXJyb3dzIj54bWxVQ1NJc0Fycm93czwvYT4JCQkoaW50IGNvZGUpOworaW50CTxhIGhyZWY9IiN4bWxVQ1NJc0NvbnRyb2xQaWN0dXJlcyI+eG1sVUNTSXNDb250cm9sUGljdHVyZXM8L2E+CQkoaW50IGNvZGUpOworaW50CTxhIGhyZWY9IiN4bWxVQ1NJc0NKS1VuaWZpZWRJZGVvZ3JhcGhzIj54bWxVQ1NJc0NKS1VuaWZpZWRJZGVvZ3JhcGhzPC9hPgkoaW50IGNvZGUpOworaW50CTxhIGhyZWY9IiN4bWxVQ1NJc0NhdE5sIj54bWxVQ1NJc0NhdE5sPC9hPgkJCShpbnQgY29kZSk7CitpbnQJPGEgaHJlZj0iI3htbFVDU0lzQ2F0Tm8iPnhtbFVDU0lzQ2F0Tm88L2E+CQkJKGludCBjb2RlKTsKK2ludAk8YSBocmVmPSIjeG1sVUNTSXNZaWppbmdIZXhhZ3JhbVN5bWJvbHMiPnhtbFVDU0lzWWlqaW5nSGV4YWdyYW1TeW1ib2xzPC9hPgkoaW50IGNvZGUpOworaW50CTxhIGhyZWY9IiN4bWxVQ1NJc1ZhcmlhdGlvblNlbGVjdG9yc1N1cHBsZW1lbnQiPnhtbFVDU0lzVmFyaWF0aW9uU2VsZWN0b3JzU3VwcGxlbWVudDwvYT4JKGludCBjb2RlKTsKK2ludAk8YSBocmVmPSIjeG1sVUNTSXNCZW5nYWxpIj54bWxVQ1NJc0JlbmdhbGk8L2E+CQkJKGludCBjb2RlKTsKK2ludAk8YSBocmVmPSIjeG1sVUNTSXNQcml2YXRlVXNlIj54bWxVQ1NJc1ByaXZhdGVVc2U8L2E+CQkoaW50IGNvZGUpOworaW50CTxhIGhyZWY9IiN4bWxVQ1NJc011c2ljYWxTeW1ib2xzIj54bWxVQ1NJc011c2ljYWxTeW1ib2xzPC9hPgkJKGludCBjb2RlKTsKK2ludAk8YSBocmVmPSIjeG1sVUNTSXNNaXNjZWxsYW5lb3VzU3ltYm9scyI+eG1sVUNTSXNNaXNjZWxsYW5lb3VzU3ltYm9sczwvYT4JKGludCBjb2RlKTsKK2ludAk8YSBocmVmPSIjeG1sVUNTSXNDSktDb21wYXRpYmlsaXR5Ij54bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHk8L2E+CShpbnQgY29kZSk7CitpbnQJPGEgaHJlZj0iI3htbFVDU0lzQWVnZWFuTnVtYmVycyI+eG1sVUNTSXNBZWdlYW5OdW1iZXJzPC9hPgkJKGludCBjb2RlKTsKK2ludAk8YSBocmVmPSIjeG1sVUNTSXNEZXZhbmFnYXJpIj54bWxVQ1NJc0RldmFuYWdhcmk8L2E+CQkoaW50IGNvZGUpOworaW50CTxhIGhyZWY9IiN4bWxVQ1NJc1N1cHBsZW1lbnRhbEFycm93c0EiPnhtbFVDU0lzU3VwcGxlbWVudGFsQXJyb3dzQTwvYT4JKGludCBjb2RlKTsKK2ludAk8YSBocmVmPSIjeG1sVUNTSXNTdXBwbGVtZW50YWxBcnJvd3NCIj54bWxVQ1NJc1N1cHBsZW1lbnRhbEFycm93c0I8L2E+CShpbnQgY29kZSk7CitpbnQJPGEgaHJlZj0iI3htbFVDU0lzTnVtYmVyRm9ybXMiPnhtbFVDU0lzTnVtYmVyRm9ybXM8L2E+CQkoaW50IGNvZGUpOworaW50CTxhIGhyZWY9IiN4bWxVQ1NJc1NwYWNpbmdNb2RpZmllckxldHRlcnMiPnhtbFVDU0lzU3BhY2luZ01vZGlmaWVyTGV0dGVyczwvYT4JKGludCBjb2RlKTsKK2ludAk8YSBocmVmPSIjeG1sVUNTSXNPcHRpY2FsQ2hhcmFjdGVyUmVjb2duaXRpb24iPnhtbFVDU0lzT3B0aWNhbENoYXJhY3RlclJlY29nbml0aW9uPC9hPgkoaW50IGNvZGUpOworaW50CTxhIGhyZWY9IiN4bWxVQ1NJc0NhdFBjIj54bWxVQ1NJc0NhdFBjPC9hPgkJCShpbnQgY29kZSk7CitpbnQJPGEgaHJlZj0iI3htbFVDU0lzQ2F0UGYiPnhtbFVDU0lzQ2F0UGY8L2E+CQkJKGludCBjb2RlKTsKK2ludAk8YSBocmVmPSIjeG1sVUNTSXNDeXJpbGxpY1N1cHBsZW1lbnQiPnhtbFVDU0lzQ3lyaWxsaWNTdXBwbGVtZW50PC9hPgkoaW50IGNvZGUpOworaW50CTxhIGhyZWY9IiN4bWxVQ1NJc0NhdFBkIj54bWxVQ1NJc0NhdFBkPC9hPgkJCShpbnQgY29kZSk7CitpbnQJPGEgaHJlZj0iI3htbFVDU0lzQ2F0UGkiPnhtbFVDU0lzQ2F0UGk8L2E+CQkJKGludCBjb2RlKTsKK2ludAk8YSBocmVmPSIjeG1sVUNTSXNDYXRQbyI+eG1sVUNTSXNDYXRQbzwvYT4JCQkoaW50IGNvZGUpOworaW50CTxhIGhyZWY9IiN4bWxVQ1NJc0hpZ2hQcml2YXRlVXNlU3Vycm9nYXRlcyI+eG1sVUNTSXNIaWdoUHJpdmF0ZVVzZVN1cnJvZ2F0ZXM8L2E+CShpbnQgY29kZSk7CitpbnQJPGEgaHJlZj0iI3htbFVDU0lzTGF0aW5FeHRlbmRlZEFkZGl0aW9uYWwiPnhtbFVDU0lzTGF0aW5FeHRlbmRlZEFkZGl0aW9uYWw8L2E+CShpbnQgY29kZSk7CitpbnQJPGEgaHJlZj0iI3htbFVDU0lzQ2F0UHMiPnhtbFVDU0lzQ2F0UHM8L2E+CQkJKGludCBjb2RlKTsKK2ludAk8YSBocmVmPSIjeG1sVUNTSXNIaWdoU3Vycm9nYXRlcyI+eG1sVUNTSXNIaWdoU3Vycm9nYXRlczwvYT4JCShpbnQgY29kZSk7CitpbnQJPGEgaHJlZj0iI3htbFVDU0lzTGFvIj54bWxVQ1NJc0xhbzwvYT4JCQkoaW50IGNvZGUpOworaW50CTxhIGhyZWY9IiN4bWxVQ1NJc0JyYWlsbGVQYXR0ZXJucyI+eG1sVUNTSXNCcmFpbGxlUGF0dGVybnM8L2E+CQkoaW50IGNvZGUpOworaW50CTxhIGhyZWY9IiN4bWxVQ1NJc0Rlc2VyZXQiPnhtbFVDU0lzRGVzZXJldDwvYT4JCQkoaW50IGNvZGUpOworaW50CTxhIGhyZWY9IiN4bWxVQ1NJc0VuY2xvc2VkQWxwaGFudW1lcmljcyI+eG1sVUNTSXNFbmNsb3NlZEFscGhhbnVtZXJpY3M8L2E+CShpbnQgY29kZSk7CitpbnQJPGEgaHJlZj0iI3htbFVDU0lzQ29tYmluaW5nRGlhY3JpdGljYWxNYXJrcyI+eG1sVUNTSXNDb21iaW5pbmdEaWFjcml0aWNhbE1hcmtzPC9hPgkoaW50IGNvZGUpOworaW50CTxhIGhyZWY9IiN4bWxVQ1NJc0lkZW9ncmFwaGljRGVzY3JpcHRpb25DaGFyYWN0ZXJzIj54bWxVQ1NJc0lkZW9ncmFwaGljRGVzY3JpcHRpb25DaGFyYWN0ZXJzPC9hPgkoaW50IGNvZGUpOworaW50CTxhIGhyZWY9IiN4bWxVQ1NJc1ByaXZhdGVVc2VBcmVhIj54bWxVQ1NJc1ByaXZhdGVVc2VBcmVhPC9hPgkJKGludCBjb2RlKTsKK2ludAk8YSBocmVmPSIjeG1sVUNTSXNDYXQiPnhtbFVDU0lzQ2F0PC9hPgkJCShpbnQgY29kZSwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogY2F0KTsKK2ludAk8YSBocmVmPSIjeG1sVUNTSXNDYXRMdSI+eG1sVUNTSXNDYXRMdTwvYT4JCQkoaW50IGNvZGUpOworaW50CTxhIGhyZWY9IiN4bWxVQ1NJc0NhdEx0Ij54bWxVQ1NJc0NhdEx0PC9hPgkJCShpbnQgY29kZSk7CitpbnQJPGEgaHJlZj0iI3htbFVDU0lzWWlTeWxsYWJsZXMiPnhtbFVDU0lzWWlTeWxsYWJsZXM8L2E+CQkoaW50IGNvZGUpOworaW50CTxhIGhyZWY9IiN4bWxVQ1NJc1NoYXZpYW4iPnhtbFVDU0lzU2hhdmlhbjwvYT4JCQkoaW50IGNvZGUpOworaW50CTxhIGhyZWY9IiN4bWxVQ1NJc0NhdExvIj54bWxVQ1NJc0NhdExvPC9hPgkJCShpbnQgY29kZSk7CitpbnQJPGEgaHJlZj0iI3htbFVDU0lzQ2F0TG0iPnhtbFVDU0lzQ2F0TG08L2E+CQkJKGludCBjb2RlKTsKK2ludAk8YSBocmVmPSIjeG1sVUNTSXNDYXRMbCI+eG1sVUNTSXNDYXRMbDwvYT4JCQkoaW50IGNvZGUpOworaW50CTxhIGhyZWY9IiN4bWxVQ1NJc01pc2NlbGxhbmVvdXNUZWNobmljYWwiPnhtbFVDU0lzTWlzY2VsbGFuZW91c1RlY2huaWNhbDwvYT4JKGludCBjb2RlKTsKK2ludAk8YSBocmVmPSIjeG1sVUNTSXNVZ2FyaXRpYyI+eG1sVUNTSXNVZ2FyaXRpYzwvYT4JCShpbnQgY29kZSk7CitpbnQJPGEgaHJlZj0iI3htbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eUlkZW9ncmFwaHNTdXBwbGVtZW50Ij54bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHlJZGVvZ3JhcGhzU3VwcGxlbWVudDwvYT4JKGludCBjb2RlKTsKK2ludAk8YSBocmVmPSIjeG1sVUNTSXNDeXByaW90U3lsbGFiYXJ5Ij54bWxVQ1NJc0N5cHJpb3RTeWxsYWJhcnk8L2E+CShpbnQgY29kZSk7CitpbnQJPGEgaHJlZj0iI3htbFVDU0lzVGFtaWwiPnhtbFVDU0lzVGFtaWw8L2E+CQkJKGludCBjb2RlKTsKK2ludAk8YSBocmVmPSIjeG1sVUNTSXNDYXRDIj54bWxVQ1NJc0NhdEM8L2E+CQkJKGludCBjb2RlKTsKK2ludAk8YSBocmVmPSIjeG1sVUNTSXNDYXROIj54bWxVQ1NJc0NhdE48L2E+CQkJKGludCBjb2RlKTsKK2ludAk8YSBocmVmPSIjeG1sVUNTSXNDYXRMIj54bWxVQ1NJc0NhdEw8L2E+CQkJKGludCBjb2RlKTsKK2ludAk8YSBocmVmPSIjeG1sVUNTSXNDYXRNIj54bWxVQ1NJc0NhdE08L2E+CQkJKGludCBjb2RlKTsKK2ludAk8YSBocmVmPSIjeG1sVUNTSXNVbmlmaWVkQ2FuYWRpYW5BYm9yaWdpbmFsU3lsbGFiaWNzIj54bWxVQ1NJc1VuaWZpZWRDYW5hZGlhbkFib3JpZ2luYWxTeWxsYWJpY3M8L2E+CShpbnQgY29kZSk7CitpbnQJPGEgaHJlZj0iI3htbFVDU0lzQ2F0UyI+eG1sVUNTSXNDYXRTPC9hPgkJCShpbnQgY29kZSk7CitpbnQJPGEgaHJlZj0iI3htbFVDU0lzQ2F0UCI+eG1sVUNTSXNDYXRQPC9hPgkJCShpbnQgY29kZSk7CitpbnQJPGEgaHJlZj0iI3htbFVDU0lzU2luaGFsYSI+eG1sVUNTSXNTaW5oYWxhPC9hPgkJCShpbnQgY29kZSk7CitpbnQJPGEgaHJlZj0iI3htbFVDU0lzR2VvcmdpYW4iPnhtbFVDU0lzR2VvcmdpYW48L2E+CQkoaW50IGNvZGUpOworaW50CTxhIGhyZWY9IiN4bWxVQ1NJc0NhdFoiPnhtbFVDU0lzQ2F0WjwvYT4JCQkoaW50IGNvZGUpOworaW50CTxhIGhyZWY9IiN4bWxVQ1NJc0lQQUV4dGVuc2lvbnMiPnhtbFVDU0lzSVBBRXh0ZW5zaW9uczwvYT4JCShpbnQgY29kZSk7CitpbnQJPGEgaHJlZj0iI3htbFVDU0lzS2FuZ3hpUmFkaWNhbHMiPnhtbFVDU0lzS2FuZ3hpUmFkaWNhbHM8L2E+CQkoaW50IGNvZGUpOworaW50CTxhIGhyZWY9IiN4bWxVQ1NJc0dyZWVrIj54bWxVQ1NJc0dyZWVrPC9hPgkJCShpbnQgY29kZSk7CitpbnQJPGEgaHJlZj0iI3htbFVDU0lzQ2F0UGUiPnhtbFVDU0lzQ2F0UGU8L2E+CQkJKGludCBjb2RlKTsKK2ludAk8YSBocmVmPSIjeG1sVUNTSXNIYW51bm9vIj54bWxVQ1NJc0hhbnVub288L2E+CQkJKGludCBjb2RlKTsKK2ludAk8YSBocmVmPSIjeG1sVUNTSXNBcm1lbmlhbiI+eG1sVUNTSXNBcm1lbmlhbjwvYT4JCShpbnQgY29kZSk7CitpbnQJPGEgaHJlZj0iI3htbFVDU0lzU3VwcGxlbWVudGFyeVByaXZhdGVVc2VBcmVhQiI+eG1sVUNTSXNTdXBwbGVtZW50YXJ5UHJpdmF0ZVVzZUFyZWFCPC9hPgkoaW50IGNvZGUpOworaW50CTxhIGhyZWY9IiN4bWxVQ1NJc1N1cHBsZW1lbnRhcnlQcml2YXRlVXNlQXJlYUEiPnhtbFVDU0lzU3VwcGxlbWVudGFyeVByaXZhdGVVc2VBcmVhQTwvYT4JKGludCBjb2RlKTsKK2ludAk8YSBocmVmPSIjeG1sVUNTSXNLYXRha2FuYVBob25ldGljRXh0ZW5zaW9ucyI+eG1sVUNTSXNLYXRha2FuYVBob25ldGljRXh0ZW5zaW9uczwvYT4JKGludCBjb2RlKTsKK2ludAk8YSBocmVmPSIjeG1sVUNTSXNMZXR0ZXJsaWtlU3ltYm9scyI+eG1sVUNTSXNMZXR0ZXJsaWtlU3ltYm9sczwvYT4JKGludCBjb2RlKTsKK2ludAk8YSBocmVmPSIjeG1sVUNTSXNQaG9uZXRpY0V4dGVuc2lvbnMiPnhtbFVDU0lzUGhvbmV0aWNFeHRlbnNpb25zPC9hPgkoaW50IGNvZGUpOworaW50CTxhIGhyZWY9IiN4bWxVQ1NJc0FyYWJpYyI+eG1sVUNTSXNBcmFiaWM8L2E+CQkJKGludCBjb2RlKTsKK2ludAk8YSBocmVmPSIjeG1sVUNTSXNIZWJyZXciPnhtbFVDU0lzSGVicmV3PC9hPgkJCShpbnQgY29kZSk7CitpbnQJPGEgaHJlZj0iI3htbFVDU0lzT2xkSXRhbGljIj54bWxVQ1NJc09sZEl0YWxpYzwvYT4JCShpbnQgY29kZSk7CitpbnQJPGEgaHJlZj0iI3htbFVDU0lzQXJhYmljUHJlc2VudGF0aW9uRm9ybXNBIj54bWxVQ1NJc0FyYWJpY1ByZXNlbnRhdGlvbkZvcm1zQTwvYT4JKGludCBjb2RlKTsKK2ludAk8YSBocmVmPSIjeG1sVUNTSXNDYXRacCI+eG1sVUNTSXNDYXRacDwvYT4JCQkoaW50IGNvZGUpOworaW50CTxhIGhyZWY9IiN4bWxVQ1NJc0NhdFpzIj54bWxVQ1NJc0NhdFpzPC9hPgkJCShpbnQgY29kZSk7CitpbnQJPGEgaHJlZj0iI3htbFVDU0lzQXJhYmljUHJlc2VudGF0aW9uRm9ybXNCIj54bWxVQ1NJc0FyYWJpY1ByZXNlbnRhdGlvbkZvcm1zQjwvYT4JKGludCBjb2RlKTsKK2ludAk8YSBocmVmPSIjeG1sVUNTSXNHZW9tZXRyaWNTaGFwZXMiPnhtbFVDU0lzR2VvbWV0cmljU2hhcGVzPC9hPgkJKGludCBjb2RlKTsKK2ludAk8YSBocmVmPSIjeG1sVUNTSXNDYXRabCI+eG1sVUNTSXNDYXRabDwvYT4JCQkoaW50IGNvZGUpOworaW50CTxhIGhyZWY9IiN4bWxVQ1NJc1RhZ2Fsb2ciPnhtbFVDU0lzVGFnYWxvZzwvYT4JCQkoaW50IGNvZGUpOworaW50CTxhIGhyZWY9IiN4bWxVQ1NJc1NwZWNpYWxzIj54bWxVQ1NJc1NwZWNpYWxzPC9hPgkJKGludCBjb2RlKTsKK2ludAk8YSBocmVmPSIjeG1sVUNTSXNHdWphcmF0aSI+eG1sVUNTSXNHdWphcmF0aTwvYT4JCShpbnQgY29kZSk7CitpbnQJPGEgaHJlZj0iI3htbFVDU0lzS2F0YWthbmEiPnhtbFVDU0lzS2F0YWthbmE8L2E+CQkoaW50IGNvZGUpOworaW50CTxhIGhyZWY9IiN4bWxVQ1NJc0hhbGZ3aWR0aGFuZEZ1bGx3aWR0aEZvcm1zIj54bWxVQ1NJc0hhbGZ3aWR0aGFuZEZ1bGx3aWR0aEZvcm1zPC9hPgkoaW50IGNvZGUpOworaW50CTxhIGhyZWY9IiN4bWxVQ1NJc0xhdGluRXh0ZW5kZWRCIj54bWxVQ1NJc0xhdGluRXh0ZW5kZWRCPC9hPgkJKGludCBjb2RlKTsKK2ludAk8YSBocmVmPSIjeG1sVUNTSXNMYXRpbkV4dGVuZGVkQSI+eG1sVUNTSXNMYXRpbkV4dGVuZGVkQTwvYT4JCShpbnQgY29kZSk7CitpbnQJPGEgaHJlZj0iI3htbFVDU0lzQnVoaWQiPnhtbFVDU0lzQnVoaWQ8L2E+CQkJKGludCBjb2RlKTsKK2ludAk8YSBocmVmPSIjeG1sVUNTSXNNaXNjZWxsYW5lb3VzU3ltYm9sc2FuZEFycm93cyI+eG1sVUNTSXNNaXNjZWxsYW5lb3VzU3ltYm9sc2FuZEFycm93czwvYT4JKGludCBjb2RlKTsKK2ludAk8YSBocmVmPSIjeG1sVUNTSXNUYWlMZSI+eG1sVUNTSXNUYWlMZTwvYT4JCQkoaW50IGNvZGUpOworaW50CTxhIGhyZWY9IiN4bWxVQ1NJc0NKS1N5bWJvbHNhbmRQdW5jdHVhdGlvbiI+eG1sVUNTSXNDSktTeW1ib2xzYW5kUHVuY3R1YXRpb248L2E+CShpbnQgY29kZSk7CitpbnQJPGEgaHJlZj0iI3htbFVDU0lzVGFpWHVhbkppbmdTeW1ib2xzIj54bWxVQ1NJc1RhaVh1YW5KaW5nU3ltYm9sczwvYT4JKGludCBjb2RlKTsKK2ludAk8YSBocmVmPSIjeG1sVUNTSXNHdXJtdWtoaSI+eG1sVUNTSXNHdXJtdWtoaTwvYT4JCShpbnQgY29kZSk7CitpbnQJPGEgaHJlZj0iI3htbFVDU0lzTWF0aGVtYXRpY2FsT3BlcmF0b3JzIj54bWxVQ1NJc01hdGhlbWF0aWNhbE9wZXJhdG9yczwvYT4JKGludCBjb2RlKTsKK2ludAk8YSBocmVmPSIjeG1sVUNTSXNBbHBoYWJldGljUHJlc2VudGF0aW9uRm9ybXMiPnhtbFVDU0lzQWxwaGFiZXRpY1ByZXNlbnRhdGlvbkZvcm1zPC9hPgkoaW50IGNvZGUpOworaW50CTxhIGhyZWY9IiN4bWxVQ1NJc0N1cnJlbmN5U3ltYm9scyI+eG1sVUNTSXNDdXJyZW5jeVN5bWJvbHM8L2E+CQkoaW50IGNvZGUpOworaW50CTxhIGhyZWY9IiN4bWxVQ1NJc1N1cHBsZW1lbnRhbE1hdGhlbWF0aWNhbE9wZXJhdG9ycyI+eG1sVUNTSXNTdXBwbGVtZW50YWxNYXRoZW1hdGljYWxPcGVyYXRvcnM8L2E+CShpbnQgY29kZSk7CitpbnQJPGEgaHJlZj0iI3htbFVDU0lzQ0pLVW5pZmllZElkZW9ncmFwaHNFeHRlbnNpb25BIj54bWxVQ1NJc0NKS1VuaWZpZWRJZGVvZ3JhcGhzRXh0ZW5zaW9uQTwvYT4JKGludCBjb2RlKTsKK2ludAk8YSBocmVmPSIjeG1sVUNTSXNLYW5idW4iPnhtbFVDU0lzS2FuYnVuPC9hPgkJCShpbnQgY29kZSk7CitpbnQJPGEgaHJlZj0iI3htbFVDU0lzQ0pLVW5pZmllZElkZW9ncmFwaHNFeHRlbnNpb25CIj54bWxVQ1NJc0NKS1VuaWZpZWRJZGVvZ3JhcGhzRXh0ZW5zaW9uQjwvYT4JKGludCBjb2RlKTsKK2ludAk8YSBocmVmPSIjeG1sVUNTSXNUaGFpIj54bWxVQ1NJc1RoYWk8L2E+CQkJKGludCBjb2RlKTsKK2ludAk8YSBocmVmPSIjeG1sVUNTSXNSdW5pYyI+eG1sVUNTSXNSdW5pYzwvYT4JCQkoaW50IGNvZGUpOworaW50CTxhIGhyZWY9IiN4bWxVQ1NJc0NhdE5kIj54bWxVQ1NJc0NhdE5kPC9hPgkJCShpbnQgY29kZSk7CitpbnQJPGEgaHJlZj0iI3htbFVDU0lzTGF0aW4xU3VwcGxlbWVudCI+eG1sVUNTSXNMYXRpbjFTdXBwbGVtZW50PC9hPgkoaW50IGNvZGUpOworaW50CTxhIGhyZWY9IiN4bWxVQ1NJc0xpbmVhckJTeWxsYWJhcnkiPnhtbFVDU0lzTGluZWFyQlN5bGxhYmFyeTwvYT4JKGludCBjb2RlKTsKK2ludAk8YSBocmVmPSIjeG1sVUNTSXNIaXJhZ2FuYSI+eG1sVUNTSXNIaXJhZ2FuYTwvYT4JCShpbnQgY29kZSk7CitpbnQJPGEgaHJlZj0iI3htbFVDU0lzTWlzY2VsbGFuZW91c01hdGhlbWF0aWNhbFN5bWJvbHNCIj54bWxVQ1NJc01pc2NlbGxhbmVvdXNNYXRoZW1hdGljYWxTeW1ib2xzQjwvYT4JKGludCBjb2RlKTsKK2ludAk8YSBocmVmPSIjeG1sVUNTSXNNaXNjZWxsYW5lb3VzTWF0aGVtYXRpY2FsU3ltYm9sc0EiPnhtbFVDU0lzTWlzY2VsbGFuZW91c01hdGhlbWF0aWNhbFN5bWJvbHNBPC9hPgkoaW50IGNvZGUpOworaW50CTxhIGhyZWY9IiN4bWxVQ1NJc0NhdE1uIj54bWxVQ1NJc0NhdE1uPC9hPgkJCShpbnQgY29kZSk7CitpbnQJPGEgaHJlZj0iI3htbFVDU0lzVmFyaWF0aW9uU2VsZWN0b3JzIj54bWxVQ1NJc1ZhcmlhdGlvblNlbGVjdG9yczwvYT4JKGludCBjb2RlKTsKK2ludAk8YSBocmVmPSIjeG1sVUNTSXNDYXRNYyI+eG1sVUNTSXNDYXRNYzwvYT4JCQkoaW50IGNvZGUpOworaW50CTxhIGhyZWY9IiN4bWxVQ1NJc0NhdE1lIj54bWxVQ1NJc0NhdE1lPC9hPgkJCShpbnQgY29kZSk7Cis8L3ByZT4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MSIgbGFuZz0iZW4iPgorICAgICAgPGgyPkRlc2NyaXB0aW9uPC9oMj4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MSIgbGFuZz0iZW4iPgorICAgICAgPGgyPkRldGFpbHM8L2gyPgorICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVUNTSXNBZWdlYW5OdW1iZXJzIi8+eG1sVUNTSXNBZWdlYW5OdW1iZXJzICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzQWVnZWFuTnVtYmVycwkJKGludCBjb2RlKTxici8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBBZWdlYW5OdW1iZXJzIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFVDU0lzQWxwaGFiZXRpY1ByZXNlbnRhdGlvbkZvcm1zIi8+eG1sVUNTSXNBbHBoYWJldGljUHJlc2VudGF0aW9uRm9ybXMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNBbHBoYWJldGljUHJlc2VudGF0aW9uRm9ybXMJKGludCBjb2RlKTxici8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBBbHBoYWJldGljUHJlc2VudGF0aW9uRm9ybXMgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVUNTSXNBcmFiaWMiLz54bWxVQ1NJc0FyYWJpYyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0FyYWJpYwkJCShpbnQgY29kZSk8YnIvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgQXJhYmljIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFVDU0lzQXJhYmljUHJlc2VudGF0aW9uRm9ybXNBIi8+eG1sVUNTSXNBcmFiaWNQcmVzZW50YXRpb25Gb3Jtc0EgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNBcmFiaWNQcmVzZW50YXRpb25Gb3Jtc0EJKGludCBjb2RlKTxici8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBBcmFiaWNQcmVzZW50YXRpb25Gb3Jtcy1BIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFVDU0lzQXJhYmljUHJlc2VudGF0aW9uRm9ybXNCIi8+eG1sVUNTSXNBcmFiaWNQcmVzZW50YXRpb25Gb3Jtc0IgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNBcmFiaWNQcmVzZW50YXRpb25Gb3Jtc0IJKGludCBjb2RlKTxici8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBBcmFiaWNQcmVzZW50YXRpb25Gb3Jtcy1CIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFVDU0lzQXJtZW5pYW4iLz54bWxVQ1NJc0FybWVuaWFuICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzQXJtZW5pYW4JCShpbnQgY29kZSk8YnIvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgQXJtZW5pYW4gVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVUNTSXNBcnJvd3MiLz54bWxVQ1NJc0Fycm93cyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0Fycm93cwkJCShpbnQgY29kZSk8YnIvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgQXJyb3dzIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFVDU0lzQmFzaWNMYXRpbiIvPnhtbFVDU0lzQmFzaWNMYXRpbiAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0Jhc2ljTGF0aW4JCShpbnQgY29kZSk8YnIvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgQmFzaWNMYXRpbiBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0JlbmdhbGkiLz54bWxVQ1NJc0JlbmdhbGkgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNCZW5nYWxpCQkJKGludCBjb2RlKTxici8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBCZW5nYWxpIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFVDU0lzQmxvY2siLz54bWxVQ1NJc0Jsb2NrICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzQmxvY2sJCQkoaW50IGNvZGUsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGJsb2NrKTxici8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiB0aGUgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YmxvY2s8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBibG9jayBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUsIDAgaWYgZmFsc2UgYW5kIC0xIG9uIHVua25vd24gYmxvY2s8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0Jsb2NrRWxlbWVudHMiLz54bWxVQ1NJc0Jsb2NrRWxlbWVudHMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNCbG9ja0VsZW1lbnRzCQkoaW50IGNvZGUpPGJyLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEJsb2NrRWxlbWVudHMgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVUNTSXNCb3BvbW9mbyIvPnhtbFVDU0lzQm9wb21vZm8gKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNCb3BvbW9mbwkJKGludCBjb2RlKTxici8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBCb3BvbW9mbyBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0JvcG9tb2ZvRXh0ZW5kZWQiLz54bWxVQ1NJc0JvcG9tb2ZvRXh0ZW5kZWQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNCb3BvbW9mb0V4dGVuZGVkCShpbnQgY29kZSk8YnIvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgQm9wb21vZm9FeHRlbmRlZCBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0JveERyYXdpbmciLz54bWxVQ1NJc0JveERyYXdpbmcgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNCb3hEcmF3aW5nCQkoaW50IGNvZGUpPGJyLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEJveERyYXdpbmcgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVUNTSXNCcmFpbGxlUGF0dGVybnMiLz54bWxVQ1NJc0JyYWlsbGVQYXR0ZXJucyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0JyYWlsbGVQYXR0ZXJucwkJKGludCBjb2RlKTxici8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBCcmFpbGxlUGF0dGVybnMgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVUNTSXNCdWhpZCIvPnhtbFVDU0lzQnVoaWQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNCdWhpZAkJCShpbnQgY29kZSk8YnIvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgQnVoaWQgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVUNTSXNCeXphbnRpbmVNdXNpY2FsU3ltYm9scyIvPnhtbFVDU0lzQnl6YW50aW5lTXVzaWNhbFN5bWJvbHMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNCeXphbnRpbmVNdXNpY2FsU3ltYm9scwkoaW50IGNvZGUpPGJyLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEJ5emFudGluZU11c2ljYWxTeW1ib2xzIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eSIvPnhtbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHkJKGludCBjb2RlKTxici8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBDSktDb21wYXRpYmlsaXR5IFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eUZvcm1zIi8+eG1sVUNTSXNDSktDb21wYXRpYmlsaXR5Rm9ybXMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNDSktDb21wYXRpYmlsaXR5Rm9ybXMJKGludCBjb2RlKTxici8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBDSktDb21wYXRpYmlsaXR5Rm9ybXMgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVUNTSXNDSktDb21wYXRpYmlsaXR5SWRlb2dyYXBocyIvPnhtbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eUlkZW9ncmFwaHMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNDSktDb21wYXRpYmlsaXR5SWRlb2dyYXBocwkoaW50IGNvZGUpPGJyLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIENKS0NvbXBhdGliaWxpdHlJZGVvZ3JhcGhzIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eUlkZW9ncmFwaHNTdXBwbGVtZW50Ii8+eG1sVUNTSXNDSktDb21wYXRpYmlsaXR5SWRlb2dyYXBoc1N1cHBsZW1lbnQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNDSktDb21wYXRpYmlsaXR5SWRlb2dyYXBoc1N1cHBsZW1lbnQJKGludCBjb2RlKTxici8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBDSktDb21wYXRpYmlsaXR5SWRlb2dyYXBoc1N1cHBsZW1lbnQgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVUNTSXNDSktSYWRpY2Fsc1N1cHBsZW1lbnQiLz54bWxVQ1NJc0NKS1JhZGljYWxzU3VwcGxlbWVudCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0NKS1JhZGljYWxzU3VwcGxlbWVudAkoaW50IGNvZGUpPGJyLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIENKS1JhZGljYWxzU3VwcGxlbWVudCBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0NKS1N5bWJvbHNhbmRQdW5jdHVhdGlvbiIvPnhtbFVDU0lzQ0pLU3ltYm9sc2FuZFB1bmN0dWF0aW9uICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzQ0pLU3ltYm9sc2FuZFB1bmN0dWF0aW9uCShpbnQgY29kZSk8YnIvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgQ0pLU3ltYm9sc2FuZFB1bmN0dWF0aW9uIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFVDU0lzQ0pLVW5pZmllZElkZW9ncmFwaHMiLz54bWxVQ1NJc0NKS1VuaWZpZWRJZGVvZ3JhcGhzICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzQ0pLVW5pZmllZElkZW9ncmFwaHMJKGludCBjb2RlKTxici8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBDSktVbmlmaWVkSWRlb2dyYXBocyBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0NKS1VuaWZpZWRJZGVvZ3JhcGhzRXh0ZW5zaW9uQSIvPnhtbFVDU0lzQ0pLVW5pZmllZElkZW9ncmFwaHNFeHRlbnNpb25BICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzQ0pLVW5pZmllZElkZW9ncmFwaHNFeHRlbnNpb25BCShpbnQgY29kZSk8YnIvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgQ0pLVW5pZmllZElkZW9ncmFwaHNFeHRlbnNpb25BIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFVDU0lzQ0pLVW5pZmllZElkZW9ncmFwaHNFeHRlbnNpb25CIi8+eG1sVUNTSXNDSktVbmlmaWVkSWRlb2dyYXBoc0V4dGVuc2lvbkIgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNDSktVbmlmaWVkSWRlb2dyYXBoc0V4dGVuc2lvbkIJKGludCBjb2RlKTxici8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBDSktVbmlmaWVkSWRlb2dyYXBoc0V4dGVuc2lvbkIgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVUNTSXNDYXQiLz54bWxVQ1NJc0NhdCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0NhdAkJCShpbnQgY29kZSwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogY2F0KTxici8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiB0aGUgVUNTIENhdGVnb3J5PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y2F0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgQ2F0ZWdvcnkgbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlLCAwIGlmIGZhbHNlIGFuZCAtMSBvbiB1bmtub3duIGNhdGVnb3J5PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVUNTSXNDYXRDIi8+eG1sVUNTSXNDYXRDICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzQ2F0QwkJCShpbnQgY29kZSk8YnIvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgQyBVQ1MgQ2F0ZWdvcnk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0NhdENjIi8+eG1sVUNTSXNDYXRDYyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0NhdENjCQkJKGludCBjb2RlKTxici8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBDYyBVQ1MgQ2F0ZWdvcnk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0NhdENmIi8+eG1sVUNTSXNDYXRDZiAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0NhdENmCQkJKGludCBjb2RlKTxici8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBDZiBVQ1MgQ2F0ZWdvcnk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0NhdENvIi8+eG1sVUNTSXNDYXRDbyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0NhdENvCQkJKGludCBjb2RlKTxici8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBDbyBVQ1MgQ2F0ZWdvcnk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0NhdENzIi8+eG1sVUNTSXNDYXRDcyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0NhdENzCQkJKGludCBjb2RlKTxici8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBDcyBVQ1MgQ2F0ZWdvcnk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0NhdEwiLz54bWxVQ1NJc0NhdEwgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNDYXRMCQkJKGludCBjb2RlKTxici8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBMIFVDUyBDYXRlZ29yeTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFVDU0lzQ2F0TGwiLz54bWxVQ1NJc0NhdExsICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzQ2F0TGwJCQkoaW50IGNvZGUpPGJyLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIExsIFVDUyBDYXRlZ29yeTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFVDU0lzQ2F0TG0iLz54bWxVQ1NJc0NhdExtICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzQ2F0TG0JCQkoaW50IGNvZGUpPGJyLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIExtIFVDUyBDYXRlZ29yeTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFVDU0lzQ2F0TG8iLz54bWxVQ1NJc0NhdExvICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzQ2F0TG8JCQkoaW50IGNvZGUpPGJyLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIExvIFVDUyBDYXRlZ29yeTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFVDU0lzQ2F0THQiLz54bWxVQ1NJc0NhdEx0ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzQ2F0THQJCQkoaW50IGNvZGUpPGJyLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEx0IFVDUyBDYXRlZ29yeTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFVDU0lzQ2F0THUiLz54bWxVQ1NJc0NhdEx1ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzQ2F0THUJCQkoaW50IGNvZGUpPGJyLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEx1IFVDUyBDYXRlZ29yeTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFVDU0lzQ2F0TSIvPnhtbFVDU0lzQ2F0TSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0NhdE0JCQkoaW50IGNvZGUpPGJyLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIE0gVUNTIENhdGVnb3J5PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVUNTSXNDYXRNYyIvPnhtbFVDU0lzQ2F0TWMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNDYXRNYwkJCShpbnQgY29kZSk8YnIvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgTWMgVUNTIENhdGVnb3J5PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVUNTSXNDYXRNZSIvPnhtbFVDU0lzQ2F0TWUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNDYXRNZQkJCShpbnQgY29kZSk8YnIvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgTWUgVUNTIENhdGVnb3J5PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVUNTSXNDYXRNbiIvPnhtbFVDU0lzQ2F0TW4gKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNDYXRNbgkJCShpbnQgY29kZSk8YnIvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgTW4gVUNTIENhdGVnb3J5PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVUNTSXNDYXROIi8+eG1sVUNTSXNDYXROICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzQ2F0TgkJCShpbnQgY29kZSk8YnIvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgTiBVQ1MgQ2F0ZWdvcnk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0NhdE5kIi8+eG1sVUNTSXNDYXROZCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0NhdE5kCQkJKGludCBjb2RlKTxici8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBOZCBVQ1MgQ2F0ZWdvcnk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0NhdE5sIi8+eG1sVUNTSXNDYXRObCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0NhdE5sCQkJKGludCBjb2RlKTxici8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBObCBVQ1MgQ2F0ZWdvcnk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0NhdE5vIi8+eG1sVUNTSXNDYXRObyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0NhdE5vCQkJKGludCBjb2RlKTxici8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBObyBVQ1MgQ2F0ZWdvcnk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0NhdFAiLz54bWxVQ1NJc0NhdFAgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNDYXRQCQkJKGludCBjb2RlKTxici8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBQIFVDUyBDYXRlZ29yeTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFVDU0lzQ2F0UGMiLz54bWxVQ1NJc0NhdFBjICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzQ2F0UGMJCQkoaW50IGNvZGUpPGJyLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFBjIFVDUyBDYXRlZ29yeTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFVDU0lzQ2F0UGQiLz54bWxVQ1NJc0NhdFBkICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzQ2F0UGQJCQkoaW50IGNvZGUpPGJyLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFBkIFVDUyBDYXRlZ29yeTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFVDU0lzQ2F0UGUiLz54bWxVQ1NJc0NhdFBlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzQ2F0UGUJCQkoaW50IGNvZGUpPGJyLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFBlIFVDUyBDYXRlZ29yeTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFVDU0lzQ2F0UGYiLz54bWxVQ1NJc0NhdFBmICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzQ2F0UGYJCQkoaW50IGNvZGUpPGJyLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFBmIFVDUyBDYXRlZ29yeTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFVDU0lzQ2F0UGkiLz54bWxVQ1NJc0NhdFBpICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzQ2F0UGkJCQkoaW50IGNvZGUpPGJyLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFBpIFVDUyBDYXRlZ29yeTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFVDU0lzQ2F0UG8iLz54bWxVQ1NJc0NhdFBvICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzQ2F0UG8JCQkoaW50IGNvZGUpPGJyLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFBvIFVDUyBDYXRlZ29yeTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFVDU0lzQ2F0UHMiLz54bWxVQ1NJc0NhdFBzICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzQ2F0UHMJCQkoaW50IGNvZGUpPGJyLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFBzIFVDUyBDYXRlZ29yeTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFVDU0lzQ2F0UyIvPnhtbFVDU0lzQ2F0UyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0NhdFMJCQkoaW50IGNvZGUpPGJyLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFMgVUNTIENhdGVnb3J5PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVUNTSXNDYXRTYyIvPnhtbFVDU0lzQ2F0U2MgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNDYXRTYwkJCShpbnQgY29kZSk8YnIvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgU2MgVUNTIENhdGVnb3J5PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVUNTSXNDYXRTayIvPnhtbFVDU0lzQ2F0U2sgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNDYXRTawkJCShpbnQgY29kZSk8YnIvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgU2sgVUNTIENhdGVnb3J5PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVUNTSXNDYXRTbSIvPnhtbFVDU0lzQ2F0U20gKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNDYXRTbQkJCShpbnQgY29kZSk8YnIvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgU20gVUNTIENhdGVnb3J5PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVUNTSXNDYXRTbyIvPnhtbFVDU0lzQ2F0U28gKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNDYXRTbwkJCShpbnQgY29kZSk8YnIvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgU28gVUNTIENhdGVnb3J5PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVUNTSXNDYXRaIi8+eG1sVUNTSXNDYXRaICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzQ2F0WgkJCShpbnQgY29kZSk8YnIvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgWiBVQ1MgQ2F0ZWdvcnk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0NhdFpsIi8+eG1sVUNTSXNDYXRabCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0NhdFpsCQkJKGludCBjb2RlKTxici8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBabCBVQ1MgQ2F0ZWdvcnk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0NhdFpwIi8+eG1sVUNTSXNDYXRacCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0NhdFpwCQkJKGludCBjb2RlKTxici8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBacCBVQ1MgQ2F0ZWdvcnk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0NhdFpzIi8+eG1sVUNTSXNDYXRacyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0NhdFpzCQkJKGludCBjb2RlKTxici8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBacyBVQ1MgQ2F0ZWdvcnk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0NoZXJva2VlIi8+eG1sVUNTSXNDaGVyb2tlZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0NoZXJva2VlCQkoaW50IGNvZGUpPGJyLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIENoZXJva2VlIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFVDU0lzQ29tYmluaW5nRGlhY3JpdGljYWxNYXJrcyIvPnhtbFVDU0lzQ29tYmluaW5nRGlhY3JpdGljYWxNYXJrcyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0NvbWJpbmluZ0RpYWNyaXRpY2FsTWFya3MJKGludCBjb2RlKTxici8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBDb21iaW5pbmdEaWFjcml0aWNhbE1hcmtzIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFVDU0lzQ29tYmluaW5nRGlhY3JpdGljYWxNYXJrc2ZvclN5bWJvbHMiLz54bWxVQ1NJc0NvbWJpbmluZ0RpYWNyaXRpY2FsTWFya3Nmb3JTeW1ib2xzICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzQ29tYmluaW5nRGlhY3JpdGljYWxNYXJrc2ZvclN5bWJvbHMJKGludCBjb2RlKTxici8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBDb21iaW5pbmdEaWFjcml0aWNhbE1hcmtzZm9yU3ltYm9scyBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0NvbWJpbmluZ0hhbGZNYXJrcyIvPnhtbFVDU0lzQ29tYmluaW5nSGFsZk1hcmtzICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzQ29tYmluaW5nSGFsZk1hcmtzCShpbnQgY29kZSk8YnIvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgQ29tYmluaW5nSGFsZk1hcmtzIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFVDU0lzQ29tYmluaW5nTWFya3Nmb3JTeW1ib2xzIi8+eG1sVUNTSXNDb21iaW5pbmdNYXJrc2ZvclN5bWJvbHMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNDb21iaW5pbmdNYXJrc2ZvclN5bWJvbHMJKGludCBjb2RlKTxici8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBDb21iaW5pbmdNYXJrc2ZvclN5bWJvbHMgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVUNTSXNDb250cm9sUGljdHVyZXMiLz54bWxVQ1NJc0NvbnRyb2xQaWN0dXJlcyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0NvbnRyb2xQaWN0dXJlcwkJKGludCBjb2RlKTxici8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBDb250cm9sUGljdHVyZXMgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVUNTSXNDdXJyZW5jeVN5bWJvbHMiLz54bWxVQ1NJc0N1cnJlbmN5U3ltYm9scyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0N1cnJlbmN5U3ltYm9scwkJKGludCBjb2RlKTxici8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBDdXJyZW5jeVN5bWJvbHMgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVUNTSXNDeXByaW90U3lsbGFiYXJ5Ii8+eG1sVUNTSXNDeXByaW90U3lsbGFiYXJ5ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzQ3lwcmlvdFN5bGxhYmFyeQkoaW50IGNvZGUpPGJyLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEN5cHJpb3RTeWxsYWJhcnkgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVUNTSXNDeXJpbGxpYyIvPnhtbFVDU0lzQ3lyaWxsaWMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNDeXJpbGxpYwkJKGludCBjb2RlKTxici8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBDeXJpbGxpYyBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0N5cmlsbGljU3VwcGxlbWVudCIvPnhtbFVDU0lzQ3lyaWxsaWNTdXBwbGVtZW50ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzQ3lyaWxsaWNTdXBwbGVtZW50CShpbnQgY29kZSk8YnIvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgQ3lyaWxsaWNTdXBwbGVtZW50IFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFVDU0lzRGVzZXJldCIvPnhtbFVDU0lzRGVzZXJldCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0Rlc2VyZXQJCQkoaW50IGNvZGUpPGJyLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIERlc2VyZXQgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVUNTSXNEZXZhbmFnYXJpIi8+eG1sVUNTSXNEZXZhbmFnYXJpICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzRGV2YW5hZ2FyaQkJKGludCBjb2RlKTxici8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBEZXZhbmFnYXJpIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFVDU0lzRGluZ2JhdHMiLz54bWxVQ1NJc0RpbmdiYXRzICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzRGluZ2JhdHMJCShpbnQgY29kZSk8YnIvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgRGluZ2JhdHMgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVUNTSXNFbmNsb3NlZEFscGhhbnVtZXJpY3MiLz54bWxVQ1NJc0VuY2xvc2VkQWxwaGFudW1lcmljcyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0VuY2xvc2VkQWxwaGFudW1lcmljcwkoaW50IGNvZGUpPGJyLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEVuY2xvc2VkQWxwaGFudW1lcmljcyBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0VuY2xvc2VkQ0pLTGV0dGVyc2FuZE1vbnRocyIvPnhtbFVDU0lzRW5jbG9zZWRDSktMZXR0ZXJzYW5kTW9udGhzICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzRW5jbG9zZWRDSktMZXR0ZXJzYW5kTW9udGhzCShpbnQgY29kZSk8YnIvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgRW5jbG9zZWRDSktMZXR0ZXJzYW5kTW9udGhzIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFVDU0lzRXRoaW9waWMiLz54bWxVQ1NJc0V0aGlvcGljICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzRXRoaW9waWMJCShpbnQgY29kZSk8YnIvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgRXRoaW9waWMgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVUNTSXNHZW5lcmFsUHVuY3R1YXRpb24iLz54bWxVQ1NJc0dlbmVyYWxQdW5jdHVhdGlvbiAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0dlbmVyYWxQdW5jdHVhdGlvbgkoaW50IGNvZGUpPGJyLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEdlbmVyYWxQdW5jdHVhdGlvbiBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0dlb21ldHJpY1NoYXBlcyIvPnhtbFVDU0lzR2VvbWV0cmljU2hhcGVzICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzR2VvbWV0cmljU2hhcGVzCQkoaW50IGNvZGUpPGJyLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEdlb21ldHJpY1NoYXBlcyBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0dlb3JnaWFuIi8+eG1sVUNTSXNHZW9yZ2lhbiAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0dlb3JnaWFuCQkoaW50IGNvZGUpPGJyLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEdlb3JnaWFuIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFVDU0lzR290aGljIi8+eG1sVUNTSXNHb3RoaWMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNHb3RoaWMJCQkoaW50IGNvZGUpPGJyLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEdvdGhpYyBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0dyZWVrIi8+eG1sVUNTSXNHcmVlayAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0dyZWVrCQkJKGludCBjb2RlKTxici8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBHcmVlayBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0dyZWVrRXh0ZW5kZWQiLz54bWxVQ1NJc0dyZWVrRXh0ZW5kZWQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNHcmVla0V4dGVuZGVkCQkoaW50IGNvZGUpPGJyLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEdyZWVrRXh0ZW5kZWQgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVUNTSXNHcmVla2FuZENvcHRpYyIvPnhtbFVDU0lzR3JlZWthbmRDb3B0aWMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNHcmVla2FuZENvcHRpYwkJKGludCBjb2RlKTxici8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBHcmVla2FuZENvcHRpYyBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0d1amFyYXRpIi8+eG1sVUNTSXNHdWphcmF0aSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0d1amFyYXRpCQkoaW50IGNvZGUpPGJyLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEd1amFyYXRpIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFVDU0lzR3VybXVraGkiLz54bWxVQ1NJc0d1cm11a2hpICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzR3VybXVraGkJCShpbnQgY29kZSk8YnIvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgR3VybXVraGkgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVUNTSXNIYWxmd2lkdGhhbmRGdWxsd2lkdGhGb3JtcyIvPnhtbFVDU0lzSGFsZndpZHRoYW5kRnVsbHdpZHRoRm9ybXMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNIYWxmd2lkdGhhbmRGdWxsd2lkdGhGb3JtcwkoaW50IGNvZGUpPGJyLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEhhbGZ3aWR0aGFuZEZ1bGx3aWR0aEZvcm1zIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFVDU0lzSGFuZ3VsQ29tcGF0aWJpbGl0eUphbW8iLz54bWxVQ1NJc0hhbmd1bENvbXBhdGliaWxpdHlKYW1vICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzSGFuZ3VsQ29tcGF0aWJpbGl0eUphbW8JKGludCBjb2RlKTxici8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBIYW5ndWxDb21wYXRpYmlsaXR5SmFtbyBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0hhbmd1bEphbW8iLz54bWxVQ1NJc0hhbmd1bEphbW8gKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNIYW5ndWxKYW1vCQkoaW50IGNvZGUpPGJyLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEhhbmd1bEphbW8gVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVUNTSXNIYW5ndWxTeWxsYWJsZXMiLz54bWxVQ1NJc0hhbmd1bFN5bGxhYmxlcyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0hhbmd1bFN5bGxhYmxlcwkJKGludCBjb2RlKTxici8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBIYW5ndWxTeWxsYWJsZXMgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVUNTSXNIYW51bm9vIi8+eG1sVUNTSXNIYW51bm9vICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzSGFudW5vbwkJCShpbnQgY29kZSk8YnIvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgSGFudW5vbyBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0hlYnJldyIvPnhtbFVDU0lzSGVicmV3ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzSGVicmV3CQkJKGludCBjb2RlKTxici8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBIZWJyZXcgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVUNTSXNIaWdoUHJpdmF0ZVVzZVN1cnJvZ2F0ZXMiLz54bWxVQ1NJc0hpZ2hQcml2YXRlVXNlU3Vycm9nYXRlcyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0hpZ2hQcml2YXRlVXNlU3Vycm9nYXRlcwkoaW50IGNvZGUpPGJyLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEhpZ2hQcml2YXRlVXNlU3Vycm9nYXRlcyBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0hpZ2hTdXJyb2dhdGVzIi8+eG1sVUNTSXNIaWdoU3Vycm9nYXRlcyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0hpZ2hTdXJyb2dhdGVzCQkoaW50IGNvZGUpPGJyLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEhpZ2hTdXJyb2dhdGVzIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFVDU0lzSGlyYWdhbmEiLz54bWxVQ1NJc0hpcmFnYW5hICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzSGlyYWdhbmEJCShpbnQgY29kZSk8YnIvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgSGlyYWdhbmEgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVUNTSXNJUEFFeHRlbnNpb25zIi8+eG1sVUNTSXNJUEFFeHRlbnNpb25zICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzSVBBRXh0ZW5zaW9ucwkJKGludCBjb2RlKTxici8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBJUEFFeHRlbnNpb25zIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFVDU0lzSWRlb2dyYXBoaWNEZXNjcmlwdGlvbkNoYXJhY3RlcnMiLz54bWxVQ1NJc0lkZW9ncmFwaGljRGVzY3JpcHRpb25DaGFyYWN0ZXJzICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzSWRlb2dyYXBoaWNEZXNjcmlwdGlvbkNoYXJhY3RlcnMJKGludCBjb2RlKTxici8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBJZGVvZ3JhcGhpY0Rlc2NyaXB0aW9uQ2hhcmFjdGVycyBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0thbmJ1biIvPnhtbFVDU0lzS2FuYnVuICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzS2FuYnVuCQkJKGludCBjb2RlKTxici8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBLYW5idW4gVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVUNTSXNLYW5neGlSYWRpY2FscyIvPnhtbFVDU0lzS2FuZ3hpUmFkaWNhbHMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNLYW5neGlSYWRpY2FscwkJKGludCBjb2RlKTxici8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBLYW5neGlSYWRpY2FscyBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0thbm5hZGEiLz54bWxVQ1NJc0thbm5hZGEgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNLYW5uYWRhCQkJKGludCBjb2RlKTxici8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBLYW5uYWRhIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFVDU0lzS2F0YWthbmEiLz54bWxVQ1NJc0thdGFrYW5hICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzS2F0YWthbmEJCShpbnQgY29kZSk8YnIvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgS2F0YWthbmEgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVUNTSXNLYXRha2FuYVBob25ldGljRXh0ZW5zaW9ucyIvPnhtbFVDU0lzS2F0YWthbmFQaG9uZXRpY0V4dGVuc2lvbnMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNLYXRha2FuYVBob25ldGljRXh0ZW5zaW9ucwkoaW50IGNvZGUpPGJyLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEthdGFrYW5hUGhvbmV0aWNFeHRlbnNpb25zIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFVDU0lzS2htZXIiLz54bWxVQ1NJc0tobWVyICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzS2htZXIJCQkoaW50IGNvZGUpPGJyLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEtobWVyIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFVDU0lzS2htZXJTeW1ib2xzIi8+eG1sVUNTSXNLaG1lclN5bWJvbHMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNLaG1lclN5bWJvbHMJCShpbnQgY29kZSk8YnIvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgS2htZXJTeW1ib2xzIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFVDU0lzTGFvIi8+eG1sVUNTSXNMYW8gKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNMYW8JCQkoaW50IGNvZGUpPGJyLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIExhbyBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0xhdGluMVN1cHBsZW1lbnQiLz54bWxVQ1NJc0xhdGluMVN1cHBsZW1lbnQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNMYXRpbjFTdXBwbGVtZW50CShpbnQgY29kZSk8YnIvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgTGF0aW4tMVN1cHBsZW1lbnQgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVUNTSXNMYXRpbkV4dGVuZGVkQSIvPnhtbFVDU0lzTGF0aW5FeHRlbmRlZEEgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNMYXRpbkV4dGVuZGVkQQkJKGludCBjb2RlKTxici8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBMYXRpbkV4dGVuZGVkLUEgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVUNTSXNMYXRpbkV4dGVuZGVkQWRkaXRpb25hbCIvPnhtbFVDU0lzTGF0aW5FeHRlbmRlZEFkZGl0aW9uYWwgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNMYXRpbkV4dGVuZGVkQWRkaXRpb25hbAkoaW50IGNvZGUpPGJyLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIExhdGluRXh0ZW5kZWRBZGRpdGlvbmFsIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFVDU0lzTGF0aW5FeHRlbmRlZEIiLz54bWxVQ1NJc0xhdGluRXh0ZW5kZWRCICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzTGF0aW5FeHRlbmRlZEIJCShpbnQgY29kZSk8YnIvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgTGF0aW5FeHRlbmRlZC1CIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFVDU0lzTGV0dGVybGlrZVN5bWJvbHMiLz54bWxVQ1NJc0xldHRlcmxpa2VTeW1ib2xzICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzTGV0dGVybGlrZVN5bWJvbHMJKGludCBjb2RlKTxici8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBMZXR0ZXJsaWtlU3ltYm9scyBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0xpbWJ1Ii8+eG1sVUNTSXNMaW1idSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0xpbWJ1CQkJKGludCBjb2RlKTxici8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBMaW1idSBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0xpbmVhckJJZGVvZ3JhbXMiLz54bWxVQ1NJc0xpbmVhckJJZGVvZ3JhbXMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNMaW5lYXJCSWRlb2dyYW1zCShpbnQgY29kZSk8YnIvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgTGluZWFyQklkZW9ncmFtcyBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0xpbmVhckJTeWxsYWJhcnkiLz54bWxVQ1NJc0xpbmVhckJTeWxsYWJhcnkgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNMaW5lYXJCU3lsbGFiYXJ5CShpbnQgY29kZSk8YnIvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgTGluZWFyQlN5bGxhYmFyeSBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0xvd1N1cnJvZ2F0ZXMiLz54bWxVQ1NJc0xvd1N1cnJvZ2F0ZXMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNMb3dTdXJyb2dhdGVzCQkoaW50IGNvZGUpPGJyLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIExvd1N1cnJvZ2F0ZXMgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVUNTSXNNYWxheWFsYW0iLz54bWxVQ1NJc01hbGF5YWxhbSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc01hbGF5YWxhbQkJKGludCBjb2RlKTxici8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBNYWxheWFsYW0gVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVUNTSXNNYXRoZW1hdGljYWxBbHBoYW51bWVyaWNTeW1ib2xzIi8+eG1sVUNTSXNNYXRoZW1hdGljYWxBbHBoYW51bWVyaWNTeW1ib2xzICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzTWF0aGVtYXRpY2FsQWxwaGFudW1lcmljU3ltYm9scwkoaW50IGNvZGUpPGJyLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIE1hdGhlbWF0aWNhbEFscGhhbnVtZXJpY1N5bWJvbHMgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVUNTSXNNYXRoZW1hdGljYWxPcGVyYXRvcnMiLz54bWxVQ1NJc01hdGhlbWF0aWNhbE9wZXJhdG9ycyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc01hdGhlbWF0aWNhbE9wZXJhdG9ycwkoaW50IGNvZGUpPGJyLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIE1hdGhlbWF0aWNhbE9wZXJhdG9ycyBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxVQ1NJc01pc2NlbGxhbmVvdXNNYXRoZW1hdGljYWxTeW1ib2xzQSIvPnhtbFVDU0lzTWlzY2VsbGFuZW91c01hdGhlbWF0aWNhbFN5bWJvbHNBICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzTWlzY2VsbGFuZW91c01hdGhlbWF0aWNhbFN5bWJvbHNBCShpbnQgY29kZSk8YnIvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgTWlzY2VsbGFuZW91c01hdGhlbWF0aWNhbFN5bWJvbHMtQSBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxVQ1NJc01pc2NlbGxhbmVvdXNNYXRoZW1hdGljYWxTeW1ib2xzQiIvPnhtbFVDU0lzTWlzY2VsbGFuZW91c01hdGhlbWF0aWNhbFN5bWJvbHNCICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzTWlzY2VsbGFuZW91c01hdGhlbWF0aWNhbFN5bWJvbHNCCShpbnQgY29kZSk8YnIvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgTWlzY2VsbGFuZW91c01hdGhlbWF0aWNhbFN5bWJvbHMtQiBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxVQ1NJc01pc2NlbGxhbmVvdXNTeW1ib2xzIi8+eG1sVUNTSXNNaXNjZWxsYW5lb3VzU3ltYm9scyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc01pc2NlbGxhbmVvdXNTeW1ib2xzCShpbnQgY29kZSk8YnIvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgTWlzY2VsbGFuZW91c1N5bWJvbHMgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVUNTSXNNaXNjZWxsYW5lb3VzU3ltYm9sc2FuZEFycm93cyIvPnhtbFVDU0lzTWlzY2VsbGFuZW91c1N5bWJvbHNhbmRBcnJvd3MgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNNaXNjZWxsYW5lb3VzU3ltYm9sc2FuZEFycm93cwkoaW50IGNvZGUpPGJyLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIE1pc2NlbGxhbmVvdXNTeW1ib2xzYW5kQXJyb3dzIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFVDU0lzTWlzY2VsbGFuZW91c1RlY2huaWNhbCIvPnhtbFVDU0lzTWlzY2VsbGFuZW91c1RlY2huaWNhbCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc01pc2NlbGxhbmVvdXNUZWNobmljYWwJKGludCBjb2RlKTxici8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBNaXNjZWxsYW5lb3VzVGVjaG5pY2FsIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFVDU0lzTW9uZ29saWFuIi8+eG1sVUNTSXNNb25nb2xpYW4gKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNNb25nb2xpYW4JCShpbnQgY29kZSk8YnIvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgTW9uZ29saWFuIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFVDU0lzTXVzaWNhbFN5bWJvbHMiLz54bWxVQ1NJc011c2ljYWxTeW1ib2xzICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzTXVzaWNhbFN5bWJvbHMJCShpbnQgY29kZSk8YnIvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgTXVzaWNhbFN5bWJvbHMgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVUNTSXNNeWFubWFyIi8+eG1sVUNTSXNNeWFubWFyICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzTXlhbm1hcgkJCShpbnQgY29kZSk8YnIvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgTXlhbm1hciBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxVQ1NJc051bWJlckZvcm1zIi8+eG1sVUNTSXNOdW1iZXJGb3JtcyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc051bWJlckZvcm1zCQkoaW50IGNvZGUpPGJyLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIE51bWJlckZvcm1zIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFVDU0lzT2doYW0iLz54bWxVQ1NJc09naGFtICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzT2doYW0JCQkoaW50IGNvZGUpPGJyLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIE9naGFtIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFVDU0lzT2xkSXRhbGljIi8+eG1sVUNTSXNPbGRJdGFsaWMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNPbGRJdGFsaWMJCShpbnQgY29kZSk8YnIvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgT2xkSXRhbGljIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFVDU0lzT3B0aWNhbENoYXJhY3RlclJlY29nbml0aW9uIi8+eG1sVUNTSXNPcHRpY2FsQ2hhcmFjdGVyUmVjb2duaXRpb24gKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNPcHRpY2FsQ2hhcmFjdGVyUmVjb2duaXRpb24JKGludCBjb2RlKTxici8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBPcHRpY2FsQ2hhcmFjdGVyUmVjb2duaXRpb24gVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVUNTSXNPcml5YSIvPnhtbFVDU0lzT3JpeWEgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNPcml5YQkJCShpbnQgY29kZSk8YnIvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgT3JpeWEgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVUNTSXNPc21hbnlhIi8+eG1sVUNTSXNPc21hbnlhICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzT3NtYW55YQkJCShpbnQgY29kZSk8YnIvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgT3NtYW55YSBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxVQ1NJc1Bob25ldGljRXh0ZW5zaW9ucyIvPnhtbFVDU0lzUGhvbmV0aWNFeHRlbnNpb25zICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzUGhvbmV0aWNFeHRlbnNpb25zCShpbnQgY29kZSk8YnIvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgUGhvbmV0aWNFeHRlbnNpb25zIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFVDU0lzUHJpdmF0ZVVzZSIvPnhtbFVDU0lzUHJpdmF0ZVVzZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc1ByaXZhdGVVc2UJCShpbnQgY29kZSk8YnIvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgUHJpdmF0ZVVzZSBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxVQ1NJc1ByaXZhdGVVc2VBcmVhIi8+eG1sVUNTSXNQcml2YXRlVXNlQXJlYSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc1ByaXZhdGVVc2VBcmVhCQkoaW50IGNvZGUpPGJyLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFByaXZhdGVVc2VBcmVhIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFVDU0lzUnVuaWMiLz54bWxVQ1NJc1J1bmljICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzUnVuaWMJCQkoaW50IGNvZGUpPGJyLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFJ1bmljIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFVDU0lzU2hhdmlhbiIvPnhtbFVDU0lzU2hhdmlhbiAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc1NoYXZpYW4JCQkoaW50IGNvZGUpPGJyLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFNoYXZpYW4gVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVUNTSXNTaW5oYWxhIi8+eG1sVUNTSXNTaW5oYWxhICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzU2luaGFsYQkJCShpbnQgY29kZSk8YnIvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgU2luaGFsYSBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxVQ1NJc1NtYWxsRm9ybVZhcmlhbnRzIi8+eG1sVUNTSXNTbWFsbEZvcm1WYXJpYW50cyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc1NtYWxsRm9ybVZhcmlhbnRzCShpbnQgY29kZSk8YnIvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgU21hbGxGb3JtVmFyaWFudHMgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVUNTSXNTcGFjaW5nTW9kaWZpZXJMZXR0ZXJzIi8+eG1sVUNTSXNTcGFjaW5nTW9kaWZpZXJMZXR0ZXJzICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzU3BhY2luZ01vZGlmaWVyTGV0dGVycwkoaW50IGNvZGUpPGJyLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFNwYWNpbmdNb2RpZmllckxldHRlcnMgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVUNTSXNTcGVjaWFscyIvPnhtbFVDU0lzU3BlY2lhbHMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNTcGVjaWFscwkJKGludCBjb2RlKTxici8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBTcGVjaWFscyBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxVQ1NJc1N1cGVyc2NyaXB0c2FuZFN1YnNjcmlwdHMiLz54bWxVQ1NJc1N1cGVyc2NyaXB0c2FuZFN1YnNjcmlwdHMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNTdXBlcnNjcmlwdHNhbmRTdWJzY3JpcHRzCShpbnQgY29kZSk8YnIvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgU3VwZXJzY3JpcHRzYW5kU3Vic2NyaXB0cyBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxVQ1NJc1N1cHBsZW1lbnRhbEFycm93c0EiLz54bWxVQ1NJc1N1cHBsZW1lbnRhbEFycm93c0EgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNTdXBwbGVtZW50YWxBcnJvd3NBCShpbnQgY29kZSk8YnIvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgU3VwcGxlbWVudGFsQXJyb3dzLUEgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVUNTSXNTdXBwbGVtZW50YWxBcnJvd3NCIi8+eG1sVUNTSXNTdXBwbGVtZW50YWxBcnJvd3NCICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzU3VwcGxlbWVudGFsQXJyb3dzQgkoaW50IGNvZGUpPGJyLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFN1cHBsZW1lbnRhbEFycm93cy1CIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFVDU0lzU3VwcGxlbWVudGFsTWF0aGVtYXRpY2FsT3BlcmF0b3JzIi8+eG1sVUNTSXNTdXBwbGVtZW50YWxNYXRoZW1hdGljYWxPcGVyYXRvcnMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNTdXBwbGVtZW50YWxNYXRoZW1hdGljYWxPcGVyYXRvcnMJKGludCBjb2RlKTxici8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBTdXBwbGVtZW50YWxNYXRoZW1hdGljYWxPcGVyYXRvcnMgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVUNTSXNTdXBwbGVtZW50YXJ5UHJpdmF0ZVVzZUFyZWFBIi8+eG1sVUNTSXNTdXBwbGVtZW50YXJ5UHJpdmF0ZVVzZUFyZWFBICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzU3VwcGxlbWVudGFyeVByaXZhdGVVc2VBcmVhQQkoaW50IGNvZGUpPGJyLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFN1cHBsZW1lbnRhcnlQcml2YXRlVXNlQXJlYS1BIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFVDU0lzU3VwcGxlbWVudGFyeVByaXZhdGVVc2VBcmVhQiIvPnhtbFVDU0lzU3VwcGxlbWVudGFyeVByaXZhdGVVc2VBcmVhQiAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc1N1cHBsZW1lbnRhcnlQcml2YXRlVXNlQXJlYUIJKGludCBjb2RlKTxici8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBTdXBwbGVtZW50YXJ5UHJpdmF0ZVVzZUFyZWEtQiBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxVQ1NJc1N5cmlhYyIvPnhtbFVDU0lzU3lyaWFjICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzU3lyaWFjCQkJKGludCBjb2RlKTxici8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBTeXJpYWMgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVUNTSXNUYWdhbG9nIi8+eG1sVUNTSXNUYWdhbG9nICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzVGFnYWxvZwkJCShpbnQgY29kZSk8YnIvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgVGFnYWxvZyBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxVQ1NJc1RhZ2JhbndhIi8+eG1sVUNTSXNUYWdiYW53YSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc1RhZ2JhbndhCQkoaW50IGNvZGUpPGJyLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFRhZ2JhbndhIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFVDU0lzVGFncyIvPnhtbFVDU0lzVGFncyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc1RhZ3MJCQkoaW50IGNvZGUpPGJyLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFRhZ3MgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVUNTSXNUYWlMZSIvPnhtbFVDU0lzVGFpTGUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNUYWlMZQkJCShpbnQgY29kZSk8YnIvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgVGFpTGUgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVUNTSXNUYWlYdWFuSmluZ1N5bWJvbHMiLz54bWxVQ1NJc1RhaVh1YW5KaW5nU3ltYm9scyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc1RhaVh1YW5KaW5nU3ltYm9scwkoaW50IGNvZGUpPGJyLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFRhaVh1YW5KaW5nU3ltYm9scyBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxVQ1NJc1RhbWlsIi8+eG1sVUNTSXNUYW1pbCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc1RhbWlsCQkJKGludCBjb2RlKTxici8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBUYW1pbCBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxVQ1NJc1RlbHVndSIvPnhtbFVDU0lzVGVsdWd1ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzVGVsdWd1CQkJKGludCBjb2RlKTxici8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBUZWx1Z3UgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVUNTSXNUaGFhbmEiLz54bWxVQ1NJc1RoYWFuYSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc1RoYWFuYQkJCShpbnQgY29kZSk8YnIvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgVGhhYW5hIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFVDU0lzVGhhaSIvPnhtbFVDU0lzVGhhaSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc1RoYWkJCQkoaW50IGNvZGUpPGJyLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFRoYWkgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVUNTSXNUaWJldGFuIi8+eG1sVUNTSXNUaWJldGFuICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzVGliZXRhbgkJCShpbnQgY29kZSk8YnIvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgVGliZXRhbiBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxVQ1NJc1VnYXJpdGljIi8+eG1sVUNTSXNVZ2FyaXRpYyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc1VnYXJpdGljCQkoaW50IGNvZGUpPGJyLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFVnYXJpdGljIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFVDU0lzVW5pZmllZENhbmFkaWFuQWJvcmlnaW5hbFN5bGxhYmljcyIvPnhtbFVDU0lzVW5pZmllZENhbmFkaWFuQWJvcmlnaW5hbFN5bGxhYmljcyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc1VuaWZpZWRDYW5hZGlhbkFib3JpZ2luYWxTeWxsYWJpY3MJKGludCBjb2RlKTxici8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBVbmlmaWVkQ2FuYWRpYW5BYm9yaWdpbmFsU3lsbGFiaWNzIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFVDU0lzVmFyaWF0aW9uU2VsZWN0b3JzIi8+eG1sVUNTSXNWYXJpYXRpb25TZWxlY3RvcnMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNWYXJpYXRpb25TZWxlY3RvcnMJKGludCBjb2RlKTxici8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBWYXJpYXRpb25TZWxlY3RvcnMgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVUNTSXNWYXJpYXRpb25TZWxlY3RvcnNTdXBwbGVtZW50Ii8+eG1sVUNTSXNWYXJpYXRpb25TZWxlY3RvcnNTdXBwbGVtZW50ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzVmFyaWF0aW9uU2VsZWN0b3JzU3VwcGxlbWVudAkoaW50IGNvZGUpPGJyLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFZhcmlhdGlvblNlbGVjdG9yc1N1cHBsZW1lbnQgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVUNTSXNZaVJhZGljYWxzIi8+eG1sVUNTSXNZaVJhZGljYWxzICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzWWlSYWRpY2FscwkJKGludCBjb2RlKTxici8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBZaVJhZGljYWxzIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFVDU0lzWWlTeWxsYWJsZXMiLz54bWxVQ1NJc1lpU3lsbGFibGVzICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzWWlTeWxsYWJsZXMJCShpbnQgY29kZSk8YnIvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgWWlTeWxsYWJsZXMgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVUNTSXNZaWppbmdIZXhhZ3JhbVN5bWJvbHMiLz54bWxVQ1NJc1lpamluZ0hleGFncmFtU3ltYm9scyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc1lpamluZ0hleGFncmFtU3ltYm9scwkoaW50IGNvZGUpPGJyLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFlpamluZ0hleGFncmFtU3ltYm9scyBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgPC9kaXY+CisgICAgPC9kaXY+CisgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2RldmhlbHAvbGlieG1sMi14bWx2ZXJzaW9uLmh0bWwgYi9saWJ4bWwyL2RvYy9kZXZoZWxwL2xpYnhtbDIteG1sdmVyc2lvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgxNzg2MTQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9kZXZoZWxwL2xpYnhtbDIteG1sdmVyc2lvbi5odG1sCkBAIC0wLDAgKzEsMjkyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPGh0bWw+CisgIDxoZWFkPgorICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ii8+CisgICAgPHRpdGxlPnhtbHZlcnNpb246IGNvbXBpbGUtdGltZSB2ZXJzaW9uIGluZm9ybWF0aW9uczwvdGl0bGU+CisgICAgPG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJMaWJ4bWwyIGRldmhlbHAgc3R5bGVzaGVldCIvPgorICAgIDxsaW5rIHJlbD0ic3RhcnQiIGhyZWY9ImluZGV4Lmh0bWwiIHRpdGxlPSJsaWJ4bWwyIFJlZmVyZW5jZSBNYW51YWwiLz4KKyAgICA8bGluayByZWw9InVwIiBocmVmPSJnZW5lcmFsLmh0bWwiIHRpdGxlPSJBUEkiLz4KKyAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9InN0eWxlLmNzcyIgdHlwZT0idGV4dC9jc3MiLz4KKyAgICA8bGluayByZWw9ImNoYXB0ZXIiIGhyZWY9ImdlbmVyYWwuaHRtbCIgdGl0bGU9IkFQSSIvPgorICA8L2hlYWQ+CisgIDxib2R5IGJnY29sb3I9IndoaXRlIiB0ZXh0PSJibGFjayIgbGluaz0iIzAwMDBGRiIgdmxpbms9IiM4NDAwODQiIGFsaW5rPSIjMDAwMEZGIj4KKyAgICA8dGFibGUgY2xhc3M9Im5hdmlnYXRpb24iIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIyIj4KKyAgICAgIDx0ciB2YWxpZ249Im1pZGRsZSI+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImxpYnhtbDIteG1sdW5pY29kZS5odG1sIj4KKyAgICAgICAgICAgIDxpbWcgc3JjPSJsZWZ0LnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iUHJldiIvPgorICAgICAgICAgIDwvYT4KKyAgICAgICAgPC90ZD4KKyAgICAgICAgPHRkPgorICAgICAgICAgIDxhIGFjY2Vzc2tleT0idSIgaHJlZj0iZ2VuZXJhbC5odG1sIj4KKyAgICAgICAgICAgIDxpbWcgc3JjPSJ1cC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlVwIi8+CisgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGQ+CisgICAgICAgICAgPGEgYWNjZXNza2V5PSJoIiBocmVmPSJpbmRleC5odG1sIj4KKyAgICAgICAgICAgIDxpbWcgc3JjPSJob21lLnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iSG9tZSIvPgorICAgICAgICAgIDwvYT4KKyAgICAgICAgPC90ZD4KKyAgICAgICAgPHRkPgorICAgICAgICAgIDxhIGFjY2Vzc2tleT0ibiIgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0icmlnaHQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJOZXh0Ii8+CisgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGggd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPmxpYnhtbDIgUmVmZXJlbmNlIE1hbnVhbDwvdGg+CisgICAgICA8L3RyPgorICAgIDwvdGFibGU+CisgICAgPGgyPgorICAgICAgPHNwYW4gY2xhc3M9InJlZmVudHJ5dGl0bGUiPnhtbHZlcnNpb248L3NwYW4+CisgICAgPC9oMj4KKyAgICA8cD54bWx2ZXJzaW9uIC0gY29tcGlsZS10aW1lIHZlcnNpb24gaW5mb3JtYXRpb25zPC9wPgorICAgIDxwPmNvbXBpbGUtdGltZSB2ZXJzaW9uIGluZm9ybWF0aW9ucyBmb3IgdGhlIFhNTCBsaWJyYXJ5IDwvcD4KKyAgICA8cD5BdXRob3Iocyk6IERhbmllbCBWZWlsbGFyZCA8L3A+CisgICAgPGRpdiBjbGFzcz0icmVmc3lub3BzaXNkaXYiPgorICAgICAgPGgyPlN5bm9wc2lzPC9oMj4KKyAgICAgIDxwcmUgY2xhc3M9InN5bm9wc2lzIj4jZGVmaW5lIDxhIGhyZWY9IiNMSUJYTUxfVkVSU0lPTl9FWFRSQSI+TElCWE1MX1ZFUlNJT05fRVhUUkE8L2E+OworI2RlZmluZSA8YSBocmVmPSIjTElCWE1MX01PRFVMRVNfRU5BQkxFRCI+TElCWE1MX01PRFVMRVNfRU5BQkxFRDwvYT47CisjZGVmaW5lIDxhIGhyZWY9IiNMSUJYTUxfTEVHQUNZX0VOQUJMRUQiPkxJQlhNTF9MRUdBQ1lfRU5BQkxFRDwvYT47CisjZGVmaW5lIDxhIGhyZWY9IiNMSUJYTUxfTFpNQV9FTkFCTEVEIj5MSUJYTUxfTFpNQV9FTkFCTEVEPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI0xJQlhNTF9SRUFERVJfRU5BQkxFRCI+TElCWE1MX1JFQURFUl9FTkFCTEVEPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI0xJQlhNTF9USFJFQURfRU5BQkxFRCI+TElCWE1MX1RIUkVBRF9FTkFCTEVEPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI0xJQlhNTF9ET1RURURfVkVSU0lPTiI+TElCWE1MX0RPVFRFRF9WRVJTSU9OPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI0xJQlhNTF9JU084ODU5WF9FTkFCTEVEIj5MSUJYTUxfSVNPODg1OVhfRU5BQkxFRDwvYT47CisjZGVmaW5lIDxhIGhyZWY9IiNMSUJYTUxfREVCVUdfRU5BQkxFRCI+TElCWE1MX0RFQlVHX0VOQUJMRUQ8L2E+OworI2RlZmluZSA8YSBocmVmPSIjTElCWE1MX1hJTkNMVURFX0VOQUJMRUQiPkxJQlhNTF9YSU5DTFVERV9FTkFCTEVEPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI0FUVFJJQlVURV9VTlVTRUQiPkFUVFJJQlVURV9VTlVTRUQ8L2E+OworI2RlZmluZSA8YSBocmVmPSIjTElCWE1MX0RPQ0JfRU5BQkxFRCI+TElCWE1MX0RPQ0JfRU5BQkxFRDwvYT47CisjZGVmaW5lIDxhIGhyZWY9IiNMSUJYTUxfUFVTSF9FTkFCTEVEIj5MSUJYTUxfUFVTSF9FTkFCTEVEPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI0xJQlhNTF9TQVgxX0VOQUJMRUQiPkxJQlhNTF9TQVgxX0VOQUJMRUQ8L2E+OworI2RlZmluZSA8YSBocmVmPSIjV0lUSE9VVF9UUklPIj5XSVRIT1VUX1RSSU88L2E+OworI2RlZmluZSA8YSBocmVmPSIjTElCWE1MX1NDSEVNQVRST05fRU5BQkxFRCI+TElCWE1MX1NDSEVNQVRST05fRU5BQkxFRDwvYT47CisjZGVmaW5lIDxhIGhyZWY9IiNMSUJYTUxfSFRUUF9FTkFCTEVEIj5MSUJYTUxfSFRUUF9FTkFCTEVEPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI0xJQlhNTF9PVVRQVVRfRU5BQkxFRCI+TElCWE1MX09VVFBVVF9FTkFCTEVEPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI1dJVEhfVFJJTyI+V0lUSF9UUklPPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI0xJQlhNTF9ERUJVR19SVU5USU1FIj5MSUJYTUxfREVCVUdfUlVOVElNRTwvYT47CisjZGVmaW5lIDxhIGhyZWY9IiNMSUJYTUxfVkVSU0lPTiI+TElCWE1MX1ZFUlNJT048L2E+OworI2RlZmluZSA8YSBocmVmPSIjTElCWE1MX1hQVFJfRU5BQkxFRCI+TElCWE1MX1hQVFJfRU5BQkxFRDwvYT47CisjZGVmaW5lIDxhIGhyZWY9IiNMSUJYTUxfVkVSU0lPTl9TVFJJTkciPkxJQlhNTF9WRVJTSU9OX1NUUklORzwvYT47CisjZGVmaW5lIDxhIGhyZWY9IiNMSUJYTUxfQ0FUQUxPR19FTkFCTEVEIj5MSUJYTUxfQ0FUQUxPR19FTkFCTEVEPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI0xJQlhNTF9BVFRSX0FMTE9DX1NJWkUiPkxJQlhNTF9BVFRSX0FMTE9DX1NJWkU8L2E+OworI2RlZmluZSA8YSBocmVmPSIjTElCWE1MX1JFR0VYUF9FTkFCTEVEIj5MSUJYTUxfUkVHRVhQX0VOQUJMRUQ8L2E+OworI2RlZmluZSA8YSBocmVmPSIjTElCWE1MX0lDVV9FTkFCTEVEIj5MSUJYTUxfSUNVX0VOQUJMRUQ8L2E+OworI2RlZmluZSA8YSBocmVmPSIjTElCWE1MX01PRFVMRV9FWFRFTlNJT04iPkxJQlhNTF9NT0RVTEVfRVhURU5TSU9OPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI0xJQlhNTF9JQ09OVl9FTkFCTEVEIj5MSUJYTUxfSUNPTlZfRU5BQkxFRDwvYT47CisjZGVmaW5lIDxhIGhyZWY9IiNMSUJYTUxfSFRNTF9FTkFCTEVEIj5MSUJYTUxfSFRNTF9FTkFCTEVEPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI0xJQlhNTF9VTklDT0RFX0VOQUJMRUQiPkxJQlhNTF9VTklDT0RFX0VOQUJMRUQ8L2E+OworI2RlZmluZSA8YSBocmVmPSIjTElCWE1MX0ZUUF9FTkFCTEVEIj5MSUJYTUxfRlRQX0VOQUJMRUQ8L2E+OworI2RlZmluZSA8YSBocmVmPSIjTElCWE1MX0FVVE9NQVRBX0VOQUJMRUQiPkxJQlhNTF9BVVRPTUFUQV9FTkFCTEVEPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI0xJQlhNTF9aTElCX0VOQUJMRUQiPkxJQlhNTF9aTElCX0VOQUJMRUQ8L2E+OworI2RlZmluZSA8YSBocmVmPSIjTElCWE1MX1dSSVRFUl9FTkFCTEVEIj5MSUJYTUxfV1JJVEVSX0VOQUJMRUQ8L2E+OworI2RlZmluZSA8YSBocmVmPSIjTElCWE1MX0MxNE5fRU5BQkxFRCI+TElCWE1MX0MxNE5fRU5BQkxFRDwvYT47CisjZGVmaW5lIDxhIGhyZWY9IiNMSUJYTUxfU0NIRU1BU19FTkFCTEVEIj5MSUJYTUxfU0NIRU1BU19FTkFCTEVEPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI0RFQlVHX01FTU9SWV9MT0NBVElPTiI+REVCVUdfTUVNT1JZX0xPQ0FUSU9OPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI0xJQlhNTF9BVFRSX0ZPUk1BVCI+TElCWE1MX0FUVFJfRk9STUFUPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI0xJQlhNTF9URVNUX1ZFUlNJT04iPkxJQlhNTF9URVNUX1ZFUlNJT048L2E+OworI2RlZmluZSA8YSBocmVmPSIjTElCWE1MX1RIUkVBRF9BTExPQ19FTkFCTEVEIj5MSUJYTUxfVEhSRUFEX0FMTE9DX0VOQUJMRUQ8L2E+OworI2RlZmluZSA8YSBocmVmPSIjTElCWE1MX1hQQVRIX0VOQUJMRUQiPkxJQlhNTF9YUEFUSF9FTkFCTEVEPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI0xJQlhNTF9QQVRURVJOX0VOQUJMRUQiPkxJQlhNTF9QQVRURVJOX0VOQUJMRUQ8L2E+OworI2RlZmluZSA8YSBocmVmPSIjTElCWE1MX1ZBTElEX0VOQUJMRUQiPkxJQlhNTF9WQUxJRF9FTkFCTEVEPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI0xJQlhNTF9UUkVFX0VOQUJMRUQiPkxJQlhNTF9UUkVFX0VOQUJMRUQ8L2E+OworI2RlZmluZSA8YSBocmVmPSIjTElCWE1MX0VYUFJfRU5BQkxFRCI+TElCWE1MX0VYUFJfRU5BQkxFRDwvYT47Cit2b2lkCTxhIGhyZWY9IiN4bWxDaGVja1ZlcnNpb24iPnhtbENoZWNrVmVyc2lvbjwvYT4JCQkoaW50IHZlcnNpb24pOworPC9wcmU+CisgICAgPC9kaXY+CisgICAgPGRpdiBjbGFzcz0icmVmc2VjdDEiIGxhbmc9ImVuIj4KKyAgICAgIDxoMj5EZXNjcmlwdGlvbjwvaDI+CisgICAgPC9kaXY+CisgICAgPGRpdiBjbGFzcz0icmVmc2VjdDEiIGxhbmc9ImVuIj4KKyAgICAgIDxoMj5EZXRhaWxzPC9oMj4KKyAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IkFUVFJJQlVURV9VTlVTRUQiPk1hY3JvIDwvYT5BVFRSSUJVVEVfVU5VU0VEPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjQVRUUklCVVRFX1VOVVNFRCI+QVRUUklCVVRFX1VOVVNFRDwvYT47Cis8L3ByZT48cD5NYWNybyB1c2VkIHRvIHNpZ25hbCB0byBHQ0MgdW51c2VkIGZ1bmN0aW9uIHBhcmFtZXRlcnM8L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iREVCVUdfTUVNT1JZX0xPQ0FUSU9OIj5NYWNybyA8L2E+REVCVUdfTUVNT1JZX0xPQ0FUSU9OPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjREVCVUdfTUVNT1JZX0xPQ0FUSU9OIj5ERUJVR19NRU1PUllfTE9DQVRJT048L2E+OworPC9wcmU+PHA+V2hldGhlciB0aGUgbWVtb3J5IGRlYnVnZ2luZyBpcyBjb25maWd1cmVkIGluPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IkxJQlhNTF9BVFRSX0FMTE9DX1NJWkUiPk1hY3JvIDwvYT5MSUJYTUxfQVRUUl9BTExPQ19TSVpFPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjTElCWE1MX0FUVFJfQUxMT0NfU0laRSI+TElCWE1MX0FUVFJfQUxMT0NfU0laRTwvYT47Cis8L3ByZT48cD5NYWNybyB1c2VkIHRvIGluZGljYXRlIHRvIEdDQyB0aGlzIGlzIGFuIGFsbG9jYXRvciBmdW5jdGlvbjwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJMSUJYTUxfQVRUUl9GT1JNQVQiPk1hY3JvIDwvYT5MSUJYTUxfQVRUUl9GT1JNQVQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNMSUJYTUxfQVRUUl9GT1JNQVQiPkxJQlhNTF9BVFRSX0ZPUk1BVDwvYT47Cis8L3ByZT48cD5NYWNybyB1c2VkIHRvIGluZGljYXRlIHRvIEdDQyB0aGUgcGFyYW1ldGVyIGFyZSBwcmludGYgbGlrZTwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJMSUJYTUxfQVVUT01BVEFfRU5BQkxFRCI+TWFjcm8gPC9hPkxJQlhNTF9BVVRPTUFUQV9FTkFCTEVEPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjTElCWE1MX0FVVE9NQVRBX0VOQUJMRUQiPkxJQlhNTF9BVVRPTUFUQV9FTkFCTEVEPC9hPjsKKzwvcHJlPjxwPldoZXRoZXIgdGhlIGF1dG9tYXRhIGludGVyZmFjZXMgYXJlIGNvbXBpbGVkIGluPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IkxJQlhNTF9DMTROX0VOQUJMRUQiPk1hY3JvIDwvYT5MSUJYTUxfQzE0Tl9FTkFCTEVEPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjTElCWE1MX0MxNE5fRU5BQkxFRCI+TElCWE1MX0MxNE5fRU5BQkxFRDwvYT47Cis8L3ByZT48cD5XaGV0aGVyIHRoZSBDYW5vbmljYWxpemF0aW9uIHN1cHBvcnQgaXMgY29uZmlndXJlZCBpbjwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJMSUJYTUxfQ0FUQUxPR19FTkFCTEVEIj5NYWNybyA8L2E+TElCWE1MX0NBVEFMT0dfRU5BQkxFRDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI0xJQlhNTF9DQVRBTE9HX0VOQUJMRUQiPkxJQlhNTF9DQVRBTE9HX0VOQUJMRUQ8L2E+OworPC9wcmU+PHA+V2hldGhlciB0aGUgQ2F0YWxvZyBzdXBwb3J0IGlzIGNvbmZpZ3VyZWQgaW48L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iTElCWE1MX0RFQlVHX0VOQUJMRUQiPk1hY3JvIDwvYT5MSUJYTUxfREVCVUdfRU5BQkxFRDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI0xJQlhNTF9ERUJVR19FTkFCTEVEIj5MSUJYTUxfREVCVUdfRU5BQkxFRDwvYT47Cis8L3ByZT48cD5XaGV0aGVyIERlYnVnZ2luZyBtb2R1bGUgaXMgY29uZmlndXJlZCBpbjwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJMSUJYTUxfREVCVUdfUlVOVElNRSI+TWFjcm8gPC9hPkxJQlhNTF9ERUJVR19SVU5USU1FPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjTElCWE1MX0RFQlVHX1JVTlRJTUUiPkxJQlhNTF9ERUJVR19SVU5USU1FPC9hPjsKKzwvcHJlPjxwPldoZXRoZXIgdGhlIHJ1bnRpbWUgZGVidWdnaW5nIGlzIGNvbmZpZ3VyZWQgaW48L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iTElCWE1MX0RPQ0JfRU5BQkxFRCI+TWFjcm8gPC9hPkxJQlhNTF9ET0NCX0VOQUJMRUQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNMSUJYTUxfRE9DQl9FTkFCTEVEIj5MSUJYTUxfRE9DQl9FTkFCTEVEPC9hPjsKKzwvcHJlPjxwPldoZXRoZXIgdGhlIFNHTUwgRG9jYm9vayBzdXBwb3J0IGlzIGNvbmZpZ3VyZWQgaW48L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iTElCWE1MX0RPVFRFRF9WRVJTSU9OIj5NYWNybyA8L2E+TElCWE1MX0RPVFRFRF9WRVJTSU9OPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjTElCWE1MX0RPVFRFRF9WRVJTSU9OIj5MSUJYTUxfRE9UVEVEX1ZFUlNJT048L2E+OworPC9wcmU+PHA+dGhlIHZlcnNpb24gc3RyaW5nIGxpa2UgIjEuMi4zIjwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJMSUJYTUxfRVhQUl9FTkFCTEVEIj5NYWNybyA8L2E+TElCWE1MX0VYUFJfRU5BQkxFRDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI0xJQlhNTF9FWFBSX0VOQUJMRUQiPkxJQlhNTF9FWFBSX0VOQUJMRUQ8L2E+OworPC9wcmU+PHA+V2hldGhlciB0aGUgZm9ybWFsIGV4cHJlc3Npb25zIGludGVyZmFjZXMgYXJlIGNvbXBpbGVkIGluPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IkxJQlhNTF9GVFBfRU5BQkxFRCI+TWFjcm8gPC9hPkxJQlhNTF9GVFBfRU5BQkxFRDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI0xJQlhNTF9GVFBfRU5BQkxFRCI+TElCWE1MX0ZUUF9FTkFCTEVEPC9hPjsKKzwvcHJlPjxwPldoZXRoZXIgdGhlIEZUUCBzdXBwb3J0IGlzIGNvbmZpZ3VyZWQgaW48L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iTElCWE1MX0hUTUxfRU5BQkxFRCI+TWFjcm8gPC9hPkxJQlhNTF9IVE1MX0VOQUJMRUQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNMSUJYTUxfSFRNTF9FTkFCTEVEIj5MSUJYTUxfSFRNTF9FTkFCTEVEPC9hPjsKKzwvcHJlPjxwPldoZXRoZXIgdGhlIEhUTUwgc3VwcG9ydCBpcyBjb25maWd1cmVkIGluPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IkxJQlhNTF9IVFRQX0VOQUJMRUQiPk1hY3JvIDwvYT5MSUJYTUxfSFRUUF9FTkFCTEVEPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjTElCWE1MX0hUVFBfRU5BQkxFRCI+TElCWE1MX0hUVFBfRU5BQkxFRDwvYT47Cis8L3ByZT48cD5XaGV0aGVyIHRoZSBIVFRQIHN1cHBvcnQgaXMgY29uZmlndXJlZCBpbjwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJMSUJYTUxfSUNPTlZfRU5BQkxFRCI+TWFjcm8gPC9hPkxJQlhNTF9JQ09OVl9FTkFCTEVEPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjTElCWE1MX0lDT05WX0VOQUJMRUQiPkxJQlhNTF9JQ09OVl9FTkFCTEVEPC9hPjsKKzwvcHJlPjxwPldoZXRoZXIgaWNvbnYgc3VwcG9ydCBpcyBhdmFpbGFibGU8L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iTElCWE1MX0lDVV9FTkFCTEVEIj5NYWNybyA8L2E+TElCWE1MX0lDVV9FTkFCTEVEPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjTElCWE1MX0lDVV9FTkFCTEVEIj5MSUJYTUxfSUNVX0VOQUJMRUQ8L2E+OworPC9wcmU+PHA+V2hldGhlciBpY3Ugc3VwcG9ydCBpcyBhdmFpbGFibGU8L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iTElCWE1MX0lTTzg4NTlYX0VOQUJMRUQiPk1hY3JvIDwvYT5MSUJYTUxfSVNPODg1OVhfRU5BQkxFRDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI0xJQlhNTF9JU084ODU5WF9FTkFCTEVEIj5MSUJYTUxfSVNPODg1OVhfRU5BQkxFRDwvYT47Cis8L3ByZT48cD5XaGV0aGVyIElTTy04ODU5LSogc3VwcG9ydCBpcyBtYWRlIGF2YWlsYWJsZSBpbiBjYXNlIGljb252IGlzIG5vdDwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJMSUJYTUxfTEVHQUNZX0VOQUJMRUQiPk1hY3JvIDwvYT5MSUJYTUxfTEVHQUNZX0VOQUJMRUQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNMSUJYTUxfTEVHQUNZX0VOQUJMRUQiPkxJQlhNTF9MRUdBQ1lfRU5BQkxFRDwvYT47Cis8L3ByZT48cD5XaGV0aGVyIHRoZSBkZXByZWNhdGVkIEFQSXMgYXJlIGNvbXBpbGVkIGluIGZvciBjb21wYXRpYmlsaXR5PC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IkxJQlhNTF9MWk1BX0VOQUJMRUQiPk1hY3JvIDwvYT5MSUJYTUxfTFpNQV9FTkFCTEVEPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjTElCWE1MX0xaTUFfRU5BQkxFRCI+TElCWE1MX0xaTUFfRU5BQkxFRDwvYT47Cis8L3ByZT48cD5XaGV0aGVyIHRoZSBMem1hIHN1cHBvcnQgaXMgY29tcGlsZWQgaW48L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iTElCWE1MX01PRFVMRVNfRU5BQkxFRCI+TWFjcm8gPC9hPkxJQlhNTF9NT0RVTEVTX0VOQUJMRUQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNMSUJYTUxfTU9EVUxFU19FTkFCTEVEIj5MSUJYTUxfTU9EVUxFU19FTkFCTEVEPC9hPjsKKzwvcHJlPjxwPldoZXRoZXIgdGhlIG1vZHVsZSBpbnRlcmZhY2VzIGFyZSBjb21waWxlZCBpbjwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJMSUJYTUxfTU9EVUxFX0VYVEVOU0lPTiI+TWFjcm8gPC9hPkxJQlhNTF9NT0RVTEVfRVhURU5TSU9OPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjTElCWE1MX01PRFVMRV9FWFRFTlNJT04iPkxJQlhNTF9NT0RVTEVfRVhURU5TSU9OPC9hPjsKKzwvcHJlPjxwPnRoZSBzdHJpbmcgc3VmZml4IHVzZWQgYnkgZHluYW1pYyBtb2R1bGVzICh1c3VhbGx5IHNoYXJlZCBsaWJyYXJpZXMpPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IkxJQlhNTF9PVVRQVVRfRU5BQkxFRCI+TWFjcm8gPC9hPkxJQlhNTF9PVVRQVVRfRU5BQkxFRDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI0xJQlhNTF9PVVRQVVRfRU5BQkxFRCI+TElCWE1MX09VVFBVVF9FTkFCTEVEPC9hPjsKKzwvcHJlPjxwPldoZXRoZXIgdGhlIHNlcmlhbGl6YXRpb24vc2F2aW5nIHN1cHBvcnQgaXMgY29uZmlndXJlZCBpbjwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJMSUJYTUxfUEFUVEVSTl9FTkFCTEVEIj5NYWNybyA8L2E+TElCWE1MX1BBVFRFUk5fRU5BQkxFRDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI0xJQlhNTF9QQVRURVJOX0VOQUJMRUQiPkxJQlhNTF9QQVRURVJOX0VOQUJMRUQ8L2E+OworPC9wcmU+PHA+V2hldGhlciB0aGUgPGEgaHJlZj0ibGlieG1sMi1wYXR0ZXJuLmh0bWwjeG1sUGF0dGVybiI+eG1sUGF0dGVybjwvYT4gbm9kZSBzZWxlY3Rpb24gaW50ZXJmYWNlIGlzIGNvbmZpZ3VyZWQgaW48L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iTElCWE1MX1BVU0hfRU5BQkxFRCI+TWFjcm8gPC9hPkxJQlhNTF9QVVNIX0VOQUJMRUQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNMSUJYTUxfUFVTSF9FTkFCTEVEIj5MSUJYTUxfUFVTSF9FTkFCTEVEPC9hPjsKKzwvcHJlPjxwPldoZXRoZXIgdGhlIHB1c2ggcGFyc2luZyBpbnRlcmZhY2VzIGFyZSBjb25maWd1cmVkIGluPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IkxJQlhNTF9SRUFERVJfRU5BQkxFRCI+TWFjcm8gPC9hPkxJQlhNTF9SRUFERVJfRU5BQkxFRDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI0xJQlhNTF9SRUFERVJfRU5BQkxFRCI+TElCWE1MX1JFQURFUl9FTkFCTEVEPC9hPjsKKzwvcHJlPjxwPldoZXRoZXIgdGhlIHhtbFJlYWRlciBwYXJzaW5nIGludGVyZmFjZSBpcyBjb25maWd1cmVkIGluPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IkxJQlhNTF9SRUdFWFBfRU5BQkxFRCI+TWFjcm8gPC9hPkxJQlhNTF9SRUdFWFBfRU5BQkxFRDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI0xJQlhNTF9SRUdFWFBfRU5BQkxFRCI+TElCWE1MX1JFR0VYUF9FTkFCTEVEPC9hPjsKKzwvcHJlPjxwPldoZXRoZXIgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbnMgaW50ZXJmYWNlcyBhcmUgY29tcGlsZWQgaW48L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iTElCWE1MX1NBWDFfRU5BQkxFRCI+TWFjcm8gPC9hPkxJQlhNTF9TQVgxX0VOQUJMRUQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNMSUJYTUxfU0FYMV9FTkFCTEVEIj5MSUJYTUxfU0FYMV9FTkFCTEVEPC9hPjsKKzwvcHJlPjxwPldoZXRoZXIgdGhlIG9sZGVyIFNBWDEgaW50ZXJmYWNlIGlzIGNvbmZpZ3VyZWQgaW48L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iTElCWE1MX1NDSEVNQVNfRU5BQkxFRCI+TWFjcm8gPC9hPkxJQlhNTF9TQ0hFTUFTX0VOQUJMRUQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNMSUJYTUxfU0NIRU1BU19FTkFCTEVEIj5MSUJYTUxfU0NIRU1BU19FTkFCTEVEPC9hPjsKKzwvcHJlPjxwPldoZXRoZXIgdGhlIFNjaGVtYXMgdmFsaWRhdGlvbiBpbnRlcmZhY2VzIGFyZSBjb21waWxlZCBpbjwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJMSUJYTUxfU0NIRU1BVFJPTl9FTkFCTEVEIj5NYWNybyA8L2E+TElCWE1MX1NDSEVNQVRST05fRU5BQkxFRDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI0xJQlhNTF9TQ0hFTUFUUk9OX0VOQUJMRUQiPkxJQlhNTF9TQ0hFTUFUUk9OX0VOQUJMRUQ8L2E+OworPC9wcmU+PHA+V2hldGhlciB0aGUgU2NoZW1hdHJvbiB2YWxpZGF0aW9uIGludGVyZmFjZXMgYXJlIGNvbXBpbGVkIGluPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IkxJQlhNTF9URVNUX1ZFUlNJT04iPk1hY3JvIDwvYT5MSUJYTUxfVEVTVF9WRVJTSU9OPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjTElCWE1MX1RFU1RfVkVSU0lPTiI+TElCWE1MX1RFU1RfVkVSU0lPTjwvYT47Cis8L3ByZT48cD5NYWNybyB0byBjaGVjayB0aGF0IHRoZSBsaWJ4bWwgdmVyc2lvbiBpbiB1c2UgaXMgY29tcGF0aWJsZSB3aXRoIHRoZSB2ZXJzaW9uIHRoZSBzb2Z0d2FyZSBoYXMgYmVlbiBjb21waWxlZCBhZ2FpbnN0PC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IkxJQlhNTF9USFJFQURfQUxMT0NfRU5BQkxFRCI+TWFjcm8gPC9hPkxJQlhNTF9USFJFQURfQUxMT0NfRU5BQkxFRDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI0xJQlhNTF9USFJFQURfQUxMT0NfRU5BQkxFRCI+TElCWE1MX1RIUkVBRF9BTExPQ19FTkFCTEVEPC9hPjsKKzwvcHJlPjxwPldoZXRoZXIgdGhlIGFsbG9jYXRpb24gaG9va3MgYXJlIHBlci10aHJlYWQ8L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iTElCWE1MX1RIUkVBRF9FTkFCTEVEIj5NYWNybyA8L2E+TElCWE1MX1RIUkVBRF9FTkFCTEVEPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjTElCWE1MX1RIUkVBRF9FTkFCTEVEIj5MSUJYTUxfVEhSRUFEX0VOQUJMRUQ8L2E+OworPC9wcmU+PHA+V2hldGhlciB0aGUgdGhyZWFkIHN1cHBvcnQgaXMgY29uZmlndXJlZCBpbjwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJMSUJYTUxfVFJFRV9FTkFCTEVEIj5NYWNybyA8L2E+TElCWE1MX1RSRUVfRU5BQkxFRDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI0xJQlhNTF9UUkVFX0VOQUJMRUQiPkxJQlhNTF9UUkVFX0VOQUJMRUQ8L2E+OworPC9wcmU+PHA+V2hldGhlciB0aGUgRE9NIGxpa2UgdHJlZSBtYW5pcHVsYXRpb24gQVBJIHN1cHBvcnQgaXMgY29uZmlndXJlZCBpbjwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJMSUJYTUxfVU5JQ09ERV9FTkFCTEVEIj5NYWNybyA8L2E+TElCWE1MX1VOSUNPREVfRU5BQkxFRDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI0xJQlhNTF9VTklDT0RFX0VOQUJMRUQiPkxJQlhNTF9VTklDT0RFX0VOQUJMRUQ8L2E+OworPC9wcmU+PHA+V2hldGhlciB0aGUgVW5pY29kZSByZWxhdGVkIGludGVyZmFjZXMgYXJlIGNvbXBpbGVkIGluPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IkxJQlhNTF9WQUxJRF9FTkFCTEVEIj5NYWNybyA8L2E+TElCWE1MX1ZBTElEX0VOQUJMRUQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNMSUJYTUxfVkFMSURfRU5BQkxFRCI+TElCWE1MX1ZBTElEX0VOQUJMRUQ8L2E+OworPC9wcmU+PHA+V2hldGhlciB0aGUgRFREIHZhbGlkYXRpb24gc3VwcG9ydCBpcyBjb25maWd1cmVkIGluPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IkxJQlhNTF9WRVJTSU9OIj5NYWNybyA8L2E+TElCWE1MX1ZFUlNJT048L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNMSUJYTUxfVkVSU0lPTiI+TElCWE1MX1ZFUlNJT048L2E+OworPC9wcmU+PHA+dGhlIHZlcnNpb24gbnVtYmVyOiAxLjIuMyB2YWx1ZSBpcyAxMDIwMzwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJMSUJYTUxfVkVSU0lPTl9FWFRSQSI+TWFjcm8gPC9hPkxJQlhNTF9WRVJTSU9OX0VYVFJBPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjTElCWE1MX1ZFUlNJT05fRVhUUkEiPkxJQlhNTF9WRVJTSU9OX0VYVFJBPC9hPjsKKzwvcHJlPjxwPmV4dHJhIHZlcnNpb24gaW5mb3JtYXRpb24sIHVzZWQgdG8gc2hvdyBhIENWUyBjb21waWxhdGlvbjwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJMSUJYTUxfVkVSU0lPTl9TVFJJTkciPk1hY3JvIDwvYT5MSUJYTUxfVkVSU0lPTl9TVFJJTkc8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNMSUJYTUxfVkVSU0lPTl9TVFJJTkciPkxJQlhNTF9WRVJTSU9OX1NUUklORzwvYT47Cis8L3ByZT48cD50aGUgdmVyc2lvbiBudW1iZXIgc3RyaW5nLCAxLjIuMyB2YWx1ZSBpcyAiMTAyMDMiPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IkxJQlhNTF9XUklURVJfRU5BQkxFRCI+TWFjcm8gPC9hPkxJQlhNTF9XUklURVJfRU5BQkxFRDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI0xJQlhNTF9XUklURVJfRU5BQkxFRCI+TElCWE1MX1dSSVRFUl9FTkFCTEVEPC9hPjsKKzwvcHJlPjxwPldoZXRoZXIgdGhlIHhtbFdyaXRlciBzYXZpbmcgaW50ZXJmYWNlIGlzIGNvbmZpZ3VyZWQgaW48L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iTElCWE1MX1hJTkNMVURFX0VOQUJMRUQiPk1hY3JvIDwvYT5MSUJYTUxfWElOQ0xVREVfRU5BQkxFRDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI0xJQlhNTF9YSU5DTFVERV9FTkFCTEVEIj5MSUJYTUxfWElOQ0xVREVfRU5BQkxFRDwvYT47Cis8L3ByZT48cD5XaGV0aGVyIFhJbmNsdWRlIGlzIGNvbmZpZ3VyZWQgaW48L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iTElCWE1MX1hQQVRIX0VOQUJMRUQiPk1hY3JvIDwvYT5MSUJYTUxfWFBBVEhfRU5BQkxFRDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI0xJQlhNTF9YUEFUSF9FTkFCTEVEIj5MSUJYTUxfWFBBVEhfRU5BQkxFRDwvYT47Cis8L3ByZT48cD5XaGV0aGVyIFhQYXRoIGlzIGNvbmZpZ3VyZWQgaW48L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iTElCWE1MX1hQVFJfRU5BQkxFRCI+TWFjcm8gPC9hPkxJQlhNTF9YUFRSX0VOQUJMRUQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNMSUJYTUxfWFBUUl9FTkFCTEVEIj5MSUJYTUxfWFBUUl9FTkFCTEVEPC9hPjsKKzwvcHJlPjxwPldoZXRoZXIgWFBvaW50ZXIgaXMgY29uZmlndXJlZCBpbjwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJMSUJYTUxfWkxJQl9FTkFCTEVEIj5NYWNybyA8L2E+TElCWE1MX1pMSUJfRU5BQkxFRDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI0xJQlhNTF9aTElCX0VOQUJMRUQiPkxJQlhNTF9aTElCX0VOQUJMRUQ8L2E+OworPC9wcmU+PHA+V2hldGhlciB0aGUgWmxpYiBzdXBwb3J0IGlzIGNvbXBpbGVkIGluPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IldJVEhPVVRfVFJJTyI+TWFjcm8gPC9hPldJVEhPVVRfVFJJTzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1dJVEhPVVRfVFJJTyI+V0lUSE9VVF9UUklPPC9hPjsKKzwvcHJlPjxwPmRlZmluZWQgaWYgdGhlIHRyaW8gc3VwcG9ydCBzaG91bGQgbm90IGJlIGNvbmZpZ3VyZWQgaW48L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iV0lUSF9UUklPIj5NYWNybyA8L2E+V0lUSF9UUklPPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjV0lUSF9UUklPIj5XSVRIX1RSSU88L2E+OworPC9wcmU+PHA+ZGVmaW5lZCBpZiB0aGUgdHJpbyBzdXBwb3J0IG5lZWQgdG8gYmUgY29uZmlndXJlZCBpbjwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxDaGVja1ZlcnNpb24iLz54bWxDaGVja1ZlcnNpb24gKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbENoZWNrVmVyc2lvbgkJCShpbnQgdmVyc2lvbik8YnIvPgorPC9wcmU+PHA+Y2hlY2sgdGhlIGNvbXBpbGVkIGxpYiB2ZXJzaW9uIGFnYWluc3QgdGhlIGluY2x1ZGUgb25lLiBUaGlzIGNhbiB3YXJuIG9yIGltbWVkaWF0ZWx5IGtpbGwgdGhlIGFwcGxpY2F0aW9uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52ZXJzaW9uPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaW5jbHVkZSB2ZXJzaW9uIG51bWJlcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKyAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvZGV2aGVscC9saWJ4bWwyLXhtbHdyaXRlci5odG1sIGIvbGlieG1sMi9kb2MvZGV2aGVscC9saWJ4bWwyLXhtbHdyaXRlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdjMmJlOTIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9kZXZoZWxwL2xpYnhtbDIteG1sd3JpdGVyLmh0bWwKQEAgLTAsMCArMSw0NzkgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8aHRtbD4KKyAgPGhlYWQ+CisgICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiLz4KKyAgICA8dGl0bGU+eG1sd3JpdGVyOiB0ZXh0IHdyaXRpbmcgQVBJIGZvciBYTUw8L3RpdGxlPgorICAgIDxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iTGlieG1sMiBkZXZoZWxwIHN0eWxlc2hlZXQiLz4KKyAgICA8bGluayByZWw9InN0YXJ0IiBocmVmPSJpbmRleC5odG1sIiB0aXRsZT0ibGlieG1sMiBSZWZlcmVuY2UgTWFudWFsIi8+CisgICAgPGxpbmsgcmVsPSJ1cCIgaHJlZj0iZ2VuZXJhbC5odG1sIiB0aXRsZT0iQVBJIi8+CisgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJzdHlsZS5jc3MiIHR5cGU9InRleHQvY3NzIi8+CisgICAgPGxpbmsgcmVsPSJjaGFwdGVyIiBocmVmPSJnZW5lcmFsLmh0bWwiIHRpdGxlPSJBUEkiLz4KKyAgPC9oZWFkPgorICA8Ym9keSBiZ2NvbG9yPSJ3aGl0ZSIgdGV4dD0iYmxhY2siIGxpbms9IiMwMDAwRkYiIHZsaW5rPSIjODQwMDg0IiBhbGluaz0iIzAwMDBGRiI+CisgICAgPHRhYmxlIGNsYXNzPSJuYXZpZ2F0aW9uIiB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBoZWFkZXIiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMiI+CisgICAgICA8dHIgdmFsaWduPSJtaWRkbGUiPgorICAgICAgICA8dGQ+CisgICAgICAgICAgPGEgYWNjZXNza2V5PSJwIiBocmVmPSJsaWJ4bWwyLXhtbHZlcnNpb24uaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0ibGVmdC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlByZXYiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9InUiIGhyZWY9ImdlbmVyYWwuaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0idXAucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJVcCIvPgorICAgICAgICAgIDwvYT4KKyAgICAgICAgPC90ZD4KKyAgICAgICAgPHRkPgorICAgICAgICAgIDxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iaW5kZXguaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0iaG9tZS5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IkhvbWUiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9Im4iIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0icmlnaHQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJOZXh0Ii8+CisgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGggd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPmxpYnhtbDIgUmVmZXJlbmNlIE1hbnVhbDwvdGg+CisgICAgICA8L3RyPgorICAgIDwvdGFibGU+CisgICAgPGgyPgorICAgICAgPHNwYW4gY2xhc3M9InJlZmVudHJ5dGl0bGUiPnhtbHdyaXRlcjwvc3Bhbj4KKyAgICA8L2gyPgorICAgIDxwPnhtbHdyaXRlciAtIHRleHQgd3JpdGluZyBBUEkgZm9yIFhNTDwvcD4KKyAgICA8cD50ZXh0IHdyaXRpbmcgQVBJIGZvciBYTUwgPC9wPgorICAgIDxwPkF1dGhvcihzKTogQWxmcmVkIE1pY2thdXRzY2ggJmx0O2FsZnJlZEBtaWNrYXV0c2NoLmRlJmd0OyA8L3A+CisgICAgPGRpdiBjbGFzcz0icmVmc3lub3BzaXNkaXYiPgorICAgICAgPGgyPlN5bm9wc2lzPC9oMj4KKyAgICAgIDxwcmUgY2xhc3M9InN5bm9wc2lzIj4jZGVmaW5lIDxhIGhyZWY9IiN4bWxUZXh0V3JpdGVyV3JpdGVQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24iPnhtbFRleHRXcml0ZXJXcml0ZVByb2Nlc3NpbmdJbnN0cnVjdGlvbjwvYT47CisjZGVmaW5lIDxhIGhyZWY9IiN4bWxUZXh0V3JpdGVyV3JpdGVEb2NUeXBlIj54bWxUZXh0V3JpdGVyV3JpdGVEb2NUeXBlPC9hPjsKK3R5cGVkZWYgc3RydWN0IF94bWxUZXh0V3JpdGVyIDxhIGhyZWY9IiN4bWxUZXh0V3JpdGVyIj54bWxUZXh0V3JpdGVyPC9hPjsKK3R5cGVkZWYgPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyIj54bWxUZXh0V3JpdGVyPC9hPiAqIDxhIGhyZWY9IiN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPjsKK2ludAk8YSBocmVmPSIjeG1sVGV4dFdyaXRlclN0YXJ0RG9jdW1lbnQiPnhtbFRleHRXcml0ZXJTdGFydERvY3VtZW50PC9hPgkoPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIHZlcnNpb24sIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBzdGFuZGFsb25lKTsKK2ludAk8YSBocmVmPSIjeG1sVGV4dFdyaXRlckVuZFBJIj54bWxUZXh0V3JpdGVyRW5kUEk8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIpOworaW50CTxhIGhyZWY9IiN4bWxUZXh0V3JpdGVyV3JpdGVCYXNlNjQiPnhtbFRleHRXcml0ZXJXcml0ZUJhc2U2NDwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBkYXRhLCA8YnIvPgkJCQkJIGludCBzdGFydCwgPGJyLz4JCQkJCSBpbnQgbGVuKTsKK2ludAk8YSBocmVmPSIjeG1sVGV4dFdyaXRlclNldEluZGVudFN0cmluZyI+eG1sVGV4dFdyaXRlclNldEluZGVudFN0cmluZzwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzdHIpOworaW50CTxhIGhyZWY9IiN4bWxUZXh0V3JpdGVyU3RhcnRBdHRyaWJ1dGUiPnhtbFRleHRXcml0ZXJTdGFydEF0dHJpYnV0ZTwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKTsKK2ludAk8YSBocmVmPSIjeG1sVGV4dFdyaXRlckVuZENvbW1lbnQiPnhtbFRleHRXcml0ZXJFbmRDb21tZW50PC9hPgkJKDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyKTsKK2ludAk8YSBocmVmPSIjeG1sVGV4dFdyaXRlcldyaXRlUmF3TGVuIj54bWxUZXh0V3JpdGVyV3JpdGVSYXdMZW48L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY29udGVudCwgPGJyLz4JCQkJCSBpbnQgbGVuKTsKK2ludAk8YSBocmVmPSIjeG1sVGV4dFdyaXRlcldyaXRlRFRERXh0ZXJuYWxFbnRpdHlDb250ZW50cyI+eG1sVGV4dFdyaXRlcldyaXRlRFRERXh0ZXJuYWxFbnRpdHlDb250ZW50czwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIvPgkJCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHB1YmlkLCA8YnIvPgkJCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN5c2lkLCA8YnIvPgkJCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5kYXRhaWQpOworaW50CTxhIGhyZWY9IiN4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0Q0RBVEEiPnhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRDREFUQTwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBmb3JtYXQsIDxici8+CQkJCQkgdmFfbGlzdCBhcmdwdHIpOworaW50CTxhIGhyZWY9IiN4bWxUZXh0V3JpdGVyU3RhcnRBdHRyaWJ1dGVOUyI+eG1sVGV4dFdyaXRlclN0YXJ0QXR0cmlidXRlTlM8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHJlZml4LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lc3BhY2VVUkkpOworPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPgk8YSBocmVmPSIjeG1sTmV3VGV4dFdyaXRlclB1c2hQYXJzZXIiPnhtbE5ld1RleHRXcml0ZXJQdXNoUGFyc2VyPC9hPgkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCQkJIGludCBjb21wcmVzc2lvbik7CitpbnQJPGEgaHJlZj0iI3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdEF0dHJpYnV0ZU5TIj54bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRBdHRyaWJ1dGVOUzwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHJlZml4LCA8YnIvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWVzcGFjZVVSSSwgPGJyLz4JCQkJCQkgY29uc3QgY2hhciAqIGZvcm1hdCwgPGJyLz4JCQkJCQkgLi4uIC4uLik7CitpbnQJPGEgaHJlZj0iI3htbFRleHRXcml0ZXJXcml0ZURUREVudGl0eSI+eG1sVGV4dFdyaXRlcldyaXRlRFRERW50aXR5PC9hPgkoPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxici8+CQkJCQkgaW50IHBlLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwdWJpZCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3lzaWQsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5kYXRhaWQsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGNvbnRlbnQpOworaW50CTxhIGhyZWY9IiN4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0UEkiPnhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRQSTwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB0YXJnZXQsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGZvcm1hdCwgPGJyLz4JCQkJCSB2YV9saXN0IGFyZ3B0cik7CitpbnQJPGEgaHJlZj0iI3htbFRleHRXcml0ZXJXcml0ZUJpbkhleCI+eG1sVGV4dFdyaXRlcldyaXRlQmluSGV4PC9hPgkoPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGRhdGEsIDxici8+CQkJCQkgaW50IHN0YXJ0LCA8YnIvPgkJCQkJIGludCBsZW4pOworaW50CTxhIGhyZWY9IiN4bWxUZXh0V3JpdGVyRW5kQXR0cmlidXRlIj54bWxUZXh0V3JpdGVyRW5kQXR0cmlidXRlPC9hPgkoPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIpOworaW50CTxhIGhyZWY9IiN4bWxUZXh0V3JpdGVyU2V0SW5kZW50Ij54bWxUZXh0V3JpdGVyU2V0SW5kZW50PC9hPgkJKDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIvPgkJCQkJIGludCBpbmRlbnQpOworaW50CTxhIGhyZWY9IiN4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRQSSI+eG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0UEk8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdGFyZ2V0LCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBmb3JtYXQsIDxici8+CQkJCQkgLi4uIC4uLik7CitpbnQJPGEgaHJlZj0iI3htbFRleHRXcml0ZXJFbmREb2N1bWVudCI+eG1sVGV4dFdyaXRlckVuZERvY3VtZW50PC9hPgkoPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIpOworaW50CTxhIGhyZWY9IiN4bWxUZXh0V3JpdGVyV3JpdGVEVERBdHRsaXN0Ij54bWxUZXh0V3JpdGVyV3JpdGVEVERBdHRsaXN0PC9hPgkoPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGNvbnRlbnQpOworaW50CTxhIGhyZWY9IiN4bWxUZXh0V3JpdGVyU3RhcnRDb21tZW50Ij54bWxUZXh0V3JpdGVyU3RhcnRDb21tZW50PC9hPgkoPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIpOworaW50CTxhIGhyZWY9IiN4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFREIj54bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFREPC9hPgkoPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHB1YmlkLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzeXNpZCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZm9ybWF0LCA8YnIvPgkJCQkJIHZhX2xpc3QgYXJncHRyKTsKK2ludAk8YSBocmVmPSIjeG1sVGV4dFdyaXRlckVuZENEQVRBIj54bWxUZXh0V3JpdGVyRW5kQ0RBVEE8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIpOworaW50CTxhIGhyZWY9IiN4bWxUZXh0V3JpdGVyU3RhcnRFbGVtZW50TlMiPnhtbFRleHRXcml0ZXJTdGFydEVsZW1lbnROUzwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwcmVmaXgsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWVzcGFjZVVSSSk7CitpbnQJPGEgaHJlZj0iI3htbFRleHRXcml0ZXJFbmREVERFbnRpdHkiPnhtbFRleHRXcml0ZXJFbmREVERFbnRpdHk8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlcik7Cis8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+CTxhIGhyZWY9IiN4bWxOZXdUZXh0V3JpdGVyIj54bWxOZXdUZXh0V3JpdGVyPC9hPgkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sT3V0cHV0QnVmZmVyUHRyIj54bWxPdXRwdXRCdWZmZXJQdHI8L2E+IG91dCk7Cit2b2lkCTxhIGhyZWY9IiN4bWxGcmVlVGV4dFdyaXRlciI+eG1sRnJlZVRleHRXcml0ZXI8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIpOworaW50CTxhIGhyZWY9IiN4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFREQXR0bGlzdCI+eG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREF0dGxpc3Q8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkJIGNvbnN0IGNoYXIgKiBmb3JtYXQsIDxici8+CQkJCQkJIHZhX2xpc3QgYXJncHRyKTsKK2ludAk8YSBocmVmPSIjeG1sVGV4dFdyaXRlclN0YXJ0UEkiPnhtbFRleHRXcml0ZXJTdGFydFBJPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB0YXJnZXQpOworaW50CTxhIGhyZWY9IiN4bWxUZXh0V3JpdGVyU3RhcnRFbGVtZW50Ij54bWxUZXh0V3JpdGVyU3RhcnRFbGVtZW50PC9hPgkoPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpOworaW50CTxhIGhyZWY9IiN4bWxUZXh0V3JpdGVyV3JpdGVEVERFeHRlcm5hbEVudGl0eSI+eG1sVGV4dFdyaXRlcldyaXRlRFRERXh0ZXJuYWxFbnRpdHk8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyLz4JCQkJCQkgaW50IHBlLCA8YnIvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHB1YmlkLCA8YnIvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3lzaWQsIDxici8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuZGF0YWlkKTsKK2ludAk8YSBocmVmPSIjeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0UmF3Ij54bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRSYXc8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZm9ybWF0LCA8YnIvPgkJCQkJIC4uLiAuLi4pOworaW50CTxhIGhyZWY9IiN4bWxUZXh0V3JpdGVyV3JpdGVDREFUQSI+eG1sVGV4dFdyaXRlcldyaXRlQ0RBVEE8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGNvbnRlbnQpOworaW50CTxhIGhyZWY9IiN4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFRESW50ZXJuYWxFbnRpdHkiPnhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVERJbnRlcm5hbEVudGl0eTwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIvPgkJCQkJCQkgaW50IHBlLCA8YnIvPgkJCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkJCSBjb25zdCBjaGFyICogZm9ybWF0LCA8YnIvPgkJCQkJCQkgdmFfbGlzdCBhcmdwdHIpOworaW50CTxhIGhyZWY9IiN4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0QXR0cmlidXRlIj54bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0QXR0cmlidXRlPC9hPgkoPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxici8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJCSBjb25zdCBjaGFyICogZm9ybWF0LCA8YnIvPgkJCQkJCSB2YV9saXN0IGFyZ3B0cik7CitpbnQJPGEgaHJlZj0iI3htbFRleHRXcml0ZXJFbmREVERFbGVtZW50Ij54bWxUZXh0V3JpdGVyRW5kRFRERWxlbWVudDwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyKTsKK2ludAk8YSBocmVmPSIjeG1sVGV4dFdyaXRlckVuZERURCI+eG1sVGV4dFdyaXRlckVuZERURDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlcik7CitpbnQJPGEgaHJlZj0iI3htbFRleHRXcml0ZXJXcml0ZUVsZW1lbnQiPnhtbFRleHRXcml0ZXJXcml0ZUVsZW1lbnQ8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY29udGVudCk7CitpbnQJPGEgaHJlZj0iI3htbFRleHRXcml0ZXJFbmRFbGVtZW50Ij54bWxUZXh0V3JpdGVyRW5kRWxlbWVudDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlcik7CitpbnQJPGEgaHJlZj0iI3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRDb21tZW50Ij54bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0Q29tbWVudDwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIvPgkJCQkJCSBjb25zdCBjaGFyICogZm9ybWF0LCA8YnIvPgkJCQkJCSB2YV9saXN0IGFyZ3B0cik7CitpbnQJPGEgaHJlZj0iI3htbFRleHRXcml0ZXJTdGFydENEQVRBIj54bWxUZXh0V3JpdGVyU3RhcnRDREFUQTwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlcik7Cis8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+CTxhIGhyZWY9IiN4bWxOZXdUZXh0V3JpdGVyRmlsZW5hbWUiPnhtbE5ld1RleHRXcml0ZXJGaWxlbmFtZTwvYT4JKGNvbnN0IGNoYXIgKiB1cmksIDxici8+CQkJCQkJCSBpbnQgY29tcHJlc3Npb24pOworaW50CTxhIGhyZWY9IiN4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RWxlbWVudCI+eG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEVsZW1lbnQ8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkJIGNvbnN0IGNoYXIgKiBmb3JtYXQsIDxici8+CQkJCQkJIHZhX2xpc3QgYXJncHRyKTsKK2ludAk8YSBocmVmPSIjeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0Q29tbWVudCI+eG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0Q29tbWVudDwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBmb3JtYXQsIDxici8+CQkJCQkgLi4uIC4uLik7CitpbnQJPGEgaHJlZj0iI3htbFRleHRXcml0ZXJXcml0ZUF0dHJpYnV0ZU5TIj54bWxUZXh0V3JpdGVyV3JpdGVBdHRyaWJ1dGVOUzwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwcmVmaXgsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWVzcGFjZVVSSSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY29udGVudCk7CitpbnQJPGEgaHJlZj0iI3htbFRleHRXcml0ZXJXcml0ZVBJIj54bWxUZXh0V3JpdGVyV3JpdGVQSTwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdGFyZ2V0LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjb250ZW50KTsKK2ludAk8YSBocmVmPSIjeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFRESW50ZXJuYWxFbnRpdHkiPnhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdERUREludGVybmFsRW50aXR5PC9hPgkoPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxici8+CQkJCQkJCSBpbnQgcGUsIDxici8+CQkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCQkJIGNvbnN0IGNoYXIgKiBmb3JtYXQsIDxici8+CQkJCQkJCSAuLi4gLi4uKTsKK2ludAk8YSBocmVmPSIjeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdFN0cmluZyI+eG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdFN0cmluZzwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBmb3JtYXQsIDxici8+CQkJCQkgdmFfbGlzdCBhcmdwdHIpOworaW50CTxhIGhyZWY9IiN4bWxUZXh0V3JpdGVyV3JpdGVEVERJbnRlcm5hbEVudGl0eSI+eG1sVGV4dFdyaXRlcldyaXRlRFRESW50ZXJuYWxFbnRpdHk8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyLz4JCQkJCQkgaW50IHBlLCA8YnIvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGNvbnRlbnQpOworaW50CTxhIGhyZWY9IiN4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RWxlbWVudE5TIj54bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RWxlbWVudE5TPC9hPgkoPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxici8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwcmVmaXgsIDxici8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZXNwYWNlVVJJLCA8YnIvPgkJCQkJCSBjb25zdCBjaGFyICogZm9ybWF0LCA8YnIvPgkJCQkJCSB2YV9saXN0IGFyZ3B0cik7CitpbnQJPGEgaHJlZj0iI3htbFRleHRXcml0ZXJXcml0ZURURE5vdGF0aW9uIj54bWxUZXh0V3JpdGVyV3JpdGVEVEROb3RhdGlvbjwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwdWJpZCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3lzaWQpOworaW50CTxhIGhyZWY9IiN4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRFbGVtZW50Ij54bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRFbGVtZW50PC9hPgkoPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGZvcm1hdCwgPGJyLz4JCQkJCSAuLi4gLi4uKTsKK2ludAk8YSBocmVmPSIjeG1sVGV4dFdyaXRlclNldFF1b3RlQ2hhciI+eG1sVGV4dFdyaXRlclNldFF1b3RlQ2hhcjwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gcXVvdGVjaGFyKTsKK2ludAk8YSBocmVmPSIjeG1sVGV4dFdyaXRlcldyaXRlU3RyaW5nIj54bWxUZXh0V3JpdGVyV3JpdGVTdHJpbmc8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY29udGVudCk7CitpbnQJPGEgaHJlZj0iI3htbFRleHRXcml0ZXJXcml0ZUVsZW1lbnROUyI+eG1sVGV4dFdyaXRlcldyaXRlRWxlbWVudE5TPC9hPgkoPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHByZWZpeCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZXNwYWNlVVJJLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjb250ZW50KTsKK2ludAk8YSBocmVmPSIjeG1sVGV4dFdyaXRlckZ1bGxFbmRFbGVtZW50Ij54bWxUZXh0V3JpdGVyRnVsbEVuZEVsZW1lbnQ8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlcik7CitpbnQJPGEgaHJlZj0iI3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRBdHRyaWJ1dGVOUyI+eG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEF0dHJpYnV0ZU5TPC9hPgkoPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxici8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwcmVmaXgsIDxici8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZXNwYWNlVVJJLCA8YnIvPgkJCQkJCSBjb25zdCBjaGFyICogZm9ybWF0LCA8YnIvPgkJCQkJCSB2YV9saXN0IGFyZ3B0cik7CitpbnQJPGEgaHJlZj0iI3htbFRleHRXcml0ZXJGbHVzaCI+eG1sVGV4dFdyaXRlckZsdXNoPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyKTsKK2ludAk8YSBocmVmPSIjeG1sVGV4dFdyaXRlclN0YXJ0RFREIj54bWxUZXh0V3JpdGVyU3RhcnREVEQ8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHB1YmlkLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzeXNpZCk7CitpbnQJPGEgaHJlZj0iI3htbFRleHRXcml0ZXJXcml0ZUF0dHJpYnV0ZSI+eG1sVGV4dFdyaXRlcldyaXRlQXR0cmlidXRlPC9hPgkoPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGNvbnRlbnQpOworPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPgk8YSBocmVmPSIjeG1sTmV3VGV4dFdyaXRlckRvYyI+eG1sTmV3VGV4dFdyaXRlckRvYzwvYT4JKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiAqIGRvYywgPGJyLz4JCQkJCQkgaW50IGNvbXByZXNzaW9uKTsKK2ludAk8YSBocmVmPSIjeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFRERWxlbWVudCI+eG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFRERWxlbWVudDwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCQkgY29uc3QgY2hhciAqIGZvcm1hdCwgPGJyLz4JCQkJCQkgLi4uIC4uLik7CitpbnQJPGEgaHJlZj0iI3htbFRleHRXcml0ZXJFbmREVERBdHRsaXN0Ij54bWxUZXh0V3JpdGVyRW5kRFREQXR0bGlzdDwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyKTsKKzxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4JPGEgaHJlZj0iI3htbE5ld1RleHRXcml0ZXJUcmVlIj54bWxOZXdUZXh0V3JpdGVyVHJlZTwvYT4JKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxici8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsIDxici8+CQkJCQkJIGludCBjb21wcmVzc2lvbik7Cis8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+CTxhIGhyZWY9IiN4bWxOZXdUZXh0V3JpdGVyTWVtb3J5Ij54bWxOZXdUZXh0V3JpdGVyTWVtb3J5PC9hPgkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQnVmZmVyUHRyIj54bWxCdWZmZXJQdHI8L2E+IGJ1ZiwgPGJyLz4JCQkJCQkgaW50IGNvbXByZXNzaW9uKTsKK2ludAk8YSBocmVmPSIjeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0Q0RBVEEiPnhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdENEQVRBPC9hPgkoPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGZvcm1hdCwgPGJyLz4JCQkJCSAuLi4gLi4uKTsKK2ludAk8YSBocmVmPSIjeG1sVGV4dFdyaXRlclN0YXJ0RFREQXR0bGlzdCI+eG1sVGV4dFdyaXRlclN0YXJ0RFREQXR0bGlzdDwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKTsKK2ludAk8YSBocmVmPSIjeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0U3RyaW5nIj54bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRTdHJpbmc8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZm9ybWF0LCA8YnIvPgkJCQkJIC4uLiAuLi4pOworaW50CTxhIGhyZWY9IiN4bWxUZXh0V3JpdGVyV3JpdGVDb21tZW50Ij54bWxUZXh0V3JpdGVyV3JpdGVDb21tZW50PC9hPgkoPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGNvbnRlbnQpOworaW50CTxhIGhyZWY9IiN4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0UmF3Ij54bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0UmF3PC9hPgkoPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGZvcm1hdCwgPGJyLz4JCQkJCSB2YV9saXN0IGFyZ3B0cik7CitpbnQJPGEgaHJlZj0iI3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdERURCI+eG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFREPC9hPgkoPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHB1YmlkLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzeXNpZCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZm9ybWF0LCA8YnIvPgkJCQkJIC4uLiAuLi4pOworaW50CTxhIGhyZWY9IiN4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVERBdHRsaXN0Ij54bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVERBdHRsaXN0PC9hPgkoPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxici8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJCSBjb25zdCBjaGFyICogZm9ybWF0LCA8YnIvPgkJCQkJCSAuLi4gLi4uKTsKK2ludAk8YSBocmVmPSIjeG1sVGV4dFdyaXRlcldyaXRlUmF3Ij54bWxUZXh0V3JpdGVyV3JpdGVSYXc8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGNvbnRlbnQpOworaW50CTxhIGhyZWY9IiN4bWxUZXh0V3JpdGVyV3JpdGVEVERFbGVtZW50Ij54bWxUZXh0V3JpdGVyV3JpdGVEVERFbGVtZW50PC9hPgkoPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGNvbnRlbnQpOworaW50CTxhIGhyZWY9IiN4bWxUZXh0V3JpdGVyV3JpdGVEVEQiPnhtbFRleHRXcml0ZXJXcml0ZURURDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHViaWQsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN5c2lkLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzdWJzZXQpOworaW50CTxhIGhyZWY9IiN4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRBdHRyaWJ1dGUiPnhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdEF0dHJpYnV0ZTwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCQkgY29uc3QgY2hhciAqIGZvcm1hdCwgPGJyLz4JCQkJCQkgLi4uIC4uLik7CitpbnQJPGEgaHJlZj0iI3htbFRleHRXcml0ZXJTdGFydERUREVudGl0eSI+eG1sVGV4dFdyaXRlclN0YXJ0RFRERW50aXR5PC9hPgkoPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxici8+CQkJCQkgaW50IHBlLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKTsKK2ludAk8YSBocmVmPSIjeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREVsZW1lbnQiPnhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVERFbGVtZW50PC9hPgkoPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxici8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJCSBjb25zdCBjaGFyICogZm9ybWF0LCA8YnIvPgkJCQkJCSB2YV9saXN0IGFyZ3B0cik7CitpbnQJPGEgaHJlZj0iI3htbFRleHRXcml0ZXJTdGFydERUREVsZW1lbnQiPnhtbFRleHRXcml0ZXJTdGFydERUREVsZW1lbnQ8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSk7CitpbnQJPGEgaHJlZj0iI3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdEVsZW1lbnROUyI+eG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RWxlbWVudE5TPC9hPgkoPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxici8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwcmVmaXgsIDxici8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZXNwYWNlVVJJLCA8YnIvPgkJCQkJCSBjb25zdCBjaGFyICogZm9ybWF0LCA8YnIvPgkJCQkJCSAuLi4gLi4uKTsKKzwvcHJlPgorICAgIDwvZGl2PgorICAgIDxkaXYgY2xhc3M9InJlZnNlY3QxIiBsYW5nPSJlbiI+CisgICAgICA8aDI+RGVzY3JpcHRpb248L2gyPgorICAgIDwvZGl2PgorICAgIDxkaXYgY2xhc3M9InJlZnNlY3QxIiBsYW5nPSJlbiI+CisgICAgICA8aDI+RGV0YWlsczwvaDI+CisgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxUZXh0V3JpdGVyV3JpdGVEb2NUeXBlIj5NYWNybyA8L2E+eG1sVGV4dFdyaXRlcldyaXRlRG9jVHlwZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI3htbFRleHRXcml0ZXJXcml0ZURvY1R5cGUiPnhtbFRleHRXcml0ZXJXcml0ZURvY1R5cGU8L2E+OworPC9wcmU+PHA+dGhpcyBtYWNybyBtYXBzIHRvIDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRFREIj54bWxUZXh0V3JpdGVyV3JpdGVEVEQ8L2E+PC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFRleHRXcml0ZXJXcml0ZVByb2Nlc3NpbmdJbnN0cnVjdGlvbiI+TWFjcm8gPC9hPnhtbFRleHRXcml0ZXJXcml0ZVByb2Nlc3NpbmdJbnN0cnVjdGlvbjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI3htbFRleHRXcml0ZXJXcml0ZVByb2Nlc3NpbmdJbnN0cnVjdGlvbiI+eG1sVGV4dFdyaXRlcldyaXRlUHJvY2Vzc2luZ0luc3RydWN0aW9uPC9hPjsKKzwvcHJlPjxwPlRoaXMgbWFjcm8gbWFwcyB0byA8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZVBJIj54bWxUZXh0V3JpdGVyV3JpdGVQSTwvYT48L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVGV4dFdyaXRlciI+U3RydWN0dXJlIDwvYT54bWxUZXh0V3JpdGVyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+c3RydWN0IF94bWxUZXh0V3JpdGVyIHsKK1RoZSBjb250ZW50IG9mIHRoaXMgc3RydWN0dXJlIGlzIG5vdCBtYWRlIHB1YmxpYyBieSB0aGUgQVBJLgorfSB4bWxUZXh0V3JpdGVyOworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFRleHRXcml0ZXJQdHIiPlR5cGVkZWYgPC9hPnhtbFRleHRXcml0ZXJQdHI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXIiPnhtbFRleHRXcml0ZXI8L2E+ICogeG1sVGV4dFdyaXRlclB0cjsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxGcmVlVGV4dFdyaXRlciIvPnhtbEZyZWVUZXh0V3JpdGVyICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxGcmVlVGV4dFdyaXRlcgkJKDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyKTxici8+Cis8L3ByZT48cD5EZWFsbG9jYXRlIGFsbCB0aGUgcmVzb3VyY2VzIGFzc29jaWF0ZWQgdG8gdGhlIHdyaXRlcjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d3JpdGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE5ld1RleHRXcml0ZXIiLz54bWxOZXdUZXh0V3JpdGVyICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPgl4bWxOZXdUZXh0V3JpdGVyCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxPdXRwdXRCdWZmZXJQdHIiPnhtbE91dHB1dEJ1ZmZlclB0cjwvYT4gb3V0KTxici8+Cis8L3ByZT48cD5DcmVhdGUgYSBuZXcgPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxOZXdUZXh0V3JpdGVyIj54bWxOZXdUZXh0V3JpdGVyPC9hPiBzdHJ1Y3R1cmUgdXNpbmcgYW4gPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sT3V0cHV0QnVmZmVyUHRyIj54bWxPdXRwdXRCdWZmZXJQdHI8L2E+IE5PVEU6IHRoZSBAb3V0IHBhcmFtZXRlciB3aWxsIGJlIGRlYWxsb2NhdGVkIHdoZW4gdGhlIHdyaXRlciBpcyBjbG9zZWQgKGlmIHRoZSBjYWxsIHN1Y2NlZWQuKTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3V0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxPdXRwdXRCdWZmZXJQdHIiPnhtbE91dHB1dEJ1ZmZlclB0cjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXcgPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxOZXdUZXh0V3JpdGVyRG9jIi8+eG1sTmV3VGV4dFdyaXRlckRvYyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4JeG1sTmV3VGV4dFdyaXRlckRvYwkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+ICogZG9jLCA8YnIvPgkJCQkJCSBpbnQgY29tcHJlc3Npb24pPGJyLz4KKzwvcHJlPjxwPkNyZWF0ZSBhIG5ldyA8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbE5ld1RleHRXcml0ZXIiPnhtbE5ld1RleHRXcml0ZXI8L2E+IHN0cnVjdHVyZSB3aXRoIEAqZG9jIGFzIG91dHB1dDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hZGRyZXNzIG9mIGEgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IHRvIGhvbGQgdGhlIG5ldyBYTUwgZG9jdW1lbnQgdHJlZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29tcHJlc3Npb248L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmNvbXByZXNzIHRoZSBvdXRwdXQ/PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTmV3VGV4dFdyaXRlckZpbGVuYW1lIi8+eG1sTmV3VGV4dFdyaXRlckZpbGVuYW1lICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPgl4bWxOZXdUZXh0V3JpdGVyRmlsZW5hbWUJKGNvbnN0IGNoYXIgKiB1cmksIDxici8+CQkJCQkJCSBpbnQgY29tcHJlc3Npb24pPGJyLz4KKzwvcHJlPjxwPkNyZWF0ZSBhIG5ldyA8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbE5ld1RleHRXcml0ZXIiPnhtbE5ld1RleHRXcml0ZXI8L2E+IHN0cnVjdHVyZSB3aXRoIEB1cmkgYXMgb3V0cHV0PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD51cmk8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBVUkkgb2YgdGhlIHJlc291cmNlIGZvciB0aGUgb3V0cHV0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb21wcmVzc2lvbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+Y29tcHJlc3MgdGhlIG91dHB1dD88L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXcgPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxOZXdUZXh0V3JpdGVyTWVtb3J5Ii8+eG1sTmV3VGV4dFdyaXRlck1lbW9yeSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4JeG1sTmV3VGV4dFdyaXRlck1lbW9yeQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQnVmZmVyUHRyIj54bWxCdWZmZXJQdHI8L2E+IGJ1ZiwgPGJyLz4JCQkJCQkgaW50IGNvbXByZXNzaW9uKTxici8+Cis8L3ByZT48cD5DcmVhdGUgYSBuZXcgPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxOZXdUZXh0V3JpdGVyIj54bWxOZXdUZXh0V3JpdGVyPC9hPiBzdHJ1Y3R1cmUgd2l0aCBAYnVmIGFzIG91dHB1dCBUT0RPOiBoYW5kbGUgY29tcHJlc3Npb248L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmJ1ZjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sQnVmZmVyUHRyIj54bWxCdWZmZXJQdHI8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb21wcmVzc2lvbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+Y29tcHJlc3MgdGhlIG91dHB1dD88L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXcgPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxOZXdUZXh0V3JpdGVyUHVzaFBhcnNlciIvPnhtbE5ld1RleHRXcml0ZXJQdXNoUGFyc2VyICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPgl4bWxOZXdUZXh0V3JpdGVyUHVzaFBhcnNlcgkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCQkJIGludCBjb21wcmVzc2lvbik8YnIvPgorPC9wcmU+PHA+Q3JlYXRlIGEgbmV3IDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sTmV3VGV4dFdyaXRlciI+eG1sTmV3VGV4dFdyaXRlcjwvYT4gc3RydWN0dXJlIHdpdGggQGN0eHQgYXMgb3V0cHV0IE5PVEU6IHRoZSBAY3R4dCBjb250ZXh0IHdpbGwgYmUgZnJlZWQgd2l0aCB0aGUgcmVzdWx0aW5nIHdyaXRlciAoaWYgdGhlIGNhbGwgc3VjY2VlZHMpLiBUT0RPOiBoYW5kbGUgY29tcHJlc3Npb248L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IHRvIGhvbGQgdGhlIG5ldyBYTUwgZG9jdW1lbnQgdHJlZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29tcHJlc3Npb248L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmNvbXByZXNzIHRoZSBvdXRwdXQ/PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTmV3VGV4dFdyaXRlclRyZWUiLz54bWxOZXdUZXh0V3JpdGVyVHJlZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4JeG1sTmV3VGV4dFdyaXRlclRyZWUJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxici8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsIDxici8+CQkJCQkJIGludCBjb21wcmVzc2lvbik8YnIvPgorPC9wcmU+PHA+Q3JlYXRlIGEgbmV3IDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sTmV3VGV4dFdyaXRlciI+eG1sTmV3VGV4dFdyaXRlcjwvYT4gc3RydWN0dXJlIHdpdGggQGRvYyBhcyBvdXRwdXQgc3RhcnRpbmcgYXQgQG5vZGU8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBvciBOVUxMIGZvciBkb2MtJmd0O2NoaWxkcmVuPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb21wcmVzc2lvbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+Y29tcHJlc3MgdGhlIG91dHB1dD88L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXcgPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxUZXh0V3JpdGVyRW5kQXR0cmlidXRlIi8+eG1sVGV4dFdyaXRlckVuZEF0dHJpYnV0ZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0V3JpdGVyRW5kQXR0cmlidXRlCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlcik8YnIvPgorPC9wcmU+PHA+RW5kIHRoZSBjdXJyZW50IHhtbCBlbGVtZW50LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d3JpdGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVGV4dFdyaXRlckVuZENEQVRBIi8+eG1sVGV4dFdyaXRlckVuZENEQVRBICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRleHRXcml0ZXJFbmRDREFUQQkJKDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyKTxici8+Cis8L3ByZT48cD5FbmQgYW4geG1sIENEQVRBIHNlY3Rpb24uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD53cml0ZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxUZXh0V3JpdGVyRW5kQ29tbWVudCIvPnhtbFRleHRXcml0ZXJFbmRDb21tZW50ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRleHRXcml0ZXJFbmRDb21tZW50CQkoPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIpPGJyLz4KKzwvcHJlPjxwPkVuZCB0aGUgY3VycmVudCB4bWwgY29tZW50LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d3JpdGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVGV4dFdyaXRlckVuZERURCIvPnhtbFRleHRXcml0ZXJFbmREVEQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFdyaXRlckVuZERURAkJKDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyKTxici8+Cis8L3ByZT48cD5FbmQgYW4geG1sIERURC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PndyaXRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFRleHRXcml0ZXJFbmREVERBdHRsaXN0Ii8+eG1sVGV4dFdyaXRlckVuZERUREF0dGxpc3QgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFdyaXRlckVuZERUREF0dGxpc3QJKDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyKTxici8+Cis8L3ByZT48cD5FbmQgYW4geG1sIERURCA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBsaXN0LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d3JpdGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVGV4dFdyaXRlckVuZERUREVsZW1lbnQiLz54bWxUZXh0V3JpdGVyRW5kRFRERWxlbWVudCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0V3JpdGVyRW5kRFRERWxlbWVudAkoPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIpPGJyLz4KKzwvcHJlPjxwPkVuZCBhbiB4bWwgRFREIGVsZW1lbnQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD53cml0ZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxUZXh0V3JpdGVyRW5kRFRERW50aXR5Ii8+eG1sVGV4dFdyaXRlckVuZERUREVudGl0eSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0V3JpdGVyRW5kRFRERW50aXR5CSg8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlcik8YnIvPgorPC9wcmU+PHA+RW5kIGFuIHhtbCBEVEQgZW50aXR5LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d3JpdGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVGV4dFdyaXRlckVuZERvY3VtZW50Ii8+eG1sVGV4dFdyaXRlckVuZERvY3VtZW50ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRleHRXcml0ZXJFbmREb2N1bWVudAkoPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIpPGJyLz4KKzwvcHJlPjxwPkVuZCBhbiB4bWwgZG9jdW1lbnQuIEFsbCBvcGVuIGVsZW1lbnRzIGFyZSBjbG9zZWQsIGFuZCB0aGUgY29udGVudCBpcyBmbHVzaGVkIHRvIHRoZSBvdXRwdXQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD53cml0ZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnl0ZXMgd3JpdHRlbiBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVGV4dFdyaXRlckVuZEVsZW1lbnQiLz54bWxUZXh0V3JpdGVyRW5kRWxlbWVudCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0V3JpdGVyRW5kRWxlbWVudAkJKDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyKTxici8+Cis8L3ByZT48cD5FbmQgdGhlIGN1cnJlbnQgeG1sIGVsZW1lbnQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD53cml0ZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxUZXh0V3JpdGVyRW5kUEkiLz54bWxUZXh0V3JpdGVyRW5kUEkgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFdyaXRlckVuZFBJCQkoPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIpPGJyLz4KKzwvcHJlPjxwPkVuZCB0aGUgY3VycmVudCB4bWwgUEkuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD53cml0ZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxUZXh0V3JpdGVyRmx1c2giLz54bWxUZXh0V3JpdGVyRmx1c2ggKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFdyaXRlckZsdXNoCQkoPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIpPGJyLz4KKzwvcHJlPjxwPkZsdXNoIHRoZSBvdXRwdXQgYnVmZmVyLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d3JpdGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVGV4dFdyaXRlckZ1bGxFbmRFbGVtZW50Ii8+eG1sVGV4dFdyaXRlckZ1bGxFbmRFbGVtZW50ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRleHRXcml0ZXJGdWxsRW5kRWxlbWVudAkoPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIpPGJyLz4KKzwvcHJlPjxwPkVuZCB0aGUgY3VycmVudCB4bWwgZWxlbWVudC4gV3JpdGVzIGFuIGVuZCB0YWcgZXZlbiBpZiB0aGUgZWxlbWVudCBpcyBlbXB0eTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d3JpdGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVGV4dFdyaXRlclNldEluZGVudCIvPnhtbFRleHRXcml0ZXJTZXRJbmRlbnQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFdyaXRlclNldEluZGVudAkJKDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIvPgkJCQkJIGludCBpbmRlbnQpPGJyLz4KKzwvcHJlPjxwPlNldCBpbmRlbnRhdGlvbiBvdXRwdXQuIGluZGVudCA9IDAgZG8gbm90IGluZGVudGF0aW9uLiBpbmRlbnQgJmd0OyAwIGRvIGluZGVudGF0aW9uLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d3JpdGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aW5kZW50PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5kbyBpbmRlbnRhdGlvbj88L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPi0xIG9uIGVycm9yIG9yIDAgb3RoZXJ3aXNlLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFRleHRXcml0ZXJTZXRJbmRlbnRTdHJpbmciLz54bWxUZXh0V3JpdGVyU2V0SW5kZW50U3RyaW5nICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRleHRXcml0ZXJTZXRJbmRlbnRTdHJpbmcJKDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzdHIpPGJyLz4KKzwvcHJlPjxwPlNldCBzdHJpbmcgaW5kZW50YXRpb24uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD53cml0ZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdHI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+IHN0cmluZzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+LTEgb24gZXJyb3Igb3IgMCBvdGhlcndpc2UuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVGV4dFdyaXRlclNldFF1b3RlQ2hhciIvPnhtbFRleHRXcml0ZXJTZXRRdW90ZUNoYXIgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFdyaXRlclNldFF1b3RlQ2hhcgkoPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiBxdW90ZWNoYXIpPGJyLz4KKzwvcHJlPjxwPlNldCB0aGUgY2hhcmFjdGVyIHVzZWQgZm9yIHF1b3RpbmcgYXR0cmlidXRlcy48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PndyaXRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnF1b3RlY2hhcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHF1b3RlIGNoYXJhY3RlcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+LTEgb24gZXJyb3Igb3IgMCBvdGhlcndpc2UuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVGV4dFdyaXRlclN0YXJ0QXR0cmlidXRlIi8+eG1sVGV4dFdyaXRlclN0YXJ0QXR0cmlidXRlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRleHRXcml0ZXJTdGFydEF0dHJpYnV0ZQkoPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpPGJyLz4KKzwvcHJlPjxwPlN0YXJ0IGFuIHhtbCBhdHRyaWJ1dGUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD53cml0ZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5lbGVtZW50IG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFRleHRXcml0ZXJTdGFydEF0dHJpYnV0ZU5TIi8+eG1sVGV4dFdyaXRlclN0YXJ0QXR0cmlidXRlTlMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFdyaXRlclN0YXJ0QXR0cmlidXRlTlMJKDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwcmVmaXgsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWVzcGFjZVVSSSk8YnIvPgorPC9wcmU+PHA+U3RhcnQgYW4geG1sIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IHdpdGggbmFtZXNwYWNlIHN1cHBvcnQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD53cml0ZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wcmVmaXg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPm5hbWVzcGFjZSBwcmVmaXggb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+ZWxlbWVudCBsb2NhbCBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lc3BhY2VVUkk8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPm5hbWVzcGFjZSBVUkkgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVGV4dFdyaXRlclN0YXJ0Q0RBVEEiLz54bWxUZXh0V3JpdGVyU3RhcnRDREFUQSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0V3JpdGVyU3RhcnRDREFUQQkJKDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyKTxici8+Cis8L3ByZT48cD5TdGFydCBhbiB4bWwgQ0RBVEEgc2VjdGlvbi48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PndyaXRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFRleHRXcml0ZXJTdGFydENvbW1lbnQiLz54bWxUZXh0V3JpdGVyU3RhcnRDb21tZW50ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRleHRXcml0ZXJTdGFydENvbW1lbnQJKDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyKTxici8+Cis8L3ByZT48cD5TdGFydCBhbiB4bWwgY29tbWVudC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PndyaXRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFRleHRXcml0ZXJTdGFydERURCIvPnhtbFRleHRXcml0ZXJTdGFydERURCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0V3JpdGVyU3RhcnREVEQJCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHViaWQsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN5c2lkKTxici8+Cis8L3ByZT48cD5TdGFydCBhbiB4bWwgRFRELjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d3JpdGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5hbWUgb2YgdGhlIERURDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cHViaWQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwdWJsaWMgaWRlbnRpZmllciwgd2hpY2ggaXMgYW4gYWx0ZXJuYXRpdmUgdG8gdGhlIHN5c3RlbSBpZGVudGlmaWVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zeXNpZDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHN5c3RlbSBpZGVudGlmaWVyLCB3aGljaCBpcyB0aGUgVVJJIG9mIHRoZSBEVEQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFRleHRXcml0ZXJTdGFydERUREF0dGxpc3QiLz54bWxUZXh0V3JpdGVyU3RhcnREVERBdHRsaXN0ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRleHRXcml0ZXJTdGFydERUREF0dGxpc3QJKDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKTxici8+Cis8L3ByZT48cD5TdGFydCBhbiB4bWwgRFREIEFUVExJU1QuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD53cml0ZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZSBvZiB0aGUgRFREIEFUVExJU1Q8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFRleHRXcml0ZXJTdGFydERUREVsZW1lbnQiLz54bWxUZXh0V3JpdGVyU3RhcnREVERFbGVtZW50ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRleHRXcml0ZXJTdGFydERUREVsZW1lbnQJKDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKTxici8+Cis8L3ByZT48cD5TdGFydCBhbiB4bWwgRFREIGVsZW1lbnQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD53cml0ZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZSBvZiB0aGUgRFREIGVsZW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFRleHRXcml0ZXJTdGFydERUREVudGl0eSIvPnhtbFRleHRXcml0ZXJTdGFydERUREVudGl0eSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0V3JpdGVyU3RhcnREVERFbnRpdHkJKDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIvPgkJCQkJIGludCBwZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSk8YnIvPgorPC9wcmU+PHA+U3RhcnQgYW4geG1sIERURCBBVFRMSVNULjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d3JpdGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlRSVUUgaWYgdGhpcyBpcyBhIHBhcmFtZXRlciBlbnRpdHksIEZBTFNFIGlmIG5vdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5hbWUgb2YgdGhlIERURCBBVFRMSVNUPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxUZXh0V3JpdGVyU3RhcnREb2N1bWVudCIvPnhtbFRleHRXcml0ZXJTdGFydERvY3VtZW50ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRleHRXcml0ZXJTdGFydERvY3VtZW50CSg8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogdmVyc2lvbiwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIHN0YW5kYWxvbmUpPGJyLz4KKzwvcHJlPjxwPlN0YXJ0IGEgbmV3IHhtbCBkb2N1bWVudDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d3JpdGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmVyc2lvbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHhtbCB2ZXJzaW9uICgiMS4wIikgb3IgTlVMTCBmb3IgZGVmYXVsdCAoIjEuMCIpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbmNvZGluZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVuY29kaW5nIG9yIE5VTEwgZm9yIGRlZmF1bHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0YW5kYWxvbmU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPiJ5ZXMiIG9yICJubyIgb3IgTlVMTCBmb3IgZGVmYXVsdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVGV4dFdyaXRlclN0YXJ0RWxlbWVudCIvPnhtbFRleHRXcml0ZXJTdGFydEVsZW1lbnQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFdyaXRlclN0YXJ0RWxlbWVudAkoPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpPGJyLz4KKzwvcHJlPjxwPlN0YXJ0IGFuIHhtbCBlbGVtZW50LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d3JpdGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+ZWxlbWVudCBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxUZXh0V3JpdGVyU3RhcnRFbGVtZW50TlMiLz54bWxUZXh0V3JpdGVyU3RhcnRFbGVtZW50TlMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFdyaXRlclN0YXJ0RWxlbWVudE5TCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHJlZml4LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lc3BhY2VVUkkpPGJyLz4KKzwvcHJlPjxwPlN0YXJ0IGFuIHhtbCBlbGVtZW50IHdpdGggbmFtZXNwYWNlIHN1cHBvcnQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD53cml0ZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wcmVmaXg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPm5hbWVzcGFjZSBwcmVmaXggb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+ZWxlbWVudCBsb2NhbCBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lc3BhY2VVUkk8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPm5hbWVzcGFjZSBVUkkgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVGV4dFdyaXRlclN0YXJ0UEkiLz54bWxUZXh0V3JpdGVyU3RhcnRQSSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0V3JpdGVyU3RhcnRQSQkJKDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB0YXJnZXQpPGJyLz4KKzwvcHJlPjxwPlN0YXJ0IGFuIHhtbCBQSS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PndyaXRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRhcmdldDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+UEkgdGFyZ2V0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxUZXh0V3JpdGVyV3JpdGVBdHRyaWJ1dGUiLz54bWxUZXh0V3JpdGVyV3JpdGVBdHRyaWJ1dGUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFdyaXRlcldyaXRlQXR0cmlidXRlCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY29udGVudCk8YnIvPgorPC9wcmU+PHA+V3JpdGUgYW4geG1sIGF0dHJpYnV0ZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PndyaXRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbnRlbnQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IGNvbnRlbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFRleHRXcml0ZXJXcml0ZUF0dHJpYnV0ZU5TIi8+eG1sVGV4dFdyaXRlcldyaXRlQXR0cmlidXRlTlMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFdyaXRlcldyaXRlQXR0cmlidXRlTlMJKDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwcmVmaXgsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWVzcGFjZVVSSSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY29udGVudCk8YnIvPgorPC9wcmU+PHA+V3JpdGUgYW4geG1sIGF0dHJpYnV0ZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PndyaXRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnByZWZpeDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+bmFtZXNwYWNlIHByZWZpeDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+PGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gbG9jYWwgbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZXNwYWNlVVJJPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5uYW1lc3BhY2UgVVJJPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb250ZW50PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD48YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBjb250ZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxUZXh0V3JpdGVyV3JpdGVCYXNlNjQiLz54bWxUZXh0V3JpdGVyV3JpdGVCYXNlNjQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFdyaXRlcldyaXRlQmFzZTY0CSg8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZGF0YSwgPGJyLz4JCQkJCSBpbnQgc3RhcnQsIDxici8+CQkJCQkgaW50IGxlbik8YnIvPgorPC9wcmU+PHA+V3JpdGUgYW4gYmFzZTY0IGVuY29kZWQgeG1sIHRleHQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD53cml0ZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kYXRhPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5iaW5hcnkgZGF0YTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3RhcnQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwb3NpdGlvbiB3aXRoaW4gdGhlIGRhdGEgb2YgdGhlIGZpcnN0IGJ5dGUgdG8gZW5jb2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgYnl0ZXMgdG8gZW5jb2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxUZXh0V3JpdGVyV3JpdGVCaW5IZXgiLz54bWxUZXh0V3JpdGVyV3JpdGVCaW5IZXggKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFdyaXRlcldyaXRlQmluSGV4CSg8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZGF0YSwgPGJyLz4JCQkJCSBpbnQgc3RhcnQsIDxici8+CQkJCQkgaW50IGxlbik8YnIvPgorPC9wcmU+PHA+V3JpdGUgYSBCaW5IZXggZW5jb2RlZCB4bWwgdGV4dC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PndyaXRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRhdGE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmJpbmFyeSBkYXRhPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdGFydDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHBvc2l0aW9uIHdpdGhpbiB0aGUgZGF0YSBvZiB0aGUgZmlyc3QgYnl0ZSB0byBlbmNvZGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBieXRlcyB0byBlbmNvZGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFRleHRXcml0ZXJXcml0ZUNEQVRBIi8+eG1sVGV4dFdyaXRlcldyaXRlQ0RBVEEgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFdyaXRlcldyaXRlQ0RBVEEJCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY29udGVudCk8YnIvPgorPC9wcmU+PHA+V3JpdGUgYW4geG1sIENEQVRBLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d3JpdGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29udGVudDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+Q0RBVEEgY29udGVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVGV4dFdyaXRlcldyaXRlQ29tbWVudCIvPnhtbFRleHRXcml0ZXJXcml0ZUNvbW1lbnQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFdyaXRlcldyaXRlQ29tbWVudAkoPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGNvbnRlbnQpPGJyLz4KKzwvcHJlPjxwPldyaXRlIGFuIHhtbCBjb21tZW50LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d3JpdGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29udGVudDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+PGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNjb21tZW50Ij5jb21tZW50PC9hPiBzdHJpbmc8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFRleHRXcml0ZXJXcml0ZURURCIvPnhtbFRleHRXcml0ZXJXcml0ZURURCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0V3JpdGVyV3JpdGVEVEQJCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHViaWQsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN5c2lkLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzdWJzZXQpPGJyLz4KKzwvcHJlPjxwPldyaXRlIGEgRFRELjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d3JpdGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5hbWUgb2YgdGhlIERURDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cHViaWQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwdWJsaWMgaWRlbnRpZmllciwgd2hpY2ggaXMgYW4gYWx0ZXJuYXRpdmUgdG8gdGhlIHN5c3RlbSBpZGVudGlmaWVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zeXNpZDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHN5c3RlbSBpZGVudGlmaWVyLCB3aGljaCBpcyB0aGUgVVJJIG9mIHRoZSBEVEQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN1YnNldDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+c3RyaW5nIGNvbnRlbnQgb2YgdGhlIERURDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVGV4dFdyaXRlcldyaXRlRFREQXR0bGlzdCIvPnhtbFRleHRXcml0ZXJXcml0ZURUREF0dGxpc3QgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFdyaXRlcldyaXRlRFREQXR0bGlzdAkoPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGNvbnRlbnQpPGJyLz4KKzwvcHJlPjxwPldyaXRlIGEgRFREIEFUVExJU1QuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD53cml0ZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZSBvZiB0aGUgRFREIEFUVExJU1Q8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbnRlbnQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmNvbnRlbnQgb2YgdGhlIEFUVExJU1Q8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFRleHRXcml0ZXJXcml0ZURUREVsZW1lbnQiLz54bWxUZXh0V3JpdGVyV3JpdGVEVERFbGVtZW50ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRleHRXcml0ZXJXcml0ZURUREVsZW1lbnQJKDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjb250ZW50KTxici8+Cis8L3ByZT48cD5Xcml0ZSBhIERURCBlbGVtZW50LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d3JpdGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5hbWUgb2YgdGhlIERURCBlbGVtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb250ZW50PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5jb250ZW50IG9mIHRoZSBlbGVtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxUZXh0V3JpdGVyV3JpdGVEVERFbnRpdHkiLz54bWxUZXh0V3JpdGVyV3JpdGVEVERFbnRpdHkgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFdyaXRlcldyaXRlRFRERW50aXR5CSg8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyLz4JCQkJCSBpbnQgcGUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHB1YmlkLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzeXNpZCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmRhdGFpZCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY29udGVudCk8YnIvPgorPC9wcmU+PHA+V3JpdGUgYSBEVEQgZW50aXR5LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d3JpdGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlRSVUUgaWYgdGhpcyBpcyBhIHBhcmFtZXRlciBlbnRpdHksIEZBTFNFIGlmIG5vdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5hbWUgb2YgdGhlIERURCBlbnRpdHk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnB1YmlkPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcHVibGljIGlkZW50aWZpZXIsIHdoaWNoIGlzIGFuIGFsdGVybmF0aXZlIHRvIHRoZSBzeXN0ZW0gaWRlbnRpZmllcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3lzaWQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzeXN0ZW0gaWRlbnRpZmllciwgd2hpY2ggaXMgdGhlIFVSSSBvZiB0aGUgRFREPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uZGF0YWlkPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgeG1sIG5vdGF0aW9uIG5hbWUuPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb250ZW50PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5jb250ZW50IG9mIHRoZSBlbnRpdHk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFRleHRXcml0ZXJXcml0ZURUREV4dGVybmFsRW50aXR5Ii8+eG1sVGV4dFdyaXRlcldyaXRlRFRERXh0ZXJuYWxFbnRpdHkgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFdyaXRlcldyaXRlRFRERXh0ZXJuYWxFbnRpdHkJKDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIvPgkJCQkJCSBpbnQgcGUsIDxici8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHViaWQsIDxici8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzeXNpZCwgPGJyLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5kYXRhaWQpPGJyLz4KKzwvcHJlPjxwPldyaXRlIGEgRFREIGV4dGVybmFsIGVudGl0eS4gVGhlIGVudGl0eSBtdXN0IGhhdmUgYmVlbiBzdGFydGVkIHdpdGggPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyU3RhcnREVERFbnRpdHkiPnhtbFRleHRXcml0ZXJTdGFydERUREVudGl0eTwvYT48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PndyaXRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnBlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5UUlVFIGlmIHRoaXMgaXMgYSBwYXJhbWV0ZXIgZW50aXR5LCBGQUxTRSBpZiBub3Q8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lIG9mIHRoZSBEVEQgZW50aXR5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wdWJpZDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHB1YmxpYyBpZGVudGlmaWVyLCB3aGljaCBpcyBhbiBhbHRlcm5hdGl2ZSB0byB0aGUgc3lzdGVtIGlkZW50aWZpZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN5c2lkPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc3lzdGVtIGlkZW50aWZpZXIsIHdoaWNoIGlzIHRoZSBVUkkgb2YgdGhlIERURDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmRhdGFpZDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHhtbCBub3RhdGlvbiBuYW1lLjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVGV4dFdyaXRlcldyaXRlRFRERXh0ZXJuYWxFbnRpdHlDb250ZW50cyIvPnhtbFRleHRXcml0ZXJXcml0ZURUREV4dGVybmFsRW50aXR5Q29udGVudHMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFdyaXRlcldyaXRlRFRERXh0ZXJuYWxFbnRpdHlDb250ZW50cwkoPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxici8+CQkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHViaWQsIDxici8+CQkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3lzaWQsIDxici8+CQkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmRhdGFpZCk8YnIvPgorPC9wcmU+PHA+V3JpdGUgdGhlIGNvbnRlbnRzIG9mIGEgRFREIGV4dGVybmFsIGVudGl0eS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PndyaXRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnB1YmlkPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcHVibGljIGlkZW50aWZpZXIsIHdoaWNoIGlzIGFuIGFsdGVybmF0aXZlIHRvIHRoZSBzeXN0ZW0gaWRlbnRpZmllcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3lzaWQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzeXN0ZW0gaWRlbnRpZmllciwgd2hpY2ggaXMgdGhlIFVSSSBvZiB0aGUgRFREPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uZGF0YWlkPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgeG1sIG5vdGF0aW9uIG5hbWUuPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxUZXh0V3JpdGVyV3JpdGVEVERJbnRlcm5hbEVudGl0eSIvPnhtbFRleHRXcml0ZXJXcml0ZURUREludGVybmFsRW50aXR5ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRleHRXcml0ZXJXcml0ZURUREludGVybmFsRW50aXR5CSg8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyLz4JCQkJCQkgaW50IHBlLCA8YnIvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGNvbnRlbnQpPGJyLz4KKzwvcHJlPjxwPldyaXRlIGEgRFREIGludGVybmFsIGVudGl0eS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PndyaXRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnBlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5UUlVFIGlmIHRoaXMgaXMgYSBwYXJhbWV0ZXIgZW50aXR5LCBGQUxTRSBpZiBub3Q8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lIG9mIHRoZSBEVEQgZW50aXR5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb250ZW50PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5jb250ZW50IG9mIHRoZSBlbnRpdHk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFRleHRXcml0ZXJXcml0ZURURE5vdGF0aW9uIi8+eG1sVGV4dFdyaXRlcldyaXRlRFRETm90YXRpb24gKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFdyaXRlcldyaXRlRFRETm90YXRpb24JKDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwdWJpZCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3lzaWQpPGJyLz4KKzwvcHJlPjxwPldyaXRlIGEgRFREIGVudGl0eS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PndyaXRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lIG9mIHRoZSB4bWwgbm90YXRpb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnB1YmlkPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcHVibGljIGlkZW50aWZpZXIsIHdoaWNoIGlzIGFuIGFsdGVybmF0aXZlIHRvIHRoZSBzeXN0ZW0gaWRlbnRpZmllcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3lzaWQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzeXN0ZW0gaWRlbnRpZmllciwgd2hpY2ggaXMgdGhlIFVSSSBvZiB0aGUgRFREPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxUZXh0V3JpdGVyV3JpdGVFbGVtZW50Ii8+eG1sVGV4dFdyaXRlcldyaXRlRWxlbWVudCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0V3JpdGVyV3JpdGVFbGVtZW50CSg8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY29udGVudCk8YnIvPgorPC9wcmU+PHA+V3JpdGUgYW4geG1sIGVsZW1lbnQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD53cml0ZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5lbGVtZW50IG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbnRlbnQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmVsZW1lbnQgY29udGVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVGV4dFdyaXRlcldyaXRlRWxlbWVudE5TIi8+eG1sVGV4dFdyaXRlcldyaXRlRWxlbWVudE5TICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRleHRXcml0ZXJXcml0ZUVsZW1lbnROUwkoPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHByZWZpeCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZXNwYWNlVVJJLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjb250ZW50KTxici8+Cis8L3ByZT48cD5Xcml0ZSBhbiB4bWwgZWxlbWVudCB3aXRoIG5hbWVzcGFjZSBzdXBwb3J0LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d3JpdGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cHJlZml4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5uYW1lc3BhY2UgcHJlZml4PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5lbGVtZW50IGxvY2FsIG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWVzcGFjZVVSSTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+bmFtZXNwYWNlIFVSSTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29udGVudDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+ZWxlbWVudCBjb250ZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRBdHRyaWJ1dGUiLz54bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRBdHRyaWJ1dGUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0QXR0cmlidXRlCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkJIGNvbnN0IGNoYXIgKiBmb3JtYXQsIDxici8+CQkJCQkJIC4uLiAuLi4pPGJyLz4KKzwvcHJlPjxwPldyaXRlIGEgZm9ybWF0dGVkIHhtbCBhdHRyaWJ1dGUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD53cml0ZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD48YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mb3JtYXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmZvcm1hdCBzdHJpbmcgKHNlZSBwcmludGYpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD4uLi48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmV4dHJhIHBhcmFtZXRlcnMgZm9yIHRoZSBmb3JtYXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdEF0dHJpYnV0ZU5TIi8+eG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0QXR0cmlidXRlTlMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0QXR0cmlidXRlTlMJKDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHJlZml4LCA8YnIvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWVzcGFjZVVSSSwgPGJyLz4JCQkJCQkgY29uc3QgY2hhciAqIGZvcm1hdCwgPGJyLz4JCQkJCQkgLi4uIC4uLik8YnIvPgorPC9wcmU+PHA+V3JpdGUgYSBmb3JtYXR0ZWQgeG1sIGF0dHJpYnV0ZS53aXRoIG5hbWVzcGFjZSBzdXBwb3J0PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD53cml0ZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wcmVmaXg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPm5hbWVzcGFjZSBwcmVmaXg8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IGxvY2FsIG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWVzcGFjZVVSSTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+bmFtZXNwYWNlIFVSSTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Zm9ybWF0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5mb3JtYXQgc3RyaW5nIChzZWUgcHJpbnRmKTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Li4uPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5leHRyYSBwYXJhbWV0ZXJzIGZvciB0aGUgZm9ybWF0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRDREFUQSIvPnhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdENEQVRBICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdENEQVRBCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZm9ybWF0LCA8YnIvPgkJCQkJIC4uLiAuLi4pPGJyLz4KKzwvcHJlPjxwPldyaXRlIGEgZm9ybWF0dGVkIHhtbCBDREFUQS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PndyaXRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZvcm1hdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+Zm9ybWF0IHN0cmluZyAoc2VlIHByaW50Zik8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pi4uLjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+ZXh0cmEgcGFyYW1ldGVycyBmb3IgdGhlIGZvcm1hdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0Q29tbWVudCIvPnhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdENvbW1lbnQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0Q29tbWVudAkoPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGZvcm1hdCwgPGJyLz4JCQkJCSAuLi4gLi4uKTxici8+Cis8L3ByZT48cD5Xcml0ZSBhbiB4bWwgY29tbWVudC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PndyaXRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZvcm1hdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+Zm9ybWF0IHN0cmluZyAoc2VlIHByaW50Zik8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pi4uLjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+ZXh0cmEgcGFyYW1ldGVycyBmb3IgdGhlIGZvcm1hdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFREIi8+eG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFREICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdERURAkoPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHB1YmlkLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzeXNpZCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZm9ybWF0LCA8YnIvPgkJCQkJIC4uLiAuLi4pPGJyLz4KKzwvcHJlPjxwPldyaXRlIGEgRFREIHdpdGggYSBmb3JtYXR0ZWQgbWFya3VwIGRlY2xhcmF0aW9ucyBwYXJ0LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d3JpdGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5hbWUgb2YgdGhlIERURDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cHViaWQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwdWJsaWMgaWRlbnRpZmllciwgd2hpY2ggaXMgYW4gYWx0ZXJuYXRpdmUgdG8gdGhlIHN5c3RlbSBpZGVudGlmaWVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zeXNpZDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHN5c3RlbSBpZGVudGlmaWVyLCB3aGljaCBpcyB0aGUgVVJJIG9mIHRoZSBEVEQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZvcm1hdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+Zm9ybWF0IHN0cmluZyAoc2VlIHByaW50Zik8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pi4uLjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+ZXh0cmEgcGFyYW1ldGVycyBmb3IgdGhlIGZvcm1hdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFREQXR0bGlzdCIvPnhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdERUREF0dGxpc3QgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFREQXR0bGlzdAkoPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxici8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJCSBjb25zdCBjaGFyICogZm9ybWF0LCA8YnIvPgkJCQkJCSAuLi4gLi4uKTxici8+Cis8L3ByZT48cD5Xcml0ZSBhIGZvcm1hdHRlZCBEVEQgQVRUTElTVC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PndyaXRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lIG9mIHRoZSBEVEQgQVRUTElTVDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Zm9ybWF0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5mb3JtYXQgc3RyaW5nIChzZWUgcHJpbnRmKTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Li4uPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5leHRyYSBwYXJhbWV0ZXJzIGZvciB0aGUgZm9ybWF0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVERFbGVtZW50Ii8+eG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFRERWxlbWVudCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVERFbGVtZW50CSg8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkJIGNvbnN0IGNoYXIgKiBmb3JtYXQsIDxici8+CQkJCQkJIC4uLiAuLi4pPGJyLz4KKzwvcHJlPjxwPldyaXRlIGEgZm9ybWF0dGVkIERURCBlbGVtZW50LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d3JpdGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5hbWUgb2YgdGhlIERURCBlbGVtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mb3JtYXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmZvcm1hdCBzdHJpbmcgKHNlZSBwcmludGYpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD4uLi48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmV4dHJhIHBhcmFtZXRlcnMgZm9yIHRoZSBmb3JtYXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdERUREludGVybmFsRW50aXR5Ii8+eG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFRESW50ZXJuYWxFbnRpdHkgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFRESW50ZXJuYWxFbnRpdHkJKDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIvPgkJCQkJCQkgaW50IHBlLCA8YnIvPgkJCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkJCSBjb25zdCBjaGFyICogZm9ybWF0LCA8YnIvPgkJCQkJCQkgLi4uIC4uLik8YnIvPgorPC9wcmU+PHA+V3JpdGUgYSBmb3JtYXR0ZWQgRFREIGludGVybmFsIGVudGl0eS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PndyaXRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnBlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5UUlVFIGlmIHRoaXMgaXMgYSBwYXJhbWV0ZXIgZW50aXR5LCBGQUxTRSBpZiBub3Q8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lIG9mIHRoZSBEVEQgZW50aXR5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mb3JtYXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmZvcm1hdCBzdHJpbmcgKHNlZSBwcmludGYpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD4uLi48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmV4dHJhIHBhcmFtZXRlcnMgZm9yIHRoZSBmb3JtYXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdEVsZW1lbnQiLz54bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRFbGVtZW50ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdEVsZW1lbnQJKDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBmb3JtYXQsIDxici8+CQkJCQkgLi4uIC4uLik8YnIvPgorPC9wcmU+PHA+V3JpdGUgYSBmb3JtYXR0ZWQgeG1sIGVsZW1lbnQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD53cml0ZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5lbGVtZW50IG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZvcm1hdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+Zm9ybWF0IHN0cmluZyAoc2VlIHByaW50Zik8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pi4uLjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+ZXh0cmEgcGFyYW1ldGVycyBmb3IgdGhlIGZvcm1hdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RWxlbWVudE5TIi8+eG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RWxlbWVudE5TICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdEVsZW1lbnROUwkoPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxici8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwcmVmaXgsIDxici8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZXNwYWNlVVJJLCA8YnIvPgkJCQkJCSBjb25zdCBjaGFyICogZm9ybWF0LCA8YnIvPgkJCQkJCSAuLi4gLi4uKTxici8+Cis8L3ByZT48cD5Xcml0ZSBhIGZvcm1hdHRlZCB4bWwgZWxlbWVudCB3aXRoIG5hbWVzcGFjZSBzdXBwb3J0LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d3JpdGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cHJlZml4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5uYW1lc3BhY2UgcHJlZml4PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5lbGVtZW50IGxvY2FsIG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWVzcGFjZVVSSTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+bmFtZXNwYWNlIFVSSTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Zm9ybWF0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5mb3JtYXQgc3RyaW5nIChzZWUgcHJpbnRmKTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Li4uPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5leHRyYSBwYXJhbWV0ZXJzIGZvciB0aGUgZm9ybWF0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRQSSIvPnhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdFBJICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdFBJCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdGFyZ2V0LCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBmb3JtYXQsIDxici8+CQkJCQkgLi4uIC4uLik8YnIvPgorPC9wcmU+PHA+V3JpdGUgYSBmb3JtYXR0ZWQgUEkuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD53cml0ZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50YXJnZXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlBJIHRhcmdldDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Zm9ybWF0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5mb3JtYXQgc3RyaW5nIChzZWUgcHJpbnRmKTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Li4uPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5leHRyYSBwYXJhbWV0ZXJzIGZvciB0aGUgZm9ybWF0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRSYXciLz54bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRSYXcgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0UmF3CSg8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZm9ybWF0LCA8YnIvPgkJCQkJIC4uLiAuLi4pPGJyLz4KKzwvcHJlPjxwPldyaXRlIGEgZm9ybWF0dGVkIHJhdyB4bWwgdGV4dC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PndyaXRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZvcm1hdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+Zm9ybWF0IHN0cmluZyAoc2VlIHByaW50Zik8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pi4uLjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+ZXh0cmEgcGFyYW1ldGVycyBmb3IgdGhlIGZvcm1hdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0U3RyaW5nIi8+eG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0U3RyaW5nICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdFN0cmluZwkoPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGZvcm1hdCwgPGJyLz4JCQkJCSAuLi4gLi4uKTxici8+Cis8L3ByZT48cD5Xcml0ZSBhIGZvcm1hdHRlZCB4bWwgdGV4dC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PndyaXRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZvcm1hdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+Zm9ybWF0IHN0cmluZyAoc2VlIHByaW50Zik8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pi4uLjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+ZXh0cmEgcGFyYW1ldGVycyBmb3IgdGhlIGZvcm1hdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVGV4dFdyaXRlcldyaXRlUEkiLz54bWxUZXh0V3JpdGVyV3JpdGVQSSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0V3JpdGVyV3JpdGVQSQkJKDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB0YXJnZXQsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGNvbnRlbnQpPGJyLz4KKzwvcHJlPjxwPldyaXRlIGFuIHhtbCBQSS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PndyaXRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRhcmdldDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+UEkgdGFyZ2V0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb250ZW50PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5QSSBjb250ZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxUZXh0V3JpdGVyV3JpdGVSYXciLz54bWxUZXh0V3JpdGVyV3JpdGVSYXcgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFdyaXRlcldyaXRlUmF3CQkoPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGNvbnRlbnQpPGJyLz4KKzwvcHJlPjxwPldyaXRlIGEgcmF3IHhtbCB0ZXh0LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d3JpdGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29udGVudDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGV4dCBzdHJpbmc8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFRleHRXcml0ZXJXcml0ZVJhd0xlbiIvPnhtbFRleHRXcml0ZXJXcml0ZVJhd0xlbiAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0V3JpdGVyV3JpdGVSYXdMZW4JKDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjb250ZW50LCA8YnIvPgkJCQkJIGludCBsZW4pPGJyLz4KKzwvcHJlPjxwPldyaXRlIGFuIHhtbCB0ZXh0LiBUT0RPOiB3aGF0IGFib3V0IGVudGl0aWVzIGFuZCBzcGVjaWFsIGNoYXJzPz88L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PndyaXRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbnRlbnQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRleHQgc3RyaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmxlbmd0aCBvZiB0aGUgdGV4dCBzdHJpbmc8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFRleHRXcml0ZXJXcml0ZVN0cmluZyIvPnhtbFRleHRXcml0ZXJXcml0ZVN0cmluZyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0V3JpdGVyV3JpdGVTdHJpbmcJKDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjb250ZW50KTxici8+Cis8L3ByZT48cD5Xcml0ZSBhbiB4bWwgdGV4dC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PndyaXRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbnRlbnQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRleHQgc3RyaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0QXR0cmlidXRlIi8+eG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEF0dHJpYnV0ZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0QXR0cmlidXRlCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkJIGNvbnN0IGNoYXIgKiBmb3JtYXQsIDxici8+CQkJCQkJIHZhX2xpc3QgYXJncHRyKTxici8+Cis8L3ByZT48cD5Xcml0ZSBhIGZvcm1hdHRlZCB4bWwgYXR0cmlidXRlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d3JpdGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+PGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Zm9ybWF0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5mb3JtYXQgc3RyaW5nIChzZWUgcHJpbnRmKTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YXJncHRyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5wb2ludGVyIHRvIHRoZSBmaXJzdCBtZW1iZXIgb2YgdGhlIHZhcmlhYmxlIGFyZ3VtZW50IGxpc3QuPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0QXR0cmlidXRlTlMiLz54bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0QXR0cmlidXRlTlMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEF0dHJpYnV0ZU5TCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHByZWZpeCwgPGJyLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lc3BhY2VVUkksIDxici8+CQkJCQkJIGNvbnN0IGNoYXIgKiBmb3JtYXQsIDxici8+CQkJCQkJIHZhX2xpc3QgYXJncHRyKTxici8+Cis8L3ByZT48cD5Xcml0ZSBhIGZvcm1hdHRlZCB4bWwgYXR0cmlidXRlLndpdGggbmFtZXNwYWNlIHN1cHBvcnQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PndyaXRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnByZWZpeDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+bmFtZXNwYWNlIHByZWZpeDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+PGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gbG9jYWwgbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZXNwYWNlVVJJPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5uYW1lc3BhY2UgVVJJPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mb3JtYXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmZvcm1hdCBzdHJpbmcgKHNlZSBwcmludGYpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5hcmdwdHI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnBvaW50ZXIgdG8gdGhlIGZpcnN0IG1lbWJlciBvZiB0aGUgdmFyaWFibGUgYXJndW1lbnQgbGlzdC48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRDREFUQSIvPnhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRDREFUQSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0Q0RBVEEJKDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBmb3JtYXQsIDxici8+CQkJCQkgdmFfbGlzdCBhcmdwdHIpPGJyLz4KKzwvcHJlPjxwPldyaXRlIGEgZm9ybWF0dGVkIHhtbCBDREFUQS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PndyaXRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZvcm1hdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+Zm9ybWF0IHN0cmluZyAoc2VlIHByaW50Zik8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmFyZ3B0cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+cG9pbnRlciB0byB0aGUgZmlyc3QgbWVtYmVyIG9mIHRoZSB2YXJpYWJsZSBhcmd1bWVudCBsaXN0LjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdENvbW1lbnQiLz54bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0Q29tbWVudCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0Q29tbWVudAkoPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxici8+CQkJCQkJIGNvbnN0IGNoYXIgKiBmb3JtYXQsIDxici8+CQkJCQkJIHZhX2xpc3QgYXJncHRyKTxici8+Cis8L3ByZT48cD5Xcml0ZSBhbiB4bWwgY29tbWVudC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PndyaXRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZvcm1hdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+Zm9ybWF0IHN0cmluZyAoc2VlIHByaW50Zik8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmFyZ3B0cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+cG9pbnRlciB0byB0aGUgZmlyc3QgbWVtYmVyIG9mIHRoZSB2YXJpYWJsZSBhcmd1bWVudCBsaXN0LjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERURCIvPnhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVEQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERURAkoPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHB1YmlkLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzeXNpZCwgPGJyLz4JCQkJCSBjb25zdCBjaGFyICogZm9ybWF0LCA8YnIvPgkJCQkJIHZhX2xpc3QgYXJncHRyKTxici8+Cis8L3ByZT48cD5Xcml0ZSBhIERURCB3aXRoIGEgZm9ybWF0dGVkIG1hcmt1cCBkZWNsYXJhdGlvbnMgcGFydC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PndyaXRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lIG9mIHRoZSBEVEQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnB1YmlkPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcHVibGljIGlkZW50aWZpZXIsIHdoaWNoIGlzIGFuIGFsdGVybmF0aXZlIHRvIHRoZSBzeXN0ZW0gaWRlbnRpZmllcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3lzaWQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzeXN0ZW0gaWRlbnRpZmllciwgd2hpY2ggaXMgdGhlIFVSSSBvZiB0aGUgRFREPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mb3JtYXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmZvcm1hdCBzdHJpbmcgKHNlZSBwcmludGYpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5hcmdwdHI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnBvaW50ZXIgdG8gdGhlIGZpcnN0IG1lbWJlciBvZiB0aGUgdmFyaWFibGUgYXJndW1lbnQgbGlzdC48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVERBdHRsaXN0Ii8+eG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREF0dGxpc3QgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREF0dGxpc3QJKDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCQkgY29uc3QgY2hhciAqIGZvcm1hdCwgPGJyLz4JCQkJCQkgdmFfbGlzdCBhcmdwdHIpPGJyLz4KKzwvcHJlPjxwPldyaXRlIGEgZm9ybWF0dGVkIERURCBBVFRMSVNULjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d3JpdGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5hbWUgb2YgdGhlIERURCBBVFRMSVNUPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mb3JtYXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmZvcm1hdCBzdHJpbmcgKHNlZSBwcmludGYpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5hcmdwdHI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnBvaW50ZXIgdG8gdGhlIGZpcnN0IG1lbWJlciBvZiB0aGUgdmFyaWFibGUgYXJndW1lbnQgbGlzdC48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVERFbGVtZW50Ii8+eG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREVsZW1lbnQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREVsZW1lbnQJKDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCQkgY29uc3QgY2hhciAqIGZvcm1hdCwgPGJyLz4JCQkJCQkgdmFfbGlzdCBhcmdwdHIpPGJyLz4KKzwvcHJlPjxwPldyaXRlIGEgZm9ybWF0dGVkIERURCBlbGVtZW50LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d3JpdGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5hbWUgb2YgdGhlIERURCBlbGVtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mb3JtYXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmZvcm1hdCBzdHJpbmcgKHNlZSBwcmludGYpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5hcmdwdHI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnBvaW50ZXIgdG8gdGhlIGZpcnN0IG1lbWJlciBvZiB0aGUgdmFyaWFibGUgYXJndW1lbnQgbGlzdC48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVERJbnRlcm5hbEVudGl0eSIvPnhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVERJbnRlcm5hbEVudGl0eSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFRESW50ZXJuYWxFbnRpdHkJKDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIvPgkJCQkJCQkgaW50IHBlLCA8YnIvPgkJCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkJCSBjb25zdCBjaGFyICogZm9ybWF0LCA8YnIvPgkJCQkJCQkgdmFfbGlzdCBhcmdwdHIpPGJyLz4KKzwvcHJlPjxwPldyaXRlIGEgZm9ybWF0dGVkIERURCBpbnRlcm5hbCBlbnRpdHkuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD53cml0ZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VFJVRSBpZiB0aGlzIGlzIGEgcGFyYW1ldGVyIGVudGl0eSwgRkFMU0UgaWYgbm90PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZSBvZiB0aGUgRFREIGVudGl0eTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Zm9ybWF0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5mb3JtYXQgc3RyaW5nIChzZWUgcHJpbnRmKTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YXJncHRyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5wb2ludGVyIHRvIHRoZSBmaXJzdCBtZW1iZXIgb2YgdGhlIHZhcmlhYmxlIGFyZ3VtZW50IGxpc3QuPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RWxlbWVudCIvPnhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRFbGVtZW50ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRFbGVtZW50CSg8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkJIGNvbnN0IGNoYXIgKiBmb3JtYXQsIDxici8+CQkJCQkJIHZhX2xpc3QgYXJncHRyKTxici8+Cis8L3ByZT48cD5Xcml0ZSBhIGZvcm1hdHRlZCB4bWwgZWxlbWVudC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PndyaXRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmVsZW1lbnQgbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Zm9ybWF0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5mb3JtYXQgc3RyaW5nIChzZWUgcHJpbnRmKTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YXJncHRyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5wb2ludGVyIHRvIHRoZSBmaXJzdCBtZW1iZXIgb2YgdGhlIHZhcmlhYmxlIGFyZ3VtZW50IGxpc3QuPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RWxlbWVudE5TIi8+eG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEVsZW1lbnROUyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RWxlbWVudE5TCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHByZWZpeCwgPGJyLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lc3BhY2VVUkksIDxici8+CQkJCQkJIGNvbnN0IGNoYXIgKiBmb3JtYXQsIDxici8+CQkJCQkJIHZhX2xpc3QgYXJncHRyKTxici8+Cis8L3ByZT48cD5Xcml0ZSBhIGZvcm1hdHRlZCB4bWwgZWxlbWVudCB3aXRoIG5hbWVzcGFjZSBzdXBwb3J0LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d3JpdGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cHJlZml4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5uYW1lc3BhY2UgcHJlZml4PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5lbGVtZW50IGxvY2FsIG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWVzcGFjZVVSSTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+bmFtZXNwYWNlIFVSSTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Zm9ybWF0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5mb3JtYXQgc3RyaW5nIChzZWUgcHJpbnRmKTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YXJncHRyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5wb2ludGVyIHRvIHRoZSBmaXJzdCBtZW1iZXIgb2YgdGhlIHZhcmlhYmxlIGFyZ3VtZW50IGxpc3QuPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0UEkiLz54bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0UEkgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdFBJCSg8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdGFyZ2V0LCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBmb3JtYXQsIDxici8+CQkJCQkgdmFfbGlzdCBhcmdwdHIpPGJyLz4KKzwvcHJlPjxwPldyaXRlIGEgZm9ybWF0dGVkIHhtbCBQSS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PndyaXRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRhcmdldDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+UEkgdGFyZ2V0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mb3JtYXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmZvcm1hdCBzdHJpbmcgKHNlZSBwcmludGYpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5hcmdwdHI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnBvaW50ZXIgdG8gdGhlIGZpcnN0IG1lbWJlciBvZiB0aGUgdmFyaWFibGUgYXJndW1lbnQgbGlzdC48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRSYXciLz54bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0UmF3ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRSYXcJKDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBmb3JtYXQsIDxici8+CQkJCQkgdmFfbGlzdCBhcmdwdHIpPGJyLz4KKzwvcHJlPjxwPldyaXRlIGEgZm9ybWF0dGVkIHJhdyB4bWwgdGV4dC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PndyaXRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZvcm1hdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+Zm9ybWF0IHN0cmluZyAoc2VlIHByaW50Zik8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmFyZ3B0cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+cG9pbnRlciB0byB0aGUgZmlyc3QgbWVtYmVyIG9mIHRoZSB2YXJpYWJsZSBhcmd1bWVudCBsaXN0LjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdFN0cmluZyIvPnhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRTdHJpbmcgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdFN0cmluZwkoPGEgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxici8+CQkJCQkgY29uc3QgY2hhciAqIGZvcm1hdCwgPGJyLz4JCQkJCSB2YV9saXN0IGFyZ3B0cik8YnIvPgorPC9wcmU+PHA+V3JpdGUgYSBmb3JtYXR0ZWQgeG1sIHRleHQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD53cml0ZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mb3JtYXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmZvcm1hdCBzdHJpbmcgKHNlZSBwcmludGYpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5hcmdwdHI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnBvaW50ZXIgdG8gdGhlIGZpcnN0IG1lbWJlciBvZiB0aGUgdmFyaWFibGUgYXJndW1lbnQgbGlzdC48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKyAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvZGV2aGVscC9saWJ4bWwyLXhwYXRoLmh0bWwgYi9saWJ4bWwyL2RvYy9kZXZoZWxwL2xpYnhtbDIteHBhdGguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NDBjNzE1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvZGV2aGVscC9saWJ4bWwyLXhwYXRoLmh0bWwKQEAgLTAsMCArMSw1NDIgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8aHRtbD4KKyAgPGhlYWQ+CisgICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiLz4KKyAgICA8dGl0bGU+eHBhdGg6IFhNTCBQYXRoIExhbmd1YWdlIGltcGxlbWVudGF0aW9uPC90aXRsZT4KKyAgICA8bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9IkxpYnhtbDIgZGV2aGVscCBzdHlsZXNoZWV0Ii8+CisgICAgPGxpbmsgcmVsPSJzdGFydCIgaHJlZj0iaW5kZXguaHRtbCIgdGl0bGU9ImxpYnhtbDIgUmVmZXJlbmNlIE1hbnVhbCIvPgorICAgIDxsaW5rIHJlbD0idXAiIGhyZWY9ImdlbmVyYWwuaHRtbCIgdGl0bGU9IkFQSSIvPgorICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0ic3R5bGUuY3NzIiB0eXBlPSJ0ZXh0L2NzcyIvPgorICAgIDxsaW5rIHJlbD0iY2hhcHRlciIgaHJlZj0iZ2VuZXJhbC5odG1sIiB0aXRsZT0iQVBJIi8+CisgIDwvaGVhZD4KKyAgPGJvZHkgYmdjb2xvcj0id2hpdGUiIHRleHQ9ImJsYWNrIiBsaW5rPSIjMDAwMEZGIiB2bGluaz0iIzg0MDA4NCIgYWxpbms9IiMwMDAwRkYiPgorICAgIDx0YWJsZSBjbGFzcz0ibmF2aWdhdGlvbiIgd2lkdGg9IjEwMCUiIHN1bW1hcnk9Ik5hdmlnYXRpb24gaGVhZGVyIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjIiPgorICAgICAgPHRyIHZhbGlnbj0ibWlkZGxlIj4KKyAgICAgICAgPHRkPgorICAgICAgICAgIDxhIGFjY2Vzc2tleT0icCIgaHJlZj0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0ibGVmdC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlByZXYiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9InUiIGhyZWY9ImdlbmVyYWwuaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0idXAucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJVcCIvPgorICAgICAgICAgIDwvYT4KKyAgICAgICAgPC90ZD4KKyAgICAgICAgPHRkPgorICAgICAgICAgIDxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iaW5kZXguaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0iaG9tZS5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IkhvbWUiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9Im4iIGhyZWY9ImxpYnhtbDIteHBhdGhJbnRlcm5hbHMuaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0icmlnaHQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJOZXh0Ii8+CisgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGggd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPmxpYnhtbDIgUmVmZXJlbmNlIE1hbnVhbDwvdGg+CisgICAgICA8L3RyPgorICAgIDwvdGFibGU+CisgICAgPGgyPgorICAgICAgPHNwYW4gY2xhc3M9InJlZmVudHJ5dGl0bGUiPnhwYXRoPC9zcGFuPgorICAgIDwvaDI+CisgICAgPHA+eHBhdGggLSBYTUwgUGF0aCBMYW5ndWFnZSBpbXBsZW1lbnRhdGlvbjwvcD4KKyAgICA8cD5BUEkgZm9yIHRoZSBYTUwgUGF0aCBMYW5ndWFnZSBpbXBsZW1lbnRhdGlvbiAgWE1MIFBhdGggTGFuZ3VhZ2UgaW1wbGVtZW50YXRpb24gWFBhdGggaXMgYSBsYW5ndWFnZSBmb3IgYWRkcmVzc2luZyBwYXJ0cyBvZiBhbiBYTUwgZG9jdW1lbnQsIGRlc2lnbmVkIHRvIGJlIHVzZWQgYnkgYm90aCBYU0xUIGFuZCBYUG9pbnRlcjwvcD4KKyAgICA8cD5BdXRob3Iocyk6IERhbmllbCBWZWlsbGFyZCA8L3A+CisgICAgPGRpdiBjbGFzcz0icmVmc3lub3BzaXNkaXYiPgorICAgICAgPGgyPlN5bm9wc2lzPC9oMj4KKyAgICAgIDxwcmUgY2xhc3M9InN5bm9wc2lzIj4jZGVmaW5lIDxhIGhyZWY9IiN4bWxYUGF0aE5vZGVTZXRHZXRMZW5ndGgiPnhtbFhQYXRoTm9kZVNldEdldExlbmd0aDwvYT4obnMpOworI2RlZmluZSA8YSBocmVmPSIjWE1MX1hQQVRIX0NIRUNLTlMiPlhNTF9YUEFUSF9DSEVDS05TPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI1hNTF9YUEFUSF9OT1ZBUiI+WE1MX1hQQVRIX05PVkFSPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI3htbFhQYXRoTm9kZVNldEl0ZW0iPnhtbFhQYXRoTm9kZVNldEl0ZW08L2E+KG5zLCBpbmRleCk7CisjZGVmaW5lIDxhIGhyZWY9IiN4bWxYUGF0aE5vZGVTZXRJc0VtcHR5Ij54bWxYUGF0aE5vZGVTZXRJc0VtcHR5PC9hPihucyk7Cit0eXBlZGVmIGVudW0gPGEgaHJlZj0iI3htbFhQYXRoT2JqZWN0VHlwZSI+eG1sWFBhdGhPYmplY3RUeXBlPC9hPjsKK3R5cGVkZWYgPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoVmFyaWFibGUiPnhtbFhQYXRoVmFyaWFibGU8L2E+ICogPGEgaHJlZj0iI3htbFhQYXRoVmFyaWFibGVQdHIiPnhtbFhQYXRoVmFyaWFibGVQdHI8L2E+OwordHlwZWRlZiBzdHJ1Y3QgX3htbFhQYXRoQ29udGV4dCA8YSBocmVmPSIjeG1sWFBhdGhDb250ZXh0Ij54bWxYUGF0aENvbnRleHQ8L2E+OwordHlwZWRlZiBlbnVtIDxhIGhyZWY9IiN4bWxYUGF0aEVycm9yIj54bWxYUGF0aEVycm9yPC9hPjsKK3R5cGVkZWYgc3RydWN0IF94bWxYUGF0aEZ1bmN0IDxhIGhyZWY9IiN4bWxYUGF0aEZ1bmN0Ij54bWxYUGF0aEZ1bmN0PC9hPjsKK3R5cGVkZWYgPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoVHlwZSI+eG1sWFBhdGhUeXBlPC9hPiAqIDxhIGhyZWY9IiN4bWxYUGF0aFR5cGVQdHIiPnhtbFhQYXRoVHlwZVB0cjwvYT47Cit0eXBlZGVmIHN0cnVjdCBfeG1sWFBhdGhUeXBlIDxhIGhyZWY9IiN4bWxYUGF0aFR5cGUiPnhtbFhQYXRoVHlwZTwvYT47Cit0eXBlZGVmIDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxOb2RlU2V0Ij54bWxOb2RlU2V0PC9hPiAqIDxhIGhyZWY9IiN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPjsKK3R5cGVkZWYgPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoRnVuY3QiPnhtbFhQYXRoRnVuY3Q8L2E+ICogPGEgaHJlZj0iI3htbFhQYXRoRnVuY1B0ciI+eG1sWFBhdGhGdW5jUHRyPC9hPjsKK3R5cGVkZWYgPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoQ29tcEV4cHIiPnhtbFhQYXRoQ29tcEV4cHI8L2E+ICogPGEgaHJlZj0iI3htbFhQYXRoQ29tcEV4cHJQdHIiPnhtbFhQYXRoQ29tcEV4cHJQdHI8L2E+OwordHlwZWRlZiBzdHJ1Y3QgX3htbFhQYXRoT2JqZWN0IDxhIGhyZWY9IiN4bWxYUGF0aE9iamVjdCI+eG1sWFBhdGhPYmplY3Q8L2E+OwordHlwZWRlZiBzdHJ1Y3QgX3htbFhQYXRoQ29tcEV4cHIgPGEgaHJlZj0iI3htbFhQYXRoQ29tcEV4cHIiPnhtbFhQYXRoQ29tcEV4cHI8L2E+OwordHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0Ij54bWxYUGF0aENvbnRleHQ8L2E+ICogPGEgaHJlZj0iI3htbFhQYXRoQ29udGV4dFB0ciI+eG1sWFBhdGhDb250ZXh0UHRyPC9hPjsKK3R5cGVkZWYgPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dCI+eG1sWFBhdGhQYXJzZXJDb250ZXh0PC9hPiAqIDxhIGhyZWY9IiN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT47Cit0eXBlZGVmIHN0cnVjdCBfeG1sTm9kZVNldCA8YSBocmVmPSIjeG1sTm9kZVNldCI+eG1sTm9kZVNldDwvYT47Cit0eXBlZGVmIHN0cnVjdCBfeG1sWFBhdGhWYXJpYWJsZSA8YSBocmVmPSIjeG1sWFBhdGhWYXJpYWJsZSI+eG1sWFBhdGhWYXJpYWJsZTwvYT47Cit0eXBlZGVmIDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdCI+eG1sWFBhdGhPYmplY3Q8L2E+ICogPGEgaHJlZj0iI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT47Cit0eXBlZGVmIHN0cnVjdCBfeG1sWFBhdGhBeGlzIDxhIGhyZWY9IiN4bWxYUGF0aEF4aXMiPnhtbFhQYXRoQXhpczwvYT47Cit0eXBlZGVmIDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aEF4aXMiPnhtbFhQYXRoQXhpczwvYT4gKiA8YSBocmVmPSIjeG1sWFBhdGhBeGlzUHRyIj54bWxYUGF0aEF4aXNQdHI8L2E+OwordHlwZWRlZiBzdHJ1Y3QgX3htbFhQYXRoUGFyc2VyQ29udGV4dCA8YSBocmVmPSIjeG1sWFBhdGhQYXJzZXJDb250ZXh0Ij54bWxYUGF0aFBhcnNlckNvbnRleHQ8L2E+OworaW50CTxhIGhyZWY9IiN4bWxYUGF0aENhc3ROb2RlU2V0VG9Cb29sZWFuIj54bWxYUGF0aENhc3ROb2RlU2V0VG9Cb29sZWFuPC9hPgkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IG5zKTsKK3R5cGVkZWYgPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoRnVuY3Rpb24iPnhtbFhQYXRoRnVuY3Rpb248L2E+IDxhIGhyZWY9IiN4bWxYUGF0aEZ1bmNMb29rdXBGdW5jIj54bWxYUGF0aEZ1bmNMb29rdXBGdW5jPC9hPgkodm9pZCAqIGN0eHQsIDxici8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbnNfdXJpKTsKKzxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+CTxhIGhyZWY9IiN4bWxYUGF0aE5vZGVFdmFsIj54bWxYUGF0aE5vZGVFdmFsPC9hPgkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSwgPGJyLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0ciwgPGJyLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFB0ciI+eG1sWFBhdGhDb250ZXh0UHRyPC9hPiBjdHgpOworPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxYUGF0aENhc3ROb2RlVG9TdHJpbmciPnhtbFhQYXRoQ2FzdE5vZGVUb1N0cmluZzwvYT4JKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUpOworaW50CTxhIGhyZWY9IiN4bWxYUGF0aElzTmFOIj54bWxYUGF0aElzTmFOPC9hPgkJCShkb3VibGUgdmFsKTsKK2ludAk8YSBocmVmPSIjeG1sWFBhdGhDb250ZXh0U2V0Q2FjaGUiPnhtbFhQYXRoQ29udGV4dFNldENhY2hlPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHRQdHIiPnhtbFhQYXRoQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSBpbnQgYWN0aXZlLCA8YnIvPgkJCQkJIGludCB2YWx1ZSwgPGJyLz4JCQkJCSBpbnQgb3B0aW9ucyk7Cis8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPgk8YSBocmVmPSIjeG1sWFBhdGhDb252ZXJ0U3RyaW5nIj54bWxYUGF0aENvbnZlcnRTdHJpbmc8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPiB2YWwpOworaW50CTxhIGhyZWY9IiN4bWxYUGF0aENvbXBpbGVkRXZhbFRvQm9vbGVhbiI+eG1sWFBhdGhDb21waWxlZEV2YWxUb0Jvb2xlYW48L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhDb21wRXhwclB0ciI+eG1sWFBhdGhDb21wRXhwclB0cjwvYT4gY29tcCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0UHRyIj54bWxYUGF0aENvbnRleHRQdHI8L2E+IGN0eHQpOworaW50CTxhIGhyZWY9IiN4bWxYUGF0aElzSW5mIj54bWxYUGF0aElzSW5mPC9hPgkJCShkb3VibGUgdmFsKTsKK2xvbmcJPGEgaHJlZj0iI3htbFhQYXRoT3JkZXJEb2NFbGVtcyI+eG1sWFBhdGhPcmRlckRvY0VsZW1zPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MpOworPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+CTxhIGhyZWY9IiN4bWxYUGF0aE5vZGVTZXRDcmVhdGUiPnhtbFhQYXRoTm9kZVNldENyZWF0ZTwvYT4JKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IHZhbCk7Citkb3VibGUJPGEgaHJlZj0iI3htbFhQYXRoQ2FzdEJvb2xlYW5Ub051bWJlciI+eG1sWFBhdGhDYXN0Qm9vbGVhblRvTnVtYmVyPC9hPgkoaW50IHZhbCk7Citkb3VibGUJPGEgaHJlZj0iI3htbFhQYXRoQ2FzdE5vZGVUb051bWJlciI+eG1sWFBhdGhDYXN0Tm9kZVRvTnVtYmVyPC9hPgkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSk7Citkb3VibGUJPGEgaHJlZj0iI3htbFhQYXRoQ2FzdFN0cmluZ1RvTnVtYmVyIj54bWxYUGF0aENhc3RTdHJpbmdUb051bWJlcjwvYT4JKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB2YWwpOwordHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPiA8YSBocmVmPSIjeG1sWFBhdGhBeGlzRnVuYyI+eG1sWFBhdGhBeGlzRnVuYzwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4gY3VyKTsKK2RvdWJsZQk8YSBocmVmPSIjeG1sWFBhdGhDYXN0VG9OdW1iZXIiPnhtbFhQYXRoQ2FzdFRvTnVtYmVyPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IHZhbCk7CitpbnQJPGEgaHJlZj0iI3htbFhQYXRoQ2FzdFN0cmluZ1RvQm9vbGVhbiI+eG1sWFBhdGhDYXN0U3RyaW5nVG9Cb29sZWFuPC9hPgkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHZhbCk7Cis8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbFhQYXRoQ2FzdE51bWJlclRvU3RyaW5nIj54bWxYUGF0aENhc3ROdW1iZXJUb1N0cmluZzwvYT4JKGRvdWJsZSB2YWwpOwordHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPiA8YSBocmVmPSIjeG1sWFBhdGhWYXJpYWJsZUxvb2t1cEZ1bmMiPnhtbFhQYXRoVmFyaWFibGVMb29rdXBGdW5jPC9hPgkodm9pZCAqIGN0eHQsIDxici8+CQkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuc191cmkpOwordm9pZAk8YSBocmVmPSIjeG1sWFBhdGhGcmVlT2JqZWN0Ij54bWxYUGF0aEZyZWVPYmplY3Q8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4gb2JqKTsKK2ludAk8YSBocmVmPSIjeG1sWFBhdGhFdmFsUHJlZGljYXRlIj54bWxYUGF0aEV2YWxQcmVkaWNhdGU8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFB0ciI+eG1sWFBhdGhDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IHJlcyk7Cit2b2lkCTxhIGhyZWY9IiN4bWxYUGF0aEZyZWVDb250ZXh0Ij54bWxYUGF0aEZyZWVDb250ZXh0PC9hPgkJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHRQdHIiPnhtbFhQYXRoQ29udGV4dFB0cjwvYT4gY3R4dCk7Cis8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPgk8YSBocmVmPSIjeG1sWFBhdGhPYmplY3RDb3B5Ij54bWxYUGF0aE9iamVjdENvcHk8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPiB2YWwpOwordm9pZAk8YSBocmVmPSIjeG1sWFBhdGhGcmVlTm9kZVNldExpc3QiPnhtbFhQYXRoRnJlZU5vZGVTZXRMaXN0PC9hPgkJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IG9iaik7Cis8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPgk8YSBocmVmPSIjeG1sWFBhdGhFdmFsIj54bWxYUGF0aEV2YWw8L2E+CShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3RyLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHRQdHIiPnhtbFhQYXRoQ29udGV4dFB0cjwvYT4gY3R4KTsKKzxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sWFBhdGhDYXN0Tm9kZVNldFRvU3RyaW5nIj54bWxYUGF0aENhc3ROb2RlU2V0VG9TdHJpbmc8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gbnMpOworPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4JPGEgaHJlZj0iI3htbFhQYXRoQ29tcGlsZWRFdmFsIj54bWxYUGF0aENvbXBpbGVkRXZhbDwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aENvbXBFeHByUHRyIj54bWxYUGF0aENvbXBFeHByUHRyPC9hPiBjb21wLCA8YnIvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0UHRyIj54bWxYUGF0aENvbnRleHRQdHI8L2E+IGN0eCk7Cis8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPgk8YSBocmVmPSIjeG1sWFBhdGhFdmFsRXhwcmVzc2lvbiI+eG1sWFBhdGhFdmFsRXhwcmVzc2lvbjwvYT4JKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzdHIsIDxici8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHRQdHIiPnhtbFhQYXRoQ29udGV4dFB0cjwvYT4gY3R4dCk7Cit2b2lkCTxhIGhyZWY9IiN4bWxYUGF0aEluaXQiPnhtbFhQYXRoSW5pdDwvYT4JCQkodm9pZCk7Cis8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPgk8YSBocmVmPSIjeG1sWFBhdGhDb252ZXJ0Qm9vbGVhbiI+eG1sWFBhdGhDb252ZXJ0Qm9vbGVhbjwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IHZhbCk7Cit0eXBlZGVmIGludCA8YSBocmVmPSIjeG1sWFBhdGhDb252ZXJ0RnVuYyI+eG1sWFBhdGhDb252ZXJ0RnVuYzwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPiBvYmosIDxici8+CQkJCQkgaW50IHR5cGUpOwordHlwZWRlZiB2b2lkIDxhIGhyZWY9IiN4bWxYUGF0aEZ1bmN0aW9uIj54bWxYUGF0aEZ1bmN0aW9uPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSBpbnQgbmFyZ3MpOworaW50CTxhIGhyZWY9IiN4bWxYUGF0aENtcE5vZGVzIj54bWxYUGF0aENtcE5vZGVzPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUxLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUyKTsKKzxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sWFBhdGhDYXN0VG9TdHJpbmciPnhtbFhQYXRoQ2FzdFRvU3RyaW5nPC9hPgkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4gdmFsKTsKKzxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aENvbXBFeHByUHRyIj54bWxYUGF0aENvbXBFeHByUHRyPC9hPgk8YSBocmVmPSIjeG1sWFBhdGhDdHh0Q29tcGlsZSI+eG1sWFBhdGhDdHh0Q29tcGlsZTwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHRQdHIiPnhtbFhQYXRoQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0cik7Cit0eXBlZGVmIHZvaWQgPGEgaHJlZj0iI3htbFhQYXRoRXZhbEZ1bmMiPnhtbFhQYXRoRXZhbEZ1bmM8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIGludCBuYXJncyk7Cis8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbFhQYXRoQ2FzdEJvb2xlYW5Ub1N0cmluZyI+eG1sWFBhdGhDYXN0Qm9vbGVhblRvU3RyaW5nPC9hPgkoaW50IHZhbCk7CitpbnQJPGEgaHJlZj0iI3htbFhQYXRoU2V0Q29udGV4dE5vZGUiPnhtbFhQYXRoU2V0Q29udGV4dE5vZGU8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0UHRyIj54bWxYUGF0aENvbnRleHRQdHI8L2E+IGN0eCk7CitpbnQJPGEgaHJlZj0iI3htbFhQYXRoQ2FzdE51bWJlclRvQm9vbGVhbiI+eG1sWFBhdGhDYXN0TnVtYmVyVG9Cb29sZWFuPC9hPgkoZG91YmxlIHZhbCk7Cit2b2lkCTxhIGhyZWY9IiN4bWxYUGF0aEZyZWVOb2RlU2V0Ij54bWxYUGF0aEZyZWVOb2RlU2V0PC9hPgkJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBvYmopOwordm9pZAk8YSBocmVmPSIjeG1sWFBhdGhGcmVlQ29tcEV4cHIiPnhtbFhQYXRoRnJlZUNvbXBFeHByPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aENvbXBFeHByUHRyIj54bWxYUGF0aENvbXBFeHByUHRyPC9hPiBjb21wKTsKKzxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHRQdHIiPnhtbFhQYXRoQ29udGV4dFB0cjwvYT4JPGEgaHJlZj0iI3htbFhQYXRoTmV3Q29udGV4dCI+eG1sWFBhdGhOZXdDb250ZXh0PC9hPgkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYyk7Cis8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPgk8YSBocmVmPSIjeG1sWFBhdGhDb252ZXJ0TnVtYmVyIj54bWxYUGF0aENvbnZlcnROdW1iZXI8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPiB2YWwpOworPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoQ29tcEV4cHJQdHIiPnhtbFhQYXRoQ29tcEV4cHJQdHI8L2E+CTxhIGhyZWY9IiN4bWxYUGF0aENvbXBpbGUiPnhtbFhQYXRoQ29tcGlsZTwvYT4JKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzdHIpOworZG91YmxlCTxhIGhyZWY9IiN4bWxYUGF0aENhc3ROb2RlU2V0VG9OdW1iZXIiPnhtbFhQYXRoQ2FzdE5vZGVTZXRUb051bWJlcjwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBucyk7CitpbnQJPGEgaHJlZj0iI3htbFhQYXRoQ2FzdFRvQm9vbGVhbiI+eG1sWFBhdGhDYXN0VG9Cb29sZWFuPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IHZhbCk7Cis8L3ByZT4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MSIgbGFuZz0iZW4iPgorICAgICAgPGgyPkRlc2NyaXB0aW9uPC9oMj4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MSIgbGFuZz0iZW4iPgorICAgICAgPGgyPkRldGFpbHM8L2gyPgorICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iWE1MX1hQQVRIX0NIRUNLTlMiPk1hY3JvIDwvYT5YTUxfWFBBVEhfQ0hFQ0tOUzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9YUEFUSF9DSEVDS05TIj5YTUxfWFBBVEhfQ0hFQ0tOUzwvYT47Cis8L3ByZT48cD5jaGVjayBuYW1lc3BhY2VzIGF0IGNvbXBpbGF0aW9uPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IlhNTF9YUEFUSF9OT1ZBUiI+TWFjcm8gPC9hPlhNTF9YUEFUSF9OT1ZBUjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9YUEFUSF9OT1ZBUiI+WE1MX1hQQVRIX05PVkFSPC9hPjsKKzwvcHJlPjxwPmZvcmJpZCB2YXJpYWJsZXMgaW4gZXhwcmVzc2lvbjwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aE5vZGVTZXRHZXRMZW5ndGgiPk1hY3JvIDwvYT54bWxYUGF0aE5vZGVTZXRHZXRMZW5ndGg8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiN4bWxYUGF0aE5vZGVTZXRHZXRMZW5ndGgiPnhtbFhQYXRoTm9kZVNldEdldExlbmd0aDwvYT4obnMpOworPC9wcmU+PHA+SW1wbGVtZW50IGEgZnVuY3Rpb25hbGl0eSBzaW1pbGFyIHRvIHRoZSBET00gTm9kZUxpc3QubGVuZ3RoLiBSZXR1cm5zIHRoZSBudW1iZXIgb2Ygbm9kZXMgaW4gdGhlIG5vZGUtc2V0LjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIG5vZGUtc2V0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aE5vZGVTZXRJc0VtcHR5Ij5NYWNybyA8L2E+eG1sWFBhdGhOb2RlU2V0SXNFbXB0eTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI3htbFhQYXRoTm9kZVNldElzRW1wdHkiPnhtbFhQYXRoTm9kZVNldElzRW1wdHk8L2E+KG5zKTsKKzwvcHJlPjxwPkNoZWNrcyB3aGV0aGVyIEBucyBpcyBlbXB0eSBvciBub3QuIFJldHVybnMgJVRSVUUgaWYgQG5zIGlzIGFuIGVtcHR5IG5vZGUtc2V0LjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIG5vZGUtc2V0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aE5vZGVTZXRJdGVtIj5NYWNybyA8L2E+eG1sWFBhdGhOb2RlU2V0SXRlbTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI3htbFhQYXRoTm9kZVNldEl0ZW0iPnhtbFhQYXRoTm9kZVNldEl0ZW08L2E+KG5zLCBpbmRleCk7Cis8L3ByZT48cD5JbXBsZW1lbnRzIGEgZnVuY3Rpb25hbGl0eSBzaW1pbGFyIHRvIHRoZSBET00gTm9kZUxpc3QuaXRlbSgpLiBSZXR1cm5zIHRoZSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBhdCB0aGUgZ2l2ZW4gQGluZGV4IGluIEBucyBvciBOVUxMIGlmIEBpbmRleCBpcyBvdXQgb2YgcmFuZ2UgKDAgdG8gbGVuZ3RoLTEpPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbm9kZS1zZXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmluZGV4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5pbmRleCBvZiBhIG5vZGUgaW4gdGhlIHNldDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sTm9kZVNldCI+U3RydWN0dXJlIDwvYT54bWxOb2RlU2V0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+c3RydWN0IF94bWxOb2RlU2V0IHsKKyAgICBpbnQJbm9kZU5yCTogbnVtYmVyIG9mIG5vZGVzIGluIHRoZSBzZXQKKyAgICBpbnQJbm9kZU1heAk6IHNpemUgb2YgdGhlIGFycmF5IGFzIGFsbG9jYXRlZAorICAgIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+ICoJbm9kZVRhYgk6IGFycmF5IG9mIG5vZGVzIGluIG5vIHBhcnRpY3VsYXIgb3JkZXIgQEAgd2l0aF9ucyB0byBjaGVjayB3ZXRoZXIgbmFtZQorfSB4bWxOb2RlU2V0OworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE5vZGVTZXRQdHIiPlR5cGVkZWYgPC9hPnhtbE5vZGVTZXRQdHI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sTm9kZVNldCI+eG1sTm9kZVNldDwvYT4gKiB4bWxOb2RlU2V0UHRyOworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoQXhpcyI+U3RydWN0dXJlIDwvYT54bWxYUGF0aEF4aXM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5zdHJ1Y3QgX3htbFhQYXRoQXhpcyB7CisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCW5hbWUJOiB0aGUgYXhpcyBuYW1lCisgICAgPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoQXhpc0Z1bmMiPnhtbFhQYXRoQXhpc0Z1bmM8L2E+CWZ1bmMJOiB0aGUgc2VhcmNoIGZ1bmN0aW9uCit9IHhtbFhQYXRoQXhpczsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aEF4aXNQdHIiPlR5cGVkZWYgPC9hPnhtbFhQYXRoQXhpc1B0cjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aEF4aXMiPnhtbFhQYXRoQXhpczwvYT4gKiB4bWxYUGF0aEF4aXNQdHI7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhDb21wRXhwciI+U3RydWN0dXJlIDwvYT54bWxYUGF0aENvbXBFeHByPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+c3RydWN0IF94bWxYUGF0aENvbXBFeHByIHsKK1RoZSBjb250ZW50IG9mIHRoaXMgc3RydWN0dXJlIGlzIG5vdCBtYWRlIHB1YmxpYyBieSB0aGUgQVBJLgorfSB4bWxYUGF0aENvbXBFeHByOworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoQ29tcEV4cHJQdHIiPlR5cGVkZWYgPC9hPnhtbFhQYXRoQ29tcEV4cHJQdHI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhDb21wRXhwciI+eG1sWFBhdGhDb21wRXhwcjwvYT4gKiB4bWxYUGF0aENvbXBFeHByUHRyOworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoQ29udGV4dCI+U3RydWN0dXJlIDwvYT54bWxYUGF0aENvbnRleHQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5zdHJ1Y3QgX3htbFhQYXRoQ29udGV4dCB7CisgICAgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+CWRvYwk6IFRoZSBjdXJyZW50IGRvY3VtZW50CisgICAgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4Jbm9kZQk6IFRoZSBjdXJyZW50IG5vZGUKKyAgICBpbnQJbmJfdmFyaWFibGVzX3VudXNlZAk6IHVudXNlZCAoaGFzaCB0YWJsZSkKKyAgICBpbnQJbWF4X3ZhcmlhYmxlc191bnVzZWQJOiB1bnVzZWQgKGhhc2ggdGFibGUpCisgICAgPGEgaHJlZj0ibGlieG1sMi1oYXNoLmh0bWwjeG1sSGFzaFRhYmxlUHRyIj54bWxIYXNoVGFibGVQdHI8L2E+CXZhckhhc2gJOiBIYXNoIHRhYmxlIG9mIGRlZmluZWQgdmFyaWFibGVzCisgICAgaW50CW5iX3R5cGVzCTogbnVtYmVyIG9mIGRlZmluZWQgdHlwZXMKKyAgICBpbnQJbWF4X3R5cGVzCTogbWF4IG51bWJlciBvZiB0eXBlcworICAgIDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aFR5cGVQdHIiPnhtbFhQYXRoVHlwZVB0cjwvYT4JdHlwZXMJOiBBcnJheSBvZiBkZWZpbmVkIHR5cGVzCisgICAgaW50CW5iX2Z1bmNzX3VudXNlZAk6IHVudXNlZCAoaGFzaCB0YWJsZSkKKyAgICBpbnQJbWF4X2Z1bmNzX3VudXNlZAk6IHVudXNlZCAoaGFzaCB0YWJsZSkKKyAgICA8YSBocmVmPSJsaWJ4bWwyLWhhc2guaHRtbCN4bWxIYXNoVGFibGVQdHIiPnhtbEhhc2hUYWJsZVB0cjwvYT4JZnVuY0hhc2gJOiBIYXNoIHRhYmxlIG9mIGRlZmluZWQgZnVuY3MKKyAgICBpbnQJbmJfYXhpcwk6IG51bWJlciBvZiBkZWZpbmVkIGF4aXMKKyAgICBpbnQJbWF4X2F4aXMJOiBtYXggbnVtYmVyIG9mIGF4aXMKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhBeGlzUHRyIj54bWxYUGF0aEF4aXNQdHI8L2E+CWF4aXMJOiBBcnJheSBvZiBkZWZpbmVkIGF4aXMgdGhlIG5hbWVzcGFjZSBub2RlcyBvZiB0aGUgY29udGV4dCBub2RlCisgICAgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTnNQdHIiPnhtbE5zUHRyPC9hPiAqCW5hbWVzcGFjZXMJOiBBcnJheSBvZiBuYW1lc3BhY2VzCisgICAgaW50CW5zTnIJOiBudW1iZXIgb2YgbmFtZXNwYWNlIGluIHNjb3BlCisgICAgdm9pZCAqCXVzZXIJOiBmdW5jdGlvbiB0byBmcmVlIGV4dHJhIHZhcmlhYmxlcworICAgIGludAljb250ZXh0U2l6ZQk6IHRoZSBjb250ZXh0IHNpemUKKyAgICBpbnQJcHJveGltaXR5UG9zaXRpb24JOiB0aGUgcHJveGltaXR5IHBvc2l0aW9uIGV4dHJhIHN0dWZmIGZvciBYUG9pbnRlcgorICAgIGludAl4cHRyCTogaXMgdGhpcyBhbiBYUG9pbnRlciBjb250ZXh0PworICAgIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CWhlcmUJOiBmb3IgaGVyZSgpCisgICAgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4Jb3JpZ2luCTogZm9yIG9yaWdpbigpIHRoZSBzZXQgb2YgbmFtZXNwYWNlIGRlY2xhcmF0aW9ucyBpbiBzY29wZSBmb3IgdGhlIGV4cHJlCisgICAgPGEgaHJlZj0ibGlieG1sMi1oYXNoLmh0bWwjeG1sSGFzaFRhYmxlUHRyIj54bWxIYXNoVGFibGVQdHI8L2E+CW5zSGFzaAk6IFRoZSBuYW1lc3BhY2VzIGhhc2ggdGFibGUKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhWYXJpYWJsZUxvb2t1cEZ1bmMiPnhtbFhQYXRoVmFyaWFibGVMb29rdXBGdW5jPC9hPgl2YXJMb29rdXBGdW5jCTogdmFyaWFibGUgbG9va3VwIGZ1bmMKKyAgICB2b2lkICoJdmFyTG9va3VwRGF0YQk6IHZhcmlhYmxlIGxvb2t1cCBkYXRhIFBvc3NpYmlsaXR5IHRvIGxpbmsgaW4gYW4gZXh0cmEgaXRlbQorICAgIHZvaWQgKglleHRyYQk6IG5lZWRlZCBmb3IgWFNMVCBUaGUgZnVuY3Rpb24gbmFtZSBhbmQgVVJJIHdoZW4gY2FsbGluZyBhIGZ1bmN0aW9uCisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCWZ1bmN0aW9uCisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCWZ1bmN0aW9uVVJJCTogZnVuY3Rpb24gbG9va3VwIGZ1bmN0aW9uIGFuZCBkYXRhCisgICAgPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoRnVuY0xvb2t1cEZ1bmMiPnhtbFhQYXRoRnVuY0xvb2t1cEZ1bmM8L2E+CWZ1bmNMb29rdXBGdW5jCTogZnVuY3Rpb24gbG9va3VwIGZ1bmMKKyAgICB2b2lkICoJZnVuY0xvb2t1cERhdGEJOiBmdW5jdGlvbiBsb29rdXAgZGF0YSB0ZW1wb3JhcnkgbmFtZXNwYWNlIGxpc3RzIGtlcHQgZm9yIHdhbGtpbmcgdGhlIG4KKyAgICA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOc1B0ciI+eG1sTnNQdHI8L2E+ICoJdG1wTnNMaXN0CTogQXJyYXkgb2YgbmFtZXNwYWNlcworICAgIGludAl0bXBOc05yCTogbnVtYmVyIG9mIG5hbWVzcGFjZXMgaW4gc2NvcGUgZXJyb3IgcmVwb3J0aW5nIG1lY2hhbmlzbQorICAgIHZvaWQgKgl1c2VyRGF0YQk6IHVzZXIgc3BlY2lmaWMgZGF0YSBibG9jaworICAgIDxhIGhyZWY9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCN4bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jIj54bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jPC9hPgllcnJvcgk6IHRoZSBjYWxsYmFjayBpbiBjYXNlIG9mIGVycm9ycworICAgIDxhIGhyZWY9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCN4bWxFcnJvciI+eG1sRXJyb3I8L2E+CWxhc3RFcnJvcgk6IHRoZSBsYXN0IGVycm9yCisgICAgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JZGVidWdOb2RlCTogdGhlIHNvdXJjZSBub2RlIFhTTFQgZGljdGlvbmFyeQorICAgIDxhIGhyZWY9ImxpYnhtbDItZGljdC5odG1sI3htbERpY3RQdHIiPnhtbERpY3RQdHI8L2E+CWRpY3QJOiBkaWN0aW9uYXJ5IGlmIGFueQorICAgIGludAlmbGFncwk6IGZsYWdzIHRvIGNvbnRyb2wgY29tcGlsYXRpb24gQ2FjaGUgZm9yIHJldXNhbCBvZiBYUGF0aCBvYmplY3RzCisgICAgdm9pZCAqCWNhY2hlCit9IHhtbFhQYXRoQ29udGV4dDsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aENvbnRleHRQdHIiPlR5cGVkZWYgPC9hPnhtbFhQYXRoQ29udGV4dFB0cjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHQiPnhtbFhQYXRoQ29udGV4dDwvYT4gKiB4bWxYUGF0aENvbnRleHRQdHI7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhFcnJvciI+RW51bSA8L2E+eG1sWFBhdGhFcnJvcjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmVudW0gPGEgaHJlZj0iI3htbFhQYXRoRXJyb3IiPnhtbFhQYXRoRXJyb3I8L2E+IHsKKyAgICA8YSBuYW1lPSJYUEFUSF9FWFBSRVNTSU9OX09LIj5YUEFUSF9FWFBSRVNTSU9OX09LPC9hPiA9IDAKKyAgICA8YSBuYW1lPSJYUEFUSF9OVU1CRVJfRVJST1IiPlhQQVRIX05VTUJFUl9FUlJPUjwvYT4gPSAxCisgICAgPGEgbmFtZT0iWFBBVEhfVU5GSU5JU0hFRF9MSVRFUkFMX0VSUk9SIj5YUEFUSF9VTkZJTklTSEVEX0xJVEVSQUxfRVJST1I8L2E+ID0gMgorICAgIDxhIG5hbWU9IlhQQVRIX1NUQVJUX0xJVEVSQUxfRVJST1IiPlhQQVRIX1NUQVJUX0xJVEVSQUxfRVJST1I8L2E+ID0gMworICAgIDxhIG5hbWU9IlhQQVRIX1ZBUklBQkxFX1JFRl9FUlJPUiI+WFBBVEhfVkFSSUFCTEVfUkVGX0VSUk9SPC9hPiA9IDQKKyAgICA8YSBuYW1lPSJYUEFUSF9VTkRFRl9WQVJJQUJMRV9FUlJPUiI+WFBBVEhfVU5ERUZfVkFSSUFCTEVfRVJST1I8L2E+ID0gNQorICAgIDxhIG5hbWU9IlhQQVRIX0lOVkFMSURfUFJFRElDQVRFX0VSUk9SIj5YUEFUSF9JTlZBTElEX1BSRURJQ0FURV9FUlJPUjwvYT4gPSA2CisgICAgPGEgbmFtZT0iWFBBVEhfRVhQUl9FUlJPUiI+WFBBVEhfRVhQUl9FUlJPUjwvYT4gPSA3CisgICAgPGEgbmFtZT0iWFBBVEhfVU5DTE9TRURfRVJST1IiPlhQQVRIX1VOQ0xPU0VEX0VSUk9SPC9hPiA9IDgKKyAgICA8YSBuYW1lPSJYUEFUSF9VTktOT1dOX0ZVTkNfRVJST1IiPlhQQVRIX1VOS05PV05fRlVOQ19FUlJPUjwvYT4gPSA5CisgICAgPGEgbmFtZT0iWFBBVEhfSU5WQUxJRF9PUEVSQU5EIj5YUEFUSF9JTlZBTElEX09QRVJBTkQ8L2E+ID0gMTAKKyAgICA8YSBuYW1lPSJYUEFUSF9JTlZBTElEX1RZUEUiPlhQQVRIX0lOVkFMSURfVFlQRTwvYT4gPSAxMQorICAgIDxhIG5hbWU9IlhQQVRIX0lOVkFMSURfQVJJVFkiPlhQQVRIX0lOVkFMSURfQVJJVFk8L2E+ID0gMTIKKyAgICA8YSBuYW1lPSJYUEFUSF9JTlZBTElEX0NUWFRfU0laRSI+WFBBVEhfSU5WQUxJRF9DVFhUX1NJWkU8L2E+ID0gMTMKKyAgICA8YSBuYW1lPSJYUEFUSF9JTlZBTElEX0NUWFRfUE9TSVRJT04iPlhQQVRIX0lOVkFMSURfQ1RYVF9QT1NJVElPTjwvYT4gPSAxNAorICAgIDxhIG5hbWU9IlhQQVRIX01FTU9SWV9FUlJPUiI+WFBBVEhfTUVNT1JZX0VSUk9SPC9hPiA9IDE1CisgICAgPGEgbmFtZT0iWFBUUl9TWU5UQVhfRVJST1IiPlhQVFJfU1lOVEFYX0VSUk9SPC9hPiA9IDE2CisgICAgPGEgbmFtZT0iWFBUUl9SRVNPVVJDRV9FUlJPUiI+WFBUUl9SRVNPVVJDRV9FUlJPUjwvYT4gPSAxNworICAgIDxhIG5hbWU9IlhQVFJfU1VCX1JFU09VUkNFX0VSUk9SIj5YUFRSX1NVQl9SRVNPVVJDRV9FUlJPUjwvYT4gPSAxOAorICAgIDxhIG5hbWU9IlhQQVRIX1VOREVGX1BSRUZJWF9FUlJPUiI+WFBBVEhfVU5ERUZfUFJFRklYX0VSUk9SPC9hPiA9IDE5CisgICAgPGEgbmFtZT0iWFBBVEhfRU5DT0RJTkdfRVJST1IiPlhQQVRIX0VOQ09ESU5HX0VSUk9SPC9hPiA9IDIwCisgICAgPGEgbmFtZT0iWFBBVEhfSU5WQUxJRF9DSEFSX0VSUk9SIj5YUEFUSF9JTlZBTElEX0NIQVJfRVJST1I8L2E+ID0gMjEKKyAgICA8YSBuYW1lPSJYUEFUSF9JTlZBTElEX0NUWFQiPlhQQVRIX0lOVkFMSURfQ1RYVDwvYT4gPSAyMgorICAgIDxhIG5hbWU9IlhQQVRIX1NUQUNLX0VSUk9SIj5YUEFUSF9TVEFDS19FUlJPUjwvYT4gPSAyMworICAgIDxhIG5hbWU9IlhQQVRIX0ZPUkJJRF9WQVJJQUJMRV9FUlJPUiI+WFBBVEhfRk9SQklEX1ZBUklBQkxFX0VSUk9SPC9hPiA9IDI0Cit9OworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoRnVuY1B0ciI+VHlwZWRlZiA8L2E+eG1sWFBhdGhGdW5jUHRyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoRnVuY3QiPnhtbFhQYXRoRnVuY3Q8L2E+ICogeG1sWFBhdGhGdW5jUHRyOworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoRnVuY3QiPlN0cnVjdHVyZSA8L2E+eG1sWFBhdGhGdW5jdDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnN0cnVjdCBfeG1sWFBhdGhGdW5jdCB7CisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCW5hbWUJOiB0aGUgZnVuY3Rpb24gbmFtZQorICAgIDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aEV2YWxGdW5jIj54bWxYUGF0aEV2YWxGdW5jPC9hPglmdW5jCTogdGhlIGV2YWx1YXRpb24gZnVuY3Rpb24KK30geG1sWFBhdGhGdW5jdDsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aE9iamVjdCI+U3RydWN0dXJlIDwvYT54bWxYUGF0aE9iamVjdDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnN0cnVjdCBfeG1sWFBhdGhPYmplY3QgeworICAgIDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFR5cGUiPnhtbFhQYXRoT2JqZWN0VHlwZTwvYT4JdHlwZQorICAgIDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPglub2Rlc2V0dmFsCisgICAgaW50CWJvb2x2YWwKKyAgICBkb3VibGUJZmxvYXR2YWwKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJc3RyaW5ndmFsCisgICAgdm9pZCAqCXVzZXIKKyAgICBpbnQJaW5kZXgKKyAgICB2b2lkICoJdXNlcjIKKyAgICBpbnQJaW5kZXgyCit9IHhtbFhQYXRoT2JqZWN0OworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoT2JqZWN0UHRyIj5UeXBlZGVmIDwvYT54bWxYUGF0aE9iamVjdFB0cjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdCI+eG1sWFBhdGhPYmplY3Q8L2E+ICogeG1sWFBhdGhPYmplY3RQdHI7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhPYmplY3RUeXBlIj5FbnVtIDwvYT54bWxYUGF0aE9iamVjdFR5cGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5lbnVtIDxhIGhyZWY9IiN4bWxYUGF0aE9iamVjdFR5cGUiPnhtbFhQYXRoT2JqZWN0VHlwZTwvYT4geworICAgIDxhIG5hbWU9IlhQQVRIX1VOREVGSU5FRCI+WFBBVEhfVU5ERUZJTkVEPC9hPiA9IDAKKyAgICA8YSBuYW1lPSJYUEFUSF9OT0RFU0VUIj5YUEFUSF9OT0RFU0VUPC9hPiA9IDEKKyAgICA8YSBuYW1lPSJYUEFUSF9CT09MRUFOIj5YUEFUSF9CT09MRUFOPC9hPiA9IDIKKyAgICA8YSBuYW1lPSJYUEFUSF9OVU1CRVIiPlhQQVRIX05VTUJFUjwvYT4gPSAzCisgICAgPGEgbmFtZT0iWFBBVEhfU1RSSU5HIj5YUEFUSF9TVFJJTkc8L2E+ID0gNAorICAgIDxhIG5hbWU9IlhQQVRIX1BPSU5UIj5YUEFUSF9QT0lOVDwvYT4gPSA1CisgICAgPGEgbmFtZT0iWFBBVEhfUkFOR0UiPlhQQVRIX1JBTkdFPC9hPiA9IDYKKyAgICA8YSBuYW1lPSJYUEFUSF9MT0NBVElPTlNFVCI+WFBBVEhfTE9DQVRJT05TRVQ8L2E+ID0gNworICAgIDxhIG5hbWU9IlhQQVRIX1VTRVJTIj5YUEFUSF9VU0VSUzwvYT4gPSA4CisgICAgPGEgbmFtZT0iWFBBVEhfWFNMVF9UUkVFIj5YUEFUSF9YU0xUX1RSRUU8L2E+ID0gOSAvKiAgQW4gWFNMVCB2YWx1ZSB0cmVlLCBub24gbW9kaWZpYWJsZSAqLworfTsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aFBhcnNlckNvbnRleHQiPlN0cnVjdHVyZSA8L2E+eG1sWFBhdGhQYXJzZXJDb250ZXh0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+c3RydWN0IF94bWxYUGF0aFBhcnNlckNvbnRleHQgeworICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgljdXIJOiB0aGUgY3VycmVudCBjaGFyIGJlaW5nIHBhcnNlZAorICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgliYXNlCTogdGhlIGZ1bGwgZXhwcmVzc2lvbgorICAgIGludAllcnJvcgk6IGVycm9yIGNvZGUKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0UHRyIj54bWxYUGF0aENvbnRleHRQdHI8L2E+CWNvbnRleHQJOiB0aGUgZXZhbHVhdGlvbiBjb250ZXh0CisgICAgPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4JdmFsdWUJOiB0aGUgY3VycmVudCB2YWx1ZQorICAgIGludAl2YWx1ZU5yCTogbnVtYmVyIG9mIHZhbHVlcyBzdGFja2VkCisgICAgaW50CXZhbHVlTWF4CTogbWF4IG51bWJlciBvZiB2YWx1ZXMgc3RhY2tlZAorICAgIDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+ICoJdmFsdWVUYWIJOiBzdGFjayBvZiB2YWx1ZXMKKyAgICA8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhDb21wRXhwclB0ciI+eG1sWFBhdGhDb21wRXhwclB0cjwvYT4JY29tcAk6IHRoZSBwcmVjb21waWxlZCBleHByZXNzaW9uCisgICAgaW50CXhwdHIJOiBpdCB0aGlzIGFuIFhQb2ludGVyIGV4cHJlc3Npb24KKyAgICA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPglhbmNlc3Rvcgk6IHVzZWQgZm9yIHdhbGtpbmcgcHJlY2VkaW5nIGF4aXMKKyAgICBpbnQJdmFsdWVGcmFtZQk6IHVzZWQgdG8gbGltaXQgUG9wIG9uIHRoZSBzdGFjaworfSB4bWxYUGF0aFBhcnNlckNvbnRleHQ7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj5UeXBlZGVmIDwvYT54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0Ij54bWxYUGF0aFBhcnNlckNvbnRleHQ8L2E+ICogeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyOworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoVHlwZSI+U3RydWN0dXJlIDwvYT54bWxYUGF0aFR5cGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5zdHJ1Y3QgX3htbFhQYXRoVHlwZSB7CisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCW5hbWUJOiB0aGUgdHlwZSBuYW1lCisgICAgPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoQ29udmVydEZ1bmMiPnhtbFhQYXRoQ29udmVydEZ1bmM8L2E+CWZ1bmMJOiB0aGUgY29udmVyc2lvbiBmdW5jdGlvbgorfSB4bWxYUGF0aFR5cGU7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhUeXBlUHRyIj5UeXBlZGVmIDwvYT54bWxYUGF0aFR5cGVQdHI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhUeXBlIj54bWxYUGF0aFR5cGU8L2E+ICogeG1sWFBhdGhUeXBlUHRyOworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoVmFyaWFibGUiPlN0cnVjdHVyZSA8L2E+eG1sWFBhdGhWYXJpYWJsZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnN0cnVjdCBfeG1sWFBhdGhWYXJpYWJsZSB7CisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCW5hbWUJOiB0aGUgdmFyaWFibGUgbmFtZQorICAgIDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+CXZhbHVlCTogdGhlIHZhbHVlCit9IHhtbFhQYXRoVmFyaWFibGU7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhWYXJpYWJsZVB0ciI+VHlwZWRlZiA8L2E+eG1sWFBhdGhWYXJpYWJsZVB0cjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aFZhcmlhYmxlIj54bWxYUGF0aFZhcmlhYmxlPC9hPiAqIHhtbFhQYXRoVmFyaWFibGVQdHI7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhBeGlzRnVuYyIvPkZ1bmN0aW9uIHR5cGUgeG1sWFBhdGhBeGlzRnVuYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+CXhtbFhQYXRoQXhpc0Z1bmMJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4gY3VyKTxici8+Cis8L3ByZT48cD5BbiBheGlzIHRyYXZlcnNhbCBmdW5jdGlvbi4gVG8gdHJhdmVyc2UgYW4gYXhpcywgdGhlIGVuZ2luZSBjYWxscyB0aGUgZmlyc3QgdGltZSB3aXRoIGN1ciA9PSBOVUxMIGFuZCByZXBlYXQgdW50aWwgdGhlIGZ1bmN0aW9uIHJldHVybnMgTlVMTCBpbmRpY2F0aW5nIHRoZSBlbmQgb2YgdGhlIGF4aXMgdHJhdmVyc2FsLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhQYXRoIGludGVycHJldGVyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHByZXZpb3VzIG5vZGUgYmVpbmcgZXhwbG9yZWQgb24gdGhhdCBheGlzPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV4dCBub2RlIGluIHRoYXQgYXhpcyBvciBOVUxMIGlmIGF0IHRoZSBlbmQgb2YgdGhlIGF4aXMuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhDb252ZXJ0RnVuYyIvPkZ1bmN0aW9uIHR5cGUgeG1sWFBhdGhDb252ZXJ0RnVuYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxYUGF0aENvbnZlcnRGdW5jCQkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4gb2JqLCA8YnIvPgkJCQkJIGludCB0eXBlKTxici8+Cis8L3ByZT48cD5BIGNvbnZlcnNpb24gZnVuY3Rpb24gaXMgYXNzb2NpYXRlZCB0byBhIHR5cGUgYW5kIHVzZWQgdG8gY2FzdCB0aGUgbmV3IHR5cGUgdG8gcHJpbWl0aXZlIHZhbHVlcy48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm9iajwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWFBhdGggb2JqZWN0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50eXBlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIHRoZSB0YXJnZXQgdHlwZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+LTEgaW4gY2FzZSBvZiBlcnJvciwgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aEV2YWxGdW5jIi8+RnVuY3Rpb24gdHlwZSB4bWxYUGF0aEV2YWxGdW5jPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxYUGF0aEV2YWxGdW5jCQkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIGludCBuYXJncyk8YnIvPgorPC9wcmU+PHA+QW4gWFBhdGggZXZhbHVhdGlvbiBmdW5jdGlvbiwgdGhlIHBhcmFtZXRlcnMgYXJlIG9uIHRoZSBYUGF0aCBjb250ZXh0IHN0YWNrLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWFBhdGggcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hcmdzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGFyZ3VtZW50cyBwYXNzZWQgdG8gdGhlIGZ1bmN0aW9uPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhGdW5jTG9va3VwRnVuYyIvPkZ1bmN0aW9uIHR5cGUgeG1sWFBhdGhGdW5jTG9va3VwRnVuYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aEZ1bmN0aW9uIj54bWxYUGF0aEZ1bmN0aW9uPC9hPgl4bWxYUGF0aEZ1bmNMb29rdXBGdW5jCSh2b2lkICogY3R4dCwgPGJyLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuc191cmkpPGJyLz4KKzwvcHJlPjxwPlByb3RvdHlwZSBmb3IgY2FsbGJhY2tzIHVzZWQgdG8gcGx1ZyBmdW5jdGlvbiBsb29rdXAgaW4gdGhlIFhQYXRoIGVuZ2luZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhQYXRoIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPm5hbWUgb2YgdGhlIGZ1bmN0aW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uc191cmk8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lc3BhY2UgbmFtZSBob3N0aW5nIHRoaXMgZnVuY3Rpb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYUGF0aCBmdW5jdGlvbiBvciBOVUxMIGlmIG5vdCBmb3VuZC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aEZ1bmN0aW9uIi8+RnVuY3Rpb24gdHlwZSB4bWxYUGF0aEZ1bmN0aW9uPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxYUGF0aEZ1bmN0aW9uCQkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIGludCBuYXJncyk8YnIvPgorPC9wcmU+PHA+QW4gWFBhdGggZnVuY3Rpb24uIFRoZSBhcmd1bWVudHMgKGlmIGFueSkgYXJlIHBvcHBlZCBvdXQgZnJvbSB0aGUgY29udGV4dCBzdGFjayBhbmQgdGhlIHJlc3VsdCBpcyBwdXNoZWQgb24gdGhlIHN0YWNrLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhQYXRoIGludGVycHJlc3RhdGlvbiBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYXJnczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBhcmd1bWVudHM8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aFZhcmlhYmxlTG9va3VwRnVuYyIvPkZ1bmN0aW9uIHR5cGUgeG1sWFBhdGhWYXJpYWJsZUxvb2t1cEZ1bmM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPgl4bWxYUGF0aFZhcmlhYmxlTG9va3VwRnVuYwkodm9pZCAqIGN0eHQsIDxici8+CQkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuc191cmkpPGJyLz4KKzwvcHJlPjxwPlByb3RvdHlwZSBmb3IgY2FsbGJhY2tzIHVzZWQgdG8gcGx1ZyB2YXJpYWJsZSBsb29rdXAgaW4gdGhlIFhQYXRoIGVuZ2luZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhQYXRoIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPm5hbWUgb2YgdGhlIHZhcmlhYmxlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uc191cmk8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lc3BhY2UgbmFtZSBob3N0aW5nIHRoaXMgdmFyaWFibGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYUGF0aCBvYmplY3QgdmFsdWUgb3IgTlVMTCBpZiBub3QgZm91bmQuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhOQU4iPlZhcmlhYmxlIDwvYT54bWxYUGF0aE5BTjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmRvdWJsZSB4bWxYUGF0aE5BTjsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aE5JTkYiPlZhcmlhYmxlIDwvYT54bWxYUGF0aE5JTkY8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5kb3VibGUgeG1sWFBhdGhOSU5GOworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoUElORiI+VmFyaWFibGUgPC9hPnhtbFhQYXRoUElORjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmRvdWJsZSB4bWxYUGF0aFBJTkY7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhDYXN0Qm9vbGVhblRvTnVtYmVyIi8+eG1sWFBhdGhDYXN0Qm9vbGVhblRvTnVtYmVyICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+ZG91YmxlCXhtbFhQYXRoQ2FzdEJvb2xlYW5Ub051bWJlcgkoaW50IHZhbCk8YnIvPgorPC9wcmU+PHA+Q29udmVydHMgYSBib29sZWFuIHRvIGl0cyBudW1iZXIgdmFsdWU8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBib29sZWFuPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIHZhbHVlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhDYXN0Qm9vbGVhblRvU3RyaW5nIi8+eG1sWFBhdGhDYXN0Qm9vbGVhblRvU3RyaW5nICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbFhQYXRoQ2FzdEJvb2xlYW5Ub1N0cmluZwkoaW50IHZhbCk8YnIvPgorPC9wcmU+PHA+Q29udmVydHMgYSBib29sZWFuIHRvIGl0cyBzdHJpbmcgdmFsdWUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgYm9vbGVhbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBuZXdseSBhbGxvY2F0ZWQgc3RyaW5nLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoQ2FzdE5vZGVTZXRUb0Jvb2xlYW4iLz54bWxYUGF0aENhc3ROb2RlU2V0VG9Cb29sZWFuICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFhQYXRoQ2FzdE5vZGVTZXRUb0Jvb2xlYW4JKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBucyk8YnIvPgorPC9wcmU+PHA+Q29udmVydHMgYSBub2RlLXNldCB0byBpdHMgYm9vbGVhbiB2YWx1ZTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbm9kZS1zZXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBib29sZWFuIHZhbHVlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhDYXN0Tm9kZVNldFRvTnVtYmVyIi8+eG1sWFBhdGhDYXN0Tm9kZVNldFRvTnVtYmVyICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+ZG91YmxlCXhtbFhQYXRoQ2FzdE5vZGVTZXRUb051bWJlcgkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IG5zKTxici8+Cis8L3ByZT48cD5Db252ZXJ0cyBhIG5vZGUtc2V0IHRvIGl0cyBudW1iZXIgdmFsdWU8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIG5vZGUtc2V0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIHZhbHVlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhDYXN0Tm9kZVNldFRvU3RyaW5nIi8+eG1sWFBhdGhDYXN0Tm9kZVNldFRvU3RyaW5nICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbFhQYXRoQ2FzdE5vZGVTZXRUb1N0cmluZwkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IG5zKTxici8+Cis8L3ByZT48cD5Db252ZXJ0cyBhIG5vZGUtc2V0IHRvIGl0cyBzdHJpbmcgdmFsdWUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBub2RlLXNldDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBuZXdseSBhbGxvY2F0ZWQgc3RyaW5nLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoQ2FzdE5vZGVUb051bWJlciIvPnhtbFhQYXRoQ2FzdE5vZGVUb051bWJlciAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmRvdWJsZQl4bWxYUGF0aENhc3ROb2RlVG9OdW1iZXIJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUpPGJyLz4KKzwvcHJlPjxwPkNvbnZlcnRzIGEgbm9kZSB0byBpdHMgbnVtYmVyIHZhbHVlPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIG5vZGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgdmFsdWU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aENhc3ROb2RlVG9TdHJpbmciLz54bWxYUGF0aENhc3ROb2RlVG9TdHJpbmcgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sWFBhdGhDYXN0Tm9kZVRvU3RyaW5nCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlKTxici8+Cis8L3ByZT48cD5Db252ZXJ0cyBhIG5vZGUgdG8gaXRzIHN0cmluZyB2YWx1ZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbm9kZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBuZXdseSBhbGxvY2F0ZWQgc3RyaW5nLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoQ2FzdE51bWJlclRvQm9vbGVhbiIvPnhtbFhQYXRoQ2FzdE51bWJlclRvQm9vbGVhbiAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxYUGF0aENhc3ROdW1iZXJUb0Jvb2xlYW4JKGRvdWJsZSB2YWwpPGJyLz4KKzwvcHJlPjxwPkNvbnZlcnRzIGEgbnVtYmVyIHRvIGl0cyBib29sZWFuIHZhbHVlPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbnVtYmVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYm9vbGVhbiB2YWx1ZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoQ2FzdE51bWJlclRvU3RyaW5nIi8+eG1sWFBhdGhDYXN0TnVtYmVyVG9TdHJpbmcgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sWFBhdGhDYXN0TnVtYmVyVG9TdHJpbmcJKGRvdWJsZSB2YWwpPGJyLz4KKzwvcHJlPjxwPkNvbnZlcnRzIGEgbnVtYmVyIHRvIGl0cyBzdHJpbmcgdmFsdWUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbnVtYmVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIG5ld2x5IGFsbG9jYXRlZCBzdHJpbmcuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhDYXN0U3RyaW5nVG9Cb29sZWFuIi8+eG1sWFBhdGhDYXN0U3RyaW5nVG9Cb29sZWFuICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFhQYXRoQ2FzdFN0cmluZ1RvQm9vbGVhbgkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHZhbCk8YnIvPgorPC9wcmU+PHA+Q29udmVydHMgYSBzdHJpbmcgdG8gaXRzIGJvb2xlYW4gdmFsdWU8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBzdHJpbmc8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBib29sZWFuIHZhbHVlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhDYXN0U3RyaW5nVG9OdW1iZXIiLz54bWxYUGF0aENhc3RTdHJpbmdUb051bWJlciAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmRvdWJsZQl4bWxYUGF0aENhc3RTdHJpbmdUb051bWJlcgkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHZhbCk8YnIvPgorPC9wcmU+PHA+Q29udmVydHMgYSBzdHJpbmcgdG8gaXRzIG51bWJlciB2YWx1ZTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHN0cmluZzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciB2YWx1ZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoQ2FzdFRvQm9vbGVhbiIvPnhtbFhQYXRoQ2FzdFRvQm9vbGVhbiAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxYUGF0aENhc3RUb0Jvb2xlYW4JCSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPiB2YWwpPGJyLz4KKzwvcHJlPjxwPkNvbnZlcnRzIGFuIFhQYXRoIG9iamVjdCB0byBpdHMgYm9vbGVhbiB2YWx1ZTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYUGF0aCBvYmplY3Q8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBib29sZWFuIHZhbHVlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhDYXN0VG9OdW1iZXIiLz54bWxYUGF0aENhc3RUb051bWJlciAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmRvdWJsZQl4bWxYUGF0aENhc3RUb051bWJlcgkJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IHZhbCk8YnIvPgorPC9wcmU+PHA+Q29udmVydHMgYW4gWFBhdGggb2JqZWN0IHRvIGl0cyBudW1iZXIgdmFsdWU8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWFBhdGggb2JqZWN0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIHZhbHVlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhDYXN0VG9TdHJpbmciLz54bWxYUGF0aENhc3RUb1N0cmluZyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxYUGF0aENhc3RUb1N0cmluZwkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4gdmFsKTxici8+Cis8L3ByZT48cD5Db252ZXJ0cyBhbiBleGlzdGluZyBvYmplY3QgdG8gaXRzIHN0cmluZygpIGVxdWl2YWxlbnQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWFBhdGggb2JqZWN0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYWxsb2NhdGVkIHN0cmluZyB2YWx1ZSBvZiB0aGUgb2JqZWN0LCBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuIEl0J3MgdXAgdG8gdGhlIGNhbGxlciB0byBmcmVlIHRoZSBzdHJpbmcgbWVtb3J5IHdpdGggeG1sRnJlZSgpLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoQ21wTm9kZXMiLz54bWxYUGF0aENtcE5vZGVzICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFhQYXRoQ21wTm9kZXMJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlMSwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlMik8YnIvPgorPC9wcmU+PHA+Q29tcGFyZSB0d28gbm9kZXMgdy5yLnQgZG9jdW1lbnQgb3JkZXI8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGUxPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZmlyc3Qgbm9kZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzZWNvbmQgbm9kZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+LTIgaW4gY2FzZSBvZiBlcnJvciAxIGlmIGZpcnN0IHBvaW50ICZsdDsgc2Vjb25kIHBvaW50LCAwIGlmIGl0J3MgdGhlIHNhbWUgbm9kZSwgLTEgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhDb21waWxlIi8+eG1sWFBhdGhDb21waWxlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoQ29tcEV4cHJQdHIiPnhtbFhQYXRoQ29tcEV4cHJQdHI8L2E+CXhtbFhQYXRoQ29tcGlsZQkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0cik8YnIvPgorPC9wcmU+PHA+Q29tcGlsZSBhbiBYUGF0aCBleHByZXNzaW9uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdHI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYUGF0aCBleHByZXNzaW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoQ29tcEV4cHJQdHIiPnhtbFhQYXRoQ29tcEV4cHJQdHI8L2E+IHJlc3VsdGluZyBmcm9tIHRoZSBjb21waWxhdGlvbiBvciBOVUxMLiB0aGUgY2FsbGVyIGhhcyB0byBmcmVlIHRoZSBvYmplY3QuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhDb21waWxlZEV2YWwiLz54bWxYUGF0aENvbXBpbGVkRXZhbCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+CXhtbFhQYXRoQ29tcGlsZWRFdmFsCSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhDb21wRXhwclB0ciI+eG1sWFBhdGhDb21wRXhwclB0cjwvYT4gY29tcCwgPGJyLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFB0ciI+eG1sWFBhdGhDb250ZXh0UHRyPC9hPiBjdHgpPGJyLz4KKzwvcHJlPjxwPkV2YWx1YXRlIHRoZSBQcmVjb21waWxlZCBYUGF0aCBleHByZXNzaW9uIGluIHRoZSBnaXZlbiBjb250ZXh0LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29tcDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGNvbXBpbGVkIFhQYXRoIGV4cHJlc3Npb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhQYXRoIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPiByZXN1bHRpbmcgZnJvbSB0aGUgZXZhbHVhdGlvbiBvciBOVUxMLiB0aGUgY2FsbGVyIGhhcyB0byBmcmVlIHRoZSBvYmplY3QuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhDb21waWxlZEV2YWxUb0Jvb2xlYW4iLz54bWxYUGF0aENvbXBpbGVkRXZhbFRvQm9vbGVhbiAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxYUGF0aENvbXBpbGVkRXZhbFRvQm9vbGVhbgkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoQ29tcEV4cHJQdHIiPnhtbFhQYXRoQ29tcEV4cHJQdHI8L2E+IGNvbXAsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFB0ciI+eG1sWFBhdGhDb250ZXh0UHRyPC9hPiBjdHh0KTxici8+Cis8L3ByZT48cD5BcHBsaWVzIHRoZSBYUGF0aCBib29sZWFuKCkgZnVuY3Rpb24gb24gdGhlIHJlc3VsdCBvZiB0aGUgZ2l2ZW4gY29tcGlsZWQgZXhwcmVzc2lvbi48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbXA8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjb21waWxlZCBYUGF0aCBleHByZXNzaW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0aGUgZXhwcmVzc2lvbiBldmFsdWF0ZWQgdG8gdHJ1ZSwgMCBpZiB0byBmYWxzZSBhbmQgLTEgaW4gQVBJIGFuZCBpbnRlcm5hbCBlcnJvcnMuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhDb250ZXh0U2V0Q2FjaGUiLz54bWxYUGF0aENvbnRleHRTZXRDYWNoZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxYUGF0aENvbnRleHRTZXRDYWNoZQkJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHRQdHIiPnhtbFhQYXRoQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSBpbnQgYWN0aXZlLCA8YnIvPgkJCQkJIGludCB2YWx1ZSwgPGJyLz4JCQkJCSBpbnQgb3B0aW9ucyk8YnIvPgorPC9wcmU+PHA+Q3JlYXRlcy9mcmVlcyBhbiBvYmplY3QgY2FjaGUgb24gdGhlIFhQYXRoIGNvbnRleHQuIElmIGFjdGl2YXRlcyBYUGF0aCBvYmplY3RzICh4bWxYUGF0aE9iamVjdCkgd2lsbCBiZSBjYWNoZWQgaW50ZXJuYWxseSB0byBiZSByZXVzZWQuIEBvcHRpb25zOiAwOiBUaGlzIHdpbGwgc2V0IHRoZSBYUGF0aCBvYmplY3QgY2FjaGluZzogQHZhbHVlOiBUaGlzIHdpbGwgc2V0IHRoZSBtYXhpbXVtIG51bWJlciBvZiBYUGF0aCBvYmplY3RzIHRvIGJlIGNhY2hlZCBwZXIgc2xvdCBUaGVyZSBhcmUgNSBzbG90cyBmb3I6IG5vZGUtc2V0LCBzdHJpbmcsIG51bWJlciwgYm9vbGVhbiwgYW5kIG1pc2Mgb2JqZWN0cy4gVXNlICZsdDswIGZvciB0aGUgZGVmYXVsdCBudW1iZXIgKDEwMCkuIE90aGVyIHZhbHVlcyBmb3IgQG9wdGlvbnMgaGF2ZSBjdXJyZW50bHkgbm8gZWZmZWN0LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhQYXRoIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmFjdGl2ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+ZW5hYmxlcy9kaXNhYmxlcyAoY3JlYXRlcy9mcmVlcykgdGhlIGNhY2hlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWx1ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSB2YWx1ZSB3aXRoIHNlbWFudGljcyBkZXBlbmRhbnQgb24gQG9wdGlvbnM8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm9wdGlvbnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPm9wdGlvbnMgKGN1cnJlbnRseSBvbmx5IHRoZSB2YWx1ZSAwIGlzIHVzZWQpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGlmIHRoZSBzZXR0aW5nIHN1Y2NlZWRlZCwgYW5kIC0xIG9uIEFQSSBvciBpbnRlcm5hbCBlcnJvcnMuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhDb252ZXJ0Qm9vbGVhbiIvPnhtbFhQYXRoQ29udmVydEJvb2xlYW4gKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPgl4bWxYUGF0aENvbnZlcnRCb29sZWFuCSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPiB2YWwpPGJyLz4KKzwvcHJlPjxwPkNvbnZlcnRzIGFuIGV4aXN0aW5nIG9iamVjdCB0byBpdHMgYm9vbGVhbigpIGVxdWl2YWxlbnQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWFBhdGggb2JqZWN0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IG9iamVjdCwgdGhlIG9sZCBvbmUgaXMgZnJlZWQgKG9yIHRoZSBvcGVyYXRpb24gaXMgZG9uZSBkaXJlY3RseSBvbiBAdmFsKTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoQ29udmVydE51bWJlciIvPnhtbFhQYXRoQ29udmVydE51bWJlciAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+CXhtbFhQYXRoQ29udmVydE51bWJlcgkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4gdmFsKTxici8+Cis8L3ByZT48cD5Db252ZXJ0cyBhbiBleGlzdGluZyBvYmplY3QgdG8gaXRzIG51bWJlcigpIGVxdWl2YWxlbnQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWFBhdGggb2JqZWN0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IG9iamVjdCwgdGhlIG9sZCBvbmUgaXMgZnJlZWQgKG9yIHRoZSBvcGVyYXRpb24gaXMgZG9uZSBkaXJlY3RseSBvbiBAdmFsKTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoQ29udmVydFN0cmluZyIvPnhtbFhQYXRoQ29udmVydFN0cmluZyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+CXhtbFhQYXRoQ29udmVydFN0cmluZwkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4gdmFsKTxici8+Cis8L3ByZT48cD5Db252ZXJ0cyBhbiBleGlzdGluZyBvYmplY3QgdG8gaXRzIHN0cmluZygpIGVxdWl2YWxlbnQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWFBhdGggb2JqZWN0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IG9iamVjdCwgdGhlIG9sZCBvbmUgaXMgZnJlZWQgKG9yIHRoZSBvcGVyYXRpb24gaXMgZG9uZSBkaXJlY3RseSBvbiBAdmFsKTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoQ3R4dENvbXBpbGUiLz54bWxYUGF0aEN0eHRDb21waWxlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoQ29tcEV4cHJQdHIiPnhtbFhQYXRoQ29tcEV4cHJQdHI8L2E+CXhtbFhQYXRoQ3R4dENvbXBpbGUJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHRQdHIiPnhtbFhQYXRoQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0cik8YnIvPgorPC9wcmU+PHA+Q29tcGlsZSBhbiBYUGF0aCBleHByZXNzaW9uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYUGF0aCBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdHI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYUGF0aCBleHByZXNzaW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoQ29tcEV4cHJQdHIiPnhtbFhQYXRoQ29tcEV4cHJQdHI8L2E+IHJlc3VsdGluZyBmcm9tIHRoZSBjb21waWxhdGlvbiBvciBOVUxMLiB0aGUgY2FsbGVyIGhhcyB0byBmcmVlIHRoZSBvYmplY3QuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhFdmFsIi8+eG1sWFBhdGhFdmFsICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4JeG1sWFBhdGhFdmFsCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3RyLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHRQdHIiPnhtbFhQYXRoQ29udGV4dFB0cjwvYT4gY3R4KTxici8+Cis8L3ByZT48cD5FdmFsdWF0ZSB0aGUgWFBhdGggTG9jYXRpb24gUGF0aCBpbiB0aGUgZ2l2ZW4gY29udGV4dC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhQYXRoIGV4cHJlc3Npb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhQYXRoIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPiByZXN1bHRpbmcgZnJvbSB0aGUgZXZhbHVhdGlvbiBvciBOVUxMLiB0aGUgY2FsbGVyIGhhcyB0byBmcmVlIHRoZSBvYmplY3QuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhFdmFsRXhwcmVzc2lvbiIvPnhtbFhQYXRoRXZhbEV4cHJlc3Npb24gKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPgl4bWxYUGF0aEV2YWxFeHByZXNzaW9uCShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3RyLCA8YnIvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0UHRyIj54bWxYUGF0aENvbnRleHRQdHI8L2E+IGN0eHQpPGJyLz4KKzwvcHJlPjxwPkV2YWx1YXRlIHRoZSBYUGF0aCBleHByZXNzaW9uIGluIHRoZSBnaXZlbiBjb250ZXh0LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3RyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggZXhwcmVzc2lvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhQYXRoIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPiByZXN1bHRpbmcgZnJvbSB0aGUgZXZhbHVhdGlvbiBvciBOVUxMLiB0aGUgY2FsbGVyIGhhcyB0byBmcmVlIHRoZSBvYmplY3QuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhFdmFsUHJlZGljYXRlIi8+eG1sWFBhdGhFdmFsUHJlZGljYXRlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFhQYXRoRXZhbFByZWRpY2F0ZQkJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHRQdHIiPnhtbFhQYXRoQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPiByZXMpPGJyLz4KKzwvcHJlPjxwPkV2YWx1YXRlIGEgcHJlZGljYXRlIHJlc3VsdCBmb3IgdGhlIGN1cnJlbnQgbm9kZS4gQSBQcmVkaWNhdGVFeHByIGlzIGV2YWx1YXRlZCBieSBldmFsdWF0aW5nIHRoZSBFeHByIGFuZCBjb252ZXJ0aW5nIHRoZSByZXN1bHQgdG8gYSBib29sZWFuLiBJZiB0aGUgcmVzdWx0IGlzIGEgbnVtYmVyLCB0aGUgcmVzdWx0IHdpbGwgYmUgY29udmVydGVkIHRvIHRydWUgaWYgdGhlIG51bWJlciBpcyBlcXVhbCB0byB0aGUgcG9zaXRpb24gb2YgdGhlIGNvbnRleHQgbm9kZSBpbiB0aGUgY29udGV4dCBub2RlIGxpc3QgKGFzIHJldHVybmVkIGJ5IHRoZSBwb3NpdGlvbiBmdW5jdGlvbikgYW5kIHdpbGwgYmUgY29udmVydGVkIHRvIGZhbHNlIG90aGVyd2lzZTsgaWYgdGhlIHJlc3VsdCBpcyBub3QgYSBudW1iZXIsIHRoZW4gdGhlIHJlc3VsdCB3aWxsIGJlIGNvbnZlcnRlZCBhcyBpZiBieSBhIGNhbGwgdG8gdGhlIGJvb2xlYW4gZnVuY3Rpb24uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgUHJlZGljYXRlIEV4cHJlc3Npb24gZXZhbHVhdGlvbiByZXN1bHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgcHJlZGljYXRlIGlzIHRydWUsIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhGcmVlQ29tcEV4cHIiLz54bWxYUGF0aEZyZWVDb21wRXhwciAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sWFBhdGhGcmVlQ29tcEV4cHIJCSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhDb21wRXhwclB0ciI+eG1sWFBhdGhDb21wRXhwclB0cjwvYT4gY29tcCk8YnIvPgorPC9wcmU+PHA+RnJlZSB1cCB0aGUgbWVtb3J5IGFsbG9jYXRlZCBieSBAY29tcDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29tcDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWFBBVEggY29tcDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoRnJlZUNvbnRleHQiLz54bWxYUGF0aEZyZWVDb250ZXh0ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxYUGF0aEZyZWVDb250ZXh0CQkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFB0ciI+eG1sWFBhdGhDb250ZXh0UHRyPC9hPiBjdHh0KTxici8+Cis8L3ByZT48cD5GcmVlIHVwIGFuIDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHQiPnhtbFhQYXRoQ29udGV4dDwvYT48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjb250ZXh0IHRvIGZyZWU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aEZyZWVOb2RlU2V0Ii8+eG1sWFBhdGhGcmVlTm9kZVNldCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sWFBhdGhGcmVlTm9kZVNldAkJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBvYmopPGJyLz4KKzwvcHJlPjxwPkZyZWUgdGhlIE5vZGVTZXQgY29tcG91bmQgKG5vdCB0aGUgYWN0dWFsIG5vZGVzICEpLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b2JqPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IHRvIGZyZWU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aEZyZWVOb2RlU2V0TGlzdCIvPnhtbFhQYXRoRnJlZU5vZGVTZXRMaXN0ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxYUGF0aEZyZWVOb2RlU2V0TGlzdAkJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IG9iaik8YnIvPgorPC9wcmU+PHA+RnJlZSB1cCB0aGUgPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4gQG9iaiBidXQgZG9uJ3QgZGVhbGxvY2F0ZSB0aGUgb2JqZWN0cyBpbiB0aGUgbGlzdCBjb250cmFyeSB0byB4bWxYUGF0aEZyZWVPYmplY3QoKS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm9iajwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gZXhpc3RpbmcgTm9kZVNldExpc3Qgb2JqZWN0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhGcmVlT2JqZWN0Ii8+eG1sWFBhdGhGcmVlT2JqZWN0ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxYUGF0aEZyZWVPYmplY3QJCSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPiBvYmopPGJyLz4KKzwvcHJlPjxwPkZyZWUgdXAgYW4gPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4gb2JqZWN0LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b2JqPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgb2JqZWN0IHRvIGZyZWU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aEluaXQiLz54bWxYUGF0aEluaXQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFhQYXRoSW5pdAkJCSh2b2lkKTxici8+Cis8L3ByZT48cD5Jbml0aWFsaXplIHRoZSBYUGF0aCBlbnZpcm9ubWVudDwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aElzSW5mIi8+eG1sWFBhdGhJc0luZiAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxYUGF0aElzSW5mCQkJKGRvdWJsZSB2YWwpPGJyLz4KKzwvcHJlPjxwPlByb3ZpZGVzIGEgcG9ydGFibGUgaXNpbmYoKSBmdW5jdGlvbiB0byBkZXRlY3Qgd2hldGhlciBhIGRvdWJsZSBpcyBhICtJbmZpbml0ZSBvciAtSW5maW5pdGUuIEJhc2VkIG9uIHRyaW8gY29kZSBodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2N0cmlvLzwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGRvdWJsZSB2YWx1ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSB2aSB0aGUgdmFsdWUgaXMgK0luZmluaXRlLCAtMSBpZiAtSW5maW5pdGUsIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhJc05hTiIvPnhtbFhQYXRoSXNOYU4gKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sWFBhdGhJc05hTgkJCShkb3VibGUgdmFsKTxici8+Cis8L3ByZT48cD5Qcm92aWRlcyBhIHBvcnRhYmxlIGlzbmFuKCkgZnVuY3Rpb24gdG8gZGV0ZWN0IHdoZXRoZXIgYSBkb3VibGUgaXMgYSBOb3RhTnVtYmVyLiBCYXNlZCBvbiB0cmlvIGNvZGUgaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9jdHJpby88L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBkb3VibGUgdmFsdWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdGhlIHZhbHVlIGlzIGEgTmFOLCAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoTmV3Q29udGV4dCIvPnhtbFhQYXRoTmV3Q29udGV4dCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHRQdHIiPnhtbFhQYXRoQ29udGV4dFB0cjwvYT4JeG1sWFBhdGhOZXdDb250ZXh0CSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jKTxici8+Cis8L3ByZT48cD5DcmVhdGUgYSBuZXcgPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dCI+eG1sWFBhdGhDb250ZXh0PC9hPjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWE1MIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dCI+eG1sWFBhdGhDb250ZXh0PC9hPiBqdXN0IGFsbG9jYXRlZC4gVGhlIGNhbGxlciB3aWxsIG5lZWQgdG8gZnJlZSBpdC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aE5vZGVFdmFsIi8+eG1sWFBhdGhOb2RlRXZhbCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+CXhtbFhQYXRoTm9kZUV2YWwJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsIDxici8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzdHIsIDxici8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHRQdHIiPnhtbFhQYXRoQ29udGV4dFB0cjwvYT4gY3R4KTxici8+Cis8L3ByZT48cD5FdmFsdWF0ZSB0aGUgWFBhdGggTG9jYXRpb24gUGF0aCBpbiB0aGUgZ2l2ZW4gY29udGV4dC4gVGhlIG5vZGUgJ25vZGUnIGlzIHNldCBhcyB0aGUgY29udGV4dCBub2RlLiBUaGUgY29udGV4dCBub2RlIGlzIG5vdCByZXN0b3JlZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBub2RlIHRvIHRvIHVzZSBhcyB0aGUgY29udGV4dCBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdHI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYUGF0aCBleHByZXNzaW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYUGF0aCBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4gcmVzdWx0aW5nIGZyb20gdGhlIGV2YWx1YXRpb24gb3IgTlVMTC4gdGhlIGNhbGxlciBoYXMgdG8gZnJlZSB0aGUgb2JqZWN0LjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoTm9kZVNldENyZWF0ZSIvPnhtbFhQYXRoTm9kZVNldENyZWF0ZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPgl4bWxYUGF0aE5vZGVTZXRDcmVhdGUJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IHZhbCk8YnIvPgorPC9wcmU+PHA+Q3JlYXRlIGEgbmV3IDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBvZiB0eXBlIGRvdWJsZSBhbmQgb2YgdmFsdWUgQHZhbDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBpbml0aWFsIHhtbE5vZGVQdHIsIG9yIE5VTEw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXdseSBjcmVhdGVkIG9iamVjdC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aE9iamVjdENvcHkiLz54bWxYUGF0aE9iamVjdENvcHkgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPgl4bWxYUGF0aE9iamVjdENvcHkJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IHZhbCk8YnIvPgorPC9wcmU+PHA+YWxsb2NhdGUgYSBuZXcgY29weSBvZiBhIGdpdmVuIG9iamVjdDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgb3JpZ2luYWwgb2JqZWN0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhPcmRlckRvY0VsZW1zIi8+eG1sWFBhdGhPcmRlckRvY0VsZW1zICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+bG9uZwl4bWxYUGF0aE9yZGVyRG9jRWxlbXMJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jKTxici8+Cis8L3ByZT48cD5DYWxsIHRoaXMgcm91dGluZSB0byBzcGVlZCB1cCBYUGF0aCBjb21wdXRhdGlvbiBvbiBzdGF0aWMgZG9jdW1lbnRzLiBUaGlzIHN0YW1wcyBhbGwgdGhlIGVsZW1lbnQgbm9kZXMgd2l0aCB0aGUgZG9jdW1lbnQgb3JkZXIgTGlrZSBmb3IgbGluZSBpbmZvcm1hdGlvbiwgdGhlIG9yZGVyIGlzIGtlcHQgaW4gdGhlIGVsZW1lbnQtJmd0O2NvbnRlbnQgZmllbGQsIHRoZSB2YWx1ZSBzdG9yZWQgaXMgYWN0dWFsbHkgLSB0aGUgbm9kZSBudW1iZXIgKHN0YXJ0aW5nIGF0IC0xKSB0byBiZSBhYmxlIHRvIGRpZmZlcmVudGlhdGUgZnJvbSBsaW5lIG51bWJlcnMuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIGlucHV0IGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGVsZW1lbnRzIGZvdW5kIGluIHRoZSBkb2N1bWVudCBvciAtMSBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoU2V0Q29udGV4dE5vZGUiLz54bWxYUGF0aFNldENvbnRleHROb2RlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFhQYXRoU2V0Q29udGV4dE5vZGUJCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHRQdHIiPnhtbFhQYXRoQ29udGV4dFB0cjwvYT4gY3R4KTxici8+Cis8L3ByZT48cD5TZXRzICdub2RlJyBhcyB0aGUgY29udGV4dCBub2RlLiBUaGUgbm9kZSBtdXN0IGJlIGluIHRoZSBzYW1lIGRvY3VtZW50IGFzIHRoYXQgYXNzb2NpYXRlZCB3aXRoIHRoZSBjb250ZXh0LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vZGUgdG8gdG8gdXNlIGFzIHRoZSBjb250ZXh0IG5vZGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhQYXRoIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPi0xIGluIGNhc2Ugb2YgZXJyb3Igb3IgMCBpZiBzdWNjZXNzZnVsPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgIDwvZGl2PgorICAgIDwvZGl2PgorICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9kZXZoZWxwL2xpYnhtbDIteHBhdGhJbnRlcm5hbHMuaHRtbCBiL2xpYnhtbDIvZG9jL2RldmhlbHAvbGlieG1sMi14cGF0aEludGVybmFscy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA1OTczNDMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9kZXZoZWxwL2xpYnhtbDIteHBhdGhJbnRlcm5hbHMuaHRtbApAQCAtMCwwICsxLDc4NyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxodG1sPgorICA8aGVhZD4KKyAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIvPgorICAgIDx0aXRsZT54cGF0aEludGVybmFsczogaW50ZXJuYWwgaW50ZXJmYWNlcyBmb3IgWE1MIFBhdGggTGFuZ3VhZ2UgaW1wbGVtZW50YXRpb248L3RpdGxlPgorICAgIDxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iTGlieG1sMiBkZXZoZWxwIHN0eWxlc2hlZXQiLz4KKyAgICA8bGluayByZWw9InN0YXJ0IiBocmVmPSJpbmRleC5odG1sIiB0aXRsZT0ibGlieG1sMiBSZWZlcmVuY2UgTWFudWFsIi8+CisgICAgPGxpbmsgcmVsPSJ1cCIgaHJlZj0iZ2VuZXJhbC5odG1sIiB0aXRsZT0iQVBJIi8+CisgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJzdHlsZS5jc3MiIHR5cGU9InRleHQvY3NzIi8+CisgICAgPGxpbmsgcmVsPSJjaGFwdGVyIiBocmVmPSJnZW5lcmFsLmh0bWwiIHRpdGxlPSJBUEkiLz4KKyAgPC9oZWFkPgorICA8Ym9keSBiZ2NvbG9yPSJ3aGl0ZSIgdGV4dD0iYmxhY2siIGxpbms9IiMwMDAwRkYiIHZsaW5rPSIjODQwMDg0IiBhbGluaz0iIzAwMDBGRiI+CisgICAgPHRhYmxlIGNsYXNzPSJuYXZpZ2F0aW9uIiB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBoZWFkZXIiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMiI+CisgICAgICA8dHIgdmFsaWduPSJtaWRkbGUiPgorICAgICAgICA8dGQ+CisgICAgICAgICAgPGEgYWNjZXNza2V5PSJwIiBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwiPgorICAgICAgICAgICAgPGltZyBzcmM9ImxlZnQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJQcmV2Ii8+CisgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGQ+CisgICAgICAgICAgPGEgYWNjZXNza2V5PSJ1IiBocmVmPSJnZW5lcmFsLmh0bWwiPgorICAgICAgICAgICAgPGltZyBzcmM9InVwLnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iVXAiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9ImgiIGhyZWY9ImluZGV4Lmh0bWwiPgorICAgICAgICAgICAgPGltZyBzcmM9ImhvbWUucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJIb21lIi8+CisgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGQ+CisgICAgICAgICAgPGEgYWNjZXNza2V5PSJuIiBocmVmPSJsaWJ4bWwyLXhwb2ludGVyLmh0bWwiPgorICAgICAgICAgICAgPGltZyBzcmM9InJpZ2h0LnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iTmV4dCIvPgorICAgICAgICAgIDwvYT4KKyAgICAgICAgPC90ZD4KKyAgICAgICAgPHRoIHdpZHRoPSIxMDAlIiBhbGlnbj0iY2VudGVyIj5saWJ4bWwyIFJlZmVyZW5jZSBNYW51YWw8L3RoPgorICAgICAgPC90cj4KKyAgICA8L3RhYmxlPgorICAgIDxoMj4KKyAgICAgIDxzcGFuIGNsYXNzPSJyZWZlbnRyeXRpdGxlIj54cGF0aEludGVybmFsczwvc3Bhbj4KKyAgICA8L2gyPgorICAgIDxwPnhwYXRoSW50ZXJuYWxzIC0gaW50ZXJuYWwgaW50ZXJmYWNlcyBmb3IgWE1MIFBhdGggTGFuZ3VhZ2UgaW1wbGVtZW50YXRpb248L3A+CisgICAgPHA+aW50ZXJuYWwgaW50ZXJmYWNlcyBmb3IgWE1MIFBhdGggTGFuZ3VhZ2UgaW1wbGVtZW50YXRpb24gdXNlZCB0byBidWlsZCBuZXcgbW9kdWxlcyBvbiB0b3Agb2YgWFBhdGggbGlrZSBYUG9pbnRlciBhbmQgWFNMVCA8L3A+CisgICAgPHA+QXV0aG9yKHMpOiBEYW5pZWwgVmVpbGxhcmQgPC9wPgorICAgIDxkaXYgY2xhc3M9InJlZnN5bm9wc2lzZGl2Ij4KKyAgICAgIDxoMj5TeW5vcHNpczwvaDI+CisgICAgICA8cHJlIGNsYXNzPSJzeW5vcHNpcyI+I2RlZmluZSA8YSBocmVmPSIjeG1sWFBhdGhTdGFja0lzRXh0ZXJuYWwiPnhtbFhQYXRoU3RhY2tJc0V4dGVybmFsPC9hPihjdHh0KTsKKyNkZWZpbmUgPGEgaHJlZj0iI3htbFhQYXRoUmV0dXJuRW1wdHlTdHJpbmciPnhtbFhQYXRoUmV0dXJuRW1wdHlTdHJpbmc8L2E+KGN0eHQpOworI2RlZmluZSA8YSBocmVmPSIjWFBfRVJST1IwIj5YUF9FUlJPUjA8L2E+KFgpOworI2RlZmluZSA8YSBocmVmPSIjeG1sWFBhdGhTZXRUeXBlRXJyb3IiPnhtbFhQYXRoU2V0VHlwZUVycm9yPC9hPihjdHh0KTsKKyNkZWZpbmUgPGEgaHJlZj0iI3htbFhQYXRoUmV0dXJuRW1wdHlOb2RlU2V0Ij54bWxYUGF0aFJldHVybkVtcHR5Tm9kZVNldDwvYT4oY3R4dCk7CisjZGVmaW5lIDxhIGhyZWY9IiN4bWxYUGF0aFJldHVyblRydWUiPnhtbFhQYXRoUmV0dXJuVHJ1ZTwvYT4oY3R4dCk7CisjZGVmaW5lIDxhIGhyZWY9IiN4bWxYUGF0aFJldHVybkJvb2xlYW4iPnhtbFhQYXRoUmV0dXJuQm9vbGVhbjwvYT4oY3R4dCwgdmFsKTsKKyNkZWZpbmUgPGEgaHJlZj0iI3htbFhQYXRoR2V0Q29udGV4dE5vZGUiPnhtbFhQYXRoR2V0Q29udGV4dE5vZGU8L2E+KGN0eHQpOworI2RlZmluZSA8YSBocmVmPSIjQ0FTVF9UT19OVU1CRVIiPkNBU1RfVE9fTlVNQkVSPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI0NIRUNLX0FSSVRZIj5DSEVDS19BUklUWTwvYT4oeCk7CisjZGVmaW5lIDxhIGhyZWY9IiNDSEVDS19UWVBFMCI+Q0hFQ0tfVFlQRTA8L2E+KHR5cGV2YWwpOworI2RlZmluZSA8YSBocmVmPSIjQ0FTVF9UT19TVFJJTkciPkNBU1RfVE9fU1RSSU5HPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI3htbFhQYXRoUmV0dXJuRXh0ZXJuYWwiPnhtbFhQYXRoUmV0dXJuRXh0ZXJuYWw8L2E+KGN0eHQsIHZhbCk7CisjZGVmaW5lIDxhIGhyZWY9IiN4bWxYUGF0aFN0YWNrSXNOb2RlU2V0Ij54bWxYUGF0aFN0YWNrSXNOb2RlU2V0PC9hPihjdHh0KTsKKyNkZWZpbmUgPGEgaHJlZj0iI3htbFhQYXRoQ2hlY2tFcnJvciI+eG1sWFBhdGhDaGVja0Vycm9yPC9hPihjdHh0KTsKKyNkZWZpbmUgPGEgaHJlZj0iI3htbFhQYXRoU2V0RXJyb3IiPnhtbFhQYXRoU2V0RXJyb3I8L2E+KGN0eHQsIGVycik7CisjZGVmaW5lIDxhIGhyZWY9IiNDSEVDS19FUlJPUiI+Q0hFQ0tfRVJST1I8L2E+OworI2RlZmluZSA8YSBocmVmPSIjeG1sWFBhdGhSZXR1cm5TdHJpbmciPnhtbFhQYXRoUmV0dXJuU3RyaW5nPC9hPihjdHh0LCBzdHIpOworI2RlZmluZSA8YSBocmVmPSIjQ0FTVF9UT19CT09MRUFOIj5DQVNUX1RPX0JPT0xFQU48L2E+OworI2RlZmluZSA8YSBocmVmPSIjeG1sWFBhdGhTZXRBcml0eUVycm9yIj54bWxYUGF0aFNldEFyaXR5RXJyb3I8L2E+KGN0eHQpOworI2RlZmluZSA8YSBocmVmPSIjQ0hFQ0tfVFlQRSI+Q0hFQ0tfVFlQRTwvYT4odHlwZXZhbCk7CisjZGVmaW5lIDxhIGhyZWY9IiN4bWxYUGF0aFJldHVybkZhbHNlIj54bWxYUGF0aFJldHVybkZhbHNlPC9hPihjdHh0KTsKKyNkZWZpbmUgPGEgaHJlZj0iI3htbFhQYXRoUmV0dXJuTnVtYmVyIj54bWxYUGF0aFJldHVybk51bWJlcjwvYT4oY3R4dCwgdmFsKTsKKyNkZWZpbmUgPGEgaHJlZj0iI0NIRUNLX0VSUk9SMCI+Q0hFQ0tfRVJST1IwPC9hPjsKKyNkZWZpbmUgPGEgaHJlZj0iI3htbFhQYXRoR2V0RG9jdW1lbnQiPnhtbFhQYXRoR2V0RG9jdW1lbnQ8L2E+KGN0eHQpOworI2RlZmluZSA8YSBocmVmPSIjeG1sWFBhdGhHZXRFcnJvciI+eG1sWFBhdGhHZXRFcnJvcjwvYT4oY3R4dCk7CisjZGVmaW5lIDxhIGhyZWY9IiNYUF9FUlJPUiI+WFBfRVJST1I8L2E+KFgpOworI2RlZmluZSA8YSBocmVmPSIjeG1sWFBhdGhFbXB0eU5vZGVTZXQiPnhtbFhQYXRoRW1wdHlOb2RlU2V0PC9hPihucyk7CisjZGVmaW5lIDxhIGhyZWY9IiN4bWxYUGF0aFJldHVybk5vZGVTZXQiPnhtbFhQYXRoUmV0dXJuTm9kZVNldDwvYT4oY3R4dCwgbnMpOworPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+CTxhIGhyZWY9IiN4bWxYUGF0aE5vZGVTZXRNZXJnZSI+eG1sWFBhdGhOb2RlU2V0TWVyZ2U8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gdmFsMSwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gdmFsMik7Cit2b2lkCTxhIGhyZWY9IiN4bWxYUGF0aE51bWJlckZ1bmN0aW9uIj54bWxYUGF0aE51bWJlckZ1bmN0aW9uPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSBpbnQgbmFyZ3MpOworY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxYUGF0aE5zTG9va3VwIj54bWxYUGF0aE5zTG9va3VwPC9hPgkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFB0ciI+eG1sWFBhdGhDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwcmVmaXgpOworPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4JPGEgaHJlZj0iI3htbFhQYXRoTmV3Tm9kZVNldCI+eG1sWFBhdGhOZXdOb2RlU2V0PC9hPgkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gdmFsKTsKKzxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CTxhIGhyZWY9IiN4bWxYUGF0aE5leHRBbmNlc3Rvck9yU2VsZiI+eG1sWFBhdGhOZXh0QW5jZXN0b3JPclNlbGY8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGN1cik7Cit2b2lkCTxhIGhyZWY9IiN4bWxYUGF0aE5vZGVTZXRSZW1vdmUiPnhtbFhQYXRoTm9kZVNldFJlbW92ZTwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gY3VyLCA8YnIvPgkJCQkJIGludCB2YWwpOworPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4JPGEgaHJlZj0iI3htbFhQYXRoTmV3Tm9kZVNldExpc3QiPnhtbFhQYXRoTmV3Tm9kZVNldExpc3Q8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gdmFsKTsKK2ludAk8YSBocmVmPSIjeG1sWFBhdGhQb3BCb29sZWFuIj54bWxYUGF0aFBvcEJvb2xlYW48L2E+CQkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0KTsKKzxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+CTxhIGhyZWY9IiN4bWxYUGF0aE5ld1N0cmluZyI+eG1sWFBhdGhOZXdTdHJpbmc8L2E+CShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsKTsKKzxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPgk8YSBocmVmPSIjeG1sWFBhdGhOb2RlTGVhZGluZ1NvcnRlZCI+eG1sWFBhdGhOb2RlTGVhZGluZ1NvcnRlZDwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBub2RlcywgPGJyLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSk7Cis8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgk8YSBocmVmPSIjeG1sWFBhdGhOZXh0Q2hpbGQiPnhtbFhQYXRoTmV4dENoaWxkPC9hPgkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGN1cik7Cis8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgk8YSBocmVmPSIjeG1sWFBhdGhOZXh0Rm9sbG93aW5nU2libGluZyI+eG1sWFBhdGhOZXh0Rm9sbG93aW5nU2libGluZzwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gY3VyKTsKKzxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sWFBhdGhQb3BTdHJpbmciPnhtbFhQYXRoUG9wU3RyaW5nPC9hPgkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0KTsKK3ZvaWQJPGEgaHJlZj0iI3htbFhQYXRoTmFtZXNwYWNlVVJJRnVuY3Rpb24iPnhtbFhQYXRoTmFtZXNwYWNlVVJJRnVuY3Rpb248L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgaW50IG5hcmdzKTsKK2ludAk8YSBocmVmPSIjeG1sWFBhdGhDb21wYXJlVmFsdWVzIj54bWxYUGF0aENvbXBhcmVWYWx1ZXM8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIGludCBpbmYsIDxici8+CQkJCQkgaW50IHN0cmljdCk7Cit2b2lkCTxhIGhyZWY9IiN4bWxYUGF0aENvbmNhdEZ1bmN0aW9uIj54bWxYUGF0aENvbmNhdEZ1bmN0aW9uPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSBpbnQgbmFyZ3MpOworaW50CTxhIGhyZWY9IiN4bWxYUGF0aE5vZGVTZXRDb250YWlucyI+eG1sWFBhdGhOb2RlU2V0Q29udGFpbnM8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IGN1ciwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiB2YWwpOwordm9pZAk8YSBocmVmPSIjeG1sWFBhdGhlcnJvciI+eG1sWFBhdGhlcnJvcjwvYT4JCQkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBmaWxlLCA8YnIvPgkJCQkJIGludCBsaW5lLCA8YnIvPgkJCQkJIGludCBubyk7Cis8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgk8YSBocmVmPSIjeG1sWFBhdGhOZXh0QW5jZXN0b3IiPnhtbFhQYXRoTmV4dEFuY2VzdG9yPC9hPgkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGN1cik7Cit2b2lkCTxhIGhyZWY9IiN4bWxYUGF0aEJvb2xlYW5GdW5jdGlvbiI+eG1sWFBhdGhCb29sZWFuRnVuY3Rpb248L2E+CQkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIGludCBuYXJncyk7Cit2b2lkCTxhIGhyZWY9IiN4bWxYUGF0aFJvb3QiPnhtbFhQYXRoUm9vdDwvYT4JCQkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0KTsKK3ZvaWQJPGEgaHJlZj0iI3htbFhQYXRoUmVnaXN0ZXJlZE5zQ2xlYW51cCI+eG1sWFBhdGhSZWdpc3RlcmVkTnNDbGVhbnVwPC9hPgkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFB0ciI+eG1sWFBhdGhDb250ZXh0UHRyPC9hPiBjdHh0KTsKK2ludAk8YSBocmVmPSIjeG1sWFBhdGhJc05vZGVUeXBlIj54bWxYUGF0aElzTm9kZVR5cGU8L2E+CQkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JPGEgaHJlZj0iI3htbFhQYXRoTmV4dEZvbGxvd2luZyI+eG1sWFBhdGhOZXh0Rm9sbG93aW5nPC9hPgkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGN1cik7Cit2b2lkCTxhIGhyZWY9IiN4bWxYUGF0aEFkZFZhbHVlcyI+eG1sWFBhdGhBZGRWYWx1ZXM8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0KTsKK2ludAk8YSBocmVmPSIjeG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlIj54bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGU8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0UHRyIj54bWxYUGF0aENvbnRleHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4gdmFsdWUpOworPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4JPGEgaHJlZj0iI3ZhbHVlUG9wIj52YWx1ZVBvcDwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCk7Cit2b2lkCTxhIGhyZWY9IiN4bWxYUGF0aENlaWxpbmdGdW5jdGlvbiI+eG1sWFBhdGhDZWlsaW5nRnVuY3Rpb248L2E+CQkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIGludCBuYXJncyk7Cis8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4JPGEgaHJlZj0iI3htbFhQYXRoSW50ZXJzZWN0aW9uIj54bWxYUGF0aEludGVyc2VjdGlvbjwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBub2RlczEsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IG5vZGVzMik7Cit2b2lkCTxhIGhyZWY9IiN4bWxYUGF0aENvbnRhaW5zRnVuY3Rpb24iPnhtbFhQYXRoQ29udGFpbnNGdW5jdGlvbjwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSBpbnQgbmFyZ3MpOwordm9pZAk8YSBocmVmPSIjeG1sWFBhdGhOb2RlU2V0U29ydCI+eG1sWFBhdGhOb2RlU2V0U29ydDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gc2V0KTsKK3ZvaWQJPGEgaHJlZj0iI3htbFhQYXRoU3RhcnRzV2l0aEZ1bmN0aW9uIj54bWxYUGF0aFN0YXJ0c1dpdGhGdW5jdGlvbjwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSBpbnQgbmFyZ3MpOworPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+CTxhIGhyZWY9IiN4bWxYUGF0aE5vZGVMZWFkaW5nIj54bWxYUGF0aE5vZGVMZWFkaW5nPC9hPgkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IG5vZGVzLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUpOwordm9pZAk8YSBocmVmPSIjeG1sWFBhdGhTdW1GdW5jdGlvbiI+eG1sWFBhdGhTdW1GdW5jdGlvbjwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgaW50IG5hcmdzKTsKK2ludAk8YSBocmVmPSIjeG1sWFBhdGhOb3RFcXVhbFZhbHVlcyI+eG1sWFBhdGhOb3RFcXVhbFZhbHVlczwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQpOworaW50CTxhIGhyZWY9IiN4bWxYUGF0aEV2YWx1YXRlUHJlZGljYXRlUmVzdWx0Ij54bWxYUGF0aEV2YWx1YXRlUHJlZGljYXRlUmVzdWx0PC9hPgkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IHJlcyk7Cit2b2lkCTxhIGhyZWY9IiN4bWxYUGF0aEVyciI+eG1sWFBhdGhFcnI8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSBpbnQgZXJyb3IpOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JPGEgaHJlZj0iI3htbFhQYXRoTmV4dFByZWNlZGluZyI+eG1sWFBhdGhOZXh0UHJlY2VkaW5nPC9hPgkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGN1cik7Cis8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhGdW5jdGlvbiI+eG1sWFBhdGhGdW5jdGlvbjwvYT4JPGEgaHJlZj0iI3htbFhQYXRoRnVuY3Rpb25Mb29rdXBOUyI+eG1sWFBhdGhGdW5jdGlvbkxvb2t1cE5TPC9hPgkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFB0ciI+eG1sWFBhdGhDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbnNfdXJpKTsKK3ZvaWQJPGEgaHJlZj0iI3htbFhQYXRoUmVnaXN0ZXJlZEZ1bmNzQ2xlYW51cCI+eG1sWFBhdGhSZWdpc3RlcmVkRnVuY3NDbGVhbnVwPC9hPgkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFB0ciI+eG1sWFBhdGhDb250ZXh0UHRyPC9hPiBjdHh0KTsKK3ZvaWQJPGEgaHJlZj0iI3htbFhQYXRoUmVnaXN0ZXJBbGxGdW5jdGlvbnMiPnhtbFhQYXRoUmVnaXN0ZXJBbGxGdW5jdGlvbnM8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0UHRyIj54bWxYUGF0aENvbnRleHRQdHI8L2E+IGN0eHQpOworPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoRnVuY3Rpb24iPnhtbFhQYXRoRnVuY3Rpb248L2E+CTxhIGhyZWY9IiN4bWxYUGF0aEZ1bmN0aW9uTG9va3VwIj54bWxYUGF0aEZ1bmN0aW9uTG9va3VwPC9hPgkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFB0ciI+eG1sWFBhdGhDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSk7Cit2b2lkCTxhIGhyZWY9IiN4bWxYUGF0aFBvc2l0aW9uRnVuY3Rpb24iPnhtbFhQYXRoUG9zaXRpb25GdW5jdGlvbjwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSBpbnQgbmFyZ3MpOwordm9pZAk8YSBocmVmPSIjeG1sWFBhdGhTdWJzdHJpbmdCZWZvcmVGdW5jdGlvbiI+eG1sWFBhdGhTdWJzdHJpbmdCZWZvcmVGdW5jdGlvbjwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSBpbnQgbmFyZ3MpOwordm9pZAk8YSBocmVmPSIjeG1sWFBhdGhSZWdpc3RlcmVkVmFyaWFibGVzQ2xlYW51cCI+eG1sWFBhdGhSZWdpc3RlcmVkVmFyaWFibGVzQ2xlYW51cDwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHRQdHIiPnhtbFhQYXRoQ29udGV4dFB0cjwvYT4gY3R4dCk7Cis8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPgk8YSBocmVmPSIjeG1sWFBhdGhOZXdGbG9hdCI+eG1sWFBhdGhOZXdGbG9hdDwvYT4JKGRvdWJsZSB2YWwpOworaW50CTxhIGhyZWY9IiN4bWxYUGF0aFJlZ2lzdGVyTnMiPnhtbFhQYXRoUmVnaXN0ZXJOczwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0UHRyIj54bWxYUGF0aENvbnRleHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHByZWZpeCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbnNfdXJpKTsKKzxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CTxhIGhyZWY9IiN4bWxYUGF0aE5leHRQYXJlbnQiPnhtbFhQYXRoTmV4dFBhcmVudDwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIpOwordm9pZAk8YSBocmVmPSIjeG1sWFBhdGhOb2RlU2V0RnJlZU5zIj54bWxYUGF0aE5vZGVTZXRGcmVlTnM8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTnNQdHIiPnhtbE5zUHRyPC9hPiBucyk7CitpbnQJPGEgaHJlZj0iI3htbFhQYXRoSGFzU2FtZU5vZGVzIj54bWxYUGF0aEhhc1NhbWVOb2RlczwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gbm9kZXMxLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBub2RlczIpOworPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+CTxhIGhyZWY9IiN4bWxYUGF0aERpc3RpbmN0U29ydGVkIj54bWxYUGF0aERpc3RpbmN0U29ydGVkPC9hPgkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IG5vZGVzKTsKK2ludAk8YSBocmVmPSIjdmFsdWVQdXNoIj52YWx1ZVB1c2g8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPiB2YWx1ZSk7Cit2b2lkCTxhIGhyZWY9IiN4bWxYUGF0aFN1YnN0cmluZ0Z1bmN0aW9uIj54bWxYUGF0aFN1YnN0cmluZ0Z1bmN0aW9uPC9hPgkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIGludCBuYXJncyk7Cit2b2lkCTxhIGhyZWY9IiN4bWxYUGF0aFN0cmluZ0Z1bmN0aW9uIj54bWxYUGF0aFN0cmluZ0Z1bmN0aW9uPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSBpbnQgbmFyZ3MpOwordm9pZAk8YSBocmVmPSIjeG1sWFBhdGhGbG9vckZ1bmN0aW9uIj54bWxYUGF0aEZsb29yRnVuY3Rpb248L2E+CQkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIGludCBuYXJncyk7Cit2b2lkCTxhIGhyZWY9IiN4bWxYUGF0aElkRnVuY3Rpb24iPnhtbFhQYXRoSWRGdW5jdGlvbjwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgaW50IG5hcmdzKTsKK3ZvaWQJPGEgaHJlZj0iI3htbFhQYXRoTGFzdEZ1bmN0aW9uIj54bWxYUGF0aExhc3RGdW5jdGlvbjwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgaW50IG5hcmdzKTsKK3ZvaWQJPGEgaHJlZj0iI3htbFhQYXRoU3RyaW5nTGVuZ3RoRnVuY3Rpb24iPnhtbFhQYXRoU3RyaW5nTGVuZ3RoRnVuY3Rpb248L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgaW50IG5hcmdzKTsKKzxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CTxhIGhyZWY9IiN4bWxYUGF0aE5leHRTZWxmIj54bWxYUGF0aE5leHRTZWxmPC9hPgkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGN1cik7Cit2b2lkCTxhIGhyZWY9IiN4bWxYUGF0aERlYnVnRHVtcENvbXBFeHByIj54bWxYUGF0aERlYnVnRHVtcENvbXBFeHByPC9hPgkoRklMRSAqIG91dHB1dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhDb21wRXhwclB0ciI+eG1sWFBhdGhDb21wRXhwclB0cjwvYT4gY29tcCwgPGJyLz4JCQkJCSBpbnQgZGVwdGgpOwordm9pZAk8YSBocmVmPSIjeG1sWFBhdGhGYWxzZUZ1bmN0aW9uIj54bWxYUGF0aEZhbHNlRnVuY3Rpb248L2E+CQkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIGludCBuYXJncyk7Cit2b2lkCTxhIGhyZWY9IiN4bWxYUGF0aFZhbHVlRmxpcFNpZ24iPnhtbFhQYXRoVmFsdWVGbGlwU2lnbjwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQpOwordm9pZAk8YSBocmVmPSIjeG1sWFBhdGhUcmFuc2xhdGVGdW5jdGlvbiI+eG1sWFBhdGhUcmFuc2xhdGVGdW5jdGlvbjwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSBpbnQgbmFyZ3MpOwordm9pZAk8YSBocmVmPSIjeG1sWFBhdGhSZWdpc3RlckZ1bmNMb29rdXAiPnhtbFhQYXRoUmVnaXN0ZXJGdW5jTG9va3VwPC9hPgkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFB0ciI+eG1sWFBhdGhDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aEZ1bmNMb29rdXBGdW5jIj54bWxYUGF0aEZ1bmNMb29rdXBGdW5jPC9hPiBmLCA8YnIvPgkJCQkJIHZvaWQgKiBmdW5jQ3R4dCk7Citkb3VibGUJPGEgaHJlZj0iI3htbFhQYXRoUG9wTnVtYmVyIj54bWxYUGF0aFBvcE51bWJlcjwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQpOwordm9pZAk8YSBocmVmPSIjeG1sWFBhdGhSb3VuZEZ1bmN0aW9uIj54bWxYUGF0aFJvdW5kRnVuY3Rpb248L2E+CQkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIGludCBuYXJncyk7Cis8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4JPGEgaHJlZj0iI3htbFhQYXRoUG9wTm9kZVNldCI+eG1sWFBhdGhQb3BOb2RlU2V0PC9hPgkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0KTsKK3ZvaWQJPGEgaHJlZj0iI3htbFhQYXRoQ291bnRGdW5jdGlvbiI+eG1sWFBhdGhDb3VudEZ1bmN0aW9uPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSBpbnQgbmFyZ3MpOworPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxYUGF0aFBhcnNlTkNOYW1lIj54bWxYUGF0aFBhcnNlTkNOYW1lPC9hPgkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0KTsKK3ZvaWQJPGEgaHJlZj0iI3htbFhQYXRoVHJ1ZUZ1bmN0aW9uIj54bWxYUGF0aFRydWVGdW5jdGlvbjwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgaW50IG5hcmdzKTsKKzxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+CTxhIGhyZWY9IiN4bWxYUGF0aE5ld0Jvb2xlYW4iPnhtbFhQYXRoTmV3Qm9vbGVhbjwvYT4JKGludCB2YWwpOwordm9pZAk8YSBocmVmPSIjeG1sWFBhdGhTdWJWYWx1ZXMiPnhtbFhQYXRoU3ViVmFsdWVzPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCk7CitpbnQJPGEgaHJlZj0iI3htbFhQYXRoRXF1YWxWYWx1ZXMiPnhtbFhQYXRoRXF1YWxWYWx1ZXM8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0KTsKKzxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPgk8YSBocmVmPSIjeG1sWFBhdGhUcmFpbGluZ1NvcnRlZCI+eG1sWFBhdGhUcmFpbGluZ1NvcnRlZDwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBub2RlczEsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IG5vZGVzMik7Cit2b2lkCTxhIGhyZWY9IiN4bWxYUGF0aE11bHRWYWx1ZXMiPnhtbFhQYXRoTXVsdFZhbHVlczwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQpOwordm9pZAk8YSBocmVmPSIjeG1sWFBhdGhNb2RWYWx1ZXMiPnhtbFhQYXRoTW9kVmFsdWVzPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCk7Cis8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+CTxhIGhyZWY9IiN4bWxYUGF0aE5ld1BhcnNlckNvbnRleHQiPnhtbFhQYXRoTmV3UGFyc2VyQ29udGV4dDwvYT4JKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzdHIsIDxici8+CQkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0UHRyIj54bWxYUGF0aENvbnRleHRQdHI8L2E+IGN0eHQpOworPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4JPGEgaHJlZj0iI3htbFhQYXRoV3JhcE5vZGVTZXQiPnhtbFhQYXRoV3JhcE5vZGVTZXQ8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gdmFsKTsKKzxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+CTxhIGhyZWY9IiN4bWxYUGF0aFdyYXBTdHJpbmciPnhtbFhQYXRoV3JhcFN0cmluZzwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB2YWwpOwordm9pZAk8YSBocmVmPSIjeG1sWFBhdGhMYW5nRnVuY3Rpb24iPnhtbFhQYXRoTGFuZ0Z1bmN0aW9uPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSBpbnQgbmFyZ3MpOworaW50CTxhIGhyZWY9IiN4bWxYUGF0aFJlZ2lzdGVyRnVuY05TIj54bWxYUGF0aFJlZ2lzdGVyRnVuY05TPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHRQdHIiPnhtbFhQYXRoQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbnNfdXJpLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aEZ1bmN0aW9uIj54bWxYUGF0aEZ1bmN0aW9uPC9hPiBmKTsKK2ludAk8YSBocmVmPSIjeG1sWFBhdGhOb2RlU2V0QWRkTnMiPnhtbFhQYXRoTm9kZVNldEFkZE5zPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBjdXIsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOc1B0ciI+eG1sTnNQdHI8L2E+IG5zKTsKK3ZvaWQJPGEgaHJlZj0iI3htbFhQYXRoTG9jYWxOYW1lRnVuY3Rpb24iPnhtbFhQYXRoTG9jYWxOYW1lRnVuY3Rpb248L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgaW50IG5hcmdzKTsKKzxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPgk8YSBocmVmPSIjeG1sWFBhdGhEaWZmZXJlbmNlIj54bWxYUGF0aERpZmZlcmVuY2U8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gbm9kZXMxLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBub2RlczIpOworPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+CTxhIGhyZWY9IiN4bWxYUGF0aExlYWRpbmdTb3J0ZWQiPnhtbFhQYXRoTGVhZGluZ1NvcnRlZDwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBub2RlczEsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IG5vZGVzMik7Cis8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgk8YSBocmVmPSIjeG1sWFBhdGhOZXh0UHJlY2VkaW5nU2libGluZyI+eG1sWFBhdGhOZXh0UHJlY2VkaW5nU2libGluZzwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gY3VyKTsKK3ZvaWQgKgk8YSBocmVmPSIjeG1sWFBhdGhQb3BFeHRlcm5hbCI+eG1sWFBhdGhQb3BFeHRlcm5hbDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQpOwordm9pZAk8YSBocmVmPSIjeG1sWFBhdGhOb3JtYWxpemVGdW5jdGlvbiI+eG1sWFBhdGhOb3JtYWxpemVGdW5jdGlvbjwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSBpbnQgbmFyZ3MpOwordm9pZAk8YSBocmVmPSIjeG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlTG9va3VwIj54bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGVMb29rdXA8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0UHRyIj54bWxYUGF0aENvbnRleHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoVmFyaWFibGVMb29rdXBGdW5jIj54bWxYUGF0aFZhcmlhYmxlTG9va3VwRnVuYzwvYT4gZiwgPGJyLz4JCQkJCSB2b2lkICogZGF0YSk7Cit2b2lkCTxhIGhyZWY9IiN4bWxYUGF0aE5vZGVTZXREZWwiPnhtbFhQYXRoTm9kZVNldERlbDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gY3VyLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IHZhbCk7Cis8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4JPGEgaHJlZj0iI3htbFhQYXRoTm9kZVRyYWlsaW5nU29ydGVkIj54bWxYUGF0aE5vZGVUcmFpbGluZ1NvcnRlZDwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBub2RlcywgPGJyLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSk7Cis8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPgk8YSBocmVmPSIjeG1sWFBhdGhOZXdDU3RyaW5nIj54bWxYUGF0aE5ld0NTdHJpbmc8L2E+CShjb25zdCBjaGFyICogdmFsKTsKK2ludAk8YSBocmVmPSIjeG1sWFBhdGhSZWdpc3RlckZ1bmMiPnhtbFhQYXRoUmVnaXN0ZXJGdW5jPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHRQdHIiPnhtbFhQYXRoQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhGdW5jdGlvbiI+eG1sWFBhdGhGdW5jdGlvbjwvYT4gZik7Cit2b2lkCTxhIGhyZWY9IiN4bWxYUGF0aFN1YnN0cmluZ0FmdGVyRnVuY3Rpb24iPnhtbFhQYXRoU3Vic3RyaW5nQWZ0ZXJGdW5jdGlvbjwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSBpbnQgbmFyZ3MpOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JPGEgaHJlZj0iI3htbFhQYXRoTmV4dERlc2NlbmRhbnQiPnhtbFhQYXRoTmV4dERlc2NlbmRhbnQ8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gY3VyKTsKKzxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CTxhIGhyZWY9IiN4bWxYUGF0aE5leHROYW1lc3BhY2UiPnhtbFhQYXRoTmV4dE5hbWVzcGFjZTwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIpOworPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4JPGEgaHJlZj0iI3htbFhQYXRoV3JhcENTdHJpbmciPnhtbFhQYXRoV3JhcENTdHJpbmc8L2E+CShjaGFyICogdmFsKTsKK3ZvaWQJPGEgaHJlZj0iI3htbFhQYXRoRnJlZVBhcnNlckNvbnRleHQiPnhtbFhQYXRoRnJlZVBhcnNlckNvbnRleHQ8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQpOworPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+CTxhIGhyZWY9IiN4bWxYUGF0aE5vZGVUcmFpbGluZyI+eG1sWFBhdGhOb2RlVHJhaWxpbmc8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gbm9kZXMsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSk7CitpbnQJPGEgaHJlZj0iI3htbFhQYXRoTm9kZVNldEFkZCI+eG1sWFBhdGhOb2RlU2V0QWRkPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBjdXIsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gdmFsKTsKK2ludAk8YSBocmVmPSIjeG1sWFBhdGhOb2RlU2V0QWRkVW5pcXVlIj54bWxYUGF0aE5vZGVTZXRBZGRVbmlxdWU8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gY3VyLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IHZhbCk7Cis8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPgk8YSBocmVmPSIjeG1sWFBhdGhOZXdWYWx1ZVRyZWUiPnhtbFhQYXRoTmV3VmFsdWVUcmVlPC9hPgkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gdmFsKTsKKzxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPgk8YSBocmVmPSIjeG1sWFBhdGhEaXN0aW5jdCI+eG1sWFBhdGhEaXN0aW5jdDwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBub2Rlcyk7Cis8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPgk8YSBocmVmPSIjeG1sWFBhdGhWYXJpYWJsZUxvb2t1cCI+eG1sWFBhdGhWYXJpYWJsZUxvb2t1cDwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHRQdHIiPnhtbFhQYXRoQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpOwordm9pZAk8YSBocmVmPSIjeG1sWFBhdGhOb3RGdW5jdGlvbiI+eG1sWFBhdGhOb3RGdW5jdGlvbjwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgaW50IG5hcmdzKTsKK2RvdWJsZQk8YSBocmVmPSIjeG1sWFBhdGhTdHJpbmdFdmFsTnVtYmVyIj54bWxYUGF0aFN0cmluZ0V2YWxOdW1iZXI8L2E+CShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3RyKTsKKzxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CTxhIGhyZWY9IiN4bWxYUGF0aE5leHREZXNjZW5kYW50T3JTZWxmIj54bWxYUGF0aE5leHREZXNjZW5kYW50T3JTZWxmPC9hPgkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIpOworPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4JPGEgaHJlZj0iI3htbFhQYXRoV3JhcEV4dGVybmFsIj54bWxYUGF0aFdyYXBFeHRlcm5hbDwvYT4JKHZvaWQgKiB2YWwpOworPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JPGEgaHJlZj0iI3htbFhQYXRoTmV4dEF0dHJpYnV0ZSI+eG1sWFBhdGhOZXh0QXR0cmlidXRlPC9hPgkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGN1cik7Cit2b2lkCTxhIGhyZWY9IiN4bWxYUGF0aERpdlZhbHVlcyI+eG1sWFBhdGhEaXZWYWx1ZXM8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0KTsKKzxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+CTxhIGhyZWY9IiN4bWxYUGF0aFZhcmlhYmxlTG9va3VwTlMiPnhtbFhQYXRoVmFyaWFibGVMb29rdXBOUzwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHRQdHIiPnhtbFhQYXRoQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5zX3VyaSk7CitpbnQJPGEgaHJlZj0iI3htbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZU5TIj54bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGVOUzwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHRQdHIiPnhtbFhQYXRoQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbnNfdXJpLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IHZhbHVlKTsKKzxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPgk8YSBocmVmPSIjeG1sWFBhdGhUcmFpbGluZyI+eG1sWFBhdGhUcmFpbGluZzwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBub2RlczEsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IG5vZGVzMik7Cit2b2lkCTxhIGhyZWY9IiN4bWxYUGF0aEV2YWxFeHByIj54bWxYUGF0aEV2YWxFeHByPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCk7Cit2b2lkCTxhIGhyZWY9IiN4bWxYUGF0aERlYnVnRHVtcE9iamVjdCI+eG1sWFBhdGhEZWJ1Z0R1bXBPYmplY3Q8L2E+CQkoRklMRSAqIG91dHB1dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPiBjdXIsIDxici8+CQkJCQkgaW50IGRlcHRoKTsKKzxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPgk8YSBocmVmPSIjeG1sWFBhdGhMZWFkaW5nIj54bWxYUGF0aExlYWRpbmc8L2E+CQkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IG5vZGVzMSwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gbm9kZXMyKTsKKzxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sWFBhdGhQYXJzZU5hbWUiPnhtbFhQYXRoUGFyc2VOYW1lPC9hPgkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0KTsKKzwvcHJlPgorICAgIDwvZGl2PgorICAgIDxkaXYgY2xhc3M9InJlZnNlY3QxIiBsYW5nPSJlbiI+CisgICAgICA8aDI+RGVzY3JpcHRpb248L2gyPgorICAgIDwvZGl2PgorICAgIDxkaXYgY2xhc3M9InJlZnNlY3QxIiBsYW5nPSJlbiI+CisgICAgICA8aDI+RGV0YWlsczwvaDI+CisgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJDQVNUX1RPX0JPT0xFQU4iPk1hY3JvIDwvYT5DQVNUX1RPX0JPT0xFQU48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNDQVNUX1RPX0JPT0xFQU4iPkNBU1RfVE9fQk9PTEVBTjwvYT47Cis8L3ByZT48cD5NYWNybyB0byB0cnkgdG8gY2FzdCB0aGUgdmFsdWUgb24gdGhlIHRvcCBvZiB0aGUgWFBhdGggc3RhY2sgdG8gYSBib29sZWFuLjwvcD4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJDQVNUX1RPX05VTUJFUiI+TWFjcm8gPC9hPkNBU1RfVE9fTlVNQkVSPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjQ0FTVF9UT19OVU1CRVIiPkNBU1RfVE9fTlVNQkVSPC9hPjsKKzwvcHJlPjxwPk1hY3JvIHRvIHRyeSB0byBjYXN0IHRoZSB2YWx1ZSBvbiB0aGUgdG9wIG9mIHRoZSBYUGF0aCBzdGFjayB0byBhIG51bWJlci48L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iQ0FTVF9UT19TVFJJTkciPk1hY3JvIDwvYT5DQVNUX1RPX1NUUklORzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI0NBU1RfVE9fU1RSSU5HIj5DQVNUX1RPX1NUUklORzwvYT47Cis8L3ByZT48cD5NYWNybyB0byB0cnkgdG8gY2FzdCB0aGUgdmFsdWUgb24gdGhlIHRvcCBvZiB0aGUgWFBhdGggc3RhY2sgdG8gYSBzdHJpbmcuPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IkNIRUNLX0FSSVRZIj5NYWNybyA8L2E+Q0hFQ0tfQVJJVFk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNDSEVDS19BUklUWSI+Q0hFQ0tfQVJJVFk8L2E+KHgpOworPC9wcmU+PHA+TWFjcm8gdG8gY2hlY2sgdGhhdCB0aGUgbnVtYmVyIG9mIGFyZ3MgcGFzc2VkIHRvIGFuIFhQYXRoIGZ1bmN0aW9uIG1hdGNoZXMuPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBleHBlY3RlZCBhcmdzPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJDSEVDS19FUlJPUiI+TWFjcm8gPC9hPkNIRUNLX0VSUk9SPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjQ0hFQ0tfRVJST1IiPkNIRUNLX0VSUk9SPC9hPjsKKzwvcHJlPjxwPk1hY3JvIHRvIHJldHVybiBmcm9tIHRoZSBmdW5jdGlvbiBpZiBhbiBYUGF0aCBlcnJvciB3YXMgZGV0ZWN0ZWQuPC9wPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IkNIRUNLX0VSUk9SMCI+TWFjcm8gPC9hPkNIRUNLX0VSUk9SMDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI0NIRUNLX0VSUk9SMCI+Q0hFQ0tfRVJST1IwPC9hPjsKKzwvcHJlPjxwPk1hY3JvIHRvIHJldHVybiAwIGZyb20gdGhlIGZ1bmN0aW9uIGlmIGFuIFhQYXRoIGVycm9yIHdhcyBkZXRlY3RlZC48L3A+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iQ0hFQ0tfVFlQRSI+TWFjcm8gPC9hPkNIRUNLX1RZUEU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNDSEVDS19UWVBFIj5DSEVDS19UWVBFPC9hPih0eXBldmFsKTsKKzwvcHJlPjxwPk1hY3JvIHRvIGNoZWNrIHRoYXQgdGhlIHZhbHVlIG9uIHRvcCBvZiB0aGUgWFBhdGggc3RhY2sgaXMgb2YgYSBnaXZlbiB0eXBlLjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnR5cGV2YWw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYUGF0aCB0eXBlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJDSEVDS19UWVBFMCI+TWFjcm8gPC9hPkNIRUNLX1RZUEUwPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjQ0hFQ0tfVFlQRTAiPkNIRUNLX1RZUEUwPC9hPih0eXBldmFsKTsKKzwvcHJlPjxwPk1hY3JvIHRvIGNoZWNrIHRoYXQgdGhlIHZhbHVlIG9uIHRvcCBvZiB0aGUgWFBhdGggc3RhY2sgaXMgb2YgYSBnaXZlbiB0eXBlLiBSZXR1cm4oMCkgaW4gY2FzZSBvZiBmYWlsdXJlPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dHlwZXZhbDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhQYXRoIHR5cGU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IlhQX0VSUk9SIj5NYWNybyA8L2E+WFBfRVJST1I8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYUF9FUlJPUiI+WFBfRVJST1I8L2E+KFgpOworPC9wcmU+PHA+TWFjcm8gdG8gcmFpc2UgYW4gWFBhdGggZXJyb3IgYW5kIHJldHVybi48L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5YPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZXJyb3IgY29kZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0iWFBfRVJST1IwIj5NYWNybyA8L2E+WFBfRVJST1IwPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWFBfRVJST1IwIj5YUF9FUlJPUjA8L2E+KFgpOworPC9wcmU+PHA+TWFjcm8gdG8gcmFpc2UgYW4gWFBhdGggZXJyb3IgYW5kIHJldHVybiAwLjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Plg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlcnJvciBjb2RlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aENoZWNrRXJyb3IiPk1hY3JvIDwvYT54bWxYUGF0aENoZWNrRXJyb3I8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiN4bWxYUGF0aENoZWNrRXJyb3IiPnhtbFhQYXRoQ2hlY2tFcnJvcjwvYT4oY3R4dCk7Cis8L3ByZT48cD5DaGVjayBpZiBhbiBYUGF0aCBlcnJvciB3YXMgcmFpc2VkLiBSZXR1cm5zIHRydWUgaWYgYW4gZXJyb3IgaGFzIGJlZW4gcmFpc2VkLCBmYWxzZSBvdGhlcndpc2UuPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWFBhdGggcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoRW1wdHlOb2RlU2V0Ij5NYWNybyA8L2E+eG1sWFBhdGhFbXB0eU5vZGVTZXQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiN4bWxYUGF0aEVtcHR5Tm9kZVNldCI+eG1sWFBhdGhFbXB0eU5vZGVTZXQ8L2E+KG5zKTsKKzwvcHJlPjxwPkVtcHRpZXMgYSBub2RlLXNldC48L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBub2RlLXNldDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhHZXRDb250ZXh0Tm9kZSI+TWFjcm8gPC9hPnhtbFhQYXRoR2V0Q29udGV4dE5vZGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiN4bWxYUGF0aEdldENvbnRleHROb2RlIj54bWxYUGF0aEdldENvbnRleHROb2RlPC9hPihjdHh0KTsKKzwvcHJlPjxwPkdldCB0aGUgY29udGV4dCBub2RlIG9mIGFuIFhQYXRoIGNvbnRleHQuIFJldHVybnMgdGhlIGNvbnRleHQgbm9kZS48L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYUGF0aCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhHZXREb2N1bWVudCI+TWFjcm8gPC9hPnhtbFhQYXRoR2V0RG9jdW1lbnQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiN4bWxYUGF0aEdldERvY3VtZW50Ij54bWxYUGF0aEdldERvY3VtZW50PC9hPihjdHh0KTsKKzwvcHJlPjxwPkdldCB0aGUgZG9jdW1lbnQgb2YgYW4gWFBhdGggY29udGV4dC4gUmV0dXJucyB0aGUgY29udGV4dCBkb2N1bWVudC48L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYUGF0aCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhHZXRFcnJvciI+TWFjcm8gPC9hPnhtbFhQYXRoR2V0RXJyb3I8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiN4bWxYUGF0aEdldEVycm9yIj54bWxYUGF0aEdldEVycm9yPC9hPihjdHh0KTsKKzwvcHJlPjxwPkdldCB0aGUgZXJyb3IgY29kZSBvZiBhbiBYUGF0aCBjb250ZXh0LiBSZXR1cm5zIHRoZSBjb250ZXh0IGVycm9yLjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhQYXRoIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aFJldHVybkJvb2xlYW4iPk1hY3JvIDwvYT54bWxYUGF0aFJldHVybkJvb2xlYW48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiN4bWxYUGF0aFJldHVybkJvb2xlYW4iPnhtbFhQYXRoUmV0dXJuQm9vbGVhbjwvYT4oY3R4dCwgdmFsKTsKKzwvcHJlPjxwPlB1c2hlcyB0aGUgYm9vbGVhbiBAdmFsIG9uIHRoZSBjb250ZXh0IHN0YWNrLjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhQYXRoIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgYm9vbGVhbjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhSZXR1cm5FbXB0eU5vZGVTZXQiPk1hY3JvIDwvYT54bWxYUGF0aFJldHVybkVtcHR5Tm9kZVNldDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI3htbFhQYXRoUmV0dXJuRW1wdHlOb2RlU2V0Ij54bWxYUGF0aFJldHVybkVtcHR5Tm9kZVNldDwvYT4oY3R4dCk7Cis8L3ByZT48cD5QdXNoZXMgYW4gZW1wdHkgbm9kZS1zZXQgb24gdGhlIGNvbnRleHQgc3RhY2suPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWFBhdGggcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoUmV0dXJuRW1wdHlTdHJpbmciPk1hY3JvIDwvYT54bWxYUGF0aFJldHVybkVtcHR5U3RyaW5nPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjeG1sWFBhdGhSZXR1cm5FbXB0eVN0cmluZyI+eG1sWFBhdGhSZXR1cm5FbXB0eVN0cmluZzwvYT4oY3R4dCk7Cis8L3ByZT48cD5QdXNoZXMgYW4gZW1wdHkgc3RyaW5nIG9uIHRoZSBzdGFjay48L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYUGF0aCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhSZXR1cm5FeHRlcm5hbCI+TWFjcm8gPC9hPnhtbFhQYXRoUmV0dXJuRXh0ZXJuYWw8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiN4bWxYUGF0aFJldHVybkV4dGVybmFsIj54bWxYUGF0aFJldHVybkV4dGVybmFsPC9hPihjdHh0LCB2YWwpOworPC9wcmU+PHA+UHVzaGVzIHVzZXIgZGF0YSBvbiB0aGUgY29udGV4dCBzdGFjay48L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYUGF0aCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD51c2VyIGRhdGE8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoUmV0dXJuRmFsc2UiPk1hY3JvIDwvYT54bWxYUGF0aFJldHVybkZhbHNlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjeG1sWFBhdGhSZXR1cm5GYWxzZSI+eG1sWFBhdGhSZXR1cm5GYWxzZTwvYT4oY3R4dCk7Cis8L3ByZT48cD5QdXNoZXMgZmFsc2Ugb24gdGhlIGNvbnRleHQgc3RhY2suPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWFBhdGggcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoUmV0dXJuTm9kZVNldCI+TWFjcm8gPC9hPnhtbFhQYXRoUmV0dXJuTm9kZVNldDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI3htbFhQYXRoUmV0dXJuTm9kZVNldCI+eG1sWFBhdGhSZXR1cm5Ob2RlU2V0PC9hPihjdHh0LCBucyk7Cis8L3ByZT48cD5QdXNoZXMgdGhlIG5vZGUtc2V0IEBucyBvbiB0aGUgY29udGV4dCBzdGFjay48L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYUGF0aCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbm9kZS1zZXQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoUmV0dXJuTnVtYmVyIj5NYWNybyA8L2E+eG1sWFBhdGhSZXR1cm5OdW1iZXI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiN4bWxYUGF0aFJldHVybk51bWJlciI+eG1sWFBhdGhSZXR1cm5OdW1iZXI8L2E+KGN0eHQsIHZhbCk7Cis8L3ByZT48cD5QdXNoZXMgdGhlIGRvdWJsZSBAdmFsIG9uIHRoZSBjb250ZXh0IHN0YWNrLjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhQYXRoIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgZG91YmxlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aFJldHVyblN0cmluZyI+TWFjcm8gPC9hPnhtbFhQYXRoUmV0dXJuU3RyaW5nPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjeG1sWFBhdGhSZXR1cm5TdHJpbmciPnhtbFhQYXRoUmV0dXJuU3RyaW5nPC9hPihjdHh0LCBzdHIpOworPC9wcmU+PHA+UHVzaGVzIHRoZSBzdHJpbmcgQHN0ciBvbiB0aGUgY29udGV4dCBzdGFjay48L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYUGF0aCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3RyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHN0cmluZzwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhSZXR1cm5UcnVlIj5NYWNybyA8L2E+eG1sWFBhdGhSZXR1cm5UcnVlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjeG1sWFBhdGhSZXR1cm5UcnVlIj54bWxYUGF0aFJldHVyblRydWU8L2E+KGN0eHQpOworPC9wcmU+PHA+UHVzaGVzIHRydWUgb24gdGhlIGNvbnRleHQgc3RhY2suPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWFBhdGggcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoU2V0QXJpdHlFcnJvciI+TWFjcm8gPC9hPnhtbFhQYXRoU2V0QXJpdHlFcnJvcjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI3htbFhQYXRoU2V0QXJpdHlFcnJvciI+eG1sWFBhdGhTZXRBcml0eUVycm9yPC9hPihjdHh0KTsKKzwvcHJlPjxwPlJhaXNlcyBhbiA8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjWFBBVEhfSU5WQUxJRF9BUklUWSI+WFBBVEhfSU5WQUxJRF9BUklUWTwvYT4gZXJyb3IuPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWFBhdGggcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoU2V0RXJyb3IiPk1hY3JvIDwvYT54bWxYUGF0aFNldEVycm9yPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjeG1sWFBhdGhTZXRFcnJvciI+eG1sWFBhdGhTZXRFcnJvcjwvYT4oY3R4dCwgZXJyKTsKKzwvcHJlPjxwPlJhaXNlcyBhbiBlcnJvci48L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYUGF0aCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZXJyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiA8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhFcnJvciI+eG1sWFBhdGhFcnJvcjwvYT4gY29kZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhTZXRUeXBlRXJyb3IiPk1hY3JvIDwvYT54bWxYUGF0aFNldFR5cGVFcnJvcjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI3htbFhQYXRoU2V0VHlwZUVycm9yIj54bWxYUGF0aFNldFR5cGVFcnJvcjwvYT4oY3R4dCk7Cis8L3ByZT48cD5SYWlzZXMgYW4gPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI1hQQVRIX0lOVkFMSURfVFlQRSI+WFBBVEhfSU5WQUxJRF9UWVBFPC9hPiBlcnJvci48L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYUGF0aCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhTdGFja0lzRXh0ZXJuYWwiPk1hY3JvIDwvYT54bWxYUGF0aFN0YWNrSXNFeHRlcm5hbDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI3htbFhQYXRoU3RhY2tJc0V4dGVybmFsIj54bWxYUGF0aFN0YWNrSXNFeHRlcm5hbDwvYT4oY3R4dCk7Cis8L3ByZT48cD5DaGVja3MgaWYgdGhlIGN1cnJlbnQgdmFsdWUgb24gdGhlIFhQYXRoIHN0YWNrIGlzIGFuIGV4dGVybmFsIG9iamVjdC4gUmV0dXJucyB0cnVlIGlmIHRoZSBjdXJyZW50IG9iamVjdCBvbiB0aGUgc3RhY2sgaXMgYW4gZXh0ZXJuYWwgb2JqZWN0LjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhQYXRoIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aFN0YWNrSXNOb2RlU2V0Ij5NYWNybyA8L2E+eG1sWFBhdGhTdGFja0lzTm9kZVNldDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI3htbFhQYXRoU3RhY2tJc05vZGVTZXQiPnhtbFhQYXRoU3RhY2tJc05vZGVTZXQ8L2E+KGN0eHQpOworPC9wcmU+PHA+Q2hlY2sgaWYgdGhlIGN1cnJlbnQgdmFsdWUgb24gdGhlIFhQYXRoIHN0YWNrIGlzIGEgbm9kZSBzZXQgb3IgYW4gWFNMVCB2YWx1ZSB0cmVlLiBSZXR1cm5zIHRydWUgaWYgdGhlIGN1cnJlbnQgb2JqZWN0IG9uIHRoZSBzdGFjayBpcyBhIG5vZGUtc2V0LjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhQYXRoIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ2YWx1ZVBvcCIvPnZhbHVlUG9wICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4JdmFsdWVQb3AJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCk8YnIvPgorPC9wcmU+PHA+UG9wcyB0aGUgdG9wIFhQYXRoIG9iamVjdCBmcm9tIHRoZSB2YWx1ZSBzdGFjazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWFBhdGggZXZhbHVhdGlvbiBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggb2JqZWN0IGp1c3QgcmVtb3ZlZDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InZhbHVlUHVzaCIvPnZhbHVlUHVzaCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl2YWx1ZVB1c2gJCQkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IHZhbHVlKTxici8+Cis8L3ByZT48cD5QdXNoZXMgYSBuZXcgWFBhdGggb2JqZWN0IG9uIHRvcCBvZiB0aGUgdmFsdWUgc3RhY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhQYXRoIGV2YWx1YXRpb24gY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsdWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYUGF0aCBvYmplY3Q8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgaXRlbXMgb24gdGhlIHZhbHVlIHN0YWNrPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhBZGRWYWx1ZXMiLz54bWxYUGF0aEFkZFZhbHVlcyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sWFBhdGhBZGRWYWx1ZXMJCSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQpPGJyLz4KKzwvcHJlPjxwPkltcGxlbWVudCB0aGUgYWRkIG9wZXJhdGlvbiBvbiBYUGF0aCBvYmplY3RzOiBUaGUgbnVtZXJpYyBvcGVyYXRvcnMgY29udmVydCB0aGVpciBvcGVyYW5kcyB0byBudW1iZXJzIGFzIGlmIGJ5IGNhbGxpbmcgdGhlIG51bWJlciBmdW5jdGlvbi48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYUGF0aCBQYXJzZXIgY29udGV4dDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoQm9vbGVhbkZ1bmN0aW9uIi8+eG1sWFBhdGhCb29sZWFuRnVuY3Rpb24gKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFhQYXRoQm9vbGVhbkZ1bmN0aW9uCQkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIGludCBuYXJncyk8YnIvPgorPC9wcmU+PHA+SW1wbGVtZW50IHRoZSBib29sZWFuKCkgWFBhdGggZnVuY3Rpb24gYm9vbGVhbiBib29sZWFuKG9iamVjdCkgVGhlIGJvb2xlYW4gZnVuY3Rpb24gY29udmVydHMgaXRzIGFyZ3VtZW50IHRvIGEgYm9vbGVhbiBhcyBmb2xsb3dzOiAtIGEgbnVtYmVyIGlzIHRydWUgaWYgYW5kIG9ubHkgaWYgaXQgaXMgbmVpdGhlciBwb3NpdGl2ZSBvciBuZWdhdGl2ZSB6ZXJvIG5vciBOYU4gLSBhIG5vZGUtc2V0IGlzIHRydWUgaWYgYW5kIG9ubHkgaWYgaXQgaXMgbm9uLWVtcHR5IC0gYSBzdHJpbmcgaXMgdHJ1ZSBpZiBhbmQgb25seSBpZiBpdHMgbGVuZ3RoIGlzIG5vbi16ZXJvPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggUGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hcmdzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGFyZ3VtZW50czwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoQ2VpbGluZ0Z1bmN0aW9uIi8+eG1sWFBhdGhDZWlsaW5nRnVuY3Rpb24gKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFhQYXRoQ2VpbGluZ0Z1bmN0aW9uCQkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIGludCBuYXJncyk8YnIvPgorPC9wcmU+PHA+SW1wbGVtZW50IHRoZSBjZWlsaW5nKCkgWFBhdGggZnVuY3Rpb24gbnVtYmVyIGNlaWxpbmcobnVtYmVyKSBUaGUgY2VpbGluZyBmdW5jdGlvbiByZXR1cm5zIHRoZSBzbWFsbGVzdCAoY2xvc2VzdCB0byBuZWdhdGl2ZSBpbmZpbml0eSkgbnVtYmVyIHRoYXQgaXMgbm90IGxlc3MgdGhhbiB0aGUgYXJndW1lbnQgYW5kIHRoYXQgaXMgYW4gaW50ZWdlci48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYUGF0aCBQYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFyZ3M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgYXJndW1lbnRzPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhDb21wYXJlVmFsdWVzIi8+eG1sWFBhdGhDb21wYXJlVmFsdWVzICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFhQYXRoQ29tcGFyZVZhbHVlcwkJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSBpbnQgaW5mLCA8YnIvPgkJCQkJIGludCBzdHJpY3QpPGJyLz4KKzwvcHJlPjxwPkltcGxlbWVudCB0aGUgY29tcGFyZSBvcGVyYXRpb24gb24gWFBhdGggb2JqZWN0czogQGFyZzEgJmx0OyBAYXJnMiAoMSwgMSwgLi4uIEBhcmcxICZsdDs9IEBhcmcyICgxLCAwLCAuLi4gQGFyZzEgJmd0OyBAYXJnMiAoMCwgMSwgLi4uIEBhcmcxICZndDs9IEBhcmcyICgwLCAwLCAuLi4gV2hlbiBuZWl0aGVyIG9iamVjdCB0byBiZSBjb21wYXJlZCBpcyBhIG5vZGUtc2V0IGFuZCB0aGUgb3BlcmF0b3IgaXMgJmx0Oz0sICZsdDssICZndDs9LCAmZ3Q7LCB0aGVuIHRoZSBvYmplY3RzIGFyZSBjb21wYXJlZCBieSBjb252ZXJ0ZWQgYm90aCBvYmplY3RzIHRvIG51bWJlcnMgYW5kIGNvbXBhcmluZyB0aGUgbnVtYmVycyBhY2NvcmRpbmcgdG8gSUVFRSA3NTQuIFRoZSAmbHQ7IGNvbXBhcmlzb24gd2lsbCBiZSB0cnVlIGlmIGFuZCBvbmx5IGlmIHRoZSBmaXJzdCBudW1iZXIgaXMgbGVzcyB0aGFuIHRoZSBzZWNvbmQgbnVtYmVyLiBUaGUgJmx0Oz0gY29tcGFyaXNvbiB3aWxsIGJlIHRydWUgaWYgYW5kIG9ubHkgaWYgdGhlIGZpcnN0IG51bWJlciBpcyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gdGhlIHNlY29uZCBudW1iZXIuIFRoZSAmZ3Q7IGNvbXBhcmlzb24gd2lsbCBiZSB0cnVlIGlmIGFuZCBvbmx5IGlmIHRoZSBmaXJzdCBudW1iZXIgaXMgZ3JlYXRlciB0aGFuIHRoZSBzZWNvbmQgbnVtYmVyLiBUaGUgJmd0Oz0gY29tcGFyaXNvbiB3aWxsIGJlIHRydWUgaWYgYW5kIG9ubHkgaWYgdGhlIGZpcnN0IG51bWJlciBpcyBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gdGhlIHNlY29uZCBudW1iZXIuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggUGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmluZjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+bGVzcyB0aGFuICgxKSBvciBncmVhdGVyIHRoYW4gKDApPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdHJpY3Q8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmlzIHRoZSBjb21wYXJpc29uIHN0cmljdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0aGUgY29tcGFyaXNvbiBzdWNjZWVkZWQsIDAgaWYgaXQgZmFpbGVkPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhDb25jYXRGdW5jdGlvbiIvPnhtbFhQYXRoQ29uY2F0RnVuY3Rpb24gKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFhQYXRoQ29uY2F0RnVuY3Rpb24JCSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgaW50IG5hcmdzKTxici8+Cis8L3ByZT48cD5JbXBsZW1lbnQgdGhlIGNvbmNhdCgpIFhQYXRoIGZ1bmN0aW9uIHN0cmluZyBjb25jYXQoc3RyaW5nLCBzdHJpbmcsIHN0cmluZyopIFRoZSBjb25jYXQgZnVuY3Rpb24gcmV0dXJucyB0aGUgY29uY2F0ZW5hdGlvbiBvZiBpdHMgYXJndW1lbnRzLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhQYXRoIFBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYXJnczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBhcmd1bWVudHM8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aENvbnRhaW5zRnVuY3Rpb24iLz54bWxYUGF0aENvbnRhaW5zRnVuY3Rpb24gKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFhQYXRoQ29udGFpbnNGdW5jdGlvbgkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIGludCBuYXJncyk8YnIvPgorPC9wcmU+PHA+SW1wbGVtZW50IHRoZSBjb250YWlucygpIFhQYXRoIGZ1bmN0aW9uIGJvb2xlYW4gY29udGFpbnMoc3RyaW5nLCBzdHJpbmcpIFRoZSBjb250YWlucyBmdW5jdGlvbiByZXR1cm5zIHRydWUgaWYgdGhlIGZpcnN0IGFyZ3VtZW50IHN0cmluZyBjb250YWlucyB0aGUgc2Vjb25kIGFyZ3VtZW50IHN0cmluZywgYW5kIG90aGVyd2lzZSByZXR1cm5zIGZhbHNlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhQYXRoIFBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYXJnczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBhcmd1bWVudHM8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aENvdW50RnVuY3Rpb24iLz54bWxYUGF0aENvdW50RnVuY3Rpb24gKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFhQYXRoQ291bnRGdW5jdGlvbgkJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSBpbnQgbmFyZ3MpPGJyLz4KKzwvcHJlPjxwPkltcGxlbWVudCB0aGUgY291bnQoKSBYUGF0aCBmdW5jdGlvbiBudW1iZXIgY291bnQobm9kZS1zZXQpPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggUGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hcmdzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGFyZ3VtZW50czwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoRGVidWdEdW1wQ29tcEV4cHIiLz54bWxYUGF0aERlYnVnRHVtcENvbXBFeHByICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxYUGF0aERlYnVnRHVtcENvbXBFeHByCShGSUxFICogb3V0cHV0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aENvbXBFeHByUHRyIj54bWxYUGF0aENvbXBFeHByUHRyPC9hPiBjb21wLCA8YnIvPgkJCQkJIGludCBkZXB0aCk8YnIvPgorPC9wcmU+PHA+RHVtcHMgdGhlIHRyZWUgb2YgdGhlIGNvbXBpbGVkIFhQYXRoIGV4cHJlc3Npb24uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vdXRwdXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBGSUxFICogZm9yIHRoZSBvdXRwdXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbXA8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwcmVjb21waWxlZCBYUGF0aCBleHByZXNzaW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kZXB0aDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGluZGVudGF0aW9uIGxldmVsLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoRGVidWdEdW1wT2JqZWN0Ii8+eG1sWFBhdGhEZWJ1Z0R1bXBPYmplY3QgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFhQYXRoRGVidWdEdW1wT2JqZWN0CQkoRklMRSAqIG91dHB1dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPiBjdXIsIDxici8+CQkJCQkgaW50IGRlcHRoKTxici8+Cis8L3ByZT48cD5EdW1wIHRoZSBjb250ZW50IG9mIHRoZSBvYmplY3QgZm9yIGRlYnVnZ2luZyBwdXJwb3NlczwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3V0cHV0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgRklMRSAqIHRvIGR1bXAgdGhlIG91dHB1dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgb2JqZWN0IHRvIGluc3BlY3Q8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRlcHRoPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5pbmRlbnRhdGlvbiBsZXZlbDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoRGlmZmVyZW5jZSIvPnhtbFhQYXRoRGlmZmVyZW5jZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPgl4bWxYUGF0aERpZmZlcmVuY2UJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBub2RlczEsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IG5vZGVzMik8YnIvPgorPC9wcmU+PHA+SW1wbGVtZW50cyB0aGUgRVhTTFQgLSBTZXRzIGRpZmZlcmVuY2UoKSBmdW5jdGlvbjogbm9kZS1zZXQgc2V0OmRpZmZlcmVuY2UgKG5vZGUtc2V0LCBub2RlLXNldCk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGVzMTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBub2RlLXNldDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZXMyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIG5vZGUtc2V0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSB0d28gbm9kZSBzZXRzLCBvciBub2RlczEgaWYgbm9kZXMyIGlzIGVtcHR5PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhEaXN0aW5jdCIvPnhtbFhQYXRoRGlzdGluY3QgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4JeG1sWFBhdGhEaXN0aW5jdAkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IG5vZGVzKTxici8+Cis8L3ByZT48cD5JbXBsZW1lbnRzIHRoZSBFWFNMVCAtIFNldHMgZGlzdGluY3QoKSBmdW5jdGlvbjogbm9kZS1zZXQgc2V0OmRpc3RpbmN0IChub2RlLXNldCkgQG5vZGVzIGlzIHNvcnRlZCBieSBkb2N1bWVudCBvcmRlciwgdGhlbiAjZXhzbFNldHNEaXN0aW5jdFNvcnRlZCBpcyBjYWxsZWQgd2l0aCB0aGUgc29ydGVkIG5vZGUtc2V0PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBub2RlLXNldDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBzdWJzZXQgb2YgdGhlIG5vZGVzIGNvbnRhaW5lZCBpbiBAbm9kZXMsIG9yIEBub2RlcyBpZiBpdCBpcyBlbXB0eTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoRGlzdGluY3RTb3J0ZWQiLz54bWxYUGF0aERpc3RpbmN0U29ydGVkICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+CXhtbFhQYXRoRGlzdGluY3RTb3J0ZWQJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBub2Rlcyk8YnIvPgorPC9wcmU+PHA+SW1wbGVtZW50cyB0aGUgRVhTTFQgLSBTZXRzIGRpc3RpbmN0KCkgZnVuY3Rpb246IG5vZGUtc2V0IHNldDpkaXN0aW5jdCAobm9kZS1zZXQpPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBub2RlLXNldCwgc29ydGVkIGJ5IGRvY3VtZW50IG9yZGVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHN1YnNldCBvZiB0aGUgbm9kZXMgY29udGFpbmVkIGluIEBub2Rlcywgb3IgQG5vZGVzIGlmIGl0IGlzIGVtcHR5PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhEaXZWYWx1ZXMiLz54bWxYUGF0aERpdlZhbHVlcyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sWFBhdGhEaXZWYWx1ZXMJCSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQpPGJyLz4KKzwvcHJlPjxwPkltcGxlbWVudCB0aGUgZGl2IG9wZXJhdGlvbiBvbiBYUGF0aCBvYmplY3RzIEBhcmcxIC8gQGFyZzI6IFRoZSBudW1lcmljIG9wZXJhdG9ycyBjb252ZXJ0IHRoZWlyIG9wZXJhbmRzIHRvIG51bWJlcnMgYXMgaWYgYnkgY2FsbGluZyB0aGUgbnVtYmVyIGZ1bmN0aW9uLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhQYXRoIFBhcnNlciBjb250ZXh0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhFcXVhbFZhbHVlcyIvPnhtbFhQYXRoRXF1YWxWYWx1ZXMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sWFBhdGhFcXVhbFZhbHVlcwkJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCk8YnIvPgorPC9wcmU+PHA+SW1wbGVtZW50IHRoZSBlcXVhbCBvcGVyYXRpb24gb24gWFBhdGggb2JqZWN0cyBjb250ZW50OiBAYXJnMSA9PSBAYXJnMjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhQYXRoIFBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIG9yIDEgZGVwZW5kaW5nIG9uIHRoZSByZXN1bHRzIG9mIHRoZSB0ZXN0LjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoRXJyIi8+eG1sWFBhdGhFcnIgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFhQYXRoRXJyCQkJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSBpbnQgZXJyb3IpPGJyLz4KKzwvcHJlPjxwPkhhbmRsZSBhbiBYUGF0aCBlcnJvcjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBYUGF0aCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZXJyb3I8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlcnJvciBjb2RlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhFdmFsRXhwciIvPnhtbFhQYXRoRXZhbEV4cHIgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFhQYXRoRXZhbEV4cHIJCSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQpPGJyLz4KKzwvcHJlPjxwPlBhcnNlIGFuZCBldmFsdWF0ZSBhbiBYUGF0aCBleHByZXNzaW9uIGluIHRoZSBnaXZlbiBjb250ZXh0LCB0aGVuIHB1c2ggdGhlIHJlc3VsdCBvbiB0aGUgY29udGV4dCBzdGFjazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhQYXRoIFBhcnNlciBjb250ZXh0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhFdmFsdWF0ZVByZWRpY2F0ZVJlc3VsdCIvPnhtbFhQYXRoRXZhbHVhdGVQcmVkaWNhdGVSZXN1bHQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sWFBhdGhFdmFsdWF0ZVByZWRpY2F0ZVJlc3VsdAkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IHJlcyk8YnIvPgorPC9wcmU+PHA+RXZhbHVhdGUgYSBwcmVkaWNhdGUgcmVzdWx0IGZvciB0aGUgY3VycmVudCBub2RlLiBBIFByZWRpY2F0ZUV4cHIgaXMgZXZhbHVhdGVkIGJ5IGV2YWx1YXRpbmcgdGhlIEV4cHIgYW5kIGNvbnZlcnRpbmcgdGhlIHJlc3VsdCB0byBhIGJvb2xlYW4uIElmIHRoZSByZXN1bHQgaXMgYSBudW1iZXIsIHRoZSByZXN1bHQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gdHJ1ZSBpZiB0aGUgbnVtYmVyIGlzIGVxdWFsIHRvIHRoZSBwb3NpdGlvbiBvZiB0aGUgY29udGV4dCBub2RlIGluIHRoZSBjb250ZXh0IG5vZGUgbGlzdCAoYXMgcmV0dXJuZWQgYnkgdGhlIHBvc2l0aW9uIGZ1bmN0aW9uKSBhbmQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gZmFsc2Ugb3RoZXJ3aXNlOyBpZiB0aGUgcmVzdWx0IGlzIG5vdCBhIG51bWJlciwgdGhlbiB0aGUgcmVzdWx0IHdpbGwgYmUgY29udmVydGVkIGFzIGlmIGJ5IGEgY2FsbCB0byB0aGUgYm9vbGVhbiBmdW5jdGlvbi48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYUGF0aCBQYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgUHJlZGljYXRlIEV4cHJlc3Npb24gZXZhbHVhdGlvbiByZXN1bHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgcHJlZGljYXRlIGlzIHRydWUsIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhGYWxzZUZ1bmN0aW9uIi8+eG1sWFBhdGhGYWxzZUZ1bmN0aW9uICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxYUGF0aEZhbHNlRnVuY3Rpb24JCSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgaW50IG5hcmdzKTxici8+Cis8L3ByZT48cD5JbXBsZW1lbnQgdGhlIGZhbHNlKCkgWFBhdGggZnVuY3Rpb24gYm9vbGVhbiBmYWxzZSgpPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggUGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hcmdzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGFyZ3VtZW50czwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoRmxvb3JGdW5jdGlvbiIvPnhtbFhQYXRoRmxvb3JGdW5jdGlvbiAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sWFBhdGhGbG9vckZ1bmN0aW9uCQkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIGludCBuYXJncyk8YnIvPgorPC9wcmU+PHA+SW1wbGVtZW50IHRoZSBmbG9vcigpIFhQYXRoIGZ1bmN0aW9uIG51bWJlciBmbG9vcihudW1iZXIpIFRoZSBmbG9vciBmdW5jdGlvbiByZXR1cm5zIHRoZSBsYXJnZXN0IChjbG9zZXN0IHRvIHBvc2l0aXZlIGluZmluaXR5KSBudW1iZXIgdGhhdCBpcyBub3QgZ3JlYXRlciB0aGFuIHRoZSBhcmd1bWVudCBhbmQgdGhhdCBpcyBhbiBpbnRlZ2VyLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhQYXRoIFBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYXJnczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBhcmd1bWVudHM8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aEZyZWVQYXJzZXJDb250ZXh0Ii8+eG1sWFBhdGhGcmVlUGFyc2VyQ29udGV4dCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sWFBhdGhGcmVlUGFyc2VyQ29udGV4dAkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0KTxici8+Cis8L3ByZT48cD5GcmVlIHVwIGFuIDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHQiPnhtbFhQYXRoUGFyc2VyQ29udGV4dDwvYT48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjb250ZXh0IHRvIGZyZWU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aEZ1bmN0aW9uTG9va3VwIi8+eG1sWFBhdGhGdW5jdGlvbkxvb2t1cCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aEZ1bmN0aW9uIj54bWxYUGF0aEZ1bmN0aW9uPC9hPgl4bWxYUGF0aEZ1bmN0aW9uTG9va3VwCSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0UHRyIj54bWxYUGF0aENvbnRleHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKTxici8+Cis8L3ByZT48cD5TZWFyY2ggaW4gdGhlIEZ1bmN0aW9uIGFycmF5IG9mIHRoZSBjb250ZXh0IGZvciB0aGUgZ2l2ZW4gZnVuY3Rpb24uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZ1bmN0aW9uIG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhGdW5jdGlvbiI+eG1sWFBhdGhGdW5jdGlvbjwvYT4gb3IgTlVMTCBpZiBub3QgZm91bmQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aEZ1bmN0aW9uTG9va3VwTlMiLz54bWxYUGF0aEZ1bmN0aW9uTG9va3VwTlMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhGdW5jdGlvbiI+eG1sWFBhdGhGdW5jdGlvbjwvYT4JeG1sWFBhdGhGdW5jdGlvbkxvb2t1cE5TCSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0UHRyIj54bWxYUGF0aENvbnRleHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuc191cmkpPGJyLz4KKzwvcHJlPjxwPlNlYXJjaCBpbiB0aGUgRnVuY3Rpb24gYXJyYXkgb2YgdGhlIGNvbnRleHQgZm9yIHRoZSBnaXZlbiBmdW5jdGlvbi48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYUGF0aCBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZnVuY3Rpb24gbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bnNfdXJpPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZnVuY3Rpb24gbmFtZXNwYWNlIFVSSTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aEZ1bmN0aW9uIj54bWxYUGF0aEZ1bmN0aW9uPC9hPiBvciBOVUxMIGlmIG5vdCBmb3VuZDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoSGFzU2FtZU5vZGVzIi8+eG1sWFBhdGhIYXNTYW1lTm9kZXMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sWFBhdGhIYXNTYW1lTm9kZXMJCSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gbm9kZXMxLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBub2RlczIpPGJyLz4KKzwvcHJlPjxwPkltcGxlbWVudHMgdGhlIEVYU0xUIC0gU2V0cyBoYXMtc2FtZS1ub2RlcyBmdW5jdGlvbjogYm9vbGVhbiBzZXQ6aGFzLXNhbWUtbm9kZShub2RlLXNldCwgbm9kZS1zZXQpPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlczE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbm9kZS1zZXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGVzMjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBub2RlLXNldDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dHJ1ZSAoMSkgaWYgQG5vZGVzMSBzaGFyZXMgYW55IG5vZGUgd2l0aCBAbm9kZXMyLCBmYWxzZSAoMCkgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhJZEZ1bmN0aW9uIi8+eG1sWFBhdGhJZEZ1bmN0aW9uICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxYUGF0aElkRnVuY3Rpb24JCSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgaW50IG5hcmdzKTxici8+Cis8L3ByZT48cD5JbXBsZW1lbnQgdGhlIGlkKCkgWFBhdGggZnVuY3Rpb24gbm9kZS1zZXQgaWQob2JqZWN0KSBUaGUgaWQgZnVuY3Rpb24gc2VsZWN0cyBlbGVtZW50cyBieSB0aGVpciB1bmlxdWUgSUQgKHNlZSBbNS4yLjEgVW5pcXVlIElEc10pLiBXaGVuIHRoZSBhcmd1bWVudCB0byBpZCBpcyBvZiB0eXBlIG5vZGUtc2V0LCB0aGVuIHRoZSByZXN1bHQgaXMgdGhlIHVuaW9uIG9mIHRoZSByZXN1bHQgb2YgYXBwbHlpbmcgaWQgdG8gdGhlIHN0cmluZyB2YWx1ZSBvZiBlYWNoIG9mIHRoZSBub2RlcyBpbiB0aGUgYXJndW1lbnQgbm9kZS1zZXQuIFdoZW4gdGhlIGFyZ3VtZW50IHRvIGlkIGlzIG9mIGFueSBvdGhlciB0eXBlLCB0aGUgYXJndW1lbnQgaXMgY29udmVydGVkIHRvIGEgc3RyaW5nIGFzIGlmIGJ5IGEgY2FsbCB0byB0aGUgc3RyaW5nIGZ1bmN0aW9uOyB0aGUgc3RyaW5nIGlzIHNwbGl0IGludG8gYSB3aGl0ZXNwYWNlLXNlcGFyYXRlZCBsaXN0IG9mIHRva2VucyAod2hpdGVzcGFjZSBpcyBhbnkgc2VxdWVuY2Ugb2YgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNjaGFyYWN0ZXJzIj5jaGFyYWN0ZXJzPC9hPiBtYXRjaGluZyB0aGUgcHJvZHVjdGlvbiBTKTsgdGhlIHJlc3VsdCBpcyBhIG5vZGUtc2V0IGNvbnRhaW5pbmcgdGhlIGVsZW1lbnRzIGluIHRoZSBzYW1lIGRvY3VtZW50IGFzIHRoZSBjb250ZXh0IG5vZGUgdGhhdCBoYXZlIGEgdW5pcXVlIElEIGVxdWFsIHRvIGFueSBvZiB0aGUgdG9rZW5zIGluIHRoZSBsaXN0LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhQYXRoIFBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYXJnczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBhcmd1bWVudHM8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aEludGVyc2VjdGlvbiIvPnhtbFhQYXRoSW50ZXJzZWN0aW9uICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+CXhtbFhQYXRoSW50ZXJzZWN0aW9uCSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gbm9kZXMxLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBub2RlczIpPGJyLz4KKzwvcHJlPjxwPkltcGxlbWVudHMgdGhlIEVYU0xUIC0gU2V0cyBpbnRlcnNlY3Rpb24oKSBmdW5jdGlvbjogbm9kZS1zZXQgc2V0OmludGVyc2VjdGlvbiAobm9kZS1zZXQsIG5vZGUtc2V0KTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZXMxPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIG5vZGUtc2V0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlczI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbm9kZS1zZXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbm9kZSBzZXQgY29tcHJpc2luZyB0aGUgbm9kZXMgdGhhdCBhcmUgd2l0aGluIGJvdGggdGhlIG5vZGUgc2V0cyBwYXNzZWQgYXMgYXJndW1lbnRzPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhJc05vZGVUeXBlIi8+eG1sWFBhdGhJc05vZGVUeXBlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFhQYXRoSXNOb2RlVHlwZQkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKTxici8+Cis8L3ByZT48cD5JcyB0aGUgbmFtZSBnaXZlbiBhIE5vZGVUeXBlIG9uZS4gWzM4XSBOb2RlVHlwZSA6Oj0gJ2NvbW1lbnQnIHwgJ3RleHQnIHwgJ3Byb2Nlc3NpbmctaW5zdHJ1Y3Rpb24nIHwgJ25vZGUnPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIG5hbWUgc3RyaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aExhbmdGdW5jdGlvbiIvPnhtbFhQYXRoTGFuZ0Z1bmN0aW9uICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxYUGF0aExhbmdGdW5jdGlvbgkJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSBpbnQgbmFyZ3MpPGJyLz4KKzwvcHJlPjxwPkltcGxlbWVudCB0aGUgbGFuZygpIFhQYXRoIGZ1bmN0aW9uIGJvb2xlYW4gbGFuZyhzdHJpbmcpIFRoZSBsYW5nIGZ1bmN0aW9uIHJldHVybnMgdHJ1ZSBvciBmYWxzZSBkZXBlbmRpbmcgb24gd2hldGhlciB0aGUgbGFuZ3VhZ2Ugb2YgdGhlIGNvbnRleHQgbm9kZSBhcyBzcGVjaWZpZWQgYnkgeG1sOmxhbmcgYXR0cmlidXRlcyBpcyB0aGUgc2FtZSBhcyBvciBpcyBhIHN1Ymxhbmd1YWdlIG9mIHRoZSBsYW5ndWFnZSBzcGVjaWZpZWQgYnkgdGhlIGFyZ3VtZW50IHN0cmluZy4gVGhlIGxhbmd1YWdlIG9mIHRoZSBjb250ZXh0IG5vZGUgaXMgZGV0ZXJtaW5lZCBieSB0aGUgdmFsdWUgb2YgdGhlIHhtbDpsYW5nIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IG9uIHRoZSBjb250ZXh0IG5vZGUsIG9yLCBpZiB0aGUgY29udGV4dCBub2RlIGhhcyBubyB4bWw6bGFuZyBhdHRyaWJ1dGUsIGJ5IHRoZSB2YWx1ZSBvZiB0aGUgeG1sOmxhbmcgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gb24gdGhlIG5lYXJlc3QgYW5jZXN0b3Igb2YgdGhlIGNvbnRleHQgbm9kZSB0aGF0IGhhcyBhbiB4bWw6bGFuZyBhdHRyaWJ1dGUuIElmIHRoZXJlIGlzIG5vIHN1Y2ggYXR0cmlidXRlLCB0aGVuIGxhbmc8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYUGF0aCBQYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFyZ3M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgYXJndW1lbnRzPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhMYXN0RnVuY3Rpb24iLz54bWxYUGF0aExhc3RGdW5jdGlvbiAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sWFBhdGhMYXN0RnVuY3Rpb24JCSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgaW50IG5hcmdzKTxici8+Cis8L3ByZT48cD5JbXBsZW1lbnQgdGhlIGxhc3QoKSBYUGF0aCBmdW5jdGlvbiBudW1iZXIgbGFzdCgpIFRoZSBsYXN0IGZ1bmN0aW9uIHJldHVybnMgdGhlIG51bWJlciBvZiBub2RlcyBpbiB0aGUgY29udGV4dCBub2RlIGxpc3QuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggUGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hcmdzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGFyZ3VtZW50czwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoTGVhZGluZyIvPnhtbFhQYXRoTGVhZGluZyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPgl4bWxYUGF0aExlYWRpbmcJCSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gbm9kZXMxLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBub2RlczIpPGJyLz4KKzwvcHJlPjxwPkltcGxlbWVudHMgdGhlIEVYU0xUIC0gU2V0cyBsZWFkaW5nKCkgZnVuY3Rpb246IG5vZGUtc2V0IHNldDpsZWFkaW5nIChub2RlLXNldCwgbm9kZS1zZXQpIEBub2RlczEgYW5kIEBub2RlczIgYXJlIHNvcnRlZCBieSBkb2N1bWVudCBvcmRlciwgdGhlbiAjZXhzbFNldHNMZWFkaW5nU29ydGVkIGlzIGNhbGxlZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGVzMTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBub2RlLXNldDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZXMyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIG5vZGUtc2V0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbm9kZXMgaW4gQG5vZGVzMSB0aGF0IHByZWNlZGUgdGhlIGZpcnN0IG5vZGUgaW4gQG5vZGVzMiBpbiBkb2N1bWVudCBvcmRlciwgQG5vZGVzMSBpZiBAbm9kZXMyIGlzIE5VTEwgb3IgZW1wdHkgb3IgYW4gZW1wdHkgbm9kZS1zZXQgaWYgQG5vZGVzMSBkb2Vzbid0IGNvbnRhaW4gQG5vZGVzMjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoTGVhZGluZ1NvcnRlZCIvPnhtbFhQYXRoTGVhZGluZ1NvcnRlZCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPgl4bWxYUGF0aExlYWRpbmdTb3J0ZWQJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBub2RlczEsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IG5vZGVzMik8YnIvPgorPC9wcmU+PHA+SW1wbGVtZW50cyB0aGUgRVhTTFQgLSBTZXRzIGxlYWRpbmcoKSBmdW5jdGlvbjogbm9kZS1zZXQgc2V0OmxlYWRpbmcgKG5vZGUtc2V0LCBub2RlLXNldCk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGVzMTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBub2RlLXNldCwgc29ydGVkIGJ5IGRvY3VtZW50IG9yZGVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlczI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbm9kZS1zZXQsIHNvcnRlZCBieSBkb2N1bWVudCBvcmRlcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vZGVzIGluIEBub2RlczEgdGhhdCBwcmVjZWRlIHRoZSBmaXJzdCBub2RlIGluIEBub2RlczIgaW4gZG9jdW1lbnQgb3JkZXIsIEBub2RlczEgaWYgQG5vZGVzMiBpcyBOVUxMIG9yIGVtcHR5IG9yIGFuIGVtcHR5IG5vZGUtc2V0IGlmIEBub2RlczEgZG9lc24ndCBjb250YWluIEBub2RlczI8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aExvY2FsTmFtZUZ1bmN0aW9uIi8+eG1sWFBhdGhMb2NhbE5hbWVGdW5jdGlvbiAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sWFBhdGhMb2NhbE5hbWVGdW5jdGlvbgkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIGludCBuYXJncyk8YnIvPgorPC9wcmU+PHA+SW1wbGVtZW50IHRoZSBsb2NhbC1uYW1lKCkgWFBhdGggZnVuY3Rpb24gc3RyaW5nIGxvY2FsLW5hbWUobm9kZS1zZXQ/KSBUaGUgbG9jYWwtbmFtZSBmdW5jdGlvbiByZXR1cm5zIGEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIGxvY2FsIHBhcnQgb2YgdGhlIG5hbWUgb2YgdGhlIG5vZGUgaW4gdGhlIGFyZ3VtZW50IG5vZGUtc2V0IHRoYXQgaXMgZmlyc3QgaW4gZG9jdW1lbnQgb3JkZXIuIElmIHRoZSBub2RlLXNldCBpcyBlbXB0eSBvciB0aGUgZmlyc3Qgbm9kZSBoYXMgbm8gbmFtZSwgYW4gZW1wdHkgc3RyaW5nIGlzIHJldHVybmVkLiBJZiB0aGUgYXJndW1lbnQgaXMgb21pdHRlZCBpdCBkZWZhdWx0cyB0byB0aGUgY29udGV4dCBub2RlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhQYXRoIFBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYXJnczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBhcmd1bWVudHM8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aE1vZFZhbHVlcyIvPnhtbFhQYXRoTW9kVmFsdWVzICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxYUGF0aE1vZFZhbHVlcwkJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCk8YnIvPgorPC9wcmU+PHA+SW1wbGVtZW50IHRoZSBtb2Qgb3BlcmF0aW9uIG9uIFhQYXRoIG9iamVjdHM6IEBhcmcxIC8gQGFyZzIgVGhlIG51bWVyaWMgb3BlcmF0b3JzIGNvbnZlcnQgdGhlaXIgb3BlcmFuZHMgdG8gbnVtYmVycyBhcyBpZiBieSBjYWxsaW5nIHRoZSBudW1iZXIgZnVuY3Rpb24uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggUGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aE11bHRWYWx1ZXMiLz54bWxYUGF0aE11bHRWYWx1ZXMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFhQYXRoTXVsdFZhbHVlcwkJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCk8YnIvPgorPC9wcmU+PHA+SW1wbGVtZW50IHRoZSBtdWx0aXBseSBvcGVyYXRpb24gb24gWFBhdGggb2JqZWN0czogVGhlIG51bWVyaWMgb3BlcmF0b3JzIGNvbnZlcnQgdGhlaXIgb3BlcmFuZHMgdG8gbnVtYmVycyBhcyBpZiBieSBjYWxsaW5nIHRoZSBudW1iZXIgZnVuY3Rpb24uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggUGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aE5hbWVzcGFjZVVSSUZ1bmN0aW9uIi8+eG1sWFBhdGhOYW1lc3BhY2VVUklGdW5jdGlvbiAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sWFBhdGhOYW1lc3BhY2VVUklGdW5jdGlvbgkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIGludCBuYXJncyk8YnIvPgorPC9wcmU+PHA+SW1wbGVtZW50IHRoZSBuYW1lc3BhY2UtdXJpKCkgWFBhdGggZnVuY3Rpb24gc3RyaW5nIG5hbWVzcGFjZS11cmkobm9kZS1zZXQ/KSBUaGUgbmFtZXNwYWNlLXVyaSBmdW5jdGlvbiByZXR1cm5zIGEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG5hbWVzcGFjZSBVUkkgb2YgdGhlIGV4cGFuZGVkIG5hbWUgb2YgdGhlIG5vZGUgaW4gdGhlIGFyZ3VtZW50IG5vZGUtc2V0IHRoYXQgaXMgZmlyc3QgaW4gZG9jdW1lbnQgb3JkZXIuIElmIHRoZSBub2RlLXNldCBpcyBlbXB0eSwgdGhlIGZpcnN0IG5vZGUgaGFzIG5vIG5hbWUsIG9yIHRoZSBleHBhbmRlZCBuYW1lIGhhcyBubyBuYW1lc3BhY2UgVVJJLCBhbiBlbXB0eSBzdHJpbmcgaXMgcmV0dXJuZWQuIElmIHRoZSBhcmd1bWVudCBpcyBvbWl0dGVkIGl0IGRlZmF1bHRzIHRvIHRoZSBjb250ZXh0IG5vZGUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggUGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hcmdzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGFyZ3VtZW50czwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoTmV3Qm9vbGVhbiIvPnhtbFhQYXRoTmV3Qm9vbGVhbiAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+CXhtbFhQYXRoTmV3Qm9vbGVhbgkoaW50IHZhbCk8YnIvPgorPC9wcmU+PHA+Q3JlYXRlIGEgbmV3IDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IG9mIHR5cGUgYm9vbGVhbiBhbmQgb2YgdmFsdWUgQHZhbDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYm9vbGVhbiB2YWx1ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ld2x5IGNyZWF0ZWQgb2JqZWN0LjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoTmV3Q1N0cmluZyIvPnhtbFhQYXRoTmV3Q1N0cmluZyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+CXhtbFhQYXRoTmV3Q1N0cmluZwkoY29uc3QgY2hhciAqIHZhbCk8YnIvPgorPC9wcmU+PHA+Q3JlYXRlIGEgbmV3IDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IG9mIHR5cGUgc3RyaW5nIGFuZCBvZiB2YWx1ZSBAdmFsPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjaGFyICogdmFsdWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXdseSBjcmVhdGVkIG9iamVjdC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aE5ld0Zsb2F0Ii8+eG1sWFBhdGhOZXdGbG9hdCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+CXhtbFhQYXRoTmV3RmxvYXQJKGRvdWJsZSB2YWwpPGJyLz4KKzwvcHJlPjxwPkNyZWF0ZSBhIG5ldyA8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPiBvZiB0eXBlIGRvdWJsZSBhbmQgb2YgdmFsdWUgQHZhbDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG91YmxlIHZhbHVlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhOZXdOb2RlU2V0Ii8+eG1sWFBhdGhOZXdOb2RlU2V0ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4JeG1sWFBhdGhOZXdOb2RlU2V0CSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiB2YWwpPGJyLz4KKzwvcHJlPjxwPkNyZWF0ZSBhIG5ldyA8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPiBvZiB0eXBlIE5vZGVTZXQgYW5kIGluaXRpYWxpemUgaXQgd2l0aCB0aGUgc2luZ2xlIE5vZGUgQHZhbDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgTm9kZVB0ciB2YWx1ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ld2x5IGNyZWF0ZWQgb2JqZWN0LjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoTmV3Tm9kZVNldExpc3QiLz54bWxYUGF0aE5ld05vZGVTZXRMaXN0ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4JeG1sWFBhdGhOZXdOb2RlU2V0TGlzdAkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IHZhbCk8YnIvPgorPC9wcmU+PHA+Q3JlYXRlIGEgbmV3IDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IG9mIHR5cGUgTm9kZVNldCBhbmQgaW5pdGlhbGl6ZSBpdCB3aXRoIHRoZSBOb2Rlc2V0IEB2YWw8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gZXhpc3RpbmcgTm9kZVNldDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ld2x5IGNyZWF0ZWQgb2JqZWN0LjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoTmV3UGFyc2VyQ29udGV4dCIvPnhtbFhQYXRoTmV3UGFyc2VyQ29udGV4dCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4JeG1sWFBhdGhOZXdQYXJzZXJDb250ZXh0CShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3RyLCA8YnIvPgkJCQkJCQkgPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFB0ciI+eG1sWFBhdGhDb250ZXh0UHRyPC9hPiBjdHh0KTxici8+Cis8L3ByZT48cD5DcmVhdGUgYSBuZXcgPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dCI+eG1sWFBhdGhQYXJzZXJDb250ZXh0PC9hPjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3RyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggZXhwcmVzc2lvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhQYXRoIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0Ij54bWxYUGF0aFBhcnNlckNvbnRleHQ8L2E+IGp1c3QgYWxsb2NhdGVkLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoTmV3U3RyaW5nIi8+eG1sWFBhdGhOZXdTdHJpbmcgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPgl4bWxYUGF0aE5ld1N0cmluZwkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHZhbCk8YnIvPgorPC9wcmU+PHA+Q3JlYXRlIGEgbmV3IDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IG9mIHR5cGUgc3RyaW5nIGFuZCBvZiB2YWx1ZSBAdmFsPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXdseSBjcmVhdGVkIG9iamVjdC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aE5ld1ZhbHVlVHJlZSIvPnhtbFhQYXRoTmV3VmFsdWVUcmVlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4JeG1sWFBhdGhOZXdWYWx1ZVRyZWUJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IHZhbCk8YnIvPgorPC9wcmU+PHA+Q3JlYXRlIGEgbmV3IDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IG9mIHR5cGUgVmFsdWUgVHJlZSAoWFNMVCkgYW5kIGluaXRpYWxpemUgaXQgd2l0aCB0aGUgdHJlZSByb290IEB2YWw8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIE5vZGVQdHIgdmFsdWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXdseSBjcmVhdGVkIG9iamVjdC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aE5leHRBbmNlc3RvciIvPnhtbFhQYXRoTmV4dEFuY2VzdG9yICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JeG1sWFBhdGhOZXh0QW5jZXN0b3IJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIpPGJyLz4KKzwvcHJlPjxwPlRyYXZlcnNhbCBmdW5jdGlvbiBmb3IgdGhlICJhbmNlc3RvciIgZGlyZWN0aW9uIHRoZSBhbmNlc3RvciBheGlzIGNvbnRhaW5zIHRoZSBhbmNlc3RvcnMgb2YgdGhlIGNvbnRleHQgbm9kZTsgdGhlIGFuY2VzdG9ycyBvZiB0aGUgY29udGV4dCBub2RlIGNvbnNpc3Qgb2YgdGhlIHBhcmVudCBvZiBjb250ZXh0IG5vZGUgYW5kIHRoZSBwYXJlbnQncyBwYXJlbnQgYW5kIHNvIG9uOyB0aGUgbm9kZXMgYXJlIG9yZGVyZWQgaW4gcmV2ZXJzZSBkb2N1bWVudCBvcmRlcjsgdGh1cyB0aGUgcGFyZW50IGlzIHRoZSBmaXJzdCBub2RlIG9uIHRoZSBheGlzLCBhbmQgdGhlIHBhcmVudCdzIHBhcmVudCBpcyB0aGUgc2Vjb25kIG5vZGUgb24gdGhlIGF4aXM8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYUGF0aCBQYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY3VycmVudCBub2RlIGluIHRoZSB0cmF2ZXJzYWw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXh0IGVsZW1lbnQgZm9sbG93aW5nIHRoYXQgYXhpczwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoTmV4dEFuY2VzdG9yT3JTZWxmIi8+eG1sWFBhdGhOZXh0QW5jZXN0b3JPclNlbGYgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgl4bWxYUGF0aE5leHRBbmNlc3Rvck9yU2VsZgkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIpPGJyLz4KKzwvcHJlPjxwPlRyYXZlcnNhbCBmdW5jdGlvbiBmb3IgdGhlICJhbmNlc3Rvci1vci1zZWxmIiBkaXJlY3Rpb24gaGUgYW5jZXN0b3Itb3Itc2VsZiBheGlzIGNvbnRhaW5zIHRoZSBjb250ZXh0IG5vZGUgYW5kIGFuY2VzdG9ycyBvZiB0aGUgY29udGV4dCBub2RlIGluIHJldmVyc2UgZG9jdW1lbnQgb3JkZXI7IHRodXMgdGhlIGNvbnRleHQgbm9kZSBpcyB0aGUgZmlyc3Qgbm9kZSBvbiB0aGUgYXhpcywgYW5kIHRoZSBjb250ZXh0IG5vZGUncyBwYXJlbnQgdGhlIHNlY29uZDsgcGFyZW50IGhlcmUgaXMgZGVmaW5lZCB0aGUgc2FtZSBhcyB3aXRoIHRoZSBwYXJlbnQgYXhpcy48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYUGF0aCBQYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY3VycmVudCBub2RlIGluIHRoZSB0cmF2ZXJzYWw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXh0IGVsZW1lbnQgZm9sbG93aW5nIHRoYXQgYXhpczwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoTmV4dEF0dHJpYnV0ZSIvPnhtbFhQYXRoTmV4dEF0dHJpYnV0ZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CXhtbFhQYXRoTmV4dEF0dHJpYnV0ZQkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGN1cik8YnIvPgorPC9wcmU+PHA+VHJhdmVyc2FsIGZ1bmN0aW9uIGZvciB0aGUgImF0dHJpYnV0ZSIgZGlyZWN0aW9uIFRPRE86IHN1cHBvcnQgRFREIGluaGVyaXRlZCBkZWZhdWx0IGF0dHJpYnV0ZXM8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYUGF0aCBQYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY3VycmVudCA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBpbiB0aGUgdHJhdmVyc2FsPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV4dCBlbGVtZW50IGZvbGxvd2luZyB0aGF0IGF4aXM8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aE5leHRDaGlsZCIvPnhtbFhQYXRoTmV4dENoaWxkICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JeG1sWFBhdGhOZXh0Q2hpbGQJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIpPGJyLz4KKzwvcHJlPjxwPlRyYXZlcnNhbCBmdW5jdGlvbiBmb3IgdGhlICJjaGlsZCIgZGlyZWN0aW9uIFRoZSBjaGlsZCBheGlzIGNvbnRhaW5zIHRoZSBjaGlsZHJlbiBvZiB0aGUgY29udGV4dCBub2RlIGluIGRvY3VtZW50IG9yZGVyLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhQYXRoIFBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjdXJyZW50IG5vZGUgaW4gdGhlIHRyYXZlcnNhbDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5leHQgZWxlbWVudCBmb2xsb3dpbmcgdGhhdCBheGlzPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhOZXh0RGVzY2VuZGFudCIvPnhtbFhQYXRoTmV4dERlc2NlbmRhbnQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgl4bWxYUGF0aE5leHREZXNjZW5kYW50CSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gY3VyKTxici8+Cis8L3ByZT48cD5UcmF2ZXJzYWwgZnVuY3Rpb24gZm9yIHRoZSAiZGVzY2VuZGFudCIgZGlyZWN0aW9uIHRoZSBkZXNjZW5kYW50IGF4aXMgY29udGFpbnMgdGhlIGRlc2NlbmRhbnRzIG9mIHRoZSBjb250ZXh0IG5vZGUgaW4gZG9jdW1lbnQgb3JkZXI7IGEgZGVzY2VuZGFudCBpcyBhIGNoaWxkIG9yIGEgY2hpbGQgb2YgYSBjaGlsZCBhbmQgc28gb24uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggUGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGN1cnJlbnQgbm9kZSBpbiB0aGUgdHJhdmVyc2FsPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV4dCBlbGVtZW50IGZvbGxvd2luZyB0aGF0IGF4aXM8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aE5leHREZXNjZW5kYW50T3JTZWxmIi8+eG1sWFBhdGhOZXh0RGVzY2VuZGFudE9yU2VsZiAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CXhtbFhQYXRoTmV4dERlc2NlbmRhbnRPclNlbGYJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gY3VyKTxici8+Cis8L3ByZT48cD5UcmF2ZXJzYWwgZnVuY3Rpb24gZm9yIHRoZSAiZGVzY2VuZGFudC1vci1zZWxmIiBkaXJlY3Rpb24gdGhlIGRlc2NlbmRhbnQtb3Itc2VsZiBheGlzIGNvbnRhaW5zIHRoZSBjb250ZXh0IG5vZGUgYW5kIHRoZSBkZXNjZW5kYW50cyBvZiB0aGUgY29udGV4dCBub2RlIGluIGRvY3VtZW50IG9yZGVyOyB0aHVzIHRoZSBjb250ZXh0IG5vZGUgaXMgdGhlIGZpcnN0IG5vZGUgb24gdGhlIGF4aXMsIGFuZCB0aGUgZmlyc3QgY2hpbGQgb2YgdGhlIGNvbnRleHQgbm9kZSBpcyB0aGUgc2Vjb25kIG5vZGUgb24gdGhlIGF4aXM8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYUGF0aCBQYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY3VycmVudCBub2RlIGluIHRoZSB0cmF2ZXJzYWw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXh0IGVsZW1lbnQgZm9sbG93aW5nIHRoYXQgYXhpczwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoTmV4dEZvbGxvd2luZyIvPnhtbFhQYXRoTmV4dEZvbGxvd2luZyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CXhtbFhQYXRoTmV4dEZvbGxvd2luZwkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGN1cik8YnIvPgorPC9wcmU+PHA+VHJhdmVyc2FsIGZ1bmN0aW9uIGZvciB0aGUgImZvbGxvd2luZyIgZGlyZWN0aW9uIFRoZSBmb2xsb3dpbmcgYXhpcyBjb250YWlucyBhbGwgbm9kZXMgaW4gdGhlIHNhbWUgZG9jdW1lbnQgYXMgdGhlIGNvbnRleHQgbm9kZSB0aGF0IGFyZSBhZnRlciB0aGUgY29udGV4dCBub2RlIGluIGRvY3VtZW50IG9yZGVyLCBleGNsdWRpbmcgYW55IGRlc2NlbmRhbnRzIGFuZCBleGNsdWRpbmcgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gbm9kZXMgYW5kIG5hbWVzcGFjZSBub2RlczsgdGhlIG5vZGVzIGFyZSBvcmRlcmVkIGluIGRvY3VtZW50IG9yZGVyPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggUGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGN1cnJlbnQgbm9kZSBpbiB0aGUgdHJhdmVyc2FsPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV4dCBlbGVtZW50IGZvbGxvd2luZyB0aGF0IGF4aXM8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aE5leHRGb2xsb3dpbmdTaWJsaW5nIi8+eG1sWFBhdGhOZXh0Rm9sbG93aW5nU2libGluZyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CXhtbFhQYXRoTmV4dEZvbGxvd2luZ1NpYmxpbmcJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gY3VyKTxici8+Cis8L3ByZT48cD5UcmF2ZXJzYWwgZnVuY3Rpb24gZm9yIHRoZSAiZm9sbG93aW5nLXNpYmxpbmciIGRpcmVjdGlvbiBUaGUgZm9sbG93aW5nLXNpYmxpbmcgYXhpcyBjb250YWlucyB0aGUgZm9sbG93aW5nIHNpYmxpbmdzIG9mIHRoZSBjb250ZXh0IG5vZGUgaW4gZG9jdW1lbnQgb3JkZXIuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggUGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGN1cnJlbnQgbm9kZSBpbiB0aGUgdHJhdmVyc2FsPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV4dCBlbGVtZW50IGZvbGxvd2luZyB0aGF0IGF4aXM8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aE5leHROYW1lc3BhY2UiLz54bWxYUGF0aE5leHROYW1lc3BhY2UgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgl4bWxYUGF0aE5leHROYW1lc3BhY2UJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIpPGJyLz4KKzwvcHJlPjxwPlRyYXZlcnNhbCBmdW5jdGlvbiBmb3IgdGhlICJuYW1lc3BhY2UiIGRpcmVjdGlvbiB0aGUgbmFtZXNwYWNlIGF4aXMgY29udGFpbnMgdGhlIG5hbWVzcGFjZSBub2RlcyBvZiB0aGUgY29udGV4dCBub2RlOyB0aGUgb3JkZXIgb2Ygbm9kZXMgb24gdGhpcyBheGlzIGlzIGltcGxlbWVudGF0aW9uLWRlZmluZWQ7IHRoZSBheGlzIHdpbGwgYmUgZW1wdHkgdW5sZXNzIHRoZSBjb250ZXh0IG5vZGUgaXMgYW4gZWxlbWVudCBXZSBrZWVwIHRoZSBYTUwgbmFtZXNwYWNlIG5vZGUgYXQgdGhlIGVuZCBvZiB0aGUgbGlzdC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYUGF0aCBQYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY3VycmVudCA8YSBocmVmPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBpbiB0aGUgdHJhdmVyc2FsPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV4dCBlbGVtZW50IGZvbGxvd2luZyB0aGF0IGF4aXM8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aE5leHRQYXJlbnQiLz54bWxYUGF0aE5leHRQYXJlbnQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgl4bWxYUGF0aE5leHRQYXJlbnQJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIpPGJyLz4KKzwvcHJlPjxwPlRyYXZlcnNhbCBmdW5jdGlvbiBmb3IgdGhlICJwYXJlbnQiIGRpcmVjdGlvbiBUaGUgcGFyZW50IGF4aXMgY29udGFpbnMgdGhlIHBhcmVudCBvZiB0aGUgY29udGV4dCBub2RlLCBpZiB0aGVyZSBpcyBvbmUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggUGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGN1cnJlbnQgbm9kZSBpbiB0aGUgdHJhdmVyc2FsPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV4dCBlbGVtZW50IGZvbGxvd2luZyB0aGF0IGF4aXM8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aE5leHRQcmVjZWRpbmciLz54bWxYUGF0aE5leHRQcmVjZWRpbmcgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgl4bWxYUGF0aE5leHRQcmVjZWRpbmcJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIpPGJyLz4KKzwvcHJlPjxwPlRyYXZlcnNhbCBmdW5jdGlvbiBmb3IgdGhlICJwcmVjZWRpbmciIGRpcmVjdGlvbiB0aGUgcHJlY2VkaW5nIGF4aXMgY29udGFpbnMgYWxsIG5vZGVzIGluIHRoZSBzYW1lIGRvY3VtZW50IGFzIHRoZSBjb250ZXh0IG5vZGUgdGhhdCBhcmUgYmVmb3JlIHRoZSBjb250ZXh0IG5vZGUgaW4gZG9jdW1lbnQgb3JkZXIsIGV4Y2x1ZGluZyBhbnkgYW5jZXN0b3JzIGFuZCBleGNsdWRpbmcgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gbm9kZXMgYW5kIG5hbWVzcGFjZSBub2RlczsgdGhlIG5vZGVzIGFyZSBvcmRlcmVkIGluIHJldmVyc2UgZG9jdW1lbnQgb3JkZXI8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYUGF0aCBQYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY3VycmVudCBub2RlIGluIHRoZSB0cmF2ZXJzYWw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXh0IGVsZW1lbnQgZm9sbG93aW5nIHRoYXQgYXhpczwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoTmV4dFByZWNlZGluZ1NpYmxpbmciLz54bWxYUGF0aE5leHRQcmVjZWRpbmdTaWJsaW5nICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JeG1sWFBhdGhOZXh0UHJlY2VkaW5nU2libGluZwkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIpPGJyLz4KKzwvcHJlPjxwPlRyYXZlcnNhbCBmdW5jdGlvbiBmb3IgdGhlICJwcmVjZWRpbmctc2libGluZyIgZGlyZWN0aW9uIFRoZSBwcmVjZWRpbmctc2libGluZyBheGlzIGNvbnRhaW5zIHRoZSBwcmVjZWRpbmcgc2libGluZ3Mgb2YgdGhlIGNvbnRleHQgbm9kZSBpbiByZXZlcnNlIGRvY3VtZW50IG9yZGVyOyB0aGUgZmlyc3QgcHJlY2VkaW5nIHNpYmxpbmcgaXMgZmlyc3Qgb24gdGhlIGF4aXM7IHRoZSBzaWJsaW5nIHByZWNlZGluZyB0aGF0IG5vZGUgaXMgdGhlIHNlY29uZCBvbiB0aGUgYXhpcyBhbmQgc28gb24uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggUGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGN1cnJlbnQgbm9kZSBpbiB0aGUgdHJhdmVyc2FsPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV4dCBlbGVtZW50IGZvbGxvd2luZyB0aGF0IGF4aXM8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aE5leHRTZWxmIi8+eG1sWFBhdGhOZXh0U2VsZiAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CXhtbFhQYXRoTmV4dFNlbGYJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIpPGJyLz4KKzwvcHJlPjxwPlRyYXZlcnNhbCBmdW5jdGlvbiBmb3IgdGhlICJzZWxmIiBkaXJlY3Rpb24gVGhlIHNlbGYgYXhpcyBjb250YWlucyBqdXN0IHRoZSBjb250ZXh0IG5vZGUgaXRzZWxmPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggUGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGN1cnJlbnQgbm9kZSBpbiB0aGUgdHJhdmVyc2FsPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV4dCBlbGVtZW50IGZvbGxvd2luZyB0aGF0IGF4aXM8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aE5vZGVMZWFkaW5nIi8+eG1sWFBhdGhOb2RlTGVhZGluZyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPgl4bWxYUGF0aE5vZGVMZWFkaW5nCSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gbm9kZXMsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSk8YnIvPgorPC9wcmU+PHA+SW1wbGVtZW50cyB0aGUgRVhTTFQgLSBTZXRzIGxlYWRpbmcoKSBmdW5jdGlvbjogbm9kZS1zZXQgc2V0OmxlYWRpbmcgKG5vZGUtc2V0LCBub2RlLXNldCkgQG5vZGVzIGlzIHNvcnRlZCBieSBkb2N1bWVudCBvcmRlciwgdGhlbiAjZXhzbFNldHNOb2RlTGVhZGluZ1NvcnRlZCBpcyBjYWxsZWQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBub2RlLXNldDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbm9kZXMgaW4gQG5vZGVzIHRoYXQgcHJlY2VkZSBAbm9kZSBpbiBkb2N1bWVudCBvcmRlciwgQG5vZGVzIGlmIEBub2RlIGlzIE5VTEwgb3IgYW4gZW1wdHkgbm9kZS1zZXQgaWYgQG5vZGVzIGRvZXNuJ3QgY29udGFpbiBAbm9kZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoTm9kZUxlYWRpbmdTb3J0ZWQiLz54bWxYUGF0aE5vZGVMZWFkaW5nU29ydGVkICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+CXhtbFhQYXRoTm9kZUxlYWRpbmdTb3J0ZWQJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBub2RlcywgPGJyLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSk8YnIvPgorPC9wcmU+PHA+SW1wbGVtZW50cyB0aGUgRVhTTFQgLSBTZXRzIGxlYWRpbmcoKSBmdW5jdGlvbjogbm9kZS1zZXQgc2V0OmxlYWRpbmcgKG5vZGUtc2V0LCBub2RlLXNldCk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGVzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIG5vZGUtc2V0LCBzb3J0ZWQgYnkgZG9jdW1lbnQgb3JkZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbm9kZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vZGVzIGluIEBub2RlcyB0aGF0IHByZWNlZGUgQG5vZGUgaW4gZG9jdW1lbnQgb3JkZXIsIEBub2RlcyBpZiBAbm9kZSBpcyBOVUxMIG9yIGFuIGVtcHR5IG5vZGUtc2V0IGlmIEBub2RlcyBkb2Vzbid0IGNvbnRhaW4gQG5vZGU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aE5vZGVTZXRBZGQiLz54bWxYUGF0aE5vZGVTZXRBZGQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sWFBhdGhOb2RlU2V0QWRkCQkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IGN1ciwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiB2YWwpPGJyLz4KKzwvcHJlPjxwPmFkZCBhIG5ldyA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiB0byBhbiBleGlzdGluZyBOb2RlU2V0PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBpbml0aWFsIG5vZGUgc2V0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbmV3IDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGluIGNhc2Ugb2Ygc3VjY2VzcywgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aE5vZGVTZXRBZGROcyIvPnhtbFhQYXRoTm9kZVNldEFkZE5zICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFhQYXRoTm9kZVNldEFkZE5zCQkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IGN1ciwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5zUHRyIj54bWxOc1B0cjwvYT4gbnMpPGJyLz4KKzwvcHJlPjxwPmFkZCBhIG5ldyBuYW1lc3BhY2Ugbm9kZSB0byBhbiBleGlzdGluZyBOb2RlU2V0PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBpbml0aWFsIG5vZGUgc2V0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaG9zdGluZyBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSB0aGUgbmFtZXNwYWNlIG5vZGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaW4gY2FzZSBvZiBzdWNjZXNzIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhOb2RlU2V0QWRkVW5pcXVlIi8+eG1sWFBhdGhOb2RlU2V0QWRkVW5pcXVlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFhQYXRoTm9kZVNldEFkZFVuaXF1ZQkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IGN1ciwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiB2YWwpPGJyLz4KKzwvcHJlPjxwPmFkZCBhIG5ldyA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiB0byBhbiBleGlzdGluZyBOb2RlU2V0LCBvcHRpbWl6ZWQgdmVyc2lvbiB3aGVuIHdlIGFyZSBzdXJlIHRoZSBub2RlIGlzIG5vdCBhbHJlYWR5IGluIHRoZSBzZXQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBpbml0aWFsIG5vZGUgc2V0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbmV3IDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGluIGNhc2Ugb2Ygc3VjY2VzcyBhbmQgLTEgaW4gY2FzZSBvZiBmYWlsdXJlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhOb2RlU2V0Q29udGFpbnMiLz54bWxYUGF0aE5vZGVTZXRDb250YWlucyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxYUGF0aE5vZGVTZXRDb250YWlucwkJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBjdXIsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gdmFsKTxici8+Cis8L3ByZT48cD5jaGVja3Mgd2hldGhlciBAY3VyIGNvbnRhaW5zIEB2YWw8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vZGUtc2V0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50cnVlICgxKSBpZiBAY3VyIGNvbnRhaW5zIEB2YWwsIGZhbHNlICgwKSBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aE5vZGVTZXREZWwiLz54bWxYUGF0aE5vZGVTZXREZWwgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFhQYXRoTm9kZVNldERlbAkJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBjdXIsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gdmFsKTxici8+Cis8L3ByZT48cD5SZW1vdmVzIGFuIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGZyb20gYW4gZXhpc3RpbmcgTm9kZVNldDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaW5pdGlhbCBub2RlIHNldDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoTm9kZVNldEZyZWVOcyIvPnhtbFhQYXRoTm9kZVNldEZyZWVOcyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sWFBhdGhOb2RlU2V0RnJlZU5zCQkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTnNQdHIiPnhtbE5zUHRyPC9hPiBucyk8YnIvPgorPC9wcmU+PHA+TmFtZXNwYWNlIG5vZGVzIGluIGxpYnhtbCBkb24ndCBtYXRjaCB0aGUgWFBhdGggc2VtYW50aWMuIEluIGEgbm9kZSBzZXQgdGhlIG5hbWVzcGFjZSBub2RlcyBhcmUgZHVwbGljYXRlZCBhbmQgdGhlIG5leHQgcG9pbnRlciBpcyBzZXQgdG8gdGhlIHBhcmVudCBub2RlIGluIHRoZSBYUGF0aCBzZW1hbnRpYy4gQ2hlY2sgaWYgc3VjaCBhIG5vZGUgbmVlZHMgdG8gYmUgZnJlZWQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggbmFtZXNwYWNlIG5vZGUgZm91bmQgaW4gYSBub2Rlc2V0LjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoTm9kZVNldE1lcmdlIi8+eG1sWFBhdGhOb2RlU2V0TWVyZ2UgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4JeG1sWFBhdGhOb2RlU2V0TWVyZ2UJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiB2YWwxLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiB2YWwyKTxici8+Cis8L3ByZT48cD5NZXJnZXMgdHdvIG5vZGVzZXRzLCBhbGwgbm9kZXMgZnJvbSBAdmFsMiBhcmUgYWRkZWQgdG8gQHZhbDEgaWYgQHZhbDEgaXMgTlVMTCwgYSBuZXcgc2V0IGlzIGNyZWF0ZWQgYW5kIGNvcGllZCBmcm9tIEB2YWwyPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWwxPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZmlyc3QgTm9kZVNldCBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWwyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc2Vjb25kIE5vZGVTZXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPkB2YWwxIG9uY2UgZXh0ZW5kZWQgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoTm9kZVNldFJlbW92ZSIvPnhtbFhQYXRoTm9kZVNldFJlbW92ZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sWFBhdGhOb2RlU2V0UmVtb3ZlCQkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IGN1ciwgPGJyLz4JCQkJCSBpbnQgdmFsKTxici8+Cis8L3ByZT48cD5SZW1vdmVzIGFuIGVudHJ5IGZyb20gYW4gZXhpc3RpbmcgTm9kZVNldCBsaXN0LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaW5pdGlhbCBub2RlIHNldDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaW5kZXggdG8gcmVtb3ZlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhOb2RlU2V0U29ydCIvPnhtbFhQYXRoTm9kZVNldFNvcnQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFhQYXRoTm9kZVNldFNvcnQJCSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gc2V0KTxici8+Cis8L3ByZT48cD5Tb3J0IHRoZSBub2RlIHNldCBpbiBkb2N1bWVudCBvcmRlcjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2V0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbm9kZSBzZXQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aE5vZGVUcmFpbGluZyIvPnhtbFhQYXRoTm9kZVRyYWlsaW5nICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+CXhtbFhQYXRoTm9kZVRyYWlsaW5nCSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gbm9kZXMsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSk8YnIvPgorPC9wcmU+PHA+SW1wbGVtZW50cyB0aGUgRVhTTFQgLSBTZXRzIHRyYWlsaW5nKCkgZnVuY3Rpb246IG5vZGUtc2V0IHNldDp0cmFpbGluZyAobm9kZS1zZXQsIG5vZGUtc2V0KSBAbm9kZXMgaXMgc29ydGVkIGJ5IGRvY3VtZW50IG9yZGVyLCB0aGVuICN4bWxYUGF0aE5vZGVUcmFpbGluZ1NvcnRlZCBpcyBjYWxsZWQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBub2RlLXNldDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbm9kZXMgaW4gQG5vZGVzIHRoYXQgZm9sbG93IEBub2RlIGluIGRvY3VtZW50IG9yZGVyLCBAbm9kZXMgaWYgQG5vZGUgaXMgTlVMTCBvciBhbiBlbXB0eSBub2RlLXNldCBpZiBAbm9kZXMgZG9lc24ndCBjb250YWluIEBub2RlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhOb2RlVHJhaWxpbmdTb3J0ZWQiLz54bWxYUGF0aE5vZGVUcmFpbGluZ1NvcnRlZCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPgl4bWxYUGF0aE5vZGVUcmFpbGluZ1NvcnRlZAkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IG5vZGVzLCA8YnIvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlKTxici8+Cis8L3ByZT48cD5JbXBsZW1lbnRzIHRoZSBFWFNMVCAtIFNldHMgdHJhaWxpbmcoKSBmdW5jdGlvbjogbm9kZS1zZXQgc2V0OnRyYWlsaW5nIChub2RlLXNldCwgbm9kZS1zZXQpPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBub2RlLXNldCwgc29ydGVkIGJ5IGRvY3VtZW50IG9yZGVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIG5vZGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBub2RlcyBpbiBAbm9kZXMgdGhhdCBmb2xsb3cgQG5vZGUgaW4gZG9jdW1lbnQgb3JkZXIsIEBub2RlcyBpZiBAbm9kZSBpcyBOVUxMIG9yIGFuIGVtcHR5IG5vZGUtc2V0IGlmIEBub2RlcyBkb2Vzbid0IGNvbnRhaW4gQG5vZGU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aE5vcm1hbGl6ZUZ1bmN0aW9uIi8+eG1sWFBhdGhOb3JtYWxpemVGdW5jdGlvbiAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sWFBhdGhOb3JtYWxpemVGdW5jdGlvbgkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIGludCBuYXJncyk8YnIvPgorPC9wcmU+PHA+SW1wbGVtZW50IHRoZSBub3JtYWxpemUtc3BhY2UoKSBYUGF0aCBmdW5jdGlvbiBzdHJpbmcgbm9ybWFsaXplLXNwYWNlKHN0cmluZz8pIFRoZSBub3JtYWxpemUtc3BhY2UgZnVuY3Rpb24gcmV0dXJucyB0aGUgYXJndW1lbnQgc3RyaW5nIHdpdGggd2hpdGUgc3BhY2Ugbm9ybWFsaXplZCBieSBzdHJpcHBpbmcgbGVhZGluZyBhbmQgdHJhaWxpbmcgd2hpdGVzcGFjZSBhbmQgcmVwbGFjaW5nIHNlcXVlbmNlcyBvZiB3aGl0ZXNwYWNlIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjY2hhcmFjdGVycyI+Y2hhcmFjdGVyczwvYT4gYnkgYSBzaW5nbGUgc3BhY2UuIFdoaXRlc3BhY2UgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNjaGFyYWN0ZXJzIj5jaGFyYWN0ZXJzPC9hPiBhcmUgdGhlIHNhbWUgYWxsb3dlZCBieSB0aGUgUyBwcm9kdWN0aW9uIGluIFhNTC4gSWYgdGhlIGFyZ3VtZW50IGlzIG9taXR0ZWQsIGl0IGRlZmF1bHRzIHRvIHRoZSBjb250ZXh0IG5vZGUgY29udmVydGVkIHRvIGEgc3RyaW5nLCBpbiBvdGhlciB3b3JkcyB0aGUgdmFsdWUgb2YgdGhlIGNvbnRleHQgbm9kZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYUGF0aCBQYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFyZ3M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgYXJndW1lbnRzPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhOb3RFcXVhbFZhbHVlcyIvPnhtbFhQYXRoTm90RXF1YWxWYWx1ZXMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sWFBhdGhOb3RFcXVhbFZhbHVlcwkJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCk8YnIvPgorPC9wcmU+PHA+SW1wbGVtZW50IHRoZSBlcXVhbCBvcGVyYXRpb24gb24gWFBhdGggb2JqZWN0cyBjb250ZW50OiBAYXJnMSA9PSBAYXJnMjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhQYXRoIFBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIG9yIDEgZGVwZW5kaW5nIG9uIHRoZSByZXN1bHRzIG9mIHRoZSB0ZXN0LjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoTm90RnVuY3Rpb24iLz54bWxYUGF0aE5vdEZ1bmN0aW9uICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxYUGF0aE5vdEZ1bmN0aW9uCQkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIGludCBuYXJncyk8YnIvPgorPC9wcmU+PHA+SW1wbGVtZW50IHRoZSBub3QoKSBYUGF0aCBmdW5jdGlvbiBib29sZWFuIG5vdChib29sZWFuKSBUaGUgbm90IGZ1bmN0aW9uIHJldHVybnMgdHJ1ZSBpZiBpdHMgYXJndW1lbnQgaXMgZmFsc2UsIGFuZCBmYWxzZSBvdGhlcndpc2UuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggUGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hcmdzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGFyZ3VtZW50czwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoTnNMb29rdXAiLz54bWxYUGF0aE5zTG9va3VwICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Y29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbFhQYXRoTnNMb29rdXAJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHRQdHIiPnhtbFhQYXRoQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHJlZml4KTxici8+Cis8L3ByZT48cD5TZWFyY2ggaW4gdGhlIG5hbWVzcGFjZSBkZWNsYXJhdGlvbiBhcnJheSBvZiB0aGUgY29udGV4dCBmb3IgdGhlIGdpdmVuIG5hbWVzcGFjZSBuYW1lIGFzc29jaWF0ZWQgdG8gdGhlIGdpdmVuIHByZWZpeDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhQYXRoIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnByZWZpeDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5hbWVzcGFjZSBwcmVmaXggdmFsdWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB2YWx1ZSBvciBOVUxMIGlmIG5vdCBmb3VuZDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoTnVtYmVyRnVuY3Rpb24iLz54bWxYUGF0aE51bWJlckZ1bmN0aW9uICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxYUGF0aE51bWJlckZ1bmN0aW9uCQkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIGludCBuYXJncyk8YnIvPgorPC9wcmU+PHA+SW1wbGVtZW50IHRoZSBudW1iZXIoKSBYUGF0aCBmdW5jdGlvbiBudW1iZXIgbnVtYmVyKG9iamVjdD8pPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggUGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hcmdzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGFyZ3VtZW50czwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoUGFyc2VOQ05hbWUiLz54bWxYUGF0aFBhcnNlTkNOYW1lICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbFhQYXRoUGFyc2VOQ05hbWUJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCk8YnIvPgorPC9wcmU+PHA+cGFyc2UgYW4gWE1MIG5hbWVzcGFjZSBub24gcXVhbGlmaWVkIG5hbWUuIFtOUyAzXSBOQ05hbWUgOjo9IChMZXR0ZXIgfCAnXycpIChOQ05hbWVDaGFyKSogW05TIDRdIE5DTmFtZUNoYXIgOjo9IExldHRlciB8IERpZ2l0IHwgJy4nIHwgJy0nIHwgJ18nIHwgQ29tYmluaW5nQ2hhciB8IEV4dGVuZGVyPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggUGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lc3BhY2UgbmFtZSBvciBOVUxMPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhQYXJzZU5hbWUiLz54bWxYUGF0aFBhcnNlTmFtZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxYUGF0aFBhcnNlTmFtZQkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0KTxici8+Cis8L3ByZT48cD5wYXJzZSBhbiBYTUwgbmFtZSBbNF0gTmFtZUNoYXIgOjo9IExldHRlciB8IERpZ2l0IHwgJy4nIHwgJy0nIHwgJ18nIHwgJzonIHwgQ29tYmluaW5nQ2hhciB8IEV4dGVuZGVyIFs1XSBOYW1lIDo6PSAoTGV0dGVyIHwgJ18nIHwgJzonKSAoTmFtZUNoYXIpKjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhQYXRoIFBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZXNwYWNlIG5hbWUgb3IgTlVMTDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoUG9wQm9vbGVhbiIvPnhtbFhQYXRoUG9wQm9vbGVhbiAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxYUGF0aFBvcEJvb2xlYW4JCSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQpPGJyLz4KKzwvcHJlPjxwPlBvcHMgYSBib29sZWFuIGZyb20gdGhlIHN0YWNrLCBoYW5kbGluZyBjb252ZXJzaW9uIGlmIG5lZWRlZC4gQ2hlY2sgZXJyb3Igd2l0aCAjeG1sWFBhdGhDaGVja0Vycm9yLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWFBhdGggcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBib29sZWFuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhQb3BFeHRlcm5hbCIvPnhtbFhQYXRoUG9wRXh0ZXJuYWwgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkICoJeG1sWFBhdGhQb3BFeHRlcm5hbAkJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCk8YnIvPgorPC9wcmU+PHA+UG9wcyBhbiBleHRlcm5hbCBvYmplY3QgZnJvbSB0aGUgc3RhY2ssIGhhbmRsaW5nIGNvbnZlcnNpb24gaWYgbmVlZGVkLiBDaGVjayBlcnJvciB3aXRoICN4bWxYUGF0aENoZWNrRXJyb3IuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYUGF0aCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG9iamVjdDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoUG9wTm9kZVNldCIvPnhtbFhQYXRoUG9wTm9kZVNldCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPgl4bWxYUGF0aFBvcE5vZGVTZXQJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCk8YnIvPgorPC9wcmU+PHA+UG9wcyBhIG5vZGUtc2V0IGZyb20gdGhlIHN0YWNrLCBoYW5kbGluZyBjb252ZXJzaW9uIGlmIG5lZWRlZC4gQ2hlY2sgZXJyb3Igd2l0aCAjeG1sWFBhdGhDaGVja0Vycm9yLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWFBhdGggcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBub2RlLXNldDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoUG9wTnVtYmVyIi8+eG1sWFBhdGhQb3BOdW1iZXIgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5kb3VibGUJeG1sWFBhdGhQb3BOdW1iZXIJCSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQpPGJyLz4KKzwvcHJlPjxwPlBvcHMgYSBudW1iZXIgZnJvbSB0aGUgc3RhY2ssIGhhbmRsaW5nIGNvbnZlcnNpb24gaWYgbmVlZGVkLiBDaGVjayBlcnJvciB3aXRoICN4bWxYUGF0aENoZWNrRXJyb3IuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYUGF0aCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoUG9wU3RyaW5nIi8+eG1sWFBhdGhQb3BTdHJpbmcgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sWFBhdGhQb3BTdHJpbmcJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCk8YnIvPgorPC9wcmU+PHA+UG9wcyBhIHN0cmluZyBmcm9tIHRoZSBzdGFjaywgaGFuZGxpbmcgY29udmVyc2lvbiBpZiBuZWVkZWQuIENoZWNrIGVycm9yIHdpdGggI3htbFhQYXRoQ2hlY2tFcnJvci48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhQYXRoIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc3RyaW5nPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhQb3NpdGlvbkZ1bmN0aW9uIi8+eG1sWFBhdGhQb3NpdGlvbkZ1bmN0aW9uICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxYUGF0aFBvc2l0aW9uRnVuY3Rpb24JKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSBpbnQgbmFyZ3MpPGJyLz4KKzwvcHJlPjxwPkltcGxlbWVudCB0aGUgcG9zaXRpb24oKSBYUGF0aCBmdW5jdGlvbiBudW1iZXIgcG9zaXRpb24oKSBUaGUgcG9zaXRpb24gZnVuY3Rpb24gcmV0dXJucyB0aGUgcG9zaXRpb24gb2YgdGhlIGNvbnRleHQgbm9kZSBpbiB0aGUgY29udGV4dCBub2RlIGxpc3QuIFRoZSBmaXJzdCBwb3NpdGlvbiBpcyAxLCBhbmQgc28gdGhlIGxhc3QgcG9zaXRpb24gd2lsbCBiZSBlcXVhbCB0byBsYXN0KCkuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggUGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hcmdzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGFyZ3VtZW50czwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoUmVnaXN0ZXJBbGxGdW5jdGlvbnMiLz54bWxYUGF0aFJlZ2lzdGVyQWxsRnVuY3Rpb25zICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxYUGF0aFJlZ2lzdGVyQWxsRnVuY3Rpb25zCSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0UHRyIj54bWxYUGF0aENvbnRleHRQdHI8L2E+IGN0eHQpPGJyLz4KKzwvcHJlPjxwPlJlZ2lzdGVycyBhbGwgZGVmYXVsdCBYUGF0aCBmdW5jdGlvbnMgaW4gdGhpcyBjb250ZXh0PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggY29udGV4dDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoUmVnaXN0ZXJGdW5jIi8+eG1sWFBhdGhSZWdpc3RlckZ1bmMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sWFBhdGhSZWdpc3RlckZ1bmMJCSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0UHRyIj54bWxYUGF0aENvbnRleHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoRnVuY3Rpb24iPnhtbFhQYXRoRnVuY3Rpb248L2E+IGYpPGJyLz4KKzwvcHJlPjxwPlJlZ2lzdGVyIGEgbmV3IGZ1bmN0aW9uLiBJZiBAZiBpcyBOVUxMIGl0IHVucmVnaXN0ZXJzIHRoZSBmdW5jdGlvbjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhQYXRoIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmdW5jdGlvbiBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZnVuY3Rpb24gaW1wbGVtZW50YXRpb24gb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpbiBjYXNlIG9mIHN1Y2Nlc3MsIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aFJlZ2lzdGVyRnVuY0xvb2t1cCIvPnhtbFhQYXRoUmVnaXN0ZXJGdW5jTG9va3VwICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxYUGF0aFJlZ2lzdGVyRnVuY0xvb2t1cAkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFB0ciI+eG1sWFBhdGhDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aEZ1bmNMb29rdXBGdW5jIj54bWxYUGF0aEZ1bmNMb29rdXBGdW5jPC9hPiBmLCA8YnIvPgkJCQkJIHZvaWQgKiBmdW5jQ3R4dCk8YnIvPgorPC9wcmU+PHA+UmVnaXN0ZXJzIGFuIGV4dGVybmFsIG1lY2hhbmlzbSB0byBkbyBmdW5jdGlvbiBsb29rdXAuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxvb2t1cCBmdW5jdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZnVuY0N0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsb29rdXAgZGF0YTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoUmVnaXN0ZXJGdW5jTlMiLz54bWxYUGF0aFJlZ2lzdGVyRnVuY05TICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFhQYXRoUmVnaXN0ZXJGdW5jTlMJCSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0UHRyIj54bWxYUGF0aENvbnRleHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5zX3VyaSwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhGdW5jdGlvbiI+eG1sWFBhdGhGdW5jdGlvbjwvYT4gZik8YnIvPgorPC9wcmU+PHA+UmVnaXN0ZXIgYSBuZXcgZnVuY3Rpb24uIElmIEBmIGlzIE5VTEwgaXQgdW5yZWdpc3RlcnMgdGhlIGZ1bmN0aW9uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZ1bmN0aW9uIG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5zX3VyaTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZ1bmN0aW9uIG5hbWVzcGFjZSBVUkk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmdW5jdGlvbiBpbXBsZW1lbnRhdGlvbiBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGluIGNhc2Ugb2Ygc3VjY2VzcywgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoUmVnaXN0ZXJOcyIvPnhtbFhQYXRoUmVnaXN0ZXJOcyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxYUGF0aFJlZ2lzdGVyTnMJCSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0UHRyIj54bWxYUGF0aENvbnRleHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHByZWZpeCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbnNfdXJpKTxici8+Cis8L3ByZT48cD5SZWdpc3RlciBhIG5ldyBuYW1lc3BhY2UuIElmIEBuc191cmkgaXMgTlVMTCBpdCB1bnJlZ2lzdGVycyB0aGUgbmFtZXNwYWNlPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cHJlZml4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZXNwYWNlIHByZWZpeCBjYW5ub3QgYmUgTlVMTCBvciBlbXB0eSBzdHJpbmc8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5zX3VyaTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5hbWVzcGFjZSBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGluIGNhc2Ugb2Ygc3VjY2VzcywgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZSIvPnhtbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGUJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHRQdHIiPnhtbFhQYXRoQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPiB2YWx1ZSk8YnIvPgorPC9wcmU+PHA+UmVnaXN0ZXIgYSBuZXcgdmFyaWFibGUgdmFsdWUuIElmIEB2YWx1ZSBpcyBOVUxMIGl0IHVucmVnaXN0ZXJzIHRoZSB2YXJpYWJsZTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhQYXRoIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB2YXJpYWJsZSBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWx1ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHZhcmlhYmxlIHZhbHVlIG9yIE5VTEw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaW4gY2FzZSBvZiBzdWNjZXNzLCAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlTG9va3VwIi8+eG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlTG9va3VwICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGVMb29rdXAJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHRQdHIiPnhtbFhQYXRoQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhWYXJpYWJsZUxvb2t1cEZ1bmMiPnhtbFhQYXRoVmFyaWFibGVMb29rdXBGdW5jPC9hPiBmLCA8YnIvPgkJCQkJIHZvaWQgKiBkYXRhKTxici8+Cis8L3ByZT48cD5yZWdpc3RlciBhbiBleHRlcm5hbCBtZWNoYW5pc20gdG8gZG8gdmFyaWFibGUgbG9va3VwPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxvb2t1cCBmdW5jdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGF0YTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxvb2t1cCBkYXRhPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlTlMiLz54bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGVOUyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGVOUwkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFB0ciI+eG1sWFBhdGhDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuc191cmksIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4gdmFsdWUpPGJyLz4KKzwvcHJlPjxwPlJlZ2lzdGVyIGEgbmV3IHZhcmlhYmxlIHZhbHVlLiBJZiBAdmFsdWUgaXMgTlVMTCBpdCB1bnJlZ2lzdGVycyB0aGUgdmFyaWFibGU8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYUGF0aCBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdmFyaWFibGUgbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bnNfdXJpPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdmFyaWFibGUgbmFtZXNwYWNlIFVSSTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsdWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB2YXJpYWJsZSB2YWx1ZSBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGluIGNhc2Ugb2Ygc3VjY2VzcywgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoUmVnaXN0ZXJlZEZ1bmNzQ2xlYW51cCIvPnhtbFhQYXRoUmVnaXN0ZXJlZEZ1bmNzQ2xlYW51cCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sWFBhdGhSZWdpc3RlcmVkRnVuY3NDbGVhbnVwCSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0UHRyIj54bWxYUGF0aENvbnRleHRQdHI8L2E+IGN0eHQpPGJyLz4KKzwvcHJlPjxwPkNsZWFudXAgdGhlIFhQYXRoIGNvbnRleHQgZGF0YSBhc3NvY2lhdGVkIHRvIHJlZ2lzdGVyZWQgZnVuY3Rpb25zPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggY29udGV4dDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoUmVnaXN0ZXJlZE5zQ2xlYW51cCIvPnhtbFhQYXRoUmVnaXN0ZXJlZE5zQ2xlYW51cCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sWFBhdGhSZWdpc3RlcmVkTnNDbGVhbnVwCSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0UHRyIj54bWxYUGF0aENvbnRleHRQdHI8L2E+IGN0eHQpPGJyLz4KKzwvcHJlPjxwPkNsZWFudXAgdGhlIFhQYXRoIGNvbnRleHQgZGF0YSBhc3NvY2lhdGVkIHRvIHJlZ2lzdGVyZWQgdmFyaWFibGVzPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggY29udGV4dDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoUmVnaXN0ZXJlZFZhcmlhYmxlc0NsZWFudXAiLz54bWxYUGF0aFJlZ2lzdGVyZWRWYXJpYWJsZXNDbGVhbnVwICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxYUGF0aFJlZ2lzdGVyZWRWYXJpYWJsZXNDbGVhbnVwCSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0UHRyIj54bWxYUGF0aENvbnRleHRQdHI8L2E+IGN0eHQpPGJyLz4KKzwvcHJlPjxwPkNsZWFudXAgdGhlIFhQYXRoIGNvbnRleHQgZGF0YSBhc3NvY2lhdGVkIHRvIHJlZ2lzdGVyZWQgdmFyaWFibGVzPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggY29udGV4dDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoUm9vdCIvPnhtbFhQYXRoUm9vdCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sWFBhdGhSb290CQkJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCk8YnIvPgorPC9wcmU+PHA+SW5pdGlhbGl6ZSB0aGUgY29udGV4dCB0byB0aGUgcm9vdCBvZiB0aGUgZG9jdW1lbnQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYUGF0aCBQYXJzZXIgY29udGV4dDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoUm91bmRGdW5jdGlvbiIvPnhtbFhQYXRoUm91bmRGdW5jdGlvbiAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sWFBhdGhSb3VuZEZ1bmN0aW9uCQkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIGludCBuYXJncyk8YnIvPgorPC9wcmU+PHA+SW1wbGVtZW50IHRoZSByb3VuZCgpIFhQYXRoIGZ1bmN0aW9uIG51bWJlciByb3VuZChudW1iZXIpIFRoZSByb3VuZCBmdW5jdGlvbiByZXR1cm5zIHRoZSBudW1iZXIgdGhhdCBpcyBjbG9zZXN0IHRvIHRoZSBhcmd1bWVudCBhbmQgdGhhdCBpcyBhbiBpbnRlZ2VyLiBJZiB0aGVyZSBhcmUgdHdvIHN1Y2ggbnVtYmVycywgdGhlbiB0aGUgb25lIHRoYXQgaXMgZXZlbiBpcyByZXR1cm5lZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYUGF0aCBQYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFyZ3M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgYXJndW1lbnRzPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhTdGFydHNXaXRoRnVuY3Rpb24iLz54bWxYUGF0aFN0YXJ0c1dpdGhGdW5jdGlvbiAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sWFBhdGhTdGFydHNXaXRoRnVuY3Rpb24JKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSBpbnQgbmFyZ3MpPGJyLz4KKzwvcHJlPjxwPkltcGxlbWVudCB0aGUgc3RhcnRzLXdpdGgoKSBYUGF0aCBmdW5jdGlvbiBib29sZWFuIHN0YXJ0cy13aXRoKHN0cmluZywgc3RyaW5nKSBUaGUgc3RhcnRzLXdpdGggZnVuY3Rpb24gcmV0dXJucyB0cnVlIGlmIHRoZSBmaXJzdCBhcmd1bWVudCBzdHJpbmcgc3RhcnRzIHdpdGggdGhlIHNlY29uZCBhcmd1bWVudCBzdHJpbmcsIGFuZCBvdGhlcndpc2UgcmV0dXJucyBmYWxzZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYUGF0aCBQYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFyZ3M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgYXJndW1lbnRzPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhTdHJpbmdFdmFsTnVtYmVyIi8+eG1sWFBhdGhTdHJpbmdFdmFsTnVtYmVyICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+ZG91YmxlCXhtbFhQYXRoU3RyaW5nRXZhbE51bWJlcgkoY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0cik8YnIvPgorPC9wcmU+PHA+WzMwYV0gRmxvYXQgOjo9IE51bWJlciAoJ2UnIERpZ2l0cz8pPyBbMzBdIE51bWJlciA6Oj0gRGlnaXRzICgnLicgRGlnaXRzPyk/IHwgJy4nIERpZ2l0cyBbMzFdIERpZ2l0cyA6Oj0gWzAtOV0rIENvbXBpbGUgYSBOdW1iZXIgaW4gdGhlIHN0cmluZyBJbiBjb21wbGVtZW50IG9mIHRoZSBOdW1iZXIgZXhwcmVzc2lvbiwgdGhpcyBmdW5jdGlvbiBhbHNvIGhhbmRsZXMgbmVnYXRpdmUgdmFsdWVzIDogJy0nIE51bWJlci48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+QSBzdHJpbmcgdG8gc2NhbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvdWJsZSB2YWx1ZS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aFN0cmluZ0Z1bmN0aW9uIi8+eG1sWFBhdGhTdHJpbmdGdW5jdGlvbiAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sWFBhdGhTdHJpbmdGdW5jdGlvbgkJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSBpbnQgbmFyZ3MpPGJyLz4KKzwvcHJlPjxwPkltcGxlbWVudCB0aGUgc3RyaW5nKCkgWFBhdGggZnVuY3Rpb24gc3RyaW5nIHN0cmluZyhvYmplY3Q/KSBUaGUgc3RyaW5nIGZ1bmN0aW9uIGNvbnZlcnRzIGFuIG9iamVjdCB0byBhIHN0cmluZyBhcyBmb2xsb3dzOiAtIEEgbm9kZS1zZXQgaXMgY29udmVydGVkIHRvIGEgc3RyaW5nIGJ5IHJldHVybmluZyB0aGUgdmFsdWUgb2YgdGhlIG5vZGUgaW4gdGhlIG5vZGUtc2V0IHRoYXQgaXMgZmlyc3QgaW4gZG9jdW1lbnQgb3JkZXIuIElmIHRoZSBub2RlLXNldCBpcyBlbXB0eSwgYW4gZW1wdHkgc3RyaW5nIGlzIHJldHVybmVkLiAtIEEgbnVtYmVyIGlzIGNvbnZlcnRlZCB0byBhIHN0cmluZyBhcyBmb2xsb3dzICsgTmFOIGlzIGNvbnZlcnRlZCB0byB0aGUgc3RyaW5nIE5hTiArIHBvc2l0aXZlIHplcm8gaXMgY29udmVydGVkIHRvIHRoZSBzdHJpbmcgMCArIG5lZ2F0aXZlIHplcm8gaXMgY29udmVydGVkIHRvIHRoZSBzdHJpbmcgMCArIHBvc2l0aXZlIGluZmluaXR5IGlzIGNvbnZlcnRlZCB0byB0aGUgc3RyaW5nIEluZmluaXR5ICsgbmVnYXRpdmUgaW5maW5pdHkgaXMgY29udmVydGVkIHRvIHRoZSBzdHJpbmcgLUluZmluaXR5ICsgaWYgdGhlIG51bWJlciBpcyBhbiBpbnRlZ2VyLCB0aGUgbnVtYmVyIGlzIHJlcHJlc2VudGVkIGluIGRlY2ltYWwgZm9ybSBhcyBhIE51bWJlciB3aXRoIG5vIGRlY2ltYWwgcG9pbnQgYW5kIG5vIGxlYWRpbmcgemVyb3MsIHByZWNlZGVkIGJ5IGEgbWludXMgc2lnbiAoLSkgaWYgdGhlIG51bWJlciBpcyBuZWdhdGl2ZSArIG90aGVyd2lzZSwgdGhlIG51bWJlciBpcyByZXByZXNlbnRlZCBpbiBkZWNpbWFsIGZvcm0gYXMgYSBOdW1iZXIgaW5jbHVkaW5nIGEgZGVjaW1hbCBwb2ludCB3aXRoIGF0IGxlYXN0IG9uZSBkaWdpdCBiZWZvcmUgdGhlIGRlY2ltYWwgcG9pbnQgYW5kIGF0IGxlYXN0IG9uZSBkaWdpdCBhZnRlciB0aGUgZGVjaW1hbCBwb2ludCwgcHJlY2VkZWQgYnkgYSBtaW51cyBzaWduICgtKSBpZiB0aGUgbnVtYmVyIGlzIG5lZ2F0aXZlOyB0aGVyZSBtdXN0IGJlIG5vIGxlYWRpbmcgemVyb3MgYmVmb3JlIHRoZSBkZWNpbWFsIHBvaW50IGFwYXJ0IHBvc3NpYmx5IGZyb20gdGhlIG9uZSByZXF1aXJlZCBkaWdpdCBpbW1lZGlhdGVseSBiZWZvcmUgdGhlIGRlY2ltYWwgcG9pbnQ7IGJleW9uZCB0aGUgb25lIHJlcXVpcmVkIGRpZ2l0IGFmdGVyIHRoZSBkZWNpbWFsIHBvaW50IHRoZXJlIG11c3QgYmUgYXMgbWFueSwgYnV0IG9ubHkgYXMgbWFueSwgbW9yZSBkaWdpdHMgYXMgYXJlIG5lZWRlZCB0byB1bmlxdWVseSBkaXN0aW5ndWlzaCB0aGUgbnVtYmVyIGZyb20gYWxsIG90aGVyIElFRUUgNzU0IG51bWVyaWMgdmFsdWVzLiAtIFRoZSBib29sZWFuIGZhbHNlIHZhbHVlIGlzIGNvbnZlcnRlZCB0byB0aGUgc3RyaW5nIGZhbHNlLiBUaGUgYm9vbGVhbiB0cnVlIHZhbHVlIGlzIGNvbnZlcnRlZCB0byB0aGUgc3RyaW5nIHRydWUuIElmIHRoZSBhcmd1bWVudCBpcyBvbWl0dGVkLCBpdCBkZWZhdWx0cyB0byBhIG5vZGUtc2V0IHdpdGggdGhlIGNvbnRleHQgbm9kZSBhcyBpdHMgb25seSBtZW1iZXIuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggUGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hcmdzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGFyZ3VtZW50czwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoU3RyaW5nTGVuZ3RoRnVuY3Rpb24iLz54bWxYUGF0aFN0cmluZ0xlbmd0aEZ1bmN0aW9uICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxYUGF0aFN0cmluZ0xlbmd0aEZ1bmN0aW9uCSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgaW50IG5hcmdzKTxici8+Cis8L3ByZT48cD5JbXBsZW1lbnQgdGhlIHN0cmluZy1sZW5ndGgoKSBYUGF0aCBmdW5jdGlvbiBudW1iZXIgc3RyaW5nLWxlbmd0aChzdHJpbmc/KSBUaGUgc3RyaW5nLWxlbmd0aCByZXR1cm5zIHRoZSBudW1iZXIgb2YgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNjaGFyYWN0ZXJzIj5jaGFyYWN0ZXJzPC9hPiBpbiB0aGUgc3RyaW5nIChzZWUgWzMuNiBTdHJpbmdzXSkuIElmIHRoZSBhcmd1bWVudCBpcyBvbWl0dGVkLCBpdCBkZWZhdWx0cyB0byB0aGUgY29udGV4dCBub2RlIGNvbnZlcnRlZCB0byBhIHN0cmluZywgaW4gb3RoZXIgd29yZHMgdGhlIHZhbHVlIG9mIHRoZSBjb250ZXh0IG5vZGUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggUGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hcmdzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGFyZ3VtZW50czwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoU3ViVmFsdWVzIi8+eG1sWFBhdGhTdWJWYWx1ZXMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFhQYXRoU3ViVmFsdWVzCQkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0KTxici8+Cis8L3ByZT48cD5JbXBsZW1lbnQgdGhlIHN1YnRyYWN0aW9uIG9wZXJhdGlvbiBvbiBYUGF0aCBvYmplY3RzOiBUaGUgbnVtZXJpYyBvcGVyYXRvcnMgY29udmVydCB0aGVpciBvcGVyYW5kcyB0byBudW1iZXJzIGFzIGlmIGJ5IGNhbGxpbmcgdGhlIG51bWJlciBmdW5jdGlvbi48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYUGF0aCBQYXJzZXIgY29udGV4dDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoU3Vic3RyaW5nQWZ0ZXJGdW5jdGlvbiIvPnhtbFhQYXRoU3Vic3RyaW5nQWZ0ZXJGdW5jdGlvbiAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sWFBhdGhTdWJzdHJpbmdBZnRlckZ1bmN0aW9uCSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgaW50IG5hcmdzKTxici8+Cis8L3ByZT48cD5JbXBsZW1lbnQgdGhlIHN1YnN0cmluZy1hZnRlcigpIFhQYXRoIGZ1bmN0aW9uIHN0cmluZyBzdWJzdHJpbmctYWZ0ZXIoc3RyaW5nLCBzdHJpbmcpIFRoZSBzdWJzdHJpbmctYWZ0ZXIgZnVuY3Rpb24gcmV0dXJucyB0aGUgc3Vic3RyaW5nIG9mIHRoZSBmaXJzdCBhcmd1bWVudCBzdHJpbmcgdGhhdCBmb2xsb3dzIHRoZSBmaXJzdCBvY2N1cnJlbmNlIG9mIHRoZSBzZWNvbmQgYXJndW1lbnQgc3RyaW5nIGluIHRoZSBmaXJzdCBhcmd1bWVudCBzdHJpbmcsIG9yIHRoZSBlbXB0eSBzdHJpbmdpIGlmIHRoZSBmaXJzdCBhcmd1bWVudCBzdHJpbmcgZG9lcyBub3QgY29udGFpbiB0aGUgc2Vjb25kIGFyZ3VtZW50IHN0cmluZy4gRm9yIGV4YW1wbGUsIHN1YnN0cmluZy1hZnRlcigiMTk5OS8wNC8wMSIsIi8iKSByZXR1cm5zIDA0LzAxLCBhbmQgc3Vic3RyaW5nLWFmdGVyKCIxOTk5LzA0LzAxIiwiMTkiKSByZXR1cm5zIDk5LzA0LzAxLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhQYXRoIFBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYXJnczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBhcmd1bWVudHM8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aFN1YnN0cmluZ0JlZm9yZUZ1bmN0aW9uIi8+eG1sWFBhdGhTdWJzdHJpbmdCZWZvcmVGdW5jdGlvbiAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sWFBhdGhTdWJzdHJpbmdCZWZvcmVGdW5jdGlvbgkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIGludCBuYXJncyk8YnIvPgorPC9wcmU+PHA+SW1wbGVtZW50IHRoZSBzdWJzdHJpbmctYmVmb3JlKCkgWFBhdGggZnVuY3Rpb24gc3RyaW5nIHN1YnN0cmluZy1iZWZvcmUoc3RyaW5nLCBzdHJpbmcpIFRoZSBzdWJzdHJpbmctYmVmb3JlIGZ1bmN0aW9uIHJldHVybnMgdGhlIHN1YnN0cmluZyBvZiB0aGUgZmlyc3QgYXJndW1lbnQgc3RyaW5nIHRoYXQgcHJlY2VkZXMgdGhlIGZpcnN0IG9jY3VycmVuY2Ugb2YgdGhlIHNlY29uZCBhcmd1bWVudCBzdHJpbmcgaW4gdGhlIGZpcnN0IGFyZ3VtZW50IHN0cmluZywgb3IgdGhlIGVtcHR5IHN0cmluZyBpZiB0aGUgZmlyc3QgYXJndW1lbnQgc3RyaW5nIGRvZXMgbm90IGNvbnRhaW4gdGhlIHNlY29uZCBhcmd1bWVudCBzdHJpbmcuIEZvciBleGFtcGxlLCBzdWJzdHJpbmctYmVmb3JlKCIxOTk5LzA0LzAxIiwiLyIpIHJldHVybnMgMTk5OS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYUGF0aCBQYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFyZ3M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgYXJndW1lbnRzPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhTdWJzdHJpbmdGdW5jdGlvbiIvPnhtbFhQYXRoU3Vic3RyaW5nRnVuY3Rpb24gKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFhQYXRoU3Vic3RyaW5nRnVuY3Rpb24JKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSBpbnQgbmFyZ3MpPGJyLz4KKzwvcHJlPjxwPkltcGxlbWVudCB0aGUgc3Vic3RyaW5nKCkgWFBhdGggZnVuY3Rpb24gc3RyaW5nIHN1YnN0cmluZyhzdHJpbmcsIG51bWJlciwgbnVtYmVyPykgVGhlIHN1YnN0cmluZyBmdW5jdGlvbiByZXR1cm5zIHRoZSBzdWJzdHJpbmcgb2YgdGhlIGZpcnN0IGFyZ3VtZW50IHN0YXJ0aW5nIGF0IHRoZSBwb3NpdGlvbiBzcGVjaWZpZWQgaW4gdGhlIHNlY29uZCBhcmd1bWVudCB3aXRoIGxlbmd0aCBzcGVjaWZpZWQgaW4gdGhlIHRoaXJkIGFyZ3VtZW50LiBGb3IgZXhhbXBsZSwgc3Vic3RyaW5nKCIxMjM0NSIsMiwzKSByZXR1cm5zICIyMzQiLiBJZiB0aGUgdGhpcmQgYXJndW1lbnQgaXMgbm90IHNwZWNpZmllZCwgaXQgcmV0dXJucyB0aGUgc3Vic3RyaW5nIHN0YXJ0aW5nIGF0IHRoZSBwb3NpdGlvbiBzcGVjaWZpZWQgaW4gdGhlIHNlY29uZCBhcmd1bWVudCBhbmQgY29udGludWluZyB0byB0aGUgZW5kIG9mIHRoZSBzdHJpbmcuIEZvciBleGFtcGxlLCBzdWJzdHJpbmcoIjEyMzQ1IiwyKSByZXR1cm5zICIyMzQ1Ii4gTW9yZSBwcmVjaXNlbHksIGVhY2ggY2hhcmFjdGVyIGluIHRoZSBzdHJpbmcgKHNlZSBbMy42IFN0cmluZ3NdKSBpcyBjb25zaWRlcmVkIHRvIGhhdmUgYSBudW1lcmljIHBvc2l0aW9uOiB0aGUgcG9zaXRpb24gb2YgdGhlIGZpcnN0IGNoYXJhY3RlciBpcyAxLCB0aGUgcG9zaXRpb24gb2YgdGhlIHNlY29uZCBjaGFyYWN0ZXIgaXMgMiBhbmQgc28gb24uIFRoZSByZXR1cm5lZCBzdWJzdHJpbmcgY29udGFpbnMgdGhvc2UgPGEgaHJlZj0ibGlieG1sMi1TQVguaHRtbCNjaGFyYWN0ZXJzIj5jaGFyYWN0ZXJzPC9hPiBmb3Igd2hpY2ggdGhlIHBvc2l0aW9uIG9mIHRoZSBjaGFyYWN0ZXIgaXMgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIHRoZSBzZWNvbmQgYXJndW1lbnQgYW5kLCBpZiB0aGUgdGhpcmQgYXJndW1lbnQgaXMgc3BlY2lmaWVkLCBsZXNzIHRoYW4gdGhlIHN1bSBvZiB0aGUgc2Vjb25kIGFuZCB0aGlyZCBhcmd1bWVudHM7IHRoZSBjb21wYXJpc29ucyBhbmQgYWRkaXRpb24gdXNlZCBmb3IgdGhlIGFib3ZlIGZvbGxvdyB0aGUgc3RhbmRhcmQgSUVFRSA3NTQgcnVsZXMuIFRodXM6IC0gc3Vic3RyaW5nKCIxMjM0NSIsIDEuNSwgMi42KSByZXR1cm5zICIyMzQiIC0gc3Vic3RyaW5nKCIxMjM0NSIsIDAsIDMpIHJldHVybnMgIjEyIiAtIHN1YnN0cmluZygiMTIzNDUiLCAwIGRpdiAwLCAzKSByZXR1cm5zICIiIC0gc3Vic3RyaW5nKCIxMjM0NSIsIDEsIDAgZGl2IDApIHJldHVybnMgIiIgLSBzdWJzdHJpbmcoIjEyMzQ1IiwgLTQyLCAxIGRpdiAwKSByZXR1cm5zICIxMjM0NSIgLSBzdWJzdHJpbmcoIjEyMzQ1IiwgLTEgZGl2IDAsIDEgZGl2IDApIHJldHVybnMgIiI8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYUGF0aCBQYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFyZ3M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgYXJndW1lbnRzPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhTdW1GdW5jdGlvbiIvPnhtbFhQYXRoU3VtRnVuY3Rpb24gKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFhQYXRoU3VtRnVuY3Rpb24JCSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgaW50IG5hcmdzKTxici8+Cis8L3ByZT48cD5JbXBsZW1lbnQgdGhlIHN1bSgpIFhQYXRoIGZ1bmN0aW9uIG51bWJlciBzdW0obm9kZS1zZXQpIFRoZSBzdW0gZnVuY3Rpb24gcmV0dXJucyB0aGUgc3VtIG9mIHRoZSB2YWx1ZXMgb2YgdGhlIG5vZGVzIGluIHRoZSBhcmd1bWVudCBub2RlLXNldC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYUGF0aCBQYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFyZ3M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgYXJndW1lbnRzPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhUcmFpbGluZyIvPnhtbFhQYXRoVHJhaWxpbmcgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4JeG1sWFBhdGhUcmFpbGluZwkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IG5vZGVzMSwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gbm9kZXMyKTxici8+Cis8L3ByZT48cD5JbXBsZW1lbnRzIHRoZSBFWFNMVCAtIFNldHMgdHJhaWxpbmcoKSBmdW5jdGlvbjogbm9kZS1zZXQgc2V0OnRyYWlsaW5nIChub2RlLXNldCwgbm9kZS1zZXQpIEBub2RlczEgYW5kIEBub2RlczIgYXJlIHNvcnRlZCBieSBkb2N1bWVudCBvcmRlciwgdGhlbiAjeG1sWFBhdGhUcmFpbGluZ1NvcnRlZCBpcyBjYWxsZWQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlczE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbm9kZS1zZXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGVzMjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBub2RlLXNldDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vZGVzIGluIEBub2RlczEgdGhhdCBmb2xsb3cgdGhlIGZpcnN0IG5vZGUgaW4gQG5vZGVzMiBpbiBkb2N1bWVudCBvcmRlciwgQG5vZGVzMSBpZiBAbm9kZXMyIGlzIE5VTEwgb3IgZW1wdHkgb3IgYW4gZW1wdHkgbm9kZS1zZXQgaWYgQG5vZGVzMSBkb2Vzbid0IGNvbnRhaW4gQG5vZGVzMjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoVHJhaWxpbmdTb3J0ZWQiLz54bWxYUGF0aFRyYWlsaW5nU29ydGVkICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+CXhtbFhQYXRoVHJhaWxpbmdTb3J0ZWQJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBub2RlczEsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IG5vZGVzMik8YnIvPgorPC9wcmU+PHA+SW1wbGVtZW50cyB0aGUgRVhTTFQgLSBTZXRzIHRyYWlsaW5nKCkgZnVuY3Rpb246IG5vZGUtc2V0IHNldDp0cmFpbGluZyAobm9kZS1zZXQsIG5vZGUtc2V0KTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZXMxPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIG5vZGUtc2V0LCBzb3J0ZWQgYnkgZG9jdW1lbnQgb3JkZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGVzMjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBub2RlLXNldCwgc29ydGVkIGJ5IGRvY3VtZW50IG9yZGVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbm9kZXMgaW4gQG5vZGVzMSB0aGF0IGZvbGxvdyB0aGUgZmlyc3Qgbm9kZSBpbiBAbm9kZXMyIGluIGRvY3VtZW50IG9yZGVyLCBAbm9kZXMxIGlmIEBub2RlczIgaXMgTlVMTCBvciBlbXB0eSBvciBhbiBlbXB0eSBub2RlLXNldCBpZiBAbm9kZXMxIGRvZXNuJ3QgY29udGFpbiBAbm9kZXMyPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhUcmFuc2xhdGVGdW5jdGlvbiIvPnhtbFhQYXRoVHJhbnNsYXRlRnVuY3Rpb24gKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFhQYXRoVHJhbnNsYXRlRnVuY3Rpb24JKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCSBpbnQgbmFyZ3MpPGJyLz4KKzwvcHJlPjxwPkltcGxlbWVudCB0aGUgdHJhbnNsYXRlKCkgWFBhdGggZnVuY3Rpb24gc3RyaW5nIHRyYW5zbGF0ZShzdHJpbmcsIHN0cmluZywgc3RyaW5nKSBUaGUgdHJhbnNsYXRlIGZ1bmN0aW9uIHJldHVybnMgdGhlIGZpcnN0IGFyZ3VtZW50IHN0cmluZyB3aXRoIG9jY3VycmVuY2VzIG9mIDxhIGhyZWY9ImxpYnhtbDItU0FYLmh0bWwjY2hhcmFjdGVycyI+Y2hhcmFjdGVyczwvYT4gaW4gdGhlIHNlY29uZCBhcmd1bWVudCBzdHJpbmcgcmVwbGFjZWQgYnkgdGhlIGNoYXJhY3RlciBhdCB0aGUgY29ycmVzcG9uZGluZyBwb3NpdGlvbiBpbiB0aGUgdGhpcmQgYXJndW1lbnQgc3RyaW5nLiBGb3IgZXhhbXBsZSwgdHJhbnNsYXRlKCJiYXIiLCJhYmMiLCJBQkMiKSByZXR1cm5zIHRoZSBzdHJpbmcgQkFyLiBJZiB0aGVyZSBpcyBhIGNoYXJhY3RlciBpbiB0aGUgc2Vjb25kIGFyZ3VtZW50IHN0cmluZyB3aXRoIG5vIGNoYXJhY3RlciBhdCBhIGNvcnJlc3BvbmRpbmcgcG9zaXRpb24gaW4gdGhlIHRoaXJkIGFyZ3VtZW50IHN0cmluZyAoYmVjYXVzZSB0aGUgc2Vjb25kIGFyZ3VtZW50IHN0cmluZyBpcyBsb25nZXIgdGhhbiB0aGUgdGhpcmQgYXJndW1lbnQgc3RyaW5nKSwgdGhlbiBvY2N1cnJlbmNlcyBvZiB0aGF0IGNoYXJhY3RlciBpbiB0aGUgZmlyc3QgYXJndW1lbnQgc3RyaW5nIGFyZSByZW1vdmVkLiBGb3IgZXhhbXBsZSwgdHJhbnNsYXRlKCItLWFhYS0tIiwiYWJjLSIsIkFCQyIpPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggUGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hcmdzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGFyZ3VtZW50czwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoVHJ1ZUZ1bmN0aW9uIi8+eG1sWFBhdGhUcnVlRnVuY3Rpb24gKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFhQYXRoVHJ1ZUZ1bmN0aW9uCQkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIGludCBuYXJncyk8YnIvPgorPC9wcmU+PHA+SW1wbGVtZW50IHRoZSB0cnVlKCkgWFBhdGggZnVuY3Rpb24gYm9vbGVhbiB0cnVlKCk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYUGF0aCBQYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFyZ3M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgYXJndW1lbnRzPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhWYWx1ZUZsaXBTaWduIi8+eG1sWFBhdGhWYWx1ZUZsaXBTaWduICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxYUGF0aFZhbHVlRmxpcFNpZ24JCSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQpPGJyLz4KKzwvcHJlPjxwPkltcGxlbWVudCB0aGUgdW5hcnkgLSBvcGVyYXRpb24gb24gYW4gWFBhdGggb2JqZWN0IFRoZSBudW1lcmljIG9wZXJhdG9ycyBjb252ZXJ0IHRoZWlyIG9wZXJhbmRzIHRvIG51bWJlcnMgYXMgaWYgYnkgY2FsbGluZyB0aGUgbnVtYmVyIGZ1bmN0aW9uLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhQYXRoIFBhcnNlciBjb250ZXh0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhWYXJpYWJsZUxvb2t1cCIvPnhtbFhQYXRoVmFyaWFibGVMb29rdXAgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPgl4bWxYUGF0aFZhcmlhYmxlTG9va3VwCSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0UHRyIj54bWxYUGF0aENvbnRleHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKTxici8+Cis8L3ByZT48cD5TZWFyY2ggaW4gdGhlIFZhcmlhYmxlIGFycmF5IG9mIHRoZSBjb250ZXh0IGZvciB0aGUgZ2l2ZW4gdmFyaWFibGUgdmFsdWUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHZhcmlhYmxlIG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgY29weSBvZiB0aGUgdmFsdWUgb3IgTlVMTCBpZiBub3QgZm91bmQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aFZhcmlhYmxlTG9va3VwTlMiLz54bWxYUGF0aFZhcmlhYmxlTG9va3VwTlMgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPgl4bWxYUGF0aFZhcmlhYmxlTG9va3VwTlMJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHRQdHIiPnhtbFhQYXRoQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyLz4JCQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIvPgkJCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5zX3VyaSk8YnIvPgorPC9wcmU+PHA+U2VhcmNoIGluIHRoZSBWYXJpYWJsZSBhcnJheSBvZiB0aGUgY29udGV4dCBmb3IgdGhlIGdpdmVuIHZhcmlhYmxlIHZhbHVlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhQYXRoIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB2YXJpYWJsZSBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uc191cmk8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB2YXJpYWJsZSBuYW1lc3BhY2UgVVJJPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYSBjb3B5IG9mIHRoZSB2YWx1ZSBvciBOVUxMIGlmIG5vdCBmb3VuZDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoV3JhcENTdHJpbmciLz54bWxYUGF0aFdyYXBDU3RyaW5nICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4JeG1sWFBhdGhXcmFwQ1N0cmluZwkoY2hhciAqIHZhbCk8YnIvPgorPC9wcmU+PHA+V3JhcHMgYSBzdHJpbmcgaW50byBhbiBYUGF0aCBvYmplY3QuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjaGFyICogdmFsdWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXdseSBjcmVhdGVkIG9iamVjdC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aFdyYXBFeHRlcm5hbCIvPnhtbFhQYXRoV3JhcEV4dGVybmFsICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4JeG1sWFBhdGhXcmFwRXh0ZXJuYWwJKHZvaWQgKiB2YWwpPGJyLz4KKzwvcHJlPjxwPldyYXBzIHRoZSBAdmFsIGRhdGEgaW50byBhbiBYUGF0aCBvYmplY3QuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIGRhdGE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXdseSBjcmVhdGVkIG9iamVjdC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUGF0aFdyYXBOb2RlU2V0Ii8+eG1sWFBhdGhXcmFwTm9kZVNldCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+CXhtbFhQYXRoV3JhcE5vZGVTZXQJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiB2YWwpPGJyLz4KKzwvcHJlPjxwPldyYXAgdGhlIE5vZGVzZXQgQHZhbCBpbiBhIG5ldyA8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgTm9kZVB0ciB2YWx1ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ld2x5IGNyZWF0ZWQgb2JqZWN0LjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQYXRoV3JhcFN0cmluZyIvPnhtbFhQYXRoV3JhcFN0cmluZyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+CXhtbFhQYXRoV3JhcFN0cmluZwkoPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHZhbCk8YnIvPgorPC9wcmU+PHA+V3JhcHMgdGhlIEB2YWwgc3RyaW5nIGludG8gYW4gWFBhdGggb2JqZWN0LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHZhbHVlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFBhdGhlcnJvciIvPnhtbFhQYXRoZXJyb3IgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFhQYXRoZXJyb3IJCQkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIGNvbnN0IGNoYXIgKiBmaWxlLCA8YnIvPgkJCQkJIGludCBsaW5lLCA8YnIvPgkJCQkJIGludCBubyk8YnIvPgorPC9wcmU+PHA+Rm9ybWF0cyBhbiBlcnJvciBtZXNzYWdlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhQYXRoIFBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZmlsZSBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5saW5lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbGluZSBudW1iZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZXJyb3IgbnVtYmVyPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgIDwvZGl2PgorICAgIDwvZGl2PgorICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9kZXZoZWxwL2xpYnhtbDIteHBvaW50ZXIuaHRtbCBiL2xpYnhtbDIvZG9jL2RldmhlbHAvbGlieG1sMi14cG9pbnRlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgwN2VlZDcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9kZXZoZWxwL2xpYnhtbDIteHBvaW50ZXIuaHRtbApAQCAtMCwwICsxLDE3MSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxodG1sPgorICA8aGVhZD4KKyAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIvPgorICAgIDx0aXRsZT54cG9pbnRlcjogQVBJIHRvIGhhbmRsZSBYTUwgUG9pbnRlcnM8L3RpdGxlPgorICAgIDxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iTGlieG1sMiBkZXZoZWxwIHN0eWxlc2hlZXQiLz4KKyAgICA8bGluayByZWw9InN0YXJ0IiBocmVmPSJpbmRleC5odG1sIiB0aXRsZT0ibGlieG1sMiBSZWZlcmVuY2UgTWFudWFsIi8+CisgICAgPGxpbmsgcmVsPSJ1cCIgaHJlZj0iZ2VuZXJhbC5odG1sIiB0aXRsZT0iQVBJIi8+CisgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJzdHlsZS5jc3MiIHR5cGU9InRleHQvY3NzIi8+CisgICAgPGxpbmsgcmVsPSJjaGFwdGVyIiBocmVmPSJnZW5lcmFsLmh0bWwiIHRpdGxlPSJBUEkiLz4KKyAgPC9oZWFkPgorICA8Ym9keSBiZ2NvbG9yPSJ3aGl0ZSIgdGV4dD0iYmxhY2siIGxpbms9IiMwMDAwRkYiIHZsaW5rPSIjODQwMDg0IiBhbGluaz0iIzAwMDBGRiI+CisgICAgPHRhYmxlIGNsYXNzPSJuYXZpZ2F0aW9uIiB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBoZWFkZXIiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMiI+CisgICAgICA8dHIgdmFsaWduPSJtaWRkbGUiPgorICAgICAgICA8dGQ+CisgICAgICAgICAgPGEgYWNjZXNza2V5PSJwIiBocmVmPSJsaWJ4bWwyLXhwYXRoSW50ZXJuYWxzLmh0bWwiPgorICAgICAgICAgICAgPGltZyBzcmM9ImxlZnQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJQcmV2Ii8+CisgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGQ+CisgICAgICAgICAgPGEgYWNjZXNza2V5PSJ1IiBocmVmPSJnZW5lcmFsLmh0bWwiPgorICAgICAgICAgICAgPGltZyBzcmM9InVwLnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iVXAiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9ImgiIGhyZWY9ImluZGV4Lmh0bWwiPgorICAgICAgICAgICAgPGltZyBzcmM9ImhvbWUucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJIb21lIi8+CisgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGggd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPmxpYnhtbDIgUmVmZXJlbmNlIE1hbnVhbDwvdGg+CisgICAgICA8L3RyPgorICAgIDwvdGFibGU+CisgICAgPGgyPgorICAgICAgPHNwYW4gY2xhc3M9InJlZmVudHJ5dGl0bGUiPnhwb2ludGVyPC9zcGFuPgorICAgIDwvaDI+CisgICAgPHA+eHBvaW50ZXIgLSBBUEkgdG8gaGFuZGxlIFhNTCBQb2ludGVyczwvcD4KKyAgICA8cD5BUEkgdG8gaGFuZGxlIFhNTCBQb2ludGVycyBCYXNlIGltcGxlbWVudGF0aW9uIHdhcyBtYWRlIGFjY29yZGluZ2x5IHRvIFczQyBDYW5kaWRhdGUgUmVjb21tZW5kYXRpb24gNyBKdW5lIDIwMDA8L3A+CisgICAgPHA+QXV0aG9yKHMpOiBEYW5pZWwgVmVpbGxhcmQgPC9wPgorICAgIDxkaXYgY2xhc3M9InJlZnN5bm9wc2lzZGl2Ij4KKyAgICAgIDxoMj5TeW5vcHNpczwvaDI+CisgICAgICA8cHJlIGNsYXNzPSJzeW5vcHNpcyI+dHlwZWRlZiBzdHJ1Y3QgX3htbExvY2F0aW9uU2V0IDxhIGhyZWY9IiN4bWxMb2NhdGlvblNldCI+eG1sTG9jYXRpb25TZXQ8L2E+OwordHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwyLXhwb2ludGVyLmh0bWwjeG1sTG9jYXRpb25TZXQiPnhtbExvY2F0aW9uU2V0PC9hPiAqIDxhIGhyZWY9IiN4bWxMb2NhdGlvblNldFB0ciI+eG1sTG9jYXRpb25TZXRQdHI8L2E+OworPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4JPGEgaHJlZj0iI3htbFhQdHJOZXdSYW5nZSI+eG1sWFB0ck5ld1JhbmdlPC9hPgkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gc3RhcnQsIDxici8+CQkJCQkgaW50IHN0YXJ0aW5kZXgsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gZW5kLCA8YnIvPgkJCQkJIGludCBlbmRpbmRleCk7Cit2b2lkCTxhIGhyZWY9IiN4bWxYUHRyRnJlZUxvY2F0aW9uU2V0Ij54bWxYUHRyRnJlZUxvY2F0aW9uU2V0PC9hPgkJKDxhIGhyZWY9ImxpYnhtbDIteHBvaW50ZXIuaHRtbCN4bWxMb2NhdGlvblNldFB0ciI+eG1sTG9jYXRpb25TZXRQdHI8L2E+IG9iaik7Cis8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPgk8YSBocmVmPSIjeG1sWFB0cldyYXBMb2NhdGlvblNldCI+eG1sWFB0cldyYXBMb2NhdGlvblNldDwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteHBvaW50ZXIuaHRtbCN4bWxMb2NhdGlvblNldFB0ciI+eG1sTG9jYXRpb25TZXRQdHI8L2E+IHZhbCk7Cis8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgk8YSBocmVmPSIjeG1sWFB0ckJ1aWxkTm9kZUxpc3QiPnhtbFhQdHJCdWlsZE5vZGVMaXN0PC9hPgkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4gb2JqKTsKKzxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+CTxhIGhyZWY9IiN4bWxYUHRyRXZhbCI+eG1sWFB0ckV2YWw8L2E+CShjb25zdCA8YSBocmVmPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3RyLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHRQdHIiPnhtbFhQYXRoQ29udGV4dFB0cjwvYT4gY3R4KTsKKzxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+CTxhIGhyZWY9IiN4bWxYUHRyTmV3UmFuZ2VOb2RlcyI+eG1sWFB0ck5ld1JhbmdlTm9kZXM8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBzdGFydCwgPGJyLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gZW5kKTsKK3ZvaWQJPGEgaHJlZj0iI3htbFhQdHJMb2NhdGlvblNldEFkZCI+eG1sWFB0ckxvY2F0aW9uU2V0QWRkPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDIteHBvaW50ZXIuaHRtbCN4bWxMb2NhdGlvblNldFB0ciI+eG1sTG9jYXRpb25TZXRQdHI8L2E+IGN1ciwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPiB2YWwpOwordm9pZAk8YSBocmVmPSIjeG1sWFB0clJhbmdlVG9GdW5jdGlvbiI+eG1sWFB0clJhbmdlVG9GdW5jdGlvbjwvYT4JCSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsIDxici8+CQkJCQkgaW50IG5hcmdzKTsKKzxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+CTxhIGhyZWY9IiN4bWxYUHRyTmV3Q29sbGFwc2VkUmFuZ2UiPnhtbFhQdHJOZXdDb2xsYXBzZWRSYW5nZTwvYT4JKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IHN0YXJ0KTsKKzxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+CTxhIGhyZWY9IiN4bWxYUHRyTmV3UmFuZ2VQb2ludHMiPnhtbFhQdHJOZXdSYW5nZVBvaW50czwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IHN0YXJ0LCA8YnIvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPiBlbmQpOworPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4JPGEgaHJlZj0iI3htbFhQdHJOZXdMb2NhdGlvblNldE5vZGVTZXQiPnhtbFhQdHJOZXdMb2NhdGlvblNldE5vZGVTZXQ8L2E+CSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gc2V0KTsKKzxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+CTxhIGhyZWY9IiN4bWxYUHRyTmV3UmFuZ2VQb2ludE5vZGUiPnhtbFhQdHJOZXdSYW5nZVBvaW50Tm9kZTwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IHN0YXJ0LCA8YnIvPgkJCQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gZW5kKTsKKzxhIGhyZWY9ImxpYnhtbDIteHBvaW50ZXIuaHRtbCN4bWxMb2NhdGlvblNldFB0ciI+eG1sTG9jYXRpb25TZXRQdHI8L2E+CTxhIGhyZWY9IiN4bWxYUHRyTG9jYXRpb25TZXRDcmVhdGUiPnhtbFhQdHJMb2NhdGlvblNldENyZWF0ZTwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IHZhbCk7Cis8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPgk8YSBocmVmPSIjeG1sWFB0ck5ld1JhbmdlTm9kZU9iamVjdCI+eG1sWFB0ck5ld1JhbmdlTm9kZU9iamVjdDwvYT4JKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IHN0YXJ0LCA8YnIvPgkJCQkJCQkgPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4gZW5kKTsKKzxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHRQdHIiPnhtbFhQYXRoQ29udGV4dFB0cjwvYT4JPGEgaHJlZj0iI3htbFhQdHJOZXdDb250ZXh0Ij54bWxYUHRyTmV3Q29udGV4dDwvYT4JKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxici8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGhlcmUsIDxici8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG9yaWdpbik7Cit2b2lkCTxhIGhyZWY9IiN4bWxYUHRyTG9jYXRpb25TZXRSZW1vdmUiPnhtbFhQdHJMb2NhdGlvblNldFJlbW92ZTwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteHBvaW50ZXIuaHRtbCN4bWxMb2NhdGlvblNldFB0ciI+eG1sTG9jYXRpb25TZXRQdHI8L2E+IGN1ciwgPGJyLz4JCQkJCSBpbnQgdmFsKTsKKzxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+CTxhIGhyZWY9IiN4bWxYUHRyTmV3UmFuZ2VOb2RlUG9pbnQiPnhtbFhQdHJOZXdSYW5nZU5vZGVQb2ludDwvYT4JKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IHN0YXJ0LCA8YnIvPgkJCQkJCQkgPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4gZW5kKTsKK3ZvaWQJPGEgaHJlZj0iI3htbFhQdHJMb2NhdGlvblNldERlbCI+eG1sWFB0ckxvY2F0aW9uU2V0RGVsPC9hPgkJKDxhIGhyZWY9ImxpYnhtbDIteHBvaW50ZXIuaHRtbCN4bWxMb2NhdGlvblNldFB0ciI+eG1sTG9jYXRpb25TZXRQdHI8L2E+IGN1ciwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPiB2YWwpOworPGEgaHJlZj0ibGlieG1sMi14cG9pbnRlci5odG1sI3htbExvY2F0aW9uU2V0UHRyIj54bWxMb2NhdGlvblNldFB0cjwvYT4JPGEgaHJlZj0iI3htbFhQdHJMb2NhdGlvblNldE1lcmdlIj54bWxYUHRyTG9jYXRpb25TZXRNZXJnZTwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteHBvaW50ZXIuaHRtbCN4bWxMb2NhdGlvblNldFB0ciI+eG1sTG9jYXRpb25TZXRQdHI8L2E+IHZhbDEsIDxici8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteHBvaW50ZXIuaHRtbCN4bWxMb2NhdGlvblNldFB0ciI+eG1sTG9jYXRpb25TZXRQdHI8L2E+IHZhbDIpOwordm9pZAk8YSBocmVmPSIjeG1sWFB0ckV2YWxSYW5nZVByZWRpY2F0ZSI+eG1sWFB0ckV2YWxSYW5nZVByZWRpY2F0ZTwvYT4JKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCk7Cis8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPgk8YSBocmVmPSIjeG1sWFB0ck5ld0xvY2F0aW9uU2V0Tm9kZXMiPnhtbFhQdHJOZXdMb2NhdGlvblNldE5vZGVzPC9hPgkoPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gc3RhcnQsIDxici8+CQkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBlbmQpOworPC9wcmU+CisgICAgPC9kaXY+CisgICAgPGRpdiBjbGFzcz0icmVmc2VjdDEiIGxhbmc9ImVuIj4KKyAgICAgIDxoMj5EZXNjcmlwdGlvbjwvaDI+CisgICAgPC9kaXY+CisgICAgPGRpdiBjbGFzcz0icmVmc2VjdDEiIGxhbmc9ImVuIj4KKyAgICAgIDxoMj5EZXRhaWxzPC9oMj4KKyAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbExvY2F0aW9uU2V0Ij5TdHJ1Y3R1cmUgPC9hPnhtbExvY2F0aW9uU2V0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+c3RydWN0IF94bWxMb2NhdGlvblNldCB7CisgICAgaW50CWxvY05yCTogbnVtYmVyIG9mIGxvY2F0aW9ucyBpbiB0aGUgc2V0CisgICAgaW50CWxvY01heAk6IHNpemUgb2YgdGhlIGFycmF5IGFzIGFsbG9jYXRlZAorICAgIDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+ICoJbG9jVGFiCTogYXJyYXkgb2YgbG9jYXRpb25zCit9IHhtbExvY2F0aW9uU2V0OworPC9wcmU+PHAvPgorPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbExvY2F0aW9uU2V0UHRyIj5UeXBlZGVmIDwvYT54bWxMb2NhdGlvblNldFB0cjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteHBvaW50ZXIuaHRtbCN4bWxMb2NhdGlvblNldCI+eG1sTG9jYXRpb25TZXQ8L2E+ICogeG1sTG9jYXRpb25TZXRQdHI7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFB0ckJ1aWxkTm9kZUxpc3QiLz54bWxYUHRyQnVpbGROb2RlTGlzdCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CXhtbFhQdHJCdWlsZE5vZGVMaXN0CSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPiBvYmopPGJyLz4KKzwvcHJlPjxwPkJ1aWxkIGEgbm9kZSBsaXN0IHRyZWUgY29weSBvZiB0aGUgWFBvaW50ZXIgcmVzdWx0LiBUaGlzIHdpbGwgZHJvcCBBdHRyaWJ1dGVzIGFuZCBOYW1lc3BhY2UgZGVjbGFyYXRpb25zLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b2JqPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBvaW50ZXIgcmVzdWx0IGZyb20gdGhlIGV2YWx1YXRpb24uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBsaXN0IG9yIE5VTEwuIHRoZSBjYWxsZXIgaGFzIHRvIGZyZWUgdGhlIG5vZGUgdHJlZS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUHRyRXZhbCIvPnhtbFhQdHJFdmFsICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4JeG1sWFB0ckV2YWwJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzdHIsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFB0ciI+eG1sWFBhdGhDb250ZXh0UHRyPC9hPiBjdHgpPGJyLz4KKzwvcHJlPjxwPkV2YWx1YXRlIHRoZSBYUGF0aCBMb2NhdGlvbiBQYXRoIGluIHRoZSBnaXZlbiBjb250ZXh0LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3RyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBvaW50ZXIgZXhwcmVzc2lvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBvaW50ZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IHJlc3VsdGluZyBmcm9tIHRoZSBldmFsdWF0aW9uIG9yIE5VTEwuIHRoZSBjYWxsZXIgaGFzIHRvIGZyZWUgdGhlIG9iamVjdC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUHRyRXZhbFJhbmdlUHJlZGljYXRlIi8+eG1sWFB0ckV2YWxSYW5nZVByZWRpY2F0ZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sWFB0ckV2YWxSYW5nZVByZWRpY2F0ZQkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0KTxici8+Cis8L3ByZT48cD5bOF0gUHJlZGljYXRlIDo6PSAnWycgUHJlZGljYXRlRXhwciAnXScgWzldIFByZWRpY2F0ZUV4cHIgOjo9IEV4cHIgRXZhbHVhdGUgYSBwcmVkaWNhdGUgYXMgaW4geG1sWFBhdGhFdmFsUHJlZGljYXRlKCkgYnV0IGZvciBhIExvY2F0aW9uIFNldCBpbnN0ZWFkIG9mIGEgbm9kZSBzZXQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYUG9pbnRlciBQYXJzZXIgY29udGV4dDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQdHJGcmVlTG9jYXRpb25TZXQiLz54bWxYUHRyRnJlZUxvY2F0aW9uU2V0ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxYUHRyRnJlZUxvY2F0aW9uU2V0CQkoPGEgaHJlZj0ibGlieG1sMi14cG9pbnRlci5odG1sI3htbExvY2F0aW9uU2V0UHRyIj54bWxMb2NhdGlvblNldFB0cjwvYT4gb2JqKTxici8+Cis8L3ByZT48cD5GcmVlIHRoZSBMb2NhdGlvblNldCBjb21wb3VuZCAobm90IHRoZSBhY3R1YWwgcmFuZ2VzICEpLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b2JqPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sMi14cG9pbnRlci5odG1sI3htbExvY2F0aW9uU2V0UHRyIj54bWxMb2NhdGlvblNldFB0cjwvYT4gdG8gZnJlZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQdHJMb2NhdGlvblNldEFkZCIvPnhtbFhQdHJMb2NhdGlvblNldEFkZCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sWFB0ckxvY2F0aW9uU2V0QWRkCQkoPGEgaHJlZj0ibGlieG1sMi14cG9pbnRlci5odG1sI3htbExvY2F0aW9uU2V0UHRyIj54bWxMb2NhdGlvblNldFB0cjwvYT4gY3VyLCA8YnIvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IHZhbCk8YnIvPgorPC9wcmU+PHA+YWRkIGEgbmV3IDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IHRvIGFuIGV4aXN0aW5nIExvY2F0aW9uU2V0IElmIHRoZSBsb2NhdGlvbiBhbHJlYWR5IGV4aXN0IGluIHRoZSBzZXQgQHZhbCBpcyBmcmVlZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGluaXRpYWwgcmFuZ2Ugc2V0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbmV3IDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFB0ckxvY2F0aW9uU2V0Q3JlYXRlIi8+eG1sWFB0ckxvY2F0aW9uU2V0Q3JlYXRlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14cG9pbnRlci5odG1sI3htbExvY2F0aW9uU2V0UHRyIj54bWxMb2NhdGlvblNldFB0cjwvYT4JeG1sWFB0ckxvY2F0aW9uU2V0Q3JlYXRlCSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPiB2YWwpPGJyLz4KKzwvcHJlPjxwPkNyZWF0ZSBhIG5ldyA8YSBocmVmPSJsaWJ4bWwyLXhwb2ludGVyLmh0bWwjeG1sTG9jYXRpb25TZXRQdHIiPnhtbExvY2F0aW9uU2V0UHRyPC9hPiBvZiB0eXBlIGRvdWJsZSBhbmQgb2YgdmFsdWUgQHZhbDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBpbml0aWFsIHhtbFhQYXRoT2JqZWN0UHRyLCBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFB0ckxvY2F0aW9uU2V0RGVsIi8+eG1sWFB0ckxvY2F0aW9uU2V0RGVsICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxYUHRyTG9jYXRpb25TZXREZWwJCSg8YSBocmVmPSJsaWJ4bWwyLXhwb2ludGVyLmh0bWwjeG1sTG9jYXRpb25TZXRQdHIiPnhtbExvY2F0aW9uU2V0UHRyPC9hPiBjdXIsIDxici8+CQkJCQkgPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4gdmFsKTxici8+Cis8L3ByZT48cD5SZW1vdmVzIGFuIDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IGZyb20gYW4gZXhpc3RpbmcgTG9jYXRpb25TZXQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGluaXRpYWwgcmFuZ2Ugc2V0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFB0ckxvY2F0aW9uU2V0TWVyZ2UiLz54bWxYUHRyTG9jYXRpb25TZXRNZXJnZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteHBvaW50ZXIuaHRtbCN4bWxMb2NhdGlvblNldFB0ciI+eG1sTG9jYXRpb25TZXRQdHI8L2E+CXhtbFhQdHJMb2NhdGlvblNldE1lcmdlCSg8YSBocmVmPSJsaWJ4bWwyLXhwb2ludGVyLmh0bWwjeG1sTG9jYXRpb25TZXRQdHIiPnhtbExvY2F0aW9uU2V0UHRyPC9hPiB2YWwxLCA8YnIvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXhwb2ludGVyLmh0bWwjeG1sTG9jYXRpb25TZXRQdHIiPnhtbExvY2F0aW9uU2V0UHRyPC9hPiB2YWwyKTxici8+Cis8L3ByZT48cD5NZXJnZXMgdHdvIHJhbmdlc2V0cywgYWxsIHJhbmdlcyBmcm9tIEB2YWwyIGFyZSBhZGRlZCB0byBAdmFsMTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsMTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZpcnN0IExvY2F0aW9uU2V0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWwyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc2Vjb25kIExvY2F0aW9uU2V0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD52YWwxIG9uY2UgZXh0ZW5kZWQgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQdHJMb2NhdGlvblNldFJlbW92ZSIvPnhtbFhQdHJMb2NhdGlvblNldFJlbW92ZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sWFB0ckxvY2F0aW9uU2V0UmVtb3ZlCSg8YSBocmVmPSJsaWJ4bWwyLXhwb2ludGVyLmh0bWwjeG1sTG9jYXRpb25TZXRQdHIiPnhtbExvY2F0aW9uU2V0UHRyPC9hPiBjdXIsIDxici8+CQkJCQkgaW50IHZhbCk8YnIvPgorPC9wcmU+PHA+UmVtb3ZlcyBhbiBlbnRyeSBmcm9tIGFuIGV4aXN0aW5nIExvY2F0aW9uU2V0IGxpc3QuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBpbml0aWFsIHJhbmdlIHNldDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaW5kZXggdG8gcmVtb3ZlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFB0ck5ld0NvbGxhcHNlZFJhbmdlIi8+eG1sWFB0ck5ld0NvbGxhcHNlZFJhbmdlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4JeG1sWFB0ck5ld0NvbGxhcHNlZFJhbmdlCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBzdGFydCk8YnIvPgorPC9wcmU+PHA+Q3JlYXRlIGEgbmV3IDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IG9mIHR5cGUgcmFuZ2UgdXNpbmcgYSBzaW5nbGUgbm9kZXM8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0YXJ0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc3RhcnRpbmcgYW5kIGVuZGluZyBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFB0ck5ld0NvbnRleHQiLz54bWxYUHRyTmV3Q29udGV4dCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHRQdHIiPnhtbFhQYXRoQ29udGV4dFB0cjwvYT4JeG1sWFB0ck5ld0NvbnRleHQJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxici8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGhlcmUsIDxici8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG9yaWdpbik8YnIvPgorPC9wcmU+PHA+Q3JlYXRlIGEgbmV3IFhQb2ludGVyIGNvbnRleHQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhNTCBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aGVyZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vZGUgdGhhdCBkaXJlY3RseSBjb250YWlucyB0aGUgWFBvaW50ZXIgYmVpbmcgZXZhbHVhdGVkIG9yIE5VTEw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm9yaWdpbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVsZW1lbnQgZnJvbSB3aGljaCBhIHVzZXIgb3IgcHJvZ3JhbSBpbml0aWF0ZWQgdHJhdmVyc2FsIG9mIHRoZSBsaW5rLCBvciBOVUxMLjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHQiPnhtbFhQYXRoQ29udGV4dDwvYT4ganVzdCBhbGxvY2F0ZWQuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFB0ck5ld0xvY2F0aW9uU2V0Tm9kZVNldCIvPnhtbFhQdHJOZXdMb2NhdGlvblNldE5vZGVTZXQgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPgl4bWxYUHRyTmV3TG9jYXRpb25TZXROb2RlU2V0CSg8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gc2V0KTxici8+Cis8L3ByZT48cD5DcmVhdGUgYSBuZXcgPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4gb2YgdHlwZSBMb2NhdGlvblNldCBhbmQgaW5pdGlhbGl6ZSBpdCB3aXRoIGFsbCB0aGUgbm9kZXMgZnJvbSBAc2V0PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zZXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbm9kZSBzZXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXdseSBjcmVhdGVkIG9iamVjdC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUHRyTmV3TG9jYXRpb25TZXROb2RlcyIvPnhtbFhQdHJOZXdMb2NhdGlvblNldE5vZGVzICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4JeG1sWFB0ck5ld0xvY2F0aW9uU2V0Tm9kZXMJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IHN0YXJ0LCA8YnIvPgkJCQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gZW5kKTxici8+Cis8L3ByZT48cD5DcmVhdGUgYSBuZXcgPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4gb2YgdHlwZSBMb2NhdGlvblNldCBhbmQgaW5pdGlhbGl6ZSBpdCB3aXRoIHRoZSBzaW5nbGUgcmFuZ2UgbWFkZSBvZiB0aGUgdHdvIG5vZGVzIEBzdGFydCBhbmQgQGVuZDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3RhcnQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzdGFydCBOb2RlUHRyIHZhbHVlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbmQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbmQgTm9kZVB0ciB2YWx1ZSBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFB0ck5ld1JhbmdlIi8+eG1sWFB0ck5ld1JhbmdlICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4JeG1sWFB0ck5ld1JhbmdlCSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBzdGFydCwgPGJyLz4JCQkJCSBpbnQgc3RhcnRpbmRleCwgPGJyLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBlbmQsIDxici8+CQkJCQkgaW50IGVuZGluZGV4KTxici8+Cis8L3ByZT48cD5DcmVhdGUgYSBuZXcgPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4gb2YgdHlwZSByYW5nZTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3RhcnQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzdGFydGluZyBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdGFydGluZGV4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc3RhcnQgaW5kZXg8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVuZDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVuZGluZyBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5kaW5kZXg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbmRpbmcgaW5kZXg8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXdseSBjcmVhdGVkIG9iamVjdC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUHRyTmV3UmFuZ2VOb2RlT2JqZWN0Ii8+eG1sWFB0ck5ld1JhbmdlTm9kZU9iamVjdCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+CXhtbFhQdHJOZXdSYW5nZU5vZGVPYmplY3QJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IHN0YXJ0LCA8YnIvPgkJCQkJCQkgPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4gZW5kKTxici8+Cis8L3ByZT48cD5DcmVhdGUgYSBuZXcgPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4gb2YgdHlwZSByYW5nZSBmcm9tIGEgbm90IHRvIGFuIG9iamVjdDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3RhcnQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzdGFydGluZyBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbmQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbmRpbmcgb2JqZWN0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sWFB0ck5ld1JhbmdlTm9kZVBvaW50Ii8+eG1sWFB0ck5ld1JhbmdlTm9kZVBvaW50ICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4JeG1sWFB0ck5ld1JhbmdlTm9kZVBvaW50CSg8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBzdGFydCwgPGJyLz4JCQkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IGVuZCk8YnIvPgorPC9wcmU+PHA+Q3JlYXRlIGEgbmV3IDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IG9mIHR5cGUgcmFuZ2UgZnJvbSBhIG5vZGUgdG8gYSBwb2ludDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3RhcnQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzdGFydGluZyBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbmQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbmRpbmcgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXdseSBjcmVhdGVkIG9iamVjdC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUHRyTmV3UmFuZ2VOb2RlcyIvPnhtbFhQdHJOZXdSYW5nZU5vZGVzICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4JeG1sWFB0ck5ld1JhbmdlTm9kZXMJKDxhIGhyZWY9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IHN0YXJ0LCA8YnIvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBlbmQpPGJyLz4KKzwvcHJlPjxwPkNyZWF0ZSBhIG5ldyA8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPiBvZiB0eXBlIHJhbmdlIHVzaW5nIDIgbm9kZXM8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0YXJ0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc3RhcnRpbmcgbm9kZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5kPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZW5kaW5nIG5vZGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXdseSBjcmVhdGVkIG9iamVjdC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUHRyTmV3UmFuZ2VQb2ludE5vZGUiLz54bWxYUHRyTmV3UmFuZ2VQb2ludE5vZGUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPgl4bWxYUHRyTmV3UmFuZ2VQb2ludE5vZGUJKDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IHN0YXJ0LCA8YnIvPgkJCQkJCQkgPGEgaHJlZj0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gZW5kKTxici8+Cis8L3ByZT48cD5DcmVhdGUgYSBuZXcgPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4gb2YgdHlwZSByYW5nZSBmcm9tIGEgcG9pbnQgdG8gYSBub2RlPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdGFydDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHN0YXJ0aW5nIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbmQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbmRpbmcgbm9kZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ld2x5IGNyZWF0ZWQgb2JqZWN0LjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQdHJOZXdSYW5nZVBvaW50cyIvPnhtbFhQdHJOZXdSYW5nZVBvaW50cyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+CXhtbFhQdHJOZXdSYW5nZVBvaW50cwkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4gc3RhcnQsIDxici8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IGVuZCk8YnIvPgorPC9wcmU+PHA+Q3JlYXRlIGEgbmV3IDxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IG9mIHR5cGUgcmFuZ2UgdXNpbmcgMiBQb2ludHM8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0YXJ0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc3RhcnRpbmcgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVuZDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVuZGluZyBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ld2x5IGNyZWF0ZWQgb2JqZWN0LjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+CisgICAgICAgIDxoci8+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFhQdHJSYW5nZVRvRnVuY3Rpb24iLz54bWxYUHRyUmFuZ2VUb0Z1bmN0aW9uICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxYUHRyUmFuZ2VUb0Z1bmN0aW9uCQkoPGEgaHJlZj0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIvPgkJCQkJIGludCBuYXJncyk8YnIvPgorPC9wcmU+PHA+SW1wbGVtZW50IHRoZSByYW5nZS10bygpIFhQb2ludGVyIGZ1bmN0aW9uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBvaW50ZXIgUGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hcmdzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGFyZ3M8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxYUHRyV3JhcExvY2F0aW9uU2V0Ii8+eG1sWFB0cldyYXBMb2NhdGlvblNldCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+CXhtbFhQdHJXcmFwTG9jYXRpb25TZXQJKDxhIGhyZWY9ImxpYnhtbDIteHBvaW50ZXIuaHRtbCN4bWxMb2NhdGlvblNldFB0ciI+eG1sTG9jYXRpb25TZXRQdHI8L2E+IHZhbCk8YnIvPgorPC9wcmU+PHA+V3JhcCB0aGUgTG9jYXRpb25TZXQgQHZhbCBpbiBhIG5ldyA8YSBocmVmPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgTG9jYXRpb25TZXQgdmFsdWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXdseSBjcmVhdGVkIG9iamVjdC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgPC9kaXY+CisgICAgPC9kaXY+CisgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2RldmhlbHAvbGlieG1sMi14emxpYi5odG1sIGIvbGlieG1sMi9kb2MvZGV2aGVscC9saWJ4bWwyLXh6bGliLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODk1MDdjNQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL2RldmhlbHAvbGlieG1sMi14emxpYi5odG1sCkBAIC0wLDAgKzEsNjIgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8aHRtbD4KKyAgPGhlYWQ+CisgICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiLz4KKyAgICA8dGl0bGU+eHpsaWI6IDwvdGl0bGU+CisgICAgPG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJMaWJ4bWwyIGRldmhlbHAgc3R5bGVzaGVldCIvPgorICAgIDxsaW5rIHJlbD0ic3RhcnQiIGhyZWY9ImluZGV4Lmh0bWwiIHRpdGxlPSJsaWJ4bWwyIFJlZmVyZW5jZSBNYW51YWwiLz4KKyAgICA8bGluayByZWw9InVwIiBocmVmPSJnZW5lcmFsLmh0bWwiIHRpdGxlPSJBUEkiLz4KKyAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9InN0eWxlLmNzcyIgdHlwZT0idGV4dC9jc3MiLz4KKyAgICA8bGluayByZWw9ImNoYXB0ZXIiIGhyZWY9ImdlbmVyYWwuaHRtbCIgdGl0bGU9IkFQSSIvPgorICA8L2hlYWQ+CisgIDxib2R5IGJnY29sb3I9IndoaXRlIiB0ZXh0PSJibGFjayIgbGluaz0iIzAwMDBGRiIgdmxpbms9IiM4NDAwODQiIGFsaW5rPSIjMDAwMEZGIj4KKyAgICA8dGFibGUgY2xhc3M9Im5hdmlnYXRpb24iIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIyIj4KKyAgICAgIDx0ciB2YWxpZ249Im1pZGRsZSI+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImxpYnhtbDIteHBvaW50ZXIuaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0ibGVmdC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlByZXYiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8YSBhY2Nlc3NrZXk9InUiIGhyZWY9ImdlbmVyYWwuaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0idXAucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJVcCIvPgorICAgICAgICAgIDwvYT4KKyAgICAgICAgPC90ZD4KKyAgICAgICAgPHRkPgorICAgICAgICAgIDxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iaW5kZXguaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0iaG9tZS5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IkhvbWUiLz4KKyAgICAgICAgICA8L2E+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0aCB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+bGlieG1sMiBSZWZlcmVuY2UgTWFudWFsPC90aD4KKyAgICAgIDwvdHI+CisgICAgPC90YWJsZT4KKyAgICA8aDI+CisgICAgICA8c3BhbiBjbGFzcz0icmVmZW50cnl0aXRsZSI+eHpsaWI8L3NwYW4+CisgICAgPC9oMj4KKyAgICA8cD54emxpYiAtIDwvcD4KKyAgICA8cC8+CisgICAgPHA+QXV0aG9yKHMpOiA8L3A+CisgICAgPGRpdiBjbGFzcz0icmVmc3lub3BzaXNkaXYiPgorICAgICAgPGgyPlN5bm9wc2lzPC9oMj4KKyAgICAgIDxwcmUgY2xhc3M9InN5bm9wc2lzIj4jZGVmaW5lIDxhIGhyZWY9IiNMSUJYTUwyX1haTElCX0giPkxJQlhNTDJfWFpMSUJfSDwvYT47Cit0eXBlZGVmIHZvaWQgKiA8YSBocmVmPSIjeHpGaWxlIj54ekZpbGU8L2E+OworPC9wcmU+CisgICAgPC9kaXY+CisgICAgPGRpdiBjbGFzcz0icmVmc2VjdDEiIGxhbmc9ImVuIj4KKyAgICAgIDxoMj5EZXNjcmlwdGlvbjwvaDI+CisgICAgPC9kaXY+CisgICAgPGRpdiBjbGFzcz0icmVmc2VjdDEiIGxhbmc9ImVuIj4KKyAgICAgIDxoMj5EZXRhaWxzPC9oMj4KKyAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9IkxJQlhNTDJfWFpMSUJfSCI+TWFjcm8gPC9hPkxJQlhNTDJfWFpMSUJfSDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI0xJQlhNTDJfWFpMSUJfSCI+TElCWE1MMl9YWkxJQl9IPC9hPjsKKzwvcHJlPjxwLz4KKzwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4ekZpbGUiPlR5cGVkZWYgPC9hPnh6RmlsZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQgKiB4ekZpbGU7Cis8L3ByZT48cC8+Cis8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICAgIDwvZGl2PgorICAgIDwvZGl2PgorICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9kZXZoZWxwL2xpYnhtbDIuZGV2aGVscCBiL2xpYnhtbDIvZG9jL2RldmhlbHAvbGlieG1sMi5kZXZoZWxwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI4MjU0NmEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9kZXZoZWxwL2xpYnhtbDIuZGV2aGVscApAQCAtMCwwICsxLDM1NzMgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8Ym9vayB4bWxucz0iaHR0cDovL3d3dy5kZXZoZWxwLm5ldC9ib29rIiB0aXRsZT0ibGlieG1sMiBSZWZlcmVuY2UgTWFudWFsIiBsaW5rPSJpbmRleC5odG1sIiBhdXRob3I9IiIgbmFtZT0ibGlieG1sMiI+CisgIDxjaGFwdGVycz4KKyAgICA8c3ViIG5hbWU9IkFQSSIgbGluaz0iZ2VuZXJhbC5odG1sIj4KKyAgICAgIDxzdWIgbmFtZT0iRE9DQnBhcnNlciIgbGluaz0ibGlieG1sMi1ET0NCcGFyc2VyLmh0bWwiLz4KKyAgICAgIDxzdWIgbmFtZT0iSFRNTHBhcnNlciIgbGluaz0ibGlieG1sMi1IVE1McGFyc2VyLmh0bWwiLz4KKyAgICAgIDxzdWIgbmFtZT0iSFRNTHRyZWUiIGxpbms9ImxpYnhtbDItSFRNTHRyZWUuaHRtbCIvPgorICAgICAgPHN1YiBuYW1lPSJTQVgiIGxpbms9ImxpYnhtbDItU0FYLmh0bWwiLz4KKyAgICAgIDxzdWIgbmFtZT0iU0FYMiIgbGluaz0ibGlieG1sMi1TQVgyLmh0bWwiLz4KKyAgICAgIDxzdWIgbmFtZT0iYzE0biIgbGluaz0ibGlieG1sMi1jMTRuLmh0bWwiLz4KKyAgICAgIDxzdWIgbmFtZT0iY2F0YWxvZyIgbGluaz0ibGlieG1sMi1jYXRhbG9nLmh0bWwiLz4KKyAgICAgIDxzdWIgbmFtZT0iY2h2YWxpZCIgbGluaz0ibGlieG1sMi1jaHZhbGlkLmh0bWwiLz4KKyAgICAgIDxzdWIgbmFtZT0iZGVidWdYTUwiIGxpbms9ImxpYnhtbDItZGVidWdYTUwuaHRtbCIvPgorICAgICAgPHN1YiBuYW1lPSJkaWN0IiBsaW5rPSJsaWJ4bWwyLWRpY3QuaHRtbCIvPgorICAgICAgPHN1YiBuYW1lPSJlbmNvZGluZyIgbGluaz0ibGlieG1sMi1lbmNvZGluZy5odG1sIi8+CisgICAgICA8c3ViIG5hbWU9ImVudGl0aWVzIiBsaW5rPSJsaWJ4bWwyLWVudGl0aWVzLmh0bWwiLz4KKyAgICAgIDxzdWIgbmFtZT0iZ2xvYmFscyIgbGluaz0ibGlieG1sMi1nbG9iYWxzLmh0bWwiLz4KKyAgICAgIDxzdWIgbmFtZT0iaGFzaCIgbGluaz0ibGlieG1sMi1oYXNoLmh0bWwiLz4KKyAgICAgIDxzdWIgbmFtZT0ibGlzdCIgbGluaz0ibGlieG1sMi1saXN0Lmh0bWwiLz4KKyAgICAgIDxzdWIgbmFtZT0ibmFub2Z0cCIgbGluaz0ibGlieG1sMi1uYW5vZnRwLmh0bWwiLz4KKyAgICAgIDxzdWIgbmFtZT0ibmFub2h0dHAiIGxpbms9ImxpYnhtbDItbmFub2h0dHAuaHRtbCIvPgorICAgICAgPHN1YiBuYW1lPSJwYXJzZXIiIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwiLz4KKyAgICAgIDxzdWIgbmFtZT0icGFyc2VySW50ZXJuYWxzIiBsaW5rPSJsaWJ4bWwyLXBhcnNlckludGVybmFscy5odG1sIi8+CisgICAgICA8c3ViIG5hbWU9InBhdHRlcm4iIGxpbms9ImxpYnhtbDItcGF0dGVybi5odG1sIi8+CisgICAgICA8c3ViIG5hbWU9InJlbGF4bmciIGxpbms9ImxpYnhtbDItcmVsYXhuZy5odG1sIi8+CisgICAgICA8c3ViIG5hbWU9InNjaGVtYXNJbnRlcm5hbHMiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sIi8+CisgICAgICA8c3ViIG5hbWU9InNjaGVtYXRyb24iIGxpbms9ImxpYnhtbDItc2NoZW1hdHJvbi5odG1sIi8+CisgICAgICA8c3ViIG5hbWU9InRocmVhZHMiIGxpbms9ImxpYnhtbDItdGhyZWFkcy5odG1sIi8+CisgICAgICA8c3ViIG5hbWU9InRyZWUiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sIi8+CisgICAgICA8c3ViIG5hbWU9InVyaSIgbGluaz0ibGlieG1sMi11cmkuaHRtbCIvPgorICAgICAgPHN1YiBuYW1lPSJ2YWxpZCIgbGluaz0ibGlieG1sMi12YWxpZC5odG1sIi8+CisgICAgICA8c3ViIG5hbWU9InhpbmNsdWRlIiBsaW5rPSJsaWJ4bWwyLXhpbmNsdWRlLmh0bWwiLz4KKyAgICAgIDxzdWIgbmFtZT0ieGxpbmsiIGxpbms9ImxpYnhtbDIteGxpbmsuaHRtbCIvPgorICAgICAgPHN1YiBuYW1lPSJ4bWxJTyIgbGluaz0ibGlieG1sMi14bWxJTy5odG1sIi8+CisgICAgICA8c3ViIG5hbWU9InhtbGF1dG9tYXRhIiBsaW5rPSJsaWJ4bWwyLXhtbGF1dG9tYXRhLmh0bWwiLz4KKyAgICAgIDxzdWIgbmFtZT0ieG1sZXJyb3IiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCIvPgorICAgICAgPHN1YiBuYW1lPSJ4bWxleHBvcnRzIiBsaW5rPSJsaWJ4bWwyLXhtbGV4cG9ydHMuaHRtbCIvPgorICAgICAgPHN1YiBuYW1lPSJ4bWxtZW1vcnkiIGxpbms9ImxpYnhtbDIteG1sbWVtb3J5Lmh0bWwiLz4KKyAgICAgIDxzdWIgbmFtZT0ieG1sbW9kdWxlIiBsaW5rPSJsaWJ4bWwyLXhtbG1vZHVsZS5odG1sIi8+CisgICAgICA8c3ViIG5hbWU9InhtbHJlYWRlciIgbGluaz0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCIvPgorICAgICAgPHN1YiBuYW1lPSJ4bWxyZWdleHAiIGxpbms9ImxpYnhtbDIteG1scmVnZXhwLmh0bWwiLz4KKyAgICAgIDxzdWIgbmFtZT0ieG1sc2F2ZSIgbGluaz0ibGlieG1sMi14bWxzYXZlLmh0bWwiLz4KKyAgICAgIDxzdWIgbmFtZT0ieG1sc2NoZW1hcyIgbGluaz0ibGlieG1sMi14bWxzY2hlbWFzLmh0bWwiLz4KKyAgICAgIDxzdWIgbmFtZT0ieG1sc2NoZW1hc3R5cGVzIiBsaW5rPSJsaWJ4bWwyLXhtbHNjaGVtYXN0eXBlcy5odG1sIi8+CisgICAgICA8c3ViIG5hbWU9InhtbHN0cmluZyIgbGluaz0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCIvPgorICAgICAgPHN1YiBuYW1lPSJ4bWx1bmljb2RlIiBsaW5rPSJsaWJ4bWwyLXhtbHVuaWNvZGUuaHRtbCIvPgorICAgICAgPHN1YiBuYW1lPSJ4bWx2ZXJzaW9uIiBsaW5rPSJsaWJ4bWwyLXhtbHZlcnNpb24uaHRtbCIvPgorICAgICAgPHN1YiBuYW1lPSJ4bWx3cml0ZXIiIGxpbms9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwiLz4KKyAgICAgIDxzdWIgbmFtZT0ieHBhdGgiIGxpbms9ImxpYnhtbDIteHBhdGguaHRtbCIvPgorICAgICAgPHN1YiBuYW1lPSJ4cGF0aEludGVybmFscyIgbGluaz0ibGlieG1sMi14cGF0aEludGVybmFscy5odG1sIi8+CisgICAgICA8c3ViIG5hbWU9Inhwb2ludGVyIiBsaW5rPSJsaWJ4bWwyLXhwb2ludGVyLmh0bWwiLz4KKyAgICA8L3N1Yj4KKyAgPC9jaGFwdGVycz4KKyAgPGZ1bmN0aW9ucz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iQVRUUklCVVRFX1VOVVNFRCIgbGluaz0ibGlieG1sMi14bWx2ZXJzaW9uLmh0bWwjQVRUUklCVVRFX1VOVVNFRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJCQURfQ0FTVCIgbGluaz0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCNCQURfQ0FTVCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJCQVNFX0JVRkZFUl9TSVpFIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCNCQVNFX0JVRkZFUl9TSVpFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IkNBU1RfVE9fQk9PTEVBTiIgbGluaz0ibGlieG1sMi14cGF0aEludGVybmFscy5odG1sI0NBU1RfVE9fQk9PTEVBTiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJDQVNUX1RPX05VTUJFUiIgbGluaz0ibGlieG1sMi14cGF0aEludGVybmFscy5odG1sI0NBU1RfVE9fTlVNQkVSIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IkNBU1RfVE9fU1RSSU5HIiBsaW5rPSJsaWJ4bWwyLXhwYXRoSW50ZXJuYWxzLmh0bWwjQ0FTVF9UT19TVFJJTkciLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iQ0hFQ0tfQVJJVFkiIGxpbms9ImxpYnhtbDIteHBhdGhJbnRlcm5hbHMuaHRtbCNDSEVDS19BUklUWSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJDSEVDS19FUlJPUiIgbGluaz0ibGlieG1sMi14cGF0aEludGVybmFscy5odG1sI0NIRUNLX0VSUk9SIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IkNIRUNLX0VSUk9SMCIgbGluaz0ibGlieG1sMi14cGF0aEludGVybmFscy5odG1sI0NIRUNLX0VSUk9SMCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJDSEVDS19UWVBFIiBsaW5rPSJsaWJ4bWwyLXhwYXRoSW50ZXJuYWxzLmh0bWwjQ0hFQ0tfVFlQRSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJDSEVDS19UWVBFMCIgbGluaz0ibGlieG1sMi14cGF0aEludGVybmFscy5odG1sI0NIRUNLX1RZUEUwIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IkRFQlVHX01FTU9SWSIgbGluaz0ibGlieG1sMi14bWxtZW1vcnkuaHRtbCNERUJVR19NRU1PUlkiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iREVCVUdfTUVNT1JZX0xPQ0FUSU9OIiBsaW5rPSJsaWJ4bWwyLXhtbHZlcnNpb24uaHRtbCNERUJVR19NRU1PUllfTE9DQVRJT04iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iSFRNTF9DT01NRU5UX05PREUiIGxpbms9ImxpYnhtbDItSFRNTHRyZWUuaHRtbCNIVE1MX0NPTU1FTlRfTk9ERSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJIVE1MX0VOVElUWV9SRUZfTk9ERSIgbGluaz0ibGlieG1sMi1IVE1MdHJlZS5odG1sI0hUTUxfRU5USVRZX1JFRl9OT0RFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IkhUTUxfUElfTk9ERSIgbGluaz0ibGlieG1sMi1IVE1MdHJlZS5odG1sI0hUTUxfUElfTk9ERSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJIVE1MX1BSRVNFUlZFX05PREUiIGxpbms9ImxpYnhtbDItSFRNTHRyZWUuaHRtbCNIVE1MX1BSRVNFUlZFX05PREUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iSFRNTF9URVhUX05PREUiIGxpbms9ImxpYnhtbDItSFRNTHRyZWUuaHRtbCNIVE1MX1RFWFRfTk9ERSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJJTlBVVF9DSFVOSyIgbGluaz0ibGlieG1sMi1wYXJzZXJJbnRlcm5hbHMuaHRtbCNJTlBVVF9DSFVOSyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJJTlZBTElEX1NPQ0tFVCIgbGluaz0ibGlieG1sMi1uYW5vZnRwLmh0bWwjSU5WQUxJRF9TT0NLRVQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iSVNfQVNDSUlfRElHSVQiIGxpbms9ImxpYnhtbDItcGFyc2VySW50ZXJuYWxzLmh0bWwjSVNfQVNDSUlfRElHSVQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iSVNfQVNDSUlfTEVUVEVSIiBsaW5rPSJsaWJ4bWwyLXBhcnNlckludGVybmFscy5odG1sI0lTX0FTQ0lJX0xFVFRFUiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJJU19CQVNFQ0hBUiIgbGluaz0ibGlieG1sMi1wYXJzZXJJbnRlcm5hbHMuaHRtbCNJU19CQVNFQ0hBUiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJJU19CTEFOSyIgbGluaz0ibGlieG1sMi1wYXJzZXJJbnRlcm5hbHMuaHRtbCNJU19CTEFOSyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJJU19CTEFOS19DSCIgbGluaz0ibGlieG1sMi1wYXJzZXJJbnRlcm5hbHMuaHRtbCNJU19CTEFOS19DSCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJJU19CWVRFX0NIQVIiIGxpbms9ImxpYnhtbDItcGFyc2VySW50ZXJuYWxzLmh0bWwjSVNfQllURV9DSEFSIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IklTX0NIQVIiIGxpbms9ImxpYnhtbDItcGFyc2VySW50ZXJuYWxzLmh0bWwjSVNfQ0hBUiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJJU19DSEFSX0NIIiBsaW5rPSJsaWJ4bWwyLXBhcnNlckludGVybmFscy5odG1sI0lTX0NIQVJfQ0giLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iSVNfQ09NQklOSU5HIiBsaW5rPSJsaWJ4bWwyLXBhcnNlckludGVybmFscy5odG1sI0lTX0NPTUJJTklORyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJJU19DT01CSU5JTkdfQ0giIGxpbms9ImxpYnhtbDItcGFyc2VySW50ZXJuYWxzLmh0bWwjSVNfQ09NQklOSU5HX0NIIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IklTX0RJR0lUIiBsaW5rPSJsaWJ4bWwyLXBhcnNlckludGVybmFscy5odG1sI0lTX0RJR0lUIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IklTX0RJR0lUX0NIIiBsaW5rPSJsaWJ4bWwyLXBhcnNlckludGVybmFscy5odG1sI0lTX0RJR0lUX0NIIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IklTX0VYVEVOREVSIiBsaW5rPSJsaWJ4bWwyLXBhcnNlckludGVybmFscy5odG1sI0lTX0VYVEVOREVSIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IklTX0VYVEVOREVSX0NIIiBsaW5rPSJsaWJ4bWwyLXBhcnNlckludGVybmFscy5odG1sI0lTX0VYVEVOREVSX0NIIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IklTX0lERU9HUkFQSElDIiBsaW5rPSJsaWJ4bWwyLXBhcnNlckludGVybmFscy5odG1sI0lTX0lERU9HUkFQSElDIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IklTX0xFVFRFUiIgbGluaz0ibGlieG1sMi1wYXJzZXJJbnRlcm5hbHMuaHRtbCNJU19MRVRURVIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iSVNfTEVUVEVSX0NIIiBsaW5rPSJsaWJ4bWwyLXBhcnNlckludGVybmFscy5odG1sI0lTX0xFVFRFUl9DSCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJJU19QVUJJRENIQVIiIGxpbms9ImxpYnhtbDItcGFyc2VySW50ZXJuYWxzLmh0bWwjSVNfUFVCSURDSEFSIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IklTX1BVQklEQ0hBUl9DSCIgbGluaz0ibGlieG1sMi1wYXJzZXJJbnRlcm5hbHMuaHRtbCNJU19QVUJJRENIQVJfQ0giLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iTElCWE1MMl9ORVdfQlVGRkVSIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCNMSUJYTUwyX05FV19CVUZGRVIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iTElCWE1MX0FUVFJfQUxMT0NfU0laRSIgbGluaz0ibGlieG1sMi14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX0FUVFJfQUxMT0NfU0laRSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJMSUJYTUxfQVRUUl9GT1JNQVQiIGxpbms9ImxpYnhtbDIteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9BVFRSX0ZPUk1BVCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJMSUJYTUxfQVVUT01BVEFfRU5BQkxFRCIgbGluaz0ibGlieG1sMi14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX0FVVE9NQVRBX0VOQUJMRUQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iTElCWE1MX0MxNE5fRU5BQkxFRCIgbGluaz0ibGlieG1sMi14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX0MxNE5fRU5BQkxFRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJMSUJYTUxfQ0FUQUxPR19FTkFCTEVEIiBsaW5rPSJsaWJ4bWwyLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfQ0FUQUxPR19FTkFCTEVEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IkxJQlhNTF9ERUJVR19FTkFCTEVEIiBsaW5rPSJsaWJ4bWwyLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfREVCVUdfRU5BQkxFRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJMSUJYTUxfREVCVUdfUlVOVElNRSIgbGluaz0ibGlieG1sMi14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX0RFQlVHX1JVTlRJTUUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iTElCWE1MX0RMTF9JTVBPUlQiIGxpbms9ImxpYnhtbDIteG1sZXhwb3J0cy5odG1sI0xJQlhNTF9ETExfSU1QT1JUIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IkxJQlhNTF9ET0NCX0VOQUJMRUQiIGxpbms9ImxpYnhtbDIteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9ET0NCX0VOQUJMRUQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iTElCWE1MX0RPVFRFRF9WRVJTSU9OIiBsaW5rPSJsaWJ4bWwyLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfRE9UVEVEX1ZFUlNJT04iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iTElCWE1MX0VYUFJfRU5BQkxFRCIgbGluaz0ibGlieG1sMi14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX0VYUFJfRU5BQkxFRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJMSUJYTUxfRlRQX0VOQUJMRUQiIGxpbms9ImxpYnhtbDIteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9GVFBfRU5BQkxFRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJMSUJYTUxfSFRNTF9FTkFCTEVEIiBsaW5rPSJsaWJ4bWwyLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfSFRNTF9FTkFCTEVEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IkxJQlhNTF9IVFRQX0VOQUJMRUQiIGxpbms9ImxpYnhtbDIteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9IVFRQX0VOQUJMRUQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iTElCWE1MX0lDT05WX0VOQUJMRUQiIGxpbms9ImxpYnhtbDIteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9JQ09OVl9FTkFCTEVEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IkxJQlhNTF9JQ1VfRU5BQkxFRCIgbGluaz0ibGlieG1sMi14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX0lDVV9FTkFCTEVEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IkxJQlhNTF9JU084ODU5WF9FTkFCTEVEIiBsaW5rPSJsaWJ4bWwyLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfSVNPODg1OVhfRU5BQkxFRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJMSUJYTUxfTEVHQUNZX0VOQUJMRUQiIGxpbms9ImxpYnhtbDIteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9MRUdBQ1lfRU5BQkxFRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJMSUJYTUxfTFpNQV9FTkFCTEVEIiBsaW5rPSJsaWJ4bWwyLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfTFpNQV9FTkFCTEVEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IkxJQlhNTF9NT0RVTEVTX0VOQUJMRUQiIGxpbms9ImxpYnhtbDIteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9NT0RVTEVTX0VOQUJMRUQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iTElCWE1MX01PRFVMRV9FWFRFTlNJT04iIGxpbms9ImxpYnhtbDIteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9NT0RVTEVfRVhURU5TSU9OIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IkxJQlhNTF9PVVRQVVRfRU5BQkxFRCIgbGluaz0ibGlieG1sMi14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX09VVFBVVF9FTkFCTEVEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IkxJQlhNTF9QQVRURVJOX0VOQUJMRUQiIGxpbms9ImxpYnhtbDIteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9QQVRURVJOX0VOQUJMRUQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iTElCWE1MX1BVU0hfRU5BQkxFRCIgbGluaz0ibGlieG1sMi14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX1BVU0hfRU5BQkxFRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJMSUJYTUxfUkVBREVSX0VOQUJMRUQiIGxpbms9ImxpYnhtbDIteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9SRUFERVJfRU5BQkxFRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJMSUJYTUxfUkVHRVhQX0VOQUJMRUQiIGxpbms9ImxpYnhtbDIteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9SRUdFWFBfRU5BQkxFRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJMSUJYTUxfU0FYMV9FTkFCTEVEIiBsaW5rPSJsaWJ4bWwyLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfU0FYMV9FTkFCTEVEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IkxJQlhNTF9TQ0hFTUFTX0VOQUJMRUQiIGxpbms9ImxpYnhtbDIteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9TQ0hFTUFTX0VOQUJMRUQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iTElCWE1MX1NDSEVNQVRST05fRU5BQkxFRCIgbGluaz0ibGlieG1sMi14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX1NDSEVNQVRST05fRU5BQkxFRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJMSUJYTUxfVEVTVF9WRVJTSU9OIiBsaW5rPSJsaWJ4bWwyLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfVEVTVF9WRVJTSU9OIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IkxJQlhNTF9USFJFQURfQUxMT0NfRU5BQkxFRCIgbGluaz0ibGlieG1sMi14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX1RIUkVBRF9BTExPQ19FTkFCTEVEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IkxJQlhNTF9USFJFQURfRU5BQkxFRCIgbGluaz0ibGlieG1sMi14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX1RIUkVBRF9FTkFCTEVEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IkxJQlhNTF9UUkVFX0VOQUJMRUQiIGxpbms9ImxpYnhtbDIteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9UUkVFX0VOQUJMRUQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iTElCWE1MX1VOSUNPREVfRU5BQkxFRCIgbGluaz0ibGlieG1sMi14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX1VOSUNPREVfRU5BQkxFRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJMSUJYTUxfVkFMSURfRU5BQkxFRCIgbGluaz0ibGlieG1sMi14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX1ZBTElEX0VOQUJMRUQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iTElCWE1MX1ZFUlNJT04iIGxpbms9ImxpYnhtbDIteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9WRVJTSU9OIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IkxJQlhNTF9WRVJTSU9OX0VYVFJBIiBsaW5rPSJsaWJ4bWwyLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfVkVSU0lPTl9FWFRSQSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJMSUJYTUxfVkVSU0lPTl9TVFJJTkciIGxpbms9ImxpYnhtbDIteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9WRVJTSU9OX1NUUklORyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJMSUJYTUxfV1JJVEVSX0VOQUJMRUQiIGxpbms9ImxpYnhtbDIteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9XUklURVJfRU5BQkxFRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJMSUJYTUxfWElOQ0xVREVfRU5BQkxFRCIgbGluaz0ibGlieG1sMi14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX1hJTkNMVURFX0VOQUJMRUQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iTElCWE1MX1hQQVRIX0VOQUJMRUQiIGxpbms9ImxpYnhtbDIteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9YUEFUSF9FTkFCTEVEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IkxJQlhNTF9YUFRSX0VOQUJMRUQiIGxpbms9ImxpYnhtbDIteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9YUFRSX0VOQUJMRUQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iTElCWE1MX1pMSUJfRU5BQkxFRCIgbGluaz0ibGlieG1sMi14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX1pMSUJfRU5BQkxFRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJNT1ZFVE9fRU5EVEFHIiBsaW5rPSJsaWJ4bWwyLXBhcnNlckludGVybmFscy5odG1sI01PVkVUT19FTkRUQUciLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iTU9WRVRPX1NUQVJUVEFHIiBsaW5rPSJsaWJ4bWwyLXBhcnNlckludGVybmFscy5odG1sI01PVkVUT19TVEFSVFRBRyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJTS0lQX0VPTCIgbGluaz0ibGlieG1sMi1wYXJzZXJJbnRlcm5hbHMuaHRtbCNTS0lQX0VPTCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJTT0NLRVQiIGxpbms9ImxpYnhtbDItbmFub2Z0cC5odG1sI1NPQ0tFVCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJXSVRIT1VUX1RSSU8iIGxpbms9ImxpYnhtbDIteG1sdmVyc2lvbi5odG1sI1dJVEhPVVRfVFJJTyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJXSVRIX1RSSU8iIGxpbms9ImxpYnhtbDIteG1sdmVyc2lvbi5odG1sI1dJVEhfVFJJTyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYSU5DTFVERV9GQUxMQkFDSyIgbGluaz0ibGlieG1sMi14aW5jbHVkZS5odG1sI1hJTkNMVURFX0ZBTExCQUNLIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhJTkNMVURFX0hSRUYiIGxpbms9ImxpYnhtbDIteGluY2x1ZGUuaHRtbCNYSU5DTFVERV9IUkVGIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhJTkNMVURFX05PREUiIGxpbms9ImxpYnhtbDIteGluY2x1ZGUuaHRtbCNYSU5DTFVERV9OT0RFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhJTkNMVURFX05TIiBsaW5rPSJsaWJ4bWwyLXhpbmNsdWRlLmh0bWwjWElOQ0xVREVfTlMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWElOQ0xVREVfT0xEX05TIiBsaW5rPSJsaWJ4bWwyLXhpbmNsdWRlLmh0bWwjWElOQ0xVREVfT0xEX05TIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhJTkNMVURFX1BBUlNFIiBsaW5rPSJsaWJ4bWwyLXhpbmNsdWRlLmh0bWwjWElOQ0xVREVfUEFSU0UiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWElOQ0xVREVfUEFSU0VfRU5DT0RJTkciIGxpbms9ImxpYnhtbDIteGluY2x1ZGUuaHRtbCNYSU5DTFVERV9QQVJTRV9FTkNPRElORyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYSU5DTFVERV9QQVJTRV9URVhUIiBsaW5rPSJsaWJ4bWwyLXhpbmNsdWRlLmh0bWwjWElOQ0xVREVfUEFSU0VfVEVYVCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYSU5DTFVERV9QQVJTRV9YTUwiIGxpbms9ImxpYnhtbDIteGluY2x1ZGUuaHRtbCNYSU5DTFVERV9QQVJTRV9YTUwiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWElOQ0xVREVfUEFSU0VfWFBPSU5URVIiIGxpbms9ImxpYnhtbDIteGluY2x1ZGUuaHRtbCNYSU5DTFVERV9QQVJTRV9YUE9JTlRFUiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxDQUxMIiBsaW5rPSJsaWJ4bWwyLXhtbGV4cG9ydHMuaHRtbCNYTUxDQUxMIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTENERUNMIiBsaW5rPSJsaWJ4bWwyLXhtbGV4cG9ydHMuaHRtbCNYTUxDREVDTCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxQVUJGVU4iIGxpbms9ImxpYnhtbDIteG1sZXhwb3J0cy5odG1sI1hNTFBVQkZVTiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxQVUJWQVIiIGxpbms9ImxpYnhtbDIteG1sZXhwb3J0cy5odG1sI1hNTFBVQlZBUiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfQ0FTVF9GUFRSIiBsaW5rPSJsaWJ4bWwyLWhhc2guaHRtbCNYTUxfQ0FTVF9GUFRSIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9DQVRBTE9HU19OQU1FU1BBQ0UiIGxpbms9ImxpYnhtbDItY2F0YWxvZy5odG1sI1hNTF9DQVRBTE9HU19OQU1FU1BBQ0UiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0NBVEFMT0dfUEkiIGxpbms9ImxpYnhtbDItY2F0YWxvZy5odG1sI1hNTF9DQVRBTE9HX1BJIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9DT01QTEVURV9BVFRSUyIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCNYTUxfQ09NUExFVEVfQVRUUlMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0NUWFRfRklOSVNIX0RURF8wIiBsaW5rPSJsaWJ4bWwyLXZhbGlkLmh0bWwjWE1MX0NUWFRfRklOSVNIX0RURF8wIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9DVFhUX0ZJTklTSF9EVERfMSIgbGluaz0ibGlieG1sMi12YWxpZC5odG1sI1hNTF9DVFhUX0ZJTklTSF9EVERfMSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfREVGQVVMVF9WRVJTSU9OIiBsaW5rPSJsaWJ4bWwyLXBhcnNlci5odG1sI1hNTF9ERUZBVUxUX1ZFUlNJT04iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0RFVEVDVF9JRFMiIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjWE1MX0RFVEVDVF9JRFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0dFVF9DT05URU5UIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCNYTUxfR0VUX0NPTlRFTlQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0dFVF9MSU5FIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCNYTUxfR0VUX0xJTkUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0xPQ0FMX05BTUVTUEFDRSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjWE1MX0xPQ0FMX05BTUVTUEFDRSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfTUFYX0RJQ1RJT05BUllfTElNSVQiIGxpbms9ImxpYnhtbDItcGFyc2VySW50ZXJuYWxzLmh0bWwjWE1MX01BWF9ESUNUSU9OQVJZX0xJTUlUIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9NQVhfTE9PS1VQX0xJTUlUIiBsaW5rPSJsaWJ4bWwyLXBhcnNlckludGVybmFscy5odG1sI1hNTF9NQVhfTE9PS1VQX0xJTUlUIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9NQVhfTkFNRUxFTiIgbGluaz0ibGlieG1sMi1wYXJzZXJJbnRlcm5hbHMuaHRtbCNYTUxfTUFYX05BTUVMRU4iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX01BWF9OQU1FX0xFTkdUSCIgbGluaz0ibGlieG1sMi1wYXJzZXJJbnRlcm5hbHMuaHRtbCNYTUxfTUFYX05BTUVfTEVOR1RIIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9NQVhfVEVYVF9MRU5HVEgiIGxpbms9ImxpYnhtbDItcGFyc2VySW50ZXJuYWxzLmh0bWwjWE1MX01BWF9URVhUX0xFTkdUSCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0FYMl9NQUdJQyIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCNYTUxfU0FYMl9NQUdJQyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BU19BTllBVFRSX0xBWCIgbGluaz0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfQU5ZQVRUUl9MQVgiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVNfQU5ZQVRUUl9TS0lQIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19BTllBVFRSX1NLSVAiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVNfQU5ZQVRUUl9TVFJJQ1QiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0FOWUFUVFJfU1RSSUNUIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX0FOWV9MQVgiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0FOWV9MQVgiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVNfQU5ZX1NLSVAiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0FOWV9TS0lQIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX0FOWV9TVFJJQ1QiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0FOWV9TVFJJQ1QiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVNfQVRUUkdST1VQX0dMT0JBTCIgbGluaz0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfQVRUUkdST1VQX0dMT0JBTCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BU19BVFRSR1JPVVBfSEFTX1JFRlMiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0FUVFJHUk9VUF9IQVNfUkVGUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BU19BVFRSR1JPVVBfTUFSS0VEIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19BVFRSR1JPVVBfTUFSS0VEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX0FUVFJHUk9VUF9SRURFRklORUQiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0FUVFJHUk9VUF9SRURFRklORUQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVNfQVRUUkdST1VQX1dJTERDQVJEX0JVSUxERUQiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0FUVFJHUk9VUF9XSUxEQ0FSRF9CVUlMREVEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX0FUVFJfRklYRUQiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0FUVFJfRklYRUQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVNfQVRUUl9HTE9CQUwiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0FUVFJfR0xPQkFMIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX0FUVFJfSU5URVJOQUxfUkVTT0xWRUQiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0FUVFJfSU5URVJOQUxfUkVTT0xWRUQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVNfQVRUUl9OU0RFRkFVTFQiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0FUVFJfTlNERUZBVUxUIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX0FUVFJfVVNFX09QVElPTkFMIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19BVFRSX1VTRV9PUFRJT05BTCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BU19BVFRSX1VTRV9QUk9ISUJJVEVEIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19BVFRSX1VTRV9QUk9ISUJJVEVEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX0FUVFJfVVNFX1JFUVVJUkVEIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19BVFRSX1VTRV9SRVFVSVJFRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BU19CTE9DS19ERUZBVUxUX0VYVEVOU0lPTiIgbGluaz0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfQkxPQ0tfREVGQVVMVF9FWFRFTlNJT04iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVNfQkxPQ0tfREVGQVVMVF9SRVNUUklDVElPTiIgbGluaz0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfQkxPQ0tfREVGQVVMVF9SRVNUUklDVElPTiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BU19CTE9DS19ERUZBVUxUX1NVQlNUSVRVVElPTiIgbGluaz0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfQkxPQ0tfREVGQVVMVF9TVUJTVElUVVRJT04iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVNfRUxFTV9BQlNUUkFDVCIgbGluaz0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfRUxFTV9BQlNUUkFDVCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BU19FTEVNX0JMT0NLX0FCU0VOVCIgbGluaz0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfRUxFTV9CTE9DS19BQlNFTlQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVNfRUxFTV9CTE9DS19FWFRFTlNJT04iIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0VMRU1fQkxPQ0tfRVhURU5TSU9OIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX0VMRU1fQkxPQ0tfUkVTVFJJQ1RJT04iIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0VMRU1fQkxPQ0tfUkVTVFJJQ1RJT04iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVNfRUxFTV9CTE9DS19TVUJTVElUVVRJT04iIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0VMRU1fQkxPQ0tfU1VCU1RJVFVUSU9OIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX0VMRU1fQ0lSQ1VMQVIiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0VMRU1fQ0lSQ1VMQVIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVNfRUxFTV9ERUZBVUxUIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19FTEVNX0RFRkFVTFQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVNfRUxFTV9GSU5BTF9BQlNFTlQiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0VMRU1fRklOQUxfQUJTRU5UIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX0VMRU1fRklOQUxfRVhURU5TSU9OIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19FTEVNX0ZJTkFMX0VYVEVOU0lPTiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BU19FTEVNX0ZJTkFMX1JFU1RSSUNUSU9OIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19FTEVNX0ZJTkFMX1JFU1RSSUNUSU9OIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX0VMRU1fRklYRUQiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0VMRU1fRklYRUQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVNfRUxFTV9HTE9CQUwiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0VMRU1fR0xPQkFMIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX0VMRU1fSU5URVJOQUxfQ0hFQ0tFRCIgbGluaz0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfRUxFTV9JTlRFUk5BTF9DSEVDS0VEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX0VMRU1fSU5URVJOQUxfUkVTT0xWRUQiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0VMRU1fSU5URVJOQUxfUkVTT0xWRUQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVNfRUxFTV9OSUxMQUJMRSIgbGluaz0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfRUxFTV9OSUxMQUJMRSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BU19FTEVNX05TREVGQVVMVCIgbGluaz0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfRUxFTV9OU0RFRkFVTFQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVNfRUxFTV9SRUYiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0VMRU1fUkVGIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX0VMRU1fU1VCU1RfR1JPVVBfSEVBRCIgbGluaz0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfRUxFTV9TVUJTVF9HUk9VUF9IRUFEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX0VMRU1fVE9QTEVWRUwiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0VMRU1fVE9QTEVWRUwiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVNfRkFDRVRfQ09MTEFQU0UiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0ZBQ0VUX0NPTExBUFNFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX0ZBQ0VUX1BSRVNFUlZFIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19GQUNFVF9QUkVTRVJWRSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BU19GQUNFVF9SRVBMQUNFIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19GQUNFVF9SRVBMQUNFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX0ZBQ0VUX1VOS05PV04iIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0ZBQ0VUX1VOS05PV04iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVNfRklOQUxfREVGQVVMVF9FWFRFTlNJT04iIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0ZJTkFMX0RFRkFVTFRfRVhURU5TSU9OIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX0ZJTkFMX0RFRkFVTFRfTElTVCIgbGluaz0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfRklOQUxfREVGQVVMVF9MSVNUIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX0ZJTkFMX0RFRkFVTFRfUkVTVFJJQ1RJT04iIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0ZJTkFMX0RFRkFVTFRfUkVTVFJJQ1RJT04iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVNfRklOQUxfREVGQVVMVF9VTklPTiIgbGluaz0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfRklOQUxfREVGQVVMVF9VTklPTiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BU19JTkNMVURJTkdfQ09OVkVSVF9OUyIgbGluaz0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfSU5DTFVESU5HX0NPTlZFUlRfTlMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVNfUVVBTElGX0FUVFIiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1FVQUxJRl9BVFRSIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX1FVQUxJRl9FTEVNIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19RVUFMSUZfRUxFTSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BU19UWVBFX0FCU1RSQUNUIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX0FCU1RSQUNUIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX1RZUEVfQkxPQ0tfREVGQVVMVCIgbGluaz0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVFlQRV9CTE9DS19ERUZBVUxUIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX1RZUEVfQkxPQ0tfRVhURU5TSU9OIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX0JMT0NLX0VYVEVOU0lPTiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BU19UWVBFX0JMT0NLX1JFU1RSSUNUSU9OIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX0JMT0NLX1JFU1RSSUNUSU9OIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX1RZUEVfQlVJTFRJTl9QUklNSVRJVkUiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfQlVJTFRJTl9QUklNSVRJVkUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVNfVFlQRV9ERVJJVkFUSU9OX01FVEhPRF9FWFRFTlNJT04iIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfREVSSVZBVElPTl9NRVRIT0RfRVhURU5TSU9OIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX1RZUEVfREVSSVZBVElPTl9NRVRIT0RfUkVTVFJJQ1RJT04iIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfREVSSVZBVElPTl9NRVRIT0RfUkVTVFJJQ1RJT04iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVNfVFlQRV9GQUNFVFNORUVEVkFMVUUiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfRkFDRVRTTkVFRFZBTFVFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX1RZUEVfRklOQUxfREVGQVVMVCIgbGluaz0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVFlQRV9GSU5BTF9ERUZBVUxUIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX1RZUEVfRklOQUxfRVhURU5TSU9OIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX0ZJTkFMX0VYVEVOU0lPTiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BU19UWVBFX0ZJTkFMX0xJU1QiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfRklOQUxfTElTVCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BU19UWVBFX0ZJTkFMX1JFU1RSSUNUSU9OIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX0ZJTkFMX1JFU1RSSUNUSU9OIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX1RZUEVfRklOQUxfVU5JT04iIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfRklOQUxfVU5JT04iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVNfVFlQRV9GSVhVUF8xIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX0ZJWFVQXzEiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVNfVFlQRV9HTE9CQUwiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfR0xPQkFMIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX1RZUEVfSEFTX0ZBQ0VUUyIgbGluaz0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVFlQRV9IQVNfRkFDRVRTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX1RZUEVfSU5URVJOQUxfSU5WQUxJRCIgbGluaz0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVFlQRV9JTlRFUk5BTF9JTlZBTElEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX1RZUEVfSU5URVJOQUxfUkVTT0xWRUQiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfSU5URVJOQUxfUkVTT0xWRUQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVNfVFlQRV9NQVJLRUQiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfTUFSS0VEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX1RZUEVfTUlYRUQiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfTUlYRUQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVNfVFlQRV9OT1JNVkFMVUVORUVERUQiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfTk9STVZBTFVFTkVFREVEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX1RZUEVfT1dORURfQVRUUl9XSUxEQ0FSRCIgbGluaz0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVFlQRV9PV05FRF9BVFRSX1dJTERDQVJEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX1RZUEVfUkVERUZJTkVEIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX1JFREVGSU5FRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BU19UWVBFX1ZBUklFVFlfQUJTRU5UIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX1ZBUklFVFlfQUJTRU5UIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX1RZUEVfVkFSSUVUWV9BVE9NSUMiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfVkFSSUVUWV9BVE9NSUMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX0xJU1QiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfVkFSSUVUWV9MSVNUIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX1RZUEVfVkFSSUVUWV9VTklPTiIgbGluaz0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX1VOSU9OIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX1RZUEVfV0hJVEVTUEFDRV9DT0xMQVBTRSIgbGluaz0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVFlQRV9XSElURVNQQUNFX0NPTExBUFNFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX1RZUEVfV0hJVEVTUEFDRV9QUkVTRVJWRSIgbGluaz0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVFlQRV9XSElURVNQQUNFX1BSRVNFUlZFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX1RZUEVfV0hJVEVTUEFDRV9SRVBMQUNFIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX1dISVRFU1BBQ0VfUkVQTEFDRSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BU19XSUxEQ0FSRF9DT01QTEVURSIgbGluaz0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfV0lMRENBUkRfQ09NUExFVEUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NLSVBfSURTIiBsaW5rPSJsaWJ4bWwyLXBhcnNlci5odG1sI1hNTF9TS0lQX0lEUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU1VCU1RJVFVURV9CT1RIIiBsaW5rPSJsaWJ4bWwyLXBhcnNlckludGVybmFscy5odG1sI1hNTF9TVUJTVElUVVRFX0JPVEgiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NVQlNUSVRVVEVfTk9ORSIgbGluaz0ibGlieG1sMi1wYXJzZXJJbnRlcm5hbHMuaHRtbCNYTUxfU1VCU1RJVFVURV9OT05FIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TVUJTVElUVVRFX1BFUkVGIiBsaW5rPSJsaWJ4bWwyLXBhcnNlckludGVybmFscy5odG1sI1hNTF9TVUJTVElUVVRFX1BFUkVGIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TVUJTVElUVVRFX1JFRiIgbGluaz0ibGlieG1sMi1wYXJzZXJJbnRlcm5hbHMuaHRtbCNYTUxfU1VCU1RJVFVURV9SRUYiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1hNTF9JRCIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjWE1MX1hNTF9JRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfWE1MX05BTUVTUEFDRSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjWE1MX1hNTF9OQU1FU1BBQ0UiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1hQQVRIX0NIRUNLTlMiIGxpbms9ImxpYnhtbDIteHBhdGguaHRtbCNYTUxfWFBBVEhfQ0hFQ0tOUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfWFBBVEhfTk9WQVIiIGxpbms9ImxpYnhtbDIteHBhdGguaHRtbCNYTUxfWFBBVEhfTk9WQVIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWFBfRVJST1IiIGxpbms9ImxpYnhtbDIteHBhdGhJbnRlcm5hbHMuaHRtbCNYUF9FUlJPUiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYUF9FUlJPUjAiIGxpbms9ImxpYnhtbDIteHBhdGhJbnRlcm5hbHMuaHRtbCNYUF9FUlJPUjAiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iX1JFRU5UUkFOVCIgbGluaz0ibGlieG1sMi14bWxleHBvcnRzLmh0bWwjX1JFRU5UUkFOVCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJodG1sRGVmYXVsdFN1YmVsZW1lbnQiIGxpbms9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sI2h0bWxEZWZhdWx0U3ViZWxlbWVudCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJodG1sRWxlbWVudEFsbG93ZWRIZXJlRGVzYyIgbGluaz0ibGlieG1sMi1IVE1McGFyc2VyLmh0bWwjaHRtbEVsZW1lbnRBbGxvd2VkSGVyZURlc2MiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iaHRtbFJlcXVpcmVkQXR0cnMiIGxpbms9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sI2h0bWxSZXF1aXJlZEF0dHJzIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbENoaWxkcmVuTm9kZSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sQ2hpbGRyZW5Ob2RlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbElzQmFzZUNoYXJRIiBsaW5rPSJsaWJ4bWwyLWNodmFsaWQuaHRtbCN4bWxJc0Jhc2VDaGFyUSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxJc0Jhc2VDaGFyX2NoIiBsaW5rPSJsaWJ4bWwyLWNodmFsaWQuaHRtbCN4bWxJc0Jhc2VDaGFyX2NoIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbElzQmxhbmtRIiBsaW5rPSJsaWJ4bWwyLWNodmFsaWQuaHRtbCN4bWxJc0JsYW5rUSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxJc0JsYW5rX2NoIiBsaW5rPSJsaWJ4bWwyLWNodmFsaWQuaHRtbCN4bWxJc0JsYW5rX2NoIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbElzQ2hhclEiIGxpbms9ImxpYnhtbDItY2h2YWxpZC5odG1sI3htbElzQ2hhclEiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sSXNDaGFyX2NoIiBsaW5rPSJsaWJ4bWwyLWNodmFsaWQuaHRtbCN4bWxJc0NoYXJfY2giLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sSXNDb21iaW5pbmdRIiBsaW5rPSJsaWJ4bWwyLWNodmFsaWQuaHRtbCN4bWxJc0NvbWJpbmluZ1EiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sSXNEaWdpdFEiIGxpbms9ImxpYnhtbDItY2h2YWxpZC5odG1sI3htbElzRGlnaXRRIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbElzRGlnaXRfY2giIGxpbms9ImxpYnhtbDItY2h2YWxpZC5odG1sI3htbElzRGlnaXRfY2giLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sSXNFeHRlbmRlclEiIGxpbms9ImxpYnhtbDItY2h2YWxpZC5odG1sI3htbElzRXh0ZW5kZXJRIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbElzRXh0ZW5kZXJfY2giIGxpbms9ImxpYnhtbDItY2h2YWxpZC5odG1sI3htbElzRXh0ZW5kZXJfY2giLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sSXNJZGVvZ3JhcGhpY1EiIGxpbms9ImxpYnhtbDItY2h2YWxpZC5odG1sI3htbElzSWRlb2dyYXBoaWNRIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbElzUHViaWRDaGFyUSIgbGluaz0ibGlieG1sMi1jaHZhbGlkLmh0bWwjeG1sSXNQdWJpZENoYXJRIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbElzUHViaWRDaGFyX2NoIiBsaW5rPSJsaWJ4bWwyLWNodmFsaWQuaHRtbCN4bWxJc1B1YmlkQ2hhcl9jaCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxSb290Tm9kZSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sUm9vdE5vZGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVGV4dFdyaXRlcldyaXRlRG9jVHlwZSIgbGluaz0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVEb2NUeXBlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFRleHRXcml0ZXJXcml0ZVByb2Nlc3NpbmdJbnN0cnVjdGlvbiIgbGluaz0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhDaGVja0Vycm9yIiBsaW5rPSJsaWJ4bWwyLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhDaGVja0Vycm9yIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoRW1wdHlOb2RlU2V0IiBsaW5rPSJsaWJ4bWwyLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhFbXB0eU5vZGVTZXQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhHZXRDb250ZXh0Tm9kZSIgbGluaz0ibGlieG1sMi14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoR2V0Q29udGV4dE5vZGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhHZXREb2N1bWVudCIgbGluaz0ibGlieG1sMi14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoR2V0RG9jdW1lbnQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhHZXRFcnJvciIgbGluaz0ibGlieG1sMi14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoR2V0RXJyb3IiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhOb2RlU2V0R2V0TGVuZ3RoIiBsaW5rPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhOb2RlU2V0R2V0TGVuZ3RoIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoTm9kZVNldElzRW1wdHkiIGxpbms9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE5vZGVTZXRJc0VtcHR5Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoTm9kZVNldEl0ZW0iIGxpbms9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE5vZGVTZXRJdGVtIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoUmV0dXJuQm9vbGVhbiIgbGluaz0ibGlieG1sMi14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmV0dXJuQm9vbGVhbiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUGF0aFJldHVybkVtcHR5Tm9kZVNldCIgbGluaz0ibGlieG1sMi14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmV0dXJuRW1wdHlOb2RlU2V0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoUmV0dXJuRW1wdHlTdHJpbmciIGxpbms9ImxpYnhtbDIteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJldHVybkVtcHR5U3RyaW5nIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoUmV0dXJuRXh0ZXJuYWwiIGxpbms9ImxpYnhtbDIteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJldHVybkV4dGVybmFsIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoUmV0dXJuRmFsc2UiIGxpbms9ImxpYnhtbDIteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJldHVybkZhbHNlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoUmV0dXJuTm9kZVNldCIgbGluaz0ibGlieG1sMi14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmV0dXJuTm9kZVNldCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUGF0aFJldHVybk51bWJlciIgbGluaz0ibGlieG1sMi14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmV0dXJuTnVtYmVyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoUmV0dXJuU3RyaW5nIiBsaW5rPSJsaWJ4bWwyLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhSZXR1cm5TdHJpbmciLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhSZXR1cm5UcnVlIiBsaW5rPSJsaWJ4bWwyLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhSZXR1cm5UcnVlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoU2V0QXJpdHlFcnJvciIgbGluaz0ibGlieG1sMi14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU2V0QXJpdHlFcnJvciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUGF0aFNldEVycm9yIiBsaW5rPSJsaWJ4bWwyLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTZXRFcnJvciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUGF0aFNldFR5cGVFcnJvciIgbGluaz0ibGlieG1sMi14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU2V0VHlwZUVycm9yIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoU3RhY2tJc0V4dGVybmFsIiBsaW5rPSJsaWJ4bWwyLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdGFja0lzRXh0ZXJuYWwiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhTdGFja0lzTm9kZVNldCIgbGluaz0ibGlieG1sMi14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU3RhY2tJc05vZGVTZXQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iSFRNTF9ERVBSRUNBVEVEIiBsaW5rPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNIVE1MX0RFUFJFQ0FURUQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iSFRNTF9JTlZBTElEIiBsaW5rPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNIVE1MX0lOVkFMSUQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iSFRNTF9OQSIgbGluaz0ibGlieG1sMi1IVE1McGFyc2VyLmh0bWwjSFRNTF9OQSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJIVE1MX1BBUlNFX0NPTVBBQ1QiIGxpbms9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sI0hUTUxfUEFSU0VfQ09NUEFDVCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJIVE1MX1BBUlNFX0lHTk9SRV9FTkMiIGxpbms9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sI0hUTUxfUEFSU0VfSUdOT1JFX0VOQyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJIVE1MX1BBUlNFX05PQkxBTktTIiBsaW5rPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNIVE1MX1BBUlNFX05PQkxBTktTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IkhUTUxfUEFSU0VfTk9ERUZEVEQiIGxpbms9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sI0hUTUxfUEFSU0VfTk9ERUZEVEQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iSFRNTF9QQVJTRV9OT0VSUk9SIiBsaW5rPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNIVE1MX1BBUlNFX05PRVJST1IiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iSFRNTF9QQVJTRV9OT0lNUExJRUQiIGxpbms9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sI0hUTUxfUEFSU0VfTk9JTVBMSUVEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IkhUTUxfUEFSU0VfTk9ORVQiIGxpbms9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sI0hUTUxfUEFSU0VfTk9ORVQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iSFRNTF9QQVJTRV9OT1dBUk5JTkciIGxpbms9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sI0hUTUxfUEFSU0VfTk9XQVJOSU5HIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IkhUTUxfUEFSU0VfUEVEQU5USUMiIGxpbms9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sI0hUTUxfUEFSU0VfUEVEQU5USUMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iSFRNTF9QQVJTRV9SRUNPVkVSIiBsaW5rPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNIVE1MX1BBUlNFX1JFQ09WRVIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iSFRNTF9SRVFVSVJFRCIgbGluaz0ibGlieG1sMi1IVE1McGFyc2VyLmh0bWwjSFRNTF9SRVFVSVJFRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJIVE1MX1ZBTElEIiBsaW5rPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNIVE1MX1ZBTElEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhMSU5LX0FDVFVBVEVfQVVUTyIgbGluaz0ibGlieG1sMi14bGluay5odG1sI1hMSU5LX0FDVFVBVEVfQVVUTyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTElOS19BQ1RVQVRFX05PTkUiIGxpbms9ImxpYnhtbDIteGxpbmsuaHRtbCNYTElOS19BQ1RVQVRFX05PTkUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWExJTktfQUNUVUFURV9PTlJFUVVFU1QiIGxpbms9ImxpYnhtbDIteGxpbmsuaHRtbCNYTElOS19BQ1RVQVRFX09OUkVRVUVTVCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTElOS19TSE9XX0VNQkVEIiBsaW5rPSJsaWJ4bWwyLXhsaW5rLmh0bWwjWExJTktfU0hPV19FTUJFRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTElOS19TSE9XX05FVyIgbGluaz0ibGlieG1sMi14bGluay5odG1sI1hMSU5LX1NIT1dfTkVXIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhMSU5LX1NIT1dfTk9ORSIgbGluaz0ibGlieG1sMi14bGluay5odG1sI1hMSU5LX1NIT1dfTk9ORSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTElOS19TSE9XX1JFUExBQ0UiIGxpbms9ImxpYnhtbDIteGxpbmsuaHRtbCNYTElOS19TSE9XX1JFUExBQ0UiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWExJTktfVFlQRV9FWFRFTkRFRCIgbGluaz0ibGlieG1sMi14bGluay5odG1sI1hMSU5LX1RZUEVfRVhURU5ERUQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWExJTktfVFlQRV9FWFRFTkRFRF9TRVQiIGxpbms9ImxpYnhtbDIteGxpbmsuaHRtbCNYTElOS19UWVBFX0VYVEVOREVEX1NFVCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTElOS19UWVBFX05PTkUiIGxpbms9ImxpYnhtbDIteGxpbmsuaHRtbCNYTElOS19UWVBFX05PTkUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWExJTktfVFlQRV9TSU1QTEUiIGxpbms9ImxpYnhtbDIteGxpbmsuaHRtbCNYTElOS19UWVBFX1NJTVBMRSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfQVRUUklCVVRFX0NEQVRBIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCNYTUxfQVRUUklCVVRFX0NEQVRBIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9BVFRSSUJVVEVfREVDTCIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjWE1MX0FUVFJJQlVURV9ERUNMIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9BVFRSSUJVVEVfRU5USVRJRVMiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI1hNTF9BVFRSSUJVVEVfRU5USVRJRVMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0FUVFJJQlVURV9FTlRJVFkiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI1hNTF9BVFRSSUJVVEVfRU5USVRZIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9BVFRSSUJVVEVfRU5VTUVSQVRJT04iIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI1hNTF9BVFRSSUJVVEVfRU5VTUVSQVRJT04iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0FUVFJJQlVURV9GSVhFRCIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjWE1MX0FUVFJJQlVURV9GSVhFRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfQVRUUklCVVRFX0lEIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCNYTUxfQVRUUklCVVRFX0lEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9BVFRSSUJVVEVfSURSRUYiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI1hNTF9BVFRSSUJVVEVfSURSRUYiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0FUVFJJQlVURV9JRFJFRlMiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI1hNTF9BVFRSSUJVVEVfSURSRUZTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9BVFRSSUJVVEVfSU1QTElFRCIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjWE1MX0FUVFJJQlVURV9JTVBMSUVEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9BVFRSSUJVVEVfTk1UT0tFTiIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjWE1MX0FUVFJJQlVURV9OTVRPS0VOIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9BVFRSSUJVVEVfTk1UT0tFTlMiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI1hNTF9BVFRSSUJVVEVfTk1UT0tFTlMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0FUVFJJQlVURV9OT0RFIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCNYTUxfQVRUUklCVVRFX05PREUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0FUVFJJQlVURV9OT05FIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCNYTUxfQVRUUklCVVRFX05PTkUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0FUVFJJQlVURV9OT1RBVElPTiIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjWE1MX0FUVFJJQlVURV9OT1RBVElPTiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfQVRUUklCVVRFX1JFUVVJUkVEIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCNYTUxfQVRUUklCVVRFX1JFUVVJUkVEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9CVUZGRVJfQUxMT0NfRE9VQkxFSVQiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI1hNTF9CVUZGRVJfQUxMT0NfRE9VQkxFSVQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0JVRkZFUl9BTExPQ19FWEFDVCIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjWE1MX0JVRkZFUl9BTExPQ19FWEFDVCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfQlVGRkVSX0FMTE9DX0hZQlJJRCIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjWE1MX0JVRkZFUl9BTExPQ19IWUJSSUQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0JVRkZFUl9BTExPQ19JTU1VVEFCTEUiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI1hNTF9CVUZGRVJfQUxMT0NfSU1NVVRBQkxFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9CVUZGRVJfQUxMT0NfSU8iIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI1hNTF9CVUZGRVJfQUxMT0NfSU8iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0JVRl9PVkVSRkxPVyIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9CVUZfT1ZFUkZMT1ciLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0MxNE5fMV8wIiBsaW5rPSJsaWJ4bWwyLWMxNG4uaHRtbCNYTUxfQzE0Tl8xXzAiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0MxNE5fMV8xIiBsaW5rPSJsaWJ4bWwyLWMxNG4uaHRtbCNYTUxfQzE0Tl8xXzEiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0MxNE5fQ1JFQVRFX0NUWFQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfQzE0Tl9DUkVBVEVfQ1RYVCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfQzE0Tl9DUkVBVEVfU1RBQ0siIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfQzE0Tl9DUkVBVEVfU1RBQ0siLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0MxNE5fRVhDTFVTSVZFXzFfMCIgbGluaz0ibGlieG1sMi1jMTRuLmh0bWwjWE1MX0MxNE5fRVhDTFVTSVZFXzFfMCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfQzE0Tl9JTlZBTElEX05PREUiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfQzE0Tl9JTlZBTElEX05PREUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0MxNE5fUkVMQVRJVkVfTkFNRVNQQUNFIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0MxNE5fUkVMQVRJVkVfTkFNRVNQQUNFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9DMTROX1JFUVVJUkVTX1VURjgiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfQzE0Tl9SRVFVSVJFU19VVEY4Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9DMTROX1VOS05PV19OT0RFIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0MxNE5fVU5LTk9XX05PREUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0NBVEFMT0dfRU5UUllfQlJPS0VOIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0NBVEFMT0dfRU5UUllfQlJPS0VOIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9DQVRBTE9HX01JU1NJTkdfQVRUUiIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9DQVRBTE9HX01JU1NJTkdfQVRUUiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfQ0FUQUxPR19OT1RfQ0FUQUxPRyIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9DQVRBTE9HX05PVF9DQVRBTE9HIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9DQVRBTE9HX1BSRUZFUl9WQUxVRSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9DQVRBTE9HX1BSRUZFUl9WQUxVRSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfQ0FUQUxPR19SRUNVUlNJT04iIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfQ0FUQUxPR19SRUNVUlNJT04iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0NBVEFfQUxMT1dfQUxMIiBsaW5rPSJsaWJ4bWwyLWNhdGFsb2cuaHRtbCNYTUxfQ0FUQV9BTExPV19BTEwiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0NBVEFfQUxMT1dfRE9DVU1FTlQiIGxpbms9ImxpYnhtbDItY2F0YWxvZy5odG1sI1hNTF9DQVRBX0FMTE9XX0RPQ1VNRU5UIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9DQVRBX0FMTE9XX0dMT0JBTCIgbGluaz0ibGlieG1sMi1jYXRhbG9nLmh0bWwjWE1MX0NBVEFfQUxMT1dfR0xPQkFMIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9DQVRBX0FMTE9XX05PTkUiIGxpbms9ImxpYnhtbDItY2F0YWxvZy5odG1sI1hNTF9DQVRBX0FMTE9XX05PTkUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0NBVEFfUFJFRkVSX05PTkUiIGxpbms9ImxpYnhtbDItY2F0YWxvZy5odG1sI1hNTF9DQVRBX1BSRUZFUl9OT05FIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9DQVRBX1BSRUZFUl9QVUJMSUMiIGxpbms9ImxpYnhtbDItY2F0YWxvZy5odG1sI1hNTF9DQVRBX1BSRUZFUl9QVUJMSUMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0NBVEFfUFJFRkVSX1NZU1RFTSIgbGluaz0ibGlieG1sMi1jYXRhbG9nLmh0bWwjWE1MX0NBVEFfUFJFRkVSX1NZU1RFTSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfQ0RBVEFfU0VDVElPTl9OT0RFIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCNYTUxfQ0RBVEFfU0VDVElPTl9OT0RFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9DSEFSX0VOQ09ESU5HXzIwMjJfSlAiIGxpbms9ImxpYnhtbDItZW5jb2RpbmcuaHRtbCNYTUxfQ0hBUl9FTkNPRElOR18yMDIyX0pQIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9DSEFSX0VOQ09ESU5HXzg4NTlfMSIgbGluaz0ibGlieG1sMi1lbmNvZGluZy5odG1sI1hNTF9DSEFSX0VOQ09ESU5HXzg4NTlfMSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfQ0hBUl9FTkNPRElOR184ODU5XzIiIGxpbms9ImxpYnhtbDItZW5jb2RpbmcuaHRtbCNYTUxfQ0hBUl9FTkNPRElOR184ODU5XzIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0NIQVJfRU5DT0RJTkdfODg1OV8zIiBsaW5rPSJsaWJ4bWwyLWVuY29kaW5nLmh0bWwjWE1MX0NIQVJfRU5DT0RJTkdfODg1OV8zIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9DSEFSX0VOQ09ESU5HXzg4NTlfNCIgbGluaz0ibGlieG1sMi1lbmNvZGluZy5odG1sI1hNTF9DSEFSX0VOQ09ESU5HXzg4NTlfNCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfQ0hBUl9FTkNPRElOR184ODU5XzUiIGxpbms9ImxpYnhtbDItZW5jb2RpbmcuaHRtbCNYTUxfQ0hBUl9FTkNPRElOR184ODU5XzUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0NIQVJfRU5DT0RJTkdfODg1OV82IiBsaW5rPSJsaWJ4bWwyLWVuY29kaW5nLmh0bWwjWE1MX0NIQVJfRU5DT0RJTkdfODg1OV82Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9DSEFSX0VOQ09ESU5HXzg4NTlfNyIgbGluaz0ibGlieG1sMi1lbmNvZGluZy5odG1sI1hNTF9DSEFSX0VOQ09ESU5HXzg4NTlfNyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfQ0hBUl9FTkNPRElOR184ODU5XzgiIGxpbms9ImxpYnhtbDItZW5jb2RpbmcuaHRtbCNYTUxfQ0hBUl9FTkNPRElOR184ODU5XzgiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0NIQVJfRU5DT0RJTkdfODg1OV85IiBsaW5rPSJsaWJ4bWwyLWVuY29kaW5nLmh0bWwjWE1MX0NIQVJfRU5DT0RJTkdfODg1OV85Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9DSEFSX0VOQ09ESU5HX0FTQ0lJIiBsaW5rPSJsaWJ4bWwyLWVuY29kaW5nLmh0bWwjWE1MX0NIQVJfRU5DT0RJTkdfQVNDSUkiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0NIQVJfRU5DT0RJTkdfRUJDRElDIiBsaW5rPSJsaWJ4bWwyLWVuY29kaW5nLmh0bWwjWE1MX0NIQVJfRU5DT0RJTkdfRUJDRElDIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9DSEFSX0VOQ09ESU5HX0VSUk9SIiBsaW5rPSJsaWJ4bWwyLWVuY29kaW5nLmh0bWwjWE1MX0NIQVJfRU5DT0RJTkdfRVJST1IiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0NIQVJfRU5DT0RJTkdfRVVDX0pQIiBsaW5rPSJsaWJ4bWwyLWVuY29kaW5nLmh0bWwjWE1MX0NIQVJfRU5DT0RJTkdfRVVDX0pQIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9DSEFSX0VOQ09ESU5HX05PTkUiIGxpbms9ImxpYnhtbDItZW5jb2RpbmcuaHRtbCNYTUxfQ0hBUl9FTkNPRElOR19OT05FIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9DSEFSX0VOQ09ESU5HX1NISUZUX0pJUyIgbGluaz0ibGlieG1sMi1lbmNvZGluZy5odG1sI1hNTF9DSEFSX0VOQ09ESU5HX1NISUZUX0pJUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfQ0hBUl9FTkNPRElOR19VQ1MyIiBsaW5rPSJsaWJ4bWwyLWVuY29kaW5nLmh0bWwjWE1MX0NIQVJfRU5DT0RJTkdfVUNTMiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfQ0hBUl9FTkNPRElOR19VQ1M0QkUiIGxpbms9ImxpYnhtbDItZW5jb2RpbmcuaHRtbCNYTUxfQ0hBUl9FTkNPRElOR19VQ1M0QkUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0NIQVJfRU5DT0RJTkdfVUNTNExFIiBsaW5rPSJsaWJ4bWwyLWVuY29kaW5nLmh0bWwjWE1MX0NIQVJfRU5DT0RJTkdfVUNTNExFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9DSEFSX0VOQ09ESU5HX1VDUzRfMjE0MyIgbGluaz0ibGlieG1sMi1lbmNvZGluZy5odG1sI1hNTF9DSEFSX0VOQ09ESU5HX1VDUzRfMjE0MyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfQ0hBUl9FTkNPRElOR19VQ1M0XzM0MTIiIGxpbms9ImxpYnhtbDItZW5jb2RpbmcuaHRtbCNYTUxfQ0hBUl9FTkNPRElOR19VQ1M0XzM0MTIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0NIQVJfRU5DT0RJTkdfVVRGMTZCRSIgbGluaz0ibGlieG1sMi1lbmNvZGluZy5odG1sI1hNTF9DSEFSX0VOQ09ESU5HX1VURjE2QkUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0NIQVJfRU5DT0RJTkdfVVRGMTZMRSIgbGluaz0ibGlieG1sMi1lbmNvZGluZy5odG1sI1hNTF9DSEFSX0VOQ09ESU5HX1VURjE2TEUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0NIQVJfRU5DT0RJTkdfVVRGOCIgbGluaz0ibGlieG1sMi1lbmNvZGluZy5odG1sI1hNTF9DSEFSX0VOQ09ESU5HX1VURjgiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0NIRUNLX0VOVElUWV9UWVBFIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0NIRUNLX0VOVElUWV9UWVBFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9DSEVDS19GT1VORF9BVFRSSUJVVEUiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfQ0hFQ0tfRk9VTkRfQVRUUklCVVRFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9DSEVDS19GT1VORF9DREFUQSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9DSEVDS19GT1VORF9DREFUQSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfQ0hFQ0tfRk9VTkRfQ09NTUVOVCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9DSEVDS19GT1VORF9DT01NRU5UIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9DSEVDS19GT1VORF9ET0NUWVBFIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0NIRUNLX0ZPVU5EX0RPQ1RZUEUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0NIRUNLX0ZPVU5EX0VMRU1FTlQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfQ0hFQ0tfRk9VTkRfRUxFTUVOVCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfQ0hFQ0tfRk9VTkRfRU5USVRZIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0NIRUNLX0ZPVU5EX0VOVElUWSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfQ0hFQ0tfRk9VTkRfRU5USVRZUkVGIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0NIRUNLX0ZPVU5EX0VOVElUWVJFRiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfQ0hFQ0tfRk9VTkRfRlJBR01FTlQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfQ0hFQ0tfRk9VTkRfRlJBR01FTlQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0NIRUNLX0ZPVU5EX05PVEFUSU9OIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0NIRUNLX0ZPVU5EX05PVEFUSU9OIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9DSEVDS19GT1VORF9QSSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9DSEVDS19GT1VORF9QSSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfQ0hFQ0tfRk9VTkRfVEVYVCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9DSEVDS19GT1VORF9URVhUIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9DSEVDS19OQU1FX05PVF9OVUxMIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0NIRUNLX05BTUVfTk9UX05VTEwiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0NIRUNLX05PVF9BVFRSIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0NIRUNLX05PVF9BVFRSIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9DSEVDS19OT1RfQVRUUl9ERUNMIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0NIRUNLX05PVF9BVFRSX0RFQ0wiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0NIRUNLX05PVF9EVEQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfQ0hFQ0tfTk9UX0RURCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfQ0hFQ0tfTk9UX0VMRU1fREVDTCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9DSEVDS19OT1RfRUxFTV9ERUNMIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9DSEVDS19OT1RfRU5USVRZX0RFQ0wiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfQ0hFQ0tfTk9UX0VOVElUWV9ERUNMIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9DSEVDS19OT1RfTkNOQU1FIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0NIRUNLX05PVF9OQ05BTUUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0NIRUNLX05PVF9OU19ERUNMIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0NIRUNLX05PVF9OU19ERUNMIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9DSEVDS19OT1RfVVRGOCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9DSEVDS19OT1RfVVRGOCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfQ0hFQ0tfTk9fRElDVCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9DSEVDS19OT19ESUNUIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9DSEVDS19OT19ET0MiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfQ0hFQ0tfTk9fRE9DIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9DSEVDS19OT19FTEVNIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0NIRUNLX05PX0VMRU0iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0NIRUNLX05PX0hSRUYiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfQ0hFQ0tfTk9fSFJFRiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfQ0hFQ0tfTk9fTkFNRSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9DSEVDS19OT19OQU1FIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9DSEVDS19OT19ORVhUIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0NIRUNLX05PX05FWFQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0NIRUNLX05PX1BBUkVOVCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9DSEVDS19OT19QQVJFTlQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0NIRUNLX05PX1BSRVYiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfQ0hFQ0tfTk9fUFJFViIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfQ0hFQ0tfTlNfQU5DRVNUT1IiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfQ0hFQ0tfTlNfQU5DRVNUT1IiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0NIRUNLX05TX1NDT1BFIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0NIRUNLX05TX1NDT1BFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9DSEVDS19PVVRTSURFX0RJQ1QiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfQ0hFQ0tfT1VUU0lERV9ESUNUIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9DSEVDS19VTktOT1dOX05PREUiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfQ0hFQ0tfVU5LTk9XTl9OT0RFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9DSEVDS19XUk9OR19ET0MiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfQ0hFQ0tfV1JPTkdfRE9DIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9DSEVDS19XUk9OR19OQU1FIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0NIRUNLX1dST05HX05BTUUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0NIRUNLX1dST05HX05FWFQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfQ0hFQ0tfV1JPTkdfTkVYVCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfQ0hFQ0tfV1JPTkdfUEFSRU5UIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0NIRUNLX1dST05HX1BBUkVOVCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfQ0hFQ0tfV1JPTkdfUFJFViIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9DSEVDS19XUk9OR19QUkVWIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9DT01NRU5UX05PREUiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI1hNTF9DT01NRU5UX05PREUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0RPQ0JfRE9DVU1FTlRfTk9ERSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjWE1MX0RPQ0JfRE9DVU1FTlRfTk9ERSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRE9DVU1FTlRfRlJBR19OT0RFIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCNYTUxfRE9DVU1FTlRfRlJBR19OT0RFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9ET0NVTUVOVF9OT0RFIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCNYTUxfRE9DVU1FTlRfTk9ERSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRE9DVU1FTlRfVFlQRV9OT0RFIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCNYTUxfRE9DVU1FTlRfVFlQRV9OT0RFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9ET0NfRFREVkFMSUQiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI1hNTF9ET0NfRFREVkFMSUQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0RPQ19IVE1MIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCNYTUxfRE9DX0hUTUwiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0RPQ19JTlRFUk5BTCIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjWE1MX0RPQ19JTlRFUk5BTCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRE9DX05TVkFMSUQiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI1hNTF9ET0NfTlNWQUxJRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRE9DX09MRDEwIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCNYTUxfRE9DX09MRDEwIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9ET0NfVVNFUkJVSUxUIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCNYTUxfRE9DX1VTRVJCVUlMVCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRE9DX1dFTExGT1JNRUQiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI1hNTF9ET0NfV0VMTEZPUk1FRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRE9DX1hJTkNMVURFIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCNYTUxfRE9DX1hJTkNMVURFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9EVERfQVRUUklCVVRFX0RFRkFVTFQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRFREX0FUVFJJQlVURV9ERUZBVUxUIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9EVERfQVRUUklCVVRFX1JFREVGSU5FRCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9EVERfQVRUUklCVVRFX1JFREVGSU5FRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRFREX0FUVFJJQlVURV9WQUxVRSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9EVERfQVRUUklCVVRFX1ZBTFVFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9EVERfQ09OVEVOVF9FUlJPUiIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9EVERfQ09OVEVOVF9FUlJPUiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRFREX0NPTlRFTlRfTU9ERUwiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRFREX0NPTlRFTlRfTU9ERUwiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0RURF9DT05URU5UX05PVF9ERVRFUk1JTklTVCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9EVERfQ09OVEVOVF9OT1RfREVURVJNSU5JU1QiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0RURF9ESUZGRVJFTlRfUFJFRklYIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0RURF9ESUZGRVJFTlRfUFJFRklYIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9EVERfRFVQX1RPS0VOIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0RURF9EVVBfVE9LRU4iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0RURF9FTEVNX0RFRkFVTFRfTkFNRVNQQUNFIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0RURF9FTEVNX0RFRkFVTFRfTkFNRVNQQUNFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9EVERfRUxFTV9OQU1FU1BBQ0UiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRFREX0VMRU1fTkFNRVNQQUNFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9EVERfRUxFTV9SRURFRklORUQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRFREX0VMRU1fUkVERUZJTkVEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9EVERfRU1QVFlfTk9UQVRJT04iIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRFREX0VNUFRZX05PVEFUSU9OIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9EVERfRU5USVRZX1RZUEUiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRFREX0VOVElUWV9UWVBFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9EVERfSURfRklYRUQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRFREX0lEX0ZJWEVEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9EVERfSURfUkVERUZJTkVEIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0RURF9JRF9SRURFRklORUQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0RURF9JRF9TVUJTRVQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRFREX0lEX1NVQlNFVCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRFREX0lOVkFMSURfQ0hJTEQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRFREX0lOVkFMSURfQ0hJTEQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0RURF9JTlZBTElEX0RFRkFVTFQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRFREX0lOVkFMSURfREVGQVVMVCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRFREX0xPQURfRVJST1IiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRFREX0xPQURfRVJST1IiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0RURF9NSVNTSU5HX0FUVFJJQlVURSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9EVERfTUlTU0lOR19BVFRSSUJVVEUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0RURF9NSVhFRF9DT1JSVVBUIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0RURF9NSVhFRF9DT1JSVVBUIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9EVERfTVVMVElQTEVfSUQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRFREX01VTFRJUExFX0lEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9EVERfTk9ERSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjWE1MX0RURF9OT0RFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9EVERfTk9UQVRJT05fUkVERUZJTkVEIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0RURF9OT1RBVElPTl9SRURFRklORUQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0RURF9OT1RBVElPTl9WQUxVRSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9EVERfTk9UQVRJT05fVkFMVUUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0RURF9OT1RfRU1QVFkiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRFREX05PVF9FTVBUWSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRFREX05PVF9QQ0RBVEEiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRFREX05PVF9QQ0RBVEEiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0RURF9OT1RfU1RBTkRBTE9ORSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9EVERfTk9UX1NUQU5EQUxPTkUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0RURF9OT19ET0MiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRFREX05PX0RPQyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRFREX05PX0RURCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9EVERfTk9fRFREIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9EVERfTk9fRUxFTV9OQU1FIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0RURF9OT19FTEVNX05BTUUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0RURF9OT19QUkVGSVgiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRFREX05PX1BSRUZJWCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRFREX05PX1JPT1QiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRFREX05PX1JPT1QiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0RURF9ST09UX05BTUUiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRFREX1JPT1RfTkFNRSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRFREX1NUQU5EQUxPTkVfREVGQVVMVEVEIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0RURF9TVEFOREFMT05FX0RFRkFVTFRFRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRFREX1NUQU5EQUxPTkVfV0hJVEVfU1BBQ0UiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRFREX1NUQU5EQUxPTkVfV0hJVEVfU1BBQ0UiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0RURF9VTktOT1dOX0FUVFJJQlVURSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9EVERfVU5LTk9XTl9BVFRSSUJVVEUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0RURF9VTktOT1dOX0VMRU0iIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRFREX1VOS05PV05fRUxFTSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRFREX1VOS05PV05fRU5USVRZIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0RURF9VTktOT1dOX0VOVElUWSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRFREX1VOS05PV05fSUQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRFREX1VOS05PV05fSUQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0RURF9VTktOT1dOX05PVEFUSU9OIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0RURF9VTktOT1dOX05PVEFUSU9OIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9EVERfWE1MSURfVFlQRSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9EVERfWE1MSURfVFlQRSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRFREX1hNTElEX1ZBTFVFIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0RURF9YTUxJRF9WQUxVRSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRUxFTUVOVF9DT05URU5UX0VMRU1FTlQiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI1hNTF9FTEVNRU5UX0NPTlRFTlRfRUxFTUVOVCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRUxFTUVOVF9DT05URU5UX01VTFQiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI1hNTF9FTEVNRU5UX0NPTlRFTlRfTVVMVCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRUxFTUVOVF9DT05URU5UX09OQ0UiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI1hNTF9FTEVNRU5UX0NPTlRFTlRfT05DRSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRUxFTUVOVF9DT05URU5UX09QVCIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjWE1MX0VMRU1FTlRfQ09OVEVOVF9PUFQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0VMRU1FTlRfQ09OVEVOVF9PUiIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjWE1MX0VMRU1FTlRfQ09OVEVOVF9PUiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRUxFTUVOVF9DT05URU5UX1BDREFUQSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjWE1MX0VMRU1FTlRfQ09OVEVOVF9QQ0RBVEEiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0VMRU1FTlRfQ09OVEVOVF9QTFVTIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCNYTUxfRUxFTUVOVF9DT05URU5UX1BMVVMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0VMRU1FTlRfQ09OVEVOVF9TRVEiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI1hNTF9FTEVNRU5UX0NPTlRFTlRfU0VRIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9FTEVNRU5UX0RFQ0wiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI1hNTF9FTEVNRU5UX0RFQ0wiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0VMRU1FTlRfTk9ERSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjWE1MX0VMRU1FTlRfTk9ERSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRUxFTUVOVF9UWVBFX0FOWSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjWE1MX0VMRU1FTlRfVFlQRV9BTlkiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0VMRU1FTlRfVFlQRV9FTEVNRU5UIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCNYTUxfRUxFTUVOVF9UWVBFX0VMRU1FTlQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0VMRU1FTlRfVFlQRV9FTVBUWSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjWE1MX0VMRU1FTlRfVFlQRV9FTVBUWSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRUxFTUVOVF9UWVBFX01JWEVEIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCNYTUxfRUxFTUVOVF9UWVBFX01JWEVEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9FTEVNRU5UX1RZUEVfVU5ERUZJTkVEIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCNYTUxfRUxFTUVOVF9UWVBFX1VOREVGSU5FRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRU5USVRZX0RFQ0wiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI1hNTF9FTlRJVFlfREVDTCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRU5USVRZX05PREUiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI1hNTF9FTlRJVFlfTk9ERSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRU5USVRZX1JFRl9OT0RFIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCNYTUxfRU5USVRZX1JFRl9OT0RFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9FUlJfQVRUTElTVF9OT1RfRklOSVNIRUQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0FUVExJU1RfTk9UX0ZJTklTSEVEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9FUlJfQVRUTElTVF9OT1RfU1RBUlRFRCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9FUlJfQVRUTElTVF9OT1RfU1RBUlRFRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRVJSX0FUVFJJQlVURV9OT1RfRklOSVNIRUQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0FUVFJJQlVURV9OT1RfRklOSVNIRUQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0VSUl9BVFRSSUJVVEVfTk9UX1NUQVJURUQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0FUVFJJQlVURV9OT1RfU1RBUlRFRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRVJSX0FUVFJJQlVURV9SRURFRklORUQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0FUVFJJQlVURV9SRURFRklORUQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0VSUl9BVFRSSUJVVEVfV0lUSE9VVF9WQUxVRSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9FUlJfQVRUUklCVVRFX1dJVEhPVVRfVkFMVUUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0VSUl9DREFUQV9OT1RfRklOSVNIRUQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0NEQVRBX05PVF9GSU5JU0hFRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRVJSX0NIQVJSRUZfQVRfRU9GIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9DSEFSUkVGX0FUX0VPRiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRVJSX0NIQVJSRUZfSU5fRFREIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9DSEFSUkVGX0lOX0RURCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRVJSX0NIQVJSRUZfSU5fRVBJTE9HIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9DSEFSUkVGX0lOX0VQSUxPRyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRVJSX0NIQVJSRUZfSU5fUFJPTE9HIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9DSEFSUkVGX0lOX1BST0xPRyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRVJSX0NPTU1FTlRfTk9UX0ZJTklTSEVEIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9DT01NRU5UX05PVF9GSU5JU0hFRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRVJSX0NPTkRTRUNfSU5WQUxJRCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9FUlJfQ09ORFNFQ19JTlZBTElEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9FUlJfQ09ORFNFQ19JTlZBTElEX0tFWVdPUkQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0NPTkRTRUNfSU5WQUxJRF9LRVlXT1JEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9FUlJfQ09ORFNFQ19OT1RfRklOSVNIRUQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0NPTkRTRUNfTk9UX0ZJTklTSEVEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9FUlJfQ09ORFNFQ19OT1RfU1RBUlRFRCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9FUlJfQ09ORFNFQ19OT1RfU1RBUlRFRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRVJSX0RPQ1RZUEVfTk9UX0ZJTklTSEVEIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9ET0NUWVBFX05PVF9GSU5JU0hFRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRVJSX0RPQ1VNRU5UX0VNUFRZIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9ET0NVTUVOVF9FTVBUWSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRVJSX0RPQ1VNRU5UX0VORCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9FUlJfRE9DVU1FTlRfRU5EIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9FUlJfRE9DVU1FTlRfU1RBUlQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0RPQ1VNRU5UX1NUQVJUIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9FUlJfRUxFTUNPTlRFTlRfTk9UX0ZJTklTSEVEIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9FTEVNQ09OVEVOVF9OT1RfRklOSVNIRUQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0VSUl9FTEVNQ09OVEVOVF9OT1RfU1RBUlRFRCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9FUlJfRUxFTUNPTlRFTlRfTk9UX1NUQVJURUQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0VSUl9FTkNPRElOR19OQU1FIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9FTkNPRElOR19OQU1FIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9FUlJfRU5USVRZUkVGX0FUX0VPRiIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9FUlJfRU5USVRZUkVGX0FUX0VPRiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRVJSX0VOVElUWVJFRl9JTl9EVEQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0VOVElUWVJFRl9JTl9EVEQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0VSUl9FTlRJVFlSRUZfSU5fRVBJTE9HIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9FTlRJVFlSRUZfSU5fRVBJTE9HIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9FUlJfRU5USVRZUkVGX0lOX1BST0xPRyIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9FUlJfRU5USVRZUkVGX0lOX1BST0xPRyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRVJSX0VOVElUWVJFRl9OT19OQU1FIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9FTlRJVFlSRUZfTk9fTkFNRSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRVJSX0VOVElUWVJFRl9TRU1JQ09MX01JU1NJTkciIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0VOVElUWVJFRl9TRU1JQ09MX01JU1NJTkciLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0VSUl9FTlRJVFlfQk9VTkRBUlkiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0VOVElUWV9CT1VOREFSWSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRVJSX0VOVElUWV9DSEFSX0VSUk9SIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9FTlRJVFlfQ0hBUl9FUlJPUiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRVJSX0VOVElUWV9JU19FWFRFUk5BTCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9FUlJfRU5USVRZX0lTX0VYVEVSTkFMIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9FUlJfRU5USVRZX0lTX1BBUkFNRVRFUiIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9FUlJfRU5USVRZX0lTX1BBUkFNRVRFUiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRVJSX0VOVElUWV9MT09QIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9FTlRJVFlfTE9PUCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRVJSX0VOVElUWV9OT1RfRklOSVNIRUQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0VOVElUWV9OT1RfRklOSVNIRUQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0VSUl9FTlRJVFlfTk9UX1NUQVJURUQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0VOVElUWV9OT1RfU1RBUlRFRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRVJSX0VOVElUWV9QRV9JTlRFUk5BTCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9FUlJfRU5USVRZX1BFX0lOVEVSTkFMIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9FUlJfRU5USVRZX1BST0NFU1NJTkciIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0VOVElUWV9QUk9DRVNTSU5HIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9FUlJfRVFVQUxfUkVRVUlSRUQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0VRVUFMX1JFUVVJUkVEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9FUlJfRVJST1IiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0VSUk9SIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9FUlJfRVhUUkFfQ09OVEVOVCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9FUlJfRVhUUkFfQ09OVEVOVCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRVJSX0VYVF9FTlRJVFlfU1RBTkRBTE9ORSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9FUlJfRVhUX0VOVElUWV9TVEFOREFMT05FIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9FUlJfRVhUX1NVQlNFVF9OT1RfRklOSVNIRUQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0VYVF9TVUJTRVRfTk9UX0ZJTklTSEVEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9FUlJfRkFUQUwiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0ZBVEFMIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9FUlJfR1RfUkVRVUlSRUQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0dUX1JFUVVJUkVEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9FUlJfSFlQSEVOX0lOX0NPTU1FTlQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0hZUEhFTl9JTl9DT01NRU5UIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9FUlJfSU5URVJOQUxfRVJST1IiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0lOVEVSTkFMX0VSUk9SIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9FUlJfSU5WQUxJRF9DSEFSIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9JTlZBTElEX0NIQVIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0VSUl9JTlZBTElEX0NIQVJSRUYiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0lOVkFMSURfQ0hBUlJFRiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRVJSX0lOVkFMSURfREVDX0NIQVJSRUYiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0lOVkFMSURfREVDX0NIQVJSRUYiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0VSUl9JTlZBTElEX0VOQ09ESU5HIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9JTlZBTElEX0VOQ09ESU5HIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9FUlJfSU5WQUxJRF9IRVhfQ0hBUlJFRiIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9FUlJfSU5WQUxJRF9IRVhfQ0hBUlJFRiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRVJSX0lOVkFMSURfVVJJIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9JTlZBTElEX1VSSSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRVJSX0xJVEVSQUxfTk9UX0ZJTklTSEVEIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9MSVRFUkFMX05PVF9GSU5JU0hFRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRVJSX0xJVEVSQUxfTk9UX1NUQVJURUQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0xJVEVSQUxfTk9UX1NUQVJURUQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0VSUl9MVFNMQVNIX1JFUVVJUkVEIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9MVFNMQVNIX1JFUVVJUkVEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9FUlJfTFRfSU5fQVRUUklCVVRFIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9MVF9JTl9BVFRSSUJVVEUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0VSUl9MVF9SRVFVSVJFRCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9FUlJfTFRfUkVRVUlSRUQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0VSUl9NSVNQTEFDRURfQ0RBVEFfRU5EIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9NSVNQTEFDRURfQ0RBVEFfRU5EIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9FUlJfTUlTU0lOR19FTkNPRElORyIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9FUlJfTUlTU0lOR19FTkNPRElORyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRVJSX01JWEVEX05PVF9GSU5JU0hFRCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9FUlJfTUlYRURfTk9UX0ZJTklTSEVEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9FUlJfTUlYRURfTk9UX1NUQVJURUQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRVJSX01JWEVEX05PVF9TVEFSVEVEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9FUlJfTkFNRV9SRVFVSVJFRCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9FUlJfTkFNRV9SRVFVSVJFRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRVJSX05BTUVfVE9PX0xPTkciIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRVJSX05BTUVfVE9PX0xPTkciLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0VSUl9OTVRPS0VOX1JFUVVJUkVEIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9OTVRPS0VOX1JFUVVJUkVEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9FUlJfTk9ORSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9FUlJfTk9ORSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRVJSX05PVEFUSU9OX05PVF9GSU5JU0hFRCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9FUlJfTk9UQVRJT05fTk9UX0ZJTklTSEVEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9FUlJfTk9UQVRJT05fTk9UX1NUQVJURUQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRVJSX05PVEFUSU9OX05PVF9TVEFSVEVEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9FUlJfTk9UQVRJT05fUFJPQ0VTU0lORyIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9FUlJfTk9UQVRJT05fUFJPQ0VTU0lORyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRVJSX05PVF9TVEFOREFMT05FIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9OT1RfU1RBTkRBTE9ORSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRVJSX05PVF9XRUxMX0JBTEFOQ0VEIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9OT1RfV0VMTF9CQUxBTkNFRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRVJSX05PX0RURCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9FUlJfTk9fRFREIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9FUlJfTk9fTUVNT1JZIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9OT19NRU1PUlkiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0VSUl9OU19ERUNMX0VSUk9SIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9OU19ERUNMX0VSUk9SIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9FUlJfT0siIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRVJSX09LIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9FUlJfUENEQVRBX1JFUVVJUkVEIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9QQ0RBVEFfUkVRVUlSRUQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0VSUl9QRVJFRl9BVF9FT0YiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRVJSX1BFUkVGX0FUX0VPRiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRVJSX1BFUkVGX0lOX0VQSUxPRyIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9FUlJfUEVSRUZfSU5fRVBJTE9HIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9FUlJfUEVSRUZfSU5fSU5UX1NVQlNFVCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9FUlJfUEVSRUZfSU5fSU5UX1NVQlNFVCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRVJSX1BFUkVGX0lOX1BST0xPRyIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9FUlJfUEVSRUZfSU5fUFJPTE9HIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9FUlJfUEVSRUZfTk9fTkFNRSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9FUlJfUEVSRUZfTk9fTkFNRSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRVJSX1BFUkVGX1NFTUlDT0xfTUlTU0lORyIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9FUlJfUEVSRUZfU0VNSUNPTF9NSVNTSU5HIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9FUlJfUElfTk9UX0ZJTklTSEVEIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9QSV9OT1RfRklOSVNIRUQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0VSUl9QSV9OT1RfU1RBUlRFRCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9FUlJfUElfTk9UX1NUQVJURUQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0VSUl9QVUJJRF9SRVFVSVJFRCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9FUlJfUFVCSURfUkVRVUlSRUQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0VSUl9SRVNFUlZFRF9YTUxfTkFNRSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9FUlJfUkVTRVJWRURfWE1MX05BTUUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0VSUl9TRVBBUkFUT1JfUkVRVUlSRUQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRVJSX1NFUEFSQVRPUl9SRVFVSVJFRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRVJSX1NQQUNFX1JFUVVJUkVEIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9TUEFDRV9SRVFVSVJFRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRVJSX1NUQU5EQUxPTkVfVkFMVUUiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRVJSX1NUQU5EQUxPTkVfVkFMVUUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0VSUl9TVFJJTkdfTk9UX0NMT1NFRCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9FUlJfU1RSSU5HX05PVF9DTE9TRUQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0VSUl9TVFJJTkdfTk9UX1NUQVJURUQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRVJSX1NUUklOR19OT1RfU1RBUlRFRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRVJSX1RBR19OQU1FX01JU01BVENIIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9UQUdfTkFNRV9NSVNNQVRDSCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRVJSX1RBR19OT1RfRklOSVNIRUQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRVJSX1RBR19OT1RfRklOSVNIRUQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0VSUl9VTkRFQ0xBUkVEX0VOVElUWSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9FUlJfVU5ERUNMQVJFRF9FTlRJVFkiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0VSUl9VTktOT1dOX0VOQ09ESU5HIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9VTktOT1dOX0VOQ09ESU5HIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9FUlJfVU5LTk9XTl9WRVJTSU9OIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9VTktOT1dOX1ZFUlNJT04iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0VSUl9VTlBBUlNFRF9FTlRJVFkiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRVJSX1VOUEFSU0VEX0VOVElUWSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRVJSX1VOU1VQUE9SVEVEX0VOQ09ESU5HIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9VTlNVUFBPUlRFRF9FTkNPRElORyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRVJSX1VSSV9GUkFHTUVOVCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9FUlJfVVJJX0ZSQUdNRU5UIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9FUlJfVVJJX1JFUVVJUkVEIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9VUklfUkVRVUlSRUQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0VSUl9VU0VSX1NUT1AiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRVJSX1VTRVJfU1RPUCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRVJSX1ZBTFVFX1JFUVVJUkVEIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9WQUxVRV9SRVFVSVJFRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRVJSX1ZFUlNJT05fTUlTTUFUQ0giIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRVJSX1ZFUlNJT05fTUlTTUFUQ0giLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0VSUl9WRVJTSU9OX01JU1NJTkciIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRVJSX1ZFUlNJT05fTUlTU0lORyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRVJSX1dBUk5JTkciIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRVJSX1dBUk5JTkciLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0VSUl9YTUxERUNMX05PVF9GSU5JU0hFRCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9FUlJfWE1MREVDTF9OT1RfRklOSVNIRUQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0VSUl9YTUxERUNMX05PVF9TVEFSVEVEIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9YTUxERUNMX05PVF9TVEFSVEVEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9FWFBfQVRPTSIgbGluaz0ibGlieG1sMi14bWxyZWdleHAuaHRtbCNYTUxfRVhQX0FUT00iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0VYUF9DT1VOVCIgbGluaz0ibGlieG1sMi14bWxyZWdleHAuaHRtbCNYTUxfRVhQX0NPVU5UIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9FWFBfRU1QVFkiIGxpbms9ImxpYnhtbDIteG1scmVnZXhwLmh0bWwjWE1MX0VYUF9FTVBUWSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRVhQX0ZPUkJJRCIgbGluaz0ibGlieG1sMi14bWxyZWdleHAuaHRtbCNYTUxfRVhQX0ZPUkJJRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRVhQX09SIiBsaW5rPSJsaWJ4bWwyLXhtbHJlZ2V4cC5odG1sI1hNTF9FWFBfT1IiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0VYUF9TRVEiIGxpbms9ImxpYnhtbDIteG1scmVnZXhwLmh0bWwjWE1MX0VYUF9TRVEiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0VYVEVSTkFMX0dFTkVSQUxfUEFSU0VEX0VOVElUWSIgbGluaz0ibGlieG1sMi1lbnRpdGllcy5odG1sI1hNTF9FWFRFUk5BTF9HRU5FUkFMX1BBUlNFRF9FTlRJVFkiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0VYVEVSTkFMX0dFTkVSQUxfVU5QQVJTRURfRU5USVRZIiBsaW5rPSJsaWJ4bWwyLWVudGl0aWVzLmh0bWwjWE1MX0VYVEVSTkFMX0dFTkVSQUxfVU5QQVJTRURfRU5USVRZIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9FWFRFUk5BTF9QQVJBTUVURVJfRU5USVRZIiBsaW5rPSJsaWJ4bWwyLWVudGl0aWVzLmh0bWwjWE1MX0VYVEVSTkFMX1BBUkFNRVRFUl9FTlRJVFkiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0ZST01fQlVGRkVSIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0ZST01fQlVGRkVSIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9GUk9NX0MxNE4iIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRlJPTV9DMTROIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9GUk9NX0NBVEFMT0ciIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRlJPTV9DQVRBTE9HIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9GUk9NX0NIRUNLIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0ZST01fQ0hFQ0siLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0ZST01fREFUQVRZUEUiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRlJPTV9EQVRBVFlQRSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRlJPTV9EVEQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRlJPTV9EVEQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0ZST01fRlRQIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0ZST01fRlRQIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9GUk9NX0hUTUwiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRlJPTV9IVE1MIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9GUk9NX0hUVFAiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRlJPTV9IVFRQIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9GUk9NX0kxOE4iIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRlJPTV9JMThOIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9GUk9NX0lPIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0ZST01fSU8iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0ZST01fTUVNT1JZIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0ZST01fTUVNT1JZIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9GUk9NX01PRFVMRSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9GUk9NX01PRFVMRSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRlJPTV9OQU1FU1BBQ0UiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRlJPTV9OQU1FU1BBQ0UiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0ZST01fTk9ORSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9GUk9NX05PTkUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0ZST01fT1VUUFVUIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0ZST01fT1VUUFVUIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9GUk9NX1BBUlNFUiIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9GUk9NX1BBUlNFUiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRlJPTV9SRUdFWFAiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRlJPTV9SRUdFWFAiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0ZST01fUkVMQVhOR1AiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRlJPTV9SRUxBWE5HUCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRlJPTV9SRUxBWE5HViIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9GUk9NX1JFTEFYTkdWIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9GUk9NX1NDSEVNQVNQIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0ZST01fU0NIRU1BU1AiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0ZST01fU0NIRU1BU1YiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRlJPTV9TQ0hFTUFTViIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRlJPTV9TQ0hFTUFUUk9OViIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9GUk9NX1NDSEVNQVRST05WIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9GUk9NX1RSRUUiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRlJPTV9UUkVFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9GUk9NX1VSSSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9GUk9NX1VSSSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRlJPTV9WQUxJRCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9GUk9NX1ZBTElEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9GUk9NX1dSSVRFUiIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9GUk9NX1dSSVRFUiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRlJPTV9YSU5DTFVERSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9GUk9NX1hJTkNMVURFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9GUk9NX1hQQVRIIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0ZST01fWFBBVEgiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0ZST01fWFBPSU5URVIiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRlJPTV9YUE9JTlRFUiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRlJPTV9YU0xUIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0ZST01fWFNMVCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRlRQX0FDQ05UIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0ZUUF9BQ0NOVCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRlRQX0VQU1ZfQU5TV0VSIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0ZUUF9FUFNWX0FOU1dFUiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRlRQX1BBU1ZfQU5TV0VSIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0ZUUF9QQVNWX0FOU1dFUiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfRlRQX1VSTF9TWU5UQVgiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfRlRQX1VSTF9TWU5UQVgiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0hUTUxfRE9DVU1FTlRfTk9ERSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjWE1MX0hUTUxfRE9DVU1FTlRfTk9ERSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfSFRNTF9TVFJVQ1VSRV9FUlJPUiIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9IVE1MX1NUUlVDVVJFX0VSUk9SIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9IVE1MX1VOS05PV05fVEFHIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0hUTUxfVU5LTk9XTl9UQUciLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0hUVFBfVU5LTk9XTl9IT1NUIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0hUVFBfVU5LTk9XTl9IT1NUIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9IVFRQX1VSTF9TWU5UQVgiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfSFRUUF9VUkxfU1lOVEFYIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9IVFRQX1VTRV9JUCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9IVFRQX1VTRV9JUCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfSTE4Tl9DT05WX0ZBSUxFRCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9JMThOX0NPTlZfRkFJTEVEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9JMThOX0VYQ0VTU19IQU5ETEVSIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0kxOE5fRVhDRVNTX0hBTkRMRVIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0kxOE5fTk9fSEFORExFUiIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9JMThOX05PX0hBTkRMRVIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0kxOE5fTk9fTkFNRSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9JMThOX05PX05BTUUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0kxOE5fTk9fT1VUUFVUIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0kxOE5fTk9fT1VUUFVUIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9JTlRFUk5BTF9HRU5FUkFMX0VOVElUWSIgbGluaz0ibGlieG1sMi1lbnRpdGllcy5odG1sI1hNTF9JTlRFUk5BTF9HRU5FUkFMX0VOVElUWSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfSU5URVJOQUxfUEFSQU1FVEVSX0VOVElUWSIgbGluaz0ibGlieG1sMi1lbnRpdGllcy5odG1sI1hNTF9JTlRFUk5BTF9QQVJBTUVURVJfRU5USVRZIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9JTlRFUk5BTF9QUkVERUZJTkVEX0VOVElUWSIgbGluaz0ibGlieG1sMi1lbnRpdGllcy5odG1sI1hNTF9JTlRFUk5BTF9QUkVERUZJTkVEX0VOVElUWSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfSU9fQlVGRkVSX0ZVTEwiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfSU9fQlVGRkVSX0ZVTEwiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0lPX0VBQ0NFUyIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9JT19FQUNDRVMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0lPX0VBRERSSU5VU0UiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfSU9fRUFERFJJTlVTRSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfSU9fRUFGTk9TVVBQT1JUIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VBRk5PU1VQUE9SVCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfSU9fRUFHQUlOIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VBR0FJTiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfSU9fRUFMUkVBRFkiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfSU9fRUFMUkVBRFkiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0lPX0VCQURGIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VCQURGIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9JT19FQkFETVNHIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VCQURNU0ciLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0lPX0VCVVNZIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VCVVNZIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9JT19FQ0FOQ0VMRUQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfSU9fRUNBTkNFTEVEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9JT19FQ0hJTEQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfSU9fRUNISUxEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9JT19FQ09OTlJFRlVTRUQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfSU9fRUNPTk5SRUZVU0VEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9JT19FREVBRExLIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VERUFETEsiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0lPX0VET00iIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfSU9fRURPTSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfSU9fRUVYSVNUIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VFWElTVCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfSU9fRUZBVUxUIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VGQVVMVCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfSU9fRUZCSUciIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfSU9fRUZCSUciLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0lPX0VJTlBST0dSRVNTIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VJTlBST0dSRVNTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9JT19FSU5UUiIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9JT19FSU5UUiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfSU9fRUlOVkFMIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VJTlZBTCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfSU9fRUlPIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VJTyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfSU9fRUlTQ09OTiIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9JT19FSVNDT05OIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9JT19FSVNESVIiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfSU9fRUlTRElSIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9JT19FTUZJTEUiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfSU9fRU1GSUxFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9JT19FTUxJTksiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfSU9fRU1MSU5LIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9JT19FTVNHU0laRSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9JT19FTVNHU0laRSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfSU9fRU5BTUVUT09MT05HIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VOQU1FVE9PTE9ORyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfSU9fRU5DT0RFUiIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9JT19FTkNPREVSIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9JT19FTkVUVU5SRUFDSCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9JT19FTkVUVU5SRUFDSCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfSU9fRU5GSUxFIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VORklMRSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfSU9fRU5PREVWIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VOT0RFViIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfSU9fRU5PRU5UIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VOT0VOVCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfSU9fRU5PRVhFQyIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9JT19FTk9FWEVDIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9JT19FTk9MQ0siIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfSU9fRU5PTENLIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9JT19FTk9NRU0iIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfSU9fRU5PTUVNIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9JT19FTk9TUEMiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfSU9fRU5PU1BDIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9JT19FTk9TWVMiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfSU9fRU5PU1lTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9JT19FTk9URElSIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VOT1RESVIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0lPX0VOT1RFTVBUWSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9JT19FTk9URU1QVFkiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0lPX0VOT1RTT0NLIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VOT1RTT0NLIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9JT19FTk9UU1VQIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VOT1RTVVAiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0lPX0VOT1RUWSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9JT19FTk9UVFkiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0lPX0VOWElPIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VOWElPIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9JT19FUEVSTSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9JT19FUEVSTSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfSU9fRVBJUEUiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfSU9fRVBJUEUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0lPX0VSQU5HRSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9JT19FUkFOR0UiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0lPX0VST0ZTIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VST0ZTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9JT19FU1BJUEUiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfSU9fRVNQSVBFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9JT19FU1JDSCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9JT19FU1JDSCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfSU9fRVRJTUVET1VUIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VUSU1FRE9VVCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfSU9fRVhERVYiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfSU9fRVhERVYiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0lPX0ZMVVNIIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0lPX0ZMVVNIIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9JT19MT0FEX0VSUk9SIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0lPX0xPQURfRVJST1IiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0lPX05FVFdPUktfQVRURU1QVCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9JT19ORVRXT1JLX0FUVEVNUFQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0lPX05PX0lOUFVUIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0lPX05PX0lOUFVUIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9JT19VTktOT1dOIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0lPX1VOS05PV04iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0lPX1dSSVRFIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX0lPX1dSSVRFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9NT0RVTEVfQ0xPU0UiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfTU9EVUxFX0NMT1NFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9NT0RVTEVfTEFaWSIgbGluaz0ibGlieG1sMi14bWxtb2R1bGUuaHRtbCNYTUxfTU9EVUxFX0xBWlkiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX01PRFVMRV9MT0NBTCIgbGluaz0ibGlieG1sMi14bWxtb2R1bGUuaHRtbCNYTUxfTU9EVUxFX0xPQ0FMIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9NT0RVTEVfT1BFTiIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9NT0RVTEVfT1BFTiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfTkFNRVNQQUNFX0RFQ0wiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI1hNTF9OQU1FU1BBQ0VfREVDTCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfTk9UQVRJT05fTk9ERSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjWE1MX05PVEFUSU9OX05PREUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX05TX0VSUl9BVFRSSUJVVEVfUkVERUZJTkVEIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX05TX0VSUl9BVFRSSUJVVEVfUkVERUZJTkVEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9OU19FUlJfQ09MT04iIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfTlNfRVJSX0NPTE9OIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9OU19FUlJfRU1QVFkiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfTlNfRVJSX0VNUFRZIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9OU19FUlJfUU5BTUUiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfTlNfRVJSX1FOQU1FIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9OU19FUlJfVU5ERUZJTkVEX05BTUVTUEFDRSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9OU19FUlJfVU5ERUZJTkVEX05BTUVTUEFDRSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfTlNfRVJSX1hNTF9OQU1FU1BBQ0UiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfTlNfRVJSX1hNTF9OQU1FU1BBQ0UiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1BBUlNFUl9BVFRSSUJVVEVfVkFMVUUiIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjWE1MX1BBUlNFUl9BVFRSSUJVVEVfVkFMVUUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1BBUlNFUl9DREFUQV9TRUNUSU9OIiBsaW5rPSJsaWJ4bWwyLXBhcnNlci5odG1sI1hNTF9QQVJTRVJfQ0RBVEFfU0VDVElPTiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUEFSU0VSX0NPTU1FTlQiIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjWE1MX1BBUlNFUl9DT01NRU5UIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9QQVJTRVJfQ09OVEVOVCIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCNYTUxfUEFSU0VSX0NPTlRFTlQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1BBUlNFUl9ERUZBVUxUQVRUUlMiIGxpbms9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjWE1MX1BBUlNFUl9ERUZBVUxUQVRUUlMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1BBUlNFUl9EVEQiIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjWE1MX1BBUlNFUl9EVEQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1BBUlNFUl9FTkRfVEFHIiBsaW5rPSJsaWJ4bWwyLXBhcnNlci5odG1sI1hNTF9QQVJTRVJfRU5EX1RBRyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUEFSU0VSX0VOVElUWV9ERUNMIiBsaW5rPSJsaWJ4bWwyLXBhcnNlci5odG1sI1hNTF9QQVJTRVJfRU5USVRZX0RFQ0wiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1BBUlNFUl9FTlRJVFlfVkFMVUUiIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjWE1MX1BBUlNFUl9FTlRJVFlfVkFMVUUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1BBUlNFUl9FT0YiIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjWE1MX1BBUlNFUl9FT0YiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1BBUlNFUl9FUElMT0ciIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjWE1MX1BBUlNFUl9FUElMT0ciLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1BBUlNFUl9JR05PUkUiIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjWE1MX1BBUlNFUl9JR05PUkUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1BBUlNFUl9MT0FERFREIiBsaW5rPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI1hNTF9QQVJTRVJfTE9BRERURCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUEFSU0VSX01JU0MiIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjWE1MX1BBUlNFUl9NSVNDIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9QQVJTRVJfUEkiIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjWE1MX1BBUlNFUl9QSSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUEFSU0VSX1BST0xPRyIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCNYTUxfUEFSU0VSX1BST0xPRyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUEFSU0VSX1BVQkxJQ19MSVRFUkFMIiBsaW5rPSJsaWJ4bWwyLXBhcnNlci5odG1sI1hNTF9QQVJTRVJfUFVCTElDX0xJVEVSQUwiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1BBUlNFUl9TRVZFUklUWV9FUlJPUiIgbGluaz0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCNYTUxfUEFSU0VSX1NFVkVSSVRZX0VSUk9SIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9QQVJTRVJfU0VWRVJJVFlfVkFMSURJVFlfRVJST1IiIGxpbms9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjWE1MX1BBUlNFUl9TRVZFUklUWV9WQUxJRElUWV9FUlJPUiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUEFSU0VSX1NFVkVSSVRZX1ZBTElESVRZX1dBUk5JTkciIGxpbms9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjWE1MX1BBUlNFUl9TRVZFUklUWV9WQUxJRElUWV9XQVJOSU5HIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9QQVJTRVJfU0VWRVJJVFlfV0FSTklORyIgbGluaz0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCNYTUxfUEFSU0VSX1NFVkVSSVRZX1dBUk5JTkciLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1BBUlNFUl9TVEFSVCIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCNYTUxfUEFSU0VSX1NUQVJUIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9QQVJTRVJfU1RBUlRfVEFHIiBsaW5rPSJsaWJ4bWwyLXBhcnNlci5odG1sI1hNTF9QQVJTRVJfU1RBUlRfVEFHIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9QQVJTRVJfU1VCU1RfRU5USVRJRVMiIGxpbms9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjWE1MX1BBUlNFUl9TVUJTVF9FTlRJVElFUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUEFSU0VSX1NZU1RFTV9MSVRFUkFMIiBsaW5rPSJsaWJ4bWwyLXBhcnNlci5odG1sI1hNTF9QQVJTRVJfU1lTVEVNX0xJVEVSQUwiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1BBUlNFUl9WQUxJREFURSIgbGluaz0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCNYTUxfUEFSU0VSX1ZBTElEQVRFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9QQVJTRV9CSUdfTElORVMiIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjWE1MX1BBUlNFX0JJR19MSU5FUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUEFSU0VfQ09NUEFDVCIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCNYTUxfUEFSU0VfQ09NUEFDVCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUEFSU0VfRE9NIiBsaW5rPSJsaWJ4bWwyLXBhcnNlci5odG1sI1hNTF9QQVJTRV9ET00iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1BBUlNFX0RUREFUVFIiIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjWE1MX1BBUlNFX0RUREFUVFIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1BBUlNFX0RURExPQUQiIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjWE1MX1BBUlNFX0RURExPQUQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1BBUlNFX0RURFZBTElEIiBsaW5rPSJsaWJ4bWwyLXBhcnNlci5odG1sI1hNTF9QQVJTRV9EVERWQUxJRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUEFSU0VfSFVHRSIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCNYTUxfUEFSU0VfSFVHRSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUEFSU0VfSUdOT1JFX0VOQyIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCNYTUxfUEFSU0VfSUdOT1JFX0VOQyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUEFSU0VfTk9CQVNFRklYIiBsaW5rPSJsaWJ4bWwyLXBhcnNlci5odG1sI1hNTF9QQVJTRV9OT0JBU0VGSVgiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1BBUlNFX05PQkxBTktTIiBsaW5rPSJsaWJ4bWwyLXBhcnNlci5odG1sI1hNTF9QQVJTRV9OT0JMQU5LUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUEFSU0VfTk9DREFUQSIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCNYTUxfUEFSU0VfTk9DREFUQSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUEFSU0VfTk9ESUNUIiBsaW5rPSJsaWJ4bWwyLXBhcnNlci5odG1sI1hNTF9QQVJTRV9OT0RJQ1QiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1BBUlNFX05PRU5UIiBsaW5rPSJsaWJ4bWwyLXBhcnNlci5odG1sI1hNTF9QQVJTRV9OT0VOVCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUEFSU0VfTk9FUlJPUiIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCNYTUxfUEFSU0VfTk9FUlJPUiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUEFSU0VfTk9ORVQiIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjWE1MX1BBUlNFX05PTkVUIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9QQVJTRV9OT1dBUk5JTkciIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjWE1MX1BBUlNFX05PV0FSTklORyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUEFSU0VfTk9YSU5DTk9ERSIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCNYTUxfUEFSU0VfTk9YSU5DTk9ERSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUEFSU0VfTlNDTEVBTiIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCNYTUxfUEFSU0VfTlNDTEVBTiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUEFSU0VfT0xEMTAiIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjWE1MX1BBUlNFX09MRDEwIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9QQVJTRV9PTERTQVgiIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjWE1MX1BBUlNFX09MRFNBWCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUEFSU0VfUEVEQU5USUMiIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjWE1MX1BBUlNFX1BFREFOVElDIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9QQVJTRV9QVVNIX0RPTSIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCNYTUxfUEFSU0VfUFVTSF9ET00iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1BBUlNFX1BVU0hfU0FYIiBsaW5rPSJsaWJ4bWwyLXBhcnNlci5odG1sI1hNTF9QQVJTRV9QVVNIX1NBWCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUEFSU0VfUkVBREVSIiBsaW5rPSJsaWJ4bWwyLXBhcnNlci5odG1sI1hNTF9QQVJTRV9SRUFERVIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1BBUlNFX1JFQ09WRVIiIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjWE1MX1BBUlNFX1JFQ09WRVIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1BBUlNFX1NBWCIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCNYTUxfUEFSU0VfU0FYIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9QQVJTRV9TQVgxIiBsaW5rPSJsaWJ4bWwyLXBhcnNlci5odG1sI1hNTF9QQVJTRV9TQVgxIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9QQVJTRV9VTktOT1dOIiBsaW5rPSJsaWJ4bWwyLXBhcnNlci5odG1sI1hNTF9QQVJTRV9VTktOT1dOIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9QQVJTRV9YSU5DTFVERSIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCNYTUxfUEFSU0VfWElOQ0xVREUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1BBVFRFUk5fREVGQVVMVCIgbGluaz0ibGlieG1sMi1wYXR0ZXJuLmh0bWwjWE1MX1BBVFRFUk5fREVGQVVMVCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUEFUVEVSTl9YUEFUSCIgbGluaz0ibGlieG1sMi1wYXR0ZXJuLmh0bWwjWE1MX1BBVFRFUk5fWFBBVEgiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1BBVFRFUk5fWFNGSUVMRCIgbGluaz0ibGlieG1sMi1wYXR0ZXJuLmh0bWwjWE1MX1BBVFRFUk5fWFNGSUVMRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUEFUVEVSTl9YU1NFTCIgbGluaz0ibGlieG1sMi1wYXR0ZXJuLmh0bWwjWE1MX1BBVFRFUk5fWFNTRUwiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1BJX05PREUiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI1hNTF9QSV9OT0RFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9SRUFERVJfVFlQRV9BVFRSSUJVVEUiIGxpbms9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjWE1MX1JFQURFUl9UWVBFX0FUVFJJQlVURSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUkVBREVSX1RZUEVfQ0RBVEEiIGxpbms9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjWE1MX1JFQURFUl9UWVBFX0NEQVRBIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9SRUFERVJfVFlQRV9DT01NRU5UIiBsaW5rPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI1hNTF9SRUFERVJfVFlQRV9DT01NRU5UIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9SRUFERVJfVFlQRV9ET0NVTUVOVCIgbGluaz0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCNYTUxfUkVBREVSX1RZUEVfRE9DVU1FTlQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1JFQURFUl9UWVBFX0RPQ1VNRU5UX0ZSQUdNRU5UIiBsaW5rPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI1hNTF9SRUFERVJfVFlQRV9ET0NVTUVOVF9GUkFHTUVOVCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUkVBREVSX1RZUEVfRE9DVU1FTlRfVFlQRSIgbGluaz0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCNYTUxfUkVBREVSX1RZUEVfRE9DVU1FTlRfVFlQRSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUkVBREVSX1RZUEVfRUxFTUVOVCIgbGluaz0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCNYTUxfUkVBREVSX1RZUEVfRUxFTUVOVCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUkVBREVSX1RZUEVfRU5EX0VMRU1FTlQiIGxpbms9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjWE1MX1JFQURFUl9UWVBFX0VORF9FTEVNRU5UIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9SRUFERVJfVFlQRV9FTkRfRU5USVRZIiBsaW5rPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI1hNTF9SRUFERVJfVFlQRV9FTkRfRU5USVRZIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9SRUFERVJfVFlQRV9FTlRJVFkiIGxpbms9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjWE1MX1JFQURFUl9UWVBFX0VOVElUWSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUkVBREVSX1RZUEVfRU5USVRZX1JFRkVSRU5DRSIgbGluaz0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCNYTUxfUkVBREVSX1RZUEVfRU5USVRZX1JFRkVSRU5DRSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUkVBREVSX1RZUEVfTk9ORSIgbGluaz0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCNYTUxfUkVBREVSX1RZUEVfTk9ORSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUkVBREVSX1RZUEVfTk9UQVRJT04iIGxpbms9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjWE1MX1JFQURFUl9UWVBFX05PVEFUSU9OIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9SRUFERVJfVFlQRV9QUk9DRVNTSU5HX0lOU1RSVUNUSU9OIiBsaW5rPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI1hNTF9SRUFERVJfVFlQRV9QUk9DRVNTSU5HX0lOU1RSVUNUSU9OIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9SRUFERVJfVFlQRV9TSUdOSUZJQ0FOVF9XSElURVNQQUNFIiBsaW5rPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI1hNTF9SRUFERVJfVFlQRV9TSUdOSUZJQ0FOVF9XSElURVNQQUNFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9SRUFERVJfVFlQRV9URVhUIiBsaW5rPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI1hNTF9SRUFERVJfVFlQRV9URVhUIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9SRUFERVJfVFlQRV9XSElURVNQQUNFIiBsaW5rPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI1hNTF9SRUFERVJfVFlQRV9XSElURVNQQUNFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9SRUFERVJfVFlQRV9YTUxfREVDTEFSQVRJT04iIGxpbms9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjWE1MX1JFQURFUl9UWVBFX1hNTF9ERUNMQVJBVElPTiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUkVHRVhQX0NPTVBJTEVfRVJST1IiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfUkVHRVhQX0NPTVBJTEVfRVJST1IiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1JFTEFYTkdQX0NSTkciIGxpbms9ImxpYnhtbDItcmVsYXhuZy5odG1sI1hNTF9SRUxBWE5HUF9DUk5HIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9SRUxBWE5HUF9GUkVFX0RPQyIgbGluaz0ibGlieG1sMi1yZWxheG5nLmh0bWwjWE1MX1JFTEFYTkdQX0ZSRUVfRE9DIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9SRUxBWE5HUF9OT05FIiBsaW5rPSJsaWJ4bWwyLXJlbGF4bmcuaHRtbCNYTUxfUkVMQVhOR1BfTk9ORSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUkVMQVhOR19FUlJfQVRUUkVYVFJBTlMiIGxpbms9ImxpYnhtbDItcmVsYXhuZy5odG1sI1hNTF9SRUxBWE5HX0VSUl9BVFRSRVhUUkFOUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUkVMQVhOR19FUlJfQVRUUk5BTUUiIGxpbms9ImxpYnhtbDItcmVsYXhuZy5odG1sI1hNTF9SRUxBWE5HX0VSUl9BVFRSTkFNRSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUkVMQVhOR19FUlJfQVRUUk5PTlMiIGxpbms9ImxpYnhtbDItcmVsYXhuZy5odG1sI1hNTF9SRUxBWE5HX0VSUl9BVFRSTk9OUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUkVMQVhOR19FUlJfQVRUUlZBTElEIiBsaW5rPSJsaWJ4bWwyLXJlbGF4bmcuaHRtbCNYTUxfUkVMQVhOR19FUlJfQVRUUlZBTElEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9SRUxBWE5HX0VSUl9BVFRSV1JPTkdOUyIgbGluaz0ibGlieG1sMi1yZWxheG5nLmh0bWwjWE1MX1JFTEFYTkdfRVJSX0FUVFJXUk9OR05TIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9SRUxBWE5HX0VSUl9DT05URU5UVkFMSUQiIGxpbms9ImxpYnhtbDItcmVsYXhuZy5odG1sI1hNTF9SRUxBWE5HX0VSUl9DT05URU5UVkFMSUQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1JFTEFYTkdfRVJSX0RBVEFFTEVNIiBsaW5rPSJsaWJ4bWwyLXJlbGF4bmcuaHRtbCNYTUxfUkVMQVhOR19FUlJfREFUQUVMRU0iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1JFTEFYTkdfRVJSX0RBVEFUWVBFIiBsaW5rPSJsaWJ4bWwyLXJlbGF4bmcuaHRtbCNYTUxfUkVMQVhOR19FUlJfREFUQVRZUEUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1JFTEFYTkdfRVJSX0RVUElEIiBsaW5rPSJsaWJ4bWwyLXJlbGF4bmcuaHRtbCNYTUxfUkVMQVhOR19FUlJfRFVQSUQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1JFTEFYTkdfRVJSX0VMRU1FWFRSQU5TIiBsaW5rPSJsaWJ4bWwyLXJlbGF4bmcuaHRtbCNYTUxfUkVMQVhOR19FUlJfRUxFTUVYVFJBTlMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1JFTEFYTkdfRVJSX0VMRU1OQU1FIiBsaW5rPSJsaWJ4bWwyLXJlbGF4bmcuaHRtbCNYTUxfUkVMQVhOR19FUlJfRUxFTU5BTUUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1JFTEFYTkdfRVJSX0VMRU1OT05TIiBsaW5rPSJsaWJ4bWwyLXJlbGF4bmcuaHRtbCNYTUxfUkVMQVhOR19FUlJfRUxFTU5PTlMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1JFTEFYTkdfRVJSX0VMRU1OT1RFTVBUWSIgbGluaz0ibGlieG1sMi1yZWxheG5nLmh0bWwjWE1MX1JFTEFYTkdfRVJSX0VMRU1OT1RFTVBUWSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUkVMQVhOR19FUlJfRUxFTVdST05HIiBsaW5rPSJsaWJ4bWwyLXJlbGF4bmcuaHRtbCNYTUxfUkVMQVhOR19FUlJfRUxFTVdST05HIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9SRUxBWE5HX0VSUl9FTEVNV1JPTkdOUyIgbGluaz0ibGlieG1sMi1yZWxheG5nLmh0bWwjWE1MX1JFTEFYTkdfRVJSX0VMRU1XUk9OR05TIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9SRUxBWE5HX0VSUl9FWFRSQUNPTlRFTlQiIGxpbms9ImxpYnhtbDItcmVsYXhuZy5odG1sI1hNTF9SRUxBWE5HX0VSUl9FWFRSQUNPTlRFTlQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1JFTEFYTkdfRVJSX0VYVFJBREFUQSIgbGluaz0ibGlieG1sMi1yZWxheG5nLmh0bWwjWE1MX1JFTEFYTkdfRVJSX0VYVFJBREFUQSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUkVMQVhOR19FUlJfSU5URVJFWFRSQSIgbGluaz0ibGlieG1sMi1yZWxheG5nLmh0bWwjWE1MX1JFTEFYTkdfRVJSX0lOVEVSRVhUUkEiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1JFTEFYTkdfRVJSX0lOVEVSTkFMIiBsaW5rPSJsaWJ4bWwyLXJlbGF4bmcuaHRtbCNYTUxfUkVMQVhOR19FUlJfSU5URVJOQUwiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1JFTEFYTkdfRVJSX0lOVEVSTk9EQVRBIiBsaW5rPSJsaWJ4bWwyLXJlbGF4bmcuaHRtbCNYTUxfUkVMQVhOR19FUlJfSU5URVJOT0RBVEEiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1JFTEFYTkdfRVJSX0lOVEVSU0VRIiBsaW5rPSJsaWJ4bWwyLXJlbGF4bmcuaHRtbCNYTUxfUkVMQVhOR19FUlJfSU5URVJTRVEiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1JFTEFYTkdfRVJSX0lOVkFMSURBVFRSIiBsaW5rPSJsaWJ4bWwyLXJlbGF4bmcuaHRtbCNYTUxfUkVMQVhOR19FUlJfSU5WQUxJREFUVFIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1JFTEFYTkdfRVJSX0xBQ0tEQVRBIiBsaW5rPSJsaWJ4bWwyLXJlbGF4bmcuaHRtbCNYTUxfUkVMQVhOR19FUlJfTEFDS0RBVEEiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1JFTEFYTkdfRVJSX0xJU1QiIGxpbms9ImxpYnhtbDItcmVsYXhuZy5odG1sI1hNTF9SRUxBWE5HX0VSUl9MSVNUIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9SRUxBWE5HX0VSUl9MSVNURUxFTSIgbGluaz0ibGlieG1sMi1yZWxheG5nLmh0bWwjWE1MX1JFTEFYTkdfRVJSX0xJU1RFTEVNIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9SRUxBWE5HX0VSUl9MSVNURU1QVFkiIGxpbms9ImxpYnhtbDItcmVsYXhuZy5odG1sI1hNTF9SRUxBWE5HX0VSUl9MSVNURU1QVFkiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1JFTEFYTkdfRVJSX0xJU1RFWFRSQSIgbGluaz0ibGlieG1sMi1yZWxheG5nLmh0bWwjWE1MX1JFTEFYTkdfRVJSX0xJU1RFWFRSQSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUkVMQVhOR19FUlJfTUVNT1JZIiBsaW5rPSJsaWJ4bWwyLXJlbGF4bmcuaHRtbCNYTUxfUkVMQVhOR19FUlJfTUVNT1JZIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9SRUxBWE5HX0VSUl9OT0RFRklORSIgbGluaz0ibGlieG1sMi1yZWxheG5nLmh0bWwjWE1MX1JFTEFYTkdfRVJSX05PREVGSU5FIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9SRUxBWE5HX0VSUl9OT0VMRU0iIGxpbms9ImxpYnhtbDItcmVsYXhuZy5odG1sI1hNTF9SRUxBWE5HX0VSUl9OT0VMRU0iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1JFTEFYTkdfRVJSX05PR1JBTU1BUiIgbGluaz0ibGlieG1sMi1yZWxheG5nLmh0bWwjWE1MX1JFTEFYTkdfRVJSX05PR1JBTU1BUiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUkVMQVhOR19FUlJfTk9TVEFURSIgbGluaz0ibGlieG1sMi1yZWxheG5nLmh0bWwjWE1MX1JFTEFYTkdfRVJSX05PU1RBVEUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1JFTEFYTkdfRVJSX05PVEVMRU0iIGxpbms9ImxpYnhtbDItcmVsYXhuZy5odG1sI1hNTF9SRUxBWE5HX0VSUl9OT1RFTEVNIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9SRUxBWE5HX0VSUl9URVhUV1JPTkciIGxpbms9ImxpYnhtbDItcmVsYXhuZy5odG1sI1hNTF9SRUxBWE5HX0VSUl9URVhUV1JPTkciLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1JFTEFYTkdfRVJSX1RZUEUiIGxpbms9ImxpYnhtbDItcmVsYXhuZy5odG1sI1hNTF9SRUxBWE5HX0VSUl9UWVBFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9SRUxBWE5HX0VSUl9UWVBFQ01QIiBsaW5rPSJsaWJ4bWwyLXJlbGF4bmcuaHRtbCNYTUxfUkVMQVhOR19FUlJfVFlQRUNNUCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUkVMQVhOR19FUlJfVFlQRVZBTCIgbGluaz0ibGlieG1sMi1yZWxheG5nLmh0bWwjWE1MX1JFTEFYTkdfRVJSX1RZUEVWQUwiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1JFTEFYTkdfRVJSX1ZBTEVMRU0iIGxpbms9ImxpYnhtbDItcmVsYXhuZy5odG1sI1hNTF9SRUxBWE5HX0VSUl9WQUxFTEVNIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9SRUxBWE5HX0VSUl9WQUxVRSIgbGluaz0ibGlieG1sMi1yZWxheG5nLmh0bWwjWE1MX1JFTEFYTkdfRVJSX1ZBTFVFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9SRUxBWE5HX09LIiBsaW5rPSJsaWJ4bWwyLXJlbGF4bmcuaHRtbCNYTUxfUkVMQVhOR19PSyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUk5HUF9BTllOQU1FX0FUVFJfQU5DRVNUT1IiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9BTllOQU1FX0FUVFJfQU5DRVNUT1IiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1JOR1BfQVRUUklCVVRFX0NISUxEUkVOIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfQVRUUklCVVRFX0NISUxEUkVOIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9STkdQX0FUVFJJQlVURV9DT05URU5UIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfQVRUUklCVVRFX0NPTlRFTlQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1JOR1BfQVRUUklCVVRFX0VNUFRZIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfQVRUUklCVVRFX0VNUFRZIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9STkdQX0FUVFJJQlVURV9OT09QIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfQVRUUklCVVRFX05PT1AiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1JOR1BfQVRUUl9DT05GTElDVCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9STkdQX0FUVFJfQ09ORkxJQ1QiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1JOR1BfQ0hPSUNFX0NPTlRFTlQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9DSE9JQ0VfQ09OVEVOVCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUk5HUF9DSE9JQ0VfRU1QVFkiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9DSE9JQ0VfRU1QVFkiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1JOR1BfQ1JFQVRFX0ZBSUxVUkUiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9DUkVBVEVfRkFJTFVSRSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUk5HUF9EQVRBX0NPTlRFTlQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9EQVRBX0NPTlRFTlQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1JOR1BfREVGSU5FX0NSRUFURV9GQUlMRUQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9ERUZJTkVfQ1JFQVRFX0ZBSUxFRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUk5HUF9ERUZJTkVfRU1QVFkiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9ERUZJTkVfRU1QVFkiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1JOR1BfREVGSU5FX01JU1NJTkciIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9ERUZJTkVfTUlTU0lORyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUk5HUF9ERUZJTkVfTkFNRV9NSVNTSU5HIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfREVGSU5FX05BTUVfTUlTU0lORyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUk5HUF9ERUZfQ0hPSUNFX0FORF9JTlRFUkxFQVZFIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfREVGX0NIT0lDRV9BTkRfSU5URVJMRUFWRSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUk5HUF9FTEVNRU5UX0NPTlRFTlQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9FTEVNRU5UX0NPTlRFTlQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1JOR1BfRUxFTUVOVF9FTVBUWSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9STkdQX0VMRU1FTlRfRU1QVFkiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1JOR1BfRUxFTUVOVF9OQU1FIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfRUxFTUVOVF9OQU1FIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9STkdQX0VMRU1FTlRfTk9fQ09OVEVOVCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9STkdQX0VMRU1FTlRfTk9fQ09OVEVOVCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUk5HUF9FTEVNX0NPTlRFTlRfRU1QVFkiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9FTEVNX0NPTlRFTlRfRU1QVFkiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1JOR1BfRUxFTV9DT05URU5UX0VSUk9SIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfRUxFTV9DT05URU5UX0VSUk9SIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9STkdQX0VMRU1fVEVYVF9DT05GTElDVCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9STkdQX0VMRU1fVEVYVF9DT05GTElDVCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUk5HUF9FTVBUWSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9STkdQX0VNUFRZIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9STkdQX0VNUFRZX0NPTlNUUlVDVCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9STkdQX0VNUFRZX0NPTlNUUlVDVCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUk5HUF9FTVBUWV9DT05URU5UIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfRU1QVFlfQ09OVEVOVCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUk5HUF9FTVBUWV9OT1RfRU1QVFkiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9FTVBUWV9OT1RfRU1QVFkiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1JOR1BfRVJST1JfVFlQRV9MSUIiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9FUlJPUl9UWVBFX0xJQiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUk5HUF9FWENFUFRfRU1QVFkiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9FWENFUFRfRU1QVFkiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1JOR1BfRVhDRVBUX01JU1NJTkciIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9FWENFUFRfTUlTU0lORyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUk5HUF9FWENFUFRfTVVMVElQTEUiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9FWENFUFRfTVVMVElQTEUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1JOR1BfRVhDRVBUX05PX0NPTlRFTlQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9FWENFUFRfTk9fQ09OVEVOVCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUk5HUF9FWFRFUk5BTFJFRl9FTVRQWSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9STkdQX0VYVEVSTkFMUkVGX0VNVFBZIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9STkdQX0VYVEVSTkFMUkVGX1JFQ1VSU0UiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9FWFRFUk5BTFJFRl9SRUNVUlNFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9STkdQX0VYVEVSTkFMX1JFRl9GQUlMVVJFIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfRVhURVJOQUxfUkVGX0ZBSUxVUkUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1JOR1BfRk9SQklEREVOX0FUVFJJQlVURSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9STkdQX0ZPUkJJRERFTl9BVFRSSUJVVEUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1JOR1BfRk9SRUlHTl9FTEVNRU5UIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfRk9SRUlHTl9FTEVNRU5UIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9STkdQX0dSQU1NQVJfQ09OVEVOVCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9STkdQX0dSQU1NQVJfQ09OVEVOVCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUk5HUF9HUkFNTUFSX0VNUFRZIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfR1JBTU1BUl9FTVBUWSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUk5HUF9HUkFNTUFSX01JU1NJTkciIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9HUkFNTUFSX01JU1NJTkciLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1JOR1BfR1JBTU1BUl9OT19TVEFSVCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9STkdQX0dSQU1NQVJfTk9fU1RBUlQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1JOR1BfR1JPVVBfQVRUUl9DT05GTElDVCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9STkdQX0dST1VQX0FUVFJfQ09ORkxJQ1QiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1JOR1BfSFJFRl9FUlJPUiIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9STkdQX0hSRUZfRVJST1IiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1JOR1BfSU5DTFVERV9FTVBUWSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9STkdQX0lOQ0xVREVfRU1QVFkiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1JOR1BfSU5DTFVERV9GQUlMVVJFIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfSU5DTFVERV9GQUlMVVJFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9STkdQX0lOQ0xVREVfUkVDVVJTRSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9STkdQX0lOQ0xVREVfUkVDVVJTRSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUk5HUF9JTlRFUkxFQVZFX0FERCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9STkdQX0lOVEVSTEVBVkVfQUREIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9STkdQX0lOVEVSTEVBVkVfQ1JFQVRFX0ZBSUxFRCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9STkdQX0lOVEVSTEVBVkVfQ1JFQVRFX0ZBSUxFRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUk5HUF9JTlRFUkxFQVZFX0VNUFRZIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfSU5URVJMRUFWRV9FTVBUWSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUk5HUF9JTlRFUkxFQVZFX05PX0NPTlRFTlQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9JTlRFUkxFQVZFX05PX0NPTlRFTlQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1JOR1BfSU5WQUxJRF9ERUZJTkVfTkFNRSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9STkdQX0lOVkFMSURfREVGSU5FX05BTUUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1JOR1BfSU5WQUxJRF9VUkkiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9JTlZBTElEX1VSSSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUk5HUF9JTlZBTElEX1ZBTFVFIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfSU5WQUxJRF9WQUxVRSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUk5HUF9NSVNTSU5HX0hSRUYiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9NSVNTSU5HX0hSRUYiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1JOR1BfTkFNRV9NSVNTSU5HIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfTkFNRV9NSVNTSU5HIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9STkdQX05FRURfQ09NQklORSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9STkdQX05FRURfQ09NQklORSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUk5HUF9OT1RBTExPV0VEX05PVF9FTVBUWSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9STkdQX05PVEFMTE9XRURfTk9UX0VNUFRZIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9STkdQX05TTkFNRV9BVFRSX0FOQ0VTVE9SIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfTlNOQU1FX0FUVFJfQU5DRVNUT1IiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1JOR1BfTlNOQU1FX05PX05TIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfTlNOQU1FX05PX05TIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9STkdQX1BBUkFNX0ZPUkJJRERFTiIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9STkdQX1BBUkFNX0ZPUkJJRERFTiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUk5HUF9QQVJBTV9OQU1FX01JU1NJTkciIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9QQVJBTV9OQU1FX01JU1NJTkciLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1JOR1BfUEFSRU5UUkVGX0NSRUFURV9GQUlMRUQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9QQVJFTlRSRUZfQ1JFQVRFX0ZBSUxFRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUk5HUF9QQVJFTlRSRUZfTkFNRV9JTlZBTElEIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUEFSRU5UUkVGX05BTUVfSU5WQUxJRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUk5HUF9QQVJFTlRSRUZfTk9UX0VNUFRZIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUEFSRU5UUkVGX05PVF9FTVBUWSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUk5HUF9QQVJFTlRSRUZfTk9fTkFNRSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9STkdQX1BBUkVOVFJFRl9OT19OQU1FIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9STkdQX1BBUkVOVFJFRl9OT19QQVJFTlQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9QQVJFTlRSRUZfTk9fUEFSRU5UIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9STkdQX1BBUlNFX0VSUk9SIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUEFSU0VfRVJST1IiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1JOR1BfUEFUX0FOWU5BTUVfRVhDRVBUX0FOWU5BTUUiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9QQVRfQU5ZTkFNRV9FWENFUFRfQU5ZTkFNRSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUk5HUF9QQVRfQVRUUl9BVFRSIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUEFUX0FUVFJfQVRUUiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUk5HUF9QQVRfQVRUUl9FTEVNIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUEFUX0FUVFJfRUxFTSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUk5HUF9QQVRfREFUQV9FWENFUFRfQVRUUiIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9STkdQX1BBVF9EQVRBX0VYQ0VQVF9BVFRSIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9STkdQX1BBVF9EQVRBX0VYQ0VQVF9FTEVNIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUEFUX0RBVEFfRVhDRVBUX0VMRU0iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1JOR1BfUEFUX0RBVEFfRVhDRVBUX0VNUFRZIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUEFUX0RBVEFfRVhDRVBUX0VNUFRZIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9STkdQX1BBVF9EQVRBX0VYQ0VQVF9HUk9VUCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9STkdQX1BBVF9EQVRBX0VYQ0VQVF9HUk9VUCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUk5HUF9QQVRfREFUQV9FWENFUFRfSU5URVJMRUFWRSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9STkdQX1BBVF9EQVRBX0VYQ0VQVF9JTlRFUkxFQVZFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9STkdQX1BBVF9EQVRBX0VYQ0VQVF9MSVNUIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUEFUX0RBVEFfRVhDRVBUX0xJU1QiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1JOR1BfUEFUX0RBVEFfRVhDRVBUX09ORU1PUkUiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9QQVRfREFUQV9FWENFUFRfT05FTU9SRSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUk5HUF9QQVRfREFUQV9FWENFUFRfUkVGIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUEFUX0RBVEFfRVhDRVBUX1JFRiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUk5HUF9QQVRfREFUQV9FWENFUFRfVEVYVCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9STkdQX1BBVF9EQVRBX0VYQ0VQVF9URVhUIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9STkdQX1BBVF9MSVNUX0FUVFIiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9QQVRfTElTVF9BVFRSIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9STkdQX1BBVF9MSVNUX0VMRU0iIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9QQVRfTElTVF9FTEVNIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9STkdQX1BBVF9MSVNUX0lOVEVSTEVBVkUiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9QQVRfTElTVF9JTlRFUkxFQVZFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9STkdQX1BBVF9MSVNUX0xJU1QiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9QQVRfTElTVF9MSVNUIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9STkdQX1BBVF9MSVNUX1JFRiIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9STkdQX1BBVF9MSVNUX1JFRiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUk5HUF9QQVRfTElTVF9URVhUIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUEFUX0xJU1RfVEVYVCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUk5HUF9QQVRfTlNOQU1FX0VYQ0VQVF9BTllOQU1FIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUEFUX05TTkFNRV9FWENFUFRfQU5ZTkFNRSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUk5HUF9QQVRfTlNOQU1FX0VYQ0VQVF9OU05BTUUiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9QQVRfTlNOQU1FX0VYQ0VQVF9OU05BTUUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1JOR1BfUEFUX09ORU1PUkVfR1JPVVBfQVRUUiIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9STkdQX1BBVF9PTkVNT1JFX0dST1VQX0FUVFIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1JOR1BfUEFUX09ORU1PUkVfSU5URVJMRUFWRV9BVFRSIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUEFUX09ORU1PUkVfSU5URVJMRUFWRV9BVFRSIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9STkdQX1BBVF9TVEFSVF9BVFRSIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUEFUX1NUQVJUX0FUVFIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1JOR1BfUEFUX1NUQVJUX0RBVEEiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9QQVRfU1RBUlRfREFUQSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUk5HUF9QQVRfU1RBUlRfRU1QVFkiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9QQVRfU1RBUlRfRU1QVFkiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1JOR1BfUEFUX1NUQVJUX0dST1VQIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUEFUX1NUQVJUX0dST1VQIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9STkdQX1BBVF9TVEFSVF9JTlRFUkxFQVZFIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUEFUX1NUQVJUX0lOVEVSTEVBVkUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1JOR1BfUEFUX1NUQVJUX0xJU1QiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9QQVRfU1RBUlRfTElTVCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUk5HUF9QQVRfU1RBUlRfT05FTU9SRSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9STkdQX1BBVF9TVEFSVF9PTkVNT1JFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9STkdQX1BBVF9TVEFSVF9URVhUIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUEFUX1NUQVJUX1RFWFQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1JOR1BfUEFUX1NUQVJUX1ZBTFVFIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUEFUX1NUQVJUX1ZBTFVFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9STkdQX1BSRUZJWF9VTkRFRklORUQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9QUkVGSVhfVU5ERUZJTkVEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9STkdQX1JFRl9DUkVBVEVfRkFJTEVEIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUkVGX0NSRUFURV9GQUlMRUQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1JOR1BfUkVGX0NZQ0xFIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUkVGX0NZQ0xFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9STkdQX1JFRl9OQU1FX0lOVkFMSUQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9SRUZfTkFNRV9JTlZBTElEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9STkdQX1JFRl9OT1RfRU1QVFkiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9SRUZfTk9UX0VNUFRZIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9STkdQX1JFRl9OT19ERUYiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9SRUZfTk9fREVGIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9STkdQX1JFRl9OT19OQU1FIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUkVGX05PX05BTUUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1JOR1BfU1RBUlRfQ0hPSUNFX0FORF9JTlRFUkxFQVZFIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfU1RBUlRfQ0hPSUNFX0FORF9JTlRFUkxFQVZFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9STkdQX1NUQVJUX0NPTlRFTlQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9TVEFSVF9DT05URU5UIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9STkdQX1NUQVJUX0VNUFRZIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfU1RBUlRfRU1QVFkiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1JOR1BfU1RBUlRfTUlTU0lORyIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9STkdQX1NUQVJUX01JU1NJTkciLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1JOR1BfVEVYVF9FWFBFQ1RFRCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9STkdQX1RFWFRfRVhQRUNURUQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1JOR1BfVEVYVF9IQVNfQ0hJTEQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9URVhUX0hBU19DSElMRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUk5HUF9UWVBFX01JU1NJTkciIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9UWVBFX01JU1NJTkciLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1JOR1BfVFlQRV9OT1RfRk9VTkQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9UWVBFX05PVF9GT1VORCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUk5HUF9UWVBFX1ZBTFVFIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfVFlQRV9WQUxVRSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUk5HUF9VTktOT1dOX0FUVFJJQlVURSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9STkdQX1VOS05PV05fQVRUUklCVVRFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9STkdQX1VOS05PV05fQ09NQklORSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9STkdQX1VOS05PV05fQ09NQklORSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUk5HUF9VTktOT1dOX0NPTlNUUlVDVCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9STkdQX1VOS05PV05fQ09OU1RSVUNUIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9STkdQX1VOS05PV05fVFlQRV9MSUIiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9VTktOT1dOX1RZUEVfTElCIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9STkdQX1VSSV9GUkFHTUVOVCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9STkdQX1VSSV9GUkFHTUVOVCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUk5HUF9VUklfTk9UX0FCU09MVVRFIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfVVJJX05PVF9BQlNPTFVURSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfUk5HUF9WQUxVRV9FTVBUWSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9STkdQX1ZBTFVFX0VNUFRZIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9STkdQX1ZBTFVFX05PX0NPTlRFTlQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9WQUxVRV9OT19DT05URU5UIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9STkdQX1hNTE5TX05BTUUiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9YTUxOU19OQU1FIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9STkdQX1hNTF9OUyIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9STkdQX1hNTF9OUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0FWRV9BU19IVE1MIiBsaW5rPSJsaWJ4bWwyLXhtbHNhdmUuaHRtbCNYTUxfU0FWRV9BU19IVE1MIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQVZFX0FTX1hNTCIgbGluaz0ibGlieG1sMi14bWxzYXZlLmh0bWwjWE1MX1NBVkVfQVNfWE1MIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQVZFX0NIQVJfSU5WQUxJRCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQVZFX0NIQVJfSU5WQUxJRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0FWRV9GT1JNQVQiIGxpbms9ImxpYnhtbDIteG1sc2F2ZS5odG1sI1hNTF9TQVZFX0ZPUk1BVCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0FWRV9OT1RfVVRGOCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQVZFX05PVF9VVEY4Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQVZFX05PX0RFQ0wiIGxpbms9ImxpYnhtbDIteG1sc2F2ZS5odG1sI1hNTF9TQVZFX05PX0RFQ0wiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NBVkVfTk9fRE9DVFlQRSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQVZFX05PX0RPQ1RZUEUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NBVkVfTk9fRU1QVFkiIGxpbms9ImxpYnhtbDIteG1sc2F2ZS5odG1sI1hNTF9TQVZFX05PX0VNUFRZIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQVZFX05PX1hIVE1MIiBsaW5rPSJsaWJ4bWwyLXhtbHNhdmUuaHRtbCNYTUxfU0FWRV9OT19YSFRNTCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0FWRV9VTktOT1dOX0VOQ09ESU5HIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NBVkVfVU5LTk9XTl9FTkNPRElORyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0FWRV9XU05PTlNJRyIgbGluaz0ibGlieG1sMi14bWxzYXZlLmh0bWwjWE1MX1NBVkVfV1NOT05TSUciLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NBVkVfWEhUTUwiIGxpbms9ImxpYnhtbDIteG1sc2F2ZS5odG1sI1hNTF9TQVZFX1hIVE1MIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFQX0FHX1BST1BTX0NPUlJFQ1QiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9BR19QUk9QU19DT1JSRUNUIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFQX0FUVFJGT1JNREVGQVVMVF9WQUxVRSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0FUVFJGT1JNREVGQVVMVF9WQUxVRSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BUF9BVFRSR1JQX05PTkFNRV9OT1JFRiIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0FUVFJHUlBfTk9OQU1FX05PUkVGIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFQX0FUVFJfTk9OQU1FX05PUkVGIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfQVRUUl9OT05BTUVfTk9SRUYiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfQVVfUFJPUFNfQ09SUkVDVCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0FVX1BST1BTX0NPUlJFQ1QiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfQVVfUFJPUFNfQ09SUkVDVF8yIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfQVVfUFJPUFNfQ09SUkVDVF8yIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFQX0FfUFJPUFNfQ09SUkVDVF8yIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfQV9QUk9QU19DT1JSRUNUXzIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfQV9QUk9QU19DT1JSRUNUXzMiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9BX1BST1BTX0NPUlJFQ1RfMyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BUF9DT01QTEVYVFlQRV9OT05BTUVfTk9SRUYiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9DT01QTEVYVFlQRV9OT05BTUVfTk9SRUYiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfQ09TX0FMTF9MSU1JVEVEIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfQ09TX0FMTF9MSU1JVEVEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFQX0NPU19DVF9FWFRFTkRTXzFfMSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0NPU19DVF9FWFRFTkRTXzFfMSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BUF9DT1NfQ1RfRVhURU5EU18xXzIiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9DT1NfQ1RfRVhURU5EU18xXzIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfQ09TX0NUX0VYVEVORFNfMV8zIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfQ09TX0NUX0VYVEVORFNfMV8zIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFQX0NPU19TVF9ERVJJVkVEX09LXzJfMSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0NPU19TVF9ERVJJVkVEX09LXzJfMSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BUF9DT1NfU1RfREVSSVZFRF9PS18yXzIiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9DT1NfU1RfREVSSVZFRF9PS18yXzIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18xXzEiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzFfMSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzFfMiIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMV8yIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMV8zXzEiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzFfM18xIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMV8zXzIiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzFfM18yIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMl8xIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzEiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzNfMV8xIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzNfMV8xIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMl8zXzFfMiIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMl8zXzFfMiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzJfM18yXzEiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzJfM18yXzEiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzNfMl8yIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzNfMl8yIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMl8zXzJfMyIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMl8zXzJfMyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzJfM18yXzQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzJfM18yXzQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzNfMl81IiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzNfMl81Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfM18xIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzEiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzNfMSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfM18zXzEiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzNfMV8yIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzNfMV8yIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfM18zXzJfMSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfM18zXzJfMSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzNfM18yXzIiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzNfM18yXzIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzNfMl8zIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzNfMl8zIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfM18zXzJfNCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfM18zXzJfNCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzNfM18yXzUiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzNfM18yXzUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfQ09TX1ZBTElEX0RFRkFVTFRfMSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0NPU19WQUxJRF9ERUZBVUxUXzEiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfQ09TX1ZBTElEX0RFRkFVTFRfMl8xIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfQ09TX1ZBTElEX0RFRkFVTFRfMl8xIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFQX0NPU19WQUxJRF9ERUZBVUxUXzJfMl8xIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfQ09TX1ZBTElEX0RFRkFVTFRfMl8yXzEiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfQ09TX1ZBTElEX0RFRkFVTFRfMl8yXzIiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9DT1NfVkFMSURfREVGQVVMVF8yXzJfMiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BUF9DVF9QUk9QU19DT1JSRUNUXzEiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9DVF9QUk9QU19DT1JSRUNUXzEiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfQ1RfUFJPUFNfQ09SUkVDVF8yIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfQ1RfUFJPUFNfQ09SUkVDVF8yIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFQX0NUX1BST1BTX0NPUlJFQ1RfMyIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0NUX1BST1BTX0NPUlJFQ1RfMyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BUF9DVF9QUk9QU19DT1JSRUNUXzQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9DVF9QUk9QU19DT1JSRUNUXzQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfQ1RfUFJPUFNfQ09SUkVDVF81IiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfQ1RfUFJPUFNfQ09SUkVDVF81Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFQX0NWQ19TSU1QTEVfVFlQRSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0NWQ19TSU1QTEVfVFlQRSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BUF9DX1BST1BTX0NPUlJFQ1QiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9DX1BST1BTX0NPUlJFQ1QiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfREVGX0FORF9QUkVGSVgiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9ERUZfQU5EX1BSRUZJWCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzEiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzEiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfREVSSVZBVElPTl9PS19SRVNUUklDVElPTl8yXzFfMSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0RFUklWQVRJT05fT0tfUkVTVFJJQ1RJT05fMl8xXzEiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfREVSSVZBVElPTl9PS19SRVNUUklDVElPTl8yXzFfMiIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0RFUklWQVRJT05fT0tfUkVTVFJJQ1RJT05fMl8xXzIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfREVSSVZBVElPTl9PS19SRVNUUklDVElPTl8yXzFfMyIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0RFUklWQVRJT05fT0tfUkVTVFJJQ1RJT05fMl8xXzMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfREVSSVZBVElPTl9PS19SRVNUUklDVElPTl8yXzIiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzJfMiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzMiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfREVSSVZBVElPTl9PS19SRVNUUklDVElPTl80XzEiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzRfMSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzRfMiIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0RFUklWQVRJT05fT0tfUkVTVFJJQ1RJT05fNF8yIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFQX0RFUklWQVRJT05fT0tfUkVTVFJJQ1RJT05fNF8zIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfREVSSVZBVElPTl9PS19SRVNUUklDVElPTl80XzMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfRUxFTUZPUk1ERUZBVUxUX1ZBTFVFIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfRUxFTUZPUk1ERUZBVUxUX1ZBTFVFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFQX0VMRU1fREVGQVVMVF9GSVhFRCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0VMRU1fREVGQVVMVF9GSVhFRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BUF9FTEVNX05PTkFNRV9OT1JFRiIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0VMRU1fTk9OQU1FX05PUkVGIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFQX0VYVEVOU0lPTl9OT19CQVNFIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfRVhURU5TSU9OX05PX0JBU0UiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfRV9QUk9QU19DT1JSRUNUXzIiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9FX1BST1BTX0NPUlJFQ1RfMiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BUF9FX1BST1BTX0NPUlJFQ1RfMyIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0VfUFJPUFNfQ09SUkVDVF8zIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFQX0VfUFJPUFNfQ09SUkVDVF80IiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfRV9QUk9QU19DT1JSRUNUXzQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfRV9QUk9QU19DT1JSRUNUXzUiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9FX1BST1BTX0NPUlJFQ1RfNSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BUF9FX1BST1BTX0NPUlJFQ1RfNiIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0VfUFJPUFNfQ09SUkVDVF82Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFQX0ZBQ0VUX05PX1ZBTFVFIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfRkFDRVRfTk9fVkFMVUUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfRkFJTEVEX0JVSUxEX0lNUE9SVCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0ZBSUxFRF9CVUlMRF9JTVBPUlQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfRkFJTEVEX0xPQUQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9GQUlMRURfTE9BRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BUF9GQUlMRURfUEFSU0UiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9GQUlMRURfUEFSU0UiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfR1JPVVBfTk9OQU1FX05PUkVGIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfR1JPVVBfTk9OQU1FX05PUkVGIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFQX0lNUE9SVF9OQU1FU1BBQ0VfTk9UX1VSSSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0lNUE9SVF9OQU1FU1BBQ0VfTk9UX1VSSSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BUF9JTVBPUlRfUkVERUZJTkVfTlNOQU1FIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfSU1QT1JUX1JFREVGSU5FX05TTkFNRSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BUF9JTVBPUlRfU0NIRU1BX05PVF9VUkkiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9JTVBPUlRfU0NIRU1BX05PVF9VUkkiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfSU5DTFVERV9TQ0hFTUFfTk9UX1VSSSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0lOQ0xVREVfU0NIRU1BX05PVF9VUkkiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfSU5DTFVERV9TQ0hFTUFfTk9fVVJJIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfSU5DTFVERV9TQ0hFTUFfTk9fVVJJIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFQX0lOVEVSTkFMIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfSU5URVJOQUwiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfSU5URVJTRUNUSU9OX05PVF9FWFBSRVNTSUJMRSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0lOVEVSU0VDVElPTl9OT1RfRVhQUkVTU0lCTEUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfSU5WQUxJRF9BVFRSX0NPTUJJTkFUSU9OIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfSU5WQUxJRF9BVFRSX0NPTUJJTkFUSU9OIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFQX0lOVkFMSURfQVRUUl9JTkxJTkVfQ09NQklOQVRJT04iIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9JTlZBTElEX0FUVFJfSU5MSU5FX0NPTUJJTkFUSU9OIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFQX0lOVkFMSURfQVRUUl9OQU1FIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfSU5WQUxJRF9BVFRSX05BTUUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfSU5WQUxJRF9BVFRSX1VTRSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0lOVkFMSURfQVRUUl9VU0UiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfSU5WQUxJRF9CT09MRUFOIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfSU5WQUxJRF9CT09MRUFOIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFQX0lOVkFMSURfRU5VTSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0lOVkFMSURfRU5VTSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BUF9JTlZBTElEX0ZBQ0VUIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfSU5WQUxJRF9GQUNFVCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BUF9JTlZBTElEX0ZBQ0VUX1ZBTFVFIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfSU5WQUxJRF9GQUNFVF9WQUxVRSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BUF9JTlZBTElEX01BWE9DQ1VSUyIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0lOVkFMSURfTUFYT0NDVVJTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFQX0lOVkFMSURfTUlOT0NDVVJTIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfSU5WQUxJRF9NSU5PQ0NVUlMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfSU5WQUxJRF9SRUZfQU5EX1NVQlRZUEUiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9JTlZBTElEX1JFRl9BTkRfU1VCVFlQRSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BUF9JTlZBTElEX1dISVRFX1NQQUNFIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfSU5WQUxJRF9XSElURV9TUEFDRSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BUF9NR19QUk9QU19DT1JSRUNUXzEiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9NR19QUk9QU19DT1JSRUNUXzEiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfTUdfUFJPUFNfQ09SUkVDVF8yIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfTUdfUFJPUFNfQ09SUkVDVF8yIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFQX01JU1NJTkdfU0lNUExFVFlQRV9DSElMRCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX01JU1NJTkdfU0lNUExFVFlQRV9DSElMRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BUF9OT0FUVFJfTk9SRUYiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9OT0FUVFJfTk9SRUYiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfTk9ST09UIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfTk9ST09UIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFQX05PVEFUSU9OX05PX05BTUUiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9OT1RBVElPTl9OT19OQU1FIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFQX05PVEhJTkdfVE9fUEFSU0UiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9OT1RISU5HX1RPX1BBUlNFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFQX05PVFlQRV9OT1JFRiIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX05PVFlQRV9OT1JFRiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BUF9OT1RfREVURVJNSU5JU1RJQyIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX05PVF9ERVRFUk1JTklTVElDIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFQX05PVF9TQ0hFTUEiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9OT1RfU0NIRU1BIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFQX05PX1hNTE5TIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfTk9fWE1MTlMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfTk9fWFNJIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfTk9fWFNJIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFQX1BSRUZJWF9VTkRFRklORUQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9QUkVGSVhfVU5ERUZJTkVEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFQX1BfUFJPUFNfQ09SUkVDVF8xIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfUF9QUk9QU19DT1JSRUNUXzEiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfUF9QUk9QU19DT1JSRUNUXzJfMSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1BfUFJPUFNfQ09SUkVDVF8yXzEiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfUF9QUk9QU19DT1JSRUNUXzJfMiIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1BfUFJPUFNfQ09SUkVDVF8yXzIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfUkVDVVJTSVZFIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfUkVDVVJTSVZFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFQX1JFREVGSU5FRF9BVFRSIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfUkVERUZJTkVEX0FUVFIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfUkVERUZJTkVEX0FUVFJHUk9VUCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1JFREVGSU5FRF9BVFRSR1JPVVAiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfUkVERUZJTkVEX0VMRU1FTlQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9SRURFRklORURfRUxFTUVOVCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BUF9SRURFRklORURfR1JPVVAiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9SRURFRklORURfR1JPVVAiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfUkVERUZJTkVEX05PVEFUSU9OIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfUkVERUZJTkVEX05PVEFUSU9OIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFQX1JFREVGSU5FRF9UWVBFIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfUkVERUZJTkVEX1RZUEUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfUkVGX0FORF9DT05URU5UIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfUkVGX0FORF9DT05URU5UIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFQX1JFRl9BTkRfU1VCVFlQRSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1JFRl9BTkRfU1VCVFlQRSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BUF9SRUdFWFBfSU5WQUxJRCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1JFR0VYUF9JTlZBTElEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFQX1JFU1RSSUNUSU9OX05PTkFNRV9OT1JFRiIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1JFU1RSSUNUSU9OX05PTkFNRV9OT1JFRiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BUF9TNFNfQVRUUl9JTlZBTElEX1ZBTFVFIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfUzRTX0FUVFJfSU5WQUxJRF9WQUxVRSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BUF9TNFNfQVRUUl9NSVNTSU5HIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfUzRTX0FUVFJfTUlTU0lORyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BUF9TNFNfQVRUUl9OT1RfQUxMT1dFRCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1M0U19BVFRSX05PVF9BTExPV0VEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFQX1M0U19FTEVNX01JU1NJTkciIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9TNFNfRUxFTV9NSVNTSU5HIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFQX1M0U19FTEVNX05PVF9BTExPV0VEIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfUzRTX0VMRU1fTk9UX0FMTE9XRUQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfU0lNUExFVFlQRV9OT05BTUUiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9TSU1QTEVUWVBFX05PTkFNRSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BUF9TUkNfQVRUUklCVVRFXzEiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9TUkNfQVRUUklCVVRFXzEiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfU1JDX0FUVFJJQlVURV8yIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfU1JDX0FUVFJJQlVURV8yIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFQX1NSQ19BVFRSSUJVVEVfM18xIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfU1JDX0FUVFJJQlVURV8zXzEiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfU1JDX0FUVFJJQlVURV8zXzIiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9TUkNfQVRUUklCVVRFXzNfMiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BUF9TUkNfQVRUUklCVVRFXzQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9TUkNfQVRUUklCVVRFXzQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfU1JDX0FUVFJJQlVURV9HUk9VUF8xIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfU1JDX0FUVFJJQlVURV9HUk9VUF8xIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFQX1NSQ19BVFRSSUJVVEVfR1JPVVBfMiIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1NSQ19BVFRSSUJVVEVfR1JPVVBfMiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BUF9TUkNfQVRUUklCVVRFX0dST1VQXzMiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9TUkNfQVRUUklCVVRFX0dST1VQXzMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfU1JDX0NUXzEiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9TUkNfQ1RfMSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BUF9TUkNfRUxFTUVOVF8xIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfU1JDX0VMRU1FTlRfMSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BUF9TUkNfRUxFTUVOVF8yXzEiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9TUkNfRUxFTUVOVF8yXzEiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfU1JDX0VMRU1FTlRfMl8yIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfU1JDX0VMRU1FTlRfMl8yIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFQX1NSQ19FTEVNRU5UXzMiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9TUkNfRUxFTUVOVF8zIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFQX1NSQ19JTVBPUlQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9TUkNfSU1QT1JUIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFQX1NSQ19JTVBPUlRfMV8xIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfU1JDX0lNUE9SVF8xXzEiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfU1JDX0lNUE9SVF8xXzIiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9TUkNfSU1QT1JUXzFfMiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BUF9TUkNfSU1QT1JUXzIiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9TUkNfSU1QT1JUXzIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfU1JDX0lNUE9SVF8yXzEiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9TUkNfSU1QT1JUXzJfMSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BUF9TUkNfSU1QT1JUXzJfMiIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1NSQ19JTVBPUlRfMl8yIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFQX1NSQ19JTVBPUlRfM18xIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfU1JDX0lNUE9SVF8zXzEiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfU1JDX0lNUE9SVF8zXzIiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9TUkNfSU1QT1JUXzNfMiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BUF9TUkNfSU5DTFVERSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1NSQ19JTkNMVURFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFQX1NSQ19MSVNUX0lURU1UWVBFX09SX1NJTVBMRVRZUEUiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9TUkNfTElTVF9JVEVNVFlQRV9PUl9TSU1QTEVUWVBFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFQX1NSQ19SRURFRklORSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1NSQ19SRURFRklORSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BUF9TUkNfUkVTT0xWRSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1NSQ19SRVNPTFZFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFQX1NSQ19SRVNUUklDVElPTl9CQVNFX09SX1NJTVBMRVRZUEUiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9TUkNfUkVTVFJJQ1RJT05fQkFTRV9PUl9TSU1QTEVUWVBFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFQX1NSQ19TSU1QTEVfVFlQRV8xIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfU1JDX1NJTVBMRV9UWVBFXzEiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfU1JDX1NJTVBMRV9UWVBFXzIiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9TUkNfU0lNUExFX1RZUEVfMiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BUF9TUkNfU0lNUExFX1RZUEVfMyIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1NSQ19TSU1QTEVfVFlQRV8zIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFQX1NSQ19TSU1QTEVfVFlQRV80IiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfU1JDX1NJTVBMRV9UWVBFXzQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfU1JDX1VOSU9OX01FTUJFUlRZUEVTX09SX1NJTVBMRVRZUEVTIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfU1JDX1VOSU9OX01FTUJFUlRZUEVTX09SX1NJTVBMRVRZUEVTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFQX1NUX1BST1BTX0NPUlJFQ1RfMSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1NUX1BST1BTX0NPUlJFQ1RfMSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BUF9TVF9QUk9QU19DT1JSRUNUXzIiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9TVF9QUk9QU19DT1JSRUNUXzIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfU1RfUFJPUFNfQ09SUkVDVF8zIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfU1RfUFJPUFNfQ09SUkVDVF8zIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFQX1NVUEVSTlVNRVJPVVNfTElTVF9JVEVNX1RZUEUiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9TVVBFUk5VTUVST1VTX0xJU1RfSVRFTV9UWVBFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFQX1RZUEVfQU5EX1NVQlRZUEUiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9UWVBFX0FORF9TVUJUWVBFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFQX1VOSU9OX05PVF9FWFBSRVNTSUJMRSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1VOSU9OX05PVF9FWFBSRVNTSUJMRSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BUF9VTktOT1dOX0FMTF9DSElMRCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1VOS05PV05fQUxMX0NISUxEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFQX1VOS05PV05fQU5ZQVRUUklCVVRFX0NISUxEIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfVU5LTk9XTl9BTllBVFRSSUJVVEVfQ0hJTEQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfVU5LTk9XTl9BVFRSR1JQX0NISUxEIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfVU5LTk9XTl9BVFRSR1JQX0NISUxEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFQX1VOS05PV05fQVRUUklCVVRFX0dST1VQIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfVU5LTk9XTl9BVFRSSUJVVEVfR1JPVVAiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfVU5LTk9XTl9BVFRSX0NISUxEIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfVU5LTk9XTl9BVFRSX0NISUxEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFQX1VOS05PV05fQkFTRV9UWVBFIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfVU5LTk9XTl9CQVNFX1RZUEUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfVU5LTk9XTl9DSE9JQ0VfQ0hJTEQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9VTktOT1dOX0NIT0lDRV9DSElMRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BUF9VTktOT1dOX0NPTVBMRVhDT05URU5UX0NISUxEIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfVU5LTk9XTl9DT01QTEVYQ09OVEVOVF9DSElMRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BUF9VTktOT1dOX0NPTVBMRVhUWVBFX0NISUxEIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfVU5LTk9XTl9DT01QTEVYVFlQRV9DSElMRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BUF9VTktOT1dOX0VMRU1fQ0hJTEQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9VTktOT1dOX0VMRU1fQ0hJTEQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfVU5LTk9XTl9FWFRFTlNJT05fQ0hJTEQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9VTktOT1dOX0VYVEVOU0lPTl9DSElMRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BUF9VTktOT1dOX0ZBQ0VUX0NISUxEIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfVU5LTk9XTl9GQUNFVF9DSElMRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BUF9VTktOT1dOX0ZBQ0VUX1RZUEUiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9VTktOT1dOX0ZBQ0VUX1RZUEUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfVU5LTk9XTl9HUk9VUF9DSElMRCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1VOS05PV05fR1JPVVBfQ0hJTEQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfVU5LTk9XTl9JTVBPUlRfQ0hJTEQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9VTktOT1dOX0lNUE9SVF9DSElMRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BUF9VTktOT1dOX0lOQ0xVREVfQ0hJTEQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9VTktOT1dOX0lOQ0xVREVfQ0hJTEQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfVU5LTk9XTl9MSVNUX0NISUxEIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfVU5LTk9XTl9MSVNUX0NISUxEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFQX1VOS05PV05fTUVNQkVSX1RZUEUiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9VTktOT1dOX01FTUJFUl9UWVBFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFQX1VOS05PV05fTk9UQVRJT05fQ0hJTEQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9VTktOT1dOX05PVEFUSU9OX0NISUxEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFQX1VOS05PV05fUFJFRklYIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfVU5LTk9XTl9QUkVGSVgiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfVU5LTk9XTl9QUk9DRVNTQ09OVEVOVF9DSElMRCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1VOS05PV05fUFJPQ0VTU0NPTlRFTlRfQ0hJTEQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfVU5LTk9XTl9SRUYiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9VTktOT1dOX1JFRiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BUF9VTktOT1dOX1JFU1RSSUNUSU9OX0NISUxEIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfVU5LTk9XTl9SRVNUUklDVElPTl9DSElMRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BUF9VTktOT1dOX1NDSEVNQVNfQ0hJTEQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9VTktOT1dOX1NDSEVNQVNfQ0hJTEQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfVU5LTk9XTl9TRVFVRU5DRV9DSElMRCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1VOS05PV05fU0VRVUVOQ0VfQ0hJTEQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfVU5LTk9XTl9TSU1QTEVDT05URU5UX0NISUxEIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfVU5LTk9XTl9TSU1QTEVDT05URU5UX0NISUxEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFQX1VOS05PV05fU0lNUExFVFlQRV9DSElMRCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1VOS05PV05fU0lNUExFVFlQRV9DSElMRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BUF9VTktOT1dOX1RZUEUiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9VTktOT1dOX1RZUEUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfVU5LTk9XTl9VTklPTl9DSElMRCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1VOS05PV05fVU5JT05fQ0hJTEQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfV0FSTl9BVFRSX1BPSU5UTEVTU19QUk9IIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfV0FSTl9BVFRSX1BPSU5UTEVTU19QUk9IIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFQX1dBUk5fQVRUUl9SRURFQ0xfUFJPSCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1dBUk5fQVRUUl9SRURFQ0xfUFJPSCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BUF9XQVJOX1NLSVBfU0NIRU1BIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfV0FSTl9TS0lQX1NDSEVNQSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BUF9XQVJOX1VOTE9DQVRFRF9TQ0hFTUEiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9XQVJOX1VOTE9DQVRFRF9TQ0hFTUEiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVBfV0lMRENBUkRfSU5WQUxJRF9OU19NRU1CRVIiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9XSUxEQ0FSRF9JTlZBTElEX05TX01FTUJFUiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BU19BTllTSU1QTEVUWVBFIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19BTllTSU1QTEVUWVBFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX0FOWVRZUEUiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0FOWVRZUEUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVNfQU5ZVVJJIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19BTllVUkkiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVNfQkFTRTY0QklOQVJZIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19CQVNFNjRCSU5BUlkiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVNfQk9PTEVBTiIgbGluaz0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfQk9PTEVBTiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BU19CWVRFIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19CWVRFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX0RBVEUiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0RBVEUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVNfREFURVRJTUUiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0RBVEVUSU1FIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX0RFQ0lNQUwiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0RFQ0lNQUwiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVNfRE9VQkxFIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19ET1VCTEUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVNfRFVSQVRJT04iIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0RVUkFUSU9OIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX0VOVElUSUVTIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19FTlRJVElFUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BU19FTlRJVFkiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0VOVElUWSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BU19FUlJfIiBsaW5rPSJsaWJ4bWwyLXhtbHNjaGVtYXMuaHRtbCNYTUxfU0NIRU1BU19FUlJfIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX0VSUl9BVFRSSU5WQUxJRCIgbGluaz0ibGlieG1sMi14bWxzY2hlbWFzLmh0bWwjWE1MX1NDSEVNQVNfRVJSX0FUVFJJTlZBTElEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX0VSUl9BVFRSVU5LTk9XTiIgbGluaz0ibGlieG1sMi14bWxzY2hlbWFzLmh0bWwjWE1MX1NDSEVNQVNfRVJSX0FUVFJVTktOT1dOIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX0VSUl9DT05TVFJVQ1QiIGxpbms9ImxpYnhtbDIteG1sc2NoZW1hcy5odG1sI1hNTF9TQ0hFTUFTX0VSUl9DT05TVFJVQ1QiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVNfRVJSX0VMRU1DT05UIiBsaW5rPSJsaWJ4bWwyLXhtbHNjaGVtYXMuaHRtbCNYTUxfU0NIRU1BU19FUlJfRUxFTUNPTlQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVNfRVJSX0VYVFJBQ09OVEVOVCIgbGluaz0ibGlieG1sMi14bWxzY2hlbWFzLmh0bWwjWE1MX1NDSEVNQVNfRVJSX0VYVFJBQ09OVEVOVCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BU19FUlJfRkFDRVQiIGxpbms9ImxpYnhtbDIteG1sc2NoZW1hcy5odG1sI1hNTF9TQ0hFTUFTX0VSUl9GQUNFVCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BU19FUlJfSEFWRURFRkFVTFQiIGxpbms9ImxpYnhtbDIteG1sc2NoZW1hcy5odG1sI1hNTF9TQ0hFTUFTX0VSUl9IQVZFREVGQVVMVCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BU19FUlJfSU5URVJOQUwiIGxpbms9ImxpYnhtbDIteG1sc2NoZW1hcy5odG1sI1hNTF9TQ0hFTUFTX0VSUl9JTlRFUk5BTCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BU19FUlJfSU5WQUxJREFUVFIiIGxpbms9ImxpYnhtbDIteG1sc2NoZW1hcy5odG1sI1hNTF9TQ0hFTUFTX0VSUl9JTlZBTElEQVRUUiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BU19FUlJfSU5WQUxJREVMRU0iIGxpbms9ImxpYnhtbDIteG1sc2NoZW1hcy5odG1sI1hNTF9TQ0hFTUFTX0VSUl9JTlZBTElERUxFTSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BU19FUlJfSVNBQlNUUkFDVCIgbGluaz0ibGlieG1sMi14bWxzY2hlbWFzLmh0bWwjWE1MX1NDSEVNQVNfRVJSX0lTQUJTVFJBQ1QiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVNfRVJSX01JU1NJTkciIGxpbms9ImxpYnhtbDIteG1sc2NoZW1hcy5odG1sI1hNTF9TQ0hFTUFTX0VSUl9NSVNTSU5HIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX0VSUl9OT1JPTExCQUNLIiBsaW5rPSJsaWJ4bWwyLXhtbHNjaGVtYXMuaHRtbCNYTUxfU0NIRU1BU19FUlJfTk9ST0xMQkFDSyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BU19FUlJfTk9ST09UIiBsaW5rPSJsaWJ4bWwyLXhtbHNjaGVtYXMuaHRtbCNYTUxfU0NIRU1BU19FUlJfTk9ST09UIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX0VSUl9OT1RERVRFUk1JTklTVCIgbGluaz0ibGlieG1sMi14bWxzY2hlbWFzLmh0bWwjWE1MX1NDSEVNQVNfRVJSX05PVERFVEVSTUlOSVNUIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX0VSUl9OT1RFTVBUWSIgbGluaz0ibGlieG1sMi14bWxzY2hlbWFzLmh0bWwjWE1MX1NDSEVNQVNfRVJSX05PVEVNUFRZIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX0VSUl9OT1ROSUxMQUJMRSIgbGluaz0ibGlieG1sMi14bWxzY2hlbWFzLmh0bWwjWE1MX1NDSEVNQVNfRVJSX05PVE5JTExBQkxFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX0VSUl9OT1RTSU1QTEUiIGxpbms9ImxpYnhtbDIteG1sc2NoZW1hcy5odG1sI1hNTF9TQ0hFTUFTX0VSUl9OT1RTSU1QTEUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVNfRVJSX05PVFRPUExFVkVMIiBsaW5rPSJsaWJ4bWwyLXhtbHNjaGVtYXMuaHRtbCNYTUxfU0NIRU1BU19FUlJfTk9UVE9QTEVWRUwiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVNfRVJSX05PVFlQRSIgbGluaz0ibGlieG1sMi14bWxzY2hlbWFzLmh0bWwjWE1MX1NDSEVNQVNfRVJSX05PVFlQRSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BU19FUlJfT0siIGxpbms9ImxpYnhtbDIteG1sc2NoZW1hcy5odG1sI1hNTF9TQ0hFTUFTX0VSUl9PSyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BU19FUlJfVU5ERUNMQVJFREVMRU0iIGxpbms9ImxpYnhtbDIteG1sc2NoZW1hcy5odG1sI1hNTF9TQ0hFTUFTX0VSUl9VTkRFQ0xBUkVERUxFTSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BU19FUlJfVkFMVUUiIGxpbms9ImxpYnhtbDIteG1sc2NoZW1hcy5odG1sI1hNTF9TQ0hFTUFTX0VSUl9WQUxVRSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BU19FUlJfV1JPTkdFTEVNIiBsaW5rPSJsaWJ4bWwyLXhtbHNjaGVtYXMuaHRtbCNYTUxfU0NIRU1BU19FUlJfV1JPTkdFTEVNIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX0VSUl9YWFgiIGxpbms9ImxpYnhtbDIteG1sc2NoZW1hcy5odG1sI1hNTF9TQ0hFTUFTX0VSUl9YWFgiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVNfRkxPQVQiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0ZMT0FUIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX0dEQVkiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0dEQVkiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVNfR01PTlRIIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19HTU9OVEgiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVNfR01PTlRIREFZIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19HTU9OVEhEQVkiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVNfR1lFQVIiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0dZRUFSIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX0dZRUFSTU9OVEgiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0dZRUFSTU9OVEgiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVNfSEVYQklOQVJZIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19IRVhCSU5BUlkiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVNfSUQiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0lEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX0lEUkVGIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19JRFJFRiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BU19JRFJFRlMiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0lEUkVGUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BU19JTlQiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0lOVCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BU19JTlRFR0VSIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19JTlRFR0VSIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX0xBTkdVQUdFIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19MQU5HVUFHRSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BU19MT05HIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19MT05HIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX05BTUUiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX05BTUUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVNfTkNOQU1FIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19OQ05BTUUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVNfTklOVEVHRVIiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX05JTlRFR0VSIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX05NVE9LRU4iIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX05NVE9LRU4iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVNfTk1UT0tFTlMiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX05NVE9LRU5TIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX05OSU5URUdFUiIgbGluaz0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfTk5JTlRFR0VSIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX05PUk1TVFJJTkciIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX05PUk1TVFJJTkciLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVNfTk9UQVRJT04iIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX05PVEFUSU9OIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX05QSU5URUdFUiIgbGluaz0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfTlBJTlRFR0VSIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX1BJTlRFR0VSIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19QSU5URUdFUiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BU19RTkFNRSIgbGluaz0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfUU5BTUUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVNfU0hPUlQiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1NIT1JUIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX1NUUklORyIgbGluaz0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfU1RSSU5HIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX1RJTUUiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RJTUUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVNfVE9LRU4iIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RPS0VOIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX1VCWVRFIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19VQllURSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BU19VSU5UIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19VSU5UIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX1VMT05HIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19VTE9ORyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BU19VTktOT1dOIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19VTktOT1dOIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX1VTSE9SVCIgbGluaz0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVVNIT1JUIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFUUk9OVl9BU1NFUlQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVFJPTlZfQVNTRVJUIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFUUk9OVl9SRVBPUlQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVFJPTlZfUkVQT1JUIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFUUk9OX09VVF9CVUZGRVIiIGxpbms9ImxpYnhtbDItc2NoZW1hdHJvbi5odG1sI1hNTF9TQ0hFTUFUUk9OX09VVF9CVUZGRVIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVRST05fT1VUX0VSUk9SIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXRyb24uaHRtbCNYTUxfU0NIRU1BVFJPTl9PVVRfRVJST1IiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVRST05fT1VUX0ZJTEUiIGxpbms9ImxpYnhtbDItc2NoZW1hdHJvbi5odG1sI1hNTF9TQ0hFTUFUUk9OX09VVF9GSUxFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFUUk9OX09VVF9JTyIgbGluaz0ibGlieG1sMi1zY2hlbWF0cm9uLmh0bWwjWE1MX1NDSEVNQVRST05fT1VUX0lPIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFUUk9OX09VVF9RVUlFVCIgbGluaz0ibGlieG1sMi1zY2hlbWF0cm9uLmh0bWwjWE1MX1NDSEVNQVRST05fT1VUX1FVSUVUIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFUUk9OX09VVF9URVhUIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXRyb24uaHRtbCNYTUxfU0NIRU1BVFJPTl9PVVRfVEVYVCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BVFJPTl9PVVRfWE1MIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXRyb24uaHRtbCNYTUxfU0NIRU1BVFJPTl9PVVRfWE1MIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFWX0FUVFJJTlZBTElEIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQVRUUklOVkFMSUQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVZfQVRUUlVOS05PV04iIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9BVFRSVU5LTk9XTiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BVl9DT05TVFJVQ1QiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9DT05TVFJVQ1QiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVZfQ1ZDX0FUVFJJQlVURV8xIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX0FUVFJJQlVURV8xIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFWX0NWQ19BVFRSSUJVVEVfMiIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19BVFRSSUJVVEVfMiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BVl9DVkNfQVRUUklCVVRFXzMiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9DVkNfQVRUUklCVVRFXzMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVZfQ1ZDX0FUVFJJQlVURV80IiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX0FUVFJJQlVURV80Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFWX0NWQ19BVSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19BVSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzEiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzEiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV8yXzEiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzJfMSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzJfMiIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfMl8yIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfMl8zIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV8yXzMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV8yXzQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzJfNCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzNfMSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfM18xIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfM18yXzEiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzNfMl8xIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfM18yXzIiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzNfMl8yIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfNCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfNCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzVfMSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfNV8xIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfNV8yIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV81XzIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVZfQ1ZDX0RBVEFUWVBFX1ZBTElEXzFfMl8xIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX0RBVEFUWVBFX1ZBTElEXzFfMl8xIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFWX0NWQ19EQVRBVFlQRV9WQUxJRF8xXzJfMiIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19EQVRBVFlQRV9WQUxJRF8xXzJfMiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BVl9DVkNfREFUQVRZUEVfVkFMSURfMV8yXzMiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9DVkNfREFUQVRZUEVfVkFMSURfMV8yXzMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVZfQ1ZDX0VMVF8xIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX0VMVF8xIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFWX0NWQ19FTFRfMiIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19FTFRfMiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BVl9DVkNfRUxUXzNfMSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19FTFRfM18xIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFWX0NWQ19FTFRfM18yXzEiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9DVkNfRUxUXzNfMl8xIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFWX0NWQ19FTFRfM18yXzIiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9DVkNfRUxUXzNfMl8yIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFWX0NWQ19FTFRfNF8xIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX0VMVF80XzEiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVZfQ1ZDX0VMVF80XzIiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9DVkNfRUxUXzRfMiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BVl9DVkNfRUxUXzRfMyIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19FTFRfNF8zIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFWX0NWQ19FTFRfNV8xXzEiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9DVkNfRUxUXzVfMV8xIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFWX0NWQ19FTFRfNV8xXzIiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9DVkNfRUxUXzVfMV8yIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFWX0NWQ19FTFRfNV8yXzEiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9DVkNfRUxUXzVfMl8xIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFWX0NWQ19FTFRfNV8yXzJfMSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19FTFRfNV8yXzJfMSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BVl9DVkNfRUxUXzVfMl8yXzJfMSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19FTFRfNV8yXzJfMl8xIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFWX0NWQ19FTFRfNV8yXzJfMl8yIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX0VMVF81XzJfMl8yXzIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVZfQ1ZDX0VMVF82IiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX0VMVF82Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFWX0NWQ19FTFRfNyIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19FTFRfNyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BVl9DVkNfRU5VTUVSQVRJT05fVkFMSUQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9DVkNfRU5VTUVSQVRJT05fVkFMSUQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVZfQ1ZDX0ZBQ0VUX1ZBTElEIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX0ZBQ0VUX1ZBTElEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFWX0NWQ19GUkFDVElPTkRJR0lUU19WQUxJRCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19GUkFDVElPTkRJR0lUU19WQUxJRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BVl9DVkNfSURDIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX0lEQyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BVl9DVkNfTEVOR1RIX1ZBTElEIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX0xFTkdUSF9WQUxJRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BVl9DVkNfTUFYRVhDTFVTSVZFX1ZBTElEIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX01BWEVYQ0xVU0lWRV9WQUxJRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BVl9DVkNfTUFYSU5DTFVTSVZFX1ZBTElEIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX01BWElOQ0xVU0lWRV9WQUxJRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BVl9DVkNfTUFYTEVOR1RIX1ZBTElEIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX01BWExFTkdUSF9WQUxJRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BVl9DVkNfTUlORVhDTFVTSVZFX1ZBTElEIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX01JTkVYQ0xVU0lWRV9WQUxJRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BVl9DVkNfTUlOSU5DTFVTSVZFX1ZBTElEIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX01JTklOQ0xVU0lWRV9WQUxJRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BVl9DVkNfTUlOTEVOR1RIX1ZBTElEIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX01JTkxFTkdUSF9WQUxJRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BVl9DVkNfUEFUVEVSTl9WQUxJRCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19QQVRURVJOX1ZBTElEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFWX0NWQ19UT1RBTERJR0lUU19WQUxJRCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19UT1RBTERJR0lUU19WQUxJRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BVl9DVkNfVFlQRV8xIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX1RZUEVfMSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BVl9DVkNfVFlQRV8yIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX1RZUEVfMiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BVl9DVkNfVFlQRV8zXzFfMSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19UWVBFXzNfMV8xIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFWX0NWQ19UWVBFXzNfMV8yIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX1RZUEVfM18xXzIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVZfQ1ZDX1dJTERDQVJEIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX1dJTERDQVJEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFWX0RPQ1VNRU5UX0VMRU1FTlRfTUlTU0lORyIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0RPQ1VNRU5UX0VMRU1FTlRfTUlTU0lORyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BVl9FTEVNQ09OVCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0VMRU1DT05UIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFWX0VMRU1FTlRfQ09OVEVOVCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0VMRU1FTlRfQ09OVEVOVCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BVl9FWFRSQUNPTlRFTlQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9FWFRSQUNPTlRFTlQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVZfRkFDRVQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9GQUNFVCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BVl9IQVZFREVGQVVMVCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0hBVkVERUZBVUxUIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFWX0lOVEVSTkFMIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfSU5URVJOQUwiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVZfSU5WQUxJREFUVFIiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9JTlZBTElEQVRUUiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BVl9JTlZBTElERUxFTSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0lOVkFMSURFTEVNIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFWX0lTQUJTVFJBQ1QiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9JU0FCU1RSQUNUIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFWX01JU0MiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9NSVNDIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFWX01JU1NJTkciIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9NSVNTSU5HIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFWX05PUk9MTEJBQ0siIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9OT1JPTExCQUNLIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFWX05PUk9PVCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX05PUk9PVCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BVl9OT1RERVRFUk1JTklTVCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX05PVERFVEVSTUlOSVNUIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFWX05PVEVNUFRZIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfTk9URU1QVFkiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVZfTk9UTklMTEFCTEUiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9OT1ROSUxMQUJMRSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BVl9OT1RTSU1QTEUiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9OT1RTSU1QTEUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVZfTk9UVE9QTEVWRUwiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9OT1RUT1BMRVZFTCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BVl9OT1RZUEUiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9OT1RZUEUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVZfVU5ERUNMQVJFREVMRU0iIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9VTkRFQ0xBUkVERUxFTSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BVl9WQUxVRSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX1ZBTFVFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFWX1dST05HRUxFTSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX1dST05HRUxFTSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BX0NPTlRFTlRfQU5ZIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BX0NPTlRFTlRfQU5ZIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFfQ09OVEVOVF9CQVNJQyIgbGluaz0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQV9DT05URU5UX0JBU0lDIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFfQ09OVEVOVF9FTEVNRU5UUyIgbGluaz0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQV9DT05URU5UX0VMRU1FTlRTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFfQ09OVEVOVF9FTVBUWSIgbGluaz0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQV9DT05URU5UX0VNUFRZIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFfQ09OVEVOVF9NSVhFRCIgbGluaz0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQV9DT05URU5UX01JWEVEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFfQ09OVEVOVF9NSVhFRF9PUl9FTEVNRU5UUyIgbGluaz0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQV9DT05URU5UX01JWEVEX09SX0VMRU1FTlRTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFfQ09OVEVOVF9TSU1QTEUiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFfQ09OVEVOVF9TSU1QTEUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQV9DT05URU5UX1VOS05PV04iIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFfQ09OVEVOVF9VTktOT1dOIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFfRVhUUkFfQVRUUl9VU0VfUFJPSElCIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BX0VYVFJBX0FUVFJfVVNFX1BST0hJQiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BX0VYVFJBX1FOQU1FUkVGIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BX0VYVFJBX1FOQU1FUkVGIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFfRkFDRVRfRU5VTUVSQVRJT04iIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFfRkFDRVRfRU5VTUVSQVRJT04iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQV9GQUNFVF9GUkFDVElPTkRJR0lUUyIgbGluaz0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQV9GQUNFVF9GUkFDVElPTkRJR0lUUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BX0ZBQ0VUX0xFTkdUSCIgbGluaz0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQV9GQUNFVF9MRU5HVEgiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQV9GQUNFVF9NQVhFWENMVVNJVkUiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFfRkFDRVRfTUFYRVhDTFVTSVZFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFfRkFDRVRfTUFYSU5DTFVTSVZFIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BX0ZBQ0VUX01BWElOQ0xVU0lWRSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BX0ZBQ0VUX01BWExFTkdUSCIgbGluaz0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQV9GQUNFVF9NQVhMRU5HVEgiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQV9GQUNFVF9NSU5FWENMVVNJVkUiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFfRkFDRVRfTUlORVhDTFVTSVZFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFfRkFDRVRfTUlOSU5DTFVTSVZFIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BX0ZBQ0VUX01JTklOQ0xVU0lWRSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BX0ZBQ0VUX01JTkxFTkdUSCIgbGluaz0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQV9GQUNFVF9NSU5MRU5HVEgiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQV9GQUNFVF9QQVRURVJOIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BX0ZBQ0VUX1BBVFRFUk4iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQV9GQUNFVF9UT1RBTERJR0lUUyIgbGluaz0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQV9GQUNFVF9UT1RBTERJR0lUUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BX0ZBQ0VUX1dISVRFU1BBQ0UiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFfRkFDRVRfV0hJVEVTUEFDRSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BX1RZUEVfQUxMIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BX1RZUEVfQUxMIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFfVFlQRV9BTlkiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFfVFlQRV9BTlkiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQV9UWVBFX0FOWV9BVFRSSUJVVEUiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFfVFlQRV9BTllfQVRUUklCVVRFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFfVFlQRV9BVFRSSUJVVEUiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFfVFlQRV9BVFRSSUJVVEUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQV9UWVBFX0FUVFJJQlVURUdST1VQIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BX1RZUEVfQVRUUklCVVRFR1JPVVAiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQV9UWVBFX0FUVFJJQlVURV9VU0UiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFfVFlQRV9BVFRSSUJVVEVfVVNFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFfVFlQRV9CQVNJQyIgbGluaz0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQV9UWVBFX0JBU0lDIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFfVFlQRV9DSE9JQ0UiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFfVFlQRV9DSE9JQ0UiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQV9UWVBFX0NPTVBMRVgiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFfVFlQRV9DT01QTEVYIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFfVFlQRV9DT01QTEVYX0NPTlRFTlQiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFfVFlQRV9DT01QTEVYX0NPTlRFTlQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQV9UWVBFX0VMRU1FTlQiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFfVFlQRV9FTEVNRU5UIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFfVFlQRV9FWFRFTlNJT04iIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFfVFlQRV9FWFRFTlNJT04iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQV9UWVBFX0ZBQ0VUIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BX1RZUEVfRkFDRVQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQV9UWVBFX0dST1VQIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BX1RZUEVfR1JPVVAiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQV9UWVBFX0lEQ19LRVkiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFfVFlQRV9JRENfS0VZIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFfVFlQRV9JRENfS0VZUkVGIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BX1RZUEVfSURDX0tFWVJFRiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BX1RZUEVfSURDX1VOSVFVRSIgbGluaz0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQV9UWVBFX0lEQ19VTklRVUUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQV9UWVBFX0xJU1QiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFfVFlQRV9MSVNUIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFfVFlQRV9OT1RBVElPTiIgbGluaz0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQV9UWVBFX05PVEFUSU9OIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFfVFlQRV9QQVJUSUNMRSIgbGluaz0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQV9UWVBFX1BBUlRJQ0xFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFfVFlQRV9SRVNUUklDVElPTiIgbGluaz0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQV9UWVBFX1JFU1RSSUNUSU9OIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFfVFlQRV9TRVFVRU5DRSIgbGluaz0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQV9UWVBFX1NFUVVFTkNFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFfVFlQRV9TSU1QTEUiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFfVFlQRV9TSU1QTEUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQV9UWVBFX1NJTVBMRV9DT05URU5UIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BX1RZUEVfU0lNUExFX0NPTlRFTlQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQV9UWVBFX1VOSU9OIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BX1RZUEVfVU5JT04iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQV9UWVBFX1VSIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BX1RZUEVfVVIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQV9WQUxfVkNfSV9DUkVBVEUiIGxpbms9ImxpYnhtbDIteG1sc2NoZW1hcy5odG1sI1hNTF9TQ0hFTUFfVkFMX1ZDX0lfQ1JFQVRFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFfV0hJVEVTUEFDRV9DT0xMQVBTRSIgbGluaz0ibGlieG1sMi14bWxzY2hlbWFzdHlwZXMuaHRtbCNYTUxfU0NIRU1BX1dISVRFU1BBQ0VfQ09MTEFQU0UiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQV9XSElURVNQQUNFX1BSRVNFUlZFIiBsaW5rPSJsaWJ4bWwyLXhtbHNjaGVtYXN0eXBlcy5odG1sI1hNTF9TQ0hFTUFfV0hJVEVTUEFDRV9QUkVTRVJWRSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BX1dISVRFU1BBQ0VfUkVQTEFDRSIgbGluaz0ibGlieG1sMi14bWxzY2hlbWFzdHlwZXMuaHRtbCNYTUxfU0NIRU1BX1dISVRFU1BBQ0VfUkVQTEFDRSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BX1dISVRFU1BBQ0VfVU5LTk9XTiIgbGluaz0ibGlieG1sMi14bWxzY2hlbWFzdHlwZXMuaHRtbCNYTUxfU0NIRU1BX1dISVRFU1BBQ0VfVU5LTk9XTiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfVEVYVFJFQURFUl9NT0RFX0NMT1NFRCIgbGluaz0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCNYTUxfVEVYVFJFQURFUl9NT0RFX0NMT1NFRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfVEVYVFJFQURFUl9NT0RFX0VPRiIgbGluaz0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCNYTUxfVEVYVFJFQURFUl9NT0RFX0VPRiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfVEVYVFJFQURFUl9NT0RFX0VSUk9SIiBsaW5rPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI1hNTF9URVhUUkVBREVSX01PREVfRVJST1IiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1RFWFRSRUFERVJfTU9ERV9JTklUSUFMIiBsaW5rPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI1hNTF9URVhUUkVBREVSX01PREVfSU5JVElBTCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfVEVYVFJFQURFUl9NT0RFX0lOVEVSQUNUSVZFIiBsaW5rPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI1hNTF9URVhUUkVBREVSX01PREVfSU5URVJBQ1RJVkUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1RFWFRSRUFERVJfTU9ERV9SRUFESU5HIiBsaW5rPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI1hNTF9URVhUUkVBREVSX01PREVfUkVBRElORyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfVEVYVF9OT0RFIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCNYTUxfVEVYVF9OT0RFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9UUkVFX0lOVkFMSURfREVDIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1RSRUVfSU5WQUxJRF9ERUMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1RSRUVfSU5WQUxJRF9IRVgiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfVFJFRV9JTlZBTElEX0hFWCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfVFJFRV9OT1RfVVRGOCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9UUkVFX05PVF9VVEY4Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9UUkVFX1VOVEVSTUlOQVRFRF9FTlRJVFkiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfVFJFRV9VTlRFUk1JTkFURURfRU5USVRZIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9XQVJfQ0FUQUxPR19QSSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9XQVJfQ0FUQUxPR19QSSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfV0FSX0VOVElUWV9SRURFRklORUQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfV0FSX0VOVElUWV9SRURFRklORUQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1dBUl9MQU5HX1ZBTFVFIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1dBUl9MQU5HX1ZBTFVFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9XQVJfTlNfQ09MVU1OIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1dBUl9OU19DT0xVTU4iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1dBUl9OU19VUkkiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfV0FSX05TX1VSSSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfV0FSX05TX1VSSV9SRUxBVElWRSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9XQVJfTlNfVVJJX1JFTEFUSVZFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9XQVJfU1BBQ0VfVkFMVUUiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfV0FSX1NQQUNFX1ZBTFVFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9XQVJfVU5ERUNMQVJFRF9FTlRJVFkiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfV0FSX1VOREVDTEFSRURfRU5USVRZIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9XQVJfVU5LTk9XTl9WRVJTSU9OIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1dBUl9VTktOT1dOX1ZFUlNJT04iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1dJVEhfQVVUT01BVEEiIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjWE1MX1dJVEhfQVVUT01BVEEiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1dJVEhfQzE0TiIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCNYTUxfV0lUSF9DMTROIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9XSVRIX0NBVEFMT0ciIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjWE1MX1dJVEhfQ0FUQUxPRyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfV0lUSF9ERUJVRyIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCNYTUxfV0lUSF9ERUJVRyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfV0lUSF9ERUJVR19NRU0iIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjWE1MX1dJVEhfREVCVUdfTUVNIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9XSVRIX0RFQlVHX1JVTiIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCNYTUxfV0lUSF9ERUJVR19SVU4iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1dJVEhfRVhQUiIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCNYTUxfV0lUSF9FWFBSIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9XSVRIX0ZUUCIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCNYTUxfV0lUSF9GVFAiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1dJVEhfSFRNTCIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCNYTUxfV0lUSF9IVE1MIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9XSVRIX0hUVFAiIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjWE1MX1dJVEhfSFRUUCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfV0lUSF9JQ09OViIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCNYTUxfV0lUSF9JQ09OViIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfV0lUSF9JQ1UiIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjWE1MX1dJVEhfSUNVIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9XSVRIX0lTTzg4NTlYIiBsaW5rPSJsaWJ4bWwyLXBhcnNlci5odG1sI1hNTF9XSVRIX0lTTzg4NTlYIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9XSVRIX0xFR0FDWSIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCNYTUxfV0lUSF9MRUdBQ1kiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1dJVEhfTFpNQSIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCNYTUxfV0lUSF9MWk1BIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9XSVRIX01PRFVMRVMiIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjWE1MX1dJVEhfTU9EVUxFUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfV0lUSF9OT05FIiBsaW5rPSJsaWJ4bWwyLXBhcnNlci5odG1sI1hNTF9XSVRIX05PTkUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1dJVEhfT1VUUFVUIiBsaW5rPSJsaWJ4bWwyLXBhcnNlci5odG1sI1hNTF9XSVRIX09VVFBVVCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfV0lUSF9QQVRURVJOIiBsaW5rPSJsaWJ4bWwyLXBhcnNlci5odG1sI1hNTF9XSVRIX1BBVFRFUk4iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1dJVEhfUFVTSCIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCNYTUxfV0lUSF9QVVNIIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9XSVRIX1JFQURFUiIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCNYTUxfV0lUSF9SRUFERVIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1dJVEhfUkVHRVhQIiBsaW5rPSJsaWJ4bWwyLXBhcnNlci5odG1sI1hNTF9XSVRIX1JFR0VYUCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfV0lUSF9TQVgxIiBsaW5rPSJsaWJ4bWwyLXBhcnNlci5odG1sI1hNTF9XSVRIX1NBWDEiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1dJVEhfU0NIRU1BUyIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCNYTUxfV0lUSF9TQ0hFTUFTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9XSVRIX1NDSEVNQVRST04iIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjWE1MX1dJVEhfU0NIRU1BVFJPTiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfV0lUSF9USFJFQUQiIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjWE1MX1dJVEhfVEhSRUFEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9XSVRIX1RSRUUiIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjWE1MX1dJVEhfVFJFRSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfV0lUSF9VTklDT0RFIiBsaW5rPSJsaWJ4bWwyLXBhcnNlci5odG1sI1hNTF9XSVRIX1VOSUNPREUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1dJVEhfVkFMSUQiIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjWE1MX1dJVEhfVkFMSUQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1dJVEhfV1JJVEVSIiBsaW5rPSJsaWJ4bWwyLXBhcnNlci5odG1sI1hNTF9XSVRIX1dSSVRFUiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfV0lUSF9YSU5DTFVERSIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCNYTUxfV0lUSF9YSU5DTFVERSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfV0lUSF9YUEFUSCIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCNYTUxfV0lUSF9YUEFUSCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfV0lUSF9YUFRSIiBsaW5rPSJsaWJ4bWwyLXBhcnNlci5odG1sI1hNTF9XSVRIX1hQVFIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1dJVEhfWkxJQiIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCNYTUxfV0lUSF9aTElCIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9YSU5DTFVERV9CVUlMRF9GQUlMRUQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfWElOQ0xVREVfQlVJTERfRkFJTEVEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9YSU5DTFVERV9ERVBSRUNBVEVEX05TIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1hJTkNMVURFX0RFUFJFQ0FURURfTlMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1hJTkNMVURFX0VORCIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjWE1MX1hJTkNMVURFX0VORCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfWElOQ0xVREVfRU5USVRZX0RFRl9NSVNNQVRDSCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9YSU5DTFVERV9FTlRJVFlfREVGX01JU01BVENIIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9YSU5DTFVERV9GQUxMQkFDS1NfSU5fSU5DTFVERSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9YSU5DTFVERV9GQUxMQkFDS1NfSU5fSU5DTFVERSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfWElOQ0xVREVfRkFMTEJBQ0tfTk9UX0lOX0lOQ0xVREUiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfWElOQ0xVREVfRkFMTEJBQ0tfTk9UX0lOX0lOQ0xVREUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1hJTkNMVURFX0ZSQUdNRU5UX0lEIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1hJTkNMVURFX0ZSQUdNRU5UX0lEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9YSU5DTFVERV9IUkVGX1VSSSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9YSU5DTFVERV9IUkVGX1VSSSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfWElOQ0xVREVfSU5DTFVERV9JTl9JTkNMVURFIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1hJTkNMVURFX0lOQ0xVREVfSU5fSU5DTFVERSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfWElOQ0xVREVfSU5WQUxJRF9DSEFSIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1hJTkNMVURFX0lOVkFMSURfQ0hBUiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfWElOQ0xVREVfTVVMVElQTEVfUk9PVCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9YSU5DTFVERV9NVUxUSVBMRV9ST09UIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9YSU5DTFVERV9OT19GQUxMQkFDSyIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9YSU5DTFVERV9OT19GQUxMQkFDSyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfWElOQ0xVREVfTk9fSFJFRiIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9YSU5DTFVERV9OT19IUkVGIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9YSU5DTFVERV9QQVJTRV9WQUxVRSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9YSU5DTFVERV9QQVJTRV9WQUxVRSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfWElOQ0xVREVfUkVDVVJTSU9OIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1hJTkNMVURFX1JFQ1VSU0lPTiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfWElOQ0xVREVfU1RBUlQiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI1hNTF9YSU5DTFVERV9TVEFSVCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfWElOQ0xVREVfVEVYVF9ET0NVTUVOVCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9YSU5DTFVERV9URVhUX0RPQ1VNRU5UIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9YSU5DTFVERV9URVhUX0ZSQUdNRU5UIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1hJTkNMVURFX1RFWFRfRlJBR01FTlQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1hJTkNMVURFX1VOS05PV05fRU5DT0RJTkciIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfWElOQ0xVREVfVU5LTk9XTl9FTkNPRElORyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfWElOQ0xVREVfWFBUUl9GQUlMRUQiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfWElOQ0xVREVfWFBUUl9GQUlMRUQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1hJTkNMVURFX1hQVFJfUkVTVUxUIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1hJTkNMVURFX1hQVFJfUkVTVUxUIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9YUEFUSF9FTkNPRElOR19FUlJPUiIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9YUEFUSF9FTkNPRElOR19FUlJPUiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfWFBBVEhfRVhQUkVTU0lPTl9PSyIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9YUEFUSF9FWFBSRVNTSU9OX09LIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9YUEFUSF9FWFBSX0VSUk9SIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1hQQVRIX0VYUFJfRVJST1IiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1hQQVRIX0lOVkFMSURfQVJJVFkiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfWFBBVEhfSU5WQUxJRF9BUklUWSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfWFBBVEhfSU5WQUxJRF9DSEFSX0VSUk9SIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1hQQVRIX0lOVkFMSURfQ0hBUl9FUlJPUiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfWFBBVEhfSU5WQUxJRF9DVFhUX1BPU0lUSU9OIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1hQQVRIX0lOVkFMSURfQ1RYVF9QT1NJVElPTiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfWFBBVEhfSU5WQUxJRF9DVFhUX1NJWkUiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfWFBBVEhfSU5WQUxJRF9DVFhUX1NJWkUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1hQQVRIX0lOVkFMSURfT1BFUkFORCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9YUEFUSF9JTlZBTElEX09QRVJBTkQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1hQQVRIX0lOVkFMSURfUFJFRElDQVRFX0VSUk9SIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1hQQVRIX0lOVkFMSURfUFJFRElDQVRFX0VSUk9SIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9YUEFUSF9JTlZBTElEX1RZUEUiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfWFBBVEhfSU5WQUxJRF9UWVBFIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9YUEFUSF9NRU1PUllfRVJST1IiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfWFBBVEhfTUVNT1JZX0VSUk9SIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9YUEFUSF9OVU1CRVJfRVJST1IiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfWFBBVEhfTlVNQkVSX0VSUk9SIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9YUEFUSF9TVEFSVF9MSVRFUkFMX0VSUk9SIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1hQQVRIX1NUQVJUX0xJVEVSQUxfRVJST1IiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1hQQVRIX1VOQ0xPU0VEX0VSUk9SIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1hQQVRIX1VOQ0xPU0VEX0VSUk9SIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9YUEFUSF9VTkRFRl9QUkVGSVhfRVJST1IiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfWFBBVEhfVU5ERUZfUFJFRklYX0VSUk9SIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9YUEFUSF9VTkRFRl9WQVJJQUJMRV9FUlJPUiIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9YUEFUSF9VTkRFRl9WQVJJQUJMRV9FUlJPUiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfWFBBVEhfVU5GSU5JU0hFRF9MSVRFUkFMX0VSUk9SIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1hQQVRIX1VORklOSVNIRURfTElURVJBTF9FUlJPUiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfWFBBVEhfVU5LTk9XTl9GVU5DX0VSUk9SIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1hQQVRIX1VOS05PV05fRlVOQ19FUlJPUiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfWFBBVEhfVkFSSUFCTEVfUkVGX0VSUk9SIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1hQQVRIX1ZBUklBQkxFX1JFRl9FUlJPUiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfWFBUUl9DSElMRFNFUV9TVEFSVCIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9YUFRSX0NISUxEU0VRX1NUQVJUIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9YUFRSX0VWQUxfRkFJTEVEIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1hQVFJfRVZBTF9GQUlMRUQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1hQVFJfRVhUUkFfT0JKRUNUUyIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI1hNTF9YUFRSX0VYVFJBX09CSkVDVFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1hQVFJfUkVTT1VSQ0VfRVJST1IiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfWFBUUl9SRVNPVVJDRV9FUlJPUiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfWFBUUl9TVUJfUkVTT1VSQ0VfRVJST1IiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCNYTUxfWFBUUl9TVUJfUkVTT1VSQ0VfRVJST1IiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1hQVFJfU1lOVEFYX0VSUk9SIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1hQVFJfU1lOVEFYX0VSUk9SIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9YUFRSX1VOS05PV05fU0NIRU1FIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjWE1MX1hQVFJfVU5LTk9XTl9TQ0hFTUUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWFBBVEhfQk9PTEVBTiIgbGluaz0ibGlieG1sMi14cGF0aC5odG1sI1hQQVRIX0JPT0xFQU4iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWFBBVEhfRU5DT0RJTkdfRVJST1IiIGxpbms9ImxpYnhtbDIteHBhdGguaHRtbCNYUEFUSF9FTkNPRElOR19FUlJPUiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYUEFUSF9FWFBSRVNTSU9OX09LIiBsaW5rPSJsaWJ4bWwyLXhwYXRoLmh0bWwjWFBBVEhfRVhQUkVTU0lPTl9PSyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYUEFUSF9FWFBSX0VSUk9SIiBsaW5rPSJsaWJ4bWwyLXhwYXRoLmh0bWwjWFBBVEhfRVhQUl9FUlJPUiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYUEFUSF9GT1JCSURfVkFSSUFCTEVfRVJST1IiIGxpbms9ImxpYnhtbDIteHBhdGguaHRtbCNYUEFUSF9GT1JCSURfVkFSSUFCTEVfRVJST1IiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWFBBVEhfSU5WQUxJRF9BUklUWSIgbGluaz0ibGlieG1sMi14cGF0aC5odG1sI1hQQVRIX0lOVkFMSURfQVJJVFkiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWFBBVEhfSU5WQUxJRF9DSEFSX0VSUk9SIiBsaW5rPSJsaWJ4bWwyLXhwYXRoLmh0bWwjWFBBVEhfSU5WQUxJRF9DSEFSX0VSUk9SIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhQQVRIX0lOVkFMSURfQ1RYVCIgbGluaz0ibGlieG1sMi14cGF0aC5odG1sI1hQQVRIX0lOVkFMSURfQ1RYVCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYUEFUSF9JTlZBTElEX0NUWFRfUE9TSVRJT04iIGxpbms9ImxpYnhtbDIteHBhdGguaHRtbCNYUEFUSF9JTlZBTElEX0NUWFRfUE9TSVRJT04iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWFBBVEhfSU5WQUxJRF9DVFhUX1NJWkUiIGxpbms9ImxpYnhtbDIteHBhdGguaHRtbCNYUEFUSF9JTlZBTElEX0NUWFRfU0laRSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYUEFUSF9JTlZBTElEX09QRVJBTkQiIGxpbms9ImxpYnhtbDIteHBhdGguaHRtbCNYUEFUSF9JTlZBTElEX09QRVJBTkQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWFBBVEhfSU5WQUxJRF9QUkVESUNBVEVfRVJST1IiIGxpbms9ImxpYnhtbDIteHBhdGguaHRtbCNYUEFUSF9JTlZBTElEX1BSRURJQ0FURV9FUlJPUiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYUEFUSF9JTlZBTElEX1RZUEUiIGxpbms9ImxpYnhtbDIteHBhdGguaHRtbCNYUEFUSF9JTlZBTElEX1RZUEUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWFBBVEhfTE9DQVRJT05TRVQiIGxpbms9ImxpYnhtbDIteHBhdGguaHRtbCNYUEFUSF9MT0NBVElPTlNFVCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYUEFUSF9NRU1PUllfRVJST1IiIGxpbms9ImxpYnhtbDIteHBhdGguaHRtbCNYUEFUSF9NRU1PUllfRVJST1IiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWFBBVEhfTk9ERVNFVCIgbGluaz0ibGlieG1sMi14cGF0aC5odG1sI1hQQVRIX05PREVTRVQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWFBBVEhfTlVNQkVSIiBsaW5rPSJsaWJ4bWwyLXhwYXRoLmh0bWwjWFBBVEhfTlVNQkVSIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhQQVRIX05VTUJFUl9FUlJPUiIgbGluaz0ibGlieG1sMi14cGF0aC5odG1sI1hQQVRIX05VTUJFUl9FUlJPUiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYUEFUSF9QT0lOVCIgbGluaz0ibGlieG1sMi14cGF0aC5odG1sI1hQQVRIX1BPSU5UIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhQQVRIX1JBTkdFIiBsaW5rPSJsaWJ4bWwyLXhwYXRoLmh0bWwjWFBBVEhfUkFOR0UiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWFBBVEhfU1RBQ0tfRVJST1IiIGxpbms9ImxpYnhtbDIteHBhdGguaHRtbCNYUEFUSF9TVEFDS19FUlJPUiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYUEFUSF9TVEFSVF9MSVRFUkFMX0VSUk9SIiBsaW5rPSJsaWJ4bWwyLXhwYXRoLmh0bWwjWFBBVEhfU1RBUlRfTElURVJBTF9FUlJPUiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYUEFUSF9TVFJJTkciIGxpbms9ImxpYnhtbDIteHBhdGguaHRtbCNYUEFUSF9TVFJJTkciLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWFBBVEhfVU5DTE9TRURfRVJST1IiIGxpbms9ImxpYnhtbDIteHBhdGguaHRtbCNYUEFUSF9VTkNMT1NFRF9FUlJPUiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYUEFUSF9VTkRFRklORUQiIGxpbms9ImxpYnhtbDIteHBhdGguaHRtbCNYUEFUSF9VTkRFRklORUQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWFBBVEhfVU5ERUZfUFJFRklYX0VSUk9SIiBsaW5rPSJsaWJ4bWwyLXhwYXRoLmh0bWwjWFBBVEhfVU5ERUZfUFJFRklYX0VSUk9SIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhQQVRIX1VOREVGX1ZBUklBQkxFX0VSUk9SIiBsaW5rPSJsaWJ4bWwyLXhwYXRoLmh0bWwjWFBBVEhfVU5ERUZfVkFSSUFCTEVfRVJST1IiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWFBBVEhfVU5GSU5JU0hFRF9MSVRFUkFMX0VSUk9SIiBsaW5rPSJsaWJ4bWwyLXhwYXRoLmh0bWwjWFBBVEhfVU5GSU5JU0hFRF9MSVRFUkFMX0VSUk9SIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhQQVRIX1VOS05PV05fRlVOQ19FUlJPUiIgbGluaz0ibGlieG1sMi14cGF0aC5odG1sI1hQQVRIX1VOS05PV05fRlVOQ19FUlJPUiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYUEFUSF9VU0VSUyIgbGluaz0ibGlieG1sMi14cGF0aC5odG1sI1hQQVRIX1VTRVJTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhQQVRIX1ZBUklBQkxFX1JFRl9FUlJPUiIgbGluaz0ibGlieG1sMi14cGF0aC5odG1sI1hQQVRIX1ZBUklBQkxFX1JFRl9FUlJPUiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYUEFUSF9YU0xUX1RSRUUiIGxpbms9ImxpYnhtbDIteHBhdGguaHRtbCNYUEFUSF9YU0xUX1RSRUUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWFBUUl9SRVNPVVJDRV9FUlJPUiIgbGluaz0ibGlieG1sMi14cGF0aC5odG1sI1hQVFJfUkVTT1VSQ0VfRVJST1IiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWFBUUl9TVUJfUkVTT1VSQ0VfRVJST1IiIGxpbms9ImxpYnhtbDIteHBhdGguaHRtbCNYUFRSX1NVQl9SRVNPVVJDRV9FUlJPUiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYUFRSX1NZTlRBWF9FUlJPUiIgbGluaz0ibGlieG1sMi14cGF0aC5odG1sI1hQVFJfU1lOVEFYX0VSUk9SIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9ImRvY2JEb2NQdHIiIGxpbms9ImxpYnhtbDItRE9DQnBhcnNlci5odG1sI2RvY2JEb2NQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iZG9jYlBhcnNlckN0eHQiIGxpbms9ImxpYnhtbDItRE9DQnBhcnNlci5odG1sI2RvY2JQYXJzZXJDdHh0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9ImRvY2JQYXJzZXJDdHh0UHRyIiBsaW5rPSJsaWJ4bWwyLURPQ0JwYXJzZXIuaHRtbCNkb2NiUGFyc2VyQ3R4dFB0ciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJkb2NiUGFyc2VySW5wdXQiIGxpbms9ImxpYnhtbDItRE9DQnBhcnNlci5odG1sI2RvY2JQYXJzZXJJbnB1dCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJkb2NiUGFyc2VySW5wdXRQdHIiIGxpbms9ImxpYnhtbDItRE9DQnBhcnNlci5odG1sI2RvY2JQYXJzZXJJbnB1dFB0ciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJkb2NiU0FYSGFuZGxlciIgbGluaz0ibGlieG1sMi1ET0NCcGFyc2VyLmh0bWwjZG9jYlNBWEhhbmRsZXIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iZG9jYlNBWEhhbmRsZXJQdHIiIGxpbms9ImxpYnhtbDItRE9DQnBhcnNlci5odG1sI2RvY2JTQVhIYW5kbGVyUHRyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9Imh0bWxEb2NQdHIiIGxpbms9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sI2h0bWxEb2NQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iaHRtbEVsZW1EZXNjUHRyIiBsaW5rPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNodG1sRWxlbURlc2NQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iaHRtbEVudGl0eURlc2NQdHIiIGxpbms9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sI2h0bWxFbnRpdHlEZXNjUHRyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9Imh0bWxOb2RlUHRyIiBsaW5rPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNodG1sTm9kZVB0ciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJodG1sUGFyc2VyQ3R4dCIgbGluaz0ibGlieG1sMi1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlckN0eHQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iaHRtbFBhcnNlckN0eHRQdHIiIGxpbms9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sI2h0bWxQYXJzZXJDdHh0UHRyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9Imh0bWxQYXJzZXJJbnB1dCIgbGluaz0ibGlieG1sMi1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlcklucHV0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9Imh0bWxQYXJzZXJJbnB1dFB0ciIgbGluaz0ibGlieG1sMi1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlcklucHV0UHRyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9Imh0bWxQYXJzZXJOb2RlSW5mbyIgbGluaz0ibGlieG1sMi1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlck5vZGVJbmZvIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9Imh0bWxQYXJzZXJPcHRpb24iIGxpbms9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sI2h0bWxQYXJzZXJPcHRpb24iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iaHRtbFNBWEhhbmRsZXIiIGxpbms9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sI2h0bWxTQVhIYW5kbGVyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9Imh0bWxTQVhIYW5kbGVyUHRyIiBsaW5rPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNodG1sU0FYSGFuZGxlclB0ciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJodG1sU3RhdHVzIiBsaW5rPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNodG1sU3RhdHVzIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhsaW5rQWN0dWF0ZSIgbGluaz0ibGlieG1sMi14bGluay5odG1sI3hsaW5rQWN0dWF0ZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bGlua0hSZWYiIGxpbms9ImxpYnhtbDIteGxpbmsuaHRtbCN4bGlua0hSZWYiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieGxpbmtIYW5kbGVyUHRyIiBsaW5rPSJsaWJ4bWwyLXhsaW5rLmh0bWwjeGxpbmtIYW5kbGVyUHRyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhsaW5rUm9sZSIgbGluaz0ibGlieG1sMi14bGluay5odG1sI3hsaW5rUm9sZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bGlua1Nob3ciIGxpbms9ImxpYnhtbDIteGxpbmsuaHRtbCN4bGlua1Nob3ciLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieGxpbmtUaXRsZSIgbGluaz0ibGlieG1sMi14bGluay5odG1sI3hsaW5rVGl0bGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieGxpbmtUeXBlIiBsaW5rPSJsaWJ4bWwyLXhsaW5rLmh0bWwjeGxpbmtUeXBlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEF0dHJQdHIiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI3htbEF0dHJQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQXR0cmlidXRlRGVmYXVsdCIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sQXR0cmlidXRlRGVmYXVsdCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxBdHRyaWJ1dGVQdHIiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI3htbEF0dHJpYnV0ZVB0ciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxBdHRyaWJ1dGVUYWJsZVB0ciIgbGluaz0ibGlieG1sMi12YWxpZC5odG1sI3htbEF0dHJpYnV0ZVRhYmxlUHRyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEF0dHJpYnV0ZVR5cGUiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI3htbEF0dHJpYnV0ZVR5cGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQXV0b21hdGFQdHIiIGxpbms9ImxpYnhtbDIteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVB0ciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxBdXRvbWF0YVN0YXRlUHRyIiBsaW5rPSJsaWJ4bWwyLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFTdGF0ZVB0ciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxCdWZQdHIiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI3htbEJ1ZlB0ciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxCdWZmZXJBbGxvY2F0aW9uU2NoZW1lIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxCdWZmZXJBbGxvY2F0aW9uU2NoZW1lIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEJ1ZmZlclB0ciIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sQnVmZmVyUHRyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEMxNE5Nb2RlIiBsaW5rPSJsaWJ4bWwyLWMxNG4uaHRtbCN4bWxDMTROTW9kZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxDYXRhbG9nQWxsb3ciIGxpbms9ImxpYnhtbDItY2F0YWxvZy5odG1sI3htbENhdGFsb2dBbGxvdyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxDYXRhbG9nUHJlZmVyIiBsaW5rPSJsaWJ4bWwyLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nUHJlZmVyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbENhdGFsb2dQdHIiIGxpbms9ImxpYnhtbDItY2F0YWxvZy5odG1sI3htbENhdGFsb2dQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQ2hMUmFuZ2VQdHIiIGxpbms9ImxpYnhtbDItY2h2YWxpZC5odG1sI3htbENoTFJhbmdlUHRyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbENoUmFuZ2VHcm91cFB0ciIgbGluaz0ibGlieG1sMi1jaHZhbGlkLmh0bWwjeG1sQ2hSYW5nZUdyb3VwUHRyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbENoU1JhbmdlUHRyIiBsaW5rPSJsaWJ4bWwyLWNodmFsaWQuaHRtbCN4bWxDaFNSYW5nZVB0ciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxDaGFyIiBsaW5rPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoYXIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQ2hhckVuY29kaW5nIiBsaW5rPSJsaWJ4bWwyLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIiIGxpbms9ImxpYnhtbDItZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbERPTVdyYXBDdHh0UHRyIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxET01XcmFwQ3R4dFB0ciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxEaWN0UHRyIiBsaW5rPSJsaWJ4bWwyLWRpY3QuaHRtbCN4bWxEaWN0UHRyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbERvY1Byb3BlcnRpZXMiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1Byb3BlcnRpZXMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sRG9jUHRyIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sRHRkUHRyIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEdGRQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sRWxlbWVudENvbnRlbnRPY2N1ciIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sRWxlbWVudENvbnRlbnRPY2N1ciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxFbGVtZW50Q29udGVudFB0ciIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sRWxlbWVudENvbnRlbnRQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sRWxlbWVudENvbnRlbnRUeXBlIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxFbGVtZW50Q29udGVudFR5cGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sRWxlbWVudFB0ciIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sRWxlbWVudFB0ciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxFbGVtZW50VGFibGVQdHIiIGxpbms9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxFbGVtZW50VGFibGVQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sRWxlbWVudFR5cGUiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI3htbEVsZW1lbnRUeXBlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEVsZW1lbnRUeXBlVmFsIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxFbGVtZW50VHlwZVZhbCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxFbnRpdGllc1RhYmxlUHRyIiBsaW5rPSJsaWJ4bWwyLWVudGl0aWVzLmh0bWwjeG1sRW50aXRpZXNUYWJsZVB0ciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxFbnRpdHlQdHIiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI3htbEVudGl0eVB0ciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxFbnRpdHlUeXBlIiBsaW5rPSJsaWJ4bWwyLWVudGl0aWVzLmh0bWwjeG1sRW50aXR5VHlwZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxFbnVtZXJhdGlvblB0ciIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sRW51bWVyYXRpb25QdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sRXJyb3JEb21haW4iIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCN4bWxFcnJvckRvbWFpbiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxFcnJvckxldmVsIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjeG1sRXJyb3JMZXZlbCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxFcnJvclB0ciIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI3htbEVycm9yUHRyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEV4cEN0eHRQdHIiIGxpbms9ImxpYnhtbDIteG1scmVnZXhwLmh0bWwjeG1sRXhwQ3R4dFB0ciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxFeHBOb2RlUHRyIiBsaW5rPSJsaWJ4bWwyLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5vZGVQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sRXhwTm9kZVR5cGUiIGxpbms9ImxpYnhtbDIteG1scmVnZXhwLmh0bWwjeG1sRXhwTm9kZVR5cGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sRmVhdHVyZSIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCN4bWxGZWF0dXJlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEdsb2JhbFN0YXRlUHRyIiBsaW5rPSJsaWJ4bWwyLWdsb2JhbHMuaHRtbCN4bWxHbG9iYWxTdGF0ZVB0ciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxIYXNoVGFibGVQdHIiIGxpbms9ImxpYnhtbDItaGFzaC5odG1sI3htbEhhc2hUYWJsZVB0ciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxJRFB0ciIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sSURQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sSURUYWJsZVB0ciIgbGluaz0ibGlieG1sMi12YWxpZC5odG1sI3htbElEVGFibGVQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTGlua1B0ciIgbGluaz0ibGlieG1sMi1saXN0Lmh0bWwjeG1sTGlua1B0ciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxMaXN0UHRyIiBsaW5rPSJsaWJ4bWwyLWxpc3QuaHRtbCN4bWxMaXN0UHRyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbExvY2F0aW9uU2V0UHRyIiBsaW5rPSJsaWJ4bWwyLXhwb2ludGVyLmh0bWwjeG1sTG9jYXRpb25TZXRQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTW9kdWxlT3B0aW9uIiBsaW5rPSJsaWJ4bWwyLXhtbG1vZHVsZS5odG1sI3htbE1vZHVsZU9wdGlvbiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxNb2R1bGVQdHIiIGxpbms9ImxpYnhtbDIteG1sbW9kdWxlLmh0bWwjeG1sTW9kdWxlUHRyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE11dGV4UHRyIiBsaW5rPSJsaWJ4bWwyLXRocmVhZHMuaHRtbCN4bWxNdXRleFB0ciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxOb2RlUHRyIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlUHRyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE5vZGVTZXRQdHIiIGxpbms9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE5vdGF0aW9uUHRyIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb3RhdGlvblB0ciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxOb3RhdGlvblRhYmxlUHRyIiBsaW5rPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sTm90YXRpb25UYWJsZVB0ciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxOc1B0ciIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sTnNQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTnNUeXBlIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOc1R5cGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sT3V0cHV0QnVmZmVyUHRyIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxPdXRwdXRCdWZmZXJQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sUGFyc2VyQ3R4dFB0ciIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxQYXJzZXJFcnJvcnMiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCN4bWxQYXJzZXJFcnJvcnMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sUGFyc2VySW5wdXRCdWZmZXJQdHIiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyUHRyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFBhcnNlcklucHV0UHRyIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dFB0ciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxQYXJzZXJJbnB1dFN0YXRlIiBsaW5rPSJsaWJ4bWwyLXBhcnNlci5odG1sI3htbFBhcnNlcklucHV0U3RhdGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sUGFyc2VyTW9kZSIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCN4bWxQYXJzZXJNb2RlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFBhcnNlck5vZGVJbmZvUHRyIiBsaW5rPSJsaWJ4bWwyLXBhcnNlci5odG1sI3htbFBhcnNlck5vZGVJbmZvUHRyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFBhcnNlck5vZGVJbmZvU2VxUHRyIiBsaW5rPSJsaWJ4bWwyLXBhcnNlci5odG1sI3htbFBhcnNlck5vZGVJbmZvU2VxUHRyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFBhcnNlck9wdGlvbiIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCN4bWxQYXJzZXJPcHRpb24iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sUGFyc2VyUHJvcGVydGllcyIgbGluaz0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxQYXJzZXJQcm9wZXJ0aWVzIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFBhcnNlclNldmVyaXRpZXMiIGxpbms9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sUGFyc2VyU2V2ZXJpdGllcyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxQYXR0ZXJuRmxhZ3MiIGxpbms9ImxpYnhtbDItcGF0dGVybi5odG1sI3htbFBhdHRlcm5GbGFncyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxQYXR0ZXJuUHRyIiBsaW5rPSJsaWJ4bWwyLXBhdHRlcm4uaHRtbCN4bWxQYXR0ZXJuUHRyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFJNdXRleFB0ciIgbGluaz0ibGlieG1sMi10aHJlYWRzLmh0bWwjeG1sUk11dGV4UHRyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFJlYWRlclR5cGVzIiBsaW5rPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFJlYWRlclR5cGVzIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFJlZlB0ciIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sUmVmUHRyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFJlZlRhYmxlUHRyIiBsaW5rPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sUmVmVGFibGVQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sUmVnRXhlY0N0eHRQdHIiIGxpbms9ImxpYnhtbDIteG1scmVnZXhwLmh0bWwjeG1sUmVnRXhlY0N0eHRQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sUmVnZXhwUHRyIiBsaW5rPSJsaWJ4bWwyLXhtbHJlZ2V4cC5odG1sI3htbFJlZ2V4cFB0ciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxSZWxheE5HUGFyc2VyQ3R4dFB0ciIgbGluaz0ibGlieG1sMi1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1BhcnNlckN0eHRQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sUmVsYXhOR1BhcnNlckZsYWciIGxpbms9ImxpYnhtbDItcmVsYXhuZy5odG1sI3htbFJlbGF4TkdQYXJzZXJGbGFnIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFJlbGF4TkdQdHIiIGxpbms9ImxpYnhtbDItcmVsYXhuZy5odG1sI3htbFJlbGF4TkdQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sUmVsYXhOR1ZhbGlkQ3R4dFB0ciIgbGluaz0ibGlieG1sMi1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0ciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxSZWxheE5HVmFsaWRFcnIiIGxpbms9ImxpYnhtbDItcmVsYXhuZy5odG1sI3htbFJlbGF4TkdWYWxpZEVyciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTQVhIYW5kbGVyUHRyIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxTQVhIYW5kbGVyUHRyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNBWEhhbmRsZXJWMVB0ciIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCN4bWxTQVhIYW5kbGVyVjFQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU0FYTG9jYXRvclB0ciIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sU0FYTG9jYXRvclB0ciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTYXZlQ3R4dFB0ciIgbGluaz0ibGlieG1sMi14bWxzYXZlLmh0bWwjeG1sU2F2ZUN0eHRQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2F2ZU9wdGlvbiIgbGluaz0ibGlieG1sMi14bWxzYXZlLmh0bWwjeG1sU2F2ZU9wdGlvbiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTY2hlbWFBbm5vdFB0ciIgbGluaz0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hQW5ub3RQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2NoZW1hQXR0cmlidXRlR3JvdXBQdHIiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYUF0dHJpYnV0ZUdyb3VwUHRyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNjaGVtYUF0dHJpYnV0ZUxpbmtQdHIiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYUF0dHJpYnV0ZUxpbmtQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2NoZW1hQXR0cmlidXRlUHRyIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFBdHRyaWJ1dGVQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2NoZW1hQ29udGVudFR5cGUiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYUNvbnRlbnRUeXBlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNjaGVtYUVsZW1lbnRQdHIiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYUVsZW1lbnRQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2NoZW1hRmFjZXRMaW5rUHRyIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFGYWNldExpbmtQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2NoZW1hRmFjZXRQdHIiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYUZhY2V0UHRyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNjaGVtYU5vdGF0aW9uUHRyIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFOb3RhdGlvblB0ciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIiBsaW5rPSJsaWJ4bWwyLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNjaGVtYVB0ciIgbGluaz0ibGlieG1sMi14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hUHRyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNjaGVtYVNBWFBsdWdQdHIiIGxpbms9ImxpYnhtbDIteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVNBWFBsdWdQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2NoZW1hVHlwZUxpbmtQdHIiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVR5cGVMaW5rUHRyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNjaGVtYVR5cGVQdHIiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVR5cGVQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2NoZW1hVHlwZVR5cGUiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVR5cGVUeXBlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNjaGVtYVZhbFB0ciIgbGluaz0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVmFsUHRyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNjaGVtYVZhbFR5cGUiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVZhbFR5cGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2NoZW1hVmFsaWRDdHh0UHRyIiBsaW5rPSJsaWJ4bWwyLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZEN0eHRQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2NoZW1hVmFsaWRFcnJvciIgbGluaz0ibGlieG1sMi14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRFcnJvciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTY2hlbWFWYWxpZE9wdGlvbiIgbGluaz0ibGlieG1sMi14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRPcHRpb24iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2NoZW1hV2hpdGVzcGFjZVZhbHVlVHlwZSIgbGluaz0ibGlieG1sMi14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFXaGl0ZXNwYWNlVmFsdWVUeXBlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNjaGVtYVdpbGRjYXJkTnNQdHIiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVdpbGRjYXJkTnNQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2NoZW1hV2lsZGNhcmRQdHIiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVdpbGRjYXJkUHRyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNjaGVtYXRyb25QYXJzZXJDdHh0UHRyIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uUGFyc2VyQ3R4dFB0ciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTY2hlbWF0cm9uUHRyIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uUHRyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNjaGVtYXRyb25WYWxpZEN0eHRQdHIiIGxpbms9ImxpYnhtbDItc2NoZW1hdHJvbi5odG1sI3htbFNjaGVtYXRyb25WYWxpZEN0eHRQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2NoZW1hdHJvblZhbGlkT3B0aW9ucyIgbGluaz0ibGlieG1sMi1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvblZhbGlkT3B0aW9ucyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTaGVsbEN0eHRQdHIiIGxpbms9ImxpYnhtbDItZGVidWdYTUwuaHRtbCN4bWxTaGVsbEN0eHRQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU3RyZWFtQ3R4dFB0ciIgbGluaz0ibGlieG1sMi1wYXR0ZXJuLmh0bWwjeG1sU3RyZWFtQ3R4dFB0ciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUZXh0UmVhZGVyTG9jYXRvclB0ciIgbGluaz0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyTG9jYXRvclB0ciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUZXh0UmVhZGVyTW9kZSIgbGluaz0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyTW9kZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUZXh0UmVhZGVyUHRyIiBsaW5rPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVGV4dFdyaXRlclB0ciIgbGluaz0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVSSVB0ciIgbGluaz0ibGlieG1sMi11cmkuaHRtbCN4bWxVUklQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVmFsaWRDdHh0UHRyIiBsaW5rPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sVmFsaWRDdHh0UHRyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFZhbGlkU3RhdGVQdHIiIGxpbms9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxWYWxpZFN0YXRlUHRyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhJbmNsdWRlQ3R4dFB0ciIgbGluaz0ibGlieG1sMi14aW5jbHVkZS5odG1sI3htbFhJbmNsdWRlQ3R4dFB0ciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUGF0aEF4aXNQdHIiIGxpbms9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aEF4aXNQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhDb21wRXhwclB0ciIgbGluaz0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoQ29tcEV4cHJQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhDb250ZXh0UHRyIiBsaW5rPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0UHRyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoRXJyb3IiIGxpbms9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aEVycm9yIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoRnVuY1B0ciIgbGluaz0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoRnVuY1B0ciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUGF0aE9iamVjdFB0ciIgbGluaz0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoT2JqZWN0VHlwZSIgbGluaz0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0VHlwZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiIGxpbms9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhUeXBlUHRyIiBsaW5rPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhUeXBlUHRyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoVmFyaWFibGVQdHIiIGxpbms9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aFZhcmlhYmxlUHRyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9Imh0bWxFbGVtRGVzYyIgbGluaz0ibGlieG1sMi1IVE1McGFyc2VyLmh0bWwjaHRtbEVsZW1EZXNjIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9Imh0bWxFbnRpdHlEZXNjIiBsaW5rPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNodG1sRW50aXR5RGVzYyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ1Y29udl90IiBsaW5rPSJsaWJ4bWwyLWVuY29kaW5nLmh0bWwjdWNvbnZfdCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bGlua0hhbmRsZXIiIGxpbms9ImxpYnhtbDIteGxpbmsuaHRtbCN4bGlua0hhbmRsZXIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQXR0ciIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sQXR0ciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxBdHRyaWJ1dGUiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI3htbEF0dHJpYnV0ZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxBdHRyaWJ1dGVUYWJsZSIgbGluaz0ibGlieG1sMi12YWxpZC5odG1sI3htbEF0dHJpYnV0ZVRhYmxlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEF1dG9tYXRhIiBsaW5rPSJsaWJ4bWwyLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGEiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQXV0b21hdGFTdGF0ZSIgbGluaz0ibGlieG1sMi14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhU3RhdGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQnVmIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxCdWYiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQnVmZmVyIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxCdWZmZXIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQ2F0YWxvZyIgbGluaz0ibGlieG1sMi1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxDaExSYW5nZSIgbGluaz0ibGlieG1sMi1jaHZhbGlkLmh0bWwjeG1sQ2hMUmFuZ2UiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQ2hSYW5nZUdyb3VwIiBsaW5rPSJsaWJ4bWwyLWNodmFsaWQuaHRtbCN4bWxDaFJhbmdlR3JvdXAiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQ2hTUmFuZ2UiIGxpbms9ImxpYnhtbDItY2h2YWxpZC5odG1sI3htbENoU1JhbmdlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbENoYXJFbmNvZGluZ0hhbmRsZXIiIGxpbms9ImxpYnhtbDItZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmdIYW5kbGVyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbERPTVdyYXBDdHh0IiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxET01XcmFwQ3R4dCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxEaWN0IiBsaW5rPSJsaWJ4bWwyLWRpY3QuaHRtbCN4bWxEaWN0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbERvYyIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbER0ZCIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sRHRkIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEVsZW1lbnQiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI3htbEVsZW1lbnQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sRWxlbWVudENvbnRlbnQiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI3htbEVsZW1lbnRDb250ZW50Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEVsZW1lbnRUYWJsZSIgbGluaz0ibGlieG1sMi12YWxpZC5odG1sI3htbEVsZW1lbnRUYWJsZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxFbnRpdGllc1RhYmxlIiBsaW5rPSJsaWJ4bWwyLWVudGl0aWVzLmh0bWwjeG1sRW50aXRpZXNUYWJsZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxFbnRpdHkiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI3htbEVudGl0eSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxFbnVtZXJhdGlvbiIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sRW51bWVyYXRpb24iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sRXJyb3IiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCN4bWxFcnJvciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxFeHBDdHh0IiBsaW5rPSJsaWJ4bWwyLXhtbHJlZ2V4cC5odG1sI3htbEV4cEN0eHQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sRXhwTm9kZSIgbGluaz0ibGlieG1sMi14bWxyZWdleHAuaHRtbCN4bWxFeHBOb2RlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEdsb2JhbFN0YXRlIiBsaW5rPSJsaWJ4bWwyLWdsb2JhbHMuaHRtbCN4bWxHbG9iYWxTdGF0ZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxIYXNoVGFibGUiIGxpbms9ImxpYnhtbDItaGFzaC5odG1sI3htbEhhc2hUYWJsZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxJRCIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sSUQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sSURUYWJsZSIgbGluaz0ibGlieG1sMi12YWxpZC5odG1sI3htbElEVGFibGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTGluayIgbGluaz0ibGlieG1sMi1saXN0Lmh0bWwjeG1sTGluayIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxMaXN0IiBsaW5rPSJsaWJ4bWwyLWxpc3QuaHRtbCN4bWxMaXN0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbExvY2F0aW9uU2V0IiBsaW5rPSJsaWJ4bWwyLXhwb2ludGVyLmh0bWwjeG1sTG9jYXRpb25TZXQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTW9kdWxlIiBsaW5rPSJsaWJ4bWwyLXhtbG1vZHVsZS5odG1sI3htbE1vZHVsZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxNdXRleCIgbGluaz0ibGlieG1sMi10aHJlYWRzLmh0bWwjeG1sTXV0ZXgiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTm9kZSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxOb2RlU2V0IiBsaW5rPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sTm9kZVNldCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxOb3RhdGlvbiIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm90YXRpb24iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTm90YXRpb25UYWJsZSIgbGluaz0ibGlieG1sMi12YWxpZC5odG1sI3htbE5vdGF0aW9uVGFibGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTnMiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI3htbE5zIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE91dHB1dEJ1ZmZlciIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sT3V0cHV0QnVmZmVyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFBhcnNlckN0eHQiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlckN0eHQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sUGFyc2VySW5wdXQiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI3htbFBhcnNlcklucHV0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFBhcnNlcklucHV0QnVmZmVyIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxQYXJzZXJOb2RlSW5mbyIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCN4bWxQYXJzZXJOb2RlSW5mbyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxQYXJzZXJOb2RlSW5mb1NlcSIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCN4bWxQYXJzZXJOb2RlSW5mb1NlcSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxQYXR0ZXJuIiBsaW5rPSJsaWJ4bWwyLXBhdHRlcm4uaHRtbCN4bWxQYXR0ZXJuIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFJNdXRleCIgbGluaz0ibGlieG1sMi10aHJlYWRzLmh0bWwjeG1sUk11dGV4Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFJlZiIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sUmVmIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFJlZlRhYmxlIiBsaW5rPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sUmVmVGFibGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sUmVnRXhlY0N0eHQiIGxpbms9ImxpYnhtbDIteG1scmVnZXhwLmh0bWwjeG1sUmVnRXhlY0N0eHQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sUmVnZXhwIiBsaW5rPSJsaWJ4bWwyLXhtbHJlZ2V4cC5odG1sI3htbFJlZ2V4cCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxSZWxheE5HIiBsaW5rPSJsaWJ4bWwyLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFJlbGF4TkdQYXJzZXJDdHh0IiBsaW5rPSJsaWJ4bWwyLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HUGFyc2VyQ3R4dCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxSZWxheE5HVmFsaWRDdHh0IiBsaW5rPSJsaWJ4bWwyLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HVmFsaWRDdHh0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNBWEhhbmRsZXIiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI3htbFNBWEhhbmRsZXIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU0FYSGFuZGxlclYxIiBsaW5rPSJsaWJ4bWwyLXBhcnNlci5odG1sI3htbFNBWEhhbmRsZXJWMSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTQVhMb2NhdG9yIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxTQVhMb2NhdG9yIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNhdmVDdHh0IiBsaW5rPSJsaWJ4bWwyLXhtbHNhdmUuaHRtbCN4bWxTYXZlQ3R4dCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTY2hlbWEiIGxpbms9ImxpYnhtbDIteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTY2hlbWFBbm5vdCIgbGluaz0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hQW5ub3QiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2NoZW1hQXR0cmlidXRlIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFBdHRyaWJ1dGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2NoZW1hQXR0cmlidXRlR3JvdXAiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYUF0dHJpYnV0ZUdyb3VwIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNjaGVtYUF0dHJpYnV0ZUxpbmsiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYUF0dHJpYnV0ZUxpbmsiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2NoZW1hRWxlbWVudCIgbGluaz0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hRWxlbWVudCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTY2hlbWFGYWNldCIgbGluaz0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hRmFjZXQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2NoZW1hRmFjZXRMaW5rIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFGYWNldExpbmsiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2NoZW1hTm90YXRpb24iIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYU5vdGF0aW9uIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNjaGVtYVBhcnNlckN0eHQiIGxpbms9ImxpYnhtbDIteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVBhcnNlckN0eHQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2NoZW1hU0FYUGx1Z1N0cnVjdCIgbGluaz0ibGlieG1sMi14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hU0FYUGx1Z1N0cnVjdCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTY2hlbWFUeXBlIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFUeXBlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNjaGVtYVR5cGVMaW5rIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFUeXBlTGluayIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTY2hlbWFWYWwiIGxpbms9ImxpYnhtbDItc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVZhbCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTY2hlbWFWYWxpZEN0eHQiIGxpbms9ImxpYnhtbDIteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkQ3R4dCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTY2hlbWFXaWxkY2FyZCIgbGluaz0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hV2lsZGNhcmQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2NoZW1hV2lsZGNhcmROcyIgbGluaz0ibGlieG1sMi1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hV2lsZGNhcmROcyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTY2hlbWF0cm9uIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNjaGVtYXRyb25QYXJzZXJDdHh0IiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uUGFyc2VyQ3R4dCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTY2hlbWF0cm9uVmFsaWRDdHh0IiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uVmFsaWRDdHh0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNoZWxsQ3R4dCIgbGluaz0ibGlieG1sMi1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsQ3R4dCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTdHJlYW1DdHh0IiBsaW5rPSJsaWJ4bWwyLXBhdHRlcm4uaHRtbCN4bWxTdHJlYW1DdHh0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFRleHRSZWFkZXIiIGxpbms9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUZXh0V3JpdGVyIiBsaW5rPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVVJJIiBsaW5rPSJsaWJ4bWwyLXVyaS5odG1sI3htbFVSSSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxWYWxpZEN0eHQiIGxpbms9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxWYWxpZEN0eHQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVmFsaWRTdGF0ZSIgbGluaz0ibGlieG1sMi12YWxpZC5odG1sI3htbFZhbGlkU3RhdGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWEluY2x1ZGVDdHh0IiBsaW5rPSJsaWJ4bWwyLXhpbmNsdWRlLmh0bWwjeG1sWEluY2x1ZGVDdHh0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoQXhpcyIgbGluaz0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoQXhpcyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUGF0aENvbXBFeHByIiBsaW5rPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhDb21wRXhwciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUGF0aENvbnRleHQiIGxpbms9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhGdW5jdCIgbGluaz0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoRnVuY3QiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhPYmplY3QiIGxpbms9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUGF0aFBhcnNlckNvbnRleHQiIGxpbms9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhUeXBlIiBsaW5rPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhUeXBlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoVmFyaWFibGUiIGxpbms9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aFZhcmlhYmxlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9ImF0dHJpYnV0ZURlY2xTQVhGdW5jIiBsaW5rPSJsaWJ4bWwyLXBhcnNlci5odG1sI2F0dHJpYnV0ZURlY2xTQVhGdW5jIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9ImF0dHJpYnV0ZVNBWEZ1bmMiIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjYXR0cmlidXRlU0FYRnVuYyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJjZGF0YUJsb2NrU0FYRnVuYyIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCNjZGF0YUJsb2NrU0FYRnVuYyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJjaGFyYWN0ZXJzU0FYRnVuYyIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCNjaGFyYWN0ZXJzU0FYRnVuYyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJjb21tZW50U0FYRnVuYyIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCNjb21tZW50U0FYRnVuYyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJlbGVtZW50RGVjbFNBWEZ1bmMiIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjZWxlbWVudERlY2xTQVhGdW5jIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9ImVuZERvY3VtZW50U0FYRnVuYyIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCNlbmREb2N1bWVudFNBWEZ1bmMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iZW5kRWxlbWVudE5zU0FYMkZ1bmMiIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjZW5kRWxlbWVudE5zU0FYMkZ1bmMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iZW5kRWxlbWVudFNBWEZ1bmMiIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjZW5kRWxlbWVudFNBWEZ1bmMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iZW50aXR5RGVjbFNBWEZ1bmMiIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjZW50aXR5RGVjbFNBWEZ1bmMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iZXJyb3JTQVhGdW5jIiBsaW5rPSJsaWJ4bWwyLXBhcnNlci5odG1sI2Vycm9yU0FYRnVuYyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJleHRlcm5hbFN1YnNldFNBWEZ1bmMiIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjZXh0ZXJuYWxTdWJzZXRTQVhGdW5jIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9ImZhdGFsRXJyb3JTQVhGdW5jIiBsaW5rPSJsaWJ4bWwyLXBhcnNlci5odG1sI2ZhdGFsRXJyb3JTQVhGdW5jIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9ImZ0cERhdGFDYWxsYmFjayIgbGluaz0ibGlieG1sMi1uYW5vZnRwLmh0bWwjZnRwRGF0YUNhbGxiYWNrIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9ImZ0cExpc3RDYWxsYmFjayIgbGluaz0ibGlieG1sMi1uYW5vZnRwLmh0bWwjZnRwTGlzdENhbGxiYWNrIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9ImdldEVudGl0eVNBWEZ1bmMiIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjZ2V0RW50aXR5U0FYRnVuYyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJnZXRQYXJhbWV0ZXJFbnRpdHlTQVhGdW5jIiBsaW5rPSJsaWJ4bWwyLXBhcnNlci5odG1sI2dldFBhcmFtZXRlckVudGl0eVNBWEZ1bmMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iaGFzRXh0ZXJuYWxTdWJzZXRTQVhGdW5jIiBsaW5rPSJsaWJ4bWwyLXBhcnNlci5odG1sI2hhc0V4dGVybmFsU3Vic2V0U0FYRnVuYyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJoYXNJbnRlcm5hbFN1YnNldFNBWEZ1bmMiIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjaGFzSW50ZXJuYWxTdWJzZXRTQVhGdW5jIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9Imlnbm9yYWJsZVdoaXRlc3BhY2VTQVhGdW5jIiBsaW5rPSJsaWJ4bWwyLXBhcnNlci5odG1sI2lnbm9yYWJsZVdoaXRlc3BhY2VTQVhGdW5jIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9ImludGVybmFsU3Vic2V0U0FYRnVuYyIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCNpbnRlcm5hbFN1YnNldFNBWEZ1bmMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iaXNTdGFuZGFsb25lU0FYRnVuYyIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCNpc1N0YW5kYWxvbmVTQVhGdW5jIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9Im5vdGF0aW9uRGVjbFNBWEZ1bmMiIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjbm90YXRpb25EZWNsU0FYRnVuYyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJwcm9jZXNzaW5nSW5zdHJ1Y3Rpb25TQVhGdW5jIiBsaW5rPSJsaWJ4bWwyLXBhcnNlci5odG1sI3Byb2Nlc3NpbmdJbnN0cnVjdGlvblNBWEZ1bmMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0icmVmZXJlbmNlU0FYRnVuYyIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCNyZWZlcmVuY2VTQVhGdW5jIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InJlc29sdmVFbnRpdHlTQVhGdW5jIiBsaW5rPSJsaWJ4bWwyLXBhcnNlci5odG1sI3Jlc29sdmVFbnRpdHlTQVhGdW5jIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InNldERvY3VtZW50TG9jYXRvclNBWEZ1bmMiIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjc2V0RG9jdW1lbnRMb2NhdG9yU0FYRnVuYyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJzdGFydERvY3VtZW50U0FYRnVuYyIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCNzdGFydERvY3VtZW50U0FYRnVuYyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJzdGFydEVsZW1lbnROc1NBWDJGdW5jIiBsaW5rPSJsaWJ4bWwyLXBhcnNlci5odG1sI3N0YXJ0RWxlbWVudE5zU0FYMkZ1bmMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ic3RhcnRFbGVtZW50U0FYRnVuYyIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCNzdGFydEVsZW1lbnRTQVhGdW5jIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InVucGFyc2VkRW50aXR5RGVjbFNBWEZ1bmMiIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjdW5wYXJzZWRFbnRpdHlEZWNsU0FYRnVuYyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ3YXJuaW5nU0FYRnVuYyIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCN3YXJuaW5nU0FYRnVuYyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bGlua0V4dGVuZGVkTGlua0Z1bmsiIGxpbms9ImxpYnhtbDIteGxpbmsuaHRtbCN4bGlua0V4dGVuZGVkTGlua0Z1bmsiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieGxpbmtFeHRlbmRlZExpbmtTZXRGdW5rIiBsaW5rPSJsaWJ4bWwyLXhsaW5rLmh0bWwjeGxpbmtFeHRlbmRlZExpbmtTZXRGdW5rIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhsaW5rTm9kZURldGVjdEZ1bmMiIGxpbms9ImxpYnhtbDIteGxpbmsuaHRtbCN4bGlua05vZGVEZXRlY3RGdW5jIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhsaW5rU2ltcGxlTGlua0Z1bmsiIGxpbms9ImxpYnhtbDIteGxpbmsuaHRtbCN4bGlua1NpbXBsZUxpbmtGdW5rIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEMxNE5Jc1Zpc2libGVDYWxsYmFjayIgbGluaz0ibGlieG1sMi1jMTRuLmh0bWwjeG1sQzE0TklzVmlzaWJsZUNhbGxiYWNrIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbENoYXJFbmNvZGluZ0lucHV0RnVuYyIgbGluaz0ibGlieG1sMi1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZ0lucHV0RnVuYyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxDaGFyRW5jb2RpbmdPdXRwdXRGdW5jIiBsaW5rPSJsaWJ4bWwyLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxET01XcmFwQWNxdWlyZU5zRnVuY3Rpb24iIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI3htbERPTVdyYXBBY3F1aXJlTnNGdW5jdGlvbiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxEZXJlZ2lzdGVyTm9kZUZ1bmMiIGxpbms9ImxpYnhtbDItZ2xvYmFscy5odG1sI3htbERlcmVnaXN0ZXJOb2RlRnVuYyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxFbnRpdHlSZWZlcmVuY2VGdW5jIiBsaW5rPSJsaWJ4bWwyLXBhcnNlckludGVybmFscy5odG1sI3htbEVudGl0eVJlZmVyZW5jZUZ1bmMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sRXh0ZXJuYWxFbnRpdHlMb2FkZXIiIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjeG1sRXh0ZXJuYWxFbnRpdHlMb2FkZXIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sRnJlZUZ1bmMiIGxpbms9ImxpYnhtbDIteG1sbWVtb3J5Lmh0bWwjeG1sRnJlZUZ1bmMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sR2VuZXJpY0Vycm9yRnVuYyIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI3htbEdlbmVyaWNFcnJvckZ1bmMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sSGFzaENvcGllciIgbGluaz0ibGlieG1sMi1oYXNoLmh0bWwjeG1sSGFzaENvcGllciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxIYXNoRGVhbGxvY2F0b3IiIGxpbms9ImxpYnhtbDItaGFzaC5odG1sI3htbEhhc2hEZWFsbG9jYXRvciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxIYXNoU2Nhbm5lciIgbGluaz0ibGlieG1sMi1oYXNoLmh0bWwjeG1sSGFzaFNjYW5uZXIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sSGFzaFNjYW5uZXJGdWxsIiBsaW5rPSJsaWJ4bWwyLWhhc2guaHRtbCN4bWxIYXNoU2Nhbm5lckZ1bGwiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sSW5wdXRDbG9zZUNhbGxiYWNrIiBsaW5rPSJsaWJ4bWwyLXhtbElPLmh0bWwjeG1sSW5wdXRDbG9zZUNhbGxiYWNrIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbElucHV0TWF0Y2hDYWxsYmFjayIgbGluaz0ibGlieG1sMi14bWxJTy5odG1sI3htbElucHV0TWF0Y2hDYWxsYmFjayIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxJbnB1dE9wZW5DYWxsYmFjayIgbGluaz0ibGlieG1sMi14bWxJTy5odG1sI3htbElucHV0T3BlbkNhbGxiYWNrIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbElucHV0UmVhZENhbGxiYWNrIiBsaW5rPSJsaWJ4bWwyLXhtbElPLmh0bWwjeG1sSW5wdXRSZWFkQ2FsbGJhY2siLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTGlzdERhdGFDb21wYXJlIiBsaW5rPSJsaWJ4bWwyLWxpc3QuaHRtbCN4bWxMaXN0RGF0YUNvbXBhcmUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTGlzdERlYWxsb2NhdG9yIiBsaW5rPSJsaWJ4bWwyLWxpc3QuaHRtbCN4bWxMaXN0RGVhbGxvY2F0b3IiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTGlzdFdhbGtlciIgbGluaz0ibGlieG1sMi1saXN0Lmh0bWwjeG1sTGlzdFdhbGtlciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxNYWxsb2NGdW5jIiBsaW5rPSJsaWJ4bWwyLXhtbG1lbW9yeS5odG1sI3htbE1hbGxvY0Z1bmMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jIiBsaW5rPSJsaWJ4bWwyLWdsb2JhbHMuaHRtbCN4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sT3V0cHV0Q2xvc2VDYWxsYmFjayIgbGluaz0ibGlieG1sMi14bWxJTy5odG1sI3htbE91dHB1dENsb3NlQ2FsbGJhY2siLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sT3V0cHV0TWF0Y2hDYWxsYmFjayIgbGluaz0ibGlieG1sMi14bWxJTy5odG1sI3htbE91dHB1dE1hdGNoQ2FsbGJhY2siLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sT3V0cHV0T3BlbkNhbGxiYWNrIiBsaW5rPSJsaWJ4bWwyLXhtbElPLmh0bWwjeG1sT3V0cHV0T3BlbkNhbGxiYWNrIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE91dHB1dFdyaXRlQ2FsbGJhY2siIGxpbms9ImxpYnhtbDIteG1sSU8uaHRtbCN4bWxPdXRwdXRXcml0ZUNhbGxiYWNrIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jIiBsaW5rPSJsaWJ4bWwyLWdsb2JhbHMuaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxQYXJzZXJJbnB1dERlYWxsb2NhdGUiIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjeG1sUGFyc2VySW5wdXREZWFsbG9jYXRlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFJlYWxsb2NGdW5jIiBsaW5rPSJsaWJ4bWwyLXhtbG1lbW9yeS5odG1sI3htbFJlYWxsb2NGdW5jIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFJlZ0V4ZWNDYWxsYmFja3MiIGxpbms9ImxpYnhtbDIteG1scmVnZXhwLmh0bWwjeG1sUmVnRXhlY0NhbGxiYWNrcyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxSZWdpc3Rlck5vZGVGdW5jIiBsaW5rPSJsaWJ4bWwyLWdsb2JhbHMuaHRtbCN4bWxSZWdpc3Rlck5vZGVGdW5jIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFJlbGF4TkdWYWxpZGl0eUVycm9yRnVuYyIgbGluaz0ibGlieG1sMi1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1ZhbGlkaXR5RXJyb3JGdW5jIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFJlbGF4TkdWYWxpZGl0eVdhcm5pbmdGdW5jIiBsaW5rPSJsaWJ4bWwyLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HVmFsaWRpdHlXYXJuaW5nRnVuYyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTY2hlbWFWYWxpZGl0eUVycm9yRnVuYyIgbGluaz0ibGlieG1sMi14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRpdHlFcnJvckZ1bmMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2NoZW1hVmFsaWRpdHlMb2NhdG9yRnVuYyIgbGluaz0ibGlieG1sMi14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRpdHlMb2NhdG9yRnVuYyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTY2hlbWFWYWxpZGl0eVdhcm5pbmdGdW5jIiBsaW5rPSJsaWJ4bWwyLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZGl0eVdhcm5pbmdGdW5jIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNjaGVtYXRyb25WYWxpZGl0eUVycm9yRnVuYyIgbGluaz0ibGlieG1sMi1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvblZhbGlkaXR5RXJyb3JGdW5jIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNjaGVtYXRyb25WYWxpZGl0eVdhcm5pbmdGdW5jIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uVmFsaWRpdHlXYXJuaW5nRnVuYyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTaGVsbENtZCIgbGluaz0ibGlieG1sMi1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsQ21kIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNoZWxsUmVhZGxpbmVGdW5jIiBsaW5rPSJsaWJ4bWwyLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxSZWFkbGluZUZ1bmMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU3RyZHVwRnVuYyIgbGluaz0ibGlieG1sMi14bWxtZW1vcnkuaHRtbCN4bWxTdHJkdXBGdW5jIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFN0cnVjdHVyZWRFcnJvckZ1bmMiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCN4bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFRleHRSZWFkZXJFcnJvckZ1bmMiIGxpbms9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckVycm9yRnVuYyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxWYWxpZGl0eUVycm9yRnVuYyIgbGluaz0ibGlieG1sMi12YWxpZC5odG1sI3htbFZhbGlkaXR5RXJyb3JGdW5jIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFZhbGlkaXR5V2FybmluZ0Z1bmMiIGxpbms9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxWYWxpZGl0eVdhcm5pbmdGdW5jIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoQXhpc0Z1bmMiIGxpbms9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aEF4aXNGdW5jIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoQ29udmVydEZ1bmMiIGxpbms9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aENvbnZlcnRGdW5jIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoRXZhbEZ1bmMiIGxpbms9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aEV2YWxGdW5jIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoRnVuY0xvb2t1cEZ1bmMiIGxpbms9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aEZ1bmNMb29rdXBGdW5jIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoRnVuY3Rpb24iIGxpbms9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aEZ1bmN0aW9uIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoVmFyaWFibGVMb29rdXBGdW5jIiBsaW5rPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhWYXJpYWJsZUxvb2t1cEZ1bmMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iZG9jYkRlZmF1bHRTQVhIYW5kbGVyIiBsaW5rPSJsaWJ4bWwyLWdsb2JhbHMuaHRtbCNkb2NiRGVmYXVsdFNBWEhhbmRsZXIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iZW1wdHlFeHAiIGxpbms9ImxpYnhtbDIteG1scmVnZXhwLmh0bWwjZW1wdHlFeHAiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iZm9yYmlkZGVuRXhwIiBsaW5rPSJsaWJ4bWwyLXhtbHJlZ2V4cC5odG1sI2ZvcmJpZGRlbkV4cCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJodG1sRGVmYXVsdFNBWEhhbmRsZXIiIGxpbms9ImxpYnhtbDItZ2xvYmFscy5odG1sI2h0bWxEZWZhdWx0U0FYSGFuZGxlciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJvbGRYTUxXRGNvbXBhdGliaWxpdHkiIGxpbms9ImxpYnhtbDItZ2xvYmFscy5odG1sI29sZFhNTFdEY29tcGF0aWJpbGl0eSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxCdWZmZXJBbGxvY1NjaGVtZSIgbGluaz0ibGlieG1sMi1nbG9iYWxzLmh0bWwjeG1sQnVmZmVyQWxsb2NTY2hlbWUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sRGVmYXVsdEJ1ZmZlclNpemUiIGxpbms9ImxpYnhtbDItZ2xvYmFscy5odG1sI3htbERlZmF1bHRCdWZmZXJTaXplIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbERlZmF1bHRTQVhIYW5kbGVyIiBsaW5rPSJsaWJ4bWwyLWdsb2JhbHMuaHRtbCN4bWxEZWZhdWx0U0FYSGFuZGxlciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxEZWZhdWx0U0FYTG9jYXRvciIgbGluaz0ibGlieG1sMi1nbG9iYWxzLmh0bWwjeG1sRGVmYXVsdFNBWExvY2F0b3IiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sRGVyZWdpc3Rlck5vZGVEZWZhdWx0VmFsdWUiIGxpbms9ImxpYnhtbDItZ2xvYmFscy5odG1sI3htbERlcmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbERvVmFsaWRpdHlDaGVja2luZ0RlZmF1bHRWYWx1ZSIgbGluaz0ibGlieG1sMi1nbG9iYWxzLmh0bWwjeG1sRG9WYWxpZGl0eUNoZWNraW5nRGVmYXVsdFZhbHVlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEZyZWUiIGxpbms9ImxpYnhtbDItZ2xvYmFscy5odG1sI3htbEZyZWUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sR2VuZXJpY0Vycm9yIiBsaW5rPSJsaWJ4bWwyLWdsb2JhbHMuaHRtbCN4bWxHZW5lcmljRXJyb3IiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sR2VuZXJpY0Vycm9yQ29udGV4dCIgbGluaz0ibGlieG1sMi1nbG9iYWxzLmh0bWwjeG1sR2VuZXJpY0Vycm9yQ29udGV4dCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxHZXRXYXJuaW5nc0RlZmF1bHRWYWx1ZSIgbGluaz0ibGlieG1sMi1nbG9iYWxzLmh0bWwjeG1sR2V0V2FybmluZ3NEZWZhdWx0VmFsdWUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sSW5kZW50VHJlZU91dHB1dCIgbGluaz0ibGlieG1sMi1nbG9iYWxzLmh0bWwjeG1sSW5kZW50VHJlZU91dHB1dCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxJc0Jhc2VDaGFyR3JvdXAiIGxpbms9ImxpYnhtbDItY2h2YWxpZC5odG1sI3htbElzQmFzZUNoYXJHcm91cCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxJc0NoYXJHcm91cCIgbGluaz0ibGlieG1sMi1jaHZhbGlkLmh0bWwjeG1sSXNDaGFyR3JvdXAiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sSXNDb21iaW5pbmdHcm91cCIgbGluaz0ibGlieG1sMi1jaHZhbGlkLmh0bWwjeG1sSXNDb21iaW5pbmdHcm91cCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxJc0RpZ2l0R3JvdXAiIGxpbms9ImxpYnhtbDItY2h2YWxpZC5odG1sI3htbElzRGlnaXRHcm91cCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxJc0V4dGVuZGVyR3JvdXAiIGxpbms9ImxpYnhtbDItY2h2YWxpZC5odG1sI3htbElzRXh0ZW5kZXJHcm91cCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxJc0lkZW9ncmFwaGljR3JvdXAiIGxpbms9ImxpYnhtbDItY2h2YWxpZC5odG1sI3htbElzSWRlb2dyYXBoaWNHcm91cCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxJc1B1YmlkQ2hhcl90YWIiIGxpbms9ImxpYnhtbDItY2h2YWxpZC5odG1sI3htbElzUHViaWRDaGFyX3RhYiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxLZWVwQmxhbmtzRGVmYXVsdFZhbHVlIiBsaW5rPSJsaWJ4bWwyLWdsb2JhbHMuaHRtbCN4bWxLZWVwQmxhbmtzRGVmYXVsdFZhbHVlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbExhc3RFcnJvciIgbGluaz0ibGlieG1sMi1nbG9iYWxzLmh0bWwjeG1sTGFzdEVycm9yIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbExpbmVOdW1iZXJzRGVmYXVsdFZhbHVlIiBsaW5rPSJsaWJ4bWwyLWdsb2JhbHMuaHRtbCN4bWxMaW5lTnVtYmVyc0RlZmF1bHRWYWx1ZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxMb2FkRXh0RHRkRGVmYXVsdFZhbHVlIiBsaW5rPSJsaWJ4bWwyLWdsb2JhbHMuaHRtbCN4bWxMb2FkRXh0RHRkRGVmYXVsdFZhbHVlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE1hbGxvYyIgbGluaz0ibGlieG1sMi1nbG9iYWxzLmh0bWwjeG1sTWFsbG9jIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE1hbGxvY0F0b21pYyIgbGluaz0ibGlieG1sMi1nbG9iYWxzLmh0bWwjeG1sTWFsbG9jQXRvbWljIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE1lbVN0cmR1cCIgbGluaz0ibGlieG1sMi1nbG9iYWxzLmh0bWwjeG1sTWVtU3RyZHVwIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lVmFsdWUiIGxpbms9ImxpYnhtbDItZ2xvYmFscy5odG1sI3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lVmFsdWUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sUGFyc2VyRGVidWdFbnRpdGllcyIgbGluaz0ibGlieG1sMi1nbG9iYWxzLmh0bWwjeG1sUGFyc2VyRGVidWdFbnRpdGllcyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lVmFsdWUiIGxpbms9ImxpYnhtbDItZ2xvYmFscy5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVWYWx1ZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxQYXJzZXJNYXhEZXB0aCIgbGluaz0ibGlieG1sMi1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZXJNYXhEZXB0aCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxQYXJzZXJWZXJzaW9uIiBsaW5rPSJsaWJ4bWwyLWdsb2JhbHMuaHRtbCN4bWxQYXJzZXJWZXJzaW9uIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFBlZGFudGljUGFyc2VyRGVmYXVsdFZhbHVlIiBsaW5rPSJsaWJ4bWwyLWdsb2JhbHMuaHRtbCN4bWxQZWRhbnRpY1BhcnNlckRlZmF1bHRWYWx1ZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxSZWFsbG9jIiBsaW5rPSJsaWJ4bWwyLWdsb2JhbHMuaHRtbCN4bWxSZWFsbG9jIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFJlZ2lzdGVyTm9kZURlZmF1bHRWYWx1ZSIgbGluaz0ibGlieG1sMi1nbG9iYWxzLmh0bWwjeG1sUmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNhdmVOb0VtcHR5VGFncyIgbGluaz0ibGlieG1sMi1nbG9iYWxzLmh0bWwjeG1sU2F2ZU5vRW1wdHlUYWdzIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFN0cmluZ0NvbW1lbnQiIGxpbms9ImxpYnhtbDItcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sU3RyaW5nQ29tbWVudCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTdHJpbmdUZXh0IiBsaW5rPSJsaWJ4bWwyLXBhcnNlckludGVybmFscy5odG1sI3htbFN0cmluZ1RleHQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU3RyaW5nVGV4dE5vZW5jIiBsaW5rPSJsaWJ4bWwyLXBhcnNlckludGVybmFscy5odG1sI3htbFN0cmluZ1RleHROb2VuYyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTdHJ1Y3R1cmVkRXJyb3IiIGxpbms9ImxpYnhtbDItZ2xvYmFscy5odG1sI3htbFN0cnVjdHVyZWRFcnJvciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTdHJ1Y3R1cmVkRXJyb3JDb250ZXh0IiBsaW5rPSJsaWJ4bWwyLWdsb2JhbHMuaHRtbCN4bWxTdHJ1Y3R1cmVkRXJyb3JDb250ZXh0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHRWYWx1ZSIgbGluaz0ibGlieG1sMi1nbG9iYWxzLmh0bWwjeG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdFZhbHVlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFRyZWVJbmRlbnRTdHJpbmciIGxpbms9ImxpYnhtbDItZ2xvYmFscy5odG1sI3htbFRyZWVJbmRlbnRTdHJpbmciLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhOQU4iIGxpbms9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE5BTiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUGF0aE5JTkYiIGxpbms9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE5JTkYiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhQSU5GIiBsaW5rPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhQSU5GIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlVURjhUb0h0bWwgKCkiIGxpbms9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sI1VURjhUb0h0bWwiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iVVRGOFRvaXNvbGF0MSAoKSIgbGluaz0ibGlieG1sMi1lbmNvZGluZy5odG1sI1VURjhUb2lzb2xhdDEiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iYXR0cmlidXRlICgpIiBsaW5rPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJhdHRyaWJ1dGVEZWNsICgpIiBsaW5rPSJsaWJ4bWwyLVNBWC5odG1sI2F0dHJpYnV0ZURlY2wiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iY2RhdGFCbG9jayAoKSIgbGluaz0ibGlieG1sMi1TQVguaHRtbCNjZGF0YUJsb2NrIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9ImNoYXJhY3RlcnMgKCkiIGxpbms9ImxpYnhtbDItU0FYLmh0bWwjY2hhcmFjdGVycyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJjaGVja05hbWVzcGFjZSAoKSIgbGluaz0ibGlieG1sMi1TQVguaHRtbCNjaGVja05hbWVzcGFjZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJjb21tZW50ICgpIiBsaW5rPSJsaWJ4bWwyLVNBWC5odG1sI2NvbW1lbnQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iZG9jYkNyZWF0ZUZpbGVQYXJzZXJDdHh0ICgpIiBsaW5rPSJsaWJ4bWwyLURPQ0JwYXJzZXIuaHRtbCNkb2NiQ3JlYXRlRmlsZVBhcnNlckN0eHQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iZG9jYkNyZWF0ZVB1c2hQYXJzZXJDdHh0ICgpIiBsaW5rPSJsaWJ4bWwyLURPQ0JwYXJzZXIuaHRtbCNkb2NiQ3JlYXRlUHVzaFBhcnNlckN0eHQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iZG9jYkRlZmF1bHRTQVhIYW5kbGVySW5pdCAoKSIgbGluaz0ibGlieG1sMi1TQVgyLmh0bWwjZG9jYkRlZmF1bHRTQVhIYW5kbGVySW5pdCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJkb2NiRW5jb2RlRW50aXRpZXMgKCkiIGxpbms9ImxpYnhtbDItRE9DQnBhcnNlci5odG1sI2RvY2JFbmNvZGVFbnRpdGllcyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJkb2NiRnJlZVBhcnNlckN0eHQgKCkiIGxpbms9ImxpYnhtbDItRE9DQnBhcnNlci5odG1sI2RvY2JGcmVlUGFyc2VyQ3R4dCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJkb2NiUGFyc2VDaHVuayAoKSIgbGluaz0ibGlieG1sMi1ET0NCcGFyc2VyLmh0bWwjZG9jYlBhcnNlQ2h1bmsiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iZG9jYlBhcnNlRG9jICgpIiBsaW5rPSJsaWJ4bWwyLURPQ0JwYXJzZXIuaHRtbCNkb2NiUGFyc2VEb2MiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iZG9jYlBhcnNlRG9jdW1lbnQgKCkiIGxpbms9ImxpYnhtbDItRE9DQnBhcnNlci5odG1sI2RvY2JQYXJzZURvY3VtZW50Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9ImRvY2JQYXJzZUZpbGUgKCkiIGxpbms9ImxpYnhtbDItRE9DQnBhcnNlci5odG1sI2RvY2JQYXJzZUZpbGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iZG9jYlNBWFBhcnNlRG9jICgpIiBsaW5rPSJsaWJ4bWwyLURPQ0JwYXJzZXIuaHRtbCNkb2NiU0FYUGFyc2VEb2MiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iZG9jYlNBWFBhcnNlRmlsZSAoKSIgbGluaz0ibGlieG1sMi1ET0NCcGFyc2VyLmh0bWwjZG9jYlNBWFBhcnNlRmlsZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJlbGVtZW50RGVjbCAoKSIgbGluaz0ibGlieG1sMi1TQVguaHRtbCNlbGVtZW50RGVjbCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJlbmREb2N1bWVudCAoKSIgbGluaz0ibGlieG1sMi1TQVguaHRtbCNlbmREb2N1bWVudCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJlbmRFbGVtZW50ICgpIiBsaW5rPSJsaWJ4bWwyLVNBWC5odG1sI2VuZEVsZW1lbnQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iZW50aXR5RGVjbCAoKSIgbGluaz0ibGlieG1sMi1TQVguaHRtbCNlbnRpdHlEZWNsIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9ImV4dGVybmFsU3Vic2V0ICgpIiBsaW5rPSJsaWJ4bWwyLVNBWC5odG1sI2V4dGVybmFsU3Vic2V0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9ImdldENvbHVtbk51bWJlciAoKSIgbGluaz0ibGlieG1sMi1TQVguaHRtbCNnZXRDb2x1bW5OdW1iZXIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iZ2V0RW50aXR5ICgpIiBsaW5rPSJsaWJ4bWwyLVNBWC5odG1sI2dldEVudGl0eSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJnZXRMaW5lTnVtYmVyICgpIiBsaW5rPSJsaWJ4bWwyLVNBWC5odG1sI2dldExpbmVOdW1iZXIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iZ2V0TmFtZXNwYWNlICgpIiBsaW5rPSJsaWJ4bWwyLVNBWC5odG1sI2dldE5hbWVzcGFjZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJnZXRQYXJhbWV0ZXJFbnRpdHkgKCkiIGxpbms9ImxpYnhtbDItU0FYLmh0bWwjZ2V0UGFyYW1ldGVyRW50aXR5Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9ImdldFB1YmxpY0lkICgpIiBsaW5rPSJsaWJ4bWwyLVNBWC5odG1sI2dldFB1YmxpY0lkIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9ImdldFN5c3RlbUlkICgpIiBsaW5rPSJsaWJ4bWwyLVNBWC5odG1sI2dldFN5c3RlbUlkIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9Imdsb2JhbE5hbWVzcGFjZSAoKSIgbGluaz0ibGlieG1sMi1TQVguaHRtbCNnbG9iYWxOYW1lc3BhY2UiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iaGFzRXh0ZXJuYWxTdWJzZXQgKCkiIGxpbms9ImxpYnhtbDItU0FYLmh0bWwjaGFzRXh0ZXJuYWxTdWJzZXQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iaGFzSW50ZXJuYWxTdWJzZXQgKCkiIGxpbms9ImxpYnhtbDItU0FYLmh0bWwjaGFzSW50ZXJuYWxTdWJzZXQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iaHRtbEF0dHJBbGxvd2VkICgpIiBsaW5rPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNodG1sQXR0ckFsbG93ZWQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iaHRtbEF1dG9DbG9zZVRhZyAoKSIgbGluaz0ibGlieG1sMi1IVE1McGFyc2VyLmh0bWwjaHRtbEF1dG9DbG9zZVRhZyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJodG1sQ3JlYXRlRmlsZVBhcnNlckN0eHQgKCkiIGxpbms9ImxpYnhtbDItcGFyc2VySW50ZXJuYWxzLmh0bWwjaHRtbENyZWF0ZUZpbGVQYXJzZXJDdHh0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9Imh0bWxDcmVhdGVNZW1vcnlQYXJzZXJDdHh0ICgpIiBsaW5rPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNodG1sQ3JlYXRlTWVtb3J5UGFyc2VyQ3R4dCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJodG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQgKCkiIGxpbms9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sI2h0bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJodG1sQ3R4dFJlYWREb2MgKCkiIGxpbms9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sI2h0bWxDdHh0UmVhZERvYyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJodG1sQ3R4dFJlYWRGZCAoKSIgbGluaz0ibGlieG1sMi1IVE1McGFyc2VyLmh0bWwjaHRtbEN0eHRSZWFkRmQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iaHRtbEN0eHRSZWFkRmlsZSAoKSIgbGluaz0ibGlieG1sMi1IVE1McGFyc2VyLmh0bWwjaHRtbEN0eHRSZWFkRmlsZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJodG1sQ3R4dFJlYWRJTyAoKSIgbGluaz0ibGlieG1sMi1IVE1McGFyc2VyLmh0bWwjaHRtbEN0eHRSZWFkSU8iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iaHRtbEN0eHRSZWFkTWVtb3J5ICgpIiBsaW5rPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNodG1sQ3R4dFJlYWRNZW1vcnkiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iaHRtbEN0eHRSZXNldCAoKSIgbGluaz0ibGlieG1sMi1IVE1McGFyc2VyLmh0bWwjaHRtbEN0eHRSZXNldCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJodG1sQ3R4dFVzZU9wdGlvbnMgKCkiIGxpbms9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sI2h0bWxDdHh0VXNlT3B0aW9ucyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJodG1sRGVmYXVsdFNBWEhhbmRsZXJJbml0ICgpIiBsaW5rPSJsaWJ4bWwyLVNBWDIuaHRtbCNodG1sRGVmYXVsdFNBWEhhbmRsZXJJbml0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9Imh0bWxEb2NDb250ZW50RHVtcEZvcm1hdE91dHB1dCAoKSIgbGluaz0ibGlieG1sMi1IVE1MdHJlZS5odG1sI2h0bWxEb2NDb250ZW50RHVtcEZvcm1hdE91dHB1dCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJodG1sRG9jQ29udGVudER1bXBPdXRwdXQgKCkiIGxpbms9ImxpYnhtbDItSFRNTHRyZWUuaHRtbCNodG1sRG9jQ29udGVudER1bXBPdXRwdXQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iaHRtbERvY0R1bXAgKCkiIGxpbms9ImxpYnhtbDItSFRNTHRyZWUuaHRtbCNodG1sRG9jRHVtcCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJodG1sRG9jRHVtcE1lbW9yeSAoKSIgbGluaz0ibGlieG1sMi1IVE1MdHJlZS5odG1sI2h0bWxEb2NEdW1wTWVtb3J5Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9Imh0bWxEb2NEdW1wTWVtb3J5Rm9ybWF0ICgpIiBsaW5rPSJsaWJ4bWwyLUhUTUx0cmVlLmh0bWwjaHRtbERvY0R1bXBNZW1vcnlGb3JtYXQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iaHRtbEVsZW1lbnRBbGxvd2VkSGVyZSAoKSIgbGluaz0ibGlieG1sMi1IVE1McGFyc2VyLmh0bWwjaHRtbEVsZW1lbnRBbGxvd2VkSGVyZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJodG1sRWxlbWVudFN0YXR1c0hlcmUgKCkiIGxpbms9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sI2h0bWxFbGVtZW50U3RhdHVzSGVyZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJodG1sRW5jb2RlRW50aXRpZXMgKCkiIGxpbms9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sI2h0bWxFbmNvZGVFbnRpdGllcyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJodG1sRW50aXR5TG9va3VwICgpIiBsaW5rPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNodG1sRW50aXR5TG9va3VwIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9Imh0bWxFbnRpdHlWYWx1ZUxvb2t1cCAoKSIgbGluaz0ibGlieG1sMi1IVE1McGFyc2VyLmh0bWwjaHRtbEVudGl0eVZhbHVlTG9va3VwIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9Imh0bWxGcmVlUGFyc2VyQ3R4dCAoKSIgbGluaz0ibGlieG1sMi1IVE1McGFyc2VyLmh0bWwjaHRtbEZyZWVQYXJzZXJDdHh0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9Imh0bWxHZXRNZXRhRW5jb2RpbmcgKCkiIGxpbms9ImxpYnhtbDItSFRNTHRyZWUuaHRtbCNodG1sR2V0TWV0YUVuY29kaW5nIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9Imh0bWxIYW5kbGVPbWl0dGVkRWxlbSAoKSIgbGluaz0ibGlieG1sMi1IVE1McGFyc2VyLmh0bWwjaHRtbEhhbmRsZU9taXR0ZWRFbGVtIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9Imh0bWxJbml0QXV0b0Nsb3NlICgpIiBsaW5rPSJsaWJ4bWwyLXBhcnNlckludGVybmFscy5odG1sI2h0bWxJbml0QXV0b0Nsb3NlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9Imh0bWxJc0F1dG9DbG9zZWQgKCkiIGxpbms9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sI2h0bWxJc0F1dG9DbG9zZWQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iaHRtbElzQm9vbGVhbkF0dHIgKCkiIGxpbms9ImxpYnhtbDItSFRNTHRyZWUuaHRtbCNodG1sSXNCb29sZWFuQXR0ciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJodG1sSXNTY3JpcHRBdHRyaWJ1dGUgKCkiIGxpbms9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sI2h0bWxJc1NjcmlwdEF0dHJpYnV0ZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJodG1sTmV3RG9jICgpIiBsaW5rPSJsaWJ4bWwyLUhUTUx0cmVlLmh0bWwjaHRtbE5ld0RvYyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJodG1sTmV3RG9jTm9EdEQgKCkiIGxpbms9ImxpYnhtbDItSFRNTHRyZWUuaHRtbCNodG1sTmV3RG9jTm9EdEQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iaHRtbE5ld1BhcnNlckN0eHQgKCkiIGxpbms9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sI2h0bWxOZXdQYXJzZXJDdHh0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9Imh0bWxOb2RlRHVtcCAoKSIgbGluaz0ibGlieG1sMi1IVE1MdHJlZS5odG1sI2h0bWxOb2RlRHVtcCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJodG1sTm9kZUR1bXBGaWxlICgpIiBsaW5rPSJsaWJ4bWwyLUhUTUx0cmVlLmh0bWwjaHRtbE5vZGVEdW1wRmlsZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJodG1sTm9kZUR1bXBGaWxlRm9ybWF0ICgpIiBsaW5rPSJsaWJ4bWwyLUhUTUx0cmVlLmh0bWwjaHRtbE5vZGVEdW1wRmlsZUZvcm1hdCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJodG1sTm9kZUR1bXBGb3JtYXRPdXRwdXQgKCkiIGxpbms9ImxpYnhtbDItSFRNTHRyZWUuaHRtbCNodG1sTm9kZUR1bXBGb3JtYXRPdXRwdXQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iaHRtbE5vZGVEdW1wT3V0cHV0ICgpIiBsaW5rPSJsaWJ4bWwyLUhUTUx0cmVlLmh0bWwjaHRtbE5vZGVEdW1wT3V0cHV0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9Imh0bWxOb2RlU3RhdHVzICgpIiBsaW5rPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNodG1sTm9kZVN0YXR1cyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJodG1sUGFyc2VDaGFyUmVmICgpIiBsaW5rPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNodG1sUGFyc2VDaGFyUmVmIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9Imh0bWxQYXJzZUNodW5rICgpIiBsaW5rPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNodG1sUGFyc2VDaHVuayIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJodG1sUGFyc2VEb2MgKCkiIGxpbms9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sI2h0bWxQYXJzZURvYyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJodG1sUGFyc2VEb2N1bWVudCAoKSIgbGluaz0ibGlieG1sMi1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlRG9jdW1lbnQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iaHRtbFBhcnNlRWxlbWVudCAoKSIgbGluaz0ibGlieG1sMi1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlRWxlbWVudCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJodG1sUGFyc2VFbnRpdHlSZWYgKCkiIGxpbms9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sI2h0bWxQYXJzZUVudGl0eVJlZiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJodG1sUGFyc2VGaWxlICgpIiBsaW5rPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNodG1sUGFyc2VGaWxlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9Imh0bWxSZWFkRG9jICgpIiBsaW5rPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNodG1sUmVhZERvYyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJodG1sUmVhZEZkICgpIiBsaW5rPSJsaWJ4bWwyLUhUTUxwYXJzZXIuaHRtbCNodG1sUmVhZEZkIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9Imh0bWxSZWFkRmlsZSAoKSIgbGluaz0ibGlieG1sMi1IVE1McGFyc2VyLmh0bWwjaHRtbFJlYWRGaWxlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9Imh0bWxSZWFkSU8gKCkiIGxpbms9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sI2h0bWxSZWFkSU8iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iaHRtbFJlYWRNZW1vcnkgKCkiIGxpbms9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sI2h0bWxSZWFkTWVtb3J5Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9Imh0bWxTQVhQYXJzZURvYyAoKSIgbGluaz0ibGlieG1sMi1IVE1McGFyc2VyLmh0bWwjaHRtbFNBWFBhcnNlRG9jIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9Imh0bWxTQVhQYXJzZUZpbGUgKCkiIGxpbms9ImxpYnhtbDItSFRNTHBhcnNlci5odG1sI2h0bWxTQVhQYXJzZUZpbGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iaHRtbFNhdmVGaWxlICgpIiBsaW5rPSJsaWJ4bWwyLUhUTUx0cmVlLmh0bWwjaHRtbFNhdmVGaWxlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9Imh0bWxTYXZlRmlsZUVuYyAoKSIgbGluaz0ibGlieG1sMi1IVE1MdHJlZS5odG1sI2h0bWxTYXZlRmlsZUVuYyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJodG1sU2F2ZUZpbGVGb3JtYXQgKCkiIGxpbms9ImxpYnhtbDItSFRNTHRyZWUuaHRtbCNodG1sU2F2ZUZpbGVGb3JtYXQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iaHRtbFNldE1ldGFFbmNvZGluZyAoKSIgbGluaz0ibGlieG1sMi1IVE1MdHJlZS5odG1sI2h0bWxTZXRNZXRhRW5jb2RpbmciLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iaHRtbFRhZ0xvb2t1cCAoKSIgbGluaz0ibGlieG1sMi1IVE1McGFyc2VyLmh0bWwjaHRtbFRhZ0xvb2t1cCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJpZ25vcmFibGVXaGl0ZXNwYWNlICgpIiBsaW5rPSJsaWJ4bWwyLVNBWC5odG1sI2lnbm9yYWJsZVdoaXRlc3BhY2UiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iaW5pdEdlbmVyaWNFcnJvckRlZmF1bHRGdW5jICgpIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjaW5pdEdlbmVyaWNFcnJvckRlZmF1bHRGdW5jIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9ImluaXRkb2NiRGVmYXVsdFNBWEhhbmRsZXIgKCkiIGxpbms9ImxpYnhtbDItU0FYLmh0bWwjaW5pdGRvY2JEZWZhdWx0U0FYSGFuZGxlciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJpbml0aHRtbERlZmF1bHRTQVhIYW5kbGVyICgpIiBsaW5rPSJsaWJ4bWwyLVNBWC5odG1sI2luaXRodG1sRGVmYXVsdFNBWEhhbmRsZXIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iaW5pdHhtbERlZmF1bHRTQVhIYW5kbGVyICgpIiBsaW5rPSJsaWJ4bWwyLVNBWC5odG1sI2luaXR4bWxEZWZhdWx0U0FYSGFuZGxlciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJpbnB1dFBvcCAoKSIgbGluaz0ibGlieG1sMi1wYXJzZXJJbnRlcm5hbHMuaHRtbCNpbnB1dFBvcCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJpbnB1dFB1c2ggKCkiIGxpbms9ImxpYnhtbDItcGFyc2VySW50ZXJuYWxzLmh0bWwjaW5wdXRQdXNoIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9ImludGVybmFsU3Vic2V0ICgpIiBsaW5rPSJsaWJ4bWwyLVNBWC5odG1sI2ludGVybmFsU3Vic2V0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9ImlzU3RhbmRhbG9uZSAoKSIgbGluaz0ibGlieG1sMi1TQVguaHRtbCNpc1N0YW5kYWxvbmUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iaXNvbGF0MVRvVVRGOCAoKSIgbGluaz0ibGlieG1sMi1lbmNvZGluZy5odG1sI2lzb2xhdDFUb1VURjgiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ibmFtZVBvcCAoKSIgbGluaz0ibGlieG1sMi1wYXJzZXJJbnRlcm5hbHMuaHRtbCNuYW1lUG9wIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9Im5hbWVQdXNoICgpIiBsaW5rPSJsaWJ4bWwyLXBhcnNlckludGVybmFscy5odG1sI25hbWVQdXNoIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9Im5hbWVzcGFjZURlY2wgKCkiIGxpbms9ImxpYnhtbDItU0FYLmh0bWwjbmFtZXNwYWNlRGVjbCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJub2RlUG9wICgpIiBsaW5rPSJsaWJ4bWwyLXBhcnNlckludGVybmFscy5odG1sI25vZGVQb3AiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ibm9kZVB1c2ggKCkiIGxpbms9ImxpYnhtbDItcGFyc2VySW50ZXJuYWxzLmh0bWwjbm9kZVB1c2giLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ibm90YXRpb25EZWNsICgpIiBsaW5rPSJsaWJ4bWwyLVNBWC5odG1sI25vdGF0aW9uRGVjbCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJwcm9jZXNzaW5nSW5zdHJ1Y3Rpb24gKCkiIGxpbms9ImxpYnhtbDItU0FYLmh0bWwjcHJvY2Vzc2luZ0luc3RydWN0aW9uIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InJlZmVyZW5jZSAoKSIgbGluaz0ibGlieG1sMi1TQVguaHRtbCNyZWZlcmVuY2UiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0icmVzb2x2ZUVudGl0eSAoKSIgbGluaz0ibGlieG1sMi1TQVguaHRtbCNyZXNvbHZlRW50aXR5Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InNldERvY3VtZW50TG9jYXRvciAoKSIgbGluaz0ibGlieG1sMi1TQVguaHRtbCNzZXREb2N1bWVudExvY2F0b3IiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ic2V0TmFtZXNwYWNlICgpIiBsaW5rPSJsaWJ4bWwyLVNBWC5odG1sI3NldE5hbWVzcGFjZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJzdGFydERvY3VtZW50ICgpIiBsaW5rPSJsaWJ4bWwyLVNBWC5odG1sI3N0YXJ0RG9jdW1lbnQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ic3RhcnRFbGVtZW50ICgpIiBsaW5rPSJsaWJ4bWwyLVNBWC5odG1sI3N0YXJ0RWxlbWVudCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ1bnBhcnNlZEVudGl0eURlY2wgKCkiIGxpbms9ImxpYnhtbDItU0FYLmh0bWwjdW5wYXJzZWRFbnRpdHlEZWNsIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InZhbHVlUG9wICgpIiBsaW5rPSJsaWJ4bWwyLXhwYXRoSW50ZXJuYWxzLmh0bWwjdmFsdWVQb3AiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0idmFsdWVQdXNoICgpIiBsaW5rPSJsaWJ4bWwyLXhwYXRoSW50ZXJuYWxzLmh0bWwjdmFsdWVQdXNoIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhsaW5rR2V0RGVmYXVsdERldGVjdCAoKSIgbGluaz0ibGlieG1sMi14bGluay5odG1sI3hsaW5rR2V0RGVmYXVsdERldGVjdCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bGlua0dldERlZmF1bHRIYW5kbGVyICgpIiBsaW5rPSJsaWJ4bWwyLXhsaW5rLmh0bWwjeGxpbmtHZXREZWZhdWx0SGFuZGxlciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bGlua0lzTGluayAoKSIgbGluaz0ibGlieG1sMi14bGluay5odG1sI3hsaW5rSXNMaW5rIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhsaW5rU2V0RGVmYXVsdERldGVjdCAoKSIgbGluaz0ibGlieG1sMi14bGluay5odG1sI3hsaW5rU2V0RGVmYXVsdERldGVjdCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bGlua1NldERlZmF1bHRIYW5kbGVyICgpIiBsaW5rPSJsaWJ4bWwyLXhsaW5rLmh0bWwjeGxpbmtTZXREZWZhdWx0SGFuZGxlciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxBQ2F0YWxvZ0FkZCAoKSIgbGluaz0ibGlieG1sMi1jYXRhbG9nLmh0bWwjeG1sQUNhdGFsb2dBZGQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQUNhdGFsb2dEdW1wICgpIiBsaW5rPSJsaWJ4bWwyLWNhdGFsb2cuaHRtbCN4bWxBQ2F0YWxvZ0R1bXAiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQUNhdGFsb2dSZW1vdmUgKCkiIGxpbms9ImxpYnhtbDItY2F0YWxvZy5odG1sI3htbEFDYXRhbG9nUmVtb3ZlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEFDYXRhbG9nUmVzb2x2ZSAoKSIgbGluaz0ibGlieG1sMi1jYXRhbG9nLmh0bWwjeG1sQUNhdGFsb2dSZXNvbHZlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEFDYXRhbG9nUmVzb2x2ZVB1YmxpYyAoKSIgbGluaz0ibGlieG1sMi1jYXRhbG9nLmh0bWwjeG1sQUNhdGFsb2dSZXNvbHZlUHVibGljIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEFDYXRhbG9nUmVzb2x2ZVN5c3RlbSAoKSIgbGluaz0ibGlieG1sMi1jYXRhbG9nLmh0bWwjeG1sQUNhdGFsb2dSZXNvbHZlU3lzdGVtIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEFDYXRhbG9nUmVzb2x2ZVVSSSAoKSIgbGluaz0ibGlieG1sMi1jYXRhbG9nLmh0bWwjeG1sQUNhdGFsb2dSZXNvbHZlVVJJIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEFkZEF0dHJpYnV0ZURlY2wgKCkiIGxpbms9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxBZGRBdHRyaWJ1dGVEZWNsIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEFkZENoaWxkICgpIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxBZGRDaGlsZCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxBZGRDaGlsZExpc3QgKCkiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI3htbEFkZENoaWxkTGlzdCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxBZGREb2NFbnRpdHkgKCkiIGxpbms9ImxpYnhtbDItZW50aXRpZXMuaHRtbCN4bWxBZGREb2NFbnRpdHkiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQWRkRHRkRW50aXR5ICgpIiBsaW5rPSJsaWJ4bWwyLWVudGl0aWVzLmh0bWwjeG1sQWRkRHRkRW50aXR5Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEFkZEVsZW1lbnREZWNsICgpIiBsaW5rPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sQWRkRWxlbWVudERlY2wiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQWRkRW5jb2RpbmdBbGlhcyAoKSIgbGluaz0ibGlieG1sMi1lbmNvZGluZy5odG1sI3htbEFkZEVuY29kaW5nQWxpYXMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQWRkSUQgKCkiIGxpbms9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxBZGRJRCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxBZGROZXh0U2libGluZyAoKSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sQWRkTmV4dFNpYmxpbmciLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQWRkTm90YXRpb25EZWNsICgpIiBsaW5rPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sQWRkTm90YXRpb25EZWNsIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEFkZFByZXZTaWJsaW5nICgpIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxBZGRQcmV2U2libGluZyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxBZGRSZWYgKCkiIGxpbms9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxBZGRSZWYiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQWRkU2libGluZyAoKSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sQWRkU2libGluZyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxBbGxvY091dHB1dEJ1ZmZlciAoKSIgbGluaz0ibGlieG1sMi14bWxJTy5odG1sI3htbEFsbG9jT3V0cHV0QnVmZmVyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEFsbG9jUGFyc2VySW5wdXRCdWZmZXIgKCkiIGxpbms9ImxpYnhtbDIteG1sSU8uaHRtbCN4bWxBbGxvY1BhcnNlcklucHV0QnVmZmVyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEF0dHJTZXJpYWxpemVUeHRDb250ZW50ICgpIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxBdHRyU2VyaWFsaXplVHh0Q29udGVudCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxBdXRvbWF0YUNvbXBpbGUgKCkiIGxpbms9ImxpYnhtbDIteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YUNvbXBpbGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQXV0b21hdGFHZXRJbml0U3RhdGUgKCkiIGxpbms9ImxpYnhtbDIteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YUdldEluaXRTdGF0ZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxBdXRvbWF0YUlzRGV0ZXJtaW5pc3QgKCkiIGxpbms9ImxpYnhtbDIteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YUlzRGV0ZXJtaW5pc3QiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQXV0b21hdGFOZXdBbGxUcmFucyAoKSIgbGluaz0ibGlieG1sMi14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhTmV3QWxsVHJhbnMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQXV0b21hdGFOZXdDb3VudFRyYW5zICgpIiBsaW5rPSJsaWJ4bWwyLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdDb3VudFRyYW5zIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEF1dG9tYXRhTmV3Q291bnRUcmFuczIgKCkiIGxpbms9ImxpYnhtbDIteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld0NvdW50VHJhbnMyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEF1dG9tYXRhTmV3Q291bnRlZFRyYW5zICgpIiBsaW5rPSJsaWJ4bWwyLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdDb3VudGVkVHJhbnMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQXV0b21hdGFOZXdDb3VudGVyICgpIiBsaW5rPSJsaWJ4bWwyLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdDb3VudGVyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEF1dG9tYXRhTmV3Q291bnRlclRyYW5zICgpIiBsaW5rPSJsaWJ4bWwyLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdDb3VudGVyVHJhbnMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQXV0b21hdGFOZXdFcHNpbG9uICgpIiBsaW5rPSJsaWJ4bWwyLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdFcHNpbG9uIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEF1dG9tYXRhTmV3TmVnVHJhbnMgKCkiIGxpbms9ImxpYnhtbDIteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld05lZ1RyYW5zIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEF1dG9tYXRhTmV3T25jZVRyYW5zICgpIiBsaW5rPSJsaWJ4bWwyLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdPbmNlVHJhbnMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQXV0b21hdGFOZXdPbmNlVHJhbnMyICgpIiBsaW5rPSJsaWJ4bWwyLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdPbmNlVHJhbnMyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEF1dG9tYXRhTmV3U3RhdGUgKCkiIGxpbms9ImxpYnhtbDIteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld1N0YXRlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEF1dG9tYXRhTmV3VHJhbnNpdGlvbiAoKSIgbGluaz0ibGlieG1sMi14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhTmV3VHJhbnNpdGlvbiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxBdXRvbWF0YU5ld1RyYW5zaXRpb24yICgpIiBsaW5rPSJsaWJ4bWwyLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdUcmFuc2l0aW9uMiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxBdXRvbWF0YVNldEZpbmFsU3RhdGUgKCkiIGxpbms9ImxpYnhtbDIteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVNldEZpbmFsU3RhdGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQm9vbFRvVGV4dCAoKSIgbGluaz0ibGlieG1sMi1kZWJ1Z1hNTC5odG1sI3htbEJvb2xUb1RleHQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQnVmQ29udGVudCAoKSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sQnVmQ29udGVudCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxCdWZFbmQgKCkiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI3htbEJ1ZkVuZCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxCdWZHZXROb2RlQ29udGVudCAoKSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sQnVmR2V0Tm9kZUNvbnRlbnQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQnVmTm9kZUR1bXAgKCkiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI3htbEJ1Zk5vZGVEdW1wIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEJ1ZlNocmluayAoKSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sQnVmU2hyaW5rIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEJ1ZlVzZSAoKSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sQnVmVXNlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEJ1ZmZlckFkZCAoKSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sQnVmZmVyQWRkIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEJ1ZmZlckFkZEhlYWQgKCkiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI3htbEJ1ZmZlckFkZEhlYWQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQnVmZmVyQ0NhdCAoKSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sQnVmZmVyQ0NhdCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxCdWZmZXJDYXQgKCkiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI3htbEJ1ZmZlckNhdCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxCdWZmZXJDb250ZW50ICgpIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxCdWZmZXJDb250ZW50Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEJ1ZmZlckNyZWF0ZSAoKSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sQnVmZmVyQ3JlYXRlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEJ1ZmZlckNyZWF0ZVNpemUgKCkiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI3htbEJ1ZmZlckNyZWF0ZVNpemUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQnVmZmVyQ3JlYXRlU3RhdGljICgpIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxCdWZmZXJDcmVhdGVTdGF0aWMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQnVmZmVyRGV0YWNoICgpIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxCdWZmZXJEZXRhY2giLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQnVmZmVyRHVtcCAoKSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sQnVmZmVyRHVtcCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxCdWZmZXJFbXB0eSAoKSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sQnVmZmVyRW1wdHkiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQnVmZmVyRnJlZSAoKSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sQnVmZmVyRnJlZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxCdWZmZXJHcm93ICgpIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxCdWZmZXJHcm93Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEJ1ZmZlckxlbmd0aCAoKSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sQnVmZmVyTGVuZ3RoIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEJ1ZmZlclJlc2l6ZSAoKSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sQnVmZmVyUmVzaXplIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEJ1ZmZlclNldEFsbG9jYXRpb25TY2hlbWUgKCkiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI3htbEJ1ZmZlclNldEFsbG9jYXRpb25TY2hlbWUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQnVmZmVyU2hyaW5rICgpIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxCdWZmZXJTaHJpbmsiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQnVmZmVyV3JpdGVDSEFSICgpIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxCdWZmZXJXcml0ZUNIQVIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQnVmZmVyV3JpdGVDaGFyICgpIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxCdWZmZXJXcml0ZUNoYXIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQnVmZmVyV3JpdGVRdW90ZWRTdHJpbmcgKCkiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI3htbEJ1ZmZlcldyaXRlUXVvdGVkU3RyaW5nIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEJ1aWxkUU5hbWUgKCkiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI3htbEJ1aWxkUU5hbWUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQnVpbGRSZWxhdGl2ZVVSSSAoKSIgbGluaz0ibGlieG1sMi11cmkuaHRtbCN4bWxCdWlsZFJlbGF0aXZlVVJJIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEJ1aWxkVVJJICgpIiBsaW5rPSJsaWJ4bWwyLXVyaS5odG1sI3htbEJ1aWxkVVJJIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEJ5dGVDb25zdW1lZCAoKSIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCN4bWxCeXRlQ29uc3VtZWQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQzE0TkRvY0R1bXBNZW1vcnkgKCkiIGxpbms9ImxpYnhtbDItYzE0bi5odG1sI3htbEMxNE5Eb2NEdW1wTWVtb3J5Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEMxNE5Eb2NTYXZlICgpIiBsaW5rPSJsaWJ4bWwyLWMxNG4uaHRtbCN4bWxDMTRORG9jU2F2ZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxDMTRORG9jU2F2ZVRvICgpIiBsaW5rPSJsaWJ4bWwyLWMxNG4uaHRtbCN4bWxDMTRORG9jU2F2ZVRvIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEMxNE5FeGVjdXRlICgpIiBsaW5rPSJsaWJ4bWwyLWMxNG4uaHRtbCN4bWxDMTRORXhlY3V0ZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxDYW5vbmljUGF0aCAoKSIgbGluaz0ibGlieG1sMi11cmkuaHRtbCN4bWxDYW5vbmljUGF0aCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxDYXRhbG9nQWRkICgpIiBsaW5rPSJsaWJ4bWwyLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nQWRkIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbENhdGFsb2dBZGRMb2NhbCAoKSIgbGluaz0ibGlieG1sMi1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ0FkZExvY2FsIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbENhdGFsb2dDbGVhbnVwICgpIiBsaW5rPSJsaWJ4bWwyLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nQ2xlYW51cCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxDYXRhbG9nQ29udmVydCAoKSIgbGluaz0ibGlieG1sMi1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ0NvbnZlcnQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQ2F0YWxvZ0R1bXAgKCkiIGxpbms9ImxpYnhtbDItY2F0YWxvZy5odG1sI3htbENhdGFsb2dEdW1wIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbENhdGFsb2dGcmVlTG9jYWwgKCkiIGxpbms9ImxpYnhtbDItY2F0YWxvZy5odG1sI3htbENhdGFsb2dGcmVlTG9jYWwiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQ2F0YWxvZ0dldERlZmF1bHRzICgpIiBsaW5rPSJsaWJ4bWwyLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nR2V0RGVmYXVsdHMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQ2F0YWxvZ0dldFB1YmxpYyAoKSIgbGluaz0ibGlieG1sMi1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ0dldFB1YmxpYyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxDYXRhbG9nR2V0U3lzdGVtICgpIiBsaW5rPSJsaWJ4bWwyLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nR2V0U3lzdGVtIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbENhdGFsb2dJc0VtcHR5ICgpIiBsaW5rPSJsaWJ4bWwyLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nSXNFbXB0eSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxDYXRhbG9nTG9jYWxSZXNvbHZlICgpIiBsaW5rPSJsaWJ4bWwyLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nTG9jYWxSZXNvbHZlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbENhdGFsb2dMb2NhbFJlc29sdmVVUkkgKCkiIGxpbms9ImxpYnhtbDItY2F0YWxvZy5odG1sI3htbENhdGFsb2dMb2NhbFJlc29sdmVVUkkiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQ2F0YWxvZ1JlbW92ZSAoKSIgbGluaz0ibGlieG1sMi1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ1JlbW92ZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxDYXRhbG9nUmVzb2x2ZSAoKSIgbGluaz0ibGlieG1sMi1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ1Jlc29sdmUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQ2F0YWxvZ1Jlc29sdmVQdWJsaWMgKCkiIGxpbms9ImxpYnhtbDItY2F0YWxvZy5odG1sI3htbENhdGFsb2dSZXNvbHZlUHVibGljIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbENhdGFsb2dSZXNvbHZlU3lzdGVtICgpIiBsaW5rPSJsaWJ4bWwyLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nUmVzb2x2ZVN5c3RlbSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxDYXRhbG9nUmVzb2x2ZVVSSSAoKSIgbGluaz0ibGlieG1sMi1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ1Jlc29sdmVVUkkiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQ2F0YWxvZ1NldERlYnVnICgpIiBsaW5rPSJsaWJ4bWwyLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nU2V0RGVidWciLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQ2F0YWxvZ1NldERlZmF1bHRQcmVmZXIgKCkiIGxpbms9ImxpYnhtbDItY2F0YWxvZy5odG1sI3htbENhdGFsb2dTZXREZWZhdWx0UHJlZmVyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbENhdGFsb2dTZXREZWZhdWx0cyAoKSIgbGluaz0ibGlieG1sMi1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ1NldERlZmF1bHRzIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbENoYXJFbmNDbG9zZUZ1bmMgKCkiIGxpbms9ImxpYnhtbDItZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jQ2xvc2VGdW5jIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbENoYXJFbmNGaXJzdExpbmUgKCkiIGxpbms9ImxpYnhtbDItZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jRmlyc3RMaW5lIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbENoYXJFbmNJbkZ1bmMgKCkiIGxpbms9ImxpYnhtbDItZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jSW5GdW5jIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbENoYXJFbmNPdXRGdW5jICgpIiBsaW5rPSJsaWJ4bWwyLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY091dEZ1bmMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQ2hhckluUmFuZ2UgKCkiIGxpbms9ImxpYnhtbDItY2h2YWxpZC5odG1sI3htbENoYXJJblJhbmdlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbENoYXJTdHJkdXAgKCkiIGxpbms9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sQ2hhclN0cmR1cCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxDaGFyU3RybmR1cCAoKSIgbGluaz0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxDaGFyU3RybmR1cCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxDaGVja0ZpbGVuYW1lICgpIiBsaW5rPSJsaWJ4bWwyLXhtbElPLmh0bWwjeG1sQ2hlY2tGaWxlbmFtZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxDaGVja0hUVFBJbnB1dCAoKSIgbGluaz0ibGlieG1sMi14bWxJTy5odG1sI3htbENoZWNrSFRUUElucHV0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbENoZWNrTGFuZ3VhZ2VJRCAoKSIgbGluaz0ibGlieG1sMi1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxDaGVja0xhbmd1YWdlSUQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQ2hlY2tVVEY4ICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbENoZWNrVVRGOCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxDaGVja1ZlcnNpb24gKCkiIGxpbms9ImxpYnhtbDIteG1sdmVyc2lvbi5odG1sI3htbENoZWNrVmVyc2lvbiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxDaGlsZEVsZW1lbnRDb3VudCAoKSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sQ2hpbGRFbGVtZW50Q291bnQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQ2xlYW51cENoYXJFbmNvZGluZ0hhbmRsZXJzICgpIiBsaW5rPSJsaWJ4bWwyLWVuY29kaW5nLmh0bWwjeG1sQ2xlYW51cENoYXJFbmNvZGluZ0hhbmRsZXJzIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbENsZWFudXBFbmNvZGluZ0FsaWFzZXMgKCkiIGxpbms9ImxpYnhtbDItZW5jb2RpbmcuaHRtbCN4bWxDbGVhbnVwRW5jb2RpbmdBbGlhc2VzIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbENsZWFudXBHbG9iYWxzICgpIiBsaW5rPSJsaWJ4bWwyLWdsb2JhbHMuaHRtbCN4bWxDbGVhbnVwR2xvYmFscyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxDbGVhbnVwSW5wdXRDYWxsYmFja3MgKCkiIGxpbms9ImxpYnhtbDIteG1sSU8uaHRtbCN4bWxDbGVhbnVwSW5wdXRDYWxsYmFja3MiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQ2xlYW51cE1lbW9yeSAoKSIgbGluaz0ibGlieG1sMi14bWxtZW1vcnkuaHRtbCN4bWxDbGVhbnVwTWVtb3J5Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbENsZWFudXBPdXRwdXRDYWxsYmFja3MgKCkiIGxpbms9ImxpYnhtbDIteG1sSU8uaHRtbCN4bWxDbGVhbnVwT3V0cHV0Q2FsbGJhY2tzIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbENsZWFudXBQYXJzZXIgKCkiIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjeG1sQ2xlYW51cFBhcnNlciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxDbGVhbnVwUHJlZGVmaW5lZEVudGl0aWVzICgpIiBsaW5rPSJsaWJ4bWwyLWVudGl0aWVzLmh0bWwjeG1sQ2xlYW51cFByZWRlZmluZWRFbnRpdGllcyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxDbGVhbnVwVGhyZWFkcyAoKSIgbGluaz0ibGlieG1sMi10aHJlYWRzLmh0bWwjeG1sQ2xlYW51cFRocmVhZHMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQ2xlYXJOb2RlSW5mb1NlcSAoKSIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCN4bWxDbGVhck5vZGVJbmZvU2VxIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbENsZWFyUGFyc2VyQ3R4dCAoKSIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCN4bWxDbGVhclBhcnNlckN0eHQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQ29udmVydFNHTUxDYXRhbG9nICgpIiBsaW5rPSJsaWJ4bWwyLWNhdGFsb2cuaHRtbCN4bWxDb252ZXJ0U0dNTENhdGFsb2ciLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQ29weUF0dHJpYnV0ZVRhYmxlICgpIiBsaW5rPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sQ29weUF0dHJpYnV0ZVRhYmxlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbENvcHlDaGFyICgpIiBsaW5rPSJsaWJ4bWwyLXBhcnNlckludGVybmFscy5odG1sI3htbENvcHlDaGFyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbENvcHlDaGFyTXVsdGlCeXRlICgpIiBsaW5rPSJsaWJ4bWwyLXBhcnNlckludGVybmFscy5odG1sI3htbENvcHlDaGFyTXVsdGlCeXRlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbENvcHlEb2MgKCkiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI3htbENvcHlEb2MiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQ29weURvY0VsZW1lbnRDb250ZW50ICgpIiBsaW5rPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sQ29weURvY0VsZW1lbnRDb250ZW50Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbENvcHlEdGQgKCkiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI3htbENvcHlEdGQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQ29weUVsZW1lbnRDb250ZW50ICgpIiBsaW5rPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sQ29weUVsZW1lbnRDb250ZW50Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbENvcHlFbGVtZW50VGFibGUgKCkiIGxpbms9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxDb3B5RWxlbWVudFRhYmxlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbENvcHlFbnRpdGllc1RhYmxlICgpIiBsaW5rPSJsaWJ4bWwyLWVudGl0aWVzLmh0bWwjeG1sQ29weUVudGl0aWVzVGFibGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQ29weUVudW1lcmF0aW9uICgpIiBsaW5rPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sQ29weUVudW1lcmF0aW9uIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbENvcHlFcnJvciAoKSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI3htbENvcHlFcnJvciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxDb3B5TmFtZXNwYWNlICgpIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxDb3B5TmFtZXNwYWNlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbENvcHlOYW1lc3BhY2VMaXN0ICgpIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxDb3B5TmFtZXNwYWNlTGlzdCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxDb3B5Tm9kZSAoKSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sQ29weU5vZGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQ29weU5vZGVMaXN0ICgpIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxDb3B5Tm9kZUxpc3QiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQ29weU5vdGF0aW9uVGFibGUgKCkiIGxpbms9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxDb3B5Tm90YXRpb25UYWJsZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxDb3B5UHJvcCAoKSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sQ29weVByb3AiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQ29weVByb3BMaXN0ICgpIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxDb3B5UHJvcExpc3QiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQ3JlYXRlRG9jUGFyc2VyQ3R4dCAoKSIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCN4bWxDcmVhdGVEb2NQYXJzZXJDdHh0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbENyZWF0ZUVudGl0aWVzVGFibGUgKCkiIGxpbms9ImxpYnhtbDItZW50aXRpZXMuaHRtbCN4bWxDcmVhdGVFbnRpdGllc1RhYmxlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbENyZWF0ZUVudGl0eVBhcnNlckN0eHQgKCkiIGxpbms9ImxpYnhtbDItcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sQ3JlYXRlRW50aXR5UGFyc2VyQ3R4dCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxDcmVhdGVFbnVtZXJhdGlvbiAoKSIgbGluaz0ibGlieG1sMi12YWxpZC5odG1sI3htbENyZWF0ZUVudW1lcmF0aW9uIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbENyZWF0ZUZpbGVQYXJzZXJDdHh0ICgpIiBsaW5rPSJsaWJ4bWwyLXBhcnNlckludGVybmFscy5odG1sI3htbENyZWF0ZUZpbGVQYXJzZXJDdHh0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbENyZWF0ZUlPUGFyc2VyQ3R4dCAoKSIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCN4bWxDcmVhdGVJT1BhcnNlckN0eHQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQ3JlYXRlSW50U3Vic2V0ICgpIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxDcmVhdGVJbnRTdWJzZXQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQ3JlYXRlTWVtb3J5UGFyc2VyQ3R4dCAoKSIgbGluaz0ibGlieG1sMi1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxDcmVhdGVNZW1vcnlQYXJzZXJDdHh0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbENyZWF0ZVB1c2hQYXJzZXJDdHh0ICgpIiBsaW5rPSJsaWJ4bWwyLXBhcnNlci5odG1sI3htbENyZWF0ZVB1c2hQYXJzZXJDdHh0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbENyZWF0ZVVSSSAoKSIgbGluaz0ibGlieG1sMi11cmkuaHRtbCN4bWxDcmVhdGVVUkkiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQ3JlYXRlVVJMUGFyc2VyQ3R4dCAoKSIgbGluaz0ibGlieG1sMi1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxDcmVhdGVVUkxQYXJzZXJDdHh0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEN0eHRHZXRMYXN0RXJyb3IgKCkiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCN4bWxDdHh0R2V0TGFzdEVycm9yIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEN0eHRSZWFkRG9jICgpIiBsaW5rPSJsaWJ4bWwyLXBhcnNlci5odG1sI3htbEN0eHRSZWFkRG9jIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEN0eHRSZWFkRmQgKCkiIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjeG1sQ3R4dFJlYWRGZCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxDdHh0UmVhZEZpbGUgKCkiIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjeG1sQ3R4dFJlYWRGaWxlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEN0eHRSZWFkSU8gKCkiIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjeG1sQ3R4dFJlYWRJTyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxDdHh0UmVhZE1lbW9yeSAoKSIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCN4bWxDdHh0UmVhZE1lbW9yeSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxDdHh0UmVzZXQgKCkiIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjeG1sQ3R4dFJlc2V0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEN0eHRSZXNldExhc3RFcnJvciAoKSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI3htbEN0eHRSZXNldExhc3RFcnJvciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxDdHh0UmVzZXRQdXNoICgpIiBsaW5rPSJsaWJ4bWwyLXBhcnNlci5odG1sI3htbEN0eHRSZXNldFB1c2giLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQ3R4dFVzZU9wdGlvbnMgKCkiIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjeG1sQ3R4dFVzZU9wdGlvbnMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQ3VycmVudENoYXIgKCkiIGxpbms9ImxpYnhtbDItcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sQ3VycmVudENoYXIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sRE9NV3JhcEFkb3B0Tm9kZSAoKSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sRE9NV3JhcEFkb3B0Tm9kZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxET01XcmFwQ2xvbmVOb2RlICgpIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxET01XcmFwQ2xvbmVOb2RlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbERPTVdyYXBGcmVlQ3R4dCAoKSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sRE9NV3JhcEZyZWVDdHh0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbERPTVdyYXBOZXdDdHh0ICgpIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxET01XcmFwTmV3Q3R4dCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxET01XcmFwUmVjb25jaWxlTmFtZXNwYWNlcyAoKSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sRE9NV3JhcFJlY29uY2lsZU5hbWVzcGFjZXMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sRE9NV3JhcFJlbW92ZU5vZGUgKCkiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI3htbERPTVdyYXBSZW1vdmVOb2RlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbERlYnVnQ2hlY2tEb2N1bWVudCAoKSIgbGluaz0ibGlieG1sMi1kZWJ1Z1hNTC5odG1sI3htbERlYnVnQ2hlY2tEb2N1bWVudCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxEZWJ1Z0R1bXBBdHRyICgpIiBsaW5rPSJsaWJ4bWwyLWRlYnVnWE1MLmh0bWwjeG1sRGVidWdEdW1wQXR0ciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxEZWJ1Z0R1bXBBdHRyTGlzdCAoKSIgbGluaz0ibGlieG1sMi1kZWJ1Z1hNTC5odG1sI3htbERlYnVnRHVtcEF0dHJMaXN0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbERlYnVnRHVtcERURCAoKSIgbGluaz0ibGlieG1sMi1kZWJ1Z1hNTC5odG1sI3htbERlYnVnRHVtcERURCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxEZWJ1Z0R1bXBEb2N1bWVudCAoKSIgbGluaz0ibGlieG1sMi1kZWJ1Z1hNTC5odG1sI3htbERlYnVnRHVtcERvY3VtZW50Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbERlYnVnRHVtcERvY3VtZW50SGVhZCAoKSIgbGluaz0ibGlieG1sMi1kZWJ1Z1hNTC5odG1sI3htbERlYnVnRHVtcERvY3VtZW50SGVhZCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxEZWJ1Z0R1bXBFbnRpdGllcyAoKSIgbGluaz0ibGlieG1sMi1kZWJ1Z1hNTC5odG1sI3htbERlYnVnRHVtcEVudGl0aWVzIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbERlYnVnRHVtcE5vZGUgKCkiIGxpbms9ImxpYnhtbDItZGVidWdYTUwuaHRtbCN4bWxEZWJ1Z0R1bXBOb2RlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbERlYnVnRHVtcE5vZGVMaXN0ICgpIiBsaW5rPSJsaWJ4bWwyLWRlYnVnWE1MLmh0bWwjeG1sRGVidWdEdW1wTm9kZUxpc3QiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sRGVidWdEdW1wT25lTm9kZSAoKSIgbGluaz0ibGlieG1sMi1kZWJ1Z1hNTC5odG1sI3htbERlYnVnRHVtcE9uZU5vZGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sRGVidWdEdW1wU3RyaW5nICgpIiBsaW5rPSJsaWJ4bWwyLWRlYnVnWE1MLmh0bWwjeG1sRGVidWdEdW1wU3RyaW5nIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbERlY29kZUVudGl0aWVzICgpIiBsaW5rPSJsaWJ4bWwyLXBhcnNlckludGVybmFscy5odG1sI3htbERlY29kZUVudGl0aWVzIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbERlZmF1bHRTQVhIYW5kbGVySW5pdCAoKSIgbGluaz0ibGlieG1sMi1TQVgyLmh0bWwjeG1sRGVmYXVsdFNBWEhhbmRsZXJJbml0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbERlbEVuY29kaW5nQWxpYXMgKCkiIGxpbms9ImxpYnhtbDItZW5jb2RpbmcuaHRtbCN4bWxEZWxFbmNvZGluZ0FsaWFzIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbERlcmVnaXN0ZXJOb2RlRGVmYXVsdCAoKSIgbGluaz0ibGlieG1sMi1nbG9iYWxzLmh0bWwjeG1sRGVyZWdpc3Rlck5vZGVEZWZhdWx0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbERldGVjdENoYXJFbmNvZGluZyAoKSIgbGluaz0ibGlieG1sMi1lbmNvZGluZy5odG1sI3htbERldGVjdENoYXJFbmNvZGluZyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxEaWN0Q2xlYW51cCAoKSIgbGluaz0ibGlieG1sMi1kaWN0Lmh0bWwjeG1sRGljdENsZWFudXAiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sRGljdENyZWF0ZSAoKSIgbGluaz0ibGlieG1sMi1kaWN0Lmh0bWwjeG1sRGljdENyZWF0ZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxEaWN0Q3JlYXRlU3ViICgpIiBsaW5rPSJsaWJ4bWwyLWRpY3QuaHRtbCN4bWxEaWN0Q3JlYXRlU3ViIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbERpY3RFeGlzdHMgKCkiIGxpbms9ImxpYnhtbDItZGljdC5odG1sI3htbERpY3RFeGlzdHMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sRGljdEZyZWUgKCkiIGxpbms9ImxpYnhtbDItZGljdC5odG1sI3htbERpY3RGcmVlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbERpY3RHZXRVc2FnZSAoKSIgbGluaz0ibGlieG1sMi1kaWN0Lmh0bWwjeG1sRGljdEdldFVzYWdlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbERpY3RMb29rdXAgKCkiIGxpbms9ImxpYnhtbDItZGljdC5odG1sI3htbERpY3RMb29rdXAiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sRGljdE93bnMgKCkiIGxpbms9ImxpYnhtbDItZGljdC5odG1sI3htbERpY3RPd25zIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbERpY3RRTG9va3VwICgpIiBsaW5rPSJsaWJ4bWwyLWRpY3QuaHRtbCN4bWxEaWN0UUxvb2t1cCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxEaWN0UmVmZXJlbmNlICgpIiBsaW5rPSJsaWJ4bWwyLWRpY3QuaHRtbCN4bWxEaWN0UmVmZXJlbmNlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbERpY3RTZXRMaW1pdCAoKSIgbGluaz0ibGlieG1sMi1kaWN0Lmh0bWwjeG1sRGljdFNldExpbWl0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbERpY3RTaXplICgpIiBsaW5rPSJsaWJ4bWwyLWRpY3QuaHRtbCN4bWxEaWN0U2l6ZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxEbGxNYWluICgpIiBsaW5rPSJsaWJ4bWwyLXRocmVhZHMuaHRtbCN4bWxEbGxNYWluIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbERvY0NvcHlOb2RlICgpIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NDb3B5Tm9kZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxEb2NDb3B5Tm9kZUxpc3QgKCkiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY0NvcHlOb2RlTGlzdCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxEb2NEdW1wICgpIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NEdW1wIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbERvY0R1bXBGb3JtYXRNZW1vcnkgKCkiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY0R1bXBGb3JtYXRNZW1vcnkiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sRG9jRHVtcEZvcm1hdE1lbW9yeUVuYyAoKSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jRHVtcEZvcm1hdE1lbW9yeUVuYyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxEb2NEdW1wTWVtb3J5ICgpIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxEb2NEdW1wTWVtb3J5Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbERvY0R1bXBNZW1vcnlFbmMgKCkiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY0R1bXBNZW1vcnlFbmMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sRG9jRm9ybWF0RHVtcCAoKSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jRm9ybWF0RHVtcCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxEb2NHZXRSb290RWxlbWVudCAoKSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sRG9jR2V0Um9vdEVsZW1lbnQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sRG9jU2V0Um9vdEVsZW1lbnQgKCkiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI3htbERvY1NldFJvb3RFbGVtZW50Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbER1bXBBdHRyaWJ1dGVEZWNsICgpIiBsaW5rPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sRHVtcEF0dHJpYnV0ZURlY2wiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sRHVtcEF0dHJpYnV0ZVRhYmxlICgpIiBsaW5rPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sRHVtcEF0dHJpYnV0ZVRhYmxlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbER1bXBFbGVtZW50RGVjbCAoKSIgbGluaz0ibGlieG1sMi12YWxpZC5odG1sI3htbER1bXBFbGVtZW50RGVjbCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxEdW1wRWxlbWVudFRhYmxlICgpIiBsaW5rPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sRHVtcEVsZW1lbnRUYWJsZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxEdW1wRW50aXRpZXNUYWJsZSAoKSIgbGluaz0ibGlieG1sMi1lbnRpdGllcy5odG1sI3htbER1bXBFbnRpdGllc1RhYmxlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbER1bXBFbnRpdHlEZWNsICgpIiBsaW5rPSJsaWJ4bWwyLWVudGl0aWVzLmh0bWwjeG1sRHVtcEVudGl0eURlY2wiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sRHVtcE5vdGF0aW9uRGVjbCAoKSIgbGluaz0ibGlieG1sMi12YWxpZC5odG1sI3htbER1bXBOb3RhdGlvbkRlY2wiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sRHVtcE5vdGF0aW9uVGFibGUgKCkiIGxpbms9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxEdW1wTm90YXRpb25UYWJsZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxFbGVtRHVtcCAoKSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sRWxlbUR1bXAiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sRW5jb2RlRW50aXRpZXMgKCkiIGxpbms9ImxpYnhtbDItZW50aXRpZXMuaHRtbCN4bWxFbmNvZGVFbnRpdGllcyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxFbmNvZGVFbnRpdGllc1JlZW50cmFudCAoKSIgbGluaz0ibGlieG1sMi1lbnRpdGllcy5odG1sI3htbEVuY29kZUVudGl0aWVzUmVlbnRyYW50Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEVuY29kZVNwZWNpYWxDaGFycyAoKSIgbGluaz0ibGlieG1sMi1lbnRpdGllcy5odG1sI3htbEVuY29kZVNwZWNpYWxDaGFycyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxFcnJNZW1vcnkgKCkiIGxpbms9ImxpYnhtbDItcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sRXJyTWVtb3J5Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEV4cEN0eHROYkNvbnMgKCkiIGxpbms9ImxpYnhtbDIteG1scmVnZXhwLmh0bWwjeG1sRXhwQ3R4dE5iQ29ucyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxFeHBDdHh0TmJOb2RlcyAoKSIgbGluaz0ibGlieG1sMi14bWxyZWdleHAuaHRtbCN4bWxFeHBDdHh0TmJOb2RlcyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxFeHBEdW1wICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHJlZ2V4cC5odG1sI3htbEV4cER1bXAiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sRXhwRXhwRGVyaXZlICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHJlZ2V4cC5odG1sI3htbEV4cEV4cERlcml2ZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxFeHBGcmVlICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHJlZ2V4cC5odG1sI3htbEV4cEZyZWUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sRXhwRnJlZUN0eHQgKCkiIGxpbms9ImxpYnhtbDIteG1scmVnZXhwLmh0bWwjeG1sRXhwRnJlZUN0eHQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sRXhwR2V0TGFuZ3VhZ2UgKCkiIGxpbms9ImxpYnhtbDIteG1scmVnZXhwLmh0bWwjeG1sRXhwR2V0TGFuZ3VhZ2UiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sRXhwR2V0U3RhcnQgKCkiIGxpbms9ImxpYnhtbDIteG1scmVnZXhwLmh0bWwjeG1sRXhwR2V0U3RhcnQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sRXhwSXNOaWxsYWJsZSAoKSIgbGluaz0ibGlieG1sMi14bWxyZWdleHAuaHRtbCN4bWxFeHBJc05pbGxhYmxlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEV4cE1heFRva2VuICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHJlZ2V4cC5odG1sI3htbEV4cE1heFRva2VuIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEV4cE5ld0F0b20gKCkiIGxpbms9ImxpYnhtbDIteG1scmVnZXhwLmh0bWwjeG1sRXhwTmV3QXRvbSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxFeHBOZXdDdHh0ICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5ld0N0eHQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sRXhwTmV3T3IgKCkiIGxpbms9ImxpYnhtbDIteG1scmVnZXhwLmh0bWwjeG1sRXhwTmV3T3IiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sRXhwTmV3UmFuZ2UgKCkiIGxpbms9ImxpYnhtbDIteG1scmVnZXhwLmh0bWwjeG1sRXhwTmV3UmFuZ2UiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sRXhwTmV3U2VxICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5ld1NlcSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxFeHBQYXJzZSAoKSIgbGluaz0ibGlieG1sMi14bWxyZWdleHAuaHRtbCN4bWxFeHBQYXJzZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxFeHBSZWYgKCkiIGxpbms9ImxpYnhtbDIteG1scmVnZXhwLmh0bWwjeG1sRXhwUmVmIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEV4cFN0cmluZ0Rlcml2ZSAoKSIgbGluaz0ibGlieG1sMi14bWxyZWdleHAuaHRtbCN4bWxFeHBTdHJpbmdEZXJpdmUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sRXhwU3Vic3VtZSAoKSIgbGluaz0ibGlieG1sMi14bWxyZWdleHAuaHRtbCN4bWxFeHBTdWJzdW1lIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEZpbGVDbG9zZSAoKSIgbGluaz0ibGlieG1sMi14bWxJTy5odG1sI3htbEZpbGVDbG9zZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxGaWxlTWF0Y2ggKCkiIGxpbms9ImxpYnhtbDIteG1sSU8uaHRtbCN4bWxGaWxlTWF0Y2giLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sRmlsZU9wZW4gKCkiIGxpbms9ImxpYnhtbDIteG1sSU8uaHRtbCN4bWxGaWxlT3BlbiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxGaWxlUmVhZCAoKSIgbGluaz0ibGlieG1sMi14bWxJTy5odG1sI3htbEZpbGVSZWFkIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEZpbmRDaGFyRW5jb2RpbmdIYW5kbGVyICgpIiBsaW5rPSJsaWJ4bWwyLWVuY29kaW5nLmh0bWwjeG1sRmluZENoYXJFbmNvZGluZ0hhbmRsZXIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sRmlyc3RFbGVtZW50Q2hpbGQgKCkiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI3htbEZpcnN0RWxlbWVudENoaWxkIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEZyZWVBdHRyaWJ1dGVUYWJsZSAoKSIgbGluaz0ibGlieG1sMi12YWxpZC5odG1sI3htbEZyZWVBdHRyaWJ1dGVUYWJsZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxGcmVlQXV0b21hdGEgKCkiIGxpbms9ImxpYnhtbDIteG1sYXV0b21hdGEuaHRtbCN4bWxGcmVlQXV0b21hdGEiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sRnJlZUNhdGFsb2cgKCkiIGxpbms9ImxpYnhtbDItY2F0YWxvZy5odG1sI3htbEZyZWVDYXRhbG9nIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEZyZWVEb2MgKCkiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI3htbEZyZWVEb2MiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sRnJlZURvY0VsZW1lbnRDb250ZW50ICgpIiBsaW5rPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sRnJlZURvY0VsZW1lbnRDb250ZW50Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEZyZWVEdGQgKCkiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI3htbEZyZWVEdGQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sRnJlZUVsZW1lbnRDb250ZW50ICgpIiBsaW5rPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sRnJlZUVsZW1lbnRDb250ZW50Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEZyZWVFbGVtZW50VGFibGUgKCkiIGxpbms9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxGcmVlRWxlbWVudFRhYmxlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEZyZWVFbnRpdGllc1RhYmxlICgpIiBsaW5rPSJsaWJ4bWwyLWVudGl0aWVzLmh0bWwjeG1sRnJlZUVudGl0aWVzVGFibGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sRnJlZUVudW1lcmF0aW9uICgpIiBsaW5rPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sRnJlZUVudW1lcmF0aW9uIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEZyZWVJRFRhYmxlICgpIiBsaW5rPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sRnJlZUlEVGFibGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sRnJlZUlucHV0U3RyZWFtICgpIiBsaW5rPSJsaWJ4bWwyLXBhcnNlckludGVybmFscy5odG1sI3htbEZyZWVJbnB1dFN0cmVhbSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxGcmVlTXV0ZXggKCkiIGxpbms9ImxpYnhtbDItdGhyZWFkcy5odG1sI3htbEZyZWVNdXRleCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxGcmVlTm9kZSAoKSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sRnJlZU5vZGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sRnJlZU5vZGVMaXN0ICgpIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxGcmVlTm9kZUxpc3QiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sRnJlZU5vdGF0aW9uVGFibGUgKCkiIGxpbms9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxGcmVlTm90YXRpb25UYWJsZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxGcmVlTnMgKCkiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI3htbEZyZWVOcyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxGcmVlTnNMaXN0ICgpIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxGcmVlTnNMaXN0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEZyZWVQYXJzZXJDdHh0ICgpIiBsaW5rPSJsaWJ4bWwyLXBhcnNlci5odG1sI3htbEZyZWVQYXJzZXJDdHh0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEZyZWVQYXJzZXJJbnB1dEJ1ZmZlciAoKSIgbGluaz0ibGlieG1sMi14bWxJTy5odG1sI3htbEZyZWVQYXJzZXJJbnB1dEJ1ZmZlciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxGcmVlUGF0dGVybiAoKSIgbGluaz0ibGlieG1sMi1wYXR0ZXJuLmh0bWwjeG1sRnJlZVBhdHRlcm4iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sRnJlZVBhdHRlcm5MaXN0ICgpIiBsaW5rPSJsaWJ4bWwyLXBhdHRlcm4uaHRtbCN4bWxGcmVlUGF0dGVybkxpc3QiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sRnJlZVByb3AgKCkiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI3htbEZyZWVQcm9wIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEZyZWVQcm9wTGlzdCAoKSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sRnJlZVByb3BMaXN0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEZyZWVSTXV0ZXggKCkiIGxpbms9ImxpYnhtbDItdGhyZWFkcy5odG1sI3htbEZyZWVSTXV0ZXgiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sRnJlZVJlZlRhYmxlICgpIiBsaW5rPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sRnJlZVJlZlRhYmxlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEZyZWVTdHJlYW1DdHh0ICgpIiBsaW5rPSJsaWJ4bWwyLXBhdHRlcm4uaHRtbCN4bWxGcmVlU3RyZWFtQ3R4dCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxGcmVlVGV4dFJlYWRlciAoKSIgbGluaz0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxGcmVlVGV4dFJlYWRlciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxGcmVlVGV4dFdyaXRlciAoKSIgbGluaz0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxGcmVlVGV4dFdyaXRlciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxGcmVlVVJJICgpIiBsaW5rPSJsaWJ4bWwyLXVyaS5odG1sI3htbEZyZWVVUkkiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sRnJlZVZhbGlkQ3R4dCAoKSIgbGluaz0ibGlieG1sMi12YWxpZC5odG1sI3htbEZyZWVWYWxpZEN0eHQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sR2NNZW1HZXQgKCkiIGxpbms9ImxpYnhtbDIteG1sbWVtb3J5Lmh0bWwjeG1sR2NNZW1HZXQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sR2NNZW1TZXR1cCAoKSIgbGluaz0ibGlieG1sMi14bWxtZW1vcnkuaHRtbCN4bWxHY01lbVNldHVwIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEdldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUgKCkiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI3htbEdldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sR2V0Q2hhckVuY29kaW5nSGFuZGxlciAoKSIgbGluaz0ibGlieG1sMi1lbmNvZGluZy5odG1sI3htbEdldENoYXJFbmNvZGluZ0hhbmRsZXIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sR2V0Q2hhckVuY29kaW5nTmFtZSAoKSIgbGluaz0ibGlieG1sMi1lbmNvZGluZy5odG1sI3htbEdldENoYXJFbmNvZGluZ05hbWUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sR2V0Q29tcHJlc3NNb2RlICgpIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxHZXRDb21wcmVzc01vZGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sR2V0RG9jQ29tcHJlc3NNb2RlICgpIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxHZXREb2NDb21wcmVzc01vZGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sR2V0RG9jRW50aXR5ICgpIiBsaW5rPSJsaWJ4bWwyLWVudGl0aWVzLmh0bWwjeG1sR2V0RG9jRW50aXR5Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEdldER0ZEF0dHJEZXNjICgpIiBsaW5rPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sR2V0RHRkQXR0ckRlc2MiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sR2V0RHRkRWxlbWVudERlc2MgKCkiIGxpbms9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxHZXREdGRFbGVtZW50RGVzYyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxHZXREdGRFbnRpdHkgKCkiIGxpbms9ImxpYnhtbDItZW50aXRpZXMuaHRtbCN4bWxHZXREdGRFbnRpdHkiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sR2V0RHRkTm90YXRpb25EZXNjICgpIiBsaW5rPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sR2V0RHRkTm90YXRpb25EZXNjIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEdldER0ZFFBdHRyRGVzYyAoKSIgbGluaz0ibGlieG1sMi12YWxpZC5odG1sI3htbEdldER0ZFFBdHRyRGVzYyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxHZXREdGRRRWxlbWVudERlc2MgKCkiIGxpbms9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxHZXREdGRRRWxlbWVudERlc2MiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sR2V0RW5jb2RpbmdBbGlhcyAoKSIgbGluaz0ibGlieG1sMi1lbmNvZGluZy5odG1sI3htbEdldEVuY29kaW5nQWxpYXMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sR2V0RXh0ZXJuYWxFbnRpdHlMb2FkZXIgKCkiIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjeG1sR2V0RXh0ZXJuYWxFbnRpdHlMb2FkZXIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sR2V0RmVhdHVyZSAoKSIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCN4bWxHZXRGZWF0dXJlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEdldEZlYXR1cmVzTGlzdCAoKSIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCN4bWxHZXRGZWF0dXJlc0xpc3QiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sR2V0R2xvYmFsU3RhdGUgKCkiIGxpbms9ImxpYnhtbDItdGhyZWFkcy5odG1sI3htbEdldEdsb2JhbFN0YXRlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEdldElEICgpIiBsaW5rPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sR2V0SUQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sR2V0SW50U3Vic2V0ICgpIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxHZXRJbnRTdWJzZXQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sR2V0TGFzdENoaWxkICgpIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxHZXRMYXN0Q2hpbGQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sR2V0TGFzdEVycm9yICgpIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjeG1sR2V0TGFzdEVycm9yIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEdldExpbmVObyAoKSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sR2V0TGluZU5vIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEdldE5vTnNQcm9wICgpIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxHZXROb05zUHJvcCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxHZXROb2RlUGF0aCAoKSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sR2V0Tm9kZVBhdGgiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sR2V0TnNMaXN0ICgpIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxHZXROc0xpc3QiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sR2V0TnNQcm9wICgpIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxHZXROc1Byb3AiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sR2V0UGFyYW1ldGVyRW50aXR5ICgpIiBsaW5rPSJsaWJ4bWwyLWVudGl0aWVzLmh0bWwjeG1sR2V0UGFyYW1ldGVyRW50aXR5Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEdldFByZWRlZmluZWRFbnRpdHkgKCkiIGxpbms9ImxpYnhtbDItZW50aXRpZXMuaHRtbCN4bWxHZXRQcmVkZWZpbmVkRW50aXR5Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEdldFByb3AgKCkiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI3htbEdldFByb3AiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sR2V0UmVmcyAoKSIgbGluaz0ibGlieG1sMi12YWxpZC5odG1sI3htbEdldFJlZnMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sR2V0VGhyZWFkSWQgKCkiIGxpbms9ImxpYnhtbDItdGhyZWFkcy5odG1sI3htbEdldFRocmVhZElkIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEdldFVURjhDaGFyICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbEdldFVURjhDaGFyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEhhbmRsZUVudGl0eSAoKSIgbGluaz0ibGlieG1sMi1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxIYW5kbGVFbnRpdHkiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sSGFzRmVhdHVyZSAoKSIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCN4bWxIYXNGZWF0dXJlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEhhc05zUHJvcCAoKSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sSGFzTnNQcm9wIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEhhc1Byb3AgKCkiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI3htbEhhc1Byb3AiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sSGFzaEFkZEVudHJ5ICgpIiBsaW5rPSJsaWJ4bWwyLWhhc2guaHRtbCN4bWxIYXNoQWRkRW50cnkiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sSGFzaEFkZEVudHJ5MiAoKSIgbGluaz0ibGlieG1sMi1oYXNoLmh0bWwjeG1sSGFzaEFkZEVudHJ5MiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxIYXNoQWRkRW50cnkzICgpIiBsaW5rPSJsaWJ4bWwyLWhhc2guaHRtbCN4bWxIYXNoQWRkRW50cnkzIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEhhc2hDb3B5ICgpIiBsaW5rPSJsaWJ4bWwyLWhhc2guaHRtbCN4bWxIYXNoQ29weSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxIYXNoQ3JlYXRlICgpIiBsaW5rPSJsaWJ4bWwyLWhhc2guaHRtbCN4bWxIYXNoQ3JlYXRlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEhhc2hDcmVhdGVEaWN0ICgpIiBsaW5rPSJsaWJ4bWwyLWhhc2guaHRtbCN4bWxIYXNoQ3JlYXRlRGljdCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxIYXNoRnJlZSAoKSIgbGluaz0ibGlieG1sMi1oYXNoLmh0bWwjeG1sSGFzaEZyZWUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sSGFzaExvb2t1cCAoKSIgbGluaz0ibGlieG1sMi1oYXNoLmh0bWwjeG1sSGFzaExvb2t1cCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxIYXNoTG9va3VwMiAoKSIgbGluaz0ibGlieG1sMi1oYXNoLmh0bWwjeG1sSGFzaExvb2t1cDIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sSGFzaExvb2t1cDMgKCkiIGxpbms9ImxpYnhtbDItaGFzaC5odG1sI3htbEhhc2hMb29rdXAzIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEhhc2hRTG9va3VwICgpIiBsaW5rPSJsaWJ4bWwyLWhhc2guaHRtbCN4bWxIYXNoUUxvb2t1cCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxIYXNoUUxvb2t1cDIgKCkiIGxpbms9ImxpYnhtbDItaGFzaC5odG1sI3htbEhhc2hRTG9va3VwMiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxIYXNoUUxvb2t1cDMgKCkiIGxpbms9ImxpYnhtbDItaGFzaC5odG1sI3htbEhhc2hRTG9va3VwMyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxIYXNoUmVtb3ZlRW50cnkgKCkiIGxpbms9ImxpYnhtbDItaGFzaC5odG1sI3htbEhhc2hSZW1vdmVFbnRyeSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxIYXNoUmVtb3ZlRW50cnkyICgpIiBsaW5rPSJsaWJ4bWwyLWhhc2guaHRtbCN4bWxIYXNoUmVtb3ZlRW50cnkyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEhhc2hSZW1vdmVFbnRyeTMgKCkiIGxpbms9ImxpYnhtbDItaGFzaC5odG1sI3htbEhhc2hSZW1vdmVFbnRyeTMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sSGFzaFNjYW4gKCkiIGxpbms9ImxpYnhtbDItaGFzaC5odG1sI3htbEhhc2hTY2FuIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEhhc2hTY2FuMyAoKSIgbGluaz0ibGlieG1sMi1oYXNoLmh0bWwjeG1sSGFzaFNjYW4zIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEhhc2hTY2FuRnVsbCAoKSIgbGluaz0ibGlieG1sMi1oYXNoLmh0bWwjeG1sSGFzaFNjYW5GdWxsIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEhhc2hTY2FuRnVsbDMgKCkiIGxpbms9ImxpYnhtbDItaGFzaC5odG1sI3htbEhhc2hTY2FuRnVsbDMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sSGFzaFNpemUgKCkiIGxpbms9ImxpYnhtbDItaGFzaC5odG1sI3htbEhhc2hTaXplIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEhhc2hVcGRhdGVFbnRyeSAoKSIgbGluaz0ibGlieG1sMi1oYXNoLmh0bWwjeG1sSGFzaFVwZGF0ZUVudHJ5Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEhhc2hVcGRhdGVFbnRyeTIgKCkiIGxpbms9ImxpYnhtbDItaGFzaC5odG1sI3htbEhhc2hVcGRhdGVFbnRyeTIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sSGFzaFVwZGF0ZUVudHJ5MyAoKSIgbGluaz0ibGlieG1sMi1oYXNoLmh0bWwjeG1sSGFzaFVwZGF0ZUVudHJ5MyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxJT0ZUUENsb3NlICgpIiBsaW5rPSJsaWJ4bWwyLXhtbElPLmh0bWwjeG1sSU9GVFBDbG9zZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxJT0ZUUE1hdGNoICgpIiBsaW5rPSJsaWJ4bWwyLXhtbElPLmh0bWwjeG1sSU9GVFBNYXRjaCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxJT0ZUUE9wZW4gKCkiIGxpbms9ImxpYnhtbDIteG1sSU8uaHRtbCN4bWxJT0ZUUE9wZW4iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sSU9GVFBSZWFkICgpIiBsaW5rPSJsaWJ4bWwyLXhtbElPLmh0bWwjeG1sSU9GVFBSZWFkIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbElPSFRUUENsb3NlICgpIiBsaW5rPSJsaWJ4bWwyLXhtbElPLmh0bWwjeG1sSU9IVFRQQ2xvc2UiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sSU9IVFRQTWF0Y2ggKCkiIGxpbms9ImxpYnhtbDIteG1sSU8uaHRtbCN4bWxJT0hUVFBNYXRjaCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxJT0hUVFBPcGVuICgpIiBsaW5rPSJsaWJ4bWwyLXhtbElPLmh0bWwjeG1sSU9IVFRQT3BlbiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxJT0hUVFBPcGVuVyAoKSIgbGluaz0ibGlieG1sMi14bWxJTy5odG1sI3htbElPSFRUUE9wZW5XIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbElPSFRUUFJlYWQgKCkiIGxpbms9ImxpYnhtbDIteG1sSU8uaHRtbCN4bWxJT0hUVFBSZWFkIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbElPUGFyc2VEVEQgKCkiIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjeG1sSU9QYXJzZURURCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxJbml0Q2hhckVuY29kaW5nSGFuZGxlcnMgKCkiIGxpbms9ImxpYnhtbDItZW5jb2RpbmcuaHRtbCN4bWxJbml0Q2hhckVuY29kaW5nSGFuZGxlcnMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sSW5pdEdsb2JhbHMgKCkiIGxpbms9ImxpYnhtbDItZ2xvYmFscy5odG1sI3htbEluaXRHbG9iYWxzIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEluaXRNZW1vcnkgKCkiIGxpbms9ImxpYnhtbDIteG1sbWVtb3J5Lmh0bWwjeG1sSW5pdE1lbW9yeSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxJbml0Tm9kZUluZm9TZXEgKCkiIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjeG1sSW5pdE5vZGVJbmZvU2VxIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEluaXRQYXJzZXIgKCkiIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjeG1sSW5pdFBhcnNlciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxJbml0UGFyc2VyQ3R4dCAoKSIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCN4bWxJbml0UGFyc2VyQ3R4dCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxJbml0VGhyZWFkcyAoKSIgbGluaz0ibGlieG1sMi10aHJlYWRzLmh0bWwjeG1sSW5pdFRocmVhZHMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sSW5pdGlhbGl6ZUNhdGFsb2cgKCkiIGxpbms9ImxpYnhtbDItY2F0YWxvZy5odG1sI3htbEluaXRpYWxpemVDYXRhbG9nIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEluaXRpYWxpemVEaWN0ICgpIiBsaW5rPSJsaWJ4bWwyLWRpY3QuaHRtbCN4bWxJbml0aWFsaXplRGljdCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxJbml0aWFsaXplR2xvYmFsU3RhdGUgKCkiIGxpbms9ImxpYnhtbDItZ2xvYmFscy5odG1sI3htbEluaXRpYWxpemVHbG9iYWxTdGF0ZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxJbml0aWFsaXplUHJlZGVmaW5lZEVudGl0aWVzICgpIiBsaW5rPSJsaWJ4bWwyLWVudGl0aWVzLmh0bWwjeG1sSW5pdGlhbGl6ZVByZWRlZmluZWRFbnRpdGllcyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxJc0Jhc2VDaGFyICgpIiBsaW5rPSJsaWJ4bWwyLWNodmFsaWQuaHRtbCN4bWxJc0Jhc2VDaGFyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbElzQmxhbmsgKCkiIGxpbms9ImxpYnhtbDItY2h2YWxpZC5odG1sI3htbElzQmxhbmsiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sSXNCbGFua05vZGUgKCkiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI3htbElzQmxhbmtOb2RlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbElzQ2hhciAoKSIgbGluaz0ibGlieG1sMi1jaHZhbGlkLmh0bWwjeG1sSXNDaGFyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbElzQ29tYmluaW5nICgpIiBsaW5rPSJsaWJ4bWwyLWNodmFsaWQuaHRtbCN4bWxJc0NvbWJpbmluZyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxJc0RpZ2l0ICgpIiBsaW5rPSJsaWJ4bWwyLWNodmFsaWQuaHRtbCN4bWxJc0RpZ2l0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbElzRXh0ZW5kZXIgKCkiIGxpbms9ImxpYnhtbDItY2h2YWxpZC5odG1sI3htbElzRXh0ZW5kZXIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sSXNJRCAoKSIgbGluaz0ibGlieG1sMi12YWxpZC5odG1sI3htbElzSUQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sSXNJZGVvZ3JhcGhpYyAoKSIgbGluaz0ibGlieG1sMi1jaHZhbGlkLmh0bWwjeG1sSXNJZGVvZ3JhcGhpYyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxJc0xldHRlciAoKSIgbGluaz0ibGlieG1sMi1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxJc0xldHRlciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxJc01haW5UaHJlYWQgKCkiIGxpbms9ImxpYnhtbDItdGhyZWFkcy5odG1sI3htbElzTWFpblRocmVhZCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxJc01peGVkRWxlbWVudCAoKSIgbGluaz0ibGlieG1sMi12YWxpZC5odG1sI3htbElzTWl4ZWRFbGVtZW50Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbElzUHViaWRDaGFyICgpIiBsaW5rPSJsaWJ4bWwyLWNodmFsaWQuaHRtbCN4bWxJc1B1YmlkQ2hhciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxJc1JlZiAoKSIgbGluaz0ibGlieG1sMi12YWxpZC5odG1sI3htbElzUmVmIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbElzWEhUTUwgKCkiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI3htbElzWEhUTUwiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sS2VlcEJsYW5rc0RlZmF1bHQgKCkiIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjeG1sS2VlcEJsYW5rc0RlZmF1bHQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTGFzdEVsZW1lbnRDaGlsZCAoKSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sTGFzdEVsZW1lbnRDaGlsZCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxMaW5lTnVtYmVyc0RlZmF1bHQgKCkiIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjeG1sTGluZU51bWJlcnNEZWZhdWx0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbExpbmtHZXREYXRhICgpIiBsaW5rPSJsaWJ4bWwyLWxpc3QuaHRtbCN4bWxMaW5rR2V0RGF0YSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxMaXN0QXBwZW5kICgpIiBsaW5rPSJsaWJ4bWwyLWxpc3QuaHRtbCN4bWxMaXN0QXBwZW5kIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbExpc3RDbGVhciAoKSIgbGluaz0ibGlieG1sMi1saXN0Lmh0bWwjeG1sTGlzdENsZWFyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbExpc3RDb3B5ICgpIiBsaW5rPSJsaWJ4bWwyLWxpc3QuaHRtbCN4bWxMaXN0Q29weSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxMaXN0Q3JlYXRlICgpIiBsaW5rPSJsaWJ4bWwyLWxpc3QuaHRtbCN4bWxMaXN0Q3JlYXRlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbExpc3REZWxldGUgKCkiIGxpbms9ImxpYnhtbDItbGlzdC5odG1sI3htbExpc3REZWxldGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTGlzdER1cCAoKSIgbGluaz0ibGlieG1sMi1saXN0Lmh0bWwjeG1sTGlzdER1cCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxMaXN0RW1wdHkgKCkiIGxpbms9ImxpYnhtbDItbGlzdC5odG1sI3htbExpc3RFbXB0eSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxMaXN0RW5kICgpIiBsaW5rPSJsaWJ4bWwyLWxpc3QuaHRtbCN4bWxMaXN0RW5kIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbExpc3RGcm9udCAoKSIgbGluaz0ibGlieG1sMi1saXN0Lmh0bWwjeG1sTGlzdEZyb250Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbExpc3RJbnNlcnQgKCkiIGxpbms9ImxpYnhtbDItbGlzdC5odG1sI3htbExpc3RJbnNlcnQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTGlzdE1lcmdlICgpIiBsaW5rPSJsaWJ4bWwyLWxpc3QuaHRtbCN4bWxMaXN0TWVyZ2UiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTGlzdFBvcEJhY2sgKCkiIGxpbms9ImxpYnhtbDItbGlzdC5odG1sI3htbExpc3RQb3BCYWNrIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbExpc3RQb3BGcm9udCAoKSIgbGluaz0ibGlieG1sMi1saXN0Lmh0bWwjeG1sTGlzdFBvcEZyb250Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbExpc3RQdXNoQmFjayAoKSIgbGluaz0ibGlieG1sMi1saXN0Lmh0bWwjeG1sTGlzdFB1c2hCYWNrIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbExpc3RQdXNoRnJvbnQgKCkiIGxpbms9ImxpYnhtbDItbGlzdC5odG1sI3htbExpc3RQdXNoRnJvbnQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTGlzdFJlbW92ZUFsbCAoKSIgbGluaz0ibGlieG1sMi1saXN0Lmh0bWwjeG1sTGlzdFJlbW92ZUFsbCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxMaXN0UmVtb3ZlRmlyc3QgKCkiIGxpbms9ImxpYnhtbDItbGlzdC5odG1sI3htbExpc3RSZW1vdmVGaXJzdCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxMaXN0UmVtb3ZlTGFzdCAoKSIgbGluaz0ibGlieG1sMi1saXN0Lmh0bWwjeG1sTGlzdFJlbW92ZUxhc3QiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTGlzdFJldmVyc2UgKCkiIGxpbms9ImxpYnhtbDItbGlzdC5odG1sI3htbExpc3RSZXZlcnNlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbExpc3RSZXZlcnNlU2VhcmNoICgpIiBsaW5rPSJsaWJ4bWwyLWxpc3QuaHRtbCN4bWxMaXN0UmV2ZXJzZVNlYXJjaCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxMaXN0UmV2ZXJzZVdhbGsgKCkiIGxpbms9ImxpYnhtbDItbGlzdC5odG1sI3htbExpc3RSZXZlcnNlV2FsayIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxMaXN0U2VhcmNoICgpIiBsaW5rPSJsaWJ4bWwyLWxpc3QuaHRtbCN4bWxMaXN0U2VhcmNoIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbExpc3RTaXplICgpIiBsaW5rPSJsaWJ4bWwyLWxpc3QuaHRtbCN4bWxMaXN0U2l6ZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxMaXN0U29ydCAoKSIgbGluaz0ibGlieG1sMi1saXN0Lmh0bWwjeG1sTGlzdFNvcnQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTGlzdFdhbGsgKCkiIGxpbms9ImxpYnhtbDItbGlzdC5odG1sI3htbExpc3RXYWxrIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbExvYWRBQ2F0YWxvZyAoKSIgbGluaz0ibGlieG1sMi1jYXRhbG9nLmh0bWwjeG1sTG9hZEFDYXRhbG9nIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbExvYWRDYXRhbG9nICgpIiBsaW5rPSJsaWJ4bWwyLWNhdGFsb2cuaHRtbCN4bWxMb2FkQ2F0YWxvZyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxMb2FkQ2F0YWxvZ3MgKCkiIGxpbms9ImxpYnhtbDItY2F0YWxvZy5odG1sI3htbExvYWRDYXRhbG9ncyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxMb2FkRXh0ZXJuYWxFbnRpdHkgKCkiIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjeG1sTG9hZEV4dGVybmFsRW50aXR5Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbExvYWRTR01MU3VwZXJDYXRhbG9nICgpIiBsaW5rPSJsaWJ4bWwyLWNhdGFsb2cuaHRtbCN4bWxMb2FkU0dNTFN1cGVyQ2F0YWxvZyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxMb2NrTGlicmFyeSAoKSIgbGluaz0ibGlieG1sMi10aHJlYWRzLmh0bWwjeG1sTG9ja0xpYnJhcnkiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTHNDb3VudE5vZGUgKCkiIGxpbms9ImxpYnhtbDItZGVidWdYTUwuaHRtbCN4bWxMc0NvdW50Tm9kZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxMc09uZU5vZGUgKCkiIGxpbms9ImxpYnhtbDItZGVidWdYTUwuaHRtbCN4bWxMc09uZU5vZGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTWFsbG9jQXRvbWljTG9jICgpIiBsaW5rPSJsaWJ4bWwyLXhtbG1lbW9yeS5odG1sI3htbE1hbGxvY0F0b21pY0xvYyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxNYWxsb2NMb2MgKCkiIGxpbms9ImxpYnhtbDIteG1sbWVtb3J5Lmh0bWwjeG1sTWFsbG9jTG9jIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE1lbUJsb2NrcyAoKSIgbGluaz0ibGlieG1sMi14bWxtZW1vcnkuaHRtbCN4bWxNZW1CbG9ja3MiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTWVtRGlzcGxheSAoKSIgbGluaz0ibGlieG1sMi14bWxtZW1vcnkuaHRtbCN4bWxNZW1EaXNwbGF5Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE1lbURpc3BsYXlMYXN0ICgpIiBsaW5rPSJsaWJ4bWwyLXhtbG1lbW9yeS5odG1sI3htbE1lbURpc3BsYXlMYXN0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE1lbUZyZWUgKCkiIGxpbms9ImxpYnhtbDIteG1sbWVtb3J5Lmh0bWwjeG1sTWVtRnJlZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxNZW1HZXQgKCkiIGxpbms9ImxpYnhtbDIteG1sbWVtb3J5Lmh0bWwjeG1sTWVtR2V0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE1lbU1hbGxvYyAoKSIgbGluaz0ibGlieG1sMi14bWxtZW1vcnkuaHRtbCN4bWxNZW1NYWxsb2MiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTWVtUmVhbGxvYyAoKSIgbGluaz0ibGlieG1sMi14bWxtZW1vcnkuaHRtbCN4bWxNZW1SZWFsbG9jIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE1lbVNldHVwICgpIiBsaW5rPSJsaWJ4bWwyLXhtbG1lbW9yeS5odG1sI3htbE1lbVNldHVwIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE1lbVNob3cgKCkiIGxpbms9ImxpYnhtbDIteG1sbWVtb3J5Lmh0bWwjeG1sTWVtU2hvdyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxNZW1TdHJkdXBMb2MgKCkiIGxpbms9ImxpYnhtbDIteG1sbWVtb3J5Lmh0bWwjeG1sTWVtU3RyZHVwTG9jIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE1lbVVzZWQgKCkiIGxpbms9ImxpYnhtbDIteG1sbWVtb3J5Lmh0bWwjeG1sTWVtVXNlZCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxNZW1vcnlEdW1wICgpIiBsaW5rPSJsaWJ4bWwyLXhtbG1lbW9yeS5odG1sI3htbE1lbW9yeUR1bXAiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTWVtb3J5U3RyZHVwICgpIiBsaW5rPSJsaWJ4bWwyLXhtbG1lbW9yeS5odG1sI3htbE1lbW9yeVN0cmR1cCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxNb2R1bGVDbG9zZSAoKSIgbGluaz0ibGlieG1sMi14bWxtb2R1bGUuaHRtbCN4bWxNb2R1bGVDbG9zZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxNb2R1bGVGcmVlICgpIiBsaW5rPSJsaWJ4bWwyLXhtbG1vZHVsZS5odG1sI3htbE1vZHVsZUZyZWUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTW9kdWxlT3BlbiAoKSIgbGluaz0ibGlieG1sMi14bWxtb2R1bGUuaHRtbCN4bWxNb2R1bGVPcGVuIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE1vZHVsZVN5bWJvbCAoKSIgbGluaz0ibGlieG1sMi14bWxtb2R1bGUuaHRtbCN4bWxNb2R1bGVTeW1ib2wiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTXV0ZXhMb2NrICgpIiBsaW5rPSJsaWJ4bWwyLXRocmVhZHMuaHRtbCN4bWxNdXRleExvY2siLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTXV0ZXhVbmxvY2sgKCkiIGxpbms9ImxpYnhtbDItdGhyZWFkcy5odG1sI3htbE11dGV4VW5sb2NrIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE5hbWVzcGFjZVBhcnNlTkNOYW1lICgpIiBsaW5rPSJsaWJ4bWwyLXBhcnNlckludGVybmFscy5odG1sI3htbE5hbWVzcGFjZVBhcnNlTkNOYW1lIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE5hbWVzcGFjZVBhcnNlTlNEZWYgKCkiIGxpbms9ImxpYnhtbDItcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sTmFtZXNwYWNlUGFyc2VOU0RlZiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxOYW1lc3BhY2VQYXJzZVFOYW1lICgpIiBsaW5rPSJsaWJ4bWwyLXBhcnNlckludGVybmFscy5odG1sI3htbE5hbWVzcGFjZVBhcnNlUU5hbWUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTmFub0ZUUENoZWNrUmVzcG9uc2UgKCkiIGxpbms9ImxpYnhtbDItbmFub2Z0cC5odG1sI3htbE5hbm9GVFBDaGVja1Jlc3BvbnNlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE5hbm9GVFBDbGVhbnVwICgpIiBsaW5rPSJsaWJ4bWwyLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQQ2xlYW51cCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxOYW5vRlRQQ2xvc2UgKCkiIGxpbms9ImxpYnhtbDItbmFub2Z0cC5odG1sI3htbE5hbm9GVFBDbG9zZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxOYW5vRlRQQ2xvc2VDb25uZWN0aW9uICgpIiBsaW5rPSJsaWJ4bWwyLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQQ2xvc2VDb25uZWN0aW9uIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE5hbm9GVFBDb25uZWN0ICgpIiBsaW5rPSJsaWJ4bWwyLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQQ29ubmVjdCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxOYW5vRlRQQ29ubmVjdFRvICgpIiBsaW5rPSJsaWJ4bWwyLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQQ29ubmVjdFRvIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE5hbm9GVFBDd2QgKCkiIGxpbms9ImxpYnhtbDItbmFub2Z0cC5odG1sI3htbE5hbm9GVFBDd2QiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTmFub0ZUUERlbGUgKCkiIGxpbms9ImxpYnhtbDItbmFub2Z0cC5odG1sI3htbE5hbm9GVFBEZWxlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE5hbm9GVFBGcmVlQ3R4dCAoKSIgbGluaz0ibGlieG1sMi1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUEZyZWVDdHh0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE5hbm9GVFBHZXQgKCkiIGxpbms9ImxpYnhtbDItbmFub2Z0cC5odG1sI3htbE5hbm9GVFBHZXQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTmFub0ZUUEdldENvbm5lY3Rpb24gKCkiIGxpbms9ImxpYnhtbDItbmFub2Z0cC5odG1sI3htbE5hbm9GVFBHZXRDb25uZWN0aW9uIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE5hbm9GVFBHZXRSZXNwb25zZSAoKSIgbGluaz0ibGlieG1sMi1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUEdldFJlc3BvbnNlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE5hbm9GVFBHZXRTb2NrZXQgKCkiIGxpbms9ImxpYnhtbDItbmFub2Z0cC5odG1sI3htbE5hbm9GVFBHZXRTb2NrZXQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTmFub0ZUUEluaXQgKCkiIGxpbms9ImxpYnhtbDItbmFub2Z0cC5odG1sI3htbE5hbm9GVFBJbml0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE5hbm9GVFBMaXN0ICgpIiBsaW5rPSJsaWJ4bWwyLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQTGlzdCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxOYW5vRlRQTmV3Q3R4dCAoKSIgbGluaz0ibGlieG1sMi1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUE5ld0N0eHQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTmFub0ZUUE9wZW4gKCkiIGxpbms9ImxpYnhtbDItbmFub2Z0cC5odG1sI3htbE5hbm9GVFBPcGVuIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE5hbm9GVFBQcm94eSAoKSIgbGluaz0ibGlieG1sMi1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUFByb3h5Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE5hbm9GVFBRdWl0ICgpIiBsaW5rPSJsaWJ4bWwyLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQUXVpdCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxOYW5vRlRQUmVhZCAoKSIgbGluaz0ibGlieG1sMi1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUFJlYWQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTmFub0ZUUFNjYW5Qcm94eSAoKSIgbGluaz0ibGlieG1sMi1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUFNjYW5Qcm94eSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxOYW5vRlRQVXBkYXRlVVJMICgpIiBsaW5rPSJsaWJ4bWwyLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQVXBkYXRlVVJMIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE5hbm9IVFRQQXV0aEhlYWRlciAoKSIgbGluaz0ibGlieG1sMi1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQQXV0aEhlYWRlciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxOYW5vSFRUUENsZWFudXAgKCkiIGxpbms9ImxpYnhtbDItbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUENsZWFudXAiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTmFub0hUVFBDbG9zZSAoKSIgbGluaz0ibGlieG1sMi1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQQ2xvc2UiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTmFub0hUVFBDb250ZW50TGVuZ3RoICgpIiBsaW5rPSJsaWJ4bWwyLW5hbm9odHRwLmh0bWwjeG1sTmFub0hUVFBDb250ZW50TGVuZ3RoIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE5hbm9IVFRQRW5jb2RpbmcgKCkiIGxpbms9ImxpYnhtbDItbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUEVuY29kaW5nIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE5hbm9IVFRQRmV0Y2ggKCkiIGxpbms9ImxpYnhtbDItbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUEZldGNoIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE5hbm9IVFRQSW5pdCAoKSIgbGluaz0ibGlieG1sMi1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQSW5pdCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxOYW5vSFRUUE1ldGhvZCAoKSIgbGluaz0ibGlieG1sMi1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQTWV0aG9kIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE5hbm9IVFRQTWV0aG9kUmVkaXIgKCkiIGxpbms9ImxpYnhtbDItbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUE1ldGhvZFJlZGlyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE5hbm9IVFRQTWltZVR5cGUgKCkiIGxpbms9ImxpYnhtbDItbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUE1pbWVUeXBlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE5hbm9IVFRQT3BlbiAoKSIgbGluaz0ibGlieG1sMi1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQT3BlbiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxOYW5vSFRUUE9wZW5SZWRpciAoKSIgbGluaz0ibGlieG1sMi1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQT3BlblJlZGlyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE5hbm9IVFRQUmVhZCAoKSIgbGluaz0ibGlieG1sMi1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQUmVhZCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxOYW5vSFRUUFJlZGlyICgpIiBsaW5rPSJsaWJ4bWwyLW5hbm9odHRwLmh0bWwjeG1sTmFub0hUVFBSZWRpciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxOYW5vSFRUUFJldHVybkNvZGUgKCkiIGxpbms9ImxpYnhtbDItbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUFJldHVybkNvZGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTmFub0hUVFBTYXZlICgpIiBsaW5rPSJsaWJ4bWwyLW5hbm9odHRwLmh0bWwjeG1sTmFub0hUVFBTYXZlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE5hbm9IVFRQU2NhblByb3h5ICgpIiBsaW5rPSJsaWJ4bWwyLW5hbm9odHRwLmh0bWwjeG1sTmFub0hUVFBTY2FuUHJveHkiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTmV3QXV0b21hdGEgKCkiIGxpbms9ImxpYnhtbDIteG1sYXV0b21hdGEuaHRtbCN4bWxOZXdBdXRvbWF0YSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxOZXdDRGF0YUJsb2NrICgpIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOZXdDRGF0YUJsb2NrIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE5ld0NhdGFsb2cgKCkiIGxpbms9ImxpYnhtbDItY2F0YWxvZy5odG1sI3htbE5ld0NhdGFsb2ciLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTmV3Q2hhckVuY29kaW5nSGFuZGxlciAoKSIgbGluaz0ibGlieG1sMi1lbmNvZGluZy5odG1sI3htbE5ld0NoYXJFbmNvZGluZ0hhbmRsZXIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTmV3Q2hhclJlZiAoKSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sTmV3Q2hhclJlZiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxOZXdDaGlsZCAoKSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sTmV3Q2hpbGQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTmV3Q29tbWVudCAoKSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sTmV3Q29tbWVudCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxOZXdEb2MgKCkiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI3htbE5ld0RvYyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxOZXdEb2NDb21tZW50ICgpIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOZXdEb2NDb21tZW50Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE5ld0RvY0VsZW1lbnRDb250ZW50ICgpIiBsaW5rPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sTmV3RG9jRWxlbWVudENvbnRlbnQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTmV3RG9jRnJhZ21lbnQgKCkiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI3htbE5ld0RvY0ZyYWdtZW50Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE5ld0RvY05vZGUgKCkiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI3htbE5ld0RvY05vZGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTmV3RG9jTm9kZUVhdE5hbWUgKCkiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI3htbE5ld0RvY05vZGVFYXROYW1lIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE5ld0RvY1BJICgpIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOZXdEb2NQSSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxOZXdEb2NQcm9wICgpIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOZXdEb2NQcm9wIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE5ld0RvY1Jhd05vZGUgKCkiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI3htbE5ld0RvY1Jhd05vZGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTmV3RG9jVGV4dCAoKSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sTmV3RG9jVGV4dCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxOZXdEb2NUZXh0TGVuICgpIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOZXdEb2NUZXh0TGVuIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE5ld0R0ZCAoKSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sTmV3RHRkIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE5ld0VsZW1lbnRDb250ZW50ICgpIiBsaW5rPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sTmV3RWxlbWVudENvbnRlbnQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTmV3RW50aXR5ICgpIiBsaW5rPSJsaWJ4bWwyLWVudGl0aWVzLmh0bWwjeG1sTmV3RW50aXR5Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE5ld0VudGl0eUlucHV0U3RyZWFtICgpIiBsaW5rPSJsaWJ4bWwyLXBhcnNlckludGVybmFscy5odG1sI3htbE5ld0VudGl0eUlucHV0U3RyZWFtIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE5ld0dsb2JhbE5zICgpIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOZXdHbG9iYWxOcyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxOZXdJT0lucHV0U3RyZWFtICgpIiBsaW5rPSJsaWJ4bWwyLXBhcnNlci5odG1sI3htbE5ld0lPSW5wdXRTdHJlYW0iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTmV3SW5wdXRGcm9tRmlsZSAoKSIgbGluaz0ibGlieG1sMi1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxOZXdJbnB1dEZyb21GaWxlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE5ld0lucHV0U3RyZWFtICgpIiBsaW5rPSJsaWJ4bWwyLXBhcnNlckludGVybmFscy5odG1sI3htbE5ld0lucHV0U3RyZWFtIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE5ld011dGV4ICgpIiBsaW5rPSJsaWJ4bWwyLXRocmVhZHMuaHRtbCN4bWxOZXdNdXRleCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxOZXdOb2RlICgpIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOZXdOb2RlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE5ld05vZGVFYXROYW1lICgpIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOZXdOb2RlRWF0TmFtZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxOZXdOcyAoKSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sTmV3TnMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTmV3TnNQcm9wICgpIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOZXdOc1Byb3AiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTmV3TnNQcm9wRWF0TmFtZSAoKSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sTmV3TnNQcm9wRWF0TmFtZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxOZXdQSSAoKSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sTmV3UEkiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTmV3UGFyc2VyQ3R4dCAoKSIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCN4bWxOZXdQYXJzZXJDdHh0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE5ld1Byb3AgKCkiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI3htbE5ld1Byb3AiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTmV3Uk11dGV4ICgpIiBsaW5rPSJsaWJ4bWwyLXRocmVhZHMuaHRtbCN4bWxOZXdSTXV0ZXgiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTmV3UmVmZXJlbmNlICgpIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOZXdSZWZlcmVuY2UiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTmV3U3RyaW5nSW5wdXRTdHJlYW0gKCkiIGxpbms9ImxpYnhtbDItcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sTmV3U3RyaW5nSW5wdXRTdHJlYW0iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTmV3VGV4dCAoKSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sTmV3VGV4dCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxOZXdUZXh0Q2hpbGQgKCkiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI3htbE5ld1RleHRDaGlsZCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxOZXdUZXh0TGVuICgpIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOZXdUZXh0TGVuIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE5ld1RleHRSZWFkZXIgKCkiIGxpbms9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sTmV3VGV4dFJlYWRlciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxOZXdUZXh0UmVhZGVyRmlsZW5hbWUgKCkiIGxpbms9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sTmV3VGV4dFJlYWRlckZpbGVuYW1lIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE5ld1RleHRXcml0ZXIgKCkiIGxpbms9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sTmV3VGV4dFdyaXRlciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxOZXdUZXh0V3JpdGVyRG9jICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbE5ld1RleHRXcml0ZXJEb2MiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTmV3VGV4dFdyaXRlckZpbGVuYW1lICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbE5ld1RleHRXcml0ZXJGaWxlbmFtZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxOZXdUZXh0V3JpdGVyTWVtb3J5ICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbE5ld1RleHRXcml0ZXJNZW1vcnkiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTmV3VGV4dFdyaXRlclB1c2hQYXJzZXIgKCkiIGxpbms9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sTmV3VGV4dFdyaXRlclB1c2hQYXJzZXIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTmV3VGV4dFdyaXRlclRyZWUgKCkiIGxpbms9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sTmV3VGV4dFdyaXRlclRyZWUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTmV3VmFsaWRDdHh0ICgpIiBsaW5rPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sTmV3VmFsaWRDdHh0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE5leHRDaGFyICgpIiBsaW5rPSJsaWJ4bWwyLXBhcnNlckludGVybmFscy5odG1sI3htbE5leHRDaGFyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE5leHRFbGVtZW50U2libGluZyAoKSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sTmV4dEVsZW1lbnRTaWJsaW5nIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE5vTmV0RXh0ZXJuYWxFbnRpdHlMb2FkZXIgKCkiIGxpbms9ImxpYnhtbDIteG1sSU8uaHRtbCN4bWxOb05ldEV4dGVybmFsRW50aXR5TG9hZGVyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE5vZGVBZGRDb250ZW50ICgpIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlQWRkQ29udGVudCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxOb2RlQWRkQ29udGVudExlbiAoKSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZUFkZENvbnRlbnRMZW4iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTm9kZUJ1ZkdldENvbnRlbnQgKCkiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVCdWZHZXRDb250ZW50Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE5vZGVEdW1wICgpIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlRHVtcCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxOb2RlRHVtcE91dHB1dCAoKSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZUR1bXBPdXRwdXQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTm9kZUdldEJhc2UgKCkiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVHZXRCYXNlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE5vZGVHZXRDb250ZW50ICgpIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlR2V0Q29udGVudCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxOb2RlR2V0TGFuZyAoKSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZUdldExhbmciLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTm9kZUdldFNwYWNlUHJlc2VydmUgKCkiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVHZXRTcGFjZVByZXNlcnZlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE5vZGVJc1RleHQgKCkiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVJc1RleHQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTm9kZUxpc3RHZXRSYXdTdHJpbmcgKCkiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVMaXN0R2V0UmF3U3RyaW5nIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE5vZGVMaXN0R2V0U3RyaW5nICgpIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlTGlzdEdldFN0cmluZyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxOb2RlU2V0QmFzZSAoKSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVNldEJhc2UiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTm9kZVNldENvbnRlbnQgKCkiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVTZXRDb250ZW50Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE5vZGVTZXRDb250ZW50TGVuICgpIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlU2V0Q29udGVudExlbiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxOb2RlU2V0TGFuZyAoKSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sTm9kZVNldExhbmciLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTm9kZVNldE5hbWUgKCkiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI3htbE5vZGVTZXROYW1lIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE5vZGVTZXRTcGFjZVByZXNlcnZlICgpIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxOb2RlU2V0U3BhY2VQcmVzZXJ2ZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxOb3JtYWxpemVVUklQYXRoICgpIiBsaW5rPSJsaWJ4bWwyLXVyaS5odG1sI3htbE5vcm1hbGl6ZVVSSVBhdGgiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTm9ybWFsaXplV2luZG93c1BhdGggKCkiIGxpbms9ImxpYnhtbDIteG1sSU8uaHRtbCN4bWxOb3JtYWxpemVXaW5kb3dzUGF0aCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxPdXRwdXRCdWZmZXJDbG9zZSAoKSIgbGluaz0ibGlieG1sMi14bWxJTy5odG1sI3htbE91dHB1dEJ1ZmZlckNsb3NlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE91dHB1dEJ1ZmZlckNyZWF0ZUJ1ZmZlciAoKSIgbGluaz0ibGlieG1sMi14bWxJTy5odG1sI3htbE91dHB1dEJ1ZmZlckNyZWF0ZUJ1ZmZlciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxPdXRwdXRCdWZmZXJDcmVhdGVGZCAoKSIgbGluaz0ibGlieG1sMi14bWxJTy5odG1sI3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZkIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGUgKCkiIGxpbms9ImxpYnhtbDIteG1sSU8uaHRtbCN4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lICgpIiBsaW5rPSJsaWJ4bWwyLXhtbElPLmh0bWwjeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0ICgpIiBsaW5rPSJsaWJ4bWwyLWdsb2JhbHMuaHRtbCN4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sT3V0cHV0QnVmZmVyQ3JlYXRlSU8gKCkiIGxpbms9ImxpYnhtbDIteG1sSU8uaHRtbCN4bWxPdXRwdXRCdWZmZXJDcmVhdGVJTyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxPdXRwdXRCdWZmZXJGbHVzaCAoKSIgbGluaz0ibGlieG1sMi14bWxJTy5odG1sI3htbE91dHB1dEJ1ZmZlckZsdXNoIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE91dHB1dEJ1ZmZlckdldENvbnRlbnQgKCkiIGxpbms9ImxpYnhtbDIteG1sSU8uaHRtbCN4bWxPdXRwdXRCdWZmZXJHZXRDb250ZW50Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE91dHB1dEJ1ZmZlckdldFNpemUgKCkiIGxpbms9ImxpYnhtbDIteG1sSU8uaHRtbCN4bWxPdXRwdXRCdWZmZXJHZXRTaXplIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE91dHB1dEJ1ZmZlcldyaXRlICgpIiBsaW5rPSJsaWJ4bWwyLXhtbElPLmh0bWwjeG1sT3V0cHV0QnVmZmVyV3JpdGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sT3V0cHV0QnVmZmVyV3JpdGVFc2NhcGUgKCkiIGxpbms9ImxpYnhtbDIteG1sSU8uaHRtbCN4bWxPdXRwdXRCdWZmZXJXcml0ZUVzY2FwZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyAoKSIgbGluaz0ibGlieG1sMi14bWxJTy5odG1sI3htbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFBhcnNlQXR0VmFsdWUgKCkiIGxpbms9ImxpYnhtbDItcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VBdHRWYWx1ZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxQYXJzZUF0dHJpYnV0ZSAoKSIgbGluaz0ibGlieG1sMi1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUF0dHJpYnV0ZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxQYXJzZUF0dHJpYnV0ZUxpc3REZWNsICgpIiBsaW5rPSJsaWJ4bWwyLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQXR0cmlidXRlTGlzdERlY2wiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sUGFyc2VBdHRyaWJ1dGVUeXBlICgpIiBsaW5rPSJsaWJ4bWwyLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQXR0cmlidXRlVHlwZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnkgKCkiIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjeG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXIgKCkiIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjeG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5UmVjb3ZlciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxQYXJzZUNEU2VjdCAoKSIgbGluaz0ibGlieG1sMi1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUNEU2VjdCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxQYXJzZUNhdGFsb2dGaWxlICgpIiBsaW5rPSJsaWJ4bWwyLWNhdGFsb2cuaHRtbCN4bWxQYXJzZUNhdGFsb2dGaWxlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFBhcnNlQ2hhckRhdGEgKCkiIGxpbms9ImxpYnhtbDItcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VDaGFyRGF0YSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxQYXJzZUNoYXJFbmNvZGluZyAoKSIgbGluaz0ibGlieG1sMi1lbmNvZGluZy5odG1sI3htbFBhcnNlQ2hhckVuY29kaW5nIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFBhcnNlQ2hhclJlZiAoKSIgbGluaz0ibGlieG1sMi1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUNoYXJSZWYiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sUGFyc2VDaHVuayAoKSIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCN4bWxQYXJzZUNodW5rIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFBhcnNlQ29tbWVudCAoKSIgbGluaz0ibGlieG1sMi1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUNvbW1lbnQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sUGFyc2VDb250ZW50ICgpIiBsaW5rPSJsaWJ4bWwyLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQ29udGVudCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxQYXJzZUN0eHRFeHRlcm5hbEVudGl0eSAoKSIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCN4bWxQYXJzZUN0eHRFeHRlcm5hbEVudGl0eSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxQYXJzZURURCAoKSIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCN4bWxQYXJzZURURCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxQYXJzZURlZmF1bHREZWNsICgpIiBsaW5rPSJsaWJ4bWwyLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRGVmYXVsdERlY2wiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sUGFyc2VEb2MgKCkiIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjeG1sUGFyc2VEb2MiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sUGFyc2VEb2NUeXBlRGVjbCAoKSIgbGluaz0ibGlieG1sMi1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZURvY1R5cGVEZWNsIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFBhcnNlRG9jdW1lbnQgKCkiIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjeG1sUGFyc2VEb2N1bWVudCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxQYXJzZUVsZW1lbnQgKCkiIGxpbms9ImxpYnhtbDItcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbGVtZW50Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2wgKCkiIGxpbms9ImxpYnhtbDItcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbGVtZW50Q2hpbGRyZW5Db250ZW50RGVjbCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxQYXJzZUVsZW1lbnRDb250ZW50RGVjbCAoKSIgbGluaz0ibGlieG1sMi1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVsZW1lbnRDb250ZW50RGVjbCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxQYXJzZUVsZW1lbnREZWNsICgpIiBsaW5rPSJsaWJ4bWwyLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRWxlbWVudERlY2wiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sUGFyc2VFbGVtZW50TWl4ZWRDb250ZW50RGVjbCAoKSIgbGluaz0ibGlieG1sMi1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVsZW1lbnRNaXhlZENvbnRlbnREZWNsIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFBhcnNlRW5jTmFtZSAoKSIgbGluaz0ibGlieG1sMi1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVuY05hbWUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sUGFyc2VFbmNvZGluZ0RlY2wgKCkiIGxpbms9ImxpYnhtbDItcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbmNvZGluZ0RlY2wiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sUGFyc2VFbmRUYWcgKCkiIGxpbms9ImxpYnhtbDItcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbmRUYWciLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sUGFyc2VFbnRpdHkgKCkiIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjeG1sUGFyc2VFbnRpdHkiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sUGFyc2VFbnRpdHlEZWNsICgpIiBsaW5rPSJsaWJ4bWwyLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRW50aXR5RGVjbCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxQYXJzZUVudGl0eVJlZiAoKSIgbGluaz0ibGlieG1sMi1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVudGl0eVJlZiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxQYXJzZUVudGl0eVZhbHVlICgpIiBsaW5rPSJsaWJ4bWwyLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRW50aXR5VmFsdWUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sUGFyc2VFbnVtZXJhdGVkVHlwZSAoKSIgbGluaz0ibGlieG1sMi1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVudW1lcmF0ZWRUeXBlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFBhcnNlRW51bWVyYXRpb25UeXBlICgpIiBsaW5rPSJsaWJ4bWwyLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRW51bWVyYXRpb25UeXBlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFBhcnNlRXh0UGFyc2VkRW50ICgpIiBsaW5rPSJsaWJ4bWwyLXBhcnNlci5odG1sI3htbFBhcnNlRXh0UGFyc2VkRW50Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFBhcnNlRXh0ZXJuYWxFbnRpdHkgKCkiIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjeG1sUGFyc2VFeHRlcm5hbEVudGl0eSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxQYXJzZUV4dGVybmFsSUQgKCkiIGxpbms9ImxpYnhtbDItcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFeHRlcm5hbElEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFBhcnNlRXh0ZXJuYWxTdWJzZXQgKCkiIGxpbms9ImxpYnhtbDItcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFeHRlcm5hbFN1YnNldCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxQYXJzZUZpbGUgKCkiIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjeG1sUGFyc2VGaWxlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFBhcnNlSW5Ob2RlQ29udGV4dCAoKSIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCN4bWxQYXJzZUluTm9kZUNvbnRleHQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sUGFyc2VNYXJrdXBEZWNsICgpIiBsaW5rPSJsaWJ4bWwyLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlTWFya3VwRGVjbCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxQYXJzZU1lbW9yeSAoKSIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCN4bWxQYXJzZU1lbW9yeSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxQYXJzZU1pc2MgKCkiIGxpbms9ImxpYnhtbDItcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VNaXNjIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFBhcnNlTmFtZSAoKSIgbGluaz0ibGlieG1sMi1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZU5hbWUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sUGFyc2VOYW1lc3BhY2UgKCkiIGxpbms9ImxpYnhtbDItcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VOYW1lc3BhY2UiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sUGFyc2VObXRva2VuICgpIiBsaW5rPSJsaWJ4bWwyLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlTm10b2tlbiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxQYXJzZU5vdGF0aW9uRGVjbCAoKSIgbGluaz0ibGlieG1sMi1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZU5vdGF0aW9uRGVjbCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxQYXJzZU5vdGF0aW9uVHlwZSAoKSIgbGluaz0ibGlieG1sMi1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZU5vdGF0aW9uVHlwZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxQYXJzZVBFUmVmZXJlbmNlICgpIiBsaW5rPSJsaWJ4bWwyLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlUEVSZWZlcmVuY2UiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sUGFyc2VQSSAoKSIgbGluaz0ibGlieG1sMi1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZVBJIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFBhcnNlUElUYXJnZXQgKCkiIGxpbms9ImxpYnhtbDItcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VQSVRhcmdldCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxQYXJzZVB1YmlkTGl0ZXJhbCAoKSIgbGluaz0ibGlieG1sMi1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZVB1YmlkTGl0ZXJhbCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxQYXJzZVF1b3RlZFN0cmluZyAoKSIgbGluaz0ibGlieG1sMi1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZVF1b3RlZFN0cmluZyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxQYXJzZVJlZmVyZW5jZSAoKSIgbGluaz0ibGlieG1sMi1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZVJlZmVyZW5jZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxQYXJzZVNERGVjbCAoKSIgbGluaz0ibGlieG1sMi1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZVNERGVjbCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxQYXJzZVN0YXJ0VGFnICgpIiBsaW5rPSJsaWJ4bWwyLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlU3RhcnRUYWciLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sUGFyc2VTeXN0ZW1MaXRlcmFsICgpIiBsaW5rPSJsaWJ4bWwyLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlU3lzdGVtTGl0ZXJhbCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxQYXJzZVRleHREZWNsICgpIiBsaW5rPSJsaWJ4bWwyLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlVGV4dERlY2wiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sUGFyc2VVUkkgKCkiIGxpbms9ImxpYnhtbDItdXJpLmh0bWwjeG1sUGFyc2VVUkkiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sUGFyc2VVUklSYXcgKCkiIGxpbms9ImxpYnhtbDItdXJpLmh0bWwjeG1sUGFyc2VVUklSYXciLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sUGFyc2VVUklSZWZlcmVuY2UgKCkiIGxpbms9ImxpYnhtbDItdXJpLmh0bWwjeG1sUGFyc2VVUklSZWZlcmVuY2UiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sUGFyc2VWZXJzaW9uSW5mbyAoKSIgbGluaz0ibGlieG1sMi1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZVZlcnNpb25JbmZvIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFBhcnNlVmVyc2lvbk51bSAoKSIgbGluaz0ibGlieG1sMi1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZVZlcnNpb25OdW0iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sUGFyc2VYTUxEZWNsICgpIiBsaW5rPSJsaWJ4bWwyLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlWE1MRGVjbCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxQYXJzZXJBZGROb2RlSW5mbyAoKSIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCN4bWxQYXJzZXJBZGROb2RlSW5mbyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxQYXJzZXJFcnJvciAoKSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI3htbFBhcnNlckVycm9yIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFBhcnNlckZpbmROb2RlSW5mbyAoKSIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCN4bWxQYXJzZXJGaW5kTm9kZUluZm8iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sUGFyc2VyRmluZE5vZGVJbmZvSW5kZXggKCkiIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjeG1sUGFyc2VyRmluZE5vZGVJbmZvSW5kZXgiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sUGFyc2VyR2V0RGlyZWN0b3J5ICgpIiBsaW5rPSJsaWJ4bWwyLXhtbElPLmh0bWwjeG1sUGFyc2VyR2V0RGlyZWN0b3J5Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFBhcnNlckhhbmRsZVBFUmVmZXJlbmNlICgpIiBsaW5rPSJsaWJ4bWwyLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlckhhbmRsZVBFUmVmZXJlbmNlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFBhcnNlckhhbmRsZVJlZmVyZW5jZSAoKSIgbGluaz0ibGlieG1sMi1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZXJIYW5kbGVSZWZlcmVuY2UiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGZCAoKSIgbGluaz0ibGlieG1sMi14bWxJTy5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlICgpIiBsaW5rPSJsaWJ4bWwyLXhtbElPLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWUgKCkiIGxpbms9ImxpYnhtbDIteG1sSU8uaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0ICgpIiBsaW5rPSJsaWJ4bWwyLWdsb2JhbHMuaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRGVmYXVsdCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUlPICgpIiBsaW5rPSJsaWJ4bWwyLXhtbElPLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVJTyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZU1lbSAoKSIgbGluaz0ibGlieG1sMi14bWxJTy5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlTWVtIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlU3RhdGljICgpIiBsaW5rPSJsaWJ4bWwyLXhtbElPLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVTdGF0aWMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sUGFyc2VySW5wdXRCdWZmZXJHcm93ICgpIiBsaW5rPSJsaWJ4bWwyLXhtbElPLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJHcm93Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFBhcnNlcklucHV0QnVmZmVyUHVzaCAoKSIgbGluaz0ibGlieG1sMi14bWxJTy5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyUHVzaCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxQYXJzZXJJbnB1dEJ1ZmZlclJlYWQgKCkiIGxpbms9ImxpYnhtbDIteG1sSU8uaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlclJlYWQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sUGFyc2VySW5wdXRHcm93ICgpIiBsaW5rPSJsaWJ4bWwyLXBhcnNlci5odG1sI3htbFBhcnNlcklucHV0R3JvdyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxQYXJzZXJJbnB1dFJlYWQgKCkiIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjeG1sUGFyc2VySW5wdXRSZWFkIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFBhcnNlcklucHV0U2hyaW5rICgpIiBsaW5rPSJsaWJ4bWwyLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlcklucHV0U2hyaW5rIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFBhcnNlclByaW50RmlsZUNvbnRleHQgKCkiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCN4bWxQYXJzZXJQcmludEZpbGVDb250ZXh0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFBhcnNlclByaW50RmlsZUluZm8gKCkiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCN4bWxQYXJzZXJQcmludEZpbGVJbmZvIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFBhcnNlclZhbGlkaXR5RXJyb3IgKCkiIGxpbms9ImxpYnhtbDIteG1sZXJyb3IuaHRtbCN4bWxQYXJzZXJWYWxpZGl0eUVycm9yIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFBhcnNlclZhbGlkaXR5V2FybmluZyAoKSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI3htbFBhcnNlclZhbGlkaXR5V2FybmluZyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxQYXJzZXJXYXJuaW5nICgpIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjeG1sUGFyc2VyV2FybmluZyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxQYXRoVG9VUkkgKCkiIGxpbms9ImxpYnhtbDItdXJpLmh0bWwjeG1sUGF0aFRvVVJJIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFBhdHRlcm5Gcm9tUm9vdCAoKSIgbGluaz0ibGlieG1sMi1wYXR0ZXJuLmh0bWwjeG1sUGF0dGVybkZyb21Sb290Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFBhdHRlcm5HZXRTdHJlYW1DdHh0ICgpIiBsaW5rPSJsaWJ4bWwyLXBhdHRlcm4uaHRtbCN4bWxQYXR0ZXJuR2V0U3RyZWFtQ3R4dCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxQYXR0ZXJuTWF0Y2ggKCkiIGxpbms9ImxpYnhtbDItcGF0dGVybi5odG1sI3htbFBhdHRlcm5NYXRjaCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxQYXR0ZXJuTWF4RGVwdGggKCkiIGxpbms9ImxpYnhtbDItcGF0dGVybi5odG1sI3htbFBhdHRlcm5NYXhEZXB0aCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxQYXR0ZXJuTWluRGVwdGggKCkiIGxpbms9ImxpYnhtbDItcGF0dGVybi5odG1sI3htbFBhdHRlcm5NaW5EZXB0aCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxQYXR0ZXJuU3RyZWFtYWJsZSAoKSIgbGluaz0ibGlieG1sMi1wYXR0ZXJuLmh0bWwjeG1sUGF0dGVyblN0cmVhbWFibGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sUGF0dGVybmNvbXBpbGUgKCkiIGxpbms9ImxpYnhtbDItcGF0dGVybi5odG1sI3htbFBhdHRlcm5jb21waWxlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFBlZGFudGljUGFyc2VyRGVmYXVsdCAoKSIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCN4bWxQZWRhbnRpY1BhcnNlckRlZmF1bHQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sUG9wSW5wdXQgKCkiIGxpbms9ImxpYnhtbDItcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUG9wSW5wdXQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sUG9wSW5wdXRDYWxsYmFja3MgKCkiIGxpbms9ImxpYnhtbDIteG1sSU8uaHRtbCN4bWxQb3BJbnB1dENhbGxiYWNrcyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxQcmV2aW91c0VsZW1lbnRTaWJsaW5nICgpIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxQcmV2aW91c0VsZW1lbnRTaWJsaW5nIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFByaW50VVJJICgpIiBsaW5rPSJsaWJ4bWwyLXVyaS5odG1sI3htbFByaW50VVJJIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFB1c2hJbnB1dCAoKSIgbGluaz0ibGlieG1sMi1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQdXNoSW5wdXQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sUk11dGV4TG9jayAoKSIgbGluaz0ibGlieG1sMi10aHJlYWRzLmh0bWwjeG1sUk11dGV4TG9jayIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxSTXV0ZXhVbmxvY2sgKCkiIGxpbms9ImxpYnhtbDItdGhyZWFkcy5odG1sI3htbFJNdXRleFVubG9jayIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxSZWFkRG9jICgpIiBsaW5rPSJsaWJ4bWwyLXBhcnNlci5odG1sI3htbFJlYWREb2MiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sUmVhZEZkICgpIiBsaW5rPSJsaWJ4bWwyLXBhcnNlci5odG1sI3htbFJlYWRGZCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxSZWFkRmlsZSAoKSIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCN4bWxSZWFkRmlsZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxSZWFkSU8gKCkiIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjeG1sUmVhZElPIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFJlYWRNZW1vcnkgKCkiIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjeG1sUmVhZE1lbW9yeSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxSZWFkZXJGb3JEb2MgKCkiIGxpbms9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sUmVhZGVyRm9yRG9jIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFJlYWRlckZvckZkICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFJlYWRlckZvckZkIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFJlYWRlckZvckZpbGUgKCkiIGxpbms9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sUmVhZGVyRm9yRmlsZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxSZWFkZXJGb3JJTyAoKSIgbGluaz0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxSZWFkZXJGb3JJTyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxSZWFkZXJGb3JNZW1vcnkgKCkiIGxpbms9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sUmVhZGVyRm9yTWVtb3J5Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFJlYWRlck5ld0RvYyAoKSIgbGluaz0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxSZWFkZXJOZXdEb2MiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sUmVhZGVyTmV3RmQgKCkiIGxpbms9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sUmVhZGVyTmV3RmQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sUmVhZGVyTmV3RmlsZSAoKSIgbGluaz0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxSZWFkZXJOZXdGaWxlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFJlYWRlck5ld0lPICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFJlYWRlck5ld0lPIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFJlYWRlck5ld01lbW9yeSAoKSIgbGluaz0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxSZWFkZXJOZXdNZW1vcnkiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sUmVhZGVyTmV3V2Fsa2VyICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFJlYWRlck5ld1dhbGtlciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxSZWFkZXJXYWxrZXIgKCkiIGxpbms9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sUmVhZGVyV2Fsa2VyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFJlYWxsb2NMb2MgKCkiIGxpbms9ImxpYnhtbDIteG1sbWVtb3J5Lmh0bWwjeG1sUmVhbGxvY0xvYyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxSZWNvbmNpbGlhdGVOcyAoKSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sUmVjb25jaWxpYXRlTnMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sUmVjb3ZlckRvYyAoKSIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCN4bWxSZWNvdmVyRG9jIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFJlY292ZXJGaWxlICgpIiBsaW5rPSJsaWJ4bWwyLXBhcnNlci5odG1sI3htbFJlY292ZXJGaWxlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFJlY292ZXJNZW1vcnkgKCkiIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjeG1sUmVjb3Zlck1lbW9yeSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxSZWdFeGVjRXJySW5mbyAoKSIgbGluaz0ibGlieG1sMi14bWxyZWdleHAuaHRtbCN4bWxSZWdFeGVjRXJySW5mbyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxSZWdFeGVjTmV4dFZhbHVlcyAoKSIgbGluaz0ibGlieG1sMi14bWxyZWdleHAuaHRtbCN4bWxSZWdFeGVjTmV4dFZhbHVlcyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxSZWdFeGVjUHVzaFN0cmluZyAoKSIgbGluaz0ibGlieG1sMi14bWxyZWdleHAuaHRtbCN4bWxSZWdFeGVjUHVzaFN0cmluZyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxSZWdFeGVjUHVzaFN0cmluZzIgKCkiIGxpbms9ImxpYnhtbDIteG1scmVnZXhwLmh0bWwjeG1sUmVnRXhlY1B1c2hTdHJpbmcyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFJlZ0ZyZWVFeGVjQ3R4dCAoKSIgbGluaz0ibGlieG1sMi14bWxyZWdleHAuaHRtbCN4bWxSZWdGcmVlRXhlY0N0eHQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sUmVnRnJlZVJlZ2V4cCAoKSIgbGluaz0ibGlieG1sMi14bWxyZWdleHAuaHRtbCN4bWxSZWdGcmVlUmVnZXhwIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFJlZ05ld0V4ZWNDdHh0ICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHJlZ2V4cC5odG1sI3htbFJlZ05ld0V4ZWNDdHh0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFJlZ2V4cENvbXBpbGUgKCkiIGxpbms9ImxpYnhtbDIteG1scmVnZXhwLmh0bWwjeG1sUmVnZXhwQ29tcGlsZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxSZWdleHBFeGVjICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHJlZ2V4cC5odG1sI3htbFJlZ2V4cEV4ZWMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sUmVnZXhwSXNEZXRlcm1pbmlzdCAoKSIgbGluaz0ibGlieG1sMi14bWxyZWdleHAuaHRtbCN4bWxSZWdleHBJc0RldGVybWluaXN0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFJlZ2V4cFByaW50ICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHJlZ2V4cC5odG1sI3htbFJlZ2V4cFByaW50Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFJlZ2lzdGVyQ2hhckVuY29kaW5nSGFuZGxlciAoKSIgbGluaz0ibGlieG1sMi1lbmNvZGluZy5odG1sI3htbFJlZ2lzdGVyQ2hhckVuY29kaW5nSGFuZGxlciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxSZWdpc3RlckRlZmF1bHRJbnB1dENhbGxiYWNrcyAoKSIgbGluaz0ibGlieG1sMi14bWxJTy5odG1sI3htbFJlZ2lzdGVyRGVmYXVsdElucHV0Q2FsbGJhY2tzIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFJlZ2lzdGVyRGVmYXVsdE91dHB1dENhbGxiYWNrcyAoKSIgbGluaz0ibGlieG1sMi14bWxJTy5odG1sI3htbFJlZ2lzdGVyRGVmYXVsdE91dHB1dENhbGxiYWNrcyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxSZWdpc3RlckhUVFBQb3N0Q2FsbGJhY2tzICgpIiBsaW5rPSJsaWJ4bWwyLXhtbElPLmh0bWwjeG1sUmVnaXN0ZXJIVFRQUG9zdENhbGxiYWNrcyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxSZWdpc3RlcklucHV0Q2FsbGJhY2tzICgpIiBsaW5rPSJsaWJ4bWwyLXhtbElPLmh0bWwjeG1sUmVnaXN0ZXJJbnB1dENhbGxiYWNrcyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxSZWdpc3Rlck5vZGVEZWZhdWx0ICgpIiBsaW5rPSJsaWJ4bWwyLWdsb2JhbHMuaHRtbCN4bWxSZWdpc3Rlck5vZGVEZWZhdWx0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFJlZ2lzdGVyT3V0cHV0Q2FsbGJhY2tzICgpIiBsaW5rPSJsaWJ4bWwyLXhtbElPLmh0bWwjeG1sUmVnaXN0ZXJPdXRwdXRDYWxsYmFja3MiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sUmVsYXhOR0NsZWFudXBUeXBlcyAoKSIgbGluaz0ibGlieG1sMi1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR0NsZWFudXBUeXBlcyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxSZWxheE5HRHVtcCAoKSIgbGluaz0ibGlieG1sMi1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR0R1bXAiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sUmVsYXhOR0R1bXBUcmVlICgpIiBsaW5rPSJsaWJ4bWwyLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HRHVtcFRyZWUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sUmVsYXhOR0ZyZWUgKCkiIGxpbms9ImxpYnhtbDItcmVsYXhuZy5odG1sI3htbFJlbGF4TkdGcmVlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFJlbGF4TkdGcmVlUGFyc2VyQ3R4dCAoKSIgbGluaz0ibGlieG1sMi1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR0ZyZWVQYXJzZXJDdHh0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFJlbGF4TkdGcmVlVmFsaWRDdHh0ICgpIiBsaW5rPSJsaWJ4bWwyLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HRnJlZVZhbGlkQ3R4dCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxSZWxheE5HR2V0UGFyc2VyRXJyb3JzICgpIiBsaW5rPSJsaWJ4bWwyLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HR2V0UGFyc2VyRXJyb3JzIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFJlbGF4TkdHZXRWYWxpZEVycm9ycyAoKSIgbGluaz0ibGlieG1sMi1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR0dldFZhbGlkRXJyb3JzIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFJlbGF4TkdJbml0VHlwZXMgKCkiIGxpbms9ImxpYnhtbDItcmVsYXhuZy5odG1sI3htbFJlbGF4TkdJbml0VHlwZXMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sUmVsYXhOR05ld0RvY1BhcnNlckN0eHQgKCkiIGxpbms9ImxpYnhtbDItcmVsYXhuZy5odG1sI3htbFJlbGF4TkdOZXdEb2NQYXJzZXJDdHh0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFJlbGF4TkdOZXdNZW1QYXJzZXJDdHh0ICgpIiBsaW5rPSJsaWJ4bWwyLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HTmV3TWVtUGFyc2VyQ3R4dCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxSZWxheE5HTmV3UGFyc2VyQ3R4dCAoKSIgbGluaz0ibGlieG1sMi1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR05ld1BhcnNlckN0eHQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sUmVsYXhOR05ld1ZhbGlkQ3R4dCAoKSIgbGluaz0ibGlieG1sMi1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR05ld1ZhbGlkQ3R4dCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxSZWxheE5HUGFyc2UgKCkiIGxpbms9ImxpYnhtbDItcmVsYXhuZy5odG1sI3htbFJlbGF4TkdQYXJzZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxSZWxheE5HU2V0UGFyc2VyRXJyb3JzICgpIiBsaW5rPSJsaWJ4bWwyLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HU2V0UGFyc2VyRXJyb3JzIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFJlbGF4TkdTZXRQYXJzZXJTdHJ1Y3R1cmVkRXJyb3JzICgpIiBsaW5rPSJsaWJ4bWwyLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HU2V0UGFyc2VyU3RydWN0dXJlZEVycm9ycyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxSZWxheE5HU2V0VmFsaWRFcnJvcnMgKCkiIGxpbms9ImxpYnhtbDItcmVsYXhuZy5odG1sI3htbFJlbGF4TkdTZXRWYWxpZEVycm9ycyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxSZWxheE5HU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzICgpIiBsaW5rPSJsaWJ4bWwyLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFJlbGF4TkdWYWxpZGF0ZURvYyAoKSIgbGluaz0ibGlieG1sMi1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1ZhbGlkYXRlRG9jIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFJlbGF4TkdWYWxpZGF0ZUZ1bGxFbGVtZW50ICgpIiBsaW5rPSJsaWJ4bWwyLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HVmFsaWRhdGVGdWxsRWxlbWVudCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxSZWxheE5HVmFsaWRhdGVQb3BFbGVtZW50ICgpIiBsaW5rPSJsaWJ4bWwyLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HVmFsaWRhdGVQb3BFbGVtZW50Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFJlbGF4TkdWYWxpZGF0ZVB1c2hDRGF0YSAoKSIgbGluaz0ibGlieG1sMi1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1ZhbGlkYXRlUHVzaENEYXRhIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFJlbGF4TkdWYWxpZGF0ZVB1c2hFbGVtZW50ICgpIiBsaW5rPSJsaWJ4bWwyLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HVmFsaWRhdGVQdXNoRWxlbWVudCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxSZWxheFBhcnNlclNldEZsYWcgKCkiIGxpbms9ImxpYnhtbDItcmVsYXhuZy5odG1sI3htbFJlbGF4UGFyc2VyU2V0RmxhZyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxSZW1vdmVJRCAoKSIgbGluaz0ibGlieG1sMi12YWxpZC5odG1sI3htbFJlbW92ZUlEIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFJlbW92ZVByb3AgKCkiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI3htbFJlbW92ZVByb3AiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sUmVtb3ZlUmVmICgpIiBsaW5rPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sUmVtb3ZlUmVmIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFJlcGxhY2VOb2RlICgpIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxSZXBsYWNlTm9kZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxSZXNldEVycm9yICgpIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjeG1sUmVzZXRFcnJvciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxSZXNldExhc3RFcnJvciAoKSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI3htbFJlc2V0TGFzdEVycm9yIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNBWDJBdHRyaWJ1dGVEZWNsICgpIiBsaW5rPSJsaWJ4bWwyLVNBWDIuaHRtbCN4bWxTQVgyQXR0cmlidXRlRGVjbCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTQVgyQ0RhdGFCbG9jayAoKSIgbGluaz0ibGlieG1sMi1TQVgyLmh0bWwjeG1sU0FYMkNEYXRhQmxvY2siLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU0FYMkNoYXJhY3RlcnMgKCkiIGxpbms9ImxpYnhtbDItU0FYMi5odG1sI3htbFNBWDJDaGFyYWN0ZXJzIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNBWDJDb21tZW50ICgpIiBsaW5rPSJsaWJ4bWwyLVNBWDIuaHRtbCN4bWxTQVgyQ29tbWVudCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTQVgyRWxlbWVudERlY2wgKCkiIGxpbms9ImxpYnhtbDItU0FYMi5odG1sI3htbFNBWDJFbGVtZW50RGVjbCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTQVgyRW5kRG9jdW1lbnQgKCkiIGxpbms9ImxpYnhtbDItU0FYMi5odG1sI3htbFNBWDJFbmREb2N1bWVudCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTQVgyRW5kRWxlbWVudCAoKSIgbGluaz0ibGlieG1sMi1TQVgyLmh0bWwjeG1sU0FYMkVuZEVsZW1lbnQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU0FYMkVuZEVsZW1lbnROcyAoKSIgbGluaz0ibGlieG1sMi1TQVgyLmh0bWwjeG1sU0FYMkVuZEVsZW1lbnROcyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTQVgyRW50aXR5RGVjbCAoKSIgbGluaz0ibGlieG1sMi1TQVgyLmh0bWwjeG1sU0FYMkVudGl0eURlY2wiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU0FYMkV4dGVybmFsU3Vic2V0ICgpIiBsaW5rPSJsaWJ4bWwyLVNBWDIuaHRtbCN4bWxTQVgyRXh0ZXJuYWxTdWJzZXQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU0FYMkdldENvbHVtbk51bWJlciAoKSIgbGluaz0ibGlieG1sMi1TQVgyLmh0bWwjeG1sU0FYMkdldENvbHVtbk51bWJlciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTQVgyR2V0RW50aXR5ICgpIiBsaW5rPSJsaWJ4bWwyLVNBWDIuaHRtbCN4bWxTQVgyR2V0RW50aXR5Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNBWDJHZXRMaW5lTnVtYmVyICgpIiBsaW5rPSJsaWJ4bWwyLVNBWDIuaHRtbCN4bWxTQVgyR2V0TGluZU51bWJlciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTQVgyR2V0UGFyYW1ldGVyRW50aXR5ICgpIiBsaW5rPSJsaWJ4bWwyLVNBWDIuaHRtbCN4bWxTQVgyR2V0UGFyYW1ldGVyRW50aXR5Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNBWDJHZXRQdWJsaWNJZCAoKSIgbGluaz0ibGlieG1sMi1TQVgyLmh0bWwjeG1sU0FYMkdldFB1YmxpY0lkIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNBWDJHZXRTeXN0ZW1JZCAoKSIgbGluaz0ibGlieG1sMi1TQVgyLmh0bWwjeG1sU0FYMkdldFN5c3RlbUlkIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNBWDJIYXNFeHRlcm5hbFN1YnNldCAoKSIgbGluaz0ibGlieG1sMi1TQVgyLmh0bWwjeG1sU0FYMkhhc0V4dGVybmFsU3Vic2V0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNBWDJIYXNJbnRlcm5hbFN1YnNldCAoKSIgbGluaz0ibGlieG1sMi1TQVgyLmh0bWwjeG1sU0FYMkhhc0ludGVybmFsU3Vic2V0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNBWDJJZ25vcmFibGVXaGl0ZXNwYWNlICgpIiBsaW5rPSJsaWJ4bWwyLVNBWDIuaHRtbCN4bWxTQVgySWdub3JhYmxlV2hpdGVzcGFjZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTQVgySW5pdERlZmF1bHRTQVhIYW5kbGVyICgpIiBsaW5rPSJsaWJ4bWwyLVNBWDIuaHRtbCN4bWxTQVgySW5pdERlZmF1bHRTQVhIYW5kbGVyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNBWDJJbml0RG9jYkRlZmF1bHRTQVhIYW5kbGVyICgpIiBsaW5rPSJsaWJ4bWwyLVNBWDIuaHRtbCN4bWxTQVgySW5pdERvY2JEZWZhdWx0U0FYSGFuZGxlciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTQVgySW5pdEh0bWxEZWZhdWx0U0FYSGFuZGxlciAoKSIgbGluaz0ibGlieG1sMi1TQVgyLmh0bWwjeG1sU0FYMkluaXRIdG1sRGVmYXVsdFNBWEhhbmRsZXIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU0FYMkludGVybmFsU3Vic2V0ICgpIiBsaW5rPSJsaWJ4bWwyLVNBWDIuaHRtbCN4bWxTQVgySW50ZXJuYWxTdWJzZXQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU0FYMklzU3RhbmRhbG9uZSAoKSIgbGluaz0ibGlieG1sMi1TQVgyLmh0bWwjeG1sU0FYMklzU3RhbmRhbG9uZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTQVgyTm90YXRpb25EZWNsICgpIiBsaW5rPSJsaWJ4bWwyLVNBWDIuaHRtbCN4bWxTQVgyTm90YXRpb25EZWNsIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNBWDJQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24gKCkiIGxpbms9ImxpYnhtbDItU0FYMi5odG1sI3htbFNBWDJQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU0FYMlJlZmVyZW5jZSAoKSIgbGluaz0ibGlieG1sMi1TQVgyLmh0bWwjeG1sU0FYMlJlZmVyZW5jZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTQVgyUmVzb2x2ZUVudGl0eSAoKSIgbGluaz0ibGlieG1sMi1TQVgyLmh0bWwjeG1sU0FYMlJlc29sdmVFbnRpdHkiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU0FYMlNldERvY3VtZW50TG9jYXRvciAoKSIgbGluaz0ibGlieG1sMi1TQVgyLmh0bWwjeG1sU0FYMlNldERvY3VtZW50TG9jYXRvciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTQVgyU3RhcnREb2N1bWVudCAoKSIgbGluaz0ibGlieG1sMi1TQVgyLmh0bWwjeG1sU0FYMlN0YXJ0RG9jdW1lbnQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU0FYMlN0YXJ0RWxlbWVudCAoKSIgbGluaz0ibGlieG1sMi1TQVgyLmh0bWwjeG1sU0FYMlN0YXJ0RWxlbWVudCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTQVgyU3RhcnRFbGVtZW50TnMgKCkiIGxpbms9ImxpYnhtbDItU0FYMi5odG1sI3htbFNBWDJTdGFydEVsZW1lbnROcyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTQVgyVW5wYXJzZWRFbnRpdHlEZWNsICgpIiBsaW5rPSJsaWJ4bWwyLVNBWDIuaHRtbCN4bWxTQVgyVW5wYXJzZWRFbnRpdHlEZWNsIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNBWERlZmF1bHRWZXJzaW9uICgpIiBsaW5rPSJsaWJ4bWwyLVNBWDIuaHRtbCN4bWxTQVhEZWZhdWx0VmVyc2lvbiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTQVhQYXJzZURURCAoKSIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCN4bWxTQVhQYXJzZURURCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTQVhQYXJzZURvYyAoKSIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCN4bWxTQVhQYXJzZURvYyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTQVhQYXJzZUVudGl0eSAoKSIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCN4bWxTQVhQYXJzZUVudGl0eSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTQVhQYXJzZUZpbGUgKCkiIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjeG1sU0FYUGFyc2VGaWxlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNBWFBhcnNlRmlsZVdpdGhEYXRhICgpIiBsaW5rPSJsaWJ4bWwyLXBhcnNlci5odG1sI3htbFNBWFBhcnNlRmlsZVdpdGhEYXRhIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNBWFBhcnNlTWVtb3J5ICgpIiBsaW5rPSJsaWJ4bWwyLXBhcnNlci5odG1sI3htbFNBWFBhcnNlTWVtb3J5Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNBWFBhcnNlTWVtb3J5V2l0aERhdGEgKCkiIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjeG1sU0FYUGFyc2VNZW1vcnlXaXRoRGF0YSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTQVhVc2VyUGFyc2VGaWxlICgpIiBsaW5rPSJsaWJ4bWwyLXBhcnNlci5odG1sI3htbFNBWFVzZXJQYXJzZUZpbGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU0FYVXNlclBhcnNlTWVtb3J5ICgpIiBsaW5rPSJsaWJ4bWwyLXBhcnNlci5odG1sI3htbFNBWFVzZXJQYXJzZU1lbW9yeSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTQVhWZXJzaW9uICgpIiBsaW5rPSJsaWJ4bWwyLVNBWDIuaHRtbCN4bWxTQVhWZXJzaW9uIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNhdmVDbG9zZSAoKSIgbGluaz0ibGlieG1sMi14bWxzYXZlLmh0bWwjeG1sU2F2ZUNsb3NlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNhdmVEb2MgKCkiIGxpbms9ImxpYnhtbDIteG1sc2F2ZS5odG1sI3htbFNhdmVEb2MiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2F2ZUZpbGUgKCkiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI3htbFNhdmVGaWxlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNhdmVGaWxlRW5jICgpIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxTYXZlRmlsZUVuYyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTYXZlRmlsZVRvICgpIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxTYXZlRmlsZVRvIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNhdmVGbHVzaCAoKSIgbGluaz0ibGlieG1sMi14bWxzYXZlLmh0bWwjeG1sU2F2ZUZsdXNoIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNhdmVGb3JtYXRGaWxlICgpIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxTYXZlRm9ybWF0RmlsZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTYXZlRm9ybWF0RmlsZUVuYyAoKSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sU2F2ZUZvcm1hdEZpbGVFbmMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2F2ZUZvcm1hdEZpbGVUbyAoKSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sU2F2ZUZvcm1hdEZpbGVUbyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTYXZlU2V0QXR0ckVzY2FwZSAoKSIgbGluaz0ibGlieG1sMi14bWxzYXZlLmh0bWwjeG1sU2F2ZVNldEF0dHJFc2NhcGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2F2ZVNldEVzY2FwZSAoKSIgbGluaz0ibGlieG1sMi14bWxzYXZlLmh0bWwjeG1sU2F2ZVNldEVzY2FwZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTYXZlVG9CdWZmZXIgKCkiIGxpbms9ImxpYnhtbDIteG1sc2F2ZS5odG1sI3htbFNhdmVUb0J1ZmZlciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTYXZlVG9GZCAoKSIgbGluaz0ibGlieG1sMi14bWxzYXZlLmh0bWwjeG1sU2F2ZVRvRmQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2F2ZVRvRmlsZW5hbWUgKCkiIGxpbms9ImxpYnhtbDIteG1sc2F2ZS5odG1sI3htbFNhdmVUb0ZpbGVuYW1lIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNhdmVUb0lPICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHNhdmUuaHRtbCN4bWxTYXZlVG9JTyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTYXZlVHJlZSAoKSIgbGluaz0ibGlieG1sMi14bWxzYXZlLmh0bWwjeG1sU2F2ZVRyZWUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2F2ZVVyaSAoKSIgbGluaz0ibGlieG1sMi11cmkuaHRtbCN4bWxTYXZlVXJpIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNjYW5OYW1lICgpIiBsaW5rPSJsaWJ4bWwyLXBhcnNlckludGVybmFscy5odG1sI3htbFNjYW5OYW1lIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNjaGVtYUNoZWNrRmFjZXQgKCkiIGxpbms9ImxpYnhtbDIteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hQ2hlY2tGYWNldCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTY2hlbWFDbGVhbnVwVHlwZXMgKCkiIGxpbms9ImxpYnhtbDIteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hQ2xlYW51cFR5cGVzIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNjaGVtYUNvbGxhcHNlU3RyaW5nICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUNvbGxhcHNlU3RyaW5nIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNjaGVtYUNvbXBhcmVWYWx1ZXMgKCkiIGxpbms9ImxpYnhtbDIteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hQ29tcGFyZVZhbHVlcyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTY2hlbWFDb21wYXJlVmFsdWVzV2h0c3AgKCkiIGxpbms9ImxpYnhtbDIteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hQ29tcGFyZVZhbHVlc1dodHNwIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNjaGVtYUNvcHlWYWx1ZSAoKSIgbGluaz0ibGlieG1sMi14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFDb3B5VmFsdWUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2NoZW1hRHVtcCAoKSIgbGluaz0ibGlieG1sMi14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hRHVtcCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTY2hlbWFGcmVlICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFGcmVlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNjaGVtYUZyZWVGYWNldCAoKSIgbGluaz0ibGlieG1sMi14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFGcmVlRmFjZXQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2NoZW1hRnJlZVBhcnNlckN0eHQgKCkiIGxpbms9ImxpYnhtbDIteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYUZyZWVQYXJzZXJDdHh0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNjaGVtYUZyZWVUeXBlICgpIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFGcmVlVHlwZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTY2hlbWFGcmVlVmFsaWRDdHh0ICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFGcmVlVmFsaWRDdHh0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNjaGVtYUZyZWVWYWx1ZSAoKSIgbGluaz0ibGlieG1sMi14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFGcmVlVmFsdWUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2NoZW1hRnJlZVdpbGRjYXJkICgpIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFGcmVlV2lsZGNhcmQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2NoZW1hR2V0QnVpbHRJbkxpc3RTaW1wbGVUeXBlSXRlbVR5cGUgKCkiIGxpbms9ImxpYnhtbDIteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hR2V0QnVpbHRJbkxpc3RTaW1wbGVUeXBlSXRlbVR5cGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2NoZW1hR2V0QnVpbHRJblR5cGUgKCkiIGxpbms9ImxpYnhtbDIteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hR2V0QnVpbHRJblR5cGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2NoZW1hR2V0Q2Fub25WYWx1ZSAoKSIgbGluaz0ibGlieG1sMi14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFHZXRDYW5vblZhbHVlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNjaGVtYUdldENhbm9uVmFsdWVXaHRzcCAoKSIgbGluaz0ibGlieG1sMi14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFHZXRDYW5vblZhbHVlV2h0c3AiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2NoZW1hR2V0RmFjZXRWYWx1ZUFzVUxvbmcgKCkiIGxpbms9ImxpYnhtbDIteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hR2V0RmFjZXRWYWx1ZUFzVUxvbmciLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2NoZW1hR2V0UGFyc2VyRXJyb3JzICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFHZXRQYXJzZXJFcnJvcnMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2NoZW1hR2V0UHJlZGVmaW5lZFR5cGUgKCkiIGxpbms9ImxpYnhtbDIteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hR2V0UHJlZGVmaW5lZFR5cGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2NoZW1hR2V0VmFsVHlwZSAoKSIgbGluaz0ibGlieG1sMi14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFHZXRWYWxUeXBlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNjaGVtYUdldFZhbGlkRXJyb3JzICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFHZXRWYWxpZEVycm9ycyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTY2hlbWFJbml0VHlwZXMgKCkiIGxpbms9ImxpYnhtbDIteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hSW5pdFR5cGVzIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNjaGVtYUlzQnVpbHRJblR5cGVGYWNldCAoKSIgbGluaz0ibGlieG1sMi14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFJc0J1aWx0SW5UeXBlRmFjZXQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2NoZW1hSXNWYWxpZCAoKSIgbGluaz0ibGlieG1sMi14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hSXNWYWxpZCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTY2hlbWFOZXdEb2NQYXJzZXJDdHh0ICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFOZXdEb2NQYXJzZXJDdHh0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNjaGVtYU5ld0ZhY2V0ICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYU5ld0ZhY2V0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNjaGVtYU5ld01lbVBhcnNlckN0eHQgKCkiIGxpbms9ImxpYnhtbDIteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYU5ld01lbVBhcnNlckN0eHQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2NoZW1hTmV3Tk9UQVRJT05WYWx1ZSAoKSIgbGluaz0ibGlieG1sMi14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFOZXdOT1RBVElPTlZhbHVlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNjaGVtYU5ld1BhcnNlckN0eHQgKCkiIGxpbms9ImxpYnhtbDIteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYU5ld1BhcnNlckN0eHQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2NoZW1hTmV3UU5hbWVWYWx1ZSAoKSIgbGluaz0ibGlieG1sMi14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFOZXdRTmFtZVZhbHVlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNjaGVtYU5ld1N0cmluZ1ZhbHVlICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYU5ld1N0cmluZ1ZhbHVlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNjaGVtYU5ld1ZhbGlkQ3R4dCAoKSIgbGluaz0ibGlieG1sMi14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hTmV3VmFsaWRDdHh0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNjaGVtYVBhcnNlICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFQYXJzZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTY2hlbWFTQVhQbHVnICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFTQVhQbHVnIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNjaGVtYVNBWFVucGx1ZyAoKSIgbGluaz0ibGlieG1sMi14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hU0FYVW5wbHVnIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNjaGVtYVNldFBhcnNlckVycm9ycyAoKSIgbGluaz0ibGlieG1sMi14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hU2V0UGFyc2VyRXJyb3JzIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNjaGVtYVNldFBhcnNlclN0cnVjdHVyZWRFcnJvcnMgKCkiIGxpbms9ImxpYnhtbDIteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVNldFBhcnNlclN0cnVjdHVyZWRFcnJvcnMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2NoZW1hU2V0VmFsaWRFcnJvcnMgKCkiIGxpbms9ImxpYnhtbDIteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVNldFZhbGlkRXJyb3JzIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNjaGVtYVNldFZhbGlkT3B0aW9ucyAoKSIgbGluaz0ibGlieG1sMi14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hU2V0VmFsaWRPcHRpb25zIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNjaGVtYVNldFZhbGlkU3RydWN0dXJlZEVycm9ycyAoKSIgbGluaz0ibGlieG1sMi14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNjaGVtYVZhbFByZWRlZlR5cGVOb2RlICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYVZhbFByZWRlZlR5cGVOb2RlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNjaGVtYVZhbFByZWRlZlR5cGVOb2RlTm9Ob3JtICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYVZhbFByZWRlZlR5cGVOb2RlTm9Ob3JtIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNjaGVtYVZhbGlkQ3R4dEdldE9wdGlvbnMgKCkiIGxpbms9ImxpYnhtbDIteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkQ3R4dEdldE9wdGlvbnMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2NoZW1hVmFsaWRDdHh0R2V0UGFyc2VyQ3R4dCAoKSIgbGluaz0ibGlieG1sMi14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRDdHh0R2V0UGFyc2VyQ3R4dCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTY2hlbWFWYWxpZGF0ZURvYyAoKSIgbGluaz0ibGlieG1sMi14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRhdGVEb2MiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2NoZW1hVmFsaWRhdGVGYWNldCAoKSIgbGluaz0ibGlieG1sMi14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNjaGVtYVZhbGlkYXRlRmFjZXRXaHRzcCAoKSIgbGluaz0ibGlieG1sMi14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0V2h0c3AiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2NoZW1hVmFsaWRhdGVGaWxlICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZGF0ZUZpbGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldCAoKSIgbGluaz0ibGlieG1sMi14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFWYWxpZGF0ZUxlbmd0aEZhY2V0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXRXaHRzcCAoKSIgbGluaz0ibGlieG1sMi14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFWYWxpZGF0ZUxlbmd0aEZhY2V0V2h0c3AiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2NoZW1hVmFsaWRhdGVMaXN0U2ltcGxlVHlwZUZhY2V0ICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYVZhbGlkYXRlTGlzdFNpbXBsZVR5cGVGYWNldCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTY2hlbWFWYWxpZGF0ZU9uZUVsZW1lbnQgKCkiIGxpbms9ImxpYnhtbDIteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkYXRlT25lRWxlbWVudCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTY2hlbWFWYWxpZGF0ZVByZWRlZmluZWRUeXBlICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYVZhbGlkYXRlUHJlZGVmaW5lZFR5cGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2NoZW1hVmFsaWRhdGVTZXRGaWxlbmFtZSAoKSIgbGluaz0ibGlieG1sMi14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRhdGVTZXRGaWxlbmFtZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTY2hlbWFWYWxpZGF0ZVNldExvY2F0b3IgKCkiIGxpbms9ImxpYnhtbDIteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkYXRlU2V0TG9jYXRvciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTY2hlbWFWYWxpZGF0ZVN0cmVhbSAoKSIgbGluaz0ibGlieG1sMi14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRhdGVTdHJlYW0iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2NoZW1hVmFsdWVBcHBlbmQgKCkiIGxpbms9ImxpYnhtbDIteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hVmFsdWVBcHBlbmQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2NoZW1hVmFsdWVHZXRBc0Jvb2xlYW4gKCkiIGxpbms9ImxpYnhtbDIteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hVmFsdWVHZXRBc0Jvb2xlYW4iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2NoZW1hVmFsdWVHZXRBc1N0cmluZyAoKSIgbGluaz0ibGlieG1sMi14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFWYWx1ZUdldEFzU3RyaW5nIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNjaGVtYVZhbHVlR2V0TmV4dCAoKSIgbGluaz0ibGlieG1sMi14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFWYWx1ZUdldE5leHQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2NoZW1hV2hpdGVTcGFjZVJlcGxhY2UgKCkiIGxpbms9ImxpYnhtbDIteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hV2hpdGVTcGFjZVJlcGxhY2UiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2NoZW1hdHJvbkZyZWUgKCkiIGxpbms9ImxpYnhtbDItc2NoZW1hdHJvbi5odG1sI3htbFNjaGVtYXRyb25GcmVlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNjaGVtYXRyb25GcmVlUGFyc2VyQ3R4dCAoKSIgbGluaz0ibGlieG1sMi1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvbkZyZWVQYXJzZXJDdHh0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNjaGVtYXRyb25GcmVlVmFsaWRDdHh0ICgpIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uRnJlZVZhbGlkQ3R4dCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTY2hlbWF0cm9uTmV3RG9jUGFyc2VyQ3R4dCAoKSIgbGluaz0ibGlieG1sMi1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvbk5ld0RvY1BhcnNlckN0eHQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2NoZW1hdHJvbk5ld01lbVBhcnNlckN0eHQgKCkiIGxpbms9ImxpYnhtbDItc2NoZW1hdHJvbi5odG1sI3htbFNjaGVtYXRyb25OZXdNZW1QYXJzZXJDdHh0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNjaGVtYXRyb25OZXdQYXJzZXJDdHh0ICgpIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uTmV3UGFyc2VyQ3R4dCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTY2hlbWF0cm9uTmV3VmFsaWRDdHh0ICgpIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uTmV3VmFsaWRDdHh0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNjaGVtYXRyb25QYXJzZSAoKSIgbGluaz0ibGlieG1sMi1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvblBhcnNlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNjaGVtYXRyb25TZXRWYWxpZFN0cnVjdHVyZWRFcnJvcnMgKCkiIGxpbms9ImxpYnhtbDItc2NoZW1hdHJvbi5odG1sI3htbFNjaGVtYXRyb25TZXRWYWxpZFN0cnVjdHVyZWRFcnJvcnMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2NoZW1hdHJvblZhbGlkYXRlRG9jICgpIiBsaW5rPSJsaWJ4bWwyLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uVmFsaWRhdGVEb2MiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2VhcmNoTnMgKCkiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI3htbFNlYXJjaE5zIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNlYXJjaE5zQnlIcmVmICgpIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxTZWFyY2hOc0J5SHJlZiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lICgpIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxTZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNldENvbXByZXNzTW9kZSAoKSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sU2V0Q29tcHJlc3NNb2RlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNldERvY0NvbXByZXNzTW9kZSAoKSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sU2V0RG9jQ29tcHJlc3NNb2RlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNldEVudGl0eVJlZmVyZW5jZUZ1bmMgKCkiIGxpbms9ImxpYnhtbDItcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sU2V0RW50aXR5UmVmZXJlbmNlRnVuYyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTZXRFeHRlcm5hbEVudGl0eUxvYWRlciAoKSIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCN4bWxTZXRFeHRlcm5hbEVudGl0eUxvYWRlciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTZXRGZWF0dXJlICgpIiBsaW5rPSJsaWJ4bWwyLXBhcnNlci5odG1sI3htbFNldEZlYXR1cmUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2V0R2VuZXJpY0Vycm9yRnVuYyAoKSIgbGluaz0ibGlieG1sMi14bWxlcnJvci5odG1sI3htbFNldEdlbmVyaWNFcnJvckZ1bmMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2V0TGlzdERvYyAoKSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sU2V0TGlzdERvYyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTZXROcyAoKSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sU2V0TnMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2V0TnNQcm9wICgpIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxTZXROc1Byb3AiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2V0UHJvcCAoKSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sU2V0UHJvcCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTZXRTdHJ1Y3R1cmVkRXJyb3JGdW5jICgpIiBsaW5rPSJsaWJ4bWwyLXhtbGVycm9yLmh0bWwjeG1sU2V0U3RydWN0dXJlZEVycm9yRnVuYyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTZXRUcmVlRG9jICgpIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxTZXRUcmVlRG9jIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNldHVwUGFyc2VyRm9yQnVmZmVyICgpIiBsaW5rPSJsaWJ4bWwyLXBhcnNlci5odG1sI3htbFNldHVwUGFyc2VyRm9yQnVmZmVyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNoZWxsICgpIiBsaW5rPSJsaWJ4bWwyLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGwiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2hlbGxCYXNlICgpIiBsaW5rPSJsaWJ4bWwyLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxCYXNlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNoZWxsQ2F0ICgpIiBsaW5rPSJsaWJ4bWwyLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxDYXQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2hlbGxEaXIgKCkiIGxpbms9ImxpYnhtbDItZGVidWdYTUwuaHRtbCN4bWxTaGVsbERpciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTaGVsbER1ICgpIiBsaW5rPSJsaWJ4bWwyLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxEdSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTaGVsbExpc3QgKCkiIGxpbms9ImxpYnhtbDItZGVidWdYTUwuaHRtbCN4bWxTaGVsbExpc3QiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2hlbGxMb2FkICgpIiBsaW5rPSJsaWJ4bWwyLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxMb2FkIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNoZWxsUHJpbnROb2RlICgpIiBsaW5rPSJsaWJ4bWwyLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxQcmludE5vZGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2hlbGxQcmludFhQYXRoRXJyb3IgKCkiIGxpbms9ImxpYnhtbDItZGVidWdYTUwuaHRtbCN4bWxTaGVsbFByaW50WFBhdGhFcnJvciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTaGVsbFByaW50WFBhdGhSZXN1bHQgKCkiIGxpbms9ImxpYnhtbDItZGVidWdYTUwuaHRtbCN4bWxTaGVsbFByaW50WFBhdGhSZXN1bHQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2hlbGxQd2QgKCkiIGxpbms9ImxpYnhtbDItZGVidWdYTUwuaHRtbCN4bWxTaGVsbFB3ZCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTaGVsbFNhdmUgKCkiIGxpbms9ImxpYnhtbDItZGVidWdYTUwuaHRtbCN4bWxTaGVsbFNhdmUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2hlbGxWYWxpZGF0ZSAoKSIgbGluaz0ibGlieG1sMi1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsVmFsaWRhdGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2hlbGxXcml0ZSAoKSIgbGluaz0ibGlieG1sMi1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsV3JpdGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2tpcEJsYW5rQ2hhcnMgKCkiIGxpbms9ImxpYnhtbDItcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sU2tpcEJsYW5rQ2hhcnMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU25wcmludGZFbGVtZW50Q29udGVudCAoKSIgbGluaz0ibGlieG1sMi12YWxpZC5odG1sI3htbFNucHJpbnRmRWxlbWVudENvbnRlbnQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU3BsaXRRTmFtZSAoKSIgbGluaz0ibGlieG1sMi1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxTcGxpdFFOYW1lIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNwbGl0UU5hbWUyICgpIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxTcGxpdFFOYW1lMiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTcGxpdFFOYW1lMyAoKSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sU3BsaXRRTmFtZTMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU3ByaW50ZkVsZW1lbnRDb250ZW50ICgpIiBsaW5rPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sU3ByaW50ZkVsZW1lbnRDb250ZW50Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFN0b3BQYXJzZXIgKCkiIGxpbms9ImxpYnhtbDItcGFyc2VyLmh0bWwjeG1sU3RvcFBhcnNlciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTdHJFcXVhbCAoKSIgbGluaz0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxTdHJFcXVhbCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTdHJQcmludGYgKCkiIGxpbms9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sU3RyUHJpbnRmIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFN0clFFcXVhbCAoKSIgbGluaz0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxTdHJRRXF1YWwiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU3RyVlByaW50ZiAoKSIgbGluaz0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxTdHJWUHJpbnRmIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFN0cmNhc2VjbXAgKCkiIGxpbms9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sU3RyY2FzZWNtcCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTdHJjYXNlc3RyICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbFN0cmNhc2VzdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU3RyY2F0ICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbFN0cmNhdCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTdHJjaHIgKCkiIGxpbms9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sU3RyY2hyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFN0cmNtcCAoKSIgbGluaz0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxTdHJjbXAiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU3RyZHVwICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbFN0cmR1cCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTdHJlYW1Qb3AgKCkiIGxpbms9ImxpYnhtbDItcGF0dGVybi5odG1sI3htbFN0cmVhbVBvcCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTdHJlYW1QdXNoICgpIiBsaW5rPSJsaWJ4bWwyLXBhdHRlcm4uaHRtbCN4bWxTdHJlYW1QdXNoIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFN0cmVhbVB1c2hBdHRyICgpIiBsaW5rPSJsaWJ4bWwyLXBhdHRlcm4uaHRtbCN4bWxTdHJlYW1QdXNoQXR0ciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTdHJlYW1QdXNoTm9kZSAoKSIgbGluaz0ibGlieG1sMi1wYXR0ZXJuLmh0bWwjeG1sU3RyZWFtUHVzaE5vZGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU3RyZWFtV2FudHNBbnlOb2RlICgpIiBsaW5rPSJsaWJ4bWwyLXBhdHRlcm4uaHRtbCN4bWxTdHJlYW1XYW50c0FueU5vZGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU3RyaW5nQ3VycmVudENoYXIgKCkiIGxpbms9ImxpYnhtbDItcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sU3RyaW5nQ3VycmVudENoYXIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU3RyaW5nRGVjb2RlRW50aXRpZXMgKCkiIGxpbms9ImxpYnhtbDItcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sU3RyaW5nRGVjb2RlRW50aXRpZXMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU3RyaW5nR2V0Tm9kZUxpc3QgKCkiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI3htbFN0cmluZ0dldE5vZGVMaXN0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFN0cmluZ0xlbkRlY29kZUVudGl0aWVzICgpIiBsaW5rPSJsaWJ4bWwyLXBhcnNlckludGVybmFscy5odG1sI3htbFN0cmluZ0xlbkRlY29kZUVudGl0aWVzIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFN0cmluZ0xlbkdldE5vZGVMaXN0ICgpIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxTdHJpbmdMZW5HZXROb2RlTGlzdCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTdHJsZW4gKCkiIGxpbms9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sU3RybGVuIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFN0cm5jYXNlY21wICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbFN0cm5jYXNlY21wIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFN0cm5jYXQgKCkiIGxpbms9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sU3RybmNhdCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTdHJuY2F0TmV3ICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbFN0cm5jYXROZXciLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU3RybmNtcCAoKSIgbGluaz0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxTdHJuY21wIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFN0cm5kdXAgKCkiIGxpbms9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sU3RybmR1cCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTdHJzdHIgKCkiIGxpbms9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sU3Ryc3RyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFN0cnN1YiAoKSIgbGluaz0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxTdHJzdWIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdCAoKSIgbGluaz0ibGlieG1sMi1wYXJzZXIuaHRtbCN4bWxTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFN3aXRjaEVuY29kaW5nICgpIiBsaW5rPSJsaWJ4bWwyLXBhcnNlckludGVybmFscy5odG1sI3htbFN3aXRjaEVuY29kaW5nIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFN3aXRjaElucHV0RW5jb2RpbmcgKCkiIGxpbms9ImxpYnhtbDItcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sU3dpdGNoSW5wdXRFbmNvZGluZyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTd2l0Y2hUb0VuY29kaW5nICgpIiBsaW5rPSJsaWJ4bWwyLXBhcnNlckludGVybmFscy5odG1sI3htbFN3aXRjaFRvRW5jb2RpbmciLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVGV4dENvbmNhdCAoKSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sVGV4dENvbmNhdCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUZXh0TWVyZ2UgKCkiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI3htbFRleHRNZXJnZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUZXh0UmVhZGVyQXR0cmlidXRlQ291bnQgKCkiIGxpbms9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckF0dHJpYnV0ZUNvdW50Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFRleHRSZWFkZXJCYXNlVXJpICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJCYXNlVXJpIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFRleHRSZWFkZXJCeXRlQ29uc3VtZWQgKCkiIGxpbms9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckJ5dGVDb25zdW1lZCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUZXh0UmVhZGVyQ2xvc2UgKCkiIGxpbms9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckNsb3NlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFRleHRSZWFkZXJDb25zdEJhc2VVcmkgKCkiIGxpbms9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckNvbnN0QmFzZVVyaSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUZXh0UmVhZGVyQ29uc3RFbmNvZGluZyAoKSIgbGluaz0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyQ29uc3RFbmNvZGluZyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUZXh0UmVhZGVyQ29uc3RMb2NhbE5hbWUgKCkiIGxpbms9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckNvbnN0TG9jYWxOYW1lIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFRleHRSZWFkZXJDb25zdE5hbWUgKCkiIGxpbms9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckNvbnN0TmFtZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUZXh0UmVhZGVyQ29uc3ROYW1lc3BhY2VVcmkgKCkiIGxpbms9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckNvbnN0TmFtZXNwYWNlVXJpIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFRleHRSZWFkZXJDb25zdFByZWZpeCAoKSIgbGluaz0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyQ29uc3RQcmVmaXgiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVGV4dFJlYWRlckNvbnN0U3RyaW5nICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJDb25zdFN0cmluZyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUZXh0UmVhZGVyQ29uc3RWYWx1ZSAoKSIgbGluaz0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyQ29uc3RWYWx1ZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUZXh0UmVhZGVyQ29uc3RYbWxMYW5nICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJDb25zdFhtbExhbmciLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVGV4dFJlYWRlckNvbnN0WG1sVmVyc2lvbiAoKSIgbGluaz0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyQ29uc3RYbWxWZXJzaW9uIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFRleHRSZWFkZXJDdXJyZW50RG9jICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJDdXJyZW50RG9jIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFRleHRSZWFkZXJDdXJyZW50Tm9kZSAoKSIgbGluaz0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyQ3VycmVudE5vZGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVGV4dFJlYWRlckRlcHRoICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJEZXB0aCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUZXh0UmVhZGVyRXhwYW5kICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJFeHBhbmQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZSAoKSIgbGluaz0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFRleHRSZWFkZXJHZXRBdHRyaWJ1dGVObyAoKSIgbGluaz0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlTm8iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZU5zICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJHZXRBdHRyaWJ1dGVOcyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUZXh0UmVhZGVyR2V0RXJyb3JIYW5kbGVyICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJHZXRFcnJvckhhbmRsZXIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVGV4dFJlYWRlckdldFBhcnNlckNvbHVtbk51bWJlciAoKSIgbGluaz0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyR2V0UGFyc2VyQ29sdW1uTnVtYmVyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFRleHRSZWFkZXJHZXRQYXJzZXJMaW5lTnVtYmVyICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJHZXRQYXJzZXJMaW5lTnVtYmVyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFRleHRSZWFkZXJHZXRQYXJzZXJQcm9wICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJHZXRQYXJzZXJQcm9wIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFRleHRSZWFkZXJHZXRSZW1haW5kZXIgKCkiIGxpbms9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckdldFJlbWFpbmRlciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUZXh0UmVhZGVySGFzQXR0cmlidXRlcyAoKSIgbGluaz0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVySGFzQXR0cmlidXRlcyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUZXh0UmVhZGVySGFzVmFsdWUgKCkiIGxpbms9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckhhc1ZhbHVlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFRleHRSZWFkZXJJc0RlZmF1bHQgKCkiIGxpbms9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlcklzRGVmYXVsdCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUZXh0UmVhZGVySXNFbXB0eUVsZW1lbnQgKCkiIGxpbms9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlcklzRW1wdHlFbGVtZW50Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFRleHRSZWFkZXJJc05hbWVzcGFjZURlY2wgKCkiIGxpbms9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlcklzTmFtZXNwYWNlRGVjbCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUZXh0UmVhZGVySXNWYWxpZCAoKSIgbGluaz0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVySXNWYWxpZCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUZXh0UmVhZGVyTG9jYWxOYW1lICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJMb2NhbE5hbWUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVGV4dFJlYWRlckxvY2F0b3JCYXNlVVJJICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJMb2NhdG9yQmFzZVVSSSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUZXh0UmVhZGVyTG9jYXRvckxpbmVOdW1iZXIgKCkiIGxpbms9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckxvY2F0b3JMaW5lTnVtYmVyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFRleHRSZWFkZXJMb29rdXBOYW1lc3BhY2UgKCkiIGxpbms9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckxvb2t1cE5hbWVzcGFjZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUZXh0UmVhZGVyTW92ZVRvQXR0cmlidXRlICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJNb3ZlVG9BdHRyaWJ1dGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVGV4dFJlYWRlck1vdmVUb0F0dHJpYnV0ZU5vICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJNb3ZlVG9BdHRyaWJ1dGVObyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUZXh0UmVhZGVyTW92ZVRvQXR0cmlidXRlTnMgKCkiIGxpbms9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlck1vdmVUb0F0dHJpYnV0ZU5zIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFRleHRSZWFkZXJNb3ZlVG9FbGVtZW50ICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJNb3ZlVG9FbGVtZW50Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFRleHRSZWFkZXJNb3ZlVG9GaXJzdEF0dHJpYnV0ZSAoKSIgbGluaz0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyTW92ZVRvRmlyc3RBdHRyaWJ1dGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVGV4dFJlYWRlck1vdmVUb05leHRBdHRyaWJ1dGUgKCkiIGxpbms9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlck1vdmVUb05leHRBdHRyaWJ1dGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVGV4dFJlYWRlck5hbWUgKCkiIGxpbms9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlck5hbWUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVGV4dFJlYWRlck5hbWVzcGFjZVVyaSAoKSIgbGluaz0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyTmFtZXNwYWNlVXJpIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFRleHRSZWFkZXJOZXh0ICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJOZXh0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFRleHRSZWFkZXJOZXh0U2libGluZyAoKSIgbGluaz0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyTmV4dFNpYmxpbmciLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVGV4dFJlYWRlck5vZGVUeXBlICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJOb2RlVHlwZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUZXh0UmVhZGVyTm9ybWFsaXphdGlvbiAoKSIgbGluaz0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyTm9ybWFsaXphdGlvbiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUZXh0UmVhZGVyUHJlZml4ICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQcmVmaXgiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVGV4dFJlYWRlclByZXNlcnZlICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQcmVzZXJ2ZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUZXh0UmVhZGVyUHJlc2VydmVQYXR0ZXJuICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQcmVzZXJ2ZVBhdHRlcm4iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVGV4dFJlYWRlclF1b3RlQ2hhciAoKSIgbGluaz0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUXVvdGVDaGFyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFRleHRSZWFkZXJSZWFkICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJSZWFkIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFRleHRSZWFkZXJSZWFkQXR0cmlidXRlVmFsdWUgKCkiIGxpbms9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclJlYWRBdHRyaWJ1dGVWYWx1ZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUZXh0UmVhZGVyUmVhZElubmVyWG1sICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJSZWFkSW5uZXJYbWwiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVGV4dFJlYWRlclJlYWRPdXRlclhtbCAoKSIgbGluaz0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUmVhZE91dGVyWG1sIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFRleHRSZWFkZXJSZWFkU3RhdGUgKCkiIGxpbms9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclJlYWRTdGF0ZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUZXh0UmVhZGVyUmVhZFN0cmluZyAoKSIgbGluaz0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUmVhZFN0cmluZyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUZXh0UmVhZGVyUmVsYXhOR1NldFNjaGVtYSAoKSIgbGluaz0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUmVsYXhOR1NldFNjaGVtYSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUZXh0UmVhZGVyUmVsYXhOR1ZhbGlkYXRlICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJSZWxheE5HVmFsaWRhdGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZUN0eHQgKCkiIGxpbms9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZUN0eHQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUZXh0UmVhZGVyU2NoZW1hVmFsaWRhdGVDdHh0ICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZUN0eHQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVGV4dFJlYWRlclNldEVycm9ySGFuZGxlciAoKSIgbGluaz0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyU2V0RXJyb3JIYW5kbGVyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFRleHRSZWFkZXJTZXRQYXJzZXJQcm9wICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJTZXRQYXJzZXJQcm9wIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFRleHRSZWFkZXJTZXRTY2hlbWEgKCkiIGxpbms9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclNldFNjaGVtYSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUZXh0UmVhZGVyU2V0U3RydWN0dXJlZEVycm9ySGFuZGxlciAoKSIgbGluaz0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyU2V0U3RydWN0dXJlZEVycm9ySGFuZGxlciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUZXh0UmVhZGVyU2V0dXAgKCkiIGxpbms9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclNldHVwIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFRleHRSZWFkZXJTdGFuZGFsb25lICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJTdGFuZGFsb25lIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFRleHRSZWFkZXJWYWx1ZSAoKSIgbGluaz0ibGlieG1sMi14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyVmFsdWUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVGV4dFJlYWRlclhtbExhbmcgKCkiIGxpbms9ImxpYnhtbDIteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclhtbExhbmciLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVGV4dFdyaXRlckVuZEF0dHJpYnV0ZSAoKSIgbGluaz0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyRW5kQXR0cmlidXRlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFRleHRXcml0ZXJFbmRDREFUQSAoKSIgbGluaz0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyRW5kQ0RBVEEiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVGV4dFdyaXRlckVuZENvbW1lbnQgKCkiIGxpbms9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlckVuZENvbW1lbnQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVGV4dFdyaXRlckVuZERURCAoKSIgbGluaz0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyRW5kRFREIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFRleHRXcml0ZXJFbmREVERBdHRsaXN0ICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJFbmREVERBdHRsaXN0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFRleHRXcml0ZXJFbmREVERFbGVtZW50ICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJFbmREVERFbGVtZW50Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFRleHRXcml0ZXJFbmREVERFbnRpdHkgKCkiIGxpbms9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlckVuZERUREVudGl0eSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUZXh0V3JpdGVyRW5kRG9jdW1lbnQgKCkiIGxpbms9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlckVuZERvY3VtZW50Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFRleHRXcml0ZXJFbmRFbGVtZW50ICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJFbmRFbGVtZW50Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFRleHRXcml0ZXJFbmRQSSAoKSIgbGluaz0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyRW5kUEkiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVGV4dFdyaXRlckZsdXNoICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJGbHVzaCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUZXh0V3JpdGVyRnVsbEVuZEVsZW1lbnQgKCkiIGxpbms9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlckZ1bGxFbmRFbGVtZW50Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFRleHRXcml0ZXJTZXRJbmRlbnQgKCkiIGxpbms9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclNldEluZGVudCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUZXh0V3JpdGVyU2V0SW5kZW50U3RyaW5nICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJTZXRJbmRlbnRTdHJpbmciLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVGV4dFdyaXRlclNldFF1b3RlQ2hhciAoKSIgbGluaz0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyU2V0UXVvdGVDaGFyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFRleHRXcml0ZXJTdGFydEF0dHJpYnV0ZSAoKSIgbGluaz0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyU3RhcnRBdHRyaWJ1dGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVGV4dFdyaXRlclN0YXJ0QXR0cmlidXRlTlMgKCkiIGxpbms9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclN0YXJ0QXR0cmlidXRlTlMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVGV4dFdyaXRlclN0YXJ0Q0RBVEEgKCkiIGxpbms9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclN0YXJ0Q0RBVEEiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVGV4dFdyaXRlclN0YXJ0Q29tbWVudCAoKSIgbGluaz0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyU3RhcnRDb21tZW50Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFRleHRXcml0ZXJTdGFydERURCAoKSIgbGluaz0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyU3RhcnREVEQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVGV4dFdyaXRlclN0YXJ0RFREQXR0bGlzdCAoKSIgbGluaz0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyU3RhcnREVERBdHRsaXN0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFRleHRXcml0ZXJTdGFydERUREVsZW1lbnQgKCkiIGxpbms9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclN0YXJ0RFRERWxlbWVudCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUZXh0V3JpdGVyU3RhcnREVERFbnRpdHkgKCkiIGxpbms9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclN0YXJ0RFRERW50aXR5Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFRleHRXcml0ZXJTdGFydERvY3VtZW50ICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJTdGFydERvY3VtZW50Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFRleHRXcml0ZXJTdGFydEVsZW1lbnQgKCkiIGxpbms9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclN0YXJ0RWxlbWVudCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUZXh0V3JpdGVyU3RhcnRFbGVtZW50TlMgKCkiIGxpbms9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclN0YXJ0RWxlbWVudE5TIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFRleHRXcml0ZXJTdGFydFBJICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJTdGFydFBJIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFRleHRXcml0ZXJXcml0ZUF0dHJpYnV0ZSAoKSIgbGluaz0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVBdHRyaWJ1dGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVGV4dFdyaXRlcldyaXRlQXR0cmlidXRlTlMgKCkiIGxpbms9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlQXR0cmlidXRlTlMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVGV4dFdyaXRlcldyaXRlQmFzZTY0ICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZUJhc2U2NCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUZXh0V3JpdGVyV3JpdGVCaW5IZXggKCkiIGxpbms9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlQmluSGV4Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFRleHRXcml0ZXJXcml0ZUNEQVRBICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZUNEQVRBIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFRleHRXcml0ZXJXcml0ZUNvbW1lbnQgKCkiIGxpbms9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlQ29tbWVudCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUZXh0V3JpdGVyV3JpdGVEVEQgKCkiIGxpbms9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRFREIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFRleHRXcml0ZXJXcml0ZURUREF0dGxpc3QgKCkiIGxpbms9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRFREQXR0bGlzdCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUZXh0V3JpdGVyV3JpdGVEVERFbGVtZW50ICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZURUREVsZW1lbnQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVGV4dFdyaXRlcldyaXRlRFRERW50aXR5ICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZURUREVudGl0eSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUZXh0V3JpdGVyV3JpdGVEVERFeHRlcm5hbEVudGl0eSAoKSIgbGluaz0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVEVERFeHRlcm5hbEVudGl0eSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUZXh0V3JpdGVyV3JpdGVEVERFeHRlcm5hbEVudGl0eUNvbnRlbnRzICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZURUREV4dGVybmFsRW50aXR5Q29udGVudHMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVGV4dFdyaXRlcldyaXRlRFRESW50ZXJuYWxFbnRpdHkgKCkiIGxpbms9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRFRESW50ZXJuYWxFbnRpdHkiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVGV4dFdyaXRlcldyaXRlRFRETm90YXRpb24gKCkiIGxpbms9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRFRETm90YXRpb24iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVGV4dFdyaXRlcldyaXRlRWxlbWVudCAoKSIgbGluaz0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVFbGVtZW50Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFRleHRXcml0ZXJXcml0ZUVsZW1lbnROUyAoKSIgbGluaz0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVFbGVtZW50TlMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0QXR0cmlidXRlICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdEF0dHJpYnV0ZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRBdHRyaWJ1dGVOUyAoKSIgbGluaz0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRBdHRyaWJ1dGVOUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRDREFUQSAoKSIgbGluaz0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRDREFUQSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRDb21tZW50ICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdENvbW1lbnQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFREICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdERURCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVERBdHRsaXN0ICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdERUREF0dGxpc3QiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFRERWxlbWVudCAoKSIgbGluaz0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVERFbGVtZW50Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdERUREludGVybmFsRW50aXR5ICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdERUREludGVybmFsRW50aXR5Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdEVsZW1lbnQgKCkiIGxpbms9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RWxlbWVudCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRFbGVtZW50TlMgKCkiIGxpbms9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RWxlbWVudE5TIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdFBJICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdFBJIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdFJhdyAoKSIgbGluaz0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRSYXciLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0U3RyaW5nICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdFN0cmluZyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUZXh0V3JpdGVyV3JpdGVQSSAoKSIgbGluaz0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVQSSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUZXh0V3JpdGVyV3JpdGVSYXcgKCkiIGxpbms9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlUmF3Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFRleHRXcml0ZXJXcml0ZVJhd0xlbiAoKSIgbGluaz0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVSYXdMZW4iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVGV4dFdyaXRlcldyaXRlU3RyaW5nICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZVN0cmluZyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0QXR0cmlidXRlICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRBdHRyaWJ1dGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEF0dHJpYnV0ZU5TICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRBdHRyaWJ1dGVOUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0Q0RBVEEgKCkiIGxpbms9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdENEQVRBIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRDb21tZW50ICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRDb21tZW50Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVEQgKCkiIGxpbms9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERURCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFREQXR0bGlzdCAoKSIgbGluaz0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFREQXR0bGlzdCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFRERWxlbWVudCAoKSIgbGluaz0ibGlieG1sMi14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFRERWxlbWVudCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFRESW50ZXJuYWxFbnRpdHkgKCkiIGxpbms9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREludGVybmFsRW50aXR5Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRFbGVtZW50ICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRFbGVtZW50Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRFbGVtZW50TlMgKCkiIGxpbms9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEVsZW1lbnROUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0UEkgKCkiIGxpbms9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdFBJIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRSYXcgKCkiIGxpbms9ImxpYnhtbDIteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdFJhdyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0U3RyaW5nICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRTdHJpbmciLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVGhyRGVmQnVmZmVyQWxsb2NTY2hlbWUgKCkiIGxpbms9ImxpYnhtbDItZ2xvYmFscy5odG1sI3htbFRockRlZkJ1ZmZlckFsbG9jU2NoZW1lIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFRockRlZkRlZmF1bHRCdWZmZXJTaXplICgpIiBsaW5rPSJsaWJ4bWwyLWdsb2JhbHMuaHRtbCN4bWxUaHJEZWZEZWZhdWx0QnVmZmVyU2l6ZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUaHJEZWZEZXJlZ2lzdGVyTm9kZURlZmF1bHQgKCkiIGxpbms9ImxpYnhtbDItZ2xvYmFscy5odG1sI3htbFRockRlZkRlcmVnaXN0ZXJOb2RlRGVmYXVsdCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUaHJEZWZEb1ZhbGlkaXR5Q2hlY2tpbmdEZWZhdWx0VmFsdWUgKCkiIGxpbms9ImxpYnhtbDItZ2xvYmFscy5odG1sI3htbFRockRlZkRvVmFsaWRpdHlDaGVja2luZ0RlZmF1bHRWYWx1ZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUaHJEZWZHZXRXYXJuaW5nc0RlZmF1bHRWYWx1ZSAoKSIgbGluaz0ibGlieG1sMi1nbG9iYWxzLmh0bWwjeG1sVGhyRGVmR2V0V2FybmluZ3NEZWZhdWx0VmFsdWUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVGhyRGVmSW5kZW50VHJlZU91dHB1dCAoKSIgbGluaz0ibGlieG1sMi1nbG9iYWxzLmh0bWwjeG1sVGhyRGVmSW5kZW50VHJlZU91dHB1dCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUaHJEZWZLZWVwQmxhbmtzRGVmYXVsdFZhbHVlICgpIiBsaW5rPSJsaWJ4bWwyLWdsb2JhbHMuaHRtbCN4bWxUaHJEZWZLZWVwQmxhbmtzRGVmYXVsdFZhbHVlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFRockRlZkxpbmVOdW1iZXJzRGVmYXVsdFZhbHVlICgpIiBsaW5rPSJsaWJ4bWwyLWdsb2JhbHMuaHRtbCN4bWxUaHJEZWZMaW5lTnVtYmVyc0RlZmF1bHRWYWx1ZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUaHJEZWZMb2FkRXh0RHRkRGVmYXVsdFZhbHVlICgpIiBsaW5rPSJsaWJ4bWwyLWdsb2JhbHMuaHRtbCN4bWxUaHJEZWZMb2FkRXh0RHRkRGVmYXVsdFZhbHVlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFRockRlZk91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRGVmYXVsdCAoKSIgbGluaz0ibGlieG1sMi1nbG9iYWxzLmh0bWwjeG1sVGhyRGVmT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFRockRlZlBhcnNlckRlYnVnRW50aXRpZXMgKCkiIGxpbms9ImxpYnhtbDItZ2xvYmFscy5odG1sI3htbFRockRlZlBhcnNlckRlYnVnRW50aXRpZXMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVGhyRGVmUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQgKCkiIGxpbms9ImxpYnhtbDItZ2xvYmFscy5odG1sI3htbFRockRlZlBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFRockRlZlBlZGFudGljUGFyc2VyRGVmYXVsdFZhbHVlICgpIiBsaW5rPSJsaWJ4bWwyLWdsb2JhbHMuaHRtbCN4bWxUaHJEZWZQZWRhbnRpY1BhcnNlckRlZmF1bHRWYWx1ZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUaHJEZWZSZWdpc3Rlck5vZGVEZWZhdWx0ICgpIiBsaW5rPSJsaWJ4bWwyLWdsb2JhbHMuaHRtbCN4bWxUaHJEZWZSZWdpc3Rlck5vZGVEZWZhdWx0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFRockRlZlNhdmVOb0VtcHR5VGFncyAoKSIgbGluaz0ibGlieG1sMi1nbG9iYWxzLmh0bWwjeG1sVGhyRGVmU2F2ZU5vRW1wdHlUYWdzIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFRockRlZlNldEdlbmVyaWNFcnJvckZ1bmMgKCkiIGxpbms9ImxpYnhtbDItZ2xvYmFscy5odG1sI3htbFRockRlZlNldEdlbmVyaWNFcnJvckZ1bmMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVGhyRGVmU2V0U3RydWN0dXJlZEVycm9yRnVuYyAoKSIgbGluaz0ibGlieG1sMi1nbG9iYWxzLmh0bWwjeG1sVGhyRGVmU2V0U3RydWN0dXJlZEVycm9yRnVuYyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUaHJEZWZTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0VmFsdWUgKCkiIGxpbms9ImxpYnhtbDItZ2xvYmFscy5odG1sI3htbFRockRlZlN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHRWYWx1ZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUaHJEZWZUcmVlSW5kZW50U3RyaW5nICgpIiBsaW5rPSJsaWJ4bWwyLWdsb2JhbHMuaHRtbCN4bWxUaHJEZWZUcmVlSW5kZW50U3RyaW5nIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVDU0lzQWVnZWFuTnVtYmVycyAoKSIgbGluaz0ibGlieG1sMi14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNBZWdlYW5OdW1iZXJzIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVDU0lzQWxwaGFiZXRpY1ByZXNlbnRhdGlvbkZvcm1zICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0FscGhhYmV0aWNQcmVzZW50YXRpb25Gb3JtcyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxVQ1NJc0FyYWJpYyAoKSIgbGluaz0ibGlieG1sMi14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNBcmFiaWMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVUNTSXNBcmFiaWNQcmVzZW50YXRpb25Gb3Jtc0EgKCkiIGxpbms9ImxpYnhtbDIteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQXJhYmljUHJlc2VudGF0aW9uRm9ybXNBIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVDU0lzQXJhYmljUHJlc2VudGF0aW9uRm9ybXNCICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0FyYWJpY1ByZXNlbnRhdGlvbkZvcm1zQiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxVQ1NJc0FybWVuaWFuICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0FybWVuaWFuIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVDU0lzQXJyb3dzICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0Fycm93cyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxVQ1NJc0Jhc2ljTGF0aW4gKCkiIGxpbms9ImxpYnhtbDIteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQmFzaWNMYXRpbiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxVQ1NJc0JlbmdhbGkgKCkiIGxpbms9ImxpYnhtbDIteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQmVuZ2FsaSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxVQ1NJc0Jsb2NrICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0Jsb2NrIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVDU0lzQmxvY2tFbGVtZW50cyAoKSIgbGluaz0ibGlieG1sMi14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNCbG9ja0VsZW1lbnRzIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVDU0lzQm9wb21vZm8gKCkiIGxpbms9ImxpYnhtbDIteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQm9wb21vZm8iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVUNTSXNCb3BvbW9mb0V4dGVuZGVkICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0JvcG9tb2ZvRXh0ZW5kZWQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVUNTSXNCb3hEcmF3aW5nICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0JveERyYXdpbmciLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVUNTSXNCcmFpbGxlUGF0dGVybnMgKCkiIGxpbms9ImxpYnhtbDIteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQnJhaWxsZVBhdHRlcm5zIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVDU0lzQnVoaWQgKCkiIGxpbms9ImxpYnhtbDIteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQnVoaWQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVUNTSXNCeXphbnRpbmVNdXNpY2FsU3ltYm9scyAoKSIgbGluaz0ibGlieG1sMi14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNCeXphbnRpbmVNdXNpY2FsU3ltYm9scyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHkgKCkiIGxpbms9ImxpYnhtbDIteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHlGb3JtcyAoKSIgbGluaz0ibGlieG1sMi14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDSktDb21wYXRpYmlsaXR5Rm9ybXMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVUNTSXNDSktDb21wYXRpYmlsaXR5SWRlb2dyYXBocyAoKSIgbGluaz0ibGlieG1sMi14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDSktDb21wYXRpYmlsaXR5SWRlb2dyYXBocyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHlJZGVvZ3JhcGhzU3VwcGxlbWVudCAoKSIgbGluaz0ibGlieG1sMi14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDSktDb21wYXRpYmlsaXR5SWRlb2dyYXBoc1N1cHBsZW1lbnQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVUNTSXNDSktSYWRpY2Fsc1N1cHBsZW1lbnQgKCkiIGxpbms9ImxpYnhtbDIteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ0pLUmFkaWNhbHNTdXBwbGVtZW50Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVDU0lzQ0pLU3ltYm9sc2FuZFB1bmN0dWF0aW9uICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NKS1N5bWJvbHNhbmRQdW5jdHVhdGlvbiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxVQ1NJc0NKS1VuaWZpZWRJZGVvZ3JhcGhzICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NKS1VuaWZpZWRJZGVvZ3JhcGhzIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVDU0lzQ0pLVW5pZmllZElkZW9ncmFwaHNFeHRlbnNpb25BICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NKS1VuaWZpZWRJZGVvZ3JhcGhzRXh0ZW5zaW9uQSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxVQ1NJc0NKS1VuaWZpZWRJZGVvZ3JhcGhzRXh0ZW5zaW9uQiAoKSIgbGluaz0ibGlieG1sMi14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDSktVbmlmaWVkSWRlb2dyYXBoc0V4dGVuc2lvbkIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVUNTSXNDYXQgKCkiIGxpbms9ImxpYnhtbDIteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ2F0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVDU0lzQ2F0QyAoKSIgbGluaz0ibGlieG1sMi14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDYXRDIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVDU0lzQ2F0Q2MgKCkiIGxpbms9ImxpYnhtbDIteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ2F0Q2MiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVUNTSXNDYXRDZiAoKSIgbGluaz0ibGlieG1sMi14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDYXRDZiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxVQ1NJc0NhdENvICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NhdENvIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVDU0lzQ2F0Q3MgKCkiIGxpbms9ImxpYnhtbDIteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ2F0Q3MiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVUNTSXNDYXRMICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NhdEwiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVUNTSXNDYXRMbCAoKSIgbGluaz0ibGlieG1sMi14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDYXRMbCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxVQ1NJc0NhdExtICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NhdExtIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVDU0lzQ2F0TG8gKCkiIGxpbms9ImxpYnhtbDIteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ2F0TG8iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVUNTSXNDYXRMdCAoKSIgbGluaz0ibGlieG1sMi14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDYXRMdCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxVQ1NJc0NhdEx1ICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NhdEx1Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVDU0lzQ2F0TSAoKSIgbGluaz0ibGlieG1sMi14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDYXRNIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVDU0lzQ2F0TWMgKCkiIGxpbms9ImxpYnhtbDIteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ2F0TWMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVUNTSXNDYXRNZSAoKSIgbGluaz0ibGlieG1sMi14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDYXRNZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxVQ1NJc0NhdE1uICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NhdE1uIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVDU0lzQ2F0TiAoKSIgbGluaz0ibGlieG1sMi14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDYXROIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVDU0lzQ2F0TmQgKCkiIGxpbms9ImxpYnhtbDIteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ2F0TmQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVUNTSXNDYXRObCAoKSIgbGluaz0ibGlieG1sMi14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDYXRObCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxVQ1NJc0NhdE5vICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NhdE5vIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVDU0lzQ2F0UCAoKSIgbGluaz0ibGlieG1sMi14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDYXRQIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVDU0lzQ2F0UGMgKCkiIGxpbms9ImxpYnhtbDIteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ2F0UGMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVUNTSXNDYXRQZCAoKSIgbGluaz0ibGlieG1sMi14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDYXRQZCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxVQ1NJc0NhdFBlICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NhdFBlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVDU0lzQ2F0UGYgKCkiIGxpbms9ImxpYnhtbDIteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ2F0UGYiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVUNTSXNDYXRQaSAoKSIgbGluaz0ibGlieG1sMi14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDYXRQaSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxVQ1NJc0NhdFBvICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NhdFBvIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVDU0lzQ2F0UHMgKCkiIGxpbms9ImxpYnhtbDIteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ2F0UHMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVUNTSXNDYXRTICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NhdFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVUNTSXNDYXRTYyAoKSIgbGluaz0ibGlieG1sMi14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDYXRTYyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxVQ1NJc0NhdFNrICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NhdFNrIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVDU0lzQ2F0U20gKCkiIGxpbms9ImxpYnhtbDIteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ2F0U20iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVUNTSXNDYXRTbyAoKSIgbGluaz0ibGlieG1sMi14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDYXRTbyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxVQ1NJc0NhdFogKCkiIGxpbms9ImxpYnhtbDIteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ2F0WiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxVQ1NJc0NhdFpsICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NhdFpsIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVDU0lzQ2F0WnAgKCkiIGxpbms9ImxpYnhtbDIteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ2F0WnAiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVUNTSXNDYXRacyAoKSIgbGluaz0ibGlieG1sMi14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDYXRacyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxVQ1NJc0NoZXJva2VlICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NoZXJva2VlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVDU0lzQ29tYmluaW5nRGlhY3JpdGljYWxNYXJrcyAoKSIgbGluaz0ibGlieG1sMi14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDb21iaW5pbmdEaWFjcml0aWNhbE1hcmtzIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVDU0lzQ29tYmluaW5nRGlhY3JpdGljYWxNYXJrc2ZvclN5bWJvbHMgKCkiIGxpbms9ImxpYnhtbDIteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ29tYmluaW5nRGlhY3JpdGljYWxNYXJrc2ZvclN5bWJvbHMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVUNTSXNDb21iaW5pbmdIYWxmTWFya3MgKCkiIGxpbms9ImxpYnhtbDIteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ29tYmluaW5nSGFsZk1hcmtzIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVDU0lzQ29tYmluaW5nTWFya3Nmb3JTeW1ib2xzICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NvbWJpbmluZ01hcmtzZm9yU3ltYm9scyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxVQ1NJc0NvbnRyb2xQaWN0dXJlcyAoKSIgbGluaz0ibGlieG1sMi14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDb250cm9sUGljdHVyZXMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVUNTSXNDdXJyZW5jeVN5bWJvbHMgKCkiIGxpbms9ImxpYnhtbDIteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ3VycmVuY3lTeW1ib2xzIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVDU0lzQ3lwcmlvdFN5bGxhYmFyeSAoKSIgbGluaz0ibGlieG1sMi14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDeXByaW90U3lsbGFiYXJ5Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVDU0lzQ3lyaWxsaWMgKCkiIGxpbms9ImxpYnhtbDIteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ3lyaWxsaWMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVUNTSXNDeXJpbGxpY1N1cHBsZW1lbnQgKCkiIGxpbms9ImxpYnhtbDIteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ3lyaWxsaWNTdXBwbGVtZW50Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVDU0lzRGVzZXJldCAoKSIgbGluaz0ibGlieG1sMi14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNEZXNlcmV0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVDU0lzRGV2YW5hZ2FyaSAoKSIgbGluaz0ibGlieG1sMi14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNEZXZhbmFnYXJpIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVDU0lzRGluZ2JhdHMgKCkiIGxpbms9ImxpYnhtbDIteG1sdW5pY29kZS5odG1sI3htbFVDU0lzRGluZ2JhdHMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVUNTSXNFbmNsb3NlZEFscGhhbnVtZXJpY3MgKCkiIGxpbms9ImxpYnhtbDIteG1sdW5pY29kZS5odG1sI3htbFVDU0lzRW5jbG9zZWRBbHBoYW51bWVyaWNzIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVDU0lzRW5jbG9zZWRDSktMZXR0ZXJzYW5kTW9udGhzICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0VuY2xvc2VkQ0pLTGV0dGVyc2FuZE1vbnRocyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxVQ1NJc0V0aGlvcGljICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0V0aGlvcGljIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVDU0lzR2VuZXJhbFB1bmN0dWF0aW9uICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0dlbmVyYWxQdW5jdHVhdGlvbiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxVQ1NJc0dlb21ldHJpY1NoYXBlcyAoKSIgbGluaz0ibGlieG1sMi14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNHZW9tZXRyaWNTaGFwZXMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVUNTSXNHZW9yZ2lhbiAoKSIgbGluaz0ibGlieG1sMi14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNHZW9yZ2lhbiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxVQ1NJc0dvdGhpYyAoKSIgbGluaz0ibGlieG1sMi14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNHb3RoaWMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVUNTSXNHcmVlayAoKSIgbGluaz0ibGlieG1sMi14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNHcmVlayIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxVQ1NJc0dyZWVrRXh0ZW5kZWQgKCkiIGxpbms9ImxpYnhtbDIteG1sdW5pY29kZS5odG1sI3htbFVDU0lzR3JlZWtFeHRlbmRlZCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxVQ1NJc0dyZWVrYW5kQ29wdGljICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0dyZWVrYW5kQ29wdGljIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVDU0lzR3VqYXJhdGkgKCkiIGxpbms9ImxpYnhtbDIteG1sdW5pY29kZS5odG1sI3htbFVDU0lzR3VqYXJhdGkiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVUNTSXNHdXJtdWtoaSAoKSIgbGluaz0ibGlieG1sMi14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNHdXJtdWtoaSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxVQ1NJc0hhbGZ3aWR0aGFuZEZ1bGx3aWR0aEZvcm1zICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0hhbGZ3aWR0aGFuZEZ1bGx3aWR0aEZvcm1zIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVDU0lzSGFuZ3VsQ29tcGF0aWJpbGl0eUphbW8gKCkiIGxpbms9ImxpYnhtbDIteG1sdW5pY29kZS5odG1sI3htbFVDU0lzSGFuZ3VsQ29tcGF0aWJpbGl0eUphbW8iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVUNTSXNIYW5ndWxKYW1vICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0hhbmd1bEphbW8iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVUNTSXNIYW5ndWxTeWxsYWJsZXMgKCkiIGxpbms9ImxpYnhtbDIteG1sdW5pY29kZS5odG1sI3htbFVDU0lzSGFuZ3VsU3lsbGFibGVzIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVDU0lzSGFudW5vbyAoKSIgbGluaz0ibGlieG1sMi14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNIYW51bm9vIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVDU0lzSGVicmV3ICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0hlYnJldyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxVQ1NJc0hpZ2hQcml2YXRlVXNlU3Vycm9nYXRlcyAoKSIgbGluaz0ibGlieG1sMi14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNIaWdoUHJpdmF0ZVVzZVN1cnJvZ2F0ZXMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVUNTSXNIaWdoU3Vycm9nYXRlcyAoKSIgbGluaz0ibGlieG1sMi14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNIaWdoU3Vycm9nYXRlcyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxVQ1NJc0hpcmFnYW5hICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0hpcmFnYW5hIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVDU0lzSVBBRXh0ZW5zaW9ucyAoKSIgbGluaz0ibGlieG1sMi14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNJUEFFeHRlbnNpb25zIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVDU0lzSWRlb2dyYXBoaWNEZXNjcmlwdGlvbkNoYXJhY3RlcnMgKCkiIGxpbms9ImxpYnhtbDIteG1sdW5pY29kZS5odG1sI3htbFVDU0lzSWRlb2dyYXBoaWNEZXNjcmlwdGlvbkNoYXJhY3RlcnMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVUNTSXNLYW5idW4gKCkiIGxpbms9ImxpYnhtbDIteG1sdW5pY29kZS5odG1sI3htbFVDU0lzS2FuYnVuIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVDU0lzS2FuZ3hpUmFkaWNhbHMgKCkiIGxpbms9ImxpYnhtbDIteG1sdW5pY29kZS5odG1sI3htbFVDU0lzS2FuZ3hpUmFkaWNhbHMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVUNTSXNLYW5uYWRhICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0thbm5hZGEiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVUNTSXNLYXRha2FuYSAoKSIgbGluaz0ibGlieG1sMi14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNLYXRha2FuYSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxVQ1NJc0thdGFrYW5hUGhvbmV0aWNFeHRlbnNpb25zICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0thdGFrYW5hUGhvbmV0aWNFeHRlbnNpb25zIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVDU0lzS2htZXIgKCkiIGxpbms9ImxpYnhtbDIteG1sdW5pY29kZS5odG1sI3htbFVDU0lzS2htZXIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVUNTSXNLaG1lclN5bWJvbHMgKCkiIGxpbms9ImxpYnhtbDIteG1sdW5pY29kZS5odG1sI3htbFVDU0lzS2htZXJTeW1ib2xzIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVDU0lzTGFvICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0xhbyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxVQ1NJc0xhdGluMVN1cHBsZW1lbnQgKCkiIGxpbms9ImxpYnhtbDIteG1sdW5pY29kZS5odG1sI3htbFVDU0lzTGF0aW4xU3VwcGxlbWVudCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxVQ1NJc0xhdGluRXh0ZW5kZWRBICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0xhdGluRXh0ZW5kZWRBIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVDU0lzTGF0aW5FeHRlbmRlZEFkZGl0aW9uYWwgKCkiIGxpbms9ImxpYnhtbDIteG1sdW5pY29kZS5odG1sI3htbFVDU0lzTGF0aW5FeHRlbmRlZEFkZGl0aW9uYWwiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVUNTSXNMYXRpbkV4dGVuZGVkQiAoKSIgbGluaz0ibGlieG1sMi14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNMYXRpbkV4dGVuZGVkQiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxVQ1NJc0xldHRlcmxpa2VTeW1ib2xzICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0xldHRlcmxpa2VTeW1ib2xzIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVDU0lzTGltYnUgKCkiIGxpbms9ImxpYnhtbDIteG1sdW5pY29kZS5odG1sI3htbFVDU0lzTGltYnUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVUNTSXNMaW5lYXJCSWRlb2dyYW1zICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0xpbmVhckJJZGVvZ3JhbXMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVUNTSXNMaW5lYXJCU3lsbGFiYXJ5ICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0xpbmVhckJTeWxsYWJhcnkiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVUNTSXNMb3dTdXJyb2dhdGVzICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0xvd1N1cnJvZ2F0ZXMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVUNTSXNNYWxheWFsYW0gKCkiIGxpbms9ImxpYnhtbDIteG1sdW5pY29kZS5odG1sI3htbFVDU0lzTWFsYXlhbGFtIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVDU0lzTWF0aGVtYXRpY2FsQWxwaGFudW1lcmljU3ltYm9scyAoKSIgbGluaz0ibGlieG1sMi14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNNYXRoZW1hdGljYWxBbHBoYW51bWVyaWNTeW1ib2xzIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVDU0lzTWF0aGVtYXRpY2FsT3BlcmF0b3JzICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc01hdGhlbWF0aWNhbE9wZXJhdG9ycyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxVQ1NJc01pc2NlbGxhbmVvdXNNYXRoZW1hdGljYWxTeW1ib2xzQSAoKSIgbGluaz0ibGlieG1sMi14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNNaXNjZWxsYW5lb3VzTWF0aGVtYXRpY2FsU3ltYm9sc0EiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVUNTSXNNaXNjZWxsYW5lb3VzTWF0aGVtYXRpY2FsU3ltYm9sc0IgKCkiIGxpbms9ImxpYnhtbDIteG1sdW5pY29kZS5odG1sI3htbFVDU0lzTWlzY2VsbGFuZW91c01hdGhlbWF0aWNhbFN5bWJvbHNCIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVDU0lzTWlzY2VsbGFuZW91c1N5bWJvbHMgKCkiIGxpbms9ImxpYnhtbDIteG1sdW5pY29kZS5odG1sI3htbFVDU0lzTWlzY2VsbGFuZW91c1N5bWJvbHMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVUNTSXNNaXNjZWxsYW5lb3VzU3ltYm9sc2FuZEFycm93cyAoKSIgbGluaz0ibGlieG1sMi14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNNaXNjZWxsYW5lb3VzU3ltYm9sc2FuZEFycm93cyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxVQ1NJc01pc2NlbGxhbmVvdXNUZWNobmljYWwgKCkiIGxpbms9ImxpYnhtbDIteG1sdW5pY29kZS5odG1sI3htbFVDU0lzTWlzY2VsbGFuZW91c1RlY2huaWNhbCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxVQ1NJc01vbmdvbGlhbiAoKSIgbGluaz0ibGlieG1sMi14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNNb25nb2xpYW4iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVUNTSXNNdXNpY2FsU3ltYm9scyAoKSIgbGluaz0ibGlieG1sMi14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNNdXNpY2FsU3ltYm9scyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxVQ1NJc015YW5tYXIgKCkiIGxpbms9ImxpYnhtbDIteG1sdW5pY29kZS5odG1sI3htbFVDU0lzTXlhbm1hciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxVQ1NJc051bWJlckZvcm1zICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc051bWJlckZvcm1zIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVDU0lzT2doYW0gKCkiIGxpbms9ImxpYnhtbDIteG1sdW5pY29kZS5odG1sI3htbFVDU0lzT2doYW0iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVUNTSXNPbGRJdGFsaWMgKCkiIGxpbms9ImxpYnhtbDIteG1sdW5pY29kZS5odG1sI3htbFVDU0lzT2xkSXRhbGljIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVDU0lzT3B0aWNhbENoYXJhY3RlclJlY29nbml0aW9uICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc09wdGljYWxDaGFyYWN0ZXJSZWNvZ25pdGlvbiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxVQ1NJc09yaXlhICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc09yaXlhIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVDU0lzT3NtYW55YSAoKSIgbGluaz0ibGlieG1sMi14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNPc21hbnlhIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVDU0lzUGhvbmV0aWNFeHRlbnNpb25zICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc1Bob25ldGljRXh0ZW5zaW9ucyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxVQ1NJc1ByaXZhdGVVc2UgKCkiIGxpbms9ImxpYnhtbDIteG1sdW5pY29kZS5odG1sI3htbFVDU0lzUHJpdmF0ZVVzZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxVQ1NJc1ByaXZhdGVVc2VBcmVhICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc1ByaXZhdGVVc2VBcmVhIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVDU0lzUnVuaWMgKCkiIGxpbms9ImxpYnhtbDIteG1sdW5pY29kZS5odG1sI3htbFVDU0lzUnVuaWMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVUNTSXNTaGF2aWFuICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc1NoYXZpYW4iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVUNTSXNTaW5oYWxhICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc1NpbmhhbGEiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVUNTSXNTbWFsbEZvcm1WYXJpYW50cyAoKSIgbGluaz0ibGlieG1sMi14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNTbWFsbEZvcm1WYXJpYW50cyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxVQ1NJc1NwYWNpbmdNb2RpZmllckxldHRlcnMgKCkiIGxpbms9ImxpYnhtbDIteG1sdW5pY29kZS5odG1sI3htbFVDU0lzU3BhY2luZ01vZGlmaWVyTGV0dGVycyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxVQ1NJc1NwZWNpYWxzICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc1NwZWNpYWxzIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVDU0lzU3VwZXJzY3JpcHRzYW5kU3Vic2NyaXB0cyAoKSIgbGluaz0ibGlieG1sMi14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNTdXBlcnNjcmlwdHNhbmRTdWJzY3JpcHRzIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVDU0lzU3VwcGxlbWVudGFsQXJyb3dzQSAoKSIgbGluaz0ibGlieG1sMi14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNTdXBwbGVtZW50YWxBcnJvd3NBIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVDU0lzU3VwcGxlbWVudGFsQXJyb3dzQiAoKSIgbGluaz0ibGlieG1sMi14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNTdXBwbGVtZW50YWxBcnJvd3NCIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVDU0lzU3VwcGxlbWVudGFsTWF0aGVtYXRpY2FsT3BlcmF0b3JzICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc1N1cHBsZW1lbnRhbE1hdGhlbWF0aWNhbE9wZXJhdG9ycyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxVQ1NJc1N1cHBsZW1lbnRhcnlQcml2YXRlVXNlQXJlYUEgKCkiIGxpbms9ImxpYnhtbDIteG1sdW5pY29kZS5odG1sI3htbFVDU0lzU3VwcGxlbWVudGFyeVByaXZhdGVVc2VBcmVhQSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxVQ1NJc1N1cHBsZW1lbnRhcnlQcml2YXRlVXNlQXJlYUIgKCkiIGxpbms9ImxpYnhtbDIteG1sdW5pY29kZS5odG1sI3htbFVDU0lzU3VwcGxlbWVudGFyeVByaXZhdGVVc2VBcmVhQiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxVQ1NJc1N5cmlhYyAoKSIgbGluaz0ibGlieG1sMi14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNTeXJpYWMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVUNTSXNUYWdhbG9nICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc1RhZ2Fsb2ciLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVUNTSXNUYWdiYW53YSAoKSIgbGluaz0ibGlieG1sMi14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNUYWdiYW53YSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxVQ1NJc1RhZ3MgKCkiIGxpbms9ImxpYnhtbDIteG1sdW5pY29kZS5odG1sI3htbFVDU0lzVGFncyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxVQ1NJc1RhaUxlICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc1RhaUxlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVDU0lzVGFpWHVhbkppbmdTeW1ib2xzICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc1RhaVh1YW5KaW5nU3ltYm9scyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxVQ1NJc1RhbWlsICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc1RhbWlsIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVDU0lzVGVsdWd1ICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc1RlbHVndSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxVQ1NJc1RoYWFuYSAoKSIgbGluaz0ibGlieG1sMi14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNUaGFhbmEiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVUNTSXNUaGFpICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc1RoYWkiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVUNTSXNUaWJldGFuICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc1RpYmV0YW4iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVUNTSXNVZ2FyaXRpYyAoKSIgbGluaz0ibGlieG1sMi14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNVZ2FyaXRpYyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxVQ1NJc1VuaWZpZWRDYW5hZGlhbkFib3JpZ2luYWxTeWxsYWJpY3MgKCkiIGxpbms9ImxpYnhtbDIteG1sdW5pY29kZS5odG1sI3htbFVDU0lzVW5pZmllZENhbmFkaWFuQWJvcmlnaW5hbFN5bGxhYmljcyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxVQ1NJc1ZhcmlhdGlvblNlbGVjdG9ycyAoKSIgbGluaz0ibGlieG1sMi14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNWYXJpYXRpb25TZWxlY3RvcnMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVUNTSXNWYXJpYXRpb25TZWxlY3RvcnNTdXBwbGVtZW50ICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc1ZhcmlhdGlvblNlbGVjdG9yc1N1cHBsZW1lbnQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVUNTSXNZaVJhZGljYWxzICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc1lpUmFkaWNhbHMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVUNTSXNZaVN5bGxhYmxlcyAoKSIgbGluaz0ibGlieG1sMi14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNZaVN5bGxhYmxlcyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxVQ1NJc1lpamluZ0hleGFncmFtU3ltYm9scyAoKSIgbGluaz0ibGlieG1sMi14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNZaWppbmdIZXhhZ3JhbVN5bWJvbHMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVVJJRXNjYXBlICgpIiBsaW5rPSJsaWJ4bWwyLXVyaS5odG1sI3htbFVSSUVzY2FwZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxVUklFc2NhcGVTdHIgKCkiIGxpbms9ImxpYnhtbDItdXJpLmh0bWwjeG1sVVJJRXNjYXBlU3RyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVSSVVuZXNjYXBlU3RyaW5nICgpIiBsaW5rPSJsaWJ4bWwyLXVyaS5odG1sI3htbFVSSVVuZXNjYXBlU3RyaW5nIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVURjhDaGFyY21wICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbFVURjhDaGFyY21wIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVURjhTaXplICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbFVURjhTaXplIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVURjhTdHJsZW4gKCkiIGxpbms9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sVVRGOFN0cmxlbiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxVVEY4U3RybG9jICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbFVURjhTdHJsb2MiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVVRGOFN0cm5kdXAgKCkiIGxpbms9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sVVRGOFN0cm5kdXAiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVVRGOFN0cnBvcyAoKSIgbGluaz0ibGlieG1sMi14bWxzdHJpbmcuaHRtbCN4bWxVVEY4U3RycG9zIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVURjhTdHJzaXplICgpIiBsaW5rPSJsaWJ4bWwyLXhtbHN0cmluZy5odG1sI3htbFVURjhTdHJzaXplIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVURjhTdHJzdWIgKCkiIGxpbms9ImxpYnhtbDIteG1sc3RyaW5nLmh0bWwjeG1sVVRGOFN0cnN1YiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxVbmxpbmtOb2RlICgpIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxVbmxpbmtOb2RlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVubG9ja0xpYnJhcnkgKCkiIGxpbms9ImxpYnhtbDItdGhyZWFkcy5odG1sI3htbFVubG9ja0xpYnJhcnkiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVW5zZXROc1Byb3AgKCkiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI3htbFVuc2V0TnNQcm9wIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVuc2V0UHJvcCAoKSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sVW5zZXRQcm9wIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFZhbGlkQnVpbGRDb250ZW50TW9kZWwgKCkiIGxpbms9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxWYWxpZEJ1aWxkQ29udGVudE1vZGVsIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFZhbGlkQ3R4dE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlICgpIiBsaW5rPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sVmFsaWRDdHh0Tm9ybWFsaXplQXR0cmlidXRlVmFsdWUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVmFsaWRHZXRQb3RlbnRpYWxDaGlsZHJlbiAoKSIgbGluaz0ibGlieG1sMi12YWxpZC5odG1sI3htbFZhbGlkR2V0UG90ZW50aWFsQ2hpbGRyZW4iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzICgpIiBsaW5rPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFZhbGlkTm9ybWFsaXplQXR0cmlidXRlVmFsdWUgKCkiIGxpbms9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxWYWxpZE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFZhbGlkYXRlQXR0cmlidXRlRGVjbCAoKSIgbGluaz0ibGlieG1sMi12YWxpZC5odG1sI3htbFZhbGlkYXRlQXR0cmlidXRlRGVjbCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxWYWxpZGF0ZUF0dHJpYnV0ZVZhbHVlICgpIiBsaW5rPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVBdHRyaWJ1dGVWYWx1ZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxWYWxpZGF0ZURvY3VtZW50ICgpIiBsaW5rPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVEb2N1bWVudCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxWYWxpZGF0ZURvY3VtZW50RmluYWwgKCkiIGxpbms9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZURvY3VtZW50RmluYWwiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVmFsaWRhdGVEdGQgKCkiIGxpbms9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZUR0ZCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxWYWxpZGF0ZUR0ZEZpbmFsICgpIiBsaW5rPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVEdGRGaW5hbCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxWYWxpZGF0ZUVsZW1lbnQgKCkiIGxpbms9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZUVsZW1lbnQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVmFsaWRhdGVFbGVtZW50RGVjbCAoKSIgbGluaz0ibGlieG1sMi12YWxpZC5odG1sI3htbFZhbGlkYXRlRWxlbWVudERlY2wiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVmFsaWRhdGVOQ05hbWUgKCkiIGxpbms9ImxpYnhtbDItdHJlZS5odG1sI3htbFZhbGlkYXRlTkNOYW1lIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFZhbGlkYXRlTk1Ub2tlbiAoKSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sVmFsaWRhdGVOTVRva2VuIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFZhbGlkYXRlTmFtZSAoKSIgbGluaz0ibGlieG1sMi10cmVlLmh0bWwjeG1sVmFsaWRhdGVOYW1lIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFZhbGlkYXRlTmFtZVZhbHVlICgpIiBsaW5rPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVOYW1lVmFsdWUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVmFsaWRhdGVOYW1lc1ZhbHVlICgpIiBsaW5rPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVOYW1lc1ZhbHVlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFZhbGlkYXRlTm10b2tlblZhbHVlICgpIiBsaW5rPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVObXRva2VuVmFsdWUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVmFsaWRhdGVObXRva2Vuc1ZhbHVlICgpIiBsaW5rPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVObXRva2Vuc1ZhbHVlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFZhbGlkYXRlTm90YXRpb25EZWNsICgpIiBsaW5rPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVOb3RhdGlvbkRlY2wiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVmFsaWRhdGVOb3RhdGlvblVzZSAoKSIgbGluaz0ibGlieG1sMi12YWxpZC5odG1sI3htbFZhbGlkYXRlTm90YXRpb25Vc2UiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVmFsaWRhdGVPbmVBdHRyaWJ1dGUgKCkiIGxpbms9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZU9uZUF0dHJpYnV0ZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxWYWxpZGF0ZU9uZUVsZW1lbnQgKCkiIGxpbms9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZU9uZUVsZW1lbnQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVmFsaWRhdGVPbmVOYW1lc3BhY2UgKCkiIGxpbms9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZU9uZU5hbWVzcGFjZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxWYWxpZGF0ZVBvcEVsZW1lbnQgKCkiIGxpbms9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZVBvcEVsZW1lbnQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVmFsaWRhdGVQdXNoQ0RhdGEgKCkiIGxpbms9ImxpYnhtbDItdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZVB1c2hDRGF0YSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxWYWxpZGF0ZVB1c2hFbGVtZW50ICgpIiBsaW5rPSJsaWJ4bWwyLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVQdXNoRWxlbWVudCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxWYWxpZGF0ZVFOYW1lICgpIiBsaW5rPSJsaWJ4bWwyLXRyZWUuaHRtbCN4bWxWYWxpZGF0ZVFOYW1lIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFZhbGlkYXRlUm9vdCAoKSIgbGluaz0ibGlieG1sMi12YWxpZC5odG1sI3htbFZhbGlkYXRlUm9vdCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYSW5jbHVkZUZyZWVDb250ZXh0ICgpIiBsaW5rPSJsaWJ4bWwyLXhpbmNsdWRlLmh0bWwjeG1sWEluY2x1ZGVGcmVlQ29udGV4dCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYSW5jbHVkZU5ld0NvbnRleHQgKCkiIGxpbms9ImxpYnhtbDIteGluY2x1ZGUuaHRtbCN4bWxYSW5jbHVkZU5ld0NvbnRleHQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWEluY2x1ZGVQcm9jZXNzICgpIiBsaW5rPSJsaWJ4bWwyLXhpbmNsdWRlLmh0bWwjeG1sWEluY2x1ZGVQcm9jZXNzIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhJbmNsdWRlUHJvY2Vzc0ZsYWdzICgpIiBsaW5rPSJsaWJ4bWwyLXhpbmNsdWRlLmh0bWwjeG1sWEluY2x1ZGVQcm9jZXNzRmxhZ3MiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWEluY2x1ZGVQcm9jZXNzRmxhZ3NEYXRhICgpIiBsaW5rPSJsaWJ4bWwyLXhpbmNsdWRlLmh0bWwjeG1sWEluY2x1ZGVQcm9jZXNzRmxhZ3NEYXRhIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhJbmNsdWRlUHJvY2Vzc05vZGUgKCkiIGxpbms9ImxpYnhtbDIteGluY2x1ZGUuaHRtbCN4bWxYSW5jbHVkZVByb2Nlc3NOb2RlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhJbmNsdWRlUHJvY2Vzc1RyZWUgKCkiIGxpbms9ImxpYnhtbDIteGluY2x1ZGUuaHRtbCN4bWxYSW5jbHVkZVByb2Nlc3NUcmVlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhJbmNsdWRlUHJvY2Vzc1RyZWVGbGFncyAoKSIgbGluaz0ibGlieG1sMi14aW5jbHVkZS5odG1sI3htbFhJbmNsdWRlUHJvY2Vzc1RyZWVGbGFncyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYSW5jbHVkZVByb2Nlc3NUcmVlRmxhZ3NEYXRhICgpIiBsaW5rPSJsaWJ4bWwyLXhpbmNsdWRlLmh0bWwjeG1sWEluY2x1ZGVQcm9jZXNzVHJlZUZsYWdzRGF0YSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYSW5jbHVkZVNldEZsYWdzICgpIiBsaW5rPSJsaWJ4bWwyLXhpbmNsdWRlLmh0bWwjeG1sWEluY2x1ZGVTZXRGbGFncyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUGF0aEFkZFZhbHVlcyAoKSIgbGluaz0ibGlieG1sMi14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoQWRkVmFsdWVzIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoQm9vbGVhbkZ1bmN0aW9uICgpIiBsaW5rPSJsaWJ4bWwyLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhCb29sZWFuRnVuY3Rpb24iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhDYXN0Qm9vbGVhblRvTnVtYmVyICgpIiBsaW5rPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhDYXN0Qm9vbGVhblRvTnVtYmVyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoQ2FzdEJvb2xlYW5Ub1N0cmluZyAoKSIgbGluaz0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoQ2FzdEJvb2xlYW5Ub1N0cmluZyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUGF0aENhc3ROb2RlU2V0VG9Cb29sZWFuICgpIiBsaW5rPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhDYXN0Tm9kZVNldFRvQm9vbGVhbiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUGF0aENhc3ROb2RlU2V0VG9OdW1iZXIgKCkiIGxpbms9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aENhc3ROb2RlU2V0VG9OdW1iZXIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhDYXN0Tm9kZVNldFRvU3RyaW5nICgpIiBsaW5rPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhDYXN0Tm9kZVNldFRvU3RyaW5nIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoQ2FzdE5vZGVUb051bWJlciAoKSIgbGluaz0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoQ2FzdE5vZGVUb051bWJlciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUGF0aENhc3ROb2RlVG9TdHJpbmcgKCkiIGxpbms9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aENhc3ROb2RlVG9TdHJpbmciLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhDYXN0TnVtYmVyVG9Cb29sZWFuICgpIiBsaW5rPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhDYXN0TnVtYmVyVG9Cb29sZWFuIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoQ2FzdE51bWJlclRvU3RyaW5nICgpIiBsaW5rPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhDYXN0TnVtYmVyVG9TdHJpbmciLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhDYXN0U3RyaW5nVG9Cb29sZWFuICgpIiBsaW5rPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhDYXN0U3RyaW5nVG9Cb29sZWFuIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoQ2FzdFN0cmluZ1RvTnVtYmVyICgpIiBsaW5rPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhDYXN0U3RyaW5nVG9OdW1iZXIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhDYXN0VG9Cb29sZWFuICgpIiBsaW5rPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhDYXN0VG9Cb29sZWFuIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoQ2FzdFRvTnVtYmVyICgpIiBsaW5rPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhDYXN0VG9OdW1iZXIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhDYXN0VG9TdHJpbmcgKCkiIGxpbms9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aENhc3RUb1N0cmluZyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUGF0aENlaWxpbmdGdW5jdGlvbiAoKSIgbGluaz0ibGlieG1sMi14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoQ2VpbGluZ0Z1bmN0aW9uIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoQ21wTm9kZXMgKCkiIGxpbms9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aENtcE5vZGVzIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoQ29tcGFyZVZhbHVlcyAoKSIgbGluaz0ibGlieG1sMi14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoQ29tcGFyZVZhbHVlcyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUGF0aENvbXBpbGUgKCkiIGxpbms9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aENvbXBpbGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhDb21waWxlZEV2YWwgKCkiIGxpbms9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aENvbXBpbGVkRXZhbCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUGF0aENvbXBpbGVkRXZhbFRvQm9vbGVhbiAoKSIgbGluaz0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoQ29tcGlsZWRFdmFsVG9Cb29sZWFuIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoQ29uY2F0RnVuY3Rpb24gKCkiIGxpbms9ImxpYnhtbDIteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aENvbmNhdEZ1bmN0aW9uIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoQ29udGFpbnNGdW5jdGlvbiAoKSIgbGluaz0ibGlieG1sMi14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoQ29udGFpbnNGdW5jdGlvbiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUGF0aENvbnRleHRTZXRDYWNoZSAoKSIgbGluaz0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFNldENhY2hlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoQ29udmVydEJvb2xlYW4gKCkiIGxpbms9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aENvbnZlcnRCb29sZWFuIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoQ29udmVydE51bWJlciAoKSIgbGluaz0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoQ29udmVydE51bWJlciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUGF0aENvbnZlcnRTdHJpbmcgKCkiIGxpbms9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aENvbnZlcnRTdHJpbmciLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhDb3VudEZ1bmN0aW9uICgpIiBsaW5rPSJsaWJ4bWwyLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhDb3VudEZ1bmN0aW9uIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoQ3R4dENvbXBpbGUgKCkiIGxpbms9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aEN0eHRDb21waWxlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoRGVidWdEdW1wQ29tcEV4cHIgKCkiIGxpbms9ImxpYnhtbDIteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aERlYnVnRHVtcENvbXBFeHByIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoRGVidWdEdW1wT2JqZWN0ICgpIiBsaW5rPSJsaWJ4bWwyLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhEZWJ1Z0R1bXBPYmplY3QiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhEaWZmZXJlbmNlICgpIiBsaW5rPSJsaWJ4bWwyLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhEaWZmZXJlbmNlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoRGlzdGluY3QgKCkiIGxpbms9ImxpYnhtbDIteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aERpc3RpbmN0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoRGlzdGluY3RTb3J0ZWQgKCkiIGxpbms9ImxpYnhtbDIteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aERpc3RpbmN0U29ydGVkIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoRGl2VmFsdWVzICgpIiBsaW5rPSJsaWJ4bWwyLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhEaXZWYWx1ZXMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhFcXVhbFZhbHVlcyAoKSIgbGluaz0ibGlieG1sMi14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRXF1YWxWYWx1ZXMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhFcnIgKCkiIGxpbms9ImxpYnhtbDIteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEVyciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUGF0aEV2YWwgKCkiIGxpbms9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aEV2YWwiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhFdmFsRXhwciAoKSIgbGluaz0ibGlieG1sMi14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRXZhbEV4cHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhFdmFsRXhwcmVzc2lvbiAoKSIgbGluaz0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoRXZhbEV4cHJlc3Npb24iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhFdmFsUHJlZGljYXRlICgpIiBsaW5rPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhFdmFsUHJlZGljYXRlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoRXZhbHVhdGVQcmVkaWNhdGVSZXN1bHQgKCkiIGxpbms9ImxpYnhtbDIteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEV2YWx1YXRlUHJlZGljYXRlUmVzdWx0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoRmFsc2VGdW5jdGlvbiAoKSIgbGluaz0ibGlieG1sMi14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRmFsc2VGdW5jdGlvbiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUGF0aEZsb29yRnVuY3Rpb24gKCkiIGxpbms9ImxpYnhtbDIteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEZsb29yRnVuY3Rpb24iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhGcmVlQ29tcEV4cHIgKCkiIGxpbms9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aEZyZWVDb21wRXhwciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUGF0aEZyZWVDb250ZXh0ICgpIiBsaW5rPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhGcmVlQ29udGV4dCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUGF0aEZyZWVOb2RlU2V0ICgpIiBsaW5rPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhGcmVlTm9kZVNldCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUGF0aEZyZWVOb2RlU2V0TGlzdCAoKSIgbGluaz0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoRnJlZU5vZGVTZXRMaXN0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoRnJlZU9iamVjdCAoKSIgbGluaz0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoRnJlZU9iamVjdCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUGF0aEZyZWVQYXJzZXJDb250ZXh0ICgpIiBsaW5rPSJsaWJ4bWwyLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhGcmVlUGFyc2VyQ29udGV4dCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUGF0aEZ1bmN0aW9uTG9va3VwICgpIiBsaW5rPSJsaWJ4bWwyLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhGdW5jdGlvbkxvb2t1cCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUGF0aEZ1bmN0aW9uTG9va3VwTlMgKCkiIGxpbms9ImxpYnhtbDIteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEZ1bmN0aW9uTG9va3VwTlMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhIYXNTYW1lTm9kZXMgKCkiIGxpbms9ImxpYnhtbDIteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEhhc1NhbWVOb2RlcyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUGF0aElkRnVuY3Rpb24gKCkiIGxpbms9ImxpYnhtbDIteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aElkRnVuY3Rpb24iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhJbml0ICgpIiBsaW5rPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhJbml0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoSW50ZXJzZWN0aW9uICgpIiBsaW5rPSJsaWJ4bWwyLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhJbnRlcnNlY3Rpb24iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhJc0luZiAoKSIgbGluaz0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoSXNJbmYiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhJc05hTiAoKSIgbGluaz0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoSXNOYU4iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhJc05vZGVUeXBlICgpIiBsaW5rPSJsaWJ4bWwyLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhJc05vZGVUeXBlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoTGFuZ0Z1bmN0aW9uICgpIiBsaW5rPSJsaWJ4bWwyLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhMYW5nRnVuY3Rpb24iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhMYXN0RnVuY3Rpb24gKCkiIGxpbms9ImxpYnhtbDIteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aExhc3RGdW5jdGlvbiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUGF0aExlYWRpbmcgKCkiIGxpbms9ImxpYnhtbDIteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aExlYWRpbmciLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhMZWFkaW5nU29ydGVkICgpIiBsaW5rPSJsaWJ4bWwyLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhMZWFkaW5nU29ydGVkIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoTG9jYWxOYW1lRnVuY3Rpb24gKCkiIGxpbms9ImxpYnhtbDIteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aExvY2FsTmFtZUZ1bmN0aW9uIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoTW9kVmFsdWVzICgpIiBsaW5rPSJsaWJ4bWwyLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhNb2RWYWx1ZXMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhNdWx0VmFsdWVzICgpIiBsaW5rPSJsaWJ4bWwyLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhNdWx0VmFsdWVzIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoTmFtZXNwYWNlVVJJRnVuY3Rpb24gKCkiIGxpbms9ImxpYnhtbDIteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5hbWVzcGFjZVVSSUZ1bmN0aW9uIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoTmV3Qm9vbGVhbiAoKSIgbGluaz0ibGlieG1sMi14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV3Qm9vbGVhbiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUGF0aE5ld0NTdHJpbmcgKCkiIGxpbms9ImxpYnhtbDIteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5ld0NTdHJpbmciLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhOZXdDb250ZXh0ICgpIiBsaW5rPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhOZXdDb250ZXh0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoTmV3RmxvYXQgKCkiIGxpbms9ImxpYnhtbDIteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5ld0Zsb2F0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoTmV3Tm9kZVNldCAoKSIgbGluaz0ibGlieG1sMi14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV3Tm9kZVNldCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUGF0aE5ld05vZGVTZXRMaXN0ICgpIiBsaW5rPSJsaWJ4bWwyLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXdOb2RlU2V0TGlzdCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUGF0aE5ld1BhcnNlckNvbnRleHQgKCkiIGxpbms9ImxpYnhtbDIteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5ld1BhcnNlckNvbnRleHQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhOZXdTdHJpbmcgKCkiIGxpbms9ImxpYnhtbDIteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5ld1N0cmluZyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUGF0aE5ld1ZhbHVlVHJlZSAoKSIgbGluaz0ibGlieG1sMi14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV3VmFsdWVUcmVlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoTmV4dEFuY2VzdG9yICgpIiBsaW5rPSJsaWJ4bWwyLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXh0QW5jZXN0b3IiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhOZXh0QW5jZXN0b3JPclNlbGYgKCkiIGxpbms9ImxpYnhtbDIteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHRBbmNlc3Rvck9yU2VsZiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUGF0aE5leHRBdHRyaWJ1dGUgKCkiIGxpbms9ImxpYnhtbDIteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHRBdHRyaWJ1dGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhOZXh0Q2hpbGQgKCkiIGxpbms9ImxpYnhtbDIteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHRDaGlsZCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUGF0aE5leHREZXNjZW5kYW50ICgpIiBsaW5rPSJsaWJ4bWwyLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXh0RGVzY2VuZGFudCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUGF0aE5leHREZXNjZW5kYW50T3JTZWxmICgpIiBsaW5rPSJsaWJ4bWwyLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXh0RGVzY2VuZGFudE9yU2VsZiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUGF0aE5leHRGb2xsb3dpbmcgKCkiIGxpbms9ImxpYnhtbDIteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHRGb2xsb3dpbmciLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhOZXh0Rm9sbG93aW5nU2libGluZyAoKSIgbGluaz0ibGlieG1sMi14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV4dEZvbGxvd2luZ1NpYmxpbmciLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhOZXh0TmFtZXNwYWNlICgpIiBsaW5rPSJsaWJ4bWwyLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXh0TmFtZXNwYWNlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoTmV4dFBhcmVudCAoKSIgbGluaz0ibGlieG1sMi14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV4dFBhcmVudCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUGF0aE5leHRQcmVjZWRpbmcgKCkiIGxpbms9ImxpYnhtbDIteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHRQcmVjZWRpbmciLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhOZXh0UHJlY2VkaW5nU2libGluZyAoKSIgbGluaz0ibGlieG1sMi14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV4dFByZWNlZGluZ1NpYmxpbmciLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhOZXh0U2VsZiAoKSIgbGluaz0ibGlieG1sMi14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV4dFNlbGYiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhOb2RlRXZhbCAoKSIgbGluaz0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoTm9kZUV2YWwiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhOb2RlTGVhZGluZyAoKSIgbGluaz0ibGlieG1sMi14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9kZUxlYWRpbmciLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhOb2RlTGVhZGluZ1NvcnRlZCAoKSIgbGluaz0ibGlieG1sMi14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9kZUxlYWRpbmdTb3J0ZWQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhOb2RlU2V0QWRkICgpIiBsaW5rPSJsaWJ4bWwyLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb2RlU2V0QWRkIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoTm9kZVNldEFkZE5zICgpIiBsaW5rPSJsaWJ4bWwyLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb2RlU2V0QWRkTnMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhOb2RlU2V0QWRkVW5pcXVlICgpIiBsaW5rPSJsaWJ4bWwyLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb2RlU2V0QWRkVW5pcXVlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoTm9kZVNldENvbnRhaW5zICgpIiBsaW5rPSJsaWJ4bWwyLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb2RlU2V0Q29udGFpbnMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhOb2RlU2V0Q3JlYXRlICgpIiBsaW5rPSJsaWJ4bWwyLXhwYXRoLmh0bWwjeG1sWFBhdGhOb2RlU2V0Q3JlYXRlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoTm9kZVNldERlbCAoKSIgbGluaz0ibGlieG1sMi14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9kZVNldERlbCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUGF0aE5vZGVTZXRGcmVlTnMgKCkiIGxpbms9ImxpYnhtbDIteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vZGVTZXRGcmVlTnMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhOb2RlU2V0TWVyZ2UgKCkiIGxpbms9ImxpYnhtbDIteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vZGVTZXRNZXJnZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUGF0aE5vZGVTZXRSZW1vdmUgKCkiIGxpbms9ImxpYnhtbDIteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vZGVTZXRSZW1vdmUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhOb2RlU2V0U29ydCAoKSIgbGluaz0ibGlieG1sMi14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9kZVNldFNvcnQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhOb2RlVHJhaWxpbmcgKCkiIGxpbms9ImxpYnhtbDIteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vZGVUcmFpbGluZyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUGF0aE5vZGVUcmFpbGluZ1NvcnRlZCAoKSIgbGluaz0ibGlieG1sMi14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9kZVRyYWlsaW5nU29ydGVkIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoTm9ybWFsaXplRnVuY3Rpb24gKCkiIGxpbms9ImxpYnhtbDIteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vcm1hbGl6ZUZ1bmN0aW9uIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoTm90RXF1YWxWYWx1ZXMgKCkiIGxpbms9ImxpYnhtbDIteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vdEVxdWFsVmFsdWVzIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoTm90RnVuY3Rpb24gKCkiIGxpbms9ImxpYnhtbDIteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vdEZ1bmN0aW9uIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoTnNMb29rdXAgKCkiIGxpbms9ImxpYnhtbDIteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5zTG9va3VwIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoTnVtYmVyRnVuY3Rpb24gKCkiIGxpbms9ImxpYnhtbDIteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE51bWJlckZ1bmN0aW9uIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoT2JqZWN0Q29weSAoKSIgbGluaz0ibGlieG1sMi14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0Q29weSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUGF0aE9yZGVyRG9jRWxlbXMgKCkiIGxpbms9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aE9yZGVyRG9jRWxlbXMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhQYXJzZU5DTmFtZSAoKSIgbGluaz0ibGlieG1sMi14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUGFyc2VOQ05hbWUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhQYXJzZU5hbWUgKCkiIGxpbms9ImxpYnhtbDIteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFBhcnNlTmFtZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUGF0aFBvcEJvb2xlYW4gKCkiIGxpbms9ImxpYnhtbDIteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFBvcEJvb2xlYW4iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhQb3BFeHRlcm5hbCAoKSIgbGluaz0ibGlieG1sMi14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUG9wRXh0ZXJuYWwiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhQb3BOb2RlU2V0ICgpIiBsaW5rPSJsaWJ4bWwyLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhQb3BOb2RlU2V0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoUG9wTnVtYmVyICgpIiBsaW5rPSJsaWJ4bWwyLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhQb3BOdW1iZXIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhQb3BTdHJpbmcgKCkiIGxpbms9ImxpYnhtbDIteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFBvcFN0cmluZyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUGF0aFBvc2l0aW9uRnVuY3Rpb24gKCkiIGxpbms9ImxpYnhtbDIteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFBvc2l0aW9uRnVuY3Rpb24iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhSZWdpc3RlckFsbEZ1bmN0aW9ucyAoKSIgbGluaz0ibGlieG1sMi14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmVnaXN0ZXJBbGxGdW5jdGlvbnMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhSZWdpc3RlckZ1bmMgKCkiIGxpbms9ImxpYnhtbDIteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJlZ2lzdGVyRnVuYyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUGF0aFJlZ2lzdGVyRnVuY0xvb2t1cCAoKSIgbGluaz0ibGlieG1sMi14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmVnaXN0ZXJGdW5jTG9va3VwIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoUmVnaXN0ZXJGdW5jTlMgKCkiIGxpbms9ImxpYnhtbDIteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJlZ2lzdGVyRnVuY05TIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoUmVnaXN0ZXJOcyAoKSIgbGluaz0ibGlieG1sMi14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmVnaXN0ZXJOcyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGUgKCkiIGxpbms9ImxpYnhtbDIteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlTG9va3VwICgpIiBsaW5rPSJsaWJ4bWwyLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlTG9va3VwIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZU5TICgpIiBsaW5rPSJsaWJ4bWwyLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlTlMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhSZWdpc3RlcmVkRnVuY3NDbGVhbnVwICgpIiBsaW5rPSJsaWJ4bWwyLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhSZWdpc3RlcmVkRnVuY3NDbGVhbnVwIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoUmVnaXN0ZXJlZE5zQ2xlYW51cCAoKSIgbGluaz0ibGlieG1sMi14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmVnaXN0ZXJlZE5zQ2xlYW51cCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUGF0aFJlZ2lzdGVyZWRWYXJpYWJsZXNDbGVhbnVwICgpIiBsaW5rPSJsaWJ4bWwyLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhSZWdpc3RlcmVkVmFyaWFibGVzQ2xlYW51cCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUGF0aFJvb3QgKCkiIGxpbms9ImxpYnhtbDIteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJvb3QiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhSb3VuZEZ1bmN0aW9uICgpIiBsaW5rPSJsaWJ4bWwyLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhSb3VuZEZ1bmN0aW9uIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoU2V0Q29udGV4dE5vZGUgKCkiIGxpbms9ImxpYnhtbDIteHBhdGguaHRtbCN4bWxYUGF0aFNldENvbnRleHROb2RlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoU3RhcnRzV2l0aEZ1bmN0aW9uICgpIiBsaW5rPSJsaWJ4bWwyLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdGFydHNXaXRoRnVuY3Rpb24iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhTdHJpbmdFdmFsTnVtYmVyICgpIiBsaW5rPSJsaWJ4bWwyLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdHJpbmdFdmFsTnVtYmVyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoU3RyaW5nRnVuY3Rpb24gKCkiIGxpbms9ImxpYnhtbDIteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFN0cmluZ0Z1bmN0aW9uIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoU3RyaW5nTGVuZ3RoRnVuY3Rpb24gKCkiIGxpbms9ImxpYnhtbDIteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFN0cmluZ0xlbmd0aEZ1bmN0aW9uIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoU3ViVmFsdWVzICgpIiBsaW5rPSJsaWJ4bWwyLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdWJWYWx1ZXMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhTdWJzdHJpbmdBZnRlckZ1bmN0aW9uICgpIiBsaW5rPSJsaWJ4bWwyLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdWJzdHJpbmdBZnRlckZ1bmN0aW9uIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoU3Vic3RyaW5nQmVmb3JlRnVuY3Rpb24gKCkiIGxpbms9ImxpYnhtbDIteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFN1YnN0cmluZ0JlZm9yZUZ1bmN0aW9uIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoU3Vic3RyaW5nRnVuY3Rpb24gKCkiIGxpbms9ImxpYnhtbDIteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFN1YnN0cmluZ0Z1bmN0aW9uIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoU3VtRnVuY3Rpb24gKCkiIGxpbms9ImxpYnhtbDIteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFN1bUZ1bmN0aW9uIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoVHJhaWxpbmcgKCkiIGxpbms9ImxpYnhtbDIteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFRyYWlsaW5nIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoVHJhaWxpbmdTb3J0ZWQgKCkiIGxpbms9ImxpYnhtbDIteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFRyYWlsaW5nU29ydGVkIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoVHJhbnNsYXRlRnVuY3Rpb24gKCkiIGxpbms9ImxpYnhtbDIteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFRyYW5zbGF0ZUZ1bmN0aW9uIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoVHJ1ZUZ1bmN0aW9uICgpIiBsaW5rPSJsaWJ4bWwyLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhUcnVlRnVuY3Rpb24iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhWYWx1ZUZsaXBTaWduICgpIiBsaW5rPSJsaWJ4bWwyLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhWYWx1ZUZsaXBTaWduIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoVmFyaWFibGVMb29rdXAgKCkiIGxpbms9ImxpYnhtbDIteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFZhcmlhYmxlTG9va3VwIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoVmFyaWFibGVMb29rdXBOUyAoKSIgbGluaz0ibGlieG1sMi14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoVmFyaWFibGVMb29rdXBOUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUGF0aFdyYXBDU3RyaW5nICgpIiBsaW5rPSJsaWJ4bWwyLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhXcmFwQ1N0cmluZyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUGF0aFdyYXBFeHRlcm5hbCAoKSIgbGluaz0ibGlieG1sMi14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoV3JhcEV4dGVybmFsIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoV3JhcE5vZGVTZXQgKCkiIGxpbms9ImxpYnhtbDIteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFdyYXBOb2RlU2V0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoV3JhcFN0cmluZyAoKSIgbGluaz0ibGlieG1sMi14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoV3JhcFN0cmluZyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUGF0aGVycm9yICgpIiBsaW5rPSJsaWJ4bWwyLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhlcnJvciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUHRyQnVpbGROb2RlTGlzdCAoKSIgbGluaz0ibGlieG1sMi14cG9pbnRlci5odG1sI3htbFhQdHJCdWlsZE5vZGVMaXN0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQdHJFdmFsICgpIiBsaW5rPSJsaWJ4bWwyLXhwb2ludGVyLmh0bWwjeG1sWFB0ckV2YWwiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFB0ckV2YWxSYW5nZVByZWRpY2F0ZSAoKSIgbGluaz0ibGlieG1sMi14cG9pbnRlci5odG1sI3htbFhQdHJFdmFsUmFuZ2VQcmVkaWNhdGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFB0ckZyZWVMb2NhdGlvblNldCAoKSIgbGluaz0ibGlieG1sMi14cG9pbnRlci5odG1sI3htbFhQdHJGcmVlTG9jYXRpb25TZXQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFB0ckxvY2F0aW9uU2V0QWRkICgpIiBsaW5rPSJsaWJ4bWwyLXhwb2ludGVyLmh0bWwjeG1sWFB0ckxvY2F0aW9uU2V0QWRkIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQdHJMb2NhdGlvblNldENyZWF0ZSAoKSIgbGluaz0ibGlieG1sMi14cG9pbnRlci5odG1sI3htbFhQdHJMb2NhdGlvblNldENyZWF0ZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUHRyTG9jYXRpb25TZXREZWwgKCkiIGxpbms9ImxpYnhtbDIteHBvaW50ZXIuaHRtbCN4bWxYUHRyTG9jYXRpb25TZXREZWwiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFB0ckxvY2F0aW9uU2V0TWVyZ2UgKCkiIGxpbms9ImxpYnhtbDIteHBvaW50ZXIuaHRtbCN4bWxYUHRyTG9jYXRpb25TZXRNZXJnZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUHRyTG9jYXRpb25TZXRSZW1vdmUgKCkiIGxpbms9ImxpYnhtbDIteHBvaW50ZXIuaHRtbCN4bWxYUHRyTG9jYXRpb25TZXRSZW1vdmUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFB0ck5ld0NvbGxhcHNlZFJhbmdlICgpIiBsaW5rPSJsaWJ4bWwyLXhwb2ludGVyLmh0bWwjeG1sWFB0ck5ld0NvbGxhcHNlZFJhbmdlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQdHJOZXdDb250ZXh0ICgpIiBsaW5rPSJsaWJ4bWwyLXhwb2ludGVyLmh0bWwjeG1sWFB0ck5ld0NvbnRleHQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFB0ck5ld0xvY2F0aW9uU2V0Tm9kZVNldCAoKSIgbGluaz0ibGlieG1sMi14cG9pbnRlci5odG1sI3htbFhQdHJOZXdMb2NhdGlvblNldE5vZGVTZXQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFB0ck5ld0xvY2F0aW9uU2V0Tm9kZXMgKCkiIGxpbms9ImxpYnhtbDIteHBvaW50ZXIuaHRtbCN4bWxYUHRyTmV3TG9jYXRpb25TZXROb2RlcyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUHRyTmV3UmFuZ2UgKCkiIGxpbms9ImxpYnhtbDIteHBvaW50ZXIuaHRtbCN4bWxYUHRyTmV3UmFuZ2UiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFB0ck5ld1JhbmdlTm9kZU9iamVjdCAoKSIgbGluaz0ibGlieG1sMi14cG9pbnRlci5odG1sI3htbFhQdHJOZXdSYW5nZU5vZGVPYmplY3QiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFB0ck5ld1JhbmdlTm9kZVBvaW50ICgpIiBsaW5rPSJsaWJ4bWwyLXhwb2ludGVyLmh0bWwjeG1sWFB0ck5ld1JhbmdlTm9kZVBvaW50Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQdHJOZXdSYW5nZU5vZGVzICgpIiBsaW5rPSJsaWJ4bWwyLXhwb2ludGVyLmh0bWwjeG1sWFB0ck5ld1JhbmdlTm9kZXMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFB0ck5ld1JhbmdlUG9pbnROb2RlICgpIiBsaW5rPSJsaWJ4bWwyLXhwb2ludGVyLmh0bWwjeG1sWFB0ck5ld1JhbmdlUG9pbnROb2RlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQdHJOZXdSYW5nZVBvaW50cyAoKSIgbGluaz0ibGlieG1sMi14cG9pbnRlci5odG1sI3htbFhQdHJOZXdSYW5nZVBvaW50cyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUHRyUmFuZ2VUb0Z1bmN0aW9uICgpIiBsaW5rPSJsaWJ4bWwyLXhwb2ludGVyLmh0bWwjeG1sWFB0clJhbmdlVG9GdW5jdGlvbiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUHRyV3JhcExvY2F0aW9uU2V0ICgpIiBsaW5rPSJsaWJ4bWwyLXhwb2ludGVyLmh0bWwjeG1sWFB0cldyYXBMb2NhdGlvblNldCIvPgorICA8L2Z1bmN0aW9ucz4KKzwvYm9vaz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2RldmhlbHAvcmlnaHQucG5nIGIvbGlieG1sMi9kb2MvZGV2aGVscC9yaWdodC5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTI4MzJlMwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL2RldmhlbHAvcmlnaHQucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2RldmhlbHAvc3R5bGUuY3NzIGIvbGlieG1sMi9kb2MvZGV2aGVscC9zdHlsZS5jc3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzljYWJlNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL2RldmhlbHAvc3R5bGUuY3NzCkBAIC0wLDAgKzEsNjYgQEAKKy5zeW5vcHNpcywgLmNsYXNzc3lub3BzaXMgCit7CisgIGJhY2tncm91bmQ6ICNlZWVlZWU7CisgIGJvcmRlcjogc29saWQgMXB4ICNhYWFhYWE7CisgIHBhZGRpbmc6IDAuNWVtOworfQorLnByb2dyYW1saXN0aW5nIAoreworICBiYWNrZ3JvdW5kOiAjZWVlZWZmOworICBib3JkZXI6IHNvbGlkIDFweCAjYWFhYWZmOworICBwYWRkaW5nOiAwLjVlbTsKK30KKy52YXJpYWJsZWxpc3QgCit7CisgIHBhZGRpbmc6IDRweDsKKyAgbWFyZ2luLWxlZnQ6IDNlbTsKK30KKy52YXJpYWJsZWxpc3QgdGQ6Zmlyc3QtY2hpbGQKK3sKKyAgdmVydGljYWwtYWxpZ246IHRvcDsKK30KK3RhYmxlLm5hdmlnYXRpb24gCit7CisgIGJhY2tncm91bmQ6ICNmZmVlZWU7CisgIGJvcmRlcjogc29saWQgMXB4ICNmZmFhYWE7CisgIG1hcmdpbi10b3A6IDAuNWVtOworICBtYXJnaW4tYm90dG9tOiAwLjVlbTsKK30KKy5uYXZpZ2F0aW9uIGEgCit7CisgIGNvbG9yOiAjNzcwMDAwOworfQorLm5hdmlnYXRpb24gYTp2aXNpdGVkIAoreworICBjb2xvcjogIzU1MDAwMDsKK30KKy5uYXZpZ2F0aW9uIC50aXRsZSAKK3sKKyAgZm9udC1zaXplOiAyMDAlOworfQorZGl2LnJlZm5hbWVkaXYgCit7CisgIG1hcmdpbi10b3A6IDJlbTsKK30KK2Rpdi5nYWxsZXJ5LWZsb2F0IAoreworICBmbG9hdDogbGVmdDsKKyAgcGFkZGluZzogMTBweDsKK30KK2Rpdi5nYWxsZXJ5LWZsb2F0IGltZyAKK3sKKyAgYm9yZGVyLXN0eWxlOiBub25lOworfQorZGl2LmdhbGxlcnktc3BhY2VyIAoreworICBjbGVhcjogYm90aDsKK30KK2EKK3sKKyAgdGV4dC1kZWNvcmF0aW9uOiBub25lOworfQorYTpob3ZlcgoreworICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKKyAgY29sb3I6ICNGRjAwMDA7Cit9CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9kZXZoZWxwL3VwLnBuZyBiL2xpYnhtbDIvZG9jL2RldmhlbHAvdXAucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg1YjNlMmEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9kZXZoZWxwL3VwLnBuZwpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9kb2NkZXNjci5kb2MgYi9saWJ4bWwyL2RvYy9kb2NkZXNjci5kb2MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDI3YTFmZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL2RvY2Rlc2NyLmRvYwpAQCAtMCwwICsxLDEwMCBAQAorICAgICAgICAgICAgICAgICAgIE5vdGVzIG9uIHRoZSBsaWJ4bWwyIERvY3VtZW50YXRpb24KKyAgICAgICAgICAgIFByZXBhcmVkIGJ5OiBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKwkgICAgCisgIEFmdGVyIHNwZW5kaW5nIGEgIGxvdCBvZiB0aW1lIHRyYWNpbmcgdGhyb3VnaCAgTWFrZWZpbGUuYW0sIHNvbWUgUHl0aG9uCitzY3JpcHRzICBhbmQgc29tZSB4c2wgIHNjcmlwdHMgYW5kIHhtbCBmaWxlcywgSSAgdGhvdWdodCBpdCBtaWdodCBiZSBnb29kCit0byBzYXZlIG90aGVycyBzb21lIHRpbWUgIGJ5IHNldHRpbmcgZG93biB0aGUgYmFzaWMgaW5mb3JtYXRpb24gYWJvdXQgaG93Cit0aGUgbGlicmFyeSBkb2N1bWVudGF0aW9uICBpcyBjcmVhdGVkLiAgSSBpbnRlbmQgdG8gZW5oYW5jZSB0aGlzIHByb2Nlc3MsCitidXQgd2lsbCBrZWVwIHRoaXMgZG9jdW1lbnQgdXAtdG8tZGF0ZSBmb3IgIGV2ZXJ5b25lJ3MgaW5mb3JtYXRpb24uICBOb3RlCit0aGF0IHRoaXMgZG9jdW1lbnQgZG9lcyBub3QgIGFwcGx5IHRvIHRoZSBzdWJkaXJlY3RvcnkgICJ0dXRvcmlhbCIsIHdoaWNoCitpcyBzZXBhcmF0ZWx5IG1haW50YWluZWQgYnkgSm9obiBGbGVjay4KKworICBUaGVyZSBhcmUgYSByZWxhdGl2ZWx5ICBzbWFsbCBudW1iZXIgb2YgZmlsZXMgIHdoaWNoIGZvcm0gdGhlICJjb3JlIiBvZgordGhlIGRvY3VtZW50IGRpcmVjdG9yeS4gIEFsbCAgdGhlIG90aGVyIGZpbGVzIGluIHRoZSBkaXJlY3RvcnkgY2FuIGJlIHJlLQorZ2VuZXJhdGVkIHVzaW5nICB0aGUgaW5mb3JtYXRpb24gIHByZXNlbnQgaW4gdGhlc2UgIGNvcmUgZmlsZXMsICBwbHVzIHRoZQorYWN0dWFsIGxpYnJhcnkgIHNvdXJjZSBmaWxlcyAoKi5bY2hdKSBpbiB0aGUgcGFyZW50ICBkaXJlY3RvcnkgICIuLi8iIGFuZAoraXQncyBkZXNjZW5kYW50cyBpbmNsdWRlICBhbmQgaW5jbHVkZS9saWJ4bWwuICBUaGVzZSBjb3JlIGZpbGVzLCB0b2dldGhlcgord2l0aCBhIGJyaWVmIGRlc2NyaXB0aW9uIG9mIGVhY2gsIGFyZSBhcyBmb2xsb3dzOi0KKworeG1sLmh0bWwgICAgICAgICAgIFRoZSAibWFpbiBwYWdlIiwgbWFudWFsbHkgcHJvZHVjZWQgYnkgRGFuaWVsIFZlaWxsYXJkCituZXdzLmh0bWwgICAgICAgICAgVGhlIGxhdGVzdCBuZXdzLCBleHRyYWN0ZWQgZnJvbSB4bWwuaHRtbCBieSBzaXRlLnhzbAorCitiZW5jaG1hcmsuZ2lmICAgICAgSWxsdXN0cmF0aW9ucyB1c2VkIGZvciB0aGUgIm1haW4gcGFnZSIgYW5kIHN1YnNpZGlhcmllcworZ25vbWUyLnBuZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tLS0tLS0KK0xpYnhtbDItTG9nby0xODB4MTY4LmdpZiAgICAgICAgICAgICAgICAgICB8CitsaWJ4bWwuZ2lmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorbGludXMuZ2lmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKK3JlZGhhdC5naWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CitzdHJ1Y3R1cmUuZ2lmICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIC8KK3czYy5wbmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtCisKK2FwaWJ1aWxkLnB5ICAgICAgICBQeXRob24gc2NyaXB0IHdoaWNoIGdlbmVyYXRlcyB0aGUgZmlsZSBsaWJ4bWwyLWFwaS54bWwKK3BhcnNlZGVjbC5weSAgICAgICBQeXRob24gc2VjaXB0IHdoaWNoIGdlbmVyYXRlcyB0aGUgZmlsZSBsaWJ4bWwyLXJlZnMueG1sCisKK2FwaS54c2wgICAgICAgICAgICB4c2x0IHNjcmlwdCB0byBnZW5lcmF0ZSBBUEkgY3Jvc3MtcmVmZXJlbmNlcyBBUEljaHVuayouaHRtbAorICAgICAgICAgICAgICAgICAgICAgdXNpbmcgaW5mb3JtYXRpb24gZnJvbSBsaWJ4bWwyLWFwaS54bWwgYW5kIGxpYnhtbDItcmVmcy54bWwKK25ld3MueHNsICAgICAgICAgICB4c2x0IHNjcmlwdCB0byBnZW5lcmF0ZSAuLi9ORVdTIGZyb20gbmV3cy5odG1sCitzaXRlLnhzbCAgICAgICAgICAgeHNsdCBzY3JpcHQgaW1wb3J0ZWQgYnkgYXBpLnhzbCwgZ2VuZXJhdGVzIG1vc3QgdG9wLWxldmVsCisgICAgICAgICAgICAgICAgICAgICBwYWdlcyBmcm9tIG5ld3MuaHRtbAoreHNhLnhzbCAgICAgICAgICAgIHhzbHQgc2NyaXB0IHRvIGdlbmVyYXRlIGxpYnhtbC54c2EgZnJvbSBuZXdzLmh0bWwKKworeG1sY2F0YWxvZy4xICAgICAgIE1hbiBwYWdlIGZvciB4bWwgY2F0YWxvZ3MsIGJ1aWx0IGZyb20geG1sY2F0YWxvZ19tYW4ueG1sIERvY0Jvb2sKKwkJICAgc291cmNlIHdpdGggIm1ha2UgeG1sY2F0YWxvZy4xIiBvciAibWFrZSBhbGwiCit4bWxsaW50LjEgICAgICAgICAgTWFuIHBhZ2UgZm9yIHhtbGxpbnQgcHJvZ3JhbSwgYnVpbHQgZnJvbSB4bWxsaW50LnhtbCBEb2NCb29rCisJCSAgIHNvdXJjZSB3aXRoICJtYWtlIHhtbGxpbnQuMSIgb3IgIm1ha2UgYWxsIgorCitsaWJ4bWwtZG9jLmVsICAgICAgQ29udHJvbCBzY3JpcHQgZm9yIGRpc3BsYXlpbmcgZG9jcyB1bmRlciBlbWFjcworCisKKyAgR2l2ZW4gdGhlIGFib3ZlIGZpbGVzLCB0aGUgZ2VuZXJhdGlvbiBvZiB0aGUgY29tcGxldGUgZG9jdW1lbnRhdGlvbiAoYXMKK3Byb3ZpZGVkIG9uIHRoZSB3ZWIgYnkgeG1sc29mdC5vcmcpIGNhbiBiZSBjcmVhdGVkIHdpdGggdGhlIGZvbGxvd2luZyBzdGVwczoKKworTk9URTogIFN0ZXBzIDEgdGhyb3VnaCA3IGFyZSBwZXJmb3JtZWQgd2l0aCB0aGUgY29tbWFuZCAibWFrZSByZWJ1aWxkIjsKKyAgICAgICBTdGVwcyAzIGFuZCA1IHRocm91Z2ggNyBhcmUgcGVyZm9ybWVkIHdpdGggdGhlIGNvbW1hbmQgIm1ha2UgYWxsIgorCisKKzEpIEdlbmVyYXRlIGxpYnhtbDItYXBpLnhtbDoKKyAgICAgICAuL2FwaWJ1aWxkLnB5CisKKyAgICBUaGlzIHNjcmlwdCBpcyBhIG1vcmUgcmVjZW50IGFkZGl0aW9uIHRvIHRoZSBkb2N1bWVudGF0aW9uIGdlbmVyYXRpb24uCisgICAgSW5zdGVhZCBvZiB1c2luZyB0aGUgaW5mb3JtYXRpb24gZnJvbSB0aGUgZ3RrLWRvYyByb3V0aW5lcywgaXQgYWN0dWFsbHkKKyAgICByZS1wcm9jZXNzZXMgYWxsIHRoZSB0aGUgbGlicmFyeSBzb3VyY2UgZmlsZXMsIGV4dHJhY3RpbmcgaW5mb3JtYXRpb24KKyAgICBhYm91dCB0aGUgYXBpIChleHBvcnRlZCBwcm9jZWR1cmVzIGFuZCBzeW1ib2xzLCB0b2dldGhlciB3aXRoIGluZm9ybWF0aW9uCisgICAgZnJvbSB0aGUgc291cmNlIGNvbW1lbnRzIHdpdGhpbiB0aGVzZSkuICBJdCBwcm9kdWNlcyBhbiB4bWwgZmlsZSB3aGljaAorICAgIGNvbnRhaW5zIGFsbCBvZiB0aGlzIGluZm9ybWF0aW9uLCAibGlieG1sMi1hcGkueG1sIi4KKworMikgR2VuZXJhdGUgbGlieG1sMi1yZWZzLnhtbDoKKyAgICAgICAuL3BhcnNlZGVjbC5weQorCisgICAgVGhpcyBzY3JpcHQgcHJvZHVjZXMgdGhlIHN1bW1hcnkKKyAgICB4bWwgZmlsZSAibGlieG1sMi1yZWZzLnhtbCIuICBIaXN0b3JpY2FsbHksIGl0IGFsc28gdXNlZCB0byBwcm9kdWNlCisgICAgaW5mb3JtYXRpb24gb24gdGhlIGFwaSdzIGluIHRoZSBmaWxlICJsaWJ4bWwyLWFwaS54bWwiLCBidXQgdGhhdCBzdGVwIGlzCisgICAgbm93IGJlaW5nIGRvbmUgYnkgYSBzZXBhcmF0ZSBzY3JpcHQuCisKKzMpIEdlbmVyYXRlIHRoZSBzaXRlJ3MgbWFpbiBwYWdlczoKKyAgICAgICB4c2x0cHJvYyAtLW5vbmV0IC0taHRtbCAtLW91dHB1dCBpbmRleC5odG1sIHNpdGUueHNsIHhtbC5odG1sCisKKyAgICBBbGwgb2YgdGhlICJ0b3AtbGV2ZWwiIHBhZ2VzIChleGNlcHQgeG1scmVhZGVyLmh0bWwgYW5kIGd1aWRlbGluZXMuaHRtbCkKKyAgICB3aGljaCBoYXZlIG5hdmlnYXRpb24gZnJhbWluZywgYXJlIGdlbmVyYXRlZCBmcm9tIHRoaXMgc3RlcAorCis0KSBHZW5lcmF0ZSB0aGUgY29udGVudHMgYW5kIGNyb3NzLXJlZmVyZW5jaW5nIHBhZ2VzOgorICAgICAgIHhzbHRwcm9jIC0tbm9uZXQgLS1odG1sIGFwaS54c2wgeG1sLmh0bWwKKworNSkgR2VuZXJhdGUgdGhlIE5FV1MgZmlsZSBpbiB0aGUgdG9wIGRpcmVjdG9yeToKKyAgICAgICB4c2x0cHJvYyAtLW5vbmV0IC0tb3V0cHV0IC4uL05FV1MgbmV3cy54c2wgbmV3cy5odG1sCisKKzYpIEdlbmVyYXRlIHRoZSBYTUwgU29mdHdhcmUgQXV0b3VwZGF0ZSBmaWxlIGxpYnhtbDIueHNhOgorICAgICAgIG1ha2UgbGlieG1sMi54c2EsIG9yLAorICAgICAgIHhzbHRwcm9jIC0tbm9uZXQgLS1vdXRwdXQgbGlieG1sMi54c2EgeHNhLnhzbCBuZXdzLmh0bWwKKworNykgTWFudWFsbHkgZ2VuZXJhdGUgeG1sY2F0YWxvZy4xIGFuZCB4bWxsaW50LjEgdXNpbmcgbWFucGFnZXMvZG9jYm9vay54c2wKKyAgIHN0eWxlc2hlZXQgaW4gZG9jYm9vayBzdHlsZXNoZWV0cy4gIm1ha2UgYWxsIiBhbHNvIHRha2VzIGNhcmUgb2YgdGhpcy4KKworICBBZnRlciB0aGVzZSBzdGVwcyBoYXZlIGJlZW4gZG9uZSwgdGhlIGRvY3VtZW50YXRpb24gaXMgY29tcGxldGUuCitUaGUgc2VhcmNoIGVuZ2luZSBpcyB0aGVuIHNldCB1cCB1c2luZyB0aGUgc2NyaXB0IGluZGV4LnB5LCB1c2luZworbGlieG1sMi1hcGkueG1sLCB0aGUgSFRNTCB3ZWIgcGFnZXMgZ2VuZXJhdGVkIGFib3ZlLCBhbmQgdGhlIEhUTUwKK21haWxpbmcgbGlzdCBhcmNoaXZlcyBhdCBnbm9tZS5vcmcuCisKKworTGFzdCB1cGRhdGU6ICAzMCBOb3ZlbWJlciAyMDAzCisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2RvY3MuaHRtbCBiL2xpYnhtbDIvZG9jL2RvY3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZDU5YTM3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvZG9jcy5odG1sCkBAIC0wLDAgKzEsMzQgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+PGxpbmsgcmVsPSJTSE9SVENVVCBJQ09OIiBocmVmPSIvZmF2aWNvbi5pY28iIC8+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK1REIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitCT0RZIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2E7IG1hcmdpbi10b3A6IDJlbTsgbWFyZ2luLWxlZnQ6IDBlbTsgbWFyZ2luLXJpZ2h0OiAwZW19CitIMSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDIge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gzIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitBOmxpbmssIEE6dmlzaXRlZCwgQTphY3RpdmUgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB9Cis8L3N0eWxlPjx0aXRsZT5EZXZlbG9wZXIgTWVudTwvdGl0bGU+PC9oZWFkPjxib2R5IGJnY29sb3I9IiM4Yjc3NjUiIHRleHQ9IiMwMDAwMDAiIGxpbms9IiNhMDYwNjAiIHZsaW5rPSIjMDAwMDAwIj48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iMTAwJSIgY2VsbHBhZGRpbmc9IjUiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIHdpZHRoPSIxMjAiPjxhIGhyZWY9Imh0dHA6Ly9zd3BhdC5mZmlpLm9yZy8iPjxpbWcgc3JjPSJlcGF0ZW50cy5wbmciIGFsdD0iQWN0aW9uIGFnYWluc3Qgc29mdHdhcmUgcGF0ZW50cyIgLz48L2E+PC90ZD48dGQgd2lkdGg9IjE4MCI+PGEgaHJlZj0iaHR0cDovL3d3dy5nbm9tZS5vcmcvIj48aW1nIHNyYz0iZ25vbWUyLnBuZyIgYWx0PSJHbm9tZTIgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvU3RhdHVzIj48aW1nIHNyYz0idzNjLnBuZyIgYWx0PSJXM0MgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy5yZWRoYXQuY29tLyI+PGltZyBzcmM9InJlZGhhdC5naWYiIGFsdD0iUmVkIEhhdCBMb2dvIiAvPjwvYT48ZGl2IGFsaWduPSJsZWZ0Ij48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvIj48aW1nIHNyYz0iTGlieG1sMi1Mb2dvLTE4MHgxNjguZ2lmIiBhbHQ9Ik1hZGUgd2l0aCBMaWJ4bWwyIExvZ28iIC8+PC9hPjwvZGl2PjwvdGQ+PHRkPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSI5MCUiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIiBiZ2NvbG9yPSIjZmZmYWNkIj48dHI+PHRkIGFsaWduPSJjZW50ZXIiPjxoMT5UaGUgWE1MIEMgcGFyc2VyIGFuZCB0b29sa2l0IG9mIEdub21lPC9oMT48aDI+RGV2ZWxvcGVyIE1lbnU8L2gyPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI0IiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCB2YWxpZ249InRvcCIgd2lkdGg9IjIwMCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+RGV2ZWxvcGVyIE1lbnU8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PGZvcm0gYWN0aW9uPSJzZWFyY2gucGhwIiBlbmN0eXBlPSJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiIG1ldGhvZD0iZ2V0Ij48aW5wdXQgbmFtZT0icXVlcnkiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iIiAvPjxpbnB1dCBuYW1lPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNlYXJjaCAuLi4iIC8+PC9mb3JtPjx1bD48bGk+PGEgaHJlZj0iaW5kZXguaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPk1haW4gTWVudTwvYT48L2xpPjxsaT48YSBocmVmPSJodG1sL2luZGV4Lmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5SZWZlcmVuY2UgTWFudWFsPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImV4YW1wbGVzL2luZGV4Lmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5Db2RlIEV4YW1wbGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imd1aWRlbGluZXMuaHRtbCI+WE1MIEd1aWRlbGluZXM8L2E+PC9saT48bGk+PGEgaHJlZj0idHV0b3JpYWwvaW5kZXguaHRtbCI+VHV0b3JpYWw8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1scmVhZGVyLmh0bWwiPlRoZSBSZWFkZXIgSW50ZXJmYWNlPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkNoYW5nZUxvZy5odG1sIj5DaGFuZ2VMb2c8L2E+PC9saT48bGk+PGEgaHJlZj0iWFNMVC5odG1sIj5YU0xUPC9hPjwvbGk+PGxpPjxhIGhyZWY9InB5dGhvbi5odG1sIj5QeXRob24gYW5kIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImFyY2hpdGVjdHVyZS5odG1sIj5saWJ4bWwyIGFyY2hpdGVjdHVyZTwvYT48L2xpPjxsaT48YSBocmVmPSJ0cmVlLmh0bWwiPlRoZSB0cmVlIG91dHB1dDwvYT48L2xpPjxsaT48YSBocmVmPSJpbnRlcmZhY2UuaHRtbCI+VGhlIFNBWCBpbnRlcmZhY2U8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1sbWVtLmh0bWwiPk1lbW9yeSBNYW5hZ2VtZW50PC9hPjwvbGk+PGxpPjxhIGhyZWY9InhtbGlvLmh0bWwiPkkvTyBJbnRlcmZhY2VzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnJhcnkuaHRtbCI+VGhlIHBhcnNlciBpbnRlcmZhY2VzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImVudGl0aWVzLmh0bWwiPkVudGl0aWVzIG9yIG5vIGVudGl0aWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Im5hbWVzcGFjZXMuaHRtbCI+TmFtZXNwYWNlczwvYT48L2xpPjxsaT48YSBocmVmPSJ1cGdyYWRlLmh0bWwiPlVwZ3JhZGluZyAxLnggY29kZTwvYT48L2xpPjxsaT48YSBocmVmPSJ0aHJlYWRzLmh0bWwiPlRocmVhZCBzYWZldHk8L2E+PC9saT48bGk+PGEgaHJlZj0iRE9NLmh0bWwiPkRPTSBQcmluY2lwbGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImV4YW1wbGUuaHRtbCI+QSByZWFsIGV4YW1wbGU8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1sLmh0bWwiPmZsYXQgcGFnZTwvYT4sIDxhIGhyZWY9InNpdGUueHNsIj5zdHlsZXNoZWV0PC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+QVBJIEluZGV4ZXM8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSJBUEljaHVuazAuaHRtbCI+QWxwaGFiZXRpYzwvYT48L2xpPjxsaT48YSBocmVmPSJBUEljb25zdHJ1Y3RvcnMuaHRtbCI+Q29uc3RydWN0b3JzPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkFQSWZ1bmN0aW9ucy5odG1sIj5GdW5jdGlvbnMvVHlwZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iQVBJZmlsZXMuaHRtbCI+TW9kdWxlczwvYT48L2xpPjxsaT48YSBocmVmPSJBUElzeW1ib2xzLmh0bWwiPlN5bWJvbHM8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5SZWxhdGVkIGxpbmtzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iaHR0cDovL21haWwuZ25vbWUub3JnL2FyY2hpdmVzL3htbC8iPk1haWwgYXJjaGl2ZTwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvWFNMVC8iPlhTTFQgbGlieHNsdDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vcGhkLmNzLnVuaWJvLml0L2dkb21lMi8iPkRPTSBnZG9tZTI8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5hbGVrc2V5LmNvbS94bWxzZWMvIj5YTUwtRFNpZyB4bWxzZWM8L2E+PC9saT48bGk+PGEgaHJlZj0iZnRwOi8veG1sc29mdC5vcmcvIj5GVFA8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56bGF0a292aWMuY29tL3Byb2plY3RzL2xpYnhtbC8iPldpbmRvd3MgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL29wZW5jc3cub3JnL3BhY2thZ2VzL2xpYnhtbDIiPlNvbGFyaXMgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5leHBsYWluLmNvbS5hdS9vc3MvbGlieG1sMnhzbHQuaHRtbCI+TWFjT3NYIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9seG1sLmRlLyI+bHhtbCBQeXRob24gYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2NwYW4udXdpbm5pcGVnLmNhL2Rpc3QvWE1MLUxpYlhNTCI+UGVybCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1scGx1c3BsdXMuc291cmNlZm9yZ2UubmV0LyI+QysrIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemVuZC5jb20vcGhwNS9hcnRpY2xlcy9waHA1LXhtbHBocC5waHAjSGVhZGluZzQiPlBIUCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2xpYnhtbDItcGFzLyI+UGFzY2FsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWwucnVieWZvcmdlLm9yZy8iPlJ1YnkgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3RjbHhtbC5zb3VyY2Vmb3JnZS5uZXQvIj5UY2wgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9idWdsaXN0LmNnaT9wcm9kdWN0PWxpYnhtbDIiPkJ1ZyBUcmFja2VyPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIzIiBjZWxsc3BhY2luZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHA+VGhlcmUgYXJlIHNldmVyYWwgb24tbGluZSByZXNvdXJjZXMgcmVsYXRlZCB0byB1c2luZyBsaWJ4bWw6PC9wPjxvbD4KKyAgPGxpPlVzZSB0aGUgPGEgaHJlZj0ic2VhcmNoLnBocCI+c2VhcmNoIGVuZ2luZTwvYT4gdG8gbG9vayB1cAorICBpbmZvcm1hdGlvbi48L2xpPgorICA8bGk+Q2hlY2sgdGhlIDxhIGhyZWY9IkZBUS5odG1sIj5GQVEuPC9hPjwvbGk+CisgIDxsaT5DaGVjayB0aGUgPGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnL2h0bWwvbGlieG1sLWxpYi5odG1sIj5leHRlbnNpdmUKKyAgICBkb2N1bWVudGF0aW9uPC9hPiBhdXRvbWF0aWNhbGx5IGV4dHJhY3RlZCBmcm9tIGNvZGUgY29tbWVudHMuPC9saT4KKyAgPGxpPkxvb2sgYXQgdGhlIGRvY3VtZW50YXRpb24gYWJvdXQgPGEgaHJlZj0iZW5jb2RpbmcuaHRtbCI+bGlieG1sCisgICAgaW50ZXJuYXRpb25hbGl6YXRpb24gc3VwcG9ydDwvYT4uPC9saT4KKyAgPGxpPlRoaXMgcGFnZSBwcm92aWRlcyBhIGdsb2JhbCBvdmVydmlldyBhbmQgPGEgaHJlZj0iZXhhbXBsZS5odG1sIj5zb21lCisgICAgZXhhbXBsZXM8L2E+IG9uIGhvdyB0byB1c2UgbGlieG1sLjwvbGk+CisgIDxsaT48YSBocmVmPSJleGFtcGxlcy9pbmRleC5odG1sIj5Db2RlIGV4YW1wbGVzPC9hPjwvbGk+CisgIDxsaT5Kb2huIEZsZWNrJ3MgbGlieG1sMiB0dXRvcmlhbDogPGEgaHJlZj0idHV0b3JpYWwvaW5kZXguaHRtbCI+aHRtbDwvYT4KKyAgICBvciA8YSBocmVmPSJ0dXRvcmlhbC94bWx0dXRvcmlhbC5wZGYiPnBkZjwvYT4uPC9saT4KKyAgPGxpPklmIHlvdSBuZWVkIHRvIHBhcnNlIGxhcmdlIGZpbGVzLCBjaGVjayB0aGUgPGEgaHJlZj0ieG1scmVhZGVyLmh0bWwiPnhtbFJlYWRlcjwvYT4gQVBJIHR1dG9yaWFsPC9saT4KKyAgPGxpPjxhIGhyZWY9Im1haWx0bzpqYW1lc0BkYWEuY29tLmF1Ij5KYW1lcyBIZW5zdHJpZGdlPC9hPiB3cm90ZSA8YSBocmVmPSJodHRwOi8vd3d3LmphbWVzaC5pZC5hdS9hcnRpY2xlcy9saWJ4bWwtc2F4L2xpYnhtbC1zYXguaHRtbCI+c29tZSBuaWNlCisgICAgZG9jdW1lbnRhdGlvbjwvYT4gZXhwbGFpbmluZyBob3cgdG8gdXNlIHRoZSBsaWJ4bWwgU0FYIGludGVyZmFjZS48L2xpPgorICA8bGk+R2VvcmdlIExlYmwgd3JvdGUgPGEgaHJlZj0iaHR0cDovL3d3dy0xMDYuaWJtLmNvbS9kZXZlbG9wZXJ3b3Jrcy9saWJyYXJ5L2wtZ25vbWUzLyI+YW4gYXJ0aWNsZQorICAgIGZvciBJQk0gZGV2ZWxvcGVyV29ya3M8L2E+IGFib3V0IHVzaW5nIGxpYnhtbC48L2xpPgorICA8bGk+Q2hlY2sgPGEgaHJlZj0iaHR0cDovL3N2bi5nbm9tZS5vcmcvdmlld3ZjL2xpYnhtbDIvdHJ1bmsvVE9ETz92aWV3PW1hcmt1cCI+dGhlIFRPRE8KKyAgICBmaWxlPC9hPi48L2xpPgorICA8bGk+UmVhZCB0aGUgPGEgaHJlZj0idXBncmFkZS5odG1sIj4xLnggdG8gMi54IHVwZ3JhZGUgcGF0aDwvYT4KKyAgICBkZXNjcmlwdGlvbi4gSWYgeW91IGFyZSBzdGFydGluZyBhIG5ldyBwcm9qZWN0IHVzaW5nIGxpYnhtbCB5b3Ugc2hvdWxkCisgICAgcmVhbGx5IHVzZSB0aGUgMi54IHZlcnNpb24uPC9saT4KKyAgPGxpPkFuZCBkb24ndCBmb3JnZXQgdG8gbG9vayBhdCB0aGUgPGEgaHJlZj0iaHR0cDovL21haWwuZ25vbWUub3JnL2FyY2hpdmVzL3htbC8iPm1haWxpbmctbGlzdCBhcmNoaXZlPC9hPi48L2xpPgorPC9vbD48cD48YSBocmVmPSJidWdzLmh0bWwiPkRhbmllbCBWZWlsbGFyZDwvYT48L3A+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2Rvd25sb2Fkcy5odG1sIGIvbGlieG1sMi9kb2MvZG93bmxvYWRzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjBmOWU1NwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL2Rvd25sb2Fkcy5odG1sCkBAIC0wLDAgKzEsNDAgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+PGxpbmsgcmVsPSJTSE9SVENVVCBJQ09OIiBocmVmPSIvZmF2aWNvbi5pY28iIC8+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK1REIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitCT0RZIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2E7IG1hcmdpbi10b3A6IDJlbTsgbWFyZ2luLWxlZnQ6IDBlbTsgbWFyZ2luLXJpZ2h0OiAwZW19CitIMSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDIge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gzIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitBOmxpbmssIEE6dmlzaXRlZCwgQTphY3RpdmUgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB9Cis8L3N0eWxlPjx0aXRsZT5Eb3dubG9hZHM8L3RpdGxlPjwvaGVhZD48Ym9keSBiZ2NvbG9yPSIjOGI3NzY1IiB0ZXh0PSIjMDAwMDAwIiBsaW5rPSIjYTA2MDYwIiB2bGluaz0iIzAwMDAwMCI+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjEwMCUiIGNlbGxwYWRkaW5nPSI1IiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCB3aWR0aD0iMTIwIj48YSBocmVmPSJodHRwOi8vc3dwYXQuZmZpaS5vcmcvIj48aW1nIHNyYz0iZXBhdGVudHMucG5nIiBhbHQ9IkFjdGlvbiBhZ2FpbnN0IHNvZnR3YXJlIHBhdGVudHMiIC8+PC9hPjwvdGQ+PHRkIHdpZHRoPSIxODAiPjxhIGhyZWY9Imh0dHA6Ly93d3cuZ25vbWUub3JnLyI+PGltZyBzcmM9Imdub21lMi5wbmciIGFsdD0iR25vbWUyIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1N0YXR1cyI+PGltZyBzcmM9InczYy5wbmciIGFsdD0iVzNDIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cucmVkaGF0LmNvbS8iPjxpbWcgc3JjPSJyZWRoYXQuZ2lmIiBhbHQ9IlJlZCBIYXQgTG9nbyIgLz48L2E+PGRpdiBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnLyI+PGltZyBzcmM9IkxpYnhtbDItTG9nby0xODB4MTY4LmdpZiIgYWx0PSJNYWRlIHdpdGggTGlieG1sMiBMb2dvIiAvPjwvYT48L2Rpdj48L3RkPjx0ZD48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iOTAlIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyIgYmdjb2xvcj0iI2ZmZmFjZCI+PHRyPjx0ZCBhbGlnbj0iY2VudGVyIj48aDE+VGhlIFhNTCBDIHBhcnNlciBhbmQgdG9vbGtpdCBvZiBHbm9tZTwvaDE+PGgyPkRvd25sb2FkczwvaDI+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjQiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiIHdpZHRoPSIxMDAlIj48dHI+PHRkIHZhbGlnbj0idG9wIiB3aWR0aD0iMjAwIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5NYWluIE1lbnU8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PGZvcm0gYWN0aW9uPSJzZWFyY2gucGhwIiBlbmN0eXBlPSJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiIG1ldGhvZD0iZ2V0Ij48aW5wdXQgbmFtZT0icXVlcnkiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iIiAvPjxpbnB1dCBuYW1lPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNlYXJjaCAuLi4iIC8+PC9mb3JtPjx1bD48bGk+PGEgaHJlZj0iaW5kZXguaHRtbCI+SG9tZTwvYT48L2xpPjxsaT48YSBocmVmPSJodG1sL2luZGV4Lmh0bWwiPlJlZmVyZW5jZSBNYW51YWw8L2E+PC9saT48bGk+PGEgaHJlZj0iaW50cm8uaHRtbCI+SW50cm9kdWN0aW9uPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkZBUS5odG1sIj5GQVE8L2E+PC9saT48bGk+PGEgaHJlZj0iZG9jcy5odG1sIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+RGV2ZWxvcGVyIE1lbnU8L2E+PC9saT48bGk+PGEgaHJlZj0iYnVncy5odG1sIj5SZXBvcnRpbmcgYnVncyBhbmQgZ2V0dGluZyBoZWxwPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImhlbHAuaHRtbCI+SG93IHRvIGhlbHA8L2E+PC9saT48bGk+PGEgaHJlZj0iZG93bmxvYWRzLmh0bWwiPkRvd25sb2FkczwvYT48L2xpPjxsaT48YSBocmVmPSJuZXdzLmh0bWwiPlJlbGVhc2VzPC9hPjwvbGk+PGxpPjxhIGhyZWY9IlhNTGluZm8uaHRtbCI+WE1MPC9hPjwvbGk+PGxpPjxhIGhyZWY9IlhTTFQuaHRtbCI+WFNMVDwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWxkdGQuaHRtbCI+VmFsaWRhdGlvbiAmYW1wOyBEVERzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImVuY29kaW5nLmh0bWwiPkVuY29kaW5ncyBzdXBwb3J0PC9hPjwvbGk+PGxpPjxhIGhyZWY9ImNhdGFsb2cuaHRtbCI+Q2F0YWxvZyBzdXBwb3J0PC9hPjwvbGk+PGxpPjxhIGhyZWY9Im5hbWVzcGFjZXMuaHRtbCI+TmFtZXNwYWNlczwvYT48L2xpPjxsaT48YSBocmVmPSJjb250cmlicy5odG1sIj5Db250cmlidXRpb25zPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImV4YW1wbGVzL2luZGV4Lmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5Db2RlIEV4YW1wbGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0bWwvaW5kZXguaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPkFQSSBNZW51PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imd1aWRlbGluZXMuaHRtbCI+WE1MIEd1aWRlbGluZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iQ2hhbmdlTG9nLmh0bWwiPlJlY2VudCBDaGFuZ2VzPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+UmVsYXRlZCBsaW5rczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9Imh0dHA6Ly9tYWlsLmdub21lLm9yZy9hcmNoaXZlcy94bWwvIj5NYWlsIGFyY2hpdmU8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnL1hTTFQvIj5YU0xUIGxpYnhzbHQ8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3BoZC5jcy51bmliby5pdC9nZG9tZTIvIj5ET00gZ2RvbWUyPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuYWxla3NleS5jb20veG1sc2VjLyI+WE1MLURTaWcgeG1sc2VjPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImZ0cDovL3htbHNvZnQub3JnLyI+RlRQPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemxhdGtvdmljLmNvbS9wcm9qZWN0cy9saWJ4bWwvIj5XaW5kb3dzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9vcGVuY3N3Lm9yZy9wYWNrYWdlcy9saWJ4bWwyIj5Tb2xhcmlzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuZXhwbGFpbi5jb20uYXUvb3NzL2xpYnhtbDJ4c2x0Lmh0bWwiPk1hY09zWCBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbHhtbC5kZS8iPmx4bWwgUHl0aG9uIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9jcGFuLnV3aW5uaXBlZy5jYS9kaXN0L1hNTC1MaWJYTUwiPlBlcmwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbHBsdXNwbHVzLnNvdXJjZWZvcmdlLm5ldC8iPkMrKyBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnplbmQuY29tL3BocDUvYXJ0aWNsZXMvcGhwNS14bWxwaHAucGhwI0hlYWRpbmc0Ij5QSFAgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9saWJ4bWwyLXBhcy8iPlBhc2NhbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1sLnJ1Ynlmb3JnZS5vcmcvIj5SdWJ5IGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly90Y2x4bWwuc291cmNlZm9yZ2UubmV0LyI+VGNsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvYnVnbGlzdC5jZ2k/cHJvZHVjdD1saWJ4bWwyIj5CdWcgVHJhY2tlcjwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMyIgY2VsbHNwYWNpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjxwPlRoZSBsYXRlc3QgdmVyc2lvbnMgb2YgbGlieG1sMiBjYW4gYmUgZm91bmQgb24gdGhlIDxhIGhyZWY9ImZ0cDovL3htbHNvZnQub3JnL2xpYnhtbDIvIj54bWxzb2Z0Lm9yZzwvYT4gc2VydmVyICggPGEgaHJlZj0iZnRwOi8veG1sc29mdC5vcmcvbGlieG1sMi8iPkZUUDwvYT4gYW5kIHJzeW5jIGFyZSBhdmFpbGFibGUpLCB0aGVyZSBhcmUgYWxzbworbWlycm9ycyAoPGEgaHJlZj0iZnRwOi8vZnIucnBtZmluZC5uZXQvcHViL2xpYnhtbC8iPkZyYW5jZTwvYT4gYW5kCitBbnRvbmluIFNwcmluemwgYWxzbyBwcm92aWRlIDxhIGhyZWY9ImZ0cDovL2dkLnR1d2llbi5hYy5hdC9wdWIvbGlieG1sLyI+YQorbWlycm9yIGluIEF1c3RyaWE8L2E+KS4gKE5PVEUgdGhhdCB5b3UgbmVlZCBib3RoIHRoZSA8YSBocmVmPSJodHRwOi8vcnBtZmluZC5uZXQvbGludXgvUlBNL2xpYnhtbDIuaHRtbCI+bGlieG1sKDIpPC9hPiBhbmQgPGEgaHJlZj0iaHR0cDovL3JwbWZpbmQubmV0L2xpbnV4L1JQTS9saWJ4bWwyLWRldmVsLmh0bWwiPmxpYnhtbCgyKS1kZXZlbDwvYT4KK3BhY2thZ2VzIGluc3RhbGxlZCB0byBjb21waWxlIGFwcGxpY2F0aW9ucyB1c2luZyBsaWJ4bWwgaWYgdXNpbmcgUlBNcy4pPC9wPjxwPllvdSBjYW4gZmluZCBhbGwgdGhlIGhpc3Rvcnkgb2YgbGlieG1sKDIpIGFuZCBsaWJ4c2x0IHJlbGVhc2VzIGluIHRoZSA8YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvc291cmNlcy9vbGQvIj5vbGQ8L2E+IGRpcmVjdG9yeS4gVGhlIHByZWNvbXBpbGVkCitXaW5kb3dzIGJpbmFyaWVzIG1hZGUgYnkgSWdvciBabGF0b3ZpYyBhcmUgYXZhaWxhYmxlIGluIHRoZSA8YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvc291cmNlcy93aW4zMi8iPndpbjMyPC9hPiBkaXJlY3RvcnkuPC9wPjxwPkJpbmFyeSBwb3J0czo8L3A+PHVsPgorICA8bGk+UlBNcyBmb3IgeDg2XzY0IGFyZSBhdmFpbGFibGUgZGlyZWN0bHkgb24gPGEgaHJlZj0iZnRwOi8veG1sc29mdC5vcmcvbGlieG1sMi8iPnhtbHNvZnQub3JnPC9hPiwgdGhlIHNvdXJjZSBSUE0gd2lsbCBjb21waWxlIG9uCisgICAgYW55IGFyY2hpdGVjdHVyZSBzdXBwb3J0ZWQuPC9saT4KKyAgPGxpPjxhIGhyZWY9Im1haWx0bzppZ29yQHpsYXRrb3ZpYy5jb20iPklnb3IgWmxhdGtvdmljPC9hPiBpcyBub3cgdGhlCisgICAgbWFpbnRhaW5lciBvZiB0aGUgV2luZG93cyBwb3J0LCA8YSBocmVmPSJodHRwOi8vd3d3LnpsYXRrb3ZpYy5jb20vcHJvamVjdHMvbGlieG1sL2luZGV4Lmh0bWwiPmhlIHByb3ZpZGVzCisgICAgYmluYXJpZXM8L2E+LjwvbGk+CisgIDxsaT5PcGVuQ1NXIHByb3ZpZGVzIDxhIGhyZWY9Imh0dHA6Ly9vcGVuY3N3Lm9yZy9wYWNrYWdlcy9saWJ4bWwyIj5Tb2xhcmlzCisgIGJpbmFyaWVzPC9hPi48L2xpPgorICA8bGk+PGEgaHJlZj0ibWFpbHRvOlN0ZXZlLkJhbGxAZXhwbGFpbi5jb20uYXUiPlN0ZXZlIEJhbGw8L2E+IHByb3ZpZGVzIDxhIGhyZWY9Imh0dHA6Ly93d3cuZXhwbGFpbi5jb20uYXUvb3NzL2xpYnhtbDJ4c2x0Lmh0bWwiPk1hYyBPcyBYCisgICAgYmluYXJpZXM8L2E+LjwvbGk+CisgIDxsaT5UaGUgSFAtVVggcG9ydGluZyBjZW50ZXIgcHJvdmlkZXMgPGEgaHJlZj0iaHR0cDovL2hwdXguY29ubmVjdC5vcmcudWsvaHBwZC9ocHV4L0dub21lLyI+SFAtVVggYmluYXJpZXM8L2E+PC9saT4KKyAgPGxpPkJ1bGwgcHJvdmlkZXMgcHJlY29tcGlsZWQgPGEgaHJlZj0iaHR0cDovL2dub21lLmJ1bGxmcmVld2FyZS5jb20vbmV3X2luZGV4Lmh0bWwiPlJQTXMgZm9yIEFJWDwvYT4gYXMKKyAgICBwYXRyIG9mIHRoZWlyIEdOT01FIHBhY2thZ2VzPC9saT4KKzwvdWw+PHA+SWYgeW91IGtub3cgb3RoZXIgc3VwcG9ydGVkIGJpbmFyeSBwb3J0cywgcGxlYXNlIDxhIGhyZWY9Imh0dHA6Ly92ZWlsbGFyZC5jb20vIj5jb250YWN0IG1lPC9hPi48L3A+PHA+PGEgbmFtZT0iU25hcHNob3QiIGlkPSJTbmFwc2hvdCI+U25hcHNob3Q6PC9hPjwvcD48dWw+CisgIDxsaT5Db2RlIGZyb20gdGhlIEdOT01FIEdJVCBiYXNlIGxpYnhtbDIgbW9kdWxlLCB1cGRhdGVkIGhvdXJseSA8YSBocmVmPSJmdHA6Ly94bWxzb2Z0Lm9yZy9saWJ4bWwyL2xpYnhtbDItZ2l0LXNuYXBzaG90LnRhci5neiI+bGlieG1sMi1naXQtc25hcHNob3QudGFyLmd6PC9hPi48L2xpPgorICA8bGk+RG9jcywgY29udGVudCBvZiB0aGUgd2ViIHNpdGUsIHRoZSBsaXN0IGFyY2hpdmUgaW5jbHVkZWQgPGEgaHJlZj0iZnRwOi8veG1sc29mdC5vcmcvbGlieG1sMi9saWJ4bWwtZG9jcy50YXIuZ3oiPmxpYnhtbC1kb2NzLnRhci5nejwvYT4uPC9saT4KKzwvdWw+PHA+PGEgbmFtZT0iQ29udHJpYnMiIGlkPSJDb250cmlicyI+Q29udHJpYnV0aW9uczo8L2E+PC9wPjxwPkkgZG8gYWNjZXB0IGV4dGVybmFsIGNvbnRyaWJ1dGlvbnMsIGVzcGVjaWFsbHkgaWYgY29tcGlsaW5nIG9uIGFub3RoZXIKK3BsYXRmb3JtLCAgZ2V0IGluIHRvdWNoIHdpdGggdGhlIGxpc3QgdG8gdXBsb2FkIHRoZSBwYWNrYWdlLCB3cmFwcGVycyBmb3IKK3ZhcmlvdXMgbGFuZ3VhZ2VzIGhhdmUgYmVlbiBwcm92aWRlZCwgYW5kIGNhbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0icHl0aG9uLmh0bWwiPmJpbmRpbmdzIHNlY3Rpb248L2E+PC9wPjxwPkxpYnhtbDIgaXMgYWxzbyBhdmFpbGFibGUgZnJvbSBHSVQ6PC9wPjx1bD4KKyAgPGxpPjxwPlNlZSA8YSBocmVmPSJodHRwOi8vZ2l0Lmdub21lLm9yZy9icm93c2UvbGlieG1sMi8iPmxpYnhtbDIgR2l0IHdlYjwvYT4uCisgICAgICAgICBUbyBjaGVja291dCBhIGxvY2FsIHRyZWUgdXNlOjwvcD4KKyAgICAgICA8cHJlPmdpdCBjbG9uZSBnaXQ6Ly9naXQuZ25vbWUub3JnL2xpYnhtbDI8L3ByZT4KKyAgPC9saT4KKyAgPGxpPlRoZSA8c3Ryb25nPmxpYnhzbHQ8L3N0cm9uZz4gbW9kdWxlIGlzIGFsc28gcHJlc2VudCAKKyAgICAgIDxhIGhyZWY9Imh0dHA6Ly9naXQuZ25vbWUub3JnL2Jyb3dzZS9saWJ4c2x0LyI+dGhlcmU8L2E+LjwvbGk+Cis8L3VsPjxwPjxhIGhyZWY9ImJ1Z3MuaHRtbCI+RGFuaWVsIFZlaWxsYXJkPC9hPjwvcD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvZWxmZ2NjaGFjay54c2wgYi9saWJ4bWwyL2RvYy9lbGZnY2NoYWNrLnhzbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YjFhOWJjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvZWxmZ2NjaGFjay54c2wKQEAgLTAsMCArMSwxNjAgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPHhzbDpzdHlsZXNoZWV0IHhtbG5zOnhzbD0iaHR0cDovL3d3dy53My5vcmcvMTk5OS9YU0wvVHJhbnNmb3JtIgorICAgICAgICAgICAgICAgIHhtbG5zOnhodG1sPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIgorICAgICAgICAgICAgICAgIHZlcnNpb249IjEuMCI+CisgIDx4c2w6b3V0cHV0IG1ldGhvZD0idGV4dCIgZW5jb2Rpbmc9IlVURi04Ii8+CisKKyAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iLyI+CisgICAgPHhzbDp0ZXh0Pi8qCisgKiBlbGZnY2NoYWNrLmg6IGhhY2sgYnkgQXJqYW4gdmFuIGRlIFZlbiAmbHQ7YXJqYW52QHJlZGhhdC5jb20mZ3Q7IHRvIHNwZWVkCisgKiAgICAgICAgICAgICAgIHVwIHRoZSBjb2RlIHdoZW4gdXNpbmcgZ2NjIGZvciBjYWxsIHdpdGhpbiB0aGUgbGlicmFyeS4KKyAqCisgKiBCYXNlZCBvbiB0aGUgYW5hbHlzaXMgaHR0cDovL3Blb3BsZS5yZWRoYXQuY29tL2RyZXBwZXIvZHNvaG93dG8ucGRmCisgKiBmcm9tIFVscmljaCBkcmVwcGVyLiBSZXdyaXR0ZW4gdG8gYmUgZ2VuZXJhdGVkIGZyb20gdGhlIFhNTCBkZXNjcmlwdGlvbgorICogZmlsZSBmb3IgbGlieG1sMiBBUEkKKyAqIGF1dG9nZW5lcmF0ZWQgd2l0aCB4c2x0cHJvYyBkb2MvZWxmZ2NjaGFjay54c2wgZG9jL2xpYnhtbDItYXBpLnhtbAorICovCisKKyNpZmRlZiBJTl9MSUJYTUwKKyNpZmRlZiBfX0dOVUNfXworI2lmZGVmIFBJQworI2lmZGVmIGxpbnV4CisjaWYgKF9fR05VQ19fID09IDMgJmFtcDsmYW1wOyBfX0dOVUNfTUlOT1JfXyA+PSAzKSB8fCAoX19HTlVDX18gPiAzKQorCisjaW5jbHVkZSAibGlieG1sL2MxNG4uaCIKKyNpbmNsdWRlICJsaWJ4bWwvY2F0YWxvZy5oIgorI2luY2x1ZGUgImxpYnhtbC9jaHZhbGlkLmgiCisjaW5jbHVkZSAibGlieG1sL2RlYnVnWE1MLmgiCisjaW5jbHVkZSAibGlieG1sL2RpY3QuaCIKKyNpbmNsdWRlICJsaWJ4bWwvRE9DQnBhcnNlci5oIgorI2luY2x1ZGUgImxpYnhtbC9lbmNvZGluZy5oIgorI2luY2x1ZGUgImxpYnhtbC9lbnRpdGllcy5oIgorI2luY2x1ZGUgImxpYnhtbC9nbG9iYWxzLmgiCisjaW5jbHVkZSAibGlieG1sL2hhc2guaCIKKyNpbmNsdWRlICJsaWJ4bWwvSFRNTHBhcnNlci5oIgorI2luY2x1ZGUgImxpYnhtbC9IVE1MdHJlZS5oIgorI2luY2x1ZGUgImxpYnhtbC9saXN0LmgiCisjaW5jbHVkZSAibGlieG1sL25hbm9mdHAuaCIKKyNpbmNsdWRlICJsaWJ4bWwvbmFub2h0dHAuaCIKKyNpbmNsdWRlICJsaWJ4bWwvcGFyc2VyLmgiCisjaW5jbHVkZSAibGlieG1sL3BhcnNlckludGVybmFscy5oIgorI2luY2x1ZGUgImxpYnhtbC9wYXR0ZXJuLmgiCisjaW5jbHVkZSAibGlieG1sL3JlbGF4bmcuaCIKKyNpbmNsdWRlICJsaWJ4bWwvU0FYMi5oIgorI2luY2x1ZGUgImxpYnhtbC9TQVguaCIKKyNpbmNsdWRlICJsaWJ4bWwvc2NoZW1hc0ludGVybmFscy5oIgorI2luY2x1ZGUgImxpYnhtbC9zY2hlbWF0cm9uLmgiCisjaW5jbHVkZSAibGlieG1sL3RocmVhZHMuaCIKKyNpbmNsdWRlICJsaWJ4bWwvdHJlZS5oIgorI2luY2x1ZGUgImxpYnhtbC91cmkuaCIKKyNpbmNsdWRlICJsaWJ4bWwvdmFsaWQuaCIKKyNpbmNsdWRlICJsaWJ4bWwveGluY2x1ZGUuaCIKKyNpbmNsdWRlICJsaWJ4bWwveGxpbmsuaCIKKyNpbmNsdWRlICJsaWJ4bWwveG1sYXV0b21hdGEuaCIKKyNpbmNsdWRlICJsaWJ4bWwveG1sZXJyb3IuaCIKKyNpbmNsdWRlICJsaWJ4bWwveG1sZXhwb3J0cy5oIgorI2luY2x1ZGUgImxpYnhtbC94bWxJTy5oIgorI2luY2x1ZGUgImxpYnhtbC94bWxtZW1vcnkuaCIKKyNpbmNsdWRlICJsaWJ4bWwveG1scmVhZGVyLmgiCisjaW5jbHVkZSAibGlieG1sL3htbHJlZ2V4cC5oIgorI2luY2x1ZGUgImxpYnhtbC94bWxzYXZlLmgiCisjaW5jbHVkZSAibGlieG1sL3htbHNjaGVtYXMuaCIKKyNpbmNsdWRlICJsaWJ4bWwveG1sc2NoZW1hc3R5cGVzLmgiCisjaW5jbHVkZSAibGlieG1sL3htbHN0cmluZy5oIgorI2luY2x1ZGUgImxpYnhtbC94bWx1bmljb2RlLmgiCisjaW5jbHVkZSAibGlieG1sL3htbHZlcnNpb24uaCIKKyNpbmNsdWRlICJsaWJ4bWwveG1sd3JpdGVyLmgiCisjaW5jbHVkZSAibGlieG1sL3hwYXRoLmgiCisjaW5jbHVkZSAibGlieG1sL3hwYXRoSW50ZXJuYWxzLmgiCisjaW5jbHVkZSAibGlieG1sL3hwb2ludGVyLmgiCisjaW5jbHVkZSAibGlieG1sL3htbG1vZHVsZS5oIgorCisvKiBzcGVjaWFsIGhvdCBzcG90IG5vdCBleHBvcnRlZCBvbmVzICovCisKKyNpZmRlZiBib3R0b21fZ2xvYmFscworI3VuZGVmIF9feG1sR2VuZXJpY0Vycm9yCitleHRlcm4gX190eXBlb2YgKF9feG1sR2VuZXJpY0Vycm9yKSBfX3htbEdlbmVyaWNFcnJvciBfX2F0dHJpYnV0ZSgoYWxpYXMoIl9feG1sR2VuZXJpY0Vycm9yX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiBfX3htbEdlbmVyaWNFcnJvcgorZXh0ZXJuIF9fdHlwZW9mIChfX3htbEdlbmVyaWNFcnJvcikgX194bWxHZW5lcmljRXJyb3JfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSBfX3htbEdlbmVyaWNFcnJvciBfX3htbEdlbmVyaWNFcnJvcl9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fZ2xvYmFscworI3VuZGVmIF9feG1sR2VuZXJpY0Vycm9yQ29udGV4dAorZXh0ZXJuIF9fdHlwZW9mIChfX3htbEdlbmVyaWNFcnJvckNvbnRleHQpIF9feG1sR2VuZXJpY0Vycm9yQ29udGV4dCBfX2F0dHJpYnV0ZSgoYWxpYXMoIl9feG1sR2VuZXJpY0Vycm9yQ29udGV4dF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgX194bWxHZW5lcmljRXJyb3JDb250ZXh0CitleHRlcm4gX190eXBlb2YgKF9feG1sR2VuZXJpY0Vycm9yQ29udGV4dCkgX194bWxHZW5lcmljRXJyb3JDb250ZXh0X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgX194bWxHZW5lcmljRXJyb3JDb250ZXh0IF9feG1sR2VuZXJpY0Vycm9yQ29udGV4dF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKy8qIGxpc3QgZ2VuZXJhdGVkIGZyb20gbGlieG1sMi1hcGkueG1sICovCis8L3hzbDp0ZXh0PgorICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iL2FwaS9zeW1ib2xzL2Z1bmN0aW9uIi8+CisgICAgPHhzbDp0ZXh0PgorI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworPC94c2w6dGV4dD4KKyAgPC94c2w6dGVtcGxhdGU+CisKKyAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iZnVuY3Rpb24iPgorICAgIDx4c2w6dmFyaWFibGUgbmFtZT0ic3RyIiBzZWxlY3Q9InN0cmluZyhAbmFtZSkiLz4KKyAgICA8eHNsOmlmIHRlc3Q9IihzdGFydHMtd2l0aChAbmFtZSwgJ3htbCcpIG9yIHN0YXJ0cy13aXRoKEBuYW1lLCAnaHRtbCcpIG9yIGNvbnRhaW5zKEBuYW1lLCAnUHVzaCcpIG9yIGNvbnRhaW5zKEBuYW1lLCAnUG9wJykpIGFuZCAobm90KGNvbnRhaW5zKEBuYW1lLCAneG1sRGxsTWFpbicpKSkiPgorICAgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJhbGlhcyIgc2VsZWN0PSJjb25jYXQoJHN0ciwgJ19faW50ZXJuYWxfYWxpYXMnKSIvPgorICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJjb25kIi8+CisgICAgICA8eHNsOnRleHQ+I2lmZGVmIGJvdHRvbV88L3hzbDp0ZXh0PgorICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9InN0cmluZyhAbW9kdWxlKSIvPgorICAgICAgPHhzbDp0ZXh0PgorI3VuZGVmIDwveHNsOnRleHQ+CisgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iJHN0ciIvPgorICAgICAgPHhzbDp0ZXh0PgorZXh0ZXJuIF9fdHlwZW9mICg8L3hzbDp0ZXh0PgorICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRzdHIiLz4KKyAgICAgIDx4c2w6dGV4dD4pIDwveHNsOnRleHQ+CisgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iJHN0ciIvPgorICAgICAgPHhzbDp0ZXh0PiBfX2F0dHJpYnV0ZSgoYWxpYXMoIjwveHNsOnRleHQ+CisgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iJGFsaWFzIi8+CisgICAgICA8eHNsOnRleHQ+IikpKTsKKyNlbHNlCisjaWZuZGVmIDwveHNsOnRleHQ+CisgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iJHN0ciIvPgorICAgICAgPHhzbDp0ZXh0PgorPC94c2w6dGV4dD4KKyAgICAgIDx4c2w6dGV4dD5leHRlcm4gX190eXBlb2YgKDwveHNsOnRleHQ+CisgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iJHN0ciIvPgorICAgICAgPHhzbDp0ZXh0PikgPC94c2w6dGV4dD4KKyAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkYWxpYXMiLz4KKyAgICAgIDx4c2w6dGV4dD4gX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7Cis8L3hzbDp0ZXh0PgorICAgICAgPHhzbDp0ZXh0PiNkZWZpbmUgPC94c2w6dGV4dD4KKyAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkc3RyIi8+CisgICAgICA8eHNsOnRleHQ+IDwveHNsOnRleHQ+CisgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iJGFsaWFzIi8+CisgICAgICA8eHNsOnRleHQ+CisjZW5kaWYKKyNlbmRpZgorPC94c2w6dGV4dD4KKyAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iY29uZCIgbW9kZT0iZW5kIi8+CisgICAgICA8eHNsOnRleHQ+Cis8L3hzbDp0ZXh0PgorICAgIDwveHNsOmlmPgorICA8L3hzbDp0ZW1wbGF0ZT4KKyAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iY29uZCI+CisgICAgPHhzbDp0ZXh0PiNpZiA8L3hzbDp0ZXh0PgorICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIuIi8+CisgICAgPHhzbDp0ZXh0PgorPC94c2w6dGV4dD4KKyAgPC94c2w6dGVtcGxhdGU+CisgIDx4c2w6dGVtcGxhdGUgbWF0Y2g9ImNvbmQiIG1vZGU9ImVuZCI+CisgICAgPHhzbDp0ZXh0PiNlbmRpZgorPC94c2w6dGV4dD4KKyAgPC94c2w6dGVtcGxhdGU+Cis8L3hzbDpzdHlsZXNoZWV0PgorCmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9lbmNvZGluZy5odG1sIGIvbGlieG1sMi9kb2MvZW5jb2RpbmcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43Yzc5NTNmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvZW5jb2RpbmcuaHRtbApAQCAtMCwwICsxLDIxNyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIj4KKzxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj48aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz48bGluayByZWw9IlNIT1JUQ1VUIElDT04iIGhyZWY9Ii9mYXZpY29uLmljbyIgLz48c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorVEQge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0JPRFkge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYTsgbWFyZ2luLXRvcDogMmVtOyBtYXJnaW4tbGVmdDogMGVtOyBtYXJnaW4tcmlnaHQ6IDBlbX0KK0gxIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMiB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDMge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0E6bGluaywgQTp2aXNpdGVkLCBBOmFjdGl2ZSB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIH0KKzwvc3R5bGU+PHRpdGxlPkVuY29kaW5ncyBzdXBwb3J0PC90aXRsZT48L2hlYWQ+PGJvZHkgYmdjb2xvcj0iIzhiNzc2NSIgdGV4dD0iIzAwMDAwMCIgbGluaz0iI2EwNjA2MCIgdmxpbms9IiMwMDAwMDAiPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSIxMDAlIiBjZWxscGFkZGluZz0iNSIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgd2lkdGg9IjEyMCI+PGEgaHJlZj0iaHR0cDovL3N3cGF0LmZmaWkub3JnLyI+PGltZyBzcmM9ImVwYXRlbnRzLnBuZyIgYWx0PSJBY3Rpb24gYWdhaW5zdCBzb2Z0d2FyZSBwYXRlbnRzIiAvPjwvYT48L3RkPjx0ZCB3aWR0aD0iMTgwIj48YSBocmVmPSJodHRwOi8vd3d3Lmdub21lLm9yZy8iPjxpbWcgc3JjPSJnbm9tZTIucG5nIiBhbHQ9Ikdub21lMiBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9TdGF0dXMiPjxpbWcgc3JjPSJ3M2MucG5nIiBhbHQ9IlczQyBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnJlZGhhdC5jb20vIj48aW1nIHNyYz0icmVkaGF0LmdpZiIgYWx0PSJSZWQgSGF0IExvZ28iIC8+PC9hPjxkaXYgYWxpZ249ImxlZnQiPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy8iPjxpbWcgc3JjPSJMaWJ4bWwyLUxvZ28tMTgweDE2OC5naWYiIGFsdD0iTWFkZSB3aXRoIExpYnhtbDIgTG9nbyIgLz48L2E+PC9kaXY+PC90ZD48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjkwJSIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiIGJnY29sb3I9IiNmZmZhY2QiPjx0cj48dGQgYWxpZ249ImNlbnRlciI+PGgxPlRoZSBYTUwgQyBwYXJzZXIgYW5kIHRvb2xraXQgb2YgR25vbWU8L2gxPjxoMj5FbmNvZGluZ3Mgc3VwcG9ydDwvaDI+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjQiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiIHdpZHRoPSIxMDAlIj48dHI+PHRkIHZhbGlnbj0idG9wIiB3aWR0aD0iMjAwIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5NYWluIE1lbnU8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PGZvcm0gYWN0aW9uPSJzZWFyY2gucGhwIiBlbmN0eXBlPSJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiIG1ldGhvZD0iZ2V0Ij48aW5wdXQgbmFtZT0icXVlcnkiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iIiAvPjxpbnB1dCBuYW1lPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNlYXJjaCAuLi4iIC8+PC9mb3JtPjx1bD48bGk+PGEgaHJlZj0iaW5kZXguaHRtbCI+SG9tZTwvYT48L2xpPjxsaT48YSBocmVmPSJodG1sL2luZGV4Lmh0bWwiPlJlZmVyZW5jZSBNYW51YWw8L2E+PC9saT48bGk+PGEgaHJlZj0iaW50cm8uaHRtbCI+SW50cm9kdWN0aW9uPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkZBUS5odG1sIj5GQVE8L2E+PC9saT48bGk+PGEgaHJlZj0iZG9jcy5odG1sIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+RGV2ZWxvcGVyIE1lbnU8L2E+PC9saT48bGk+PGEgaHJlZj0iYnVncy5odG1sIj5SZXBvcnRpbmcgYnVncyBhbmQgZ2V0dGluZyBoZWxwPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImhlbHAuaHRtbCI+SG93IHRvIGhlbHA8L2E+PC9saT48bGk+PGEgaHJlZj0iZG93bmxvYWRzLmh0bWwiPkRvd25sb2FkczwvYT48L2xpPjxsaT48YSBocmVmPSJuZXdzLmh0bWwiPlJlbGVhc2VzPC9hPjwvbGk+PGxpPjxhIGhyZWY9IlhNTGluZm8uaHRtbCI+WE1MPC9hPjwvbGk+PGxpPjxhIGhyZWY9IlhTTFQuaHRtbCI+WFNMVDwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWxkdGQuaHRtbCI+VmFsaWRhdGlvbiAmYW1wOyBEVERzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImVuY29kaW5nLmh0bWwiPkVuY29kaW5ncyBzdXBwb3J0PC9hPjwvbGk+PGxpPjxhIGhyZWY9ImNhdGFsb2cuaHRtbCI+Q2F0YWxvZyBzdXBwb3J0PC9hPjwvbGk+PGxpPjxhIGhyZWY9Im5hbWVzcGFjZXMuaHRtbCI+TmFtZXNwYWNlczwvYT48L2xpPjxsaT48YSBocmVmPSJjb250cmlicy5odG1sIj5Db250cmlidXRpb25zPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImV4YW1wbGVzL2luZGV4Lmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5Db2RlIEV4YW1wbGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0bWwvaW5kZXguaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPkFQSSBNZW51PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imd1aWRlbGluZXMuaHRtbCI+WE1MIEd1aWRlbGluZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iQ2hhbmdlTG9nLmh0bWwiPlJlY2VudCBDaGFuZ2VzPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+UmVsYXRlZCBsaW5rczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9Imh0dHA6Ly9tYWlsLmdub21lLm9yZy9hcmNoaXZlcy94bWwvIj5NYWlsIGFyY2hpdmU8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnL1hTTFQvIj5YU0xUIGxpYnhzbHQ8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3BoZC5jcy51bmliby5pdC9nZG9tZTIvIj5ET00gZ2RvbWUyPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuYWxla3NleS5jb20veG1sc2VjLyI+WE1MLURTaWcgeG1sc2VjPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImZ0cDovL3htbHNvZnQub3JnLyI+RlRQPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemxhdGtvdmljLmNvbS9wcm9qZWN0cy9saWJ4bWwvIj5XaW5kb3dzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9vcGVuY3N3Lm9yZy9wYWNrYWdlcy9saWJ4bWwyIj5Tb2xhcmlzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuZXhwbGFpbi5jb20uYXUvb3NzL2xpYnhtbDJ4c2x0Lmh0bWwiPk1hY09zWCBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbHhtbC5kZS8iPmx4bWwgUHl0aG9uIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9jcGFuLnV3aW5uaXBlZy5jYS9kaXN0L1hNTC1MaWJYTUwiPlBlcmwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbHBsdXNwbHVzLnNvdXJjZWZvcmdlLm5ldC8iPkMrKyBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnplbmQuY29tL3BocDUvYXJ0aWNsZXMvcGhwNS14bWxwaHAucGhwI0hlYWRpbmc0Ij5QSFAgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9saWJ4bWwyLXBhcy8iPlBhc2NhbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1sLnJ1Ynlmb3JnZS5vcmcvIj5SdWJ5IGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly90Y2x4bWwuc291cmNlZm9yZ2UubmV0LyI+VGNsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvYnVnbGlzdC5jZ2k/cHJvZHVjdD1saWJ4bWwyIj5CdWcgVHJhY2tlcjwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMyIgY2VsbHNwYWNpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjxwPklmIHlvdSBhcmUgbm90IHJlYWxseSBmYW1pbGlhciB3aXRoIEludGVybmF0aW9uYWxpemF0aW9uICh1c3VhbCBzaG9ydGN1dAoraXMgSTE4TikgLCBVbmljb2RlLCBjaGFyYWN0ZXJzIGFuZCBnbHlwaHMsIEkgc3VnZ2VzdCB5b3UgcmVhZCBhIDxhIGhyZWY9Imh0dHA6Ly93d3cudGJyYXkub3JnL29uZ29pbmcvV2hlbi8yMDB4LzIwMDMvMDQvMDYvVW5pY29kZSI+cHJlc2VudGF0aW9uPC9hPgorYnkgVGltIEJyYXkgb24gVW5pY29kZSBhbmQgd2h5IHlvdSBzaG91bGQgY2FyZSBhYm91dCBpdC48L3A+PHA+SWYgeW91IGRvbid0IHVuZGVyc3RhbmQgd2h5IDxiPml0IGRvZXMgbm90IG1ha2Ugc2Vuc2UgdG8gaGF2ZSBhIHN0cmluZword2l0aG91dCBrbm93aW5nIHdoYXQgZW5jb2RpbmcgaXQgdXNlczwvYj4sIHRoZW4gYXMgSm9lbCBTcG9sc2t5IHNhaWQgPGEgaHJlZj0iaHR0cDovL3d3dy5qb2Vsb25zb2Z0d2FyZS5jb20vYXJ0aWNsZXMvVW5pY29kZS5odG1sIj5wbGVhc2UgZG8gbm90Cit3cml0ZSBhbm90aGVyIGxpbmUgb2YgY29kZSB1bnRpbCB5b3UgZmluaXNoIHJlYWRpbmcgdGhhdCBhcnRpY2xlLjwvYT4uIEl0IGlzCithIHByZXJlcXVpc2l0ZSB0byB1bmRlcnN0YW5kIHRoaXMgcGFnZSwgYW5kIGF2b2lkIGEgbG90IG9mIHByb2JsZW1zIHdpdGgKK2xpYnhtbDIsIFhNTCBvciB0ZXh0IHByb2Nlc3NpbmcgaW4gZ2VuZXJhbC48L3A+PHA+VGFibGUgb2YgQ29udGVudDo8L3A+PG9sPgorICA8bGk+PGEgaHJlZj0iZW5jb2RpbmcuaHRtbCNXaGF0Ij5XaGF0IGRvZXMgaW50ZXJuYXRpb25hbGl6YXRpb24gc3VwcG9ydAorICAgIG1lYW4gPzwvYT48L2xpPgorICA8bGk+PGEgaHJlZj0iZW5jb2RpbmcuaHRtbCNpbnRlcm5hbCI+VGhlIGludGVybmFsIGVuY29kaW5nLCBob3cgYW5kCisgIHdoeTwvYT48L2xpPgorICA8bGk+PGEgaHJlZj0iZW5jb2RpbmcuaHRtbCNpbXBsZW1lbnRlIj5Ib3cgaXMgaXQgaW1wbGVtZW50ZWQgPzwvYT48L2xpPgorICA8bGk+PGEgaHJlZj0iZW5jb2RpbmcuaHRtbCNEZWZhdWx0Ij5EZWZhdWx0IHN1cHBvcnRlZCBlbmNvZGluZ3M8L2E+PC9saT4KKyAgPGxpPjxhIGhyZWY9ImVuY29kaW5nLmh0bWwjZXh0ZW5kIj5Ib3cgdG8gZXh0ZW5kIHRoZSBleGlzdGluZworICBzdXBwb3J0PC9hPjwvbGk+Cis8L29sPjxoMz48YSBuYW1lPSJXaGF0IiBpZD0iV2hhdCI+V2hhdCBkb2VzIGludGVybmF0aW9uYWxpemF0aW9uIHN1cHBvcnQgbWVhbiA/PC9hPjwvaDM+PHA+WE1MIHdhcyBkZXNpZ25lZCBmcm9tIHRoZSBzdGFydCB0byBhbGxvdyB0aGUgc3VwcG9ydCBvZiBhbnkgY2hhcmFjdGVyIHNldAorYnkgdXNpbmcgVW5pY29kZS4gQW55IGNvbmZvcm1hbnQgWE1MIHBhcnNlciBoYXMgdG8gc3VwcG9ydCB0aGUgVVRGLTggYW5kCitVVEYtMTYgZGVmYXVsdCBlbmNvZGluZ3Mgd2hpY2ggY2FuIGJvdGggZXhwcmVzcyB0aGUgZnVsbCB1bmljb2RlIHJhbmdlcy4gVVRGOAoraXMgYSB2YXJpYWJsZSBsZW5ndGggZW5jb2Rpbmcgd2hvc2UgZ3JlYXRlc3QgcG9pbnRzIGFyZSB0byByZXVzZSB0aGUgc2FtZQorZW5jb2RpbmcgZm9yIEFTQ0lJIGFuZCB0byBzYXZlIHNwYWNlIGZvciBXZXN0ZXJuIGVuY29kaW5ncywgYnV0IGl0IGlzIGEgYml0Cittb3JlIGNvbXBsZXggdG8gaGFuZGxlIGluIHByYWN0aWNlLiBVVEYtMTYgdXNlIDIgYnl0ZXMgcGVyIGNoYXJhY3RlciAoYW5kCitzb21ldGltZXMgY29tYmluZXMgdHdvIHBhaXJzKSwgaXQgbWFrZXMgaW1wbGVtZW50YXRpb24gZWFzaWVyLCBidXQgbG9va3MgYQorYml0IG92ZXJraWxsIGZvciBXZXN0ZXJuIGxhbmd1YWdlcyBlbmNvZGluZy4gTW9yZW92ZXIgdGhlIFhNTCBzcGVjaWZpY2F0aW9uCithbGxvd3MgdGhlIGRvY3VtZW50IHRvIGJlIGVuY29kZWQgaW4gb3RoZXIgZW5jb2RpbmdzIGF0IHRoZSBjb25kaXRpb24gdGhhdAordGhleSBhcmUgY2xlYXJseSBsYWJlbGVkIGFzIHN1Y2guIEZvciBleGFtcGxlIHRoZSBmb2xsb3dpbmcgaXMgYSB3ZWxsZm9ybWVkCitYTUwgZG9jdW1lbnQgZW5jb2RlZCBpbiBJU08tODg1OS0xIGFuZCB1c2luZyBhY2NlbnR1YXRlZCBsZXR0ZXJzIHRoYXQgd2UKK0ZyZW5jaCBsaWtlIGZvciBib3RoIG1hcmt1cCBhbmQgY29udGVudDo8L3A+PHByZT4mbHQ7P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJJU08tODg1OS0xIj8mZ3Q7CismbHQ7dHLDqHMmZ3Q7bMOgICZsdDsvdHLDqHMmZ3Q7PC9wcmU+PHA+SGF2aW5nIGludGVybmF0aW9uYWxpemF0aW9uIHN1cHBvcnQgaW4gbGlieG1sMiBtZWFucyB0aGUgZm9sbG93aW5nOjwvcD48dWw+CisgIDxsaT50aGUgZG9jdW1lbnQgaXMgcHJvcGVybHkgcGFyc2VkPC9saT4KKyAgPGxpPmluZm9ybWF0aW9uIGFib3V0IGl0J3MgZW5jb2RpbmcgaXMgc2F2ZWQ8L2xpPgorICA8bGk+aXQgY2FuIGJlIG1vZGlmaWVkPC9saT4KKyAgPGxpPml0IGNhbiBiZSBzYXZlZCBpbiBpdHMgb3JpZ2luYWwgZW5jb2Rpbmc8L2xpPgorICA8bGk+aXQgY2FuIGFsc28gYmUgc2F2ZWQgaW4gYW5vdGhlciBlbmNvZGluZyBzdXBwb3J0ZWQgYnkgbGlieG1sMiAoZm9yCisgICAgZXhhbXBsZSBzdHJhaWdodCBVVEY4IG9yIGV2ZW4gYW4gQVNDSUkgZm9ybSk8L2xpPgorPC91bD48cD5Bbm90aGVyIHZlcnkgaW1wb3J0YW50IHBvaW50IGlzIHRoYXQgdGhlIHdob2xlIGxpYnhtbDIgQVBJLCB3aXRoIHRoZQorZXhjZXB0aW9uIG9mIGEgZmV3IHJvdXRpbmVzIHRvIHJlYWQgd2l0aCBhIHNwZWNpZmljIGVuY29kaW5nIG9yIHNhdmUgdG8gYQorc3BlY2lmaWMgZW5jb2RpbmcsIGlzIGNvbXBsZXRlbHkgYWdub3N0aWMgYWJvdXQgdGhlIG9yaWdpbmFsIGVuY29kaW5nIG9mIHRoZQorZG9jdW1lbnQuPC9wPjxwPkl0IHNob3VsZCBiZSBub3RlZCB0b28gdGhhdCB0aGUgSFRNTCBwYXJzZXIgZW1iZWRkZWQgaW4gbGlieG1sMiBub3cgb2JleQordGhlIHNhbWUgcnVsZXMgdG9vLCB0aGUgZm9sbG93aW5nIGRvY3VtZW50IHdpbGwgYmUgKGFzIG9mIDIuMi4yKSBoYW5kbGVkICBpbgorYW4gaW50ZXJuYXRpb25hbGl6ZWQgZmFzaGlvbiBieSBsaWJ4bWwyIHRvbzo8L3A+PHByZT4mbHQ7IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wIFRyYW5zaXRpb25hbC8vRU4iCisgICAgICAgICAgICAgICAgICAgICAgImh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy1odG1sNDAvbG9vc2UuZHRkIiZndDsKKyZsdDtodG1sIGxhbmc9ImZyIiZndDsKKyZsdDtoZWFkJmd0OworICAmbHQ7TUVUQSBIVFRQLUVRVUlWPSJDb250ZW50LVR5cGUiIENPTlRFTlQ9InRleHQvaHRtbDsgY2hhcnNldD1JU08tODg1OS0xIiZndDsKKyZsdDsvaGVhZCZndDsKKyZsdDtib2R5Jmd0OworJmx0O3AmZ3Q7VzNDIGNyw6llIGRlcyBzdGFuZGFyZHMgcG91ciBsZSBXZWIuJmx0Oy9ib2R5Jmd0OworJmx0Oy9odG1sJmd0OzwvcHJlPjxoMz48YSBuYW1lPSJpbnRlcm5hbCIgaWQ9ImludGVybmFsIj5UaGUgaW50ZXJuYWwgZW5jb2RpbmcsIGhvdyBhbmQgd2h5PC9hPjwvaDM+PHA+T25lIG9mIHRoZSBjb3JlIGRlY2lzaW9ucyB3YXMgdG8gZm9yY2UgYWxsIGRvY3VtZW50cyB0byBiZSBjb252ZXJ0ZWQgdG8gYQorZGVmYXVsdCBpbnRlcm5hbCBlbmNvZGluZywgYW5kIHRoYXQgZW5jb2RpbmcgdG8gYmUgVVRGLTgsIGhlcmUgYXJlIHRoZQorcmF0aW9uYWxlcyBmb3IgdGhvc2UgY2hvaWNlczo8L3A+PHVsPgorICA8bGk+a2VlcGluZyB0aGUgbmF0aXZlIGVuY29kaW5nIGluIHRoZSBpbnRlcm5hbCBmb3JtIHdvdWxkIGZvcmNlIHRoZSBsaWJ4bWwKKyAgICB1c2VycyAob3IgdGhlIGNvZGUgYXNzb2NpYXRlZCkgdG8gYmUgZnVsbHkgYXdhcmUgb2YgdGhlIGVuY29kaW5nIG9mIHRoZQorICAgIG9yaWdpbmFsIGRvY3VtZW50LCBmb3IgZXhhbXBsZXMgd2hlbiBhZGRpbmcgYSB0ZXh0IG5vZGUgdG8gYSBkb2N1bWVudCwKKyAgICB0aGUgY29udGVudCB3b3VsZCBoYXZlIHRvIGJlIHByb3ZpZGVkIGluIHRoZSBkb2N1bWVudCBlbmNvZGluZywgaS5lLiB0aGUKKyAgICBjbGllbnQgY29kZSB3b3VsZCBoYXZlIHRvIGNoZWNrIGl0IGJlZm9yZSBoYW5kLCBtYWtlIHN1cmUgaXQncyBjb25mb3JtYW50CisgICAgdG8gdGhlIGVuY29kaW5nLCBldGMgLi4uIFZlcnkgaGFyZCBpbiBwcmFjdGljZSwgdGhvdWdoIGluIHNvbWUgc3BlY2lmaWMKKyAgICBjYXNlcyB0aGlzIG1heSBtYWtlIHNlbnNlLjwvbGk+CisgIDxsaT50aGUgc2Vjb25kIGRlY2lzaW9uIHdhcyB3aGljaCBlbmNvZGluZy4gRnJvbSB0aGUgWE1MIHNwZWMgb25seSBVVEY4IGFuZAorICAgIFVURjE2IHJlYWxseSBtYWtlcyBzZW5zZSBhcyBiZWluZyB0aGUgdHdvIG9ubHkgZW5jb2RpbmdzIGZvciB3aGljaCB0aGVyZQorICAgIGlzIG1hbmRhdG9yeSBzdXBwb3J0LiBVQ1MtNCAoMzIgYml0cyBmaXhlZCBzaXplIGVuY29kaW5nKSBjb3VsZCBiZQorICAgIGNvbnNpZGVyZWQgYW4gaW50ZWxsaWdlbnQgY2hvaWNlIHRvbyBzaW5jZSBpdCdzIGEgZGlyZWN0IFVuaWNvZGUgbWFwcGluZworICAgIHN1cHBvcnQuIEkgc2VsZWN0ZWQgVVRGLTggb24gdGhlIGJhc2lzIG9mIGVmZmljaWVuY3kgYW5kIGNvbXBhdGliaWxpdHkKKyAgICB3aXRoIHN1cnJvdW5kaW5nIHNvZnR3YXJlOgorICAgIDx1bD4KKyAgICAgIDxsaT5VVEYtOCB3aGlsZSBhIGJpdCBtb3JlIGNvbXBsZXggdG8gY29udmVydCBmcm9tL3RvIChpLmUuIHNsaWdodGx5CisgICAgICAgIG1vcmUgY29zdGx5IHRvIGltcG9ydCBhbmQgZXhwb3J0IENQVSB3aXNlKSBpcyBhbHNvIGZhciBtb3JlIGNvbXBhY3QKKyAgICAgICAgdGhhbiBVVEYtMTYgKGFuZCBVQ1MtNCkgZm9yIGEgbWFqb3JpdHkgb2YgdGhlIGRvY3VtZW50cyBJIHNlZSBpdCB1c2VkCisgICAgICAgIGZvciByaWdodCBub3cgKFJQTSBSREYgY2F0YWxvZ3MsIGFkdm9nYXRvIGRhdGEsIHZhcmlvdXMgY29uZmlndXJhdGlvbgorICAgICAgICBmaWxlIGZvcm1hdHMsIGV0Yy4pIGFuZCB0aGUga2V5IHBvaW50IGZvciB0b2RheSdzIGNvbXB1dGVyCisgICAgICAgIGFyY2hpdGVjdHVyZSBpcyBlZmZpY2llbnQgdXNlcyBvZiBjYWNoZXMuIElmIG9uZSBuZWFybHkgZG91YmxlIHRoZQorICAgICAgICBtZW1vcnkgcmVxdWlyZW1lbnQgdG8gc3RvcmUgdGhlIHNhbWUgYW1vdW50IG9mIGRhdGEsIHRoaXMgd2lsbCB0cmFzaAorICAgICAgICBjYWNoZXMgKG1haW4gbWVtb3J5L2V4dGVybmFsIGNhY2hlcy9pbnRlcm5hbCBjYWNoZXMpIGFuZCBteSB0YWtlIGlzCisgICAgICAgIHRoYXQgdGhpcyBoYXJtcyB0aGUgc3lzdGVtIGZhciBtb3JlIHRoYW4gdGhlIENQVSByZXF1aXJlbWVudHMgbmVlZGVkCisgICAgICAgIGZvciB0aGUgY29udmVyc2lvbiB0byBVVEYtODwvbGk+CisgICAgICA8bGk+TW9zdCBvZiBsaWJ4bWwyIHZlcnNpb24gMSB1c2VycyB3ZXJlIHVzaW5nIGl0IHdpdGggc3RyYWlnaHQgQVNDSUkKKyAgICAgICAgbW9zdCBvZiB0aGUgdGltZSwgZG9pbmcgdGhlIGNvbnZlcnNpb24gd2l0aCBhbiBpbnRlcm5hbCBlbmNvZGluZworICAgICAgICByZXF1aXJpbmcgYWxsIHRoZWlyIGNvZGUgdG8gYmUgcmV3cml0dGVuIHdhcyBhIHNlcmlvdXMgc2hvdy1zdG9wcGVyCisgICAgICAgIGZvciB1c2luZyBVVEYtMTYgb3IgVUNTLTQuPC9saT4KKyAgICAgIDxsaT5VVEYtOCBpcyBiZWluZyB1c2VkIGFzIHRoZSBkZS1mYWN0byBpbnRlcm5hbCBlbmNvZGluZyBzdGFuZGFyZCBmb3IKKyAgICAgICAgcmVsYXRlZCBjb2RlIGxpa2UgdGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cucGFuZ28ub3JnLyI+cGFuZ288L2E+CisgICAgICAgIHVwY29taW5nIEdub21lIHRleHQgd2lkZ2V0LCBhbmQgYSBsb3Qgb2YgVW5peCBjb2RlICh5ZXQgYW5vdGhlciBwbGFjZQorICAgICAgICB3aGVyZSBVbml4IHByb2dyYW1tZXIgYmFzZSB0YWtlcyBhIGRpZmZlcmVudCBhcHByb2FjaCBmcm9tIE1pY3Jvc29mdAorICAgICAgICAtIHRoZXkgYXJlIHVzaW5nIFVURi0xNik8L2xpPgorICAgIDwvdWw+CisgIDwvbGk+Cis8L3VsPjxwPldoYXQgZG9lcyB0aGlzIG1lYW4gaW4gcHJhY3RpY2UgZm9yIHRoZSBsaWJ4bWwyIHVzZXI6PC9wPjx1bD4KKyAgPGxpPnhtbENoYXIsIHRoZSBsaWJ4bWwyIGRhdGEgdHlwZSBpcyBhIGJ5dGUsIHRob3NlIGJ5dGVzIG11c3QgYmUgYXNzZW1ibGVkCisgICAgYXMgVVRGLTggdmFsaWQgc3RyaW5ncy4gVGhlIHByb3BlciB3YXkgdG8gdGVybWluYXRlIGFuIHhtbENoYXIgKiBzdHJpbmcKKyAgICBpcyBzaW1wbHkgdG8gYXBwZW5kIDAgYnl0ZSwgYXMgdXN1YWwuPC9saT4KKyAgPGxpPk9uZSBqdXN0IG5lZWQgdG8gbWFrZSBzdXJlIHRoYXQgd2hlbiB1c2luZyBjaGFycyBvdXRzaWRlIHRoZSBBU0NJSSBzZXQsCisgICAgdGhlIHZhbHVlcyBoYXMgYmVlbiBwcm9wZXJseSBjb252ZXJ0ZWQgdG8gVVRGLTg8L2xpPgorPC91bD48aDM+PGEgbmFtZT0iaW1wbGVtZW50ZSIgaWQ9ImltcGxlbWVudGUiPkhvdyBpcyBpdCBpbXBsZW1lbnRlZCA/PC9hPjwvaDM+PHA+TGV0J3MgZGVzY3JpYmUgaG93IGFsbCB0aGlzIHdvcmtzIHdpdGhpbiBsaWJ4bWwsIGJhc2ljYWxseSB0aGUgSTE4TgorKGludGVybmF0aW9uYWxpemF0aW9uKSBzdXBwb3J0IGdldCB0cmlnZ2VyZWQgb25seSBkdXJpbmcgSS9PIG9wZXJhdGlvbiwgaS5lLgord2hlbiByZWFkaW5nIGEgZG9jdW1lbnQgb3Igc2F2aW5nIG9uZS4gTGV0J3MgbG9vayBmaXJzdCBhdCB0aGUgcmVhZGluZworc2VxdWVuY2U6PC9wPjxvbD4KKyAgPGxpPndoZW4gYSBkb2N1bWVudCBpcyBwcm9jZXNzZWQsIHdlIHVzdWFsbHkgZG9uJ3Qga25vdyB0aGUgZW5jb2RpbmcsIGEKKyAgICBzaW1wbGUgaGV1cmlzdGljIGFsbG93cyB0byBkZXRlY3QgVVRGLTE2IGFuZCBVQ1MtNCBmcm9tIGVuY29kaW5ncyB3aGVyZQorICAgIHRoZSBBU0NJSSByYW5nZSAoMC0weDdGKSBtYXBzIHdpdGggQVNDSUk8L2xpPgorICA8bGk+dGhlIHhtbCBkZWNsYXJhdGlvbiBpZiBhdmFpbGFibGUgaXMgcGFyc2VkLCBpbmNsdWRpbmcgdGhlIGVuY29kaW5nCisgICAgZGVjbGFyYXRpb24uIEF0IHRoYXQgcG9pbnQsIGlmIHRoZSBhdXRvZGV0ZWN0ZWQgZW5jb2RpbmcgaXMgZGlmZmVyZW50CisgICAgZnJvbSB0aGUgb25lIGRlY2xhcmVkIGEgY2FsbCB0byB4bWxTd2l0Y2hFbmNvZGluZygpIGlzIGlzc3VlZC48L2xpPgorICA8bGk+SWYgdGhlcmUgaXMgbm8gZW5jb2RpbmcgZGVjbGFyYXRpb24sIHRoZW4gdGhlIGlucHV0IGhhcyB0byBiZSBpbiBlaXRoZXIKKyAgICBVVEYtOCBvciBVVEYtMTYsIGlmIGl0IGlzIG5vdCB0aGVuIGF0IHNvbWUgcG9pbnQgd2hlbiBwcm9jZXNzaW5nIHRoZQorICAgIGlucHV0LCB0aGUgY29udmVydGVyL2NoZWNrZXIgb2YgVVRGLTggZm9ybSB3aWxsIHJhaXNlIGFuIGVuY29kaW5nIGVycm9yLgorICAgIFlvdSBtYXkgZW5kLXVwIHdpdGggYSBnYXJibGVkIGRvY3VtZW50LCBvciBubyBkb2N1bWVudCBhdCBhbGwgISBFeGFtcGxlOgorICAgIDxwcmU+fi9YTUwgLSZndDsgLi94bWxsaW50IGVyci54bWwgCitlcnIueG1sOjE6IGVycm9yOiBJbnB1dCBpcyBub3QgcHJvcGVyIFVURi04LCBpbmRpY2F0ZSBlbmNvZGluZyAhCismbHQ7dHLDqHMmZ3Q7bMOgwqAmbHQ7L3Ryw6hzJmd0OworICAgXgorZXJyLnhtbDoxOiBlcnJvcjogQnl0ZXM6IDB4RTggMHg3MyAweDNFIDB4NkMKKyZsdDt0csOocyZndDtsw6DCoCZsdDsvdHLDqHMmZ3Q7CisgICBePC9wcmU+CisgIDwvbGk+CisgIDxsaT54bWxTd2l0Y2hFbmNvZGluZygpIGRvZXMgYW4gZW5jb2RpbmcgbmFtZSBsb29rdXAsIGNhbm9uaWNhbGl6ZSBpdCwgYW5kCisgICAgdGhlbiBzZWFyY2ggdGhlIGRlZmF1bHQgcmVnaXN0ZXJlZCBlbmNvZGluZyBjb252ZXJ0ZXJzIGZvciB0aGF0IGVuY29kaW5nLgorICAgIElmIGl0J3Mgbm90IHdpdGhpbiB0aGUgZGVmYXVsdCBzZXQgYW5kIGljb252KCkgc3VwcG9ydCBoYXMgYmVlbiBjb21waWxlZAorICAgIGl0LCBpdCB3aWxsIGFzayBpY29udiBmb3Igc3VjaCBhbiBlbmNvZGVyLiBJZiB0aGlzIGZhaWxzIHRoZW4gdGhlIHBhcnNlcgorICAgIHdpbGwgcmVwb3J0IGFuIGVycm9yIGFuZCBzdG9wcyBwcm9jZXNzaW5nOgorICAgIDxwcmU+fi9YTUwgLSZndDsgLi94bWxsaW50IGVycjIueG1sIAorZXJyMi54bWw6MTogZXJyb3I6IFVuc3VwcG9ydGVkIGVuY29kaW5nIFVuc3VwcG9ydGVkRW5jCismbHQ7P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVbnN1cHBvcnRlZEVuYyI/Jmd0OworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXjwvcHJlPgorICA8L2xpPgorICA8bGk+RnJvbSB0aGF0IHBvaW50IHRoZSBlbmNvZGVyIHByb2Nlc3NlcyBwcm9ncmVzc2l2ZWx5IHRoZSBpbnB1dCAoaXQgaXMKKyAgICBwbHVnZ2VkIGFzIGEgZnJvbnQtZW5kIHRvIHRoZSBJL08gbW9kdWxlKSBmb3IgdGhhdCBlbnRpdHkuIEl0IGNhcHR1cmVzCisgICAgYW5kIGNvbnZlcnRzIG9uLXRoZS1mbHkgdGhlIGRvY3VtZW50IHRvIGJlIHBhcnNlZCB0byBVVEYtOC4gVGhlIHBhcnNlcgorICAgIGl0c2VsZiBqdXN0IGRvZXMgVVRGLTggY2hlY2tpbmcgb2YgdGhpcyBpbnB1dCBhbmQgcHJvY2VzcyBpdAorICAgIHRyYW5zcGFyZW50bHkuIFRoZSBvbmx5IGRpZmZlcmVuY2UgaXMgdGhhdCB0aGUgZW5jb2RpbmcgaW5mb3JtYXRpb24gaGFzCisgICAgYmVlbiBhZGRlZCB0byB0aGUgcGFyc2luZyBjb250ZXh0IChtb3JlIHByZWNpc2VseSB0byB0aGUgaW5wdXQKKyAgICBjb3JyZXNwb25kaW5nIHRvIHRoaXMgZW50aXR5KS48L2xpPgorICA8bGk+VGhlIHJlc3VsdCAod2hlbiB1c2luZyBET00pIGlzIGFuIGludGVybmFsIGZvcm0gY29tcGxldGVseSBpbiBVVEYtOAorICAgIHdpdGgganVzdCBhbiBlbmNvZGluZyBpbmZvcm1hdGlvbiBvbiB0aGUgZG9jdW1lbnQgbm9kZS48L2xpPgorPC9vbD48cD5PayB0aGVuIHdoYXQgaGFwcGVucyB3aGVuIHNhdmluZyB0aGUgZG9jdW1lbnQgKGFzc3VtaW5nIHlvdQorY29sbGVjdGVkL2J1aWx0IGFuIHhtbERvYyBET00gbGlrZSBzdHJ1Y3R1cmUpID8gSXQgZGVwZW5kcyBvbiB0aGUgZnVuY3Rpb24KK2NhbGxlZCwgeG1sU2F2ZUZpbGUoKSB3aWxsIGp1c3QgdHJ5IHRvIHNhdmUgaW4gdGhlIG9yaWdpbmFsIGVuY29kaW5nLCB3aGlsZQoreG1sU2F2ZUZpbGVUbygpIGFuZCB4bWxTYXZlRmlsZUVuYygpIGNhbiBvcHRpb25hbGx5IHNhdmUgdG8gYSBnaXZlbgorZW5jb2Rpbmc6PC9wPjxvbD4KKyAgPGxpPmlmIG5vIGVuY29kaW5nIGlzIGdpdmVuLCBsaWJ4bWwyIHdpbGwgbG9vayBmb3IgYW4gZW5jb2RpbmcgdmFsdWUKKyAgICBhc3NvY2lhdGVkIHRvIHRoZSBkb2N1bWVudCBhbmQgaWYgaXQgZXhpc3RzIHdpbGwgdHJ5IHRvIHNhdmUgdG8gdGhhdAorICAgIGVuY29kaW5nLAorICAgIDxwPm90aGVyd2lzZSBldmVyeXRoaW5nIGlzIHdyaXR0ZW4gaW4gdGhlIGludGVybmFsIGZvcm0sIGkuZS4gVVRGLTg8L3A+CisgIDwvbGk+CisgIDxsaT5zbyBpZiBhbiBlbmNvZGluZyB3YXMgc3BlY2lmaWVkLCBlaXRoZXIgYXQgdGhlIEFQSSBsZXZlbCBvciBvbiB0aGUKKyAgICBkb2N1bWVudCwgbGlieG1sMiB3aWxsIGFnYWluIGNhbm9uaWNhbGl6ZSB0aGUgZW5jb2RpbmcgbmFtZSwgbG9va3VwIGZvciBhCisgICAgY29udmVydGVyIGluIHRoZSByZWdpc3RlcmVkIHNldCBvciB0aHJvdWdoIGljb252LiBJZiBub3QgZm91bmQgdGhlCisgICAgZnVuY3Rpb24gd2lsbCByZXR1cm4gYW4gZXJyb3IgY29kZTwvbGk+CisgIDxsaT50aGUgY29udmVydGVyIGlzIHBsYWNlZCBiZWZvcmUgdGhlIEkvTyBidWZmZXIgbGF5ZXIsIGFzIGFub3RoZXIga2luZCBvZgorICAgIGJ1ZmZlciwgdGhlbiBsaWJ4bWwyIHdpbGwgc2ltcGx5IHB1c2ggdGhlIFVURi04IHNlcmlhbGl6YXRpb24gdG8gdGhyb3VnaAorICAgIHRoYXQgYnVmZmVyLCB3aGljaCB3aWxsIHRoZW4gcHJvZ3Jlc3NpdmVseSBiZSBjb252ZXJ0ZWQgYW5kIHB1c2hlZCBvbnRvCisgICAgdGhlIEkvTyBsYXllci48L2xpPgorICA8bGk+SXQgaXMgcG9zc2libGUgdGhhdCB0aGUgY29udmVydGVyIGNvZGUgZmFpbHMgb24gc29tZSBpbnB1dCwgZm9yIGV4YW1wbGUKKyAgICB0cnlpbmcgdG8gcHVzaCBhbiBVVEYtOCBlbmNvZGVkIENoaW5lc2UgY2hhcmFjdGVyIHRocm91Z2ggdGhlIFVURi04IHRvCisgICAgSVNPLTg4NTktMSBjb252ZXJ0ZXIgd29uJ3Qgd29yay4gU2luY2UgdGhlIGVuY29kZXJzIGFyZSBwcm9ncmVzc2l2ZSB0aGV5CisgICAgd2lsbCBqdXN0IHJlcG9ydCB0aGUgZXJyb3IgYW5kIHRoZSBudW1iZXIgb2YgYnl0ZXMgY29udmVydGVkLCBhdCB0aGF0CisgICAgcG9pbnQgbGlieG1sMiB3aWxsIGRlY29kZSB0aGUgb2ZmZW5kaW5nIGNoYXJhY3RlciwgcmVtb3ZlIGl0IGZyb20gdGhlCisgICAgYnVmZmVyIGFuZCByZXBsYWNlIGl0IHdpdGggdGhlIGFzc29jaWF0ZWQgY2hhclJlZiBlbmNvZGluZyAmYW1wOyMxMjM7IGFuZAorICAgIHJlc3VtZSB0aGUgY29udmVyc2lvbi4gVGhpcyBndWFyYW50ZWVzIHRoYXQgYW55IGRvY3VtZW50IHdpbGwgYmUgc2F2ZWQKKyAgICB3aXRob3V0IGxvc3NlcyAoZXhjZXB0IGZvciBtYXJrdXAgbmFtZXMgd2hlcmUgdGhpcyBpcyBub3QgbGVnYWwsIHRoaXMgaXMKKyAgICBhIHByb2JsZW0gaW4gdGhlIGN1cnJlbnQgdmVyc2lvbiwgaW4gcHJhY3RpY2UgYXZvaWQgdXNpbmcgbm9uLWFzY2lpCisgICAgY2hhcmFjdGVycyBmb3IgdGFnIG9yIGF0dHJpYnV0ZSBuYW1lcykuIEEgc3BlY2lhbCAiYXNjaWkiIGVuY29kaW5nIG5hbWUKKyAgICBpcyB1c2VkIHRvIHNhdmUgZG9jdW1lbnRzIHRvIGEgcHVyZSBhc2NpaSBmb3JtIGNhbiBiZSB1c2VkIHdoZW4KKyAgICBwb3J0YWJpbGl0eSBpcyByZWFsbHkgY3J1Y2lhbDwvbGk+Cis8L29sPjxwPkhlcmUgYXJlIGEgZmV3IGV4YW1wbGVzIGJhc2VkIG9uIHRoZSBzYW1lIHRlc3QgZG9jdW1lbnQgYW5kIGFzc3VtaW4gYQordGVybWluYWwgdXNpbmcgSVNPLTg4NTktMSBhcyB0aGUgdGV4dCBlbmNvZGluZzo8L3A+PHByZT5+L1hNTCAtJmd0OyAuL3htbGxpbnQgaXNvbGF0MSAKKyZsdDs/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IklTTy04ODU5LTEiPyZndDsKKyZsdDt0csOocyZndDtsw4PCoCZsdDsvdHLDqHMmZ3Q7Cit+L1hNTCAtJmd0OyAuL3htbGxpbnQgLS1lbmNvZGUgVVRGLTggaXNvbGF0MSAKKyZsdDs/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8mZ3Q7CismbHQ7dHLDg8KocyZndDtsw4MgwqAmbHQ7L3Ryw4PCqHMmZ3Q7Cit+L1hNTCAtJmd0OyA8L3ByZT48cD5UaGUgc2FtZSBwcm9jZXNzaW5nIGlzIGFwcGxpZWQgKGFuZCByZXVzZSBtb3N0IG9mIHRoZSBjb2RlKSBmb3IgSFRNTCBJMThOCitwcm9jZXNzaW5nLiBMb29raW5nIHVwIGFuZCBtb2RpZnlpbmcgdGhlIGNvbnRlbnQgZW5jb2RpbmcgaXMgYSBiaXQgbW9yZQorZGlmZmljdWx0IHNpbmNlIGl0IGlzIGxvY2F0ZWQgaW4gYSAmbHQ7bWV0YSZndDsgdGFnIHVuZGVyIHRoZSAmbHQ7aGVhZCZndDssCitzbyBhIGNvdXBsZSBvZiBmdW5jdGlvbnMgaHRtbEdldE1ldGFFbmNvZGluZygpIGFuZCBodG1sU2V0TWV0YUVuY29kaW5nKCkgaGF2ZQorYmVlbiBwcm92aWRlZC4gVGhlIHBhcnNlciBhbHNvIGF0dGVtcHRzIHRvIHN3aXRjaCBlbmNvZGluZyBvbiB0aGUgZmx5IHdoZW4KK2RldGVjdGluZyBzdWNoIGEgdGFnIG9uIGlucHV0LiBFeGNlcHQgZm9yIHRoYXQgdGhlIHByb2Nlc3NpbmcgaXMgdGhlIHNhbWUKKyhhbmQgYWdhaW4gcmV1c2VzIHRoZSBzYW1lIGNvZGUpLjwvcD48aDM+PGEgbmFtZT0iRGVmYXVsdCIgaWQ9IkRlZmF1bHQiPkRlZmF1bHQgc3VwcG9ydGVkIGVuY29kaW5nczwvYT48L2gzPjxwPmxpYnhtbDIgaGFzIGEgc2V0IG9mIGRlZmF1bHQgY29udmVydGVycyBmb3IgdGhlIGZvbGxvd2luZyBlbmNvZGluZ3MKKyhsb2NhdGVkIGluIGVuY29kaW5nLmMpOjwvcD48b2w+CisgIDxsaT5VVEYtOCBpcyBzdXBwb3J0ZWQgYnkgZGVmYXVsdCAobnVsbCBoYW5kbGVycyk8L2xpPgorICA8bGk+VVRGLTE2LCBib3RoIGxpdHRsZSBhbmQgYmlnIGVuZGlhbjwvbGk+CisgIDxsaT5JU08tTGF0aW4tMSAoSVNPLTg4NTktMSkgY292ZXJpbmcgbW9zdCB3ZXN0ZXJuIGxhbmd1YWdlczwvbGk+CisgIDxsaT5BU0NJSSwgdXNlZnVsIG1vc3RseSBmb3Igc2F2aW5nPC9saT4KKyAgPGxpPkhUTUwsIGEgc3BlY2lmaWMgaGFuZGxlciBmb3IgdGhlIGNvbnZlcnNpb24gb2YgVVRGLTggdG8gQVNDSUkgd2l0aCBIVE1MCisgICAgcHJlZGVmaW5lZCBlbnRpdGllcyBsaWtlICZhbXA7Y29weTsgZm9yIHRoZSBDb3B5cmlnaHQgc2lnbi48L2xpPgorPC9vbD48cD5Nb3JlIG92ZXIgd2hlbiBjb21waWxlZCBvbiBhbiBVbml4IHBsYXRmb3JtIHdpdGggaWNvbnYgc3VwcG9ydCB0aGUgZnVsbAorc2V0IG9mIGVuY29kaW5ncyBzdXBwb3J0ZWQgYnkgaWNvbnYgY2FuIGJlIGluc3RhbnRseSBiZSB1c2VkIGJ5IGxpYnhtbC4gT24gYQorbGludXggbWFjaGluZSB3aXRoIGdsaWJjLTIuMSB0aGUgbGlzdCBvZiBzdXBwb3J0ZWQgZW5jb2RpbmdzIGFuZCBhbGlhc2VzIGZpbGwKKzMgZnVsbCBwYWdlcywgYW5kIGluY2x1ZGUgVUNTLTQsIHRoZSBmdWxsIHNldCBvZiBJU08tTGF0aW4gZW5jb2RpbmdzLCBhbmQgdGhlCit2YXJpb3VzIEphcGFuZXNlIG9uZXMuPC9wPjxwPlRvIGNvbnZlcnQgZnJvbSB0aGUgVVRGLTggdmFsdWVzIHJldHVybmVkIGZyb20gdGhlIEFQSSB0byBhbm90aGVyIGVuY29kaW5nCit0aGVuIGl0IGlzIHBvc3NpYmxlIHRvIHVzZSB0aGUgZnVuY3Rpb24gcHJvdmlkZWQgZnJvbSA8YSBocmVmPSJodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sIj50aGUgZW5jb2RpbmcgbW9kdWxlPC9hPiBsaWtlIDxhIGhyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjVVRGOFRvaXNvbGF0MSI+VVRGOFRvaXNvbGF0MTwvYT4sIG9yIHVzZSB0aGUKK1BPU0lYIDxhIGhyZWY9Imh0dHA6Ly93d3cub3Blbmdyb3VwLm9yZy9vbmxpbmVwdWJzLzAwOTY5NTM5OS9mdW5jdGlvbnMvaWNvbnYuaHRtbCI+aWNvbnYoKTwvYT4KK0FQSSBkaXJlY3RseS48L3A+PGg0PkVuY29kaW5nIGFsaWFzZXM8L2g0PjxwPkZyb20gMi4yLjMsIGxpYnhtbDIgaGFzIHN1cHBvcnQgdG8gcmVnaXN0ZXIgZW5jb2RpbmcgbmFtZXMgYWxpYXNlcy4gVGhlCitnb2FsIGlzIHRvIGJlIGFibGUgdG8gcGFyc2UgZG9jdW1lbnQgd2hvc2UgZW5jb2RpbmcgaXMgc3VwcG9ydGVkIGJ1dCB3aGVyZQordGhlIG5hbWUgZGlmZmVycyAoZm9yIGV4YW1wbGUgZnJvbSB0aGUgZGVmYXVsdCBzZXQgb2YgbmFtZXMgYWNjZXB0ZWQgYnkKK2ljb252KS4gVGhlIGZvbGxvd2luZyBmdW5jdGlvbnMgYWxsb3cgdG8gcmVnaXN0ZXIgYW5kIGhhbmRsZSBuZXcgYWxpYXNlcyBmb3IKK2V4aXN0aW5nIGVuY29kaW5ncy4gT25jZSByZWdpc3RlcmVkIGxpYnhtbDIgd2lsbCBhdXRvbWF0aWNhbGx5IGxvb2t1cCB0aGUKK2FsaWFzZXMgd2hlbiBoYW5kbGluZyBhIGRvY3VtZW50OjwvcD48dWw+CisgIDxsaT5pbnQgeG1sQWRkRW5jb2RpbmdBbGlhcyhjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICphbGlhcyk7PC9saT4KKyAgPGxpPmludCB4bWxEZWxFbmNvZGluZ0FsaWFzKGNvbnN0IGNoYXIgKmFsaWFzKTs8L2xpPgorICA8bGk+Y29uc3QgY2hhciAqIHhtbEdldEVuY29kaW5nQWxpYXMoY29uc3QgY2hhciAqYWxpYXMpOzwvbGk+CisgIDxsaT52b2lkIHhtbENsZWFudXBFbmNvZGluZ0FsaWFzZXModm9pZCk7PC9saT4KKzwvdWw+PGgzPjxhIG5hbWU9ImV4dGVuZCIgaWQ9ImV4dGVuZCI+SG93IHRvIGV4dGVuZCB0aGUgZXhpc3Rpbmcgc3VwcG9ydDwvYT48L2gzPjxwPldlbGwgYWRkaW5nIHN1cHBvcnQgZm9yIG5ldyBlbmNvZGluZywgb3Igb3ZlcnJpZGluZyBvbmUgb2YgdGhlIGVuY29kZXJzCisoYXNzdW1pbmcgaXQgaXMgYnVnZ3kpIHNob3VsZCBub3QgYmUgaGFyZCwganVzdCB3cml0ZSBpbnB1dCBhbmQgb3V0cHV0Citjb252ZXJzaW9uIHJvdXRpbmVzIHRvL2Zyb20gVVRGLTgsIGFuZCByZWdpc3RlciB0aGVtIHVzaW5nCit4bWxOZXdDaGFyRW5jb2RpbmdIYW5kbGVyKG5hbWUsIHh4eFRvVVRGOCwgVVRGOFRveHh4KSwgIGFuZCB0aGV5IHdpbGwgYmUKK2NhbGxlZCBhdXRvbWF0aWNhbGx5IGlmIHRoZSBwYXJzZXIocykgZW5jb3VudGVyIHN1Y2ggYW4gZW5jb2RpbmcgbmFtZQorKHJlZ2lzdGVyIGl0IHVwcGVyY2FzZSwgdGhpcyB3aWxsIGhlbHApLiBUaGUgZGVzY3JpcHRpb24gb2YgdGhlIGVuY29kZXJzLAordGhlaXIgYXJndW1lbnRzIGFuZCBleHBlY3RlZCByZXR1cm4gdmFsdWVzIGFyZSBkZXNjcmliZWQgaW4gdGhlIGVuY29kaW5nLmgKK2hlYWRlci48L3A+PHA+PGEgaHJlZj0iYnVncy5odG1sIj5EYW5pZWwgVmVpbGxhcmQ8L2E+PC9wPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9lbnRpdGllcy5odG1sIGIvbGlieG1sMi9kb2MvZW50aXRpZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mOWJjYzRlCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvZW50aXRpZXMuaHRtbApAQCAtMCwwICsxLDY0IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPgorPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPjxoZWFkPjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPjxsaW5rIHJlbD0iU0hPUlRDVVQgSUNPTiIgaHJlZj0iL2Zhdmljb24uaWNvIiAvPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CitURCB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorQk9EWSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhOyBtYXJnaW4tdG9wOiAyZW07IG1hcmdpbi1sZWZ0OiAwZW07IG1hcmdpbi1yaWdodDogMGVtfQorSDEge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gyIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMyB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorQTpsaW5rLCBBOnZpc2l0ZWQsIEE6YWN0aXZlIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgfQorPC9zdHlsZT48dGl0bGU+RW50aXRpZXMgb3Igbm8gZW50aXRpZXM8L3RpdGxlPjwvaGVhZD48Ym9keSBiZ2NvbG9yPSIjOGI3NzY1IiB0ZXh0PSIjMDAwMDAwIiBsaW5rPSIjYTA2MDYwIiB2bGluaz0iIzAwMDAwMCI+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjEwMCUiIGNlbGxwYWRkaW5nPSI1IiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCB3aWR0aD0iMTIwIj48YSBocmVmPSJodHRwOi8vc3dwYXQuZmZpaS5vcmcvIj48aW1nIHNyYz0iZXBhdGVudHMucG5nIiBhbHQ9IkFjdGlvbiBhZ2FpbnN0IHNvZnR3YXJlIHBhdGVudHMiIC8+PC9hPjwvdGQ+PHRkIHdpZHRoPSIxODAiPjxhIGhyZWY9Imh0dHA6Ly93d3cuZ25vbWUub3JnLyI+PGltZyBzcmM9Imdub21lMi5wbmciIGFsdD0iR25vbWUyIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1N0YXR1cyI+PGltZyBzcmM9InczYy5wbmciIGFsdD0iVzNDIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cucmVkaGF0LmNvbS8iPjxpbWcgc3JjPSJyZWRoYXQuZ2lmIiBhbHQ9IlJlZCBIYXQgTG9nbyIgLz48L2E+PGRpdiBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnLyI+PGltZyBzcmM9IkxpYnhtbDItTG9nby0xODB4MTY4LmdpZiIgYWx0PSJNYWRlIHdpdGggTGlieG1sMiBMb2dvIiAvPjwvYT48L2Rpdj48L3RkPjx0ZD48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iOTAlIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyIgYmdjb2xvcj0iI2ZmZmFjZCI+PHRyPjx0ZCBhbGlnbj0iY2VudGVyIj48aDE+VGhlIFhNTCBDIHBhcnNlciBhbmQgdG9vbGtpdCBvZiBHbm9tZTwvaDE+PGgyPkVudGl0aWVzIG9yIG5vIGVudGl0aWVzPC9oMj48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iNCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiIgd2lkdGg9IjEwMCUiPjx0cj48dGQgdmFsaWduPSJ0b3AiIHdpZHRoPSIyMDAiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPkRldmVsb3BlciBNZW51PC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjxmb3JtIGFjdGlvbj0ic2VhcmNoLnBocCIgZW5jdHlwZT0iYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIiBtZXRob2Q9ImdldCI+PGlucHV0IG5hbWU9InF1ZXJ5IiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IiIgLz48aW5wdXQgbmFtZT0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJTZWFyY2ggLi4uIiAvPjwvZm9ybT48dWw+PGxpPjxhIGhyZWY9ImluZGV4Lmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5NYWluIE1lbnU8L2E+PC9saT48bGk+PGEgaHJlZj0iaHRtbC9pbmRleC5odG1sIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+UmVmZXJlbmNlIE1hbnVhbDwvYT48L2xpPjxsaT48YSBocmVmPSJleGFtcGxlcy9pbmRleC5odG1sIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+Q29kZSBFeGFtcGxlczwvYT48L2xpPjxsaT48YSBocmVmPSJndWlkZWxpbmVzLmh0bWwiPlhNTCBHdWlkZWxpbmVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9InR1dG9yaWFsL2luZGV4Lmh0bWwiPlR1dG9yaWFsPC9hPjwvbGk+PGxpPjxhIGhyZWY9InhtbHJlYWRlci5odG1sIj5UaGUgUmVhZGVyIEludGVyZmFjZTwvYT48L2xpPjxsaT48YSBocmVmPSJDaGFuZ2VMb2cuaHRtbCI+Q2hhbmdlTG9nPC9hPjwvbGk+PGxpPjxhIGhyZWY9IlhTTFQuaHRtbCI+WFNMVDwvYT48L2xpPjxsaT48YSBocmVmPSJweXRob24uaHRtbCI+UHl0aG9uIGFuZCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJhcmNoaXRlY3R1cmUuaHRtbCI+bGlieG1sMiBhcmNoaXRlY3R1cmU8L2E+PC9saT48bGk+PGEgaHJlZj0idHJlZS5odG1sIj5UaGUgdHJlZSBvdXRwdXQ8L2E+PC9saT48bGk+PGEgaHJlZj0iaW50ZXJmYWNlLmh0bWwiPlRoZSBTQVggaW50ZXJmYWNlPC9hPjwvbGk+PGxpPjxhIGhyZWY9InhtbG1lbS5odG1sIj5NZW1vcnkgTWFuYWdlbWVudDwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWxpby5odG1sIj5JL08gSW50ZXJmYWNlczwvYT48L2xpPjxsaT48YSBocmVmPSJsaWJyYXJ5Lmh0bWwiPlRoZSBwYXJzZXIgaW50ZXJmYWNlczwvYT48L2xpPjxsaT48YSBocmVmPSJlbnRpdGllcy5odG1sIj5FbnRpdGllcyBvciBubyBlbnRpdGllczwvYT48L2xpPjxsaT48YSBocmVmPSJuYW1lc3BhY2VzLmh0bWwiPk5hbWVzcGFjZXM8L2E+PC9saT48bGk+PGEgaHJlZj0idXBncmFkZS5odG1sIj5VcGdyYWRpbmcgMS54IGNvZGU8L2E+PC9saT48bGk+PGEgaHJlZj0idGhyZWFkcy5odG1sIj5UaHJlYWQgc2FmZXR5PC9hPjwvbGk+PGxpPjxhIGhyZWY9IkRPTS5odG1sIj5ET00gUHJpbmNpcGxlczwvYT48L2xpPjxsaT48YSBocmVmPSJleGFtcGxlLmh0bWwiPkEgcmVhbCBleGFtcGxlPC9hPjwvbGk+PGxpPjxhIGhyZWY9InhtbC5odG1sIj5mbGF0IHBhZ2U8L2E+LCA8YSBocmVmPSJzaXRlLnhzbCI+c3R5bGVzaGVldDwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPkFQSSBJbmRleGVzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iQVBJY2h1bmswLmh0bWwiPkFscGhhYmV0aWM8L2E+PC9saT48bGk+PGEgaHJlZj0iQVBJY29uc3RydWN0b3JzLmh0bWwiPkNvbnN0cnVjdG9yczwvYT48L2xpPjxsaT48YSBocmVmPSJBUElmdW5jdGlvbnMuaHRtbCI+RnVuY3Rpb25zL1R5cGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkFQSWZpbGVzLmh0bWwiPk1vZHVsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iQVBJc3ltYm9scy5odG1sIj5TeW1ib2xzPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+UmVsYXRlZCBsaW5rczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9Imh0dHA6Ly9tYWlsLmdub21lLm9yZy9hcmNoaXZlcy94bWwvIj5NYWlsIGFyY2hpdmU8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnL1hTTFQvIj5YU0xUIGxpYnhzbHQ8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3BoZC5jcy51bmliby5pdC9nZG9tZTIvIj5ET00gZ2RvbWUyPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuYWxla3NleS5jb20veG1sc2VjLyI+WE1MLURTaWcgeG1sc2VjPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImZ0cDovL3htbHNvZnQub3JnLyI+RlRQPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemxhdGtvdmljLmNvbS9wcm9qZWN0cy9saWJ4bWwvIj5XaW5kb3dzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9vcGVuY3N3Lm9yZy9wYWNrYWdlcy9saWJ4bWwyIj5Tb2xhcmlzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuZXhwbGFpbi5jb20uYXUvb3NzL2xpYnhtbDJ4c2x0Lmh0bWwiPk1hY09zWCBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbHhtbC5kZS8iPmx4bWwgUHl0aG9uIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9jcGFuLnV3aW5uaXBlZy5jYS9kaXN0L1hNTC1MaWJYTUwiPlBlcmwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbHBsdXNwbHVzLnNvdXJjZWZvcmdlLm5ldC8iPkMrKyBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnplbmQuY29tL3BocDUvYXJ0aWNsZXMvcGhwNS14bWxwaHAucGhwI0hlYWRpbmc0Ij5QSFAgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9saWJ4bWwyLXBhcy8iPlBhc2NhbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1sLnJ1Ynlmb3JnZS5vcmcvIj5SdWJ5IGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly90Y2x4bWwuc291cmNlZm9yZ2UubmV0LyI+VGNsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvYnVnbGlzdC5jZ2k/cHJvZHVjdD1saWJ4bWwyIj5CdWcgVHJhY2tlcjwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMyIgY2VsbHNwYWNpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjxwPkVudGl0aWVzIGluIHByaW5jaXBsZSBhcmUgc2ltaWxhciB0byBzaW1wbGUgQyBtYWNyb3MuIEFuIGVudGl0eSBkZWZpbmVzIGFuCithYmJyZXZpYXRpb24gZm9yIGEgZ2l2ZW4gc3RyaW5nIHRoYXQgeW91IGNhbiByZXVzZSBtYW55IHRpbWVzIHRocm91Z2hvdXQgdGhlCitjb250ZW50IG9mIHlvdXIgZG9jdW1lbnQuIEVudGl0aWVzIGFyZSBlc3BlY2lhbGx5IHVzZWZ1bCB3aGVuIGEgZ2l2ZW4gc3RyaW5nCittYXkgb2NjdXIgZnJlcXVlbnRseSB3aXRoaW4gYSBkb2N1bWVudCwgb3IgdG8gY29uZmluZSB0aGUgY2hhbmdlIG5lZWRlZCB0byBhCitkb2N1bWVudCB0byBhIHJlc3RyaWN0ZWQgYXJlYSBpbiB0aGUgaW50ZXJuYWwgc3Vic2V0IG9mIHRoZSBkb2N1bWVudCAoYXQgdGhlCitiZWdpbm5pbmcpLiBFeGFtcGxlOjwvcD48cHJlPjEgJmx0Oz94bWwgdmVyc2lvbj0iMS4wIj8mZ3Q7CisyICZsdDshRE9DVFlQRSBFWEFNUExFIFNZU1RFTSAiZXhhbXBsZS5kdGQiIFsKKzMgJmx0OyFFTlRJVFkgeG1sICJFeHRlbnNpYmxlIE1hcmt1cCBMYW5ndWFnZSImZ3Q7Cis0IF0mZ3Q7Cis1ICZsdDtFWEFNUExFJmd0OworNiAgICAmYW1wO3htbDsKKzcgJmx0Oy9FWEFNUExFJmd0OzwvcHJlPjxwPkxpbmUgMyBkZWNsYXJlcyB0aGUgeG1sIGVudGl0eS4gTGluZSA2IHVzZXMgdGhlIHhtbCBlbnRpdHksIGJ5IHByZWZpeGluZworaXRzIG5hbWUgd2l0aCAnJmFtcDsnIGFuZCBmb2xsb3dpbmcgaXQgYnkgJzsnIHdpdGhvdXQgYW55IHNwYWNlcyBhZGRlZC4gVGhlcmUKK2FyZSA1IHByZWRlZmluZWQgZW50aXRpZXMgaW4gbGlieG1sMiBhbGxvd2luZyB5b3UgdG8gZXNjYXBlIGNoYXJhY3RlcnMgd2l0aAorcHJlZGVmaW5lZCBtZWFuaW5nIGluIHNvbWUgcGFydHMgb2YgdGhlIHhtbCBkb2N1bWVudCBjb250ZW50OgorPHN0cm9uZz4mYW1wO2x0Ozwvc3Ryb25nPiBmb3IgdGhlIGNoYXJhY3RlciAnJmx0OycsIDxzdHJvbmc+JmFtcDtndDs8L3N0cm9uZz4KK2ZvciB0aGUgY2hhcmFjdGVyICcmZ3Q7JywgIDxzdHJvbmc+JmFtcDthcG9zOzwvc3Ryb25nPiBmb3IgdGhlIGNoYXJhY3RlciAnJycsCis8c3Ryb25nPiZhbXA7cXVvdDs8L3N0cm9uZz4gZm9yIHRoZSBjaGFyYWN0ZXIgJyInLCBhbmQKKzxzdHJvbmc+JmFtcDthbXA7PC9zdHJvbmc+IGZvciB0aGUgY2hhcmFjdGVyICcmYW1wOycuPC9wPjxwPk9uZSBvZiB0aGUgcHJvYmxlbXMgcmVsYXRlZCB0byBlbnRpdGllcyBpcyB0aGF0IHlvdSBtYXkgd2FudCB0aGUgcGFyc2VyIHRvCitzdWJzdGl0dXRlIGFuIGVudGl0eSdzIGNvbnRlbnQgc28gdGhhdCB5b3UgY2FuIHNlZSB0aGUgcmVwbGFjZW1lbnQgdGV4dCBpbgoreW91ciBhcHBsaWNhdGlvbi4gT3IgeW91IG1heSBwcmVmZXIgdG8ga2VlcCBlbnRpdHkgcmVmZXJlbmNlcyBhcyBzdWNoIGluIHRoZQorY29udGVudCB0byBiZSBhYmxlIHRvIHNhdmUgdGhlIGRvY3VtZW50IGJhY2sgd2l0aG91dCBsb3NpbmcgdGhpcyB1c3VhbGx5CitwcmVjaW91cyBpbmZvcm1hdGlvbiAoaWYgdGhlIHVzZXIgd2VudCB0aHJvdWdoIHRoZSBwYWluIG9mIGV4cGxpY2l0bHkKK2RlZmluaW5nIGVudGl0aWVzLCBoZSBtYXkgaGF2ZSBhIGEgcmF0aGVyIG5lZ2F0aXZlIGF0dGl0dWRlIGlmIHlvdSBibGluZGx5CitzdWJzdGl0dXRlIHRoZW0gYXMgc2F2aW5nIHRpbWUpLiBUaGUgPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdCI+eG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdCgpPC9hPgorZnVuY3Rpb24gYWxsb3dzIHlvdSB0byBjaGVjayBhbmQgY2hhbmdlIHRoZSBiZWhhdmlvdXIsIHdoaWNoIGlzIHRvIG5vdAorc3Vic3RpdHV0ZSBlbnRpdGllcyBieSBkZWZhdWx0LjwvcD48cD5IZXJlIGlzIHRoZSBET00gdHJlZSBidWlsdCBieSBsaWJ4bWwyIGZvciB0aGUgcHJldmlvdXMgZG9jdW1lbnQgaW4gdGhlCitkZWZhdWx0IGNhc2U6PC9wPjxwcmU+L2dub21lL3NyYy9nbm9tZS14bWwgLSZndDsgLi94bWxsaW50IC0tZGVidWcgdGVzdC9lbnQxCitET0NVTUVOVAordmVyc2lvbj0xLjAKKyAgIEVMRU1FTlQgRVhBTVBMRQorICAgICBURVhUCisgICAgIGNvbnRlbnQ9CisgICAgIEVOVElUWV9SRUYKKyAgICAgICBJTlRFUk5BTF9HRU5FUkFMX0VOVElUWSB4bWwKKyAgICAgICBjb250ZW50PUV4dGVuc2libGUgTWFya3VwIExhbmd1YWdlCisgICAgIFRFWFQKKyAgICAgY29udGVudD08L3ByZT48cD5BbmQgaGVyZSBpcyB0aGUgcmVzdWx0IHdoZW4gc3Vic3RpdHV0aW5nIGVudGl0aWVzOjwvcD48cHJlPi9nbm9tZS9zcmMvZ25vbWUteG1sIC0mZ3Q7IC4vdGVzdGVyIC0tZGVidWcgLS1ub2VudCB0ZXN0L2VudDEKK0RPQ1VNRU5UCit2ZXJzaW9uPTEuMAorICAgRUxFTUVOVCBFWEFNUExFCisgICAgIFRFWFQKKyAgICAgY29udGVudD0gICAgIEV4dGVuc2libGUgTWFya3VwIExhbmd1YWdlPC9wcmU+PHA+U28sIGVudGl0aWVzIG9yIG5vIGVudGl0aWVzPyBCYXNpY2FsbHksIGl0IGRlcGVuZHMgb24geW91ciB1c2UgY2FzZS4gSQorc3VnZ2VzdCB0aGF0IHlvdSBrZWVwIHRoZSBub24tc3Vic3RpdHV0aW5nIGRlZmF1bHQgYmVoYXZpb3VyIGFuZCBhdm9pZCB1c2luZworZW50aXRpZXMgaW4geW91ciBYTUwgZG9jdW1lbnQgb3IgZGF0YSBpZiB5b3UgYXJlIG5vdCB3aWxsaW5nIHRvIGhhbmRsZSB0aGUKK2VudGl0eSByZWZlcmVuY2VzIGVsZW1lbnRzIGluIHRoZSBET00gdHJlZS48L3A+PHA+Tm90ZSB0aGF0IGF0IHNhdmUgdGltZSBsaWJ4bWwyIGVuZm9yY2VzIHRoZSBjb252ZXJzaW9uIG9mIHRoZSBwcmVkZWZpbmVkCitlbnRpdGllcyB3aGVyZSBuZWNlc3NhcnkgdG8gcHJldmVudCB3ZWxsLWZvcm1lZG5lc3MgcHJvYmxlbXMsIGFuZCB3aWxsIGFsc28KK3RyYW5zcGFyZW50bHkgcmVwbGFjZSB0aG9zZSB3aXRoIGNoYXJzIChpLmUuIGl0IHdpbGwgbm90IGdlbmVyYXRlIGVudGl0eQorcmVmZXJlbmNlIGVsZW1lbnRzIGluIHRoZSBET00gdHJlZSBvciBjYWxsIHRoZSByZWZlcmVuY2UoKSBTQVggY2FsbGJhY2sgd2hlbgorZmluZGluZyB0aGVtIGluIHRoZSBpbnB1dCkuPC9wPjxwPjxzcGFuIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiAjRkYwMDAwIj5XQVJOSU5HPC9zcGFuPjogaGFuZGxpbmcgZW50aXRpZXMKK29uIHRvcCBvZiB0aGUgbGlieG1sMiBTQVggaW50ZXJmYWNlIGlzIGRpZmZpY3VsdCEhISBJZiB5b3UgcGxhbiB0byB1c2UKK25vbi1wcmVkZWZpbmVkIGVudGl0aWVzIGluIHlvdXIgZG9jdW1lbnRzLCB0aGVuIHRoZSBsZWFybmluZyBjdXJ2ZSB0byBoYW5kbGUKK3RoZW4gdXNpbmcgdGhlIFNBWCBBUEkgbWF5IGJlIGxvbmcuIElmIHlvdSBwbGFuIHRvIHVzZSBjb21wbGV4IGRvY3VtZW50cywgSQorc3Ryb25nbHkgc3VnZ2VzdCB5b3UgY29uc2lkZXIgdXNpbmcgdGhlIERPTSBpbnRlcmZhY2UgaW5zdGVhZCBhbmQgbGV0IGxpYnhtbAorZGVhbCB3aXRoIHRoZSBjb21wbGV4aXR5IHJhdGhlciB0aGFuIHRyeWluZyB0byBkbyBpdCB5b3Vyc2VsZi48L3A+PHA+PGEgaHJlZj0iYnVncy5odG1sIj5EYW5pZWwgVmVpbGxhcmQ8L2E+PC9wPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9lcGF0ZW50cy5wbmcgYi9saWJ4bWwyL2RvYy9lcGF0ZW50cy5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmNkM2ExMwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL2VwYXRlbnRzLnBuZwpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9leGFtcGxlLmh0bWwgYi9saWJ4bWwyL2RvYy9leGFtcGxlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTA2NjhiZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL2V4YW1wbGUuaHRtbApAQCAtMCwwICsxLDE4NyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIj4KKzxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj48aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz48bGluayByZWw9IlNIT1JUQ1VUIElDT04iIGhyZWY9Ii9mYXZpY29uLmljbyIgLz48c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorVEQge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0JPRFkge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYTsgbWFyZ2luLXRvcDogMmVtOyBtYXJnaW4tbGVmdDogMGVtOyBtYXJnaW4tcmlnaHQ6IDBlbX0KK0gxIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMiB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDMge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0E6bGluaywgQTp2aXNpdGVkLCBBOmFjdGl2ZSB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIH0KKzwvc3R5bGU+PHRpdGxlPkEgcmVhbCBleGFtcGxlPC90aXRsZT48L2hlYWQ+PGJvZHkgYmdjb2xvcj0iIzhiNzc2NSIgdGV4dD0iIzAwMDAwMCIgbGluaz0iI2EwNjA2MCIgdmxpbms9IiMwMDAwMDAiPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSIxMDAlIiBjZWxscGFkZGluZz0iNSIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgd2lkdGg9IjEyMCI+PGEgaHJlZj0iaHR0cDovL3N3cGF0LmZmaWkub3JnLyI+PGltZyBzcmM9ImVwYXRlbnRzLnBuZyIgYWx0PSJBY3Rpb24gYWdhaW5zdCBzb2Z0d2FyZSBwYXRlbnRzIiAvPjwvYT48L3RkPjx0ZCB3aWR0aD0iMTgwIj48YSBocmVmPSJodHRwOi8vd3d3Lmdub21lLm9yZy8iPjxpbWcgc3JjPSJnbm9tZTIucG5nIiBhbHQ9Ikdub21lMiBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9TdGF0dXMiPjxpbWcgc3JjPSJ3M2MucG5nIiBhbHQ9IlczQyBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnJlZGhhdC5jb20vIj48aW1nIHNyYz0icmVkaGF0LmdpZiIgYWx0PSJSZWQgSGF0IExvZ28iIC8+PC9hPjxkaXYgYWxpZ249ImxlZnQiPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy8iPjxpbWcgc3JjPSJMaWJ4bWwyLUxvZ28tMTgweDE2OC5naWYiIGFsdD0iTWFkZSB3aXRoIExpYnhtbDIgTG9nbyIgLz48L2E+PC9kaXY+PC90ZD48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjkwJSIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiIGJnY29sb3I9IiNmZmZhY2QiPjx0cj48dGQgYWxpZ249ImNlbnRlciI+PGgxPlRoZSBYTUwgQyBwYXJzZXIgYW5kIHRvb2xraXQgb2YgR25vbWU8L2gxPjxoMj5BIHJlYWwgZXhhbXBsZTwvaDI+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjQiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiIHdpZHRoPSIxMDAlIj48dHI+PHRkIHZhbGlnbj0idG9wIiB3aWR0aD0iMjAwIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5EZXZlbG9wZXIgTWVudTwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48Zm9ybSBhY3Rpb249InNlYXJjaC5waHAiIGVuY3R5cGU9ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIgbWV0aG9kPSJnZXQiPjxpbnB1dCBuYW1lPSJxdWVyeSIgdHlwZT0idGV4dCIgc2l6ZT0iMjAiIHZhbHVlPSIiIC8+PGlucHV0IG5hbWU9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU2VhcmNoIC4uLiIgLz48L2Zvcm0+PHVsPjxsaT48YSBocmVmPSJpbmRleC5odG1sIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+TWFpbiBNZW51PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0bWwvaW5kZXguaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPlJlZmVyZW5jZSBNYW51YWw8L2E+PC9saT48bGk+PGEgaHJlZj0iZXhhbXBsZXMvaW5kZXguaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPkNvZGUgRXhhbXBsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iZ3VpZGVsaW5lcy5odG1sIj5YTUwgR3VpZGVsaW5lczwvYT48L2xpPjxsaT48YSBocmVmPSJ0dXRvcmlhbC9pbmRleC5odG1sIj5UdXRvcmlhbDwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWxyZWFkZXIuaHRtbCI+VGhlIFJlYWRlciBJbnRlcmZhY2U8L2E+PC9saT48bGk+PGEgaHJlZj0iQ2hhbmdlTG9nLmh0bWwiPkNoYW5nZUxvZzwvYT48L2xpPjxsaT48YSBocmVmPSJYU0xULmh0bWwiPlhTTFQ8L2E+PC9saT48bGk+PGEgaHJlZj0icHl0aG9uLmh0bWwiPlB5dGhvbiBhbmQgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iYXJjaGl0ZWN0dXJlLmh0bWwiPmxpYnhtbDIgYXJjaGl0ZWN0dXJlPC9hPjwvbGk+PGxpPjxhIGhyZWY9InRyZWUuaHRtbCI+VGhlIHRyZWUgb3V0cHV0PC9hPjwvbGk+PGxpPjxhIGhyZWY9ImludGVyZmFjZS5odG1sIj5UaGUgU0FYIGludGVyZmFjZTwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWxtZW0uaHRtbCI+TWVtb3J5IE1hbmFnZW1lbnQ8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1saW8uaHRtbCI+SS9PIEludGVyZmFjZXM8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlicmFyeS5odG1sIj5UaGUgcGFyc2VyIGludGVyZmFjZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iZW50aXRpZXMuaHRtbCI+RW50aXRpZXMgb3Igbm8gZW50aXRpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0ibmFtZXNwYWNlcy5odG1sIj5OYW1lc3BhY2VzPC9hPjwvbGk+PGxpPjxhIGhyZWY9InVwZ3JhZGUuaHRtbCI+VXBncmFkaW5nIDEueCBjb2RlPC9hPjwvbGk+PGxpPjxhIGhyZWY9InRocmVhZHMuaHRtbCI+VGhyZWFkIHNhZmV0eTwvYT48L2xpPjxsaT48YSBocmVmPSJET00uaHRtbCI+RE9NIFByaW5jaXBsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iZXhhbXBsZS5odG1sIj5BIHJlYWwgZXhhbXBsZTwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWwuaHRtbCI+ZmxhdCBwYWdlPC9hPiwgPGEgaHJlZj0ic2l0ZS54c2wiPnN0eWxlc2hlZXQ8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5BUEkgSW5kZXhlczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9IkFQSWNodW5rMC5odG1sIj5BbHBoYWJldGljPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkFQSWNvbnN0cnVjdG9ycy5odG1sIj5Db25zdHJ1Y3RvcnM8L2E+PC9saT48bGk+PGEgaHJlZj0iQVBJZnVuY3Rpb25zLmh0bWwiPkZ1bmN0aW9ucy9UeXBlczwvYT48L2xpPjxsaT48YSBocmVmPSJBUElmaWxlcy5odG1sIj5Nb2R1bGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkFQSXN5bWJvbHMuaHRtbCI+U3ltYm9sczwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPlJlbGF0ZWQgbGlua3M8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSJodHRwOi8vbWFpbC5nbm9tZS5vcmcvYXJjaGl2ZXMveG1sLyI+TWFpbCBhcmNoaXZlPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9YU0xULyI+WFNMVCBsaWJ4c2x0PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9waGQuY3MudW5pYm8uaXQvZ2RvbWUyLyI+RE9NIGdkb21lMjwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmFsZWtzZXkuY29tL3htbHNlYy8iPlhNTC1EU2lnIHhtbHNlYzwvYT48L2xpPjxsaT48YSBocmVmPSJmdHA6Ly94bWxzb2Z0Lm9yZy8iPkZUUDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnpsYXRrb3ZpYy5jb20vcHJvamVjdHMvbGlieG1sLyI+V2luZG93cyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vb3BlbmNzdy5vcmcvcGFja2FnZXMvbGlieG1sMiI+U29sYXJpcyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmV4cGxhaW4uY29tLmF1L29zcy9saWJ4bWwyeHNsdC5odG1sIj5NYWNPc1ggYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2x4bWwuZGUvIj5seG1sIFB5dGhvbiBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vY3Bhbi51d2lubmlwZWcuY2EvZGlzdC9YTUwtTGliWE1MIj5QZXJsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWxwbHVzcGx1cy5zb3VyY2Vmb3JnZS5uZXQvIj5DKysgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56ZW5kLmNvbS9waHA1L2FydGljbGVzL3BocDUteG1scGhwLnBocCNIZWFkaW5nNCI+UEhQIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbGlieG1sMi1wYXMvIj5QYXNjYWwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbC5ydWJ5Zm9yZ2Uub3JnLyI+UnVieSBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vdGNseG1sLnNvdXJjZWZvcmdlLm5ldC8iPlRjbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2J1Z2xpc3QuY2dpP3Byb2R1Y3Q9bGlieG1sMiI+QnVnIFRyYWNrZXI8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48cD5IZXJlIGlzIGEgcmVhbCBzaXplIGV4YW1wbGUsIHdoZXJlIHRoZSBhY3R1YWwgY29udGVudCBvZiB0aGUgYXBwbGljYXRpb24KK2RhdGEgaXMgbm90IGtlcHQgaW4gdGhlIERPTSB0cmVlIGJ1dCB1c2VzIGludGVybmFsIHN0cnVjdHVyZXMuIEl0IGlzIGJhc2VkIG9uCithIHByb3Bvc2FsIHRvIGtlZXAgYSBkYXRhYmFzZSBvZiBqb2JzIHJlbGF0ZWQgdG8gR25vbWUsIHdpdGggYW4gWE1MIGJhc2VkCitzdG9yYWdlIHN0cnVjdHVyZS4gSGVyZSBpcyBhbiA8YSBocmVmPSJnam9icy54bWwiPlhNTCBlbmNvZGVkIGpvYnMKK2Jhc2U8L2E+OjwvcD48cHJlPiZsdDs/eG1sIHZlcnNpb249IjEuMCI/Jmd0OworJmx0O2dqb2I6SGVscGluZyB4bWxuczpnam9iPSJodHRwOi8vd3d3Lmdub21lLm9yZy9zb21lLWxvY2F0aW9uIiZndDsKKyAgJmx0O2dqb2I6Sm9icyZndDsKKworICAgICZsdDtnam9iOkpvYiZndDsKKyAgICAgICZsdDtnam9iOlByb2plY3QgSUQ9IjMiLyZndDsKKyAgICAgICZsdDtnam9iOkFwcGxpY2F0aW9uJmd0O0dCYWNrdXAmbHQ7L2dqb2I6QXBwbGljYXRpb24mZ3Q7CisgICAgICAmbHQ7Z2pvYjpDYXRlZ29yeSZndDtEZXZlbG9wbWVudCZsdDsvZ2pvYjpDYXRlZ29yeSZndDsKKworICAgICAgJmx0O2dqb2I6VXBkYXRlJmd0OworICAgICAgICAmbHQ7Z2pvYjpTdGF0dXMmZ3Q7T3BlbiZsdDsvZ2pvYjpTdGF0dXMmZ3Q7CisgICAgICAgICZsdDtnam9iOk1vZGlmaWVkJmd0O01vbiwgMDcgSnVuIDE5OTkgMjA6Mjc6NDUgLTA0MDAgTUVUIERTVCZsdDsvZ2pvYjpNb2RpZmllZCZndDsKKyAgICAgICAgJmx0O2dqb2I6U2FsYXJ5Jmd0O1VTRCAwLjAwJmx0Oy9nam9iOlNhbGFyeSZndDsKKyAgICAgICZsdDsvZ2pvYjpVcGRhdGUmZ3Q7CisKKyAgICAgICZsdDtnam9iOkRldmVsb3BlcnMmZ3Q7CisgICAgICAgICZsdDtnam9iOkRldmVsb3BlciZndDsKKyAgICAgICAgJmx0Oy9nam9iOkRldmVsb3BlciZndDsKKyAgICAgICZsdDsvZ2pvYjpEZXZlbG9wZXJzJmd0OworCisgICAgICAmbHQ7Z2pvYjpDb250YWN0Jmd0OworICAgICAgICAmbHQ7Z2pvYjpQZXJzb24mZ3Q7TmF0aGFuIENsZW1vbnMmbHQ7L2dqb2I6UGVyc29uJmd0OworICAgICAgICAmbHQ7Z2pvYjpFbWFpbCZndDtuYXRoYW5Ad2luZHNvZnN0b3JtLm5ldCZsdDsvZ2pvYjpFbWFpbCZndDsKKyAgICAgICAgJmx0O2dqb2I6Q29tcGFueSZndDsKKyAgICAgICAgJmx0Oy9nam9iOkNvbXBhbnkmZ3Q7CisgICAgICAgICZsdDtnam9iOk9yZ2FuaXNhdGlvbiZndDsKKyAgICAgICAgJmx0Oy9nam9iOk9yZ2FuaXNhdGlvbiZndDsKKyAgICAgICAgJmx0O2dqb2I6V2VicGFnZSZndDsKKyAgICAgICAgJmx0Oy9nam9iOldlYnBhZ2UmZ3Q7CisgICAgICAgICZsdDtnam9iOlNuYWlsbWFpbCZndDsKKyAgICAgICAgJmx0Oy9nam9iOlNuYWlsbWFpbCZndDsKKyAgICAgICAgJmx0O2dqb2I6UGhvbmUmZ3Q7CisgICAgICAgICZsdDsvZ2pvYjpQaG9uZSZndDsKKyAgICAgICZsdDsvZ2pvYjpDb250YWN0Jmd0OworCisgICAgICAmbHQ7Z2pvYjpSZXF1aXJlbWVudHMmZ3Q7CisgICAgICBUaGUgcHJvZ3JhbSBzaG91bGQgYmUgcmVsZWFzZWQgYXMgZnJlZSBzb2Z0d2FyZSwgdW5kZXIgdGhlIEdQTC4KKyAgICAgICZsdDsvZ2pvYjpSZXF1aXJlbWVudHMmZ3Q7CisKKyAgICAgICZsdDtnam9iOlNraWxscyZndDsKKyAgICAgICZsdDsvZ2pvYjpTa2lsbHMmZ3Q7CisKKyAgICAgICZsdDtnam9iOkRldGFpbHMmZ3Q7CisgICAgICBBIEdOT01FIGJhc2VkIHN5c3RlbSB0aGF0IHdpbGwgYWxsb3cgYSBzdXBlcnVzZXIgdG8gY29uZmlndXJlIAorICAgICAgY29tcHJlc3NlZCBhbmQgdW5jb21wcmVzc2VkIGZpbGVzIGFuZC9vciBmaWxlIHN5c3RlbXMgdG8gYmUgYmFja2VkIAorICAgICAgdXAgd2l0aCBhIHN1cHBvcnRlZCBtZWRpYSBpbiB0aGUgc3lzdGVtLiAgVGhpcyBzaG91bGQgYmUgYWJsZSB0byAKKyAgICAgIHBlcmZvcm0gdmlhIGZpbmQgY29tbWFuZHMgZ2VuZXJhdGluZyBhIGxpc3Qgb2YgZmlsZXMgdGhhdCBhcmUgcGFzc2VkIAorICAgICAgdG8gdGFyLCBkZCwgY3BpbywgY3AsIGd6aXAsIGV0Yy4sIHRvIGJlIGRpcmVjdGVkIHRvIHRoZSB0YXBlIG1hY2hpbmUgCisgICAgICBvciB2aWEgb3BlcmF0aW9ucyBwZXJmb3JtZWQgb24gdGhlIGZpbGVzeXN0ZW0gaXRzZWxmLiBFbWFpbCAKKyAgICAgIG5vdGlmaWNhdGlvbiBhbmQgR1VJIHN0YXR1cyBkaXNwbGF5IHZlcnkgaW1wb3J0YW50LgorICAgICAgJmx0Oy9nam9iOkRldGFpbHMmZ3Q7CisKKyAgICAmbHQ7L2dqb2I6Sm9iJmd0OworCisgICZsdDsvZ2pvYjpKb2JzJmd0OworJmx0Oy9nam9iOkhlbHBpbmcmZ3Q7PC9wcmU+PHA+V2hpbGUgbG9hZGluZyB0aGUgWE1MIGZpbGUgaW50byBhbiBpbnRlcm5hbCBET00gdHJlZSBpcyBhIG1hdHRlciBvZgorY2FsbGluZyBvbmx5IGEgY291cGxlIG9mIGZ1bmN0aW9ucywgYnJvd3NpbmcgdGhlIHRyZWUgdG8gZ2F0aGVyIHRoZSBkYXRhIGFuZAorZ2VuZXJhdGUgdGhlIGludGVybmFsIHN0cnVjdHVyZXMgaXMgaGFyZGVyLCBhbmQgbW9yZSBlcnJvciBwcm9uZS48L3A+PHA+VGhlIHN1Z2dlc3RlZCBwcmluY2lwbGUgaXMgdG8gYmUgdG9sZXJhbnQgd2l0aCByZXNwZWN0IHRvIHRoZSBpbnB1dAorc3RydWN0dXJlLiBGb3IgZXhhbXBsZSwgdGhlIG9yZGVyaW5nIG9mIHRoZSBhdHRyaWJ1dGVzIGlzIG5vdCBzaWduaWZpY2FudCwKK3RoZSBYTUwgc3BlY2lmaWNhdGlvbiBpcyBjbGVhciBhYm91dCBpdC4gSXQncyBhbHNvIHVzdWFsbHkgYSBnb29kIGlkZWEgbm90IHRvCitkZXBlbmQgb24gdGhlIG9yZGVyIG9mIHRoZSBjaGlsZHJlbiBvZiBhIGdpdmVuIG5vZGUsIHVubGVzcyBpdCByZWFsbHkgbWFrZXMKK3RoaW5ncyBoYXJkZXIuIEhlcmUgaXMgc29tZSBjb2RlIHRvIHBhcnNlIHRoZSBpbmZvcm1hdGlvbiBmb3IgYSBwZXJzb246PC9wPjxwcmU+LyoKKyAqIEEgcGVyc29uIHJlY29yZAorICovCit0eXBlZGVmIHN0cnVjdCBwZXJzb24geworICAgIGNoYXIgKm5hbWU7CisgICAgY2hhciAqZW1haWw7CisgICAgY2hhciAqY29tcGFueTsKKyAgICBjaGFyICpvcmdhbmlzYXRpb247CisgICAgY2hhciAqc21haWw7CisgICAgY2hhciAqd2ViUGFnZTsKKyAgICBjaGFyICpwaG9uZTsKK30gcGVyc29uLCAqcGVyc29uUHRyOworCisvKgorICogQW5kIHRoZSBjb2RlIG5lZWRlZCB0byBwYXJzZSBpdAorICovCitwZXJzb25QdHIgcGFyc2VQZXJzb24oeG1sRG9jUHRyIGRvYywgeG1sTnNQdHIgbnMsIHhtbE5vZGVQdHIgY3VyKSB7CisgICAgcGVyc29uUHRyIHJldCA9IE5VTEw7CisKK0RFQlVHKCJwYXJzZVBlcnNvblxuIik7CisgICAgLyoKKyAgICAgKiBhbGxvY2F0ZSB0aGUgc3RydWN0CisgICAgICovCisgICAgcmV0ID0gKHBlcnNvblB0cikgbWFsbG9jKHNpemVvZihwZXJzb24pKTsKKyAgICBpZiAocmV0ID09IE5VTEwpIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsIm91dCBvZiBtZW1vcnlcbiIpOworICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgfQorICAgIG1lbXNldChyZXQsIDAsIHNpemVvZihwZXJzb24pKTsKKworICAgIC8qIFdlIGRvbid0IGNhcmUgd2hhdCB0aGUgdG9wIGxldmVsIGVsZW1lbnQgbmFtZSBpcyAqLworICAgIGN1ciA9IGN1ci0mZ3Q7eG1sQ2hpbGRyZW5Ob2RlOworICAgIHdoaWxlIChjdXIgIT0gTlVMTCkgeworICAgICAgICBpZiAoKCFzdHJjbXAoY3VyLSZndDtuYW1lLCAiUGVyc29uIikpICZhbXA7JmFtcDsgKGN1ci0mZ3Q7bnMgPT0gbnMpKQorICAgICAgICAgICAgcmV0LSZndDtuYW1lID0geG1sTm9kZUxpc3RHZXRTdHJpbmcoZG9jLCBjdXItJmd0O3htbENoaWxkcmVuTm9kZSwgMSk7CisgICAgICAgIGlmICgoIXN0cmNtcChjdXItJmd0O25hbWUsICJFbWFpbCIpKSAmYW1wOyZhbXA7IChjdXItJmd0O25zID09IG5zKSkKKyAgICAgICAgICAgIHJldC0mZ3Q7ZW1haWwgPSB4bWxOb2RlTGlzdEdldFN0cmluZyhkb2MsIGN1ci0mZ3Q7eG1sQ2hpbGRyZW5Ob2RlLCAxKTsKKyAgICAgICAgY3VyID0gY3VyLSZndDtuZXh0OworICAgIH0KKworICAgIHJldHVybihyZXQpOworfTwvcHJlPjxwPkhlcmUgYXJlIGEgY291cGxlIG9mIHRoaW5ncyB0byBub3RpY2U6PC9wPjx1bD4KKyAgPGxpPlVzdWFsbHkgYSByZWN1cnNpdmUgcGFyc2luZyBzdHlsZSBpcyB0aGUgbW9yZSBjb252ZW5pZW50IG9uZTogWE1MIGRhdGEKKyAgICBpcyBieSBuYXR1cmUgc3ViamVjdCB0byByZXBldGl0aXZlIGNvbnN0cnVjdHMgYW5kIHVzdWFsbHkgZXhoaWJpdHMgaGlnaGx5CisgICAgc3RydWN0dXJlZCBwYXR0ZXJucy48L2xpPgorICA8bGk+VGhlIHR3byBhcmd1bWVudHMgb2YgdHlwZSA8ZW0+eG1sRG9jUHRyPC9lbT4gYW5kIDxlbT54bWxOc1B0cjwvZW0+LAorICAgIGkuZS4gdGhlIHBvaW50ZXIgdG8gdGhlIGdsb2JhbCBYTUwgZG9jdW1lbnQgYW5kIHRoZSBuYW1lc3BhY2UgcmVzZXJ2ZWQgdG8KKyAgICB0aGUgYXBwbGljYXRpb24uIERvY3VtZW50IHdpZGUgaW5mb3JtYXRpb24gYXJlIG5lZWRlZCBmb3IgZXhhbXBsZSB0bworICAgIGRlY29kZSBlbnRpdGllcyBhbmQgaXQncyBhIGdvb2QgY29kaW5nIHByYWN0aWNlIHRvIGRlZmluZSBhIG5hbWVzcGFjZSBmb3IKKyAgICB5b3VyIGFwcGxpY2F0aW9uIHNldCBvZiBkYXRhIGFuZCB0ZXN0IHRoYXQgdGhlIGVsZW1lbnQgYW5kIGF0dHJpYnV0ZXMKKyAgICB5b3UncmUgYW5hbHl6aW5nIGFjdHVhbGx5IHBlcnRhaW5zIHRvIHlvdXIgYXBwbGljYXRpb24gc3BhY2UuIFRoaXMgaXMKKyAgICBkb25lIGJ5IGEgc2ltcGxlIGVxdWFsaXR5IHRlc3QgKGN1ci0mZ3Q7bnMgPT0gbnMpLjwvbGk+CisgIDxsaT5UbyByZXRyaWV2ZSB0ZXh0IGFuZCBhdHRyaWJ1dGVzIHZhbHVlLCB5b3UgY2FuIHVzZSB0aGUgZnVuY3Rpb24KKyAgICA8ZW0+eG1sTm9kZUxpc3RHZXRTdHJpbmc8L2VtPiB0byBnYXRoZXIgYWxsIHRoZSB0ZXh0IGFuZCBlbnRpdHkgcmVmZXJlbmNlCisgICAgbm9kZXMgZ2VuZXJhdGVkIGJ5IHRoZSBET00gb3V0cHV0IGFuZCBwcm9kdWNlIGFuIHNpbmdsZSB0ZXh0IHN0cmluZy48L2xpPgorPC91bD48cD5IZXJlIGlzIGFub3RoZXIgcGllY2Ugb2YgY29kZSB1c2VkIHRvIHBhcnNlIGFub3RoZXIgbGV2ZWwgb2YgdGhlCitzdHJ1Y3R1cmU6PC9wPjxwcmU+I2luY2x1ZGUgJmx0O2xpYnhtbC90cmVlLmgmZ3Q7CisvKgorICogYSBEZXNjcmlwdGlvbiBmb3IgYSBKb2IKKyAqLwordHlwZWRlZiBzdHJ1Y3Qgam9iIHsKKyAgICBjaGFyICpwcm9qZWN0SUQ7CisgICAgY2hhciAqYXBwbGljYXRpb247CisgICAgY2hhciAqY2F0ZWdvcnk7CisgICAgcGVyc29uUHRyIGNvbnRhY3Q7CisgICAgaW50IG5iRGV2ZWxvcGVyczsKKyAgICBwZXJzb25QdHIgZGV2ZWxvcGVyc1sxMDBdOyAvKiB1c2luZyBkeW5hbWljIGFsbG9jIGlzIGxlZnQgYXMgYW4gZXhlcmNpc2UgKi8KK30gam9iLCAqam9iUHRyOworCisvKgorICogQW5kIHRoZSBjb2RlIG5lZWRlZCB0byBwYXJzZSBpdAorICovCitqb2JQdHIgcGFyc2VKb2IoeG1sRG9jUHRyIGRvYywgeG1sTnNQdHIgbnMsIHhtbE5vZGVQdHIgY3VyKSB7CisgICAgam9iUHRyIHJldCA9IE5VTEw7CisKK0RFQlVHKCJwYXJzZUpvYlxuIik7CisgICAgLyoKKyAgICAgKiBhbGxvY2F0ZSB0aGUgc3RydWN0CisgICAgICovCisgICAgcmV0ID0gKGpvYlB0cikgbWFsbG9jKHNpemVvZihqb2IpKTsKKyAgICBpZiAocmV0ID09IE5VTEwpIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsIm91dCBvZiBtZW1vcnlcbiIpOworICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgfQorICAgIG1lbXNldChyZXQsIDAsIHNpemVvZihqb2IpKTsKKworICAgIC8qIFdlIGRvbid0IGNhcmUgd2hhdCB0aGUgdG9wIGxldmVsIGVsZW1lbnQgbmFtZSBpcyAqLworICAgIGN1ciA9IGN1ci0mZ3Q7eG1sQ2hpbGRyZW5Ob2RlOworICAgIHdoaWxlIChjdXIgIT0gTlVMTCkgeworICAgICAgICAKKyAgICAgICAgaWYgKCghc3RyY21wKGN1ci0mZ3Q7bmFtZSwgIlByb2plY3QiKSkgJmFtcDsmYW1wOyAoY3VyLSZndDtucyA9PSBucykpIHsKKyAgICAgICAgICAgIHJldC0mZ3Q7cHJvamVjdElEID0geG1sR2V0UHJvcChjdXIsICJJRCIpOworICAgICAgICAgICAgaWYgKHJldC0mZ3Q7cHJvamVjdElEID09IE5VTEwpIHsKKyAgICAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIlByb2plY3QgaGFzIG5vIElEXG4iKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBpZiAoKCFzdHJjbXAoY3VyLSZndDtuYW1lLCAiQXBwbGljYXRpb24iKSkgJmFtcDsmYW1wOyAoY3VyLSZndDtucyA9PSBucykpCisgICAgICAgICAgICByZXQtJmd0O2FwcGxpY2F0aW9uID0geG1sTm9kZUxpc3RHZXRTdHJpbmcoZG9jLCBjdXItJmd0O3htbENoaWxkcmVuTm9kZSwgMSk7CisgICAgICAgIGlmICgoIXN0cmNtcChjdXItJmd0O25hbWUsICJDYXRlZ29yeSIpKSAmYW1wOyZhbXA7IChjdXItJmd0O25zID09IG5zKSkKKyAgICAgICAgICAgIHJldC0mZ3Q7Y2F0ZWdvcnkgPSB4bWxOb2RlTGlzdEdldFN0cmluZyhkb2MsIGN1ci0mZ3Q7eG1sQ2hpbGRyZW5Ob2RlLCAxKTsKKyAgICAgICAgaWYgKCghc3RyY21wKGN1ci0mZ3Q7bmFtZSwgIkNvbnRhY3QiKSkgJmFtcDsmYW1wOyAoY3VyLSZndDtucyA9PSBucykpCisgICAgICAgICAgICByZXQtJmd0O2NvbnRhY3QgPSBwYXJzZVBlcnNvbihkb2MsIG5zLCBjdXIpOworICAgICAgICBjdXIgPSBjdXItJmd0O25leHQ7CisgICAgfQorCisgICAgcmV0dXJuKHJldCk7Cit9PC9wcmU+PHA+T25jZSB5b3UgYXJlIHVzZWQgdG8gaXQsIHdyaXRpbmcgdGhpcyBraW5kIG9mIGNvZGUgaXMgcXVpdGUgc2ltcGxlLCBidXQKK2JvcmluZy4gVWx0aW1hdGVseSwgaXQgY291bGQgYmUgcG9zc2libGUgdG8gd3JpdGUgc3R1YmJlcnMgdGFraW5nIGVpdGhlciBDCitkYXRhIHN0cnVjdHVyZSBkZWZpbml0aW9ucywgYSBzZXQgb2YgWE1MIGV4YW1wbGVzIG9yIGFuIFhNTCBEVEQgYW5kIHByb2R1Y2UKK3RoZSBjb2RlIG5lZWRlZCB0byBpbXBvcnQgYW5kIGV4cG9ydCB0aGUgY29udGVudCBiZXR3ZWVuIEMgZGF0YSBhbmQgWE1MCitzdG9yYWdlLiBUaGlzIGlzIGxlZnQgYXMgYW4gZXhlcmNpc2UgdG8gdGhlIHJlYWRlciA6LSk8L3A+PHA+RmVlbCBmcmVlIHRvIHVzZSA8YSBocmVmPSJleGFtcGxlL2dqb2JyZWFkLmMiPnRoZSBjb2RlIGZvciB0aGUgZnVsbCBDCitwYXJzaW5nIGV4YW1wbGU8L2E+IGFzIGEgdGVtcGxhdGUsIGl0IGlzIGFsc28gYXZhaWxhYmxlIHdpdGggTWFrZWZpbGUgaW4gdGhlCitHbm9tZSBTVk4gYmFzZSB1bmRlciBsaWJ4bWwyL2V4YW1wbGU8L3A+PHA+PGEgaHJlZj0iYnVncy5odG1sIj5EYW5pZWwgVmVpbGxhcmQ8L2E+PC9wPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9leGFtcGxlcy9NYWtlZmlsZS5hbSBiL2xpYnhtbDIvZG9jL2V4YW1wbGVzL01ha2VmaWxlLmFtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU3YWY5YzIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9leGFtcGxlcy9NYWtlZmlsZS5hbQpAQCAtMCwwICsxLDEzNSBAQAorIyMKKyMjIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBpbmRleC5weQorIyMgRE8gTk9UIEVESVQgISEhCisjIworCitBTV9DUFBGTEFHUyA9IC1JJCh0b3BfYnVpbGRkaXIpL2luY2x1ZGUgLUkkKHRvcF9zcmNkaXIpL2luY2x1ZGUgLUkkKHNyY2RpcikvaW5jbHVkZQorQU1fQ0ZMQUdTID0gJChUSFJFQURfQ0ZMQUdTKSAkKFpfQ0ZMQUdTKQorTERBREQgPSAkKFJETF9MSUJTKSAkKFNUQVRJQ19CSU5BUklFUykgJCh0b3BfYnVpbGRkaXIpL2xpYnhtbDIubGEgJChUSFJFQURfTElCUykgJChaX0xJQlMpICQoSUNPTlZfTElCUykgLWxtICQoV0lOMzJfRVhUUkFfTElCQUREKQorCitDTEVBTkZJTEVTID0gKi50bXAKKworaWYgUkVCVUlMRF9ET0NTCityZWJ1aWxkOiBleGFtcGxlcy54bWwgaW5kZXguaHRtbAorLlBIT05ZOiByZWJ1aWxkCisKK2V4YW1wbGVzLnhtbDogaW5kZXgucHkgJChub2luc3RfUFJPR1JBTVM6PS5jKQorCWNkICQoc3JjZGlyKSAmJiAkKFBZVEhPTikgaW5kZXgucHkKKwkkKE1BS0UpIE1ha2VmaWxlCisKK2luZGV4Lmh0bWw6IGV4YW1wbGVzLnhtbCBleGFtcGxlcy54c2wKKwljZCAkKHNyY2RpcikgJiYgeHNsdHByb2MgZXhhbXBsZXMueHNsIGV4YW1wbGVzLnhtbCAmJiBlY2hvICJSZWJ1aWx0IHdlYiBwYWdlIgorCS1jZCAkKHNyY2RpcikgJiYgeG1sbGludCAtLXZhbGlkIC0tbm9vdXQgaW5kZXguaHRtbAorZW5kaWYKKworaW5zdGFsbC1kYXRhLWxvY2FsOiAKKwkkKE1LRElSX1ApICQoREVTVERJUikkKEhUTUxfRElSKQorCS0kKElOU1RBTEwpIC1tIDA2NDQgJChzcmNkaXIpLyouaHRtbCAkKHNyY2RpcikvKi5jICQoc3JjZGlyKS8qLnhtbCAkKHNyY2RpcikvKi54c2wgJChzcmNkaXIpLyoucmVzICQoREVTVERJUikkKEhUTUxfRElSKQorCitjbGVhbi1sb2NhbDoKKwl0ZXN0IC1mIE1ha2VmaWxlLmFtIHx8IHJtIC1mIHRlc3Q/LnhtbAorCitFWFRSQV9ESVNUID0gXAorCWV4YW1wbGVzLnhtbCBcCisJZXhhbXBsZXMueHNsIFwKKwlpbmRleC5odG1sIFwKKwlpbmRleC5weSBcCisJaW8xLnJlcyBcCisJaW8yLnJlcyBcCisJcmVhZGVyMS5yZXMgXAorCXJlYWRlcjMucmVzIFwKKwlyZWFkZXI0LnJlcyBcCisJdGVzdDEueG1sIFwKKwl0ZXN0Mi54bWwgXAorCXRlc3QzLnhtbCBcCisJdHJlZTEucmVzIFwKKwl0cmVlMi5yZXMgXAorCXRzdC54bWwgXAorCXdyaXRlci54bWwgXAorCXhwYXRoMS5yZXMgXAorCXhwYXRoMi5yZXMKKworbm9pbnN0X1BST0dSQU1TID0gXAorCWlvMSBcCisJaW8yIFwKKwlwYXJzZTEgXAorCXBhcnNlMiBcCisJcGFyc2UzIFwKKwlwYXJzZTQgXAorCXJlYWRlcjEgXAorCXJlYWRlcjIgXAorCXJlYWRlcjMgXAorCXJlYWRlcjQgXAorCXRlc3RXcml0ZXIgXAorCXRyZWUxIFwKKwl0cmVlMiBcCisJeHBhdGgxIFwKKwl4cGF0aDIKKworaW8xX1NPVVJDRVMgPSBpbzEuYworCitpbzJfU09VUkNFUyA9IGlvMi5jCisKK3BhcnNlMV9TT1VSQ0VTID0gcGFyc2UxLmMKKworcGFyc2UyX1NPVVJDRVMgPSBwYXJzZTIuYworCitwYXJzZTNfU09VUkNFUyA9IHBhcnNlMy5jCisKK3BhcnNlNF9TT1VSQ0VTID0gcGFyc2U0LmMKKworcmVhZGVyMV9TT1VSQ0VTID0gcmVhZGVyMS5jCisKK3JlYWRlcjJfU09VUkNFUyA9IHJlYWRlcjIuYworCityZWFkZXIzX1NPVVJDRVMgPSByZWFkZXIzLmMKKworcmVhZGVyNF9TT1VSQ0VTID0gcmVhZGVyNC5jCisKK3Rlc3RXcml0ZXJfU09VUkNFUyA9IHRlc3RXcml0ZXIuYworCit0cmVlMV9TT1VSQ0VTID0gdHJlZTEuYworCit0cmVlMl9TT1VSQ0VTID0gdHJlZTIuYworCit4cGF0aDFfU09VUkNFUyA9IHhwYXRoMS5jCisKK3hwYXRoMl9TT1VSQ0VTID0geHBhdGgyLmMKKwordmFsZ3JpbmQ6IAorCSQoTUFLRSkgQ0hFQ0tFUj0ndmFsZ3JpbmQnIHRlc3RzCisKK3Rlc3RzOiAkKG5vaW5zdF9QUk9HUkFNUykKKwl0ZXN0IC1mIE1ha2VmaWxlLmFtIHx8IHRlc3QgLWYgdGVzdDEueG1sIHx8ICQoTE5fUykgJChzcmNkaXIpL3Rlc3Q/LnhtbCAuCisJQChlY2hvICcjIyBleGFtcGxlcyByZWdyZXNzaW9uIHRlc3RzJykKKwlAKGVjaG8gPiAubWVtZHVtcCkKKwkkKENIRUNLRVIpIC4vaW8xID4gaW8xLnRtcCAmJiBkaWZmIGlvMS50bXAgJChzcmNkaXIpL2lvMS5yZXMKKwlAZ3JlcCAiTU9SWSBBTExPIiAubWVtZHVtcCB8IGdyZXAgLXYgIk1FTU9SWSBBTExPQ0FURUQgOiAwIiA7IGV4aXQgMAorCSQoQ0hFQ0tFUikgLi9pbzIgPiBpbzIudG1wICYmIGRpZmYgaW8yLnRtcCAkKHNyY2RpcikvaW8yLnJlcworCUBncmVwICJNT1JZIEFMTE8iIC5tZW1kdW1wIHwgZ3JlcCAtdiAiTUVNT1JZIEFMTE9DQVRFRCA6IDAiIDsgZXhpdCAwCisJJChDSEVDS0VSKSAuL3BhcnNlMSB0ZXN0MS54bWwKKwlAZ3JlcCAiTU9SWSBBTExPIiAubWVtZHVtcCB8IGdyZXAgLXYgIk1FTU9SWSBBTExPQ0FURUQgOiAwIiA7IGV4aXQgMAorCSQoQ0hFQ0tFUikgLi9wYXJzZTIgdGVzdDIueG1sCisJQGdyZXAgIk1PUlkgQUxMTyIgLm1lbWR1bXAgfCBncmVwIC12ICJNRU1PUlkgQUxMT0NBVEVEIDogMCIgOyBleGl0IDAKKwkkKENIRUNLRVIpIC4vcGFyc2UzCisJQGdyZXAgIk1PUlkgQUxMTyIgLm1lbWR1bXAgfCBncmVwIC12ICJNRU1PUlkgQUxMT0NBVEVEIDogMCIgOyBleGl0IDAKKwkkKENIRUNLRVIpIC4vcGFyc2U0IHRlc3QzLnhtbAorCUBncmVwICJNT1JZIEFMTE8iIC5tZW1kdW1wIHwgZ3JlcCAtdiAiTUVNT1JZIEFMTE9DQVRFRCA6IDAiIDsgZXhpdCAwCisJJChDSEVDS0VSKSAuL3JlYWRlcjEgdGVzdDIueG1sID4gcmVhZGVyMS50bXAgJiYgZGlmZiByZWFkZXIxLnRtcCAkKHNyY2RpcikvcmVhZGVyMS5yZXMKKwlAZ3JlcCAiTU9SWSBBTExPIiAubWVtZHVtcCB8IGdyZXAgLXYgIk1FTU9SWSBBTExPQ0FURUQgOiAwIiA7IGV4aXQgMAorCSQoQ0hFQ0tFUikgLi9yZWFkZXIyIHRlc3QyLnhtbCA+IHJlYWRlcjEudG1wICYmIGRpZmYgcmVhZGVyMS50bXAgJChzcmNkaXIpL3JlYWRlcjEucmVzCisJQGdyZXAgIk1PUlkgQUxMTyIgLm1lbWR1bXAgfCBncmVwIC12ICJNRU1PUlkgQUxMT0NBVEVEIDogMCIgOyBleGl0IDAKKwkkKENIRUNLRVIpIC4vcmVhZGVyMyA+IHJlYWRlcjMudG1wICYmIGRpZmYgcmVhZGVyMy50bXAgJChzcmNkaXIpL3JlYWRlcjMucmVzCisJQGdyZXAgIk1PUlkgQUxMTyIgLm1lbWR1bXAgfCBncmVwIC12ICJNRU1PUlkgQUxMT0NBVEVEIDogMCIgOyBleGl0IDAKKwkkKENIRUNLRVIpIC4vcmVhZGVyNCB0ZXN0MS54bWwgdGVzdDIueG1sIHRlc3QzLnhtbCA+IHJlYWRlcjQudG1wICYmIGRpZmYgcmVhZGVyNC50bXAgJChzcmNkaXIpL3JlYWRlcjQucmVzCisJQGdyZXAgIk1PUlkgQUxMTyIgLm1lbWR1bXAgfCBncmVwIC12ICJNRU1PUlkgQUxMT0NBVEVEIDogMCIgOyBleGl0IDAKKwkkKENIRUNLRVIpIC4vdGVzdFdyaXRlciAmJiBmb3IgaSBpbiAxIDIgMyA0IDsgZG8gZGlmZiAkKHNyY2Rpcikvd3JpdGVyLnhtbCB3cml0ZXIkJGkudG1wIHx8IGJyZWFrIDsgZG9uZQorCUBncmVwICJNT1JZIEFMTE8iIC5tZW1kdW1wIHwgZ3JlcCAtdiAiTUVNT1JZIEFMTE9DQVRFRCA6IDAiIDsgZXhpdCAwCisJJChDSEVDS0VSKSAuL3RyZWUxIHRlc3QyLnhtbCA+IHRyZWUxLnRtcCAmJiBkaWZmIHRyZWUxLnRtcCAkKHNyY2RpcikvdHJlZTEucmVzCisJQGdyZXAgIk1PUlkgQUxMTyIgLm1lbWR1bXAgfCBncmVwIC12ICJNRU1PUlkgQUxMT0NBVEVEIDogMCIgOyBleGl0IDAKKwkkKENIRUNLRVIpIC4vdHJlZTIgPiB0cmVlMi50bXAgJiYgZGlmZiB0cmVlMi50bXAgJChzcmNkaXIpL3RyZWUyLnJlcworCUBncmVwICJNT1JZIEFMTE8iIC5tZW1kdW1wIHwgZ3JlcCAtdiAiTUVNT1JZIEFMTE9DQVRFRCA6IDAiIDsgZXhpdCAwCisJJChDSEVDS0VSKSAuL3hwYXRoMSB0ZXN0My54bWwgJy8vY2hpbGQyJyA+IHhwYXRoMS50bXAgJiYgZGlmZiB4cGF0aDEudG1wICQoc3JjZGlyKS94cGF0aDEucmVzCisJQGdyZXAgIk1PUlkgQUxMTyIgLm1lbWR1bXAgfCBncmVwIC12ICJNRU1PUlkgQUxMT0NBVEVEIDogMCIgOyBleGl0IDAKKwkkKENIRUNLRVIpIC4veHBhdGgyIHRlc3QzLnhtbCAnLy9kaXNjYXJkZWQnIGRpc2NhcmRlZCA+IHhwYXRoMi50bXAgJiYgZGlmZiB4cGF0aDIudG1wICQoc3JjZGlyKS94cGF0aDIucmVzCisJQGdyZXAgIk1PUlkgQUxMTyIgLm1lbWR1bXAgfCBncmVwIC12ICJNRU1PUlkgQUxMT0NBVEVEIDogMCIgOyBleGl0IDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2V4YW1wbGVzL2V4YW1wbGVzLnhtbCBiL2xpYnhtbDIvZG9jL2V4YW1wbGVzL2V4YW1wbGVzLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yODkyOWNjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvZXhhbXBsZXMvZXhhbXBsZXMueG1sCkBAIC0wLDAgKzEsNzUxIEBACis8ZXhhbXBsZXM+CisgIDxleGFtcGxlIGZpbGVuYW1lPSd4cGF0aDEuYyc+CisgICAgPHN5bm9wc2lzPkV2YWx1YXRlIFhQYXRoIGV4cHJlc3Npb24gYW5kIHByaW50cyByZXN1bHQgbm9kZSBzZXQuPC9zeW5vcHNpcz4KKyAgICA8cHVycG9zZT5TaG93cyBob3cgdG8gZXZhbHVhdGUgWFBhdGggZXhwcmVzc2lvbiBhbmQgcmVnaXN0ZXIga25vd24gbmFtZXNwYWNlcyBpbiBYUGF0aCBjb250ZXh0LjwvcHVycG9zZT4KKyAgICA8dXNhZ2U+eHBhdGgxICZsdDt4bWwtZmlsZSZndDsgJmx0O3hwYXRoLWV4cHImZ3Q7IFsmbHQ7a25vd24tbnMtbGlzdCZndDtdPC91c2FnZT4KKyAgICA8dGVzdD54cGF0aDEgdGVzdDMueG1sICZhcG9zOy8vY2hpbGQyJmFwb3M7ICZndDsgeHBhdGgxLnRtcCAmYW1wOyZhbXA7IGRpZmYgeHBhdGgxLnRtcCAkKHNyY2RpcikveHBhdGgxLnJlczwvdGVzdD4KKyAgICA8YXV0aG9yPkFsZWtzZXkgU2FuaW48L2F1dGhvcj4KKyAgICA8Y29weT5zZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuIDwvY29weT4KKyAgICA8c2VjdGlvbj5YUGF0aDwvc2VjdGlvbj4KKyAgICA8aW5jbHVkZXM+CisgICAgICA8aW5jbHVkZT4mbHQ7bGlieG1sL3BhcnNlci5oJmd0OzwvaW5jbHVkZT4KKyAgICAgIDxpbmNsdWRlPiZsdDtsaWJ4bWwveHBhdGguaCZndDs8L2luY2x1ZGU+CisgICAgICA8aW5jbHVkZT4mbHQ7bGlieG1sL3hwYXRoSW50ZXJuYWxzLmgmZ3Q7PC9pbmNsdWRlPgorICAgICAgPGluY2x1ZGU+Jmx0O2xpYnhtbC90cmVlLmgmZ3Q7PC9pbmNsdWRlPgorICAgIDwvaW5jbHVkZXM+CisgICAgPHVzZXM+CisgICAgICA8ZW51bSBsaW5lPScyMjknIGZpbGU9J3RyZWUnIG5hbWU9J1hNTF9FTEVNRU5UX05PREUnLz4KKyAgICAgIDx0eXBlZGVmIGxpbmU9Jzg4JyBmaWxlPSd4cGF0aCcgbmFtZT0neG1sWFBhdGhPYmplY3RQdHInLz4KKyAgICAgIDxmdW5jdGlvbiBsaW5lPSc1NCcgZmlsZT0neG1sbWVtb3J5JyBuYW1lPSd4bWxNZW1vcnlEdW1wJy8+CisgICAgICA8ZnVuY3Rpb24gbGluZT0nMTE3JyBmaWxlPSd4cGF0aCcgbmFtZT0neG1sWFBhdGhFdmFsRXhwcmVzc2lvbicvPgorICAgICAgPGZ1bmN0aW9uIGxpbmU9Jzk0JyBmaWxlPSdwYXJzZXInIG5hbWU9J3htbFBhcnNlRmlsZScvPgorICAgICAgPGZ1bmN0aW9uIGxpbmU9JzE4NicgZmlsZT0neHBhdGhJbnRlcm5hbHMnIG5hbWU9J3htbFhQYXRoUmVnaXN0ZXJOcycvPgorICAgICAgPGZ1bmN0aW9uIGxpbmU9JzEyOScgZmlsZT0neHBhdGgnIG5hbWU9J3htbFhQYXRoRnJlZU9iamVjdCcvPgorICAgICAgPHZhcmlhYmxlIGxpbmU9JzE5MycgZmlsZT0nZ2xvYmFscycgbmFtZT0neG1sRnJlZScvPgorICAgICAgPHR5cGVkZWYgbGluZT0nMjE4JyBmaWxlPSd0cmVlJyBuYW1lPSd4bWxOc1B0cicvPgorICAgICAgPGZ1bmN0aW9uIGxpbmU9JzEwMScgZmlsZT0neHBhdGgnIG5hbWU9J3htbFhQYXRoTmV3Q29udGV4dCcvPgorICAgICAgPGZ1bmN0aW9uIGxpbmU9JzQ5JyBmaWxlPSdwYXJzZXInIG5hbWU9J3htbENsZWFudXBQYXJzZXInLz4KKyAgICAgIDxtYWNybyBsaW5lPSc0MycgZmlsZT0neG1sdmVyc2lvbicgbmFtZT0nTElCWE1MX1RFU1RfVkVSU0lPTicvPgorICAgICAgPHR5cGVkZWYgbGluZT0nODcnIGZpbGU9J3hwYXRoJyBuYW1lPSd4bWxYUGF0aENvbnRleHRQdHInLz4KKyAgICAgIDxmdW5jdGlvbiBsaW5lPScxMzAnIGZpbGU9J3hwYXRoJyBuYW1lPSd4bWxYUGF0aEZyZWVDb250ZXh0Jy8+CisgICAgICA8ZnVuY3Rpb24gbGluZT0nMzknIGZpbGU9J3BhcnNlcicgbmFtZT0neG1sSW5pdFBhcnNlcicvPgorICAgICAgPGZ1bmN0aW9uIGxpbmU9JzE1NicgZmlsZT0neG1sc3RyaW5nJyBuYW1lPSd4bWxTdHJkdXAnLz4KKyAgICAgIDxmdW5jdGlvbiBsaW5lPScxMzEnIGZpbGU9J3RyZWUnIG5hbWU9J3htbEZyZWVEb2MnLz4KKyAgICAgIDxmdW5jdGlvbiBsaW5lPScxODAnIGZpbGU9J3htbHN0cmluZycgbmFtZT0neG1sU3RyY2hyJy8+CisgICAgICA8dHlwZWRlZiBsaW5lPScyMDYnIGZpbGU9J3RyZWUnIG5hbWU9J3htbE5vZGVQdHInLz4KKyAgICAgIDx0eXBlZGVmIGxpbmU9Jzg2JyBmaWxlPSd0cmVlJyBuYW1lPSd4bWxEb2NQdHInLz4KKyAgICAgIDxlbnVtIGxpbmU9JzIxNycgZmlsZT0ndHJlZScgbmFtZT0nWE1MX05BTUVTUEFDRV9ERUNMJy8+CisgICAgPC91c2VzPgorICA8L2V4YW1wbGU+CisgIDxleGFtcGxlIGZpbGVuYW1lPSdwYXJzZTMuYyc+CisgICAgPHN5bm9wc2lzPlBhcnNlIGFuIFhNTCBkb2N1bWVudCBpbiBtZW1vcnkgdG8gYSB0cmVlIGFuZCBmcmVlIGl0PC9zeW5vcHNpcz4KKyAgICA8cHVycG9zZT5EZW1vbnN0cmF0ZSB0aGUgdXNlIG9mIHhtbFJlYWRNZW1vcnkoKSB0byByZWFkIGFuIFhNTCBmaWxlIGludG8gYSB0cmVlIGFuZCBhbmQgeG1sRnJlZURvYygpIHRvIGZyZWUgdGhlIHJlc3VsdGluZyB0cmVlPC9wdXJwb3NlPgorICAgIDx1c2FnZT5wYXJzZTM8L3VzYWdlPgorICAgIDx0ZXN0PnBhcnNlMzwvdGVzdD4KKyAgICA8YXV0aG9yPkRhbmllbCBWZWlsbGFyZDwvYXV0aG9yPgorICAgIDxjb3B5PnNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4gPC9jb3B5PgorICAgIDxzZWN0aW9uPlBhcnNpbmc8L3NlY3Rpb24+CisgICAgPGluY2x1ZGVzPgorICAgICAgPGluY2x1ZGU+Jmx0O2xpYnhtbC90cmVlLmgmZ3Q7PC9pbmNsdWRlPgorICAgICAgPGluY2x1ZGU+Jmx0O2xpYnhtbC9wYXJzZXIuaCZndDs8L2luY2x1ZGU+CisgICAgPC9pbmNsdWRlcz4KKyAgICA8dXNlcz4KKyAgICAgIDxmdW5jdGlvbiBsaW5lPSczMycgZmlsZT0ncGFyc2VyJyBuYW1lPSd4bWxSZWFkTWVtb3J5Jy8+CisgICAgICA8ZnVuY3Rpb24gbGluZT0nNTgnIGZpbGU9J3htbG1lbW9yeScgbmFtZT0neG1sTWVtb3J5RHVtcCcvPgorICAgICAgPGZ1bmN0aW9uIGxpbmU9JzU0JyBmaWxlPSdwYXJzZXInIG5hbWU9J3htbENsZWFudXBQYXJzZXInLz4KKyAgICAgIDxtYWNybyBsaW5lPSc0OScgZmlsZT0neG1sdmVyc2lvbicgbmFtZT0nTElCWE1MX1RFU1RfVkVSU0lPTicvPgorICAgICAgPGZ1bmN0aW9uIGxpbmU9JzM4JyBmaWxlPSd0cmVlJyBuYW1lPSd4bWxGcmVlRG9jJy8+CisgICAgICA8dHlwZWRlZiBsaW5lPScyNycgZmlsZT0ndHJlZScgbmFtZT0neG1sRG9jUHRyJy8+CisgICAgPC91c2VzPgorICA8L2V4YW1wbGU+CisgIDxleGFtcGxlIGZpbGVuYW1lPSdyZWFkZXIyLmMnPgorICAgIDxzeW5vcHNpcz5QYXJzZSBhbmQgdmFsaWRhdGUgYW4gWE1MIGZpbGUgd2l0aCBhbiB4bWxSZWFkZXI8L3N5bm9wc2lzPgorICAgIDxwdXJwb3NlPkRlbW9uc3RyYXRlIHRoZSB1c2Ugb2YgeG1sUmVhZGVyRm9yRmlsZSgpIHRvIHBhcnNlIGFuIFhNTCBmaWxlIHZhbGlkYXRpbmcgdGhlIGNvbnRlbnQgaW4gdGhlIHByb2Nlc3MgYW5kIGFjdGl2YXRpbmcgb3B0aW9ucyBsaWtlIGVudGl0aWVzIHN1YnN0aXR1dGlvbiwgYW5kIERURCBhdHRyaWJ1dGVzIGRlZmF1bHRpbmcuIChOb3RlIHRoYXQgdGhlIFhNTFJlYWRlciBmdW5jdGlvbnMgcmVxdWlyZSBsaWJ4bWwyIHZlcnNpb24gbGF0ZXIgdGhhbiAyLjYuKTwvcHVycG9zZT4KKyAgICA8dXNhZ2U+cmVhZGVyMiAmbHQ7dmFsaWRfeG1sX2ZpbGVuYW1lJmd0OzwvdXNhZ2U+CisgICAgPHRlc3Q+cmVhZGVyMiB0ZXN0Mi54bWwgJmd0OyByZWFkZXIxLnRtcCAmYW1wOyZhbXA7IGRpZmYgcmVhZGVyMS50bXAgJChzcmNkaXIpL3JlYWRlcjEucmVzPC90ZXN0PgorICAgIDxhdXRob3I+RGFuaWVsIFZlaWxsYXJkPC9hdXRob3I+CisgICAgPGNvcHk+c2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLiA8L2NvcHk+CisgICAgPHNlY3Rpb24+eG1sUmVhZGVyPC9zZWN0aW9uPgorICAgIDxpbmNsdWRlcz4KKyAgICAgIDxpbmNsdWRlPiZsdDtsaWJ4bWwveG1scmVhZGVyLmgmZ3Q7PC9pbmNsdWRlPgorICAgIDwvaW5jbHVkZXM+CisgICAgPHVzZXM+CisgICAgICA8ZnVuY3Rpb24gbGluZT0nNDUnIGZpbGU9J3htbHN0cmluZycgbmFtZT0neG1sU3RybGVuJy8+CisgICAgICA8ZnVuY3Rpb24gbGluZT0nMTA5JyBmaWxlPSdwYXJzZXInIG5hbWU9J3htbENsZWFudXBQYXJzZXInLz4KKyAgICAgIDxmdW5jdGlvbiBsaW5lPSczOCcgZmlsZT0neG1scmVhZGVyJyBuYW1lPSd4bWxUZXh0UmVhZGVyTm9kZVR5cGUnLz4KKyAgICAgIDx0eXBlZGVmIGxpbmU9JzYwJyBmaWxlPSd4bWxyZWFkZXInIG5hbWU9J3htbFRleHRSZWFkZXJQdHInLz4KKyAgICAgIDxmdW5jdGlvbiBsaW5lPScxMTMnIGZpbGU9J3htbG1lbW9yeScgbmFtZT0neG1sTWVtb3J5RHVtcCcvPgorICAgICAgPGZ1bmN0aW9uIGxpbmU9JzM0JyBmaWxlPSd4bWxyZWFkZXInIG5hbWU9J3htbFRleHRSZWFkZXJDb25zdFZhbHVlJy8+CisgICAgICA8ZW51bSBsaW5lPSc3MCcgZmlsZT0ncGFyc2VyJyBuYW1lPSdYTUxfUEFSU0VfTk9FTlQnLz4KKyAgICAgIDxmdW5jdGlvbiBsaW5lPSczNycgZmlsZT0neG1scmVhZGVyJyBuYW1lPSd4bWxUZXh0UmVhZGVyRGVwdGgnLz4KKyAgICAgIDxlbnVtIGxpbmU9JzcxJyBmaWxlPSdwYXJzZXInIG5hbWU9J1hNTF9QQVJTRV9EVERWQUxJRCcvPgorICAgICAgPGVudW0gbGluZT0nNjknIGZpbGU9J3BhcnNlcicgbmFtZT0nWE1MX1BBUlNFX0RUREFUVFInLz4KKyAgICAgIDxmdW5jdGlvbiBsaW5lPSc4NCcgZmlsZT0neG1scmVhZGVyJyBuYW1lPSd4bWxGcmVlVGV4dFJlYWRlcicvPgorICAgICAgPG1hY3JvIGxpbmU9JzEwNCcgZmlsZT0neG1sdmVyc2lvbicgbmFtZT0nTElCWE1MX1RFU1RfVkVSU0lPTicvPgorICAgICAgPGZ1bmN0aW9uIGxpbmU9JzMwJyBmaWxlPSd4bWxyZWFkZXInIG5hbWU9J3htbFRleHRSZWFkZXJDb25zdE5hbWUnLz4KKyAgICAgIDxmdW5jdGlvbiBsaW5lPSc0MScgZmlsZT0neG1scmVhZGVyJyBuYW1lPSd4bWxUZXh0UmVhZGVySGFzVmFsdWUnLz4KKyAgICAgIDxmdW5jdGlvbiBsaW5lPSc3NicgZmlsZT0neG1scmVhZGVyJyBuYW1lPSd4bWxUZXh0UmVhZGVyUmVhZCcvPgorICAgICAgPGZ1bmN0aW9uIGxpbmU9JzQwJyBmaWxlPSd4bWxyZWFkZXInIG5hbWU9J3htbFRleHRSZWFkZXJJc0VtcHR5RWxlbWVudCcvPgorICAgICAgPGZ1bmN0aW9uIGxpbmU9JzY4JyBmaWxlPSd4bWxyZWFkZXInIG5hbWU9J3htbFJlYWRlckZvckZpbGUnLz4KKyAgICAgIDxmdW5jdGlvbiBsaW5lPSc4MScgZmlsZT0neG1scmVhZGVyJyBuYW1lPSd4bWxUZXh0UmVhZGVySXNWYWxpZCcvPgorICAgIDwvdXNlcz4KKyAgPC9leGFtcGxlPgorICA8ZXhhbXBsZSBmaWxlbmFtZT0ndHJlZTIuYyc+CisgICAgPHN5bm9wc2lzPkNyZWF0ZXMgYSB0cmVlPC9zeW5vcHNpcz4KKyAgICA8cHVycG9zZT5TaG93cyBob3cgdG8gY3JlYXRlIGRvY3VtZW50LCBub2RlcyBhbmQgZHVtcCBpdCB0byBzdGRvdXQgb3IgZmlsZS48L3B1cnBvc2U+CisgICAgPHVzYWdlPnRyZWUyICZsdDtmaWxlbmFtZSZndDsgIC1EZWZhdWx0IG91dHB1dDogc3Rkb3V0PC91c2FnZT4KKyAgICA8dGVzdD50cmVlMiAmZ3Q7IHRyZWUyLnRtcCAmYW1wOyZhbXA7IGRpZmYgdHJlZTIudG1wICQoc3JjZGlyKS90cmVlMi5yZXM8L3Rlc3Q+CisgICAgPGF1dGhvcj5MdWNhcyBCcmFzaWxpbm8gJmx0O2JyYXNpbGlub0ByZWNpZmUucGUuZ292LmJyJmd0OzwvYXV0aG9yPgorICAgIDxjb3B5PnNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZSA8L2NvcHk+CisgICAgPHNlY3Rpb24+VHJlZTwvc2VjdGlvbj4KKyAgICA8aW5jbHVkZXM+CisgICAgICA8aW5jbHVkZT4mbHQ7bGlieG1sL3RyZWUuaCZndDs8L2luY2x1ZGU+CisgICAgICA8aW5jbHVkZT4mbHQ7bGlieG1sL3BhcnNlci5oJmd0OzwvaW5jbHVkZT4KKyAgICA8L2luY2x1ZGVzPgorICAgIDx1c2VzPgorICAgICAgPGZ1bmN0aW9uIGxpbmU9Jzc1JyBmaWxlPSd0cmVlJyBuYW1lPSd4bWxOZXdUZXh0Jy8+CisgICAgICA8ZnVuY3Rpb24gbGluZT0nMTEwJyBmaWxlPSd4bWxtZW1vcnknIG5hbWU9J3htbE1lbW9yeUR1bXAnLz4KKyAgICAgIDxmdW5jdGlvbiBsaW5lPSc5NicgZmlsZT0ndHJlZScgbmFtZT0neG1sU2F2ZUZvcm1hdEZpbGVFbmMnLz4KKyAgICAgIDxmdW5jdGlvbiBsaW5lPSc3OCcgZmlsZT0ndHJlZScgbmFtZT0neG1sQWRkQ2hpbGQnLz4KKyAgICAgIDxmdW5jdGlvbiBsaW5lPSc0MScgZmlsZT0ndHJlZScgbmFtZT0neG1sRG9jU2V0Um9vdEVsZW1lbnQnLz4KKyAgICAgIDxmdW5jdGlvbiBsaW5lPScxMDUnIGZpbGU9J3BhcnNlcicgbmFtZT0neG1sQ2xlYW51cFBhcnNlcicvPgorICAgICAgPG1hY3JvIGxpbmU9JzM0JyBmaWxlPSd4bWx2ZXJzaW9uJyBuYW1lPSdMSUJYTUxfVEVTVF9WRVJTSU9OJy8+CisgICAgICA8ZnVuY3Rpb24gbGluZT0nODknIGZpbGU9J3RyZWUnIG5hbWU9J3htbE5ld1Byb3AnLz4KKyAgICAgIDxmdW5jdGlvbiBsaW5lPSc4OCcgZmlsZT0ndHJlZScgbmFtZT0neG1sTmV3Q2hpbGQnLz4KKyAgICAgIDxmdW5jdGlvbiBsaW5lPSc3NCcgZmlsZT0ndHJlZScgbmFtZT0neG1sTmV3Tm9kZScvPgorICAgICAgPGZ1bmN0aW9uIGxpbmU9JzQ2JyBmaWxlPSd0cmVlJyBuYW1lPSd4bWxDcmVhdGVJbnRTdWJzZXQnLz4KKyAgICAgIDxmdW5jdGlvbiBsaW5lPSc5OScgZmlsZT0ndHJlZScgbmFtZT0neG1sRnJlZURvYycvPgorICAgICAgPGZ1bmN0aW9uIGxpbmU9JzM5JyBmaWxlPSd0cmVlJyBuYW1lPSd4bWxOZXdEb2MnLz4KKyAgICA8L3VzZXM+CisgIDwvZXhhbXBsZT4KKyAgPGV4YW1wbGUgZmlsZW5hbWU9J2lvMS5jJz4KKyAgICA8c3lub3BzaXM+RXhhbXBsZSBvZiBjdXN0b20gSW5wdXQvT3V0cHV0PC9zeW5vcHNpcz4KKyAgICA8cHVycG9zZT5EZW1vbnN0cmF0ZSB0aGUgdXNlIG9mIHhtbFJlZ2lzdGVySW5wdXRDYWxsYmFja3MgdG8gYnVpbGQgYSBjdXN0b20gSS9PIGxheWVyLCB0aGlzIGlzIHVzZWQgaW4gYW4gWEluY2x1ZGUgbWV0aG9kIGNvbnRleHQgdG8gc2hvdyBob3cgZHluYW1pYyBkb2N1bWVudCBjYW4gYmUgYnVpbHQgaW4gYSBjbGVhbiB3YXkuPC9wdXJwb3NlPgorICAgIDx1c2FnZT5pbzE8L3VzYWdlPgorICAgIDx0ZXN0PmlvMSAmZ3Q7IGlvMS50bXAgJmFtcDsmYW1wOyBkaWZmIGlvMS50bXAgJChzcmNkaXIpL2lvMS5yZXM8L3Rlc3Q+CisgICAgPGF1dGhvcj5EYW5pZWwgVmVpbGxhcmQ8L2F1dGhvcj4KKyAgICA8Y29weT5zZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuIDwvY29weT4KKyAgICA8c2VjdGlvbj5JbnB1dE91dHB1dDwvc2VjdGlvbj4KKyAgICA8aW5jbHVkZXM+CisgICAgICA8aW5jbHVkZT4mbHQ7bGlieG1sL3BhcnNlci5oJmd0OzwvaW5jbHVkZT4KKyAgICAgIDxpbmNsdWRlPiZsdDtsaWJ4bWwveG1sSU8uaCZndDs8L2luY2x1ZGU+CisgICAgICA8aW5jbHVkZT4mbHQ7bGlieG1sL3hpbmNsdWRlLmgmZ3Q7PC9pbmNsdWRlPgorICAgICAgPGluY2x1ZGU+Jmx0O2xpYnhtbC90cmVlLmgmZ3Q7PC9pbmNsdWRlPgorICAgIDwvaW5jbHVkZXM+CisgICAgPHVzZXM+CisgICAgICA8ZnVuY3Rpb24gbGluZT0nMTQzJyBmaWxlPSd0cmVlJyBuYW1lPSd4bWxEb2NEdW1wJy8+CisgICAgICA8ZnVuY3Rpb24gbGluZT0nMTU4JyBmaWxlPSd4bWxtZW1vcnknIG5hbWU9J3htbE1lbW9yeUR1bXAnLz4KKyAgICAgIDxmdW5jdGlvbiBsaW5lPScxNDknIGZpbGU9J3RyZWUnIG5hbWU9J3htbEZyZWVEb2MnLz4KKyAgICAgIDxmdW5jdGlvbiBsaW5lPScxNTQnIGZpbGU9J3BhcnNlcicgbmFtZT0neG1sQ2xlYW51cFBhcnNlcicvPgorICAgICAgPG1hY3JvIGxpbmU9JzExNycgZmlsZT0neG1sdmVyc2lvbicgbmFtZT0nTElCWE1MX1RFU1RfVkVSU0lPTicvPgorICAgICAgPGZ1bmN0aW9uIGxpbmU9JzEzNCcgZmlsZT0neGluY2x1ZGUnIG5hbWU9J3htbFhJbmNsdWRlUHJvY2VzcycvPgorICAgICAgPGZ1bmN0aW9uIGxpbmU9JzExNycgZmlsZT0neG1sSU8nIG5hbWU9J3htbFJlZ2lzdGVySW5wdXRDYWxsYmFja3MnLz4KKyAgICAgIDxmdW5jdGlvbiBsaW5lPScxMjQnIGZpbGU9J3BhcnNlcicgbmFtZT0neG1sUmVhZE1lbW9yeScvPgorICAgICAgPHR5cGVkZWYgbGluZT0nMTA1JyBmaWxlPSd0cmVlJyBuYW1lPSd4bWxEb2NQdHInLz4KKyAgICA8L3VzZXM+CisgIDwvZXhhbXBsZT4KKyAgPGV4YW1wbGUgZmlsZW5hbWU9J3BhcnNlNC5jJz4KKyAgICA8c3lub3BzaXM+UGFyc2UgYW4gWE1MIGRvY3VtZW50IGNodW5rIGJ5IGNodW5rIHRvIGEgdHJlZSBhbmQgZnJlZSBpdDwvc3lub3BzaXM+CisgICAgPHB1cnBvc2U+RGVtb25zdHJhdGUgdGhlIHVzZSBvZiB4bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dCgpIGFuZCB4bWxQYXJzZUNodW5rKCkgdG8gcmVhZCBhbiBYTUwgZmlsZSBwcm9ncmVzc2l2ZWx5IGludG8gYSB0cmVlIGFuZCBhbmQgeG1sRnJlZURvYygpIHRvIGZyZWUgdGhlIHJlc3VsdGluZyB0cmVlPC9wdXJwb3NlPgorICAgIDx1c2FnZT5wYXJzZTQgdGVzdDMueG1sPC91c2FnZT4KKyAgICA8dGVzdD5wYXJzZTQgdGVzdDMueG1sPC90ZXN0PgorICAgIDxhdXRob3I+RGFuaWVsIFZlaWxsYXJkPC9hdXRob3I+CisgICAgPGNvcHk+c2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLiA8L2NvcHk+CisgICAgPHNlY3Rpb24+UGFyc2luZzwvc2VjdGlvbj4KKyAgICA8aW5jbHVkZXM+CisgICAgICA8aW5jbHVkZT4mbHQ7bGlieG1sL3RyZWUuaCZndDs8L2luY2x1ZGU+CisgICAgICA8aW5jbHVkZT4mbHQ7bGlieG1sL3BhcnNlci5oJmd0OzwvaW5jbHVkZT4KKyAgICA8L2luY2x1ZGVzPgorICAgIDx1c2VzPgorICAgICAgPGZ1bmN0aW9uIGxpbmU9Jzk0JyBmaWxlPSdwYXJzZXInIG5hbWU9J3htbEZyZWVQYXJzZXJDdHh0Jy8+CisgICAgICA8ZnVuY3Rpb24gbGluZT0nODYnIGZpbGU9J3BhcnNlcicgbmFtZT0neG1sUGFyc2VDaHVuaycvPgorICAgICAgPGZ1bmN0aW9uIGxpbmU9JzEwMycgZmlsZT0ndHJlZScgbmFtZT0neG1sRnJlZURvYycvPgorICAgICAgPGZ1bmN0aW9uIGxpbmU9JzEzNScgZmlsZT0neG1sbWVtb3J5JyBuYW1lPSd4bWxNZW1vcnlEdW1wJy8+CisgICAgICA8ZnVuY3Rpb24gbGluZT0nNjcnIGZpbGU9J3BhcnNlcicgbmFtZT0neG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQnLz4KKyAgICAgIDxmdW5jdGlvbiBsaW5lPScxMzEnIGZpbGU9J3BhcnNlcicgbmFtZT0neG1sQ2xlYW51cFBhcnNlcicvPgorICAgICAgPG1hY3JvIGxpbmU9JzEyMCcgZmlsZT0neG1sdmVyc2lvbicgbmFtZT0nTElCWE1MX1RFU1RfVkVSU0lPTicvPgorICAgICAgPHR5cGVkZWYgbGluZT0nNDUnIGZpbGU9J3RyZWUnIG5hbWU9J3htbFBhcnNlckN0eHRQdHInLz4KKyAgICAgIDx0eXBlZGVmIGxpbmU9JzQ3JyBmaWxlPSd0cmVlJyBuYW1lPSd4bWxEb2NQdHInLz4KKyAgICA8L3VzZXM+CisgIDwvZXhhbXBsZT4KKyAgPGV4YW1wbGUgZmlsZW5hbWU9J3hwYXRoMi5jJz4KKyAgICA8c3lub3BzaXM+TG9hZCBhIGRvY3VtZW50LCBsb2NhdGUgc3ViZWxlbWVudHMgd2l0aCBYUGF0aCwgbW9kaWZ5IHNhaWQgZWxlbWVudHMgYW5kIHNhdmUgdGhlIHJlc3VsdGluZyBkb2N1bWVudC48L3N5bm9wc2lzPgorICAgIDxwdXJwb3NlPlNob3dzIGhvdyB0byBtYWtlIGEgZnVsbCByb3VuZC10cmlwIGZyb20gYSBsb2FkL2VkaXQvc2F2ZTwvcHVycG9zZT4KKyAgICA8dXNhZ2U+eHBhdGgyICZsdDt4bWwtZmlsZSZndDsgJmx0O3hwYXRoLWV4cHImZ3Q7ICZsdDtuZXctdmFsdWUmZ3Q7PC91c2FnZT4KKyAgICA8dGVzdD54cGF0aDIgdGVzdDMueG1sICZhcG9zOy8vZGlzY2FyZGVkJmFwb3M7IGRpc2NhcmRlZCAmZ3Q7IHhwYXRoMi50bXAgJmFtcDsmYW1wOyBkaWZmIHhwYXRoMi50bXAgJChzcmNkaXIpL3hwYXRoMi5yZXM8L3Rlc3Q+CisgICAgPGF1dGhvcj5BbGVrc2V5IFNhbmluIGFuZCBEYW5pZWwgVmVpbGxhcmQ8L2F1dGhvcj4KKyAgICA8Y29weT5zZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuIDwvY29weT4KKyAgICA8c2VjdGlvbj5YUGF0aDwvc2VjdGlvbj4KKyAgICA8aW5jbHVkZXM+CisgICAgICA8aW5jbHVkZT4mbHQ7bGlieG1sL3BhcnNlci5oJmd0OzwvaW5jbHVkZT4KKyAgICAgIDxpbmNsdWRlPiZsdDtsaWJ4bWwveHBhdGguaCZndDs8L2luY2x1ZGU+CisgICAgICA8aW5jbHVkZT4mbHQ7bGlieG1sL3hwYXRoSW50ZXJuYWxzLmgmZ3Q7PC9pbmNsdWRlPgorICAgICAgPGluY2x1ZGU+Jmx0O2xpYnhtbC90cmVlLmgmZ3Q7PC9pbmNsdWRlPgorICAgIDwvaW5jbHVkZXM+CisgICAgPHVzZXM+CisgICAgICA8ZnVuY3Rpb24gbGluZT0nMTYyJyBmaWxlPSd0cmVlJyBuYW1lPSd4bWxOb2RlU2V0Q29udGVudCcvPgorICAgICAgPGZ1bmN0aW9uIGxpbmU9JzEyNycgZmlsZT0ndHJlZScgbmFtZT0neG1sRG9jRHVtcCcvPgorICAgICAgPHR5cGVkZWYgbGluZT0nODgnIGZpbGU9J3hwYXRoJyBuYW1lPSd4bWxYUGF0aE9iamVjdFB0cicvPgorICAgICAgPGZ1bmN0aW9uIGxpbmU9JzExMCcgZmlsZT0neHBhdGgnIG5hbWU9J3htbFhQYXRoRXZhbEV4cHJlc3Npb24nLz4KKyAgICAgIDxmdW5jdGlvbiBsaW5lPSc5NScgZmlsZT0ncGFyc2VyJyBuYW1lPSd4bWxQYXJzZUZpbGUnLz4KKyAgICAgIDxmdW5jdGlvbiBsaW5lPScxMjMnIGZpbGU9J3hwYXRoJyBuYW1lPSd4bWxYUGF0aEZyZWVPYmplY3QnLz4KKyAgICAgIDxmdW5jdGlvbiBsaW5lPScxMDInIGZpbGU9J3hwYXRoJyBuYW1lPSd4bWxYUGF0aE5ld0NvbnRleHQnLz4KKyAgICAgIDx0eXBlZGVmIGxpbmU9Jzg3JyBmaWxlPSd4cGF0aCcgbmFtZT0neG1sWFBhdGhDb250ZXh0UHRyJy8+CisgICAgICA8ZnVuY3Rpb24gbGluZT0nMTI0JyBmaWxlPSd4cGF0aCcgbmFtZT0neG1sWFBhdGhGcmVlQ29udGV4dCcvPgorICAgICAgPGZ1bmN0aW9uIGxpbmU9JzQxJyBmaWxlPSdwYXJzZXInIG5hbWU9J3htbEluaXRQYXJzZXInLz4KKyAgICAgIDxmdW5jdGlvbiBsaW5lPScxMzEnIGZpbGU9J3RyZWUnIG5hbWU9J3htbEZyZWVEb2MnLz4KKyAgICAgIDxlbnVtIGxpbmU9JzE4MCcgZmlsZT0ndHJlZScgbmFtZT0nWE1MX05BTUVTUEFDRV9ERUNMJy8+CisgICAgICA8dHlwZWRlZiBsaW5lPSc4NicgZmlsZT0ndHJlZScgbmFtZT0neG1sRG9jUHRyJy8+CisgICAgPC91c2VzPgorICA8L2V4YW1wbGU+CisgIDxleGFtcGxlIGZpbGVuYW1lPSdpbzIuYyc+CisgICAgPHN5bm9wc2lzPk91dHB1dCB0byBjaGFyIGJ1ZmZlcjwvc3lub3BzaXM+CisgICAgPHB1cnBvc2U+RGVtb25zdHJhdGUgdGhlIHVzZSBvZiB4bWxEb2NEdW1wTWVtb3J5IHRvIG91dHB1dCBkb2N1bWVudCB0byBhIGNoYXJhY3RlciBidWZmZXI8L3B1cnBvc2U+CisgICAgPHVzYWdlPmlvMjwvdXNhZ2U+CisgICAgPHRlc3Q+aW8yICZndDsgaW8yLnRtcCAmYW1wOyZhbXA7IGRpZmYgaW8yLnRtcCAkKHNyY2RpcikvaW8yLnJlczwvdGVzdD4KKyAgICA8YXV0aG9yPkpvaG4gRmxlY2s8L2F1dGhvcj4KKyAgICA8Y29weT5zZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuIDwvY29weT4KKyAgICA8c2VjdGlvbj5JbnB1dE91dHB1dDwvc2VjdGlvbj4KKyAgICA8aW5jbHVkZXM+CisgICAgICA8aW5jbHVkZT4mbHQ7bGlieG1sL3BhcnNlci5oJmd0OzwvaW5jbHVkZT4KKyAgICA8L2luY2x1ZGVzPgorICAgIDx1c2VzPgorICAgICAgPGZ1bmN0aW9uIGxpbmU9JzI5JyBmaWxlPSd0cmVlJyBuYW1lPSd4bWxOb2RlU2V0Q29udGVudCcvPgorICAgICAgPGZ1bmN0aW9uIGxpbmU9JzM2JyBmaWxlPSd0cmVlJyBuYW1lPSd4bWxEb2NEdW1wRm9ybWF0TWVtb3J5Jy8+CisgICAgICA8dmFyaWFibGUgbGluZT0nNDInIGZpbGU9J2dsb2JhbHMnIG5hbWU9J3htbEZyZWUnLz4KKyAgICAgIDxmdW5jdGlvbiBsaW5lPSczMCcgZmlsZT0ndHJlZScgbmFtZT0neG1sRG9jU2V0Um9vdEVsZW1lbnQnLz4KKyAgICAgIDx0eXBlZGVmIGxpbmU9JzIwJyBmaWxlPSd0cmVlJyBuYW1lPSd4bWxEb2NQdHInLz4KKyAgICAgIDx0eXBlZGVmIGxpbmU9JzE5JyBmaWxlPSd0cmVlJyBuYW1lPSd4bWxOb2RlUHRyJy8+CisgICAgICA8ZnVuY3Rpb24gbGluZT0nMjcnIGZpbGU9J3RyZWUnIG5hbWU9J3htbE5ld0RvYycvPgorICAgICAgPGZ1bmN0aW9uIGxpbmU9JzI4JyBmaWxlPSd0cmVlJyBuYW1lPSd4bWxOZXdOb2RlJy8+CisgICAgPC91c2VzPgorICA8L2V4YW1wbGU+CisgIDxleGFtcGxlIGZpbGVuYW1lPSdyZWFkZXIxLmMnPgorICAgIDxzeW5vcHNpcz5QYXJzZSBhbiBYTUwgZmlsZSB3aXRoIGFuIHhtbFJlYWRlcjwvc3lub3BzaXM+CisgICAgPHB1cnBvc2U+RGVtb25zdHJhdGUgdGhlIHVzZSBvZiB4bWxSZWFkZXJGb3JGaWxlKCkgdG8gcGFyc2UgYW4gWE1MIGZpbGUgYW5kIGR1bXAgdGhlIGluZm9ybWF0aW9ucyBhYm91dCB0aGUgbm9kZXMgZm91bmQgaW4gdGhlIHByb2Nlc3MuIChOb3RlIHRoYXQgdGhlIFhNTFJlYWRlciBmdW5jdGlvbnMgcmVxdWlyZSBsaWJ4bWwyIHZlcnNpb24gbGF0ZXIgdGhhbiAyLjYuKTwvcHVycG9zZT4KKyAgICA8dXNhZ2U+cmVhZGVyMSAmbHQ7ZmlsZW5hbWUmZ3Q7PC91c2FnZT4KKyAgICA8dGVzdD5yZWFkZXIxIHRlc3QyLnhtbCAmZ3Q7IHJlYWRlcjEudG1wICZhbXA7JmFtcDsgZGlmZiByZWFkZXIxLnRtcCAkKHNyY2RpcikvcmVhZGVyMS5yZXM8L3Rlc3Q+CisgICAgPGF1dGhvcj5EYW5pZWwgVmVpbGxhcmQ8L2F1dGhvcj4KKyAgICA8Y29weT5zZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuIDwvY29weT4KKyAgICA8c2VjdGlvbj54bWxSZWFkZXI8L3NlY3Rpb24+CisgICAgPGluY2x1ZGVzPgorICAgICAgPGluY2x1ZGU+Jmx0O2xpYnhtbC94bWxyZWFkZXIuaCZndDs8L2luY2x1ZGU+CisgICAgPC9pbmNsdWRlcz4KKyAgICA8dXNlcz4KKyAgICAgIDxmdW5jdGlvbiBsaW5lPSc0NCcgZmlsZT0neG1sc3RyaW5nJyBuYW1lPSd4bWxTdHJsZW4nLz4KKyAgICAgIDxmdW5jdGlvbiBsaW5lPSczNycgZmlsZT0neG1scmVhZGVyJyBuYW1lPSd4bWxUZXh0UmVhZGVyTm9kZVR5cGUnLz4KKyAgICAgIDx0eXBlZGVmIGxpbmU9JzU5JyBmaWxlPSd4bWxyZWFkZXInIG5hbWU9J3htbFRleHRSZWFkZXJQdHInLz4KKyAgICAgIDxmdW5jdGlvbiBsaW5lPSczMycgZmlsZT0neG1scmVhZGVyJyBuYW1lPSd4bWxUZXh0UmVhZGVyQ29uc3RWYWx1ZScvPgorICAgICAgPGZ1bmN0aW9uIGxpbmU9JzM2JyBmaWxlPSd4bWxyZWFkZXInIG5hbWU9J3htbFRleHRSZWFkZXJEZXB0aCcvPgorICAgICAgPGZ1bmN0aW9uIGxpbmU9JzY5JyBmaWxlPSd4bWxyZWFkZXInIG5hbWU9J3htbEZyZWVUZXh0UmVhZGVyJy8+CisgICAgICA8ZnVuY3Rpb24gbGluZT0nMjknIGZpbGU9J3htbHJlYWRlcicgbmFtZT0neG1sVGV4dFJlYWRlckNvbnN0TmFtZScvPgorICAgICAgPGZ1bmN0aW9uIGxpbmU9JzQwJyBmaWxlPSd4bWxyZWFkZXInIG5hbWU9J3htbFRleHRSZWFkZXJIYXNWYWx1ZScvPgorICAgICAgPGZ1bmN0aW9uIGxpbmU9JzY3JyBmaWxlPSd4bWxyZWFkZXInIG5hbWU9J3htbFRleHRSZWFkZXJSZWFkJy8+CisgICAgICA8ZnVuY3Rpb24gbGluZT0nMzknIGZpbGU9J3htbHJlYWRlcicgbmFtZT0neG1sVGV4dFJlYWRlcklzRW1wdHlFbGVtZW50Jy8+CisgICAgICA8ZnVuY3Rpb24gbGluZT0nNjInIGZpbGU9J3htbHJlYWRlcicgbmFtZT0neG1sUmVhZGVyRm9yRmlsZScvPgorICAgIDwvdXNlcz4KKyAgPC9leGFtcGxlPgorICA8ZXhhbXBsZSBmaWxlbmFtZT0ndHJlZTEuYyc+CisgICAgPHN5bm9wc2lzPk5hdmlnYXRlcyBhIHRyZWUgdG8gcHJpbnQgZWxlbWVudCBuYW1lczwvc3lub3BzaXM+CisgICAgPHB1cnBvc2U+UGFyc2UgYSBmaWxlIHRvIGEgdHJlZSwgdXNlIHhtbERvY0dldFJvb3RFbGVtZW50KCkgdG8gZ2V0IHRoZSByb290IGVsZW1lbnQsIHRoZW4gd2FsayB0aGUgZG9jdW1lbnQgYW5kIHByaW50IGFsbCB0aGUgZWxlbWVudCBuYW1lIGluIGRvY3VtZW50IG9yZGVyLjwvcHVycG9zZT4KKyAgICA8dXNhZ2U+dHJlZTEgZmlsZW5hbWVfb3JfVVJMPC91c2FnZT4KKyAgICA8dGVzdD50cmVlMSB0ZXN0Mi54bWwgJmd0OyB0cmVlMS50bXAgJmFtcDsmYW1wOyBkaWZmIHRyZWUxLnRtcCAkKHNyY2RpcikvdHJlZTEucmVzPC90ZXN0PgorICAgIDxhdXRob3I+RG9kamkgU2VrZXRlbGk8L2F1dGhvcj4KKyAgICA8Y29weT5zZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuIDwvY29weT4KKyAgICA8c2VjdGlvbj5UcmVlPC9zZWN0aW9uPgorICAgIDxpbmNsdWRlcz4KKyAgICAgIDxpbmNsdWRlPiZsdDtsaWJ4bWwvdHJlZS5oJmd0OzwvaW5jbHVkZT4KKyAgICAgIDxpbmNsdWRlPiZsdDtsaWJ4bWwvcGFyc2VyLmgmZ3Q7PC9pbmNsdWRlPgorICAgIDwvaW5jbHVkZXM+CisgICAgPHVzZXM+CisgICAgICA8ZW51bSBsaW5lPSczNicgZmlsZT0ndHJlZScgbmFtZT0nWE1MX0VMRU1FTlRfTk9ERScvPgorICAgICAgPGZ1bmN0aW9uIGxpbmU9Jzc0JyBmaWxlPSd0cmVlJyBuYW1lPSd4bWxEb2NHZXRSb290RWxlbWVudCcvPgorICAgICAgPGZ1bmN0aW9uIGxpbmU9JzY3JyBmaWxlPSdwYXJzZXInIG5hbWU9J3htbFJlYWRGaWxlJy8+CisgICAgPC91c2VzPgorICA8L2V4YW1wbGU+CisgIDxleGFtcGxlIGZpbGVuYW1lPSdyZWFkZXIzLmMnPgorICAgIDxzeW5vcHNpcz5TaG93IGhvdyB0byBleHRyYWN0IHN1YmRvY3VtZW50cyB3aXRoIHhtbFJlYWRlcjwvc3lub3BzaXM+CisgICAgPHB1cnBvc2U+RGVtb25zdHJhdGUgdGhlIHVzZSBvZiB4bWxUZXh0UmVhZGVyUHJlc2VydmVQYXR0ZXJuKCkgdG8gcGFyc2UgYW4gWE1MIGZpbGUgd2l0aCB0aGUgeG1sUmVhZGVyIHdoaWxlIGNvbGxlY3Rpbmcgb25seSBzb21lIHN1YnBhcnRzIG9mIHRoZSBkb2N1bWVudC4gKE5vdGUgdGhhdCB0aGUgWE1MUmVhZGVyIGZ1bmN0aW9ucyByZXF1aXJlIGxpYnhtbDIgdmVyc2lvbiBsYXRlciB0aGFuIDIuNi4pPC9wdXJwb3NlPgorICAgIDx1c2FnZT5yZWFkZXIzPC91c2FnZT4KKyAgICA8dGVzdD5yZWFkZXIzICZndDsgcmVhZGVyMy50bXAgJmFtcDsmYW1wOyBkaWZmIHJlYWRlcjMudG1wICQoc3JjZGlyKS9yZWFkZXIzLnJlczwvdGVzdD4KKyAgICA8YXV0aG9yPkRhbmllbCBWZWlsbGFyZDwvYXV0aG9yPgorICAgIDxjb3B5PnNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4gPC9jb3B5PgorICAgIDxzZWN0aW9uPnhtbFJlYWRlcjwvc2VjdGlvbj4KKyAgICA8aW5jbHVkZXM+CisgICAgICA8aW5jbHVkZT4mbHQ7bGlieG1sL3htbHJlYWRlci5oJmd0OzwvaW5jbHVkZT4KKyAgICA8L2luY2x1ZGVzPgorICAgIDx1c2VzPgorICAgICAgPHR5cGVkZWYgbGluZT0nMzInIGZpbGU9J3htbHJlYWRlcicgbmFtZT0neG1sVGV4dFJlYWRlclB0cicvPgorICAgICAgPGZ1bmN0aW9uIGxpbmU9JzY2JyBmaWxlPSd4bWxyZWFkZXInIG5hbWU9J3htbEZyZWVUZXh0UmVhZGVyJy8+CisgICAgICA8ZnVuY3Rpb24gbGluZT0nOTYnIGZpbGU9J3RyZWUnIG5hbWU9J3htbERvY0R1bXAnLz4KKyAgICAgIDxmdW5jdGlvbiBsaW5lPSc1MicgZmlsZT0neG1scmVhZGVyJyBuYW1lPSd4bWxUZXh0UmVhZGVyUmVhZCcvPgorICAgICAgPGZ1bmN0aW9uIGxpbmU9JzYyJyBmaWxlPSd4bWxyZWFkZXInIG5hbWU9J3htbFRleHRSZWFkZXJDdXJyZW50RG9jJy8+CisgICAgICA8ZnVuY3Rpb24gbGluZT0nNDMnIGZpbGU9J3htbHJlYWRlcicgbmFtZT0neG1sVGV4dFJlYWRlclByZXNlcnZlUGF0dGVybicvPgorICAgICAgPGZ1bmN0aW9uIGxpbmU9JzM4JyBmaWxlPSd4bWxyZWFkZXInIG5hbWU9J3htbFJlYWRlckZvckZpbGUnLz4KKyAgICA8L3VzZXM+CisgIDwvZXhhbXBsZT4KKyAgPGV4YW1wbGUgZmlsZW5hbWU9J3BhcnNlMi5jJz4KKyAgICA8c3lub3BzaXM+UGFyc2UgYW5kIHZhbGlkYXRlIGFuIFhNTCBmaWxlIHRvIGEgdHJlZSBhbmQgZnJlZSB0aGUgcmVzdWx0PC9zeW5vcHNpcz4KKyAgICA8cHVycG9zZT5DcmVhdGUgYSBwYXJzZXIgY29udGV4dCBmb3IgYW4gWE1MIGZpbGUsIHRoZW4gcGFyc2UgYW5kIHZhbGlkYXRlIHRoZSBmaWxlLCBjcmVhdGluZyBhIHRyZWUsIGNoZWNrIHRoZSB2YWxpZGF0aW9uIHJlc3VsdCBhbmQgeG1sRnJlZURvYygpIHRvIGZyZWUgdGhlIHJlc3VsdGluZyB0cmVlLjwvcHVycG9zZT4KKyAgICA8dXNhZ2U+cGFyc2UyIHRlc3QyLnhtbDwvdXNhZ2U+CisgICAgPHRlc3Q+cGFyc2UyIHRlc3QyLnhtbDwvdGVzdD4KKyAgICA8YXV0aG9yPkRhbmllbCBWZWlsbGFyZDwvYXV0aG9yPgorICAgIDxjb3B5PnNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4gPC9jb3B5PgorICAgIDxzZWN0aW9uPlBhcnNpbmc8L3NlY3Rpb24+CisgICAgPGluY2x1ZGVzPgorICAgICAgPGluY2x1ZGU+Jmx0O2xpYnhtbC90cmVlLmgmZ3Q7PC9pbmNsdWRlPgorICAgICAgPGluY2x1ZGU+Jmx0O2xpYnhtbC9wYXJzZXIuaCZndDs8L2luY2x1ZGU+CisgICAgPC9pbmNsdWRlcz4KKyAgICA8dXNlcz4KKyAgICAgIDxmdW5jdGlvbiBsaW5lPSc0NycgZmlsZT0ncGFyc2VyJyBuYW1lPSd4bWxGcmVlUGFyc2VyQ3R4dCcvPgorICAgICAgPGVudW0gbGluZT0nMzUnIGZpbGU9J3BhcnNlcicgbmFtZT0nWE1MX1BBUlNFX0RURFZBTElEJy8+CisgICAgICA8ZnVuY3Rpb24gbGluZT0nMjknIGZpbGU9J3BhcnNlcicgbmFtZT0neG1sTmV3UGFyc2VyQ3R4dCcvPgorICAgICAgPHR5cGVkZWYgbGluZT0nMjUnIGZpbGU9J3RyZWUnIG5hbWU9J3htbFBhcnNlckN0eHRQdHInLz4KKyAgICAgIDxmdW5jdGlvbiBsaW5lPSczNScgZmlsZT0ncGFyc2VyJyBuYW1lPSd4bWxDdHh0UmVhZEZpbGUnLz4KKyAgICA8L3VzZXM+CisgIDwvZXhhbXBsZT4KKyAgPGV4YW1wbGUgZmlsZW5hbWU9J3BhcnNlMS5jJz4KKyAgICA8c3lub3BzaXM+UGFyc2UgYW4gWE1MIGZpbGUgdG8gYSB0cmVlIGFuZCBmcmVlIGl0PC9zeW5vcHNpcz4KKyAgICA8cHVycG9zZT5EZW1vbnN0cmF0ZSB0aGUgdXNlIG9mIHhtbFJlYWRGaWxlKCkgdG8gcmVhZCBhbiBYTUwgZmlsZSBpbnRvIGEgdHJlZSBhbmQgYW5kIHhtbEZyZWVEb2MoKSB0byBmcmVlIHRoZSByZXN1bHRpbmcgdHJlZTwvcHVycG9zZT4KKyAgICA8dXNhZ2U+cGFyc2UxIHRlc3QxLnhtbDwvdXNhZ2U+CisgICAgPHRlc3Q+cGFyc2UxIHRlc3QxLnhtbDwvdGVzdD4KKyAgICA8YXV0aG9yPkRhbmllbCBWZWlsbGFyZDwvYXV0aG9yPgorICAgIDxjb3B5PnNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4gPC9jb3B5PgorICAgIDxzZWN0aW9uPlBhcnNpbmc8L3NlY3Rpb24+CisgICAgPGluY2x1ZGVzPgorICAgICAgPGluY2x1ZGU+Jmx0O2xpYnhtbC90cmVlLmgmZ3Q7PC9pbmNsdWRlPgorICAgICAgPGluY2x1ZGU+Jmx0O2xpYnhtbC9wYXJzZXIuaCZndDs8L2luY2x1ZGU+CisgICAgPC9pbmNsdWRlcz4KKyAgICA8dXNlcz4KKyAgICAgIDxmdW5jdGlvbiBsaW5lPScyNicgZmlsZT0ncGFyc2VyJyBuYW1lPSd4bWxSZWFkRmlsZScvPgorICAgIDwvdXNlcz4KKyAgPC9leGFtcGxlPgorICA8ZXhhbXBsZSBmaWxlbmFtZT0ncmVhZGVyNC5jJz4KKyAgICA8c3lub3BzaXM+UGFyc2UgbXVsdGlwbGUgWE1MIGZpbGVzIHJldXNpbmcgYW4geG1sUmVhZGVyPC9zeW5vcHNpcz4KKyAgICA8cHVycG9zZT5EZW1vbnN0cmF0ZSB0aGUgdXNlIG9mIHhtbFJlYWRlckZvckZpbGUoKSBhbmQgeG1sUmVhZGVyTmV3RmlsZSB0byBwYXJzZSBYTUwgZmlsZXMgd2hpbGUgcmV1c2luZyB0aGUgcmVhZGVyIG9iamVjdCBhbmQgcGFyc2VyIGNvbnRleHQuICAoTm90ZSB0aGF0IHRoZSBYTUxSZWFkZXIgZnVuY3Rpb25zIHJlcXVpcmUgbGlieG1sMiB2ZXJzaW9uIGxhdGVyIHRoYW4gMi42Lik8L3B1cnBvc2U+CisgICAgPHVzYWdlPnJlYWRlcjQgJmx0O2ZpbGVuYW1lJmd0OyBbIGZpbGVuYW1lIC4uLiBdPC91c2FnZT4KKyAgICA8dGVzdD5yZWFkZXI0IHRlc3QxLnhtbCB0ZXN0Mi54bWwgdGVzdDMueG1sICZndDsgcmVhZGVyNC50bXAgJmFtcDsmYW1wOyBkaWZmIHJlYWRlcjQudG1wICQoc3JjZGlyKS9yZWFkZXI0LnJlczwvdGVzdD4KKyAgICA8YXV0aG9yPkdyYWhhbSBCZW5uZXR0PC9hdXRob3I+CisgICAgPGNvcHk+c2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLiA8L2NvcHk+CisgICAgPHNlY3Rpb24+eG1sUmVhZGVyPC9zZWN0aW9uPgorICAgIDxpbmNsdWRlcz4KKyAgICAgIDxpbmNsdWRlPiZsdDtsaWJ4bWwveG1scmVhZGVyLmgmZ3Q7PC9pbmNsdWRlPgorICAgIDwvaW5jbHVkZXM+CisgICAgPHVzZXM+CisgICAgICA8dHlwZWRlZiBsaW5lPSc1NCcgZmlsZT0neG1scmVhZGVyJyBuYW1lPSd4bWxUZXh0UmVhZGVyUHRyJy8+CisgICAgICA8ZnVuY3Rpb24gbGluZT0nODMnIGZpbGU9J3htbHJlYWRlcicgbmFtZT0neG1sUmVhZGVyTmV3RmlsZScvPgorICAgICAgPGZ1bmN0aW9uIGxpbmU9JzEwNCcgZmlsZT0neG1scmVhZGVyJyBuYW1lPSd4bWxGcmVlVGV4dFJlYWRlcicvPgorICAgICAgPGZ1bmN0aW9uIGxpbmU9JzI2JyBmaWxlPSd4bWxyZWFkZXInIG5hbWU9J3htbFRleHRSZWFkZXJSZWFkJy8+CisgICAgICA8ZnVuY3Rpb24gbGluZT0nOTcnIGZpbGU9J3htbHJlYWRlcicgbmFtZT0neG1sVGV4dFJlYWRlckN1cnJlbnREb2MnLz4KKyAgICAgIDxmdW5jdGlvbiBsaW5lPSc3MicgZmlsZT0neG1scmVhZGVyJyBuYW1lPSd4bWxSZWFkZXJGb3JGaWxlJy8+CisgICAgPC91c2VzPgorICA8L2V4YW1wbGU+CisgIDxleGFtcGxlIGZpbGVuYW1lPSd0ZXN0V3JpdGVyLmMnPgorICAgIDxzeW5vcHNpcz51c2UgdmFyaW91cyBBUElzIGZvciB0aGUgeG1sV3JpdGVyPC9zeW5vcHNpcz4KKyAgICA8cHVycG9zZT50ZXN0cyBhIG51bWJlciBvZiBBUElzIGZvciB0aGUgeG1sV3JpdGVyLCBlc3BlY2lhbGx5IHRoZSB2YXJpb3VzIG1ldGhvZHMgdG8gd3JpdGUgdG8gYSBmaWxlbmFtZSwgdG8gYSBtZW1vcnkgYnVmZmVyLCB0byBhIG5ldyBkb2N1bWVudCwgb3IgdG8gYSBzdWJ0cmVlLiBJdCBzaG93cyBob3cgdG8gZG8gZW5jb2Rpbmcgc3RyaW5nIGNvbnZlcnNpb25zIHRvby4gVGhlIHJlc3VsdGluZyBkb2N1bWVudHMgYXJlIHRoZW4gc2VyaWFsaXplZC48L3B1cnBvc2U+CisgICAgPHVzYWdlPnRlc3RXcml0ZXI8L3VzYWdlPgorICAgIDx0ZXN0PnRlc3RXcml0ZXIgJmFtcDsmYW1wOyBmb3IgaSBpbiAxIDIgMyA0IDsgZG8gZGlmZiAkKHNyY2Rpcikvd3JpdGVyLnhtbCB3cml0ZXIkJGkudG1wIHx8IGJyZWFrIDsgZG9uZTwvdGVzdD4KKyAgICA8YXV0aG9yPkFsZnJlZCBNaWNrYXV0c2NoPC9hdXRob3I+CisgICAgPGNvcHk+c2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLiA8L2NvcHk+CisgICAgPHNlY3Rpb24+eG1sV3JpdGVyPC9zZWN0aW9uPgorICAgIDxpbmNsdWRlcz4KKyAgICAgIDxpbmNsdWRlPiZsdDtsaWJ4bWwvZW5jb2RpbmcuaCZndDs8L2luY2x1ZGU+CisgICAgICA8aW5jbHVkZT4mbHQ7bGlieG1sL3htbHdyaXRlci5oJmd0OzwvaW5jbHVkZT4KKyAgICA8L2luY2x1ZGVzPgorICAgIDx1c2VzPgorICAgICAgPGZ1bmN0aW9uIGxpbmU9JzkxMycgZmlsZT0neG1sd3JpdGVyJyBuYW1lPSd4bWxUZXh0V3JpdGVyU3RhcnREb2N1bWVudCcvPgorICAgICAgPGZ1bmN0aW9uIGxpbmU9JzExMjEnIGZpbGU9J3htbHdyaXRlcicgbmFtZT0neG1sVGV4dFdyaXRlckVuZERvY3VtZW50Jy8+CisgICAgICA8dmFyaWFibGUgbGluZT0nMTE4MycgZmlsZT0nZ2xvYmFscycgbmFtZT0neG1sUmVhbGxvYycvPgorICAgICAgPGZ1bmN0aW9uIGxpbmU9JzkyNScgZmlsZT0neG1sd3JpdGVyJyBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVDb21tZW50Jy8+CisgICAgICA8ZnVuY3Rpb24gbGluZT0nMTE1NicgZmlsZT0nZW5jb2RpbmcnIG5hbWU9J3htbEZpbmRDaGFyRW5jb2RpbmdIYW5kbGVyJy8+CisgICAgICA8dmFyaWFibGUgbGluZT0nMTE2NicgZmlsZT0nZ2xvYmFscycgbmFtZT0neG1sTWFsbG9jJy8+CisgICAgICA8dHlwZWRlZiBsaW5lPSczNDEnIGZpbGU9J3RyZWUnIG5hbWU9J3htbEJ1ZmZlclB0cicvPgorICAgICAgPG1hY3JvIGxpbmU9Jzg4NScgZmlsZT0ncGFyc2VyJyBuYW1lPSdYTUxfREVGQVVMVF9WRVJTSU9OJy8+CisgICAgICA8ZnVuY3Rpb24gbGluZT0nOTAxJyBmaWxlPSd0cmVlJyBuYW1lPSd4bWxEb2NTZXRSb290RWxlbWVudCcvPgorICAgICAgPGZ1bmN0aW9uIGxpbmU9JzExMjcnIGZpbGU9J3htbHdyaXRlcicgbmFtZT0neG1sRnJlZVRleHRXcml0ZXInLz4KKyAgICAgIDxmdW5jdGlvbiBsaW5lPScxMDk2JyBmaWxlPSd4bWx3cml0ZXInIG5hbWU9J3htbFRleHRXcml0ZXJTdGFydEVsZW1lbnQnLz4KKyAgICAgIDxmdW5jdGlvbiBsaW5lPSczNDcnIGZpbGU9J3RyZWUnIG5hbWU9J3htbEJ1ZmZlckNyZWF0ZScvPgorICAgICAgPGZ1bmN0aW9uIGxpbmU9JzExMTEnIGZpbGU9J3htbHdyaXRlcicgbmFtZT0neG1sVGV4dFdyaXRlckVuZEVsZW1lbnQnLz4KKyAgICAgIDxmdW5jdGlvbiBsaW5lPSc3NicgZmlsZT0neG1sd3JpdGVyJyBuYW1lPSd4bWxOZXdUZXh0V3JpdGVyRmlsZW5hbWUnLz4KKyAgICAgIDxmdW5jdGlvbiBsaW5lPSc5NTknIGZpbGU9J3htbHdyaXRlcicgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0Q29tbWVudCcvPgorICAgICAgPGZ1bmN0aW9uIGxpbmU9JzEwNzMnIGZpbGU9J3htbHdyaXRlcicgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RWxlbWVudCcvPgorICAgICAgPHR5cGVkZWYgbGluZT0nMTE1MScgZmlsZT0nZW5jb2RpbmcnIG5hbWU9J3htbENoYXJFbmNvZGluZ0hhbmRsZXJQdHInLz4KKyAgICAgIDx0eXBlZGVmIGxpbmU9Jzg4MCcgZmlsZT0ndHJlZScgbmFtZT0neG1sTm9kZVB0cicvPgorICAgICAgPGZ1bmN0aW9uIGxpbmU9Jzk0OScgZmlsZT0neG1sd3JpdGVyJyBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVBdHRyaWJ1dGUnLz4KKyAgICAgIDxmdW5jdGlvbiBsaW5lPSc2MzInIGZpbGU9J3htbHdyaXRlcicgbmFtZT0neG1sTmV3VGV4dFdyaXRlckRvYycvPgorICAgICAgPGZ1bmN0aW9uIGxpbmU9Jzg5NCcgZmlsZT0ndHJlZScgbmFtZT0neG1sTmV3RG9jTm9kZScvPgorICAgICAgPGZ1bmN0aW9uIGxpbmU9JzExMjknIGZpbGU9J3RyZWUnIG5hbWU9J3htbFNhdmVGaWxlRW5jJy8+CisgICAgICA8ZnVuY3Rpb24gbGluZT0nOTA0JyBmaWxlPSd4bWx3cml0ZXInIG5hbWU9J3htbE5ld1RleHRXcml0ZXJUcmVlJy8+CisgICAgICA8ZnVuY3Rpb24gbGluZT0nMzU1JyBmaWxlPSd4bWx3cml0ZXInIG5hbWU9J3htbE5ld1RleHRXcml0ZXJNZW1vcnknLz4KKyAgICAgIDx2YXJpYWJsZSBsaW5lPScxMTgwJyBmaWxlPSdnbG9iYWxzJyBuYW1lPSd4bWxGcmVlJy8+CisgICAgICA8ZnVuY3Rpb24gbGluZT0nNjEzJyBmaWxlPSd0cmVlJyBuYW1lPSd4bWxCdWZmZXJGcmVlJy8+CisgICAgICA8dHlwZWRlZiBsaW5lPSc4NzgnIGZpbGU9J3htbHdyaXRlcicgbmFtZT0neG1sVGV4dFdyaXRlclB0cicvPgorICAgICAgPGZ1bmN0aW9uIGxpbmU9JzExMDMnIGZpbGU9J3htbHdyaXRlcicgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRWxlbWVudCcvPgorICAgICAgPGZ1bmN0aW9uIGxpbmU9Jzg4NScgZmlsZT0ndHJlZScgbmFtZT0neG1sTmV3RG9jJy8+CisgICAgPC91c2VzPgorICA8L2V4YW1wbGU+CisgIDxzeW1ib2xzPgorICAgIDxzeW1ib2wgbmFtZT0nTElCWE1MX1RFU1RfVkVSU0lPTic+CisgICAgICA8cmVmIGZpbGVuYW1lPSd4cGF0aDEuYycvPgorICAgICAgPHJlZiBmaWxlbmFtZT0ncGFyc2UzLmMnLz4KKyAgICAgIDxyZWYgZmlsZW5hbWU9J3JlYWRlcjIuYycvPgorICAgICAgPHJlZiBmaWxlbmFtZT0ndHJlZTIuYycvPgorICAgICAgPHJlZiBmaWxlbmFtZT0naW8xLmMnLz4KKyAgICAgIDxyZWYgZmlsZW5hbWU9J3BhcnNlNC5jJy8+CisgICAgPC9zeW1ib2w+CisgICAgPHN5bWJvbCBuYW1lPSdYTUxfREVGQVVMVF9WRVJTSU9OJz4KKyAgICAgIDxyZWYgZmlsZW5hbWU9J3Rlc3RXcml0ZXIuYycvPgorICAgIDwvc3ltYm9sPgorICAgIDxzeW1ib2wgbmFtZT0nWE1MX0VMRU1FTlRfTk9ERSc+CisgICAgICA8cmVmIGZpbGVuYW1lPSd4cGF0aDEuYycvPgorICAgICAgPHJlZiBmaWxlbmFtZT0ndHJlZTEuYycvPgorICAgIDwvc3ltYm9sPgorICAgIDxzeW1ib2wgbmFtZT0nWE1MX05BTUVTUEFDRV9ERUNMJz4KKyAgICAgIDxyZWYgZmlsZW5hbWU9J3hwYXRoMS5jJy8+CisgICAgICA8cmVmIGZpbGVuYW1lPSd4cGF0aDIuYycvPgorICAgIDwvc3ltYm9sPgorICAgIDxzeW1ib2wgbmFtZT0nWE1MX1BBUlNFX0RUREFUVFInPgorICAgICAgPHJlZiBmaWxlbmFtZT0ncmVhZGVyMi5jJy8+CisgICAgPC9zeW1ib2w+CisgICAgPHN5bWJvbCBuYW1lPSdYTUxfUEFSU0VfRFREVkFMSUQnPgorICAgICAgPHJlZiBmaWxlbmFtZT0ncmVhZGVyMi5jJy8+CisgICAgICA8cmVmIGZpbGVuYW1lPSdwYXJzZTIuYycvPgorICAgIDwvc3ltYm9sPgorICAgIDxzeW1ib2wgbmFtZT0nWE1MX1BBUlNFX05PRU5UJz4KKyAgICAgIDxyZWYgZmlsZW5hbWU9J3JlYWRlcjIuYycvPgorICAgIDwvc3ltYm9sPgorICAgIDxzeW1ib2wgbmFtZT0neG1sQWRkQ2hpbGQnPgorICAgICAgPHJlZiBmaWxlbmFtZT0ndHJlZTIuYycvPgorICAgIDwvc3ltYm9sPgorICAgIDxzeW1ib2wgbmFtZT0neG1sQnVmZmVyQ3JlYXRlJz4KKyAgICAgIDxyZWYgZmlsZW5hbWU9J3Rlc3RXcml0ZXIuYycvPgorICAgIDwvc3ltYm9sPgorICAgIDxzeW1ib2wgbmFtZT0neG1sQnVmZmVyRnJlZSc+CisgICAgICA8cmVmIGZpbGVuYW1lPSd0ZXN0V3JpdGVyLmMnLz4KKyAgICA8L3N5bWJvbD4KKyAgICA8c3ltYm9sIG5hbWU9J3htbEJ1ZmZlclB0cic+CisgICAgICA8cmVmIGZpbGVuYW1lPSd0ZXN0V3JpdGVyLmMnLz4KKyAgICA8L3N5bWJvbD4KKyAgICA8c3ltYm9sIG5hbWU9J3htbENoYXJFbmNvZGluZ0hhbmRsZXJQdHInPgorICAgICAgPHJlZiBmaWxlbmFtZT0ndGVzdFdyaXRlci5jJy8+CisgICAgPC9zeW1ib2w+CisgICAgPHN5bWJvbCBuYW1lPSd4bWxDbGVhbnVwUGFyc2VyJz4KKyAgICAgIDxyZWYgZmlsZW5hbWU9J3hwYXRoMS5jJy8+CisgICAgICA8cmVmIGZpbGVuYW1lPSdwYXJzZTMuYycvPgorICAgICAgPHJlZiBmaWxlbmFtZT0ncmVhZGVyMi5jJy8+CisgICAgICA8cmVmIGZpbGVuYW1lPSd0cmVlMi5jJy8+CisgICAgICA8cmVmIGZpbGVuYW1lPSdpbzEuYycvPgorICAgICAgPHJlZiBmaWxlbmFtZT0ncGFyc2U0LmMnLz4KKyAgICA8L3N5bWJvbD4KKyAgICA8c3ltYm9sIG5hbWU9J3htbENyZWF0ZUludFN1YnNldCc+CisgICAgICA8cmVmIGZpbGVuYW1lPSd0cmVlMi5jJy8+CisgICAgPC9zeW1ib2w+CisgICAgPHN5bWJvbCBuYW1lPSd4bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dCc+CisgICAgICA8cmVmIGZpbGVuYW1lPSdwYXJzZTQuYycvPgorICAgIDwvc3ltYm9sPgorICAgIDxzeW1ib2wgbmFtZT0neG1sQ3R4dFJlYWRGaWxlJz4KKyAgICAgIDxyZWYgZmlsZW5hbWU9J3BhcnNlMi5jJy8+CisgICAgPC9zeW1ib2w+CisgICAgPHN5bWJvbCBuYW1lPSd4bWxEb2NEdW1wJz4KKyAgICAgIDxyZWYgZmlsZW5hbWU9J2lvMS5jJy8+CisgICAgICA8cmVmIGZpbGVuYW1lPSd4cGF0aDIuYycvPgorICAgICAgPHJlZiBmaWxlbmFtZT0ncmVhZGVyMy5jJy8+CisgICAgPC9zeW1ib2w+CisgICAgPHN5bWJvbCBuYW1lPSd4bWxEb2NEdW1wRm9ybWF0TWVtb3J5Jz4KKyAgICAgIDxyZWYgZmlsZW5hbWU9J2lvMi5jJy8+CisgICAgPC9zeW1ib2w+CisgICAgPHN5bWJvbCBuYW1lPSd4bWxEb2NHZXRSb290RWxlbWVudCc+CisgICAgICA8cmVmIGZpbGVuYW1lPSd0cmVlMS5jJy8+CisgICAgPC9zeW1ib2w+CisgICAgPHN5bWJvbCBuYW1lPSd4bWxEb2NQdHInPgorICAgICAgPHJlZiBmaWxlbmFtZT0neHBhdGgxLmMnLz4KKyAgICAgIDxyZWYgZmlsZW5hbWU9J3BhcnNlMy5jJy8+CisgICAgICA8cmVmIGZpbGVuYW1lPSdpbzEuYycvPgorICAgICAgPHJlZiBmaWxlbmFtZT0ncGFyc2U0LmMnLz4KKyAgICAgIDxyZWYgZmlsZW5hbWU9J3hwYXRoMi5jJy8+CisgICAgICA8cmVmIGZpbGVuYW1lPSdpbzIuYycvPgorICAgIDwvc3ltYm9sPgorICAgIDxzeW1ib2wgbmFtZT0neG1sRG9jU2V0Um9vdEVsZW1lbnQnPgorICAgICAgPHJlZiBmaWxlbmFtZT0ndHJlZTIuYycvPgorICAgICAgPHJlZiBmaWxlbmFtZT0naW8yLmMnLz4KKyAgICAgIDxyZWYgZmlsZW5hbWU9J3Rlc3RXcml0ZXIuYycvPgorICAgIDwvc3ltYm9sPgorICAgIDxzeW1ib2wgbmFtZT0neG1sRmluZENoYXJFbmNvZGluZ0hhbmRsZXInPgorICAgICAgPHJlZiBmaWxlbmFtZT0ndGVzdFdyaXRlci5jJy8+CisgICAgPC9zeW1ib2w+CisgICAgPHN5bWJvbCBuYW1lPSd4bWxGcmVlJz4KKyAgICAgIDxyZWYgZmlsZW5hbWU9J3hwYXRoMS5jJy8+CisgICAgICA8cmVmIGZpbGVuYW1lPSdpbzIuYycvPgorICAgICAgPHJlZiBmaWxlbmFtZT0ndGVzdFdyaXRlci5jJy8+CisgICAgPC9zeW1ib2w+CisgICAgPHN5bWJvbCBuYW1lPSd4bWxGcmVlRG9jJz4KKyAgICAgIDxyZWYgZmlsZW5hbWU9J3hwYXRoMS5jJy8+CisgICAgICA8cmVmIGZpbGVuYW1lPSdwYXJzZTMuYycvPgorICAgICAgPHJlZiBmaWxlbmFtZT0ndHJlZTIuYycvPgorICAgICAgPHJlZiBmaWxlbmFtZT0naW8xLmMnLz4KKyAgICAgIDxyZWYgZmlsZW5hbWU9J3BhcnNlNC5jJy8+CisgICAgICA8cmVmIGZpbGVuYW1lPSd4cGF0aDIuYycvPgorICAgIDwvc3ltYm9sPgorICAgIDxzeW1ib2wgbmFtZT0neG1sRnJlZVBhcnNlckN0eHQnPgorICAgICAgPHJlZiBmaWxlbmFtZT0ncGFyc2U0LmMnLz4KKyAgICAgIDxyZWYgZmlsZW5hbWU9J3BhcnNlMi5jJy8+CisgICAgPC9zeW1ib2w+CisgICAgPHN5bWJvbCBuYW1lPSd4bWxGcmVlVGV4dFJlYWRlcic+CisgICAgICA8cmVmIGZpbGVuYW1lPSdyZWFkZXIyLmMnLz4KKyAgICAgIDxyZWYgZmlsZW5hbWU9J3JlYWRlcjEuYycvPgorICAgICAgPHJlZiBmaWxlbmFtZT0ncmVhZGVyMy5jJy8+CisgICAgICA8cmVmIGZpbGVuYW1lPSdyZWFkZXI0LmMnLz4KKyAgICA8L3N5bWJvbD4KKyAgICA8c3ltYm9sIG5hbWU9J3htbEZyZWVUZXh0V3JpdGVyJz4KKyAgICAgIDxyZWYgZmlsZW5hbWU9J3Rlc3RXcml0ZXIuYycvPgorICAgIDwvc3ltYm9sPgorICAgIDxzeW1ib2wgbmFtZT0neG1sSW5pdFBhcnNlcic+CisgICAgICA8cmVmIGZpbGVuYW1lPSd4cGF0aDEuYycvPgorICAgICAgPHJlZiBmaWxlbmFtZT0neHBhdGgyLmMnLz4KKyAgICA8L3N5bWJvbD4KKyAgICA8c3ltYm9sIG5hbWU9J3htbE1hbGxvYyc+CisgICAgICA8cmVmIGZpbGVuYW1lPSd0ZXN0V3JpdGVyLmMnLz4KKyAgICA8L3N5bWJvbD4KKyAgICA8c3ltYm9sIG5hbWU9J3htbE1lbW9yeUR1bXAnPgorICAgICAgPHJlZiBmaWxlbmFtZT0neHBhdGgxLmMnLz4KKyAgICAgIDxyZWYgZmlsZW5hbWU9J3BhcnNlMy5jJy8+CisgICAgICA8cmVmIGZpbGVuYW1lPSdyZWFkZXIyLmMnLz4KKyAgICAgIDxyZWYgZmlsZW5hbWU9J3RyZWUyLmMnLz4KKyAgICAgIDxyZWYgZmlsZW5hbWU9J2lvMS5jJy8+CisgICAgICA8cmVmIGZpbGVuYW1lPSdwYXJzZTQuYycvPgorICAgIDwvc3ltYm9sPgorICAgIDxzeW1ib2wgbmFtZT0neG1sTmV3Q2hpbGQnPgorICAgICAgPHJlZiBmaWxlbmFtZT0ndHJlZTIuYycvPgorICAgIDwvc3ltYm9sPgorICAgIDxzeW1ib2wgbmFtZT0neG1sTmV3RG9jJz4KKyAgICAgIDxyZWYgZmlsZW5hbWU9J3RyZWUyLmMnLz4KKyAgICAgIDxyZWYgZmlsZW5hbWU9J2lvMi5jJy8+CisgICAgICA8cmVmIGZpbGVuYW1lPSd0ZXN0V3JpdGVyLmMnLz4KKyAgICA8L3N5bWJvbD4KKyAgICA8c3ltYm9sIG5hbWU9J3htbE5ld0RvY05vZGUnPgorICAgICAgPHJlZiBmaWxlbmFtZT0ndGVzdFdyaXRlci5jJy8+CisgICAgPC9zeW1ib2w+CisgICAgPHN5bWJvbCBuYW1lPSd4bWxOZXdOb2RlJz4KKyAgICAgIDxyZWYgZmlsZW5hbWU9J3RyZWUyLmMnLz4KKyAgICAgIDxyZWYgZmlsZW5hbWU9J2lvMi5jJy8+CisgICAgPC9zeW1ib2w+CisgICAgPHN5bWJvbCBuYW1lPSd4bWxOZXdQYXJzZXJDdHh0Jz4KKyAgICAgIDxyZWYgZmlsZW5hbWU9J3BhcnNlMi5jJy8+CisgICAgPC9zeW1ib2w+CisgICAgPHN5bWJvbCBuYW1lPSd4bWxOZXdQcm9wJz4KKyAgICAgIDxyZWYgZmlsZW5hbWU9J3RyZWUyLmMnLz4KKyAgICA8L3N5bWJvbD4KKyAgICA8c3ltYm9sIG5hbWU9J3htbE5ld1RleHQnPgorICAgICAgPHJlZiBmaWxlbmFtZT0ndHJlZTIuYycvPgorICAgIDwvc3ltYm9sPgorICAgIDxzeW1ib2wgbmFtZT0neG1sTmV3VGV4dFdyaXRlckRvYyc+CisgICAgICA8cmVmIGZpbGVuYW1lPSd0ZXN0V3JpdGVyLmMnLz4KKyAgICA8L3N5bWJvbD4KKyAgICA8c3ltYm9sIG5hbWU9J3htbE5ld1RleHRXcml0ZXJGaWxlbmFtZSc+CisgICAgICA8cmVmIGZpbGVuYW1lPSd0ZXN0V3JpdGVyLmMnLz4KKyAgICA8L3N5bWJvbD4KKyAgICA8c3ltYm9sIG5hbWU9J3htbE5ld1RleHRXcml0ZXJNZW1vcnknPgorICAgICAgPHJlZiBmaWxlbmFtZT0ndGVzdFdyaXRlci5jJy8+CisgICAgPC9zeW1ib2w+CisgICAgPHN5bWJvbCBuYW1lPSd4bWxOZXdUZXh0V3JpdGVyVHJlZSc+CisgICAgICA8cmVmIGZpbGVuYW1lPSd0ZXN0V3JpdGVyLmMnLz4KKyAgICA8L3N5bWJvbD4KKyAgICA8c3ltYm9sIG5hbWU9J3htbE5vZGVQdHInPgorICAgICAgPHJlZiBmaWxlbmFtZT0neHBhdGgxLmMnLz4KKyAgICAgIDxyZWYgZmlsZW5hbWU9J2lvMi5jJy8+CisgICAgICA8cmVmIGZpbGVuYW1lPSd0ZXN0V3JpdGVyLmMnLz4KKyAgICA8L3N5bWJvbD4KKyAgICA8c3ltYm9sIG5hbWU9J3htbE5vZGVTZXRDb250ZW50Jz4KKyAgICAgIDxyZWYgZmlsZW5hbWU9J3hwYXRoMi5jJy8+CisgICAgICA8cmVmIGZpbGVuYW1lPSdpbzIuYycvPgorICAgIDwvc3ltYm9sPgorICAgIDxzeW1ib2wgbmFtZT0neG1sTnNQdHInPgorICAgICAgPHJlZiBmaWxlbmFtZT0neHBhdGgxLmMnLz4KKyAgICA8L3N5bWJvbD4KKyAgICA8c3ltYm9sIG5hbWU9J3htbFBhcnNlQ2h1bmsnPgorICAgICAgPHJlZiBmaWxlbmFtZT0ncGFyc2U0LmMnLz4KKyAgICA8L3N5bWJvbD4KKyAgICA8c3ltYm9sIG5hbWU9J3htbFBhcnNlRmlsZSc+CisgICAgICA8cmVmIGZpbGVuYW1lPSd4cGF0aDEuYycvPgorICAgICAgPHJlZiBmaWxlbmFtZT0neHBhdGgyLmMnLz4KKyAgICA8L3N5bWJvbD4KKyAgICA8c3ltYm9sIG5hbWU9J3htbFBhcnNlckN0eHRQdHInPgorICAgICAgPHJlZiBmaWxlbmFtZT0ncGFyc2U0LmMnLz4KKyAgICAgIDxyZWYgZmlsZW5hbWU9J3BhcnNlMi5jJy8+CisgICAgPC9zeW1ib2w+CisgICAgPHN5bWJvbCBuYW1lPSd4bWxSZWFkRmlsZSc+CisgICAgICA8cmVmIGZpbGVuYW1lPSd0cmVlMS5jJy8+CisgICAgICA8cmVmIGZpbGVuYW1lPSdwYXJzZTEuYycvPgorICAgIDwvc3ltYm9sPgorICAgIDxzeW1ib2wgbmFtZT0neG1sUmVhZE1lbW9yeSc+CisgICAgICA8cmVmIGZpbGVuYW1lPSdwYXJzZTMuYycvPgorICAgICAgPHJlZiBmaWxlbmFtZT0naW8xLmMnLz4KKyAgICA8L3N5bWJvbD4KKyAgICA8c3ltYm9sIG5hbWU9J3htbFJlYWRlckZvckZpbGUnPgorICAgICAgPHJlZiBmaWxlbmFtZT0ncmVhZGVyMi5jJy8+CisgICAgICA8cmVmIGZpbGVuYW1lPSdyZWFkZXIxLmMnLz4KKyAgICAgIDxyZWYgZmlsZW5hbWU9J3JlYWRlcjMuYycvPgorICAgICAgPHJlZiBmaWxlbmFtZT0ncmVhZGVyNC5jJy8+CisgICAgPC9zeW1ib2w+CisgICAgPHN5bWJvbCBuYW1lPSd4bWxSZWFkZXJOZXdGaWxlJz4KKyAgICAgIDxyZWYgZmlsZW5hbWU9J3JlYWRlcjQuYycvPgorICAgIDwvc3ltYm9sPgorICAgIDxzeW1ib2wgbmFtZT0neG1sUmVhbGxvYyc+CisgICAgICA8cmVmIGZpbGVuYW1lPSd0ZXN0V3JpdGVyLmMnLz4KKyAgICA8L3N5bWJvbD4KKyAgICA8c3ltYm9sIG5hbWU9J3htbFJlZ2lzdGVySW5wdXRDYWxsYmFja3MnPgorICAgICAgPHJlZiBmaWxlbmFtZT0naW8xLmMnLz4KKyAgICA8L3N5bWJvbD4KKyAgICA8c3ltYm9sIG5hbWU9J3htbFNhdmVGaWxlRW5jJz4KKyAgICAgIDxyZWYgZmlsZW5hbWU9J3Rlc3RXcml0ZXIuYycvPgorICAgIDwvc3ltYm9sPgorICAgIDxzeW1ib2wgbmFtZT0neG1sU2F2ZUZvcm1hdEZpbGVFbmMnPgorICAgICAgPHJlZiBmaWxlbmFtZT0ndHJlZTIuYycvPgorICAgIDwvc3ltYm9sPgorICAgIDxzeW1ib2wgbmFtZT0neG1sU3RyY2hyJz4KKyAgICAgIDxyZWYgZmlsZW5hbWU9J3hwYXRoMS5jJy8+CisgICAgPC9zeW1ib2w+CisgICAgPHN5bWJvbCBuYW1lPSd4bWxTdHJkdXAnPgorICAgICAgPHJlZiBmaWxlbmFtZT0neHBhdGgxLmMnLz4KKyAgICA8L3N5bWJvbD4KKyAgICA8c3ltYm9sIG5hbWU9J3htbFN0cmxlbic+CisgICAgICA8cmVmIGZpbGVuYW1lPSdyZWFkZXIyLmMnLz4KKyAgICAgIDxyZWYgZmlsZW5hbWU9J3JlYWRlcjEuYycvPgorICAgIDwvc3ltYm9sPgorICAgIDxzeW1ib2wgbmFtZT0neG1sVGV4dFJlYWRlckNvbnN0TmFtZSc+CisgICAgICA8cmVmIGZpbGVuYW1lPSdyZWFkZXIyLmMnLz4KKyAgICAgIDxyZWYgZmlsZW5hbWU9J3JlYWRlcjEuYycvPgorICAgIDwvc3ltYm9sPgorICAgIDxzeW1ib2wgbmFtZT0neG1sVGV4dFJlYWRlckNvbnN0VmFsdWUnPgorICAgICAgPHJlZiBmaWxlbmFtZT0ncmVhZGVyMi5jJy8+CisgICAgICA8cmVmIGZpbGVuYW1lPSdyZWFkZXIxLmMnLz4KKyAgICA8L3N5bWJvbD4KKyAgICA8c3ltYm9sIG5hbWU9J3htbFRleHRSZWFkZXJDdXJyZW50RG9jJz4KKyAgICAgIDxyZWYgZmlsZW5hbWU9J3JlYWRlcjMuYycvPgorICAgICAgPHJlZiBmaWxlbmFtZT0ncmVhZGVyNC5jJy8+CisgICAgPC9zeW1ib2w+CisgICAgPHN5bWJvbCBuYW1lPSd4bWxUZXh0UmVhZGVyRGVwdGgnPgorICAgICAgPHJlZiBmaWxlbmFtZT0ncmVhZGVyMi5jJy8+CisgICAgICA8cmVmIGZpbGVuYW1lPSdyZWFkZXIxLmMnLz4KKyAgICA8L3N5bWJvbD4KKyAgICA8c3ltYm9sIG5hbWU9J3htbFRleHRSZWFkZXJIYXNWYWx1ZSc+CisgICAgICA8cmVmIGZpbGVuYW1lPSdyZWFkZXIyLmMnLz4KKyAgICAgIDxyZWYgZmlsZW5hbWU9J3JlYWRlcjEuYycvPgorICAgIDwvc3ltYm9sPgorICAgIDxzeW1ib2wgbmFtZT0neG1sVGV4dFJlYWRlcklzRW1wdHlFbGVtZW50Jz4KKyAgICAgIDxyZWYgZmlsZW5hbWU9J3JlYWRlcjIuYycvPgorICAgICAgPHJlZiBmaWxlbmFtZT0ncmVhZGVyMS5jJy8+CisgICAgPC9zeW1ib2w+CisgICAgPHN5bWJvbCBuYW1lPSd4bWxUZXh0UmVhZGVySXNWYWxpZCc+CisgICAgICA8cmVmIGZpbGVuYW1lPSdyZWFkZXIyLmMnLz4KKyAgICA8L3N5bWJvbD4KKyAgICA8c3ltYm9sIG5hbWU9J3htbFRleHRSZWFkZXJOb2RlVHlwZSc+CisgICAgICA8cmVmIGZpbGVuYW1lPSdyZWFkZXIyLmMnLz4KKyAgICAgIDxyZWYgZmlsZW5hbWU9J3JlYWRlcjEuYycvPgorICAgIDwvc3ltYm9sPgorICAgIDxzeW1ib2wgbmFtZT0neG1sVGV4dFJlYWRlclByZXNlcnZlUGF0dGVybic+CisgICAgICA8cmVmIGZpbGVuYW1lPSdyZWFkZXIzLmMnLz4KKyAgICA8L3N5bWJvbD4KKyAgICA8c3ltYm9sIG5hbWU9J3htbFRleHRSZWFkZXJQdHInPgorICAgICAgPHJlZiBmaWxlbmFtZT0ncmVhZGVyMi5jJy8+CisgICAgICA8cmVmIGZpbGVuYW1lPSdyZWFkZXIxLmMnLz4KKyAgICAgIDxyZWYgZmlsZW5hbWU9J3JlYWRlcjMuYycvPgorICAgICAgPHJlZiBmaWxlbmFtZT0ncmVhZGVyNC5jJy8+CisgICAgPC9zeW1ib2w+CisgICAgPHN5bWJvbCBuYW1lPSd4bWxUZXh0UmVhZGVyUmVhZCc+CisgICAgICA8cmVmIGZpbGVuYW1lPSdyZWFkZXIyLmMnLz4KKyAgICAgIDxyZWYgZmlsZW5hbWU9J3JlYWRlcjEuYycvPgorICAgICAgPHJlZiBmaWxlbmFtZT0ncmVhZGVyMy5jJy8+CisgICAgICA8cmVmIGZpbGVuYW1lPSdyZWFkZXI0LmMnLz4KKyAgICA8L3N5bWJvbD4KKyAgICA8c3ltYm9sIG5hbWU9J3htbFRleHRXcml0ZXJFbmREb2N1bWVudCc+CisgICAgICA8cmVmIGZpbGVuYW1lPSd0ZXN0V3JpdGVyLmMnLz4KKyAgICA8L3N5bWJvbD4KKyAgICA8c3ltYm9sIG5hbWU9J3htbFRleHRXcml0ZXJFbmRFbGVtZW50Jz4KKyAgICAgIDxyZWYgZmlsZW5hbWU9J3Rlc3RXcml0ZXIuYycvPgorICAgIDwvc3ltYm9sPgorICAgIDxzeW1ib2wgbmFtZT0neG1sVGV4dFdyaXRlclB0cic+CisgICAgICA8cmVmIGZpbGVuYW1lPSd0ZXN0V3JpdGVyLmMnLz4KKyAgICA8L3N5bWJvbD4KKyAgICA8c3ltYm9sIG5hbWU9J3htbFRleHRXcml0ZXJTdGFydERvY3VtZW50Jz4KKyAgICAgIDxyZWYgZmlsZW5hbWU9J3Rlc3RXcml0ZXIuYycvPgorICAgIDwvc3ltYm9sPgorICAgIDxzeW1ib2wgbmFtZT0neG1sVGV4dFdyaXRlclN0YXJ0RWxlbWVudCc+CisgICAgICA8cmVmIGZpbGVuYW1lPSd0ZXN0V3JpdGVyLmMnLz4KKyAgICA8L3N5bWJvbD4KKyAgICA8c3ltYm9sIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZUF0dHJpYnV0ZSc+CisgICAgICA8cmVmIGZpbGVuYW1lPSd0ZXN0V3JpdGVyLmMnLz4KKyAgICA8L3N5bWJvbD4KKyAgICA8c3ltYm9sIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZUNvbW1lbnQnPgorICAgICAgPHJlZiBmaWxlbmFtZT0ndGVzdFdyaXRlci5jJy8+CisgICAgPC9zeW1ib2w+CisgICAgPHN5bWJvbCBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVFbGVtZW50Jz4KKyAgICAgIDxyZWYgZmlsZW5hbWU9J3Rlc3RXcml0ZXIuYycvPgorICAgIDwvc3ltYm9sPgorICAgIDxzeW1ib2wgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0Q29tbWVudCc+CisgICAgICA8cmVmIGZpbGVuYW1lPSd0ZXN0V3JpdGVyLmMnLz4KKyAgICA8L3N5bWJvbD4KKyAgICA8c3ltYm9sIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdEVsZW1lbnQnPgorICAgICAgPHJlZiBmaWxlbmFtZT0ndGVzdFdyaXRlci5jJy8+CisgICAgPC9zeW1ib2w+CisgICAgPHN5bWJvbCBuYW1lPSd4bWxYSW5jbHVkZVByb2Nlc3MnPgorICAgICAgPHJlZiBmaWxlbmFtZT0naW8xLmMnLz4KKyAgICA8L3N5bWJvbD4KKyAgICA8c3ltYm9sIG5hbWU9J3htbFhQYXRoQ29udGV4dFB0cic+CisgICAgICA8cmVmIGZpbGVuYW1lPSd4cGF0aDEuYycvPgorICAgICAgPHJlZiBmaWxlbmFtZT0neHBhdGgyLmMnLz4KKyAgICA8L3N5bWJvbD4KKyAgICA8c3ltYm9sIG5hbWU9J3htbFhQYXRoRXZhbEV4cHJlc3Npb24nPgorICAgICAgPHJlZiBmaWxlbmFtZT0neHBhdGgxLmMnLz4KKyAgICAgIDxyZWYgZmlsZW5hbWU9J3hwYXRoMi5jJy8+CisgICAgPC9zeW1ib2w+CisgICAgPHN5bWJvbCBuYW1lPSd4bWxYUGF0aEZyZWVDb250ZXh0Jz4KKyAgICAgIDxyZWYgZmlsZW5hbWU9J3hwYXRoMS5jJy8+CisgICAgICA8cmVmIGZpbGVuYW1lPSd4cGF0aDIuYycvPgorICAgIDwvc3ltYm9sPgorICAgIDxzeW1ib2wgbmFtZT0neG1sWFBhdGhGcmVlT2JqZWN0Jz4KKyAgICAgIDxyZWYgZmlsZW5hbWU9J3hwYXRoMS5jJy8+CisgICAgICA8cmVmIGZpbGVuYW1lPSd4cGF0aDIuYycvPgorICAgIDwvc3ltYm9sPgorICAgIDxzeW1ib2wgbmFtZT0neG1sWFBhdGhOZXdDb250ZXh0Jz4KKyAgICAgIDxyZWYgZmlsZW5hbWU9J3hwYXRoMS5jJy8+CisgICAgICA8cmVmIGZpbGVuYW1lPSd4cGF0aDIuYycvPgorICAgIDwvc3ltYm9sPgorICAgIDxzeW1ib2wgbmFtZT0neG1sWFBhdGhPYmplY3RQdHInPgorICAgICAgPHJlZiBmaWxlbmFtZT0neHBhdGgxLmMnLz4KKyAgICAgIDxyZWYgZmlsZW5hbWU9J3hwYXRoMi5jJy8+CisgICAgPC9zeW1ib2w+CisgICAgPHN5bWJvbCBuYW1lPSd4bWxYUGF0aFJlZ2lzdGVyTnMnPgorICAgICAgPHJlZiBmaWxlbmFtZT0neHBhdGgxLmMnLz4KKyAgICA8L3N5bWJvbD4KKyAgPC9zeW1ib2xzPgorICA8c2VjdGlvbnM+CisgICAgPHNlY3Rpb24gbmFtZT0nSW5wdXRPdXRwdXQnPgorICAgICAgPGV4YW1wbGUgZmlsZW5hbWU9J2lvMS5jJy8+CisgICAgICA8ZXhhbXBsZSBmaWxlbmFtZT0naW8yLmMnLz4KKyAgICA8L3NlY3Rpb24+CisgICAgPHNlY3Rpb24gbmFtZT0nUGFyc2luZyc+CisgICAgICA8ZXhhbXBsZSBmaWxlbmFtZT0ncGFyc2UzLmMnLz4KKyAgICAgIDxleGFtcGxlIGZpbGVuYW1lPSdwYXJzZTQuYycvPgorICAgICAgPGV4YW1wbGUgZmlsZW5hbWU9J3BhcnNlMi5jJy8+CisgICAgICA8ZXhhbXBsZSBmaWxlbmFtZT0ncGFyc2UxLmMnLz4KKyAgICA8L3NlY3Rpb24+CisgICAgPHNlY3Rpb24gbmFtZT0nVHJlZSc+CisgICAgICA8ZXhhbXBsZSBmaWxlbmFtZT0ndHJlZTIuYycvPgorICAgICAgPGV4YW1wbGUgZmlsZW5hbWU9J3RyZWUxLmMnLz4KKyAgICA8L3NlY3Rpb24+CisgICAgPHNlY3Rpb24gbmFtZT0nWFBhdGgnPgorICAgICAgPGV4YW1wbGUgZmlsZW5hbWU9J3hwYXRoMS5jJy8+CisgICAgICA8ZXhhbXBsZSBmaWxlbmFtZT0neHBhdGgyLmMnLz4KKyAgICA8L3NlY3Rpb24+CisgICAgPHNlY3Rpb24gbmFtZT0neG1sUmVhZGVyJz4KKyAgICAgIDxleGFtcGxlIGZpbGVuYW1lPSdyZWFkZXIyLmMnLz4KKyAgICAgIDxleGFtcGxlIGZpbGVuYW1lPSdyZWFkZXIxLmMnLz4KKyAgICAgIDxleGFtcGxlIGZpbGVuYW1lPSdyZWFkZXIzLmMnLz4KKyAgICAgIDxleGFtcGxlIGZpbGVuYW1lPSdyZWFkZXI0LmMnLz4KKyAgICA8L3NlY3Rpb24+CisgICAgPHNlY3Rpb24gbmFtZT0neG1sV3JpdGVyJz4KKyAgICAgIDxleGFtcGxlIGZpbGVuYW1lPSd0ZXN0V3JpdGVyLmMnLz4KKyAgICA8L3NlY3Rpb24+CisgIDwvc2VjdGlvbnM+Cis8L2V4YW1wbGVzPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvZXhhbXBsZXMvZXhhbXBsZXMueHNsIGIvbGlieG1sMi9kb2MvZXhhbXBsZXMvZXhhbXBsZXMueHNsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc0YWFhYTIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9leGFtcGxlcy9leGFtcGxlcy54c2wKQEAgLTAsMCArMSwxNzQgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPHhzbDpzdHlsZXNoZWV0IHZlcnNpb249IjEuMCIKKyAgeG1sbnM6eHNsPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L1hTTC9UcmFuc2Zvcm0iCisgIHhtbG5zOmV4c2w9Imh0dHA6Ly9leHNsdC5vcmcvY29tbW9uIgorICBleHRlbnNpb24tZWxlbWVudC1wcmVmaXhlcz0iZXhzbCIKKyAgZXhjbHVkZS1yZXN1bHQtcHJlZml4ZXM9ImV4c2wiPgorCisgIDx4c2w6aW1wb3J0IGhyZWY9Ii4uL3NpdGUueHNsIi8+CisKKyAgPHhzbDp2YXJpYWJsZSBuYW1lPSJocmVmX2Jhc2UiPi4uLzwveHNsOnZhcmlhYmxlPgorICA8eHNsOnZhcmlhYmxlIG5hbWU9Im1lbnVfbmFtZSI+RXhhbXBsZXMgTWVudTwveHNsOnZhcmlhYmxlPgorCisgIDx4c2w6dmFyaWFibGUgbmFtZT0idG9jIj4KKyAgICA8Zm9ybSBhY3Rpb249Ii4uL3NlYXJjaC5waHAiCisgICAgICAgICAgZW5jdHlwZT0iYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIiBtZXRob2Q9ImdldCI+CisgICAgICA8aW5wdXQgbmFtZT0icXVlcnkiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iIi8+CisgICAgICA8aW5wdXQgbmFtZT0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJTZWFyY2ggLi4uIi8+CisgICAgPC9mb3JtPgorICAgIDx1bD48IS0tIHN0eWxlPSJtYXJnaW4tbGVmdDogLTFlbSIgLS0+CisgICAgICA8bGk+PGEgaHJlZj0ieyRocmVmX2Jhc2V9aW5kZXguaHRtbCI+SG9tZTwvYT48L2xpPgorICAgICAgPGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiAKKyAgICAgICAgICAgICBocmVmPSJ7JGhyZWZfYmFzZX1kb2NzLmh0bWwiPkRldmVsb3BlciBNZW51PC9hPjwvbGk+CisgICAgICA8bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIAorICAgICAgICAgICAgIGhyZWY9InskaHJlZl9iYXNlfWh0bWwvaW5kZXguaHRtbCI+QVBJIE1lbnU8L2E+PC9saT4KKyAgICAgIDx4c2w6Zm9yLWVhY2ggc2VsZWN0PSIvZXhhbXBsZXMvc2VjdGlvbnMvc2VjdGlvbiI+CisgICAgICAgIDxsaT48YSBocmVmPSIje0BuYW1lfSI+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+IEV4YW1wbGVzPC9hPjwvbGk+CisgICAgICA8L3hzbDpmb3ItZWFjaD4KKyAgICAgIDxsaT48YSBocmVmPSJ7JGhyZWZfYmFzZX1ndWlkZWxpbmVzLmh0bWwiPlhNTCBHdWlkZWxpbmVzPC9hPjwvbGk+CisgICAgPC91bD4KKyAgPC94c2w6dmFyaWFibGU+CisKKyAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iaW5jbHVkZSI+CisgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJoZWFkZXIiIHNlbGVjdD0ic3Vic3RyaW5nLWJlZm9yZShzdWJzdHJpbmctYWZ0ZXIoLiwgJy8nKSwgJyZndDsnKSIvPgorICAgIDx4c2w6dmFyaWFibGUgbmFtZT0iZG9jIiBzZWxlY3Q9ImNvbmNhdCgnLi4vaHRtbC9saWJ4bWwtJywgJGhlYWRlciwgJ3RtbCcpIi8+CisgICAgPGxpPjxhIGhyZWY9InskZG9jfSI+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9Ii4iLz48L2E+PC9saT4KKyAgPC94c2w6dGVtcGxhdGU+CisKKyAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD0idHlwZWRlZiI+CisgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJuYW1lIiBzZWxlY3Q9IkBuYW1lIi8+CisgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJoZWFkZXIiIHNlbGVjdD0iY29uY2F0KEBmaWxlLCAnLmgnKSIvPgorICAgIDx4c2w6dmFyaWFibGUgbmFtZT0iZG9jIiBzZWxlY3Q9ImNvbmNhdCgnLi4vaHRtbC9saWJ4bWwtJywgQGZpbGUsICcuaHRtbCMnLCAkbmFtZSkiLz4KKyAgICA8bGk+IGxpbmUgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBsaW5lIi8+OiBUeXBlIDxhIGhyZWY9InskZG9jfSI+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRuYW1lIi8+PC9hPiBmcm9tIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkaGVhZGVyIi8+PC9saT4KKyAgPC94c2w6dGVtcGxhdGU+CisKKyAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iZnVuY3Rpb24iPgorICAgIDx4c2w6dmFyaWFibGUgbmFtZT0ibmFtZSIgc2VsZWN0PSJAbmFtZSIvPgorICAgIDx4c2w6dmFyaWFibGUgbmFtZT0iaGVhZGVyIiBzZWxlY3Q9ImNvbmNhdChAZmlsZSwgJy5oJykiLz4KKyAgICA8eHNsOnZhcmlhYmxlIG5hbWU9ImRvYyIgc2VsZWN0PSJjb25jYXQoJy4uL2h0bWwvbGlieG1sLScsIEBmaWxlLCAnLmh0bWwjJywgJG5hbWUpIi8+CisgICAgPGxpPiBsaW5lIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbGluZSIvPjogRnVuY3Rpb24gPGEgaHJlZj0ieyRkb2N9Ij48eHNsOnZhbHVlLW9mIHNlbGVjdD0iJG5hbWUiLz48L2E+IGZyb20gPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRoZWFkZXIiLz48L2xpPgorICA8L3hzbDp0ZW1wbGF0ZT4KKworICA8eHNsOnRlbXBsYXRlIG1hdGNoPSJtYWNybyI+CisgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJuYW1lIiBzZWxlY3Q9IkBuYW1lIi8+CisgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJoZWFkZXIiIHNlbGVjdD0iY29uY2F0KEBmaWxlLCAnLmgnKSIvPgorICAgIDx4c2w6dmFyaWFibGUgbmFtZT0iZG9jIiBzZWxlY3Q9ImNvbmNhdCgnLi4vaHRtbC9saWJ4bWwtJywgQGZpbGUsICcuaHRtbCMnLCAkbmFtZSkiLz4KKyAgICA8bGk+IGxpbmUgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBsaW5lIi8+OiBNYWNybyA8YSBocmVmPSJ7JGRvY30iPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkbmFtZSIvPjwvYT4gZnJvbSA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iJGhlYWRlciIvPjwvbGk+CisgIDwveHNsOnRlbXBsYXRlPgorCisgIDx4c2w6dGVtcGxhdGUgbWF0Y2g9ImV4YW1wbGUiPgorICAgIDx4c2w6dmFyaWFibGUgbmFtZT0iZmlsZW5hbWUiIHNlbGVjdD0ic3RyaW5nKEBmaWxlbmFtZSkiLz4KKyAgICA8aDM+PGEgbmFtZT0ieyRmaWxlbmFtZX0iIGhyZWY9InskZmlsZW5hbWV9Ij48eHNsOnZhbHVlLW9mIHNlbGVjdD0iJGZpbGVuYW1lIi8+PC9hPjogPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9InN5bm9wc2lzIi8+PC9oMz4KKyAgICA8cD48eHNsOnZhbHVlLW9mIHNlbGVjdD0icHVycG9zZSIvPjwvcD4KKyAgICA8cD5JbmNsdWRlczo8L3A+CisgICAgPHVsPgorICAgIDx4c2w6Zm9yLWVhY2ggc2VsZWN0PSJpbmNsdWRlcy9pbmNsdWRlIj4KKyAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0nLicvPgorICAgIDwveHNsOmZvci1lYWNoPgorICAgIDwvdWw+CisgICAgPHA+VXNlczo8L3A+CisgICAgPHVsPgorICAgIDx4c2w6Zm9yLWVhY2ggc2VsZWN0PSJ1c2VzLyoiPgorICAgICAgPHhzbDpzb3J0IHNlbGVjdD0iQGxpbmUiIGRhdGEtdHlwZT0ibnVtYmVyIi8+CisgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9Jy4nLz4KKyAgICA8L3hzbDpmb3ItZWFjaD4KKyAgICA8L3VsPgorICAgIDxwPlVzYWdlOjwvcD4KKyAgICA8cD48eHNsOnZhbHVlLW9mIHNlbGVjdD0idXNhZ2UiLz48L3A+CisgICAgPHA+QXV0aG9yOiA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iYXV0aG9yIi8+PC9wPgorICA8L3hzbDp0ZW1wbGF0ZT4KKworICA8eHNsOnRlbXBsYXRlIG1hdGNoPSJzZWN0aW9uIj4KKyAgICA8bGk+PHA+IDxhIGhyZWY9IiN7QG5hbWV9Ij48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz48L2E+IDo8L3A+CisgICAgPHVsPgorICAgIDx4c2w6Zm9yLWVhY2ggc2VsZWN0PSJleGFtcGxlIj4KKyAgICAgIDx4c2w6c29ydCBzZWxlY3Q9Jy4nLz4KKyAgICAgIDx4c2w6dmFyaWFibGUgbmFtZT0iZmlsZW5hbWUiIHNlbGVjdD0iQGZpbGVuYW1lIi8+CisgICAgICA8bGk+IDxhIGhyZWY9IiN7JGZpbGVuYW1lfSI+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRmaWxlbmFtZSIvPjwvYT46IDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIvZXhhbXBsZXMvZXhhbXBsZVtAZmlsZW5hbWUgPSAkZmlsZW5hbWVdL3N5bm9wc2lzIi8+PC9saT4KKyAgICA8L3hzbDpmb3ItZWFjaD4KKyAgICA8L3VsPgorICAgIDwvbGk+CisgIDwveHNsOnRlbXBsYXRlPgorCisgIDx4c2w6dGVtcGxhdGUgbWF0Y2g9InNlY3Rpb25zIj4KKyAgICA8cD4gVGhlIGV4YW1wbGVzIGFyZSBzdG9yZWQgcGVyIHNlY3Rpb24gZGVwZW5kaW5nIG9uIHRoZSBtYWluIGZvY3VzCisgICAgb2YgdGhlIGV4YW1wbGU6PC9wPgorICAgIDx1bD4KKyAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0ic2VjdGlvbiI+CisgICAgICA8eHNsOnNvcnQgc2VsZWN0PScuJy8+CisgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9Jy4nLz4KKyAgICA8L3hzbDpmb3ItZWFjaD4KKyAgICA8L3VsPgorICAgIDxwPiBHZXR0aW5nIHRoZSBjb21waWxhdGlvbiBvcHRpb25zIGFuZCBsaWJyYXJpZXMgZGVwZW5kYW5jaWVzIG5lZWRlZAordG8gZ2VuZXJhdGUgYmluYXJpZXMgZnJvbSB0aGUgZXhhbXBsZXMgaXMgYmVzdCBkb25lIG9uIExpbnV4L1VuaXggYnkgdXNpbmcKK3RoZSB4bWwyLWNvbmZpZyBzY3JpcHQgd2hpY2ggc2hvdWxkIGhhdmUgYmVlbiBpbnN0YWxsZWQgYXMgcGFydCBvZiA8aT5tYWtlCitpbnN0YWxsPC9pPiBzdGVwIG9yIHdoZW4gaW5zdGFsbGluZyB0aGUgbGlieG1sMiBkZXZlbG9wbWVudCBwYWNrYWdlOjwvcD4KKzxwcmU+Z2NjIC1vIGV4YW1wbGUgYHhtbDItY29uZmlnIC0tY2ZsYWdzYCBleGFtcGxlLmMgYHhtbDItY29uZmlnIC0tbGlic2A8L3ByZT4KKyAgPC94c2w6dGVtcGxhdGU+CisKKyAgPHhzbDp0ZW1wbGF0ZSBuYW1lPSJzZWN0aW9ucy1saXN0Ij4KKyAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0ic2VjdGlvbnMvc2VjdGlvbiI+CisgICAgICA8eHNsOnZhcmlhYmxlIG5hbWU9InNlY3Rpb24iIHNlbGVjdD0iQG5hbWUiLz4KKyAgICAgIDxoMj4gPGEgbmFtZT0ieyRzZWN0aW9ufSI+PC9hPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkc2VjdGlvbiIvPiBFeGFtcGxlczwvaDI+CisgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9Jy9leGFtcGxlcy9leGFtcGxlW3NlY3Rpb24gPSAkc2VjdGlvbl0nLz4KKyAgICA8L3hzbDpmb3ItZWFjaD4KKyAgPC94c2w6dGVtcGxhdGU+CisKKyAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iZXhhbXBsZXMiPgorICAgIDx4c2w6dmFyaWFibGUgbmFtZT0idGl0bGUiPkxpYnhtbDIgc2V0IG9mIGV4YW1wbGVzPC94c2w6dmFyaWFibGU+CisgICAgIDx4c2w6ZG9jdW1lbnQgaHJlZj0iaW5kZXguaHRtbCIgbWV0aG9kPSJ4bWwiIGVuY29kaW5nPSJJU08tODg1OS0xIgorICAgICAgICAgZG9jdHlwZS1wdWJsaWM9Ii0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIgorICAgICBkb2N0eXBlLXN5c3RlbT0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+CisgICAgICA8aHRtbD4KKyAgICAgICAgPGhlYWQ+CisgICAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJzdHlsZSIvPgorCTx4c2w6ZWxlbWVudCBuYW1lPSJ0aXRsZSI+CisJICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iJHRpdGxlIi8+CisJPC94c2w6ZWxlbWVudD4KKyAgICAgICAgPC9oZWFkPgorICAgICAgICA8Ym9keSBiZ2NvbG9yPSIjOGI3NzY1IiB0ZXh0PSIjMDAwMDAwIiBsaW5rPSIjMDAwMDAwIiB2bGluaz0iIzAwMDAwMCI+CisgICAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9InRpdGxlYm94Ij4KKwkgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9InRpdGxlIiBzZWxlY3Q9IiR0aXRsZSIvPgorCSAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKyAgICAgICAgICA8dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iNCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIiBhbGlnbj0iY2VudGVyIj4KKyAgICAgICAgICAgIDx0cj4KKyAgICAgICAgICAgICAgPHRkIGJnY29sb3I9IiM4Yjc3NjUiPgorICAgICAgICAgICAgICAgIDx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiIgd2lkdGg9IjEwMCUiPgorICAgICAgICAgICAgICAgICAgPHRyPgorICAgICAgICAgICAgICAgICAgICA8dGQgdmFsaWduPSJ0b3AiIHdpZHRoPSIyMDAiIGJnY29sb3I9IiM4Yjc3NjUiPgorICAgICAgICAgICAgICAgICAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJ0b2MiLz4KKyAgICAgICAgICAgICAgICAgICAgPC90ZD4KKyAgICAgICAgICAgICAgICAgICAgPHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjOGI3NzY1Ij4KKyAgICAgICAgICAgICAgICAgICAgICA8dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiB3aWR0aD0iMTAwJSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj4KKwkJCQkgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0ic2VjdGlvbnMiLz4KKwkJCQkJPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9InNlY3Rpb25zLWxpc3QiLz4KKwkJCQkJPHA+PGEgaHJlZj0iLi4vYnVncy5odG1sIj5EYW5pZWwgVmVpbGxhcmQ8L2E+PC9wPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPgorICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgorICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KKyAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPgorICAgICAgICAgICAgICAgICAgICA8L3RkPgorICAgICAgICAgICAgICAgICAgPC90cj4KKyAgICAgICAgICAgICAgICA8L3RhYmxlPgorICAgICAgICAgICAgICA8L3RkPgorICAgICAgICAgICAgPC90cj4KKyAgICAgICAgICA8L3RhYmxlPgorICAgICAgICA8L2JvZHk+CisgICAgICA8L2h0bWw+CisgICAgPC94c2w6ZG9jdW1lbnQ+CisgIDwveHNsOnRlbXBsYXRlPgorCis8L3hzbDpzdHlsZXNoZWV0PgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvZXhhbXBsZXMvaW5kZXguaHRtbCBiL2xpYnhtbDIvZG9jL2V4YW1wbGVzL2luZGV4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzkzMTRhMwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL2V4YW1wbGVzL2luZGV4Lmh0bWwKQEAgLTAsMCArMSwxNCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/PgorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPgorPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPjxoZWFkPjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTEiIC8+PGxpbmsgcmVsPSJTSE9SVENVVCBJQ09OIiBocmVmPSIvZmF2aWNvbi5pY28iIC8+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK1REIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitCT0RZIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2E7IG1hcmdpbi10b3A6IDJlbTsgbWFyZ2luLWxlZnQ6IDBlbTsgbWFyZ2luLXJpZ2h0OiAwZW19CitIMSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDIge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gzIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitBOmxpbmssIEE6dmlzaXRlZCwgQTphY3RpdmUgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB9Cis8L3N0eWxlPjx0aXRsZT5MaWJ4bWwyIHNldCBvZiBleGFtcGxlczwvdGl0bGU+PC9oZWFkPjxib2R5IGJnY29sb3I9IiM4Yjc3NjUiIHRleHQ9IiMwMDAwMDAiIGxpbms9IiMwMDAwMDAiIHZsaW5rPSIjMDAwMDAwIj48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iMTAwJSIgY2VsbHBhZGRpbmc9IjUiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIHdpZHRoPSIxMjAiPjxhIGhyZWY9Imh0dHA6Ly9zd3BhdC5mZmlpLm9yZy8iPjxpbWcgc3JjPSIuLi9lcGF0ZW50cy5wbmciIGFsdD0iQWN0aW9uIGFnYWluc3Qgc29mdHdhcmUgcGF0ZW50cyIgLz48L2E+PC90ZD48dGQgd2lkdGg9IjE4MCI+PGEgaHJlZj0iaHR0cDovL3d3dy5nbm9tZS5vcmcvIj48aW1nIHNyYz0iLi4vZ25vbWUyLnBuZyIgYWx0PSJHbm9tZTIgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvU3RhdHVzIj48aW1nIHNyYz0iLi4vdzNjLnBuZyIgYWx0PSJXM0MgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy5yZWRoYXQuY29tLyI+PGltZyBzcmM9Ii4uL3JlZGhhdC5naWYiIGFsdD0iUmVkIEhhdCBMb2dvIiAvPjwvYT48ZGl2IGFsaWduPSJsZWZ0Ij48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvIj48aW1nIHNyYz0iLi4vTGlieG1sMi1Mb2dvLTE4MHgxNjguZ2lmIiBhbHQ9Ik1hZGUgd2l0aCBMaWJ4bWwyIExvZ28iIC8+PC9hPjwvZGl2PjwvdGQ+PHRkPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSI5MCUiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIiBiZ2NvbG9yPSIjZmZmYWNkIj48dHI+PHRkIGFsaWduPSJjZW50ZXIiPjxoMT48L2gxPjxoMj5MaWJ4bWwyIHNldCBvZiBleGFtcGxlczwvaDI+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjQiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiIHdpZHRoPSIxMDAlIj48dHI+PHRkIHZhbGlnbj0idG9wIiB3aWR0aD0iMjAwIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5FeGFtcGxlcyBNZW51PC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjxmb3JtIGFjdGlvbj0iLi4vc2VhcmNoLnBocCIgZW5jdHlwZT0iYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIiBtZXRob2Q9ImdldCI+PGlucHV0IG5hbWU9InF1ZXJ5IiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IiIgLz48aW5wdXQgbmFtZT0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJTZWFyY2ggLi4uIiAvPjwvZm9ybT48dWw+PGxpPjxhIGhyZWY9Ii4uL2luZGV4Lmh0bWwiPkhvbWU8L2E+PC9saT48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9Ii4uL2RvY3MuaHRtbCI+RGV2ZWxvcGVyIE1lbnU8L2E+PC9saT48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9Ii4uL2h0bWwvaW5kZXguaHRtbCI+QVBJIE1lbnU8L2E+PC9saT48bGk+PGEgaHJlZj0iI0lucHV0T3V0cHV0Ij5JbnB1dE91dHB1dCBFeGFtcGxlczwvYT48L2xpPjxsaT48YSBocmVmPSIjUGFyc2luZyI+UGFyc2luZyBFeGFtcGxlczwvYT48L2xpPjxsaT48YSBocmVmPSIjVHJlZSI+VHJlZSBFeGFtcGxlczwvYT48L2xpPjxsaT48YSBocmVmPSIjWFBhdGgiPlhQYXRoIEV4YW1wbGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9IiN4bWxSZWFkZXIiPnhtbFJlYWRlciBFeGFtcGxlczwvYT48L2xpPjxsaT48YSBocmVmPSIjeG1sV3JpdGVyIj54bWxXcml0ZXIgRXhhbXBsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vZ3VpZGVsaW5lcy5odG1sIj5YTUwgR3VpZGVsaW5lczwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPlJlbGF0ZWQgbGlua3M8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSJodHRwOi8vbWFpbC5nbm9tZS5vcmcvYXJjaGl2ZXMveG1sLyI+TWFpbCBhcmNoaXZlPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9YU0xULyI+WFNMVCBsaWJ4c2x0PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9waGQuY3MudW5pYm8uaXQvZ2RvbWUyLyI+RE9NIGdkb21lMjwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmFsZWtzZXkuY29tL3htbHNlYy8iPlhNTC1EU2lnIHhtbHNlYzwvYT48L2xpPjxsaT48YSBocmVmPSJmdHA6Ly94bWxzb2Z0Lm9yZy8iPkZUUDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnpsYXRrb3ZpYy5jb20vcHJvamVjdHMvbGlieG1sLyI+V2luZG93cyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vb3BlbmNzdy5vcmcvcGFja2FnZXMvbGlieG1sMiI+U29sYXJpcyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmV4cGxhaW4uY29tLmF1L29zcy9saWJ4bWwyeHNsdC5odG1sIj5NYWNPc1ggYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2x4bWwuZGUvIj5seG1sIFB5dGhvbiBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vY3Bhbi51d2lubmlwZWcuY2EvZGlzdC9YTUwtTGliWE1MIj5QZXJsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWxwbHVzcGx1cy5zb3VyY2Vmb3JnZS5uZXQvIj5DKysgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56ZW5kLmNvbS9waHA1L2FydGljbGVzL3BocDUteG1scGhwLnBocCNIZWFkaW5nNCI+UEhQIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbGlieG1sMi1wYXMvIj5QYXNjYWwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbC5ydWJ5Zm9yZ2Uub3JnLyI+UnVieSBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vdGNseG1sLnNvdXJjZWZvcmdlLm5ldC8iPlRjbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2J1Z2xpc3QuY2dpP3Byb2R1Y3Q9bGlieG1sMiI+QnVnIFRyYWNrZXI8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48cD4gVGhlIGV4YW1wbGVzIGFyZSBzdG9yZWQgcGVyIHNlY3Rpb24gZGVwZW5kaW5nIG9uIHRoZSBtYWluIGZvY3VzCisgICAgb2YgdGhlIGV4YW1wbGU6PC9wPjx1bD48bGk+PHA+PGEgaHJlZj0iI3htbFdyaXRlciI+eG1sV3JpdGVyPC9hPiA6PC9wPjx1bD48bGk+PGEgaHJlZj0iI3Rlc3RXcml0ZXIuYyI+dGVzdFdyaXRlci5jPC9hPjogdXNlIHZhcmlvdXMgQVBJcyBmb3IgdGhlIHhtbFdyaXRlcjwvbGk+PC91bD48L2xpPjxsaT48cD48YSBocmVmPSIjSW5wdXRPdXRwdXQiPklucHV0T3V0cHV0PC9hPiA6PC9wPjx1bD48bGk+PGEgaHJlZj0iI2lvMS5jIj5pbzEuYzwvYT46IEV4YW1wbGUgb2YgY3VzdG9tIElucHV0L091dHB1dDwvbGk+PGxpPjxhIGhyZWY9IiNpbzIuYyI+aW8yLmM8L2E+OiBPdXRwdXQgdG8gY2hhciBidWZmZXI8L2xpPjwvdWw+PC9saT48bGk+PHA+PGEgaHJlZj0iI1RyZWUiPlRyZWU8L2E+IDo8L3A+PHVsPjxsaT48YSBocmVmPSIjdHJlZTIuYyI+dHJlZTIuYzwvYT46IENyZWF0ZXMgYSB0cmVlPC9saT48bGk+PGEgaHJlZj0iI3RyZWUxLmMiPnRyZWUxLmM8L2E+OiBOYXZpZ2F0ZXMgYSB0cmVlIHRvIHByaW50IGVsZW1lbnQgbmFtZXM8L2xpPjwvdWw+PC9saT48bGk+PHA+PGEgaHJlZj0iI1hQYXRoIj5YUGF0aDwvYT4gOjwvcD48dWw+PGxpPjxhIGhyZWY9IiN4cGF0aDEuYyI+eHBhdGgxLmM8L2E+OiBFdmFsdWF0ZSBYUGF0aCBleHByZXNzaW9uIGFuZCBwcmludHMgcmVzdWx0IG5vZGUgc2V0LjwvbGk+PGxpPjxhIGhyZWY9IiN4cGF0aDIuYyI+eHBhdGgyLmM8L2E+OiBMb2FkIGEgZG9jdW1lbnQsIGxvY2F0ZSBzdWJlbGVtZW50cyB3aXRoIFhQYXRoLCBtb2RpZnkgc2FpZCBlbGVtZW50cyBhbmQgc2F2ZSB0aGUgcmVzdWx0aW5nIGRvY3VtZW50LjwvbGk+PC91bD48L2xpPjxsaT48cD48YSBocmVmPSIjUGFyc2luZyI+UGFyc2luZzwvYT4gOjwvcD48dWw+PGxpPjxhIGhyZWY9IiNwYXJzZTMuYyI+cGFyc2UzLmM8L2E+OiBQYXJzZSBhbiBYTUwgZG9jdW1lbnQgaW4gbWVtb3J5IHRvIGEgdHJlZSBhbmQgZnJlZSBpdDwvbGk+PGxpPjxhIGhyZWY9IiNwYXJzZTQuYyI+cGFyc2U0LmM8L2E+OiBQYXJzZSBhbiBYTUwgZG9jdW1lbnQgY2h1bmsgYnkgY2h1bmsgdG8gYSB0cmVlIGFuZCBmcmVlIGl0PC9saT48bGk+PGEgaHJlZj0iI3BhcnNlMi5jIj5wYXJzZTIuYzwvYT46IFBhcnNlIGFuZCB2YWxpZGF0ZSBhbiBYTUwgZmlsZSB0byBhIHRyZWUgYW5kIGZyZWUgdGhlIHJlc3VsdDwvbGk+PGxpPjxhIGhyZWY9IiNwYXJzZTEuYyI+cGFyc2UxLmM8L2E+OiBQYXJzZSBhbiBYTUwgZmlsZSB0byBhIHRyZWUgYW5kIGZyZWUgaXQ8L2xpPjwvdWw+PC9saT48bGk+PHA+PGEgaHJlZj0iI3htbFJlYWRlciI+eG1sUmVhZGVyPC9hPiA6PC9wPjx1bD48bGk+PGEgaHJlZj0iI3JlYWRlcjIuYyI+cmVhZGVyMi5jPC9hPjogUGFyc2UgYW5kIHZhbGlkYXRlIGFuIFhNTCBmaWxlIHdpdGggYW4geG1sUmVhZGVyPC9saT48bGk+PGEgaHJlZj0iI3JlYWRlcjEuYyI+cmVhZGVyMS5jPC9hPjogUGFyc2UgYW4gWE1MIGZpbGUgd2l0aCBhbiB4bWxSZWFkZXI8L2xpPjxsaT48YSBocmVmPSIjcmVhZGVyMy5jIj5yZWFkZXIzLmM8L2E+OiBTaG93IGhvdyB0byBleHRyYWN0IHN1YmRvY3VtZW50cyB3aXRoIHhtbFJlYWRlcjwvbGk+PGxpPjxhIGhyZWY9IiNyZWFkZXI0LmMiPnJlYWRlcjQuYzwvYT46IFBhcnNlIG11bHRpcGxlIFhNTCBmaWxlcyByZXVzaW5nIGFuIHhtbFJlYWRlcjwvbGk+PC91bD48L2xpPjwvdWw+PHA+IEdldHRpbmcgdGhlIGNvbXBpbGF0aW9uIG9wdGlvbnMgYW5kIGxpYnJhcmllcyBkZXBlbmRhbmNpZXMgbmVlZGVkCit0byBnZW5lcmF0ZSBiaW5hcmllcyBmcm9tIHRoZSBleGFtcGxlcyBpcyBiZXN0IGRvbmUgb24gTGludXgvVW5peCBieSB1c2luZwordGhlIHhtbDItY29uZmlnIHNjcmlwdCB3aGljaCBzaG91bGQgaGF2ZSBiZWVuIGluc3RhbGxlZCBhcyBwYXJ0IG9mIDxpPm1ha2UKK2luc3RhbGw8L2k+IHN0ZXAgb3Igd2hlbiBpbnN0YWxsaW5nIHRoZSBsaWJ4bWwyIGRldmVsb3BtZW50IHBhY2thZ2U6PC9wPjxwcmU+Z2NjIC1vIGV4YW1wbGUgYHhtbDItY29uZmlnIC0tY2ZsYWdzYCBleGFtcGxlLmMgYHhtbDItY29uZmlnIC0tbGlic2A8L3ByZT48aDI+PGEgbmFtZT0iSW5wdXRPdXRwdXQiIGlkPSJJbnB1dE91dHB1dCI+PC9hPklucHV0T3V0cHV0IEV4YW1wbGVzPC9oMj48aDM+PGEgbmFtZT0iaW8xLmMiIGhyZWY9ImlvMS5jIiBpZD0iaW8xLmMiPmlvMS5jPC9hPjogRXhhbXBsZSBvZiBjdXN0b20gSW5wdXQvT3V0cHV0PC9oMz48cD5EZW1vbnN0cmF0ZSB0aGUgdXNlIG9mIHhtbFJlZ2lzdGVySW5wdXRDYWxsYmFja3MgdG8gYnVpbGQgYSBjdXN0b20gSS9PIGxheWVyLCB0aGlzIGlzIHVzZWQgaW4gYW4gWEluY2x1ZGUgbWV0aG9kIGNvbnRleHQgdG8gc2hvdyBob3cgZHluYW1pYyBkb2N1bWVudCBjYW4gYmUgYnVpbHQgaW4gYSBjbGVhbiB3YXkuPC9wPjxwPkluY2x1ZGVzOjwvcD48dWw+PGxpPjxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXBhcnNlci5odG1sIj4mbHQ7bGlieG1sL3BhcnNlci5oJmd0OzwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9odG1sL2xpYnhtbC14bWxJTy5odG1sIj4mbHQ7bGlieG1sL3htbElPLmgmZ3Q7PC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXhpbmNsdWRlLmh0bWwiPiZsdDtsaWJ4bWwveGluY2x1ZGUuaCZndDs8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vaHRtbC9saWJ4bWwtdHJlZS5odG1sIj4mbHQ7bGlieG1sL3RyZWUuaCZndDs8L2E+PC9saT48L3VsPjxwPlVzZXM6PC9wPjx1bD48bGk+IGxpbmUgMTA1OiBUeXBlIDxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZnJvbSB0cmVlLmg8L2xpPjxsaT4gbGluZSAxMTc6IE1hY3JvIDxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfVEVTVF9WRVJTSU9OIj5MSUJYTUxfVEVTVF9WRVJTSU9OPC9hPiBmcm9tIHhtbHZlcnNpb24uaDwvbGk+PGxpPiBsaW5lIDExNzogRnVuY3Rpb24gPGEgaHJlZj0iLi4vaHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxSZWdpc3RlcklucHV0Q2FsbGJhY2tzIj54bWxSZWdpc3RlcklucHV0Q2FsbGJhY2tzPC9hPiBmcm9tIHhtbElPLmg8L2xpPjxsaT4gbGluZSAxMjQ6IEZ1bmN0aW9uIDxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFJlYWRNZW1vcnkiPnhtbFJlYWRNZW1vcnk8L2E+IGZyb20gcGFyc2VyLmg8L2xpPjxsaT4gbGluZSAxMzQ6IEZ1bmN0aW9uIDxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXhpbmNsdWRlLmh0bWwjeG1sWEluY2x1ZGVQcm9jZXNzIj54bWxYSW5jbHVkZVByb2Nlc3M8L2E+IGZyb20geGluY2x1ZGUuaDwvbGk+PGxpPiBsaW5lIDE0MzogRnVuY3Rpb24gPGEgaHJlZj0iLi4vaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERvY0R1bXAiPnhtbERvY0R1bXA8L2E+IGZyb20gdHJlZS5oPC9saT48bGk+IGxpbmUgMTQ5OiBGdW5jdGlvbiA8YSBocmVmPSIuLi9odG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRnJlZURvYyI+eG1sRnJlZURvYzwvYT4gZnJvbSB0cmVlLmg8L2xpPjxsaT4gbGluZSAxNTQ6IEZ1bmN0aW9uIDxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbENsZWFudXBQYXJzZXIiPnhtbENsZWFudXBQYXJzZXI8L2E+IGZyb20gcGFyc2VyLmg8L2xpPjxsaT4gbGluZSAxNTg6IEZ1bmN0aW9uIDxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1lbW9yeUR1bXAiPnhtbE1lbW9yeUR1bXA8L2E+IGZyb20geG1sbWVtb3J5Lmg8L2xpPjwvdWw+PHA+VXNhZ2U6PC9wPjxwPmlvMTwvcD48cD5BdXRob3I6IERhbmllbCBWZWlsbGFyZDwvcD48aDM+PGEgbmFtZT0iaW8yLmMiIGhyZWY9ImlvMi5jIiBpZD0iaW8yLmMiPmlvMi5jPC9hPjogT3V0cHV0IHRvIGNoYXIgYnVmZmVyPC9oMz48cD5EZW1vbnN0cmF0ZSB0aGUgdXNlIG9mIHhtbERvY0R1bXBNZW1vcnkgdG8gb3V0cHV0IGRvY3VtZW50IHRvIGEgY2hhcmFjdGVyIGJ1ZmZlcjwvcD48cD5JbmNsdWRlczo8L3A+PHVsPjxsaT48YSBocmVmPSIuLi9odG1sL2xpYnhtbC1wYXJzZXIuaHRtbCI+Jmx0O2xpYnhtbC9wYXJzZXIuaCZndDs8L2E+PC9saT48L3VsPjxwPlVzZXM6PC9wPjx1bD48bGk+IGxpbmUgMTk6IFR5cGUgPGEgaHJlZj0iLi4vaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGZyb20gdHJlZS5oPC9saT48bGk+IGxpbmUgMjA6IFR5cGUgPGEgaHJlZj0iLi4vaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBmcm9tIHRyZWUuaDwvbGk+PGxpPiBsaW5lIDI3OiBGdW5jdGlvbiA8YSBocmVmPSIuLi9odG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3RG9jIj54bWxOZXdEb2M8L2E+IGZyb20gdHJlZS5oPC9saT48bGk+IGxpbmUgMjg6IEZ1bmN0aW9uIDxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdOb2RlIj54bWxOZXdOb2RlPC9hPiBmcm9tIHRyZWUuaDwvbGk+PGxpPiBsaW5lIDI5OiBGdW5jdGlvbiA8YSBocmVmPSIuLi9odG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVNldENvbnRlbnQiPnhtbE5vZGVTZXRDb250ZW50PC9hPiBmcm9tIHRyZWUuaDwvbGk+PGxpPiBsaW5lIDMwOiBGdW5jdGlvbiA8YSBocmVmPSIuLi9odG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRG9jU2V0Um9vdEVsZW1lbnQiPnhtbERvY1NldFJvb3RFbGVtZW50PC9hPiBmcm9tIHRyZWUuaDwvbGk+PGxpPiBsaW5lIDM2OiBGdW5jdGlvbiA8YSBocmVmPSIuLi9odG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRG9jRHVtcEZvcm1hdE1lbW9yeSI+eG1sRG9jRHVtcEZvcm1hdE1lbW9yeTwvYT4gZnJvbSB0cmVlLmg8L2xpPjwvdWw+PHA+VXNhZ2U6PC9wPjxwPmlvMjwvcD48cD5BdXRob3I6IEpvaG4gRmxlY2s8L3A+PGgyPjxhIG5hbWU9IlBhcnNpbmciIGlkPSJQYXJzaW5nIj48L2E+UGFyc2luZyBFeGFtcGxlczwvaDI+PGgzPjxhIG5hbWU9InBhcnNlMy5jIiBocmVmPSJwYXJzZTMuYyIgaWQ9InBhcnNlMy5jIj5wYXJzZTMuYzwvYT46IFBhcnNlIGFuIFhNTCBkb2N1bWVudCBpbiBtZW1vcnkgdG8gYSB0cmVlIGFuZCBmcmVlIGl0PC9oMz48cD5EZW1vbnN0cmF0ZSB0aGUgdXNlIG9mIHhtbFJlYWRNZW1vcnkoKSB0byByZWFkIGFuIFhNTCBmaWxlIGludG8gYSB0cmVlIGFuZCBhbmQgeG1sRnJlZURvYygpIHRvIGZyZWUgdGhlIHJlc3VsdGluZyB0cmVlPC9wPjxwPkluY2x1ZGVzOjwvcD48dWw+PGxpPjxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXRyZWUuaHRtbCI+Jmx0O2xpYnhtbC90cmVlLmgmZ3Q7PC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXBhcnNlci5odG1sIj4mbHQ7bGlieG1sL3BhcnNlci5oJmd0OzwvYT48L2xpPjwvdWw+PHA+VXNlczo8L3A+PHVsPjxsaT4gbGluZSAyNzogVHlwZSA8YSBocmVmPSIuLi9odG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGZyb20gdHJlZS5oPC9saT48bGk+IGxpbmUgMzM6IEZ1bmN0aW9uIDxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFJlYWRNZW1vcnkiPnhtbFJlYWRNZW1vcnk8L2E+IGZyb20gcGFyc2VyLmg8L2xpPjxsaT4gbGluZSAzODogRnVuY3Rpb24gPGEgaHJlZj0iLi4vaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEZyZWVEb2MiPnhtbEZyZWVEb2M8L2E+IGZyb20gdHJlZS5oPC9saT48bGk+IGxpbmUgNDk6IE1hY3JvIDxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfVEVTVF9WRVJTSU9OIj5MSUJYTUxfVEVTVF9WRVJTSU9OPC9hPiBmcm9tIHhtbHZlcnNpb24uaDwvbGk+PGxpPiBsaW5lIDU0OiBGdW5jdGlvbiA8YSBocmVmPSIuLi9odG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxDbGVhbnVwUGFyc2VyIj54bWxDbGVhbnVwUGFyc2VyPC9hPiBmcm9tIHBhcnNlci5oPC9saT48bGk+IGxpbmUgNTg6IEZ1bmN0aW9uIDxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1lbW9yeUR1bXAiPnhtbE1lbW9yeUR1bXA8L2E+IGZyb20geG1sbWVtb3J5Lmg8L2xpPjwvdWw+PHA+VXNhZ2U6PC9wPjxwPnBhcnNlMzwvcD48cD5BdXRob3I6IERhbmllbCBWZWlsbGFyZDwvcD48aDM+PGEgbmFtZT0icGFyc2U0LmMiIGhyZWY9InBhcnNlNC5jIiBpZD0icGFyc2U0LmMiPnBhcnNlNC5jPC9hPjogUGFyc2UgYW4gWE1MIGRvY3VtZW50IGNodW5rIGJ5IGNodW5rIHRvIGEgdHJlZSBhbmQgZnJlZSBpdDwvaDM+PHA+RGVtb25zdHJhdGUgdGhlIHVzZSBvZiB4bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dCgpIGFuZCB4bWxQYXJzZUNodW5rKCkgdG8gcmVhZCBhbiBYTUwgZmlsZSBwcm9ncmVzc2l2ZWx5IGludG8gYSB0cmVlIGFuZCBhbmQgeG1sRnJlZURvYygpIHRvIGZyZWUgdGhlIHJlc3VsdGluZyB0cmVlPC9wPjxwPkluY2x1ZGVzOjwvcD48dWw+PGxpPjxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXRyZWUuaHRtbCI+Jmx0O2xpYnhtbC90cmVlLmgmZ3Q7PC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXBhcnNlci5odG1sIj4mbHQ7bGlieG1sL3BhcnNlci5oJmd0OzwvYT48L2xpPjwvdWw+PHA+VXNlczo8L3A+PHVsPjxsaT4gbGluZSA0NTogVHlwZSA8YSBocmVmPSIuLi9odG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gZnJvbSB0cmVlLmg8L2xpPjxsaT4gbGluZSA0NzogVHlwZSA8YSBocmVmPSIuLi9odG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGZyb20gdHJlZS5oPC9saT48bGk+IGxpbmUgNjc6IEZ1bmN0aW9uIDxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbENyZWF0ZVB1c2hQYXJzZXJDdHh0Ij54bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dDwvYT4gZnJvbSBwYXJzZXIuaDwvbGk+PGxpPiBsaW5lIDg2OiBGdW5jdGlvbiA8YSBocmVmPSIuLi9odG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUNodW5rIj54bWxQYXJzZUNodW5rPC9hPiBmcm9tIHBhcnNlci5oPC9saT48bGk+IGxpbmUgOTQ6IEZ1bmN0aW9uIDxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEZyZWVQYXJzZXJDdHh0Ij54bWxGcmVlUGFyc2VyQ3R4dDwvYT4gZnJvbSBwYXJzZXIuaDwvbGk+PGxpPiBsaW5lIDEwMzogRnVuY3Rpb24gPGEgaHJlZj0iLi4vaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEZyZWVEb2MiPnhtbEZyZWVEb2M8L2E+IGZyb20gdHJlZS5oPC9saT48bGk+IGxpbmUgMTIwOiBNYWNybyA8YSBocmVmPSIuLi9odG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX1RFU1RfVkVSU0lPTiI+TElCWE1MX1RFU1RfVkVSU0lPTjwvYT4gZnJvbSB4bWx2ZXJzaW9uLmg8L2xpPjxsaT4gbGluZSAxMzE6IEZ1bmN0aW9uIDxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbENsZWFudXBQYXJzZXIiPnhtbENsZWFudXBQYXJzZXI8L2E+IGZyb20gcGFyc2VyLmg8L2xpPjxsaT4gbGluZSAxMzU6IEZ1bmN0aW9uIDxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1lbW9yeUR1bXAiPnhtbE1lbW9yeUR1bXA8L2E+IGZyb20geG1sbWVtb3J5Lmg8L2xpPjwvdWw+PHA+VXNhZ2U6PC9wPjxwPnBhcnNlNCB0ZXN0My54bWw8L3A+PHA+QXV0aG9yOiBEYW5pZWwgVmVpbGxhcmQ8L3A+PGgzPjxhIG5hbWU9InBhcnNlMi5jIiBocmVmPSJwYXJzZTIuYyIgaWQ9InBhcnNlMi5jIj5wYXJzZTIuYzwvYT46IFBhcnNlIGFuZCB2YWxpZGF0ZSBhbiBYTUwgZmlsZSB0byBhIHRyZWUgYW5kIGZyZWUgdGhlIHJlc3VsdDwvaDM+PHA+Q3JlYXRlIGEgcGFyc2VyIGNvbnRleHQgZm9yIGFuIFhNTCBmaWxlLCB0aGVuIHBhcnNlIGFuZCB2YWxpZGF0ZSB0aGUgZmlsZSwgY3JlYXRpbmcgYSB0cmVlLCBjaGVjayB0aGUgdmFsaWRhdGlvbiByZXN1bHQgYW5kIHhtbEZyZWVEb2MoKSB0byBmcmVlIHRoZSByZXN1bHRpbmcgdHJlZS48L3A+PHA+SW5jbHVkZXM6PC9wPjx1bD48bGk+PGEgaHJlZj0iLi4vaHRtbC9saWJ4bWwtdHJlZS5odG1sIj4mbHQ7bGlieG1sL3RyZWUuaCZndDs8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwiPiZsdDtsaWJ4bWwvcGFyc2VyLmgmZ3Q7PC9hPjwvbGk+PC91bD48cD5Vc2VzOjwvcD48dWw+PGxpPiBsaW5lIDI1OiBUeXBlIDxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBmcm9tIHRyZWUuaDwvbGk+PGxpPiBsaW5lIDI5OiBGdW5jdGlvbiA8YSBocmVmPSIuLi9odG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxOZXdQYXJzZXJDdHh0Ij54bWxOZXdQYXJzZXJDdHh0PC9hPiBmcm9tIHBhcnNlci5oPC9saT48bGk+IGxpbmUgMzU6IEZ1bmN0aW9uIDxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEN0eHRSZWFkRmlsZSI+eG1sQ3R4dFJlYWRGaWxlPC9hPiBmcm9tIHBhcnNlci5oPC9saT48bGk+IGxpbmUgNDc6IEZ1bmN0aW9uIDxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEZyZWVQYXJzZXJDdHh0Ij54bWxGcmVlUGFyc2VyQ3R4dDwvYT4gZnJvbSBwYXJzZXIuaDwvbGk+PC91bD48cD5Vc2FnZTo8L3A+PHA+cGFyc2UyIHRlc3QyLnhtbDwvcD48cD5BdXRob3I6IERhbmllbCBWZWlsbGFyZDwvcD48aDM+PGEgbmFtZT0icGFyc2UxLmMiIGhyZWY9InBhcnNlMS5jIiBpZD0icGFyc2UxLmMiPnBhcnNlMS5jPC9hPjogUGFyc2UgYW4gWE1MIGZpbGUgdG8gYSB0cmVlIGFuZCBmcmVlIGl0PC9oMz48cD5EZW1vbnN0cmF0ZSB0aGUgdXNlIG9mIHhtbFJlYWRGaWxlKCkgdG8gcmVhZCBhbiBYTUwgZmlsZSBpbnRvIGEgdHJlZSBhbmQgYW5kIHhtbEZyZWVEb2MoKSB0byBmcmVlIHRoZSByZXN1bHRpbmcgdHJlZTwvcD48cD5JbmNsdWRlczo8L3A+PHVsPjxsaT48YSBocmVmPSIuLi9odG1sL2xpYnhtbC10cmVlLmh0bWwiPiZsdDtsaWJ4bWwvdHJlZS5oJmd0OzwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9odG1sL2xpYnhtbC1wYXJzZXIuaHRtbCI+Jmx0O2xpYnhtbC9wYXJzZXIuaCZndDs8L2E+PC9saT48L3VsPjxwPlVzZXM6PC9wPjx1bD48bGk+IGxpbmUgMjY6IEZ1bmN0aW9uIDxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFJlYWRGaWxlIj54bWxSZWFkRmlsZTwvYT4gZnJvbSBwYXJzZXIuaDwvbGk+PC91bD48cD5Vc2FnZTo8L3A+PHA+cGFyc2UxIHRlc3QxLnhtbDwvcD48cD5BdXRob3I6IERhbmllbCBWZWlsbGFyZDwvcD48aDI+PGEgbmFtZT0iVHJlZSIgaWQ9IlRyZWUiPjwvYT5UcmVlIEV4YW1wbGVzPC9oMj48aDM+PGEgbmFtZT0idHJlZTIuYyIgaHJlZj0idHJlZTIuYyIgaWQ9InRyZWUyLmMiPnRyZWUyLmM8L2E+OiBDcmVhdGVzIGEgdHJlZTwvaDM+PHA+U2hvd3MgaG93IHRvIGNyZWF0ZSBkb2N1bWVudCwgbm9kZXMgYW5kIGR1bXAgaXQgdG8gc3Rkb3V0IG9yIGZpbGUuPC9wPjxwPkluY2x1ZGVzOjwvcD48dWw+PGxpPjxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXRyZWUuaHRtbCI+Jmx0O2xpYnhtbC90cmVlLmgmZ3Q7PC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXBhcnNlci5odG1sIj4mbHQ7bGlieG1sL3BhcnNlci5oJmd0OzwvYT48L2xpPjwvdWw+PHA+VXNlczo8L3A+PHVsPjxsaT4gbGluZSAzNDogTWFjcm8gPGEgaHJlZj0iLi4vaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9URVNUX1ZFUlNJT04iPkxJQlhNTF9URVNUX1ZFUlNJT048L2E+IGZyb20geG1sdmVyc2lvbi5oPC9saT48bGk+IGxpbmUgMzk6IEZ1bmN0aW9uIDxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdEb2MiPnhtbE5ld0RvYzwvYT4gZnJvbSB0cmVlLmg8L2xpPjxsaT4gbGluZSA0MTogRnVuY3Rpb24gPGEgaHJlZj0iLi4vaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERvY1NldFJvb3RFbGVtZW50Ij54bWxEb2NTZXRSb290RWxlbWVudDwvYT4gZnJvbSB0cmVlLmg8L2xpPjxsaT4gbGluZSA0NjogRnVuY3Rpb24gPGEgaHJlZj0iLi4vaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbENyZWF0ZUludFN1YnNldCI+eG1sQ3JlYXRlSW50U3Vic2V0PC9hPiBmcm9tIHRyZWUuaDwvbGk+PGxpPiBsaW5lIDc0OiBGdW5jdGlvbiA8YSBocmVmPSIuLi9odG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3Tm9kZSI+eG1sTmV3Tm9kZTwvYT4gZnJvbSB0cmVlLmg8L2xpPjxsaT4gbGluZSA3NTogRnVuY3Rpb24gPGEgaHJlZj0iLi4vaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld1RleHQiPnhtbE5ld1RleHQ8L2E+IGZyb20gdHJlZS5oPC9saT48bGk+IGxpbmUgNzg6IEZ1bmN0aW9uIDxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxBZGRDaGlsZCI+eG1sQWRkQ2hpbGQ8L2E+IGZyb20gdHJlZS5oPC9saT48bGk+IGxpbmUgODg6IEZ1bmN0aW9uIDxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdDaGlsZCI+eG1sTmV3Q2hpbGQ8L2E+IGZyb20gdHJlZS5oPC9saT48bGk+IGxpbmUgODk6IEZ1bmN0aW9uIDxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdQcm9wIj54bWxOZXdQcm9wPC9hPiBmcm9tIHRyZWUuaDwvbGk+PGxpPiBsaW5lIDk2OiBGdW5jdGlvbiA8YSBocmVmPSIuLi9odG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2F2ZUZvcm1hdEZpbGVFbmMiPnhtbFNhdmVGb3JtYXRGaWxlRW5jPC9hPiBmcm9tIHRyZWUuaDwvbGk+PGxpPiBsaW5lIDk5OiBGdW5jdGlvbiA8YSBocmVmPSIuLi9odG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRnJlZURvYyI+eG1sRnJlZURvYzwvYT4gZnJvbSB0cmVlLmg8L2xpPjxsaT4gbGluZSAxMDU6IEZ1bmN0aW9uIDxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbENsZWFudXBQYXJzZXIiPnhtbENsZWFudXBQYXJzZXI8L2E+IGZyb20gcGFyc2VyLmg8L2xpPjxsaT4gbGluZSAxMTA6IEZ1bmN0aW9uIDxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1lbW9yeUR1bXAiPnhtbE1lbW9yeUR1bXA8L2E+IGZyb20geG1sbWVtb3J5Lmg8L2xpPjwvdWw+PHA+VXNhZ2U6PC9wPjxwPnRyZWUyICZsdDtmaWxlbmFtZSZndDsgIC1EZWZhdWx0IG91dHB1dDogc3Rkb3V0PC9wPjxwPkF1dGhvcjogTHVjYXMgQnJhc2lsaW5vICZsdDticmFzaWxpbm9AcmVjaWZlLnBlLmdvdi5iciZndDs8L3A+PGgzPjxhIG5hbWU9InRyZWUxLmMiIGhyZWY9InRyZWUxLmMiIGlkPSJ0cmVlMS5jIj50cmVlMS5jPC9hPjogTmF2aWdhdGVzIGEgdHJlZSB0byBwcmludCBlbGVtZW50IG5hbWVzPC9oMz48cD5QYXJzZSBhIGZpbGUgdG8gYSB0cmVlLCB1c2UgeG1sRG9jR2V0Um9vdEVsZW1lbnQoKSB0byBnZXQgdGhlIHJvb3QgZWxlbWVudCwgdGhlbiB3YWxrIHRoZSBkb2N1bWVudCBhbmQgcHJpbnQgYWxsIHRoZSBlbGVtZW50IG5hbWUgaW4gZG9jdW1lbnQgb3JkZXIuPC9wPjxwPkluY2x1ZGVzOjwvcD48dWw+PGxpPjxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXRyZWUuaHRtbCI+Jmx0O2xpYnhtbC90cmVlLmgmZ3Q7PC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXBhcnNlci5odG1sIj4mbHQ7bGlieG1sL3BhcnNlci5oJmd0OzwvYT48L2xpPjwvdWw+PHA+VXNlczo8L3A+PHVsPjxsaT4gbGluZSA2NzogRnVuY3Rpb24gPGEgaHJlZj0iLi4vaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUmVhZEZpbGUiPnhtbFJlYWRGaWxlPC9hPiBmcm9tIHBhcnNlci5oPC9saT48bGk+IGxpbmUgNzQ6IEZ1bmN0aW9uIDxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxEb2NHZXRSb290RWxlbWVudCI+eG1sRG9jR2V0Um9vdEVsZW1lbnQ8L2E+IGZyb20gdHJlZS5oPC9saT48L3VsPjxwPlVzYWdlOjwvcD48cD50cmVlMSBmaWxlbmFtZV9vcl9VUkw8L3A+PHA+QXV0aG9yOiBEb2RqaSBTZWtldGVsaTwvcD48aDI+PGEgbmFtZT0iWFBhdGgiIGlkPSJYUGF0aCI+PC9hPlhQYXRoIEV4YW1wbGVzPC9oMj48aDM+PGEgbmFtZT0ieHBhdGgxLmMiIGhyZWY9InhwYXRoMS5jIiBpZD0ieHBhdGgxLmMiPnhwYXRoMS5jPC9hPjogRXZhbHVhdGUgWFBhdGggZXhwcmVzc2lvbiBhbmQgcHJpbnRzIHJlc3VsdCBub2RlIHNldC48L2gzPjxwPlNob3dzIGhvdyB0byBldmFsdWF0ZSBYUGF0aCBleHByZXNzaW9uIGFuZCByZWdpc3RlciBrbm93biBuYW1lc3BhY2VzIGluIFhQYXRoIGNvbnRleHQuPC9wPjxwPkluY2x1ZGVzOjwvcD48dWw+PGxpPjxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXBhcnNlci5odG1sIj4mbHQ7bGlieG1sL3BhcnNlci5oJmd0OzwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9odG1sL2xpYnhtbC14cGF0aC5odG1sIj4mbHQ7bGlieG1sL3hwYXRoLmgmZ3Q7PC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwiPiZsdDtsaWJ4bWwveHBhdGhJbnRlcm5hbHMuaCZndDs8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vaHRtbC9saWJ4bWwtdHJlZS5odG1sIj4mbHQ7bGlieG1sL3RyZWUuaCZndDs8L2E+PC9saT48L3VsPjxwPlVzZXM6PC9wPjx1bD48bGk+IGxpbmUgMzk6IEZ1bmN0aW9uIDxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEluaXRQYXJzZXIiPnhtbEluaXRQYXJzZXI8L2E+IGZyb20gcGFyc2VyLmg8L2xpPjxsaT4gbGluZSA0MzogTWFjcm8gPGEgaHJlZj0iLi4vaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9URVNUX1ZFUlNJT04iPkxJQlhNTF9URVNUX1ZFUlNJT048L2E+IGZyb20geG1sdmVyc2lvbi5oPC9saT48bGk+IGxpbmUgNDk6IEZ1bmN0aW9uIDxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbENsZWFudXBQYXJzZXIiPnhtbENsZWFudXBQYXJzZXI8L2E+IGZyb20gcGFyc2VyLmg8L2xpPjxsaT4gbGluZSA1NDogRnVuY3Rpb24gPGEgaHJlZj0iLi4vaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWVtb3J5RHVtcCI+eG1sTWVtb3J5RHVtcDwvYT4gZnJvbSB4bWxtZW1vcnkuaDwvbGk+PGxpPiBsaW5lIDg2OiBUeXBlIDxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZnJvbSB0cmVlLmg8L2xpPjxsaT4gbGluZSA4NzogVHlwZSA8YSBocmVmPSIuLi9odG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFB0ciI+eG1sWFBhdGhDb250ZXh0UHRyPC9hPiBmcm9tIHhwYXRoLmg8L2xpPjxsaT4gbGluZSA4ODogVHlwZSA8YSBocmVmPSIuLi9odG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4gZnJvbSB4cGF0aC5oPC9saT48bGk+IGxpbmUgOTQ6IEZ1bmN0aW9uIDxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlRmlsZSI+eG1sUGFyc2VGaWxlPC9hPiBmcm9tIHBhcnNlci5oPC9saT48bGk+IGxpbmUgMTAxOiBGdW5jdGlvbiA8YSBocmVmPSIuLi9odG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoTmV3Q29udGV4dCI+eG1sWFBhdGhOZXdDb250ZXh0PC9hPiBmcm9tIHhwYXRoLmg8L2xpPjxsaT4gbGluZSAxMTc6IEZ1bmN0aW9uIDxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhFdmFsRXhwcmVzc2lvbiI+eG1sWFBhdGhFdmFsRXhwcmVzc2lvbjwvYT4gZnJvbSB4cGF0aC5oPC9saT48bGk+IGxpbmUgMTI5OiBGdW5jdGlvbiA8YSBocmVmPSIuLi9odG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoRnJlZU9iamVjdCI+eG1sWFBhdGhGcmVlT2JqZWN0PC9hPiBmcm9tIHhwYXRoLmg8L2xpPjxsaT4gbGluZSAxMzA6IEZ1bmN0aW9uIDxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhGcmVlQ29udGV4dCI+eG1sWFBhdGhGcmVlQ29udGV4dDwvYT4gZnJvbSB4cGF0aC5oPC9saT48bGk+IGxpbmUgMTMxOiBGdW5jdGlvbiA8YSBocmVmPSIuLi9odG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRnJlZURvYyI+eG1sRnJlZURvYzwvYT4gZnJvbSB0cmVlLmg8L2xpPjxsaT4gbGluZSAxNTY6IEZ1bmN0aW9uIDxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFN0cmR1cCI+eG1sU3RyZHVwPC9hPiBmcm9tIHhtbHN0cmluZy5oPC9saT48bGk+IGxpbmUgMTgwOiBGdW5jdGlvbiA8YSBocmVmPSIuLi9odG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJjaHIiPnhtbFN0cmNocjwvYT4gZnJvbSB4bWxzdHJpbmcuaDwvbGk+PGxpPiBsaW5lIDE4NjogRnVuY3Rpb24gPGEgaHJlZj0iLi4vaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJlZ2lzdGVyTnMiPnhtbFhQYXRoUmVnaXN0ZXJOczwvYT4gZnJvbSB4cGF0aEludGVybmFscy5oPC9saT48bGk+IGxpbmUgMjA2OiBUeXBlIDxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBmcm9tIHRyZWUuaDwvbGk+PGxpPiBsaW5lIDIxODogVHlwZSA8YSBocmVmPSIuLi9odG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTnNQdHIiPnhtbE5zUHRyPC9hPiBmcm9tIHRyZWUuaDwvbGk+PC91bD48cD5Vc2FnZTo8L3A+PHA+eHBhdGgxICZsdDt4bWwtZmlsZSZndDsgJmx0O3hwYXRoLWV4cHImZ3Q7IFsmbHQ7a25vd24tbnMtbGlzdCZndDtdPC9wPjxwPkF1dGhvcjogQWxla3NleSBTYW5pbjwvcD48aDM+PGEgbmFtZT0ieHBhdGgyLmMiIGhyZWY9InhwYXRoMi5jIiBpZD0ieHBhdGgyLmMiPnhwYXRoMi5jPC9hPjogTG9hZCBhIGRvY3VtZW50LCBsb2NhdGUgc3ViZWxlbWVudHMgd2l0aCBYUGF0aCwgbW9kaWZ5IHNhaWQgZWxlbWVudHMgYW5kIHNhdmUgdGhlIHJlc3VsdGluZyBkb2N1bWVudC48L2gzPjxwPlNob3dzIGhvdyB0byBtYWtlIGEgZnVsbCByb3VuZC10cmlwIGZyb20gYSBsb2FkL2VkaXQvc2F2ZTwvcD48cD5JbmNsdWRlczo8L3A+PHVsPjxsaT48YSBocmVmPSIuLi9odG1sL2xpYnhtbC1wYXJzZXIuaHRtbCI+Jmx0O2xpYnhtbC9wYXJzZXIuaCZndDs8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vaHRtbC9saWJ4bWwteHBhdGguaHRtbCI+Jmx0O2xpYnhtbC94cGF0aC5oJmd0OzwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9odG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sIj4mbHQ7bGlieG1sL3hwYXRoSW50ZXJuYWxzLmgmZ3Q7PC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXRyZWUuaHRtbCI+Jmx0O2xpYnhtbC90cmVlLmgmZ3Q7PC9hPjwvbGk+PC91bD48cD5Vc2VzOjwvcD48dWw+PGxpPiBsaW5lIDQxOiBGdW5jdGlvbiA8YSBocmVmPSIuLi9odG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxJbml0UGFyc2VyIj54bWxJbml0UGFyc2VyPC9hPiBmcm9tIHBhcnNlci5oPC9saT48bGk+IGxpbmUgODY6IFR5cGUgPGEgaHJlZj0iLi4vaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBmcm9tIHRyZWUuaDwvbGk+PGxpPiBsaW5lIDg3OiBUeXBlIDxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0UHRyIj54bWxYUGF0aENvbnRleHRQdHI8L2E+IGZyb20geHBhdGguaDwvbGk+PGxpPiBsaW5lIDg4OiBUeXBlIDxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPiBmcm9tIHhwYXRoLmg8L2xpPjxsaT4gbGluZSA5NTogRnVuY3Rpb24gPGEgaHJlZj0iLi4vaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VGaWxlIj54bWxQYXJzZUZpbGU8L2E+IGZyb20gcGFyc2VyLmg8L2xpPjxsaT4gbGluZSAxMDI6IEZ1bmN0aW9uIDxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhOZXdDb250ZXh0Ij54bWxYUGF0aE5ld0NvbnRleHQ8L2E+IGZyb20geHBhdGguaDwvbGk+PGxpPiBsaW5lIDExMDogRnVuY3Rpb24gPGEgaHJlZj0iLi4vaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aEV2YWxFeHByZXNzaW9uIj54bWxYUGF0aEV2YWxFeHByZXNzaW9uPC9hPiBmcm9tIHhwYXRoLmg8L2xpPjxsaT4gbGluZSAxMjM6IEZ1bmN0aW9uIDxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhGcmVlT2JqZWN0Ij54bWxYUGF0aEZyZWVPYmplY3Q8L2E+IGZyb20geHBhdGguaDwvbGk+PGxpPiBsaW5lIDEyNDogRnVuY3Rpb24gPGEgaHJlZj0iLi4vaHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aEZyZWVDb250ZXh0Ij54bWxYUGF0aEZyZWVDb250ZXh0PC9hPiBmcm9tIHhwYXRoLmg8L2xpPjxsaT4gbGluZSAxMjc6IEZ1bmN0aW9uIDxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxEb2NEdW1wIj54bWxEb2NEdW1wPC9hPiBmcm9tIHRyZWUuaDwvbGk+PGxpPiBsaW5lIDEzMTogRnVuY3Rpb24gPGEgaHJlZj0iLi4vaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEZyZWVEb2MiPnhtbEZyZWVEb2M8L2E+IGZyb20gdHJlZS5oPC9saT48bGk+IGxpbmUgMTYyOiBGdW5jdGlvbiA8YSBocmVmPSIuLi9odG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVNldENvbnRlbnQiPnhtbE5vZGVTZXRDb250ZW50PC9hPiBmcm9tIHRyZWUuaDwvbGk+PC91bD48cD5Vc2FnZTo8L3A+PHA+eHBhdGgyICZsdDt4bWwtZmlsZSZndDsgJmx0O3hwYXRoLWV4cHImZ3Q7ICZsdDtuZXctdmFsdWUmZ3Q7PC9wPjxwPkF1dGhvcjogQWxla3NleSBTYW5pbiBhbmQgRGFuaWVsIFZlaWxsYXJkPC9wPjxoMj48YSBuYW1lPSJ4bWxSZWFkZXIiIGlkPSJ4bWxSZWFkZXIiPjwvYT54bWxSZWFkZXIgRXhhbXBsZXM8L2gyPjxoMz48YSBuYW1lPSJyZWFkZXIyLmMiIGhyZWY9InJlYWRlcjIuYyIgaWQ9InJlYWRlcjIuYyI+cmVhZGVyMi5jPC9hPjogUGFyc2UgYW5kIHZhbGlkYXRlIGFuIFhNTCBmaWxlIHdpdGggYW4geG1sUmVhZGVyPC9oMz48cD5EZW1vbnN0cmF0ZSB0aGUgdXNlIG9mIHhtbFJlYWRlckZvckZpbGUoKSB0byBwYXJzZSBhbiBYTUwgZmlsZSB2YWxpZGF0aW5nIHRoZSBjb250ZW50IGluIHRoZSBwcm9jZXNzIGFuZCBhY3RpdmF0aW5nIG9wdGlvbnMgbGlrZSBlbnRpdGllcyBzdWJzdGl0dXRpb24sIGFuZCBEVEQgYXR0cmlidXRlcyBkZWZhdWx0aW5nLiAoTm90ZSB0aGF0IHRoZSBYTUxSZWFkZXIgZnVuY3Rpb25zIHJlcXVpcmUgbGlieG1sMiB2ZXJzaW9uIGxhdGVyIHRoYW4gMi42Lik8L3A+PHA+SW5jbHVkZXM6PC9wPjx1bD48bGk+PGEgaHJlZj0iLi4vaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwiPiZsdDtsaWJ4bWwveG1scmVhZGVyLmgmZ3Q7PC9hPjwvbGk+PC91bD48cD5Vc2VzOjwvcD48dWw+PGxpPiBsaW5lIDMwOiBGdW5jdGlvbiA8YSBocmVmPSIuLi9odG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyQ29uc3ROYW1lIj54bWxUZXh0UmVhZGVyQ29uc3ROYW1lPC9hPiBmcm9tIHhtbHJlYWRlci5oPC9saT48bGk+IGxpbmUgMzQ6IEZ1bmN0aW9uIDxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJDb25zdFZhbHVlIj54bWxUZXh0UmVhZGVyQ29uc3RWYWx1ZTwvYT4gZnJvbSB4bWxyZWFkZXIuaDwvbGk+PGxpPiBsaW5lIDM3OiBGdW5jdGlvbiA8YSBocmVmPSIuLi9odG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyRGVwdGgiPnhtbFRleHRSZWFkZXJEZXB0aDwvYT4gZnJvbSB4bWxyZWFkZXIuaDwvbGk+PGxpPiBsaW5lIDM4OiBGdW5jdGlvbiA8YSBocmVmPSIuLi9odG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyTm9kZVR5cGUiPnhtbFRleHRSZWFkZXJOb2RlVHlwZTwvYT4gZnJvbSB4bWxyZWFkZXIuaDwvbGk+PGxpPiBsaW5lIDQwOiBGdW5jdGlvbiA8YSBocmVmPSIuLi9odG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVySXNFbXB0eUVsZW1lbnQiPnhtbFRleHRSZWFkZXJJc0VtcHR5RWxlbWVudDwvYT4gZnJvbSB4bWxyZWFkZXIuaDwvbGk+PGxpPiBsaW5lIDQxOiBGdW5jdGlvbiA8YSBocmVmPSIuLi9odG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVySGFzVmFsdWUiPnhtbFRleHRSZWFkZXJIYXNWYWx1ZTwvYT4gZnJvbSB4bWxyZWFkZXIuaDwvbGk+PGxpPiBsaW5lIDQ1OiBGdW5jdGlvbiA8YSBocmVmPSIuLi9odG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJsZW4iPnhtbFN0cmxlbjwvYT4gZnJvbSB4bWxzdHJpbmcuaDwvbGk+PGxpPiBsaW5lIDYwOiBUeXBlIDxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IGZyb20geG1scmVhZGVyLmg8L2xpPjxsaT4gbGluZSA2ODogRnVuY3Rpb24gPGEgaHJlZj0iLi4vaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sUmVhZGVyRm9yRmlsZSI+eG1sUmVhZGVyRm9yRmlsZTwvYT4gZnJvbSB4bWxyZWFkZXIuaDwvbGk+PGxpPiBsaW5lIDc2OiBGdW5jdGlvbiA8YSBocmVmPSIuLi9odG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUmVhZCI+eG1sVGV4dFJlYWRlclJlYWQ8L2E+IGZyb20geG1scmVhZGVyLmg8L2xpPjxsaT4gbGluZSA4MTogRnVuY3Rpb24gPGEgaHJlZj0iLi4vaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlcklzVmFsaWQiPnhtbFRleHRSZWFkZXJJc1ZhbGlkPC9hPiBmcm9tIHhtbHJlYWRlci5oPC9saT48bGk+IGxpbmUgODQ6IEZ1bmN0aW9uIDxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbEZyZWVUZXh0UmVhZGVyIj54bWxGcmVlVGV4dFJlYWRlcjwvYT4gZnJvbSB4bWxyZWFkZXIuaDwvbGk+PGxpPiBsaW5lIDEwNDogTWFjcm8gPGEgaHJlZj0iLi4vaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9URVNUX1ZFUlNJT04iPkxJQlhNTF9URVNUX1ZFUlNJT048L2E+IGZyb20geG1sdmVyc2lvbi5oPC9saT48bGk+IGxpbmUgMTA5OiBGdW5jdGlvbiA8YSBocmVmPSIuLi9odG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxDbGVhbnVwUGFyc2VyIj54bWxDbGVhbnVwUGFyc2VyPC9hPiBmcm9tIHBhcnNlci5oPC9saT48bGk+IGxpbmUgMTEzOiBGdW5jdGlvbiA8YSBocmVmPSIuLi9odG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNZW1vcnlEdW1wIj54bWxNZW1vcnlEdW1wPC9hPiBmcm9tIHhtbG1lbW9yeS5oPC9saT48L3VsPjxwPlVzYWdlOjwvcD48cD5yZWFkZXIyICZsdDt2YWxpZF94bWxfZmlsZW5hbWUmZ3Q7PC9wPjxwPkF1dGhvcjogRGFuaWVsIFZlaWxsYXJkPC9wPjxoMz48YSBuYW1lPSJyZWFkZXIxLmMiIGhyZWY9InJlYWRlcjEuYyIgaWQ9InJlYWRlcjEuYyI+cmVhZGVyMS5jPC9hPjogUGFyc2UgYW4gWE1MIGZpbGUgd2l0aCBhbiB4bWxSZWFkZXI8L2gzPjxwPkRlbW9uc3RyYXRlIHRoZSB1c2Ugb2YgeG1sUmVhZGVyRm9yRmlsZSgpIHRvIHBhcnNlIGFuIFhNTCBmaWxlIGFuZCBkdW1wIHRoZSBpbmZvcm1hdGlvbnMgYWJvdXQgdGhlIG5vZGVzIGZvdW5kIGluIHRoZSBwcm9jZXNzLiAoTm90ZSB0aGF0IHRoZSBYTUxSZWFkZXIgZnVuY3Rpb25zIHJlcXVpcmUgbGlieG1sMiB2ZXJzaW9uIGxhdGVyIHRoYW4gMi42Lik8L3A+PHA+SW5jbHVkZXM6PC9wPjx1bD48bGk+PGEgaHJlZj0iLi4vaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwiPiZsdDtsaWJ4bWwveG1scmVhZGVyLmgmZ3Q7PC9hPjwvbGk+PC91bD48cD5Vc2VzOjwvcD48dWw+PGxpPiBsaW5lIDI5OiBGdW5jdGlvbiA8YSBocmVmPSIuLi9odG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyQ29uc3ROYW1lIj54bWxUZXh0UmVhZGVyQ29uc3ROYW1lPC9hPiBmcm9tIHhtbHJlYWRlci5oPC9saT48bGk+IGxpbmUgMzM6IEZ1bmN0aW9uIDxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJDb25zdFZhbHVlIj54bWxUZXh0UmVhZGVyQ29uc3RWYWx1ZTwvYT4gZnJvbSB4bWxyZWFkZXIuaDwvbGk+PGxpPiBsaW5lIDM2OiBGdW5jdGlvbiA8YSBocmVmPSIuLi9odG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyRGVwdGgiPnhtbFRleHRSZWFkZXJEZXB0aDwvYT4gZnJvbSB4bWxyZWFkZXIuaDwvbGk+PGxpPiBsaW5lIDM3OiBGdW5jdGlvbiA8YSBocmVmPSIuLi9odG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyTm9kZVR5cGUiPnhtbFRleHRSZWFkZXJOb2RlVHlwZTwvYT4gZnJvbSB4bWxyZWFkZXIuaDwvbGk+PGxpPiBsaW5lIDM5OiBGdW5jdGlvbiA8YSBocmVmPSIuLi9odG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVySXNFbXB0eUVsZW1lbnQiPnhtbFRleHRSZWFkZXJJc0VtcHR5RWxlbWVudDwvYT4gZnJvbSB4bWxyZWFkZXIuaDwvbGk+PGxpPiBsaW5lIDQwOiBGdW5jdGlvbiA8YSBocmVmPSIuLi9odG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVySGFzVmFsdWUiPnhtbFRleHRSZWFkZXJIYXNWYWx1ZTwvYT4gZnJvbSB4bWxyZWFkZXIuaDwvbGk+PGxpPiBsaW5lIDQ0OiBGdW5jdGlvbiA8YSBocmVmPSIuLi9odG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJsZW4iPnhtbFN0cmxlbjwvYT4gZnJvbSB4bWxzdHJpbmcuaDwvbGk+PGxpPiBsaW5lIDU5OiBUeXBlIDxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IGZyb20geG1scmVhZGVyLmg8L2xpPjxsaT4gbGluZSA2MjogRnVuY3Rpb24gPGEgaHJlZj0iLi4vaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sUmVhZGVyRm9yRmlsZSI+eG1sUmVhZGVyRm9yRmlsZTwvYT4gZnJvbSB4bWxyZWFkZXIuaDwvbGk+PGxpPiBsaW5lIDY3OiBGdW5jdGlvbiA8YSBocmVmPSIuLi9odG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUmVhZCI+eG1sVGV4dFJlYWRlclJlYWQ8L2E+IGZyb20geG1scmVhZGVyLmg8L2xpPjxsaT4gbGluZSA2OTogRnVuY3Rpb24gPGEgaHJlZj0iLi4vaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sRnJlZVRleHRSZWFkZXIiPnhtbEZyZWVUZXh0UmVhZGVyPC9hPiBmcm9tIHhtbHJlYWRlci5oPC9saT48L3VsPjxwPlVzYWdlOjwvcD48cD5yZWFkZXIxICZsdDtmaWxlbmFtZSZndDs8L3A+PHA+QXV0aG9yOiBEYW5pZWwgVmVpbGxhcmQ8L3A+PGgzPjxhIG5hbWU9InJlYWRlcjMuYyIgaHJlZj0icmVhZGVyMy5jIiBpZD0icmVhZGVyMy5jIj5yZWFkZXIzLmM8L2E+OiBTaG93IGhvdyB0byBleHRyYWN0IHN1YmRvY3VtZW50cyB3aXRoIHhtbFJlYWRlcjwvaDM+PHA+RGVtb25zdHJhdGUgdGhlIHVzZSBvZiB4bWxUZXh0UmVhZGVyUHJlc2VydmVQYXR0ZXJuKCkgdG8gcGFyc2UgYW4gWE1MIGZpbGUgd2l0aCB0aGUgeG1sUmVhZGVyIHdoaWxlIGNvbGxlY3Rpbmcgb25seSBzb21lIHN1YnBhcnRzIG9mIHRoZSBkb2N1bWVudC4gKE5vdGUgdGhhdCB0aGUgWE1MUmVhZGVyIGZ1bmN0aW9ucyByZXF1aXJlIGxpYnhtbDIgdmVyc2lvbiBsYXRlciB0aGFuIDIuNi4pPC9wPjxwPkluY2x1ZGVzOjwvcD48dWw+PGxpPjxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sIj4mbHQ7bGlieG1sL3htbHJlYWRlci5oJmd0OzwvYT48L2xpPjwvdWw+PHA+VXNlczo8L3A+PHVsPjxsaT4gbGluZSAzMjogVHlwZSA8YSBocmVmPSIuLi9odG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiBmcm9tIHhtbHJlYWRlci5oPC9saT48bGk+IGxpbmUgMzg6IEZ1bmN0aW9uIDxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFJlYWRlckZvckZpbGUiPnhtbFJlYWRlckZvckZpbGU8L2E+IGZyb20geG1scmVhZGVyLmg8L2xpPjxsaT4gbGluZSA0MzogRnVuY3Rpb24gPGEgaHJlZj0iLi4vaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclByZXNlcnZlUGF0dGVybiI+eG1sVGV4dFJlYWRlclByZXNlcnZlUGF0dGVybjwvYT4gZnJvbSB4bWxyZWFkZXIuaDwvbGk+PGxpPiBsaW5lIDUyOiBGdW5jdGlvbiA8YSBocmVmPSIuLi9odG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUmVhZCI+eG1sVGV4dFJlYWRlclJlYWQ8L2E+IGZyb20geG1scmVhZGVyLmg8L2xpPjxsaT4gbGluZSA2MjogRnVuY3Rpb24gPGEgaHJlZj0iLi4vaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckN1cnJlbnREb2MiPnhtbFRleHRSZWFkZXJDdXJyZW50RG9jPC9hPiBmcm9tIHhtbHJlYWRlci5oPC9saT48bGk+IGxpbmUgNjY6IEZ1bmN0aW9uIDxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbEZyZWVUZXh0UmVhZGVyIj54bWxGcmVlVGV4dFJlYWRlcjwvYT4gZnJvbSB4bWxyZWFkZXIuaDwvbGk+PGxpPiBsaW5lIDk2OiBGdW5jdGlvbiA8YSBocmVmPSIuLi9odG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRG9jRHVtcCI+eG1sRG9jRHVtcDwvYT4gZnJvbSB0cmVlLmg8L2xpPjwvdWw+PHA+VXNhZ2U6PC9wPjxwPnJlYWRlcjM8L3A+PHA+QXV0aG9yOiBEYW5pZWwgVmVpbGxhcmQ8L3A+PGgzPjxhIG5hbWU9InJlYWRlcjQuYyIgaHJlZj0icmVhZGVyNC5jIiBpZD0icmVhZGVyNC5jIj5yZWFkZXI0LmM8L2E+OiBQYXJzZSBtdWx0aXBsZSBYTUwgZmlsZXMgcmV1c2luZyBhbiB4bWxSZWFkZXI8L2gzPjxwPkRlbW9uc3RyYXRlIHRoZSB1c2Ugb2YgeG1sUmVhZGVyRm9yRmlsZSgpIGFuZCB4bWxSZWFkZXJOZXdGaWxlIHRvIHBhcnNlIFhNTCBmaWxlcyB3aGlsZSByZXVzaW5nIHRoZSByZWFkZXIgb2JqZWN0IGFuZCBwYXJzZXIgY29udGV4dC4gIChOb3RlIHRoYXQgdGhlIFhNTFJlYWRlciBmdW5jdGlvbnMgcmVxdWlyZSBsaWJ4bWwyIHZlcnNpb24gbGF0ZXIgdGhhbiAyLjYuKTwvcD48cD5JbmNsdWRlczo8L3A+PHVsPjxsaT48YSBocmVmPSIuLi9odG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCI+Jmx0O2xpYnhtbC94bWxyZWFkZXIuaCZndDs8L2E+PC9saT48L3VsPjxwPlVzZXM6PC9wPjx1bD48bGk+IGxpbmUgMjY6IEZ1bmN0aW9uIDxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJSZWFkIj54bWxUZXh0UmVhZGVyUmVhZDwvYT4gZnJvbSB4bWxyZWFkZXIuaDwvbGk+PGxpPiBsaW5lIDU0OiBUeXBlIDxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IGZyb20geG1scmVhZGVyLmg8L2xpPjxsaT4gbGluZSA3MjogRnVuY3Rpb24gPGEgaHJlZj0iLi4vaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sUmVhZGVyRm9yRmlsZSI+eG1sUmVhZGVyRm9yRmlsZTwvYT4gZnJvbSB4bWxyZWFkZXIuaDwvbGk+PGxpPiBsaW5lIDgzOiBGdW5jdGlvbiA8YSBocmVmPSIuLi9odG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxSZWFkZXJOZXdGaWxlIj54bWxSZWFkZXJOZXdGaWxlPC9hPiBmcm9tIHhtbHJlYWRlci5oPC9saT48bGk+IGxpbmUgOTc6IEZ1bmN0aW9uIDxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJDdXJyZW50RG9jIj54bWxUZXh0UmVhZGVyQ3VycmVudERvYzwvYT4gZnJvbSB4bWxyZWFkZXIuaDwvbGk+PGxpPiBsaW5lIDEwNDogRnVuY3Rpb24gPGEgaHJlZj0iLi4vaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sRnJlZVRleHRSZWFkZXIiPnhtbEZyZWVUZXh0UmVhZGVyPC9hPiBmcm9tIHhtbHJlYWRlci5oPC9saT48L3VsPjxwPlVzYWdlOjwvcD48cD5yZWFkZXI0ICZsdDtmaWxlbmFtZSZndDsgWyBmaWxlbmFtZSAuLi4gXTwvcD48cD5BdXRob3I6IEdyYWhhbSBCZW5uZXR0PC9wPjxoMj48YSBuYW1lPSJ4bWxXcml0ZXIiIGlkPSJ4bWxXcml0ZXIiPjwvYT54bWxXcml0ZXIgRXhhbXBsZXM8L2gyPjxoMz48YSBuYW1lPSJ0ZXN0V3JpdGVyLmMiIGhyZWY9InRlc3RXcml0ZXIuYyIgaWQ9InRlc3RXcml0ZXIuYyI+dGVzdFdyaXRlci5jPC9hPjogdXNlIHZhcmlvdXMgQVBJcyBmb3IgdGhlIHhtbFdyaXRlcjwvaDM+PHA+dGVzdHMgYSBudW1iZXIgb2YgQVBJcyBmb3IgdGhlIHhtbFdyaXRlciwgZXNwZWNpYWxseSB0aGUgdmFyaW91cyBtZXRob2RzIHRvIHdyaXRlIHRvIGEgZmlsZW5hbWUsIHRvIGEgbWVtb3J5IGJ1ZmZlciwgdG8gYSBuZXcgZG9jdW1lbnQsIG9yIHRvIGEgc3VidHJlZS4gSXQgc2hvd3MgaG93IHRvIGRvIGVuY29kaW5nIHN0cmluZyBjb252ZXJzaW9ucyB0b28uIFRoZSByZXN1bHRpbmcgZG9jdW1lbnRzIGFyZSB0aGVuIHNlcmlhbGl6ZWQuPC9wPjxwPkluY2x1ZGVzOjwvcD48dWw+PGxpPjxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwiPiZsdDtsaWJ4bWwvZW5jb2RpbmcuaCZndDs8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwiPiZsdDtsaWJ4bWwveG1sd3JpdGVyLmgmZ3Q7PC9hPjwvbGk+PC91bD48cD5Vc2VzOjwvcD48dWw+PGxpPiBsaW5lIDc2OiBGdW5jdGlvbiA8YSBocmVmPSIuLi9odG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxOZXdUZXh0V3JpdGVyRmlsZW5hbWUiPnhtbE5ld1RleHRXcml0ZXJGaWxlbmFtZTwvYT4gZnJvbSB4bWx3cml0ZXIuaDwvbGk+PGxpPiBsaW5lIDM0MTogVHlwZSA8YSBocmVmPSIuLi9odG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyUHRyIj54bWxCdWZmZXJQdHI8L2E+IGZyb20gdHJlZS5oPC9saT48bGk+IGxpbmUgMzQ3OiBGdW5jdGlvbiA8YSBocmVmPSIuLi9odG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyQ3JlYXRlIj54bWxCdWZmZXJDcmVhdGU8L2E+IGZyb20gdHJlZS5oPC9saT48bGk+IGxpbmUgMzU1OiBGdW5jdGlvbiA8YSBocmVmPSIuLi9odG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxOZXdUZXh0V3JpdGVyTWVtb3J5Ij54bWxOZXdUZXh0V3JpdGVyTWVtb3J5PC9hPiBmcm9tIHhtbHdyaXRlci5oPC9saT48bGk+IGxpbmUgNjEzOiBGdW5jdGlvbiA8YSBocmVmPSIuLi9odG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyRnJlZSI+eG1sQnVmZmVyRnJlZTwvYT4gZnJvbSB0cmVlLmg8L2xpPjxsaT4gbGluZSA2MzI6IEZ1bmN0aW9uIDxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbE5ld1RleHRXcml0ZXJEb2MiPnhtbE5ld1RleHRXcml0ZXJEb2M8L2E+IGZyb20geG1sd3JpdGVyLmg8L2xpPjxsaT4gbGluZSA4Nzg6IFR5cGUgPGEgaHJlZj0iLi4vaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gZnJvbSB4bWx3cml0ZXIuaDwvbGk+PGxpPiBsaW5lIDg4MDogVHlwZSA8YSBocmVmPSIuLi9odG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gZnJvbSB0cmVlLmg8L2xpPjxsaT4gbGluZSA4ODU6IE1hY3JvIDxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9ERUZBVUxUX1ZFUlNJT04iPlhNTF9ERUZBVUxUX1ZFUlNJT048L2E+IGZyb20gcGFyc2VyLmg8L2xpPjxsaT4gbGluZSA4ODU6IEZ1bmN0aW9uIDxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdEb2MiPnhtbE5ld0RvYzwvYT4gZnJvbSB0cmVlLmg8L2xpPjxsaT4gbGluZSA4OTQ6IEZ1bmN0aW9uIDxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdEb2NOb2RlIj54bWxOZXdEb2NOb2RlPC9hPiBmcm9tIHRyZWUuaDwvbGk+PGxpPiBsaW5lIDkwMTogRnVuY3Rpb24gPGEgaHJlZj0iLi4vaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERvY1NldFJvb3RFbGVtZW50Ij54bWxEb2NTZXRSb290RWxlbWVudDwvYT4gZnJvbSB0cmVlLmg8L2xpPjxsaT4gbGluZSA5MDQ6IEZ1bmN0aW9uIDxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbE5ld1RleHRXcml0ZXJUcmVlIj54bWxOZXdUZXh0V3JpdGVyVHJlZTwvYT4gZnJvbSB4bWx3cml0ZXIuaDwvbGk+PGxpPiBsaW5lIDkxMzogRnVuY3Rpb24gPGEgaHJlZj0iLi4vaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclN0YXJ0RG9jdW1lbnQiPnhtbFRleHRXcml0ZXJTdGFydERvY3VtZW50PC9hPiBmcm9tIHhtbHdyaXRlci5oPC9saT48bGk+IGxpbmUgOTI1OiBGdW5jdGlvbiA8YSBocmVmPSIuLi9odG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVDb21tZW50Ij54bWxUZXh0V3JpdGVyV3JpdGVDb21tZW50PC9hPiBmcm9tIHhtbHdyaXRlci5oPC9saT48bGk+IGxpbmUgOTQ5OiBGdW5jdGlvbiA8YSBocmVmPSIuLi9odG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVBdHRyaWJ1dGUiPnhtbFRleHRXcml0ZXJXcml0ZUF0dHJpYnV0ZTwvYT4gZnJvbSB4bWx3cml0ZXIuaDwvbGk+PGxpPiBsaW5lIDk1OTogRnVuY3Rpb24gPGEgaHJlZj0iLi4vaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0Q29tbWVudCI+eG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0Q29tbWVudDwvYT4gZnJvbSB4bWx3cml0ZXIuaDwvbGk+PGxpPiBsaW5lIDEwNzM6IEZ1bmN0aW9uIDxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdEVsZW1lbnQiPnhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdEVsZW1lbnQ8L2E+IGZyb20geG1sd3JpdGVyLmg8L2xpPjxsaT4gbGluZSAxMDk2OiBGdW5jdGlvbiA8YSBocmVmPSIuLi9odG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyU3RhcnRFbGVtZW50Ij54bWxUZXh0V3JpdGVyU3RhcnRFbGVtZW50PC9hPiBmcm9tIHhtbHdyaXRlci5oPC9saT48bGk+IGxpbmUgMTEwMzogRnVuY3Rpb24gPGEgaHJlZj0iLi4vaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRWxlbWVudCI+eG1sVGV4dFdyaXRlcldyaXRlRWxlbWVudDwvYT4gZnJvbSB4bWx3cml0ZXIuaDwvbGk+PGxpPiBsaW5lIDExMTE6IEZ1bmN0aW9uIDxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJFbmRFbGVtZW50Ij54bWxUZXh0V3JpdGVyRW5kRWxlbWVudDwvYT4gZnJvbSB4bWx3cml0ZXIuaDwvbGk+PGxpPiBsaW5lIDExMjE6IEZ1bmN0aW9uIDxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJFbmREb2N1bWVudCI+eG1sVGV4dFdyaXRlckVuZERvY3VtZW50PC9hPiBmcm9tIHhtbHdyaXRlci5oPC9saT48bGk+IGxpbmUgMTEyNzogRnVuY3Rpb24gPGEgaHJlZj0iLi4vaHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sRnJlZVRleHRXcml0ZXIiPnhtbEZyZWVUZXh0V3JpdGVyPC9hPiBmcm9tIHhtbHdyaXRlci5oPC9saT48bGk+IGxpbmUgMTEyOTogRnVuY3Rpb24gPGEgaHJlZj0iLi4vaHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNhdmVGaWxlRW5jIj54bWxTYXZlRmlsZUVuYzwvYT4gZnJvbSB0cmVlLmg8L2xpPjxsaT4gbGluZSAxMTUxOiBUeXBlIDxhIGhyZWY9Ii4uL2h0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0ciI+eG1sQ2hhckVuY29kaW5nSGFuZGxlclB0cjwvYT4gZnJvbSBlbmNvZGluZy5oPC9saT48bGk+IGxpbmUgMTE1NjogRnVuY3Rpb24gPGEgaHJlZj0iLi4vaHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxGaW5kQ2hhckVuY29kaW5nSGFuZGxlciI+eG1sRmluZENoYXJFbmNvZGluZ0hhbmRsZXI8L2E+IGZyb20gZW5jb2RpbmcuaDwvbGk+PC91bD48cD5Vc2FnZTo8L3A+PHA+dGVzdFdyaXRlcjwvcD48cD5BdXRob3I6IEFsZnJlZCBNaWNrYXV0c2NoPC9wPjxwPjxhIGhyZWY9Ii4uL2J1Z3MuaHRtbCI+RGFuaWVsIFZlaWxsYXJkPC9hPjwvcD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvZXhhbXBsZXMvaW5kZXgucHkgYi9saWJ4bWwyL2RvYy9leGFtcGxlcy9pbmRleC5weQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43ZTBlZmFhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvZXhhbXBsZXMvaW5kZXgucHkKQEAgLTAsMCArMSwzMTQgQEAKKyMhL3Vzci9iaW4vcHl0aG9uIC11CisjCisjIEluZGV4ZXMgdGhlIGV4YW1wbGVzIGFuZCBidWlsZCBhbiBYTUwgZGVzY3JpcHRpb24KKyMKK2ltcG9ydCBzdHJpbmcKK2ltcG9ydCBnbG9iCitpbXBvcnQgc3lzCit0cnk6CisgICAgaW1wb3J0IGxpYnhtbDIKK2V4Y2VwdDoKKyAgICBzeXMuZXhpdCgxKQorc3lzLnBhdGguaW5zZXJ0KDAsICIuLiIpCitmcm9tIGFwaWJ1aWxkIGltcG9ydCBDUGFyc2VyLCBlc2NhcGUKKworZXhhbXBsZXMgPSBbXQorZXh0cmFzID0gWydleGFtcGxlcy54c2wnLCAnaW5kZXguaHRtbCcsICdpbmRleC5weSddCit0ZXN0cyA9IFtdCitzZWN0aW9ucyA9IHt9CitzeW1ib2xzID0ge30KK2FwaV9kaWN0ID0gTm9uZQorYXBpX2RvYyA9IE5vbmUKKworZGVmIGxvYWRfYXBpKCk6CisgICAgZ2xvYmFsIGFwaV9kaWN0CisgICAgZ2xvYmFsIGFwaV9kb2MKKworICAgIGlmIGFwaV9kaWN0ICE9IE5vbmU6CisgICAgICAgIHJldHVybgorICAgIGFwaV9kaWN0ID0ge30KKyAgICB0cnk6CisgICAgICAgIHByaW50ICJsb2FkaW5nIC4uL2xpYnhtbDItYXBpLnhtbCIKKyAgICAgICAgYXBpX2RvYyA9IGxpYnhtbDIucGFyc2VGaWxlKCIuLi9saWJ4bWwyLWFwaS54bWwiKQorICAgIGV4Y2VwdDoKKyAgICAgICAgcHJpbnQgImZhaWxlZCB0byBwYXJzZSAuLi9saWJ4bWwyLWFwaS54bWwiCisJc3lzLmV4aXQoMSkKKworZGVmIGZpbmRfc3ltYm9sKG5hbWUpOgorICAgIGdsb2JhbCBhcGlfZGljdAorICAgIGdsb2JhbCBhcGlfZG9jCisKKyAgICBpZiBhcGlfZG9jID09IE5vbmU6CisgICAgICAgIGxvYWRfYXBpKCkKKworICAgIGlmIG5hbWUgPT0gTm9uZToKKyAgICAgICAgcmV0dXJuCisgICAgaWYgYXBpX2RpY3QuaGFzX2tleShuYW1lKToKKyAgICAgICAgcmV0dXJuIGFwaV9kaWN0W25hbWVdCisgICAgY3R4dCA9IGFwaV9kb2MueHBhdGhOZXdDb250ZXh0KCkKKyAgICByZXMgPSBjdHh0LnhwYXRoRXZhbCgiL2FwaS9zeW1ib2xzLypbQG5hbWUgPSAnJXMnXSIgJSAobmFtZSkpCisgICAgaWYgdHlwZShyZXMpID09IHR5cGUoW10pIGFuZCBsZW4ocmVzKSA+PSAxOgorICAgICAgICBpZiBsZW4ocmVzKSA+IDE6CisJICAgIHByaW50ICJGb3VuZCAlZCByZWZlcmVuY2VzIHRvICVzIGluIHRoZSBBUEkiICUgKGxlbihyZXMpLCBuYW1lKQorCW5vZGUgPSByZXNbMF0KKwl0eXAgPSBub2RlLm5hbWUKKwlmaWxlID0gbm9kZS54cGF0aEV2YWwoInN0cmluZyhAZmlsZSkiKQorCWluZm8gPSBub2RlLnhwYXRoRXZhbCgic3RyaW5nKGluZm8pIikKKyAgICBlbHNlOgorICAgICAgICBwcmludCAiUmVmZXJlbmNlICVzIG5vdCBmb3VuZCBpbiB0aGUgQVBJIiAlIChuYW1lKQorCXJldHVybiBOb25lCisgICAgcmV0ID0gKHR5cCwgZmlsZSwgaW5mbykKKyAgICBhcGlfZGljdFtuYW1lXSA9IHJldAorICAgIHJldHVybiByZXQKKworZGVmIHBhcnNlX3RvcF9jb21tZW50KGZpbGVuYW1lLCBjb21tZW50KToKKyAgICByZXMgPSB7fQorICAgIGxpbmVzID0gc3RyaW5nLnNwbGl0KGNvbW1lbnQsICJcbiIpCisgICAgaXRlbSA9IE5vbmUKKyAgICBmb3IgbGluZSBpbiBsaW5lczoKKyAgICAgICAgd2hpbGUgbGluZSAhPSAiIiBhbmQgKGxpbmVbMF0gPT0gJyAnIG9yIGxpbmVbMF0gPT0gJ1x0Jyk6CisJICAgIGxpbmUgPSBsaW5lWzE6XQorICAgICAgICB3aGlsZSBsaW5lICE9ICIiIGFuZCBsaW5lWzBdID09ICcqJzoKKwkgICAgbGluZSA9IGxpbmVbMTpdCisgICAgICAgIHdoaWxlIGxpbmUgIT0gIiIgYW5kIChsaW5lWzBdID09ICcgJyBvciBsaW5lWzBdID09ICdcdCcpOgorCSAgICBsaW5lID0gbGluZVsxOl0KKwl0cnk6CisJICAgIChpdCwgbGluZSkgPSBzdHJpbmcuc3BsaXQobGluZSwgIjoiLCAxKQorCSAgICBpdGVtID0gaXQKKwkgICAgd2hpbGUgbGluZSAhPSAiIiBhbmQgKGxpbmVbMF0gPT0gJyAnIG9yIGxpbmVbMF0gPT0gJ1x0Jyk6CisJCWxpbmUgPSBsaW5lWzE6XQorCSAgICBpZiByZXMuaGFzX2tleShpdGVtKToKKwkgICAgICAgIHJlc1tpdGVtXSA9IHJlc1tpdGVtXSArICIgIiArIGxpbmUKKwkgICAgZWxzZToKKwkJcmVzW2l0ZW1dID0gbGluZQorCWV4Y2VwdDoKKwkgICAgaWYgaXRlbSAhPSBOb25lOgorCSAgICAgICAgaWYgcmVzLmhhc19rZXkoaXRlbSk6CisJCSAgICByZXNbaXRlbV0gPSByZXNbaXRlbV0gKyAiICIgKyBsaW5lCisJCWVsc2U6CisJCSAgICByZXNbaXRlbV0gPSBsaW5lCisgICAgcmV0dXJuIHJlcworCitkZWYgcGFyc2UoZmlsZW5hbWUsIG91dHB1dCk6CisgICAgZ2xvYmFsIHN5bWJvbHMKKyAgICBnbG9iYWwgc2VjdGlvbnMKKworICAgIHBhcnNlciA9IENQYXJzZXIoZmlsZW5hbWUpCisgICAgcGFyc2VyLmNvbGxlY3RfcmVmZXJlbmNlcygpCisgICAgaWR4ID0gcGFyc2VyLnBhcnNlKCkKKyAgICBpbmZvID0gcGFyc2VfdG9wX2NvbW1lbnQoZmlsZW5hbWUsIHBhcnNlci50b3BfY29tbWVudCkKKyAgICBvdXRwdXQud3JpdGUoIiAgPGV4YW1wbGUgZmlsZW5hbWU9JyVzJz5cbiIgJSBmaWxlbmFtZSkKKyAgICB0cnk6CisgICAgICAgIHN5bm9wc2lzID0gaW5mb1snc3lub3BzaXMnXQorCW91dHB1dC53cml0ZSgiICAgIDxzeW5vcHNpcz4lczwvc3lub3BzaXM+XG4iICUgZXNjYXBlKHN5bm9wc2lzKSk7CisgICAgZXhjZXB0OgorICAgICAgICBwcmludCAiRXhhbXBsZSAlcyBsYWNrcyBhIHN5bm9wc2lzIGRlc2NyaXB0aW9uIiAlIChmaWxlbmFtZSkKKyAgICB0cnk6CisgICAgICAgIHB1cnBvc2UgPSBpbmZvWydwdXJwb3NlJ10KKwlvdXRwdXQud3JpdGUoIiAgICA8cHVycG9zZT4lczwvcHVycG9zZT5cbiIgJSBlc2NhcGUocHVycG9zZSkpOworICAgIGV4Y2VwdDoKKyAgICAgICAgcHJpbnQgIkV4YW1wbGUgJXMgbGFja3MgYSBwdXJwb3NlIGRlc2NyaXB0aW9uIiAlIChmaWxlbmFtZSkKKyAgICB0cnk6CisgICAgICAgIHVzYWdlID0gaW5mb1sndXNhZ2UnXQorCW91dHB1dC53cml0ZSgiICAgIDx1c2FnZT4lczwvdXNhZ2U+XG4iICUgZXNjYXBlKHVzYWdlKSk7CisgICAgZXhjZXB0OgorICAgICAgICBwcmludCAiRXhhbXBsZSAlcyBsYWNrcyBhbiB1c2FnZSBkZXNjcmlwdGlvbiIgJSAoZmlsZW5hbWUpCisgICAgdHJ5OgorICAgICAgICB0ZXN0ID0gaW5mb1sndGVzdCddCisJb3V0cHV0LndyaXRlKCIgICAgPHRlc3Q+JXM8L3Rlc3Q+XG4iICUgZXNjYXBlKHRlc3QpKTsKKwlwcm9nbmFtZT1maWxlbmFtZVswOi0yXQorCWNvbW1hbmQ9c3RyaW5nLnJlcGxhY2UodGVzdCwgcHJvZ25hbWUsICcuLycgKyBwcm9nbmFtZSwgMSkKKwl0ZXN0cy5hcHBlbmQoY29tbWFuZCkKKyAgICBleGNlcHQ6CisgICAgICAgIHBhc3MKKyAgICB0cnk6CisgICAgICAgIGF1dGhvciA9IGluZm9bJ2F1dGhvciddCisJb3V0cHV0LndyaXRlKCIgICAgPGF1dGhvcj4lczwvYXV0aG9yPlxuIiAlIGVzY2FwZShhdXRob3IpKTsKKyAgICBleGNlcHQ6CisgICAgICAgIHByaW50ICJFeGFtcGxlICVzIGxhY2tzIGFuIGF1dGhvciBkZXNjcmlwdGlvbiIgJSAoZmlsZW5hbWUpCisgICAgdHJ5OgorICAgICAgICBjb3B5ID0gaW5mb1snY29weSddCisJb3V0cHV0LndyaXRlKCIgICAgPGNvcHk+JXM8L2NvcHk+XG4iICUgZXNjYXBlKGNvcHkpKTsKKyAgICBleGNlcHQ6CisgICAgICAgIHByaW50ICJFeGFtcGxlICVzIGxhY2tzIGEgY29weXJpZ2h0IGRlc2NyaXB0aW9uIiAlIChmaWxlbmFtZSkKKyAgICB0cnk6CisgICAgICAgIHNlY3Rpb24gPSBpbmZvWydzZWN0aW9uJ10KKwlvdXRwdXQud3JpdGUoIiAgICA8c2VjdGlvbj4lczwvc2VjdGlvbj5cbiIgJSBlc2NhcGUoc2VjdGlvbikpOworCWlmIHNlY3Rpb25zLmhhc19rZXkoc2VjdGlvbik6CisJICAgIHNlY3Rpb25zW3NlY3Rpb25dLmFwcGVuZChmaWxlbmFtZSkKKwllbHNlOgorCSAgICBzZWN0aW9uc1tzZWN0aW9uXSA9IFtmaWxlbmFtZV0KKyAgICBleGNlcHQ6CisgICAgICAgIHByaW50ICJFeGFtcGxlICVzIGxhY2tzIGEgc2VjdGlvbiBkZXNjcmlwdGlvbiIgJSAoZmlsZW5hbWUpCisgICAgZm9yIHRvcGljIGluIGluZm8ua2V5cygpOgorICAgICAgICBpZiB0b3BpYyAhPSAicHVycG9zZSIgYW5kIHRvcGljICE9ICJ1c2FnZSIgYW5kIFwKKwkgICB0b3BpYyAhPSAiYXV0aG9yIiBhbmQgdG9waWMgIT0gImNvcHkiIGFuZCBcCisJICAgdG9waWMgIT0gInNlY3Rpb24iIGFuZCB0b3BpYyAhPSAic3lub3BzaXMiIGFuZCB0b3BpYyAhPSAidGVzdCI6CisJICAgIHN0ciA9IGluZm9bdG9waWNdCisJICAgIG91dHB1dC53cml0ZSgiICAgIDxleHRyYSB0b3BpYz0nJXMnPiVzPC9leHRyYT5cbiIgJSAoCisJICAgICAgICAgICAgICAgICBlc2NhcGUodG9waWMpLCBlc2NhcGUoc3RyKSkpCisgICAgb3V0cHV0LndyaXRlKCIgICAgPGluY2x1ZGVzPlxuIikKKyAgICBmb3IgaW5jbHVkZSBpbiBpZHguaW5jbHVkZXMua2V5cygpOgorICAgICAgICBpZiBpbmNsdWRlLmZpbmQoImxpYnhtbCIpICE9IC0xOgorCSAgICBvdXRwdXQud3JpdGUoIiAgICAgIDxpbmNsdWRlPiVzPC9pbmNsdWRlPlxuIiAlIChlc2NhcGUoaW5jbHVkZSkpKQorICAgIG91dHB1dC53cml0ZSgiICAgIDwvaW5jbHVkZXM+XG4iKQorICAgIG91dHB1dC53cml0ZSgiICAgIDx1c2VzPlxuIikKKyAgICBmb3IgcmVmIGluIGlkeC5yZWZlcmVuY2VzLmtleXMoKToKKyAgICAgICAgaWQgPSBpZHgucmVmZXJlbmNlc1tyZWZdCisJbmFtZSA9IGlkLmdldF9uYW1lKCkKKwlsaW5lID0gaWQuZ2V0X2xpbmVubygpCisJaWYgc3ltYm9scy5oYXNfa2V5KG5hbWUpOgorCSAgICBzaW5mbyA9IHN5bWJvbHNbbmFtZV0KKwkgICAgcmVmcyA9IHNpbmZvWzBdCisJICAgICMgZ2F0aGVyIGF0IG1vc3QgNSByZWZlcmVuY2VzIHBlciBzeW1ib2xzCisJICAgIGlmIHJlZnMgPiA1OgorCSAgICAgICAgY29udGludWUKKwkgICAgc2luZm8uYXBwZW5kKGZpbGVuYW1lKQorCSAgICBzaW5mb1swXSA9IHJlZnMgKyAxCisJZWxzZToKKwkgICAgc3ltYm9sc1tuYW1lXSA9IFsxLCBmaWxlbmFtZV0KKwlpbmZvID0gZmluZF9zeW1ib2wobmFtZSkKKwlpZiBpbmZvICE9IE5vbmU6CisJICAgIHR5cGUgPSBpbmZvWzBdCisJICAgIGZpbGUgPSBpbmZvWzFdCisJICAgIG91dHB1dC53cml0ZSgiICAgICAgPCVzIGxpbmU9JyVkJyBmaWxlPSclcycgbmFtZT0nJXMnLz5cbiIgJSAodHlwZSwKKwkgICAgICAgICAgICAgICAgIGxpbmUsIGZpbGUsIG5hbWUpKQorCWVsc2U6CisJICAgIHR5cGUgPSBpZC5nZXRfdHlwZSgpCisJICAgIG91dHB1dC53cml0ZSgiICAgICAgPCVzIGxpbmU9JyVkJyBuYW1lPSclcycvPlxuIiAlICh0eXBlLAorCSAgICAgICAgICAgICAgICAgbGluZSwgbmFtZSkpCisKKyAgICBvdXRwdXQud3JpdGUoIiAgICA8L3VzZXM+XG4iKQorICAgIG91dHB1dC53cml0ZSgiICA8L2V4YW1wbGU+XG4iKQorCisgICAgcmV0dXJuIGlkeAorCitkZWYgZHVtcF9zeW1ib2xzKG91dHB1dCk6CisgICAgZ2xvYmFsIHN5bWJvbHMKKworICAgIG91dHB1dC53cml0ZSgiICA8c3ltYm9scz5cbiIpCisgICAga2V5cyA9IHN5bWJvbHMua2V5cygpCisgICAga2V5cy5zb3J0KCkKKyAgICBmb3Igc3ltYm9sIGluIGtleXM6CisgICAgICAgIG91dHB1dC53cml0ZSgiICAgIDxzeW1ib2wgbmFtZT0nJXMnPlxuIiAlIChzeW1ib2wpKQorCWluZm8gPSBzeW1ib2xzW3N5bWJvbF0KKwlpID0gMQorCXdoaWxlIGkgPCBsZW4oaW5mbyk6CisJICAgIG91dHB1dC53cml0ZSgiICAgICAgPHJlZiBmaWxlbmFtZT0nJXMnLz5cbiIgJSAoaW5mb1tpXSkpCisJICAgIGkgPSBpICsgMQorICAgICAgICBvdXRwdXQud3JpdGUoIiAgICA8L3N5bWJvbD5cbiIpCisgICAgb3V0cHV0LndyaXRlKCIgIDwvc3ltYm9scz5cbiIpCisKK2RlZiBkdW1wX3NlY3Rpb25zKG91dHB1dCk6CisgICAgZ2xvYmFsIHNlY3Rpb25zCisKKyAgICBvdXRwdXQud3JpdGUoIiAgPHNlY3Rpb25zPlxuIikKKyAgICBrZXlzID0gc2VjdGlvbnMua2V5cygpCisgICAga2V5cy5zb3J0KCkKKyAgICBmb3Igc2VjdGlvbiBpbiBrZXlzOgorICAgICAgICBvdXRwdXQud3JpdGUoIiAgICA8c2VjdGlvbiBuYW1lPSclcyc+XG4iICUgKHNlY3Rpb24pKQorCWluZm8gPSBzZWN0aW9uc1tzZWN0aW9uXQorCWkgPSAwCisJd2hpbGUgaSA8IGxlbihpbmZvKToKKwkgICAgb3V0cHV0LndyaXRlKCIgICAgICA8ZXhhbXBsZSBmaWxlbmFtZT0nJXMnLz5cbiIgJSAoaW5mb1tpXSkpCisJICAgIGkgPSBpICsgMQorICAgICAgICBvdXRwdXQud3JpdGUoIiAgICA8L3NlY3Rpb24+XG4iKQorICAgIG91dHB1dC53cml0ZSgiICA8L3NlY3Rpb25zPlxuIikKKworZGVmIGR1bXBfTWFrZWZpbGUoKToKKyAgICBmb3IgZmlsZSBpbiBnbG9iLmdsb2IoJyoueG1sJyk6CisgICAgICAgIGV4dHJhcy5hcHBlbmQoZmlsZSkKKyAgICBmb3IgZmlsZSBpbiBnbG9iLmdsb2IoJyoucmVzJyk6CisgICAgICAgIGV4dHJhcy5hcHBlbmQoZmlsZSkKKyAgICBNYWtlZmlsZT0iIiIjIworIyMgVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGluZGV4LnB5CisjIyBETyBOT1QgRURJVCAhISEKKyMjCisKK0FNX0NQUEZMQUdTID0gLUkkKHRvcF9idWlsZGRpcikvaW5jbHVkZSAtSSQodG9wX3NyY2RpcikvaW5jbHVkZSAtSSQoc3JjZGlyKS9pbmNsdWRlCitBTV9DRkxBR1MgPSAkKFRIUkVBRF9DRkxBR1MpICQoWl9DRkxBR1MpCitMREFERCA9ICQoUkRMX0xJQlMpICQoU1RBVElDX0JJTkFSSUVTKSAkKHRvcF9idWlsZGRpcikvbGlieG1sMi5sYSAkKFRIUkVBRF9MSUJTKSAkKFpfTElCUykgJChJQ09OVl9MSUJTKSAtbG0gJChXSU4zMl9FWFRSQV9MSUJBREQpCisKK0NMRUFORklMRVMgPSAqLnRtcAorCitpZiBSRUJVSUxEX0RPQ1MKK3JlYnVpbGQ6IGV4YW1wbGVzLnhtbCBpbmRleC5odG1sCisuUEhPTlk6IHJlYnVpbGQKKworZXhhbXBsZXMueG1sOiBpbmRleC5weSAkKG5vaW5zdF9QUk9HUkFNUzo9LmMpCisJY2QgJChzcmNkaXIpICYmICQoUFlUSE9OKSBpbmRleC5weQorCSQoTUFLRSkgTWFrZWZpbGUKKworaW5kZXguaHRtbDogZXhhbXBsZXMueG1sIGV4YW1wbGVzLnhzbAorCWNkICQoc3JjZGlyKSAmJiB4c2x0cHJvYyBleGFtcGxlcy54c2wgZXhhbXBsZXMueG1sICYmIGVjaG8gIlJlYnVpbHQgd2ViIHBhZ2UiCisJLWNkICQoc3JjZGlyKSAmJiB4bWxsaW50IC0tdmFsaWQgLS1ub291dCBpbmRleC5odG1sCitlbmRpZgorCitpbnN0YWxsLWRhdGEtbG9jYWw6IAorCSQoTUtESVJfUCkgJChERVNURElSKSQoSFRNTF9ESVIpCisJLSQoSU5TVEFMTCkgLW0gMDY0NCAkKHNyY2RpcikvKi5odG1sICQoc3JjZGlyKS8qLmMgJChzcmNkaXIpLyoueG1sICQoc3JjZGlyKS8qLnhzbCAkKHNyY2RpcikvKi5yZXMgJChERVNURElSKSQoSFRNTF9ESVIpCisKK2NsZWFuLWxvY2FsOgorCXRlc3QgLWYgTWFrZWZpbGUuYW0gfHwgcm0gLWYgdGVzdD8ueG1sCisKKyIiIgorICAgIGV4YW1wbGVzLnNvcnQoKQorICAgIGV4dHJhcy5zb3J0KCkKKyAgICB0ZXN0cy5zb3J0KCkKKyAgICBFWFRSQV9ESVNUPSIiCisgICAgZm9yIGV4dHJhIGluIGV4dHJhczoKKyAgICAgICAgRVhUUkFfRElTVCA9IEVYVFJBX0RJU1QgKyAiIFxcXG5cdCIgKyBleHRyYQorICAgIE1ha2VmaWxlID0gTWFrZWZpbGUgKyAiRVhUUkFfRElTVCA9JXNcblxuIiAlIChFWFRSQV9ESVNUKQorICAgIG5vaW5zdF9QUk9HUkFNUz0iIgorICAgIGZvciBleGFtcGxlIGluIGV4YW1wbGVzOgorICAgICAgICBub2luc3RfUFJPR1JBTVMgPSBub2luc3RfUFJPR1JBTVMgKyAiIFxcXG5cdCIgKyBleGFtcGxlCisgICAgTWFrZWZpbGUgPSBNYWtlZmlsZSArICJub2luc3RfUFJPR1JBTVMgPSVzXG5cbiIgJSAobm9pbnN0X1BST0dSQU1TKQorICAgIGZvciBleGFtcGxlIGluIGV4YW1wbGVzOgorICAgICAgICBNYWtlZmlsZSA9IE1ha2VmaWxlICsgIiVzX1NPVVJDRVMgPSAlcy5jXG5cbiIgJSAoZXhhbXBsZSwgZXhhbXBsZSkKKyAgICBNYWtlZmlsZSA9IE1ha2VmaWxlICsgInZhbGdyaW5kOiBcblx0JChNQUtFKSBDSEVDS0VSPSd2YWxncmluZCcgdGVzdHNcblxuIgorICAgIE1ha2VmaWxlID0gTWFrZWZpbGUgKyAidGVzdHM6ICQobm9pbnN0X1BST0dSQU1TKVxuIgorICAgIE1ha2VmaWxlID0gTWFrZWZpbGUgKyAiXHR0ZXN0IC1mIE1ha2VmaWxlLmFtIHx8IHRlc3QgLWYgdGVzdDEueG1sIHx8ICQoTE5fUykgJChzcmNkaXIpL3Rlc3Q/LnhtbCAuXG4iCisgICAgTWFrZWZpbGUgPSBNYWtlZmlsZSArICJcdEAoZWNobyAnIyMgZXhhbXBsZXMgcmVncmVzc2lvbiB0ZXN0cycpXG4iCisgICAgTWFrZWZpbGUgPSBNYWtlZmlsZSArICJcdEAoZWNobyA+IC5tZW1kdW1wKVxuIgorICAgIGZvciB0ZXN0IGluIHRlc3RzOgorICAgICAgICBNYWtlZmlsZSA9IE1ha2VmaWxlICsgIlx0JChDSEVDS0VSKSAlc1xuIiAlICh0ZXN0KQorICAgICAgICBNYWtlZmlsZSA9IE1ha2VmaWxlICsgJ1x0QGdyZXAgIk1PUlkgQUxMTyIgLm1lbWR1bXAgfCBncmVwIC12ICJNRU1PUlkgQUxMT0NBVEVEIDogMCIgOyBleGl0IDBcbicKKyAgICB0cnk6CisJb2xkID0gb3BlbigiTWFrZWZpbGUuYW0iLCAiciIpLnJlYWQoKQorCWlmIG9sZCAhPSBNYWtlZmlsZToKKwkgICAgbiA9IG9wZW4oIk1ha2VmaWxlLmFtIiwgInciKS53cml0ZShNYWtlZmlsZSkKKwkgICAgcHJpbnQgIlVwZGF0ZWQgTWFrZWZpbGUuYW0iCisgICAgZXhjZXB0OgorICAgICAgICBwcmludCAiRmFpbGVkIHRvIHJlYWQgb3Igc2F2ZSBNYWtlZmlsZS5hbSIKKyMgICAgIworIyAgICAjIEF1dG9nZW5lcmF0ZSB0aGUgLmN2c2lnbm9yZSB0b28gLi4uIERFUFJFQ0FURUQKKyMgICAgIworIyAgICBpZ25vcmUgPSAiIiIubWVtZHVtcAorI01ha2VmaWxlLmluCisjTWFrZWZpbGUKKyMiIiIKKyMgICAgZm9yIGV4YW1wbGUgaW4gZXhhbXBsZXM6CisjICAgICAgICBpZ25vcmUgPSBpZ25vcmUgKyAiJXNcbiIgJSAoZXhhbXBsZSkKKyMgICAgdHJ5OgorIwlvbGQgPSBvcGVuKCIuY3ZzaWdub3JlIiwgInIiKS5yZWFkKCkKKyMJaWYgb2xkICE9IGlnbm9yZToKKyMJICAgIG4gPSBvcGVuKCIuY3ZzaWdub3JlIiwgInciKS53cml0ZShpZ25vcmUpCisjCSAgICBwcmludCAiVXBkYXRlZCAuY3ZzaWdub3JlIgorIyAgICBleGNlcHQ6CisjICAgICAgICBwcmludCAiRmFpbGVkIHRvIHJlYWQgb3Igc2F2ZSAuY3ZzaWdub3JlIgorCitpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgorICAgIGxvYWRfYXBpKCkKKyAgICBvdXRwdXQgPSBvcGVuKCJleGFtcGxlcy54bWwiLCAidyIpCisgICAgb3V0cHV0LndyaXRlKCI8ZXhhbXBsZXM+XG4iKQorCisgICAgZm9yIGZpbGUgaW4gZ2xvYi5nbG9iKCcqLmMnKToKKwlwYXJzZShmaWxlLCBvdXRwdXQpCisJZXhhbXBsZXMuYXBwZW5kKGZpbGVbOi0yXSkKKworICAgIGR1bXBfc3ltYm9scyhvdXRwdXQpCisgICAgZHVtcF9zZWN0aW9ucyhvdXRwdXQpCisgICAgb3V0cHV0LndyaXRlKCI8L2V4YW1wbGVzPlxuIikKKyAgICBvdXRwdXQuY2xvc2UoKQorICAgIGR1bXBfTWFrZWZpbGUoKQorCmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9leGFtcGxlcy9pbzEuYyBiL2xpYnhtbDIvZG9jL2V4YW1wbGVzL2lvMS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQwNzdjZDgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9leGFtcGxlcy9pbzEuYwpAQCAtMCwwICsxLDE2NiBAQAorLyoqCisgKiBzZWN0aW9uOiBJbnB1dE91dHB1dAorICogc3lub3BzaXM6IEV4YW1wbGUgb2YgY3VzdG9tIElucHV0L091dHB1dAorICogcHVycG9zZTogRGVtb25zdHJhdGUgdGhlIHVzZSBvZiB4bWxSZWdpc3RlcklucHV0Q2FsbGJhY2tzCisgKiAgICAgICAgICB0byBidWlsZCBhIGN1c3RvbSBJL08gbGF5ZXIsIHRoaXMgaXMgdXNlZCBpbiBhbgorICogICAgICAgICAgWEluY2x1ZGUgbWV0aG9kIGNvbnRleHQgdG8gc2hvdyBob3cgZHluYW1pYyBkb2N1bWVudCBjYW4KKyAqICAgICAgICAgIGJlIGJ1aWx0IGluIGEgY2xlYW4gd2F5LgorICogdXNhZ2U6IGlvMQorICogdGVzdDogaW8xID4gaW8xLnRtcCAmJiBkaWZmIGlvMS50bXAgJChzcmNkaXIpL2lvMS5yZXMKKyAqIGF1dGhvcjogRGFuaWVsIFZlaWxsYXJkCisgKiBjb3B5OiBzZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisgKi8KKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8bGlieG1sL3BhcnNlci5oPgorI2luY2x1ZGUgPGxpYnhtbC90cmVlLmg+CisjaW5jbHVkZSA8bGlieG1sL3hpbmNsdWRlLmg+CisjaW5jbHVkZSA8bGlieG1sL3htbElPLmg+CisKKyNpZmRlZiBMSUJYTUxfWElOQ0xVREVfRU5BQkxFRAorc3RhdGljIGNvbnN0IGNoYXIgKnJlc3VsdCA9ICI8bGlzdD48cGVvcGxlPmE8L3Blb3BsZT48cGVvcGxlPmI8L3Blb3BsZT48L2xpc3Q+IjsKK3N0YXRpYyBjb25zdCBjaGFyICpjdXIgPSBOVUxMOworc3RhdGljIGludCBybGVuOworCisvKioKKyAqIHNxbE1hdGNoOgorICogQFVSSTogYW4gVVJJIHRvIHRlc3QKKyAqCisgKiBDaGVjayBmb3IgYW4gc3FsOiBxdWVyeQorICoKKyAqIFJldHVybnMgMSBpZiB5ZXMgYW5kIDAgaWYgYW5vdGhlciBJbnB1dCBtb2R1bGUgc2hvdWxkIGJlIHVzZWQKKyAqLworc3RhdGljIGludAorc3FsTWF0Y2goY29uc3QgY2hhciAqIFVSSSkgeworICAgIGlmICgoVVJJICE9IE5VTEwpICYmICghc3RybmNtcChVUkksICJzcWw6IiwgNCkpKQorICAgICAgICByZXR1cm4oMSk7CisgICAgcmV0dXJuKDApOworfQorCisvKioKKyAqIHNxbE9wZW46CisgKiBAVVJJOiBhbiBVUkkgdG8gdGVzdAorICoKKyAqIFJldHVybiBhIHBvaW50ZXIgdG8gdGhlIHNxbDogcXVlcnkgaGFuZGxlciwgaW4gdGhpcyBleGFtcGxlIHNpbXBseQorICogdGhlIGN1cnJlbnQgcG9pbnRlci4uLgorICoKKyAqIFJldHVybnMgYW4gSW5wdXQgY29udGV4dCBvciBOVUxMIGluIGNhc2Ugb3IgZXJyb3IKKyAqLworc3RhdGljIHZvaWQgKgorc3FsT3Blbihjb25zdCBjaGFyICogVVJJKSB7CisgICAgaWYgKChVUkkgPT0gTlVMTCkgfHwgKHN0cm5jbXAoVVJJLCAic3FsOiIsIDQpKSkKKyAgICAgICAgcmV0dXJuKE5VTEwpOworICAgIGN1ciA9IHJlc3VsdDsKKyAgICBybGVuID0gc3RybGVuKHJlc3VsdCk7CisgICAgcmV0dXJuKCh2b2lkICopIGN1cik7Cit9CisKKy8qKgorICogc3FsQ2xvc2U6CisgKiBAY29udGV4dDogdGhlIHJlYWQgY29udGV4dAorICoKKyAqIENsb3NlIHRoZSBzcWw6IHF1ZXJ5IGhhbmRsZXIKKyAqCisgKiBSZXR1cm5zIDAgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcgorICovCitzdGF0aWMgaW50CitzcWxDbG9zZSh2b2lkICogY29udGV4dCkgeworICAgIGlmIChjb250ZXh0ID09IE5VTEwpIHJldHVybigtMSk7CisgICAgY3VyID0gTlVMTDsKKyAgICBybGVuID0gMDsKKyAgICByZXR1cm4oMCk7Cit9CisKKy8qKgorICogc3FsUmVhZDoKKyAqIEBjb250ZXh0OiB0aGUgcmVhZCBjb250ZXh0CisgKiBAYnVmZmVyOiB3aGVyZSB0byBzdG9yZSBkYXRhCisgKiBAbGVuOiBudW1iZXIgb2YgYnl0ZXMgdG8gcmVhZAorICoKKyAqIEltcGxlbWVudCBhbiBzcWw6IHF1ZXJ5IHJlYWQuCisgKgorICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIGJ5dGVzIHJlYWQgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcgorICovCitzdGF0aWMgaW50CitzcWxSZWFkKHZvaWQgKiBjb250ZXh0LCBjaGFyICogYnVmZmVyLCBpbnQgbGVuKSB7CisgICBjb25zdCBjaGFyICpwdHIgPSAoY29uc3QgY2hhciAqKSBjb250ZXh0OworCisgICBpZiAoKGNvbnRleHQgPT0gTlVMTCkgfHwgKGJ1ZmZlciA9PSBOVUxMKSB8fCAobGVuIDwgMCkpCisgICAgICAgcmV0dXJuKC0xKTsKKworICAgaWYgKGxlbiA+IHJsZW4pIGxlbiA9IHJsZW47CisgICBtZW1jcHkoYnVmZmVyLCBwdHIsIGxlbik7CisgICBybGVuIC09IGxlbjsKKyAgIHJldHVybihsZW4pOworfQorCitjb25zdCBjaGFyICppbmNsdWRlID0gIjw/eG1sIHZlcnNpb249JzEuMCc/PlxuXAorPGRvY3VtZW50IHhtbG5zOnhpPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMy9YSW5jbHVkZVwiPlxuXAorICA8cD5MaXN0IG9mIHBlb3BsZTo8L3A+XG5cCisgIDx4aTppbmNsdWRlIGhyZWY9XCJzcWw6c2VsZWN0X25hbWVfZnJvbV9wZW9wbGVcIi8+XG5cCis8L2RvY3VtZW50PlxuIjsKKworaW50IG1haW4odm9pZCkgeworICAgIHhtbERvY1B0ciBkb2M7CisKKyAgICAvKgorICAgICAqIHRoaXMgaW5pdGlhbGl6ZSB0aGUgbGlicmFyeSBhbmQgY2hlY2sgcG90ZW50aWFsIEFCSSBtaXNtYXRjaGVzCisgICAgICogYmV0d2VlbiB0aGUgdmVyc2lvbiBpdCB3YXMgY29tcGlsZWQgZm9yIGFuZCB0aGUgYWN0dWFsIHNoYXJlZAorICAgICAqIGxpYnJhcnkgdXNlZC4KKyAgICAgKi8KKyAgICBMSUJYTUxfVEVTVF9WRVJTSU9OCisKKyAgICAvKgorICAgICAqIHJlZ2lzdGVyIHRoZSBuZXcgSS9PIGhhbmRsZXJzCisgICAgICovCisgICAgaWYgKHhtbFJlZ2lzdGVySW5wdXRDYWxsYmFja3Moc3FsTWF0Y2gsIHNxbE9wZW4sIHNxbFJlYWQsIHNxbENsb3NlKSA8IDApIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJmYWlsZWQgdG8gcmVnaXN0ZXIgU1FMIGhhbmRsZXJcbiIpOworCWV4aXQoMSk7CisgICAgfQorICAgIC8qCisgICAgICogcGFyc2UgaW5jbHVkZSBpbnRvIGEgZG9jdW1lbnQKKyAgICAgKi8KKyAgICBkb2MgPSB4bWxSZWFkTWVtb3J5KGluY2x1ZGUsIHN0cmxlbihpbmNsdWRlKSwgImluY2x1ZGUueG1sIiwgTlVMTCwgMCk7CisgICAgaWYgKGRvYyA9PSBOVUxMKSB7CisgICAgICAgIGZwcmludGYoc3RkZXJyLCAiZmFpbGVkIHRvIHBhcnNlIHRoZSBpbmNsdWRpbmcgZmlsZVxuIik7CisJZXhpdCgxKTsKKyAgICB9CisKKyAgICAvKgorICAgICAqIGFwcGx5IHRoZSBYSW5jbHVkZSBwcm9jZXNzLCB0aGlzIHNob3VsZCB0cmlnZ2VyIHRoZSBJL08ganVzdAorICAgICAqIHJlZ2lzdGVyZWQuCisgICAgICovCisgICAgaWYgKHhtbFhJbmNsdWRlUHJvY2Vzcyhkb2MpIDw9IDApIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJYSW5jbHVkZSBwcm9jZXNzaW5nIGZhaWxlZFxuIik7CisJZXhpdCgxKTsKKyAgICB9CisKKyNpZmRlZiBMSUJYTUxfT1VUUFVUX0VOQUJMRUQKKyAgICAvKgorICAgICAqIHNhdmUgdGhlIG91dHB1dCBmb3IgY2hlY2tpbmcgdG8gc3Rkb3V0CisgICAgICovCisgICAgeG1sRG9jRHVtcChzdGRvdXQsIGRvYyk7CisjZW5kaWYKKworICAgIC8qCisgICAgICogRnJlZSB0aGUgZG9jdW1lbnQKKyAgICAgKi8KKyAgICB4bWxGcmVlRG9jKGRvYyk7CisKKyAgICAvKgorICAgICAqIENsZWFudXAgZnVuY3Rpb24gZm9yIHRoZSBYTUwgbGlicmFyeS4KKyAgICAgKi8KKyAgICB4bWxDbGVhbnVwUGFyc2VyKCk7CisgICAgLyoKKyAgICAgKiB0aGlzIGlzIHRvIGRlYnVnIG1lbW9yeSBmb3IgcmVncmVzc2lvbiB0ZXN0cworICAgICAqLworICAgIHhtbE1lbW9yeUR1bXAoKTsKKyAgICByZXR1cm4oMCk7Cit9CisjZWxzZQoraW50IG1haW4odm9pZCkgeworICAgIGZwcmludGYoc3RkZXJyLCAiWEluY2x1ZGUgc3VwcG9ydCBub3QgY29tcGlsZWQgaW5cbiIpOworICAgIGV4aXQoMSk7Cit9CisjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2V4YW1wbGVzL2lvMS5yZXMgYi9saWJ4bWwyL2RvYy9leGFtcGxlcy9pbzEucmVzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFkZjY1YzcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9leGFtcGxlcy9pbzEucmVzCkBAIC0wLDAgKzEsNSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8ZG9jdW1lbnQgeG1sbnM6eGk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDMvWEluY2x1ZGUiPgorICA8cD5MaXN0IG9mIHBlb3BsZTo8L3A+CisgIDxsaXN0IHhtbDpiYXNlPSJzcWw6Ly9zZWxlY3RfbmFtZV9mcm9tX3Blb3BsZSI+PHBlb3BsZT5hPC9wZW9wbGU+PHBlb3BsZT5iPC9wZW9wbGU+PC9saXN0PgorPC9kb2N1bWVudD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2V4YW1wbGVzL2lvMi5jIGIvbGlieG1sMi9kb2MvZXhhbXBsZXMvaW8yLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDY3NmY0YQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL2V4YW1wbGVzL2lvMi5jCkBAIC0wLDAgKzEsNTggQEAKKy8qKgorICogc2VjdGlvbjogSW5wdXRPdXRwdXQKKyAqIHN5bm9wc2lzOiBPdXRwdXQgdG8gY2hhciBidWZmZXIKKyAqIHB1cnBvc2U6IERlbW9uc3RyYXRlIHRoZSB1c2Ugb2YgeG1sRG9jRHVtcE1lbW9yeQorICogICAgICAgICAgdG8gb3V0cHV0IGRvY3VtZW50IHRvIGEgY2hhcmFjdGVyIGJ1ZmZlcgorICogdXNhZ2U6IGlvMgorICogdGVzdDogaW8yID4gaW8yLnRtcCAmJiBkaWZmIGlvMi50bXAgJChzcmNkaXIpL2lvMi5yZXMKKyAqIGF1dGhvcjogSm9obiBGbGVjaworICogY29weTogc2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgorICovCisKKyNpbmNsdWRlIDxsaWJ4bWwvcGFyc2VyLmg+CisKKyNpZiBkZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpICYmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQoraW50CittYWluKHZvaWQpCit7CisKKyAgICB4bWxOb2RlUHRyIG47CisgICAgeG1sRG9jUHRyIGRvYzsKKyAgICB4bWxDaGFyICp4bWxidWZmOworICAgIGludCBidWZmZXJzaXplOworCisgICAgLyoKKyAgICAgKiBDcmVhdGUgdGhlIGRvY3VtZW50LgorICAgICAqLworICAgIGRvYyA9IHhtbE5ld0RvYyhCQURfQ0FTVCAiMS4wIik7CisgICAgbiA9IHhtbE5ld05vZGUoTlVMTCwgQkFEX0NBU1QgInJvb3QiKTsKKyAgICB4bWxOb2RlU2V0Q29udGVudChuLCBCQURfQ0FTVCAiY29udGVudCIpOworICAgIHhtbERvY1NldFJvb3RFbGVtZW50KGRvYywgbik7CisKKyAgICAvKgorICAgICAqIER1bXAgdGhlIGRvY3VtZW50IHRvIGEgYnVmZmVyIGFuZCBwcmludCBpdAorICAgICAqIGZvciBkZW1vbnN0cmF0aW9uIHB1cnBvc2VzLgorICAgICAqLworICAgIHhtbERvY0R1bXBGb3JtYXRNZW1vcnkoZG9jLCAmeG1sYnVmZiwgJmJ1ZmZlcnNpemUsIDEpOworICAgIHByaW50ZigiJXMiLCAoY2hhciAqKSB4bWxidWZmKTsKKworICAgIC8qCisgICAgICogRnJlZSBhc3NvY2lhdGVkIG1lbW9yeS4KKyAgICAgKi8KKyAgICB4bWxGcmVlKHhtbGJ1ZmYpOworICAgIHhtbEZyZWVEb2MoZG9jKTsKKworICAgIHJldHVybiAoMCk7CisKK30KKyNlbHNlCisjaW5jbHVkZSA8c3RkaW8uaD4KKworaW50CittYWluKHZvaWQpCit7CisgICAgZnByaW50ZihzdGRlcnIsCisgICAgICAgICAgICAibGlicmFyeSBub3QgY29uZmlndXJlZCB3aXRoIHRyZWUgYW5kIG91dHB1dCBzdXBwb3J0XG4iKTsKKyAgICByZXR1cm4gKDEpOworfQorI2VuZGlmCmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9leGFtcGxlcy9pbzIucmVzIGIvbGlieG1sMi9kb2MvZXhhbXBsZXMvaW8yLnJlcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NzM3Yjg3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvZXhhbXBsZXMvaW8yLnJlcwpAQCAtMCwwICsxLDIgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPHJvb3Q+Y29udGVudDwvcm9vdD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2V4YW1wbGVzL3BhcnNlMS5jIGIvbGlieG1sMi9kb2MvZXhhbXBsZXMvcGFyc2UxLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjQ0YjAzYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL2V4YW1wbGVzL3BhcnNlMS5jCkBAIC0wLDAgKzEsNTYgQEAKKy8qKgorICogc2VjdGlvbjogUGFyc2luZworICogc3lub3BzaXM6IFBhcnNlIGFuIFhNTCBmaWxlIHRvIGEgdHJlZSBhbmQgZnJlZSBpdAorICogcHVycG9zZTogRGVtb25zdHJhdGUgdGhlIHVzZSBvZiB4bWxSZWFkRmlsZSgpIHRvIHJlYWQgYW4gWE1MIGZpbGUKKyAqICAgICAgICAgIGludG8gYSB0cmVlIGFuZCBhbmQgeG1sRnJlZURvYygpIHRvIGZyZWUgdGhlIHJlc3VsdGluZyB0cmVlCisgKiB1c2FnZTogcGFyc2UxIHRlc3QxLnhtbAorICogdGVzdDogcGFyc2UxIHRlc3QxLnhtbAorICogYXV0aG9yOiBEYW5pZWwgVmVpbGxhcmQKKyAqIGNvcHk6IHNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyAqLworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxsaWJ4bWwvcGFyc2VyLmg+CisjaW5jbHVkZSA8bGlieG1sL3RyZWUuaD4KKworLyoqCisgKiBleGFtcGxlMUZ1bmM6CisgKiBAZmlsZW5hbWU6IGEgZmlsZW5hbWUgb3IgYW4gVVJMCisgKgorICogUGFyc2UgdGhlIHJlc291cmNlIGFuZCBmcmVlIHRoZSByZXN1bHRpbmcgdHJlZQorICovCitzdGF0aWMgdm9pZAorZXhhbXBsZTFGdW5jKGNvbnN0IGNoYXIgKmZpbGVuYW1lKSB7CisgICAgeG1sRG9jUHRyIGRvYzsgLyogdGhlIHJlc3VsdGluZyBkb2N1bWVudCB0cmVlICovCisKKyAgICBkb2MgPSB4bWxSZWFkRmlsZShmaWxlbmFtZSwgTlVMTCwgMCk7CisgICAgaWYgKGRvYyA9PSBOVUxMKSB7CisgICAgICAgIGZwcmludGYoc3RkZXJyLCAiRmFpbGVkIHRvIHBhcnNlICVzXG4iLCBmaWxlbmFtZSk7CisJcmV0dXJuOworICAgIH0KKyAgICB4bWxGcmVlRG9jKGRvYyk7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgeworICAgIGlmIChhcmdjICE9IDIpCisgICAgICAgIHJldHVybigxKTsKKworICAgIC8qCisgICAgICogdGhpcyBpbml0aWFsaXplIHRoZSBsaWJyYXJ5IGFuZCBjaGVjayBwb3RlbnRpYWwgQUJJIG1pc21hdGNoZXMKKyAgICAgKiBiZXR3ZWVuIHRoZSB2ZXJzaW9uIGl0IHdhcyBjb21waWxlZCBmb3IgYW5kIHRoZSBhY3R1YWwgc2hhcmVkCisgICAgICogbGlicmFyeSB1c2VkLgorICAgICAqLworICAgIExJQlhNTF9URVNUX1ZFUlNJT04KKworICAgIGV4YW1wbGUxRnVuYyhhcmd2WzFdKTsKKworICAgIC8qCisgICAgICogQ2xlYW51cCBmdW5jdGlvbiBmb3IgdGhlIFhNTCBsaWJyYXJ5LgorICAgICAqLworICAgIHhtbENsZWFudXBQYXJzZXIoKTsKKyAgICAvKgorICAgICAqIHRoaXMgaXMgdG8gZGVidWcgbWVtb3J5IGZvciByZWdyZXNzaW9uIHRlc3RzCisgICAgICovCisgICAgeG1sTWVtb3J5RHVtcCgpOworICAgIHJldHVybigwKTsKK30KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2V4YW1wbGVzL3BhcnNlMi5jIGIvbGlieG1sMi9kb2MvZXhhbXBsZXMvcGFyc2UyLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWVkNzY3NgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL2V4YW1wbGVzL3BhcnNlMi5jCkBAIC0wLDAgKzEsNzIgQEAKKy8qKgorICogc2VjdGlvbjogUGFyc2luZworICogc3lub3BzaXM6IFBhcnNlIGFuZCB2YWxpZGF0ZSBhbiBYTUwgZmlsZSB0byBhIHRyZWUgYW5kIGZyZWUgdGhlIHJlc3VsdAorICogcHVycG9zZTogQ3JlYXRlIGEgcGFyc2VyIGNvbnRleHQgZm9yIGFuIFhNTCBmaWxlLCB0aGVuIHBhcnNlIGFuZCB2YWxpZGF0ZQorICogICAgICAgICAgdGhlIGZpbGUsIGNyZWF0aW5nIGEgdHJlZSwgY2hlY2sgdGhlIHZhbGlkYXRpb24gcmVzdWx0CisgKiAgICAgICAgICBhbmQgeG1sRnJlZURvYygpIHRvIGZyZWUgdGhlIHJlc3VsdGluZyB0cmVlLgorICogdXNhZ2U6IHBhcnNlMiB0ZXN0Mi54bWwKKyAqIHRlc3Q6IHBhcnNlMiB0ZXN0Mi54bWwKKyAqIGF1dGhvcjogRGFuaWVsIFZlaWxsYXJkCisgKiBjb3B5OiBzZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisgKi8KKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8bGlieG1sL3BhcnNlci5oPgorI2luY2x1ZGUgPGxpYnhtbC90cmVlLmg+CisKKy8qKgorICogZXhhbXBsZUZ1bmM6CisgKiBAZmlsZW5hbWU6IGEgZmlsZW5hbWUgb3IgYW4gVVJMCisgKgorICogUGFyc2UgYW5kIHZhbGlkYXRlIHRoZSByZXNvdXJjZSBhbmQgZnJlZSB0aGUgcmVzdWx0aW5nIHRyZWUKKyAqLworc3RhdGljIHZvaWQKK2V4YW1wbGVGdW5jKGNvbnN0IGNoYXIgKmZpbGVuYW1lKSB7CisgICAgeG1sUGFyc2VyQ3R4dFB0ciBjdHh0OyAvKiB0aGUgcGFyc2VyIGNvbnRleHQgKi8KKyAgICB4bWxEb2NQdHIgZG9jOyAvKiB0aGUgcmVzdWx0aW5nIGRvY3VtZW50IHRyZWUgKi8KKworICAgIC8qIGNyZWF0ZSBhIHBhcnNlciBjb250ZXh0ICovCisgICAgY3R4dCA9IHhtbE5ld1BhcnNlckN0eHQoKTsKKyAgICBpZiAoY3R4dCA9PSBOVUxMKSB7CisgICAgICAgIGZwcmludGYoc3RkZXJyLCAiRmFpbGVkIHRvIGFsbG9jYXRlIHBhcnNlciBjb250ZXh0XG4iKTsKKwlyZXR1cm47CisgICAgfQorICAgIC8qIHBhcnNlIHRoZSBmaWxlLCBhY3RpdmF0aW5nIHRoZSBEVEQgdmFsaWRhdGlvbiBvcHRpb24gKi8KKyAgICBkb2MgPSB4bWxDdHh0UmVhZEZpbGUoY3R4dCwgZmlsZW5hbWUsIE5VTEwsIFhNTF9QQVJTRV9EVERWQUxJRCk7CisgICAgLyogY2hlY2sgaWYgcGFyc2luZyBzdWNlZWRlZCAqLworICAgIGlmIChkb2MgPT0gTlVMTCkgeworICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkZhaWxlZCB0byBwYXJzZSAlc1xuIiwgZmlsZW5hbWUpOworICAgIH0gZWxzZSB7CisJLyogY2hlY2sgaWYgdmFsaWRhdGlvbiBzdWNlZWRlZCAqLworICAgICAgICBpZiAoY3R4dC0+dmFsaWQgPT0gMCkKKwkgICAgZnByaW50ZihzdGRlcnIsICJGYWlsZWQgdG8gdmFsaWRhdGUgJXNcbiIsIGZpbGVuYW1lKTsKKwkvKiBmcmVlIHVwIHRoZSByZXN1bHRpbmcgZG9jdW1lbnQgKi8KKwl4bWxGcmVlRG9jKGRvYyk7CisgICAgfQorICAgIC8qIGZyZWUgdXAgdGhlIHBhcnNlciBjb250ZXh0ICovCisgICAgeG1sRnJlZVBhcnNlckN0eHQoY3R4dCk7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgeworICAgIGlmIChhcmdjICE9IDIpCisgICAgICAgIHJldHVybigxKTsKKworICAgIC8qCisgICAgICogdGhpcyBpbml0aWFsaXplIHRoZSBsaWJyYXJ5IGFuZCBjaGVjayBwb3RlbnRpYWwgQUJJIG1pc21hdGNoZXMKKyAgICAgKiBiZXR3ZWVuIHRoZSB2ZXJzaW9uIGl0IHdhcyBjb21waWxlZCBmb3IgYW5kIHRoZSBhY3R1YWwgc2hhcmVkCisgICAgICogbGlicmFyeSB1c2VkLgorICAgICAqLworICAgIExJQlhNTF9URVNUX1ZFUlNJT04KKworICAgIGV4YW1wbGVGdW5jKGFyZ3ZbMV0pOworCisgICAgLyoKKyAgICAgKiBDbGVhbnVwIGZ1bmN0aW9uIGZvciB0aGUgWE1MIGxpYnJhcnkuCisgICAgICovCisgICAgeG1sQ2xlYW51cFBhcnNlcigpOworICAgIC8qCisgICAgICogdGhpcyBpcyB0byBkZWJ1ZyBtZW1vcnkgZm9yIHJlZ3Jlc3Npb24gdGVzdHMKKyAgICAgKi8KKyAgICB4bWxNZW1vcnlEdW1wKCk7CisgICAgcmV0dXJuKDApOworfQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvZXhhbXBsZXMvcGFyc2UzLmMgYi9saWJ4bWwyL2RvYy9leGFtcGxlcy9wYXJzZTMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMmQzYTQwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvZXhhbXBsZXMvcGFyc2UzLmMKQEAgLTAsMCArMSw2MCBAQAorLyoqCisgKiBzZWN0aW9uOiBQYXJzaW5nCisgKiBzeW5vcHNpczogUGFyc2UgYW4gWE1MIGRvY3VtZW50IGluIG1lbW9yeSB0byBhIHRyZWUgYW5kIGZyZWUgaXQKKyAqIHB1cnBvc2U6IERlbW9uc3RyYXRlIHRoZSB1c2Ugb2YgeG1sUmVhZE1lbW9yeSgpIHRvIHJlYWQgYW4gWE1MIGZpbGUKKyAqICAgICAgICAgIGludG8gYSB0cmVlIGFuZCBhbmQgeG1sRnJlZURvYygpIHRvIGZyZWUgdGhlIHJlc3VsdGluZyB0cmVlCisgKiB1c2FnZTogcGFyc2UzCisgKiB0ZXN0OiBwYXJzZTMKKyAqIGF1dGhvcjogRGFuaWVsIFZlaWxsYXJkCisgKiBjb3B5OiBzZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisgKi8KKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8bGlieG1sL3BhcnNlci5oPgorI2luY2x1ZGUgPGxpYnhtbC90cmVlLmg+CisKK3N0YXRpYyBjb25zdCBjaGFyICpkb2N1bWVudCA9ICI8ZG9jLz4iOworCisvKioKKyAqIGV4YW1wbGUzRnVuYzoKKyAqIEBjb250ZW50OiB0aGUgY29udGVudCBvZiB0aGUgZG9jdW1lbnQKKyAqIEBsZW5ndGg6IHRoZSBsZW5ndGggaW4gYnl0ZXMKKyAqCisgKiBQYXJzZSB0aGUgaW4gbWVtb3J5IGRvY3VtZW50IGFuZCBmcmVlIHRoZSByZXN1bHRpbmcgdHJlZQorICovCitzdGF0aWMgdm9pZAorZXhhbXBsZTNGdW5jKGNvbnN0IGNoYXIgKmNvbnRlbnQsIGludCBsZW5ndGgpIHsKKyAgICB4bWxEb2NQdHIgZG9jOyAvKiB0aGUgcmVzdWx0aW5nIGRvY3VtZW50IHRyZWUgKi8KKworICAgIC8qCisgICAgICogVGhlIGRvY3VtZW50IGJlaW5nIGluIG1lbW9yeSwgaXQgaGF2ZSBubyBiYXNlIHBlciBSRkMgMjM5NiwKKyAgICAgKiBhbmQgdGhlICJub25hbWUueG1sIiBhcmd1bWVudCB3aWxsIHNlcnZlIGFzIGl0cyBiYXNlLgorICAgICAqLworICAgIGRvYyA9IHhtbFJlYWRNZW1vcnkoY29udGVudCwgbGVuZ3RoLCAibm9uYW1lLnhtbCIsIE5VTEwsIDApOworICAgIGlmIChkb2MgPT0gTlVMTCkgeworICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkZhaWxlZCB0byBwYXJzZSBkb2N1bWVudFxuIik7CisJcmV0dXJuOworICAgIH0KKyAgICB4bWxGcmVlRG9jKGRvYyk7Cit9CisKK2ludCBtYWluKHZvaWQpIHsKKyAgICAvKgorICAgICAqIHRoaXMgaW5pdGlhbGl6ZSB0aGUgbGlicmFyeSBhbmQgY2hlY2sgcG90ZW50aWFsIEFCSSBtaXNtYXRjaGVzCisgICAgICogYmV0d2VlbiB0aGUgdmVyc2lvbiBpdCB3YXMgY29tcGlsZWQgZm9yIGFuZCB0aGUgYWN0dWFsIHNoYXJlZAorICAgICAqIGxpYnJhcnkgdXNlZC4KKyAgICAgKi8KKyAgICBMSUJYTUxfVEVTVF9WRVJTSU9OCisKKyAgICBleGFtcGxlM0Z1bmMoZG9jdW1lbnQsIDYpOworCisgICAgLyoKKyAgICAgKiBDbGVhbnVwIGZ1bmN0aW9uIGZvciB0aGUgWE1MIGxpYnJhcnkuCisgICAgICovCisgICAgeG1sQ2xlYW51cFBhcnNlcigpOworICAgIC8qCisgICAgICogdGhpcyBpcyB0byBkZWJ1ZyBtZW1vcnkgZm9yIHJlZ3Jlc3Npb24gdGVzdHMKKyAgICAgKi8KKyAgICB4bWxNZW1vcnlEdW1wKCk7CisgICAgcmV0dXJuKDApOworfQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvZXhhbXBsZXMvcGFyc2U0LmMgYi9saWJ4bWwyL2RvYy9leGFtcGxlcy9wYXJzZTQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZTI4MDU2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvZXhhbXBsZXMvcGFyc2U0LmMKQEAgLTAsMCArMSwxNDMgQEAKKy8qKgorICogc2VjdGlvbjogUGFyc2luZworICogc3lub3BzaXM6IFBhcnNlIGFuIFhNTCBkb2N1bWVudCBjaHVuayBieSBjaHVuayB0byBhIHRyZWUgYW5kIGZyZWUgaXQKKyAqIHB1cnBvc2U6IERlbW9uc3RyYXRlIHRoZSB1c2Ugb2YgeG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQoKSBhbmQKKyAqICAgICAgICAgIHhtbFBhcnNlQ2h1bmsoKSB0byByZWFkIGFuIFhNTCBmaWxlIHByb2dyZXNzaXZlbHkKKyAqICAgICAgICAgIGludG8gYSB0cmVlIGFuZCBhbmQgeG1sRnJlZURvYygpIHRvIGZyZWUgdGhlIHJlc3VsdGluZyB0cmVlCisgKiB1c2FnZTogcGFyc2U0IHRlc3QzLnhtbAorICogdGVzdDogcGFyc2U0IHRlc3QzLnhtbAorICogYXV0aG9yOiBEYW5pZWwgVmVpbGxhcmQKKyAqIGNvcHk6IHNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyAqLworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxsaWJ4bWwvcGFyc2VyLmg+CisjaW5jbHVkZSA8bGlieG1sL3RyZWUuaD4KKworI2lmZGVmIExJQlhNTF9QVVNIX0VOQUJMRUQKK3N0YXRpYyBGSUxFICpkZXNjOworCisvKioKKyAqIHJlYWRQYWNrZXQ6CisgKiBAbWVtOiBhcnJheSB0byBzdG9yZSB0aGUgcGFja2V0CisgKiBAc2l6ZTogdGhlIHBhY2tldCBzaXplCisgKgorICogcmVhZCBhdCBtb3N0IEBzaXplIGJ5dGVzIGZyb20gdGhlIGRvY3VtZW50IGFuZCBzdG9yZSBpdCBpbiBAbWVtCisgKgorICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIGJ5dGVzIHJlYWQKKyAqLworc3RhdGljIGludAorcmVhZFBhY2tldChjaGFyICptZW0sIGludCBzaXplKSB7CisgICAgaW50IHJlczsKKworICAgIHJlcyA9IGZyZWFkKG1lbSwgMSwgc2l6ZSwgZGVzYyk7CisgICAgcmV0dXJuKHJlcyk7Cit9CisKKy8qKgorICogZXhhbXBsZTRGdW5jOgorICogQGZpbGVuYW1lOiBhIGZpbGVuYW1lIG9yIGFuIFVSTAorICoKKyAqIFBhcnNlIHRoZSByZXNvdXJjZSBhbmQgZnJlZSB0aGUgcmVzdWx0aW5nIHRyZWUKKyAqLworc3RhdGljIHZvaWQKK2V4YW1wbGU0RnVuYyhjb25zdCBjaGFyICpmaWxlbmFtZSkgeworICAgIHhtbFBhcnNlckN0eHRQdHIgY3R4dDsKKyAgICBjaGFyIGNoYXJzWzRdOworICAgIHhtbERvY1B0ciBkb2M7IC8qIHRoZSByZXN1bHRpbmcgZG9jdW1lbnQgdHJlZSAqLworICAgIGludCByZXM7CisKKyAgICAvKgorICAgICAqIFJlYWQgYSBmZXcgZmlyc3QgYnl0ZSB0byBjaGVjayB0aGUgaW5wdXQgdXNlZCBmb3IgdGhlCisgICAgICogZW5jb2RpbmcgZGV0ZWN0aW9uIGF0IHRoZSBwYXJzZXIgbGV2ZWwuCisgICAgICovCisgICAgcmVzID0gcmVhZFBhY2tldChjaGFycywgNCk7CisgICAgaWYgKHJlcyA8PSAwKSB7CisgICAgICAgIGZwcmludGYoc3RkZXJyLCAiRmFpbGVkIHRvIHBhcnNlICVzXG4iLCBmaWxlbmFtZSk7CisJcmV0dXJuOworICAgIH0KKworICAgIC8qCisgICAgICogQ3JlYXRlIGEgcHJvZ3Jlc3NpdmUgcGFyc2luZyBjb250ZXh0LCB0aGUgMiBmaXJzdCBhcmd1bWVudHMKKyAgICAgKiBhcmUgbm90IHVzZWQgc2luY2Ugd2Ugd2FudCB0byBidWlsZCBhIHRyZWUgYW5kIG5vdCB1c2UgYSBTQVgKKyAgICAgKiBwYXJzaW5nIGludGVyZmFjZS4gV2UgYWxzbyBwYXNzIHRoZSBmaXJzdCBieXRlcyBvZiB0aGUgZG9jdW1lbnQKKyAgICAgKiB0byBhbGxvdyBlbmNvZGluZyBkZXRlY3Rpb24gd2hlbiBjcmVhdGluZyB0aGUgcGFyc2VyIGJ1dCB0aGlzCisgICAgICogaXMgb3B0aW9uYWwuCisgICAgICovCisgICAgY3R4dCA9IHhtbENyZWF0ZVB1c2hQYXJzZXJDdHh0KE5VTEwsIE5VTEwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXJzLCByZXMsIGZpbGVuYW1lKTsKKyAgICBpZiAoY3R4dCA9PSBOVUxMKSB7CisgICAgICAgIGZwcmludGYoc3RkZXJyLCAiRmFpbGVkIHRvIGNyZWF0ZSBwYXJzZXIgY29udGV4dCAhXG4iKTsKKwlyZXR1cm47CisgICAgfQorCisgICAgLyoKKyAgICAgKiBsb29wIG9uIHRoZSBpbnB1dCBnZXR0aW5nIHRoZSBkb2N1bWVudCBkYXRhLCBvZiBjb3Vyc2UgNCBieXRlcworICAgICAqIGF0IGEgdGltZSBpcyBub3QgcmVhbGlzdGljIGJ1dCBhbGxvd3MgdG8gdmVyaWZ5IHRlc3Rpbmcgb24gc21hbGwKKyAgICAgKiBkb2N1bWVudHMuCisgICAgICovCisgICAgd2hpbGUgKChyZXMgPSByZWFkUGFja2V0KGNoYXJzLCA0KSkgPiAwKSB7CisgICAgICAgIHhtbFBhcnNlQ2h1bmsoY3R4dCwgY2hhcnMsIHJlcywgMCk7CisgICAgfQorCisgICAgLyoKKyAgICAgKiB0aGVyZSBpcyBubyBtb3JlIGlucHV0LCBpbmRpY2F0ZSB0aGUgcGFyc2luZyBpcyBmaW5pc2hlZC4KKyAgICAgKi8KKyAgICB4bWxQYXJzZUNodW5rKGN0eHQsIGNoYXJzLCAwLCAxKTsKKworICAgIC8qCisgICAgICogY29sbGVjdCB0aGUgZG9jdW1lbnQgYmFjayBhbmQgaWYgaXQgd2FzIHdlbGxmb3JtZWQKKyAgICAgKiBhbmQgZGVzdHJveSB0aGUgcGFyc2VyIGNvbnRleHQuCisgICAgICovCisgICAgZG9jID0gY3R4dC0+bXlEb2M7CisgICAgcmVzID0gY3R4dC0+d2VsbEZvcm1lZDsKKyAgICB4bWxGcmVlUGFyc2VyQ3R4dChjdHh0KTsKKworICAgIGlmICghcmVzKSB7CisgICAgICAgIGZwcmludGYoc3RkZXJyLCAiRmFpbGVkIHRvIHBhcnNlICVzXG4iLCBmaWxlbmFtZSk7CisgICAgfQorCisgICAgLyoKKyAgICAgKiBzaW5jZSB3ZSBkb24ndCB1c2UgdGhlIGRvY3VtZW50LCBkZXN0cm95IGl0IG5vdy4KKyAgICAgKi8KKyAgICB4bWxGcmVlRG9jKGRvYyk7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgeworICAgIGlmIChhcmdjICE9IDIpCisgICAgICAgIHJldHVybigxKTsKKworICAgIC8qCisgICAgICogdGhpcyBpbml0aWFsaXplIHRoZSBsaWJyYXJ5IGFuZCBjaGVjayBwb3RlbnRpYWwgQUJJIG1pc21hdGNoZXMKKyAgICAgKiBiZXR3ZWVuIHRoZSB2ZXJzaW9uIGl0IHdhcyBjb21waWxlZCBmb3IgYW5kIHRoZSBhY3R1YWwgc2hhcmVkCisgICAgICogbGlicmFyeSB1c2VkLgorICAgICAqLworICAgIExJQlhNTF9URVNUX1ZFUlNJT04KKworICAgIC8qCisgICAgICogc2ltdWxhdGUgYSBwcm9ncmVzc2l2ZSBwYXJzaW5nIHVzaW5nIHRoZSBpbnB1dCBmaWxlLgorICAgICAqLworICAgIGRlc2MgPSBmb3Blbihhcmd2WzFdLCAicmIiKTsKKyAgICBpZiAoZGVzYyAhPSBOVUxMKSB7CisJZXhhbXBsZTRGdW5jKGFyZ3ZbMV0pOworCWZjbG9zZShkZXNjKTsKKyAgICB9IGVsc2UgeworICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkZhaWxlZCB0byBwYXJzZSAlc1xuIiwgYXJndlsxXSk7CisgICAgfQorCisgICAgLyoKKyAgICAgKiBDbGVhbnVwIGZ1bmN0aW9uIGZvciB0aGUgWE1MIGxpYnJhcnkuCisgICAgICovCisgICAgeG1sQ2xlYW51cFBhcnNlcigpOworICAgIC8qCisgICAgICogdGhpcyBpcyB0byBkZWJ1ZyBtZW1vcnkgZm9yIHJlZ3Jlc3Npb24gdGVzdHMKKyAgICAgKi8KKyAgICB4bWxNZW1vcnlEdW1wKCk7CisgICAgcmV0dXJuKDApOworfQorI2Vsc2UgLyogISBMSUJYTUxfUFVTSF9FTkFCTEVEICovCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKKyAgICBmcHJpbnRmKHN0ZGVyciwgIkxpYnJhcnkgbm90IGNvbXBpbGVkIHdpdGggcHVzaCBwYXJzZXIgc3VwcG9ydFxuIik7CisgICAgcmV0dXJuKDEpOworfQorI2VuZGlmCmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9leGFtcGxlcy9yZWFkZXIxLmMgYi9saWJ4bWwyL2RvYy9leGFtcGxlcy9yZWFkZXIxLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZThhMDA1YQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL2V4YW1wbGVzL3JlYWRlcjEuYwpAQCAtMCwwICsxLDEwNyBAQAorLyoqCisgKiBzZWN0aW9uOiB4bWxSZWFkZXIKKyAqIHN5bm9wc2lzOiBQYXJzZSBhbiBYTUwgZmlsZSB3aXRoIGFuIHhtbFJlYWRlcgorICogcHVycG9zZTogRGVtb25zdHJhdGUgdGhlIHVzZSBvZiB4bWxSZWFkZXJGb3JGaWxlKCkgdG8gcGFyc2UgYW4gWE1MIGZpbGUKKyAqICAgICAgICAgIGFuZCBkdW1wIHRoZSBpbmZvcm1hdGlvbnMgYWJvdXQgdGhlIG5vZGVzIGZvdW5kIGluIHRoZSBwcm9jZXNzLgorICogICAgICAgICAgKE5vdGUgdGhhdCB0aGUgWE1MUmVhZGVyIGZ1bmN0aW9ucyByZXF1aXJlIGxpYnhtbDIgdmVyc2lvbiBsYXRlcgorICogICAgICAgICAgdGhhbiAyLjYuKQorICogdXNhZ2U6IHJlYWRlcjEgPGZpbGVuYW1lPgorICogdGVzdDogcmVhZGVyMSB0ZXN0Mi54bWwgPiByZWFkZXIxLnRtcCAmJiBkaWZmIHJlYWRlcjEudG1wICQoc3JjZGlyKS9yZWFkZXIxLnJlcworICogYXV0aG9yOiBEYW5pZWwgVmVpbGxhcmQKKyAqIGNvcHk6IHNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyAqLworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxsaWJ4bWwveG1scmVhZGVyLmg+CisKKyNpZmRlZiBMSUJYTUxfUkVBREVSX0VOQUJMRUQKKworLyoqCisgKiBwcm9jZXNzTm9kZToKKyAqIEByZWFkZXI6IHRoZSB4bWxSZWFkZXIKKyAqCisgKiBEdW1wIGluZm9ybWF0aW9uIGFib3V0IHRoZSBjdXJyZW50IG5vZGUKKyAqLworc3RhdGljIHZvaWQKK3Byb2Nlc3NOb2RlKHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyKSB7CisgICAgY29uc3QgeG1sQ2hhciAqbmFtZSwgKnZhbHVlOworCisgICAgbmFtZSA9IHhtbFRleHRSZWFkZXJDb25zdE5hbWUocmVhZGVyKTsKKyAgICBpZiAobmFtZSA9PSBOVUxMKQorCW5hbWUgPSBCQURfQ0FTVCAiLS0iOworCisgICAgdmFsdWUgPSB4bWxUZXh0UmVhZGVyQ29uc3RWYWx1ZShyZWFkZXIpOworCisgICAgcHJpbnRmKCIlZCAlZCAlcyAlZCAlZCIsIAorCSAgICB4bWxUZXh0UmVhZGVyRGVwdGgocmVhZGVyKSwKKwkgICAgeG1sVGV4dFJlYWRlck5vZGVUeXBlKHJlYWRlciksCisJICAgIG5hbWUsCisJICAgIHhtbFRleHRSZWFkZXJJc0VtcHR5RWxlbWVudChyZWFkZXIpLAorCSAgICB4bWxUZXh0UmVhZGVySGFzVmFsdWUocmVhZGVyKSk7CisgICAgaWYgKHZhbHVlID09IE5VTEwpCisJcHJpbnRmKCJcbiIpOworICAgIGVsc2UgeworICAgICAgICBpZiAoeG1sU3RybGVuKHZhbHVlKSA+IDQwKQorICAgICAgICAgICAgcHJpbnRmKCIgJS40MHMuLi5cbiIsIHZhbHVlKTsKKyAgICAgICAgZWxzZQorCSAgICBwcmludGYoIiAlc1xuIiwgdmFsdWUpOworICAgIH0KK30KKworLyoqCisgKiBzdHJlYW1GaWxlOgorICogQGZpbGVuYW1lOiB0aGUgZmlsZSBuYW1lIHRvIHBhcnNlCisgKgorICogUGFyc2UgYW5kIHByaW50IGluZm9ybWF0aW9uIGFib3V0IGFuIFhNTCBmaWxlLgorICovCitzdGF0aWMgdm9pZAorc3RyZWFtRmlsZShjb25zdCBjaGFyICpmaWxlbmFtZSkgeworICAgIHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyOworICAgIGludCByZXQ7CisKKyAgICByZWFkZXIgPSB4bWxSZWFkZXJGb3JGaWxlKGZpbGVuYW1lLCBOVUxMLCAwKTsKKyAgICBpZiAocmVhZGVyICE9IE5VTEwpIHsKKyAgICAgICAgcmV0ID0geG1sVGV4dFJlYWRlclJlYWQocmVhZGVyKTsKKyAgICAgICAgd2hpbGUgKHJldCA9PSAxKSB7CisgICAgICAgICAgICBwcm9jZXNzTm9kZShyZWFkZXIpOworICAgICAgICAgICAgcmV0ID0geG1sVGV4dFJlYWRlclJlYWQocmVhZGVyKTsKKyAgICAgICAgfQorICAgICAgICB4bWxGcmVlVGV4dFJlYWRlcihyZWFkZXIpOworICAgICAgICBpZiAocmV0ICE9IDApIHsKKyAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiJXMgOiBmYWlsZWQgdG8gcGFyc2VcbiIsIGZpbGVuYW1lKTsKKyAgICAgICAgfQorICAgIH0gZWxzZSB7CisgICAgICAgIGZwcmludGYoc3RkZXJyLCAiVW5hYmxlIHRvIG9wZW4gJXNcbiIsIGZpbGVuYW1lKTsKKyAgICB9Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgeworICAgIGlmIChhcmdjICE9IDIpCisgICAgICAgIHJldHVybigxKTsKKworICAgIC8qCisgICAgICogdGhpcyBpbml0aWFsaXplIHRoZSBsaWJyYXJ5IGFuZCBjaGVjayBwb3RlbnRpYWwgQUJJIG1pc21hdGNoZXMKKyAgICAgKiBiZXR3ZWVuIHRoZSB2ZXJzaW9uIGl0IHdhcyBjb21waWxlZCBmb3IgYW5kIHRoZSBhY3R1YWwgc2hhcmVkCisgICAgICogbGlicmFyeSB1c2VkLgorICAgICAqLworICAgIExJQlhNTF9URVNUX1ZFUlNJT04KKworICAgIHN0cmVhbUZpbGUoYXJndlsxXSk7CisKKyAgICAvKgorICAgICAqIENsZWFudXAgZnVuY3Rpb24gZm9yIHRoZSBYTUwgbGlicmFyeS4KKyAgICAgKi8KKyAgICB4bWxDbGVhbnVwUGFyc2VyKCk7CisgICAgLyoKKyAgICAgKiB0aGlzIGlzIHRvIGRlYnVnIG1lbW9yeSBmb3IgcmVncmVzc2lvbiB0ZXN0cworICAgICAqLworICAgIHhtbE1lbW9yeUR1bXAoKTsKKyAgICByZXR1cm4oMCk7Cit9CisKKyNlbHNlCitpbnQgbWFpbih2b2lkKSB7CisgICAgZnByaW50ZihzdGRlcnIsICJYSW5jbHVkZSBzdXBwb3J0IG5vdCBjb21waWxlZCBpblxuIik7CisgICAgZXhpdCgxKTsKK30KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvZXhhbXBsZXMvcmVhZGVyMS5yZXMgYi9saWJ4bWwyL2RvYy9leGFtcGxlcy9yZWFkZXIxLnJlcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYjQ4ZDg1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvZXhhbXBsZXMvcmVhZGVyMS5yZXMKQEAgLTAsMCArMSwxNCBAQAorMCAxMCBkb2MgMCAwCiswIDEgZG9jIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSAxIHNyYyAxIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKzEgMSBkZXN0IDEgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSAxIHNyYyAxIDAKKzEgMTQgI3RleHQgMCAxIAorCiswIDE1IGRvYyAwIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2V4YW1wbGVzL3JlYWRlcjIuYyBiL2xpYnhtbDIvZG9jL2V4YW1wbGVzL3JlYWRlcjIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNDNiMTM3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvZXhhbXBsZXMvcmVhZGVyMi5jCkBAIC0wLDAgKzEsMTIyIEBACisvKioKKyAqIHNlY3Rpb246IHhtbFJlYWRlcgorICogc3lub3BzaXM6IFBhcnNlIGFuZCB2YWxpZGF0ZSBhbiBYTUwgZmlsZSB3aXRoIGFuIHhtbFJlYWRlcgorICogcHVycG9zZTogRGVtb25zdHJhdGUgdGhlIHVzZSBvZiB4bWxSZWFkZXJGb3JGaWxlKCkgdG8gcGFyc2UgYW4gWE1MIGZpbGUKKyAqICAgICAgICAgIHZhbGlkYXRpbmcgdGhlIGNvbnRlbnQgaW4gdGhlIHByb2Nlc3MgYW5kIGFjdGl2YXRpbmcgb3B0aW9ucworICogICAgICAgICAgbGlrZSBlbnRpdGllcyBzdWJzdGl0dXRpb24sIGFuZCBEVEQgYXR0cmlidXRlcyBkZWZhdWx0aW5nLgorICogICAgICAgICAgKE5vdGUgdGhhdCB0aGUgWE1MUmVhZGVyIGZ1bmN0aW9ucyByZXF1aXJlIGxpYnhtbDIgdmVyc2lvbiBsYXRlcgorICogICAgICAgICAgdGhhbiAyLjYuKQorICogdXNhZ2U6IHJlYWRlcjIgPHZhbGlkX3htbF9maWxlbmFtZT4KKyAqIHRlc3Q6IHJlYWRlcjIgdGVzdDIueG1sID4gcmVhZGVyMS50bXAgJiYgZGlmZiByZWFkZXIxLnRtcCAkKHNyY2RpcikvcmVhZGVyMS5yZXMKKyAqIGF1dGhvcjogRGFuaWVsIFZlaWxsYXJkCisgKiBjb3B5OiBzZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisgKi8KKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8bGlieG1sL3htbHJlYWRlci5oPgorCisjaWZkZWYgTElCWE1MX1JFQURFUl9FTkFCTEVECisKKy8qKgorICogcHJvY2Vzc05vZGU6CisgKiBAcmVhZGVyOiB0aGUgeG1sUmVhZGVyCisgKgorICogRHVtcCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgY3VycmVudCBub2RlCisgKi8KK3N0YXRpYyB2b2lkCitwcm9jZXNzTm9kZSh4bWxUZXh0UmVhZGVyUHRyIHJlYWRlcikgeworICAgIGNvbnN0IHhtbENoYXIgKm5hbWUsICp2YWx1ZTsKKworICAgIG5hbWUgPSB4bWxUZXh0UmVhZGVyQ29uc3ROYW1lKHJlYWRlcik7CisgICAgaWYgKG5hbWUgPT0gTlVMTCkKKwluYW1lID0gQkFEX0NBU1QgIi0tIjsKKworICAgIHZhbHVlID0geG1sVGV4dFJlYWRlckNvbnN0VmFsdWUocmVhZGVyKTsKKworICAgIHByaW50ZigiJWQgJWQgJXMgJWQgJWQiLCAKKwkgICAgeG1sVGV4dFJlYWRlckRlcHRoKHJlYWRlciksCisJICAgIHhtbFRleHRSZWFkZXJOb2RlVHlwZShyZWFkZXIpLAorCSAgICBuYW1lLAorCSAgICB4bWxUZXh0UmVhZGVySXNFbXB0eUVsZW1lbnQocmVhZGVyKSwKKwkgICAgeG1sVGV4dFJlYWRlckhhc1ZhbHVlKHJlYWRlcikpOworICAgIGlmICh2YWx1ZSA9PSBOVUxMKQorCXByaW50ZigiXG4iKTsKKyAgICBlbHNlIHsKKyAgICAgICAgaWYgKHhtbFN0cmxlbih2YWx1ZSkgPiA0MCkKKyAgICAgICAgICAgIHByaW50ZigiICUuNDBzLi4uXG4iLCB2YWx1ZSk7CisgICAgICAgIGVsc2UKKwkgICAgcHJpbnRmKCIgJXNcbiIsIHZhbHVlKTsKKyAgICB9Cit9CisKKy8qKgorICogc3RyZWFtRmlsZToKKyAqIEBmaWxlbmFtZTogdGhlIGZpbGUgbmFtZSB0byBwYXJzZQorICoKKyAqIFBhcnNlLCB2YWxpZGF0ZSBhbmQgcHJpbnQgaW5mb3JtYXRpb24gYWJvdXQgYW4gWE1MIGZpbGUuCisgKi8KK3N0YXRpYyB2b2lkCitzdHJlYW1GaWxlKGNvbnN0IGNoYXIgKmZpbGVuYW1lKSB7CisgICAgeG1sVGV4dFJlYWRlclB0ciByZWFkZXI7CisgICAgaW50IHJldDsKKworCisgICAgLyoKKyAgICAgKiBQYXNzIHNvbWUgc3BlY2lhbCBwYXJzaW5nIG9wdGlvbnMgdG8gYWN0aXZhdGUgRFREIGF0dHJpYnV0ZSBkZWZhdWx0aW5nLAorICAgICAqIGVudGl0aWVzIHN1YnN0aXR1dGlvbiBhbmQgRFREIHZhbGlkYXRpb24KKyAgICAgKi8KKyAgICByZWFkZXIgPSB4bWxSZWFkZXJGb3JGaWxlKGZpbGVuYW1lLCBOVUxMLAorICAgICAgICAgICAgICAgICBYTUxfUEFSU0VfRFREQVRUUiB8ICAvKiBkZWZhdWx0IERURCBhdHRyaWJ1dGVzICovCisJCSBYTUxfUEFSU0VfTk9FTlQgfCAgICAvKiBzdWJzdGl0dXRlIGVudGl0aWVzICovCisJCSBYTUxfUEFSU0VfRFREVkFMSUQpOyAvKiB2YWxpZGF0ZSB3aXRoIHRoZSBEVEQgKi8KKyAgICBpZiAocmVhZGVyICE9IE5VTEwpIHsKKyAgICAgICAgcmV0ID0geG1sVGV4dFJlYWRlclJlYWQocmVhZGVyKTsKKyAgICAgICAgd2hpbGUgKHJldCA9PSAxKSB7CisgICAgICAgICAgICBwcm9jZXNzTm9kZShyZWFkZXIpOworICAgICAgICAgICAgcmV0ID0geG1sVGV4dFJlYWRlclJlYWQocmVhZGVyKTsKKyAgICAgICAgfQorCS8qCisJICogT25jZSB0aGUgZG9jdW1lbnQgaGFzIGJlZW4gZnVsbHkgcGFyc2VkIGNoZWNrIHRoZSB2YWxpZGF0aW9uIHJlc3VsdHMKKwkgKi8KKwlpZiAoeG1sVGV4dFJlYWRlcklzVmFsaWQocmVhZGVyKSAhPSAxKSB7CisJICAgIGZwcmludGYoc3RkZXJyLCAiRG9jdW1lbnQgJXMgZG9lcyBub3QgdmFsaWRhdGVcbiIsIGZpbGVuYW1lKTsKKwl9CisgICAgICAgIHhtbEZyZWVUZXh0UmVhZGVyKHJlYWRlcik7CisgICAgICAgIGlmIChyZXQgIT0gMCkgeworICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICIlcyA6IGZhaWxlZCB0byBwYXJzZVxuIiwgZmlsZW5hbWUpOworICAgICAgICB9CisgICAgfSBlbHNlIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJVbmFibGUgdG8gb3BlbiAlc1xuIiwgZmlsZW5hbWUpOworICAgIH0KK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CisgICAgaWYgKGFyZ2MgIT0gMikKKyAgICAgICAgcmV0dXJuKDEpOworCisgICAgLyoKKyAgICAgKiB0aGlzIGluaXRpYWxpemUgdGhlIGxpYnJhcnkgYW5kIGNoZWNrIHBvdGVudGlhbCBBQkkgbWlzbWF0Y2hlcworICAgICAqIGJldHdlZW4gdGhlIHZlcnNpb24gaXQgd2FzIGNvbXBpbGVkIGZvciBhbmQgdGhlIGFjdHVhbCBzaGFyZWQKKyAgICAgKiBsaWJyYXJ5IHVzZWQuCisgICAgICovCisgICAgTElCWE1MX1RFU1RfVkVSU0lPTgorCisgICAgc3RyZWFtRmlsZShhcmd2WzFdKTsKKworICAgIC8qCisgICAgICogQ2xlYW51cCBmdW5jdGlvbiBmb3IgdGhlIFhNTCBsaWJyYXJ5LgorICAgICAqLworICAgIHhtbENsZWFudXBQYXJzZXIoKTsKKyAgICAvKgorICAgICAqIHRoaXMgaXMgdG8gZGVidWcgbWVtb3J5IGZvciByZWdyZXNzaW9uIHRlc3RzCisgICAgICovCisgICAgeG1sTWVtb3J5RHVtcCgpOworICAgIHJldHVybigwKTsKK30KKworI2Vsc2UKK2ludCBtYWluKHZvaWQpIHsKKyAgICBmcHJpbnRmKHN0ZGVyciwgIlhJbmNsdWRlIHN1cHBvcnQgbm90IGNvbXBpbGVkIGluXG4iKTsKKyAgICBleGl0KDEpOworfQorI2VuZGlmCmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9leGFtcGxlcy9yZWFkZXIzLmMgYi9saWJ4bWwyL2RvYy9leGFtcGxlcy9yZWFkZXIzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2VlYjYxZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL2V4YW1wbGVzL3JlYWRlcjMuYwpAQCAtMCwwICsxLDEyMCBAQAorLyoqCisgKiBzZWN0aW9uOiB4bWxSZWFkZXIKKyAqIHN5bm9wc2lzOiBTaG93IGhvdyB0byBleHRyYWN0IHN1YmRvY3VtZW50cyB3aXRoIHhtbFJlYWRlcgorICogcHVycG9zZTogRGVtb25zdHJhdGUgdGhlIHVzZSBvZiB4bWxUZXh0UmVhZGVyUHJlc2VydmVQYXR0ZXJuKCkgCisgKiAgICAgICAgICB0byBwYXJzZSBhbiBYTUwgZmlsZSB3aXRoIHRoZSB4bWxSZWFkZXIgd2hpbGUgY29sbGVjdGluZworICogICAgICAgICAgb25seSBzb21lIHN1YnBhcnRzIG9mIHRoZSBkb2N1bWVudC4KKyAqICAgICAgICAgIChOb3RlIHRoYXQgdGhlIFhNTFJlYWRlciBmdW5jdGlvbnMgcmVxdWlyZSBsaWJ4bWwyIHZlcnNpb24gbGF0ZXIKKyAqICAgICAgICAgIHRoYW4gMi42LikKKyAqIHVzYWdlOiByZWFkZXIzCisgKiB0ZXN0OiByZWFkZXIzID4gcmVhZGVyMy50bXAgJiYgZGlmZiByZWFkZXIzLnRtcCAkKHNyY2RpcikvcmVhZGVyMy5yZXMKKyAqIGF1dGhvcjogRGFuaWVsIFZlaWxsYXJkCisgKiBjb3B5OiBzZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisgKi8KKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8bGlieG1sL3htbHJlYWRlci5oPgorCisjaWYgZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpICYmIGRlZmluZWQoTElCWE1MX1BBVFRFUk5fRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpCisKKworLyoqCisgKiBzdHJlYW1GaWxlOgorICogQGZpbGVuYW1lOiB0aGUgZmlsZSBuYW1lIHRvIHBhcnNlCisgKgorICogUGFyc2UgYW5kIHByaW50IGluZm9ybWF0aW9uIGFib3V0IGFuIFhNTCBmaWxlLgorICoKKyAqIFJldHVybnMgdGhlIHJlc3VsdGluZyBkb2Mgd2l0aCBqdXN0IHRoZSBlbGVtZW50cyBwcmVzZXJ2ZWQuCisgKi8KK3N0YXRpYyB4bWxEb2NQdHIKK2V4dHJhY3RGaWxlKGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBjb25zdCB4bWxDaGFyICpwYXR0ZXJuKSB7CisgICAgeG1sRG9jUHRyIGRvYzsKKyAgICB4bWxUZXh0UmVhZGVyUHRyIHJlYWRlcjsKKyAgICBpbnQgcmV0OworCisgICAgLyoKKyAgICAgKiBidWlsZCBhbiB4bWxSZWFkZXIgZm9yIHRoYXQgZmlsZQorICAgICAqLworICAgIHJlYWRlciA9IHhtbFJlYWRlckZvckZpbGUoZmlsZW5hbWUsIE5VTEwsIDApOworICAgIGlmIChyZWFkZXIgIT0gTlVMTCkgeworICAgICAgICAvKgorCSAqIGFkZCB0aGUgcGF0dGVybiB0byBwcmVzZXJ2ZQorCSAqLworICAgICAgICBpZiAoeG1sVGV4dFJlYWRlclByZXNlcnZlUGF0dGVybihyZWFkZXIsIHBhdHRlcm4sIE5VTEwpIDwgMCkgeworICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICIlcyA6IGZhaWxlZCBhZGQgcHJlc2VydmUgcGF0dGVybiAlc1xuIiwKKwkgICAgICAgICAgICBmaWxlbmFtZSwgKGNvbnN0IGNoYXIgKikgcGF0dGVybik7CisJfQorCS8qCisJICogUGFyc2UgYW5kIHRyYXZlcnNlIHRoZSB0cmVlLCBjb2xsZWN0aW5nIHRoZSBub2RlcyBpbiB0aGUgcHJvY2VzcworCSAqLworICAgICAgICByZXQgPSB4bWxUZXh0UmVhZGVyUmVhZChyZWFkZXIpOworICAgICAgICB3aGlsZSAocmV0ID09IDEpIHsKKyAgICAgICAgICAgIHJldCA9IHhtbFRleHRSZWFkZXJSZWFkKHJlYWRlcik7CisgICAgICAgIH0KKyAgICAgICAgaWYgKHJldCAhPSAwKSB7CisgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIiVzIDogZmFpbGVkIHRvIHBhcnNlXG4iLCBmaWxlbmFtZSk7CisJICAgIHhtbEZyZWVUZXh0UmVhZGVyKHJlYWRlcik7CisJICAgIHJldHVybihOVUxMKTsKKyAgICAgICAgfQorCS8qCisJICogZ2V0IHRoZSByZXN1bHRpbmcgbm9kZXMKKwkgKi8KKwlkb2MgPSB4bWxUZXh0UmVhZGVyQ3VycmVudERvYyhyZWFkZXIpOworCS8qCisJICogRnJlZSB1cCB0aGUgcmVhZGVyCisJICovCisgICAgICAgIHhtbEZyZWVUZXh0UmVhZGVyKHJlYWRlcik7CisgICAgfSBlbHNlIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJVbmFibGUgdG8gb3BlbiAlc1xuIiwgZmlsZW5hbWUpOworCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgcmV0dXJuKGRvYyk7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgeworICAgIGNvbnN0IGNoYXIgKmZpbGVuYW1lID0gInRlc3QzLnhtbCI7CisgICAgY29uc3QgY2hhciAqcGF0dGVybiA9ICJwcmVzZXJ2ZWQiOworICAgIHhtbERvY1B0ciBkb2M7CisKKyAgICBpZiAoYXJnYyA9PSAzKSB7CisgICAgICAgIGZpbGVuYW1lID0gYXJndlsxXTsKKwlwYXR0ZXJuID0gYXJndlsyXTsKKyAgICB9CisKKyAgICAvKgorICAgICAqIHRoaXMgaW5pdGlhbGl6ZSB0aGUgbGlicmFyeSBhbmQgY2hlY2sgcG90ZW50aWFsIEFCSSBtaXNtYXRjaGVzCisgICAgICogYmV0d2VlbiB0aGUgdmVyc2lvbiBpdCB3YXMgY29tcGlsZWQgZm9yIGFuZCB0aGUgYWN0dWFsIHNoYXJlZAorICAgICAqIGxpYnJhcnkgdXNlZC4KKyAgICAgKi8KKyAgICBMSUJYTUxfVEVTVF9WRVJTSU9OCisKKyAgICBkb2MgPSBleHRyYWN0RmlsZShmaWxlbmFtZSwgKGNvbnN0IHhtbENoYXIgKikgcGF0dGVybik7CisgICAgaWYgKGRvYyAhPSBOVUxMKSB7CisgICAgICAgIC8qCisJICogb3VwdHV0IHRoZSByZXN1bHQuCisJICovCisgICAgICAgIHhtbERvY0R1bXAoc3Rkb3V0LCBkb2MpOworCS8qCisJICogZG9uJ3QgZm9yZ2V0IHRvIGZyZWUgdXAgdGhlIGRvYworCSAqLworCXhtbEZyZWVEb2MoZG9jKTsKKyAgICB9CisKKworICAgIC8qCisgICAgICogQ2xlYW51cCBmdW5jdGlvbiBmb3IgdGhlIFhNTCBsaWJyYXJ5LgorICAgICAqLworICAgIHhtbENsZWFudXBQYXJzZXIoKTsKKyAgICAvKgorICAgICAqIHRoaXMgaXMgdG8gZGVidWcgbWVtb3J5IGZvciByZWdyZXNzaW9uIHRlc3RzCisgICAgICovCisgICAgeG1sTWVtb3J5RHVtcCgpOworICAgIHJldHVybigwKTsKK30KKworI2Vsc2UKK2ludCBtYWluKHZvaWQpIHsKKyAgICBmcHJpbnRmKHN0ZGVyciwgIlJlYWRlciwgUGF0dGVybiBvciBvdXRwdXQgc3VwcG9ydCBub3QgY29tcGlsZWQgaW5cbiIpOworICAgIGV4aXQoMSk7Cit9CisjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2V4YW1wbGVzL3JlYWRlcjMucmVzIGIvbGlieG1sMi9kb2MvZXhhbXBsZXMvcmVhZGVyMy5yZXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjBlMmU4MgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL2V4YW1wbGVzL3JlYWRlcjMucmVzCkBAIC0wLDAgKzEsMTMgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPGRvYz48cGFyZW50PjxwcmVzZXJ2ZWQvPjxwcmVzZXJ2ZWQ+CisgICAgICBjb250ZW50MQorICAgICAgPGNoaWxkMS8+CisgICAgICA8Y2hpbGQyPmNvbnRlbnQyPC9jaGlsZDI+CisgICAgICA8cHJlc2VydmVkPnRvbzwvcHJlc2VydmVkPgorICAgICAgPGNoaWxkMj5jb250ZW50MzwvY2hpbGQyPgorICAgICAgPHByZXNlcnZlZC8+CisgICAgICA8Y2hpbGQyPmNvbnRlbnQ0PC9jaGlsZDI+CisgICAgICA8cHJlc2VydmVkLz4KKyAgICAgIDxjaGlsZDI+Y29udGVudDU8L2NoaWxkMj4KKyAgICAgIGNvbnRlbnQ2CisgICAgPC9wcmVzZXJ2ZWQ+PHByZXNlcnZlZC8+PHByZXNlcnZlZC8+PC9wYXJlbnQ+PC9kb2M+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9leGFtcGxlcy9yZWFkZXI0LmMgYi9saWJ4bWwyL2RvYy9leGFtcGxlcy9yZWFkZXI0LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTI4OWQwZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL2V4YW1wbGVzL3JlYWRlcjQuYwpAQCAtMCwwICsxLDEyMiBAQAorLyoqCisgKiBzZWN0aW9uOiB4bWxSZWFkZXIKKyAqIHN5bm9wc2lzOiBQYXJzZSBtdWx0aXBsZSBYTUwgZmlsZXMgcmV1c2luZyBhbiB4bWxSZWFkZXIKKyAqIHB1cnBvc2U6IERlbW9uc3RyYXRlIHRoZSB1c2Ugb2YgeG1sUmVhZGVyRm9yRmlsZSgpIGFuZAorICogeG1sUmVhZGVyTmV3RmlsZSB0byBwYXJzZSBYTUwgZmlsZXMgd2hpbGUgcmV1c2luZyB0aGUgcmVhZGVyIG9iamVjdAorICogYW5kIHBhcnNlciBjb250ZXh0LiAgKE5vdGUgdGhhdCB0aGUgWE1MUmVhZGVyIGZ1bmN0aW9ucyByZXF1aXJlCisgKiBsaWJ4bWwyIHZlcnNpb24gbGF0ZXIgdGhhbiAyLjYuKQorICogdXNhZ2U6IHJlYWRlcjQgPGZpbGVuYW1lPiBbIGZpbGVuYW1lIC4uLiBdCisgKiB0ZXN0OiByZWFkZXI0IHRlc3QxLnhtbCB0ZXN0Mi54bWwgdGVzdDMueG1sID4gcmVhZGVyNC50bXAgJiYgZGlmZiByZWFkZXI0LnRtcCAkKHNyY2RpcikvcmVhZGVyNC5yZXMKKyAqIGF1dGhvcjogR3JhaGFtIEJlbm5ldHQKKyAqIGNvcHk6IHNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyAqLworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxsaWJ4bWwveG1scmVhZGVyLmg+CisKKyNpZmRlZiBMSUJYTUxfUkVBREVSX0VOQUJMRUQKKworc3RhdGljIHZvaWQgcHJvY2Vzc0RvYyh4bWxUZXh0UmVhZGVyUHRyIHJlYWRlclB0cikgeworICAgIGludCByZXQ7CisgICAgeG1sRG9jUHRyIGRvY1B0cjsKKyAgICBjb25zdCB4bWxDaGFyICpVUkw7CisKKyAgICByZXQgPSB4bWxUZXh0UmVhZGVyUmVhZChyZWFkZXJQdHIpOworICAgIHdoaWxlIChyZXQgPT0gMSkgeworICAgICAgcmV0ID0geG1sVGV4dFJlYWRlclJlYWQocmVhZGVyUHRyKTsKKyAgICB9CisKKyAgICAvKgorICAgICAqIE9uZSBjYW4gb2J0YWluIHRoZSBkb2N1bWVudCBwb2ludGVyIHRvIGdldCBpbnN0ZXJlc3RpbmcKKyAgICAgKiBpbmZvcm1hdGlvbiBhYm91dCB0aGUgZG9jdW1lbnQgbGlrZSB0aGUgVVJMLCBidXQgb25lIG11c3QgYWxzbworICAgICAqIGJlIHN1cmUgdG8gY2xlYW4gaXQgdXAgYXQgdGhlIGVuZCAoc2VlIGJlbG93KS4KKyAgICAgKi8KKyAgICBkb2NQdHIgPSB4bWxUZXh0UmVhZGVyQ3VycmVudERvYyhyZWFkZXJQdHIpOworICAgIGlmIChOVUxMID09IGRvY1B0cikgeworICAgICAgZnByaW50ZihzdGRlcnIsICJmYWlsZWQgdG8gb2J0YWluIGRvY3VtZW50XG4iKTsgICAgICAKKyAgICAgIHJldHVybjsKKyAgICB9CisgICAgICAKKyAgICBVUkwgPSBkb2NQdHItPlVSTDsKKyAgICBpZiAoTlVMTCA9PSBVUkwpIHsKKyAgICAgIGZwcmludGYoc3RkZXJyLCAiRmFpbGVkIHRvIG9idGFpbiBVUkxcbiIpOyAgICAgIAorICAgIH0KKworICAgIGlmIChyZXQgIT0gMCkgeworICAgICAgZnByaW50ZihzdGRlcnIsICIlczogRmFpbGVkIHRvIHBhcnNlXG4iLCBVUkwpOworICAgICAgcmV0dXJuOworICAgIH0KKworICAgIHByaW50ZigiJXM6IFByb2Nlc3NlZCBva1xuIiwgKGNvbnN0IGNoYXIgKilVUkwpOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKKyAgICB4bWxUZXh0UmVhZGVyUHRyIHJlYWRlclB0cjsKKyAgICBpbnQgaTsKKyAgICB4bWxEb2NQdHIgZG9jUHRyOworCisgICAgaWYgKGFyZ2MgPCAyKQorICAgICAgICByZXR1cm4oMSk7CisKKyAgICAvKgorICAgICAqIHRoaXMgaW5pdGlhbGlzZXMgdGhlIGxpYnJhcnkgYW5kIGNoZWNrIHBvdGVudGlhbCBBQkkgbWlzbWF0Y2hlcworICAgICAqIGJldHdlZW4gdGhlIHZlcnNpb24gaXQgd2FzIGNvbXBpbGVkIGZvciBhbmQgdGhlIGFjdHVhbCBzaGFyZWQKKyAgICAgKiBsaWJyYXJ5IHVzZWQuCisgICAgICovCisgICAgTElCWE1MX1RFU1RfVkVSU0lPTgorCisgICAgLyoKKyAgICAgKiBDcmVhdGUgYSBuZXcgcmVhZGVyIGZvciB0aGUgZmlyc3QgZmlsZSBhbmQgcHJvY2VzcyB0aGUKKyAgICAgKiBkb2N1bWVudC4KKyAgICAgKi8KKyAgICByZWFkZXJQdHIgPSB4bWxSZWFkZXJGb3JGaWxlKGFyZ3ZbMV0sIE5VTEwsIDApOworICAgIGlmIChOVUxMID09IHJlYWRlclB0cikgeworICAgICAgZnByaW50ZihzdGRlcnIsICIlczogZmFpbGVkIHRvIGNyZWF0ZSByZWFkZXJcbiIsIGFyZ3ZbMV0pOyAgICAgIAorICAgICAgcmV0dXJuKDEpOworICAgIH0KKyAgICBwcm9jZXNzRG9jKHJlYWRlclB0cik7CisKKyAgICAvKgorICAgICAqIFRoZSByZWFkZXIgY2FuIGJlIHJldXNlZCBmb3Igc3Vic2VxdWVudCBmaWxlcy4KKyAgICAgKi8KKyAgICBmb3IgKGk9MjsgaSA8IGFyZ2M7ICsraSkgeworICAgICAgCXhtbFJlYWRlck5ld0ZpbGUocmVhZGVyUHRyLCBhcmd2W2ldLCBOVUxMLCAwKTsKKwlpZiAoTlVMTCA9PSByZWFkZXJQdHIpIHsKKwkgIGZwcmludGYoc3RkZXJyLCAiJXM6IGZhaWxlZCB0byBjcmVhdGUgcmVhZGVyXG4iLCBhcmd2W2ldKTsgICAgICAKKwkgIHJldHVybigxKTsKKwl9CisgICAgICAgIHByb2Nlc3NEb2MocmVhZGVyUHRyKTsKKyAgICB9CisKKyAgICAvKgorICAgICAqIFNpbmNlIHdlJ3ZlIGNhbGxlZCB4bWxUZXh0UmVhZGVyQ3VycmVudERvYywgd2Ugbm93IGhhdmUgdG8KKyAgICAgKiBjbGVhbiB1cCBhZnRlciBvdXJzZWx2ZXMuICBXZSBvbmx5IGhhdmUgdG8gZG8gdGhpcyB0aGUgbGFzdAorICAgICAqIHRpbWUsIGJlY2F1c2UgeG1sUmVhZGVyTmV3RmlsZSBjYWxscyB4bWxDdHh0UmVzZXQgd2hpY2ggdGFrZXMKKyAgICAgKiBjYXJlIG9mIGl0LgorICAgICAqLworICAgIGRvY1B0ciA9IHhtbFRleHRSZWFkZXJDdXJyZW50RG9jKHJlYWRlclB0cik7CisgICAgaWYgKGRvY1B0ciAhPSBOVUxMKQorICAgICAgeG1sRnJlZURvYyhkb2NQdHIpOworCisgICAgLyoKKyAgICAgKiBDbGVhbiB1cCB0aGUgcmVhZGVyLgorICAgICAqLworICAgIHhtbEZyZWVUZXh0UmVhZGVyKHJlYWRlclB0cik7CisKKyAgICAvKgorICAgICAqIENsZWFudXAgZnVuY3Rpb24gZm9yIHRoZSBYTUwgbGlicmFyeS4KKyAgICAgKi8KKyAgICB4bWxDbGVhbnVwUGFyc2VyKCk7CisgICAgLyoKKyAgICAgKiB0aGlzIGlzIHRvIGRlYnVnIG1lbW9yeSBmb3IgcmVncmVzc2lvbiB0ZXN0cworICAgICAqLworICAgIHhtbE1lbW9yeUR1bXAoKTsKKyAgICByZXR1cm4oMCk7Cit9CisKKyNlbHNlCitpbnQgbWFpbih2b2lkKSB7CisgICAgZnByaW50ZihzdGRlcnIsICJ4bWxSZWFkZXIgc3VwcG9ydCBub3QgY29tcGlsZWQgaW5cbiIpOworICAgIGV4aXQoMSk7Cit9CisjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2V4YW1wbGVzL3JlYWRlcjQucmVzIGIvbGlieG1sMi9kb2MvZXhhbXBsZXMvcmVhZGVyNC5yZXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjc5M2Y4MgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL2V4YW1wbGVzL3JlYWRlcjQucmVzCkBAIC0wLDAgKzEsMyBAQAordGVzdDEueG1sOiBQcm9jZXNzZWQgb2sKK3Rlc3QyLnhtbDogUHJvY2Vzc2VkIG9rCit0ZXN0My54bWw6IFByb2Nlc3NlZCBvawpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvZXhhbXBsZXMvdGVzdDEueG1sIGIvbGlieG1sMi9kb2MvZXhhbXBsZXMvdGVzdDEueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY5ZDYyZjIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9leGFtcGxlcy90ZXN0MS54bWwKQEAgLTAsMCArMSBAQAorPGRvYy8+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9leGFtcGxlcy90ZXN0Mi54bWwgYi9saWJ4bWwyL2RvYy9leGFtcGxlcy90ZXN0Mi54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzM5MGY1ZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL2V4YW1wbGVzL3Rlc3QyLnhtbApAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgZG9jIFsKKzwhRUxFTUVOVCBkb2MgKHNyYyB8IGRlc3QpKj4KKzwhRUxFTUVOVCBzcmMgRU1QVFk+Cis8IUVMRU1FTlQgZGVzdCBFTVBUWT4KKzwhQVRUTElTVCBzcmMgcmVmIElEUkVGICNJTVBMSUVEPgorPCFBVFRMSVNUIGRlc3QgaWQgSUQgI0lNUExJRUQ+CitdPgorPGRvYz4KKyAgPHNyYyByZWY9ImZvbyIvPgorICA8ZGVzdCBpZD0iZm9vIi8+CisgIDxzcmMgcmVmPSJmb28iLz4KKzwvZG9jPgorCmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9leGFtcGxlcy90ZXN0My54bWwgYi9saWJ4bWwyL2RvYy9leGFtcGxlcy90ZXN0My54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGQwODI4ZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL2V4YW1wbGVzL3Rlc3QzLnhtbApAQCAtMCwwICsxLDM5IEBACis8ZG9jPgorICA8cGFyZW50PgorICAgIDxkaXNjYXJkZWQ+CisgICAgICA8ZGlzY2FyZGVkLz4KKyAgICA8L2Rpc2NhcmRlZD4KKyAgICA8cHJlc2VydmVkLz4KKyAgICBUaGlzIHRleHQgbm9kZSBtdXN0IGJlIGRpc2NhcmRlZAorICAgIDxkaXNjYXJkZWQ+CisgICAgICA8ZGlzY2FyZGVkLz4KKyAgICA8L2Rpc2NhcmRlZD4KKyAgICA8cHJlc2VydmVkPgorICAgICAgY29udGVudDEKKyAgICAgIDxjaGlsZDE+PC9jaGlsZDE+CisgICAgICA8Y2hpbGQyPmNvbnRlbnQyPC9jaGlsZDI+CisgICAgICA8cHJlc2VydmVkPnRvbzwvcHJlc2VydmVkPgorICAgICAgPGNoaWxkMj5jb250ZW50MzwvY2hpbGQyPgorICAgICAgPHByZXNlcnZlZD48L3ByZXNlcnZlZD4KKyAgICAgIDxjaGlsZDI+Y29udGVudDQ8L2NoaWxkMj4KKyAgICAgIDxwcmVzZXJ2ZWQvPgorICAgICAgPGNoaWxkMj5jb250ZW50NTwvY2hpbGQyPgorICAgICAgY29udGVudDYKKyAgICA8L3ByZXNlcnZlZD4KKyAgICBUaGlzIHRleHQgbm9kZSBtdXN0IGJlIGRpc2NhcmRlZAorICAgIDxkaXNjYXJkZWQ+CisgICAgICA8ZGlzY2FyZGVkLz4KKyAgICA8L2Rpc2NhcmRlZD4KKyAgICBUaGlzIHRleHQgbm9kZSBtdXN0IGJlIGRpc2NhcmRlZAorICAgIDxwcmVzZXJ2ZWQ+PC9wcmVzZXJ2ZWQ+CisgICAgVGhpcyB0ZXh0IG5vZGUgbXVzdCBiZSBkaXNjYXJkZWQKKyAgICA8cHJlc2VydmVkLz4KKyAgICBUaGlzIHRleHQgbm9kZSBtdXN0IGJlIGRpc2NhcmRlZAorICAgIDxkaXNjYXJkZWQ+CisgICAgICA8ZGlzY2FyZGVkLz4KKyAgICA8L2Rpc2NhcmRlZD4KKyAgICBUaGlzIHRleHQgbm9kZSBtdXN0IGJlIGRpc2NhcmRlZAorICA8L3BhcmVudD4KKzwvZG9jPgorCisgICAgICAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2V4YW1wbGVzL3Rlc3RXcml0ZXIuYyBiL2xpYnhtbDIvZG9jL2V4YW1wbGVzL3Rlc3RXcml0ZXIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNjYyZjc2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvZXhhbXBsZXMvdGVzdFdyaXRlci5jCkBAIC0wLDAgKzEsMTE5OCBAQAorLyoqCisgKiBzZWN0aW9uOiB4bWxXcml0ZXIKKyAqIHN5bm9wc2lzOiB1c2UgdmFyaW91cyBBUElzIGZvciB0aGUgeG1sV3JpdGVyCisgKiBwdXJwb3NlOiB0ZXN0cyBhIG51bWJlciBvZiBBUElzIGZvciB0aGUgeG1sV3JpdGVyLCBlc3BlY2lhbGx5CisgKiAgICAgICAgICB0aGUgdmFyaW91cyBtZXRob2RzIHRvIHdyaXRlIHRvIGEgZmlsZW5hbWUsIHRvIGEgbWVtb3J5CisgKiAgICAgICAgICBidWZmZXIsIHRvIGEgbmV3IGRvY3VtZW50LCBvciB0byBhIHN1YnRyZWUuIEl0IHNob3dzIGhvdyB0bworICogICAgICAgICAgZG8gZW5jb2Rpbmcgc3RyaW5nIGNvbnZlcnNpb25zIHRvby4gVGhlIHJlc3VsdGluZworICogICAgICAgICAgZG9jdW1lbnRzIGFyZSB0aGVuIHNlcmlhbGl6ZWQuCisgKiB1c2FnZTogdGVzdFdyaXRlcgorICogdGVzdDogdGVzdFdyaXRlciAmJiBmb3IgaSBpbiAxIDIgMyA0IDsgZG8gZGlmZiAkKHNyY2Rpcikvd3JpdGVyLnhtbCB3cml0ZXIkJGkudG1wIHx8IGJyZWFrIDsgZG9uZQorICogYXV0aG9yOiBBbGZyZWQgTWlja2F1dHNjaAorICogY29weTogc2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgorICovCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvZW5jb2RpbmcuaD4KKyNpbmNsdWRlIDxsaWJ4bWwveG1sd3JpdGVyLmg+CisKKyNpZiBkZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpCisKKyNkZWZpbmUgTVlfRU5DT0RJTkcgIklTTy04ODU5LTEiCisKK3ZvaWQgdGVzdFhtbHdyaXRlckZpbGVuYW1lKGNvbnN0IGNoYXIgKnVyaSk7Cit2b2lkIHRlc3RYbWx3cml0ZXJNZW1vcnkoY29uc3QgY2hhciAqZmlsZSk7Cit2b2lkIHRlc3RYbWx3cml0ZXJEb2MoY29uc3QgY2hhciAqZmlsZSk7Cit2b2lkIHRlc3RYbWx3cml0ZXJUcmVlKGNvbnN0IGNoYXIgKmZpbGUpOworeG1sQ2hhciAqQ29udmVydElucHV0KGNvbnN0IGNoYXIgKmluLCBjb25zdCBjaGFyICplbmNvZGluZyk7CisKK2ludAorbWFpbih2b2lkKQoreworICAgIC8qCisgICAgICogdGhpcyBpbml0aWFsaXplIHRoZSBsaWJyYXJ5IGFuZCBjaGVjayBwb3RlbnRpYWwgQUJJIG1pc21hdGNoZXMKKyAgICAgKiBiZXR3ZWVuIHRoZSB2ZXJzaW9uIGl0IHdhcyBjb21waWxlZCBmb3IgYW5kIHRoZSBhY3R1YWwgc2hhcmVkCisgICAgICogbGlicmFyeSB1c2VkLgorICAgICAqLworICAgIExJQlhNTF9URVNUX1ZFUlNJT04KKworICAgIC8qIGZpcnN0LCB0aGUgZmlsZSB2ZXJzaW9uICovCisgICAgdGVzdFhtbHdyaXRlckZpbGVuYW1lKCJ3cml0ZXIxLnRtcCIpOworCisgICAgLyogbmV4dCwgdGhlIG1lbW9yeSB2ZXJzaW9uICovCisgICAgdGVzdFhtbHdyaXRlck1lbW9yeSgid3JpdGVyMi50bXAiKTsKKworICAgIC8qIG5leHQsIHRoZSBET00gdmVyc2lvbiAqLworICAgIHRlc3RYbWx3cml0ZXJEb2MoIndyaXRlcjMudG1wIik7CisKKyAgICAvKiBuZXh0LCB0aGUgdHJlZSB2ZXJzaW9uICovCisgICAgdGVzdFhtbHdyaXRlclRyZWUoIndyaXRlcjQudG1wIik7CisKKyAgICAvKgorICAgICAqIENsZWFudXAgZnVuY3Rpb24gZm9yIHRoZSBYTUwgbGlicmFyeS4KKyAgICAgKi8KKyAgICB4bWxDbGVhbnVwUGFyc2VyKCk7CisgICAgLyoKKyAgICAgKiB0aGlzIGlzIHRvIGRlYnVnIG1lbW9yeSBmb3IgcmVncmVzc2lvbiB0ZXN0cworICAgICAqLworICAgIHhtbE1lbW9yeUR1bXAoKTsKKyAgICByZXR1cm4gMDsKK30KKworLyoqCisgKiB0ZXN0WG1sd3JpdGVyRmlsZW5hbWU6CisgKiBAdXJpOiB0aGUgb3V0cHV0IFVSSQorICoKKyAqIHRlc3QgdGhlIHhtbFdyaXRlciBpbnRlcmZhY2Ugd2hlbiB3cml0aW5nIHRvIGEgbmV3IGZpbGUKKyAqLwordm9pZAordGVzdFhtbHdyaXRlckZpbGVuYW1lKGNvbnN0IGNoYXIgKnVyaSkKK3sKKyAgICBpbnQgcmM7CisgICAgeG1sVGV4dFdyaXRlclB0ciB3cml0ZXI7CisgICAgeG1sQ2hhciAqdG1wOworCisgICAgLyogQ3JlYXRlIGEgbmV3IFhtbFdyaXRlciBmb3IgdXJpLCB3aXRoIG5vIGNvbXByZXNzaW9uLiAqLworICAgIHdyaXRlciA9IHhtbE5ld1RleHRXcml0ZXJGaWxlbmFtZSh1cmksIDApOworICAgIGlmICh3cml0ZXIgPT0gTlVMTCkgeworICAgICAgICBwcmludGYoInRlc3RYbWx3cml0ZXJGaWxlbmFtZTogRXJyb3IgY3JlYXRpbmcgdGhlIHhtbCB3cml0ZXJcbiIpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgLyogU3RhcnQgdGhlIGRvY3VtZW50IHdpdGggdGhlIHhtbCBkZWZhdWx0IGZvciB0aGUgdmVyc2lvbiwKKyAgICAgKiBlbmNvZGluZyBJU08gODg1OS0xIGFuZCB0aGUgZGVmYXVsdCBmb3IgdGhlIHN0YW5kYWxvbmUKKyAgICAgKiBkZWNsYXJhdGlvbi4gKi8KKyAgICByYyA9IHhtbFRleHRXcml0ZXJTdGFydERvY3VtZW50KHdyaXRlciwgTlVMTCwgTVlfRU5DT0RJTkcsIE5VTEwpOworICAgIGlmIChyYyA8IDApIHsKKyAgICAgICAgcHJpbnRmCisgICAgICAgICAgICAoInRlc3RYbWx3cml0ZXJGaWxlbmFtZTogRXJyb3IgYXQgeG1sVGV4dFdyaXRlclN0YXJ0RG9jdW1lbnRcbiIpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgLyogU3RhcnQgYW4gZWxlbWVudCBuYW1lZCAiRVhBTVBMRSIuIFNpbmNlIHRoaXN0IGlzIHRoZSBmaXJzdAorICAgICAqIGVsZW1lbnQsIHRoaXMgd2lsbCBiZSB0aGUgcm9vdCBlbGVtZW50IG9mIHRoZSBkb2N1bWVudC4gKi8KKyAgICByYyA9IHhtbFRleHRXcml0ZXJTdGFydEVsZW1lbnQod3JpdGVyLCBCQURfQ0FTVCAiRVhBTVBMRSIpOworICAgIGlmIChyYyA8IDApIHsKKyAgICAgICAgcHJpbnRmCisgICAgICAgICAgICAoInRlc3RYbWx3cml0ZXJGaWxlbmFtZTogRXJyb3IgYXQgeG1sVGV4dFdyaXRlclN0YXJ0RWxlbWVudFxuIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvKiBXcml0ZSBhIGNvbW1lbnQgYXMgY2hpbGQgb2YgRVhBTVBMRS4KKyAgICAgKiBQbGVhc2Ugb2JzZXJ2ZSwgdGhhdCB0aGUgaW5wdXQgdG8gdGhlIHhtbFRleHRXcml0ZXIgZnVuY3Rpb25zCisgICAgICogSEFTIHRvIGJlIGluIFVURi04LCBldmVuIGlmIHRoZSBvdXRwdXQgWE1MIGlzIGVuY29kZWQKKyAgICAgKiBpbiBpc28tODg1OS0xICovCisgICAgdG1wID0gQ29udmVydElucHV0KCJUaGlzIGlzIGEgY29tbWVudCB3aXRoIHNwZWNpYWwgY2hhcnM6IDzk9vw+IiwKKyAgICAgICAgICAgICAgICAgICAgICAgTVlfRU5DT0RJTkcpOworICAgIHJjID0geG1sVGV4dFdyaXRlcldyaXRlQ29tbWVudCh3cml0ZXIsIHRtcCk7CisgICAgaWYgKHJjIDwgMCkgeworICAgICAgICBwcmludGYKKyAgICAgICAgICAgICgidGVzdFhtbHdyaXRlckZpbGVuYW1lOiBFcnJvciBhdCB4bWxUZXh0V3JpdGVyV3JpdGVDb21tZW50XG4iKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBpZiAodG1wICE9IE5VTEwpIHhtbEZyZWUodG1wKTsKKworICAgIC8qIFN0YXJ0IGFuIGVsZW1lbnQgbmFtZWQgIk9SREVSIiBhcyBjaGlsZCBvZiBFWEFNUExFLiAqLworICAgIHJjID0geG1sVGV4dFdyaXRlclN0YXJ0RWxlbWVudCh3cml0ZXIsIEJBRF9DQVNUICJPUkRFUiIpOworICAgIGlmIChyYyA8IDApIHsKKyAgICAgICAgcHJpbnRmCisgICAgICAgICAgICAoInRlc3RYbWx3cml0ZXJGaWxlbmFtZTogRXJyb3IgYXQgeG1sVGV4dFdyaXRlclN0YXJ0RWxlbWVudFxuIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvKiBBZGQgYW4gYXR0cmlidXRlIHdpdGggbmFtZSAidmVyc2lvbiIgYW5kIHZhbHVlICIxLjAiIHRvIE9SREVSLiAqLworICAgIHJjID0geG1sVGV4dFdyaXRlcldyaXRlQXR0cmlidXRlKHdyaXRlciwgQkFEX0NBU1QgInZlcnNpb24iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJBRF9DQVNUICIxLjAiKTsKKyAgICBpZiAocmMgPCAwKSB7CisgICAgICAgIHByaW50ZgorICAgICAgICAgICAgKCJ0ZXN0WG1sd3JpdGVyRmlsZW5hbWU6IEVycm9yIGF0IHhtbFRleHRXcml0ZXJXcml0ZUF0dHJpYnV0ZVxuIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvKiBBZGQgYW4gYXR0cmlidXRlIHdpdGggbmFtZSAieG1sOmxhbmciIGFuZCB2YWx1ZSAiZGUiIHRvIE9SREVSLiAqLworICAgIHJjID0geG1sVGV4dFdyaXRlcldyaXRlQXR0cmlidXRlKHdyaXRlciwgQkFEX0NBU1QgInhtbDpsYW5nIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCQURfQ0FTVCAiZGUiKTsKKyAgICBpZiAocmMgPCAwKSB7CisgICAgICAgIHByaW50ZgorICAgICAgICAgICAgKCJ0ZXN0WG1sd3JpdGVyRmlsZW5hbWU6IEVycm9yIGF0IHhtbFRleHRXcml0ZXJXcml0ZUF0dHJpYnV0ZVxuIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvKiBXcml0ZSBhIGNvbW1lbnQgYXMgY2hpbGQgb2YgT1JERVIgKi8KKyAgICB0bXAgPSBDb252ZXJ0SW5wdXQoIjzk9vw+IiwgTVlfRU5DT0RJTkcpOworICAgIHJjID0geG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0Q29tbWVudCh3cml0ZXIsCisJCSAgICAgIlRoaXMgaXMgYW5vdGhlciBjb21tZW50IHdpdGggc3BlY2lhbCBjaGFyczogJXMiLAorCQkgICAgIHRtcCk7CisgICAgaWYgKHJjIDwgMCkgeworICAgICAgICBwcmludGYKKyAgICAgICAgICAgICgidGVzdFhtbHdyaXRlckZpbGVuYW1lOiBFcnJvciBhdCB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRDb21tZW50XG4iKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBpZiAodG1wICE9IE5VTEwpIHhtbEZyZWUodG1wKTsKKworICAgIC8qIFN0YXJ0IGFuIGVsZW1lbnQgbmFtZWQgIkhFQURFUiIgYXMgY2hpbGQgb2YgT1JERVIuICovCisgICAgcmMgPSB4bWxUZXh0V3JpdGVyU3RhcnRFbGVtZW50KHdyaXRlciwgQkFEX0NBU1QgIkhFQURFUiIpOworICAgIGlmIChyYyA8IDApIHsKKyAgICAgICAgcHJpbnRmCisgICAgICAgICAgICAoInRlc3RYbWx3cml0ZXJGaWxlbmFtZTogRXJyb3IgYXQgeG1sVGV4dFdyaXRlclN0YXJ0RWxlbWVudFxuIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvKiBXcml0ZSBhbiBlbGVtZW50IG5hbWVkICJYX09SREVSX0lEIiBhcyBjaGlsZCBvZiBIRUFERVIuICovCisgICAgcmMgPSB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRFbGVtZW50KHdyaXRlciwgQkFEX0NBU1QgIlhfT1JERVJfSUQiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJTAxMGQiLCA1MzUzNSk7CisgICAgaWYgKHJjIDwgMCkgeworICAgICAgICBwcmludGYKKyAgICAgICAgICAgICgidGVzdFhtbHdyaXRlckZpbGVuYW1lOiBFcnJvciBhdCB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRFbGVtZW50XG4iKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIC8qIFdyaXRlIGFuIGVsZW1lbnQgbmFtZWQgIkNVU1RPTUVSX0lEIiBhcyBjaGlsZCBvZiBIRUFERVIuICovCisgICAgcmMgPSB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRFbGVtZW50KHdyaXRlciwgQkFEX0NBU1QgIkNVU1RPTUVSX0lEIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiVkIiwgMTAxMCk7CisgICAgaWYgKHJjIDwgMCkgeworICAgICAgICBwcmludGYKKyAgICAgICAgICAgICgidGVzdFhtbHdyaXRlckZpbGVuYW1lOiBFcnJvciBhdCB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRFbGVtZW50XG4iKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIC8qIFdyaXRlIGFuIGVsZW1lbnQgbmFtZWQgIk5BTUVfMSIgYXMgY2hpbGQgb2YgSEVBREVSLiAqLworICAgIHRtcCA9IENvbnZlcnRJbnB1dCgiTfxsbGVyIiwgTVlfRU5DT0RJTkcpOworICAgIHJjID0geG1sVGV4dFdyaXRlcldyaXRlRWxlbWVudCh3cml0ZXIsIEJBRF9DQVNUICJOQU1FXzEiLCB0bXApOworICAgIGlmIChyYyA8IDApIHsKKyAgICAgICAgcHJpbnRmCisgICAgICAgICAgICAoInRlc3RYbWx3cml0ZXJGaWxlbmFtZTogRXJyb3IgYXQgeG1sVGV4dFdyaXRlcldyaXRlRWxlbWVudFxuIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgaWYgKHRtcCAhPSBOVUxMKSB4bWxGcmVlKHRtcCk7CisKKyAgICAvKiBXcml0ZSBhbiBlbGVtZW50IG5hbWVkICJOQU1FXzIiIGFzIGNoaWxkIG9mIEhFQURFUi4gKi8KKyAgICB0bXAgPSBDb252ZXJ0SW5wdXQoIkr2cmciLCBNWV9FTkNPRElORyk7CisgICAgcmMgPSB4bWxUZXh0V3JpdGVyV3JpdGVFbGVtZW50KHdyaXRlciwgQkFEX0NBU1QgIk5BTUVfMiIsIHRtcCk7CisgICAgaWYgKHJjIDwgMCkgeworICAgICAgICBwcmludGYKKyAgICAgICAgICAgICgidGVzdFhtbHdyaXRlckZpbGVuYW1lOiBFcnJvciBhdCB4bWxUZXh0V3JpdGVyV3JpdGVFbGVtZW50XG4iKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBpZiAodG1wICE9IE5VTEwpIHhtbEZyZWUodG1wKTsKKworICAgIC8qIENsb3NlIHRoZSBlbGVtZW50IG5hbWVkIEhFQURFUi4gKi8KKyAgICByYyA9IHhtbFRleHRXcml0ZXJFbmRFbGVtZW50KHdyaXRlcik7CisgICAgaWYgKHJjIDwgMCkgeworICAgICAgICBwcmludGYKKyAgICAgICAgICAgICgidGVzdFhtbHdyaXRlckZpbGVuYW1lOiBFcnJvciBhdCB4bWxUZXh0V3JpdGVyRW5kRWxlbWVudFxuIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvKiBTdGFydCBhbiBlbGVtZW50IG5hbWVkICJFTlRSSUVTIiBhcyBjaGlsZCBvZiBPUkRFUi4gKi8KKyAgICByYyA9IHhtbFRleHRXcml0ZXJTdGFydEVsZW1lbnQod3JpdGVyLCBCQURfQ0FTVCAiRU5UUklFUyIpOworICAgIGlmIChyYyA8IDApIHsKKyAgICAgICAgcHJpbnRmCisgICAgICAgICAgICAoInRlc3RYbWx3cml0ZXJGaWxlbmFtZTogRXJyb3IgYXQgeG1sVGV4dFdyaXRlclN0YXJ0RWxlbWVudFxuIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvKiBTdGFydCBhbiBlbGVtZW50IG5hbWVkICJFTlRSWSIgYXMgY2hpbGQgb2YgRU5UUklFUy4gKi8KKyAgICByYyA9IHhtbFRleHRXcml0ZXJTdGFydEVsZW1lbnQod3JpdGVyLCBCQURfQ0FTVCAiRU5UUlkiKTsKKyAgICBpZiAocmMgPCAwKSB7CisgICAgICAgIHByaW50ZgorICAgICAgICAgICAgKCJ0ZXN0WG1sd3JpdGVyRmlsZW5hbWU6IEVycm9yIGF0IHhtbFRleHRXcml0ZXJTdGFydEVsZW1lbnRcbiIpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgLyogV3JpdGUgYW4gZWxlbWVudCBuYW1lZCAiQVJUSUNMRSIgYXMgY2hpbGQgb2YgRU5UUlkuICovCisgICAgcmMgPSB4bWxUZXh0V3JpdGVyV3JpdGVFbGVtZW50KHdyaXRlciwgQkFEX0NBU1QgIkFSVElDTEUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCQURfQ0FTVCAiPFRlc3Q+Iik7CisgICAgaWYgKHJjIDwgMCkgeworICAgICAgICBwcmludGYKKyAgICAgICAgICAgICgidGVzdFhtbHdyaXRlckZpbGVuYW1lOiBFcnJvciBhdCB4bWxUZXh0V3JpdGVyV3JpdGVFbGVtZW50XG4iKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIC8qIFdyaXRlIGFuIGVsZW1lbnQgbmFtZWQgIkVOVFJZX05PIiBhcyBjaGlsZCBvZiBFTlRSWS4gKi8KKyAgICByYyA9IHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdEVsZW1lbnQod3JpdGVyLCBCQURfQ0FTVCAiRU5UUllfTk8iLCAiJWQiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMCk7CisgICAgaWYgKHJjIDwgMCkgeworICAgICAgICBwcmludGYKKyAgICAgICAgICAgICgidGVzdFhtbHdyaXRlckZpbGVuYW1lOiBFcnJvciBhdCB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRFbGVtZW50XG4iKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIC8qIENsb3NlIHRoZSBlbGVtZW50IG5hbWVkIEVOVFJZLiAqLworICAgIHJjID0geG1sVGV4dFdyaXRlckVuZEVsZW1lbnQod3JpdGVyKTsKKyAgICBpZiAocmMgPCAwKSB7CisgICAgICAgIHByaW50ZgorICAgICAgICAgICAgKCJ0ZXN0WG1sd3JpdGVyRmlsZW5hbWU6IEVycm9yIGF0IHhtbFRleHRXcml0ZXJFbmRFbGVtZW50XG4iKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIC8qIFN0YXJ0IGFuIGVsZW1lbnQgbmFtZWQgIkVOVFJZIiBhcyBjaGlsZCBvZiBFTlRSSUVTLiAqLworICAgIHJjID0geG1sVGV4dFdyaXRlclN0YXJ0RWxlbWVudCh3cml0ZXIsIEJBRF9DQVNUICJFTlRSWSIpOworICAgIGlmIChyYyA8IDApIHsKKyAgICAgICAgcHJpbnRmCisgICAgICAgICAgICAoInRlc3RYbWx3cml0ZXJGaWxlbmFtZTogRXJyb3IgYXQgeG1sVGV4dFdyaXRlclN0YXJ0RWxlbWVudFxuIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvKiBXcml0ZSBhbiBlbGVtZW50IG5hbWVkICJBUlRJQ0xFIiBhcyBjaGlsZCBvZiBFTlRSWS4gKi8KKyAgICByYyA9IHhtbFRleHRXcml0ZXJXcml0ZUVsZW1lbnQod3JpdGVyLCBCQURfQ0FTVCAiQVJUSUNMRSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJBRF9DQVNUICI8VGVzdCAyPiIpOworICAgIGlmIChyYyA8IDApIHsKKyAgICAgICAgcHJpbnRmCisgICAgICAgICAgICAoInRlc3RYbWx3cml0ZXJGaWxlbmFtZTogRXJyb3IgYXQgeG1sVGV4dFdyaXRlcldyaXRlRWxlbWVudFxuIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvKiBXcml0ZSBhbiBlbGVtZW50IG5hbWVkICJFTlRSWV9OTyIgYXMgY2hpbGQgb2YgRU5UUlkuICovCisgICAgcmMgPSB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRFbGVtZW50KHdyaXRlciwgQkFEX0NBU1QgIkVOVFJZX05PIiwgIiVkIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjApOworICAgIGlmIChyYyA8IDApIHsKKyAgICAgICAgcHJpbnRmCisgICAgICAgICAgICAoInRlc3RYbWx3cml0ZXJGaWxlbmFtZTogRXJyb3IgYXQgeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RWxlbWVudFxuIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvKiBDbG9zZSB0aGUgZWxlbWVudCBuYW1lZCBFTlRSWS4gKi8KKyAgICByYyA9IHhtbFRleHRXcml0ZXJFbmRFbGVtZW50KHdyaXRlcik7CisgICAgaWYgKHJjIDwgMCkgeworICAgICAgICBwcmludGYKKyAgICAgICAgICAgICgidGVzdFhtbHdyaXRlckZpbGVuYW1lOiBFcnJvciBhdCB4bWxUZXh0V3JpdGVyRW5kRWxlbWVudFxuIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvKiBDbG9zZSB0aGUgZWxlbWVudCBuYW1lZCBFTlRSSUVTLiAqLworICAgIHJjID0geG1sVGV4dFdyaXRlckVuZEVsZW1lbnQod3JpdGVyKTsKKyAgICBpZiAocmMgPCAwKSB7CisgICAgICAgIHByaW50ZgorICAgICAgICAgICAgKCJ0ZXN0WG1sd3JpdGVyRmlsZW5hbWU6IEVycm9yIGF0IHhtbFRleHRXcml0ZXJFbmRFbGVtZW50XG4iKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIC8qIFN0YXJ0IGFuIGVsZW1lbnQgbmFtZWQgIkZPT1RFUiIgYXMgY2hpbGQgb2YgT1JERVIuICovCisgICAgcmMgPSB4bWxUZXh0V3JpdGVyU3RhcnRFbGVtZW50KHdyaXRlciwgQkFEX0NBU1QgIkZPT1RFUiIpOworICAgIGlmIChyYyA8IDApIHsKKyAgICAgICAgcHJpbnRmCisgICAgICAgICAgICAoInRlc3RYbWx3cml0ZXJGaWxlbmFtZTogRXJyb3IgYXQgeG1sVGV4dFdyaXRlclN0YXJ0RWxlbWVudFxuIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvKiBXcml0ZSBhbiBlbGVtZW50IG5hbWVkICJURVhUIiBhcyBjaGlsZCBvZiBGT09URVIuICovCisgICAgcmMgPSB4bWxUZXh0V3JpdGVyV3JpdGVFbGVtZW50KHdyaXRlciwgQkFEX0NBU1QgIlRFWFQiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCQURfQ0FTVCAiVGhpcyBpcyBhIHRleHQuIik7CisgICAgaWYgKHJjIDwgMCkgeworICAgICAgICBwcmludGYKKyAgICAgICAgICAgICgidGVzdFhtbHdyaXRlckZpbGVuYW1lOiBFcnJvciBhdCB4bWxUZXh0V3JpdGVyV3JpdGVFbGVtZW50XG4iKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIC8qIENsb3NlIHRoZSBlbGVtZW50IG5hbWVkIEZPT1RFUi4gKi8KKyAgICByYyA9IHhtbFRleHRXcml0ZXJFbmRFbGVtZW50KHdyaXRlcik7CisgICAgaWYgKHJjIDwgMCkgeworICAgICAgICBwcmludGYKKyAgICAgICAgICAgICgidGVzdFhtbHdyaXRlckZpbGVuYW1lOiBFcnJvciBhdCB4bWxUZXh0V3JpdGVyRW5kRWxlbWVudFxuIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvKiBIZXJlIHdlIGNvdWxkIGNsb3NlIHRoZSBlbGVtZW50cyBPUkRFUiBhbmQgRVhBTVBMRSB1c2luZyB0aGUKKyAgICAgKiBmdW5jdGlvbiB4bWxUZXh0V3JpdGVyRW5kRWxlbWVudCwgYnV0IHNpbmNlIHdlIGRvIG5vdCB3YW50IHRvCisgICAgICogd3JpdGUgYW55IG90aGVyIGVsZW1lbnRzLCB3ZSBzaW1wbHkgY2FsbCB4bWxUZXh0V3JpdGVyRW5kRG9jdW1lbnQsCisgICAgICogd2hpY2ggd2lsbCBkbyBhbGwgdGhlIHdvcmsuICovCisgICAgcmMgPSB4bWxUZXh0V3JpdGVyRW5kRG9jdW1lbnQod3JpdGVyKTsKKyAgICBpZiAocmMgPCAwKSB7CisgICAgICAgIHByaW50ZgorICAgICAgICAgICAgKCJ0ZXN0WG1sd3JpdGVyRmlsZW5hbWU6IEVycm9yIGF0IHhtbFRleHRXcml0ZXJFbmREb2N1bWVudFxuIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICB4bWxGcmVlVGV4dFdyaXRlcih3cml0ZXIpOworfQorCisvKioKKyAqIHRlc3RYbWx3cml0ZXJNZW1vcnk6CisgKiBAZmlsZTogdGhlIG91dHB1dCBmaWxlCisgKgorICogdGVzdCB0aGUgeG1sV3JpdGVyIGludGVyZmFjZSB3aGVuIHdyaXRpbmcgdG8gbWVtb3J5CisgKi8KK3ZvaWQKK3Rlc3RYbWx3cml0ZXJNZW1vcnkoY29uc3QgY2hhciAqZmlsZSkKK3sKKyAgICBpbnQgcmM7CisgICAgeG1sVGV4dFdyaXRlclB0ciB3cml0ZXI7CisgICAgeG1sQnVmZmVyUHRyIGJ1ZjsKKyAgICB4bWxDaGFyICp0bXA7CisgICAgRklMRSAqZnA7CisKKyAgICAvKiBDcmVhdGUgYSBuZXcgWE1MIGJ1ZmZlciwgdG8gd2hpY2ggdGhlIFhNTCBkb2N1bWVudCB3aWxsIGJlCisgICAgICogd3JpdHRlbiAqLworICAgIGJ1ZiA9IHhtbEJ1ZmZlckNyZWF0ZSgpOworICAgIGlmIChidWYgPT0gTlVMTCkgeworICAgICAgICBwcmludGYoInRlc3RYbWx3cml0ZXJNZW1vcnk6IEVycm9yIGNyZWF0aW5nIHRoZSB4bWwgYnVmZmVyXG4iKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIC8qIENyZWF0ZSBhIG5ldyBYbWxXcml0ZXIgZm9yIG1lbW9yeSwgd2l0aCBubyBjb21wcmVzc2lvbi4KKyAgICAgKiBSZW1hcms6IHRoZXJlIGlzIG5vIGNvbXByZXNzaW9uIGZvciB0aGlzIGtpbmQgb2YgeG1sVGV4dFdyaXRlciAqLworICAgIHdyaXRlciA9IHhtbE5ld1RleHRXcml0ZXJNZW1vcnkoYnVmLCAwKTsKKyAgICBpZiAod3JpdGVyID09IE5VTEwpIHsKKyAgICAgICAgcHJpbnRmKCJ0ZXN0WG1sd3JpdGVyTWVtb3J5OiBFcnJvciBjcmVhdGluZyB0aGUgeG1sIHdyaXRlclxuIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvKiBTdGFydCB0aGUgZG9jdW1lbnQgd2l0aCB0aGUgeG1sIGRlZmF1bHQgZm9yIHRoZSB2ZXJzaW9uLAorICAgICAqIGVuY29kaW5nIElTTyA4ODU5LTEgYW5kIHRoZSBkZWZhdWx0IGZvciB0aGUgc3RhbmRhbG9uZQorICAgICAqIGRlY2xhcmF0aW9uLiAqLworICAgIHJjID0geG1sVGV4dFdyaXRlclN0YXJ0RG9jdW1lbnQod3JpdGVyLCBOVUxMLCBNWV9FTkNPRElORywgTlVMTCk7CisgICAgaWYgKHJjIDwgMCkgeworICAgICAgICBwcmludGYKKyAgICAgICAgICAgICgidGVzdFhtbHdyaXRlck1lbW9yeTogRXJyb3IgYXQgeG1sVGV4dFdyaXRlclN0YXJ0RG9jdW1lbnRcbiIpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgLyogU3RhcnQgYW4gZWxlbWVudCBuYW1lZCAiRVhBTVBMRSIuIFNpbmNlIHRoaXN0IGlzIHRoZSBmaXJzdAorICAgICAqIGVsZW1lbnQsIHRoaXMgd2lsbCBiZSB0aGUgcm9vdCBlbGVtZW50IG9mIHRoZSBkb2N1bWVudC4gKi8KKyAgICByYyA9IHhtbFRleHRXcml0ZXJTdGFydEVsZW1lbnQod3JpdGVyLCBCQURfQ0FTVCAiRVhBTVBMRSIpOworICAgIGlmIChyYyA8IDApIHsKKyAgICAgICAgcHJpbnRmCisgICAgICAgICAgICAoInRlc3RYbWx3cml0ZXJNZW1vcnk6IEVycm9yIGF0IHhtbFRleHRXcml0ZXJTdGFydEVsZW1lbnRcbiIpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgLyogV3JpdGUgYSBjb21tZW50IGFzIGNoaWxkIG9mIEVYQU1QTEUuCisgICAgICogUGxlYXNlIG9ic2VydmUsIHRoYXQgdGhlIGlucHV0IHRvIHRoZSB4bWxUZXh0V3JpdGVyIGZ1bmN0aW9ucworICAgICAqIEhBUyB0byBiZSBpbiBVVEYtOCwgZXZlbiBpZiB0aGUgb3V0cHV0IFhNTCBpcyBlbmNvZGVkCisgICAgICogaW4gaXNvLTg4NTktMSAqLworICAgIHRtcCA9IENvbnZlcnRJbnB1dCgiVGhpcyBpcyBhIGNvbW1lbnQgd2l0aCBzcGVjaWFsIGNoYXJzOiA85Pb8PiIsCisgICAgICAgICAgICAgICAgICAgICAgIE1ZX0VOQ09ESU5HKTsKKyAgICByYyA9IHhtbFRleHRXcml0ZXJXcml0ZUNvbW1lbnQod3JpdGVyLCB0bXApOworICAgIGlmIChyYyA8IDApIHsKKyAgICAgICAgcHJpbnRmCisgICAgICAgICAgICAoInRlc3RYbWx3cml0ZXJNZW1vcnk6IEVycm9yIGF0IHhtbFRleHRXcml0ZXJXcml0ZUNvbW1lbnRcbiIpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGlmICh0bXAgIT0gTlVMTCkgeG1sRnJlZSh0bXApOworCisgICAgLyogU3RhcnQgYW4gZWxlbWVudCBuYW1lZCAiT1JERVIiIGFzIGNoaWxkIG9mIEVYQU1QTEUuICovCisgICAgcmMgPSB4bWxUZXh0V3JpdGVyU3RhcnRFbGVtZW50KHdyaXRlciwgQkFEX0NBU1QgIk9SREVSIik7CisgICAgaWYgKHJjIDwgMCkgeworICAgICAgICBwcmludGYKKyAgICAgICAgICAgICgidGVzdFhtbHdyaXRlck1lbW9yeTogRXJyb3IgYXQgeG1sVGV4dFdyaXRlclN0YXJ0RWxlbWVudFxuIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvKiBBZGQgYW4gYXR0cmlidXRlIHdpdGggbmFtZSAidmVyc2lvbiIgYW5kIHZhbHVlICIxLjAiIHRvIE9SREVSLiAqLworICAgIHJjID0geG1sVGV4dFdyaXRlcldyaXRlQXR0cmlidXRlKHdyaXRlciwgQkFEX0NBU1QgInZlcnNpb24iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJBRF9DQVNUICIxLjAiKTsKKyAgICBpZiAocmMgPCAwKSB7CisgICAgICAgIHByaW50ZgorICAgICAgICAgICAgKCJ0ZXN0WG1sd3JpdGVyTWVtb3J5OiBFcnJvciBhdCB4bWxUZXh0V3JpdGVyV3JpdGVBdHRyaWJ1dGVcbiIpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgLyogQWRkIGFuIGF0dHJpYnV0ZSB3aXRoIG5hbWUgInhtbDpsYW5nIiBhbmQgdmFsdWUgImRlIiB0byBPUkRFUi4gKi8KKyAgICByYyA9IHhtbFRleHRXcml0ZXJXcml0ZUF0dHJpYnV0ZSh3cml0ZXIsIEJBRF9DQVNUICJ4bWw6bGFuZyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQkFEX0NBU1QgImRlIik7CisgICAgaWYgKHJjIDwgMCkgeworICAgICAgICBwcmludGYKKyAgICAgICAgICAgICgidGVzdFhtbHdyaXRlck1lbW9yeTogRXJyb3IgYXQgeG1sVGV4dFdyaXRlcldyaXRlQXR0cmlidXRlXG4iKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIC8qIFdyaXRlIGEgY29tbWVudCBhcyBjaGlsZCBvZiBPUkRFUiAqLworICAgIHRtcCA9IENvbnZlcnRJbnB1dCgiPOT2/D4iLCBNWV9FTkNPRElORyk7CisgICAgcmMgPSB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRDb21tZW50KHdyaXRlciwKKwkJICAgICAiVGhpcyBpcyBhbm90aGVyIGNvbW1lbnQgd2l0aCBzcGVjaWFsIGNoYXJzOiAlcyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRtcCk7CisgICAgaWYgKHJjIDwgMCkgeworICAgICAgICBwcmludGYKKyAgICAgICAgICAgICgidGVzdFhtbHdyaXRlck1lbW9yeTogRXJyb3IgYXQgeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0Q29tbWVudFxuIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgaWYgKHRtcCAhPSBOVUxMKSB4bWxGcmVlKHRtcCk7CisKKyAgICAvKiBTdGFydCBhbiBlbGVtZW50IG5hbWVkICJIRUFERVIiIGFzIGNoaWxkIG9mIE9SREVSLiAqLworICAgIHJjID0geG1sVGV4dFdyaXRlclN0YXJ0RWxlbWVudCh3cml0ZXIsIEJBRF9DQVNUICJIRUFERVIiKTsKKyAgICBpZiAocmMgPCAwKSB7CisgICAgICAgIHByaW50ZgorICAgICAgICAgICAgKCJ0ZXN0WG1sd3JpdGVyTWVtb3J5OiBFcnJvciBhdCB4bWxUZXh0V3JpdGVyU3RhcnRFbGVtZW50XG4iKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIC8qIFdyaXRlIGFuIGVsZW1lbnQgbmFtZWQgIlhfT1JERVJfSUQiIGFzIGNoaWxkIG9mIEhFQURFUi4gKi8KKyAgICByYyA9IHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdEVsZW1lbnQod3JpdGVyLCBCQURfQ0FTVCAiWF9PUkRFUl9JRCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIlMDEwZCIsIDUzNTM1KTsKKyAgICBpZiAocmMgPCAwKSB7CisgICAgICAgIHByaW50ZgorICAgICAgICAgICAgKCJ0ZXN0WG1sd3JpdGVyTWVtb3J5OiBFcnJvciBhdCB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRFbGVtZW50XG4iKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIC8qIFdyaXRlIGFuIGVsZW1lbnQgbmFtZWQgIkNVU1RPTUVSX0lEIiBhcyBjaGlsZCBvZiBIRUFERVIuICovCisgICAgcmMgPSB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRFbGVtZW50KHdyaXRlciwgQkFEX0NBU1QgIkNVU1RPTUVSX0lEIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiVkIiwgMTAxMCk7CisgICAgaWYgKHJjIDwgMCkgeworICAgICAgICBwcmludGYKKyAgICAgICAgICAgICgidGVzdFhtbHdyaXRlck1lbW9yeTogRXJyb3IgYXQgeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RWxlbWVudFxuIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvKiBXcml0ZSBhbiBlbGVtZW50IG5hbWVkICJOQU1FXzEiIGFzIGNoaWxkIG9mIEhFQURFUi4gKi8KKyAgICB0bXAgPSBDb252ZXJ0SW5wdXQoIk38bGxlciIsIE1ZX0VOQ09ESU5HKTsKKyAgICByYyA9IHhtbFRleHRXcml0ZXJXcml0ZUVsZW1lbnQod3JpdGVyLCBCQURfQ0FTVCAiTkFNRV8xIiwgdG1wKTsKKyAgICBpZiAocmMgPCAwKSB7CisgICAgICAgIHByaW50ZgorICAgICAgICAgICAgKCJ0ZXN0WG1sd3JpdGVyTWVtb3J5OiBFcnJvciBhdCB4bWxUZXh0V3JpdGVyV3JpdGVFbGVtZW50XG4iKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBpZiAodG1wICE9IE5VTEwpIHhtbEZyZWUodG1wKTsKKworICAgIC8qIFdyaXRlIGFuIGVsZW1lbnQgbmFtZWQgIk5BTUVfMiIgYXMgY2hpbGQgb2YgSEVBREVSLiAqLworICAgIHRtcCA9IENvbnZlcnRJbnB1dCgiSvZyZyIsIE1ZX0VOQ09ESU5HKTsKKyAgICByYyA9IHhtbFRleHRXcml0ZXJXcml0ZUVsZW1lbnQod3JpdGVyLCBCQURfQ0FTVCAiTkFNRV8yIiwgdG1wKTsKKworICAgIGlmIChyYyA8IDApIHsKKyAgICAgICAgcHJpbnRmCisgICAgICAgICAgICAoInRlc3RYbWx3cml0ZXJNZW1vcnk6IEVycm9yIGF0IHhtbFRleHRXcml0ZXJXcml0ZUVsZW1lbnRcbiIpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGlmICh0bXAgIT0gTlVMTCkgeG1sRnJlZSh0bXApOworCisgICAgLyogQ2xvc2UgdGhlIGVsZW1lbnQgbmFtZWQgSEVBREVSLiAqLworICAgIHJjID0geG1sVGV4dFdyaXRlckVuZEVsZW1lbnQod3JpdGVyKTsKKyAgICBpZiAocmMgPCAwKSB7CisgICAgICAgIHByaW50ZigidGVzdFhtbHdyaXRlck1lbW9yeTogRXJyb3IgYXQgeG1sVGV4dFdyaXRlckVuZEVsZW1lbnRcbiIpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgLyogU3RhcnQgYW4gZWxlbWVudCBuYW1lZCAiRU5UUklFUyIgYXMgY2hpbGQgb2YgT1JERVIuICovCisgICAgcmMgPSB4bWxUZXh0V3JpdGVyU3RhcnRFbGVtZW50KHdyaXRlciwgQkFEX0NBU1QgIkVOVFJJRVMiKTsKKyAgICBpZiAocmMgPCAwKSB7CisgICAgICAgIHByaW50ZgorICAgICAgICAgICAgKCJ0ZXN0WG1sd3JpdGVyTWVtb3J5OiBFcnJvciBhdCB4bWxUZXh0V3JpdGVyU3RhcnRFbGVtZW50XG4iKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIC8qIFN0YXJ0IGFuIGVsZW1lbnQgbmFtZWQgIkVOVFJZIiBhcyBjaGlsZCBvZiBFTlRSSUVTLiAqLworICAgIHJjID0geG1sVGV4dFdyaXRlclN0YXJ0RWxlbWVudCh3cml0ZXIsIEJBRF9DQVNUICJFTlRSWSIpOworICAgIGlmIChyYyA8IDApIHsKKyAgICAgICAgcHJpbnRmCisgICAgICAgICAgICAoInRlc3RYbWx3cml0ZXJNZW1vcnk6IEVycm9yIGF0IHhtbFRleHRXcml0ZXJTdGFydEVsZW1lbnRcbiIpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgLyogV3JpdGUgYW4gZWxlbWVudCBuYW1lZCAiQVJUSUNMRSIgYXMgY2hpbGQgb2YgRU5UUlkuICovCisgICAgcmMgPSB4bWxUZXh0V3JpdGVyV3JpdGVFbGVtZW50KHdyaXRlciwgQkFEX0NBU1QgIkFSVElDTEUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCQURfQ0FTVCAiPFRlc3Q+Iik7CisgICAgaWYgKHJjIDwgMCkgeworICAgICAgICBwcmludGYKKyAgICAgICAgICAgICgidGVzdFhtbHdyaXRlck1lbW9yeTogRXJyb3IgYXQgeG1sVGV4dFdyaXRlcldyaXRlRWxlbWVudFxuIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvKiBXcml0ZSBhbiBlbGVtZW50IG5hbWVkICJFTlRSWV9OTyIgYXMgY2hpbGQgb2YgRU5UUlkuICovCisgICAgcmMgPSB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRFbGVtZW50KHdyaXRlciwgQkFEX0NBU1QgIkVOVFJZX05PIiwgIiVkIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTApOworICAgIGlmIChyYyA8IDApIHsKKyAgICAgICAgcHJpbnRmCisgICAgICAgICAgICAoInRlc3RYbWx3cml0ZXJNZW1vcnk6IEVycm9yIGF0IHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdEVsZW1lbnRcbiIpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgLyogQ2xvc2UgdGhlIGVsZW1lbnQgbmFtZWQgRU5UUlkuICovCisgICAgcmMgPSB4bWxUZXh0V3JpdGVyRW5kRWxlbWVudCh3cml0ZXIpOworICAgIGlmIChyYyA8IDApIHsKKyAgICAgICAgcHJpbnRmKCJ0ZXN0WG1sd3JpdGVyTWVtb3J5OiBFcnJvciBhdCB4bWxUZXh0V3JpdGVyRW5kRWxlbWVudFxuIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvKiBTdGFydCBhbiBlbGVtZW50IG5hbWVkICJFTlRSWSIgYXMgY2hpbGQgb2YgRU5UUklFUy4gKi8KKyAgICByYyA9IHhtbFRleHRXcml0ZXJTdGFydEVsZW1lbnQod3JpdGVyLCBCQURfQ0FTVCAiRU5UUlkiKTsKKyAgICBpZiAocmMgPCAwKSB7CisgICAgICAgIHByaW50ZgorICAgICAgICAgICAgKCJ0ZXN0WG1sd3JpdGVyTWVtb3J5OiBFcnJvciBhdCB4bWxUZXh0V3JpdGVyU3RhcnRFbGVtZW50XG4iKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIC8qIFdyaXRlIGFuIGVsZW1lbnQgbmFtZWQgIkFSVElDTEUiIGFzIGNoaWxkIG9mIEVOVFJZLiAqLworICAgIHJjID0geG1sVGV4dFdyaXRlcldyaXRlRWxlbWVudCh3cml0ZXIsIEJBRF9DQVNUICJBUlRJQ0xFIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQkFEX0NBU1QgIjxUZXN0IDI+Iik7CisgICAgaWYgKHJjIDwgMCkgeworICAgICAgICBwcmludGYKKyAgICAgICAgICAgICgidGVzdFhtbHdyaXRlck1lbW9yeTogRXJyb3IgYXQgeG1sVGV4dFdyaXRlcldyaXRlRWxlbWVudFxuIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvKiBXcml0ZSBhbiBlbGVtZW50IG5hbWVkICJFTlRSWV9OTyIgYXMgY2hpbGQgb2YgRU5UUlkuICovCisgICAgcmMgPSB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRFbGVtZW50KHdyaXRlciwgQkFEX0NBU1QgIkVOVFJZX05PIiwgIiVkIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjApOworICAgIGlmIChyYyA8IDApIHsKKyAgICAgICAgcHJpbnRmCisgICAgICAgICAgICAoInRlc3RYbWx3cml0ZXJNZW1vcnk6IEVycm9yIGF0IHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdEVsZW1lbnRcbiIpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgLyogQ2xvc2UgdGhlIGVsZW1lbnQgbmFtZWQgRU5UUlkuICovCisgICAgcmMgPSB4bWxUZXh0V3JpdGVyRW5kRWxlbWVudCh3cml0ZXIpOworICAgIGlmIChyYyA8IDApIHsKKyAgICAgICAgcHJpbnRmKCJ0ZXN0WG1sd3JpdGVyTWVtb3J5OiBFcnJvciBhdCB4bWxUZXh0V3JpdGVyRW5kRWxlbWVudFxuIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvKiBDbG9zZSB0aGUgZWxlbWVudCBuYW1lZCBFTlRSSUVTLiAqLworICAgIHJjID0geG1sVGV4dFdyaXRlckVuZEVsZW1lbnQod3JpdGVyKTsKKyAgICBpZiAocmMgPCAwKSB7CisgICAgICAgIHByaW50ZigidGVzdFhtbHdyaXRlck1lbW9yeTogRXJyb3IgYXQgeG1sVGV4dFdyaXRlckVuZEVsZW1lbnRcbiIpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgLyogU3RhcnQgYW4gZWxlbWVudCBuYW1lZCAiRk9PVEVSIiBhcyBjaGlsZCBvZiBPUkRFUi4gKi8KKyAgICByYyA9IHhtbFRleHRXcml0ZXJTdGFydEVsZW1lbnQod3JpdGVyLCBCQURfQ0FTVCAiRk9PVEVSIik7CisgICAgaWYgKHJjIDwgMCkgeworICAgICAgICBwcmludGYKKyAgICAgICAgICAgICgidGVzdFhtbHdyaXRlck1lbW9yeTogRXJyb3IgYXQgeG1sVGV4dFdyaXRlclN0YXJ0RWxlbWVudFxuIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvKiBXcml0ZSBhbiBlbGVtZW50IG5hbWVkICJURVhUIiBhcyBjaGlsZCBvZiBGT09URVIuICovCisgICAgcmMgPSB4bWxUZXh0V3JpdGVyV3JpdGVFbGVtZW50KHdyaXRlciwgQkFEX0NBU1QgIlRFWFQiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCQURfQ0FTVCAiVGhpcyBpcyBhIHRleHQuIik7CisgICAgaWYgKHJjIDwgMCkgeworICAgICAgICBwcmludGYKKyAgICAgICAgICAgICgidGVzdFhtbHdyaXRlck1lbW9yeTogRXJyb3IgYXQgeG1sVGV4dFdyaXRlcldyaXRlRWxlbWVudFxuIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvKiBDbG9zZSB0aGUgZWxlbWVudCBuYW1lZCBGT09URVIuICovCisgICAgcmMgPSB4bWxUZXh0V3JpdGVyRW5kRWxlbWVudCh3cml0ZXIpOworICAgIGlmIChyYyA8IDApIHsKKyAgICAgICAgcHJpbnRmKCJ0ZXN0WG1sd3JpdGVyTWVtb3J5OiBFcnJvciBhdCB4bWxUZXh0V3JpdGVyRW5kRWxlbWVudFxuIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvKiBIZXJlIHdlIGNvdWxkIGNsb3NlIHRoZSBlbGVtZW50cyBPUkRFUiBhbmQgRVhBTVBMRSB1c2luZyB0aGUKKyAgICAgKiBmdW5jdGlvbiB4bWxUZXh0V3JpdGVyRW5kRWxlbWVudCwgYnV0IHNpbmNlIHdlIGRvIG5vdCB3YW50IHRvCisgICAgICogd3JpdGUgYW55IG90aGVyIGVsZW1lbnRzLCB3ZSBzaW1wbHkgY2FsbCB4bWxUZXh0V3JpdGVyRW5kRG9jdW1lbnQsCisgICAgICogd2hpY2ggd2lsbCBkbyBhbGwgdGhlIHdvcmsuICovCisgICAgcmMgPSB4bWxUZXh0V3JpdGVyRW5kRG9jdW1lbnQod3JpdGVyKTsKKyAgICBpZiAocmMgPCAwKSB7CisgICAgICAgIHByaW50ZigidGVzdFhtbHdyaXRlck1lbW9yeTogRXJyb3IgYXQgeG1sVGV4dFdyaXRlckVuZERvY3VtZW50XG4iKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIHhtbEZyZWVUZXh0V3JpdGVyKHdyaXRlcik7CisKKyAgICBmcCA9IGZvcGVuKGZpbGUsICJ3Iik7CisgICAgaWYgKGZwID09IE5VTEwpIHsKKyAgICAgICAgcHJpbnRmKCJ0ZXN0WG1sd3JpdGVyTWVtb3J5OiBFcnJvciBhdCBmb3BlblxuIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBmcHJpbnRmKGZwLCAiJXMiLCAoY29uc3QgY2hhciAqKSBidWYtPmNvbnRlbnQpOworCisgICAgZmNsb3NlKGZwKTsKKworICAgIHhtbEJ1ZmZlckZyZWUoYnVmKTsKK30KKworLyoqCisgKiB0ZXN0WG1sd3JpdGVyRG9jOgorICogQGZpbGU6IHRoZSBvdXRwdXQgZmlsZQorICoKKyAqIHRlc3QgdGhlIHhtbFdyaXRlciBpbnRlcmZhY2Ugd2hlbiBjcmVhdGluZyBhIG5ldyBkb2N1bWVudAorICovCit2b2lkCit0ZXN0WG1sd3JpdGVyRG9jKGNvbnN0IGNoYXIgKmZpbGUpCit7CisgICAgaW50IHJjOworICAgIHhtbFRleHRXcml0ZXJQdHIgd3JpdGVyOworICAgIHhtbENoYXIgKnRtcDsKKyAgICB4bWxEb2NQdHIgZG9jOworCisKKyAgICAvKiBDcmVhdGUgYSBuZXcgWG1sV3JpdGVyIGZvciBET00sIHdpdGggbm8gY29tcHJlc3Npb24uICovCisgICAgd3JpdGVyID0geG1sTmV3VGV4dFdyaXRlckRvYygmZG9jLCAwKTsKKyAgICBpZiAod3JpdGVyID09IE5VTEwpIHsKKyAgICAgICAgcHJpbnRmKCJ0ZXN0WG1sd3JpdGVyRG9jOiBFcnJvciBjcmVhdGluZyB0aGUgeG1sIHdyaXRlclxuIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvKiBTdGFydCB0aGUgZG9jdW1lbnQgd2l0aCB0aGUgeG1sIGRlZmF1bHQgZm9yIHRoZSB2ZXJzaW9uLAorICAgICAqIGVuY29kaW5nIElTTyA4ODU5LTEgYW5kIHRoZSBkZWZhdWx0IGZvciB0aGUgc3RhbmRhbG9uZQorICAgICAqIGRlY2xhcmF0aW9uLiAqLworICAgIHJjID0geG1sVGV4dFdyaXRlclN0YXJ0RG9jdW1lbnQod3JpdGVyLCBOVUxMLCBNWV9FTkNPRElORywgTlVMTCk7CisgICAgaWYgKHJjIDwgMCkgeworICAgICAgICBwcmludGYoInRlc3RYbWx3cml0ZXJEb2M6IEVycm9yIGF0IHhtbFRleHRXcml0ZXJTdGFydERvY3VtZW50XG4iKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIC8qIFN0YXJ0IGFuIGVsZW1lbnQgbmFtZWQgIkVYQU1QTEUiLiBTaW5jZSB0aGlzdCBpcyB0aGUgZmlyc3QKKyAgICAgKiBlbGVtZW50LCB0aGlzIHdpbGwgYmUgdGhlIHJvb3QgZWxlbWVudCBvZiB0aGUgZG9jdW1lbnQuICovCisgICAgcmMgPSB4bWxUZXh0V3JpdGVyU3RhcnRFbGVtZW50KHdyaXRlciwgQkFEX0NBU1QgIkVYQU1QTEUiKTsKKyAgICBpZiAocmMgPCAwKSB7CisgICAgICAgIHByaW50ZigidGVzdFhtbHdyaXRlckRvYzogRXJyb3IgYXQgeG1sVGV4dFdyaXRlclN0YXJ0RWxlbWVudFxuIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvKiBXcml0ZSBhIGNvbW1lbnQgYXMgY2hpbGQgb2YgRVhBTVBMRS4KKyAgICAgKiBQbGVhc2Ugb2JzZXJ2ZSwgdGhhdCB0aGUgaW5wdXQgdG8gdGhlIHhtbFRleHRXcml0ZXIgZnVuY3Rpb25zCisgICAgICogSEFTIHRvIGJlIGluIFVURi04LCBldmVuIGlmIHRoZSBvdXRwdXQgWE1MIGlzIGVuY29kZWQKKyAgICAgKiBpbiBpc28tODg1OS0xICovCisgICAgdG1wID0gQ29udmVydElucHV0KCJUaGlzIGlzIGEgY29tbWVudCB3aXRoIHNwZWNpYWwgY2hhcnM6IDzk9vw+IiwKKyAgICAgICAgICAgICAgICAgICAgICAgTVlfRU5DT0RJTkcpOworICAgIHJjID0geG1sVGV4dFdyaXRlcldyaXRlQ29tbWVudCh3cml0ZXIsIHRtcCk7CisgICAgaWYgKHJjIDwgMCkgeworICAgICAgICBwcmludGYoInRlc3RYbWx3cml0ZXJEb2M6IEVycm9yIGF0IHhtbFRleHRXcml0ZXJXcml0ZUNvbW1lbnRcbiIpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGlmICh0bXAgIT0gTlVMTCkgeG1sRnJlZSh0bXApOworCisgICAgLyogU3RhcnQgYW4gZWxlbWVudCBuYW1lZCAiT1JERVIiIGFzIGNoaWxkIG9mIEVYQU1QTEUuICovCisgICAgcmMgPSB4bWxUZXh0V3JpdGVyU3RhcnRFbGVtZW50KHdyaXRlciwgQkFEX0NBU1QgIk9SREVSIik7CisgICAgaWYgKHJjIDwgMCkgeworICAgICAgICBwcmludGYoInRlc3RYbWx3cml0ZXJEb2M6IEVycm9yIGF0IHhtbFRleHRXcml0ZXJTdGFydEVsZW1lbnRcbiIpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgLyogQWRkIGFuIGF0dHJpYnV0ZSB3aXRoIG5hbWUgInZlcnNpb24iIGFuZCB2YWx1ZSAiMS4wIiB0byBPUkRFUi4gKi8KKyAgICByYyA9IHhtbFRleHRXcml0ZXJXcml0ZUF0dHJpYnV0ZSh3cml0ZXIsIEJBRF9DQVNUICJ2ZXJzaW9uIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCQURfQ0FTVCAiMS4wIik7CisgICAgaWYgKHJjIDwgMCkgeworICAgICAgICBwcmludGYoInRlc3RYbWx3cml0ZXJEb2M6IEVycm9yIGF0IHhtbFRleHRXcml0ZXJXcml0ZUF0dHJpYnV0ZVxuIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvKiBBZGQgYW4gYXR0cmlidXRlIHdpdGggbmFtZSAieG1sOmxhbmciIGFuZCB2YWx1ZSAiZGUiIHRvIE9SREVSLiAqLworICAgIHJjID0geG1sVGV4dFdyaXRlcldyaXRlQXR0cmlidXRlKHdyaXRlciwgQkFEX0NBU1QgInhtbDpsYW5nIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCQURfQ0FTVCAiZGUiKTsKKyAgICBpZiAocmMgPCAwKSB7CisgICAgICAgIHByaW50ZigidGVzdFhtbHdyaXRlckRvYzogRXJyb3IgYXQgeG1sVGV4dFdyaXRlcldyaXRlQXR0cmlidXRlXG4iKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIC8qIFdyaXRlIGEgY29tbWVudCBhcyBjaGlsZCBvZiBPUkRFUiAqLworICAgIHRtcCA9IENvbnZlcnRJbnB1dCgiPOT2/D4iLCBNWV9FTkNPRElORyk7CisgICAgcmMgPSB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRDb21tZW50KHdyaXRlciwKKwkJICJUaGlzIGlzIGFub3RoZXIgY29tbWVudCB3aXRoIHNwZWNpYWwgY2hhcnM6ICVzIiwKKwkJICAgICAgICAgICAgICAgICAgICAgICAgIHRtcCk7CisgICAgaWYgKHJjIDwgMCkgeworICAgICAgICBwcmludGYKKyAgICAgICAgICAgICgidGVzdFhtbHdyaXRlckRvYzogRXJyb3IgYXQgeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0Q29tbWVudFxuIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgaWYgKHRtcCAhPSBOVUxMKSB4bWxGcmVlKHRtcCk7CisKKyAgICAvKiBTdGFydCBhbiBlbGVtZW50IG5hbWVkICJIRUFERVIiIGFzIGNoaWxkIG9mIE9SREVSLiAqLworICAgIHJjID0geG1sVGV4dFdyaXRlclN0YXJ0RWxlbWVudCh3cml0ZXIsIEJBRF9DQVNUICJIRUFERVIiKTsKKyAgICBpZiAocmMgPCAwKSB7CisgICAgICAgIHByaW50ZigidGVzdFhtbHdyaXRlckRvYzogRXJyb3IgYXQgeG1sVGV4dFdyaXRlclN0YXJ0RWxlbWVudFxuIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvKiBXcml0ZSBhbiBlbGVtZW50IG5hbWVkICJYX09SREVSX0lEIiBhcyBjaGlsZCBvZiBIRUFERVIuICovCisgICAgcmMgPSB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRFbGVtZW50KHdyaXRlciwgQkFEX0NBU1QgIlhfT1JERVJfSUQiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJTAxMGQiLCA1MzUzNSk7CisgICAgaWYgKHJjIDwgMCkgeworICAgICAgICBwcmludGYKKyAgICAgICAgICAgICgidGVzdFhtbHdyaXRlckRvYzogRXJyb3IgYXQgeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RWxlbWVudFxuIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvKiBXcml0ZSBhbiBlbGVtZW50IG5hbWVkICJDVVNUT01FUl9JRCIgYXMgY2hpbGQgb2YgSEVBREVSLiAqLworICAgIHJjID0geG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RWxlbWVudCh3cml0ZXIsIEJBRF9DQVNUICJDVVNUT01FUl9JRCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIlZCIsIDEwMTApOworICAgIGlmIChyYyA8IDApIHsKKyAgICAgICAgcHJpbnRmCisgICAgICAgICAgICAoInRlc3RYbWx3cml0ZXJEb2M6IEVycm9yIGF0IHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdEVsZW1lbnRcbiIpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgLyogV3JpdGUgYW4gZWxlbWVudCBuYW1lZCAiTkFNRV8xIiBhcyBjaGlsZCBvZiBIRUFERVIuICovCisgICAgdG1wID0gQ29udmVydElucHV0KCJN/GxsZXIiLCBNWV9FTkNPRElORyk7CisgICAgcmMgPSB4bWxUZXh0V3JpdGVyV3JpdGVFbGVtZW50KHdyaXRlciwgQkFEX0NBU1QgIk5BTUVfMSIsIHRtcCk7CisgICAgaWYgKHJjIDwgMCkgeworICAgICAgICBwcmludGYoInRlc3RYbWx3cml0ZXJEb2M6IEVycm9yIGF0IHhtbFRleHRXcml0ZXJXcml0ZUVsZW1lbnRcbiIpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGlmICh0bXAgIT0gTlVMTCkgeG1sRnJlZSh0bXApOworCisgICAgLyogV3JpdGUgYW4gZWxlbWVudCBuYW1lZCAiTkFNRV8yIiBhcyBjaGlsZCBvZiBIRUFERVIuICovCisgICAgdG1wID0gQ29udmVydElucHV0KCJK9nJnIiwgTVlfRU5DT0RJTkcpOworICAgIHJjID0geG1sVGV4dFdyaXRlcldyaXRlRWxlbWVudCh3cml0ZXIsIEJBRF9DQVNUICJOQU1FXzIiLCB0bXApOworICAgIGlmIChyYyA8IDApIHsKKyAgICAgICAgcHJpbnRmKCJ0ZXN0WG1sd3JpdGVyRG9jOiBFcnJvciBhdCB4bWxUZXh0V3JpdGVyV3JpdGVFbGVtZW50XG4iKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBpZiAodG1wICE9IE5VTEwpIHhtbEZyZWUodG1wKTsKKworICAgIC8qIENsb3NlIHRoZSBlbGVtZW50IG5hbWVkIEhFQURFUi4gKi8KKyAgICByYyA9IHhtbFRleHRXcml0ZXJFbmRFbGVtZW50KHdyaXRlcik7CisgICAgaWYgKHJjIDwgMCkgeworICAgICAgICBwcmludGYoInRlc3RYbWx3cml0ZXJEb2M6IEVycm9yIGF0IHhtbFRleHRXcml0ZXJFbmRFbGVtZW50XG4iKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIC8qIFN0YXJ0IGFuIGVsZW1lbnQgbmFtZWQgIkVOVFJJRVMiIGFzIGNoaWxkIG9mIE9SREVSLiAqLworICAgIHJjID0geG1sVGV4dFdyaXRlclN0YXJ0RWxlbWVudCh3cml0ZXIsIEJBRF9DQVNUICJFTlRSSUVTIik7CisgICAgaWYgKHJjIDwgMCkgeworICAgICAgICBwcmludGYoInRlc3RYbWx3cml0ZXJEb2M6IEVycm9yIGF0IHhtbFRleHRXcml0ZXJTdGFydEVsZW1lbnRcbiIpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgLyogU3RhcnQgYW4gZWxlbWVudCBuYW1lZCAiRU5UUlkiIGFzIGNoaWxkIG9mIEVOVFJJRVMuICovCisgICAgcmMgPSB4bWxUZXh0V3JpdGVyU3RhcnRFbGVtZW50KHdyaXRlciwgQkFEX0NBU1QgIkVOVFJZIik7CisgICAgaWYgKHJjIDwgMCkgeworICAgICAgICBwcmludGYoInRlc3RYbWx3cml0ZXJEb2M6IEVycm9yIGF0IHhtbFRleHRXcml0ZXJTdGFydEVsZW1lbnRcbiIpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgLyogV3JpdGUgYW4gZWxlbWVudCBuYW1lZCAiQVJUSUNMRSIgYXMgY2hpbGQgb2YgRU5UUlkuICovCisgICAgcmMgPSB4bWxUZXh0V3JpdGVyV3JpdGVFbGVtZW50KHdyaXRlciwgQkFEX0NBU1QgIkFSVElDTEUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCQURfQ0FTVCAiPFRlc3Q+Iik7CisgICAgaWYgKHJjIDwgMCkgeworICAgICAgICBwcmludGYoInRlc3RYbWx3cml0ZXJEb2M6IEVycm9yIGF0IHhtbFRleHRXcml0ZXJXcml0ZUVsZW1lbnRcbiIpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgLyogV3JpdGUgYW4gZWxlbWVudCBuYW1lZCAiRU5UUllfTk8iIGFzIGNoaWxkIG9mIEVOVFJZLiAqLworICAgIHJjID0geG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RWxlbWVudCh3cml0ZXIsIEJBRF9DQVNUICJFTlRSWV9OTyIsICIlZCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwKTsKKyAgICBpZiAocmMgPCAwKSB7CisgICAgICAgIHByaW50ZgorICAgICAgICAgICAgKCJ0ZXN0WG1sd3JpdGVyRG9jOiBFcnJvciBhdCB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRFbGVtZW50XG4iKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIC8qIENsb3NlIHRoZSBlbGVtZW50IG5hbWVkIEVOVFJZLiAqLworICAgIHJjID0geG1sVGV4dFdyaXRlckVuZEVsZW1lbnQod3JpdGVyKTsKKyAgICBpZiAocmMgPCAwKSB7CisgICAgICAgIHByaW50ZigidGVzdFhtbHdyaXRlckRvYzogRXJyb3IgYXQgeG1sVGV4dFdyaXRlckVuZEVsZW1lbnRcbiIpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgLyogU3RhcnQgYW4gZWxlbWVudCBuYW1lZCAiRU5UUlkiIGFzIGNoaWxkIG9mIEVOVFJJRVMuICovCisgICAgcmMgPSB4bWxUZXh0V3JpdGVyU3RhcnRFbGVtZW50KHdyaXRlciwgQkFEX0NBU1QgIkVOVFJZIik7CisgICAgaWYgKHJjIDwgMCkgeworICAgICAgICBwcmludGYoInRlc3RYbWx3cml0ZXJEb2M6IEVycm9yIGF0IHhtbFRleHRXcml0ZXJTdGFydEVsZW1lbnRcbiIpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgLyogV3JpdGUgYW4gZWxlbWVudCBuYW1lZCAiQVJUSUNMRSIgYXMgY2hpbGQgb2YgRU5UUlkuICovCisgICAgcmMgPSB4bWxUZXh0V3JpdGVyV3JpdGVFbGVtZW50KHdyaXRlciwgQkFEX0NBU1QgIkFSVElDTEUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCQURfQ0FTVCAiPFRlc3QgMj4iKTsKKyAgICBpZiAocmMgPCAwKSB7CisgICAgICAgIHByaW50ZigidGVzdFhtbHdyaXRlckRvYzogRXJyb3IgYXQgeG1sVGV4dFdyaXRlcldyaXRlRWxlbWVudFxuIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvKiBXcml0ZSBhbiBlbGVtZW50IG5hbWVkICJFTlRSWV9OTyIgYXMgY2hpbGQgb2YgRU5UUlkuICovCisgICAgcmMgPSB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRFbGVtZW50KHdyaXRlciwgQkFEX0NBU1QgIkVOVFJZX05PIiwgIiVkIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjApOworICAgIGlmIChyYyA8IDApIHsKKyAgICAgICAgcHJpbnRmCisgICAgICAgICAgICAoInRlc3RYbWx3cml0ZXJEb2M6IEVycm9yIGF0IHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdEVsZW1lbnRcbiIpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgLyogQ2xvc2UgdGhlIGVsZW1lbnQgbmFtZWQgRU5UUlkuICovCisgICAgcmMgPSB4bWxUZXh0V3JpdGVyRW5kRWxlbWVudCh3cml0ZXIpOworICAgIGlmIChyYyA8IDApIHsKKyAgICAgICAgcHJpbnRmKCJ0ZXN0WG1sd3JpdGVyRG9jOiBFcnJvciBhdCB4bWxUZXh0V3JpdGVyRW5kRWxlbWVudFxuIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvKiBDbG9zZSB0aGUgZWxlbWVudCBuYW1lZCBFTlRSSUVTLiAqLworICAgIHJjID0geG1sVGV4dFdyaXRlckVuZEVsZW1lbnQod3JpdGVyKTsKKyAgICBpZiAocmMgPCAwKSB7CisgICAgICAgIHByaW50ZigidGVzdFhtbHdyaXRlckRvYzogRXJyb3IgYXQgeG1sVGV4dFdyaXRlckVuZEVsZW1lbnRcbiIpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgLyogU3RhcnQgYW4gZWxlbWVudCBuYW1lZCAiRk9PVEVSIiBhcyBjaGlsZCBvZiBPUkRFUi4gKi8KKyAgICByYyA9IHhtbFRleHRXcml0ZXJTdGFydEVsZW1lbnQod3JpdGVyLCBCQURfQ0FTVCAiRk9PVEVSIik7CisgICAgaWYgKHJjIDwgMCkgeworICAgICAgICBwcmludGYoInRlc3RYbWx3cml0ZXJEb2M6IEVycm9yIGF0IHhtbFRleHRXcml0ZXJTdGFydEVsZW1lbnRcbiIpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgLyogV3JpdGUgYW4gZWxlbWVudCBuYW1lZCAiVEVYVCIgYXMgY2hpbGQgb2YgRk9PVEVSLiAqLworICAgIHJjID0geG1sVGV4dFdyaXRlcldyaXRlRWxlbWVudCh3cml0ZXIsIEJBRF9DQVNUICJURVhUIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQkFEX0NBU1QgIlRoaXMgaXMgYSB0ZXh0LiIpOworICAgIGlmIChyYyA8IDApIHsKKyAgICAgICAgcHJpbnRmKCJ0ZXN0WG1sd3JpdGVyRG9jOiBFcnJvciBhdCB4bWxUZXh0V3JpdGVyV3JpdGVFbGVtZW50XG4iKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIC8qIENsb3NlIHRoZSBlbGVtZW50IG5hbWVkIEZPT1RFUi4gKi8KKyAgICByYyA9IHhtbFRleHRXcml0ZXJFbmRFbGVtZW50KHdyaXRlcik7CisgICAgaWYgKHJjIDwgMCkgeworICAgICAgICBwcmludGYoInRlc3RYbWx3cml0ZXJEb2M6IEVycm9yIGF0IHhtbFRleHRXcml0ZXJFbmRFbGVtZW50XG4iKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIC8qIEhlcmUgd2UgY291bGQgY2xvc2UgdGhlIGVsZW1lbnRzIE9SREVSIGFuZCBFWEFNUExFIHVzaW5nIHRoZQorICAgICAqIGZ1bmN0aW9uIHhtbFRleHRXcml0ZXJFbmRFbGVtZW50LCBidXQgc2luY2Ugd2UgZG8gbm90IHdhbnQgdG8KKyAgICAgKiB3cml0ZSBhbnkgb3RoZXIgZWxlbWVudHMsIHdlIHNpbXBseSBjYWxsIHhtbFRleHRXcml0ZXJFbmREb2N1bWVudCwKKyAgICAgKiB3aGljaCB3aWxsIGRvIGFsbCB0aGUgd29yay4gKi8KKyAgICByYyA9IHhtbFRleHRXcml0ZXJFbmREb2N1bWVudCh3cml0ZXIpOworICAgIGlmIChyYyA8IDApIHsKKyAgICAgICAgcHJpbnRmKCJ0ZXN0WG1sd3JpdGVyRG9jOiBFcnJvciBhdCB4bWxUZXh0V3JpdGVyRW5kRG9jdW1lbnRcbiIpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgeG1sRnJlZVRleHRXcml0ZXIod3JpdGVyKTsKKworICAgIHhtbFNhdmVGaWxlRW5jKGZpbGUsIGRvYywgTVlfRU5DT0RJTkcpOworCisgICAgeG1sRnJlZURvYyhkb2MpOworfQorCisvKioKKyAqIHRlc3RYbWx3cml0ZXJUcmVlOgorICogQGZpbGU6IHRoZSBvdXRwdXQgZmlsZQorICoKKyAqIHRlc3QgdGhlIHhtbFdyaXRlciBpbnRlcmZhY2Ugd2hlbiB3cml0aW5nIHRvIGEgc3VidHJlZQorICovCit2b2lkCit0ZXN0WG1sd3JpdGVyVHJlZShjb25zdCBjaGFyICpmaWxlKQoreworICAgIGludCByYzsKKyAgICB4bWxUZXh0V3JpdGVyUHRyIHdyaXRlcjsKKyAgICB4bWxEb2NQdHIgZG9jOworICAgIHhtbE5vZGVQdHIgbm9kZTsKKyAgICB4bWxDaGFyICp0bXA7CisKKyAgICAvKiBDcmVhdGUgYSBuZXcgWE1MIERPTSB0cmVlLCB0byB3aGljaCB0aGUgWE1MIGRvY3VtZW50IHdpbGwgYmUKKyAgICAgKiB3cml0dGVuICovCisgICAgZG9jID0geG1sTmV3RG9jKEJBRF9DQVNUIFhNTF9ERUZBVUxUX1ZFUlNJT04pOworICAgIGlmIChkb2MgPT0gTlVMTCkgeworICAgICAgICBwcmludGYKKyAgICAgICAgICAgICgidGVzdFhtbHdyaXRlclRyZWU6IEVycm9yIGNyZWF0aW5nIHRoZSB4bWwgZG9jdW1lbnQgdHJlZVxuIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvKiBDcmVhdGUgYSBuZXcgWE1MIG5vZGUsIHRvIHdoaWNoIHRoZSBYTUwgZG9jdW1lbnQgd2lsbCBiZQorICAgICAqIGFwcGVuZGVkICovCisgICAgbm9kZSA9IHhtbE5ld0RvY05vZGUoZG9jLCBOVUxMLCBCQURfQ0FTVCAiRVhBTVBMRSIsIE5VTEwpOworICAgIGlmIChub2RlID09IE5VTEwpIHsKKyAgICAgICAgcHJpbnRmKCJ0ZXN0WG1sd3JpdGVyVHJlZTogRXJyb3IgY3JlYXRpbmcgdGhlIHhtbCBub2RlXG4iKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIC8qIE1ha2UgRUxFTUVOVCB0aGUgcm9vdCBub2RlIG9mIHRoZSB0cmVlICovCisgICAgeG1sRG9jU2V0Um9vdEVsZW1lbnQoZG9jLCBub2RlKTsKKworICAgIC8qIENyZWF0ZSBhIG5ldyBYbWxXcml0ZXIgZm9yIERPTSB0cmVlLCB3aXRoIG5vIGNvbXByZXNzaW9uLiAqLworICAgIHdyaXRlciA9IHhtbE5ld1RleHRXcml0ZXJUcmVlKGRvYywgbm9kZSwgMCk7CisgICAgaWYgKHdyaXRlciA9PSBOVUxMKSB7CisgICAgICAgIHByaW50ZigidGVzdFhtbHdyaXRlclRyZWU6IEVycm9yIGNyZWF0aW5nIHRoZSB4bWwgd3JpdGVyXG4iKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIC8qIFN0YXJ0IHRoZSBkb2N1bWVudCB3aXRoIHRoZSB4bWwgZGVmYXVsdCBmb3IgdGhlIHZlcnNpb24sCisgICAgICogZW5jb2RpbmcgSVNPIDg4NTktMSBhbmQgdGhlIGRlZmF1bHQgZm9yIHRoZSBzdGFuZGFsb25lCisgICAgICogZGVjbGFyYXRpb24uICovCisgICAgcmMgPSB4bWxUZXh0V3JpdGVyU3RhcnREb2N1bWVudCh3cml0ZXIsIE5VTEwsIE1ZX0VOQ09ESU5HLCBOVUxMKTsKKyAgICBpZiAocmMgPCAwKSB7CisgICAgICAgIHByaW50ZigidGVzdFhtbHdyaXRlclRyZWU6IEVycm9yIGF0IHhtbFRleHRXcml0ZXJTdGFydERvY3VtZW50XG4iKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIC8qIFdyaXRlIGEgY29tbWVudCBhcyBjaGlsZCBvZiBFWEFNUExFLgorICAgICAqIFBsZWFzZSBvYnNlcnZlLCB0aGF0IHRoZSBpbnB1dCB0byB0aGUgeG1sVGV4dFdyaXRlciBmdW5jdGlvbnMKKyAgICAgKiBIQVMgdG8gYmUgaW4gVVRGLTgsIGV2ZW4gaWYgdGhlIG91dHB1dCBYTUwgaXMgZW5jb2RlZAorICAgICAqIGluIGlzby04ODU5LTEgKi8KKyAgICB0bXAgPSBDb252ZXJ0SW5wdXQoIlRoaXMgaXMgYSBjb21tZW50IHdpdGggc3BlY2lhbCBjaGFyczogPOT2/D4iLAorICAgICAgICAgICAgICAgICAgICAgICBNWV9FTkNPRElORyk7CisgICAgcmMgPSB4bWxUZXh0V3JpdGVyV3JpdGVDb21tZW50KHdyaXRlciwgdG1wKTsKKyAgICBpZiAocmMgPCAwKSB7CisgICAgICAgIHByaW50ZigidGVzdFhtbHdyaXRlclRyZWU6IEVycm9yIGF0IHhtbFRleHRXcml0ZXJXcml0ZUNvbW1lbnRcbiIpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGlmICh0bXAgIT0gTlVMTCkgeG1sRnJlZSh0bXApOworCisgICAgLyogU3RhcnQgYW4gZWxlbWVudCBuYW1lZCAiT1JERVIiIGFzIGNoaWxkIG9mIEVYQU1QTEUuICovCisgICAgcmMgPSB4bWxUZXh0V3JpdGVyU3RhcnRFbGVtZW50KHdyaXRlciwgQkFEX0NBU1QgIk9SREVSIik7CisgICAgaWYgKHJjIDwgMCkgeworICAgICAgICBwcmludGYoInRlc3RYbWx3cml0ZXJUcmVlOiBFcnJvciBhdCB4bWxUZXh0V3JpdGVyU3RhcnRFbGVtZW50XG4iKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIC8qIEFkZCBhbiBhdHRyaWJ1dGUgd2l0aCBuYW1lICJ2ZXJzaW9uIiBhbmQgdmFsdWUgIjEuMCIgdG8gT1JERVIuICovCisgICAgcmMgPSB4bWxUZXh0V3JpdGVyV3JpdGVBdHRyaWJ1dGUod3JpdGVyLCBCQURfQ0FTVCAidmVyc2lvbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQkFEX0NBU1QgIjEuMCIpOworICAgIGlmIChyYyA8IDApIHsKKyAgICAgICAgcHJpbnRmCisgICAgICAgICAgICAoInRlc3RYbWx3cml0ZXJUcmVlOiBFcnJvciBhdCB4bWxUZXh0V3JpdGVyV3JpdGVBdHRyaWJ1dGVcbiIpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgLyogQWRkIGFuIGF0dHJpYnV0ZSB3aXRoIG5hbWUgInhtbDpsYW5nIiBhbmQgdmFsdWUgImRlIiB0byBPUkRFUi4gKi8KKyAgICByYyA9IHhtbFRleHRXcml0ZXJXcml0ZUF0dHJpYnV0ZSh3cml0ZXIsIEJBRF9DQVNUICJ4bWw6bGFuZyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQkFEX0NBU1QgImRlIik7CisgICAgaWYgKHJjIDwgMCkgeworICAgICAgICBwcmludGYKKyAgICAgICAgICAgICgidGVzdFhtbHdyaXRlclRyZWU6IEVycm9yIGF0IHhtbFRleHRXcml0ZXJXcml0ZUF0dHJpYnV0ZVxuIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvKiBXcml0ZSBhIGNvbW1lbnQgYXMgY2hpbGQgb2YgT1JERVIgKi8KKyAgICB0bXAgPSBDb252ZXJ0SW5wdXQoIjzk9vw+IiwgTVlfRU5DT0RJTkcpOworICAgIHJjID0geG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0Q29tbWVudCh3cml0ZXIsCisJCQkgIlRoaXMgaXMgYW5vdGhlciBjb21tZW50IHdpdGggc3BlY2lhbCBjaGFyczogJXMiLAorCQkJCQkgIHRtcCk7CisgICAgaWYgKHJjIDwgMCkgeworICAgICAgICBwcmludGYKKyAgICAgICAgICAgICgidGVzdFhtbHdyaXRlclRyZWU6IEVycm9yIGF0IHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdENvbW1lbnRcbiIpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGlmICh0bXAgIT0gTlVMTCkgeG1sRnJlZSh0bXApOworCisgICAgLyogU3RhcnQgYW4gZWxlbWVudCBuYW1lZCAiSEVBREVSIiBhcyBjaGlsZCBvZiBPUkRFUi4gKi8KKyAgICByYyA9IHhtbFRleHRXcml0ZXJTdGFydEVsZW1lbnQod3JpdGVyLCBCQURfQ0FTVCAiSEVBREVSIik7CisgICAgaWYgKHJjIDwgMCkgeworICAgICAgICBwcmludGYoInRlc3RYbWx3cml0ZXJUcmVlOiBFcnJvciBhdCB4bWxUZXh0V3JpdGVyU3RhcnRFbGVtZW50XG4iKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIC8qIFdyaXRlIGFuIGVsZW1lbnQgbmFtZWQgIlhfT1JERVJfSUQiIGFzIGNoaWxkIG9mIEhFQURFUi4gKi8KKyAgICByYyA9IHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdEVsZW1lbnQod3JpdGVyLCBCQURfQ0FTVCAiWF9PUkRFUl9JRCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIlMDEwZCIsIDUzNTM1KTsKKyAgICBpZiAocmMgPCAwKSB7CisgICAgICAgIHByaW50ZgorICAgICAgICAgICAgKCJ0ZXN0WG1sd3JpdGVyVHJlZTogRXJyb3IgYXQgeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RWxlbWVudFxuIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvKiBXcml0ZSBhbiBlbGVtZW50IG5hbWVkICJDVVNUT01FUl9JRCIgYXMgY2hpbGQgb2YgSEVBREVSLiAqLworICAgIHJjID0geG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RWxlbWVudCh3cml0ZXIsIEJBRF9DQVNUICJDVVNUT01FUl9JRCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIlZCIsIDEwMTApOworICAgIGlmIChyYyA8IDApIHsKKyAgICAgICAgcHJpbnRmCisgICAgICAgICAgICAoInRlc3RYbWx3cml0ZXJUcmVlOiBFcnJvciBhdCB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRFbGVtZW50XG4iKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIC8qIFdyaXRlIGFuIGVsZW1lbnQgbmFtZWQgIk5BTUVfMSIgYXMgY2hpbGQgb2YgSEVBREVSLiAqLworICAgIHRtcCA9IENvbnZlcnRJbnB1dCgiTfxsbGVyIiwgTVlfRU5DT0RJTkcpOworICAgIHJjID0geG1sVGV4dFdyaXRlcldyaXRlRWxlbWVudCh3cml0ZXIsIEJBRF9DQVNUICJOQU1FXzEiLCB0bXApOworICAgIGlmIChyYyA8IDApIHsKKyAgICAgICAgcHJpbnRmKCJ0ZXN0WG1sd3JpdGVyVHJlZTogRXJyb3IgYXQgeG1sVGV4dFdyaXRlcldyaXRlRWxlbWVudFxuIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgaWYgKHRtcCAhPSBOVUxMKSB4bWxGcmVlKHRtcCk7CisKKyAgICAvKiBXcml0ZSBhbiBlbGVtZW50IG5hbWVkICJOQU1FXzIiIGFzIGNoaWxkIG9mIEhFQURFUi4gKi8KKyAgICB0bXAgPSBDb252ZXJ0SW5wdXQoIkr2cmciLCBNWV9FTkNPRElORyk7CisgICAgcmMgPSB4bWxUZXh0V3JpdGVyV3JpdGVFbGVtZW50KHdyaXRlciwgQkFEX0NBU1QgIk5BTUVfMiIsIHRtcCk7CisgICAgaWYgKHJjIDwgMCkgeworICAgICAgICBwcmludGYoInRlc3RYbWx3cml0ZXJUcmVlOiBFcnJvciBhdCB4bWxUZXh0V3JpdGVyV3JpdGVFbGVtZW50XG4iKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBpZiAodG1wICE9IE5VTEwpIHhtbEZyZWUodG1wKTsKKworICAgIC8qIENsb3NlIHRoZSBlbGVtZW50IG5hbWVkIEhFQURFUi4gKi8KKyAgICByYyA9IHhtbFRleHRXcml0ZXJFbmRFbGVtZW50KHdyaXRlcik7CisgICAgaWYgKHJjIDwgMCkgeworICAgICAgICBwcmludGYoInRlc3RYbWx3cml0ZXJUcmVlOiBFcnJvciBhdCB4bWxUZXh0V3JpdGVyRW5kRWxlbWVudFxuIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvKiBTdGFydCBhbiBlbGVtZW50IG5hbWVkICJFTlRSSUVTIiBhcyBjaGlsZCBvZiBPUkRFUi4gKi8KKyAgICByYyA9IHhtbFRleHRXcml0ZXJTdGFydEVsZW1lbnQod3JpdGVyLCBCQURfQ0FTVCAiRU5UUklFUyIpOworICAgIGlmIChyYyA8IDApIHsKKyAgICAgICAgcHJpbnRmKCJ0ZXN0WG1sd3JpdGVyVHJlZTogRXJyb3IgYXQgeG1sVGV4dFdyaXRlclN0YXJ0RWxlbWVudFxuIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvKiBTdGFydCBhbiBlbGVtZW50IG5hbWVkICJFTlRSWSIgYXMgY2hpbGQgb2YgRU5UUklFUy4gKi8KKyAgICByYyA9IHhtbFRleHRXcml0ZXJTdGFydEVsZW1lbnQod3JpdGVyLCBCQURfQ0FTVCAiRU5UUlkiKTsKKyAgICBpZiAocmMgPCAwKSB7CisgICAgICAgIHByaW50ZigidGVzdFhtbHdyaXRlclRyZWU6IEVycm9yIGF0IHhtbFRleHRXcml0ZXJTdGFydEVsZW1lbnRcbiIpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgLyogV3JpdGUgYW4gZWxlbWVudCBuYW1lZCAiQVJUSUNMRSIgYXMgY2hpbGQgb2YgRU5UUlkuICovCisgICAgcmMgPSB4bWxUZXh0V3JpdGVyV3JpdGVFbGVtZW50KHdyaXRlciwgQkFEX0NBU1QgIkFSVElDTEUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCQURfQ0FTVCAiPFRlc3Q+Iik7CisgICAgaWYgKHJjIDwgMCkgeworICAgICAgICBwcmludGYoInRlc3RYbWx3cml0ZXJUcmVlOiBFcnJvciBhdCB4bWxUZXh0V3JpdGVyV3JpdGVFbGVtZW50XG4iKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIC8qIFdyaXRlIGFuIGVsZW1lbnQgbmFtZWQgIkVOVFJZX05PIiBhcyBjaGlsZCBvZiBFTlRSWS4gKi8KKyAgICByYyA9IHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdEVsZW1lbnQod3JpdGVyLCBCQURfQ0FTVCAiRU5UUllfTk8iLCAiJWQiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMCk7CisgICAgaWYgKHJjIDwgMCkgeworICAgICAgICBwcmludGYKKyAgICAgICAgICAgICgidGVzdFhtbHdyaXRlclRyZWU6IEVycm9yIGF0IHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdEVsZW1lbnRcbiIpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgLyogQ2xvc2UgdGhlIGVsZW1lbnQgbmFtZWQgRU5UUlkuICovCisgICAgcmMgPSB4bWxUZXh0V3JpdGVyRW5kRWxlbWVudCh3cml0ZXIpOworICAgIGlmIChyYyA8IDApIHsKKyAgICAgICAgcHJpbnRmKCJ0ZXN0WG1sd3JpdGVyVHJlZTogRXJyb3IgYXQgeG1sVGV4dFdyaXRlckVuZEVsZW1lbnRcbiIpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgLyogU3RhcnQgYW4gZWxlbWVudCBuYW1lZCAiRU5UUlkiIGFzIGNoaWxkIG9mIEVOVFJJRVMuICovCisgICAgcmMgPSB4bWxUZXh0V3JpdGVyU3RhcnRFbGVtZW50KHdyaXRlciwgQkFEX0NBU1QgIkVOVFJZIik7CisgICAgaWYgKHJjIDwgMCkgeworICAgICAgICBwcmludGYoInRlc3RYbWx3cml0ZXJUcmVlOiBFcnJvciBhdCB4bWxUZXh0V3JpdGVyU3RhcnRFbGVtZW50XG4iKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIC8qIFdyaXRlIGFuIGVsZW1lbnQgbmFtZWQgIkFSVElDTEUiIGFzIGNoaWxkIG9mIEVOVFJZLiAqLworICAgIHJjID0geG1sVGV4dFdyaXRlcldyaXRlRWxlbWVudCh3cml0ZXIsIEJBRF9DQVNUICJBUlRJQ0xFIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQkFEX0NBU1QgIjxUZXN0IDI+Iik7CisgICAgaWYgKHJjIDwgMCkgeworICAgICAgICBwcmludGYoInRlc3RYbWx3cml0ZXJUcmVlOiBFcnJvciBhdCB4bWxUZXh0V3JpdGVyV3JpdGVFbGVtZW50XG4iKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIC8qIFdyaXRlIGFuIGVsZW1lbnQgbmFtZWQgIkVOVFJZX05PIiBhcyBjaGlsZCBvZiBFTlRSWS4gKi8KKyAgICByYyA9IHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdEVsZW1lbnQod3JpdGVyLCBCQURfQ0FTVCAiRU5UUllfTk8iLCAiJWQiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMCk7CisgICAgaWYgKHJjIDwgMCkgeworICAgICAgICBwcmludGYKKyAgICAgICAgICAgICgidGVzdFhtbHdyaXRlclRyZWU6IEVycm9yIGF0IHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdEVsZW1lbnRcbiIpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgLyogQ2xvc2UgdGhlIGVsZW1lbnQgbmFtZWQgRU5UUlkuICovCisgICAgcmMgPSB4bWxUZXh0V3JpdGVyRW5kRWxlbWVudCh3cml0ZXIpOworICAgIGlmIChyYyA8IDApIHsKKyAgICAgICAgcHJpbnRmKCJ0ZXN0WG1sd3JpdGVyVHJlZTogRXJyb3IgYXQgeG1sVGV4dFdyaXRlckVuZEVsZW1lbnRcbiIpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgLyogQ2xvc2UgdGhlIGVsZW1lbnQgbmFtZWQgRU5UUklFUy4gKi8KKyAgICByYyA9IHhtbFRleHRXcml0ZXJFbmRFbGVtZW50KHdyaXRlcik7CisgICAgaWYgKHJjIDwgMCkgeworICAgICAgICBwcmludGYoInRlc3RYbWx3cml0ZXJUcmVlOiBFcnJvciBhdCB4bWxUZXh0V3JpdGVyRW5kRWxlbWVudFxuIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvKiBTdGFydCBhbiBlbGVtZW50IG5hbWVkICJGT09URVIiIGFzIGNoaWxkIG9mIE9SREVSLiAqLworICAgIHJjID0geG1sVGV4dFdyaXRlclN0YXJ0RWxlbWVudCh3cml0ZXIsIEJBRF9DQVNUICJGT09URVIiKTsKKyAgICBpZiAocmMgPCAwKSB7CisgICAgICAgIHByaW50ZigidGVzdFhtbHdyaXRlclRyZWU6IEVycm9yIGF0IHhtbFRleHRXcml0ZXJTdGFydEVsZW1lbnRcbiIpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgLyogV3JpdGUgYW4gZWxlbWVudCBuYW1lZCAiVEVYVCIgYXMgY2hpbGQgb2YgRk9PVEVSLiAqLworICAgIHJjID0geG1sVGV4dFdyaXRlcldyaXRlRWxlbWVudCh3cml0ZXIsIEJBRF9DQVNUICJURVhUIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQkFEX0NBU1QgIlRoaXMgaXMgYSB0ZXh0LiIpOworICAgIGlmIChyYyA8IDApIHsKKyAgICAgICAgcHJpbnRmKCJ0ZXN0WG1sd3JpdGVyVHJlZTogRXJyb3IgYXQgeG1sVGV4dFdyaXRlcldyaXRlRWxlbWVudFxuIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvKiBDbG9zZSB0aGUgZWxlbWVudCBuYW1lZCBGT09URVIuICovCisgICAgcmMgPSB4bWxUZXh0V3JpdGVyRW5kRWxlbWVudCh3cml0ZXIpOworICAgIGlmIChyYyA8IDApIHsKKyAgICAgICAgcHJpbnRmKCJ0ZXN0WG1sd3JpdGVyVHJlZTogRXJyb3IgYXQgeG1sVGV4dFdyaXRlckVuZEVsZW1lbnRcbiIpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgLyogSGVyZSB3ZSBjb3VsZCBjbG9zZSB0aGUgZWxlbWVudHMgT1JERVIgYW5kIEVYQU1QTEUgdXNpbmcgdGhlCisgICAgICogZnVuY3Rpb24geG1sVGV4dFdyaXRlckVuZEVsZW1lbnQsIGJ1dCBzaW5jZSB3ZSBkbyBub3Qgd2FudCB0bworICAgICAqIHdyaXRlIGFueSBvdGhlciBlbGVtZW50cywgd2Ugc2ltcGx5IGNhbGwgeG1sVGV4dFdyaXRlckVuZERvY3VtZW50LAorICAgICAqIHdoaWNoIHdpbGwgZG8gYWxsIHRoZSB3b3JrLiAqLworICAgIHJjID0geG1sVGV4dFdyaXRlckVuZERvY3VtZW50KHdyaXRlcik7CisgICAgaWYgKHJjIDwgMCkgeworICAgICAgICBwcmludGYoInRlc3RYbWx3cml0ZXJUcmVlOiBFcnJvciBhdCB4bWxUZXh0V3JpdGVyRW5kRG9jdW1lbnRcbiIpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgeG1sRnJlZVRleHRXcml0ZXIod3JpdGVyKTsKKworICAgIHhtbFNhdmVGaWxlRW5jKGZpbGUsIGRvYywgTVlfRU5DT0RJTkcpOworCisgICAgeG1sRnJlZURvYyhkb2MpOworfQorCisvKioKKyAqIENvbnZlcnRJbnB1dDoKKyAqIEBpbjogc3RyaW5nIGluIGEgZ2l2ZW4gZW5jb2RpbmcKKyAqIEBlbmNvZGluZzogdGhlIGVuY29kaW5nIHVzZWQKKyAqCisgKiBDb252ZXJ0cyBAaW4gaW50byBVVEYtOCBmb3IgcHJvY2Vzc2luZyB3aXRoIGxpYnhtbDIgQVBJcworICoKKyAqIFJldHVybnMgdGhlIGNvbnZlcnRlZCBVVEYtOCBzdHJpbmcsIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworeG1sQ2hhciAqCitDb252ZXJ0SW5wdXQoY29uc3QgY2hhciAqaW4sIGNvbnN0IGNoYXIgKmVuY29kaW5nKQoreworICAgIHhtbENoYXIgKm91dDsKKyAgICBpbnQgcmV0OworICAgIGludCBzaXplOworICAgIGludCBvdXRfc2l6ZTsKKyAgICBpbnQgdGVtcDsKKyAgICB4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyIGhhbmRsZXI7CisKKyAgICBpZiAoaW4gPT0gMCkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBoYW5kbGVyID0geG1sRmluZENoYXJFbmNvZGluZ0hhbmRsZXIoZW5jb2RpbmcpOworCisgICAgaWYgKCFoYW5kbGVyKSB7CisgICAgICAgIHByaW50ZigiQ29udmVydElucHV0OiBubyBlbmNvZGluZyBoYW5kbGVyIGZvdW5kIGZvciAnJXMnXG4iLAorICAgICAgICAgICAgICAgZW5jb2RpbmcgPyBlbmNvZGluZyA6ICIiKTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCisgICAgc2l6ZSA9IChpbnQpIHN0cmxlbihpbikgKyAxOworICAgIG91dF9zaXplID0gc2l6ZSAqIDIgLSAxOworICAgIG91dCA9ICh1bnNpZ25lZCBjaGFyICopIHhtbE1hbGxvYygoc2l6ZV90KSBvdXRfc2l6ZSk7CisKKyAgICBpZiAob3V0ICE9IDApIHsKKyAgICAgICAgdGVtcCA9IHNpemUgLSAxOworICAgICAgICByZXQgPSBoYW5kbGVyLT5pbnB1dChvdXQsICZvdXRfc2l6ZSwgKGNvbnN0IHhtbENoYXIgKikgaW4sICZ0ZW1wKTsKKyAgICAgICAgaWYgKChyZXQgPCAwKSB8fCAodGVtcCAtIHNpemUgKyAxKSkgeworICAgICAgICAgICAgaWYgKHJldCA8IDApIHsKKyAgICAgICAgICAgICAgICBwcmludGYoIkNvbnZlcnRJbnB1dDogY29udmVyc2lvbiB3YXNuJ3Qgc3VjY2Vzc2Z1bC5cbiIpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBwcmludGYKKyAgICAgICAgICAgICAgICAgICAgKCJDb252ZXJ0SW5wdXQ6IGNvbnZlcnNpb24gd2Fzbid0IHN1Y2Nlc3NmdWwuIGNvbnZlcnRlZDogJWkgb2N0ZXRzLlxuIiwKKyAgICAgICAgICAgICAgICAgICAgIHRlbXApOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICB4bWxGcmVlKG91dCk7CisgICAgICAgICAgICBvdXQgPSAwOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgb3V0ID0gKHVuc2lnbmVkIGNoYXIgKikgeG1sUmVhbGxvYyhvdXQsIG91dF9zaXplICsgMSk7CisgICAgICAgICAgICBvdXRbb3V0X3NpemVdID0gMDsgIC8qbnVsbCB0ZXJtaW5hdGluZyBvdXQgKi8KKyAgICAgICAgfQorICAgIH0gZWxzZSB7CisgICAgICAgIHByaW50ZigiQ29udmVydElucHV0OiBubyBtZW1cbiIpOworICAgIH0KKworICAgIHJldHVybiBvdXQ7Cit9CisKKyNlbHNlCitpbnQgbWFpbih2b2lkKSB7CisgICAgZnByaW50ZihzdGRlcnIsICJXcml0ZXIgb3Igb3V0cHV0IHN1cHBvcnQgbm90IGNvbXBpbGVkIGluXG4iKTsKKyAgICBleGl0KDEpOworfQorI2VuZGlmCmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9leGFtcGxlcy90cmVlMS5jIGIvbGlieG1sMi9kb2MvZXhhbXBsZXMvdHJlZTEuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNmZhZWZjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvZXhhbXBsZXMvdHJlZTEuYwpAQCAtMCwwICsxLDk0IEBACisvKioKKyAqIHNlY3Rpb246IFRyZWUKKyAqIHN5bm9wc2lzOiBOYXZpZ2F0ZXMgYSB0cmVlIHRvIHByaW50IGVsZW1lbnQgbmFtZXMKKyAqIHB1cnBvc2U6IFBhcnNlIGEgZmlsZSB0byBhIHRyZWUsIHVzZSB4bWxEb2NHZXRSb290RWxlbWVudCgpIHRvCisgKiAgICAgICAgICBnZXQgdGhlIHJvb3QgZWxlbWVudCwgdGhlbiB3YWxrIHRoZSBkb2N1bWVudCBhbmQgcHJpbnQKKyAqICAgICAgICAgIGFsbCB0aGUgZWxlbWVudCBuYW1lIGluIGRvY3VtZW50IG9yZGVyLgorICogdXNhZ2U6IHRyZWUxIGZpbGVuYW1lX29yX1VSTAorICogdGVzdDogdHJlZTEgdGVzdDIueG1sID4gdHJlZTEudG1wICYmIGRpZmYgdHJlZTEudG1wICQoc3JjZGlyKS90cmVlMS5yZXMKKyAqIGF1dGhvcjogRG9kamkgU2VrZXRlbGkKKyAqIGNvcHk6IHNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyAqLworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8bGlieG1sL3BhcnNlci5oPgorI2luY2x1ZGUgPGxpYnhtbC90cmVlLmg+CisKKyNpZmRlZiBMSUJYTUxfVFJFRV9FTkFCTEVECisKKy8qCisgKlRvIGNvbXBpbGUgdGhpcyBmaWxlIHVzaW5nIGdjYyB5b3UgY2FuIHR5cGUKKyAqZ2NjIGB4bWwyLWNvbmZpZyAtLWNmbGFncyAtLWxpYnNgIC1vIHhtbGV4YW1wbGUgbGlieG1sMi1leGFtcGxlLmMKKyAqLworCisvKioKKyAqIHByaW50X2VsZW1lbnRfbmFtZXM6CisgKiBAYV9ub2RlOiB0aGUgaW5pdGlhbCB4bWwgbm9kZSB0byBjb25zaWRlci4KKyAqCisgKiBQcmludHMgdGhlIG5hbWVzIG9mIHRoZSBhbGwgdGhlIHhtbCBlbGVtZW50cworICogdGhhdCBhcmUgc2libGluZ3Mgb3IgY2hpbGRyZW4gb2YgYSBnaXZlbiB4bWwgbm9kZS4KKyAqLworc3RhdGljIHZvaWQKK3ByaW50X2VsZW1lbnRfbmFtZXMoeG1sTm9kZSAqIGFfbm9kZSkKK3sKKyAgICB4bWxOb2RlICpjdXJfbm9kZSA9IE5VTEw7CisKKyAgICBmb3IgKGN1cl9ub2RlID0gYV9ub2RlOyBjdXJfbm9kZTsgY3VyX25vZGUgPSBjdXJfbm9kZS0+bmV4dCkgeworICAgICAgICBpZiAoY3VyX25vZGUtPnR5cGUgPT0gWE1MX0VMRU1FTlRfTk9ERSkgeworICAgICAgICAgICAgcHJpbnRmKCJub2RlIHR5cGU6IEVsZW1lbnQsIG5hbWU6ICVzXG4iLCBjdXJfbm9kZS0+bmFtZSk7CisgICAgICAgIH0KKworICAgICAgICBwcmludF9lbGVtZW50X25hbWVzKGN1cl9ub2RlLT5jaGlsZHJlbik7CisgICAgfQorfQorCisKKy8qKgorICogU2ltcGxlIGV4YW1wbGUgdG8gcGFyc2UgYSBmaWxlIGNhbGxlZCAiZmlsZS54bWwiLCAKKyAqIHdhbGsgZG93biB0aGUgRE9NLCBhbmQgcHJpbnQgdGhlIG5hbWUgb2YgdGhlIAorICogeG1sIGVsZW1lbnRzIG5vZGVzLgorICovCitpbnQKK21haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworICAgIHhtbERvYyAqZG9jID0gTlVMTDsKKyAgICB4bWxOb2RlICpyb290X2VsZW1lbnQgPSBOVUxMOworCisgICAgaWYgKGFyZ2MgIT0gMikKKyAgICAgICAgcmV0dXJuKDEpOworCisgICAgLyoKKyAgICAgKiB0aGlzIGluaXRpYWxpemUgdGhlIGxpYnJhcnkgYW5kIGNoZWNrIHBvdGVudGlhbCBBQkkgbWlzbWF0Y2hlcworICAgICAqIGJldHdlZW4gdGhlIHZlcnNpb24gaXQgd2FzIGNvbXBpbGVkIGZvciBhbmQgdGhlIGFjdHVhbCBzaGFyZWQKKyAgICAgKiBsaWJyYXJ5IHVzZWQuCisgICAgICovCisgICAgTElCWE1MX1RFU1RfVkVSU0lPTgorCisgICAgLypwYXJzZSB0aGUgZmlsZSBhbmQgZ2V0IHRoZSBET00gKi8KKyAgICBkb2MgPSB4bWxSZWFkRmlsZShhcmd2WzFdLCBOVUxMLCAwKTsKKworICAgIGlmIChkb2MgPT0gTlVMTCkgeworICAgICAgICBwcmludGYoImVycm9yOiBjb3VsZCBub3QgcGFyc2UgZmlsZSAlc1xuIiwgYXJndlsxXSk7CisgICAgfQorCisgICAgLypHZXQgdGhlIHJvb3QgZWxlbWVudCBub2RlICovCisgICAgcm9vdF9lbGVtZW50ID0geG1sRG9jR2V0Um9vdEVsZW1lbnQoZG9jKTsKKworICAgIHByaW50X2VsZW1lbnRfbmFtZXMocm9vdF9lbGVtZW50KTsKKworICAgIC8qZnJlZSB0aGUgZG9jdW1lbnQgKi8KKyAgICB4bWxGcmVlRG9jKGRvYyk7CisKKyAgICAvKgorICAgICAqRnJlZSB0aGUgZ2xvYmFsIHZhcmlhYmxlcyB0aGF0IG1heQorICAgICAqaGF2ZSBiZWVuIGFsbG9jYXRlZCBieSB0aGUgcGFyc2VyLgorICAgICAqLworICAgIHhtbENsZWFudXBQYXJzZXIoKTsKKworICAgIHJldHVybiAwOworfQorI2Vsc2UKK2ludCBtYWluKHZvaWQpIHsKKyAgICBmcHJpbnRmKHN0ZGVyciwgIlRyZWUgc3VwcG9ydCBub3QgY29tcGlsZWQgaW5cbiIpOworICAgIGV4aXQoMSk7Cit9CisjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2V4YW1wbGVzL3RyZWUxLnJlcyBiL2xpYnhtbDIvZG9jL2V4YW1wbGVzL3RyZWUxLnJlcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YjE0YWQwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvZXhhbXBsZXMvdHJlZTEucmVzCkBAIC0wLDAgKzEsNCBAQAorbm9kZSB0eXBlOiBFbGVtZW50LCBuYW1lOiBkb2MKK25vZGUgdHlwZTogRWxlbWVudCwgbmFtZTogc3JjCitub2RlIHR5cGU6IEVsZW1lbnQsIG5hbWU6IGRlc3QKK25vZGUgdHlwZTogRWxlbWVudCwgbmFtZTogc3JjCmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9leGFtcGxlcy90cmVlMi5jIGIvbGlieG1sMi9kb2MvZXhhbXBsZXMvdHJlZTIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xY2QxYWJlCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvZXhhbXBsZXMvdHJlZTIuYwpAQCAtMCwwICsxLDExOCBAQAorLyogCisgKiBzZWN0aW9uOiAgVHJlZQorICogc3lub3BzaXM6IENyZWF0ZXMgYSB0cmVlCisgKiBwdXJwb3NlOiAgU2hvd3MgaG93IHRvIGNyZWF0ZSBkb2N1bWVudCwgbm9kZXMgYW5kIGR1bXAgaXQgdG8gc3Rkb3V0IG9yIGZpbGUuCisgKiB1c2FnZTogICAgdHJlZTIgPGZpbGVuYW1lPiAgLURlZmF1bHQgb3V0cHV0OiBzdGRvdXQKKyAqIHRlc3Q6ICAgICB0cmVlMiA+IHRyZWUyLnRtcCAmJiBkaWZmIHRyZWUyLnRtcCAkKHNyY2RpcikvdHJlZTIucmVzCisgKiBhdXRob3I6ICAgTHVjYXMgQnJhc2lsaW5vIDxicmFzaWxpbm9AcmVjaWZlLnBlLmdvdi5icj4KKyAqIGNvcHk6ICAgICBzZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUKKyAqLworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxsaWJ4bWwvcGFyc2VyLmg+CisjaW5jbHVkZSA8bGlieG1sL3RyZWUuaD4KKworI2lmIGRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpCisKKy8qCisgKlRvIGNvbXBpbGUgdGhpcyBmaWxlIHVzaW5nIGdjYyB5b3UgY2FuIHR5cGUKKyAqZ2NjIGB4bWwyLWNvbmZpZyAtLWNmbGFncyAtLWxpYnNgIC1vIHRyZWUyIHRyZWUyLmMKKyAqLworCisvKiBBIHNpbXBsZSBleGFtcGxlIGhvdyB0byBjcmVhdGUgRE9NLiBMaWJ4bWwyIGF1dG9tYWdpY2FsbHkgCisgKiBhbGxvY2F0ZXMgdGhlIG5lY2Vzc2FyeSBhbW91bnQgb2YgbWVtb3J5IHRvIGl0LgorKi8KK2ludAorbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisgICAgeG1sRG9jUHRyIGRvYyA9IE5VTEw7ICAgICAgIC8qIGRvY3VtZW50IHBvaW50ZXIgKi8KKyAgICB4bWxOb2RlUHRyIHJvb3Rfbm9kZSA9IE5VTEwsIG5vZGUgPSBOVUxMLCBub2RlMSA9IE5VTEw7Lyogbm9kZSBwb2ludGVycyAqLworICAgIHhtbER0ZFB0ciBkdGQgPSBOVUxMOyAgICAgICAvKiBEVEQgcG9pbnRlciAqLworICAgIGNoYXIgYnVmZlsyNTZdOworICAgIGludCBpLCBqOworCisgICAgTElCWE1MX1RFU1RfVkVSU0lPTjsKKworICAgIC8qIAorICAgICAqIENyZWF0ZXMgYSBuZXcgZG9jdW1lbnQsIGEgbm9kZSBhbmQgc2V0IGl0IGFzIGEgcm9vdCBub2RlCisgICAgICovCisgICAgZG9jID0geG1sTmV3RG9jKEJBRF9DQVNUICIxLjAiKTsKKyAgICByb290X25vZGUgPSB4bWxOZXdOb2RlKE5VTEwsIEJBRF9DQVNUICJyb290Iik7CisgICAgeG1sRG9jU2V0Um9vdEVsZW1lbnQoZG9jLCByb290X25vZGUpOworCisgICAgLyoKKyAgICAgKiBDcmVhdGVzIGEgRFREIGRlY2xhcmF0aW9uLiBJc24ndCBtYW5kYXRvcnkuIAorICAgICAqLworICAgIGR0ZCA9IHhtbENyZWF0ZUludFN1YnNldChkb2MsIEJBRF9DQVNUICJyb290IiwgTlVMTCwgQkFEX0NBU1QgInRyZWUyLmR0ZCIpOworCisgICAgLyogCisgICAgICogeG1sTmV3Q2hpbGQoKSBjcmVhdGVzIGEgbmV3IG5vZGUsIHdoaWNoIGlzICJhdHRhY2hlZCIgYXMgY2hpbGQgbm9kZQorICAgICAqIG9mIHJvb3Rfbm9kZSBub2RlLiAKKyAgICAgKi8KKyAgICB4bWxOZXdDaGlsZChyb290X25vZGUsIE5VTEwsIEJBRF9DQVNUICJub2RlMSIsCisgICAgICAgICAgICAgICAgQkFEX0NBU1QgImNvbnRlbnQgb2Ygbm9kZSAxIik7CisgICAgLyogCisgICAgICogVGhlIHNhbWUgYXMgYWJvdmUsIGJ1dCB0aGUgbmV3IGNoaWxkIG5vZGUgZG9lc24ndCBoYXZlIGEgY29udGVudCAKKyAgICAgKi8KKyAgICB4bWxOZXdDaGlsZChyb290X25vZGUsIE5VTEwsIEJBRF9DQVNUICJub2RlMiIsIE5VTEwpOworCisgICAgLyogCisgICAgICogeG1sTmV3UHJvcCgpIGNyZWF0ZXMgYXR0cmlidXRlcywgd2hpY2ggaXMgImF0dGFjaGVkIiB0byBhbiBub2RlLgorICAgICAqIEl0IHJldHVybnMgeG1sQXR0clB0ciwgd2hpY2ggaXNuJ3QgdXNlZCBoZXJlLgorICAgICAqLworICAgIG5vZGUgPQorICAgICAgICB4bWxOZXdDaGlsZChyb290X25vZGUsIE5VTEwsIEJBRF9DQVNUICJub2RlMyIsCisgICAgICAgICAgICAgICAgICAgIEJBRF9DQVNUICJ0aGlzIG5vZGUgaGFzIGF0dHJpYnV0ZXMiKTsKKyAgICB4bWxOZXdQcm9wKG5vZGUsIEJBRF9DQVNUICJhdHRyaWJ1dGUiLCBCQURfQ0FTVCAieWVzIik7CisgICAgeG1sTmV3UHJvcChub2RlLCBCQURfQ0FTVCAiZm9vIiwgQkFEX0NBU1QgImJhciIpOworCisgICAgLyoKKyAgICAgKiBIZXJlIGdvZXMgYW5vdGhlciB3YXkgdG8gY3JlYXRlIG5vZGVzLiB4bWxOZXdOb2RlKCkgYW5kIHhtbE5ld1RleHQKKyAgICAgKiBjcmVhdGVzIGEgbm9kZSBhbmQgYSB0ZXh0IG5vZGUgc2VwYXJhdGVseS4gVGhleSBhcmUgImF0dGFjaGVkIgorICAgICAqIGJ5IHhtbEFkZENoaWxkKCkgCisgICAgICovCisgICAgbm9kZSA9IHhtbE5ld05vZGUoTlVMTCwgQkFEX0NBU1QgIm5vZGU0Iik7CisgICAgbm9kZTEgPSB4bWxOZXdUZXh0KEJBRF9DQVNUCisgICAgICAgICAgICAgICAgICAgIm90aGVyIHdheSB0byBjcmVhdGUgY29udGVudCAod2hpY2ggaXMgYWxzbyBhIG5vZGUpIik7CisgICAgeG1sQWRkQ2hpbGQobm9kZSwgbm9kZTEpOworICAgIHhtbEFkZENoaWxkKHJvb3Rfbm9kZSwgbm9kZSk7CisKKyAgICAvKiAKKyAgICAgKiBBIHNpbXBsZSBsb29wIHRoYXQgImF1dG9tYXRlcyIgbm9kZXMgY3JlYXRpb24gCisgICAgICovCisgICAgZm9yIChpID0gNTsgaSA8IDc7IGkrKykgeworICAgICAgICBzcHJpbnRmKGJ1ZmYsICJub2RlJWQiLCBpKTsKKyAgICAgICAgbm9kZSA9IHhtbE5ld0NoaWxkKHJvb3Rfbm9kZSwgTlVMTCwgQkFEX0NBU1QgYnVmZiwgTlVMTCk7CisgICAgICAgIGZvciAoaiA9IDE7IGogPCA0OyBqKyspIHsKKyAgICAgICAgICAgIHNwcmludGYoYnVmZiwgIm5vZGUlZCVkIiwgaSwgaik7CisgICAgICAgICAgICBub2RlMSA9IHhtbE5ld0NoaWxkKG5vZGUsIE5VTEwsIEJBRF9DQVNUIGJ1ZmYsIE5VTEwpOworICAgICAgICAgICAgeG1sTmV3UHJvcChub2RlMSwgQkFEX0NBU1QgIm9kZCIsIEJBRF9DQVNUKChqICUgMikgPyAibm8iIDogInllcyIpKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIC8qIAorICAgICAqIER1bXBpbmcgZG9jdW1lbnQgdG8gc3RkaW8gb3IgZmlsZQorICAgICAqLworICAgIHhtbFNhdmVGb3JtYXRGaWxlRW5jKGFyZ2MgPiAxID8gYXJndlsxXSA6ICItIiwgZG9jLCAiVVRGLTgiLCAxKTsKKworICAgIC8qZnJlZSB0aGUgZG9jdW1lbnQgKi8KKyAgICB4bWxGcmVlRG9jKGRvYyk7CisKKyAgICAvKgorICAgICAqRnJlZSB0aGUgZ2xvYmFsIHZhcmlhYmxlcyB0aGF0IG1heQorICAgICAqaGF2ZSBiZWVuIGFsbG9jYXRlZCBieSB0aGUgcGFyc2VyLgorICAgICAqLworICAgIHhtbENsZWFudXBQYXJzZXIoKTsKKworICAgIC8qCisgICAgICogdGhpcyBpcyB0byBkZWJ1ZyBtZW1vcnkgZm9yIHJlZ3Jlc3Npb24gdGVzdHMKKyAgICAgKi8KKyAgICB4bWxNZW1vcnlEdW1wKCk7CisgICAgcmV0dXJuKDApOworfQorI2Vsc2UKK2ludCBtYWluKHZvaWQpIHsKKyAgICBmcHJpbnRmKHN0ZGVyciwgInRyZWUgc3VwcG9ydCBub3QgY29tcGlsZWQgaW5cbiIpOworICAgIGV4aXQoMSk7Cit9CisjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2V4YW1wbGVzL3RyZWUyLnJlcyBiL2xpYnhtbDIvZG9jL2V4YW1wbGVzL3RyZWUyLnJlcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZDAwMTk1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvZXhhbXBsZXMvdHJlZTIucmVzCkBAIC0wLDAgKzEsMTggQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IURPQ1RZUEUgcm9vdCBTWVNURU0gInRyZWUyLmR0ZCI+Cis8cm9vdD4KKyAgPG5vZGUxPmNvbnRlbnQgb2Ygbm9kZSAxPC9ub2RlMT4KKyAgPG5vZGUyLz4KKyAgPG5vZGUzIGF0dHJpYnV0ZT0ieWVzIiBmb289ImJhciI+dGhpcyBub2RlIGhhcyBhdHRyaWJ1dGVzPC9ub2RlMz4KKyAgPG5vZGU0Pm90aGVyIHdheSB0byBjcmVhdGUgY29udGVudCAod2hpY2ggaXMgYWxzbyBhIG5vZGUpPC9ub2RlND4KKyAgPG5vZGU1PgorICAgIDxub2RlNTEgb2RkPSJubyIvPgorICAgIDxub2RlNTIgb2RkPSJ5ZXMiLz4KKyAgICA8bm9kZTUzIG9kZD0ibm8iLz4KKyAgPC9ub2RlNT4KKyAgPG5vZGU2PgorICAgIDxub2RlNjEgb2RkPSJubyIvPgorICAgIDxub2RlNjIgb2RkPSJ5ZXMiLz4KKyAgICA8bm9kZTYzIG9kZD0ibm8iLz4KKyAgPC9ub2RlNj4KKzwvcm9vdD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2V4YW1wbGVzL3RzdC54bWwgYi9saWJ4bWwyL2RvYy9leGFtcGxlcy90c3QueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFjYzZjOTUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9leGFtcGxlcy90c3QueG1sCkBAIC0wLDAgKzEsNyBAQAorPHRoaW5nPgorICAgIDx0aGluZzE+aGVsbG88L3RoaW5nMT4KKzwvdGhpbmc+Cis8dGhpbmc+CisgICAgPHRoaW5nMj5nb29kYnllPC90aGluZzI+Cis8L3RoaW5nPgorCmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9leGFtcGxlcy93cml0ZXIueG1sIGIvbGlieG1sMi9kb2MvZXhhbXBsZXMvd3JpdGVyLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YWIwNWZkCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvZXhhbXBsZXMvd3JpdGVyLnhtbApAQCAtMCwwICsxLDIgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IklTTy04ODU5LTEiPz4KKzxFWEFNUExFPjwhLS1UaGlzIGlzIGEgY29tbWVudCB3aXRoIHNwZWNpYWwgY2hhcnM6IDzk9vw+LS0+PE9SREVSIHZlcnNpb249IjEuMCIgeG1sOmxhbmc9ImRlIj48IS0tVGhpcyBpcyBhbm90aGVyIGNvbW1lbnQgd2l0aCBzcGVjaWFsIGNoYXJzOiA85Pb8Pi0tPjxIRUFERVI+PFhfT1JERVJfSUQ+MDAwMDA1MzUzNTwvWF9PUkRFUl9JRD48Q1VTVE9NRVJfSUQ+MTAxMDwvQ1VTVE9NRVJfSUQ+PE5BTUVfMT5N/GxsZXI8L05BTUVfMT48TkFNRV8yPkr2cmc8L05BTUVfMj48L0hFQURFUj48RU5UUklFUz48RU5UUlk+PEFSVElDTEU+Jmx0O1Rlc3QmZ3Q7PC9BUlRJQ0xFPjxFTlRSWV9OTz4xMDwvRU5UUllfTk8+PC9FTlRSWT48RU5UUlk+PEFSVElDTEU+Jmx0O1Rlc3QgMiZndDs8L0FSVElDTEU+PEVOVFJZX05PPjIwPC9FTlRSWV9OTz48L0VOVFJZPjwvRU5UUklFUz48Rk9PVEVSPjxURVhUPlRoaXMgaXMgYSB0ZXh0LjwvVEVYVD48L0ZPT1RFUj48L09SREVSPjwvRVhBTVBMRT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2V4YW1wbGVzL3hwYXRoMS5jIGIvbGlieG1sMi9kb2MvZXhhbXBsZXMveHBhdGgxLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGEzMTY1MAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL2V4YW1wbGVzL3hwYXRoMS5jCkBAIC0wLDAgKzEsMjUwIEBACisvKiogCisgKiBzZWN0aW9uOiAJWFBhdGgKKyAqIHN5bm9wc2lzOiAJRXZhbHVhdGUgWFBhdGggZXhwcmVzc2lvbiBhbmQgcHJpbnRzIHJlc3VsdCBub2RlIHNldC4KKyAqIHB1cnBvc2U6IAlTaG93cyBob3cgdG8gZXZhbHVhdGUgWFBhdGggZXhwcmVzc2lvbiBhbmQgcmVnaXN0ZXIgCisgKiAgICAgICAgICAJa25vd24gbmFtZXNwYWNlcyBpbiBYUGF0aCBjb250ZXh0LgorICogdXNhZ2U6CXhwYXRoMSA8eG1sLWZpbGU+IDx4cGF0aC1leHByPiBbPGtub3duLW5zLWxpc3Q+XQorICogdGVzdDoJeHBhdGgxIHRlc3QzLnhtbCAnLy9jaGlsZDInID4geHBhdGgxLnRtcCAmJiBkaWZmIHhwYXRoMS50bXAgJChzcmNkaXIpL3hwYXRoMS5yZXMKKyAqIGF1dGhvcjogCUFsZWtzZXkgU2FuaW4KKyAqIGNvcHk6IAlzZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisgKi8KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGFzc2VydC5oPgorCisjaW5jbHVkZSA8bGlieG1sL3RyZWUuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvcGFyc2VyLmg+CisjaW5jbHVkZSA8bGlieG1sL3hwYXRoLmg+CisjaW5jbHVkZSA8bGlieG1sL3hwYXRoSW50ZXJuYWxzLmg+CisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKSAmJiBkZWZpbmVkKExJQlhNTF9TQVgxX0VOQUJMRUQpCisKKworc3RhdGljIHZvaWQgdXNhZ2UoY29uc3QgY2hhciAqbmFtZSk7CitpbnQgIGV4ZWN1dGVfeHBhdGhfZXhwcmVzc2lvbihjb25zdCBjaGFyKiBmaWxlbmFtZSwgY29uc3QgeG1sQ2hhciogeHBhdGhFeHByLCBjb25zdCB4bWxDaGFyKiBuc0xpc3QpOworaW50ICByZWdpc3Rlcl9uYW1lc3BhY2VzKHhtbFhQYXRoQ29udGV4dFB0ciB4cGF0aEN0eCwgY29uc3QgeG1sQ2hhciogbnNMaXN0KTsKK3ZvaWQgcHJpbnRfeHBhdGhfbm9kZXMoeG1sTm9kZVNldFB0ciBub2RlcywgRklMRSogb3V0cHV0KTsKKworaW50IAorbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKKyAgICAvKiBQYXJzZSBjb21tYW5kIGxpbmUgYW5kIHByb2Nlc3MgZmlsZSAqLworICAgIGlmKChhcmdjIDwgMykgfHwgKGFyZ2MgPiA0KSkgeworCWZwcmludGYoc3RkZXJyLCAiRXJyb3I6IHdyb25nIG51bWJlciBvZiBhcmd1bWVudHMuXG4iKTsKKwl1c2FnZShhcmd2WzBdKTsKKwlyZXR1cm4oLTEpOworICAgIH0gCisgICAgCisgICAgLyogSW5pdCBsaWJ4bWwgKi8gICAgIAorICAgIHhtbEluaXRQYXJzZXIoKTsKKyAgICBMSUJYTUxfVEVTVF9WRVJTSU9OCisKKyAgICAvKiBEbyB0aGUgbWFpbiBqb2IgKi8KKyAgICBpZihleGVjdXRlX3hwYXRoX2V4cHJlc3Npb24oYXJndlsxXSwgQkFEX0NBU1QgYXJndlsyXSwgKGFyZ2MgPiAzKSA/IEJBRF9DQVNUIGFyZ3ZbM10gOiBOVUxMKSA8IDApIHsKKwl1c2FnZShhcmd2WzBdKTsKKwlyZXR1cm4oLTEpOworICAgIH0KKworICAgIC8qIFNodXRkb3duIGxpYnhtbCAqLworICAgIHhtbENsZWFudXBQYXJzZXIoKTsKKyAgICAKKyAgICAvKgorICAgICAqIHRoaXMgaXMgdG8gZGVidWcgbWVtb3J5IGZvciByZWdyZXNzaW9uIHRlc3RzCisgICAgICovCisgICAgeG1sTWVtb3J5RHVtcCgpOworICAgIHJldHVybiAwOworfQorCisvKioKKyAqIHVzYWdlOgorICogQG5hbWU6CQl0aGUgcHJvZ3JhbSBuYW1lLgorICoKKyAqIFByaW50cyB1c2FnZSBpbmZvcm1hdGlvbi4KKyAqLworc3RhdGljIHZvaWQgCit1c2FnZShjb25zdCBjaGFyICpuYW1lKSB7CisgICAgYXNzZXJ0KG5hbWUpOworICAgIAorICAgIGZwcmludGYoc3RkZXJyLCAiVXNhZ2U6ICVzIDx4bWwtZmlsZT4gPHhwYXRoLWV4cHI+IFs8a25vd24tbnMtbGlzdD5dXG4iLCBuYW1lKTsKKyAgICBmcHJpbnRmKHN0ZGVyciwgIndoZXJlIDxrbm93bi1ucy1saXN0PiBpcyBhIGxpc3Qgb2Yga25vd24gbmFtZXNwYWNlc1xuIik7CisgICAgZnByaW50ZihzdGRlcnIsICJpbiBcIjxwcmVmaXgxPj08aHJlZjE+IDxwcmVmaXgyPj1ocmVmMj4gLi4uXCIgZm9ybWF0XG4iKTsKK30KKworLyoqCisgKiBleGVjdXRlX3hwYXRoX2V4cHJlc3Npb246CisgKiBAZmlsZW5hbWU6CQl0aGUgaW5wdXQgWE1MIGZpbGVuYW1lLgorICogQHhwYXRoRXhwcjoJCXRoZSB4cGF0aCBleHByZXNzaW9uIGZvciBldmFsdWF0aW9uLgorICogQG5zTGlzdDoJCXRoZSBvcHRpb25hbCBsaXN0IG9mIGtub3duIG5hbWVzcGFjZXMgaW4gCisgKgkJCSI8cHJlZml4MT49PGhyZWYxPiA8cHJlZml4Mj49aHJlZjI+IC4uLiIgZm9ybWF0LgorICoKKyAqIFBhcnNlcyBpbnB1dCBYTUwgZmlsZSwgZXZhbHVhdGVzIFhQYXRoIGV4cHJlc3Npb24gYW5kIHByaW50cyByZXN1bHRzLgorICoKKyAqIFJldHVybnMgMCBvbiBzdWNjZXNzIGFuZCBhIG5lZ2F0aXZlIHZhbHVlIG90aGVyd2lzZS4KKyAqLworaW50IAorZXhlY3V0ZV94cGF0aF9leHByZXNzaW9uKGNvbnN0IGNoYXIqIGZpbGVuYW1lLCBjb25zdCB4bWxDaGFyKiB4cGF0aEV4cHIsIGNvbnN0IHhtbENoYXIqIG5zTGlzdCkgeworICAgIHhtbERvY1B0ciBkb2M7CisgICAgeG1sWFBhdGhDb250ZXh0UHRyIHhwYXRoQ3R4OyAKKyAgICB4bWxYUGF0aE9iamVjdFB0ciB4cGF0aE9iajsgCisgICAgCisgICAgYXNzZXJ0KGZpbGVuYW1lKTsKKyAgICBhc3NlcnQoeHBhdGhFeHByKTsKKworICAgIC8qIExvYWQgWE1MIGRvY3VtZW50ICovCisgICAgZG9jID0geG1sUGFyc2VGaWxlKGZpbGVuYW1lKTsKKyAgICBpZiAoZG9jID09IE5VTEwpIHsKKwlmcHJpbnRmKHN0ZGVyciwgIkVycm9yOiB1bmFibGUgdG8gcGFyc2UgZmlsZSBcIiVzXCJcbiIsIGZpbGVuYW1lKTsKKwlyZXR1cm4oLTEpOworICAgIH0KKworICAgIC8qIENyZWF0ZSB4cGF0aCBldmFsdWF0aW9uIGNvbnRleHQgKi8KKyAgICB4cGF0aEN0eCA9IHhtbFhQYXRoTmV3Q29udGV4dChkb2MpOworICAgIGlmKHhwYXRoQ3R4ID09IE5VTEwpIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsIkVycm9yOiB1bmFibGUgdG8gY3JlYXRlIG5ldyBYUGF0aCBjb250ZXh0XG4iKTsKKyAgICAgICAgeG1sRnJlZURvYyhkb2MpOyAKKyAgICAgICAgcmV0dXJuKC0xKTsKKyAgICB9CisgICAgCisgICAgLyogUmVnaXN0ZXIgbmFtZXNwYWNlcyBmcm9tIGxpc3QgKGlmIGFueSkgKi8KKyAgICBpZigobnNMaXN0ICE9IE5VTEwpICYmIChyZWdpc3Rlcl9uYW1lc3BhY2VzKHhwYXRoQ3R4LCBuc0xpc3QpIDwgMCkpIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsIkVycm9yOiBmYWlsZWQgdG8gcmVnaXN0ZXIgbmFtZXNwYWNlcyBsaXN0IFwiJXNcIlxuIiwgbnNMaXN0KTsKKyAgICAgICAgeG1sWFBhdGhGcmVlQ29udGV4dCh4cGF0aEN0eCk7IAorICAgICAgICB4bWxGcmVlRG9jKGRvYyk7IAorICAgICAgICByZXR1cm4oLTEpOworICAgIH0KKworICAgIC8qIEV2YWx1YXRlIHhwYXRoIGV4cHJlc3Npb24gKi8KKyAgICB4cGF0aE9iaiA9IHhtbFhQYXRoRXZhbEV4cHJlc3Npb24oeHBhdGhFeHByLCB4cGF0aEN0eCk7CisgICAgaWYoeHBhdGhPYmogPT0gTlVMTCkgeworICAgICAgICBmcHJpbnRmKHN0ZGVyciwiRXJyb3I6IHVuYWJsZSB0byBldmFsdWF0ZSB4cGF0aCBleHByZXNzaW9uIFwiJXNcIlxuIiwgeHBhdGhFeHByKTsKKyAgICAgICAgeG1sWFBhdGhGcmVlQ29udGV4dCh4cGF0aEN0eCk7IAorICAgICAgICB4bWxGcmVlRG9jKGRvYyk7IAorICAgICAgICByZXR1cm4oLTEpOworICAgIH0KKworICAgIC8qIFByaW50IHJlc3VsdHMgKi8KKyAgICBwcmludF94cGF0aF9ub2Rlcyh4cGF0aE9iai0+bm9kZXNldHZhbCwgc3Rkb3V0KTsKKworICAgIC8qIENsZWFudXAgKi8KKyAgICB4bWxYUGF0aEZyZWVPYmplY3QoeHBhdGhPYmopOworICAgIHhtbFhQYXRoRnJlZUNvbnRleHQoeHBhdGhDdHgpOyAKKyAgICB4bWxGcmVlRG9jKGRvYyk7IAorICAgIAorICAgIHJldHVybigwKTsKK30KKworLyoqCisgKiByZWdpc3Rlcl9uYW1lc3BhY2VzOgorICogQHhwYXRoQ3R4OgkJdGhlIHBvaW50ZXIgdG8gYW4gWFBhdGggY29udGV4dC4KKyAqIEBuc0xpc3Q6CQl0aGUgbGlzdCBvZiBrbm93biBuYW1lc3BhY2VzIGluIAorICoJCQkiPHByZWZpeDE+PTxocmVmMT4gPHByZWZpeDI+PWhyZWYyPiAuLi4iIGZvcm1hdC4KKyAqCisgKiBSZWdpc3RlcnMgbmFtZXNwYWNlcyBmcm9tIEBuc0xpc3QgaW4gQHhwYXRoQ3R4LgorICoKKyAqIFJldHVybnMgMCBvbiBzdWNjZXNzIGFuZCBhIG5lZ2F0aXZlIHZhbHVlIG90aGVyd2lzZS4KKyAqLworaW50IAorcmVnaXN0ZXJfbmFtZXNwYWNlcyh4bWxYUGF0aENvbnRleHRQdHIgeHBhdGhDdHgsIGNvbnN0IHhtbENoYXIqIG5zTGlzdCkgeworICAgIHhtbENoYXIqIG5zTGlzdER1cDsKKyAgICB4bWxDaGFyKiBwcmVmaXg7CisgICAgeG1sQ2hhciogaHJlZjsKKyAgICB4bWxDaGFyKiBuZXh0OworICAgIAorICAgIGFzc2VydCh4cGF0aEN0eCk7CisgICAgYXNzZXJ0KG5zTGlzdCk7CisKKyAgICBuc0xpc3REdXAgPSB4bWxTdHJkdXAobnNMaXN0KTsKKyAgICBpZihuc0xpc3REdXAgPT0gTlVMTCkgeworCWZwcmludGYoc3RkZXJyLCAiRXJyb3I6IHVuYWJsZSB0byBzdHJkdXAgbmFtZXNwYWNlcyBsaXN0XG4iKTsKKwlyZXR1cm4oLTEpOwkKKyAgICB9CisgICAgCisgICAgbmV4dCA9IG5zTGlzdER1cDsgCisgICAgd2hpbGUobmV4dCAhPSBOVUxMKSB7CisJLyogc2tpcCBzcGFjZXMgKi8KKwl3aGlsZSgoKm5leHQpID09ICcgJykgbmV4dCsrOworCWlmKCgqbmV4dCkgPT0gJ1wwJykgYnJlYWs7CisKKwkvKiBmaW5kIHByZWZpeCAqLworCXByZWZpeCA9IG5leHQ7CisJbmV4dCA9ICh4bWxDaGFyKil4bWxTdHJjaHIobmV4dCwgJz0nKTsKKwlpZihuZXh0ID09IE5VTEwpIHsKKwkgICAgZnByaW50ZihzdGRlcnIsIkVycm9yOiBpbnZhbGlkIG5hbWVzcGFjZXMgbGlzdCBmb3JtYXRcbiIpOworCSAgICB4bWxGcmVlKG5zTGlzdER1cCk7CisJICAgIHJldHVybigtMSk7CQorCX0KKwkqKG5leHQrKykgPSAnXDAnOwkKKwkKKwkvKiBmaW5kIGhyZWYgKi8KKwlocmVmID0gbmV4dDsKKwluZXh0ID0gKHhtbENoYXIqKXhtbFN0cmNocihuZXh0LCAnICcpOworCWlmKG5leHQgIT0gTlVMTCkgeworCSAgICAqKG5leHQrKykgPSAnXDAnOwkKKwl9CisKKwkvKiBkbyByZWdpc3RlciBuYW1lc3BhY2UgKi8KKwlpZih4bWxYUGF0aFJlZ2lzdGVyTnMoeHBhdGhDdHgsIHByZWZpeCwgaHJlZikgIT0gMCkgeworCSAgICBmcHJpbnRmKHN0ZGVyciwiRXJyb3I6IHVuYWJsZSB0byByZWdpc3RlciBOUyB3aXRoIHByZWZpeD1cIiVzXCIgYW5kIGhyZWY9XCIlc1wiXG4iLCBwcmVmaXgsIGhyZWYpOworCSAgICB4bWxGcmVlKG5zTGlzdER1cCk7CisJICAgIHJldHVybigtMSk7CQorCX0KKyAgICB9CisgICAgCisgICAgeG1sRnJlZShuc0xpc3REdXApOworICAgIHJldHVybigwKTsKK30KKworLyoqCisgKiBwcmludF94cGF0aF9ub2RlczoKKyAqIEBub2RlczoJCXRoZSBub2RlcyBzZXQuCisgKiBAb3V0cHV0OgkJdGhlIG91dHB1dCBmaWxlIGhhbmRsZS4KKyAqCisgKiBQcmludHMgdGhlIEBub2RlcyBjb250ZW50IHRvIEBvdXRwdXQuCisgKi8KK3ZvaWQKK3ByaW50X3hwYXRoX25vZGVzKHhtbE5vZGVTZXRQdHIgbm9kZXMsIEZJTEUqIG91dHB1dCkgeworICAgIHhtbE5vZGVQdHIgY3VyOworICAgIGludCBzaXplOworICAgIGludCBpOworICAgIAorICAgIGFzc2VydChvdXRwdXQpOworICAgIHNpemUgPSAobm9kZXMpID8gbm9kZXMtPm5vZGVOciA6IDA7CisgICAgCisgICAgZnByaW50ZihvdXRwdXQsICJSZXN1bHQgKCVkIG5vZGVzKTpcbiIsIHNpemUpOworICAgIGZvcihpID0gMDsgaSA8IHNpemU7ICsraSkgeworCWFzc2VydChub2Rlcy0+bm9kZVRhYltpXSk7CisJCisJaWYobm9kZXMtPm5vZGVUYWJbaV0tPnR5cGUgPT0gWE1MX05BTUVTUEFDRV9ERUNMKSB7CisJICAgIHhtbE5zUHRyIG5zOworCSAgICAKKwkgICAgbnMgPSAoeG1sTnNQdHIpbm9kZXMtPm5vZGVUYWJbaV07CisJICAgIGN1ciA9ICh4bWxOb2RlUHRyKW5zLT5uZXh0OworCSAgICBpZihjdXItPm5zKSB7IAorCSAgICAgICAgZnByaW50ZihvdXRwdXQsICI9IG5hbWVzcGFjZSBcIiVzXCI9XCIlc1wiIGZvciBub2RlICVzOiVzXG4iLCAKKwkJICAgIG5zLT5wcmVmaXgsIG5zLT5ocmVmLCBjdXItPm5zLT5ocmVmLCBjdXItPm5hbWUpOworCSAgICB9IGVsc2UgeworCSAgICAgICAgZnByaW50ZihvdXRwdXQsICI9IG5hbWVzcGFjZSBcIiVzXCI9XCIlc1wiIGZvciBub2RlICVzXG4iLCAKKwkJICAgIG5zLT5wcmVmaXgsIG5zLT5ocmVmLCBjdXItPm5hbWUpOworCSAgICB9CisJfSBlbHNlIGlmKG5vZGVzLT5ub2RlVGFiW2ldLT50eXBlID09IFhNTF9FTEVNRU5UX05PREUpIHsKKwkgICAgY3VyID0gbm9kZXMtPm5vZGVUYWJbaV07ICAgCSAgICAKKwkgICAgaWYoY3VyLT5ucykgeyAKKyAgICAJICAgICAgICBmcHJpbnRmKG91dHB1dCwgIj0gZWxlbWVudCBub2RlIFwiJXM6JXNcIlxuIiwgCisJCSAgICBjdXItPm5zLT5ocmVmLCBjdXItPm5hbWUpOworCSAgICB9IGVsc2UgeworICAgIAkgICAgICAgIGZwcmludGYob3V0cHV0LCAiPSBlbGVtZW50IG5vZGUgXCIlc1wiXG4iLCAKKwkJICAgIGN1ci0+bmFtZSk7CisJICAgIH0KKwl9IGVsc2UgeworCSAgICBjdXIgPSBub2Rlcy0+bm9kZVRhYltpXTsgICAgCisJICAgIGZwcmludGYob3V0cHV0LCAiPSBub2RlIFwiJXNcIjogdHlwZSAlZFxuIiwgY3VyLT5uYW1lLCBjdXItPnR5cGUpOworCX0KKyAgICB9Cit9CisKKyNlbHNlCitpbnQgbWFpbih2b2lkKSB7CisgICAgZnByaW50ZihzdGRlcnIsICJYUGF0aCBzdXBwb3J0IG5vdCBjb21waWxlZCBpblxuIik7CisgICAgZXhpdCgxKTsKK30KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvZXhhbXBsZXMveHBhdGgxLnJlcyBiL2xpYnhtbDIvZG9jL2V4YW1wbGVzL3hwYXRoMS5yZXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzZhZjNhOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL2V4YW1wbGVzL3hwYXRoMS5yZXMKQEAgLTAsMCArMSw1IEBACitSZXN1bHQgKDQgbm9kZXMpOgorPSBlbGVtZW50IG5vZGUgImNoaWxkMiIKKz0gZWxlbWVudCBub2RlICJjaGlsZDIiCis9IGVsZW1lbnQgbm9kZSAiY2hpbGQyIgorPSBlbGVtZW50IG5vZGUgImNoaWxkMiIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2V4YW1wbGVzL3hwYXRoMi5jIGIvbGlieG1sMi9kb2MvZXhhbXBsZXMveHBhdGgyLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjYwNDExNAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL2V4YW1wbGVzL3hwYXRoMi5jCkBAIC0wLDAgKzEsMTkwIEBACisvKiogCisgKiBzZWN0aW9uOiAJWFBhdGgKKyAqIHN5bm9wc2lzOiAJTG9hZCBhIGRvY3VtZW50LCBsb2NhdGUgc3ViZWxlbWVudHMgd2l0aCBYUGF0aCwgbW9kaWZ5CisgKiAgICAgICAgICAgICAgc2FpZCBlbGVtZW50cyBhbmQgc2F2ZSB0aGUgcmVzdWx0aW5nIGRvY3VtZW50LgorICogcHVycG9zZTogCVNob3dzIGhvdyB0byBtYWtlIGEgZnVsbCByb3VuZC10cmlwIGZyb20gYSBsb2FkL2VkaXQvc2F2ZQorICogdXNhZ2U6CXhwYXRoMiA8eG1sLWZpbGU+IDx4cGF0aC1leHByPiA8bmV3LXZhbHVlPgorICogdGVzdDoJeHBhdGgyIHRlc3QzLnhtbCAnLy9kaXNjYXJkZWQnIGRpc2NhcmRlZCA+IHhwYXRoMi50bXAgJiYgZGlmZiB4cGF0aDIudG1wICQoc3JjZGlyKS94cGF0aDIucmVzCisgKiBhdXRob3I6IAlBbGVrc2V5IFNhbmluIGFuZCBEYW5pZWwgVmVpbGxhcmQKKyAqIGNvcHk6IAlzZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisgKi8KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGFzc2VydC5oPgorCisjaW5jbHVkZSA8bGlieG1sL3RyZWUuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvcGFyc2VyLmg+CisjaW5jbHVkZSA8bGlieG1sL3hwYXRoLmg+CisjaW5jbHVkZSA8bGlieG1sL3hwYXRoSW50ZXJuYWxzLmg+CisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKSAmJiBkZWZpbmVkKExJQlhNTF9TQVgxX0VOQUJMRUQpICYmIFwKKyAgICBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKKworCitzdGF0aWMgdm9pZCB1c2FnZShjb25zdCBjaGFyICpuYW1lKTsKK3N0YXRpYyBpbnQgZXhhbXBsZTQoY29uc3QgY2hhciAqZmlsZW5hbWUsIGNvbnN0IHhtbENoYXIgKiB4cGF0aEV4cHIsCisgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiB2YWx1ZSk7CitzdGF0aWMgdm9pZCB1cGRhdGVfeHBhdGhfbm9kZXMoeG1sTm9kZVNldFB0ciBub2RlcywgY29uc3QgeG1sQ2hhciAqIHZhbHVlKTsKKworCitpbnQgCittYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgeworICAgIC8qIFBhcnNlIGNvbW1hbmQgbGluZSBhbmQgcHJvY2VzcyBmaWxlICovCisgICAgaWYgKGFyZ2MgIT0gNCkgeworCWZwcmludGYoc3RkZXJyLCAiRXJyb3I6IHdyb25nIG51bWJlciBvZiBhcmd1bWVudHMuXG4iKTsKKwl1c2FnZShhcmd2WzBdKTsKKwlyZXR1cm4oLTEpOworICAgIH0gCisgICAgCisgICAgLyogSW5pdCBsaWJ4bWwgKi8gICAgIAorICAgIHhtbEluaXRQYXJzZXIoKTsKKyAgICBMSUJYTUxfVEVTVF9WRVJTSU9OCisKKyAgICAvKiBEbyB0aGUgbWFpbiBqb2IgKi8KKyAgICBpZiAoZXhhbXBsZTQoYXJndlsxXSwgQkFEX0NBU1QgYXJndlsyXSwgQkFEX0NBU1QgYXJndlszXSkpIHsKKwl1c2FnZShhcmd2WzBdKTsKKwlyZXR1cm4oLTEpOworICAgIH0KKworICAgIC8qIFNodXRkb3duIGxpYnhtbCAqLworICAgIHhtbENsZWFudXBQYXJzZXIoKTsKKyAgICAKKyAgICAvKgorICAgICAqIHRoaXMgaXMgdG8gZGVidWcgbWVtb3J5IGZvciByZWdyZXNzaW9uIHRlc3RzCisgICAgICovCisgICAgeG1sTWVtb3J5RHVtcCgpOworICAgIHJldHVybiAwOworfQorCisvKioKKyAqIHVzYWdlOgorICogQG5hbWU6CQl0aGUgcHJvZ3JhbSBuYW1lLgorICoKKyAqIFByaW50cyB1c2FnZSBpbmZvcm1hdGlvbi4KKyAqLworc3RhdGljIHZvaWQgCit1c2FnZShjb25zdCBjaGFyICpuYW1lKSB7CisgICAgYXNzZXJ0KG5hbWUpOworICAgIAorICAgIGZwcmludGYoc3RkZXJyLCAiVXNhZ2U6ICVzIDx4bWwtZmlsZT4gPHhwYXRoLWV4cHI+IDx2YWx1ZT5cbiIsIG5hbWUpOworfQorCisvKioKKyAqIGV4YW1wbGU0OgorICogQGZpbGVuYW1lOgkJdGhlIGlucHV0IFhNTCBmaWxlbmFtZS4KKyAqIEB4cGF0aEV4cHI6CQl0aGUgeHBhdGggZXhwcmVzc2lvbiBmb3IgZXZhbHVhdGlvbi4KKyAqIEB2YWx1ZToJCXRoZSBuZXcgbm9kZSBjb250ZW50LgorICoKKyAqIFBhcnNlcyBpbnB1dCBYTUwgZmlsZSwgZXZhbHVhdGVzIFhQYXRoIGV4cHJlc3Npb24gYW5kIHVwZGF0ZSB0aGUgbm9kZXMKKyAqIHRoZW4gcHJpbnQgdGhlIHJlc3VsdC4KKyAqCisgKiBSZXR1cm5zIDAgb24gc3VjY2VzcyBhbmQgYSBuZWdhdGl2ZSB2YWx1ZSBvdGhlcndpc2UuCisgKi8KK3N0YXRpYyBpbnQgCitleGFtcGxlNChjb25zdCBjaGFyKiBmaWxlbmFtZSwgY29uc3QgeG1sQ2hhciogeHBhdGhFeHByLCBjb25zdCB4bWxDaGFyKiB2YWx1ZSkgeworICAgIHhtbERvY1B0ciBkb2M7CisgICAgeG1sWFBhdGhDb250ZXh0UHRyIHhwYXRoQ3R4OyAKKyAgICB4bWxYUGF0aE9iamVjdFB0ciB4cGF0aE9iajsgCisgICAgCisgICAgYXNzZXJ0KGZpbGVuYW1lKTsKKyAgICBhc3NlcnQoeHBhdGhFeHByKTsKKyAgICBhc3NlcnQodmFsdWUpOworCisgICAgLyogTG9hZCBYTUwgZG9jdW1lbnQgKi8KKyAgICBkb2MgPSB4bWxQYXJzZUZpbGUoZmlsZW5hbWUpOworICAgIGlmIChkb2MgPT0gTlVMTCkgeworCWZwcmludGYoc3RkZXJyLCAiRXJyb3I6IHVuYWJsZSB0byBwYXJzZSBmaWxlIFwiJXNcIlxuIiwgZmlsZW5hbWUpOworCXJldHVybigtMSk7CisgICAgfQorCisgICAgLyogQ3JlYXRlIHhwYXRoIGV2YWx1YXRpb24gY29udGV4dCAqLworICAgIHhwYXRoQ3R4ID0geG1sWFBhdGhOZXdDb250ZXh0KGRvYyk7CisgICAgaWYoeHBhdGhDdHggPT0gTlVMTCkgeworICAgICAgICBmcHJpbnRmKHN0ZGVyciwiRXJyb3I6IHVuYWJsZSB0byBjcmVhdGUgbmV3IFhQYXRoIGNvbnRleHRcbiIpOworICAgICAgICB4bWxGcmVlRG9jKGRvYyk7IAorICAgICAgICByZXR1cm4oLTEpOworICAgIH0KKyAgICAKKyAgICAvKiBFdmFsdWF0ZSB4cGF0aCBleHByZXNzaW9uICovCisgICAgeHBhdGhPYmogPSB4bWxYUGF0aEV2YWxFeHByZXNzaW9uKHhwYXRoRXhwciwgeHBhdGhDdHgpOworICAgIGlmKHhwYXRoT2JqID09IE5VTEwpIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsIkVycm9yOiB1bmFibGUgdG8gZXZhbHVhdGUgeHBhdGggZXhwcmVzc2lvbiBcIiVzXCJcbiIsIHhwYXRoRXhwcik7CisgICAgICAgIHhtbFhQYXRoRnJlZUNvbnRleHQoeHBhdGhDdHgpOyAKKyAgICAgICAgeG1sRnJlZURvYyhkb2MpOyAKKyAgICAgICAgcmV0dXJuKC0xKTsKKyAgICB9CisKKyAgICAvKiB1cGRhdGUgc2VsZWN0ZWQgbm9kZXMgKi8KKyAgICB1cGRhdGVfeHBhdGhfbm9kZXMoeHBhdGhPYmotPm5vZGVzZXR2YWwsIHZhbHVlKTsKKworICAgIAorICAgIC8qIENsZWFudXAgb2YgWFBhdGggZGF0YSAqLworICAgIHhtbFhQYXRoRnJlZU9iamVjdCh4cGF0aE9iaik7CisgICAgeG1sWFBhdGhGcmVlQ29udGV4dCh4cGF0aEN0eCk7IAorCisgICAgLyogZHVtcCB0aGUgcmVzdWx0aW5nIGRvY3VtZW50ICovCisgICAgeG1sRG9jRHVtcChzdGRvdXQsIGRvYyk7CisKKworICAgIC8qIGZyZWUgdGhlIGRvY3VtZW50ICovCisgICAgeG1sRnJlZURvYyhkb2MpOyAKKyAgICAKKyAgICByZXR1cm4oMCk7Cit9CisKKy8qKgorICogdXBkYXRlX3hwYXRoX25vZGVzOgorICogQG5vZGVzOgkJdGhlIG5vZGVzIHNldC4KKyAqIEB2YWx1ZToJCXRoZSBuZXcgdmFsdWUgZm9yIHRoZSBub2RlKHMpCisgKgorICogUHJpbnRzIHRoZSBAbm9kZXMgY29udGVudCB0byBAb3V0cHV0LgorICovCitzdGF0aWMgdm9pZAordXBkYXRlX3hwYXRoX25vZGVzKHhtbE5vZGVTZXRQdHIgbm9kZXMsIGNvbnN0IHhtbENoYXIqIHZhbHVlKSB7CisgICAgaW50IHNpemU7CisgICAgaW50IGk7CisgICAgCisgICAgYXNzZXJ0KHZhbHVlKTsKKyAgICBzaXplID0gKG5vZGVzKSA/IG5vZGVzLT5ub2RlTnIgOiAwOworICAgIAorICAgIC8qCisgICAgICogTk9URTogdGhlIG5vZGVzIGFyZSBwcm9jZXNzZWQgaW4gcmV2ZXJzZSBvcmRlciwgaS5lLiByZXZlcnNlIGRvY3VtZW50CisgICAgICogICAgICAgb3JkZXIgYmVjYXVzZSB4bWxOb2RlU2V0Q29udGVudCBjYW4gYWN0dWFsbHkgZnJlZSB1cCBkZXNjZW5kYW50CisgICAgICogICAgICAgb2YgdGhlIG5vZGUgYW5kIHN1Y2ggbm9kZXMgbWF5IGhhdmUgYmVlbiBzZWxlY3RlZCB0b28gISBIYW5kbGluZworICAgICAqICAgICAgIGluIHJldmVyc2Ugb3JkZXIgZW5zdXJlIHRoYXQgZGVzY2VuZGFudCBhcmUgYWNjZXNzZWQgZmlyc3QsIGJlZm9yZQorICAgICAqICAgICAgIHRoZXkgZ2V0IHJlbW92ZWQuIE1peGluZyBYUGF0aCBhbmQgbW9kaWZpY2F0aW9ucyBvbiBhIHRyZWUgbXVzdCBiZQorICAgICAqICAgICAgIGRvbmUgY2FyZWZ1bGx5ICEKKyAgICAgKi8KKyAgICBmb3IoaSA9IHNpemUgLSAxOyBpID49IDA7IGktLSkgeworCWFzc2VydChub2Rlcy0+bm9kZVRhYltpXSk7CisJCisJeG1sTm9kZVNldENvbnRlbnQobm9kZXMtPm5vZGVUYWJbaV0sIHZhbHVlKTsKKwkvKgorCSAqIEFsbCB0aGUgZWxlbWVudHMgcmV0dXJuZWQgYnkgYW4gWFBhdGggcXVlcnkgYXJlIHBvaW50ZXJzIHRvCisJICogZWxlbWVudHMgZnJvbSB0aGUgdHJlZSAqZXhjZXB0KiBuYW1lc3BhY2Ugbm9kZXMgd2hlcmUgdGhlIFhQYXRoCisJICogc2VtYW50aWMgaXMgZGlmZmVyZW50IGZyb20gdGhlIGltcGxlbWVudGF0aW9uIGluIGxpYnhtbDIgdHJlZS4KKwkgKiBBcyBhIHJlc3VsdCB3aGVuIGEgcmV0dXJuZWQgbm9kZSBzZXQgaXMgZnJlZWQgd2hlbgorCSAqIHhtbFhQYXRoRnJlZU9iamVjdCgpIGlzIGNhbGxlZCwgdGhhdCByb3V0aW5lIG11c3QgY2hlY2sgdGhlCisJICogZWxlbWVudCB0eXBlLiBCdXQgbm9kZSBmcm9tIHRoZSByZXR1cm5lZCBzZXQgbWF5IGhhdmUgYmVlbiByZW1vdmVkCisJICogYnkgeG1sTm9kZVNldENvbnRlbnQoKSByZXN1bHRpbmcgaW4gYWNjZXNzIHRvIGZyZWVkIGRhdGEuCisJICogVGhpcyBjYW4gYmUgZXhlcmNpc2VkIGJ5IHJ1bm5pbmcKKwkgKiAgICAgICB2YWxncmluZCB4cGF0aDIgdGVzdDMueG1sICcvL2Rpc2NhcmRlZCcgZGlzY2FyZGVkCisJICogVGhlcmUgaXMgMiB3YXlzIGFyb3VuZCBpdDoKKwkgKiAgIC0gbWFrZSBhIGNvcHkgb2YgdGhlIHBvaW50ZXJzIHRvIHRoZSBub2RlcyBmcm9tIHRoZSByZXN1bHQgc2V0IAorCSAqICAgICB0aGVuIGNhbGwgeG1sWFBhdGhGcmVlT2JqZWN0KCkgYW5kIHRoZW4gbW9kaWZ5IHRoZSBub2RlcworCSAqIG9yCisJICogICAtIHJlbW92ZSB0aGUgcmVmZXJlbmNlIHRvIHRoZSBtb2RpZmllZCBub2RlcyBmcm9tIHRoZSBub2RlIHNldAorCSAqICAgICBhcyB0aGV5IGFyZSBwcm9jZXNzZWQsIGlmIHRoZXkgYXJlIG5vdCBuYW1lc3BhY2Ugbm9kZXMuCisJICovCisJaWYgKG5vZGVzLT5ub2RlVGFiW2ldLT50eXBlICE9IFhNTF9OQU1FU1BBQ0VfREVDTCkKKwkgICAgbm9kZXMtPm5vZGVUYWJbaV0gPSBOVUxMOworICAgIH0KK30KKworI2Vsc2UKK2ludCBtYWluKHZvaWQpIHsKKyAgICBmcHJpbnRmKHN0ZGVyciwgIlhQYXRoIHN1cHBvcnQgbm90IGNvbXBpbGVkIGluXG4iKTsKKyAgICBleGl0KDEpOworfQorI2VuZGlmCmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9leGFtcGxlcy94cGF0aDIucmVzIGIvbGlieG1sMi9kb2MvZXhhbXBsZXMveHBhdGgyLnJlcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZTg5Njk5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvZXhhbXBsZXMveHBhdGgyLnJlcwpAQCAtMCwwICsxLDMwIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxkb2M+CisgIDxwYXJlbnQ+CisgICAgPGRpc2NhcmRlZD5kaXNjYXJkZWQ8L2Rpc2NhcmRlZD4KKyAgICA8cHJlc2VydmVkLz4KKyAgICBUaGlzIHRleHQgbm9kZSBtdXN0IGJlIGRpc2NhcmRlZAorICAgIDxkaXNjYXJkZWQ+ZGlzY2FyZGVkPC9kaXNjYXJkZWQ+CisgICAgPHByZXNlcnZlZD4KKyAgICAgIGNvbnRlbnQxCisgICAgICA8Y2hpbGQxLz4KKyAgICAgIDxjaGlsZDI+Y29udGVudDI8L2NoaWxkMj4KKyAgICAgIDxwcmVzZXJ2ZWQ+dG9vPC9wcmVzZXJ2ZWQ+CisgICAgICA8Y2hpbGQyPmNvbnRlbnQzPC9jaGlsZDI+CisgICAgICA8cHJlc2VydmVkLz4KKyAgICAgIDxjaGlsZDI+Y29udGVudDQ8L2NoaWxkMj4KKyAgICAgIDxwcmVzZXJ2ZWQvPgorICAgICAgPGNoaWxkMj5jb250ZW50NTwvY2hpbGQyPgorICAgICAgY29udGVudDYKKyAgICA8L3ByZXNlcnZlZD4KKyAgICBUaGlzIHRleHQgbm9kZSBtdXN0IGJlIGRpc2NhcmRlZAorICAgIDxkaXNjYXJkZWQ+ZGlzY2FyZGVkPC9kaXNjYXJkZWQ+CisgICAgVGhpcyB0ZXh0IG5vZGUgbXVzdCBiZSBkaXNjYXJkZWQKKyAgICA8cHJlc2VydmVkLz4KKyAgICBUaGlzIHRleHQgbm9kZSBtdXN0IGJlIGRpc2NhcmRlZAorICAgIDxwcmVzZXJ2ZWQvPgorICAgIFRoaXMgdGV4dCBub2RlIG11c3QgYmUgZGlzY2FyZGVkCisgICAgPGRpc2NhcmRlZD5kaXNjYXJkZWQ8L2Rpc2NhcmRlZD4KKyAgICBUaGlzIHRleHQgbm9kZSBtdXN0IGJlIGRpc2NhcmRlZAorICA8L3BhcmVudD4KKzwvZG9jPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvZmF2aWNvbi5pY28gYi9saWJ4bWwyL2RvYy9mYXZpY29uLmljbwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MTJjYjlmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvZmF2aWNvbi5pY28KQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvZ25vbWUyLnBuZyBiL2xpYnhtbDIvZG9jL2dub21lMi5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGExNmZiMQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL2dub21lMi5wbmcKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvZ3VpZGVsaW5lcy5odG1sIGIvbGlieG1sMi9kb2MvZ3VpZGVsaW5lcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFmNGE3YjMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9ndWlkZWxpbmVzLmh0bWwKQEAgLTAsMCArMSwzNzQgQEAKKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAxIFRyYW5zaXRpb25hbC8vRU4iCisgICAgImh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L2xvb3NlLmR0ZCI+Cis8aHRtbD4KKzxoZWFkPgorICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbCI+CisgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+PC9zdHlsZT4KKzwhLS0KK1REIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitCT0RZIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2E7IG1hcmdpbi10b3A6IDJlbTsgbWFyZ2luLWxlZnQ6IDBlbTsgbWFyZ2luLXJpZ2h0OiAwZW19CitIMSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDIge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gzIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitBOmxpbmssIEE6dmlzaXRlZCwgQTphY3RpdmUgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB9CisgIDwvc3R5bGU+CistLT4KKyAgPHRpdGxlPlhNTCByZXNvdXJjZXMgcHVibGljYXRpb24gZ3VpZGVsaW5lczwvdGl0bGU+Cis8L2hlYWQ+CisKKzxib2R5IGJnY29sb3I9IiNmZmZhY2QiIHRleHQ9IiMwMDAwMDAiPgorPGgxIGFsaWduPSJjZW50ZXIiPlhNTCByZXNvdXJjZXMgcHVibGljYXRpb24gZ3VpZGVsaW5lczwvaDE+CisKKzxwPjwvcD4KKworPHA+VGhlIGdvYWwgb2YgdGhpcyBkb2N1bWVudCBpcyB0byBwcm92aWRlIGEgc2V0IG9mIGd1aWRlbGluZXMgYW5kIHRpcHMKK2hlbHBpbmcgdGhlIHB1YmxpY2F0aW9uIGFuZCBkZXBsb3ltZW50IG9mIDxhCitocmVmPSJodHRwOi8vd3d3LnczLm9yZy9YTUwvIj5YTUw8L2E+IHJlc291cmNlcyBmb3IgdGhlIDxhCitocmVmPSJodHRwOi8vd3d3Lmdub21lLm9yZy8iPkdOT01FIHByb2plY3Q8L2E+LiBIb3dldmVyIGl0IGlzIG5vdCB0aWVkIHRvCitHTk9NRSBhbmQgbWlnaHQgYmUgaGVscGZ1bCBtb3JlIGdlbmVyYWxseS4gSSB3ZWxjb21lIDxhCitocmVmPSJtYWlsdG86dmVpbGxhcmRAcmVkaGF0LmNvbSI+ZmVlZGJhY2s8L2E+IG9uIHRoaXMgZG9jdW1lbnQuPC9wPgorCis8cD5UaGUgaW50ZW5kZWQgYXVkaWVuY2UgaXMgdGhlIHNvZnR3YXJlIGRldmVsb3BlcnMgd2hvIHN0YXJ0ZWQgdXNpbmcgWE1MCitmb3Igc29tZSBvZiB0aGUgcmVzb3VyY2VzIG9mIHRoZWlyIHByb2plY3QsIGFzIGEgc3RvcmFnZSBmb3JtYXQsIGZvciBkYXRhCitleGNoYW5nZSwgY2hlY2tpbmcgb3IgdHJhbnNmb3JtYXRpb25zLiBUaGVyZSBoYXZlIGJlZW4gYW4gaW5jcmVhc2luZyBudW1iZXIKK29mIG5ldyBYTUwgZm9ybWF0cyBkZWZpbmVkLCBidXQgbm90IGFsbCBzdGVwcyBoYXZlIGJlZW4gdGFrZW4sIHBvc3NpYmx5IGJlY2F1c2Ugb2YKK2xhY2sgb2YgZG9jdW1lbnRhdGlvbiwgdG8gdHJ1bHkgZ2FpbiBhbGwgdGhlIGJlbmVmaXRzIG9mIHRoZSB1c2Ugb2YgWE1MLgorVGhlc2UgZ3VpZGVsaW5lcyBob3BlIHRvIGltcHJvdmUgdGhlIG1hdHRlciBhbmQgcHJvdmlkZSBhIGJldHRlciBvdmVydmlldyBvZgordGhlIG92ZXJhbGwgWE1MIHByb2Nlc3NpbmcgYW5kIGFzc29jaWF0ZWQgc3RlcHMgbmVlZGVkIHRvIGRlcGxveSBpdAorc3VjY2Vzc2Z1bGx5OjwvcD4KKworPHA+VGFibGUgb2YgY29udGVudHM6PC9wPgorPG9sPgorICA8bGk+PGEgaHJlZj0iI0Rlc2lnbiI+RGVzaWduIGd1aWRlbGluZXM8L2E+PC9saT4KKyAgPGxpPjxhIGhyZWY9IiNDYW5vbmljYWwiPkNhbm9uaWNhbCBVUkw8L2E+PC9saT4KKyAgPGxpPjxhIGhyZWY9IiNDYXRhbG9nIj5DYXRhbG9nIHNldHVwPC9hPjwvbGk+CisgIDxsaT48YSBocmVmPSIjUGFja2FnZSI+UGFja2FnZSBpbnRlZ3JhdGlvbjwvYT48L2xpPgorPC9vbD4KKworPGgyPjxhIG5hbWU9IkRlc2lnbiI+RGVzaWduIGd1aWRlbGluZXM8L2E+PC9oMj4KKworPHA+VGhpcyBwYXJ0IGludGVuZHMgdG8gZm9jdXMgb24gdGhlIGZvcm1hdCBpdHNlbGYgb2YgWE1MLiBJdCBtYXkgIGFycml2ZQorYSBiaXQgdG9vIGxhdGUgc2luY2UgdGhlIHN0cnVjdHVyZSBvZiB0aGUgZG9jdW1lbnQgbWF5IGFscmVhZHkgYmUgY2FzdCBpbgorZXhpc3RpbmcgYW5kIGRlcGxveWVkIGNvZGUuIFN0aWxsLCBoZXJlIGFyZSBhIGZldyBydWxlcyB3aGljaCBtaWdodCBiZSBoZWxwZnVsCit3aGVuIGRlc2lnbmluZyBhIG5ldyBYTUwgdm9jYWJ1bGFyeSBvciBtYWtpbmcgdGhlIHJldmlzaW9uIG9mIGFuIGV4aXN0aW5nCitmb3JtYXQ6PC9wPgorCis8aDM+UmV1c2UgZXhpc3RpbmcgZm9ybWF0czo8L2gzPgorCis8cD5UaGlzIG1heSBzb3VuZHMgYSBiaXQgc2ltcGxpc3RpYywgYnV0IGJlZm9yZSBkZXNpZ25pbmcgeW91ciBvd24gZm9ybWF0LAordHJ5IHRvIGxvb2t1cCBleGlzdGluZyBYTUwgdm9jYWJ1bGFyaWVzIG9uIHNpbWlsYXIgZGF0YS4gSWRlYWxseSB0aGlzIGFsbG93cworeW91IHRvIHJldXNlIHRoZW0sIGluIHdoaWNoIGNhc2UgYSBsb3Qgb2YgdGhlIGV4aXN0aW5nIHRvb2xzIGxpa2UgRFRELCBzY2hlbWFzCithbmQgc3R5bGVzaGVldHMgbWF5IGFscmVhZHkgYmUgYXZhaWxhYmxlLiBJZiB5b3UgYXJlIGxvb2tpbmcgYXQgYQorZG9jdW1lbnRhdGlvbiBmb3JtYXQsIDxhIGhyZWY9Imh0dHA6Ly93d3cuZG9jYm9vay5vcmcvIj5Eb2NCb29rPC9hPiBzaG91bGQKK2hhbmRsZSB5b3VyIG5lZWRzLiBJZiByZXVzZSBpcyBub3QgcG9zc2libGUgYmVjYXVzZSBzb21lIHNlbWFudGljIG9yIHVzZSBjYXNlCithc3BlY3RzIGFyZSB0b28gZGlmZmVyZW50IHRoaXMgd2lsbCBiZSBoZWxwZnVsIGF2b2lkaW5nIGRlc2lnbiBlcnJvcnMgbGlrZQordGFyZ2V0aW5nIHRoZSB2b2NhYnVsYXJ5IHRvIHRoZSB3cm9uZyBhYnN0cmFjdGlvbiBsZXZlbC4gSW4gdGhpcyBmb3JtYXQKK2Rlc2lnbiBwaGFzZSB0cnkgdG8gYmUgc3ludGhldGljIGFuZCBiZSBzdXJlIHRvIGV4cHJlc3MgdGhlIHJlYWwgY29udGVudCBvZgoreW91ciBkYXRhIGFuZCB1c2UgdGhlIFhNTCBzdHJ1Y3R1cmUgdG8gZXhwcmVzcyB0aGUgc2VtYW50aWMgYW5kIGNvbnRleHQgb2YKK3Rob3NlIGRhdGEuPC9wPgorCis8aDM+RFREIHJ1bGVzOjwvaDM+CisKKzxwPkJ1aWxkaW5nIGEgRFREIChEb2N1bWVudCBUeXBlIERlZmluaXRpb24pIG9yIGEgU2NoZW1hIGRlc2NyaWJpbmcgdGhlCitzdHJ1Y3R1cmUgYWxsb3dlZCBieSBpbnN0YW5jZXMgaXMgdGhlIGNvcmUgb2YgdGhlIGRlc2lnbiBwcm9jZXNzIG9mIHRoZQordm9jYWJ1bGFyeS4gSGVyZSBhcmUgYSBmZXcgdGlwczo8L3A+Cis8dWw+CisgIDxsaT51c2Ugc2lnbmlmaWNhbnQgd29yZHMgZm9yIHRoZSBlbGVtZW50IGFuZCBhdHRyaWJ1dGVzIG5hbWVzLjwvbGk+CisgIDxsaT5kbyBub3QgdXNlIGF0dHJpYnV0ZXMgZm9yIGdlbmVyYWwgdGV4dHVhbCBjb250ZW50LCBhdHRyaWJ1dGVzCisgICAgd2lsbCBiZSBtb2RpZmllZCBieSB0aGUgcGFyc2VyIGJlZm9yZSByZWFjaGluZyB0aGUgYXBwbGljYXRpb24sCisgICAgc3BhY2VzIGFuZCBsaW5lIGluZm9ybWF0aW9ucyB3aWxsIGJlIG1vZGlmaWVkLjwvbGk+CisgIDxsaT51c2Ugc2luZ2xlIGVsZW1lbnRzIGZvciBldmVyeSBzdHJpbmcgdGhhdCBtaWdodCBiZSBzdWJqZWN0IHRvCisgICAgbG9jYWxpemF0aW9uLiBUaGUgY2Fub25pY2FsIHdheSB0byBsb2NhbGl6ZSBYTUwgY29udGVudCBpcyB0byB1c2UKKyAgICBzaWJsaW5ncyBlbGVtZW50IGNhcnJ5aW5nIGRpZmZlcmVudCB4bWw6bGFuZyBhdHRyaWJ1dGVzIGxpa2UgaW4gdGhlCisgICAgZm9sbG93aW5nOgorICAgIDxwcmU+Jmx0O3dlbGNvbWUmZ3Q7CisgICZsdDttc2cgeG1sOmxhbmc9ImVuIiZndDtoZWxsbyZsdDsvbXNnJmd0OworICAmbHQ7bXNnIHhtbDpsYW5nPSJmciImZ3Q7Ym9uam91ciZsdDsvbXNnJmd0OworJmx0Oy93ZWxjb21lJmd0OzwvcHJlPgorICA8L2xpPgorICA8bGk+dXNlIGF0dHJpYnV0ZXMgdG8gcmVmaW5lIHRoZSBjb250ZW50IG9mIGFuIGVsZW1lbnQgYnV0IGF2b2lkIHRoZW0gZm9yCisgICAgbW9yZSBjb21wbGV4IHRhc2tzLCBhdHRyaWJ1dGUgcGFyc2luZyBpcyBub3QgY2hlYXBlciB0aGFuIGFuIGVsZW1lbnQgYW5kCisgICAgaXQgaXMgZmFyIGVhc2llciB0byBtYWtlIGFuIGVsZW1lbnQgY29udGVudCBtb3JlIGNvbXBsZXggd2hpbGUgYXR0cmlidXRlCisgICAgd2lsbCBoYXZlIHRvIHJlbWFpbiB2ZXJ5IHNpbXBsZS48L2xpPgorPC91bD4KKworPGgzPlZlcnNpb25pbmc6PC9oMz4KKworPHA+QXMgcGFydCBvZiB0aGUgZGVzaWduLCBtYWtlIHN1cmUgdGhlIHN0cnVjdHVyZSB5b3UgZGVmaW5lIHdpbGwgYmUgdXNhYmxlCitmb3IgZnV0dXJlIGV4dGVuc2lvbiB0aGF0IHlvdSBtYXkgbm90IGNvbnNpZGVyIGZvciB0aGUgY3VycmVudCB2ZXJzaW9uLiBUaGVyZQorYXJlIHR3byBwYXJ0cyB0byB0aGlzOjwvcD4KKzx1bD4KKyAgPGxpPk1ha2Ugc3VyZSB0aGUgaW5zdGFuY2UgY29udGFpbnMgYSB2ZXJzaW9uIG51bWJlciB3aGljaCB3aWxsIGFsbG93IHRvCisgICAgbWFrZSBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IGVhc3kuIFNvbWV0aGluZyBhcyBzaW1wbGUgYXMgaGF2aW5nIGEKKyAgICA8Y29kZT52ZXJzaW9uPSIxLjAiPC9jb2RlPiBvbiB0aGUgcm9vdCBkb2N1bWVudCBvZiB0aGUgaW5zdGFuY2UgaXMKKyAgICBzdWZmaWNpZW50LjwvbGk+CisgIDxsaT5XaGlsZSBkZXNpZ25pbmcgdGhlIGNvZGUgZG9pbmcgdGhlIGFuYWx5c2lzIG9mIHRoZSBkYXRhIHByb3ZpZGVkIGJ5IHRoZQorICAgIFhNTCBwYXJzZXIsIG1ha2Ugc3VyZSB5b3UgY2FuIHdvcmsgd2l0aCB1bmtub3duIHZlcnNpb25zLCBnZW5lcmF0ZSBhIFVJCisgICAgd2FybmluZyBhbmQgcHJvY2VzcyBvbmx5IHRoZSB0YWdzIHJlY29nbml6ZWQgYnkgeW91ciB2ZXJzaW9uIGJ1dCBrZWVwIGluCisgICAgbWluZCB0aGF0IHlvdSBzaG91bGQgbm90IGJyZWFrIG9uIHVua25vd24gZWxlbWVudHMgaWYgdGhlIHZlcnNpb24KKyAgICBhdHRyaWJ1dGUgd2FzIG5vdCBpbiB0aGUgcmVjb2duaXplZCBzZXQuPC9saT4KKzwvdWw+CisKKzxoMz5PdGhlciBkZXNpZ24gcGFydHM6PC9oMz4KKworPHA+V2hpbGUgZGVmaW5pbmcgeW91IHZvY2FidWxhcnksIHRyeSB0byB0aGluayBpbiB0ZXJtIG9mIG90aGVyIHVzYWdlIG9mIHlvdXIKK2RhdGEsIGZvciBleGFtcGxlIGhvdyB1c2luZyBYU0xUIHN0eWxlc2hlZXRzIGNvdWxkIGJlIHVzZWQgdG8gbWFrZSBhbiBIVE1MCit2aWV3IG9mIHlvdXIgZGF0YSwgb3IgdG8gY29udmVydCBpdCBpbnRvIGEgZGlmZmVyZW50IGZvcm1hdC4gQ2hlY2tpbmcgWE1MCitTY2hlbWFzIGFuZCBsb29raW5nIGF0IGRlZmluaW5nIGFuIFhNTCBTY2hlbWEgd2l0aCBhIG1vcmUgY29tcGxldGUKK3ZhbGlkYXRpb24gYW5kIGRhdGF0eXBpbmcgb2YgeW91ciBkYXRhIHN0cnVjdHVyZXMgaXMgaW1wb3J0YW50LCB0aGlzIGhlbHBzCithdm9pZGluZyBzb21lIG1pc3Rha2VzIGluIHRoZSBkZXNpZ24gcGhhc2UuPC9wPgorCis8aDM+TmFtZXNwYWNlOjwvaDM+CisKKzxwPklmIHlvdSBleHBlY3QgeW91ciBYTUwgdm9jYWJ1bGFyeSB0byBiZSB1c2VkIG9yIHJlY29nbml6ZWQgb3V0c2lkZSBvZiB5b3VyCithcHBsaWNhdGlvbiAoZm9yIGV4YW1wbGUgYmluZGluZyBhIHNwZWNpZmljIHByb2Nlc3NpbmcgZnJvbSBhIGdyYXBoaWMgc2hlbGwKK2xpa2UgTmF1dGlsdXMgdG8gYW4gaW5zdGFuY2Ugb2YgeW91ciBkYXRhKSB0aGVuIHlvdSBzaG91bGQgcmVhbGx5IGRlZmluZSBhbiA8YQoraHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLXhtbC1uYW1lcy8iPlhNTCBuYW1lc3BhY2U8L2E+IGZvciB5b3VyCit2b2NhYnVsYXJ5LiBBIG5hbWVzcGFjZSBuYW1lIGlzIGFuIFVSTCAoYWJzb2x1dGUgVVJJIG1vcmUgcHJlY2lzZWx5KS4gSXQgaXMKK2dlbmVyYWxseSByZWNvbW1lbmRlZCB0byBhbmNob3IgaXQgYXMgYW4gSFRUUCByZXNvdXJjZSB0byBhIHNlcnZlciBhc3NvY2lhdGVkCit3aXRoIHRoZSBzb2Z0d2FyZSBwcm9qZWN0LiBTZWUgdGhlIG5leHQgc2VjdGlvbiBhYm91dCB0aGlzLiBJbiBwcmFjdGljZSB0aGlzCit3aWxsIG1lYW4gdGhhdCBYTUwgcGFyc2VycyB3aWxsIG5vdCBoYW5kbGUgeW91ciBlbGVtZW50IG5hbWVzIGFzLWlzIGJ1dCBhcyBhCitjb3VwbGUgYmFzZWQgb24gdGhlIG5hbWVzcGFjZSBuYW1lIGFuZCB0aGUgZWxlbWVudCBuYW1lLiBUaGlzIGFsbG93cyBpdCB0bworcmVjb2duaXplIGFuZCBkaXNhbWJpZ3VhdGUgcHJvY2Vzc2luZy4gVW5pY2l0eSBvZiB0aGUgbmFtZXNwYWNlIG5hbWUgY2FuIGJlCitmb3IgdGhlIG1vc3QgcGFydCBndWFyYW50ZWVkIGJ5IHRoZSB1c2Ugb2YgdGhlIEROUyByZWdpc3RyeS4gTmFtZXNwYWNlIGNhbgorYWxzbyBiZSB1c2VkIHRvIGNhcnJ5IHZlcnNpb25pbmcgaW5mb3JtYXRpb24gbGlrZTo8L3A+CisKKzxwPjxjb2RlPiJodHRwOi8vd3d3Lmdub21lLm9yZy9wcm9qZWN0L3Byb2plY3RuYW1lLzEuMC8iPC9jb2RlPjwvcD4KKworPHA+QW4gZWFzeSB3YXkgdG8gdXNlIHRoZW0gaXMgdG8gbWFrZSB0aGVtIHRoZSBkZWZhdWx0IG5hbWVzcGFjZSBvbiB0aGUKK3Jvb3QgZWxlbWVudCBvZiB0aGUgWE1MIGluc3RhbmNlIGxpa2U6PC9wPgorPHByZT4mbHQ7c3RydWN0dXJlIHhtbG5zPSJodHRwOi8vd3d3Lmdub21lLm9yZy9wcm9qZWN0L3Byb2plY3RuYW1lLzEuMC8iJmd0OworICAmbHQ7ZGF0YSZndDsKKyAgLi4uCisgICZsdDsvZGF0YSZndDsKKyZsdDsvc3RydWN0dXJlJmd0OzwvcHJlPgorCis8cD5JbiB0aGF0IGRvY3VtZW50LCBzdHJ1Y3R1cmUgYW5kIGFsbCBkZXNjZW5kYW50IGVsZW1lbnRzIGxpa2UgZGF0YSBhcmUgaW4KK3RoZSBnaXZlbiBuYW1lc3BhY2UuPC9wPgorCis8aDI+PGEgbmFtZT0iQ2Fub25pY2FsIj5DYW5vbmljYWwgVVJMPC9hPjwvaDI+CisKKzxwPkFzIHNlZW4gaW4gdGhlIHByZXZpb3VzIG5hbWVzcGFjZSBzZWN0aW9uLCB3aGlsZSBYTUwgcHJvY2Vzc2luZyBpcyBub3QKK3RpZWQgdG8gdGhlIFdlYiB0aGVyZSBpcyBhIG5hdHVyYWwgc3luZXJneSBiZXR3ZWVuIGJvdGguIFhNTCB3YXMgZGVzaWduZWQgdG8KK2JlIGF2YWlsYWJsZSBvbiB0aGUgV2ViLCBhbmQga2VlcGluZyB0aGUgaW5mcmFzdHJ1Y3R1cmUgdGhhdCB3YXkgaGVscHMKK2RlcGxveWluZyB0aGUgWE1MIHJlc291cmNlcy4gVGhlIGNvcmUgb2YgdGhpcyBpc3N1ZSBpcyB0aGUgbm90aW9uIG9mCisiQ2Fub25pY2FsIFVSTCIgb2YgYW4gWE1MIHJlc291cmNlLiBUaGUgcmVzb3VyY2UgY2FuIGJlIGFuIFhNTCBkb2N1bWVudCwgYQorRFRELCBhIHN0eWxlc2hlZXQsIGEgc2NoZW1hLCBvciBldmVuIG5vbi1YTUwgZGF0YSBhc3NvY2lhdGVkIHdpdGggYW4gWE1MCityZXNvdXJjZSwgdGhlIGNhbm9uaWNhbCBVUkwgaXMgdGhlIFVSTCB3aGVyZSB0aGUgIm1hc3RlciIgY29weSBvZiB0aGF0CityZXNvdXJjZSBpcyBleHBlY3RlZCB0byBiZSBwcmVzZW50IG9uIHRoZSBXZWIuIFVzdWFsbHkgd2hlbiBwcm9jZXNzaW5nIFhNTCBhCitjb3B5IG9mIHRoZSByZXNvdXJjZSB3aWxsIGJlIHByZXNlbnQgb24gdGhlIGxvY2FsIGRpc2ssIG1heWJlIGluCisvdXNyL3NoYXJlL3htbCBvciAvdXNyL3NoYXJlL3NnbWwgbWF5YmUgaW4gL29wdCBvciBldmVuIG9uIEM6XHByb2plY3RuYW1lXAorKGhvcnJvciAhKS4gVGhlIGtleSBwb2ludCBpcyB0aGF0IHRoZSB3YXkgdG8gbmFtZSB0aGF0IHJlc291cmNlIHNob3VsZCBiZQoraW5kZXBlbmRlbnQgb2YgdGhlIGFjdHVhbCBwbGFjZSB3aGVyZSBpdCByZXNpZGVzIG9uIGRpc2sgaWYgaXQgaXMgYXZhaWxhYmxlLAorYW5kIHRoZSBmYWN0IHRoYXQgdGhlIHByb2Nlc3Npbmcgd2lsbCBzdGlsbCB3b3JrIGlmIHRoZXJlIGlzIG5vIGxvY2FsIGNvcHkKKyhhbmQgdGhhdCB0aGUgbWFjaGluZSB3aGVyZSB0aGUgcHJvY2Vzc2luZyBpcyBjb25uZWN0ZWQgdG8gdGhlIEludGVybmV0KS48L3A+CisKKzxwPldoYXQgdGhpcyByZWFsbHkgbWVhbnMgaXMgdGhhdCBvbmUgc2hvdWxkIG5ldmVyIHVzZSB0aGUgbG9jYWwgbmFtZSBvZiBhCityZXNvdXJjZSB0byByZWZlcmVuY2UgaXQgYnV0IGFsd2F5cyB1c2UgdGhlIGNhbm9uaWNhbCBVUkwuIEZvciBleGFtcGxlIGluIGEKK0RvY0Jvb2sgaW5zdGFuY2UgdGhlIGZvbGxvd2luZyBzaG91bGQgbm90IGJlIHVzZWQ6PC9wPgorPHByZT4mbHQ7IURPQ1RZUEUgYXJ0aWNsZSBQVUJMSUMgIi0vL09BU0lTLy9EVEQgRG9jQm9vayBYTUwgVjQuMi8vRU4iPGJyPgorCisKKyAgICAgICAgICAgICAgICAgICAgICAgICAiL3Vzci9zaGFyZS94bWwvZG9jYm9vay80LjIvZG9jYm9va3guZHRkIiZndDs8L3ByZT4KKworPHA+QnV0IGFsd2F5cyByZWZlcmVuY2UgdGhlIGNhbm9uaWNhbCBVUkwgZm9yIHRoZSBEVEQ6PC9wPgorPHByZT4mbHQ7IURPQ1RZUEUgYXJ0aWNsZSBQVUJMSUMgIi0vL09BU0lTLy9EVEQgRG9jQm9vayBYTUwgVjQuMi8vRU4iPGJyPgorCisKKyAgICAgICAgICAgICAgICAgICAgICAgICAiaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9kb2Nib29rL3htbC80LjIvZG9jYm9va3guZHRkIiZndDsgICA8L3ByZT4KKworPHA+U2ltaWxhcmx5LCB0aGUgZG9jdW1lbnQgaW5zdGFuY2UgbWF5IHJlZmVyZW5jZSB0aGUgPGEKK2hyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hzbHQiPlhTTFQ8L2E+IHN0eWxlc2hlZXRzIG5lZWRlZCB0byBwcm9jZXNzIGl0IHRvCitnZW5lcmF0ZSBIVE1MLCBhbmQgdGhlIGNhbm9uaWNhbCBVUkwgc2hvdWxkIGJlIHVzZWQ6PC9wPgorPHByZT4mbHQ7P3htbC1zdHlsZXNoZWV0CisgIGhyZWY9Imh0dHA6Ly9kb2Nib29rLnNvdXJjZWZvcmdlLm5ldC9yZWxlYXNlL3hzbC9jdXJyZW50L2h0bWwvZG9jYm9vay54c2wiCisgIHR5cGU9InRleHQveHNsIj8mZ3Q7PC9wcmU+CisKKzxwPkRlZmluaW5nIHRoZSBjYW5vbmljYWwgVVJMIGZvciB0aGUgcmVzb3VyY2VzIG5lZWRlZCBzaG91bGQgb2JleSBhIGZldworc2ltcGxlIHJ1bGVzIHNpbWlsYXIgdG8gdGhvc2UgdXNlZCB0byBkZXNpZ24gbmFtZXNwYWNlIG5hbWVzOjwvcD4KKzx1bD4KKyAgPGxpPnVzZSBhIEROUyBuYW1lIHlvdSBrbm93IGlzIGFzc29jaWF0ZWQgdG8gdGhlIHByb2plY3QgYW5kIHdpbGwgYmUKKyAgICBhdmFpbGFibGUgb24gdGhlIGxvbmcgdGVybTwvbGk+CisgIDxsaT53aXRoaW4gdGhhdCBzZXJ2ZXIgc3BhY2UsIHJlc2VydmUgdGhlIHJpZ2h0IHRvIHRoZSBzdWJ0cmVlIHdoZXJlIHlvdQorICAgIGludGVuZCB0byBrZWVwIHRob3NlIGRhdGE8L2xpPgorICA8bGk+dmVyc2lvbiB0aGUgVVJMIHNvIHRoYXQgbXVsdGlwbGUgY29uY3VycmVudCB2ZXJzaW9ucyBvZiB0aGUgcmVzb3VyY2VzCisgICAgY2FuIGJlIGhvc3RlZCBzaW11bHRhbmVvdXNseTwvbGk+Cis8L3VsPgorCis8aDI+PGEgbmFtZT0iQ2F0YWxvZyI+Q2F0YWxvZyBzZXR1cDwvYT48L2gyPgorCis8aDM+SG93IGNhdGFsb2dzIHdvcms6PC9oMz4KKworPHA+VGhlIGNhdGFsb2dzIGFyZSB0aGUgdGVjaG5pY2FsIG1lY2hhbmlzbSB3aGljaCBhbGxvdyB0aGUgWE1MIHByb2Nlc3NpbmcKK3Rvb2xzIHRvIHVzZSBhIGxvY2FsIGNvcHkgb2YgdGhlIHJlc291cmNlcyBpZiBpdCBpcyBhdmFpbGFibGUgZXZlbiBpZiB0aGUKK2luc3RhbmNlIGRvY3VtZW50IHJlZmVyZW5jZXMgdGhlIGNhbm9uaWNhbCBVUkwuIDxhCitocmVmPSJodHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL2NvbW1pdHRlZXMvZW50aXR5LyI+WE1MIENhdGFsb2dzPC9hPiBhcmUKK2FuY2hvcmVkIGluIHRoZSByb290IGNhdGFsb2cgKHVzdWFsbHkgPGNvZGU+L2V0Yy94bWwvY2F0YWxvZzwvY29kZT4gb3IKK2RlZmluZWQgYnkgdGhlIHVzZXIpLiBUaGV5IGFyZSBhIHRyZWUgb2YgWE1MIGRvY3VtZW50cyBkZWZpbmluZyB0aGUgbWFwcGluZ3MKK2JldHdlZW4gdGhlIGNhbm9uaWNhbCBuYW1pbmcgc3BhY2UgYW5kIHRoZSBsb2NhbCBpbnN0YWxsZWQgb25lcywgdGhpcyBjYW4gYmUKK3NlZW4gYXMgYSBzdGF0aWMgY2FjaGUgc3RydWN0dXJlLjwvcD4KKworPHA+V2hlbiB0aGUgWE1MIHByb2Nlc3NvciBpcyBhc2tlZCB0byBwcm9jZXNzIGEgcmVzb3VyY2UgaXQgd2lsbAorYXV0b21hdGljYWxseSB0ZXN0IGZvciBhIGxvY2FsbHkgYXZhaWxhYmxlIHZlcnNpb24gaW4gdGhlIGNhdGFsb2csIHN0YXJ0aW5nCitmcm9tIHRoZSByb290IGNhdGFsb2csIGFuZCBwb3NzaWJseSBmZXRjaGluZyBzdWItY2F0YWxvZyByZXNvdXJjZXMgdW50aWwgaXQKK2ZpbmRzIHRoYXQgdGhlIGNhdGFsb2cgaGFzIHRoYXQgcmVzb3VyY2Ugb3Igbm90LiBJZiBub3QgdGhlIGRlZmF1bHQKK3Byb2Nlc3Npbmcgb2YgZmV0Y2hpbmcgdGhlIHJlc291cmNlIGZyb20gdGhlIFdlYiBpcyBkb25lLCBhbGxvd2luZyBpbiBtb3N0CitjYXNlIHRvIHJlY292ZXIgZnJvbSBhIGNhdGFsb2cgbWlzcy4gVGhlIGtleSBwb2ludCBpcyB0aGF0IHRoZSBkb2N1bWVudAoraW5zdGFuY2VzIGFyZSB0b3RhbGx5IGluZGVwZW5kZW50IG9mIHRoZSBhdmFpbGFiaWxpdHkgb2YgYSBjYXRhbG9nIG9yIGZyb20KK3RoZSBhY3R1YWwgcGxhY2Ugd2hlcmUgdGhlIGxvY2FsIHJlc291cmNlIHRoZXkgcmVmZXJlbmNlIG1heSBiZSBpbnN0YWxsZWQuCitUaGlzIGdyZWF0bHkgaW1wcm92ZXMgdGhlIG1hbmFnZW1lbnQgb2YgdGhlIGRvY3VtZW50cyBpbiB0aGUgbG9uZyBydW4sIG1ha2luZwordGhlbSBpbmRlcGVuZGVudCBvZiB0aGUgcGxhdGZvcm0gb3IgdG9vbGNoYWluIHVzZWQgdG8gcHJvY2VzcyB0aGVtLiBUaGUKK2ZpZ3VyZSBiZWxvdyB0cmllcyB0byBleHByZXNzIHRoYXQgIG1lY2hhbmlzbTo8aW1nIHNyYz0iY2F0YWxvZy5naWYiCithbHQ9IlBpY3R1cmUgZGVzY3JpYmluZyB0aGUgY2F0YWxvZyAiPjwvcD4KKworPGgzPlVzdWFsIGNhdGFsb2cgc2V0dXA6PC9oMz4KKworPHA+VXN1YWxseSBjYXRhbG9ncyBmb3IgYSBwcm9qZWN0IGFyZSBzZXR1cCBhcyBhIDIgbGV2ZWwgaGllcmFyY2hpY2FsIGNhY2hlLAordGhlIHJvb3QgY2F0YWxvZyBjb250YWluaW5nIG9ubHkgImRlbGVnYXRlcyIgaW5kaWNhdGluZyBhIHNlcGFyYXRlIHN1YmNhdGFsb2cKK2RlZGljYXRlZCB0byB0aGUgcHJvamVjdC4gVGhlIGdvYWwgaXMgdG8ga2VlcCB0aGUgcm9vdCBjYXRhbG9nIGNsZWFuIGFuZAorc2ltcGxpZnkgdGhlIG1haW50ZW5hbmNlIG9mIHRoZSBjYXRhbG9nIGJ5IHVzaW5nIHNlcGFyYXRlIGNhdGFsb2dzIHBlcgorcHJvamVjdC4gRm9yIGV4YW1wbGUgd2hlbiBjcmVhdGluZyBhIGNhdGFsb2cgZm9yIHRoZSA8YQoraHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxIj5YSFRNTDE8L2E+IERURHMsIG9ubHkgMyBpdGVtcyBhcmUgYWRkZWQgdG8KK3RoZSByb290IGNhdGFsb2c6PC9wPgorPHByZT4gICZsdDtkZWxlZ2F0ZVB1YmxpYyBwdWJsaWNJZFN0YXJ0U3RyaW5nPSItLy9XM0MvL0RURCBYSFRNTCAxLjAiCisgICAgICAgICAgICAgICAgICBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS9zZ21sL3hodG1sMS94bWxjYXRhbG9nIi8mZ3Q7CisgICZsdDtkZWxlZ2F0ZVN5c3RlbSBzeXN0ZW1JZFN0YXJ0U3RyaW5nPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREIgorICAgICAgICAgICAgICAgICAgY2F0YWxvZz0iZmlsZTovLy91c3Ivc2hhcmUvc2dtbC94aHRtbDEveG1sY2F0YWxvZyIvJmd0OworICAmbHQ7ZGVsZWdhdGVVUkkgdXJpU3RhcnRTdHJpbmc9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQiCisgICAgICAgICAgICAgICAgICBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS9zZ21sL3hodG1sMS94bWxjYXRhbG9nIi8mZ3Q7PC9wcmU+CisKKzxwPlRoZXkgYXJlIGFsbCAiZGVsZWdhdGVzIiBtZWFuaW5nIHRoYXQgaWYgdGhlIGNhdGFsb2cgc3lzdGVtIGlzIGFza2VkIHRvCityZXNvbHZlIGEgcmVmZXJlbmNlIGNvcnJlc3BvbmRpbmcgdG8gdGhlbSwgaXQgaGFzIHRvIGxvb2t1cCBhIHN1YiBjYXRhbG9nLgorSGVyZSB0aGUgc3ViY2F0YWxvZyB3YXMgaW5zdGFsbGVkIGFzCis8Y29kZT4vdXNyL3NoYXJlL3NnbWwveGh0bWwxL3htbGNhdGFsb2c8L2NvZGU+IGluIHRoZSBsb2NhbCB0cmVlLiBUaGF0CitkZWNpc2lvbiBpcyBsZWZ0IHRvIHRoZSBzeXNhZG1pbiBvciB0aGUgcGFja2FnZXIgZm9yIHRoYXQgc3lzdGVtIGFuZCBtYXkKK29iZXkgZGlmZmVyZW50IHJ1bGVzLCBidXQgdGhlIGFjdHVhbCBwbGFjZSBvbiB0aGUgZmlsZXN5c3RlbSAob3Igb24gYQorcmVzb3VyY2UgY2FjaGUgb24gdGhlIGxvY2FsIG5ldHdvcmspIHdpbGwgbm90IGluZmx1ZW5jZSB0aGUgcHJvY2Vzc2luZyBhcworbG9uZyBhcyBpdCBpcyBhdmFpbGFibGUuIFRoZSBmaXJzdCBydWxlIGluZGljYXRlIHRoYXQgaWYgdGhlIHJlZmVyZW5jZSB1c2VzIGEKK1BVQkxJQyBpZGVudGlmaWVyIGJlZ2lubmluZyB3aXRoIHRoZTwvcD4KKworPHA+PGNvZGU+Ii0vL1czQy8vRFREIFhIVE1MIDEuMCI8L2NvZGU+PC9wPgorCis8cD5zdWJzdHJpbmcsIHRoZW4gdGhlIGNhdGFsb2cgbG9va3VwIHNob3VsZCBiZSBsaW1pdGVkIHRvIHRoZSBzcGVjaWZpYyBnaXZlbgorbG9va3VwIGNhdGFsb2cuIFNpbWlsYXJseSB0aGUgc2Vjb25kIGFuZCB0aGlyZCBlbnRyaWVzIGluZGljYXRlIHRob3NlCitkZWxlZ2F0aW9uIHJ1bGVzIGZvciBTWVNURU0sIERPQ1RZUEUgb3Igbm9ybWFsIFVSSSByZWZlcmVuY2VzIHdoZW4gdGhlIFVSTAorc3RhcnRzIHdpdGggdGhlIDxjb2RlPiJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREIjwvY29kZT4gc3Vic3RyaW5nCit3aGljaCBpbmRpY2F0ZXMgdGhlIGxvY2F0aW9uIG9uIHRoZSBXM0Mgc2VydmVyIHdoZXJlIHRoZSBYSFRNTDEgcmVzb3VyY2VzIGFyZQorc3RvcmVkLiBUaG9zZSBhcmUgdGhlIGJlZ2lubmluZyBvZiBhbGwgQ2Fub25pY2FsIFVSTHMgZm9yIFhIVE1MMSByZXNvdXJjZXMuCitUaG9zZSB0aHJlZSBydWxlcyBhcmUgc3VmZmljaWVudCBpbiBwcmFjdGljZSB0byBjYXB0dXJlIGFsbCByZWZlcmVuY2VzIHRvIFhIVE1MMQorcmVzb3VyY2VzIGFuZCBkaXJlY3QgdGhlIHByb2Nlc3NpbmcgdG9vbHMgdG8gdGhlIHJpZ2h0IHN1YmNhdGFsb2cuPC9wPgorCis8aDM+QSBzdWJjYXRhbG9nIGV4YW1wbGU6PC9oMz4KKworPHA+SGVyZSBpcyB0aGUgY29tcGxldGUgc3ViY2F0YWxvZyB1c2VkIGZvciBYSFRNTDE6PC9wPgorPHByZT4mbHQ7P3htbCB2ZXJzaW9uPSIxLjAiPyZndDsKKyZsdDshRE9DVFlQRSBjYXRhbG9nIFBVQkxJQyAiLS8vT0FTSVMvL0RURCBFbnRpdHkgUmVzb2x1dGlvbiBYTUwgQ2F0YWxvZyBWMS4wLy9FTiIKKyAgICAgICAgICAiaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9jb21taXR0ZWVzL2VudGl0eS9yZWxlYXNlLzEuMC9jYXRhbG9nLmR0ZCImZ3Q7CismbHQ7Y2F0YWxvZyB4bWxucz0idXJuOm9hc2lzOm5hbWVzOnRjOmVudGl0eTp4bWxuczp4bWw6Y2F0YWxvZyImZ3Q7CisgICZsdDtwdWJsaWMgcHVibGljSWQ9Ii0vL1czQy8vRFREIFhIVE1MIDEuMCBTdHJpY3QvL0VOIgorICAgICAgICAgIHVyaT0ieGh0bWwxLTIwMDIwODAxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCIvJmd0OworICAmbHQ7cHVibGljIHB1YmxpY0lkPSItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIKKyAgICAgICAgICB1cmk9InhodG1sMS0yMDAyMDgwMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiLyZndDsKKyAgJmx0O3B1YmxpYyBwdWJsaWNJZD0iLS8vVzNDLy9EVEQgWEhUTUwgMS4wIEZyYW1lc2V0Ly9FTiIKKyAgICAgICAgICB1cmk9InhodG1sMS0yMDAyMDgwMS9EVEQveGh0bWwxLWZyYW1lc2V0LmR0ZCIvJmd0OworICAmbHQ7cmV3cml0ZVN5c3RlbSBzeXN0ZW1JZFN0YXJ0U3RyaW5nPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREIgorICAgICAgICAgIHJld3JpdGVQcmVmaXg9InhodG1sMS0yMDAyMDgwMS9EVEQiLyZndDsKKyAgJmx0O3Jld3JpdGVVUkkgdXJpU3RhcnRTdHJpbmc9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQiCisgICAgICAgICAgcmV3cml0ZVByZWZpeD0ieGh0bWwxLTIwMDIwODAxL0RURCIvJmd0OworJmx0Oy9jYXRhbG9nJmd0OzwvcHJlPgorCis8cD5UaGVyZSBhcmUgYSBmZXcgdGhpbmdzIHRvIG5vdGljZTo8L3A+Cis8dWw+CisgIDxsaT50aGlzIGlzIGFuIFhNTCByZXNvdXJjZSwgaXQgcG9pbnRzIHRvIHRoZSBEVEQgdXNpbmcgQ2Fub25pY2FsIFVSTHMsIHRoZQorICAgIHJvb3QgZWxlbWVudCBkZWZpbmVzIGEgbmFtZXNwYWNlIChidXQgYmFzZWQgb24gYW4gVVJOIG5vdCBhbiBIVFRQCisgIFVSTCkuPC9saT4KKyAgPGxpPml0IGNvbnRhaW5zIDUgcnVsZXMsIHRoZSAzIGZpcnN0IG9uZXMgYXJlIGRpcmVjdCBtYXBwaW5nIGZvciB0aGUgMworICAgIFBVQkxJQyBpZGVudGlmaWVycyBkZWZpbmVkIGJ5IHRoZSBYSFRNTDEgc3BlY2lmaWNhdGlvbiBhbmQgYXNzb2NpYXRpbmcKKyAgICB0aGVtIHdpdGggdGhlIGxvY2FsIHJlc291cmNlIGNvbnRhaW5pbmcgdGhlIERURCwgdGhlIDIgbGFzdCBvbmVzIGFyZQorICAgIHJld3JpdGUgcnVsZXMgYWxsb3dpbmcgdG8gYnVpbGQgdGhlIGxvY2FsIGZpbGVuYW1lIGZvciBhbnkgVVJMIGJhc2VkIG9uCisgICAgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQiLCB0aGUgbG9jYWwgY2FjaGUgc2ltcGxpZmllcyB0aGUgcnVsZXMgYnkKKyAgICBrZWVwaW5nIHRoZSBzYW1lIHN0cnVjdHVyZSBhcyB0aGUgb24tbGluZSBzZXJ2ZXIgYXQgdGhlIENhbm9uaWNhbCBVUkw8L2xpPgorICA8bGk+dGhlIGxvY2FsIHJlc291cmNlcyBhcmUgZGVzaWduYXRlZCB1c2luZyBVUkkgcmVmZXJlbmNlcyAodGhlIHVyaSBvcgorICAgIHJld3JpdGVQcmVmaXggYXR0cmlidXRlcyksIHRoZSBiYXNlIGJlaW5nIHRoZSBjb250YWluaW5nIHN1Yi1jYXRhbG9nIFVSTCwKKyAgICB3aGljaCBtZWFucyB0aGF0IGluIHByYWN0aWNlIHRoZSBjb3B5IG9mIHRoZSBYSFRNTDEgc3RyaWN0IERURCBpcyBzdG9yZWQKKyAgICBsb2NhbGx5IGluCisgICAgPGNvZGU+L3Vzci9zaGFyZS9zZ21sL3hodG1sMS94bWxjYXRhbG9nL3hodG1sMS0yMDAyMDgwMS9EVEQveGh0bWwxLXN0cmljdC5kdGQ8L2NvZGU+PC9saT4KKzwvdWw+CisKKzxwPlRob3NlIDUgcnVsZXMgYXJlIHN1ZmZpY2llbnQgdG8gY292ZXIgYWxsIHJlZmVyZW5jZXMgdG8gdGhlIHJlc291cmNlcyBoZWxkCithdCB0aGUgQ2Fub25pY2FsIFVSTCBmb3IgdGhlIFhIVE1MMSBEVERzLjwvcD4KKworPGgyPjxhIG5hbWU9IlBhY2thZ2UiPlBhY2thZ2UgaW50ZWdyYXRpb248L2E+PC9oMj4KKworPHA+Q3JlYXRpbmcgYW5kIHJlbW92aW5nIGNhdGFsb2dzIHNob3VsZCBiZSBoYW5kbGVkIGFzIHBhcnQgb2YgdGhlIHByb2Nlc3Mgb2YKKyh1bilpbnN0YWxsaW5nIHRoZSBsb2NhbCBjb3B5IG9mIHRoZSByZXNvdXJjZXMuIFRoZSBjYXRhbG9nIGZpbGVzIGJlaW5nIFhNTAorcmVzb3VyY2VzIHNob3VsZCBiZSBwcm9jZXNzZWQgd2l0aCBYTUwgYmFzZWQgdG9vbHMgdG8gYXZvaWQgcHJvYmxlbXMgd2l0aCB0aGUKK2dlbmVyYXRlZCBmaWxlcywgdGhlIHhtbGNhdGFsb2cgY29tbWFuZCBjb21pbmcgd2l0aCBsaWJ4bWwyIGFsbG93cyB5b3UgdG8gY3JlYXRlCitjYXRhbG9ncywgYW5kIGFkZCBvciByZW1vdmUgcnVsZXMgYXQgdGhhdCB0aW1lLiBIZXJlIGlzIGEgY29tcGxldGUgZXhhbXBsZQorY29taW5nIGZyb20gdGhlIFJQTSBmb3IgdGhlIFhIVE1MMSBEVERzIHBvc3QgaW5zdGFsbCBzY3JpcHQuIFdoaWxlIHRoaXMgZXhhbXBsZQoraXMgcGxhdGZvcm0gYW5kIHBhY2thZ2luZyBzcGVjaWZpYywgdGhpcyBjYW4gYmUgdXNlZnVsIGFzIGEgYW4gZXhhbXBsZSBpbgorb3RoZXIgY29udGV4dHM6PC9wPgorPHByZT4lcG9zdAorQ0FUQUxPRz0vdXNyL3NoYXJlL3NnbWwveGh0bWwxL3htbGNhdGFsb2cKKyMKKyMgUmVnaXN0ZXIgaXQgaW4gdGhlIHN1cGVyIGNhdGFsb2cgd2l0aCB0aGUgYXBwcm9wcmlhdGUgZGVsZWdhdGVzCisjCitST09UQ0FUQUxPRz0vZXRjL3htbC9jYXRhbG9nCisKK2lmIFsgISAtciAkUk9PVENBVEFMT0cgXQordGhlbgorICAgIC91c3IvYmluL3htbGNhdGFsb2cgLS1ub291dCAtLWNyZWF0ZSAkUk9PVENBVEFMT0cKK2ZpCisKK2lmIFsgLXcgJFJPT1RDQVRBTE9HIF0KK3RoZW4KKyAgICAgICAgL3Vzci9iaW4veG1sY2F0YWxvZyAtLW5vb3V0IC0tYWRkICJkZWxlZ2F0ZVB1YmxpYyIgXAorICAgICAgICAgICAgICAgICItLy9XM0MvL0RURCBYSFRNTCAxLjAiIFwKKyAgICAgICAgICAgICAgICAiZmlsZTovLyRDQVRBTE9HIiAkUk9PVENBVEFMT0cKKyAgICAgICAgL3Vzci9iaW4veG1sY2F0YWxvZyAtLW5vb3V0IC0tYWRkICJkZWxlZ2F0ZVN5c3RlbSIgXAorICAgICAgICAgICAgICAgICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREIiBcCisgICAgICAgICAgICAgICAgImZpbGU6Ly8kQ0FUQUxPRyIgJFJPT1RDQVRBTE9HCisgICAgICAgIC91c3IvYmluL3htbGNhdGFsb2cgLS1ub291dCAtLWFkZCAiZGVsZWdhdGVVUkkiIFwKKyAgICAgICAgICAgICAgICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURCIgXAorICAgICAgICAgICAgICAgICJmaWxlOi8vJENBVEFMT0ciICRST09UQ0FUQUxPRworZmk8L3ByZT4KKworPHA+VGhlIFhIVE1MMSBzdWJjYXRhbG9nIGlzIG5vdCBjcmVhdGVkIG9uLXRoZS1mbHkgaW4gdGhhdCBjYXNlLCBpdCBpcworaW5zdGFsbGVkIGFzIHBhcnQgb2YgdGhlIGZpbGVzIG9mIHRoZSBwYWNrYWdlcy4gU28gdGhlIG9ubHkgd29yayBuZWVkZWQgaXMgdG8KK21ha2Ugc3VyZSB0aGUgcm9vdCBjYXRhbG9nIGV4aXN0cyBhbmQgcmVnaXN0ZXIgdGhlIGRlbGVnYXRlIHJ1bGVzLjwvcD4KKworPHA+U2ltaWxhcmx5LCB0aGUgc2NyaXB0IGZvciB0aGUgcG9zdC11bmluc3RhbGwganVzdCByZW1vdmUgdGhlIHJ1bGVzIGZyb20gdGhlCitjYXRhbG9nOjwvcD4KKzxwcmU+JXBvc3R1bgorIworIyBPbiByZW1vdmFsLCB1bnJlZ2lzdGVyIHRoZSB4bWxjYXRhbG9nIGZyb20gdGhlIHN1cGVyY2F0YWxvZworIworaWYgWyAiJDEiID0gMCBdOyB0aGVuCisgICAgQ0FUQUxPRz0vdXNyL3NoYXJlL3NnbWwveGh0bWwxL3htbGNhdGFsb2cKKyAgICBST09UQ0FUQUxPRz0vZXRjL3htbC9jYXRhbG9nCisKKyAgICBpZiBbIC13ICRST09UQ0FUQUxPRyBdCisgICAgdGhlbgorICAgICAgICAgICAgL3Vzci9iaW4veG1sY2F0YWxvZyAtLW5vb3V0IC0tZGVsIFwKKyAgICAgICAgICAgICAgICAgICAgIi0vL1czQy8vRFREIFhIVE1MIDEuMCIgJFJPT1RDQVRBTE9HCisgICAgICAgICAgICAvdXNyL2Jpbi94bWxjYXRhbG9nIC0tbm9vdXQgLS1kZWwgXAorICAgICAgICAgICAgICAgICAgICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURCIgJFJPT1RDQVRBTE9HCisgICAgICAgICAgICAvdXNyL2Jpbi94bWxjYXRhbG9nIC0tbm9vdXQgLS1kZWwgXAorICAgICAgICAgICAgICAgICAgICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURCIgJFJPT1RDQVRBTE9HCisgICAgZmkKK2ZpPC9wcmU+CisKKzxwPk5vdGUgdGhlIHRlc3QgYWdhaW5zdCAkMSwgdGhpcyBpcyBuZWVkZWQgdG8gbm90IHJlbW92ZSB0aGUgZGVsZWdhdGUgcnVsZXMKK2luIGNhc2Ugb2YgdXBncmFkZSBvZiB0aGUgcGFja2FnZS48L3A+CisKKzxwPkZvbGxvd2luZyB0aGUgc2V0IG9mIGd1aWRlbGluZXMgYW5kIHRpcHMgcHJvdmlkZWQgaW4gdGhpcyBkb2N1bWVudCBzaG91bGQKK2hlbHAgZGVwbG95IHRoZSBYTUwgcmVzb3VyY2VzIGluIHRoZSBHTk9NRSBmcmFtZXdvcmsgd2l0aG91dCBtdWNoIHBhaW4gYW5kCitlbnN1cmUgYSBzbW9vdGggZXZvbHV0aW9uIG9mIHRoZSByZXNvdXJjZSBhbmQgaW5zdGFuY2VzLjwvcD4KKworPHA+PGEgaHJlZj0ibWFpbHRvOnZlaWxsYXJkQHJlZGhhdC5jb20iPkRhbmllbCBWZWlsbGFyZDwvYT48L3A+CisKKzxwPiRJZCQ8L3A+CisKKzxwPjwvcD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2hlbHAuaHRtbCBiL2xpYnhtbDIvZG9jL2hlbHAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZjFkZjJhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvaGVscC5odG1sCkBAIC0wLDAgKzEsMjYgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+PGxpbmsgcmVsPSJTSE9SVENVVCBJQ09OIiBocmVmPSIvZmF2aWNvbi5pY28iIC8+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK1REIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitCT0RZIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2E7IG1hcmdpbi10b3A6IDJlbTsgbWFyZ2luLWxlZnQ6IDBlbTsgbWFyZ2luLXJpZ2h0OiAwZW19CitIMSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDIge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gzIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitBOmxpbmssIEE6dmlzaXRlZCwgQTphY3RpdmUgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB9Cis8L3N0eWxlPjx0aXRsZT5Ib3cgdG8gaGVscDwvdGl0bGU+PC9oZWFkPjxib2R5IGJnY29sb3I9IiM4Yjc3NjUiIHRleHQ9IiMwMDAwMDAiIGxpbms9IiNhMDYwNjAiIHZsaW5rPSIjMDAwMDAwIj48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iMTAwJSIgY2VsbHBhZGRpbmc9IjUiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIHdpZHRoPSIxMjAiPjxhIGhyZWY9Imh0dHA6Ly9zd3BhdC5mZmlpLm9yZy8iPjxpbWcgc3JjPSJlcGF0ZW50cy5wbmciIGFsdD0iQWN0aW9uIGFnYWluc3Qgc29mdHdhcmUgcGF0ZW50cyIgLz48L2E+PC90ZD48dGQgd2lkdGg9IjE4MCI+PGEgaHJlZj0iaHR0cDovL3d3dy5nbm9tZS5vcmcvIj48aW1nIHNyYz0iZ25vbWUyLnBuZyIgYWx0PSJHbm9tZTIgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvU3RhdHVzIj48aW1nIHNyYz0idzNjLnBuZyIgYWx0PSJXM0MgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy5yZWRoYXQuY29tLyI+PGltZyBzcmM9InJlZGhhdC5naWYiIGFsdD0iUmVkIEhhdCBMb2dvIiAvPjwvYT48ZGl2IGFsaWduPSJsZWZ0Ij48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvIj48aW1nIHNyYz0iTGlieG1sMi1Mb2dvLTE4MHgxNjguZ2lmIiBhbHQ9Ik1hZGUgd2l0aCBMaWJ4bWwyIExvZ28iIC8+PC9hPjwvZGl2PjwvdGQ+PHRkPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSI5MCUiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIiBiZ2NvbG9yPSIjZmZmYWNkIj48dHI+PHRkIGFsaWduPSJjZW50ZXIiPjxoMT5UaGUgWE1MIEMgcGFyc2VyIGFuZCB0b29sa2l0IG9mIEdub21lPC9oMT48aDI+SG93IHRvIGhlbHA8L2gyPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI0IiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCB2YWxpZ249InRvcCIgd2lkdGg9IjIwMCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+TWFpbiBNZW51PC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjxmb3JtIGFjdGlvbj0ic2VhcmNoLnBocCIgZW5jdHlwZT0iYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIiBtZXRob2Q9ImdldCI+PGlucHV0IG5hbWU9InF1ZXJ5IiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IiIgLz48aW5wdXQgbmFtZT0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJTZWFyY2ggLi4uIiAvPjwvZm9ybT48dWw+PGxpPjxhIGhyZWY9ImluZGV4Lmh0bWwiPkhvbWU8L2E+PC9saT48bGk+PGEgaHJlZj0iaHRtbC9pbmRleC5odG1sIj5SZWZlcmVuY2UgTWFudWFsPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImludHJvLmh0bWwiPkludHJvZHVjdGlvbjwvYT48L2xpPjxsaT48YSBocmVmPSJGQVEuaHRtbCI+RkFRPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImRvY3MuaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPkRldmVsb3BlciBNZW51PC9hPjwvbGk+PGxpPjxhIGhyZWY9ImJ1Z3MuaHRtbCI+UmVwb3J0aW5nIGJ1Z3MgYW5kIGdldHRpbmcgaGVscDwvYT48L2xpPjxsaT48YSBocmVmPSJoZWxwLmh0bWwiPkhvdyB0byBoZWxwPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImRvd25sb2Fkcy5odG1sIj5Eb3dubG9hZHM8L2E+PC9saT48bGk+PGEgaHJlZj0ibmV3cy5odG1sIj5SZWxlYXNlczwvYT48L2xpPjxsaT48YSBocmVmPSJYTUxpbmZvLmh0bWwiPlhNTDwvYT48L2xpPjxsaT48YSBocmVmPSJYU0xULmh0bWwiPlhTTFQ8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1sZHRkLmh0bWwiPlZhbGlkYXRpb24gJmFtcDsgRFREczwvYT48L2xpPjxsaT48YSBocmVmPSJlbmNvZGluZy5odG1sIj5FbmNvZGluZ3Mgc3VwcG9ydDwvYT48L2xpPjxsaT48YSBocmVmPSJjYXRhbG9nLmh0bWwiPkNhdGFsb2cgc3VwcG9ydDwvYT48L2xpPjxsaT48YSBocmVmPSJuYW1lc3BhY2VzLmh0bWwiPk5hbWVzcGFjZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iY29udHJpYnMuaHRtbCI+Q29udHJpYnV0aW9uczwvYT48L2xpPjxsaT48YSBocmVmPSJleGFtcGxlcy9pbmRleC5odG1sIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+Q29kZSBFeGFtcGxlczwvYT48L2xpPjxsaT48YSBocmVmPSJodG1sL2luZGV4Lmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5BUEkgTWVudTwvYT48L2xpPjxsaT48YSBocmVmPSJndWlkZWxpbmVzLmh0bWwiPlhNTCBHdWlkZWxpbmVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkNoYW5nZUxvZy5odG1sIj5SZWNlbnQgQ2hhbmdlczwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPlJlbGF0ZWQgbGlua3M8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSJodHRwOi8vbWFpbC5nbm9tZS5vcmcvYXJjaGl2ZXMveG1sLyI+TWFpbCBhcmNoaXZlPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9YU0xULyI+WFNMVCBsaWJ4c2x0PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9waGQuY3MudW5pYm8uaXQvZ2RvbWUyLyI+RE9NIGdkb21lMjwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmFsZWtzZXkuY29tL3htbHNlYy8iPlhNTC1EU2lnIHhtbHNlYzwvYT48L2xpPjxsaT48YSBocmVmPSJmdHA6Ly94bWxzb2Z0Lm9yZy8iPkZUUDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnpsYXRrb3ZpYy5jb20vcHJvamVjdHMvbGlieG1sLyI+V2luZG93cyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vb3BlbmNzdy5vcmcvcGFja2FnZXMvbGlieG1sMiI+U29sYXJpcyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmV4cGxhaW4uY29tLmF1L29zcy9saWJ4bWwyeHNsdC5odG1sIj5NYWNPc1ggYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2x4bWwuZGUvIj5seG1sIFB5dGhvbiBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vY3Bhbi51d2lubmlwZWcuY2EvZGlzdC9YTUwtTGliWE1MIj5QZXJsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWxwbHVzcGx1cy5zb3VyY2Vmb3JnZS5uZXQvIj5DKysgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56ZW5kLmNvbS9waHA1L2FydGljbGVzL3BocDUteG1scGhwLnBocCNIZWFkaW5nNCI+UEhQIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbGlieG1sMi1wYXMvIj5QYXNjYWwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbC5ydWJ5Zm9yZ2Uub3JnLyI+UnVieSBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vdGNseG1sLnNvdXJjZWZvcmdlLm5ldC8iPlRjbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2J1Z2xpc3QuY2dpP3Byb2R1Y3Q9bGlieG1sMiI+QnVnIFRyYWNrZXI8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48cD5Zb3UgY2FuIGhlbHAgdGhlIHByb2plY3QgaW4gdmFyaW91cyB3YXlzLCB0aGUgYmVzdCB0aGluZyB0byBkbyBmaXJzdCBpcyB0bworc3Vic2NyaWJlIHRvIHRoZSBtYWlsaW5nLWxpc3QgYXMgZXhwbGFpbmVkIGJlZm9yZSwgY2hlY2sgdGhlIDxhIGhyZWY9Imh0dHA6Ly9tYWlsLmdub21lLm9yZy9hcmNoaXZlcy94bWwvIj5hcmNoaXZlcyA8L2E+YW5kIHRoZSA8YSBocmVmPSJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2J1Z2xpc3QuY2dpP3Byb2R1Y3Q9bGlieG1sMiI+R25vbWUgYnVnCitkYXRhYmFzZTwvYT46PC9wPjxvbD4KKyAgPGxpPlByb3ZpZGUgcGF0Y2hlcyB3aGVuIHlvdSBmaW5kIHByb2JsZW1zLjwvbGk+CisgIDxsaT5Qcm92aWRlIHRoZSBkaWZmcyB3aGVuIHlvdSBwb3J0IGxpYnhtbDIgdG8gYSBuZXcgcGxhdGZvcm0uIFRoZXkgbWF5IG5vdAorICAgIGJlIGludGVncmF0ZWQgaW4gYWxsIGNhc2VzIGJ1dCBoZWxwIHBpbnBvaW50aW5nIHBvcnRhYmlsaXR5IHByb2JsZW1zCisgIGFuZDwvbGk+CisgIDxsaT5Qcm92aWRlIGRvY3VtZW50YXRpb24gZml4ZXMgKGVpdGhlciBhcyBwYXRjaGVzIHRvIHRoZSBjb2RlIGNvbW1lbnRzIG9yCisgICAgYXMgSFRNTCBkaWZmcykuPC9saT4KKyAgPGxpPlByb3ZpZGUgbmV3IGRvY3VtZW50YXRpb25zIHBpZWNlcyAodHJhbnNsYXRpb25zLCBleGFtcGxlcywgZXRjCisgIC4uLikuPC9saT4KKyAgPGxpPkNoZWNrIHRoZSBUT0RPIGZpbGUgYW5kIHRyeSB0byBjbG9zZSBvbmUgb2YgdGhlIGl0ZW1zLjwvbGk+CisgIDxsaT5UYWtlIG9uZSBvZiB0aGUgcG9pbnRzIHJhaXNlZCBpbiB0aGUgYXJjaGl2ZSBvciB0aGUgYnVnIGRhdGFiYXNlIGFuZAorICAgIHByb3ZpZGUgYSBmaXguIDxhIGhyZWY9Im1haWx0bzpkYW5pZWxAdmVpbGxhcmQuY29tIj5HZXQgaW4gdG91Y2ggd2l0aCBtZQorICAgIDwvYT5iZWZvcmUgdG8gYXZvaWQgc3luY2hyb25pemF0aW9uIHByb2JsZW1zIGFuZCBjaGVjayB0aGF0IHRoZSBzdWdnZXN0ZWQKKyAgICBmaXggd2lsbCBmaXQgaW4gbmljZWx5IDotKTwvbGk+Cis8L29sPjxwPjxhIGhyZWY9ImJ1Z3MuaHRtbCI+RGFuaWVsIFZlaWxsYXJkPC9hPjwvcD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvaHRtbC9ib29rMS5odG1sIGIvbGlieG1sMi9kb2MvaHRtbC9ib29rMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFhNTgyMTAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9odG1sL2Jvb2sxLmh0bWwKQEAgLTAsMCArMSwxMyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIj4KKzxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj48aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz48bGluayByZWw9IlNIT1JUQ1VUIElDT04iIGhyZWY9Ii9mYXZpY29uLmljbyIgLz48c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorVEQge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0JPRFkge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYTsgbWFyZ2luLXRvcDogMmVtOyBtYXJnaW4tbGVmdDogMGVtOyBtYXJnaW4tcmlnaHQ6IDBlbX0KK0gxIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMiB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDMge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0E6bGluaywgQTp2aXNpdGVkLCBBOmFjdGl2ZSB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIH0KKzwvc3R5bGU+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKyAgICAgIGRpdi5kZXByZWNhdGVkIHByZS5wcm9ncmFtbGlzdGluZyB7Ym9yZGVyLXN0eWxlOiBkb3VibGU7Ym9yZGVyLWNvbG9yOnJlZH0KKyAgICAgIHByZS5wcm9ncmFtbGlzdGluZyB7Ym9yZGVyLXN0eWxlOiBkb3VibGU7YmFja2dyb3VuZDogI0VFQ0ZBMX0KKyAgICA8L3N0eWxlPjx0aXRsZT5SZWZlcmVuY2UgTWFudWFsIGZvciBsaWJ4bWwyPC90aXRsZT48L2hlYWQ+PGJvZHkgYmdjb2xvcj0iIzhiNzc2NSIgdGV4dD0iIzAwMDAwMCIgbGluaz0iI2EwNjA2MCIgdmxpbms9IiMwMDAwMDAiPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSIxMDAlIiBjZWxscGFkZGluZz0iNSIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgd2lkdGg9IjEyMCI+PGEgaHJlZj0iaHR0cDovL3N3cGF0LmZmaWkub3JnLyI+PGltZyBzcmM9Ii4uL2VwYXRlbnRzLnBuZyIgYWx0PSJBY3Rpb24gYWdhaW5zdCBzb2Z0d2FyZSBwYXRlbnRzIiAvPjwvYT48L3RkPjx0ZCB3aWR0aD0iMTgwIj48YSBocmVmPSJodHRwOi8vd3d3Lmdub21lLm9yZy8iPjxpbWcgc3JjPSIuLi9nbm9tZTIucG5nIiBhbHQ9Ikdub21lMiBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9TdGF0dXMiPjxpbWcgc3JjPSIuLi93M2MucG5nIiBhbHQ9IlczQyBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnJlZGhhdC5jb20vIj48aW1nIHNyYz0iLi4vcmVkaGF0LmdpZiIgYWx0PSJSZWQgSGF0IExvZ28iIC8+PC9hPjxkaXYgYWxpZ249ImxlZnQiPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy8iPjxpbWcgc3JjPSIuLi9MaWJ4bWwyLUxvZ28tMTgweDE2OC5naWYiIGFsdD0iTWFkZSB3aXRoIExpYnhtbDIgTG9nbyIgLz48L2E+PC9kaXY+PC90ZD48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjkwJSIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiIGJnY29sb3I9IiNmZmZhY2QiPjx0cj48dGQgYWxpZ249ImNlbnRlciI+PGgxPjwvaDE+PGgyPlJlZmVyZW5jZSBNYW51YWwgZm9yIGxpYnhtbDI8L2gyPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI0IiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCB2YWxpZ249InRvcCIgd2lkdGg9IjIwMCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+QVBJIE1lbnU8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PGZvcm0gYWN0aW9uPSIuLi9zZWFyY2gucGhwIiBlbmN0eXBlPSJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiIG1ldGhvZD0iZ2V0Ij48aW5wdXQgbmFtZT0icXVlcnkiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iIiAvPjxpbnB1dCBuYW1lPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNlYXJjaCAuLi4iIC8+PC9mb3JtPjx1bD48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9Ii4uL2luZGV4Lmh0bWwiPk1haW4gTWVudTwvYT48L2xpPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iLi4vZG9jcy5odG1sIj5EZXZlbG9wZXIgTWVudTwvYT48L2xpPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iLi4vZXhhbXBsZXMvaW5kZXguaHRtbCI+Q29kZSBFeGFtcGxlczwvYT48L2xpPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iaW5kZXguaHRtbCI+QVBJIE1lbnU8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXBhcnNlci5odG1sIj5QYXJzZXIgQVBJPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwiPlRyZWUgQVBJPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCI+UmVhZGVyIEFQSTwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9ndWlkZWxpbmVzLmh0bWwiPlhNTCBHdWlkZWxpbmVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0NoYW5nZUxvZy5odG1sIj5DaGFuZ2VMb2c8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5BUEkgSW5kZXhlczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9Ii4uL0FQSWNodW5rMC5odG1sIj5BbHBoYWJldGljPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSWNvbnN0cnVjdG9ycy5odG1sIj5Db25zdHJ1Y3RvcnM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJZnVuY3Rpb25zLmh0bWwiPkZ1bmN0aW9ucy9UeXBlczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUElmaWxlcy5odG1sIj5Nb2R1bGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSXN5bWJvbHMuaHRtbCI+U3ltYm9sczwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPlJlbGF0ZWQgbGlua3M8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSJodHRwOi8vbWFpbC5nbm9tZS5vcmcvYXJjaGl2ZXMveG1sLyI+TWFpbCBhcmNoaXZlPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9YU0xULyI+WFNMVCBsaWJ4c2x0PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9waGQuY3MudW5pYm8uaXQvZ2RvbWUyLyI+RE9NIGdkb21lMjwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmFsZWtzZXkuY29tL3htbHNlYy8iPlhNTC1EU2lnIHhtbHNlYzwvYT48L2xpPjxsaT48YSBocmVmPSJmdHA6Ly94bWxzb2Z0Lm9yZy8iPkZUUDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnpsYXRrb3ZpYy5jb20vcHJvamVjdHMvbGlieG1sLyI+V2luZG93cyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vb3BlbmNzdy5vcmcvcGFja2FnZXMvbGlieG1sMiI+U29sYXJpcyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmV4cGxhaW4uY29tLmF1L29zcy9saWJ4bWwyeHNsdC5odG1sIj5NYWNPc1ggYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2x4bWwuZGUvIj5seG1sIFB5dGhvbiBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vY3Bhbi51d2lubmlwZWcuY2EvZGlzdC9YTUwtTGliWE1MIj5QZXJsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWxwbHVzcGx1cy5zb3VyY2Vmb3JnZS5uZXQvIj5DKysgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56ZW5kLmNvbS9waHA1L2FydGljbGVzL3BocDUteG1scGhwLnBocCNIZWFkaW5nNCI+UEhQIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbGlieG1sMi1wYXMvIj5QYXNjYWwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbC5ydWJ5Zm9yZ2Uub3JnLyI+UnVieSBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vdGNseG1sLnNvdXJjZWZvcmdlLm5ldC8iPlRjbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2J1Z2xpc3QuY2dpP3Byb2R1Y3Q9bGlieG1sMiI+QnVnIFRyYWNrZXI8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48aDI+VGFibGUgb2YgQ29udGVudHM8L2gyPjx1bD48bGk+PGEgaHJlZj0ibGlieG1sLURPQ0JwYXJzZXIuaHRtbCI+RE9DQnBhcnNlcjwvYT46IG9sZCBEb2NCb29rIFNHTUwgcGFyc2VyPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLUhUTUxwYXJzZXIuaHRtbCI+SFRNTHBhcnNlcjwvYT46IGludGVyZmFjZSBmb3IgYW4gSFRNTCA0LjAgbm9uLXZlcmlmeWluZyBwYXJzZXI8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtSFRNTHRyZWUuaHRtbCI+SFRNTHRyZWU8L2E+OiBzcGVjaWZpYyBBUElzIHRvIHByb2Nlc3MgSFRNTCB0cmVlLCBlc3BlY2lhbGx5IHNlcmlhbGl6YXRpb248L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwiPlNBWDwvYT46IE9sZCBTQVggdmVyc2lvbiAxIGhhbmRsZXIsIGRlcHJlY2F0ZWQ8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtU0FYMi5odG1sIj5TQVgyPC9hPjogU0FYMiBwYXJzZXIgaW50ZXJmYWNlIHVzZWQgdG8gYnVpbGQgdGhlIERPTSB0cmVlPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLWMxNG4uaHRtbCI+YzE0bjwvYT46IFByb3ZpZGUgQ2Fub25pY2FsIFhNTCBhbmQgRXhjbHVzaXZlIFhNTCBDYW5vbmljYWxpemF0aW9uPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLWNhdGFsb2cuaHRtbCI+Y2F0YWxvZzwvYT46IGludGVyZmFjZXMgdG8gdGhlIENhdGFsb2cgaGFuZGxpbmcgc3lzdGVtPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLWNodmFsaWQuaHRtbCI+Y2h2YWxpZDwvYT46IFVuaWNvZGUgY2hhcmFjdGVyIHJhbmdlIGNoZWNraW5nPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLWRlYnVnWE1MLmh0bWwiPmRlYnVnWE1MPC9hPjogVHJlZSBkZWJ1Z2dpbmcgQVBJczwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1kaWN0Lmh0bWwiPmRpY3Q8L2E+OiBzdHJpbmcgZGljdGlvbm5hcnk8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtZW5jb2RpbmcuaHRtbCI+ZW5jb2Rpbmc8L2E+OiBpbnRlcmZhY2UgZm9yIHRoZSBlbmNvZGluZyBjb252ZXJzaW9uIGZ1bmN0aW9uczwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1lbnRpdGllcy5odG1sIj5lbnRpdGllczwvYT46IGludGVyZmFjZSBmb3IgdGhlIFhNTCBlbnRpdGllcyBoYW5kbGluZzwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1nbG9iYWxzLmh0bWwiPmdsb2JhbHM8L2E+OiBpbnRlcmZhY2UgZm9yIGFsbCBnbG9iYWwgdmFyaWFibGVzIG9mIHRoZSBsaWJyYXJ5PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLWhhc2guaHRtbCI+aGFzaDwvYT46IENoYWluZWQgaGFzaCB0YWJsZXM8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtbGlzdC5odG1sIj5saXN0PC9hPjogbGlzdHMgaW50ZXJmYWNlczwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1uYW5vZnRwLmh0bWwiPm5hbm9mdHA8L2E+OiBtaW5pbWFsIEZUUCBpbXBsZW1lbnRhdGlvbjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1uYW5vaHR0cC5odG1sIj5uYW5vaHR0cDwvYT46IG1pbmltYWwgSFRUUCBpbXBsZW1lbnRhdGlvbjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1wYXJzZXIuaHRtbCI+cGFyc2VyPC9hPjogdGhlIGNvcmUgcGFyc2VyIG1vZHVsZTwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCI+cGFyc2VySW50ZXJuYWxzPC9hPjogaW50ZXJuYWxzIHJvdXRpbmVzIGFuZCBsaW1pdHMgZXhwb3J0ZWQgYnkgdGhlIHBhcnNlci48L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtcGF0dGVybi5odG1sIj5wYXR0ZXJuPC9hPjogcGF0dGVybiBleHByZXNzaW9uIGhhbmRsaW5nPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXJlbGF4bmcuaHRtbCI+cmVsYXhuZzwvYT46IGltcGxlbWVudGF0aW9uIG9mIHRoZSBSZWxheC1ORyB2YWxpZGF0aW9uPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCI+c2NoZW1hc0ludGVybmFsczwvYT46IGludGVybmFsIGludGVyZmFjZXMgZm9yIFhNTCBTY2hlbWFzPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXNjaGVtYXRyb24uaHRtbCI+c2NoZW1hdHJvbjwvYT46IFhNTCBTY2hlbWFzdHJvbiBpbXBsZW1lbnRhdGlvbjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC10aHJlYWRzLmh0bWwiPnRocmVhZHM8L2E+OiBpbnRlcmZhY2VzIGZvciB0aHJlYWQgaGFuZGxpbmc8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sIj50cmVlPC9hPjogaW50ZXJmYWNlcyBmb3IgdHJlZSBtYW5pcHVsYXRpb248L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtdXJpLmh0bWwiPnVyaTwvYT46IGxpYnJhcnkgb2YgZ2VuZXJpYyBVUkkgcmVsYXRlZCByb3V0aW5lczwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC12YWxpZC5odG1sIj52YWxpZDwvYT46IFRoZSBEVEQgdmFsaWRhdGlvbjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14aW5jbHVkZS5odG1sIj54aW5jbHVkZTwvYT46IGltcGxlbWVudGF0aW9uIG9mIFhJbmNsdWRlPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhsaW5rLmh0bWwiPnhsaW5rPC9hPjogdW5maW5pc2hlZCBYTGluayBkZXRlY3Rpb24gbW9kdWxlPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbElPLmh0bWwiPnhtbElPPC9hPjogaW50ZXJmYWNlIGZvciB0aGUgSS9PIGludGVyZmFjZXMgdXNlZCBieSB0aGUgcGFyc2VyPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbGF1dG9tYXRhLmh0bWwiPnhtbGF1dG9tYXRhPC9hPjogQVBJIHRvIGJ1aWxkIHJlZ2V4cCBhdXRvbWF0YTwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14bWxlcnJvci5odG1sIj54bWxlcnJvcjwvYT46IGVycm9yIGhhbmRsaW5nPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbGV4cG9ydHMuaHRtbCI+eG1sZXhwb3J0czwvYT46IG1hY3JvcyBmb3IgbWFya2luZyBzeW1ib2xzIGFzIGV4cG9ydGFibGUvaW1wb3J0YWJsZS48L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteG1sbWVtb3J5Lmh0bWwiPnhtbG1lbW9yeTwvYT46IGludGVyZmFjZSBmb3IgdGhlIG1lbW9yeSBhbGxvY2F0b3I8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteG1sbW9kdWxlLmh0bWwiPnhtbG1vZHVsZTwvYT46IGR5bmFtaWMgbW9kdWxlIGxvYWRpbmc8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwiPnhtbHJlYWRlcjwvYT46IHRoZSBYTUxSZWFkZXIgaW1wbGVtZW50YXRpb248L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteG1scmVnZXhwLmh0bWwiPnhtbHJlZ2V4cDwvYT46IHJlZ3VsYXIgZXhwcmVzc2lvbnMgaGFuZGxpbmc8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteG1sc2F2ZS5odG1sIj54bWxzYXZlPC9hPjogdGhlIFhNTCBkb2N1bWVudCBzZXJpYWxpemVyPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbHNjaGVtYXMuaHRtbCI+eG1sc2NoZW1hczwvYT46IGluY29tcGxldGUgWE1MIFNjaGVtYXMgc3RydWN0dXJlIGltcGxlbWVudGF0aW9uPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sIj54bWxzY2hlbWFzdHlwZXM8L2E+OiBpbXBsZW1lbnRhdGlvbiBvZiBYTUwgU2NoZW1hIERhdGF0eXBlczwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCI+eG1sc3RyaW5nPC9hPjogc2V0IG9mIHJvdXRpbmVzIHRvIHByb2Nlc3Mgc3RyaW5nczwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14bWx1bmljb2RlLmh0bWwiPnhtbHVuaWNvZGU8L2E+OiBVbmljb2RlIGNoYXJhY3RlciBBUElzPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbHZlcnNpb24uaHRtbCI+eG1sdmVyc2lvbjwvYT46IGNvbXBpbGUtdGltZSB2ZXJzaW9uIGluZm9ybWF0aW9uczwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCI+eG1sd3JpdGVyPC9hPjogdGV4dCB3cml0aW5nIEFQSSBmb3IgWE1MPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwiPnhwYXRoPC9hPjogWE1MIFBhdGggTGFuZ3VhZ2UgaW1wbGVtZW50YXRpb248L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCI+eHBhdGhJbnRlcm5hbHM8L2E+OiBpbnRlcm5hbCBpbnRlcmZhY2VzIGZvciBYTUwgUGF0aCBMYW5ndWFnZSBpbXBsZW1lbnRhdGlvbjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14cG9pbnRlci5odG1sIj54cG9pbnRlcjwvYT46IEFQSSB0byBoYW5kbGUgWE1MIFBvaW50ZXJzPC9saT48L3VsPjxwPjxhIGhyZWY9Ii4uL2J1Z3MuaHRtbCI+RGFuaWVsIFZlaWxsYXJkPC9hPjwvcD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvaHRtbC9ob21lLnBuZyBiL2xpYnhtbDIvZG9jL2h0bWwvaG9tZS5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTcwMDM2MQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL2h0bWwvaG9tZS5wbmcKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvaHRtbC9pbmRleC5odG1sIGIvbGlieG1sMi9kb2MvaHRtbC9pbmRleC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFhNTgyMTAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9odG1sL2luZGV4Lmh0bWwKQEAgLTAsMCArMSwxMyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIj4KKzxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj48aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz48bGluayByZWw9IlNIT1JUQ1VUIElDT04iIGhyZWY9Ii9mYXZpY29uLmljbyIgLz48c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorVEQge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0JPRFkge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYTsgbWFyZ2luLXRvcDogMmVtOyBtYXJnaW4tbGVmdDogMGVtOyBtYXJnaW4tcmlnaHQ6IDBlbX0KK0gxIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMiB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDMge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0E6bGluaywgQTp2aXNpdGVkLCBBOmFjdGl2ZSB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIH0KKzwvc3R5bGU+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKyAgICAgIGRpdi5kZXByZWNhdGVkIHByZS5wcm9ncmFtbGlzdGluZyB7Ym9yZGVyLXN0eWxlOiBkb3VibGU7Ym9yZGVyLWNvbG9yOnJlZH0KKyAgICAgIHByZS5wcm9ncmFtbGlzdGluZyB7Ym9yZGVyLXN0eWxlOiBkb3VibGU7YmFja2dyb3VuZDogI0VFQ0ZBMX0KKyAgICA8L3N0eWxlPjx0aXRsZT5SZWZlcmVuY2UgTWFudWFsIGZvciBsaWJ4bWwyPC90aXRsZT48L2hlYWQ+PGJvZHkgYmdjb2xvcj0iIzhiNzc2NSIgdGV4dD0iIzAwMDAwMCIgbGluaz0iI2EwNjA2MCIgdmxpbms9IiMwMDAwMDAiPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSIxMDAlIiBjZWxscGFkZGluZz0iNSIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgd2lkdGg9IjEyMCI+PGEgaHJlZj0iaHR0cDovL3N3cGF0LmZmaWkub3JnLyI+PGltZyBzcmM9Ii4uL2VwYXRlbnRzLnBuZyIgYWx0PSJBY3Rpb24gYWdhaW5zdCBzb2Z0d2FyZSBwYXRlbnRzIiAvPjwvYT48L3RkPjx0ZCB3aWR0aD0iMTgwIj48YSBocmVmPSJodHRwOi8vd3d3Lmdub21lLm9yZy8iPjxpbWcgc3JjPSIuLi9nbm9tZTIucG5nIiBhbHQ9Ikdub21lMiBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9TdGF0dXMiPjxpbWcgc3JjPSIuLi93M2MucG5nIiBhbHQ9IlczQyBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnJlZGhhdC5jb20vIj48aW1nIHNyYz0iLi4vcmVkaGF0LmdpZiIgYWx0PSJSZWQgSGF0IExvZ28iIC8+PC9hPjxkaXYgYWxpZ249ImxlZnQiPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy8iPjxpbWcgc3JjPSIuLi9MaWJ4bWwyLUxvZ28tMTgweDE2OC5naWYiIGFsdD0iTWFkZSB3aXRoIExpYnhtbDIgTG9nbyIgLz48L2E+PC9kaXY+PC90ZD48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjkwJSIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiIGJnY29sb3I9IiNmZmZhY2QiPjx0cj48dGQgYWxpZ249ImNlbnRlciI+PGgxPjwvaDE+PGgyPlJlZmVyZW5jZSBNYW51YWwgZm9yIGxpYnhtbDI8L2gyPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI0IiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCB2YWxpZ249InRvcCIgd2lkdGg9IjIwMCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+QVBJIE1lbnU8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PGZvcm0gYWN0aW9uPSIuLi9zZWFyY2gucGhwIiBlbmN0eXBlPSJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiIG1ldGhvZD0iZ2V0Ij48aW5wdXQgbmFtZT0icXVlcnkiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iIiAvPjxpbnB1dCBuYW1lPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNlYXJjaCAuLi4iIC8+PC9mb3JtPjx1bD48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9Ii4uL2luZGV4Lmh0bWwiPk1haW4gTWVudTwvYT48L2xpPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iLi4vZG9jcy5odG1sIj5EZXZlbG9wZXIgTWVudTwvYT48L2xpPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iLi4vZXhhbXBsZXMvaW5kZXguaHRtbCI+Q29kZSBFeGFtcGxlczwvYT48L2xpPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iaW5kZXguaHRtbCI+QVBJIE1lbnU8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXBhcnNlci5odG1sIj5QYXJzZXIgQVBJPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwiPlRyZWUgQVBJPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCI+UmVhZGVyIEFQSTwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9ndWlkZWxpbmVzLmh0bWwiPlhNTCBHdWlkZWxpbmVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0NoYW5nZUxvZy5odG1sIj5DaGFuZ2VMb2c8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5BUEkgSW5kZXhlczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9Ii4uL0FQSWNodW5rMC5odG1sIj5BbHBoYWJldGljPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSWNvbnN0cnVjdG9ycy5odG1sIj5Db25zdHJ1Y3RvcnM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJZnVuY3Rpb25zLmh0bWwiPkZ1bmN0aW9ucy9UeXBlczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUElmaWxlcy5odG1sIj5Nb2R1bGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSXN5bWJvbHMuaHRtbCI+U3ltYm9sczwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPlJlbGF0ZWQgbGlua3M8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSJodHRwOi8vbWFpbC5nbm9tZS5vcmcvYXJjaGl2ZXMveG1sLyI+TWFpbCBhcmNoaXZlPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9YU0xULyI+WFNMVCBsaWJ4c2x0PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9waGQuY3MudW5pYm8uaXQvZ2RvbWUyLyI+RE9NIGdkb21lMjwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmFsZWtzZXkuY29tL3htbHNlYy8iPlhNTC1EU2lnIHhtbHNlYzwvYT48L2xpPjxsaT48YSBocmVmPSJmdHA6Ly94bWxzb2Z0Lm9yZy8iPkZUUDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnpsYXRrb3ZpYy5jb20vcHJvamVjdHMvbGlieG1sLyI+V2luZG93cyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vb3BlbmNzdy5vcmcvcGFja2FnZXMvbGlieG1sMiI+U29sYXJpcyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmV4cGxhaW4uY29tLmF1L29zcy9saWJ4bWwyeHNsdC5odG1sIj5NYWNPc1ggYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2x4bWwuZGUvIj5seG1sIFB5dGhvbiBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vY3Bhbi51d2lubmlwZWcuY2EvZGlzdC9YTUwtTGliWE1MIj5QZXJsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWxwbHVzcGx1cy5zb3VyY2Vmb3JnZS5uZXQvIj5DKysgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56ZW5kLmNvbS9waHA1L2FydGljbGVzL3BocDUteG1scGhwLnBocCNIZWFkaW5nNCI+UEhQIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbGlieG1sMi1wYXMvIj5QYXNjYWwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbC5ydWJ5Zm9yZ2Uub3JnLyI+UnVieSBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vdGNseG1sLnNvdXJjZWZvcmdlLm5ldC8iPlRjbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2J1Z2xpc3QuY2dpP3Byb2R1Y3Q9bGlieG1sMiI+QnVnIFRyYWNrZXI8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48aDI+VGFibGUgb2YgQ29udGVudHM8L2gyPjx1bD48bGk+PGEgaHJlZj0ibGlieG1sLURPQ0JwYXJzZXIuaHRtbCI+RE9DQnBhcnNlcjwvYT46IG9sZCBEb2NCb29rIFNHTUwgcGFyc2VyPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLUhUTUxwYXJzZXIuaHRtbCI+SFRNTHBhcnNlcjwvYT46IGludGVyZmFjZSBmb3IgYW4gSFRNTCA0LjAgbm9uLXZlcmlmeWluZyBwYXJzZXI8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtSFRNTHRyZWUuaHRtbCI+SFRNTHRyZWU8L2E+OiBzcGVjaWZpYyBBUElzIHRvIHByb2Nlc3MgSFRNTCB0cmVlLCBlc3BlY2lhbGx5IHNlcmlhbGl6YXRpb248L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwiPlNBWDwvYT46IE9sZCBTQVggdmVyc2lvbiAxIGhhbmRsZXIsIGRlcHJlY2F0ZWQ8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtU0FYMi5odG1sIj5TQVgyPC9hPjogU0FYMiBwYXJzZXIgaW50ZXJmYWNlIHVzZWQgdG8gYnVpbGQgdGhlIERPTSB0cmVlPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLWMxNG4uaHRtbCI+YzE0bjwvYT46IFByb3ZpZGUgQ2Fub25pY2FsIFhNTCBhbmQgRXhjbHVzaXZlIFhNTCBDYW5vbmljYWxpemF0aW9uPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLWNhdGFsb2cuaHRtbCI+Y2F0YWxvZzwvYT46IGludGVyZmFjZXMgdG8gdGhlIENhdGFsb2cgaGFuZGxpbmcgc3lzdGVtPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLWNodmFsaWQuaHRtbCI+Y2h2YWxpZDwvYT46IFVuaWNvZGUgY2hhcmFjdGVyIHJhbmdlIGNoZWNraW5nPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLWRlYnVnWE1MLmh0bWwiPmRlYnVnWE1MPC9hPjogVHJlZSBkZWJ1Z2dpbmcgQVBJczwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1kaWN0Lmh0bWwiPmRpY3Q8L2E+OiBzdHJpbmcgZGljdGlvbm5hcnk8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtZW5jb2RpbmcuaHRtbCI+ZW5jb2Rpbmc8L2E+OiBpbnRlcmZhY2UgZm9yIHRoZSBlbmNvZGluZyBjb252ZXJzaW9uIGZ1bmN0aW9uczwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1lbnRpdGllcy5odG1sIj5lbnRpdGllczwvYT46IGludGVyZmFjZSBmb3IgdGhlIFhNTCBlbnRpdGllcyBoYW5kbGluZzwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1nbG9iYWxzLmh0bWwiPmdsb2JhbHM8L2E+OiBpbnRlcmZhY2UgZm9yIGFsbCBnbG9iYWwgdmFyaWFibGVzIG9mIHRoZSBsaWJyYXJ5PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLWhhc2guaHRtbCI+aGFzaDwvYT46IENoYWluZWQgaGFzaCB0YWJsZXM8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtbGlzdC5odG1sIj5saXN0PC9hPjogbGlzdHMgaW50ZXJmYWNlczwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1uYW5vZnRwLmh0bWwiPm5hbm9mdHA8L2E+OiBtaW5pbWFsIEZUUCBpbXBsZW1lbnRhdGlvbjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1uYW5vaHR0cC5odG1sIj5uYW5vaHR0cDwvYT46IG1pbmltYWwgSFRUUCBpbXBsZW1lbnRhdGlvbjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1wYXJzZXIuaHRtbCI+cGFyc2VyPC9hPjogdGhlIGNvcmUgcGFyc2VyIG1vZHVsZTwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCI+cGFyc2VySW50ZXJuYWxzPC9hPjogaW50ZXJuYWxzIHJvdXRpbmVzIGFuZCBsaW1pdHMgZXhwb3J0ZWQgYnkgdGhlIHBhcnNlci48L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtcGF0dGVybi5odG1sIj5wYXR0ZXJuPC9hPjogcGF0dGVybiBleHByZXNzaW9uIGhhbmRsaW5nPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXJlbGF4bmcuaHRtbCI+cmVsYXhuZzwvYT46IGltcGxlbWVudGF0aW9uIG9mIHRoZSBSZWxheC1ORyB2YWxpZGF0aW9uPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCI+c2NoZW1hc0ludGVybmFsczwvYT46IGludGVybmFsIGludGVyZmFjZXMgZm9yIFhNTCBTY2hlbWFzPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXNjaGVtYXRyb24uaHRtbCI+c2NoZW1hdHJvbjwvYT46IFhNTCBTY2hlbWFzdHJvbiBpbXBsZW1lbnRhdGlvbjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC10aHJlYWRzLmh0bWwiPnRocmVhZHM8L2E+OiBpbnRlcmZhY2VzIGZvciB0aHJlYWQgaGFuZGxpbmc8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sIj50cmVlPC9hPjogaW50ZXJmYWNlcyBmb3IgdHJlZSBtYW5pcHVsYXRpb248L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtdXJpLmh0bWwiPnVyaTwvYT46IGxpYnJhcnkgb2YgZ2VuZXJpYyBVUkkgcmVsYXRlZCByb3V0aW5lczwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC12YWxpZC5odG1sIj52YWxpZDwvYT46IFRoZSBEVEQgdmFsaWRhdGlvbjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14aW5jbHVkZS5odG1sIj54aW5jbHVkZTwvYT46IGltcGxlbWVudGF0aW9uIG9mIFhJbmNsdWRlPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhsaW5rLmh0bWwiPnhsaW5rPC9hPjogdW5maW5pc2hlZCBYTGluayBkZXRlY3Rpb24gbW9kdWxlPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbElPLmh0bWwiPnhtbElPPC9hPjogaW50ZXJmYWNlIGZvciB0aGUgSS9PIGludGVyZmFjZXMgdXNlZCBieSB0aGUgcGFyc2VyPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbGF1dG9tYXRhLmh0bWwiPnhtbGF1dG9tYXRhPC9hPjogQVBJIHRvIGJ1aWxkIHJlZ2V4cCBhdXRvbWF0YTwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14bWxlcnJvci5odG1sIj54bWxlcnJvcjwvYT46IGVycm9yIGhhbmRsaW5nPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbGV4cG9ydHMuaHRtbCI+eG1sZXhwb3J0czwvYT46IG1hY3JvcyBmb3IgbWFya2luZyBzeW1ib2xzIGFzIGV4cG9ydGFibGUvaW1wb3J0YWJsZS48L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteG1sbWVtb3J5Lmh0bWwiPnhtbG1lbW9yeTwvYT46IGludGVyZmFjZSBmb3IgdGhlIG1lbW9yeSBhbGxvY2F0b3I8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteG1sbW9kdWxlLmh0bWwiPnhtbG1vZHVsZTwvYT46IGR5bmFtaWMgbW9kdWxlIGxvYWRpbmc8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwiPnhtbHJlYWRlcjwvYT46IHRoZSBYTUxSZWFkZXIgaW1wbGVtZW50YXRpb248L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteG1scmVnZXhwLmh0bWwiPnhtbHJlZ2V4cDwvYT46IHJlZ3VsYXIgZXhwcmVzc2lvbnMgaGFuZGxpbmc8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteG1sc2F2ZS5odG1sIj54bWxzYXZlPC9hPjogdGhlIFhNTCBkb2N1bWVudCBzZXJpYWxpemVyPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbHNjaGVtYXMuaHRtbCI+eG1sc2NoZW1hczwvYT46IGluY29tcGxldGUgWE1MIFNjaGVtYXMgc3RydWN0dXJlIGltcGxlbWVudGF0aW9uPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sIj54bWxzY2hlbWFzdHlwZXM8L2E+OiBpbXBsZW1lbnRhdGlvbiBvZiBYTUwgU2NoZW1hIERhdGF0eXBlczwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCI+eG1sc3RyaW5nPC9hPjogc2V0IG9mIHJvdXRpbmVzIHRvIHByb2Nlc3Mgc3RyaW5nczwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14bWx1bmljb2RlLmh0bWwiPnhtbHVuaWNvZGU8L2E+OiBVbmljb2RlIGNoYXJhY3RlciBBUElzPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbHZlcnNpb24uaHRtbCI+eG1sdmVyc2lvbjwvYT46IGNvbXBpbGUtdGltZSB2ZXJzaW9uIGluZm9ybWF0aW9uczwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCI+eG1sd3JpdGVyPC9hPjogdGV4dCB3cml0aW5nIEFQSSBmb3IgWE1MPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwiPnhwYXRoPC9hPjogWE1MIFBhdGggTGFuZ3VhZ2UgaW1wbGVtZW50YXRpb248L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCI+eHBhdGhJbnRlcm5hbHM8L2E+OiBpbnRlcm5hbCBpbnRlcmZhY2VzIGZvciBYTUwgUGF0aCBMYW5ndWFnZSBpbXBsZW1lbnRhdGlvbjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14cG9pbnRlci5odG1sIj54cG9pbnRlcjwvYT46IEFQSSB0byBoYW5kbGUgWE1MIFBvaW50ZXJzPC9saT48L3VsPjxwPjxhIGhyZWY9Ii4uL2J1Z3MuaHRtbCI+RGFuaWVsIFZlaWxsYXJkPC9hPjwvcD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvaHRtbC9pbmRleC5zZ21sIGIvbGlieG1sMi9kb2MvaHRtbC9pbmRleC5zZ21sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY3ZmRkZDEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9odG1sL2luZGV4LnNnbWwKQEAgLTAsMCArMSw2MDkgQEAKKzxBTkNIT1IgaWQ9ImxpYnhtbC10ZXN0T09NbGliIiBocmVmPSJsaWJ4bWwvbGlieG1sLXRlc3RPT01saWIuaHRtbCI+Cis8QU5DSE9SIGlkPSJ0ZXN0LW1hbGxvYyIgaHJlZj0ibGlieG1sL2xpYnhtbC10ZXN0T09NbGliLmh0bWwjdGVzdC1tYWxsb2MiPgorPEFOQ0hPUiBpZD0idGVzdC1yZWFsbG9jIiBocmVmPSJsaWJ4bWwvbGlieG1sLXRlc3RPT01saWIuaHRtbCN0ZXN0LXJlYWxsb2MiPgorPEFOQ0hPUiBpZD0idGVzdC1mcmVlIiBocmVmPSJsaWJ4bWwvbGlieG1sLXRlc3RPT01saWIuaHRtbCN0ZXN0LWZyZWUiPgorPEFOQ0hPUiBpZD0idGVzdC1zdHJkdXAiIGhyZWY9ImxpYnhtbC9saWJ4bWwtdGVzdE9PTWxpYi5odG1sI3Rlc3Qtc3RyZHVwIj4KKzxBTkNIT1IgaWQ9IlRlc3RNZW1vcnlGdW5jdGlvbiIgaHJlZj0ibGlieG1sL2xpYnhtbC10ZXN0T09NbGliLmh0bWwjVGVzdE1lbW9yeUZ1bmN0aW9uIj4KKzxBTkNIT1IgaWQ9InRlc3Qtb29tLWhhbmRsaW5nIiBocmVmPSJsaWJ4bWwvbGlieG1sLXRlc3RPT01saWIuaHRtbCN0ZXN0LW9vbS1oYW5kbGluZyI+Cis8QU5DSE9SIGlkPSJ0ZXN0LWdldC1tYWxsb2MtYmxvY2tzLW91dHN0YW5kaW5nIiBocmVmPSJsaWJ4bWwvbGlieG1sLXRlc3RPT01saWIuaHRtbCN0ZXN0LWdldC1tYWxsb2MtYmxvY2tzLW91dHN0YW5kaW5nIj4KKzxBTkNIT1IgaWQ9ImxpYnhtbC13aW5jZWNvbXBhdCIgaHJlZj0ibGlieG1sL2xpYnhtbC13aW5jZWNvbXBhdC5odG1sIj4KKzxBTkNIT1IgaWQ9Ik1BWC1TVFJFUlJPUi1DQVBTIiBocmVmPSJsaWJ4bWwvbGlieG1sLXdpbmNlY29tcGF0Lmh0bWwjTUFYLVNUUkVSUk9SLUNBUFMiPgorPEFOQ0hPUiBpZD0iTy1SRE9OTFktQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC13aW5jZWNvbXBhdC5odG1sI08tUkRPTkxZLUNBUFMiPgorPEFOQ0hPUiBpZD0iTy1XUk9OTFktQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC13aW5jZWNvbXBhdC5odG1sI08tV1JPTkxZLUNBUFMiPgorPEFOQ0hPUiBpZD0iTy1SRFdSLUNBUFMiIGhyZWY9ImxpYnhtbC9saWJ4bWwtd2luY2Vjb21wYXQuaHRtbCNPLVJEV1ItQ0FQUyI+Cis8QU5DSE9SIGlkPSJPLUFQUEVORC1DQVBTIiBocmVmPSJsaWJ4bWwvbGlieG1sLXdpbmNlY29tcGF0Lmh0bWwjTy1BUFBFTkQtQ0FQUyI+Cis8QU5DSE9SIGlkPSJPLUNSRUFULUNBUFMiIGhyZWY9ImxpYnhtbC9saWJ4bWwtd2luY2Vjb21wYXQuaHRtbCNPLUNSRUFULUNBUFMiPgorPEFOQ0hPUiBpZD0iTy1UUlVOQy1DQVBTIiBocmVmPSJsaWJ4bWwvbGlieG1sLXdpbmNlY29tcGF0Lmh0bWwjTy1UUlVOQy1DQVBTIj4KKzxBTkNIT1IgaWQ9Ik8tRVhDTC1DQVBTIiBocmVmPSJsaWJ4bWwvbGlieG1sLXdpbmNlY29tcGF0Lmh0bWwjTy1FWENMLUNBUFMiPgorPEFOQ0hPUiBpZD0iZXJybm8iIGhyZWY9ImxpYnhtbC9saWJ4bWwtd2luY2Vjb21wYXQuaHRtbCNlcnJubyI+Cis8QU5DSE9SIGlkPSJyZWFkIiBocmVmPSJsaWJ4bWwvbGlieG1sLXdpbmNlY29tcGF0Lmh0bWwjcmVhZCI+Cis8QU5DSE9SIGlkPSJ3cml0ZSIgaHJlZj0ibGlieG1sL2xpYnhtbC13aW5jZWNvbXBhdC5odG1sI3dyaXRlIj4KKzxBTkNIT1IgaWQ9Im9wZW4iIGhyZWY9ImxpYnhtbC9saWJ4bWwtd2luY2Vjb21wYXQuaHRtbCNvcGVuIj4KKzxBTkNIT1IgaWQ9ImNsb3NlIiBocmVmPSJsaWJ4bWwvbGlieG1sLXdpbmNlY29tcGF0Lmh0bWwjY2xvc2UiPgorPEFOQ0hPUiBpZD0iZ2V0ZW52IiBocmVmPSJsaWJ4bWwvbGlieG1sLXdpbmNlY29tcGF0Lmh0bWwjZ2V0ZW52Ij4KKzxBTkNIT1IgaWQ9InN0cmVycm9yIiBocmVmPSJsaWJ4bWwvbGlieG1sLXdpbmNlY29tcGF0Lmh0bWwjc3RyZXJyb3IiPgorPEFOQ0hPUiBpZD0ic25wcmludGYiIGhyZWY9ImxpYnhtbC9saWJ4bWwtd2luY2Vjb21wYXQuaHRtbCNzbnByaW50ZiI+Cis8QU5DSE9SIGlkPSJ2c25wcmludGYiIGhyZWY9ImxpYnhtbC9saWJ4bWwtd2luY2Vjb21wYXQuaHRtbCN2c25wcmludGYiPgorPEFOQ0hPUiBpZD0icGVycm9yIiBocmVmPSJsaWJ4bWwvbGlieG1sLXdpbmNlY29tcGF0Lmh0bWwjcGVycm9yIj4KKzxBTkNIT1IgaWQ9ImxpYnhtbC13c29ja2NvbXBhdCIgaHJlZj0ibGlieG1sL2xpYnhtbC13c29ja2NvbXBhdC5odG1sIj4KKzxBTkNIT1IgaWQ9IlNPQ0tMRU4tVC1DQVBTIiBocmVmPSJsaWJ4bWwvbGlieG1sLXdzb2NrY29tcGF0Lmh0bWwjU09DS0xFTi1ULUNBUFMiPgorPEFOQ0hPUiBpZD0iRVdPVUxEQkxPQ0stQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC13c29ja2NvbXBhdC5odG1sI0VXT1VMREJMT0NLLUNBUFMiPgorPEFOQ0hPUiBpZD0iRUlOUFJPR1JFU1MtQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC13c29ja2NvbXBhdC5odG1sI0VJTlBST0dSRVNTLUNBUFMiPgorPEFOQ0hPUiBpZD0iRUFMUkVBRFktQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC13c29ja2NvbXBhdC5odG1sI0VBTFJFQURZLUNBUFMiPgorPEFOQ0hPUiBpZD0iRU5PVFNPQ0stQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC13c29ja2NvbXBhdC5odG1sI0VOT1RTT0NLLUNBUFMiPgorPEFOQ0hPUiBpZD0iRURFU1RBRERSUkVRLUNBUFMiIGhyZWY9ImxpYnhtbC9saWJ4bWwtd3NvY2tjb21wYXQuaHRtbCNFREVTVEFERFJSRVEtQ0FQUyI+Cis8QU5DSE9SIGlkPSJFTVNHU0laRS1DQVBTIiBocmVmPSJsaWJ4bWwvbGlieG1sLXdzb2NrY29tcGF0Lmh0bWwjRU1TR1NJWkUtQ0FQUyI+Cis8QU5DSE9SIGlkPSJFUFJPVE9UWVBFLUNBUFMiIGhyZWY9ImxpYnhtbC9saWJ4bWwtd3NvY2tjb21wYXQuaHRtbCNFUFJPVE9UWVBFLUNBUFMiPgorPEFOQ0hPUiBpZD0iRU5PUFJPVE9PUFQtQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC13c29ja2NvbXBhdC5odG1sI0VOT1BST1RPT1BULUNBUFMiPgorPEFOQ0hPUiBpZD0iRVBST1RPTk9TVVBQT1JULUNBUFMiIGhyZWY9ImxpYnhtbC9saWJ4bWwtd3NvY2tjb21wYXQuaHRtbCNFUFJPVE9OT1NVUFBPUlQtQ0FQUyI+Cis8QU5DSE9SIGlkPSJFU09DS1ROT1NVUFBPUlQtQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC13c29ja2NvbXBhdC5odG1sI0VTT0NLVE5PU1VQUE9SVC1DQVBTIj4KKzxBTkNIT1IgaWQ9IkVPUE5PVFNVUFAtQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC13c29ja2NvbXBhdC5odG1sI0VPUE5PVFNVUFAtQ0FQUyI+Cis8QU5DSE9SIGlkPSJFUEZOT1NVUFBPUlQtQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC13c29ja2NvbXBhdC5odG1sI0VQRk5PU1VQUE9SVC1DQVBTIj4KKzxBTkNIT1IgaWQ9IkVBRk5PU1VQUE9SVC1DQVBTIiBocmVmPSJsaWJ4bWwvbGlieG1sLXdzb2NrY29tcGF0Lmh0bWwjRUFGTk9TVVBQT1JULUNBUFMiPgorPEFOQ0hPUiBpZD0iRUFERFJJTlVTRS1DQVBTIiBocmVmPSJsaWJ4bWwvbGlieG1sLXdzb2NrY29tcGF0Lmh0bWwjRUFERFJJTlVTRS1DQVBTIj4KKzxBTkNIT1IgaWQ9IkVBRERSTk9UQVZBSUwtQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC13c29ja2NvbXBhdC5odG1sI0VBRERSTk9UQVZBSUwtQ0FQUyI+Cis8QU5DSE9SIGlkPSJFTkVURE9XTi1DQVBTIiBocmVmPSJsaWJ4bWwvbGlieG1sLXdzb2NrY29tcGF0Lmh0bWwjRU5FVERPV04tQ0FQUyI+Cis8QU5DSE9SIGlkPSJFTkVUVU5SRUFDSC1DQVBTIiBocmVmPSJsaWJ4bWwvbGlieG1sLXdzb2NrY29tcGF0Lmh0bWwjRU5FVFVOUkVBQ0gtQ0FQUyI+Cis8QU5DSE9SIGlkPSJFTkVUUkVTRVQtQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC13c29ja2NvbXBhdC5odG1sI0VORVRSRVNFVC1DQVBTIj4KKzxBTkNIT1IgaWQ9IkVDT05OQUJPUlRFRC1DQVBTIiBocmVmPSJsaWJ4bWwvbGlieG1sLXdzb2NrY29tcGF0Lmh0bWwjRUNPTk5BQk9SVEVELUNBUFMiPgorPEFOQ0hPUiBpZD0iRUNPTk5SRVNFVC1DQVBTIiBocmVmPSJsaWJ4bWwvbGlieG1sLXdzb2NrY29tcGF0Lmh0bWwjRUNPTk5SRVNFVC1DQVBTIj4KKzxBTkNIT1IgaWQ9IkVOT0JVRlMtQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC13c29ja2NvbXBhdC5odG1sI0VOT0JVRlMtQ0FQUyI+Cis8QU5DSE9SIGlkPSJFSVNDT05OLUNBUFMiIGhyZWY9ImxpYnhtbC9saWJ4bWwtd3NvY2tjb21wYXQuaHRtbCNFSVNDT05OLUNBUFMiPgorPEFOQ0hPUiBpZD0iRU5PVENPTk4tQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC13c29ja2NvbXBhdC5odG1sI0VOT1RDT05OLUNBUFMiPgorPEFOQ0hPUiBpZD0iRVNIVVRET1dOLUNBUFMiIGhyZWY9ImxpYnhtbC9saWJ4bWwtd3NvY2tjb21wYXQuaHRtbCNFU0hVVERPV04tQ0FQUyI+Cis8QU5DSE9SIGlkPSJFVE9PTUFOWVJFRlMtQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC13c29ja2NvbXBhdC5odG1sI0VUT09NQU5ZUkVGUy1DQVBTIj4KKzxBTkNIT1IgaWQ9IkVUSU1FRE9VVC1DQVBTIiBocmVmPSJsaWJ4bWwvbGlieG1sLXdzb2NrY29tcGF0Lmh0bWwjRVRJTUVET1VULUNBUFMiPgorPEFOQ0hPUiBpZD0iRUNPTk5SRUZVU0VELUNBUFMiIGhyZWY9ImxpYnhtbC9saWJ4bWwtd3NvY2tjb21wYXQuaHRtbCNFQ09OTlJFRlVTRUQtQ0FQUyI+Cis8QU5DSE9SIGlkPSJFTE9PUC1DQVBTIiBocmVmPSJsaWJ4bWwvbGlieG1sLXdzb2NrY29tcGF0Lmh0bWwjRUxPT1AtQ0FQUyI+Cis8QU5DSE9SIGlkPSJFSE9TVERPV04tQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC13c29ja2NvbXBhdC5odG1sI0VIT1NURE9XTi1DQVBTIj4KKzxBTkNIT1IgaWQ9IkVIT1NUVU5SRUFDSC1DQVBTIiBocmVmPSJsaWJ4bWwvbGlieG1sLXdzb2NrY29tcGF0Lmh0bWwjRUhPU1RVTlJFQUNILUNBUFMiPgorPEFOQ0hPUiBpZD0iRVBST0NMSU0tQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC13c29ja2NvbXBhdC5odG1sI0VQUk9DTElNLUNBUFMiPgorPEFOQ0hPUiBpZD0iRVVTRVJTLUNBUFMiIGhyZWY9ImxpYnhtbC9saWJ4bWwtd3NvY2tjb21wYXQuaHRtbCNFVVNFUlMtQ0FQUyI+Cis8QU5DSE9SIGlkPSJFRFFVT1QtQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC13c29ja2NvbXBhdC5odG1sI0VEUVVPVC1DQVBTIj4KKzxBTkNIT1IgaWQ9IkVTVEFMRS1DQVBTIiBocmVmPSJsaWJ4bWwvbGlieG1sLXdzb2NrY29tcGF0Lmh0bWwjRVNUQUxFLUNBUFMiPgorPEFOQ0hPUiBpZD0iRVJFTU9URS1DQVBTIiBocmVmPSJsaWJ4bWwvbGlieG1sLXdzb2NrY29tcGF0Lmh0bWwjRVJFTU9URS1DQVBTIj4KKzxBTkNIT1IgaWQ9ImxpYnhtbC1lbmNvZGluZyIgaHJlZj0ibGlieG1sL2xpYnhtbC1lbmNvZGluZy5odG1sIj4KKzxBTkNIT1IgaWQ9InhtbENoYXJFbmNvZGluZyIgaHJlZj0ibGlieG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZyI+Cis8QU5DSE9SIGlkPSJ4bWxDaGFyRW5jb2RpbmdJbnB1dEZ1bmMiIGhyZWY9ImxpYnhtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmdJbnB1dEZ1bmMiPgorPEFOQ0hPUiBpZD0ieG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYyIgaHJlZj0ibGlieG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZ091dHB1dEZ1bmMiPgorPEFOQ0hPUiBpZD0ieG1sQ2hhckVuY29kaW5nSGFuZGxlciIgaHJlZj0ibGlieG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZ0hhbmRsZXIiPgorPEFOQ0hPUiBpZD0ieG1sQ2hhckVuY29kaW5nSGFuZGxlclB0ciIgaHJlZj0ibGlieG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIiPgorPEFOQ0hPUiBpZD0ibGlieG1sLXhtbHJlZ2V4cCIgaHJlZj0ibGlieG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCI+Cis8QU5DSE9SIGlkPSJ4bWxSZWdleHAiIGhyZWY9ImxpYnhtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnZXhwIj4KKzxBTkNIT1IgaWQ9InhtbFJlZ2V4cFB0ciIgaHJlZj0ibGlieG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdleHBQdHIiPgorPEFOQ0hPUiBpZD0ieG1sUmVnRXhlY0N0eHQiIGhyZWY9ImxpYnhtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnRXhlY0N0eHQiPgorPEFOQ0hPUiBpZD0ieG1sUmVnRXhlY0N0eHRQdHIiIGhyZWY9ImxpYnhtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnRXhlY0N0eHRQdHIiPgorPEFOQ0hPUiBpZD0ieG1sUmVnRXhlY0NhbGxiYWNrcyIgaHJlZj0ibGlieG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdFeGVjQ2FsbGJhY2tzIj4KKzxBTkNIT1IgaWQ9ImxpYnhtbC14bWxtZW1vcnkiIGhyZWY9ImxpYnhtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwiPgorPEFOQ0hPUiBpZD0iREVCVUctTUVNT1JZLUNBUFMiIGhyZWY9ImxpYnhtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjREVCVUctTUVNT1JZLUNBUFMiPgorPEFOQ0hPUiBpZD0ieG1sRnJlZUZ1bmMiIGhyZWY9ImxpYnhtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sRnJlZUZ1bmMiPgorPEFOQ0hPUiBpZD0ieG1sTWFsbG9jRnVuYyIgaHJlZj0ibGlieG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNYWxsb2NGdW5jIj4KKzxBTkNIT1IgaWQ9InhtbFJlYWxsb2NGdW5jIiBocmVmPSJsaWJ4bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbFJlYWxsb2NGdW5jIj4KKzxBTkNIT1IgaWQ9InhtbFN0cmR1cEZ1bmMiIGhyZWY9ImxpYnhtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sU3RyZHVwRnVuYyI+Cis8QU5DSE9SIGlkPSJ4bWxNYWxsb2MiIGhyZWY9ImxpYnhtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWFsbG9jIj4KKzxBTkNIT1IgaWQ9InhtbE1hbGxvY0F0b21pYyIgaHJlZj0ibGlieG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNYWxsb2NBdG9taWMiPgorPEFOQ0hPUiBpZD0ieG1sUmVhbGxvYyIgaHJlZj0ibGlieG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxSZWFsbG9jIj4KKzxBTkNIT1IgaWQ9InhtbE1lbVN0cmR1cCIgaHJlZj0ibGlieG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNZW1TdHJkdXAiPgorPEFOQ0hPUiBpZD0ibGlieG1sLXhtbElPIiBocmVmPSJsaWJ4bWwvbGlieG1sLXhtbElPLmh0bWwiPgorPEFOQ0hPUiBpZD0ieG1sSW5wdXRNYXRjaENhbGxiYWNrIiBocmVmPSJsaWJ4bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sSW5wdXRNYXRjaENhbGxiYWNrIj4KKzxBTkNIT1IgaWQ9InhtbElucHV0T3BlbkNhbGxiYWNrIiBocmVmPSJsaWJ4bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sSW5wdXRPcGVuQ2FsbGJhY2siPgorPEFOQ0hPUiBpZD0ieG1sSW5wdXRSZWFkQ2FsbGJhY2siIGhyZWY9ImxpYnhtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxJbnB1dFJlYWRDYWxsYmFjayI+Cis8QU5DSE9SIGlkPSJ4bWxJbnB1dENsb3NlQ2FsbGJhY2siIGhyZWY9ImxpYnhtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxJbnB1dENsb3NlQ2FsbGJhY2siPgorPEFOQ0hPUiBpZD0ieG1sT3V0cHV0TWF0Y2hDYWxsYmFjayIgaHJlZj0ibGlieG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dE1hdGNoQ2FsbGJhY2siPgorPEFOQ0hPUiBpZD0ieG1sT3V0cHV0T3BlbkNhbGxiYWNrIiBocmVmPSJsaWJ4bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0T3BlbkNhbGxiYWNrIj4KKzxBTkNIT1IgaWQ9InhtbE91dHB1dFdyaXRlQ2FsbGJhY2siIGhyZWY9ImxpYnhtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRXcml0ZUNhbGxiYWNrIj4KKzxBTkNIT1IgaWQ9InhtbE91dHB1dENsb3NlQ2FsbGJhY2siIGhyZWY9ImxpYnhtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRDbG9zZUNhbGxiYWNrIj4KKzxBTkNIT1IgaWQ9InhtbFBhcnNlcklucHV0QnVmZmVyIiBocmVmPSJsaWJ4bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXIiPgorPEFOQ0hPUiBpZD0ieG1sT3V0cHV0QnVmZmVyIiBocmVmPSJsaWJ4bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0QnVmZmVyIj4KKzxBTkNIT1IgaWQ9ImxpYnhtbC14cGF0aCIgaHJlZj0ibGlieG1sL2xpYnhtbC14cGF0aC5odG1sIj4KKzxBTkNIT1IgaWQ9InhtbFhQYXRoQ29udGV4dCIgaHJlZj0ibGlieG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dCI+Cis8QU5DSE9SIGlkPSJ4bWxYUGF0aENvbnRleHRQdHIiIGhyZWY9ImxpYnhtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHRQdHIiPgorPEFOQ0hPUiBpZD0ieG1sWFBhdGhQYXJzZXJDb250ZXh0IiBocmVmPSJsaWJ4bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0Ij4KKzxBTkNIT1IgaWQ9InhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciIgaHJlZj0ibGlieG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+Cis8QU5DSE9SIGlkPSJ4bWxYUGF0aEVycm9yIiBocmVmPSJsaWJ4bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhFcnJvciI+Cis8QU5DSE9SIGlkPSJ4bWxOb2RlU2V0IiBocmVmPSJsaWJ4bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldCI+Cis8QU5DSE9SIGlkPSJ4bWxOb2RlU2V0UHRyIiBocmVmPSJsaWJ4bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+Cis8QU5DSE9SIGlkPSJ4bWxYUGF0aE9iamVjdFR5cGUiIGhyZWY9ImxpYnhtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFR5cGUiPgorPEFOQ0hPUiBpZD0ieG1sWFBhdGhPYmplY3QiIGhyZWY9ImxpYnhtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdCI+Cis8QU5DSE9SIGlkPSJ4bWxYUGF0aE9iamVjdFB0ciIgaHJlZj0ibGlieG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj4KKzxBTkNIT1IgaWQ9InhtbFhQYXRoQ29udmVydEZ1bmMiIGhyZWY9ImxpYnhtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbnZlcnRGdW5jIj4KKzxBTkNIT1IgaWQ9InhtbFhQYXRoVHlwZSIgaHJlZj0ibGlieG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoVHlwZSI+Cis8QU5DSE9SIGlkPSJ4bWxYUGF0aFR5cGVQdHIiIGhyZWY9ImxpYnhtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFR5cGVQdHIiPgorPEFOQ0hPUiBpZD0ieG1sWFBhdGhWYXJpYWJsZSIgaHJlZj0ibGlieG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoVmFyaWFibGUiPgorPEFOQ0hPUiBpZD0ieG1sWFBhdGhWYXJpYWJsZVB0ciIgaHJlZj0ibGlieG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoVmFyaWFibGVQdHIiPgorPEFOQ0hPUiBpZD0ieG1sWFBhdGhFdmFsRnVuYyIgaHJlZj0ibGlieG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoRXZhbEZ1bmMiPgorPEFOQ0hPUiBpZD0ieG1sWFBhdGhGdW5jdCIgaHJlZj0ibGlieG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoRnVuY3QiPgorPEFOQ0hPUiBpZD0ieG1sWFBhdGhGdW5jUHRyIiBocmVmPSJsaWJ4bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhGdW5jUHRyIj4KKzxBTkNIT1IgaWQ9InhtbFhQYXRoQXhpc0Z1bmMiIGhyZWY9ImxpYnhtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aEF4aXNGdW5jIj4KKzxBTkNIT1IgaWQ9InhtbFhQYXRoQXhpcyIgaHJlZj0ibGlieG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQXhpcyI+Cis8QU5DSE9SIGlkPSJ4bWxYUGF0aEF4aXNQdHIiIGhyZWY9ImxpYnhtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aEF4aXNQdHIiPgorPEFOQ0hPUiBpZD0ieG1sWFBhdGhDb21wRXhwciIgaHJlZj0ibGlieG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29tcEV4cHIiPgorPEFOQ0hPUiBpZD0ieG1sWFBhdGhDb21wRXhwclB0ciIgaHJlZj0ibGlieG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29tcEV4cHJQdHIiPgorPEFOQ0hPUiBpZD0ieG1sWFBhdGhGdW5jdGlvbiIgaHJlZj0ibGlieG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoRnVuY3Rpb24iPgorPEFOQ0hPUiBpZD0ieG1sWFBhdGhOQU4iIGhyZWY9ImxpYnhtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE5BTiI+Cis8QU5DSE9SIGlkPSJ4bWxYUGF0aFBJTkYiIGhyZWY9ImxpYnhtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBJTkYiPgorPEFOQ0hPUiBpZD0ieG1sWFBhdGhOSU5GIiBocmVmPSJsaWJ4bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhOSU5GIj4KKzxBTkNIT1IgaWQ9InhtbFhQYXRoTm9kZVNldEdldExlbmd0aCIgaHJlZj0ibGlieG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoTm9kZVNldEdldExlbmd0aCI+Cis8QU5DSE9SIGlkPSJ4bWxYUGF0aE5vZGVTZXRJdGVtIiBocmVmPSJsaWJ4bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhOb2RlU2V0SXRlbSI+Cis8QU5DSE9SIGlkPSJ4bWxYUGF0aE5vZGVTZXRJc0VtcHR5IiBocmVmPSJsaWJ4bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhOb2RlU2V0SXNFbXB0eSI+Cis8QU5DSE9SIGlkPSJsaWJ4bWwtY2h2YWxpZCIgaHJlZj0ibGlieG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwiPgorPEFOQ0hPUiBpZD0ieG1sQ2hTUmFuZ2UiIGhyZWY9ImxpYnhtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbENoU1JhbmdlIj4KKzxBTkNIT1IgaWQ9InhtbENoU1JhbmdlUHRyIiBocmVmPSJsaWJ4bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxDaFNSYW5nZVB0ciI+Cis8QU5DSE9SIGlkPSJ4bWxDaExSYW5nZSIgaHJlZj0ibGlieG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sQ2hMUmFuZ2UiPgorPEFOQ0hPUiBpZD0ieG1sQ2hMUmFuZ2VQdHIiIGhyZWY9ImxpYnhtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbENoTFJhbmdlUHRyIj4KKzxBTkNIT1IgaWQ9InhtbENoUmFuZ2VHcm91cCIgaHJlZj0ibGlieG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sQ2hSYW5nZUdyb3VwIj4KKzxBTkNIT1IgaWQ9InhtbENoUmFuZ2VHcm91cFB0ciIgaHJlZj0ibGlieG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sQ2hSYW5nZUdyb3VwUHRyIj4KKzxBTkNIT1IgaWQ9InhtbElzQmFzZUNoYXItY2giIGhyZWY9ImxpYnhtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzQmFzZUNoYXItY2giPgorPEFOQ0hPUiBpZD0ieG1sSXNCYXNlQ2hhclEiIGhyZWY9ImxpYnhtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzQmFzZUNoYXJRIj4KKzxBTkNIT1IgaWQ9InhtbElzQmFzZUNoYXJHcm91cCIgaHJlZj0ibGlieG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNCYXNlQ2hhckdyb3VwIj4KKzxBTkNIT1IgaWQ9InhtbElzQmxhbmstY2giIGhyZWY9ImxpYnhtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzQmxhbmstY2giPgorPEFOQ0hPUiBpZD0ieG1sSXNCbGFua1EiIGhyZWY9ImxpYnhtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzQmxhbmtRIj4KKzxBTkNIT1IgaWQ9InhtbElzQ2hhci1jaCIgaHJlZj0ibGlieG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNDaGFyLWNoIj4KKzxBTkNIT1IgaWQ9InhtbElzQ2hhclEiIGhyZWY9ImxpYnhtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzQ2hhclEiPgorPEFOQ0hPUiBpZD0ieG1sSXNDaGFyR3JvdXAiIGhyZWY9ImxpYnhtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzQ2hhckdyb3VwIj4KKzxBTkNIT1IgaWQ9InhtbElzQ29tYmluaW5nUSIgaHJlZj0ibGlieG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNDb21iaW5pbmdRIj4KKzxBTkNIT1IgaWQ9InhtbElzQ29tYmluaW5nR3JvdXAiIGhyZWY9ImxpYnhtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzQ29tYmluaW5nR3JvdXAiPgorPEFOQ0hPUiBpZD0ieG1sSXNEaWdpdC1jaCIgaHJlZj0ibGlieG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNEaWdpdC1jaCI+Cis8QU5DSE9SIGlkPSJ4bWxJc0RpZ2l0USIgaHJlZj0ibGlieG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNEaWdpdFEiPgorPEFOQ0hPUiBpZD0ieG1sSXNEaWdpdEdyb3VwIiBocmVmPSJsaWJ4bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc0RpZ2l0R3JvdXAiPgorPEFOQ0hPUiBpZD0ieG1sSXNFeHRlbmRlci1jaCIgaHJlZj0ibGlieG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNFeHRlbmRlci1jaCI+Cis8QU5DSE9SIGlkPSJ4bWxJc0V4dGVuZGVyUSIgaHJlZj0ibGlieG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNFeHRlbmRlclEiPgorPEFOQ0hPUiBpZD0ieG1sSXNFeHRlbmRlckdyb3VwIiBocmVmPSJsaWJ4bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc0V4dGVuZGVyR3JvdXAiPgorPEFOQ0hPUiBpZD0ieG1sSXNJZGVvZ3JhcGhpY1EiIGhyZWY9ImxpYnhtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzSWRlb2dyYXBoaWNRIj4KKzxBTkNIT1IgaWQ9InhtbElzSWRlb2dyYXBoaWNHcm91cCIgaHJlZj0ibGlieG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNJZGVvZ3JhcGhpY0dyb3VwIj4KKzxBTkNIT1IgaWQ9InhtbElzUHViaWRDaGFyLWNoIiBocmVmPSJsaWJ4bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc1B1YmlkQ2hhci1jaCI+Cis8QU5DSE9SIGlkPSJ4bWxJc1B1YmlkQ2hhclEiIGhyZWY9ImxpYnhtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzUHViaWRDaGFyUSI+Cis8QU5DSE9SIGlkPSJsaWJ4bWwtdXJpIiBocmVmPSJsaWJ4bWwvbGlieG1sLXVyaS5odG1sIj4KKzxBTkNIT1IgaWQ9InhtbFVSSSIgaHJlZj0ibGlieG1sL2xpYnhtbC11cmkuaHRtbCN4bWxVUkkiPgorPEFOQ0hPUiBpZD0ieG1sVVJJUHRyIiBocmVmPSJsaWJ4bWwvbGlieG1sLXVyaS5odG1sI3htbFVSSVB0ciI+Cis8QU5DSE9SIGlkPSJsaWJ4bWwtbmFub2Z0cCIgaHJlZj0ibGlieG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwiPgorPEFOQ0hPUiBpZD0iZnRwTGlzdENhbGxiYWNrIiBocmVmPSJsaWJ4bWwvbGlieG1sLW5hbm9mdHAuaHRtbCNmdHBMaXN0Q2FsbGJhY2siPgorPEFOQ0hPUiBpZD0iZnRwRGF0YUNhbGxiYWNrIiBocmVmPSJsaWJ4bWwvbGlieG1sLW5hbm9mdHAuaHRtbCNmdHBEYXRhQ2FsbGJhY2siPgorPEFOQ0hPUiBpZD0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMiIGhyZWY9ImxpYnhtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sIj4KKzxBTkNIT1IgaWQ9InhtbFNjaGVtYVR5cGVUeXBlIiBocmVmPSJsaWJ4bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFUeXBlVHlwZSI+Cis8QU5DSE9SIGlkPSJ4bWxTY2hlbWFDb250ZW50VHlwZSIgaHJlZj0ibGlieG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hQ29udGVudFR5cGUiPgorPEFOQ0hPUiBpZD0ieG1sU2NoZW1hVmFsIiBocmVmPSJsaWJ4bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFWYWwiPgorPEFOQ0hPUiBpZD0ieG1sU2NoZW1hVmFsUHRyIiBocmVmPSJsaWJ4bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFWYWxQdHIiPgorPEFOQ0hPUiBpZD0ieG1sU2NoZW1hVHlwZSIgaHJlZj0ibGlieG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVHlwZSI+Cis8QU5DSE9SIGlkPSJ4bWxTY2hlbWFUeXBlUHRyIiBocmVmPSJsaWJ4bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFUeXBlUHRyIj4KKzxBTkNIT1IgaWQ9InhtbFNjaGVtYUZhY2V0IiBocmVmPSJsaWJ4bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFGYWNldCI+Cis8QU5DSE9SIGlkPSJ4bWxTY2hlbWFGYWNldFB0ciIgaHJlZj0ibGlieG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hRmFjZXRQdHIiPgorPEFOQ0hPUiBpZD0ieG1sU2NoZW1hQW5ub3QiIGhyZWY9ImxpYnhtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYUFubm90Ij4KKzxBTkNIT1IgaWQ9InhtbFNjaGVtYUFubm90UHRyIiBocmVmPSJsaWJ4bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFBbm5vdFB0ciI+Cis8QU5DSE9SIGlkPSJYTUwtU0NIRU1BUy1BTllBVFRSLVNLSVAtQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MLVNDSEVNQVMtQU5ZQVRUUi1TS0lQLUNBUFMiPgorPEFOQ0hPUiBpZD0iWE1MLVNDSEVNQVMtQU5ZQVRUUi1MQVgtQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MLVNDSEVNQVMtQU5ZQVRUUi1MQVgtQ0FQUyI+Cis8QU5DSE9SIGlkPSJYTUwtU0NIRU1BUy1BTllBVFRSLVNUUklDVC1DQVBTIiBocmVmPSJsaWJ4bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUwtU0NIRU1BUy1BTllBVFRSLVNUUklDVC1DQVBTIj4KKzxBTkNIT1IgaWQ9InhtbFNjaGVtYUF0dHJpYnV0ZSIgaHJlZj0ibGlieG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hQXR0cmlidXRlIj4KKzxBTkNIT1IgaWQ9InhtbFNjaGVtYUF0dHJpYnV0ZVB0ciIgaHJlZj0ibGlieG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hQXR0cmlidXRlUHRyIj4KKzxBTkNIT1IgaWQ9InhtbFNjaGVtYUF0dHJpYnV0ZUdyb3VwIiBocmVmPSJsaWJ4bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFBdHRyaWJ1dGVHcm91cCI+Cis8QU5DSE9SIGlkPSJ4bWxTY2hlbWFBdHRyaWJ1dGVHcm91cFB0ciIgaHJlZj0ibGlieG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hQXR0cmlidXRlR3JvdXBQdHIiPgorPEFOQ0hPUiBpZD0iWE1MLVNDSEVNQVMtVFlQRS1NSVhFRC1DQVBTIiBocmVmPSJsaWJ4bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUwtU0NIRU1BUy1UWVBFLU1JWEVELUNBUFMiPgorPEFOQ0hPUiBpZD0iWE1MLVNDSEVNQVMtRUxFTS1OSUxMQUJMRS1DQVBTIiBocmVmPSJsaWJ4bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUwtU0NIRU1BUy1FTEVNLU5JTExBQkxFLUNBUFMiPgorPEFOQ0hPUiBpZD0iWE1MLVNDSEVNQVMtRUxFTS1HTE9CQUwtQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MLVNDSEVNQVMtRUxFTS1HTE9CQUwtQ0FQUyI+Cis8QU5DSE9SIGlkPSJYTUwtU0NIRU1BUy1FTEVNLURFRkFVTFQtQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MLVNDSEVNQVMtRUxFTS1ERUZBVUxULUNBUFMiPgorPEFOQ0hPUiBpZD0iWE1MLVNDSEVNQVMtRUxFTS1GSVhFRC1DQVBTIiBocmVmPSJsaWJ4bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUwtU0NIRU1BUy1FTEVNLUZJWEVELUNBUFMiPgorPEFOQ0hPUiBpZD0iWE1MLVNDSEVNQVMtRUxFTS1BQlNUUkFDVC1DQVBTIiBocmVmPSJsaWJ4bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUwtU0NIRU1BUy1FTEVNLUFCU1RSQUNULUNBUFMiPgorPEFOQ0hPUiBpZD0iWE1MLVNDSEVNQVMtRUxFTS1UT1BMRVZFTC1DQVBTIiBocmVmPSJsaWJ4bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUwtU0NIRU1BUy1FTEVNLVRPUExFVkVMLUNBUFMiPgorPEFOQ0hPUiBpZD0iWE1MLVNDSEVNQVMtRUxFTS1SRUYtQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MLVNDSEVNQVMtRUxFTS1SRUYtQ0FQUyI+Cis8QU5DSE9SIGlkPSJ4bWxTY2hlbWFFbGVtZW50IiBocmVmPSJsaWJ4bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFFbGVtZW50Ij4KKzxBTkNIT1IgaWQ9InhtbFNjaGVtYUVsZW1lbnRQdHIiIGhyZWY9ImxpYnhtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYUVsZW1lbnRQdHIiPgorPEFOQ0hPUiBpZD0iWE1MLVNDSEVNQVMtRkFDRVQtVU5LTk9XTi1DQVBTIiBocmVmPSJsaWJ4bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUwtU0NIRU1BUy1GQUNFVC1VTktOT1dOLUNBUFMiPgorPEFOQ0hPUiBpZD0iWE1MLVNDSEVNQVMtRkFDRVQtUFJFU0VSVkUtQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MLVNDSEVNQVMtRkFDRVQtUFJFU0VSVkUtQ0FQUyI+Cis8QU5DSE9SIGlkPSJYTUwtU0NIRU1BUy1GQUNFVC1SRVBMQUNFLUNBUFMiIGhyZWY9ImxpYnhtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTC1TQ0hFTUFTLUZBQ0VULVJFUExBQ0UtQ0FQUyI+Cis8QU5DSE9SIGlkPSJYTUwtU0NIRU1BUy1GQUNFVC1DT0xMQVBTRS1DQVBTIiBocmVmPSJsaWJ4bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUwtU0NIRU1BUy1GQUNFVC1DT0xMQVBTRS1DQVBTIj4KKzxBTkNIT1IgaWQ9InhtbFNjaGVtYU5vdGF0aW9uIiBocmVmPSJsaWJ4bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFOb3RhdGlvbiI+Cis8QU5DSE9SIGlkPSJ4bWxTY2hlbWFOb3RhdGlvblB0ciIgaHJlZj0ibGlieG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hTm90YXRpb25QdHIiPgorPEFOQ0hPUiBpZD0iWE1MLVNDSEVNQVMtUVVBTElGLUVMRU0tQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MLVNDSEVNQVMtUVVBTElGLUVMRU0tQ0FQUyI+Cis8QU5DSE9SIGlkPSJYTUwtU0NIRU1BUy1RVUFMSUYtQVRUUi1DQVBTIiBocmVmPSJsaWJ4bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUwtU0NIRU1BUy1RVUFMSUYtQVRUUi1DQVBTIj4KKzxBTkNIT1IgaWQ9InhtbFNjaGVtYSIgaHJlZj0ibGlieG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hIj4KKzxBTkNIT1IgaWQ9ImxpYnhtbC10aHJlYWRzIiBocmVmPSJsaWJ4bWwvbGlieG1sLXRocmVhZHMuaHRtbCI+Cis8QU5DSE9SIGlkPSJ4bWxNdXRleCIgaHJlZj0ibGlieG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sTXV0ZXgiPgorPEFOQ0hPUiBpZD0ieG1sTXV0ZXhQdHIiIGhyZWY9ImxpYnhtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbE11dGV4UHRyIj4KKzxBTkNIT1IgaWQ9InhtbFJNdXRleCIgaHJlZj0ibGlieG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sUk11dGV4Ij4KKzxBTkNIT1IgaWQ9InhtbFJNdXRleFB0ciIgaHJlZj0ibGlieG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sUk11dGV4UHRyIj4KKzxBTkNIT1IgaWQ9ImxpYnhtbC1wYXJzZXIiIGhyZWY9ImxpYnhtbC9saWJ4bWwtcGFyc2VyLmh0bWwiPgorPEFOQ0hPUiBpZD0iWE1MLURFRkFVTFQtVkVSU0lPTi1DQVBTIiBocmVmPSJsaWJ4bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTC1ERUZBVUxULVZFUlNJT04tQ0FQUyI+Cis8QU5DSE9SIGlkPSJ4bWxQYXJzZXJJbnB1dERlYWxsb2NhdGUiIGhyZWY9ImxpYnhtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VySW5wdXREZWFsbG9jYXRlIj4KKzxBTkNIT1IgaWQ9InhtbFBhcnNlcklucHV0IiBocmVmPSJsaWJ4bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlcklucHV0Ij4KKzxBTkNIT1IgaWQ9InhtbFBhcnNlck5vZGVJbmZvIiBocmVmPSJsaWJ4bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlck5vZGVJbmZvIj4KKzxBTkNIT1IgaWQ9InhtbFBhcnNlck5vZGVJbmZvUHRyIiBocmVmPSJsaWJ4bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlck5vZGVJbmZvUHRyIj4KKzxBTkNIT1IgaWQ9InhtbFBhcnNlck5vZGVJbmZvU2VxIiBocmVmPSJsaWJ4bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlck5vZGVJbmZvU2VxIj4KKzxBTkNIT1IgaWQ9InhtbFBhcnNlck5vZGVJbmZvU2VxUHRyIiBocmVmPSJsaWJ4bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlck5vZGVJbmZvU2VxUHRyIj4KKzxBTkNIT1IgaWQ9InhtbFBhcnNlcklucHV0U3RhdGUiIGhyZWY9ImxpYnhtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VySW5wdXRTdGF0ZSI+Cis8QU5DSE9SIGlkPSJYTUwtREVURUNULUlEUy1DQVBTIiBocmVmPSJsaWJ4bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTC1ERVRFQ1QtSURTLUNBUFMiPgorPEFOQ0hPUiBpZD0iWE1MLUNPTVBMRVRFLUFUVFJTLUNBUFMiIGhyZWY9ImxpYnhtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MLUNPTVBMRVRFLUFUVFJTLUNBUFMiPgorPEFOQ0hPUiBpZD0iWE1MLVNLSVAtSURTLUNBUFMiIGhyZWY9ImxpYnhtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MLVNLSVAtSURTLUNBUFMiPgorPEFOQ0hPUiBpZD0ieG1sUGFyc2VyQ3R4dCIgaHJlZj0ibGlieG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZXJDdHh0Ij4KKzxBTkNIT1IgaWQ9InhtbFNBWExvY2F0b3IiIGhyZWY9ImxpYnhtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYTG9jYXRvciI+Cis8QU5DSE9SIGlkPSJyZXNvbHZlRW50aXR5U0FYRnVuYyIgaHJlZj0ibGlieG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNyZXNvbHZlRW50aXR5U0FYRnVuYyI+Cis8QU5DSE9SIGlkPSJpbnRlcm5hbFN1YnNldFNBWEZ1bmMiIGhyZWY9ImxpYnhtbC9saWJ4bWwtcGFyc2VyLmh0bWwjaW50ZXJuYWxTdWJzZXRTQVhGdW5jIj4KKzxBTkNIT1IgaWQ9ImV4dGVybmFsU3Vic2V0U0FYRnVuYyIgaHJlZj0ibGlieG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNleHRlcm5hbFN1YnNldFNBWEZ1bmMiPgorPEFOQ0hPUiBpZD0iZ2V0RW50aXR5U0FYRnVuYyIgaHJlZj0ibGlieG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNnZXRFbnRpdHlTQVhGdW5jIj4KKzxBTkNIT1IgaWQ9ImdldFBhcmFtZXRlckVudGl0eVNBWEZ1bmMiIGhyZWY9ImxpYnhtbC9saWJ4bWwtcGFyc2VyLmh0bWwjZ2V0UGFyYW1ldGVyRW50aXR5U0FYRnVuYyI+Cis8QU5DSE9SIGlkPSJlbnRpdHlEZWNsU0FYRnVuYyIgaHJlZj0ibGlieG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNlbnRpdHlEZWNsU0FYRnVuYyI+Cis8QU5DSE9SIGlkPSJub3RhdGlvbkRlY2xTQVhGdW5jIiBocmVmPSJsaWJ4bWwvbGlieG1sLXBhcnNlci5odG1sI25vdGF0aW9uRGVjbFNBWEZ1bmMiPgorPEFOQ0hPUiBpZD0iYXR0cmlidXRlRGVjbFNBWEZ1bmMiIGhyZWY9ImxpYnhtbC9saWJ4bWwtcGFyc2VyLmh0bWwjYXR0cmlidXRlRGVjbFNBWEZ1bmMiPgorPEFOQ0hPUiBpZD0iZWxlbWVudERlY2xTQVhGdW5jIiBocmVmPSJsaWJ4bWwvbGlieG1sLXBhcnNlci5odG1sI2VsZW1lbnREZWNsU0FYRnVuYyI+Cis8QU5DSE9SIGlkPSJ1bnBhcnNlZEVudGl0eURlY2xTQVhGdW5jIiBocmVmPSJsaWJ4bWwvbGlieG1sLXBhcnNlci5odG1sI3VucGFyc2VkRW50aXR5RGVjbFNBWEZ1bmMiPgorPEFOQ0hPUiBpZD0ic2V0RG9jdW1lbnRMb2NhdG9yU0FYRnVuYyIgaHJlZj0ibGlieG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNzZXREb2N1bWVudExvY2F0b3JTQVhGdW5jIj4KKzxBTkNIT1IgaWQ9InN0YXJ0RG9jdW1lbnRTQVhGdW5jIiBocmVmPSJsaWJ4bWwvbGlieG1sLXBhcnNlci5odG1sI3N0YXJ0RG9jdW1lbnRTQVhGdW5jIj4KKzxBTkNIT1IgaWQ9ImVuZERvY3VtZW50U0FYRnVuYyIgaHJlZj0ibGlieG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNlbmREb2N1bWVudFNBWEZ1bmMiPgorPEFOQ0hPUiBpZD0ic3RhcnRFbGVtZW50U0FYRnVuYyIgaHJlZj0ibGlieG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNzdGFydEVsZW1lbnRTQVhGdW5jIj4KKzxBTkNIT1IgaWQ9ImVuZEVsZW1lbnRTQVhGdW5jIiBocmVmPSJsaWJ4bWwvbGlieG1sLXBhcnNlci5odG1sI2VuZEVsZW1lbnRTQVhGdW5jIj4KKzxBTkNIT1IgaWQ9ImF0dHJpYnV0ZVNBWEZ1bmMiIGhyZWY9ImxpYnhtbC9saWJ4bWwtcGFyc2VyLmh0bWwjYXR0cmlidXRlU0FYRnVuYyI+Cis8QU5DSE9SIGlkPSJyZWZlcmVuY2VTQVhGdW5jIiBocmVmPSJsaWJ4bWwvbGlieG1sLXBhcnNlci5odG1sI3JlZmVyZW5jZVNBWEZ1bmMiPgorPEFOQ0hPUiBpZD0iY2hhcmFjdGVyc1NBWEZ1bmMiIGhyZWY9ImxpYnhtbC9saWJ4bWwtcGFyc2VyLmh0bWwjY2hhcmFjdGVyc1NBWEZ1bmMiPgorPEFOQ0hPUiBpZD0iaWdub3JhYmxlV2hpdGVzcGFjZVNBWEZ1bmMiIGhyZWY9ImxpYnhtbC9saWJ4bWwtcGFyc2VyLmh0bWwjaWdub3JhYmxlV2hpdGVzcGFjZVNBWEZ1bmMiPgorPEFOQ0hPUiBpZD0icHJvY2Vzc2luZ0luc3RydWN0aW9uU0FYRnVuYyIgaHJlZj0ibGlieG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNwcm9jZXNzaW5nSW5zdHJ1Y3Rpb25TQVhGdW5jIj4KKzxBTkNIT1IgaWQ9ImNvbW1lbnRTQVhGdW5jIiBocmVmPSJsaWJ4bWwvbGlieG1sLXBhcnNlci5odG1sI2NvbW1lbnRTQVhGdW5jIj4KKzxBTkNIT1IgaWQ9ImNkYXRhQmxvY2tTQVhGdW5jIiBocmVmPSJsaWJ4bWwvbGlieG1sLXBhcnNlci5odG1sI2NkYXRhQmxvY2tTQVhGdW5jIj4KKzxBTkNIT1IgaWQ9Indhcm5pbmdTQVhGdW5jIiBocmVmPSJsaWJ4bWwvbGlieG1sLXBhcnNlci5odG1sI3dhcm5pbmdTQVhGdW5jIj4KKzxBTkNIT1IgaWQ9ImVycm9yU0FYRnVuYyIgaHJlZj0ibGlieG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNlcnJvclNBWEZ1bmMiPgorPEFOQ0hPUiBpZD0iZmF0YWxFcnJvclNBWEZ1bmMiIGhyZWY9ImxpYnhtbC9saWJ4bWwtcGFyc2VyLmh0bWwjZmF0YWxFcnJvclNBWEZ1bmMiPgorPEFOQ0hPUiBpZD0iaXNTdGFuZGFsb25lU0FYRnVuYyIgaHJlZj0ibGlieG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNpc1N0YW5kYWxvbmVTQVhGdW5jIj4KKzxBTkNIT1IgaWQ9Imhhc0ludGVybmFsU3Vic2V0U0FYRnVuYyIgaHJlZj0ibGlieG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNoYXNJbnRlcm5hbFN1YnNldFNBWEZ1bmMiPgorPEFOQ0hPUiBpZD0iaGFzRXh0ZXJuYWxTdWJzZXRTQVhGdW5jIiBocmVmPSJsaWJ4bWwvbGlieG1sLXBhcnNlci5odG1sI2hhc0V4dGVybmFsU3Vic2V0U0FYRnVuYyI+Cis8QU5DSE9SIGlkPSJYTUwtU0FYMi1NQUdJQy1DQVBTIiBocmVmPSJsaWJ4bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTC1TQVgyLU1BR0lDLUNBUFMiPgorPEFOQ0hPUiBpZD0ic3RhcnRFbGVtZW50TnNTQVgyRnVuYyIgaHJlZj0ibGlieG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNzdGFydEVsZW1lbnROc1NBWDJGdW5jIj4KKzxBTkNIT1IgaWQ9ImVuZEVsZW1lbnROc1NBWDJGdW5jIiBocmVmPSJsaWJ4bWwvbGlieG1sLXBhcnNlci5odG1sI2VuZEVsZW1lbnROc1NBWDJGdW5jIj4KKzxBTkNIT1IgaWQ9InhtbFNBWEhhbmRsZXIiIGhyZWY9ImxpYnhtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYSGFuZGxlciI+Cis8QU5DSE9SIGlkPSJ4bWxTQVhIYW5kbGVyVjEiIGhyZWY9ImxpYnhtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYSGFuZGxlclYxIj4KKzxBTkNIT1IgaWQ9InhtbFNBWEhhbmRsZXJWMVB0ciIgaHJlZj0ibGlieG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxTQVhIYW5kbGVyVjFQdHIiPgorPEFOQ0hPUiBpZD0ieG1sRXh0ZXJuYWxFbnRpdHlMb2FkZXIiIGhyZWY9ImxpYnhtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sRXh0ZXJuYWxFbnRpdHlMb2FkZXIiPgorPEFOQ0hPUiBpZD0ieG1sUGFyc2VyT3B0aW9uIiBocmVmPSJsaWJ4bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlck9wdGlvbiI+Cis8QU5DSE9SIGlkPSJsaWJ4bWwtYzE0biIgaHJlZj0ibGlieG1sL2xpYnhtbC1jMTRuLmh0bWwiPgorPEFOQ0hPUiBpZD0ieG1sQzE0TklzVmlzaWJsZUNhbGxiYWNrIiBocmVmPSJsaWJ4bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTROSXNWaXNpYmxlQ2FsbGJhY2siPgorPEFOQ0hPUiBpZD0ibGlieG1sLXhtbGVycm9yIiBocmVmPSJsaWJ4bWwvbGlieG1sLXhtbGVycm9yLmh0bWwiPgorPEFOQ0hPUiBpZD0ieG1sRXJyb3JMZXZlbCIgaHJlZj0ibGlieG1sL2xpYnhtbC14bWxlcnJvci5odG1sI3htbEVycm9yTGV2ZWwiPgorPEFOQ0hPUiBpZD0ieG1sRXJyb3JEb21haW4iIGhyZWY9ImxpYnhtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxFcnJvckRvbWFpbiI+Cis8QU5DSE9SIGlkPSJ4bWxFcnJvciIgaHJlZj0ibGlieG1sL2xpYnhtbC14bWxlcnJvci5odG1sI3htbEVycm9yIj4KKzxBTkNIT1IgaWQ9InhtbEVycm9yUHRyIiBocmVmPSJsaWJ4bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sRXJyb3JQdHIiPgorPEFOQ0hPUiBpZD0ieG1sUGFyc2VyRXJyb3JzIiBocmVmPSJsaWJ4bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sUGFyc2VyRXJyb3JzIj4KKzxBTkNIT1IgaWQ9InhtbEdlbmVyaWNFcnJvckZ1bmMiIGhyZWY9ImxpYnhtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxHZW5lcmljRXJyb3JGdW5jIj4KKzxBTkNIT1IgaWQ9InhtbFN0cnVjdHVyZWRFcnJvckZ1bmMiIGhyZWY9ImxpYnhtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jIj4KKzxBTkNIT1IgaWQ9ImxpYnhtbC14bWx3aW4zMnZlcnNpb24iIGhyZWY9ImxpYnhtbC9saWJ4bWwteG1sd2luMzJ2ZXJzaW9uLmh0bWwiPgorPEFOQ0hPUiBpZD0ieG1sQ2hlY2tWZXJzaW9uIiBocmVmPSJsaWJ4bWwvbGlieG1sLXhtbHdpbjMydmVyc2lvbi5odG1sI3htbENoZWNrVmVyc2lvbiI+Cis8QU5DSE9SIGlkPSJMSUJYTUwtRE9UVEVELVZFUlNJT04tQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC14bWx3aW4zMnZlcnNpb24uaHRtbCNMSUJYTUwtRE9UVEVELVZFUlNJT04tQ0FQUyI+Cis8QU5DSE9SIGlkPSJMSUJYTUwtVkVSU0lPTi1DQVBTIiBocmVmPSJsaWJ4bWwvbGlieG1sLXhtbHdpbjMydmVyc2lvbi5odG1sI0xJQlhNTC1WRVJTSU9OLUNBUFMiPgorPEFOQ0hPUiBpZD0iTElCWE1MLVZFUlNJT04tU1RSSU5HLUNBUFMiIGhyZWY9ImxpYnhtbC9saWJ4bWwteG1sd2luMzJ2ZXJzaW9uLmh0bWwjTElCWE1MLVZFUlNJT04tU1RSSU5HLUNBUFMiPgorPEFOQ0hPUiBpZD0iTElCWE1MLVRFU1QtVkVSU0lPTi1DQVBTIiBocmVmPSJsaWJ4bWwvbGlieG1sLXhtbHdpbjMydmVyc2lvbi5odG1sI0xJQlhNTC1URVNULVZFUlNJT04tQ0FQUyI+Cis8QU5DSE9SIGlkPSJXSVRILVRSSU8tQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC14bWx3aW4zMnZlcnNpb24uaHRtbCNXSVRILVRSSU8tQ0FQUyI+Cis8QU5DSE9SIGlkPSJXSVRIT1VULVRSSU8tQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC14bWx3aW4zMnZlcnNpb24uaHRtbCNXSVRIT1VULVRSSU8tQ0FQUyI+Cis8QU5DSE9SIGlkPSJMSUJYTUwtVEhSRUFELUVOQUJMRUQtQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC14bWx3aW4zMnZlcnNpb24uaHRtbCNMSUJYTUwtVEhSRUFELUVOQUJMRUQtQ0FQUyI+Cis8QU5DSE9SIGlkPSJMSUJYTUwtRlRQLUVOQUJMRUQtQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC14bWx3aW4zMnZlcnNpb24uaHRtbCNMSUJYTUwtRlRQLUVOQUJMRUQtQ0FQUyI+Cis8QU5DSE9SIGlkPSJMSUJYTUwtSFRUUC1FTkFCTEVELUNBUFMiIGhyZWY9ImxpYnhtbC9saWJ4bWwteG1sd2luMzJ2ZXJzaW9uLmh0bWwjTElCWE1MLUhUVFAtRU5BQkxFRC1DQVBTIj4KKzxBTkNIT1IgaWQ9IkxJQlhNTC1IVE1MLUVOQUJMRUQtQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC14bWx3aW4zMnZlcnNpb24uaHRtbCNMSUJYTUwtSFRNTC1FTkFCTEVELUNBUFMiPgorPEFOQ0hPUiBpZD0iTElCWE1MLUNBVEFMT0ctRU5BQkxFRC1DQVBTIiBocmVmPSJsaWJ4bWwvbGlieG1sLXhtbHdpbjMydmVyc2lvbi5odG1sI0xJQlhNTC1DQVRBTE9HLUVOQUJMRUQtQ0FQUyI+Cis8QU5DSE9SIGlkPSJMSUJYTUwtRE9DQi1FTkFCTEVELUNBUFMiIGhyZWY9ImxpYnhtbC9saWJ4bWwteG1sd2luMzJ2ZXJzaW9uLmh0bWwjTElCWE1MLURPQ0ItRU5BQkxFRC1DQVBTIj4KKzxBTkNIT1IgaWQ9IkxJQlhNTC1YUEFUSC1FTkFCTEVELUNBUFMiIGhyZWY9ImxpYnhtbC9saWJ4bWwteG1sd2luMzJ2ZXJzaW9uLmh0bWwjTElCWE1MLVhQQVRILUVOQUJMRUQtQ0FQUyI+Cis8QU5DSE9SIGlkPSJMSUJYTUwtWFBUUi1FTkFCTEVELUNBUFMiIGhyZWY9ImxpYnhtbC9saWJ4bWwteG1sd2luMzJ2ZXJzaW9uLmh0bWwjTElCWE1MLVhQVFItRU5BQkxFRC1DQVBTIj4KKzxBTkNIT1IgaWQ9IkxJQlhNTC1DMTROLUVOQUJMRUQtQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC14bWx3aW4zMnZlcnNpb24uaHRtbCNMSUJYTUwtQzE0Ti1FTkFCTEVELUNBUFMiPgorPEFOQ0hPUiBpZD0iTElCWE1MLVhJTkNMVURFLUVOQUJMRUQtQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC14bWx3aW4zMnZlcnNpb24uaHRtbCNMSUJYTUwtWElOQ0xVREUtRU5BQkxFRC1DQVBTIj4KKzxBTkNIT1IgaWQ9IkxJQlhNTC1JQ09OVi1FTkFCTEVELUNBUFMiIGhyZWY9ImxpYnhtbC9saWJ4bWwteG1sd2luMzJ2ZXJzaW9uLmh0bWwjTElCWE1MLUlDT05WLUVOQUJMRUQtQ0FQUyI+Cis8QU5DSE9SIGlkPSJMSUJYTUwtREVCVUctRU5BQkxFRC1DQVBTIiBocmVmPSJsaWJ4bWwvbGlieG1sLXhtbHdpbjMydmVyc2lvbi5odG1sI0xJQlhNTC1ERUJVRy1FTkFCTEVELUNBUFMiPgorPEFOQ0hPUiBpZD0iREVCVUctTUVNT1JZLUxPQ0FUSU9OLUNBUFMiIGhyZWY9ImxpYnhtbC9saWJ4bWwteG1sd2luMzJ2ZXJzaW9uLmh0bWwjREVCVUctTUVNT1JZLUxPQ0FUSU9OLUNBUFMiPgorPEFOQ0hPUiBpZD0iTElCWE1MLURMTC1JTVBPUlQtQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC14bWx3aW4zMnZlcnNpb24uaHRtbCNMSUJYTUwtRExMLUlNUE9SVC1DQVBTIj4KKzxBTkNIT1IgaWQ9IkFUVFJJQlVURS1VTlVTRUQtQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC14bWx3aW4zMnZlcnNpb24uaHRtbCNBVFRSSUJVVEUtVU5VU0VELUNBUFMiPgorPEFOQ0hPUiBpZD0ibGlieG1sLURPQ0JwYXJzZXIiIGhyZWY9ImxpYnhtbC9saWJ4bWwtRE9DQnBhcnNlci5odG1sIj4KKzxBTkNIT1IgaWQ9ImRvY2JQYXJzZXJDdHh0IiBocmVmPSJsaWJ4bWwvbGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiUGFyc2VyQ3R4dCI+Cis8QU5DSE9SIGlkPSJkb2NiUGFyc2VyQ3R4dFB0ciIgaHJlZj0ibGlieG1sL2xpYnhtbC1ET0NCcGFyc2VyLmh0bWwjZG9jYlBhcnNlckN0eHRQdHIiPgorPEFOQ0hPUiBpZD0iZG9jYlNBWEhhbmRsZXIiIGhyZWY9ImxpYnhtbC9saWJ4bWwtRE9DQnBhcnNlci5odG1sI2RvY2JTQVhIYW5kbGVyIj4KKzxBTkNIT1IgaWQ9ImRvY2JTQVhIYW5kbGVyUHRyIiBocmVmPSJsaWJ4bWwvbGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiU0FYSGFuZGxlclB0ciI+Cis8QU5DSE9SIGlkPSJkb2NiUGFyc2VySW5wdXQiIGhyZWY9ImxpYnhtbC9saWJ4bWwtRE9DQnBhcnNlci5odG1sI2RvY2JQYXJzZXJJbnB1dCI+Cis8QU5DSE9SIGlkPSJkb2NiUGFyc2VySW5wdXRQdHIiIGhyZWY9ImxpYnhtbC9saWJ4bWwtRE9DQnBhcnNlci5odG1sI2RvY2JQYXJzZXJJbnB1dFB0ciI+Cis8QU5DSE9SIGlkPSJkb2NiRG9jUHRyIiBocmVmPSJsaWJ4bWwvbGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiRG9jUHRyIj4KKzxBTkNIT1IgaWQ9ImxpYnhtbC1kaWN0IiBocmVmPSJsaWJ4bWwvbGlieG1sLWRpY3QuaHRtbCI+Cis8QU5DSE9SIGlkPSJ4bWxEaWN0IiBocmVmPSJsaWJ4bWwvbGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0Ij4KKzxBTkNIT1IgaWQ9InhtbERpY3RQdHIiIGhyZWY9ImxpYnhtbC9saWJ4bWwtZGljdC5odG1sI3htbERpY3RQdHIiPgorPEFOQ0hPUiBpZD0ibGlieG1sLXhtbGF1dG9tYXRhIiBocmVmPSJsaWJ4bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwiPgorPEFOQ0hPUiBpZD0ieG1sQXV0b21hdGEiIGhyZWY9ImxpYnhtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YSI+Cis8QU5DSE9SIGlkPSJ4bWxBdXRvbWF0YVB0ciIgaHJlZj0ibGlieG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhUHRyIj4KKzxBTkNIT1IgaWQ9InhtbEF1dG9tYXRhU3RhdGUiIGhyZWY9ImxpYnhtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVN0YXRlIj4KKzxBTkNIT1IgaWQ9InhtbEF1dG9tYXRhU3RhdGVQdHIiIGhyZWY9ImxpYnhtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVN0YXRlUHRyIj4KKzxBTkNIT1IgaWQ9ImxpYnhtbC14cG9pbnRlciIgaHJlZj0ibGlieG1sL2xpYnhtbC14cG9pbnRlci5odG1sIj4KKzxBTkNIT1IgaWQ9InhtbExvY2F0aW9uU2V0IiBocmVmPSJsaWJ4bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sTG9jYXRpb25TZXQiPgorPEFOQ0hPUiBpZD0ieG1sTG9jYXRpb25TZXRQdHIiIGhyZWY9ImxpYnhtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxMb2NhdGlvblNldFB0ciI+Cis8QU5DSE9SIGlkPSJsaWJ4bWwtaGFzaCIgaHJlZj0ibGlieG1sL2xpYnhtbC1oYXNoLmh0bWwiPgorPEFOQ0hPUiBpZD0ieG1sSGFzaFRhYmxlIiBocmVmPSJsaWJ4bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoVGFibGUiPgorPEFOQ0hPUiBpZD0ieG1sSGFzaFRhYmxlUHRyIiBocmVmPSJsaWJ4bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoVGFibGVQdHIiPgorPEFOQ0hPUiBpZD0ieG1sSGFzaERlYWxsb2NhdG9yIiBocmVmPSJsaWJ4bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoRGVhbGxvY2F0b3IiPgorPEFOQ0hPUiBpZD0ieG1sSGFzaENvcGllciIgaHJlZj0ibGlieG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaENvcGllciI+Cis8QU5DSE9SIGlkPSJ4bWxIYXNoU2Nhbm5lciIgaHJlZj0ibGlieG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFNjYW5uZXIiPgorPEFOQ0hPUiBpZD0ieG1sSGFzaFNjYW5uZXJGdWxsIiBocmVmPSJsaWJ4bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoU2Nhbm5lckZ1bGwiPgorPEFOQ0hPUiBpZD0ibGlieG1sLXJlbGF4bmciIGhyZWY9ImxpYnhtbC9saWJ4bWwtcmVsYXhuZy5odG1sIj4KKzxBTkNIT1IgaWQ9InhtbFJlbGF4TkciIGhyZWY9ImxpYnhtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkciPgorPEFOQ0hPUiBpZD0ieG1sUmVsYXhOR1B0ciIgaHJlZj0ibGlieG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1B0ciI+Cis8QU5DSE9SIGlkPSJ4bWxSZWxheE5HVmFsaWRpdHlFcnJvckZ1bmMiIGhyZWY9ImxpYnhtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdWYWxpZGl0eUVycm9yRnVuYyI+Cis8QU5DSE9SIGlkPSJ4bWxSZWxheE5HVmFsaWRpdHlXYXJuaW5nRnVuYyIgaHJlZj0ibGlieG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1ZhbGlkaXR5V2FybmluZ0Z1bmMiPgorPEFOQ0hPUiBpZD0ieG1sUmVsYXhOR1BhcnNlckN0eHQiIGhyZWY9ImxpYnhtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdQYXJzZXJDdHh0Ij4KKzxBTkNIT1IgaWQ9InhtbFJlbGF4TkdQYXJzZXJDdHh0UHRyIiBocmVmPSJsaWJ4bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HUGFyc2VyQ3R4dFB0ciI+Cis8QU5DSE9SIGlkPSJ4bWxSZWxheE5HVmFsaWRDdHh0IiBocmVmPSJsaWJ4bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HVmFsaWRDdHh0Ij4KKzxBTkNIT1IgaWQ9InhtbFJlbGF4TkdWYWxpZEN0eHRQdHIiIGhyZWY9ImxpYnhtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdWYWxpZEN0eHRQdHIiPgorPEFOQ0hPUiBpZD0ieG1sUmVsYXhOR1ZhbGlkRXJyIiBocmVmPSJsaWJ4bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HVmFsaWRFcnIiPgorPEFOQ0hPUiBpZD0ibGlieG1sLXhwYXRoSW50ZXJuYWxzIiBocmVmPSJsaWJ4bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwiPgorPEFOQ0hPUiBpZD0ieG1sWFBhdGhTZXRFcnJvciIgaHJlZj0ibGlieG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU2V0RXJyb3IiPgorPEFOQ0hPUiBpZD0ieG1sWFBhdGhTZXRBcml0eUVycm9yIiBocmVmPSJsaWJ4bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTZXRBcml0eUVycm9yIj4KKzxBTkNIT1IgaWQ9InhtbFhQYXRoU2V0VHlwZUVycm9yIiBocmVmPSJsaWJ4bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTZXRUeXBlRXJyb3IiPgorPEFOQ0hPUiBpZD0ieG1sWFBhdGhHZXRFcnJvciIgaHJlZj0ibGlieG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoR2V0RXJyb3IiPgorPEFOQ0hPUiBpZD0ieG1sWFBhdGhDaGVja0Vycm9yIiBocmVmPSJsaWJ4bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhDaGVja0Vycm9yIj4KKzxBTkNIT1IgaWQ9InhtbFhQYXRoR2V0RG9jdW1lbnQiIGhyZWY9ImxpYnhtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEdldERvY3VtZW50Ij4KKzxBTkNIT1IgaWQ9InhtbFhQYXRoR2V0Q29udGV4dE5vZGUiIGhyZWY9ImxpYnhtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEdldENvbnRleHROb2RlIj4KKzxBTkNIT1IgaWQ9InhtbFhQYXRoUmV0dXJuQm9vbGVhbiIgaHJlZj0ibGlieG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmV0dXJuQm9vbGVhbiI+Cis8QU5DSE9SIGlkPSJ4bWxYUGF0aFJldHVyblRydWUiIGhyZWY9ImxpYnhtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJldHVyblRydWUiPgorPEFOQ0hPUiBpZD0ieG1sWFBhdGhSZXR1cm5GYWxzZSIgaHJlZj0ibGlieG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmV0dXJuRmFsc2UiPgorPEFOQ0hPUiBpZD0ieG1sWFBhdGhSZXR1cm5OdW1iZXIiIGhyZWY9ImxpYnhtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJldHVybk51bWJlciI+Cis8QU5DSE9SIGlkPSJ4bWxYUGF0aFJldHVyblN0cmluZyIgaHJlZj0ibGlieG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmV0dXJuU3RyaW5nIj4KKzxBTkNIT1IgaWQ9InhtbFhQYXRoUmV0dXJuRW1wdHlTdHJpbmciIGhyZWY9ImxpYnhtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJldHVybkVtcHR5U3RyaW5nIj4KKzxBTkNIT1IgaWQ9InhtbFhQYXRoUmV0dXJuTm9kZVNldCIgaHJlZj0ibGlieG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmV0dXJuTm9kZVNldCI+Cis8QU5DSE9SIGlkPSJ4bWxYUGF0aFJldHVybkVtcHR5Tm9kZVNldCIgaHJlZj0ibGlieG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmV0dXJuRW1wdHlOb2RlU2V0Ij4KKzxBTkNIT1IgaWQ9InhtbFhQYXRoUmV0dXJuRXh0ZXJuYWwiIGhyZWY9ImxpYnhtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJldHVybkV4dGVybmFsIj4KKzxBTkNIT1IgaWQ9InhtbFhQYXRoU3RhY2tJc05vZGVTZXQiIGhyZWY9ImxpYnhtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFN0YWNrSXNOb2RlU2V0Ij4KKzxBTkNIT1IgaWQ9InhtbFhQYXRoU3RhY2tJc0V4dGVybmFsIiBocmVmPSJsaWJ4bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdGFja0lzRXh0ZXJuYWwiPgorPEFOQ0hPUiBpZD0ieG1sWFBhdGhFbXB0eU5vZGVTZXQiIGhyZWY9ImxpYnhtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEVtcHR5Tm9kZVNldCI+Cis8QU5DSE9SIGlkPSJDSEVDSy1FUlJPUi1DQVBTIiBocmVmPSJsaWJ4bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjQ0hFQ0stRVJST1ItQ0FQUyI+Cis8QU5DSE9SIGlkPSJDSEVDSy1FUlJPUjAtQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI0NIRUNLLUVSUk9SMC1DQVBTIj4KKzxBTkNIT1IgaWQ9IlhQLUVSUk9SLUNBUFMiIGhyZWY9ImxpYnhtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCNYUC1FUlJPUi1DQVBTIj4KKzxBTkNIT1IgaWQ9IlhQLUVSUk9SMC1DQVBTIiBocmVmPSJsaWJ4bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjWFAtRVJST1IwLUNBUFMiPgorPEFOQ0hPUiBpZD0iQ0hFQ0stVFlQRS1DQVBTIiBocmVmPSJsaWJ4bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjQ0hFQ0stVFlQRS1DQVBTIj4KKzxBTkNIT1IgaWQ9IkNIRUNLLVRZUEUwLUNBUFMiIGhyZWY9ImxpYnhtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCNDSEVDSy1UWVBFMC1DQVBTIj4KKzxBTkNIT1IgaWQ9IkNIRUNLLUFSSVRZLUNBUFMiIGhyZWY9ImxpYnhtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCNDSEVDSy1BUklUWS1DQVBTIj4KKzxBTkNIT1IgaWQ9IkNBU1QtVE8tU1RSSU5HLUNBUFMiIGhyZWY9ImxpYnhtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCNDQVNULVRPLVNUUklORy1DQVBTIj4KKzxBTkNIT1IgaWQ9IkNBU1QtVE8tTlVNQkVSLUNBUFMiIGhyZWY9ImxpYnhtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCNDQVNULVRPLU5VTUJFUi1DQVBTIj4KKzxBTkNIT1IgaWQ9IkNBU1QtVE8tQk9PTEVBTi1DQVBTIiBocmVmPSJsaWJ4bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjQ0FTVC1UTy1CT09MRUFOLUNBUFMiPgorPEFOQ0hPUiBpZD0ieG1sWFBhdGhWYXJpYWJsZUxvb2t1cEZ1bmMiIGhyZWY9ImxpYnhtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFZhcmlhYmxlTG9va3VwRnVuYyI+Cis8QU5DSE9SIGlkPSJ4bWxYUGF0aEZ1bmNMb29rdXBGdW5jIiBocmVmPSJsaWJ4bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhGdW5jTG9va3VwRnVuYyI+Cis8QU5DSE9SIGlkPSJsaWJ4bWwteG1sdmVyc2lvbiIgaHJlZj0ibGlieG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwiPgorPEFOQ0hPUiBpZD0iTElCWE1MLURPVFRFRC1WRVJTSU9OLUNBUFMiIGhyZWY9ImxpYnhtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTC1ET1RURUQtVkVSU0lPTi1DQVBTIj4KKzxBTkNIT1IgaWQ9IkxJQlhNTC1WRVJTSU9OLUNBUFMiIGhyZWY9ImxpYnhtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTC1WRVJTSU9OLUNBUFMiPgorPEFOQ0hPUiBpZD0iTElCWE1MLVZFUlNJT04tU1RSSU5HLUNBUFMiIGhyZWY9ImxpYnhtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTC1WRVJTSU9OLVNUUklORy1DQVBTIj4KKzxBTkNIT1IgaWQ9IkxJQlhNTC1URVNULVZFUlNJT04tQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MLVRFU1QtVkVSU0lPTi1DQVBTIj4KKzxBTkNIT1IgaWQ9IldJVEgtVFJJTy1DQVBTIiBocmVmPSJsaWJ4bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNXSVRILVRSSU8tQ0FQUyI+Cis8QU5DSE9SIGlkPSJXSVRIT1VULVRSSU8tQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjV0lUSE9VVC1UUklPLUNBUFMiPgorPEFOQ0hPUiBpZD0iTElCWE1MLVRIUkVBRC1FTkFCTEVELUNBUFMiIGhyZWY9ImxpYnhtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTC1USFJFQUQtRU5BQkxFRC1DQVBTIj4KKzxBTkNIT1IgaWQ9IkxJQlhNTC1UUkVFLUVOQUJMRUQtQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MLVRSRUUtRU5BQkxFRC1DQVBTIj4KKzxBTkNIT1IgaWQ9IkxJQlhNTC1PVVRQVVQtRU5BQkxFRC1DQVBTIiBocmVmPSJsaWJ4bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUwtT1VUUFVULUVOQUJMRUQtQ0FQUyI+Cis8QU5DSE9SIGlkPSJMSUJYTUwtUFVTSC1FTkFCTEVELUNBUFMiIGhyZWY9ImxpYnhtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTC1QVVNILUVOQUJMRUQtQ0FQUyI+Cis8QU5DSE9SIGlkPSJMSUJYTUwtUkVBREVSLUVOQUJMRUQtQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MLVJFQURFUi1FTkFCTEVELUNBUFMiPgorPEFOQ0hPUiBpZD0iTElCWE1MLVdSSVRFUi1FTkFCTEVELUNBUFMiIGhyZWY9ImxpYnhtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTC1XUklURVItRU5BQkxFRC1DQVBTIj4KKzxBTkNIT1IgaWQ9IkxJQlhNTC1TQVgxLUVOQUJMRUQtQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MLVNBWDEtRU5BQkxFRC1DQVBTIj4KKzxBTkNIT1IgaWQ9IkxJQlhNTC1GVFAtRU5BQkxFRC1DQVBTIiBocmVmPSJsaWJ4bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUwtRlRQLUVOQUJMRUQtQ0FQUyI+Cis8QU5DSE9SIGlkPSJMSUJYTUwtSFRUUC1FTkFCTEVELUNBUFMiIGhyZWY9ImxpYnhtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTC1IVFRQLUVOQUJMRUQtQ0FQUyI+Cis8QU5DSE9SIGlkPSJMSUJYTUwtVkFMSUQtRU5BQkxFRC1DQVBTIiBocmVmPSJsaWJ4bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUwtVkFMSUQtRU5BQkxFRC1DQVBTIj4KKzxBTkNIT1IgaWQ9IkxJQlhNTC1IVE1MLUVOQUJMRUQtQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MLUhUTUwtRU5BQkxFRC1DQVBTIj4KKzxBTkNIT1IgaWQ9IkxJQlhNTC1MRUdBQ1ktRU5BQkxFRC1DQVBTIiBocmVmPSJsaWJ4bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUwtTEVHQUNZLUVOQUJMRUQtQ0FQUyI+Cis8QU5DSE9SIGlkPSJMSUJYTUwtQzE0Ti1FTkFCTEVELUNBUFMiIGhyZWY9ImxpYnhtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTC1DMTROLUVOQUJMRUQtQ0FQUyI+Cis8QU5DSE9SIGlkPSJMSUJYTUwtQ0FUQUxPRy1FTkFCTEVELUNBUFMiIGhyZWY9ImxpYnhtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTC1DQVRBTE9HLUVOQUJMRUQtQ0FQUyI+Cis8QU5DSE9SIGlkPSJMSUJYTUwtRE9DQi1FTkFCTEVELUNBUFMiIGhyZWY9ImxpYnhtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTC1ET0NCLUVOQUJMRUQtQ0FQUyI+Cis8QU5DSE9SIGlkPSJMSUJYTUwtWFBBVEgtRU5BQkxFRC1DQVBTIiBocmVmPSJsaWJ4bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUwtWFBBVEgtRU5BQkxFRC1DQVBTIj4KKzxBTkNIT1IgaWQ9IkxJQlhNTC1YUFRSLUVOQUJMRUQtQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MLVhQVFItRU5BQkxFRC1DQVBTIj4KKzxBTkNIT1IgaWQ9IkxJQlhNTC1YSU5DTFVERS1FTkFCTEVELUNBUFMiIGhyZWY9ImxpYnhtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTC1YSU5DTFVERS1FTkFCTEVELUNBUFMiPgorPEFOQ0hPUiBpZD0iTElCWE1MLUlDT05WLUVOQUJMRUQtQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MLUlDT05WLUVOQUJMRUQtQ0FQUyI+Cis8QU5DSE9SIGlkPSJMSUJYTUwtSVNPODg1OVgtRU5BQkxFRC1DQVBTIiBocmVmPSJsaWJ4bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUwtSVNPODg1OVgtRU5BQkxFRC1DQVBTIj4KKzxBTkNIT1IgaWQ9IkxJQlhNTC1ERUJVRy1FTkFCTEVELUNBUFMiIGhyZWY9ImxpYnhtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTC1ERUJVRy1FTkFCTEVELUNBUFMiPgorPEFOQ0hPUiBpZD0iREVCVUctTUVNT1JZLUxPQ0FUSU9OLUNBUFMiIGhyZWY9ImxpYnhtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0RFQlVHLU1FTU9SWS1MT0NBVElPTi1DQVBTIj4KKzxBTkNIT1IgaWQ9IkxJQlhNTC1VTklDT0RFLUVOQUJMRUQtQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MLVVOSUNPREUtRU5BQkxFRC1DQVBTIj4KKzxBTkNIT1IgaWQ9IkxJQlhNTC1SRUdFWFAtRU5BQkxFRC1DQVBTIiBocmVmPSJsaWJ4bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUwtUkVHRVhQLUVOQUJMRUQtQ0FQUyI+Cis8QU5DSE9SIGlkPSJMSUJYTUwtQVVUT01BVEEtRU5BQkxFRC1DQVBTIiBocmVmPSJsaWJ4bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUwtQVVUT01BVEEtRU5BQkxFRC1DQVBTIj4KKzxBTkNIT1IgaWQ9IkxJQlhNTC1TQ0hFTUFTLUVOQUJMRUQtQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MLVNDSEVNQVMtRU5BQkxFRC1DQVBTIj4KKzxBTkNIT1IgaWQ9IkFUVFJJQlVURS1VTlVTRUQtQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjQVRUUklCVVRFLVVOVVNFRC1DQVBTIj4KKzxBTkNIT1IgaWQ9ImxpYnhtbC1saXN0IiBocmVmPSJsaWJ4bWwvbGlieG1sLWxpc3QuaHRtbCI+Cis8QU5DSE9SIGlkPSJ4bWxMaW5rIiBocmVmPSJsaWJ4bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaW5rIj4KKzxBTkNIT1IgaWQ9InhtbExpbmtQdHIiIGhyZWY9ImxpYnhtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpbmtQdHIiPgorPEFOQ0hPUiBpZD0ieG1sTGlzdCIgaHJlZj0ibGlieG1sL2xpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdCI+Cis8QU5DSE9SIGlkPSJ4bWxMaXN0UHRyIiBocmVmPSJsaWJ4bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0UHRyIj4KKzxBTkNIT1IgaWQ9InhtbExpc3REZWFsbG9jYXRvciIgaHJlZj0ibGlieG1sL2xpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdERlYWxsb2NhdG9yIj4KKzxBTkNIT1IgaWQ9InhtbExpc3REYXRhQ29tcGFyZSIgaHJlZj0ibGlieG1sL2xpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdERhdGFDb21wYXJlIj4KKzxBTkNIT1IgaWQ9InhtbExpc3RXYWxrZXIiIGhyZWY9ImxpYnhtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3RXYWxrZXIiPgorPEFOQ0hPUiBpZD0ibGlieG1sLUhUTUx0cmVlIiBocmVmPSJsaWJ4bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwiPgorPEFOQ0hPUiBpZD0iSFRNTC1URVhULU5PREUtQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI0hUTUwtVEVYVC1OT0RFLUNBUFMiPgorPEFOQ0hPUiBpZD0iSFRNTC1FTlRJVFktUkVGLU5PREUtQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI0hUTUwtRU5USVRZLVJFRi1OT0RFLUNBUFMiPgorPEFOQ0hPUiBpZD0iSFRNTC1DT01NRU5ULU5PREUtQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI0hUTUwtQ09NTUVOVC1OT0RFLUNBUFMiPgorPEFOQ0hPUiBpZD0iSFRNTC1QUkVTRVJWRS1OT0RFLUNBUFMiIGhyZWY9ImxpYnhtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNIVE1MLVBSRVNFUlZFLU5PREUtQ0FQUyI+Cis8QU5DSE9SIGlkPSJIVE1MLVBJLU5PREUtQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI0hUTUwtUEktTk9ERS1DQVBTIj4KKzxBTkNIT1IgaWQ9ImxpYnhtbC1wYXJzZXJJbnRlcm5hbHMiIGhyZWY9ImxpYnhtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwiPgorPEFOQ0hPUiBpZD0ieG1sUGFyc2VyTWF4RGVwdGgiIGhyZWY9ImxpYnhtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VyTWF4RGVwdGgiPgorPEFOQ0hPUiBpZD0iWE1MLU1BWC1OQU1FTEVOLUNBUFMiIGhyZWY9ImxpYnhtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjWE1MLU1BWC1OQU1FTEVOLUNBUFMiPgorPEFOQ0hPUiBpZD0iSU5QVVQtQ0hVTkstQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNJTlBVVC1DSFVOSy1DQVBTIj4KKzxBTkNIT1IgaWQ9IklTLUJZVEUtQ0hBUi1DQVBTIiBocmVmPSJsaWJ4bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTLUJZVEUtQ0hBUi1DQVBTIj4KKzxBTkNIT1IgaWQ9IklTLUNIQVItQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNJUy1DSEFSLUNBUFMiPgorPEFOQ0hPUiBpZD0iSVMtQ0hBUi1DSC1DQVBTIiBocmVmPSJsaWJ4bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTLUNIQVItQ0gtQ0FQUyI+Cis8QU5DSE9SIGlkPSJJUy1CTEFOSy1DQVBTIiBocmVmPSJsaWJ4bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTLUJMQU5LLUNBUFMiPgorPEFOQ0hPUiBpZD0iSVMtQkxBTkstQ0gtQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNJUy1CTEFOSy1DSC1DQVBTIj4KKzxBTkNIT1IgaWQ9IklTLUJBU0VDSEFSLUNBUFMiIGhyZWY9ImxpYnhtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjSVMtQkFTRUNIQVItQ0FQUyI+Cis8QU5DSE9SIGlkPSJJUy1ESUdJVC1DQVBTIiBocmVmPSJsaWJ4bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTLURJR0lULUNBUFMiPgorPEFOQ0hPUiBpZD0iSVMtRElHSVQtQ0gtQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNJUy1ESUdJVC1DSC1DQVBTIj4KKzxBTkNIT1IgaWQ9IklTLUNPTUJJTklORy1DQVBTIiBocmVmPSJsaWJ4bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTLUNPTUJJTklORy1DQVBTIj4KKzxBTkNIT1IgaWQ9IklTLUNPTUJJTklORy1DSC1DQVBTIiBocmVmPSJsaWJ4bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTLUNPTUJJTklORy1DSC1DQVBTIj4KKzxBTkNIT1IgaWQ9IklTLUVYVEVOREVSLUNBUFMiIGhyZWY9ImxpYnhtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjSVMtRVhURU5ERVItQ0FQUyI+Cis8QU5DSE9SIGlkPSJJUy1FWFRFTkRFUi1DSC1DQVBTIiBocmVmPSJsaWJ4bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTLUVYVEVOREVSLUNILUNBUFMiPgorPEFOQ0hPUiBpZD0iSVMtSURFT0dSQVBISUMtQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNJUy1JREVPR1JBUEhJQy1DQVBTIj4KKzxBTkNIT1IgaWQ9IklTLUxFVFRFUi1DQVBTIiBocmVmPSJsaWJ4bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTLUxFVFRFUi1DQVBTIj4KKzxBTkNIT1IgaWQ9IklTLUxFVFRFUi1DSC1DQVBTIiBocmVmPSJsaWJ4bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTLUxFVFRFUi1DSC1DQVBTIj4KKzxBTkNIT1IgaWQ9IklTLVBVQklEQ0hBUi1DQVBTIiBocmVmPSJsaWJ4bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTLVBVQklEQ0hBUi1DQVBTIj4KKzxBTkNIT1IgaWQ9IklTLVBVQklEQ0hBUi1DSC1DQVBTIiBocmVmPSJsaWJ4bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTLVBVQklEQ0hBUi1DSC1DQVBTIj4KKzxBTkNIT1IgaWQ9IlNLSVAtRU9MLUNBUFMiIGhyZWY9ImxpYnhtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjU0tJUC1FT0wtQ0FQUyI+Cis8QU5DSE9SIGlkPSJNT1ZFVE8tRU5EVEFHLUNBUFMiIGhyZWY9ImxpYnhtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjTU9WRVRPLUVORFRBRy1DQVBTIj4KKzxBTkNIT1IgaWQ9Ik1PVkVUTy1TVEFSVFRBRy1DQVBTIiBocmVmPSJsaWJ4bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI01PVkVUTy1TVEFSVFRBRy1DQVBTIj4KKzxBTkNIT1IgaWQ9IlhNTC1TVUJTVElUVVRFLU5PTkUtQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNYTUwtU1VCU1RJVFVURS1OT05FLUNBUFMiPgorPEFOQ0hPUiBpZD0iWE1MLVNVQlNUSVRVVEUtUkVGLUNBUFMiIGhyZWY9ImxpYnhtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjWE1MLVNVQlNUSVRVVEUtUkVGLUNBUFMiPgorPEFOQ0hPUiBpZD0iWE1MLVNVQlNUSVRVVEUtUEVSRUYtQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNYTUwtU1VCU1RJVFVURS1QRVJFRi1DQVBTIj4KKzxBTkNIT1IgaWQ9IlhNTC1TVUJTVElUVVRFLUJPVEgtQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNYTUwtU1VCU1RJVFVURS1CT1RILUNBUFMiPgorPEFOQ0hPUiBpZD0ieG1sRW50aXR5UmVmZXJlbmNlRnVuYyIgaHJlZj0ibGlieG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxFbnRpdHlSZWZlcmVuY2VGdW5jIj4KKzxBTkNIT1IgaWQ9ImxpYnhtbC1lbnRpdGllcyIgaHJlZj0ibGlieG1sL2xpYnhtbC1lbnRpdGllcy5odG1sIj4KKzxBTkNIT1IgaWQ9InhtbEVudGl0eVR5cGUiIGhyZWY9ImxpYnhtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxFbnRpdHlUeXBlIj4KKzxBTkNIT1IgaWQ9InhtbEVudGl0eSIgaHJlZj0ibGlieG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI3htbEVudGl0eSI+Cis8QU5DSE9SIGlkPSJ4bWxFbnRpdGllc1RhYmxlUHRyIiBocmVmPSJsaWJ4bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjeG1sRW50aXRpZXNUYWJsZVB0ciI+Cis8QU5DSE9SIGlkPSJsaWJ4bWwtSFRNTHBhcnNlciIgaHJlZj0ibGlieG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwiPgorPEFOQ0hPUiBpZD0iaHRtbFBhcnNlckN0eHQiIGhyZWY9ImxpYnhtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxQYXJzZXJDdHh0Ij4KKzxBTkNIT1IgaWQ9Imh0bWxQYXJzZXJDdHh0UHRyIiBocmVmPSJsaWJ4bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sUGFyc2VyQ3R4dFB0ciI+Cis8QU5DSE9SIGlkPSJodG1sUGFyc2VyTm9kZUluZm8iIGhyZWY9ImxpYnhtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxQYXJzZXJOb2RlSW5mbyI+Cis8QU5DSE9SIGlkPSJodG1sU0FYSGFuZGxlciIgaHJlZj0ibGlieG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFNBWEhhbmRsZXIiPgorPEFOQ0hPUiBpZD0iaHRtbFNBWEhhbmRsZXJQdHIiIGhyZWY9ImxpYnhtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxTQVhIYW5kbGVyUHRyIj4KKzxBTkNIT1IgaWQ9Imh0bWxQYXJzZXJJbnB1dCIgaHJlZj0ibGlieG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlcklucHV0Ij4KKzxBTkNIT1IgaWQ9Imh0bWxQYXJzZXJJbnB1dFB0ciIgaHJlZj0ibGlieG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlcklucHV0UHRyIj4KKzxBTkNIT1IgaWQ9Imh0bWxEb2NQdHIiIGhyZWY9ImxpYnhtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxEb2NQdHIiPgorPEFOQ0hPUiBpZD0iaHRtbE5vZGVQdHIiIGhyZWY9ImxpYnhtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxOb2RlUHRyIj4KKzxBTkNIT1IgaWQ9Imh0bWxFbGVtRGVzYyIgaHJlZj0ibGlieG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEVsZW1EZXNjIj4KKzxBTkNIT1IgaWQ9Imh0bWxFbGVtRGVzY1B0ciIgaHJlZj0ibGlieG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEVsZW1EZXNjUHRyIj4KKzxBTkNIT1IgaWQ9Imh0bWxFbnRpdHlEZXNjIiBocmVmPSJsaWJ4bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sRW50aXR5RGVzYyI+Cis8QU5DSE9SIGlkPSJodG1sRW50aXR5RGVzY1B0ciIgaHJlZj0ibGlieG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEVudGl0eURlc2NQdHIiPgorPEFOQ0hPUiBpZD0iaHRtbFBhcnNlck9wdGlvbiIgaHJlZj0ibGlieG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlck9wdGlvbiI+Cis8QU5DSE9SIGlkPSJsaWJ4bWwtdmFsaWQiIGhyZWY9ImxpYnhtbC9saWJ4bWwtdmFsaWQuaHRtbCI+Cis8QU5DSE9SIGlkPSJ4bWxWYWxpZFN0YXRlIiBocmVmPSJsaWJ4bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRTdGF0ZSI+Cis8QU5DSE9SIGlkPSJ4bWxWYWxpZFN0YXRlUHRyIiBocmVmPSJsaWJ4bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRTdGF0ZVB0ciI+Cis8QU5DSE9SIGlkPSJ4bWxWYWxpZGl0eUVycm9yRnVuYyIgaHJlZj0ibGlieG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkaXR5RXJyb3JGdW5jIj4KKzxBTkNIT1IgaWQ9InhtbFZhbGlkaXR5V2FybmluZ0Z1bmMiIGhyZWY9ImxpYnhtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGl0eVdhcm5pbmdGdW5jIj4KKzxBTkNIT1IgaWQ9InhtbFZhbGlkQ3R4dCIgaHJlZj0ibGlieG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkQ3R4dCI+Cis8QU5DSE9SIGlkPSJ4bWxWYWxpZEN0eHRQdHIiIGhyZWY9ImxpYnhtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZEN0eHRQdHIiPgorPEFOQ0hPUiBpZD0ieG1sTm90YXRpb25UYWJsZVB0ciIgaHJlZj0ibGlieG1sL2xpYnhtbC12YWxpZC5odG1sI3htbE5vdGF0aW9uVGFibGVQdHIiPgorPEFOQ0hPUiBpZD0ieG1sRWxlbWVudFRhYmxlUHRyIiBocmVmPSJsaWJ4bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sRWxlbWVudFRhYmxlUHRyIj4KKzxBTkNIT1IgaWQ9InhtbEF0dHJpYnV0ZVRhYmxlUHRyIiBocmVmPSJsaWJ4bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sQXR0cmlidXRlVGFibGVQdHIiPgorPEFOQ0hPUiBpZD0ieG1sSURUYWJsZVB0ciIgaHJlZj0ibGlieG1sL2xpYnhtbC12YWxpZC5odG1sI3htbElEVGFibGVQdHIiPgorPEFOQ0hPUiBpZD0ieG1sUmVmVGFibGVQdHIiIGhyZWY9ImxpYnhtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxSZWZUYWJsZVB0ciI+Cis8QU5DSE9SIGlkPSJsaWJ4bWwtY2F0YWxvZyIgaHJlZj0ibGlieG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwiPgorPEFOQ0hPUiBpZD0iWE1MLUNBVEFMT0dTLU5BTUVTUEFDRS1DQVBTIiBocmVmPSJsaWJ4bWwvbGlieG1sLWNhdGFsb2cuaHRtbCNYTUwtQ0FUQUxPR1MtTkFNRVNQQUNFLUNBUFMiPgorPEFOQ0hPUiBpZD0iWE1MLUNBVEFMT0ctUEktQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjWE1MLUNBVEFMT0ctUEktQ0FQUyI+Cis8QU5DSE9SIGlkPSJ4bWxDYXRhbG9nUHJlZmVyIiBocmVmPSJsaWJ4bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nUHJlZmVyIj4KKzxBTkNIT1IgaWQ9InhtbENhdGFsb2dBbGxvdyIgaHJlZj0ibGlieG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ0FsbG93Ij4KKzxBTkNIT1IgaWQ9InhtbENhdGFsb2ciIGhyZWY9ImxpYnhtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2ciPgorPEFOQ0hPUiBpZD0ieG1sQ2F0YWxvZ1B0ciIgaHJlZj0ibGlieG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ1B0ciI+Cis8QU5DSE9SIGlkPSJsaWJ4bWwtdHJlZSIgaHJlZj0ibGlieG1sL2xpYnhtbC10cmVlLmh0bWwiPgorPEFOQ0hPUiBpZD0ieG1sUGFyc2VySW5wdXRCdWZmZXIiIGhyZWY9ImxpYnhtbC9saWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyIj4KKzxBTkNIT1IgaWQ9InhtbFBhcnNlcklucHV0QnVmZmVyUHRyIiBocmVmPSJsaWJ4bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciI+Cis8QU5DSE9SIGlkPSJ4bWxPdXRwdXRCdWZmZXIiIGhyZWY9ImxpYnhtbC9saWJ4bWwtdHJlZS5odG1sI3htbE91dHB1dEJ1ZmZlciI+Cis8QU5DSE9SIGlkPSJ4bWxPdXRwdXRCdWZmZXJQdHIiIGhyZWY9ImxpYnhtbC9saWJ4bWwtdHJlZS5odG1sI3htbE91dHB1dEJ1ZmZlclB0ciI+Cis8QU5DSE9SIGlkPSJ4bWxQYXJzZXJJbnB1dCIgaHJlZj0ibGlieG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXQiPgorPEFOQ0hPUiBpZD0ieG1sUGFyc2VySW5wdXRQdHIiIGhyZWY9ImxpYnhtbC9saWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlcklucHV0UHRyIj4KKzxBTkNIT1IgaWQ9InhtbFBhcnNlckN0eHQiIGhyZWY9ImxpYnhtbC9saWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHQiPgorPEFOQ0hPUiBpZD0ieG1sUGFyc2VyQ3R4dFB0ciIgaHJlZj0ibGlieG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+Cis8QU5DSE9SIGlkPSJ4bWxTQVhMb2NhdG9yIiBocmVmPSJsaWJ4bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTQVhMb2NhdG9yIj4KKzxBTkNIT1IgaWQ9InhtbFNBWExvY2F0b3JQdHIiIGhyZWY9ImxpYnhtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNBWExvY2F0b3JQdHIiPgorPEFOQ0hPUiBpZD0ieG1sU0FYSGFuZGxlciIgaHJlZj0ibGlieG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU0FYSGFuZGxlciI+Cis8QU5DSE9SIGlkPSJ4bWxTQVhIYW5kbGVyUHRyIiBocmVmPSJsaWJ4bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTQVhIYW5kbGVyUHRyIj4KKzxBTkNIT1IgaWQ9InhtbEVudGl0eSIgaHJlZj0ibGlieG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRW50aXR5Ij4KKzxBTkNIT1IgaWQ9InhtbEVudGl0eVB0ciIgaHJlZj0ibGlieG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRW50aXR5UHRyIj4KKzxBTkNIT1IgaWQ9IkJBU0UtQlVGRkVSLVNJWkUtQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC10cmVlLmh0bWwjQkFTRS1CVUZGRVItU0laRS1DQVBTIj4KKzxBTkNIT1IgaWQ9IlhNTC1YTUwtTkFNRVNQQUNFLUNBUFMiIGhyZWY9ImxpYnhtbC9saWJ4bWwtdHJlZS5odG1sI1hNTC1YTUwtTkFNRVNQQUNFLUNBUFMiPgorPEFOQ0hPUiBpZD0ieG1sRWxlbWVudFR5cGUiIGhyZWY9ImxpYnhtbC9saWJ4bWwtdHJlZS5odG1sI3htbEVsZW1lbnRUeXBlIj4KKzxBTkNIT1IgaWQ9InhtbENoYXIiIGhyZWY9ImxpYnhtbC9saWJ4bWwtdHJlZS5odG1sI3htbENoYXIiPgorPEFOQ0hPUiBpZD0iQkFELUNBU1QtQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC10cmVlLmh0bWwjQkFELUNBU1QtQ0FQUyI+Cis8QU5DSE9SIGlkPSJ4bWxOb3RhdGlvbiIgaHJlZj0ibGlieG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm90YXRpb24iPgorPEFOQ0hPUiBpZD0ieG1sTm90YXRpb25QdHIiIGhyZWY9ImxpYnhtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vdGF0aW9uUHRyIj4KKzxBTkNIT1IgaWQ9InhtbEF0dHJpYnV0ZVR5cGUiIGhyZWY9ImxpYnhtbC9saWJ4bWwtdHJlZS5odG1sI3htbEF0dHJpYnV0ZVR5cGUiPgorPEFOQ0hPUiBpZD0ieG1sQXR0cmlidXRlRGVmYXVsdCIgaHJlZj0ibGlieG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQXR0cmlidXRlRGVmYXVsdCI+Cis8QU5DSE9SIGlkPSJ4bWxFbnVtZXJhdGlvbiIgaHJlZj0ibGlieG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRW51bWVyYXRpb24iPgorPEFOQ0hPUiBpZD0ieG1sRW51bWVyYXRpb25QdHIiIGhyZWY9ImxpYnhtbC9saWJ4bWwtdHJlZS5odG1sI3htbEVudW1lcmF0aW9uUHRyIj4KKzxBTkNIT1IgaWQ9InhtbEF0dHJpYnV0ZSIgaHJlZj0ibGlieG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQXR0cmlidXRlIj4KKzxBTkNIT1IgaWQ9InhtbEF0dHJpYnV0ZVB0ciIgaHJlZj0ibGlieG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQXR0cmlidXRlUHRyIj4KKzxBTkNIT1IgaWQ9InhtbEVsZW1lbnRDb250ZW50VHlwZSIgaHJlZj0ibGlieG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRWxlbWVudENvbnRlbnRUeXBlIj4KKzxBTkNIT1IgaWQ9InhtbEVsZW1lbnRDb250ZW50T2NjdXIiIGhyZWY9ImxpYnhtbC9saWJ4bWwtdHJlZS5odG1sI3htbEVsZW1lbnRDb250ZW50T2NjdXIiPgorPEFOQ0hPUiBpZD0ieG1sRWxlbWVudENvbnRlbnQiIGhyZWY9ImxpYnhtbC9saWJ4bWwtdHJlZS5odG1sI3htbEVsZW1lbnRDb250ZW50Ij4KKzxBTkNIT1IgaWQ9InhtbEVsZW1lbnRDb250ZW50UHRyIiBocmVmPSJsaWJ4bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxFbGVtZW50Q29udGVudFB0ciI+Cis8QU5DSE9SIGlkPSJ4bWxFbGVtZW50VHlwZVZhbCIgaHJlZj0ibGlieG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRWxlbWVudFR5cGVWYWwiPgorPEFOQ0hPUiBpZD0ieG1sRWxlbWVudCIgaHJlZj0ibGlieG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRWxlbWVudCI+Cis8QU5DSE9SIGlkPSJ4bWxFbGVtZW50UHRyIiBocmVmPSJsaWJ4bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxFbGVtZW50UHRyIj4KKzxBTkNIT1IgaWQ9IlhNTC1MT0NBTC1OQU1FU1BBQ0UtQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MLUxPQ0FMLU5BTUVTUEFDRS1DQVBTIj4KKzxBTkNIT1IgaWQ9InhtbE5zVHlwZSIgaHJlZj0ibGlieG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTnNUeXBlIj4KKzxBTkNIT1IgaWQ9InhtbE5zIiBocmVmPSJsaWJ4bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOcyI+Cis8QU5DSE9SIGlkPSJ4bWxOc1B0ciIgaHJlZj0ibGlieG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTnNQdHIiPgorPEFOQ0hPUiBpZD0ieG1sRHRkIiBocmVmPSJsaWJ4bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxEdGQiPgorPEFOQ0hPUiBpZD0ieG1sRHRkUHRyIiBocmVmPSJsaWJ4bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxEdGRQdHIiPgorPEFOQ0hPUiBpZD0ieG1sQXR0ciIgaHJlZj0ibGlieG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQXR0ciI+Cis8QU5DSE9SIGlkPSJ4bWxBdHRyUHRyIiBocmVmPSJsaWJ4bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxBdHRyUHRyIj4KKzxBTkNIT1IgaWQ9InhtbElEIiBocmVmPSJsaWJ4bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxJRCI+Cis8QU5DSE9SIGlkPSJ4bWxJRFB0ciIgaHJlZj0ibGlieG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sSURQdHIiPgorPEFOQ0hPUiBpZD0ieG1sUmVmIiBocmVmPSJsaWJ4bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxSZWYiPgorPEFOQ0hPUiBpZD0ieG1sUmVmUHRyIiBocmVmPSJsaWJ4bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxSZWZQdHIiPgorPEFOQ0hPUiBpZD0ieG1sQnVmZmVyQWxsb2NhdGlvblNjaGVtZSIgaHJlZj0ibGlieG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyQWxsb2NhdGlvblNjaGVtZSI+Cis8QU5DSE9SIGlkPSJ4bWxCdWZmZXIiIGhyZWY9ImxpYnhtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlciI+Cis8QU5DSE9SIGlkPSJ4bWxCdWZmZXJQdHIiIGhyZWY9ImxpYnhtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlclB0ciI+Cis8QU5DSE9SIGlkPSJ4bWxOb2RlIiBocmVmPSJsaWJ4bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlIj4KKzxBTkNIT1IgaWQ9InhtbE5vZGVQdHIiIGhyZWY9ImxpYnhtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPgorPEFOQ0hPUiBpZD0iWE1MLUdFVC1DT05URU5ULUNBUFMiIGhyZWY9ImxpYnhtbC9saWJ4bWwtdHJlZS5odG1sI1hNTC1HRVQtQ09OVEVOVC1DQVBTIj4KKzxBTkNIT1IgaWQ9IlhNTC1HRVQtTElORS1DQVBTIiBocmVmPSJsaWJ4bWwvbGlieG1sLXRyZWUuaHRtbCNYTUwtR0VULUxJTkUtQ0FQUyI+Cis8QU5DSE9SIGlkPSJ4bWxEb2MiIGhyZWY9ImxpYnhtbC9saWJ4bWwtdHJlZS5odG1sI3htbERvYyI+Cis8QU5DSE9SIGlkPSJ4bWxEb2NQdHIiIGhyZWY9ImxpYnhtbC9saWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+Cis8QU5DSE9SIGlkPSJ4bWxDaGlsZHJlbk5vZGUiIGhyZWY9ImxpYnhtbC9saWJ4bWwtdHJlZS5odG1sI3htbENoaWxkcmVuTm9kZSI+Cis8QU5DSE9SIGlkPSJ4bWxSb290Tm9kZSIgaHJlZj0ibGlieG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sUm9vdE5vZGUiPgorPEFOQ0hPUiBpZD0ibGlieG1sLWdsb2JhbHMiIGhyZWY9ImxpYnhtbC9saWJ4bWwtZ2xvYmFscy5odG1sIj4KKzxBTkNIT1IgaWQ9InhtbFJlZ2lzdGVyTm9kZUZ1bmMiIGhyZWY9ImxpYnhtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbFJlZ2lzdGVyTm9kZUZ1bmMiPgorPEFOQ0hPUiBpZD0ieG1sRGVyZWdpc3Rlck5vZGVGdW5jIiBocmVmPSJsaWJ4bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxEZXJlZ2lzdGVyTm9kZUZ1bmMiPgorPEFOQ0hPUiBpZD0ieG1sR2xvYmFsU3RhdGUiIGhyZWY9ImxpYnhtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbEdsb2JhbFN0YXRlIj4KKzxBTkNIT1IgaWQ9InhtbEdsb2JhbFN0YXRlUHRyIiBocmVmPSJsaWJ4bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxHbG9iYWxTdGF0ZVB0ciI+Cis8QU5DSE9SIGlkPSJ4bWxNYWxsb2MiIGhyZWY9ImxpYnhtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbE1hbGxvYyI+Cis8QU5DSE9SIGlkPSJ4bWxNYWxsb2NBdG9taWMiIGhyZWY9ImxpYnhtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbE1hbGxvY0F0b21pYyI+Cis8QU5DSE9SIGlkPSJ4bWxSZWFsbG9jIiBocmVmPSJsaWJ4bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxSZWFsbG9jIj4KKzxBTkNIT1IgaWQ9InhtbEZyZWUiIGhyZWY9ImxpYnhtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbEZyZWUiPgorPEFOQ0hPUiBpZD0ieG1sTWVtU3RyZHVwIiBocmVmPSJsaWJ4bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxNZW1TdHJkdXAiPgorPEFOQ0hPUiBpZD0iZG9jYkRlZmF1bHRTQVhIYW5kbGVyIiBocmVmPSJsaWJ4bWwvbGlieG1sLWdsb2JhbHMuaHRtbCNkb2NiRGVmYXVsdFNBWEhhbmRsZXIiPgorPEFOQ0hPUiBpZD0iaHRtbERlZmF1bHRTQVhIYW5kbGVyIiBocmVmPSJsaWJ4bWwvbGlieG1sLWdsb2JhbHMuaHRtbCNodG1sRGVmYXVsdFNBWEhhbmRsZXIiPgorPEFOQ0hPUiBpZD0ieG1sTGFzdEVycm9yIiBocmVmPSJsaWJ4bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxMYXN0RXJyb3IiPgorPEFOQ0hPUiBpZD0ib2xkWE1MV0Rjb21wYXRpYmlsaXR5IiBocmVmPSJsaWJ4bWwvbGlieG1sLWdsb2JhbHMuaHRtbCNvbGRYTUxXRGNvbXBhdGliaWxpdHkiPgorPEFOQ0hPUiBpZD0ieG1sQnVmZmVyQWxsb2NTY2hlbWUiIGhyZWY9ImxpYnhtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbEJ1ZmZlckFsbG9jU2NoZW1lIj4KKzxBTkNIT1IgaWQ9InhtbERlZmF1bHRCdWZmZXJTaXplIiBocmVmPSJsaWJ4bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxEZWZhdWx0QnVmZmVyU2l6ZSI+Cis8QU5DSE9SIGlkPSJ4bWxEZWZhdWx0U0FYSGFuZGxlciIgaHJlZj0ibGlieG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sRGVmYXVsdFNBWEhhbmRsZXIiPgorPEFOQ0hPUiBpZD0ieG1sRGVmYXVsdFNBWExvY2F0b3IiIGhyZWY9ImxpYnhtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbERlZmF1bHRTQVhMb2NhdG9yIj4KKzxBTkNIT1IgaWQ9InhtbERvVmFsaWRpdHlDaGVja2luZ0RlZmF1bHRWYWx1ZSIgaHJlZj0ibGlieG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sRG9WYWxpZGl0eUNoZWNraW5nRGVmYXVsdFZhbHVlIj4KKzxBTkNIT1IgaWQ9InhtbEdlbmVyaWNFcnJvciIgaHJlZj0ibGlieG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sR2VuZXJpY0Vycm9yIj4KKzxBTkNIT1IgaWQ9InhtbFN0cnVjdHVyZWRFcnJvciIgaHJlZj0ibGlieG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sU3RydWN0dXJlZEVycm9yIj4KKzxBTkNIT1IgaWQ9InhtbEdlbmVyaWNFcnJvckNvbnRleHQiIGhyZWY9ImxpYnhtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbEdlbmVyaWNFcnJvckNvbnRleHQiPgorPEFOQ0hPUiBpZD0ieG1sR2V0V2FybmluZ3NEZWZhdWx0VmFsdWUiIGhyZWY9ImxpYnhtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbEdldFdhcm5pbmdzRGVmYXVsdFZhbHVlIj4KKzxBTkNIT1IgaWQ9InhtbEluZGVudFRyZWVPdXRwdXQiIGhyZWY9ImxpYnhtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbEluZGVudFRyZWVPdXRwdXQiPgorPEFOQ0hPUiBpZD0ieG1sVHJlZUluZGVudFN0cmluZyIgaHJlZj0ibGlieG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sVHJlZUluZGVudFN0cmluZyI+Cis8QU5DSE9SIGlkPSJ4bWxLZWVwQmxhbmtzRGVmYXVsdFZhbHVlIiBocmVmPSJsaWJ4bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxLZWVwQmxhbmtzRGVmYXVsdFZhbHVlIj4KKzxBTkNIT1IgaWQ9InhtbExpbmVOdW1iZXJzRGVmYXVsdFZhbHVlIiBocmVmPSJsaWJ4bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxMaW5lTnVtYmVyc0RlZmF1bHRWYWx1ZSI+Cis8QU5DSE9SIGlkPSJ4bWxMb2FkRXh0RHRkRGVmYXVsdFZhbHVlIiBocmVmPSJsaWJ4bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxMb2FkRXh0RHRkRGVmYXVsdFZhbHVlIj4KKzxBTkNIT1IgaWQ9InhtbFBhcnNlckRlYnVnRW50aXRpZXMiIGhyZWY9ImxpYnhtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbFBhcnNlckRlYnVnRW50aXRpZXMiPgorPEFOQ0hPUiBpZD0ieG1sUGFyc2VyVmVyc2lvbiIgaHJlZj0ibGlieG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sUGFyc2VyVmVyc2lvbiI+Cis8QU5DSE9SIGlkPSJ4bWxQZWRhbnRpY1BhcnNlckRlZmF1bHRWYWx1ZSIgaHJlZj0ibGlieG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sUGVkYW50aWNQYXJzZXJEZWZhdWx0VmFsdWUiPgorPEFOQ0hPUiBpZD0ieG1sU2F2ZU5vRW1wdHlUYWdzIiBocmVmPSJsaWJ4bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxTYXZlTm9FbXB0eVRhZ3MiPgorPEFOQ0hPUiBpZD0ieG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdFZhbHVlIiBocmVmPSJsaWJ4bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0VmFsdWUiPgorPEFOQ0hPUiBpZD0ieG1sUmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlIiBocmVmPSJsaWJ4bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxSZWdpc3Rlck5vZGVEZWZhdWx0VmFsdWUiPgorPEFOQ0hPUiBpZD0ieG1sRGVyZWdpc3Rlck5vZGVEZWZhdWx0VmFsdWUiIGhyZWY9ImxpYnhtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbERlcmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlIj4KKzxBTkNIT1IgaWQ9ImxpYnhtbC14bWxleHBvcnRzIiBocmVmPSJsaWJ4bWwvbGlieG1sLXhtbGV4cG9ydHMuaHRtbCI+Cis8QU5DSE9SIGlkPSJYTUxQVUJGVU4tQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC14bWxleHBvcnRzLmh0bWwjWE1MUFVCRlVOLUNBUFMiPgorPEFOQ0hPUiBpZD0iWE1MUFVCVkFSLUNBUFMiIGhyZWY9ImxpYnhtbC9saWJ4bWwteG1sZXhwb3J0cy5odG1sI1hNTFBVQlZBUi1DQVBTIj4KKzxBTkNIT1IgaWQ9IlhNTENBTEwtQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC14bWxleHBvcnRzLmh0bWwjWE1MQ0FMTC1DQVBTIj4KKzxBTkNIT1IgaWQ9IkxJQlhNTC1ETEwtSU1QT1JULUNBUFMiIGhyZWY9ImxpYnhtbC9saWJ4bWwteG1sZXhwb3J0cy5odG1sI0xJQlhNTC1ETEwtSU1QT1JULUNBUFMiPgorPEFOQ0hPUiBpZD0ibGlieG1sLXhpbmNsdWRlIiBocmVmPSJsaWJ4bWwvbGlieG1sLXhpbmNsdWRlLmh0bWwiPgorPEFOQ0hPUiBpZD0iWElOQ0xVREUtTlMtQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC14aW5jbHVkZS5odG1sI1hJTkNMVURFLU5TLUNBUFMiPgorPEFOQ0hPUiBpZD0iWElOQ0xVREUtTk9ERS1DQVBTIiBocmVmPSJsaWJ4bWwvbGlieG1sLXhpbmNsdWRlLmh0bWwjWElOQ0xVREUtTk9ERS1DQVBTIj4KKzxBTkNIT1IgaWQ9IlhJTkNMVURFLUZBTExCQUNLLUNBUFMiIGhyZWY9ImxpYnhtbC9saWJ4bWwteGluY2x1ZGUuaHRtbCNYSU5DTFVERS1GQUxMQkFDSy1DQVBTIj4KKzxBTkNIT1IgaWQ9IlhJTkNMVURFLUhSRUYtQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC14aW5jbHVkZS5odG1sI1hJTkNMVURFLUhSRUYtQ0FQUyI+Cis8QU5DSE9SIGlkPSJYSU5DTFVERS1QQVJTRS1DQVBTIiBocmVmPSJsaWJ4bWwvbGlieG1sLXhpbmNsdWRlLmh0bWwjWElOQ0xVREUtUEFSU0UtQ0FQUyI+Cis8QU5DSE9SIGlkPSJYSU5DTFVERS1QQVJTRS1YTUwtQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC14aW5jbHVkZS5odG1sI1hJTkNMVURFLVBBUlNFLVhNTC1DQVBTIj4KKzxBTkNIT1IgaWQ9IlhJTkNMVURFLVBBUlNFLVRFWFQtQ0FQUyIgaHJlZj0ibGlieG1sL2xpYnhtbC14aW5jbHVkZS5odG1sI1hJTkNMVURFLVBBUlNFLVRFWFQtQ0FQUyI+Cis8QU5DSE9SIGlkPSJYSU5DTFVERS1QQVJTRS1FTkNPRElORy1DQVBTIiBocmVmPSJsaWJ4bWwvbGlieG1sLXhpbmNsdWRlLmh0bWwjWElOQ0xVREUtUEFSU0UtRU5DT0RJTkctQ0FQUyI+Cis8QU5DSE9SIGlkPSJ4bWxYSW5jbHVkZUN0eHQiIGhyZWY9ImxpYnhtbC9saWJ4bWwteGluY2x1ZGUuaHRtbCN4bWxYSW5jbHVkZUN0eHQiPgorPEFOQ0hPUiBpZD0ieG1sWEluY2x1ZGVDdHh0UHRyIiBocmVmPSJsaWJ4bWwvbGlieG1sLXhpbmNsdWRlLmh0bWwjeG1sWEluY2x1ZGVDdHh0UHRyIj4KKzxBTkNIT1IgaWQ9ImxpYnhtbC14bWxyZWFkZXIiIGhyZWY9ImxpYnhtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwiPgorPEFOQ0hPUiBpZD0ieG1sUGFyc2VyUHJvcGVydGllcyIgaHJlZj0ibGlieG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxQYXJzZXJQcm9wZXJ0aWVzIj4KKzxBTkNIT1IgaWQ9InhtbFBhcnNlclNldmVyaXRpZXMiIGhyZWY9ImxpYnhtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sUGFyc2VyU2V2ZXJpdGllcyI+Cis8QU5DSE9SIGlkPSJ4bWxSZWFkZXJUeXBlcyIgaHJlZj0ibGlieG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxSZWFkZXJUeXBlcyI+Cis8QU5DSE9SIGlkPSJ4bWxUZXh0UmVhZGVyIiBocmVmPSJsaWJ4bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXIiPgorPEFOQ0hPUiBpZD0ieG1sVGV4dFJlYWRlclB0ciIgaHJlZj0ibGlieG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj4KKzxBTkNIT1IgaWQ9InhtbFRleHRSZWFkZXJMb2NhdG9yUHRyIiBocmVmPSJsaWJ4bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJMb2NhdG9yUHRyIj4KKzxBTkNIT1IgaWQ9InhtbFRleHRSZWFkZXJFcnJvckZ1bmMiIGhyZWY9ImxpYnhtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckVycm9yRnVuYyI+Cis8QU5DSE9SIGlkPSJsaWJ4bWwtZGVidWdYTUwiIGhyZWY9ImxpYnhtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCI+Cis8QU5DSE9SIGlkPSJ4bWxTaGVsbFJlYWRsaW5lRnVuYyIgaHJlZj0ibGlieG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsUmVhZGxpbmVGdW5jIj4KKzxBTkNIT1IgaWQ9InhtbFNoZWxsQ3R4dCIgaHJlZj0ibGlieG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsQ3R4dCI+Cis8QU5DSE9SIGlkPSJ4bWxTaGVsbEN0eHRQdHIiIGhyZWY9ImxpYnhtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbEN0eHRQdHIiPgorPEFOQ0hPUiBpZD0ieG1sU2hlbGxDbWQiIGhyZWY9ImxpYnhtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbENtZCI+Cis8QU5DSE9SIGlkPSJsaWJ4bWwteG1sd3JpdGVyIiBocmVmPSJsaWJ4bWwvbGlieG1sLXhtbHdyaXRlci5odG1sIj4KKzxBTkNIT1IgaWQ9InhtbFRleHRXcml0ZXIiIGhyZWY9ImxpYnhtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlciI+Cis8QU5DSE9SIGlkPSJ4bWxUZXh0V3JpdGVyUHRyIiBocmVmPSJsaWJ4bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPgorPEFOQ0hPUiBpZD0ieG1sVGV4dFdyaXRlcldyaXRlUHJvY2Vzc2luZ0luc3RydWN0aW9uIiBocmVmPSJsaWJ4bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZVByb2Nlc3NpbmdJbnN0cnVjdGlvbiI+Cis8QU5DSE9SIGlkPSJ4bWxUZXh0V3JpdGVyV3JpdGVEb2NUeXBlIiBocmVmPSJsaWJ4bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZURvY1R5cGUiPgorPEFOQ0hPUiBpZD0ieG1sVGV4dFdyaXRlckVuZERUREVsZW1lbnQiIGhyZWY9ImxpYnhtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlckVuZERUREVsZW1lbnQiPgorPEFOQ0hPUiBpZD0ieG1sVGV4dFdyaXRlckVuZERUREF0dGxpc3QiIGhyZWY9ImxpYnhtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlckVuZERUREF0dGxpc3QiPgorPEFOQ0hPUiBpZD0ieG1sVGV4dFdyaXRlckVuZERUREVudGl0eSIgaHJlZj0ibGlieG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyRW5kRFRERW50aXR5Ij4KKzxBTkNIT1IgaWQ9ImxpYnhtbC14bWxzY2hlbWFzIiBocmVmPSJsaWJ4bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCI+Cis8QU5DSE9SIGlkPSJ4bWxTY2hlbWFWYWxpZEVycm9yIiBocmVmPSJsaWJ4bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZEVycm9yIj4KKzxBTkNIT1IgaWQ9InhtbFNjaGVtYSIgaHJlZj0ibGlieG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hIj4KKzxBTkNIT1IgaWQ9InhtbFNjaGVtYVB0ciIgaHJlZj0ibGlieG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hUHRyIj4KKzxBTkNIT1IgaWQ9InhtbFNjaGVtYVZhbGlkaXR5RXJyb3JGdW5jIiBocmVmPSJsaWJ4bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZGl0eUVycm9yRnVuYyI+Cis8QU5DSE9SIGlkPSJ4bWxTY2hlbWFWYWxpZGl0eVdhcm5pbmdGdW5jIiBocmVmPSJsaWJ4bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZGl0eVdhcm5pbmdGdW5jIj4KKzxBTkNIT1IgaWQ9InhtbFNjaGVtYVBhcnNlckN0eHQiIGhyZWY9ImxpYnhtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVBhcnNlckN0eHQiPgorPEFOQ0hPUiBpZD0ieG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciIgaHJlZj0ibGlieG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciI+Cis8QU5DSE9SIGlkPSJ4bWxTY2hlbWFWYWxpZEN0eHQiIGhyZWY9ImxpYnhtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkQ3R4dCI+Cis8QU5DSE9SIGlkPSJ4bWxTY2hlbWFWYWxpZEN0eHRQdHIiIGhyZWY9ImxpYnhtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkQ3R4dFB0ciI+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9odG1sL2xlZnQucG5nIGIvbGlieG1sMi9kb2MvaHRtbC9sZWZ0LnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZDA1YjNkCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvaHRtbC9sZWZ0LnBuZwpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9odG1sL2xpYnhtbC1ET0NCcGFyc2VyLmh0bWwgYi9saWJ4bWwyL2RvYy9odG1sL2xpYnhtbC1ET0NCcGFyc2VyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjAwZGFkNAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL2h0bWwvbGlieG1sLURPQ0JwYXJzZXIuaHRtbApAQCAtMCwwICsxLDUxIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPgorPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPjxoZWFkPjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPjxsaW5rIHJlbD0iU0hPUlRDVVQgSUNPTiIgaHJlZj0iL2Zhdmljb24uaWNvIiAvPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CitURCB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorQk9EWSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhOyBtYXJnaW4tdG9wOiAyZW07IG1hcmdpbi1sZWZ0OiAwZW07IG1hcmdpbi1yaWdodDogMGVtfQorSDEge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gyIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMyB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorQTpsaW5rLCBBOnZpc2l0ZWQsIEE6YWN0aXZlIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgfQorPC9zdHlsZT48c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorICAgICAgZGl2LmRlcHJlY2F0ZWQgcHJlLnByb2dyYW1saXN0aW5nIHtib3JkZXItc3R5bGU6IGRvdWJsZTtib3JkZXItY29sb3I6cmVkfQorICAgICAgcHJlLnByb2dyYW1saXN0aW5nIHtib3JkZXItc3R5bGU6IGRvdWJsZTtiYWNrZ3JvdW5kOiAjRUVDRkExfQorICAgIDwvc3R5bGU+PHRpdGxlPk1vZHVsZSBET0NCcGFyc2VyIGZyb20gbGlieG1sMjwvdGl0bGU+PC9oZWFkPjxib2R5IGJnY29sb3I9IiM4Yjc3NjUiIHRleHQ9IiMwMDAwMDAiIGxpbms9IiNhMDYwNjAiIHZsaW5rPSIjMDAwMDAwIj48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iMTAwJSIgY2VsbHBhZGRpbmc9IjUiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIHdpZHRoPSIxMjAiPjxhIGhyZWY9Imh0dHA6Ly9zd3BhdC5mZmlpLm9yZy8iPjxpbWcgc3JjPSIuLi9lcGF0ZW50cy5wbmciIGFsdD0iQWN0aW9uIGFnYWluc3Qgc29mdHdhcmUgcGF0ZW50cyIgLz48L2E+PC90ZD48dGQgd2lkdGg9IjE4MCI+PGEgaHJlZj0iaHR0cDovL3d3dy5nbm9tZS5vcmcvIj48aW1nIHNyYz0iLi4vZ25vbWUyLnBuZyIgYWx0PSJHbm9tZTIgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvU3RhdHVzIj48aW1nIHNyYz0iLi4vdzNjLnBuZyIgYWx0PSJXM0MgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy5yZWRoYXQuY29tLyI+PGltZyBzcmM9Ii4uL3JlZGhhdC5naWYiIGFsdD0iUmVkIEhhdCBMb2dvIiAvPjwvYT48ZGl2IGFsaWduPSJsZWZ0Ij48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvIj48aW1nIHNyYz0iLi4vTGlieG1sMi1Mb2dvLTE4MHgxNjguZ2lmIiBhbHQ9Ik1hZGUgd2l0aCBMaWJ4bWwyIExvZ28iIC8+PC9hPjwvZGl2PjwvdGQ+PHRkPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSI5MCUiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIiBiZ2NvbG9yPSIjZmZmYWNkIj48dHI+PHRkIGFsaWduPSJjZW50ZXIiPjxoMT48L2gxPjxoMj5Nb2R1bGUgRE9DQnBhcnNlciBmcm9tIGxpYnhtbDI8L2gyPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI0IiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCB2YWxpZ249InRvcCIgd2lkdGg9IjIwMCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+QVBJIE1lbnU8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PGZvcm0gYWN0aW9uPSIuLi9zZWFyY2gucGhwIiBlbmN0eXBlPSJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiIG1ldGhvZD0iZ2V0Ij48aW5wdXQgbmFtZT0icXVlcnkiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iIiAvPjxpbnB1dCBuYW1lPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNlYXJjaCAuLi4iIC8+PC9mb3JtPjx1bD48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9Ii4uL2luZGV4Lmh0bWwiPk1haW4gTWVudTwvYT48L2xpPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iLi4vZG9jcy5odG1sIj5EZXZlbG9wZXIgTWVudTwvYT48L2xpPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iLi4vZXhhbXBsZXMvaW5kZXguaHRtbCI+Q29kZSBFeGFtcGxlczwvYT48L2xpPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iaW5kZXguaHRtbCI+QVBJIE1lbnU8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXBhcnNlci5odG1sIj5QYXJzZXIgQVBJPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwiPlRyZWUgQVBJPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCI+UmVhZGVyIEFQSTwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9ndWlkZWxpbmVzLmh0bWwiPlhNTCBHdWlkZWxpbmVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0NoYW5nZUxvZy5odG1sIj5DaGFuZ2VMb2c8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5BUEkgSW5kZXhlczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9Ii4uL0FQSWNodW5rMC5odG1sIj5BbHBoYWJldGljPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSWNvbnN0cnVjdG9ycy5odG1sIj5Db25zdHJ1Y3RvcnM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJZnVuY3Rpb25zLmh0bWwiPkZ1bmN0aW9ucy9UeXBlczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUElmaWxlcy5odG1sIj5Nb2R1bGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSXN5bWJvbHMuaHRtbCI+U3ltYm9sczwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPlJlbGF0ZWQgbGlua3M8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSJodHRwOi8vbWFpbC5nbm9tZS5vcmcvYXJjaGl2ZXMveG1sLyI+TWFpbCBhcmNoaXZlPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9YU0xULyI+WFNMVCBsaWJ4c2x0PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9waGQuY3MudW5pYm8uaXQvZ2RvbWUyLyI+RE9NIGdkb21lMjwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmFsZWtzZXkuY29tL3htbHNlYy8iPlhNTC1EU2lnIHhtbHNlYzwvYT48L2xpPjxsaT48YSBocmVmPSJmdHA6Ly94bWxzb2Z0Lm9yZy8iPkZUUDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnpsYXRrb3ZpYy5jb20vcHJvamVjdHMvbGlieG1sLyI+V2luZG93cyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vb3BlbmNzdy5vcmcvcGFja2FnZXMvbGlieG1sMiI+U29sYXJpcyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmV4cGxhaW4uY29tLmF1L29zcy9saWJ4bWwyeHNsdC5odG1sIj5NYWNPc1ggYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2x4bWwuZGUvIj5seG1sIFB5dGhvbiBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vY3Bhbi51d2lubmlwZWcuY2EvZGlzdC9YTUwtTGliWE1MIj5QZXJsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWxwbHVzcGx1cy5zb3VyY2Vmb3JnZS5uZXQvIj5DKysgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56ZW5kLmNvbS9waHA1L2FydGljbGVzL3BocDUteG1scGhwLnBocCNIZWFkaW5nNCI+UEhQIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbGlieG1sMi1wYXMvIj5QYXNjYWwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbC5ydWJ5Zm9yZ2Uub3JnLyI+UnVieSBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vdGNseG1sLnNvdXJjZWZvcmdlLm5ldC8iPlRjbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2J1Z2xpc3QuY2dpP3Byb2R1Y3Q9bGlieG1sMiI+QnVnIFRyYWNrZXI8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dGFibGUgY2xhc3M9Im5hdmlnYXRpb24iIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIyIj48dHIgdmFsaWduPSJtaWRkbGUiPjx0ZD48YSBhY2Nlc3NrZXk9InUiIGhyZWY9ImluZGV4Lmh0bWwiPjxpbWcgc3JjPSJ1cC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlVwIiAvPjwvYT48L3RkPjx0aCBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iaW5kZXguaHRtbCI+QVBJIGRvY3VtZW50YXRpb248L2E+PC90aD48dGQ+PGEgYWNjZXNza2V5PSJoIiBocmVmPSIuLi9pbmRleC5odG1sIj48aW1nIHNyYz0iaG9tZS5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IkhvbWUiIC8+PC9hPjwvdGQ+PHRoIGFsaWduPSJjZW50ZXIiPjxhIGhyZWY9Ii4uL2luZGV4Lmh0bWwiPlRoZSBYTUwgQyBwYXJzZXIgYW5kIHRvb2xraXQgb2YgR25vbWU8L2E+PC90aD48dGggYWxpZ249InJpZ2h0Ij48YSBocmVmPSJsaWJ4bWwtSFRNTHBhcnNlci5odG1sIj5IVE1McGFyc2VyPC9hPjwvdGg+PHRkPjxhIGFjY2Vzc2tleT0ibiIgaHJlZj0ibGlieG1sLUhUTUxwYXJzZXIuaHRtbCI+PGltZyBzcmM9InJpZ2h0LnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iTmV4dCIgLz48L2E+PC90ZD48L3RyPjwvdGFibGU+PGgyIHN0eWxlPSJmb250LXdlaWdodDpib2xkO2NvbG9yOnJlZDt0ZXh0LWFsaWduOmNlbnRlciI+VGhpcyBtb2R1bGUgaXMgZGVwcmVjYXRlZDwvaDI+PHA+aW50ZXJmYWNlIGZvciBhIERvY0Jvb2sgU0dNTCBub24tdmVyaWZ5aW5nIHBhcnNlciBUaGlzIGNvZGUgaXMgREVQUkVDQVRFRCwgYW5kIHNob3VsZCBub3QgYmUgdXNlZCBhbnltb3JlLiA8L3A+PGRpdiBjbGFzcz0iZGVwcmVjYXRlZCI+PGgyPlRhYmxlIG9mIENvbnRlbnRzPC9oMj48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+VHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlcklucHV0UHRyIj54bWxQYXJzZXJJbnB1dFB0cjwvYT4gPGEgbmFtZT0iZG9jYlBhcnNlcklucHV0UHRyIiBpZD0iZG9jYlBhcnNlcklucHV0UHRyIj5kb2NiUGFyc2VySW5wdXRQdHI8L2E+Cis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+VHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHQiPnhtbFBhcnNlckN0eHQ8L2E+IDxhIG5hbWU9ImRvY2JQYXJzZXJDdHh0IiBpZD0iZG9jYlBhcnNlckN0eHQiPmRvY2JQYXJzZXJDdHh0PC9hPgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlR5cGVkZWYgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiA8YSBuYW1lPSJkb2NiUGFyc2VyQ3R4dFB0ciIgaWQ9ImRvY2JQYXJzZXJDdHh0UHRyIj5kb2NiUGFyc2VyQ3R4dFB0cjwvYT4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5UeXBlZGVmIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXQiPnhtbFBhcnNlcklucHV0PC9hPiA8YSBuYW1lPSJkb2NiUGFyc2VySW5wdXQiIGlkPSJkb2NiUGFyc2VySW5wdXQiPmRvY2JQYXJzZXJJbnB1dDwvYT4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5UeXBlZGVmIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IDxhIG5hbWU9ImRvY2JEb2NQdHIiIGlkPSJkb2NiRG9jUHRyIj5kb2NiRG9jUHRyPC9hPgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlR5cGVkZWYgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxTQVhIYW5kbGVyIj54bWxTQVhIYW5kbGVyPC9hPiA8YSBuYW1lPSJkb2NiU0FYSGFuZGxlciIgaWQ9ImRvY2JTQVhIYW5kbGVyIj5kb2NiU0FYSGFuZGxlcjwvYT4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5UeXBlZGVmIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sU0FYSGFuZGxlclB0ciI+eG1sU0FYSGFuZGxlclB0cjwvYT4gPGEgbmFtZT0iZG9jYlNBWEhhbmRsZXJQdHIiIGlkPSJkb2NiU0FYSGFuZGxlclB0ciI+ZG9jYlNBWEhhbmRsZXJQdHI8L2E+Cis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjZG9jYkZyZWVQYXJzZXJDdHh0Ij5kb2NiRnJlZVBhcnNlckN0eHQ8L2E+CQkoPGEgaHJlZj0ibGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiUGFyc2VyQ3R4dFB0ciI+ZG9jYlBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiRG9jUHRyIj5kb2NiRG9jUHRyPC9hPgk8YSBocmVmPSIjZG9jYlBhcnNlRG9jIj5kb2NiUGFyc2VEb2M8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY3VyLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiUGFyc2VyQ3R4dFB0ciI+ZG9jYlBhcnNlckN0eHRQdHI8L2E+CTxhIGhyZWY9IiNkb2NiQ3JlYXRlRmlsZVBhcnNlckN0eHQiPmRvY2JDcmVhdGVGaWxlUGFyc2VyQ3R4dDwvYT4JKGNvbnN0IGNoYXIgKiBmaWxlbmFtZSwgPGJyIC8+CQkJCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiRG9jUHRyIj5kb2NiRG9jUHRyPC9hPgk8YSBocmVmPSIjZG9jYlNBWFBhcnNlRmlsZSI+ZG9jYlNBWFBhcnNlRmlsZTwvYT4JKGNvbnN0IGNoYXIgKiBmaWxlbmFtZSwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtRE9DQnBhcnNlci5odG1sI2RvY2JTQVhIYW5kbGVyUHRyIj5kb2NiU0FYSGFuZGxlclB0cjwvYT4gc2F4LCA8YnIgLz4JCQkJCSB2b2lkICogdXNlckRhdGEpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiRG9jUHRyIj5kb2NiRG9jUHRyPC9hPgk8YSBocmVmPSIjZG9jYlNBWFBhcnNlRG9jIj5kb2NiU0FYUGFyc2VEb2M8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY3VyLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC1ET0NCcGFyc2VyLmh0bWwjZG9jYlNBWEhhbmRsZXJQdHIiPmRvY2JTQVhIYW5kbGVyUHRyPC9hPiBzYXgsIDxiciAvPgkJCQkJIHZvaWQgKiB1c2VyRGF0YSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtRE9DQnBhcnNlci5odG1sI2RvY2JQYXJzZXJDdHh0UHRyIj5kb2NiUGFyc2VyQ3R4dFB0cjwvYT4JPGEgaHJlZj0iI2RvY2JDcmVhdGVQdXNoUGFyc2VyQ3R4dCI+ZG9jYkNyZWF0ZVB1c2hQYXJzZXJDdHh0PC9hPgkoPGEgaHJlZj0ibGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiU0FYSGFuZGxlclB0ciI+ZG9jYlNBWEhhbmRsZXJQdHI8L2E+IHNheCwgPGJyIC8+CQkJCQkJCSB2b2lkICogdXNlcl9kYXRhLCA8YnIgLz4JCQkJCQkJIGNvbnN0IGNoYXIgKiBjaHVuaywgPGJyIC8+CQkJCQkJCSBpbnQgc2l6ZSwgPGJyIC8+CQkJCQkJCSBjb25zdCBjaGFyICogZmlsZW5hbWUsIDxiciAvPgkJCQkJCQkgPGEgaHJlZj0ibGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nIj54bWxDaGFyRW5jb2Rpbmc8L2E+IGVuYyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI2RvY2JFbmNvZGVFbnRpdGllcyI+ZG9jYkVuY29kZUVudGl0aWVzPC9hPgkJKHVuc2lnbmVkIGNoYXIgKiBvdXQsIDxiciAvPgkJCQkJIGludCAqIG91dGxlbiwgPGJyIC8+CQkJCQkgY29uc3QgdW5zaWduZWQgY2hhciAqIGluLCA8YnIgLz4JCQkJCSBpbnQgKiBpbmxlbiwgPGJyIC8+CQkJCQkgaW50IHF1b3RlQ2hhcik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtRE9DQnBhcnNlci5odG1sI2RvY2JEb2NQdHIiPmRvY2JEb2NQdHI8L2E+CTxhIGhyZWY9IiNkb2NiUGFyc2VGaWxlIj5kb2NiUGFyc2VGaWxlPC9hPgkJKGNvbnN0IGNoYXIgKiBmaWxlbmFtZSwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjZG9jYlBhcnNlRG9jdW1lbnQiPmRvY2JQYXJzZURvY3VtZW50PC9hPgkJKDxhIGhyZWY9ImxpYnhtbC1ET0NCcGFyc2VyLmh0bWwjZG9jYlBhcnNlckN0eHRQdHIiPmRvY2JQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjZG9jYlBhcnNlQ2h1bmsiPmRvY2JQYXJzZUNodW5rPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwtRE9DQnBhcnNlci5odG1sI2RvY2JQYXJzZXJDdHh0UHRyIj5kb2NiUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGNodW5rLCA8YnIgLz4JCQkJCSBpbnQgc2l6ZSwgPGJyIC8+CQkJCQkgaW50IHRlcm1pbmF0ZSk8L3ByZT4KKzxoMj5EZXNjcmlwdGlvbjwvaDI+Cis8aDM+PGEgbmFtZT0iZG9jYkZyZWVQYXJzZXJDdHh0IiBpZD0iZG9jYkZyZWVQYXJzZXJDdHh0Ij48L2E+RnVuY3Rpb246IGRvY2JGcmVlUGFyc2VyQ3R4dDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJZG9jYkZyZWVQYXJzZXJDdHh0CQkoPGEgaHJlZj0ibGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiUGFyc2VyQ3R4dFB0ciI+ZG9jYlBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPGJyIC8+Cis8L3ByZT48cD5GcmVlIGFsbCB0aGUgbWVtb3J5IHVzZWQgYnkgYSBwYXJzZXIgY29udGV4dC4gSG93ZXZlciB0aGUgcGFyc2VkIGRvY3VtZW50IGluIGN0eHQtJmd0O215RG9jIGlzIG5vdCBmcmVlZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBTR01MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0iZG9jYlBhcnNlRG9jIiBpZD0iZG9jYlBhcnNlRG9jIj48L2E+RnVuY3Rpb246IGRvY2JQYXJzZURvYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC1ET0NCcGFyc2VyLmh0bWwjZG9jYkRvY1B0ciI+ZG9jYkRvY1B0cjwvYT4JZG9jYlBhcnNlRG9jCQkoPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY3VyLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcpPGJyIC8+Cis8L3ByZT48cD5wYXJzZSBhbiBTR01MIGluLW1lbW9yeSBkb2N1bWVudCBhbmQgYnVpbGQgYSB0cmVlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIGFuIGFycmF5IG9mIDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jb2Rpbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgZnJlZSBmb3JtIEMgc3RyaW5nIGRlc2NyaWJpbmcgdGhlIFNHTUwgZG9jdW1lbnQgZW5jb2RpbmcsIG9yIE5VTEw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSByZXN1bHRpbmcgZG9jdW1lbnQgdHJlZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9ImRvY2JDcmVhdGVGaWxlUGFyc2VyQ3R4dCIgaWQ9ImRvY2JDcmVhdGVGaWxlUGFyc2VyQ3R4dCI+PC9hPkZ1bmN0aW9uOiBkb2NiQ3JlYXRlRmlsZVBhcnNlckN0eHQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtRE9DQnBhcnNlci5odG1sI2RvY2JQYXJzZXJDdHh0UHRyIj5kb2NiUGFyc2VyQ3R4dFB0cjwvYT4JZG9jYkNyZWF0ZUZpbGVQYXJzZXJDdHh0CShjb25zdCBjaGFyICogZmlsZW5hbWUsIDxiciAvPgkJCQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nKTxiciAvPgorPC9wcmU+PHA+Q3JlYXRlIGEgcGFyc2VyIGNvbnRleHQgZm9yIGEgZmlsZSBjb250ZW50LiBBdXRvbWF0aWMgc3VwcG9ydCBmb3IgWkxJQi9Db21wcmVzcyBjb21wcmVzc2VkIGRvY3VtZW50IGlzIHByb3ZpZGVkIGJ5IGRlZmF1bHQgaWYgZm91bmQgYXQgY29tcGlsZS10aW1lLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZpbGVuYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZmlsZW5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVuY29kaW5nPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgU0dNTCBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ldyBwYXJzZXIgY29udGV4dCBvciBOVUxMPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0iZG9jYlNBWFBhcnNlRmlsZSIgaWQ9ImRvY2JTQVhQYXJzZUZpbGUiPjwvYT5GdW5jdGlvbjogZG9jYlNBWFBhcnNlRmlsZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC1ET0NCcGFyc2VyLmh0bWwjZG9jYkRvY1B0ciI+ZG9jYkRvY1B0cjwvYT4JZG9jYlNBWFBhcnNlRmlsZQkoY29uc3QgY2hhciAqIGZpbGVuYW1lLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC1ET0NCcGFyc2VyLmh0bWwjZG9jYlNBWEhhbmRsZXJQdHIiPmRvY2JTQVhIYW5kbGVyUHRyPC9hPiBzYXgsIDxiciAvPgkJCQkJIHZvaWQgKiB1c2VyRGF0YSk8YnIgLz4KKzwvcHJlPjxwPnBhcnNlIGFuIFNHTUwgZmlsZSBhbmQgYnVpbGQgYSB0cmVlLiBBdXRvbWF0aWMgc3VwcG9ydCBmb3IgWkxJQi9Db21wcmVzcyBjb21wcmVzc2VkIGRvY3VtZW50IGlzIHByb3ZpZGVkIGJ5IGRlZmF1bHQgaWYgZm91bmQgYXQgY29tcGlsZS10aW1lLiBJdCB1c2UgdGhlIGdpdmVuIFNBWCBmdW5jdGlvbiBibG9jayB0byBoYW5kbGUgdGhlIHBhcnNpbmcgY2FsbGJhY2suIElmIHNheCBpcyBOVUxMLCBmYWxsYmFjayB0byB0aGUgZGVmYXVsdCBET00gdHJlZSBidWlsZGluZyByb3V0aW5lcy48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlbmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZpbGVuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbmNvZGluZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBmcmVlIGZvcm0gQyBzdHJpbmcgZGVzY3JpYmluZyB0aGUgU0dNTCBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2F4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgU0FYIGhhbmRsZXIgYmxvY2s8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnVzZXJEYXRhPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5pZiB1c2luZyBTQVgsIHRoaXMgcG9pbnRlciB3aWxsIGJlIHByb3ZpZGVkIG9uIGNhbGxiYWNrcy48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSByZXN1bHRpbmcgZG9jdW1lbnQgdHJlZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9ImRvY2JTQVhQYXJzZURvYyIgaWQ9ImRvY2JTQVhQYXJzZURvYyI+PC9hPkZ1bmN0aW9uOiBkb2NiU0FYUGFyc2VEb2M8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtRE9DQnBhcnNlci5odG1sI2RvY2JEb2NQdHIiPmRvY2JEb2NQdHI8L2E+CWRvY2JTQVhQYXJzZURvYwkJKDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGN1ciwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtRE9DQnBhcnNlci5odG1sI2RvY2JTQVhIYW5kbGVyUHRyIj5kb2NiU0FYSGFuZGxlclB0cjwvYT4gc2F4LCA8YnIgLz4JCQkJCSB2b2lkICogdXNlckRhdGEpPGJyIC8+Cis8L3ByZT48cD5wYXJzZSBhbiBTR01MIGluLW1lbW9yeSBkb2N1bWVudCBhbmQgYnVpbGQgYSB0cmVlLiBJdCB1c2UgdGhlIGdpdmVuIFNBWCBmdW5jdGlvbiBibG9jayB0byBoYW5kbGUgdGhlIHBhcnNpbmcgY2FsbGJhY2suIElmIHNheCBpcyBOVUxMLCBmYWxsYmFjayB0byB0aGUgZGVmYXVsdCBET00gdHJlZSBidWlsZGluZyByb3V0aW5lcy48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byBhbiBhcnJheSBvZiA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVuY29kaW5nPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGZyZWUgZm9ybSBDIHN0cmluZyBkZXNjcmliaW5nIHRoZSBTR01MIGRvY3VtZW50IGVuY29kaW5nLCBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zYXg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBTQVggaGFuZGxlciBibG9jazwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dXNlckRhdGE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmlmIHVzaW5nIFNBWCwgdGhpcyBwb2ludGVyIHdpbGwgYmUgcHJvdmlkZWQgb24gY2FsbGJhY2tzLjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHJlc3VsdGluZyBkb2N1bWVudCB0cmVlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0iZG9jYkNyZWF0ZVB1c2hQYXJzZXJDdHh0IiBpZD0iZG9jYkNyZWF0ZVB1c2hQYXJzZXJDdHh0Ij48L2E+RnVuY3Rpb246IGRvY2JDcmVhdGVQdXNoUGFyc2VyQ3R4dDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC1ET0NCcGFyc2VyLmh0bWwjZG9jYlBhcnNlckN0eHRQdHIiPmRvY2JQYXJzZXJDdHh0UHRyPC9hPglkb2NiQ3JlYXRlUHVzaFBhcnNlckN0eHQJKDxhIGhyZWY9ImxpYnhtbC1ET0NCcGFyc2VyLmh0bWwjZG9jYlNBWEhhbmRsZXJQdHIiPmRvY2JTQVhIYW5kbGVyUHRyPC9hPiBzYXgsIDxiciAvPgkJCQkJCQkgdm9pZCAqIHVzZXJfZGF0YSwgPGJyIC8+CQkJCQkJCSBjb25zdCBjaGFyICogY2h1bmssIDxiciAvPgkJCQkJCQkgaW50IHNpemUsIDxiciAvPgkJCQkJCQkgY29uc3QgY2hhciAqIGZpbGVuYW1lLCA8YnIgLz4JCQkJCQkJIDxhIGhyZWY9ImxpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZyI+eG1sQ2hhckVuY29kaW5nPC9hPiBlbmMpPGJyIC8+Cis8L3ByZT48cD5DcmVhdGUgYSBwYXJzZXIgY29udGV4dCBmb3IgdXNpbmcgdGhlIERvY0Jvb2sgU0dNTCBwYXJzZXIgaW4gcHVzaCBtb2RlIFRvIGFsbG93IGNvbnRlbnQgZW5jb2RpbmcgZGV0ZWN0aW9uLCBAc2l6ZSBzaG91bGQgYmUgJmd0Oz0gNCBUaGUgdmFsdWUgb2YgQGZpbGVuYW1lIGlzIHVzZWQgZm9yIGZldGNoaW5nIGV4dGVybmFsIGVudGl0aWVzIGFuZCBlcnJvci93YXJuaW5nIHJlcG9ydHMuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2F4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIFNBWCBoYW5kbGVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD51c2VyX2RhdGE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlRoZSB1c2VyIGRhdGEgcmV0dXJuZWQgb24gU0FYIGNhbGxiYWNrczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y2h1bms8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byBhbiBhcnJheSBvZiBjaGFyczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2l6ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+bnVtYmVyIG9mIGNoYXJzIGluIHRoZSBhcnJheTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmlsZW5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIG9wdGlvbmFsIGZpbGUgbmFtZSBvciBVUkk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVuYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gb3B0aW9uYWwgZW5jb2Rpbmc8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXcgcGFyc2VyIGNvbnRleHQgb3IgTlVMTDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9ImRvY2JFbmNvZGVFbnRpdGllcyIgaWQ9ImRvY2JFbmNvZGVFbnRpdGllcyI+PC9hPkZ1bmN0aW9uOiBkb2NiRW5jb2RlRW50aXRpZXM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJZG9jYkVuY29kZUVudGl0aWVzCQkodW5zaWduZWQgY2hhciAqIG91dCwgPGJyIC8+CQkJCQkgaW50ICogb3V0bGVuLCA8YnIgLz4JCQkJCSBjb25zdCB1bnNpZ25lZCBjaGFyICogaW4sIDxiciAvPgkJCQkJIGludCAqIGlubGVuLCA8YnIgLz4JCQkJCSBpbnQgcXVvdGVDaGFyKTxiciAvPgorPC9wcmU+PHA+VGFrZSBhIGJsb2NrIG9mIFVURi04IGNoYXJzIGluIGFuZCB0cnkgdG8gY29udmVydCBpdCB0byBhbiBBU0NJSSBwbHVzIFNHTUwgZW50aXRpZXMgYmxvY2sgb2YgY2hhcnMgb3V0LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm91dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIGFuIGFycmF5IG9mIGJ5dGVzIHRvIHN0b3JlIHRoZSByZXN1bHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm91dGxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxlbmd0aCBvZiBAb3V0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIGFuIGFycmF5IG9mIFVURi04IGNoYXJzPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pbmxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxlbmd0aCBvZiBAaW48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnF1b3RlQ2hhcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHF1b3RlIGNoYXJhY3RlciB0byBlc2NhcGUgKCcgb3IgIikgb3IgemVyby48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaWYgc3VjY2VzcywgLTIgaWYgdGhlIHRyYW5zY29kaW5nIGZhaWxzLCBvciAtMSBvdGhlcndpc2UgVGhlIHZhbHVlIG9mIEBpbmxlbiBhZnRlciByZXR1cm4gaXMgdGhlIG51bWJlciBvZiBvY3RldHMgY29uc3VtZWQgYXMgdGhlIHJldHVybiB2YWx1ZSBpcyBwb3NpdGl2ZSwgZWxzZSB1bnByZWRpY3RhYmxlLiBUaGUgdmFsdWUgb2YgQG91dGxlbiBhZnRlciByZXR1cm4gaXMgdGhlIG51bWJlciBvZiBvY3RldHMgY29uc3VtZWQuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0iZG9jYlBhcnNlRmlsZSIgaWQ9ImRvY2JQYXJzZUZpbGUiPjwvYT5GdW5jdGlvbjogZG9jYlBhcnNlRmlsZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC1ET0NCcGFyc2VyLmh0bWwjZG9jYkRvY1B0ciI+ZG9jYkRvY1B0cjwvYT4JZG9jYlBhcnNlRmlsZQkJKGNvbnN0IGNoYXIgKiBmaWxlbmFtZSwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nKTxiciAvPgorPC9wcmU+PHA+cGFyc2UgYSBEb2Nib29rIFNHTUwgZmlsZSBhbmQgYnVpbGQgYSB0cmVlLiBBdXRvbWF0aWMgc3VwcG9ydCBmb3IgWkxJQi9Db21wcmVzcyBjb21wcmVzc2VkIGRvY3VtZW50IGlzIHByb3ZpZGVkIGJ5IGRlZmF1bHQgaWYgZm91bmQgYXQgY29tcGlsZS10aW1lLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZpbGVuYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZmlsZW5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVuY29kaW5nPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGZyZWUgZm9ybSBDIHN0cmluZyBkZXNjcmliaW5nIGRvY3VtZW50IGVuY29kaW5nLCBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmVzdWx0aW5nIGRvY3VtZW50IHRyZWU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJkb2NiUGFyc2VEb2N1bWVudCIgaWQ9ImRvY2JQYXJzZURvY3VtZW50Ij48L2E+RnVuY3Rpb246IGRvY2JQYXJzZURvY3VtZW50PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CWRvY2JQYXJzZURvY3VtZW50CQkoPGEgaHJlZj0ibGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiUGFyc2VyQ3R4dFB0ciI+ZG9jYlBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPGJyIC8+Cis8L3ByZT48cD5wYXJzZSBhbiBTR01MIGRvY3VtZW50IChhbmQgYnVpbGQgYSB0cmVlIGlmIHVzaW5nIHRoZSBzdGFuZGFyZCBTQVggaW50ZXJmYWNlKS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBTR01MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wLCAtMSBpbiBjYXNlIG9mIGVycm9yLiB0aGUgcGFyc2VyIGNvbnRleHQgaXMgYXVnbWVudGVkIGFzIGEgcmVzdWx0IG9mIHRoZSBwYXJzaW5nLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9ImRvY2JQYXJzZUNodW5rIiBpZD0iZG9jYlBhcnNlQ2h1bmsiPjwvYT5GdW5jdGlvbjogZG9jYlBhcnNlQ2h1bms8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJZG9jYlBhcnNlQ2h1bmsJCQkoPGEgaHJlZj0ibGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiUGFyc2VyQ3R4dFB0ciI+ZG9jYlBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBjaHVuaywgPGJyIC8+CQkJCQkgaW50IHNpemUsIDxiciAvPgkJCQkJIGludCB0ZXJtaW5hdGUpPGJyIC8+Cis8L3ByZT48cD5QYXJzZSBhIENodW5rIG9mIG1lbW9yeTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y2h1bms8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIGNoYXIgYXJyYXk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNpemU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzaXplIGluIGJ5dGUgb2YgdGhlIGNodW5rPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50ZXJtaW5hdGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmxhc3QgY2h1bmsgaW5kaWNhdG9yPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD56ZXJvIGlmIG5vIGVycm9yLCB0aGUgPGEgaHJlZj0ibGlieG1sLXhtbGVycm9yLmh0bWwjeG1sUGFyc2VyRXJyb3JzIj54bWxQYXJzZXJFcnJvcnM8L2E+IG90aGVyd2lzZS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxwPjxhIGhyZWY9Ii4uL2J1Z3MuaHRtbCI+RGFuaWVsIFZlaWxsYXJkPC9hPjwvcD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sIGIvbGlieG1sMi9kb2MvaHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY1Zjc3YWYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9odG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwKQEAgLTAsMCArMSwxODQgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+PGxpbmsgcmVsPSJTSE9SVENVVCBJQ09OIiBocmVmPSIvZmF2aWNvbi5pY28iIC8+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK1REIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitCT0RZIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2E7IG1hcmdpbi10b3A6IDJlbTsgbWFyZ2luLWxlZnQ6IDBlbTsgbWFyZ2luLXJpZ2h0OiAwZW19CitIMSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDIge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gzIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitBOmxpbmssIEE6dmlzaXRlZCwgQTphY3RpdmUgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB9Cis8L3N0eWxlPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAgICBkaXYuZGVwcmVjYXRlZCBwcmUucHJvZ3JhbWxpc3Rpbmcge2JvcmRlci1zdHlsZTogZG91YmxlO2JvcmRlci1jb2xvcjpyZWR9CisgICAgICBwcmUucHJvZ3JhbWxpc3Rpbmcge2JvcmRlci1zdHlsZTogZG91YmxlO2JhY2tncm91bmQ6ICNFRUNGQTF9CisgICAgPC9zdHlsZT48dGl0bGU+TW9kdWxlIEhUTUxwYXJzZXIgZnJvbSBsaWJ4bWwyPC90aXRsZT48L2hlYWQ+PGJvZHkgYmdjb2xvcj0iIzhiNzc2NSIgdGV4dD0iIzAwMDAwMCIgbGluaz0iI2EwNjA2MCIgdmxpbms9IiMwMDAwMDAiPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSIxMDAlIiBjZWxscGFkZGluZz0iNSIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgd2lkdGg9IjEyMCI+PGEgaHJlZj0iaHR0cDovL3N3cGF0LmZmaWkub3JnLyI+PGltZyBzcmM9Ii4uL2VwYXRlbnRzLnBuZyIgYWx0PSJBY3Rpb24gYWdhaW5zdCBzb2Z0d2FyZSBwYXRlbnRzIiAvPjwvYT48L3RkPjx0ZCB3aWR0aD0iMTgwIj48YSBocmVmPSJodHRwOi8vd3d3Lmdub21lLm9yZy8iPjxpbWcgc3JjPSIuLi9nbm9tZTIucG5nIiBhbHQ9Ikdub21lMiBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9TdGF0dXMiPjxpbWcgc3JjPSIuLi93M2MucG5nIiBhbHQ9IlczQyBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnJlZGhhdC5jb20vIj48aW1nIHNyYz0iLi4vcmVkaGF0LmdpZiIgYWx0PSJSZWQgSGF0IExvZ28iIC8+PC9hPjxkaXYgYWxpZ249ImxlZnQiPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy8iPjxpbWcgc3JjPSIuLi9MaWJ4bWwyLUxvZ28tMTgweDE2OC5naWYiIGFsdD0iTWFkZSB3aXRoIExpYnhtbDIgTG9nbyIgLz48L2E+PC9kaXY+PC90ZD48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjkwJSIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiIGJnY29sb3I9IiNmZmZhY2QiPjx0cj48dGQgYWxpZ249ImNlbnRlciI+PGgxPjwvaDE+PGgyPk1vZHVsZSBIVE1McGFyc2VyIGZyb20gbGlieG1sMjwvaDI+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjQiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiIHdpZHRoPSIxMDAlIj48dHI+PHRkIHZhbGlnbj0idG9wIiB3aWR0aD0iMjAwIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5BUEkgTWVudTwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48Zm9ybSBhY3Rpb249Ii4uL3NlYXJjaC5waHAiIGVuY3R5cGU9ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIgbWV0aG9kPSJnZXQiPjxpbnB1dCBuYW1lPSJxdWVyeSIgdHlwZT0idGV4dCIgc2l6ZT0iMjAiIHZhbHVlPSIiIC8+PGlucHV0IG5hbWU9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU2VhcmNoIC4uLiIgLz48L2Zvcm0+PHVsPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iLi4vaW5kZXguaHRtbCI+TWFpbiBNZW51PC9hPjwvbGk+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSIuLi9kb2NzLmh0bWwiPkRldmVsb3BlciBNZW51PC9hPjwvbGk+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSIuLi9leGFtcGxlcy9pbmRleC5odG1sIj5Db2RlIEV4YW1wbGVzPC9hPjwvbGk+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSJpbmRleC5odG1sIj5BUEkgTWVudTwvYT48L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwiPlBhcnNlciBBUEk8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCI+VHJlZSBBUEk8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sIj5SZWFkZXIgQVBJPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL2d1aWRlbGluZXMuaHRtbCI+WE1MIEd1aWRlbGluZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQ2hhbmdlTG9nLmh0bWwiPkNoYW5nZUxvZzwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPkFQSSBJbmRleGVzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iLi4vQVBJY2h1bmswLmh0bWwiPkFscGhhYmV0aWM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJY29uc3RydWN0b3JzLmh0bWwiPkNvbnN0cnVjdG9yczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUElmdW5jdGlvbnMuaHRtbCI+RnVuY3Rpb25zL1R5cGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSWZpbGVzLmh0bWwiPk1vZHVsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJc3ltYm9scy5odG1sIj5TeW1ib2xzPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+UmVsYXRlZCBsaW5rczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9Imh0dHA6Ly9tYWlsLmdub21lLm9yZy9hcmNoaXZlcy94bWwvIj5NYWlsIGFyY2hpdmU8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnL1hTTFQvIj5YU0xUIGxpYnhzbHQ8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3BoZC5jcy51bmliby5pdC9nZG9tZTIvIj5ET00gZ2RvbWUyPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuYWxla3NleS5jb20veG1sc2VjLyI+WE1MLURTaWcgeG1sc2VjPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImZ0cDovL3htbHNvZnQub3JnLyI+RlRQPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemxhdGtvdmljLmNvbS9wcm9qZWN0cy9saWJ4bWwvIj5XaW5kb3dzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9vcGVuY3N3Lm9yZy9wYWNrYWdlcy9saWJ4bWwyIj5Tb2xhcmlzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuZXhwbGFpbi5jb20uYXUvb3NzL2xpYnhtbDJ4c2x0Lmh0bWwiPk1hY09zWCBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbHhtbC5kZS8iPmx4bWwgUHl0aG9uIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9jcGFuLnV3aW5uaXBlZy5jYS9kaXN0L1hNTC1MaWJYTUwiPlBlcmwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbHBsdXNwbHVzLnNvdXJjZWZvcmdlLm5ldC8iPkMrKyBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnplbmQuY29tL3BocDUvYXJ0aWNsZXMvcGhwNS14bWxwaHAucGhwI0hlYWRpbmc0Ij5QSFAgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9saWJ4bWwyLXBhcy8iPlBhc2NhbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1sLnJ1Ynlmb3JnZS5vcmcvIj5SdWJ5IGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly90Y2x4bWwuc291cmNlZm9yZ2UubmV0LyI+VGNsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvYnVnbGlzdC5jZ2k/cHJvZHVjdD1saWJ4bWwyIj5CdWcgVHJhY2tlcjwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMyIgY2VsbHNwYWNpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx0YWJsZSBjbGFzcz0ibmF2aWdhdGlvbiIgd2lkdGg9IjEwMCUiIHN1bW1hcnk9Ik5hdmlnYXRpb24gaGVhZGVyIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjIiPjx0ciB2YWxpZ249Im1pZGRsZSI+PHRkPjxhIGFjY2Vzc2tleT0icCIgaHJlZj0ibGlieG1sLURPQ0JwYXJzZXIuaHRtbCI+PGltZyBzcmM9ImxlZnQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJQcmV2IiAvPjwvYT48L3RkPjx0aCBhbGlnbj0ibGVmdCI+PGEgaHJlZj0ibGlieG1sLURPQ0JwYXJzZXIuaHRtbCI+RE9DQnBhcnNlcjwvYT48L3RoPjx0ZD48YSBhY2Nlc3NrZXk9InUiIGhyZWY9ImluZGV4Lmh0bWwiPjxpbWcgc3JjPSJ1cC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlVwIiAvPjwvYT48L3RkPjx0aCBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iaW5kZXguaHRtbCI+QVBJIGRvY3VtZW50YXRpb248L2E+PC90aD48dGQ+PGEgYWNjZXNza2V5PSJoIiBocmVmPSIuLi9pbmRleC5odG1sIj48aW1nIHNyYz0iaG9tZS5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IkhvbWUiIC8+PC9hPjwvdGQ+PHRoIGFsaWduPSJjZW50ZXIiPjxhIGhyZWY9Ii4uL2luZGV4Lmh0bWwiPlRoZSBYTUwgQyBwYXJzZXIgYW5kIHRvb2xraXQgb2YgR25vbWU8L2E+PC90aD48dGggYWxpZ249InJpZ2h0Ij48YSBocmVmPSJsaWJ4bWwtSFRNTHRyZWUuaHRtbCI+SFRNTHRyZWU8L2E+PC90aD48dGQ+PGEgYWNjZXNza2V5PSJuIiBocmVmPSJsaWJ4bWwtSFRNTHRyZWUuaHRtbCI+PGltZyBzcmM9InJpZ2h0LnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iTmV4dCIgLz48L2E+PC90ZD48L3RyPjwvdGFibGU+PHA+dGhpcyBtb2R1bGUgaW1wbGVtZW50cyBhbiBIVE1MIDQuMCBub24tdmVyaWZ5aW5nIHBhcnNlciB3aXRoIEFQSSBjb21wYXRpYmxlIHdpdGggdGhlIFhNTCBwYXJzZXIgb25lcy4gSXQgc2hvdWxkIGJlIGFibGUgdG8gcGFyc2UgInJlYWwgd29ybGQiIEhUTUwsIGV2ZW4gaWYgc2V2ZXJlbHkgYnJva2VuIGZyb20gYSBzcGVjaWZpY2F0aW9uIHBvaW50IG9mIHZpZXcuIDwvcD48aDI+VGFibGUgb2YgQ29udGVudHM8L2gyPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNodG1sRGVmYXVsdFN1YmVsZW1lbnQiPmh0bWxEZWZhdWx0U3ViZWxlbWVudDwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjaHRtbEVsZW1lbnRBbGxvd2VkSGVyZURlc2MiPmh0bWxFbGVtZW50QWxsb3dlZEhlcmVEZXNjPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNodG1sUmVxdWlyZWRBdHRycyI+aHRtbFJlcXVpcmVkQXR0cnM8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlR5cGVkZWYgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gPGEgbmFtZT0iaHRtbERvY1B0ciIgaWQ9Imh0bWxEb2NQdHIiPmh0bWxEb2NQdHI8L2E+Cis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+U3RydWN0dXJlIDxhIGhyZWY9IiNodG1sRWxlbURlc2MiPmh0bWxFbGVtRGVzYzwvYT48YnIgLz5zdHJ1Y3QgX2h0bWxFbGVtRGVzYworPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlR5cGVkZWYgPGEgaHJlZj0ibGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sRWxlbURlc2MiPmh0bWxFbGVtRGVzYzwvYT4gKiA8YSBuYW1lPSJodG1sRWxlbURlc2NQdHIiIGlkPSJodG1sRWxlbURlc2NQdHIiPmh0bWxFbGVtRGVzY1B0cjwvYT4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgPGEgaHJlZj0iI2h0bWxFbnRpdHlEZXNjIj5odG1sRW50aXR5RGVzYzwvYT48YnIgLz5zdHJ1Y3QgX2h0bWxFbnRpdHlEZXNjCis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+VHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxFbnRpdHlEZXNjIj5odG1sRW50aXR5RGVzYzwvYT4gKiA8YSBuYW1lPSJodG1sRW50aXR5RGVzY1B0ciIgaWQ9Imh0bWxFbnRpdHlEZXNjUHRyIj5odG1sRW50aXR5RGVzY1B0cjwvYT4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5UeXBlZGVmIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gPGEgbmFtZT0iaHRtbE5vZGVQdHIiIGlkPSJodG1sTm9kZVB0ciI+aHRtbE5vZGVQdHI8L2E+Cis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+VHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHQiPnhtbFBhcnNlckN0eHQ8L2E+IDxhIG5hbWU9Imh0bWxQYXJzZXJDdHh0IiBpZD0iaHRtbFBhcnNlckN0eHQiPmh0bWxQYXJzZXJDdHh0PC9hPgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlR5cGVkZWYgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiA8YSBuYW1lPSJodG1sUGFyc2VyQ3R4dFB0ciIgaWQ9Imh0bWxQYXJzZXJDdHh0UHRyIj5odG1sUGFyc2VyQ3R4dFB0cjwvYT4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5UeXBlZGVmIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXQiPnhtbFBhcnNlcklucHV0PC9hPiA8YSBuYW1lPSJodG1sUGFyc2VySW5wdXQiIGlkPSJodG1sUGFyc2VySW5wdXQiPmh0bWxQYXJzZXJJbnB1dDwvYT4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5UeXBlZGVmIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRQdHIiPnhtbFBhcnNlcklucHV0UHRyPC9hPiA8YSBuYW1lPSJodG1sUGFyc2VySW5wdXRQdHIiIGlkPSJodG1sUGFyc2VySW5wdXRQdHIiPmh0bWxQYXJzZXJJbnB1dFB0cjwvYT4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5UeXBlZGVmIDxhIGhyZWY9ImxpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZXJOb2RlSW5mbyI+eG1sUGFyc2VyTm9kZUluZm88L2E+IDxhIG5hbWU9Imh0bWxQYXJzZXJOb2RlSW5mbyIgaWQ9Imh0bWxQYXJzZXJOb2RlSW5mbyI+aHRtbFBhcnNlck5vZGVJbmZvPC9hPgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkVudW0gPGEgaHJlZj0iI2h0bWxQYXJzZXJPcHRpb24iPmh0bWxQYXJzZXJPcHRpb248L2E+Cis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+VHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFNBWEhhbmRsZXIiPnhtbFNBWEhhbmRsZXI8L2E+IDxhIG5hbWU9Imh0bWxTQVhIYW5kbGVyIiBpZD0iaHRtbFNBWEhhbmRsZXIiPmh0bWxTQVhIYW5kbGVyPC9hPgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlR5cGVkZWYgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxTQVhIYW5kbGVyUHRyIj54bWxTQVhIYW5kbGVyUHRyPC9hPiA8YSBuYW1lPSJodG1sU0FYSGFuZGxlclB0ciIgaWQ9Imh0bWxTQVhIYW5kbGVyUHRyIj5odG1sU0FYSGFuZGxlclB0cjwvYT4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5FbnVtIDxhIGhyZWY9IiNodG1sU3RhdHVzIj5odG1sU3RhdHVzPC9hPgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjVVRGOFRvSHRtbCI+VVRGOFRvSHRtbDwvYT4JCQkodW5zaWduZWQgY2hhciAqIG91dCwgPGJyIC8+CQkJCQkgaW50ICogb3V0bGVuLCA8YnIgLz4JCQkJCSBjb25zdCB1bnNpZ25lZCBjaGFyICogaW4sIDxiciAvPgkJCQkJIGludCAqIGlubGVuKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFN0YXR1cyI+aHRtbFN0YXR1czwvYT4JPGEgaHJlZj0iI2h0bWxBdHRyQWxsb3dlZCI+aHRtbEF0dHJBbGxvd2VkPC9hPgkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEVsZW1EZXNjIj5odG1sRWxlbURlc2M8L2E+ICogZWx0LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBhdHRyLCA8YnIgLz4JCQkJCSBpbnQgbGVnYWN5KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjaHRtbEF1dG9DbG9zZVRhZyI+aHRtbEF1dG9DbG9zZVRhZzwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxEb2NQdHIiPmh0bWxEb2NQdHI8L2E+IGRvYywgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sTm9kZVB0ciI+aHRtbE5vZGVQdHI8L2E+IGVsZW0pPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sUGFyc2VyQ3R4dFB0ciI+aHRtbFBhcnNlckN0eHRQdHI8L2E+CTxhIGhyZWY9IiNodG1sQ3JlYXRlTWVtb3J5UGFyc2VyQ3R4dCI+aHRtbENyZWF0ZU1lbW9yeVBhcnNlckN0eHQ8L2E+CShjb25zdCBjaGFyICogYnVmZmVyLCA8YnIgLz4JCQkJCQkJIGludCBzaXplKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlckN0eHRQdHIiPmh0bWxQYXJzZXJDdHh0UHRyPC9hPgk8YSBocmVmPSIjaHRtbENyZWF0ZVB1c2hQYXJzZXJDdHh0Ij5odG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQ8L2E+CSg8YSBocmVmPSJsaWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxTQVhIYW5kbGVyUHRyIj5odG1sU0FYSGFuZGxlclB0cjwvYT4gc2F4LCA8YnIgLz4JCQkJCQkJIHZvaWQgKiB1c2VyX2RhdGEsIDxiciAvPgkJCQkJCQkgY29uc3QgY2hhciAqIGNodW5rLCA8YnIgLz4JCQkJCQkJIGludCBzaXplLCA8YnIgLz4JCQkJCQkJIGNvbnN0IGNoYXIgKiBmaWxlbmFtZSwgPGJyIC8+CQkJCQkJCSA8YSBocmVmPSJsaWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmciPnhtbENoYXJFbmNvZGluZzwvYT4gZW5jKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbERvY1B0ciI+aHRtbERvY1B0cjwvYT4JPGEgaHJlZj0iI2h0bWxDdHh0UmVhZERvYyI+aHRtbEN0eHRSZWFkRG9jPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlckN0eHRQdHIiPmh0bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjdXIsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBVUkwsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyIC8+CQkJCQkgaW50IG9wdGlvbnMpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sRG9jUHRyIj5odG1sRG9jUHRyPC9hPgk8YSBocmVmPSIjaHRtbEN0eHRSZWFkRmQiPmh0bWxDdHh0UmVhZEZkPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlckN0eHRQdHIiPmh0bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSBpbnQgZmQsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBVUkwsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyIC8+CQkJCQkgaW50IG9wdGlvbnMpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sRG9jUHRyIj5odG1sRG9jUHRyPC9hPgk8YSBocmVmPSIjaHRtbEN0eHRSZWFkRmlsZSI+aHRtbEN0eHRSZWFkRmlsZTwvYT4JKDxhIGhyZWY9ImxpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlckN0eHRQdHIiPmh0bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogZmlsZW5hbWUsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyIC8+CQkJCQkgaW50IG9wdGlvbnMpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sRG9jUHRyIj5odG1sRG9jUHRyPC9hPgk8YSBocmVmPSIjaHRtbEN0eHRSZWFkSU8iPmh0bWxDdHh0UmVhZElPPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlckN0eHRQdHIiPmh0bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sSU8uaHRtbCN4bWxJbnB1dFJlYWRDYWxsYmFjayI+eG1sSW5wdXRSZWFkQ2FsbGJhY2s8L2E+IGlvcmVhZCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbElPLmh0bWwjeG1sSW5wdXRDbG9zZUNhbGxiYWNrIj54bWxJbnB1dENsb3NlQ2FsbGJhY2s8L2E+IGlvY2xvc2UsIDxiciAvPgkJCQkJIHZvaWQgKiBpb2N0eCwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIFVSTCwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nLCA8YnIgLz4JCQkJCSBpbnQgb3B0aW9ucyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxEb2NQdHIiPmh0bWxEb2NQdHI8L2E+CTxhIGhyZWY9IiNodG1sQ3R4dFJlYWRNZW1vcnkiPmh0bWxDdHh0UmVhZE1lbW9yeTwvYT4JKDxhIGhyZWY9ImxpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlckN0eHRQdHIiPmh0bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogYnVmZmVyLCA8YnIgLz4JCQkJCSBpbnQgc2l6ZSwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIFVSTCwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nLCA8YnIgLz4JCQkJCSBpbnQgb3B0aW9ucyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiNodG1sQ3R4dFJlc2V0Ij5odG1sQ3R4dFJlc2V0PC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxQYXJzZXJDdHh0UHRyIj5odG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI2h0bWxDdHh0VXNlT3B0aW9ucyI+aHRtbEN0eHRVc2VPcHRpb25zPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlckN0eHRQdHIiPmh0bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSBpbnQgb3B0aW9ucyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI2h0bWxFbGVtZW50QWxsb3dlZEhlcmUiPmh0bWxFbGVtZW50QWxsb3dlZEhlcmU8L2E+CQkoY29uc3QgPGEgaHJlZj0ibGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sRWxlbURlc2MiPmh0bWxFbGVtRGVzYzwvYT4gKiBwYXJlbnQsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGVsdCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxTdGF0dXMiPmh0bWxTdGF0dXM8L2E+CTxhIGhyZWY9IiNodG1sRWxlbWVudFN0YXR1c0hlcmUiPmh0bWxFbGVtZW50U3RhdHVzSGVyZTwvYT4JKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEVsZW1EZXNjIj5odG1sRWxlbURlc2M8L2E+ICogcGFyZW50LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxFbGVtRGVzYyI+aHRtbEVsZW1EZXNjPC9hPiAqIGVsdCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI2h0bWxFbmNvZGVFbnRpdGllcyI+aHRtbEVuY29kZUVudGl0aWVzPC9hPgkJKHVuc2lnbmVkIGNoYXIgKiBvdXQsIDxiciAvPgkJCQkJIGludCAqIG91dGxlbiwgPGJyIC8+CQkJCQkgY29uc3QgdW5zaWduZWQgY2hhciAqIGluLCA8YnIgLz4JCQkJCSBpbnQgKiBpbmxlbiwgPGJyIC8+CQkJCQkgaW50IHF1b3RlQ2hhcik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5jb25zdCA8YSBocmVmPSJsaWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxFbnRpdHlEZXNjIj5odG1sRW50aXR5RGVzYzwvYT4gKgk8YSBocmVmPSIjaHRtbEVudGl0eUxvb2t1cCI+aHRtbEVudGl0eUxvb2t1cDwvYT4JKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Y29uc3QgPGEgaHJlZj0ibGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sRW50aXR5RGVzYyI+aHRtbEVudGl0eURlc2M8L2E+ICoJPGEgaHJlZj0iI2h0bWxFbnRpdHlWYWx1ZUxvb2t1cCI+aHRtbEVudGl0eVZhbHVlTG9va3VwPC9hPgkodW5zaWduZWQgaW50IHZhbHVlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI2h0bWxGcmVlUGFyc2VyQ3R4dCI+aHRtbEZyZWVQYXJzZXJDdHh0PC9hPgkJKDxhIGhyZWY9ImxpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlckN0eHRQdHIiPmh0bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjaHRtbEhhbmRsZU9taXR0ZWRFbGVtIj5odG1sSGFuZGxlT21pdHRlZEVsZW08L2E+CQkoaW50IHZhbCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI2h0bWxJc0F1dG9DbG9zZWQiPmh0bWxJc0F1dG9DbG9zZWQ8L2E+CQkoPGEgaHJlZj0ibGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sRG9jUHRyIj5odG1sRG9jUHRyPC9hPiBkb2MsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbE5vZGVQdHIiPmh0bWxOb2RlUHRyPC9hPiBlbGVtKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjaHRtbElzU2NyaXB0QXR0cmlidXRlIj5odG1sSXNTY3JpcHRBdHRyaWJ1dGU8L2E+CQkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxQYXJzZXJDdHh0UHRyIj5odG1sUGFyc2VyQ3R4dFB0cjwvYT4JPGEgaHJlZj0iI2h0bWxOZXdQYXJzZXJDdHh0Ij5odG1sTmV3UGFyc2VyQ3R4dDwvYT4JKHZvaWQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sU3RhdHVzIj5odG1sU3RhdHVzPC9hPgk8YSBocmVmPSIjaHRtbE5vZGVTdGF0dXMiPmh0bWxOb2RlU3RhdHVzPC9hPgkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbE5vZGVQdHIiPmh0bWxOb2RlUHRyPC9hPiBub2RlLCA8YnIgLz4JCQkJCSBpbnQgbGVnYWN5KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjaHRtbFBhcnNlQ2hhclJlZiI+aHRtbFBhcnNlQ2hhclJlZjwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxQYXJzZXJDdHh0UHRyIj5odG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI2h0bWxQYXJzZUNodW5rIj5odG1sUGFyc2VDaHVuazwvYT4JCQkoPGEgaHJlZj0ibGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sUGFyc2VyQ3R4dFB0ciI+aHRtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBjaHVuaywgPGJyIC8+CQkJCQkgaW50IHNpemUsIDxiciAvPgkJCQkJIGludCB0ZXJtaW5hdGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sRG9jUHRyIj5odG1sRG9jUHRyPC9hPgk8YSBocmVmPSIjaHRtbFBhcnNlRG9jIj5odG1sUGFyc2VEb2M8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY3VyLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiNodG1sUGFyc2VEb2N1bWVudCI+aHRtbFBhcnNlRG9jdW1lbnQ8L2E+CQkoPGEgaHJlZj0ibGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sUGFyc2VyQ3R4dFB0ciI+aHRtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjaHRtbFBhcnNlRWxlbWVudCI+aHRtbFBhcnNlRWxlbWVudDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxQYXJzZXJDdHh0UHRyIj5odG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5jb25zdCA8YSBocmVmPSJsaWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxFbnRpdHlEZXNjIj5odG1sRW50aXR5RGVzYzwvYT4gKgk8YSBocmVmPSIjaHRtbFBhcnNlRW50aXR5UmVmIj5odG1sUGFyc2VFbnRpdHlSZWY8L2E+CSg8YSBocmVmPSJsaWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxQYXJzZXJDdHh0UHRyIj5odG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqKiBzdHIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sRG9jUHRyIj5odG1sRG9jUHRyPC9hPgk8YSBocmVmPSIjaHRtbFBhcnNlRmlsZSI+aHRtbFBhcnNlRmlsZTwvYT4JCShjb25zdCBjaGFyICogZmlsZW5hbWUsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxEb2NQdHIiPmh0bWxEb2NQdHI8L2E+CTxhIGhyZWY9IiNodG1sUmVhZERvYyI+aHRtbFJlYWREb2M8L2E+CQkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY3VyLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogVVJMLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcsIDxiciAvPgkJCQkJIGludCBvcHRpb25zKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbERvY1B0ciI+aHRtbERvY1B0cjwvYT4JPGEgaHJlZj0iI2h0bWxSZWFkRmQiPmh0bWxSZWFkRmQ8L2E+CQkoaW50IGZkLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogVVJMLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcsIDxiciAvPgkJCQkJIGludCBvcHRpb25zKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbERvY1B0ciI+aHRtbERvY1B0cjwvYT4JPGEgaHJlZj0iI2h0bWxSZWFkRmlsZSI+aHRtbFJlYWRGaWxlPC9hPgkJKGNvbnN0IGNoYXIgKiBmaWxlbmFtZSwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nLCA8YnIgLz4JCQkJCSBpbnQgb3B0aW9ucyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxEb2NQdHIiPmh0bWxEb2NQdHI8L2E+CTxhIGhyZWY9IiNodG1sUmVhZElPIj5odG1sUmVhZElPPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC14bWxJTy5odG1sI3htbElucHV0UmVhZENhbGxiYWNrIj54bWxJbnB1dFJlYWRDYWxsYmFjazwvYT4gaW9yZWFkLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sSU8uaHRtbCN4bWxJbnB1dENsb3NlQ2FsbGJhY2siPnhtbElucHV0Q2xvc2VDYWxsYmFjazwvYT4gaW9jbG9zZSwgPGJyIC8+CQkJCQkgdm9pZCAqIGlvY3R4LCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogVVJMLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcsIDxiciAvPgkJCQkJIGludCBvcHRpb25zKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbERvY1B0ciI+aHRtbERvY1B0cjwvYT4JPGEgaHJlZj0iI2h0bWxSZWFkTWVtb3J5Ij5odG1sUmVhZE1lbW9yeTwvYT4JCShjb25zdCBjaGFyICogYnVmZmVyLCA8YnIgLz4JCQkJCSBpbnQgc2l6ZSwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIFVSTCwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nLCA8YnIgLz4JCQkJCSBpbnQgb3B0aW9ucyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxEb2NQdHIiPmh0bWxEb2NQdHI8L2E+CTxhIGhyZWY9IiNodG1sU0FYUGFyc2VEb2MiPmh0bWxTQVhQYXJzZURvYzwvYT4JCSg8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjdXIsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sU0FYSGFuZGxlclB0ciI+aHRtbFNBWEhhbmRsZXJQdHI8L2E+IHNheCwgPGJyIC8+CQkJCQkgdm9pZCAqIHVzZXJEYXRhKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbERvY1B0ciI+aHRtbERvY1B0cjwvYT4JPGEgaHJlZj0iI2h0bWxTQVhQYXJzZUZpbGUiPmh0bWxTQVhQYXJzZUZpbGU8L2E+CShjb25zdCBjaGFyICogZmlsZW5hbWUsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sU0FYSGFuZGxlclB0ciI+aHRtbFNBWEhhbmRsZXJQdHI8L2E+IHNheCwgPGJyIC8+CQkJCQkgdm9pZCAqIHVzZXJEYXRhKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmNvbnN0IDxhIGhyZWY9ImxpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEVsZW1EZXNjIj5odG1sRWxlbURlc2M8L2E+ICoJPGEgaHJlZj0iI2h0bWxUYWdMb29rdXAiPmh0bWxUYWdMb29rdXA8L2E+CShjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB0YWcpPC9wcmU+Cis8aDI+RGVzY3JpcHRpb248L2gyPgorPGgzPjxhIG5hbWU9Imh0bWxEZWZhdWx0U3ViZWxlbWVudCIgaWQ9Imh0bWxEZWZhdWx0U3ViZWxlbWVudCI+PC9hPk1hY3JvOiBodG1sRGVmYXVsdFN1YmVsZW1lbnQ8L2gzPjxwcmU+I2RlZmluZSBodG1sRGVmYXVsdFN1YmVsZW1lbnQ8L3ByZT48cD5SZXR1cm5zIHRoZSBkZWZhdWx0IHN1YmVsZW1lbnQgZm9yIHRoaXMgZWxlbWVudDwvcD4KKzxoMz48YSBuYW1lPSJodG1sRWxlbWVudEFsbG93ZWRIZXJlRGVzYyIgaWQ9Imh0bWxFbGVtZW50QWxsb3dlZEhlcmVEZXNjIj48L2E+TWFjcm86IGh0bWxFbGVtZW50QWxsb3dlZEhlcmVEZXNjPC9oMz48cHJlPiNkZWZpbmUgaHRtbEVsZW1lbnRBbGxvd2VkSGVyZURlc2M8L3ByZT48cD5DaGVja3Mgd2hldGhlciBhbiBIVE1MIGVsZW1lbnQgZGVzY3JpcHRpb24gbWF5IGJlIGEgZGlyZWN0IGNoaWxkIG9mIHRoZSBzcGVjaWZpZWQgZWxlbWVudC4gUmV0dXJucyAxIGlmIGFsbG93ZWQ7IDAgb3RoZXJ3aXNlLjwvcD4KKzxoMz48YSBuYW1lPSJodG1sUmVxdWlyZWRBdHRycyIgaWQ9Imh0bWxSZXF1aXJlZEF0dHJzIj48L2E+TWFjcm86IGh0bWxSZXF1aXJlZEF0dHJzPC9oMz48cHJlPiNkZWZpbmUgaHRtbFJlcXVpcmVkQXR0cnM8L3ByZT48cD5SZXR1cm5zIHRoZSBhdHRyaWJ1dGVzIHJlcXVpcmVkIGZvciB0aGUgc3BlY2lmaWVkIGVsZW1lbnQuPC9wPgorPGgzPjxhIG5hbWU9Imh0bWxFbGVtRGVzYyIgaWQ9Imh0bWxFbGVtRGVzYyI+U3RydWN0dXJlIGh0bWxFbGVtRGVzYzwvYT48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgaHRtbEVsZW1EZXNjPGJyIC8+c3RydWN0IF9odG1sRWxlbURlc2MgeworICAgIGNvbnN0IGNoYXIgKgluYW1lCTogVGhlIHRhZyBuYW1lCisgICAgY2hhcglzdGFydFRhZwk6IFdoZXRoZXIgdGhlIHN0YXJ0IHRhZyBjYW4gYmUgaW1wbGllZAorICAgIGNoYXIJZW5kVGFnCTogV2hldGhlciB0aGUgZW5kIHRhZyBjYW4gYmUgaW1wbGllZAorICAgIGNoYXIJc2F2ZUVuZFRhZwk6IFdoZXRoZXIgdGhlIGVuZCB0YWcgc2hvdWxkIGJlIHNhdmVkCisgICAgY2hhcgllbXB0eQk6IElzIHRoaXMgYW4gZW1wdHkgZWxlbWVudCA/CisgICAgY2hhcglkZXByCTogSXMgdGhpcyBhIGRlcHJlY2F0ZWQgZWxlbWVudCA/CisgICAgY2hhcglkdGQJOiAxOiBvbmx5IGluIExvb3NlIERURCwgMjogb25seSBGcmFtZXNldAorICAgIGNoYXIJaXNpbmxpbmUJOiBpcyB0aGlzIGEgYmxvY2sgMCBvciBpbmxpbmUgMSBlbGVtZW50CisgICAgY29uc3QgY2hhciAqCWRlc2MJOiB0aGUgZGVzY3JpcHRpb24gTlJLIEphbi4yMDAzICogTmV3IGZpZWwKKyAgICBjb25zdCBjaGFyICoqCXN1YmVsdHMJOiBhbGxvd2VkIHN1Yi1lbGVtZW50cyBvZiB0aGlzIGVsZW1lbnQKKyAgICBjb25zdCBjaGFyICoJZGVmYXVsdHN1YmVsdAk6IHN1YmVsZW1lbnQgZm9yIHN1Z2dlc3RlZCBhdXRvLXJlcGFpciBpZgorICAgIGNvbnN0IGNoYXIgKioJYXR0cnNfb3B0CTogT3B0aW9uYWwgQXR0cmlidXRlcworICAgIGNvbnN0IGNoYXIgKioJYXR0cnNfZGVwcgk6IEFkZGl0aW9uYWwgZGVwcmVjYXRlZCBhdHRyaWJ1dGVzCisgICAgY29uc3QgY2hhciAqKglhdHRyc19yZXEJOiBSZXF1aXJlZCBhdHRyaWJ1dGVzCit9PC9wcmU+PGgzPjxhIG5hbWU9Imh0bWxFbnRpdHlEZXNjIiBpZD0iaHRtbEVudGl0eURlc2MiPlN0cnVjdHVyZSBodG1sRW50aXR5RGVzYzwvYT48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgaHRtbEVudGl0eURlc2M8YnIgLz5zdHJ1Y3QgX2h0bWxFbnRpdHlEZXNjIHsKKyAgICB1bnNpZ25lZCBpbnQJdmFsdWUJOiB0aGUgVU5JQ09ERSB2YWx1ZSBmb3IgdGhlIGNoYXJhY3RlcgorICAgIGNvbnN0IGNoYXIgKgluYW1lCTogVGhlIGVudGl0eSBuYW1lCisgICAgY29uc3QgY2hhciAqCWRlc2MJOiB0aGUgZGVzY3JpcHRpb24KK308L3ByZT48aDM+RW51bSA8YSBuYW1lPSJodG1sUGFyc2VyT3B0aW9uIiBpZD0iaHRtbFBhcnNlck9wdGlvbiI+aHRtbFBhcnNlck9wdGlvbjwvYT48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5FbnVtIGh0bWxQYXJzZXJPcHRpb24geworICAgIDxhIG5hbWU9IkhUTUxfUEFSU0VfUkVDT1ZFUiIgaWQ9IkhUTUxfUEFSU0VfUkVDT1ZFUiI+SFRNTF9QQVJTRV9SRUNPVkVSPC9hPiA9IDEgOiBSZWxheGVkIHBhcnNpbmcKKyAgICA8YSBuYW1lPSJIVE1MX1BBUlNFX05PREVGRFREIiBpZD0iSFRNTF9QQVJTRV9OT0RFRkRURCI+SFRNTF9QQVJTRV9OT0RFRkRURDwvYT4gPSA0IDogZG8gbm90IGRlZmF1bHQgYSBkb2N0eXBlIGlmIG5vdCBmb3VuZAorICAgIDxhIG5hbWU9IkhUTUxfUEFSU0VfTk9FUlJPUiIgaWQ9IkhUTUxfUEFSU0VfTk9FUlJPUiI+SFRNTF9QQVJTRV9OT0VSUk9SPC9hPiA9IDMyIDogc3VwcHJlc3MgZXJyb3IgcmVwb3J0cworICAgIDxhIG5hbWU9IkhUTUxfUEFSU0VfTk9XQVJOSU5HIiBpZD0iSFRNTF9QQVJTRV9OT1dBUk5JTkciPkhUTUxfUEFSU0VfTk9XQVJOSU5HPC9hPiA9IDY0IDogc3VwcHJlc3Mgd2FybmluZyByZXBvcnRzCisgICAgPGEgbmFtZT0iSFRNTF9QQVJTRV9QRURBTlRJQyIgaWQ9IkhUTUxfUEFSU0VfUEVEQU5USUMiPkhUTUxfUEFSU0VfUEVEQU5USUM8L2E+ID0gMTI4IDogcGVkYW50aWMgZXJyb3IgcmVwb3J0aW5nCisgICAgPGEgbmFtZT0iSFRNTF9QQVJTRV9OT0JMQU5LUyIgaWQ9IkhUTUxfUEFSU0VfTk9CTEFOS1MiPkhUTUxfUEFSU0VfTk9CTEFOS1M8L2E+ID0gMjU2IDogcmVtb3ZlIGJsYW5rIG5vZGVzCisgICAgPGEgbmFtZT0iSFRNTF9QQVJTRV9OT05FVCIgaWQ9IkhUTUxfUEFSU0VfTk9ORVQiPkhUTUxfUEFSU0VfTk9ORVQ8L2E+ID0gMjA0OCA6IEZvcmJpZCBuZXR3b3JrIGFjY2VzcworICAgIDxhIG5hbWU9IkhUTUxfUEFSU0VfTk9JTVBMSUVEIiBpZD0iSFRNTF9QQVJTRV9OT0lNUExJRUQiPkhUTUxfUEFSU0VfTk9JTVBMSUVEPC9hPiA9IDgxOTIgOiBEbyBub3QgYWRkIGltcGxpZWQgaHRtbC9ib2R5Li4uIGVsZW1lbnRzCisgICAgPGEgbmFtZT0iSFRNTF9QQVJTRV9DT01QQUNUIiBpZD0iSFRNTF9QQVJTRV9DT01QQUNUIj5IVE1MX1BBUlNFX0NPTVBBQ1Q8L2E+ID0gNjU1MzYgOiBjb21wYWN0IHNtYWxsIHRleHQgbm9kZXMKKyAgICA8YSBuYW1lPSJIVE1MX1BBUlNFX0lHTk9SRV9FTkMiIGlkPSJIVE1MX1BBUlNFX0lHTk9SRV9FTkMiPkhUTUxfUEFSU0VfSUdOT1JFX0VOQzwvYT4gPSAyMDk3MTUyIDogaWdub3JlIGludGVybmFsIGRvY3VtZW50IGVuY29kaW5nIGhpbnQKK30KKzwvcHJlPjxoMz5FbnVtIDxhIG5hbWU9Imh0bWxTdGF0dXMiIGlkPSJodG1sU3RhdHVzIj5odG1sU3RhdHVzPC9hPjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkVudW0gaHRtbFN0YXR1cyB7CisgICAgPGEgbmFtZT0iSFRNTF9OQSIgaWQ9IkhUTUxfTkEiPkhUTUxfTkE8L2E+ID0gMCA6IHNvbWV0aGluZyB3ZSBkb24ndCBjaGVjayBhdCBhbGwKKyAgICA8YSBuYW1lPSJIVE1MX0lOVkFMSUQiIGlkPSJIVE1MX0lOVkFMSUQiPkhUTUxfSU5WQUxJRDwvYT4gPSAxCisgICAgPGEgbmFtZT0iSFRNTF9ERVBSRUNBVEVEIiBpZD0iSFRNTF9ERVBSRUNBVEVEIj5IVE1MX0RFUFJFQ0FURUQ8L2E+ID0gMgorICAgIDxhIG5hbWU9IkhUTUxfVkFMSUQiIGlkPSJIVE1MX1ZBTElEIj5IVE1MX1ZBTElEPC9hPiA9IDQKKyAgICA8YSBuYW1lPSJIVE1MX1JFUVVJUkVEIiBpZD0iSFRNTF9SRVFVSVJFRCI+SFRNTF9SRVFVSVJFRDwvYT4gPSAxMiA6IFZBTElEIGJpdCBzZXQgc28gKCAmYW1wOyA8YSBocmVmPSJsaWJ4bWwtSFRNTHBhcnNlci5odG1sI0hUTUxfVkFMSUQiPkhUTUxfVkFMSUQ8L2E+ICkgaXMgVFJVRQorfQorPC9wcmU+PGgzPjxhIG5hbWU9IlVURjhUb0h0bWwiIGlkPSJVVEY4VG9IdG1sIj48L2E+RnVuY3Rpb246IFVURjhUb0h0bWw8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJVVRGOFRvSHRtbAkJCSh1bnNpZ25lZCBjaGFyICogb3V0LCA8YnIgLz4JCQkJCSBpbnQgKiBvdXRsZW4sIDxiciAvPgkJCQkJIGNvbnN0IHVuc2lnbmVkIGNoYXIgKiBpbiwgPGJyIC8+CQkJCQkgaW50ICogaW5sZW4pPGJyIC8+Cis8L3ByZT48cD5UYWtlIGEgYmxvY2sgb2YgVVRGLTggY2hhcnMgaW4gYW5kIHRyeSB0byBjb252ZXJ0IGl0IHRvIGFuIEFTQ0lJIHBsdXMgSFRNTCBlbnRpdGllcyBibG9jayBvZiBjaGFycyBvdXQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3V0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gYW4gYXJyYXkgb2YgYnl0ZXMgdG8gc3RvcmUgdGhlIHJlc3VsdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3V0bGVuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbGVuZ3RoIG9mIEBvdXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmluPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gYW4gYXJyYXkgb2YgVVRGLTggY2hhcnM8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmlubGVuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbGVuZ3RoIG9mIEBpbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpZiBzdWNjZXNzLCAtMiBpZiB0aGUgdHJhbnNjb2RpbmcgZmFpbHMsIG9yIC0xIG90aGVyd2lzZSBUaGUgdmFsdWUgb2YgQGlubGVuIGFmdGVyIHJldHVybiBpcyB0aGUgbnVtYmVyIG9mIG9jdGV0cyBjb25zdW1lZCBhcyB0aGUgcmV0dXJuIHZhbHVlIGlzIHBvc2l0aXZlLCBlbHNlIHVucHJlZGljdGFibGUuIFRoZSB2YWx1ZSBvZiBAb3V0bGVuIGFmdGVyIHJldHVybiBpcyB0aGUgbnVtYmVyIG9mIG9jdGV0cyBjb25zdW1lZC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJodG1sQXR0ckFsbG93ZWQiIGlkPSJodG1sQXR0ckFsbG93ZWQiPjwvYT5GdW5jdGlvbjogaHRtbEF0dHJBbGxvd2VkPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sU3RhdHVzIj5odG1sU3RhdHVzPC9hPglodG1sQXR0ckFsbG93ZWQJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxFbGVtRGVzYyI+aHRtbEVsZW1EZXNjPC9hPiAqIGVsdCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogYXR0ciwgPGJyIC8+CQkJCQkgaW50IGxlZ2FjeSk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrcyB3aGV0aGVyIGFuIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gaXMgdmFsaWQgZm9yIGFuIGVsZW1lbnQgSGFzIGZ1bGwga25vd2xlZGdlIG9mIFJlcXVpcmVkIGFuZCBEZXByZWNhdGVkIGF0dHJpYnV0ZXM8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPkhUTUwgZWxlbWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YXR0cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+SFRNTCA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZWdhY3k8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPndoZXRoZXIgdG8gYWxsb3cgZGVwcmVjYXRlZCBhdHRyaWJ1dGVzPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5vbmUgb2YgSFRNTF9SRVFVSVJFRCwgSFRNTF9WQUxJRCwgSFRNTF9ERVBSRUNBVEVELCA8YSBocmVmPSJsaWJ4bWwtSFRNTHBhcnNlci5odG1sI0hUTUxfSU5WQUxJRCI+SFRNTF9JTlZBTElEPC9hPjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9Imh0bWxBdXRvQ2xvc2VUYWciIGlkPSJodG1sQXV0b0Nsb3NlVGFnIj48L2E+RnVuY3Rpb246IGh0bWxBdXRvQ2xvc2VUYWc8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJaHRtbEF1dG9DbG9zZVRhZwkJKDxhIGhyZWY9ImxpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbERvY1B0ciI+aHRtbERvY1B0cjwvYT4gZG9jLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxOb2RlUHRyIj5odG1sTm9kZVB0cjwvYT4gZWxlbSk8YnIgLz4KKzwvcHJlPjxwPlRoZSBIVE1MIERURCBhbGxvd3MgYSB0YWcgdG8gaW1wbGljaXRseSBjbG9zZSBvdGhlciB0YWdzLiBUaGUgbGlzdCBpcyBrZXB0IGluIGh0bWxTdGFydENsb3NlIGFycmF5LiBUaGlzIGZ1bmN0aW9uIGNoZWNrcyBpZiB0aGUgZWxlbWVudCBvciBvbmUgb2YgaXQncyBjaGlsZHJlbiB3b3VsZCBhdXRvY2xvc2UgdGhlIGdpdmVuIHRhZy48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBIVE1MIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5UaGUgdGFnIG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVsZW08L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBIVE1MIGVsZW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgYXV0b2Nsb3NlLCAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9Imh0bWxDcmVhdGVNZW1vcnlQYXJzZXJDdHh0IiBpZD0iaHRtbENyZWF0ZU1lbW9yeVBhcnNlckN0eHQiPjwvYT5GdW5jdGlvbjogaHRtbENyZWF0ZU1lbW9yeVBhcnNlckN0eHQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxQYXJzZXJDdHh0UHRyIj5odG1sUGFyc2VyQ3R4dFB0cjwvYT4JaHRtbENyZWF0ZU1lbW9yeVBhcnNlckN0eHQJKGNvbnN0IGNoYXIgKiBidWZmZXIsIDxiciAvPgkJCQkJCQkgaW50IHNpemUpPGJyIC8+Cis8L3ByZT48cD5DcmVhdGUgYSBwYXJzZXIgY29udGV4dCBmb3IgYW4gSFRNTCBpbi1tZW1vcnkgZG9jdW1lbnQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YnVmZmVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gYSBjaGFyIGFycmF5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zaXplPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc2l6ZSBvZiB0aGUgYXJyYXk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXcgcGFyc2VyIGNvbnRleHQgb3IgTlVMTDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9Imh0bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dCIgaWQ9Imh0bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dCI+PC9hPkZ1bmN0aW9uOiBodG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxQYXJzZXJDdHh0UHRyIj5odG1sUGFyc2VyQ3R4dFB0cjwvYT4JaHRtbENyZWF0ZVB1c2hQYXJzZXJDdHh0CSg8YSBocmVmPSJsaWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxTQVhIYW5kbGVyUHRyIj5odG1sU0FYSGFuZGxlclB0cjwvYT4gc2F4LCA8YnIgLz4JCQkJCQkJIHZvaWQgKiB1c2VyX2RhdGEsIDxiciAvPgkJCQkJCQkgY29uc3QgY2hhciAqIGNodW5rLCA8YnIgLz4JCQkJCQkJIGludCBzaXplLCA8YnIgLz4JCQkJCQkJIGNvbnN0IGNoYXIgKiBmaWxlbmFtZSwgPGJyIC8+CQkJCQkJCSA8YSBocmVmPSJsaWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmciPnhtbENoYXJFbmNvZGluZzwvYT4gZW5jKTxiciAvPgorPC9wcmU+PHA+Q3JlYXRlIGEgcGFyc2VyIGNvbnRleHQgZm9yIHVzaW5nIHRoZSBIVE1MIHBhcnNlciBpbiBwdXNoIG1vZGUgVGhlIHZhbHVlIG9mIEBmaWxlbmFtZSBpcyB1c2VkIGZvciBmZXRjaGluZyBleHRlcm5hbCBlbnRpdGllcyBhbmQgZXJyb3Ivd2FybmluZyByZXBvcnRzLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNheDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBTQVggaGFuZGxlcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dXNlcl9kYXRhPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5UaGUgdXNlciBkYXRhIHJldHVybmVkIG9uIFNBWCBjYWxsYmFja3M8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNodW5rPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gYW4gYXJyYXkgb2YgY2hhcnM8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNpemU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPm51bWJlciBvZiBjaGFycyBpbiB0aGUgYXJyYXk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZpbGVuYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBvcHRpb25hbCBmaWxlIG5hbWUgb3IgVVJJPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbmM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIG9wdGlvbmFsIGVuY29kaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IHBhcnNlciBjb250ZXh0IG9yIE5VTEw8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJodG1sQ3R4dFJlYWREb2MiIGlkPSJodG1sQ3R4dFJlYWREb2MiPjwvYT5GdW5jdGlvbjogaHRtbEN0eHRSZWFkRG9jPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sRG9jUHRyIj5odG1sRG9jUHRyPC9hPglodG1sQ3R4dFJlYWREb2MJCSg8YSBocmVmPSJsaWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxQYXJzZXJDdHh0UHRyIj5odG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY3VyLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogVVJMLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcsIDxiciAvPgkJCQkJIGludCBvcHRpb25zKTxiciAvPgorPC9wcmU+PHA+cGFyc2UgYW4gWE1MIGluLW1lbW9yeSBkb2N1bWVudCBhbmQgYnVpbGQgYSB0cmVlLiBUaGlzIHJldXNlcyB0aGUgZXhpc3RpbmcgQGN0eHQgcGFyc2VyIGNvbnRleHQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBIVE1MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byBhIHplcm8gdGVybWluYXRlZCBzdHJpbmc8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlVSTDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJhc2UgVVJMIHRvIHVzZSBmb3IgdGhlIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbmNvZGluZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50IGVuY29kaW5nLCBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vcHRpb25zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGNvbWJpbmF0aW9uIG9mIGh0bWxQYXJzZXJPcHRpb24ocyk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSByZXN1bHRpbmcgZG9jdW1lbnQgdHJlZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9Imh0bWxDdHh0UmVhZEZkIiBpZD0iaHRtbEN0eHRSZWFkRmQiPjwvYT5GdW5jdGlvbjogaHRtbEN0eHRSZWFkRmQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxEb2NQdHIiPmh0bWxEb2NQdHI8L2E+CWh0bWxDdHh0UmVhZEZkCQkoPGEgaHJlZj0ibGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sUGFyc2VyQ3R4dFB0ciI+aHRtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIGludCBmZCwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIFVSTCwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nLCA8YnIgLz4JCQkJCSBpbnQgb3B0aW9ucyk8YnIgLz4KKzwvcHJlPjxwPnBhcnNlIGFuIFhNTCBmcm9tIGEgZmlsZSBkZXNjcmlwdG9yIGFuZCBidWlsZCBhIHRyZWUuIFRoaXMgcmV1c2VzIHRoZSBleGlzdGluZyBAY3R4dCBwYXJzZXIgY29udGV4dDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIEhUTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZkPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBvcGVuIGZpbGUgZGVzY3JpcHRvcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+VVJMPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYmFzZSBVUkwgdG8gdXNlIGZvciB0aGUgZG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVuY29kaW5nPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQgZW5jb2RpbmcsIG9yIE5VTEw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm9wdGlvbnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgY29tYmluYXRpb24gb2YgaHRtbFBhcnNlck9wdGlvbihzKTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHJlc3VsdGluZyBkb2N1bWVudCB0cmVlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0iaHRtbEN0eHRSZWFkRmlsZSIgaWQ9Imh0bWxDdHh0UmVhZEZpbGUiPjwvYT5GdW5jdGlvbjogaHRtbEN0eHRSZWFkRmlsZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbERvY1B0ciI+aHRtbERvY1B0cjwvYT4JaHRtbEN0eHRSZWFkRmlsZQkoPGEgaHJlZj0ibGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sUGFyc2VyQ3R4dFB0ciI+aHRtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBmaWxlbmFtZSwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nLCA8YnIgLz4JCQkJCSBpbnQgb3B0aW9ucyk8YnIgLz4KKzwvcHJlPjxwPnBhcnNlIGFuIFhNTCBmaWxlIGZyb20gdGhlIGZpbGVzeXN0ZW0gb3IgdGhlIG5ldHdvcmsuIFRoaXMgcmV1c2VzIHRoZSBleGlzdGluZyBAY3R4dCBwYXJzZXIgY29udGV4dDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIEhUTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZpbGVuYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGZpbGUgb3IgVVJMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbmNvZGluZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50IGVuY29kaW5nLCBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vcHRpb25zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGNvbWJpbmF0aW9uIG9mIGh0bWxQYXJzZXJPcHRpb24ocyk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSByZXN1bHRpbmcgZG9jdW1lbnQgdHJlZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9Imh0bWxDdHh0UmVhZElPIiBpZD0iaHRtbEN0eHRSZWFkSU8iPjwvYT5GdW5jdGlvbjogaHRtbEN0eHRSZWFkSU88L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxEb2NQdHIiPmh0bWxEb2NQdHI8L2E+CWh0bWxDdHh0UmVhZElPCQkoPGEgaHJlZj0ibGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sUGFyc2VyQ3R4dFB0ciI+aHRtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxJTy5odG1sI3htbElucHV0UmVhZENhbGxiYWNrIj54bWxJbnB1dFJlYWRDYWxsYmFjazwvYT4gaW9yZWFkLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sSU8uaHRtbCN4bWxJbnB1dENsb3NlQ2FsbGJhY2siPnhtbElucHV0Q2xvc2VDYWxsYmFjazwvYT4gaW9jbG9zZSwgPGJyIC8+CQkJCQkgdm9pZCAqIGlvY3R4LCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogVVJMLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcsIDxiciAvPgkJCQkJIGludCBvcHRpb25zKTxiciAvPgorPC9wcmU+PHA+cGFyc2UgYW4gSFRNTCBkb2N1bWVudCBmcm9tIEkvTyBmdW5jdGlvbnMgYW5kIHNvdXJjZSBhbmQgYnVpbGQgYSB0cmVlLiBUaGlzIHJldXNlcyB0aGUgZXhpc3RpbmcgQGN0eHQgcGFyc2VyIGNvbnRleHQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBIVE1MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pb3JlYWQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIEkvTyByZWFkIGZ1bmN0aW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pb2Nsb3NlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBJL08gY2xvc2UgZnVuY3Rpb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmlvY3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBJL08gaGFuZGxlcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+VVJMPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYmFzZSBVUkwgdG8gdXNlIGZvciB0aGUgZG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVuY29kaW5nPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQgZW5jb2RpbmcsIG9yIE5VTEw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm9wdGlvbnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgY29tYmluYXRpb24gb2YgaHRtbFBhcnNlck9wdGlvbihzKTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHJlc3VsdGluZyBkb2N1bWVudCB0cmVlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0iaHRtbEN0eHRSZWFkTWVtb3J5IiBpZD0iaHRtbEN0eHRSZWFkTWVtb3J5Ij48L2E+RnVuY3Rpb246IGh0bWxDdHh0UmVhZE1lbW9yeTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbERvY1B0ciI+aHRtbERvY1B0cjwvYT4JaHRtbEN0eHRSZWFkTWVtb3J5CSg8YSBocmVmPSJsaWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxQYXJzZXJDdHh0UHRyIj5odG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGJ1ZmZlciwgPGJyIC8+CQkJCQkgaW50IHNpemUsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBVUkwsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyIC8+CQkJCQkgaW50IG9wdGlvbnMpPGJyIC8+Cis8L3ByZT48cD5wYXJzZSBhbiBYTUwgaW4tbWVtb3J5IGRvY3VtZW50IGFuZCBidWlsZCBhIHRyZWUuIFRoaXMgcmV1c2VzIHRoZSBleGlzdGluZyBAY3R4dCBwYXJzZXIgY29udGV4dDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIEhUTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmJ1ZmZlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIGEgY2hhciBhcnJheTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2l6ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHNpemUgb2YgdGhlIGFycmF5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5VUkw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBiYXNlIFVSTCB0byB1c2UgZm9yIHRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jb2Rpbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3B0aW9uczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBjb21iaW5hdGlvbiBvZiBodG1sUGFyc2VyT3B0aW9uKHMpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmVzdWx0aW5nIGRvY3VtZW50IHRyZWU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJodG1sQ3R4dFJlc2V0IiBpZD0iaHRtbEN0eHRSZXNldCI+PC9hPkZ1bmN0aW9uOiBodG1sQ3R4dFJlc2V0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAlodG1sQ3R4dFJlc2V0CQkJKDxhIGhyZWY9ImxpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlckN0eHRQdHIiPmh0bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTxiciAvPgorPC9wcmU+PHA+UmVzZXQgYSBwYXJzZXIgY29udGV4dDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIEhUTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJodG1sQ3R4dFVzZU9wdGlvbnMiIGlkPSJodG1sQ3R4dFVzZU9wdGlvbnMiPjwvYT5GdW5jdGlvbjogaHRtbEN0eHRVc2VPcHRpb25zPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CWh0bWxDdHh0VXNlT3B0aW9ucwkJKDxhIGhyZWY9ImxpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlckN0eHRQdHIiPmh0bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSBpbnQgb3B0aW9ucyk8YnIgLz4KKzwvcHJlPjxwPkFwcGxpZXMgdGhlIG9wdGlvbnMgdG8gdGhlIHBhcnNlciBjb250ZXh0PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gSFRNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3B0aW9uczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBjb21iaW5hdGlvbiBvZiBodG1sUGFyc2VyT3B0aW9uKHMpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGluIGNhc2Ugb2Ygc3VjY2VzcywgdGhlIHNldCBvZiB1bmtub3duIG9yIHVuaW1wbGVtZW50ZWQgb3B0aW9ucyBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9Imh0bWxFbGVtZW50QWxsb3dlZEhlcmUiIGlkPSJodG1sRWxlbWVudEFsbG93ZWRIZXJlIj48L2E+RnVuY3Rpb246IGh0bWxFbGVtZW50QWxsb3dlZEhlcmU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJaHRtbEVsZW1lbnRBbGxvd2VkSGVyZQkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEVsZW1EZXNjIj5odG1sRWxlbURlc2M8L2E+ICogcGFyZW50LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBlbHQpPGJyIC8+Cis8L3ByZT48cD5DaGVja3Mgd2hldGhlciBhbiBIVE1MIGVsZW1lbnQgbWF5IGJlIGEgZGlyZWN0IGNoaWxkIG9mIGEgcGFyZW50IGVsZW1lbnQuIE5vdGUgLSBkb2Vzbid0IGNoZWNrIGZvciBkZXByZWNhdGVkIGVsZW1lbnRzPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cGFyZW50PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5IVE1MIHBhcmVudCBlbGVtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPkhUTUwgZWxlbWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiBhbGxvd2VkOyAwIG90aGVyd2lzZS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJodG1sRWxlbWVudFN0YXR1c0hlcmUiIGlkPSJodG1sRWxlbWVudFN0YXR1c0hlcmUiPjwvYT5GdW5jdGlvbjogaHRtbEVsZW1lbnRTdGF0dXNIZXJlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sU3RhdHVzIj5odG1sU3RhdHVzPC9hPglodG1sRWxlbWVudFN0YXR1c0hlcmUJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEVsZW1EZXNjIj5odG1sRWxlbURlc2M8L2E+ICogcGFyZW50LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxFbGVtRGVzYyI+aHRtbEVsZW1EZXNjPC9hPiAqIGVsdCk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrcyB3aGV0aGVyIGFuIEhUTUwgZWxlbWVudCBtYXkgYmUgYSBkaXJlY3QgY2hpbGQgb2YgYSBwYXJlbnQgZWxlbWVudC4gYW5kIGlmIHNvIHdoZXRoZXIgaXQgaXMgdmFsaWQgb3IgZGVwcmVjYXRlZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wYXJlbnQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPkhUTUwgcGFyZW50IGVsZW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVsdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+SFRNTCBlbGVtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5vbmUgb2YgSFRNTF9WQUxJRCwgSFRNTF9ERVBSRUNBVEVELCA8YSBocmVmPSJsaWJ4bWwtSFRNTHBhcnNlci5odG1sI0hUTUxfSU5WQUxJRCI+SFRNTF9JTlZBTElEPC9hPjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9Imh0bWxFbmNvZGVFbnRpdGllcyIgaWQ9Imh0bWxFbmNvZGVFbnRpdGllcyI+PC9hPkZ1bmN0aW9uOiBodG1sRW5jb2RlRW50aXRpZXM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJaHRtbEVuY29kZUVudGl0aWVzCQkodW5zaWduZWQgY2hhciAqIG91dCwgPGJyIC8+CQkJCQkgaW50ICogb3V0bGVuLCA8YnIgLz4JCQkJCSBjb25zdCB1bnNpZ25lZCBjaGFyICogaW4sIDxiciAvPgkJCQkJIGludCAqIGlubGVuLCA8YnIgLz4JCQkJCSBpbnQgcXVvdGVDaGFyKTxiciAvPgorPC9wcmU+PHA+VGFrZSBhIGJsb2NrIG9mIFVURi04IGNoYXJzIGluIGFuZCB0cnkgdG8gY29udmVydCBpdCB0byBhbiBBU0NJSSBwbHVzIEhUTUwgZW50aXRpZXMgYmxvY2sgb2YgY2hhcnMgb3V0LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm91dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIGFuIGFycmF5IG9mIGJ5dGVzIHRvIHN0b3JlIHRoZSByZXN1bHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm91dGxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxlbmd0aCBvZiBAb3V0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIGFuIGFycmF5IG9mIFVURi04IGNoYXJzPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pbmxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxlbmd0aCBvZiBAaW48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnF1b3RlQ2hhcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHF1b3RlIGNoYXJhY3RlciB0byBlc2NhcGUgKCcgb3IgIikgb3IgemVyby48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaWYgc3VjY2VzcywgLTIgaWYgdGhlIHRyYW5zY29kaW5nIGZhaWxzLCBvciAtMSBvdGhlcndpc2UgVGhlIHZhbHVlIG9mIEBpbmxlbiBhZnRlciByZXR1cm4gaXMgdGhlIG51bWJlciBvZiBvY3RldHMgY29uc3VtZWQgYXMgdGhlIHJldHVybiB2YWx1ZSBpcyBwb3NpdGl2ZSwgZWxzZSB1bnByZWRpY3RhYmxlLiBUaGUgdmFsdWUgb2YgQG91dGxlbiBhZnRlciByZXR1cm4gaXMgdGhlIG51bWJlciBvZiBvY3RldHMgY29uc3VtZWQuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0iaHRtbEVudGl0eUxvb2t1cCIgaWQ9Imh0bWxFbnRpdHlMb29rdXAiPjwvYT5GdW5jdGlvbjogaHRtbEVudGl0eUxvb2t1cDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmNvbnN0IDxhIGhyZWY9ImxpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEVudGl0eURlc2MiPmh0bWxFbnRpdHlEZXNjPC9hPiAqCWh0bWxFbnRpdHlMb29rdXAJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpPGJyIC8+Cis8L3ByZT48cD5Mb29rdXAgdGhlIGdpdmVuIGVudGl0eSBpbiBFbnRpdGllc1RhYmxlIFRPRE86IHRoZSBsaW5lYXIgc2NhbiBpcyByZWFsbHkgdWdseSwgYW4gaGFzaCB0YWJsZSBpcyByZWFsbHkgbmVlZGVkLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbnRpdHkgbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGFzc29jaWF0ZWQgPGEgaHJlZj0ibGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sRW50aXR5RGVzY1B0ciI+aHRtbEVudGl0eURlc2NQdHI8L2E+IGlmIGZvdW5kLCBOVUxMIG90aGVyd2lzZS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJodG1sRW50aXR5VmFsdWVMb29rdXAiIGlkPSJodG1sRW50aXR5VmFsdWVMb29rdXAiPjwvYT5GdW5jdGlvbjogaHRtbEVudGl0eVZhbHVlTG9va3VwPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Y29uc3QgPGEgaHJlZj0ibGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sRW50aXR5RGVzYyI+aHRtbEVudGl0eURlc2M8L2E+ICoJaHRtbEVudGl0eVZhbHVlTG9va3VwCSh1bnNpZ25lZCBpbnQgdmFsdWUpPGJyIC8+Cis8L3ByZT48cD5Mb29rdXAgdGhlIGdpdmVuIGVudGl0eSBpbiBFbnRpdGllc1RhYmxlIFRPRE86IHRoZSBsaW5lYXIgc2NhbiBpcyByZWFsbHkgdWdseSwgYW4gaGFzaCB0YWJsZSBpcyByZWFsbHkgbmVlZGVkLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbHVlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZW50aXR5J3MgdW5pY29kZSB2YWx1ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGFzc29jaWF0ZWQgPGEgaHJlZj0ibGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sRW50aXR5RGVzY1B0ciI+aHRtbEVudGl0eURlc2NQdHI8L2E+IGlmIGZvdW5kLCBOVUxMIG90aGVyd2lzZS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJodG1sRnJlZVBhcnNlckN0eHQiIGlkPSJodG1sRnJlZVBhcnNlckN0eHQiPjwvYT5GdW5jdGlvbjogaHRtbEZyZWVQYXJzZXJDdHh0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAlodG1sRnJlZVBhcnNlckN0eHQJCSg8YSBocmVmPSJsaWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxQYXJzZXJDdHh0UHRyIj5odG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8YnIgLz4KKzwvcHJlPjxwPkZyZWUgYWxsIHRoZSBtZW1vcnkgdXNlZCBieSBhIHBhcnNlciBjb250ZXh0LiBIb3dldmVyIHRoZSBwYXJzZWQgZG9jdW1lbnQgaW4gY3R4dC0mZ3Q7bXlEb2MgaXMgbm90IGZyZWVkLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIEhUTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJodG1sSGFuZGxlT21pdHRlZEVsZW0iIGlkPSJodG1sSGFuZGxlT21pdHRlZEVsZW0iPjwvYT5GdW5jdGlvbjogaHRtbEhhbmRsZU9taXR0ZWRFbGVtPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CWh0bWxIYW5kbGVPbWl0dGVkRWxlbQkJKGludCB2YWwpPGJyIC8+Cis8L3ByZT48cD5TZXQgYW5kIHJldHVybiB0aGUgcHJldmlvdXMgdmFsdWUgZm9yIGhhbmRsaW5nIEhUTUwgb21pdHRlZCB0YWdzLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+aW50IDAgb3IgMTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxhc3QgdmFsdWUgZm9yIDAgZm9yIG5vIGhhbmRsaW5nLCAxIGZvciBhdXRvIGluc2VydGlvbi48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJodG1sSXNBdXRvQ2xvc2VkIiBpZD0iaHRtbElzQXV0b0Nsb3NlZCI+PC9hPkZ1bmN0aW9uOiBodG1sSXNBdXRvQ2xvc2VkPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CWh0bWxJc0F1dG9DbG9zZWQJCSg8YSBocmVmPSJsaWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxEb2NQdHIiPmh0bWxEb2NQdHI8L2E+IGRvYywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sTm9kZVB0ciI+aHRtbE5vZGVQdHI8L2E+IGVsZW0pPGJyIC8+Cis8L3ByZT48cD5UaGUgSFRNTCBEVEQgYWxsb3dzIGEgdGFnIHRvIGltcGxpY2l0bHkgY2xvc2Ugb3RoZXIgdGFncy4gVGhlIGxpc3QgaXMga2VwdCBpbiBodG1sU3RhcnRDbG9zZSBhcnJheS4gVGhpcyBmdW5jdGlvbiBjaGVja3MgaWYgYSB0YWcgaXMgYXV0b2Nsb3NlZCBieSBvbmUgb2YgaXQncyBjaGlsZDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIEhUTUwgZG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVsZW08L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBIVE1MIGVsZW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgYXV0b2Nsb3NlZCwgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJodG1sSXNTY3JpcHRBdHRyaWJ1dGUiIGlkPSJodG1sSXNTY3JpcHRBdHRyaWJ1dGUiPjwvYT5GdW5jdGlvbjogaHRtbElzU2NyaXB0QXR0cmlidXRlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CWh0bWxJc1NjcmlwdEF0dHJpYnV0ZQkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpPGJyIC8+Cis8L3ByZT48cD5DaGVjayBpZiBhbiA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IGlzIG9mIGNvbnRlbnQgdHlwZSBTY3JpcHQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaXMgdGhlIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gaXMgYSBzY3JpcHQgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJodG1sTmV3UGFyc2VyQ3R4dCIgaWQ9Imh0bWxOZXdQYXJzZXJDdHh0Ij48L2E+RnVuY3Rpb246IGh0bWxOZXdQYXJzZXJDdHh0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sUGFyc2VyQ3R4dFB0ciI+aHRtbFBhcnNlckN0eHRQdHI8L2E+CWh0bWxOZXdQYXJzZXJDdHh0CSh2b2lkKTxiciAvPgorPC9wcmU+PHA+QWxsb2NhdGUgYW5kIGluaXRpYWxpemUgYSBuZXcgcGFyc2VyIGNvbnRleHQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlckN0eHRQdHIiPmh0bWxQYXJzZXJDdHh0UHRyPC9hPiBvciBOVUxMIGluIGNhc2Ugb2YgYWxsb2NhdGlvbiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9Imh0bWxOb2RlU3RhdHVzIiBpZD0iaHRtbE5vZGVTdGF0dXMiPjwvYT5GdW5jdGlvbjogaHRtbE5vZGVTdGF0dXM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxTdGF0dXMiPmh0bWxTdGF0dXM8L2E+CWh0bWxOb2RlU3RhdHVzCQkoY29uc3QgPGEgaHJlZj0ibGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sTm9kZVB0ciI+aHRtbE5vZGVQdHI8L2E+IG5vZGUsIDxiciAvPgkJCQkJIGludCBsZWdhY3kpPGJyIC8+Cis8L3ByZT48cD5DaGVja3Mgd2hldGhlciB0aGUgdHJlZSBub2RlIGlzIHZhbGlkLiBFeHBlcmltZW50YWwgKHRoZSBhdXRob3Igb25seSB1c2VzIHRoZSBIVE1MIGVuaGFuY2VtZW50cyBpbiBhIFNBWCBwYXJzZXIpPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gPGEgaHJlZj0ibGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sTm9kZVB0ciI+aHRtbE5vZGVQdHI8L2E+IGluIGEgdHJlZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGVnYWN5PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD53aGV0aGVyIHRvIGFsbG93IGRlcHJlY2F0ZWQgZWxlbWVudHMgKFlFUyBpcyBmYXN0ZXIgaGVyZSBmb3IgRWxlbWVudCBub2Rlcyk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmZvciBFbGVtZW50IG5vZGVzLCBhIHJldHVybiBmcm9tIDxhIGhyZWY9ImxpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEVsZW1lbnRBbGxvd2VkSGVyZSI+aHRtbEVsZW1lbnRBbGxvd2VkSGVyZTwvYT4gKGlmIGxlZ2FjeSBhbGxvd2VkKSBvciA8YSBocmVmPSJsaWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxFbGVtZW50U3RhdHVzSGVyZSI+aHRtbEVsZW1lbnRTdGF0dXNIZXJlPC9hPiAob3RoZXJ3aXNlKS4gZm9yIEF0dHJpYnV0ZSBub2RlcywgYSByZXR1cm4gZnJvbSA8YSBocmVmPSJsaWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxBdHRyQWxsb3dlZCI+aHRtbEF0dHJBbGxvd2VkPC9hPiBmb3Igb3RoZXIgbm9kZXMsIDxhIGhyZWY9ImxpYnhtbC1IVE1McGFyc2VyLmh0bWwjSFRNTF9OQSI+SFRNTF9OQTwvYT4gKG5vIGNoZWNrcyBwZXJmb3JtZWQpPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0iaHRtbFBhcnNlQ2hhclJlZiIgaWQ9Imh0bWxQYXJzZUNoYXJSZWYiPjwvYT5GdW5jdGlvbjogaHRtbFBhcnNlQ2hhclJlZjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAlodG1sUGFyc2VDaGFyUmVmCQkoPGEgaHJlZj0ibGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sUGFyc2VyQ3R4dFB0ciI+aHRtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPGJyIC8+Cis8L3ByZT48cD5wYXJzZSBSZWZlcmVuY2UgZGVjbGFyYXRpb25zIFs2Nl0gQ2hhclJlZiA6Oj0gJyZhbXA7IycgWzAtOV0rICc7JyB8ICcmYW1wOyN4JyBbMC05YS1mQS1GXSsgJzsnPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gSFRNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHZhbHVlIHBhcnNlZCAoYXMgYW4gaW50KTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9Imh0bWxQYXJzZUNodW5rIiBpZD0iaHRtbFBhcnNlQ2h1bmsiPjwvYT5GdW5jdGlvbjogaHRtbFBhcnNlQ2h1bms8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJaHRtbFBhcnNlQ2h1bmsJCQkoPGEgaHJlZj0ibGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sUGFyc2VyQ3R4dFB0ciI+aHRtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBjaHVuaywgPGJyIC8+CQkJCQkgaW50IHNpemUsIDxiciAvPgkJCQkJIGludCB0ZXJtaW5hdGUpPGJyIC8+Cis8L3ByZT48cD5QYXJzZSBhIENodW5rIG9mIG1lbW9yeTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIEhUTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNodW5rPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBjaGFyIGFycmF5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zaXplPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc2l6ZSBpbiBieXRlIG9mIHRoZSBjaHVuazwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dGVybWluYXRlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5sYXN0IGNodW5rIGluZGljYXRvcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+emVybyBpZiBubyBlcnJvciwgdGhlIDxhIGhyZWY9ImxpYnhtbC14bWxlcnJvci5odG1sI3htbFBhcnNlckVycm9ycyI+eG1sUGFyc2VyRXJyb3JzPC9hPiBvdGhlcndpc2UuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0iaHRtbFBhcnNlRG9jIiBpZD0iaHRtbFBhcnNlRG9jIj48L2E+RnVuY3Rpb246IGh0bWxQYXJzZURvYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbERvY1B0ciI+aHRtbERvY1B0cjwvYT4JaHRtbFBhcnNlRG9jCQkoPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY3VyLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcpPGJyIC8+Cis8L3ByZT48cD5wYXJzZSBhbiBIVE1MIGluLW1lbW9yeSBkb2N1bWVudCBhbmQgYnVpbGQgYSB0cmVlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIGFuIGFycmF5IG9mIDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jb2Rpbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgZnJlZSBmb3JtIEMgc3RyaW5nIGRlc2NyaWJpbmcgdGhlIEhUTUwgZG9jdW1lbnQgZW5jb2RpbmcsIG9yIE5VTEw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSByZXN1bHRpbmcgZG9jdW1lbnQgdHJlZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9Imh0bWxQYXJzZURvY3VtZW50IiBpZD0iaHRtbFBhcnNlRG9jdW1lbnQiPjwvYT5GdW5jdGlvbjogaHRtbFBhcnNlRG9jdW1lbnQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJaHRtbFBhcnNlRG9jdW1lbnQJCSg8YSBocmVmPSJsaWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxQYXJzZXJDdHh0UHRyIj5odG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8YnIgLz4KKzwvcHJlPjxwPnBhcnNlIGFuIEhUTUwgZG9jdW1lbnQgKGFuZCBidWlsZCBhIHRyZWUgaWYgdXNpbmcgdGhlIHN0YW5kYXJkIFNBWCBpbnRlcmZhY2UpLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIEhUTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAsIC0xIGluIGNhc2Ugb2YgZXJyb3IuIHRoZSBwYXJzZXIgY29udGV4dCBpcyBhdWdtZW50ZWQgYXMgYSByZXN1bHQgb2YgdGhlIHBhcnNpbmcuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0iaHRtbFBhcnNlRWxlbWVudCIgaWQ9Imh0bWxQYXJzZUVsZW1lbnQiPjwvYT5GdW5jdGlvbjogaHRtbFBhcnNlRWxlbWVudDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJaHRtbFBhcnNlRWxlbWVudAkJKDxhIGhyZWY9ImxpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlckN0eHRQdHIiPmh0bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTxiciAvPgorPC9wcmU+PHA+cGFyc2UgYW4gSFRNTCBlbGVtZW50LCB0aGlzIGlzIGhpZ2hseSByZWN1cnNpdmUgdGhpcyBpcyBrZXB0IGZvciBjb21wYXRpYmlsaXR5IHdpdGggcHJldmlvdXMgY29kZSB2ZXJzaW9ucyBbMzldIGVsZW1lbnQgOjo9IEVtcHR5RWxlbVRhZyB8IFNUYWcgY29udGVudCBFVGFnIFs0MV0gQXR0cmlidXRlIDo6PSBOYW1lIEVxIEF0dFZhbHVlPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gSFRNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9Imh0bWxQYXJzZUVudGl0eVJlZiIgaWQ9Imh0bWxQYXJzZUVudGl0eVJlZiI+PC9hPkZ1bmN0aW9uOiBodG1sUGFyc2VFbnRpdHlSZWY8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5jb25zdCA8YSBocmVmPSJsaWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxFbnRpdHlEZXNjIj5odG1sRW50aXR5RGVzYzwvYT4gKglodG1sUGFyc2VFbnRpdHlSZWYJKDxhIGhyZWY9ImxpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlckN0eHRQdHIiPmh0bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoqIHN0cik8YnIgLz4KKzwvcHJlPjxwPnBhcnNlIGFuIEhUTUwgRU5USVRZIHJlZmVyZW5jZXMgWzY4XSBFbnRpdHlSZWYgOjo9ICcmYW1wOycgTmFtZSAnOyc8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBIVE1MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdHI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmxvY2F0aW9uIHRvIHN0b3JlIHRoZSBlbnRpdHkgbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGFzc29jaWF0ZWQgPGEgaHJlZj0ibGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sRW50aXR5RGVzY1B0ciI+aHRtbEVudGl0eURlc2NQdHI8L2E+IGlmIGZvdW5kLCBvciBOVUxMIG90aGVyd2lzZSwgaWYgbm9uLU5VTEwgKnN0ciB3aWxsIGhhdmUgdG8gYmUgZnJlZWQgYnkgdGhlIGNhbGxlci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJodG1sUGFyc2VGaWxlIiBpZD0iaHRtbFBhcnNlRmlsZSI+PC9hPkZ1bmN0aW9uOiBodG1sUGFyc2VGaWxlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sRG9jUHRyIj5odG1sRG9jUHRyPC9hPglodG1sUGFyc2VGaWxlCQkoY29uc3QgY2hhciAqIGZpbGVuYW1lLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcpPGJyIC8+Cis8L3ByZT48cD5wYXJzZSBhbiBIVE1MIGZpbGUgYW5kIGJ1aWxkIGEgdHJlZS4gQXV0b21hdGljIHN1cHBvcnQgZm9yIFpMSUIvQ29tcHJlc3MgY29tcHJlc3NlZCBkb2N1bWVudCBpcyBwcm92aWRlZCBieSBkZWZhdWx0IGlmIGZvdW5kIGF0IGNvbXBpbGUtdGltZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlbmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZpbGVuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbmNvZGluZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBmcmVlIGZvcm0gQyBzdHJpbmcgZGVzY3JpYmluZyB0aGUgSFRNTCBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHJlc3VsdGluZyBkb2N1bWVudCB0cmVlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0iaHRtbFJlYWREb2MiIGlkPSJodG1sUmVhZERvYyI+PC9hPkZ1bmN0aW9uOiBodG1sUmVhZERvYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbERvY1B0ciI+aHRtbERvY1B0cjwvYT4JaHRtbFJlYWREb2MJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjdXIsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBVUkwsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyIC8+CQkJCQkgaW50IG9wdGlvbnMpPGJyIC8+Cis8L3ByZT48cD5wYXJzZSBhbiBYTUwgaW4tbWVtb3J5IGRvY3VtZW50IGFuZCBidWlsZCBhIHRyZWUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gYSB6ZXJvIHRlcm1pbmF0ZWQgc3RyaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5VUkw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBiYXNlIFVSTCB0byB1c2UgZm9yIHRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jb2Rpbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3B0aW9uczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBjb21iaW5hdGlvbiBvZiBodG1sUGFyc2VyT3B0aW9uKHMpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmVzdWx0aW5nIGRvY3VtZW50IHRyZWU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJodG1sUmVhZEZkIiBpZD0iaHRtbFJlYWRGZCI+PC9hPkZ1bmN0aW9uOiBodG1sUmVhZEZkPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sRG9jUHRyIj5odG1sRG9jUHRyPC9hPglodG1sUmVhZEZkCQkoaW50IGZkLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogVVJMLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcsIDxiciAvPgkJCQkJIGludCBvcHRpb25zKTxiciAvPgorPC9wcmU+PHA+cGFyc2UgYW4gWE1MIGZyb20gYSBmaWxlIGRlc2NyaXB0b3IgYW5kIGJ1aWxkIGEgdHJlZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mZDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gb3BlbiBmaWxlIGRlc2NyaXB0b3I8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlVSTDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJhc2UgVVJMIHRvIHVzZSBmb3IgdGhlIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbmNvZGluZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50IGVuY29kaW5nLCBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vcHRpb25zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGNvbWJpbmF0aW9uIG9mIGh0bWxQYXJzZXJPcHRpb24ocyk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSByZXN1bHRpbmcgZG9jdW1lbnQgdHJlZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9Imh0bWxSZWFkRmlsZSIgaWQ9Imh0bWxSZWFkRmlsZSI+PC9hPkZ1bmN0aW9uOiBodG1sUmVhZEZpbGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxEb2NQdHIiPmh0bWxEb2NQdHI8L2E+CWh0bWxSZWFkRmlsZQkJKGNvbnN0IGNoYXIgKiBmaWxlbmFtZSwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nLCA8YnIgLz4JCQkJCSBpbnQgb3B0aW9ucyk8YnIgLz4KKzwvcHJlPjxwPnBhcnNlIGFuIFhNTCBmaWxlIGZyb20gdGhlIGZpbGVzeXN0ZW0gb3IgdGhlIG5ldHdvcmsuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmlsZW5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgZmlsZSBvciBVUkw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVuY29kaW5nPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQgZW5jb2RpbmcsIG9yIE5VTEw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm9wdGlvbnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgY29tYmluYXRpb24gb2YgaHRtbFBhcnNlck9wdGlvbihzKTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHJlc3VsdGluZyBkb2N1bWVudCB0cmVlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0iaHRtbFJlYWRJTyIgaWQ9Imh0bWxSZWFkSU8iPjwvYT5GdW5jdGlvbjogaHRtbFJlYWRJTzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbERvY1B0ciI+aHRtbERvY1B0cjwvYT4JaHRtbFJlYWRJTwkJKDxhIGhyZWY9ImxpYnhtbC14bWxJTy5odG1sI3htbElucHV0UmVhZENhbGxiYWNrIj54bWxJbnB1dFJlYWRDYWxsYmFjazwvYT4gaW9yZWFkLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sSU8uaHRtbCN4bWxJbnB1dENsb3NlQ2FsbGJhY2siPnhtbElucHV0Q2xvc2VDYWxsYmFjazwvYT4gaW9jbG9zZSwgPGJyIC8+CQkJCQkgdm9pZCAqIGlvY3R4LCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogVVJMLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcsIDxiciAvPgkJCQkJIGludCBvcHRpb25zKTxiciAvPgorPC9wcmU+PHA+cGFyc2UgYW4gSFRNTCBkb2N1bWVudCBmcm9tIEkvTyBmdW5jdGlvbnMgYW5kIHNvdXJjZSBhbmQgYnVpbGQgYSB0cmVlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmlvcmVhZDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gSS9PIHJlYWQgZnVuY3Rpb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmlvY2xvc2U8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIEkvTyBjbG9zZSBmdW5jdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aW9jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIEkvTyBoYW5kbGVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5VUkw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBiYXNlIFVSTCB0byB1c2UgZm9yIHRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jb2Rpbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3B0aW9uczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBjb21iaW5hdGlvbiBvZiBodG1sUGFyc2VyT3B0aW9uKHMpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmVzdWx0aW5nIGRvY3VtZW50IHRyZWU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJodG1sUmVhZE1lbW9yeSIgaWQ9Imh0bWxSZWFkTWVtb3J5Ij48L2E+RnVuY3Rpb246IGh0bWxSZWFkTWVtb3J5PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sRG9jUHRyIj5odG1sRG9jUHRyPC9hPglodG1sUmVhZE1lbW9yeQkJKGNvbnN0IGNoYXIgKiBidWZmZXIsIDxiciAvPgkJCQkJIGludCBzaXplLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogVVJMLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcsIDxiciAvPgkJCQkJIGludCBvcHRpb25zKTxiciAvPgorPC9wcmU+PHA+cGFyc2UgYW4gWE1MIGluLW1lbW9yeSBkb2N1bWVudCBhbmQgYnVpbGQgYSB0cmVlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmJ1ZmZlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIGEgY2hhciBhcnJheTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2l6ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHNpemUgb2YgdGhlIGFycmF5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5VUkw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBiYXNlIFVSTCB0byB1c2UgZm9yIHRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jb2Rpbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3B0aW9uczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBjb21iaW5hdGlvbiBvZiBodG1sUGFyc2VyT3B0aW9uKHMpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmVzdWx0aW5nIGRvY3VtZW50IHRyZWU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJodG1sU0FYUGFyc2VEb2MiIGlkPSJodG1sU0FYUGFyc2VEb2MiPjwvYT5GdW5jdGlvbjogaHRtbFNBWFBhcnNlRG9jPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sRG9jUHRyIj5odG1sRG9jUHRyPC9hPglodG1sU0FYUGFyc2VEb2MJCSg8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjdXIsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sU0FYSGFuZGxlclB0ciI+aHRtbFNBWEhhbmRsZXJQdHI8L2E+IHNheCwgPGJyIC8+CQkJCQkgdm9pZCAqIHVzZXJEYXRhKTxiciAvPgorPC9wcmU+PHA+UGFyc2UgYW4gSFRNTCBpbi1tZW1vcnkgZG9jdW1lbnQuIElmIHNheCBpcyBub3QgTlVMTCwgdXNlIHRoZSBTQVggY2FsbGJhY2tzIHRvIGhhbmRsZSBwYXJzZSBldmVudHMuIElmIHNheCBpcyBOVUxMLCBmYWxsYmFjayB0byB0aGUgZGVmYXVsdCBET00gYmVoYXZpb3IgYW5kIHJldHVybiBhIHRyZWUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gYW4gYXJyYXkgb2YgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbmNvZGluZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBmcmVlIGZvcm0gQyBzdHJpbmcgZGVzY3JpYmluZyB0aGUgSFRNTCBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2F4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgU0FYIGhhbmRsZXIgYmxvY2s8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnVzZXJEYXRhPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5pZiB1c2luZyBTQVgsIHRoaXMgcG9pbnRlciB3aWxsIGJlIHByb3ZpZGVkIG9uIGNhbGxiYWNrcy48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSByZXN1bHRpbmcgZG9jdW1lbnQgdHJlZSB1bmxlc3MgU0FYIGlzIE5VTEwgb3IgdGhlIGRvY3VtZW50IGlzIG5vdCB3ZWxsIGZvcm1lZC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJodG1sU0FYUGFyc2VGaWxlIiBpZD0iaHRtbFNBWFBhcnNlRmlsZSI+PC9hPkZ1bmN0aW9uOiBodG1sU0FYUGFyc2VGaWxlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sRG9jUHRyIj5odG1sRG9jUHRyPC9hPglodG1sU0FYUGFyc2VGaWxlCShjb25zdCBjaGFyICogZmlsZW5hbWUsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sU0FYSGFuZGxlclB0ciI+aHRtbFNBWEhhbmRsZXJQdHI8L2E+IHNheCwgPGJyIC8+CQkJCQkgdm9pZCAqIHVzZXJEYXRhKTxiciAvPgorPC9wcmU+PHA+cGFyc2UgYW4gSFRNTCBmaWxlIGFuZCBidWlsZCBhIHRyZWUuIEF1dG9tYXRpYyBzdXBwb3J0IGZvciBaTElCL0NvbXByZXNzIGNvbXByZXNzZWQgZG9jdW1lbnQgaXMgcHJvdmlkZWQgYnkgZGVmYXVsdCBpZiBmb3VuZCBhdCBjb21waWxlLXRpbWUuIEl0IHVzZSB0aGUgZ2l2ZW4gU0FYIGZ1bmN0aW9uIGJsb2NrIHRvIGhhbmRsZSB0aGUgcGFyc2luZyBjYWxsYmFjay4gSWYgc2F4IGlzIE5VTEwsIGZhbGxiYWNrIHRvIHRoZSBkZWZhdWx0IERPTSB0cmVlIGJ1aWxkaW5nIHJvdXRpbmVzLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZpbGVuYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZmlsZW5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVuY29kaW5nPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGZyZWUgZm9ybSBDIHN0cmluZyBkZXNjcmliaW5nIHRoZSBIVE1MIGRvY3VtZW50IGVuY29kaW5nLCBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zYXg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBTQVggaGFuZGxlciBibG9jazwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dXNlckRhdGE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmlmIHVzaW5nIFNBWCwgdGhpcyBwb2ludGVyIHdpbGwgYmUgcHJvdmlkZWQgb24gY2FsbGJhY2tzLjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHJlc3VsdGluZyBkb2N1bWVudCB0cmVlIHVubGVzcyBTQVggaXMgTlVMTCBvciB0aGUgZG9jdW1lbnQgaXMgbm90IHdlbGwgZm9ybWVkLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9Imh0bWxUYWdMb29rdXAiIGlkPSJodG1sVGFnTG9va3VwIj48L2E+RnVuY3Rpb246IGh0bWxUYWdMb29rdXA8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5jb25zdCA8YSBocmVmPSJsaWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxFbGVtRGVzYyI+aHRtbEVsZW1EZXNjPC9hPiAqCWh0bWxUYWdMb29rdXAJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHRhZyk8YnIgLz4KKzwvcHJlPjxwPkxvb2t1cCB0aGUgSFRNTCB0YWcgaW4gdGhlIEVsZW1lbnRUYWJsZTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRhZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VGhlIHRhZyBuYW1lIGluIGxvd2VyY2FzZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHJlbGF0ZWQgPGEgaHJlZj0ibGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sRWxlbURlc2NQdHIiPmh0bWxFbGVtRGVzY1B0cjwvYT4gb3IgTlVMTCBpZiBub3QgZm91bmQuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48cD48YSBocmVmPSIuLi9idWdzLmh0bWwiPkRhbmllbCBWZWlsbGFyZDwvYT48L3A+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2h0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwgYi9saWJ4bWwyL2RvYy9odG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBjODk3MjcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9odG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sCkBAIC0wLDAgKzEsNzMgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+PGxpbmsgcmVsPSJTSE9SVENVVCBJQ09OIiBocmVmPSIvZmF2aWNvbi5pY28iIC8+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK1REIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitCT0RZIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2E7IG1hcmdpbi10b3A6IDJlbTsgbWFyZ2luLWxlZnQ6IDBlbTsgbWFyZ2luLXJpZ2h0OiAwZW19CitIMSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDIge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gzIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitBOmxpbmssIEE6dmlzaXRlZCwgQTphY3RpdmUgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB9Cis8L3N0eWxlPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAgICBkaXYuZGVwcmVjYXRlZCBwcmUucHJvZ3JhbWxpc3Rpbmcge2JvcmRlci1zdHlsZTogZG91YmxlO2JvcmRlci1jb2xvcjpyZWR9CisgICAgICBwcmUucHJvZ3JhbWxpc3Rpbmcge2JvcmRlci1zdHlsZTogZG91YmxlO2JhY2tncm91bmQ6ICNFRUNGQTF9CisgICAgPC9zdHlsZT48dGl0bGU+TW9kdWxlIEhUTUx0cmVlIGZyb20gbGlieG1sMjwvdGl0bGU+PC9oZWFkPjxib2R5IGJnY29sb3I9IiM4Yjc3NjUiIHRleHQ9IiMwMDAwMDAiIGxpbms9IiNhMDYwNjAiIHZsaW5rPSIjMDAwMDAwIj48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iMTAwJSIgY2VsbHBhZGRpbmc9IjUiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIHdpZHRoPSIxMjAiPjxhIGhyZWY9Imh0dHA6Ly9zd3BhdC5mZmlpLm9yZy8iPjxpbWcgc3JjPSIuLi9lcGF0ZW50cy5wbmciIGFsdD0iQWN0aW9uIGFnYWluc3Qgc29mdHdhcmUgcGF0ZW50cyIgLz48L2E+PC90ZD48dGQgd2lkdGg9IjE4MCI+PGEgaHJlZj0iaHR0cDovL3d3dy5nbm9tZS5vcmcvIj48aW1nIHNyYz0iLi4vZ25vbWUyLnBuZyIgYWx0PSJHbm9tZTIgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvU3RhdHVzIj48aW1nIHNyYz0iLi4vdzNjLnBuZyIgYWx0PSJXM0MgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy5yZWRoYXQuY29tLyI+PGltZyBzcmM9Ii4uL3JlZGhhdC5naWYiIGFsdD0iUmVkIEhhdCBMb2dvIiAvPjwvYT48ZGl2IGFsaWduPSJsZWZ0Ij48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvIj48aW1nIHNyYz0iLi4vTGlieG1sMi1Mb2dvLTE4MHgxNjguZ2lmIiBhbHQ9Ik1hZGUgd2l0aCBMaWJ4bWwyIExvZ28iIC8+PC9hPjwvZGl2PjwvdGQ+PHRkPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSI5MCUiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIiBiZ2NvbG9yPSIjZmZmYWNkIj48dHI+PHRkIGFsaWduPSJjZW50ZXIiPjxoMT48L2gxPjxoMj5Nb2R1bGUgSFRNTHRyZWUgZnJvbSBsaWJ4bWwyPC9oMj48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iNCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiIgd2lkdGg9IjEwMCUiPjx0cj48dGQgdmFsaWduPSJ0b3AiIHdpZHRoPSIyMDAiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPkFQSSBNZW51PC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjxmb3JtIGFjdGlvbj0iLi4vc2VhcmNoLnBocCIgZW5jdHlwZT0iYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIiBtZXRob2Q9ImdldCI+PGlucHV0IG5hbWU9InF1ZXJ5IiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IiIgLz48aW5wdXQgbmFtZT0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJTZWFyY2ggLi4uIiAvPjwvZm9ybT48dWw+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSIuLi9pbmRleC5odG1sIj5NYWluIE1lbnU8L2E+PC9saT48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9Ii4uL2RvY3MuaHRtbCI+RGV2ZWxvcGVyIE1lbnU8L2E+PC9saT48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9Ii4uL2V4YW1wbGVzL2luZGV4Lmh0bWwiPkNvZGUgRXhhbXBsZXM8L2E+PC9saT48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9ImluZGV4Lmh0bWwiPkFQSSBNZW51PC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1wYXJzZXIuaHRtbCI+UGFyc2VyIEFQSTwvYT48L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sIj5UcmVlIEFQSTwvYT48L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwiPlJlYWRlciBBUEk8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vZ3VpZGVsaW5lcy5odG1sIj5YTUwgR3VpZGVsaW5lczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9DaGFuZ2VMb2cuaHRtbCI+Q2hhbmdlTG9nPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+QVBJIEluZGV4ZXM8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSIuLi9BUEljaHVuazAuaHRtbCI+QWxwaGFiZXRpYzwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUEljb25zdHJ1Y3RvcnMuaHRtbCI+Q29uc3RydWN0b3JzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSWZ1bmN0aW9ucy5odG1sIj5GdW5jdGlvbnMvVHlwZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJZmlsZXMuaHRtbCI+TW9kdWxlczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUElzeW1ib2xzLmh0bWwiPlN5bWJvbHM8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5SZWxhdGVkIGxpbmtzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iaHR0cDovL21haWwuZ25vbWUub3JnL2FyY2hpdmVzL3htbC8iPk1haWwgYXJjaGl2ZTwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvWFNMVC8iPlhTTFQgbGlieHNsdDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vcGhkLmNzLnVuaWJvLml0L2dkb21lMi8iPkRPTSBnZG9tZTI8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5hbGVrc2V5LmNvbS94bWxzZWMvIj5YTUwtRFNpZyB4bWxzZWM8L2E+PC9saT48bGk+PGEgaHJlZj0iZnRwOi8veG1sc29mdC5vcmcvIj5GVFA8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56bGF0a292aWMuY29tL3Byb2plY3RzL2xpYnhtbC8iPldpbmRvd3MgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL29wZW5jc3cub3JnL3BhY2thZ2VzL2xpYnhtbDIiPlNvbGFyaXMgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5leHBsYWluLmNvbS5hdS9vc3MvbGlieG1sMnhzbHQuaHRtbCI+TWFjT3NYIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9seG1sLmRlLyI+bHhtbCBQeXRob24gYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2NwYW4udXdpbm5pcGVnLmNhL2Rpc3QvWE1MLUxpYlhNTCI+UGVybCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1scGx1c3BsdXMuc291cmNlZm9yZ2UubmV0LyI+QysrIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemVuZC5jb20vcGhwNS9hcnRpY2xlcy9waHA1LXhtbHBocC5waHAjSGVhZGluZzQiPlBIUCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2xpYnhtbDItcGFzLyI+UGFzY2FsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWwucnVieWZvcmdlLm9yZy8iPlJ1YnkgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3RjbHhtbC5zb3VyY2Vmb3JnZS5uZXQvIj5UY2wgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9idWdsaXN0LmNnaT9wcm9kdWN0PWxpYnhtbDIiPkJ1ZyBUcmFja2VyPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIzIiBjZWxsc3BhY2luZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHRhYmxlIGNsYXNzPSJuYXZpZ2F0aW9uIiB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBoZWFkZXIiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMiI+PHRyIHZhbGlnbj0ibWlkZGxlIj48dGQ+PGEgYWNjZXNza2V5PSJwIiBocmVmPSJsaWJ4bWwtSFRNTHBhcnNlci5odG1sIj48aW1nIHNyYz0ibGVmdC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlByZXYiIC8+PC9hPjwvdGQ+PHRoIGFsaWduPSJsZWZ0Ij48YSBocmVmPSJsaWJ4bWwtSFRNTHBhcnNlci5odG1sIj5IVE1McGFyc2VyPC9hPjwvdGg+PHRkPjxhIGFjY2Vzc2tleT0idSIgaHJlZj0iaW5kZXguaHRtbCI+PGltZyBzcmM9InVwLnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iVXAiIC8+PC9hPjwvdGQ+PHRoIGFsaWduPSJsZWZ0Ij48YSBocmVmPSJpbmRleC5odG1sIj5BUEkgZG9jdW1lbnRhdGlvbjwvYT48L3RoPjx0ZD48YSBhY2Nlc3NrZXk9ImgiIGhyZWY9Ii4uL2luZGV4Lmh0bWwiPjxpbWcgc3JjPSJob21lLnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iSG9tZSIgLz48L2E+PC90ZD48dGggYWxpZ249ImNlbnRlciI+PGEgaHJlZj0iLi4vaW5kZXguaHRtbCI+VGhlIFhNTCBDIHBhcnNlciBhbmQgdG9vbGtpdCBvZiBHbm9tZTwvYT48L3RoPjx0aCBhbGlnbj0icmlnaHQiPjxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCI+U0FYPC9hPjwvdGg+PHRkPjxhIGFjY2Vzc2tleT0ibiIgaHJlZj0ibGlieG1sLVNBWC5odG1sIj48aW1nIHNyYz0icmlnaHQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJOZXh0IiAvPjwvYT48L3RkPjwvdHI+PC90YWJsZT48cD50aGlzIG1vZHVsZSBpbXBsZW1lbnRzIGEgZmV3IGZ1bmN0aW9uIG5lZWRlZCB0byBwcm9jZXNzIHRyZWUgaW4gYW4gSFRNTCBzcGVjaWZpYyB3YXkuIDwvcD48aDI+VGFibGUgb2YgQ29udGVudHM8L2gyPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNIVE1MX0NPTU1FTlRfTk9ERSI+SFRNTF9DT01NRU5UX05PREU8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI0hUTUxfRU5USVRZX1JFRl9OT0RFIj5IVE1MX0VOVElUWV9SRUZfTk9ERTwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjSFRNTF9QSV9OT0RFIj5IVE1MX1BJX05PREU8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI0hUTUxfUFJFU0VSVkVfTk9ERSI+SFRNTF9QUkVTRVJWRV9OT0RFPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNIVE1MX1RFWFRfTk9ERSI+SFRNTF9URVhUX05PREU8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI2h0bWxEb2NDb250ZW50RHVtcEZvcm1hdE91dHB1dCI+aHRtbERvY0NvbnRlbnREdW1wRm9ybWF0T3V0cHV0PC9hPgkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxPdXRwdXRCdWZmZXJQdHIiPnhtbE91dHB1dEJ1ZmZlclB0cjwvYT4gYnVmLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBjdXIsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyIC8+CQkJCQkgaW50IGZvcm1hdCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiNodG1sRG9jQ29udGVudER1bXBPdXRwdXQiPmh0bWxEb2NDb250ZW50RHVtcE91dHB1dDwvYT4JKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sT3V0cHV0QnVmZmVyUHRyIj54bWxPdXRwdXRCdWZmZXJQdHI8L2E+IGJ1ZiwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gY3VyLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiNodG1sRG9jRHVtcCI+aHRtbERvY0R1bXA8L2E+CQkJKEZJTEUgKiBmLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBjdXIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjaHRtbERvY0R1bXBNZW1vcnkiPmh0bWxEb2NEdW1wTWVtb3J5PC9hPgkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGN1ciwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoqIG1lbSwgPGJyIC8+CQkJCQkgaW50ICogc2l6ZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiNodG1sRG9jRHVtcE1lbW9yeUZvcm1hdCI+aHRtbERvY0R1bXBNZW1vcnlGb3JtYXQ8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gY3VyLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiogbWVtLCA8YnIgLz4JCQkJCSBpbnQgKiBzaXplLCA8YnIgLz4JCQkJCSBpbnQgZm9ybWF0KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiNodG1sR2V0TWV0YUVuY29kaW5nIj5odG1sR2V0TWV0YUVuY29kaW5nPC9hPgkoPGEgaHJlZj0ibGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sRG9jUHRyIj5odG1sRG9jUHRyPC9hPiBkb2MpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiNodG1sSXNCb29sZWFuQXR0ciI+aHRtbElzQm9vbGVhbkF0dHI8L2E+CQkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxEb2NQdHIiPmh0bWxEb2NQdHI8L2E+CTxhIGhyZWY9IiNodG1sTmV3RG9jIj5odG1sTmV3RG9jPC9hPgkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIFVSSSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogRXh0ZXJuYWxJRCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxEb2NQdHIiPmh0bWxEb2NQdHI8L2E+CTxhIGhyZWY9IiNodG1sTmV3RG9jTm9EdEQiPmh0bWxOZXdEb2NOb0R0RDwvYT4JCShjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBVUkksIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIEV4dGVybmFsSUQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiNodG1sTm9kZUR1bXAiPmh0bWxOb2RlRHVtcDwvYT4JCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJQdHIiPnhtbEJ1ZmZlclB0cjwvYT4gYnVmLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gY3VyKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI2h0bWxOb2RlRHVtcEZpbGUiPmh0bWxOb2RlRHVtcEZpbGU8L2E+CQkoRklMRSAqIG91dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGN1cik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI2h0bWxOb2RlRHVtcEZpbGVGb3JtYXQiPmh0bWxOb2RlRHVtcEZpbGVGb3JtYXQ8L2E+CQkoRklMRSAqIG91dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGN1ciwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nLCA8YnIgLz4JCQkJCSBpbnQgZm9ybWF0KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI2h0bWxOb2RlRHVtcEZvcm1hdE91dHB1dCI+aHRtbE5vZGVEdW1wRm9ybWF0T3V0cHV0PC9hPgkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxPdXRwdXRCdWZmZXJQdHIiPnhtbE91dHB1dEJ1ZmZlclB0cjwvYT4gYnVmLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gY3VyLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcsIDxiciAvPgkJCQkJIGludCBmb3JtYXQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjaHRtbE5vZGVEdW1wT3V0cHV0Ij5odG1sTm9kZUR1bXBPdXRwdXQ8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxPdXRwdXRCdWZmZXJQdHIiPnhtbE91dHB1dEJ1ZmZlclB0cjwvYT4gYnVmLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gY3VyLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiNodG1sU2F2ZUZpbGUiPmh0bWxTYXZlRmlsZTwvYT4JCQkoY29uc3QgY2hhciAqIGZpbGVuYW1lLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBjdXIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiNodG1sU2F2ZUZpbGVFbmMiPmh0bWxTYXZlRmlsZUVuYzwvYT4JCQkoY29uc3QgY2hhciAqIGZpbGVuYW1lLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBjdXIsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI2h0bWxTYXZlRmlsZUZvcm1hdCI+aHRtbFNhdmVGaWxlRm9ybWF0PC9hPgkJKGNvbnN0IGNoYXIgKiBmaWxlbmFtZSwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gY3VyLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcsIDxiciAvPgkJCQkJIGludCBmb3JtYXQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiNodG1sU2V0TWV0YUVuY29kaW5nIj5odG1sU2V0TWV0YUVuY29kaW5nPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbERvY1B0ciI+aHRtbERvY1B0cjwvYT4gZG9jLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBlbmNvZGluZyk8L3ByZT4KKzxoMj5EZXNjcmlwdGlvbjwvaDI+Cis8aDM+PGEgbmFtZT0iSFRNTF9DT01NRU5UX05PREUiIGlkPSJIVE1MX0NPTU1FTlRfTk9ERSI+PC9hPk1hY3JvOiBIVE1MX0NPTU1FTlRfTk9ERTwvaDM+PHByZT4jZGVmaW5lIEhUTUxfQ09NTUVOVF9OT0RFPC9wcmU+PHA+TWFjcm8uIEEgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2NvbW1lbnQiPmNvbW1lbnQ8L2E+IGluIGEgSFRNTCBkb2N1bWVudCBpcyByZWFsbHkgaW1wbGVtZW50ZWQgdGhlIHNhbWUgd2F5IGFzIGEgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2NvbW1lbnQiPmNvbW1lbnQ8L2E+IGluIGFuIFhNTCBkb2N1bWVudC48L3A+Cis8aDM+PGEgbmFtZT0iSFRNTF9FTlRJVFlfUkVGX05PREUiIGlkPSJIVE1MX0VOVElUWV9SRUZfTk9ERSI+PC9hPk1hY3JvOiBIVE1MX0VOVElUWV9SRUZfTk9ERTwvaDM+PHByZT4jZGVmaW5lIEhUTUxfRU5USVRZX1JFRl9OT0RFPC9wcmU+PHA+TWFjcm8uIEFuIGVudGl0eSA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjcmVmZXJlbmNlIj5yZWZlcmVuY2U8L2E+IGluIGEgSFRNTCBkb2N1bWVudCBpcyByZWFsbHkgaW1wbGVtZW50ZWQgdGhlIHNhbWUgd2F5IGFzIGFuIGVudGl0eSA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjcmVmZXJlbmNlIj5yZWZlcmVuY2U8L2E+IGluIGFuIFhNTCBkb2N1bWVudC48L3A+Cis8aDM+PGEgbmFtZT0iSFRNTF9QSV9OT0RFIiBpZD0iSFRNTF9QSV9OT0RFIj48L2E+TWFjcm86IEhUTUxfUElfTk9ERTwvaDM+PHByZT4jZGVmaW5lIEhUTUxfUElfTk9ERTwvcHJlPjxwPk1hY3JvLiBBIHByb2Nlc3NpbmcgaW5zdHJ1Y3Rpb24gaW4gYSBIVE1MIGRvY3VtZW50IGlzIHJlYWxseSBpbXBsZW1lbnRlZCB0aGUgc2FtZSB3YXkgYXMgYSBwcm9jZXNzaW5nIGluc3RydWN0aW9uIGluIGFuIFhNTCBkb2N1bWVudC48L3A+Cis8aDM+PGEgbmFtZT0iSFRNTF9QUkVTRVJWRV9OT0RFIiBpZD0iSFRNTF9QUkVTRVJWRV9OT0RFIj48L2E+TWFjcm86IEhUTUxfUFJFU0VSVkVfTk9ERTwvaDM+PHByZT4jZGVmaW5lIEhUTUxfUFJFU0VSVkVfTk9ERTwvcHJlPjxwPk1hY3JvLiBBIHByZXNlcnZlZCBub2RlIGluIGEgSFRNTCBkb2N1bWVudCBpcyByZWFsbHkgaW1wbGVtZW50ZWQgdGhlIHNhbWUgd2F5IGFzIGEgQ0RBVEEgc2VjdGlvbiBpbiBhbiBYTUwgZG9jdW1lbnQuPC9wPgorPGgzPjxhIG5hbWU9IkhUTUxfVEVYVF9OT0RFIiBpZD0iSFRNTF9URVhUX05PREUiPjwvYT5NYWNybzogSFRNTF9URVhUX05PREU8L2gzPjxwcmU+I2RlZmluZSBIVE1MX1RFWFRfTk9ERTwvcHJlPjxwPk1hY3JvLiBBIHRleHQgbm9kZSBpbiBhIEhUTUwgZG9jdW1lbnQgaXMgcmVhbGx5IGltcGxlbWVudGVkIHRoZSBzYW1lIHdheSBhcyBhIHRleHQgbm9kZSBpbiBhbiBYTUwgZG9jdW1lbnQuPC9wPgorPGgzPjxhIG5hbWU9Imh0bWxEb2NDb250ZW50RHVtcEZvcm1hdE91dHB1dCIgaWQ9Imh0bWxEb2NDb250ZW50RHVtcEZvcm1hdE91dHB1dCI+PC9hPkZ1bmN0aW9uOiBodG1sRG9jQ29udGVudER1bXBGb3JtYXRPdXRwdXQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCWh0bWxEb2NDb250ZW50RHVtcEZvcm1hdE91dHB1dAkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxPdXRwdXRCdWZmZXJQdHIiPnhtbE91dHB1dEJ1ZmZlclB0cjwvYT4gYnVmLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBjdXIsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyIC8+CQkJCQkgaW50IGZvcm1hdCk8YnIgLz4KKzwvcHJlPjxwPkR1bXAgYW4gSFRNTCBkb2N1bWVudC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5idWY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBIVE1MIGJ1ZmZlciBvdXRwdXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbmNvZGluZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVuY29kaW5nIHN0cmluZzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Zm9ybWF0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5zaG91bGQgZm9ybWF0dGluZyBzcGFjZXMgYmVlbiBhZGRlZDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9Imh0bWxEb2NDb250ZW50RHVtcE91dHB1dCIgaWQ9Imh0bWxEb2NDb250ZW50RHVtcE91dHB1dCI+PC9hPkZ1bmN0aW9uOiBodG1sRG9jQ29udGVudER1bXBPdXRwdXQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCWh0bWxEb2NDb250ZW50RHVtcE91dHB1dAkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxPdXRwdXRCdWZmZXJQdHIiPnhtbE91dHB1dEJ1ZmZlclB0cjwvYT4gYnVmLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBjdXIsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZyk8YnIgLz4KKzwvcHJlPjxwPkR1bXAgYW4gSFRNTCBkb2N1bWVudC4gRm9ybWF0aW5nIHJldHVybi9zcGFjZXMgYXJlIGFkZGVkLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmJ1ZjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIEhUTUwgYnVmZmVyIG91dHB1dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVuY29kaW5nPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZW5jb2Rpbmcgc3RyaW5nPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0iaHRtbERvY0R1bXAiIGlkPSJodG1sRG9jRHVtcCI+PC9hPkZ1bmN0aW9uOiBodG1sRG9jRHVtcDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAlodG1sRG9jRHVtcAkJCShGSUxFICogZiwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gY3VyKTxiciAvPgorPC9wcmU+PHA+RHVtcCBhbiBIVE1MIGRvY3VtZW50IHRvIGFuIG9wZW4gRklMRS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgRklMRSo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGJ5dGUgd3JpdHRlbiBvciAtMSBpbiBjYXNlIG9mIGZhaWx1cmUuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0iaHRtbERvY0R1bXBNZW1vcnkiIGlkPSJodG1sRG9jRHVtcE1lbW9yeSI+PC9hPkZ1bmN0aW9uOiBodG1sRG9jRHVtcE1lbW9yeTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJaHRtbERvY0R1bXBNZW1vcnkJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBjdXIsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqKiBtZW0sIDxiciAvPgkJCQkJIGludCAqIHNpemUpPGJyIC8+Cis8L3ByZT48cD5EdW1wIGFuIEhUTUwgZG9jdW1lbnQgaW4gbWVtb3J5IGFuZCByZXR1cm4gdGhlIDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGFuZCBpdCdzIHNpemUuIEl0J3MgdXAgdG8gdGhlIGNhbGxlciB0byBmcmVlIHRoZSBtZW1vcnkuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm1lbTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+T1VUOiB0aGUgbWVtb3J5IHBvaW50ZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNpemU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPk9VVDogdGhlIG1lbW9yeSBsZW5ndGg8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJodG1sRG9jRHVtcE1lbW9yeUZvcm1hdCIgaWQ9Imh0bWxEb2NEdW1wTWVtb3J5Rm9ybWF0Ij48L2E+RnVuY3Rpb246IGh0bWxEb2NEdW1wTWVtb3J5Rm9ybWF0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAlodG1sRG9jRHVtcE1lbW9yeUZvcm1hdAkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGN1ciwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoqIG1lbSwgPGJyIC8+CQkJCQkgaW50ICogc2l6ZSwgPGJyIC8+CQkJCQkgaW50IGZvcm1hdCk8YnIgLz4KKzwvcHJlPjxwPkR1bXAgYW4gSFRNTCBkb2N1bWVudCBpbiBtZW1vcnkgYW5kIHJldHVybiB0aGUgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogYW5kIGl0J3Mgc2l6ZS4gSXQncyB1cCB0byB0aGUgY2FsbGVyIHRvIGZyZWUgdGhlIG1lbW9yeS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bWVtPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5PVVQ6IHRoZSBtZW1vcnkgcG9pbnRlcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2l6ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+T1VUOiB0aGUgbWVtb3J5IGxlbmd0aDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Zm9ybWF0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5zaG91bGQgZm9ybWF0dGluZyBzcGFjZXMgYmVlbiBhZGRlZDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9Imh0bWxHZXRNZXRhRW5jb2RpbmciIGlkPSJodG1sR2V0TWV0YUVuY29kaW5nIj48L2E+RnVuY3Rpb246IGh0bWxHZXRNZXRhRW5jb2Rpbmc8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5jb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKglodG1sR2V0TWV0YUVuY29kaW5nCSg8YSBocmVmPSJsaWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxEb2NQdHIiPmh0bWxEb2NQdHI8L2E+IGRvYyk8YnIgLz4KKzwvcHJlPjxwPkVuY29kaW5nIGRlZmluaXRpb24gbG9va3VwIGluIHRoZSBNZXRhIHRhZ3M8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGN1cnJlbnQgZW5jb2RpbmcgYXMgZmxhZ2dlZCBpbiB0aGUgSFRNTCBzb3VyY2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJodG1sSXNCb29sZWFuQXR0ciIgaWQ9Imh0bWxJc0Jvb2xlYW5BdHRyIj48L2E+RnVuY3Rpb246IGh0bWxJc0Jvb2xlYW5BdHRyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CWh0bWxJc0Jvb2xlYW5BdHRyCQkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSk8YnIgLz4KKzwvcHJlPjxwPkRldGVybWluZSBpZiBhIGdpdmVuIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gaXMgYSBib29sZWFuIGF0dHJpYnV0ZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZSBvZiB0aGUgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiB0byBjaGVjazwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+ZmFsc2UgaWYgdGhlIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gaXMgbm90IGJvb2xlYW4sIHRydWUgb3RoZXJ3aXNlLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9Imh0bWxOZXdEb2MiIGlkPSJodG1sTmV3RG9jIj48L2E+RnVuY3Rpb246IGh0bWxOZXdEb2M8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxEb2NQdHIiPmh0bWxEb2NQdHI8L2E+CWh0bWxOZXdEb2MJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBVUkksIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIEV4dGVybmFsSUQpPGJyIC8+Cis8L3ByZT48cD5DcmVhdGVzIGEgbmV3IEhUTUwgZG9jdW1lbnQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5VUkk8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVSSSBmb3IgdGhlIGR0ZCwgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+RXh0ZXJuYWxJRDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGV4dGVybmFsIElEIG9mIHRoZSBEVEQsIG9yIE5VTEw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbmV3IGRvY3VtZW50PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0iaHRtbE5ld0RvY05vRHREIiBpZD0iaHRtbE5ld0RvY05vRHREIj48L2E+RnVuY3Rpb246IGh0bWxOZXdEb2NOb0R0RDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbERvY1B0ciI+aHRtbERvY1B0cjwvYT4JaHRtbE5ld0RvY05vRHRECQkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogVVJJLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBFeHRlcm5hbElEKTxiciAvPgorPC9wcmU+PHA+Q3JlYXRlcyBhIG5ldyBIVE1MIGRvY3VtZW50IHdpdGhvdXQgYSBEVEQgbm9kZSBpZiBAVVJJIGFuZCBARXh0ZXJuYWxJRCBhcmUgTlVMTDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlVSSTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VVJJIGZvciB0aGUgZHRkLCBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5FeHRlcm5hbElEPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZXh0ZXJuYWwgSUQgb2YgdGhlIERURCwgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBuZXcgZG9jdW1lbnQsIGRvIG5vdCBpbml0aWFsaXplIHRoZSBEVEQgaWYgbm90IHByb3ZpZGVkPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0iaHRtbE5vZGVEdW1wIiBpZD0iaHRtbE5vZGVEdW1wIj48L2E+RnVuY3Rpb246IGh0bWxOb2RlRHVtcDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAlodG1sTm9kZUR1bXAJCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJQdHIiPnhtbEJ1ZmZlclB0cjwvYT4gYnVmLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gY3VyKTxiciAvPgorPC9wcmU+PHA+RHVtcCBhbiBIVE1MIG5vZGUsIHJlY3Vyc2l2ZSBiZWhhdmlvdXIsY2hpbGRyZW4gYXJlIHByaW50ZWQgdG9vLCBhbmQgZm9ybWF0dGluZyByZXR1cm5zIGFyZSBhZGRlZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5idWY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBIVE1MIGJ1ZmZlciBvdXRwdXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjdXJyZW50IG5vZGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgYnl0ZSB3cml0dGVuIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJodG1sTm9kZUR1bXBGaWxlIiBpZD0iaHRtbE5vZGVEdW1wRmlsZSI+PC9hPkZ1bmN0aW9uOiBodG1sTm9kZUR1bXBGaWxlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAlodG1sTm9kZUR1bXBGaWxlCQkoRklMRSAqIG91dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGN1cik8YnIgLz4KKzwvcHJlPjxwPkR1bXAgYW4gSFRNTCBub2RlLCByZWN1cnNpdmUgYmVoYXZpb3VyLGNoaWxkcmVuIGFyZSBwcmludGVkIHRvbywgYW5kIGZvcm1hdHRpbmcgcmV0dXJucyBhcmUgYWRkZWQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3V0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgRklMRSBwb2ludGVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY3VycmVudCBub2RlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0iaHRtbE5vZGVEdW1wRmlsZUZvcm1hdCIgaWQ9Imh0bWxOb2RlRHVtcEZpbGVGb3JtYXQiPjwvYT5GdW5jdGlvbjogaHRtbE5vZGVEdW1wRmlsZUZvcm1hdDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAlodG1sTm9kZUR1bXBGaWxlRm9ybWF0CQkoRklMRSAqIG91dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGN1ciwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nLCA8YnIgLz4JCQkJCSBpbnQgZm9ybWF0KTxiciAvPgorPC9wcmU+PHA+RHVtcCBhbiBIVE1MIG5vZGUsIHJlY3Vyc2l2ZSBiZWhhdmlvdXIsY2hpbGRyZW4gYXJlIHByaW50ZWQgdG9vLiBUT0RPOiBpZiBlbmNvZGluZyA9PSBOVUxMIHRyeSB0byBzYXZlIGluIHRoZSBkb2MgZW5jb2Rpbmc8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vdXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBGSUxFIHBvaW50ZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjdXJyZW50IG5vZGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVuY29kaW5nPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQgZW5jb2Rpbmc8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZvcm1hdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+c2hvdWxkIGZvcm1hdHRpbmcgc3BhY2VzIGJlZW4gYWRkZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgYnl0ZSB3cml0dGVuIG9yIC0xIGluIGNhc2Ugb2YgZmFpbHVyZS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJodG1sTm9kZUR1bXBGb3JtYXRPdXRwdXQiIGlkPSJodG1sTm9kZUR1bXBGb3JtYXRPdXRwdXQiPjwvYT5GdW5jdGlvbjogaHRtbE5vZGVEdW1wRm9ybWF0T3V0cHV0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAlodG1sTm9kZUR1bXBGb3JtYXRPdXRwdXQJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sT3V0cHV0QnVmZmVyUHRyIj54bWxPdXRwdXRCdWZmZXJQdHI8L2E+IGJ1ZiwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGN1ciwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nLCA8YnIgLz4JCQkJCSBpbnQgZm9ybWF0KTxiciAvPgorPC9wcmU+PHA+RHVtcCBhbiBIVE1MIG5vZGUsIHJlY3Vyc2l2ZSBiZWhhdmlvdXIsY2hpbGRyZW4gYXJlIHByaW50ZWQgdG9vLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmJ1ZjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIEhUTUwgYnVmZmVyIG91dHB1dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGN1cnJlbnQgbm9kZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jb2Rpbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbmNvZGluZyBzdHJpbmc8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZvcm1hdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+c2hvdWxkIGZvcm1hdHRpbmcgc3BhY2VzIGJlZW4gYWRkZWQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJodG1sTm9kZUR1bXBPdXRwdXQiIGlkPSJodG1sTm9kZUR1bXBPdXRwdXQiPjwvYT5GdW5jdGlvbjogaHRtbE5vZGVEdW1wT3V0cHV0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAlodG1sTm9kZUR1bXBPdXRwdXQJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE91dHB1dEJ1ZmZlclB0ciI+eG1sT3V0cHV0QnVmZmVyUHRyPC9hPiBidWYsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZyk8YnIgLz4KKzwvcHJlPjxwPkR1bXAgYW4gSFRNTCBub2RlLCByZWN1cnNpdmUgYmVoYXZpb3VyLGNoaWxkcmVuIGFyZSBwcmludGVkIHRvbywgYW5kIGZvcm1hdHRpbmcgcmV0dXJucy9zcGFjZXMgYXJlIGFkZGVkLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmJ1ZjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIEhUTUwgYnVmZmVyIG91dHB1dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGN1cnJlbnQgbm9kZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jb2Rpbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbmNvZGluZyBzdHJpbmc8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJodG1sU2F2ZUZpbGUiIGlkPSJodG1sU2F2ZUZpbGUiPjwvYT5GdW5jdGlvbjogaHRtbFNhdmVGaWxlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CWh0bWxTYXZlRmlsZQkJCShjb25zdCBjaGFyICogZmlsZW5hbWUsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGN1cik8YnIgLz4KKzwvcHJlPjxwPkR1bXAgYW4gSFRNTCBkb2N1bWVudCB0byBhIGZpbGUuIElmIEBmaWxlbmFtZSBpcyAiLSIgdGhlIHN0ZG91dCBmaWxlIGlzIHVzZWQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmlsZW5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmaWxlbmFtZSAob3IgVVJMKTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgYnl0ZSB3cml0dGVuIG9yIC0xIGluIGNhc2Ugb2YgZmFpbHVyZS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJodG1sU2F2ZUZpbGVFbmMiIGlkPSJodG1sU2F2ZUZpbGVFbmMiPjwvYT5GdW5jdGlvbjogaHRtbFNhdmVGaWxlRW5jPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CWh0bWxTYXZlRmlsZUVuYwkJCShjb25zdCBjaGFyICogZmlsZW5hbWUsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGN1ciwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nKTxiciAvPgorPC9wcmU+PHA+RHVtcCBhbiBIVE1MIGRvY3VtZW50IHRvIGEgZmlsZSB1c2luZyBhIGdpdmVuIGVuY29kaW5nIGFuZCBmb3JtYXR0aW5nIHJldHVybnMvc3BhY2VzIGFyZSBhZGRlZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlbmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZpbGVuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jb2Rpbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudCBlbmNvZGluZzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBieXRlIHdyaXR0ZW4gb3IgLTEgaW4gY2FzZSBvZiBmYWlsdXJlLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9Imh0bWxTYXZlRmlsZUZvcm1hdCIgaWQ9Imh0bWxTYXZlRmlsZUZvcm1hdCI+PC9hPkZ1bmN0aW9uOiBodG1sU2F2ZUZpbGVGb3JtYXQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJaHRtbFNhdmVGaWxlRm9ybWF0CQkoY29uc3QgY2hhciAqIGZpbGVuYW1lLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBjdXIsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyIC8+CQkJCQkgaW50IGZvcm1hdCk8YnIgLz4KKzwvcHJlPjxwPkR1bXAgYW4gSFRNTCBkb2N1bWVudCB0byBhIGZpbGUgdXNpbmcgYSBnaXZlbiBlbmNvZGluZy48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlbmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZpbGVuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jb2Rpbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudCBlbmNvZGluZzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Zm9ybWF0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5zaG91bGQgZm9ybWF0dGluZyBzcGFjZXMgYmVlbiBhZGRlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBieXRlIHdyaXR0ZW4gb3IgLTEgaW4gY2FzZSBvZiBmYWlsdXJlLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9Imh0bWxTZXRNZXRhRW5jb2RpbmciIGlkPSJodG1sU2V0TWV0YUVuY29kaW5nIj48L2E+RnVuY3Rpb246IGh0bWxTZXRNZXRhRW5jb2Rpbmc8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJaHRtbFNldE1ldGFFbmNvZGluZwkJKDxhIGhyZWY9ImxpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbERvY1B0ciI+aHRtbERvY1B0cjwvYT4gZG9jLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBlbmNvZGluZyk8YnIgLz4KKzwvcHJlPjxwPlNldHMgdGhlIGN1cnJlbnQgZW5jb2RpbmcgaW4gdGhlIE1ldGEgdGFncyBOT1RFOiB0aGlzIHdpbGwgbm90IGNoYW5nZSB0aGUgZG9jdW1lbnQgY29udGVudCBlbmNvZGluZywganVzdCB0aGUgTUVUQSBmbGFnIGFzc29jaWF0ZWQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVuY29kaW5nPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZW5jb2Rpbmcgc3RyaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGluIGNhc2Ugb2Ygc3VjY2VzcyBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PHA+PGEgaHJlZj0iLi4vYnVncy5odG1sIj5EYW5pZWwgVmVpbGxhcmQ8L2E+PC9wPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9odG1sL2xpYnhtbC1TQVguaHRtbCBiL2xpYnhtbDIvZG9jL2h0bWwvbGlieG1sLVNBWC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY3N2E5ZGYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9odG1sL2xpYnhtbC1TQVguaHRtbApAQCAtMCwwICsxLDEyNSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIj4KKzxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj48aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz48bGluayByZWw9IlNIT1JUQ1VUIElDT04iIGhyZWY9Ii9mYXZpY29uLmljbyIgLz48c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorVEQge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0JPRFkge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYTsgbWFyZ2luLXRvcDogMmVtOyBtYXJnaW4tbGVmdDogMGVtOyBtYXJnaW4tcmlnaHQ6IDBlbX0KK0gxIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMiB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDMge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0E6bGluaywgQTp2aXNpdGVkLCBBOmFjdGl2ZSB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIH0KKzwvc3R5bGU+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKyAgICAgIGRpdi5kZXByZWNhdGVkIHByZS5wcm9ncmFtbGlzdGluZyB7Ym9yZGVyLXN0eWxlOiBkb3VibGU7Ym9yZGVyLWNvbG9yOnJlZH0KKyAgICAgIHByZS5wcm9ncmFtbGlzdGluZyB7Ym9yZGVyLXN0eWxlOiBkb3VibGU7YmFja2dyb3VuZDogI0VFQ0ZBMX0KKyAgICA8L3N0eWxlPjx0aXRsZT5Nb2R1bGUgU0FYIGZyb20gbGlieG1sMjwvdGl0bGU+PC9oZWFkPjxib2R5IGJnY29sb3I9IiM4Yjc3NjUiIHRleHQ9IiMwMDAwMDAiIGxpbms9IiNhMDYwNjAiIHZsaW5rPSIjMDAwMDAwIj48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iMTAwJSIgY2VsbHBhZGRpbmc9IjUiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIHdpZHRoPSIxMjAiPjxhIGhyZWY9Imh0dHA6Ly9zd3BhdC5mZmlpLm9yZy8iPjxpbWcgc3JjPSIuLi9lcGF0ZW50cy5wbmciIGFsdD0iQWN0aW9uIGFnYWluc3Qgc29mdHdhcmUgcGF0ZW50cyIgLz48L2E+PC90ZD48dGQgd2lkdGg9IjE4MCI+PGEgaHJlZj0iaHR0cDovL3d3dy5nbm9tZS5vcmcvIj48aW1nIHNyYz0iLi4vZ25vbWUyLnBuZyIgYWx0PSJHbm9tZTIgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvU3RhdHVzIj48aW1nIHNyYz0iLi4vdzNjLnBuZyIgYWx0PSJXM0MgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy5yZWRoYXQuY29tLyI+PGltZyBzcmM9Ii4uL3JlZGhhdC5naWYiIGFsdD0iUmVkIEhhdCBMb2dvIiAvPjwvYT48ZGl2IGFsaWduPSJsZWZ0Ij48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvIj48aW1nIHNyYz0iLi4vTGlieG1sMi1Mb2dvLTE4MHgxNjguZ2lmIiBhbHQ9Ik1hZGUgd2l0aCBMaWJ4bWwyIExvZ28iIC8+PC9hPjwvZGl2PjwvdGQ+PHRkPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSI5MCUiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIiBiZ2NvbG9yPSIjZmZmYWNkIj48dHI+PHRkIGFsaWduPSJjZW50ZXIiPjxoMT48L2gxPjxoMj5Nb2R1bGUgU0FYIGZyb20gbGlieG1sMjwvaDI+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjQiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiIHdpZHRoPSIxMDAlIj48dHI+PHRkIHZhbGlnbj0idG9wIiB3aWR0aD0iMjAwIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5BUEkgTWVudTwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48Zm9ybSBhY3Rpb249Ii4uL3NlYXJjaC5waHAiIGVuY3R5cGU9ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIgbWV0aG9kPSJnZXQiPjxpbnB1dCBuYW1lPSJxdWVyeSIgdHlwZT0idGV4dCIgc2l6ZT0iMjAiIHZhbHVlPSIiIC8+PGlucHV0IG5hbWU9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU2VhcmNoIC4uLiIgLz48L2Zvcm0+PHVsPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iLi4vaW5kZXguaHRtbCI+TWFpbiBNZW51PC9hPjwvbGk+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSIuLi9kb2NzLmh0bWwiPkRldmVsb3BlciBNZW51PC9hPjwvbGk+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSIuLi9leGFtcGxlcy9pbmRleC5odG1sIj5Db2RlIEV4YW1wbGVzPC9hPjwvbGk+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSJpbmRleC5odG1sIj5BUEkgTWVudTwvYT48L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwiPlBhcnNlciBBUEk8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCI+VHJlZSBBUEk8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sIj5SZWFkZXIgQVBJPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL2d1aWRlbGluZXMuaHRtbCI+WE1MIEd1aWRlbGluZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQ2hhbmdlTG9nLmh0bWwiPkNoYW5nZUxvZzwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPkFQSSBJbmRleGVzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iLi4vQVBJY2h1bmswLmh0bWwiPkFscGhhYmV0aWM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJY29uc3RydWN0b3JzLmh0bWwiPkNvbnN0cnVjdG9yczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUElmdW5jdGlvbnMuaHRtbCI+RnVuY3Rpb25zL1R5cGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSWZpbGVzLmh0bWwiPk1vZHVsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJc3ltYm9scy5odG1sIj5TeW1ib2xzPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+UmVsYXRlZCBsaW5rczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9Imh0dHA6Ly9tYWlsLmdub21lLm9yZy9hcmNoaXZlcy94bWwvIj5NYWlsIGFyY2hpdmU8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnL1hTTFQvIj5YU0xUIGxpYnhzbHQ8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3BoZC5jcy51bmliby5pdC9nZG9tZTIvIj5ET00gZ2RvbWUyPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuYWxla3NleS5jb20veG1sc2VjLyI+WE1MLURTaWcgeG1sc2VjPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImZ0cDovL3htbHNvZnQub3JnLyI+RlRQPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemxhdGtvdmljLmNvbS9wcm9qZWN0cy9saWJ4bWwvIj5XaW5kb3dzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9vcGVuY3N3Lm9yZy9wYWNrYWdlcy9saWJ4bWwyIj5Tb2xhcmlzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuZXhwbGFpbi5jb20uYXUvb3NzL2xpYnhtbDJ4c2x0Lmh0bWwiPk1hY09zWCBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbHhtbC5kZS8iPmx4bWwgUHl0aG9uIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9jcGFuLnV3aW5uaXBlZy5jYS9kaXN0L1hNTC1MaWJYTUwiPlBlcmwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbHBsdXNwbHVzLnNvdXJjZWZvcmdlLm5ldC8iPkMrKyBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnplbmQuY29tL3BocDUvYXJ0aWNsZXMvcGhwNS14bWxwaHAucGhwI0hlYWRpbmc0Ij5QSFAgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9saWJ4bWwyLXBhcy8iPlBhc2NhbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1sLnJ1Ynlmb3JnZS5vcmcvIj5SdWJ5IGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly90Y2x4bWwuc291cmNlZm9yZ2UubmV0LyI+VGNsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvYnVnbGlzdC5jZ2k/cHJvZHVjdD1saWJ4bWwyIj5CdWcgVHJhY2tlcjwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMyIgY2VsbHNwYWNpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx0YWJsZSBjbGFzcz0ibmF2aWdhdGlvbiIgd2lkdGg9IjEwMCUiIHN1bW1hcnk9Ik5hdmlnYXRpb24gaGVhZGVyIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjIiPjx0ciB2YWxpZ249Im1pZGRsZSI+PHRkPjxhIGFjY2Vzc2tleT0icCIgaHJlZj0ibGlieG1sLUhUTUx0cmVlLmh0bWwiPjxpbWcgc3JjPSJsZWZ0LnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iUHJldiIgLz48L2E+PC90ZD48dGggYWxpZ249ImxlZnQiPjxhIGhyZWY9ImxpYnhtbC1IVE1MdHJlZS5odG1sIj5IVE1MdHJlZTwvYT48L3RoPjx0ZD48YSBhY2Nlc3NrZXk9InUiIGhyZWY9ImluZGV4Lmh0bWwiPjxpbWcgc3JjPSJ1cC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlVwIiAvPjwvYT48L3RkPjx0aCBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iaW5kZXguaHRtbCI+QVBJIGRvY3VtZW50YXRpb248L2E+PC90aD48dGQ+PGEgYWNjZXNza2V5PSJoIiBocmVmPSIuLi9pbmRleC5odG1sIj48aW1nIHNyYz0iaG9tZS5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IkhvbWUiIC8+PC9hPjwvdGQ+PHRoIGFsaWduPSJjZW50ZXIiPjxhIGhyZWY9Ii4uL2luZGV4Lmh0bWwiPlRoZSBYTUwgQyBwYXJzZXIgYW5kIHRvb2xraXQgb2YgR25vbWU8L2E+PC90aD48dGggYWxpZ249InJpZ2h0Ij48YSBocmVmPSJsaWJ4bWwtU0FYMi5odG1sIj5TQVgyPC9hPjwvdGg+PHRkPjxhIGFjY2Vzc2tleT0ibiIgaHJlZj0ibGlieG1sLVNBWDIuaHRtbCI+PGltZyBzcmM9InJpZ2h0LnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iTmV4dCIgLz48L2E+PC90ZD48L3RyPjwvdGFibGU+PGgyIHN0eWxlPSJmb250LXdlaWdodDpib2xkO2NvbG9yOnJlZDt0ZXh0LWFsaWduOmNlbnRlciI+VGhpcyBtb2R1bGUgaXMgZGVwcmVjYXRlZDwvaDI+PHA+REVQUkVDQVRFRCBzZXQgb2YgU0FYIHZlcnNpb24gMSBpbnRlcmZhY2VzIHVzZWQgdG8gYnVpbGQgdGhlIERPTSB0cmVlLiA8L3A+PGRpdiBjbGFzcz0iZGVwcmVjYXRlZCI+PGgyPlRhYmxlIG9mIENvbnRlbnRzPC9oMj48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjY29tbWVudCI+Y29tbWVudDwvYT4JCQkodm9pZCAqIGN0eCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiNjaGVja05hbWVzcGFjZSI+Y2hlY2tOYW1lc3BhY2U8L2E+CQkJKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWVzcGFjZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI2dldENvbHVtbk51bWJlciI+Z2V0Q29sdW1uTnVtYmVyPC9hPgkJCSh2b2lkICogY3R4KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI2VudGl0eURlY2wiPmVudGl0eURlY2w8L2E+CQkJKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJIGludCB0eXBlLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwdWJsaWNJZCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3lzdGVtSWQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGNvbnRlbnQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+CQkJKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGZ1bGxuYW1lLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB2YWx1ZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5zUHRyIj54bWxOc1B0cjwvYT4JPGEgaHJlZj0iI2dldE5hbWVzcGFjZSI+Z2V0TmFtZXNwYWNlPC9hPgkJKHZvaWQgKiBjdHgpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjc2V0RG9jdW1lbnRMb2NhdG9yIj5zZXREb2N1bWVudExvY2F0b3I8L2E+CQkodm9pZCAqIGN0eCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxTQVhMb2NhdG9yUHRyIj54bWxTQVhMb2NhdG9yUHRyPC9hPiBsb2MpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjaW5pdHhtbERlZmF1bHRTQVhIYW5kbGVyIj5pbml0eG1sRGVmYXVsdFNBWEhhbmRsZXI8L2E+CSg8YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYSGFuZGxlclYxIj54bWxTQVhIYW5kbGVyVjE8L2E+ICogaGRsciwgPGJyIC8+CQkJCQkgaW50IHdhcm5pbmcpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjaWdub3JhYmxlV2hpdGVzcGFjZSI+aWdub3JhYmxlV2hpdGVzcGFjZTwvYT4JCSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjaCwgPGJyIC8+CQkJCQkgaW50IGxlbik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI2hhc0V4dGVybmFsU3Vic2V0Ij5oYXNFeHRlcm5hbFN1YnNldDwvYT4JCSh2b2lkICogY3R4KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3VucGFyc2VkRW50aXR5RGVjbCI+dW5wYXJzZWRFbnRpdHlEZWNsPC9hPgkJKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHB1YmxpY0lkLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzeXN0ZW1JZCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbm90YXRpb25OYW1lKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI2dsb2JhbE5hbWVzcGFjZSI+Z2xvYmFsTmFtZXNwYWNlPC9hPgkJCSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBocmVmLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwcmVmaXgpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiNoYXNJbnRlcm5hbFN1YnNldCI+aGFzSW50ZXJuYWxTdWJzZXQ8L2E+CQkodm9pZCAqIGN0eCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiNyZWZlcmVuY2UiPnJlZmVyZW5jZTwvYT4JCQkodm9pZCAqIGN0eCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiNub3RhdGlvbkRlY2wiPm5vdGF0aW9uRGVjbDwvYT4JCQkodm9pZCAqIGN0eCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHVibGljSWQsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN5c3RlbUlkKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiNnZXRTeXN0ZW1JZCI+Z2V0U3lzdGVtSWQ8L2E+CQkodm9pZCAqIGN0eCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiNleHRlcm5hbFN1YnNldCI+ZXh0ZXJuYWxTdWJzZXQ8L2E+CQkJKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIEV4dGVybmFsSUQsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIFN5c3RlbUlEKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRQdHIiPnhtbFBhcnNlcklucHV0UHRyPC9hPgk8YSBocmVmPSIjcmVzb2x2ZUVudGl0eSI+cmVzb2x2ZUVudGl0eTwvYT4JKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHB1YmxpY0lkLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzeXN0ZW1JZCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiNzdGFydERvY3VtZW50Ij5zdGFydERvY3VtZW50PC9hPgkJCSh2b2lkICogY3R4KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3NldE5hbWVzcGFjZSI+c2V0TmFtZXNwYWNlPC9hPgkJCSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI2NkYXRhQmxvY2siPmNkYXRhQmxvY2s8L2E+CQkJKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHZhbHVlLCA8YnIgLz4JCQkJCSBpbnQgbGVuKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiNnZXRQdWJsaWNJZCI+Z2V0UHVibGljSWQ8L2E+CQkodm9pZCAqIGN0eCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiNpbml0aHRtbERlZmF1bHRTQVhIYW5kbGVyIj5pbml0aHRtbERlZmF1bHRTQVhIYW5kbGVyPC9hPgkoPGEgaHJlZj0ibGlieG1sLXBhcnNlci5odG1sI3htbFNBWEhhbmRsZXJWMSI+eG1sU0FYSGFuZGxlclYxPC9hPiAqIGhkbHIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjcHJvY2Vzc2luZ0luc3RydWN0aW9uIj5wcm9jZXNzaW5nSW5zdHJ1Y3Rpb248L2E+CQkodm9pZCAqIGN0eCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdGFyZ2V0LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBkYXRhKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI2VuZEVsZW1lbnQiPmVuZEVsZW1lbnQ8L2E+CQkJKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjbmFtZXNwYWNlRGVjbCI+bmFtZXNwYWNlRGVjbDwvYT4JCQkodm9pZCAqIGN0eCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogaHJlZiwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHJlZml4KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI2luaXRkb2NiRGVmYXVsdFNBWEhhbmRsZXIiPmluaXRkb2NiRGVmYXVsdFNBWEhhbmRsZXI8L2E+CSg8YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYSGFuZGxlclYxIj54bWxTQVhIYW5kbGVyVjE8L2E+ICogaGRscik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVudGl0eVB0ciI+eG1sRW50aXR5UHRyPC9hPgk8YSBocmVmPSIjZ2V0RW50aXR5Ij5nZXRFbnRpdHk8L2E+CQkodm9pZCAqIGN0eCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiNjaGFyYWN0ZXJzIj5jaGFyYWN0ZXJzPC9hPgkJCSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjaCwgPGJyIC8+CQkJCQkgaW50IGxlbik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiNlbGVtZW50RGVjbCI+ZWxlbWVudERlY2w8L2E+CQkJKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJIGludCB0eXBlLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVsZW1lbnRDb250ZW50UHRyIj54bWxFbGVtZW50Q29udGVudFB0cjwvYT4gY29udGVudCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiNzdGFydEVsZW1lbnQiPnN0YXJ0RWxlbWVudDwvYT4JCQkodm9pZCAqIGN0eCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogZnVsbG5hbWUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqKiBhdHRzKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRW50aXR5UHRyIj54bWxFbnRpdHlQdHI8L2E+CTxhIGhyZWY9IiNnZXRQYXJhbWV0ZXJFbnRpdHkiPmdldFBhcmFtZXRlckVudGl0eTwvYT4JKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjYXR0cmlidXRlRGVjbCI+YXR0cmlidXRlRGVjbDwvYT4JCQkodm9pZCAqIGN0eCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogZWxlbSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogZnVsbG5hbWUsIDxiciAvPgkJCQkJIGludCB0eXBlLCA8YnIgLz4JCQkJCSBpbnQgZGVmLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBkZWZhdWx0VmFsdWUsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRW51bWVyYXRpb25QdHIiPnhtbEVudW1lcmF0aW9uUHRyPC9hPiB0cmVlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjaXNTdGFuZGFsb25lIj5pc1N0YW5kYWxvbmU8L2E+CQkJKHZvaWQgKiBjdHgpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjaW50ZXJuYWxTdWJzZXQiPmludGVybmFsU3Vic2V0PC9hPgkJCSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBFeHRlcm5hbElELCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBTeXN0ZW1JRCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiNlbmREb2N1bWVudCI+ZW5kRG9jdW1lbnQ8L2E+CQkJKHZvaWQgKiBjdHgpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiNnZXRMaW5lTnVtYmVyIj5nZXRMaW5lTnVtYmVyPC9hPgkJCSh2b2lkICogY3R4KTwvcHJlPgorPGgyPkRlc2NyaXB0aW9uPC9oMj4KKzxoMz48YSBuYW1lPSJjb21tZW50IiBpZD0iY29tbWVudCI+PC9hPkZ1bmN0aW9uOiBjb21tZW50PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAljb21tZW50CQkJKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHZhbHVlKTxiciAvPgorPC9wcmU+PHA+QSA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjY29tbWVudCI+Y29tbWVudDwvYT4gaGFzIGJlZW4gcGFyc2VkLiBERVBSRUNBVEVEOiB1c2UgeG1sU0FYMkNvbW1lbnQoKTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsdWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjY29tbWVudCI+Y29tbWVudDwvYT4gY29udGVudDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9ImNoZWNrTmFtZXNwYWNlIiBpZD0iY2hlY2tOYW1lc3BhY2UiPjwvYT5GdW5jdGlvbjogY2hlY2tOYW1lc3BhY2U8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJY2hlY2tOYW1lc3BhY2UJCQkodm9pZCAqIGN0eCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZXNwYWNlKTxiciAvPgorPC9wcmU+PHA+Q2hlY2sgdGhhdCB0aGUgY3VycmVudCBlbGVtZW50IG5hbWVzcGFjZSBpcyB0aGUgc2FtZSBhcyB0aGUgb25lIHJlYWQgdXBvbiBwYXJzaW5nLiBERVBSRUNBVEVEPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lc3BhY2U8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lc3BhY2UgdG8gY2hlY2sgYWdhaW5zdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0iZ2V0Q29sdW1uTnVtYmVyIiBpZD0iZ2V0Q29sdW1uTnVtYmVyIj48L2E+RnVuY3Rpb246IGdldENvbHVtbk51bWJlcjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAlnZXRDb2x1bW5OdW1iZXIJCQkodm9pZCAqIGN0eCk8YnIgLz4KKzwvcHJlPjxwPlByb3ZpZGUgdGhlIGNvbHVtbiBudW1iZXIgb2YgdGhlIGN1cnJlbnQgcGFyc2luZyBwb2ludC4gREVQUkVDQVRFRDogdXNlIHhtbFNBWDJHZXRDb2x1bW5OdW1iZXIoKTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gaW50PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0iZW50aXR5RGVjbCIgaWQ9ImVudGl0eURlY2wiPjwvYT5GdW5jdGlvbjogZW50aXR5RGVjbDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJZW50aXR5RGVjbAkJCSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSBpbnQgdHlwZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHVibGljSWQsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN5c3RlbUlkLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjb250ZW50KTxiciAvPgorPC9wcmU+PHA+QW4gZW50aXR5IGRlZmluaXRpb24gaGFzIGJlZW4gcGFyc2VkIERFUFJFQ0FURUQ6IHVzZSB4bWxTQVgyRW50aXR5RGVjbCgpPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZW50aXR5IG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnR5cGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbnRpdHkgdHlwZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cHVibGljSWQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlRoZSBwdWJsaWMgSUQgb2YgdGhlIGVudGl0eTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3lzdGVtSWQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlRoZSBzeXN0ZW0gSUQgb2YgdGhlIGVudGl0eTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29udGVudDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVudGl0eSB2YWx1ZSAod2l0aG91dCBwcm9jZXNzaW5nKS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJhdHRyaWJ1dGUiIGlkPSJhdHRyaWJ1dGUiPjwvYT5GdW5jdGlvbjogYXR0cmlidXRlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAlhdHRyaWJ1dGUJCQkodm9pZCAqIGN0eCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogZnVsbG5hbWUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHZhbHVlKTxiciAvPgorPC9wcmU+PHA+SGFuZGxlIGFuIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gdGhhdCBoYXMgYmVlbiByZWFkIGJ5IHRoZSBwYXJzZXIuIFRoZSBkZWZhdWx0IGhhbmRsaW5nIGlzIHRvIGNvbnZlcnQgdGhlIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gaW50byBhbiBET00gc3VidHJlZSBhbmQgcGFzdCBpdCBpbiBhIG5ldyA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEF0dHIiPnhtbEF0dHI8L2E+IGVsZW1lbnQgYWRkZWQgdG8gdGhlIGVsZW1lbnQuIERFUFJFQ0FURUQ6IHVzZSB4bWxTQVgyQXR0cmlidXRlKCk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZ1bGxuYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5UaGUgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBuYW1lLCBpbmNsdWRpbmcgbmFtZXNwYWNlIHByZWZpeDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsdWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlRoZSA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IHZhbHVlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0iZ2V0TmFtZXNwYWNlIiBpZD0iZ2V0TmFtZXNwYWNlIj48L2E+RnVuY3Rpb246IGdldE5hbWVzcGFjZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTnNQdHIiPnhtbE5zUHRyPC9hPglnZXROYW1lc3BhY2UJCSh2b2lkICogY3R4KTxiciAvPgorPC9wcmU+PHA+R2V0IHRoZSBjdXJyZW50IGVsZW1lbnQgbmFtZXNwYWNlLiBERVBSRUNBVEVEPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOc1B0ciI+eG1sTnNQdHI8L2E+IG9yIE5VTEwgaWYgbm9uZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InNldERvY3VtZW50TG9jYXRvciIgaWQ9InNldERvY3VtZW50TG9jYXRvciI+PC9hPkZ1bmN0aW9uOiBzZXREb2N1bWVudExvY2F0b3I8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXNldERvY3VtZW50TG9jYXRvcgkJKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sU0FYTG9jYXRvclB0ciI+eG1sU0FYTG9jYXRvclB0cjwvYT4gbG9jKTxiciAvPgorPC9wcmU+PHA+UmVjZWl2ZSB0aGUgZG9jdW1lbnQgbG9jYXRvciBhdCBzdGFydHVwLCBhY3R1YWxseSA8YSBocmVmPSJsaWJ4bWwtZ2xvYmFscy5odG1sI3htbERlZmF1bHRTQVhMb2NhdG9yIj54bWxEZWZhdWx0U0FYTG9jYXRvcjwvYT4gRXZlcnl0aGluZyBpcyBhdmFpbGFibGUgb24gdGhlIGNvbnRleHQsIHNvIHRoaXMgaXMgdXNlbGVzcyBpbiBvdXIgY2FzZS4gREVQUkVDQVRFRDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5BIFNBWCBMb2NhdG9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0iaW5pdHhtbERlZmF1bHRTQVhIYW5kbGVyIiBpZD0iaW5pdHhtbERlZmF1bHRTQVhIYW5kbGVyIj48L2E+RnVuY3Rpb246IGluaXR4bWxEZWZhdWx0U0FYSGFuZGxlcjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJaW5pdHhtbERlZmF1bHRTQVhIYW5kbGVyCSg8YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYSGFuZGxlclYxIj54bWxTQVhIYW5kbGVyVjE8L2E+ICogaGRsciwgPGJyIC8+CQkJCQkgaW50IHdhcm5pbmcpPGJyIC8+Cis8L3ByZT48cD5Jbml0aWFsaXplIHRoZSBkZWZhdWx0IFhNTCBTQVggdmVyc2lvbiAxIGhhbmRsZXIgREVQUkVDQVRFRDogdXNlIHhtbFNBWDJJbml0RGVmYXVsdFNBWEhhbmRsZXIoKSBmb3IgdGhlIG5ldyBTQVgyIGJsb2NrczwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmhkbHI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBTQVggaGFuZGxlcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d2FybmluZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+ZmxhZyBpZiBub24temVybyBzZXRzIHRoZSBoYW5kbGVyIHdhcm5pbmcgcHJvY2VkdXJlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0iaWdub3JhYmxlV2hpdGVzcGFjZSIgaWQ9Imlnbm9yYWJsZVdoaXRlc3BhY2UiPjwvYT5GdW5jdGlvbjogaWdub3JhYmxlV2hpdGVzcGFjZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJaWdub3JhYmxlV2hpdGVzcGFjZQkJKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGNoLCA8YnIgLz4JCQkJCSBpbnQgbGVuKTxiciAvPgorPC9wcmU+PHA+cmVjZWl2aW5nIHNvbWUgaWdub3JhYmxlIHdoaXRlc3BhY2VzIGZyb20gdGhlIHBhcnNlci4gVU5VU0VEOiBieSBkZWZhdWx0IHRoZSBET00gYnVpbGRpbmcgd2lsbCB1c2UgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2NoYXJhY3RlcnMiPmNoYXJhY3RlcnM8L2E+IERFUFJFQ0FURUQ6IHVzZSB4bWxTQVgySWdub3JhYmxlV2hpdGVzcGFjZSgpPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jaDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gc3RyaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0iaGFzRXh0ZXJuYWxTdWJzZXQiIGlkPSJoYXNFeHRlcm5hbFN1YnNldCI+PC9hPkZ1bmN0aW9uOiBoYXNFeHRlcm5hbFN1YnNldDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAloYXNFeHRlcm5hbFN1YnNldAkJKHZvaWQgKiBjdHgpPGJyIC8+Cis8L3ByZT48cD5Eb2VzIHRoaXMgZG9jdW1lbnQgaGFzIGFuIGV4dGVybmFsIHN1YnNldCBERVBSRUNBVEVEOiB1c2UgeG1sU0FYMkhhc0V4dGVybmFsU3Vic2V0KCk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InVucGFyc2VkRW50aXR5RGVjbCIgaWQ9InVucGFyc2VkRW50aXR5RGVjbCI+PC9hPkZ1bmN0aW9uOiB1bnBhcnNlZEVudGl0eURlY2w8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXVucGFyc2VkRW50aXR5RGVjbAkJKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHB1YmxpY0lkLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzeXN0ZW1JZCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbm90YXRpb25OYW1lKTxiciAvPgorPC9wcmU+PHA+V2hhdCB0byBkbyB3aGVuIGFuIHVucGFyc2VkIGVudGl0eSBkZWNsYXJhdGlvbiBpcyBwYXJzZWQgREVQUkVDQVRFRDogdXNlIHhtbFNBWDJVbnBhcnNlZEVudGl0eURlY2woKTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VGhlIG5hbWUgb2YgdGhlIGVudGl0eTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cHVibGljSWQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlRoZSBwdWJsaWMgSUQgb2YgdGhlIGVudGl0eTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3lzdGVtSWQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlRoZSBzeXN0ZW0gSUQgb2YgdGhlIGVudGl0eTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm90YXRpb25OYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZSBvZiB0aGUgbm90YXRpb248L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJnbG9iYWxOYW1lc3BhY2UiIGlkPSJnbG9iYWxOYW1lc3BhY2UiPjwvYT5GdW5jdGlvbjogZ2xvYmFsTmFtZXNwYWNlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAlnbG9iYWxOYW1lc3BhY2UJCQkodm9pZCAqIGN0eCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogaHJlZiwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHJlZml4KTxiciAvPgorPC9wcmU+PHA+QW4gb2xkIGdsb2JhbCBuYW1lc3BhY2UgaGFzIGJlZW4gcGFyc2VkLiBERVBSRUNBVEVEPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ocmVmPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZXNwYWNlIGFzc29jaWF0ZWQgVVJOPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wcmVmaXg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lc3BhY2UgcHJlZml4PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0iaGFzSW50ZXJuYWxTdWJzZXQiIGlkPSJoYXNJbnRlcm5hbFN1YnNldCI+PC9hPkZ1bmN0aW9uOiBoYXNJbnRlcm5hbFN1YnNldDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAloYXNJbnRlcm5hbFN1YnNldAkJKHZvaWQgKiBjdHgpPGJyIC8+Cis8L3ByZT48cD5Eb2VzIHRoaXMgZG9jdW1lbnQgaGFzIGFuIGludGVybmFsIHN1YnNldCBERVBSRUNBVEVEOiB1c2UgeG1sU0FYMkhhc0ludGVybmFsU3Vic2V0KCk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InJlZmVyZW5jZSIgaWQ9InJlZmVyZW5jZSI+PC9hPkZ1bmN0aW9uOiByZWZlcmVuY2U8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXJlZmVyZW5jZQkJCSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKTxiciAvPgorPC9wcmU+PHA+Y2FsbGVkIHdoZW4gYW4gZW50aXR5IDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNyZWZlcmVuY2UiPnJlZmVyZW5jZTwvYT4gaXMgZGV0ZWN0ZWQuIERFUFJFQ0FURUQ6IHVzZSB4bWxTQVgyUmVmZXJlbmNlKCk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlRoZSBlbnRpdHkgbmFtZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9Im5vdGF0aW9uRGVjbCIgaWQ9Im5vdGF0aW9uRGVjbCI+PC9hPkZ1bmN0aW9uOiBub3RhdGlvbkRlY2w8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCW5vdGF0aW9uRGVjbAkJCSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwdWJsaWNJZCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3lzdGVtSWQpPGJyIC8+Cis8L3ByZT48cD5XaGF0IHRvIGRvIHdoZW4gYSBub3RhdGlvbiBkZWNsYXJhdGlvbiBoYXMgYmVlbiBwYXJzZWQuIERFUFJFQ0FURUQ6IHVzZSB4bWxTQVgyTm90YXRpb25EZWNsKCk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlRoZSBuYW1lIG9mIHRoZSBub3RhdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cHVibGljSWQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlRoZSBwdWJsaWMgSUQgb2YgdGhlIGVudGl0eTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3lzdGVtSWQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlRoZSBzeXN0ZW0gSUQgb2YgdGhlIGVudGl0eTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9ImdldFN5c3RlbUlkIiBpZD0iZ2V0U3lzdGVtSWQiPjwvYT5GdW5jdGlvbjogZ2V0U3lzdGVtSWQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5jb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKglnZXRTeXN0ZW1JZAkJKHZvaWQgKiBjdHgpPGJyIC8+Cis8L3ByZT48cD5Qcm92aWRlcyB0aGUgc3lzdGVtIElELCBiYXNpY2FsbHkgVVJMIG9yIGZpbGVuYW1lIGUuZy4gaHR0cDovL3d3dy5zZ21sc291cmNlLmNvbS9kdGRzL21lbW8uZHRkIERFUFJFQ0FURUQ6IHVzZSB4bWxTQVgyR2V0U3lzdGVtSWQoKTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9ImV4dGVybmFsU3Vic2V0IiBpZD0iZXh0ZXJuYWxTdWJzZXQiPjwvYT5GdW5jdGlvbjogZXh0ZXJuYWxTdWJzZXQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCWV4dGVybmFsU3Vic2V0CQkJKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIEV4dGVybmFsSUQsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIFN5c3RlbUlEKTxiciAvPgorPC9wcmU+PHA+Q2FsbGJhY2sgb24gZXh0ZXJuYWwgc3Vic2V0IGRlY2xhcmF0aW9uLiBERVBSRUNBVEVEOiB1c2UgeG1sU0FYMkV4dGVybmFsU3Vic2V0KCk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSByb290IGVsZW1lbnQgbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+RXh0ZXJuYWxJRDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGV4dGVybmFsIElEPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5TeXN0ZW1JRDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFNZU1RFTSBJRCAoZS5nLiBmaWxlbmFtZSBvciBVUkwpPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0icmVzb2x2ZUVudGl0eSIgaWQ9InJlc29sdmVFbnRpdHkiPjwvYT5GdW5jdGlvbjogcmVzb2x2ZUVudGl0eTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRQdHIiPnhtbFBhcnNlcklucHV0UHRyPC9hPglyZXNvbHZlRW50aXR5CSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwdWJsaWNJZCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3lzdGVtSWQpPGJyIC8+Cis8L3ByZT48cD5UaGUgZW50aXR5IGxvYWRlciwgdG8gY29udHJvbCB0aGUgbG9hZGluZyBvZiBleHRlcm5hbCBlbnRpdGllcywgdGhlIGFwcGxpY2F0aW9uIGNhbiBlaXRoZXI6IC0gb3ZlcnJpZGUgdGhpcyByZXNvbHZlRW50aXR5KCkgY2FsbGJhY2sgaW4gdGhlIFNBWCBibG9jayAtIG9yIGJldHRlciB1c2UgdGhlIHhtbFNldEV4dGVybmFsRW50aXR5TG9hZGVyKCkgZnVuY3Rpb24gdG8gc2V0IHVwIGl0J3Mgb3duIGVudGl0eSByZXNvbHV0aW9uIHJvdXRpbmUgREVQUkVDQVRFRDogdXNlIHhtbFNBWDJSZXNvbHZlRW50aXR5KCk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnB1YmxpY0lkPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5UaGUgcHVibGljIElEIG9mIHRoZSBlbnRpdHk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN5c3RlbUlkPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5UaGUgc3lzdGVtIElEIG9mIHRoZSBlbnRpdHk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlcklucHV0UHRyIj54bWxQYXJzZXJJbnB1dFB0cjwvYT4gaWYgaW5saW5lZCBvciBOVUxMIGZvciBET00gYmVoYXZpb3VyLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InN0YXJ0RG9jdW1lbnQiIGlkPSJzdGFydERvY3VtZW50Ij48L2E+RnVuY3Rpb246IHN0YXJ0RG9jdW1lbnQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXN0YXJ0RG9jdW1lbnQJCQkodm9pZCAqIGN0eCk8YnIgLz4KKzwvcHJlPjxwPmNhbGxlZCB3aGVuIHRoZSBkb2N1bWVudCBzdGFydCBiZWluZyBwcm9jZXNzZWQuIERFUFJFQ0FURUQ6IHVzZSB4bWxTQVgyU3RhcnREb2N1bWVudCgpPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ic2V0TmFtZXNwYWNlIiBpZD0ic2V0TmFtZXNwYWNlIj48L2E+RnVuY3Rpb246IHNldE5hbWVzcGFjZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJc2V0TmFtZXNwYWNlCQkJKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpPGJyIC8+Cis8L3ByZT48cD5TZXQgdGhlIGN1cnJlbnQgZWxlbWVudCBuYW1lc3BhY2UuIERFUFJFQ0FURUQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lc3BhY2UgcHJlZml4PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0iY2RhdGFCbG9jayIgaWQ9ImNkYXRhQmxvY2siPjwvYT5GdW5jdGlvbjogY2RhdGFCbG9jazwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJY2RhdGFCbG9jawkJCSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB2YWx1ZSwgPGJyIC8+CQkJCQkgaW50IGxlbik8YnIgLz4KKzwvcHJlPjxwPmNhbGxlZCB3aGVuIGEgcGNkYXRhIGJsb2NrIGhhcyBiZWVuIHBhcnNlZCBERVBSRUNBVEVEOiB1c2UgeG1sU0FYMkNEYXRhQmxvY2soKTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsdWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlRoZSBwY2RhdGEgY29udGVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGVuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYmxvY2sgbGVuZ3RoPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0iZ2V0UHVibGljSWQiIGlkPSJnZXRQdWJsaWNJZCI+PC9hPkZ1bmN0aW9uOiBnZXRQdWJsaWNJZDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCWdldFB1YmxpY0lkCQkodm9pZCAqIGN0eCk8YnIgLz4KKzwvcHJlPjxwPlByb3ZpZGVzIHRoZSBwdWJsaWMgSUQgZS5nLiAiLS8vU0dNTFNPVVJDRS8vRFREIERFTU8vL0VOIiBERVBSRUNBVEVEOiB1c2UgeG1sU0FYMkdldFB1YmxpY0lkKCk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJpbml0aHRtbERlZmF1bHRTQVhIYW5kbGVyIiBpZD0iaW5pdGh0bWxEZWZhdWx0U0FYSGFuZGxlciI+PC9hPkZ1bmN0aW9uOiBpbml0aHRtbERlZmF1bHRTQVhIYW5kbGVyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAlpbml0aHRtbERlZmF1bHRTQVhIYW5kbGVyCSg8YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYSGFuZGxlclYxIj54bWxTQVhIYW5kbGVyVjE8L2E+ICogaGRscik8YnIgLz4KKzwvcHJlPjxwPkluaXRpYWxpemUgdGhlIGRlZmF1bHQgSFRNTCBTQVggdmVyc2lvbiAxIGhhbmRsZXIgREVQUkVDQVRFRDogdXNlIHhtbFNBWDJJbml0SHRtbERlZmF1bHRTQVhIYW5kbGVyKCkgZm9yIHRoZSBuZXcgU0FYMiBibG9ja3M8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5oZGxyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgU0FYIGhhbmRsZXI8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJwcm9jZXNzaW5nSW5zdHJ1Y3Rpb24iIGlkPSJwcm9jZXNzaW5nSW5zdHJ1Y3Rpb24iPjwvYT5GdW5jdGlvbjogcHJvY2Vzc2luZ0luc3RydWN0aW9uPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAlwcm9jZXNzaW5nSW5zdHJ1Y3Rpb24JCSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB0YXJnZXQsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGRhdGEpPGJyIC8+Cis8L3ByZT48cD5BIHByb2Nlc3NpbmcgaW5zdHJ1Y3Rpb24gaGFzIGJlZW4gcGFyc2VkLiBERVBSRUNBVEVEOiB1c2UgeG1sU0FYMlByb2Nlc3NpbmdJbnN0cnVjdGlvbigpPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50YXJnZXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB0YXJnZXQgbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGF0YTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFBJIGRhdGEnczwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9ImVuZEVsZW1lbnQiIGlkPSJlbmRFbGVtZW50Ij48L2E+RnVuY3Rpb246IGVuZEVsZW1lbnQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCWVuZEVsZW1lbnQJCQkodm9pZCAqIGN0eCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSk8YnIgLz4KKzwvcHJlPjxwPmNhbGxlZCB3aGVuIHRoZSBlbmQgb2YgYW4gZWxlbWVudCBoYXMgYmVlbiBkZXRlY3RlZC4gREVQUkVDQVRFRDogdXNlIHhtbFNBWDJFbmRFbGVtZW50KCk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlRoZSBlbGVtZW50IG5hbWU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJuYW1lc3BhY2VEZWNsIiBpZD0ibmFtZXNwYWNlRGVjbCI+PC9hPkZ1bmN0aW9uOiBuYW1lc3BhY2VEZWNsPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAluYW1lc3BhY2VEZWNsCQkJKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGhyZWYsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHByZWZpeCk8YnIgLz4KKzwvcHJlPjxwPkEgbmFtZXNwYWNlIGhhcyBiZWVuIHBhcnNlZC4gREVQUkVDQVRFRDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aHJlZjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5hbWVzcGFjZSBhc3NvY2lhdGVkIFVSTjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cHJlZml4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZXNwYWNlIHByZWZpeDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9ImluaXRkb2NiRGVmYXVsdFNBWEhhbmRsZXIiIGlkPSJpbml0ZG9jYkRlZmF1bHRTQVhIYW5kbGVyIj48L2E+RnVuY3Rpb246IGluaXRkb2NiRGVmYXVsdFNBWEhhbmRsZXI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCWluaXRkb2NiRGVmYXVsdFNBWEhhbmRsZXIJKDxhIGhyZWY9ImxpYnhtbC1wYXJzZXIuaHRtbCN4bWxTQVhIYW5kbGVyVjEiPnhtbFNBWEhhbmRsZXJWMTwvYT4gKiBoZGxyKTxiciAvPgorPC9wcmU+PHA+SW5pdGlhbGl6ZSB0aGUgZGVmYXVsdCBEb2NCb29rIFNBWCB2ZXJzaW9uIDEgaGFuZGxlciBERVBSRUNBVEVEOiB1c2UgeG1sU0FYMkluaXREb2NiRGVmYXVsdFNBWEhhbmRsZXIoKSBmb3IgdGhlIG5ldyBTQVgyIGJsb2NrczwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmhkbHI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBTQVggaGFuZGxlcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9ImdldEVudGl0eSIgaWQ9ImdldEVudGl0eSI+PC9hPkZ1bmN0aW9uOiBnZXRFbnRpdHk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVudGl0eVB0ciI+eG1sRW50aXR5UHRyPC9hPglnZXRFbnRpdHkJCSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKTxiciAvPgorPC9wcmU+PHA+R2V0IGFuIGVudGl0eSBieSBuYW1lIERFUFJFQ0FURUQ6IHVzZSB4bWxTQVgyR2V0RW50aXR5KCk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlRoZSBlbnRpdHkgbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRW50aXR5UHRyIj54bWxFbnRpdHlQdHI8L2E+IGlmIGZvdW5kLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9ImNoYXJhY3RlcnMiIGlkPSJjaGFyYWN0ZXJzIj48L2E+RnVuY3Rpb246IGNoYXJhY3RlcnM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCWNoYXJhY3RlcnMJCQkodm9pZCAqIGN0eCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY2gsIDxiciAvPgkJCQkJIGludCBsZW4pPGJyIC8+Cis8L3ByZT48cD5yZWNlaXZpbmcgc29tZSBjaGFycyBmcm9tIHRoZSBwYXJzZXIuIERFUFJFQ0FURUQ6IHVzZSB4bWxTQVgyQ2hhcmFjdGVycygpPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jaDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gc3RyaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0iZWxlbWVudERlY2wiIGlkPSJlbGVtZW50RGVjbCI+PC9hPkZ1bmN0aW9uOiBlbGVtZW50RGVjbDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJZWxlbWVudERlY2wJCQkodm9pZCAqIGN0eCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkgaW50IHR5cGUsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRWxlbWVudENvbnRlbnRQdHIiPnhtbEVsZW1lbnRDb250ZW50UHRyPC9hPiBjb250ZW50KTxiciAvPgorPC9wcmU+PHA+QW4gZWxlbWVudCBkZWZpbml0aW9uIGhhcyBiZWVuIHBhcnNlZCBERVBSRUNBVEVEOiB1c2UgeG1sU0FYMkVsZW1lbnREZWNsKCk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbGVtZW50IG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnR5cGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbGVtZW50IHR5cGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbnRlbnQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbGVtZW50IHZhbHVlIHRyZWU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJzdGFydEVsZW1lbnQiIGlkPSJzdGFydEVsZW1lbnQiPjwvYT5GdW5jdGlvbjogc3RhcnRFbGVtZW50PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAlzdGFydEVsZW1lbnQJCQkodm9pZCAqIGN0eCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogZnVsbG5hbWUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqKiBhdHRzKTxiciAvPgorPC9wcmU+PHA+Y2FsbGVkIHdoZW4gYW4gb3BlbmluZyB0YWcgaGFzIGJlZW4gcHJvY2Vzc2VkLiBERVBSRUNBVEVEOiB1c2UgeG1sU0FYMlN0YXJ0RWxlbWVudCgpPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mdWxsbmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VGhlIGVsZW1lbnQgbmFtZSwgaW5jbHVkaW5nIG5hbWVzcGFjZSBwcmVmaXg8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmF0dHM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPkFuIGFycmF5IG9mIG5hbWUvdmFsdWUgYXR0cmlidXRlcyBwYWlycywgTlVMTCB0ZXJtaW5hdGVkPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0iZ2V0UGFyYW1ldGVyRW50aXR5IiBpZD0iZ2V0UGFyYW1ldGVyRW50aXR5Ij48L2E+RnVuY3Rpb246IGdldFBhcmFtZXRlckVudGl0eTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRW50aXR5UHRyIj54bWxFbnRpdHlQdHI8L2E+CWdldFBhcmFtZXRlckVudGl0eQkodm9pZCAqIGN0eCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSk8YnIgLz4KKzwvcHJlPjxwPkdldCBhIHBhcmFtZXRlciBlbnRpdHkgYnkgbmFtZSBERVBSRUNBVEVEOiB1c2UgeG1sU0FYMkdldFBhcmFtZXRlckVudGl0eSgpPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5UaGUgZW50aXR5IG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVudGl0eVB0ciI+eG1sRW50aXR5UHRyPC9hPiBpZiBmb3VuZC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJhdHRyaWJ1dGVEZWNsIiBpZD0iYXR0cmlidXRlRGVjbCI+PC9hPkZ1bmN0aW9uOiBhdHRyaWJ1dGVEZWNsPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAlhdHRyaWJ1dGVEZWNsCQkJKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGVsZW0sIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGZ1bGxuYW1lLCA8YnIgLz4JCQkJCSBpbnQgdHlwZSwgPGJyIC8+CQkJCQkgaW50IGRlZiwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogZGVmYXVsdFZhbHVlLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVudW1lcmF0aW9uUHRyIj54bWxFbnVtZXJhdGlvblB0cjwvYT4gdHJlZSk8YnIgLz4KKzwvcHJlPjxwPkFuIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gZGVmaW5pdGlvbiBoYXMgYmVlbiBwYXJzZWQgREVQUkVDQVRFRDogdXNlIHhtbFNBWDJBdHRyaWJ1dGVEZWNsKCk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVsZW08L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lIG9mIHRoZSBlbGVtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mdWxsbmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dHlwZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gdHlwZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGVmPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdHlwZSBvZiBkZWZhdWx0IHZhbHVlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kZWZhdWx0VmFsdWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IGRlZmF1bHQgdmFsdWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRyZWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB0cmVlIG9mIGVudW1lcmF0ZWQgdmFsdWUgc2V0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0iaXNTdGFuZGFsb25lIiBpZD0iaXNTdGFuZGFsb25lIj48L2E+RnVuY3Rpb246IGlzU3RhbmRhbG9uZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAlpc1N0YW5kYWxvbmUJCQkodm9pZCAqIGN0eCk8YnIgLz4KKzwvcHJlPjxwPklzIHRoaXMgZG9jdW1lbnQgdGFnZ2VkIHN0YW5kYWxvbmUgPyBERVBSRUNBVEVEOiB1c2UgeG1sU0FYMklzU3RhbmRhbG9uZSgpPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJpbnRlcm5hbFN1YnNldCIgaWQ9ImludGVybmFsU3Vic2V0Ij48L2E+RnVuY3Rpb246IGludGVybmFsU3Vic2V0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAlpbnRlcm5hbFN1YnNldAkJCSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBFeHRlcm5hbElELCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBTeXN0ZW1JRCk8YnIgLz4KKzwvcHJlPjxwPkNhbGxiYWNrIG9uIGludGVybmFsIHN1YnNldCBkZWNsYXJhdGlvbi4gREVQUkVDQVRFRDogdXNlIHhtbFNBWDJJbnRlcm5hbFN1YnNldCgpPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcm9vdCBlbGVtZW50IG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PkV4dGVybmFsSUQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBleHRlcm5hbCBJRDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+U3lzdGVtSUQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBTWVNURU0gSUQgKGUuZy4gZmlsZW5hbWUgb3IgVVJMKTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9ImVuZERvY3VtZW50IiBpZD0iZW5kRG9jdW1lbnQiPjwvYT5GdW5jdGlvbjogZW5kRG9jdW1lbnQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCWVuZERvY3VtZW50CQkJKHZvaWQgKiBjdHgpPGJyIC8+Cis8L3ByZT48cD5jYWxsZWQgd2hlbiB0aGUgZG9jdW1lbnQgZW5kIGhhcyBiZWVuIGRldGVjdGVkLiBERVBSRUNBVEVEOiB1c2UgeG1sU0FYMkVuZERvY3VtZW50KCk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCk8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJnZXRMaW5lTnVtYmVyIiBpZD0iZ2V0TGluZU51bWJlciI+PC9hPkZ1bmN0aW9uOiBnZXRMaW5lTnVtYmVyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CWdldExpbmVOdW1iZXIJCQkodm9pZCAqIGN0eCk8YnIgLz4KKzwvcHJlPjxwPlByb3ZpZGUgdGhlIGxpbmUgbnVtYmVyIG9mIHRoZSBjdXJyZW50IHBhcnNpbmcgcG9pbnQuIERFUFJFQ0FURUQ6IHVzZSB4bWxTQVgyR2V0TGluZU51bWJlcigpPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBpbnQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxwPjxhIGhyZWY9Ii4uL2J1Z3MuaHRtbCI+RGFuaWVsIFZlaWxsYXJkPC9hPjwvcD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvaHRtbC9saWJ4bWwtU0FYMi5odG1sIGIvbGlieG1sMi9kb2MvaHRtbC9saWJ4bWwtU0FYMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU0NDc0NTAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9odG1sL2xpYnhtbC1TQVgyLmh0bWwKQEAgLTAsMCArMSwxMjggQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+PGxpbmsgcmVsPSJTSE9SVENVVCBJQ09OIiBocmVmPSIvZmF2aWNvbi5pY28iIC8+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK1REIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitCT0RZIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2E7IG1hcmdpbi10b3A6IDJlbTsgbWFyZ2luLWxlZnQ6IDBlbTsgbWFyZ2luLXJpZ2h0OiAwZW19CitIMSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDIge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gzIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitBOmxpbmssIEE6dmlzaXRlZCwgQTphY3RpdmUgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB9Cis8L3N0eWxlPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAgICBkaXYuZGVwcmVjYXRlZCBwcmUucHJvZ3JhbWxpc3Rpbmcge2JvcmRlci1zdHlsZTogZG91YmxlO2JvcmRlci1jb2xvcjpyZWR9CisgICAgICBwcmUucHJvZ3JhbWxpc3Rpbmcge2JvcmRlci1zdHlsZTogZG91YmxlO2JhY2tncm91bmQ6ICNFRUNGQTF9CisgICAgPC9zdHlsZT48dGl0bGU+TW9kdWxlIFNBWDIgZnJvbSBsaWJ4bWwyPC90aXRsZT48L2hlYWQ+PGJvZHkgYmdjb2xvcj0iIzhiNzc2NSIgdGV4dD0iIzAwMDAwMCIgbGluaz0iI2EwNjA2MCIgdmxpbms9IiMwMDAwMDAiPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSIxMDAlIiBjZWxscGFkZGluZz0iNSIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgd2lkdGg9IjEyMCI+PGEgaHJlZj0iaHR0cDovL3N3cGF0LmZmaWkub3JnLyI+PGltZyBzcmM9Ii4uL2VwYXRlbnRzLnBuZyIgYWx0PSJBY3Rpb24gYWdhaW5zdCBzb2Z0d2FyZSBwYXRlbnRzIiAvPjwvYT48L3RkPjx0ZCB3aWR0aD0iMTgwIj48YSBocmVmPSJodHRwOi8vd3d3Lmdub21lLm9yZy8iPjxpbWcgc3JjPSIuLi9nbm9tZTIucG5nIiBhbHQ9Ikdub21lMiBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9TdGF0dXMiPjxpbWcgc3JjPSIuLi93M2MucG5nIiBhbHQ9IlczQyBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnJlZGhhdC5jb20vIj48aW1nIHNyYz0iLi4vcmVkaGF0LmdpZiIgYWx0PSJSZWQgSGF0IExvZ28iIC8+PC9hPjxkaXYgYWxpZ249ImxlZnQiPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy8iPjxpbWcgc3JjPSIuLi9MaWJ4bWwyLUxvZ28tMTgweDE2OC5naWYiIGFsdD0iTWFkZSB3aXRoIExpYnhtbDIgTG9nbyIgLz48L2E+PC9kaXY+PC90ZD48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjkwJSIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiIGJnY29sb3I9IiNmZmZhY2QiPjx0cj48dGQgYWxpZ249ImNlbnRlciI+PGgxPjwvaDE+PGgyPk1vZHVsZSBTQVgyIGZyb20gbGlieG1sMjwvaDI+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjQiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiIHdpZHRoPSIxMDAlIj48dHI+PHRkIHZhbGlnbj0idG9wIiB3aWR0aD0iMjAwIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5BUEkgTWVudTwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48Zm9ybSBhY3Rpb249Ii4uL3NlYXJjaC5waHAiIGVuY3R5cGU9ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIgbWV0aG9kPSJnZXQiPjxpbnB1dCBuYW1lPSJxdWVyeSIgdHlwZT0idGV4dCIgc2l6ZT0iMjAiIHZhbHVlPSIiIC8+PGlucHV0IG5hbWU9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU2VhcmNoIC4uLiIgLz48L2Zvcm0+PHVsPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iLi4vaW5kZXguaHRtbCI+TWFpbiBNZW51PC9hPjwvbGk+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSIuLi9kb2NzLmh0bWwiPkRldmVsb3BlciBNZW51PC9hPjwvbGk+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSIuLi9leGFtcGxlcy9pbmRleC5odG1sIj5Db2RlIEV4YW1wbGVzPC9hPjwvbGk+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSJpbmRleC5odG1sIj5BUEkgTWVudTwvYT48L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwiPlBhcnNlciBBUEk8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCI+VHJlZSBBUEk8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sIj5SZWFkZXIgQVBJPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL2d1aWRlbGluZXMuaHRtbCI+WE1MIEd1aWRlbGluZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQ2hhbmdlTG9nLmh0bWwiPkNoYW5nZUxvZzwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPkFQSSBJbmRleGVzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iLi4vQVBJY2h1bmswLmh0bWwiPkFscGhhYmV0aWM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJY29uc3RydWN0b3JzLmh0bWwiPkNvbnN0cnVjdG9yczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUElmdW5jdGlvbnMuaHRtbCI+RnVuY3Rpb25zL1R5cGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSWZpbGVzLmh0bWwiPk1vZHVsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJc3ltYm9scy5odG1sIj5TeW1ib2xzPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+UmVsYXRlZCBsaW5rczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9Imh0dHA6Ly9tYWlsLmdub21lLm9yZy9hcmNoaXZlcy94bWwvIj5NYWlsIGFyY2hpdmU8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnL1hTTFQvIj5YU0xUIGxpYnhzbHQ8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3BoZC5jcy51bmliby5pdC9nZG9tZTIvIj5ET00gZ2RvbWUyPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuYWxla3NleS5jb20veG1sc2VjLyI+WE1MLURTaWcgeG1sc2VjPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImZ0cDovL3htbHNvZnQub3JnLyI+RlRQPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemxhdGtvdmljLmNvbS9wcm9qZWN0cy9saWJ4bWwvIj5XaW5kb3dzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9vcGVuY3N3Lm9yZy9wYWNrYWdlcy9saWJ4bWwyIj5Tb2xhcmlzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuZXhwbGFpbi5jb20uYXUvb3NzL2xpYnhtbDJ4c2x0Lmh0bWwiPk1hY09zWCBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbHhtbC5kZS8iPmx4bWwgUHl0aG9uIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9jcGFuLnV3aW5uaXBlZy5jYS9kaXN0L1hNTC1MaWJYTUwiPlBlcmwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbHBsdXNwbHVzLnNvdXJjZWZvcmdlLm5ldC8iPkMrKyBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnplbmQuY29tL3BocDUvYXJ0aWNsZXMvcGhwNS14bWxwaHAucGhwI0hlYWRpbmc0Ij5QSFAgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9saWJ4bWwyLXBhcy8iPlBhc2NhbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1sLnJ1Ynlmb3JnZS5vcmcvIj5SdWJ5IGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly90Y2x4bWwuc291cmNlZm9yZ2UubmV0LyI+VGNsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvYnVnbGlzdC5jZ2k/cHJvZHVjdD1saWJ4bWwyIj5CdWcgVHJhY2tlcjwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMyIgY2VsbHNwYWNpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx0YWJsZSBjbGFzcz0ibmF2aWdhdGlvbiIgd2lkdGg9IjEwMCUiIHN1bW1hcnk9Ik5hdmlnYXRpb24gaGVhZGVyIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjIiPjx0ciB2YWxpZ249Im1pZGRsZSI+PHRkPjxhIGFjY2Vzc2tleT0icCIgaHJlZj0ibGlieG1sLVNBWC5odG1sIj48aW1nIHNyYz0ibGVmdC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlByZXYiIC8+PC9hPjwvdGQ+PHRoIGFsaWduPSJsZWZ0Ij48YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwiPlNBWDwvYT48L3RoPjx0ZD48YSBhY2Nlc3NrZXk9InUiIGhyZWY9ImluZGV4Lmh0bWwiPjxpbWcgc3JjPSJ1cC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlVwIiAvPjwvYT48L3RkPjx0aCBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iaW5kZXguaHRtbCI+QVBJIGRvY3VtZW50YXRpb248L2E+PC90aD48dGQ+PGEgYWNjZXNza2V5PSJoIiBocmVmPSIuLi9pbmRleC5odG1sIj48aW1nIHNyYz0iaG9tZS5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IkhvbWUiIC8+PC9hPjwvdGQ+PHRoIGFsaWduPSJjZW50ZXIiPjxhIGhyZWY9Ii4uL2luZGV4Lmh0bWwiPlRoZSBYTUwgQyBwYXJzZXIgYW5kIHRvb2xraXQgb2YgR25vbWU8L2E+PC90aD48dGggYWxpZ249InJpZ2h0Ij48YSBocmVmPSJsaWJ4bWwtYzE0bi5odG1sIj5jMTRuPC9hPjwvdGg+PHRkPjxhIGFjY2Vzc2tleT0ibiIgaHJlZj0ibGlieG1sLWMxNG4uaHRtbCI+PGltZyBzcmM9InJpZ2h0LnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iTmV4dCIgLz48L2E+PC90ZD48L3RyPjwvdGFibGU+PHA+dGhvc2UgYXJlIHRoZSBkZWZhdWx0IFNBWDIgaW50ZXJmYWNlcyB1c2VkIGJ5IHRoZSBsaWJyYXJ5IHdoZW4gYnVpbGRpbmcgRE9NIHRyZWUuIDwvcD48aDI+VGFibGUgb2YgQ29udGVudHM8L2gyPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiNkb2NiRGVmYXVsdFNBWEhhbmRsZXJJbml0Ij5kb2NiRGVmYXVsdFNBWEhhbmRsZXJJbml0PC9hPgkodm9pZCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiNodG1sRGVmYXVsdFNBWEhhbmRsZXJJbml0Ij5odG1sRGVmYXVsdFNBWEhhbmRsZXJJbml0PC9hPgkodm9pZCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxEZWZhdWx0U0FYSGFuZGxlckluaXQiPnhtbERlZmF1bHRTQVhIYW5kbGVySW5pdDwvYT4JKHZvaWQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sU0FYMkF0dHJpYnV0ZURlY2wiPnhtbFNBWDJBdHRyaWJ1dGVEZWNsPC9hPgkJKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGVsZW0sIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGZ1bGxuYW1lLCA8YnIgLz4JCQkJCSBpbnQgdHlwZSwgPGJyIC8+CQkJCQkgaW50IGRlZiwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogZGVmYXVsdFZhbHVlLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVudW1lcmF0aW9uUHRyIj54bWxFbnVtZXJhdGlvblB0cjwvYT4gdHJlZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxTQVgyQ0RhdGFCbG9jayI+eG1sU0FYMkNEYXRhQmxvY2s8L2E+CQkodm9pZCAqIGN0eCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUsIDxiciAvPgkJCQkJIGludCBsZW4pPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sU0FYMkNoYXJhY3RlcnMiPnhtbFNBWDJDaGFyYWN0ZXJzPC9hPgkJKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGNoLCA8YnIgLz4JCQkJCSBpbnQgbGVuKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFNBWDJDb21tZW50Ij54bWxTQVgyQ29tbWVudDwvYT4JCQkodm9pZCAqIGN0eCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sU0FYMkVsZW1lbnREZWNsIj54bWxTQVgyRWxlbWVudERlY2w8L2E+CQkodm9pZCAqIGN0eCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkgaW50IHR5cGUsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRWxlbWVudENvbnRlbnRQdHIiPnhtbEVsZW1lbnRDb250ZW50UHRyPC9hPiBjb250ZW50KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFNBWDJFbmREb2N1bWVudCI+eG1sU0FYMkVuZERvY3VtZW50PC9hPgkJKHZvaWQgKiBjdHgpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sU0FYMkVuZEVsZW1lbnQiPnhtbFNBWDJFbmRFbGVtZW50PC9hPgkJKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sU0FYMkVuZEVsZW1lbnROcyI+eG1sU0FYMkVuZEVsZW1lbnROczwvYT4JCSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBsb2NhbG5hbWUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHByZWZpeCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogVVJJKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFNBWDJFbnRpdHlEZWNsIj54bWxTQVgyRW50aXR5RGVjbDwvYT4JCSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSBpbnQgdHlwZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHVibGljSWQsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN5c3RlbUlkLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjb250ZW50KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFNBWDJFeHRlcm5hbFN1YnNldCI+eG1sU0FYMkV4dGVybmFsU3Vic2V0PC9hPgkJKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIEV4dGVybmFsSUQsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIFN5c3RlbUlEKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sU0FYMkdldENvbHVtbk51bWJlciI+eG1sU0FYMkdldENvbHVtbk51bWJlcjwvYT4JCSh2b2lkICogY3R4KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRW50aXR5UHRyIj54bWxFbnRpdHlQdHI8L2E+CTxhIGhyZWY9IiN4bWxTQVgyR2V0RW50aXR5Ij54bWxTQVgyR2V0RW50aXR5PC9hPgkodm9pZCAqIGN0eCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFNBWDJHZXRMaW5lTnVtYmVyIj54bWxTQVgyR2V0TGluZU51bWJlcjwvYT4JCSh2b2lkICogY3R4KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRW50aXR5UHRyIj54bWxFbnRpdHlQdHI8L2E+CTxhIGhyZWY9IiN4bWxTQVgyR2V0UGFyYW1ldGVyRW50aXR5Ij54bWxTQVgyR2V0UGFyYW1ldGVyRW50aXR5PC9hPgkodm9pZCAqIGN0eCwgPGJyIC8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Y29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbFNBWDJHZXRQdWJsaWNJZCI+eG1sU0FYMkdldFB1YmxpY0lkPC9hPgkodm9pZCAqIGN0eCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5jb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sU0FYMkdldFN5c3RlbUlkIj54bWxTQVgyR2V0U3lzdGVtSWQ8L2E+CSh2b2lkICogY3R4KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sU0FYMkhhc0V4dGVybmFsU3Vic2V0Ij54bWxTQVgySGFzRXh0ZXJuYWxTdWJzZXQ8L2E+CSh2b2lkICogY3R4KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sU0FYMkhhc0ludGVybmFsU3Vic2V0Ij54bWxTQVgySGFzSW50ZXJuYWxTdWJzZXQ8L2E+CSh2b2lkICogY3R4KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFNBWDJJZ25vcmFibGVXaGl0ZXNwYWNlIj54bWxTQVgySWdub3JhYmxlV2hpdGVzcGFjZTwvYT4JKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGNoLCA8YnIgLz4JCQkJCSBpbnQgbGVuKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFNBWDJJbml0RGVmYXVsdFNBWEhhbmRsZXIiPnhtbFNBWDJJbml0RGVmYXVsdFNBWEhhbmRsZXI8L2E+CSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFNBWEhhbmRsZXIiPnhtbFNBWEhhbmRsZXI8L2E+ICogaGRsciwgPGJyIC8+CQkJCQkgaW50IHdhcm5pbmcpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sU0FYMkluaXREb2NiRGVmYXVsdFNBWEhhbmRsZXIiPnhtbFNBWDJJbml0RG9jYkRlZmF1bHRTQVhIYW5kbGVyPC9hPgkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxTQVhIYW5kbGVyIj54bWxTQVhIYW5kbGVyPC9hPiAqIGhkbHIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sU0FYMkluaXRIdG1sRGVmYXVsdFNBWEhhbmRsZXIiPnhtbFNBWDJJbml0SHRtbERlZmF1bHRTQVhIYW5kbGVyPC9hPgkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxTQVhIYW5kbGVyIj54bWxTQVhIYW5kbGVyPC9hPiAqIGhkbHIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sU0FYMkludGVybmFsU3Vic2V0Ij54bWxTQVgySW50ZXJuYWxTdWJzZXQ8L2E+CQkodm9pZCAqIGN0eCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogRXh0ZXJuYWxJRCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogU3lzdGVtSUQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxTQVgySXNTdGFuZGFsb25lIj54bWxTQVgySXNTdGFuZGFsb25lPC9hPgkJKHZvaWQgKiBjdHgpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sU0FYMk5vdGF0aW9uRGVjbCI+eG1sU0FYMk5vdGF0aW9uRGVjbDwvYT4JCSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwdWJsaWNJZCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3lzdGVtSWQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sU0FYMlByb2Nlc3NpbmdJbnN0cnVjdGlvbiI+eG1sU0FYMlByb2Nlc3NpbmdJbnN0cnVjdGlvbjwvYT4JKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHRhcmdldCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogZGF0YSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxTQVgyUmVmZXJlbmNlIj54bWxTQVgyUmVmZXJlbmNlPC9hPgkJKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dFB0ciI+eG1sUGFyc2VySW5wdXRQdHI8L2E+CTxhIGhyZWY9IiN4bWxTQVgyUmVzb2x2ZUVudGl0eSI+eG1sU0FYMlJlc29sdmVFbnRpdHk8L2E+CSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHVibGljSWQsIDxiciAvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzeXN0ZW1JZCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxTQVgyU2V0RG9jdW1lbnRMb2NhdG9yIj54bWxTQVgyU2V0RG9jdW1lbnRMb2NhdG9yPC9hPgkodm9pZCAqIGN0eCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxTQVhMb2NhdG9yUHRyIj54bWxTQVhMb2NhdG9yUHRyPC9hPiBsb2MpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sU0FYMlN0YXJ0RG9jdW1lbnQiPnhtbFNBWDJTdGFydERvY3VtZW50PC9hPgkJKHZvaWQgKiBjdHgpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sU0FYMlN0YXJ0RWxlbWVudCI+eG1sU0FYMlN0YXJ0RWxlbWVudDwvYT4JCSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBmdWxsbmFtZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoqIGF0dHMpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sU0FYMlN0YXJ0RWxlbWVudE5zIj54bWxTQVgyU3RhcnRFbGVtZW50TnM8L2E+CQkodm9pZCAqIGN0eCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbG9jYWxuYW1lLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwcmVmaXgsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIFVSSSwgPGJyIC8+CQkJCQkgaW50IG5iX25hbWVzcGFjZXMsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqKiBuYW1lc3BhY2VzLCA8YnIgLz4JCQkJCSBpbnQgbmJfYXR0cmlidXRlcywgPGJyIC8+CQkJCQkgaW50IG5iX2RlZmF1bHRlZCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoqIGF0dHJpYnV0ZXMpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sU0FYMlVucGFyc2VkRW50aXR5RGVjbCI+eG1sU0FYMlVucGFyc2VkRW50aXR5RGVjbDwvYT4JKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHB1YmxpY0lkLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzeXN0ZW1JZCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbm90YXRpb25OYW1lKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sU0FYRGVmYXVsdFZlcnNpb24iPnhtbFNBWERlZmF1bHRWZXJzaW9uPC9hPgkJKGludCB2ZXJzaW9uKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sU0FYVmVyc2lvbiI+eG1sU0FYVmVyc2lvbjwvYT4JCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxTQVhIYW5kbGVyIj54bWxTQVhIYW5kbGVyPC9hPiAqIGhkbHIsIDxiciAvPgkJCQkJIGludCB2ZXJzaW9uKTwvcHJlPgorPGgyPkRlc2NyaXB0aW9uPC9oMj4KKzxoMz48YSBuYW1lPSJkb2NiRGVmYXVsdFNBWEhhbmRsZXJJbml0IiBpZD0iZG9jYkRlZmF1bHRTQVhIYW5kbGVySW5pdCI+PC9hPkZ1bmN0aW9uOiBkb2NiRGVmYXVsdFNBWEhhbmRsZXJJbml0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAlkb2NiRGVmYXVsdFNBWEhhbmRsZXJJbml0CSh2b2lkKTxiciAvPgorPC9wcmU+PHA+SW5pdGlhbGl6ZSB0aGUgZGVmYXVsdCBTQVggaGFuZGxlcjwvcD4KKzxoMz48YSBuYW1lPSJodG1sRGVmYXVsdFNBWEhhbmRsZXJJbml0IiBpZD0iaHRtbERlZmF1bHRTQVhIYW5kbGVySW5pdCI+PC9hPkZ1bmN0aW9uOiBodG1sRGVmYXVsdFNBWEhhbmRsZXJJbml0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAlodG1sRGVmYXVsdFNBWEhhbmRsZXJJbml0CSh2b2lkKTxiciAvPgorPC9wcmU+PHA+SW5pdGlhbGl6ZSB0aGUgZGVmYXVsdCBTQVggaGFuZGxlcjwvcD4KKzxoMz48YSBuYW1lPSJ4bWxEZWZhdWx0U0FYSGFuZGxlckluaXQiIGlkPSJ4bWxEZWZhdWx0U0FYSGFuZGxlckluaXQiPjwvYT5GdW5jdGlvbjogeG1sRGVmYXVsdFNBWEhhbmRsZXJJbml0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxEZWZhdWx0U0FYSGFuZGxlckluaXQJKHZvaWQpPGJyIC8+Cis8L3ByZT48cD5Jbml0aWFsaXplIHRoZSBkZWZhdWx0IFNBWDIgaGFuZGxlcjwvcD4KKzxoMz48YSBuYW1lPSJ4bWxTQVgyQXR0cmlidXRlRGVjbCIgaWQ9InhtbFNBWDJBdHRyaWJ1dGVEZWNsIj48L2E+RnVuY3Rpb246IHhtbFNBWDJBdHRyaWJ1dGVEZWNsPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxTQVgyQXR0cmlidXRlRGVjbAkJKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGVsZW0sIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGZ1bGxuYW1lLCA8YnIgLz4JCQkJCSBpbnQgdHlwZSwgPGJyIC8+CQkJCQkgaW50IGRlZiwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogZGVmYXVsdFZhbHVlLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVudW1lcmF0aW9uUHRyIj54bWxFbnVtZXJhdGlvblB0cjwvYT4gdHJlZSk8YnIgLz4KKzwvcHJlPjxwPkFuIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gZGVmaW5pdGlvbiBoYXMgYmVlbiBwYXJzZWQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVsZW08L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lIG9mIHRoZSBlbGVtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mdWxsbmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dHlwZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gdHlwZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGVmPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdHlwZSBvZiBkZWZhdWx0IHZhbHVlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kZWZhdWx0VmFsdWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IGRlZmF1bHQgdmFsdWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRyZWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB0cmVlIG9mIGVudW1lcmF0ZWQgdmFsdWUgc2V0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU0FYMkNEYXRhQmxvY2siIGlkPSJ4bWxTQVgyQ0RhdGFCbG9jayI+PC9hPkZ1bmN0aW9uOiB4bWxTQVgyQ0RhdGFCbG9jazwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sU0FYMkNEYXRhQmxvY2sJCSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB2YWx1ZSwgPGJyIC8+CQkJCQkgaW50IGxlbik8YnIgLz4KKzwvcHJlPjxwPmNhbGxlZCB3aGVuIGEgcGNkYXRhIGJsb2NrIGhhcyBiZWVuIHBhcnNlZDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsdWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlRoZSBwY2RhdGEgY29udGVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGVuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYmxvY2sgbGVuZ3RoPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU0FYMkNoYXJhY3RlcnMiIGlkPSJ4bWxTQVgyQ2hhcmFjdGVycyI+PC9hPkZ1bmN0aW9uOiB4bWxTQVgyQ2hhcmFjdGVyczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sU0FYMkNoYXJhY3RlcnMJCSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjaCwgPGJyIC8+CQkJCQkgaW50IGxlbik8YnIgLz4KKzwvcHJlPjxwPnJlY2VpdmluZyBzb21lIGNoYXJzIGZyb20gdGhlIHBhcnNlci48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNoPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiBzdHJpbmc8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTQVgyQ29tbWVudCIgaWQ9InhtbFNBWDJDb21tZW50Ij48L2E+RnVuY3Rpb246IHhtbFNBWDJDb21tZW50PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxTQVgyQ29tbWVudAkJCSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB2YWx1ZSk8YnIgLz4KKzwvcHJlPjxwPkEgPGEgaHJlZj0ibGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyQ29tbWVudCI+eG1sU0FYMkNvbW1lbnQ8L2E+IGhhcyBiZWVuIHBhcnNlZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbHVlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyQ29tbWVudCI+eG1sU0FYMkNvbW1lbnQ8L2E+IGNvbnRlbnQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTQVgyRWxlbWVudERlY2wiIGlkPSJ4bWxTQVgyRWxlbWVudERlY2wiPjwvYT5GdW5jdGlvbjogeG1sU0FYMkVsZW1lbnREZWNsPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxTQVgyRWxlbWVudERlY2wJCSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSBpbnQgdHlwZSwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxFbGVtZW50Q29udGVudFB0ciI+eG1sRWxlbWVudENvbnRlbnRQdHI8L2E+IGNvbnRlbnQpPGJyIC8+Cis8L3ByZT48cD5BbiBlbGVtZW50IGRlZmluaXRpb24gaGFzIGJlZW4gcGFyc2VkPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZWxlbWVudCBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50eXBlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZWxlbWVudCB0eXBlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb250ZW50PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZWxlbWVudCB2YWx1ZSB0cmVlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU0FYMkVuZERvY3VtZW50IiBpZD0ieG1sU0FYMkVuZERvY3VtZW50Ij48L2E+RnVuY3Rpb246IHhtbFNBWDJFbmREb2N1bWVudDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sU0FYMkVuZERvY3VtZW50CQkodm9pZCAqIGN0eCk8YnIgLz4KKzwvcHJlPjxwPmNhbGxlZCB3aGVuIHRoZSBkb2N1bWVudCBlbmQgaGFzIGJlZW4gZGV0ZWN0ZWQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU0FYMkVuZEVsZW1lbnQiIGlkPSJ4bWxTQVgyRW5kRWxlbWVudCI+PC9hPkZ1bmN0aW9uOiB4bWxTQVgyRW5kRWxlbWVudDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sU0FYMkVuZEVsZW1lbnQJCSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKTxiciAvPgorPC9wcmU+PHA+Y2FsbGVkIHdoZW4gdGhlIGVuZCBvZiBhbiBlbGVtZW50IGhhcyBiZWVuIGRldGVjdGVkLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VGhlIGVsZW1lbnQgbmFtZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFNBWDJFbmRFbGVtZW50TnMiIGlkPSJ4bWxTQVgyRW5kRWxlbWVudE5zIj48L2E+RnVuY3Rpb246IHhtbFNBWDJFbmRFbGVtZW50TnM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFNBWDJFbmRFbGVtZW50TnMJCSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBsb2NhbG5hbWUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHByZWZpeCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogVVJJKTxiciAvPgorPC9wcmU+PHA+U0FYMiBjYWxsYmFjayB3aGVuIGFuIGVsZW1lbnQgZW5kIGhhcyBiZWVuIGRldGVjdGVkIGJ5IHRoZSBwYXJzZXIuIEl0IHByb3ZpZGVzIHRoZSBuYW1lc3BhY2UgaW5mb3JtYXRpb25zIGZvciB0aGUgZWxlbWVudC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxvY2FsbmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxvY2FsIG5hbWUgb2YgdGhlIGVsZW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnByZWZpeDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVsZW1lbnQgbmFtZXNwYWNlIHByZWZpeCBpZiBhdmFpbGFibGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlVSSTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVsZW1lbnQgbmFtZXNwYWNlIG5hbWUgaWYgYXZhaWxhYmxlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU0FYMkVudGl0eURlY2wiIGlkPSJ4bWxTQVgyRW50aXR5RGVjbCI+PC9hPkZ1bmN0aW9uOiB4bWxTQVgyRW50aXR5RGVjbDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sU0FYMkVudGl0eURlY2wJCSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSBpbnQgdHlwZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHVibGljSWQsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN5c3RlbUlkLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjb250ZW50KTxiciAvPgorPC9wcmU+PHA+QW4gZW50aXR5IGRlZmluaXRpb24gaGFzIGJlZW4gcGFyc2VkPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZW50aXR5IG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnR5cGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbnRpdHkgdHlwZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cHVibGljSWQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlRoZSBwdWJsaWMgSUQgb2YgdGhlIGVudGl0eTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3lzdGVtSWQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlRoZSBzeXN0ZW0gSUQgb2YgdGhlIGVudGl0eTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29udGVudDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVudGl0eSB2YWx1ZSAod2l0aG91dCBwcm9jZXNzaW5nKS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTQVgyRXh0ZXJuYWxTdWJzZXQiIGlkPSJ4bWxTQVgyRXh0ZXJuYWxTdWJzZXQiPjwvYT5GdW5jdGlvbjogeG1sU0FYMkV4dGVybmFsU3Vic2V0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxTQVgyRXh0ZXJuYWxTdWJzZXQJCSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBFeHRlcm5hbElELCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBTeXN0ZW1JRCk8YnIgLz4KKzwvcHJlPjxwPkNhbGxiYWNrIG9uIGV4dGVybmFsIHN1YnNldCBkZWNsYXJhdGlvbi48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSByb290IGVsZW1lbnQgbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+RXh0ZXJuYWxJRDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGV4dGVybmFsIElEPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5TeXN0ZW1JRDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFNZU1RFTSBJRCAoZS5nLiBmaWxlbmFtZSBvciBVUkwpPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU0FYMkdldENvbHVtbk51bWJlciIgaWQ9InhtbFNBWDJHZXRDb2x1bW5OdW1iZXIiPjwvYT5GdW5jdGlvbjogeG1sU0FYMkdldENvbHVtbk51bWJlcjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxTQVgyR2V0Q29sdW1uTnVtYmVyCQkodm9pZCAqIGN0eCk8YnIgLz4KKzwvcHJlPjxwPlByb3ZpZGUgdGhlIGNvbHVtbiBudW1iZXIgb2YgdGhlIGN1cnJlbnQgcGFyc2luZyBwb2ludC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIGludDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFNBWDJHZXRFbnRpdHkiIGlkPSJ4bWxTQVgyR2V0RW50aXR5Ij48L2E+RnVuY3Rpb246IHhtbFNBWDJHZXRFbnRpdHk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVudGl0eVB0ciI+eG1sRW50aXR5UHRyPC9hPgl4bWxTQVgyR2V0RW50aXR5CSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKTxiciAvPgorPC9wcmU+PHA+R2V0IGFuIGVudGl0eSBieSBuYW1lPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5UaGUgZW50aXR5IG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVudGl0eVB0ciI+eG1sRW50aXR5UHRyPC9hPiBpZiBmb3VuZC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTQVgyR2V0TGluZU51bWJlciIgaWQ9InhtbFNBWDJHZXRMaW5lTnVtYmVyIj48L2E+RnVuY3Rpb246IHhtbFNBWDJHZXRMaW5lTnVtYmVyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFNBWDJHZXRMaW5lTnVtYmVyCQkodm9pZCAqIGN0eCk8YnIgLz4KKzwvcHJlPjxwPlByb3ZpZGUgdGhlIGxpbmUgbnVtYmVyIG9mIHRoZSBjdXJyZW50IHBhcnNpbmcgcG9pbnQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBpbnQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTQVgyR2V0UGFyYW1ldGVyRW50aXR5IiBpZD0ieG1sU0FYMkdldFBhcmFtZXRlckVudGl0eSI+PC9hPkZ1bmN0aW9uOiB4bWxTQVgyR2V0UGFyYW1ldGVyRW50aXR5PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxFbnRpdHlQdHIiPnhtbEVudGl0eVB0cjwvYT4JeG1sU0FYMkdldFBhcmFtZXRlckVudGl0eQkodm9pZCAqIGN0eCwgPGJyIC8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpPGJyIC8+Cis8L3ByZT48cD5HZXQgYSBwYXJhbWV0ZXIgZW50aXR5IGJ5IG5hbWU8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlRoZSBlbnRpdHkgbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRW50aXR5UHRyIj54bWxFbnRpdHlQdHI8L2E+IGlmIGZvdW5kLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFNBWDJHZXRQdWJsaWNJZCIgaWQ9InhtbFNBWDJHZXRQdWJsaWNJZCI+PC9hPkZ1bmN0aW9uOiB4bWxTQVgyR2V0UHVibGljSWQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5jb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxTQVgyR2V0UHVibGljSWQJKHZvaWQgKiBjdHgpPGJyIC8+Cis8L3ByZT48cD5Qcm92aWRlcyB0aGUgcHVibGljIElEIGUuZy4gIi0vL1NHTUxTT1VSQ0UvL0RURCBERU1PLy9FTiI8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTQVgyR2V0U3lzdGVtSWQiIGlkPSJ4bWxTQVgyR2V0U3lzdGVtSWQiPjwvYT5GdW5jdGlvbjogeG1sU0FYMkdldFN5c3RlbUlkPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Y29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sU0FYMkdldFN5c3RlbUlkCSh2b2lkICogY3R4KTxiciAvPgorPC9wcmU+PHA+UHJvdmlkZXMgdGhlIHN5c3RlbSBJRCwgYmFzaWNhbGx5IFVSTCBvciBmaWxlbmFtZSBlLmcuIGh0dHA6Ly93d3cuc2dtbHNvdXJjZS5jb20vZHRkcy9tZW1vLmR0ZDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFNBWDJIYXNFeHRlcm5hbFN1YnNldCIgaWQ9InhtbFNBWDJIYXNFeHRlcm5hbFN1YnNldCI+PC9hPkZ1bmN0aW9uOiB4bWxTQVgySGFzRXh0ZXJuYWxTdWJzZXQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sU0FYMkhhc0V4dGVybmFsU3Vic2V0CSh2b2lkICogY3R4KTxiciAvPgorPC9wcmU+PHA+RG9lcyB0aGlzIGRvY3VtZW50IGhhcyBhbiBleHRlcm5hbCBzdWJzZXQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFNBWDJIYXNJbnRlcm5hbFN1YnNldCIgaWQ9InhtbFNBWDJIYXNJbnRlcm5hbFN1YnNldCI+PC9hPkZ1bmN0aW9uOiB4bWxTQVgySGFzSW50ZXJuYWxTdWJzZXQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sU0FYMkhhc0ludGVybmFsU3Vic2V0CSh2b2lkICogY3R4KTxiciAvPgorPC9wcmU+PHA+RG9lcyB0aGlzIGRvY3VtZW50IGhhcyBhbiBpbnRlcm5hbCBzdWJzZXQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFNBWDJJZ25vcmFibGVXaGl0ZXNwYWNlIiBpZD0ieG1sU0FYMklnbm9yYWJsZVdoaXRlc3BhY2UiPjwvYT5GdW5jdGlvbjogeG1sU0FYMklnbm9yYWJsZVdoaXRlc3BhY2U8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFNBWDJJZ25vcmFibGVXaGl0ZXNwYWNlCSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjaCwgPGJyIC8+CQkJCQkgaW50IGxlbik8YnIgLz4KKzwvcHJlPjxwPnJlY2VpdmluZyBzb21lIGlnbm9yYWJsZSB3aGl0ZXNwYWNlcyBmcm9tIHRoZSBwYXJzZXIuIFVOVVNFRDogYnkgZGVmYXVsdCB0aGUgRE9NIGJ1aWxkaW5nIHdpbGwgdXNlIDxhIGhyZWY9ImxpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMkNoYXJhY3RlcnMiPnhtbFNBWDJDaGFyYWN0ZXJzPC9hPjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y2g8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+IHN0cmluZzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGVuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFNBWDJJbml0RGVmYXVsdFNBWEhhbmRsZXIiIGlkPSJ4bWxTQVgySW5pdERlZmF1bHRTQVhIYW5kbGVyIj48L2E+RnVuY3Rpb246IHhtbFNBWDJJbml0RGVmYXVsdFNBWEhhbmRsZXI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFNBWDJJbml0RGVmYXVsdFNBWEhhbmRsZXIJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sU0FYSGFuZGxlciI+eG1sU0FYSGFuZGxlcjwvYT4gKiBoZGxyLCA8YnIgLz4JCQkJCSBpbnQgd2FybmluZyk8YnIgLz4KKzwvcHJlPjxwPkluaXRpYWxpemUgdGhlIGRlZmF1bHQgWE1MIFNBWDIgaGFuZGxlcjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmhkbHI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBTQVggaGFuZGxlcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d2FybmluZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+ZmxhZyBpZiBub24temVybyBzZXRzIHRoZSBoYW5kbGVyIHdhcm5pbmcgcHJvY2VkdXJlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU0FYMkluaXREb2NiRGVmYXVsdFNBWEhhbmRsZXIiIGlkPSJ4bWxTQVgySW5pdERvY2JEZWZhdWx0U0FYSGFuZGxlciI+PC9hPkZ1bmN0aW9uOiB4bWxTQVgySW5pdERvY2JEZWZhdWx0U0FYSGFuZGxlcjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sU0FYMkluaXREb2NiRGVmYXVsdFNBWEhhbmRsZXIJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sU0FYSGFuZGxlciI+eG1sU0FYSGFuZGxlcjwvYT4gKiBoZGxyKTxiciAvPgorPC9wcmU+PHA+SW5pdGlhbGl6ZSB0aGUgZGVmYXVsdCBEb2NCb29rIFNBWDIgaGFuZGxlcjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmhkbHI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBTQVggaGFuZGxlcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFNBWDJJbml0SHRtbERlZmF1bHRTQVhIYW5kbGVyIiBpZD0ieG1sU0FYMkluaXRIdG1sRGVmYXVsdFNBWEhhbmRsZXIiPjwvYT5GdW5jdGlvbjogeG1sU0FYMkluaXRIdG1sRGVmYXVsdFNBWEhhbmRsZXI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFNBWDJJbml0SHRtbERlZmF1bHRTQVhIYW5kbGVyCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFNBWEhhbmRsZXIiPnhtbFNBWEhhbmRsZXI8L2E+ICogaGRscik8YnIgLz4KKzwvcHJlPjxwPkluaXRpYWxpemUgdGhlIGRlZmF1bHQgSFRNTCBTQVgyIGhhbmRsZXI8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5oZGxyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgU0FYIGhhbmRsZXI8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTQVgySW50ZXJuYWxTdWJzZXQiIGlkPSJ4bWxTQVgySW50ZXJuYWxTdWJzZXQiPjwvYT5GdW5jdGlvbjogeG1sU0FYMkludGVybmFsU3Vic2V0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxTQVgySW50ZXJuYWxTdWJzZXQJCSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBFeHRlcm5hbElELCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBTeXN0ZW1JRCk8YnIgLz4KKzwvcHJlPjxwPkNhbGxiYWNrIG9uIGludGVybmFsIHN1YnNldCBkZWNsYXJhdGlvbi48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSByb290IGVsZW1lbnQgbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+RXh0ZXJuYWxJRDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGV4dGVybmFsIElEPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5TeXN0ZW1JRDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFNZU1RFTSBJRCAoZS5nLiBmaWxlbmFtZSBvciBVUkwpPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU0FYMklzU3RhbmRhbG9uZSIgaWQ9InhtbFNBWDJJc1N0YW5kYWxvbmUiPjwvYT5GdW5jdGlvbjogeG1sU0FYMklzU3RhbmRhbG9uZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxTQVgySXNTdGFuZGFsb25lCQkodm9pZCAqIGN0eCk8YnIgLz4KKzwvcHJlPjxwPklzIHRoaXMgZG9jdW1lbnQgdGFnZ2VkIHN0YW5kYWxvbmUgPzwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU0FYMk5vdGF0aW9uRGVjbCIgaWQ9InhtbFNBWDJOb3RhdGlvbkRlY2wiPjwvYT5GdW5jdGlvbjogeG1sU0FYMk5vdGF0aW9uRGVjbDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sU0FYMk5vdGF0aW9uRGVjbAkJKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHB1YmxpY0lkLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzeXN0ZW1JZCk8YnIgLz4KKzwvcHJlPjxwPldoYXQgdG8gZG8gd2hlbiBhIG5vdGF0aW9uIGRlY2xhcmF0aW9uIGhhcyBiZWVuIHBhcnNlZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlRoZSBuYW1lIG9mIHRoZSBub3RhdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cHVibGljSWQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlRoZSBwdWJsaWMgSUQgb2YgdGhlIGVudGl0eTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3lzdGVtSWQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlRoZSBzeXN0ZW0gSUQgb2YgdGhlIGVudGl0eTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFNBWDJQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24iIGlkPSJ4bWxTQVgyUHJvY2Vzc2luZ0luc3RydWN0aW9uIj48L2E+RnVuY3Rpb246IHhtbFNBWDJQcm9jZXNzaW5nSW5zdHJ1Y3Rpb248L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFNBWDJQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24JKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHRhcmdldCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogZGF0YSk8YnIgLz4KKzwvcHJlPjxwPkEgcHJvY2Vzc2luZyBpbnN0cnVjdGlvbiBoYXMgYmVlbiBwYXJzZWQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50YXJnZXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB0YXJnZXQgbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGF0YTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFBJIGRhdGEnczwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFNBWDJSZWZlcmVuY2UiIGlkPSJ4bWxTQVgyUmVmZXJlbmNlIj48L2E+RnVuY3Rpb246IHhtbFNBWDJSZWZlcmVuY2U8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFNBWDJSZWZlcmVuY2UJCSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKTxiciAvPgorPC9wcmU+PHA+Y2FsbGVkIHdoZW4gYW4gZW50aXR5IDxhIGhyZWY9ImxpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMlJlZmVyZW5jZSI+eG1sU0FYMlJlZmVyZW5jZTwvYT4gaXMgZGV0ZWN0ZWQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5UaGUgZW50aXR5IG5hbWU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTQVgyUmVzb2x2ZUVudGl0eSIgaWQ9InhtbFNBWDJSZXNvbHZlRW50aXR5Ij48L2E+RnVuY3Rpb246IHhtbFNBWDJSZXNvbHZlRW50aXR5PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dFB0ciI+eG1sUGFyc2VySW5wdXRQdHI8L2E+CXhtbFNBWDJSZXNvbHZlRW50aXR5CSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHVibGljSWQsIDxiciAvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzeXN0ZW1JZCk8YnIgLz4KKzwvcHJlPjxwPlRoZSBlbnRpdHkgbG9hZGVyLCB0byBjb250cm9sIHRoZSBsb2FkaW5nIG9mIGV4dGVybmFsIGVudGl0aWVzLCB0aGUgYXBwbGljYXRpb24gY2FuIGVpdGhlcjogLSBvdmVycmlkZSB0aGlzIHhtbFNBWDJSZXNvbHZlRW50aXR5KCkgY2FsbGJhY2sgaW4gdGhlIFNBWCBibG9jayAtIG9yIGJldHRlciB1c2UgdGhlIHhtbFNldEV4dGVybmFsRW50aXR5TG9hZGVyKCkgZnVuY3Rpb24gdG8gc2V0IHVwIGl0J3Mgb3duIGVudGl0eSByZXNvbHV0aW9uIHJvdXRpbmU8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnB1YmxpY0lkPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5UaGUgcHVibGljIElEIG9mIHRoZSBlbnRpdHk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN5c3RlbUlkPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5UaGUgc3lzdGVtIElEIG9mIHRoZSBlbnRpdHk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlcklucHV0UHRyIj54bWxQYXJzZXJJbnB1dFB0cjwvYT4gaWYgaW5saW5lZCBvciBOVUxMIGZvciBET00gYmVoYXZpb3VyLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFNBWDJTZXREb2N1bWVudExvY2F0b3IiIGlkPSJ4bWxTQVgyU2V0RG9jdW1lbnRMb2NhdG9yIj48L2E+RnVuY3Rpb246IHhtbFNBWDJTZXREb2N1bWVudExvY2F0b3I8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFNBWDJTZXREb2N1bWVudExvY2F0b3IJKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sU0FYTG9jYXRvclB0ciI+eG1sU0FYTG9jYXRvclB0cjwvYT4gbG9jKTxiciAvPgorPC9wcmU+PHA+UmVjZWl2ZSB0aGUgZG9jdW1lbnQgbG9jYXRvciBhdCBzdGFydHVwLCBhY3R1YWxseSA8YSBocmVmPSJsaWJ4bWwtZ2xvYmFscy5odG1sI3htbERlZmF1bHRTQVhMb2NhdG9yIj54bWxEZWZhdWx0U0FYTG9jYXRvcjwvYT4gRXZlcnl0aGluZyBpcyBhdmFpbGFibGUgb24gdGhlIGNvbnRleHQsIHNvIHRoaXMgaXMgdXNlbGVzcyBpbiBvdXIgY2FzZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+QSBTQVggTG9jYXRvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFNBWDJTdGFydERvY3VtZW50IiBpZD0ieG1sU0FYMlN0YXJ0RG9jdW1lbnQiPjwvYT5GdW5jdGlvbjogeG1sU0FYMlN0YXJ0RG9jdW1lbnQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFNBWDJTdGFydERvY3VtZW50CQkodm9pZCAqIGN0eCk8YnIgLz4KKzwvcHJlPjxwPmNhbGxlZCB3aGVuIHRoZSBkb2N1bWVudCBzdGFydCBiZWluZyBwcm9jZXNzZWQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU0FYMlN0YXJ0RWxlbWVudCIgaWQ9InhtbFNBWDJTdGFydEVsZW1lbnQiPjwvYT5GdW5jdGlvbjogeG1sU0FYMlN0YXJ0RWxlbWVudDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sU0FYMlN0YXJ0RWxlbWVudAkJKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGZ1bGxuYW1lLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiogYXR0cyk8YnIgLz4KKzwvcHJlPjxwPmNhbGxlZCB3aGVuIGFuIG9wZW5pbmcgdGFnIGhhcyBiZWVuIHByb2Nlc3NlZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZ1bGxuYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5UaGUgZWxlbWVudCBuYW1lLCBpbmNsdWRpbmcgbmFtZXNwYWNlIHByZWZpeDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YXR0czwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+QW4gYXJyYXkgb2YgbmFtZS92YWx1ZSBhdHRyaWJ1dGVzIHBhaXJzLCBOVUxMIHRlcm1pbmF0ZWQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTQVgyU3RhcnRFbGVtZW50TnMiIGlkPSJ4bWxTQVgyU3RhcnRFbGVtZW50TnMiPjwvYT5GdW5jdGlvbjogeG1sU0FYMlN0YXJ0RWxlbWVudE5zPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxTQVgyU3RhcnRFbGVtZW50TnMJCSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBsb2NhbG5hbWUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHByZWZpeCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogVVJJLCA8YnIgLz4JCQkJCSBpbnQgbmJfbmFtZXNwYWNlcywgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoqIG5hbWVzcGFjZXMsIDxiciAvPgkJCQkJIGludCBuYl9hdHRyaWJ1dGVzLCA8YnIgLz4JCQkJCSBpbnQgbmJfZGVmYXVsdGVkLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiogYXR0cmlidXRlcyk8YnIgLz4KKzwvcHJlPjxwPlNBWDIgY2FsbGJhY2sgd2hlbiBhbiBlbGVtZW50IHN0YXJ0IGhhcyBiZWVuIGRldGVjdGVkIGJ5IHRoZSBwYXJzZXIuIEl0IHByb3ZpZGVzIHRoZSBuYW1lc3BhY2UgaW5mb3JtYXRpb25zIGZvciB0aGUgZWxlbWVudCwgYXMgd2VsbCBhcyB0aGUgbmV3IG5hbWVzcGFjZSBkZWNsYXJhdGlvbnMgb24gdGhlIGVsZW1lbnQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sb2NhbG5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsb2NhbCBuYW1lIG9mIHRoZSBlbGVtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wcmVmaXg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbGVtZW50IG5hbWVzcGFjZSBwcmVmaXggaWYgYXZhaWxhYmxlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5VUkk8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbGVtZW50IG5hbWVzcGFjZSBuYW1lIGlmIGF2YWlsYWJsZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmJfbmFtZXNwYWNlczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+bnVtYmVyIG9mIG5hbWVzcGFjZSBkZWZpbml0aW9ucyBvbiB0aGF0IG5vZGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWVzcGFjZXM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnBvaW50ZXIgdG8gdGhlIGFycmF5IG9mIHByZWZpeC9VUkkgcGFpcnMgbmFtZXNwYWNlIGRlZmluaXRpb25zPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYl9hdHRyaWJ1dGVzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGF0dHJpYnV0ZXMgb24gdGhhdCBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYl9kZWZhdWx0ZWQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgZGVmYXVsdGVkIGF0dHJpYnV0ZXMuPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5hdHRyaWJ1dGVzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5wb2ludGVyIHRvIHRoZSBhcnJheSBvZiAobG9jYWxuYW1lL3ByZWZpeC9VUkkvdmFsdWUvZW5kKSA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IHZhbHVlcy48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTQVgyVW5wYXJzZWRFbnRpdHlEZWNsIiBpZD0ieG1sU0FYMlVucGFyc2VkRW50aXR5RGVjbCI+PC9hPkZ1bmN0aW9uOiB4bWxTQVgyVW5wYXJzZWRFbnRpdHlEZWNsPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxTQVgyVW5wYXJzZWRFbnRpdHlEZWNsCSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwdWJsaWNJZCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3lzdGVtSWQsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5vdGF0aW9uTmFtZSk8YnIgLz4KKzwvcHJlPjxwPldoYXQgdG8gZG8gd2hlbiBhbiB1bnBhcnNlZCBlbnRpdHkgZGVjbGFyYXRpb24gaXMgcGFyc2VkPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5UaGUgbmFtZSBvZiB0aGUgZW50aXR5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wdWJsaWNJZDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VGhlIHB1YmxpYyBJRCBvZiB0aGUgZW50aXR5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zeXN0ZW1JZDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VGhlIHN5c3RlbSBJRCBvZiB0aGUgZW50aXR5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub3RhdGlvbk5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lIG9mIHRoZSBub3RhdGlvbjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFNBWERlZmF1bHRWZXJzaW9uIiBpZD0ieG1sU0FYRGVmYXVsdFZlcnNpb24iPjwvYT5GdW5jdGlvbjogeG1sU0FYRGVmYXVsdFZlcnNpb248L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sU0FYRGVmYXVsdFZlcnNpb24JCShpbnQgdmVyc2lvbik8YnIgLz4KKzwvcHJlPjxwPlNldCB0aGUgZGVmYXVsdCB2ZXJzaW9uIG9mIFNBWCB1c2VkIGdsb2JhbGx5IGJ5IHRoZSBsaWJyYXJ5LiBCeSBkZWZhdWx0LCBkdXJpbmcgaW5pdGlhbGl6YXRpb24gdGhlIGRlZmF1bHQgaXMgc2V0IHRvIDIuIE5vdGUgdGhhdCBpdCBpcyBnZW5lcmFsbHkgYSBiZXR0ZXIgY29kaW5nIHN0eWxlIHRvIHVzZSB4bWxTQVhWZXJzaW9uKCkgdG8gc2V0IHVwIHRoZSB2ZXJzaW9uIGV4cGxpY2l0bHkgZm9yIGEgZ2l2ZW4gcGFyc2luZyBjb250ZXh0LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZlcnNpb248L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB2ZXJzaW9uLCAxIG9yIDI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwcmV2aW91cyB2YWx1ZSBpbiBjYXNlIG9mIHN1Y2Nlc3MgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU0FYVmVyc2lvbiIgaWQ9InhtbFNBWFZlcnNpb24iPjwvYT5GdW5jdGlvbjogeG1sU0FYVmVyc2lvbjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxTQVhWZXJzaW9uCQkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sU0FYSGFuZGxlciI+eG1sU0FYSGFuZGxlcjwvYT4gKiBoZGxyLCA8YnIgLz4JCQkJCSBpbnQgdmVyc2lvbik8YnIgLz4KKzwvcHJlPjxwPkluaXRpYWxpemUgdGhlIGRlZmF1bHQgWE1MIFNBWCBoYW5kbGVyIGFjY29yZGluZyB0byB0aGUgdmVyc2lvbjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmhkbHI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBTQVggaGFuZGxlcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmVyc2lvbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHZlcnNpb24sIDEgb3IgMjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpbiBjYXNlIG9mIHN1Y2Nlc3MgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48cD48YSBocmVmPSIuLi9idWdzLmh0bWwiPkRhbmllbCBWZWlsbGFyZDwvYT48L3A+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2h0bWwvbGlieG1sLWMxNG4uaHRtbCBiL2xpYnhtbDIvZG9jL2h0bWwvbGlieG1sLWMxNG4uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZTYxYTk4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvaHRtbC9saWJ4bWwtYzE0bi5odG1sCkBAIC0wLDAgKzEsMzggQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+PGxpbmsgcmVsPSJTSE9SVENVVCBJQ09OIiBocmVmPSIvZmF2aWNvbi5pY28iIC8+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK1REIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitCT0RZIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2E7IG1hcmdpbi10b3A6IDJlbTsgbWFyZ2luLWxlZnQ6IDBlbTsgbWFyZ2luLXJpZ2h0OiAwZW19CitIMSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDIge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gzIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitBOmxpbmssIEE6dmlzaXRlZCwgQTphY3RpdmUgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB9Cis8L3N0eWxlPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAgICBkaXYuZGVwcmVjYXRlZCBwcmUucHJvZ3JhbWxpc3Rpbmcge2JvcmRlci1zdHlsZTogZG91YmxlO2JvcmRlci1jb2xvcjpyZWR9CisgICAgICBwcmUucHJvZ3JhbWxpc3Rpbmcge2JvcmRlci1zdHlsZTogZG91YmxlO2JhY2tncm91bmQ6ICNFRUNGQTF9CisgICAgPC9zdHlsZT48dGl0bGU+TW9kdWxlIGMxNG4gZnJvbSBsaWJ4bWwyPC90aXRsZT48L2hlYWQ+PGJvZHkgYmdjb2xvcj0iIzhiNzc2NSIgdGV4dD0iIzAwMDAwMCIgbGluaz0iI2EwNjA2MCIgdmxpbms9IiMwMDAwMDAiPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSIxMDAlIiBjZWxscGFkZGluZz0iNSIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgd2lkdGg9IjEyMCI+PGEgaHJlZj0iaHR0cDovL3N3cGF0LmZmaWkub3JnLyI+PGltZyBzcmM9Ii4uL2VwYXRlbnRzLnBuZyIgYWx0PSJBY3Rpb24gYWdhaW5zdCBzb2Z0d2FyZSBwYXRlbnRzIiAvPjwvYT48L3RkPjx0ZCB3aWR0aD0iMTgwIj48YSBocmVmPSJodHRwOi8vd3d3Lmdub21lLm9yZy8iPjxpbWcgc3JjPSIuLi9nbm9tZTIucG5nIiBhbHQ9Ikdub21lMiBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9TdGF0dXMiPjxpbWcgc3JjPSIuLi93M2MucG5nIiBhbHQ9IlczQyBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnJlZGhhdC5jb20vIj48aW1nIHNyYz0iLi4vcmVkaGF0LmdpZiIgYWx0PSJSZWQgSGF0IExvZ28iIC8+PC9hPjxkaXYgYWxpZ249ImxlZnQiPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy8iPjxpbWcgc3JjPSIuLi9MaWJ4bWwyLUxvZ28tMTgweDE2OC5naWYiIGFsdD0iTWFkZSB3aXRoIExpYnhtbDIgTG9nbyIgLz48L2E+PC9kaXY+PC90ZD48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjkwJSIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiIGJnY29sb3I9IiNmZmZhY2QiPjx0cj48dGQgYWxpZ249ImNlbnRlciI+PGgxPjwvaDE+PGgyPk1vZHVsZSBjMTRuIGZyb20gbGlieG1sMjwvaDI+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjQiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiIHdpZHRoPSIxMDAlIj48dHI+PHRkIHZhbGlnbj0idG9wIiB3aWR0aD0iMjAwIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5BUEkgTWVudTwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48Zm9ybSBhY3Rpb249Ii4uL3NlYXJjaC5waHAiIGVuY3R5cGU9ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIgbWV0aG9kPSJnZXQiPjxpbnB1dCBuYW1lPSJxdWVyeSIgdHlwZT0idGV4dCIgc2l6ZT0iMjAiIHZhbHVlPSIiIC8+PGlucHV0IG5hbWU9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU2VhcmNoIC4uLiIgLz48L2Zvcm0+PHVsPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iLi4vaW5kZXguaHRtbCI+TWFpbiBNZW51PC9hPjwvbGk+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSIuLi9kb2NzLmh0bWwiPkRldmVsb3BlciBNZW51PC9hPjwvbGk+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSIuLi9leGFtcGxlcy9pbmRleC5odG1sIj5Db2RlIEV4YW1wbGVzPC9hPjwvbGk+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSJpbmRleC5odG1sIj5BUEkgTWVudTwvYT48L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwiPlBhcnNlciBBUEk8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCI+VHJlZSBBUEk8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sIj5SZWFkZXIgQVBJPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL2d1aWRlbGluZXMuaHRtbCI+WE1MIEd1aWRlbGluZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQ2hhbmdlTG9nLmh0bWwiPkNoYW5nZUxvZzwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPkFQSSBJbmRleGVzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iLi4vQVBJY2h1bmswLmh0bWwiPkFscGhhYmV0aWM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJY29uc3RydWN0b3JzLmh0bWwiPkNvbnN0cnVjdG9yczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUElmdW5jdGlvbnMuaHRtbCI+RnVuY3Rpb25zL1R5cGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSWZpbGVzLmh0bWwiPk1vZHVsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJc3ltYm9scy5odG1sIj5TeW1ib2xzPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+UmVsYXRlZCBsaW5rczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9Imh0dHA6Ly9tYWlsLmdub21lLm9yZy9hcmNoaXZlcy94bWwvIj5NYWlsIGFyY2hpdmU8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnL1hTTFQvIj5YU0xUIGxpYnhzbHQ8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3BoZC5jcy51bmliby5pdC9nZG9tZTIvIj5ET00gZ2RvbWUyPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuYWxla3NleS5jb20veG1sc2VjLyI+WE1MLURTaWcgeG1sc2VjPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImZ0cDovL3htbHNvZnQub3JnLyI+RlRQPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemxhdGtvdmljLmNvbS9wcm9qZWN0cy9saWJ4bWwvIj5XaW5kb3dzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9vcGVuY3N3Lm9yZy9wYWNrYWdlcy9saWJ4bWwyIj5Tb2xhcmlzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuZXhwbGFpbi5jb20uYXUvb3NzL2xpYnhtbDJ4c2x0Lmh0bWwiPk1hY09zWCBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbHhtbC5kZS8iPmx4bWwgUHl0aG9uIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9jcGFuLnV3aW5uaXBlZy5jYS9kaXN0L1hNTC1MaWJYTUwiPlBlcmwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbHBsdXNwbHVzLnNvdXJjZWZvcmdlLm5ldC8iPkMrKyBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnplbmQuY29tL3BocDUvYXJ0aWNsZXMvcGhwNS14bWxwaHAucGhwI0hlYWRpbmc0Ij5QSFAgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9saWJ4bWwyLXBhcy8iPlBhc2NhbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1sLnJ1Ynlmb3JnZS5vcmcvIj5SdWJ5IGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly90Y2x4bWwuc291cmNlZm9yZ2UubmV0LyI+VGNsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvYnVnbGlzdC5jZ2k/cHJvZHVjdD1saWJ4bWwyIj5CdWcgVHJhY2tlcjwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMyIgY2VsbHNwYWNpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx0YWJsZSBjbGFzcz0ibmF2aWdhdGlvbiIgd2lkdGg9IjEwMCUiIHN1bW1hcnk9Ik5hdmlnYXRpb24gaGVhZGVyIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjIiPjx0ciB2YWxpZ249Im1pZGRsZSI+PHRkPjxhIGFjY2Vzc2tleT0icCIgaHJlZj0ibGlieG1sLVNBWDIuaHRtbCI+PGltZyBzcmM9ImxlZnQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJQcmV2IiAvPjwvYT48L3RkPjx0aCBhbGlnbj0ibGVmdCI+PGEgaHJlZj0ibGlieG1sLVNBWDIuaHRtbCI+U0FYMjwvYT48L3RoPjx0ZD48YSBhY2Nlc3NrZXk9InUiIGhyZWY9ImluZGV4Lmh0bWwiPjxpbWcgc3JjPSJ1cC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlVwIiAvPjwvYT48L3RkPjx0aCBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iaW5kZXguaHRtbCI+QVBJIGRvY3VtZW50YXRpb248L2E+PC90aD48dGQ+PGEgYWNjZXNza2V5PSJoIiBocmVmPSIuLi9pbmRleC5odG1sIj48aW1nIHNyYz0iaG9tZS5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IkhvbWUiIC8+PC9hPjwvdGQ+PHRoIGFsaWduPSJjZW50ZXIiPjxhIGhyZWY9Ii4uL2luZGV4Lmh0bWwiPlRoZSBYTUwgQyBwYXJzZXIgYW5kIHRvb2xraXQgb2YgR25vbWU8L2E+PC90aD48dGggYWxpZ249InJpZ2h0Ij48YSBocmVmPSJsaWJ4bWwtY2F0YWxvZy5odG1sIj5jYXRhbG9nPC9hPjwvdGg+PHRkPjxhIGFjY2Vzc2tleT0ibiIgaHJlZj0ibGlieG1sLWNhdGFsb2cuaHRtbCI+PGltZyBzcmM9InJpZ2h0LnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iTmV4dCIgLz48L2E+PC90ZD48L3RyPjwvdGFibGU+PHA+dGhlIGMxNG4gbW9kdWxlcyBwcm92aWRlcyBhICAiQ2Fub25pY2FsIFhNTCIgaW1wbGVtZW50YXRpb248L3A+PGgyPlRhYmxlIG9mIENvbnRlbnRzPC9oMj48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RW51bSA8YSBocmVmPSIjeG1sQzE0Tk1vZGUiPnhtbEMxNE5Nb2RlPC9hPgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sQzE0TkRvY0R1bXBNZW1vcnkiPnhtbEMxNE5Eb2NEdW1wTWVtb3J5PC9hPgkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gbm9kZXMsIDxiciAvPgkJCQkJIGludCBtb2RlLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiogaW5jbHVzaXZlX25zX3ByZWZpeGVzLCA8YnIgLz4JCQkJCSBpbnQgd2l0aF9jb21tZW50cywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoqIGRvY190eHRfcHRyKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sQzE0TkRvY1NhdmUiPnhtbEMxNE5Eb2NTYXZlPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IG5vZGVzLCA8YnIgLz4JCQkJCSBpbnQgbW9kZSwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoqIGluY2x1c2l2ZV9uc19wcmVmaXhlcywgPGJyIC8+CQkJCQkgaW50IHdpdGhfY29tbWVudHMsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBmaWxlbmFtZSwgPGJyIC8+CQkJCQkgaW50IGNvbXByZXNzaW9uKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sQzE0TkRvY1NhdmVUbyI+eG1sQzE0TkRvY1NhdmVUbzwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IG5vZGVzLCA8YnIgLz4JCQkJCSBpbnQgbW9kZSwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoqIGluY2x1c2l2ZV9uc19wcmVmaXhlcywgPGJyIC8+CQkJCQkgaW50IHdpdGhfY29tbWVudHMsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sT3V0cHV0QnVmZmVyUHRyIj54bWxPdXRwdXRCdWZmZXJQdHI8L2E+IGJ1Zik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbEMxNE5FeGVjdXRlIj54bWxDMTRORXhlY3V0ZTwvYT4JCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtYzE0bi5odG1sI3htbEMxNE5Jc1Zpc2libGVDYWxsYmFjayI+eG1sQzE0TklzVmlzaWJsZUNhbGxiYWNrPC9hPiBpc192aXNpYmxlX2NhbGxiYWNrLCA8YnIgLz4JCQkJCSB2b2lkICogdXNlcl9kYXRhLCA8YnIgLz4JCQkJCSBpbnQgbW9kZSwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoqIGluY2x1c2l2ZV9uc19wcmVmaXhlcywgPGJyIC8+CQkJCQkgaW50IHdpdGhfY29tbWVudHMsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sT3V0cHV0QnVmZmVyUHRyIj54bWxPdXRwdXRCdWZmZXJQdHI8L2E+IGJ1Zik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5GdW5jdGlvbiB0eXBlOiA8YSBocmVmPSIjeG1sQzE0TklzVmlzaWJsZUNhbGxiYWNrIj54bWxDMTROSXNWaXNpYmxlQ2FsbGJhY2s8L2E+CitpbnQJPGEgaHJlZj0iI3htbEMxNE5Jc1Zpc2libGVDYWxsYmFjayI+eG1sQzE0TklzVmlzaWJsZUNhbGxiYWNrPC9hPgkodm9pZCAqIHVzZXJfZGF0YSwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IHBhcmVudCkKKzwvcHJlPgorPGgyPkRlc2NyaXB0aW9uPC9oMj4KKzxoMz5FbnVtIDxhIG5hbWU9InhtbEMxNE5Nb2RlIiBpZD0ieG1sQzE0Tk1vZGUiPnhtbEMxNE5Nb2RlPC9hPjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkVudW0geG1sQzE0Tk1vZGUgeworICAgIDxhIG5hbWU9IlhNTF9DMTROXzFfMCIgaWQ9IlhNTF9DMTROXzFfMCI+WE1MX0MxNE5fMV8wPC9hPiA9IDAgOiBPcmlnaWFuYWwgQzE0TiAxLjAgc3BlYworICAgIDxhIG5hbWU9IlhNTF9DMTROX0VYQ0xVU0lWRV8xXzAiIGlkPSJYTUxfQzE0Tl9FWENMVVNJVkVfMV8wIj5YTUxfQzE0Tl9FWENMVVNJVkVfMV8wPC9hPiA9IDEgOiBFeGNsdXNpdmUgQzE0TiAxLjAgc3BlYworICAgIDxhIG5hbWU9IlhNTF9DMTROXzFfMSIgaWQ9IlhNTF9DMTROXzFfMSI+WE1MX0MxNE5fMV8xPC9hPiA9IDIgOiBDMTROIDEuMSBzcGVjCit9Cis8L3ByZT48aDM+PGEgbmFtZT0ieG1sQzE0TkRvY0R1bXBNZW1vcnkiIGlkPSJ4bWxDMTRORG9jRHVtcE1lbW9yeSI+PC9hPkZ1bmN0aW9uOiB4bWxDMTRORG9jRHVtcE1lbW9yeTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxDMTRORG9jRHVtcE1lbW9yeQkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gbm9kZXMsIDxiciAvPgkJCQkJIGludCBtb2RlLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiogaW5jbHVzaXZlX25zX3ByZWZpeGVzLCA8YnIgLz4JCQkJCSBpbnQgd2l0aF9jb21tZW50cywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoqIGRvY190eHRfcHRyKTxiciAvPgorPC9wcmU+PHA+RHVtcHMgdGhlIGNhbm9uaXplZCBpbWFnZSBvZiBnaXZlbiBYTUwgZG9jdW1lbnQgaW50byBtZW1vcnkuIEZvciBkZXRhaWxzIHNlZSAiQ2Fub25pY2FsIFhNTCIgKGh0dHA6Ly93d3cudzMub3JnL1RSL3htbC1jMTRuKSBvciAiRXhjbHVzaXZlIFhNTCBDYW5vbmljYWxpemF0aW9uIiAoaHR0cDovL3d3dy53My5vcmcvVFIveG1sLWV4Yy1jMTRuKTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhNTCBkb2N1bWVudCBmb3IgY2Fub25pemF0aW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vZGVzIHNldCB0byBiZSBpbmNsdWRlZCBpbiB0aGUgY2Fub25pemVkIGltYWdlIG9yIE5VTEwgaWYgYWxsIGRvY3VtZW50IG5vZGVzIHNob3VsZCBiZSBpbmNsdWRlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bW9kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGMxNG4gbW9kZSAoc2VlIEB4bWxDMTROTW9kZSk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmluY2x1c2l2ZV9uc19wcmVmaXhlczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxpc3Qgb2YgaW5jbHVzaXZlIG5hbWVzcGFjZSBwcmVmaXhlcyBlbmRlZCB3aXRoIGEgTlVMTCBvciBOVUxMIGlmIHRoZXJlIGlzIG5vIGluY2x1c2l2ZSBuYW1lc3BhY2VzIChvbmx5IGZvciBleGNsdXNpdmUgY2Fub25pY2FsaXphdGlvbiwgaWdub3JlZCBvdGhlcndpc2UpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD53aXRoX2NvbW1lbnRzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5pbmNsdWRlIGNvbW1lbnRzIGluIHRoZSByZXN1bHQgKCE9MCkgb3Igbm90ICg9PTApPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2NfdHh0X3B0cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG1lbW9yeSBwb2ludGVyIGZvciBhbGxvY2F0ZWQgY2Fub25pY2FsIFhNTCB0ZXh0OyB0aGUgY2FsbGVyIG9mIHRoaXMgZnVuY3Rpb25zIGlzIHJlc3BvbnNpYmxlIGZvciBjYWxsaW5nIHhtbEZyZWUoKSB0byBmcmVlIGFsbG9jYXRlZCBtZW1vcnk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgYnl0ZXMgd3JpdHRlbiBvbiBzdWNjZXNzIG9yIGEgbmVnYXRpdmUgdmFsdWUgb24gZmFpbDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEMxNE5Eb2NTYXZlIiBpZD0ieG1sQzE0TkRvY1NhdmUiPjwvYT5GdW5jdGlvbjogeG1sQzE0TkRvY1NhdmU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sQzE0TkRvY1NhdmUJCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBub2RlcywgPGJyIC8+CQkJCQkgaW50IG1vZGUsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqKiBpbmNsdXNpdmVfbnNfcHJlZml4ZXMsIDxiciAvPgkJCQkJIGludCB3aXRoX2NvbW1lbnRzLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogZmlsZW5hbWUsIDxiciAvPgkJCQkJIGludCBjb21wcmVzc2lvbik8YnIgLz4KKzwvcHJlPjxwPkR1bXBzIHRoZSBjYW5vbml6ZWQgaW1hZ2Ugb2YgZ2l2ZW4gWE1MIGRvY3VtZW50IGludG8gdGhlIGZpbGUuIEZvciBkZXRhaWxzIHNlZSAiQ2Fub25pY2FsIFhNTCIgKGh0dHA6Ly93d3cudzMub3JnL1RSL3htbC1jMTRuKSBvciAiRXhjbHVzaXZlIFhNTCBDYW5vbmljYWxpemF0aW9uIiAoaHR0cDovL3d3dy53My5vcmcvVFIveG1sLWV4Yy1jMTRuKTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhNTCBkb2N1bWVudCBmb3IgY2Fub25pemF0aW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vZGVzIHNldCB0byBiZSBpbmNsdWRlZCBpbiB0aGUgY2Fub25pemVkIGltYWdlIG9yIE5VTEwgaWYgYWxsIGRvY3VtZW50IG5vZGVzIHNob3VsZCBiZSBpbmNsdWRlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bW9kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGMxNG4gbW9kZSAoc2VlIEB4bWxDMTROTW9kZSk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmluY2x1c2l2ZV9uc19wcmVmaXhlczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxpc3Qgb2YgaW5jbHVzaXZlIG5hbWVzcGFjZSBwcmVmaXhlcyBlbmRlZCB3aXRoIGEgTlVMTCBvciBOVUxMIGlmIHRoZXJlIGlzIG5vIGluY2x1c2l2ZSBuYW1lc3BhY2VzIChvbmx5IGZvciBleGNsdXNpdmUgY2Fub25pY2FsaXphdGlvbiwgaWdub3JlZCBvdGhlcndpc2UpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD53aXRoX2NvbW1lbnRzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5pbmNsdWRlIGNvbW1lbnRzIGluIHRoZSByZXN1bHQgKCE9MCkgb3Igbm90ICg9PTApPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlbmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZpbGVuYW1lIHRvIHN0b3JlIGNhbm9uaWNhbCBYTUwgaW1hZ2U8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbXByZXNzaW9uPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY29tcHJlc3Npb24gbGV2ZWwgKHpsaWIgcmVxdXJlZCk6IC0xIC0gbGlieG1sIGRlZmF1bHQsIDAgLSB1bmNvbXByZXNzZWQsICZndDswIC0gY29tcHJlc3Npb24gbGV2ZWw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgYnl0ZXMgd3JpdHRlbiBzdWNjZXNzIG9yIGEgbmVnYXRpdmUgdmFsdWUgb24gZmFpbDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEMxNE5Eb2NTYXZlVG8iIGlkPSJ4bWxDMTRORG9jU2F2ZVRvIj48L2E+RnVuY3Rpb246IHhtbEMxNE5Eb2NTYXZlVG88L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sQzE0TkRvY1NhdmVUbwkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gbm9kZXMsIDxiciAvPgkJCQkJIGludCBtb2RlLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiogaW5jbHVzaXZlX25zX3ByZWZpeGVzLCA8YnIgLz4JCQkJCSBpbnQgd2l0aF9jb21tZW50cywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxPdXRwdXRCdWZmZXJQdHIiPnhtbE91dHB1dEJ1ZmZlclB0cjwvYT4gYnVmKTxiciAvPgorPC9wcmU+PHA+RHVtcHMgdGhlIGNhbm9uaXplZCBpbWFnZSBvZiBnaXZlbiBYTUwgZG9jdW1lbnQgaW50byB0aGUgcHJvdmlkZWQgYnVmZmVyLiBGb3IgZGV0YWlscyBzZWUgIkNhbm9uaWNhbCBYTUwiIChodHRwOi8vd3d3LnczLm9yZy9UUi94bWwtYzE0bikgb3IgIkV4Y2x1c2l2ZSBYTUwgQ2Fub25pY2FsaXphdGlvbiIgKGh0dHA6Ly93d3cudzMub3JnL1RSL3htbC1leGMtYzE0bik8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYTUwgZG9jdW1lbnQgZm9yIGNhbm9uaXphdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZXM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBub2RlcyBzZXQgdG8gYmUgaW5jbHVkZWQgaW4gdGhlIGNhbm9uaXplZCBpbWFnZSBvciBOVUxMIGlmIGFsbCBkb2N1bWVudCBub2RlcyBzaG91bGQgYmUgaW5jbHVkZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm1vZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjMTRuIG1vZGUgKHNlZSBAeG1sQzE0Tk1vZGUpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pbmNsdXNpdmVfbnNfcHJlZml4ZXM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsaXN0IG9mIGluY2x1c2l2ZSBuYW1lc3BhY2UgcHJlZml4ZXMgZW5kZWQgd2l0aCBhIE5VTEwgb3IgTlVMTCBpZiB0aGVyZSBpcyBubyBpbmNsdXNpdmUgbmFtZXNwYWNlcyAob25seSBmb3IgZXhjbHVzaXZlIGNhbm9uaWNhbGl6YXRpb24sIGlnbm9yZWQgb3RoZXJ3aXNlKTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d2l0aF9jb21tZW50czwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+aW5jbHVkZSBjb21tZW50cyBpbiB0aGUgcmVzdWx0ICghPTApIG9yIG5vdCAoPT0wKTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YnVmPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgb3V0cHV0IGJ1ZmZlciB0byBzdG9yZSBjYW5vbmljYWwgWE1MOyB0aGlzIGJ1ZmZlciBNVVNUIGhhdmUgZW5jb2Rlcj09TlVMTCBiZWNhdXNlIEMxNE4gcmVxdWlyZXMgVVRGLTggb3V0cHV0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5ub24tbmVnYXRpdmUgdmFsdWUgb24gc3VjY2VzcyBvciBhIG5lZ2F0aXZlIHZhbHVlIG9uIGZhaWw8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxDMTRORXhlY3V0ZSIgaWQ9InhtbEMxNE5FeGVjdXRlIj48L2E+RnVuY3Rpb246IHhtbEMxNE5FeGVjdXRlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbEMxNE5FeGVjdXRlCQkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLWMxNG4uaHRtbCN4bWxDMTROSXNWaXNpYmxlQ2FsbGJhY2siPnhtbEMxNE5Jc1Zpc2libGVDYWxsYmFjazwvYT4gaXNfdmlzaWJsZV9jYWxsYmFjaywgPGJyIC8+CQkJCQkgdm9pZCAqIHVzZXJfZGF0YSwgPGJyIC8+CQkJCQkgaW50IG1vZGUsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqKiBpbmNsdXNpdmVfbnNfcHJlZml4ZXMsIDxiciAvPgkJCQkJIGludCB3aXRoX2NvbW1lbnRzLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE91dHB1dEJ1ZmZlclB0ciI+eG1sT3V0cHV0QnVmZmVyUHRyPC9hPiBidWYpPGJyIC8+Cis8L3ByZT48cD5EdW1wcyB0aGUgY2Fub25pemVkIGltYWdlIG9mIGdpdmVuIFhNTCBkb2N1bWVudCBpbnRvIHRoZSBwcm92aWRlZCBidWZmZXIuIEZvciBkZXRhaWxzIHNlZSAiQ2Fub25pY2FsIFhNTCIgKGh0dHA6Ly93d3cudzMub3JnL1RSL3htbC1jMTRuKSBvciAiRXhjbHVzaXZlIFhNTCBDYW5vbmljYWxpemF0aW9uIiAoaHR0cDovL3d3dy53My5vcmcvVFIveG1sLWV4Yy1jMTRuKTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhNTCBkb2N1bWVudCBmb3IgY2Fub25pemF0aW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pc192aXNpYmxlX2NhbGxiYWNrPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZnVuY3Rpb24gdG8gdXNlIHRvIGRldGVybWluZSBpcyBub2RlIHZpc2libGUgb3Igbm90PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD51c2VyX2RhdGE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmaXJzdCBwYXJhbWV0ZXIgZm9yIEBpc192aXNpYmxlX2NhbGxiYWNrIGZ1bmN0aW9uIChpbiBtb3N0IGNhc2VzLCBpdCBpcyBub2RlcyBzZXQpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5tb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYzE0biBtb2RlIChzZWUgQHhtbEMxNE5Nb2RlKTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aW5jbHVzaXZlX25zX3ByZWZpeGVzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbGlzdCBvZiBpbmNsdXNpdmUgbmFtZXNwYWNlIHByZWZpeGVzIGVuZGVkIHdpdGggYSBOVUxMIG9yIE5VTEwgaWYgdGhlcmUgaXMgbm8gaW5jbHVzaXZlIG5hbWVzcGFjZXMgKG9ubHkgZm9yIGV4Y2x1c2l2ZSBjYW5vbmljYWxpemF0aW9uLCBpZ25vcmVkIG90aGVyd2lzZSk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PndpdGhfY29tbWVudHM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmluY2x1ZGUgY29tbWVudHMgaW4gdGhlIHJlc3VsdCAoIT0wKSBvciBub3QgKD09MCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmJ1ZjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG91dHB1dCBidWZmZXIgdG8gc3RvcmUgY2Fub25pY2FsIFhNTDsgdGhpcyBidWZmZXIgTVVTVCBoYXZlIGVuY29kZXI9PU5VTEwgYmVjYXVzZSBDMTROIHJlcXVpcmVzIFVURi04IG91dHB1dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+bm9uLW5lZ2F0aXZlIHZhbHVlIG9uIHN1Y2Nlc3Mgb3IgYSBuZWdhdGl2ZSB2YWx1ZSBvbiBmYWlsPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sQzE0TklzVmlzaWJsZUNhbGxiYWNrIiBpZD0ieG1sQzE0TklzVmlzaWJsZUNhbGxiYWNrIj48L2E+RnVuY3Rpb24gdHlwZTogeG1sQzE0TklzVmlzaWJsZUNhbGxiYWNrPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RnVuY3Rpb24gdHlwZTogeG1sQzE0TklzVmlzaWJsZUNhbGxiYWNrCitpbnQJeG1sQzE0TklzVmlzaWJsZUNhbGxiYWNrCSh2b2lkICogdXNlcl9kYXRhLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gcGFyZW50KQorPC9wcmU+PHA+U2lnbmF0dXJlIGZvciBhIEMxNE4gY2FsbGJhY2sgb24gdmlzaWJsZSBub2RlczwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD51c2VyX2RhdGE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnVzZXIgZGF0YTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGN1cmVudCBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wYXJlbnQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwYXJlbnQgbm9kZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0aGUgbm9kZSBzaG91bGQgYmUgaW5jbHVkZWQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxiciAvPgorPHA+PGEgaHJlZj0iLi4vYnVncy5odG1sIj5EYW5pZWwgVmVpbGxhcmQ8L2E+PC9wPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9odG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwgYi9saWJ4bWwyL2RvYy9odG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDZkMjhmOAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL2h0bWwvbGlieG1sLWNhdGFsb2cuaHRtbApAQCAtMCwwICsxLDE0MiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIj4KKzxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj48aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz48bGluayByZWw9IlNIT1JUQ1VUIElDT04iIGhyZWY9Ii9mYXZpY29uLmljbyIgLz48c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorVEQge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0JPRFkge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYTsgbWFyZ2luLXRvcDogMmVtOyBtYXJnaW4tbGVmdDogMGVtOyBtYXJnaW4tcmlnaHQ6IDBlbX0KK0gxIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMiB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDMge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0E6bGluaywgQTp2aXNpdGVkLCBBOmFjdGl2ZSB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIH0KKzwvc3R5bGU+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKyAgICAgIGRpdi5kZXByZWNhdGVkIHByZS5wcm9ncmFtbGlzdGluZyB7Ym9yZGVyLXN0eWxlOiBkb3VibGU7Ym9yZGVyLWNvbG9yOnJlZH0KKyAgICAgIHByZS5wcm9ncmFtbGlzdGluZyB7Ym9yZGVyLXN0eWxlOiBkb3VibGU7YmFja2dyb3VuZDogI0VFQ0ZBMX0KKyAgICA8L3N0eWxlPjx0aXRsZT5Nb2R1bGUgY2F0YWxvZyBmcm9tIGxpYnhtbDI8L3RpdGxlPjwvaGVhZD48Ym9keSBiZ2NvbG9yPSIjOGI3NzY1IiB0ZXh0PSIjMDAwMDAwIiBsaW5rPSIjYTA2MDYwIiB2bGluaz0iIzAwMDAwMCI+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjEwMCUiIGNlbGxwYWRkaW5nPSI1IiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCB3aWR0aD0iMTIwIj48YSBocmVmPSJodHRwOi8vc3dwYXQuZmZpaS5vcmcvIj48aW1nIHNyYz0iLi4vZXBhdGVudHMucG5nIiBhbHQ9IkFjdGlvbiBhZ2FpbnN0IHNvZnR3YXJlIHBhdGVudHMiIC8+PC9hPjwvdGQ+PHRkIHdpZHRoPSIxODAiPjxhIGhyZWY9Imh0dHA6Ly93d3cuZ25vbWUub3JnLyI+PGltZyBzcmM9Ii4uL2dub21lMi5wbmciIGFsdD0iR25vbWUyIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1N0YXR1cyI+PGltZyBzcmM9Ii4uL3czYy5wbmciIGFsdD0iVzNDIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cucmVkaGF0LmNvbS8iPjxpbWcgc3JjPSIuLi9yZWRoYXQuZ2lmIiBhbHQ9IlJlZCBIYXQgTG9nbyIgLz48L2E+PGRpdiBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnLyI+PGltZyBzcmM9Ii4uL0xpYnhtbDItTG9nby0xODB4MTY4LmdpZiIgYWx0PSJNYWRlIHdpdGggTGlieG1sMiBMb2dvIiAvPjwvYT48L2Rpdj48L3RkPjx0ZD48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iOTAlIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyIgYmdjb2xvcj0iI2ZmZmFjZCI+PHRyPjx0ZCBhbGlnbj0iY2VudGVyIj48aDE+PC9oMT48aDI+TW9kdWxlIGNhdGFsb2cgZnJvbSBsaWJ4bWwyPC9oMj48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iNCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiIgd2lkdGg9IjEwMCUiPjx0cj48dGQgdmFsaWduPSJ0b3AiIHdpZHRoPSIyMDAiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPkFQSSBNZW51PC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjxmb3JtIGFjdGlvbj0iLi4vc2VhcmNoLnBocCIgZW5jdHlwZT0iYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIiBtZXRob2Q9ImdldCI+PGlucHV0IG5hbWU9InF1ZXJ5IiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IiIgLz48aW5wdXQgbmFtZT0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJTZWFyY2ggLi4uIiAvPjwvZm9ybT48dWw+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSIuLi9pbmRleC5odG1sIj5NYWluIE1lbnU8L2E+PC9saT48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9Ii4uL2RvY3MuaHRtbCI+RGV2ZWxvcGVyIE1lbnU8L2E+PC9saT48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9Ii4uL2V4YW1wbGVzL2luZGV4Lmh0bWwiPkNvZGUgRXhhbXBsZXM8L2E+PC9saT48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9ImluZGV4Lmh0bWwiPkFQSSBNZW51PC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1wYXJzZXIuaHRtbCI+UGFyc2VyIEFQSTwvYT48L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sIj5UcmVlIEFQSTwvYT48L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwiPlJlYWRlciBBUEk8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vZ3VpZGVsaW5lcy5odG1sIj5YTUwgR3VpZGVsaW5lczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9DaGFuZ2VMb2cuaHRtbCI+Q2hhbmdlTG9nPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+QVBJIEluZGV4ZXM8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSIuLi9BUEljaHVuazAuaHRtbCI+QWxwaGFiZXRpYzwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUEljb25zdHJ1Y3RvcnMuaHRtbCI+Q29uc3RydWN0b3JzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSWZ1bmN0aW9ucy5odG1sIj5GdW5jdGlvbnMvVHlwZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJZmlsZXMuaHRtbCI+TW9kdWxlczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUElzeW1ib2xzLmh0bWwiPlN5bWJvbHM8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5SZWxhdGVkIGxpbmtzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iaHR0cDovL21haWwuZ25vbWUub3JnL2FyY2hpdmVzL3htbC8iPk1haWwgYXJjaGl2ZTwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvWFNMVC8iPlhTTFQgbGlieHNsdDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vcGhkLmNzLnVuaWJvLml0L2dkb21lMi8iPkRPTSBnZG9tZTI8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5hbGVrc2V5LmNvbS94bWxzZWMvIj5YTUwtRFNpZyB4bWxzZWM8L2E+PC9saT48bGk+PGEgaHJlZj0iZnRwOi8veG1sc29mdC5vcmcvIj5GVFA8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56bGF0a292aWMuY29tL3Byb2plY3RzL2xpYnhtbC8iPldpbmRvd3MgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL29wZW5jc3cub3JnL3BhY2thZ2VzL2xpYnhtbDIiPlNvbGFyaXMgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5leHBsYWluLmNvbS5hdS9vc3MvbGlieG1sMnhzbHQuaHRtbCI+TWFjT3NYIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9seG1sLmRlLyI+bHhtbCBQeXRob24gYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2NwYW4udXdpbm5pcGVnLmNhL2Rpc3QvWE1MLUxpYlhNTCI+UGVybCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1scGx1c3BsdXMuc291cmNlZm9yZ2UubmV0LyI+QysrIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemVuZC5jb20vcGhwNS9hcnRpY2xlcy9waHA1LXhtbHBocC5waHAjSGVhZGluZzQiPlBIUCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2xpYnhtbDItcGFzLyI+UGFzY2FsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWwucnVieWZvcmdlLm9yZy8iPlJ1YnkgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3RjbHhtbC5zb3VyY2Vmb3JnZS5uZXQvIj5UY2wgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9idWdsaXN0LmNnaT9wcm9kdWN0PWxpYnhtbDIiPkJ1ZyBUcmFja2VyPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIzIiBjZWxsc3BhY2luZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHRhYmxlIGNsYXNzPSJuYXZpZ2F0aW9uIiB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBoZWFkZXIiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMiI+PHRyIHZhbGlnbj0ibWlkZGxlIj48dGQ+PGEgYWNjZXNza2V5PSJwIiBocmVmPSJsaWJ4bWwtYzE0bi5odG1sIj48aW1nIHNyYz0ibGVmdC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlByZXYiIC8+PC9hPjwvdGQ+PHRoIGFsaWduPSJsZWZ0Ij48YSBocmVmPSJsaWJ4bWwtYzE0bi5odG1sIj5jMTRuPC9hPjwvdGg+PHRkPjxhIGFjY2Vzc2tleT0idSIgaHJlZj0iaW5kZXguaHRtbCI+PGltZyBzcmM9InVwLnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iVXAiIC8+PC9hPjwvdGQ+PHRoIGFsaWduPSJsZWZ0Ij48YSBocmVmPSJpbmRleC5odG1sIj5BUEkgZG9jdW1lbnRhdGlvbjwvYT48L3RoPjx0ZD48YSBhY2Nlc3NrZXk9ImgiIGhyZWY9Ii4uL2luZGV4Lmh0bWwiPjxpbWcgc3JjPSJob21lLnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iSG9tZSIgLz48L2E+PC90ZD48dGggYWxpZ249ImNlbnRlciI+PGEgaHJlZj0iLi4vaW5kZXguaHRtbCI+VGhlIFhNTCBDIHBhcnNlciBhbmQgdG9vbGtpdCBvZiBHbm9tZTwvYT48L3RoPjx0aCBhbGlnbj0icmlnaHQiPjxhIGhyZWY9ImxpYnhtbC1jaHZhbGlkLmh0bWwiPmNodmFsaWQ8L2E+PC90aD48dGQ+PGEgYWNjZXNza2V5PSJuIiBocmVmPSJsaWJ4bWwtY2h2YWxpZC5odG1sIj48aW1nIHNyYz0icmlnaHQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJOZXh0IiAvPjwvYT48L3RkPjwvdHI+PC90YWJsZT48cD50aGUgY2F0YWxvZyBtb2R1bGUgaW1wbGVtZW50cyB0aGUgc3VwcG9ydCBmb3IgWE1MIENhdGFsb2dzIGFuZCBTR01MIGNhdGFsb2dzIDwvcD48aDI+VGFibGUgb2YgQ29udGVudHM8L2gyPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfQ0FUQUxPR1NfTkFNRVNQQUNFIj5YTUxfQ0FUQUxPR1NfTkFNRVNQQUNFPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfQ0FUQUxPR19QSSI+WE1MX0NBVEFMT0dfUEk8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlN0cnVjdHVyZSA8YSBocmVmPSIjeG1sQ2F0YWxvZyI+eG1sQ2F0YWxvZzwvYT48YnIgLz5zdHJ1Y3QgX3htbENhdGFsb2cKK1RoZSBjb250ZW50IG9mIHRoaXMgc3RydWN0dXJlIGlzIG5vdCBtYWRlIHB1YmxpYyBieSB0aGUgQVBJLgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkVudW0gPGEgaHJlZj0iI3htbENhdGFsb2dBbGxvdyI+eG1sQ2F0YWxvZ0FsbG93PC9hPgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkVudW0gPGEgaHJlZj0iI3htbENhdGFsb2dQcmVmZXIiPnhtbENhdGFsb2dQcmVmZXI8L2E+Cis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+VHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2ciPnhtbENhdGFsb2c8L2E+ICogPGEgbmFtZT0ieG1sQ2F0YWxvZ1B0ciIgaWQ9InhtbENhdGFsb2dQdHIiPnhtbENhdGFsb2dQdHI8L2E+Cis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxBQ2F0YWxvZ0FkZCI+eG1sQUNhdGFsb2dBZGQ8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ1B0ciI+eG1sQ2F0YWxvZ1B0cjwvYT4gY2F0YWwsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHR5cGUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG9yaWcsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHJlcGxhY2UpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sQUNhdGFsb2dEdW1wIj54bWxBQ2F0YWxvZ0R1bXA8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ1B0ciI+eG1sQ2F0YWxvZ1B0cjwvYT4gY2F0YWwsIDxiciAvPgkJCQkJIEZJTEUgKiBvdXQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxBQ2F0YWxvZ1JlbW92ZSI+eG1sQUNhdGFsb2dSZW1vdmU8L2E+CQkoPGEgaHJlZj0ibGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nUHRyIj54bWxDYXRhbG9nUHRyPC9hPiBjYXRhbCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbEFDYXRhbG9nUmVzb2x2ZSI+eG1sQUNhdGFsb2dSZXNvbHZlPC9hPgkoPGEgaHJlZj0ibGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nUHRyIj54bWxDYXRhbG9nUHRyPC9hPiBjYXRhbCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHViSUQsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN5c0lEKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxBQ2F0YWxvZ1Jlc29sdmVQdWJsaWMiPnhtbEFDYXRhbG9nUmVzb2x2ZVB1YmxpYzwvYT4JKDxhIGhyZWY9ImxpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ1B0ciI+eG1sQ2F0YWxvZ1B0cjwvYT4gY2F0YWwsIDxiciAvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwdWJJRCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sQUNhdGFsb2dSZXNvbHZlU3lzdGVtIj54bWxBQ2F0YWxvZ1Jlc29sdmVTeXN0ZW08L2E+CSg8YSBocmVmPSJsaWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dQdHIiPnhtbENhdGFsb2dQdHI8L2E+IGNhdGFsLCA8YnIgLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3lzSUQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbEFDYXRhbG9nUmVzb2x2ZVVSSSI+eG1sQUNhdGFsb2dSZXNvbHZlVVJJPC9hPgkoPGEgaHJlZj0ibGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nUHRyIj54bWxDYXRhbG9nUHRyPC9hPiBjYXRhbCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogVVJJKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sQ2F0YWxvZ0FkZCI+eG1sQ2F0YWxvZ0FkZDwvYT4JCQkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdHlwZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogb3JpZywgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcmVwbGFjZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkICoJPGEgaHJlZj0iI3htbENhdGFsb2dBZGRMb2NhbCI+eG1sQ2F0YWxvZ0FkZExvY2FsPC9hPgkJKHZvaWQgKiBjYXRhbG9ncywgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogVVJMKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbENhdGFsb2dDbGVhbnVwIj54bWxDYXRhbG9nQ2xlYW51cDwvYT4JCSh2b2lkKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sQ2F0YWxvZ0NvbnZlcnQiPnhtbENhdGFsb2dDb252ZXJ0PC9hPgkJKHZvaWQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sQ2F0YWxvZ0R1bXAiPnhtbENhdGFsb2dEdW1wPC9hPgkJCShGSUxFICogb3V0KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbENhdGFsb2dGcmVlTG9jYWwiPnhtbENhdGFsb2dGcmVlTG9jYWw8L2E+CQkodm9pZCAqIGNhdGFsb2dzKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ0FsbG93Ij54bWxDYXRhbG9nQWxsb3c8L2E+CTxhIGhyZWY9IiN4bWxDYXRhbG9nR2V0RGVmYXVsdHMiPnhtbENhdGFsb2dHZXREZWZhdWx0czwvYT4JKHZvaWQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Y29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbENhdGFsb2dHZXRQdWJsaWMiPnhtbENhdGFsb2dHZXRQdWJsaWM8L2E+CShjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwdWJJRCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5jb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sQ2F0YWxvZ0dldFN5c3RlbSI+eG1sQ2F0YWxvZ0dldFN5c3RlbTwvYT4JKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN5c0lEKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sQ2F0YWxvZ0lzRW1wdHkiPnhtbENhdGFsb2dJc0VtcHR5PC9hPgkJKDxhIGhyZWY9ImxpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ1B0ciI+eG1sQ2F0YWxvZ1B0cjwvYT4gY2F0YWwpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbENhdGFsb2dMb2NhbFJlc29sdmUiPnhtbENhdGFsb2dMb2NhbFJlc29sdmU8L2E+CSh2b2lkICogY2F0YWxvZ3MsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHB1YklELCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzeXNJRCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sQ2F0YWxvZ0xvY2FsUmVzb2x2ZVVSSSI+eG1sQ2F0YWxvZ0xvY2FsUmVzb2x2ZVVSSTwvYT4JKHZvaWQgKiBjYXRhbG9ncywgPGJyIC8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIFVSSSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbENhdGFsb2dSZW1vdmUiPnhtbENhdGFsb2dSZW1vdmU8L2E+CQkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbENhdGFsb2dSZXNvbHZlIj54bWxDYXRhbG9nUmVzb2x2ZTwvYT4JKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHB1YklELCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzeXNJRCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sQ2F0YWxvZ1Jlc29sdmVQdWJsaWMiPnhtbENhdGFsb2dSZXNvbHZlUHVibGljPC9hPgkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHViSUQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbENhdGFsb2dSZXNvbHZlU3lzdGVtIj54bWxDYXRhbG9nUmVzb2x2ZVN5c3RlbTwvYT4JKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN5c0lEKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxDYXRhbG9nUmVzb2x2ZVVSSSI+eG1sQ2F0YWxvZ1Jlc29sdmVVUkk8L2E+CShjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBVUkkpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxDYXRhbG9nU2V0RGVidWciPnhtbENhdGFsb2dTZXREZWJ1ZzwvYT4JCShpbnQgbGV2ZWwpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nUHJlZmVyIj54bWxDYXRhbG9nUHJlZmVyPC9hPgk8YSBocmVmPSIjeG1sQ2F0YWxvZ1NldERlZmF1bHRQcmVmZXIiPnhtbENhdGFsb2dTZXREZWZhdWx0UHJlZmVyPC9hPgkoPGEgaHJlZj0ibGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nUHJlZmVyIj54bWxDYXRhbG9nUHJlZmVyPC9hPiBwcmVmZXIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sQ2F0YWxvZ1NldERlZmF1bHRzIj54bWxDYXRhbG9nU2V0RGVmYXVsdHM8L2E+CQkoPGEgaHJlZj0ibGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nQWxsb3ciPnhtbENhdGFsb2dBbGxvdzwvYT4gYWxsb3cpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxDb252ZXJ0U0dNTENhdGFsb2ciPnhtbENvbnZlcnRTR01MQ2F0YWxvZzwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dQdHIiPnhtbENhdGFsb2dQdHI8L2E+IGNhdGFsKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbEZyZWVDYXRhbG9nIj54bWxGcmVlQ2F0YWxvZzwvYT4JCQkoPGEgaHJlZj0ibGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nUHRyIj54bWxDYXRhbG9nUHRyPC9hPiBjYXRhbCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxJbml0aWFsaXplQ2F0YWxvZyI+eG1sSW5pdGlhbGl6ZUNhdGFsb2c8L2E+CQkodm9pZCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dQdHIiPnhtbENhdGFsb2dQdHI8L2E+CTxhIGhyZWY9IiN4bWxMb2FkQUNhdGFsb2ciPnhtbExvYWRBQ2F0YWxvZzwvYT4JCShjb25zdCBjaGFyICogZmlsZW5hbWUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxMb2FkQ2F0YWxvZyI+eG1sTG9hZENhdGFsb2c8L2E+CQkJKGNvbnN0IGNoYXIgKiBmaWxlbmFtZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxMb2FkQ2F0YWxvZ3MiPnhtbExvYWRDYXRhbG9nczwvYT4JCQkoY29uc3QgY2hhciAqIHBhdGhzcyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dQdHIiPnhtbENhdGFsb2dQdHI8L2E+CTxhIGhyZWY9IiN4bWxMb2FkU0dNTFN1cGVyQ2F0YWxvZyI+eG1sTG9hZFNHTUxTdXBlckNhdGFsb2c8L2E+CShjb25zdCBjaGFyICogZmlsZW5hbWUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nUHRyIj54bWxDYXRhbG9nUHRyPC9hPgk8YSBocmVmPSIjeG1sTmV3Q2F0YWxvZyI+eG1sTmV3Q2F0YWxvZzwvYT4JCShpbnQgc2dtbCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPgk8YSBocmVmPSIjeG1sUGFyc2VDYXRhbG9nRmlsZSI+eG1sUGFyc2VDYXRhbG9nRmlsZTwvYT4JKGNvbnN0IGNoYXIgKiBmaWxlbmFtZSk8L3ByZT4KKzxoMj5EZXNjcmlwdGlvbjwvaDI+Cis8aDM+PGEgbmFtZT0iWE1MX0NBVEFMT0dTX05BTUVTUEFDRSIgaWQ9IlhNTF9DQVRBTE9HU19OQU1FU1BBQ0UiPjwvYT5NYWNybzogWE1MX0NBVEFMT0dTX05BTUVTUEFDRTwvaDM+PHByZT4jZGVmaW5lIFhNTF9DQVRBTE9HU19OQU1FU1BBQ0U8L3ByZT48cD5UaGUgbmFtZXNwYWNlIGZvciB0aGUgWE1MIENhdGFsb2dzIGVsZW1lbnRzLjwvcD4KKzxoMz48YSBuYW1lPSJYTUxfQ0FUQUxPR19QSSIgaWQ9IlhNTF9DQVRBTE9HX1BJIj48L2E+TWFjcm86IFhNTF9DQVRBTE9HX1BJPC9oMz48cHJlPiNkZWZpbmUgWE1MX0NBVEFMT0dfUEk8L3ByZT48cD5UaGUgc3BlY2lmaWMgWE1MIENhdGFsb2cgUHJvY2Vzc2luZyBJbnN0dWN0aW9uIG5hbWUuPC9wPgorPGgzPjxhIG5hbWU9InhtbENhdGFsb2ciIGlkPSJ4bWxDYXRhbG9nIj5TdHJ1Y3R1cmUgeG1sQ2F0YWxvZzwvYT48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgeG1sQ2F0YWxvZzxiciAvPnN0cnVjdCBfeG1sQ2F0YWxvZyB7CitUaGUgY29udGVudCBvZiB0aGlzIHN0cnVjdHVyZSBpcyBub3QgbWFkZSBwdWJsaWMgYnkgdGhlIEFQSS4KK308L3ByZT48aDM+RW51bSA8YSBuYW1lPSJ4bWxDYXRhbG9nQWxsb3ciIGlkPSJ4bWxDYXRhbG9nQWxsb3ciPnhtbENhdGFsb2dBbGxvdzwvYT48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5FbnVtIHhtbENhdGFsb2dBbGxvdyB7CisgICAgPGEgbmFtZT0iWE1MX0NBVEFfQUxMT1dfTk9ORSIgaWQ9IlhNTF9DQVRBX0FMTE9XX05PTkUiPlhNTF9DQVRBX0FMTE9XX05PTkU8L2E+ID0gMAorICAgIDxhIG5hbWU9IlhNTF9DQVRBX0FMTE9XX0dMT0JBTCIgaWQ9IlhNTF9DQVRBX0FMTE9XX0dMT0JBTCI+WE1MX0NBVEFfQUxMT1dfR0xPQkFMPC9hPiA9IDEKKyAgICA8YSBuYW1lPSJYTUxfQ0FUQV9BTExPV19ET0NVTUVOVCIgaWQ9IlhNTF9DQVRBX0FMTE9XX0RPQ1VNRU5UIj5YTUxfQ0FUQV9BTExPV19ET0NVTUVOVDwvYT4gPSAyCisgICAgPGEgbmFtZT0iWE1MX0NBVEFfQUxMT1dfQUxMIiBpZD0iWE1MX0NBVEFfQUxMT1dfQUxMIj5YTUxfQ0FUQV9BTExPV19BTEw8L2E+ID0gMworfQorPC9wcmU+PGgzPkVudW0gPGEgbmFtZT0ieG1sQ2F0YWxvZ1ByZWZlciIgaWQ9InhtbENhdGFsb2dQcmVmZXIiPnhtbENhdGFsb2dQcmVmZXI8L2E+PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RW51bSB4bWxDYXRhbG9nUHJlZmVyIHsKKyAgICA8YSBuYW1lPSJYTUxfQ0FUQV9QUkVGRVJfTk9ORSIgaWQ9IlhNTF9DQVRBX1BSRUZFUl9OT05FIj5YTUxfQ0FUQV9QUkVGRVJfTk9ORTwvYT4gPSAwCisgICAgPGEgbmFtZT0iWE1MX0NBVEFfUFJFRkVSX1BVQkxJQyIgaWQ9IlhNTF9DQVRBX1BSRUZFUl9QVUJMSUMiPlhNTF9DQVRBX1BSRUZFUl9QVUJMSUM8L2E+ID0gMQorICAgIDxhIG5hbWU9IlhNTF9DQVRBX1BSRUZFUl9TWVNURU0iIGlkPSJYTUxfQ0FUQV9QUkVGRVJfU1lTVEVNIj5YTUxfQ0FUQV9QUkVGRVJfU1lTVEVNPC9hPiA9IDIKK30KKzwvcHJlPjxoMz48YSBuYW1lPSJ4bWxBQ2F0YWxvZ0FkZCIgaWQ9InhtbEFDYXRhbG9nQWRkIj48L2E+RnVuY3Rpb246IHhtbEFDYXRhbG9nQWRkPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbEFDYXRhbG9nQWRkCQkJKDxhIGhyZWY9ImxpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ1B0ciI+eG1sQ2F0YWxvZ1B0cjwvYT4gY2F0YWwsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHR5cGUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG9yaWcsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHJlcGxhY2UpPGJyIC8+Cis8L3ByZT48cD5BZGQgYW4gZW50cnkgaW4gdGhlIGNhdGFsb2csIGl0IG1heSBvdmVyd3JpdGUgZXhpc3RpbmcgYnV0IGRpZmZlcmVudCBlbnRyaWVzLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNhdGFsPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIENhdGFsb2c8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnR5cGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB0eXBlIG9mIHJlY29yZCB0byBhZGQgdG8gdGhlIGNhdGFsb2c8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm9yaWc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzeXN0ZW0sIHB1YmxpYyBvciBwcmVmaXggdG8gbWF0Y2g8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJlcGxhY2U8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSByZXBsYWNlbWVudCB2YWx1ZSBmb3IgdGhlIG1hdGNoPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGlmIHN1Y2Nlc3NmdWwsIC0xIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEFDYXRhbG9nRHVtcCIgaWQ9InhtbEFDYXRhbG9nRHVtcCI+PC9hPkZ1bmN0aW9uOiB4bWxBQ2F0YWxvZ0R1bXA8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbEFDYXRhbG9nRHVtcAkJCSg8YSBocmVmPSJsaWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dQdHIiPnhtbENhdGFsb2dQdHI8L2E+IGNhdGFsLCA8YnIgLz4JCQkJCSBGSUxFICogb3V0KTxiciAvPgorPC9wcmU+PHA+RHVtcCB0aGUgZ2l2ZW4gY2F0YWxvZyB0byB0aGUgZ2l2ZW4gZmlsZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jYXRhbDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBDYXRhbG9nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vdXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmaWxlLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEFDYXRhbG9nUmVtb3ZlIiBpZD0ieG1sQUNhdGFsb2dSZW1vdmUiPjwvYT5GdW5jdGlvbjogeG1sQUNhdGFsb2dSZW1vdmU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sQUNhdGFsb2dSZW1vdmUJCSg8YSBocmVmPSJsaWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dQdHIiPnhtbENhdGFsb2dQdHI8L2E+IGNhdGFsLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB2YWx1ZSk8YnIgLz4KKzwvcHJlPjxwPlJlbW92ZSBhbiBlbnRyeSBmcm9tIHRoZSBjYXRhbG9nPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y2F0YWw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgQ2F0YWxvZzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsdWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB2YWx1ZSB0byByZW1vdmU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgZW50cmllcyByZW1vdmVkIGlmIHN1Y2Nlc3NmdWwsIC0xIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEFDYXRhbG9nUmVzb2x2ZSIgaWQ9InhtbEFDYXRhbG9nUmVzb2x2ZSI+PC9hPkZ1bmN0aW9uOiB4bWxBQ2F0YWxvZ1Jlc29sdmU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxBQ2F0YWxvZ1Jlc29sdmUJKDxhIGhyZWY9ImxpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ1B0ciI+eG1sQ2F0YWxvZ1B0cjwvYT4gY2F0YWwsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHB1YklELCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzeXNJRCk8YnIgLz4KKzwvcHJlPjxwPkRvIGEgY29tcGxldGUgcmVzb2x1dGlvbiBsb29rdXAgb2YgYW4gRXh0ZXJuYWwgSWRlbnRpZmllcjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNhdGFsPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIENhdGFsb2c8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnB1YklEPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcHVibGljIElEIHN0cmluZzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3lzSUQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzeXN0ZW0gSUQgc3RyaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgVVJJIG9mIHRoZSByZXNvdXJjZSBvciBOVUxMIGlmIG5vdCBmb3VuZCwgaXQgbXVzdCBiZSBmcmVlZCBieSB0aGUgY2FsbGVyLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEFDYXRhbG9nUmVzb2x2ZVB1YmxpYyIgaWQ9InhtbEFDYXRhbG9nUmVzb2x2ZVB1YmxpYyI+PC9hPkZ1bmN0aW9uOiB4bWxBQ2F0YWxvZ1Jlc29sdmVQdWJsaWM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxBQ2F0YWxvZ1Jlc29sdmVQdWJsaWMJKDxhIGhyZWY9ImxpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ1B0ciI+eG1sQ2F0YWxvZ1B0cjwvYT4gY2F0YWwsIDxiciAvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwdWJJRCk8YnIgLz4KKzwvcHJlPjxwPlRyeSB0byBsb29rdXAgdGhlIGNhdGFsb2cgbG9jYWwgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI3JlZmVyZW5jZSI+cmVmZXJlbmNlPC9hPiBhc3NvY2lhdGVkIHRvIGEgcHVibGljIElEIGluIHRoYXQgY2F0YWxvZzwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNhdGFsPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIENhdGFsb2c8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnB1YklEPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcHVibGljIElEIHN0cmluZzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxvY2FsIHJlc291cmNlIGlmIGZvdW5kIG9yIE5VTEwgb3RoZXJ3aXNlLCB0aGUgdmFsdWUgcmV0dXJuZWQgbXVzdCBiZSBmcmVlZCBieSB0aGUgY2FsbGVyLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEFDYXRhbG9nUmVzb2x2ZVN5c3RlbSIgaWQ9InhtbEFDYXRhbG9nUmVzb2x2ZVN5c3RlbSI+PC9hPkZ1bmN0aW9uOiB4bWxBQ2F0YWxvZ1Jlc29sdmVTeXN0ZW08L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxBQ2F0YWxvZ1Jlc29sdmVTeXN0ZW0JKDxhIGhyZWY9ImxpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ1B0ciI+eG1sQ2F0YWxvZ1B0cjwvYT4gY2F0YWwsIDxiciAvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzeXNJRCk8YnIgLz4KKzwvcHJlPjxwPlRyeSB0byBsb29rdXAgdGhlIGNhdGFsb2cgcmVzb3VyY2UgZm9yIGEgc3lzdGVtIElEPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y2F0YWw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgQ2F0YWxvZzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3lzSUQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzeXN0ZW0gSUQgc3RyaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmVzb3VyY2UgaWYgZm91bmQgb3IgTlVMTCBvdGhlcndpc2UsIHRoZSB2YWx1ZSByZXR1cm5lZCBtdXN0IGJlIGZyZWVkIGJ5IHRoZSBjYWxsZXIuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sQUNhdGFsb2dSZXNvbHZlVVJJIiBpZD0ieG1sQUNhdGFsb2dSZXNvbHZlVVJJIj48L2E+RnVuY3Rpb246IHhtbEFDYXRhbG9nUmVzb2x2ZVVSSTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbEFDYXRhbG9nUmVzb2x2ZVVSSQkoPGEgaHJlZj0ibGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nUHRyIj54bWxDYXRhbG9nUHRyPC9hPiBjYXRhbCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogVVJJKTxiciAvPgorPC9wcmU+PHA+RG8gYSBjb21wbGV0ZSByZXNvbHV0aW9uIGxvb2t1cCBvZiBhbiBVUkk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jYXRhbDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBDYXRhbG9nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5VUkk8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBVUkk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBVUkkgb2YgdGhlIHJlc291cmNlIG9yIE5VTEwgaWYgbm90IGZvdW5kLCBpdCBtdXN0IGJlIGZyZWVkIGJ5IHRoZSBjYWxsZXIuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sQ2F0YWxvZ0FkZCIgaWQ9InhtbENhdGFsb2dBZGQiPjwvYT5GdW5jdGlvbjogeG1sQ2F0YWxvZ0FkZDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxDYXRhbG9nQWRkCQkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHR5cGUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG9yaWcsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHJlcGxhY2UpPGJyIC8+Cis8L3ByZT48cD5BZGQgYW4gZW50cnkgaW4gdGhlIGNhdGFsb2csIGl0IG1heSBvdmVyd3JpdGUgZXhpc3RpbmcgYnV0IGRpZmZlcmVudCBlbnRyaWVzLiBJZiBjYWxsZWQgYmVmb3JlIGFueSBvdGhlciBjYXRhbG9nIHJvdXRpbmUsIGFsbG93cyB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBzaGFyZWQgY2F0YWxvZyBwdXQgaW4gcGxhY2UgYnkgeG1sSW5pdGlhbGl6ZUNhdGFsb2coKTs8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50eXBlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdHlwZSBvZiByZWNvcmQgdG8gYWRkIHRvIHRoZSBjYXRhbG9nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vcmlnPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc3lzdGVtLCBwdWJsaWMgb3IgcHJlZml4IHRvIG1hdGNoPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZXBsYWNlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmVwbGFjZW1lbnQgdmFsdWUgZm9yIHRoZSBtYXRjaDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpZiBzdWNjZXNzZnVsLCAtMSBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxDYXRhbG9nQWRkTG9jYWwiIGlkPSJ4bWxDYXRhbG9nQWRkTG9jYWwiPjwvYT5GdW5jdGlvbjogeG1sQ2F0YWxvZ0FkZExvY2FsPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZCAqCXhtbENhdGFsb2dBZGRMb2NhbAkJKHZvaWQgKiBjYXRhbG9ncywgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogVVJMKTxiciAvPgorPC9wcmU+PHA+QWRkIHRoZSBuZXcgZW50cnkgdG8gdGhlIGNhdGFsb2cgbGlzdDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNhdGFsb2dzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGRvY3VtZW50J3MgbGlzdCBvZiBjYXRhbG9nczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+VVJMPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgVVJMIHRvIGEgbmV3IGxvY2FsIGNhdGFsb2c8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1cGRhdGVkIGxpc3Q8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxDYXRhbG9nQ2xlYW51cCIgaWQ9InhtbENhdGFsb2dDbGVhbnVwIj48L2E+RnVuY3Rpb246IHhtbENhdGFsb2dDbGVhbnVwPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxDYXRhbG9nQ2xlYW51cAkJKHZvaWQpPGJyIC8+Cis8L3ByZT48cD5GcmVlIHVwIGFsbCB0aGUgbWVtb3J5IGFzc29jaWF0ZWQgd2l0aCBjYXRhbG9nczwvcD4KKzxoMz48YSBuYW1lPSJ4bWxDYXRhbG9nQ29udmVydCIgaWQ9InhtbENhdGFsb2dDb252ZXJ0Ij48L2E+RnVuY3Rpb246IHhtbENhdGFsb2dDb252ZXJ0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbENhdGFsb2dDb252ZXJ0CQkodm9pZCk8YnIgLz4KKzwvcHJlPjxwPkNvbnZlcnQgYWxsIHRoZSBTR01MIGNhdGFsb2cgZW50cmllcyBhcyBYTUwgb25lczwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgZW50cmllcyBjb252ZXJ0ZWQgaWYgc3VjY2Vzc2Z1bCwgLTEgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sQ2F0YWxvZ0R1bXAiIGlkPSJ4bWxDYXRhbG9nRHVtcCI+PC9hPkZ1bmN0aW9uOiB4bWxDYXRhbG9nRHVtcDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sQ2F0YWxvZ0R1bXAJCQkoRklMRSAqIG91dCk8YnIgLz4KKzwvcHJlPjxwPkR1bXAgYWxsIHRoZSBnbG9iYWwgY2F0YWxvZyBjb250ZW50IHRvIHRoZSBnaXZlbiBmaWxlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm91dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZpbGUuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sQ2F0YWxvZ0ZyZWVMb2NhbCIgaWQ9InhtbENhdGFsb2dGcmVlTG9jYWwiPjwvYT5GdW5jdGlvbjogeG1sQ2F0YWxvZ0ZyZWVMb2NhbDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sQ2F0YWxvZ0ZyZWVMb2NhbAkJKHZvaWQgKiBjYXRhbG9ncyk8YnIgLz4KKzwvcHJlPjxwPkZyZWUgdXAgdGhlIG1lbW9yeSBhc3NvY2lhdGVkIHRvIHRoZSBjYXRhbG9nIGxpc3Q8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jYXRhbG9nczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBkb2N1bWVudCdzIGxpc3Qgb2YgY2F0YWxvZ3M8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxDYXRhbG9nR2V0RGVmYXVsdHMiIGlkPSJ4bWxDYXRhbG9nR2V0RGVmYXVsdHMiPjwvYT5GdW5jdGlvbjogeG1sQ2F0YWxvZ0dldERlZmF1bHRzPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nQWxsb3ciPnhtbENhdGFsb2dBbGxvdzwvYT4JeG1sQ2F0YWxvZ0dldERlZmF1bHRzCSh2b2lkKTxiciAvPgorPC9wcmU+PHA+VXNlZCB0byBnZXQgdGhlIHVzZXIgcHJlZmVyZW5jZSB3LnIudC4gdG8gd2hhdCBjYXRhbG9ncyBzaG91bGQgYmUgYWNjZXB0ZWQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY3VycmVudCA8YSBocmVmPSJsaWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dBbGxvdyI+eG1sQ2F0YWxvZ0FsbG93PC9hPiB2YWx1ZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbENhdGFsb2dHZXRQdWJsaWMiIGlkPSJ4bWxDYXRhbG9nR2V0UHVibGljIj48L2E+RnVuY3Rpb246IHhtbENhdGFsb2dHZXRQdWJsaWM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5jb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxDYXRhbG9nR2V0UHVibGljCShjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwdWJJRCk8YnIgLz4KKzwvcHJlPjxwPlRyeSB0byBsb29rdXAgdGhlIGNhdGFsb2cgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI3JlZmVyZW5jZSI+cmVmZXJlbmNlPC9hPiBhc3NvY2lhdGVkIHRvIGEgcHVibGljIElEIERFUFJFQ0FURUQsIHVzZSB4bWxDYXRhbG9nUmVzb2x2ZVB1YmxpYygpPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cHViSUQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwdWJsaWMgSUQgc3RyaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmVzb3VyY2UgaWYgZm91bmQgb3IgTlVMTCBvdGhlcndpc2UuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sQ2F0YWxvZ0dldFN5c3RlbSIgaWQ9InhtbENhdGFsb2dHZXRTeXN0ZW0iPjwvYT5GdW5jdGlvbjogeG1sQ2F0YWxvZ0dldFN5c3RlbTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbENhdGFsb2dHZXRTeXN0ZW0JKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN5c0lEKTxiciAvPgorPC9wcmU+PHA+VHJ5IHRvIGxvb2t1cCB0aGUgY2F0YWxvZyA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjcmVmZXJlbmNlIj5yZWZlcmVuY2U8L2E+IGFzc29jaWF0ZWQgdG8gYSBzeXN0ZW0gSUQgREVQUkVDQVRFRCwgdXNlIHhtbENhdGFsb2dSZXNvbHZlU3lzdGVtKCk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zeXNJRDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHN5c3RlbSBJRCBzdHJpbmc8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSByZXNvdXJjZSBpZiBmb3VuZCBvciBOVUxMIG90aGVyd2lzZS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxDYXRhbG9nSXNFbXB0eSIgaWQ9InhtbENhdGFsb2dJc0VtcHR5Ij48L2E+RnVuY3Rpb246IHhtbENhdGFsb2dJc0VtcHR5PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbENhdGFsb2dJc0VtcHR5CQkoPGEgaHJlZj0ibGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nUHRyIj54bWxDYXRhbG9nUHRyPC9hPiBjYXRhbCk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrIGlzIGEgY2F0YWxvZyBpcyBlbXB0eTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNhdGFsPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5zaG91bGQgdGhpcyBjcmVhdGUgYW4gU0dNTCBjYXRhbG9nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRoZSBjYXRhbG9nIGlzIGVtcHR5LCAwIGlmIG5vdCwgYW1kIC0xIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sQ2F0YWxvZ0xvY2FsUmVzb2x2ZSIgaWQ9InhtbENhdGFsb2dMb2NhbFJlc29sdmUiPjwvYT5GdW5jdGlvbjogeG1sQ2F0YWxvZ0xvY2FsUmVzb2x2ZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbENhdGFsb2dMb2NhbFJlc29sdmUJKHZvaWQgKiBjYXRhbG9ncywgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHViSUQsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN5c0lEKTxiciAvPgorPC9wcmU+PHA+RG8gYSBjb21wbGV0ZSByZXNvbHV0aW9uIGxvb2t1cCBvZiBhbiBFeHRlcm5hbCBJZGVudGlmaWVyIHVzaW5nIGEgZG9jdW1lbnQncyBwcml2YXRlIGNhdGFsb2cgbGlzdDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNhdGFsb2dzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGRvY3VtZW50J3MgbGlzdCBvZiBjYXRhbG9nczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cHViSUQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwdWJsaWMgSUQgc3RyaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zeXNJRDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHN5c3RlbSBJRCBzdHJpbmc8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBVUkkgb2YgdGhlIHJlc291cmNlIG9yIE5VTEwgaWYgbm90IGZvdW5kLCBpdCBtdXN0IGJlIGZyZWVkIGJ5IHRoZSBjYWxsZXIuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sQ2F0YWxvZ0xvY2FsUmVzb2x2ZVVSSSIgaWQ9InhtbENhdGFsb2dMb2NhbFJlc29sdmVVUkkiPjwvYT5GdW5jdGlvbjogeG1sQ2F0YWxvZ0xvY2FsUmVzb2x2ZVVSSTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbENhdGFsb2dMb2NhbFJlc29sdmVVUkkJKHZvaWQgKiBjYXRhbG9ncywgPGJyIC8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIFVSSSk8YnIgLz4KKzwvcHJlPjxwPkRvIGEgY29tcGxldGUgcmVzb2x1dGlvbiBsb29rdXAgb2YgYW4gVVJJIHVzaW5nIGEgZG9jdW1lbnQncyBwcml2YXRlIGNhdGFsb2cgbGlzdDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNhdGFsb2dzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGRvY3VtZW50J3MgbGlzdCBvZiBjYXRhbG9nczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+VVJJPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgVVJJPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgVVJJIG9mIHRoZSByZXNvdXJjZSBvciBOVUxMIGlmIG5vdCBmb3VuZCwgaXQgbXVzdCBiZSBmcmVlZCBieSB0aGUgY2FsbGVyLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbENhdGFsb2dSZW1vdmUiIGlkPSJ4bWxDYXRhbG9nUmVtb3ZlIj48L2E+RnVuY3Rpb246IHhtbENhdGFsb2dSZW1vdmU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sQ2F0YWxvZ1JlbW92ZQkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHZhbHVlKTxiciAvPgorPC9wcmU+PHA+UmVtb3ZlIGFuIGVudHJ5IGZyb20gdGhlIGNhdGFsb2c8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWx1ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHZhbHVlIHRvIHJlbW92ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBlbnRyaWVzIHJlbW92ZWQgaWYgc3VjY2Vzc2Z1bCwgLTEgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sQ2F0YWxvZ1Jlc29sdmUiIGlkPSJ4bWxDYXRhbG9nUmVzb2x2ZSI+PC9hPkZ1bmN0aW9uOiB4bWxDYXRhbG9nUmVzb2x2ZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbENhdGFsb2dSZXNvbHZlCShjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwdWJJRCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3lzSUQpPGJyIC8+Cis8L3ByZT48cD5EbyBhIGNvbXBsZXRlIHJlc29sdXRpb24gbG9va3VwIG9mIGFuIEV4dGVybmFsIElkZW50aWZpZXI8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wdWJJRDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHB1YmxpYyBJRCBzdHJpbmc8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN5c0lEPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc3lzdGVtIElEIHN0cmluZzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFVSSSBvZiB0aGUgcmVzb3VyY2Ugb3IgTlVMTCBpZiBub3QgZm91bmQsIGl0IG11c3QgYmUgZnJlZWQgYnkgdGhlIGNhbGxlci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxDYXRhbG9nUmVzb2x2ZVB1YmxpYyIgaWQ9InhtbENhdGFsb2dSZXNvbHZlUHVibGljIj48L2E+RnVuY3Rpb246IHhtbENhdGFsb2dSZXNvbHZlUHVibGljPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sQ2F0YWxvZ1Jlc29sdmVQdWJsaWMJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHB1YklEKTxiciAvPgorPC9wcmU+PHA+VHJ5IHRvIGxvb2t1cCB0aGUgY2F0YWxvZyA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjcmVmZXJlbmNlIj5yZWZlcmVuY2U8L2E+IGFzc29jaWF0ZWQgdG8gYSBwdWJsaWMgSUQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wdWJJRDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHB1YmxpYyBJRCBzdHJpbmc8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSByZXNvdXJjZSBpZiBmb3VuZCBvciBOVUxMIG90aGVyd2lzZSwgdGhlIHZhbHVlIHJldHVybmVkIG11c3QgYmUgZnJlZWQgYnkgdGhlIGNhbGxlci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxDYXRhbG9nUmVzb2x2ZVN5c3RlbSIgaWQ9InhtbENhdGFsb2dSZXNvbHZlU3lzdGVtIj48L2E+RnVuY3Rpb246IHhtbENhdGFsb2dSZXNvbHZlU3lzdGVtPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sQ2F0YWxvZ1Jlc29sdmVTeXN0ZW0JKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN5c0lEKTxiciAvPgorPC9wcmU+PHA+VHJ5IHRvIGxvb2t1cCB0aGUgY2F0YWxvZyByZXNvdXJjZSBmb3IgYSBzeXN0ZW0gSUQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zeXNJRDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHN5c3RlbSBJRCBzdHJpbmc8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSByZXNvdXJjZSBpZiBmb3VuZCBvciBOVUxMIG90aGVyd2lzZSwgdGhlIHZhbHVlIHJldHVybmVkIG11c3QgYmUgZnJlZWQgYnkgdGhlIGNhbGxlci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxDYXRhbG9nUmVzb2x2ZVVSSSIgaWQ9InhtbENhdGFsb2dSZXNvbHZlVVJJIj48L2E+RnVuY3Rpb246IHhtbENhdGFsb2dSZXNvbHZlVVJJPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sQ2F0YWxvZ1Jlc29sdmVVUkkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIFVSSSk8YnIgLz4KKzwvcHJlPjxwPkRvIGEgY29tcGxldGUgcmVzb2x1dGlvbiBsb29rdXAgb2YgYW4gVVJJPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+VVJJPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgVVJJPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgVVJJIG9mIHRoZSByZXNvdXJjZSBvciBOVUxMIGlmIG5vdCBmb3VuZCwgaXQgbXVzdCBiZSBmcmVlZCBieSB0aGUgY2FsbGVyLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbENhdGFsb2dTZXREZWJ1ZyIgaWQ9InhtbENhdGFsb2dTZXREZWJ1ZyI+PC9hPkZ1bmN0aW9uOiB4bWxDYXRhbG9nU2V0RGVidWc8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sQ2F0YWxvZ1NldERlYnVnCQkoaW50IGxldmVsKTxiciAvPgorPC9wcmU+PHA+VXNlZCB0byBzZXQgdGhlIGRlYnVnIGxldmVsIGZvciBjYXRhbG9nIG9wZXJhdGlvbiwgMCBkaXNhYmxlIGRlYnVnZ2luZywgMSBlbmFibGUgaXQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZXZlbDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRlYnVnIGxldmVsIG9mIGNhdGFsb2dzIHJlcXVpcmVkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcHJldmlvdXMgdmFsdWUgb2YgdGhlIGNhdGFsb2cgZGVidWdnaW5nIGxldmVsPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sQ2F0YWxvZ1NldERlZmF1bHRQcmVmZXIiIGlkPSJ4bWxDYXRhbG9nU2V0RGVmYXVsdFByZWZlciI+PC9hPkZ1bmN0aW9uOiB4bWxDYXRhbG9nU2V0RGVmYXVsdFByZWZlcjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ1ByZWZlciI+eG1sQ2F0YWxvZ1ByZWZlcjwvYT4JeG1sQ2F0YWxvZ1NldERlZmF1bHRQcmVmZXIJKDxhIGhyZWY9ImxpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ1ByZWZlciI+eG1sQ2F0YWxvZ1ByZWZlcjwvYT4gcHJlZmVyKTxiciAvPgorPC9wcmU+PHA+QWxsb3dzIHRvIHNldCB0aGUgcHJlZmVyZW5jZSBiZXR3ZWVuIHB1YmxpYyBhbmQgc3lzdGVtIGZvciBkZWxldGlvbiBpbiBYTUwgQ2F0YWxvZyByZXNvbHV0aW9uLiBDLmYuIHNlY3Rpb24gNC4xLjEgb2YgdGhlIHNwZWMgVmFsdWVzIGFjY2VwdGVkIGFyZSA8YSBocmVmPSJsaWJ4bWwtY2F0YWxvZy5odG1sI1hNTF9DQVRBX1BSRUZFUl9QVUJMSUMiPlhNTF9DQVRBX1BSRUZFUl9QVUJMSUM8L2E+IG9yIDxhIGhyZWY9ImxpYnhtbC1jYXRhbG9nLmh0bWwjWE1MX0NBVEFfUFJFRkVSX1NZU1RFTSI+WE1MX0NBVEFfUFJFRkVSX1NZU1RFTTwvYT48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wcmVmZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkZWZhdWx0IHByZWZlcmVuY2UgZm9yIGRlbGVnYXRpb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwcmV2aW91cyB2YWx1ZSBvZiB0aGUgZGVmYXVsdCBwcmVmZXJlbmNlIGZvciBkZWxlZ2F0aW9uPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sQ2F0YWxvZ1NldERlZmF1bHRzIiBpZD0ieG1sQ2F0YWxvZ1NldERlZmF1bHRzIj48L2E+RnVuY3Rpb246IHhtbENhdGFsb2dTZXREZWZhdWx0czwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sQ2F0YWxvZ1NldERlZmF1bHRzCQkoPGEgaHJlZj0ibGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nQWxsb3ciPnhtbENhdGFsb2dBbGxvdzwvYT4gYWxsb3cpPGJyIC8+Cis8L3ByZT48cD5Vc2VkIHRvIHNldCB0aGUgdXNlciBwcmVmZXJlbmNlIHcuci50LiB0byB3aGF0IGNhdGFsb2dzIHNob3VsZCBiZSBhY2NlcHRlZDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmFsbG93PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD53aGF0IGNhdGFsb2dzIHNob3VsZCBiZSBhY2NlcHRlZDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbENvbnZlcnRTR01MQ2F0YWxvZyIgaWQ9InhtbENvbnZlcnRTR01MQ2F0YWxvZyI+PC9hPkZ1bmN0aW9uOiB4bWxDb252ZXJ0U0dNTENhdGFsb2c8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sQ29udmVydFNHTUxDYXRhbG9nCQkoPGEgaHJlZj0ibGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nUHRyIj54bWxDYXRhbG9nUHRyPC9hPiBjYXRhbCk8YnIgLz4KKzwvcHJlPjxwPkNvbnZlcnQgYWxsIHRoZSBTR01MIGNhdGFsb2cgZW50cmllcyBhcyBYTUwgb25lczwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNhdGFsPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY2F0YWxvZzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBlbnRyaWVzIGNvbnZlcnRlZCBpZiBzdWNjZXNzZnVsLCAtMSBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxGcmVlQ2F0YWxvZyIgaWQ9InhtbEZyZWVDYXRhbG9nIj48L2E+RnVuY3Rpb246IHhtbEZyZWVDYXRhbG9nPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxGcmVlQ2F0YWxvZwkJCSg8YSBocmVmPSJsaWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dQdHIiPnhtbENhdGFsb2dQdHI8L2E+IGNhdGFsKTxiciAvPgorPC9wcmU+PHA+RnJlZSB0aGUgbWVtb3J5IGFsbG9jYXRlZCB0byBhIENhdGFsb2c8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jYXRhbDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBDYXRhbG9nPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sSW5pdGlhbGl6ZUNhdGFsb2ciIGlkPSJ4bWxJbml0aWFsaXplQ2F0YWxvZyI+PC9hPkZ1bmN0aW9uOiB4bWxJbml0aWFsaXplQ2F0YWxvZzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sSW5pdGlhbGl6ZUNhdGFsb2cJCSh2b2lkKTxiciAvPgorPC9wcmU+PHA+RG8gdGhlIGNhdGFsb2cgaW5pdGlhbGl6YXRpb24uIHRoaXMgZnVuY3Rpb24gaXMgbm90IHRocmVhZCBzYWZlLCBjYXRhbG9nIGluaXRpYWxpemF0aW9uIHNob3VsZCBwcmVmZXJhYmx5IGJlIGRvbmUgb25jZSBhdCBzdGFydHVwPC9wPgorPGgzPjxhIG5hbWU9InhtbExvYWRBQ2F0YWxvZyIgaWQ9InhtbExvYWRBQ2F0YWxvZyI+PC9hPkZ1bmN0aW9uOiB4bWxMb2FkQUNhdGFsb2c8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dQdHIiPnhtbENhdGFsb2dQdHI8L2E+CXhtbExvYWRBQ2F0YWxvZwkJKGNvbnN0IGNoYXIgKiBmaWxlbmFtZSk8YnIgLz4KKzwvcHJlPjxwPkxvYWQgdGhlIGNhdGFsb2cgYW5kIGJ1aWxkIHRoZSBhc3NvY2lhdGVkIGRhdGEgc3RydWN0dXJlcy4gVGhpcyBjYW4gYmUgZWl0aGVyIGFuIFhNTCBDYXRhbG9nIG9yIGFuIFNHTUwgQ2F0YWxvZyBJdCB3aWxsIHJlY3Vyc2UgaW4gU0dNTCBDQVRBTE9HIGVudHJpZXMuIE9uIHRoZSBvdGhlciBoYW5kIFhNTCBDYXRhbG9ncyBhcmUgbm90IGhhbmRsZWQgcmVjdXJzaXZlbHkuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmlsZW5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgZmlsZSBwYXRoPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY2F0YWxvZyBwYXJzZWQgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sTG9hZENhdGFsb2ciIGlkPSJ4bWxMb2FkQ2F0YWxvZyI+PC9hPkZ1bmN0aW9uOiB4bWxMb2FkQ2F0YWxvZzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxMb2FkQ2F0YWxvZwkJCShjb25zdCBjaGFyICogZmlsZW5hbWUpPGJyIC8+Cis8L3ByZT48cD5Mb2FkIHRoZSBjYXRhbG9nIGFuZCBtYWtlcyBpdHMgZGVmaW5pdGlvbnMgZWZmZWN0aXZlIGZvciB0aGUgZGVmYXVsdCBleHRlcm5hbCBlbnRpdHkgbG9hZGVyLiBJdCB3aWxsIHJlY3Vyc2UgaW4gU0dNTCBDQVRBTE9HIGVudHJpZXMuIHRoaXMgZnVuY3Rpb24gaXMgbm90IHRocmVhZCBzYWZlLCBjYXRhbG9nIGluaXRpYWxpemF0aW9uIHNob3VsZCBwcmVmZXJhYmx5IGJlIGRvbmUgb25jZSBhdCBzdGFydHVwPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmlsZW5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgZmlsZSBwYXRoPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGluIGNhc2Ugb2Ygc3VjY2VzcyAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sTG9hZENhdGFsb2dzIiBpZD0ieG1sTG9hZENhdGFsb2dzIj48L2E+RnVuY3Rpb246IHhtbExvYWRDYXRhbG9nczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sTG9hZENhdGFsb2dzCQkJKGNvbnN0IGNoYXIgKiBwYXRoc3MpPGJyIC8+Cis8L3ByZT48cD5Mb2FkIHRoZSBjYXRhbG9ncyBhbmQgbWFrZXMgdGhlaXIgZGVmaW5pdGlvbnMgZWZmZWN0aXZlIGZvciB0aGUgZGVmYXVsdCBleHRlcm5hbCBlbnRpdHkgbG9hZGVyLiB0aGlzIGZ1bmN0aW9uIGlzIG5vdCB0aHJlYWQgc2FmZSwgY2F0YWxvZyBpbml0aWFsaXphdGlvbiBzaG91bGQgcHJlZmVyYWJseSBiZSBkb25lIG9uY2UgYXQgc3RhcnR1cDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnBhdGhzczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBsaXN0IG9mIGRpcmVjdG9yaWVzIHNlcGFyYXRlZCBieSBhIGNvbG9uIG9yIGEgc3BhY2UuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sTG9hZFNHTUxTdXBlckNhdGFsb2ciIGlkPSJ4bWxMb2FkU0dNTFN1cGVyQ2F0YWxvZyI+PC9hPkZ1bmN0aW9uOiB4bWxMb2FkU0dNTFN1cGVyQ2F0YWxvZzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ1B0ciI+eG1sQ2F0YWxvZ1B0cjwvYT4JeG1sTG9hZFNHTUxTdXBlckNhdGFsb2cJKGNvbnN0IGNoYXIgKiBmaWxlbmFtZSk8YnIgLz4KKzwvcHJlPjxwPkxvYWQgYW4gU0dNTCBzdXBlciBjYXRhbG9nLiBJdCB3b24ndCBleHBhbmQgQ0FUQUxPRyBvciBERUxFR0FURSByZWZlcmVuY2VzLiBUaGlzIGlzIG9ubHkgbmVlZGVkIGZvciBtYW5pcHVsYXRpbmcgU0dNTCBTdXBlciBDYXRhbG9ncyBsaWtlIGFkZGluZyBhbmQgcmVtb3ZpbmcgQ0FUQUxPRyBvciBERUxFR0FURSBlbnRyaWVzLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZpbGVuYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGZpbGUgcGF0aDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGNhdGFsb2cgcGFyc2VkIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbE5ld0NhdGFsb2ciIGlkPSJ4bWxOZXdDYXRhbG9nIj48L2E+RnVuY3Rpb246IHhtbE5ld0NhdGFsb2c8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dQdHIiPnhtbENhdGFsb2dQdHI8L2E+CXhtbE5ld0NhdGFsb2cJCShpbnQgc2dtbCk8YnIgLz4KKzwvcHJlPjxwPmNyZWF0ZSBhIG5ldyBDYXRhbG9nLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNnbWw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnNob3VsZCB0aGlzIGNyZWF0ZSBhbiBTR01MIGNhdGFsb2c8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dQdHIiPnhtbENhdGFsb2dQdHI8L2E+IG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFBhcnNlQ2F0YWxvZ0ZpbGUiIGlkPSJ4bWxQYXJzZUNhdGFsb2dGaWxlIj48L2E+RnVuY3Rpb246IHhtbFBhcnNlQ2F0YWxvZ0ZpbGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPgl4bWxQYXJzZUNhdGFsb2dGaWxlCShjb25zdCBjaGFyICogZmlsZW5hbWUpPGJyIC8+Cis8L3ByZT48cD5wYXJzZSBhbiBYTUwgZmlsZSBhbmQgYnVpbGQgYSB0cmVlLiBJdCdzIGxpa2UgeG1sUGFyc2VGaWxlKCkgZXhjZXB0IGl0IGJ5cGFzcyBhbGwgY2F0YWxvZyBsb29rdXBzLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZpbGVuYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZmlsZW5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSByZXN1bHRpbmcgZG9jdW1lbnQgdHJlZSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxwPjxhIGhyZWY9Ii4uL2J1Z3MuaHRtbCI+RGFuaWVsIFZlaWxsYXJkPC9hPjwvcD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvaHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sIGIvbGlieG1sMi9kb2MvaHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE3N2U5ZjYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9odG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIj4KKzxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj48aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz48bGluayByZWw9IlNIT1JUQ1VUIElDT04iIGhyZWY9Ii9mYXZpY29uLmljbyIgLz48c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorVEQge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0JPRFkge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYTsgbWFyZ2luLXRvcDogMmVtOyBtYXJnaW4tbGVmdDogMGVtOyBtYXJnaW4tcmlnaHQ6IDBlbX0KK0gxIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMiB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDMge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0E6bGluaywgQTp2aXNpdGVkLCBBOmFjdGl2ZSB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIH0KKzwvc3R5bGU+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKyAgICAgIGRpdi5kZXByZWNhdGVkIHByZS5wcm9ncmFtbGlzdGluZyB7Ym9yZGVyLXN0eWxlOiBkb3VibGU7Ym9yZGVyLWNvbG9yOnJlZH0KKyAgICAgIHByZS5wcm9ncmFtbGlzdGluZyB7Ym9yZGVyLXN0eWxlOiBkb3VibGU7YmFja2dyb3VuZDogI0VFQ0ZBMX0KKyAgICA8L3N0eWxlPjx0aXRsZT5Nb2R1bGUgY2h2YWxpZCBmcm9tIGxpYnhtbDI8L3RpdGxlPjwvaGVhZD48Ym9keSBiZ2NvbG9yPSIjOGI3NzY1IiB0ZXh0PSIjMDAwMDAwIiBsaW5rPSIjYTA2MDYwIiB2bGluaz0iIzAwMDAwMCI+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjEwMCUiIGNlbGxwYWRkaW5nPSI1IiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCB3aWR0aD0iMTIwIj48YSBocmVmPSJodHRwOi8vc3dwYXQuZmZpaS5vcmcvIj48aW1nIHNyYz0iLi4vZXBhdGVudHMucG5nIiBhbHQ9IkFjdGlvbiBhZ2FpbnN0IHNvZnR3YXJlIHBhdGVudHMiIC8+PC9hPjwvdGQ+PHRkIHdpZHRoPSIxODAiPjxhIGhyZWY9Imh0dHA6Ly93d3cuZ25vbWUub3JnLyI+PGltZyBzcmM9Ii4uL2dub21lMi5wbmciIGFsdD0iR25vbWUyIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1N0YXR1cyI+PGltZyBzcmM9Ii4uL3czYy5wbmciIGFsdD0iVzNDIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cucmVkaGF0LmNvbS8iPjxpbWcgc3JjPSIuLi9yZWRoYXQuZ2lmIiBhbHQ9IlJlZCBIYXQgTG9nbyIgLz48L2E+PGRpdiBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnLyI+PGltZyBzcmM9Ii4uL0xpYnhtbDItTG9nby0xODB4MTY4LmdpZiIgYWx0PSJNYWRlIHdpdGggTGlieG1sMiBMb2dvIiAvPjwvYT48L2Rpdj48L3RkPjx0ZD48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iOTAlIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyIgYmdjb2xvcj0iI2ZmZmFjZCI+PHRyPjx0ZCBhbGlnbj0iY2VudGVyIj48aDE+PC9oMT48aDI+TW9kdWxlIGNodmFsaWQgZnJvbSBsaWJ4bWwyPC9oMj48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iNCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiIgd2lkdGg9IjEwMCUiPjx0cj48dGQgdmFsaWduPSJ0b3AiIHdpZHRoPSIyMDAiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPkFQSSBNZW51PC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjxmb3JtIGFjdGlvbj0iLi4vc2VhcmNoLnBocCIgZW5jdHlwZT0iYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIiBtZXRob2Q9ImdldCI+PGlucHV0IG5hbWU9InF1ZXJ5IiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IiIgLz48aW5wdXQgbmFtZT0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJTZWFyY2ggLi4uIiAvPjwvZm9ybT48dWw+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSIuLi9pbmRleC5odG1sIj5NYWluIE1lbnU8L2E+PC9saT48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9Ii4uL2RvY3MuaHRtbCI+RGV2ZWxvcGVyIE1lbnU8L2E+PC9saT48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9Ii4uL2V4YW1wbGVzL2luZGV4Lmh0bWwiPkNvZGUgRXhhbXBsZXM8L2E+PC9saT48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9ImluZGV4Lmh0bWwiPkFQSSBNZW51PC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1wYXJzZXIuaHRtbCI+UGFyc2VyIEFQSTwvYT48L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sIj5UcmVlIEFQSTwvYT48L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwiPlJlYWRlciBBUEk8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vZ3VpZGVsaW5lcy5odG1sIj5YTUwgR3VpZGVsaW5lczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9DaGFuZ2VMb2cuaHRtbCI+Q2hhbmdlTG9nPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+QVBJIEluZGV4ZXM8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSIuLi9BUEljaHVuazAuaHRtbCI+QWxwaGFiZXRpYzwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUEljb25zdHJ1Y3RvcnMuaHRtbCI+Q29uc3RydWN0b3JzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSWZ1bmN0aW9ucy5odG1sIj5GdW5jdGlvbnMvVHlwZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJZmlsZXMuaHRtbCI+TW9kdWxlczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUElzeW1ib2xzLmh0bWwiPlN5bWJvbHM8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5SZWxhdGVkIGxpbmtzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iaHR0cDovL21haWwuZ25vbWUub3JnL2FyY2hpdmVzL3htbC8iPk1haWwgYXJjaGl2ZTwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvWFNMVC8iPlhTTFQgbGlieHNsdDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vcGhkLmNzLnVuaWJvLml0L2dkb21lMi8iPkRPTSBnZG9tZTI8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5hbGVrc2V5LmNvbS94bWxzZWMvIj5YTUwtRFNpZyB4bWxzZWM8L2E+PC9saT48bGk+PGEgaHJlZj0iZnRwOi8veG1sc29mdC5vcmcvIj5GVFA8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56bGF0a292aWMuY29tL3Byb2plY3RzL2xpYnhtbC8iPldpbmRvd3MgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL29wZW5jc3cub3JnL3BhY2thZ2VzL2xpYnhtbDIiPlNvbGFyaXMgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5leHBsYWluLmNvbS5hdS9vc3MvbGlieG1sMnhzbHQuaHRtbCI+TWFjT3NYIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9seG1sLmRlLyI+bHhtbCBQeXRob24gYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2NwYW4udXdpbm5pcGVnLmNhL2Rpc3QvWE1MLUxpYlhNTCI+UGVybCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1scGx1c3BsdXMuc291cmNlZm9yZ2UubmV0LyI+QysrIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemVuZC5jb20vcGhwNS9hcnRpY2xlcy9waHA1LXhtbHBocC5waHAjSGVhZGluZzQiPlBIUCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2xpYnhtbDItcGFzLyI+UGFzY2FsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWwucnVieWZvcmdlLm9yZy8iPlJ1YnkgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3RjbHhtbC5zb3VyY2Vmb3JnZS5uZXQvIj5UY2wgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9idWdsaXN0LmNnaT9wcm9kdWN0PWxpYnhtbDIiPkJ1ZyBUcmFja2VyPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIzIiBjZWxsc3BhY2luZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHRhYmxlIGNsYXNzPSJuYXZpZ2F0aW9uIiB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBoZWFkZXIiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMiI+PHRyIHZhbGlnbj0ibWlkZGxlIj48dGQ+PGEgYWNjZXNza2V5PSJwIiBocmVmPSJsaWJ4bWwtY2F0YWxvZy5odG1sIj48aW1nIHNyYz0ibGVmdC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlByZXYiIC8+PC9hPjwvdGQ+PHRoIGFsaWduPSJsZWZ0Ij48YSBocmVmPSJsaWJ4bWwtY2F0YWxvZy5odG1sIj5jYXRhbG9nPC9hPjwvdGg+PHRkPjxhIGFjY2Vzc2tleT0idSIgaHJlZj0iaW5kZXguaHRtbCI+PGltZyBzcmM9InVwLnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iVXAiIC8+PC9hPjwvdGQ+PHRoIGFsaWduPSJsZWZ0Ij48YSBocmVmPSJpbmRleC5odG1sIj5BUEkgZG9jdW1lbnRhdGlvbjwvYT48L3RoPjx0ZD48YSBhY2Nlc3NrZXk9ImgiIGhyZWY9Ii4uL2luZGV4Lmh0bWwiPjxpbWcgc3JjPSJob21lLnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iSG9tZSIgLz48L2E+PC90ZD48dGggYWxpZ249ImNlbnRlciI+PGEgaHJlZj0iLi4vaW5kZXguaHRtbCI+VGhlIFhNTCBDIHBhcnNlciBhbmQgdG9vbGtpdCBvZiBHbm9tZTwvYT48L3RoPjx0aCBhbGlnbj0icmlnaHQiPjxhIGhyZWY9ImxpYnhtbC1kZWJ1Z1hNTC5odG1sIj5kZWJ1Z1hNTDwvYT48L3RoPjx0ZD48YSBhY2Nlc3NrZXk9Im4iIGhyZWY9ImxpYnhtbC1kZWJ1Z1hNTC5odG1sIj48aW1nIHNyYz0icmlnaHQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJOZXh0IiAvPjwvYT48L3RkPjwvdHI+PC90YWJsZT48cD50aGlzIG1vZHVsZSBleHBvcnRzIGludGVyZmFjZXMgZm9yIHRoZSBjaGFyYWN0ZXIgcmFuZ2UgdmFsaWRhdGlvbiBBUElzICBUaGlzIGZpbGUgaXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgY3ZzIHNvdXJjZSBkZWZpbml0aW9uIGZpbGVzIHVzaW5nIHRoZSBnZW5DaFJhbmdlcy5weSBQeXRob24gc2NyaXB0IDwvcD48aDI+VGFibGUgb2YgQ29udGVudHM8L2gyPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiN4bWxJc0Jhc2VDaGFyUSI+eG1sSXNCYXNlQ2hhclE8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI3htbElzQmFzZUNoYXJfY2giPnhtbElzQmFzZUNoYXJfY2g8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI3htbElzQmxhbmtRIj54bWxJc0JsYW5rUTwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjeG1sSXNCbGFua19jaCI+eG1sSXNCbGFua19jaDwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjeG1sSXNDaGFyUSI+eG1sSXNDaGFyUTwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjeG1sSXNDaGFyX2NoIj54bWxJc0NoYXJfY2g8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI3htbElzQ29tYmluaW5nUSI+eG1sSXNDb21iaW5pbmdRPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiN4bWxJc0RpZ2l0USI+eG1sSXNEaWdpdFE8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI3htbElzRGlnaXRfY2giPnhtbElzRGlnaXRfY2g8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI3htbElzRXh0ZW5kZXJRIj54bWxJc0V4dGVuZGVyUTwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjeG1sSXNFeHRlbmRlcl9jaCI+eG1sSXNFeHRlbmRlcl9jaDwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjeG1sSXNJZGVvZ3JhcGhpY1EiPnhtbElzSWRlb2dyYXBoaWNRPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiN4bWxJc1B1YmlkQ2hhclEiPnhtbElzUHViaWRDaGFyUTwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjeG1sSXNQdWJpZENoYXJfY2giPnhtbElzUHViaWRDaGFyX2NoPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgPGEgaHJlZj0iI3htbENoTFJhbmdlIj54bWxDaExSYW5nZTwvYT48YnIgLz5zdHJ1Y3QgX3htbENoTFJhbmdlCis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+VHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwtY2h2YWxpZC5odG1sI3htbENoTFJhbmdlIj54bWxDaExSYW5nZTwvYT4gKiA8YSBuYW1lPSJ4bWxDaExSYW5nZVB0ciIgaWQ9InhtbENoTFJhbmdlUHRyIj54bWxDaExSYW5nZVB0cjwvYT4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgPGEgaHJlZj0iI3htbENoUmFuZ2VHcm91cCI+eG1sQ2hSYW5nZUdyb3VwPC9hPjxiciAvPnN0cnVjdCBfeG1sQ2hSYW5nZUdyb3VwCis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+VHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwtY2h2YWxpZC5odG1sI3htbENoUmFuZ2VHcm91cCI+eG1sQ2hSYW5nZUdyb3VwPC9hPiAqIDxhIG5hbWU9InhtbENoUmFuZ2VHcm91cFB0ciIgaWQ9InhtbENoUmFuZ2VHcm91cFB0ciI+eG1sQ2hSYW5nZUdyb3VwUHRyPC9hPgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlN0cnVjdHVyZSA8YSBocmVmPSIjeG1sQ2hTUmFuZ2UiPnhtbENoU1JhbmdlPC9hPjxiciAvPnN0cnVjdCBfeG1sQ2hTUmFuZ2UKKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5UeXBlZGVmIDxhIGhyZWY9ImxpYnhtbC1jaHZhbGlkLmh0bWwjeG1sQ2hTUmFuZ2UiPnhtbENoU1JhbmdlPC9hPiAqIDxhIG5hbWU9InhtbENoU1JhbmdlUHRyIiBpZD0ieG1sQ2hTUmFuZ2VQdHIiPnhtbENoU1JhbmdlUHRyPC9hPgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sQ2hhckluUmFuZ2UiPnhtbENoYXJJblJhbmdlPC9hPgkJCSh1bnNpZ25lZCBpbnQgdmFsLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwtY2h2YWxpZC5odG1sI3htbENoUmFuZ2VHcm91cCI+eG1sQ2hSYW5nZUdyb3VwPC9hPiAqIHJwdHIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxJc0Jhc2VDaGFyIj54bWxJc0Jhc2VDaGFyPC9hPgkJCSh1bnNpZ25lZCBpbnQgY2gpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxJc0JsYW5rIj54bWxJc0JsYW5rPC9hPgkJCSh1bnNpZ25lZCBpbnQgY2gpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxJc0NoYXIiPnhtbElzQ2hhcjwvYT4JCQkodW5zaWduZWQgaW50IGNoKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sSXNDb21iaW5pbmciPnhtbElzQ29tYmluaW5nPC9hPgkJCSh1bnNpZ25lZCBpbnQgY2gpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxJc0RpZ2l0Ij54bWxJc0RpZ2l0PC9hPgkJCSh1bnNpZ25lZCBpbnQgY2gpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxJc0V4dGVuZGVyIj54bWxJc0V4dGVuZGVyPC9hPgkJCSh1bnNpZ25lZCBpbnQgY2gpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxJc0lkZW9ncmFwaGljIj54bWxJc0lkZW9ncmFwaGljPC9hPgkJKHVuc2lnbmVkIGludCBjaCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbElzUHViaWRDaGFyIj54bWxJc1B1YmlkQ2hhcjwvYT4JCQkodW5zaWduZWQgaW50IGNoKTwvcHJlPgorPGgyPkRlc2NyaXB0aW9uPC9oMj4KKzxoMz48YSBuYW1lPSJ4bWxJc0Jhc2VDaGFyUSIgaWQ9InhtbElzQmFzZUNoYXJRIj48L2E+TWFjcm86IHhtbElzQmFzZUNoYXJRPC9oMz48cHJlPiNkZWZpbmUgeG1sSXNCYXNlQ2hhclE8L3ByZT48cD5BdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSBnZW5DaFJhbmdlcy5weTwvcD4KKzxoMz48YSBuYW1lPSJ4bWxJc0Jhc2VDaGFyX2NoIiBpZD0ieG1sSXNCYXNlQ2hhcl9jaCI+PC9hPk1hY3JvOiB4bWxJc0Jhc2VDaGFyX2NoPC9oMz48cHJlPiNkZWZpbmUgeG1sSXNCYXNlQ2hhcl9jaDwvcHJlPjxwPkF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IGdlbkNoUmFuZ2VzLnB5PC9wPgorPGgzPjxhIG5hbWU9InhtbElzQmxhbmtRIiBpZD0ieG1sSXNCbGFua1EiPjwvYT5NYWNybzogeG1sSXNCbGFua1E8L2gzPjxwcmU+I2RlZmluZSB4bWxJc0JsYW5rUTwvcHJlPjxwPkF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IGdlbkNoUmFuZ2VzLnB5PC9wPgorPGgzPjxhIG5hbWU9InhtbElzQmxhbmtfY2giIGlkPSJ4bWxJc0JsYW5rX2NoIj48L2E+TWFjcm86IHhtbElzQmxhbmtfY2g8L2gzPjxwcmU+I2RlZmluZSB4bWxJc0JsYW5rX2NoPC9wcmU+PHA+QXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgZ2VuQ2hSYW5nZXMucHk8L3A+Cis8aDM+PGEgbmFtZT0ieG1sSXNDaGFyUSIgaWQ9InhtbElzQ2hhclEiPjwvYT5NYWNybzogeG1sSXNDaGFyUTwvaDM+PHByZT4jZGVmaW5lIHhtbElzQ2hhclE8L3ByZT48cD5BdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSBnZW5DaFJhbmdlcy5weTwvcD4KKzxoMz48YSBuYW1lPSJ4bWxJc0NoYXJfY2giIGlkPSJ4bWxJc0NoYXJfY2giPjwvYT5NYWNybzogeG1sSXNDaGFyX2NoPC9oMz48cHJlPiNkZWZpbmUgeG1sSXNDaGFyX2NoPC9wcmU+PHA+QXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgZ2VuQ2hSYW5nZXMucHk8L3A+Cis8aDM+PGEgbmFtZT0ieG1sSXNDb21iaW5pbmdRIiBpZD0ieG1sSXNDb21iaW5pbmdRIj48L2E+TWFjcm86IHhtbElzQ29tYmluaW5nUTwvaDM+PHByZT4jZGVmaW5lIHhtbElzQ29tYmluaW5nUTwvcHJlPjxwPkF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IGdlbkNoUmFuZ2VzLnB5PC9wPgorPGgzPjxhIG5hbWU9InhtbElzRGlnaXRRIiBpZD0ieG1sSXNEaWdpdFEiPjwvYT5NYWNybzogeG1sSXNEaWdpdFE8L2gzPjxwcmU+I2RlZmluZSB4bWxJc0RpZ2l0UTwvcHJlPjxwPkF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IGdlbkNoUmFuZ2VzLnB5PC9wPgorPGgzPjxhIG5hbWU9InhtbElzRGlnaXRfY2giIGlkPSJ4bWxJc0RpZ2l0X2NoIj48L2E+TWFjcm86IHhtbElzRGlnaXRfY2g8L2gzPjxwcmU+I2RlZmluZSB4bWxJc0RpZ2l0X2NoPC9wcmU+PHA+QXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgZ2VuQ2hSYW5nZXMucHk8L3A+Cis8aDM+PGEgbmFtZT0ieG1sSXNFeHRlbmRlclEiIGlkPSJ4bWxJc0V4dGVuZGVyUSI+PC9hPk1hY3JvOiB4bWxJc0V4dGVuZGVyUTwvaDM+PHByZT4jZGVmaW5lIHhtbElzRXh0ZW5kZXJRPC9wcmU+PHA+QXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgZ2VuQ2hSYW5nZXMucHk8L3A+Cis8aDM+PGEgbmFtZT0ieG1sSXNFeHRlbmRlcl9jaCIgaWQ9InhtbElzRXh0ZW5kZXJfY2giPjwvYT5NYWNybzogeG1sSXNFeHRlbmRlcl9jaDwvaDM+PHByZT4jZGVmaW5lIHhtbElzRXh0ZW5kZXJfY2g8L3ByZT48cD5BdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSBnZW5DaFJhbmdlcy5weTwvcD4KKzxoMz48YSBuYW1lPSJ4bWxJc0lkZW9ncmFwaGljUSIgaWQ9InhtbElzSWRlb2dyYXBoaWNRIj48L2E+TWFjcm86IHhtbElzSWRlb2dyYXBoaWNRPC9oMz48cHJlPiNkZWZpbmUgeG1sSXNJZGVvZ3JhcGhpY1E8L3ByZT48cD5BdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSBnZW5DaFJhbmdlcy5weTwvcD4KKzxoMz48YSBuYW1lPSJ4bWxJc1B1YmlkQ2hhclEiIGlkPSJ4bWxJc1B1YmlkQ2hhclEiPjwvYT5NYWNybzogeG1sSXNQdWJpZENoYXJRPC9oMz48cHJlPiNkZWZpbmUgeG1sSXNQdWJpZENoYXJRPC9wcmU+PHA+QXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgZ2VuQ2hSYW5nZXMucHk8L3A+Cis8aDM+PGEgbmFtZT0ieG1sSXNQdWJpZENoYXJfY2giIGlkPSJ4bWxJc1B1YmlkQ2hhcl9jaCI+PC9hPk1hY3JvOiB4bWxJc1B1YmlkQ2hhcl9jaDwvaDM+PHByZT4jZGVmaW5lIHhtbElzUHViaWRDaGFyX2NoPC9wcmU+PHA+QXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgZ2VuQ2hSYW5nZXMucHk8L3A+Cis8aDM+PGEgbmFtZT0ieG1sQ2hMUmFuZ2UiIGlkPSJ4bWxDaExSYW5nZSI+U3RydWN0dXJlIHhtbENoTFJhbmdlPC9hPjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlN0cnVjdHVyZSB4bWxDaExSYW5nZTxiciAvPnN0cnVjdCBfeG1sQ2hMUmFuZ2UgeworICAgIHVuc2lnbmVkIGludAlsb3cKKyAgICB1bnNpZ25lZCBpbnQJaGlnaAorfTwvcHJlPjxoMz48YSBuYW1lPSJ4bWxDaFJhbmdlR3JvdXAiIGlkPSJ4bWxDaFJhbmdlR3JvdXAiPlN0cnVjdHVyZSB4bWxDaFJhbmdlR3JvdXA8L2E+PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+U3RydWN0dXJlIHhtbENoUmFuZ2VHcm91cDxiciAvPnN0cnVjdCBfeG1sQ2hSYW5nZUdyb3VwIHsKKyAgICBpbnQJbmJTaG9ydFJhbmdlCisgICAgaW50CW5iTG9uZ1JhbmdlCisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sLWNodmFsaWQuaHRtbCN4bWxDaFNSYW5nZSI+eG1sQ2hTUmFuZ2U8L2E+ICoJc2hvcnRSYW5nZQk6IHBvaW50cyB0byBhbiBhcnJheSBvZiByYW5nZXMKKyAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwtY2h2YWxpZC5odG1sI3htbENoTFJhbmdlIj54bWxDaExSYW5nZTwvYT4gKglsb25nUmFuZ2UKK308L3ByZT48aDM+PGEgbmFtZT0ieG1sQ2hTUmFuZ2UiIGlkPSJ4bWxDaFNSYW5nZSI+U3RydWN0dXJlIHhtbENoU1JhbmdlPC9hPjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlN0cnVjdHVyZSB4bWxDaFNSYW5nZTxiciAvPnN0cnVjdCBfeG1sQ2hTUmFuZ2UgeworICAgIHVuc2lnbmVkIHNob3J0CWxvdworICAgIHVuc2lnbmVkIHNob3J0CWhpZ2gKK308L3ByZT48aDM+PGEgbmFtZT0ieG1sQ2hhckluUmFuZ2UiIGlkPSJ4bWxDaGFySW5SYW5nZSI+PC9hPkZ1bmN0aW9uOiB4bWxDaGFySW5SYW5nZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxDaGFySW5SYW5nZQkJCSh1bnNpZ25lZCBpbnQgdmFsLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwtY2h2YWxpZC5odG1sI3htbENoUmFuZ2VHcm91cCI+eG1sQ2hSYW5nZUdyb3VwPC9hPiAqIHJwdHIpPGJyIC8+Cis8L3ByZT48cD5Eb2VzIGEgYmluYXJ5IHNlYXJjaCBvZiB0aGUgcmFuZ2UgdGFibGUgdG8gZGV0ZXJtaW5lIGlmIGNoYXIgaXMgdmFsaWQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmNoYXJhY3RlciB0byBiZSB2YWxpZGF0ZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJwdHI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnBvaW50ZXIgdG8gcmFuZ2UgdG8gYmUgdXNlZCB0byB2YWxpZGF0ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dHJ1ZSBpZiBjaGFyYWN0ZXIgdmFsaWQsIGZhbHNlIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbElzQmFzZUNoYXIiIGlkPSJ4bWxJc0Jhc2VDaGFyIj48L2E+RnVuY3Rpb246IHhtbElzQmFzZUNoYXI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sSXNCYXNlQ2hhcgkJCSh1bnNpZ25lZCBpbnQgY2gpPGJyIC8+Cis8L3ByZT48cD5UaGlzIGZ1bmN0aW9uIGlzIERFUFJFQ0FURUQuIFVzZSA8YSBocmVmPSJsaWJ4bWwtY2h2YWxpZC5odG1sI3htbElzQmFzZUNoYXJfY2giPnhtbElzQmFzZUNoYXJfY2g8L2E+IG9yIDxhIGhyZWY9ImxpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNCYXNlQ2hhclEiPnhtbElzQmFzZUNoYXJRPC9hPiBpbnN0ZWFkPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y2g8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmNoYXJhY3RlciB0byB2YWxpZGF0ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dHJ1ZSBpZiBhcmd1bWVudCB2YWxpZCwgZmFsc2Ugb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sSXNCbGFuayIgaWQ9InhtbElzQmxhbmsiPjwvYT5GdW5jdGlvbjogeG1sSXNCbGFuazwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxJc0JsYW5rCQkJKHVuc2lnbmVkIGludCBjaCk8YnIgLz4KKzwvcHJlPjxwPlRoaXMgZnVuY3Rpb24gaXMgREVQUkVDQVRFRC4gVXNlIDxhIGhyZWY9ImxpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNCbGFua19jaCI+eG1sSXNCbGFua19jaDwvYT4gb3IgPGEgaHJlZj0ibGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc0JsYW5rUSI+eG1sSXNCbGFua1E8L2E+IGluc3RlYWQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jaDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+Y2hhcmFjdGVyIHRvIHZhbGlkYXRlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50cnVlIGlmIGFyZ3VtZW50IHZhbGlkLCBmYWxzZSBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxJc0NoYXIiIGlkPSJ4bWxJc0NoYXIiPjwvYT5GdW5jdGlvbjogeG1sSXNDaGFyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbElzQ2hhcgkJCSh1bnNpZ25lZCBpbnQgY2gpPGJyIC8+Cis8L3ByZT48cD5UaGlzIGZ1bmN0aW9uIGlzIERFUFJFQ0FURUQuIFVzZSA8YSBocmVmPSJsaWJ4bWwtY2h2YWxpZC5odG1sI3htbElzQ2hhcl9jaCI+eG1sSXNDaGFyX2NoPC9hPiBvciA8YSBocmVmPSJsaWJ4bWwtY2h2YWxpZC5odG1sI3htbElzQ2hhclEiPnhtbElzQ2hhclE8L2E+IGluc3RlYWQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jaDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+Y2hhcmFjdGVyIHRvIHZhbGlkYXRlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50cnVlIGlmIGFyZ3VtZW50IHZhbGlkLCBmYWxzZSBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxJc0NvbWJpbmluZyIgaWQ9InhtbElzQ29tYmluaW5nIj48L2E+RnVuY3Rpb246IHhtbElzQ29tYmluaW5nPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbElzQ29tYmluaW5nCQkJKHVuc2lnbmVkIGludCBjaCk8YnIgLz4KKzwvcHJlPjxwPlRoaXMgZnVuY3Rpb24gaXMgREVQUkVDQVRFRC4gVXNlIDxhIGhyZWY9ImxpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNDb21iaW5pbmdRIj54bWxJc0NvbWJpbmluZ1E8L2E+IGluc3RlYWQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jaDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+Y2hhcmFjdGVyIHRvIHZhbGlkYXRlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50cnVlIGlmIGFyZ3VtZW50IHZhbGlkLCBmYWxzZSBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxJc0RpZ2l0IiBpZD0ieG1sSXNEaWdpdCI+PC9hPkZ1bmN0aW9uOiB4bWxJc0RpZ2l0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbElzRGlnaXQJCQkodW5zaWduZWQgaW50IGNoKTxiciAvPgorPC9wcmU+PHA+VGhpcyBmdW5jdGlvbiBpcyBERVBSRUNBVEVELiBVc2UgPGEgaHJlZj0ibGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc0RpZ2l0X2NoIj54bWxJc0RpZ2l0X2NoPC9hPiBvciA8YSBocmVmPSJsaWJ4bWwtY2h2YWxpZC5odG1sI3htbElzRGlnaXRRIj54bWxJc0RpZ2l0UTwvYT4gaW5zdGVhZDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNoPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5jaGFyYWN0ZXIgdG8gdmFsaWRhdGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRydWUgaWYgYXJndW1lbnQgdmFsaWQsIGZhbHNlIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbElzRXh0ZW5kZXIiIGlkPSJ4bWxJc0V4dGVuZGVyIj48L2E+RnVuY3Rpb246IHhtbElzRXh0ZW5kZXI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sSXNFeHRlbmRlcgkJCSh1bnNpZ25lZCBpbnQgY2gpPGJyIC8+Cis8L3ByZT48cD5UaGlzIGZ1bmN0aW9uIGlzIERFUFJFQ0FURUQuIFVzZSA8YSBocmVmPSJsaWJ4bWwtY2h2YWxpZC5odG1sI3htbElzRXh0ZW5kZXJfY2giPnhtbElzRXh0ZW5kZXJfY2g8L2E+IG9yIDxhIGhyZWY9ImxpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNFeHRlbmRlclEiPnhtbElzRXh0ZW5kZXJRPC9hPiBpbnN0ZWFkPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y2g8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmNoYXJhY3RlciB0byB2YWxpZGF0ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dHJ1ZSBpZiBhcmd1bWVudCB2YWxpZCwgZmFsc2Ugb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sSXNJZGVvZ3JhcGhpYyIgaWQ9InhtbElzSWRlb2dyYXBoaWMiPjwvYT5GdW5jdGlvbjogeG1sSXNJZGVvZ3JhcGhpYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxJc0lkZW9ncmFwaGljCQkodW5zaWduZWQgaW50IGNoKTxiciAvPgorPC9wcmU+PHA+VGhpcyBmdW5jdGlvbiBpcyBERVBSRUNBVEVELiBVc2UgPGEgaHJlZj0ibGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc0lkZW9ncmFwaGljUSI+eG1sSXNJZGVvZ3JhcGhpY1E8L2E+IGluc3RlYWQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jaDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+Y2hhcmFjdGVyIHRvIHZhbGlkYXRlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50cnVlIGlmIGFyZ3VtZW50IHZhbGlkLCBmYWxzZSBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxJc1B1YmlkQ2hhciIgaWQ9InhtbElzUHViaWRDaGFyIj48L2E+RnVuY3Rpb246IHhtbElzUHViaWRDaGFyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbElzUHViaWRDaGFyCQkJKHVuc2lnbmVkIGludCBjaCk8YnIgLz4KKzwvcHJlPjxwPlRoaXMgZnVuY3Rpb24gaXMgREVQUkVDQVRFRC4gVXNlIDxhIGhyZWY9ImxpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNQdWJpZENoYXJfY2giPnhtbElzUHViaWRDaGFyX2NoPC9hPiBvciA8YSBocmVmPSJsaWJ4bWwtY2h2YWxpZC5odG1sI3htbElzUHViaWRDaGFyUSI+eG1sSXNQdWJpZENoYXJRPC9hPiBpbnN0ZWFkPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y2g8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmNoYXJhY3RlciB0byB2YWxpZGF0ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dHJ1ZSBpZiBhcmd1bWVudCB2YWxpZCwgZmFsc2Ugb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48cD48YSBocmVmPSIuLi9idWdzLmh0bWwiPkRhbmllbCBWZWlsbGFyZDwvYT48L3A+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2h0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwgYi9saWJ4bWwyL2RvYy9odG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM0MjZlMTQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9odG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sCkBAIC0wLDAgKzEsMTIwIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPgorPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPjxoZWFkPjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPjxsaW5rIHJlbD0iU0hPUlRDVVQgSUNPTiIgaHJlZj0iL2Zhdmljb24uaWNvIiAvPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CitURCB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorQk9EWSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhOyBtYXJnaW4tdG9wOiAyZW07IG1hcmdpbi1sZWZ0OiAwZW07IG1hcmdpbi1yaWdodDogMGVtfQorSDEge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gyIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMyB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorQTpsaW5rLCBBOnZpc2l0ZWQsIEE6YWN0aXZlIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgfQorPC9zdHlsZT48c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorICAgICAgZGl2LmRlcHJlY2F0ZWQgcHJlLnByb2dyYW1saXN0aW5nIHtib3JkZXItc3R5bGU6IGRvdWJsZTtib3JkZXItY29sb3I6cmVkfQorICAgICAgcHJlLnByb2dyYW1saXN0aW5nIHtib3JkZXItc3R5bGU6IGRvdWJsZTtiYWNrZ3JvdW5kOiAjRUVDRkExfQorICAgIDwvc3R5bGU+PHRpdGxlPk1vZHVsZSBkZWJ1Z1hNTCBmcm9tIGxpYnhtbDI8L3RpdGxlPjwvaGVhZD48Ym9keSBiZ2NvbG9yPSIjOGI3NzY1IiB0ZXh0PSIjMDAwMDAwIiBsaW5rPSIjYTA2MDYwIiB2bGluaz0iIzAwMDAwMCI+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjEwMCUiIGNlbGxwYWRkaW5nPSI1IiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCB3aWR0aD0iMTIwIj48YSBocmVmPSJodHRwOi8vc3dwYXQuZmZpaS5vcmcvIj48aW1nIHNyYz0iLi4vZXBhdGVudHMucG5nIiBhbHQ9IkFjdGlvbiBhZ2FpbnN0IHNvZnR3YXJlIHBhdGVudHMiIC8+PC9hPjwvdGQ+PHRkIHdpZHRoPSIxODAiPjxhIGhyZWY9Imh0dHA6Ly93d3cuZ25vbWUub3JnLyI+PGltZyBzcmM9Ii4uL2dub21lMi5wbmciIGFsdD0iR25vbWUyIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1N0YXR1cyI+PGltZyBzcmM9Ii4uL3czYy5wbmciIGFsdD0iVzNDIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cucmVkaGF0LmNvbS8iPjxpbWcgc3JjPSIuLi9yZWRoYXQuZ2lmIiBhbHQ9IlJlZCBIYXQgTG9nbyIgLz48L2E+PGRpdiBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnLyI+PGltZyBzcmM9Ii4uL0xpYnhtbDItTG9nby0xODB4MTY4LmdpZiIgYWx0PSJNYWRlIHdpdGggTGlieG1sMiBMb2dvIiAvPjwvYT48L2Rpdj48L3RkPjx0ZD48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iOTAlIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyIgYmdjb2xvcj0iI2ZmZmFjZCI+PHRyPjx0ZCBhbGlnbj0iY2VudGVyIj48aDE+PC9oMT48aDI+TW9kdWxlIGRlYnVnWE1MIGZyb20gbGlieG1sMjwvaDI+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjQiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiIHdpZHRoPSIxMDAlIj48dHI+PHRkIHZhbGlnbj0idG9wIiB3aWR0aD0iMjAwIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5BUEkgTWVudTwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48Zm9ybSBhY3Rpb249Ii4uL3NlYXJjaC5waHAiIGVuY3R5cGU9ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIgbWV0aG9kPSJnZXQiPjxpbnB1dCBuYW1lPSJxdWVyeSIgdHlwZT0idGV4dCIgc2l6ZT0iMjAiIHZhbHVlPSIiIC8+PGlucHV0IG5hbWU9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU2VhcmNoIC4uLiIgLz48L2Zvcm0+PHVsPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iLi4vaW5kZXguaHRtbCI+TWFpbiBNZW51PC9hPjwvbGk+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSIuLi9kb2NzLmh0bWwiPkRldmVsb3BlciBNZW51PC9hPjwvbGk+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSIuLi9leGFtcGxlcy9pbmRleC5odG1sIj5Db2RlIEV4YW1wbGVzPC9hPjwvbGk+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSJpbmRleC5odG1sIj5BUEkgTWVudTwvYT48L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwiPlBhcnNlciBBUEk8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCI+VHJlZSBBUEk8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sIj5SZWFkZXIgQVBJPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL2d1aWRlbGluZXMuaHRtbCI+WE1MIEd1aWRlbGluZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQ2hhbmdlTG9nLmh0bWwiPkNoYW5nZUxvZzwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPkFQSSBJbmRleGVzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iLi4vQVBJY2h1bmswLmh0bWwiPkFscGhhYmV0aWM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJY29uc3RydWN0b3JzLmh0bWwiPkNvbnN0cnVjdG9yczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUElmdW5jdGlvbnMuaHRtbCI+RnVuY3Rpb25zL1R5cGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSWZpbGVzLmh0bWwiPk1vZHVsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJc3ltYm9scy5odG1sIj5TeW1ib2xzPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+UmVsYXRlZCBsaW5rczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9Imh0dHA6Ly9tYWlsLmdub21lLm9yZy9hcmNoaXZlcy94bWwvIj5NYWlsIGFyY2hpdmU8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnL1hTTFQvIj5YU0xUIGxpYnhzbHQ8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3BoZC5jcy51bmliby5pdC9nZG9tZTIvIj5ET00gZ2RvbWUyPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuYWxla3NleS5jb20veG1sc2VjLyI+WE1MLURTaWcgeG1sc2VjPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImZ0cDovL3htbHNvZnQub3JnLyI+RlRQPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemxhdGtvdmljLmNvbS9wcm9qZWN0cy9saWJ4bWwvIj5XaW5kb3dzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9vcGVuY3N3Lm9yZy9wYWNrYWdlcy9saWJ4bWwyIj5Tb2xhcmlzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuZXhwbGFpbi5jb20uYXUvb3NzL2xpYnhtbDJ4c2x0Lmh0bWwiPk1hY09zWCBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbHhtbC5kZS8iPmx4bWwgUHl0aG9uIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9jcGFuLnV3aW5uaXBlZy5jYS9kaXN0L1hNTC1MaWJYTUwiPlBlcmwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbHBsdXNwbHVzLnNvdXJjZWZvcmdlLm5ldC8iPkMrKyBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnplbmQuY29tL3BocDUvYXJ0aWNsZXMvcGhwNS14bWxwaHAucGhwI0hlYWRpbmc0Ij5QSFAgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9saWJ4bWwyLXBhcy8iPlBhc2NhbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1sLnJ1Ynlmb3JnZS5vcmcvIj5SdWJ5IGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly90Y2x4bWwuc291cmNlZm9yZ2UubmV0LyI+VGNsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvYnVnbGlzdC5jZ2k/cHJvZHVjdD1saWJ4bWwyIj5CdWcgVHJhY2tlcjwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMyIgY2VsbHNwYWNpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx0YWJsZSBjbGFzcz0ibmF2aWdhdGlvbiIgd2lkdGg9IjEwMCUiIHN1bW1hcnk9Ik5hdmlnYXRpb24gaGVhZGVyIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjIiPjx0ciB2YWxpZ249Im1pZGRsZSI+PHRkPjxhIGFjY2Vzc2tleT0icCIgaHJlZj0ibGlieG1sLWNodmFsaWQuaHRtbCI+PGltZyBzcmM9ImxlZnQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJQcmV2IiAvPjwvYT48L3RkPjx0aCBhbGlnbj0ibGVmdCI+PGEgaHJlZj0ibGlieG1sLWNodmFsaWQuaHRtbCI+Y2h2YWxpZDwvYT48L3RoPjx0ZD48YSBhY2Nlc3NrZXk9InUiIGhyZWY9ImluZGV4Lmh0bWwiPjxpbWcgc3JjPSJ1cC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlVwIiAvPjwvYT48L3RkPjx0aCBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iaW5kZXguaHRtbCI+QVBJIGRvY3VtZW50YXRpb248L2E+PC90aD48dGQ+PGEgYWNjZXNza2V5PSJoIiBocmVmPSIuLi9pbmRleC5odG1sIj48aW1nIHNyYz0iaG9tZS5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IkhvbWUiIC8+PC9hPjwvdGQ+PHRoIGFsaWduPSJjZW50ZXIiPjxhIGhyZWY9Ii4uL2luZGV4Lmh0bWwiPlRoZSBYTUwgQyBwYXJzZXIgYW5kIHRvb2xraXQgb2YgR25vbWU8L2E+PC90aD48dGggYWxpZ249InJpZ2h0Ij48YSBocmVmPSJsaWJ4bWwtZGljdC5odG1sIj5kaWN0PC9hPjwvdGg+PHRkPjxhIGFjY2Vzc2tleT0ibiIgaHJlZj0ibGlieG1sLWRpY3QuaHRtbCI+PGltZyBzcmM9InJpZ2h0LnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iTmV4dCIgLz48L2E+PC90ZD48L3RyPjwvdGFibGU+PHA+SW50ZXJmYWNlcyB0byBhIHNldCBvZiByb3V0aW5lcyB1c2VkIGZvciBkZWJ1Z2dpbmcgdGhlIHRyZWUgcHJvZHVjZWQgYnkgdGhlIFhNTCBwYXJzZXIuIDwvcD48aDI+VGFibGUgb2YgQ29udGVudHM8L2gyPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgPGEgaHJlZj0iI3htbFNoZWxsQ3R4dCI+eG1sU2hlbGxDdHh0PC9hPjxiciAvPnN0cnVjdCBfeG1sU2hlbGxDdHh0Cis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+VHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbEN0eHQiPnhtbFNoZWxsQ3R4dDwvYT4gKiA8YSBuYW1lPSJ4bWxTaGVsbEN0eHRQdHIiIGlkPSJ4bWxTaGVsbEN0eHRQdHIiPnhtbFNoZWxsQ3R4dFB0cjwvYT4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5jb25zdCBjaGFyICoJPGEgaHJlZj0iI3htbEJvb2xUb1RleHQiPnhtbEJvb2xUb1RleHQ8L2E+CQkoaW50IGJvb2x2YWwpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxEZWJ1Z0NoZWNrRG9jdW1lbnQiPnhtbERlYnVnQ2hlY2tEb2N1bWVudDwvYT4JCShGSUxFICogb3V0cHV0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sRGVidWdEdW1wQXR0ciI+eG1sRGVidWdEdW1wQXR0cjwvYT4JCShGSUxFICogb3V0cHV0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEF0dHJQdHIiPnhtbEF0dHJQdHI8L2E+IGF0dHIsIDxiciAvPgkJCQkJIGludCBkZXB0aCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxEZWJ1Z0R1bXBBdHRyTGlzdCI+eG1sRGVidWdEdW1wQXR0ckxpc3Q8L2E+CQkoRklMRSAqIG91dHB1dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxBdHRyUHRyIj54bWxBdHRyUHRyPC9hPiBhdHRyLCA8YnIgLz4JCQkJCSBpbnQgZGVwdGgpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sRGVidWdEdW1wRFREIj54bWxEZWJ1Z0R1bXBEVEQ8L2E+CQkJKEZJTEUgKiBvdXRwdXQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRHRkUHRyIj54bWxEdGRQdHI8L2E+IGR0ZCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxEZWJ1Z0R1bXBEb2N1bWVudCI+eG1sRGVidWdEdW1wRG9jdW1lbnQ8L2E+CQkoRklMRSAqIG91dHB1dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbERlYnVnRHVtcERvY3VtZW50SGVhZCI+eG1sRGVidWdEdW1wRG9jdW1lbnRIZWFkPC9hPgkoRklMRSAqIG91dHB1dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbERlYnVnRHVtcEVudGl0aWVzIj54bWxEZWJ1Z0R1bXBFbnRpdGllczwvYT4JCShGSUxFICogb3V0cHV0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sRGVidWdEdW1wTm9kZSI+eG1sRGVidWdEdW1wTm9kZTwvYT4JCShGSUxFICogb3V0cHV0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsIDxiciAvPgkJCQkJIGludCBkZXB0aCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxEZWJ1Z0R1bXBOb2RlTGlzdCI+eG1sRGVidWdEdW1wTm9kZUxpc3Q8L2E+CQkoRklMRSAqIG91dHB1dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlLCA8YnIgLz4JCQkJCSBpbnQgZGVwdGgpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sRGVidWdEdW1wT25lTm9kZSI+eG1sRGVidWdEdW1wT25lTm9kZTwvYT4JCShGSUxFICogb3V0cHV0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsIDxiciAvPgkJCQkJIGludCBkZXB0aCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxEZWJ1Z0R1bXBTdHJpbmciPnhtbERlYnVnRHVtcFN0cmluZzwvYT4JCShGSUxFICogb3V0cHV0LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzdHIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxMc0NvdW50Tm9kZSI+eG1sTHNDb3VudE5vZGU8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxMc09uZU5vZGUiPnhtbExzT25lTm9kZTwvYT4JCQkoRklMRSAqIG91dHB1dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFNoZWxsIj54bWxTaGVsbDwvYT4JCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIgLz4JCQkJCSBjaGFyICogZmlsZW5hbWUsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsUmVhZGxpbmVGdW5jIj54bWxTaGVsbFJlYWRsaW5lRnVuYzwvYT4gaW5wdXQsIDxiciAvPgkJCQkJIEZJTEUgKiBvdXRwdXQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxTaGVsbEJhc2UiPnhtbFNoZWxsQmFzZTwvYT4JCQkoPGEgaHJlZj0ibGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxDdHh0UHRyIj54bWxTaGVsbEN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIGNoYXIgKiBhcmcsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlMik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFNoZWxsQ2F0Ij54bWxTaGVsbENhdDwvYT4JCQkoPGEgaHJlZj0ibGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxDdHh0UHRyIj54bWxTaGVsbEN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIGNoYXIgKiBhcmcsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlMik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5GdW5jdGlvbiB0eXBlOiA8YSBocmVmPSIjeG1sU2hlbGxDbWQiPnhtbFNoZWxsQ21kPC9hPgoraW50CTxhIGhyZWY9IiN4bWxTaGVsbENtZCI+eG1sU2hlbGxDbWQ8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsQ3R4dFB0ciI+eG1sU2hlbGxDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSBjaGFyICogYXJnLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZTIpCis8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFNoZWxsRGlyIj54bWxTaGVsbERpcjwvYT4JCQkoPGEgaHJlZj0ibGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxDdHh0UHRyIj54bWxTaGVsbEN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIGNoYXIgKiBhcmcsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlMik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFNoZWxsRHUiPnhtbFNoZWxsRHU8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsQ3R4dFB0ciI+eG1sU2hlbGxDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSBjaGFyICogYXJnLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IHRyZWUsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZTIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxTaGVsbExpc3QiPnhtbFNoZWxsTGlzdDwvYT4JCQkoPGEgaHJlZj0ibGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxDdHh0UHRyIj54bWxTaGVsbEN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIGNoYXIgKiBhcmcsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlMik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFNoZWxsTG9hZCI+eG1sU2hlbGxMb2FkPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbEN0eHRQdHIiPnhtbFNoZWxsQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgY2hhciAqIGZpbGVuYW1lLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZTIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sU2hlbGxQcmludE5vZGUiPnhtbFNoZWxsUHJpbnROb2RlPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxTaGVsbFByaW50WFBhdGhFcnJvciI+eG1sU2hlbGxQcmludFhQYXRoRXJyb3I8L2E+CQkoaW50IGVycm9yVHlwZSwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGFyZyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxTaGVsbFByaW50WFBhdGhSZXN1bHQiPnhtbFNoZWxsUHJpbnRYUGF0aFJlc3VsdDwvYT4JKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4gbGlzdCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFNoZWxsUHdkIj54bWxTaGVsbFB3ZDwvYT4JCQkoPGEgaHJlZj0ibGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxDdHh0UHRyIj54bWxTaGVsbEN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIGNoYXIgKiBidWZmZXIsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlMik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5GdW5jdGlvbiB0eXBlOiA8YSBocmVmPSIjeG1sU2hlbGxSZWFkbGluZUZ1bmMiPnhtbFNoZWxsUmVhZGxpbmVGdW5jPC9hPgorY2hhciAqCTxhIGhyZWY9IiN4bWxTaGVsbFJlYWRsaW5lRnVuYyI+eG1sU2hlbGxSZWFkbGluZUZ1bmM8L2E+CQkoY2hhciAqIHByb21wdCkKKzwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sU2hlbGxTYXZlIj54bWxTaGVsbFNhdmU8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsQ3R4dFB0ciI+eG1sU2hlbGxDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSBjaGFyICogZmlsZW5hbWUsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlMik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFNoZWxsVmFsaWRhdGUiPnhtbFNoZWxsVmFsaWRhdGU8L2E+CQkoPGEgaHJlZj0ibGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxDdHh0UHRyIj54bWxTaGVsbEN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIGNoYXIgKiBkdGQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlMik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFNoZWxsV3JpdGUiPnhtbFNoZWxsV3JpdGU8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsQ3R4dFB0ciI+eG1sU2hlbGxDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSBjaGFyICogZmlsZW5hbWUsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlMik8L3ByZT4KKzxoMj5EZXNjcmlwdGlvbjwvaDI+Cis8aDM+PGEgbmFtZT0ieG1sU2hlbGxDdHh0IiBpZD0ieG1sU2hlbGxDdHh0Ij5TdHJ1Y3R1cmUgeG1sU2hlbGxDdHh0PC9hPjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlN0cnVjdHVyZSB4bWxTaGVsbEN0eHQ8YnIgLz5zdHJ1Y3QgX3htbFNoZWxsQ3R4dCB7CisgICAgY2hhciAqCWZpbGVuYW1lCisgICAgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4JZG9jCisgICAgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPglub2RlCisgICAgPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0UHRyIj54bWxYUGF0aENvbnRleHRQdHI8L2E+CXBjdHh0CisgICAgaW50CWxvYWRlZAorICAgIEZJTEUgKglvdXRwdXQKKyAgICA8YSBocmVmPSJsaWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbFJlYWRsaW5lRnVuYyI+eG1sU2hlbGxSZWFkbGluZUZ1bmM8L2E+CWlucHV0Cit9PC9wcmU+PGgzPjxhIG5hbWU9InhtbEJvb2xUb1RleHQiIGlkPSJ4bWxCb29sVG9UZXh0Ij48L2E+RnVuY3Rpb246IHhtbEJvb2xUb1RleHQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5jb25zdCBjaGFyICoJeG1sQm9vbFRvVGV4dAkJKGludCBib29sdmFsKTxiciAvPgorPC9wcmU+PHA+Q29udmVuaWVudCB3YXkgdG8gdHVybiBib29sIGludG8gdGV4dDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmJvb2x2YWw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgYm9vbCB0byB0dXJuIGludG8gdGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIGVpdGhlciAiVHJ1ZSIgb3IgIkZhbHNlIjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbERlYnVnQ2hlY2tEb2N1bWVudCIgaWQ9InhtbERlYnVnQ2hlY2tEb2N1bWVudCI+PC9hPkZ1bmN0aW9uOiB4bWxEZWJ1Z0NoZWNrRG9jdW1lbnQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sRGVidWdDaGVja0RvY3VtZW50CQkoRklMRSAqIG91dHB1dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jKTxiciAvPgorPC9wcmU+PHA+Q2hlY2sgdGhlIGRvY3VtZW50IGZvciBwb3RlbnRpYWwgY29udGVudCBwcm9ibGVtcywgYW5kIG91dHB1dCB0aGUgZXJyb3JzIHRvIEBvdXRwdXQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vdXRwdXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBGSUxFICogZm9yIHRoZSBvdXRwdXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGVycm9ycyBmb3VuZDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbERlYnVnRHVtcEF0dHIiIGlkPSJ4bWxEZWJ1Z0R1bXBBdHRyIj48L2E+RnVuY3Rpb246IHhtbERlYnVnRHVtcEF0dHI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbERlYnVnRHVtcEF0dHIJCShGSUxFICogb3V0cHV0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEF0dHJQdHIiPnhtbEF0dHJQdHI8L2E+IGF0dHIsIDxiciAvPgkJCQkJIGludCBkZXB0aCk8YnIgLz4KKzwvcHJlPjxwPkR1bXBzIGRlYnVnIGluZm9ybWF0aW9uIGZvciB0aGUgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm91dHB1dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIEZJTEUgKiBmb3IgdGhlIG91dHB1dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YXR0cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRlcHRoPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaW5kZW50YXRpb24gbGV2ZWwuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sRGVidWdEdW1wQXR0ckxpc3QiIGlkPSJ4bWxEZWJ1Z0R1bXBBdHRyTGlzdCI+PC9hPkZ1bmN0aW9uOiB4bWxEZWJ1Z0R1bXBBdHRyTGlzdDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sRGVidWdEdW1wQXR0ckxpc3QJCShGSUxFICogb3V0cHV0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEF0dHJQdHIiPnhtbEF0dHJQdHI8L2E+IGF0dHIsIDxiciAvPgkJCQkJIGludCBkZXB0aCk8YnIgLz4KKzwvcHJlPjxwPkR1bXBzIGRlYnVnIGluZm9ybWF0aW9uIGZvciB0aGUgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBsaXN0PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3V0cHV0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgRklMRSAqIGZvciB0aGUgb3V0cHV0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5hdHRyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBsaXN0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kZXB0aDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGluZGVudGF0aW9uIGxldmVsLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbERlYnVnRHVtcERURCIgaWQ9InhtbERlYnVnRHVtcERURCI+PC9hPkZ1bmN0aW9uOiB4bWxEZWJ1Z0R1bXBEVEQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbERlYnVnRHVtcERURAkJCShGSUxFICogb3V0cHV0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbER0ZFB0ciI+eG1sRHRkUHRyPC9hPiBkdGQpPGJyIC8+Cis8L3ByZT48cD5EdW1wcyBkZWJ1ZyBpbmZvcm1hdGlvbiBmb3IgdGhlIERURDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm91dHB1dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIEZJTEUgKiBmb3IgdGhlIG91dHB1dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZHRkPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgRFREPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sRGVidWdEdW1wRG9jdW1lbnQiIGlkPSJ4bWxEZWJ1Z0R1bXBEb2N1bWVudCI+PC9hPkZ1bmN0aW9uOiB4bWxEZWJ1Z0R1bXBEb2N1bWVudDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sRGVidWdEdW1wRG9jdW1lbnQJCShGSUxFICogb3V0cHV0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MpPGJyIC8+Cis8L3ByZT48cD5EdW1wcyBkZWJ1ZyBpbmZvcm1hdGlvbiBmb3IgdGhlIGRvY3VtZW50LCBpdCdzIHJlY3Vyc2l2ZTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm91dHB1dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIEZJTEUgKiBmb3IgdGhlIG91dHB1dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxEZWJ1Z0R1bXBEb2N1bWVudEhlYWQiIGlkPSJ4bWxEZWJ1Z0R1bXBEb2N1bWVudEhlYWQiPjwvYT5GdW5jdGlvbjogeG1sRGVidWdEdW1wRG9jdW1lbnRIZWFkPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxEZWJ1Z0R1bXBEb2N1bWVudEhlYWQJKEZJTEUgKiBvdXRwdXQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYyk8YnIgLz4KKzwvcHJlPjxwPkR1bXBzIGRlYnVnIGluZm9ybWF0aW9uIGNuY2VybmluZyB0aGUgZG9jdW1lbnQsIG5vdCByZWN1cnNpdmU8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vdXRwdXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBGSUxFICogZm9yIHRoZSBvdXRwdXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sRGVidWdEdW1wRW50aXRpZXMiIGlkPSJ4bWxEZWJ1Z0R1bXBFbnRpdGllcyI+PC9hPkZ1bmN0aW9uOiB4bWxEZWJ1Z0R1bXBFbnRpdGllczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sRGVidWdEdW1wRW50aXRpZXMJCShGSUxFICogb3V0cHV0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MpPGJyIC8+Cis8L3ByZT48cD5EdW1wcyBkZWJ1ZyBpbmZvcm1hdGlvbiBmb3IgYWxsIHRoZSBlbnRpdGllcyBpbiB1c2UgYnkgdGhlIGRvY3VtZW50PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3V0cHV0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgRklMRSAqIGZvciB0aGUgb3V0cHV0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbERlYnVnRHVtcE5vZGUiIGlkPSJ4bWxEZWJ1Z0R1bXBOb2RlIj48L2E+RnVuY3Rpb246IHhtbERlYnVnRHVtcE5vZGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbERlYnVnRHVtcE5vZGUJCShGSUxFICogb3V0cHV0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsIDxiciAvPgkJCQkJIGludCBkZXB0aCk8YnIgLz4KKzwvcHJlPjxwPkR1bXBzIGRlYnVnIGluZm9ybWF0aW9uIGZvciB0aGUgZWxlbWVudCBub2RlLCBpdCBpcyByZWN1cnNpdmU8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vdXRwdXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBGSUxFICogZm9yIHRoZSBvdXRwdXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kZXB0aDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGluZGVudGF0aW9uIGxldmVsLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbERlYnVnRHVtcE5vZGVMaXN0IiBpZD0ieG1sRGVidWdEdW1wTm9kZUxpc3QiPjwvYT5GdW5jdGlvbjogeG1sRGVidWdEdW1wTm9kZUxpc3Q8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbERlYnVnRHVtcE5vZGVMaXN0CQkoRklMRSAqIG91dHB1dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlLCA8YnIgLz4JCQkJCSBpbnQgZGVwdGgpPGJyIC8+Cis8L3ByZT48cD5EdW1wcyBkZWJ1ZyBpbmZvcm1hdGlvbiBmb3IgdGhlIGxpc3Qgb2YgZWxlbWVudCBub2RlLCBpdCBpcyByZWN1cnNpdmU8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vdXRwdXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBGSUxFICogZm9yIHRoZSBvdXRwdXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBub2RlIGxpc3Q8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRlcHRoPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaW5kZW50YXRpb24gbGV2ZWwuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sRGVidWdEdW1wT25lTm9kZSIgaWQ9InhtbERlYnVnRHVtcE9uZU5vZGUiPjwvYT5GdW5jdGlvbjogeG1sRGVidWdEdW1wT25lTm9kZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sRGVidWdEdW1wT25lTm9kZQkJKEZJTEUgKiBvdXRwdXQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSwgPGJyIC8+CQkJCQkgaW50IGRlcHRoKTxiciAvPgorPC9wcmU+PHA+RHVtcHMgZGVidWcgaW5mb3JtYXRpb24gZm9yIHRoZSBlbGVtZW50IG5vZGUsIGl0IGlzIG5vdCByZWN1cnNpdmU8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vdXRwdXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBGSUxFICogZm9yIHRoZSBvdXRwdXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kZXB0aDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGluZGVudGF0aW9uIGxldmVsLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbERlYnVnRHVtcFN0cmluZyIgaWQ9InhtbERlYnVnRHVtcFN0cmluZyI+PC9hPkZ1bmN0aW9uOiB4bWxEZWJ1Z0R1bXBTdHJpbmc8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbERlYnVnRHVtcFN0cmluZwkJKEZJTEUgKiBvdXRwdXQsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0cik8YnIgLz4KKzwvcHJlPjxwPkR1bXBzIGluZm9ybWF0aW9ucyBhYm91dCB0aGUgc3RyaW5nLCBzaG9ydGVuIGl0IGlmIG5lY2Vzc2FyeTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm91dHB1dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIEZJTEUgKiBmb3IgdGhlIG91dHB1dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3RyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc3RyaW5nPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sTHNDb3VudE5vZGUiIGlkPSJ4bWxMc0NvdW50Tm9kZSI+PC9hPkZ1bmN0aW9uOiB4bWxMc0NvdW50Tm9kZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxMc0NvdW50Tm9kZQkJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUpPGJyIC8+Cis8L3ByZT48cD5Db3VudCB0aGUgY2hpbGRyZW4gb2YgQG5vZGUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vZGUgdG8gY291bnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgY2hpbGRyZW4gb2YgQG5vZGUuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sTHNPbmVOb2RlIiBpZD0ieG1sTHNPbmVOb2RlIj48L2E+RnVuY3Rpb246IHhtbExzT25lTm9kZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sTHNPbmVOb2RlCQkJKEZJTEUgKiBvdXRwdXQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSk8YnIgLz4KKzwvcHJlPjxwPkR1bXAgdG8gQG91dHB1dCB0aGUgdHlwZSBhbmQgbmFtZSBvZiBAbm9kZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vdXRwdXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBGSUxFICogZm9yIHRoZSBvdXRwdXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBub2RlIHRvIGR1bXA8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTaGVsbCIgaWQ9InhtbFNoZWxsIj48L2E+RnVuY3Rpb246IHhtbFNoZWxsPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxTaGVsbAkJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxiciAvPgkJCQkJIGNoYXIgKiBmaWxlbmFtZSwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxSZWFkbGluZUZ1bmMiPnhtbFNoZWxsUmVhZGxpbmVGdW5jPC9hPiBpbnB1dCwgPGJyIC8+CQkJCQkgRklMRSAqIG91dHB1dCk8YnIgLz4KKzwvcHJlPjxwPkltcGxlbWVudHMgdGhlIFhNTCBzaGVsbCBUaGlzIGFsbG93IHRvIGxvYWQsIHZhbGlkYXRlLCB2aWV3LCBtb2RpZnkgYW5kIHNhdmUgYSBkb2N1bWVudCB1c2luZyBhIGVudmlyb25tZW50IHNpbWlsYXIgdG8gYSBVTklYIGNvbW1hbmRsaW5lLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGluaXRpYWwgZG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZpbGVuYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgb3V0cHV0IGJ1ZmZlcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aW5wdXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsaW5lIHJlYWRpbmcgZnVuY3Rpb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm91dHB1dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG91dHB1dCBGSUxFKiwgZGVmYXVsdHMgdG8gc3Rkb3V0IGlmIE5VTEw8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTaGVsbEJhc2UiIGlkPSJ4bWxTaGVsbEJhc2UiPjwvYT5GdW5jdGlvbjogeG1sU2hlbGxCYXNlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFNoZWxsQmFzZQkJCSg8YSBocmVmPSJsaWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbEN0eHRQdHIiPnhtbFNoZWxsQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgY2hhciAqIGFyZywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUyKTxiciAvPgorPC9wcmU+PHA+SW1wbGVtZW50cyB0aGUgWE1MIHNoZWxsIGZ1bmN0aW9uICJiYXNlIiBkdW1wcyB0aGUgY3VycmVudCBYTUwgYmFzZSBvZiB0aGUgbm9kZTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzaGVsbCBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5hcmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnVudXNlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlMjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dW51c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU2hlbGxDYXQiIGlkPSJ4bWxTaGVsbENhdCI+PC9hPkZ1bmN0aW9uOiB4bWxTaGVsbENhdDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxTaGVsbENhdAkJCSg8YSBocmVmPSJsaWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbEN0eHRQdHIiPnhtbFNoZWxsQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgY2hhciAqIGFyZywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUyKTxiciAvPgorPC9wcmU+PHA+SW1wbGVtZW50cyB0aGUgWE1MIHNoZWxsIGZ1bmN0aW9uICJjYXQiIGR1bXBzIHRoZSBzZXJpYWxpemF0aW9uIG5vZGUgY29udGVudCAoWE1MIG9yIEhUTUwpLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzaGVsbCBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5hcmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnVudXNlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlMjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dW51c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU2hlbGxDbWQiIGlkPSJ4bWxTaGVsbENtZCI+PC9hPkZ1bmN0aW9uIHR5cGU6IHhtbFNoZWxsQ21kPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RnVuY3Rpb24gdHlwZTogeG1sU2hlbGxDbWQKK2ludAl4bWxTaGVsbENtZAkJCSg8YSBocmVmPSJsaWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbEN0eHRQdHIiPnhtbFNoZWxsQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgY2hhciAqIGFyZywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUyKQorPC9wcmU+PHA+VGhpcyBpcyBhIGdlbmVyaWMgc2lnbmF0dXJlIGZvciB0aGUgWE1MIHNoZWxsIGZ1bmN0aW9ucy48L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBzaGVsbCBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5hcmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgc3RyaW5nIGFyZ3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGZpcnN0IG5vZGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGUyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHNlY29uZCBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBpbnQsIG5lZ2F0aXZlIHJldHVybnMgaW5kaWNhdGluZyBlcnJvcnMuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48YnIgLz4KKzxoMz48YSBuYW1lPSJ4bWxTaGVsbERpciIgaWQ9InhtbFNoZWxsRGlyIj48L2E+RnVuY3Rpb246IHhtbFNoZWxsRGlyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFNoZWxsRGlyCQkJKDxhIGhyZWY9ImxpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsQ3R4dFB0ciI+eG1sU2hlbGxDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSBjaGFyICogYXJnLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZTIpPGJyIC8+Cis8L3ByZT48cD5JbXBsZW1lbnRzIHRoZSBYTUwgc2hlbGwgZnVuY3Rpb24gImRpciIgZHVtcHMgaW5mb3JtYXRpb25zIGFib3V0IHRoZSBub2RlIChuYW1lc3BhY2UsIGF0dHJpYnV0ZXMsIGNvbnRlbnQpLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzaGVsbCBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5hcmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnVudXNlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlMjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dW51c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU2hlbGxEdSIgaWQ9InhtbFNoZWxsRHUiPjwvYT5GdW5jdGlvbjogeG1sU2hlbGxEdTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxTaGVsbER1CQkJKDxhIGhyZWY9ImxpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsQ3R4dFB0ciI+eG1sU2hlbGxDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSBjaGFyICogYXJnLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IHRyZWUsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZTIpPGJyIC8+Cis8L3ByZT48cD5JbXBsZW1lbnRzIHRoZSBYTUwgc2hlbGwgZnVuY3Rpb24gImR1IiBzaG93IHRoZSBzdHJ1Y3R1cmUgb2YgdGhlIHN1YnRyZWUgdW5kZXIgbm9kZSBAdHJlZSBJZiBAdHJlZSBpcyBudWxsLCB0aGUgY29tbWFuZCB3b3JrcyBvbiB0aGUgY3VycmVudCBub2RlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzaGVsbCBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5hcmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnVudXNlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dHJlZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBub2RlIGRlZmluaW5nIGEgc3VidHJlZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnVudXNlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU2hlbGxMaXN0IiBpZD0ieG1sU2hlbGxMaXN0Ij48L2E+RnVuY3Rpb246IHhtbFNoZWxsTGlzdDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxTaGVsbExpc3QJCQkoPGEgaHJlZj0ibGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxDdHh0UHRyIj54bWxTaGVsbEN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIGNoYXIgKiBhcmcsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlMik8YnIgLz4KKzwvcHJlPjxwPkltcGxlbWVudHMgdGhlIFhNTCBzaGVsbCBmdW5jdGlvbiAibHMiIERvZXMgYW4gVW5peCBsaWtlIGxpc3Rpbmcgb2YgdGhlIGdpdmVuIG5vZGUgKGxpa2UgYSBkaXJlY3RvcnkpPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHNoZWxsIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmFyZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dW51c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIG5vZGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGUyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD51bnVzZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjA8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTaGVsbExvYWQiIGlkPSJ4bWxTaGVsbExvYWQiPjwvYT5GdW5jdGlvbjogeG1sU2hlbGxMb2FkPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFNoZWxsTG9hZAkJCSg8YSBocmVmPSJsaWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbEN0eHRQdHIiPnhtbFNoZWxsQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgY2hhciAqIGZpbGVuYW1lLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZTIpPGJyIC8+Cis8L3ByZT48cD5JbXBsZW1lbnRzIHRoZSBYTUwgc2hlbGwgZnVuY3Rpb24gImxvYWQiIGxvYWRzIGEgbmV3IGRvY3VtZW50IHNwZWNpZmllZCBieSB0aGUgZmlsZW5hbWU8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc2hlbGwgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmlsZW5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmaWxlIG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnVudXNlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnVudXNlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBvciAtMSBpZiBsb2FkaW5nIGZhaWxlZDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFNoZWxsUHJpbnROb2RlIiBpZD0ieG1sU2hlbGxQcmludE5vZGUiPjwvYT5GdW5jdGlvbjogeG1sU2hlbGxQcmludE5vZGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFNoZWxsUHJpbnROb2RlCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlKTxiciAvPgorPC9wcmU+PHA+UHJpbnQgbm9kZSB0byB0aGUgb3V0cHV0IEZJTEU8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIG5vbi1udWxsIG5vZGUgdG8gcHJpbnQgdG8gdGhlIG91dHB1dCBGSUxFPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU2hlbGxQcmludFhQYXRoRXJyb3IiIGlkPSJ4bWxTaGVsbFByaW50WFBhdGhFcnJvciI+PC9hPkZ1bmN0aW9uOiB4bWxTaGVsbFByaW50WFBhdGhFcnJvcjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sU2hlbGxQcmludFhQYXRoRXJyb3IJCShpbnQgZXJyb3JUeXBlLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogYXJnKTxiciAvPgorPC9wcmU+PHA+UHJpbnQgdGhlIHhwYXRoIGVycm9yIHRvIGxpYnhtbCBkZWZhdWx0IGVycm9yIGNoYW5uZWw8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lcnJvclR5cGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnZhbGlkIHhwYXRoIGVycm9yIGlkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5hcmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBhcmd1bWVudCB0aGF0IGNhdXNlIHhwYXRoIHRvIGZhaWw8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTaGVsbFByaW50WFBhdGhSZXN1bHQiIGlkPSJ4bWxTaGVsbFByaW50WFBhdGhSZXN1bHQiPjwvYT5GdW5jdGlvbjogeG1sU2hlbGxQcmludFhQYXRoUmVzdWx0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxTaGVsbFByaW50WFBhdGhSZXN1bHQJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4gbGlzdCk8YnIgLz4KKzwvcHJlPjxwPlByaW50cyByZXN1bHQgdG8gdGhlIG91dHB1dCBGSUxFPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGlzdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSB2YWxpZCByZXN1bHQgZ2VuZXJhdGVkIGJ5IGFuIHhwYXRoIGV2YWx1YXRpb248L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTaGVsbFB3ZCIgaWQ9InhtbFNoZWxsUHdkIj48L2E+RnVuY3Rpb246IHhtbFNoZWxsUHdkPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFNoZWxsUHdkCQkJKDxhIGhyZWY9ImxpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsQ3R4dFB0ciI+eG1sU2hlbGxDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSBjaGFyICogYnVmZmVyLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZTIpPGJyIC8+Cis8L3ByZT48cD5JbXBsZW1lbnRzIHRoZSBYTUwgc2hlbGwgZnVuY3Rpb24gInB3ZCIgU2hvdyB0aGUgZnVsbCBwYXRoIGZyb20gdGhlIHJvb3QgdG8gdGhlIG5vZGUsIGlmIG5lZWRlZCBidWlsZGluZyB0aHVtYmxlcnMgd2hlbiBzaW1pbGFyIGVsZW1lbnRzIGV4aXN0cyBhdCBhIGdpdmVuIGFuY2VzdG9yIGxldmVsLiBUaGUgb3V0cHV0IGlzIGNvbXBhdGlibGUgd2l0aCBYUGF0aCBjb21tYW5kcy48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc2hlbGwgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YnVmZmVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgb3V0cHV0IGJ1ZmZlcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlMjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dW51c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTaGVsbFJlYWRsaW5lRnVuYyIgaWQ9InhtbFNoZWxsUmVhZGxpbmVGdW5jIj48L2E+RnVuY3Rpb24gdHlwZTogeG1sU2hlbGxSZWFkbGluZUZ1bmM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5GdW5jdGlvbiB0eXBlOiB4bWxTaGVsbFJlYWRsaW5lRnVuYworY2hhciAqCXhtbFNoZWxsUmVhZGxpbmVGdW5jCQkoY2hhciAqIHByb21wdCkKKzwvcHJlPjxwPlRoaXMgaXMgYSBnZW5lcmljIHNpZ25hdHVyZSBmb3IgdGhlIFhNTCBzaGVsbCBpbnB1dCBmdW5jdGlvbi48L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cHJvbXB0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHN0cmluZyBwcm9tcHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgc3RyaW5nIHdoaWNoIHdpbGwgYmUgZnJlZWQgYnkgdGhlIFNoZWxsLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGJyIC8+Cis8aDM+PGEgbmFtZT0ieG1sU2hlbGxTYXZlIiBpZD0ieG1sU2hlbGxTYXZlIj48L2E+RnVuY3Rpb246IHhtbFNoZWxsU2F2ZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxTaGVsbFNhdmUJCQkoPGEgaHJlZj0ibGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxDdHh0UHRyIj54bWxTaGVsbEN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIGNoYXIgKiBmaWxlbmFtZSwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUyKTxiciAvPgorPC9wcmU+PHA+SW1wbGVtZW50cyB0aGUgWE1MIHNoZWxsIGZ1bmN0aW9uICJzYXZlIiBXcml0ZSB0aGUgY3VycmVudCBkb2N1bWVudCB0byB0aGUgZmlsZW5hbWUsIG9yIGl0J3Mgb3JpZ2luYWwgbmFtZTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzaGVsbCBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlbmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZpbGUgbmFtZSAob3B0aW9uYWwpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD51bnVzZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGUyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD51bnVzZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFNoZWxsVmFsaWRhdGUiIGlkPSJ4bWxTaGVsbFZhbGlkYXRlIj48L2E+RnVuY3Rpb246IHhtbFNoZWxsVmFsaWRhdGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sU2hlbGxWYWxpZGF0ZQkJKDxhIGhyZWY9ImxpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsQ3R4dFB0ciI+eG1sU2hlbGxDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSBjaGFyICogZHRkLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZTIpPGJyIC8+Cis8L3ByZT48cD5JbXBsZW1lbnRzIHRoZSBYTUwgc2hlbGwgZnVuY3Rpb24gInZhbGlkYXRlIiBWYWxpZGF0ZSB0aGUgZG9jdW1lbnQsIGlmIGEgRFREIHBhdGggaXMgcHJvdmlkZWQsIHRoZW4gdGhlIHZhbGlkYXRpb24gaXMgZG9uZSBhZ2FpbnN0IHRoZSBnaXZlbiBEVEQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHNoZWxsIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmR0ZDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIERURCBVUkkgKG9wdGlvbmFsKTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dW51c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlMjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dW51c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTaGVsbFdyaXRlIiBpZD0ieG1sU2hlbGxXcml0ZSI+PC9hPkZ1bmN0aW9uOiB4bWxTaGVsbFdyaXRlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFNoZWxsV3JpdGUJCQkoPGEgaHJlZj0ibGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxDdHh0UHRyIj54bWxTaGVsbEN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIGNoYXIgKiBmaWxlbmFtZSwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUyKTxiciAvPgorPC9wcmU+PHA+SW1wbGVtZW50cyB0aGUgWE1MIHNoZWxsIGZ1bmN0aW9uICJ3cml0ZSIgV3JpdGUgdGhlIGN1cnJlbnQgbm9kZSB0byB0aGUgZmlsZW5hbWUsIGl0IHNhdmVzIHRoZSBzZXJpYWxpemF0aW9uIG9mIHRoZSBzdWJ0cmVlIHVuZGVyIHRoZSBAbm9kZSBzcGVjaWZpZWQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc2hlbGwgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmlsZW5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmaWxlIG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbm9kZSBpbiB0aGUgdHJlZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnVudXNlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48cD48YSBocmVmPSIuLi9idWdzLmh0bWwiPkRhbmllbCBWZWlsbGFyZDwvYT48L3A+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2h0bWwvbGlieG1sLWRpY3QuaHRtbCBiL2xpYnhtbDIvZG9jL2h0bWwvbGlieG1sLWRpY3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZGQyMWY0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvaHRtbC9saWJ4bWwtZGljdC5odG1sCkBAIC0wLDAgKzEsNTggQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+PGxpbmsgcmVsPSJTSE9SVENVVCBJQ09OIiBocmVmPSIvZmF2aWNvbi5pY28iIC8+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK1REIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitCT0RZIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2E7IG1hcmdpbi10b3A6IDJlbTsgbWFyZ2luLWxlZnQ6IDBlbTsgbWFyZ2luLXJpZ2h0OiAwZW19CitIMSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDIge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gzIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitBOmxpbmssIEE6dmlzaXRlZCwgQTphY3RpdmUgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB9Cis8L3N0eWxlPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAgICBkaXYuZGVwcmVjYXRlZCBwcmUucHJvZ3JhbWxpc3Rpbmcge2JvcmRlci1zdHlsZTogZG91YmxlO2JvcmRlci1jb2xvcjpyZWR9CisgICAgICBwcmUucHJvZ3JhbWxpc3Rpbmcge2JvcmRlci1zdHlsZTogZG91YmxlO2JhY2tncm91bmQ6ICNFRUNGQTF9CisgICAgPC9zdHlsZT48dGl0bGU+TW9kdWxlIGRpY3QgZnJvbSBsaWJ4bWwyPC90aXRsZT48L2hlYWQ+PGJvZHkgYmdjb2xvcj0iIzhiNzc2NSIgdGV4dD0iIzAwMDAwMCIgbGluaz0iI2EwNjA2MCIgdmxpbms9IiMwMDAwMDAiPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSIxMDAlIiBjZWxscGFkZGluZz0iNSIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgd2lkdGg9IjEyMCI+PGEgaHJlZj0iaHR0cDovL3N3cGF0LmZmaWkub3JnLyI+PGltZyBzcmM9Ii4uL2VwYXRlbnRzLnBuZyIgYWx0PSJBY3Rpb24gYWdhaW5zdCBzb2Z0d2FyZSBwYXRlbnRzIiAvPjwvYT48L3RkPjx0ZCB3aWR0aD0iMTgwIj48YSBocmVmPSJodHRwOi8vd3d3Lmdub21lLm9yZy8iPjxpbWcgc3JjPSIuLi9nbm9tZTIucG5nIiBhbHQ9Ikdub21lMiBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9TdGF0dXMiPjxpbWcgc3JjPSIuLi93M2MucG5nIiBhbHQ9IlczQyBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnJlZGhhdC5jb20vIj48aW1nIHNyYz0iLi4vcmVkaGF0LmdpZiIgYWx0PSJSZWQgSGF0IExvZ28iIC8+PC9hPjxkaXYgYWxpZ249ImxlZnQiPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy8iPjxpbWcgc3JjPSIuLi9MaWJ4bWwyLUxvZ28tMTgweDE2OC5naWYiIGFsdD0iTWFkZSB3aXRoIExpYnhtbDIgTG9nbyIgLz48L2E+PC9kaXY+PC90ZD48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjkwJSIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiIGJnY29sb3I9IiNmZmZhY2QiPjx0cj48dGQgYWxpZ249ImNlbnRlciI+PGgxPjwvaDE+PGgyPk1vZHVsZSBkaWN0IGZyb20gbGlieG1sMjwvaDI+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjQiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiIHdpZHRoPSIxMDAlIj48dHI+PHRkIHZhbGlnbj0idG9wIiB3aWR0aD0iMjAwIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5BUEkgTWVudTwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48Zm9ybSBhY3Rpb249Ii4uL3NlYXJjaC5waHAiIGVuY3R5cGU9ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIgbWV0aG9kPSJnZXQiPjxpbnB1dCBuYW1lPSJxdWVyeSIgdHlwZT0idGV4dCIgc2l6ZT0iMjAiIHZhbHVlPSIiIC8+PGlucHV0IG5hbWU9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU2VhcmNoIC4uLiIgLz48L2Zvcm0+PHVsPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iLi4vaW5kZXguaHRtbCI+TWFpbiBNZW51PC9hPjwvbGk+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSIuLi9kb2NzLmh0bWwiPkRldmVsb3BlciBNZW51PC9hPjwvbGk+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSIuLi9leGFtcGxlcy9pbmRleC5odG1sIj5Db2RlIEV4YW1wbGVzPC9hPjwvbGk+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSJpbmRleC5odG1sIj5BUEkgTWVudTwvYT48L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwiPlBhcnNlciBBUEk8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCI+VHJlZSBBUEk8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sIj5SZWFkZXIgQVBJPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL2d1aWRlbGluZXMuaHRtbCI+WE1MIEd1aWRlbGluZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQ2hhbmdlTG9nLmh0bWwiPkNoYW5nZUxvZzwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPkFQSSBJbmRleGVzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iLi4vQVBJY2h1bmswLmh0bWwiPkFscGhhYmV0aWM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJY29uc3RydWN0b3JzLmh0bWwiPkNvbnN0cnVjdG9yczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUElmdW5jdGlvbnMuaHRtbCI+RnVuY3Rpb25zL1R5cGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSWZpbGVzLmh0bWwiPk1vZHVsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJc3ltYm9scy5odG1sIj5TeW1ib2xzPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+UmVsYXRlZCBsaW5rczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9Imh0dHA6Ly9tYWlsLmdub21lLm9yZy9hcmNoaXZlcy94bWwvIj5NYWlsIGFyY2hpdmU8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnL1hTTFQvIj5YU0xUIGxpYnhzbHQ8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3BoZC5jcy51bmliby5pdC9nZG9tZTIvIj5ET00gZ2RvbWUyPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuYWxla3NleS5jb20veG1sc2VjLyI+WE1MLURTaWcgeG1sc2VjPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImZ0cDovL3htbHNvZnQub3JnLyI+RlRQPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemxhdGtvdmljLmNvbS9wcm9qZWN0cy9saWJ4bWwvIj5XaW5kb3dzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9vcGVuY3N3Lm9yZy9wYWNrYWdlcy9saWJ4bWwyIj5Tb2xhcmlzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuZXhwbGFpbi5jb20uYXUvb3NzL2xpYnhtbDJ4c2x0Lmh0bWwiPk1hY09zWCBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbHhtbC5kZS8iPmx4bWwgUHl0aG9uIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9jcGFuLnV3aW5uaXBlZy5jYS9kaXN0L1hNTC1MaWJYTUwiPlBlcmwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbHBsdXNwbHVzLnNvdXJjZWZvcmdlLm5ldC8iPkMrKyBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnplbmQuY29tL3BocDUvYXJ0aWNsZXMvcGhwNS14bWxwaHAucGhwI0hlYWRpbmc0Ij5QSFAgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9saWJ4bWwyLXBhcy8iPlBhc2NhbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1sLnJ1Ynlmb3JnZS5vcmcvIj5SdWJ5IGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly90Y2x4bWwuc291cmNlZm9yZ2UubmV0LyI+VGNsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvYnVnbGlzdC5jZ2k/cHJvZHVjdD1saWJ4bWwyIj5CdWcgVHJhY2tlcjwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMyIgY2VsbHNwYWNpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx0YWJsZSBjbGFzcz0ibmF2aWdhdGlvbiIgd2lkdGg9IjEwMCUiIHN1bW1hcnk9Ik5hdmlnYXRpb24gaGVhZGVyIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjIiPjx0ciB2YWxpZ249Im1pZGRsZSI+PHRkPjxhIGFjY2Vzc2tleT0icCIgaHJlZj0ibGlieG1sLWRlYnVnWE1MLmh0bWwiPjxpbWcgc3JjPSJsZWZ0LnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iUHJldiIgLz48L2E+PC90ZD48dGggYWxpZ249ImxlZnQiPjxhIGhyZWY9ImxpYnhtbC1kZWJ1Z1hNTC5odG1sIj5kZWJ1Z1hNTDwvYT48L3RoPjx0ZD48YSBhY2Nlc3NrZXk9InUiIGhyZWY9ImluZGV4Lmh0bWwiPjxpbWcgc3JjPSJ1cC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlVwIiAvPjwvYT48L3RkPjx0aCBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iaW5kZXguaHRtbCI+QVBJIGRvY3VtZW50YXRpb248L2E+PC90aD48dGQ+PGEgYWNjZXNza2V5PSJoIiBocmVmPSIuLi9pbmRleC5odG1sIj48aW1nIHNyYz0iaG9tZS5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IkhvbWUiIC8+PC9hPjwvdGQ+PHRoIGFsaWduPSJjZW50ZXIiPjxhIGhyZWY9Ii4uL2luZGV4Lmh0bWwiPlRoZSBYTUwgQyBwYXJzZXIgYW5kIHRvb2xraXQgb2YgR25vbWU8L2E+PC90aD48dGggYWxpZ249InJpZ2h0Ij48YSBocmVmPSJsaWJ4bWwtZW5jb2RpbmcuaHRtbCI+ZW5jb2Rpbmc8L2E+PC90aD48dGQ+PGEgYWNjZXNza2V5PSJuIiBocmVmPSJsaWJ4bWwtZW5jb2RpbmcuaHRtbCI+PGltZyBzcmM9InJpZ2h0LnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iTmV4dCIgLz48L2E+PC90ZD48L3RyPjwvdGFibGU+PHA+ZGljdGlvbmFyeSBvZiByZXVzYWJsZSBzdHJpbmdzLCBqdXN0IHVzZWQgdG8gYXZvaWQgYWxsb2NhdGlvbiBhbmQgZnJlZWluZyBvcGVyYXRpb25zLiA8L3A+PGgyPlRhYmxlIG9mIENvbnRlbnRzPC9oMj48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+U3RydWN0dXJlIDxhIGhyZWY9IiN4bWxEaWN0Ij54bWxEaWN0PC9hPjxiciAvPnN0cnVjdCBfeG1sRGljdAorVGhlIGNvbnRlbnQgb2YgdGhpcyBzdHJ1Y3R1cmUgaXMgbm90IG1hZGUgcHVibGljIGJ5IHRoZSBBUEkuCis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+VHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwtZGljdC5odG1sI3htbERpY3QiPnhtbERpY3Q8L2E+ICogPGEgbmFtZT0ieG1sRGljdFB0ciIgaWQ9InhtbERpY3RQdHIiPnhtbERpY3RQdHI8L2E+Cis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sRGljdENsZWFudXAiPnhtbERpY3RDbGVhbnVwPC9hPgkJCSh2b2lkKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC1kaWN0Lmh0bWwjeG1sRGljdFB0ciI+eG1sRGljdFB0cjwvYT4JPGEgaHJlZj0iI3htbERpY3RDcmVhdGUiPnhtbERpY3RDcmVhdGU8L2E+CQkodm9pZCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtZGljdC5odG1sI3htbERpY3RQdHIiPnhtbERpY3RQdHI8L2E+CTxhIGhyZWY9IiN4bWxEaWN0Q3JlYXRlU3ViIj54bWxEaWN0Q3JlYXRlU3ViPC9hPgkoPGEgaHJlZj0ibGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0UHRyIj54bWxEaWN0UHRyPC9hPiBzdWIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Y29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbERpY3RFeGlzdHMiPnhtbERpY3RFeGlzdHM8L2E+CQkoPGEgaHJlZj0ibGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0UHRyIj54bWxEaWN0UHRyPC9hPiBkaWN0LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSBpbnQgbGVuKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbERpY3RGcmVlIj54bWxEaWN0RnJlZTwvYT4JCQkoPGEgaHJlZj0ibGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0UHRyIj54bWxEaWN0UHRyPC9hPiBkaWN0KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnNpemVfdAk8YSBocmVmPSIjeG1sRGljdEdldFVzYWdlIj54bWxEaWN0R2V0VXNhZ2U8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbC1kaWN0Lmh0bWwjeG1sRGljdFB0ciI+eG1sRGljdFB0cjwvYT4gZGljdCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5jb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sRGljdExvb2t1cCI+eG1sRGljdExvb2t1cDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtZGljdC5odG1sI3htbERpY3RQdHIiPnhtbERpY3RQdHI8L2E+IGRpY3QsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJIGludCBsZW4pPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxEaWN0T3ducyI+eG1sRGljdE93bnM8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbC1kaWN0Lmh0bWwjeG1sRGljdFB0ciI+eG1sRGljdFB0cjwvYT4gZGljdCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3RyKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxEaWN0UUxvb2t1cCI+eG1sRGljdFFMb29rdXA8L2E+CQkoPGEgaHJlZj0ibGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0UHRyIj54bWxEaWN0UHRyPC9hPiBkaWN0LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwcmVmaXgsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxEaWN0UmVmZXJlbmNlIj54bWxEaWN0UmVmZXJlbmNlPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC1kaWN0Lmh0bWwjeG1sRGljdFB0ciI+eG1sRGljdFB0cjwvYT4gZGljdCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5zaXplX3QJPGEgaHJlZj0iI3htbERpY3RTZXRMaW1pdCI+eG1sRGljdFNldExpbWl0PC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwtZGljdC5odG1sI3htbERpY3RQdHIiPnhtbERpY3RQdHI8L2E+IGRpY3QsIDxiciAvPgkJCQkJIHNpemVfdCBsaW1pdCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbERpY3RTaXplIj54bWxEaWN0U2l6ZTwvYT4JCQkoPGEgaHJlZj0ibGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0UHRyIj54bWxEaWN0UHRyPC9hPiBkaWN0KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sSW5pdGlhbGl6ZURpY3QiPnhtbEluaXRpYWxpemVEaWN0PC9hPgkJKHZvaWQpPC9wcmU+Cis8aDI+RGVzY3JpcHRpb248L2gyPgorPGgzPjxhIG5hbWU9InhtbERpY3QiIGlkPSJ4bWxEaWN0Ij5TdHJ1Y3R1cmUgeG1sRGljdDwvYT48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgeG1sRGljdDxiciAvPnN0cnVjdCBfeG1sRGljdCB7CitUaGUgY29udGVudCBvZiB0aGlzIHN0cnVjdHVyZSBpcyBub3QgbWFkZSBwdWJsaWMgYnkgdGhlIEFQSS4KK308L3ByZT48aDM+PGEgbmFtZT0ieG1sRGljdENsZWFudXAiIGlkPSJ4bWxEaWN0Q2xlYW51cCI+PC9hPkZ1bmN0aW9uOiB4bWxEaWN0Q2xlYW51cDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sRGljdENsZWFudXAJCQkodm9pZCk8YnIgLz4KKzwvcHJlPjxwPkZyZWUgdGhlIGRpY3Rpb25hcnkgbXV0ZXguIERvIG5vdCBjYWxsIHVubGVzcyBzdXJlIHRoZSBsaWJyYXJ5IGlzIG5vdCBpbiB1c2UgYW55bW9yZSAhPC9wPgorPGgzPjxhIG5hbWU9InhtbERpY3RDcmVhdGUiIGlkPSJ4bWxEaWN0Q3JlYXRlIj48L2E+RnVuY3Rpb246IHhtbERpY3RDcmVhdGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtZGljdC5odG1sI3htbERpY3RQdHIiPnhtbERpY3RQdHI8L2E+CXhtbERpY3RDcmVhdGUJCSh2b2lkKTxiciAvPgorPC9wcmU+PHA+Q3JlYXRlIGEgbmV3IGRpY3Rpb25hcnk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3bHkgY3JlYXRlZCBkaWN0aW9ubmFyeSwgb3IgTlVMTCBpZiBhbiBlcnJvciBvY2N1cmVkLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbERpY3RDcmVhdGVTdWIiIGlkPSJ4bWxEaWN0Q3JlYXRlU3ViIj48L2E+RnVuY3Rpb246IHhtbERpY3RDcmVhdGVTdWI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtZGljdC5odG1sI3htbERpY3RQdHIiPnhtbERpY3RQdHI8L2E+CXhtbERpY3RDcmVhdGVTdWIJKDxhIGhyZWY9ImxpYnhtbC1kaWN0Lmh0bWwjeG1sRGljdFB0ciI+eG1sRGljdFB0cjwvYT4gc3ViKTxiciAvPgorPC9wcmU+PHA+Q3JlYXRlIGEgbmV3IGRpY3Rpb25hcnksIGluaGVyaXRpbmcgc3RyaW5ncyBmcm9tIHRoZSByZWFkLW9ubHkgZGljdGlvbm5hcnkgQHN1Yi4gT24gbG9va3VwLCBzdHJpbmdzIGFyZSBmaXJzdCBzZWFyY2hlZCBpbiB0aGUgbmV3IGRpY3Rpb25uYXJ5LCB0aGVuIGluIEBzdWIsIGFuZCBpZiBub3QgZm91bmQgYXJlIGNyZWF0ZWQgaW4gdGhlIG5ldyBkaWN0aW9ubmFyeS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdWI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIGV4aXN0aW5nIGRpY3Rpb25uYXJ5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3bHkgY3JlYXRlZCBkaWN0aW9ubmFyeSwgb3IgTlVMTCBpZiBhbiBlcnJvciBvY2N1cmVkLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbERpY3RFeGlzdHMiIGlkPSJ4bWxEaWN0RXhpc3RzIj48L2E+RnVuY3Rpb246IHhtbERpY3RFeGlzdHM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5jb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxEaWN0RXhpc3RzCQkoPGEgaHJlZj0ibGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0UHRyIj54bWxEaWN0UHRyPC9hPiBkaWN0LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSBpbnQgbGVuKTxiciAvPgorPC9wcmU+PHA+Q2hlY2sgaWYgdGhlIEBuYW1lIGV4aXN0cyBpbiB0aGUgZGljdGlvbm5hcnkgQGRpY3QuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGljdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRpY3Rpb25uYXJ5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZSBvZiB0aGUgdXNlcmRhdGE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxlbmd0aCBvZiB0aGUgbmFtZSwgaWYgLTEgaXQgaXMgcmVjb21wdXRlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGludGVybmFsIGNvcHkgb2YgdGhlIG5hbWUgb3IgTlVMTCBpZiBub3QgZm91bmQuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sRGljdEZyZWUiIGlkPSJ4bWxEaWN0RnJlZSI+PC9hPkZ1bmN0aW9uOiB4bWxEaWN0RnJlZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sRGljdEZyZWUJCQkoPGEgaHJlZj0ibGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0UHRyIj54bWxEaWN0UHRyPC9hPiBkaWN0KTxiciAvPgorPC9wcmU+PHA+RnJlZSB0aGUgaGFzaCBAZGljdCBhbmQgaXRzIGNvbnRlbnRzLiBUaGUgdXNlcmRhdGEgaXMgZGVhbGxvY2F0ZWQgd2l0aCBAZiBpZiBwcm92aWRlZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kaWN0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZGljdGlvbm5hcnk8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxEaWN0R2V0VXNhZ2UiIGlkPSJ4bWxEaWN0R2V0VXNhZ2UiPjwvYT5GdW5jdGlvbjogeG1sRGljdEdldFVzYWdlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+c2l6ZV90CXhtbERpY3RHZXRVc2FnZQkJCSg8YSBocmVmPSJsaWJ4bWwtZGljdC5odG1sI3htbERpY3RQdHIiPnhtbERpY3RQdHI8L2E+IGRpY3QpPGJyIC8+Cis8L3ByZT48cD5HZXQgaG93IG11Y2ggbWVtb3J5IGlzIHVzZWQgYnkgYSBkaWN0aW9uYXJ5IGZvciBzdHJpbmdzIEFkZGVkIGluIDIuOS4wPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGljdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRpY3Rpb25uYXJ5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYW1vdW50IG9mIHN0cmluZ3MgYWxsb2NhdGVkPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sRGljdExvb2t1cCIgaWQ9InhtbERpY3RMb29rdXAiPjwvYT5GdW5jdGlvbjogeG1sRGljdExvb2t1cDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbERpY3RMb29rdXAJCSg8YSBocmVmPSJsaWJ4bWwtZGljdC5odG1sI3htbERpY3RQdHIiPnhtbERpY3RQdHI8L2E+IGRpY3QsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJIGludCBsZW4pPGJyIC8+Cis8L3ByZT48cD5BZGQgdGhlIEBuYW1lIHRvIHRoZSBkaWN0aW9ubmFyeSBAZGljdCBpZiBub3QgcHJlc2VudC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kaWN0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZGljdGlvbm5hcnk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lIG9mIHRoZSB1c2VyZGF0YTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGVuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbGVuZ3RoIG9mIHRoZSBuYW1lLCBpZiAtMSBpdCBpcyByZWNvbXB1dGVkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaW50ZXJuYWwgY29weSBvZiB0aGUgbmFtZSBvciBOVUxMIGluIGNhc2Ugb2YgaW50ZXJuYWwgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxEaWN0T3ducyIgaWQ9InhtbERpY3RPd25zIj48L2E+RnVuY3Rpb246IHhtbERpY3RPd25zPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbERpY3RPd25zCQkJKDxhIGhyZWY9ImxpYnhtbC1kaWN0Lmh0bWwjeG1sRGljdFB0ciI+eG1sRGljdFB0cjwvYT4gZGljdCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3RyKTxiciAvPgorPC9wcmU+PHA+Y2hlY2sgaWYgYSBzdHJpbmcgaXMgb3duZWQgYnkgdGhlIGRpc2N0aW9uYXJ5PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGljdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRpY3Rpb25uYXJ5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdHI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzdHJpbmc8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSwgMCBpZiBmYWxzZSBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sRGljdFFMb29rdXAiIGlkPSJ4bWxEaWN0UUxvb2t1cCI+PC9hPkZ1bmN0aW9uOiB4bWxEaWN0UUxvb2t1cDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbERpY3RRTG9va3VwCQkoPGEgaHJlZj0ibGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0UHRyIj54bWxEaWN0UHRyPC9hPiBkaWN0LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwcmVmaXgsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpPGJyIC8+Cis8L3ByZT48cD5BZGQgdGhlIFFOYW1lIEBwcmVmaXg6QG5hbWUgdG8gdGhlIGhhc2ggQGRpY3QgaWYgbm90IHByZXNlbnQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGljdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRpY3Rpb25uYXJ5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wcmVmaXg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwcmVmaXg8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaW50ZXJuYWwgY29weSBvZiB0aGUgUU5hbWUgb3IgTlVMTCBpbiBjYXNlIG9mIGludGVybmFsIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sRGljdFJlZmVyZW5jZSIgaWQ9InhtbERpY3RSZWZlcmVuY2UiPjwvYT5GdW5jdGlvbjogeG1sRGljdFJlZmVyZW5jZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxEaWN0UmVmZXJlbmNlCQkoPGEgaHJlZj0ibGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0UHRyIj54bWxEaWN0UHRyPC9hPiBkaWN0KTxiciAvPgorPC9wcmU+PHA+SW5jcmVtZW50IHRoZSA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjcmVmZXJlbmNlIj5yZWZlcmVuY2U8L2E+IGNvdW50ZXIgb2YgYSBkaWN0aW9uYXJ5PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGljdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRpY3Rpb25uYXJ5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGluIGNhc2Ugb2Ygc3VjY2VzcyBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbERpY3RTZXRMaW1pdCIgaWQ9InhtbERpY3RTZXRMaW1pdCI+PC9hPkZ1bmN0aW9uOiB4bWxEaWN0U2V0TGltaXQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5zaXplX3QJeG1sRGljdFNldExpbWl0CQkJKDxhIGhyZWY9ImxpYnhtbC1kaWN0Lmh0bWwjeG1sRGljdFB0ciI+eG1sRGljdFB0cjwvYT4gZGljdCwgPGJyIC8+CQkJCQkgc2l6ZV90IGxpbWl0KTxiciAvPgorPC9wcmU+PHA+U2V0IGEgc2l6ZSBsaW1pdCBmb3IgdGhlIGRpY3Rpb25hcnkgQWRkZWQgaW4gMi45LjA8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kaWN0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZGljdGlvbm5hcnk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxpbWl0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbGltaXQgaW4gYnl0ZXM8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwcmV2aW91cyBsaW1pdCBvZiB0aGUgZGljdGlvbmFyeSBvciAwPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sRGljdFNpemUiIGlkPSJ4bWxEaWN0U2l6ZSI+PC9hPkZ1bmN0aW9uOiB4bWxEaWN0U2l6ZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxEaWN0U2l6ZQkJCSg8YSBocmVmPSJsaWJ4bWwtZGljdC5odG1sI3htbERpY3RQdHIiPnhtbERpY3RQdHI8L2E+IGRpY3QpPGJyIC8+Cis8L3ByZT48cD5RdWVyeSB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzIGluc3RhbGxlZCBpbiB0aGUgaGFzaCBAZGljdC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kaWN0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZGljdGlvbm5hcnk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgZWxlbWVudHMgaW4gdGhlIGRpY3Rpb25uYXJ5IG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxJbml0aWFsaXplRGljdCIgaWQ9InhtbEluaXRpYWxpemVEaWN0Ij48L2E+RnVuY3Rpb246IHhtbEluaXRpYWxpemVEaWN0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbEluaXRpYWxpemVEaWN0CQkodm9pZCk8YnIgLz4KKzwvcHJlPjxwPkRvIHRoZSBkaWN0aW9uYXJ5IG11dGV4IGluaXRpYWxpemF0aW9uLiB0aGlzIGZ1bmN0aW9uIGlzIGRlcHJlY2F0ZWQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGlmIGluaXRpYWxpemF0aW9uIHdhcyBhbHJlYWR5IGRvbmUsIGFuZCAxIGlmIHRoYXQgY2FsbCBsZWQgdG8gdGhlIGluaXRpYWxpemF0aW9uPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48cD48YSBocmVmPSIuLi9idWdzLmh0bWwiPkRhbmllbCBWZWlsbGFyZDwvYT48L3A+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2h0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwgYi9saWJ4bWwyL2RvYy9odG1sL2xpYnhtbC1lbmNvZGluZy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcwZjU2ZjgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9odG1sL2xpYnhtbC1lbmNvZGluZy5odG1sCkBAIC0wLDAgKzEsMTI0IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPgorPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPjxoZWFkPjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPjxsaW5rIHJlbD0iU0hPUlRDVVQgSUNPTiIgaHJlZj0iL2Zhdmljb24uaWNvIiAvPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CitURCB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorQk9EWSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhOyBtYXJnaW4tdG9wOiAyZW07IG1hcmdpbi1sZWZ0OiAwZW07IG1hcmdpbi1yaWdodDogMGVtfQorSDEge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gyIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMyB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorQTpsaW5rLCBBOnZpc2l0ZWQsIEE6YWN0aXZlIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgfQorPC9zdHlsZT48c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorICAgICAgZGl2LmRlcHJlY2F0ZWQgcHJlLnByb2dyYW1saXN0aW5nIHtib3JkZXItc3R5bGU6IGRvdWJsZTtib3JkZXItY29sb3I6cmVkfQorICAgICAgcHJlLnByb2dyYW1saXN0aW5nIHtib3JkZXItc3R5bGU6IGRvdWJsZTtiYWNrZ3JvdW5kOiAjRUVDRkExfQorICAgIDwvc3R5bGU+PHRpdGxlPk1vZHVsZSBlbmNvZGluZyBmcm9tIGxpYnhtbDI8L3RpdGxlPjwvaGVhZD48Ym9keSBiZ2NvbG9yPSIjOGI3NzY1IiB0ZXh0PSIjMDAwMDAwIiBsaW5rPSIjYTA2MDYwIiB2bGluaz0iIzAwMDAwMCI+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjEwMCUiIGNlbGxwYWRkaW5nPSI1IiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCB3aWR0aD0iMTIwIj48YSBocmVmPSJodHRwOi8vc3dwYXQuZmZpaS5vcmcvIj48aW1nIHNyYz0iLi4vZXBhdGVudHMucG5nIiBhbHQ9IkFjdGlvbiBhZ2FpbnN0IHNvZnR3YXJlIHBhdGVudHMiIC8+PC9hPjwvdGQ+PHRkIHdpZHRoPSIxODAiPjxhIGhyZWY9Imh0dHA6Ly93d3cuZ25vbWUub3JnLyI+PGltZyBzcmM9Ii4uL2dub21lMi5wbmciIGFsdD0iR25vbWUyIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1N0YXR1cyI+PGltZyBzcmM9Ii4uL3czYy5wbmciIGFsdD0iVzNDIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cucmVkaGF0LmNvbS8iPjxpbWcgc3JjPSIuLi9yZWRoYXQuZ2lmIiBhbHQ9IlJlZCBIYXQgTG9nbyIgLz48L2E+PGRpdiBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnLyI+PGltZyBzcmM9Ii4uL0xpYnhtbDItTG9nby0xODB4MTY4LmdpZiIgYWx0PSJNYWRlIHdpdGggTGlieG1sMiBMb2dvIiAvPjwvYT48L2Rpdj48L3RkPjx0ZD48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iOTAlIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyIgYmdjb2xvcj0iI2ZmZmFjZCI+PHRyPjx0ZCBhbGlnbj0iY2VudGVyIj48aDE+PC9oMT48aDI+TW9kdWxlIGVuY29kaW5nIGZyb20gbGlieG1sMjwvaDI+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjQiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiIHdpZHRoPSIxMDAlIj48dHI+PHRkIHZhbGlnbj0idG9wIiB3aWR0aD0iMjAwIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5BUEkgTWVudTwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48Zm9ybSBhY3Rpb249Ii4uL3NlYXJjaC5waHAiIGVuY3R5cGU9ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIgbWV0aG9kPSJnZXQiPjxpbnB1dCBuYW1lPSJxdWVyeSIgdHlwZT0idGV4dCIgc2l6ZT0iMjAiIHZhbHVlPSIiIC8+PGlucHV0IG5hbWU9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU2VhcmNoIC4uLiIgLz48L2Zvcm0+PHVsPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iLi4vaW5kZXguaHRtbCI+TWFpbiBNZW51PC9hPjwvbGk+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSIuLi9kb2NzLmh0bWwiPkRldmVsb3BlciBNZW51PC9hPjwvbGk+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSIuLi9leGFtcGxlcy9pbmRleC5odG1sIj5Db2RlIEV4YW1wbGVzPC9hPjwvbGk+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSJpbmRleC5odG1sIj5BUEkgTWVudTwvYT48L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwiPlBhcnNlciBBUEk8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCI+VHJlZSBBUEk8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sIj5SZWFkZXIgQVBJPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL2d1aWRlbGluZXMuaHRtbCI+WE1MIEd1aWRlbGluZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQ2hhbmdlTG9nLmh0bWwiPkNoYW5nZUxvZzwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPkFQSSBJbmRleGVzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iLi4vQVBJY2h1bmswLmh0bWwiPkFscGhhYmV0aWM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJY29uc3RydWN0b3JzLmh0bWwiPkNvbnN0cnVjdG9yczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUElmdW5jdGlvbnMuaHRtbCI+RnVuY3Rpb25zL1R5cGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSWZpbGVzLmh0bWwiPk1vZHVsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJc3ltYm9scy5odG1sIj5TeW1ib2xzPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+UmVsYXRlZCBsaW5rczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9Imh0dHA6Ly9tYWlsLmdub21lLm9yZy9hcmNoaXZlcy94bWwvIj5NYWlsIGFyY2hpdmU8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnL1hTTFQvIj5YU0xUIGxpYnhzbHQ8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3BoZC5jcy51bmliby5pdC9nZG9tZTIvIj5ET00gZ2RvbWUyPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuYWxla3NleS5jb20veG1sc2VjLyI+WE1MLURTaWcgeG1sc2VjPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImZ0cDovL3htbHNvZnQub3JnLyI+RlRQPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemxhdGtvdmljLmNvbS9wcm9qZWN0cy9saWJ4bWwvIj5XaW5kb3dzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9vcGVuY3N3Lm9yZy9wYWNrYWdlcy9saWJ4bWwyIj5Tb2xhcmlzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuZXhwbGFpbi5jb20uYXUvb3NzL2xpYnhtbDJ4c2x0Lmh0bWwiPk1hY09zWCBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbHhtbC5kZS8iPmx4bWwgUHl0aG9uIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9jcGFuLnV3aW5uaXBlZy5jYS9kaXN0L1hNTC1MaWJYTUwiPlBlcmwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbHBsdXNwbHVzLnNvdXJjZWZvcmdlLm5ldC8iPkMrKyBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnplbmQuY29tL3BocDUvYXJ0aWNsZXMvcGhwNS14bWxwaHAucGhwI0hlYWRpbmc0Ij5QSFAgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9saWJ4bWwyLXBhcy8iPlBhc2NhbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1sLnJ1Ynlmb3JnZS5vcmcvIj5SdWJ5IGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly90Y2x4bWwuc291cmNlZm9yZ2UubmV0LyI+VGNsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvYnVnbGlzdC5jZ2k/cHJvZHVjdD1saWJ4bWwyIj5CdWcgVHJhY2tlcjwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMyIgY2VsbHNwYWNpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx0YWJsZSBjbGFzcz0ibmF2aWdhdGlvbiIgd2lkdGg9IjEwMCUiIHN1bW1hcnk9Ik5hdmlnYXRpb24gaGVhZGVyIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjIiPjx0ciB2YWxpZ249Im1pZGRsZSI+PHRkPjxhIGFjY2Vzc2tleT0icCIgaHJlZj0ibGlieG1sLWRpY3QuaHRtbCI+PGltZyBzcmM9ImxlZnQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJQcmV2IiAvPjwvYT48L3RkPjx0aCBhbGlnbj0ibGVmdCI+PGEgaHJlZj0ibGlieG1sLWRpY3QuaHRtbCI+ZGljdDwvYT48L3RoPjx0ZD48YSBhY2Nlc3NrZXk9InUiIGhyZWY9ImluZGV4Lmh0bWwiPjxpbWcgc3JjPSJ1cC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlVwIiAvPjwvYT48L3RkPjx0aCBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iaW5kZXguaHRtbCI+QVBJIGRvY3VtZW50YXRpb248L2E+PC90aD48dGQ+PGEgYWNjZXNza2V5PSJoIiBocmVmPSIuLi9pbmRleC5odG1sIj48aW1nIHNyYz0iaG9tZS5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IkhvbWUiIC8+PC9hPjwvdGQ+PHRoIGFsaWduPSJjZW50ZXIiPjxhIGhyZWY9Ii4uL2luZGV4Lmh0bWwiPlRoZSBYTUwgQyBwYXJzZXIgYW5kIHRvb2xraXQgb2YgR25vbWU8L2E+PC90aD48dGggYWxpZ249InJpZ2h0Ij48YSBocmVmPSJsaWJ4bWwtZW50aXRpZXMuaHRtbCI+ZW50aXRpZXM8L2E+PC90aD48dGQ+PGEgYWNjZXNza2V5PSJuIiBocmVmPSJsaWJ4bWwtZW50aXRpZXMuaHRtbCI+PGltZyBzcmM9InJpZ2h0LnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iTmV4dCIgLz48L2E+PC90ZD48L3RyPjwvdGFibGU+PHA+aW50ZXJmYWNlIGZvciB0aGUgZW5jb2RpbmcgY29udmVyc2lvbiBmdW5jdGlvbnMgbmVlZGVkIGZvciBYTUwgYmFzaWMgZW5jb2RpbmcgYW5kIGljb252KCkgc3VwcG9ydC4gIFJlbGF0ZWQgc3BlY3MgYXJlIHJmYzIwNDQgICAgICAgIChVVEYtOCBhbmQgVVRGLTE2KSBGLiBZZXJnZWF1IEFsaXMgVGVjaG5vbG9naWVzIFtJU08tMTA2NDZdICAgIFVURi04IGFuZCBVVEYtMTYgaW4gQW5uZXhlcyBbSVNPLTg4NTktMV0gICBJU08gTGF0aW4tMSBjaGFyYWN0ZXJzIGNvZGVzLiBbVU5JQ09ERV0gICAgICBUaGUgVW5pY29kZSBDb25zb3J0aXVtLCAiVGhlIFVuaWNvZGUgU3RhbmRhcmQgLS0gV29ybGR3aWRlIENoYXJhY3RlciBFbmNvZGluZyAtLSBWZXJzaW9uIDEuMCIsIEFkZGlzb24tIFdlc2xleSwgVm9sdW1lIDEsIDE5OTEsIFZvbHVtZSAyLCAxOTkyLiAgVVRGLTggaXMgZGVzY3JpYmVkIGluIFVuaWNvZGUgVGVjaG5pY2FsIFJlcG9ydCAjNC4gW1VTLUFTQ0lJXSAgICAgQ29kZWQgQ2hhcmFjdGVyIFNldC0tNy1iaXQgQW1lcmljYW4gU3RhbmRhcmQgQ29kZSBmb3IgSW5mb3JtYXRpb24gSW50ZXJjaGFuZ2UsIEFOU0kgWDMuNC0xOTg2LiA8L3A+PGgyPlRhYmxlIG9mIENvbnRlbnRzPC9oMj48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+U3RydWN0dXJlIDxhIGhyZWY9IiN1Y29udl90Ij51Y29udl90PC9hPjxiciAvPnN0cnVjdCBfdWNvbnZfdAorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkVudW0gPGEgaHJlZj0iI3htbENoYXJFbmNvZGluZyI+eG1sQ2hhckVuY29kaW5nPC9hPgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlN0cnVjdHVyZSA8YSBocmVmPSIjeG1sQ2hhckVuY29kaW5nSGFuZGxlciI+eG1sQ2hhckVuY29kaW5nSGFuZGxlcjwvYT48YnIgLz5zdHJ1Y3QgX3htbENoYXJFbmNvZGluZ0hhbmRsZXIKKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5UeXBlZGVmIDxhIGhyZWY9ImxpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZ0hhbmRsZXIiPnhtbENoYXJFbmNvZGluZ0hhbmRsZXI8L2E+ICogPGEgbmFtZT0ieG1sQ2hhckVuY29kaW5nSGFuZGxlclB0ciIgaWQ9InhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIiPnhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHI8L2E+Cis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiNVVEY4VG9pc29sYXQxIj5VVEY4VG9pc29sYXQxPC9hPgkJCSh1bnNpZ25lZCBjaGFyICogb3V0LCA8YnIgLz4JCQkJCSBpbnQgKiBvdXRsZW4sIDxiciAvPgkJCQkJIGNvbnN0IHVuc2lnbmVkIGNoYXIgKiBpbiwgPGJyIC8+CQkJCQkgaW50ICogaW5sZW4pPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiNpc29sYXQxVG9VVEY4Ij5pc29sYXQxVG9VVEY4PC9hPgkJCSh1bnNpZ25lZCBjaGFyICogb3V0LCA8YnIgLz4JCQkJCSBpbnQgKiBvdXRsZW4sIDxiciAvPgkJCQkJIGNvbnN0IHVuc2lnbmVkIGNoYXIgKiBpbiwgPGJyIC8+CQkJCQkgaW50ICogaW5sZW4pPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxBZGRFbmNvZGluZ0FsaWFzIj54bWxBZGRFbmNvZGluZ0FsaWFzPC9hPgkJKGNvbnN0IGNoYXIgKiBuYW1lLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogYWxpYXMpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxDaGFyRW5jQ2xvc2VGdW5jIj54bWxDaGFyRW5jQ2xvc2VGdW5jPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZ0hhbmRsZXIiPnhtbENoYXJFbmNvZGluZ0hhbmRsZXI8L2E+ICogaGFuZGxlcik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbENoYXJFbmNGaXJzdExpbmUiPnhtbENoYXJFbmNGaXJzdExpbmU8L2E+CQkoPGEgaHJlZj0ibGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nSGFuZGxlciI+eG1sQ2hhckVuY29kaW5nSGFuZGxlcjwvYT4gKiBoYW5kbGVyLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlclB0ciI+eG1sQnVmZmVyUHRyPC9hPiBvdXQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyUHRyIj54bWxCdWZmZXJQdHI8L2E+IGluKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sQ2hhckVuY0luRnVuYyI+eG1sQ2hhckVuY0luRnVuYzwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmdIYW5kbGVyIj54bWxDaGFyRW5jb2RpbmdIYW5kbGVyPC9hPiAqIGhhbmRsZXIsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyUHRyIj54bWxCdWZmZXJQdHI8L2E+IG91dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJQdHIiPnhtbEJ1ZmZlclB0cjwvYT4gaW4pPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxDaGFyRW5jT3V0RnVuYyI+eG1sQ2hhckVuY091dEZ1bmM8L2E+CQkoPGEgaHJlZj0ibGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nSGFuZGxlciI+eG1sQ2hhckVuY29kaW5nSGFuZGxlcjwvYT4gKiBoYW5kbGVyLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlclB0ciI+eG1sQnVmZmVyUHRyPC9hPiBvdXQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyUHRyIj54bWxCdWZmZXJQdHI8L2E+IGluKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkZ1bmN0aW9uIHR5cGU6IDxhIGhyZWY9IiN4bWxDaGFyRW5jb2RpbmdJbnB1dEZ1bmMiPnhtbENoYXJFbmNvZGluZ0lucHV0RnVuYzwvYT4KK2ludAk8YSBocmVmPSIjeG1sQ2hhckVuY29kaW5nSW5wdXRGdW5jIj54bWxDaGFyRW5jb2RpbmdJbnB1dEZ1bmM8L2E+CSh1bnNpZ25lZCBjaGFyICogb3V0LCA8YnIgLz4JCQkJCSBpbnQgKiBvdXRsZW4sIDxiciAvPgkJCQkJIGNvbnN0IHVuc2lnbmVkIGNoYXIgKiBpbiwgPGJyIC8+CQkJCQkgaW50ICogaW5sZW4pCis8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5GdW5jdGlvbiB0eXBlOiA8YSBocmVmPSIjeG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYyI+eG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYzwvYT4KK2ludAk8YSBocmVmPSIjeG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYyI+eG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYzwvYT4JKHVuc2lnbmVkIGNoYXIgKiBvdXQsIDxiciAvPgkJCQkJIGludCAqIG91dGxlbiwgPGJyIC8+CQkJCQkgY29uc3QgdW5zaWduZWQgY2hhciAqIGluLCA8YnIgLz4JCQkJCSBpbnQgKiBpbmxlbikKKzwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbENsZWFudXBDaGFyRW5jb2RpbmdIYW5kbGVycyI+eG1sQ2xlYW51cENoYXJFbmNvZGluZ0hhbmRsZXJzPC9hPgkodm9pZCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxDbGVhbnVwRW5jb2RpbmdBbGlhc2VzIj54bWxDbGVhbnVwRW5jb2RpbmdBbGlhc2VzPC9hPgkodm9pZCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbERlbEVuY29kaW5nQWxpYXMiPnhtbERlbEVuY29kaW5nQWxpYXM8L2E+CQkoY29uc3QgY2hhciAqIGFsaWFzKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZyI+eG1sQ2hhckVuY29kaW5nPC9hPgk8YSBocmVmPSIjeG1sRGV0ZWN0Q2hhckVuY29kaW5nIj54bWxEZXRlY3RDaGFyRW5jb2Rpbmc8L2E+CShjb25zdCB1bnNpZ25lZCBjaGFyICogaW4sIDxiciAvPgkJCQkJIGludCBsZW4pPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0ciI+eG1sQ2hhckVuY29kaW5nSGFuZGxlclB0cjwvYT4JPGEgaHJlZj0iI3htbEZpbmRDaGFyRW5jb2RpbmdIYW5kbGVyIj54bWxGaW5kQ2hhckVuY29kaW5nSGFuZGxlcjwvYT4JKGNvbnN0IGNoYXIgKiBuYW1lKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIiPnhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHI8L2E+CTxhIGhyZWY9IiN4bWxHZXRDaGFyRW5jb2RpbmdIYW5kbGVyIj54bWxHZXRDaGFyRW5jb2RpbmdIYW5kbGVyPC9hPgkoPGEgaHJlZj0ibGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nIj54bWxDaGFyRW5jb2Rpbmc8L2E+IGVuYyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5jb25zdCBjaGFyICoJPGEgaHJlZj0iI3htbEdldENoYXJFbmNvZGluZ05hbWUiPnhtbEdldENoYXJFbmNvZGluZ05hbWU8L2E+CSg8YSBocmVmPSJsaWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmciPnhtbENoYXJFbmNvZGluZzwvYT4gZW5jKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmNvbnN0IGNoYXIgKgk8YSBocmVmPSIjeG1sR2V0RW5jb2RpbmdBbGlhcyI+eG1sR2V0RW5jb2RpbmdBbGlhczwvYT4JKGNvbnN0IGNoYXIgKiBhbGlhcyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxJbml0Q2hhckVuY29kaW5nSGFuZGxlcnMiPnhtbEluaXRDaGFyRW5jb2RpbmdIYW5kbGVyczwvYT4JKHZvaWQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0ciI+eG1sQ2hhckVuY29kaW5nSGFuZGxlclB0cjwvYT4JPGEgaHJlZj0iI3htbE5ld0NoYXJFbmNvZGluZ0hhbmRsZXIiPnhtbE5ld0NoYXJFbmNvZGluZ0hhbmRsZXI8L2E+CShjb25zdCBjaGFyICogbmFtZSwgPGJyIC8+CQkJCQkJCSA8YSBocmVmPSJsaWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmdJbnB1dEZ1bmMiPnhtbENoYXJFbmNvZGluZ0lucHV0RnVuYzwvYT4gaW5wdXQsIDxiciAvPgkJCQkJCQkgPGEgaHJlZj0ibGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYyI+eG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYzwvYT4gb3V0cHV0KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZyI+eG1sQ2hhckVuY29kaW5nPC9hPgk8YSBocmVmPSIjeG1sUGFyc2VDaGFyRW5jb2RpbmciPnhtbFBhcnNlQ2hhckVuY29kaW5nPC9hPgkoY29uc3QgY2hhciAqIG5hbWUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sUmVnaXN0ZXJDaGFyRW5jb2RpbmdIYW5kbGVyIj54bWxSZWdpc3RlckNoYXJFbmNvZGluZ0hhbmRsZXI8L2E+CSg8YSBocmVmPSJsaWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyIj54bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyPC9hPiBoYW5kbGVyKTwvcHJlPgorPGgyPkRlc2NyaXB0aW9uPC9oMj4KKzxoMz48YSBuYW1lPSJ1Y29udl90IiBpZD0idWNvbnZfdCI+U3RydWN0dXJlIHVjb252X3Q8L2E+PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+U3RydWN0dXJlIHVjb252X3Q8YnIgLz5zdHJ1Y3QgX3Vjb252X3QgeworICAgIFVDb252ZXJ0ZXIgKgl1Y29udgk6IGZvciBjb252ZXJzaW9uIGJldHdlZW4gYW4gZW5jb2RpbmcgYW5kCisgICAgVUNvbnZlcnRlciAqCXV0ZjgJOiBmb3IgY29udmVyc2lvbiBiZXR3ZWVuIFVURi04IGFuZCBVVEYtMTYKK308L3ByZT48aDM+RW51bSA8YSBuYW1lPSJ4bWxDaGFyRW5jb2RpbmciIGlkPSJ4bWxDaGFyRW5jb2RpbmciPnhtbENoYXJFbmNvZGluZzwvYT48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5FbnVtIHhtbENoYXJFbmNvZGluZyB7CisgICAgPGEgbmFtZT0iWE1MX0NIQVJfRU5DT0RJTkdfRVJST1IiIGlkPSJYTUxfQ0hBUl9FTkNPRElOR19FUlJPUiI+WE1MX0NIQVJfRU5DT0RJTkdfRVJST1I8L2E+ID0gLTEgOiBObyBjaGFyIGVuY29kaW5nIGRldGVjdGVkCisgICAgPGEgbmFtZT0iWE1MX0NIQVJfRU5DT0RJTkdfTk9ORSIgaWQ9IlhNTF9DSEFSX0VOQ09ESU5HX05PTkUiPlhNTF9DSEFSX0VOQ09ESU5HX05PTkU8L2E+ID0gMCA6IE5vIGNoYXIgZW5jb2RpbmcgZGV0ZWN0ZWQKKyAgICA8YSBuYW1lPSJYTUxfQ0hBUl9FTkNPRElOR19VVEY4IiBpZD0iWE1MX0NIQVJfRU5DT0RJTkdfVVRGOCI+WE1MX0NIQVJfRU5DT0RJTkdfVVRGODwvYT4gPSAxIDogVVRGLTgKKyAgICA8YSBuYW1lPSJYTUxfQ0hBUl9FTkNPRElOR19VVEYxNkxFIiBpZD0iWE1MX0NIQVJfRU5DT0RJTkdfVVRGMTZMRSI+WE1MX0NIQVJfRU5DT0RJTkdfVVRGMTZMRTwvYT4gPSAyIDogVVRGLTE2IGxpdHRsZSBlbmRpYW4KKyAgICA8YSBuYW1lPSJYTUxfQ0hBUl9FTkNPRElOR19VVEYxNkJFIiBpZD0iWE1MX0NIQVJfRU5DT0RJTkdfVVRGMTZCRSI+WE1MX0NIQVJfRU5DT0RJTkdfVVRGMTZCRTwvYT4gPSAzIDogVVRGLTE2IGJpZyBlbmRpYW4KKyAgICA8YSBuYW1lPSJYTUxfQ0hBUl9FTkNPRElOR19VQ1M0TEUiIGlkPSJYTUxfQ0hBUl9FTkNPRElOR19VQ1M0TEUiPlhNTF9DSEFSX0VOQ09ESU5HX1VDUzRMRTwvYT4gPSA0IDogVUNTLTQgbGl0dGxlIGVuZGlhbgorICAgIDxhIG5hbWU9IlhNTF9DSEFSX0VOQ09ESU5HX1VDUzRCRSIgaWQ9IlhNTF9DSEFSX0VOQ09ESU5HX1VDUzRCRSI+WE1MX0NIQVJfRU5DT0RJTkdfVUNTNEJFPC9hPiA9IDUgOiBVQ1MtNCBiaWcgZW5kaWFuCisgICAgPGEgbmFtZT0iWE1MX0NIQVJfRU5DT0RJTkdfRUJDRElDIiBpZD0iWE1MX0NIQVJfRU5DT0RJTkdfRUJDRElDIj5YTUxfQ0hBUl9FTkNPRElOR19FQkNESUM8L2E+ID0gNiA6IEVCQ0RJQyB1aCEKKyAgICA8YSBuYW1lPSJYTUxfQ0hBUl9FTkNPRElOR19VQ1M0XzIxNDMiIGlkPSJYTUxfQ0hBUl9FTkNPRElOR19VQ1M0XzIxNDMiPlhNTF9DSEFSX0VOQ09ESU5HX1VDUzRfMjE0MzwvYT4gPSA3IDogVUNTLTQgdW51c3VhbCBvcmRlcmluZworICAgIDxhIG5hbWU9IlhNTF9DSEFSX0VOQ09ESU5HX1VDUzRfMzQxMiIgaWQ9IlhNTF9DSEFSX0VOQ09ESU5HX1VDUzRfMzQxMiI+WE1MX0NIQVJfRU5DT0RJTkdfVUNTNF8zNDEyPC9hPiA9IDggOiBVQ1MtNCB1bnVzdWFsIG9yZGVyaW5nCisgICAgPGEgbmFtZT0iWE1MX0NIQVJfRU5DT0RJTkdfVUNTMiIgaWQ9IlhNTF9DSEFSX0VOQ09ESU5HX1VDUzIiPlhNTF9DSEFSX0VOQ09ESU5HX1VDUzI8L2E+ID0gOSA6IFVDUy0yCisgICAgPGEgbmFtZT0iWE1MX0NIQVJfRU5DT0RJTkdfODg1OV8xIiBpZD0iWE1MX0NIQVJfRU5DT0RJTkdfODg1OV8xIj5YTUxfQ0hBUl9FTkNPRElOR184ODU5XzE8L2E+ID0gMTAgOiBJU08tODg1OS0xIElTTyBMYXRpbiAxCisgICAgPGEgbmFtZT0iWE1MX0NIQVJfRU5DT0RJTkdfODg1OV8yIiBpZD0iWE1MX0NIQVJfRU5DT0RJTkdfODg1OV8yIj5YTUxfQ0hBUl9FTkNPRElOR184ODU5XzI8L2E+ID0gMTEgOiBJU08tODg1OS0yIElTTyBMYXRpbiAyCisgICAgPGEgbmFtZT0iWE1MX0NIQVJfRU5DT0RJTkdfODg1OV8zIiBpZD0iWE1MX0NIQVJfRU5DT0RJTkdfODg1OV8zIj5YTUxfQ0hBUl9FTkNPRElOR184ODU5XzM8L2E+ID0gMTIgOiBJU08tODg1OS0zCisgICAgPGEgbmFtZT0iWE1MX0NIQVJfRU5DT0RJTkdfODg1OV80IiBpZD0iWE1MX0NIQVJfRU5DT0RJTkdfODg1OV80Ij5YTUxfQ0hBUl9FTkNPRElOR184ODU5XzQ8L2E+ID0gMTMgOiBJU08tODg1OS00CisgICAgPGEgbmFtZT0iWE1MX0NIQVJfRU5DT0RJTkdfODg1OV81IiBpZD0iWE1MX0NIQVJfRU5DT0RJTkdfODg1OV81Ij5YTUxfQ0hBUl9FTkNPRElOR184ODU5XzU8L2E+ID0gMTQgOiBJU08tODg1OS01CisgICAgPGEgbmFtZT0iWE1MX0NIQVJfRU5DT0RJTkdfODg1OV82IiBpZD0iWE1MX0NIQVJfRU5DT0RJTkdfODg1OV82Ij5YTUxfQ0hBUl9FTkNPRElOR184ODU5XzY8L2E+ID0gMTUgOiBJU08tODg1OS02CisgICAgPGEgbmFtZT0iWE1MX0NIQVJfRU5DT0RJTkdfODg1OV83IiBpZD0iWE1MX0NIQVJfRU5DT0RJTkdfODg1OV83Ij5YTUxfQ0hBUl9FTkNPRElOR184ODU5Xzc8L2E+ID0gMTYgOiBJU08tODg1OS03CisgICAgPGEgbmFtZT0iWE1MX0NIQVJfRU5DT0RJTkdfODg1OV84IiBpZD0iWE1MX0NIQVJfRU5DT0RJTkdfODg1OV84Ij5YTUxfQ0hBUl9FTkNPRElOR184ODU5Xzg8L2E+ID0gMTcgOiBJU08tODg1OS04CisgICAgPGEgbmFtZT0iWE1MX0NIQVJfRU5DT0RJTkdfODg1OV85IiBpZD0iWE1MX0NIQVJfRU5DT0RJTkdfODg1OV85Ij5YTUxfQ0hBUl9FTkNPRElOR184ODU5Xzk8L2E+ID0gMTggOiBJU08tODg1OS05CisgICAgPGEgbmFtZT0iWE1MX0NIQVJfRU5DT0RJTkdfMjAyMl9KUCIgaWQ9IlhNTF9DSEFSX0VOQ09ESU5HXzIwMjJfSlAiPlhNTF9DSEFSX0VOQ09ESU5HXzIwMjJfSlA8L2E+ID0gMTkgOiBJU08tMjAyMi1KUAorICAgIDxhIG5hbWU9IlhNTF9DSEFSX0VOQ09ESU5HX1NISUZUX0pJUyIgaWQ9IlhNTF9DSEFSX0VOQ09ESU5HX1NISUZUX0pJUyI+WE1MX0NIQVJfRU5DT0RJTkdfU0hJRlRfSklTPC9hPiA9IDIwIDogU2hpZnRfSklTCisgICAgPGEgbmFtZT0iWE1MX0NIQVJfRU5DT0RJTkdfRVVDX0pQIiBpZD0iWE1MX0NIQVJfRU5DT0RJTkdfRVVDX0pQIj5YTUxfQ0hBUl9FTkNPRElOR19FVUNfSlA8L2E+ID0gMjEgOiBFVUMtSlAKKyAgICA8YSBuYW1lPSJYTUxfQ0hBUl9FTkNPRElOR19BU0NJSSIgaWQ9IlhNTF9DSEFSX0VOQ09ESU5HX0FTQ0lJIj5YTUxfQ0hBUl9FTkNPRElOR19BU0NJSTwvYT4gPSAyMiA6IHB1cmUgQVNDSUkKK30KKzwvcHJlPjxoMz48YSBuYW1lPSJ4bWxDaGFyRW5jb2RpbmdIYW5kbGVyIiBpZD0ieG1sQ2hhckVuY29kaW5nSGFuZGxlciI+U3RydWN0dXJlIHhtbENoYXJFbmNvZGluZ0hhbmRsZXI8L2E+PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+U3RydWN0dXJlIHhtbENoYXJFbmNvZGluZ0hhbmRsZXI8YnIgLz5zdHJ1Y3QgX3htbENoYXJFbmNvZGluZ0hhbmRsZXIgeworICAgIGNoYXIgKgluYW1lCisgICAgPGEgaHJlZj0ibGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nSW5wdXRGdW5jIj54bWxDaGFyRW5jb2RpbmdJbnB1dEZ1bmM8L2E+CWlucHV0CisgICAgPGEgaHJlZj0ibGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYyI+eG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYzwvYT4Jb3V0cHV0CisgICAgaWNvbnZfdAlpY29udl9pbgorICAgIGljb252X3QJaWNvbnZfb3V0CisgICAgPGEgaHJlZj0ibGlieG1sLWVuY29kaW5nLmh0bWwjdWNvbnZfdCI+dWNvbnZfdDwvYT4gKgl1Y29udl9pbgorICAgIDxhIGhyZWY9ImxpYnhtbC1lbmNvZGluZy5odG1sI3Vjb252X3QiPnVjb252X3Q8L2E+ICoJdWNvbnZfb3V0Cit9PC9wcmU+PGgzPjxhIG5hbWU9IlVURjhUb2lzb2xhdDEiIGlkPSJVVEY4VG9pc29sYXQxIj48L2E+RnVuY3Rpb246IFVURjhUb2lzb2xhdDE8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJVVRGOFRvaXNvbGF0MQkJCSh1bnNpZ25lZCBjaGFyICogb3V0LCA8YnIgLz4JCQkJCSBpbnQgKiBvdXRsZW4sIDxiciAvPgkJCQkJIGNvbnN0IHVuc2lnbmVkIGNoYXIgKiBpbiwgPGJyIC8+CQkJCQkgaW50ICogaW5sZW4pPGJyIC8+Cis8L3ByZT48cD5UYWtlIGEgYmxvY2sgb2YgVVRGLTggY2hhcnMgaW4gYW5kIHRyeSB0byBjb252ZXJ0IGl0IHRvIGFuIElTTyBMYXRpbiAxIGJsb2NrIG9mIGNoYXJzIG91dC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vdXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byBhbiBhcnJheSBvZiBieXRlcyB0byBzdG9yZSB0aGUgcmVzdWx0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vdXRsZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsZW5ndGggb2YgQG91dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byBhbiBhcnJheSBvZiBVVEYtOCBjaGFyczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aW5sZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsZW5ndGggb2YgQGluPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGJ5dGVzIHdyaXR0ZW4gaWYgc3VjY2VzcywgLTIgaWYgdGhlIHRyYW5zY29kaW5nIGZhaWxzLCBvciAtMSBvdGhlcndpc2UgVGhlIHZhbHVlIG9mIEBpbmxlbiBhZnRlciByZXR1cm4gaXMgdGhlIG51bWJlciBvZiBvY3RldHMgY29uc3VtZWQgaWYgdGhlIHJldHVybiB2YWx1ZSBpcyBwb3NpdGl2ZSwgZWxzZSB1bnByZWRpY3RhYmxlLiBUaGUgdmFsdWUgb2YgQG91dGxlbiBhZnRlciByZXR1cm4gaXMgdGhlIG51bWJlciBvZiBvY3RldHMgY29uc3VtZWQuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0iaXNvbGF0MVRvVVRGOCIgaWQ9Imlzb2xhdDFUb1VURjgiPjwvYT5GdW5jdGlvbjogaXNvbGF0MVRvVVRGODwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAlpc29sYXQxVG9VVEY4CQkJKHVuc2lnbmVkIGNoYXIgKiBvdXQsIDxiciAvPgkJCQkJIGludCAqIG91dGxlbiwgPGJyIC8+CQkJCQkgY29uc3QgdW5zaWduZWQgY2hhciAqIGluLCA8YnIgLz4JCQkJCSBpbnQgKiBpbmxlbik8YnIgLz4KKzwvcHJlPjxwPlRha2UgYSBibG9jayBvZiBJU08gTGF0aW4gMSBjaGFycyBpbiBhbmQgdHJ5IHRvIGNvbnZlcnQgaXQgdG8gYW4gVVRGLTggYmxvY2sgb2YgY2hhcnMgb3V0LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm91dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIGFuIGFycmF5IG9mIGJ5dGVzIHRvIHN0b3JlIHRoZSByZXN1bHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm91dGxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxlbmd0aCBvZiBAb3V0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIGFuIGFycmF5IG9mIElTTyBMYXRpbiAxIGNoYXJzPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pbmxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxlbmd0aCBvZiBAaW48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgYnl0ZXMgd3JpdHRlbiBpZiBzdWNjZXNzLCBvciAtMSBvdGhlcndpc2UgVGhlIHZhbHVlIG9mIEBpbmxlbiBhZnRlciByZXR1cm4gaXMgdGhlIG51bWJlciBvZiBvY3RldHMgY29uc3VtZWQgaWYgdGhlIHJldHVybiB2YWx1ZSBpcyBwb3NpdGl2ZSwgZWxzZSB1bnByZWRpY3RhYmxlLiBUaGUgdmFsdWUgb2YgQG91dGxlbiBhZnRlciByZXR1cm4gaXMgdGhlIG51bWJlciBvZiBvY3RldHMgY29uc3VtZWQuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sQWRkRW5jb2RpbmdBbGlhcyIgaWQ9InhtbEFkZEVuY29kaW5nQWxpYXMiPjwvYT5GdW5jdGlvbjogeG1sQWRkRW5jb2RpbmdBbGlhczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxBZGRFbmNvZGluZ0FsaWFzCQkoY29uc3QgY2hhciAqIG5hbWUsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBhbGlhcyk8YnIgLz4KKzwvcHJlPjxwPlJlZ2lzdGVycyBhbiBhbGlhcyBAYWxpYXMgZm9yIGFuIGVuY29kaW5nIG5hbWVkIEBuYW1lLiBFeGlzdGluZyBhbGlhcyB3aWxsIGJlIG92ZXJ3cml0dGVuLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbmNvZGluZyBuYW1lIGFzIHBhcnNlZCwgaW4gVVRGLTggZm9ybWF0IChBU0NJSSBhY3R1YWxseSk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmFsaWFzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYWxpYXMgbmFtZSBhcyBwYXJzZWQsIGluIFVURi04IGZvcm1hdCAoQVNDSUkgYWN0dWFsbHkpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGluIGNhc2Ugb2Ygc3VjY2VzcywgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbENoYXJFbmNDbG9zZUZ1bmMiIGlkPSJ4bWxDaGFyRW5jQ2xvc2VGdW5jIj48L2E+RnVuY3Rpb246IHhtbENoYXJFbmNDbG9zZUZ1bmM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sQ2hhckVuY0Nsb3NlRnVuYwkJKDxhIGhyZWY9ImxpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZ0hhbmRsZXIiPnhtbENoYXJFbmNvZGluZ0hhbmRsZXI8L2E+ICogaGFuZGxlcik8YnIgLz4KKzwvcHJlPjxwPkdlbmVyaWMgZnJvbnQtZW5kIGZvciBlbmNvZGluZyBoYW5kbGVyIGNsb3NlIGZ1bmN0aW9uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aGFuZGxlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+Y2hhciBlbmNvbmRpbmcgdHJhbnNmb3JtYXRpb24gZGF0YSBzdHJ1Y3R1cmU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaWYgc3VjY2Vzcywgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbENoYXJFbmNGaXJzdExpbmUiIGlkPSJ4bWxDaGFyRW5jRmlyc3RMaW5lIj48L2E+RnVuY3Rpb246IHhtbENoYXJFbmNGaXJzdExpbmU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sQ2hhckVuY0ZpcnN0TGluZQkJKDxhIGhyZWY9ImxpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZ0hhbmRsZXIiPnhtbENoYXJFbmNvZGluZ0hhbmRsZXI8L2E+ICogaGFuZGxlciwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJQdHIiPnhtbEJ1ZmZlclB0cjwvYT4gb3V0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlclB0ciI+eG1sQnVmZmVyUHRyPC9hPiBpbik8YnIgLz4KKzwvcHJlPjxwPkZyb250LWVuZCBmb3IgdGhlIGVuY29kaW5nIGhhbmRsZXIgaW5wdXQgZnVuY3Rpb24sIGJ1dCBoYW5kbGUgb25seSB0aGUgdmVyeSBmaXJzdCBsaW5lLCBpLmUuIGxpbWl0IGl0c2VsZiB0byA0NSBjaGFycy48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5oYW5kbGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5jaGFyIGVuY29uZGluZyB0cmFuc2Zvcm1hdGlvbiBkYXRhIHN0cnVjdHVyZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3V0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlciI+eG1sQnVmZmVyPC9hPiBmb3IgdGhlIG91dHB1dC48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmluPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlciI+eG1sQnVmZmVyPC9hPiBmb3IgdGhlIGlucHV0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGJ5dGUgd3JpdHRlbiBpZiBzdWNjZXNzLCBvciAtMSBnZW5lcmFsIGVycm9yIC0yIGlmIHRoZSB0cmFuc2NvZGluZyBmYWlscyAoZm9yICppbiBpcyBub3QgdmFsaWQgdXRmOCBzdHJpbmcgb3IgdGhlIHJlc3VsdCBvZiB0cmFuc2Zvcm1hdGlvbiBjYW4ndCBmaXQgaW50byB0aGUgZW5jb2Rpbmcgd2Ugd2FudCksIG9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sQ2hhckVuY0luRnVuYyIgaWQ9InhtbENoYXJFbmNJbkZ1bmMiPjwvYT5GdW5jdGlvbjogeG1sQ2hhckVuY0luRnVuYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxDaGFyRW5jSW5GdW5jCQkoPGEgaHJlZj0ibGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nSGFuZGxlciI+eG1sQ2hhckVuY29kaW5nSGFuZGxlcjwvYT4gKiBoYW5kbGVyLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlclB0ciI+eG1sQnVmZmVyUHRyPC9hPiBvdXQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyUHRyIj54bWxCdWZmZXJQdHI8L2E+IGluKTxiciAvPgorPC9wcmU+PHA+R2VuZXJpYyBmcm9udC1lbmQgZm9yIHRoZSBlbmNvZGluZyBoYW5kbGVyIGlucHV0IGZ1bmN0aW9uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aGFuZGxlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+Y2hhciBlbmNvZGluZyB0cmFuc2Zvcm1hdGlvbiBkYXRhIHN0cnVjdHVyZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3V0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlciI+eG1sQnVmZmVyPC9hPiBmb3IgdGhlIG91dHB1dC48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmluPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlciI+eG1sQnVmZmVyPC9hPiBmb3IgdGhlIGlucHV0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGJ5dGUgd3JpdHRlbiBpZiBzdWNjZXNzLCBvciAtMSBnZW5lcmFsIGVycm9yIC0yIGlmIHRoZSB0cmFuc2NvZGluZyBmYWlscyAoZm9yICppbiBpcyBub3QgdmFsaWQgdXRmOCBzdHJpbmcgb3IgdGhlIHJlc3VsdCBvZiB0cmFuc2Zvcm1hdGlvbiBjYW4ndCBmaXQgaW50byB0aGUgZW5jb2Rpbmcgd2Ugd2FudCksIG9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sQ2hhckVuY091dEZ1bmMiIGlkPSJ4bWxDaGFyRW5jT3V0RnVuYyI+PC9hPkZ1bmN0aW9uOiB4bWxDaGFyRW5jT3V0RnVuYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxDaGFyRW5jT3V0RnVuYwkJKDxhIGhyZWY9ImxpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZ0hhbmRsZXIiPnhtbENoYXJFbmNvZGluZ0hhbmRsZXI8L2E+ICogaGFuZGxlciwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJQdHIiPnhtbEJ1ZmZlclB0cjwvYT4gb3V0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlclB0ciI+eG1sQnVmZmVyUHRyPC9hPiBpbik8YnIgLz4KKzwvcHJlPjxwPkdlbmVyaWMgZnJvbnQtZW5kIGZvciB0aGUgZW5jb2RpbmcgaGFuZGxlciBvdXRwdXQgZnVuY3Rpb24gYSBmaXJzdCBjYWxsIHdpdGggQGluID09IE5VTEwgaGFzIHRvIGJlIG1hZGUgZmlycyB0byBpbml0aWF0ZSB0aGUgb3V0cHV0IGluIGNhc2Ugb2Ygbm9uLXN0YXRlbGVzcyBlbmNvZGluZyBuZWVkaW5nIHRvIGluaXRpYXRlIHRoZWlyIHN0YXRlIG9yIHRoZSBvdXRwdXQgKGxpa2UgdGhlIEJPTSBpbiBVVEYxNikuIEluIGNhc2Ugb2YgVVRGOCBzZXF1ZW5jZSBjb252ZXJzaW9uIGVycm9ycyBmb3IgdGhlIGdpdmVuIGVuY29kZXIsIHRoZSBjb250ZW50IHdpbGwgYmUgYXV0b21hdGljYWxseSByZW1hcHBlZCB0byBhIENoYXJSZWYgc2VxdWVuY2UuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aGFuZGxlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+Y2hhciBlbmNvbmRpbmcgdHJhbnNmb3JtYXRpb24gZGF0YSBzdHJ1Y3R1cmU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm91dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXIiPnhtbEJ1ZmZlcjwvYT4gZm9yIHRoZSBvdXRwdXQuPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXIiPnhtbEJ1ZmZlcjwvYT4gZm9yIHRoZSBpbnB1dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBieXRlIHdyaXR0ZW4gaWYgc3VjY2Vzcywgb3IgLTEgZ2VuZXJhbCBlcnJvciAtMiBpZiB0aGUgdHJhbnNjb2RpbmcgZmFpbHMgKGZvciAqaW4gaXMgbm90IHZhbGlkIHV0Zjggc3RyaW5nIG9yIHRoZSByZXN1bHQgb2YgdHJhbnNmb3JtYXRpb24gY2FuJ3QgZml0IGludG8gdGhlIGVuY29kaW5nIHdlIHdhbnQpLCBvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbENoYXJFbmNvZGluZ0lucHV0RnVuYyIgaWQ9InhtbENoYXJFbmNvZGluZ0lucHV0RnVuYyI+PC9hPkZ1bmN0aW9uIHR5cGU6IHhtbENoYXJFbmNvZGluZ0lucHV0RnVuYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkZ1bmN0aW9uIHR5cGU6IHhtbENoYXJFbmNvZGluZ0lucHV0RnVuYworaW50CXhtbENoYXJFbmNvZGluZ0lucHV0RnVuYwkodW5zaWduZWQgY2hhciAqIG91dCwgPGJyIC8+CQkJCQkgaW50ICogb3V0bGVuLCA8YnIgLz4JCQkJCSBjb25zdCB1bnNpZ25lZCBjaGFyICogaW4sIDxiciAvPgkJCQkJIGludCAqIGlubGVuKQorPC9wcmU+PHA+VGFrZSBhIGJsb2NrIG9mIGNoYXJzIGluIHRoZSBvcmlnaW5hbCBlbmNvZGluZyBhbmQgdHJ5IHRvIGNvbnZlcnQgaXQgdG8gYW4gVVRGLTggYmxvY2sgb2YgY2hhcnMgb3V0LjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vdXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byBhbiBhcnJheSBvZiBieXRlcyB0byBzdG9yZSB0aGUgVVRGLTggcmVzdWx0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vdXRsZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsZW5ndGggb2YgQG91dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byBhbiBhcnJheSBvZiBjaGFycyBpbiB0aGUgb3JpZ2luYWwgZW5jb2Rpbmc8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmlubGVuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbGVuZ3RoIG9mIEBpbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBieXRlcyB3cml0dGVuLCAtMSBpZiBsYWNrIG9mIHNwYWNlLCBvciAtMiBpZiB0aGUgdHJhbnNjb2RpbmcgZmFpbGVkLiBUaGUgdmFsdWUgb2YgQGlubGVuIGFmdGVyIHJldHVybiBpcyB0aGUgbnVtYmVyIG9mIG9jdGV0cyBjb25zdW1lZCBpZiB0aGUgcmV0dXJuIHZhbHVlIGlzIHBvc2l0aXZlLCBlbHNlIHVucHJlZGljdGlhYmxlLiBUaGUgdmFsdWUgb2YgQG91dGxlbiBhZnRlciByZXR1cm4gaXMgdGhlIG51bWJlciBvZiBvY3RldHMgY29uc3VtZWQuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48YnIgLz4KKzxoMz48YSBuYW1lPSJ4bWxDaGFyRW5jb2RpbmdPdXRwdXRGdW5jIiBpZD0ieG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYyI+PC9hPkZ1bmN0aW9uIHR5cGU6IHhtbENoYXJFbmNvZGluZ091dHB1dEZ1bmM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5GdW5jdGlvbiB0eXBlOiB4bWxDaGFyRW5jb2RpbmdPdXRwdXRGdW5jCitpbnQJeG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYwkodW5zaWduZWQgY2hhciAqIG91dCwgPGJyIC8+CQkJCQkgaW50ICogb3V0bGVuLCA8YnIgLz4JCQkJCSBjb25zdCB1bnNpZ25lZCBjaGFyICogaW4sIDxiciAvPgkJCQkJIGludCAqIGlubGVuKQorPC9wcmU+PHA+VGFrZSBhIGJsb2NrIG9mIFVURi04IGNoYXJzIGluIGFuZCB0cnkgdG8gY29udmVydCBpdCB0byBhbm90aGVyIGVuY29kaW5nLiBOb3RlOiBhIGZpcnN0IGNhbGwgZGVzaWduZWQgdG8gcHJvZHVjZSBoZWFkaW5nIGluZm8gaXMgY2FsbGVkIHdpdGggaW4gPSBOVUxMLiBJZiBzdGF0ZWZ1bCB0aGlzIHNob3VsZCBhbHNvIGluaXRpYWxpemUgdGhlIGVuY29kZXIgc3RhdGUuPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm91dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIGFuIGFycmF5IG9mIGJ5dGVzIHRvIHN0b3JlIHRoZSByZXN1bHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm91dGxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxlbmd0aCBvZiBAb3V0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIGFuIGFycmF5IG9mIFVURi04IGNoYXJzPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pbmxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxlbmd0aCBvZiBAaW48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgYnl0ZXMgd3JpdHRlbiwgLTEgaWYgbGFjayBvZiBzcGFjZSwgb3IgLTIgaWYgdGhlIHRyYW5zY29kaW5nIGZhaWxlZC4gVGhlIHZhbHVlIG9mIEBpbmxlbiBhZnRlciByZXR1cm4gaXMgdGhlIG51bWJlciBvZiBvY3RldHMgY29uc3VtZWQgaWYgdGhlIHJldHVybiB2YWx1ZSBpcyBwb3NpdGl2ZSwgZWxzZSB1bnByZWRpY3RpYWJsZS4gVGhlIHZhbHVlIG9mIEBvdXRsZW4gYWZ0ZXIgcmV0dXJuIGlzIHRoZSBudW1iZXIgb2Ygb2N0ZXRzIHByb2R1Y2VkLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGJyIC8+Cis8aDM+PGEgbmFtZT0ieG1sQ2xlYW51cENoYXJFbmNvZGluZ0hhbmRsZXJzIiBpZD0ieG1sQ2xlYW51cENoYXJFbmNvZGluZ0hhbmRsZXJzIj48L2E+RnVuY3Rpb246IHhtbENsZWFudXBDaGFyRW5jb2RpbmdIYW5kbGVyczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sQ2xlYW51cENoYXJFbmNvZGluZ0hhbmRsZXJzCSh2b2lkKTxiciAvPgorPC9wcmU+PHA+Q2xlYW51cCB0aGUgbWVtb3J5IGFsbG9jYXRlZCBmb3IgdGhlIGNoYXIgZW5jb2Rpbmcgc3VwcG9ydCwgaXQgdW5yZWdpc3RlcnMgYWxsIHRoZSBlbmNvZGluZyBoYW5kbGVycyBhbmQgdGhlIGFsaWFzZXMuPC9wPgorPGgzPjxhIG5hbWU9InhtbENsZWFudXBFbmNvZGluZ0FsaWFzZXMiIGlkPSJ4bWxDbGVhbnVwRW5jb2RpbmdBbGlhc2VzIj48L2E+RnVuY3Rpb246IHhtbENsZWFudXBFbmNvZGluZ0FsaWFzZXM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbENsZWFudXBFbmNvZGluZ0FsaWFzZXMJKHZvaWQpPGJyIC8+Cis8L3ByZT48cD5VbnJlZ2lzdGVycyBhbGwgYWxpYXNlczwvcD4KKzxoMz48YSBuYW1lPSJ4bWxEZWxFbmNvZGluZ0FsaWFzIiBpZD0ieG1sRGVsRW5jb2RpbmdBbGlhcyI+PC9hPkZ1bmN0aW9uOiB4bWxEZWxFbmNvZGluZ0FsaWFzPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbERlbEVuY29kaW5nQWxpYXMJCShjb25zdCBjaGFyICogYWxpYXMpPGJyIC8+Cis8L3ByZT48cD5VbnJlZ2lzdGVycyBhbiBlbmNvZGluZyBhbGlhcyBAYWxpYXM8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5hbGlhczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGFsaWFzIG5hbWUgYXMgcGFyc2VkLCBpbiBVVEYtOCBmb3JtYXQgKEFTQ0lJIGFjdHVhbGx5KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpbiBjYXNlIG9mIHN1Y2Nlc3MsIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxEZXRlY3RDaGFyRW5jb2RpbmciIGlkPSJ4bWxEZXRlY3RDaGFyRW5jb2RpbmciPjwvYT5GdW5jdGlvbjogeG1sRGV0ZWN0Q2hhckVuY29kaW5nPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nIj54bWxDaGFyRW5jb2Rpbmc8L2E+CXhtbERldGVjdENoYXJFbmNvZGluZwkoY29uc3QgdW5zaWduZWQgY2hhciAqIGluLCA8YnIgLz4JCQkJCSBpbnQgbGVuKTxiciAvPgorPC9wcmU+PHA+R3Vlc3MgdGhlIGVuY29kaW5nIG9mIHRoZSBlbnRpdHkgdXNpbmcgdGhlIGZpcnN0IGJ5dGVzIG9mIHRoZSBlbnRpdHkgY29udGVudCBhY2NvcmRpbmcgdG8gdGhlIG5vbi1ub3JtYXRpdmUgYXBwZW5kaXggRiBvZiB0aGUgWE1MLTEuMCByZWNvbW1lbmRhdGlvbi48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIHRoZSBmaXJzdCBieXRlcyBvZiB0aGUgWE1MIGVudGl0eSwgbXVzdCBiZSBhdCBsZWFzdCAyIGJ5dGVzIGxvbmcgKGF0IGxlYXN0IDQgaWYgZW5jb2RpbmcgaXMgVVRGNCB2YXJpYW50KS48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+cG9pbnRlciB0byB0aGUgbGVuZ3RoIG9mIHRoZSBidWZmZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPm9uZSBvZiB0aGUgWE1MX0NIQVJfRU5DT0RJTkdfLi4uIHZhbHVlcy48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxGaW5kQ2hhckVuY29kaW5nSGFuZGxlciIgaWQ9InhtbEZpbmRDaGFyRW5jb2RpbmdIYW5kbGVyIj48L2E+RnVuY3Rpb246IHhtbEZpbmRDaGFyRW5jb2RpbmdIYW5kbGVyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0ciI+eG1sQ2hhckVuY29kaW5nSGFuZGxlclB0cjwvYT4JeG1sRmluZENoYXJFbmNvZGluZ0hhbmRsZXIJKGNvbnN0IGNoYXIgKiBuYW1lKTxiciAvPgorPC9wcmU+PHA+U2VhcmNoIGluIHRoZSByZWdpc3RlcmVkIHNldCB0aGUgaGFuZGxlciBhYmxlIHRvIHJlYWQvd3JpdGUgdGhhdCBlbmNvZGluZy48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHN0cmluZyBkZXNjcmliaW5nIHRoZSBjaGFyIGVuY29kaW5nLjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGhhbmRsZXIgb3IgTlVMTCBpZiBub3QgZm91bmQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxHZXRDaGFyRW5jb2RpbmdIYW5kbGVyIiBpZD0ieG1sR2V0Q2hhckVuY29kaW5nSGFuZGxlciI+PC9hPkZ1bmN0aW9uOiB4bWxHZXRDaGFyRW5jb2RpbmdIYW5kbGVyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0ciI+eG1sQ2hhckVuY29kaW5nSGFuZGxlclB0cjwvYT4JeG1sR2V0Q2hhckVuY29kaW5nSGFuZGxlcgkoPGEgaHJlZj0ibGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nIj54bWxDaGFyRW5jb2Rpbmc8L2E+IGVuYyk8YnIgLz4KKzwvcHJlPjxwPlNlYXJjaCBpbiB0aGUgcmVnaXN0ZXJlZCBzZXQgdGhlIGhhbmRsZXIgYWJsZSB0byByZWFkL3dyaXRlIHRoYXQgZW5jb2RpbmcuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiA8YSBocmVmPSJsaWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmciPnhtbENoYXJFbmNvZGluZzwvYT4gdmFsdWUuPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaGFuZGxlciBvciBOVUxMIGlmIG5vdCBmb3VuZDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEdldENoYXJFbmNvZGluZ05hbWUiIGlkPSJ4bWxHZXRDaGFyRW5jb2RpbmdOYW1lIj48L2E+RnVuY3Rpb246IHhtbEdldENoYXJFbmNvZGluZ05hbWU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5jb25zdCBjaGFyICoJeG1sR2V0Q2hhckVuY29kaW5nTmFtZQkoPGEgaHJlZj0ibGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nIj54bWxDaGFyRW5jb2Rpbmc8L2E+IGVuYyk8YnIgLz4KKzwvcHJlPjxwPlRoZSAiY2Fub25pY2FsIiBuYW1lIGZvciBYTUwgZW5jb2RpbmcuIEMuZi4gaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLXhtbCNjaGFyZW5jb2RpbmcgU2VjdGlvbiA0LjMuMyBDaGFyYWN0ZXIgRW5jb2RpbmcgaW4gRW50aXRpZXM8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbmM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbmNvZGluZzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGNhbm9uaWNhbCBuYW1lIGZvciB0aGUgZ2l2ZW4gZW5jb2Rpbmc8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxHZXRFbmNvZGluZ0FsaWFzIiBpZD0ieG1sR2V0RW5jb2RpbmdBbGlhcyI+PC9hPkZ1bmN0aW9uOiB4bWxHZXRFbmNvZGluZ0FsaWFzPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Y29uc3QgY2hhciAqCXhtbEdldEVuY29kaW5nQWxpYXMJKGNvbnN0IGNoYXIgKiBhbGlhcyk8YnIgLz4KKzwvcHJlPjxwPkxvb2t1cCBhbiBlbmNvZGluZyBuYW1lIGZvciB0aGUgZ2l2ZW4gYWxpYXMuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YWxpYXM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBhbGlhcyBuYW1lIGFzIHBhcnNlZCwgaW4gVVRGLTggZm9ybWF0IChBU0NJSSBhY3R1YWxseSk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPk5VTEwgaWYgbm90IGZvdW5kLCBvdGhlcndpc2UgdGhlIG9yaWdpbmFsIG5hbWU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxJbml0Q2hhckVuY29kaW5nSGFuZGxlcnMiIGlkPSJ4bWxJbml0Q2hhckVuY29kaW5nSGFuZGxlcnMiPjwvYT5GdW5jdGlvbjogeG1sSW5pdENoYXJFbmNvZGluZ0hhbmRsZXJzPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxJbml0Q2hhckVuY29kaW5nSGFuZGxlcnMJKHZvaWQpPGJyIC8+Cis8L3ByZT48cD5Jbml0aWFsaXplIHRoZSBjaGFyIGVuY29kaW5nIHN1cHBvcnQsIGl0IHJlZ2lzdGVycyB0aGUgZGVmYXVsdCBlbmNvZGluZyBzdXBwb3J0ZWQuIE5PVEU6IHdoaWxlIHB1YmxpYywgdGhpcyBmdW5jdGlvbiB1c3VhbGx5IGRvZXNuJ3QgbmVlZCB0byBiZSBjYWxsZWQgaW4gbm9ybWFsIHByb2Nlc3NpbmcuPC9wPgorPGgzPjxhIG5hbWU9InhtbE5ld0NoYXJFbmNvZGluZ0hhbmRsZXIiIGlkPSJ4bWxOZXdDaGFyRW5jb2RpbmdIYW5kbGVyIj48L2E+RnVuY3Rpb246IHhtbE5ld0NoYXJFbmNvZGluZ0hhbmRsZXI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyIj54bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyPC9hPgl4bWxOZXdDaGFyRW5jb2RpbmdIYW5kbGVyCShjb25zdCBjaGFyICogbmFtZSwgPGJyIC8+CQkJCQkJCSA8YSBocmVmPSJsaWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmdJbnB1dEZ1bmMiPnhtbENoYXJFbmNvZGluZ0lucHV0RnVuYzwvYT4gaW5wdXQsIDxiciAvPgkJCQkJCQkgPGEgaHJlZj0ibGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYyI+eG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYzwvYT4gb3V0cHV0KTxiciAvPgorPC9wcmU+PHA+Q3JlYXRlIGFuZCByZWdpc3RlcnMgYW4geG1sQ2hhckVuY29kaW5nSGFuZGxlci48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZW5jb2RpbmcgbmFtZSwgaW4gVVRGLTggZm9ybWF0IChBU0NJSSBhY3R1YWxseSk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmlucHV0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nSW5wdXRGdW5jIj54bWxDaGFyRW5jb2RpbmdJbnB1dEZ1bmM8L2E+IHRvIHJlYWQgdGhhdCBlbmNvZGluZzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3V0cHV0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYyI+eG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYzwvYT4gdG8gd3JpdGUgdGhhdCBlbmNvZGluZzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIiPnhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHI8L2E+IGNyZWF0ZWQgKG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcikuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sUGFyc2VDaGFyRW5jb2RpbmciIGlkPSJ4bWxQYXJzZUNoYXJFbmNvZGluZyI+PC9hPkZ1bmN0aW9uOiB4bWxQYXJzZUNoYXJFbmNvZGluZzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZyI+eG1sQ2hhckVuY29kaW5nPC9hPgl4bWxQYXJzZUNoYXJFbmNvZGluZwkoY29uc3QgY2hhciAqIG5hbWUpPGJyIC8+Cis8L3ByZT48cD5Db21wYXJlIHRoZSBzdHJpbmcgdG8gdGhlIGVuY29kaW5nIHNjaGVtZXMgYWxyZWFkeSBrbm93bi4gTm90ZSB0aGF0IHRoZSBjb21wYXJpc29uIGlzIGNhc2UgaW5zZW5zaXRpdmUgYWNjb3JkaW5nbHkgdG8gdGhlIHNlY3Rpb24gW1hNTF0gNC4zLjMgQ2hhcmFjdGVyIEVuY29kaW5nIGluIEVudGl0aWVzLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbmNvZGluZyBuYW1lIGFzIHBhcnNlZCwgaW4gVVRGLTggZm9ybWF0IChBU0NJSSBhY3R1YWxseSk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPm9uZSBvZiB0aGUgWE1MX0NIQVJfRU5DT0RJTkdfLi4uIHZhbHVlcyBvciA8YSBocmVmPSJsaWJ4bWwtZW5jb2RpbmcuaHRtbCNYTUxfQ0hBUl9FTkNPRElOR19OT05FIj5YTUxfQ0hBUl9FTkNPRElOR19OT05FPC9hPiBpZiBub3QgcmVjb2duaXplZC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxSZWdpc3RlckNoYXJFbmNvZGluZ0hhbmRsZXIiIGlkPSJ4bWxSZWdpc3RlckNoYXJFbmNvZGluZ0hhbmRsZXIiPjwvYT5GdW5jdGlvbjogeG1sUmVnaXN0ZXJDaGFyRW5jb2RpbmdIYW5kbGVyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxSZWdpc3RlckNoYXJFbmNvZGluZ0hhbmRsZXIJKDxhIGhyZWY9ImxpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIiPnhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHI8L2E+IGhhbmRsZXIpPGJyIC8+Cis8L3ByZT48cD5SZWdpc3RlciB0aGUgY2hhciBlbmNvZGluZyBoYW5kbGVyLCBzdXJwcmlzaW5nLCBpc24ndCBpdCA/PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aGFuZGxlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIiPnhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHI8L2E+IGhhbmRsZXIgYmxvY2s8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxwPjxhIGhyZWY9Ii4uL2J1Z3MuaHRtbCI+RGFuaWVsIFZlaWxsYXJkPC9hPjwvcD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvaHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCBiL2xpYnhtbDIvZG9jL2h0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjdkMTQ1NQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL2h0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwKQEAgLTAsMCArMSw3OSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIj4KKzxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj48aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz48bGluayByZWw9IlNIT1JUQ1VUIElDT04iIGhyZWY9Ii9mYXZpY29uLmljbyIgLz48c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorVEQge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0JPRFkge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYTsgbWFyZ2luLXRvcDogMmVtOyBtYXJnaW4tbGVmdDogMGVtOyBtYXJnaW4tcmlnaHQ6IDBlbX0KK0gxIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMiB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDMge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0E6bGluaywgQTp2aXNpdGVkLCBBOmFjdGl2ZSB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIH0KKzwvc3R5bGU+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKyAgICAgIGRpdi5kZXByZWNhdGVkIHByZS5wcm9ncmFtbGlzdGluZyB7Ym9yZGVyLXN0eWxlOiBkb3VibGU7Ym9yZGVyLWNvbG9yOnJlZH0KKyAgICAgIHByZS5wcm9ncmFtbGlzdGluZyB7Ym9yZGVyLXN0eWxlOiBkb3VibGU7YmFja2dyb3VuZDogI0VFQ0ZBMX0KKyAgICA8L3N0eWxlPjx0aXRsZT5Nb2R1bGUgZW50aXRpZXMgZnJvbSBsaWJ4bWwyPC90aXRsZT48L2hlYWQ+PGJvZHkgYmdjb2xvcj0iIzhiNzc2NSIgdGV4dD0iIzAwMDAwMCIgbGluaz0iI2EwNjA2MCIgdmxpbms9IiMwMDAwMDAiPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSIxMDAlIiBjZWxscGFkZGluZz0iNSIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgd2lkdGg9IjEyMCI+PGEgaHJlZj0iaHR0cDovL3N3cGF0LmZmaWkub3JnLyI+PGltZyBzcmM9Ii4uL2VwYXRlbnRzLnBuZyIgYWx0PSJBY3Rpb24gYWdhaW5zdCBzb2Z0d2FyZSBwYXRlbnRzIiAvPjwvYT48L3RkPjx0ZCB3aWR0aD0iMTgwIj48YSBocmVmPSJodHRwOi8vd3d3Lmdub21lLm9yZy8iPjxpbWcgc3JjPSIuLi9nbm9tZTIucG5nIiBhbHQ9Ikdub21lMiBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9TdGF0dXMiPjxpbWcgc3JjPSIuLi93M2MucG5nIiBhbHQ9IlczQyBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnJlZGhhdC5jb20vIj48aW1nIHNyYz0iLi4vcmVkaGF0LmdpZiIgYWx0PSJSZWQgSGF0IExvZ28iIC8+PC9hPjxkaXYgYWxpZ249ImxlZnQiPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy8iPjxpbWcgc3JjPSIuLi9MaWJ4bWwyLUxvZ28tMTgweDE2OC5naWYiIGFsdD0iTWFkZSB3aXRoIExpYnhtbDIgTG9nbyIgLz48L2E+PC9kaXY+PC90ZD48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjkwJSIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiIGJnY29sb3I9IiNmZmZhY2QiPjx0cj48dGQgYWxpZ249ImNlbnRlciI+PGgxPjwvaDE+PGgyPk1vZHVsZSBlbnRpdGllcyBmcm9tIGxpYnhtbDI8L2gyPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI0IiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCB2YWxpZ249InRvcCIgd2lkdGg9IjIwMCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+QVBJIE1lbnU8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PGZvcm0gYWN0aW9uPSIuLi9zZWFyY2gucGhwIiBlbmN0eXBlPSJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiIG1ldGhvZD0iZ2V0Ij48aW5wdXQgbmFtZT0icXVlcnkiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iIiAvPjxpbnB1dCBuYW1lPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNlYXJjaCAuLi4iIC8+PC9mb3JtPjx1bD48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9Ii4uL2luZGV4Lmh0bWwiPk1haW4gTWVudTwvYT48L2xpPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iLi4vZG9jcy5odG1sIj5EZXZlbG9wZXIgTWVudTwvYT48L2xpPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iLi4vZXhhbXBsZXMvaW5kZXguaHRtbCI+Q29kZSBFeGFtcGxlczwvYT48L2xpPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iaW5kZXguaHRtbCI+QVBJIE1lbnU8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXBhcnNlci5odG1sIj5QYXJzZXIgQVBJPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwiPlRyZWUgQVBJPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCI+UmVhZGVyIEFQSTwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9ndWlkZWxpbmVzLmh0bWwiPlhNTCBHdWlkZWxpbmVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0NoYW5nZUxvZy5odG1sIj5DaGFuZ2VMb2c8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5BUEkgSW5kZXhlczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9Ii4uL0FQSWNodW5rMC5odG1sIj5BbHBoYWJldGljPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSWNvbnN0cnVjdG9ycy5odG1sIj5Db25zdHJ1Y3RvcnM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJZnVuY3Rpb25zLmh0bWwiPkZ1bmN0aW9ucy9UeXBlczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUElmaWxlcy5odG1sIj5Nb2R1bGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSXN5bWJvbHMuaHRtbCI+U3ltYm9sczwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPlJlbGF0ZWQgbGlua3M8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSJodHRwOi8vbWFpbC5nbm9tZS5vcmcvYXJjaGl2ZXMveG1sLyI+TWFpbCBhcmNoaXZlPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9YU0xULyI+WFNMVCBsaWJ4c2x0PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9waGQuY3MudW5pYm8uaXQvZ2RvbWUyLyI+RE9NIGdkb21lMjwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmFsZWtzZXkuY29tL3htbHNlYy8iPlhNTC1EU2lnIHhtbHNlYzwvYT48L2xpPjxsaT48YSBocmVmPSJmdHA6Ly94bWxzb2Z0Lm9yZy8iPkZUUDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnpsYXRrb3ZpYy5jb20vcHJvamVjdHMvbGlieG1sLyI+V2luZG93cyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vb3BlbmNzdy5vcmcvcGFja2FnZXMvbGlieG1sMiI+U29sYXJpcyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmV4cGxhaW4uY29tLmF1L29zcy9saWJ4bWwyeHNsdC5odG1sIj5NYWNPc1ggYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2x4bWwuZGUvIj5seG1sIFB5dGhvbiBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vY3Bhbi51d2lubmlwZWcuY2EvZGlzdC9YTUwtTGliWE1MIj5QZXJsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWxwbHVzcGx1cy5zb3VyY2Vmb3JnZS5uZXQvIj5DKysgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56ZW5kLmNvbS9waHA1L2FydGljbGVzL3BocDUteG1scGhwLnBocCNIZWFkaW5nNCI+UEhQIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbGlieG1sMi1wYXMvIj5QYXNjYWwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbC5ydWJ5Zm9yZ2Uub3JnLyI+UnVieSBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vdGNseG1sLnNvdXJjZWZvcmdlLm5ldC8iPlRjbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2J1Z2xpc3QuY2dpP3Byb2R1Y3Q9bGlieG1sMiI+QnVnIFRyYWNrZXI8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dGFibGUgY2xhc3M9Im5hdmlnYXRpb24iIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIyIj48dHIgdmFsaWduPSJtaWRkbGUiPjx0ZD48YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImxpYnhtbC1lbmNvZGluZy5odG1sIj48aW1nIHNyYz0ibGVmdC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlByZXYiIC8+PC9hPjwvdGQ+PHRoIGFsaWduPSJsZWZ0Ij48YSBocmVmPSJsaWJ4bWwtZW5jb2RpbmcuaHRtbCI+ZW5jb2Rpbmc8L2E+PC90aD48dGQ+PGEgYWNjZXNza2V5PSJ1IiBocmVmPSJpbmRleC5odG1sIj48aW1nIHNyYz0idXAucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJVcCIgLz48L2E+PC90ZD48dGggYWxpZ249ImxlZnQiPjxhIGhyZWY9ImluZGV4Lmh0bWwiPkFQSSBkb2N1bWVudGF0aW9uPC9hPjwvdGg+PHRkPjxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iLi4vaW5kZXguaHRtbCI+PGltZyBzcmM9ImhvbWUucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJIb21lIiAvPjwvYT48L3RkPjx0aCBhbGlnbj0iY2VudGVyIj48YSBocmVmPSIuLi9pbmRleC5odG1sIj5UaGUgWE1MIEMgcGFyc2VyIGFuZCB0b29sa2l0IG9mIEdub21lPC9hPjwvdGg+PHRoIGFsaWduPSJyaWdodCI+PGEgaHJlZj0ibGlieG1sLWdsb2JhbHMuaHRtbCI+Z2xvYmFsczwvYT48L3RoPjx0ZD48YSBhY2Nlc3NrZXk9Im4iIGhyZWY9ImxpYnhtbC1nbG9iYWxzLmh0bWwiPjxpbWcgc3JjPSJyaWdodC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9Ik5leHQiIC8+PC9hPjwvdGQ+PC90cj48L3RhYmxlPjxwPnRoaXMgbW9kdWxlIHByb3ZpZGVzIHNvbWUgb2YgdGhlIGVudGl0eSBBUEkgbmVlZGVkIGZvciB0aGUgcGFyc2VyIGFuZCBhcHBsaWNhdGlvbnMuIDwvcD48aDI+VGFibGUgb2YgQ29udGVudHM8L2gyPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgPGEgaHJlZj0iI3htbEVudGl0aWVzVGFibGUiPnhtbEVudGl0aWVzVGFibGU8L2E+PGJyIC8+c3RydWN0IF94bWxIYXNoVGFibGUKK1RoZSBjb250ZW50IG9mIHRoaXMgc3RydWN0dXJlIGlzIG5vdCBtYWRlIHB1YmxpYyBieSB0aGUgQVBJLgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlR5cGVkZWYgPGEgaHJlZj0ibGlieG1sLWVudGl0aWVzLmh0bWwjeG1sRW50aXRpZXNUYWJsZSI+eG1sRW50aXRpZXNUYWJsZTwvYT4gKiA8YSBuYW1lPSJ4bWxFbnRpdGllc1RhYmxlUHRyIiBpZD0ieG1sRW50aXRpZXNUYWJsZVB0ciI+eG1sRW50aXRpZXNUYWJsZVB0cjwvYT4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5FbnVtIDxhIGhyZWY9IiN4bWxFbnRpdHlUeXBlIj54bWxFbnRpdHlUeXBlPC9hPgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRW50aXR5UHRyIj54bWxFbnRpdHlQdHI8L2E+CTxhIGhyZWY9IiN4bWxBZGREb2NFbnRpdHkiPnhtbEFkZERvY0VudGl0eTwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJIGludCB0eXBlLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBFeHRlcm5hbElELCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBTeXN0ZW1JRCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY29udGVudCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVudGl0eVB0ciI+eG1sRW50aXR5UHRyPC9hPgk8YSBocmVmPSIjeG1sQWRkRHRkRW50aXR5Ij54bWxBZGREdGRFbnRpdHk8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSBpbnQgdHlwZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogRXh0ZXJuYWxJRCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogU3lzdGVtSUQsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGNvbnRlbnQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sQ2xlYW51cFByZWRlZmluZWRFbnRpdGllcyI+eG1sQ2xlYW51cFByZWRlZmluZWRFbnRpdGllczwvYT4JKHZvaWQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLWVudGl0aWVzLmh0bWwjeG1sRW50aXRpZXNUYWJsZVB0ciI+eG1sRW50aXRpZXNUYWJsZVB0cjwvYT4JPGEgaHJlZj0iI3htbENvcHlFbnRpdGllc1RhYmxlIj54bWxDb3B5RW50aXRpZXNUYWJsZTwvYT4JKDxhIGhyZWY9ImxpYnhtbC1lbnRpdGllcy5odG1sI3htbEVudGl0aWVzVGFibGVQdHIiPnhtbEVudGl0aWVzVGFibGVQdHI8L2E+IHRhYmxlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC1lbnRpdGllcy5odG1sI3htbEVudGl0aWVzVGFibGVQdHIiPnhtbEVudGl0aWVzVGFibGVQdHI8L2E+CTxhIGhyZWY9IiN4bWxDcmVhdGVFbnRpdGllc1RhYmxlIj54bWxDcmVhdGVFbnRpdGllc1RhYmxlPC9hPgkodm9pZCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxEdW1wRW50aXRpZXNUYWJsZSI+eG1sRHVtcEVudGl0aWVzVGFibGU8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJQdHIiPnhtbEJ1ZmZlclB0cjwvYT4gYnVmLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxFbnRpdGllc1RhYmxlUHRyIj54bWxFbnRpdGllc1RhYmxlUHRyPC9hPiB0YWJsZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxEdW1wRW50aXR5RGVjbCI+eG1sRHVtcEVudGl0eURlY2w8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJQdHIiPnhtbEJ1ZmZlclB0cjwvYT4gYnVmLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVudGl0eVB0ciI+eG1sRW50aXR5UHRyPC9hPiBlbnQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Y29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbEVuY29kZUVudGl0aWVzIj54bWxFbmNvZGVFbnRpdGllczwvYT4JKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogaW5wdXQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbEVuY29kZUVudGl0aWVzUmVlbnRyYW50Ij54bWxFbmNvZGVFbnRpdGllc1JlZW50cmFudDwvYT4JKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyIC8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGlucHV0KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxFbmNvZGVTcGVjaWFsQ2hhcnMiPnhtbEVuY29kZVNwZWNpYWxDaGFyczwvYT4JKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jIj54bWxEb2M8L2E+ICogZG9jLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBpbnB1dCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxGcmVlRW50aXRpZXNUYWJsZSI+eG1sRnJlZUVudGl0aWVzVGFibGU8L2E+CQkoPGEgaHJlZj0ibGlieG1sLWVudGl0aWVzLmh0bWwjeG1sRW50aXRpZXNUYWJsZVB0ciI+eG1sRW50aXRpZXNUYWJsZVB0cjwvYT4gdGFibGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxFbnRpdHlQdHIiPnhtbEVudGl0eVB0cjwvYT4JPGEgaHJlZj0iI3htbEdldERvY0VudGl0eSI+eG1sR2V0RG9jRW50aXR5PC9hPgkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jIj54bWxEb2M8L2E+ICogZG9jLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRW50aXR5UHRyIj54bWxFbnRpdHlQdHI8L2E+CTxhIGhyZWY9IiN4bWxHZXREdGRFbnRpdHkiPnhtbEdldER0ZEVudGl0eTwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxFbnRpdHlQdHIiPnhtbEVudGl0eVB0cjwvYT4JPGEgaHJlZj0iI3htbEdldFBhcmFtZXRlckVudGl0eSI+eG1sR2V0UGFyYW1ldGVyRW50aXR5PC9hPgkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRW50aXR5UHRyIj54bWxFbnRpdHlQdHI8L2E+CTxhIGhyZWY9IiN4bWxHZXRQcmVkZWZpbmVkRW50aXR5Ij54bWxHZXRQcmVkZWZpbmVkRW50aXR5PC9hPgkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxJbml0aWFsaXplUHJlZGVmaW5lZEVudGl0aWVzIj54bWxJbml0aWFsaXplUHJlZGVmaW5lZEVudGl0aWVzPC9hPgkodm9pZCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVudGl0eVB0ciI+eG1sRW50aXR5UHRyPC9hPgk8YSBocmVmPSIjeG1sTmV3RW50aXR5Ij54bWxOZXdFbnRpdHk8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSBpbnQgdHlwZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogRXh0ZXJuYWxJRCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogU3lzdGVtSUQsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGNvbnRlbnQpPC9wcmU+Cis8aDI+RGVzY3JpcHRpb248L2gyPgorPGgzPjxhIG5hbWU9InhtbEVudGl0aWVzVGFibGUiIGlkPSJ4bWxFbnRpdGllc1RhYmxlIj5TdHJ1Y3R1cmUgeG1sRW50aXRpZXNUYWJsZTwvYT48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgeG1sRW50aXRpZXNUYWJsZTxiciAvPnN0cnVjdCBfeG1sSGFzaFRhYmxlIHsKK1RoZSBjb250ZW50IG9mIHRoaXMgc3RydWN0dXJlIGlzIG5vdCBtYWRlIHB1YmxpYyBieSB0aGUgQVBJLgorfTwvcHJlPjxoMz5FbnVtIDxhIG5hbWU9InhtbEVudGl0eVR5cGUiIGlkPSJ4bWxFbnRpdHlUeXBlIj54bWxFbnRpdHlUeXBlPC9hPjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkVudW0geG1sRW50aXR5VHlwZSB7CisgICAgPGEgbmFtZT0iWE1MX0lOVEVSTkFMX0dFTkVSQUxfRU5USVRZIiBpZD0iWE1MX0lOVEVSTkFMX0dFTkVSQUxfRU5USVRZIj5YTUxfSU5URVJOQUxfR0VORVJBTF9FTlRJVFk8L2E+ID0gMQorICAgIDxhIG5hbWU9IlhNTF9FWFRFUk5BTF9HRU5FUkFMX1BBUlNFRF9FTlRJVFkiIGlkPSJYTUxfRVhURVJOQUxfR0VORVJBTF9QQVJTRURfRU5USVRZIj5YTUxfRVhURVJOQUxfR0VORVJBTF9QQVJTRURfRU5USVRZPC9hPiA9IDIKKyAgICA8YSBuYW1lPSJYTUxfRVhURVJOQUxfR0VORVJBTF9VTlBBUlNFRF9FTlRJVFkiIGlkPSJYTUxfRVhURVJOQUxfR0VORVJBTF9VTlBBUlNFRF9FTlRJVFkiPlhNTF9FWFRFUk5BTF9HRU5FUkFMX1VOUEFSU0VEX0VOVElUWTwvYT4gPSAzCisgICAgPGEgbmFtZT0iWE1MX0lOVEVSTkFMX1BBUkFNRVRFUl9FTlRJVFkiIGlkPSJYTUxfSU5URVJOQUxfUEFSQU1FVEVSX0VOVElUWSI+WE1MX0lOVEVSTkFMX1BBUkFNRVRFUl9FTlRJVFk8L2E+ID0gNAorICAgIDxhIG5hbWU9IlhNTF9FWFRFUk5BTF9QQVJBTUVURVJfRU5USVRZIiBpZD0iWE1MX0VYVEVSTkFMX1BBUkFNRVRFUl9FTlRJVFkiPlhNTF9FWFRFUk5BTF9QQVJBTUVURVJfRU5USVRZPC9hPiA9IDUKKyAgICA8YSBuYW1lPSJYTUxfSU5URVJOQUxfUFJFREVGSU5FRF9FTlRJVFkiIGlkPSJYTUxfSU5URVJOQUxfUFJFREVGSU5FRF9FTlRJVFkiPlhNTF9JTlRFUk5BTF9QUkVERUZJTkVEX0VOVElUWTwvYT4gPSA2Cit9Cis8L3ByZT48aDM+PGEgbmFtZT0ieG1sQWRkRG9jRW50aXR5IiBpZD0ieG1sQWRkRG9jRW50aXR5Ij48L2E+RnVuY3Rpb246IHhtbEFkZERvY0VudGl0eTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRW50aXR5UHRyIj54bWxFbnRpdHlQdHI8L2E+CXhtbEFkZERvY0VudGl0eQkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkgaW50IHR5cGUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIEV4dGVybmFsSUQsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIFN5c3RlbUlELCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjb250ZW50KTxiciAvPgorPC9wcmU+PHA+UmVnaXN0ZXIgYSBuZXcgZW50aXR5IGZvciB0aGlzIGRvY3VtZW50LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZW50aXR5IG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnR5cGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbnRpdHkgdHlwZSBYTUxfeHh4X3l5eV9FTlRJVFk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PkV4dGVybmFsSUQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbnRpdHkgZXh0ZXJuYWwgSUQgaWYgYXZhaWxhYmxlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5TeXN0ZW1JRDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVudGl0eSBzeXN0ZW0gSUQgaWYgYXZhaWxhYmxlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb250ZW50PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZW50aXR5IGNvbnRlbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byB0aGUgZW50aXR5IG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEFkZER0ZEVudGl0eSIgaWQ9InhtbEFkZER0ZEVudGl0eSI+PC9hPkZ1bmN0aW9uOiB4bWxBZGREdGRFbnRpdHk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVudGl0eVB0ciI+eG1sRW50aXR5UHRyPC9hPgl4bWxBZGREdGRFbnRpdHkJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJIGludCB0eXBlLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBFeHRlcm5hbElELCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBTeXN0ZW1JRCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY29udGVudCk8YnIgLz4KKzwvcHJlPjxwPlJlZ2lzdGVyIGEgbmV3IGVudGl0eSBmb3IgdGhpcyBkb2N1bWVudCBEVEQgZXh0ZXJuYWwgc3Vic2V0LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZW50aXR5IG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnR5cGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbnRpdHkgdHlwZSBYTUxfeHh4X3l5eV9FTlRJVFk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PkV4dGVybmFsSUQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbnRpdHkgZXh0ZXJuYWwgSUQgaWYgYXZhaWxhYmxlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5TeXN0ZW1JRDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVudGl0eSBzeXN0ZW0gSUQgaWYgYXZhaWxhYmxlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb250ZW50PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZW50aXR5IGNvbnRlbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byB0aGUgZW50aXR5IG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbENsZWFudXBQcmVkZWZpbmVkRW50aXRpZXMiIGlkPSJ4bWxDbGVhbnVwUHJlZGVmaW5lZEVudGl0aWVzIj48L2E+RnVuY3Rpb246IHhtbENsZWFudXBQcmVkZWZpbmVkRW50aXRpZXM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbENsZWFudXBQcmVkZWZpbmVkRW50aXRpZXMJKHZvaWQpPGJyIC8+Cis8L3ByZT48cD5DbGVhbnVwIHVwIHRoZSBwcmVkZWZpbmVkIGVudGl0aWVzIHRhYmxlLiBEZXByZWNhdGVkIGNhbGw8L3A+Cis8aDM+PGEgbmFtZT0ieG1sQ29weUVudGl0aWVzVGFibGUiIGlkPSJ4bWxDb3B5RW50aXRpZXNUYWJsZSI+PC9hPkZ1bmN0aW9uOiB4bWxDb3B5RW50aXRpZXNUYWJsZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC1lbnRpdGllcy5odG1sI3htbEVudGl0aWVzVGFibGVQdHIiPnhtbEVudGl0aWVzVGFibGVQdHI8L2E+CXhtbENvcHlFbnRpdGllc1RhYmxlCSg8YSBocmVmPSJsaWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxFbnRpdGllc1RhYmxlUHRyIj54bWxFbnRpdGllc1RhYmxlUHRyPC9hPiB0YWJsZSk8YnIgLz4KKzwvcHJlPjxwPkJ1aWxkIGEgY29weSBvZiBhbiBlbnRpdHkgdGFibGUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dGFibGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPkFuIGVudGl0eSB0YWJsZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ldyA8YSBocmVmPSJsaWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxFbnRpdGllc1RhYmxlUHRyIj54bWxFbnRpdGllc1RhYmxlUHRyPC9hPiBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sQ3JlYXRlRW50aXRpZXNUYWJsZSIgaWQ9InhtbENyZWF0ZUVudGl0aWVzVGFibGUiPjwvYT5GdW5jdGlvbjogeG1sQ3JlYXRlRW50aXRpZXNUYWJsZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC1lbnRpdGllcy5odG1sI3htbEVudGl0aWVzVGFibGVQdHIiPnhtbEVudGl0aWVzVGFibGVQdHI8L2E+CXhtbENyZWF0ZUVudGl0aWVzVGFibGUJKHZvaWQpPGJyIC8+Cis8L3ByZT48cD5jcmVhdGUgYW5kIGluaXRpYWxpemUgYW4gZW1wdHkgZW50aXRpZXMgaGFzaCB0YWJsZS4gVGhpcyByZWFsbHkgZG9lc24ndCBtYWtlIHNlbnNlIGFuZCBzaG91bGQgYmUgZGVwcmVjYXRlZDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxFbnRpdGllc1RhYmxlUHRyIj54bWxFbnRpdGllc1RhYmxlUHRyPC9hPiBqdXN0IGNyZWF0ZWQgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbER1bXBFbnRpdGllc1RhYmxlIiBpZD0ieG1sRHVtcEVudGl0aWVzVGFibGUiPjwvYT5GdW5jdGlvbjogeG1sRHVtcEVudGl0aWVzVGFibGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbER1bXBFbnRpdGllc1RhYmxlCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJQdHIiPnhtbEJ1ZmZlclB0cjwvYT4gYnVmLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxFbnRpdGllc1RhYmxlUHRyIj54bWxFbnRpdGllc1RhYmxlUHRyPC9hPiB0YWJsZSk8YnIgLz4KKzwvcHJlPjxwPlRoaXMgd2lsbCBkdW1wIHRoZSBjb250ZW50IG9mIHRoZSBlbnRpdHkgdGFibGUgYXMgYW4gWE1MIERURCBkZWZpbml0aW9uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YnVmPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5BbiBYTUwgYnVmZmVyLjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dGFibGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPkFuIGVudGl0eSB0YWJsZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbER1bXBFbnRpdHlEZWNsIiBpZD0ieG1sRHVtcEVudGl0eURlY2wiPjwvYT5GdW5jdGlvbjogeG1sRHVtcEVudGl0eURlY2w8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbER1bXBFbnRpdHlEZWNsCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJQdHIiPnhtbEJ1ZmZlclB0cjwvYT4gYnVmLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVudGl0eVB0ciI+eG1sRW50aXR5UHRyPC9hPiBlbnQpPGJyIC8+Cis8L3ByZT48cD5UaGlzIHdpbGwgZHVtcCB0aGUgY29udGVudCBvZiB0aGUgZW50aXR5IHRhYmxlIGFzIGFuIFhNTCBEVEQgZGVmaW5pdGlvbjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmJ1ZjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+QW4gWE1MIGJ1ZmZlci48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVudDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+QW4gZW50aXR5IHRhYmxlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sRW5jb2RlRW50aXRpZXMiIGlkPSJ4bWxFbmNvZGVFbnRpdGllcyI+PC9hPkZ1bmN0aW9uOiB4bWxFbmNvZGVFbnRpdGllczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbEVuY29kZUVudGl0aWVzCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGlucHV0KTxiciAvPgorPC9wcmU+PHA+VE9ETzogcmVtb3ZlIHhtbEVuY29kZUVudGl0aWVzLCBvbmNlIHdlIGFyZSBub3QgYWZyYWlkIG9mIGJyZWFraW5nIGJpbmFyeSBjb21wYXRpYmlsaXR5IFBlb3BsZSBtdXN0IG1pZ3JhdGUgdGhlaXIgY29kZSB0byA8YSBocmVmPSJsaWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxFbmNvZGVFbnRpdGllc1JlZW50cmFudCI+eG1sRW5jb2RlRW50aXRpZXNSZWVudHJhbnQ8L2E+ICEgVGhpcyByb3V0aW5lIHdpbGwgaXNzdWUgYSB3YXJuaW5nIHdoZW4gZW5jb3VudGVyZWQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQgY29udGFpbmluZyB0aGUgc3RyaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pbnB1dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+QSBzdHJpbmcgdG8gY29udmVydCB0byBYTUwuPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5OVUxMPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sRW5jb2RlRW50aXRpZXNSZWVudHJhbnQiIGlkPSJ4bWxFbmNvZGVFbnRpdGllc1JlZW50cmFudCI+PC9hPkZ1bmN0aW9uOiB4bWxFbmNvZGVFbnRpdGllc1JlZW50cmFudDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbEVuY29kZUVudGl0aWVzUmVlbnRyYW50CSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxiciAvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBpbnB1dCk8YnIgLz4KKzwvcHJlPjxwPkRvIGEgZ2xvYmFsIGVuY29kaW5nIG9mIGEgc3RyaW5nLCByZXBsYWNpbmcgdGhlIHByZWRlZmluZWQgZW50aXRpZXMgYW5kIG5vbiBBU0NJSSB2YWx1ZXMgd2l0aCB0aGVpciBlbnRpdGllcyBhbmQgQ2hhclJlZiBjb3VudGVycGFydHMuIENvbnRyYXJ5IHRvIHhtbEVuY29kZUVudGl0aWVzLCB0aGlzIHJvdXRpbmUgaXMgcmVlbnRyYW50LCBhbmQgcmVzdWx0IG11c3QgYmUgZGVhbGxvY2F0ZWQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQgY29udGFpbmluZyB0aGUgc3RyaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pbnB1dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+QSBzdHJpbmcgdG8gY29udmVydCB0byBYTUwuPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5BIG5ld2x5IGFsbG9jYXRlZCBzdHJpbmcgd2l0aCB0aGUgc3Vic3RpdHV0aW9uIGRvbmUuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sRW5jb2RlU3BlY2lhbENoYXJzIiBpZD0ieG1sRW5jb2RlU3BlY2lhbENoYXJzIj48L2E+RnVuY3Rpb246IHhtbEVuY29kZVNwZWNpYWxDaGFyczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbEVuY29kZVNwZWNpYWxDaGFycwkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2MiPnhtbERvYzwvYT4gKiBkb2MsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGlucHV0KTxiciAvPgorPC9wcmU+PHA+RG8gYSBnbG9iYWwgZW5jb2Rpbmcgb2YgYSBzdHJpbmcsIHJlcGxhY2luZyB0aGUgcHJlZGVmaW5lZCBlbnRpdGllcyB0aGlzIHJvdXRpbmUgaXMgcmVlbnRyYW50LCBhbmQgcmVzdWx0IG11c3QgYmUgZGVhbGxvY2F0ZWQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQgY29udGFpbmluZyB0aGUgc3RyaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pbnB1dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+QSBzdHJpbmcgdG8gY29udmVydCB0byBYTUwuPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5BIG5ld2x5IGFsbG9jYXRlZCBzdHJpbmcgd2l0aCB0aGUgc3Vic3RpdHV0aW9uIGRvbmUuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sRnJlZUVudGl0aWVzVGFibGUiIGlkPSJ4bWxGcmVlRW50aXRpZXNUYWJsZSI+PC9hPkZ1bmN0aW9uOiB4bWxGcmVlRW50aXRpZXNUYWJsZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sRnJlZUVudGl0aWVzVGFibGUJCSg8YSBocmVmPSJsaWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxFbnRpdGllc1RhYmxlUHRyIj54bWxFbnRpdGllc1RhYmxlUHRyPC9hPiB0YWJsZSk8YnIgLz4KKzwvcHJlPjxwPkRlYWxsb2NhdGUgdGhlIG1lbW9yeSB1c2VkIGJ5IGFuIGVudGl0aWVzIGhhc2ggdGFibGUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dGFibGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPkFuIGVudGl0eSB0YWJsZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEdldERvY0VudGl0eSIgaWQ9InhtbEdldERvY0VudGl0eSI+PC9hPkZ1bmN0aW9uOiB4bWxHZXREb2NFbnRpdHk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVudGl0eVB0ciI+eG1sRW50aXR5UHRyPC9hPgl4bWxHZXREb2NFbnRpdHkJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvYyI+eG1sRG9jPC9hPiAqIGRvYywgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSk8YnIgLz4KKzwvcHJlPjxwPkRvIGFuIGVudGl0eSBsb29rdXAgaW4gdGhlIGRvY3VtZW50IGVudGl0eSBoYXNoIHRhYmxlIGFuZDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50IHJlZmVyZW5jaW5nIHRoZSBlbnRpdHk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbnRpdHkgbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGNvcnJlc3BvbmRpbmcgZW50aXR5LCBvdGhlcndpc2UgYSBsb29rdXAgaXMgZG9uZSBpbiB0aGUgcHJlZGVmaW5lZCBlbnRpdGllcyB0b28uIFJldHVybnMgQSBwb2ludGVyIHRvIHRoZSBlbnRpdHkgc3RydWN0dXJlIG9yIE5VTEwgaWYgbm90IGZvdW5kLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEdldER0ZEVudGl0eSIgaWQ9InhtbEdldER0ZEVudGl0eSI+PC9hPkZ1bmN0aW9uOiB4bWxHZXREdGRFbnRpdHk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVudGl0eVB0ciI+eG1sRW50aXR5UHRyPC9hPgl4bWxHZXREdGRFbnRpdHkJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpPGJyIC8+Cis8L3ByZT48cD5EbyBhbiBlbnRpdHkgbG9va3VwIGluIHRoZSBEVEQgZW50aXR5IGhhc2ggdGFibGUgYW5kPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQgcmVmZXJlbmNpbmcgdGhlIGVudGl0eTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVudGl0eSBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY29ycmVzcG9uZGluZyBlbnRpdHksIGlmIGZvdW5kLiBOb3RlOiB0aGUgZmlyc3QgYXJndW1lbnQgaXMgdGhlIGRvY3VtZW50IG5vZGUsIG5vdCB0aGUgRFREIG5vZGUuIFJldHVybnMgQSBwb2ludGVyIHRvIHRoZSBlbnRpdHkgc3RydWN0dXJlIG9yIE5VTEwgaWYgbm90IGZvdW5kLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEdldFBhcmFtZXRlckVudGl0eSIgaWQ9InhtbEdldFBhcmFtZXRlckVudGl0eSI+PC9hPkZ1bmN0aW9uOiB4bWxHZXRQYXJhbWV0ZXJFbnRpdHk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVudGl0eVB0ciI+eG1sRW50aXR5UHRyPC9hPgl4bWxHZXRQYXJhbWV0ZXJFbnRpdHkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSk8YnIgLz4KKzwvcHJlPjxwPkRvIGFuIGVudGl0eSBsb29rdXAgaW4gdGhlIGludGVybmFsIGFuZCBleHRlcm5hbCBzdWJzZXRzIGFuZDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50IHJlZmVyZW5jaW5nIHRoZSBlbnRpdHk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbnRpdHkgbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGNvcnJlc3BvbmRpbmcgcGFyYW1ldGVyIGVudGl0eSwgaWYgZm91bmQuIFJldHVybnMgQSBwb2ludGVyIHRvIHRoZSBlbnRpdHkgc3RydWN0dXJlIG9yIE5VTEwgaWYgbm90IGZvdW5kLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEdldFByZWRlZmluZWRFbnRpdHkiIGlkPSJ4bWxHZXRQcmVkZWZpbmVkRW50aXR5Ij48L2E+RnVuY3Rpb246IHhtbEdldFByZWRlZmluZWRFbnRpdHk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVudGl0eVB0ciI+eG1sRW50aXR5UHRyPC9hPgl4bWxHZXRQcmVkZWZpbmVkRW50aXR5CShjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKTxiciAvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGlzIG5hbWUgaXMgYW4gcHJlZGVmaW5lZCBlbnRpdHkuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVudGl0eSBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5OVUxMIGlmIG5vdCwgb3RoZXJ3aXNlIHRoZSBlbnRpdHk8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxJbml0aWFsaXplUHJlZGVmaW5lZEVudGl0aWVzIiBpZD0ieG1sSW5pdGlhbGl6ZVByZWRlZmluZWRFbnRpdGllcyI+PC9hPkZ1bmN0aW9uOiB4bWxJbml0aWFsaXplUHJlZGVmaW5lZEVudGl0aWVzPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxJbml0aWFsaXplUHJlZGVmaW5lZEVudGl0aWVzCSh2b2lkKTxiciAvPgorPC9wcmU+PHA+U2V0IHVwIHRoZSBwcmVkZWZpbmVkIGVudGl0aWVzLiBEZXByZWNhdGVkIGNhbGw8L3A+Cis8aDM+PGEgbmFtZT0ieG1sTmV3RW50aXR5IiBpZD0ieG1sTmV3RW50aXR5Ij48L2E+RnVuY3Rpb246IHhtbE5ld0VudGl0eTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRW50aXR5UHRyIj54bWxFbnRpdHlQdHI8L2E+CXhtbE5ld0VudGl0eQkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkgaW50IHR5cGUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIEV4dGVybmFsSUQsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIFN5c3RlbUlELCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjb250ZW50KTxiciAvPgorPC9wcmU+PHA+Q3JlYXRlIGEgbmV3IGVudGl0eSwgdGhpcyBkaWZmZXJzIGZyb20geG1sQWRkRG9jRW50aXR5KCkgdGhhdCBpZiB0aGUgZG9jdW1lbnQgaXMgTlVMTCBvciBoYXMgbm8gaW50ZXJuYWwgc3Vic2V0IGRlZmluZWQsIHRoZW4gYW4gdW5saW5rZWQgZW50aXR5IHN0cnVjdHVyZSB3aWxsIGJlIHJldHVybmVkLCBpdCBpcyB0aGVuIHRoZSByZXNwb25zYWJpbGl0eSBvZiB0aGUgY2FsbGVyIHRvIGxpbmsgaXQgdG8gdGhlIGRvY3VtZW50IGxhdGVyIG9yIGZyZWUgaXQgd2hlbiBub3QgbmVlZGVkIGFueW1vcmUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbnRpdHkgbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dHlwZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVudGl0eSB0eXBlIFhNTF94eHhfeXl5X0VOVElUWTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+RXh0ZXJuYWxJRDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVudGl0eSBleHRlcm5hbCBJRCBpZiBhdmFpbGFibGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlN5c3RlbUlEPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZW50aXR5IHN5c3RlbSBJRCBpZiBhdmFpbGFibGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbnRlbnQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbnRpdHkgY29udGVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIHRoZSBlbnRpdHkgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48cD48YSBocmVmPSIuLi9idWdzLmh0bWwiPkRhbmllbCBWZWlsbGFyZDwvYT48L3A+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2h0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCBiL2xpYnhtbDIvZG9jL2h0bWwvbGlieG1sLWdsb2JhbHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNDk4NmVmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvaHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sCkBAIC0wLDAgKzEsMTUyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPgorPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPjxoZWFkPjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPjxsaW5rIHJlbD0iU0hPUlRDVVQgSUNPTiIgaHJlZj0iL2Zhdmljb24uaWNvIiAvPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CitURCB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorQk9EWSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhOyBtYXJnaW4tdG9wOiAyZW07IG1hcmdpbi1sZWZ0OiAwZW07IG1hcmdpbi1yaWdodDogMGVtfQorSDEge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gyIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMyB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorQTpsaW5rLCBBOnZpc2l0ZWQsIEE6YWN0aXZlIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgfQorPC9zdHlsZT48c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorICAgICAgZGl2LmRlcHJlY2F0ZWQgcHJlLnByb2dyYW1saXN0aW5nIHtib3JkZXItc3R5bGU6IGRvdWJsZTtib3JkZXItY29sb3I6cmVkfQorICAgICAgcHJlLnByb2dyYW1saXN0aW5nIHtib3JkZXItc3R5bGU6IGRvdWJsZTtiYWNrZ3JvdW5kOiAjRUVDRkExfQorICAgIDwvc3R5bGU+PHRpdGxlPk1vZHVsZSBnbG9iYWxzIGZyb20gbGlieG1sMjwvdGl0bGU+PC9oZWFkPjxib2R5IGJnY29sb3I9IiM4Yjc3NjUiIHRleHQ9IiMwMDAwMDAiIGxpbms9IiNhMDYwNjAiIHZsaW5rPSIjMDAwMDAwIj48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iMTAwJSIgY2VsbHBhZGRpbmc9IjUiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIHdpZHRoPSIxMjAiPjxhIGhyZWY9Imh0dHA6Ly9zd3BhdC5mZmlpLm9yZy8iPjxpbWcgc3JjPSIuLi9lcGF0ZW50cy5wbmciIGFsdD0iQWN0aW9uIGFnYWluc3Qgc29mdHdhcmUgcGF0ZW50cyIgLz48L2E+PC90ZD48dGQgd2lkdGg9IjE4MCI+PGEgaHJlZj0iaHR0cDovL3d3dy5nbm9tZS5vcmcvIj48aW1nIHNyYz0iLi4vZ25vbWUyLnBuZyIgYWx0PSJHbm9tZTIgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvU3RhdHVzIj48aW1nIHNyYz0iLi4vdzNjLnBuZyIgYWx0PSJXM0MgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy5yZWRoYXQuY29tLyI+PGltZyBzcmM9Ii4uL3JlZGhhdC5naWYiIGFsdD0iUmVkIEhhdCBMb2dvIiAvPjwvYT48ZGl2IGFsaWduPSJsZWZ0Ij48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvIj48aW1nIHNyYz0iLi4vTGlieG1sMi1Mb2dvLTE4MHgxNjguZ2lmIiBhbHQ9Ik1hZGUgd2l0aCBMaWJ4bWwyIExvZ28iIC8+PC9hPjwvZGl2PjwvdGQ+PHRkPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSI5MCUiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIiBiZ2NvbG9yPSIjZmZmYWNkIj48dHI+PHRkIGFsaWduPSJjZW50ZXIiPjxoMT48L2gxPjxoMj5Nb2R1bGUgZ2xvYmFscyBmcm9tIGxpYnhtbDI8L2gyPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI0IiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCB2YWxpZ249InRvcCIgd2lkdGg9IjIwMCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+QVBJIE1lbnU8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PGZvcm0gYWN0aW9uPSIuLi9zZWFyY2gucGhwIiBlbmN0eXBlPSJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiIG1ldGhvZD0iZ2V0Ij48aW5wdXQgbmFtZT0icXVlcnkiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iIiAvPjxpbnB1dCBuYW1lPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNlYXJjaCAuLi4iIC8+PC9mb3JtPjx1bD48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9Ii4uL2luZGV4Lmh0bWwiPk1haW4gTWVudTwvYT48L2xpPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iLi4vZG9jcy5odG1sIj5EZXZlbG9wZXIgTWVudTwvYT48L2xpPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iLi4vZXhhbXBsZXMvaW5kZXguaHRtbCI+Q29kZSBFeGFtcGxlczwvYT48L2xpPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iaW5kZXguaHRtbCI+QVBJIE1lbnU8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXBhcnNlci5odG1sIj5QYXJzZXIgQVBJPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwiPlRyZWUgQVBJPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCI+UmVhZGVyIEFQSTwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9ndWlkZWxpbmVzLmh0bWwiPlhNTCBHdWlkZWxpbmVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0NoYW5nZUxvZy5odG1sIj5DaGFuZ2VMb2c8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5BUEkgSW5kZXhlczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9Ii4uL0FQSWNodW5rMC5odG1sIj5BbHBoYWJldGljPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSWNvbnN0cnVjdG9ycy5odG1sIj5Db25zdHJ1Y3RvcnM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJZnVuY3Rpb25zLmh0bWwiPkZ1bmN0aW9ucy9UeXBlczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUElmaWxlcy5odG1sIj5Nb2R1bGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSXN5bWJvbHMuaHRtbCI+U3ltYm9sczwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPlJlbGF0ZWQgbGlua3M8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSJodHRwOi8vbWFpbC5nbm9tZS5vcmcvYXJjaGl2ZXMveG1sLyI+TWFpbCBhcmNoaXZlPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9YU0xULyI+WFNMVCBsaWJ4c2x0PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9waGQuY3MudW5pYm8uaXQvZ2RvbWUyLyI+RE9NIGdkb21lMjwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmFsZWtzZXkuY29tL3htbHNlYy8iPlhNTC1EU2lnIHhtbHNlYzwvYT48L2xpPjxsaT48YSBocmVmPSJmdHA6Ly94bWxzb2Z0Lm9yZy8iPkZUUDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnpsYXRrb3ZpYy5jb20vcHJvamVjdHMvbGlieG1sLyI+V2luZG93cyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vb3BlbmNzdy5vcmcvcGFja2FnZXMvbGlieG1sMiI+U29sYXJpcyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmV4cGxhaW4uY29tLmF1L29zcy9saWJ4bWwyeHNsdC5odG1sIj5NYWNPc1ggYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2x4bWwuZGUvIj5seG1sIFB5dGhvbiBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vY3Bhbi51d2lubmlwZWcuY2EvZGlzdC9YTUwtTGliWE1MIj5QZXJsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWxwbHVzcGx1cy5zb3VyY2Vmb3JnZS5uZXQvIj5DKysgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56ZW5kLmNvbS9waHA1L2FydGljbGVzL3BocDUteG1scGhwLnBocCNIZWFkaW5nNCI+UEhQIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbGlieG1sMi1wYXMvIj5QYXNjYWwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbC5ydWJ5Zm9yZ2Uub3JnLyI+UnVieSBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vdGNseG1sLnNvdXJjZWZvcmdlLm5ldC8iPlRjbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2J1Z2xpc3QuY2dpP3Byb2R1Y3Q9bGlieG1sMiI+QnVnIFRyYWNrZXI8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dGFibGUgY2xhc3M9Im5hdmlnYXRpb24iIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIyIj48dHIgdmFsaWduPSJtaWRkbGUiPjx0ZD48YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImxpYnhtbC1lbnRpdGllcy5odG1sIj48aW1nIHNyYz0ibGVmdC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlByZXYiIC8+PC9hPjwvdGQ+PHRoIGFsaWduPSJsZWZ0Ij48YSBocmVmPSJsaWJ4bWwtZW50aXRpZXMuaHRtbCI+ZW50aXRpZXM8L2E+PC90aD48dGQ+PGEgYWNjZXNza2V5PSJ1IiBocmVmPSJpbmRleC5odG1sIj48aW1nIHNyYz0idXAucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJVcCIgLz48L2E+PC90ZD48dGggYWxpZ249ImxlZnQiPjxhIGhyZWY9ImluZGV4Lmh0bWwiPkFQSSBkb2N1bWVudGF0aW9uPC9hPjwvdGg+PHRkPjxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iLi4vaW5kZXguaHRtbCI+PGltZyBzcmM9ImhvbWUucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJIb21lIiAvPjwvYT48L3RkPjx0aCBhbGlnbj0iY2VudGVyIj48YSBocmVmPSIuLi9pbmRleC5odG1sIj5UaGUgWE1MIEMgcGFyc2VyIGFuZCB0b29sa2l0IG9mIEdub21lPC9hPjwvdGg+PHRoIGFsaWduPSJyaWdodCI+PGEgaHJlZj0ibGlieG1sLWhhc2guaHRtbCI+aGFzaDwvYT48L3RoPjx0ZD48YSBhY2Nlc3NrZXk9Im4iIGhyZWY9ImxpYnhtbC1oYXNoLmh0bWwiPjxpbWcgc3JjPSJyaWdodC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9Ik5leHQiIC8+PC9hPjwvdGQ+PC90cj48L3RhYmxlPjxwPmFsbCB0aGUgZ2xvYmFsIHZhcmlhYmxlcyBhbmQgdGhyZWFkIGhhbmRsaW5nIGZvciB0aG9zZSB2YXJpYWJsZXMgaXMgaGFuZGxlZCBieSB0aGlzIG1vZHVsZS4gIFRoZSBib3R0b20gb2YgdGhpcyBmaWxlIGlzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IGJ1aWxkX2dsb2IucHkgYmFzZWQgb24gdGhlIGRlc2NyaXB0aW9uIGZpbGUgZ2xvYmFsLmRhdGEgPC9wPjxoMj5UYWJsZSBvZiBDb250ZW50czwvaDI+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlN0cnVjdHVyZSA8YSBocmVmPSIjeG1sR2xvYmFsU3RhdGUiPnhtbEdsb2JhbFN0YXRlPC9hPjxiciAvPnN0cnVjdCBfeG1sR2xvYmFsU3RhdGUKKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5UeXBlZGVmIDxhIGhyZWY9ImxpYnhtbC1nbG9iYWxzLmh0bWwjeG1sR2xvYmFsU3RhdGUiPnhtbEdsb2JhbFN0YXRlPC9hPiAqIDxhIG5hbWU9InhtbEdsb2JhbFN0YXRlUHRyIiBpZD0ieG1sR2xvYmFsU3RhdGVQdHIiPnhtbEdsb2JhbFN0YXRlUHRyPC9hPgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbENsZWFudXBHbG9iYWxzIj54bWxDbGVhbnVwR2xvYmFsczwvYT4JCSh2b2lkKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC1nbG9iYWxzLmh0bWwjeG1sRGVyZWdpc3Rlck5vZGVGdW5jIj54bWxEZXJlZ2lzdGVyTm9kZUZ1bmM8L2E+CTxhIGhyZWY9IiN4bWxEZXJlZ2lzdGVyTm9kZURlZmF1bHQiPnhtbERlcmVnaXN0ZXJOb2RlRGVmYXVsdDwvYT4JKDxhIGhyZWY9ImxpYnhtbC1nbG9iYWxzLmh0bWwjeG1sRGVyZWdpc3Rlck5vZGVGdW5jIj54bWxEZXJlZ2lzdGVyTm9kZUZ1bmM8L2E+IGZ1bmMpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RnVuY3Rpb24gdHlwZTogPGEgaHJlZj0iI3htbERlcmVnaXN0ZXJOb2RlRnVuYyI+eG1sRGVyZWdpc3Rlck5vZGVGdW5jPC9hPgordm9pZAk8YSBocmVmPSIjeG1sRGVyZWdpc3Rlck5vZGVGdW5jIj54bWxEZXJlZ2lzdGVyTm9kZUZ1bmM8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlKQorPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sSW5pdEdsb2JhbHMiPnhtbEluaXRHbG9iYWxzPC9hPgkJCSh2b2lkKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbEluaXRpYWxpemVHbG9iYWxTdGF0ZSI+eG1sSW5pdGlhbGl6ZUdsb2JhbFN0YXRlPC9hPgkoPGEgaHJlZj0ibGlieG1sLWdsb2JhbHMuaHRtbCN4bWxHbG9iYWxTdGF0ZVB0ciI+eG1sR2xvYmFsU3RhdGVQdHI8L2E+IGdzKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC1nbG9iYWxzLmh0bWwjeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jIj54bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmM8L2E+CTxhIGhyZWY9IiN4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQiPnhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRGVmYXVsdDwvYT4JKDxhIGhyZWY9ImxpYnhtbC1nbG9iYWxzLmh0bWwjeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jIj54bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmM8L2E+IGZ1bmMpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RnVuY3Rpb24gdHlwZTogPGEgaHJlZj0iI3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYyI+eG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jPC9hPgorPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxPdXRwdXRCdWZmZXJQdHIiPnhtbE91dHB1dEJ1ZmZlclB0cjwvYT4JPGEgaHJlZj0iI3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYyI+eG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jPC9hPgkoY29uc3QgY2hhciAqIFVSSSwgPGJyIC8+CQkJCQkJCSA8YSBocmVmPSJsaWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyIj54bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyPC9hPiBlbmNvZGVyLCA8YnIgLz4JCQkJCQkJIGludCBjb21wcmVzc2lvbikKKzwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC1nbG9iYWxzLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmMiPnhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jPC9hPgk8YSBocmVmPSIjeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQiPnhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0PC9hPgkoPGEgaHJlZj0ibGlieG1sLWdsb2JhbHMuaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYyI+eG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmM8L2E+IGZ1bmMpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RnVuY3Rpb24gdHlwZTogPGEgaHJlZj0iI3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jIj54bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYzwvYT4KKzxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIiPnhtbFBhcnNlcklucHV0QnVmZmVyUHRyPC9hPgk8YSBocmVmPSIjeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmMiPnhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jPC9hPgkoY29uc3QgY2hhciAqIFVSSSwgPGJyIC8+CQkJCQkJCSA8YSBocmVmPSJsaWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmciPnhtbENoYXJFbmNvZGluZzwvYT4gZW5jKQorPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLWdsb2JhbHMuaHRtbCN4bWxSZWdpc3Rlck5vZGVGdW5jIj54bWxSZWdpc3Rlck5vZGVGdW5jPC9hPgk8YSBocmVmPSIjeG1sUmVnaXN0ZXJOb2RlRGVmYXVsdCI+eG1sUmVnaXN0ZXJOb2RlRGVmYXVsdDwvYT4JKDxhIGhyZWY9ImxpYnhtbC1nbG9iYWxzLmh0bWwjeG1sUmVnaXN0ZXJOb2RlRnVuYyI+eG1sUmVnaXN0ZXJOb2RlRnVuYzwvYT4gZnVuYyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5GdW5jdGlvbiB0eXBlOiA8YSBocmVmPSIjeG1sUmVnaXN0ZXJOb2RlRnVuYyI+eG1sUmVnaXN0ZXJOb2RlRnVuYzwvYT4KK3ZvaWQJPGEgaHJlZj0iI3htbFJlZ2lzdGVyTm9kZUZ1bmMiPnhtbFJlZ2lzdGVyTm9kZUZ1bmM8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlKQorPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJBbGxvY2F0aW9uU2NoZW1lIj54bWxCdWZmZXJBbGxvY2F0aW9uU2NoZW1lPC9hPgk8YSBocmVmPSIjeG1sVGhyRGVmQnVmZmVyQWxsb2NTY2hlbWUiPnhtbFRockRlZkJ1ZmZlckFsbG9jU2NoZW1lPC9hPgkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJBbGxvY2F0aW9uU2NoZW1lIj54bWxCdWZmZXJBbGxvY2F0aW9uU2NoZW1lPC9hPiB2KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVGhyRGVmRGVmYXVsdEJ1ZmZlclNpemUiPnhtbFRockRlZkRlZmF1bHRCdWZmZXJTaXplPC9hPgkoaW50IHYpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLWdsb2JhbHMuaHRtbCN4bWxEZXJlZ2lzdGVyTm9kZUZ1bmMiPnhtbERlcmVnaXN0ZXJOb2RlRnVuYzwvYT4JPGEgaHJlZj0iI3htbFRockRlZkRlcmVnaXN0ZXJOb2RlRGVmYXVsdCI+eG1sVGhyRGVmRGVyZWdpc3Rlck5vZGVEZWZhdWx0PC9hPgkoPGEgaHJlZj0ibGlieG1sLWdsb2JhbHMuaHRtbCN4bWxEZXJlZ2lzdGVyTm9kZUZ1bmMiPnhtbERlcmVnaXN0ZXJOb2RlRnVuYzwvYT4gZnVuYyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFRockRlZkRvVmFsaWRpdHlDaGVja2luZ0RlZmF1bHRWYWx1ZSI+eG1sVGhyRGVmRG9WYWxpZGl0eUNoZWNraW5nRGVmYXVsdFZhbHVlPC9hPgkoaW50IHYpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxUaHJEZWZHZXRXYXJuaW5nc0RlZmF1bHRWYWx1ZSI+eG1sVGhyRGVmR2V0V2FybmluZ3NEZWZhdWx0VmFsdWU8L2E+CShpbnQgdik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFRockRlZkluZGVudFRyZWVPdXRwdXQiPnhtbFRockRlZkluZGVudFRyZWVPdXRwdXQ8L2E+CShpbnQgdik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFRockRlZktlZXBCbGFua3NEZWZhdWx0VmFsdWUiPnhtbFRockRlZktlZXBCbGFua3NEZWZhdWx0VmFsdWU8L2E+CShpbnQgdik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFRockRlZkxpbmVOdW1iZXJzRGVmYXVsdFZhbHVlIj54bWxUaHJEZWZMaW5lTnVtYmVyc0RlZmF1bHRWYWx1ZTwvYT4JKGludCB2KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVGhyRGVmTG9hZEV4dER0ZERlZmF1bHRWYWx1ZSI+eG1sVGhyRGVmTG9hZEV4dER0ZERlZmF1bHRWYWx1ZTwvYT4JKGludCB2KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC1nbG9iYWxzLmh0bWwjeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jIj54bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmM8L2E+CTxhIGhyZWY9IiN4bWxUaHJEZWZPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQiPnhtbFRockRlZk91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRGVmYXVsdDwvYT4JKDxhIGhyZWY9ImxpYnhtbC1nbG9iYWxzLmh0bWwjeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jIj54bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmM8L2E+IGZ1bmMpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxUaHJEZWZQYXJzZXJEZWJ1Z0VudGl0aWVzIj54bWxUaHJEZWZQYXJzZXJEZWJ1Z0VudGl0aWVzPC9hPgkoaW50IHYpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLWdsb2JhbHMuaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYyI+eG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmM8L2E+CTxhIGhyZWY9IiN4bWxUaHJEZWZQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRGVmYXVsdCI+eG1sVGhyRGVmUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQ8L2E+CSg8YSBocmVmPSJsaWJ4bWwtZ2xvYmFscy5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jIj54bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYzwvYT4gZnVuYyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFRockRlZlBlZGFudGljUGFyc2VyRGVmYXVsdFZhbHVlIj54bWxUaHJEZWZQZWRhbnRpY1BhcnNlckRlZmF1bHRWYWx1ZTwvYT4JKGludCB2KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC1nbG9iYWxzLmh0bWwjeG1sUmVnaXN0ZXJOb2RlRnVuYyI+eG1sUmVnaXN0ZXJOb2RlRnVuYzwvYT4JPGEgaHJlZj0iI3htbFRockRlZlJlZ2lzdGVyTm9kZURlZmF1bHQiPnhtbFRockRlZlJlZ2lzdGVyTm9kZURlZmF1bHQ8L2E+CSg8YSBocmVmPSJsaWJ4bWwtZ2xvYmFscy5odG1sI3htbFJlZ2lzdGVyTm9kZUZ1bmMiPnhtbFJlZ2lzdGVyTm9kZUZ1bmM8L2E+IGZ1bmMpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxUaHJEZWZTYXZlTm9FbXB0eVRhZ3MiPnhtbFRockRlZlNhdmVOb0VtcHR5VGFnczwvYT4JKGludCB2KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFRockRlZlNldEdlbmVyaWNFcnJvckZ1bmMiPnhtbFRockRlZlNldEdlbmVyaWNFcnJvckZ1bmM8L2E+CSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxHZW5lcmljRXJyb3JGdW5jIj54bWxHZW5lcmljRXJyb3JGdW5jPC9hPiBoYW5kbGVyKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFRockRlZlNldFN0cnVjdHVyZWRFcnJvckZ1bmMiPnhtbFRockRlZlNldFN0cnVjdHVyZWRFcnJvckZ1bmM8L2E+CSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jIj54bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jPC9hPiBoYW5kbGVyKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVGhyRGVmU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdFZhbHVlIj54bWxUaHJEZWZTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0VmFsdWU8L2E+CShpbnQgdik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5jb25zdCBjaGFyICoJPGEgaHJlZj0iI3htbFRockRlZlRyZWVJbmRlbnRTdHJpbmciPnhtbFRockRlZlRyZWVJbmRlbnRTdHJpbmc8L2E+CShjb25zdCBjaGFyICogdik8L3ByZT4KKzxoMj5EZXNjcmlwdGlvbjwvaDI+Cis8aDM+PGEgbmFtZT0ieG1sR2xvYmFsU3RhdGUiIGlkPSJ4bWxHbG9iYWxTdGF0ZSI+U3RydWN0dXJlIHhtbEdsb2JhbFN0YXRlPC9hPjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlN0cnVjdHVyZSB4bWxHbG9iYWxTdGF0ZTxiciAvPnN0cnVjdCBfeG1sR2xvYmFsU3RhdGUgeworICAgIGNvbnN0IGNoYXIgKgl4bWxQYXJzZXJWZXJzaW9uCisgICAgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxTQVhMb2NhdG9yIj54bWxTQVhMb2NhdG9yPC9hPgl4bWxEZWZhdWx0U0FYTG9jYXRvcgorICAgIDxhIGhyZWY9ImxpYnhtbC1wYXJzZXIuaHRtbCN4bWxTQVhIYW5kbGVyVjEiPnhtbFNBWEhhbmRsZXJWMTwvYT4JeG1sRGVmYXVsdFNBWEhhbmRsZXIKKyAgICA8YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYSGFuZGxlclYxIj54bWxTQVhIYW5kbGVyVjE8L2E+CWRvY2JEZWZhdWx0U0FYSGFuZGxlcgorICAgIDxhIGhyZWY9ImxpYnhtbC1wYXJzZXIuaHRtbCN4bWxTQVhIYW5kbGVyVjEiPnhtbFNBWEhhbmRsZXJWMTwvYT4JaHRtbERlZmF1bHRTQVhIYW5kbGVyCisgICAgPGEgaHJlZj0ibGlieG1sLXhtbG1lbW9yeS5odG1sI3htbEZyZWVGdW5jIj54bWxGcmVlRnVuYzwvYT4JeG1sRnJlZQorICAgIDxhIGhyZWY9ImxpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNYWxsb2NGdW5jIj54bWxNYWxsb2NGdW5jPC9hPgl4bWxNYWxsb2MKKyAgICA8YSBocmVmPSJsaWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sU3RyZHVwRnVuYyI+eG1sU3RyZHVwRnVuYzwvYT4JeG1sTWVtU3RyZHVwCisgICAgPGEgaHJlZj0ibGlieG1sLXhtbG1lbW9yeS5odG1sI3htbFJlYWxsb2NGdW5jIj54bWxSZWFsbG9jRnVuYzwvYT4JeG1sUmVhbGxvYworICAgIDxhIGhyZWY9ImxpYnhtbC14bWxlcnJvci5odG1sI3htbEdlbmVyaWNFcnJvckZ1bmMiPnhtbEdlbmVyaWNFcnJvckZ1bmM8L2E+CXhtbEdlbmVyaWNFcnJvcgorICAgIDxhIGhyZWY9ImxpYnhtbC14bWxlcnJvci5odG1sI3htbFN0cnVjdHVyZWRFcnJvckZ1bmMiPnhtbFN0cnVjdHVyZWRFcnJvckZ1bmM8L2E+CXhtbFN0cnVjdHVyZWRFcnJvcgorICAgIHZvaWQgKgl4bWxHZW5lcmljRXJyb3JDb250ZXh0CisgICAgaW50CW9sZFhNTFdEY29tcGF0aWJpbGl0eQorICAgIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyQWxsb2NhdGlvblNjaGVtZSI+eG1sQnVmZmVyQWxsb2NhdGlvblNjaGVtZTwvYT4JeG1sQnVmZmVyQWxsb2NTY2hlbWUKKyAgICBpbnQJeG1sRGVmYXVsdEJ1ZmZlclNpemUKKyAgICBpbnQJeG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdFZhbHVlCisgICAgaW50CXhtbERvVmFsaWRpdHlDaGVja2luZ0RlZmF1bHRWYWx1ZQorICAgIGludAl4bWxHZXRXYXJuaW5nc0RlZmF1bHRWYWx1ZQorICAgIGludAl4bWxLZWVwQmxhbmtzRGVmYXVsdFZhbHVlCisgICAgaW50CXhtbExpbmVOdW1iZXJzRGVmYXVsdFZhbHVlCisgICAgaW50CXhtbExvYWRFeHREdGREZWZhdWx0VmFsdWUKKyAgICBpbnQJeG1sUGFyc2VyRGVidWdFbnRpdGllcworICAgIGludAl4bWxQZWRhbnRpY1BhcnNlckRlZmF1bHRWYWx1ZQorICAgIGludAl4bWxTYXZlTm9FbXB0eVRhZ3MKKyAgICBpbnQJeG1sSW5kZW50VHJlZU91dHB1dAorICAgIGNvbnN0IGNoYXIgKgl4bWxUcmVlSW5kZW50U3RyaW5nCisgICAgPGEgaHJlZj0ibGlieG1sLWdsb2JhbHMuaHRtbCN4bWxSZWdpc3Rlck5vZGVGdW5jIj54bWxSZWdpc3Rlck5vZGVGdW5jPC9hPgl4bWxSZWdpc3Rlck5vZGVEZWZhdWx0VmFsdWUKKyAgICA8YSBocmVmPSJsaWJ4bWwtZ2xvYmFscy5odG1sI3htbERlcmVnaXN0ZXJOb2RlRnVuYyI+eG1sRGVyZWdpc3Rlck5vZGVGdW5jPC9hPgl4bWxEZXJlZ2lzdGVyTm9kZURlZmF1bHRWYWx1ZQorICAgIDxhIGhyZWY9ImxpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNYWxsb2NGdW5jIj54bWxNYWxsb2NGdW5jPC9hPgl4bWxNYWxsb2NBdG9taWMKKyAgICA8YSBocmVmPSJsaWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxFcnJvciI+eG1sRXJyb3I8L2E+CXhtbExhc3RFcnJvcgorICAgIDxhIGhyZWY9ImxpYnhtbC1nbG9iYWxzLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmMiPnhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jPC9hPgl4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lVmFsdWUKKyAgICA8YSBocmVmPSJsaWJ4bWwtZ2xvYmFscy5odG1sI3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYyI+eG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jPC9hPgl4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZVZhbHVlCisgICAgdm9pZCAqCXhtbFN0cnVjdHVyZWRFcnJvckNvbnRleHQKK308L3ByZT48aDM+PGEgbmFtZT0ieG1sQ2xlYW51cEdsb2JhbHMiIGlkPSJ4bWxDbGVhbnVwR2xvYmFscyI+PC9hPkZ1bmN0aW9uOiB4bWxDbGVhbnVwR2xvYmFsczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sQ2xlYW51cEdsb2JhbHMJCSh2b2lkKTxiciAvPgorPC9wcmU+PHA+QWRkaXRpb25hbCBjbGVhbnVwIGZvciBtdWx0aS10aHJlYWRpbmc8L3A+Cis8aDM+PGEgbmFtZT0ieG1sRGVyZWdpc3Rlck5vZGVEZWZhdWx0IiBpZD0ieG1sRGVyZWdpc3Rlck5vZGVEZWZhdWx0Ij48L2E+RnVuY3Rpb246IHhtbERlcmVnaXN0ZXJOb2RlRGVmYXVsdDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC1nbG9iYWxzLmh0bWwjeG1sRGVyZWdpc3Rlck5vZGVGdW5jIj54bWxEZXJlZ2lzdGVyTm9kZUZ1bmM8L2E+CXhtbERlcmVnaXN0ZXJOb2RlRGVmYXVsdAkoPGEgaHJlZj0ibGlieG1sLWdsb2JhbHMuaHRtbCN4bWxEZXJlZ2lzdGVyTm9kZUZ1bmMiPnhtbERlcmVnaXN0ZXJOb2RlRnVuYzwvYT4gZnVuYyk8YnIgLz4KKzwvcHJlPjxwPlJlZ2lzdGVycyBhIGNhbGxiYWNrIGZvciBub2RlIGRlc3RydWN0aW9uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZnVuYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+ZnVuY3Rpb24gcG9pbnRlciB0byB0aGUgbmV3IERlcmVnaXN0ZXJOb2RlRnVuYzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHByZXZpb3VzIHZhbHVlIG9mIHRoZSBkZXJlZ2lzdHJhdGlvbiBmdW5jdGlvbjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbERlcmVnaXN0ZXJOb2RlRnVuYyIgaWQ9InhtbERlcmVnaXN0ZXJOb2RlRnVuYyI+PC9hPkZ1bmN0aW9uIHR5cGU6IHhtbERlcmVnaXN0ZXJOb2RlRnVuYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkZ1bmN0aW9uIHR5cGU6IHhtbERlcmVnaXN0ZXJOb2RlRnVuYwordm9pZAl4bWxEZXJlZ2lzdGVyTm9kZUZ1bmMJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUpCis8L3ByZT48cD5TaWduYXR1cmUgZm9yIHRoZSBkZXJlZ2lzdHJhdGlvbiBjYWxsYmFjayBvZiBhIGRpc2NhcmRlZCBub2RlPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjdXJyZW50IG5vZGU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxiciAvPgorPGgzPjxhIG5hbWU9InhtbEluaXRHbG9iYWxzIiBpZD0ieG1sSW5pdEdsb2JhbHMiPjwvYT5GdW5jdGlvbjogeG1sSW5pdEdsb2JhbHM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbEluaXRHbG9iYWxzCQkJKHZvaWQpPGJyIC8+Cis8L3ByZT48cD5BZGRpdGlvbmFsIGluaXRpYWxpc2F0aW9uIGZvciBtdWx0aS10aHJlYWRpbmc8L3A+Cis8aDM+PGEgbmFtZT0ieG1sSW5pdGlhbGl6ZUdsb2JhbFN0YXRlIiBpZD0ieG1sSW5pdGlhbGl6ZUdsb2JhbFN0YXRlIj48L2E+RnVuY3Rpb246IHhtbEluaXRpYWxpemVHbG9iYWxTdGF0ZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sSW5pdGlhbGl6ZUdsb2JhbFN0YXRlCSg8YSBocmVmPSJsaWJ4bWwtZ2xvYmFscy5odG1sI3htbEdsb2JhbFN0YXRlUHRyIj54bWxHbG9iYWxTdGF0ZVB0cjwvYT4gZ3MpPGJyIC8+Cis8L3ByZT48cD54bWxJbml0aWFsaXplR2xvYmFsU3RhdGUoKSBpbml0aWFsaXplIGEgZ2xvYmFsIHN0YXRlIHdpdGggYWxsIHRoZSBkZWZhdWx0IHZhbHVlcyBvZiB0aGUgbGlicmFyeS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5nczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIGEgbmV3bHkgYWxsb2NhdGVkIGdsb2JhbCBzdGF0ZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRGVmYXVsdCIgaWQ9InhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRGVmYXVsdCI+PC9hPkZ1bmN0aW9uOiB4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtZ2xvYmFscy5odG1sI3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYyI+eG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jPC9hPgl4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQJKDxhIGhyZWY9ImxpYnhtbC1nbG9iYWxzLmh0bWwjeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jIj54bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmM8L2E+IGZ1bmMpPGJyIC8+Cis8L3ByZT48cD5SZWdpc3RlcnMgYSBjYWxsYmFjayBmb3IgVVJJIG91dHB1dCBmaWxlIGhhbmRsaW5nPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZnVuYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+ZnVuY3Rpb24gcG9pbnRlciB0byB0aGUgbmV3IE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG9sZCB2YWx1ZSBvZiB0aGUgcmVnaXN0cmF0aW9uIGZ1bmN0aW9uPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jIiBpZD0ieG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jIj48L2E+RnVuY3Rpb24gdHlwZTogeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RnVuY3Rpb24gdHlwZTogeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jCis8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE91dHB1dEJ1ZmZlclB0ciI+eG1sT3V0cHV0QnVmZmVyUHRyPC9hPgl4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmMJKGNvbnN0IGNoYXIgKiBVUkksIDxiciAvPgkJCQkJCQkgPGEgaHJlZj0ibGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0ciI+eG1sQ2hhckVuY29kaW5nSGFuZGxlclB0cjwvYT4gZW5jb2RlciwgPGJyIC8+CQkJCQkJCSBpbnQgY29tcHJlc3Npb24pCis8L3ByZT48cD5TaWduYXR1cmUgZm9yIHRoZSBmdW5jdGlvbiBkb2luZyB0aGUgbG9va3VwIGZvciBhIHN1aXRhYmxlIG91dHB1dCBtZXRob2QgY29ycmVzcG9uZGluZyB0byBhbiBVUkkuPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlVSSTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFVSSSB0byB3cml0ZSB0bzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jb2RlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb21wcmVzc2lvbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sT3V0cHV0QnVmZmVyUHRyIj54bWxPdXRwdXRCdWZmZXJQdHI8L2E+IGluIGNhc2Ugb2Ygc3VjY2VzcyBvciBOVUxMIGlmIG5vIG1ldGhvZCB3YXMgZm91bmQuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48YnIgLz4KKzxoMz48YSBuYW1lPSJ4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRGVmYXVsdCIgaWQ9InhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0Ij48L2E+RnVuY3Rpb246IHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLWdsb2JhbHMuaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYyI+eG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmM8L2E+CXhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0CSg8YSBocmVmPSJsaWJ4bWwtZ2xvYmFscy5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jIj54bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYzwvYT4gZnVuYyk8YnIgLz4KKzwvcHJlPjxwPlJlZ2lzdGVycyBhIGNhbGxiYWNrIGZvciBVUkkgaW5wdXQgZmlsZSBoYW5kbGluZzwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZ1bmM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmZ1bmN0aW9uIHBvaW50ZXIgdG8gdGhlIG5ldyBQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG9sZCB2YWx1ZSBvZiB0aGUgcmVnaXN0cmF0aW9uIGZ1bmN0aW9uPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmMiIGlkPSJ4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYyI+PC9hPkZ1bmN0aW9uIHR5cGU6IHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RnVuY3Rpb24gdHlwZTogeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmMKKzxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIiPnhtbFBhcnNlcklucHV0QnVmZmVyUHRyPC9hPgl4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYwkoY29uc3QgY2hhciAqIFVSSSwgPGJyIC8+CQkJCQkJCSA8YSBocmVmPSJsaWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmciPnhtbENoYXJFbmNvZGluZzwvYT4gZW5jKQorPC9wcmU+PHA+U2lnbmF0dXJlIGZvciB0aGUgZnVuY3Rpb24gZG9pbmcgdGhlIGxvb2t1cCBmb3IgYSBzdWl0YWJsZSBpbnB1dCBtZXRob2QgY29ycmVzcG9uZGluZyB0byBhbiBVUkkuPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlVSSTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFVSSSB0byByZWFkIGZyb208L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVuYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHJlcXVlc3RlZCBzb3VyY2UgZW5jb2Rpbmc8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXcgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciI+eG1sUGFyc2VySW5wdXRCdWZmZXJQdHI8L2E+IGluIGNhc2Ugb2Ygc3VjY2VzcyBvciBOVUxMIGlmIG5vIG1ldGhvZCB3YXMgZm91bmQuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48YnIgLz4KKzxoMz48YSBuYW1lPSJ4bWxSZWdpc3Rlck5vZGVEZWZhdWx0IiBpZD0ieG1sUmVnaXN0ZXJOb2RlRGVmYXVsdCI+PC9hPkZ1bmN0aW9uOiB4bWxSZWdpc3Rlck5vZGVEZWZhdWx0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLWdsb2JhbHMuaHRtbCN4bWxSZWdpc3Rlck5vZGVGdW5jIj54bWxSZWdpc3Rlck5vZGVGdW5jPC9hPgl4bWxSZWdpc3Rlck5vZGVEZWZhdWx0CSg8YSBocmVmPSJsaWJ4bWwtZ2xvYmFscy5odG1sI3htbFJlZ2lzdGVyTm9kZUZ1bmMiPnhtbFJlZ2lzdGVyTm9kZUZ1bmM8L2E+IGZ1bmMpPGJyIC8+Cis8L3ByZT48cD5SZWdpc3RlcnMgYSBjYWxsYmFjayBmb3Igbm9kZSBjcmVhdGlvbjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZ1bmM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmZ1bmN0aW9uIHBvaW50ZXIgdG8gdGhlIG5ldyBSZWdpc3Rlck5vZGVGdW5jPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgb2xkIHZhbHVlIG9mIHRoZSByZWdpc3RyYXRpb24gZnVuY3Rpb248L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxSZWdpc3Rlck5vZGVGdW5jIiBpZD0ieG1sUmVnaXN0ZXJOb2RlRnVuYyI+PC9hPkZ1bmN0aW9uIHR5cGU6IHhtbFJlZ2lzdGVyTm9kZUZ1bmM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5GdW5jdGlvbiB0eXBlOiB4bWxSZWdpc3Rlck5vZGVGdW5jCit2b2lkCXhtbFJlZ2lzdGVyTm9kZUZ1bmMJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUpCis8L3ByZT48cD5TaWduYXR1cmUgZm9yIHRoZSByZWdpc3RyYXRpb24gY2FsbGJhY2sgb2YgYSBjcmVhdGVkIG5vZGU8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGN1cnJlbnQgbm9kZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGJyIC8+Cis8aDM+PGEgbmFtZT0ieG1sVGhyRGVmQnVmZmVyQWxsb2NTY2hlbWUiIGlkPSJ4bWxUaHJEZWZCdWZmZXJBbGxvY1NjaGVtZSI+PC9hPkZ1bmN0aW9uOiB4bWxUaHJEZWZCdWZmZXJBbGxvY1NjaGVtZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyQWxsb2NhdGlvblNjaGVtZSI+eG1sQnVmZmVyQWxsb2NhdGlvblNjaGVtZTwvYT4JeG1sVGhyRGVmQnVmZmVyQWxsb2NTY2hlbWUJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyQWxsb2NhdGlvblNjaGVtZSI+eG1sQnVmZmVyQWxsb2NhdGlvblNjaGVtZTwvYT4gdik8YnIgLz4KKzwvcHJlPjxwPjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVGhyRGVmRGVmYXVsdEJ1ZmZlclNpemUiIGlkPSJ4bWxUaHJEZWZEZWZhdWx0QnVmZmVyU2l6ZSI+PC9hPkZ1bmN0aW9uOiB4bWxUaHJEZWZEZWZhdWx0QnVmZmVyU2l6ZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUaHJEZWZEZWZhdWx0QnVmZmVyU2l6ZQkoaW50IHYpPGJyIC8+Cis8L3ByZT48cD48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFRockRlZkRlcmVnaXN0ZXJOb2RlRGVmYXVsdCIgaWQ9InhtbFRockRlZkRlcmVnaXN0ZXJOb2RlRGVmYXVsdCI+PC9hPkZ1bmN0aW9uOiB4bWxUaHJEZWZEZXJlZ2lzdGVyTm9kZURlZmF1bHQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtZ2xvYmFscy5odG1sI3htbERlcmVnaXN0ZXJOb2RlRnVuYyI+eG1sRGVyZWdpc3Rlck5vZGVGdW5jPC9hPgl4bWxUaHJEZWZEZXJlZ2lzdGVyTm9kZURlZmF1bHQJKDxhIGhyZWY9ImxpYnhtbC1nbG9iYWxzLmh0bWwjeG1sRGVyZWdpc3Rlck5vZGVGdW5jIj54bWxEZXJlZ2lzdGVyTm9kZUZ1bmM8L2E+IGZ1bmMpPGJyIC8+Cis8L3ByZT48cD48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mdW5jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFRockRlZkRvVmFsaWRpdHlDaGVja2luZ0RlZmF1bHRWYWx1ZSIgaWQ9InhtbFRockRlZkRvVmFsaWRpdHlDaGVja2luZ0RlZmF1bHRWYWx1ZSI+PC9hPkZ1bmN0aW9uOiB4bWxUaHJEZWZEb1ZhbGlkaXR5Q2hlY2tpbmdEZWZhdWx0VmFsdWU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGhyRGVmRG9WYWxpZGl0eUNoZWNraW5nRGVmYXVsdFZhbHVlCShpbnQgdik8YnIgLz4KKzwvcHJlPjxwPjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVGhyRGVmR2V0V2FybmluZ3NEZWZhdWx0VmFsdWUiIGlkPSJ4bWxUaHJEZWZHZXRXYXJuaW5nc0RlZmF1bHRWYWx1ZSI+PC9hPkZ1bmN0aW9uOiB4bWxUaHJEZWZHZXRXYXJuaW5nc0RlZmF1bHRWYWx1ZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUaHJEZWZHZXRXYXJuaW5nc0RlZmF1bHRWYWx1ZQkoaW50IHYpPGJyIC8+Cis8L3ByZT48cD48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFRockRlZkluZGVudFRyZWVPdXRwdXQiIGlkPSJ4bWxUaHJEZWZJbmRlbnRUcmVlT3V0cHV0Ij48L2E+RnVuY3Rpb246IHhtbFRockRlZkluZGVudFRyZWVPdXRwdXQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGhyRGVmSW5kZW50VHJlZU91dHB1dAkoaW50IHYpPGJyIC8+Cis8L3ByZT48cD48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFRockRlZktlZXBCbGFua3NEZWZhdWx0VmFsdWUiIGlkPSJ4bWxUaHJEZWZLZWVwQmxhbmtzRGVmYXVsdFZhbHVlIj48L2E+RnVuY3Rpb246IHhtbFRockRlZktlZXBCbGFua3NEZWZhdWx0VmFsdWU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGhyRGVmS2VlcEJsYW5rc0RlZmF1bHRWYWx1ZQkoaW50IHYpPGJyIC8+Cis8L3ByZT48cD48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFRockRlZkxpbmVOdW1iZXJzRGVmYXVsdFZhbHVlIiBpZD0ieG1sVGhyRGVmTGluZU51bWJlcnNEZWZhdWx0VmFsdWUiPjwvYT5GdW5jdGlvbjogeG1sVGhyRGVmTGluZU51bWJlcnNEZWZhdWx0VmFsdWU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGhyRGVmTGluZU51bWJlcnNEZWZhdWx0VmFsdWUJKGludCB2KTxiciAvPgorPC9wcmU+PHA+PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+djwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxUaHJEZWZMb2FkRXh0RHRkRGVmYXVsdFZhbHVlIiBpZD0ieG1sVGhyRGVmTG9hZEV4dER0ZERlZmF1bHRWYWx1ZSI+PC9hPkZ1bmN0aW9uOiB4bWxUaHJEZWZMb2FkRXh0RHRkRGVmYXVsdFZhbHVlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRockRlZkxvYWRFeHREdGREZWZhdWx0VmFsdWUJKGludCB2KTxiciAvPgorPC9wcmU+PHA+PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+djwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxUaHJEZWZPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQiIGlkPSJ4bWxUaHJEZWZPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQiPjwvYT5GdW5jdGlvbjogeG1sVGhyRGVmT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLWdsb2JhbHMuaHRtbCN4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmMiPnhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYzwvYT4JeG1sVGhyRGVmT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0CSg8YSBocmVmPSJsaWJ4bWwtZ2xvYmFscy5odG1sI3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYyI+eG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jPC9hPiBmdW5jKTxiciAvPgorPC9wcmU+PHA+PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZnVuYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxUaHJEZWZQYXJzZXJEZWJ1Z0VudGl0aWVzIiBpZD0ieG1sVGhyRGVmUGFyc2VyRGVidWdFbnRpdGllcyI+PC9hPkZ1bmN0aW9uOiB4bWxUaHJEZWZQYXJzZXJEZWJ1Z0VudGl0aWVzPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRockRlZlBhcnNlckRlYnVnRW50aXRpZXMJKGludCB2KTxiciAvPgorPC9wcmU+PHA+PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+djwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxUaHJEZWZQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRGVmYXVsdCIgaWQ9InhtbFRockRlZlBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0Ij48L2E+RnVuY3Rpb246IHhtbFRockRlZlBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLWdsb2JhbHMuaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYyI+eG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmM8L2E+CXhtbFRockRlZlBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0CSg8YSBocmVmPSJsaWJ4bWwtZ2xvYmFscy5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jIj54bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYzwvYT4gZnVuYyk8YnIgLz4KKzwvcHJlPjxwPjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZ1bmM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVGhyRGVmUGVkYW50aWNQYXJzZXJEZWZhdWx0VmFsdWUiIGlkPSJ4bWxUaHJEZWZQZWRhbnRpY1BhcnNlckRlZmF1bHRWYWx1ZSI+PC9hPkZ1bmN0aW9uOiB4bWxUaHJEZWZQZWRhbnRpY1BhcnNlckRlZmF1bHRWYWx1ZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUaHJEZWZQZWRhbnRpY1BhcnNlckRlZmF1bHRWYWx1ZQkoaW50IHYpPGJyIC8+Cis8L3ByZT48cD48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFRockRlZlJlZ2lzdGVyTm9kZURlZmF1bHQiIGlkPSJ4bWxUaHJEZWZSZWdpc3Rlck5vZGVEZWZhdWx0Ij48L2E+RnVuY3Rpb246IHhtbFRockRlZlJlZ2lzdGVyTm9kZURlZmF1bHQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtZ2xvYmFscy5odG1sI3htbFJlZ2lzdGVyTm9kZUZ1bmMiPnhtbFJlZ2lzdGVyTm9kZUZ1bmM8L2E+CXhtbFRockRlZlJlZ2lzdGVyTm9kZURlZmF1bHQJKDxhIGhyZWY9ImxpYnhtbC1nbG9iYWxzLmh0bWwjeG1sUmVnaXN0ZXJOb2RlRnVuYyI+eG1sUmVnaXN0ZXJOb2RlRnVuYzwvYT4gZnVuYyk8YnIgLz4KKzwvcHJlPjxwPjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZ1bmM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVGhyRGVmU2F2ZU5vRW1wdHlUYWdzIiBpZD0ieG1sVGhyRGVmU2F2ZU5vRW1wdHlUYWdzIj48L2E+RnVuY3Rpb246IHhtbFRockRlZlNhdmVOb0VtcHR5VGFnczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUaHJEZWZTYXZlTm9FbXB0eVRhZ3MJKGludCB2KTxiciAvPgorPC9wcmU+PHA+PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+djwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxUaHJEZWZTZXRHZW5lcmljRXJyb3JGdW5jIiBpZD0ieG1sVGhyRGVmU2V0R2VuZXJpY0Vycm9yRnVuYyI+PC9hPkZ1bmN0aW9uOiB4bWxUaHJEZWZTZXRHZW5lcmljRXJyb3JGdW5jPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxUaHJEZWZTZXRHZW5lcmljRXJyb3JGdW5jCSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxHZW5lcmljRXJyb3JGdW5jIj54bWxHZW5lcmljRXJyb3JGdW5jPC9hPiBoYW5kbGVyKTxiciAvPgorPC9wcmU+PHA+PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmhhbmRsZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFRockRlZlNldFN0cnVjdHVyZWRFcnJvckZ1bmMiIGlkPSJ4bWxUaHJEZWZTZXRTdHJ1Y3R1cmVkRXJyb3JGdW5jIj48L2E+RnVuY3Rpb246IHhtbFRockRlZlNldFN0cnVjdHVyZWRFcnJvckZ1bmM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFRockRlZlNldFN0cnVjdHVyZWRFcnJvckZ1bmMJKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxlcnJvci5odG1sI3htbFN0cnVjdHVyZWRFcnJvckZ1bmMiPnhtbFN0cnVjdHVyZWRFcnJvckZ1bmM8L2E+IGhhbmRsZXIpPGJyIC8+Cis8L3ByZT48cD48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aGFuZGxlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVGhyRGVmU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdFZhbHVlIiBpZD0ieG1sVGhyRGVmU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdFZhbHVlIj48L2E+RnVuY3Rpb246IHhtbFRockRlZlN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHRWYWx1ZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUaHJEZWZTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0VmFsdWUJKGludCB2KTxiciAvPgorPC9wcmU+PHA+PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+djwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxUaHJEZWZUcmVlSW5kZW50U3RyaW5nIiBpZD0ieG1sVGhyRGVmVHJlZUluZGVudFN0cmluZyI+PC9hPkZ1bmN0aW9uOiB4bWxUaHJEZWZUcmVlSW5kZW50U3RyaW5nPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Y29uc3QgY2hhciAqCXhtbFRockRlZlRyZWVJbmRlbnRTdHJpbmcJKGNvbnN0IGNoYXIgKiB2KTxiciAvPgorPC9wcmU+PHA+PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+djwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxwPjxhIGhyZWY9Ii4uL2J1Z3MuaHRtbCI+RGFuaWVsIFZlaWxsYXJkPC9hPjwvcD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvaHRtbC9saWJ4bWwtaGFzaC5odG1sIGIvbGlieG1sMi9kb2MvaHRtbC9saWJ4bWwtaGFzaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkyMmUzZjEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9odG1sL2xpYnhtbC1oYXNoLmh0bWwKQEAgLTAsMCArMSwxMTYgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+PGxpbmsgcmVsPSJTSE9SVENVVCBJQ09OIiBocmVmPSIvZmF2aWNvbi5pY28iIC8+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK1REIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitCT0RZIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2E7IG1hcmdpbi10b3A6IDJlbTsgbWFyZ2luLWxlZnQ6IDBlbTsgbWFyZ2luLXJpZ2h0OiAwZW19CitIMSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDIge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gzIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitBOmxpbmssIEE6dmlzaXRlZCwgQTphY3RpdmUgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB9Cis8L3N0eWxlPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAgICBkaXYuZGVwcmVjYXRlZCBwcmUucHJvZ3JhbWxpc3Rpbmcge2JvcmRlci1zdHlsZTogZG91YmxlO2JvcmRlci1jb2xvcjpyZWR9CisgICAgICBwcmUucHJvZ3JhbWxpc3Rpbmcge2JvcmRlci1zdHlsZTogZG91YmxlO2JhY2tncm91bmQ6ICNFRUNGQTF9CisgICAgPC9zdHlsZT48dGl0bGU+TW9kdWxlIGhhc2ggZnJvbSBsaWJ4bWwyPC90aXRsZT48L2hlYWQ+PGJvZHkgYmdjb2xvcj0iIzhiNzc2NSIgdGV4dD0iIzAwMDAwMCIgbGluaz0iI2EwNjA2MCIgdmxpbms9IiMwMDAwMDAiPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSIxMDAlIiBjZWxscGFkZGluZz0iNSIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgd2lkdGg9IjEyMCI+PGEgaHJlZj0iaHR0cDovL3N3cGF0LmZmaWkub3JnLyI+PGltZyBzcmM9Ii4uL2VwYXRlbnRzLnBuZyIgYWx0PSJBY3Rpb24gYWdhaW5zdCBzb2Z0d2FyZSBwYXRlbnRzIiAvPjwvYT48L3RkPjx0ZCB3aWR0aD0iMTgwIj48YSBocmVmPSJodHRwOi8vd3d3Lmdub21lLm9yZy8iPjxpbWcgc3JjPSIuLi9nbm9tZTIucG5nIiBhbHQ9Ikdub21lMiBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9TdGF0dXMiPjxpbWcgc3JjPSIuLi93M2MucG5nIiBhbHQ9IlczQyBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnJlZGhhdC5jb20vIj48aW1nIHNyYz0iLi4vcmVkaGF0LmdpZiIgYWx0PSJSZWQgSGF0IExvZ28iIC8+PC9hPjxkaXYgYWxpZ249ImxlZnQiPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy8iPjxpbWcgc3JjPSIuLi9MaWJ4bWwyLUxvZ28tMTgweDE2OC5naWYiIGFsdD0iTWFkZSB3aXRoIExpYnhtbDIgTG9nbyIgLz48L2E+PC9kaXY+PC90ZD48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjkwJSIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiIGJnY29sb3I9IiNmZmZhY2QiPjx0cj48dGQgYWxpZ249ImNlbnRlciI+PGgxPjwvaDE+PGgyPk1vZHVsZSBoYXNoIGZyb20gbGlieG1sMjwvaDI+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjQiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiIHdpZHRoPSIxMDAlIj48dHI+PHRkIHZhbGlnbj0idG9wIiB3aWR0aD0iMjAwIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5BUEkgTWVudTwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48Zm9ybSBhY3Rpb249Ii4uL3NlYXJjaC5waHAiIGVuY3R5cGU9ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIgbWV0aG9kPSJnZXQiPjxpbnB1dCBuYW1lPSJxdWVyeSIgdHlwZT0idGV4dCIgc2l6ZT0iMjAiIHZhbHVlPSIiIC8+PGlucHV0IG5hbWU9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU2VhcmNoIC4uLiIgLz48L2Zvcm0+PHVsPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iLi4vaW5kZXguaHRtbCI+TWFpbiBNZW51PC9hPjwvbGk+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSIuLi9kb2NzLmh0bWwiPkRldmVsb3BlciBNZW51PC9hPjwvbGk+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSIuLi9leGFtcGxlcy9pbmRleC5odG1sIj5Db2RlIEV4YW1wbGVzPC9hPjwvbGk+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSJpbmRleC5odG1sIj5BUEkgTWVudTwvYT48L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwiPlBhcnNlciBBUEk8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCI+VHJlZSBBUEk8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sIj5SZWFkZXIgQVBJPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL2d1aWRlbGluZXMuaHRtbCI+WE1MIEd1aWRlbGluZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQ2hhbmdlTG9nLmh0bWwiPkNoYW5nZUxvZzwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPkFQSSBJbmRleGVzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iLi4vQVBJY2h1bmswLmh0bWwiPkFscGhhYmV0aWM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJY29uc3RydWN0b3JzLmh0bWwiPkNvbnN0cnVjdG9yczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUElmdW5jdGlvbnMuaHRtbCI+RnVuY3Rpb25zL1R5cGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSWZpbGVzLmh0bWwiPk1vZHVsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJc3ltYm9scy5odG1sIj5TeW1ib2xzPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+UmVsYXRlZCBsaW5rczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9Imh0dHA6Ly9tYWlsLmdub21lLm9yZy9hcmNoaXZlcy94bWwvIj5NYWlsIGFyY2hpdmU8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnL1hTTFQvIj5YU0xUIGxpYnhzbHQ8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3BoZC5jcy51bmliby5pdC9nZG9tZTIvIj5ET00gZ2RvbWUyPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuYWxla3NleS5jb20veG1sc2VjLyI+WE1MLURTaWcgeG1sc2VjPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImZ0cDovL3htbHNvZnQub3JnLyI+RlRQPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemxhdGtvdmljLmNvbS9wcm9qZWN0cy9saWJ4bWwvIj5XaW5kb3dzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9vcGVuY3N3Lm9yZy9wYWNrYWdlcy9saWJ4bWwyIj5Tb2xhcmlzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuZXhwbGFpbi5jb20uYXUvb3NzL2xpYnhtbDJ4c2x0Lmh0bWwiPk1hY09zWCBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbHhtbC5kZS8iPmx4bWwgUHl0aG9uIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9jcGFuLnV3aW5uaXBlZy5jYS9kaXN0L1hNTC1MaWJYTUwiPlBlcmwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbHBsdXNwbHVzLnNvdXJjZWZvcmdlLm5ldC8iPkMrKyBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnplbmQuY29tL3BocDUvYXJ0aWNsZXMvcGhwNS14bWxwaHAucGhwI0hlYWRpbmc0Ij5QSFAgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9saWJ4bWwyLXBhcy8iPlBhc2NhbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1sLnJ1Ynlmb3JnZS5vcmcvIj5SdWJ5IGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly90Y2x4bWwuc291cmNlZm9yZ2UubmV0LyI+VGNsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvYnVnbGlzdC5jZ2k/cHJvZHVjdD1saWJ4bWwyIj5CdWcgVHJhY2tlcjwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMyIgY2VsbHNwYWNpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx0YWJsZSBjbGFzcz0ibmF2aWdhdGlvbiIgd2lkdGg9IjEwMCUiIHN1bW1hcnk9Ik5hdmlnYXRpb24gaGVhZGVyIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjIiPjx0ciB2YWxpZ249Im1pZGRsZSI+PHRkPjxhIGFjY2Vzc2tleT0icCIgaHJlZj0ibGlieG1sLWdsb2JhbHMuaHRtbCI+PGltZyBzcmM9ImxlZnQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJQcmV2IiAvPjwvYT48L3RkPjx0aCBhbGlnbj0ibGVmdCI+PGEgaHJlZj0ibGlieG1sLWdsb2JhbHMuaHRtbCI+Z2xvYmFsczwvYT48L3RoPjx0ZD48YSBhY2Nlc3NrZXk9InUiIGhyZWY9ImluZGV4Lmh0bWwiPjxpbWcgc3JjPSJ1cC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlVwIiAvPjwvYT48L3RkPjx0aCBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iaW5kZXguaHRtbCI+QVBJIGRvY3VtZW50YXRpb248L2E+PC90aD48dGQ+PGEgYWNjZXNza2V5PSJoIiBocmVmPSIuLi9pbmRleC5odG1sIj48aW1nIHNyYz0iaG9tZS5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IkhvbWUiIC8+PC9hPjwvdGQ+PHRoIGFsaWduPSJjZW50ZXIiPjxhIGhyZWY9Ii4uL2luZGV4Lmh0bWwiPlRoZSBYTUwgQyBwYXJzZXIgYW5kIHRvb2xraXQgb2YgR25vbWU8L2E+PC90aD48dGggYWxpZ249InJpZ2h0Ij48YSBocmVmPSJsaWJ4bWwtbGlzdC5odG1sIj5saXN0PC9hPjwvdGg+PHRkPjxhIGFjY2Vzc2tleT0ibiIgaHJlZj0ibGlieG1sLWxpc3QuaHRtbCI+PGltZyBzcmM9InJpZ2h0LnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iTmV4dCIgLz48L2E+PC90ZD48L3RyPjwvdGFibGU+PHA+VGhpcyBtb2R1bGUgaW1wbGVtZW50cyB0aGUgaGFzaCB0YWJsZSBzdXBwb3J0IHVzZWQgaW4gdmFyaW91cyBwbGFjZXMgaW4gdGhlIGxpYnJhcnkuIDwvcD48aDI+VGFibGUgb2YgQ29udGVudHM8L2gyPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfQ0FTVF9GUFRSIj5YTUxfQ0FTVF9GUFRSPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgPGEgaHJlZj0iI3htbEhhc2hUYWJsZSI+eG1sSGFzaFRhYmxlPC9hPjxiciAvPnN0cnVjdCBfeG1sSGFzaFRhYmxlCitUaGUgY29udGVudCBvZiB0aGlzIHN0cnVjdHVyZSBpcyBub3QgbWFkZSBwdWJsaWMgYnkgdGhlIEFQSS4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5UeXBlZGVmIDxhIGhyZWY9ImxpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFRhYmxlIj54bWxIYXNoVGFibGU8L2E+ICogPGEgbmFtZT0ieG1sSGFzaFRhYmxlUHRyIiBpZD0ieG1sSGFzaFRhYmxlUHRyIj54bWxIYXNoVGFibGVQdHI8L2E+Cis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxIYXNoQWRkRW50cnkiPnhtbEhhc2hBZGRFbnRyeTwvYT4JCQkoPGEgaHJlZj0ibGlieG1sLWhhc2guaHRtbCN4bWxIYXNoVGFibGVQdHIiPnhtbEhhc2hUYWJsZVB0cjwvYT4gdGFibGUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJIHZvaWQgKiB1c2VyZGF0YSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbEhhc2hBZGRFbnRyeTIiPnhtbEhhc2hBZGRFbnRyeTI8L2E+CQkoPGEgaHJlZj0ibGlieG1sLWhhc2guaHRtbCN4bWxIYXNoVGFibGVQdHIiPnhtbEhhc2hUYWJsZVB0cjwvYT4gdGFibGUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUyLCA8YnIgLz4JCQkJCSB2b2lkICogdXNlcmRhdGEpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxIYXNoQWRkRW50cnkzIj54bWxIYXNoQWRkRW50cnkzPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFRhYmxlUHRyIj54bWxIYXNoVGFibGVQdHI8L2E+IHRhYmxlLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lMiwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZTMsIDxiciAvPgkJCQkJIHZvaWQgKiB1c2VyZGF0YSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5GdW5jdGlvbiB0eXBlOiA8YSBocmVmPSIjeG1sSGFzaENvcGllciI+eG1sSGFzaENvcGllcjwvYT4KK3ZvaWQgKgk8YSBocmVmPSIjeG1sSGFzaENvcGllciI+eG1sSGFzaENvcGllcjwvYT4JCQkodm9pZCAqIHBheWxvYWQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpCis8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtaGFzaC5odG1sI3htbEhhc2hUYWJsZVB0ciI+eG1sSGFzaFRhYmxlUHRyPC9hPgk8YSBocmVmPSIjeG1sSGFzaENvcHkiPnhtbEhhc2hDb3B5PC9hPgkJKDxhIGhyZWY9ImxpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFRhYmxlUHRyIj54bWxIYXNoVGFibGVQdHI8L2E+IHRhYmxlLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtaGFzaC5odG1sI3htbEhhc2hDb3BpZXIiPnhtbEhhc2hDb3BpZXI8L2E+IGYpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLWhhc2guaHRtbCN4bWxIYXNoVGFibGVQdHIiPnhtbEhhc2hUYWJsZVB0cjwvYT4JPGEgaHJlZj0iI3htbEhhc2hDcmVhdGUiPnhtbEhhc2hDcmVhdGU8L2E+CQkoaW50IHNpemUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLWhhc2guaHRtbCN4bWxIYXNoVGFibGVQdHIiPnhtbEhhc2hUYWJsZVB0cjwvYT4JPGEgaHJlZj0iI3htbEhhc2hDcmVhdGVEaWN0Ij54bWxIYXNoQ3JlYXRlRGljdDwvYT4JKGludCBzaXplLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtZGljdC5odG1sI3htbERpY3RQdHIiPnhtbERpY3RQdHI8L2E+IGRpY3QpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RnVuY3Rpb24gdHlwZTogPGEgaHJlZj0iI3htbEhhc2hEZWFsbG9jYXRvciI+eG1sSGFzaERlYWxsb2NhdG9yPC9hPgordm9pZAk8YSBocmVmPSIjeG1sSGFzaERlYWxsb2NhdG9yIj54bWxIYXNoRGVhbGxvY2F0b3I8L2E+CQkodm9pZCAqIHBheWxvYWQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpCis8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxIYXNoRnJlZSI+eG1sSGFzaEZyZWU8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFRhYmxlUHRyIj54bWxIYXNoVGFibGVQdHI8L2E+IHRhYmxlLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtaGFzaC5odG1sI3htbEhhc2hEZWFsbG9jYXRvciI+eG1sSGFzaERlYWxsb2NhdG9yPC9hPiBmKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQgKgk8YSBocmVmPSIjeG1sSGFzaExvb2t1cCI+eG1sSGFzaExvb2t1cDwvYT4JCQkoPGEgaHJlZj0ibGlieG1sLWhhc2guaHRtbCN4bWxIYXNoVGFibGVQdHIiPnhtbEhhc2hUYWJsZVB0cjwvYT4gdGFibGUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZCAqCTxhIGhyZWY9IiN4bWxIYXNoTG9va3VwMiI+eG1sSGFzaExvb2t1cDI8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFRhYmxlUHRyIj54bWxIYXNoVGFibGVQdHI8L2E+IHRhYmxlLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lMik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkICoJPGEgaHJlZj0iI3htbEhhc2hMb29rdXAzIj54bWxIYXNoTG9va3VwMzwvYT4JCQkoPGEgaHJlZj0ibGlieG1sLWhhc2guaHRtbCN4bWxIYXNoVGFibGVQdHIiPnhtbEhhc2hUYWJsZVB0cjwvYT4gdGFibGUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUyLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lMyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkICoJPGEgaHJlZj0iI3htbEhhc2hRTG9va3VwIj54bWxIYXNoUUxvb2t1cDwvYT4JCQkoPGEgaHJlZj0ibGlieG1sLWhhc2guaHRtbCN4bWxIYXNoVGFibGVQdHIiPnhtbEhhc2hUYWJsZVB0cjwvYT4gdGFibGUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHByZWZpeCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkICoJPGEgaHJlZj0iI3htbEhhc2hRTG9va3VwMiI+eG1sSGFzaFFMb29rdXAyPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwtaGFzaC5odG1sI3htbEhhc2hUYWJsZVB0ciI+eG1sSGFzaFRhYmxlUHRyPC9hPiB0YWJsZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHJlZml4LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwcmVmaXgyLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lMik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkICoJPGEgaHJlZj0iI3htbEhhc2hRTG9va3VwMyI+eG1sSGFzaFFMb29rdXAzPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwtaGFzaC5odG1sI3htbEhhc2hUYWJsZVB0ciI+eG1sSGFzaFRhYmxlUHRyPC9hPiB0YWJsZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHJlZml4LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwcmVmaXgyLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lMiwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHJlZml4MywgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZTMpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxIYXNoUmVtb3ZlRW50cnkiPnhtbEhhc2hSZW1vdmVFbnRyeTwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtaGFzaC5odG1sI3htbEhhc2hUYWJsZVB0ciI+eG1sSGFzaFRhYmxlUHRyPC9hPiB0YWJsZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLWhhc2guaHRtbCN4bWxIYXNoRGVhbGxvY2F0b3IiPnhtbEhhc2hEZWFsbG9jYXRvcjwvYT4gZik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbEhhc2hSZW1vdmVFbnRyeTIiPnhtbEhhc2hSZW1vdmVFbnRyeTI8L2E+CQkoPGEgaHJlZj0ibGlieG1sLWhhc2guaHRtbCN4bWxIYXNoVGFibGVQdHIiPnhtbEhhc2hUYWJsZVB0cjwvYT4gdGFibGUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUyLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtaGFzaC5odG1sI3htbEhhc2hEZWFsbG9jYXRvciI+eG1sSGFzaERlYWxsb2NhdG9yPC9hPiBmKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sSGFzaFJlbW92ZUVudHJ5MyI+eG1sSGFzaFJlbW92ZUVudHJ5MzwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtaGFzaC5odG1sI3htbEhhc2hUYWJsZVB0ciI+eG1sSGFzaFRhYmxlUHRyPC9hPiB0YWJsZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZTIsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUzLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtaGFzaC5odG1sI3htbEhhc2hEZWFsbG9jYXRvciI+eG1sSGFzaERlYWxsb2NhdG9yPC9hPiBmKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbEhhc2hTY2FuIj54bWxIYXNoU2NhbjwvYT4JCQkoPGEgaHJlZj0ibGlieG1sLWhhc2guaHRtbCN4bWxIYXNoVGFibGVQdHIiPnhtbEhhc2hUYWJsZVB0cjwvYT4gdGFibGUsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFNjYW5uZXIiPnhtbEhhc2hTY2FubmVyPC9hPiBmLCA8YnIgLz4JCQkJCSB2b2lkICogZGF0YSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxIYXNoU2NhbjMiPnhtbEhhc2hTY2FuMzwvYT4JCQkoPGEgaHJlZj0ibGlieG1sLWhhc2guaHRtbCN4bWxIYXNoVGFibGVQdHIiPnhtbEhhc2hUYWJsZVB0cjwvYT4gdGFibGUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUyLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lMywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLWhhc2guaHRtbCN4bWxIYXNoU2Nhbm5lciI+eG1sSGFzaFNjYW5uZXI8L2E+IGYsIDxiciAvPgkJCQkJIHZvaWQgKiBkYXRhKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbEhhc2hTY2FuRnVsbCI+eG1sSGFzaFNjYW5GdWxsPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwtaGFzaC5odG1sI3htbEhhc2hUYWJsZVB0ciI+eG1sSGFzaFRhYmxlUHRyPC9hPiB0YWJsZSwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLWhhc2guaHRtbCN4bWxIYXNoU2Nhbm5lckZ1bGwiPnhtbEhhc2hTY2FubmVyRnVsbDwvYT4gZiwgPGJyIC8+CQkJCQkgdm9pZCAqIGRhdGEpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sSGFzaFNjYW5GdWxsMyI+eG1sSGFzaFNjYW5GdWxsMzwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtaGFzaC5odG1sI3htbEhhc2hUYWJsZVB0ciI+eG1sSGFzaFRhYmxlUHRyPC9hPiB0YWJsZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZTIsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUzLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtaGFzaC5odG1sI3htbEhhc2hTY2FubmVyRnVsbCI+eG1sSGFzaFNjYW5uZXJGdWxsPC9hPiBmLCA8YnIgLz4JCQkJCSB2b2lkICogZGF0YSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5GdW5jdGlvbiB0eXBlOiA8YSBocmVmPSIjeG1sSGFzaFNjYW5uZXIiPnhtbEhhc2hTY2FubmVyPC9hPgordm9pZAk8YSBocmVmPSIjeG1sSGFzaFNjYW5uZXIiPnhtbEhhc2hTY2FubmVyPC9hPgkJCSh2b2lkICogcGF5bG9hZCwgPGJyIC8+CQkJCQkgdm9pZCAqIGRhdGEsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpCis8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5GdW5jdGlvbiB0eXBlOiA8YSBocmVmPSIjeG1sSGFzaFNjYW5uZXJGdWxsIj54bWxIYXNoU2Nhbm5lckZ1bGw8L2E+Cit2b2lkCTxhIGhyZWY9IiN4bWxIYXNoU2Nhbm5lckZ1bGwiPnhtbEhhc2hTY2FubmVyRnVsbDwvYT4JCSh2b2lkICogcGF5bG9hZCwgPGJyIC8+CQkJCQkgdm9pZCAqIGRhdGEsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUyLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lMykKKzwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sSGFzaFNpemUiPnhtbEhhc2hTaXplPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwtaGFzaC5odG1sI3htbEhhc2hUYWJsZVB0ciI+eG1sSGFzaFRhYmxlUHRyPC9hPiB0YWJsZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbEhhc2hVcGRhdGVFbnRyeSI+eG1sSGFzaFVwZGF0ZUVudHJ5PC9hPgkJKDxhIGhyZWY9ImxpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFRhYmxlUHRyIj54bWxIYXNoVGFibGVQdHI8L2E+IHRhYmxlLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSB2b2lkICogdXNlcmRhdGEsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaERlYWxsb2NhdG9yIj54bWxIYXNoRGVhbGxvY2F0b3I8L2E+IGYpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxIYXNoVXBkYXRlRW50cnkyIj54bWxIYXNoVXBkYXRlRW50cnkyPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFRhYmxlUHRyIj54bWxIYXNoVGFibGVQdHI8L2E+IHRhYmxlLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lMiwgPGJyIC8+CQkJCQkgdm9pZCAqIHVzZXJkYXRhLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtaGFzaC5odG1sI3htbEhhc2hEZWFsbG9jYXRvciI+eG1sSGFzaERlYWxsb2NhdG9yPC9hPiBmKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sSGFzaFVwZGF0ZUVudHJ5MyI+eG1sSGFzaFVwZGF0ZUVudHJ5MzwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtaGFzaC5odG1sI3htbEhhc2hUYWJsZVB0ciI+eG1sSGFzaFRhYmxlUHRyPC9hPiB0YWJsZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZTIsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUzLCA8YnIgLz4JCQkJCSB2b2lkICogdXNlcmRhdGEsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaERlYWxsb2NhdG9yIj54bWxIYXNoRGVhbGxvY2F0b3I8L2E+IGYpPC9wcmU+Cis8aDI+RGVzY3JpcHRpb248L2gyPgorPGgzPjxhIG5hbWU9IlhNTF9DQVNUX0ZQVFIiIGlkPSJYTUxfQ0FTVF9GUFRSIj48L2E+TWFjcm86IFhNTF9DQVNUX0ZQVFI8L2gzPjxwcmU+I2RlZmluZSBYTUxfQ0FTVF9GUFRSPC9wcmU+PHA+TWFjcm8gdG8gZG8gYSBjYXN0aW5nIGZyb20gYW4gb2JqZWN0IHBvaW50ZXIgdG8gYSBmdW5jdGlvbiBwb2ludGVyIHdpdGhvdXQgZW5jb3VudGVyaW5nIGEgd2FybmluZyBmcm9tIGdjYyAjZGVmaW5lIFhNTF9DQVNUX0ZQVFIoZnB0cikgKCoodm9pZCAqKikoJmFtcDtmcHRyKSkgVGhpcyBtYWNybyB2aW9sYXRlZCBJU08gQyBhbGlhc2luZyBydWxlcyAoZ2NjNCBvbiBzMzkwIGJyb2tlKSBzbyBpdCBpcyBkaXNhYmxlZCBub3c8L3A+Cis8aDM+PGEgbmFtZT0ieG1sSGFzaFRhYmxlIiBpZD0ieG1sSGFzaFRhYmxlIj5TdHJ1Y3R1cmUgeG1sSGFzaFRhYmxlPC9hPjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlN0cnVjdHVyZSB4bWxIYXNoVGFibGU8YnIgLz5zdHJ1Y3QgX3htbEhhc2hUYWJsZSB7CitUaGUgY29udGVudCBvZiB0aGlzIHN0cnVjdHVyZSBpcyBub3QgbWFkZSBwdWJsaWMgYnkgdGhlIEFQSS4KK308L3ByZT48aDM+PGEgbmFtZT0ieG1sSGFzaEFkZEVudHJ5IiBpZD0ieG1sSGFzaEFkZEVudHJ5Ij48L2E+RnVuY3Rpb246IHhtbEhhc2hBZGRFbnRyeTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxIYXNoQWRkRW50cnkJCQkoPGEgaHJlZj0ibGlieG1sLWhhc2guaHRtbCN4bWxIYXNoVGFibGVQdHIiPnhtbEhhc2hUYWJsZVB0cjwvYT4gdGFibGUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJIHZvaWQgKiB1c2VyZGF0YSk8YnIgLz4KKzwvcHJlPjxwPkFkZCB0aGUgQHVzZXJkYXRhIHRvIHRoZSBoYXNoIEB0YWJsZS4gVGhpcyBjYW4gbGF0ZXIgYmUgcmV0cmlldmVkIGJ5IHVzaW5nIHRoZSBAbmFtZS4gRHVwbGljYXRlIG5hbWVzIGdlbmVyYXRlIGVycm9ycy48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50YWJsZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGhhc2ggdGFibGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lIG9mIHRoZSB1c2VyZGF0YTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dXNlcmRhdGE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byB0aGUgdXNlcmRhdGE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgdGhlIGFkZGl0aW9uIHN1Y2NlZWRlZCBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxIYXNoQWRkRW50cnkyIiBpZD0ieG1sSGFzaEFkZEVudHJ5MiI+PC9hPkZ1bmN0aW9uOiB4bWxIYXNoQWRkRW50cnkyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbEhhc2hBZGRFbnRyeTIJCSg8YSBocmVmPSJsaWJ4bWwtaGFzaC5odG1sI3htbEhhc2hUYWJsZVB0ciI+eG1sSGFzaFRhYmxlUHRyPC9hPiB0YWJsZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZTIsIDxiciAvPgkJCQkJIHZvaWQgKiB1c2VyZGF0YSk8YnIgLz4KKzwvcHJlPjxwPkFkZCB0aGUgQHVzZXJkYXRhIHRvIHRoZSBoYXNoIEB0YWJsZS4gVGhpcyBjYW4gbGF0ZXIgYmUgcmV0cmlldmVkIGJ5IHVzaW5nIHRoZSAoQG5hbWUsIEBuYW1lMikgdHVwbGUuIER1cGxpY2F0ZSB0dXBsZXMgZ2VuZXJhdGUgZXJyb3JzLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRhYmxlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaGFzaCB0YWJsZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5hbWUgb2YgdGhlIHVzZXJkYXRhPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lMjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBzZWNvbmQgbmFtZSBvZiB0aGUgdXNlcmRhdGE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnVzZXJkYXRhPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gdGhlIHVzZXJkYXRhPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIHRoZSBhZGRpdGlvbiBzdWNjZWVkZWQgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sSGFzaEFkZEVudHJ5MyIgaWQ9InhtbEhhc2hBZGRFbnRyeTMiPjwvYT5GdW5jdGlvbjogeG1sSGFzaEFkZEVudHJ5MzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxIYXNoQWRkRW50cnkzCQkoPGEgaHJlZj0ibGlieG1sLWhhc2guaHRtbCN4bWxIYXNoVGFibGVQdHIiPnhtbEhhc2hUYWJsZVB0cjwvYT4gdGFibGUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUyLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lMywgPGJyIC8+CQkJCQkgdm9pZCAqIHVzZXJkYXRhKTxiciAvPgorPC9wcmU+PHA+QWRkIHRoZSBAdXNlcmRhdGEgdG8gdGhlIGhhc2ggQHRhYmxlLiBUaGlzIGNhbiBsYXRlciBiZSByZXRyaWV2ZWQgYnkgdXNpbmcgdGhlIHR1cGxlIChAbmFtZSwgQG5hbWUyLCBAbmFtZTMpLiBEdXBsaWNhdGUgZW50cmllcyBnZW5lcmF0ZSBlcnJvcnMuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dGFibGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBoYXNoIHRhYmxlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZSBvZiB0aGUgdXNlcmRhdGE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWUyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHNlY29uZCBuYW1lIG9mIHRoZSB1c2VyZGF0YTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgdGhpcmQgbmFtZSBvZiB0aGUgdXNlcmRhdGE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnVzZXJkYXRhPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gdGhlIHVzZXJkYXRhPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIHRoZSBhZGRpdGlvbiBzdWNjZWVkZWQgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sSGFzaENvcGllciIgaWQ9InhtbEhhc2hDb3BpZXIiPjwvYT5GdW5jdGlvbiB0eXBlOiB4bWxIYXNoQ29waWVyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RnVuY3Rpb24gdHlwZTogeG1sSGFzaENvcGllcgordm9pZCAqCXhtbEhhc2hDb3BpZXIJCQkodm9pZCAqIHBheWxvYWQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpCis8L3ByZT48cD5DYWxsYmFjayB0byBjb3B5IGRhdGEgZnJvbSBhIGhhc2guPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnBheWxvYWQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkYXRhIGluIHRoZSBoYXNoPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZSBhc3NvY2lhdGVkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGNvcHkgb2YgdGhlIGRhdGEgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGJyIC8+Cis8aDM+PGEgbmFtZT0ieG1sSGFzaENvcHkiIGlkPSJ4bWxIYXNoQ29weSI+PC9hPkZ1bmN0aW9uOiB4bWxIYXNoQ29weTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFRhYmxlUHRyIj54bWxIYXNoVGFibGVQdHI8L2E+CXhtbEhhc2hDb3B5CQkoPGEgaHJlZj0ibGlieG1sLWhhc2guaHRtbCN4bWxIYXNoVGFibGVQdHIiPnhtbEhhc2hUYWJsZVB0cjwvYT4gdGFibGUsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaENvcGllciI+eG1sSGFzaENvcGllcjwvYT4gZik8YnIgLz4KKzwvcHJlPjxwPlNjYW4gdGhlIGhhc2ggQHRhYmxlIGFuZCBhcHBsaWVkIEBmIHRvIGVhY2ggdmFsdWUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dGFibGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBoYXNoIHRhYmxlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY29waWVyIGZ1bmN0aW9uIGZvciBpdGVtcyBpbiB0aGUgaGFzaDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ldyB0YWJsZSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sSGFzaENyZWF0ZSIgaWQ9InhtbEhhc2hDcmVhdGUiPjwvYT5GdW5jdGlvbjogeG1sSGFzaENyZWF0ZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFRhYmxlUHRyIj54bWxIYXNoVGFibGVQdHI8L2E+CXhtbEhhc2hDcmVhdGUJCShpbnQgc2l6ZSk8YnIgLz4KKzwvcHJlPjxwPkNyZWF0ZSBhIG5ldyB4bWxIYXNoVGFibGVQdHIuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2l6ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHNpemUgb2YgdGhlIGhhc2ggdGFibGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXdseSBjcmVhdGVkIG9iamVjdCwgb3IgTlVMTCBpZiBhbiBlcnJvciBvY2N1cmVkLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEhhc2hDcmVhdGVEaWN0IiBpZD0ieG1sSGFzaENyZWF0ZURpY3QiPjwvYT5GdW5jdGlvbjogeG1sSGFzaENyZWF0ZURpY3Q8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtaGFzaC5odG1sI3htbEhhc2hUYWJsZVB0ciI+eG1sSGFzaFRhYmxlUHRyPC9hPgl4bWxIYXNoQ3JlYXRlRGljdAkoaW50IHNpemUsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC1kaWN0Lmh0bWwjeG1sRGljdFB0ciI+eG1sRGljdFB0cjwvYT4gZGljdCk8YnIgLz4KKzwvcHJlPjxwPkNyZWF0ZSBhIG5ldyA8YSBocmVmPSJsaWJ4bWwtaGFzaC5odG1sI3htbEhhc2hUYWJsZVB0ciI+eG1sSGFzaFRhYmxlUHRyPC9hPiB3aGljaCB3aWxsIHVzZSBAZGljdCBhcyB0aGUgaW50ZXJuYWwgZGljdGlvbmFyeTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNpemU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzaXplIG9mIHRoZSBoYXNoIHRhYmxlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kaWN0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGRpY3Rpb25hcnkgdG8gdXNlIGZvciB0aGUgaGFzaDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ld2x5IGNyZWF0ZWQgb2JqZWN0LCBvciBOVUxMIGlmIGFuIGVycm9yIG9jY3VyZWQuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sSGFzaERlYWxsb2NhdG9yIiBpZD0ieG1sSGFzaERlYWxsb2NhdG9yIj48L2E+RnVuY3Rpb24gdHlwZTogeG1sSGFzaERlYWxsb2NhdG9yPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RnVuY3Rpb24gdHlwZTogeG1sSGFzaERlYWxsb2NhdG9yCit2b2lkCXhtbEhhc2hEZWFsbG9jYXRvcgkJKHZvaWQgKiBwYXlsb2FkLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKQorPC9wcmU+PHA+Q2FsbGJhY2sgdG8gZnJlZSBkYXRhIGZyb20gYSBoYXNoLjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wYXlsb2FkPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZGF0YSBpbiB0aGUgaGFzaDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5hbWUgYXNzb2NpYXRlZDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGJyIC8+Cis8aDM+PGEgbmFtZT0ieG1sSGFzaEZyZWUiIGlkPSJ4bWxIYXNoRnJlZSI+PC9hPkZ1bmN0aW9uOiB4bWxIYXNoRnJlZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sSGFzaEZyZWUJCQkoPGEgaHJlZj0ibGlieG1sLWhhc2guaHRtbCN4bWxIYXNoVGFibGVQdHIiPnhtbEhhc2hUYWJsZVB0cjwvYT4gdGFibGUsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaERlYWxsb2NhdG9yIj54bWxIYXNoRGVhbGxvY2F0b3I8L2E+IGYpPGJyIC8+Cis8L3ByZT48cD5GcmVlIHRoZSBoYXNoIEB0YWJsZSBhbmQgaXRzIGNvbnRlbnRzLiBUaGUgdXNlcmRhdGEgaXMgZGVhbGxvY2F0ZWQgd2l0aCBAZiBpZiBwcm92aWRlZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50YWJsZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGhhc2ggdGFibGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkZWFsbG9jYXRvciBmdW5jdGlvbiBmb3IgaXRlbXMgaW4gdGhlIGhhc2g8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxIYXNoTG9va3VwIiBpZD0ieG1sSGFzaExvb2t1cCI+PC9hPkZ1bmN0aW9uOiB4bWxIYXNoTG9va3VwPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZCAqCXhtbEhhc2hMb29rdXAJCQkoPGEgaHJlZj0ibGlieG1sLWhhc2guaHRtbCN4bWxIYXNoVGFibGVQdHIiPnhtbEhhc2hUYWJsZVB0cjwvYT4gdGFibGUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpPGJyIC8+Cis8L3ByZT48cD5GaW5kIHRoZSB1c2VyZGF0YSBzcGVjaWZpZWQgYnkgdGhlIEBuYW1lLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRhYmxlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaGFzaCB0YWJsZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5hbWUgb2YgdGhlIHVzZXJkYXRhPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcG9pbnRlciB0byB0aGUgdXNlcmRhdGE8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxIYXNoTG9va3VwMiIgaWQ9InhtbEhhc2hMb29rdXAyIj48L2E+RnVuY3Rpb246IHhtbEhhc2hMb29rdXAyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZCAqCXhtbEhhc2hMb29rdXAyCQkJKDxhIGhyZWY9ImxpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFRhYmxlUHRyIj54bWxIYXNoVGFibGVQdHI8L2E+IHRhYmxlLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lMik8YnIgLz4KKzwvcHJlPjxwPkZpbmQgdGhlIHVzZXJkYXRhIHNwZWNpZmllZCBieSB0aGUgKEBuYW1lLCBAbmFtZTIpIHR1cGxlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRhYmxlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaGFzaCB0YWJsZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5hbWUgb2YgdGhlIHVzZXJkYXRhPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lMjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBzZWNvbmQgbmFtZSBvZiB0aGUgdXNlcmRhdGE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwb2ludGVyIHRvIHRoZSB1c2VyZGF0YTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEhhc2hMb29rdXAzIiBpZD0ieG1sSGFzaExvb2t1cDMiPjwvYT5GdW5jdGlvbjogeG1sSGFzaExvb2t1cDM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkICoJeG1sSGFzaExvb2t1cDMJCQkoPGEgaHJlZj0ibGlieG1sLWhhc2guaHRtbCN4bWxIYXNoVGFibGVQdHIiPnhtbEhhc2hUYWJsZVB0cjwvYT4gdGFibGUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUyLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lMyk8YnIgLz4KKzwvcHJlPjxwPkZpbmQgdGhlIHVzZXJkYXRhIHNwZWNpZmllZCBieSB0aGUgKEBuYW1lLCBAbmFtZTIsIEBuYW1lMykgdHVwbGUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dGFibGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBoYXNoIHRhYmxlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZSBvZiB0aGUgdXNlcmRhdGE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWUyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHNlY29uZCBuYW1lIG9mIHRoZSB1c2VyZGF0YTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgdGhpcmQgbmFtZSBvZiB0aGUgdXNlcmRhdGE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBhIHBvaW50ZXIgdG8gdGhlIHVzZXJkYXRhPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sSGFzaFFMb29rdXAiIGlkPSJ4bWxIYXNoUUxvb2t1cCI+PC9hPkZ1bmN0aW9uOiB4bWxIYXNoUUxvb2t1cDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQgKgl4bWxIYXNoUUxvb2t1cAkJCSg8YSBocmVmPSJsaWJ4bWwtaGFzaC5odG1sI3htbEhhc2hUYWJsZVB0ciI+eG1sSGFzaFRhYmxlUHRyPC9hPiB0YWJsZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHJlZml4LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKTxiciAvPgorPC9wcmU+PHA+RmluZCB0aGUgdXNlcmRhdGEgc3BlY2lmaWVkIGJ5IHRoZSBRTmFtZSBAcHJlZml4OkBuYW1lL0BuYW1lLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRhYmxlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaGFzaCB0YWJsZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cHJlZml4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcHJlZml4IG9mIHRoZSB1c2VyZGF0YTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5hbWUgb2YgdGhlIHVzZXJkYXRhPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcG9pbnRlciB0byB0aGUgdXNlcmRhdGE8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxIYXNoUUxvb2t1cDIiIGlkPSJ4bWxIYXNoUUxvb2t1cDIiPjwvYT5GdW5jdGlvbjogeG1sSGFzaFFMb29rdXAyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZCAqCXhtbEhhc2hRTG9va3VwMgkJCSg8YSBocmVmPSJsaWJ4bWwtaGFzaC5odG1sI3htbEhhc2hUYWJsZVB0ciI+eG1sSGFzaFRhYmxlUHRyPC9hPiB0YWJsZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHJlZml4LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwcmVmaXgyLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lMik8YnIgLz4KKzwvcHJlPjxwPkZpbmQgdGhlIHVzZXJkYXRhIHNwZWNpZmllZCBieSB0aGUgUU5hbWVzIHR1cGxlPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dGFibGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBoYXNoIHRhYmxlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wcmVmaXg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwcmVmaXggb2YgdGhlIHVzZXJkYXRhPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZSBvZiB0aGUgdXNlcmRhdGE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnByZWZpeDI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzZWNvbmQgcHJlZml4IG9mIHRoZSB1c2VyZGF0YTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgc2Vjb25kIG5hbWUgb2YgdGhlIHVzZXJkYXRhPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcG9pbnRlciB0byB0aGUgdXNlcmRhdGE8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxIYXNoUUxvb2t1cDMiIGlkPSJ4bWxIYXNoUUxvb2t1cDMiPjwvYT5GdW5jdGlvbjogeG1sSGFzaFFMb29rdXAzPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZCAqCXhtbEhhc2hRTG9va3VwMwkJCSg8YSBocmVmPSJsaWJ4bWwtaGFzaC5odG1sI3htbEhhc2hUYWJsZVB0ciI+eG1sSGFzaFRhYmxlUHRyPC9hPiB0YWJsZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHJlZml4LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwcmVmaXgyLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lMiwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHJlZml4MywgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZTMpPGJyIC8+Cis8L3ByZT48cD5GaW5kIHRoZSB1c2VyZGF0YSBzcGVjaWZpZWQgYnkgdGhlIChAbmFtZSwgQG5hbWUyLCBAbmFtZTMpIHR1cGxlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRhYmxlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaGFzaCB0YWJsZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cHJlZml4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcHJlZml4IG9mIHRoZSB1c2VyZGF0YTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5hbWUgb2YgdGhlIHVzZXJkYXRhPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wcmVmaXgyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc2Vjb25kIHByZWZpeCBvZiB0aGUgdXNlcmRhdGE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWUyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHNlY29uZCBuYW1lIG9mIHRoZSB1c2VyZGF0YTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cHJlZml4MzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHRoaXJkIHByZWZpeCBvZiB0aGUgdXNlcmRhdGE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWUzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHRoaXJkIG5hbWUgb2YgdGhlIHVzZXJkYXRhPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYSBwb2ludGVyIHRvIHRoZSB1c2VyZGF0YTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEhhc2hSZW1vdmVFbnRyeSIgaWQ9InhtbEhhc2hSZW1vdmVFbnRyeSI+PC9hPkZ1bmN0aW9uOiB4bWxIYXNoUmVtb3ZlRW50cnk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sSGFzaFJlbW92ZUVudHJ5CQkoPGEgaHJlZj0ibGlieG1sLWhhc2guaHRtbCN4bWxIYXNoVGFibGVQdHIiPnhtbEhhc2hUYWJsZVB0cjwvYT4gdGFibGUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaERlYWxsb2NhdG9yIj54bWxIYXNoRGVhbGxvY2F0b3I8L2E+IGYpPGJyIC8+Cis8L3ByZT48cD5GaW5kIHRoZSB1c2VyZGF0YSBzcGVjaWZpZWQgYnkgdGhlIEBuYW1lIGFuZCByZW1vdmUgaXQgZnJvbSB0aGUgaGFzaCBAdGFibGUuIEV4aXN0aW5nIHVzZXJkYXRhIGZvciB0aGlzIHR1cGxlIHdpbGwgYmUgcmVtb3ZlZCBhbmQgZnJlZWQgd2l0aCBAZi48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50YWJsZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGhhc2ggdGFibGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lIG9mIHRoZSB1c2VyZGF0YTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRlYWxsb2NhdG9yIGZ1bmN0aW9uIGZvciByZW1vdmVkIGl0ZW0gKGlmIGFueSk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaWYgdGhlIHJlbW92YWwgc3VjY2VlZGVkIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yIG9yIG5vdCBmb3VuZC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxIYXNoUmVtb3ZlRW50cnkyIiBpZD0ieG1sSGFzaFJlbW92ZUVudHJ5MiI+PC9hPkZ1bmN0aW9uOiB4bWxIYXNoUmVtb3ZlRW50cnkyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbEhhc2hSZW1vdmVFbnRyeTIJCSg8YSBocmVmPSJsaWJ4bWwtaGFzaC5odG1sI3htbEhhc2hUYWJsZVB0ciI+eG1sSGFzaFRhYmxlUHRyPC9hPiB0YWJsZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZTIsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaERlYWxsb2NhdG9yIj54bWxIYXNoRGVhbGxvY2F0b3I8L2E+IGYpPGJyIC8+Cis8L3ByZT48cD5GaW5kIHRoZSB1c2VyZGF0YSBzcGVjaWZpZWQgYnkgdGhlIChAbmFtZSwgQG5hbWUyKSB0dXBsZSBhbmQgcmVtb3ZlIGl0IGZyb20gdGhlIGhhc2ggQHRhYmxlLiBFeGlzdGluZyB1c2VyZGF0YSBmb3IgdGhpcyB0dXBsZSB3aWxsIGJlIHJlbW92ZWQgYW5kIGZyZWVkIHdpdGggQGYuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dGFibGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBoYXNoIHRhYmxlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZSBvZiB0aGUgdXNlcmRhdGE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWUyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHNlY29uZCBuYW1lIG9mIHRoZSB1c2VyZGF0YTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRlYWxsb2NhdG9yIGZ1bmN0aW9uIGZvciByZW1vdmVkIGl0ZW0gKGlmIGFueSk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaWYgdGhlIHJlbW92YWwgc3VjY2VlZGVkIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yIG9yIG5vdCBmb3VuZC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxIYXNoUmVtb3ZlRW50cnkzIiBpZD0ieG1sSGFzaFJlbW92ZUVudHJ5MyI+PC9hPkZ1bmN0aW9uOiB4bWxIYXNoUmVtb3ZlRW50cnkzPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbEhhc2hSZW1vdmVFbnRyeTMJCSg8YSBocmVmPSJsaWJ4bWwtaGFzaC5odG1sI3htbEhhc2hUYWJsZVB0ciI+eG1sSGFzaFRhYmxlUHRyPC9hPiB0YWJsZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZTIsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUzLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtaGFzaC5odG1sI3htbEhhc2hEZWFsbG9jYXRvciI+eG1sSGFzaERlYWxsb2NhdG9yPC9hPiBmKTxiciAvPgorPC9wcmU+PHA+RmluZCB0aGUgdXNlcmRhdGEgc3BlY2lmaWVkIGJ5IHRoZSAoQG5hbWUsIEBuYW1lMiwgQG5hbWUzKSB0dXBsZSBhbmQgcmVtb3ZlIGl0IGZyb20gdGhlIGhhc2ggQHRhYmxlLiBFeGlzdGluZyB1c2VyZGF0YSBmb3IgdGhpcyB0dXBsZSB3aWxsIGJlIHJlbW92ZWQgYW5kIGZyZWVkIHdpdGggQGYuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dGFibGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBoYXNoIHRhYmxlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZSBvZiB0aGUgdXNlcmRhdGE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWUyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHNlY29uZCBuYW1lIG9mIHRoZSB1c2VyZGF0YTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgdGhpcmQgbmFtZSBvZiB0aGUgdXNlcmRhdGE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkZWFsbG9jYXRvciBmdW5jdGlvbiBmb3IgcmVtb3ZlZCBpdGVtIChpZiBhbnkpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGlmIHRoZSByZW1vdmFsIHN1Y2NlZWRlZCBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvciBvciBub3QgZm91bmQuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sSGFzaFNjYW4iIGlkPSJ4bWxIYXNoU2NhbiI+PC9hPkZ1bmN0aW9uOiB4bWxIYXNoU2NhbjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sSGFzaFNjYW4JCQkoPGEgaHJlZj0ibGlieG1sLWhhc2guaHRtbCN4bWxIYXNoVGFibGVQdHIiPnhtbEhhc2hUYWJsZVB0cjwvYT4gdGFibGUsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFNjYW5uZXIiPnhtbEhhc2hTY2FubmVyPC9hPiBmLCA8YnIgLz4JCQkJCSB2b2lkICogZGF0YSk8YnIgLz4KKzwvcHJlPjxwPlNjYW4gdGhlIGhhc2ggQHRhYmxlIGFuZCBhcHBsaWVkIEBmIHRvIGVhY2ggdmFsdWUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dGFibGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBoYXNoIHRhYmxlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc2Nhbm5lciBmdW5jdGlvbiBmb3IgaXRlbXMgaW4gdGhlIGhhc2g8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRhdGE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmV4dHJhIGRhdGEgcGFzc2VkIHRvIGY8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxIYXNoU2NhbjMiIGlkPSJ4bWxIYXNoU2NhbjMiPjwvYT5GdW5jdGlvbjogeG1sSGFzaFNjYW4zPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxIYXNoU2NhbjMJCQkoPGEgaHJlZj0ibGlieG1sLWhhc2guaHRtbCN4bWxIYXNoVGFibGVQdHIiPnhtbEhhc2hUYWJsZVB0cjwvYT4gdGFibGUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUyLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lMywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLWhhc2guaHRtbCN4bWxIYXNoU2Nhbm5lciI+eG1sSGFzaFNjYW5uZXI8L2E+IGYsIDxiciAvPgkJCQkJIHZvaWQgKiBkYXRhKTxiciAvPgorPC9wcmU+PHA+U2NhbiB0aGUgaGFzaCBAdGFibGUgYW5kIGFwcGxpZWQgQGYgdG8gZWFjaCB2YWx1ZSBtYXRjaGluZyAoQG5hbWUsIEBuYW1lMiwgQG5hbWUzKSB0dXBsZS4gSWYgb25lIG9mIHRoZSBuYW1lcyBpcyBudWxsLCB0aGUgY29tcGFyaXNvbiBpcyBjb25zaWRlcmVkIHRvIG1hdGNoLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRhYmxlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaGFzaCB0YWJsZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5hbWUgb2YgdGhlIHVzZXJkYXRhIG9yIE5VTEw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWUyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHNlY29uZCBuYW1lIG9mIHRoZSB1c2VyZGF0YSBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lMzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSB0aGlyZCBuYW1lIG9mIHRoZSB1c2VyZGF0YSBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc2Nhbm5lciBmdW5jdGlvbiBmb3IgaXRlbXMgaW4gdGhlIGhhc2g8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRhdGE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmV4dHJhIGRhdGEgcGFzc2VkIHRvIGY8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxIYXNoU2NhbkZ1bGwiIGlkPSJ4bWxIYXNoU2NhbkZ1bGwiPjwvYT5GdW5jdGlvbjogeG1sSGFzaFNjYW5GdWxsPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxIYXNoU2NhbkZ1bGwJCQkoPGEgaHJlZj0ibGlieG1sLWhhc2guaHRtbCN4bWxIYXNoVGFibGVQdHIiPnhtbEhhc2hUYWJsZVB0cjwvYT4gdGFibGUsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFNjYW5uZXJGdWxsIj54bWxIYXNoU2Nhbm5lckZ1bGw8L2E+IGYsIDxiciAvPgkJCQkJIHZvaWQgKiBkYXRhKTxiciAvPgorPC9wcmU+PHA+U2NhbiB0aGUgaGFzaCBAdGFibGUgYW5kIGFwcGxpZWQgQGYgdG8gZWFjaCB2YWx1ZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50YWJsZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGhhc2ggdGFibGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzY2FubmVyIGZ1bmN0aW9uIGZvciBpdGVtcyBpbiB0aGUgaGFzaDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGF0YTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+ZXh0cmEgZGF0YSBwYXNzZWQgdG8gZjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEhhc2hTY2FuRnVsbDMiIGlkPSJ4bWxIYXNoU2NhbkZ1bGwzIj48L2E+RnVuY3Rpb246IHhtbEhhc2hTY2FuRnVsbDM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbEhhc2hTY2FuRnVsbDMJCSg8YSBocmVmPSJsaWJ4bWwtaGFzaC5odG1sI3htbEhhc2hUYWJsZVB0ciI+eG1sSGFzaFRhYmxlUHRyPC9hPiB0YWJsZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZTIsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUzLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtaGFzaC5odG1sI3htbEhhc2hTY2FubmVyRnVsbCI+eG1sSGFzaFNjYW5uZXJGdWxsPC9hPiBmLCA8YnIgLz4JCQkJCSB2b2lkICogZGF0YSk8YnIgLz4KKzwvcHJlPjxwPlNjYW4gdGhlIGhhc2ggQHRhYmxlIGFuZCBhcHBsaWVkIEBmIHRvIGVhY2ggdmFsdWUgbWF0Y2hpbmcgKEBuYW1lLCBAbmFtZTIsIEBuYW1lMykgdHVwbGUuIElmIG9uZSBvZiB0aGUgbmFtZXMgaXMgbnVsbCwgdGhlIGNvbXBhcmlzb24gaXMgY29uc2lkZXJlZCB0byBtYXRjaC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50YWJsZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGhhc2ggdGFibGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lIG9mIHRoZSB1c2VyZGF0YSBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lMjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBzZWNvbmQgbmFtZSBvZiB0aGUgdXNlcmRhdGEgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgdGhpcmQgbmFtZSBvZiB0aGUgdXNlcmRhdGEgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHNjYW5uZXIgZnVuY3Rpb24gZm9yIGl0ZW1zIGluIHRoZSBoYXNoPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kYXRhPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5leHRyYSBkYXRhIHBhc3NlZCB0byBmPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sSGFzaFNjYW5uZXIiIGlkPSJ4bWxIYXNoU2Nhbm5lciI+PC9hPkZ1bmN0aW9uIHR5cGU6IHhtbEhhc2hTY2FubmVyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RnVuY3Rpb24gdHlwZTogeG1sSGFzaFNjYW5uZXIKK3ZvaWQJeG1sSGFzaFNjYW5uZXIJCQkodm9pZCAqIHBheWxvYWQsIDxiciAvPgkJCQkJIHZvaWQgKiBkYXRhLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKQorPC9wcmU+PHA+Q2FsbGJhY2sgd2hlbiBzY2FubmluZyBkYXRhIGluIGEgaGFzaCB3aXRoIHRoZSBzaW1wbGUgc2Nhbm5lci48L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cGF5bG9hZDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRhdGEgaW4gdGhlIGhhc2g8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRhdGE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmV4dHJhIHNjYW5ubmVyIGRhdGE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lIGFzc29jaWF0ZWQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxiciAvPgorPGgzPjxhIG5hbWU9InhtbEhhc2hTY2FubmVyRnVsbCIgaWQ9InhtbEhhc2hTY2FubmVyRnVsbCI+PC9hPkZ1bmN0aW9uIHR5cGU6IHhtbEhhc2hTY2FubmVyRnVsbDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkZ1bmN0aW9uIHR5cGU6IHhtbEhhc2hTY2FubmVyRnVsbAordm9pZAl4bWxIYXNoU2Nhbm5lckZ1bGwJCSh2b2lkICogcGF5bG9hZCwgPGJyIC8+CQkJCQkgdm9pZCAqIGRhdGEsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUyLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lMykKKzwvcHJlPjxwPkNhbGxiYWNrIHdoZW4gc2Nhbm5pbmcgZGF0YSBpbiBhIGhhc2ggd2l0aCB0aGUgZnVsbCBzY2FubmVyLjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wYXlsb2FkPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZGF0YSBpbiB0aGUgaGFzaDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGF0YTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+ZXh0cmEgc2Nhbm5uZXIgZGF0YTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5hbWUgYXNzb2NpYXRlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzZWNvbmQgbmFtZSBhc3NvY2lhdGVkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lMzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHRoaXJkIG5hbWUgYXNzb2NpYXRlZDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGJyIC8+Cis8aDM+PGEgbmFtZT0ieG1sSGFzaFNpemUiIGlkPSJ4bWxIYXNoU2l6ZSI+PC9hPkZ1bmN0aW9uOiB4bWxIYXNoU2l6ZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxIYXNoU2l6ZQkJCSg8YSBocmVmPSJsaWJ4bWwtaGFzaC5odG1sI3htbEhhc2hUYWJsZVB0ciI+eG1sSGFzaFRhYmxlUHRyPC9hPiB0YWJsZSk8YnIgLz4KKzwvcHJlPjxwPlF1ZXJ5IHRoZSBudW1iZXIgb2YgZWxlbWVudHMgaW5zdGFsbGVkIGluIHRoZSBoYXNoIEB0YWJsZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50YWJsZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGhhc2ggdGFibGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgZWxlbWVudHMgaW4gdGhlIGhhc2ggdGFibGUgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEhhc2hVcGRhdGVFbnRyeSIgaWQ9InhtbEhhc2hVcGRhdGVFbnRyeSI+PC9hPkZ1bmN0aW9uOiB4bWxIYXNoVXBkYXRlRW50cnk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sSGFzaFVwZGF0ZUVudHJ5CQkoPGEgaHJlZj0ibGlieG1sLWhhc2guaHRtbCN4bWxIYXNoVGFibGVQdHIiPnhtbEhhc2hUYWJsZVB0cjwvYT4gdGFibGUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJIHZvaWQgKiB1c2VyZGF0YSwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLWhhc2guaHRtbCN4bWxIYXNoRGVhbGxvY2F0b3IiPnhtbEhhc2hEZWFsbG9jYXRvcjwvYT4gZik8YnIgLz4KKzwvcHJlPjxwPkFkZCB0aGUgQHVzZXJkYXRhIHRvIHRoZSBoYXNoIEB0YWJsZS4gVGhpcyBjYW4gbGF0ZXIgYmUgcmV0cmlldmVkIGJ5IHVzaW5nIHRoZSBAbmFtZS4gRXhpc3RpbmcgZW50cnkgZm9yIHRoaXMgQG5hbWUgd2lsbCBiZSByZW1vdmVkIGFuZCBmcmVlZCB3aXRoIEBmIGlmIGZvdW5kLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRhYmxlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaGFzaCB0YWJsZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5hbWUgb2YgdGhlIHVzZXJkYXRhPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD51c2VyZGF0YTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIHRoZSB1c2VyZGF0YTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRlYWxsb2NhdG9yIGZ1bmN0aW9uIGZvciByZXBsYWNlZCBpdGVtIChpZiBhbnkpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIHRoZSBhZGRpdGlvbiBzdWNjZWVkZWQgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sSGFzaFVwZGF0ZUVudHJ5MiIgaWQ9InhtbEhhc2hVcGRhdGVFbnRyeTIiPjwvYT5GdW5jdGlvbjogeG1sSGFzaFVwZGF0ZUVudHJ5MjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxIYXNoVXBkYXRlRW50cnkyCQkoPGEgaHJlZj0ibGlieG1sLWhhc2guaHRtbCN4bWxIYXNoVGFibGVQdHIiPnhtbEhhc2hUYWJsZVB0cjwvYT4gdGFibGUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUyLCA8YnIgLz4JCQkJCSB2b2lkICogdXNlcmRhdGEsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaERlYWxsb2NhdG9yIj54bWxIYXNoRGVhbGxvY2F0b3I8L2E+IGYpPGJyIC8+Cis8L3ByZT48cD5BZGQgdGhlIEB1c2VyZGF0YSB0byB0aGUgaGFzaCBAdGFibGUuIFRoaXMgY2FuIGxhdGVyIGJlIHJldHJpZXZlZCBieSB1c2luZyB0aGUgKEBuYW1lLCBAbmFtZTIpIHR1cGxlLiBFeGlzdGluZyBlbnRyeSBmb3IgdGhpcyB0dXBsZSB3aWxsIGJlIHJlbW92ZWQgYW5kIGZyZWVkIHdpdGggQGYgaWYgZm91bmQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dGFibGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBoYXNoIHRhYmxlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZSBvZiB0aGUgdXNlcmRhdGE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWUyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHNlY29uZCBuYW1lIG9mIHRoZSB1c2VyZGF0YTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dXNlcmRhdGE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byB0aGUgdXNlcmRhdGE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkZWFsbG9jYXRvciBmdW5jdGlvbiBmb3IgcmVwbGFjZWQgaXRlbSAoaWYgYW55KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCB0aGUgYWRkaXRpb24gc3VjY2VlZGVkIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEhhc2hVcGRhdGVFbnRyeTMiIGlkPSJ4bWxIYXNoVXBkYXRlRW50cnkzIj48L2E+RnVuY3Rpb246IHhtbEhhc2hVcGRhdGVFbnRyeTM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sSGFzaFVwZGF0ZUVudHJ5MwkJKDxhIGhyZWY9ImxpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFRhYmxlUHRyIj54bWxIYXNoVGFibGVQdHI8L2E+IHRhYmxlLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lMiwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZTMsIDxiciAvPgkJCQkJIHZvaWQgKiB1c2VyZGF0YSwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLWhhc2guaHRtbCN4bWxIYXNoRGVhbGxvY2F0b3IiPnhtbEhhc2hEZWFsbG9jYXRvcjwvYT4gZik8YnIgLz4KKzwvcHJlPjxwPkFkZCB0aGUgQHVzZXJkYXRhIHRvIHRoZSBoYXNoIEB0YWJsZS4gVGhpcyBjYW4gbGF0ZXIgYmUgcmV0cmlldmVkIGJ5IHVzaW5nIHRoZSB0dXBsZSAoQG5hbWUsIEBuYW1lMiwgQG5hbWUzKS4gRXhpc3RpbmcgZW50cnkgZm9yIHRoaXMgdHVwbGUgd2lsbCBiZSByZW1vdmVkIGFuZCBmcmVlZCB3aXRoIEBmIGlmIGZvdW5kLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRhYmxlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaGFzaCB0YWJsZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5hbWUgb2YgdGhlIHVzZXJkYXRhPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lMjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBzZWNvbmQgbmFtZSBvZiB0aGUgdXNlcmRhdGE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWUzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHRoaXJkIG5hbWUgb2YgdGhlIHVzZXJkYXRhPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD51c2VyZGF0YTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIHRoZSB1c2VyZGF0YTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRlYWxsb2NhdG9yIGZ1bmN0aW9uIGZvciByZXBsYWNlZCBpdGVtIChpZiBhbnkpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIHRoZSBhZGRpdGlvbiBzdWNjZWVkZWQgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48cD48YSBocmVmPSIuLi9idWdzLmh0bWwiPkRhbmllbCBWZWlsbGFyZDwvYT48L3A+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2h0bWwvbGlieG1sLWxpYi5odG1sIGIvbGlieG1sMi9kb2MvaHRtbC9saWJ4bWwtbGliLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWE1ODIxMAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL2h0bWwvbGlieG1sLWxpYi5odG1sCkBAIC0wLDAgKzEsMTMgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+PGxpbmsgcmVsPSJTSE9SVENVVCBJQ09OIiBocmVmPSIvZmF2aWNvbi5pY28iIC8+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK1REIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitCT0RZIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2E7IG1hcmdpbi10b3A6IDJlbTsgbWFyZ2luLWxlZnQ6IDBlbTsgbWFyZ2luLXJpZ2h0OiAwZW19CitIMSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDIge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gzIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitBOmxpbmssIEE6dmlzaXRlZCwgQTphY3RpdmUgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB9Cis8L3N0eWxlPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAgICBkaXYuZGVwcmVjYXRlZCBwcmUucHJvZ3JhbWxpc3Rpbmcge2JvcmRlci1zdHlsZTogZG91YmxlO2JvcmRlci1jb2xvcjpyZWR9CisgICAgICBwcmUucHJvZ3JhbWxpc3Rpbmcge2JvcmRlci1zdHlsZTogZG91YmxlO2JhY2tncm91bmQ6ICNFRUNGQTF9CisgICAgPC9zdHlsZT48dGl0bGU+UmVmZXJlbmNlIE1hbnVhbCBmb3IgbGlieG1sMjwvdGl0bGU+PC9oZWFkPjxib2R5IGJnY29sb3I9IiM4Yjc3NjUiIHRleHQ9IiMwMDAwMDAiIGxpbms9IiNhMDYwNjAiIHZsaW5rPSIjMDAwMDAwIj48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iMTAwJSIgY2VsbHBhZGRpbmc9IjUiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIHdpZHRoPSIxMjAiPjxhIGhyZWY9Imh0dHA6Ly9zd3BhdC5mZmlpLm9yZy8iPjxpbWcgc3JjPSIuLi9lcGF0ZW50cy5wbmciIGFsdD0iQWN0aW9uIGFnYWluc3Qgc29mdHdhcmUgcGF0ZW50cyIgLz48L2E+PC90ZD48dGQgd2lkdGg9IjE4MCI+PGEgaHJlZj0iaHR0cDovL3d3dy5nbm9tZS5vcmcvIj48aW1nIHNyYz0iLi4vZ25vbWUyLnBuZyIgYWx0PSJHbm9tZTIgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvU3RhdHVzIj48aW1nIHNyYz0iLi4vdzNjLnBuZyIgYWx0PSJXM0MgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy5yZWRoYXQuY29tLyI+PGltZyBzcmM9Ii4uL3JlZGhhdC5naWYiIGFsdD0iUmVkIEhhdCBMb2dvIiAvPjwvYT48ZGl2IGFsaWduPSJsZWZ0Ij48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvIj48aW1nIHNyYz0iLi4vTGlieG1sMi1Mb2dvLTE4MHgxNjguZ2lmIiBhbHQ9Ik1hZGUgd2l0aCBMaWJ4bWwyIExvZ28iIC8+PC9hPjwvZGl2PjwvdGQ+PHRkPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSI5MCUiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIiBiZ2NvbG9yPSIjZmZmYWNkIj48dHI+PHRkIGFsaWduPSJjZW50ZXIiPjxoMT48L2gxPjxoMj5SZWZlcmVuY2UgTWFudWFsIGZvciBsaWJ4bWwyPC9oMj48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iNCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiIgd2lkdGg9IjEwMCUiPjx0cj48dGQgdmFsaWduPSJ0b3AiIHdpZHRoPSIyMDAiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPkFQSSBNZW51PC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjxmb3JtIGFjdGlvbj0iLi4vc2VhcmNoLnBocCIgZW5jdHlwZT0iYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIiBtZXRob2Q9ImdldCI+PGlucHV0IG5hbWU9InF1ZXJ5IiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IiIgLz48aW5wdXQgbmFtZT0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJTZWFyY2ggLi4uIiAvPjwvZm9ybT48dWw+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSIuLi9pbmRleC5odG1sIj5NYWluIE1lbnU8L2E+PC9saT48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9Ii4uL2RvY3MuaHRtbCI+RGV2ZWxvcGVyIE1lbnU8L2E+PC9saT48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9Ii4uL2V4YW1wbGVzL2luZGV4Lmh0bWwiPkNvZGUgRXhhbXBsZXM8L2E+PC9saT48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9ImluZGV4Lmh0bWwiPkFQSSBNZW51PC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1wYXJzZXIuaHRtbCI+UGFyc2VyIEFQSTwvYT48L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sIj5UcmVlIEFQSTwvYT48L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwiPlJlYWRlciBBUEk8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vZ3VpZGVsaW5lcy5odG1sIj5YTUwgR3VpZGVsaW5lczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9DaGFuZ2VMb2cuaHRtbCI+Q2hhbmdlTG9nPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+QVBJIEluZGV4ZXM8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSIuLi9BUEljaHVuazAuaHRtbCI+QWxwaGFiZXRpYzwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUEljb25zdHJ1Y3RvcnMuaHRtbCI+Q29uc3RydWN0b3JzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSWZ1bmN0aW9ucy5odG1sIj5GdW5jdGlvbnMvVHlwZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJZmlsZXMuaHRtbCI+TW9kdWxlczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUElzeW1ib2xzLmh0bWwiPlN5bWJvbHM8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5SZWxhdGVkIGxpbmtzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iaHR0cDovL21haWwuZ25vbWUub3JnL2FyY2hpdmVzL3htbC8iPk1haWwgYXJjaGl2ZTwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvWFNMVC8iPlhTTFQgbGlieHNsdDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vcGhkLmNzLnVuaWJvLml0L2dkb21lMi8iPkRPTSBnZG9tZTI8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5hbGVrc2V5LmNvbS94bWxzZWMvIj5YTUwtRFNpZyB4bWxzZWM8L2E+PC9saT48bGk+PGEgaHJlZj0iZnRwOi8veG1sc29mdC5vcmcvIj5GVFA8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56bGF0a292aWMuY29tL3Byb2plY3RzL2xpYnhtbC8iPldpbmRvd3MgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL29wZW5jc3cub3JnL3BhY2thZ2VzL2xpYnhtbDIiPlNvbGFyaXMgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5leHBsYWluLmNvbS5hdS9vc3MvbGlieG1sMnhzbHQuaHRtbCI+TWFjT3NYIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9seG1sLmRlLyI+bHhtbCBQeXRob24gYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2NwYW4udXdpbm5pcGVnLmNhL2Rpc3QvWE1MLUxpYlhNTCI+UGVybCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1scGx1c3BsdXMuc291cmNlZm9yZ2UubmV0LyI+QysrIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemVuZC5jb20vcGhwNS9hcnRpY2xlcy9waHA1LXhtbHBocC5waHAjSGVhZGluZzQiPlBIUCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2xpYnhtbDItcGFzLyI+UGFzY2FsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWwucnVieWZvcmdlLm9yZy8iPlJ1YnkgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3RjbHhtbC5zb3VyY2Vmb3JnZS5uZXQvIj5UY2wgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9idWdsaXN0LmNnaT9wcm9kdWN0PWxpYnhtbDIiPkJ1ZyBUcmFja2VyPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIzIiBjZWxsc3BhY2luZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PGgyPlRhYmxlIG9mIENvbnRlbnRzPC9oMj48dWw+PGxpPjxhIGhyZWY9ImxpYnhtbC1ET0NCcGFyc2VyLmh0bWwiPkRPQ0JwYXJzZXI8L2E+OiBvbGQgRG9jQm9vayBTR01MIHBhcnNlcjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1IVE1McGFyc2VyLmh0bWwiPkhUTUxwYXJzZXI8L2E+OiBpbnRlcmZhY2UgZm9yIGFuIEhUTUwgNC4wIG5vbi12ZXJpZnlpbmcgcGFyc2VyPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLUhUTUx0cmVlLmh0bWwiPkhUTUx0cmVlPC9hPjogc3BlY2lmaWMgQVBJcyB0byBwcm9jZXNzIEhUTUwgdHJlZSwgZXNwZWNpYWxseSBzZXJpYWxpemF0aW9uPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLVNBWC5odG1sIj5TQVg8L2E+OiBPbGQgU0FYIHZlcnNpb24gMSBoYW5kbGVyLCBkZXByZWNhdGVkPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLVNBWDIuaHRtbCI+U0FYMjwvYT46IFNBWDIgcGFyc2VyIGludGVyZmFjZSB1c2VkIHRvIGJ1aWxkIHRoZSBET00gdHJlZTwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1jMTRuLmh0bWwiPmMxNG48L2E+OiBQcm92aWRlIENhbm9uaWNhbCBYTUwgYW5kIEV4Y2x1c2l2ZSBYTUwgQ2Fub25pY2FsaXphdGlvbjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1jYXRhbG9nLmh0bWwiPmNhdGFsb2c8L2E+OiBpbnRlcmZhY2VzIHRvIHRoZSBDYXRhbG9nIGhhbmRsaW5nIHN5c3RlbTwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1jaHZhbGlkLmh0bWwiPmNodmFsaWQ8L2E+OiBVbmljb2RlIGNoYXJhY3RlciByYW5nZSBjaGVja2luZzwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1kZWJ1Z1hNTC5odG1sIj5kZWJ1Z1hNTDwvYT46IFRyZWUgZGVidWdnaW5nIEFQSXM8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtZGljdC5odG1sIj5kaWN0PC9hPjogc3RyaW5nIGRpY3Rpb25uYXJ5PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLWVuY29kaW5nLmh0bWwiPmVuY29kaW5nPC9hPjogaW50ZXJmYWNlIGZvciB0aGUgZW5jb2RpbmcgY29udmVyc2lvbiBmdW5jdGlvbnM8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtZW50aXRpZXMuaHRtbCI+ZW50aXRpZXM8L2E+OiBpbnRlcmZhY2UgZm9yIHRoZSBYTUwgZW50aXRpZXMgaGFuZGxpbmc8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtZ2xvYmFscy5odG1sIj5nbG9iYWxzPC9hPjogaW50ZXJmYWNlIGZvciBhbGwgZ2xvYmFsIHZhcmlhYmxlcyBvZiB0aGUgbGlicmFyeTwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1oYXNoLmh0bWwiPmhhc2g8L2E+OiBDaGFpbmVkIGhhc2ggdGFibGVzPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLWxpc3QuaHRtbCI+bGlzdDwvYT46IGxpc3RzIGludGVyZmFjZXM8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtbmFub2Z0cC5odG1sIj5uYW5vZnRwPC9hPjogbWluaW1hbCBGVFAgaW1wbGVtZW50YXRpb248L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtbmFub2h0dHAuaHRtbCI+bmFub2h0dHA8L2E+OiBtaW5pbWFsIEhUVFAgaW1wbGVtZW50YXRpb248L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwiPnBhcnNlcjwvYT46IHRoZSBjb3JlIHBhcnNlciBtb2R1bGU8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwiPnBhcnNlckludGVybmFsczwvYT46IGludGVybmFscyByb3V0aW5lcyBhbmQgbGltaXRzIGV4cG9ydGVkIGJ5IHRoZSBwYXJzZXIuPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXBhdHRlcm4uaHRtbCI+cGF0dGVybjwvYT46IHBhdHRlcm4gZXhwcmVzc2lvbiBoYW5kbGluZzwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1yZWxheG5nLmh0bWwiPnJlbGF4bmc8L2E+OiBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgUmVsYXgtTkcgdmFsaWRhdGlvbjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwiPnNjaGVtYXNJbnRlcm5hbHM8L2E+OiBpbnRlcm5hbCBpbnRlcmZhY2VzIGZvciBYTUwgU2NoZW1hczwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1zY2hlbWF0cm9uLmh0bWwiPnNjaGVtYXRyb248L2E+OiBYTUwgU2NoZW1hc3Ryb24gaW1wbGVtZW50YXRpb248L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtdGhyZWFkcy5odG1sIj50aHJlYWRzPC9hPjogaW50ZXJmYWNlcyBmb3IgdGhyZWFkIGhhbmRsaW5nPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCI+dHJlZTwvYT46IGludGVyZmFjZXMgZm9yIHRyZWUgbWFuaXB1bGF0aW9uPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXVyaS5odG1sIj51cmk8L2E+OiBsaWJyYXJ5IG9mIGdlbmVyaWMgVVJJIHJlbGF0ZWQgcm91dGluZXM8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtdmFsaWQuaHRtbCI+dmFsaWQ8L2E+OiBUaGUgRFREIHZhbGlkYXRpb248L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteGluY2x1ZGUuaHRtbCI+eGluY2x1ZGU8L2E+OiBpbXBsZW1lbnRhdGlvbiBvZiBYSW5jbHVkZTwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14bGluay5odG1sIj54bGluazwvYT46IHVuZmluaXNoZWQgWExpbmsgZGV0ZWN0aW9uIG1vZHVsZTwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14bWxJTy5odG1sIj54bWxJTzwvYT46IGludGVyZmFjZSBmb3IgdGhlIEkvTyBpbnRlcmZhY2VzIHVzZWQgYnkgdGhlIHBhcnNlcjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14bWxhdXRvbWF0YS5odG1sIj54bWxhdXRvbWF0YTwvYT46IEFQSSB0byBidWlsZCByZWdleHAgYXV0b21hdGE8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteG1sZXJyb3IuaHRtbCI+eG1sZXJyb3I8L2E+OiBlcnJvciBoYW5kbGluZzwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14bWxleHBvcnRzLmh0bWwiPnhtbGV4cG9ydHM8L2E+OiBtYWNyb3MgZm9yIG1hcmtpbmcgc3ltYm9scyBhcyBleHBvcnRhYmxlL2ltcG9ydGFibGUuPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbG1lbW9yeS5odG1sIj54bWxtZW1vcnk8L2E+OiBpbnRlcmZhY2UgZm9yIHRoZSBtZW1vcnkgYWxsb2NhdG9yPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbG1vZHVsZS5odG1sIj54bWxtb2R1bGU8L2E+OiBkeW5hbWljIG1vZHVsZSBsb2FkaW5nPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sIj54bWxyZWFkZXI8L2E+OiB0aGUgWE1MUmVhZGVyIGltcGxlbWVudGF0aW9uPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbHJlZ2V4cC5odG1sIj54bWxyZWdleHA8L2E+OiByZWd1bGFyIGV4cHJlc3Npb25zIGhhbmRsaW5nPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbHNhdmUuaHRtbCI+eG1sc2F2ZTwvYT46IHRoZSBYTUwgZG9jdW1lbnQgc2VyaWFsaXplcjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14bWxzY2hlbWFzLmh0bWwiPnhtbHNjaGVtYXM8L2E+OiBpbmNvbXBsZXRlIFhNTCBTY2hlbWFzIHN0cnVjdHVyZSBpbXBsZW1lbnRhdGlvbjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCI+eG1sc2NoZW1hc3R5cGVzPC9hPjogaW1wbGVtZW50YXRpb24gb2YgWE1MIFNjaGVtYSBEYXRhdHlwZXM8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwiPnhtbHN0cmluZzwvYT46IHNldCBvZiByb3V0aW5lcyB0byBwcm9jZXNzIHN0cmluZ3M8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteG1sdW5pY29kZS5odG1sIj54bWx1bmljb2RlPC9hPjogVW5pY29kZSBjaGFyYWN0ZXIgQVBJczwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14bWx2ZXJzaW9uLmh0bWwiPnhtbHZlcnNpb248L2E+OiBjb21waWxlLXRpbWUgdmVyc2lvbiBpbmZvcm1hdGlvbnM8L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwiPnhtbHdyaXRlcjwvYT46IHRleHQgd3JpdGluZyBBUEkgZm9yIFhNTDwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sIj54cGF0aDwvYT46IFhNTCBQYXRoIExhbmd1YWdlIGltcGxlbWVudGF0aW9uPC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwiPnhwYXRoSW50ZXJuYWxzPC9hPjogaW50ZXJuYWwgaW50ZXJmYWNlcyBmb3IgWE1MIFBhdGggTGFuZ3VhZ2UgaW1wbGVtZW50YXRpb248L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteHBvaW50ZXIuaHRtbCI+eHBvaW50ZXI8L2E+OiBBUEkgdG8gaGFuZGxlIFhNTCBQb2ludGVyczwvbGk+PC91bD48cD48YSBocmVmPSIuLi9idWdzLmh0bWwiPkRhbmllbCBWZWlsbGFyZDwvYT48L3A+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2h0bWwvbGlieG1sLWxpc3QuaHRtbCBiL2xpYnhtbDIvZG9jL2h0bWwvbGlieG1sLWxpc3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zM2U2MGQxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvaHRtbC9saWJ4bWwtbGlzdC5odG1sCkBAIC0wLDAgKzEsMTIwIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPgorPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPjxoZWFkPjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPjxsaW5rIHJlbD0iU0hPUlRDVVQgSUNPTiIgaHJlZj0iL2Zhdmljb24uaWNvIiAvPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CitURCB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorQk9EWSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhOyBtYXJnaW4tdG9wOiAyZW07IG1hcmdpbi1sZWZ0OiAwZW07IG1hcmdpbi1yaWdodDogMGVtfQorSDEge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gyIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMyB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorQTpsaW5rLCBBOnZpc2l0ZWQsIEE6YWN0aXZlIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgfQorPC9zdHlsZT48c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorICAgICAgZGl2LmRlcHJlY2F0ZWQgcHJlLnByb2dyYW1saXN0aW5nIHtib3JkZXItc3R5bGU6IGRvdWJsZTtib3JkZXItY29sb3I6cmVkfQorICAgICAgcHJlLnByb2dyYW1saXN0aW5nIHtib3JkZXItc3R5bGU6IGRvdWJsZTtiYWNrZ3JvdW5kOiAjRUVDRkExfQorICAgIDwvc3R5bGU+PHRpdGxlPk1vZHVsZSBsaXN0IGZyb20gbGlieG1sMjwvdGl0bGU+PC9oZWFkPjxib2R5IGJnY29sb3I9IiM4Yjc3NjUiIHRleHQ9IiMwMDAwMDAiIGxpbms9IiNhMDYwNjAiIHZsaW5rPSIjMDAwMDAwIj48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iMTAwJSIgY2VsbHBhZGRpbmc9IjUiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIHdpZHRoPSIxMjAiPjxhIGhyZWY9Imh0dHA6Ly9zd3BhdC5mZmlpLm9yZy8iPjxpbWcgc3JjPSIuLi9lcGF0ZW50cy5wbmciIGFsdD0iQWN0aW9uIGFnYWluc3Qgc29mdHdhcmUgcGF0ZW50cyIgLz48L2E+PC90ZD48dGQgd2lkdGg9IjE4MCI+PGEgaHJlZj0iaHR0cDovL3d3dy5nbm9tZS5vcmcvIj48aW1nIHNyYz0iLi4vZ25vbWUyLnBuZyIgYWx0PSJHbm9tZTIgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvU3RhdHVzIj48aW1nIHNyYz0iLi4vdzNjLnBuZyIgYWx0PSJXM0MgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy5yZWRoYXQuY29tLyI+PGltZyBzcmM9Ii4uL3JlZGhhdC5naWYiIGFsdD0iUmVkIEhhdCBMb2dvIiAvPjwvYT48ZGl2IGFsaWduPSJsZWZ0Ij48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvIj48aW1nIHNyYz0iLi4vTGlieG1sMi1Mb2dvLTE4MHgxNjguZ2lmIiBhbHQ9Ik1hZGUgd2l0aCBMaWJ4bWwyIExvZ28iIC8+PC9hPjwvZGl2PjwvdGQ+PHRkPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSI5MCUiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIiBiZ2NvbG9yPSIjZmZmYWNkIj48dHI+PHRkIGFsaWduPSJjZW50ZXIiPjxoMT48L2gxPjxoMj5Nb2R1bGUgbGlzdCBmcm9tIGxpYnhtbDI8L2gyPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI0IiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCB2YWxpZ249InRvcCIgd2lkdGg9IjIwMCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+QVBJIE1lbnU8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PGZvcm0gYWN0aW9uPSIuLi9zZWFyY2gucGhwIiBlbmN0eXBlPSJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiIG1ldGhvZD0iZ2V0Ij48aW5wdXQgbmFtZT0icXVlcnkiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iIiAvPjxpbnB1dCBuYW1lPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNlYXJjaCAuLi4iIC8+PC9mb3JtPjx1bD48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9Ii4uL2luZGV4Lmh0bWwiPk1haW4gTWVudTwvYT48L2xpPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iLi4vZG9jcy5odG1sIj5EZXZlbG9wZXIgTWVudTwvYT48L2xpPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iLi4vZXhhbXBsZXMvaW5kZXguaHRtbCI+Q29kZSBFeGFtcGxlczwvYT48L2xpPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iaW5kZXguaHRtbCI+QVBJIE1lbnU8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXBhcnNlci5odG1sIj5QYXJzZXIgQVBJPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwiPlRyZWUgQVBJPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCI+UmVhZGVyIEFQSTwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9ndWlkZWxpbmVzLmh0bWwiPlhNTCBHdWlkZWxpbmVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0NoYW5nZUxvZy5odG1sIj5DaGFuZ2VMb2c8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5BUEkgSW5kZXhlczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9Ii4uL0FQSWNodW5rMC5odG1sIj5BbHBoYWJldGljPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSWNvbnN0cnVjdG9ycy5odG1sIj5Db25zdHJ1Y3RvcnM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJZnVuY3Rpb25zLmh0bWwiPkZ1bmN0aW9ucy9UeXBlczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUElmaWxlcy5odG1sIj5Nb2R1bGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSXN5bWJvbHMuaHRtbCI+U3ltYm9sczwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPlJlbGF0ZWQgbGlua3M8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSJodHRwOi8vbWFpbC5nbm9tZS5vcmcvYXJjaGl2ZXMveG1sLyI+TWFpbCBhcmNoaXZlPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9YU0xULyI+WFNMVCBsaWJ4c2x0PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9waGQuY3MudW5pYm8uaXQvZ2RvbWUyLyI+RE9NIGdkb21lMjwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmFsZWtzZXkuY29tL3htbHNlYy8iPlhNTC1EU2lnIHhtbHNlYzwvYT48L2xpPjxsaT48YSBocmVmPSJmdHA6Ly94bWxzb2Z0Lm9yZy8iPkZUUDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnpsYXRrb3ZpYy5jb20vcHJvamVjdHMvbGlieG1sLyI+V2luZG93cyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vb3BlbmNzdy5vcmcvcGFja2FnZXMvbGlieG1sMiI+U29sYXJpcyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmV4cGxhaW4uY29tLmF1L29zcy9saWJ4bWwyeHNsdC5odG1sIj5NYWNPc1ggYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2x4bWwuZGUvIj5seG1sIFB5dGhvbiBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vY3Bhbi51d2lubmlwZWcuY2EvZGlzdC9YTUwtTGliWE1MIj5QZXJsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWxwbHVzcGx1cy5zb3VyY2Vmb3JnZS5uZXQvIj5DKysgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56ZW5kLmNvbS9waHA1L2FydGljbGVzL3BocDUteG1scGhwLnBocCNIZWFkaW5nNCI+UEhQIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbGlieG1sMi1wYXMvIj5QYXNjYWwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbC5ydWJ5Zm9yZ2Uub3JnLyI+UnVieSBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vdGNseG1sLnNvdXJjZWZvcmdlLm5ldC8iPlRjbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2J1Z2xpc3QuY2dpP3Byb2R1Y3Q9bGlieG1sMiI+QnVnIFRyYWNrZXI8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dGFibGUgY2xhc3M9Im5hdmlnYXRpb24iIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIyIj48dHIgdmFsaWduPSJtaWRkbGUiPjx0ZD48YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImxpYnhtbC1oYXNoLmh0bWwiPjxpbWcgc3JjPSJsZWZ0LnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iUHJldiIgLz48L2E+PC90ZD48dGggYWxpZ249ImxlZnQiPjxhIGhyZWY9ImxpYnhtbC1oYXNoLmh0bWwiPmhhc2g8L2E+PC90aD48dGQ+PGEgYWNjZXNza2V5PSJ1IiBocmVmPSJpbmRleC5odG1sIj48aW1nIHNyYz0idXAucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJVcCIgLz48L2E+PC90ZD48dGggYWxpZ249ImxlZnQiPjxhIGhyZWY9ImluZGV4Lmh0bWwiPkFQSSBkb2N1bWVudGF0aW9uPC9hPjwvdGg+PHRkPjxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iLi4vaW5kZXguaHRtbCI+PGltZyBzcmM9ImhvbWUucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJIb21lIiAvPjwvYT48L3RkPjx0aCBhbGlnbj0iY2VudGVyIj48YSBocmVmPSIuLi9pbmRleC5odG1sIj5UaGUgWE1MIEMgcGFyc2VyIGFuZCB0b29sa2l0IG9mIEdub21lPC9hPjwvdGg+PHRoIGFsaWduPSJyaWdodCI+PGEgaHJlZj0ibGlieG1sLW5hbm9mdHAuaHRtbCI+bmFub2Z0cDwvYT48L3RoPjx0ZD48YSBhY2Nlc3NrZXk9Im4iIGhyZWY9ImxpYnhtbC1uYW5vZnRwLmh0bWwiPjxpbWcgc3JjPSJyaWdodC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9Ik5leHQiIC8+PC9hPjwvdGQ+PC90cj48L3RhYmxlPjxwPnRoaXMgbW9kdWxlIGltcGxlbWVudCB0aGUgbGlzdCBzdXBwb3J0IHVzZWQgaW4gdmFyaW91cyBwbGFjZSBpbiB0aGUgbGlicmFyeS4gPC9wPjxoMj5UYWJsZSBvZiBDb250ZW50czwvaDI+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlN0cnVjdHVyZSA8YSBocmVmPSIjeG1sTGluayI+eG1sTGluazwvYT48YnIgLz5zdHJ1Y3QgX3htbExpbmsKK1RoZSBjb250ZW50IG9mIHRoaXMgc3RydWN0dXJlIGlzIG5vdCBtYWRlIHB1YmxpYyBieSB0aGUgQVBJLgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlR5cGVkZWYgPGEgaHJlZj0ibGlieG1sLWxpc3QuaHRtbCN4bWxMaW5rIj54bWxMaW5rPC9hPiAqIDxhIG5hbWU9InhtbExpbmtQdHIiIGlkPSJ4bWxMaW5rUHRyIj54bWxMaW5rUHRyPC9hPgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlN0cnVjdHVyZSA8YSBocmVmPSIjeG1sTGlzdCI+eG1sTGlzdDwvYT48YnIgLz5zdHJ1Y3QgX3htbExpc3QKK1RoZSBjb250ZW50IG9mIHRoaXMgc3RydWN0dXJlIGlzIG5vdCBtYWRlIHB1YmxpYyBieSB0aGUgQVBJLgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlR5cGVkZWYgPGEgaHJlZj0ibGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0Ij54bWxMaXN0PC9hPiAqIDxhIG5hbWU9InhtbExpc3RQdHIiIGlkPSJ4bWxMaXN0UHRyIj54bWxMaXN0UHRyPC9hPgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQgKgk8YSBocmVmPSIjeG1sTGlua0dldERhdGEiPnhtbExpbmtHZXREYXRhPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwtbGlzdC5odG1sI3htbExpbmtQdHIiPnhtbExpbmtQdHI8L2E+IGxrKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sTGlzdEFwcGVuZCI+eG1sTGlzdEFwcGVuZDwvYT4JCQkoPGEgaHJlZj0ibGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0UHRyIj54bWxMaXN0UHRyPC9hPiBsLCA8YnIgLz4JCQkJCSB2b2lkICogZGF0YSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxMaXN0Q2xlYXIiPnhtbExpc3RDbGVhcjwvYT4JCQkoPGEgaHJlZj0ibGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0UHRyIj54bWxMaXN0UHRyPC9hPiBsKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sTGlzdENvcHkiPnhtbExpc3RDb3B5PC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwtbGlzdC5odG1sI3htbExpc3RQdHIiPnhtbExpc3RQdHI8L2E+IGN1ciwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0UHRyIj54bWxMaXN0UHRyPC9hPiBvbGQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0UHRyIj54bWxMaXN0UHRyPC9hPgk8YSBocmVmPSIjeG1sTGlzdENyZWF0ZSI+eG1sTGlzdENyZWF0ZTwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtbGlzdC5odG1sI3htbExpc3REZWFsbG9jYXRvciI+eG1sTGlzdERlYWxsb2NhdG9yPC9hPiBkZWFsbG9jYXRvciwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0RGF0YUNvbXBhcmUiPnhtbExpc3REYXRhQ29tcGFyZTwvYT4gY29tcGFyZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5GdW5jdGlvbiB0eXBlOiA8YSBocmVmPSIjeG1sTGlzdERhdGFDb21wYXJlIj54bWxMaXN0RGF0YUNvbXBhcmU8L2E+CitpbnQJPGEgaHJlZj0iI3htbExpc3REYXRhQ29tcGFyZSI+eG1sTGlzdERhdGFDb21wYXJlPC9hPgkJKGNvbnN0IHZvaWQgKiBkYXRhMCwgPGJyIC8+CQkJCQkgY29uc3Qgdm9pZCAqIGRhdGExKQorPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RnVuY3Rpb24gdHlwZTogPGEgaHJlZj0iI3htbExpc3REZWFsbG9jYXRvciI+eG1sTGlzdERlYWxsb2NhdG9yPC9hPgordm9pZAk8YSBocmVmPSIjeG1sTGlzdERlYWxsb2NhdG9yIj54bWxMaXN0RGVhbGxvY2F0b3I8L2E+CQkoPGEgaHJlZj0ibGlieG1sLWxpc3QuaHRtbCN4bWxMaW5rUHRyIj54bWxMaW5rUHRyPC9hPiBsaykKKzwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbExpc3REZWxldGUiPnhtbExpc3REZWxldGU8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdFB0ciI+eG1sTGlzdFB0cjwvYT4gbCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtbGlzdC5odG1sI3htbExpc3RQdHIiPnhtbExpc3RQdHI8L2E+CTxhIGhyZWY9IiN4bWxMaXN0RHVwIj54bWxMaXN0RHVwPC9hPgkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdFB0ciI+eG1sTGlzdFB0cjwvYT4gb2xkKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sTGlzdEVtcHR5Ij54bWxMaXN0RW1wdHk8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdFB0ciI+eG1sTGlzdFB0cjwvYT4gbCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtbGlzdC5odG1sI3htbExpbmtQdHIiPnhtbExpbmtQdHI8L2E+CTxhIGhyZWY9IiN4bWxMaXN0RW5kIj54bWxMaXN0RW5kPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdFB0ciI+eG1sTGlzdFB0cjwvYT4gbCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtbGlzdC5odG1sI3htbExpbmtQdHIiPnhtbExpbmtQdHI8L2E+CTxhIGhyZWY9IiN4bWxMaXN0RnJvbnQiPnhtbExpc3RGcm9udDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtbGlzdC5odG1sI3htbExpc3RQdHIiPnhtbExpc3RQdHI8L2E+IGwpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxMaXN0SW5zZXJ0Ij54bWxMaXN0SW5zZXJ0PC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwtbGlzdC5odG1sI3htbExpc3RQdHIiPnhtbExpc3RQdHI8L2E+IGwsIDxiciAvPgkJCQkJIHZvaWQgKiBkYXRhKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbExpc3RNZXJnZSI+eG1sTGlzdE1lcmdlPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwtbGlzdC5odG1sI3htbExpc3RQdHIiPnhtbExpc3RQdHI8L2E+IGwxLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtbGlzdC5odG1sI3htbExpc3RQdHIiPnhtbExpc3RQdHI8L2E+IGwyKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbExpc3RQb3BCYWNrIj54bWxMaXN0UG9wQmFjazwvYT4JCQkoPGEgaHJlZj0ibGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0UHRyIj54bWxMaXN0UHRyPC9hPiBsKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbExpc3RQb3BGcm9udCI+eG1sTGlzdFBvcEZyb250PC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwtbGlzdC5odG1sI3htbExpc3RQdHIiPnhtbExpc3RQdHI8L2E+IGwpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxMaXN0UHVzaEJhY2siPnhtbExpc3RQdXNoQmFjazwvYT4JCQkoPGEgaHJlZj0ibGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0UHRyIj54bWxMaXN0UHRyPC9hPiBsLCA8YnIgLz4JCQkJCSB2b2lkICogZGF0YSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbExpc3RQdXNoRnJvbnQiPnhtbExpc3RQdXNoRnJvbnQ8L2E+CQkoPGEgaHJlZj0ibGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0UHRyIj54bWxMaXN0UHRyPC9hPiBsLCA8YnIgLz4JCQkJCSB2b2lkICogZGF0YSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbExpc3RSZW1vdmVBbGwiPnhtbExpc3RSZW1vdmVBbGw8L2E+CQkoPGEgaHJlZj0ibGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0UHRyIj54bWxMaXN0UHRyPC9hPiBsLCA8YnIgLz4JCQkJCSB2b2lkICogZGF0YSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbExpc3RSZW1vdmVGaXJzdCI+eG1sTGlzdFJlbW92ZUZpcnN0PC9hPgkJKDxhIGhyZWY9ImxpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdFB0ciI+eG1sTGlzdFB0cjwvYT4gbCwgPGJyIC8+CQkJCQkgdm9pZCAqIGRhdGEpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxMaXN0UmVtb3ZlTGFzdCI+eG1sTGlzdFJlbW92ZUxhc3Q8L2E+CQkoPGEgaHJlZj0ibGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0UHRyIj54bWxMaXN0UHRyPC9hPiBsLCA8YnIgLz4JCQkJCSB2b2lkICogZGF0YSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxMaXN0UmV2ZXJzZSI+eG1sTGlzdFJldmVyc2U8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdFB0ciI+eG1sTGlzdFB0cjwvYT4gbCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkICoJPGEgaHJlZj0iI3htbExpc3RSZXZlcnNlU2VhcmNoIj54bWxMaXN0UmV2ZXJzZVNlYXJjaDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtbGlzdC5odG1sI3htbExpc3RQdHIiPnhtbExpc3RQdHI8L2E+IGwsIDxiciAvPgkJCQkJIHZvaWQgKiBkYXRhKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbExpc3RSZXZlcnNlV2FsayI+eG1sTGlzdFJldmVyc2VXYWxrPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdFB0ciI+eG1sTGlzdFB0cjwvYT4gbCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0V2Fsa2VyIj54bWxMaXN0V2Fsa2VyPC9hPiB3YWxrZXIsIDxiciAvPgkJCQkJIGNvbnN0IHZvaWQgKiB1c2VyKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQgKgk8YSBocmVmPSIjeG1sTGlzdFNlYXJjaCI+eG1sTGlzdFNlYXJjaDwvYT4JCQkoPGEgaHJlZj0ibGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0UHRyIj54bWxMaXN0UHRyPC9hPiBsLCA8YnIgLz4JCQkJCSB2b2lkICogZGF0YSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbExpc3RTaXplIj54bWxMaXN0U2l6ZTwvYT4JCQkoPGEgaHJlZj0ibGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0UHRyIj54bWxMaXN0UHRyPC9hPiBsKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbExpc3RTb3J0Ij54bWxMaXN0U29ydDwvYT4JCQkoPGEgaHJlZj0ibGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0UHRyIj54bWxMaXN0UHRyPC9hPiBsKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbExpc3RXYWxrIj54bWxMaXN0V2FsazwvYT4JCQkoPGEgaHJlZj0ibGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0UHRyIj54bWxMaXN0UHRyPC9hPiBsLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtbGlzdC5odG1sI3htbExpc3RXYWxrZXIiPnhtbExpc3RXYWxrZXI8L2E+IHdhbGtlciwgPGJyIC8+CQkJCQkgY29uc3Qgdm9pZCAqIHVzZXIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RnVuY3Rpb24gdHlwZTogPGEgaHJlZj0iI3htbExpc3RXYWxrZXIiPnhtbExpc3RXYWxrZXI8L2E+CitpbnQJPGEgaHJlZj0iI3htbExpc3RXYWxrZXIiPnhtbExpc3RXYWxrZXI8L2E+CQkJKGNvbnN0IHZvaWQgKiBkYXRhLCA8YnIgLz4JCQkJCSBjb25zdCB2b2lkICogdXNlcikKKzwvcHJlPgorPGgyPkRlc2NyaXB0aW9uPC9oMj4KKzxoMz48YSBuYW1lPSJ4bWxMaW5rIiBpZD0ieG1sTGluayI+U3RydWN0dXJlIHhtbExpbms8L2E+PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+U3RydWN0dXJlIHhtbExpbms8YnIgLz5zdHJ1Y3QgX3htbExpbmsgeworVGhlIGNvbnRlbnQgb2YgdGhpcyBzdHJ1Y3R1cmUgaXMgbm90IG1hZGUgcHVibGljIGJ5IHRoZSBBUEkuCit9PC9wcmU+PGgzPjxhIG5hbWU9InhtbExpc3QiIGlkPSJ4bWxMaXN0Ij5TdHJ1Y3R1cmUgeG1sTGlzdDwvYT48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgeG1sTGlzdDxiciAvPnN0cnVjdCBfeG1sTGlzdCB7CitUaGUgY29udGVudCBvZiB0aGlzIHN0cnVjdHVyZSBpcyBub3QgbWFkZSBwdWJsaWMgYnkgdGhlIEFQSS4KK308L3ByZT48aDM+PGEgbmFtZT0ieG1sTGlua0dldERhdGEiIGlkPSJ4bWxMaW5rR2V0RGF0YSI+PC9hPkZ1bmN0aW9uOiB4bWxMaW5rR2V0RGF0YTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQgKgl4bWxMaW5rR2V0RGF0YQkJCSg8YSBocmVmPSJsaWJ4bWwtbGlzdC5odG1sI3htbExpbmtQdHIiPnhtbExpbmtQdHI8L2E+IGxrKTxiciAvPgorPC9wcmU+PHA+U2VlIFJldHVybnMuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGs8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbGluazwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIHRoZSBkYXRhIHJlZmVyZW5jZWQgZnJvbSB0aGlzIGxpbms8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxMaXN0QXBwZW5kIiBpZD0ieG1sTGlzdEFwcGVuZCI+PC9hPkZ1bmN0aW9uOiB4bWxMaXN0QXBwZW5kPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbExpc3RBcHBlbmQJCQkoPGEgaHJlZj0ibGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0UHRyIj54bWxMaXN0UHRyPC9hPiBsLCA8YnIgLz4JCQkJCSB2b2lkICogZGF0YSk8YnIgLz4KKzwvcHJlPjxwPkluc2VydCBkYXRhIGluIHRoZSBvcmRlcmVkIGxpc3QgYXQgdGhlIGVuZCBmb3IgdGhpcyB2YWx1ZTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pmw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbGlzdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGF0YTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRhdGE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaW4gY2FzZSBvZiBzdWNjZXNzLCAxIGluIGNhc2Ugb2YgZmFpbHVyZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbExpc3RDbGVhciIgaWQ9InhtbExpc3RDbGVhciI+PC9hPkZ1bmN0aW9uOiB4bWxMaXN0Q2xlYXI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbExpc3RDbGVhcgkJCSg8YSBocmVmPSJsaWJ4bWwtbGlzdC5odG1sI3htbExpc3RQdHIiPnhtbExpc3RQdHI8L2E+IGwpPGJyIC8+Cis8L3ByZT48cD5SZW1vdmUgdGhlIGFsbCBkYXRhIGluIHRoZSBsaXN0PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBsaXN0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sTGlzdENvcHkiIGlkPSJ4bWxMaXN0Q29weSI+PC9hPkZ1bmN0aW9uOiB4bWxMaXN0Q29weTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxMaXN0Q29weQkJCSg8YSBocmVmPSJsaWJ4bWwtbGlzdC5odG1sI3htbExpc3RQdHIiPnhtbExpc3RQdHI8L2E+IGN1ciwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0UHRyIj54bWxMaXN0UHRyPC9hPiBvbGQpPGJyIC8+Cis8L3ByZT48cD5Nb3ZlIGFsbCB0aGUgZWxlbWVudCBmcm9tIHRoZSBvbGQgbGlzdCBpbiB0aGUgbmV3IGxpc3Q8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXcgbGlzdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b2xkPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgb2xkIGxpc3Q8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaW4gY2FzZSBvZiBzdWNjZXNzIDEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbExpc3RDcmVhdGUiIGlkPSJ4bWxMaXN0Q3JlYXRlIj48L2E+RnVuY3Rpb246IHhtbExpc3RDcmVhdGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtbGlzdC5odG1sI3htbExpc3RQdHIiPnhtbExpc3RQdHI8L2E+CXhtbExpc3RDcmVhdGUJCSg8YSBocmVmPSJsaWJ4bWwtbGlzdC5odG1sI3htbExpc3REZWFsbG9jYXRvciI+eG1sTGlzdERlYWxsb2NhdG9yPC9hPiBkZWFsbG9jYXRvciwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0RGF0YUNvbXBhcmUiPnhtbExpc3REYXRhQ29tcGFyZTwvYT4gY29tcGFyZSk8YnIgLz4KKzwvcHJlPjxwPkNyZWF0ZSBhIG5ldyBsaXN0PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGVhbGxvY2F0b3I8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIG9wdGlvbmFsIGRlYWxsb2NhdG9yIGZ1bmN0aW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb21wYXJlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBvcHRpb25hbCBjb21wYXJpc29uIGZ1bmN0aW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IGxpc3Qgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sTGlzdERhdGFDb21wYXJlIiBpZD0ieG1sTGlzdERhdGFDb21wYXJlIj48L2E+RnVuY3Rpb24gdHlwZTogeG1sTGlzdERhdGFDb21wYXJlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RnVuY3Rpb24gdHlwZTogeG1sTGlzdERhdGFDb21wYXJlCitpbnQJeG1sTGlzdERhdGFDb21wYXJlCQkoY29uc3Qgdm9pZCAqIGRhdGEwLCA8YnIgLz4JCQkJCSBjb25zdCB2b2lkICogZGF0YTEpCis8L3ByZT48cD5DYWxsYmFjayBmdW5jdGlvbiB1c2VkIHRvIGNvbXBhcmUgMiBkYXRhLjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kYXRhMDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZpcnN0IGRhdGE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRhdGExPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc2Vjb25kIGRhdGE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaXMgZXF1YWxpdHksIC0xIG9yIDEgb3RoZXJ3aXNlIGRlcGVuZGluZyBvbiB0aGUgb3JkZXJpbmcuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48YnIgLz4KKzxoMz48YSBuYW1lPSJ4bWxMaXN0RGVhbGxvY2F0b3IiIGlkPSJ4bWxMaXN0RGVhbGxvY2F0b3IiPjwvYT5GdW5jdGlvbiB0eXBlOiB4bWxMaXN0RGVhbGxvY2F0b3I8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5GdW5jdGlvbiB0eXBlOiB4bWxMaXN0RGVhbGxvY2F0b3IKK3ZvaWQJeG1sTGlzdERlYWxsb2NhdG9yCQkoPGEgaHJlZj0ibGlieG1sLWxpc3QuaHRtbCN4bWxMaW5rUHRyIj54bWxMaW5rUHRyPC9hPiBsaykKKzwvcHJlPjxwPkNhbGxiYWNrIGZ1bmN0aW9uIHVzZWQgdG8gZnJlZSBkYXRhIGZyb20gYSBsaXN0LjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sazwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRhdGEgdG8gZGVhbGxvY2F0ZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGJyIC8+Cis8aDM+PGEgbmFtZT0ieG1sTGlzdERlbGV0ZSIgaWQ9InhtbExpc3REZWxldGUiPjwvYT5GdW5jdGlvbjogeG1sTGlzdERlbGV0ZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sTGlzdERlbGV0ZQkJCSg8YSBocmVmPSJsaWJ4bWwtbGlzdC5odG1sI3htbExpc3RQdHIiPnhtbExpc3RQdHI8L2E+IGwpPGJyIC8+Cis8L3ByZT48cD5EZWxldGVzIHRoZSBsaXN0IGFuZCBpdHMgYXNzb2NpYXRlZCBkYXRhPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBsaXN0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sTGlzdER1cCIgaWQ9InhtbExpc3REdXAiPjwvYT5GdW5jdGlvbjogeG1sTGlzdER1cDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdFB0ciI+eG1sTGlzdFB0cjwvYT4JeG1sTGlzdER1cAkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdFB0ciI+eG1sTGlzdFB0cjwvYT4gb2xkKTxiciAvPgorPC9wcmU+PHA+RHVwbGljYXRlIHRoZSBsaXN0PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b2xkPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbGlzdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBuZXcgY29weSBvZiB0aGUgbGlzdCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxMaXN0RW1wdHkiIGlkPSJ4bWxMaXN0RW1wdHkiPjwvYT5GdW5jdGlvbjogeG1sTGlzdEVtcHR5PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbExpc3RFbXB0eQkJCSg8YSBocmVmPSJsaWJ4bWwtbGlzdC5odG1sI3htbExpc3RQdHIiPnhtbExpc3RQdHI8L2E+IGwpPGJyIC8+Cis8L3ByZT48cD5JcyB0aGUgbGlzdCBlbXB0eSA/PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBsaXN0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRoZSBsaXN0IGlzIGVtcHR5LCAwIGlmIG5vdCBlbXB0eSBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbExpc3RFbmQiIGlkPSJ4bWxMaXN0RW5kIj48L2E+RnVuY3Rpb246IHhtbExpc3RFbmQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtbGlzdC5odG1sI3htbExpbmtQdHIiPnhtbExpbmtQdHI8L2E+CXhtbExpc3RFbmQJCSg8YSBocmVmPSJsaWJ4bWwtbGlzdC5odG1sI3htbExpc3RQdHIiPnhtbExpc3RQdHI8L2E+IGwpPGJyIC8+Cis8L3ByZT48cD5HZXQgdGhlIGxhc3QgZWxlbWVudCBpbiB0aGUgbGlzdDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pmw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbGlzdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxhc3QgZWxlbWVudCBpbiB0aGUgbGlzdCwgb3IgTlVMTDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbExpc3RGcm9udCIgaWQ9InhtbExpc3RGcm9udCI+PC9hPkZ1bmN0aW9uOiB4bWxMaXN0RnJvbnQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtbGlzdC5odG1sI3htbExpbmtQdHIiPnhtbExpbmtQdHI8L2E+CXhtbExpc3RGcm9udAkJKDxhIGhyZWY9ImxpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdFB0ciI+eG1sTGlzdFB0cjwvYT4gbCk8YnIgLz4KKzwvcHJlPjxwPkdldCB0aGUgZmlyc3QgZWxlbWVudCBpbiB0aGUgbGlzdDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pmw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbGlzdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZpcnN0IGVsZW1lbnQgaW4gdGhlIGxpc3QsIG9yIE5VTEw8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxMaXN0SW5zZXJ0IiBpZD0ieG1sTGlzdEluc2VydCI+PC9hPkZ1bmN0aW9uOiB4bWxMaXN0SW5zZXJ0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbExpc3RJbnNlcnQJCQkoPGEgaHJlZj0ibGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0UHRyIj54bWxMaXN0UHRyPC9hPiBsLCA8YnIgLz4JCQkJCSB2b2lkICogZGF0YSk8YnIgLz4KKzwvcHJlPjxwPkluc2VydCBkYXRhIGluIHRoZSBvcmRlcmVkIGxpc3QgYXQgdGhlIGJlZ2lubmluZyBmb3IgdGhpcyB2YWx1ZTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pmw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbGlzdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGF0YTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRhdGE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaW4gY2FzZSBvZiBzdWNjZXNzLCAxIGluIGNhc2Ugb2YgZmFpbHVyZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbExpc3RNZXJnZSIgaWQ9InhtbExpc3RNZXJnZSI+PC9hPkZ1bmN0aW9uOiB4bWxMaXN0TWVyZ2U8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbExpc3RNZXJnZQkJCSg8YSBocmVmPSJsaWJ4bWwtbGlzdC5odG1sI3htbExpc3RQdHIiPnhtbExpc3RQdHI8L2E+IGwxLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtbGlzdC5odG1sI3htbExpc3RQdHIiPnhtbExpc3RQdHI8L2E+IGwyKTxiciAvPgorPC9wcmU+PHA+aW5jbHVkZSBhbGwgdGhlIGVsZW1lbnRzIG9mIHRoZSBzZWNvbmQgbGlzdCBpbiB0aGUgZmlyc3Qgb25lIGFuZCBjbGVhciB0aGUgc2Vjb25kIGxpc3Q8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sMTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG9yaWdpbmFsIGxpc3Q8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmwyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IGxpc3Q8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxMaXN0UG9wQmFjayIgaWQ9InhtbExpc3RQb3BCYWNrIj48L2E+RnVuY3Rpb246IHhtbExpc3RQb3BCYWNrPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxMaXN0UG9wQmFjawkJCSg8YSBocmVmPSJsaWJ4bWwtbGlzdC5odG1sI3htbExpc3RQdHIiPnhtbExpc3RQdHI8L2E+IGwpPGJyIC8+Cis8L3ByZT48cD5SZW1vdmVzIHRoZSBsYXN0IGVsZW1lbnQgaW4gdGhlIGxpc3Q8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGxpc3Q8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxMaXN0UG9wRnJvbnQiIGlkPSJ4bWxMaXN0UG9wRnJvbnQiPjwvYT5GdW5jdGlvbjogeG1sTGlzdFBvcEZyb250PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxMaXN0UG9wRnJvbnQJCQkoPGEgaHJlZj0ibGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0UHRyIj54bWxMaXN0UHRyPC9hPiBsKTxiciAvPgorPC9wcmU+PHA+UmVtb3ZlcyB0aGUgZmlyc3QgZWxlbWVudCBpbiB0aGUgbGlzdDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pmw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbGlzdDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbExpc3RQdXNoQmFjayIgaWQ9InhtbExpc3RQdXNoQmFjayI+PC9hPkZ1bmN0aW9uOiB4bWxMaXN0UHVzaEJhY2s8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sTGlzdFB1c2hCYWNrCQkJKDxhIGhyZWY9ImxpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdFB0ciI+eG1sTGlzdFB0cjwvYT4gbCwgPGJyIC8+CQkJCQkgdm9pZCAqIGRhdGEpPGJyIC8+Cis8L3ByZT48cD5hZGQgdGhlIG5ldyBkYXRhIGF0IHRoZSBlbmQgb2YgdGhlIGxpc3Q8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGxpc3Q8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRhdGE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPm5ldyBkYXRhPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHN1Y2Nlc3NmdWwsIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sTGlzdFB1c2hGcm9udCIgaWQ9InhtbExpc3RQdXNoRnJvbnQiPjwvYT5GdW5jdGlvbjogeG1sTGlzdFB1c2hGcm9udDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxMaXN0UHVzaEZyb250CQkoPGEgaHJlZj0ibGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0UHRyIj54bWxMaXN0UHRyPC9hPiBsLCA8YnIgLz4JCQkJCSB2b2lkICogZGF0YSk8YnIgLz4KKzwvcHJlPjxwPmFkZCB0aGUgbmV3IGRhdGEgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgbGlzdDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pmw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbGlzdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGF0YTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+bmV3IGRhdGE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgc3VjY2Vzc2Z1bCwgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxMaXN0UmVtb3ZlQWxsIiBpZD0ieG1sTGlzdFJlbW92ZUFsbCI+PC9hPkZ1bmN0aW9uOiB4bWxMaXN0UmVtb3ZlQWxsPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbExpc3RSZW1vdmVBbGwJCSg8YSBocmVmPSJsaWJ4bWwtbGlzdC5odG1sI3htbExpc3RQdHIiPnhtbExpc3RQdHI8L2E+IGwsIDxiciAvPgkJCQkJIHZvaWQgKiBkYXRhKTxiciAvPgorPC9wcmU+PHA+UmVtb3ZlIHRoZSBhbGwgaW5zdGFuY2UgYXNzb2NpYXRlZCB0byBkYXRhIGluIHRoZSBsaXN0PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBsaXN0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kYXRhPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5saXN0IGRhdGE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgZGVhbGxvY2F0aW9uLCBvciAwIGlmIG5vdCBmb3VuZDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbExpc3RSZW1vdmVGaXJzdCIgaWQ9InhtbExpc3RSZW1vdmVGaXJzdCI+PC9hPkZ1bmN0aW9uOiB4bWxMaXN0UmVtb3ZlRmlyc3Q8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sTGlzdFJlbW92ZUZpcnN0CQkoPGEgaHJlZj0ibGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0UHRyIj54bWxMaXN0UHRyPC9hPiBsLCA8YnIgLz4JCQkJCSB2b2lkICogZGF0YSk8YnIgLz4KKzwvcHJlPjxwPlJlbW92ZSB0aGUgZmlyc3QgaW5zdGFuY2UgYXNzb2NpYXRlZCB0byBkYXRhIGluIHRoZSBsaXN0PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBsaXN0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kYXRhPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5saXN0IGRhdGE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgYSBkZWFsbG9jYXRpb24gb2NjdXJlZCwgb3IgMCBpZiBub3QgZm91bmQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxMaXN0UmVtb3ZlTGFzdCIgaWQ9InhtbExpc3RSZW1vdmVMYXN0Ij48L2E+RnVuY3Rpb246IHhtbExpc3RSZW1vdmVMYXN0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbExpc3RSZW1vdmVMYXN0CQkoPGEgaHJlZj0ibGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0UHRyIj54bWxMaXN0UHRyPC9hPiBsLCA8YnIgLz4JCQkJCSB2b2lkICogZGF0YSk8YnIgLz4KKzwvcHJlPjxwPlJlbW92ZSB0aGUgbGFzdCBpbnN0YW5jZSBhc3NvY2lhdGVkIHRvIGRhdGEgaW4gdGhlIGxpc3Q8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGxpc3Q8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRhdGE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmxpc3QgZGF0YTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiBhIGRlYWxsb2NhdGlvbiBvY2N1cmVkLCBvciAwIGlmIG5vdCBmb3VuZDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbExpc3RSZXZlcnNlIiBpZD0ieG1sTGlzdFJldmVyc2UiPjwvYT5GdW5jdGlvbjogeG1sTGlzdFJldmVyc2U8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbExpc3RSZXZlcnNlCQkJKDxhIGhyZWY9ImxpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdFB0ciI+eG1sTGlzdFB0cjwvYT4gbCk8YnIgLz4KKzwvcHJlPjxwPlJldmVyc2UgdGhlIG9yZGVyIG9mIHRoZSBlbGVtZW50cyBpbiB0aGUgbGlzdDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pmw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbGlzdDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbExpc3RSZXZlcnNlU2VhcmNoIiBpZD0ieG1sTGlzdFJldmVyc2VTZWFyY2giPjwvYT5GdW5jdGlvbjogeG1sTGlzdFJldmVyc2VTZWFyY2g8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkICoJeG1sTGlzdFJldmVyc2VTZWFyY2gJCSg8YSBocmVmPSJsaWJ4bWwtbGlzdC5odG1sI3htbExpc3RQdHIiPnhtbExpc3RQdHI8L2E+IGwsIDxiciAvPgkJCQkJIHZvaWQgKiBkYXRhKTxiciAvPgorPC9wcmU+PHA+U2VhcmNoIHRoZSBsaXN0IGluIHJldmVyc2Ugb3JkZXIgZm9yIGFuIGV4aXN0aW5nIHZhbHVlIG9mIEBkYXRhPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBsaXN0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kYXRhPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHNlYXJjaCB2YWx1ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHZhbHVlIGFzc29jaWF0ZWQgdG8gQGRhdGEgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sTGlzdFJldmVyc2VXYWxrIiBpZD0ieG1sTGlzdFJldmVyc2VXYWxrIj48L2E+RnVuY3Rpb246IHhtbExpc3RSZXZlcnNlV2FsazwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sTGlzdFJldmVyc2VXYWxrCQkoPGEgaHJlZj0ibGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0UHRyIj54bWxMaXN0UHRyPC9hPiBsLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtbGlzdC5odG1sI3htbExpc3RXYWxrZXIiPnhtbExpc3RXYWxrZXI8L2E+IHdhbGtlciwgPGJyIC8+CQkJCQkgY29uc3Qgdm9pZCAqIHVzZXIpPGJyIC8+Cis8L3ByZT48cD5XYWxrIGFsbCB0aGUgZWxlbWVudCBvZiB0aGUgbGlzdCBpbiByZXZlcnNlIG9yZGVyIGFuZCBhcHBseSB0aGUgd2Fsa2VyIGZ1bmN0aW9uIHRvIGl0PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBsaXN0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD53YWxrZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcHJvY2Vzc2luZyBmdW5jdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dXNlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSB1c2VyIHBhcmFtZXRlciBwYXNzZWQgdG8gdGhlIHdhbGtlciBmdW5jdGlvbjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbExpc3RTZWFyY2giIGlkPSJ4bWxMaXN0U2VhcmNoIj48L2E+RnVuY3Rpb246IHhtbExpc3RTZWFyY2g8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkICoJeG1sTGlzdFNlYXJjaAkJCSg8YSBocmVmPSJsaWJ4bWwtbGlzdC5odG1sI3htbExpc3RQdHIiPnhtbExpc3RQdHI8L2E+IGwsIDxiciAvPgkJCQkJIHZvaWQgKiBkYXRhKTxiciAvPgorPC9wcmU+PHA+U2VhcmNoIHRoZSBsaXN0IGZvciBhbiBleGlzdGluZyB2YWx1ZSBvZiBAZGF0YTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pmw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbGlzdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGF0YTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBzZWFyY2ggdmFsdWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB2YWx1ZSBhc3NvY2lhdGVkIHRvIEBkYXRhIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbExpc3RTaXplIiBpZD0ieG1sTGlzdFNpemUiPjwvYT5GdW5jdGlvbjogeG1sTGlzdFNpemU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sTGlzdFNpemUJCQkoPGEgaHJlZj0ibGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0UHRyIj54bWxMaXN0UHRyPC9hPiBsKTxiciAvPgorPC9wcmU+PHA+R2V0IHRoZSBudW1iZXIgb2YgZWxlbWVudHMgaW4gdGhlIGxpc3Q8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGxpc3Q8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgZWxlbWVudHMgaW4gdGhlIGxpc3Qgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbExpc3RTb3J0IiBpZD0ieG1sTGlzdFNvcnQiPjwvYT5GdW5jdGlvbjogeG1sTGlzdFNvcnQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbExpc3RTb3J0CQkJKDxhIGhyZWY9ImxpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdFB0ciI+eG1sTGlzdFB0cjwvYT4gbCk8YnIgLz4KKzwvcHJlPjxwPlNvcnQgYWxsIHRoZSBlbGVtZW50cyBpbiB0aGUgbGlzdDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pmw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbGlzdDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbExpc3RXYWxrIiBpZD0ieG1sTGlzdFdhbGsiPjwvYT5GdW5jdGlvbjogeG1sTGlzdFdhbGs8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbExpc3RXYWxrCQkJKDxhIGhyZWY9ImxpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdFB0ciI+eG1sTGlzdFB0cjwvYT4gbCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0V2Fsa2VyIj54bWxMaXN0V2Fsa2VyPC9hPiB3YWxrZXIsIDxiciAvPgkJCQkJIGNvbnN0IHZvaWQgKiB1c2VyKTxiciAvPgorPC9wcmU+PHA+V2FsayBhbGwgdGhlIGVsZW1lbnQgb2YgdGhlIGZpcnN0IGZyb20gZmlyc3QgdG8gbGFzdCBhbmQgYXBwbHkgdGhlIHdhbGtlciBmdW5jdGlvbiB0byBpdDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pmw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbGlzdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d2Fsa2VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHByb2Nlc3NpbmcgZnVuY3Rpb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnVzZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgdXNlciBwYXJhbWV0ZXIgcGFzc2VkIHRvIHRoZSB3YWxrZXIgZnVuY3Rpb248L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxMaXN0V2Fsa2VyIiBpZD0ieG1sTGlzdFdhbGtlciI+PC9hPkZ1bmN0aW9uIHR5cGU6IHhtbExpc3RXYWxrZXI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5GdW5jdGlvbiB0eXBlOiB4bWxMaXN0V2Fsa2VyCitpbnQJeG1sTGlzdFdhbGtlcgkJCShjb25zdCB2b2lkICogZGF0YSwgPGJyIC8+CQkJCQkgY29uc3Qgdm9pZCAqIHVzZXIpCis8L3ByZT48cD5DYWxsYmFjayBmdW5jdGlvbiB1c2VkIHdoZW4gd2Fsa2luZyBhIGxpc3Qgd2l0aCB4bWxMaXN0V2FsaygpLjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kYXRhPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZGF0YSBmb3VuZCBpbiB0aGUgbGlzdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dXNlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+ZXh0cmEgdXNlciBwcm92aWRlZCBkYXRhIHRvIHRoZSB3YWxrZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgdG8gc3RvcCB3YWxraW5nIHRoZSBsaXN0LCAxIG90aGVyd2lzZS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxiciAvPgorPHA+PGEgaHJlZj0iLi4vYnVncy5odG1sIj5EYW5pZWwgVmVpbGxhcmQ8L2E+PC9wPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9odG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwgYi9saWJ4bWwyL2RvYy9odG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWY3MGVhNgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL2h0bWwvbGlieG1sLW5hbm9mdHAuaHRtbApAQCAtMCwwICsxLDk0IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPgorPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPjxoZWFkPjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPjxsaW5rIHJlbD0iU0hPUlRDVVQgSUNPTiIgaHJlZj0iL2Zhdmljb24uaWNvIiAvPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CitURCB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorQk9EWSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhOyBtYXJnaW4tdG9wOiAyZW07IG1hcmdpbi1sZWZ0OiAwZW07IG1hcmdpbi1yaWdodDogMGVtfQorSDEge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gyIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMyB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorQTpsaW5rLCBBOnZpc2l0ZWQsIEE6YWN0aXZlIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgfQorPC9zdHlsZT48c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorICAgICAgZGl2LmRlcHJlY2F0ZWQgcHJlLnByb2dyYW1saXN0aW5nIHtib3JkZXItc3R5bGU6IGRvdWJsZTtib3JkZXItY29sb3I6cmVkfQorICAgICAgcHJlLnByb2dyYW1saXN0aW5nIHtib3JkZXItc3R5bGU6IGRvdWJsZTtiYWNrZ3JvdW5kOiAjRUVDRkExfQorICAgIDwvc3R5bGU+PHRpdGxlPk1vZHVsZSBuYW5vZnRwIGZyb20gbGlieG1sMjwvdGl0bGU+PC9oZWFkPjxib2R5IGJnY29sb3I9IiM4Yjc3NjUiIHRleHQ9IiMwMDAwMDAiIGxpbms9IiNhMDYwNjAiIHZsaW5rPSIjMDAwMDAwIj48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iMTAwJSIgY2VsbHBhZGRpbmc9IjUiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIHdpZHRoPSIxMjAiPjxhIGhyZWY9Imh0dHA6Ly9zd3BhdC5mZmlpLm9yZy8iPjxpbWcgc3JjPSIuLi9lcGF0ZW50cy5wbmciIGFsdD0iQWN0aW9uIGFnYWluc3Qgc29mdHdhcmUgcGF0ZW50cyIgLz48L2E+PC90ZD48dGQgd2lkdGg9IjE4MCI+PGEgaHJlZj0iaHR0cDovL3d3dy5nbm9tZS5vcmcvIj48aW1nIHNyYz0iLi4vZ25vbWUyLnBuZyIgYWx0PSJHbm9tZTIgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvU3RhdHVzIj48aW1nIHNyYz0iLi4vdzNjLnBuZyIgYWx0PSJXM0MgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy5yZWRoYXQuY29tLyI+PGltZyBzcmM9Ii4uL3JlZGhhdC5naWYiIGFsdD0iUmVkIEhhdCBMb2dvIiAvPjwvYT48ZGl2IGFsaWduPSJsZWZ0Ij48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvIj48aW1nIHNyYz0iLi4vTGlieG1sMi1Mb2dvLTE4MHgxNjguZ2lmIiBhbHQ9Ik1hZGUgd2l0aCBMaWJ4bWwyIExvZ28iIC8+PC9hPjwvZGl2PjwvdGQ+PHRkPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSI5MCUiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIiBiZ2NvbG9yPSIjZmZmYWNkIj48dHI+PHRkIGFsaWduPSJjZW50ZXIiPjxoMT48L2gxPjxoMj5Nb2R1bGUgbmFub2Z0cCBmcm9tIGxpYnhtbDI8L2gyPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI0IiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCB2YWxpZ249InRvcCIgd2lkdGg9IjIwMCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+QVBJIE1lbnU8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PGZvcm0gYWN0aW9uPSIuLi9zZWFyY2gucGhwIiBlbmN0eXBlPSJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiIG1ldGhvZD0iZ2V0Ij48aW5wdXQgbmFtZT0icXVlcnkiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iIiAvPjxpbnB1dCBuYW1lPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNlYXJjaCAuLi4iIC8+PC9mb3JtPjx1bD48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9Ii4uL2luZGV4Lmh0bWwiPk1haW4gTWVudTwvYT48L2xpPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iLi4vZG9jcy5odG1sIj5EZXZlbG9wZXIgTWVudTwvYT48L2xpPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iLi4vZXhhbXBsZXMvaW5kZXguaHRtbCI+Q29kZSBFeGFtcGxlczwvYT48L2xpPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iaW5kZXguaHRtbCI+QVBJIE1lbnU8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXBhcnNlci5odG1sIj5QYXJzZXIgQVBJPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwiPlRyZWUgQVBJPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCI+UmVhZGVyIEFQSTwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9ndWlkZWxpbmVzLmh0bWwiPlhNTCBHdWlkZWxpbmVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0NoYW5nZUxvZy5odG1sIj5DaGFuZ2VMb2c8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5BUEkgSW5kZXhlczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9Ii4uL0FQSWNodW5rMC5odG1sIj5BbHBoYWJldGljPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSWNvbnN0cnVjdG9ycy5odG1sIj5Db25zdHJ1Y3RvcnM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJZnVuY3Rpb25zLmh0bWwiPkZ1bmN0aW9ucy9UeXBlczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUElmaWxlcy5odG1sIj5Nb2R1bGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSXN5bWJvbHMuaHRtbCI+U3ltYm9sczwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPlJlbGF0ZWQgbGlua3M8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSJodHRwOi8vbWFpbC5nbm9tZS5vcmcvYXJjaGl2ZXMveG1sLyI+TWFpbCBhcmNoaXZlPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9YU0xULyI+WFNMVCBsaWJ4c2x0PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9waGQuY3MudW5pYm8uaXQvZ2RvbWUyLyI+RE9NIGdkb21lMjwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmFsZWtzZXkuY29tL3htbHNlYy8iPlhNTC1EU2lnIHhtbHNlYzwvYT48L2xpPjxsaT48YSBocmVmPSJmdHA6Ly94bWxzb2Z0Lm9yZy8iPkZUUDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnpsYXRrb3ZpYy5jb20vcHJvamVjdHMvbGlieG1sLyI+V2luZG93cyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vb3BlbmNzdy5vcmcvcGFja2FnZXMvbGlieG1sMiI+U29sYXJpcyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmV4cGxhaW4uY29tLmF1L29zcy9saWJ4bWwyeHNsdC5odG1sIj5NYWNPc1ggYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2x4bWwuZGUvIj5seG1sIFB5dGhvbiBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vY3Bhbi51d2lubmlwZWcuY2EvZGlzdC9YTUwtTGliWE1MIj5QZXJsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWxwbHVzcGx1cy5zb3VyY2Vmb3JnZS5uZXQvIj5DKysgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56ZW5kLmNvbS9waHA1L2FydGljbGVzL3BocDUteG1scGhwLnBocCNIZWFkaW5nNCI+UEhQIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbGlieG1sMi1wYXMvIj5QYXNjYWwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbC5ydWJ5Zm9yZ2Uub3JnLyI+UnVieSBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vdGNseG1sLnNvdXJjZWZvcmdlLm5ldC8iPlRjbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2J1Z2xpc3QuY2dpP3Byb2R1Y3Q9bGlieG1sMiI+QnVnIFRyYWNrZXI8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dGFibGUgY2xhc3M9Im5hdmlnYXRpb24iIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIyIj48dHIgdmFsaWduPSJtaWRkbGUiPjx0ZD48YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImxpYnhtbC1saXN0Lmh0bWwiPjxpbWcgc3JjPSJsZWZ0LnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iUHJldiIgLz48L2E+PC90ZD48dGggYWxpZ249ImxlZnQiPjxhIGhyZWY9ImxpYnhtbC1saXN0Lmh0bWwiPmxpc3Q8L2E+PC90aD48dGQ+PGEgYWNjZXNza2V5PSJ1IiBocmVmPSJpbmRleC5odG1sIj48aW1nIHNyYz0idXAucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJVcCIgLz48L2E+PC90ZD48dGggYWxpZ249ImxlZnQiPjxhIGhyZWY9ImluZGV4Lmh0bWwiPkFQSSBkb2N1bWVudGF0aW9uPC9hPjwvdGg+PHRkPjxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iLi4vaW5kZXguaHRtbCI+PGltZyBzcmM9ImhvbWUucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJIb21lIiAvPjwvYT48L3RkPjx0aCBhbGlnbj0iY2VudGVyIj48YSBocmVmPSIuLi9pbmRleC5odG1sIj5UaGUgWE1MIEMgcGFyc2VyIGFuZCB0b29sa2l0IG9mIEdub21lPC9hPjwvdGg+PHRoIGFsaWduPSJyaWdodCI+PGEgaHJlZj0ibGlieG1sLW5hbm9odHRwLmh0bWwiPm5hbm9odHRwPC9hPjwvdGg+PHRkPjxhIGFjY2Vzc2tleT0ibiIgaHJlZj0ibGlieG1sLW5hbm9odHRwLmh0bWwiPjxpbWcgc3JjPSJyaWdodC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9Ik5leHQiIC8+PC9hPjwvdGQ+PC90cj48L3RhYmxlPjxwPm1pbmltYWwgRlRQIGltcGxlbWVudGF0aW9uIGFsbG93aW5nIHRvIGZldGNoIHJlc291cmNlcyBsaWtlIGV4dGVybmFsIHN1YnNldC4gPC9wPjxoMj5UYWJsZSBvZiBDb250ZW50czwvaDI+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI0lOVkFMSURfU09DS0VUIj5JTlZBTElEX1NPQ0tFVDwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjU09DS0VUIj5TT0NLRVQ8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkZ1bmN0aW9uIHR5cGU6IDxhIGhyZWY9IiNmdHBEYXRhQ2FsbGJhY2siPmZ0cERhdGFDYWxsYmFjazwvYT4KK3ZvaWQJPGEgaHJlZj0iI2Z0cERhdGFDYWxsYmFjayI+ZnRwRGF0YUNhbGxiYWNrPC9hPgkJCSh2b2lkICogdXNlckRhdGEsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBkYXRhLCA8YnIgLz4JCQkJCSBpbnQgbGVuKQorPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RnVuY3Rpb24gdHlwZTogPGEgaHJlZj0iI2Z0cExpc3RDYWxsYmFjayI+ZnRwTGlzdENhbGxiYWNrPC9hPgordm9pZAk8YSBocmVmPSIjZnRwTGlzdENhbGxiYWNrIj5mdHBMaXN0Q2FsbGJhY2s8L2E+CQkJKHZvaWQgKiB1c2VyRGF0YSwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGZpbGVuYW1lLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogYXR0cmliLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogb3duZXIsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBncm91cCwgPGJyIC8+CQkJCQkgdW5zaWduZWQgbG9uZyBzaXplLCA8YnIgLz4JCQkJCSBpbnQgbGlua3MsIDxiciAvPgkJCQkJIGludCB5ZWFyLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogbW9udGgsIDxiciAvPgkJCQkJIGludCBkYXksIDxiciAvPgkJCQkJIGludCBob3VyLCA8YnIgLz4JCQkJCSBpbnQgbWludXRlKQorPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxOYW5vRlRQQ2hlY2tSZXNwb25zZSI+eG1sTmFub0ZUUENoZWNrUmVzcG9uc2U8L2E+CQkodm9pZCAqIGN0eCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxOYW5vRlRQQ2xlYW51cCI+eG1sTmFub0ZUUENsZWFudXA8L2E+CQkodm9pZCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbE5hbm9GVFBDbG9zZSI+eG1sTmFub0ZUUENsb3NlPC9hPgkJCSh2b2lkICogY3R4KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sTmFub0ZUUENsb3NlQ29ubmVjdGlvbiI+eG1sTmFub0ZUUENsb3NlQ29ubmVjdGlvbjwvYT4JKHZvaWQgKiBjdHgpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxOYW5vRlRQQ29ubmVjdCI+eG1sTmFub0ZUUENvbm5lY3Q8L2E+CQkodm9pZCAqIGN0eCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkICoJPGEgaHJlZj0iI3htbE5hbm9GVFBDb25uZWN0VG8iPnhtbE5hbm9GVFBDb25uZWN0VG88L2E+CQkoY29uc3QgY2hhciAqIHNlcnZlciwgPGJyIC8+CQkJCQkgaW50IHBvcnQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxOYW5vRlRQQ3dkIj54bWxOYW5vRlRQQ3dkPC9hPgkJCSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogZGlyZWN0b3J5KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sTmFub0ZUUERlbGUiPnhtbE5hbm9GVFBEZWxlPC9hPgkJCSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogZmlsZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxOYW5vRlRQRnJlZUN0eHQiPnhtbE5hbm9GVFBGcmVlQ3R4dDwvYT4JCSh2b2lkICogY3R4KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sTmFub0ZUUEdldCI+eG1sTmFub0ZUUEdldDwvYT4JCQkodm9pZCAqIGN0eCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLW5hbm9mdHAuaHRtbCNmdHBEYXRhQ2FsbGJhY2siPmZ0cERhdGFDYWxsYmFjazwvYT4gY2FsbGJhY2ssIDxiciAvPgkJCQkJIHZvaWQgKiB1c2VyRGF0YSwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGZpbGVuYW1lKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC1uYW5vZnRwLmh0bWwjU09DS0VUIj5TT0NLRVQ8L2E+CTxhIGhyZWY9IiN4bWxOYW5vRlRQR2V0Q29ubmVjdGlvbiI+eG1sTmFub0ZUUEdldENvbm5lY3Rpb248L2E+CQkodm9pZCAqIGN0eCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbE5hbm9GVFBHZXRSZXNwb25zZSI+eG1sTmFub0ZUUEdldFJlc3BvbnNlPC9hPgkJKHZvaWQgKiBjdHgpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLW5hbm9mdHAuaHRtbCNTT0NLRVQiPlNPQ0tFVDwvYT4JPGEgaHJlZj0iI3htbE5hbm9GVFBHZXRTb2NrZXQiPnhtbE5hbm9GVFBHZXRTb2NrZXQ8L2E+CQkodm9pZCAqIGN0eCwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGZpbGVuYW1lKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbE5hbm9GVFBJbml0Ij54bWxOYW5vRlRQSW5pdDwvYT4JCQkodm9pZCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbE5hbm9GVFBMaXN0Ij54bWxOYW5vRlRQTGlzdDwvYT4JCQkodm9pZCAqIGN0eCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLW5hbm9mdHAuaHRtbCNmdHBMaXN0Q2FsbGJhY2siPmZ0cExpc3RDYWxsYmFjazwvYT4gY2FsbGJhY2ssIDxiciAvPgkJCQkJIHZvaWQgKiB1c2VyRGF0YSwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGZpbGVuYW1lKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQgKgk8YSBocmVmPSIjeG1sTmFub0ZUUE5ld0N0eHQiPnhtbE5hbm9GVFBOZXdDdHh0PC9hPgkJKGNvbnN0IGNoYXIgKiBVUkwpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZCAqCTxhIGhyZWY9IiN4bWxOYW5vRlRQT3BlbiI+eG1sTmFub0ZUUE9wZW48L2E+CQkJKGNvbnN0IGNoYXIgKiBVUkwpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sTmFub0ZUUFByb3h5Ij54bWxOYW5vRlRQUHJveHk8L2E+CQkJKGNvbnN0IGNoYXIgKiBob3N0LCA8YnIgLz4JCQkJCSBpbnQgcG9ydCwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIHVzZXIsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBwYXNzd2QsIDxiciAvPgkJCQkJIGludCB0eXBlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sTmFub0ZUUFF1aXQiPnhtbE5hbm9GVFBRdWl0PC9hPgkJCSh2b2lkICogY3R4KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sTmFub0ZUUFJlYWQiPnhtbE5hbm9GVFBSZWFkPC9hPgkJCSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSB2b2lkICogZGVzdCwgPGJyIC8+CQkJCQkgaW50IGxlbik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxOYW5vRlRQU2NhblByb3h5Ij54bWxOYW5vRlRQU2NhblByb3h5PC9hPgkJKGNvbnN0IGNoYXIgKiBVUkwpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxOYW5vRlRQVXBkYXRlVVJMIj54bWxOYW5vRlRQVXBkYXRlVVJMPC9hPgkJKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBVUkwpPC9wcmU+Cis8aDI+RGVzY3JpcHRpb248L2gyPgorPGgzPjxhIG5hbWU9IklOVkFMSURfU09DS0VUIiBpZD0iSU5WQUxJRF9TT0NLRVQiPjwvYT5NYWNybzogSU5WQUxJRF9TT0NLRVQ8L2gzPjxwcmU+I2RlZmluZSBJTlZBTElEX1NPQ0tFVDwvcHJlPjxwPm1hY3JvIHVzZWQgdG8gcHJvdmlkZSBwb3J0YWJpbGl0eSBvZiBjb2RlIHRvIHdpbmRvd3Mgc29ja2V0cyB0aGUgdmFsdWUgdG8gYmUgdXNlZCB3aGVuIHRoZSBzb2NrZXQgaXMgbm90IHZhbGlkPC9wPgorPGgzPjxhIG5hbWU9IlNPQ0tFVCIgaWQ9IlNPQ0tFVCI+PC9hPk1hY3JvOiBTT0NLRVQ8L2gzPjxwcmU+I2RlZmluZSBTT0NLRVQ8L3ByZT48cD5tYWNybyB1c2VkIHRvIHByb3ZpZGUgcG9ydGFiaWxpdHkgb2YgY29kZSB0byB3aW5kb3dzIHNvY2tldHM8L3A+Cis8aDM+PGEgbmFtZT0iZnRwRGF0YUNhbGxiYWNrIiBpZD0iZnRwRGF0YUNhbGxiYWNrIj48L2E+RnVuY3Rpb24gdHlwZTogZnRwRGF0YUNhbGxiYWNrPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RnVuY3Rpb24gdHlwZTogZnRwRGF0YUNhbGxiYWNrCit2b2lkCWZ0cERhdGFDYWxsYmFjawkJCSh2b2lkICogdXNlckRhdGEsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBkYXRhLCA8YnIgLz4JCQkJCSBpbnQgbGVuKQorPC9wcmU+PHA+QSBjYWxsYmFjayBmb3IgdGhlIDxhIGhyZWY9ImxpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUEdldCI+eG1sTmFub0ZUUEdldDwvYT4gY29tbWFuZC48L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dXNlckRhdGE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIHByb3ZpZGVkIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRhdGE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkYXRhIHJlY2VpdmVkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPml0cyBzaXplIGluIGJ5dGVzPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48YnIgLz4KKzxoMz48YSBuYW1lPSJmdHBMaXN0Q2FsbGJhY2siIGlkPSJmdHBMaXN0Q2FsbGJhY2siPjwvYT5GdW5jdGlvbiB0eXBlOiBmdHBMaXN0Q2FsbGJhY2s8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5GdW5jdGlvbiB0eXBlOiBmdHBMaXN0Q2FsbGJhY2sKK3ZvaWQJZnRwTGlzdENhbGxiYWNrCQkJKHZvaWQgKiB1c2VyRGF0YSwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGZpbGVuYW1lLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogYXR0cmliLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogb3duZXIsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBncm91cCwgPGJyIC8+CQkJCQkgdW5zaWduZWQgbG9uZyBzaXplLCA8YnIgLz4JCQkJCSBpbnQgbGlua3MsIDxiciAvPgkJCQkJIGludCB5ZWFyLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogbW9udGgsIDxiciAvPgkJCQkJIGludCBkYXksIDxiciAvPgkJCQkJIGludCBob3VyLCA8YnIgLz4JCQkJCSBpbnQgbWludXRlKQorPC9wcmU+PHA+QSBjYWxsYmFjayBmb3IgdGhlIDxhIGhyZWY9ImxpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUExpc3QiPnhtbE5hbm9GVFBMaXN0PC9hPiBjb21tYW5kLiBOb3RlIHRoYXQgb25seSBvbmUgb2YgeWVhciBhbmQgZGF5Om1pbnV0ZSBhcmUgc3BlY2lmaWVkLjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD51c2VyRGF0YTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dXNlciBwcm92aWRlZCBkYXRhIGZvciB0aGUgY2FsbGJhY2s8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZpbGVuYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZmlsZSBuYW1lIChpbmNsdWRpbmcgIi0mZ3Q7IiB3aGVuIGxpbmtzIGFyZSBzaG93bik8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmF0dHJpYjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gc3RyaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vd25lcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG93bmVyIHN0cmluZzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Z3JvdXA8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBncm91cCBzdHJpbmc8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNpemU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmaWxlIHNpemU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxpbmtzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbGluayBjb3VudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+eWVhcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHllYXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm1vbnRoPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbW9udGg8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRheTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRheTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aG91cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGhvdXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm1pbnV0ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG1pbnV0ZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGJyIC8+Cis8aDM+PGEgbmFtZT0ieG1sTmFub0ZUUENoZWNrUmVzcG9uc2UiIGlkPSJ4bWxOYW5vRlRQQ2hlY2tSZXNwb25zZSI+PC9hPkZ1bmN0aW9uOiB4bWxOYW5vRlRQQ2hlY2tSZXNwb25zZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxOYW5vRlRQQ2hlY2tSZXNwb25zZQkJKHZvaWQgKiBjdHgpPGJyIC8+Cis8L3ByZT48cD5DaGVjayBpZiB0aGVyZSBpcyBhIHJlc3BvbnNlIGZyb20gdGhlIEZUUCBzZXJ2ZXIgYWZ0ZXIgYSBjb21tYW5kLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gRlRQIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjb2RlIG51bWJlciwgb3IgMDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbE5hbm9GVFBDbGVhbnVwIiBpZD0ieG1sTmFub0ZUUENsZWFudXAiPjwvYT5GdW5jdGlvbjogeG1sTmFub0ZUUENsZWFudXA8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbE5hbm9GVFBDbGVhbnVwCQkodm9pZCk8YnIgLz4KKzwvcHJlPjxwPkNsZWFudXAgdGhlIEZUUCBwcm90b2NvbCBsYXllci4gVGhpcyBjbGVhbnVwIHByb3h5IGluZm9ybWF0aW9ucy48L3A+Cis8aDM+PGEgbmFtZT0ieG1sTmFub0ZUUENsb3NlIiBpZD0ieG1sTmFub0ZUUENsb3NlIj48L2E+RnVuY3Rpb246IHhtbE5hbm9GVFBDbG9zZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxOYW5vRlRQQ2xvc2UJCQkodm9pZCAqIGN0eCk8YnIgLz4KKzwvcHJlPjxwPkNsb3NlIHRoZSBjb25uZWN0aW9uIGFuZCBib3RoIGNvbnRyb2wgYW5kIHRyYW5zcG9ydDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gRlRQIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPi0xIGluY2FzZSBvZiBlcnJvciwgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxOYW5vRlRQQ2xvc2VDb25uZWN0aW9uIiBpZD0ieG1sTmFub0ZUUENsb3NlQ29ubmVjdGlvbiI+PC9hPkZ1bmN0aW9uOiB4bWxOYW5vRlRQQ2xvc2VDb25uZWN0aW9uPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbE5hbm9GVFBDbG9zZUNvbm5lY3Rpb24JKHZvaWQgKiBjdHgpPGJyIC8+Cis8L3ByZT48cD5DbG9zZSB0aGUgZGF0YSBjb25uZWN0aW9uIGZyb20gdGhlIHNlcnZlcjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gRlRQIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPi0xIGluY2FzZSBvZiBlcnJvciwgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxOYW5vRlRQQ29ubmVjdCIgaWQ9InhtbE5hbm9GVFBDb25uZWN0Ij48L2E+RnVuY3Rpb246IHhtbE5hbm9GVFBDb25uZWN0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbE5hbm9GVFBDb25uZWN0CQkodm9pZCAqIGN0eCk8YnIgLz4KKzwvcHJlPjxwPlRyaWVzIHRvIG9wZW4gYSBjb250cm9sIGNvbm5lY3Rpb248L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIEZUUCBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4tMSBpbiBjYXNlIG9mIGVycm9yLCAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbE5hbm9GVFBDb25uZWN0VG8iIGlkPSJ4bWxOYW5vRlRQQ29ubmVjdFRvIj48L2E+RnVuY3Rpb246IHhtbE5hbm9GVFBDb25uZWN0VG88L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkICoJeG1sTmFub0ZUUENvbm5lY3RUbwkJKGNvbnN0IGNoYXIgKiBzZXJ2ZXIsIDxiciAvPgkJCQkJIGludCBwb3J0KTxiciAvPgorPC9wcmU+PHA+VHJpZXMgdG8gb3BlbiBhIGNvbnRyb2wgY29ubmVjdGlvbiB0byB0aGUgZ2l2ZW4gc2VydmVyL3BvcnQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zZXJ2ZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIEZUUCBzZXJ2ZXIgbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cG9ydDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHBvcnQgKHVzZSAyMSBpZiAwKTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gZlRQIGNvbnRleHQgb3IgTlVMTCBpZiBpdCBmYWlsZWQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxOYW5vRlRQQ3dkIiBpZD0ieG1sTmFub0ZUUEN3ZCI+PC9hPkZ1bmN0aW9uOiB4bWxOYW5vRlRQQ3dkPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbE5hbm9GVFBDd2QJCQkodm9pZCAqIGN0eCwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGRpcmVjdG9yeSk8YnIgLz4KKzwvcHJlPjxwPlRyaWVzIHRvIGNoYW5nZSB0aGUgcmVtb3RlIGRpcmVjdG9yeTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gRlRQIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRpcmVjdG9yeTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBkaXJlY3Rvcnkgb24gdGhlIHNlcnZlcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+LTEgaW5jYXNlIG9mIGVycm9yLCAxIGlmIENXRCB3b3JrZWQsIDAgaWYgaXQgZmFpbGVkPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sTmFub0ZUUERlbGUiIGlkPSJ4bWxOYW5vRlRQRGVsZSI+PC9hPkZ1bmN0aW9uOiB4bWxOYW5vRlRQRGVsZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxOYW5vRlRQRGVsZQkJCSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogZmlsZSk8YnIgLz4KKzwvcHJlPjxwPlRyaWVzIHRvIGRlbGV0ZSBhbiBpdGVtIChmaWxlIG9yIGRpcmVjdG9yeSkgZnJvbSBzZXJ2ZXI8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIEZUUCBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGZpbGUgb3IgZGlyZWN0b3J5IG9uIHRoZSBzZXJ2ZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPi0xIGluY2FzZSBvZiBlcnJvciwgMSBpZiBERUxFIHdvcmtlZCwgMCBpZiBpdCBmYWlsZWQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxOYW5vRlRQRnJlZUN0eHQiIGlkPSJ4bWxOYW5vRlRQRnJlZUN0eHQiPjwvYT5GdW5jdGlvbjogeG1sTmFub0ZUUEZyZWVDdHh0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxOYW5vRlRQRnJlZUN0eHQJCSh2b2lkICogY3R4KTxiciAvPgorPC9wcmU+PHA+RnJlZXMgdGhlIGNvbnRleHQgYWZ0ZXIgY2xvc2luZyB0aGUgY29ubmVjdGlvbi48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIEZUUCBjb250ZXh0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sTmFub0ZUUEdldCIgaWQ9InhtbE5hbm9GVFBHZXQiPjwvYT5GdW5jdGlvbjogeG1sTmFub0ZUUEdldDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxOYW5vRlRQR2V0CQkJKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC1uYW5vZnRwLmh0bWwjZnRwRGF0YUNhbGxiYWNrIj5mdHBEYXRhQ2FsbGJhY2s8L2E+IGNhbGxiYWNrLCA8YnIgLz4JCQkJCSB2b2lkICogdXNlckRhdGEsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBmaWxlbmFtZSk8YnIgLz4KKzwvcHJlPjxwPkZldGNoIHRoZSBnaXZlbiBmaWxlIGZyb20gdGhlIHNlcnZlci4gQWxsIGRhdGEgYXJlIHBhc3NlZCBiYWNrIGluIHRoZSBjYWxsYmFja3MuIFRoZSBsYXN0IGNhbGxiYWNrIGhhcyBhIHNpemUgb2YgMCBibG9jay48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIEZUUCBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jYWxsYmFjazwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgY2FsbGJhY2s8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnVzZXJEYXRhPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlciBjYWxsYmFjayBkYXRhPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlbmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZpbGUgdG8gcmV0cmlldmU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPi0xIGluY2FzZSBvZiBlcnJvciwgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxOYW5vRlRQR2V0Q29ubmVjdGlvbiIgaWQ9InhtbE5hbm9GVFBHZXRDb25uZWN0aW9uIj48L2E+RnVuY3Rpb246IHhtbE5hbm9GVFBHZXRDb25uZWN0aW9uPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLW5hbm9mdHAuaHRtbCNTT0NLRVQiPlNPQ0tFVDwvYT4JeG1sTmFub0ZUUEdldENvbm5lY3Rpb24JCSh2b2lkICogY3R4KTxiciAvPgorPC9wcmU+PHA+VHJ5IHRvIG9wZW4gYSBkYXRhIGNvbm5lY3Rpb24gdG8gdGhlIHNlcnZlci4gQ3VycmVudGx5IG9ubHkgcGFzc2l2ZSBtb2RlIGlzIHN1cHBvcnRlZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIEZUUCBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4tMSBpbmNhc2Ugb2YgZXJyb3IsIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sTmFub0ZUUEdldFJlc3BvbnNlIiBpZD0ieG1sTmFub0ZUUEdldFJlc3BvbnNlIj48L2E+RnVuY3Rpb246IHhtbE5hbm9GVFBHZXRSZXNwb25zZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxOYW5vRlRQR2V0UmVzcG9uc2UJCSh2b2lkICogY3R4KTxiciAvPgorPC9wcmU+PHA+R2V0IHRoZSByZXNwb25zZSBmcm9tIHRoZSBGVFAgc2VydmVyIGFmdGVyIGEgY29tbWFuZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIEZUUCBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY29kZSBudW1iZXI8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxOYW5vRlRQR2V0U29ja2V0IiBpZD0ieG1sTmFub0ZUUEdldFNvY2tldCI+PC9hPkZ1bmN0aW9uOiB4bWxOYW5vRlRQR2V0U29ja2V0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLW5hbm9mdHAuaHRtbCNTT0NLRVQiPlNPQ0tFVDwvYT4JeG1sTmFub0ZUUEdldFNvY2tldAkJKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBmaWxlbmFtZSk8YnIgLz4KKzwvcHJlPjxwPkluaXRpYXRlIGZldGNoIG9mIHRoZSBnaXZlbiBmaWxlIGZyb20gdGhlIHNlcnZlci48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIEZUUCBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlbmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZpbGUgdG8gcmV0cmlldmUgKG9yIE5VTEwgaWYgcGF0aCBpcyBpbiBjb250ZXh0KS48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzb2NrZXQgZm9yIHRoZSBkYXRhIGNvbm5lY3Rpb24sIG9yICZsdDswIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxOYW5vRlRQSW5pdCIgaWQ9InhtbE5hbm9GVFBJbml0Ij48L2E+RnVuY3Rpb246IHhtbE5hbm9GVFBJbml0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxOYW5vRlRQSW5pdAkJCSh2b2lkKTxiciAvPgorPC9wcmU+PHA+SW5pdGlhbGl6ZSB0aGUgRlRQIHByb3RvY29sIGxheWVyLiBDdXJyZW50bHkgaXQganVzdCBjaGVja3MgZm9yIHByb3h5IGluZm9ybWF0aW9ucywgYW5kIGdldCB0aGUgaG9zdG5hbWU8L3A+Cis8aDM+PGEgbmFtZT0ieG1sTmFub0ZUUExpc3QiIGlkPSJ4bWxOYW5vRlRQTGlzdCI+PC9hPkZ1bmN0aW9uOiB4bWxOYW5vRlRQTGlzdDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxOYW5vRlRQTGlzdAkJCSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtbmFub2Z0cC5odG1sI2Z0cExpc3RDYWxsYmFjayI+ZnRwTGlzdENhbGxiYWNrPC9hPiBjYWxsYmFjaywgPGJyIC8+CQkJCQkgdm9pZCAqIHVzZXJEYXRhLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogZmlsZW5hbWUpPGJyIC8+Cis8L3ByZT48cD5EbyBhIGxpc3Rpbmcgb24gdGhlIHNlcnZlci4gQWxsIGZpbGVzIGluZm8gYXJlIHBhc3NlZCBiYWNrIGluIHRoZSBjYWxsYmFja3MuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBGVFAgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y2FsbGJhY2s8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIGNhbGxiYWNrPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD51c2VyRGF0YTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgY2FsbGJhY2sgZGF0YTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmlsZW5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPm9wdGlvbmFsIGZpbGVzIHRvIGxpc3Q8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPi0xIGluY2FzZSBvZiBlcnJvciwgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxOYW5vRlRQTmV3Q3R4dCIgaWQ9InhtbE5hbm9GVFBOZXdDdHh0Ij48L2E+RnVuY3Rpb246IHhtbE5hbm9GVFBOZXdDdHh0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZCAqCXhtbE5hbm9GVFBOZXdDdHh0CQkoY29uc3QgY2hhciAqIFVSTCk8YnIgLz4KKzwvcHJlPjxwPkFsbG9jYXRlIGFuZCBpbml0aWFsaXplIGEgbmV3IEZUUCBjb250ZXh0LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlVSTDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VGhlIFVSTCB1c2VkIHRvIGluaXRpYWxpemUgdGhlIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIEZUUCBjb250ZXh0IG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxOYW5vRlRQT3BlbiIgaWQ9InhtbE5hbm9GVFBPcGVuIj48L2E+RnVuY3Rpb246IHhtbE5hbm9GVFBPcGVuPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZCAqCXhtbE5hbm9GVFBPcGVuCQkJKGNvbnN0IGNoYXIgKiBVUkwpPGJyIC8+Cis8L3ByZT48cD5TdGFydCB0byBmZXRjaCB0aGUgZ2l2ZW4gZnRwOi8vIHJlc291cmNlPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+VVJMPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgVVJMIHRvIHRoZSByZXNvdXJjZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gRlRQIGNvbnRleHQsIG9yIE5VTEw8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxOYW5vRlRQUHJveHkiIGlkPSJ4bWxOYW5vRlRQUHJveHkiPjwvYT5GdW5jdGlvbjogeG1sTmFub0ZUUFByb3h5PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxOYW5vRlRQUHJveHkJCQkoY29uc3QgY2hhciAqIGhvc3QsIDxiciAvPgkJCQkJIGludCBwb3J0LCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogdXNlciwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIHBhc3N3ZCwgPGJyIC8+CQkJCQkgaW50IHR5cGUpPGJyIC8+Cis8L3ByZT48cD5TZXR1cCB0aGUgRlRQIHByb3h5IGluZm9ybWF0aW9ucy4gVGhpcyBjYW4gYWxzbyBiZSBkb25lIGJ5IHVzaW5nIGZ0cF9wcm94eSBmdHBfcHJveHlfdXNlciBhbmQgZnRwX3Byb3h5X3Bhc3N3b3JkIGVudmlyb25tZW50IHZhcmlhYmxlcy48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ob3N0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcHJveHkgaG9zdCBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wb3J0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcHJveHkgcG9ydDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dXNlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHByb3h5IHVzZXIgbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cGFzc3dkPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcHJveHkgcGFzc3dvcmQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnR5cGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB0eXBlIG9mIHByb3h5IDEgZm9yIHVzaW5nIFNJVEUsIDIgZm9yIFVTRVIgYUBiPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sTmFub0ZUUFF1aXQiIGlkPSJ4bWxOYW5vRlRQUXVpdCI+PC9hPkZ1bmN0aW9uOiB4bWxOYW5vRlRQUXVpdDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxOYW5vRlRQUXVpdAkJCSh2b2lkICogY3R4KTxiciAvPgorPC9wcmU+PHA+U2VuZCBhIFFVSVQgY29tbWFuZCB0byB0aGUgc2VydmVyPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBGVFAgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+LTEgaW4gY2FzZSBvZiBlcnJvciwgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxOYW5vRlRQUmVhZCIgaWQ9InhtbE5hbm9GVFBSZWFkIj48L2E+RnVuY3Rpb246IHhtbE5hbm9GVFBSZWFkPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbE5hbm9GVFBSZWFkCQkJKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJIHZvaWQgKiBkZXN0LCA8YnIgLz4JCQkJCSBpbnQgbGVuKTxiciAvPgorPC9wcmU+PHA+VGhpcyBmdW5jdGlvbiB0cmllcyB0byByZWFkIEBsZW4gYnl0ZXMgZnJvbSB0aGUgZXhpc3RpbmcgRlRQIGNvbm5lY3Rpb24gYW5kIHNhdmVzIHRoZW0gaW4gQGRlc3QuIFRoaXMgaXMgYSBibG9ja2luZyBjYWxsLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIEZUUCBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kZXN0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGJ1ZmZlcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGVuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnVmZmVyIGxlbmd0aDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBieXRlIHJlYWQuIDAgaXMgYW4gaW5kaWNhdGlvbiBvZiBhbiBlbmQgb2YgY29ubmVjdGlvbi4gLTEgaW5kaWNhdGVzIGEgcGFyYW1ldGVyIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbE5hbm9GVFBTY2FuUHJveHkiIGlkPSJ4bWxOYW5vRlRQU2NhblByb3h5Ij48L2E+RnVuY3Rpb246IHhtbE5hbm9GVFBTY2FuUHJveHk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbE5hbm9GVFBTY2FuUHJveHkJCShjb25zdCBjaGFyICogVVJMKTxiciAvPgorPC9wcmU+PHA+KFJlKUluaXRpYWxpemUgdGhlIEZUUCBQcm94eSBjb250ZXh0IGJ5IHBhcnNpbmcgdGhlIFVSTCBhbmQgZmluZGluZyB0aGUgcHJvdG9jb2wgaG9zdCBwb3J0IGl0IGluZGljYXRlcy4gU2hvdWxkIGJlIGxpa2UgZnRwOi8vbXlwcm94eS8gb3IgZnRwOi8vbXlwcm94eTozMTI4LyBBIE5VTEwgVVJMIGNsZWFucyB1cCBwcm94eSBpbmZvcm1hdGlvbnMuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+VVJMPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5UaGUgcHJveHkgVVJMIHVzZWQgdG8gaW5pdGlhbGl6ZSB0aGUgcHJveHkgY29udGV4dDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbE5hbm9GVFBVcGRhdGVVUkwiIGlkPSJ4bWxOYW5vRlRQVXBkYXRlVVJMIj48L2E+RnVuY3Rpb246IHhtbE5hbm9GVFBVcGRhdGVVUkw8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sTmFub0ZUUFVwZGF0ZVVSTAkJKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBVUkwpPGJyIC8+Cis8L3ByZT48cD5VcGRhdGUgYW4gRlRQIGNvbnRleHQgYnkgcGFyc2luZyB0aGUgVVJMIGFuZCBmaW5kaW5nIG5ldyBwYXRoIGl0IGluZGljYXRlcy4gSWYgdGhlcmUgaXMgYW4gZXJyb3IgaW4gdGhlIHByb3RvY29sLCBob3N0bmFtZSwgcG9ydCBvciBvdGhlciBpbmZvcm1hdGlvbiwgdGhlIGVycm9yIGlzIHJhaXNlZC4gSXQgaW5kaWNhdGVzIGEgbmV3IGNvbm5lY3Rpb24gaGFzIHRvIGJlIGVzdGFibGlzaGVkLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gRlRQIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlVSTDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VGhlIFVSTCB1c2VkIHRvIHVwZGF0ZSB0aGUgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpZiBPaywgLTEgaW4gY2FzZSBvZiBlcnJvciAob3RoZXIgaG9zdCkuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48cD48YSBocmVmPSIuLi9idWdzLmh0bWwiPkRhbmllbCBWZWlsbGFyZDwvYT48L3A+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2h0bWwvbGlieG1sLW5hbm9odHRwLmh0bWwgYi9saWJ4bWwyL2RvYy9odG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjViYmNiYWYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9odG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+PGxpbmsgcmVsPSJTSE9SVENVVCBJQ09OIiBocmVmPSIvZmF2aWNvbi5pY28iIC8+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK1REIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitCT0RZIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2E7IG1hcmdpbi10b3A6IDJlbTsgbWFyZ2luLWxlZnQ6IDBlbTsgbWFyZ2luLXJpZ2h0OiAwZW19CitIMSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDIge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gzIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitBOmxpbmssIEE6dmlzaXRlZCwgQTphY3RpdmUgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB9Cis8L3N0eWxlPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAgICBkaXYuZGVwcmVjYXRlZCBwcmUucHJvZ3JhbWxpc3Rpbmcge2JvcmRlci1zdHlsZTogZG91YmxlO2JvcmRlci1jb2xvcjpyZWR9CisgICAgICBwcmUucHJvZ3JhbWxpc3Rpbmcge2JvcmRlci1zdHlsZTogZG91YmxlO2JhY2tncm91bmQ6ICNFRUNGQTF9CisgICAgPC9zdHlsZT48dGl0bGU+TW9kdWxlIG5hbm9odHRwIGZyb20gbGlieG1sMjwvdGl0bGU+PC9oZWFkPjxib2R5IGJnY29sb3I9IiM4Yjc3NjUiIHRleHQ9IiMwMDAwMDAiIGxpbms9IiNhMDYwNjAiIHZsaW5rPSIjMDAwMDAwIj48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iMTAwJSIgY2VsbHBhZGRpbmc9IjUiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIHdpZHRoPSIxMjAiPjxhIGhyZWY9Imh0dHA6Ly9zd3BhdC5mZmlpLm9yZy8iPjxpbWcgc3JjPSIuLi9lcGF0ZW50cy5wbmciIGFsdD0iQWN0aW9uIGFnYWluc3Qgc29mdHdhcmUgcGF0ZW50cyIgLz48L2E+PC90ZD48dGQgd2lkdGg9IjE4MCI+PGEgaHJlZj0iaHR0cDovL3d3dy5nbm9tZS5vcmcvIj48aW1nIHNyYz0iLi4vZ25vbWUyLnBuZyIgYWx0PSJHbm9tZTIgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvU3RhdHVzIj48aW1nIHNyYz0iLi4vdzNjLnBuZyIgYWx0PSJXM0MgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy5yZWRoYXQuY29tLyI+PGltZyBzcmM9Ii4uL3JlZGhhdC5naWYiIGFsdD0iUmVkIEhhdCBMb2dvIiAvPjwvYT48ZGl2IGFsaWduPSJsZWZ0Ij48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvIj48aW1nIHNyYz0iLi4vTGlieG1sMi1Mb2dvLTE4MHgxNjguZ2lmIiBhbHQ9Ik1hZGUgd2l0aCBMaWJ4bWwyIExvZ28iIC8+PC9hPjwvZGl2PjwvdGQ+PHRkPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSI5MCUiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIiBiZ2NvbG9yPSIjZmZmYWNkIj48dHI+PHRkIGFsaWduPSJjZW50ZXIiPjxoMT48L2gxPjxoMj5Nb2R1bGUgbmFub2h0dHAgZnJvbSBsaWJ4bWwyPC9oMj48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iNCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiIgd2lkdGg9IjEwMCUiPjx0cj48dGQgdmFsaWduPSJ0b3AiIHdpZHRoPSIyMDAiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPkFQSSBNZW51PC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjxmb3JtIGFjdGlvbj0iLi4vc2VhcmNoLnBocCIgZW5jdHlwZT0iYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIiBtZXRob2Q9ImdldCI+PGlucHV0IG5hbWU9InF1ZXJ5IiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IiIgLz48aW5wdXQgbmFtZT0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJTZWFyY2ggLi4uIiAvPjwvZm9ybT48dWw+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSIuLi9pbmRleC5odG1sIj5NYWluIE1lbnU8L2E+PC9saT48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9Ii4uL2RvY3MuaHRtbCI+RGV2ZWxvcGVyIE1lbnU8L2E+PC9saT48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9Ii4uL2V4YW1wbGVzL2luZGV4Lmh0bWwiPkNvZGUgRXhhbXBsZXM8L2E+PC9saT48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9ImluZGV4Lmh0bWwiPkFQSSBNZW51PC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1wYXJzZXIuaHRtbCI+UGFyc2VyIEFQSTwvYT48L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sIj5UcmVlIEFQSTwvYT48L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwiPlJlYWRlciBBUEk8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vZ3VpZGVsaW5lcy5odG1sIj5YTUwgR3VpZGVsaW5lczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9DaGFuZ2VMb2cuaHRtbCI+Q2hhbmdlTG9nPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+QVBJIEluZGV4ZXM8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSIuLi9BUEljaHVuazAuaHRtbCI+QWxwaGFiZXRpYzwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUEljb25zdHJ1Y3RvcnMuaHRtbCI+Q29uc3RydWN0b3JzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSWZ1bmN0aW9ucy5odG1sIj5GdW5jdGlvbnMvVHlwZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJZmlsZXMuaHRtbCI+TW9kdWxlczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUElzeW1ib2xzLmh0bWwiPlN5bWJvbHM8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5SZWxhdGVkIGxpbmtzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iaHR0cDovL21haWwuZ25vbWUub3JnL2FyY2hpdmVzL3htbC8iPk1haWwgYXJjaGl2ZTwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvWFNMVC8iPlhTTFQgbGlieHNsdDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vcGhkLmNzLnVuaWJvLml0L2dkb21lMi8iPkRPTSBnZG9tZTI8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5hbGVrc2V5LmNvbS94bWxzZWMvIj5YTUwtRFNpZyB4bWxzZWM8L2E+PC9saT48bGk+PGEgaHJlZj0iZnRwOi8veG1sc29mdC5vcmcvIj5GVFA8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56bGF0a292aWMuY29tL3Byb2plY3RzL2xpYnhtbC8iPldpbmRvd3MgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL29wZW5jc3cub3JnL3BhY2thZ2VzL2xpYnhtbDIiPlNvbGFyaXMgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5leHBsYWluLmNvbS5hdS9vc3MvbGlieG1sMnhzbHQuaHRtbCI+TWFjT3NYIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9seG1sLmRlLyI+bHhtbCBQeXRob24gYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2NwYW4udXdpbm5pcGVnLmNhL2Rpc3QvWE1MLUxpYlhNTCI+UGVybCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1scGx1c3BsdXMuc291cmNlZm9yZ2UubmV0LyI+QysrIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemVuZC5jb20vcGhwNS9hcnRpY2xlcy9waHA1LXhtbHBocC5waHAjSGVhZGluZzQiPlBIUCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2xpYnhtbDItcGFzLyI+UGFzY2FsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWwucnVieWZvcmdlLm9yZy8iPlJ1YnkgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3RjbHhtbC5zb3VyY2Vmb3JnZS5uZXQvIj5UY2wgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9idWdsaXN0LmNnaT9wcm9kdWN0PWxpYnhtbDIiPkJ1ZyBUcmFja2VyPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIzIiBjZWxsc3BhY2luZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHRhYmxlIGNsYXNzPSJuYXZpZ2F0aW9uIiB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBoZWFkZXIiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMiI+PHRyIHZhbGlnbj0ibWlkZGxlIj48dGQ+PGEgYWNjZXNza2V5PSJwIiBocmVmPSJsaWJ4bWwtbmFub2Z0cC5odG1sIj48aW1nIHNyYz0ibGVmdC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlByZXYiIC8+PC9hPjwvdGQ+PHRoIGFsaWduPSJsZWZ0Ij48YSBocmVmPSJsaWJ4bWwtbmFub2Z0cC5odG1sIj5uYW5vZnRwPC9hPjwvdGg+PHRkPjxhIGFjY2Vzc2tleT0idSIgaHJlZj0iaW5kZXguaHRtbCI+PGltZyBzcmM9InVwLnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iVXAiIC8+PC9hPjwvdGQ+PHRoIGFsaWduPSJsZWZ0Ij48YSBocmVmPSJpbmRleC5odG1sIj5BUEkgZG9jdW1lbnRhdGlvbjwvYT48L3RoPjx0ZD48YSBhY2Nlc3NrZXk9ImgiIGhyZWY9Ii4uL2luZGV4Lmh0bWwiPjxpbWcgc3JjPSJob21lLnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iSG9tZSIgLz48L2E+PC90ZD48dGggYWxpZ249ImNlbnRlciI+PGEgaHJlZj0iLi4vaW5kZXguaHRtbCI+VGhlIFhNTCBDIHBhcnNlciBhbmQgdG9vbGtpdCBvZiBHbm9tZTwvYT48L3RoPjx0aCBhbGlnbj0icmlnaHQiPjxhIGhyZWY9ImxpYnhtbC1wYXJzZXIuaHRtbCI+cGFyc2VyPC9hPjwvdGg+PHRkPjxhIGFjY2Vzc2tleT0ibiIgaHJlZj0ibGlieG1sLXBhcnNlci5odG1sIj48aW1nIHNyYz0icmlnaHQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJOZXh0IiAvPjwvYT48L3RkPjwvdHI+PC90YWJsZT48cD5taW5pbWFsIEhUVFAgaW1wbGVtZW50YXRpb24gYWxsb3dpbmcgdG8gZmV0Y2ggcmVzb3VyY2VzIGxpa2UgZXh0ZXJuYWwgc3Vic2V0LiA8L3A+PGgyPlRhYmxlIG9mIENvbnRlbnRzPC9oMj48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Y29uc3QgY2hhciAqCTxhIGhyZWY9IiN4bWxOYW5vSFRUUEF1dGhIZWFkZXIiPnhtbE5hbm9IVFRQQXV0aEhlYWRlcjwvYT4JKHZvaWQgKiBjdHgpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sTmFub0hUVFBDbGVhbnVwIj54bWxOYW5vSFRUUENsZWFudXA8L2E+CQkodm9pZCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxOYW5vSFRUUENsb3NlIj54bWxOYW5vSFRUUENsb3NlPC9hPgkJKHZvaWQgKiBjdHgpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxOYW5vSFRUUENvbnRlbnRMZW5ndGgiPnhtbE5hbm9IVFRQQ29udGVudExlbmd0aDwvYT4JKHZvaWQgKiBjdHgpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Y29uc3QgY2hhciAqCTxhIGhyZWY9IiN4bWxOYW5vSFRUUEVuY29kaW5nIj54bWxOYW5vSFRUUEVuY29kaW5nPC9hPgkodm9pZCAqIGN0eCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbE5hbm9IVFRQRmV0Y2giPnhtbE5hbm9IVFRQRmV0Y2g8L2E+CQkoY29uc3QgY2hhciAqIFVSTCwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGZpbGVuYW1lLCA8YnIgLz4JCQkJCSBjaGFyICoqIGNvbnRlbnRUeXBlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbE5hbm9IVFRQSW5pdCI+eG1sTmFub0hUVFBJbml0PC9hPgkJCSh2b2lkKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQgKgk8YSBocmVmPSIjeG1sTmFub0hUVFBNZXRob2QiPnhtbE5hbm9IVFRQTWV0aG9kPC9hPgkJKGNvbnN0IGNoYXIgKiBVUkwsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBtZXRob2QsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBpbnB1dCwgPGJyIC8+CQkJCQkgY2hhciAqKiBjb250ZW50VHlwZSwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGhlYWRlcnMsIDxiciAvPgkJCQkJIGludCBpbGVuKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQgKgk8YSBocmVmPSIjeG1sTmFub0hUVFBNZXRob2RSZWRpciI+eG1sTmFub0hUVFBNZXRob2RSZWRpcjwvYT4JCShjb25zdCBjaGFyICogVVJMLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogbWV0aG9kLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogaW5wdXQsIDxiciAvPgkJCQkJIGNoYXIgKiogY29udGVudFR5cGUsIDxiciAvPgkJCQkJIGNoYXIgKiogcmVkaXIsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBoZWFkZXJzLCA8YnIgLz4JCQkJCSBpbnQgaWxlbik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5jb25zdCBjaGFyICoJPGEgaHJlZj0iI3htbE5hbm9IVFRQTWltZVR5cGUiPnhtbE5hbm9IVFRQTWltZVR5cGU8L2E+CSh2b2lkICogY3R4KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQgKgk8YSBocmVmPSIjeG1sTmFub0hUVFBPcGVuIj54bWxOYW5vSFRUUE9wZW48L2E+CQkJKGNvbnN0IGNoYXIgKiBVUkwsIDxiciAvPgkJCQkJIGNoYXIgKiogY29udGVudFR5cGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZCAqCTxhIGhyZWY9IiN4bWxOYW5vSFRUUE9wZW5SZWRpciI+eG1sTmFub0hUVFBPcGVuUmVkaXI8L2E+CQkoY29uc3QgY2hhciAqIFVSTCwgPGJyIC8+CQkJCQkgY2hhciAqKiBjb250ZW50VHlwZSwgPGJyIC8+CQkJCQkgY2hhciAqKiByZWRpcik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbE5hbm9IVFRQUmVhZCI+eG1sTmFub0hUVFBSZWFkPC9hPgkJCSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSB2b2lkICogZGVzdCwgPGJyIC8+CQkJCQkgaW50IGxlbik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5jb25zdCBjaGFyICoJPGEgaHJlZj0iI3htbE5hbm9IVFRQUmVkaXIiPnhtbE5hbm9IVFRQUmVkaXI8L2E+CSh2b2lkICogY3R4KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sTmFub0hUVFBSZXR1cm5Db2RlIj54bWxOYW5vSFRUUFJldHVybkNvZGU8L2E+CQkodm9pZCAqIGN0eCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbE5hbm9IVFRQU2F2ZSI+eG1sTmFub0hUVFBTYXZlPC9hPgkJCSh2b2lkICogY3R4dCwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGZpbGVuYW1lKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbE5hbm9IVFRQU2NhblByb3h5Ij54bWxOYW5vSFRUUFNjYW5Qcm94eTwvYT4JCShjb25zdCBjaGFyICogVVJMKTwvcHJlPgorPGgyPkRlc2NyaXB0aW9uPC9oMj4KKzxoMz48YSBuYW1lPSJ4bWxOYW5vSFRUUEF1dGhIZWFkZXIiIGlkPSJ4bWxOYW5vSFRUUEF1dGhIZWFkZXIiPjwvYT5GdW5jdGlvbjogeG1sTmFub0hUVFBBdXRoSGVhZGVyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Y29uc3QgY2hhciAqCXhtbE5hbm9IVFRQQXV0aEhlYWRlcgkodm9pZCAqIGN0eCk8YnIgLz4KKzwvcHJlPjxwPkdldCB0aGUgYXV0aGVudGljYXRpb24gaGVhZGVyIG9mIGFuIEhUVFAgY29udGV4dDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIEhUVFAgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHN0YXNoZWQgdmFsdWUgb2YgdGhlIFdXVy1BdXRoZW50aWNhdGUgb3IgUHJveHktQXV0aGVudGljYXRlIGhlYWRlci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxOYW5vSFRUUENsZWFudXAiIGlkPSJ4bWxOYW5vSFRUUENsZWFudXAiPjwvYT5GdW5jdGlvbjogeG1sTmFub0hUVFBDbGVhbnVwPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxOYW5vSFRUUENsZWFudXAJCSh2b2lkKTxiciAvPgorPC9wcmU+PHA+Q2xlYW51cCB0aGUgSFRUUCBwcm90b2NvbCBsYXllci48L3A+Cis8aDM+PGEgbmFtZT0ieG1sTmFub0hUVFBDbG9zZSIgaWQ9InhtbE5hbm9IVFRQQ2xvc2UiPjwvYT5GdW5jdGlvbjogeG1sTmFub0hUVFBDbG9zZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sTmFub0hUVFBDbG9zZQkJKHZvaWQgKiBjdHgpPGJyIC8+Cis8L3ByZT48cD5UaGlzIGZ1bmN0aW9uIGNsb3NlcyBhbiBIVFRQIGNvbnRleHQsIGl0IGVuZHMgdXAgdGhlIGNvbm5lY3Rpb24gYW5kIGZyZWUgYWxsIGRhdGEgcmVsYXRlZCB0byBpdC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBIVFRQIGNvbnRleHQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxOYW5vSFRUUENvbnRlbnRMZW5ndGgiIGlkPSJ4bWxOYW5vSFRUUENvbnRlbnRMZW5ndGgiPjwvYT5GdW5jdGlvbjogeG1sTmFub0hUVFBDb250ZW50TGVuZ3RoPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbE5hbm9IVFRQQ29udGVudExlbmd0aAkodm9pZCAqIGN0eCk8YnIgLz4KKzwvcHJlPjxwPlByb3ZpZGVzIHRoZSBzcGVjaWZpZWQgY29udGVudCBsZW5ndGggZnJvbSB0aGUgSFRUUCBoZWFkZXIuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgSFRUUCBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc3BlY2lmaWVkIGNvbnRlbnQgbGVuZ3RoIGZyb20gdGhlIEhUVFAgaGVhZGVyLiBOb3RlIHRoYXQgYSB2YWx1ZSBvZiAtMSBpbmRpY2F0ZXMgdGhhdCB0aGUgY29udGVudCBsZW5ndGggZWxlbWVudCB3YXMgbm90IGluY2x1ZGVkIGluIHRoZSByZXNwb25zZSBoZWFkZXIuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sTmFub0hUVFBFbmNvZGluZyIgaWQ9InhtbE5hbm9IVFRQRW5jb2RpbmciPjwvYT5GdW5jdGlvbjogeG1sTmFub0hUVFBFbmNvZGluZzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmNvbnN0IGNoYXIgKgl4bWxOYW5vSFRUUEVuY29kaW5nCSh2b2lkICogY3R4KTxiciAvPgorPC9wcmU+PHA+UHJvdmlkZXMgdGhlIHNwZWNpZmllZCBlbmNvZGluZyBpZiBzcGVjaWZpZWQgaW4gdGhlIEhUVFAgaGVhZGVycy48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBIVFRQIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzcGVjaWZpZWQgZW5jb2Rpbmcgb3IgTlVMTCBpZiBub3QgYXZhaWxhYmxlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sTmFub0hUVFBGZXRjaCIgaWQ9InhtbE5hbm9IVFRQRmV0Y2giPjwvYT5GdW5jdGlvbjogeG1sTmFub0hUVFBGZXRjaDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxOYW5vSFRUUEZldGNoCQkoY29uc3QgY2hhciAqIFVSTCwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGZpbGVuYW1lLCA8YnIgLz4JCQkJCSBjaGFyICoqIGNvbnRlbnRUeXBlKTxiciAvPgorPC9wcmU+PHA+VGhpcyBmdW5jdGlvbiB0cnkgdG8gZmV0Y2ggdGhlIGluZGljYXRlZCByZXNvdXJjZSB2aWEgSFRUUCBHRVQgYW5kIHNhdmUgaXQncyBjb250ZW50IGluIHRoZSBmaWxlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlVSTDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VGhlIFVSTCB0byBsb2FkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlbmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZpbGVuYW1lIHdoZXJlIHRoZSBjb250ZW50IHNob3VsZCBiZSBzYXZlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29udGVudFR5cGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmlmIGF2YWlsYWJsZSB0aGUgQ29udGVudC1UeXBlIGluZm9ybWF0aW9uIHdpbGwgYmUgcmV0dXJuZWQgYXQgdGhhdCBsb2NhdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+LTEgaW4gY2FzZSBvZiBmYWlsdXJlLCAwIGluY2FzZSBvZiBzdWNjZXNzLiBUaGUgY29udGVudFR5cGUsIGlmIHByb3ZpZGVkIG11c3QgYmUgZnJlZWQgYnkgdGhlIGNhbGxlcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbE5hbm9IVFRQSW5pdCIgaWQ9InhtbE5hbm9IVFRQSW5pdCI+PC9hPkZ1bmN0aW9uOiB4bWxOYW5vSFRUUEluaXQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbE5hbm9IVFRQSW5pdAkJCSh2b2lkKTxiciAvPgorPC9wcmU+PHA+SW5pdGlhbGl6ZSB0aGUgSFRUUCBwcm90b2NvbCBsYXllci4gQ3VycmVudGx5IGl0IGp1c3QgY2hlY2tzIGZvciBwcm94eSBpbmZvcm1hdGlvbnM8L3A+Cis8aDM+PGEgbmFtZT0ieG1sTmFub0hUVFBNZXRob2QiIGlkPSJ4bWxOYW5vSFRUUE1ldGhvZCI+PC9hPkZ1bmN0aW9uOiB4bWxOYW5vSFRUUE1ldGhvZDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQgKgl4bWxOYW5vSFRUUE1ldGhvZAkJKGNvbnN0IGNoYXIgKiBVUkwsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBtZXRob2QsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBpbnB1dCwgPGJyIC8+CQkJCQkgY2hhciAqKiBjb250ZW50VHlwZSwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGhlYWRlcnMsIDxiciAvPgkJCQkJIGludCBpbGVuKTxiciAvPgorPC9wcmU+PHA+VGhpcyBmdW5jdGlvbiB0cnkgdG8gb3BlbiBhIGNvbm5lY3Rpb24gdG8gdGhlIGluZGljYXRlZCByZXNvdXJjZSB2aWEgSFRUUCB1c2luZyB0aGUgZ2l2ZW4gQG1ldGhvZCwgYWRkaW5nIHRoZSBnaXZlbiBleHRyYSBoZWFkZXJzIGFuZCB0aGUgaW5wdXQgYnVmZmVyIGZvciB0aGUgcmVxdWVzdCBjb250ZW50LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlVSTDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VGhlIFVSTCB0byBsb2FkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5tZXRob2Q8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBIVFRQIG1ldGhvZCB0byB1c2U8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmlucHV0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaW5wdXQgc3RyaW5nIGlmIGFueTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29udGVudFR5cGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBDb250ZW50LVR5cGUgaW5mb3JtYXRpb24gSU4gYW5kIE9VVDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aGVhZGVyczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGV4dHJhIGhlYWRlcnM8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmlsZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmlucHV0IGxlbmd0aDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+TlVMTCBpbiBjYXNlIG9mIGZhaWx1cmUsIG90aGVyd2lzZSBhIHJlcXVlc3QgaGFuZGxlci4gVGhlIGNvbnRlbnRUeXBlLCBpZiBwcm92aWRlZCBtdXN0IGJlIGZyZWVkIGJ5IHRoZSBjYWxsZXI8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxOYW5vSFRUUE1ldGhvZFJlZGlyIiBpZD0ieG1sTmFub0hUVFBNZXRob2RSZWRpciI+PC9hPkZ1bmN0aW9uOiB4bWxOYW5vSFRUUE1ldGhvZFJlZGlyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZCAqCXhtbE5hbm9IVFRQTWV0aG9kUmVkaXIJCShjb25zdCBjaGFyICogVVJMLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogbWV0aG9kLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogaW5wdXQsIDxiciAvPgkJCQkJIGNoYXIgKiogY29udGVudFR5cGUsIDxiciAvPgkJCQkJIGNoYXIgKiogcmVkaXIsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBoZWFkZXJzLCA8YnIgLz4JCQkJCSBpbnQgaWxlbik8YnIgLz4KKzwvcHJlPjxwPlRoaXMgZnVuY3Rpb24gdHJ5IHRvIG9wZW4gYSBjb25uZWN0aW9uIHRvIHRoZSBpbmRpY2F0ZWQgcmVzb3VyY2UgdmlhIEhUVFAgdXNpbmcgdGhlIGdpdmVuIEBtZXRob2QsIGFkZGluZyB0aGUgZ2l2ZW4gZXh0cmEgaGVhZGVycyBhbmQgdGhlIGlucHV0IGJ1ZmZlciBmb3IgdGhlIHJlcXVlc3QgY29udGVudC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5VUkw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlRoZSBVUkwgdG8gbG9hZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bWV0aG9kPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgSFRUUCBtZXRob2QgdG8gdXNlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pbnB1dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGlucHV0IHN0cmluZyBpZiBhbnk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbnRlbnRUeXBlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgQ29udGVudC1UeXBlIGluZm9ybWF0aW9uIElOIGFuZCBPVVQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJlZGlyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmVkaXJlY3RlZCBVUkwgT1VUPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5oZWFkZXJzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZXh0cmEgaGVhZGVyczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aWxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+aW5wdXQgbGVuZ3RoPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5OVUxMIGluIGNhc2Ugb2YgZmFpbHVyZSwgb3RoZXJ3aXNlIGEgcmVxdWVzdCBoYW5kbGVyLiBUaGUgY29udGVudFR5cGUsIG9yIHJlZGlyLCBpZiBwcm92aWRlZCBtdXN0IGJlIGZyZWVkIGJ5IHRoZSBjYWxsZXI8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxOYW5vSFRUUE1pbWVUeXBlIiBpZD0ieG1sTmFub0hUVFBNaW1lVHlwZSI+PC9hPkZ1bmN0aW9uOiB4bWxOYW5vSFRUUE1pbWVUeXBlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Y29uc3QgY2hhciAqCXhtbE5hbm9IVFRQTWltZVR5cGUJKHZvaWQgKiBjdHgpPGJyIC8+Cis8L3ByZT48cD5Qcm92aWRlcyB0aGUgc3BlY2lmaWVkIE1pbWUtVHlwZSBpZiBzcGVjaWZpZWQgaW4gdGhlIEhUVFAgaGVhZGVycy48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBIVFRQIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzcGVjaWZpZWQgTWltZS1UeXBlIG9yIE5VTEwgaWYgbm90IGF2YWlsYWJsZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbE5hbm9IVFRQT3BlbiIgaWQ9InhtbE5hbm9IVFRQT3BlbiI+PC9hPkZ1bmN0aW9uOiB4bWxOYW5vSFRUUE9wZW48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkICoJeG1sTmFub0hUVFBPcGVuCQkJKGNvbnN0IGNoYXIgKiBVUkwsIDxiciAvPgkJCQkJIGNoYXIgKiogY29udGVudFR5cGUpPGJyIC8+Cis8L3ByZT48cD5UaGlzIGZ1bmN0aW9uIHRyeSB0byBvcGVuIGEgY29ubmVjdGlvbiB0byB0aGUgaW5kaWNhdGVkIHJlc291cmNlIHZpYSBIVFRQIEdFVC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5VUkw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlRoZSBVUkwgdG8gbG9hZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29udGVudFR5cGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmlmIGF2YWlsYWJsZSB0aGUgQ29udGVudC1UeXBlIGluZm9ybWF0aW9uIHdpbGwgYmUgcmV0dXJuZWQgYXQgdGhhdCBsb2NhdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+TlVMTCBpbiBjYXNlIG9mIGZhaWx1cmUsIG90aGVyd2lzZSBhIHJlcXVlc3QgaGFuZGxlci4gVGhlIGNvbnRlbnRUeXBlLCBpZiBwcm92aWRlZCBtdXN0IGJlIGZyZWVkIGJ5IHRoZSBjYWxsZXI8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxOYW5vSFRUUE9wZW5SZWRpciIgaWQ9InhtbE5hbm9IVFRQT3BlblJlZGlyIj48L2E+RnVuY3Rpb246IHhtbE5hbm9IVFRQT3BlblJlZGlyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZCAqCXhtbE5hbm9IVFRQT3BlblJlZGlyCQkoY29uc3QgY2hhciAqIFVSTCwgPGJyIC8+CQkJCQkgY2hhciAqKiBjb250ZW50VHlwZSwgPGJyIC8+CQkJCQkgY2hhciAqKiByZWRpcik8YnIgLz4KKzwvcHJlPjxwPlRoaXMgZnVuY3Rpb24gdHJ5IHRvIG9wZW4gYSBjb25uZWN0aW9uIHRvIHRoZSBpbmRpY2F0ZWQgcmVzb3VyY2UgdmlhIEhUVFAgR0VULjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlVSTDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VGhlIFVSTCB0byBsb2FkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb250ZW50VHlwZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+aWYgYXZhaWxhYmxlIHRoZSBDb250ZW50LVR5cGUgaW5mb3JtYXRpb24gd2lsbCBiZSByZXR1cm5lZCBhdCB0aGF0IGxvY2F0aW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWRpcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+aWYgYXZhaWxhYmxlIHRoZSByZWRpcmVjdGVkIFVSTCB3aWxsIGJlIHJldHVybmVkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5OVUxMIGluIGNhc2Ugb2YgZmFpbHVyZSwgb3RoZXJ3aXNlIGEgcmVxdWVzdCBoYW5kbGVyLiBUaGUgY29udGVudFR5cGUsIGlmIHByb3ZpZGVkIG11c3QgYmUgZnJlZWQgYnkgdGhlIGNhbGxlcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbE5hbm9IVFRQUmVhZCIgaWQ9InhtbE5hbm9IVFRQUmVhZCI+PC9hPkZ1bmN0aW9uOiB4bWxOYW5vSFRUUFJlYWQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sTmFub0hUVFBSZWFkCQkJKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJIHZvaWQgKiBkZXN0LCA8YnIgLz4JCQkJCSBpbnQgbGVuKTxiciAvPgorPC9wcmU+PHA+VGhpcyBmdW5jdGlvbiB0cmllcyB0byByZWFkIEBsZW4gYnl0ZXMgZnJvbSB0aGUgZXhpc3RpbmcgSFRUUCBjb25uZWN0aW9uIGFuZCBzYXZlcyB0aGVtIGluIEBkZXN0LiBUaGlzIGlzIGEgYmxvY2tpbmcgY2FsbC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBIVFRQIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRlc3Q8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgYnVmZmVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBidWZmZXIgbGVuZ3RoPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGJ5dGUgcmVhZC4gMCBpcyBhbiBpbmRpY2F0aW9uIG9mIGFuIGVuZCBvZiBjb25uZWN0aW9uLiAtMSBpbmRpY2F0ZXMgYSBwYXJhbWV0ZXIgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sTmFub0hUVFBSZWRpciIgaWQ9InhtbE5hbm9IVFRQUmVkaXIiPjwvYT5GdW5jdGlvbjogeG1sTmFub0hUVFBSZWRpcjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmNvbnN0IGNoYXIgKgl4bWxOYW5vSFRUUFJlZGlyCSh2b2lkICogY3R4KTxiciAvPgorPC9wcmU+PHA+UHJvdmlkZXMgdGhlIHNwZWNpZmllZCByZWRpcmVjdGlvbiBVUkwgaWYgYXZhaWxhYmxlIGZyb20gdGhlIEhUVFAgaGVhZGVyLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIEhUVFAgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHNwZWNpZmllZCByZWRpcmVjdGlvbiBVUkwgb3IgTlVMTCBpZiBub3QgcmVkaXJlY3RlZC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxOYW5vSFRUUFJldHVybkNvZGUiIGlkPSJ4bWxOYW5vSFRUUFJldHVybkNvZGUiPjwvYT5GdW5jdGlvbjogeG1sTmFub0hUVFBSZXR1cm5Db2RlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbE5hbm9IVFRQUmV0dXJuQ29kZQkJKHZvaWQgKiBjdHgpPGJyIC8+Cis8L3ByZT48cD5HZXQgdGhlIGxhdGVzdCBIVFRQIHJldHVybiBjb2RlIHJlY2VpdmVkPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgSFRUUCBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgSFRUUCByZXR1cm4gY29kZSBmb3IgdGhlIHJlcXVlc3QuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sTmFub0hUVFBTYXZlIiBpZD0ieG1sTmFub0hUVFBTYXZlIj48L2E+RnVuY3Rpb246IHhtbE5hbm9IVFRQU2F2ZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxOYW5vSFRUUFNhdmUJCQkodm9pZCAqIGN0eHQsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBmaWxlbmFtZSk8YnIgLz4KKzwvcHJlPjxwPlRoaXMgZnVuY3Rpb24gc2F2ZXMgdGhlIG91dHB1dCBvZiB0aGUgSFRUUCB0cmFuc2FjdGlvbiB0byBhIGZpbGUgSXQgY2xvc2VzIGFuZCBmcmVlIHRoZSBjb250ZXh0IGF0IHRoZSBlbmQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgSFRUUCBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlbmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZpbGVuYW1lIHdoZXJlIHRoZSBjb250ZW50IHNob3VsZCBiZSBzYXZlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+LTEgaW4gY2FzZSBvZiBmYWlsdXJlLCAwIGluY2FzZSBvZiBzdWNjZXNzLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbE5hbm9IVFRQU2NhblByb3h5IiBpZD0ieG1sTmFub0hUVFBTY2FuUHJveHkiPjwvYT5GdW5jdGlvbjogeG1sTmFub0hUVFBTY2FuUHJveHk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbE5hbm9IVFRQU2NhblByb3h5CQkoY29uc3QgY2hhciAqIFVSTCk8YnIgLz4KKzwvcHJlPjxwPihSZSlJbml0aWFsaXplIHRoZSBIVFRQIFByb3h5IGNvbnRleHQgYnkgcGFyc2luZyB0aGUgVVJMIGFuZCBmaW5kaW5nIHRoZSBwcm90b2NvbCBob3N0IHBvcnQgaXQgaW5kaWNhdGVzLiBTaG91bGQgYmUgbGlrZSBodHRwOi8vbXlwcm94eS8gb3IgaHR0cDovL215cHJveHk6MzEyOC8gQSBOVUxMIFVSTCBjbGVhbnMgdXAgcHJveHkgaW5mb3JtYXRpb25zLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlVSTDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VGhlIHByb3h5IFVSTCB1c2VkIHRvIGluaXRpYWxpemUgdGhlIHByb3h5IGNvbnRleHQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxwPjxhIGhyZWY9Ii4uL2J1Z3MuaHRtbCI+RGFuaWVsIFZlaWxsYXJkPC9hPjwvcD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwgYi9saWJ4bWwyL2RvYy9odG1sL2xpYnhtbC1wYXJzZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ODEyM2Y3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwKQEAgLTAsMCArMSw1NTkgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+PGxpbmsgcmVsPSJTSE9SVENVVCBJQ09OIiBocmVmPSIvZmF2aWNvbi5pY28iIC8+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK1REIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitCT0RZIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2E7IG1hcmdpbi10b3A6IDJlbTsgbWFyZ2luLWxlZnQ6IDBlbTsgbWFyZ2luLXJpZ2h0OiAwZW19CitIMSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDIge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gzIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitBOmxpbmssIEE6dmlzaXRlZCwgQTphY3RpdmUgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB9Cis8L3N0eWxlPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAgICBkaXYuZGVwcmVjYXRlZCBwcmUucHJvZ3JhbWxpc3Rpbmcge2JvcmRlci1zdHlsZTogZG91YmxlO2JvcmRlci1jb2xvcjpyZWR9CisgICAgICBwcmUucHJvZ3JhbWxpc3Rpbmcge2JvcmRlci1zdHlsZTogZG91YmxlO2JhY2tncm91bmQ6ICNFRUNGQTF9CisgICAgPC9zdHlsZT48dGl0bGU+TW9kdWxlIHBhcnNlciBmcm9tIGxpYnhtbDI8L3RpdGxlPjwvaGVhZD48Ym9keSBiZ2NvbG9yPSIjOGI3NzY1IiB0ZXh0PSIjMDAwMDAwIiBsaW5rPSIjYTA2MDYwIiB2bGluaz0iIzAwMDAwMCI+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjEwMCUiIGNlbGxwYWRkaW5nPSI1IiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCB3aWR0aD0iMTIwIj48YSBocmVmPSJodHRwOi8vc3dwYXQuZmZpaS5vcmcvIj48aW1nIHNyYz0iLi4vZXBhdGVudHMucG5nIiBhbHQ9IkFjdGlvbiBhZ2FpbnN0IHNvZnR3YXJlIHBhdGVudHMiIC8+PC9hPjwvdGQ+PHRkIHdpZHRoPSIxODAiPjxhIGhyZWY9Imh0dHA6Ly93d3cuZ25vbWUub3JnLyI+PGltZyBzcmM9Ii4uL2dub21lMi5wbmciIGFsdD0iR25vbWUyIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1N0YXR1cyI+PGltZyBzcmM9Ii4uL3czYy5wbmciIGFsdD0iVzNDIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cucmVkaGF0LmNvbS8iPjxpbWcgc3JjPSIuLi9yZWRoYXQuZ2lmIiBhbHQ9IlJlZCBIYXQgTG9nbyIgLz48L2E+PGRpdiBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnLyI+PGltZyBzcmM9Ii4uL0xpYnhtbDItTG9nby0xODB4MTY4LmdpZiIgYWx0PSJNYWRlIHdpdGggTGlieG1sMiBMb2dvIiAvPjwvYT48L2Rpdj48L3RkPjx0ZD48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iOTAlIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyIgYmdjb2xvcj0iI2ZmZmFjZCI+PHRyPjx0ZCBhbGlnbj0iY2VudGVyIj48aDE+PC9oMT48aDI+TW9kdWxlIHBhcnNlciBmcm9tIGxpYnhtbDI8L2gyPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI0IiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCB2YWxpZ249InRvcCIgd2lkdGg9IjIwMCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+QVBJIE1lbnU8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PGZvcm0gYWN0aW9uPSIuLi9zZWFyY2gucGhwIiBlbmN0eXBlPSJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiIG1ldGhvZD0iZ2V0Ij48aW5wdXQgbmFtZT0icXVlcnkiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iIiAvPjxpbnB1dCBuYW1lPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNlYXJjaCAuLi4iIC8+PC9mb3JtPjx1bD48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9Ii4uL2luZGV4Lmh0bWwiPk1haW4gTWVudTwvYT48L2xpPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iLi4vZG9jcy5odG1sIj5EZXZlbG9wZXIgTWVudTwvYT48L2xpPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iLi4vZXhhbXBsZXMvaW5kZXguaHRtbCI+Q29kZSBFeGFtcGxlczwvYT48L2xpPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iaW5kZXguaHRtbCI+QVBJIE1lbnU8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXBhcnNlci5odG1sIj5QYXJzZXIgQVBJPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwiPlRyZWUgQVBJPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCI+UmVhZGVyIEFQSTwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9ndWlkZWxpbmVzLmh0bWwiPlhNTCBHdWlkZWxpbmVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0NoYW5nZUxvZy5odG1sIj5DaGFuZ2VMb2c8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5BUEkgSW5kZXhlczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9Ii4uL0FQSWNodW5rMC5odG1sIj5BbHBoYWJldGljPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSWNvbnN0cnVjdG9ycy5odG1sIj5Db25zdHJ1Y3RvcnM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJZnVuY3Rpb25zLmh0bWwiPkZ1bmN0aW9ucy9UeXBlczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUElmaWxlcy5odG1sIj5Nb2R1bGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSXN5bWJvbHMuaHRtbCI+U3ltYm9sczwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPlJlbGF0ZWQgbGlua3M8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSJodHRwOi8vbWFpbC5nbm9tZS5vcmcvYXJjaGl2ZXMveG1sLyI+TWFpbCBhcmNoaXZlPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9YU0xULyI+WFNMVCBsaWJ4c2x0PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9waGQuY3MudW5pYm8uaXQvZ2RvbWUyLyI+RE9NIGdkb21lMjwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmFsZWtzZXkuY29tL3htbHNlYy8iPlhNTC1EU2lnIHhtbHNlYzwvYT48L2xpPjxsaT48YSBocmVmPSJmdHA6Ly94bWxzb2Z0Lm9yZy8iPkZUUDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnpsYXRrb3ZpYy5jb20vcHJvamVjdHMvbGlieG1sLyI+V2luZG93cyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vb3BlbmNzdy5vcmcvcGFja2FnZXMvbGlieG1sMiI+U29sYXJpcyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmV4cGxhaW4uY29tLmF1L29zcy9saWJ4bWwyeHNsdC5odG1sIj5NYWNPc1ggYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2x4bWwuZGUvIj5seG1sIFB5dGhvbiBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vY3Bhbi51d2lubmlwZWcuY2EvZGlzdC9YTUwtTGliWE1MIj5QZXJsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWxwbHVzcGx1cy5zb3VyY2Vmb3JnZS5uZXQvIj5DKysgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56ZW5kLmNvbS9waHA1L2FydGljbGVzL3BocDUteG1scGhwLnBocCNIZWFkaW5nNCI+UEhQIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbGlieG1sMi1wYXMvIj5QYXNjYWwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbC5ydWJ5Zm9yZ2Uub3JnLyI+UnVieSBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vdGNseG1sLnNvdXJjZWZvcmdlLm5ldC8iPlRjbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2J1Z2xpc3QuY2dpP3Byb2R1Y3Q9bGlieG1sMiI+QnVnIFRyYWNrZXI8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dGFibGUgY2xhc3M9Im5hdmlnYXRpb24iIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIyIj48dHIgdmFsaWduPSJtaWRkbGUiPjx0ZD48YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImxpYnhtbC1uYW5vaHR0cC5odG1sIj48aW1nIHNyYz0ibGVmdC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlByZXYiIC8+PC9hPjwvdGQ+PHRoIGFsaWduPSJsZWZ0Ij48YSBocmVmPSJsaWJ4bWwtbmFub2h0dHAuaHRtbCI+bmFub2h0dHA8L2E+PC90aD48dGQ+PGEgYWNjZXNza2V5PSJ1IiBocmVmPSJpbmRleC5odG1sIj48aW1nIHNyYz0idXAucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJVcCIgLz48L2E+PC90ZD48dGggYWxpZ249ImxlZnQiPjxhIGhyZWY9ImluZGV4Lmh0bWwiPkFQSSBkb2N1bWVudGF0aW9uPC9hPjwvdGg+PHRkPjxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iLi4vaW5kZXguaHRtbCI+PGltZyBzcmM9ImhvbWUucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJIb21lIiAvPjwvYT48L3RkPjx0aCBhbGlnbj0iY2VudGVyIj48YSBocmVmPSIuLi9pbmRleC5odG1sIj5UaGUgWE1MIEMgcGFyc2VyIGFuZCB0b29sa2l0IG9mIEdub21lPC9hPjwvdGg+PHRoIGFsaWduPSJyaWdodCI+PGEgaHJlZj0ibGlieG1sLXBhcnNlckludGVybmFscy5odG1sIj5wYXJzZXJJbnRlcm5hbHM8L2E+PC90aD48dGQ+PGEgYWNjZXNza2V5PSJuIiBocmVmPSJsaWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwiPjxpbWcgc3JjPSJyaWdodC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9Ik5leHQiIC8+PC9hPjwvdGQ+PC90cj48L3RhYmxlPjxwPkludGVyZmFjZXMsIGNvbnN0YW50cyBhbmQgdHlwZXMgcmVsYXRlZCB0byB0aGUgWE1MIHBhcnNlciA8L3A+PGgyPlRhYmxlIG9mIENvbnRlbnRzPC9oMj48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX0NPTVBMRVRFX0FUVFJTIj5YTUxfQ09NUExFVEVfQVRUUlM8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9ERUZBVUxUX1ZFUlNJT04iPlhNTF9ERUZBVUxUX1ZFUlNJT048L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9ERVRFQ1RfSURTIj5YTUxfREVURUNUX0lEUzwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX1NBWDJfTUFHSUMiPlhNTF9TQVgyX01BR0lDPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0tJUF9JRFMiPlhNTF9TS0lQX0lEUzwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RW51bSA8YSBocmVmPSIjeG1sRmVhdHVyZSI+eG1sRmVhdHVyZTwvYT4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5FbnVtIDxhIGhyZWY9IiN4bWxQYXJzZXJJbnB1dFN0YXRlIj54bWxQYXJzZXJJbnB1dFN0YXRlPC9hPgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkVudW0gPGEgaHJlZj0iI3htbFBhcnNlck1vZGUiPnhtbFBhcnNlck1vZGU8L2E+Cis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+U3RydWN0dXJlIDxhIGhyZWY9IiN4bWxQYXJzZXJOb2RlSW5mbyI+eG1sUGFyc2VyTm9kZUluZm88L2E+PGJyIC8+c3RydWN0IF94bWxQYXJzZXJOb2RlSW5mbworPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlR5cGVkZWYgPGEgaHJlZj0ibGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlck5vZGVJbmZvIj54bWxQYXJzZXJOb2RlSW5mbzwvYT4gKiA8YSBuYW1lPSJ4bWxQYXJzZXJOb2RlSW5mb1B0ciIgaWQ9InhtbFBhcnNlck5vZGVJbmZvUHRyIj54bWxQYXJzZXJOb2RlSW5mb1B0cjwvYT4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgPGEgaHJlZj0iI3htbFBhcnNlck5vZGVJbmZvU2VxIj54bWxQYXJzZXJOb2RlSW5mb1NlcTwvYT48YnIgLz5zdHJ1Y3QgX3htbFBhcnNlck5vZGVJbmZvU2VxCis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+VHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VyTm9kZUluZm9TZXEiPnhtbFBhcnNlck5vZGVJbmZvU2VxPC9hPiAqIDxhIG5hbWU9InhtbFBhcnNlck5vZGVJbmZvU2VxUHRyIiBpZD0ieG1sUGFyc2VyTm9kZUluZm9TZXFQdHIiPnhtbFBhcnNlck5vZGVJbmZvU2VxUHRyPC9hPgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkVudW0gPGEgaHJlZj0iI3htbFBhcnNlck9wdGlvbiI+eG1sUGFyc2VyT3B0aW9uPC9hPgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlN0cnVjdHVyZSA8YSBocmVmPSIjeG1sU0FYSGFuZGxlclYxIj54bWxTQVhIYW5kbGVyVjE8L2E+PGJyIC8+c3RydWN0IF94bWxTQVhIYW5kbGVyVjEKKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5UeXBlZGVmIDxhIGhyZWY9ImxpYnhtbC1wYXJzZXIuaHRtbCN4bWxTQVhIYW5kbGVyVjEiPnhtbFNBWEhhbmRsZXJWMTwvYT4gKiA8YSBuYW1lPSJ4bWxTQVhIYW5kbGVyVjFQdHIiIGlkPSJ4bWxTQVhIYW5kbGVyVjFQdHIiPnhtbFNBWEhhbmRsZXJWMVB0cjwvYT4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5GdW5jdGlvbiB0eXBlOiA8YSBocmVmPSIjYXR0cmlidXRlRGVjbFNBWEZ1bmMiPmF0dHJpYnV0ZURlY2xTQVhGdW5jPC9hPgordm9pZAk8YSBocmVmPSIjYXR0cmlidXRlRGVjbFNBWEZ1bmMiPmF0dHJpYnV0ZURlY2xTQVhGdW5jPC9hPgkJKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGVsZW0sIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGZ1bGxuYW1lLCA8YnIgLz4JCQkJCSBpbnQgdHlwZSwgPGJyIC8+CQkJCQkgaW50IGRlZiwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogZGVmYXVsdFZhbHVlLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVudW1lcmF0aW9uUHRyIj54bWxFbnVtZXJhdGlvblB0cjwvYT4gdHJlZSkKKzwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkZ1bmN0aW9uIHR5cGU6IDxhIGhyZWY9IiNhdHRyaWJ1dGVTQVhGdW5jIj5hdHRyaWJ1dGVTQVhGdW5jPC9hPgordm9pZAk8YSBocmVmPSIjYXR0cmlidXRlU0FYRnVuYyI+YXR0cmlidXRlU0FYRnVuYzwvYT4JCSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB2YWx1ZSkKKzwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkZ1bmN0aW9uIHR5cGU6IDxhIGhyZWY9IiNjZGF0YUJsb2NrU0FYRnVuYyI+Y2RhdGFCbG9ja1NBWEZ1bmM8L2E+Cit2b2lkCTxhIGhyZWY9IiNjZGF0YUJsb2NrU0FYRnVuYyI+Y2RhdGFCbG9ja1NBWEZ1bmM8L2E+CQkodm9pZCAqIGN0eCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUsIDxiciAvPgkJCQkJIGludCBsZW4pCis8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5GdW5jdGlvbiB0eXBlOiA8YSBocmVmPSIjY2hhcmFjdGVyc1NBWEZ1bmMiPmNoYXJhY3RlcnNTQVhGdW5jPC9hPgordm9pZAk8YSBocmVmPSIjY2hhcmFjdGVyc1NBWEZ1bmMiPmNoYXJhY3RlcnNTQVhGdW5jPC9hPgkJKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGNoLCA8YnIgLz4JCQkJCSBpbnQgbGVuKQorPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RnVuY3Rpb24gdHlwZTogPGEgaHJlZj0iI2NvbW1lbnRTQVhGdW5jIj5jb21tZW50U0FYRnVuYzwvYT4KK3ZvaWQJPGEgaHJlZj0iI2NvbW1lbnRTQVhGdW5jIj5jb21tZW50U0FYRnVuYzwvYT4JCQkodm9pZCAqIGN0eCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUpCis8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5GdW5jdGlvbiB0eXBlOiA8YSBocmVmPSIjZWxlbWVudERlY2xTQVhGdW5jIj5lbGVtZW50RGVjbFNBWEZ1bmM8L2E+Cit2b2lkCTxhIGhyZWY9IiNlbGVtZW50RGVjbFNBWEZ1bmMiPmVsZW1lbnREZWNsU0FYRnVuYzwvYT4JCSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSBpbnQgdHlwZSwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxFbGVtZW50Q29udGVudFB0ciI+eG1sRWxlbWVudENvbnRlbnRQdHI8L2E+IGNvbnRlbnQpCis8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5GdW5jdGlvbiB0eXBlOiA8YSBocmVmPSIjZW5kRG9jdW1lbnRTQVhGdW5jIj5lbmREb2N1bWVudFNBWEZ1bmM8L2E+Cit2b2lkCTxhIGhyZWY9IiNlbmREb2N1bWVudFNBWEZ1bmMiPmVuZERvY3VtZW50U0FYRnVuYzwvYT4JCSh2b2lkICogY3R4KQorPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RnVuY3Rpb24gdHlwZTogPGEgaHJlZj0iI2VuZEVsZW1lbnROc1NBWDJGdW5jIj5lbmRFbGVtZW50TnNTQVgyRnVuYzwvYT4KK3ZvaWQJPGEgaHJlZj0iI2VuZEVsZW1lbnROc1NBWDJGdW5jIj5lbmRFbGVtZW50TnNTQVgyRnVuYzwvYT4JCSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBsb2NhbG5hbWUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHByZWZpeCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogVVJJKQorPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RnVuY3Rpb24gdHlwZTogPGEgaHJlZj0iI2VuZEVsZW1lbnRTQVhGdW5jIj5lbmRFbGVtZW50U0FYRnVuYzwvYT4KK3ZvaWQJPGEgaHJlZj0iI2VuZEVsZW1lbnRTQVhGdW5jIj5lbmRFbGVtZW50U0FYRnVuYzwvYT4JCSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKQorPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RnVuY3Rpb24gdHlwZTogPGEgaHJlZj0iI2VudGl0eURlY2xTQVhGdW5jIj5lbnRpdHlEZWNsU0FYRnVuYzwvYT4KK3ZvaWQJPGEgaHJlZj0iI2VudGl0eURlY2xTQVhGdW5jIj5lbnRpdHlEZWNsU0FYRnVuYzwvYT4JCSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSBpbnQgdHlwZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHVibGljSWQsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN5c3RlbUlkLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjb250ZW50KQorPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RnVuY3Rpb24gdHlwZTogPGEgaHJlZj0iI2Vycm9yU0FYRnVuYyI+ZXJyb3JTQVhGdW5jPC9hPgordm9pZAk8YSBocmVmPSIjZXJyb3JTQVhGdW5jIj5lcnJvclNBWEZ1bmM8L2E+CQkJKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBtc2csIDxiciAvPgkJCQkJIC4uLiAuLi4pCis8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5GdW5jdGlvbiB0eXBlOiA8YSBocmVmPSIjZXh0ZXJuYWxTdWJzZXRTQVhGdW5jIj5leHRlcm5hbFN1YnNldFNBWEZ1bmM8L2E+Cit2b2lkCTxhIGhyZWY9IiNleHRlcm5hbFN1YnNldFNBWEZ1bmMiPmV4dGVybmFsU3Vic2V0U0FYRnVuYzwvYT4JCSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBFeHRlcm5hbElELCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBTeXN0ZW1JRCkKKzwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkZ1bmN0aW9uIHR5cGU6IDxhIGhyZWY9IiNmYXRhbEVycm9yU0FYRnVuYyI+ZmF0YWxFcnJvclNBWEZ1bmM8L2E+Cit2b2lkCTxhIGhyZWY9IiNmYXRhbEVycm9yU0FYRnVuYyI+ZmF0YWxFcnJvclNBWEZ1bmM8L2E+CQkodm9pZCAqIGN0eCwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIG1zZywgPGJyIC8+CQkJCQkgLi4uIC4uLikKKzwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkZ1bmN0aW9uIHR5cGU6IDxhIGhyZWY9IiNnZXRFbnRpdHlTQVhGdW5jIj5nZXRFbnRpdHlTQVhGdW5jPC9hPgorPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxFbnRpdHlQdHIiPnhtbEVudGl0eVB0cjwvYT4JPGEgaHJlZj0iI2dldEVudGl0eVNBWEZ1bmMiPmdldEVudGl0eVNBWEZ1bmM8L2E+CSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKQorPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RnVuY3Rpb24gdHlwZTogPGEgaHJlZj0iI2dldFBhcmFtZXRlckVudGl0eVNBWEZ1bmMiPmdldFBhcmFtZXRlckVudGl0eVNBWEZ1bmM8L2E+Cis8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVudGl0eVB0ciI+eG1sRW50aXR5UHRyPC9hPgk8YSBocmVmPSIjZ2V0UGFyYW1ldGVyRW50aXR5U0FYRnVuYyI+Z2V0UGFyYW1ldGVyRW50aXR5U0FYRnVuYzwvYT4JKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKQorPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RnVuY3Rpb24gdHlwZTogPGEgaHJlZj0iI2hhc0V4dGVybmFsU3Vic2V0U0FYRnVuYyI+aGFzRXh0ZXJuYWxTdWJzZXRTQVhGdW5jPC9hPgoraW50CTxhIGhyZWY9IiNoYXNFeHRlcm5hbFN1YnNldFNBWEZ1bmMiPmhhc0V4dGVybmFsU3Vic2V0U0FYRnVuYzwvYT4JKHZvaWQgKiBjdHgpCis8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5GdW5jdGlvbiB0eXBlOiA8YSBocmVmPSIjaGFzSW50ZXJuYWxTdWJzZXRTQVhGdW5jIj5oYXNJbnRlcm5hbFN1YnNldFNBWEZ1bmM8L2E+CitpbnQJPGEgaHJlZj0iI2hhc0ludGVybmFsU3Vic2V0U0FYRnVuYyI+aGFzSW50ZXJuYWxTdWJzZXRTQVhGdW5jPC9hPgkodm9pZCAqIGN0eCkKKzwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkZ1bmN0aW9uIHR5cGU6IDxhIGhyZWY9IiNpZ25vcmFibGVXaGl0ZXNwYWNlU0FYRnVuYyI+aWdub3JhYmxlV2hpdGVzcGFjZVNBWEZ1bmM8L2E+Cit2b2lkCTxhIGhyZWY9IiNpZ25vcmFibGVXaGl0ZXNwYWNlU0FYRnVuYyI+aWdub3JhYmxlV2hpdGVzcGFjZVNBWEZ1bmM8L2E+CSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjaCwgPGJyIC8+CQkJCQkgaW50IGxlbikKKzwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkZ1bmN0aW9uIHR5cGU6IDxhIGhyZWY9IiNpbnRlcm5hbFN1YnNldFNBWEZ1bmMiPmludGVybmFsU3Vic2V0U0FYRnVuYzwvYT4KK3ZvaWQJPGEgaHJlZj0iI2ludGVybmFsU3Vic2V0U0FYRnVuYyI+aW50ZXJuYWxTdWJzZXRTQVhGdW5jPC9hPgkJKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIEV4dGVybmFsSUQsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIFN5c3RlbUlEKQorPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RnVuY3Rpb24gdHlwZTogPGEgaHJlZj0iI2lzU3RhbmRhbG9uZVNBWEZ1bmMiPmlzU3RhbmRhbG9uZVNBWEZ1bmM8L2E+CitpbnQJPGEgaHJlZj0iI2lzU3RhbmRhbG9uZVNBWEZ1bmMiPmlzU3RhbmRhbG9uZVNBWEZ1bmM8L2E+CQkodm9pZCAqIGN0eCkKKzwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkZ1bmN0aW9uIHR5cGU6IDxhIGhyZWY9IiNub3RhdGlvbkRlY2xTQVhGdW5jIj5ub3RhdGlvbkRlY2xTQVhGdW5jPC9hPgordm9pZAk8YSBocmVmPSIjbm90YXRpb25EZWNsU0FYRnVuYyI+bm90YXRpb25EZWNsU0FYRnVuYzwvYT4JCSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwdWJsaWNJZCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3lzdGVtSWQpCis8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5GdW5jdGlvbiB0eXBlOiA8YSBocmVmPSIjcHJvY2Vzc2luZ0luc3RydWN0aW9uU0FYRnVuYyI+cHJvY2Vzc2luZ0luc3RydWN0aW9uU0FYRnVuYzwvYT4KK3ZvaWQJPGEgaHJlZj0iI3Byb2Nlc3NpbmdJbnN0cnVjdGlvblNBWEZ1bmMiPnByb2Nlc3NpbmdJbnN0cnVjdGlvblNBWEZ1bmM8L2E+CSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB0YXJnZXQsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGRhdGEpCis8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5GdW5jdGlvbiB0eXBlOiA8YSBocmVmPSIjcmVmZXJlbmNlU0FYRnVuYyI+cmVmZXJlbmNlU0FYRnVuYzwvYT4KK3ZvaWQJPGEgaHJlZj0iI3JlZmVyZW5jZVNBWEZ1bmMiPnJlZmVyZW5jZVNBWEZ1bmM8L2E+CQkodm9pZCAqIGN0eCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSkKKzwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkZ1bmN0aW9uIHR5cGU6IDxhIGhyZWY9IiNyZXNvbHZlRW50aXR5U0FYRnVuYyI+cmVzb2x2ZUVudGl0eVNBWEZ1bmM8L2E+Cis8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlcklucHV0UHRyIj54bWxQYXJzZXJJbnB1dFB0cjwvYT4JPGEgaHJlZj0iI3Jlc29sdmVFbnRpdHlTQVhGdW5jIj5yZXNvbHZlRW50aXR5U0FYRnVuYzwvYT4JKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwdWJsaWNJZCwgPGJyIC8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN5c3RlbUlkKQorPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RnVuY3Rpb24gdHlwZTogPGEgaHJlZj0iI3NldERvY3VtZW50TG9jYXRvclNBWEZ1bmMiPnNldERvY3VtZW50TG9jYXRvclNBWEZ1bmM8L2E+Cit2b2lkCTxhIGhyZWY9IiNzZXREb2N1bWVudExvY2F0b3JTQVhGdW5jIj5zZXREb2N1bWVudExvY2F0b3JTQVhGdW5jPC9hPgkodm9pZCAqIGN0eCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxTQVhMb2NhdG9yUHRyIj54bWxTQVhMb2NhdG9yUHRyPC9hPiBsb2MpCis8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5GdW5jdGlvbiB0eXBlOiA8YSBocmVmPSIjc3RhcnREb2N1bWVudFNBWEZ1bmMiPnN0YXJ0RG9jdW1lbnRTQVhGdW5jPC9hPgordm9pZAk8YSBocmVmPSIjc3RhcnREb2N1bWVudFNBWEZ1bmMiPnN0YXJ0RG9jdW1lbnRTQVhGdW5jPC9hPgkJKHZvaWQgKiBjdHgpCis8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5GdW5jdGlvbiB0eXBlOiA8YSBocmVmPSIjc3RhcnRFbGVtZW50TnNTQVgyRnVuYyI+c3RhcnRFbGVtZW50TnNTQVgyRnVuYzwvYT4KK3ZvaWQJPGEgaHJlZj0iI3N0YXJ0RWxlbWVudE5zU0FYMkZ1bmMiPnN0YXJ0RWxlbWVudE5zU0FYMkZ1bmM8L2E+CQkodm9pZCAqIGN0eCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbG9jYWxuYW1lLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwcmVmaXgsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIFVSSSwgPGJyIC8+CQkJCQkgaW50IG5iX25hbWVzcGFjZXMsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqKiBuYW1lc3BhY2VzLCA8YnIgLz4JCQkJCSBpbnQgbmJfYXR0cmlidXRlcywgPGJyIC8+CQkJCQkgaW50IG5iX2RlZmF1bHRlZCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoqIGF0dHJpYnV0ZXMpCis8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5GdW5jdGlvbiB0eXBlOiA8YSBocmVmPSIjc3RhcnRFbGVtZW50U0FYRnVuYyI+c3RhcnRFbGVtZW50U0FYRnVuYzwvYT4KK3ZvaWQJPGEgaHJlZj0iI3N0YXJ0RWxlbWVudFNBWEZ1bmMiPnN0YXJ0RWxlbWVudFNBWEZ1bmM8L2E+CQkodm9pZCAqIGN0eCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoqIGF0dHMpCis8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5GdW5jdGlvbiB0eXBlOiA8YSBocmVmPSIjdW5wYXJzZWRFbnRpdHlEZWNsU0FYRnVuYyI+dW5wYXJzZWRFbnRpdHlEZWNsU0FYRnVuYzwvYT4KK3ZvaWQJPGEgaHJlZj0iI3VucGFyc2VkRW50aXR5RGVjbFNBWEZ1bmMiPnVucGFyc2VkRW50aXR5RGVjbFNBWEZ1bmM8L2E+CSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwdWJsaWNJZCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3lzdGVtSWQsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5vdGF0aW9uTmFtZSkKKzwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkZ1bmN0aW9uIHR5cGU6IDxhIGhyZWY9IiN3YXJuaW5nU0FYRnVuYyI+d2FybmluZ1NBWEZ1bmM8L2E+Cit2b2lkCTxhIGhyZWY9IiN3YXJuaW5nU0FYRnVuYyI+d2FybmluZ1NBWEZ1bmM8L2E+CQkJKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBtc2csIDxiciAvPgkJCQkJIC4uLiAuLi4pCis8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5sb25nCTxhIGhyZWY9IiN4bWxCeXRlQ29uc3VtZWQiPnhtbEJ5dGVDb25zdW1lZDwvYT4JCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbENsZWFudXBQYXJzZXIiPnhtbENsZWFudXBQYXJzZXI8L2E+CQkodm9pZCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxDbGVhck5vZGVJbmZvU2VxIj54bWxDbGVhck5vZGVJbmZvU2VxPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZXJOb2RlSW5mb1NlcVB0ciI+eG1sUGFyc2VyTm9kZUluZm9TZXFQdHI8L2E+IHNlcSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxDbGVhclBhcnNlckN0eHQiPnhtbENsZWFyUGFyc2VyQ3R4dDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPgk8YSBocmVmPSIjeG1sQ3JlYXRlRG9jUGFyc2VyQ3R4dCI+eG1sQ3JlYXRlRG9jUGFyc2VyQ3R4dDwvYT4JKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGN1cik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+CTxhIGhyZWY9IiN4bWxDcmVhdGVJT1BhcnNlckN0eHQiPnhtbENyZWF0ZUlPUGFyc2VyQ3R4dDwvYT4JKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sU0FYSGFuZGxlclB0ciI+eG1sU0FYSGFuZGxlclB0cjwvYT4gc2F4LCA8YnIgLz4JCQkJCQkgdm9pZCAqIHVzZXJfZGF0YSwgPGJyIC8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxJTy5odG1sI3htbElucHV0UmVhZENhbGxiYWNrIj54bWxJbnB1dFJlYWRDYWxsYmFjazwvYT4gaW9yZWFkLCA8YnIgLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbElPLmh0bWwjeG1sSW5wdXRDbG9zZUNhbGxiYWNrIj54bWxJbnB1dENsb3NlQ2FsbGJhY2s8L2E+IGlvY2xvc2UsIDxiciAvPgkJCQkJCSB2b2lkICogaW9jdHgsIDxiciAvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmciPnhtbENoYXJFbmNvZGluZzwvYT4gZW5jKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4JPGEgaHJlZj0iI3htbENyZWF0ZVB1c2hQYXJzZXJDdHh0Ij54bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dDwvYT4JKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sU0FYSGFuZGxlclB0ciI+eG1sU0FYSGFuZGxlclB0cjwvYT4gc2F4LCA8YnIgLz4JCQkJCQkgdm9pZCAqIHVzZXJfZGF0YSwgPGJyIC8+CQkJCQkJIGNvbnN0IGNoYXIgKiBjaHVuaywgPGJyIC8+CQkJCQkJIGludCBzaXplLCA8YnIgLz4JCQkJCQkgY29uc3QgY2hhciAqIGZpbGVuYW1lKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+CTxhIGhyZWY9IiN4bWxDdHh0UmVhZERvYyI+eG1sQ3R4dFJlYWREb2M8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjdXIsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBVUkwsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyIC8+CQkJCQkgaW50IG9wdGlvbnMpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4JPGEgaHJlZj0iI3htbEN0eHRSZWFkRmQiPnhtbEN0eHRSZWFkRmQ8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSBpbnQgZmQsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBVUkwsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyIC8+CQkJCQkgaW50IG9wdGlvbnMpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4JPGEgaHJlZj0iI3htbEN0eHRSZWFkRmlsZSI+eG1sQ3R4dFJlYWRGaWxlPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGZpbGVuYW1lLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcsIDxiciAvPgkJCQkJIGludCBvcHRpb25zKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+CTxhIGhyZWY9IiN4bWxDdHh0UmVhZElPIj54bWxDdHh0UmVhZElPPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbElPLmh0bWwjeG1sSW5wdXRSZWFkQ2FsbGJhY2siPnhtbElucHV0UmVhZENhbGxiYWNrPC9hPiBpb3JlYWQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxJTy5odG1sI3htbElucHV0Q2xvc2VDYWxsYmFjayI+eG1sSW5wdXRDbG9zZUNhbGxiYWNrPC9hPiBpb2Nsb3NlLCA8YnIgLz4JCQkJCSB2b2lkICogaW9jdHgsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBVUkwsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyIC8+CQkJCQkgaW50IG9wdGlvbnMpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4JPGEgaHJlZj0iI3htbEN0eHRSZWFkTWVtb3J5Ij54bWxDdHh0UmVhZE1lbW9yeTwvYT4JKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGJ1ZmZlciwgPGJyIC8+CQkJCQkgaW50IHNpemUsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBVUkwsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyIC8+CQkJCQkgaW50IG9wdGlvbnMpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sQ3R4dFJlc2V0Ij54bWxDdHh0UmVzZXQ8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbEN0eHRSZXNldFB1c2giPnhtbEN0eHRSZXNldFB1c2g8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogY2h1bmssIDxiciAvPgkJCQkJIGludCBzaXplLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogZmlsZW5hbWUsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbEN0eHRVc2VPcHRpb25zIj54bWxDdHh0VXNlT3B0aW9uczwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIGludCBvcHRpb25zKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkZ1bmN0aW9uIHR5cGU6IDxhIGhyZWY9IiN4bWxFeHRlcm5hbEVudGl0eUxvYWRlciI+eG1sRXh0ZXJuYWxFbnRpdHlMb2FkZXI8L2E+Cis8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlcklucHV0UHRyIj54bWxQYXJzZXJJbnB1dFB0cjwvYT4JPGEgaHJlZj0iI3htbEV4dGVybmFsRW50aXR5TG9hZGVyIj54bWxFeHRlcm5hbEVudGl0eUxvYWRlcjwvYT4JKGNvbnN0IGNoYXIgKiBVUkwsIDxiciAvPgkJCQkJCSBjb25zdCBjaGFyICogSUQsIDxiciAvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGNvbnRleHQpCis8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxGcmVlUGFyc2VyQ3R4dCI+eG1sRnJlZVBhcnNlckN0eHQ8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC1wYXJzZXIuaHRtbCN4bWxFeHRlcm5hbEVudGl0eUxvYWRlciI+eG1sRXh0ZXJuYWxFbnRpdHlMb2FkZXI8L2E+CTxhIGhyZWY9IiN4bWxHZXRFeHRlcm5hbEVudGl0eUxvYWRlciI+eG1sR2V0RXh0ZXJuYWxFbnRpdHlMb2FkZXI8L2E+CSh2b2lkKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sR2V0RmVhdHVyZSI+eG1sR2V0RmVhdHVyZTwvYT4JCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogbmFtZSwgPGJyIC8+CQkJCQkgdm9pZCAqIHJlc3VsdCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbEdldEZlYXR1cmVzTGlzdCI+eG1sR2V0RmVhdHVyZXNMaXN0PC9hPgkJKGludCAqIGxlbiwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqKiByZXN1bHQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxIYXNGZWF0dXJlIj54bWxIYXNGZWF0dXJlPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwjeG1sRmVhdHVyZSI+eG1sRmVhdHVyZTwvYT4gZmVhdHVyZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbER0ZFB0ciI+eG1sRHRkUHRyPC9hPgk8YSBocmVmPSIjeG1sSU9QYXJzZURURCI+eG1sSU9QYXJzZURURDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFNBWEhhbmRsZXJQdHIiPnhtbFNBWEhhbmRsZXJQdHI8L2E+IHNheCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciI+eG1sUGFyc2VySW5wdXRCdWZmZXJQdHI8L2E+IGlucHV0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmciPnhtbENoYXJFbmNvZGluZzwvYT4gZW5jKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbEluaXROb2RlSW5mb1NlcSI+eG1sSW5pdE5vZGVJbmZvU2VxPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZXJOb2RlSW5mb1NlcVB0ciI+eG1sUGFyc2VyTm9kZUluZm9TZXFQdHI8L2E+IHNlcSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxJbml0UGFyc2VyIj54bWxJbml0UGFyc2VyPC9hPgkJCSh2b2lkKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sSW5pdFBhcnNlckN0eHQiPnhtbEluaXRQYXJzZXJDdHh0PC9hPgkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbEtlZXBCbGFua3NEZWZhdWx0Ij54bWxLZWVwQmxhbmtzRGVmYXVsdDwvYT4JCShpbnQgdmFsKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sTGluZU51bWJlcnNEZWZhdWx0Ij54bWxMaW5lTnVtYmVyc0RlZmF1bHQ8L2E+CQkoaW50IHZhbCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlcklucHV0UHRyIj54bWxQYXJzZXJJbnB1dFB0cjwvYT4JPGEgaHJlZj0iI3htbExvYWRFeHRlcm5hbEVudGl0eSI+eG1sTG9hZEV4dGVybmFsRW50aXR5PC9hPgkoY29uc3QgY2hhciAqIFVSTCwgPGJyIC8+CQkJCQkJIGNvbnN0IGNoYXIgKiBJRCwgPGJyIC8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlcklucHV0UHRyIj54bWxQYXJzZXJJbnB1dFB0cjwvYT4JPGEgaHJlZj0iI3htbE5ld0lPSW5wdXRTdHJlYW0iPnhtbE5ld0lPSW5wdXRTdHJlYW08L2E+CSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyUHRyIj54bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cjwvYT4gaW5wdXQsIDxiciAvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmciPnhtbENoYXJFbmNvZGluZzwvYT4gZW5jKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4JPGEgaHJlZj0iI3htbE5ld1BhcnNlckN0eHQiPnhtbE5ld1BhcnNlckN0eHQ8L2E+CSh2b2lkKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5Ij54bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnk8L2E+CSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sU0FYSGFuZGxlclB0ciI+eG1sU0FYSGFuZGxlclB0cjwvYT4gc2F4LCA8YnIgLz4JCQkJCSB2b2lkICogdXNlcl9kYXRhLCA8YnIgLz4JCQkJCSBpbnQgZGVwdGgsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0cmluZywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiAqIGxzdCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXIiPnhtbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXI8L2E+CSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxiciAvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFNBWEhhbmRsZXJQdHIiPnhtbFNBWEhhbmRsZXJQdHI8L2E+IHNheCwgPGJyIC8+CQkJCQkJIHZvaWQgKiB1c2VyX2RhdGEsIDxiciAvPgkJCQkJCSBpbnQgZGVwdGgsIDxiciAvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzdHJpbmcsIDxiciAvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+ICogbHN0LCA8YnIgLz4JCQkJCQkgaW50IHJlY292ZXIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxQYXJzZUNodW5rIj54bWxQYXJzZUNodW5rPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBjaHVuaywgPGJyIC8+CQkJCQkgaW50IHNpemUsIDxiciAvPgkJCQkJIGludCB0ZXJtaW5hdGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxQYXJzZUN0eHRFeHRlcm5hbEVudGl0eSI+eG1sUGFyc2VDdHh0RXh0ZXJuYWxFbnRpdHk8L2E+CSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogVVJMLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBJRCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiAqIGxzdCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbER0ZFB0ciI+eG1sRHRkUHRyPC9hPgk8YSBocmVmPSIjeG1sUGFyc2VEVEQiPnhtbFBhcnNlRFREPC9hPgkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIEV4dGVybmFsSUQsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIFN5c3RlbUlEKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+CTxhIGhyZWY9IiN4bWxQYXJzZURvYyI+eG1sUGFyc2VEb2M8L2E+CQkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY3VyKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sUGFyc2VEb2N1bWVudCI+eG1sUGFyc2VEb2N1bWVudDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4JPGEgaHJlZj0iI3htbFBhcnNlRW50aXR5Ij54bWxQYXJzZUVudGl0eTwvYT4JCShjb25zdCBjaGFyICogZmlsZW5hbWUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxQYXJzZUV4dFBhcnNlZEVudCI+eG1sUGFyc2VFeHRQYXJzZWRFbnQ8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sUGFyc2VFeHRlcm5hbEVudGl0eSI+eG1sUGFyc2VFeHRlcm5hbEVudGl0eTwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sU0FYSGFuZGxlclB0ciI+eG1sU0FYSGFuZGxlclB0cjwvYT4gc2F4LCA8YnIgLz4JCQkJCSB2b2lkICogdXNlcl9kYXRhLCA8YnIgLz4JCQkJCSBpbnQgZGVwdGgsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIFVSTCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogSUQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gKiBsc3QpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4JPGEgaHJlZj0iI3htbFBhcnNlRmlsZSI+eG1sUGFyc2VGaWxlPC9hPgkJKGNvbnN0IGNoYXIgKiBmaWxlbmFtZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxQYXJzZXJFcnJvcnMiPnhtbFBhcnNlckVycm9yczwvYT4JPGEgaHJlZj0iI3htbFBhcnNlSW5Ob2RlQ29udGV4dCI+eG1sUGFyc2VJbk5vZGVDb250ZXh0PC9hPgkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogZGF0YSwgPGJyIC8+CQkJCQkgaW50IGRhdGFsZW4sIDxiciAvPgkJCQkJIGludCBvcHRpb25zLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+ICogbHN0KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+CTxhIGhyZWY9IiN4bWxQYXJzZU1lbW9yeSI+eG1sUGFyc2VNZW1vcnk8L2E+CQkoY29uc3QgY2hhciAqIGJ1ZmZlciwgPGJyIC8+CQkJCQkgaW50IHNpemUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sUGFyc2VyQWRkTm9kZUluZm8iPnhtbFBhcnNlckFkZE5vZGVJbmZvPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlck5vZGVJbmZvUHRyIj54bWxQYXJzZXJOb2RlSW5mb1B0cjwvYT4gaW5mbyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5jb25zdCA8YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VyTm9kZUluZm8iPnhtbFBhcnNlck5vZGVJbmZvPC9hPiAqCTxhIGhyZWY9IiN4bWxQYXJzZXJGaW5kTm9kZUluZm8iPnhtbFBhcnNlckZpbmROb2RlSW5mbzwvYT4JKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4LCA8YnIgLz4JCQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj51bnNpZ25lZCBsb25nCTxhIGhyZWY9IiN4bWxQYXJzZXJGaW5kTm9kZUluZm9JbmRleCI+eG1sUGFyc2VyRmluZE5vZGVJbmZvSW5kZXg8L2E+CShjb25zdCA8YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VyTm9kZUluZm9TZXFQdHIiPnhtbFBhcnNlck5vZGVJbmZvU2VxUHRyPC9hPiBzZXEsIDxiciAvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RnVuY3Rpb24gdHlwZTogPGEgaHJlZj0iI3htbFBhcnNlcklucHV0RGVhbGxvY2F0ZSI+eG1sUGFyc2VySW5wdXREZWFsbG9jYXRlPC9hPgordm9pZAk8YSBocmVmPSIjeG1sUGFyc2VySW5wdXREZWFsbG9jYXRlIj54bWxQYXJzZXJJbnB1dERlYWxsb2NhdGU8L2E+CSg8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzdHIpCis8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFBhcnNlcklucHV0R3JvdyI+eG1sUGFyc2VySW5wdXRHcm93PC9hPgkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRQdHIiPnhtbFBhcnNlcklucHV0UHRyPC9hPiBpbiwgPGJyIC8+CQkJCQkgaW50IGxlbik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFBhcnNlcklucHV0UmVhZCI+eG1sUGFyc2VySW5wdXRSZWFkPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRQdHIiPnhtbFBhcnNlcklucHV0UHRyPC9hPiBpbiwgPGJyIC8+CQkJCQkgaW50IGxlbik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFBlZGFudGljUGFyc2VyRGVmYXVsdCI+eG1sUGVkYW50aWNQYXJzZXJEZWZhdWx0PC9hPgkoaW50IHZhbCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPgk8YSBocmVmPSIjeG1sUmVhZERvYyI+eG1sUmVhZERvYzwvYT4JCShjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjdXIsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBVUkwsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyIC8+CQkJCQkgaW50IG9wdGlvbnMpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4JPGEgaHJlZj0iI3htbFJlYWRGZCI+eG1sUmVhZEZkPC9hPgkJKGludCBmZCwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIFVSTCwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nLCA8YnIgLz4JCQkJCSBpbnQgb3B0aW9ucyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPgk8YSBocmVmPSIjeG1sUmVhZEZpbGUiPnhtbFJlYWRGaWxlPC9hPgkJKGNvbnN0IGNoYXIgKiBmaWxlbmFtZSwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nLCA8YnIgLz4JCQkJCSBpbnQgb3B0aW9ucyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPgk8YSBocmVmPSIjeG1sUmVhZElPIj54bWxSZWFkSU88L2E+CQkoPGEgaHJlZj0ibGlieG1sLXhtbElPLmh0bWwjeG1sSW5wdXRSZWFkQ2FsbGJhY2siPnhtbElucHV0UmVhZENhbGxiYWNrPC9hPiBpb3JlYWQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxJTy5odG1sI3htbElucHV0Q2xvc2VDYWxsYmFjayI+eG1sSW5wdXRDbG9zZUNhbGxiYWNrPC9hPiBpb2Nsb3NlLCA8YnIgLz4JCQkJCSB2b2lkICogaW9jdHgsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBVUkwsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyIC8+CQkJCQkgaW50IG9wdGlvbnMpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4JPGEgaHJlZj0iI3htbFJlYWRNZW1vcnkiPnhtbFJlYWRNZW1vcnk8L2E+CQkoY29uc3QgY2hhciAqIGJ1ZmZlciwgPGJyIC8+CQkJCQkgaW50IHNpemUsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBVUkwsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyIC8+CQkJCQkgaW50IG9wdGlvbnMpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4JPGEgaHJlZj0iI3htbFJlY292ZXJEb2MiPnhtbFJlY292ZXJEb2M8L2E+CQkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY3VyKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+CTxhIGhyZWY9IiN4bWxSZWNvdmVyRmlsZSI+eG1sUmVjb3ZlckZpbGU8L2E+CQkoY29uc3QgY2hhciAqIGZpbGVuYW1lKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+CTxhIGhyZWY9IiN4bWxSZWNvdmVyTWVtb3J5Ij54bWxSZWNvdmVyTWVtb3J5PC9hPgkoY29uc3QgY2hhciAqIGJ1ZmZlciwgPGJyIC8+CQkJCQkgaW50IHNpemUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEdGRQdHIiPnhtbER0ZFB0cjwvYT4JPGEgaHJlZj0iI3htbFNBWFBhcnNlRFREIj54bWxTQVhQYXJzZURURDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFNBWEhhbmRsZXJQdHIiPnhtbFNBWEhhbmRsZXJQdHI8L2E+IHNheCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogRXh0ZXJuYWxJRCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogU3lzdGVtSUQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4JPGEgaHJlZj0iI3htbFNBWFBhcnNlRG9jIj54bWxTQVhQYXJzZURvYzwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFNBWEhhbmRsZXJQdHIiPnhtbFNBWEhhbmRsZXJQdHI8L2E+IHNheCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY3VyLCA8YnIgLz4JCQkJCSBpbnQgcmVjb3ZlcnkpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4JPGEgaHJlZj0iI3htbFNBWFBhcnNlRW50aXR5Ij54bWxTQVhQYXJzZUVudGl0eTwvYT4JKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sU0FYSGFuZGxlclB0ciI+eG1sU0FYSGFuZGxlclB0cjwvYT4gc2F4LCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogZmlsZW5hbWUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4JPGEgaHJlZj0iI3htbFNBWFBhcnNlRmlsZSI+eG1sU0FYUGFyc2VGaWxlPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sU0FYSGFuZGxlclB0ciI+eG1sU0FYSGFuZGxlclB0cjwvYT4gc2F4LCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogZmlsZW5hbWUsIDxiciAvPgkJCQkJIGludCByZWNvdmVyeSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPgk8YSBocmVmPSIjeG1sU0FYUGFyc2VGaWxlV2l0aERhdGEiPnhtbFNBWFBhcnNlRmlsZVdpdGhEYXRhPC9hPgkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxTQVhIYW5kbGVyUHRyIj54bWxTQVhIYW5kbGVyUHRyPC9hPiBzYXgsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBmaWxlbmFtZSwgPGJyIC8+CQkJCQkgaW50IHJlY292ZXJ5LCA8YnIgLz4JCQkJCSB2b2lkICogZGF0YSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPgk8YSBocmVmPSIjeG1sU0FYUGFyc2VNZW1vcnkiPnhtbFNBWFBhcnNlTWVtb3J5PC9hPgkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxTQVhIYW5kbGVyUHRyIj54bWxTQVhIYW5kbGVyUHRyPC9hPiBzYXgsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBidWZmZXIsIDxiciAvPgkJCQkJIGludCBzaXplLCA8YnIgLz4JCQkJCSBpbnQgcmVjb3ZlcnkpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4JPGEgaHJlZj0iI3htbFNBWFBhcnNlTWVtb3J5V2l0aERhdGEiPnhtbFNBWFBhcnNlTWVtb3J5V2l0aERhdGE8L2E+CSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFNBWEhhbmRsZXJQdHIiPnhtbFNBWEhhbmRsZXJQdHI8L2E+IHNheCwgPGJyIC8+CQkJCQkJIGNvbnN0IGNoYXIgKiBidWZmZXIsIDxiciAvPgkJCQkJCSBpbnQgc2l6ZSwgPGJyIC8+CQkJCQkJIGludCByZWNvdmVyeSwgPGJyIC8+CQkJCQkJIHZvaWQgKiBkYXRhKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sU0FYVXNlclBhcnNlRmlsZSI+eG1sU0FYVXNlclBhcnNlRmlsZTwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFNBWEhhbmRsZXJQdHIiPnhtbFNBWEhhbmRsZXJQdHI8L2E+IHNheCwgPGJyIC8+CQkJCQkgdm9pZCAqIHVzZXJfZGF0YSwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGZpbGVuYW1lKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sU0FYVXNlclBhcnNlTWVtb3J5Ij54bWxTQVhVc2VyUGFyc2VNZW1vcnk8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxTQVhIYW5kbGVyUHRyIj54bWxTQVhIYW5kbGVyUHRyPC9hPiBzYXgsIDxiciAvPgkJCQkJIHZvaWQgKiB1c2VyX2RhdGEsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBidWZmZXIsIDxiciAvPgkJCQkJIGludCBzaXplKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFNldEV4dGVybmFsRW50aXR5TG9hZGVyIj54bWxTZXRFeHRlcm5hbEVudGl0eUxvYWRlcjwvYT4JKDxhIGhyZWY9ImxpYnhtbC1wYXJzZXIuaHRtbCN4bWxFeHRlcm5hbEVudGl0eUxvYWRlciI+eG1sRXh0ZXJuYWxFbnRpdHlMb2FkZXI8L2E+IGYpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxTZXRGZWF0dXJlIj54bWxTZXRGZWF0dXJlPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBuYW1lLCA8YnIgLz4JCQkJCSB2b2lkICogdmFsdWUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sU2V0dXBQYXJzZXJGb3JCdWZmZXIiPnhtbFNldHVwUGFyc2VyRm9yQnVmZmVyPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogYnVmZmVyLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogZmlsZW5hbWUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sU3RvcFBhcnNlciI+eG1sU3RvcFBhcnNlcjwvYT4JCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdCI+eG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdDwvYT4JKGludCB2YWwpPC9wcmU+Cis8aDI+RGVzY3JpcHRpb248L2gyPgorPGgzPjxhIG5hbWU9IlhNTF9DT01QTEVURV9BVFRSUyIgaWQ9IlhNTF9DT01QTEVURV9BVFRSUyI+PC9hPk1hY3JvOiBYTUxfQ09NUExFVEVfQVRUUlM8L2gzPjxwcmU+I2RlZmluZSBYTUxfQ09NUExFVEVfQVRUUlM8L3ByZT48cD5CaXQgaW4gdGhlIGxvYWRzdWJzZXQgY29udGV4dCBmaWVsZCB0byB0ZWxsIHRvIGRvIGNvbXBsZXRlIHRoZSBlbGVtZW50cyBhdHRyaWJ1dGVzIGxpc3RzIHdpdGggdGhlIG9uZXMgZGVmYXVsdGVkIGZyb20gdGhlIERURHMuIFVzZSBpdCB0byBpbml0aWFsaXplIHhtbExvYWRFeHREdGREZWZhdWx0VmFsdWUuPC9wPgorPGgzPjxhIG5hbWU9IlhNTF9ERUZBVUxUX1ZFUlNJT04iIGlkPSJYTUxfREVGQVVMVF9WRVJTSU9OIj48L2E+TWFjcm86IFhNTF9ERUZBVUxUX1ZFUlNJT048L2gzPjxwcmU+I2RlZmluZSBYTUxfREVGQVVMVF9WRVJTSU9OPC9wcmU+PHA+VGhlIGRlZmF1bHQgdmVyc2lvbiBvZiBYTUwgdXNlZDogMS4wPC9wPgorPGgzPjxhIG5hbWU9IlhNTF9ERVRFQ1RfSURTIiBpZD0iWE1MX0RFVEVDVF9JRFMiPjwvYT5NYWNybzogWE1MX0RFVEVDVF9JRFM8L2gzPjxwcmU+I2RlZmluZSBYTUxfREVURUNUX0lEUzwvcHJlPjxwPkJpdCBpbiB0aGUgbG9hZHN1YnNldCBjb250ZXh0IGZpZWxkIHRvIHRlbGwgdG8gZG8gSUQvUkVGcyBsb29rdXBzLiBVc2UgaXQgdG8gaW5pdGlhbGl6ZSB4bWxMb2FkRXh0RHRkRGVmYXVsdFZhbHVlLjwvcD4KKzxoMz48YSBuYW1lPSJYTUxfU0FYMl9NQUdJQyIgaWQ9IlhNTF9TQVgyX01BR0lDIj48L2E+TWFjcm86IFhNTF9TQVgyX01BR0lDPC9oMz48cHJlPiNkZWZpbmUgWE1MX1NBWDJfTUFHSUM8L3ByZT48cD5TcGVjaWFsIGNvbnN0YW50IGZvdW5kIGluIFNBWDIgYmxvY2tzIGluaXRpYWxpemVkIGZpZWxkczwvcD4KKzxoMz48YSBuYW1lPSJYTUxfU0tJUF9JRFMiIGlkPSJYTUxfU0tJUF9JRFMiPjwvYT5NYWNybzogWE1MX1NLSVBfSURTPC9oMz48cHJlPiNkZWZpbmUgWE1MX1NLSVBfSURTPC9wcmU+PHA+Qml0IGluIHRoZSBsb2Fkc3Vic2V0IGNvbnRleHQgZmllbGQgdG8gdGVsbCB0byBub3QgZG8gSUQvUkVGcyByZWdpc3RyYXRpb24uIFVzZWQgdG8gaW5pdGlhbGl6ZSA8YSBocmVmPSJsaWJ4bWwtZ2xvYmFscy5odG1sI3htbExvYWRFeHREdGREZWZhdWx0VmFsdWUiPnhtbExvYWRFeHREdGREZWZhdWx0VmFsdWU8L2E+IGluIHNvbWUgc3BlY2lhbCBjYXNlcy48L3A+Cis8aDM+RW51bSA8YSBuYW1lPSJ4bWxGZWF0dXJlIiBpZD0ieG1sRmVhdHVyZSI+eG1sRmVhdHVyZTwvYT48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5FbnVtIHhtbEZlYXR1cmUgeworICAgIDxhIG5hbWU9IlhNTF9XSVRIX1RIUkVBRCIgaWQ9IlhNTF9XSVRIX1RIUkVBRCI+WE1MX1dJVEhfVEhSRUFEPC9hPiA9IDEKKyAgICA8YSBuYW1lPSJYTUxfV0lUSF9UUkVFIiBpZD0iWE1MX1dJVEhfVFJFRSI+WE1MX1dJVEhfVFJFRTwvYT4gPSAyCisgICAgPGEgbmFtZT0iWE1MX1dJVEhfT1VUUFVUIiBpZD0iWE1MX1dJVEhfT1VUUFVUIj5YTUxfV0lUSF9PVVRQVVQ8L2E+ID0gMworICAgIDxhIG5hbWU9IlhNTF9XSVRIX1BVU0giIGlkPSJYTUxfV0lUSF9QVVNIIj5YTUxfV0lUSF9QVVNIPC9hPiA9IDQKKyAgICA8YSBuYW1lPSJYTUxfV0lUSF9SRUFERVIiIGlkPSJYTUxfV0lUSF9SRUFERVIiPlhNTF9XSVRIX1JFQURFUjwvYT4gPSA1CisgICAgPGEgbmFtZT0iWE1MX1dJVEhfUEFUVEVSTiIgaWQ9IlhNTF9XSVRIX1BBVFRFUk4iPlhNTF9XSVRIX1BBVFRFUk48L2E+ID0gNgorICAgIDxhIG5hbWU9IlhNTF9XSVRIX1dSSVRFUiIgaWQ9IlhNTF9XSVRIX1dSSVRFUiI+WE1MX1dJVEhfV1JJVEVSPC9hPiA9IDcKKyAgICA8YSBuYW1lPSJYTUxfV0lUSF9TQVgxIiBpZD0iWE1MX1dJVEhfU0FYMSI+WE1MX1dJVEhfU0FYMTwvYT4gPSA4CisgICAgPGEgbmFtZT0iWE1MX1dJVEhfRlRQIiBpZD0iWE1MX1dJVEhfRlRQIj5YTUxfV0lUSF9GVFA8L2E+ID0gOQorICAgIDxhIG5hbWU9IlhNTF9XSVRIX0hUVFAiIGlkPSJYTUxfV0lUSF9IVFRQIj5YTUxfV0lUSF9IVFRQPC9hPiA9IDEwCisgICAgPGEgbmFtZT0iWE1MX1dJVEhfVkFMSUQiIGlkPSJYTUxfV0lUSF9WQUxJRCI+WE1MX1dJVEhfVkFMSUQ8L2E+ID0gMTEKKyAgICA8YSBuYW1lPSJYTUxfV0lUSF9IVE1MIiBpZD0iWE1MX1dJVEhfSFRNTCI+WE1MX1dJVEhfSFRNTDwvYT4gPSAxMgorICAgIDxhIG5hbWU9IlhNTF9XSVRIX0xFR0FDWSIgaWQ9IlhNTF9XSVRIX0xFR0FDWSI+WE1MX1dJVEhfTEVHQUNZPC9hPiA9IDEzCisgICAgPGEgbmFtZT0iWE1MX1dJVEhfQzE0TiIgaWQ9IlhNTF9XSVRIX0MxNE4iPlhNTF9XSVRIX0MxNE48L2E+ID0gMTQKKyAgICA8YSBuYW1lPSJYTUxfV0lUSF9DQVRBTE9HIiBpZD0iWE1MX1dJVEhfQ0FUQUxPRyI+WE1MX1dJVEhfQ0FUQUxPRzwvYT4gPSAxNQorICAgIDxhIG5hbWU9IlhNTF9XSVRIX1hQQVRIIiBpZD0iWE1MX1dJVEhfWFBBVEgiPlhNTF9XSVRIX1hQQVRIPC9hPiA9IDE2CisgICAgPGEgbmFtZT0iWE1MX1dJVEhfWFBUUiIgaWQ9IlhNTF9XSVRIX1hQVFIiPlhNTF9XSVRIX1hQVFI8L2E+ID0gMTcKKyAgICA8YSBuYW1lPSJYTUxfV0lUSF9YSU5DTFVERSIgaWQ9IlhNTF9XSVRIX1hJTkNMVURFIj5YTUxfV0lUSF9YSU5DTFVERTwvYT4gPSAxOAorICAgIDxhIG5hbWU9IlhNTF9XSVRIX0lDT05WIiBpZD0iWE1MX1dJVEhfSUNPTlYiPlhNTF9XSVRIX0lDT05WPC9hPiA9IDE5CisgICAgPGEgbmFtZT0iWE1MX1dJVEhfSVNPODg1OVgiIGlkPSJYTUxfV0lUSF9JU084ODU5WCI+WE1MX1dJVEhfSVNPODg1OVg8L2E+ID0gMjAKKyAgICA8YSBuYW1lPSJYTUxfV0lUSF9VTklDT0RFIiBpZD0iWE1MX1dJVEhfVU5JQ09ERSI+WE1MX1dJVEhfVU5JQ09ERTwvYT4gPSAyMQorICAgIDxhIG5hbWU9IlhNTF9XSVRIX1JFR0VYUCIgaWQ9IlhNTF9XSVRIX1JFR0VYUCI+WE1MX1dJVEhfUkVHRVhQPC9hPiA9IDIyCisgICAgPGEgbmFtZT0iWE1MX1dJVEhfQVVUT01BVEEiIGlkPSJYTUxfV0lUSF9BVVRPTUFUQSI+WE1MX1dJVEhfQVVUT01BVEE8L2E+ID0gMjMKKyAgICA8YSBuYW1lPSJYTUxfV0lUSF9FWFBSIiBpZD0iWE1MX1dJVEhfRVhQUiI+WE1MX1dJVEhfRVhQUjwvYT4gPSAyNAorICAgIDxhIG5hbWU9IlhNTF9XSVRIX1NDSEVNQVMiIGlkPSJYTUxfV0lUSF9TQ0hFTUFTIj5YTUxfV0lUSF9TQ0hFTUFTPC9hPiA9IDI1CisgICAgPGEgbmFtZT0iWE1MX1dJVEhfU0NIRU1BVFJPTiIgaWQ9IlhNTF9XSVRIX1NDSEVNQVRST04iPlhNTF9XSVRIX1NDSEVNQVRST048L2E+ID0gMjYKKyAgICA8YSBuYW1lPSJYTUxfV0lUSF9NT0RVTEVTIiBpZD0iWE1MX1dJVEhfTU9EVUxFUyI+WE1MX1dJVEhfTU9EVUxFUzwvYT4gPSAyNworICAgIDxhIG5hbWU9IlhNTF9XSVRIX0RFQlVHIiBpZD0iWE1MX1dJVEhfREVCVUciPlhNTF9XSVRIX0RFQlVHPC9hPiA9IDI4CisgICAgPGEgbmFtZT0iWE1MX1dJVEhfREVCVUdfTUVNIiBpZD0iWE1MX1dJVEhfREVCVUdfTUVNIj5YTUxfV0lUSF9ERUJVR19NRU08L2E+ID0gMjkKKyAgICA8YSBuYW1lPSJYTUxfV0lUSF9ERUJVR19SVU4iIGlkPSJYTUxfV0lUSF9ERUJVR19SVU4iPlhNTF9XSVRIX0RFQlVHX1JVTjwvYT4gPSAzMAorICAgIDxhIG5hbWU9IlhNTF9XSVRIX1pMSUIiIGlkPSJYTUxfV0lUSF9aTElCIj5YTUxfV0lUSF9aTElCPC9hPiA9IDMxCisgICAgPGEgbmFtZT0iWE1MX1dJVEhfSUNVIiBpZD0iWE1MX1dJVEhfSUNVIj5YTUxfV0lUSF9JQ1U8L2E+ID0gMzIKKyAgICA8YSBuYW1lPSJYTUxfV0lUSF9MWk1BIiBpZD0iWE1MX1dJVEhfTFpNQSI+WE1MX1dJVEhfTFpNQTwvYT4gPSAzMworICAgIDxhIG5hbWU9IlhNTF9XSVRIX05PTkUiIGlkPSJYTUxfV0lUSF9OT05FIj5YTUxfV0lUSF9OT05FPC9hPiA9IDk5OTk5IDoganVzdCB0byBiZSBzdXJlIG9mIGFsbG9jYXRpb24gc2l6ZQorfQorPC9wcmU+PGgzPkVudW0gPGEgbmFtZT0ieG1sUGFyc2VySW5wdXRTdGF0ZSIgaWQ9InhtbFBhcnNlcklucHV0U3RhdGUiPnhtbFBhcnNlcklucHV0U3RhdGU8L2E+PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RW51bSB4bWxQYXJzZXJJbnB1dFN0YXRlIHsKKyAgICA8YSBuYW1lPSJYTUxfUEFSU0VSX0VPRiIgaWQ9IlhNTF9QQVJTRVJfRU9GIj5YTUxfUEFSU0VSX0VPRjwvYT4gPSAtMSA6IG5vdGhpbmcgaXMgdG8gYmUgcGFyc2VkCisgICAgPGEgbmFtZT0iWE1MX1BBUlNFUl9TVEFSVCIgaWQ9IlhNTF9QQVJTRVJfU1RBUlQiPlhNTF9QQVJTRVJfU1RBUlQ8L2E+ID0gMCA6IG5vdGhpbmcgaGFzIGJlZW4gcGFyc2VkCisgICAgPGEgbmFtZT0iWE1MX1BBUlNFUl9NSVNDIiBpZD0iWE1MX1BBUlNFUl9NSVNDIj5YTUxfUEFSU0VSX01JU0M8L2E+ID0gMSA6IE1pc2MqIGJlZm9yZSBpbnQgc3Vic2V0CisgICAgPGEgbmFtZT0iWE1MX1BBUlNFUl9QSSIgaWQ9IlhNTF9QQVJTRVJfUEkiPlhNTF9QQVJTRVJfUEk8L2E+ID0gMiA6IFdpdGhpbiBhIHByb2Nlc3NpbmcgaW5zdHJ1Y3Rpb24KKyAgICA8YSBuYW1lPSJYTUxfUEFSU0VSX0RURCIgaWQ9IlhNTF9QQVJTRVJfRFREIj5YTUxfUEFSU0VSX0RURDwvYT4gPSAzIDogd2l0aGluIHNvbWUgRFREIGNvbnRlbnQKKyAgICA8YSBuYW1lPSJYTUxfUEFSU0VSX1BST0xPRyIgaWQ9IlhNTF9QQVJTRVJfUFJPTE9HIj5YTUxfUEFSU0VSX1BST0xPRzwvYT4gPSA0IDogTWlzYyogYWZ0ZXIgaW50ZXJuYWwgc3Vic2V0CisgICAgPGEgbmFtZT0iWE1MX1BBUlNFUl9DT01NRU5UIiBpZD0iWE1MX1BBUlNFUl9DT01NRU5UIj5YTUxfUEFSU0VSX0NPTU1FTlQ8L2E+ID0gNSA6IHdpdGhpbiBhIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNjb21tZW50Ij5jb21tZW50PC9hPgorICAgIDxhIG5hbWU9IlhNTF9QQVJTRVJfU1RBUlRfVEFHIiBpZD0iWE1MX1BBUlNFUl9TVEFSVF9UQUciPlhNTF9QQVJTRVJfU1RBUlRfVEFHPC9hPiA9IDYgOiB3aXRoaW4gYSBzdGFydCB0YWcKKyAgICA8YSBuYW1lPSJYTUxfUEFSU0VSX0NPTlRFTlQiIGlkPSJYTUxfUEFSU0VSX0NPTlRFTlQiPlhNTF9QQVJTRVJfQ09OVEVOVDwvYT4gPSA3IDogd2l0aGluIHRoZSBjb250ZW50CisgICAgPGEgbmFtZT0iWE1MX1BBUlNFUl9DREFUQV9TRUNUSU9OIiBpZD0iWE1MX1BBUlNFUl9DREFUQV9TRUNUSU9OIj5YTUxfUEFSU0VSX0NEQVRBX1NFQ1RJT048L2E+ID0gOCA6IHdpdGhpbiBhIENEQVRBIHNlY3Rpb24KKyAgICA8YSBuYW1lPSJYTUxfUEFSU0VSX0VORF9UQUciIGlkPSJYTUxfUEFSU0VSX0VORF9UQUciPlhNTF9QQVJTRVJfRU5EX1RBRzwvYT4gPSA5IDogd2l0aGluIGEgY2xvc2luZyB0YWcKKyAgICA8YSBuYW1lPSJYTUxfUEFSU0VSX0VOVElUWV9ERUNMIiBpZD0iWE1MX1BBUlNFUl9FTlRJVFlfREVDTCI+WE1MX1BBUlNFUl9FTlRJVFlfREVDTDwvYT4gPSAxMCA6IHdpdGhpbiBhbiBlbnRpdHkgZGVjbGFyYXRpb24KKyAgICA8YSBuYW1lPSJYTUxfUEFSU0VSX0VOVElUWV9WQUxVRSIgaWQ9IlhNTF9QQVJTRVJfRU5USVRZX1ZBTFVFIj5YTUxfUEFSU0VSX0VOVElUWV9WQUxVRTwvYT4gPSAxMSA6IHdpdGhpbiBhbiBlbnRpdHkgdmFsdWUgaW4gYSBkZWNsCisgICAgPGEgbmFtZT0iWE1MX1BBUlNFUl9BVFRSSUJVVEVfVkFMVUUiIGlkPSJYTUxfUEFSU0VSX0FUVFJJQlVURV9WQUxVRSI+WE1MX1BBUlNFUl9BVFRSSUJVVEVfVkFMVUU8L2E+ID0gMTIgOiB3aXRoaW4gYW4gPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiB2YWx1ZQorICAgIDxhIG5hbWU9IlhNTF9QQVJTRVJfU1lTVEVNX0xJVEVSQUwiIGlkPSJYTUxfUEFSU0VSX1NZU1RFTV9MSVRFUkFMIj5YTUxfUEFSU0VSX1NZU1RFTV9MSVRFUkFMPC9hPiA9IDEzIDogd2l0aGluIGEgU1lTVEVNIHZhbHVlCisgICAgPGEgbmFtZT0iWE1MX1BBUlNFUl9FUElMT0ciIGlkPSJYTUxfUEFSU0VSX0VQSUxPRyI+WE1MX1BBUlNFUl9FUElMT0c8L2E+ID0gMTQgOiB0aGUgTWlzYyogYWZ0ZXIgdGhlIGxhc3QgZW5kIHRhZworICAgIDxhIG5hbWU9IlhNTF9QQVJTRVJfSUdOT1JFIiBpZD0iWE1MX1BBUlNFUl9JR05PUkUiPlhNTF9QQVJTRVJfSUdOT1JFPC9hPiA9IDE1IDogd2l0aGluIGFuIElHTk9SRUQgc2VjdGlvbgorICAgIDxhIG5hbWU9IlhNTF9QQVJTRVJfUFVCTElDX0xJVEVSQUwiIGlkPSJYTUxfUEFSU0VSX1BVQkxJQ19MSVRFUkFMIj5YTUxfUEFSU0VSX1BVQkxJQ19MSVRFUkFMPC9hPiA9IDE2IDogd2l0aGluIGEgUFVCTElDIHZhbHVlCit9Cis8L3ByZT48aDM+RW51bSA8YSBuYW1lPSJ4bWxQYXJzZXJNb2RlIiBpZD0ieG1sUGFyc2VyTW9kZSI+eG1sUGFyc2VyTW9kZTwvYT48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5FbnVtIHhtbFBhcnNlck1vZGUgeworICAgIDxhIG5hbWU9IlhNTF9QQVJTRV9VTktOT1dOIiBpZD0iWE1MX1BBUlNFX1VOS05PV04iPlhNTF9QQVJTRV9VTktOT1dOPC9hPiA9IDAKKyAgICA8YSBuYW1lPSJYTUxfUEFSU0VfRE9NIiBpZD0iWE1MX1BBUlNFX0RPTSI+WE1MX1BBUlNFX0RPTTwvYT4gPSAxCisgICAgPGEgbmFtZT0iWE1MX1BBUlNFX1NBWCIgaWQ9IlhNTF9QQVJTRV9TQVgiPlhNTF9QQVJTRV9TQVg8L2E+ID0gMgorICAgIDxhIG5hbWU9IlhNTF9QQVJTRV9QVVNIX0RPTSIgaWQ9IlhNTF9QQVJTRV9QVVNIX0RPTSI+WE1MX1BBUlNFX1BVU0hfRE9NPC9hPiA9IDMKKyAgICA8YSBuYW1lPSJYTUxfUEFSU0VfUFVTSF9TQVgiIGlkPSJYTUxfUEFSU0VfUFVTSF9TQVgiPlhNTF9QQVJTRV9QVVNIX1NBWDwvYT4gPSA0CisgICAgPGEgbmFtZT0iWE1MX1BBUlNFX1JFQURFUiIgaWQ9IlhNTF9QQVJTRV9SRUFERVIiPlhNTF9QQVJTRV9SRUFERVI8L2E+ID0gNQorfQorPC9wcmU+PGgzPjxhIG5hbWU9InhtbFBhcnNlck5vZGVJbmZvIiBpZD0ieG1sUGFyc2VyTm9kZUluZm8iPlN0cnVjdHVyZSB4bWxQYXJzZXJOb2RlSW5mbzwvYT48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgeG1sUGFyc2VyTm9kZUluZm88YnIgLz5zdHJ1Y3QgX3htbFBhcnNlck5vZGVJbmZvIHsKKyAgICBjb25zdCBzdHJ1Y3QgX3htbE5vZGUgKglub2RlCTogUG9zaXRpb24gJmFtcDsgbGluZSAjIHRoYXQgdGV4dCB0aGF0IGNyZWF0ZQorICAgIHVuc2lnbmVkIGxvbmcJYmVnaW5fcG9zCisgICAgdW5zaWduZWQgbG9uZwliZWdpbl9saW5lCisgICAgdW5zaWduZWQgbG9uZwllbmRfcG9zCisgICAgdW5zaWduZWQgbG9uZwllbmRfbGluZQorfTwvcHJlPjxoMz48YSBuYW1lPSJ4bWxQYXJzZXJOb2RlSW5mb1NlcSIgaWQ9InhtbFBhcnNlck5vZGVJbmZvU2VxIj5TdHJ1Y3R1cmUgeG1sUGFyc2VyTm9kZUluZm9TZXE8L2E+PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+U3RydWN0dXJlIHhtbFBhcnNlck5vZGVJbmZvU2VxPGJyIC8+c3RydWN0IF94bWxQYXJzZXJOb2RlSW5mb1NlcSB7CisgICAgdW5zaWduZWQgbG9uZwltYXhpbXVtCisgICAgdW5zaWduZWQgbG9uZwlsZW5ndGgKKyAgICA8YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VyTm9kZUluZm8iPnhtbFBhcnNlck5vZGVJbmZvPC9hPiAqCWJ1ZmZlcgorfTwvcHJlPjxoMz5FbnVtIDxhIG5hbWU9InhtbFBhcnNlck9wdGlvbiIgaWQ9InhtbFBhcnNlck9wdGlvbiI+eG1sUGFyc2VyT3B0aW9uPC9hPjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkVudW0geG1sUGFyc2VyT3B0aW9uIHsKKyAgICA8YSBuYW1lPSJYTUxfUEFSU0VfUkVDT1ZFUiIgaWQ9IlhNTF9QQVJTRV9SRUNPVkVSIj5YTUxfUEFSU0VfUkVDT1ZFUjwvYT4gPSAxIDogcmVjb3ZlciBvbiBlcnJvcnMKKyAgICA8YSBuYW1lPSJYTUxfUEFSU0VfTk9FTlQiIGlkPSJYTUxfUEFSU0VfTk9FTlQiPlhNTF9QQVJTRV9OT0VOVDwvYT4gPSAyIDogc3Vic3RpdHV0ZSBlbnRpdGllcworICAgIDxhIG5hbWU9IlhNTF9QQVJTRV9EVERMT0FEIiBpZD0iWE1MX1BBUlNFX0RURExPQUQiPlhNTF9QQVJTRV9EVERMT0FEPC9hPiA9IDQgOiBsb2FkIHRoZSBleHRlcm5hbCBzdWJzZXQKKyAgICA8YSBuYW1lPSJYTUxfUEFSU0VfRFREQVRUUiIgaWQ9IlhNTF9QQVJTRV9EVERBVFRSIj5YTUxfUEFSU0VfRFREQVRUUjwvYT4gPSA4IDogZGVmYXVsdCBEVEQgYXR0cmlidXRlcworICAgIDxhIG5hbWU9IlhNTF9QQVJTRV9EVERWQUxJRCIgaWQ9IlhNTF9QQVJTRV9EVERWQUxJRCI+WE1MX1BBUlNFX0RURFZBTElEPC9hPiA9IDE2IDogdmFsaWRhdGUgd2l0aCB0aGUgRFRECisgICAgPGEgbmFtZT0iWE1MX1BBUlNFX05PRVJST1IiIGlkPSJYTUxfUEFSU0VfTk9FUlJPUiI+WE1MX1BBUlNFX05PRVJST1I8L2E+ID0gMzIgOiBzdXBwcmVzcyBlcnJvciByZXBvcnRzCisgICAgPGEgbmFtZT0iWE1MX1BBUlNFX05PV0FSTklORyIgaWQ9IlhNTF9QQVJTRV9OT1dBUk5JTkciPlhNTF9QQVJTRV9OT1dBUk5JTkc8L2E+ID0gNjQgOiBzdXBwcmVzcyB3YXJuaW5nIHJlcG9ydHMKKyAgICA8YSBuYW1lPSJYTUxfUEFSU0VfUEVEQU5USUMiIGlkPSJYTUxfUEFSU0VfUEVEQU5USUMiPlhNTF9QQVJTRV9QRURBTlRJQzwvYT4gPSAxMjggOiBwZWRhbnRpYyBlcnJvciByZXBvcnRpbmcKKyAgICA8YSBuYW1lPSJYTUxfUEFSU0VfTk9CTEFOS1MiIGlkPSJYTUxfUEFSU0VfTk9CTEFOS1MiPlhNTF9QQVJTRV9OT0JMQU5LUzwvYT4gPSAyNTYgOiByZW1vdmUgYmxhbmsgbm9kZXMKKyAgICA8YSBuYW1lPSJYTUxfUEFSU0VfU0FYMSIgaWQ9IlhNTF9QQVJTRV9TQVgxIj5YTUxfUEFSU0VfU0FYMTwvYT4gPSA1MTIgOiB1c2UgdGhlIFNBWDEgaW50ZXJmYWNlIGludGVybmFsbHkKKyAgICA8YSBuYW1lPSJYTUxfUEFSU0VfWElOQ0xVREUiIGlkPSJYTUxfUEFSU0VfWElOQ0xVREUiPlhNTF9QQVJTRV9YSU5DTFVERTwvYT4gPSAxMDI0IDogSW1wbGVtZW50IFhJbmNsdWRlIHN1YnN0aXRpdGlvbgorICAgIDxhIG5hbWU9IlhNTF9QQVJTRV9OT05FVCIgaWQ9IlhNTF9QQVJTRV9OT05FVCI+WE1MX1BBUlNFX05PTkVUPC9hPiA9IDIwNDggOiBGb3JiaWQgbmV0d29yayBhY2Nlc3MKKyAgICA8YSBuYW1lPSJYTUxfUEFSU0VfTk9ESUNUIiBpZD0iWE1MX1BBUlNFX05PRElDVCI+WE1MX1BBUlNFX05PRElDVDwvYT4gPSA0MDk2IDogRG8gbm90IHJldXNlIHRoZSBjb250ZXh0IGRpY3Rpb25uYXJ5CisgICAgPGEgbmFtZT0iWE1MX1BBUlNFX05TQ0xFQU4iIGlkPSJYTUxfUEFSU0VfTlNDTEVBTiI+WE1MX1BBUlNFX05TQ0xFQU48L2E+ID0gODE5MiA6IHJlbW92ZSByZWR1bmRhbnQgbmFtZXNwYWNlcyBkZWNsYXJhdGlvbnMKKyAgICA8YSBuYW1lPSJYTUxfUEFSU0VfTk9DREFUQSIgaWQ9IlhNTF9QQVJTRV9OT0NEQVRBIj5YTUxfUEFSU0VfTk9DREFUQTwvYT4gPSAxNjM4NCA6IG1lcmdlIENEQVRBIGFzIHRleHQgbm9kZXMKKyAgICA8YSBuYW1lPSJYTUxfUEFSU0VfTk9YSU5DTk9ERSIgaWQ9IlhNTF9QQVJTRV9OT1hJTkNOT0RFIj5YTUxfUEFSU0VfTk9YSU5DTk9ERTwvYT4gPSAzMjc2OCA6IGRvIG5vdCBnZW5lcmF0ZSBYSU5DTFVERSBTVEFSVC9FTkQgbm9kZXMKKyAgICA8YSBuYW1lPSJYTUxfUEFSU0VfQ09NUEFDVCIgaWQ9IlhNTF9QQVJTRV9DT01QQUNUIj5YTUxfUEFSU0VfQ09NUEFDVDwvYT4gPSA2NTUzNiA6IGNvbXBhY3Qgc21hbGwgdGV4dCBub2Rlczsgbm8gbW9kaWZpY2F0aW9uIG9mIHRoZSB0cmVlIGFsbG93ZWQgYWZ0ZXJ3YXJkcyAod2lsbCBwb3NzaWJseSBjcmFzaCBpZiB5b3UgdHJ5IHRvIG1vZGlmeSB0aGUgdHJlZSkKKyAgICA8YSBuYW1lPSJYTUxfUEFSU0VfT0xEMTAiIGlkPSJYTUxfUEFSU0VfT0xEMTAiPlhNTF9QQVJTRV9PTEQxMDwvYT4gPSAxMzEwNzIgOiBwYXJzZSB1c2luZyBYTUwtMS4wIGJlZm9yZSB1cGRhdGUgNQorICAgIDxhIG5hbWU9IlhNTF9QQVJTRV9OT0JBU0VGSVgiIGlkPSJYTUxfUEFSU0VfTk9CQVNFRklYIj5YTUxfUEFSU0VfTk9CQVNFRklYPC9hPiA9IDI2MjE0NCA6IGRvIG5vdCBmaXh1cCBYSU5DTFVERSB4bWw6YmFzZSB1cmlzCisgICAgPGEgbmFtZT0iWE1MX1BBUlNFX0hVR0UiIGlkPSJYTUxfUEFSU0VfSFVHRSI+WE1MX1BBUlNFX0hVR0U8L2E+ID0gNTI0Mjg4IDogcmVsYXggYW55IGhhcmRjb2RlZCBsaW1pdCBmcm9tIHRoZSBwYXJzZXIKKyAgICA8YSBuYW1lPSJYTUxfUEFSU0VfT0xEU0FYIiBpZD0iWE1MX1BBUlNFX09MRFNBWCI+WE1MX1BBUlNFX09MRFNBWDwvYT4gPSAxMDQ4NTc2IDogcGFyc2UgdXNpbmcgU0FYMiBpbnRlcmZhY2UgYmVmb3JlIDIuNy4wCisgICAgPGEgbmFtZT0iWE1MX1BBUlNFX0lHTk9SRV9FTkMiIGlkPSJYTUxfUEFSU0VfSUdOT1JFX0VOQyI+WE1MX1BBUlNFX0lHTk9SRV9FTkM8L2E+ID0gMjA5NzE1MiA6IGlnbm9yZSBpbnRlcm5hbCBkb2N1bWVudCBlbmNvZGluZyBoaW50CisgICAgPGEgbmFtZT0iWE1MX1BBUlNFX0JJR19MSU5FUyIgaWQ9IlhNTF9QQVJTRV9CSUdfTElORVMiPlhNTF9QQVJTRV9CSUdfTElORVM8L2E+ID0gNDE5NDMwNCA6IFN0b3JlIGJpZyBsaW5lcyBudW1iZXJzIGluIHRleHQgUFNWSSBmaWVsZAorfQorPC9wcmU+PGgzPjxhIG5hbWU9InhtbFNBWEhhbmRsZXJWMSIgaWQ9InhtbFNBWEhhbmRsZXJWMSI+U3RydWN0dXJlIHhtbFNBWEhhbmRsZXJWMTwvYT48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgeG1sU0FYSGFuZGxlclYxPGJyIC8+c3RydWN0IF94bWxTQVhIYW5kbGVyVjEgeworICAgIDxhIGhyZWY9ImxpYnhtbC1wYXJzZXIuaHRtbCNpbnRlcm5hbFN1YnNldFNBWEZ1bmMiPmludGVybmFsU3Vic2V0U0FYRnVuYzwvYT4JaW50ZXJuYWxTdWJzZXQKKyAgICA8YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwjaXNTdGFuZGFsb25lU0FYRnVuYyI+aXNTdGFuZGFsb25lU0FYRnVuYzwvYT4JaXNTdGFuZGFsb25lCisgICAgPGEgaHJlZj0ibGlieG1sLXBhcnNlci5odG1sI2hhc0ludGVybmFsU3Vic2V0U0FYRnVuYyI+aGFzSW50ZXJuYWxTdWJzZXRTQVhGdW5jPC9hPgloYXNJbnRlcm5hbFN1YnNldAorICAgIDxhIGhyZWY9ImxpYnhtbC1wYXJzZXIuaHRtbCNoYXNFeHRlcm5hbFN1YnNldFNBWEZ1bmMiPmhhc0V4dGVybmFsU3Vic2V0U0FYRnVuYzwvYT4JaGFzRXh0ZXJuYWxTdWJzZXQKKyAgICA8YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwjcmVzb2x2ZUVudGl0eVNBWEZ1bmMiPnJlc29sdmVFbnRpdHlTQVhGdW5jPC9hPglyZXNvbHZlRW50aXR5CisgICAgPGEgaHJlZj0ibGlieG1sLXBhcnNlci5odG1sI2dldEVudGl0eVNBWEZ1bmMiPmdldEVudGl0eVNBWEZ1bmM8L2E+CWdldEVudGl0eQorICAgIDxhIGhyZWY9ImxpYnhtbC1wYXJzZXIuaHRtbCNlbnRpdHlEZWNsU0FYRnVuYyI+ZW50aXR5RGVjbFNBWEZ1bmM8L2E+CWVudGl0eURlY2wKKyAgICA8YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwjbm90YXRpb25EZWNsU0FYRnVuYyI+bm90YXRpb25EZWNsU0FYRnVuYzwvYT4Jbm90YXRpb25EZWNsCisgICAgPGEgaHJlZj0ibGlieG1sLXBhcnNlci5odG1sI2F0dHJpYnV0ZURlY2xTQVhGdW5jIj5hdHRyaWJ1dGVEZWNsU0FYRnVuYzwvYT4JYXR0cmlidXRlRGVjbAorICAgIDxhIGhyZWY9ImxpYnhtbC1wYXJzZXIuaHRtbCNlbGVtZW50RGVjbFNBWEZ1bmMiPmVsZW1lbnREZWNsU0FYRnVuYzwvYT4JZWxlbWVudERlY2wKKyAgICA8YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwjdW5wYXJzZWRFbnRpdHlEZWNsU0FYRnVuYyI+dW5wYXJzZWRFbnRpdHlEZWNsU0FYRnVuYzwvYT4JdW5wYXJzZWRFbnRpdHlEZWNsCisgICAgPGEgaHJlZj0ibGlieG1sLXBhcnNlci5odG1sI3NldERvY3VtZW50TG9jYXRvclNBWEZ1bmMiPnNldERvY3VtZW50TG9jYXRvclNBWEZ1bmM8L2E+CXNldERvY3VtZW50TG9jYXRvcgorICAgIDxhIGhyZWY9ImxpYnhtbC1wYXJzZXIuaHRtbCNzdGFydERvY3VtZW50U0FYRnVuYyI+c3RhcnREb2N1bWVudFNBWEZ1bmM8L2E+CXN0YXJ0RG9jdW1lbnQKKyAgICA8YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwjZW5kRG9jdW1lbnRTQVhGdW5jIj5lbmREb2N1bWVudFNBWEZ1bmM8L2E+CWVuZERvY3VtZW50CisgICAgPGEgaHJlZj0ibGlieG1sLXBhcnNlci5odG1sI3N0YXJ0RWxlbWVudFNBWEZ1bmMiPnN0YXJ0RWxlbWVudFNBWEZ1bmM8L2E+CXN0YXJ0RWxlbWVudAorICAgIDxhIGhyZWY9ImxpYnhtbC1wYXJzZXIuaHRtbCNlbmRFbGVtZW50U0FYRnVuYyI+ZW5kRWxlbWVudFNBWEZ1bmM8L2E+CWVuZEVsZW1lbnQKKyAgICA8YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwjcmVmZXJlbmNlU0FYRnVuYyI+cmVmZXJlbmNlU0FYRnVuYzwvYT4JcmVmZXJlbmNlCisgICAgPGEgaHJlZj0ibGlieG1sLXBhcnNlci5odG1sI2NoYXJhY3RlcnNTQVhGdW5jIj5jaGFyYWN0ZXJzU0FYRnVuYzwvYT4JY2hhcmFjdGVycworICAgIDxhIGhyZWY9ImxpYnhtbC1wYXJzZXIuaHRtbCNpZ25vcmFibGVXaGl0ZXNwYWNlU0FYRnVuYyI+aWdub3JhYmxlV2hpdGVzcGFjZVNBWEZ1bmM8L2E+CWlnbm9yYWJsZVdoaXRlc3BhY2UKKyAgICA8YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwjcHJvY2Vzc2luZ0luc3RydWN0aW9uU0FYRnVuYyI+cHJvY2Vzc2luZ0luc3RydWN0aW9uU0FYRnVuYzwvYT4JcHJvY2Vzc2luZ0luc3RydWN0aW9uCisgICAgPGEgaHJlZj0ibGlieG1sLXBhcnNlci5odG1sI2NvbW1lbnRTQVhGdW5jIj5jb21tZW50U0FYRnVuYzwvYT4JY29tbWVudAorICAgIDxhIGhyZWY9ImxpYnhtbC1wYXJzZXIuaHRtbCN3YXJuaW5nU0FYRnVuYyI+d2FybmluZ1NBWEZ1bmM8L2E+CXdhcm5pbmcKKyAgICA8YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwjZXJyb3JTQVhGdW5jIj5lcnJvclNBWEZ1bmM8L2E+CWVycm9yCisgICAgPGEgaHJlZj0ibGlieG1sLXBhcnNlci5odG1sI2ZhdGFsRXJyb3JTQVhGdW5jIj5mYXRhbEVycm9yU0FYRnVuYzwvYT4JZmF0YWxFcnJvcgk6IHVudXNlZCBlcnJvcigpIGdldCBhbGwgdGhlIGVycm9ycworICAgIDxhIGhyZWY9ImxpYnhtbC1wYXJzZXIuaHRtbCNnZXRQYXJhbWV0ZXJFbnRpdHlTQVhGdW5jIj5nZXRQYXJhbWV0ZXJFbnRpdHlTQVhGdW5jPC9hPglnZXRQYXJhbWV0ZXJFbnRpdHkKKyAgICA8YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwjY2RhdGFCbG9ja1NBWEZ1bmMiPmNkYXRhQmxvY2tTQVhGdW5jPC9hPgljZGF0YUJsb2NrCisgICAgPGEgaHJlZj0ibGlieG1sLXBhcnNlci5odG1sI2V4dGVybmFsU3Vic2V0U0FYRnVuYyI+ZXh0ZXJuYWxTdWJzZXRTQVhGdW5jPC9hPglleHRlcm5hbFN1YnNldAorICAgIHVuc2lnbmVkIGludAlpbml0aWFsaXplZAorfTwvcHJlPjxoMz48YSBuYW1lPSJhdHRyaWJ1dGVEZWNsU0FYRnVuYyIgaWQ9ImF0dHJpYnV0ZURlY2xTQVhGdW5jIj48L2E+RnVuY3Rpb24gdHlwZTogYXR0cmlidXRlRGVjbFNBWEZ1bmM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5GdW5jdGlvbiB0eXBlOiBhdHRyaWJ1dGVEZWNsU0FYRnVuYwordm9pZAlhdHRyaWJ1dGVEZWNsU0FYRnVuYwkJKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGVsZW0sIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGZ1bGxuYW1lLCA8YnIgLz4JCQkJCSBpbnQgdHlwZSwgPGJyIC8+CQkJCQkgaW50IGRlZiwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogZGVmYXVsdFZhbHVlLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVudW1lcmF0aW9uUHRyIj54bWxFbnVtZXJhdGlvblB0cjwvYT4gdHJlZSkKKzwvcHJlPjxwPkFuIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gZGVmaW5pdGlvbiBoYXMgYmVlbiBwYXJzZWQuPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZWxlbTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5hbWUgb2YgdGhlIGVsZW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZ1bGxuYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50eXBlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiB0eXBlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kZWY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB0eXBlIG9mIGRlZmF1bHQgdmFsdWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRlZmF1bHRWYWx1ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gZGVmYXVsdCB2YWx1ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dHJlZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHRyZWUgb2YgZW51bWVyYXRlZCB2YWx1ZSBzZXQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxiciAvPgorPGgzPjxhIG5hbWU9ImF0dHJpYnV0ZVNBWEZ1bmMiIGlkPSJhdHRyaWJ1dGVTQVhGdW5jIj48L2E+RnVuY3Rpb24gdHlwZTogYXR0cmlidXRlU0FYRnVuYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkZ1bmN0aW9uIHR5cGU6IGF0dHJpYnV0ZVNBWEZ1bmMKK3ZvaWQJYXR0cmlidXRlU0FYRnVuYwkJKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHZhbHVlKQorPC9wcmU+PHA+SGFuZGxlIGFuIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gdGhhdCBoYXMgYmVlbiByZWFkIGJ5IHRoZSBwYXJzZXIuIFRoZSBkZWZhdWx0IGhhbmRsaW5nIGlzIHRvIGNvbnZlcnQgdGhlIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gaW50byBhbiBET00gc3VidHJlZSBhbmQgcGFzdCBpdCBpbiBhIG5ldyA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEF0dHIiPnhtbEF0dHI8L2E+IGVsZW1lbnQgYWRkZWQgdG8gdGhlIGVsZW1lbnQuPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VGhlIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gbmFtZSwgaW5jbHVkaW5nIG5hbWVzcGFjZSBwcmVmaXg8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbHVlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5UaGUgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiB2YWx1ZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGJyIC8+Cis8aDM+PGEgbmFtZT0iY2RhdGFCbG9ja1NBWEZ1bmMiIGlkPSJjZGF0YUJsb2NrU0FYRnVuYyI+PC9hPkZ1bmN0aW9uIHR5cGU6IGNkYXRhQmxvY2tTQVhGdW5jPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RnVuY3Rpb24gdHlwZTogY2RhdGFCbG9ja1NBWEZ1bmMKK3ZvaWQJY2RhdGFCbG9ja1NBWEZ1bmMJCSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB2YWx1ZSwgPGJyIC8+CQkJCQkgaW50IGxlbikKKzwvcHJlPjxwPkNhbGxlZCB3aGVuIGEgcGNkYXRhIGJsb2NrIGhhcyBiZWVuIHBhcnNlZC48L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWx1ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VGhlIHBjZGF0YSBjb250ZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBibG9jayBsZW5ndGg8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxiciAvPgorPGgzPjxhIG5hbWU9ImNoYXJhY3RlcnNTQVhGdW5jIiBpZD0iY2hhcmFjdGVyc1NBWEZ1bmMiPjwvYT5GdW5jdGlvbiB0eXBlOiBjaGFyYWN0ZXJzU0FYRnVuYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkZ1bmN0aW9uIHR5cGU6IGNoYXJhY3RlcnNTQVhGdW5jCit2b2lkCWNoYXJhY3RlcnNTQVhGdW5jCQkodm9pZCAqIGN0eCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY2gsIDxiciAvPgkJCQkJIGludCBsZW4pCis8L3ByZT48cD5SZWNlaXZpbmcgc29tZSBjaGFycyBmcm9tIHRoZSBwYXJzZXIuPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y2g8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+IHN0cmluZzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGVuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGJyIC8+Cis8aDM+PGEgbmFtZT0iY29tbWVudFNBWEZ1bmMiIGlkPSJjb21tZW50U0FYRnVuYyI+PC9hPkZ1bmN0aW9uIHR5cGU6IGNvbW1lbnRTQVhGdW5jPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RnVuY3Rpb24gdHlwZTogY29tbWVudFNBWEZ1bmMKK3ZvaWQJY29tbWVudFNBWEZ1bmMJCQkodm9pZCAqIGN0eCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUpCis8L3ByZT48cD5BIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNjb21tZW50Ij5jb21tZW50PC9hPiBoYXMgYmVlbiBwYXJzZWQuPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsdWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjY29tbWVudCI+Y29tbWVudDwvYT4gY29udGVudDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGJyIC8+Cis8aDM+PGEgbmFtZT0iZWxlbWVudERlY2xTQVhGdW5jIiBpZD0iZWxlbWVudERlY2xTQVhGdW5jIj48L2E+RnVuY3Rpb24gdHlwZTogZWxlbWVudERlY2xTQVhGdW5jPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RnVuY3Rpb24gdHlwZTogZWxlbWVudERlY2xTQVhGdW5jCit2b2lkCWVsZW1lbnREZWNsU0FYRnVuYwkJKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJIGludCB0eXBlLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVsZW1lbnRDb250ZW50UHRyIj54bWxFbGVtZW50Q29udGVudFB0cjwvYT4gY29udGVudCkKKzwvcHJlPjxwPkFuIGVsZW1lbnQgZGVmaW5pdGlvbiBoYXMgYmVlbiBwYXJzZWQuPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVsZW1lbnQgbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dHlwZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVsZW1lbnQgdHlwZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29udGVudDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVsZW1lbnQgdmFsdWUgdHJlZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGJyIC8+Cis8aDM+PGEgbmFtZT0iZW5kRG9jdW1lbnRTQVhGdW5jIiBpZD0iZW5kRG9jdW1lbnRTQVhGdW5jIj48L2E+RnVuY3Rpb24gdHlwZTogZW5kRG9jdW1lbnRTQVhGdW5jPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RnVuY3Rpb24gdHlwZTogZW5kRG9jdW1lbnRTQVhGdW5jCit2b2lkCWVuZERvY3VtZW50U0FYRnVuYwkJKHZvaWQgKiBjdHgpCis8L3ByZT48cD5DYWxsZWQgd2hlbiB0aGUgZG9jdW1lbnQgZW5kIGhhcyBiZWVuIGRldGVjdGVkLjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCk8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxiciAvPgorPGgzPjxhIG5hbWU9ImVuZEVsZW1lbnROc1NBWDJGdW5jIiBpZD0iZW5kRWxlbWVudE5zU0FYMkZ1bmMiPjwvYT5GdW5jdGlvbiB0eXBlOiBlbmRFbGVtZW50TnNTQVgyRnVuYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkZ1bmN0aW9uIHR5cGU6IGVuZEVsZW1lbnROc1NBWDJGdW5jCit2b2lkCWVuZEVsZW1lbnROc1NBWDJGdW5jCQkodm9pZCAqIGN0eCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbG9jYWxuYW1lLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwcmVmaXgsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIFVSSSkKKzwvcHJlPjxwPlNBWDIgY2FsbGJhY2sgd2hlbiBhbiBlbGVtZW50IGVuZCBoYXMgYmVlbiBkZXRlY3RlZCBieSB0aGUgcGFyc2VyLiBJdCBwcm92aWRlcyB0aGUgbmFtZXNwYWNlIGluZm9ybWF0aW9ucyBmb3IgdGhlIGVsZW1lbnQuPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bG9jYWxuYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbG9jYWwgbmFtZSBvZiB0aGUgZWxlbWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cHJlZml4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZWxlbWVudCBuYW1lc3BhY2UgcHJlZml4IGlmIGF2YWlsYWJsZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+VVJJPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZWxlbWVudCBuYW1lc3BhY2UgbmFtZSBpZiBhdmFpbGFibGU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxiciAvPgorPGgzPjxhIG5hbWU9ImVuZEVsZW1lbnRTQVhGdW5jIiBpZD0iZW5kRWxlbWVudFNBWEZ1bmMiPjwvYT5GdW5jdGlvbiB0eXBlOiBlbmRFbGVtZW50U0FYRnVuYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkZ1bmN0aW9uIHR5cGU6IGVuZEVsZW1lbnRTQVhGdW5jCit2b2lkCWVuZEVsZW1lbnRTQVhGdW5jCQkodm9pZCAqIGN0eCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSkKKzwvcHJlPjxwPkNhbGxlZCB3aGVuIHRoZSBlbmQgb2YgYW4gZWxlbWVudCBoYXMgYmVlbiBkZXRlY3RlZC48L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5UaGUgZWxlbWVudCBuYW1lPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48YnIgLz4KKzxoMz48YSBuYW1lPSJlbnRpdHlEZWNsU0FYRnVuYyIgaWQ9ImVudGl0eURlY2xTQVhGdW5jIj48L2E+RnVuY3Rpb24gdHlwZTogZW50aXR5RGVjbFNBWEZ1bmM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5GdW5jdGlvbiB0eXBlOiBlbnRpdHlEZWNsU0FYRnVuYwordm9pZAllbnRpdHlEZWNsU0FYRnVuYwkJKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJIGludCB0eXBlLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwdWJsaWNJZCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3lzdGVtSWQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGNvbnRlbnQpCis8L3ByZT48cD5BbiBlbnRpdHkgZGVmaW5pdGlvbiBoYXMgYmVlbiBwYXJzZWQuPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVudGl0eSBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50eXBlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZW50aXR5IHR5cGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnB1YmxpY0lkPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5UaGUgcHVibGljIElEIG9mIHRoZSBlbnRpdHk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN5c3RlbUlkPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5UaGUgc3lzdGVtIElEIG9mIHRoZSBlbnRpdHk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbnRlbnQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbnRpdHkgdmFsdWUgKHdpdGhvdXQgcHJvY2Vzc2luZykuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48YnIgLz4KKzxoMz48YSBuYW1lPSJlcnJvclNBWEZ1bmMiIGlkPSJlcnJvclNBWEZ1bmMiPjwvYT5GdW5jdGlvbiB0eXBlOiBlcnJvclNBWEZ1bmM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5GdW5jdGlvbiB0eXBlOiBlcnJvclNBWEZ1bmMKK3ZvaWQJZXJyb3JTQVhGdW5jCQkJKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBtc2csIDxiciAvPgkJCQkJIC4uLiAuLi4pCis8L3ByZT48cD5EaXNwbGF5IGFuZCBmb3JtYXQgYW4gZXJyb3IgbWVzc2FnZXMsIGNhbGxiYWNrLjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bXNnPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbWVzc2FnZSB0byBkaXNwbGF5L3RyYW5zbWl0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD4uLi48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmV4dHJhIHBhcmFtZXRlcnMgZm9yIHRoZSBtZXNzYWdlIGRpc3BsYXk8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxiciAvPgorPGgzPjxhIG5hbWU9ImV4dGVybmFsU3Vic2V0U0FYRnVuYyIgaWQ9ImV4dGVybmFsU3Vic2V0U0FYRnVuYyI+PC9hPkZ1bmN0aW9uIHR5cGU6IGV4dGVybmFsU3Vic2V0U0FYRnVuYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkZ1bmN0aW9uIHR5cGU6IGV4dGVybmFsU3Vic2V0U0FYRnVuYwordm9pZAlleHRlcm5hbFN1YnNldFNBWEZ1bmMJCSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBFeHRlcm5hbElELCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBTeXN0ZW1JRCkKKzwvcHJlPjxwPkNhbGxiYWNrIG9uIGV4dGVybmFsIHN1YnNldCBkZWNsYXJhdGlvbi48L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcm9vdCBlbGVtZW50IG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PkV4dGVybmFsSUQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBleHRlcm5hbCBJRDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+U3lzdGVtSUQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBTWVNURU0gSUQgKGUuZy4gZmlsZW5hbWUgb3IgVVJMKTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGJyIC8+Cis8aDM+PGEgbmFtZT0iZmF0YWxFcnJvclNBWEZ1bmMiIGlkPSJmYXRhbEVycm9yU0FYRnVuYyI+PC9hPkZ1bmN0aW9uIHR5cGU6IGZhdGFsRXJyb3JTQVhGdW5jPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RnVuY3Rpb24gdHlwZTogZmF0YWxFcnJvclNBWEZ1bmMKK3ZvaWQJZmF0YWxFcnJvclNBWEZ1bmMJCSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogbXNnLCA8YnIgLz4JCQkJCSAuLi4gLi4uKQorPC9wcmU+PHA+RGlzcGxheSBhbmQgZm9ybWF0IGZhdGFsIGVycm9yIG1lc3NhZ2VzLCBjYWxsYmFjay4gTm90ZTogc28gZmFyIGZhdGFsRXJyb3IoKSBTQVggY2FsbGJhY2tzIGFyZSBub3QgdXNlZCwgZXJyb3IoKSBnZXQgYWxsIHRoZSBjYWxsYmFja3MgZm9yIGVycm9ycy48L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm1zZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG1lc3NhZ2UgdG8gZGlzcGxheS90cmFuc21pdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Li4uPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5leHRyYSBwYXJhbWV0ZXJzIGZvciB0aGUgbWVzc2FnZSBkaXNwbGF5PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48YnIgLz4KKzxoMz48YSBuYW1lPSJnZXRFbnRpdHlTQVhGdW5jIiBpZD0iZ2V0RW50aXR5U0FYRnVuYyI+PC9hPkZ1bmN0aW9uIHR5cGU6IGdldEVudGl0eVNBWEZ1bmM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5GdW5jdGlvbiB0eXBlOiBnZXRFbnRpdHlTQVhGdW5jCis8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVudGl0eVB0ciI+eG1sRW50aXR5UHRyPC9hPglnZXRFbnRpdHlTQVhGdW5jCSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKQorPC9wcmU+PHA+R2V0IGFuIGVudGl0eSBieSBuYW1lLjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlRoZSBlbnRpdHkgbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRW50aXR5UHRyIj54bWxFbnRpdHlQdHI8L2E+IGlmIGZvdW5kLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGJyIC8+Cis8aDM+PGEgbmFtZT0iZ2V0UGFyYW1ldGVyRW50aXR5U0FYRnVuYyIgaWQ9ImdldFBhcmFtZXRlckVudGl0eVNBWEZ1bmMiPjwvYT5GdW5jdGlvbiB0eXBlOiBnZXRQYXJhbWV0ZXJFbnRpdHlTQVhGdW5jPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RnVuY3Rpb24gdHlwZTogZ2V0UGFyYW1ldGVyRW50aXR5U0FYRnVuYworPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxFbnRpdHlQdHIiPnhtbEVudGl0eVB0cjwvYT4JZ2V0UGFyYW1ldGVyRW50aXR5U0FYRnVuYwkodm9pZCAqIGN0eCwgPGJyIC8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpCis8L3ByZT48cD5HZXQgYSBwYXJhbWV0ZXIgZW50aXR5IGJ5IG5hbWUuPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VGhlIGVudGl0eSBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxFbnRpdHlQdHIiPnhtbEVudGl0eVB0cjwvYT4gaWYgZm91bmQuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48YnIgLz4KKzxoMz48YSBuYW1lPSJoYXNFeHRlcm5hbFN1YnNldFNBWEZ1bmMiIGlkPSJoYXNFeHRlcm5hbFN1YnNldFNBWEZ1bmMiPjwvYT5GdW5jdGlvbiB0eXBlOiBoYXNFeHRlcm5hbFN1YnNldFNBWEZ1bmM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5GdW5jdGlvbiB0eXBlOiBoYXNFeHRlcm5hbFN1YnNldFNBWEZ1bmMKK2ludAloYXNFeHRlcm5hbFN1YnNldFNBWEZ1bmMJKHZvaWQgKiBjdHgpCis8L3ByZT48cD5Eb2VzIHRoaXMgZG9jdW1lbnQgaGFzIGFuIGV4dGVybmFsIHN1YnNldD88L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxiciAvPgorPGgzPjxhIG5hbWU9Imhhc0ludGVybmFsU3Vic2V0U0FYRnVuYyIgaWQ9Imhhc0ludGVybmFsU3Vic2V0U0FYRnVuYyI+PC9hPkZ1bmN0aW9uIHR5cGU6IGhhc0ludGVybmFsU3Vic2V0U0FYRnVuYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkZ1bmN0aW9uIHR5cGU6IGhhc0ludGVybmFsU3Vic2V0U0FYRnVuYworaW50CWhhc0ludGVybmFsU3Vic2V0U0FYRnVuYwkodm9pZCAqIGN0eCkKKzwvcHJlPjxwPkRvZXMgdGhpcyBkb2N1bWVudCBoYXMgYW4gaW50ZXJuYWwgc3Vic2V0LjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGJyIC8+Cis8aDM+PGEgbmFtZT0iaWdub3JhYmxlV2hpdGVzcGFjZVNBWEZ1bmMiIGlkPSJpZ25vcmFibGVXaGl0ZXNwYWNlU0FYRnVuYyI+PC9hPkZ1bmN0aW9uIHR5cGU6IGlnbm9yYWJsZVdoaXRlc3BhY2VTQVhGdW5jPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RnVuY3Rpb24gdHlwZTogaWdub3JhYmxlV2hpdGVzcGFjZVNBWEZ1bmMKK3ZvaWQJaWdub3JhYmxlV2hpdGVzcGFjZVNBWEZ1bmMJKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGNoLCA8YnIgLz4JCQkJCSBpbnQgbGVuKQorPC9wcmU+PHA+UmVjZWl2aW5nIHNvbWUgaWdub3JhYmxlIHdoaXRlc3BhY2VzIGZyb20gdGhlIHBhcnNlci4gVU5VU0VEOiBieSBkZWZhdWx0IHRoZSBET00gYnVpbGRpbmcgd2lsbCB1c2UgY2hhcmFjdGVycy48L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jaDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gc3RyaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48YnIgLz4KKzxoMz48YSBuYW1lPSJpbnRlcm5hbFN1YnNldFNBWEZ1bmMiIGlkPSJpbnRlcm5hbFN1YnNldFNBWEZ1bmMiPjwvYT5GdW5jdGlvbiB0eXBlOiBpbnRlcm5hbFN1YnNldFNBWEZ1bmM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5GdW5jdGlvbiB0eXBlOiBpbnRlcm5hbFN1YnNldFNBWEZ1bmMKK3ZvaWQJaW50ZXJuYWxTdWJzZXRTQVhGdW5jCQkodm9pZCAqIGN0eCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogRXh0ZXJuYWxJRCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogU3lzdGVtSUQpCis8L3ByZT48cD5DYWxsYmFjayBvbiBpbnRlcm5hbCBzdWJzZXQgZGVjbGFyYXRpb24uPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHJvb3QgZWxlbWVudCBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5FeHRlcm5hbElEPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZXh0ZXJuYWwgSUQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlN5c3RlbUlEPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgU1lTVEVNIElEIChlLmcuIGZpbGVuYW1lIG9yIFVSTCk8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxiciAvPgorPGgzPjxhIG5hbWU9ImlzU3RhbmRhbG9uZVNBWEZ1bmMiIGlkPSJpc1N0YW5kYWxvbmVTQVhGdW5jIj48L2E+RnVuY3Rpb24gdHlwZTogaXNTdGFuZGFsb25lU0FYRnVuYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkZ1bmN0aW9uIHR5cGU6IGlzU3RhbmRhbG9uZVNBWEZ1bmMKK2ludAlpc1N0YW5kYWxvbmVTQVhGdW5jCQkodm9pZCAqIGN0eCkKKzwvcHJlPjxwPklzIHRoaXMgZG9jdW1lbnQgdGFnZ2VkIHN0YW5kYWxvbmU/PC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48YnIgLz4KKzxoMz48YSBuYW1lPSJub3RhdGlvbkRlY2xTQVhGdW5jIiBpZD0ibm90YXRpb25EZWNsU0FYRnVuYyI+PC9hPkZ1bmN0aW9uIHR5cGU6IG5vdGF0aW9uRGVjbFNBWEZ1bmM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5GdW5jdGlvbiB0eXBlOiBub3RhdGlvbkRlY2xTQVhGdW5jCit2b2lkCW5vdGF0aW9uRGVjbFNBWEZ1bmMJCSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwdWJsaWNJZCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3lzdGVtSWQpCis8L3ByZT48cD5XaGF0IHRvIGRvIHdoZW4gYSBub3RhdGlvbiBkZWNsYXJhdGlvbiBoYXMgYmVlbiBwYXJzZWQuPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VGhlIG5hbWUgb2YgdGhlIG5vdGF0aW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wdWJsaWNJZDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VGhlIHB1YmxpYyBJRCBvZiB0aGUgZW50aXR5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zeXN0ZW1JZDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VGhlIHN5c3RlbSBJRCBvZiB0aGUgZW50aXR5PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48YnIgLz4KKzxoMz48YSBuYW1lPSJwcm9jZXNzaW5nSW5zdHJ1Y3Rpb25TQVhGdW5jIiBpZD0icHJvY2Vzc2luZ0luc3RydWN0aW9uU0FYRnVuYyI+PC9hPkZ1bmN0aW9uIHR5cGU6IHByb2Nlc3NpbmdJbnN0cnVjdGlvblNBWEZ1bmM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5GdW5jdGlvbiB0eXBlOiBwcm9jZXNzaW5nSW5zdHJ1Y3Rpb25TQVhGdW5jCit2b2lkCXByb2Nlc3NpbmdJbnN0cnVjdGlvblNBWEZ1bmMJKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHRhcmdldCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogZGF0YSkKKzwvcHJlPjxwPkEgcHJvY2Vzc2luZyBpbnN0cnVjdGlvbiBoYXMgYmVlbiBwYXJzZWQuPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dGFyZ2V0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdGFyZ2V0IG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRhdGE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBQSSBkYXRhJ3M8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxiciAvPgorPGgzPjxhIG5hbWU9InJlZmVyZW5jZVNBWEZ1bmMiIGlkPSJyZWZlcmVuY2VTQVhGdW5jIj48L2E+RnVuY3Rpb24gdHlwZTogcmVmZXJlbmNlU0FYRnVuYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkZ1bmN0aW9uIHR5cGU6IHJlZmVyZW5jZVNBWEZ1bmMKK3ZvaWQJcmVmZXJlbmNlU0FYRnVuYwkJKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpCis8L3ByZT48cD5DYWxsZWQgd2hlbiBhbiBlbnRpdHkgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI3JlZmVyZW5jZSI+cmVmZXJlbmNlPC9hPiBpcyBkZXRlY3RlZC48L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5UaGUgZW50aXR5IG5hbWU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxiciAvPgorPGgzPjxhIG5hbWU9InJlc29sdmVFbnRpdHlTQVhGdW5jIiBpZD0icmVzb2x2ZUVudGl0eVNBWEZ1bmMiPjwvYT5GdW5jdGlvbiB0eXBlOiByZXNvbHZlRW50aXR5U0FYRnVuYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkZ1bmN0aW9uIHR5cGU6IHJlc29sdmVFbnRpdHlTQVhGdW5jCis8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlcklucHV0UHRyIj54bWxQYXJzZXJJbnB1dFB0cjwvYT4JcmVzb2x2ZUVudGl0eVNBWEZ1bmMJKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwdWJsaWNJZCwgPGJyIC8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN5c3RlbUlkKQorPC9wcmU+PHA+Q2FsbGJhY2s6IFRoZSBlbnRpdHkgbG9hZGVyLCB0byBjb250cm9sIHRoZSBsb2FkaW5nIG9mIGV4dGVybmFsIGVudGl0aWVzLCB0aGUgYXBwbGljYXRpb24gY2FuIGVpdGhlcjogLSBvdmVycmlkZSB0aGlzIHJlc29sdmVFbnRpdHkoKSBjYWxsYmFjayBpbiB0aGUgU0FYIGJsb2NrIC0gb3IgYmV0dGVyIHVzZSB0aGUgeG1sU2V0RXh0ZXJuYWxFbnRpdHlMb2FkZXIoKSBmdW5jdGlvbiB0byBzZXQgdXAgaXQncyBvd24gZW50aXR5IHJlc29sdXRpb24gcm91dGluZTwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnB1YmxpY0lkPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5UaGUgcHVibGljIElEIG9mIHRoZSBlbnRpdHk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN5c3RlbUlkPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5UaGUgc3lzdGVtIElEIG9mIHRoZSBlbnRpdHk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlcklucHV0UHRyIj54bWxQYXJzZXJJbnB1dFB0cjwvYT4gaWYgaW5saW5lZCBvciBOVUxMIGZvciBET00gYmVoYXZpb3VyLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGJyIC8+Cis8aDM+PGEgbmFtZT0ic2V0RG9jdW1lbnRMb2NhdG9yU0FYRnVuYyIgaWQ9InNldERvY3VtZW50TG9jYXRvclNBWEZ1bmMiPjwvYT5GdW5jdGlvbiB0eXBlOiBzZXREb2N1bWVudExvY2F0b3JTQVhGdW5jPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RnVuY3Rpb24gdHlwZTogc2V0RG9jdW1lbnRMb2NhdG9yU0FYRnVuYwordm9pZAlzZXREb2N1bWVudExvY2F0b3JTQVhGdW5jCSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFNBWExvY2F0b3JQdHIiPnhtbFNBWExvY2F0b3JQdHI8L2E+IGxvYykKKzwvcHJlPjxwPlJlY2VpdmUgdGhlIGRvY3VtZW50IGxvY2F0b3IgYXQgc3RhcnR1cCwgYWN0dWFsbHkgeG1sRGVmYXVsdFNBWExvY2F0b3IuIEV2ZXJ5dGhpbmcgaXMgYXZhaWxhYmxlIG9uIHRoZSBjb250ZXh0LCBzbyB0aGlzIGlzIHVzZWxlc3MgaW4gb3VyIGNhc2UuPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5BIFNBWCBMb2NhdG9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48YnIgLz4KKzxoMz48YSBuYW1lPSJzdGFydERvY3VtZW50U0FYRnVuYyIgaWQ9InN0YXJ0RG9jdW1lbnRTQVhGdW5jIj48L2E+RnVuY3Rpb24gdHlwZTogc3RhcnREb2N1bWVudFNBWEZ1bmM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5GdW5jdGlvbiB0eXBlOiBzdGFydERvY3VtZW50U0FYRnVuYwordm9pZAlzdGFydERvY3VtZW50U0FYRnVuYwkJKHZvaWQgKiBjdHgpCis8L3ByZT48cD5DYWxsZWQgd2hlbiB0aGUgZG9jdW1lbnQgc3RhcnQgYmVpbmcgcHJvY2Vzc2VkLjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCk8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxiciAvPgorPGgzPjxhIG5hbWU9InN0YXJ0RWxlbWVudE5zU0FYMkZ1bmMiIGlkPSJzdGFydEVsZW1lbnROc1NBWDJGdW5jIj48L2E+RnVuY3Rpb24gdHlwZTogc3RhcnRFbGVtZW50TnNTQVgyRnVuYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkZ1bmN0aW9uIHR5cGU6IHN0YXJ0RWxlbWVudE5zU0FYMkZ1bmMKK3ZvaWQJc3RhcnRFbGVtZW50TnNTQVgyRnVuYwkJKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGxvY2FsbmFtZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHJlZml4LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBVUkksIDxiciAvPgkJCQkJIGludCBuYl9uYW1lc3BhY2VzLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiogbmFtZXNwYWNlcywgPGJyIC8+CQkJCQkgaW50IG5iX2F0dHJpYnV0ZXMsIDxiciAvPgkJCQkJIGludCBuYl9kZWZhdWx0ZWQsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqKiBhdHRyaWJ1dGVzKQorPC9wcmU+PHA+U0FYMiBjYWxsYmFjayB3aGVuIGFuIGVsZW1lbnQgc3RhcnQgaGFzIGJlZW4gZGV0ZWN0ZWQgYnkgdGhlIHBhcnNlci4gSXQgcHJvdmlkZXMgdGhlIG5hbWVzcGFjZSBpbmZvcm1hdGlvbnMgZm9yIHRoZSBlbGVtZW50LCBhcyB3ZWxsIGFzIHRoZSBuZXcgbmFtZXNwYWNlIGRlY2xhcmF0aW9ucyBvbiB0aGUgZWxlbWVudC48L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sb2NhbG5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsb2NhbCBuYW1lIG9mIHRoZSBlbGVtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wcmVmaXg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbGVtZW50IG5hbWVzcGFjZSBwcmVmaXggaWYgYXZhaWxhYmxlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5VUkk8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbGVtZW50IG5hbWVzcGFjZSBuYW1lIGlmIGF2YWlsYWJsZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmJfbmFtZXNwYWNlczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+bnVtYmVyIG9mIG5hbWVzcGFjZSBkZWZpbml0aW9ucyBvbiB0aGF0IG5vZGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWVzcGFjZXM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnBvaW50ZXIgdG8gdGhlIGFycmF5IG9mIHByZWZpeC9VUkkgcGFpcnMgbmFtZXNwYWNlIGRlZmluaXRpb25zPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYl9hdHRyaWJ1dGVzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGF0dHJpYnV0ZXMgb24gdGhhdCBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYl9kZWZhdWx0ZWQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgZGVmYXVsdGVkIGF0dHJpYnV0ZXMuIFRoZSBkZWZhdWx0ZWQgb25lcyBhcmUgYXQgdGhlIGVuZCBvZiB0aGUgYXJyYXk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmF0dHJpYnV0ZXM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnBvaW50ZXIgdG8gdGhlIGFycmF5IG9mIChsb2NhbG5hbWUvcHJlZml4L1VSSS92YWx1ZS9lbmQpIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gdmFsdWVzLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGJyIC8+Cis8aDM+PGEgbmFtZT0ic3RhcnRFbGVtZW50U0FYRnVuYyIgaWQ9InN0YXJ0RWxlbWVudFNBWEZ1bmMiPjwvYT5GdW5jdGlvbiB0eXBlOiBzdGFydEVsZW1lbnRTQVhGdW5jPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RnVuY3Rpb24gdHlwZTogc3RhcnRFbGVtZW50U0FYRnVuYwordm9pZAlzdGFydEVsZW1lbnRTQVhGdW5jCQkodm9pZCAqIGN0eCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoqIGF0dHMpCis8L3ByZT48cD5DYWxsZWQgd2hlbiBhbiBvcGVuaW5nIHRhZyBoYXMgYmVlbiBwcm9jZXNzZWQuPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VGhlIGVsZW1lbnQgbmFtZSwgaW5jbHVkaW5nIG5hbWVzcGFjZSBwcmVmaXg8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmF0dHM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPkFuIGFycmF5IG9mIG5hbWUvdmFsdWUgYXR0cmlidXRlcyBwYWlycywgTlVMTCB0ZXJtaW5hdGVkPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48YnIgLz4KKzxoMz48YSBuYW1lPSJ1bnBhcnNlZEVudGl0eURlY2xTQVhGdW5jIiBpZD0idW5wYXJzZWRFbnRpdHlEZWNsU0FYRnVuYyI+PC9hPkZ1bmN0aW9uIHR5cGU6IHVucGFyc2VkRW50aXR5RGVjbFNBWEZ1bmM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5GdW5jdGlvbiB0eXBlOiB1bnBhcnNlZEVudGl0eURlY2xTQVhGdW5jCit2b2lkCXVucGFyc2VkRW50aXR5RGVjbFNBWEZ1bmMJKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHB1YmxpY0lkLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzeXN0ZW1JZCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbm90YXRpb25OYW1lKQorPC9wcmU+PHA+V2hhdCB0byBkbyB3aGVuIGFuIHVucGFyc2VkIGVudGl0eSBkZWNsYXJhdGlvbiBpcyBwYXJzZWQuPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VGhlIG5hbWUgb2YgdGhlIGVudGl0eTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cHVibGljSWQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlRoZSBwdWJsaWMgSUQgb2YgdGhlIGVudGl0eTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3lzdGVtSWQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlRoZSBzeXN0ZW0gSUQgb2YgdGhlIGVudGl0eTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm90YXRpb25OYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZSBvZiB0aGUgbm90YXRpb248L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxiciAvPgorPGgzPjxhIG5hbWU9Indhcm5pbmdTQVhGdW5jIiBpZD0id2FybmluZ1NBWEZ1bmMiPjwvYT5GdW5jdGlvbiB0eXBlOiB3YXJuaW5nU0FYRnVuYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkZ1bmN0aW9uIHR5cGU6IHdhcm5pbmdTQVhGdW5jCit2b2lkCXdhcm5pbmdTQVhGdW5jCQkJKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBtc2csIDxiciAvPgkJCQkJIC4uLiAuLi4pCis8L3ByZT48cD5EaXNwbGF5IGFuZCBmb3JtYXQgYSB3YXJuaW5nIG1lc3NhZ2VzLCBjYWxsYmFjay48L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm1zZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG1lc3NhZ2UgdG8gZGlzcGxheS90cmFuc21pdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Li4uPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5leHRyYSBwYXJhbWV0ZXJzIGZvciB0aGUgbWVzc2FnZSBkaXNwbGF5PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48YnIgLz4KKzxoMz48YSBuYW1lPSJ4bWxCeXRlQ29uc3VtZWQiIGlkPSJ4bWxCeXRlQ29uc3VtZWQiPjwvYT5GdW5jdGlvbjogeG1sQnl0ZUNvbnN1bWVkPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+bG9uZwl4bWxCeXRlQ29uc3VtZWQJCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTxiciAvPgorPC9wcmU+PHA+VGhpcyBmdW5jdGlvbiBwcm92aWRlcyB0aGUgY3VycmVudCBpbmRleCBvZiB0aGUgcGFyc2VyIHJlbGF0aXZlIHRvIHRoZSBzdGFydCBvZiB0aGUgY3VycmVudCBlbnRpdHkuIFRoaXMgZnVuY3Rpb24gaXMgY29tcHV0ZWQgaW4gYnl0ZXMgZnJvbSB0aGUgYmVnaW5uaW5nIHN0YXJ0aW5nIGF0IHplcm8gYW5kIGZpbmlzaGluZyBhdCB0aGUgc2l6ZSBpbiBieXRlIG9mIHRoZSBmaWxlIGlmIHBhcnNpbmcgYSBmaWxlLiBUaGUgZnVuY3Rpb24gaXMgb2YgY29uc3RhbnQgY29zdCBpZiB0aGUgaW5wdXQgaXMgVVRGLTggYnV0IGNhbiBiZSBjb3N0bHkgaWYgcnVuIG9uIG5vbi1VVEYtOCBpbnB1dC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBpbmRleCBpbiBieXRlcyBmcm9tIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGVudGl0eSBvciAtMSBpbiBjYXNlIHRoZSBpbmRleCBjb3VsZCBub3QgYmUgY29tcHV0ZWQuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sQ2xlYW51cFBhcnNlciIgaWQ9InhtbENsZWFudXBQYXJzZXIiPjwvYT5GdW5jdGlvbjogeG1sQ2xlYW51cFBhcnNlcjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sQ2xlYW51cFBhcnNlcgkJKHZvaWQpPGJyIC8+Cis8L3ByZT48cD5UaGlzIGZ1bmN0aW9uIG5hbWUgaXMgc29tZXdoYXQgbWlzbGVhZGluZy4gSXQgZG9lcyBub3QgY2xlYW4gdXAgcGFyc2VyIHN0YXRlLCBpdCBjbGVhbnMgdXAgbWVtb3J5IGFsbG9jYXRlZCBieSB0aGUgbGlicmFyeSBpdHNlbGYuIEl0IGlzIGEgY2xlYW51cCBmdW5jdGlvbiBmb3IgdGhlIFhNTCBsaWJyYXJ5LiBJdCB0cmllcyB0byByZWNsYWltIGFsbCByZWxhdGVkIGdsb2JhbCBtZW1vcnkgYWxsb2NhdGVkIGZvciB0aGUgbGlicmFyeSBwcm9jZXNzaW5nLiBJdCBkb2Vzbid0IGRlYWxsb2NhdGUgYW55IGRvY3VtZW50IHJlbGF0ZWQgbWVtb3J5LiBPbmUgc2hvdWxkIGNhbGwgeG1sQ2xlYW51cFBhcnNlcigpIG9ubHkgd2hlbiB0aGUgcHJvY2VzcyBoYXMgZmluaXNoZWQgdXNpbmcgdGhlIGxpYnJhcnkgYW5kIGFsbCBYTUwvSFRNTCBkb2N1bWVudHMgYnVpbHQgd2l0aCBpdC4gU2VlIGFsc28geG1sSW5pdFBhcnNlcigpIHdoaWNoIGhhcyB0aGUgb3Bwb3NpdGUgZnVuY3Rpb24gb2YgcHJlcGFyaW5nIHRoZSBsaWJyYXJ5IGZvciBvcGVyYXRpb25zLiBXQVJOSU5HOiBpZiB5b3VyIGFwcGxpY2F0aW9uIGlzIG11bHRpdGhyZWFkZWQgb3IgaGFzIHBsdWdpbiBzdXBwb3J0IGNhbGxpbmcgdGhpcyBtYXkgY3Jhc2ggdGhlIGFwcGxpY2F0aW9uIGlmIGFub3RoZXIgdGhyZWFkIG9yIGEgcGx1Z2luIGlzIHN0aWxsIHVzaW5nIGxpYnhtbDIuIEl0J3Mgc29tZXRpbWVzIHZlcnkgaGFyZCB0byBndWVzcyBpZiBsaWJ4bWwyIGlzIGluIHVzZSBpbiB0aGUgYXBwbGljYXRpb24sIHNvbWUgbGlicmFyaWVzIG9yIHBsdWdpbnMgbWF5IHVzZSBpdCB3aXRob3V0IG5vdGljZS4gSW4gY2FzZSBvZiBkb3VidCBhYnN0YWluIGZyb20gY2FsbGluZyB0aGlzIGZ1bmN0aW9uIG9yIGRvIGl0IGp1c3QgYmVmb3JlIGNhbGxpbmcgZXhpdCgpIHRvIGF2b2lkIGxlYWsgcmVwb3J0cyBmcm9tIHZhbGdyaW5kICE8L3A+Cis8aDM+PGEgbmFtZT0ieG1sQ2xlYXJOb2RlSW5mb1NlcSIgaWQ9InhtbENsZWFyTm9kZUluZm9TZXEiPjwvYT5GdW5jdGlvbjogeG1sQ2xlYXJOb2RlSW5mb1NlcTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sQ2xlYXJOb2RlSW5mb1NlcQkJKDxhIGhyZWY9ImxpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZXJOb2RlSW5mb1NlcVB0ciI+eG1sUGFyc2VyTm9kZUluZm9TZXFQdHI8L2E+IHNlcSk8YnIgLz4KKzwvcHJlPjxwPi0tIENsZWFyIChyZWxlYXNlIG1lbW9yeSBhbmQgcmVpbml0aWFsaXplKSBub2RlIGluZm8gc2VxdWVuY2U8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zZXE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbm9kZSBpbmZvIHNlcXVlbmNlIHBvaW50ZXI8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxDbGVhclBhcnNlckN0eHQiIGlkPSJ4bWxDbGVhclBhcnNlckN0eHQiPjwvYT5GdW5jdGlvbjogeG1sQ2xlYXJQYXJzZXJDdHh0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxDbGVhclBhcnNlckN0eHQJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPGJyIC8+Cis8L3ByZT48cD5DbGVhciAocmVsZWFzZSBvd25lZCByZXNvdXJjZXMpIGFuZCByZWluaXRpYWxpemUgYSBwYXJzZXIgY29udGV4dDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbENyZWF0ZURvY1BhcnNlckN0eHQiIGlkPSJ4bWxDcmVhdGVEb2NQYXJzZXJDdHh0Ij48L2E+RnVuY3Rpb246IHhtbENyZWF0ZURvY1BhcnNlckN0eHQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+CXhtbENyZWF0ZURvY1BhcnNlckN0eHQJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGN1cik8YnIgLz4KKzwvcHJlPjxwPkNyZWF0ZXMgYSBwYXJzZXIgY29udGV4dCBmb3IgYW4gWE1MIGluLW1lbW9yeSBkb2N1bWVudC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byBhbiBhcnJheSBvZiA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXcgcGFyc2VyIGNvbnRleHQgb3IgTlVMTDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbENyZWF0ZUlPUGFyc2VyQ3R4dCIgaWQ9InhtbENyZWF0ZUlPUGFyc2VyQ3R4dCI+PC9hPkZ1bmN0aW9uOiB4bWxDcmVhdGVJT1BhcnNlckN0eHQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+CXhtbENyZWF0ZUlPUGFyc2VyQ3R4dAkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxTQVhIYW5kbGVyUHRyIj54bWxTQVhIYW5kbGVyUHRyPC9hPiBzYXgsIDxiciAvPgkJCQkJCSB2b2lkICogdXNlcl9kYXRhLCA8YnIgLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbElPLmh0bWwjeG1sSW5wdXRSZWFkQ2FsbGJhY2siPnhtbElucHV0UmVhZENhbGxiYWNrPC9hPiBpb3JlYWQsIDxiciAvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sSU8uaHRtbCN4bWxJbnB1dENsb3NlQ2FsbGJhY2siPnhtbElucHV0Q2xvc2VDYWxsYmFjazwvYT4gaW9jbG9zZSwgPGJyIC8+CQkJCQkJIHZvaWQgKiBpb2N0eCwgPGJyIC8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZyI+eG1sQ2hhckVuY29kaW5nPC9hPiBlbmMpPGJyIC8+Cis8L3ByZT48cD5DcmVhdGUgYSBwYXJzZXIgY29udGV4dCBmb3IgdXNpbmcgdGhlIFhNTCBwYXJzZXIgd2l0aCBhbiBleGlzdGluZyBJL08gc3RyZWFtPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2F4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIFNBWCBoYW5kbGVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD51c2VyX2RhdGE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlRoZSB1c2VyIGRhdGEgcmV0dXJuZWQgb24gU0FYIGNhbGxiYWNrczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aW9yZWFkPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBJL08gcmVhZCBmdW5jdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aW9jbG9zZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gSS9PIGNsb3NlIGZ1bmN0aW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pb2N0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gSS9PIGhhbmRsZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVuYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGNoYXJzZXQgZW5jb2RpbmcgaWYga25vd248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXcgcGFyc2VyIGNvbnRleHQgb3IgTlVMTDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbENyZWF0ZVB1c2hQYXJzZXJDdHh0IiBpZD0ieG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQiPjwvYT5GdW5jdGlvbjogeG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+CXhtbENyZWF0ZVB1c2hQYXJzZXJDdHh0CSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFNBWEhhbmRsZXJQdHIiPnhtbFNBWEhhbmRsZXJQdHI8L2E+IHNheCwgPGJyIC8+CQkJCQkJIHZvaWQgKiB1c2VyX2RhdGEsIDxiciAvPgkJCQkJCSBjb25zdCBjaGFyICogY2h1bmssIDxiciAvPgkJCQkJCSBpbnQgc2l6ZSwgPGJyIC8+CQkJCQkJIGNvbnN0IGNoYXIgKiBmaWxlbmFtZSk8YnIgLz4KKzwvcHJlPjxwPkNyZWF0ZSBhIHBhcnNlciBjb250ZXh0IGZvciB1c2luZyB0aGUgWE1MIHBhcnNlciBpbiBwdXNoIG1vZGUuIElmIEBidWZmZXIgYW5kIEBzaXplIGFyZSBub24tTlVMTCwgdGhlIGRhdGEgaXMgdXNlZCB0byBkZXRlY3QgdGhlIGVuY29kaW5nLiBUaGUgcmVtYWluaW5nIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNjaGFyYWN0ZXJzIj5jaGFyYWN0ZXJzPC9hPiB3aWxsIGJlIHBhcnNlZCBzbyB0aGV5IGRvbid0IG5lZWQgdG8gYmUgZmVkIGluIGFnYWluIHRocm91Z2ggeG1sUGFyc2VDaHVuay4gVG8gYWxsb3cgY29udGVudCBlbmNvZGluZyBkZXRlY3Rpb24sIEBzaXplIHNob3VsZCBiZSAmZ3Q7PSA0IFRoZSB2YWx1ZSBvZiBAZmlsZW5hbWUgaXMgdXNlZCBmb3IgZmV0Y2hpbmcgZXh0ZXJuYWwgZW50aXRpZXMgYW5kIGVycm9yL3dhcm5pbmcgcmVwb3J0cy48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zYXg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgU0FYIGhhbmRsZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnVzZXJfZGF0YTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VGhlIHVzZXIgZGF0YSByZXR1cm5lZCBvbiBTQVggY2FsbGJhY2tzPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jaHVuazwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIGFuIGFycmF5IG9mIGNoYXJzPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zaXplPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5udW1iZXIgb2YgY2hhcnMgaW4gdGhlIGFycmF5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlbmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gb3B0aW9uYWwgZmlsZSBuYW1lIG9yIFVSSTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ldyBwYXJzZXIgY29udGV4dCBvciBOVUxMPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sQ3R4dFJlYWREb2MiIGlkPSJ4bWxDdHh0UmVhZERvYyI+PC9hPkZ1bmN0aW9uOiB4bWxDdHh0UmVhZERvYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+CXhtbEN0eHRSZWFkRG9jCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjdXIsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBVUkwsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyIC8+CQkJCQkgaW50IG9wdGlvbnMpPGJyIC8+Cis8L3ByZT48cD5wYXJzZSBhbiBYTUwgaW4tbWVtb3J5IGRvY3VtZW50IGFuZCBidWlsZCBhIHRyZWUuIFRoaXMgcmV1c2VzIHRoZSBleGlzdGluZyBAY3R4dCBwYXJzZXIgY29udGV4dDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gYSB6ZXJvIHRlcm1pbmF0ZWQgc3RyaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5VUkw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBiYXNlIFVSTCB0byB1c2UgZm9yIHRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jb2Rpbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3B0aW9uczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBjb21iaW5hdGlvbiBvZiA8YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VyT3B0aW9uIj54bWxQYXJzZXJPcHRpb248L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmVzdWx0aW5nIGRvY3VtZW50IHRyZWU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxDdHh0UmVhZEZkIiBpZD0ieG1sQ3R4dFJlYWRGZCI+PC9hPkZ1bmN0aW9uOiB4bWxDdHh0UmVhZEZkPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4JeG1sQ3R4dFJlYWRGZAkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgaW50IGZkLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogVVJMLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcsIDxiciAvPgkJCQkJIGludCBvcHRpb25zKTxiciAvPgorPC9wcmU+PHA+cGFyc2UgYW4gWE1MIGZyb20gYSBmaWxlIGRlc2NyaXB0b3IgYW5kIGJ1aWxkIGEgdHJlZS4gVGhpcyByZXVzZXMgdGhlIGV4aXN0aW5nIEBjdHh0IHBhcnNlciBjb250ZXh0IE5PVEUgdGhhdCB0aGUgZmlsZSBkZXNjcmlwdG9yIHdpbGwgbm90IGJlIGNsb3NlZCB3aGVuIHRoZSByZWFkZXIgaXMgY2xvc2VkIG9yIHJlc2V0LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5VUkw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBiYXNlIFVSTCB0byB1c2UgZm9yIHRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jb2Rpbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3B0aW9uczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBjb21iaW5hdGlvbiBvZiA8YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VyT3B0aW9uIj54bWxQYXJzZXJPcHRpb248L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmVzdWx0aW5nIGRvY3VtZW50IHRyZWU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxDdHh0UmVhZEZpbGUiIGlkPSJ4bWxDdHh0UmVhZEZpbGUiPjwvYT5GdW5jdGlvbjogeG1sQ3R4dFJlYWRGaWxlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4JeG1sQ3R4dFJlYWRGaWxlCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogZmlsZW5hbWUsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyIC8+CQkJCQkgaW50IG9wdGlvbnMpPGJyIC8+Cis8L3ByZT48cD5wYXJzZSBhbiBYTUwgZmlsZSBmcm9tIHRoZSBmaWxlc3lzdGVtIG9yIHRoZSBuZXR3b3JrLiBUaGlzIHJldXNlcyB0aGUgZXhpc3RpbmcgQGN0eHQgcGFyc2VyIGNvbnRleHQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZpbGVuYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGZpbGUgb3IgVVJMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbmNvZGluZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50IGVuY29kaW5nLCBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vcHRpb25zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGNvbWJpbmF0aW9uIG9mIDxhIGhyZWY9ImxpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZXJPcHRpb24iPnhtbFBhcnNlck9wdGlvbjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSByZXN1bHRpbmcgZG9jdW1lbnQgdHJlZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEN0eHRSZWFkSU8iIGlkPSJ4bWxDdHh0UmVhZElPIj48L2E+RnVuY3Rpb246IHhtbEN0eHRSZWFkSU88L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPgl4bWxDdHh0UmVhZElPCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sSU8uaHRtbCN4bWxJbnB1dFJlYWRDYWxsYmFjayI+eG1sSW5wdXRSZWFkQ2FsbGJhY2s8L2E+IGlvcmVhZCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbElPLmh0bWwjeG1sSW5wdXRDbG9zZUNhbGxiYWNrIj54bWxJbnB1dENsb3NlQ2FsbGJhY2s8L2E+IGlvY2xvc2UsIDxiciAvPgkJCQkJIHZvaWQgKiBpb2N0eCwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIFVSTCwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nLCA8YnIgLz4JCQkJCSBpbnQgb3B0aW9ucyk8YnIgLz4KKzwvcHJlPjxwPnBhcnNlIGFuIFhNTCBkb2N1bWVudCBmcm9tIEkvTyBmdW5jdGlvbnMgYW5kIHNvdXJjZSBhbmQgYnVpbGQgYSB0cmVlLiBUaGlzIHJldXNlcyB0aGUgZXhpc3RpbmcgQGN0eHQgcGFyc2VyIGNvbnRleHQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmlvcmVhZDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gSS9PIHJlYWQgZnVuY3Rpb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmlvY2xvc2U8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIEkvTyBjbG9zZSBmdW5jdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aW9jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIEkvTyBoYW5kbGVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5VUkw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBiYXNlIFVSTCB0byB1c2UgZm9yIHRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jb2Rpbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3B0aW9uczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBjb21iaW5hdGlvbiBvZiA8YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VyT3B0aW9uIj54bWxQYXJzZXJPcHRpb248L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmVzdWx0aW5nIGRvY3VtZW50IHRyZWU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxDdHh0UmVhZE1lbW9yeSIgaWQ9InhtbEN0eHRSZWFkTWVtb3J5Ij48L2E+RnVuY3Rpb246IHhtbEN0eHRSZWFkTWVtb3J5PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4JeG1sQ3R4dFJlYWRNZW1vcnkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGJ1ZmZlciwgPGJyIC8+CQkJCQkgaW50IHNpemUsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBVUkwsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyIC8+CQkJCQkgaW50IG9wdGlvbnMpPGJyIC8+Cis8L3ByZT48cD5wYXJzZSBhbiBYTUwgaW4tbWVtb3J5IGRvY3VtZW50IGFuZCBidWlsZCBhIHRyZWUuIFRoaXMgcmV1c2VzIHRoZSBleGlzdGluZyBAY3R4dCBwYXJzZXIgY29udGV4dDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YnVmZmVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gYSBjaGFyIGFycmF5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zaXplPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc2l6ZSBvZiB0aGUgYXJyYXk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlVSTDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJhc2UgVVJMIHRvIHVzZSBmb3IgdGhlIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbmNvZGluZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50IGVuY29kaW5nLCBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vcHRpb25zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGNvbWJpbmF0aW9uIG9mIDxhIGhyZWY9ImxpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZXJPcHRpb24iPnhtbFBhcnNlck9wdGlvbjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSByZXN1bHRpbmcgZG9jdW1lbnQgdHJlZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEN0eHRSZXNldCIgaWQ9InhtbEN0eHRSZXNldCI+PC9hPkZ1bmN0aW9uOiB4bWxDdHh0UmVzZXQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbEN0eHRSZXNldAkJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPGJyIC8+Cis8L3ByZT48cD5SZXNldCBhIHBhcnNlciBjb250ZXh0PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sQ3R4dFJlc2V0UHVzaCIgaWQ9InhtbEN0eHRSZXNldFB1c2giPjwvYT5GdW5jdGlvbjogeG1sQ3R4dFJlc2V0UHVzaDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxDdHh0UmVzZXRQdXNoCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogY2h1bmssIDxiciAvPgkJCQkJIGludCBzaXplLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogZmlsZW5hbWUsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZyk8YnIgLz4KKzwvcHJlPjxwPlJlc2V0IGEgcHVzaCBwYXJzZXIgY29udGV4dDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y2h1bms8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byBhbiBhcnJheSBvZiBjaGFyczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2l6ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+bnVtYmVyIG9mIGNoYXJzIGluIHRoZSBhcnJheTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmlsZW5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIG9wdGlvbmFsIGZpbGUgbmFtZSBvciBVUkk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVuY29kaW5nPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQgZW5jb2RpbmcsIG9yIE5VTEw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaW4gY2FzZSBvZiBzdWNjZXNzIGFuZCAxIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxDdHh0VXNlT3B0aW9ucyIgaWQ9InhtbEN0eHRVc2VPcHRpb25zIj48L2E+RnVuY3Rpb246IHhtbEN0eHRVc2VPcHRpb25zPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbEN0eHRVc2VPcHRpb25zCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSBpbnQgb3B0aW9ucyk8YnIgLz4KKzwvcHJlPjxwPkFwcGxpZXMgdGhlIG9wdGlvbnMgdG8gdGhlIHBhcnNlciBjb250ZXh0PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vcHRpb25zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGNvbWJpbmF0aW9uIG9mIDxhIGhyZWY9ImxpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZXJPcHRpb24iPnhtbFBhcnNlck9wdGlvbjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaW4gY2FzZSBvZiBzdWNjZXNzLCB0aGUgc2V0IG9mIHVua25vd24gb3IgdW5pbXBsZW1lbnRlZCBvcHRpb25zIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sRXh0ZXJuYWxFbnRpdHlMb2FkZXIiIGlkPSJ4bWxFeHRlcm5hbEVudGl0eUxvYWRlciI+PC9hPkZ1bmN0aW9uIHR5cGU6IHhtbEV4dGVybmFsRW50aXR5TG9hZGVyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RnVuY3Rpb24gdHlwZTogeG1sRXh0ZXJuYWxFbnRpdHlMb2FkZXIKKzxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRQdHIiPnhtbFBhcnNlcklucHV0UHRyPC9hPgl4bWxFeHRlcm5hbEVudGl0eUxvYWRlcgkoY29uc3QgY2hhciAqIFVSTCwgPGJyIC8+CQkJCQkJIGNvbnN0IGNoYXIgKiBJRCwgPGJyIC8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY29udGV4dCkKKzwvcHJlPjxwPkV4dGVybmFsIGVudGl0eSBsb2FkZXJzIHR5cGVzLjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5VUkw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlRoZSBTeXN0ZW0gSUQgb2YgdGhlIHJlc291cmNlIHJlcXVlc3RlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+SUQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlRoZSBQdWJsaWMgSUQgb2YgdGhlIHJlc291cmNlIHJlcXVlc3RlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29udGV4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVudGl0eSBpbnB1dCBwYXJzZXIuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48YnIgLz4KKzxoMz48YSBuYW1lPSJ4bWxGcmVlUGFyc2VyQ3R4dCIgaWQ9InhtbEZyZWVQYXJzZXJDdHh0Ij48L2E+RnVuY3Rpb246IHhtbEZyZWVQYXJzZXJDdHh0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxGcmVlUGFyc2VyQ3R4dAkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8YnIgLz4KKzwvcHJlPjxwPkZyZWUgYWxsIHRoZSBtZW1vcnkgdXNlZCBieSBhIHBhcnNlciBjb250ZXh0LiBIb3dldmVyIHRoZSBwYXJzZWQgZG9jdW1lbnQgaW4gY3R4dC0mZ3Q7bXlEb2MgaXMgbm90IGZyZWVkLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEdldEV4dGVybmFsRW50aXR5TG9hZGVyIiBpZD0ieG1sR2V0RXh0ZXJuYWxFbnRpdHlMb2FkZXIiPjwvYT5GdW5jdGlvbjogeG1sR2V0RXh0ZXJuYWxFbnRpdHlMb2FkZXI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwjeG1sRXh0ZXJuYWxFbnRpdHlMb2FkZXIiPnhtbEV4dGVybmFsRW50aXR5TG9hZGVyPC9hPgl4bWxHZXRFeHRlcm5hbEVudGl0eUxvYWRlcgkodm9pZCk8YnIgLz4KKzwvcHJlPjxwPkdldCB0aGUgZGVmYXVsdCBleHRlcm5hbCBlbnRpdHkgcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBhcHBsaWNhdGlvbjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwjeG1sRXh0ZXJuYWxFbnRpdHlMb2FkZXIiPnhtbEV4dGVybmFsRW50aXR5TG9hZGVyPC9hPiBmdW5jdGlvbiBwb2ludGVyPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sR2V0RmVhdHVyZSIgaWQ9InhtbEdldEZlYXR1cmUiPjwvYT5GdW5jdGlvbjogeG1sR2V0RmVhdHVyZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxHZXRGZWF0dXJlCQkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIG5hbWUsIDxiciAvPgkJCQkJIHZvaWQgKiByZXN1bHQpPGJyIC8+Cis8L3ByZT48cD5SZWFkIHRoZSBjdXJyZW50IHZhbHVlIG9mIG9uZSBmZWF0dXJlIG9mIHRoaXMgcGFyc2VyIGluc3RhbmNlPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1ML0hUTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmZWF0dXJlIG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJlc3VsdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+bG9jYXRpb24gdG8gc3RvcmUgdGhlIHJlc3VsdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+LTEgaW4gY2FzZSBvciBlcnJvciwgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxHZXRGZWF0dXJlc0xpc3QiIGlkPSJ4bWxHZXRGZWF0dXJlc0xpc3QiPjwvYT5GdW5jdGlvbjogeG1sR2V0RmVhdHVyZXNMaXN0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbEdldEZlYXR1cmVzTGlzdAkJKGludCAqIGxlbiwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqKiByZXN1bHQpPGJyIC8+Cis8L3ByZT48cD5Db3B5IGF0IG1vc3QgKkBsZW4gZmVhdHVyZSBuYW1lcyBpbnRvIHRoZSBAcmVzdWx0IGFycmF5PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGVuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbGVuZ3RoIG9mIHRoZSBmZWF0dXJlcyBuYW1lIGFycmF5IChpbnB1dC9vdXRwdXQpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZXN1bHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIGFycmF5IG9mIHN0cmluZyB0byBiZSBmaWxsZWQgd2l0aCB0aGUgZmVhdHVyZXMgbmFtZS48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPi0xIGluIGNhc2Ugb3IgZXJyb3IsIG9yIHRoZSB0b3RhbCBudW1iZXIgb2YgZmVhdHVyZXMsIGxlbiBpcyB1cGRhdGVkIHdpdGggdGhlIG51bWJlciBvZiBzdHJpbmdzIGNvcGllZCwgc3RyaW5ncyBtdXN0IG5vdCBiZSBkZWFsbG9jYXRlZDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEhhc0ZlYXR1cmUiIGlkPSJ4bWxIYXNGZWF0dXJlIj48L2E+RnVuY3Rpb246IHhtbEhhc0ZlYXR1cmU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sSGFzRmVhdHVyZQkJCSg8YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwjeG1sRmVhdHVyZSI+eG1sRmVhdHVyZTwvYT4gZmVhdHVyZSk8YnIgLz4KKzwvcHJlPjxwPkV4YW1pbmVzIGlmIHRoZSBsaWJyYXJ5IGhhcyBiZWVuIGNvbXBpbGVkIHdpdGggYSBnaXZlbiBmZWF0dXJlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZlYXR1cmU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmZWF0dXJlIHRvIGJlIGV4YW1pbmVkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIG5vbi16ZXJvIHZhbHVlIGlmIHRoZSBmZWF0dXJlIGV4aXN0LCBvdGhlcndpc2UgemVyby4gUmV0dXJucyB6ZXJvICgwKSBpZiB0aGUgZmVhdHVyZSBkb2VzIG5vdCBleGlzdCBvciBhbiB1bmtub3duIHVua25vd24gZmVhdHVyZSBpcyByZXF1ZXN0ZWQsIG5vbi16ZXJvIG90aGVyd2lzZS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxJT1BhcnNlRFREIiBpZD0ieG1sSU9QYXJzZURURCI+PC9hPkZ1bmN0aW9uOiB4bWxJT1BhcnNlRFREPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEdGRQdHIiPnhtbER0ZFB0cjwvYT4JeG1sSU9QYXJzZURURAkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sU0FYSGFuZGxlclB0ciI+eG1sU0FYSGFuZGxlclB0cjwvYT4gc2F4LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyUHRyIj54bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cjwvYT4gaW5wdXQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZyI+eG1sQ2hhckVuY29kaW5nPC9hPiBlbmMpPGJyIC8+Cis8L3ByZT48cD5Mb2FkIGFuZCBwYXJzZSBhIERURDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNheDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFNBWCBoYW5kbGVyIGJsb2NrIG9yIE5VTEw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmlucHV0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBJbnB1dCBCdWZmZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVuYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGNoYXJzZXQgZW5jb2RpbmcgaWYga25vd248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSByZXN1bHRpbmcgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEdGRQdHIiPnhtbER0ZFB0cjwvYT4gb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLiBAaW5wdXQgd2lsbCBiZSBmcmVlZCBieSB0aGUgZnVuY3Rpb24gaW4gYW55IGNhc2UuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sSW5pdE5vZGVJbmZvU2VxIiBpZD0ieG1sSW5pdE5vZGVJbmZvU2VxIj48L2E+RnVuY3Rpb246IHhtbEluaXROb2RlSW5mb1NlcTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sSW5pdE5vZGVJbmZvU2VxCQkoPGEgaHJlZj0ibGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlck5vZGVJbmZvU2VxUHRyIj54bWxQYXJzZXJOb2RlSW5mb1NlcVB0cjwvYT4gc2VxKTxiciAvPgorPC9wcmU+PHA+LS0gSW5pdGlhbGl6ZSAoc2V0IHRvIGluaXRpYWwgc3RhdGUpIG5vZGUgaW5mbyBzZXF1ZW5jZTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNlcTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBub2RlIGluZm8gc2VxdWVuY2UgcG9pbnRlcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEluaXRQYXJzZXIiIGlkPSJ4bWxJbml0UGFyc2VyIj48L2E+RnVuY3Rpb246IHhtbEluaXRQYXJzZXI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbEluaXRQYXJzZXIJCQkodm9pZCk8YnIgLz4KKzwvcHJlPjxwPkluaXRpYWxpemF0aW9uIGZ1bmN0aW9uIGZvciB0aGUgWE1MIHBhcnNlci4gVGhpcyBpcyBub3QgcmVlbnRyYW50LiBDYWxsIG9uY2UgYmVmb3JlIHByb2Nlc3NpbmcgaW4gY2FzZSBvZiB1c2UgaW4gbXVsdGl0aHJlYWRlZCBwcm9ncmFtcy48L3A+Cis8aDM+PGEgbmFtZT0ieG1sSW5pdFBhcnNlckN0eHQiIGlkPSJ4bWxJbml0UGFyc2VyQ3R4dCI+PC9hPkZ1bmN0aW9uOiB4bWxJbml0UGFyc2VyQ3R4dDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxJbml0UGFyc2VyQ3R4dAkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8YnIgLz4KKzwvcHJlPjxwPkluaXRpYWxpemUgYSBwYXJzZXIgY29udGV4dDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpbiBjYXNlIG9mIHN1Y2Nlc3MgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxLZWVwQmxhbmtzRGVmYXVsdCIgaWQ9InhtbEtlZXBCbGFua3NEZWZhdWx0Ij48L2E+RnVuY3Rpb246IHhtbEtlZXBCbGFua3NEZWZhdWx0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbEtlZXBCbGFua3NEZWZhdWx0CQkoaW50IHZhbCk8YnIgLz4KKzwvcHJlPjxwPlNldCBhbmQgcmV0dXJuIHRoZSBwcmV2aW91cyB2YWx1ZSBmb3IgZGVmYXVsdCBibGFua3MgdGV4dCBub2RlcyBzdXBwb3J0LiBUaGUgMS54IHZlcnNpb24gb2YgdGhlIHBhcnNlciB1c2VkIGFuIGhldXJpc3RpYyB0byB0cnkgdG8gZGV0ZWN0IGlnbm9yYWJsZSB3aGl0ZSBzcGFjZXMuIEFzIGEgcmVzdWx0IHRoZSBTQVggY2FsbGJhY2sgd2FzIGdlbmVyYXRpbmcgeG1sU0FYMklnbm9yYWJsZVdoaXRlc3BhY2UoKSBjYWxsYmFja3MgaW5zdGVhZCBvZiBjaGFyYWN0ZXJzKCkgb25lLCBhbmQgd2hlbiB1c2luZyB0aGUgRE9NIG91dHB1dCB0ZXh0IG5vZGVzIGNvbnRhaW5pbmcgdGhvc2UgYmxhbmtzIHdlcmUgbm90IGdlbmVyYXRlZC4gVGhlIDIueCBhbmQgbGF0ZXIgdmVyc2lvbiB3aWxsIHN3aXRjaCB0byB0aGUgWE1MIHN0YW5kYXJkIHdheSBhbmQgaWdub3JhYmxlV2hpdGVzcGFjZSgpIGFyZSBvbmx5IGdlbmVyYXRlZCB3aGVuIHJ1bm5pbmcgdGhlIHBhcnNlciBpbiB2YWxpZGF0aW5nIG1vZGUgYW5kIHdoZW4gdGhlIGN1cnJlbnQgZWxlbWVudCBkb2Vzbid0IGFsbG93IENEQVRBIG9yIG1peGVkIGNvbnRlbnQuIFRoaXMgZnVuY3Rpb24gaXMgcHJvdmlkZWQgYXMgYSB3YXkgdG8gZm9yY2UgdGhlIHN0YW5kYXJkIGJlaGF2aW9yIG9uIDEuWCBsaWJzIGFuZCB0byBzd2l0Y2ggYmFjayB0byB0aGUgb2xkIG1vZGUgZm9yIGNvbXBhdGliaWxpdHkgd2hlbiBydW5uaW5nIDEuWCBjbGllbnQgY29kZSBvbiAyLlggLiBVcGdyYWRlIG9mIDEuWCBjb2RlIHNob3VsZCBiZSBkb25lIGJ5IHVzaW5nIHhtbElzQmxhbmtOb2RlKCkgY29tbW9kaXR5IGZ1bmN0aW9uIHRvIGRldGVjdCB0aGUgImVtcHR5IiBub2RlcyBnZW5lcmF0ZWQuIFRoaXMgdmFsdWUgYWxzbyBhZmZlY3QgYXV0b2dlbmVyYXRpb24gb2YgaW5kZW50YXRpb24gd2hlbiBzYXZpbmcgY29kZSBpZiBibGFua3Mgc2VjdGlvbnMgYXJlIGtlcHQsIGluZGVudGF0aW9uIGlzIG5vdCBnZW5lcmF0ZWQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5pbnQgMCBvciAxPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbGFzdCB2YWx1ZSBmb3IgMCBmb3Igbm8gc3Vic3RpdHV0aW9uLCAxIGZvciBzdWJzdGl0dXRpb24uPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sTGluZU51bWJlcnNEZWZhdWx0IiBpZD0ieG1sTGluZU51bWJlcnNEZWZhdWx0Ij48L2E+RnVuY3Rpb246IHhtbExpbmVOdW1iZXJzRGVmYXVsdDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxMaW5lTnVtYmVyc0RlZmF1bHQJCShpbnQgdmFsKTxiciAvPgorPC9wcmU+PHA+U2V0IGFuZCByZXR1cm4gdGhlIHByZXZpb3VzIHZhbHVlIGZvciBlbmFibGluZyBsaW5lIG51bWJlcnMgaW4gZWxlbWVudHMgY29udGVudHMuIFRoaXMgbWF5IGJyZWFrIG9uIG9sZCBhcHBsaWNhdGlvbiBhbmQgaXMgdHVybmVkIG9mZiBieSBkZWZhdWx0LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+aW50IDAgb3IgMTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxhc3QgdmFsdWUgZm9yIDAgZm9yIG5vIHN1YnN0aXR1dGlvbiwgMSBmb3Igc3Vic3RpdHV0aW9uLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbExvYWRFeHRlcm5hbEVudGl0eSIgaWQ9InhtbExvYWRFeHRlcm5hbEVudGl0eSI+PC9hPkZ1bmN0aW9uOiB4bWxMb2FkRXh0ZXJuYWxFbnRpdHk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlcklucHV0UHRyIj54bWxQYXJzZXJJbnB1dFB0cjwvYT4JeG1sTG9hZEV4dGVybmFsRW50aXR5CShjb25zdCBjaGFyICogVVJMLCA8YnIgLz4JCQkJCQkgY29uc3QgY2hhciAqIElELCA8YnIgLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTxiciAvPgorPC9wcmU+PHA+TG9hZCBhbiBleHRlcm5hbCBlbnRpdHksIG5vdGUgdGhhdCB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24gZm9yIHVucGFyc2VkIGVudGl0aWVzIG1heSBnZW5lcmF0ZSBwcm9ibGVtczwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlVSTDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFVSTCBmb3IgdGhlIGVudGl0eSB0byBsb2FkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5JRDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFB1YmxpYyBJRCBmb3IgdGhlIGVudGl0eSB0byBsb2FkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY29udGV4dCBpbiB3aGljaCB0aGUgZW50aXR5IGlzIGNhbGxlZCBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dFB0ciI+eG1sUGFyc2VySW5wdXRQdHI8L2E+IG9yIE5VTEw8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxOZXdJT0lucHV0U3RyZWFtIiBpZD0ieG1sTmV3SU9JbnB1dFN0cmVhbSI+PC9hPkZ1bmN0aW9uOiB4bWxOZXdJT0lucHV0U3RyZWFtPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dFB0ciI+eG1sUGFyc2VySW5wdXRQdHI8L2E+CXhtbE5ld0lPSW5wdXRTdHJlYW0JKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIiPnhtbFBhcnNlcklucHV0QnVmZmVyUHRyPC9hPiBpbnB1dCwgPGJyIC8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZyI+eG1sQ2hhckVuY29kaW5nPC9hPiBlbmMpPGJyIC8+Cis8L3ByZT48cD5DcmVhdGUgYSBuZXcgaW5wdXQgc3RyZWFtIHN0cnVjdHVyZSBlbmNhcHN1bGF0aW5nIHRoZSBAaW5wdXQgaW50byBhIHN0cmVhbSBzdWl0YWJsZSBmb3IgdGhlIHBhcnNlci48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmlucHV0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBJL08gSW5wdXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVuYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGNoYXJzZXQgZW5jb2RpbmcgaWYga25vd248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXcgaW5wdXQgc3RyZWFtIG9yIE5VTEw8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxOZXdQYXJzZXJDdHh0IiBpZD0ieG1sTmV3UGFyc2VyQ3R4dCI+PC9hPkZ1bmN0aW9uOiB4bWxOZXdQYXJzZXJDdHh0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPgl4bWxOZXdQYXJzZXJDdHh0CSh2b2lkKTxiciAvPgorPC9wcmU+PHA+QWxsb2NhdGUgYW5kIGluaXRpYWxpemUgYSBuZXcgcGFyc2VyIGNvbnRleHQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gb3IgTlVMTDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeSIgaWQ9InhtbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeSI+PC9hPkZ1bmN0aW9uOiB4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5CSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sU0FYSGFuZGxlclB0ciI+eG1sU0FYSGFuZGxlclB0cjwvYT4gc2F4LCA8YnIgLz4JCQkJCSB2b2lkICogdXNlcl9kYXRhLCA8YnIgLz4JCQkJCSBpbnQgZGVwdGgsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0cmluZywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiAqIGxzdCk8YnIgLz4KKzwvcHJlPjxwPlBhcnNlIGEgd2VsbC1iYWxhbmNlZCBjaHVuayBvZiBhbiBYTUwgZG9jdW1lbnQgY2FsbGVkIGJ5IHRoZSBwYXJzZXIgVGhlIGFsbG93ZWQgc2VxdWVuY2UgZm9yIHRoZSBXZWxsIEJhbGFuY2VkIENodW5rIGlzIHRoZSBvbmUgZGVmaW5lZCBieSB0aGUgY29udGVudCBwcm9kdWN0aW9uIGluIHRoZSBYTUwgZ3JhbW1hcjogWzQzXSBjb250ZW50IDo6PSAoZWxlbWVudCB8IENoYXJEYXRhIHwgUmVmZXJlbmNlIHwgQ0RTZWN0IHwgUEkgfCBDb21tZW50KSo8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudCB0aGUgY2h1bmsgcGVydGFpbnMgdG88L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNheDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFNBWCBoYW5kbGVyIGJsb2MgKHBvc3NpYmx5IE5VTEwpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD51c2VyX2RhdGE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlRoZSB1c2VyIGRhdGEgcmV0dXJuZWQgb24gU0FYIGNhbGxiYWNrcyAocG9zc2libHkgTlVMTCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRlcHRoPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5Vc2VkIGZvciBsb29wIGRldGVjdGlvbiwgdXNlIDA8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0cmluZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGlucHV0IHN0cmluZyBpbiBVVEY4IG9yIElTTy1MYXRpbiAoemVybyB0ZXJtaW5hdGVkKTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bHN0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmV0dXJuIHZhbHVlIGZvciB0aGUgc2V0IG9mIHBhcnNlZCBub2RlczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpZiB0aGUgY2h1bmsgaXMgd2VsbCBiYWxhbmNlZCwgLTEgaW4gY2FzZSBvZiBhcmdzIHByb2JsZW0gYW5kIHRoZSBwYXJzZXIgZXJyb3IgY29kZSBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlSZWNvdmVyIiBpZD0ieG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5UmVjb3ZlciI+PC9hPkZ1bmN0aW9uOiB4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlSZWNvdmVyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXIJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyIC8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sU0FYSGFuZGxlclB0ciI+eG1sU0FYSGFuZGxlclB0cjwvYT4gc2F4LCA8YnIgLz4JCQkJCQkgdm9pZCAqIHVzZXJfZGF0YSwgPGJyIC8+CQkJCQkJIGludCBkZXB0aCwgPGJyIC8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0cmluZywgPGJyIC8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gKiBsc3QsIDxiciAvPgkJCQkJCSBpbnQgcmVjb3Zlcik8YnIgLz4KKzwvcHJlPjxwPlBhcnNlIGEgd2VsbC1iYWxhbmNlZCBjaHVuayBvZiBhbiBYTUwgZG9jdW1lbnQgY2FsbGVkIGJ5IHRoZSBwYXJzZXIgVGhlIGFsbG93ZWQgc2VxdWVuY2UgZm9yIHRoZSBXZWxsIEJhbGFuY2VkIENodW5rIGlzIHRoZSBvbmUgZGVmaW5lZCBieSB0aGUgY29udGVudCBwcm9kdWN0aW9uIGluIHRoZSBYTUwgZ3JhbW1hcjogWzQzXSBjb250ZW50IDo6PSAoZWxlbWVudCB8IENoYXJEYXRhIHwgUmVmZXJlbmNlIHwgQ0RTZWN0IHwgUEkgfCBDb21tZW50KSo8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudCB0aGUgY2h1bmsgcGVydGFpbnMgdG88L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNheDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFNBWCBoYW5kbGVyIGJsb2MgKHBvc3NpYmx5IE5VTEwpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD51c2VyX2RhdGE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlRoZSB1c2VyIGRhdGEgcmV0dXJuZWQgb24gU0FYIGNhbGxiYWNrcyAocG9zc2libHkgTlVMTCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRlcHRoPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5Vc2VkIGZvciBsb29wIGRldGVjdGlvbiwgdXNlIDA8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0cmluZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGlucHV0IHN0cmluZyBpbiBVVEY4IG9yIElTTy1MYXRpbiAoemVybyB0ZXJtaW5hdGVkKTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bHN0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmV0dXJuIHZhbHVlIGZvciB0aGUgc2V0IG9mIHBhcnNlZCBub2RlczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVjb3ZlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+cmV0dXJuIG5vZGVzIGV2ZW4gaWYgdGhlIGRhdGEgaXMgYnJva2VuICh1c2UgMCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaWYgdGhlIGNodW5rIGlzIHdlbGwgYmFsYW5jZWQsIC0xIGluIGNhc2Ugb2YgYXJncyBwcm9ibGVtIGFuZCB0aGUgcGFyc2VyIGVycm9yIGNvZGUgb3RoZXJ3aXNlIEluIGNhc2UgcmVjb3ZlciBpcyBzZXQgdG8gMSwgdGhlIG5vZGVsaXN0IHdpbGwgbm90IGJlIGVtcHR5IGV2ZW4gaWYgdGhlIHBhcnNlZCBjaHVuayBpcyBub3Qgd2VsbCBiYWxhbmNlZCwgYXNzdW1pbmcgdGhlIHBhcnNpbmcgc3VjY2VlZGVkIHRvIHNvbWUgZXh0ZW50LjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFBhcnNlQ2h1bmsiIGlkPSJ4bWxQYXJzZUNodW5rIj48L2E+RnVuY3Rpb246IHhtbFBhcnNlQ2h1bms8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sUGFyc2VDaHVuawkJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBjaHVuaywgPGJyIC8+CQkJCQkgaW50IHNpemUsIDxiciAvPgkJCQkJIGludCB0ZXJtaW5hdGUpPGJyIC8+Cis8L3ByZT48cD5QYXJzZSBhIENodW5rIG9mIG1lbW9yeTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y2h1bms8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIGNoYXIgYXJyYXk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNpemU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzaXplIGluIGJ5dGUgb2YgdGhlIGNodW5rPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50ZXJtaW5hdGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmxhc3QgY2h1bmsgaW5kaWNhdG9yPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD56ZXJvIGlmIG5vIGVycm9yLCB0aGUgPGEgaHJlZj0ibGlieG1sLXhtbGVycm9yLmh0bWwjeG1sUGFyc2VyRXJyb3JzIj54bWxQYXJzZXJFcnJvcnM8L2E+IG90aGVyd2lzZS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxQYXJzZUN0eHRFeHRlcm5hbEVudGl0eSIgaWQ9InhtbFBhcnNlQ3R4dEV4dGVybmFsRW50aXR5Ij48L2E+RnVuY3Rpb246IHhtbFBhcnNlQ3R4dEV4dGVybmFsRW50aXR5PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFBhcnNlQ3R4dEV4dGVybmFsRW50aXR5CSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogVVJMLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBJRCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiAqIGxzdCk8YnIgLz4KKzwvcHJlPjxwPlBhcnNlIGFuIGV4dGVybmFsIGdlbmVyYWwgZW50aXR5IHdpdGhpbiBhbiBleGlzdGluZyBwYXJzaW5nIGNvbnRleHQgQW4gZXh0ZXJuYWwgZ2VuZXJhbCBwYXJzZWQgZW50aXR5IGlzIHdlbGwtZm9ybWVkIGlmIGl0IG1hdGNoZXMgdGhlIHByb2R1Y3Rpb24gbGFiZWxlZCBleHRQYXJzZWRFbnQuIFs3OF0gZXh0UGFyc2VkRW50IDo6PSBUZXh0RGVjbD8gY29udGVudDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGV4aXN0aW5nIHBhcnNpbmcgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+VVJMPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgVVJMIGZvciB0aGUgZW50aXR5IHRvIGxvYWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PklEPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgU3lzdGVtIElEIGZvciB0aGUgZW50aXR5IHRvIGxvYWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxzdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHJldHVybiB2YWx1ZSBmb3IgdGhlIHNldCBvZiBwYXJzZWQgbm9kZXM8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaWYgdGhlIGVudGl0eSBpcyB3ZWxsIGZvcm1lZCwgLTEgaW4gY2FzZSBvZiBhcmdzIHByb2JsZW0gYW5kIHRoZSBwYXJzZXIgZXJyb3IgY29kZSBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxQYXJzZURURCIgaWQ9InhtbFBhcnNlRFREIj48L2E+RnVuY3Rpb246IHhtbFBhcnNlRFREPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEdGRQdHIiPnhtbER0ZFB0cjwvYT4JeG1sUGFyc2VEVEQJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBFeHRlcm5hbElELCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBTeXN0ZW1JRCk8YnIgLz4KKzwvcHJlPjxwPkxvYWQgYW5kIHBhcnNlIGFuIGV4dGVybmFsIHN1YnNldC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5FeHRlcm5hbElEPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIE5BTUUqIGNvbnRhaW5pbmcgdGhlIEV4dGVybmFsIElEIG9mIHRoZSBEVEQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlN5c3RlbUlEPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIE5BTUUqIGNvbnRhaW5pbmcgdGhlIFVSTCB0byB0aGUgRFREPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmVzdWx0aW5nIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRHRkUHRyIj54bWxEdGRQdHI8L2E+IG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxQYXJzZURvYyIgaWQ9InhtbFBhcnNlRG9jIj48L2E+RnVuY3Rpb246IHhtbFBhcnNlRG9jPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4JeG1sUGFyc2VEb2MJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjdXIpPGJyIC8+Cis8L3ByZT48cD5wYXJzZSBhbiBYTUwgaW4tbWVtb3J5IGRvY3VtZW50IGFuZCBidWlsZCBhIHRyZWUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gYW4gYXJyYXkgb2YgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmVzdWx0aW5nIGRvY3VtZW50IHRyZWU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxQYXJzZURvY3VtZW50IiBpZD0ieG1sUGFyc2VEb2N1bWVudCI+PC9hPkZ1bmN0aW9uOiB4bWxQYXJzZURvY3VtZW50PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFBhcnNlRG9jdW1lbnQJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPGJyIC8+Cis8L3ByZT48cD5wYXJzZSBhbiBYTUwgZG9jdW1lbnQgKGFuZCBidWlsZCBhIHRyZWUgaWYgdXNpbmcgdGhlIHN0YW5kYXJkIFNBWCBpbnRlcmZhY2UpLiBbMV0gZG9jdW1lbnQgOjo9IHByb2xvZyBlbGVtZW50IE1pc2MqIFsyMl0gcHJvbG9nIDo6PSBYTUxEZWNsPyBNaXNjKiAoZG9jdHlwZWRlY2wgTWlzYyopPzwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCwgLTEgaW4gY2FzZSBvZiBlcnJvci4gdGhlIHBhcnNlciBjb250ZXh0IGlzIGF1Z21lbnRlZCBhcyBhIHJlc3VsdCBvZiB0aGUgcGFyc2luZy48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxQYXJzZUVudGl0eSIgaWQ9InhtbFBhcnNlRW50aXR5Ij48L2E+RnVuY3Rpb246IHhtbFBhcnNlRW50aXR5PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4JeG1sUGFyc2VFbnRpdHkJCShjb25zdCBjaGFyICogZmlsZW5hbWUpPGJyIC8+Cis8L3ByZT48cD5wYXJzZSBhbiBYTUwgZXh0ZXJuYWwgZW50aXR5IG91dCBvZiBjb250ZXh0IGFuZCBidWlsZCBhIHRyZWUuIFs3OF0gZXh0UGFyc2VkRW50IDo6PSBUZXh0RGVjbD8gY29udGVudCBUaGlzIGNvcnJlc3BvbmQgdG8gYSAiV2VsbCBCYWxhbmNlZCIgY2h1bms8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlbmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZpbGVuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmVzdWx0aW5nIGRvY3VtZW50IHRyZWU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxQYXJzZUV4dFBhcnNlZEVudCIgaWQ9InhtbFBhcnNlRXh0UGFyc2VkRW50Ij48L2E+RnVuY3Rpb246IHhtbFBhcnNlRXh0UGFyc2VkRW50PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFBhcnNlRXh0UGFyc2VkRW50CQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTxiciAvPgorPC9wcmU+PHA+cGFyc2UgYSBnZW5lcmFsIHBhcnNlZCBlbnRpdHkgQW4gZXh0ZXJuYWwgZ2VuZXJhbCBwYXJzZWQgZW50aXR5IGlzIHdlbGwtZm9ybWVkIGlmIGl0IG1hdGNoZXMgdGhlIHByb2R1Y3Rpb24gbGFiZWxlZCBleHRQYXJzZWRFbnQuIFs3OF0gZXh0UGFyc2VkRW50IDo6PSBUZXh0RGVjbD8gY29udGVudDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCwgLTEgaW4gY2FzZSBvZiBlcnJvci4gdGhlIHBhcnNlciBjb250ZXh0IGlzIGF1Z21lbnRlZCBhcyBhIHJlc3VsdCBvZiB0aGUgcGFyc2luZy48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxQYXJzZUV4dGVybmFsRW50aXR5IiBpZD0ieG1sUGFyc2VFeHRlcm5hbEVudGl0eSI+PC9hPkZ1bmN0aW9uOiB4bWxQYXJzZUV4dGVybmFsRW50aXR5PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFBhcnNlRXh0ZXJuYWxFbnRpdHkJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sU0FYSGFuZGxlclB0ciI+eG1sU0FYSGFuZGxlclB0cjwvYT4gc2F4LCA8YnIgLz4JCQkJCSB2b2lkICogdXNlcl9kYXRhLCA8YnIgLz4JCQkJCSBpbnQgZGVwdGgsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIFVSTCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogSUQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gKiBsc3QpPGJyIC8+Cis8L3ByZT48cD5QYXJzZSBhbiBleHRlcm5hbCBnZW5lcmFsIGVudGl0eSBBbiBleHRlcm5hbCBnZW5lcmFsIHBhcnNlZCBlbnRpdHkgaXMgd2VsbC1mb3JtZWQgaWYgaXQgbWF0Y2hlcyB0aGUgcHJvZHVjdGlvbiBsYWJlbGVkIGV4dFBhcnNlZEVudC4gWzc4XSBleHRQYXJzZWRFbnQgOjo9IFRleHREZWNsPyBjb250ZW50PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQgdGhlIGNodW5rIHBlcnRhaW5zIHRvPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zYXg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBTQVggaGFuZGxlciBibG9jIChwb3NzaWJseSBOVUxMKTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dXNlcl9kYXRhPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5UaGUgdXNlciBkYXRhIHJldHVybmVkIG9uIFNBWCBjYWxsYmFja3MgKHBvc3NpYmx5IE5VTEwpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kZXB0aDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VXNlZCBmb3IgbG9vcCBkZXRlY3Rpb24sIHVzZSAwPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5VUkw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBVUkwgZm9yIHRoZSBlbnRpdHkgdG8gbG9hZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+SUQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBTeXN0ZW0gSUQgZm9yIHRoZSBlbnRpdHkgdG8gbG9hZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bHN0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmV0dXJuIHZhbHVlIGZvciB0aGUgc2V0IG9mIHBhcnNlZCBub2RlczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpZiB0aGUgZW50aXR5IGlzIHdlbGwgZm9ybWVkLCAtMSBpbiBjYXNlIG9mIGFyZ3MgcHJvYmxlbSBhbmQgdGhlIHBhcnNlciBlcnJvciBjb2RlIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFBhcnNlRmlsZSIgaWQ9InhtbFBhcnNlRmlsZSI+PC9hPkZ1bmN0aW9uOiB4bWxQYXJzZUZpbGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPgl4bWxQYXJzZUZpbGUJCShjb25zdCBjaGFyICogZmlsZW5hbWUpPGJyIC8+Cis8L3ByZT48cD5wYXJzZSBhbiBYTUwgZmlsZSBhbmQgYnVpbGQgYSB0cmVlLiBBdXRvbWF0aWMgc3VwcG9ydCBmb3IgWkxJQi9Db21wcmVzcyBjb21wcmVzc2VkIGRvY3VtZW50IGlzIHByb3ZpZGVkIGJ5IGRlZmF1bHQgaWYgZm91bmQgYXQgY29tcGlsZS10aW1lLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZpbGVuYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZmlsZW5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSByZXN1bHRpbmcgZG9jdW1lbnQgdHJlZSBpZiB0aGUgZmlsZSB3YXMgd2VsbGZvcm1lZCwgTlVMTCBvdGhlcndpc2UuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sUGFyc2VJbk5vZGVDb250ZXh0IiBpZD0ieG1sUGFyc2VJbk5vZGVDb250ZXh0Ij48L2E+RnVuY3Rpb246IHhtbFBhcnNlSW5Ob2RlQ29udGV4dDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxlcnJvci5odG1sI3htbFBhcnNlckVycm9ycyI+eG1sUGFyc2VyRXJyb3JzPC9hPgl4bWxQYXJzZUluTm9kZUNvbnRleHQJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGRhdGEsIDxiciAvPgkJCQkJIGludCBkYXRhbGVuLCA8YnIgLz4JCQkJCSBpbnQgb3B0aW9ucywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiAqIGxzdCk8YnIgLz4KKzwvcHJlPjxwPlBhcnNlIGEgd2VsbC1iYWxhbmNlZCBjaHVuayBvZiBhbiBYTUwgZG9jdW1lbnQgd2l0aGluIHRoZSBjb250ZXh0IChEVEQsIG5hbWVzcGFjZXMsIGV0YyAuLi4pIG9mIHRoZSBnaXZlbiBub2RlLiBUaGUgYWxsb3dlZCBzZXF1ZW5jZSBmb3IgdGhlIGRhdGEgaXMgYSBXZWxsIEJhbGFuY2VkIENodW5rIGRlZmluZWQgYnkgdGhlIGNvbnRlbnQgcHJvZHVjdGlvbiBpbiB0aGUgWE1MIGdyYW1tYXI6IFs0M10gY29udGVudCA6Oj0gKGVsZW1lbnQgfCBDaGFyRGF0YSB8IFJlZmVyZW5jZSB8IENEU2VjdCB8IFBJIHwgQ29tbWVudCkqPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGNvbnRleHQgbm9kZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGF0YTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGlucHV0IHN0cmluZzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGF0YWxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGlucHV0IHN0cmluZyBsZW5ndGggaW4gYnl0ZXM8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm9wdGlvbnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgY29tYmluYXRpb24gb2YgPGEgaHJlZj0ibGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlck9wdGlvbiI+eG1sUGFyc2VyT3B0aW9uPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bHN0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmV0dXJuIHZhbHVlIGZvciB0aGUgc2V0IG9mIHBhcnNlZCBub2RlczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+PGEgaHJlZj0ibGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9PSyI+WE1MX0VSUl9PSzwvYT4gaWYgdGhlIGNodW5rIGlzIHdlbGwgYmFsYW5jZWQsIGFuZCB0aGUgcGFyc2VyIGVycm9yIGNvZGUgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sUGFyc2VNZW1vcnkiIGlkPSJ4bWxQYXJzZU1lbW9yeSI+PC9hPkZ1bmN0aW9uOiB4bWxQYXJzZU1lbW9yeTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+CXhtbFBhcnNlTWVtb3J5CQkoY29uc3QgY2hhciAqIGJ1ZmZlciwgPGJyIC8+CQkJCQkgaW50IHNpemUpPGJyIC8+Cis8L3ByZT48cD5wYXJzZSBhbiBYTUwgaW4tbWVtb3J5IGJsb2NrIGFuZCBidWlsZCBhIHRyZWUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YnVmZmVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBwb2ludGVyIHRvIGEgY2hhciBhcnJheTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2l6ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHNpemUgb2YgdGhlIGFycmF5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmVzdWx0aW5nIGRvY3VtZW50IHRyZWU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxQYXJzZXJBZGROb2RlSW5mbyIgaWQ9InhtbFBhcnNlckFkZE5vZGVJbmZvIj48L2E+RnVuY3Rpb246IHhtbFBhcnNlckFkZE5vZGVJbmZvPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxQYXJzZXJBZGROb2RlSW5mbwkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlck5vZGVJbmZvUHRyIj54bWxQYXJzZXJOb2RlSW5mb1B0cjwvYT4gaW5mbyk8YnIgLz4KKzwvcHJlPjxwPkluc2VydCBub2RlIGluZm8gcmVjb3JkIGludG8gdGhlIHNvcnRlZCBzZXF1ZW5jZTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aW5mbzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBub2RlIGluZm8gc2VxdWVuY2UgcG9pbnRlcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFBhcnNlckZpbmROb2RlSW5mbyIgaWQ9InhtbFBhcnNlckZpbmROb2RlSW5mbyI+PC9hPkZ1bmN0aW9uOiB4bWxQYXJzZXJGaW5kTm9kZUluZm88L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5jb25zdCA8YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VyTm9kZUluZm8iPnhtbFBhcnNlck5vZGVJbmZvPC9hPiAqCXhtbFBhcnNlckZpbmROb2RlSW5mbwkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHgsIDxiciAvPgkJCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlKTxiciAvPgorPC9wcmU+PHA+RmluZCB0aGUgcGFyc2VyIG5vZGUgaW5mbyBzdHJ1Y3QgZm9yIGEgZ2l2ZW4gbm9kZTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgbm9kZSB3aXRoaW4gdGhlIHRyZWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIDxhIGhyZWY9ImxpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZXJOb2RlSW5mbyI+eG1sUGFyc2VyTm9kZUluZm88L2E+IGJsb2NrIHBvaW50ZXIgb3IgTlVMTDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFBhcnNlckZpbmROb2RlSW5mb0luZGV4IiBpZD0ieG1sUGFyc2VyRmluZE5vZGVJbmZvSW5kZXgiPjwvYT5GdW5jdGlvbjogeG1sUGFyc2VyRmluZE5vZGVJbmZvSW5kZXg8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj51bnNpZ25lZCBsb25nCXhtbFBhcnNlckZpbmROb2RlSW5mb0luZGV4CShjb25zdCA8YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VyTm9kZUluZm9TZXFQdHIiPnhtbFBhcnNlck5vZGVJbmZvU2VxUHRyPC9hPiBzZXEsIDxiciAvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUpPGJyIC8+Cis8L3ByZT48cD48YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VyRmluZE5vZGVJbmZvSW5kZXgiPnhtbFBhcnNlckZpbmROb2RlSW5mb0luZGV4PC9hPiA6IEZpbmQgdGhlIGluZGV4IHRoYXQgdGhlIGluZm8gcmVjb3JkIGZvciB0aGUgZ2l2ZW4gbm9kZSBpcyBvciBzaG91bGQgYmUgYXQgaW4gYSBzb3J0ZWQgc2VxdWVuY2U8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zZXE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbm9kZSBpbmZvIHNlcXVlbmNlIHBvaW50ZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBub2RlIHBvaW50ZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbG9uZyBpbmRpY2F0aW5nIHRoZSBwb3NpdGlvbiBvZiB0aGUgcmVjb3JkPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sUGFyc2VySW5wdXREZWFsbG9jYXRlIiBpZD0ieG1sUGFyc2VySW5wdXREZWFsbG9jYXRlIj48L2E+RnVuY3Rpb24gdHlwZTogeG1sUGFyc2VySW5wdXREZWFsbG9jYXRlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RnVuY3Rpb24gdHlwZTogeG1sUGFyc2VySW5wdXREZWFsbG9jYXRlCit2b2lkCXhtbFBhcnNlcklucHV0RGVhbGxvY2F0ZQkoPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3RyKQorPC9wcmU+PHA+Q2FsbGJhY2sgZm9yIGZyZWVpbmcgc29tZSBwYXJzZXIgaW5wdXQgYWxsb2NhdGlvbnMuPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHN0cmluZyB0byBkZWFsbG9jYXRlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48YnIgLz4KKzxoMz48YSBuYW1lPSJ4bWxQYXJzZXJJbnB1dEdyb3ciIGlkPSJ4bWxQYXJzZXJJbnB1dEdyb3ciPjwvYT5GdW5jdGlvbjogeG1sUGFyc2VySW5wdXRHcm93PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFBhcnNlcklucHV0R3JvdwkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRQdHIiPnhtbFBhcnNlcklucHV0UHRyPC9hPiBpbiwgPGJyIC8+CQkJCQkgaW50IGxlbik8YnIgLz4KKzwvcHJlPjxwPlRoaXMgZnVuY3Rpb24gaW5jcmVhc2UgdGhlIGlucHV0IGZvciB0aGUgcGFyc2VyLiBJdCB0cmllcyB0byBwcmVzZXJ2ZSBwb2ludGVycyB0byB0aGUgaW5wdXQgYnVmZmVyLCBhbmQga2VlcCBhbHJlYWR5IHJlYWQgZGF0YTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmluPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGlucHV0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIGluZGljYXRpdmUgc2l6ZSBmb3IgdGhlIGxvb2thaGVhZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGFtb3VudCBvZiBjaGFyIHJlYWQsIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IsIDAgaW5kaWNhdGUgdGhlIGVuZCBvZiB0aGlzIGVudGl0eTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFBhcnNlcklucHV0UmVhZCIgaWQ9InhtbFBhcnNlcklucHV0UmVhZCI+PC9hPkZ1bmN0aW9uOiB4bWxQYXJzZXJJbnB1dFJlYWQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sUGFyc2VySW5wdXRSZWFkCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dFB0ciI+eG1sUGFyc2VySW5wdXRQdHI8L2E+IGluLCA8YnIgLz4JCQkJCSBpbnQgbGVuKTxiciAvPgorPC9wcmU+PHA+VGhpcyBmdW5jdGlvbiB3YXMgaW50ZXJuYWwgYW5kIGlzIGRlcHJlY2F0ZWQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgaW5wdXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gaW5kaWNhdGl2ZSBzaXplIGZvciB0aGUgbG9va2FoZWFkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4tMSBhcyB0aGlzIGlzIGFuIGVycm9yIHRvIHVzZSBpdC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxQZWRhbnRpY1BhcnNlckRlZmF1bHQiIGlkPSJ4bWxQZWRhbnRpY1BhcnNlckRlZmF1bHQiPjwvYT5GdW5jdGlvbjogeG1sUGVkYW50aWNQYXJzZXJEZWZhdWx0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFBlZGFudGljUGFyc2VyRGVmYXVsdAkoaW50IHZhbCk8YnIgLz4KKzwvcHJlPjxwPlNldCBhbmQgcmV0dXJuIHRoZSBwcmV2aW91cyB2YWx1ZSBmb3IgZW5hYmxpbmcgcGVkYW50aWMgd2FybmluZ3MuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5pbnQgMCBvciAxPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbGFzdCB2YWx1ZSBmb3IgMCBmb3Igbm8gc3Vic3RpdHV0aW9uLCAxIGZvciBzdWJzdGl0dXRpb24uPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sUmVhZERvYyIgaWQ9InhtbFJlYWREb2MiPjwvYT5GdW5jdGlvbjogeG1sUmVhZERvYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+CXhtbFJlYWREb2MJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjdXIsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBVUkwsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyIC8+CQkJCQkgaW50IG9wdGlvbnMpPGJyIC8+Cis8L3ByZT48cD5wYXJzZSBhbiBYTUwgaW4tbWVtb3J5IGRvY3VtZW50IGFuZCBidWlsZCBhIHRyZWUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gYSB6ZXJvIHRlcm1pbmF0ZWQgc3RyaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5VUkw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBiYXNlIFVSTCB0byB1c2UgZm9yIHRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jb2Rpbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3B0aW9uczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBjb21iaW5hdGlvbiBvZiA8YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VyT3B0aW9uIj54bWxQYXJzZXJPcHRpb248L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmVzdWx0aW5nIGRvY3VtZW50IHRyZWU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxSZWFkRmQiIGlkPSJ4bWxSZWFkRmQiPjwvYT5GdW5jdGlvbjogeG1sUmVhZEZkPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4JeG1sUmVhZEZkCQkoaW50IGZkLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogVVJMLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcsIDxiciAvPgkJCQkJIGludCBvcHRpb25zKTxiciAvPgorPC9wcmU+PHA+cGFyc2UgYW4gWE1MIGZyb20gYSBmaWxlIGRlc2NyaXB0b3IgYW5kIGJ1aWxkIGEgdHJlZS4gTk9URSB0aGF0IHRoZSBmaWxlIGRlc2NyaXB0b3Igd2lsbCBub3QgYmUgY2xvc2VkIHdoZW4gdGhlIHJlYWRlciBpcyBjbG9zZWQgb3IgcmVzZXQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5VUkw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBiYXNlIFVSTCB0byB1c2UgZm9yIHRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jb2Rpbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3B0aW9uczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBjb21iaW5hdGlvbiBvZiA8YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VyT3B0aW9uIj54bWxQYXJzZXJPcHRpb248L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmVzdWx0aW5nIGRvY3VtZW50IHRyZWU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxSZWFkRmlsZSIgaWQ9InhtbFJlYWRGaWxlIj48L2E+RnVuY3Rpb246IHhtbFJlYWRGaWxlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4JeG1sUmVhZEZpbGUJCShjb25zdCBjaGFyICogZmlsZW5hbWUsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyIC8+CQkJCQkgaW50IG9wdGlvbnMpPGJyIC8+Cis8L3ByZT48cD5wYXJzZSBhbiBYTUwgZmlsZSBmcm9tIHRoZSBmaWxlc3lzdGVtIG9yIHRoZSBuZXR3b3JrLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZpbGVuYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGZpbGUgb3IgVVJMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbmNvZGluZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50IGVuY29kaW5nLCBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vcHRpb25zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGNvbWJpbmF0aW9uIG9mIDxhIGhyZWY9ImxpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZXJPcHRpb24iPnhtbFBhcnNlck9wdGlvbjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSByZXN1bHRpbmcgZG9jdW1lbnQgdHJlZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFJlYWRJTyIgaWQ9InhtbFJlYWRJTyI+PC9hPkZ1bmN0aW9uOiB4bWxSZWFkSU88L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPgl4bWxSZWFkSU8JCSg8YSBocmVmPSJsaWJ4bWwteG1sSU8uaHRtbCN4bWxJbnB1dFJlYWRDYWxsYmFjayI+eG1sSW5wdXRSZWFkQ2FsbGJhY2s8L2E+IGlvcmVhZCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbElPLmh0bWwjeG1sSW5wdXRDbG9zZUNhbGxiYWNrIj54bWxJbnB1dENsb3NlQ2FsbGJhY2s8L2E+IGlvY2xvc2UsIDxiciAvPgkJCQkJIHZvaWQgKiBpb2N0eCwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIFVSTCwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nLCA8YnIgLz4JCQkJCSBpbnQgb3B0aW9ucyk8YnIgLz4KKzwvcHJlPjxwPnBhcnNlIGFuIFhNTCBkb2N1bWVudCBmcm9tIEkvTyBmdW5jdGlvbnMgYW5kIHNvdXJjZSBhbmQgYnVpbGQgYSB0cmVlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmlvcmVhZDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gSS9PIHJlYWQgZnVuY3Rpb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmlvY2xvc2U8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIEkvTyBjbG9zZSBmdW5jdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aW9jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIEkvTyBoYW5kbGVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5VUkw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBiYXNlIFVSTCB0byB1c2UgZm9yIHRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jb2Rpbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3B0aW9uczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBjb21iaW5hdGlvbiBvZiA8YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VyT3B0aW9uIj54bWxQYXJzZXJPcHRpb248L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmVzdWx0aW5nIGRvY3VtZW50IHRyZWU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxSZWFkTWVtb3J5IiBpZD0ieG1sUmVhZE1lbW9yeSI+PC9hPkZ1bmN0aW9uOiB4bWxSZWFkTWVtb3J5PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4JeG1sUmVhZE1lbW9yeQkJKGNvbnN0IGNoYXIgKiBidWZmZXIsIDxiciAvPgkJCQkJIGludCBzaXplLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogVVJMLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcsIDxiciAvPgkJCQkJIGludCBvcHRpb25zKTxiciAvPgorPC9wcmU+PHA+cGFyc2UgYW4gWE1MIGluLW1lbW9yeSBkb2N1bWVudCBhbmQgYnVpbGQgYSB0cmVlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmJ1ZmZlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIGEgY2hhciBhcnJheTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2l6ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHNpemUgb2YgdGhlIGFycmF5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5VUkw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBiYXNlIFVSTCB0byB1c2UgZm9yIHRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jb2Rpbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3B0aW9uczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBjb21iaW5hdGlvbiBvZiA8YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VyT3B0aW9uIj54bWxQYXJzZXJPcHRpb248L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmVzdWx0aW5nIGRvY3VtZW50IHRyZWU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxSZWNvdmVyRG9jIiBpZD0ieG1sUmVjb3ZlckRvYyI+PC9hPkZ1bmN0aW9uOiB4bWxSZWNvdmVyRG9jPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4JeG1sUmVjb3ZlckRvYwkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGN1cik8YnIgLz4KKzwvcHJlPjxwPnBhcnNlIGFuIFhNTCBpbi1tZW1vcnkgZG9jdW1lbnQgYW5kIGJ1aWxkIGEgdHJlZS4gSW4gdGhlIGNhc2UgdGhlIGRvY3VtZW50IGlzIG5vdCBXZWxsIEZvcm1lZCwgYSBhdHRlbXB0IHRvIGJ1aWxkIGEgdHJlZSBpcyB0cmllZCBhbnl3YXk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byBhbiBhcnJheSBvZiA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSByZXN1bHRpbmcgZG9jdW1lbnQgdHJlZSBvciBOVUxMIGluIGNhc2Ugb2YgZmFpbHVyZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFJlY292ZXJGaWxlIiBpZD0ieG1sUmVjb3ZlckZpbGUiPjwvYT5GdW5jdGlvbjogeG1sUmVjb3ZlckZpbGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPgl4bWxSZWNvdmVyRmlsZQkJKGNvbnN0IGNoYXIgKiBmaWxlbmFtZSk8YnIgLz4KKzwvcHJlPjxwPnBhcnNlIGFuIFhNTCBmaWxlIGFuZCBidWlsZCBhIHRyZWUuIEF1dG9tYXRpYyBzdXBwb3J0IGZvciBaTElCL0NvbXByZXNzIGNvbXByZXNzZWQgZG9jdW1lbnQgaXMgcHJvdmlkZWQgYnkgZGVmYXVsdCBpZiBmb3VuZCBhdCBjb21waWxlLXRpbWUuIEluIHRoZSBjYXNlIHRoZSBkb2N1bWVudCBpcyBub3QgV2VsbCBGb3JtZWQsIGl0IGF0dGVtcHRzIHRvIGJ1aWxkIGEgdHJlZSBhbnl3YXk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlbmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZpbGVuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmVzdWx0aW5nIGRvY3VtZW50IHRyZWUgb3IgTlVMTCBpbiBjYXNlIG9mIGZhaWx1cmU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxSZWNvdmVyTWVtb3J5IiBpZD0ieG1sUmVjb3Zlck1lbW9yeSI+PC9hPkZ1bmN0aW9uOiB4bWxSZWNvdmVyTWVtb3J5PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4JeG1sUmVjb3Zlck1lbW9yeQkoY29uc3QgY2hhciAqIGJ1ZmZlciwgPGJyIC8+CQkJCQkgaW50IHNpemUpPGJyIC8+Cis8L3ByZT48cD5wYXJzZSBhbiBYTUwgaW4tbWVtb3J5IGJsb2NrIGFuZCBidWlsZCBhIHRyZWUuIEluIHRoZSBjYXNlIHRoZSBkb2N1bWVudCBpcyBub3QgV2VsbCBGb3JtZWQsIGFuIGF0dGVtcHQgdG8gYnVpbGQgYSB0cmVlIGlzIHRyaWVkIGFueXdheTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmJ1ZmZlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gcG9pbnRlciB0byBhIGNoYXIgYXJyYXk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNpemU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzaXplIG9mIHRoZSBhcnJheTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHJlc3VsdGluZyBkb2N1bWVudCB0cmVlIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFNBWFBhcnNlRFREIiBpZD0ieG1sU0FYUGFyc2VEVEQiPjwvYT5GdW5jdGlvbjogeG1sU0FYUGFyc2VEVEQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbER0ZFB0ciI+eG1sRHRkUHRyPC9hPgl4bWxTQVhQYXJzZURURAkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sU0FYSGFuZGxlclB0ciI+eG1sU0FYSGFuZGxlclB0cjwvYT4gc2F4LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBFeHRlcm5hbElELCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBTeXN0ZW1JRCk8YnIgLz4KKzwvcHJlPjxwPkxvYWQgYW5kIHBhcnNlIGFuIGV4dGVybmFsIHN1YnNldC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zYXg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBTQVggaGFuZGxlciBibG9jazwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+RXh0ZXJuYWxJRDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBOQU1FKiBjb250YWluaW5nIHRoZSBFeHRlcm5hbCBJRCBvZiB0aGUgRFREPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5TeXN0ZW1JRDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBOQU1FKiBjb250YWluaW5nIHRoZSBVUkwgdG8gdGhlIERURDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHJlc3VsdGluZyA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbER0ZFB0ciI+eG1sRHRkUHRyPC9hPiBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU0FYUGFyc2VEb2MiIGlkPSJ4bWxTQVhQYXJzZURvYyI+PC9hPkZ1bmN0aW9uOiB4bWxTQVhQYXJzZURvYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+CXhtbFNBWFBhcnNlRG9jCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxTQVhIYW5kbGVyUHRyIj54bWxTQVhIYW5kbGVyUHRyPC9hPiBzYXgsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGN1ciwgPGJyIC8+CQkJCQkgaW50IHJlY292ZXJ5KTxiciAvPgorPC9wcmU+PHA+cGFyc2UgYW4gWE1MIGluLW1lbW9yeSBkb2N1bWVudCBhbmQgYnVpbGQgYSB0cmVlLiBJdCB1c2UgdGhlIGdpdmVuIFNBWCBmdW5jdGlvbiBibG9jayB0byBoYW5kbGUgdGhlIHBhcnNpbmcgY2FsbGJhY2suIElmIHNheCBpcyBOVUxMLCBmYWxsYmFjayB0byB0aGUgZGVmYXVsdCBET00gdHJlZSBidWlsZGluZyByb3V0aW5lcy48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zYXg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBTQVggaGFuZGxlciBibG9jazwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gYW4gYXJyYXkgb2YgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWNvdmVyeTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+d29yayBpbiByZWNvdmVyeSBtb2RlLCBpLmUuIHRyaWVzIHRvIHJlYWQgbm8gV2VsbCBGb3JtZWQgZG9jdW1lbnRzPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmVzdWx0aW5nIGRvY3VtZW50IHRyZWU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTQVhQYXJzZUVudGl0eSIgaWQ9InhtbFNBWFBhcnNlRW50aXR5Ij48L2E+RnVuY3Rpb246IHhtbFNBWFBhcnNlRW50aXR5PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4JeG1sU0FYUGFyc2VFbnRpdHkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sU0FYSGFuZGxlclB0ciI+eG1sU0FYSGFuZGxlclB0cjwvYT4gc2F4LCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogZmlsZW5hbWUpPGJyIC8+Cis8L3ByZT48cD5wYXJzZSBhbiBYTUwgZXh0ZXJuYWwgZW50aXR5IG91dCBvZiBjb250ZXh0IGFuZCBidWlsZCBhIHRyZWUuIEl0IHVzZSB0aGUgZ2l2ZW4gU0FYIGZ1bmN0aW9uIGJsb2NrIHRvIGhhbmRsZSB0aGUgcGFyc2luZyBjYWxsYmFjay4gSWYgc2F4IGlzIE5VTEwsIGZhbGxiYWNrIHRvIHRoZSBkZWZhdWx0IERPTSB0cmVlIGJ1aWxkaW5nIHJvdXRpbmVzLiBbNzhdIGV4dFBhcnNlZEVudCA6Oj0gVGV4dERlY2w/IGNvbnRlbnQgVGhpcyBjb3JyZXNwb25kIHRvIGEgIldlbGwgQmFsYW5jZWQiIGNodW5rPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2F4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgU0FYIGhhbmRsZXIgYmxvY2s8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZpbGVuYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZmlsZW5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSByZXN1bHRpbmcgZG9jdW1lbnQgdHJlZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFNBWFBhcnNlRmlsZSIgaWQ9InhtbFNBWFBhcnNlRmlsZSI+PC9hPkZ1bmN0aW9uOiB4bWxTQVhQYXJzZUZpbGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPgl4bWxTQVhQYXJzZUZpbGUJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFNBWEhhbmRsZXJQdHIiPnhtbFNBWEhhbmRsZXJQdHI8L2E+IHNheCwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGZpbGVuYW1lLCA8YnIgLz4JCQkJCSBpbnQgcmVjb3ZlcnkpPGJyIC8+Cis8L3ByZT48cD5wYXJzZSBhbiBYTUwgZmlsZSBhbmQgYnVpbGQgYSB0cmVlLiBBdXRvbWF0aWMgc3VwcG9ydCBmb3IgWkxJQi9Db21wcmVzcyBjb21wcmVzc2VkIGRvY3VtZW50IGlzIHByb3ZpZGVkIGJ5IGRlZmF1bHQgaWYgZm91bmQgYXQgY29tcGlsZS10aW1lLiBJdCB1c2UgdGhlIGdpdmVuIFNBWCBmdW5jdGlvbiBibG9jayB0byBoYW5kbGUgdGhlIHBhcnNpbmcgY2FsbGJhY2suIElmIHNheCBpcyBOVUxMLCBmYWxsYmFjayB0byB0aGUgZGVmYXVsdCBET00gdHJlZSBidWlsZGluZyByb3V0aW5lcy48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zYXg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBTQVggaGFuZGxlciBibG9jazwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmlsZW5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmaWxlbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVjb3Zlcnk8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPndvcmsgaW4gcmVjb3ZlcnkgbW9kZSwgaS5lLiB0cmllcyB0byByZWFkIG5vIFdlbGwgRm9ybWVkIGRvY3VtZW50czwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHJlc3VsdGluZyBkb2N1bWVudCB0cmVlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU0FYUGFyc2VGaWxlV2l0aERhdGEiIGlkPSJ4bWxTQVhQYXJzZUZpbGVXaXRoRGF0YSI+PC9hPkZ1bmN0aW9uOiB4bWxTQVhQYXJzZUZpbGVXaXRoRGF0YTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+CXhtbFNBWFBhcnNlRmlsZVdpdGhEYXRhCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFNBWEhhbmRsZXJQdHIiPnhtbFNBWEhhbmRsZXJQdHI8L2E+IHNheCwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGZpbGVuYW1lLCA8YnIgLz4JCQkJCSBpbnQgcmVjb3ZlcnksIDxiciAvPgkJCQkJIHZvaWQgKiBkYXRhKTxiciAvPgorPC9wcmU+PHA+cGFyc2UgYW4gWE1MIGZpbGUgYW5kIGJ1aWxkIGEgdHJlZS4gQXV0b21hdGljIHN1cHBvcnQgZm9yIFpMSUIvQ29tcHJlc3MgY29tcHJlc3NlZCBkb2N1bWVudCBpcyBwcm92aWRlZCBieSBkZWZhdWx0IGlmIGZvdW5kIGF0IGNvbXBpbGUtdGltZS4gSXQgdXNlIHRoZSBnaXZlbiBTQVggZnVuY3Rpb24gYmxvY2sgdG8gaGFuZGxlIHRoZSBwYXJzaW5nIGNhbGxiYWNrLiBJZiBzYXggaXMgTlVMTCwgZmFsbGJhY2sgdG8gdGhlIGRlZmF1bHQgRE9NIHRyZWUgYnVpbGRpbmcgcm91dGluZXMuIFVzZXIgZGF0YSAodm9pZCAqKSBpcyBzdG9yZWQgd2l0aGluIHRoZSBwYXJzZXIgY29udGV4dCBpbiB0aGUgY29udGV4dCdzIF9wcml2YXRlIG1lbWJlciwgc28gaXQgaXMgYXZhaWxhYmxlIG5lYXJseSBldmVyeXdoZXJlIGluIGxpYnhtbDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNheDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFNBWCBoYW5kbGVyIGJsb2NrPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlbmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZpbGVuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWNvdmVyeTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+d29yayBpbiByZWNvdmVyeSBtb2RlLCBpLmUuIHRyaWVzIHRvIHJlYWQgbm8gV2VsbCBGb3JtZWQgZG9jdW1lbnRzPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kYXRhPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlcmRhdGE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSByZXN1bHRpbmcgZG9jdW1lbnQgdHJlZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFNBWFBhcnNlTWVtb3J5IiBpZD0ieG1sU0FYUGFyc2VNZW1vcnkiPjwvYT5GdW5jdGlvbjogeG1sU0FYUGFyc2VNZW1vcnk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPgl4bWxTQVhQYXJzZU1lbW9yeQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxTQVhIYW5kbGVyUHRyIj54bWxTQVhIYW5kbGVyUHRyPC9hPiBzYXgsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBidWZmZXIsIDxiciAvPgkJCQkJIGludCBzaXplLCA8YnIgLz4JCQkJCSBpbnQgcmVjb3ZlcnkpPGJyIC8+Cis8L3ByZT48cD5wYXJzZSBhbiBYTUwgaW4tbWVtb3J5IGJsb2NrIGFuZCB1c2UgdGhlIGdpdmVuIFNBWCBmdW5jdGlvbiBibG9jayB0byBoYW5kbGUgdGhlIHBhcnNpbmcgY2FsbGJhY2suIElmIHNheCBpcyBOVUxMLCBmYWxsYmFjayB0byB0aGUgZGVmYXVsdCBET00gdHJlZSBidWlsZGluZyByb3V0aW5lcy48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zYXg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBTQVggaGFuZGxlciBibG9jazwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YnVmZmVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBwb2ludGVyIHRvIGEgY2hhciBhcnJheTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2l6ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHNpemUgb2YgdGhlIGFycmF5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWNvdmVyeTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+d29yayBpbiByZWNvdmVyeSBtb2RlLCBpLmUuIHRyaWVzIHRvIHJlYWQgbm90IFdlbGwgRm9ybWVkIGRvY3VtZW50czwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHJlc3VsdGluZyBkb2N1bWVudCB0cmVlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU0FYUGFyc2VNZW1vcnlXaXRoRGF0YSIgaWQ9InhtbFNBWFBhcnNlTWVtb3J5V2l0aERhdGEiPjwvYT5GdW5jdGlvbjogeG1sU0FYUGFyc2VNZW1vcnlXaXRoRGF0YTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+CXhtbFNBWFBhcnNlTWVtb3J5V2l0aERhdGEJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sU0FYSGFuZGxlclB0ciI+eG1sU0FYSGFuZGxlclB0cjwvYT4gc2F4LCA8YnIgLz4JCQkJCQkgY29uc3QgY2hhciAqIGJ1ZmZlciwgPGJyIC8+CQkJCQkJIGludCBzaXplLCA8YnIgLz4JCQkJCQkgaW50IHJlY292ZXJ5LCA8YnIgLz4JCQkJCQkgdm9pZCAqIGRhdGEpPGJyIC8+Cis8L3ByZT48cD5wYXJzZSBhbiBYTUwgaW4tbWVtb3J5IGJsb2NrIGFuZCB1c2UgdGhlIGdpdmVuIFNBWCBmdW5jdGlvbiBibG9jayB0byBoYW5kbGUgdGhlIHBhcnNpbmcgY2FsbGJhY2suIElmIHNheCBpcyBOVUxMLCBmYWxsYmFjayB0byB0aGUgZGVmYXVsdCBET00gdHJlZSBidWlsZGluZyByb3V0aW5lcy4gVXNlciBkYXRhICh2b2lkICopIGlzIHN0b3JlZCB3aXRoaW4gdGhlIHBhcnNlciBjb250ZXh0IGluIHRoZSBjb250ZXh0J3MgX3ByaXZhdGUgbWVtYmVyLCBzbyBpdCBpcyBhdmFpbGFibGUgbmVhcmx5IGV2ZXJ5d2hlcmUgaW4gbGlieG1sPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2F4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgU0FYIGhhbmRsZXIgYmxvY2s8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmJ1ZmZlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gcG9pbnRlciB0byBhIGNoYXIgYXJyYXk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNpemU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzaXplIG9mIHRoZSBhcnJheTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVjb3Zlcnk8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPndvcmsgaW4gcmVjb3ZlcnkgbW9kZSwgaS5lLiB0cmllcyB0byByZWFkIG5vIFdlbGwgRm9ybWVkIGRvY3VtZW50czwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGF0YTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHVzZXJkYXRhPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmVzdWx0aW5nIGRvY3VtZW50IHRyZWU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTQVhVc2VyUGFyc2VGaWxlIiBpZD0ieG1sU0FYVXNlclBhcnNlRmlsZSI+PC9hPkZ1bmN0aW9uOiB4bWxTQVhVc2VyUGFyc2VGaWxlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFNBWFVzZXJQYXJzZUZpbGUJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFNBWEhhbmRsZXJQdHIiPnhtbFNBWEhhbmRsZXJQdHI8L2E+IHNheCwgPGJyIC8+CQkJCQkgdm9pZCAqIHVzZXJfZGF0YSwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGZpbGVuYW1lKTxiciAvPgorPC9wcmU+PHA+cGFyc2UgYW4gWE1MIGZpbGUgYW5kIGNhbGwgdGhlIGdpdmVuIFNBWCBoYW5kbGVyIHJvdXRpbmVzLiBBdXRvbWF0aWMgc3VwcG9ydCBmb3IgWkxJQi9Db21wcmVzcyBjb21wcmVzc2VkIGRvY3VtZW50IGlzIHByb3ZpZGVkPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2F4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIFNBWCBoYW5kbGVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD51c2VyX2RhdGE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlRoZSB1c2VyIGRhdGEgcmV0dXJuZWQgb24gU0FYIGNhbGxiYWNrczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmlsZW5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgZmlsZSBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGluIGNhc2Ugb2Ygc3VjY2VzcyBvciBhIGVycm9yIG51bWJlciBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTQVhVc2VyUGFyc2VNZW1vcnkiIGlkPSJ4bWxTQVhVc2VyUGFyc2VNZW1vcnkiPjwvYT5GdW5jdGlvbjogeG1sU0FYVXNlclBhcnNlTWVtb3J5PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFNBWFVzZXJQYXJzZU1lbW9yeQkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sU0FYSGFuZGxlclB0ciI+eG1sU0FYSGFuZGxlclB0cjwvYT4gc2F4LCA8YnIgLz4JCQkJCSB2b2lkICogdXNlcl9kYXRhLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogYnVmZmVyLCA8YnIgLz4JCQkJCSBpbnQgc2l6ZSk8YnIgLz4KKzwvcHJlPjxwPkEgYmV0dGVyIFNBWCBwYXJzaW5nIHJvdXRpbmUuIHBhcnNlIGFuIFhNTCBpbi1tZW1vcnkgYnVmZmVyIGFuZCBjYWxsIHRoZSBnaXZlbiBTQVggaGFuZGxlciByb3V0aW5lcy48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zYXg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgU0FYIGhhbmRsZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnVzZXJfZGF0YTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VGhlIHVzZXIgZGF0YSByZXR1cm5lZCBvbiBTQVggY2FsbGJhY2tzPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5idWZmZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIGluLW1lbW9yeSBYTUwgZG9jdW1lbnQgaW5wdXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNpemU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsZW5ndGggb2YgdGhlIFhNTCBkb2N1bWVudCBpbiBieXRlczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpbiBjYXNlIG9mIHN1Y2Nlc3Mgb3IgYSBlcnJvciBudW1iZXIgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU2V0RXh0ZXJuYWxFbnRpdHlMb2FkZXIiIGlkPSJ4bWxTZXRFeHRlcm5hbEVudGl0eUxvYWRlciI+PC9hPkZ1bmN0aW9uOiB4bWxTZXRFeHRlcm5hbEVudGl0eUxvYWRlcjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sU2V0RXh0ZXJuYWxFbnRpdHlMb2FkZXIJKDxhIGhyZWY9ImxpYnhtbC1wYXJzZXIuaHRtbCN4bWxFeHRlcm5hbEVudGl0eUxvYWRlciI+eG1sRXh0ZXJuYWxFbnRpdHlMb2FkZXI8L2E+IGYpPGJyIC8+Cis8L3ByZT48cD5DaGFuZ2VzIHRoZSBkZWZhdWx0ZXh0ZXJuYWwgZW50aXR5IHJlc29sdmVyIGZ1bmN0aW9uIGZvciB0aGUgYXBwbGljYXRpb248L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IGVudGl0eSByZXNvbHZlciBmdW5jdGlvbjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFNldEZlYXR1cmUiIGlkPSJ4bWxTZXRGZWF0dXJlIj48L2E+RnVuY3Rpb246IHhtbFNldEZlYXR1cmU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sU2V0RmVhdHVyZQkJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBuYW1lLCA8YnIgLz4JCQkJCSB2b2lkICogdmFsdWUpPGJyIC8+Cis8L3ByZT48cD5DaGFuZ2UgdGhlIGN1cnJlbnQgdmFsdWUgb2Ygb25lIGZlYXR1cmUgb2YgdGhpcyBwYXJzZXIgaW5zdGFuY2U8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwvSFRNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZlYXR1cmUgbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsdWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnBvaW50ZXIgdG8gdGhlIGxvY2F0aW9uIG9mIHRoZSBuZXcgdmFsdWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPi0xIGluIGNhc2Ugb3IgZXJyb3IsIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU2V0dXBQYXJzZXJGb3JCdWZmZXIiIGlkPSJ4bWxTZXR1cFBhcnNlckZvckJ1ZmZlciI+PC9hPkZ1bmN0aW9uOiB4bWxTZXR1cFBhcnNlckZvckJ1ZmZlcjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sU2V0dXBQYXJzZXJGb3JCdWZmZXIJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGJ1ZmZlciwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGZpbGVuYW1lKTxiciAvPgorPC9wcmU+PHA+U2V0dXAgdGhlIHBhcnNlciBjb250ZXh0IHRvIHBhcnNlIGEgbmV3IGJ1ZmZlcjsgQ2xlYXJzIGFueSBwcmlvciBjb250ZW50cyBmcm9tIHRoZSBwYXJzZXIgY29udGV4dC4gVGhlIGJ1ZmZlciBwYXJhbWV0ZXIgbXVzdCBub3QgYmUgTlVMTCwgYnV0IHRoZSBmaWxlbmFtZSBwYXJhbWV0ZXIgY2FuIGJlPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5idWZmZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogYnVmZmVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlbmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBmaWxlIG5hbWU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTdG9wUGFyc2VyIiBpZD0ieG1sU3RvcFBhcnNlciI+PC9hPkZ1bmN0aW9uOiB4bWxTdG9wUGFyc2VyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxTdG9wUGFyc2VyCQkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8YnIgLz4KKzwvcHJlPjxwPkJsb2NrcyBmdXJ0aGVyIHBhcnNlciBwcm9jZXNzaW5nPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdCIgaWQ9InhtbFN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHQiPjwvYT5GdW5jdGlvbjogeG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0CShpbnQgdmFsKTxiciAvPgorPC9wcmU+PHA+U2V0IGFuZCByZXR1cm4gdGhlIHByZXZpb3VzIHZhbHVlIGZvciBkZWZhdWx0IGVudGl0eSBzdXBwb3J0LiBJbml0aWFsbHkgdGhlIHBhcnNlciBhbHdheXMga2VlcCBlbnRpdHkgcmVmZXJlbmNlcyBpbnN0ZWFkIG9mIHN1YnN0aXR1dGluZyBlbnRpdHkgdmFsdWVzIGluIHRoZSBvdXRwdXQuIFRoaXMgZnVuY3Rpb24gaGFzIHRvIGJlIHVzZWQgdG8gY2hhbmdlIHRoZSBkZWZhdWx0IHBhcnNlciBiZWhhdmlvciBTQVg6OnN1YnN0aXR1dGVFbnRpdGllcygpIGhhcyB0byBiZSB1c2VkIGZvciBjaGFuZ2luZyB0aGF0IG9uIGEgZmlsZSBieSBmaWxlIGJhc2lzLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+aW50IDAgb3IgMTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxhc3QgdmFsdWUgZm9yIDAgZm9yIG5vIHN1YnN0aXR1dGlvbiwgMSBmb3Igc3Vic3RpdHV0aW9uLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PHA+PGEgaHJlZj0iLi4vYnVncy5odG1sIj5EYW5pZWwgVmVpbGxhcmQ8L2E+PC9wPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9odG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCBiL2xpYnhtbDIvZG9jL2h0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRkMTI5MmIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9odG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbApAQCAtMCwwICsxLDMyMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIj4KKzxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj48aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz48bGluayByZWw9IlNIT1JUQ1VUIElDT04iIGhyZWY9Ii9mYXZpY29uLmljbyIgLz48c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorVEQge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0JPRFkge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYTsgbWFyZ2luLXRvcDogMmVtOyBtYXJnaW4tbGVmdDogMGVtOyBtYXJnaW4tcmlnaHQ6IDBlbX0KK0gxIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMiB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDMge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0E6bGluaywgQTp2aXNpdGVkLCBBOmFjdGl2ZSB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIH0KKzwvc3R5bGU+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKyAgICAgIGRpdi5kZXByZWNhdGVkIHByZS5wcm9ncmFtbGlzdGluZyB7Ym9yZGVyLXN0eWxlOiBkb3VibGU7Ym9yZGVyLWNvbG9yOnJlZH0KKyAgICAgIHByZS5wcm9ncmFtbGlzdGluZyB7Ym9yZGVyLXN0eWxlOiBkb3VibGU7YmFja2dyb3VuZDogI0VFQ0ZBMX0KKyAgICA8L3N0eWxlPjx0aXRsZT5Nb2R1bGUgcGFyc2VySW50ZXJuYWxzIGZyb20gbGlieG1sMjwvdGl0bGU+PC9oZWFkPjxib2R5IGJnY29sb3I9IiM4Yjc3NjUiIHRleHQ9IiMwMDAwMDAiIGxpbms9IiNhMDYwNjAiIHZsaW5rPSIjMDAwMDAwIj48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iMTAwJSIgY2VsbHBhZGRpbmc9IjUiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIHdpZHRoPSIxMjAiPjxhIGhyZWY9Imh0dHA6Ly9zd3BhdC5mZmlpLm9yZy8iPjxpbWcgc3JjPSIuLi9lcGF0ZW50cy5wbmciIGFsdD0iQWN0aW9uIGFnYWluc3Qgc29mdHdhcmUgcGF0ZW50cyIgLz48L2E+PC90ZD48dGQgd2lkdGg9IjE4MCI+PGEgaHJlZj0iaHR0cDovL3d3dy5nbm9tZS5vcmcvIj48aW1nIHNyYz0iLi4vZ25vbWUyLnBuZyIgYWx0PSJHbm9tZTIgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvU3RhdHVzIj48aW1nIHNyYz0iLi4vdzNjLnBuZyIgYWx0PSJXM0MgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy5yZWRoYXQuY29tLyI+PGltZyBzcmM9Ii4uL3JlZGhhdC5naWYiIGFsdD0iUmVkIEhhdCBMb2dvIiAvPjwvYT48ZGl2IGFsaWduPSJsZWZ0Ij48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvIj48aW1nIHNyYz0iLi4vTGlieG1sMi1Mb2dvLTE4MHgxNjguZ2lmIiBhbHQ9Ik1hZGUgd2l0aCBMaWJ4bWwyIExvZ28iIC8+PC9hPjwvZGl2PjwvdGQ+PHRkPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSI5MCUiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIiBiZ2NvbG9yPSIjZmZmYWNkIj48dHI+PHRkIGFsaWduPSJjZW50ZXIiPjxoMT48L2gxPjxoMj5Nb2R1bGUgcGFyc2VySW50ZXJuYWxzIGZyb20gbGlieG1sMjwvaDI+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjQiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiIHdpZHRoPSIxMDAlIj48dHI+PHRkIHZhbGlnbj0idG9wIiB3aWR0aD0iMjAwIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5BUEkgTWVudTwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48Zm9ybSBhY3Rpb249Ii4uL3NlYXJjaC5waHAiIGVuY3R5cGU9ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIgbWV0aG9kPSJnZXQiPjxpbnB1dCBuYW1lPSJxdWVyeSIgdHlwZT0idGV4dCIgc2l6ZT0iMjAiIHZhbHVlPSIiIC8+PGlucHV0IG5hbWU9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU2VhcmNoIC4uLiIgLz48L2Zvcm0+PHVsPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iLi4vaW5kZXguaHRtbCI+TWFpbiBNZW51PC9hPjwvbGk+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSIuLi9kb2NzLmh0bWwiPkRldmVsb3BlciBNZW51PC9hPjwvbGk+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSIuLi9leGFtcGxlcy9pbmRleC5odG1sIj5Db2RlIEV4YW1wbGVzPC9hPjwvbGk+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSJpbmRleC5odG1sIj5BUEkgTWVudTwvYT48L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwiPlBhcnNlciBBUEk8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCI+VHJlZSBBUEk8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sIj5SZWFkZXIgQVBJPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL2d1aWRlbGluZXMuaHRtbCI+WE1MIEd1aWRlbGluZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQ2hhbmdlTG9nLmh0bWwiPkNoYW5nZUxvZzwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPkFQSSBJbmRleGVzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iLi4vQVBJY2h1bmswLmh0bWwiPkFscGhhYmV0aWM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJY29uc3RydWN0b3JzLmh0bWwiPkNvbnN0cnVjdG9yczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUElmdW5jdGlvbnMuaHRtbCI+RnVuY3Rpb25zL1R5cGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSWZpbGVzLmh0bWwiPk1vZHVsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJc3ltYm9scy5odG1sIj5TeW1ib2xzPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+UmVsYXRlZCBsaW5rczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9Imh0dHA6Ly9tYWlsLmdub21lLm9yZy9hcmNoaXZlcy94bWwvIj5NYWlsIGFyY2hpdmU8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnL1hTTFQvIj5YU0xUIGxpYnhzbHQ8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3BoZC5jcy51bmliby5pdC9nZG9tZTIvIj5ET00gZ2RvbWUyPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuYWxla3NleS5jb20veG1sc2VjLyI+WE1MLURTaWcgeG1sc2VjPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImZ0cDovL3htbHNvZnQub3JnLyI+RlRQPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemxhdGtvdmljLmNvbS9wcm9qZWN0cy9saWJ4bWwvIj5XaW5kb3dzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9vcGVuY3N3Lm9yZy9wYWNrYWdlcy9saWJ4bWwyIj5Tb2xhcmlzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuZXhwbGFpbi5jb20uYXUvb3NzL2xpYnhtbDJ4c2x0Lmh0bWwiPk1hY09zWCBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbHhtbC5kZS8iPmx4bWwgUHl0aG9uIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9jcGFuLnV3aW5uaXBlZy5jYS9kaXN0L1hNTC1MaWJYTUwiPlBlcmwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbHBsdXNwbHVzLnNvdXJjZWZvcmdlLm5ldC8iPkMrKyBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnplbmQuY29tL3BocDUvYXJ0aWNsZXMvcGhwNS14bWxwaHAucGhwI0hlYWRpbmc0Ij5QSFAgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9saWJ4bWwyLXBhcy8iPlBhc2NhbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1sLnJ1Ynlmb3JnZS5vcmcvIj5SdWJ5IGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly90Y2x4bWwuc291cmNlZm9yZ2UubmV0LyI+VGNsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvYnVnbGlzdC5jZ2k/cHJvZHVjdD1saWJ4bWwyIj5CdWcgVHJhY2tlcjwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMyIgY2VsbHNwYWNpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx0YWJsZSBjbGFzcz0ibmF2aWdhdGlvbiIgd2lkdGg9IjEwMCUiIHN1bW1hcnk9Ik5hdmlnYXRpb24gaGVhZGVyIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjIiPjx0ciB2YWxpZ249Im1pZGRsZSI+PHRkPjxhIGFjY2Vzc2tleT0icCIgaHJlZj0ibGlieG1sLXBhcnNlci5odG1sIj48aW1nIHNyYz0ibGVmdC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlByZXYiIC8+PC9hPjwvdGQ+PHRoIGFsaWduPSJsZWZ0Ij48YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwiPnBhcnNlcjwvYT48L3RoPjx0ZD48YSBhY2Nlc3NrZXk9InUiIGhyZWY9ImluZGV4Lmh0bWwiPjxpbWcgc3JjPSJ1cC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlVwIiAvPjwvYT48L3RkPjx0aCBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iaW5kZXguaHRtbCI+QVBJIGRvY3VtZW50YXRpb248L2E+PC90aD48dGQ+PGEgYWNjZXNza2V5PSJoIiBocmVmPSIuLi9pbmRleC5odG1sIj48aW1nIHNyYz0iaG9tZS5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IkhvbWUiIC8+PC9hPjwvdGQ+PHRoIGFsaWduPSJjZW50ZXIiPjxhIGhyZWY9Ii4uL2luZGV4Lmh0bWwiPlRoZSBYTUwgQyBwYXJzZXIgYW5kIHRvb2xraXQgb2YgR25vbWU8L2E+PC90aD48dGggYWxpZ249InJpZ2h0Ij48YSBocmVmPSJsaWJ4bWwtcGF0dGVybi5odG1sIj5wYXR0ZXJuPC9hPjwvdGg+PHRkPjxhIGFjY2Vzc2tleT0ibiIgaHJlZj0ibGlieG1sLXBhdHRlcm4uaHRtbCI+PGltZyBzcmM9InJpZ2h0LnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iTmV4dCIgLz48L2E+PC90ZD48L3RyPjwvdGFibGU+PHA+dGhpcyBtb2R1bGUgZXhwb3J0cyBhIG51bWJlciBvZiBpbnRlcm5hbCBwYXJzaW5nIHJvdXRpbmVzIHRoZXkgYXJlIG5vdCByZWFsbHkgYWxsIGludGVuZGVkIGZvciBhcHBsaWNhdGlvbnMgYnV0IGNhbiBwcm92ZSB1c2VmdWwgZG9pbmcgbG93IGxldmVsIHByb2Nlc3NpbmcuIDwvcD48aDI+VGFibGUgb2YgQ29udGVudHM8L2gyPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNJTlBVVF9DSFVOSyI+SU5QVVRfQ0hVTks8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI0lTX0FTQ0lJX0RJR0lUIj5JU19BU0NJSV9ESUdJVDwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjSVNfQVNDSUlfTEVUVEVSIj5JU19BU0NJSV9MRVRURVI8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI0lTX0JBU0VDSEFSIj5JU19CQVNFQ0hBUjwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjSVNfQkxBTksiPklTX0JMQU5LPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNJU19CTEFOS19DSCI+SVNfQkxBTktfQ0g8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI0lTX0JZVEVfQ0hBUiI+SVNfQllURV9DSEFSPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNJU19DSEFSIj5JU19DSEFSPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNJU19DSEFSX0NIIj5JU19DSEFSX0NIPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNJU19DT01CSU5JTkciPklTX0NPTUJJTklORzwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjSVNfQ09NQklOSU5HX0NIIj5JU19DT01CSU5JTkdfQ0g8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI0lTX0RJR0lUIj5JU19ESUdJVDwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjSVNfRElHSVRfQ0giPklTX0RJR0lUX0NIPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNJU19FWFRFTkRFUiI+SVNfRVhURU5ERVI8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI0lTX0VYVEVOREVSX0NIIj5JU19FWFRFTkRFUl9DSDwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjSVNfSURFT0dSQVBISUMiPklTX0lERU9HUkFQSElDPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNJU19MRVRURVIiPklTX0xFVFRFUjwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjSVNfTEVUVEVSX0NIIj5JU19MRVRURVJfQ0g8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI0lTX1BVQklEQ0hBUiI+SVNfUFVCSURDSEFSPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNJU19QVUJJRENIQVJfQ0giPklTX1BVQklEQ0hBUl9DSDwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjTU9WRVRPX0VORFRBRyI+TU9WRVRPX0VORFRBRzwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjTU9WRVRPX1NUQVJUVEFHIj5NT1ZFVE9fU1RBUlRUQUc8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1NLSVBfRU9MIj5TS0lQX0VPTDwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX01BWF9ESUNUSU9OQVJZX0xJTUlUIj5YTUxfTUFYX0RJQ1RJT05BUllfTElNSVQ8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9NQVhfTE9PS1VQX0xJTUlUIj5YTUxfTUFYX0xPT0tVUF9MSU1JVDwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX01BWF9OQU1FTEVOIj5YTUxfTUFYX05BTUVMRU48L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9NQVhfTkFNRV9MRU5HVEgiPlhNTF9NQVhfTkFNRV9MRU5HVEg8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9NQVhfVEVYVF9MRU5HVEgiPlhNTF9NQVhfVEVYVF9MRU5HVEg8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TVUJTVElUVVRFX0JPVEgiPlhNTF9TVUJTVElUVVRFX0JPVEg8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TVUJTVElUVVRFX05PTkUiPlhNTF9TVUJTVElUVVRFX05PTkU8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TVUJTVElUVVRFX1BFUkVGIj5YTUxfU1VCU1RJVFVURV9QRVJFRjwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX1NVQlNUSVRVVEVfUkVGIj5YTUxfU1VCU1RJVFVURV9SRUY8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlckN0eHRQdHIiPmh0bWxQYXJzZXJDdHh0UHRyPC9hPgk8YSBocmVmPSIjaHRtbENyZWF0ZUZpbGVQYXJzZXJDdHh0Ij5odG1sQ3JlYXRlRmlsZVBhcnNlckN0eHQ8L2E+CShjb25zdCBjaGFyICogZmlsZW5hbWUsIDxiciAvPgkJCQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI2h0bWxJbml0QXV0b0Nsb3NlIj5odG1sSW5pdEF1dG9DbG9zZTwvYT4JCSh2b2lkKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRQdHIiPnhtbFBhcnNlcklucHV0UHRyPC9hPgk8YSBocmVmPSIjaW5wdXRQb3AiPmlucHV0UG9wPC9hPgkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjaW5wdXRQdXNoIj5pbnB1dFB1c2g8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dFB0ciI+eG1sUGFyc2VySW5wdXRQdHI8L2E+IHZhbHVlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiNuYW1lUG9wIj5uYW1lUG9wPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiNuYW1lUHVzaCI+bmFtZVB1c2g8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgk8YSBocmVmPSIjbm9kZVBvcCI+bm9kZVBvcDwvYT4JCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjbm9kZVB1c2giPm5vZGVQdXNoPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gdmFsdWUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxDaGVja0xhbmd1YWdlSUQiPnhtbENoZWNrTGFuZ3VhZ2VJRDwvYT4JCShjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBsYW5nKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sQ29weUNoYXIiPnhtbENvcHlDaGFyPC9hPgkJCShpbnQgbGVuLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBvdXQsIDxiciAvPgkJCQkJIGludCB2YWwpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxDb3B5Q2hhck11bHRpQnl0ZSI+eG1sQ29weUNoYXJNdWx0aUJ5dGU8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogb3V0LCA8YnIgLz4JCQkJCSBpbnQgdmFsKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4JPGEgaHJlZj0iI3htbENyZWF0ZUVudGl0eVBhcnNlckN0eHQiPnhtbENyZWF0ZUVudGl0eVBhcnNlckN0eHQ8L2E+CShjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBVUkwsIDxiciAvPgkJCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogSUQsIDxiciAvPgkJCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogYmFzZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+CTxhIGhyZWY9IiN4bWxDcmVhdGVGaWxlUGFyc2VyQ3R4dCI+eG1sQ3JlYXRlRmlsZVBhcnNlckN0eHQ8L2E+CShjb25zdCBjaGFyICogZmlsZW5hbWUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPgk8YSBocmVmPSIjeG1sQ3JlYXRlTWVtb3J5UGFyc2VyQ3R4dCI+eG1sQ3JlYXRlTWVtb3J5UGFyc2VyQ3R4dDwvYT4JKGNvbnN0IGNoYXIgKiBidWZmZXIsIDxiciAvPgkJCQkJCQkgaW50IHNpemUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPgk8YSBocmVmPSIjeG1sQ3JlYXRlVVJMUGFyc2VyQ3R4dCI+eG1sQ3JlYXRlVVJMUGFyc2VyQ3R4dDwvYT4JKGNvbnN0IGNoYXIgKiBmaWxlbmFtZSwgPGJyIC8+CQkJCQkJIGludCBvcHRpb25zKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sQ3VycmVudENoYXIiPnhtbEN1cnJlbnRDaGFyPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIGludCAqIGxlbik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sRGVjb2RlRW50aXRpZXMiPnhtbERlY29kZUVudGl0aWVzPC9hPgkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSBpbnQgbGVuLCA8YnIgLz4JCQkJCSBpbnQgd2hhdCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+IGVuZCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+IGVuZDIsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiBlbmQzKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkZ1bmN0aW9uIHR5cGU6IDxhIGhyZWY9IiN4bWxFbnRpdHlSZWZlcmVuY2VGdW5jIj54bWxFbnRpdHlSZWZlcmVuY2VGdW5jPC9hPgordm9pZAk8YSBocmVmPSIjeG1sRW50aXR5UmVmZXJlbmNlRnVuYyI+eG1sRW50aXR5UmVmZXJlbmNlRnVuYzwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVudGl0eVB0ciI+eG1sRW50aXR5UHRyPC9hPiBlbnQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gZmlyc3ROb2RlLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGxhc3ROb2RlKQorPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sRXJyTWVtb3J5Ij54bWxFcnJNZW1vcnk8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGV4dHJhKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbEZyZWVJbnB1dFN0cmVhbSI+eG1sRnJlZUlucHV0U3RyZWFtPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRQdHIiPnhtbFBhcnNlcklucHV0UHRyPC9hPiBpbnB1dCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxIYW5kbGVFbnRpdHkiPnhtbEhhbmRsZUVudGl0eTwvYT4JCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVudGl0eVB0ciI+eG1sRW50aXR5UHRyPC9hPiBlbnRpdHkpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxJc0xldHRlciI+eG1sSXNMZXR0ZXI8L2E+CQkJKGludCBjKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxOYW1lc3BhY2VQYXJzZU5DTmFtZSI+eG1sTmFtZXNwYWNlUGFyc2VOQ05hbWU8L2E+CSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbE5hbWVzcGFjZVBhcnNlTlNEZWYiPnhtbE5hbWVzcGFjZVBhcnNlTlNEZWY8L2E+CSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbE5hbWVzcGFjZVBhcnNlUU5hbWUiPnhtbE5hbWVzcGFjZVBhcnNlUU5hbWU8L2E+CSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqKiBwcmVmaXgpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dFB0ciI+eG1sUGFyc2VySW5wdXRQdHI8L2E+CTxhIGhyZWY9IiN4bWxOZXdFbnRpdHlJbnB1dFN0cmVhbSI+eG1sTmV3RW50aXR5SW5wdXRTdHJlYW08L2E+CSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVudGl0eVB0ciI+eG1sRW50aXR5UHRyPC9hPiBlbnRpdHkpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dFB0ciI+eG1sUGFyc2VySW5wdXRQdHI8L2E+CTxhIGhyZWY9IiN4bWxOZXdJbnB1dEZyb21GaWxlIj54bWxOZXdJbnB1dEZyb21GaWxlPC9hPgkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCQkgY29uc3QgY2hhciAqIGZpbGVuYW1lKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRQdHIiPnhtbFBhcnNlcklucHV0UHRyPC9hPgk8YSBocmVmPSIjeG1sTmV3SW5wdXRTdHJlYW0iPnhtbE5ld0lucHV0U3RyZWFtPC9hPgkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRQdHIiPnhtbFBhcnNlcklucHV0UHRyPC9hPgk8YSBocmVmPSIjeG1sTmV3U3RyaW5nSW5wdXRTdHJlYW0iPnhtbE5ld1N0cmluZ0lucHV0U3RyZWFtPC9hPgkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogYnVmZmVyKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbE5leHRDaGFyIj54bWxOZXh0Q2hhcjwvYT4JCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxQYXJzZUF0dFZhbHVlIj54bWxQYXJzZUF0dFZhbHVlPC9hPgkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxQYXJzZUF0dHJpYnV0ZSI+eG1sUGFyc2VBdHRyaWJ1dGU8L2E+CSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqKiB2YWx1ZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxQYXJzZUF0dHJpYnV0ZUxpc3REZWNsIj54bWxQYXJzZUF0dHJpYnV0ZUxpc3REZWNsPC9hPgkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sUGFyc2VBdHRyaWJ1dGVUeXBlIj54bWxQYXJzZUF0dHJpYnV0ZVR5cGU8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVudW1lcmF0aW9uUHRyIj54bWxFbnVtZXJhdGlvblB0cjwvYT4gKiB0cmVlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFBhcnNlQ0RTZWN0Ij54bWxQYXJzZUNEU2VjdDwvYT4JCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFBhcnNlQ2hhckRhdGEiPnhtbFBhcnNlQ2hhckRhdGE8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSBpbnQgY2RhdGEpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxQYXJzZUNoYXJSZWYiPnhtbFBhcnNlQ2hhclJlZjwvYT4JCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFBhcnNlQ29tbWVudCI+eG1sUGFyc2VDb21tZW50PC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sUGFyc2VDb250ZW50Ij54bWxQYXJzZUNvbnRlbnQ8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFBhcnNlRGVmYXVsdERlY2wiPnhtbFBhcnNlRGVmYXVsdERlY2w8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiogdmFsdWUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sUGFyc2VEb2NUeXBlRGVjbCI+eG1sUGFyc2VEb2NUeXBlRGVjbDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sUGFyc2VFbGVtZW50Ij54bWxQYXJzZUVsZW1lbnQ8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVsZW1lbnRDb250ZW50UHRyIj54bWxFbGVtZW50Q29udGVudFB0cjwvYT4JPGEgaHJlZj0iI3htbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2wiPnhtbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2w8L2E+CSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJCQkgaW50IGlucHV0Y2hrKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sUGFyc2VFbGVtZW50Q29udGVudERlY2wiPnhtbFBhcnNlRWxlbWVudENvbnRlbnREZWNsPC9hPgkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVsZW1lbnRDb250ZW50UHRyIj54bWxFbGVtZW50Q29udGVudFB0cjwvYT4gKiByZXN1bHQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxQYXJzZUVsZW1lbnREZWNsIj54bWxQYXJzZUVsZW1lbnREZWNsPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVsZW1lbnRDb250ZW50UHRyIj54bWxFbGVtZW50Q29udGVudFB0cjwvYT4JPGEgaHJlZj0iI3htbFBhcnNlRWxlbWVudE1peGVkQ29udGVudERlY2wiPnhtbFBhcnNlRWxlbWVudE1peGVkQ29udGVudERlY2w8L2E+CSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJCQkgaW50IGlucHV0Y2hrKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxQYXJzZUVuY05hbWUiPnhtbFBhcnNlRW5jTmFtZTwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Y29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbFBhcnNlRW5jb2RpbmdEZWNsIj54bWxQYXJzZUVuY29kaW5nRGVjbDwvYT4JKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxQYXJzZUVuZFRhZyI+eG1sUGFyc2VFbmRUYWc8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxQYXJzZUVudGl0eURlY2wiPnhtbFBhcnNlRW50aXR5RGVjbDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxFbnRpdHlQdHIiPnhtbEVudGl0eVB0cjwvYT4JPGEgaHJlZj0iI3htbFBhcnNlRW50aXR5UmVmIj54bWxQYXJzZUVudGl0eVJlZjwvYT4JKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sUGFyc2VFbnRpdHlWYWx1ZSI+eG1sUGFyc2VFbnRpdHlWYWx1ZTwvYT4JKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoqIG9yaWcpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxQYXJzZUVudW1lcmF0ZWRUeXBlIj54bWxQYXJzZUVudW1lcmF0ZWRUeXBlPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxFbnVtZXJhdGlvblB0ciI+eG1sRW51bWVyYXRpb25QdHI8L2E+ICogdHJlZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVudW1lcmF0aW9uUHRyIj54bWxFbnVtZXJhdGlvblB0cjwvYT4JPGEgaHJlZj0iI3htbFBhcnNlRW51bWVyYXRpb25UeXBlIj54bWxQYXJzZUVudW1lcmF0aW9uVHlwZTwvYT4JKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sUGFyc2VFeHRlcm5hbElEIj54bWxQYXJzZUV4dGVybmFsSUQ8L2E+CSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqKiBwdWJsaWNJRCwgPGJyIC8+CQkJCQkgaW50IHN0cmljdCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxQYXJzZUV4dGVybmFsU3Vic2V0Ij54bWxQYXJzZUV4dGVybmFsU3Vic2V0PC9hPgkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogRXh0ZXJuYWxJRCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogU3lzdGVtSUQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sUGFyc2VNYXJrdXBEZWNsIj54bWxQYXJzZU1hcmt1cERlY2w8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFBhcnNlTWlzYyI+eG1sUGFyc2VNaXNjPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Y29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbFBhcnNlTmFtZSI+eG1sUGFyc2VOYW1lPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxQYXJzZU5hbWVzcGFjZSI+eG1sUGFyc2VOYW1lc3BhY2U8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxQYXJzZU5tdG9rZW4iPnhtbFBhcnNlTm10b2tlbjwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sUGFyc2VOb3RhdGlvbkRlY2wiPnhtbFBhcnNlTm90YXRpb25EZWNsPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVudW1lcmF0aW9uUHRyIj54bWxFbnVtZXJhdGlvblB0cjwvYT4JPGEgaHJlZj0iI3htbFBhcnNlTm90YXRpb25UeXBlIj54bWxQYXJzZU5vdGF0aW9uVHlwZTwvYT4JKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxQYXJzZVBFUmVmZXJlbmNlIj54bWxQYXJzZVBFUmVmZXJlbmNlPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxQYXJzZVBJIj54bWxQYXJzZVBJPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Y29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbFBhcnNlUElUYXJnZXQiPnhtbFBhcnNlUElUYXJnZXQ8L2E+CSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbFBhcnNlUHViaWRMaXRlcmFsIj54bWxQYXJzZVB1YmlkTGl0ZXJhbDwvYT4JKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sUGFyc2VRdW90ZWRTdHJpbmciPnhtbFBhcnNlUXVvdGVkU3RyaW5nPC9hPgkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFBhcnNlUmVmZXJlbmNlIj54bWxQYXJzZVJlZmVyZW5jZTwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxQYXJzZVNERGVjbCI+eG1sUGFyc2VTRERlY2w8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5jb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sUGFyc2VTdGFydFRhZyI+eG1sUGFyc2VTdGFydFRhZzwvYT4JKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sUGFyc2VTeXN0ZW1MaXRlcmFsIj54bWxQYXJzZVN5c3RlbUxpdGVyYWw8L2E+CSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sUGFyc2VUZXh0RGVjbCI+eG1sUGFyc2VUZXh0RGVjbDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbFBhcnNlVmVyc2lvbkluZm8iPnhtbFBhcnNlVmVyc2lvbkluZm88L2E+CSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbFBhcnNlVmVyc2lvbk51bSI+eG1sUGFyc2VWZXJzaW9uTnVtPC9hPgkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFBhcnNlWE1MRGVjbCI+eG1sUGFyc2VYTUxEZWNsPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sUGFyc2VySGFuZGxlUEVSZWZlcmVuY2UiPnhtbFBhcnNlckhhbmRsZVBFUmVmZXJlbmNlPC9hPgkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFBhcnNlckhhbmRsZVJlZmVyZW5jZSI+eG1sUGFyc2VySGFuZGxlUmVmZXJlbmNlPC9hPgkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFBhcnNlcklucHV0U2hyaW5rIj54bWxQYXJzZXJJbnB1dFNocmluazwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlcklucHV0UHRyIj54bWxQYXJzZXJJbnB1dFB0cjwvYT4gaW4pPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+CTxhIGhyZWY9IiN4bWxQb3BJbnB1dCI+eG1sUG9wSW5wdXQ8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFB1c2hJbnB1dCI+eG1sUHVzaElucHV0PC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRQdHIiPnhtbFBhcnNlcklucHV0UHRyPC9hPiBpbnB1dCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sU2Nhbk5hbWUiPnhtbFNjYW5OYW1lPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxTZXRFbnRpdHlSZWZlcmVuY2VGdW5jIj54bWxTZXRFbnRpdHlSZWZlcmVuY2VGdW5jPC9hPgkoPGEgaHJlZj0ibGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbEVudGl0eVJlZmVyZW5jZUZ1bmMiPnhtbEVudGl0eVJlZmVyZW5jZUZ1bmM8L2E+IGZ1bmMpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxTa2lwQmxhbmtDaGFycyI+eG1sU2tpcEJsYW5rQ2hhcnM8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxTcGxpdFFOYW1lIj54bWxTcGxpdFFOYW1lPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoqIHByZWZpeCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFN0cmluZ0N1cnJlbnRDaGFyIj54bWxTdHJpbmdDdXJyZW50Q2hhcjwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGN1ciwgPGJyIC8+CQkJCQkgaW50ICogbGVuKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxTdHJpbmdEZWNvZGVFbnRpdGllcyI+eG1sU3RyaW5nRGVjb2RlRW50aXRpZXM8L2E+CSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0ciwgPGJyIC8+CQkJCQkgaW50IHdoYXQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiBlbmQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiBlbmQyLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gZW5kMyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sU3RyaW5nTGVuRGVjb2RlRW50aXRpZXMiPnhtbFN0cmluZ0xlbkRlY29kZUVudGl0aWVzPC9hPgkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3RyLCA8YnIgLz4JCQkJCQkgaW50IGxlbiwgPGJyIC8+CQkJCQkJIGludCB3aGF0LCA8YnIgLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+IGVuZCwgPGJyIC8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiBlbmQyLCA8YnIgLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+IGVuZDMpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxTd2l0Y2hFbmNvZGluZyI+eG1sU3dpdGNoRW5jb2Rpbmc8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmciPnhtbENoYXJFbmNvZGluZzwvYT4gZW5jKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sU3dpdGNoSW5wdXRFbmNvZGluZyI+eG1sU3dpdGNoSW5wdXRFbmNvZGluZzwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRQdHIiPnhtbFBhcnNlcklucHV0UHRyPC9hPiBpbnB1dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0ciI+eG1sQ2hhckVuY29kaW5nSGFuZGxlclB0cjwvYT4gaGFuZGxlcik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFN3aXRjaFRvRW5jb2RpbmciPnhtbFN3aXRjaFRvRW5jb2Rpbmc8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyIj54bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyPC9hPiBoYW5kbGVyKTwvcHJlPgorPGgyPkRlc2NyaXB0aW9uPC9oMj4KKzxoMz48YSBuYW1lPSJJTlBVVF9DSFVOSyIgaWQ9IklOUFVUX0NIVU5LIj48L2E+TWFjcm86IElOUFVUX0NIVU5LPC9oMz48cHJlPiNkZWZpbmUgSU5QVVRfQ0hVTks8L3ByZT48cD5UaGUgcGFyc2VyIHRyaWVzIHRvIGFsd2F5cyBoYXZlIHRoYXQgYW1vdW50IG9mIGlucHV0IHJlYWR5LiBPbmUgb2YgdGhlIHBvaW50IGlzIHByb3ZpZGluZyBjb250ZXh0IHdoZW4gcmVwb3J0aW5nIGVycm9ycy48L3A+Cis8aDM+PGEgbmFtZT0iSVNfQVNDSUlfRElHSVQiIGlkPSJJU19BU0NJSV9ESUdJVCI+PC9hPk1hY3JvOiBJU19BU0NJSV9ESUdJVDwvaDM+PHByZT4jZGVmaW5lIElTX0FTQ0lJX0RJR0lUPC9wcmU+PHA+TWFjcm8gdG8gY2hlY2sgWzAtOV08L3A+Cis8aDM+PGEgbmFtZT0iSVNfQVNDSUlfTEVUVEVSIiBpZD0iSVNfQVNDSUlfTEVUVEVSIj48L2E+TWFjcm86IElTX0FTQ0lJX0xFVFRFUjwvaDM+PHByZT4jZGVmaW5lIElTX0FTQ0lJX0xFVFRFUjwvcHJlPjxwPk1hY3JvIHRvIGNoZWNrIFthLXpBLVpdPC9wPgorPGgzPjxhIG5hbWU9IklTX0JBU0VDSEFSIiBpZD0iSVNfQkFTRUNIQVIiPjwvYT5NYWNybzogSVNfQkFTRUNIQVI8L2gzPjxwcmU+I2RlZmluZSBJU19CQVNFQ0hBUjwvcHJlPjxwPk1hY3JvIHRvIGNoZWNrIHRoZSBmb2xsb3dpbmcgcHJvZHVjdGlvbiBpbiB0aGUgWE1MIHNwZWM6IFs4NV0gQmFzZUNoYXIgOjo9IC4uLiBsb25nIGxpc3Qgc2VlIFJFQyAuLi48L3A+Cis8aDM+PGEgbmFtZT0iSVNfQkxBTksiIGlkPSJJU19CTEFOSyI+PC9hPk1hY3JvOiBJU19CTEFOSzwvaDM+PHByZT4jZGVmaW5lIElTX0JMQU5LPC9wcmU+PHA+TWFjcm8gdG8gY2hlY2sgdGhlIGZvbGxvd2luZyBwcm9kdWN0aW9uIGluIHRoZSBYTUwgc3BlYzogWzNdIFMgOjo9ICgjeDIwIHwgI3g5IHwgI3hEIHwgI3hBKSs8L3A+Cis8aDM+PGEgbmFtZT0iSVNfQkxBTktfQ0giIGlkPSJJU19CTEFOS19DSCI+PC9hPk1hY3JvOiBJU19CTEFOS19DSDwvaDM+PHByZT4jZGVmaW5lIElTX0JMQU5LX0NIPC9wcmU+PHA+QmVoYXZpb3VyIHNhbWUgYXMgPGEgaHJlZj0ibGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTX0JMQU5LIj5JU19CTEFOSzwvYT48L3A+Cis8aDM+PGEgbmFtZT0iSVNfQllURV9DSEFSIiBpZD0iSVNfQllURV9DSEFSIj48L2E+TWFjcm86IElTX0JZVEVfQ0hBUjwvaDM+PHByZT4jZGVmaW5lIElTX0JZVEVfQ0hBUjwvcHJlPjxwPk1hY3JvIHRvIGNoZWNrIHRoZSBmb2xsb3dpbmcgcHJvZHVjdGlvbiBpbiB0aGUgWE1MIHNwZWM6IFsyXSBDaGFyIDo6PSAjeDkgfCAjeEEgfCAjeEQgfCBbI3gyMC4uLl0gYW55IGJ5dGUgY2hhcmFjdGVyIGluIHRoZSBhY2NlcHRlZCByYW5nZTwvcD4KKzxoMz48YSBuYW1lPSJJU19DSEFSIiBpZD0iSVNfQ0hBUiI+PC9hPk1hY3JvOiBJU19DSEFSPC9oMz48cHJlPiNkZWZpbmUgSVNfQ0hBUjwvcHJlPjxwPk1hY3JvIHRvIGNoZWNrIHRoZSBmb2xsb3dpbmcgcHJvZHVjdGlvbiBpbiB0aGUgWE1MIHNwZWM6IFsyXSBDaGFyIDo6PSAjeDkgfCAjeEEgfCAjeEQgfCBbI3gyMC0jeEQ3RkZdIHwgWyN4RTAwMC0jeEZGRkRdIHwgWyN4MTAwMDAtI3gxMEZGRkZdIGFueSBVbmljb2RlIGNoYXJhY3RlciwgZXhjbHVkaW5nIHRoZSBzdXJyb2dhdGUgYmxvY2tzLCBGRkZFLCBhbmQgRkZGRi48L3A+Cis8aDM+PGEgbmFtZT0iSVNfQ0hBUl9DSCIgaWQ9IklTX0NIQVJfQ0giPjwvYT5NYWNybzogSVNfQ0hBUl9DSDwvaDM+PHByZT4jZGVmaW5lIElTX0NIQVJfQ0g8L3ByZT48cD5CZWhhdmVzIGxpa2UgPGEgaHJlZj0ibGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTX0NIQVIiPklTX0NIQVI8L2E+IG9uIHNpbmdsZS1ieXRlIHZhbHVlPC9wPgorPGgzPjxhIG5hbWU9IklTX0NPTUJJTklORyIgaWQ9IklTX0NPTUJJTklORyI+PC9hPk1hY3JvOiBJU19DT01CSU5JTkc8L2gzPjxwcmU+I2RlZmluZSBJU19DT01CSU5JTkc8L3ByZT48cD5NYWNybyB0byBjaGVjayB0aGUgZm9sbG93aW5nIHByb2R1Y3Rpb24gaW4gdGhlIFhNTCBzcGVjOiBbODddIENvbWJpbmluZ0NoYXIgOjo9IC4uLiBsb25nIGxpc3Qgc2VlIFJFQyAuLi48L3A+Cis8aDM+PGEgbmFtZT0iSVNfQ09NQklOSU5HX0NIIiBpZD0iSVNfQ09NQklOSU5HX0NIIj48L2E+TWFjcm86IElTX0NPTUJJTklOR19DSDwvaDM+PHByZT4jZGVmaW5lIElTX0NPTUJJTklOR19DSDwvcHJlPjxwPkFsd2F5cyBmYWxzZSAoYWxsIGNvbWJpbmluZyBjaGFycyAmZ3Q7IDB4ZmYpPC9wPgorPGgzPjxhIG5hbWU9IklTX0RJR0lUIiBpZD0iSVNfRElHSVQiPjwvYT5NYWNybzogSVNfRElHSVQ8L2gzPjxwcmU+I2RlZmluZSBJU19ESUdJVDwvcHJlPjxwPk1hY3JvIHRvIGNoZWNrIHRoZSBmb2xsb3dpbmcgcHJvZHVjdGlvbiBpbiB0aGUgWE1MIHNwZWM6IFs4OF0gRGlnaXQgOjo9IC4uLiBsb25nIGxpc3Qgc2VlIFJFQyAuLi48L3A+Cis8aDM+PGEgbmFtZT0iSVNfRElHSVRfQ0giIGlkPSJJU19ESUdJVF9DSCI+PC9hPk1hY3JvOiBJU19ESUdJVF9DSDwvaDM+PHByZT4jZGVmaW5lIElTX0RJR0lUX0NIPC9wcmU+PHA+QmVoYXZlcyBsaWtlIDxhIGhyZWY9ImxpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNJU19ESUdJVCI+SVNfRElHSVQ8L2E+IGJ1dCB3aXRoIGEgc2luZ2xlIGJ5dGUgYXJndW1lbnQ8L3A+Cis8aDM+PGEgbmFtZT0iSVNfRVhURU5ERVIiIGlkPSJJU19FWFRFTkRFUiI+PC9hPk1hY3JvOiBJU19FWFRFTkRFUjwvaDM+PHByZT4jZGVmaW5lIElTX0VYVEVOREVSPC9wcmU+PHA+TWFjcm8gdG8gY2hlY2sgdGhlIGZvbGxvd2luZyBwcm9kdWN0aW9uIGluIHRoZSBYTUwgc3BlYzogWzg5XSBFeHRlbmRlciA6Oj0gI3gwMEI3IHwgI3gwMkQwIHwgI3gwMkQxIHwgI3gwMzg3IHwgI3gwNjQwIHwgI3gwRTQ2IHwgI3gwRUM2IHwgI3gzMDA1IHwgWyN4MzAzMS0jeDMwMzVdIHwgWyN4MzA5RC0jeDMwOUVdIHwgWyN4MzBGQy0jeDMwRkVdPC9wPgorPGgzPjxhIG5hbWU9IklTX0VYVEVOREVSX0NIIiBpZD0iSVNfRVhURU5ERVJfQ0giPjwvYT5NYWNybzogSVNfRVhURU5ERVJfQ0g8L2gzPjxwcmU+I2RlZmluZSBJU19FWFRFTkRFUl9DSDwvcHJlPjxwPkJlaGF2ZXMgbGlrZSA8YSBocmVmPSJsaWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjSVNfRVhURU5ERVIiPklTX0VYVEVOREVSPC9hPiBidXQgd2l0aCBhIHNpbmdsZS1ieXRlIGFyZ3VtZW50PC9wPgorPGgzPjxhIG5hbWU9IklTX0lERU9HUkFQSElDIiBpZD0iSVNfSURFT0dSQVBISUMiPjwvYT5NYWNybzogSVNfSURFT0dSQVBISUM8L2gzPjxwcmU+I2RlZmluZSBJU19JREVPR1JBUEhJQzwvcHJlPjxwPk1hY3JvIHRvIGNoZWNrIHRoZSBmb2xsb3dpbmcgcHJvZHVjdGlvbiBpbiB0aGUgWE1MIHNwZWM6IFs4Nl0gSWRlb2dyYXBoaWMgOjo9IFsjeDRFMDAtI3g5RkE1XSB8ICN4MzAwNyB8IFsjeDMwMjEtI3gzMDI5XTwvcD4KKzxoMz48YSBuYW1lPSJJU19MRVRURVIiIGlkPSJJU19MRVRURVIiPjwvYT5NYWNybzogSVNfTEVUVEVSPC9oMz48cHJlPiNkZWZpbmUgSVNfTEVUVEVSPC9wcmU+PHA+TWFjcm8gdG8gY2hlY2sgdGhlIGZvbGxvd2luZyBwcm9kdWN0aW9uIGluIHRoZSBYTUwgc3BlYzogWzg0XSBMZXR0ZXIgOjo9IEJhc2VDaGFyIHwgSWRlb2dyYXBoaWM8L3A+Cis8aDM+PGEgbmFtZT0iSVNfTEVUVEVSX0NIIiBpZD0iSVNfTEVUVEVSX0NIIj48L2E+TWFjcm86IElTX0xFVFRFUl9DSDwvaDM+PHByZT4jZGVmaW5lIElTX0xFVFRFUl9DSDwvcHJlPjxwPk1hY3JvIGJlaGF2ZXMgbGlrZSBJU19MRVRURVIsIGJ1dCBvbmx5IGNoZWNrIGJhc2UgY2hhcnM8L3A+Cis8aDM+PGEgbmFtZT0iSVNfUFVCSURDSEFSIiBpZD0iSVNfUFVCSURDSEFSIj48L2E+TWFjcm86IElTX1BVQklEQ0hBUjwvaDM+PHByZT4jZGVmaW5lIElTX1BVQklEQ0hBUjwvcHJlPjxwPk1hY3JvIHRvIGNoZWNrIHRoZSBmb2xsb3dpbmcgcHJvZHVjdGlvbiBpbiB0aGUgWE1MIHNwZWM6IFsxM10gUHViaWRDaGFyIDo6PSAjeDIwIHwgI3hEIHwgI3hBIHwgW2EtekEtWjAtOV0gfCBbLScoKSssLi86PT87ISojQCRfJV08L3A+Cis8aDM+PGEgbmFtZT0iSVNfUFVCSURDSEFSX0NIIiBpZD0iSVNfUFVCSURDSEFSX0NIIj48L2E+TWFjcm86IElTX1BVQklEQ0hBUl9DSDwvaDM+PHByZT4jZGVmaW5lIElTX1BVQklEQ0hBUl9DSDwvcHJlPjxwPlNhbWUgYXMgPGEgaHJlZj0ibGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTX1BVQklEQ0hBUiI+SVNfUFVCSURDSEFSPC9hPiBidXQgZm9yIHNpbmdsZS1ieXRlIHZhbHVlPC9wPgorPGgzPjxhIG5hbWU9Ik1PVkVUT19FTkRUQUciIGlkPSJNT1ZFVE9fRU5EVEFHIj48L2E+TWFjcm86IE1PVkVUT19FTkRUQUc8L2gzPjxwcmU+I2RlZmluZSBNT1ZFVE9fRU5EVEFHPC9wcmU+PHA+U2tpcHMgdG8gdGhlIG5leHQgJyZndDsnIGNoYXIuPC9wPgorPGgzPjxhIG5hbWU9Ik1PVkVUT19TVEFSVFRBRyIgaWQ9Ik1PVkVUT19TVEFSVFRBRyI+PC9hPk1hY3JvOiBNT1ZFVE9fU1RBUlRUQUc8L2gzPjxwcmU+I2RlZmluZSBNT1ZFVE9fU1RBUlRUQUc8L3ByZT48cD5Ta2lwcyB0byB0aGUgbmV4dCAnJmx0OycgY2hhci48L3A+Cis8aDM+PGEgbmFtZT0iU0tJUF9FT0wiIGlkPSJTS0lQX0VPTCI+PC9hPk1hY3JvOiBTS0lQX0VPTDwvaDM+PHByZT4jZGVmaW5lIFNLSVBfRU9MPC9wcmU+PHA+U2tpcHMgdGhlIGVuZCBvZiBsaW5lIGNoYXJzLjwvcD4KKzxoMz48YSBuYW1lPSJYTUxfTUFYX0RJQ1RJT05BUllfTElNSVQiIGlkPSJYTUxfTUFYX0RJQ1RJT05BUllfTElNSVQiPjwvYT5NYWNybzogWE1MX01BWF9ESUNUSU9OQVJZX0xJTUlUPC9oMz48cHJlPiNkZWZpbmUgWE1MX01BWF9ESUNUSU9OQVJZX0xJTUlUPC9wcmU+PHA+TWF4aW11bSBzaXplIGFsbG93ZWQgYnkgdGhlIHBhcnNlciBmb3IgYSBkaWN0aW9uYXJ5IGJ5IGRlZmF1bHQgVGhpcyBpcyBub3QgYSBsaW1pdGF0aW9uIG9mIHRoZSBwYXJzZXIgYnV0IGEgc2FmZXR5IGJvdW5kYXJ5IGZlYXR1cmUsIHVzZSA8YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1BBUlNFX0hVR0UiPlhNTF9QQVJTRV9IVUdFPC9hPiBvcHRpb24gdG8gb3ZlcnJpZGUgaXQuIEludHJvZHVjZWQgaW4gMi45LjA8L3A+Cis8aDM+PGEgbmFtZT0iWE1MX01BWF9MT09LVVBfTElNSVQiIGlkPSJYTUxfTUFYX0xPT0tVUF9MSU1JVCI+PC9hPk1hY3JvOiBYTUxfTUFYX0xPT0tVUF9MSU1JVDwvaDM+PHByZT4jZGVmaW5lIFhNTF9NQVhfTE9PS1VQX0xJTUlUPC9wcmU+PHA+TWF4aW11bSBzaXplIGFsbG93ZWQgYnkgdGhlIHBhcnNlciBmb3IgYWhlYWQgbG9va3VwIFRoaXMgaXMgYW4gdXBwZXIgYm91bmRhcnkgZW5mb3JjZWQgYnkgdGhlIHBhcnNlciB0byBhdm9pZCBiYWQgYmVoYXZpb3VyIG9uICJ1bmZyaWVuZGx5JyBjb250ZW50IEludHJvZHVjZWQgaW4gMi45LjA8L3A+Cis8aDM+PGEgbmFtZT0iWE1MX01BWF9OQU1FTEVOIiBpZD0iWE1MX01BWF9OQU1FTEVOIj48L2E+TWFjcm86IFhNTF9NQVhfTkFNRUxFTjwvaDM+PHByZT4jZGVmaW5lIFhNTF9NQVhfTkFNRUxFTjwvcHJlPjxwPklkZW50aWZpZXJzIGNhbiBiZSBsb25nZXIsIGJ1dCB0aGlzIHdpbGwgYmUgbW9yZSBjb3N0bHkgYXQgcnVudGltZS48L3A+Cis8aDM+PGEgbmFtZT0iWE1MX01BWF9OQU1FX0xFTkdUSCIgaWQ9IlhNTF9NQVhfTkFNRV9MRU5HVEgiPjwvYT5NYWNybzogWE1MX01BWF9OQU1FX0xFTkdUSDwvaDM+PHByZT4jZGVmaW5lIFhNTF9NQVhfTkFNRV9MRU5HVEg8L3ByZT48cD5NYXhpbXVtIHNpemUgYWxsb3dlZCBmb3IgYSBtYXJrdXAgaWRlbnRpdGllciBUaGlzIGlzIG5vdCBhIGxpbWl0YXRpb24gb2YgdGhlIHBhcnNlciBidXQgYSBzYWZldHkgYm91bmRhcnkgZmVhdHVyZSwgdXNlIDxhIGhyZWY9ImxpYnhtbC1wYXJzZXIuaHRtbCNYTUxfUEFSU0VfSFVHRSI+WE1MX1BBUlNFX0hVR0U8L2E+IG9wdGlvbiB0byBvdmVycmlkZSBpdC4gTm90ZSB0aGF0IHdpdGggdGhlIHVzZSBvZiBwYXJzaW5nIGRpY3Rpb25hcmllcyBvdmVycmlkaW5nIHRoZSBsaW1pdCBtYXkgcmVzdWx0IGluIG1vcmUgcnVudGltZSBtZW1vcnkgdXNhZ2UgaW4gZmFjZSBvZiAidW5mcmllbmRseScgY29udGVudCBJbnRyb2R1Y2VkIGluIDIuOS4wPC9wPgorPGgzPjxhIG5hbWU9IlhNTF9NQVhfVEVYVF9MRU5HVEgiIGlkPSJYTUxfTUFYX1RFWFRfTEVOR1RIIj48L2E+TWFjcm86IFhNTF9NQVhfVEVYVF9MRU5HVEg8L2gzPjxwcmU+I2RlZmluZSBYTUxfTUFYX1RFWFRfTEVOR1RIPC9wcmU+PHA+TWF4aW11bSBzaXplIGFsbG93ZWQgZm9yIGEgc2luZ2xlIHRleHQgbm9kZSB3aGVuIGJ1aWxkaW5nIGEgdHJlZS4gVGhpcyBpcyBub3QgYSBsaW1pdGF0aW9uIG9mIHRoZSBwYXJzZXIgYnV0IGEgc2FmZXR5IGJvdW5kYXJ5IGZlYXR1cmUsIHVzZSA8YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1BBUlNFX0hVR0UiPlhNTF9QQVJTRV9IVUdFPC9hPiBvcHRpb24gdG8gb3ZlcnJpZGUgaXQuIEludHJvZHVjZWQgaW4gMi45LjA8L3A+Cis8aDM+PGEgbmFtZT0iWE1MX1NVQlNUSVRVVEVfQk9USCIgaWQ9IlhNTF9TVUJTVElUVVRFX0JPVEgiPjwvYT5NYWNybzogWE1MX1NVQlNUSVRVVEVfQk9USDwvaDM+PHByZT4jZGVmaW5lIFhNTF9TVUJTVElUVVRFX0JPVEg8L3ByZT48cD5Cb3RoIGdlbmVyYWwgYW5kIHBhcmFtZXRlciBlbnRpdGllcyBuZWVkIHRvIGJlIHN1YnN0aXR1dGVkLjwvcD4KKzxoMz48YSBuYW1lPSJYTUxfU1VCU1RJVFVURV9OT05FIiBpZD0iWE1MX1NVQlNUSVRVVEVfTk9ORSI+PC9hPk1hY3JvOiBYTUxfU1VCU1RJVFVURV9OT05FPC9oMz48cHJlPiNkZWZpbmUgWE1MX1NVQlNUSVRVVEVfTk9ORTwvcHJlPjxwPklmIG5vIGVudGl0aWVzIG5lZWQgdG8gYmUgc3Vic3RpdHV0ZWQuPC9wPgorPGgzPjxhIG5hbWU9IlhNTF9TVUJTVElUVVRFX1BFUkVGIiBpZD0iWE1MX1NVQlNUSVRVVEVfUEVSRUYiPjwvYT5NYWNybzogWE1MX1NVQlNUSVRVVEVfUEVSRUY8L2gzPjxwcmU+I2RlZmluZSBYTUxfU1VCU1RJVFVURV9QRVJFRjwvcHJlPjxwPldoZXRoZXIgcGFyYW1ldGVyIGVudGl0aWVzIG5lZWQgdG8gYmUgc3Vic3RpdHV0ZWQuPC9wPgorPGgzPjxhIG5hbWU9IlhNTF9TVUJTVElUVVRFX1JFRiIgaWQ9IlhNTF9TVUJTVElUVVRFX1JFRiI+PC9hPk1hY3JvOiBYTUxfU1VCU1RJVFVURV9SRUY8L2gzPjxwcmU+I2RlZmluZSBYTUxfU1VCU1RJVFVURV9SRUY8L3ByZT48cD5XaGV0aGVyIGdlbmVyYWwgZW50aXRpZXMgbmVlZCB0byBiZSBzdWJzdGl0dXRlZC48L3A+Cis8aDM+PGEgbmFtZT0iaHRtbENyZWF0ZUZpbGVQYXJzZXJDdHh0IiBpZD0iaHRtbENyZWF0ZUZpbGVQYXJzZXJDdHh0Ij48L2E+RnVuY3Rpb246IGh0bWxDcmVhdGVGaWxlUGFyc2VyQ3R4dDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlckN0eHRQdHIiPmh0bWxQYXJzZXJDdHh0UHRyPC9hPglodG1sQ3JlYXRlRmlsZVBhcnNlckN0eHQJKGNvbnN0IGNoYXIgKiBmaWxlbmFtZSwgPGJyIC8+CQkJCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcpPGJyIC8+Cis8L3ByZT48cD5DcmVhdGUgYSBwYXJzZXIgY29udGV4dCBmb3IgYSBmaWxlIGNvbnRlbnQuIEF1dG9tYXRpYyBzdXBwb3J0IGZvciBaTElCL0NvbXByZXNzIGNvbXByZXNzZWQgZG9jdW1lbnQgaXMgcHJvdmlkZWQgYnkgZGVmYXVsdCBpZiBmb3VuZCBhdCBjb21waWxlLXRpbWUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmlsZW5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmaWxlbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jb2Rpbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgZnJlZSBmb3JtIEMgc3RyaW5nIGRlc2NyaWJpbmcgdGhlIEhUTUwgZG9jdW1lbnQgZW5jb2RpbmcsIG9yIE5VTEw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXcgcGFyc2VyIGNvbnRleHQgb3IgTlVMTDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9Imh0bWxJbml0QXV0b0Nsb3NlIiBpZD0iaHRtbEluaXRBdXRvQ2xvc2UiPjwvYT5GdW5jdGlvbjogaHRtbEluaXRBdXRvQ2xvc2U8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCWh0bWxJbml0QXV0b0Nsb3NlCQkodm9pZCk8YnIgLz4KKzwvcHJlPjxwPkluaXRpYWxpemUgdGhlIGh0bWxTdGFydENsb3NlSW5kZXggZm9yIGZhc3QgbG9va3VwIG9mIGNsb3NpbmcgdGFncyBuYW1lcy4gVGhpcyBpcyBub3QgcmVlbnRyYW50LiBDYWxsIHhtbEluaXRQYXJzZXIoKSBvbmNlIGJlZm9yZSBwcm9jZXNzaW5nIGluIGNhc2Ugb2YgdXNlIGluIG11bHRpdGhyZWFkZWQgcHJvZ3JhbXMuPC9wPgorPGgzPjxhIG5hbWU9ImlucHV0UG9wIiBpZD0iaW5wdXRQb3AiPjwvYT5GdW5jdGlvbjogaW5wdXRQb3A8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlcklucHV0UHRyIj54bWxQYXJzZXJJbnB1dFB0cjwvYT4JaW5wdXRQb3AJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8YnIgLz4KKzwvcHJlPjxwPlBvcHMgdGhlIHRvcCBwYXJzZXIgaW5wdXQgZnJvbSB0aGUgaW5wdXQgc3RhY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBpbnB1dCBqdXN0IHJlbW92ZWQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJpbnB1dFB1c2giIGlkPSJpbnB1dFB1c2giPjwvYT5GdW5jdGlvbjogaW5wdXRQdXNoPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CWlucHV0UHVzaAkJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRQdHIiPnhtbFBhcnNlcklucHV0UHRyPC9hPiB2YWx1ZSk8YnIgLz4KKzwvcHJlPjxwPlB1c2hlcyBhIG5ldyBwYXJzZXIgaW5wdXQgb24gdG9wIG9mIHRoZSBpbnB1dCBzdGFjazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsdWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwYXJzZXIgaW5wdXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPi0xIGluIGNhc2Ugb2YgZXJyb3IsIHRoZSBpbmRleCBpbiB0aGUgc3RhY2sgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ibmFtZVBvcCIgaWQ9Im5hbWVQb3AiPjwvYT5GdW5jdGlvbjogbmFtZVBvcDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCW5hbWVQb3AJCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTxiciAvPgorPC9wcmU+PHA+UG9wcyB0aGUgdG9wIGVsZW1lbnQgbmFtZSBmcm9tIHRoZSBuYW1lIHN0YWNrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZSBqdXN0IHJlbW92ZWQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJuYW1lUHVzaCIgaWQ9Im5hbWVQdXNoIj48L2E+RnVuY3Rpb246IG5hbWVQdXNoPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CW5hbWVQdXNoCQkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUpPGJyIC8+Cis8L3ByZT48cD5QdXNoZXMgYSBuZXcgZWxlbWVudCBuYW1lIG9uIHRvcCBvZiB0aGUgbmFtZSBzdGFjazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsdWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbGVtZW50IG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPi0xIGluIGNhc2Ugb2YgZXJyb3IsIHRoZSBpbmRleCBpbiB0aGUgc3RhY2sgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ibm9kZVBvcCIgaWQ9Im5vZGVQb3AiPjwvYT5GdW5jdGlvbjogbm9kZVBvcDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4Jbm9kZVBvcAkJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPGJyIC8+Cis8L3ByZT48cD5Qb3BzIHRoZSB0b3AgZWxlbWVudCBub2RlIGZyb20gdGhlIG5vZGUgc3RhY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBub2RlIGp1c3QgcmVtb3ZlZDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9Im5vZGVQdXNoIiBpZD0ibm9kZVB1c2giPjwvYT5GdW5jdGlvbjogbm9kZVB1c2g8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJbm9kZVB1c2gJCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IHZhbHVlKTxiciAvPgorPC9wcmU+PHA+UHVzaGVzIGEgbmV3IGVsZW1lbnQgbm9kZSBvbiB0b3Agb2YgdGhlIG5vZGUgc3RhY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbHVlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZWxlbWVudCBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4tMSBpbiBjYXNlIG9mIGVycm9yLCB0aGUgaW5kZXggaW4gdGhlIHN0YWNrIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbENoZWNrTGFuZ3VhZ2VJRCIgaWQ9InhtbENoZWNrTGFuZ3VhZ2VJRCI+PC9hPkZ1bmN0aW9uOiB4bWxDaGVja0xhbmd1YWdlSUQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sQ2hlY2tMYW5ndWFnZUlECQkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbGFuZyk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrcyB0aGF0IHRoZSB2YWx1ZSBjb25mb3JtcyB0byB0aGUgTGFuZ3VhZ2VJRCBwcm9kdWN0aW9uOiBOT1RFOiB0aGlzIGlzIHNvbWV3aGF0IGRlcHJlY2F0ZWQsIHRob3NlIHByb2R1Y3Rpb25zIHdlcmUgcmVtb3ZlZCBmcm9tIHRoZSBYTUwgU2Vjb25kIGVkaXRpb24uIFszM10gTGFuZ3VhZ2VJRCA6Oj0gTGFuZ2NvZGUgKCctJyBTdWJjb2RlKSogWzM0XSBMYW5nY29kZSA6Oj0gSVNPNjM5Q29kZSB8IElhbmFDb2RlIHwgVXNlckNvZGUgWzM1XSBJU082MzlDb2RlIDo6PSAoW2Etel0gfCBbQS1aXSkgKFthLXpdIHwgW0EtWl0pIFszNl0gSWFuYUNvZGUgOjo9ICgnaScgfCAnSScpICctJyAoW2Etel0gfCBbQS1aXSkrIFszN10gVXNlckNvZGUgOjo9ICgneCcgfCAnWCcpICctJyAoW2Etel0gfCBbQS1aXSkrIFszOF0gU3ViY29kZSA6Oj0gKFthLXpdIHwgW0EtWl0pKyBUaGUgY3VycmVudCBSRUMgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI3JlZmVyZW5jZSI+cmVmZXJlbmNlPC9hPiB0aGUgc3VjZXNzb3JzIG9mIFJGQyAxNzY2LCBjdXJyZW50bHkgNTY0NiBodHRwOi8vd3d3LnJmYy1lZGl0b3Iub3JnL3JmYy9yZmM1NjQ2LnR4dCBsYW5ndGFnID0gbGFuZ3VhZ2UgWyItIiBzY3JpcHRdIFsiLSIgcmVnaW9uXSAqKCItIiB2YXJpYW50KSAqKCItIiBleHRlbnNpb24pIFsiLSIgcHJpdmF0ZXVzZV0gbGFuZ3VhZ2UgPSAyKjNBTFBIQSA7IHNob3J0ZXN0IElTTyA2MzkgY29kZSBbIi0iIGV4dGxhbmddIDsgc29tZXRpbWVzIGZvbGxvd2VkIGJ5IDsgZXh0ZW5kZWQgbGFuZ3VhZ2Ugc3VidGFncyAvIDRBTFBIQSA7IG9yIHJlc2VydmVkIGZvciBmdXR1cmUgdXNlIC8gNSo4QUxQSEEgOyBvciByZWdpc3RlcmVkIGxhbmd1YWdlIHN1YnRhZyBleHRsYW5nID0gM0FMUEhBIDsgc2VsZWN0ZWQgSVNPIDYzOSBjb2RlcyAqMigiLSIgM0FMUEhBKSA7IHBlcm1hbmVudGx5IHJlc2VydmVkIHNjcmlwdCA9IDRBTFBIQSA7IElTTyAxNTkyNCBjb2RlIHJlZ2lvbiA9IDJBTFBIQSA7IElTTyAzMTY2LTEgY29kZSAvIDNESUdJVCA7IFVOIE0uNDkgY29kZSB2YXJpYW50ID0gNSo4YWxwaGFudW0gOyByZWdpc3RlcmVkIHZhcmlhbnRzIC8gKERJR0lUIDNhbHBoYW51bSkgZXh0ZW5zaW9uID0gc2luZ2xldG9uIDEqKCItIiAoMio4YWxwaGFudW0pKSA7IFNpbmdsZSBhbHBoYW51bWVyaWNzIDsgIngiIHJlc2VydmVkIGZvciBwcml2YXRlIHVzZSBzaW5nbGV0b24gPSBESUdJVCA7IDAgLSA5IC8gJXg0MS01NyA7IEEgLSBXIC8gJXg1OS01QSA7IFkgLSBaIC8gJXg2MS03NyA7IGEgLSB3IC8gJXg3OS03QSA7IHkgLSB6IGl0IHNvdW5kcyByaWdodCB0byBzdGlsbCBhbGxvdyBJcnJlZ3VsYXIgaS14eHggSUFOQSBhbmQgdXNlciBjb2RlcyB0b28gVGhlIHBhcnNlciBiZWxvdyBkb2Vzbid0IHRyeSB0byBjb3BlIHdpdGggZXh0ZW5zaW9uIG9yIHByaXZhdGV1c2UgdGhhdCBjb3VsZCBiZSBhZGRlZCBidXQgdGhhdCdzIG5vdCBpbnRlcm9wZXJhYmxlIGFueXdheTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pmxhbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnBvaW50ZXIgdG8gdGhlIHN0cmluZyB2YWx1ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiBjb3JyZWN0IDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sQ29weUNoYXIiIGlkPSJ4bWxDb3B5Q2hhciI+PC9hPkZ1bmN0aW9uOiB4bWxDb3B5Q2hhcjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxDb3B5Q2hhcgkJCShpbnQgbGVuLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBvdXQsIDxiciAvPgkJCQkJIGludCB2YWwpPGJyIC8+Cis8L3ByZT48cD5hcHBlbmQgdGhlIGNoYXIgdmFsdWUgaW4gdGhlIGFycmF5PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGVuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5JZ25vcmVkLCBjb21wYXRpYmlsaXR5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vdXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnBvaW50ZXIgdG8gYW4gYXJyYXkgb2YgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjaGFyIHZhbHVlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiB3cml0dGVuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sQ29weUNoYXJNdWx0aUJ5dGUiIGlkPSJ4bWxDb3B5Q2hhck11bHRpQnl0ZSI+PC9hPkZ1bmN0aW9uOiB4bWxDb3B5Q2hhck11bHRpQnl0ZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxDb3B5Q2hhck11bHRpQnl0ZQkJKDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG91dCwgPGJyIC8+CQkJCQkgaW50IHZhbCk8YnIgLz4KKzwvcHJlPjxwPmFwcGVuZCB0aGUgY2hhciB2YWx1ZSBpbiB0aGUgYXJyYXk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vdXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnBvaW50ZXIgdG8gYW4gYXJyYXkgb2YgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjaGFyIHZhbHVlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiB3cml0dGVuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sQ3JlYXRlRW50aXR5UGFyc2VyQ3R4dCIgaWQ9InhtbENyZWF0ZUVudGl0eVBhcnNlckN0eHQiPjwvYT5GdW5jdGlvbjogeG1sQ3JlYXRlRW50aXR5UGFyc2VyQ3R4dDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4JeG1sQ3JlYXRlRW50aXR5UGFyc2VyQ3R4dAkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogVVJMLCA8YnIgLz4JCQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIElELCA8YnIgLz4JCQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGJhc2UpPGJyIC8+Cis8L3ByZT48cD5DcmVhdGUgYSBwYXJzZXIgY29udGV4dCBmb3IgYW4gZXh0ZXJuYWwgZW50aXR5IEF1dG9tYXRpYyBzdXBwb3J0IGZvciBaTElCL0NvbXByZXNzIGNvbXByZXNzZWQgZG9jdW1lbnQgaXMgcHJvdmlkZWQgYnkgZGVmYXVsdCBpZiBmb3VuZCBhdCBjb21waWxlLXRpbWUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+VVJMPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZW50aXR5IFVSTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+SUQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbnRpdHkgUFVCTElDIElEPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5iYXNlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvc3NpYmxlIGJhc2UgZm9yIHRoZSB0YXJnZXQgVVJJPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IHBhcnNlciBjb250ZXh0IG9yIE5VTEw8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxDcmVhdGVGaWxlUGFyc2VyQ3R4dCIgaWQ9InhtbENyZWF0ZUZpbGVQYXJzZXJDdHh0Ij48L2E+RnVuY3Rpb246IHhtbENyZWF0ZUZpbGVQYXJzZXJDdHh0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPgl4bWxDcmVhdGVGaWxlUGFyc2VyQ3R4dAkoY29uc3QgY2hhciAqIGZpbGVuYW1lKTxiciAvPgorPC9wcmU+PHA+Q3JlYXRlIGEgcGFyc2VyIGNvbnRleHQgZm9yIGEgZmlsZSBjb250ZW50LiBBdXRvbWF0aWMgc3VwcG9ydCBmb3IgWkxJQi9Db21wcmVzcyBjb21wcmVzc2VkIGRvY3VtZW50IGlzIHByb3ZpZGVkIGJ5IGRlZmF1bHQgaWYgZm91bmQgYXQgY29tcGlsZS10aW1lLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZpbGVuYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZmlsZW5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXcgcGFyc2VyIGNvbnRleHQgb3IgTlVMTDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbENyZWF0ZU1lbW9yeVBhcnNlckN0eHQiIGlkPSJ4bWxDcmVhdGVNZW1vcnlQYXJzZXJDdHh0Ij48L2E+RnVuY3Rpb246IHhtbENyZWF0ZU1lbW9yeVBhcnNlckN0eHQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+CXhtbENyZWF0ZU1lbW9yeVBhcnNlckN0eHQJKGNvbnN0IGNoYXIgKiBidWZmZXIsIDxiciAvPgkJCQkJCQkgaW50IHNpemUpPGJyIC8+Cis8L3ByZT48cD5DcmVhdGUgYSBwYXJzZXIgY29udGV4dCBmb3IgYW4gWE1MIGluLW1lbW9yeSBkb2N1bWVudC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5idWZmZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byBhIGNoYXIgYXJyYXk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNpemU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzaXplIG9mIHRoZSBhcnJheTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ldyBwYXJzZXIgY29udGV4dCBvciBOVUxMPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sQ3JlYXRlVVJMUGFyc2VyQ3R4dCIgaWQ9InhtbENyZWF0ZVVSTFBhcnNlckN0eHQiPjwvYT5GdW5jdGlvbjogeG1sQ3JlYXRlVVJMUGFyc2VyQ3R4dDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4JeG1sQ3JlYXRlVVJMUGFyc2VyQ3R4dAkoY29uc3QgY2hhciAqIGZpbGVuYW1lLCA8YnIgLz4JCQkJCQkgaW50IG9wdGlvbnMpPGJyIC8+Cis8L3ByZT48cD5DcmVhdGUgYSBwYXJzZXIgY29udGV4dCBmb3IgYSBmaWxlIG9yIFVSTCBjb250ZW50LiBBdXRvbWF0aWMgc3VwcG9ydCBmb3IgWkxJQi9Db21wcmVzcyBjb21wcmVzc2VkIGRvY3VtZW50IGlzIHByb3ZpZGVkIGJ5IGRlZmF1bHQgaWYgZm91bmQgYXQgY29tcGlsZS10aW1lIGFuZCBmb3IgZmlsZSBhY2Nlc3NlczwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZpbGVuYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZmlsZW5hbWUgb3IgVVJMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vcHRpb25zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGNvbWJpbmF0aW9uIG9mIDxhIGhyZWY9ImxpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZXJPcHRpb24iPnhtbFBhcnNlck9wdGlvbjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXcgcGFyc2VyIGNvbnRleHQgb3IgTlVMTDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEN1cnJlbnRDaGFyIiBpZD0ieG1sQ3VycmVudENoYXIiPjwvYT5GdW5jdGlvbjogeG1sQ3VycmVudENoYXI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sQ3VycmVudENoYXIJCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSBpbnQgKiBsZW4pPGJyIC8+Cis8L3ByZT48cD5UaGUgY3VycmVudCBjaGFyIHZhbHVlLCBpZiB1c2luZyBVVEYtOCB0aGlzIG1heSBhY3R1YWxseSBzcGFuIG11bHRpcGxlIGJ5dGVzIGluIHRoZSBpbnB1dCBidWZmZXIuIEltcGxlbWVudCB0aGUgZW5kIG9mIGxpbmUgbm9ybWFsaXphdGlvbjogMi4xMSBFbmQtb2YtTGluZSBIYW5kbGluZyBXaGVyZXZlciBhbiBleHRlcm5hbCBwYXJzZWQgZW50aXR5IG9yIHRoZSBsaXRlcmFsIGVudGl0eSB2YWx1ZSBvZiBhbiBpbnRlcm5hbCBwYXJzZWQgZW50aXR5IGNvbnRhaW5zIGVpdGhlciB0aGUgbGl0ZXJhbCB0d28tY2hhcmFjdGVyIHNlcXVlbmNlICIjeEQjeEEiIG9yIGEgc3RhbmRhbG9uZSBsaXRlcmFsICN4RCwgYW4gWE1MIHByb2Nlc3NvciBtdXN0IHBhc3MgdG8gdGhlIGFwcGxpY2F0aW9uIHRoZSBzaW5nbGUgY2hhcmFjdGVyICN4QS4gVGhpcyBiZWhhdmlvciBjYW4gY29udmVuaWVudGx5IGJlIHByb2R1Y2VkIGJ5IG5vcm1hbGl6aW5nIGFsbCBsaW5lIGJyZWFrcyB0byAjeEEgb24gaW5wdXQsIGJlZm9yZSBwYXJzaW5nLik8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWE1MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnBvaW50ZXIgdG8gdGhlIGxlbmd0aCBvZiB0aGUgY2hhciByZWFkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY3VycmVudCBjaGFyIHZhbHVlIGFuZCBpdHMgbGVuZ3RoPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sRGVjb2RlRW50aXRpZXMiIGlkPSJ4bWxEZWNvZGVFbnRpdGllcyI+PC9hPkZ1bmN0aW9uOiB4bWxEZWNvZGVFbnRpdGllczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbERlY29kZUVudGl0aWVzCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIGludCBsZW4sIDxiciAvPgkJCQkJIGludCB3aGF0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gZW5kLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gZW5kMiwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+IGVuZDMpPGJyIC8+Cis8L3ByZT48cD5UaGlzIGZ1bmN0aW9uIGlzIGRlcHJlY2F0ZWQsIHdlIG5vdyBhbHdheXMgcHJvY2VzcyBlbnRpdGllcyBjb250ZW50IHRocm91Z2ggPGEgaHJlZj0ibGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFN0cmluZ0RlY29kZUVudGl0aWVzIj54bWxTdHJpbmdEZWNvZGVFbnRpdGllczwvYT4gVE9ETzogcmVtb3ZlIGl0IGluIG5leHQgbWFqb3IgcmVsZWFzZS4gWzY3XSBSZWZlcmVuY2UgOjo9IEVudGl0eVJlZiB8IENoYXJSZWYgWzY5XSBQRVJlZmVyZW5jZSA6Oj0gJyUnIE5hbWUgJzsnPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsZW4gdG8gZGVjb2RlIChpbiBieXRlcyAhKSwgLTEgZm9yIG5vIHNpemUgbGltaXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PndoYXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmNvbWJpbmF0aW9uIG9mIDxhIGhyZWY9ImxpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNYTUxfU1VCU1RJVFVURV9SRUYiPlhNTF9TVUJTVElUVVRFX1JFRjwvYT4gYW5kIDxhIGhyZWY9ImxpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNYTUxfU1VCU1RJVFVURV9QRVJFRiI+WE1MX1NVQlNUSVRVVEVfUEVSRUY8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbmQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIGVuZCBtYXJrZXIgeG1sQ2hhciwgMCBpZiBub25lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbmQyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBlbmQgbWFya2VyIHhtbENoYXIsIDAgaWYgbm9uZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5kMzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gZW5kIG1hcmtlciB4bWxDaGFyLCAwIGlmIG5vbmU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPkEgbmV3bHkgYWxsb2NhdGVkIHN0cmluZyB3aXRoIHRoZSBzdWJzdGl0dXRpb24gZG9uZS4gVGhlIGNhbGxlciBtdXN0IGRlYWxsb2NhdGUgaXQgITwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEVudGl0eVJlZmVyZW5jZUZ1bmMiIGlkPSJ4bWxFbnRpdHlSZWZlcmVuY2VGdW5jIj48L2E+RnVuY3Rpb24gdHlwZTogeG1sRW50aXR5UmVmZXJlbmNlRnVuYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkZ1bmN0aW9uIHR5cGU6IHhtbEVudGl0eVJlZmVyZW5jZUZ1bmMKK3ZvaWQJeG1sRW50aXR5UmVmZXJlbmNlRnVuYwkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRW50aXR5UHRyIj54bWxFbnRpdHlQdHI8L2E+IGVudCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBmaXJzdE5vZGUsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbGFzdE5vZGUpCis8L3ByZT48cD5DYWxsYmFjayBmdW5jdGlvbiB1c2VkIHdoZW4gb25lIG5lZWRzIHRvIGJlIGFibGUgdG8gdHJhY2sgYmFjayB0aGUgcHJvdmVuYW5jZSBvZiBhIGNodW5rIG9mIG5vZGVzIGluaGVyaXRlZCBmcm9tIGFuIGVudGl0eSByZXBsYWNlbWVudC48L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW50PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZW50aXR5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maXJzdE5vZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmaXN0IG5vZGUgaW4gdGhlIGNodW5rPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sYXN0Tm9kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxhc3Qgbm9kIGluIHRoZSBjaHVuazwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGJyIC8+Cis8aDM+PGEgbmFtZT0ieG1sRXJyTWVtb3J5IiBpZD0ieG1sRXJyTWVtb3J5Ij48L2E+RnVuY3Rpb246IHhtbEVyck1lbW9yeTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sRXJyTWVtb3J5CQkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGV4dHJhKTxiciAvPgorPC9wcmU+PHA+SGFuZGxlIGEgcmVkZWZpbml0aW9uIG9mIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gZXJyb3I8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmV4dHJhPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5leHRyYSBpbmZvcm1hdGlvbnM8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxGcmVlSW5wdXRTdHJlYW0iIGlkPSJ4bWxGcmVlSW5wdXRTdHJlYW0iPjwvYT5GdW5jdGlvbjogeG1sRnJlZUlucHV0U3RyZWFtPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxGcmVlSW5wdXRTdHJlYW0JCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlcklucHV0UHRyIj54bWxQYXJzZXJJbnB1dFB0cjwvYT4gaW5wdXQpPGJyIC8+Cis8L3ByZT48cD5GcmVlIHVwIGFuIGlucHV0IHN0cmVhbS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pbnB1dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dFB0ciI+eG1sUGFyc2VySW5wdXRQdHI8L2E+PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sSGFuZGxlRW50aXR5IiBpZD0ieG1sSGFuZGxlRW50aXR5Ij48L2E+RnVuY3Rpb246IHhtbEhhbmRsZUVudGl0eTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sSGFuZGxlRW50aXR5CQkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxFbnRpdHlQdHIiPnhtbEVudGl0eVB0cjwvYT4gZW50aXR5KTxiciAvPgorPC9wcmU+PHA+RGVmYXVsdCBoYW5kbGluZyBvZiBkZWZpbmVkIGVudGl0aWVzLCB3aGVuIHNob3VsZCB3ZSBkZWZpbmUgYSBuZXcgaW5wdXQgc3RyZWFtID8gV2hlbiBkbyB3ZSBqdXN0IGhhbmRsZSB0aGF0IGFzIGEgc2V0IG9mIGNoYXJzID8gT0JTT0xFVEU6IHRvIGJlIHJlbW92ZWQgYXQgc29tZSBwb2ludC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVudGl0eTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1MIGVudGl0eSBwb2ludGVyLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbElzTGV0dGVyIiBpZD0ieG1sSXNMZXR0ZXIiPjwvYT5GdW5jdGlvbjogeG1sSXNMZXR0ZXI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sSXNMZXR0ZXIJCQkoaW50IGMpPGJyIC8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgYWxsb3dlZCBieSB0aGUgcHJvZHVjdGlvbiBbODRdIExldHRlciA6Oj0gQmFzZUNoYXIgfCBJZGVvZ3JhcGhpYzwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIHVuaWNvZGUgY2hhcmFjdGVyIChpbnQpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGlmIG5vdCwgbm9uLXplcm8gb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sTmFtZXNwYWNlUGFyc2VOQ05hbWUiIGlkPSJ4bWxOYW1lc3BhY2VQYXJzZU5DTmFtZSI+PC9hPkZ1bmN0aW9uOiB4bWxOYW1lc3BhY2VQYXJzZU5DTmFtZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbE5hbWVzcGFjZVBhcnNlTkNOYW1lCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPGJyIC8+Cis8L3ByZT48cD5wYXJzZSBhbiBYTUwgbmFtZXNwYWNlIG5hbWUuIFRPRE86IHRoaXMgc2VlbXMgbm90IGluIHVzZSBhbnltb3JlLCB0aGUgbmFtZXNwYWNlIGhhbmRsaW5nIGlzIGRvbmUgb24gdG9wIG9mIHRoZSBTQVggaW50ZXJmYWNlcywgaS5lLiBub3Qgb24gcmF3IGlucHV0LiBbTlMgM10gTkNOYW1lIDo6PSAoTGV0dGVyIHwgJ18nKSAoTkNOYW1lQ2hhcikqIFtOUyA0XSBOQ05hbWVDaGFyIDo6PSBMZXR0ZXIgfCBEaWdpdCB8ICcuJyB8ICctJyB8ICdfJyB8IENvbWJpbmluZ0NoYXIgfCBFeHRlbmRlcjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5hbWVzcGFjZSBuYW1lIG9yIE5VTEw8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxOYW1lc3BhY2VQYXJzZU5TRGVmIiBpZD0ieG1sTmFtZXNwYWNlUGFyc2VOU0RlZiI+PC9hPkZ1bmN0aW9uOiB4bWxOYW1lc3BhY2VQYXJzZU5TRGVmPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sTmFtZXNwYWNlUGFyc2VOU0RlZgkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTxiciAvPgorPC9wcmU+PHA+cGFyc2UgYSBuYW1lc3BhY2UgcHJlZml4IGRlY2xhcmF0aW9uIFRPRE86IHRoaXMgc2VlbXMgbm90IGluIHVzZSBhbnltb3JlLCB0aGUgbmFtZXNwYWNlIGhhbmRsaW5nIGlzIGRvbmUgb24gdG9wIG9mIHRoZSBTQVggaW50ZXJmYWNlcywgaS5lLiBub3Qgb24gcmF3IGlucHV0LiBbTlMgMV0gTlNEZWYgOjo9IFByZWZpeERlZiBFcSBTeXN0ZW1MaXRlcmFsIFtOUyAyXSBQcmVmaXhEZWYgOjo9ICd4bWxucycgKCc6JyBOQ05hbWUpPzwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5hbWVzcGFjZSBuYW1lPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sTmFtZXNwYWNlUGFyc2VRTmFtZSIgaWQ9InhtbE5hbWVzcGFjZVBhcnNlUU5hbWUiPjwvYT5GdW5jdGlvbjogeG1sTmFtZXNwYWNlUGFyc2VRTmFtZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbE5hbWVzcGFjZVBhcnNlUU5hbWUJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoqIHByZWZpeCk8YnIgLz4KKzwvcHJlPjxwPlRPRE86IHRoaXMgc2VlbXMgbm90IGluIHVzZSBhbnltb3JlLCB0aGUgbmFtZXNwYWNlIGhhbmRsaW5nIGlzIGRvbmUgb24gdG9wIG9mIHRoZSBTQVggaW50ZXJmYWNlcywgaS5lLiBub3Qgb24gcmF3IGlucHV0LiBwYXJzZSBhbiBYTUwgcXVhbGlmaWVkIG5hbWUgW05TIDVdIFFOYW1lIDo6PSAoUHJlZml4ICc6Jyk/IExvY2FsUGFydCBbTlMgNl0gUHJlZml4IDo6PSBOQ05hbWUgW05TIDddIExvY2FsUGFydCA6Oj0gTkNOYW1lPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wcmVmaXg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoqPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbG9jYWwgcGFydCwgYW5kIHByZWZpeCBpcyB1cGRhdGVkIHRvIGdldCB0aGUgUHJlZml4IGlmIGFueS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxOZXdFbnRpdHlJbnB1dFN0cmVhbSIgaWQ9InhtbE5ld0VudGl0eUlucHV0U3RyZWFtIj48L2E+RnVuY3Rpb246IHhtbE5ld0VudGl0eUlucHV0U3RyZWFtPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dFB0ciI+eG1sUGFyc2VySW5wdXRQdHI8L2E+CXhtbE5ld0VudGl0eUlucHV0U3RyZWFtCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVudGl0eVB0ciI+eG1sRW50aXR5UHRyPC9hPiBlbnRpdHkpPGJyIC8+Cis8L3ByZT48cD5DcmVhdGUgYSBuZXcgaW5wdXQgc3RyZWFtIGJhc2VkIG9uIGFuIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRW50aXR5UHRyIj54bWxFbnRpdHlQdHI8L2E+PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbnRpdHk8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIEVudGl0eSBwb2ludGVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IGlucHV0IHN0cmVhbSBvciBOVUxMPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sTmV3SW5wdXRGcm9tRmlsZSIgaWQ9InhtbE5ld0lucHV0RnJvbUZpbGUiPjwvYT5GdW5jdGlvbjogeG1sTmV3SW5wdXRGcm9tRmlsZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRQdHIiPnhtbFBhcnNlcklucHV0UHRyPC9hPgl4bWxOZXdJbnB1dEZyb21GaWxlCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJCSBjb25zdCBjaGFyICogZmlsZW5hbWUpPGJyIC8+Cis8L3ByZT48cD5DcmVhdGUgYSBuZXcgaW5wdXQgc3RyZWFtIGJhc2VkIG9uIGEgZmlsZSBvciBhbiBVUkwuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlbmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZpbGVuYW1lIHRvIHVzZSBhcyBlbnRpdHk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXcgaW5wdXQgc3RyZWFtIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbE5ld0lucHV0U3RyZWFtIiBpZD0ieG1sTmV3SW5wdXRTdHJlYW0iPjwvYT5GdW5jdGlvbjogeG1sTmV3SW5wdXRTdHJlYW08L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlcklucHV0UHRyIj54bWxQYXJzZXJJbnB1dFB0cjwvYT4JeG1sTmV3SW5wdXRTdHJlYW0JKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8YnIgLz4KKzwvcHJlPjxwPkNyZWF0ZSBhIG5ldyBpbnB1dCBzdHJlYW0gc3RydWN0dXJlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ldyBpbnB1dCBzdHJlYW0gb3IgTlVMTDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbE5ld1N0cmluZ0lucHV0U3RyZWFtIiBpZD0ieG1sTmV3U3RyaW5nSW5wdXRTdHJlYW0iPjwvYT5GdW5jdGlvbjogeG1sTmV3U3RyaW5nSW5wdXRTdHJlYW08L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlcklucHV0UHRyIj54bWxQYXJzZXJJbnB1dFB0cjwvYT4JeG1sTmV3U3RyaW5nSW5wdXRTdHJlYW0JKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGJ1ZmZlcik8YnIgLz4KKzwvcHJlPjxwPkNyZWF0ZSBhIG5ldyBpbnB1dCBzdHJlYW0gYmFzZWQgb24gYSBtZW1vcnkgYnVmZmVyLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YnVmZmVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBtZW1vcnkgYnVmZmVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IGlucHV0IHN0cmVhbTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbE5leHRDaGFyIiBpZD0ieG1sTmV4dENoYXIiPjwvYT5GdW5jdGlvbjogeG1sTmV4dENoYXI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbE5leHRDaGFyCQkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8YnIgLz4KKzwvcHJlPjxwPlNraXAgdG8gdGhlIG5leHQgY2hhciBpbnB1dCBjaGFyLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxQYXJzZUF0dFZhbHVlIiBpZD0ieG1sUGFyc2VBdHRWYWx1ZSI+PC9hPkZ1bmN0aW9uOiB4bWxQYXJzZUF0dFZhbHVlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sUGFyc2VBdHRWYWx1ZQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTxiciAvPgorPC9wcmU+PHA+cGFyc2UgYSB2YWx1ZSBmb3IgYW4gPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBOb3RlOiB0aGUgcGFyc2VyIHdvbid0IGRvIHN1YnN0aXR1dGlvbiBvZiBlbnRpdGllcyBoZXJlLCB0aGlzIHdpbGwgYmUgaGFuZGxlZCBsYXRlciBpbiA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFN0cmluZ0dldE5vZGVMaXN0Ij54bWxTdHJpbmdHZXROb2RlTGlzdDwvYT4gWzEwXSBBdHRWYWx1ZSA6Oj0gJyInIChbXiZsdDsmYW1wOyJdIHwgUmVmZXJlbmNlKSogJyInIHwgIiciIChbXiZsdDsmYW1wOyddIHwgUmVmZXJlbmNlKSogIiciIDMuMy4zIEF0dHJpYnV0ZS1WYWx1ZSBOb3JtYWxpemF0aW9uOiBCZWZvcmUgdGhlIHZhbHVlIG9mIGFuIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gaXMgcGFzc2VkIHRvIHRoZSBhcHBsaWNhdGlvbiBvciBjaGVja2VkIGZvciB2YWxpZGl0eSwgdGhlIFhNTCBwcm9jZXNzb3IgbXVzdCBub3JtYWxpemUgaXQgYXMgZm9sbG93czogLSBhIGNoYXJhY3RlciA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjcmVmZXJlbmNlIj5yZWZlcmVuY2U8L2E+IGlzIHByb2Nlc3NlZCBieSBhcHBlbmRpbmcgdGhlIHJlZmVyZW5jZWQgY2hhcmFjdGVyIHRvIHRoZSA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IHZhbHVlIC0gYW4gZW50aXR5IDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNyZWZlcmVuY2UiPnJlZmVyZW5jZTwvYT4gaXMgcHJvY2Vzc2VkIGJ5IHJlY3Vyc2l2ZWx5IHByb2Nlc3NpbmcgdGhlIHJlcGxhY2VtZW50IHRleHQgb2YgdGhlIGVudGl0eSAtIGEgd2hpdGVzcGFjZSBjaGFyYWN0ZXIgKCN4MjAsICN4RCwgI3hBLCAjeDkpIGlzIHByb2Nlc3NlZCBieSBhcHBlbmRpbmcgI3gyMCB0byB0aGUgbm9ybWFsaXplZCB2YWx1ZSwgZXhjZXB0IHRoYXQgb25seSBhIHNpbmdsZSAjeDIwIGlzIGFwcGVuZGVkIGZvciBhICIjeEQjeEEiIHNlcXVlbmNlIHRoYXQgaXMgcGFydCBvZiBhbiBleHRlcm5hbCBwYXJzZWQgZW50aXR5IG9yIHRoZSBsaXRlcmFsIGVudGl0eSB2YWx1ZSBvZiBhbiBpbnRlcm5hbCBwYXJzZWQgZW50aXR5IC0gb3RoZXIgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2NoYXJhY3RlcnMiPmNoYXJhY3RlcnM8L2E+IGFyZSBwcm9jZXNzZWQgYnkgYXBwZW5kaW5nIHRoZW0gdG8gdGhlIG5vcm1hbGl6ZWQgdmFsdWUgSWYgdGhlIGRlY2xhcmVkIHZhbHVlIGlzIG5vdCBDREFUQSwgdGhlbiB0aGUgWE1MIHByb2Nlc3NvciBtdXN0IGZ1cnRoZXIgcHJvY2VzcyB0aGUgbm9ybWFsaXplZCA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IHZhbHVlIGJ5IGRpc2NhcmRpbmcgYW55IGxlYWRpbmcgYW5kIHRyYWlsaW5nIHNwYWNlICgjeDIwKSBjaGFyYWN0ZXJzLCBhbmQgYnkgcmVwbGFjaW5nIHNlcXVlbmNlcyBvZiBzcGFjZSAoI3gyMCkgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2NoYXJhY3RlcnMiPmNoYXJhY3RlcnM8L2E+IGJ5IGEgc2luZ2xlIHNwYWNlICgjeDIwKSBjaGFyYWN0ZXIuIEFsbCBhdHRyaWJ1dGVzIGZvciB3aGljaCBubyBkZWNsYXJhdGlvbiBoYXMgYmVlbiByZWFkIHNob3VsZCBiZSB0cmVhdGVkIGJ5IGEgbm9uLXZhbGlkYXRpbmcgcGFyc2VyIGFzIGlmIGRlY2xhcmVkIENEQVRBLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIEF0dFZhbHVlIHBhcnNlZCBvciBOVUxMLiBUaGUgdmFsdWUgaGFzIHRvIGJlIGZyZWVkIGJ5IHRoZSBjYWxsZXIuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sUGFyc2VBdHRyaWJ1dGUiIGlkPSJ4bWxQYXJzZUF0dHJpYnV0ZSI+PC9hPkZ1bmN0aW9uOiB4bWxQYXJzZUF0dHJpYnV0ZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbFBhcnNlQXR0cmlidXRlCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqKiB2YWx1ZSk8YnIgLz4KKzwvcHJlPjxwPnBhcnNlIGFuIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gWzQxXSBBdHRyaWJ1dGUgOjo9IE5hbWUgRXEgQXR0VmFsdWUgWyBXRkM6IE5vIEV4dGVybmFsIEVudGl0eSBSZWZlcmVuY2VzIF0gQXR0cmlidXRlIHZhbHVlcyBjYW5ub3QgY29udGFpbiBkaXJlY3Qgb3IgaW5kaXJlY3QgZW50aXR5IHJlZmVyZW5jZXMgdG8gZXh0ZXJuYWwgZW50aXRpZXMuIFsgV0ZDOiBObyAmbHQ7IGluIEF0dHJpYnV0ZSBWYWx1ZXMgXSBUaGUgcmVwbGFjZW1lbnQgdGV4dCBvZiBhbnkgZW50aXR5IHJlZmVycmVkIHRvIGRpcmVjdGx5IG9yIGluZGlyZWN0bHkgaW4gYW4gPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiB2YWx1ZSAob3RoZXIgdGhhbiAiJmFtcDtsdDsiKSBtdXN0IG5vdCBjb250YWluIGEgJmx0Oy4gWyBWQzogQXR0cmlidXRlIFZhbHVlIFR5cGUgXSBUaGUgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBtdXN0IGhhdmUgYmVlbiBkZWNsYXJlZDsgdGhlIHZhbHVlIG11c3QgYmUgb2YgdGhlIHR5cGUgZGVjbGFyZWQgZm9yIGl0LiBbMjVdIEVxIDo6PSBTPyAnPScgUz8gV2l0aCBuYW1lc3BhY2U6IFtOUyAxMV0gQXR0cmlidXRlIDo6PSBRTmFtZSBFcSBBdHRWYWx1ZSBBbHNvIHRoZSBjYXNlIFFOYW1lID09IHhtbG5zOj8/PyBpcyBoYW5kbGVkIGluZGVwZW5kZW50bHkgYXMgYSBuYW1lc3BhY2UgZGVmaW5pdGlvbi48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbHVlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqKiB1c2VkIHRvIHN0b3JlIHRoZSB2YWx1ZSBvZiB0aGUgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gbmFtZSwgYW5kIHRoZSB2YWx1ZSBpbiAqdmFsdWUuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sUGFyc2VBdHRyaWJ1dGVMaXN0RGVjbCIgaWQ9InhtbFBhcnNlQXR0cmlidXRlTGlzdERlY2wiPjwvYT5GdW5jdGlvbjogeG1sUGFyc2VBdHRyaWJ1dGVMaXN0RGVjbDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sUGFyc2VBdHRyaWJ1dGVMaXN0RGVjbAkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTxiciAvPgorPC9wcmU+PHA+OiBwYXJzZSB0aGUgQXR0cmlidXRlIGxpc3QgZGVmIGZvciBhbiBlbGVtZW50IFs1Ml0gQXR0bGlzdERlY2wgOjo9ICcmbHQ7IUFUVExJU1QnIFMgTmFtZSBBdHREZWYqIFM/ICcmZ3Q7JyBbNTNdIEF0dERlZiA6Oj0gUyBOYW1lIFMgQXR0VHlwZSBTIERlZmF1bHREZWNsPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sUGFyc2VBdHRyaWJ1dGVUeXBlIiBpZD0ieG1sUGFyc2VBdHRyaWJ1dGVUeXBlIj48L2E+RnVuY3Rpb246IHhtbFBhcnNlQXR0cmlidXRlVHlwZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxQYXJzZUF0dHJpYnV0ZVR5cGUJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRW51bWVyYXRpb25QdHIiPnhtbEVudW1lcmF0aW9uUHRyPC9hPiAqIHRyZWUpPGJyIC8+Cis8L3ByZT48cD5wYXJzZSB0aGUgQXR0cmlidXRlIGxpc3QgZGVmIGZvciBhbiBlbGVtZW50IFs1NF0gQXR0VHlwZSA6Oj0gU3RyaW5nVHlwZSB8IFRva2VuaXplZFR5cGUgfCBFbnVtZXJhdGVkVHlwZSBbNTVdIFN0cmluZ1R5cGUgOjo9ICdDREFUQScgWzU2XSBUb2tlbml6ZWRUeXBlIDo6PSAnSUQnIHwgJ0lEUkVGJyB8ICdJRFJFRlMnIHwgJ0VOVElUWScgfCAnRU5USVRJRVMnIHwgJ05NVE9LRU4nIHwgJ05NVE9LRU5TJyBWYWxpZGl0eSBjb25zdHJhaW50cyBmb3IgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiB2YWx1ZXMgc3ludGF4IGFyZSBjaGVja2VkIGluIHhtbFZhbGlkYXRlQXR0cmlidXRlVmFsdWUoKSBbIFZDOiBJRCBdIFZhbHVlcyBvZiB0eXBlIElEIG11c3QgbWF0Y2ggdGhlIE5hbWUgcHJvZHVjdGlvbi4gQSBuYW1lIG11c3Qgbm90IGFwcGVhciBtb3JlIHRoYW4gb25jZSBpbiBhbiBYTUwgZG9jdW1lbnQgYXMgYSB2YWx1ZSBvZiB0aGlzIHR5cGU7IGkuZS4sIElEIHZhbHVlcyBtdXN0IHVuaXF1ZWx5IGlkZW50aWZ5IHRoZSBlbGVtZW50cyB3aGljaCBiZWFyIHRoZW0uIFsgVkM6IE9uZSBJRCBwZXIgRWxlbWVudCBUeXBlIF0gTm8gZWxlbWVudCB0eXBlIG1heSBoYXZlIG1vcmUgdGhhbiBvbmUgSUQgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBzcGVjaWZpZWQuIFsgVkM6IElEIEF0dHJpYnV0ZSBEZWZhdWx0IF0gQW4gSUQgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBtdXN0IGhhdmUgYSBkZWNsYXJlZCBkZWZhdWx0IG9mICNJTVBMSUVEIG9yICNSRVFVSVJFRC4gWyBWQzogSURSRUYgXSBWYWx1ZXMgb2YgdHlwZSBJRFJFRiBtdXN0IG1hdGNoIHRoZSBOYW1lIHByb2R1Y3Rpb24sIGFuZCB2YWx1ZXMgb2YgdHlwZSBJRFJFRlMgbXVzdCBtYXRjaCBOYW1lczsgZWFjaCBJRFJFRiBOYW1lIG11c3QgbWF0Y2ggdGhlIHZhbHVlIG9mIGFuIElEIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gb24gc29tZSBlbGVtZW50IGluIHRoZSBYTUwgZG9jdW1lbnQ7IGkuZS4gSURSRUYgdmFsdWVzIG11c3QgbWF0Y2ggdGhlIHZhbHVlIG9mIHNvbWUgSUQgYXR0cmlidXRlLiBbIFZDOiBFbnRpdHkgTmFtZSBdIFZhbHVlcyBvZiB0eXBlIEVOVElUWSBtdXN0IG1hdGNoIHRoZSBOYW1lIHByb2R1Y3Rpb24sIHZhbHVlcyBvZiB0eXBlIEVOVElUSUVTIG11c3QgbWF0Y2ggTmFtZXM7IGVhY2ggRW50aXR5IE5hbWUgbXVzdCBtYXRjaCB0aGUgbmFtZSBvZiBhbiB1bnBhcnNlZCBlbnRpdHkgZGVjbGFyZWQgaW4gdGhlIERURC4gWyBWQzogTmFtZSBUb2tlbiBdIFZhbHVlcyBvZiB0eXBlIE5NVE9LRU4gbXVzdCBtYXRjaCB0aGUgTm10b2tlbiBwcm9kdWN0aW9uOyB2YWx1ZXMgb2YgdHlwZSBOTVRPS0VOUyBtdXN0IG1hdGNoIE5tdG9rZW5zLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dHJlZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVudW1lcmF0aW9uIHRyZWUgYnVpbHQgd2hpbGUgcGFyc2luZzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gdHlwZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFBhcnNlQ0RTZWN0IiBpZD0ieG1sUGFyc2VDRFNlY3QiPjwvYT5GdW5jdGlvbjogeG1sUGFyc2VDRFNlY3Q8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFBhcnNlQ0RTZWN0CQkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8YnIgLz4KKzwvcHJlPjxwPlBhcnNlIGVzY2FwZWQgcHVyZSByYXcgY29udGVudC4gWzE4XSBDRFNlY3QgOjo9IENEU3RhcnQgQ0RhdGEgQ0RFbmQgWzE5XSBDRFN0YXJ0IDo6PSAnJmx0OyFbQ0RBVEFbJyBbMjBdIERhdGEgOjo9IChDaGFyKiAtIChDaGFyKiAnXV0mZ3Q7JyBDaGFyKikpIFsyMV0gQ0RFbmQgOjo9ICddXSZndDsnPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sUGFyc2VDaGFyRGF0YSIgaWQ9InhtbFBhcnNlQ2hhckRhdGEiPjwvYT5GdW5jdGlvbjogeG1sUGFyc2VDaGFyRGF0YTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sUGFyc2VDaGFyRGF0YQkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgaW50IGNkYXRhKTxiciAvPgorPC9wcmU+PHA+cGFyc2UgYSBDaGFyRGF0YSBzZWN0aW9uLiBpZiB3ZSBhcmUgd2l0aGluIGEgQ0RBVEEgc2VjdGlvbiAnXV0mZ3Q7JyBtYXJrcyBhbiBlbmQgb2Ygc2VjdGlvbi4gVGhlIHJpZ2h0IGFuZ2xlIGJyYWNrZXQgKCZndDspIG1heSBiZSByZXByZXNlbnRlZCB1c2luZyB0aGUgc3RyaW5nICImYW1wO2d0OyIsIGFuZCBtdXN0LCBmb3IgY29tcGF0aWJpbGl0eSwgYmUgZXNjYXBlZCB1c2luZyAiJmFtcDtndDsiIG9yIGEgY2hhcmFjdGVyIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNyZWZlcmVuY2UiPnJlZmVyZW5jZTwvYT4gd2hlbiBpdCBhcHBlYXJzIGluIHRoZSBzdHJpbmcgIl1dJmd0OyIgaW4gY29udGVudCwgd2hlbiB0aGF0IHN0cmluZyBpcyBub3QgbWFya2luZyB0aGUgZW5kIG9mIGEgQ0RBVEEgc2VjdGlvbi4gWzE0XSBDaGFyRGF0YSA6Oj0gW14mbHQ7JmFtcDtdKiAtIChbXiZsdDsmYW1wO10qICddXSZndDsnIFteJmx0OyZhbXA7XSopPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jZGF0YTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+aW50IGluZGljYXRpbmcgd2hldGhlciB3ZSBhcmUgd2l0aGluIGEgQ0RBVEEgc2VjdGlvbjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFBhcnNlQ2hhclJlZiIgaWQ9InhtbFBhcnNlQ2hhclJlZiI+PC9hPkZ1bmN0aW9uOiB4bWxQYXJzZUNoYXJSZWY8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sUGFyc2VDaGFyUmVmCQkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8YnIgLz4KKzwvcHJlPjxwPnBhcnNlIFJlZmVyZW5jZSBkZWNsYXJhdGlvbnMgWzY2XSBDaGFyUmVmIDo6PSAnJmFtcDsjJyBbMC05XSsgJzsnIHwgJyZhbXA7I3gnIFswLTlhLWZBLUZdKyAnOycgWyBXRkM6IExlZ2FsIENoYXJhY3RlciBdIENoYXJhY3RlcnMgcmVmZXJyZWQgdG8gdXNpbmcgY2hhcmFjdGVyIHJlZmVyZW5jZXMgbXVzdCBtYXRjaCB0aGUgcHJvZHVjdGlvbiBmb3IgQ2hhci48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB2YWx1ZSBwYXJzZWQgKGFzIGFuIGludCksIDAgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFBhcnNlQ29tbWVudCIgaWQ9InhtbFBhcnNlQ29tbWVudCI+PC9hPkZ1bmN0aW9uOiB4bWxQYXJzZUNvbW1lbnQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFBhcnNlQ29tbWVudAkJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPGJyIC8+Cis8L3ByZT48cD5Ta2lwIGFuIFhNTCAoU0dNTCkgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2NvbW1lbnQiPmNvbW1lbnQ8L2E+ICZsdDshLS0gLi4uLiAtLSZndDsgVGhlIHNwZWMgc2F5cyB0aGF0ICJGb3IgY29tcGF0aWJpbGl0eSwgdGhlIHN0cmluZyAiLS0iIChkb3VibGUtaHlwaGVuKSBtdXN0IG5vdCBvY2N1ciB3aXRoaW4gY29tbWVudHMuICIgWzE1XSBDb21tZW50IDo6PSAnJmx0OyEtLScgKChDaGFyIC0gJy0nKSB8ICgnLScgKENoYXIgLSAnLScpKSkqICctLSZndDsnPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sUGFyc2VDb250ZW50IiBpZD0ieG1sUGFyc2VDb250ZW50Ij48L2E+RnVuY3Rpb246IHhtbFBhcnNlQ29udGVudDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sUGFyc2VDb250ZW50CQkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8YnIgLz4KKzwvcHJlPjxwPlBhcnNlIGEgY29udGVudDogWzQzXSBjb250ZW50IDo6PSAoZWxlbWVudCB8IENoYXJEYXRhIHwgUmVmZXJlbmNlIHwgQ0RTZWN0IHwgUEkgfCBDb21tZW50KSo8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxQYXJzZURlZmF1bHREZWNsIiBpZD0ieG1sUGFyc2VEZWZhdWx0RGVjbCI+PC9hPkZ1bmN0aW9uOiB4bWxQYXJzZURlZmF1bHREZWNsPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFBhcnNlRGVmYXVsdERlY2wJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqKiB2YWx1ZSk8YnIgLz4KKzwvcHJlPjxwPlBhcnNlIGFuIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gZGVmYXVsdCBkZWNsYXJhdGlvbiBbNjBdIERlZmF1bHREZWNsIDo6PSAnI1JFUVVJUkVEJyB8ICcjSU1QTElFRCcgfCAoKCcjRklYRUQnIFMpPyBBdHRWYWx1ZSkgWyBWQzogUmVxdWlyZWQgQXR0cmlidXRlIF0gaWYgdGhlIGRlZmF1bHQgZGVjbGFyYXRpb24gaXMgdGhlIGtleXdvcmQgI1JFUVVJUkVELCB0aGVuIHRoZSA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IG11c3QgYmUgc3BlY2lmaWVkIGZvciBhbGwgZWxlbWVudHMgb2YgdGhlIHR5cGUgaW4gdGhlIGF0dHJpYnV0ZS1saXN0IGRlY2xhcmF0aW9uLiBbIFZDOiBBdHRyaWJ1dGUgRGVmYXVsdCBMZWdhbCBdIFRoZSBkZWNsYXJlZCBkZWZhdWx0IHZhbHVlIG11c3QgbWVldCB0aGUgbGV4aWNhbCBjb25zdHJhaW50cyBvZiB0aGUgZGVjbGFyZWQgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiB0eXBlIGMuZi4geG1sVmFsaWRhdGVBdHRyaWJ1dGVEZWNsKCkgWyBWQzogRml4ZWQgQXR0cmlidXRlIERlZmF1bHQgXSBpZiBhbiA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IGhhcyBhIGRlZmF1bHQgdmFsdWUgZGVjbGFyZWQgd2l0aCB0aGUgI0ZJWEVEIGtleXdvcmQsIGluc3RhbmNlcyBvZiB0aGF0IDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gbXVzdCBtYXRjaCB0aGUgZGVmYXVsdCB2YWx1ZS4gWyBXRkM6IE5vICZsdDsgaW4gQXR0cmlidXRlIFZhbHVlcyBdIGhhbmRsZWQgaW4geG1sUGFyc2VBdHRWYWx1ZSgpPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWx1ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+UmVjZWl2ZSBhIHBvc3NpYmxlIGZpeGVkIGRlZmF1bHQgdmFsdWUgZm9yIHRoZSA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5YTUxfQVRUUklCVVRFX05PTkUsIFhNTF9BVFRSSUJVVEVfUkVRVUlSRUQsIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjWE1MX0FUVFJJQlVURV9JTVBMSUVEIj5YTUxfQVRUUklCVVRFX0lNUExJRUQ8L2E+IG9yIFhNTF9BVFRSSUJVVEVfRklYRUQuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sUGFyc2VEb2NUeXBlRGVjbCIgaWQ9InhtbFBhcnNlRG9jVHlwZURlY2wiPjwvYT5GdW5jdGlvbjogeG1sUGFyc2VEb2NUeXBlRGVjbDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sUGFyc2VEb2NUeXBlRGVjbAkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8YnIgLz4KKzwvcHJlPjxwPnBhcnNlIGEgRE9DVFlQRSBkZWNsYXJhdGlvbiBbMjhdIGRvY3R5cGVkZWNsIDo6PSAnJmx0OyFET0NUWVBFJyBTIE5hbWUgKFMgRXh0ZXJuYWxJRCk/IFM/ICgnWycgKG1hcmt1cGRlY2wgfCBQRVJlZmVyZW5jZSB8IFMpKiAnXScgUz8pPyAnJmd0OycgWyBWQzogUm9vdCBFbGVtZW50IFR5cGUgXSBUaGUgTmFtZSBpbiB0aGUgZG9jdW1lbnQgdHlwZSBkZWNsYXJhdGlvbiBtdXN0IG1hdGNoIHRoZSBlbGVtZW50IHR5cGUgb2YgdGhlIHJvb3QgZWxlbWVudC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxQYXJzZUVsZW1lbnQiIGlkPSJ4bWxQYXJzZUVsZW1lbnQiPjwvYT5GdW5jdGlvbjogeG1sUGFyc2VFbGVtZW50PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxQYXJzZUVsZW1lbnQJCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTxiciAvPgorPC9wcmU+PHA+cGFyc2UgYW4gWE1MIGVsZW1lbnQsIHRoaXMgaXMgaGlnaGx5IHJlY3Vyc2l2ZSBbMzldIGVsZW1lbnQgOjo9IEVtcHR5RWxlbVRhZyB8IFNUYWcgY29udGVudCBFVGFnIFsgV0ZDOiBFbGVtZW50IFR5cGUgTWF0Y2ggXSBUaGUgTmFtZSBpbiBhbiBlbGVtZW50J3MgZW5kLXRhZyBtdXN0IG1hdGNoIHRoZSBlbGVtZW50IHR5cGUgaW4gdGhlIHN0YXJ0LXRhZy48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxQYXJzZUVsZW1lbnRDaGlsZHJlbkNvbnRlbnREZWNsIiBpZD0ieG1sUGFyc2VFbGVtZW50Q2hpbGRyZW5Db250ZW50RGVjbCI+PC9hPkZ1bmN0aW9uOiB4bWxQYXJzZUVsZW1lbnRDaGlsZHJlbkNvbnRlbnREZWNsPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxFbGVtZW50Q29udGVudFB0ciI+eG1sRWxlbWVudENvbnRlbnRQdHI8L2E+CXhtbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2wJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkJCSBpbnQgaW5wdXRjaGspPGJyIC8+Cis8L3ByZT48cD5wYXJzZSB0aGUgZGVjbGFyYXRpb24gZm9yIGEgTWl4ZWQgRWxlbWVudCBjb250ZW50IFRoZSBsZWFkaW5nICcoJyBhbmQgc3BhY2VzIGhhdmUgYmVlbiBza2lwcGVkIGluIDxhIGhyZWY9ImxpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVsZW1lbnRDb250ZW50RGVjbCI+eG1sUGFyc2VFbGVtZW50Q29udGVudERlY2w8L2E+IFs0N10gY2hpbGRyZW4gOjo9IChjaG9pY2UgfCBzZXEpICgnPycgfCAnKicgfCAnKycpPyBbNDhdIGNwIDo6PSAoTmFtZSB8IGNob2ljZSB8IHNlcSkgKCc/JyB8ICcqJyB8ICcrJyk/IFs0OV0gY2hvaWNlIDo6PSAnKCcgUz8gY3AgKCBTPyAnfCcgUz8gY3AgKSogUz8gJyknIFs1MF0gc2VxIDo6PSAnKCcgUz8gY3AgKCBTPyAnLCcgUz8gY3AgKSogUz8gJyknIFsgVkM6IFByb3BlciBHcm91cC9QRSBOZXN0aW5nIF0gYXBwbGllcyB0byBbNDldIGFuZCBbNTBdIFRPRE8gUGFyYW1ldGVyLWVudGl0eSByZXBsYWNlbWVudCB0ZXh0IG11c3QgYmUgcHJvcGVybHkgbmVzdGVkIHdpdGggcGFyZW50aGVzaXplZCBncm91cHMuIFRoYXQgaXMgdG8gc2F5LCBpZiBlaXRoZXIgb2YgdGhlIG9wZW5pbmcgb3IgY2xvc2luZyBwYXJlbnRoZXNlcyBpbiBhIGNob2ljZSwgc2VxLCBvciBNaXhlZCBjb25zdHJ1Y3QgaXMgY29udGFpbmVkIGluIHRoZSByZXBsYWNlbWVudCB0ZXh0IGZvciBhIHBhcmFtZXRlciBlbnRpdHksIGJvdGggbXVzdCBiZSBjb250YWluZWQgaW4gdGhlIHNhbWUgcmVwbGFjZW1lbnQgdGV4dC4gRm9yIGludGVyb3BlcmFiaWxpdHksIGlmIGEgcGFyYW1ldGVyLWVudGl0eSA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjcmVmZXJlbmNlIj5yZWZlcmVuY2U8L2E+IGFwcGVhcnMgaW4gYSBjaG9pY2UsIHNlcSwgb3IgTWl4ZWQgY29uc3RydWN0LCBpdHMgcmVwbGFjZW1lbnQgdGV4dCBzaG91bGQgbm90IGJlIGVtcHR5LCBhbmQgbmVpdGhlciB0aGUgZmlyc3Qgbm9yIGxhc3Qgbm9uLWJsYW5rIGNoYXJhY3RlciBvZiB0aGUgcmVwbGFjZW1lbnQgdGV4dCBzaG91bGQgYmUgYSBjb25uZWN0b3IgKHwgb3IgLCkuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pbnB1dGNoazwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGlucHV0IHVzZWQgZm9yIHRoZSBjdXJyZW50IGVudGl0eSwgbmVlZGVkIGZvciBib3VuZGFyeSBjaGVja3M8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB0cmVlIG9mIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRWxlbWVudENvbnRlbnRQdHIiPnhtbEVsZW1lbnRDb250ZW50UHRyPC9hPiBkZXNjcmliaW5nIHRoZSBlbGVtZW50IGhpZXJhcmNoeS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxQYXJzZUVsZW1lbnRDb250ZW50RGVjbCIgaWQ9InhtbFBhcnNlRWxlbWVudENvbnRlbnREZWNsIj48L2E+RnVuY3Rpb246IHhtbFBhcnNlRWxlbWVudENvbnRlbnREZWNsPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFBhcnNlRWxlbWVudENvbnRlbnREZWNsCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRWxlbWVudENvbnRlbnRQdHIiPnhtbEVsZW1lbnRDb250ZW50UHRyPC9hPiAqIHJlc3VsdCk8YnIgLz4KKzwvcHJlPjxwPnBhcnNlIHRoZSBkZWNsYXJhdGlvbiBmb3IgYW4gRWxlbWVudCBjb250ZW50IGVpdGhlciBNaXhlZCBvciBDaGlsZHJlbiwgdGhlIGNhc2VzIEVNUFRZIGFuZCBBTlkgYXJlIGhhbmRsZWQgZGlyZWN0bHkgaW4gPGEgaHJlZj0ibGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRWxlbWVudERlY2wiPnhtbFBhcnNlRWxlbWVudERlY2w8L2E+IFs0Nl0gY29udGVudHNwZWMgOjo9ICdFTVBUWScgfCAnQU5ZJyB8IE1peGVkIHwgY2hpbGRyZW48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lIG9mIHRoZSBlbGVtZW50IGJlaW5nIGRlZmluZWQuPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZXN1bHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBFbGVtZW50IENvbnRlbnQgcG9pbnRlciB3aWxsIGJlIHN0b3JlZCBoZXJlIGlmIGFueTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHR5cGUgb2YgZWxlbWVudCBjb250ZW50IFhNTF9FTEVNRU5UX1RZUEVfeHh4PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sUGFyc2VFbGVtZW50RGVjbCIgaWQ9InhtbFBhcnNlRWxlbWVudERlY2wiPjwvYT5GdW5jdGlvbjogeG1sUGFyc2VFbGVtZW50RGVjbDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxQYXJzZUVsZW1lbnREZWNsCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTxiciAvPgorPC9wcmU+PHA+cGFyc2UgYW4gRWxlbWVudCBkZWNsYXJhdGlvbi4gWzQ1XSBlbGVtZW50ZGVjbCA6Oj0gJyZsdDshRUxFTUVOVCcgUyBOYW1lIFMgY29udGVudHNwZWMgUz8gJyZndDsnIFsgVkM6IFVuaXF1ZSBFbGVtZW50IFR5cGUgRGVjbGFyYXRpb24gXSBObyBlbGVtZW50IHR5cGUgbWF5IGJlIGRlY2xhcmVkIG1vcmUgdGhhbiBvbmNlPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdHlwZSBvZiB0aGUgZWxlbWVudCwgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFBhcnNlRWxlbWVudE1peGVkQ29udGVudERlY2wiIGlkPSJ4bWxQYXJzZUVsZW1lbnRNaXhlZENvbnRlbnREZWNsIj48L2E+RnVuY3Rpb246IHhtbFBhcnNlRWxlbWVudE1peGVkQ29udGVudERlY2w8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVsZW1lbnRDb250ZW50UHRyIj54bWxFbGVtZW50Q29udGVudFB0cjwvYT4JeG1sUGFyc2VFbGVtZW50TWl4ZWRDb250ZW50RGVjbAkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCQkJIGludCBpbnB1dGNoayk8YnIgLz4KKzwvcHJlPjxwPnBhcnNlIHRoZSBkZWNsYXJhdGlvbiBmb3IgYSBNaXhlZCBFbGVtZW50IGNvbnRlbnQgVGhlIGxlYWRpbmcgJygnIGFuZCBzcGFjZXMgaGF2ZSBiZWVuIHNraXBwZWQgaW4gPGEgaHJlZj0ibGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRWxlbWVudENvbnRlbnREZWNsIj54bWxQYXJzZUVsZW1lbnRDb250ZW50RGVjbDwvYT4gWzUxXSBNaXhlZCA6Oj0gJygnIFM/ICcjUENEQVRBJyAoUz8gJ3wnIFM/IE5hbWUpKiBTPyAnKSonIHwgJygnIFM/ICcjUENEQVRBJyBTPyAnKScgWyBWQzogUHJvcGVyIEdyb3VwL1BFIE5lc3RpbmcgXSBhcHBsaWVzIHRvIFs1MV0gdG9vIChzZWUgWzQ5XSkgWyBWQzogTm8gRHVwbGljYXRlIFR5cGVzIF0gVGhlIHNhbWUgbmFtZSBtdXN0IG5vdCBhcHBlYXIgbW9yZSB0aGFuIG9uY2UgaW4gYSBzaW5nbGUgbWl4ZWQtY29udGVudCBkZWNsYXJhdGlvbi48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmlucHV0Y2hrPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaW5wdXQgdXNlZCBmb3IgdGhlIGN1cnJlbnQgZW50aXR5LCBuZWVkZWQgZm9yIGJvdW5kYXJ5IGNoZWNrczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxpc3Qgb2YgdGhlIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRWxlbWVudENvbnRlbnRQdHIiPnhtbEVsZW1lbnRDb250ZW50UHRyPC9hPiBkZXNjcmliaW5nIHRoZSBlbGVtZW50IGNob2ljZXM8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxQYXJzZUVuY05hbWUiIGlkPSJ4bWxQYXJzZUVuY05hbWUiPjwvYT5GdW5jdGlvbjogeG1sUGFyc2VFbmNOYW1lPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sUGFyc2VFbmNOYW1lCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTxiciAvPgorPC9wcmU+PHA+cGFyc2UgdGhlIFhNTCBlbmNvZGluZyBuYW1lIFs4MV0gRW5jTmFtZSA6Oj0gW0EtWmEtel0gKFtBLVphLXowLTkuX10gfCAnLScpKjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVuY29kaW5nIG5hbWUgdmFsdWUgb3IgTlVMTDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFBhcnNlRW5jb2RpbmdEZWNsIiBpZD0ieG1sUGFyc2VFbmNvZGluZ0RlY2wiPjwvYT5GdW5jdGlvbjogeG1sUGFyc2VFbmNvZGluZ0RlY2w8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5jb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxQYXJzZUVuY29kaW5nRGVjbAkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTxiciAvPgorPC9wcmU+PHA+cGFyc2UgdGhlIFhNTCBlbmNvZGluZyBkZWNsYXJhdGlvbiBbODBdIEVuY29kaW5nRGVjbCA6Oj0gUyAnZW5jb2RpbmcnIEVxICgnIicgRW5jTmFtZSAnIicgfCAiJyIgRW5jTmFtZSAiJyIpIHRoaXMgc2V0dXBzIHRoZSBjb252ZXJzaW9uIGZpbHRlcnMuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZW5jb2RpbmcgdmFsdWUgb3IgTlVMTDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFBhcnNlRW5kVGFnIiBpZD0ieG1sUGFyc2VFbmRUYWciPjwvYT5GdW5jdGlvbjogeG1sUGFyc2VFbmRUYWc8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFBhcnNlRW5kVGFnCQkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8YnIgLz4KKzwvcHJlPjxwPnBhcnNlIGFuIGVuZCBvZiB0YWcgWzQyXSBFVGFnIDo6PSAnJmx0Oy8nIE5hbWUgUz8gJyZndDsnIFdpdGggbmFtZXNwYWNlIFtOUyA5XSBFVGFnIDo6PSAnJmx0Oy8nIFFOYW1lIFM/ICcmZ3Q7JzwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFBhcnNlRW50aXR5RGVjbCIgaWQ9InhtbFBhcnNlRW50aXR5RGVjbCI+PC9hPkZ1bmN0aW9uOiB4bWxQYXJzZUVudGl0eURlY2w8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFBhcnNlRW50aXR5RGVjbAkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8YnIgLz4KKzwvcHJlPjxwPnBhcnNlICZsdDshRU5USVRZIGRlY2xhcmF0aW9ucyBbNzBdIEVudGl0eURlY2wgOjo9IEdFRGVjbCB8IFBFRGVjbCBbNzFdIEdFRGVjbCA6Oj0gJyZsdDshRU5USVRZJyBTIE5hbWUgUyBFbnRpdHlEZWYgUz8gJyZndDsnIFs3Ml0gUEVEZWNsIDo6PSAnJmx0OyFFTlRJVFknIFMgJyUnIFMgTmFtZSBTIFBFRGVmIFM/ICcmZ3Q7JyBbNzNdIEVudGl0eURlZiA6Oj0gRW50aXR5VmFsdWUgfCAoRXh0ZXJuYWxJRCBORGF0YURlY2w/KSBbNzRdIFBFRGVmIDo6PSBFbnRpdHlWYWx1ZSB8IEV4dGVybmFsSUQgWzc2XSBORGF0YURlY2wgOjo9IFMgJ05EQVRBJyBTIE5hbWUgWyBWQzogTm90YXRpb24gRGVjbGFyZWQgXSBUaGUgTmFtZSBtdXN0IG1hdGNoIHRoZSBkZWNsYXJlZCBuYW1lIG9mIGEgbm90YXRpb24uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sUGFyc2VFbnRpdHlSZWYiIGlkPSJ4bWxQYXJzZUVudGl0eVJlZiI+PC9hPkZ1bmN0aW9uOiB4bWxQYXJzZUVudGl0eVJlZjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRW50aXR5UHRyIj54bWxFbnRpdHlQdHI8L2E+CXhtbFBhcnNlRW50aXR5UmVmCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPGJyIC8+Cis8L3ByZT48cD5wYXJzZSBFTlRJVFkgcmVmZXJlbmNlcyBkZWNsYXJhdGlvbnMgWzY4XSBFbnRpdHlSZWYgOjo9ICcmYW1wOycgTmFtZSAnOycgWyBXRkM6IEVudGl0eSBEZWNsYXJlZCBdIEluIGEgZG9jdW1lbnQgd2l0aG91dCBhbnkgRFRELCBhIGRvY3VtZW50IHdpdGggb25seSBhbiBpbnRlcm5hbCBEVEQgc3Vic2V0IHdoaWNoIGNvbnRhaW5zIG5vIHBhcmFtZXRlciBlbnRpdHkgcmVmZXJlbmNlcywgb3IgYSBkb2N1bWVudCB3aXRoICJzdGFuZGFsb25lPSd5ZXMnIiwgdGhlIE5hbWUgZ2l2ZW4gaW4gdGhlIGVudGl0eSA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjcmVmZXJlbmNlIj5yZWZlcmVuY2U8L2E+IG11c3QgbWF0Y2ggdGhhdCBpbiBhbiBlbnRpdHkgZGVjbGFyYXRpb24sIGV4Y2VwdCB0aGF0IHdlbGwtZm9ybWVkIGRvY3VtZW50cyBuZWVkIG5vdCBkZWNsYXJlIGFueSBvZiB0aGUgZm9sbG93aW5nIGVudGl0aWVzOiBhbXAsIGx0LCBndCwgYXBvcywgcXVvdC4gVGhlIGRlY2xhcmF0aW9uIG9mIGEgcGFyYW1ldGVyIGVudGl0eSBtdXN0IHByZWNlZGUgYW55IDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNyZWZlcmVuY2UiPnJlZmVyZW5jZTwvYT4gdG8gaXQuIFNpbWlsYXJseSwgdGhlIGRlY2xhcmF0aW9uIG9mIGEgZ2VuZXJhbCBlbnRpdHkgbXVzdCBwcmVjZWRlIGFueSA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjcmVmZXJlbmNlIj5yZWZlcmVuY2U8L2E+IHRvIGl0IHdoaWNoIGFwcGVhcnMgaW4gYSBkZWZhdWx0IHZhbHVlIGluIGFuIGF0dHJpYnV0ZS1saXN0IGRlY2xhcmF0aW9uLiBOb3RlIHRoYXQgaWYgZW50aXRpZXMgYXJlIGRlY2xhcmVkIGluIHRoZSBleHRlcm5hbCBzdWJzZXQgb3IgaW4gZXh0ZXJuYWwgcGFyYW1ldGVyIGVudGl0aWVzLCBhIG5vbi12YWxpZGF0aW5nIHByb2Nlc3NvciBpcyBub3Qgb2JsaWdhdGVkIHRvIHJlYWQgYW5kIHByb2Nlc3MgdGhlaXIgZGVjbGFyYXRpb25zOyBmb3Igc3VjaCBkb2N1bWVudHMsIHRoZSBydWxlIHRoYXQgYW4gZW50aXR5IG11c3QgYmUgZGVjbGFyZWQgaXMgYSB3ZWxsLWZvcm1lZG5lc3MgY29uc3RyYWludCBvbmx5IGlmIHN0YW5kYWxvbmU9J3llcycuIFsgV0ZDOiBQYXJzZWQgRW50aXR5IF0gQW4gZW50aXR5IDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNyZWZlcmVuY2UiPnJlZmVyZW5jZTwvYT4gbXVzdCBub3QgY29udGFpbiB0aGUgbmFtZSBvZiBhbiB1bnBhcnNlZCBlbnRpdHk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVudGl0eVB0ciI+eG1sRW50aXR5UHRyPC9hPiBpZiBmb3VuZCwgb3IgTlVMTCBvdGhlcndpc2UuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sUGFyc2VFbnRpdHlWYWx1ZSIgaWQ9InhtbFBhcnNlRW50aXR5VmFsdWUiPjwvYT5GdW5jdGlvbjogeG1sUGFyc2VFbnRpdHlWYWx1ZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbFBhcnNlRW50aXR5VmFsdWUJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoqIG9yaWcpPGJyIC8+Cis8L3ByZT48cD5wYXJzZSBhIHZhbHVlIGZvciBFTlRJVFkgZGVjbGFyYXRpb25zIFs5XSBFbnRpdHlWYWx1ZSA6Oj0gJyInIChbXiUmYW1wOyJdIHwgUEVSZWZlcmVuY2UgfCBSZWZlcmVuY2UpKiAnIicgfCAiJyIgKFteJSZhbXA7J10gfCBQRVJlZmVyZW5jZSB8IFJlZmVyZW5jZSkqICInIjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3JpZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+aWYgbm9uLU5VTEwgc3RvcmUgYSBjb3B5IG9mIHRoZSBvcmlnaW5hbCBlbnRpdHkgdmFsdWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBFbnRpdHlWYWx1ZSBwYXJzZWQgd2l0aCA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjcmVmZXJlbmNlIj5yZWZlcmVuY2U8L2E+IHN1YnN0aXR1dGVkIG9yIE5VTEw8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxQYXJzZUVudW1lcmF0ZWRUeXBlIiBpZD0ieG1sUGFyc2VFbnVtZXJhdGVkVHlwZSI+PC9hPkZ1bmN0aW9uOiB4bWxQYXJzZUVudW1lcmF0ZWRUeXBlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFBhcnNlRW51bWVyYXRlZFR5cGUJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRW51bWVyYXRpb25QdHIiPnhtbEVudW1lcmF0aW9uUHRyPC9hPiAqIHRyZWUpPGJyIC8+Cis8L3ByZT48cD5wYXJzZSBhbiBFbnVtZXJhdGVkIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gdHlwZS4gWzU3XSBFbnVtZXJhdGVkVHlwZSA6Oj0gTm90YXRpb25UeXBlIHwgRW51bWVyYXRpb24gWzU4XSBOb3RhdGlvblR5cGUgOjo9ICdOT1RBVElPTicgUyAnKCcgUz8gTmFtZSAoUz8gJ3wnIFM/IE5hbWUpKiBTPyAnKSc8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRyZWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbnVtZXJhdGlvbiB0cmVlIGJ1aWx0IHdoaWxlIHBhcnNpbmc8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjWE1MX0FUVFJJQlVURV9FTlVNRVJBVElPTiI+WE1MX0FUVFJJQlVURV9FTlVNRVJBVElPTjwvYT4gb3IgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCNYTUxfQVRUUklCVVRFX05PVEFUSU9OIj5YTUxfQVRUUklCVVRFX05PVEFUSU9OPC9hPjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFBhcnNlRW51bWVyYXRpb25UeXBlIiBpZD0ieG1sUGFyc2VFbnVtZXJhdGlvblR5cGUiPjwvYT5GdW5jdGlvbjogeG1sUGFyc2VFbnVtZXJhdGlvblR5cGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVudW1lcmF0aW9uUHRyIj54bWxFbnVtZXJhdGlvblB0cjwvYT4JeG1sUGFyc2VFbnVtZXJhdGlvblR5cGUJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8YnIgLz4KKzwvcHJlPjxwPnBhcnNlIGFuIEVudW1lcmF0aW9uIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gdHlwZS4gWzU5XSBFbnVtZXJhdGlvbiA6Oj0gJygnIFM/IE5tdG9rZW4gKFM/ICd8JyBTPyBObXRva2VuKSogUz8gJyknIFsgVkM6IEVudW1lcmF0aW9uIF0gVmFsdWVzIG9mIHRoaXMgdHlwZSBtdXN0IG1hdGNoIG9uZSBvZiB0aGUgTm10b2tlbiB0b2tlbnMgaW4gdGhlIGRlY2xhcmF0aW9uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZW51bWVyYXRpb24gPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiB0cmVlIGJ1aWx0IHdoaWxlIHBhcnNpbmc8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxQYXJzZUV4dGVybmFsSUQiIGlkPSJ4bWxQYXJzZUV4dGVybmFsSUQiPjwvYT5GdW5jdGlvbjogeG1sUGFyc2VFeHRlcm5hbElEPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sUGFyc2VFeHRlcm5hbElECSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqKiBwdWJsaWNJRCwgPGJyIC8+CQkJCQkgaW50IHN0cmljdCk8YnIgLz4KKzwvcHJlPjxwPlBhcnNlIGFuIEV4dGVybmFsIElEIG9yIGEgUHVibGljIElEIE5PVEU6IFByb2R1Y3Rpb25zIFs3NV0gYW5kIFs4M10gaW50ZXJhY3QgYmFkbHkgc2luY2UgWzc1XSBjYW4gZ2VuZXJhdGUgJ1BVQkxJQycgUyBQdWJpZExpdGVyYWwgUyBTeXN0ZW1MaXRlcmFsIFs3NV0gRXh0ZXJuYWxJRCA6Oj0gJ1NZU1RFTScgUyBTeXN0ZW1MaXRlcmFsIHwgJ1BVQkxJQycgUyBQdWJpZExpdGVyYWwgUyBTeXN0ZW1MaXRlcmFsIFs4M10gUHVibGljSUQgOjo9ICdQVUJMSUMnIFMgUHViaWRMaXRlcmFsPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wdWJsaWNJRDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSB4bWxDaGFyKiogcmVjZWl2aW5nIFB1YmlkTGl0ZXJhbDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3RyaWN0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5pbmRpY2F0ZSB3aGV0aGVyIHdlIHNob3VsZCByZXN0cmljdCBwYXJzaW5nIHRvIG9ubHkgcHJvZHVjdGlvbiBbNzVdLCBzZWUgTk9URSBiZWxvdzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZ1bmN0aW9uIHJldHVybnMgU3lzdGVtTGl0ZXJhbCBhbmQgaW4gdGhlIHNlY29uZCBjYXNlIHB1YmxpY0lEIHJlY2VpdmVzIFB1YmlkTGl0ZXJhbCwgaXMgc3RyaWN0IGlzIG9mZiBpdCBpcyBwb3NzaWJsZSB0byByZXR1cm4gTlVMTCBhbmQgaGF2ZSBwdWJsaWNJRCBzZXQuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sUGFyc2VFeHRlcm5hbFN1YnNldCIgaWQ9InhtbFBhcnNlRXh0ZXJuYWxTdWJzZXQiPjwvYT5GdW5jdGlvbjogeG1sUGFyc2VFeHRlcm5hbFN1YnNldDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sUGFyc2VFeHRlcm5hbFN1YnNldAkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogRXh0ZXJuYWxJRCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogU3lzdGVtSUQpPGJyIC8+Cis8L3ByZT48cD5wYXJzZSBNYXJrdXAgZGVjbGFyYXRpb25zIGZyb20gYW4gZXh0ZXJuYWwgc3Vic2V0IFszMF0gZXh0U3Vic2V0IDo6PSB0ZXh0RGVjbD8gZXh0U3Vic2V0RGVjbCBbMzFdIGV4dFN1YnNldERlY2wgOjo9IChtYXJrdXBkZWNsIHwgY29uZGl0aW9uYWxTZWN0IHwgUEVSZWZlcmVuY2UgfCBTKSAqPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5FeHRlcm5hbElEPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZXh0ZXJuYWwgaWRlbnRpZmllcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+U3lzdGVtSUQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzeXN0ZW0gaWRlbnRpZmllciAob3IgVVJMKTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFBhcnNlTWFya3VwRGVjbCIgaWQ9InhtbFBhcnNlTWFya3VwRGVjbCI+PC9hPkZ1bmN0aW9uOiB4bWxQYXJzZU1hcmt1cERlY2w8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFBhcnNlTWFya3VwRGVjbAkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8YnIgLz4KKzwvcHJlPjxwPnBhcnNlIE1hcmt1cCBkZWNsYXJhdGlvbnMgWzI5XSBtYXJrdXBkZWNsIDo6PSBlbGVtZW50ZGVjbCB8IEF0dGxpc3REZWNsIHwgRW50aXR5RGVjbCB8IE5vdGF0aW9uRGVjbCB8IFBJIHwgQ29tbWVudCBbIFZDOiBQcm9wZXIgRGVjbGFyYXRpb24vUEUgTmVzdGluZyBdIFBhcmFtZXRlci1lbnRpdHkgcmVwbGFjZW1lbnQgdGV4dCBtdXN0IGJlIHByb3Blcmx5IG5lc3RlZCB3aXRoIG1hcmt1cCBkZWNsYXJhdGlvbnMuIFRoYXQgaXMgdG8gc2F5LCBpZiBlaXRoZXIgdGhlIGZpcnN0IGNoYXJhY3RlciBvciB0aGUgbGFzdCBjaGFyYWN0ZXIgb2YgYSBtYXJrdXAgZGVjbGFyYXRpb24gKG1hcmt1cGRlY2wgYWJvdmUpIGlzIGNvbnRhaW5lZCBpbiB0aGUgcmVwbGFjZW1lbnQgdGV4dCBmb3IgYSBwYXJhbWV0ZXItZW50aXR5IHJlZmVyZW5jZSwgYm90aCBtdXN0IGJlIGNvbnRhaW5lZCBpbiB0aGUgc2FtZSByZXBsYWNlbWVudCB0ZXh0LiBbIFdGQzogUEVzIGluIEludGVybmFsIFN1YnNldCBdIEluIHRoZSBpbnRlcm5hbCBEVEQgc3Vic2V0LCBwYXJhbWV0ZXItZW50aXR5IHJlZmVyZW5jZXMgY2FuIG9jY3VyIG9ubHkgd2hlcmUgbWFya3VwIGRlY2xhcmF0aW9ucyBjYW4gb2NjdXIsIG5vdCB3aXRoaW4gbWFya3VwIGRlY2xhcmF0aW9ucy4gKFRoaXMgZG9lcyBub3QgYXBwbHkgdG8gcmVmZXJlbmNlcyB0aGF0IG9jY3VyIGluIGV4dGVybmFsIHBhcmFtZXRlciBlbnRpdGllcyBvciB0byB0aGUgZXh0ZXJuYWwgc3Vic2V0Lik8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxQYXJzZU1pc2MiIGlkPSJ4bWxQYXJzZU1pc2MiPjwvYT5GdW5jdGlvbjogeG1sUGFyc2VNaXNjPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxQYXJzZU1pc2MJCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTxiciAvPgorPC9wcmU+PHA+cGFyc2UgYW4gWE1MIE1pc2MqIG9wdGlvbmFsIGZpZWxkLiBbMjddIE1pc2MgOjo9IENvbW1lbnQgfCBQSSB8IFM8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxQYXJzZU5hbWUiIGlkPSJ4bWxQYXJzZU5hbWUiPjwvYT5GdW5jdGlvbjogeG1sUGFyc2VOYW1lPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Y29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sUGFyc2VOYW1lCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTxiciAvPgorPC9wcmU+PHA+cGFyc2UgYW4gWE1MIG5hbWUuIFs0XSBOYW1lQ2hhciA6Oj0gTGV0dGVyIHwgRGlnaXQgfCAnLicgfCAnLScgfCAnXycgfCAnOicgfCBDb21iaW5pbmdDaGFyIHwgRXh0ZW5kZXIgWzVdIE5hbWUgOjo9IChMZXR0ZXIgfCAnXycgfCAnOicpIChOYW1lQ2hhcikqIFs2XSBOYW1lcyA6Oj0gTmFtZSAoI3gyMCBOYW1lKSo8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBOYW1lIHBhcnNlZCBvciBOVUxMPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sUGFyc2VOYW1lc3BhY2UiIGlkPSJ4bWxQYXJzZU5hbWVzcGFjZSI+PC9hPkZ1bmN0aW9uOiB4bWxQYXJzZU5hbWVzcGFjZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sUGFyc2VOYW1lc3BhY2UJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPGJyIC8+Cis8L3ByZT48cD54bWxQYXJzZU5hbWVzcGFjZTogcGFyc2Ugc3BlY2lmaWMgUEkgJyZsdDs/bmFtZXNwYWNlIC4uLicgY29uc3RydWN0cy4gVGhpcyBpcyB3aGF0IHRoZSBvbGRlciB4bWwtbmFtZSBXb3JraW5nIERyYWZ0IHNwZWNpZmllZCwgYSBidW5jaCBvZiBvdGhlciBzdHVmZiBtYXkgc3RpbGwgcmVseSBvbiBpdCwgc28gc3VwcG9ydCBpcyBzdGlsbCBoZXJlIGFzIGlmIGl0IHdhcyBkZWNsYXJlZCBvbiB0aGUgcm9vdCBvZiB0aGUgVHJlZTotKCBUT0RPOiByZW1vdmUgZnJvbSBsaWJyYXJ5IFRvIGJlIHJlbW92ZWQgYXQgbmV4dCBkcm9wIG9mIGJpbmFyeSBjb21wYXRpYmlsaXR5PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sUGFyc2VObXRva2VuIiBpZD0ieG1sUGFyc2VObXRva2VuIj48L2E+RnVuY3Rpb246IHhtbFBhcnNlTm10b2tlbjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbFBhcnNlTm10b2tlbgkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8YnIgLz4KKzwvcHJlPjxwPnBhcnNlIGFuIFhNTCBObXRva2VuLiBbN10gTm10b2tlbiA6Oj0gKE5hbWVDaGFyKSsgWzhdIE5tdG9rZW5zIDo6PSBObXRva2VuICgjeDIwIE5tdG9rZW4pKjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIE5tdG9rZW4gcGFyc2VkIG9yIE5VTEw8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxQYXJzZU5vdGF0aW9uRGVjbCIgaWQ9InhtbFBhcnNlTm90YXRpb25EZWNsIj48L2E+RnVuY3Rpb246IHhtbFBhcnNlTm90YXRpb25EZWNsPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxQYXJzZU5vdGF0aW9uRGVjbAkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8YnIgLz4KKzwvcHJlPjxwPnBhcnNlIGEgbm90YXRpb24gZGVjbGFyYXRpb24gWzgyXSBOb3RhdGlvbkRlY2wgOjo9ICcmbHQ7IU5PVEFUSU9OJyBTIE5hbWUgUyAoRXh0ZXJuYWxJRCB8IFB1YmxpY0lEKSBTPyAnJmd0OycgSGVuY2UgdGhlcmUgaXMgYWN0dWFsbHkgMyBjaG9pY2VzOiAnUFVCTElDJyBTIFB1YmlkTGl0ZXJhbCAnUFVCTElDJyBTIFB1YmlkTGl0ZXJhbCBTIFN5c3RlbUxpdGVyYWwgYW5kICdTWVNURU0nIFMgU3lzdGVtTGl0ZXJhbCBTZWUgdGhlIE5PVEUgb24geG1sUGFyc2VFeHRlcm5hbElEKCkuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sUGFyc2VOb3RhdGlvblR5cGUiIGlkPSJ4bWxQYXJzZU5vdGF0aW9uVHlwZSI+PC9hPkZ1bmN0aW9uOiB4bWxQYXJzZU5vdGF0aW9uVHlwZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRW51bWVyYXRpb25QdHIiPnhtbEVudW1lcmF0aW9uUHRyPC9hPgl4bWxQYXJzZU5vdGF0aW9uVHlwZQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTxiciAvPgorPC9wcmU+PHA+cGFyc2UgYW4gTm90YXRpb24gPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiB0eXBlLiBOb3RlOiB0aGUgbGVhZGluZyAnTk9UQVRJT04nIFMgcGFydCBoYXMgYWxyZWFkeSBiZWluZyBwYXJzZWQuLi4gWzU4XSBOb3RhdGlvblR5cGUgOjo9ICdOT1RBVElPTicgUyAnKCcgUz8gTmFtZSAoUz8gJ3wnIFM/IE5hbWUpKiBTPyAnKScgWyBWQzogTm90YXRpb24gQXR0cmlidXRlcyBdIFZhbHVlcyBvZiB0aGlzIHR5cGUgbXVzdCBtYXRjaCBvbmUgb2YgdGhlIG5vdGF0aW9uIG5hbWVzIGluY2x1ZGVkIGluIHRoZSBkZWNsYXJhdGlvbjsgYWxsIG5vdGF0aW9uIG5hbWVzIGluIHRoZSBkZWNsYXJhdGlvbiBtdXN0IGJlIGRlY2xhcmVkLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vdGF0aW9uIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gdHJlZSBidWlsdCB3aGlsZSBwYXJzaW5nPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sUGFyc2VQRVJlZmVyZW5jZSIgaWQ9InhtbFBhcnNlUEVSZWZlcmVuY2UiPjwvYT5GdW5jdGlvbjogeG1sUGFyc2VQRVJlZmVyZW5jZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sUGFyc2VQRVJlZmVyZW5jZQkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8YnIgLz4KKzwvcHJlPjxwPnBhcnNlIFBFUmVmZXJlbmNlIGRlY2xhcmF0aW9ucyBUaGUgZW50aXR5IGNvbnRlbnQgaXMgaGFuZGxlZCBkaXJlY3RseSBieSBwdXNoaW5nIGl0J3MgY29udGVudCBhcyBhIG5ldyBpbnB1dCBzdHJlYW0uIFs2OV0gUEVSZWZlcmVuY2UgOjo9ICclJyBOYW1lICc7JyBbIFdGQzogTm8gUmVjdXJzaW9uIF0gQSBwYXJzZWQgZW50aXR5IG11c3Qgbm90IGNvbnRhaW4gYSByZWN1cnNpdmUgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI3JlZmVyZW5jZSI+cmVmZXJlbmNlPC9hPiB0byBpdHNlbGYsIGVpdGhlciBkaXJlY3RseSBvciBpbmRpcmVjdGx5LiBbIFdGQzogRW50aXR5IERlY2xhcmVkIF0gSW4gYSBkb2N1bWVudCB3aXRob3V0IGFueSBEVEQsIGEgZG9jdW1lbnQgd2l0aCBvbmx5IGFuIGludGVybmFsIERURCBzdWJzZXQgd2hpY2ggY29udGFpbnMgbm8gcGFyYW1ldGVyIGVudGl0eSByZWZlcmVuY2VzLCBvciBhIGRvY3VtZW50IHdpdGggInN0YW5kYWxvbmU9J3llcyciLCAuLi4gLi4uIFRoZSBkZWNsYXJhdGlvbiBvZiBhIHBhcmFtZXRlciBlbnRpdHkgbXVzdCBwcmVjZWRlIGFueSA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjcmVmZXJlbmNlIj5yZWZlcmVuY2U8L2E+IHRvIGl0Li4uIFsgVkM6IEVudGl0eSBEZWNsYXJlZCBdIEluIGEgZG9jdW1lbnQgd2l0aCBhbiBleHRlcm5hbCBzdWJzZXQgb3IgZXh0ZXJuYWwgcGFyYW1ldGVyIGVudGl0aWVzIHdpdGggInN0YW5kYWxvbmU9J25vJyIsIC4uLiAuLi4gVGhlIGRlY2xhcmF0aW9uIG9mIGEgcGFyYW1ldGVyIGVudGl0eSBtdXN0IHByZWNlZGUgYW55IDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNyZWZlcmVuY2UiPnJlZmVyZW5jZTwvYT4gdG8gaXQuLi4gWyBXRkM6IEluIERURCBdIFBhcmFtZXRlci1lbnRpdHkgcmVmZXJlbmNlcyBtYXkgb25seSBhcHBlYXIgaW4gdGhlIERURC4gTk9URTogbWlzbGVhZGluZyBidXQgdGhpcyBpcyBoYW5kbGVkLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFBhcnNlUEkiIGlkPSJ4bWxQYXJzZVBJIj48L2E+RnVuY3Rpb246IHhtbFBhcnNlUEk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFBhcnNlUEkJCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTxiciAvPgorPC9wcmU+PHA+cGFyc2UgYW4gWE1MIFByb2Nlc3NpbmcgSW5zdHJ1Y3Rpb24uIFsxNl0gUEkgOjo9ICcmbHQ7PycgUElUYXJnZXQgKFMgKENoYXIqIC0gKENoYXIqICc/Jmd0OycgQ2hhciopKSk/ICc/Jmd0OycgVGhlIHByb2Nlc3NpbmcgaXMgdHJhbnNmZXJlZCB0byBTQVggb25jZSBwYXJzZWQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sUGFyc2VQSVRhcmdldCIgaWQ9InhtbFBhcnNlUElUYXJnZXQiPjwvYT5GdW5jdGlvbjogeG1sUGFyc2VQSVRhcmdldDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbFBhcnNlUElUYXJnZXQJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8YnIgLz4KKzwvcHJlPjxwPnBhcnNlIHRoZSBuYW1lIG9mIGEgUEkgWzE3XSBQSVRhcmdldCA6Oj0gTmFtZSAtICgoJ1gnIHwgJ3gnKSAoJ00nIHwgJ20nKSAoJ0wnIHwgJ2wnKSk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBQSVRhcmdldCBuYW1lIG9yIE5VTEw8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxQYXJzZVB1YmlkTGl0ZXJhbCIgaWQ9InhtbFBhcnNlUHViaWRMaXRlcmFsIj48L2E+RnVuY3Rpb246IHhtbFBhcnNlUHViaWRMaXRlcmFsPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sUGFyc2VQdWJpZExpdGVyYWwJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8YnIgLz4KKzwvcHJlPjxwPnBhcnNlIGFuIFhNTCBwdWJsaWMgbGl0ZXJhbCBbMTJdIFB1YmlkTGl0ZXJhbCA6Oj0gJyInIFB1YmlkQ2hhciogJyInIHwgIiciIChQdWJpZENoYXIgLSAiJyIpKiAiJyI8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBQdWJpZExpdGVyYWwgcGFyc2VkIG9yIE5VTEwuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sUGFyc2VRdW90ZWRTdHJpbmciIGlkPSJ4bWxQYXJzZVF1b3RlZFN0cmluZyI+PC9hPkZ1bmN0aW9uOiB4bWxQYXJzZVF1b3RlZFN0cmluZzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbFBhcnNlUXVvdGVkU3RyaW5nCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPGJyIC8+Cis8L3ByZT48cD5QYXJzZSBhbmQgcmV0dXJuIGEgc3RyaW5nIGJldHdlZW4gcXVvdGVzIG9yIGRvdWJsZXF1b3RlcyBUT0RPOiBEZXByZWNhdGVkLCB0byBiZSByZW1vdmVkIGF0IG5leHQgZHJvcCBvZiBiaW5hcnkgY29tcGF0aWJpbGl0eTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHN0cmluZyBwYXJzZXIgb3IgTlVMTC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxQYXJzZVJlZmVyZW5jZSIgaWQ9InhtbFBhcnNlUmVmZXJlbmNlIj48L2E+RnVuY3Rpb246IHhtbFBhcnNlUmVmZXJlbmNlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxQYXJzZVJlZmVyZW5jZQkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8YnIgLz4KKzwvcHJlPjxwPnBhcnNlIGFuZCBoYW5kbGUgZW50aXR5IHJlZmVyZW5jZXMgaW4gY29udGVudCwgZGVwZW5kaW5nIG9uIHRoZSBTQVggaW50ZXJmYWNlLCB0aGlzIG1heSBlbmQtdXAgaW4gYSBjYWxsIHRvIGNoYXJhY3RlcigpIGlmIHRoaXMgaXMgYSBDaGFyUmVmLCBhIHByZWRlZmluZWQgZW50aXR5LCBpZiB0aGVyZSBpcyBubyByZWZlcmVuY2UoKSBjYWxsYmFjay4gb3IgaWYgdGhlIHBhcnNlciB3YXMgYXNrZWQgdG8gc3dpdGNoIHRvIHRoYXQgbW9kZS4gWzY3XSBSZWZlcmVuY2UgOjo9IEVudGl0eVJlZiB8IENoYXJSZWY8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxQYXJzZVNERGVjbCIgaWQ9InhtbFBhcnNlU0REZWNsIj48L2E+RnVuY3Rpb246IHhtbFBhcnNlU0REZWNsPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFBhcnNlU0REZWNsCQkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8YnIgLz4KKzwvcHJlPjxwPnBhcnNlIHRoZSBYTUwgc3RhbmRhbG9uZSBkZWNsYXJhdGlvbiBbMzJdIFNERGVjbCA6Oj0gUyAnc3RhbmRhbG9uZScgRXEgKCgiJyIgKCd5ZXMnIHwgJ25vJykgIiciKSB8ICgnIicgKCd5ZXMnIHwgJ25vJyknIicpKSBbIFZDOiBTdGFuZGFsb25lIERvY3VtZW50IERlY2xhcmF0aW9uIF0gVE9ETyBUaGUgc3RhbmRhbG9uZSBkb2N1bWVudCBkZWNsYXJhdGlvbiBtdXN0IGhhdmUgdGhlIHZhbHVlICJubyIgaWYgYW55IGV4dGVybmFsIG1hcmt1cCBkZWNsYXJhdGlvbnMgY29udGFpbiBkZWNsYXJhdGlvbnMgb2Y6IC0gYXR0cmlidXRlcyB3aXRoIGRlZmF1bHQgdmFsdWVzLCBpZiBlbGVtZW50cyB0byB3aGljaCB0aGVzZSBhdHRyaWJ1dGVzIGFwcGx5IGFwcGVhciBpbiB0aGUgZG9jdW1lbnQgd2l0aG91dCBzcGVjaWZpY2F0aW9ucyBvZiB2YWx1ZXMgZm9yIHRoZXNlIGF0dHJpYnV0ZXMsIG9yIC0gZW50aXRpZXMgKG90aGVyIHRoYW4gYW1wLCBsdCwgZ3QsIGFwb3MsIHF1b3QpLCBpZiByZWZlcmVuY2VzIHRvIHRob3NlIGVudGl0aWVzIGFwcGVhciBpbiB0aGUgZG9jdW1lbnQsIG9yIC0gYXR0cmlidXRlcyB3aXRoIHZhbHVlcyBzdWJqZWN0IHRvIG5vcm1hbGl6YXRpb24sIHdoZXJlIHRoZSA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IGFwcGVhcnMgaW4gdGhlIGRvY3VtZW50IHdpdGggYSB2YWx1ZSB3aGljaCB3aWxsIGNoYW5nZSBhcyBhIHJlc3VsdCBvZiBub3JtYWxpemF0aW9uLCBvciAtIGVsZW1lbnQgdHlwZXMgd2l0aCBlbGVtZW50IGNvbnRlbnQsIGlmIHdoaXRlIHNwYWNlIG9jY3VycyBkaXJlY3RseSB3aXRoaW4gYW55IGluc3RhbmNlIG9mIHRob3NlIHR5cGVzLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiBzdGFuZGFsb25lPSJ5ZXMiIDAgaWYgc3RhbmRhbG9uZT0ibm8iIC0yIGlmIHN0YW5kYWxvbmUgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBpcyBtaXNzaW5nIG9yIGludmFsaWQgKEEgc3RhbmRhbG9uZSB2YWx1ZSBvZiAtMiBtZWFucyB0aGF0IHRoZSBYTUwgZGVjbGFyYXRpb24gd2FzIGZvdW5kLCBidXQgbm8gdmFsdWUgd2FzIHNwZWNpZmllZCBmb3IgdGhlIHN0YW5kYWxvbmUgYXR0cmlidXRlKS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxQYXJzZVN0YXJ0VGFnIiBpZD0ieG1sUGFyc2VTdGFydFRhZyI+PC9hPkZ1bmN0aW9uOiB4bWxQYXJzZVN0YXJ0VGFnPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Y29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sUGFyc2VTdGFydFRhZwkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTxiciAvPgorPC9wcmU+PHA+cGFyc2UgYSBzdGFydCBvZiB0YWcgZWl0aGVyIGZvciBydWxlIGVsZW1lbnQgb3IgRW1wdHlFbGVtZW50LiBJbiBib3RoIGNhc2Ugd2UgZG9uJ3QgcGFyc2UgdGhlIHRhZyBjbG9zaW5nIGNoYXJzLiBbNDBdIFNUYWcgOjo9ICcmbHQ7JyBOYW1lIChTIEF0dHJpYnV0ZSkqIFM/ICcmZ3Q7JyBbIFdGQzogVW5pcXVlIEF0dCBTcGVjIF0gTm8gPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBuYW1lIG1heSBhcHBlYXIgbW9yZSB0aGFuIG9uY2UgaW4gdGhlIHNhbWUgc3RhcnQtdGFnIG9yIGVtcHR5LWVsZW1lbnQgdGFnLiBbNDRdIEVtcHR5RWxlbVRhZyA6Oj0gJyZsdDsnIE5hbWUgKFMgQXR0cmlidXRlKSogUz8gJy8mZ3Q7JyBbIFdGQzogVW5pcXVlIEF0dCBTcGVjIF0gTm8gPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBuYW1lIG1heSBhcHBlYXIgbW9yZSB0aGFuIG9uY2UgaW4gdGhlIHNhbWUgc3RhcnQtdGFnIG9yIGVtcHR5LWVsZW1lbnQgdGFnLiBXaXRoIG5hbWVzcGFjZTogW05TIDhdIFNUYWcgOjo9ICcmbHQ7JyBRTmFtZSAoUyBBdHRyaWJ1dGUpKiBTPyAnJmd0OycgW05TIDEwXSBFbXB0eUVsZW1lbnQgOjo9ICcmbHQ7JyBRTmFtZSAoUyBBdHRyaWJ1dGUpKiBTPyAnLyZndDsnPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZWxlbWVudCBuYW1lIHBhcnNlZDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFBhcnNlU3lzdGVtTGl0ZXJhbCIgaWQ9InhtbFBhcnNlU3lzdGVtTGl0ZXJhbCI+PC9hPkZ1bmN0aW9uOiB4bWxQYXJzZVN5c3RlbUxpdGVyYWw8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxQYXJzZVN5c3RlbUxpdGVyYWwJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8YnIgLz4KKzwvcHJlPjxwPnBhcnNlIGFuIFhNTCBMaXRlcmFsIFsxMV0gU3lzdGVtTGl0ZXJhbCA6Oj0gKCciJyBbXiJdKiAnIicpIHwgKCInIiBbXiddKiAiJyIpPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgU3lzdGVtTGl0ZXJhbCBwYXJzZWQgb3IgTlVMTDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFBhcnNlVGV4dERlY2wiIGlkPSJ4bWxQYXJzZVRleHREZWNsIj48L2E+RnVuY3Rpb246IHhtbFBhcnNlVGV4dERlY2w8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFBhcnNlVGV4dERlY2wJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPGJyIC8+Cis8L3ByZT48cD5wYXJzZSBhbiBYTUwgZGVjbGFyYXRpb24gaGVhZGVyIGZvciBleHRlcm5hbCBlbnRpdGllcyBbNzddIFRleHREZWNsIDo6PSAnJmx0Oz94bWwnIFZlcnNpb25JbmZvPyBFbmNvZGluZ0RlY2wgUz8gJz8mZ3Q7JzwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFBhcnNlVmVyc2lvbkluZm8iIGlkPSJ4bWxQYXJzZVZlcnNpb25JbmZvIj48L2E+RnVuY3Rpb246IHhtbFBhcnNlVmVyc2lvbkluZm88L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxQYXJzZVZlcnNpb25JbmZvCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPGJyIC8+Cis8L3ByZT48cD5wYXJzZSB0aGUgWE1MIHZlcnNpb24uIFsyNF0gVmVyc2lvbkluZm8gOjo9IFMgJ3ZlcnNpb24nIEVxICgnIFZlcnNpb25OdW0gJyB8ICIgVmVyc2lvbk51bSAiKSBbMjVdIEVxIDo6PSBTPyAnPScgUz88L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB2ZXJzaW9uIHN0cmluZywgZS5nLiAiMS4wIjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFBhcnNlVmVyc2lvbk51bSIgaWQ9InhtbFBhcnNlVmVyc2lvbk51bSI+PC9hPkZ1bmN0aW9uOiB4bWxQYXJzZVZlcnNpb25OdW08L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxQYXJzZVZlcnNpb25OdW0JKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8YnIgLz4KKzwvcHJlPjxwPnBhcnNlIHRoZSBYTUwgdmVyc2lvbiB2YWx1ZS4gWzI2XSBWZXJzaW9uTnVtIDo6PSAnMS4nIFswLTldKyBJbiBwcmFjdGljZSBhbGxvdyBbMC05XS5bMC05XSsgYXQgdGhhdCBsZXZlbDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHN0cmluZyBnaXZpbmcgdGhlIFhNTCB2ZXJzaW9uIG51bWJlciwgb3IgTlVMTDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFBhcnNlWE1MRGVjbCIgaWQ9InhtbFBhcnNlWE1MRGVjbCI+PC9hPkZ1bmN0aW9uOiB4bWxQYXJzZVhNTERlY2w8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFBhcnNlWE1MRGVjbAkJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPGJyIC8+Cis8L3ByZT48cD5wYXJzZSBhbiBYTUwgZGVjbGFyYXRpb24gaGVhZGVyIFsyM10gWE1MRGVjbCA6Oj0gJyZsdDs/eG1sJyBWZXJzaW9uSW5mbyBFbmNvZGluZ0RlY2w/IFNERGVjbD8gUz8gJz8mZ3Q7JzwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFBhcnNlckhhbmRsZVBFUmVmZXJlbmNlIiBpZD0ieG1sUGFyc2VySGFuZGxlUEVSZWZlcmVuY2UiPjwvYT5GdW5jdGlvbjogeG1sUGFyc2VySGFuZGxlUEVSZWZlcmVuY2U8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFBhcnNlckhhbmRsZVBFUmVmZXJlbmNlCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPGJyIC8+Cis8L3ByZT48cD5bNjldIFBFUmVmZXJlbmNlIDo6PSAnJScgTmFtZSAnOycgWyBXRkM6IE5vIFJlY3Vyc2lvbiBdIEEgcGFyc2VkIGVudGl0eSBtdXN0IG5vdCBjb250YWluIGEgcmVjdXJzaXZlIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNyZWZlcmVuY2UiPnJlZmVyZW5jZTwvYT4gdG8gaXRzZWxmLCBlaXRoZXIgZGlyZWN0bHkgb3IgaW5kaXJlY3RseS4gWyBXRkM6IEVudGl0eSBEZWNsYXJlZCBdIEluIGEgZG9jdW1lbnQgd2l0aG91dCBhbnkgRFRELCBhIGRvY3VtZW50IHdpdGggb25seSBhbiBpbnRlcm5hbCBEVEQgc3Vic2V0IHdoaWNoIGNvbnRhaW5zIG5vIHBhcmFtZXRlciBlbnRpdHkgcmVmZXJlbmNlcywgb3IgYSBkb2N1bWVudCB3aXRoICJzdGFuZGFsb25lPSd5ZXMnIiwgLi4uIC4uLiBUaGUgZGVjbGFyYXRpb24gb2YgYSBwYXJhbWV0ZXIgZW50aXR5IG11c3QgcHJlY2VkZSBhbnkgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI3JlZmVyZW5jZSI+cmVmZXJlbmNlPC9hPiB0byBpdC4uLiBbIFZDOiBFbnRpdHkgRGVjbGFyZWQgXSBJbiBhIGRvY3VtZW50IHdpdGggYW4gZXh0ZXJuYWwgc3Vic2V0IG9yIGV4dGVybmFsIHBhcmFtZXRlciBlbnRpdGllcyB3aXRoICJzdGFuZGFsb25lPSdubyciLCAuLi4gLi4uIFRoZSBkZWNsYXJhdGlvbiBvZiBhIHBhcmFtZXRlciBlbnRpdHkgbXVzdCBwcmVjZWRlIGFueSA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjcmVmZXJlbmNlIj5yZWZlcmVuY2U8L2E+IHRvIGl0Li4uIFsgV0ZDOiBJbiBEVEQgXSBQYXJhbWV0ZXItZW50aXR5IHJlZmVyZW5jZXMgbWF5IG9ubHkgYXBwZWFyIGluIHRoZSBEVEQuIE5PVEU6IG1pc2xlYWRpbmcgYnV0IHRoaXMgaXMgaGFuZGxlZC4gQSBQRVJlZmVyZW5jZSBtYXkgaGF2ZSBiZWVuIGRldGVjdGVkIGluIHRoZSBjdXJyZW50IGlucHV0IHN0cmVhbSB0aGUgaGFuZGxpbmcgaXMgZG9uZSBhY2NvcmRpbmdseSB0byBodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMteG1sI2VudHByb2MgaS5lLiAtIEluY2x1ZGVkIGluIGxpdGVyYWwgaW4gZW50aXR5IHZhbHVlcyAtIEluY2x1ZGVkIGFzIFBhcmFtZXRlciBFbnRpdHkgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI3JlZmVyZW5jZSI+cmVmZXJlbmNlPC9hPiB3aXRoaW4gRFREczwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFBhcnNlckhhbmRsZVJlZmVyZW5jZSIgaWQ9InhtbFBhcnNlckhhbmRsZVJlZmVyZW5jZSI+PC9hPkZ1bmN0aW9uOiB4bWxQYXJzZXJIYW5kbGVSZWZlcmVuY2U8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFBhcnNlckhhbmRsZVJlZmVyZW5jZQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTxiciAvPgorPC9wcmU+PHA+VE9ETzogUmVtb3ZlLCBub3cgZGVwcmVjYXRlZCAuLi4gdGhlIHRlc3QgaXMgZG9uZSBkaXJlY3RseSBpbiB0aGUgY29udGVudCBwYXJzaW5nIHJvdXRpbmVzLiBbNjddIFJlZmVyZW5jZSA6Oj0gRW50aXR5UmVmIHwgQ2hhclJlZiBbNjhdIEVudGl0eVJlZiA6Oj0gJyZhbXA7JyBOYW1lICc7JyBbIFdGQzogRW50aXR5IERlY2xhcmVkIF0gdGhlIE5hbWUgZ2l2ZW4gaW4gdGhlIGVudGl0eSA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjcmVmZXJlbmNlIj5yZWZlcmVuY2U8L2E+IG11c3QgbWF0Y2ggdGhhdCBpbiBhbiBlbnRpdHkgZGVjbGFyYXRpb24sIGV4Y2VwdCB0aGF0IHdlbGwtZm9ybWVkIGRvY3VtZW50cyBuZWVkIG5vdCBkZWNsYXJlIGFueSBvZiB0aGUgZm9sbG93aW5nIGVudGl0aWVzOiBhbXAsIGx0LCBndCwgYXBvcywgcXVvdC4gWyBXRkM6IFBhcnNlZCBFbnRpdHkgXSBBbiBlbnRpdHkgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI3JlZmVyZW5jZSI+cmVmZXJlbmNlPC9hPiBtdXN0IG5vdCBjb250YWluIHRoZSBuYW1lIG9mIGFuIHVucGFyc2VkIGVudGl0eSBbNjZdIENoYXJSZWYgOjo9ICcmYW1wOyMnIFswLTldKyAnOycgfCAnJmFtcDsjeCcgWzAtOWEtZkEtRl0rICc7JyBBIFBFUmVmZXJlbmNlIG1heSBoYXZlIGJlZW4gZGV0ZWN0ZWQgaW4gdGhlIGN1cnJlbnQgaW5wdXQgc3RyZWFtIHRoZSBoYW5kbGluZyBpcyBkb25lIGFjY29yZGluZ2x5IHRvIGh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy14bWwjZW50cHJvYzwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFBhcnNlcklucHV0U2hyaW5rIiBpZD0ieG1sUGFyc2VySW5wdXRTaHJpbmsiPjwvYT5GdW5jdGlvbjogeG1sUGFyc2VySW5wdXRTaHJpbms8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFBhcnNlcklucHV0U2hyaW5rCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dFB0ciI+eG1sUGFyc2VySW5wdXRQdHI8L2E+IGluKTxiciAvPgorPC9wcmU+PHA+VGhpcyBmdW5jdGlvbiByZW1vdmVzIHVzZWQgaW5wdXQgZm9yIHRoZSBwYXJzZXIuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgaW5wdXQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxQb3BJbnB1dCIgaWQ9InhtbFBvcElucHV0Ij48L2E+RnVuY3Rpb246IHhtbFBvcElucHV0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+CXhtbFBvcElucHV0CQkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8YnIgLz4KKzwvcHJlPjxwPnhtbFBvcElucHV0OiB0aGUgY3VycmVudCBpbnB1dCBwb2ludGVkIGJ5IGN0eHQtJmd0O2lucHV0IGNhbWUgdG8gYW4gZW5kIHBvcCBpdCBhbmQgcmV0dXJuIHRoZSBuZXh0IGNoYXIuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY3VycmVudCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gaW4gdGhlIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sUHVzaElucHV0IiBpZD0ieG1sUHVzaElucHV0Ij48L2E+RnVuY3Rpb246IHhtbFB1c2hJbnB1dDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxQdXNoSW5wdXQJCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlcklucHV0UHRyIj54bWxQYXJzZXJJbnB1dFB0cjwvYT4gaW5wdXQpPGJyIC8+Cis8L3ByZT48cD54bWxQdXNoSW5wdXQ6IHN3aXRjaCB0byBhIG5ldyBpbnB1dCBzdHJlYW0gd2hpY2ggaXMgc3RhY2tlZCBvbiB0b3Agb2YgdGhlIHByZXZpb3VzIG9uZShzKS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmlucHV0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGlucHV0IGZyYWdtZW50IChlbnRpdHksIFhNTCBmcmFnbWVudCAuLi4pLjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+LTEgaW4gY2FzZSBvZiBlcnJvciBvciB0aGUgaW5kZXggaW4gdGhlIGlucHV0IHN0YWNrPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU2Nhbk5hbWUiIGlkPSJ4bWxTY2FuTmFtZSI+PC9hPkZ1bmN0aW9uOiB4bWxTY2FuTmFtZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbFNjYW5OYW1lCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTxiciAvPgorPC9wcmU+PHA+VHJpY2tlcnk6IHBhcnNlIGFuIFhNTCBuYW1lIGJ1dCB3aXRob3V0IGNvbnN1bWluZyB0aGUgaW5wdXQgZmxvdyBOZWVkZWQgZm9yIHJvbGxiYWNrIGNhc2VzLiBVc2VkIG9ubHkgd2hlbiBwYXJzaW5nIGVudGl0aWVzIHJlZmVyZW5jZXMuIFRPRE86IHNlZW1zIGRlcHJlY2F0ZWQgbm93LCBvbmx5IHVzZWQgaW4gdGhlIGRlZmF1bHQgcGFydCBvZiA8YSBocmVmPSJsaWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VySGFuZGxlUmVmZXJlbmNlIj54bWxQYXJzZXJIYW5kbGVSZWZlcmVuY2U8L2E+IFs0XSBOYW1lQ2hhciA6Oj0gTGV0dGVyIHwgRGlnaXQgfCAnLicgfCAnLScgfCAnXycgfCAnOicgfCBDb21iaW5pbmdDaGFyIHwgRXh0ZW5kZXIgWzVdIE5hbWUgOjo9IChMZXR0ZXIgfCAnXycgfCAnOicpIChOYW1lQ2hhcikqIFs2XSBOYW1lcyA6Oj0gTmFtZSAoUyBOYW1lKSo8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBOYW1lIHBhcnNlZCBvciBOVUxMPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU2V0RW50aXR5UmVmZXJlbmNlRnVuYyIgaWQ9InhtbFNldEVudGl0eVJlZmVyZW5jZUZ1bmMiPjwvYT5GdW5jdGlvbjogeG1sU2V0RW50aXR5UmVmZXJlbmNlRnVuYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sU2V0RW50aXR5UmVmZXJlbmNlRnVuYwkoPGEgaHJlZj0ibGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbEVudGl0eVJlZmVyZW5jZUZ1bmMiPnhtbEVudGl0eVJlZmVyZW5jZUZ1bmM8L2E+IGZ1bmMpPGJyIC8+Cis8L3ByZT48cD5TZXQgdGhlIGZ1bmN0aW9uIHRvIGNhbGwgY2FsbCBiYWNrIHdoZW4gYSB4bWwgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI3JlZmVyZW5jZSI+cmVmZXJlbmNlPC9hPiBoYXMgYmVlbiBtYWRlPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZnVuYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+QSB2YWxpZCBmdW5jdGlvbjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFNraXBCbGFua0NoYXJzIiBpZD0ieG1sU2tpcEJsYW5rQ2hhcnMiPjwvYT5GdW5jdGlvbjogeG1sU2tpcEJsYW5rQ2hhcnM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sU2tpcEJsYW5rQ2hhcnMJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPGJyIC8+Cis8L3ByZT48cD5za2lwIGFsbCBibGFua3MgY2hhcmFjdGVyIGZvdW5kIGF0IHRoYXQgcG9pbnQgaW4gdGhlIGlucHV0IHN0cmVhbXMuIEl0IHBvcHMgdXAgZmluaXNoZWQgZW50aXRpZXMgaW4gdGhlIHByb2Nlc3MgaWYgYWxsb3dhYmxlIGF0IHRoYXQgcG9pbnQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBzcGFjZSBjaGFycyBza2lwcGVkPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU3BsaXRRTmFtZSIgaWQ9InhtbFNwbGl0UU5hbWUiPjwvYT5GdW5jdGlvbjogeG1sU3BsaXRRTmFtZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbFNwbGl0UU5hbWUJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqKiBwcmVmaXgpPGJyIC8+Cis8L3ByZT48cD5wYXJzZSBhbiBVVEY4IGVuY29kZWQgWE1MIHF1YWxpZmllZCBuYW1lIHN0cmluZyBbTlMgNV0gUU5hbWUgOjo9IChQcmVmaXggJzonKT8gTG9jYWxQYXJ0IFtOUyA2XSBQcmVmaXggOjo9IE5DTmFtZSBbTlMgN10gTG9jYWxQYXJ0IDo6PSBOQ05hbWU8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cHJlZml4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqKjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxvY2FsIHBhcnQsIGFuZCBwcmVmaXggaXMgdXBkYXRlZCB0byBnZXQgdGhlIFByZWZpeCBpZiBhbnkuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU3RyaW5nQ3VycmVudENoYXIiIGlkPSJ4bWxTdHJpbmdDdXJyZW50Q2hhciI+PC9hPkZ1bmN0aW9uOiB4bWxTdHJpbmdDdXJyZW50Q2hhcjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxTdHJpbmdDdXJyZW50Q2hhcgkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY3VyLCA8YnIgLz4JCQkJCSBpbnQgKiBsZW4pPGJyIC8+Cis8L3ByZT48cD5UaGUgY3VycmVudCBjaGFyIHZhbHVlLCBpZiB1c2luZyBVVEYtOCB0aGlzIG1heSBhY3R1YWxseSBzcGFuIG11bHRpcGxlIGJ5dGVzIGluIHRoZSBpbnB1dCBidWZmZXIuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5wb2ludGVyIHRvIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGNoYXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+cG9pbnRlciB0byB0aGUgbGVuZ3RoIG9mIHRoZSBjaGFyIHJlYWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjdXJyZW50IGNoYXIgdmFsdWUgYW5kIGl0cyBsZW5ndGg8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTdHJpbmdEZWNvZGVFbnRpdGllcyIgaWQ9InhtbFN0cmluZ0RlY29kZUVudGl0aWVzIj48L2E+RnVuY3Rpb246IHhtbFN0cmluZ0RlY29kZUVudGl0aWVzPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sU3RyaW5nRGVjb2RlRW50aXRpZXMJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3RyLCA8YnIgLz4JCQkJCSBpbnQgd2hhdCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+IGVuZCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+IGVuZDIsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiBlbmQzKTxiciAvPgorPC9wcmU+PHA+VGFrZXMgYSBlbnRpdHkgc3RyaW5nIGNvbnRlbnQgYW5kIHByb2Nlc3MgdG8gZG8gdGhlIGFkZXF1YXRlIHN1YnN0aXR1dGlvbnMuIFs2N10gUmVmZXJlbmNlIDo6PSBFbnRpdHlSZWYgfCBDaGFyUmVmIFs2OV0gUEVSZWZlcmVuY2UgOjo9ICclJyBOYW1lICc7JzwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3RyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaW5wdXQgc3RyaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD53aGF0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5jb21iaW5hdGlvbiBvZiA8YSBocmVmPSJsaWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjWE1MX1NVQlNUSVRVVEVfUkVGIj5YTUxfU1VCU1RJVFVURV9SRUY8L2E+IGFuZCA8YSBocmVmPSJsaWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjWE1MX1NVQlNUSVRVVEVfUEVSRUYiPlhNTF9TVUJTVElUVVRFX1BFUkVGPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5kPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBlbmQgbWFya2VyIHhtbENoYXIsIDAgaWYgbm9uZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5kMjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gZW5kIG1hcmtlciB4bWxDaGFyLCAwIGlmIG5vbmU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVuZDM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIGVuZCBtYXJrZXIgeG1sQ2hhciwgMCBpZiBub25lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5BIG5ld2x5IGFsbG9jYXRlZCBzdHJpbmcgd2l0aCB0aGUgc3Vic3RpdHV0aW9uIGRvbmUuIFRoZSBjYWxsZXIgbXVzdCBkZWFsbG9jYXRlIGl0ICE8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTdHJpbmdMZW5EZWNvZGVFbnRpdGllcyIgaWQ9InhtbFN0cmluZ0xlbkRlY29kZUVudGl0aWVzIj48L2E+RnVuY3Rpb246IHhtbFN0cmluZ0xlbkRlY29kZUVudGl0aWVzPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sU3RyaW5nTGVuRGVjb2RlRW50aXRpZXMJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0ciwgPGJyIC8+CQkJCQkJIGludCBsZW4sIDxiciAvPgkJCQkJCSBpbnQgd2hhdCwgPGJyIC8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiBlbmQsIDxiciAvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gZW5kMiwgPGJyIC8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiBlbmQzKTxiciAvPgorPC9wcmU+PHA+VGFrZXMgYSBlbnRpdHkgc3RyaW5nIGNvbnRlbnQgYW5kIHByb2Nlc3MgdG8gZG8gdGhlIGFkZXF1YXRlIHN1YnN0aXR1dGlvbnMuIFs2N10gUmVmZXJlbmNlIDo6PSBFbnRpdHlSZWYgfCBDaGFyUmVmIFs2OV0gUEVSZWZlcmVuY2UgOjo9ICclJyBOYW1lICc7JzwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3RyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaW5wdXQgc3RyaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzdHJpbmcgbGVuZ3RoPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD53aGF0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5jb21iaW5hdGlvbiBvZiA8YSBocmVmPSJsaWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjWE1MX1NVQlNUSVRVVEVfUkVGIj5YTUxfU1VCU1RJVFVURV9SRUY8L2E+IGFuZCA8YSBocmVmPSJsaWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjWE1MX1NVQlNUSVRVVEVfUEVSRUYiPlhNTF9TVUJTVElUVVRFX1BFUkVGPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5kPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBlbmQgbWFya2VyIHhtbENoYXIsIDAgaWYgbm9uZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5kMjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gZW5kIG1hcmtlciB4bWxDaGFyLCAwIGlmIG5vbmU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVuZDM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIGVuZCBtYXJrZXIgeG1sQ2hhciwgMCBpZiBub25lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5BIG5ld2x5IGFsbG9jYXRlZCBzdHJpbmcgd2l0aCB0aGUgc3Vic3RpdHV0aW9uIGRvbmUuIFRoZSBjYWxsZXIgbXVzdCBkZWFsbG9jYXRlIGl0ICE8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTd2l0Y2hFbmNvZGluZyIgaWQ9InhtbFN3aXRjaEVuY29kaW5nIj48L2E+RnVuY3Rpb246IHhtbFN3aXRjaEVuY29kaW5nPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFN3aXRjaEVuY29kaW5nCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmciPnhtbENoYXJFbmNvZGluZzwvYT4gZW5jKTxiciAvPgorPC9wcmU+PHA+Y2hhbmdlIHRoZSBpbnB1dCBmdW5jdGlvbnMgd2hlbiBkaXNjb3ZlcmluZyB0aGUgY2hhcmFjdGVyIGVuY29kaW5nIG9mIGEgZ2l2ZW4gZW50aXR5LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZW5jb2RpbmcgdmFsdWUgKG51bWJlcik8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaW4gY2FzZSBvZiBzdWNjZXNzLCAtMSBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTd2l0Y2hJbnB1dEVuY29kaW5nIiBpZD0ieG1sU3dpdGNoSW5wdXRFbmNvZGluZyI+PC9hPkZ1bmN0aW9uOiB4bWxTd2l0Y2hJbnB1dEVuY29kaW5nPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFN3aXRjaElucHV0RW5jb2RpbmcJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRQdHIiPnhtbFBhcnNlcklucHV0UHRyPC9hPiBpbnB1dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0ciI+eG1sQ2hhckVuY29kaW5nSGFuZGxlclB0cjwvYT4gaGFuZGxlcik8YnIgLz4KKzwvcHJlPjxwPmNoYW5nZSB0aGUgaW5wdXQgZnVuY3Rpb25zIHdoZW4gZGlzY292ZXJpbmcgdGhlIGNoYXJhY3RlciBlbmNvZGluZyBvZiBhIGdpdmVuIGVudGl0eS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmlucHV0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaW5wdXQgc3RyZWFtPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5oYW5kbGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZW5jb2RpbmcgaGFuZGxlcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpbiBjYXNlIG9mIHN1Y2Nlc3MsIC0xIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFN3aXRjaFRvRW5jb2RpbmciIGlkPSJ4bWxTd2l0Y2hUb0VuY29kaW5nIj48L2E+RnVuY3Rpb246IHhtbFN3aXRjaFRvRW5jb2Rpbmc8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sU3dpdGNoVG9FbmNvZGluZwkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0ciI+eG1sQ2hhckVuY29kaW5nSGFuZGxlclB0cjwvYT4gaGFuZGxlcik8YnIgLz4KKzwvcHJlPjxwPmNoYW5nZSB0aGUgaW5wdXQgZnVuY3Rpb25zIHdoZW4gZGlzY292ZXJpbmcgdGhlIGNoYXJhY3RlciBlbmNvZGluZyBvZiBhIGdpdmVuIGVudGl0eS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmhhbmRsZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbmNvZGluZyBoYW5kbGVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGluIGNhc2Ugb2Ygc3VjY2VzcywgLTEgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48cD48YSBocmVmPSIuLi9idWdzLmh0bWwiPkRhbmllbCBWZWlsbGFyZDwvYT48L3A+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2h0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCBiL2xpYnhtbDIvZG9jL2h0bWwvbGlieG1sLXBhdHRlcm4uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZDI3ODliCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvaHRtbC9saWJ4bWwtcGF0dGVybi5odG1sCkBAIC0wLDAgKzEsNzYgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+PGxpbmsgcmVsPSJTSE9SVENVVCBJQ09OIiBocmVmPSIvZmF2aWNvbi5pY28iIC8+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK1REIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitCT0RZIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2E7IG1hcmdpbi10b3A6IDJlbTsgbWFyZ2luLWxlZnQ6IDBlbTsgbWFyZ2luLXJpZ2h0OiAwZW19CitIMSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDIge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gzIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitBOmxpbmssIEE6dmlzaXRlZCwgQTphY3RpdmUgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB9Cis8L3N0eWxlPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAgICBkaXYuZGVwcmVjYXRlZCBwcmUucHJvZ3JhbWxpc3Rpbmcge2JvcmRlci1zdHlsZTogZG91YmxlO2JvcmRlci1jb2xvcjpyZWR9CisgICAgICBwcmUucHJvZ3JhbWxpc3Rpbmcge2JvcmRlci1zdHlsZTogZG91YmxlO2JhY2tncm91bmQ6ICNFRUNGQTF9CisgICAgPC9zdHlsZT48dGl0bGU+TW9kdWxlIHBhdHRlcm4gZnJvbSBsaWJ4bWwyPC90aXRsZT48L2hlYWQ+PGJvZHkgYmdjb2xvcj0iIzhiNzc2NSIgdGV4dD0iIzAwMDAwMCIgbGluaz0iI2EwNjA2MCIgdmxpbms9IiMwMDAwMDAiPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSIxMDAlIiBjZWxscGFkZGluZz0iNSIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgd2lkdGg9IjEyMCI+PGEgaHJlZj0iaHR0cDovL3N3cGF0LmZmaWkub3JnLyI+PGltZyBzcmM9Ii4uL2VwYXRlbnRzLnBuZyIgYWx0PSJBY3Rpb24gYWdhaW5zdCBzb2Z0d2FyZSBwYXRlbnRzIiAvPjwvYT48L3RkPjx0ZCB3aWR0aD0iMTgwIj48YSBocmVmPSJodHRwOi8vd3d3Lmdub21lLm9yZy8iPjxpbWcgc3JjPSIuLi9nbm9tZTIucG5nIiBhbHQ9Ikdub21lMiBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9TdGF0dXMiPjxpbWcgc3JjPSIuLi93M2MucG5nIiBhbHQ9IlczQyBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnJlZGhhdC5jb20vIj48aW1nIHNyYz0iLi4vcmVkaGF0LmdpZiIgYWx0PSJSZWQgSGF0IExvZ28iIC8+PC9hPjxkaXYgYWxpZ249ImxlZnQiPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy8iPjxpbWcgc3JjPSIuLi9MaWJ4bWwyLUxvZ28tMTgweDE2OC5naWYiIGFsdD0iTWFkZSB3aXRoIExpYnhtbDIgTG9nbyIgLz48L2E+PC9kaXY+PC90ZD48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjkwJSIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiIGJnY29sb3I9IiNmZmZhY2QiPjx0cj48dGQgYWxpZ249ImNlbnRlciI+PGgxPjwvaDE+PGgyPk1vZHVsZSBwYXR0ZXJuIGZyb20gbGlieG1sMjwvaDI+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjQiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiIHdpZHRoPSIxMDAlIj48dHI+PHRkIHZhbGlnbj0idG9wIiB3aWR0aD0iMjAwIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5BUEkgTWVudTwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48Zm9ybSBhY3Rpb249Ii4uL3NlYXJjaC5waHAiIGVuY3R5cGU9ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIgbWV0aG9kPSJnZXQiPjxpbnB1dCBuYW1lPSJxdWVyeSIgdHlwZT0idGV4dCIgc2l6ZT0iMjAiIHZhbHVlPSIiIC8+PGlucHV0IG5hbWU9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU2VhcmNoIC4uLiIgLz48L2Zvcm0+PHVsPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iLi4vaW5kZXguaHRtbCI+TWFpbiBNZW51PC9hPjwvbGk+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSIuLi9kb2NzLmh0bWwiPkRldmVsb3BlciBNZW51PC9hPjwvbGk+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSIuLi9leGFtcGxlcy9pbmRleC5odG1sIj5Db2RlIEV4YW1wbGVzPC9hPjwvbGk+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSJpbmRleC5odG1sIj5BUEkgTWVudTwvYT48L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwiPlBhcnNlciBBUEk8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCI+VHJlZSBBUEk8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sIj5SZWFkZXIgQVBJPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL2d1aWRlbGluZXMuaHRtbCI+WE1MIEd1aWRlbGluZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQ2hhbmdlTG9nLmh0bWwiPkNoYW5nZUxvZzwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPkFQSSBJbmRleGVzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iLi4vQVBJY2h1bmswLmh0bWwiPkFscGhhYmV0aWM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJY29uc3RydWN0b3JzLmh0bWwiPkNvbnN0cnVjdG9yczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUElmdW5jdGlvbnMuaHRtbCI+RnVuY3Rpb25zL1R5cGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSWZpbGVzLmh0bWwiPk1vZHVsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJc3ltYm9scy5odG1sIj5TeW1ib2xzPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+UmVsYXRlZCBsaW5rczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9Imh0dHA6Ly9tYWlsLmdub21lLm9yZy9hcmNoaXZlcy94bWwvIj5NYWlsIGFyY2hpdmU8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnL1hTTFQvIj5YU0xUIGxpYnhzbHQ8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3BoZC5jcy51bmliby5pdC9nZG9tZTIvIj5ET00gZ2RvbWUyPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuYWxla3NleS5jb20veG1sc2VjLyI+WE1MLURTaWcgeG1sc2VjPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImZ0cDovL3htbHNvZnQub3JnLyI+RlRQPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemxhdGtvdmljLmNvbS9wcm9qZWN0cy9saWJ4bWwvIj5XaW5kb3dzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9vcGVuY3N3Lm9yZy9wYWNrYWdlcy9saWJ4bWwyIj5Tb2xhcmlzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuZXhwbGFpbi5jb20uYXUvb3NzL2xpYnhtbDJ4c2x0Lmh0bWwiPk1hY09zWCBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbHhtbC5kZS8iPmx4bWwgUHl0aG9uIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9jcGFuLnV3aW5uaXBlZy5jYS9kaXN0L1hNTC1MaWJYTUwiPlBlcmwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbHBsdXNwbHVzLnNvdXJjZWZvcmdlLm5ldC8iPkMrKyBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnplbmQuY29tL3BocDUvYXJ0aWNsZXMvcGhwNS14bWxwaHAucGhwI0hlYWRpbmc0Ij5QSFAgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9saWJ4bWwyLXBhcy8iPlBhc2NhbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1sLnJ1Ynlmb3JnZS5vcmcvIj5SdWJ5IGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly90Y2x4bWwuc291cmNlZm9yZ2UubmV0LyI+VGNsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvYnVnbGlzdC5jZ2k/cHJvZHVjdD1saWJ4bWwyIj5CdWcgVHJhY2tlcjwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMyIgY2VsbHNwYWNpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx0YWJsZSBjbGFzcz0ibmF2aWdhdGlvbiIgd2lkdGg9IjEwMCUiIHN1bW1hcnk9Ik5hdmlnYXRpb24gaGVhZGVyIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjIiPjx0ciB2YWxpZ249Im1pZGRsZSI+PHRkPjxhIGFjY2Vzc2tleT0icCIgaHJlZj0ibGlieG1sLXBhcnNlckludGVybmFscy5odG1sIj48aW1nIHNyYz0ibGVmdC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlByZXYiIC8+PC9hPjwvdGQ+PHRoIGFsaWduPSJsZWZ0Ij48YSBocmVmPSJsaWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwiPnBhcnNlckludGVybmFsczwvYT48L3RoPjx0ZD48YSBhY2Nlc3NrZXk9InUiIGhyZWY9ImluZGV4Lmh0bWwiPjxpbWcgc3JjPSJ1cC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlVwIiAvPjwvYT48L3RkPjx0aCBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iaW5kZXguaHRtbCI+QVBJIGRvY3VtZW50YXRpb248L2E+PC90aD48dGQ+PGEgYWNjZXNza2V5PSJoIiBocmVmPSIuLi9pbmRleC5odG1sIj48aW1nIHNyYz0iaG9tZS5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IkhvbWUiIC8+PC9hPjwvdGQ+PHRoIGFsaWduPSJjZW50ZXIiPjxhIGhyZWY9Ii4uL2luZGV4Lmh0bWwiPlRoZSBYTUwgQyBwYXJzZXIgYW5kIHRvb2xraXQgb2YgR25vbWU8L2E+PC90aD48dGggYWxpZ249InJpZ2h0Ij48YSBocmVmPSJsaWJ4bWwtcmVsYXhuZy5odG1sIj5yZWxheG5nPC9hPjwvdGg+PHRkPjxhIGFjY2Vzc2tleT0ibiIgaHJlZj0ibGlieG1sLXJlbGF4bmcuaHRtbCI+PGltZyBzcmM9InJpZ2h0LnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iTmV4dCIgLz48L2E+PC90ZD48L3RyPjwvdGFibGU+PHA+YWxsb3dzIHRvIGNvbXBpbGUgYW5kIHRlc3QgcGF0dGVybiBleHByZXNzaW9ucyBmb3Igbm9kZXMgZWl0aGVyIGluIGEgdHJlZSBvciBiYXNlZCBvbiBhIHBhcnNlciBzdGF0ZS4gPC9wPjxoMj5UYWJsZSBvZiBDb250ZW50czwvaDI+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlN0cnVjdHVyZSA8YSBocmVmPSIjeG1sUGF0dGVybiI+eG1sUGF0dGVybjwvYT48YnIgLz5zdHJ1Y3QgX3htbFBhdHRlcm4KK1RoZSBjb250ZW50IG9mIHRoaXMgc3RydWN0dXJlIGlzIG5vdCBtYWRlIHB1YmxpYyBieSB0aGUgQVBJLgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkVudW0gPGEgaHJlZj0iI3htbFBhdHRlcm5GbGFncyI+eG1sUGF0dGVybkZsYWdzPC9hPgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlR5cGVkZWYgPGEgaHJlZj0ibGlieG1sLXBhdHRlcm4uaHRtbCN4bWxQYXR0ZXJuIj54bWxQYXR0ZXJuPC9hPiAqIDxhIG5hbWU9InhtbFBhdHRlcm5QdHIiIGlkPSJ4bWxQYXR0ZXJuUHRyIj54bWxQYXR0ZXJuUHRyPC9hPgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlN0cnVjdHVyZSA8YSBocmVmPSIjeG1sU3RyZWFtQ3R4dCI+eG1sU3RyZWFtQ3R4dDwvYT48YnIgLz5zdHJ1Y3QgX3htbFN0cmVhbUN0eHQKK1RoZSBjb250ZW50IG9mIHRoaXMgc3RydWN0dXJlIGlzIG5vdCBtYWRlIHB1YmxpYyBieSB0aGUgQVBJLgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlR5cGVkZWYgPGEgaHJlZj0ibGlieG1sLXBhdHRlcm4uaHRtbCN4bWxTdHJlYW1DdHh0Ij54bWxTdHJlYW1DdHh0PC9hPiAqIDxhIG5hbWU9InhtbFN0cmVhbUN0eHRQdHIiIGlkPSJ4bWxTdHJlYW1DdHh0UHRyIj54bWxTdHJlYW1DdHh0UHRyPC9hPgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbEZyZWVQYXR0ZXJuIj54bWxGcmVlUGF0dGVybjwvYT4JCQkoPGEgaHJlZj0ibGlieG1sLXBhdHRlcm4uaHRtbCN4bWxQYXR0ZXJuUHRyIj54bWxQYXR0ZXJuUHRyPC9hPiBjb21wKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbEZyZWVQYXR0ZXJuTGlzdCI+eG1sRnJlZVBhdHRlcm5MaXN0PC9hPgkJKDxhIGhyZWY9ImxpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sUGF0dGVyblB0ciI+eG1sUGF0dGVyblB0cjwvYT4gY29tcCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxGcmVlU3RyZWFtQ3R4dCI+eG1sRnJlZVN0cmVhbUN0eHQ8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXBhdHRlcm4uaHRtbCN4bWxTdHJlYW1DdHh0UHRyIj54bWxTdHJlYW1DdHh0UHRyPC9hPiBzdHJlYW0pPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxQYXR0ZXJuRnJvbVJvb3QiPnhtbFBhdHRlcm5Gcm9tUm9vdDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtcGF0dGVybi5odG1sI3htbFBhdHRlcm5QdHIiPnhtbFBhdHRlcm5QdHI8L2E+IGNvbXApPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXBhdHRlcm4uaHRtbCN4bWxTdHJlYW1DdHh0UHRyIj54bWxTdHJlYW1DdHh0UHRyPC9hPgk8YSBocmVmPSIjeG1sUGF0dGVybkdldFN0cmVhbUN0eHQiPnhtbFBhdHRlcm5HZXRTdHJlYW1DdHh0PC9hPgkoPGEgaHJlZj0ibGlieG1sLXBhdHRlcm4uaHRtbCN4bWxQYXR0ZXJuUHRyIj54bWxQYXR0ZXJuUHRyPC9hPiBjb21wKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sUGF0dGVybk1hdGNoIj54bWxQYXR0ZXJuTWF0Y2g8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sUGF0dGVyblB0ciI+eG1sUGF0dGVyblB0cjwvYT4gY29tcCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sUGF0dGVybk1heERlcHRoIj54bWxQYXR0ZXJuTWF4RGVwdGg8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXBhdHRlcm4uaHRtbCN4bWxQYXR0ZXJuUHRyIj54bWxQYXR0ZXJuUHRyPC9hPiBjb21wKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sUGF0dGVybk1pbkRlcHRoIj54bWxQYXR0ZXJuTWluRGVwdGg8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXBhdHRlcm4uaHRtbCN4bWxQYXR0ZXJuUHRyIj54bWxQYXR0ZXJuUHRyPC9hPiBjb21wKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sUGF0dGVyblN0cmVhbWFibGUiPnhtbFBhdHRlcm5TdHJlYW1hYmxlPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sUGF0dGVyblB0ciI+eG1sUGF0dGVyblB0cjwvYT4gY29tcCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtcGF0dGVybi5odG1sI3htbFBhdHRlcm5QdHIiPnhtbFBhdHRlcm5QdHI8L2E+CTxhIGhyZWY9IiN4bWxQYXR0ZXJuY29tcGlsZSI+eG1sUGF0dGVybmNvbXBpbGU8L2E+CShjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwYXR0ZXJuLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtZGljdC5odG1sI3htbERpY3QiPnhtbERpY3Q8L2E+ICogZGljdCwgPGJyIC8+CQkJCQkgaW50IGZsYWdzLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiogbmFtZXNwYWNlcyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFN0cmVhbVBvcCI+eG1sU3RyZWFtUG9wPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwtcGF0dGVybi5odG1sI3htbFN0cmVhbUN0eHRQdHIiPnhtbFN0cmVhbUN0eHRQdHI8L2E+IHN0cmVhbSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFN0cmVhbVB1c2giPnhtbFN0cmVhbVB1c2g8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sU3RyZWFtQ3R4dFB0ciI+eG1sU3RyZWFtQ3R4dFB0cjwvYT4gc3RyZWFtLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBucyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFN0cmVhbVB1c2hBdHRyIj54bWxTdHJlYW1QdXNoQXR0cjwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtcGF0dGVybi5odG1sI3htbFN0cmVhbUN0eHRQdHIiPnhtbFN0cmVhbUN0eHRQdHI8L2E+IHN0cmVhbSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbnMpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxTdHJlYW1QdXNoTm9kZSI+eG1sU3RyZWFtUHVzaE5vZGU8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXBhdHRlcm4uaHRtbCN4bWxTdHJlYW1DdHh0UHRyIj54bWxTdHJlYW1DdHh0UHRyPC9hPiBzdHJlYW0sIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5zLCA8YnIgLz4JCQkJCSBpbnQgbm9kZVR5cGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxTdHJlYW1XYW50c0FueU5vZGUiPnhtbFN0cmVhbVdhbnRzQW55Tm9kZTwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtcGF0dGVybi5odG1sI3htbFN0cmVhbUN0eHRQdHIiPnhtbFN0cmVhbUN0eHRQdHI8L2E+IHN0cmVhbUN0eHQpPC9wcmU+Cis8aDI+RGVzY3JpcHRpb248L2gyPgorPGgzPjxhIG5hbWU9InhtbFBhdHRlcm4iIGlkPSJ4bWxQYXR0ZXJuIj5TdHJ1Y3R1cmUgeG1sUGF0dGVybjwvYT48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgeG1sUGF0dGVybjxiciAvPnN0cnVjdCBfeG1sUGF0dGVybiB7CitUaGUgY29udGVudCBvZiB0aGlzIHN0cnVjdHVyZSBpcyBub3QgbWFkZSBwdWJsaWMgYnkgdGhlIEFQSS4KK308L3ByZT48aDM+RW51bSA8YSBuYW1lPSJ4bWxQYXR0ZXJuRmxhZ3MiIGlkPSJ4bWxQYXR0ZXJuRmxhZ3MiPnhtbFBhdHRlcm5GbGFnczwvYT48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5FbnVtIHhtbFBhdHRlcm5GbGFncyB7CisgICAgPGEgbmFtZT0iWE1MX1BBVFRFUk5fREVGQVVMVCIgaWQ9IlhNTF9QQVRURVJOX0RFRkFVTFQiPlhNTF9QQVRURVJOX0RFRkFVTFQ8L2E+ID0gMCA6IHNpbXBsZSBwYXR0ZXJuIG1hdGNoCisgICAgPGEgbmFtZT0iWE1MX1BBVFRFUk5fWFBBVEgiIGlkPSJYTUxfUEFUVEVSTl9YUEFUSCI+WE1MX1BBVFRFUk5fWFBBVEg8L2E+ID0gMSA6IHN0YW5kYXJkIFhQYXRoIHBhdHRlcm4KKyAgICA8YSBuYW1lPSJYTUxfUEFUVEVSTl9YU1NFTCIgaWQ9IlhNTF9QQVRURVJOX1hTU0VMIj5YTUxfUEFUVEVSTl9YU1NFTDwvYT4gPSAyIDogWFBhdGggc3Vic2V0IGZvciBzY2hlbWEgc2VsZWN0b3IKKyAgICA8YSBuYW1lPSJYTUxfUEFUVEVSTl9YU0ZJRUxEIiBpZD0iWE1MX1BBVFRFUk5fWFNGSUVMRCI+WE1MX1BBVFRFUk5fWFNGSUVMRDwvYT4gPSA0IDogWFBhdGggc3Vic2V0IGZvciBzY2hlbWEgZmllbGQKK30KKzwvcHJlPjxoMz48YSBuYW1lPSJ4bWxTdHJlYW1DdHh0IiBpZD0ieG1sU3RyZWFtQ3R4dCI+U3RydWN0dXJlIHhtbFN0cmVhbUN0eHQ8L2E+PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+U3RydWN0dXJlIHhtbFN0cmVhbUN0eHQ8YnIgLz5zdHJ1Y3QgX3htbFN0cmVhbUN0eHQgeworVGhlIGNvbnRlbnQgb2YgdGhpcyBzdHJ1Y3R1cmUgaXMgbm90IG1hZGUgcHVibGljIGJ5IHRoZSBBUEkuCit9PC9wcmU+PGgzPjxhIG5hbWU9InhtbEZyZWVQYXR0ZXJuIiBpZD0ieG1sRnJlZVBhdHRlcm4iPjwvYT5GdW5jdGlvbjogeG1sRnJlZVBhdHRlcm48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbEZyZWVQYXR0ZXJuCQkJKDxhIGhyZWY9ImxpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sUGF0dGVyblB0ciI+eG1sUGF0dGVyblB0cjwvYT4gY29tcCk8YnIgLz4KKzwvcHJlPjxwPkZyZWUgdXAgdGhlIG1lbW9yeSBhbGxvY2F0ZWQgYnkgQGNvbXA8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb21wPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYU0xUIGNvbXA8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxGcmVlUGF0dGVybkxpc3QiIGlkPSJ4bWxGcmVlUGF0dGVybkxpc3QiPjwvYT5GdW5jdGlvbjogeG1sRnJlZVBhdHRlcm5MaXN0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxGcmVlUGF0dGVybkxpc3QJCSg8YSBocmVmPSJsaWJ4bWwtcGF0dGVybi5odG1sI3htbFBhdHRlcm5QdHIiPnhtbFBhdHRlcm5QdHI8L2E+IGNvbXApPGJyIC8+Cis8L3ByZT48cD5GcmVlIHVwIHRoZSBtZW1vcnkgYWxsb2NhdGVkIGJ5IGFsbCB0aGUgZWxlbWVudHMgb2YgQGNvbXA8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb21wPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYU0xUIGNvbXAgbGlzdDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEZyZWVTdHJlYW1DdHh0IiBpZD0ieG1sRnJlZVN0cmVhbUN0eHQiPjwvYT5GdW5jdGlvbjogeG1sRnJlZVN0cmVhbUN0eHQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbEZyZWVTdHJlYW1DdHh0CQkoPGEgaHJlZj0ibGlieG1sLXBhdHRlcm4uaHRtbCN4bWxTdHJlYW1DdHh0UHRyIj54bWxTdHJlYW1DdHh0UHRyPC9hPiBzdHJlYW0pPGJyIC8+Cis8L3ByZT48cD5GcmVlIHRoZSBzdHJlYW0gY29udGV4dDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0cmVhbTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHN0cmVhbSBjb250ZXh0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sUGF0dGVybkZyb21Sb290IiBpZD0ieG1sUGF0dGVybkZyb21Sb290Ij48L2E+RnVuY3Rpb246IHhtbFBhdHRlcm5Gcm9tUm9vdDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxQYXR0ZXJuRnJvbVJvb3QJCSg8YSBocmVmPSJsaWJ4bWwtcGF0dGVybi5odG1sI3htbFBhdHRlcm5QdHIiPnhtbFBhdHRlcm5QdHI8L2E+IGNvbXApPGJyIC8+Cis8L3ByZT48cD5DaGVjayBpZiB0aGUgcGF0dGVybiBtdXN0IGJlIGxvb2tlZCBhdCBmcm9tIHRoZSByb290LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbXA8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwcmVjb21waWxlZCBwYXR0ZXJuPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUsIDAgaWYgZmFsc2UgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxQYXR0ZXJuR2V0U3RyZWFtQ3R4dCIgaWQ9InhtbFBhdHRlcm5HZXRTdHJlYW1DdHh0Ij48L2E+RnVuY3Rpb246IHhtbFBhdHRlcm5HZXRTdHJlYW1DdHh0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXBhdHRlcm4uaHRtbCN4bWxTdHJlYW1DdHh0UHRyIj54bWxTdHJlYW1DdHh0UHRyPC9hPgl4bWxQYXR0ZXJuR2V0U3RyZWFtQ3R4dAkoPGEgaHJlZj0ibGlieG1sLXBhdHRlcm4uaHRtbCN4bWxQYXR0ZXJuUHRyIj54bWxQYXR0ZXJuUHRyPC9hPiBjb21wKTxiciAvPgorPC9wcmU+PHA+R2V0IGEgc3RyZWFtaW5nIGNvbnRleHQgZm9yIHRoYXQgcGF0dGVybiBVc2UgPGEgaHJlZj0ibGlieG1sLXBhdHRlcm4uaHRtbCN4bWxGcmVlU3RyZWFtQ3R4dCI+eG1sRnJlZVN0cmVhbUN0eHQ8L2E+IHRvIGZyZWUgdGhlIGNvbnRleHQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29tcDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHByZWNvbXBpbGVkIHBhdHRlcm48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byB0aGUgY29udGV4dCBvciBOVUxMIGluIGNhc2Ugb2YgZmFpbHVyZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFBhdHRlcm5NYXRjaCIgaWQ9InhtbFBhdHRlcm5NYXRjaCI+PC9hPkZ1bmN0aW9uOiB4bWxQYXR0ZXJuTWF0Y2g8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sUGF0dGVybk1hdGNoCQkJKDxhIGhyZWY9ImxpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sUGF0dGVyblB0ciI+eG1sUGF0dGVyblB0cjwvYT4gY29tcCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlKTxiciAvPgorPC9wcmU+PHA+VGVzdCB3aGV0aGVyIHRoZSBub2RlIG1hdGNoZXMgdGhlIHBhdHRlcm48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb21wPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcHJlY29tcGlsZWQgcGF0dGVybjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIGl0IG1hdGNoZXMsIDAgaWYgaXQgZG9lc24ndCBhbmQgLTEgaW4gY2FzZSBvZiBmYWlsdXJlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sUGF0dGVybk1heERlcHRoIiBpZD0ieG1sUGF0dGVybk1heERlcHRoIj48L2E+RnVuY3Rpb246IHhtbFBhdHRlcm5NYXhEZXB0aDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxQYXR0ZXJuTWF4RGVwdGgJCSg8YSBocmVmPSJsaWJ4bWwtcGF0dGVybi5odG1sI3htbFBhdHRlcm5QdHIiPnhtbFBhdHRlcm5QdHI8L2E+IGNvbXApPGJyIC8+Cis8L3ByZT48cD5DaGVjayB0aGUgbWF4aW11bSBkZXB0aCByZWFjaGFibGUgYnkgYSBwYXR0ZXJuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29tcDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHByZWNvbXBpbGVkIHBhdHRlcm48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPi0yIGlmIG5vIGxpbWl0ICh1c2luZyAvLyksIG90aGVyd2lzZSB0aGUgZGVwdGgsIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sUGF0dGVybk1pbkRlcHRoIiBpZD0ieG1sUGF0dGVybk1pbkRlcHRoIj48L2E+RnVuY3Rpb246IHhtbFBhdHRlcm5NaW5EZXB0aDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxQYXR0ZXJuTWluRGVwdGgJCSg8YSBocmVmPSJsaWJ4bWwtcGF0dGVybi5odG1sI3htbFBhdHRlcm5QdHIiPnhtbFBhdHRlcm5QdHI8L2E+IGNvbXApPGJyIC8+Cis8L3ByZT48cD5DaGVjayB0aGUgbWluaW11bSBkZXB0aCByZWFjaGFibGUgYnkgYSBwYXR0ZXJuLCAwIG1lYW4gdGhlIC8gb3IgLiBhcmUgcGFydCBvZiB0aGUgc2V0LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbXA8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwcmVjb21waWxlZCBwYXR0ZXJuPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4tMSBpbiBjYXNlIG9mIGVycm9yIG90aGVyd2lzZSB0aGUgZGVwdGgsPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sUGF0dGVyblN0cmVhbWFibGUiIGlkPSJ4bWxQYXR0ZXJuU3RyZWFtYWJsZSI+PC9hPkZ1bmN0aW9uOiB4bWxQYXR0ZXJuU3RyZWFtYWJsZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxQYXR0ZXJuU3RyZWFtYWJsZQkJKDxhIGhyZWY9ImxpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sUGF0dGVyblB0ciI+eG1sUGF0dGVyblB0cjwvYT4gY29tcCk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrIGlmIHRoZSBwYXR0ZXJuIGlzIHN0cmVhbWFibGUgaS5lLiB4bWxQYXR0ZXJuR2V0U3RyZWFtQ3R4dCgpIHNob3VsZCB3b3JrLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbXA8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwcmVjb21waWxlZCBwYXR0ZXJuPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHN0cmVhbWFibGUsIDAgaWYgbm90IGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFBhdHRlcm5jb21waWxlIiBpZD0ieG1sUGF0dGVybmNvbXBpbGUiPjwvYT5GdW5jdGlvbjogeG1sUGF0dGVybmNvbXBpbGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtcGF0dGVybi5odG1sI3htbFBhdHRlcm5QdHIiPnhtbFBhdHRlcm5QdHI8L2E+CXhtbFBhdHRlcm5jb21waWxlCShjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwYXR0ZXJuLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtZGljdC5odG1sI3htbERpY3QiPnhtbERpY3Q8L2E+ICogZGljdCwgPGJyIC8+CQkJCQkgaW50IGZsYWdzLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiogbmFtZXNwYWNlcyk8YnIgLz4KKzwvcHJlPjxwPkNvbXBpbGUgYSBwYXR0ZXJuLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnBhdHRlcm48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwYXR0ZXJuIHRvIGNvbXBpbGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRpY3Q8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIG9wdGlvbmFsIGRpY3Rpb25hcnkgZm9yIGludGVybmVkIHN0cmluZ3M8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZsYWdzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5jb21waWxhdGlvbiBmbGFncywgc2VlIDxhIGhyZWY9ImxpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sUGF0dGVybkZsYWdzIj54bWxQYXR0ZXJuRmxhZ3M8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lc3BhY2VzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcHJlZml4IGRlZmluaXRpb25zLCBhcnJheSBvZiBbVVJJLCBwcmVmaXhdIG9yIE5VTEw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjb21waWxlZCBmb3JtIG9mIHRoZSBwYXR0ZXJuIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFN0cmVhbVBvcCIgaWQ9InhtbFN0cmVhbVBvcCI+PC9hPkZ1bmN0aW9uOiB4bWxTdHJlYW1Qb3A8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sU3RyZWFtUG9wCQkJKDxhIGhyZWY9ImxpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sU3RyZWFtQ3R4dFB0ciI+eG1sU3RyZWFtQ3R4dFB0cjwvYT4gc3RyZWFtKTxiciAvPgorPC9wcmU+PHA+cHVzaCBvbmUgbGV2ZWwgZnJvbSB0aGUgc3RyZWFtLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0cmVhbTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHN0cmVhbSBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4tMSBpbiBjYXNlIG9mIGVycm9yLCAwIG90aGVyd2lzZS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTdHJlYW1QdXNoIiBpZD0ieG1sU3RyZWFtUHVzaCI+PC9hPkZ1bmN0aW9uOiB4bWxTdHJlYW1QdXNoPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFN0cmVhbVB1c2gJCQkoPGEgaHJlZj0ibGlieG1sLXBhdHRlcm4uaHRtbCN4bWxTdHJlYW1DdHh0UHRyIj54bWxTdHJlYW1DdHh0UHRyPC9hPiBzdHJlYW0sIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5zKTxiciAvPgorPC9wcmU+PHA+UHVzaCBuZXcgZGF0YSBvbnRvIHRoZSBzdHJlYW0uIE5PVEU6IGlmIHRoZSBjYWxsIHhtbFBhdHRlcm5jb21waWxlKCkgaW5kaWNhdGVkIGEgZGljdGlvbmFyeSwgdGhlbiBzdHJpbmdzIGZvciBuYW1lIGFuZCBucyB3aWxsIGJlIGV4cGVjdGVkIHRvIGNvbWUgZnJvbSB0aGUgZGljdGlvbmFyeS4gQm90aCBAbmFtZSBhbmQgQG5zIGJlaW5nIE5VTEwgbWVhbnMgdGhlIC8gaS5lLiB0aGUgcm9vdCBvZiB0aGUgZG9jdW1lbnQuIFRoaXMgY2FuIGFsc28gYWN0IGFzIGEgcmVzZXQuIE90aGVyd2lzZSB0aGUgZnVuY3Rpb24gd2lsbCBhY3QgYXMgaWYgaXQgaGFzIGJlZW4gZ2l2ZW4gYW4gZWxlbWVudC1ub2RlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0cmVhbTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHN0cmVhbSBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY3VycmVudCBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5hbWVzcGFjZSBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4tMSBpbiBjYXNlIG9mIGVycm9yLCAxIGlmIHRoZSBjdXJyZW50IHN0YXRlIGluIHRoZSBzdHJlYW0gaXMgYSBtYXRjaCBhbmQgMCBvdGhlcndpc2UuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU3RyZWFtUHVzaEF0dHIiIGlkPSJ4bWxTdHJlYW1QdXNoQXR0ciI+PC9hPkZ1bmN0aW9uOiB4bWxTdHJlYW1QdXNoQXR0cjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxTdHJlYW1QdXNoQXR0cgkJKDxhIGhyZWY9ImxpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sU3RyZWFtQ3R4dFB0ciI+eG1sU3RyZWFtQ3R4dFB0cjwvYT4gc3RyZWFtLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBucyk8YnIgLz4KKzwvcHJlPjxwPlB1c2ggbmV3IDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gZGF0YSBvbnRvIHRoZSBzdHJlYW0uIE5PVEU6IGlmIHRoZSBjYWxsIHhtbFBhdHRlcm5jb21waWxlKCkgaW5kaWNhdGVkIGEgZGljdGlvbmFyeSwgdGhlbiBzdHJpbmdzIGZvciBuYW1lIGFuZCBucyB3aWxsIGJlIGV4cGVjdGVkIHRvIGNvbWUgZnJvbSB0aGUgZGljdGlvbmFyeS4gQm90aCBAbmFtZSBhbmQgQG5zIGJlaW5nIE5VTEwgbWVhbnMgdGhlIC8gaS5lLiB0aGUgcm9vdCBvZiB0aGUgZG9jdW1lbnQuIFRoaXMgY2FuIGFsc28gYWN0IGFzIGEgcmVzZXQuIE90aGVyd2lzZSB0aGUgZnVuY3Rpb24gd2lsbCBhY3QgYXMgaWYgaXQgaGFzIGJlZW4gZ2l2ZW4gYW4gYXR0cmlidXRlLW5vZGUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3RyZWFtPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc3RyZWFtIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjdXJyZW50IG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZXNwYWNlIG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPi0xIGluIGNhc2Ugb2YgZXJyb3IsIDEgaWYgdGhlIGN1cnJlbnQgc3RhdGUgaW4gdGhlIHN0cmVhbSBpcyBhIG1hdGNoIGFuZCAwIG90aGVyd2lzZS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTdHJlYW1QdXNoTm9kZSIgaWQ9InhtbFN0cmVhbVB1c2hOb2RlIj48L2E+RnVuY3Rpb246IHhtbFN0cmVhbVB1c2hOb2RlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFN0cmVhbVB1c2hOb2RlCQkoPGEgaHJlZj0ibGlieG1sLXBhdHRlcm4uaHRtbCN4bWxTdHJlYW1DdHh0UHRyIj54bWxTdHJlYW1DdHh0UHRyPC9hPiBzdHJlYW0sIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5zLCA8YnIgLz4JCQkJCSBpbnQgbm9kZVR5cGUpPGJyIC8+Cis8L3ByZT48cD5QdXNoIG5ldyBkYXRhIG9udG8gdGhlIHN0cmVhbS4gTk9URTogaWYgdGhlIGNhbGwgeG1sUGF0dGVybmNvbXBpbGUoKSBpbmRpY2F0ZWQgYSBkaWN0aW9uYXJ5LCB0aGVuIHN0cmluZ3MgZm9yIG5hbWUgYW5kIG5zIHdpbGwgYmUgZXhwZWN0ZWQgdG8gY29tZSBmcm9tIHRoZSBkaWN0aW9uYXJ5LiBCb3RoIEBuYW1lIGFuZCBAbnMgYmVpbmcgTlVMTCBtZWFucyB0aGUgLyBpLmUuIHRoZSByb290IG9mIHRoZSBkb2N1bWVudC4gVGhpcyBjYW4gYWxzbyBhY3QgYXMgYSByZXNldC4gRGlmZmVyZW50IGZyb20geG1sU3RyZWFtUHVzaCgpIHRoaXMgZnVuY3Rpb24gY2FuIGJlIGZlZCB3aXRoIG5vZGVzIG9mIHR5cGU6IGVsZW1lbnQtLCBhdHRyaWJ1dGUtLCB0ZXh0LSwgY2RhdGEtc2VjdGlvbi0sIGNvbW1lbnQtIGFuZCBwcm9jZXNzaW5nLWluc3RydWN0aW9uLW5vZGUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3RyZWFtPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc3RyZWFtIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjdXJyZW50IG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZXNwYWNlIG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGVUeXBlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdHlwZSBvZiB0aGUgbm9kZSBiZWluZyBwdXNoZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPi0xIGluIGNhc2Ugb2YgZXJyb3IsIDEgaWYgdGhlIGN1cnJlbnQgc3RhdGUgaW4gdGhlIHN0cmVhbSBpcyBhIG1hdGNoIGFuZCAwIG90aGVyd2lzZS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTdHJlYW1XYW50c0FueU5vZGUiIGlkPSJ4bWxTdHJlYW1XYW50c0FueU5vZGUiPjwvYT5GdW5jdGlvbjogeG1sU3RyZWFtV2FudHNBbnlOb2RlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFN0cmVhbVdhbnRzQW55Tm9kZQkJKDxhIGhyZWY9ImxpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sU3RyZWFtQ3R4dFB0ciI+eG1sU3RyZWFtQ3R4dFB0cjwvYT4gc3RyZWFtQ3R4dCk8YnIgLz4KKzwvcHJlPjxwPlF1ZXJ5IGlmIHRoZSBzdHJlYW1pbmcgcGF0dGVybiBhZGRpdGlvbmFsbHkgbmVlZHMgdG8gYmUgZmVkIHdpdGggdGV4dC0sIGNkYXRhLXNlY3Rpb24tLCBjb21tZW50LSBhbmQgcHJvY2Vzc2luZy1pbnN0cnVjdGlvbi1ub2Rlcy4gSWYgdGhlIHJlc3VsdCBpcyAwIHRoZW4gb25seSBlbGVtZW50LW5vZGVzIGFuZCBhdHRyaWJ1dGUtbm9kZXMgbmVlZCB0byBiZSBwdXNoZWQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3RyZWFtQ3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHN0cmVhbSBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGluIGNhc2Ugb2YgbmVlZCBvZiBub2RlcyBvZiB0aGUgYWJvdmUgZGVzY3JpYmVkIHR5cGVzLCAwIG90aGVyd2lzZS4gLTEgb24gQVBJIGVycm9ycy48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxwPjxhIGhyZWY9Ii4uL2J1Z3MuaHRtbCI+RGFuaWVsIFZlaWxsYXJkPC9hPjwvcD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sIGIvbGlieG1sMi9kb2MvaHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFlYzMxOTIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9odG1sL2xpYnhtbC1yZWxheG5nLmh0bWwKQEAgLTAsMCArMSwxNjIgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+PGxpbmsgcmVsPSJTSE9SVENVVCBJQ09OIiBocmVmPSIvZmF2aWNvbi5pY28iIC8+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK1REIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitCT0RZIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2E7IG1hcmdpbi10b3A6IDJlbTsgbWFyZ2luLWxlZnQ6IDBlbTsgbWFyZ2luLXJpZ2h0OiAwZW19CitIMSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDIge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gzIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitBOmxpbmssIEE6dmlzaXRlZCwgQTphY3RpdmUgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB9Cis8L3N0eWxlPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAgICBkaXYuZGVwcmVjYXRlZCBwcmUucHJvZ3JhbWxpc3Rpbmcge2JvcmRlci1zdHlsZTogZG91YmxlO2JvcmRlci1jb2xvcjpyZWR9CisgICAgICBwcmUucHJvZ3JhbWxpc3Rpbmcge2JvcmRlci1zdHlsZTogZG91YmxlO2JhY2tncm91bmQ6ICNFRUNGQTF9CisgICAgPC9zdHlsZT48dGl0bGU+TW9kdWxlIHJlbGF4bmcgZnJvbSBsaWJ4bWwyPC90aXRsZT48L2hlYWQ+PGJvZHkgYmdjb2xvcj0iIzhiNzc2NSIgdGV4dD0iIzAwMDAwMCIgbGluaz0iI2EwNjA2MCIgdmxpbms9IiMwMDAwMDAiPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSIxMDAlIiBjZWxscGFkZGluZz0iNSIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgd2lkdGg9IjEyMCI+PGEgaHJlZj0iaHR0cDovL3N3cGF0LmZmaWkub3JnLyI+PGltZyBzcmM9Ii4uL2VwYXRlbnRzLnBuZyIgYWx0PSJBY3Rpb24gYWdhaW5zdCBzb2Z0d2FyZSBwYXRlbnRzIiAvPjwvYT48L3RkPjx0ZCB3aWR0aD0iMTgwIj48YSBocmVmPSJodHRwOi8vd3d3Lmdub21lLm9yZy8iPjxpbWcgc3JjPSIuLi9nbm9tZTIucG5nIiBhbHQ9Ikdub21lMiBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9TdGF0dXMiPjxpbWcgc3JjPSIuLi93M2MucG5nIiBhbHQ9IlczQyBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnJlZGhhdC5jb20vIj48aW1nIHNyYz0iLi4vcmVkaGF0LmdpZiIgYWx0PSJSZWQgSGF0IExvZ28iIC8+PC9hPjxkaXYgYWxpZ249ImxlZnQiPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy8iPjxpbWcgc3JjPSIuLi9MaWJ4bWwyLUxvZ28tMTgweDE2OC5naWYiIGFsdD0iTWFkZSB3aXRoIExpYnhtbDIgTG9nbyIgLz48L2E+PC9kaXY+PC90ZD48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjkwJSIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiIGJnY29sb3I9IiNmZmZhY2QiPjx0cj48dGQgYWxpZ249ImNlbnRlciI+PGgxPjwvaDE+PGgyPk1vZHVsZSByZWxheG5nIGZyb20gbGlieG1sMjwvaDI+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjQiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiIHdpZHRoPSIxMDAlIj48dHI+PHRkIHZhbGlnbj0idG9wIiB3aWR0aD0iMjAwIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5BUEkgTWVudTwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48Zm9ybSBhY3Rpb249Ii4uL3NlYXJjaC5waHAiIGVuY3R5cGU9ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIgbWV0aG9kPSJnZXQiPjxpbnB1dCBuYW1lPSJxdWVyeSIgdHlwZT0idGV4dCIgc2l6ZT0iMjAiIHZhbHVlPSIiIC8+PGlucHV0IG5hbWU9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU2VhcmNoIC4uLiIgLz48L2Zvcm0+PHVsPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iLi4vaW5kZXguaHRtbCI+TWFpbiBNZW51PC9hPjwvbGk+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSIuLi9kb2NzLmh0bWwiPkRldmVsb3BlciBNZW51PC9hPjwvbGk+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSIuLi9leGFtcGxlcy9pbmRleC5odG1sIj5Db2RlIEV4YW1wbGVzPC9hPjwvbGk+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSJpbmRleC5odG1sIj5BUEkgTWVudTwvYT48L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwiPlBhcnNlciBBUEk8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCI+VHJlZSBBUEk8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sIj5SZWFkZXIgQVBJPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL2d1aWRlbGluZXMuaHRtbCI+WE1MIEd1aWRlbGluZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQ2hhbmdlTG9nLmh0bWwiPkNoYW5nZUxvZzwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPkFQSSBJbmRleGVzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iLi4vQVBJY2h1bmswLmh0bWwiPkFscGhhYmV0aWM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJY29uc3RydWN0b3JzLmh0bWwiPkNvbnN0cnVjdG9yczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUElmdW5jdGlvbnMuaHRtbCI+RnVuY3Rpb25zL1R5cGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSWZpbGVzLmh0bWwiPk1vZHVsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJc3ltYm9scy5odG1sIj5TeW1ib2xzPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+UmVsYXRlZCBsaW5rczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9Imh0dHA6Ly9tYWlsLmdub21lLm9yZy9hcmNoaXZlcy94bWwvIj5NYWlsIGFyY2hpdmU8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnL1hTTFQvIj5YU0xUIGxpYnhzbHQ8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3BoZC5jcy51bmliby5pdC9nZG9tZTIvIj5ET00gZ2RvbWUyPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuYWxla3NleS5jb20veG1sc2VjLyI+WE1MLURTaWcgeG1sc2VjPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImZ0cDovL3htbHNvZnQub3JnLyI+RlRQPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemxhdGtvdmljLmNvbS9wcm9qZWN0cy9saWJ4bWwvIj5XaW5kb3dzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9vcGVuY3N3Lm9yZy9wYWNrYWdlcy9saWJ4bWwyIj5Tb2xhcmlzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuZXhwbGFpbi5jb20uYXUvb3NzL2xpYnhtbDJ4c2x0Lmh0bWwiPk1hY09zWCBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbHhtbC5kZS8iPmx4bWwgUHl0aG9uIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9jcGFuLnV3aW5uaXBlZy5jYS9kaXN0L1hNTC1MaWJYTUwiPlBlcmwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbHBsdXNwbHVzLnNvdXJjZWZvcmdlLm5ldC8iPkMrKyBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnplbmQuY29tL3BocDUvYXJ0aWNsZXMvcGhwNS14bWxwaHAucGhwI0hlYWRpbmc0Ij5QSFAgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9saWJ4bWwyLXBhcy8iPlBhc2NhbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1sLnJ1Ynlmb3JnZS5vcmcvIj5SdWJ5IGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly90Y2x4bWwuc291cmNlZm9yZ2UubmV0LyI+VGNsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvYnVnbGlzdC5jZ2k/cHJvZHVjdD1saWJ4bWwyIj5CdWcgVHJhY2tlcjwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMyIgY2VsbHNwYWNpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx0YWJsZSBjbGFzcz0ibmF2aWdhdGlvbiIgd2lkdGg9IjEwMCUiIHN1bW1hcnk9Ik5hdmlnYXRpb24gaGVhZGVyIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjIiPjx0ciB2YWxpZ249Im1pZGRsZSI+PHRkPjxhIGFjY2Vzc2tleT0icCIgaHJlZj0ibGlieG1sLXBhdHRlcm4uaHRtbCI+PGltZyBzcmM9ImxlZnQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJQcmV2IiAvPjwvYT48L3RkPjx0aCBhbGlnbj0ibGVmdCI+PGEgaHJlZj0ibGlieG1sLXBhdHRlcm4uaHRtbCI+cGF0dGVybjwvYT48L3RoPjx0ZD48YSBhY2Nlc3NrZXk9InUiIGhyZWY9ImluZGV4Lmh0bWwiPjxpbWcgc3JjPSJ1cC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlVwIiAvPjwvYT48L3RkPjx0aCBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iaW5kZXguaHRtbCI+QVBJIGRvY3VtZW50YXRpb248L2E+PC90aD48dGQ+PGEgYWNjZXNza2V5PSJoIiBocmVmPSIuLi9pbmRleC5odG1sIj48aW1nIHNyYz0iaG9tZS5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IkhvbWUiIC8+PC9hPjwvdGQ+PHRoIGFsaWduPSJjZW50ZXIiPjxhIGhyZWY9Ii4uL2luZGV4Lmh0bWwiPlRoZSBYTUwgQyBwYXJzZXIgYW5kIHRvb2xraXQgb2YgR25vbWU8L2E+PC90aD48dGggYWxpZ249InJpZ2h0Ij48YSBocmVmPSJsaWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sIj5zY2hlbWFzSW50ZXJuYWxzPC9hPjwvdGg+PHRkPjxhIGFjY2Vzc2tleT0ibiIgaHJlZj0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCI+PGltZyBzcmM9InJpZ2h0LnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iTmV4dCIgLz48L2E+PC90ZD48L3RyPjwvdGFibGU+PHA+aW1wbGVtZW50YXRpb24gb2YgdGhlIFJlbGF4LU5HIHZhbGlkYXRpb24gPC9wPjxoMj5UYWJsZSBvZiBDb250ZW50czwvaDI+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlN0cnVjdHVyZSA8YSBocmVmPSIjeG1sUmVsYXhORyI+eG1sUmVsYXhORzwvYT48YnIgLz5zdHJ1Y3QgX3htbFJlbGF4TkcKK1RoZSBjb250ZW50IG9mIHRoaXMgc3RydWN0dXJlIGlzIG5vdCBtYWRlIHB1YmxpYyBieSB0aGUgQVBJLgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlN0cnVjdHVyZSA8YSBocmVmPSIjeG1sUmVsYXhOR1BhcnNlckN0eHQiPnhtbFJlbGF4TkdQYXJzZXJDdHh0PC9hPjxiciAvPnN0cnVjdCBfeG1sUmVsYXhOR1BhcnNlckN0eHQKK1RoZSBjb250ZW50IG9mIHRoaXMgc3RydWN0dXJlIGlzIG5vdCBtYWRlIHB1YmxpYyBieSB0aGUgQVBJLgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlR5cGVkZWYgPGEgaHJlZj0ibGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HUGFyc2VyQ3R4dCI+eG1sUmVsYXhOR1BhcnNlckN0eHQ8L2E+ICogPGEgbmFtZT0ieG1sUmVsYXhOR1BhcnNlckN0eHRQdHIiIGlkPSJ4bWxSZWxheE5HUGFyc2VyQ3R4dFB0ciI+eG1sUmVsYXhOR1BhcnNlckN0eHRQdHI8L2E+Cis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RW51bSA8YSBocmVmPSIjeG1sUmVsYXhOR1BhcnNlckZsYWciPnhtbFJlbGF4TkdQYXJzZXJGbGFnPC9hPgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlR5cGVkZWYgPGEgaHJlZj0ibGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HIj54bWxSZWxheE5HPC9hPiAqIDxhIG5hbWU9InhtbFJlbGF4TkdQdHIiIGlkPSJ4bWxSZWxheE5HUHRyIj54bWxSZWxheE5HUHRyPC9hPgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlN0cnVjdHVyZSA8YSBocmVmPSIjeG1sUmVsYXhOR1ZhbGlkQ3R4dCI+eG1sUmVsYXhOR1ZhbGlkQ3R4dDwvYT48YnIgLz5zdHJ1Y3QgX3htbFJlbGF4TkdWYWxpZEN0eHQKK1RoZSBjb250ZW50IG9mIHRoaXMgc3RydWN0dXJlIGlzIG5vdCBtYWRlIHB1YmxpYyBieSB0aGUgQVBJLgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlR5cGVkZWYgPGEgaHJlZj0ibGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HVmFsaWRDdHh0Ij54bWxSZWxheE5HVmFsaWRDdHh0PC9hPiAqIDxhIG5hbWU9InhtbFJlbGF4TkdWYWxpZEN0eHRQdHIiIGlkPSJ4bWxSZWxheE5HVmFsaWRDdHh0UHRyIj54bWxSZWxheE5HVmFsaWRDdHh0UHRyPC9hPgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkVudW0gPGEgaHJlZj0iI3htbFJlbGF4TkdWYWxpZEVyciI+eG1sUmVsYXhOR1ZhbGlkRXJyPC9hPgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFJlbGF4TkdDbGVhbnVwVHlwZXMiPnhtbFJlbGF4TkdDbGVhbnVwVHlwZXM8L2E+CQkodm9pZCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxSZWxheE5HRHVtcCI+eG1sUmVsYXhOR0R1bXA8L2E+CQkJKEZJTEUgKiBvdXRwdXQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1B0ciI+eG1sUmVsYXhOR1B0cjwvYT4gc2NoZW1hKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFJlbGF4TkdEdW1wVHJlZSI+eG1sUmVsYXhOR0R1bXBUcmVlPC9hPgkJKEZJTEUgKiBvdXRwdXQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1B0ciI+eG1sUmVsYXhOR1B0cjwvYT4gc2NoZW1hKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFJlbGF4TkdGcmVlIj54bWxSZWxheE5HRnJlZTwvYT4JCQkoPGEgaHJlZj0ibGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HUHRyIj54bWxSZWxheE5HUHRyPC9hPiBzY2hlbWEpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sUmVsYXhOR0ZyZWVQYXJzZXJDdHh0Ij54bWxSZWxheE5HRnJlZVBhcnNlckN0eHQ8L2E+CSg8YSBocmVmPSJsaWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdQYXJzZXJDdHh0UHRyIj54bWxSZWxheE5HUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxSZWxheE5HRnJlZVZhbGlkQ3R4dCI+eG1sUmVsYXhOR0ZyZWVWYWxpZEN0eHQ8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HVmFsaWRDdHh0UHRyIj54bWxSZWxheE5HVmFsaWRDdHh0UHRyPC9hPiBjdHh0KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sUmVsYXhOR0dldFBhcnNlckVycm9ycyI+eG1sUmVsYXhOR0dldFBhcnNlckVycm9yczwvYT4JKDxhIGhyZWY9ImxpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1BhcnNlckN0eHRQdHIiPnhtbFJlbGF4TkdQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdWYWxpZGl0eUVycm9yRnVuYyI+eG1sUmVsYXhOR1ZhbGlkaXR5RXJyb3JGdW5jPC9hPiAqIGVyciwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HVmFsaWRpdHlXYXJuaW5nRnVuYyI+eG1sUmVsYXhOR1ZhbGlkaXR5V2FybmluZ0Z1bmM8L2E+ICogd2FybiwgPGJyIC8+CQkJCQkgdm9pZCAqKiBjdHgpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxSZWxheE5HR2V0VmFsaWRFcnJvcnMiPnhtbFJlbGF4TkdHZXRWYWxpZEVycm9yczwvYT4JKDxhIGhyZWY9ImxpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0ciI+eG1sUmVsYXhOR1ZhbGlkQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HVmFsaWRpdHlFcnJvckZ1bmMiPnhtbFJlbGF4TkdWYWxpZGl0eUVycm9yRnVuYzwvYT4gKiBlcnIsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1ZhbGlkaXR5V2FybmluZ0Z1bmMiPnhtbFJlbGF4TkdWYWxpZGl0eVdhcm5pbmdGdW5jPC9hPiAqIHdhcm4sIDxiciAvPgkJCQkJIHZvaWQgKiogY3R4KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sUmVsYXhOR0luaXRUeXBlcyI+eG1sUmVsYXhOR0luaXRUeXBlczwvYT4JCSh2b2lkKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1BhcnNlckN0eHRQdHIiPnhtbFJlbGF4TkdQYXJzZXJDdHh0UHRyPC9hPgk8YSBocmVmPSIjeG1sUmVsYXhOR05ld0RvY1BhcnNlckN0eHQiPnhtbFJlbGF4TkdOZXdEb2NQYXJzZXJDdHh0PC9hPgkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1BhcnNlckN0eHRQdHIiPnhtbFJlbGF4TkdQYXJzZXJDdHh0UHRyPC9hPgk8YSBocmVmPSIjeG1sUmVsYXhOR05ld01lbVBhcnNlckN0eHQiPnhtbFJlbGF4TkdOZXdNZW1QYXJzZXJDdHh0PC9hPgkoY29uc3QgY2hhciAqIGJ1ZmZlciwgPGJyIC8+CQkJCQkJCSBpbnQgc2l6ZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdQYXJzZXJDdHh0UHRyIj54bWxSZWxheE5HUGFyc2VyQ3R4dFB0cjwvYT4JPGEgaHJlZj0iI3htbFJlbGF4TkdOZXdQYXJzZXJDdHh0Ij54bWxSZWxheE5HTmV3UGFyc2VyQ3R4dDwvYT4JKGNvbnN0IGNoYXIgKiBVUkwpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HVmFsaWRDdHh0UHRyIj54bWxSZWxheE5HVmFsaWRDdHh0UHRyPC9hPgk8YSBocmVmPSIjeG1sUmVsYXhOR05ld1ZhbGlkQ3R4dCI+eG1sUmVsYXhOR05ld1ZhbGlkQ3R4dDwvYT4JKDxhIGhyZWY9ImxpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1B0ciI+eG1sUmVsYXhOR1B0cjwvYT4gc2NoZW1hKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1B0ciI+eG1sUmVsYXhOR1B0cjwvYT4JPGEgaHJlZj0iI3htbFJlbGF4TkdQYXJzZSI+eG1sUmVsYXhOR1BhcnNlPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1BhcnNlckN0eHRQdHIiPnhtbFJlbGF4TkdQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFJlbGF4TkdTZXRQYXJzZXJFcnJvcnMiPnhtbFJlbGF4TkdTZXRQYXJzZXJFcnJvcnM8L2E+CSg8YSBocmVmPSJsaWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdQYXJzZXJDdHh0UHRyIj54bWxSZWxheE5HUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HVmFsaWRpdHlFcnJvckZ1bmMiPnhtbFJlbGF4TkdWYWxpZGl0eUVycm9yRnVuYzwvYT4gZXJyLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdWYWxpZGl0eVdhcm5pbmdGdW5jIj54bWxSZWxheE5HVmFsaWRpdHlXYXJuaW5nRnVuYzwvYT4gd2FybiwgPGJyIC8+CQkJCQkgdm9pZCAqIGN0eCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxSZWxheE5HU2V0UGFyc2VyU3RydWN0dXJlZEVycm9ycyI+eG1sUmVsYXhOR1NldFBhcnNlclN0cnVjdHVyZWRFcnJvcnM8L2E+CSg8YSBocmVmPSJsaWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdQYXJzZXJDdHh0UHRyIj54bWxSZWxheE5HUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxlcnJvci5odG1sI3htbFN0cnVjdHVyZWRFcnJvckZ1bmMiPnhtbFN0cnVjdHVyZWRFcnJvckZ1bmM8L2E+IHNlcnJvciwgPGJyIC8+CQkJCQkJIHZvaWQgKiBjdHgpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sUmVsYXhOR1NldFZhbGlkRXJyb3JzIj54bWxSZWxheE5HU2V0VmFsaWRFcnJvcnM8L2E+CSg8YSBocmVmPSJsaWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdWYWxpZEN0eHRQdHIiPnhtbFJlbGF4TkdWYWxpZEN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1ZhbGlkaXR5RXJyb3JGdW5jIj54bWxSZWxheE5HVmFsaWRpdHlFcnJvckZ1bmM8L2E+IGVyciwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HVmFsaWRpdHlXYXJuaW5nRnVuYyI+eG1sUmVsYXhOR1ZhbGlkaXR5V2FybmluZ0Z1bmM8L2E+IHdhcm4sIDxiciAvPgkJCQkJIHZvaWQgKiBjdHgpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sUmVsYXhOR1NldFZhbGlkU3RydWN0dXJlZEVycm9ycyI+eG1sUmVsYXhOR1NldFZhbGlkU3RydWN0dXJlZEVycm9yczwvYT4JKDxhIGhyZWY9ImxpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0ciI+eG1sUmVsYXhOR1ZhbGlkQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxlcnJvci5odG1sI3htbFN0cnVjdHVyZWRFcnJvckZ1bmMiPnhtbFN0cnVjdHVyZWRFcnJvckZ1bmM8L2E+IHNlcnJvciwgPGJyIC8+CQkJCQkJIHZvaWQgKiBjdHgpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxSZWxheE5HVmFsaWRhdGVEb2MiPnhtbFJlbGF4TkdWYWxpZGF0ZURvYzwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdWYWxpZEN0eHRQdHIiPnhtbFJlbGF4TkdWYWxpZEN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFJlbGF4TkdWYWxpZGF0ZUZ1bGxFbGVtZW50Ij54bWxSZWxheE5HVmFsaWRhdGVGdWxsRWxlbWVudDwvYT4JKDxhIGhyZWY9ImxpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0ciI+eG1sUmVsYXhOR1ZhbGlkQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGVsZW0pPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxSZWxheE5HVmFsaWRhdGVQb3BFbGVtZW50Ij54bWxSZWxheE5HVmFsaWRhdGVQb3BFbGVtZW50PC9hPgkoPGEgaHJlZj0ibGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HVmFsaWRDdHh0UHRyIj54bWxSZWxheE5HVmFsaWRDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gZWxlbSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFJlbGF4TkdWYWxpZGF0ZVB1c2hDRGF0YSI+eG1sUmVsYXhOR1ZhbGlkYXRlUHVzaENEYXRhPC9hPgkoPGEgaHJlZj0ibGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HVmFsaWRDdHh0UHRyIj54bWxSZWxheE5HVmFsaWRDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBkYXRhLCA8YnIgLz4JCQkJCSBpbnQgbGVuKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sUmVsYXhOR1ZhbGlkYXRlUHVzaEVsZW1lbnQiPnhtbFJlbGF4TkdWYWxpZGF0ZVB1c2hFbGVtZW50PC9hPgkoPGEgaHJlZj0ibGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HVmFsaWRDdHh0UHRyIj54bWxSZWxheE5HVmFsaWRDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gZWxlbSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5GdW5jdGlvbiB0eXBlOiA8YSBocmVmPSIjeG1sUmVsYXhOR1ZhbGlkaXR5RXJyb3JGdW5jIj54bWxSZWxheE5HVmFsaWRpdHlFcnJvckZ1bmM8L2E+Cit2b2lkCTxhIGhyZWY9IiN4bWxSZWxheE5HVmFsaWRpdHlFcnJvckZ1bmMiPnhtbFJlbGF4TkdWYWxpZGl0eUVycm9yRnVuYzwvYT4JKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBtc2csIDxiciAvPgkJCQkJIC4uLiAuLi4pCis8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5GdW5jdGlvbiB0eXBlOiA8YSBocmVmPSIjeG1sUmVsYXhOR1ZhbGlkaXR5V2FybmluZ0Z1bmMiPnhtbFJlbGF4TkdWYWxpZGl0eVdhcm5pbmdGdW5jPC9hPgordm9pZAk8YSBocmVmPSIjeG1sUmVsYXhOR1ZhbGlkaXR5V2FybmluZ0Z1bmMiPnhtbFJlbGF4TkdWYWxpZGl0eVdhcm5pbmdGdW5jPC9hPgkodm9pZCAqIGN0eCwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIG1zZywgPGJyIC8+CQkJCQkgLi4uIC4uLikKKzwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sUmVsYXhQYXJzZXJTZXRGbGFnIj54bWxSZWxheFBhcnNlclNldEZsYWc8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HUGFyc2VyQ3R4dFB0ciI+eG1sUmVsYXhOR1BhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIGludCBmbGFncyk8L3ByZT4KKzxoMj5EZXNjcmlwdGlvbjwvaDI+Cis8aDM+PGEgbmFtZT0ieG1sUmVsYXhORyIgaWQ9InhtbFJlbGF4TkciPlN0cnVjdHVyZSB4bWxSZWxheE5HPC9hPjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlN0cnVjdHVyZSB4bWxSZWxheE5HPGJyIC8+c3RydWN0IF94bWxSZWxheE5HIHsKK1RoZSBjb250ZW50IG9mIHRoaXMgc3RydWN0dXJlIGlzIG5vdCBtYWRlIHB1YmxpYyBieSB0aGUgQVBJLgorfTwvcHJlPjxoMz48YSBuYW1lPSJ4bWxSZWxheE5HUGFyc2VyQ3R4dCIgaWQ9InhtbFJlbGF4TkdQYXJzZXJDdHh0Ij5TdHJ1Y3R1cmUgeG1sUmVsYXhOR1BhcnNlckN0eHQ8L2E+PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+U3RydWN0dXJlIHhtbFJlbGF4TkdQYXJzZXJDdHh0PGJyIC8+c3RydWN0IF94bWxSZWxheE5HUGFyc2VyQ3R4dCB7CitUaGUgY29udGVudCBvZiB0aGlzIHN0cnVjdHVyZSBpcyBub3QgbWFkZSBwdWJsaWMgYnkgdGhlIEFQSS4KK308L3ByZT48aDM+RW51bSA8YSBuYW1lPSJ4bWxSZWxheE5HUGFyc2VyRmxhZyIgaWQ9InhtbFJlbGF4TkdQYXJzZXJGbGFnIj54bWxSZWxheE5HUGFyc2VyRmxhZzwvYT48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5FbnVtIHhtbFJlbGF4TkdQYXJzZXJGbGFnIHsKKyAgICA8YSBuYW1lPSJYTUxfUkVMQVhOR1BfTk9ORSIgaWQ9IlhNTF9SRUxBWE5HUF9OT05FIj5YTUxfUkVMQVhOR1BfTk9ORTwvYT4gPSAwCisgICAgPGEgbmFtZT0iWE1MX1JFTEFYTkdQX0ZSRUVfRE9DIiBpZD0iWE1MX1JFTEFYTkdQX0ZSRUVfRE9DIj5YTUxfUkVMQVhOR1BfRlJFRV9ET0M8L2E+ID0gMQorICAgIDxhIG5hbWU9IlhNTF9SRUxBWE5HUF9DUk5HIiBpZD0iWE1MX1JFTEFYTkdQX0NSTkciPlhNTF9SRUxBWE5HUF9DUk5HPC9hPiA9IDIKK30KKzwvcHJlPjxoMz48YSBuYW1lPSJ4bWxSZWxheE5HVmFsaWRDdHh0IiBpZD0ieG1sUmVsYXhOR1ZhbGlkQ3R4dCI+U3RydWN0dXJlIHhtbFJlbGF4TkdWYWxpZEN0eHQ8L2E+PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+U3RydWN0dXJlIHhtbFJlbGF4TkdWYWxpZEN0eHQ8YnIgLz5zdHJ1Y3QgX3htbFJlbGF4TkdWYWxpZEN0eHQgeworVGhlIGNvbnRlbnQgb2YgdGhpcyBzdHJ1Y3R1cmUgaXMgbm90IG1hZGUgcHVibGljIGJ5IHRoZSBBUEkuCit9PC9wcmU+PGgzPkVudW0gPGEgbmFtZT0ieG1sUmVsYXhOR1ZhbGlkRXJyIiBpZD0ieG1sUmVsYXhOR1ZhbGlkRXJyIj54bWxSZWxheE5HVmFsaWRFcnI8L2E+PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RW51bSB4bWxSZWxheE5HVmFsaWRFcnIgeworICAgIDxhIG5hbWU9IlhNTF9SRUxBWE5HX09LIiBpZD0iWE1MX1JFTEFYTkdfT0siPlhNTF9SRUxBWE5HX09LPC9hPiA9IDAKKyAgICA8YSBuYW1lPSJYTUxfUkVMQVhOR19FUlJfTUVNT1JZIiBpZD0iWE1MX1JFTEFYTkdfRVJSX01FTU9SWSI+WE1MX1JFTEFYTkdfRVJSX01FTU9SWTwvYT4gPSAxCisgICAgPGEgbmFtZT0iWE1MX1JFTEFYTkdfRVJSX1RZUEUiIGlkPSJYTUxfUkVMQVhOR19FUlJfVFlQRSI+WE1MX1JFTEFYTkdfRVJSX1RZUEU8L2E+ID0gMgorICAgIDxhIG5hbWU9IlhNTF9SRUxBWE5HX0VSUl9UWVBFVkFMIiBpZD0iWE1MX1JFTEFYTkdfRVJSX1RZUEVWQUwiPlhNTF9SRUxBWE5HX0VSUl9UWVBFVkFMPC9hPiA9IDMKKyAgICA8YSBuYW1lPSJYTUxfUkVMQVhOR19FUlJfRFVQSUQiIGlkPSJYTUxfUkVMQVhOR19FUlJfRFVQSUQiPlhNTF9SRUxBWE5HX0VSUl9EVVBJRDwvYT4gPSA0CisgICAgPGEgbmFtZT0iWE1MX1JFTEFYTkdfRVJSX1RZUEVDTVAiIGlkPSJYTUxfUkVMQVhOR19FUlJfVFlQRUNNUCI+WE1MX1JFTEFYTkdfRVJSX1RZUEVDTVA8L2E+ID0gNQorICAgIDxhIG5hbWU9IlhNTF9SRUxBWE5HX0VSUl9OT1NUQVRFIiBpZD0iWE1MX1JFTEFYTkdfRVJSX05PU1RBVEUiPlhNTF9SRUxBWE5HX0VSUl9OT1NUQVRFPC9hPiA9IDYKKyAgICA8YSBuYW1lPSJYTUxfUkVMQVhOR19FUlJfTk9ERUZJTkUiIGlkPSJYTUxfUkVMQVhOR19FUlJfTk9ERUZJTkUiPlhNTF9SRUxBWE5HX0VSUl9OT0RFRklORTwvYT4gPSA3CisgICAgPGEgbmFtZT0iWE1MX1JFTEFYTkdfRVJSX0xJU1RFWFRSQSIgaWQ9IlhNTF9SRUxBWE5HX0VSUl9MSVNURVhUUkEiPlhNTF9SRUxBWE5HX0VSUl9MSVNURVhUUkE8L2E+ID0gOAorICAgIDxhIG5hbWU9IlhNTF9SRUxBWE5HX0VSUl9MSVNURU1QVFkiIGlkPSJYTUxfUkVMQVhOR19FUlJfTElTVEVNUFRZIj5YTUxfUkVMQVhOR19FUlJfTElTVEVNUFRZPC9hPiA9IDkKKyAgICA8YSBuYW1lPSJYTUxfUkVMQVhOR19FUlJfSU5URVJOT0RBVEEiIGlkPSJYTUxfUkVMQVhOR19FUlJfSU5URVJOT0RBVEEiPlhNTF9SRUxBWE5HX0VSUl9JTlRFUk5PREFUQTwvYT4gPSAxMAorICAgIDxhIG5hbWU9IlhNTF9SRUxBWE5HX0VSUl9JTlRFUlNFUSIgaWQ9IlhNTF9SRUxBWE5HX0VSUl9JTlRFUlNFUSI+WE1MX1JFTEFYTkdfRVJSX0lOVEVSU0VRPC9hPiA9IDExCisgICAgPGEgbmFtZT0iWE1MX1JFTEFYTkdfRVJSX0lOVEVSRVhUUkEiIGlkPSJYTUxfUkVMQVhOR19FUlJfSU5URVJFWFRSQSI+WE1MX1JFTEFYTkdfRVJSX0lOVEVSRVhUUkE8L2E+ID0gMTIKKyAgICA8YSBuYW1lPSJYTUxfUkVMQVhOR19FUlJfRUxFTU5BTUUiIGlkPSJYTUxfUkVMQVhOR19FUlJfRUxFTU5BTUUiPlhNTF9SRUxBWE5HX0VSUl9FTEVNTkFNRTwvYT4gPSAxMworICAgIDxhIG5hbWU9IlhNTF9SRUxBWE5HX0VSUl9BVFRSTkFNRSIgaWQ9IlhNTF9SRUxBWE5HX0VSUl9BVFRSTkFNRSI+WE1MX1JFTEFYTkdfRVJSX0FUVFJOQU1FPC9hPiA9IDE0CisgICAgPGEgbmFtZT0iWE1MX1JFTEFYTkdfRVJSX0VMRU1OT05TIiBpZD0iWE1MX1JFTEFYTkdfRVJSX0VMRU1OT05TIj5YTUxfUkVMQVhOR19FUlJfRUxFTU5PTlM8L2E+ID0gMTUKKyAgICA8YSBuYW1lPSJYTUxfUkVMQVhOR19FUlJfQVRUUk5PTlMiIGlkPSJYTUxfUkVMQVhOR19FUlJfQVRUUk5PTlMiPlhNTF9SRUxBWE5HX0VSUl9BVFRSTk9OUzwvYT4gPSAxNgorICAgIDxhIG5hbWU9IlhNTF9SRUxBWE5HX0VSUl9FTEVNV1JPTkdOUyIgaWQ9IlhNTF9SRUxBWE5HX0VSUl9FTEVNV1JPTkdOUyI+WE1MX1JFTEFYTkdfRVJSX0VMRU1XUk9OR05TPC9hPiA9IDE3CisgICAgPGEgbmFtZT0iWE1MX1JFTEFYTkdfRVJSX0FUVFJXUk9OR05TIiBpZD0iWE1MX1JFTEFYTkdfRVJSX0FUVFJXUk9OR05TIj5YTUxfUkVMQVhOR19FUlJfQVRUUldST05HTlM8L2E+ID0gMTgKKyAgICA8YSBuYW1lPSJYTUxfUkVMQVhOR19FUlJfRUxFTUVYVFJBTlMiIGlkPSJYTUxfUkVMQVhOR19FUlJfRUxFTUVYVFJBTlMiPlhNTF9SRUxBWE5HX0VSUl9FTEVNRVhUUkFOUzwvYT4gPSAxOQorICAgIDxhIG5hbWU9IlhNTF9SRUxBWE5HX0VSUl9BVFRSRVhUUkFOUyIgaWQ9IlhNTF9SRUxBWE5HX0VSUl9BVFRSRVhUUkFOUyI+WE1MX1JFTEFYTkdfRVJSX0FUVFJFWFRSQU5TPC9hPiA9IDIwCisgICAgPGEgbmFtZT0iWE1MX1JFTEFYTkdfRVJSX0VMRU1OT1RFTVBUWSIgaWQ9IlhNTF9SRUxBWE5HX0VSUl9FTEVNTk9URU1QVFkiPlhNTF9SRUxBWE5HX0VSUl9FTEVNTk9URU1QVFk8L2E+ID0gMjEKKyAgICA8YSBuYW1lPSJYTUxfUkVMQVhOR19FUlJfTk9FTEVNIiBpZD0iWE1MX1JFTEFYTkdfRVJSX05PRUxFTSI+WE1MX1JFTEFYTkdfRVJSX05PRUxFTTwvYT4gPSAyMgorICAgIDxhIG5hbWU9IlhNTF9SRUxBWE5HX0VSUl9OT1RFTEVNIiBpZD0iWE1MX1JFTEFYTkdfRVJSX05PVEVMRU0iPlhNTF9SRUxBWE5HX0VSUl9OT1RFTEVNPC9hPiA9IDIzCisgICAgPGEgbmFtZT0iWE1MX1JFTEFYTkdfRVJSX0FUVFJWQUxJRCIgaWQ9IlhNTF9SRUxBWE5HX0VSUl9BVFRSVkFMSUQiPlhNTF9SRUxBWE5HX0VSUl9BVFRSVkFMSUQ8L2E+ID0gMjQKKyAgICA8YSBuYW1lPSJYTUxfUkVMQVhOR19FUlJfQ09OVEVOVFZBTElEIiBpZD0iWE1MX1JFTEFYTkdfRVJSX0NPTlRFTlRWQUxJRCI+WE1MX1JFTEFYTkdfRVJSX0NPTlRFTlRWQUxJRDwvYT4gPSAyNQorICAgIDxhIG5hbWU9IlhNTF9SRUxBWE5HX0VSUl9FWFRSQUNPTlRFTlQiIGlkPSJYTUxfUkVMQVhOR19FUlJfRVhUUkFDT05URU5UIj5YTUxfUkVMQVhOR19FUlJfRVhUUkFDT05URU5UPC9hPiA9IDI2CisgICAgPGEgbmFtZT0iWE1MX1JFTEFYTkdfRVJSX0lOVkFMSURBVFRSIiBpZD0iWE1MX1JFTEFYTkdfRVJSX0lOVkFMSURBVFRSIj5YTUxfUkVMQVhOR19FUlJfSU5WQUxJREFUVFI8L2E+ID0gMjcKKyAgICA8YSBuYW1lPSJYTUxfUkVMQVhOR19FUlJfREFUQUVMRU0iIGlkPSJYTUxfUkVMQVhOR19FUlJfREFUQUVMRU0iPlhNTF9SRUxBWE5HX0VSUl9EQVRBRUxFTTwvYT4gPSAyOAorICAgIDxhIG5hbWU9IlhNTF9SRUxBWE5HX0VSUl9WQUxFTEVNIiBpZD0iWE1MX1JFTEFYTkdfRVJSX1ZBTEVMRU0iPlhNTF9SRUxBWE5HX0VSUl9WQUxFTEVNPC9hPiA9IDI5CisgICAgPGEgbmFtZT0iWE1MX1JFTEFYTkdfRVJSX0xJU1RFTEVNIiBpZD0iWE1MX1JFTEFYTkdfRVJSX0xJU1RFTEVNIj5YTUxfUkVMQVhOR19FUlJfTElTVEVMRU08L2E+ID0gMzAKKyAgICA8YSBuYW1lPSJYTUxfUkVMQVhOR19FUlJfREFUQVRZUEUiIGlkPSJYTUxfUkVMQVhOR19FUlJfREFUQVRZUEUiPlhNTF9SRUxBWE5HX0VSUl9EQVRBVFlQRTwvYT4gPSAzMQorICAgIDxhIG5hbWU9IlhNTF9SRUxBWE5HX0VSUl9WQUxVRSIgaWQ9IlhNTF9SRUxBWE5HX0VSUl9WQUxVRSI+WE1MX1JFTEFYTkdfRVJSX1ZBTFVFPC9hPiA9IDMyCisgICAgPGEgbmFtZT0iWE1MX1JFTEFYTkdfRVJSX0xJU1QiIGlkPSJYTUxfUkVMQVhOR19FUlJfTElTVCI+WE1MX1JFTEFYTkdfRVJSX0xJU1Q8L2E+ID0gMzMKKyAgICA8YSBuYW1lPSJYTUxfUkVMQVhOR19FUlJfTk9HUkFNTUFSIiBpZD0iWE1MX1JFTEFYTkdfRVJSX05PR1JBTU1BUiI+WE1MX1JFTEFYTkdfRVJSX05PR1JBTU1BUjwvYT4gPSAzNAorICAgIDxhIG5hbWU9IlhNTF9SRUxBWE5HX0VSUl9FWFRSQURBVEEiIGlkPSJYTUxfUkVMQVhOR19FUlJfRVhUUkFEQVRBIj5YTUxfUkVMQVhOR19FUlJfRVhUUkFEQVRBPC9hPiA9IDM1CisgICAgPGEgbmFtZT0iWE1MX1JFTEFYTkdfRVJSX0xBQ0tEQVRBIiBpZD0iWE1MX1JFTEFYTkdfRVJSX0xBQ0tEQVRBIj5YTUxfUkVMQVhOR19FUlJfTEFDS0RBVEE8L2E+ID0gMzYKKyAgICA8YSBuYW1lPSJYTUxfUkVMQVhOR19FUlJfSU5URVJOQUwiIGlkPSJYTUxfUkVMQVhOR19FUlJfSU5URVJOQUwiPlhNTF9SRUxBWE5HX0VSUl9JTlRFUk5BTDwvYT4gPSAzNworICAgIDxhIG5hbWU9IlhNTF9SRUxBWE5HX0VSUl9FTEVNV1JPTkciIGlkPSJYTUxfUkVMQVhOR19FUlJfRUxFTVdST05HIj5YTUxfUkVMQVhOR19FUlJfRUxFTVdST05HPC9hPiA9IDM4CisgICAgPGEgbmFtZT0iWE1MX1JFTEFYTkdfRVJSX1RFWFRXUk9ORyIgaWQ9IlhNTF9SRUxBWE5HX0VSUl9URVhUV1JPTkciPlhNTF9SRUxBWE5HX0VSUl9URVhUV1JPTkc8L2E+ID0gMzkKK30KKzwvcHJlPjxoMz48YSBuYW1lPSJ4bWxSZWxheE5HQ2xlYW51cFR5cGVzIiBpZD0ieG1sUmVsYXhOR0NsZWFudXBUeXBlcyI+PC9hPkZ1bmN0aW9uOiB4bWxSZWxheE5HQ2xlYW51cFR5cGVzPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxSZWxheE5HQ2xlYW51cFR5cGVzCQkodm9pZCk8YnIgLz4KKzwvcHJlPjxwPkNsZWFudXAgdGhlIGRlZmF1bHQgU2NoZW1hcyB0eXBlIGxpYnJhcnkgYXNzb2NpYXRlZCB0byBSZWxheE5HPC9wPgorPGgzPjxhIG5hbWU9InhtbFJlbGF4TkdEdW1wIiBpZD0ieG1sUmVsYXhOR0R1bXAiPjwvYT5GdW5jdGlvbjogeG1sUmVsYXhOR0R1bXA8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFJlbGF4TkdEdW1wCQkJKEZJTEUgKiBvdXRwdXQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1B0ciI+eG1sUmVsYXhOR1B0cjwvYT4gc2NoZW1hKTxiciAvPgorPC9wcmU+PHA+RHVtcCBhIFJlbGF4Tkcgc3RydWN0dXJlIGJhY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vdXRwdXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmaWxlIG91dHB1dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2NoZW1hPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHNjaGVtYSBzdHJ1Y3R1cmU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxSZWxheE5HRHVtcFRyZWUiIGlkPSJ4bWxSZWxheE5HRHVtcFRyZWUiPjwvYT5GdW5jdGlvbjogeG1sUmVsYXhOR0R1bXBUcmVlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxSZWxheE5HRHVtcFRyZWUJCShGSUxFICogb3V0cHV0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdQdHIiPnhtbFJlbGF4TkdQdHI8L2E+IHNjaGVtYSk8YnIgLz4KKzwvcHJlPjxwPkR1bXAgdGhlIHRyYW5zZm9ybWVkIFJlbGF4TkcgdHJlZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vdXRwdXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmaWxlIG91dHB1dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2NoZW1hPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHNjaGVtYSBzdHJ1Y3R1cmU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxSZWxheE5HRnJlZSIgaWQ9InhtbFJlbGF4TkdGcmVlIj48L2E+RnVuY3Rpb246IHhtbFJlbGF4TkdGcmVlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxSZWxheE5HRnJlZQkJCSg8YSBocmVmPSJsaWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdQdHIiPnhtbFJlbGF4TkdQdHI8L2E+IHNjaGVtYSk8YnIgLz4KKzwvcHJlPjxwPkRlYWxsb2NhdGUgYSBSZWxheE5HIHN0cnVjdHVyZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zY2hlbWE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgc2NoZW1hIHN0cnVjdHVyZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFJlbGF4TkdGcmVlUGFyc2VyQ3R4dCIgaWQ9InhtbFJlbGF4TkdGcmVlUGFyc2VyQ3R4dCI+PC9hPkZ1bmN0aW9uOiB4bWxSZWxheE5HRnJlZVBhcnNlckN0eHQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFJlbGF4TkdGcmVlUGFyc2VyQ3R4dAkoPGEgaHJlZj0ibGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HUGFyc2VyQ3R4dFB0ciI+eG1sUmVsYXhOR1BhcnNlckN0eHRQdHI8L2E+IGN0eHQpPGJyIC8+Cis8L3ByZT48cD5GcmVlIHRoZSByZXNvdXJjZXMgYXNzb2NpYXRlZCB0byB0aGUgc2NoZW1hIHBhcnNlciBjb250ZXh0PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHNjaGVtYSBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFJlbGF4TkdGcmVlVmFsaWRDdHh0IiBpZD0ieG1sUmVsYXhOR0ZyZWVWYWxpZEN0eHQiPjwvYT5GdW5jdGlvbjogeG1sUmVsYXhOR0ZyZWVWYWxpZEN0eHQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFJlbGF4TkdGcmVlVmFsaWRDdHh0CQkoPGEgaHJlZj0ibGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HVmFsaWRDdHh0UHRyIj54bWxSZWxheE5HVmFsaWRDdHh0UHRyPC9hPiBjdHh0KTxiciAvPgorPC9wcmU+PHA+RnJlZSB0aGUgcmVzb3VyY2VzIGFzc29jaWF0ZWQgdG8gdGhlIHNjaGVtYSB2YWxpZGF0aW9uIGNvbnRleHQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc2NoZW1hIHZhbGlkYXRpb24gY29udGV4dDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFJlbGF4TkdHZXRQYXJzZXJFcnJvcnMiIGlkPSJ4bWxSZWxheE5HR2V0UGFyc2VyRXJyb3JzIj48L2E+RnVuY3Rpb246IHhtbFJlbGF4TkdHZXRQYXJzZXJFcnJvcnM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sUmVsYXhOR0dldFBhcnNlckVycm9ycwkoPGEgaHJlZj0ibGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HUGFyc2VyQ3R4dFB0ciI+eG1sUmVsYXhOR1BhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1ZhbGlkaXR5RXJyb3JGdW5jIj54bWxSZWxheE5HVmFsaWRpdHlFcnJvckZ1bmM8L2E+ICogZXJyLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdWYWxpZGl0eVdhcm5pbmdGdW5jIj54bWxSZWxheE5HVmFsaWRpdHlXYXJuaW5nRnVuYzwvYT4gKiB3YXJuLCA8YnIgLz4JCQkJCSB2b2lkICoqIGN0eCk8YnIgLz4KKzwvcHJlPjxwPkdldCB0aGUgY2FsbGJhY2sgaW5mb3JtYXRpb24gdXNlZCB0byBoYW5kbGUgZXJyb3JzIGZvciBhIHZhbGlkYXRpb24gY29udGV4dDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgUmVsYXgtTkcgdmFsaWRhdGlvbiBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lcnI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlcnJvciBjYWxsYmFjayByZXN1bHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pndhcm48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB3YXJuaW5nIGNhbGxiYWNrIHJlc3VsdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5jb250ZXh0dWFsIGRhdGEgZm9yIHRoZSBjYWxsYmFja3MgcmVzdWx0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4tMSBpbiBjYXNlIG9mIGZhaWx1cmUsIDAgb3RoZXJ3aXNlLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFJlbGF4TkdHZXRWYWxpZEVycm9ycyIgaWQ9InhtbFJlbGF4TkdHZXRWYWxpZEVycm9ycyI+PC9hPkZ1bmN0aW9uOiB4bWxSZWxheE5HR2V0VmFsaWRFcnJvcnM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sUmVsYXhOR0dldFZhbGlkRXJyb3JzCSg8YSBocmVmPSJsaWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdWYWxpZEN0eHRQdHIiPnhtbFJlbGF4TkdWYWxpZEN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1ZhbGlkaXR5RXJyb3JGdW5jIj54bWxSZWxheE5HVmFsaWRpdHlFcnJvckZ1bmM8L2E+ICogZXJyLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdWYWxpZGl0eVdhcm5pbmdGdW5jIj54bWxSZWxheE5HVmFsaWRpdHlXYXJuaW5nRnVuYzwvYT4gKiB3YXJuLCA8YnIgLz4JCQkJCSB2b2lkICoqIGN0eCk8YnIgLz4KKzwvcHJlPjxwPkdldCB0aGUgZXJyb3IgYW5kIHdhcm5pbmcgY2FsbGJhY2sgaW5mb3JtYXRpb25zPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBSZWxheC1ORyB2YWxpZGF0aW9uIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVycjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVycm9yIGZ1bmN0aW9uIHJlc3VsdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d2FybjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHdhcm5pbmcgZnVuY3Rpb24gcmVzdWx0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmdW5jdGlvbnMgY29udGV4dCByZXN1bHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPi0xIGluIGNhc2Ugb2YgZXJyb3IgYW5kIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sUmVsYXhOR0luaXRUeXBlcyIgaWQ9InhtbFJlbGF4TkdJbml0VHlwZXMiPjwvYT5GdW5jdGlvbjogeG1sUmVsYXhOR0luaXRUeXBlczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxSZWxheE5HSW5pdFR5cGVzCQkodm9pZCk8YnIgLz4KKzwvcHJlPjxwPkluaXRpbGl6ZSB0aGUgZGVmYXVsdCB0eXBlIGxpYnJhcmllcy48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGluIGNhc2Ugb2Ygc3VjY2VzcyBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxSZWxheE5HTmV3RG9jUGFyc2VyQ3R4dCIgaWQ9InhtbFJlbGF4TkdOZXdEb2NQYXJzZXJDdHh0Ij48L2E+RnVuY3Rpb246IHhtbFJlbGF4TkdOZXdEb2NQYXJzZXJDdHh0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HUGFyc2VyQ3R4dFB0ciI+eG1sUmVsYXhOR1BhcnNlckN0eHRQdHI8L2E+CXhtbFJlbGF4TkdOZXdEb2NQYXJzZXJDdHh0CSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MpPGJyIC8+Cis8L3ByZT48cD5DcmVhdGUgYW4gWE1MIFJlbGF4TkdzIHBhcnNlciBjb250ZXh0IGZvciB0aGF0IGRvY3VtZW50LiBOb3RlOiBzaW5jZSB0aGUgcHJvY2VzcyBvZiBjb21waWxpbmcgYSBSZWxheE5HIHNjaGVtYXMgbW9kaWZpZXMgdGhlIGRvY3VtZW50LCB0aGUgQGRvYyBwYXJhbWV0ZXIgaXMgZHVwbGljYXRlZCBpbnRlcm5hbGx5LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwcmVwYXJzZWQgZG9jdW1lbnQgdHJlZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHBhcnNlciBjb250ZXh0IG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFJlbGF4TkdOZXdNZW1QYXJzZXJDdHh0IiBpZD0ieG1sUmVsYXhOR05ld01lbVBhcnNlckN0eHQiPjwvYT5GdW5jdGlvbjogeG1sUmVsYXhOR05ld01lbVBhcnNlckN0eHQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdQYXJzZXJDdHh0UHRyIj54bWxSZWxheE5HUGFyc2VyQ3R4dFB0cjwvYT4JeG1sUmVsYXhOR05ld01lbVBhcnNlckN0eHQJKGNvbnN0IGNoYXIgKiBidWZmZXIsIDxiciAvPgkJCQkJCQkgaW50IHNpemUpPGJyIC8+Cis8L3ByZT48cD5DcmVhdGUgYW4gWE1MIFJlbGF4TkdzIHBhcnNlIGNvbnRleHQgZm9yIHRoYXQgbWVtb3J5IGJ1ZmZlciBleHBlY3RlZCB0byBjb250YWluIGFuIFhNTCBSZWxheE5HcyBmaWxlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmJ1ZmZlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIGEgY2hhciBhcnJheSBjb250YWluaW5nIHRoZSBzY2hlbWFzPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zaXplPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc2l6ZSBvZiB0aGUgYXJyYXk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwYXJzZXIgY29udGV4dCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxSZWxheE5HTmV3UGFyc2VyQ3R4dCIgaWQ9InhtbFJlbGF4TkdOZXdQYXJzZXJDdHh0Ij48L2E+RnVuY3Rpb246IHhtbFJlbGF4TkdOZXdQYXJzZXJDdHh0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HUGFyc2VyQ3R4dFB0ciI+eG1sUmVsYXhOR1BhcnNlckN0eHRQdHI8L2E+CXhtbFJlbGF4TkdOZXdQYXJzZXJDdHh0CShjb25zdCBjaGFyICogVVJMKTxiciAvPgorPC9wcmU+PHA+Q3JlYXRlIGFuIFhNTCBSZWxheE5HcyBwYXJzZSBjb250ZXh0IGZvciB0aGF0IGZpbGUvcmVzb3VyY2UgZXhwZWN0ZWQgdG8gY29udGFpbiBhbiBYTUwgUmVsYXhOR3MgZmlsZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5VUkw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsb2NhdGlvbiBvZiB0aGUgc2NoZW1hPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcGFyc2VyIGNvbnRleHQgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sUmVsYXhOR05ld1ZhbGlkQ3R4dCIgaWQ9InhtbFJlbGF4TkdOZXdWYWxpZEN0eHQiPjwvYT5GdW5jdGlvbjogeG1sUmVsYXhOR05ld1ZhbGlkQ3R4dDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0ciI+eG1sUmVsYXhOR1ZhbGlkQ3R4dFB0cjwvYT4JeG1sUmVsYXhOR05ld1ZhbGlkQ3R4dAkoPGEgaHJlZj0ibGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HUHRyIj54bWxSZWxheE5HUHRyPC9hPiBzY2hlbWEpPGJyIC8+Cis8L3ByZT48cD5DcmVhdGUgYW4gWE1MIFJlbGF4TkdzIHZhbGlkYXRpb24gY29udGV4dCBiYXNlZCBvbiB0aGUgZ2l2ZW4gc2NoZW1hPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2NoZW1hPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHByZWNvbXBpbGVkIFhNTCBSZWxheE5HczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHZhbGlkYXRpb24gY29udGV4dCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxSZWxheE5HUGFyc2UiIGlkPSJ4bWxSZWxheE5HUGFyc2UiPjwvYT5GdW5jdGlvbjogeG1sUmVsYXhOR1BhcnNlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HUHRyIj54bWxSZWxheE5HUHRyPC9hPgl4bWxSZWxheE5HUGFyc2UJCSg8YSBocmVmPSJsaWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdQYXJzZXJDdHh0UHRyIj54bWxSZWxheE5HUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8YnIgLz4KKzwvcHJlPjxwPnBhcnNlIGEgc2NoZW1hIGRlZmluaXRpb24gcmVzb3VyY2UgYW5kIGJ1aWxkIGFuIGludGVybmFsIFhNTCBTaGVtYSBzdHJ1dHVyZSB3aGljaCBjYW4gYmUgdXNlZCB0byB2YWxpZGF0ZSBpbnN0YW5jZXMuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBSZWxheC1ORyBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGludGVybmFsIFhNTCBSZWxheE5HIHN0cnVjdHVyZSBidWlsdCBmcm9tIHRoZSByZXNvdXJjZSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxSZWxheE5HU2V0UGFyc2VyRXJyb3JzIiBpZD0ieG1sUmVsYXhOR1NldFBhcnNlckVycm9ycyI+PC9hPkZ1bmN0aW9uOiB4bWxSZWxheE5HU2V0UGFyc2VyRXJyb3JzPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxSZWxheE5HU2V0UGFyc2VyRXJyb3JzCSg8YSBocmVmPSJsaWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdQYXJzZXJDdHh0UHRyIj54bWxSZWxheE5HUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HVmFsaWRpdHlFcnJvckZ1bmMiPnhtbFJlbGF4TkdWYWxpZGl0eUVycm9yRnVuYzwvYT4gZXJyLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdWYWxpZGl0eVdhcm5pbmdGdW5jIj54bWxSZWxheE5HVmFsaWRpdHlXYXJuaW5nRnVuYzwvYT4gd2FybiwgPGJyIC8+CQkJCQkgdm9pZCAqIGN0eCk8YnIgLz4KKzwvcHJlPjxwPlNldCB0aGUgY2FsbGJhY2sgZnVuY3Rpb25zIHVzZWQgdG8gaGFuZGxlIGVycm9ycyBmb3IgYSB2YWxpZGF0aW9uIGNvbnRleHQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIFJlbGF4LU5HIHZhbGlkYXRpb24gY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZXJyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZXJyb3IgY2FsbGJhY2s8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pndhcm48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB3YXJuaW5nIGNhbGxiYWNrPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmNvbnRleHR1YWwgZGF0YSBmb3IgdGhlIGNhbGxiYWNrczwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFJlbGF4TkdTZXRQYXJzZXJTdHJ1Y3R1cmVkRXJyb3JzIiBpZD0ieG1sUmVsYXhOR1NldFBhcnNlclN0cnVjdHVyZWRFcnJvcnMiPjwvYT5GdW5jdGlvbjogeG1sUmVsYXhOR1NldFBhcnNlclN0cnVjdHVyZWRFcnJvcnM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFJlbGF4TkdTZXRQYXJzZXJTdHJ1Y3R1cmVkRXJyb3JzCSg8YSBocmVmPSJsaWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdQYXJzZXJDdHh0UHRyIj54bWxSZWxheE5HUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxlcnJvci5odG1sI3htbFN0cnVjdHVyZWRFcnJvckZ1bmMiPnhtbFN0cnVjdHVyZWRFcnJvckZ1bmM8L2E+IHNlcnJvciwgPGJyIC8+CQkJCQkJIHZvaWQgKiBjdHgpPGJyIC8+Cis8L3ByZT48cD5TZXQgdGhlIGNhbGxiYWNrIGZ1bmN0aW9ucyB1c2VkIHRvIGhhbmRsZSBlcnJvcnMgZm9yIGEgcGFyc2luZyBjb250ZXh0PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBSZWxheC1ORyBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2Vycm9yPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZXJyb3IgY2FsbGJhY2s8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+Y29udGV4dHVhbCBkYXRhIGZvciB0aGUgY2FsbGJhY2tzPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sUmVsYXhOR1NldFZhbGlkRXJyb3JzIiBpZD0ieG1sUmVsYXhOR1NldFZhbGlkRXJyb3JzIj48L2E+RnVuY3Rpb246IHhtbFJlbGF4TkdTZXRWYWxpZEVycm9yczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sUmVsYXhOR1NldFZhbGlkRXJyb3JzCSg8YSBocmVmPSJsaWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdWYWxpZEN0eHRQdHIiPnhtbFJlbGF4TkdWYWxpZEN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1ZhbGlkaXR5RXJyb3JGdW5jIj54bWxSZWxheE5HVmFsaWRpdHlFcnJvckZ1bmM8L2E+IGVyciwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HVmFsaWRpdHlXYXJuaW5nRnVuYyI+eG1sUmVsYXhOR1ZhbGlkaXR5V2FybmluZ0Z1bmM8L2E+IHdhcm4sIDxiciAvPgkJCQkJIHZvaWQgKiBjdHgpPGJyIC8+Cis8L3ByZT48cD5TZXQgdGhlIGVycm9yIGFuZCB3YXJuaW5nIGNhbGxiYWNrIGluZm9ybWF0aW9uczwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgUmVsYXgtTkcgdmFsaWRhdGlvbiBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lcnI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlcnJvciBmdW5jdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d2FybjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHdhcm5pbmcgZnVuY3Rpb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZ1bmN0aW9ucyBjb250ZXh0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sUmVsYXhOR1NldFZhbGlkU3RydWN0dXJlZEVycm9ycyIgaWQ9InhtbFJlbGF4TkdTZXRWYWxpZFN0cnVjdHVyZWRFcnJvcnMiPjwvYT5GdW5jdGlvbjogeG1sUmVsYXhOR1NldFZhbGlkU3RydWN0dXJlZEVycm9yczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sUmVsYXhOR1NldFZhbGlkU3RydWN0dXJlZEVycm9ycwkoPGEgaHJlZj0ibGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HVmFsaWRDdHh0UHRyIj54bWxSZWxheE5HVmFsaWRDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbGVycm9yLmh0bWwjeG1sU3RydWN0dXJlZEVycm9yRnVuYyI+eG1sU3RydWN0dXJlZEVycm9yRnVuYzwvYT4gc2Vycm9yLCA8YnIgLz4JCQkJCQkgdm9pZCAqIGN0eCk8YnIgLz4KKzwvcHJlPjxwPlNldCB0aGUgc3RydWN0dXJlZCBlcnJvciBjYWxsYmFjazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgUmVsYXgtTkcgdmFsaWRhdGlvbiBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zZXJyb3I8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzdHJ1Y3R1cmVkIGVycm9yIGZ1bmN0aW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmdW5jdGlvbnMgY29udGV4dDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFJlbGF4TkdWYWxpZGF0ZURvYyIgaWQ9InhtbFJlbGF4TkdWYWxpZGF0ZURvYyI+PC9hPkZ1bmN0aW9uOiB4bWxSZWxheE5HVmFsaWRhdGVEb2M8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sUmVsYXhOR1ZhbGlkYXRlRG9jCQkoPGEgaHJlZj0ibGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HVmFsaWRDdHh0UHRyIj54bWxSZWxheE5HVmFsaWRDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MpPGJyIC8+Cis8L3ByZT48cD5WYWxpZGF0ZSBhIGRvY3VtZW50IHRyZWUgaW4gbWVtb3J5LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgUmVsYXgtTkcgdmFsaWRhdGlvbiBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcGFyc2VkIGRvY3VtZW50IHRyZWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaWYgdGhlIGRvY3VtZW50IGlzIHZhbGlkLCBhIHBvc2l0aXZlIGVycm9yIGNvZGUgbnVtYmVyIG90aGVyd2lzZSBhbmQgLTEgaW4gY2FzZSBvZiBpbnRlcm5hbCBvciBBUEkgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sUmVsYXhOR1ZhbGlkYXRlRnVsbEVsZW1lbnQiIGlkPSJ4bWxSZWxheE5HVmFsaWRhdGVGdWxsRWxlbWVudCI+PC9hPkZ1bmN0aW9uOiB4bWxSZWxheE5HVmFsaWRhdGVGdWxsRWxlbWVudDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxSZWxheE5HVmFsaWRhdGVGdWxsRWxlbWVudAkoPGEgaHJlZj0ibGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HVmFsaWRDdHh0UHRyIj54bWxSZWxheE5HVmFsaWRDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gZWxlbSk8YnIgLz4KKzwvcHJlPjxwPlZhbGlkYXRlIGEgZnVsbCBzdWJ0cmVlIHdoZW4geG1sUmVsYXhOR1ZhbGlkYXRlUHVzaEVsZW1lbnQoKSByZXR1cm5lZCAwIGFuZCB0aGUgY29udGVudCBvZiB0aGUgbm9kZSBoYXMgYmVlbiBleHBhbmRlZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdmFsaWRhdGlvbiBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgZG9jdW1lbnQgaW5zdGFuY2U8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVsZW08L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIGVsZW1lbnQgaW5zdGFuY2U8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgbm8gdmFsaWRhdGlvbiBwcm9ibGVtIHdhcyBmb3VuZCBvciAtMSBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFJlbGF4TkdWYWxpZGF0ZVBvcEVsZW1lbnQiIGlkPSJ4bWxSZWxheE5HVmFsaWRhdGVQb3BFbGVtZW50Ij48L2E+RnVuY3Rpb246IHhtbFJlbGF4TkdWYWxpZGF0ZVBvcEVsZW1lbnQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sUmVsYXhOR1ZhbGlkYXRlUG9wRWxlbWVudAkoPGEgaHJlZj0ibGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HVmFsaWRDdHh0UHRyIj54bWxSZWxheE5HVmFsaWRDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gZWxlbSk8YnIgLz4KKzwvcHJlPjxwPlBvcCB0aGUgZWxlbWVudCBlbmQgZnJvbSB0aGUgUmVsYXhORyB2YWxpZGF0aW9uIHN0YWNrLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBSZWxheE5HIHZhbGlkYXRpb24gY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGRvY3VtZW50IGluc3RhbmNlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbGVtPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBlbGVtZW50IGluc3RhbmNlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIG5vIHZhbGlkYXRpb24gcHJvYmxlbSB3YXMgZm91bmQgb3IgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxSZWxheE5HVmFsaWRhdGVQdXNoQ0RhdGEiIGlkPSJ4bWxSZWxheE5HVmFsaWRhdGVQdXNoQ0RhdGEiPjwvYT5GdW5jdGlvbjogeG1sUmVsYXhOR1ZhbGlkYXRlUHVzaENEYXRhPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFJlbGF4TkdWYWxpZGF0ZVB1c2hDRGF0YQkoPGEgaHJlZj0ibGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HVmFsaWRDdHh0UHRyIj54bWxSZWxheE5HVmFsaWRDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBkYXRhLCA8YnIgLz4JCQkJCSBpbnQgbGVuKTxiciAvPgorPC9wcmU+PHA+Y2hlY2sgdGhlIENEYXRhIHBhcnNlZCBmb3IgdmFsaWRhdGlvbiBpbiB0aGUgY3VycmVudCBzdGFjazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBSZWxheE5HIHZhbGlkYXRpb24gY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGF0YTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+c29tZSBjaGFyYWN0ZXIgZGF0YSByZWFkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsZW5ndGggb2YgdGhlIGRhdGE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgbm8gdmFsaWRhdGlvbiBwcm9ibGVtIHdhcyBmb3VuZCBvciAtMSBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxSZWxheE5HVmFsaWRhdGVQdXNoRWxlbWVudCIgaWQ9InhtbFJlbGF4TkdWYWxpZGF0ZVB1c2hFbGVtZW50Ij48L2E+RnVuY3Rpb246IHhtbFJlbGF4TkdWYWxpZGF0ZVB1c2hFbGVtZW50PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFJlbGF4TkdWYWxpZGF0ZVB1c2hFbGVtZW50CSg8YSBocmVmPSJsaWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdWYWxpZEN0eHRQdHIiPnhtbFJlbGF4TkdWYWxpZEN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBlbGVtKTxiciAvPgorPC9wcmU+PHA+UHVzaCBhIG5ldyBlbGVtZW50IHN0YXJ0IG9uIHRoZSBSZWxheE5HIHZhbGlkYXRpb24gc3RhY2suPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHZhbGlkYXRpb24gY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGRvY3VtZW50IGluc3RhbmNlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbGVtPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBlbGVtZW50IGluc3RhbmNlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIG5vIHZhbGlkYXRpb24gcHJvYmxlbSB3YXMgZm91bmQgb3IgMCBpZiB2YWxpZGF0aW5nIHRoZSBlbGVtZW50IHJlcXVpcmVzIGEgZnVsbCBub2RlLCBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxSZWxheE5HVmFsaWRpdHlFcnJvckZ1bmMiIGlkPSJ4bWxSZWxheE5HVmFsaWRpdHlFcnJvckZ1bmMiPjwvYT5GdW5jdGlvbiB0eXBlOiB4bWxSZWxheE5HVmFsaWRpdHlFcnJvckZ1bmM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5GdW5jdGlvbiB0eXBlOiB4bWxSZWxheE5HVmFsaWRpdHlFcnJvckZ1bmMKK3ZvaWQJeG1sUmVsYXhOR1ZhbGlkaXR5RXJyb3JGdW5jCSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogbXNnLCA8YnIgLz4JCQkJCSAuLi4gLi4uKQorPC9wcmU+PHA+U2lnbmF0dXJlIG9mIGFuIGVycm9yIGNhbGxiYWNrIGZyb20gYSBSZWxheC1ORyB2YWxpZGF0aW9uPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHZhbGlkYXRpb24gY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bXNnPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbWVzc2FnZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Li4uPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5leHRyYSBhcmd1bWVudHM8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxiciAvPgorPGgzPjxhIG5hbWU9InhtbFJlbGF4TkdWYWxpZGl0eVdhcm5pbmdGdW5jIiBpZD0ieG1sUmVsYXhOR1ZhbGlkaXR5V2FybmluZ0Z1bmMiPjwvYT5GdW5jdGlvbiB0eXBlOiB4bWxSZWxheE5HVmFsaWRpdHlXYXJuaW5nRnVuYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkZ1bmN0aW9uIHR5cGU6IHhtbFJlbGF4TkdWYWxpZGl0eVdhcm5pbmdGdW5jCit2b2lkCXhtbFJlbGF4TkdWYWxpZGl0eVdhcm5pbmdGdW5jCSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogbXNnLCA8YnIgLz4JCQkJCSAuLi4gLi4uKQorPC9wcmU+PHA+U2lnbmF0dXJlIG9mIGEgd2FybmluZyBjYWxsYmFjayBmcm9tIGEgUmVsYXgtTkcgdmFsaWRhdGlvbjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB2YWxpZGF0aW9uIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm1zZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG1lc3NhZ2U8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pi4uLjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+ZXh0cmEgYXJndW1lbnRzPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48YnIgLz4KKzxoMz48YSBuYW1lPSJ4bWxSZWxheFBhcnNlclNldEZsYWciIGlkPSJ4bWxSZWxheFBhcnNlclNldEZsYWciPjwvYT5GdW5jdGlvbjogeG1sUmVsYXhQYXJzZXJTZXRGbGFnPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFJlbGF4UGFyc2VyU2V0RmxhZwkJKDxhIGhyZWY9ImxpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1BhcnNlckN0eHRQdHIiPnhtbFJlbGF4TkdQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSBpbnQgZmxhZ3MpPGJyIC8+Cis8L3ByZT48cD5TZW1pIHByaXZhdGUgZnVuY3Rpb24gdXNlZCB0byBwYXNzIGluZm9ybWF0aW9ucyB0byBhIHBhcnNlciBjb250ZXh0IHdoaWNoIGFyZSBhIGNvbWJpbmF0aW9uIG9mIDxhIGhyZWY9ImxpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1BhcnNlckZsYWciPnhtbFJlbGF4TkdQYXJzZXJGbGFnPC9hPiAuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBSZWxheE5HIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mbGFnczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBzZXQgb2YgZmxhZ3MgdmFsdWVzPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGlmIHN1Y2Nlc3MgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxwPjxhIGhyZWY9Ii4uL2J1Z3MuaHRtbCI+RGFuaWVsIFZlaWxsYXJkPC9hPjwvcD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sIGIvbGlieG1sMi9kb2MvaHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRiNGE1YTEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9odG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwKQEAgLTAsMCArMSwzNzMgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+PGxpbmsgcmVsPSJTSE9SVENVVCBJQ09OIiBocmVmPSIvZmF2aWNvbi5pY28iIC8+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK1REIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitCT0RZIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2E7IG1hcmdpbi10b3A6IDJlbTsgbWFyZ2luLWxlZnQ6IDBlbTsgbWFyZ2luLXJpZ2h0OiAwZW19CitIMSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDIge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gzIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitBOmxpbmssIEE6dmlzaXRlZCwgQTphY3RpdmUgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB9Cis8L3N0eWxlPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAgICBkaXYuZGVwcmVjYXRlZCBwcmUucHJvZ3JhbWxpc3Rpbmcge2JvcmRlci1zdHlsZTogZG91YmxlO2JvcmRlci1jb2xvcjpyZWR9CisgICAgICBwcmUucHJvZ3JhbWxpc3Rpbmcge2JvcmRlci1zdHlsZTogZG91YmxlO2JhY2tncm91bmQ6ICNFRUNGQTF9CisgICAgPC9zdHlsZT48dGl0bGU+TW9kdWxlIHNjaGVtYXNJbnRlcm5hbHMgZnJvbSBsaWJ4bWwyPC90aXRsZT48L2hlYWQ+PGJvZHkgYmdjb2xvcj0iIzhiNzc2NSIgdGV4dD0iIzAwMDAwMCIgbGluaz0iI2EwNjA2MCIgdmxpbms9IiMwMDAwMDAiPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSIxMDAlIiBjZWxscGFkZGluZz0iNSIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgd2lkdGg9IjEyMCI+PGEgaHJlZj0iaHR0cDovL3N3cGF0LmZmaWkub3JnLyI+PGltZyBzcmM9Ii4uL2VwYXRlbnRzLnBuZyIgYWx0PSJBY3Rpb24gYWdhaW5zdCBzb2Z0d2FyZSBwYXRlbnRzIiAvPjwvYT48L3RkPjx0ZCB3aWR0aD0iMTgwIj48YSBocmVmPSJodHRwOi8vd3d3Lmdub21lLm9yZy8iPjxpbWcgc3JjPSIuLi9nbm9tZTIucG5nIiBhbHQ9Ikdub21lMiBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9TdGF0dXMiPjxpbWcgc3JjPSIuLi93M2MucG5nIiBhbHQ9IlczQyBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnJlZGhhdC5jb20vIj48aW1nIHNyYz0iLi4vcmVkaGF0LmdpZiIgYWx0PSJSZWQgSGF0IExvZ28iIC8+PC9hPjxkaXYgYWxpZ249ImxlZnQiPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy8iPjxpbWcgc3JjPSIuLi9MaWJ4bWwyLUxvZ28tMTgweDE2OC5naWYiIGFsdD0iTWFkZSB3aXRoIExpYnhtbDIgTG9nbyIgLz48L2E+PC9kaXY+PC90ZD48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjkwJSIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiIGJnY29sb3I9IiNmZmZhY2QiPjx0cj48dGQgYWxpZ249ImNlbnRlciI+PGgxPjwvaDE+PGgyPk1vZHVsZSBzY2hlbWFzSW50ZXJuYWxzIGZyb20gbGlieG1sMjwvaDI+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjQiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiIHdpZHRoPSIxMDAlIj48dHI+PHRkIHZhbGlnbj0idG9wIiB3aWR0aD0iMjAwIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5BUEkgTWVudTwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48Zm9ybSBhY3Rpb249Ii4uL3NlYXJjaC5waHAiIGVuY3R5cGU9ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIgbWV0aG9kPSJnZXQiPjxpbnB1dCBuYW1lPSJxdWVyeSIgdHlwZT0idGV4dCIgc2l6ZT0iMjAiIHZhbHVlPSIiIC8+PGlucHV0IG5hbWU9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU2VhcmNoIC4uLiIgLz48L2Zvcm0+PHVsPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iLi4vaW5kZXguaHRtbCI+TWFpbiBNZW51PC9hPjwvbGk+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSIuLi9kb2NzLmh0bWwiPkRldmVsb3BlciBNZW51PC9hPjwvbGk+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSIuLi9leGFtcGxlcy9pbmRleC5odG1sIj5Db2RlIEV4YW1wbGVzPC9hPjwvbGk+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSJpbmRleC5odG1sIj5BUEkgTWVudTwvYT48L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwiPlBhcnNlciBBUEk8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCI+VHJlZSBBUEk8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sIj5SZWFkZXIgQVBJPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL2d1aWRlbGluZXMuaHRtbCI+WE1MIEd1aWRlbGluZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQ2hhbmdlTG9nLmh0bWwiPkNoYW5nZUxvZzwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPkFQSSBJbmRleGVzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iLi4vQVBJY2h1bmswLmh0bWwiPkFscGhhYmV0aWM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJY29uc3RydWN0b3JzLmh0bWwiPkNvbnN0cnVjdG9yczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUElmdW5jdGlvbnMuaHRtbCI+RnVuY3Rpb25zL1R5cGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSWZpbGVzLmh0bWwiPk1vZHVsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJc3ltYm9scy5odG1sIj5TeW1ib2xzPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+UmVsYXRlZCBsaW5rczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9Imh0dHA6Ly9tYWlsLmdub21lLm9yZy9hcmNoaXZlcy94bWwvIj5NYWlsIGFyY2hpdmU8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnL1hTTFQvIj5YU0xUIGxpYnhzbHQ8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3BoZC5jcy51bmliby5pdC9nZG9tZTIvIj5ET00gZ2RvbWUyPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuYWxla3NleS5jb20veG1sc2VjLyI+WE1MLURTaWcgeG1sc2VjPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImZ0cDovL3htbHNvZnQub3JnLyI+RlRQPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemxhdGtvdmljLmNvbS9wcm9qZWN0cy9saWJ4bWwvIj5XaW5kb3dzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9vcGVuY3N3Lm9yZy9wYWNrYWdlcy9saWJ4bWwyIj5Tb2xhcmlzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuZXhwbGFpbi5jb20uYXUvb3NzL2xpYnhtbDJ4c2x0Lmh0bWwiPk1hY09zWCBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbHhtbC5kZS8iPmx4bWwgUHl0aG9uIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9jcGFuLnV3aW5uaXBlZy5jYS9kaXN0L1hNTC1MaWJYTUwiPlBlcmwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbHBsdXNwbHVzLnNvdXJjZWZvcmdlLm5ldC8iPkMrKyBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnplbmQuY29tL3BocDUvYXJ0aWNsZXMvcGhwNS14bWxwaHAucGhwI0hlYWRpbmc0Ij5QSFAgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9saWJ4bWwyLXBhcy8iPlBhc2NhbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1sLnJ1Ynlmb3JnZS5vcmcvIj5SdWJ5IGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly90Y2x4bWwuc291cmNlZm9yZ2UubmV0LyI+VGNsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvYnVnbGlzdC5jZ2k/cHJvZHVjdD1saWJ4bWwyIj5CdWcgVHJhY2tlcjwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMyIgY2VsbHNwYWNpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx0YWJsZSBjbGFzcz0ibmF2aWdhdGlvbiIgd2lkdGg9IjEwMCUiIHN1bW1hcnk9Ik5hdmlnYXRpb24gaGVhZGVyIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjIiPjx0ciB2YWxpZ249Im1pZGRsZSI+PHRkPjxhIGFjY2Vzc2tleT0icCIgaHJlZj0ibGlieG1sLXJlbGF4bmcuaHRtbCI+PGltZyBzcmM9ImxlZnQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJQcmV2IiAvPjwvYT48L3RkPjx0aCBhbGlnbj0ibGVmdCI+PGEgaHJlZj0ibGlieG1sLXJlbGF4bmcuaHRtbCI+cmVsYXhuZzwvYT48L3RoPjx0ZD48YSBhY2Nlc3NrZXk9InUiIGhyZWY9ImluZGV4Lmh0bWwiPjxpbWcgc3JjPSJ1cC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlVwIiAvPjwvYT48L3RkPjx0aCBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iaW5kZXguaHRtbCI+QVBJIGRvY3VtZW50YXRpb248L2E+PC90aD48dGQ+PGEgYWNjZXNza2V5PSJoIiBocmVmPSIuLi9pbmRleC5odG1sIj48aW1nIHNyYz0iaG9tZS5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IkhvbWUiIC8+PC9hPjwvdGQ+PHRoIGFsaWduPSJjZW50ZXIiPjxhIGhyZWY9Ii4uL2luZGV4Lmh0bWwiPlRoZSBYTUwgQyBwYXJzZXIgYW5kIHRvb2xraXQgb2YgR25vbWU8L2E+PC90aD48dGggYWxpZ249InJpZ2h0Ij48YSBocmVmPSJsaWJ4bWwtc2NoZW1hdHJvbi5odG1sIj5zY2hlbWF0cm9uPC9hPjwvdGg+PHRkPjxhIGFjY2Vzc2tleT0ibiIgaHJlZj0ibGlieG1sLXNjaGVtYXRyb24uaHRtbCI+PGltZyBzcmM9InJpZ2h0LnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iTmV4dCIgLz48L2E+PC90ZD48L3RyPjwvdGFibGU+PHA+aW50ZXJuYWwgaW50ZXJmYWNlcyBmb3IgdGhlIFhNTCBTY2hlbWFzIGhhbmRsaW5nIGFuZCBzY2hlbWEgdmFsaWRpdHkgY2hlY2tpbmcgVGhlIFNjaGVtYXMgZGV2ZWxvcG1lbnQgaXMgYSBXb3JrIEluIFByb2dyZXNzLiBTb21lIG9mIHRob3NlIGludGVyZmFjZXMgYXJlIG5vdCBnYXJhbnRlZWQgdG8gYmUgQVBJIG9yIEFCSSBzdGFibGUgISA8L3A+PGgyPlRhYmxlIG9mIENvbnRlbnRzPC9oMj48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfQU5ZQVRUUl9MQVgiPlhNTF9TQ0hFTUFTX0FOWUFUVFJfTEFYPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19BTllBVFRSX1NLSVAiPlhNTF9TQ0hFTUFTX0FOWUFUVFJfU0tJUDwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfQU5ZQVRUUl9TVFJJQ1QiPlhNTF9TQ0hFTUFTX0FOWUFUVFJfU1RSSUNUPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19BTllfTEFYIj5YTUxfU0NIRU1BU19BTllfTEFYPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19BTllfU0tJUCI+WE1MX1NDSEVNQVNfQU5ZX1NLSVA8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX0FOWV9TVFJJQ1QiPlhNTF9TQ0hFTUFTX0FOWV9TVFJJQ1Q8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX0FUVFJHUk9VUF9HTE9CQUwiPlhNTF9TQ0hFTUFTX0FUVFJHUk9VUF9HTE9CQUw8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX0FUVFJHUk9VUF9IQVNfUkVGUyI+WE1MX1NDSEVNQVNfQVRUUkdST1VQX0hBU19SRUZTPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19BVFRSR1JPVVBfTUFSS0VEIj5YTUxfU0NIRU1BU19BVFRSR1JPVVBfTUFSS0VEPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19BVFRSR1JPVVBfUkVERUZJTkVEIj5YTUxfU0NIRU1BU19BVFRSR1JPVVBfUkVERUZJTkVEPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19BVFRSR1JPVVBfV0lMRENBUkRfQlVJTERFRCI+WE1MX1NDSEVNQVNfQVRUUkdST1VQX1dJTERDQVJEX0JVSUxERUQ8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX0FUVFJfRklYRUQiPlhNTF9TQ0hFTUFTX0FUVFJfRklYRUQ8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX0FUVFJfR0xPQkFMIj5YTUxfU0NIRU1BU19BVFRSX0dMT0JBTDwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfQVRUUl9JTlRFUk5BTF9SRVNPTFZFRCI+WE1MX1NDSEVNQVNfQVRUUl9JTlRFUk5BTF9SRVNPTFZFRDwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfQVRUUl9OU0RFRkFVTFQiPlhNTF9TQ0hFTUFTX0FUVFJfTlNERUZBVUxUPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19BVFRSX1VTRV9PUFRJT05BTCI+WE1MX1NDSEVNQVNfQVRUUl9VU0VfT1BUSU9OQUw8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX0FUVFJfVVNFX1BST0hJQklURUQiPlhNTF9TQ0hFTUFTX0FUVFJfVVNFX1BST0hJQklURUQ8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX0FUVFJfVVNFX1JFUVVJUkVEIj5YTUxfU0NIRU1BU19BVFRSX1VTRV9SRVFVSVJFRDwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfQkxPQ0tfREVGQVVMVF9FWFRFTlNJT04iPlhNTF9TQ0hFTUFTX0JMT0NLX0RFRkFVTFRfRVhURU5TSU9OPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19CTE9DS19ERUZBVUxUX1JFU1RSSUNUSU9OIj5YTUxfU0NIRU1BU19CTE9DS19ERUZBVUxUX1JFU1RSSUNUSU9OPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19CTE9DS19ERUZBVUxUX1NVQlNUSVRVVElPTiI+WE1MX1NDSEVNQVNfQkxPQ0tfREVGQVVMVF9TVUJTVElUVVRJT048L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX0VMRU1fQUJTVFJBQ1QiPlhNTF9TQ0hFTUFTX0VMRU1fQUJTVFJBQ1Q8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX0VMRU1fQkxPQ0tfQUJTRU5UIj5YTUxfU0NIRU1BU19FTEVNX0JMT0NLX0FCU0VOVDwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfRUxFTV9CTE9DS19FWFRFTlNJT04iPlhNTF9TQ0hFTUFTX0VMRU1fQkxPQ0tfRVhURU5TSU9OPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19FTEVNX0JMT0NLX1JFU1RSSUNUSU9OIj5YTUxfU0NIRU1BU19FTEVNX0JMT0NLX1JFU1RSSUNUSU9OPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19FTEVNX0JMT0NLX1NVQlNUSVRVVElPTiI+WE1MX1NDSEVNQVNfRUxFTV9CTE9DS19TVUJTVElUVVRJT048L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX0VMRU1fQ0lSQ1VMQVIiPlhNTF9TQ0hFTUFTX0VMRU1fQ0lSQ1VMQVI8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX0VMRU1fREVGQVVMVCI+WE1MX1NDSEVNQVNfRUxFTV9ERUZBVUxUPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19FTEVNX0ZJTkFMX0FCU0VOVCI+WE1MX1NDSEVNQVNfRUxFTV9GSU5BTF9BQlNFTlQ8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX0VMRU1fRklOQUxfRVhURU5TSU9OIj5YTUxfU0NIRU1BU19FTEVNX0ZJTkFMX0VYVEVOU0lPTjwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfRUxFTV9GSU5BTF9SRVNUUklDVElPTiI+WE1MX1NDSEVNQVNfRUxFTV9GSU5BTF9SRVNUUklDVElPTjwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfRUxFTV9GSVhFRCI+WE1MX1NDSEVNQVNfRUxFTV9GSVhFRDwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfRUxFTV9HTE9CQUwiPlhNTF9TQ0hFTUFTX0VMRU1fR0xPQkFMPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19FTEVNX0lOVEVSTkFMX0NIRUNLRUQiPlhNTF9TQ0hFTUFTX0VMRU1fSU5URVJOQUxfQ0hFQ0tFRDwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfRUxFTV9JTlRFUk5BTF9SRVNPTFZFRCI+WE1MX1NDSEVNQVNfRUxFTV9JTlRFUk5BTF9SRVNPTFZFRDwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfRUxFTV9OSUxMQUJMRSI+WE1MX1NDSEVNQVNfRUxFTV9OSUxMQUJMRTwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfRUxFTV9OU0RFRkFVTFQiPlhNTF9TQ0hFTUFTX0VMRU1fTlNERUZBVUxUPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19FTEVNX1JFRiI+WE1MX1NDSEVNQVNfRUxFTV9SRUY8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX0VMRU1fU1VCU1RfR1JPVVBfSEVBRCI+WE1MX1NDSEVNQVNfRUxFTV9TVUJTVF9HUk9VUF9IRUFEPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19FTEVNX1RPUExFVkVMIj5YTUxfU0NIRU1BU19FTEVNX1RPUExFVkVMPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19GQUNFVF9DT0xMQVBTRSI+WE1MX1NDSEVNQVNfRkFDRVRfQ09MTEFQU0U8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX0ZBQ0VUX1BSRVNFUlZFIj5YTUxfU0NIRU1BU19GQUNFVF9QUkVTRVJWRTwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfRkFDRVRfUkVQTEFDRSI+WE1MX1NDSEVNQVNfRkFDRVRfUkVQTEFDRTwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfRkFDRVRfVU5LTk9XTiI+WE1MX1NDSEVNQVNfRkFDRVRfVU5LTk9XTjwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfRklOQUxfREVGQVVMVF9FWFRFTlNJT04iPlhNTF9TQ0hFTUFTX0ZJTkFMX0RFRkFVTFRfRVhURU5TSU9OPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19GSU5BTF9ERUZBVUxUX0xJU1QiPlhNTF9TQ0hFTUFTX0ZJTkFMX0RFRkFVTFRfTElTVDwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfRklOQUxfREVGQVVMVF9SRVNUUklDVElPTiI+WE1MX1NDSEVNQVNfRklOQUxfREVGQVVMVF9SRVNUUklDVElPTjwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfRklOQUxfREVGQVVMVF9VTklPTiI+WE1MX1NDSEVNQVNfRklOQUxfREVGQVVMVF9VTklPTjwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfSU5DTFVESU5HX0NPTlZFUlRfTlMiPlhNTF9TQ0hFTUFTX0lOQ0xVRElOR19DT05WRVJUX05TPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19RVUFMSUZfQVRUUiI+WE1MX1NDSEVNQVNfUVVBTElGX0FUVFI8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX1FVQUxJRl9FTEVNIj5YTUxfU0NIRU1BU19RVUFMSUZfRUxFTTwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfVFlQRV9BQlNUUkFDVCI+WE1MX1NDSEVNQVNfVFlQRV9BQlNUUkFDVDwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfVFlQRV9CTE9DS19ERUZBVUxUIj5YTUxfU0NIRU1BU19UWVBFX0JMT0NLX0RFRkFVTFQ8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX1RZUEVfQkxPQ0tfRVhURU5TSU9OIj5YTUxfU0NIRU1BU19UWVBFX0JMT0NLX0VYVEVOU0lPTjwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfVFlQRV9CTE9DS19SRVNUUklDVElPTiI+WE1MX1NDSEVNQVNfVFlQRV9CTE9DS19SRVNUUklDVElPTjwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfVFlQRV9CVUlMVElOX1BSSU1JVElWRSI+WE1MX1NDSEVNQVNfVFlQRV9CVUlMVElOX1BSSU1JVElWRTwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfVFlQRV9ERVJJVkFUSU9OX01FVEhPRF9FWFRFTlNJT04iPlhNTF9TQ0hFTUFTX1RZUEVfREVSSVZBVElPTl9NRVRIT0RfRVhURU5TSU9OPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19UWVBFX0RFUklWQVRJT05fTUVUSE9EX1JFU1RSSUNUSU9OIj5YTUxfU0NIRU1BU19UWVBFX0RFUklWQVRJT05fTUVUSE9EX1JFU1RSSUNUSU9OPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19UWVBFX0ZBQ0VUU05FRURWQUxVRSI+WE1MX1NDSEVNQVNfVFlQRV9GQUNFVFNORUVEVkFMVUU8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX1RZUEVfRklOQUxfREVGQVVMVCI+WE1MX1NDSEVNQVNfVFlQRV9GSU5BTF9ERUZBVUxUPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19UWVBFX0ZJTkFMX0VYVEVOU0lPTiI+WE1MX1NDSEVNQVNfVFlQRV9GSU5BTF9FWFRFTlNJT048L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX1RZUEVfRklOQUxfTElTVCI+WE1MX1NDSEVNQVNfVFlQRV9GSU5BTF9MSVNUPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19UWVBFX0ZJTkFMX1JFU1RSSUNUSU9OIj5YTUxfU0NIRU1BU19UWVBFX0ZJTkFMX1JFU1RSSUNUSU9OPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19UWVBFX0ZJTkFMX1VOSU9OIj5YTUxfU0NIRU1BU19UWVBFX0ZJTkFMX1VOSU9OPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19UWVBFX0ZJWFVQXzEiPlhNTF9TQ0hFTUFTX1RZUEVfRklYVVBfMTwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfVFlQRV9HTE9CQUwiPlhNTF9TQ0hFTUFTX1RZUEVfR0xPQkFMPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19UWVBFX0hBU19GQUNFVFMiPlhNTF9TQ0hFTUFTX1RZUEVfSEFTX0ZBQ0VUUzwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfVFlQRV9JTlRFUk5BTF9JTlZBTElEIj5YTUxfU0NIRU1BU19UWVBFX0lOVEVSTkFMX0lOVkFMSUQ8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX1RZUEVfSU5URVJOQUxfUkVTT0xWRUQiPlhNTF9TQ0hFTUFTX1RZUEVfSU5URVJOQUxfUkVTT0xWRUQ8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX1RZUEVfTUFSS0VEIj5YTUxfU0NIRU1BU19UWVBFX01BUktFRDwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfVFlQRV9NSVhFRCI+WE1MX1NDSEVNQVNfVFlQRV9NSVhFRDwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfVFlQRV9OT1JNVkFMVUVORUVERUQiPlhNTF9TQ0hFTUFTX1RZUEVfTk9STVZBTFVFTkVFREVEPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19UWVBFX09XTkVEX0FUVFJfV0lMRENBUkQiPlhNTF9TQ0hFTUFTX1RZUEVfT1dORURfQVRUUl9XSUxEQ0FSRDwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfVFlQRV9SRURFRklORUQiPlhNTF9TQ0hFTUFTX1RZUEVfUkVERUZJTkVEPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19UWVBFX1ZBUklFVFlfQUJTRU5UIj5YTUxfU0NIRU1BU19UWVBFX1ZBUklFVFlfQUJTRU5UPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19UWVBFX1ZBUklFVFlfQVRPTUlDIj5YTUxfU0NIRU1BU19UWVBFX1ZBUklFVFlfQVRPTUlDPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19UWVBFX1ZBUklFVFlfTElTVCI+WE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX0xJU1Q8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX1RZUEVfVkFSSUVUWV9VTklPTiI+WE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX1VOSU9OPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfU0NIRU1BU19UWVBFX1dISVRFU1BBQ0VfQ09MTEFQU0UiPlhNTF9TQ0hFTUFTX1RZUEVfV0hJVEVTUEFDRV9DT0xMQVBTRTwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfVFlQRV9XSElURVNQQUNFX1BSRVNFUlZFIj5YTUxfU0NIRU1BU19UWVBFX1dISVRFU1BBQ0VfUFJFU0VSVkU8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9TQ0hFTUFTX1RZUEVfV0hJVEVTUEFDRV9SRVBMQUNFIj5YTUxfU0NIRU1BU19UWVBFX1dISVRFU1BBQ0VfUkVQTEFDRTwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX1NDSEVNQVNfV0lMRENBUkRfQ09NUExFVEUiPlhNTF9TQ0hFTUFTX1dJTERDQVJEX0NPTVBMRVRFPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgPGEgaHJlZj0iI3htbFNjaGVtYUFubm90Ij54bWxTY2hlbWFBbm5vdDwvYT48YnIgLz5zdHJ1Y3QgX3htbFNjaGVtYUFubm90Cis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+VHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYUFubm90Ij54bWxTY2hlbWFBbm5vdDwvYT4gKiA8YSBuYW1lPSJ4bWxTY2hlbWFBbm5vdFB0ciIgaWQ9InhtbFNjaGVtYUFubm90UHRyIj54bWxTY2hlbWFBbm5vdFB0cjwvYT4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgPGEgaHJlZj0iI3htbFNjaGVtYUF0dHJpYnV0ZSI+eG1sU2NoZW1hQXR0cmlidXRlPC9hPjxiciAvPnN0cnVjdCBfeG1sU2NoZW1hQXR0cmlidXRlCis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+U3RydWN0dXJlIDxhIGhyZWY9IiN4bWxTY2hlbWFBdHRyaWJ1dGVHcm91cCI+eG1sU2NoZW1hQXR0cmlidXRlR3JvdXA8L2E+PGJyIC8+c3RydWN0IF94bWxTY2hlbWFBdHRyaWJ1dGVHcm91cAorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlR5cGVkZWYgPGEgaHJlZj0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFBdHRyaWJ1dGVHcm91cCI+eG1sU2NoZW1hQXR0cmlidXRlR3JvdXA8L2E+ICogPGEgbmFtZT0ieG1sU2NoZW1hQXR0cmlidXRlR3JvdXBQdHIiIGlkPSJ4bWxTY2hlbWFBdHRyaWJ1dGVHcm91cFB0ciI+eG1sU2NoZW1hQXR0cmlidXRlR3JvdXBQdHI8L2E+Cis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+U3RydWN0dXJlIDxhIGhyZWY9IiN4bWxTY2hlbWFBdHRyaWJ1dGVMaW5rIj54bWxTY2hlbWFBdHRyaWJ1dGVMaW5rPC9hPjxiciAvPnN0cnVjdCBfeG1sU2NoZW1hQXR0cmlidXRlTGluaworPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlR5cGVkZWYgPGEgaHJlZj0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFBdHRyaWJ1dGVMaW5rIj54bWxTY2hlbWFBdHRyaWJ1dGVMaW5rPC9hPiAqIDxhIG5hbWU9InhtbFNjaGVtYUF0dHJpYnV0ZUxpbmtQdHIiIGlkPSJ4bWxTY2hlbWFBdHRyaWJ1dGVMaW5rUHRyIj54bWxTY2hlbWFBdHRyaWJ1dGVMaW5rUHRyPC9hPgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlR5cGVkZWYgPGEgaHJlZj0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFBdHRyaWJ1dGUiPnhtbFNjaGVtYUF0dHJpYnV0ZTwvYT4gKiA8YSBuYW1lPSJ4bWxTY2hlbWFBdHRyaWJ1dGVQdHIiIGlkPSJ4bWxTY2hlbWFBdHRyaWJ1dGVQdHIiPnhtbFNjaGVtYUF0dHJpYnV0ZVB0cjwvYT4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5FbnVtIDxhIGhyZWY9IiN4bWxTY2hlbWFDb250ZW50VHlwZSI+eG1sU2NoZW1hQ29udGVudFR5cGU8L2E+Cis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+U3RydWN0dXJlIDxhIGhyZWY9IiN4bWxTY2hlbWFFbGVtZW50Ij54bWxTY2hlbWFFbGVtZW50PC9hPjxiciAvPnN0cnVjdCBfeG1sU2NoZW1hRWxlbWVudAorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlR5cGVkZWYgPGEgaHJlZj0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFFbGVtZW50Ij54bWxTY2hlbWFFbGVtZW50PC9hPiAqIDxhIG5hbWU9InhtbFNjaGVtYUVsZW1lbnRQdHIiIGlkPSJ4bWxTY2hlbWFFbGVtZW50UHRyIj54bWxTY2hlbWFFbGVtZW50UHRyPC9hPgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlN0cnVjdHVyZSA8YSBocmVmPSIjeG1sU2NoZW1hRmFjZXQiPnhtbFNjaGVtYUZhY2V0PC9hPjxiciAvPnN0cnVjdCBfeG1sU2NoZW1hRmFjZXQKKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgPGEgaHJlZj0iI3htbFNjaGVtYUZhY2V0TGluayI+eG1sU2NoZW1hRmFjZXRMaW5rPC9hPjxiciAvPnN0cnVjdCBfeG1sU2NoZW1hRmFjZXRMaW5rCis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+VHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYUZhY2V0TGluayI+eG1sU2NoZW1hRmFjZXRMaW5rPC9hPiAqIDxhIG5hbWU9InhtbFNjaGVtYUZhY2V0TGlua1B0ciIgaWQ9InhtbFNjaGVtYUZhY2V0TGlua1B0ciI+eG1sU2NoZW1hRmFjZXRMaW5rUHRyPC9hPgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlR5cGVkZWYgPGEgaHJlZj0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFGYWNldCI+eG1sU2NoZW1hRmFjZXQ8L2E+ICogPGEgbmFtZT0ieG1sU2NoZW1hRmFjZXRQdHIiIGlkPSJ4bWxTY2hlbWFGYWNldFB0ciI+eG1sU2NoZW1hRmFjZXRQdHI8L2E+Cis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+U3RydWN0dXJlIDxhIGhyZWY9IiN4bWxTY2hlbWFOb3RhdGlvbiI+eG1sU2NoZW1hTm90YXRpb248L2E+PGJyIC8+c3RydWN0IF94bWxTY2hlbWFOb3RhdGlvbgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlR5cGVkZWYgPGEgaHJlZj0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFOb3RhdGlvbiI+eG1sU2NoZW1hTm90YXRpb248L2E+ICogPGEgbmFtZT0ieG1sU2NoZW1hTm90YXRpb25QdHIiIGlkPSJ4bWxTY2hlbWFOb3RhdGlvblB0ciI+eG1sU2NoZW1hTm90YXRpb25QdHI8L2E+Cis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+U3RydWN0dXJlIDxhIGhyZWY9IiN4bWxTY2hlbWFUeXBlIj54bWxTY2hlbWFUeXBlPC9hPjxiciAvPnN0cnVjdCBfeG1sU2NoZW1hVHlwZQorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlN0cnVjdHVyZSA8YSBocmVmPSIjeG1sU2NoZW1hVHlwZUxpbmsiPnhtbFNjaGVtYVR5cGVMaW5rPC9hPjxiciAvPnN0cnVjdCBfeG1sU2NoZW1hVHlwZUxpbmsKKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5UeXBlZGVmIDxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVHlwZUxpbmsiPnhtbFNjaGVtYVR5cGVMaW5rPC9hPiAqIDxhIG5hbWU9InhtbFNjaGVtYVR5cGVMaW5rUHRyIiBpZD0ieG1sU2NoZW1hVHlwZUxpbmtQdHIiPnhtbFNjaGVtYVR5cGVMaW5rUHRyPC9hPgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlR5cGVkZWYgPGEgaHJlZj0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFUeXBlIj54bWxTY2hlbWFUeXBlPC9hPiAqIDxhIG5hbWU9InhtbFNjaGVtYVR5cGVQdHIiIGlkPSJ4bWxTY2hlbWFUeXBlUHRyIj54bWxTY2hlbWFUeXBlUHRyPC9hPgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkVudW0gPGEgaHJlZj0iI3htbFNjaGVtYVR5cGVUeXBlIj54bWxTY2hlbWFUeXBlVHlwZTwvYT4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgPGEgaHJlZj0iI3htbFNjaGVtYVZhbCI+eG1sU2NoZW1hVmFsPC9hPjxiciAvPnN0cnVjdCBfeG1sU2NoZW1hVmFsCitUaGUgY29udGVudCBvZiB0aGlzIHN0cnVjdHVyZSBpcyBub3QgbWFkZSBwdWJsaWMgYnkgdGhlIEFQSS4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5UeXBlZGVmIDxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVmFsIj54bWxTY2hlbWFWYWw8L2E+ICogPGEgbmFtZT0ieG1sU2NoZW1hVmFsUHRyIiBpZD0ieG1sU2NoZW1hVmFsUHRyIj54bWxTY2hlbWFWYWxQdHI8L2E+Cis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RW51bSA8YSBocmVmPSIjeG1sU2NoZW1hVmFsVHlwZSI+eG1sU2NoZW1hVmFsVHlwZTwvYT4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgPGEgaHJlZj0iI3htbFNjaGVtYVdpbGRjYXJkIj54bWxTY2hlbWFXaWxkY2FyZDwvYT48YnIgLz5zdHJ1Y3QgX3htbFNjaGVtYVdpbGRjYXJkCis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+U3RydWN0dXJlIDxhIGhyZWY9IiN4bWxTY2hlbWFXaWxkY2FyZE5zIj54bWxTY2hlbWFXaWxkY2FyZE5zPC9hPjxiciAvPnN0cnVjdCBfeG1sU2NoZW1hV2lsZGNhcmROcworPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlR5cGVkZWYgPGEgaHJlZj0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFXaWxkY2FyZE5zIj54bWxTY2hlbWFXaWxkY2FyZE5zPC9hPiAqIDxhIG5hbWU9InhtbFNjaGVtYVdpbGRjYXJkTnNQdHIiIGlkPSJ4bWxTY2hlbWFXaWxkY2FyZE5zUHRyIj54bWxTY2hlbWFXaWxkY2FyZE5zUHRyPC9hPgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlR5cGVkZWYgPGEgaHJlZj0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFXaWxkY2FyZCI+eG1sU2NoZW1hV2lsZGNhcmQ8L2E+ICogPGEgbmFtZT0ieG1sU2NoZW1hV2lsZGNhcmRQdHIiIGlkPSJ4bWxTY2hlbWFXaWxkY2FyZFB0ciI+eG1sU2NoZW1hV2lsZGNhcmRQdHI8L2E+Cis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sU2NoZW1hRnJlZVR5cGUiPnhtbFNjaGVtYUZyZWVUeXBlPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVHlwZVB0ciI+eG1sU2NoZW1hVHlwZVB0cjwvYT4gdHlwZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxTY2hlbWFGcmVlV2lsZGNhcmQiPnhtbFNjaGVtYUZyZWVXaWxkY2FyZDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVdpbGRjYXJkUHRyIj54bWxTY2hlbWFXaWxkY2FyZFB0cjwvYT4gd2lsZGNhcmQpPC9wcmU+Cis8aDI+RGVzY3JpcHRpb248L2gyPgorPGgzPjxhIG5hbWU9IlhNTF9TQ0hFTUFTX0FOWUFUVFJfTEFYIiBpZD0iWE1MX1NDSEVNQVNfQU5ZQVRUUl9MQVgiPjwvYT5NYWNybzogWE1MX1NDSEVNQVNfQU5ZQVRUUl9MQVg8L2gzPjxwcmU+I2RlZmluZSBYTUxfU0NIRU1BU19BTllBVFRSX0xBWDwvcHJlPjxwPklnbm9yZSB2YWxpZGF0aW9uIG5vbiBkZWZpbml0aW9uIG9uIGF0dHJpYnV0ZXMgT2Jzb2xldGUsIG5vdCB1c2VkIGFueW1vcmUuPC9wPgorPGgzPjxhIG5hbWU9IlhNTF9TQ0hFTUFTX0FOWUFUVFJfU0tJUCIgaWQ9IlhNTF9TQ0hFTUFTX0FOWUFUVFJfU0tJUCI+PC9hPk1hY3JvOiBYTUxfU0NIRU1BU19BTllBVFRSX1NLSVA8L2gzPjxwcmU+I2RlZmluZSBYTUxfU0NIRU1BU19BTllBVFRSX1NLSVA8L3ByZT48cD5Ta2lwIHVua25vd24gPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBmcm9tIHZhbGlkYXRpb24gT2Jzb2xldGUsIG5vdCB1c2VkIGFueW1vcmUuPC9wPgorPGgzPjxhIG5hbWU9IlhNTF9TQ0hFTUFTX0FOWUFUVFJfU1RSSUNUIiBpZD0iWE1MX1NDSEVNQVNfQU5ZQVRUUl9TVFJJQ1QiPjwvYT5NYWNybzogWE1MX1NDSEVNQVNfQU5ZQVRUUl9TVFJJQ1Q8L2gzPjxwcmU+I2RlZmluZSBYTUxfU0NIRU1BU19BTllBVFRSX1NUUklDVDwvcHJlPjxwPkFwcGx5IHN0cmljdCB2YWxpZGF0aW9uIHJ1bGVzIG9uIGF0dHJpYnV0ZXMgT2Jzb2xldGUsIG5vdCB1c2VkIGFueW1vcmUuPC9wPgorPGgzPjxhIG5hbWU9IlhNTF9TQ0hFTUFTX0FOWV9MQVgiIGlkPSJYTUxfU0NIRU1BU19BTllfTEFYIj48L2E+TWFjcm86IFhNTF9TQ0hFTUFTX0FOWV9MQVg8L2gzPjxwcmU+I2RlZmluZSBYTUxfU0NIRU1BU19BTllfTEFYPC9wcmU+PHA+VXNlZCBieSB3aWxkY2FyZHMuIFZhbGlkYXRlIGlmIHR5cGUgZm91bmQsIGRvbid0IHdvcnJ5IGlmIG5vdCBmb3VuZDwvcD4KKzxoMz48YSBuYW1lPSJYTUxfU0NIRU1BU19BTllfU0tJUCIgaWQ9IlhNTF9TQ0hFTUFTX0FOWV9TS0lQIj48L2E+TWFjcm86IFhNTF9TQ0hFTUFTX0FOWV9TS0lQPC9oMz48cHJlPiNkZWZpbmUgWE1MX1NDSEVNQVNfQU5ZX1NLSVA8L3ByZT48cD5Ta2lwIHVua25vd24gPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBmcm9tIHZhbGlkYXRpb248L3A+Cis8aDM+PGEgbmFtZT0iWE1MX1NDSEVNQVNfQU5ZX1NUUklDVCIgaWQ9IlhNTF9TQ0hFTUFTX0FOWV9TVFJJQ1QiPjwvYT5NYWNybzogWE1MX1NDSEVNQVNfQU5ZX1NUUklDVDwvaDM+PHByZT4jZGVmaW5lIFhNTF9TQ0hFTUFTX0FOWV9TVFJJQ1Q8L3ByZT48cD5Vc2VkIGJ5IHdpbGRjYXJkcy4gQXBwbHkgc3RyaWN0IHZhbGlkYXRpb24gcnVsZXM8L3A+Cis8aDM+PGEgbmFtZT0iWE1MX1NDSEVNQVNfQVRUUkdST1VQX0dMT0JBTCIgaWQ9IlhNTF9TQ0hFTUFTX0FUVFJHUk9VUF9HTE9CQUwiPjwvYT5NYWNybzogWE1MX1NDSEVNQVNfQVRUUkdST1VQX0dMT0JBTDwvaDM+PHByZT4jZGVmaW5lIFhNTF9TQ0hFTUFTX0FUVFJHUk9VUF9HTE9CQUw8L3ByZT48cD5UaGUgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiB3aWxkY2FyZCBoYXMgYmVlbiBhbHJlYWR5IGJ1aWxkZWQuPC9wPgorPGgzPjxhIG5hbWU9IlhNTF9TQ0hFTUFTX0FUVFJHUk9VUF9IQVNfUkVGUyIgaWQ9IlhNTF9TQ0hFTUFTX0FUVFJHUk9VUF9IQVNfUkVGUyI+PC9hPk1hY3JvOiBYTUxfU0NIRU1BU19BVFRSR1JPVVBfSEFTX1JFRlM8L2gzPjxwcmU+I2RlZmluZSBYTUxfU0NIRU1BU19BVFRSR1JPVVBfSEFTX1JFRlM8L3ByZT48cD5XaGV0aGVyIHRoaXMgYXR0ci4gZ3JvdXAgY29udGFpbnMgYXR0ci4gZ3JvdXAgcmVmZXJlbmNlcy48L3A+Cis8aDM+PGEgbmFtZT0iWE1MX1NDSEVNQVNfQVRUUkdST1VQX01BUktFRCIgaWQ9IlhNTF9TQ0hFTUFTX0FUVFJHUk9VUF9NQVJLRUQiPjwvYT5NYWNybzogWE1MX1NDSEVNQVNfQVRUUkdST1VQX01BUktFRDwvaDM+PHByZT4jZGVmaW5lIFhNTF9TQ0hFTUFTX0FUVFJHUk9VUF9NQVJLRUQ8L3ByZT48cD5NYXJrcyB0aGUgYXR0ciBncm91cCBhcyBtYXJrZWQ7IHVzZWQgZm9yIGNpcmN1bGFyIGNoZWNrcy48L3A+Cis8aDM+PGEgbmFtZT0iWE1MX1NDSEVNQVNfQVRUUkdST1VQX1JFREVGSU5FRCIgaWQ9IlhNTF9TQ0hFTUFTX0FUVFJHUk9VUF9SRURFRklORUQiPjwvYT5NYWNybzogWE1MX1NDSEVNQVNfQVRUUkdST1VQX1JFREVGSU5FRDwvaDM+PHByZT4jZGVmaW5lIFhNTF9TQ0hFTUFTX0FUVFJHUk9VUF9SRURFRklORUQ8L3ByZT48cD5UaGUgYXR0ciBncm91cCB3YXMgcmVkZWZpbmVkLjwvcD4KKzxoMz48YSBuYW1lPSJYTUxfU0NIRU1BU19BVFRSR1JPVVBfV0lMRENBUkRfQlVJTERFRCIgaWQ9IlhNTF9TQ0hFTUFTX0FUVFJHUk9VUF9XSUxEQ0FSRF9CVUlMREVEIj48L2E+TWFjcm86IFhNTF9TQ0hFTUFTX0FUVFJHUk9VUF9XSUxEQ0FSRF9CVUlMREVEPC9oMz48cHJlPiNkZWZpbmUgWE1MX1NDSEVNQVNfQVRUUkdST1VQX1dJTERDQVJEX0JVSUxERUQ8L3ByZT48cD5UaGUgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiB3aWxkY2FyZCBoYXMgYmVlbiBhbHJlYWR5IGJ1aWxkZWQuPC9wPgorPGgzPjxhIG5hbWU9IlhNTF9TQ0hFTUFTX0FUVFJfRklYRUQiIGlkPSJYTUxfU0NIRU1BU19BVFRSX0ZJWEVEIj48L2E+TWFjcm86IFhNTF9TQ0hFTUFTX0FUVFJfRklYRUQ8L2gzPjxwcmU+I2RlZmluZSBYTUxfU0NIRU1BU19BVFRSX0ZJWEVEPC9wcmU+PHA+dGhlIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gaGFzIGEgZml4ZWQgdmFsdWU8L3A+Cis8aDM+PGEgbmFtZT0iWE1MX1NDSEVNQVNfQVRUUl9HTE9CQUwiIGlkPSJYTUxfU0NIRU1BU19BVFRSX0dMT0JBTCI+PC9hPk1hY3JvOiBYTUxfU0NIRU1BU19BVFRSX0dMT0JBTDwvaDM+PHByZT4jZGVmaW5lIFhNTF9TQ0hFTUFTX0FUVFJfR0xPQkFMPC9wcmU+PHA+YWxsb3cgZWxlbWVudHMgaW4gbm8gbmFtZXNwYWNlPC9wPgorPGgzPjxhIG5hbWU9IlhNTF9TQ0hFTUFTX0FUVFJfSU5URVJOQUxfUkVTT0xWRUQiIGlkPSJYTUxfU0NIRU1BU19BVFRSX0lOVEVSTkFMX1JFU09MVkVEIj48L2E+TWFjcm86IFhNTF9TQ0hFTUFTX0FUVFJfSU5URVJOQUxfUkVTT0xWRUQ8L2gzPjxwcmU+I2RlZmluZSBYTUxfU0NIRU1BU19BVFRSX0lOVEVSTkFMX1JFU09MVkVEPC9wcmU+PHA+dGhpcyBpcyBzZXQgd2hlbiB0aGUgInR5cGUiIGFuZCAicmVmIiByZWZlcmVuY2VzIGhhdmUgYmVlbiByZXNvbHZlZC48L3A+Cis8aDM+PGEgbmFtZT0iWE1MX1NDSEVNQVNfQVRUUl9OU0RFRkFVTFQiIGlkPSJYTUxfU0NIRU1BU19BVFRSX05TREVGQVVMVCI+PC9hPk1hY3JvOiBYTUxfU0NIRU1BU19BVFRSX05TREVGQVVMVDwvaDM+PHByZT4jZGVmaW5lIFhNTF9TQ0hFTUFTX0FUVFJfTlNERUZBVUxUPC9wcmU+PHA+YWxsb3cgZWxlbWVudHMgaW4gbm8gbmFtZXNwYWNlPC9wPgorPGgzPjxhIG5hbWU9IlhNTF9TQ0hFTUFTX0FUVFJfVVNFX09QVElPTkFMIiBpZD0iWE1MX1NDSEVNQVNfQVRUUl9VU0VfT1BUSU9OQUwiPjwvYT5NYWNybzogWE1MX1NDSEVNQVNfQVRUUl9VU0VfT1BUSU9OQUw8L2gzPjxwcmU+I2RlZmluZSBYTUxfU0NIRU1BU19BVFRSX1VTRV9PUFRJT05BTDwvcHJlPjxwPlRoZSA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IGlzIG9wdGlvbmFsLjwvcD4KKzxoMz48YSBuYW1lPSJYTUxfU0NIRU1BU19BVFRSX1VTRV9QUk9ISUJJVEVEIiBpZD0iWE1MX1NDSEVNQVNfQVRUUl9VU0VfUFJPSElCSVRFRCI+PC9hPk1hY3JvOiBYTUxfU0NIRU1BU19BVFRSX1VTRV9QUk9ISUJJVEVEPC9oMz48cHJlPiNkZWZpbmUgWE1MX1NDSEVNQVNfQVRUUl9VU0VfUFJPSElCSVRFRDwvcHJlPjxwPlVzZWQgYnkgd2lsZGNhcmRzLiBUaGUgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBpcyBwcm9oaWJpdGVkLjwvcD4KKzxoMz48YSBuYW1lPSJYTUxfU0NIRU1BU19BVFRSX1VTRV9SRVFVSVJFRCIgaWQ9IlhNTF9TQ0hFTUFTX0FUVFJfVVNFX1JFUVVJUkVEIj48L2E+TWFjcm86IFhNTF9TQ0hFTUFTX0FUVFJfVVNFX1JFUVVJUkVEPC9oMz48cHJlPiNkZWZpbmUgWE1MX1NDSEVNQVNfQVRUUl9VU0VfUkVRVUlSRUQ8L3ByZT48cD5UaGUgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBpcyByZXF1aXJlZC48L3A+Cis8aDM+PGEgbmFtZT0iWE1MX1NDSEVNQVNfQkxPQ0tfREVGQVVMVF9FWFRFTlNJT04iIGlkPSJYTUxfU0NIRU1BU19CTE9DS19ERUZBVUxUX0VYVEVOU0lPTiI+PC9hPk1hY3JvOiBYTUxfU0NIRU1BU19CTE9DS19ERUZBVUxUX0VYVEVOU0lPTjwvaDM+PHByZT4jZGVmaW5lIFhNTF9TQ0hFTUFTX0JMT0NLX0RFRkFVTFRfRVhURU5TSU9OPC9wcmU+PHA+dGhlIHNjaGVtYSBoYXMgImV4dGVuc2lvbiIgaW4gdGhlIHNldCBvZiBibG9ja0RlZmF1bHQuPC9wPgorPGgzPjxhIG5hbWU9IlhNTF9TQ0hFTUFTX0JMT0NLX0RFRkFVTFRfUkVTVFJJQ1RJT04iIGlkPSJYTUxfU0NIRU1BU19CTE9DS19ERUZBVUxUX1JFU1RSSUNUSU9OIj48L2E+TWFjcm86IFhNTF9TQ0hFTUFTX0JMT0NLX0RFRkFVTFRfUkVTVFJJQ1RJT048L2gzPjxwcmU+I2RlZmluZSBYTUxfU0NIRU1BU19CTE9DS19ERUZBVUxUX1JFU1RSSUNUSU9OPC9wcmU+PHA+dGhlIHNjaGVtYSBoYXMgInJlc3RyaWN0aW9uIiBpbiB0aGUgc2V0IG9mIGJsb2NrRGVmYXVsdC48L3A+Cis8aDM+PGEgbmFtZT0iWE1MX1NDSEVNQVNfQkxPQ0tfREVGQVVMVF9TVUJTVElUVVRJT04iIGlkPSJYTUxfU0NIRU1BU19CTE9DS19ERUZBVUxUX1NVQlNUSVRVVElPTiI+PC9hPk1hY3JvOiBYTUxfU0NIRU1BU19CTE9DS19ERUZBVUxUX1NVQlNUSVRVVElPTjwvaDM+PHByZT4jZGVmaW5lIFhNTF9TQ0hFTUFTX0JMT0NLX0RFRkFVTFRfU1VCU1RJVFVUSU9OPC9wcmU+PHA+dGhlIHNjaGVtYSBoYXMgInN1YnN0aXR1dGlvbiIgaW4gdGhlIHNldCBvZiBibG9ja0RlZmF1bHQuPC9wPgorPGgzPjxhIG5hbWU9IlhNTF9TQ0hFTUFTX0VMRU1fQUJTVFJBQ1QiIGlkPSJYTUxfU0NIRU1BU19FTEVNX0FCU1RSQUNUIj48L2E+TWFjcm86IFhNTF9TQ0hFTUFTX0VMRU1fQUJTVFJBQ1Q8L2gzPjxwcmU+I2RlZmluZSBYTUxfU0NIRU1BU19FTEVNX0FCU1RSQUNUPC9wcmU+PHA+dGhlIGVsZW1lbnQgaXMgYWJzdHJhY3Q8L3A+Cis8aDM+PGEgbmFtZT0iWE1MX1NDSEVNQVNfRUxFTV9CTE9DS19BQlNFTlQiIGlkPSJYTUxfU0NIRU1BU19FTEVNX0JMT0NLX0FCU0VOVCI+PC9hPk1hY3JvOiBYTUxfU0NIRU1BU19FTEVNX0JMT0NLX0FCU0VOVDwvaDM+PHByZT4jZGVmaW5lIFhNTF9TQ0hFTUFTX0VMRU1fQkxPQ0tfQUJTRU5UPC9wcmU+PHA+dGhlICJibG9jayIgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBpcyBhYnNlbnQ8L3A+Cis8aDM+PGEgbmFtZT0iWE1MX1NDSEVNQVNfRUxFTV9CTE9DS19FWFRFTlNJT04iIGlkPSJYTUxfU0NIRU1BU19FTEVNX0JMT0NLX0VYVEVOU0lPTiI+PC9hPk1hY3JvOiBYTUxfU0NIRU1BU19FTEVNX0JMT0NLX0VYVEVOU0lPTjwvaDM+PHByZT4jZGVmaW5lIFhNTF9TQ0hFTUFTX0VMRU1fQkxPQ0tfRVhURU5TSU9OPC9wcmU+PHA+ZGlzYWxsb3dlZCBzdWJzdGl0dXRpb25zIGFyZSBhYnNlbnQ8L3A+Cis8aDM+PGEgbmFtZT0iWE1MX1NDSEVNQVNfRUxFTV9CTE9DS19SRVNUUklDVElPTiIgaWQ9IlhNTF9TQ0hFTUFTX0VMRU1fQkxPQ0tfUkVTVFJJQ1RJT04iPjwvYT5NYWNybzogWE1MX1NDSEVNQVNfRUxFTV9CTE9DS19SRVNUUklDVElPTjwvaDM+PHByZT4jZGVmaW5lIFhNTF9TQ0hFTUFTX0VMRU1fQkxPQ0tfUkVTVFJJQ1RJT048L3ByZT48cD5kaXNhbGxvd2VkIHN1YnN0aXR1dGlvbnM6ICJyZXN0cmljdGlvbiI8L3A+Cis8aDM+PGEgbmFtZT0iWE1MX1NDSEVNQVNfRUxFTV9CTE9DS19TVUJTVElUVVRJT04iIGlkPSJYTUxfU0NIRU1BU19FTEVNX0JMT0NLX1NVQlNUSVRVVElPTiI+PC9hPk1hY3JvOiBYTUxfU0NIRU1BU19FTEVNX0JMT0NLX1NVQlNUSVRVVElPTjwvaDM+PHByZT4jZGVmaW5lIFhNTF9TQ0hFTUFTX0VMRU1fQkxPQ0tfU1VCU1RJVFVUSU9OPC9wcmU+PHA+ZGlzYWxsb3dlZCBzdWJzdGl0dXRpb25zOiAic3Vic3RpdHVpb24iPC9wPgorPGgzPjxhIG5hbWU9IlhNTF9TQ0hFTUFTX0VMRU1fQ0lSQ1VMQVIiIGlkPSJYTUxfU0NIRU1BU19FTEVNX0NJUkNVTEFSIj48L2E+TWFjcm86IFhNTF9TQ0hFTUFTX0VMRU1fQ0lSQ1VMQVI8L2gzPjxwcmU+I2RlZmluZSBYTUxfU0NIRU1BU19FTEVNX0NJUkNVTEFSPC9wcmU+PHA+YSBoZWxwZXIgZmxhZyBmb3IgdGhlIHNlYXJjaCBvZiBjaXJjdWxhciByZWZlcmVuY2VzLjwvcD4KKzxoMz48YSBuYW1lPSJYTUxfU0NIRU1BU19FTEVNX0RFRkFVTFQiIGlkPSJYTUxfU0NIRU1BU19FTEVNX0RFRkFVTFQiPjwvYT5NYWNybzogWE1MX1NDSEVNQVNfRUxFTV9ERUZBVUxUPC9oMz48cHJlPiNkZWZpbmUgWE1MX1NDSEVNQVNfRUxFTV9ERUZBVUxUPC9wcmU+PHA+dGhlIGVsZW1lbnQgaGFzIGEgZGVmYXVsdCB2YWx1ZTwvcD4KKzxoMz48YSBuYW1lPSJYTUxfU0NIRU1BU19FTEVNX0ZJTkFMX0FCU0VOVCIgaWQ9IlhNTF9TQ0hFTUFTX0VMRU1fRklOQUxfQUJTRU5UIj48L2E+TWFjcm86IFhNTF9TQ0hFTUFTX0VMRU1fRklOQUxfQUJTRU5UPC9oMz48cHJlPiNkZWZpbmUgWE1MX1NDSEVNQVNfRUxFTV9GSU5BTF9BQlNFTlQ8L3ByZT48cD5zdWJzdGl0dXRpb24gZ3JvdXAgZXhjbHVzaW9ucyBhcmUgYWJzZW50PC9wPgorPGgzPjxhIG5hbWU9IlhNTF9TQ0hFTUFTX0VMRU1fRklOQUxfRVhURU5TSU9OIiBpZD0iWE1MX1NDSEVNQVNfRUxFTV9GSU5BTF9FWFRFTlNJT04iPjwvYT5NYWNybzogWE1MX1NDSEVNQVNfRUxFTV9GSU5BTF9FWFRFTlNJT048L2gzPjxwcmU+I2RlZmluZSBYTUxfU0NIRU1BU19FTEVNX0ZJTkFMX0VYVEVOU0lPTjwvcHJlPjxwPnN1YnN0aXR1dGlvbiBncm91cCBleGNsdXNpb25zOiAiZXh0ZW5zaW9uIjwvcD4KKzxoMz48YSBuYW1lPSJYTUxfU0NIRU1BU19FTEVNX0ZJTkFMX1JFU1RSSUNUSU9OIiBpZD0iWE1MX1NDSEVNQVNfRUxFTV9GSU5BTF9SRVNUUklDVElPTiI+PC9hPk1hY3JvOiBYTUxfU0NIRU1BU19FTEVNX0ZJTkFMX1JFU1RSSUNUSU9OPC9oMz48cHJlPiNkZWZpbmUgWE1MX1NDSEVNQVNfRUxFTV9GSU5BTF9SRVNUUklDVElPTjwvcHJlPjxwPnN1YnN0aXR1dGlvbiBncm91cCBleGNsdXNpb25zOiAicmVzdHJpY3Rpb24iPC9wPgorPGgzPjxhIG5hbWU9IlhNTF9TQ0hFTUFTX0VMRU1fRklYRUQiIGlkPSJYTUxfU0NIRU1BU19FTEVNX0ZJWEVEIj48L2E+TWFjcm86IFhNTF9TQ0hFTUFTX0VMRU1fRklYRUQ8L2gzPjxwcmU+I2RlZmluZSBYTUxfU0NIRU1BU19FTEVNX0ZJWEVEPC9wcmU+PHA+dGhlIGVsZW1lbnQgaGFzIGEgZml4ZWQgdmFsdWU8L3A+Cis8aDM+PGEgbmFtZT0iWE1MX1NDSEVNQVNfRUxFTV9HTE9CQUwiIGlkPSJYTUxfU0NIRU1BU19FTEVNX0dMT0JBTCI+PC9hPk1hY3JvOiBYTUxfU0NIRU1BU19FTEVNX0dMT0JBTDwvaDM+PHByZT4jZGVmaW5lIFhNTF9TQ0hFTUFTX0VMRU1fR0xPQkFMPC9wcmU+PHA+dGhlIGVsZW1lbnQgaXMgZ2xvYmFsPC9wPgorPGgzPjxhIG5hbWU9IlhNTF9TQ0hFTUFTX0VMRU1fSU5URVJOQUxfQ0hFQ0tFRCIgaWQ9IlhNTF9TQ0hFTUFTX0VMRU1fSU5URVJOQUxfQ0hFQ0tFRCI+PC9hPk1hY3JvOiBYTUxfU0NIRU1BU19FTEVNX0lOVEVSTkFMX0NIRUNLRUQ8L2gzPjxwcmU+I2RlZmluZSBYTUxfU0NIRU1BU19FTEVNX0lOVEVSTkFMX0NIRUNLRUQ8L3ByZT48cD50aGlzIGlzIHNldCB3aGVuIHRoZSBlbGVtIGRlY2wgaGFzIGJlZW4gY2hlY2tlZCBhZ2FpbnN0IGFsbCBjb25zdHJhaW50czwvcD4KKzxoMz48YSBuYW1lPSJYTUxfU0NIRU1BU19FTEVNX0lOVEVSTkFMX1JFU09MVkVEIiBpZD0iWE1MX1NDSEVNQVNfRUxFTV9JTlRFUk5BTF9SRVNPTFZFRCI+PC9hPk1hY3JvOiBYTUxfU0NIRU1BU19FTEVNX0lOVEVSTkFMX1JFU09MVkVEPC9oMz48cHJlPiNkZWZpbmUgWE1MX1NDSEVNQVNfRUxFTV9JTlRFUk5BTF9SRVNPTFZFRDwvcHJlPjxwPnRoaXMgaXMgc2V0IHdoZW4gInR5cGUiLCAicmVmIiwgInN1YnN0aXR1dGlvbkdyb3VwIiByZWZlcmVuY2VzIGhhdmUgYmVlbiByZXNvbHZlZC48L3A+Cis8aDM+PGEgbmFtZT0iWE1MX1NDSEVNQVNfRUxFTV9OSUxMQUJMRSIgaWQ9IlhNTF9TQ0hFTUFTX0VMRU1fTklMTEFCTEUiPjwvYT5NYWNybzogWE1MX1NDSEVNQVNfRUxFTV9OSUxMQUJMRTwvaDM+PHByZT4jZGVmaW5lIFhNTF9TQ0hFTUFTX0VMRU1fTklMTEFCTEU8L3ByZT48cD50aGUgZWxlbWVudCBpcyBuaWxsYWJsZTwvcD4KKzxoMz48YSBuYW1lPSJYTUxfU0NIRU1BU19FTEVNX05TREVGQVVMVCIgaWQ9IlhNTF9TQ0hFTUFTX0VMRU1fTlNERUZBVUxUIj48L2E+TWFjcm86IFhNTF9TQ0hFTUFTX0VMRU1fTlNERUZBVUxUPC9oMz48cHJlPiNkZWZpbmUgWE1MX1NDSEVNQVNfRUxFTV9OU0RFRkFVTFQ8L3ByZT48cD5hbGxvdyBlbGVtZW50cyBpbiBubyBuYW1lc3BhY2UgT2Jzb2xldGUsIG5vdCB1c2VkIGFueW1vcmUuPC9wPgorPGgzPjxhIG5hbWU9IlhNTF9TQ0hFTUFTX0VMRU1fUkVGIiBpZD0iWE1MX1NDSEVNQVNfRUxFTV9SRUYiPjwvYT5NYWNybzogWE1MX1NDSEVNQVNfRUxFTV9SRUY8L2gzPjxwcmU+I2RlZmluZSBYTUxfU0NIRU1BU19FTEVNX1JFRjwvcHJlPjxwPnRoZSBlbGVtZW50IGlzIGEgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI3JlZmVyZW5jZSI+cmVmZXJlbmNlPC9hPiB0byBhIHR5cGU8L3A+Cis8aDM+PGEgbmFtZT0iWE1MX1NDSEVNQVNfRUxFTV9TVUJTVF9HUk9VUF9IRUFEIiBpZD0iWE1MX1NDSEVNQVNfRUxFTV9TVUJTVF9HUk9VUF9IRUFEIj48L2E+TWFjcm86IFhNTF9TQ0hFTUFTX0VMRU1fU1VCU1RfR1JPVVBfSEVBRDwvaDM+PHByZT4jZGVmaW5lIFhNTF9TQ0hFTUFTX0VMRU1fU1VCU1RfR1JPVVBfSEVBRDwvcHJlPjxwPnRoZSBkZWNsYXJhdGlvbiBpcyBhIHN1YnN0aXR1dGlvbiBncm91cCBoZWFkPC9wPgorPGgzPjxhIG5hbWU9IlhNTF9TQ0hFTUFTX0VMRU1fVE9QTEVWRUwiIGlkPSJYTUxfU0NIRU1BU19FTEVNX1RPUExFVkVMIj48L2E+TWFjcm86IFhNTF9TQ0hFTUFTX0VMRU1fVE9QTEVWRUw8L2gzPjxwcmU+I2RlZmluZSBYTUxfU0NIRU1BU19FTEVNX1RPUExFVkVMPC9wcmU+PHA+dGhlIGVsZW1lbnQgaXMgdG9wIGxldmVsIG9ic29sZXRlOiB1c2UgPGEgaHJlZj0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19FTEVNX0dMT0JBTCI+WE1MX1NDSEVNQVNfRUxFTV9HTE9CQUw8L2E+IGluc3RlYWQ8L3A+Cis8aDM+PGEgbmFtZT0iWE1MX1NDSEVNQVNfRkFDRVRfQ09MTEFQU0UiIGlkPSJYTUxfU0NIRU1BU19GQUNFVF9DT0xMQVBTRSI+PC9hPk1hY3JvOiBYTUxfU0NIRU1BU19GQUNFVF9DT0xMQVBTRTwvaDM+PHByZT4jZGVmaW5lIFhNTF9TQ0hFTUFTX0ZBQ0VUX0NPTExBUFNFPC9wcmU+PHA+Y29sbGFwc2UgdGhlIHR5cGVzIG9mIHRoZSBmYWNldDwvcD4KKzxoMz48YSBuYW1lPSJYTUxfU0NIRU1BU19GQUNFVF9QUkVTRVJWRSIgaWQ9IlhNTF9TQ0hFTUFTX0ZBQ0VUX1BSRVNFUlZFIj48L2E+TWFjcm86IFhNTF9TQ0hFTUFTX0ZBQ0VUX1BSRVNFUlZFPC9oMz48cHJlPiNkZWZpbmUgWE1MX1NDSEVNQVNfRkFDRVRfUFJFU0VSVkU8L3ByZT48cD5wcmVzZXJ2ZSB0aGUgdHlwZSBvZiB0aGUgZmFjZXQ8L3A+Cis8aDM+PGEgbmFtZT0iWE1MX1NDSEVNQVNfRkFDRVRfUkVQTEFDRSIgaWQ9IlhNTF9TQ0hFTUFTX0ZBQ0VUX1JFUExBQ0UiPjwvYT5NYWNybzogWE1MX1NDSEVNQVNfRkFDRVRfUkVQTEFDRTwvaDM+PHByZT4jZGVmaW5lIFhNTF9TQ0hFTUFTX0ZBQ0VUX1JFUExBQ0U8L3ByZT48cD5yZXBsYWNlIHRoZSB0eXBlIG9mIHRoZSBmYWNldDwvcD4KKzxoMz48YSBuYW1lPSJYTUxfU0NIRU1BU19GQUNFVF9VTktOT1dOIiBpZD0iWE1MX1NDSEVNQVNfRkFDRVRfVU5LTk9XTiI+PC9hPk1hY3JvOiBYTUxfU0NIRU1BU19GQUNFVF9VTktOT1dOPC9oMz48cHJlPiNkZWZpbmUgWE1MX1NDSEVNQVNfRkFDRVRfVU5LTk9XTjwvcHJlPjxwPnVua25vd24gZmFjZXQgaGFuZGxpbmc8L3A+Cis8aDM+PGEgbmFtZT0iWE1MX1NDSEVNQVNfRklOQUxfREVGQVVMVF9FWFRFTlNJT04iIGlkPSJYTUxfU0NIRU1BU19GSU5BTF9ERUZBVUxUX0VYVEVOU0lPTiI+PC9hPk1hY3JvOiBYTUxfU0NIRU1BU19GSU5BTF9ERUZBVUxUX0VYVEVOU0lPTjwvaDM+PHByZT4jZGVmaW5lIFhNTF9TQ0hFTUFTX0ZJTkFMX0RFRkFVTFRfRVhURU5TSU9OPC9wcmU+PHA+dGhlIHNjaGVtYSBoYXMgImV4dGVuc2lvbiIgaW4gdGhlIHNldCBvZiBmaW5hbERlZmF1bHQuPC9wPgorPGgzPjxhIG5hbWU9IlhNTF9TQ0hFTUFTX0ZJTkFMX0RFRkFVTFRfTElTVCIgaWQ9IlhNTF9TQ0hFTUFTX0ZJTkFMX0RFRkFVTFRfTElTVCI+PC9hPk1hY3JvOiBYTUxfU0NIRU1BU19GSU5BTF9ERUZBVUxUX0xJU1Q8L2gzPjxwcmU+I2RlZmluZSBYTUxfU0NIRU1BU19GSU5BTF9ERUZBVUxUX0xJU1Q8L3ByZT48cD50aGUgY3NoZW1hIGhhcyAibGlzdCIgaW4gdGhlIHNldCBvZiBmaW5hbERlZmF1bHQuPC9wPgorPGgzPjxhIG5hbWU9IlhNTF9TQ0hFTUFTX0ZJTkFMX0RFRkFVTFRfUkVTVFJJQ1RJT04iIGlkPSJYTUxfU0NIRU1BU19GSU5BTF9ERUZBVUxUX1JFU1RSSUNUSU9OIj48L2E+TWFjcm86IFhNTF9TQ0hFTUFTX0ZJTkFMX0RFRkFVTFRfUkVTVFJJQ1RJT048L2gzPjxwcmU+I2RlZmluZSBYTUxfU0NIRU1BU19GSU5BTF9ERUZBVUxUX1JFU1RSSUNUSU9OPC9wcmU+PHA+dGhlIHNjaGVtYSBoYXMgInJlc3RyaWN0aW9uIiBpbiB0aGUgc2V0IG9mIGZpbmFsRGVmYXVsdC48L3A+Cis8aDM+PGEgbmFtZT0iWE1MX1NDSEVNQVNfRklOQUxfREVGQVVMVF9VTklPTiIgaWQ9IlhNTF9TQ0hFTUFTX0ZJTkFMX0RFRkFVTFRfVU5JT04iPjwvYT5NYWNybzogWE1MX1NDSEVNQVNfRklOQUxfREVGQVVMVF9VTklPTjwvaDM+PHByZT4jZGVmaW5lIFhNTF9TQ0hFTUFTX0ZJTkFMX0RFRkFVTFRfVU5JT048L3ByZT48cD50aGUgc2NoZW1hIGhhcyAidW5pb24iIGluIHRoZSBzZXQgb2YgZmluYWxEZWZhdWx0LjwvcD4KKzxoMz48YSBuYW1lPSJYTUxfU0NIRU1BU19JTkNMVURJTkdfQ09OVkVSVF9OUyIgaWQ9IlhNTF9TQ0hFTUFTX0lOQ0xVRElOR19DT05WRVJUX05TIj48L2E+TWFjcm86IFhNTF9TQ0hFTUFTX0lOQ0xVRElOR19DT05WRVJUX05TPC9oMz48cHJlPiNkZWZpbmUgWE1MX1NDSEVNQVNfSU5DTFVESU5HX0NPTlZFUlRfTlM8L3ByZT48cD50aGUgc2NoZW1hIGlzIGN1cnJlbnRseSBpbmNsdWRpbmcgYW4gb3RoZXIgc2NoZW1hIHdpdGggbm8gdGFyZ2V0IG5hbWVzcGFjZS48L3A+Cis8aDM+PGEgbmFtZT0iWE1MX1NDSEVNQVNfUVVBTElGX0FUVFIiIGlkPSJYTUxfU0NIRU1BU19RVUFMSUZfQVRUUiI+PC9hPk1hY3JvOiBYTUxfU0NIRU1BU19RVUFMSUZfQVRUUjwvaDM+PHByZT4jZGVmaW5lIFhNTF9TQ0hFTUFTX1FVQUxJRl9BVFRSPC9wcmU+PHA+UmVmbGVjdHMgYXR0cmlidXRlRm9ybURlZmF1bHQgPT0gcXVhbGlmaWVkIGluIGFuIFhNTCBzY2hlbWEgZG9jdW1lbnQuPC9wPgorPGgzPjxhIG5hbWU9IlhNTF9TQ0hFTUFTX1FVQUxJRl9FTEVNIiBpZD0iWE1MX1NDSEVNQVNfUVVBTElGX0VMRU0iPjwvYT5NYWNybzogWE1MX1NDSEVNQVNfUVVBTElGX0VMRU08L2gzPjxwcmU+I2RlZmluZSBYTUxfU0NIRU1BU19RVUFMSUZfRUxFTTwvcHJlPjxwPlJlZmxlY3RzIGVsZW1lbnRGb3JtRGVmYXVsdCA9PSBxdWFsaWZpZWQgaW4gYW4gWE1MIHNjaGVtYSBkb2N1bWVudC48L3A+Cis8aDM+PGEgbmFtZT0iWE1MX1NDSEVNQVNfVFlQRV9BQlNUUkFDVCIgaWQ9IlhNTF9TQ0hFTUFTX1RZUEVfQUJTVFJBQ1QiPjwvYT5NYWNybzogWE1MX1NDSEVNQVNfVFlQRV9BQlNUUkFDVDwvaDM+PHByZT4jZGVmaW5lIFhNTF9TQ0hFTUFTX1RZUEVfQUJTVFJBQ1Q8L3ByZT48cD50aGUgc2ltcGxlL2NvbXBsZXhUeXBlIGlzIGFic3RyYWN0LjwvcD4KKzxoMz48YSBuYW1lPSJYTUxfU0NIRU1BU19UWVBFX0JMT0NLX0RFRkFVTFQiIGlkPSJYTUxfU0NIRU1BU19UWVBFX0JMT0NLX0RFRkFVTFQiPjwvYT5NYWNybzogWE1MX1NDSEVNQVNfVFlQRV9CTE9DS19ERUZBVUxUPC9oMz48cHJlPiNkZWZpbmUgWE1MX1NDSEVNQVNfVFlQRV9CTE9DS19ERUZBVUxUPC9wcmU+PHA+dGhlIGNvbXBsZXhUeXBlIGRpZCBub3Qgc3BlY2lmeSAnYmxvY2snIHNvIHVzZSB0aGUgZGVmYXVsdCBvZiB0aGUgJmx0O3NjaGVtYSZndDsgaXRlbS48L3A+Cis8aDM+PGEgbmFtZT0iWE1MX1NDSEVNQVNfVFlQRV9CTE9DS19FWFRFTlNJT04iIGlkPSJYTUxfU0NIRU1BU19UWVBFX0JMT0NLX0VYVEVOU0lPTiI+PC9hPk1hY3JvOiBYTUxfU0NIRU1BU19UWVBFX0JMT0NLX0VYVEVOU0lPTjwvaDM+PHByZT4jZGVmaW5lIFhNTF9TQ0hFTUFTX1RZUEVfQkxPQ0tfRVhURU5TSU9OPC9wcmU+PHA+dGhlIGNvbXBsZXhUeXBlIGhhcyBhICdibG9jaycgb2YgImV4dGVuc2lvbiIuPC9wPgorPGgzPjxhIG5hbWU9IlhNTF9TQ0hFTUFTX1RZUEVfQkxPQ0tfUkVTVFJJQ1RJT04iIGlkPSJYTUxfU0NIRU1BU19UWVBFX0JMT0NLX1JFU1RSSUNUSU9OIj48L2E+TWFjcm86IFhNTF9TQ0hFTUFTX1RZUEVfQkxPQ0tfUkVTVFJJQ1RJT048L2gzPjxwcmU+I2RlZmluZSBYTUxfU0NIRU1BU19UWVBFX0JMT0NLX1JFU1RSSUNUSU9OPC9wcmU+PHA+dGhlIGNvbXBsZXhUeXBlIGhhcyBhICdibG9jaycgb2YgInJlc3RyaWN0aW9uIi48L3A+Cis8aDM+PGEgbmFtZT0iWE1MX1NDSEVNQVNfVFlQRV9CVUlMVElOX1BSSU1JVElWRSIgaWQ9IlhNTF9TQ0hFTUFTX1RZUEVfQlVJTFRJTl9QUklNSVRJVkUiPjwvYT5NYWNybzogWE1MX1NDSEVNQVNfVFlQRV9CVUlMVElOX1BSSU1JVElWRTwvaDM+PHByZT4jZGVmaW5lIFhNTF9TQ0hFTUFTX1RZUEVfQlVJTFRJTl9QUklNSVRJVkU8L3ByZT48cD5NYXJrcyB0aGUgaXRlbSBhcyBhIGJ1aWx0aW4gcHJpbWl0aXZlLjwvcD4KKzxoMz48YSBuYW1lPSJYTUxfU0NIRU1BU19UWVBFX0RFUklWQVRJT05fTUVUSE9EX0VYVEVOU0lPTiIgaWQ9IlhNTF9TQ0hFTUFTX1RZUEVfREVSSVZBVElPTl9NRVRIT0RfRVhURU5TSU9OIj48L2E+TWFjcm86IFhNTF9TQ0hFTUFTX1RZUEVfREVSSVZBVElPTl9NRVRIT0RfRVhURU5TSU9OPC9oMz48cHJlPiNkZWZpbmUgWE1MX1NDSEVNQVNfVFlQRV9ERVJJVkFUSU9OX01FVEhPRF9FWFRFTlNJT048L3ByZT48cD50aGUgc2ltcGxlIG9yIGNvbXBsZXggdHlwZSBoYXMgYSBkZXJpdmF0aW9uIG1ldGhvZCBvZiAiZXh0ZW5zaW9uIi48L3A+Cis8aDM+PGEgbmFtZT0iWE1MX1NDSEVNQVNfVFlQRV9ERVJJVkFUSU9OX01FVEhPRF9SRVNUUklDVElPTiIgaWQ9IlhNTF9TQ0hFTUFTX1RZUEVfREVSSVZBVElPTl9NRVRIT0RfUkVTVFJJQ1RJT04iPjwvYT5NYWNybzogWE1MX1NDSEVNQVNfVFlQRV9ERVJJVkFUSU9OX01FVEhPRF9SRVNUUklDVElPTjwvaDM+PHByZT4jZGVmaW5lIFhNTF9TQ0hFTUFTX1RZUEVfREVSSVZBVElPTl9NRVRIT0RfUkVTVFJJQ1RJT048L3ByZT48cD50aGUgc2ltcGxlIG9yIGNvbXBsZXggdHlwZSBoYXMgYSBkZXJpdmF0aW9uIG1ldGhvZCBvZiAicmVzdHJpY3Rpb24iLjwvcD4KKzxoMz48YSBuYW1lPSJYTUxfU0NIRU1BU19UWVBFX0ZBQ0VUU05FRURWQUxVRSIgaWQ9IlhNTF9TQ0hFTUFTX1RZUEVfRkFDRVRTTkVFRFZBTFVFIj48L2E+TWFjcm86IFhNTF9TQ0hFTUFTX1RZUEVfRkFDRVRTTkVFRFZBTFVFPC9oMz48cHJlPiNkZWZpbmUgWE1MX1NDSEVNQVNfVFlQRV9GQUNFVFNORUVEVkFMVUU8L3ByZT48cD5pbmRpY2F0ZXMgaWYgdGhlIGZhY2V0cyBuZWVkIGEgY29tcHV0ZWQgdmFsdWU8L3A+Cis8aDM+PGEgbmFtZT0iWE1MX1NDSEVNQVNfVFlQRV9GSU5BTF9ERUZBVUxUIiBpZD0iWE1MX1NDSEVNQVNfVFlQRV9GSU5BTF9ERUZBVUxUIj48L2E+TWFjcm86IFhNTF9TQ0hFTUFTX1RZUEVfRklOQUxfREVGQVVMVDwvaDM+PHByZT4jZGVmaW5lIFhNTF9TQ0hFTUFTX1RZUEVfRklOQUxfREVGQVVMVDwvcHJlPjxwPnRoZSBzaW1wbGVUeXBlIGhhcyBhIGZpbmFsIG9mICJkZWZhdWx0Ii48L3A+Cis8aDM+PGEgbmFtZT0iWE1MX1NDSEVNQVNfVFlQRV9GSU5BTF9FWFRFTlNJT04iIGlkPSJYTUxfU0NIRU1BU19UWVBFX0ZJTkFMX0VYVEVOU0lPTiI+PC9hPk1hY3JvOiBYTUxfU0NIRU1BU19UWVBFX0ZJTkFMX0VYVEVOU0lPTjwvaDM+PHByZT4jZGVmaW5lIFhNTF9TQ0hFTUFTX1RZUEVfRklOQUxfRVhURU5TSU9OPC9wcmU+PHA+dGhlIGNvbXBsZXhUeXBlIGhhcyBhIGZpbmFsIG9mICJleHRlbnNpb24iLjwvcD4KKzxoMz48YSBuYW1lPSJYTUxfU0NIRU1BU19UWVBFX0ZJTkFMX0xJU1QiIGlkPSJYTUxfU0NIRU1BU19UWVBFX0ZJTkFMX0xJU1QiPjwvYT5NYWNybzogWE1MX1NDSEVNQVNfVFlQRV9GSU5BTF9MSVNUPC9oMz48cHJlPiNkZWZpbmUgWE1MX1NDSEVNQVNfVFlQRV9GSU5BTF9MSVNUPC9wcmU+PHA+dGhlIHNpbXBsZVR5cGUgaGFzIGEgZmluYWwgb2YgImxpc3QiLjwvcD4KKzxoMz48YSBuYW1lPSJYTUxfU0NIRU1BU19UWVBFX0ZJTkFMX1JFU1RSSUNUSU9OIiBpZD0iWE1MX1NDSEVNQVNfVFlQRV9GSU5BTF9SRVNUUklDVElPTiI+PC9hPk1hY3JvOiBYTUxfU0NIRU1BU19UWVBFX0ZJTkFMX1JFU1RSSUNUSU9OPC9oMz48cHJlPiNkZWZpbmUgWE1MX1NDSEVNQVNfVFlQRV9GSU5BTF9SRVNUUklDVElPTjwvcHJlPjxwPnRoZSBzaW1wbGVUeXBlL2NvbXBsZXhUeXBlIGhhcyBhIGZpbmFsIG9mICJyZXN0cmljdGlvbiIuPC9wPgorPGgzPjxhIG5hbWU9IlhNTF9TQ0hFTUFTX1RZUEVfRklOQUxfVU5JT04iIGlkPSJYTUxfU0NIRU1BU19UWVBFX0ZJTkFMX1VOSU9OIj48L2E+TWFjcm86IFhNTF9TQ0hFTUFTX1RZUEVfRklOQUxfVU5JT048L2gzPjxwcmU+I2RlZmluZSBYTUxfU0NIRU1BU19UWVBFX0ZJTkFMX1VOSU9OPC9wcmU+PHA+dGhlIHNpbXBsZVR5cGUgaGFzIGEgZmluYWwgb2YgInVuaW9uIi48L3A+Cis8aDM+PGEgbmFtZT0iWE1MX1NDSEVNQVNfVFlQRV9GSVhVUF8xIiBpZD0iWE1MX1NDSEVNQVNfVFlQRV9GSVhVUF8xIj48L2E+TWFjcm86IFhNTF9TQ0hFTUFTX1RZUEVfRklYVVBfMTwvaDM+PHByZT4jZGVmaW5lIFhNTF9TQ0hFTUFTX1RZUEVfRklYVVBfMTwvcHJlPjxwPkZpcnN0IHN0YWdlIG9mIGZpeHVwIHdhcyBkb25lLjwvcD4KKzxoMz48YSBuYW1lPSJYTUxfU0NIRU1BU19UWVBFX0dMT0JBTCIgaWQ9IlhNTF9TQ0hFTUFTX1RZUEVfR0xPQkFMIj48L2E+TWFjcm86IFhNTF9TQ0hFTUFTX1RZUEVfR0xPQkFMPC9oMz48cHJlPiNkZWZpbmUgWE1MX1NDSEVNQVNfVFlQRV9HTE9CQUw8L3ByZT48cD50aGUgdHlwZSBpcyBnbG9iYWw8L3A+Cis8aDM+PGEgbmFtZT0iWE1MX1NDSEVNQVNfVFlQRV9IQVNfRkFDRVRTIiBpZD0iWE1MX1NDSEVNQVNfVFlQRV9IQVNfRkFDRVRTIj48L2E+TWFjcm86IFhNTF9TQ0hFTUFTX1RZUEVfSEFTX0ZBQ0VUUzwvaDM+PHByZT4jZGVmaW5lIFhNTF9TQ0hFTUFTX1RZUEVfSEFTX0ZBQ0VUUzwvcHJlPjxwPmhhcyBmYWNldHM8L3A+Cis8aDM+PGEgbmFtZT0iWE1MX1NDSEVNQVNfVFlQRV9JTlRFUk5BTF9JTlZBTElEIiBpZD0iWE1MX1NDSEVNQVNfVFlQRV9JTlRFUk5BTF9JTlZBTElEIj48L2E+TWFjcm86IFhNTF9TQ0hFTUFTX1RZUEVfSU5URVJOQUxfSU5WQUxJRDwvaDM+PHByZT4jZGVmaW5lIFhNTF9TQ0hFTUFTX1RZUEVfSU5URVJOQUxfSU5WQUxJRDwvcHJlPjxwPmluZGljYXRlcyB0aGF0IHRoZSB0eXBlIGlzIGludmFsaWQ8L3A+Cis8aDM+PGEgbmFtZT0iWE1MX1NDSEVNQVNfVFlQRV9JTlRFUk5BTF9SRVNPTFZFRCIgaWQ9IlhNTF9TQ0hFTUFTX1RZUEVfSU5URVJOQUxfUkVTT0xWRUQiPjwvYT5NYWNybzogWE1MX1NDSEVNQVNfVFlQRV9JTlRFUk5BTF9SRVNPTFZFRDwvaDM+PHByZT4jZGVmaW5lIFhNTF9TQ0hFTUFTX1RZUEVfSU5URVJOQUxfUkVTT0xWRUQ8L3ByZT48cD5pbmRpY2F0ZXMgdGhhdCB0aGUgdHlwZSB3YXMgdHlwZWZpeGVkPC9wPgorPGgzPjxhIG5hbWU9IlhNTF9TQ0hFTUFTX1RZUEVfTUFSS0VEIiBpZD0iWE1MX1NDSEVNQVNfVFlQRV9NQVJLRUQiPjwvYT5NYWNybzogWE1MX1NDSEVNQVNfVFlQRV9NQVJLRUQ8L2gzPjxwcmU+I2RlZmluZSBYTUxfU0NIRU1BU19UWVBFX01BUktFRDwvcHJlPjxwPk1hcmtzIHRoZSBpdGVtIGFzIG1hcmtlZDsgdXNlZCBmb3IgY2lyY3VsYXIgY2hlY2tzLjwvcD4KKzxoMz48YSBuYW1lPSJYTUxfU0NIRU1BU19UWVBFX01JWEVEIiBpZD0iWE1MX1NDSEVNQVNfVFlQRV9NSVhFRCI+PC9hPk1hY3JvOiBYTUxfU0NIRU1BU19UWVBFX01JWEVEPC9oMz48cHJlPiNkZWZpbmUgWE1MX1NDSEVNQVNfVFlQRV9NSVhFRDwvcHJlPjxwPnRoZSBlbGVtZW50IGNvbnRlbnQgdHlwZSBpcyBtaXhlZDwvcD4KKzxoMz48YSBuYW1lPSJYTUxfU0NIRU1BU19UWVBFX05PUk1WQUxVRU5FRURFRCIgaWQ9IlhNTF9TQ0hFTUFTX1RZUEVfTk9STVZBTFVFTkVFREVEIj48L2E+TWFjcm86IFhNTF9TQ0hFTUFTX1RZUEVfTk9STVZBTFVFTkVFREVEPC9oMz48cHJlPiNkZWZpbmUgWE1MX1NDSEVNQVNfVFlQRV9OT1JNVkFMVUVORUVERUQ8L3ByZT48cD5pbmRpY2F0ZXMgaWYgdGhlIGZhY2V0cyAocGF0dGVybikgbmVlZCBhIG5vcm1hbGl6ZWQgdmFsdWU8L3A+Cis8aDM+PGEgbmFtZT0iWE1MX1NDSEVNQVNfVFlQRV9PV05FRF9BVFRSX1dJTERDQVJEIiBpZD0iWE1MX1NDSEVNQVNfVFlQRV9PV05FRF9BVFRSX1dJTERDQVJEIj48L2E+TWFjcm86IFhNTF9TQ0hFTUFTX1RZUEVfT1dORURfQVRUUl9XSUxEQ0FSRDwvaDM+PHByZT4jZGVmaW5lIFhNTF9TQ0hFTUFTX1RZUEVfT1dORURfQVRUUl9XSUxEQ0FSRDwvcHJlPjxwPnRoZSBjb21wbGV4VHlwZSBvd25zIGFuIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gd2lsZGNhcmQsIGkuZS4gaXQgY2FuIGJlIGZyZWVkIGJ5IHRoZSBjb21wbGV4VHlwZTwvcD4KKzxoMz48YSBuYW1lPSJYTUxfU0NIRU1BU19UWVBFX1JFREVGSU5FRCIgaWQ9IlhNTF9TQ0hFTUFTX1RZUEVfUkVERUZJTkVEIj48L2E+TWFjcm86IFhNTF9TQ0hFTUFTX1RZUEVfUkVERUZJTkVEPC9oMz48cHJlPiNkZWZpbmUgWE1MX1NDSEVNQVNfVFlQRV9SRURFRklORUQ8L3ByZT48cD5UaGUgdHlwZSB3YXMgcmVkZWZpbmVkLjwvcD4KKzxoMz48YSBuYW1lPSJYTUxfU0NIRU1BU19UWVBFX1ZBUklFVFlfQUJTRU5UIiBpZD0iWE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX0FCU0VOVCI+PC9hPk1hY3JvOiBYTUxfU0NIRU1BU19UWVBFX1ZBUklFVFlfQUJTRU5UPC9oMz48cHJlPiNkZWZpbmUgWE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX0FCU0VOVDwvcHJlPjxwPnRoZSBzaW1wbGVUeXBlIGhhcyBhIHZhcmlldHkgb2YgImFic2VudCIuIFRPRE86IEFjdHVhbGx5IG5vdCBuZWNlc3NhcnkgOi0vLCBzaW5jZSBpZiBub25lIG9mIHRoZSB2YXJpZXR5IGZsYWdzIG9jY3VyIHRoZW4gaXQncyBhdXRvbWF0aWNhbGx5IGFic2VudC48L3A+Cis8aDM+PGEgbmFtZT0iWE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX0FUT01JQyIgaWQ9IlhNTF9TQ0hFTUFTX1RZUEVfVkFSSUVUWV9BVE9NSUMiPjwvYT5NYWNybzogWE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX0FUT01JQzwvaDM+PHByZT4jZGVmaW5lIFhNTF9TQ0hFTUFTX1RZUEVfVkFSSUVUWV9BVE9NSUM8L3ByZT48cD50aGUgc2ltcGxlVHlwZSBoYXMgYSB2YXJpZXR5IG9mICJ1bmlvbiIuPC9wPgorPGgzPjxhIG5hbWU9IlhNTF9TQ0hFTUFTX1RZUEVfVkFSSUVUWV9MSVNUIiBpZD0iWE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX0xJU1QiPjwvYT5NYWNybzogWE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX0xJU1Q8L2gzPjxwcmU+I2RlZmluZSBYTUxfU0NIRU1BU19UWVBFX1ZBUklFVFlfTElTVDwvcHJlPjxwPnRoZSBzaW1wbGVUeXBlIGhhcyBhIHZhcmlldHkgb2YgImxpc3QiLjwvcD4KKzxoMz48YSBuYW1lPSJYTUxfU0NIRU1BU19UWVBFX1ZBUklFVFlfVU5JT04iIGlkPSJYTUxfU0NIRU1BU19UWVBFX1ZBUklFVFlfVU5JT04iPjwvYT5NYWNybzogWE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX1VOSU9OPC9oMz48cHJlPiNkZWZpbmUgWE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX1VOSU9OPC9wcmU+PHA+dGhlIHNpbXBsZVR5cGUgaGFzIGEgdmFyaWV0eSBvZiAidW5pb24iLjwvcD4KKzxoMz48YSBuYW1lPSJYTUxfU0NIRU1BU19UWVBFX1dISVRFU1BBQ0VfQ09MTEFQU0UiIGlkPSJYTUxfU0NIRU1BU19UWVBFX1dISVRFU1BBQ0VfQ09MTEFQU0UiPjwvYT5NYWNybzogWE1MX1NDSEVNQVNfVFlQRV9XSElURVNQQUNFX0NPTExBUFNFPC9oMz48cHJlPiNkZWZpbmUgWE1MX1NDSEVNQVNfVFlQRV9XSElURVNQQUNFX0NPTExBUFNFPC9wcmU+PHA+YSB3aGl0ZXNwYWNlLWZhY2V0IHZhbHVlIG9mICJjb2xsYXBzZSI8L3A+Cis8aDM+PGEgbmFtZT0iWE1MX1NDSEVNQVNfVFlQRV9XSElURVNQQUNFX1BSRVNFUlZFIiBpZD0iWE1MX1NDSEVNQVNfVFlQRV9XSElURVNQQUNFX1BSRVNFUlZFIj48L2E+TWFjcm86IFhNTF9TQ0hFTUFTX1RZUEVfV0hJVEVTUEFDRV9QUkVTRVJWRTwvaDM+PHByZT4jZGVmaW5lIFhNTF9TQ0hFTUFTX1RZUEVfV0hJVEVTUEFDRV9QUkVTRVJWRTwvcHJlPjxwPmEgd2hpdGVzcGFjZS1mYWNldCB2YWx1ZSBvZiAicHJlc2VydmUiPC9wPgorPGgzPjxhIG5hbWU9IlhNTF9TQ0hFTUFTX1RZUEVfV0hJVEVTUEFDRV9SRVBMQUNFIiBpZD0iWE1MX1NDSEVNQVNfVFlQRV9XSElURVNQQUNFX1JFUExBQ0UiPjwvYT5NYWNybzogWE1MX1NDSEVNQVNfVFlQRV9XSElURVNQQUNFX1JFUExBQ0U8L2gzPjxwcmU+I2RlZmluZSBYTUxfU0NIRU1BU19UWVBFX1dISVRFU1BBQ0VfUkVQTEFDRTwvcHJlPjxwPmEgd2hpdGVzcGFjZS1mYWNldCB2YWx1ZSBvZiAicmVwbGFjZSI8L3A+Cis8aDM+PGEgbmFtZT0iWE1MX1NDSEVNQVNfV0lMRENBUkRfQ09NUExFVEUiIGlkPSJYTUxfU0NIRU1BU19XSUxEQ0FSRF9DT01QTEVURSI+PC9hPk1hY3JvOiBYTUxfU0NIRU1BU19XSUxEQ0FSRF9DT01QTEVURTwvaDM+PHByZT4jZGVmaW5lIFhNTF9TQ0hFTUFTX1dJTERDQVJEX0NPTVBMRVRFPC9wcmU+PHA+SWYgdGhlIHdpbGRjYXJkIGlzIGNvbXBsZXRlLjwvcD4KKzxoMz48YSBuYW1lPSJ4bWxTY2hlbWFBbm5vdCIgaWQ9InhtbFNjaGVtYUFubm90Ij5TdHJ1Y3R1cmUgeG1sU2NoZW1hQW5ub3Q8L2E+PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+U3RydWN0dXJlIHhtbFNjaGVtYUFubm90PGJyIC8+c3RydWN0IF94bWxTY2hlbWFBbm5vdCB7CisgICAgc3RydWN0IF94bWxTY2hlbWFBbm5vdCAqCW5leHQKKyAgICA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CWNvbnRlbnQJOiB0aGUgYW5ub3RhdGlvbgorfTwvcHJlPjxoMz48YSBuYW1lPSJ4bWxTY2hlbWFBdHRyaWJ1dGUiIGlkPSJ4bWxTY2hlbWFBdHRyaWJ1dGUiPlN0cnVjdHVyZSB4bWxTY2hlbWFBdHRyaWJ1dGU8L2E+PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+U3RydWN0dXJlIHhtbFNjaGVtYUF0dHJpYnV0ZTxiciAvPnN0cnVjdCBfeG1sU2NoZW1hQXR0cmlidXRlIHsKKyAgICA8YSBocmVmPSJsaWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVR5cGVUeXBlIj54bWxTY2hlbWFUeXBlVHlwZTwvYT4JdHlwZQorICAgIHN0cnVjdCBfeG1sU2NoZW1hQXR0cmlidXRlICoJbmV4dAk6IHRoZSBuZXh0IDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gKG5vdCB1c2VkPykKKyAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgluYW1lCTogdGhlIG5hbWUgb2YgdGhlIGRlY2xhcmF0aW9uCisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJaWQJOiBEZXByZWNhdGVkOyBub3QgdXNlZAorICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXJlZgk6IERlcHJlY2F0ZWQ7IG5vdCB1c2VkCisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJcmVmTnMJOiBEZXByZWNhdGVkOyBub3QgdXNlZAorICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXR5cGVOYW1lCTogdGhlIGxvY2FsIG5hbWUgb2YgdGhlIHR5cGUgZGVmaW5pdGlvbgorICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXR5cGVOcwk6IHRoZSBucyBVUkkgb2YgdGhlIHR5cGUgZGVmaW5pdGlvbgorICAgIDxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hQW5ub3RQdHIiPnhtbFNjaGVtYUFubm90UHRyPC9hPglhbm5vdAorICAgIDxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVHlwZVB0ciI+eG1sU2NoZW1hVHlwZVB0cjwvYT4JYmFzZQk6IERlcHJlY2F0ZWQ7IG5vdCB1c2VkCisgICAgaW50CW9jY3Vycwk6IERlcHJlY2F0ZWQ7IG5vdCB1c2VkCisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJZGVmVmFsdWUJOiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiB0aGUgdmFsdWUgY29uc3RyYWkKKyAgICA8YSBocmVmPSJsaWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVR5cGVQdHIiPnhtbFNjaGVtYVR5cGVQdHI8L2E+CXN1YnR5cGVzCTogdGhlIHR5cGUgZGVmaW5pdGlvbgorICAgIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4Jbm9kZQorICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXRhcmdldE5hbWVzcGFjZQorICAgIGludAlmbGFncworICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXJlZlByZWZpeAk6IERlcHJlY2F0ZWQ7IG5vdCB1c2VkCisgICAgPGEgaHJlZj0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFWYWxQdHIiPnhtbFNjaGVtYVZhbFB0cjwvYT4JZGVmVmFsCTogVGhlIGNvbXBpbGVkIHZhbHVlIGNvbnN0cmFpbnQKKyAgICA8YSBocmVmPSJsaWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYUF0dHJpYnV0ZVB0ciI+eG1sU2NoZW1hQXR0cmlidXRlUHRyPC9hPglyZWZEZWNsCTogRGVwcmVjYXRlZDsgbm90IHVzZWQKK308L3ByZT48aDM+PGEgbmFtZT0ieG1sU2NoZW1hQXR0cmlidXRlR3JvdXAiIGlkPSJ4bWxTY2hlbWFBdHRyaWJ1dGVHcm91cCI+U3RydWN0dXJlIHhtbFNjaGVtYUF0dHJpYnV0ZUdyb3VwPC9hPjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlN0cnVjdHVyZSB4bWxTY2hlbWFBdHRyaWJ1dGVHcm91cDxiciAvPnN0cnVjdCBfeG1sU2NoZW1hQXR0cmlidXRlR3JvdXAgeworICAgIDxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVHlwZVR5cGUiPnhtbFNjaGVtYVR5cGVUeXBlPC9hPgl0eXBlCTogVGhlIGtpbmQgb2YgdHlwZQorICAgIHN0cnVjdCBfeG1sU2NoZW1hQXR0cmlidXRlICoJbmV4dAk6IHRoZSBuZXh0IDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gaWYgaW4gYSBncm91cCAuLi4KKyAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgluYW1lCisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJaWQKKyAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKglyZWYJOiBEZXByZWNhdGVkOyBub3QgdXNlZAorICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXJlZk5zCTogRGVwcmVjYXRlZDsgbm90IHVzZWQKKyAgICA8YSBocmVmPSJsaWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYUFubm90UHRyIj54bWxTY2hlbWFBbm5vdFB0cjwvYT4JYW5ub3QKKyAgICA8YSBocmVmPSJsaWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYUF0dHJpYnV0ZVB0ciI+eG1sU2NoZW1hQXR0cmlidXRlUHRyPC9hPglhdHRyaWJ1dGVzCTogRGVwcmVjYXRlZDsgbm90IHVzZWQKKyAgICA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CW5vZGUKKyAgICBpbnQJZmxhZ3MKKyAgICA8YSBocmVmPSJsaWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVdpbGRjYXJkUHRyIj54bWxTY2hlbWFXaWxkY2FyZFB0cjwvYT4JYXR0cmlidXRlV2lsZGNhcmQKKyAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKglyZWZQcmVmaXgJOiBEZXByZWNhdGVkOyBub3QgdXNlZAorICAgIDxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hQXR0cmlidXRlR3JvdXBQdHIiPnhtbFNjaGVtYUF0dHJpYnV0ZUdyb3VwUHRyPC9hPglyZWZJdGVtCTogRGVwcmVjYXRlZDsgbm90IHVzZWQKKyAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl0YXJnZXROYW1lc3BhY2UKKyAgICB2b2lkICoJYXR0clVzZXMKK308L3ByZT48aDM+PGEgbmFtZT0ieG1sU2NoZW1hQXR0cmlidXRlTGluayIgaWQ9InhtbFNjaGVtYUF0dHJpYnV0ZUxpbmsiPlN0cnVjdHVyZSB4bWxTY2hlbWFBdHRyaWJ1dGVMaW5rPC9hPjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlN0cnVjdHVyZSB4bWxTY2hlbWFBdHRyaWJ1dGVMaW5rPGJyIC8+c3RydWN0IF94bWxTY2hlbWFBdHRyaWJ1dGVMaW5rIHsKKyAgICBzdHJ1Y3QgX3htbFNjaGVtYUF0dHJpYnV0ZUxpbmsgKgluZXh0CTogdGhlIG5leHQgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBsaW5rIC4uLgorICAgIHN0cnVjdCBfeG1sU2NoZW1hQXR0cmlidXRlICoJYXR0cgk6IHRoZSBsaW5rZWQgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPgorfTwvcHJlPjxoMz5FbnVtIDxhIG5hbWU9InhtbFNjaGVtYUNvbnRlbnRUeXBlIiBpZD0ieG1sU2NoZW1hQ29udGVudFR5cGUiPnhtbFNjaGVtYUNvbnRlbnRUeXBlPC9hPjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkVudW0geG1sU2NoZW1hQ29udGVudFR5cGUgeworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFfQ09OVEVOVF9VTktOT1dOIiBpZD0iWE1MX1NDSEVNQV9DT05URU5UX1VOS05PV04iPlhNTF9TQ0hFTUFfQ09OVEVOVF9VTktOT1dOPC9hPiA9IDAKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BX0NPTlRFTlRfRU1QVFkiIGlkPSJYTUxfU0NIRU1BX0NPTlRFTlRfRU1QVFkiPlhNTF9TQ0hFTUFfQ09OVEVOVF9FTVBUWTwvYT4gPSAxCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQV9DT05URU5UX0VMRU1FTlRTIiBpZD0iWE1MX1NDSEVNQV9DT05URU5UX0VMRU1FTlRTIj5YTUxfU0NIRU1BX0NPTlRFTlRfRUxFTUVOVFM8L2E+ID0gMgorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFfQ09OVEVOVF9NSVhFRCIgaWQ9IlhNTF9TQ0hFTUFfQ09OVEVOVF9NSVhFRCI+WE1MX1NDSEVNQV9DT05URU5UX01JWEVEPC9hPiA9IDMKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BX0NPTlRFTlRfU0lNUExFIiBpZD0iWE1MX1NDSEVNQV9DT05URU5UX1NJTVBMRSI+WE1MX1NDSEVNQV9DT05URU5UX1NJTVBMRTwvYT4gPSA0CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQV9DT05URU5UX01JWEVEX09SX0VMRU1FTlRTIiBpZD0iWE1MX1NDSEVNQV9DT05URU5UX01JWEVEX09SX0VMRU1FTlRTIj5YTUxfU0NIRU1BX0NPTlRFTlRfTUlYRURfT1JfRUxFTUVOVFM8L2E+ID0gNSA6IE9ic29sZXRlCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQV9DT05URU5UX0JBU0lDIiBpZD0iWE1MX1NDSEVNQV9DT05URU5UX0JBU0lDIj5YTUxfU0NIRU1BX0NPTlRFTlRfQkFTSUM8L2E+ID0gNgorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFfQ09OVEVOVF9BTlkiIGlkPSJYTUxfU0NIRU1BX0NPTlRFTlRfQU5ZIj5YTUxfU0NIRU1BX0NPTlRFTlRfQU5ZPC9hPiA9IDcKK30KKzwvcHJlPjxoMz48YSBuYW1lPSJ4bWxTY2hlbWFFbGVtZW50IiBpZD0ieG1sU2NoZW1hRWxlbWVudCI+U3RydWN0dXJlIHhtbFNjaGVtYUVsZW1lbnQ8L2E+PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+U3RydWN0dXJlIHhtbFNjaGVtYUVsZW1lbnQ8YnIgLz5zdHJ1Y3QgX3htbFNjaGVtYUVsZW1lbnQgeworICAgIDxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVHlwZVR5cGUiPnhtbFNjaGVtYVR5cGVUeXBlPC9hPgl0eXBlCTogVGhlIGtpbmQgb2YgdHlwZQorICAgIHN0cnVjdCBfeG1sU2NoZW1hVHlwZSAqCW5leHQJOiBOb3QgdXNlZD8KKyAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgluYW1lCisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJaWQJOiBEZXByZWNhdGVkOyBub3QgdXNlZAorICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXJlZgk6IERlcHJlY2F0ZWQ7IG5vdCB1c2VkCisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJcmVmTnMJOiBEZXByZWNhdGVkOyBub3QgdXNlZAorICAgIDxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hQW5ub3RQdHIiPnhtbFNjaGVtYUFubm90UHRyPC9hPglhbm5vdAorICAgIDxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVHlwZVB0ciI+eG1sU2NoZW1hVHlwZVB0cjwvYT4Jc3VidHlwZXMJOiB0aGUgdHlwZSBkZWZpbml0aW9uCisgICAgPGEgaHJlZj0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFBdHRyaWJ1dGVQdHIiPnhtbFNjaGVtYUF0dHJpYnV0ZVB0cjwvYT4JYXR0cmlidXRlcworICAgIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4Jbm9kZQorICAgIGludAltaW5PY2N1cnMJOiBEZXByZWNhdGVkOyBub3QgdXNlZAorICAgIGludAltYXhPY2N1cnMJOiBEZXByZWNhdGVkOyBub3QgdXNlZAorICAgIGludAlmbGFncworICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXRhcmdldE5hbWVzcGFjZQorICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCW5hbWVkVHlwZQorICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCW5hbWVkVHlwZU5zCisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJc3Vic3RHcm91cAorICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXN1YnN0R3JvdXBOcworICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXNjb3BlCisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJdmFsdWUJOiBUaGUgb3JpZ2luYWwgdmFsdWUgb2YgdGhlIHZhbHVlIGNvbnN0cmEKKyAgICBzdHJ1Y3QgX3htbFNjaGVtYUVsZW1lbnQgKglyZWZEZWNsCTogVGhpcyB3aWxsIG5vdyBiZSB1c2VkIGZvciB0aGUgc3Vic3RpdHV0CisgICAgPGEgaHJlZj0ibGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ2V4cFB0ciI+eG1sUmVnZXhwUHRyPC9hPgljb250TW9kZWwJOiBPYnNvbGV0ZSBmb3IgV1hTLCBtYXliZSB1c2VkIGZvciBSZWxheE4KKyAgICA8YSBocmVmPSJsaWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYUNvbnRlbnRUeXBlIj54bWxTY2hlbWFDb250ZW50VHlwZTwvYT4JY29udGVudFR5cGUKKyAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKglyZWZQcmVmaXgJOiBEZXByZWNhdGVkOyBub3QgdXNlZAorICAgIDxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVmFsUHRyIj54bWxTY2hlbWFWYWxQdHI8L2E+CWRlZlZhbAk6IFRoZSBjb21waWxlZCB2YWx1ZSBjb250cmFpbnQuCisgICAgdm9pZCAqCWlkY3MJOiBUaGUgaWRlbnRpdHktY29uc3RyYWludCBkZWZzCit9PC9wcmU+PGgzPjxhIG5hbWU9InhtbFNjaGVtYUZhY2V0IiBpZD0ieG1sU2NoZW1hRmFjZXQiPlN0cnVjdHVyZSB4bWxTY2hlbWFGYWNldDwvYT48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgeG1sU2NoZW1hRmFjZXQ8YnIgLz5zdHJ1Y3QgX3htbFNjaGVtYUZhY2V0IHsKKyAgICA8YSBocmVmPSJsaWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVR5cGVUeXBlIj54bWxTY2hlbWFUeXBlVHlwZTwvYT4JdHlwZQk6IFRoZSBraW5kIG9mIHR5cGUKKyAgICBzdHJ1Y3QgX3htbFNjaGVtYUZhY2V0ICoJbmV4dAk6IHRoZSBuZXh0IHR5cGUgaWYgaW4gYSBzZXF1ZW5jZSAuLi4KKyAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl2YWx1ZQk6IFRoZSBvcmlnaW5hbCB2YWx1ZQorICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCWlkCTogT2Jzb2xldGUKKyAgICA8YSBocmVmPSJsaWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYUFubm90UHRyIj54bWxTY2hlbWFBbm5vdFB0cjwvYT4JYW5ub3QKKyAgICA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CW5vZGUKKyAgICBpbnQJZml4ZWQJOiBYTUxfU0NIRU1BU19GQUNFVF9QUkVTRVJWRSwgZXRjLgorICAgIGludAl3aGl0ZXNwYWNlCisgICAgPGEgaHJlZj0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFWYWxQdHIiPnhtbFNjaGVtYVZhbFB0cjwvYT4JdmFsCTogVGhlIGNvbXBpbGVkIHZhbHVlCisgICAgPGEgaHJlZj0ibGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ2V4cFB0ciI+eG1sUmVnZXhwUHRyPC9hPglyZWdleHAJOiBUaGUgcmVnZXggZm9yIHBhdHRlcm5zCit9PC9wcmU+PGgzPjxhIG5hbWU9InhtbFNjaGVtYUZhY2V0TGluayIgaWQ9InhtbFNjaGVtYUZhY2V0TGluayI+U3RydWN0dXJlIHhtbFNjaGVtYUZhY2V0TGluazwvYT48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgeG1sU2NoZW1hRmFjZXRMaW5rPGJyIC8+c3RydWN0IF94bWxTY2hlbWFGYWNldExpbmsgeworICAgIHN0cnVjdCBfeG1sU2NoZW1hRmFjZXRMaW5rICoJbmV4dAk6IHRoZSBuZXh0IGZhY2V0IGxpbmsgLi4uCisgICAgPGEgaHJlZj0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFGYWNldFB0ciI+eG1sU2NoZW1hRmFjZXRQdHI8L2E+CWZhY2V0CTogdGhlIGxpbmtlZCBmYWNldAorfTwvcHJlPjxoMz48YSBuYW1lPSJ4bWxTY2hlbWFOb3RhdGlvbiIgaWQ9InhtbFNjaGVtYU5vdGF0aW9uIj5TdHJ1Y3R1cmUgeG1sU2NoZW1hTm90YXRpb248L2E+PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+U3RydWN0dXJlIHhtbFNjaGVtYU5vdGF0aW9uPGJyIC8+c3RydWN0IF94bWxTY2hlbWFOb3RhdGlvbiB7CisgICAgPGEgaHJlZj0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFUeXBlVHlwZSI+eG1sU2NoZW1hVHlwZVR5cGU8L2E+CXR5cGUJOiBUaGUga2luZCBvZiB0eXBlCisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJbmFtZQorICAgIDxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hQW5ub3RQdHIiPnhtbFNjaGVtYUFubm90UHRyPC9hPglhbm5vdAorICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCWlkZW50aWZpZXIKKyAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl0YXJnZXROYW1lc3BhY2UKK308L3ByZT48aDM+PGEgbmFtZT0ieG1sU2NoZW1hVHlwZSIgaWQ9InhtbFNjaGVtYVR5cGUiPlN0cnVjdHVyZSB4bWxTY2hlbWFUeXBlPC9hPjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlN0cnVjdHVyZSB4bWxTY2hlbWFUeXBlPGJyIC8+c3RydWN0IF94bWxTY2hlbWFUeXBlIHsKKyAgICA8YSBocmVmPSJsaWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVR5cGVUeXBlIj54bWxTY2hlbWFUeXBlVHlwZTwvYT4JdHlwZQk6IFRoZSBraW5kIG9mIHR5cGUKKyAgICBzdHJ1Y3QgX3htbFNjaGVtYVR5cGUgKgluZXh0CTogdGhlIG5leHQgdHlwZSBpZiBpbiBhIHNlcXVlbmNlIC4uLgorICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCW5hbWUKKyAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKglpZAk6IERlcHJlY2F0ZWQ7IG5vdCB1c2VkCisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJcmVmCTogRGVwcmVjYXRlZDsgbm90IHVzZWQKKyAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKglyZWZOcwk6IERlcHJlY2F0ZWQ7IG5vdCB1c2VkCisgICAgPGEgaHJlZj0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFBbm5vdFB0ciI+eG1sU2NoZW1hQW5ub3RQdHI8L2E+CWFubm90CisgICAgPGEgaHJlZj0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFUeXBlUHRyIj54bWxTY2hlbWFUeXBlUHRyPC9hPglzdWJ0eXBlcworICAgIDxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hQXR0cmlidXRlUHRyIj54bWxTY2hlbWFBdHRyaWJ1dGVQdHI8L2E+CWF0dHJpYnV0ZXMJOiBEZXByZWNhdGVkOyBub3QgdXNlZAorICAgIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4Jbm9kZQorICAgIGludAltaW5PY2N1cnMJOiBEZXByZWNhdGVkOyBub3QgdXNlZAorICAgIGludAltYXhPY2N1cnMJOiBEZXByZWNhdGVkOyBub3QgdXNlZAorICAgIGludAlmbGFncworICAgIDxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hQ29udGVudFR5cGUiPnhtbFNjaGVtYUNvbnRlbnRUeXBlPC9hPgljb250ZW50VHlwZQorICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCWJhc2UJOiBCYXNlIHR5cGUncyBsb2NhbCBuYW1lCisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJYmFzZU5zCTogQmFzZSB0eXBlJ3MgdGFyZ2V0IG5hbWVzcGFjZQorICAgIDxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVHlwZVB0ciI+eG1sU2NoZW1hVHlwZVB0cjwvYT4JYmFzZVR5cGUJOiBUaGUgYmFzZSB0eXBlIGNvbXBvbmVudAorICAgIDxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hRmFjZXRQdHIiPnhtbFNjaGVtYUZhY2V0UHRyPC9hPglmYWNldHMJOiBMb2NhbCBmYWNldHMKKyAgICBzdHJ1Y3QgX3htbFNjaGVtYVR5cGUgKglyZWRlZgk6IERlcHJlY2F0ZWQ7IG5vdCB1c2VkCisgICAgaW50CXJlY3Vyc2UJOiBPYnNvbGV0ZQorICAgIDxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hQXR0cmlidXRlTGlua1B0ciI+eG1sU2NoZW1hQXR0cmlidXRlTGlua1B0cjwvYT4gKglhdHRyaWJ1dGVVc2VzCTogRGVwcmVjYXRlZDsgbm90IHVzZWQKKyAgICA8YSBocmVmPSJsaWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVdpbGRjYXJkUHRyIj54bWxTY2hlbWFXaWxkY2FyZFB0cjwvYT4JYXR0cmlidXRlV2lsZGNhcmQKKyAgICBpbnQJYnVpbHRJblR5cGUJOiBUeXBlIG9mIGJ1aWx0LWluIHR5cGVzLgorICAgIDxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVHlwZUxpbmtQdHIiPnhtbFNjaGVtYVR5cGVMaW5rUHRyPC9hPgltZW1iZXJUeXBlcwk6IG1lbWJlci10eXBlcyBpZiBhIHVuaW9uIHR5cGUuCisgICAgPGEgaHJlZj0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFGYWNldExpbmtQdHIiPnhtbFNjaGVtYUZhY2V0TGlua1B0cjwvYT4JZmFjZXRTZXQJOiBBbGwgZmFjZXRzIChpbmNsLiBpbmhlcml0ZWQpCisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJcmVmUHJlZml4CTogRGVwcmVjYXRlZDsgbm90IHVzZWQKKyAgICA8YSBocmVmPSJsaWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVR5cGVQdHIiPnhtbFNjaGVtYVR5cGVQdHI8L2E+CWNvbnRlbnRUeXBlRGVmCTogVXNlZCBmb3IgdGhlIHNpbXBsZSBjb250ZW50IG9mIGNvbXBsZXgKKyAgICA8YSBocmVmPSJsaWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnZXhwUHRyIj54bWxSZWdleHBQdHI8L2E+CWNvbnRNb2RlbAk6IEhvbGRzIHRoZSBhdXRvbWF0b24gb2YgdGhlIGNvbnRlbnQgbW9kZQorICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXRhcmdldE5hbWVzcGFjZQorICAgIHZvaWQgKglhdHRyVXNlcworfTwvcHJlPjxoMz48YSBuYW1lPSJ4bWxTY2hlbWFUeXBlTGluayIgaWQ9InhtbFNjaGVtYVR5cGVMaW5rIj5TdHJ1Y3R1cmUgeG1sU2NoZW1hVHlwZUxpbms8L2E+PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+U3RydWN0dXJlIHhtbFNjaGVtYVR5cGVMaW5rPGJyIC8+c3RydWN0IF94bWxTY2hlbWFUeXBlTGluayB7CisgICAgc3RydWN0IF94bWxTY2hlbWFUeXBlTGluayAqCW5leHQJOiB0aGUgbmV4dCB0eXBlIGxpbmsgLi4uCisgICAgPGEgaHJlZj0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFUeXBlUHRyIj54bWxTY2hlbWFUeXBlUHRyPC9hPgl0eXBlCTogdGhlIGxpbmtlZCB0eXBlCit9PC9wcmU+PGgzPkVudW0gPGEgbmFtZT0ieG1sU2NoZW1hVHlwZVR5cGUiIGlkPSJ4bWxTY2hlbWFUeXBlVHlwZSI+eG1sU2NoZW1hVHlwZVR5cGU8L2E+PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RW51bSB4bWxTY2hlbWFUeXBlVHlwZSB7CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQV9UWVBFX0JBU0lDIiBpZD0iWE1MX1NDSEVNQV9UWVBFX0JBU0lDIj5YTUxfU0NIRU1BX1RZUEVfQkFTSUM8L2E+ID0gMSA6IEEgYnVpbHQtaW4gZGF0YXR5cGUKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BX1RZUEVfQU5ZIiBpZD0iWE1MX1NDSEVNQV9UWVBFX0FOWSI+WE1MX1NDSEVNQV9UWVBFX0FOWTwvYT4gPSAyCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQV9UWVBFX0ZBQ0VUIiBpZD0iWE1MX1NDSEVNQV9UWVBFX0ZBQ0VUIj5YTUxfU0NIRU1BX1RZUEVfRkFDRVQ8L2E+ID0gMworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFfVFlQRV9TSU1QTEUiIGlkPSJYTUxfU0NIRU1BX1RZUEVfU0lNUExFIj5YTUxfU0NIRU1BX1RZUEVfU0lNUExFPC9hPiA9IDQKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BX1RZUEVfQ09NUExFWCIgaWQ9IlhNTF9TQ0hFTUFfVFlQRV9DT01QTEVYIj5YTUxfU0NIRU1BX1RZUEVfQ09NUExFWDwvYT4gPSA1CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQV9UWVBFX1NFUVVFTkNFIiBpZD0iWE1MX1NDSEVNQV9UWVBFX1NFUVVFTkNFIj5YTUxfU0NIRU1BX1RZUEVfU0VRVUVOQ0U8L2E+ID0gNgorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFfVFlQRV9DSE9JQ0UiIGlkPSJYTUxfU0NIRU1BX1RZUEVfQ0hPSUNFIj5YTUxfU0NIRU1BX1RZUEVfQ0hPSUNFPC9hPiA9IDcKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BX1RZUEVfQUxMIiBpZD0iWE1MX1NDSEVNQV9UWVBFX0FMTCI+WE1MX1NDSEVNQV9UWVBFX0FMTDwvYT4gPSA4CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQV9UWVBFX1NJTVBMRV9DT05URU5UIiBpZD0iWE1MX1NDSEVNQV9UWVBFX1NJTVBMRV9DT05URU5UIj5YTUxfU0NIRU1BX1RZUEVfU0lNUExFX0NPTlRFTlQ8L2E+ID0gOQorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFfVFlQRV9DT01QTEVYX0NPTlRFTlQiIGlkPSJYTUxfU0NIRU1BX1RZUEVfQ09NUExFWF9DT05URU5UIj5YTUxfU0NIRU1BX1RZUEVfQ09NUExFWF9DT05URU5UPC9hPiA9IDEwCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQV9UWVBFX1VSIiBpZD0iWE1MX1NDSEVNQV9UWVBFX1VSIj5YTUxfU0NIRU1BX1RZUEVfVVI8L2E+ID0gMTEKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BX1RZUEVfUkVTVFJJQ1RJT04iIGlkPSJYTUxfU0NIRU1BX1RZUEVfUkVTVFJJQ1RJT04iPlhNTF9TQ0hFTUFfVFlQRV9SRVNUUklDVElPTjwvYT4gPSAxMgorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFfVFlQRV9FWFRFTlNJT04iIGlkPSJYTUxfU0NIRU1BX1RZUEVfRVhURU5TSU9OIj5YTUxfU0NIRU1BX1RZUEVfRVhURU5TSU9OPC9hPiA9IDEzCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQV9UWVBFX0VMRU1FTlQiIGlkPSJYTUxfU0NIRU1BX1RZUEVfRUxFTUVOVCI+WE1MX1NDSEVNQV9UWVBFX0VMRU1FTlQ8L2E+ID0gMTQKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BX1RZUEVfQVRUUklCVVRFIiBpZD0iWE1MX1NDSEVNQV9UWVBFX0FUVFJJQlVURSI+WE1MX1NDSEVNQV9UWVBFX0FUVFJJQlVURTwvYT4gPSAxNQorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFfVFlQRV9BVFRSSUJVVEVHUk9VUCIgaWQ9IlhNTF9TQ0hFTUFfVFlQRV9BVFRSSUJVVEVHUk9VUCI+WE1MX1NDSEVNQV9UWVBFX0FUVFJJQlVURUdST1VQPC9hPiA9IDE2CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQV9UWVBFX0dST1VQIiBpZD0iWE1MX1NDSEVNQV9UWVBFX0dST1VQIj5YTUxfU0NIRU1BX1RZUEVfR1JPVVA8L2E+ID0gMTcKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BX1RZUEVfTk9UQVRJT04iIGlkPSJYTUxfU0NIRU1BX1RZUEVfTk9UQVRJT04iPlhNTF9TQ0hFTUFfVFlQRV9OT1RBVElPTjwvYT4gPSAxOAorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFfVFlQRV9MSVNUIiBpZD0iWE1MX1NDSEVNQV9UWVBFX0xJU1QiPlhNTF9TQ0hFTUFfVFlQRV9MSVNUPC9hPiA9IDE5CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQV9UWVBFX1VOSU9OIiBpZD0iWE1MX1NDSEVNQV9UWVBFX1VOSU9OIj5YTUxfU0NIRU1BX1RZUEVfVU5JT048L2E+ID0gMjAKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BX1RZUEVfQU5ZX0FUVFJJQlVURSIgaWQ9IlhNTF9TQ0hFTUFfVFlQRV9BTllfQVRUUklCVVRFIj5YTUxfU0NIRU1BX1RZUEVfQU5ZX0FUVFJJQlVURTwvYT4gPSAyMQorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFfVFlQRV9JRENfVU5JUVVFIiBpZD0iWE1MX1NDSEVNQV9UWVBFX0lEQ19VTklRVUUiPlhNTF9TQ0hFTUFfVFlQRV9JRENfVU5JUVVFPC9hPiA9IDIyCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQV9UWVBFX0lEQ19LRVkiIGlkPSJYTUxfU0NIRU1BX1RZUEVfSURDX0tFWSI+WE1MX1NDSEVNQV9UWVBFX0lEQ19LRVk8L2E+ID0gMjMKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BX1RZUEVfSURDX0tFWVJFRiIgaWQ9IlhNTF9TQ0hFTUFfVFlQRV9JRENfS0VZUkVGIj5YTUxfU0NIRU1BX1RZUEVfSURDX0tFWVJFRjwvYT4gPSAyNAorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFfVFlQRV9QQVJUSUNMRSIgaWQ9IlhNTF9TQ0hFTUFfVFlQRV9QQVJUSUNMRSI+WE1MX1NDSEVNQV9UWVBFX1BBUlRJQ0xFPC9hPiA9IDI1CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQV9UWVBFX0FUVFJJQlVURV9VU0UiIGlkPSJYTUxfU0NIRU1BX1RZUEVfQVRUUklCVVRFX1VTRSI+WE1MX1NDSEVNQV9UWVBFX0FUVFJJQlVURV9VU0U8L2E+ID0gMjYKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BX0ZBQ0VUX01JTklOQ0xVU0lWRSIgaWQ9IlhNTF9TQ0hFTUFfRkFDRVRfTUlOSU5DTFVTSVZFIj5YTUxfU0NIRU1BX0ZBQ0VUX01JTklOQ0xVU0lWRTwvYT4gPSAxMDAwCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQV9GQUNFVF9NSU5FWENMVVNJVkUiIGlkPSJYTUxfU0NIRU1BX0ZBQ0VUX01JTkVYQ0xVU0lWRSI+WE1MX1NDSEVNQV9GQUNFVF9NSU5FWENMVVNJVkU8L2E+ID0gMTAwMQorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFfRkFDRVRfTUFYSU5DTFVTSVZFIiBpZD0iWE1MX1NDSEVNQV9GQUNFVF9NQVhJTkNMVVNJVkUiPlhNTF9TQ0hFTUFfRkFDRVRfTUFYSU5DTFVTSVZFPC9hPiA9IDEwMDIKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BX0ZBQ0VUX01BWEVYQ0xVU0lWRSIgaWQ9IlhNTF9TQ0hFTUFfRkFDRVRfTUFYRVhDTFVTSVZFIj5YTUxfU0NIRU1BX0ZBQ0VUX01BWEVYQ0xVU0lWRTwvYT4gPSAxMDAzCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQV9GQUNFVF9UT1RBTERJR0lUUyIgaWQ9IlhNTF9TQ0hFTUFfRkFDRVRfVE9UQUxESUdJVFMiPlhNTF9TQ0hFTUFfRkFDRVRfVE9UQUxESUdJVFM8L2E+ID0gMTAwNAorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFfRkFDRVRfRlJBQ1RJT05ESUdJVFMiIGlkPSJYTUxfU0NIRU1BX0ZBQ0VUX0ZSQUNUSU9ORElHSVRTIj5YTUxfU0NIRU1BX0ZBQ0VUX0ZSQUNUSU9ORElHSVRTPC9hPiA9IDEwMDUKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BX0ZBQ0VUX1BBVFRFUk4iIGlkPSJYTUxfU0NIRU1BX0ZBQ0VUX1BBVFRFUk4iPlhNTF9TQ0hFTUFfRkFDRVRfUEFUVEVSTjwvYT4gPSAxMDA2CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQV9GQUNFVF9FTlVNRVJBVElPTiIgaWQ9IlhNTF9TQ0hFTUFfRkFDRVRfRU5VTUVSQVRJT04iPlhNTF9TQ0hFTUFfRkFDRVRfRU5VTUVSQVRJT048L2E+ID0gMTAwNworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFfRkFDRVRfV0hJVEVTUEFDRSIgaWQ9IlhNTF9TQ0hFTUFfRkFDRVRfV0hJVEVTUEFDRSI+WE1MX1NDSEVNQV9GQUNFVF9XSElURVNQQUNFPC9hPiA9IDEwMDgKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BX0ZBQ0VUX0xFTkdUSCIgaWQ9IlhNTF9TQ0hFTUFfRkFDRVRfTEVOR1RIIj5YTUxfU0NIRU1BX0ZBQ0VUX0xFTkdUSDwvYT4gPSAxMDA5CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQV9GQUNFVF9NQVhMRU5HVEgiIGlkPSJYTUxfU0NIRU1BX0ZBQ0VUX01BWExFTkdUSCI+WE1MX1NDSEVNQV9GQUNFVF9NQVhMRU5HVEg8L2E+ID0gMTAxMAorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFfRkFDRVRfTUlOTEVOR1RIIiBpZD0iWE1MX1NDSEVNQV9GQUNFVF9NSU5MRU5HVEgiPlhNTF9TQ0hFTUFfRkFDRVRfTUlOTEVOR1RIPC9hPiA9IDEwMTEKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BX0VYVFJBX1FOQU1FUkVGIiBpZD0iWE1MX1NDSEVNQV9FWFRSQV9RTkFNRVJFRiI+WE1MX1NDSEVNQV9FWFRSQV9RTkFNRVJFRjwvYT4gPSAyMDAwCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQV9FWFRSQV9BVFRSX1VTRV9QUk9ISUIiIGlkPSJYTUxfU0NIRU1BX0VYVFJBX0FUVFJfVVNFX1BST0hJQiI+WE1MX1NDSEVNQV9FWFRSQV9BVFRSX1VTRV9QUk9ISUI8L2E+ID0gMjAwMQorfQorPC9wcmU+PGgzPjxhIG5hbWU9InhtbFNjaGVtYVZhbCIgaWQ9InhtbFNjaGVtYVZhbCI+U3RydWN0dXJlIHhtbFNjaGVtYVZhbDwvYT48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgeG1sU2NoZW1hVmFsPGJyIC8+c3RydWN0IF94bWxTY2hlbWFWYWwgeworVGhlIGNvbnRlbnQgb2YgdGhpcyBzdHJ1Y3R1cmUgaXMgbm90IG1hZGUgcHVibGljIGJ5IHRoZSBBUEkuCit9PC9wcmU+PGgzPkVudW0gPGEgbmFtZT0ieG1sU2NoZW1hVmFsVHlwZSIgaWQ9InhtbFNjaGVtYVZhbFR5cGUiPnhtbFNjaGVtYVZhbFR5cGU8L2E+PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RW51bSB4bWxTY2hlbWFWYWxUeXBlIHsKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BU19VTktOT1dOIiBpZD0iWE1MX1NDSEVNQVNfVU5LTk9XTiI+WE1MX1NDSEVNQVNfVU5LTk9XTjwvYT4gPSAwCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVNfU1RSSU5HIiBpZD0iWE1MX1NDSEVNQVNfU1RSSU5HIj5YTUxfU0NIRU1BU19TVFJJTkc8L2E+ID0gMQorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFTX05PUk1TVFJJTkciIGlkPSJYTUxfU0NIRU1BU19OT1JNU1RSSU5HIj5YTUxfU0NIRU1BU19OT1JNU1RSSU5HPC9hPiA9IDIKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BU19ERUNJTUFMIiBpZD0iWE1MX1NDSEVNQVNfREVDSU1BTCI+WE1MX1NDSEVNQVNfREVDSU1BTDwvYT4gPSAzCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVNfVElNRSIgaWQ9IlhNTF9TQ0hFTUFTX1RJTUUiPlhNTF9TQ0hFTUFTX1RJTUU8L2E+ID0gNAorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFTX0dEQVkiIGlkPSJYTUxfU0NIRU1BU19HREFZIj5YTUxfU0NIRU1BU19HREFZPC9hPiA9IDUKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BU19HTU9OVEgiIGlkPSJYTUxfU0NIRU1BU19HTU9OVEgiPlhNTF9TQ0hFTUFTX0dNT05USDwvYT4gPSA2CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVNfR01PTlRIREFZIiBpZD0iWE1MX1NDSEVNQVNfR01PTlRIREFZIj5YTUxfU0NIRU1BU19HTU9OVEhEQVk8L2E+ID0gNworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFTX0dZRUFSIiBpZD0iWE1MX1NDSEVNQVNfR1lFQVIiPlhNTF9TQ0hFTUFTX0dZRUFSPC9hPiA9IDgKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BU19HWUVBUk1PTlRIIiBpZD0iWE1MX1NDSEVNQVNfR1lFQVJNT05USCI+WE1MX1NDSEVNQVNfR1lFQVJNT05USDwvYT4gPSA5CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVNfREFURSIgaWQ9IlhNTF9TQ0hFTUFTX0RBVEUiPlhNTF9TQ0hFTUFTX0RBVEU8L2E+ID0gMTAKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BU19EQVRFVElNRSIgaWQ9IlhNTF9TQ0hFTUFTX0RBVEVUSU1FIj5YTUxfU0NIRU1BU19EQVRFVElNRTwvYT4gPSAxMQorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFTX0RVUkFUSU9OIiBpZD0iWE1MX1NDSEVNQVNfRFVSQVRJT04iPlhNTF9TQ0hFTUFTX0RVUkFUSU9OPC9hPiA9IDEyCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVNfRkxPQVQiIGlkPSJYTUxfU0NIRU1BU19GTE9BVCI+WE1MX1NDSEVNQVNfRkxPQVQ8L2E+ID0gMTMKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BU19ET1VCTEUiIGlkPSJYTUxfU0NIRU1BU19ET1VCTEUiPlhNTF9TQ0hFTUFTX0RPVUJMRTwvYT4gPSAxNAorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFTX0JPT0xFQU4iIGlkPSJYTUxfU0NIRU1BU19CT09MRUFOIj5YTUxfU0NIRU1BU19CT09MRUFOPC9hPiA9IDE1CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVNfVE9LRU4iIGlkPSJYTUxfU0NIRU1BU19UT0tFTiI+WE1MX1NDSEVNQVNfVE9LRU48L2E+ID0gMTYKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BU19MQU5HVUFHRSIgaWQ9IlhNTF9TQ0hFTUFTX0xBTkdVQUdFIj5YTUxfU0NIRU1BU19MQU5HVUFHRTwvYT4gPSAxNworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFTX05NVE9LRU4iIGlkPSJYTUxfU0NIRU1BU19OTVRPS0VOIj5YTUxfU0NIRU1BU19OTVRPS0VOPC9hPiA9IDE4CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVNfTk1UT0tFTlMiIGlkPSJYTUxfU0NIRU1BU19OTVRPS0VOUyI+WE1MX1NDSEVNQVNfTk1UT0tFTlM8L2E+ID0gMTkKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BU19OQU1FIiBpZD0iWE1MX1NDSEVNQVNfTkFNRSI+WE1MX1NDSEVNQVNfTkFNRTwvYT4gPSAyMAorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFTX1FOQU1FIiBpZD0iWE1MX1NDSEVNQVNfUU5BTUUiPlhNTF9TQ0hFTUFTX1FOQU1FPC9hPiA9IDIxCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVNfTkNOQU1FIiBpZD0iWE1MX1NDSEVNQVNfTkNOQU1FIj5YTUxfU0NIRU1BU19OQ05BTUU8L2E+ID0gMjIKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BU19JRCIgaWQ9IlhNTF9TQ0hFTUFTX0lEIj5YTUxfU0NIRU1BU19JRDwvYT4gPSAyMworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFTX0lEUkVGIiBpZD0iWE1MX1NDSEVNQVNfSURSRUYiPlhNTF9TQ0hFTUFTX0lEUkVGPC9hPiA9IDI0CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVNfSURSRUZTIiBpZD0iWE1MX1NDSEVNQVNfSURSRUZTIj5YTUxfU0NIRU1BU19JRFJFRlM8L2E+ID0gMjUKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BU19FTlRJVFkiIGlkPSJYTUxfU0NIRU1BU19FTlRJVFkiPlhNTF9TQ0hFTUFTX0VOVElUWTwvYT4gPSAyNgorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFTX0VOVElUSUVTIiBpZD0iWE1MX1NDSEVNQVNfRU5USVRJRVMiPlhNTF9TQ0hFTUFTX0VOVElUSUVTPC9hPiA9IDI3CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVNfTk9UQVRJT04iIGlkPSJYTUxfU0NIRU1BU19OT1RBVElPTiI+WE1MX1NDSEVNQVNfTk9UQVRJT048L2E+ID0gMjgKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BU19BTllVUkkiIGlkPSJYTUxfU0NIRU1BU19BTllVUkkiPlhNTF9TQ0hFTUFTX0FOWVVSSTwvYT4gPSAyOQorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFTX0lOVEVHRVIiIGlkPSJYTUxfU0NIRU1BU19JTlRFR0VSIj5YTUxfU0NIRU1BU19JTlRFR0VSPC9hPiA9IDMwCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVNfTlBJTlRFR0VSIiBpZD0iWE1MX1NDSEVNQVNfTlBJTlRFR0VSIj5YTUxfU0NIRU1BU19OUElOVEVHRVI8L2E+ID0gMzEKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BU19OSU5URUdFUiIgaWQ9IlhNTF9TQ0hFTUFTX05JTlRFR0VSIj5YTUxfU0NIRU1BU19OSU5URUdFUjwvYT4gPSAzMgorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFTX05OSU5URUdFUiIgaWQ9IlhNTF9TQ0hFTUFTX05OSU5URUdFUiI+WE1MX1NDSEVNQVNfTk5JTlRFR0VSPC9hPiA9IDMzCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVNfUElOVEVHRVIiIGlkPSJYTUxfU0NIRU1BU19QSU5URUdFUiI+WE1MX1NDSEVNQVNfUElOVEVHRVI8L2E+ID0gMzQKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BU19JTlQiIGlkPSJYTUxfU0NIRU1BU19JTlQiPlhNTF9TQ0hFTUFTX0lOVDwvYT4gPSAzNQorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFTX1VJTlQiIGlkPSJYTUxfU0NIRU1BU19VSU5UIj5YTUxfU0NIRU1BU19VSU5UPC9hPiA9IDM2CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVNfTE9ORyIgaWQ9IlhNTF9TQ0hFTUFTX0xPTkciPlhNTF9TQ0hFTUFTX0xPTkc8L2E+ID0gMzcKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BU19VTE9ORyIgaWQ9IlhNTF9TQ0hFTUFTX1VMT05HIj5YTUxfU0NIRU1BU19VTE9ORzwvYT4gPSAzOAorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFTX1NIT1JUIiBpZD0iWE1MX1NDSEVNQVNfU0hPUlQiPlhNTF9TQ0hFTUFTX1NIT1JUPC9hPiA9IDM5CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVNfVVNIT1JUIiBpZD0iWE1MX1NDSEVNQVNfVVNIT1JUIj5YTUxfU0NIRU1BU19VU0hPUlQ8L2E+ID0gNDAKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BU19CWVRFIiBpZD0iWE1MX1NDSEVNQVNfQllURSI+WE1MX1NDSEVNQVNfQllURTwvYT4gPSA0MQorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFTX1VCWVRFIiBpZD0iWE1MX1NDSEVNQVNfVUJZVEUiPlhNTF9TQ0hFTUFTX1VCWVRFPC9hPiA9IDQyCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVNfSEVYQklOQVJZIiBpZD0iWE1MX1NDSEVNQVNfSEVYQklOQVJZIj5YTUxfU0NIRU1BU19IRVhCSU5BUlk8L2E+ID0gNDMKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BU19CQVNFNjRCSU5BUlkiIGlkPSJYTUxfU0NIRU1BU19CQVNFNjRCSU5BUlkiPlhNTF9TQ0hFTUFTX0JBU0U2NEJJTkFSWTwvYT4gPSA0NAorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFTX0FOWVRZUEUiIGlkPSJYTUxfU0NIRU1BU19BTllUWVBFIj5YTUxfU0NIRU1BU19BTllUWVBFPC9hPiA9IDQ1CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVNfQU5ZU0lNUExFVFlQRSIgaWQ9IlhNTF9TQ0hFTUFTX0FOWVNJTVBMRVRZUEUiPlhNTF9TQ0hFTUFTX0FOWVNJTVBMRVRZUEU8L2E+ID0gNDYKK30KKzwvcHJlPjxoMz48YSBuYW1lPSJ4bWxTY2hlbWFXaWxkY2FyZCIgaWQ9InhtbFNjaGVtYVdpbGRjYXJkIj5TdHJ1Y3R1cmUgeG1sU2NoZW1hV2lsZGNhcmQ8L2E+PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+U3RydWN0dXJlIHhtbFNjaGVtYVdpbGRjYXJkPGJyIC8+c3RydWN0IF94bWxTY2hlbWFXaWxkY2FyZCB7CisgICAgPGEgaHJlZj0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFUeXBlVHlwZSI+eG1sU2NoZW1hVHlwZVR5cGU8L2E+CXR5cGUJOiBUaGUga2luZCBvZiB0eXBlCisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJaWQJOiBEZXByZWNhdGVkOyBub3QgdXNlZAorICAgIDxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hQW5ub3RQdHIiPnhtbFNjaGVtYUFubm90UHRyPC9hPglhbm5vdAorICAgIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4Jbm9kZQorICAgIGludAltaW5PY2N1cnMJOiBEZXByZWNhdGVkOyBub3QgdXNlZAorICAgIGludAltYXhPY2N1cnMJOiBEZXByZWNhdGVkOyBub3QgdXNlZAorICAgIGludAlwcm9jZXNzQ29udGVudHMKKyAgICBpbnQJYW55CTogSW5kaWNhdGVzIGlmIHRoZSBucyBjb25zdHJhaW50IGlzIG9mICMjCisgICAgPGEgaHJlZj0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFXaWxkY2FyZE5zUHRyIj54bWxTY2hlbWFXaWxkY2FyZE5zUHRyPC9hPgluc1NldAk6IFRoZSBsaXN0IG9mIGFsbG93ZWQgbmFtZXNwYWNlcworICAgIDxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hV2lsZGNhcmROc1B0ciI+eG1sU2NoZW1hV2lsZGNhcmROc1B0cjwvYT4JbmVnTnNTZXQJOiBUaGUgbmVnYXRlZCBuYW1lc3BhY2UKKyAgICBpbnQJZmxhZ3MKK308L3ByZT48aDM+PGEgbmFtZT0ieG1sU2NoZW1hV2lsZGNhcmROcyIgaWQ9InhtbFNjaGVtYVdpbGRjYXJkTnMiPlN0cnVjdHVyZSB4bWxTY2hlbWFXaWxkY2FyZE5zPC9hPjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlN0cnVjdHVyZSB4bWxTY2hlbWFXaWxkY2FyZE5zPGJyIC8+c3RydWN0IF94bWxTY2hlbWFXaWxkY2FyZE5zIHsKKyAgICBzdHJ1Y3QgX3htbFNjaGVtYVdpbGRjYXJkTnMgKgluZXh0CTogdGhlIG5leHQgY29uc3RyYWludCBsaW5rIC4uLgorICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXZhbHVlCTogdGhlIHZhbHVlCit9PC9wcmU+PGgzPjxhIG5hbWU9InhtbFNjaGVtYUZyZWVUeXBlIiBpZD0ieG1sU2NoZW1hRnJlZVR5cGUiPjwvYT5GdW5jdGlvbjogeG1sU2NoZW1hRnJlZVR5cGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFNjaGVtYUZyZWVUeXBlCQkoPGEgaHJlZj0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFUeXBlUHRyIj54bWxTY2hlbWFUeXBlUHRyPC9hPiB0eXBlKTxiciAvPgorPC9wcmU+PHA+RGVhbGxvY2F0ZSBhIFNjaGVtYSBUeXBlIHN0cnVjdHVyZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50eXBlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHNjaGVtYSB0eXBlIHN0cnVjdHVyZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFNjaGVtYUZyZWVXaWxkY2FyZCIgaWQ9InhtbFNjaGVtYUZyZWVXaWxkY2FyZCI+PC9hPkZ1bmN0aW9uOiB4bWxTY2hlbWFGcmVlV2lsZGNhcmQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFNjaGVtYUZyZWVXaWxkY2FyZAkJKDxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hV2lsZGNhcmRQdHIiPnhtbFNjaGVtYVdpbGRjYXJkUHRyPC9hPiB3aWxkY2FyZCk8YnIgLz4KKzwvcHJlPjxwPkRlYWxsb2NhdGVzIGEgd2lsZGNhcmQgc3RydWN0dXJlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PndpbGRjYXJkPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHdpbGRjYXJkIHN0cnVjdHVyZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PHA+PGEgaHJlZj0iLi4vYnVncy5odG1sIj5EYW5pZWwgVmVpbGxhcmQ8L2E+PC9wPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9odG1sL2xpYnhtbC1zY2hlbWF0cm9uLmh0bWwgYi9saWJ4bWwyL2RvYy9odG1sL2xpYnhtbC1zY2hlbWF0cm9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTYyMGZhNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL2h0bWwvbGlieG1sLXNjaGVtYXRyb24uaHRtbApAQCAtMCwwICsxLDgxIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPgorPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPjxoZWFkPjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPjxsaW5rIHJlbD0iU0hPUlRDVVQgSUNPTiIgaHJlZj0iL2Zhdmljb24uaWNvIiAvPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CitURCB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorQk9EWSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhOyBtYXJnaW4tdG9wOiAyZW07IG1hcmdpbi1sZWZ0OiAwZW07IG1hcmdpbi1yaWdodDogMGVtfQorSDEge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gyIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMyB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorQTpsaW5rLCBBOnZpc2l0ZWQsIEE6YWN0aXZlIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgfQorPC9zdHlsZT48c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorICAgICAgZGl2LmRlcHJlY2F0ZWQgcHJlLnByb2dyYW1saXN0aW5nIHtib3JkZXItc3R5bGU6IGRvdWJsZTtib3JkZXItY29sb3I6cmVkfQorICAgICAgcHJlLnByb2dyYW1saXN0aW5nIHtib3JkZXItc3R5bGU6IGRvdWJsZTtiYWNrZ3JvdW5kOiAjRUVDRkExfQorICAgIDwvc3R5bGU+PHRpdGxlPk1vZHVsZSBzY2hlbWF0cm9uIGZyb20gbGlieG1sMjwvdGl0bGU+PC9oZWFkPjxib2R5IGJnY29sb3I9IiM4Yjc3NjUiIHRleHQ9IiMwMDAwMDAiIGxpbms9IiNhMDYwNjAiIHZsaW5rPSIjMDAwMDAwIj48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iMTAwJSIgY2VsbHBhZGRpbmc9IjUiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIHdpZHRoPSIxMjAiPjxhIGhyZWY9Imh0dHA6Ly9zd3BhdC5mZmlpLm9yZy8iPjxpbWcgc3JjPSIuLi9lcGF0ZW50cy5wbmciIGFsdD0iQWN0aW9uIGFnYWluc3Qgc29mdHdhcmUgcGF0ZW50cyIgLz48L2E+PC90ZD48dGQgd2lkdGg9IjE4MCI+PGEgaHJlZj0iaHR0cDovL3d3dy5nbm9tZS5vcmcvIj48aW1nIHNyYz0iLi4vZ25vbWUyLnBuZyIgYWx0PSJHbm9tZTIgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvU3RhdHVzIj48aW1nIHNyYz0iLi4vdzNjLnBuZyIgYWx0PSJXM0MgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy5yZWRoYXQuY29tLyI+PGltZyBzcmM9Ii4uL3JlZGhhdC5naWYiIGFsdD0iUmVkIEhhdCBMb2dvIiAvPjwvYT48ZGl2IGFsaWduPSJsZWZ0Ij48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvIj48aW1nIHNyYz0iLi4vTGlieG1sMi1Mb2dvLTE4MHgxNjguZ2lmIiBhbHQ9Ik1hZGUgd2l0aCBMaWJ4bWwyIExvZ28iIC8+PC9hPjwvZGl2PjwvdGQ+PHRkPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSI5MCUiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIiBiZ2NvbG9yPSIjZmZmYWNkIj48dHI+PHRkIGFsaWduPSJjZW50ZXIiPjxoMT48L2gxPjxoMj5Nb2R1bGUgc2NoZW1hdHJvbiBmcm9tIGxpYnhtbDI8L2gyPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI0IiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCB2YWxpZ249InRvcCIgd2lkdGg9IjIwMCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+QVBJIE1lbnU8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PGZvcm0gYWN0aW9uPSIuLi9zZWFyY2gucGhwIiBlbmN0eXBlPSJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiIG1ldGhvZD0iZ2V0Ij48aW5wdXQgbmFtZT0icXVlcnkiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iIiAvPjxpbnB1dCBuYW1lPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNlYXJjaCAuLi4iIC8+PC9mb3JtPjx1bD48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9Ii4uL2luZGV4Lmh0bWwiPk1haW4gTWVudTwvYT48L2xpPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iLi4vZG9jcy5odG1sIj5EZXZlbG9wZXIgTWVudTwvYT48L2xpPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iLi4vZXhhbXBsZXMvaW5kZXguaHRtbCI+Q29kZSBFeGFtcGxlczwvYT48L2xpPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iaW5kZXguaHRtbCI+QVBJIE1lbnU8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXBhcnNlci5odG1sIj5QYXJzZXIgQVBJPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwiPlRyZWUgQVBJPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCI+UmVhZGVyIEFQSTwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9ndWlkZWxpbmVzLmh0bWwiPlhNTCBHdWlkZWxpbmVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0NoYW5nZUxvZy5odG1sIj5DaGFuZ2VMb2c8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5BUEkgSW5kZXhlczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9Ii4uL0FQSWNodW5rMC5odG1sIj5BbHBoYWJldGljPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSWNvbnN0cnVjdG9ycy5odG1sIj5Db25zdHJ1Y3RvcnM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJZnVuY3Rpb25zLmh0bWwiPkZ1bmN0aW9ucy9UeXBlczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUElmaWxlcy5odG1sIj5Nb2R1bGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSXN5bWJvbHMuaHRtbCI+U3ltYm9sczwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPlJlbGF0ZWQgbGlua3M8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSJodHRwOi8vbWFpbC5nbm9tZS5vcmcvYXJjaGl2ZXMveG1sLyI+TWFpbCBhcmNoaXZlPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9YU0xULyI+WFNMVCBsaWJ4c2x0PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9waGQuY3MudW5pYm8uaXQvZ2RvbWUyLyI+RE9NIGdkb21lMjwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmFsZWtzZXkuY29tL3htbHNlYy8iPlhNTC1EU2lnIHhtbHNlYzwvYT48L2xpPjxsaT48YSBocmVmPSJmdHA6Ly94bWxzb2Z0Lm9yZy8iPkZUUDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnpsYXRrb3ZpYy5jb20vcHJvamVjdHMvbGlieG1sLyI+V2luZG93cyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vb3BlbmNzdy5vcmcvcGFja2FnZXMvbGlieG1sMiI+U29sYXJpcyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmV4cGxhaW4uY29tLmF1L29zcy9saWJ4bWwyeHNsdC5odG1sIj5NYWNPc1ggYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2x4bWwuZGUvIj5seG1sIFB5dGhvbiBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vY3Bhbi51d2lubmlwZWcuY2EvZGlzdC9YTUwtTGliWE1MIj5QZXJsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWxwbHVzcGx1cy5zb3VyY2Vmb3JnZS5uZXQvIj5DKysgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56ZW5kLmNvbS9waHA1L2FydGljbGVzL3BocDUteG1scGhwLnBocCNIZWFkaW5nNCI+UEhQIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbGlieG1sMi1wYXMvIj5QYXNjYWwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbC5ydWJ5Zm9yZ2Uub3JnLyI+UnVieSBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vdGNseG1sLnNvdXJjZWZvcmdlLm5ldC8iPlRjbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2J1Z2xpc3QuY2dpP3Byb2R1Y3Q9bGlieG1sMiI+QnVnIFRyYWNrZXI8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dGFibGUgY2xhc3M9Im5hdmlnYXRpb24iIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIyIj48dHIgdmFsaWduPSJtaWRkbGUiPjx0ZD48YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwiPjxpbWcgc3JjPSJsZWZ0LnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iUHJldiIgLz48L2E+PC90ZD48dGggYWxpZ249ImxlZnQiPjxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwiPnNjaGVtYXNJbnRlcm5hbHM8L2E+PC90aD48dGQ+PGEgYWNjZXNza2V5PSJ1IiBocmVmPSJpbmRleC5odG1sIj48aW1nIHNyYz0idXAucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJVcCIgLz48L2E+PC90ZD48dGggYWxpZ249ImxlZnQiPjxhIGhyZWY9ImluZGV4Lmh0bWwiPkFQSSBkb2N1bWVudGF0aW9uPC9hPjwvdGg+PHRkPjxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iLi4vaW5kZXguaHRtbCI+PGltZyBzcmM9ImhvbWUucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJIb21lIiAvPjwvYT48L3RkPjx0aCBhbGlnbj0iY2VudGVyIj48YSBocmVmPSIuLi9pbmRleC5odG1sIj5UaGUgWE1MIEMgcGFyc2VyIGFuZCB0b29sa2l0IG9mIEdub21lPC9hPjwvdGg+PHRoIGFsaWduPSJyaWdodCI+PGEgaHJlZj0ibGlieG1sLXRocmVhZHMuaHRtbCI+dGhyZWFkczwvYT48L3RoPjx0ZD48YSBhY2Nlc3NrZXk9Im4iIGhyZWY9ImxpYnhtbC10aHJlYWRzLmh0bWwiPjxpbWcgc3JjPSJyaWdodC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9Ik5leHQiIC8+PC9hPjwvdGQ+PC90cj48L3RhYmxlPjxwPmludGVyZmFjZSB0byB0aGUgWE1MIFNjaGVtYXRyb24gdmFsaWRpdHkgY2hlY2tpbmcuIDwvcD48aDI+VGFibGUgb2YgQ29udGVudHM8L2gyPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgPGEgaHJlZj0iI3htbFNjaGVtYXRyb24iPnhtbFNjaGVtYXRyb248L2E+PGJyIC8+c3RydWN0IF94bWxTY2hlbWF0cm9uCitUaGUgY29udGVudCBvZiB0aGlzIHN0cnVjdHVyZSBpcyBub3QgbWFkZSBwdWJsaWMgYnkgdGhlIEFQSS4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgPGEgaHJlZj0iI3htbFNjaGVtYXRyb25QYXJzZXJDdHh0Ij54bWxTY2hlbWF0cm9uUGFyc2VyQ3R4dDwvYT48YnIgLz5zdHJ1Y3QgX3htbFNjaGVtYXRyb25QYXJzZXJDdHh0CitUaGUgY29udGVudCBvZiB0aGlzIHN0cnVjdHVyZSBpcyBub3QgbWFkZSBwdWJsaWMgYnkgdGhlIEFQSS4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5UeXBlZGVmIDxhIGhyZWY9ImxpYnhtbC1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvblBhcnNlckN0eHQiPnhtbFNjaGVtYXRyb25QYXJzZXJDdHh0PC9hPiAqIDxhIG5hbWU9InhtbFNjaGVtYXRyb25QYXJzZXJDdHh0UHRyIiBpZD0ieG1sU2NoZW1hdHJvblBhcnNlckN0eHRQdHIiPnhtbFNjaGVtYXRyb25QYXJzZXJDdHh0UHRyPC9hPgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlR5cGVkZWYgPGEgaHJlZj0ibGlieG1sLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uIj54bWxTY2hlbWF0cm9uPC9hPiAqIDxhIG5hbWU9InhtbFNjaGVtYXRyb25QdHIiIGlkPSJ4bWxTY2hlbWF0cm9uUHRyIj54bWxTY2hlbWF0cm9uUHRyPC9hPgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlN0cnVjdHVyZSA8YSBocmVmPSIjeG1sU2NoZW1hdHJvblZhbGlkQ3R4dCI+eG1sU2NoZW1hdHJvblZhbGlkQ3R4dDwvYT48YnIgLz5zdHJ1Y3QgX3htbFNjaGVtYXRyb25WYWxpZEN0eHQKK1RoZSBjb250ZW50IG9mIHRoaXMgc3RydWN0dXJlIGlzIG5vdCBtYWRlIHB1YmxpYyBieSB0aGUgQVBJLgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlR5cGVkZWYgPGEgaHJlZj0ibGlieG1sLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uVmFsaWRDdHh0Ij54bWxTY2hlbWF0cm9uVmFsaWRDdHh0PC9hPiAqIDxhIG5hbWU9InhtbFNjaGVtYXRyb25WYWxpZEN0eHRQdHIiIGlkPSJ4bWxTY2hlbWF0cm9uVmFsaWRDdHh0UHRyIj54bWxTY2hlbWF0cm9uVmFsaWRDdHh0UHRyPC9hPgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkVudW0gPGEgaHJlZj0iI3htbFNjaGVtYXRyb25WYWxpZE9wdGlvbnMiPnhtbFNjaGVtYXRyb25WYWxpZE9wdGlvbnM8L2E+Cis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sU2NoZW1hdHJvbkZyZWUiPnhtbFNjaGVtYXRyb25GcmVlPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvblB0ciI+eG1sU2NoZW1hdHJvblB0cjwvYT4gc2NoZW1hKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFNjaGVtYXRyb25GcmVlUGFyc2VyQ3R4dCI+eG1sU2NoZW1hdHJvbkZyZWVQYXJzZXJDdHh0PC9hPgkoPGEgaHJlZj0ibGlieG1sLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uUGFyc2VyQ3R4dFB0ciI+eG1sU2NoZW1hdHJvblBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sU2NoZW1hdHJvbkZyZWVWYWxpZEN0eHQiPnhtbFNjaGVtYXRyb25GcmVlVmFsaWRDdHh0PC9hPgkoPGEgaHJlZj0ibGlieG1sLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uVmFsaWRDdHh0UHRyIj54bWxTY2hlbWF0cm9uVmFsaWRDdHh0UHRyPC9hPiBjdHh0KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvblBhcnNlckN0eHRQdHIiPnhtbFNjaGVtYXRyb25QYXJzZXJDdHh0UHRyPC9hPgk8YSBocmVmPSIjeG1sU2NoZW1hdHJvbk5ld0RvY1BhcnNlckN0eHQiPnhtbFNjaGVtYXRyb25OZXdEb2NQYXJzZXJDdHh0PC9hPgkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvblBhcnNlckN0eHRQdHIiPnhtbFNjaGVtYXRyb25QYXJzZXJDdHh0UHRyPC9hPgk8YSBocmVmPSIjeG1sU2NoZW1hdHJvbk5ld01lbVBhcnNlckN0eHQiPnhtbFNjaGVtYXRyb25OZXdNZW1QYXJzZXJDdHh0PC9hPgkoY29uc3QgY2hhciAqIGJ1ZmZlciwgPGJyIC8+CQkJCQkJCSBpbnQgc2l6ZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtc2NoZW1hdHJvbi5odG1sI3htbFNjaGVtYXRyb25QYXJzZXJDdHh0UHRyIj54bWxTY2hlbWF0cm9uUGFyc2VyQ3R4dFB0cjwvYT4JPGEgaHJlZj0iI3htbFNjaGVtYXRyb25OZXdQYXJzZXJDdHh0Ij54bWxTY2hlbWF0cm9uTmV3UGFyc2VyQ3R4dDwvYT4JKGNvbnN0IGNoYXIgKiBVUkwpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uVmFsaWRDdHh0UHRyIj54bWxTY2hlbWF0cm9uVmFsaWRDdHh0UHRyPC9hPgk8YSBocmVmPSIjeG1sU2NoZW1hdHJvbk5ld1ZhbGlkQ3R4dCI+eG1sU2NoZW1hdHJvbk5ld1ZhbGlkQ3R4dDwvYT4JKDxhIGhyZWY9ImxpYnhtbC1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvblB0ciI+eG1sU2NoZW1hdHJvblB0cjwvYT4gc2NoZW1hLCA8YnIgLz4JCQkJCQkJIGludCBvcHRpb25zKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvblB0ciI+eG1sU2NoZW1hdHJvblB0cjwvYT4JPGEgaHJlZj0iI3htbFNjaGVtYXRyb25QYXJzZSI+eG1sU2NoZW1hdHJvblBhcnNlPC9hPgkoPGEgaHJlZj0ibGlieG1sLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uUGFyc2VyQ3R4dFB0ciI+eG1sU2NoZW1hdHJvblBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sU2NoZW1hdHJvblNldFZhbGlkU3RydWN0dXJlZEVycm9ycyI+eG1sU2NoZW1hdHJvblNldFZhbGlkU3RydWN0dXJlZEVycm9yczwvYT4JKDxhIGhyZWY9ImxpYnhtbC1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvblZhbGlkQ3R4dFB0ciI+eG1sU2NoZW1hdHJvblZhbGlkQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxlcnJvci5odG1sI3htbFN0cnVjdHVyZWRFcnJvckZ1bmMiPnhtbFN0cnVjdHVyZWRFcnJvckZ1bmM8L2E+IHNlcnJvciwgPGJyIC8+CQkJCQkJIHZvaWQgKiBjdHgpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxTY2hlbWF0cm9uVmFsaWRhdGVEb2MiPnhtbFNjaGVtYXRyb25WYWxpZGF0ZURvYzwvYT4JKDxhIGhyZWY9ImxpYnhtbC1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvblZhbGlkQ3R4dFB0ciI+eG1sU2NoZW1hdHJvblZhbGlkQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gaW5zdGFuY2UpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RnVuY3Rpb24gdHlwZTogPGEgaHJlZj0iI3htbFNjaGVtYXRyb25WYWxpZGl0eUVycm9yRnVuYyI+eG1sU2NoZW1hdHJvblZhbGlkaXR5RXJyb3JGdW5jPC9hPgordm9pZAk8YSBocmVmPSIjeG1sU2NoZW1hdHJvblZhbGlkaXR5RXJyb3JGdW5jIj54bWxTY2hlbWF0cm9uVmFsaWRpdHlFcnJvckZ1bmM8L2E+CSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogbXNnLCA8YnIgLz4JCQkJCSAuLi4gLi4uKQorPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RnVuY3Rpb24gdHlwZTogPGEgaHJlZj0iI3htbFNjaGVtYXRyb25WYWxpZGl0eVdhcm5pbmdGdW5jIj54bWxTY2hlbWF0cm9uVmFsaWRpdHlXYXJuaW5nRnVuYzwvYT4KK3ZvaWQJPGEgaHJlZj0iI3htbFNjaGVtYXRyb25WYWxpZGl0eVdhcm5pbmdGdW5jIj54bWxTY2hlbWF0cm9uVmFsaWRpdHlXYXJuaW5nRnVuYzwvYT4JKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJCSBjb25zdCBjaGFyICogbXNnLCA8YnIgLz4JCQkJCQkgLi4uIC4uLikKKzwvcHJlPgorPGgyPkRlc2NyaXB0aW9uPC9oMj4KKzxoMz48YSBuYW1lPSJ4bWxTY2hlbWF0cm9uIiBpZD0ieG1sU2NoZW1hdHJvbiI+U3RydWN0dXJlIHhtbFNjaGVtYXRyb248L2E+PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+U3RydWN0dXJlIHhtbFNjaGVtYXRyb248YnIgLz5zdHJ1Y3QgX3htbFNjaGVtYXRyb24geworVGhlIGNvbnRlbnQgb2YgdGhpcyBzdHJ1Y3R1cmUgaXMgbm90IG1hZGUgcHVibGljIGJ5IHRoZSBBUEkuCit9PC9wcmU+PGgzPjxhIG5hbWU9InhtbFNjaGVtYXRyb25QYXJzZXJDdHh0IiBpZD0ieG1sU2NoZW1hdHJvblBhcnNlckN0eHQiPlN0cnVjdHVyZSB4bWxTY2hlbWF0cm9uUGFyc2VyQ3R4dDwvYT48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgeG1sU2NoZW1hdHJvblBhcnNlckN0eHQ8YnIgLz5zdHJ1Y3QgX3htbFNjaGVtYXRyb25QYXJzZXJDdHh0IHsKK1RoZSBjb250ZW50IG9mIHRoaXMgc3RydWN0dXJlIGlzIG5vdCBtYWRlIHB1YmxpYyBieSB0aGUgQVBJLgorfTwvcHJlPjxoMz48YSBuYW1lPSJ4bWxTY2hlbWF0cm9uVmFsaWRDdHh0IiBpZD0ieG1sU2NoZW1hdHJvblZhbGlkQ3R4dCI+U3RydWN0dXJlIHhtbFNjaGVtYXRyb25WYWxpZEN0eHQ8L2E+PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+U3RydWN0dXJlIHhtbFNjaGVtYXRyb25WYWxpZEN0eHQ8YnIgLz5zdHJ1Y3QgX3htbFNjaGVtYXRyb25WYWxpZEN0eHQgeworVGhlIGNvbnRlbnQgb2YgdGhpcyBzdHJ1Y3R1cmUgaXMgbm90IG1hZGUgcHVibGljIGJ5IHRoZSBBUEkuCit9PC9wcmU+PGgzPkVudW0gPGEgbmFtZT0ieG1sU2NoZW1hdHJvblZhbGlkT3B0aW9ucyIgaWQ9InhtbFNjaGVtYXRyb25WYWxpZE9wdGlvbnMiPnhtbFNjaGVtYXRyb25WYWxpZE9wdGlvbnM8L2E+PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RW51bSB4bWxTY2hlbWF0cm9uVmFsaWRPcHRpb25zIHsKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BVFJPTl9PVVRfUVVJRVQiIGlkPSJYTUxfU0NIRU1BVFJPTl9PVVRfUVVJRVQiPlhNTF9TQ0hFTUFUUk9OX09VVF9RVUlFVDwvYT4gPSAxIDogcXVpZXQgbm8gcmVwb3J0CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVRST05fT1VUX1RFWFQiIGlkPSJYTUxfU0NIRU1BVFJPTl9PVVRfVEVYVCI+WE1MX1NDSEVNQVRST05fT1VUX1RFWFQ8L2E+ID0gMiA6IGJ1aWxkIGEgdGV4dHVhbCByZXBvcnQKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BVFJPTl9PVVRfWE1MIiBpZD0iWE1MX1NDSEVNQVRST05fT1VUX1hNTCI+WE1MX1NDSEVNQVRST05fT1VUX1hNTDwvYT4gPSA0IDogb3V0cHV0IFNWUkwKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BVFJPTl9PVVRfRVJST1IiIGlkPSJYTUxfU0NIRU1BVFJPTl9PVVRfRVJST1IiPlhNTF9TQ0hFTUFUUk9OX09VVF9FUlJPUjwvYT4gPSA4IDogb3V0cHV0IHZpYSA8YSBocmVmPSJsaWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jIj54bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jPC9hPgorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFUUk9OX09VVF9GSUxFIiBpZD0iWE1MX1NDSEVNQVRST05fT1VUX0ZJTEUiPlhNTF9TQ0hFTUFUUk9OX09VVF9GSUxFPC9hPiA9IDI1NiA6IG91dHB1dCB0byBhIGZpbGUgZGVzY3JpcHRvcgorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFUUk9OX09VVF9CVUZGRVIiIGlkPSJYTUxfU0NIRU1BVFJPTl9PVVRfQlVGRkVSIj5YTUxfU0NIRU1BVFJPTl9PVVRfQlVGRkVSPC9hPiA9IDUxMiA6IG91dHB1dCB0byBhIGJ1ZmZlcgorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFUUk9OX09VVF9JTyIgaWQ9IlhNTF9TQ0hFTUFUUk9OX09VVF9JTyI+WE1MX1NDSEVNQVRST05fT1VUX0lPPC9hPiA9IDEwMjQgOiBvdXRwdXQgdG8gSS9PIG1lY2hhbmlzbQorfQorPC9wcmU+PGgzPjxhIG5hbWU9InhtbFNjaGVtYXRyb25GcmVlIiBpZD0ieG1sU2NoZW1hdHJvbkZyZWUiPjwvYT5GdW5jdGlvbjogeG1sU2NoZW1hdHJvbkZyZWU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFNjaGVtYXRyb25GcmVlCQkoPGEgaHJlZj0ibGlieG1sLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uUHRyIj54bWxTY2hlbWF0cm9uUHRyPC9hPiBzY2hlbWEpPGJyIC8+Cis8L3ByZT48cD5EZWFsbG9jYXRlIGEgU2NoZW1hdHJvbiBzdHJ1Y3R1cmUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2NoZW1hPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHNjaGVtYSBzdHJ1Y3R1cmU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTY2hlbWF0cm9uRnJlZVBhcnNlckN0eHQiIGlkPSJ4bWxTY2hlbWF0cm9uRnJlZVBhcnNlckN0eHQiPjwvYT5GdW5jdGlvbjogeG1sU2NoZW1hdHJvbkZyZWVQYXJzZXJDdHh0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxTY2hlbWF0cm9uRnJlZVBhcnNlckN0eHQJKDxhIGhyZWY9ImxpYnhtbC1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvblBhcnNlckN0eHRQdHIiPnhtbFNjaGVtYXRyb25QYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTxiciAvPgorPC9wcmU+PHA+RnJlZSB0aGUgcmVzb3VyY2VzIGFzc29jaWF0ZWQgdG8gdGhlIHNjaGVtYSBwYXJzZXIgY29udGV4dDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzY2hlbWEgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTY2hlbWF0cm9uRnJlZVZhbGlkQ3R4dCIgaWQ9InhtbFNjaGVtYXRyb25GcmVlVmFsaWRDdHh0Ij48L2E+RnVuY3Rpb246IHhtbFNjaGVtYXRyb25GcmVlVmFsaWRDdHh0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxTY2hlbWF0cm9uRnJlZVZhbGlkQ3R4dAkoPGEgaHJlZj0ibGlieG1sLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uVmFsaWRDdHh0UHRyIj54bWxTY2hlbWF0cm9uVmFsaWRDdHh0UHRyPC9hPiBjdHh0KTxiciAvPgorPC9wcmU+PHA+RnJlZSB0aGUgcmVzb3VyY2VzIGFzc29jaWF0ZWQgdG8gdGhlIHNjaGVtYSB2YWxpZGF0aW9uIGNvbnRleHQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc2NoZW1hIHZhbGlkYXRpb24gY29udGV4dDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFNjaGVtYXRyb25OZXdEb2NQYXJzZXJDdHh0IiBpZD0ieG1sU2NoZW1hdHJvbk5ld0RvY1BhcnNlckN0eHQiPjwvYT5GdW5jdGlvbjogeG1sU2NoZW1hdHJvbk5ld0RvY1BhcnNlckN0eHQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtc2NoZW1hdHJvbi5odG1sI3htbFNjaGVtYXRyb25QYXJzZXJDdHh0UHRyIj54bWxTY2hlbWF0cm9uUGFyc2VyQ3R4dFB0cjwvYT4JeG1sU2NoZW1hdHJvbk5ld0RvY1BhcnNlckN0eHQJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYyk8YnIgLz4KKzwvcHJlPjxwPkNyZWF0ZSBhbiBYTUwgU2NoZW1hdHJvbnMgcGFyc2UgY29udGV4dCBmb3IgdGhhdCBkb2N1bWVudC4gTkIuIFRoZSBkb2N1bWVudCBtYXkgYmUgbW9kaWZpZWQgZHVyaW5nIHRoZSBwYXJzaW5nIHByb2Nlc3MuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHByZXBhcnNlZCBkb2N1bWVudCB0cmVlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcGFyc2VyIGNvbnRleHQgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU2NoZW1hdHJvbk5ld01lbVBhcnNlckN0eHQiIGlkPSJ4bWxTY2hlbWF0cm9uTmV3TWVtUGFyc2VyQ3R4dCI+PC9hPkZ1bmN0aW9uOiB4bWxTY2hlbWF0cm9uTmV3TWVtUGFyc2VyQ3R4dDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvblBhcnNlckN0eHRQdHIiPnhtbFNjaGVtYXRyb25QYXJzZXJDdHh0UHRyPC9hPgl4bWxTY2hlbWF0cm9uTmV3TWVtUGFyc2VyQ3R4dAkoY29uc3QgY2hhciAqIGJ1ZmZlciwgPGJyIC8+CQkJCQkJCSBpbnQgc2l6ZSk8YnIgLz4KKzwvcHJlPjxwPkNyZWF0ZSBhbiBYTUwgU2NoZW1hdHJvbnMgcGFyc2UgY29udGV4dCBmb3IgdGhhdCBtZW1vcnkgYnVmZmVyIGV4cGVjdGVkIHRvIGNvbnRhaW4gYW4gWE1MIFNjaGVtYXRyb25zIGZpbGUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YnVmZmVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gYSBjaGFyIGFycmF5IGNvbnRhaW5pbmcgdGhlIHNjaGVtYXM8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNpemU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzaXplIG9mIHRoZSBhcnJheTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHBhcnNlciBjb250ZXh0IG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFNjaGVtYXRyb25OZXdQYXJzZXJDdHh0IiBpZD0ieG1sU2NoZW1hdHJvbk5ld1BhcnNlckN0eHQiPjwvYT5GdW5jdGlvbjogeG1sU2NoZW1hdHJvbk5ld1BhcnNlckN0eHQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtc2NoZW1hdHJvbi5odG1sI3htbFNjaGVtYXRyb25QYXJzZXJDdHh0UHRyIj54bWxTY2hlbWF0cm9uUGFyc2VyQ3R4dFB0cjwvYT4JeG1sU2NoZW1hdHJvbk5ld1BhcnNlckN0eHQJKGNvbnN0IGNoYXIgKiBVUkwpPGJyIC8+Cis8L3ByZT48cD5DcmVhdGUgYW4gWE1MIFNjaGVtYXRyb25zIHBhcnNlIGNvbnRleHQgZm9yIHRoYXQgZmlsZS9yZXNvdXJjZSBleHBlY3RlZCB0byBjb250YWluIGFuIFhNTCBTY2hlbWF0cm9ucyBmaWxlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlVSTDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxvY2F0aW9uIG9mIHRoZSBzY2hlbWE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwYXJzZXIgY29udGV4dCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTY2hlbWF0cm9uTmV3VmFsaWRDdHh0IiBpZD0ieG1sU2NoZW1hdHJvbk5ld1ZhbGlkQ3R4dCI+PC9hPkZ1bmN0aW9uOiB4bWxTY2hlbWF0cm9uTmV3VmFsaWRDdHh0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uVmFsaWRDdHh0UHRyIj54bWxTY2hlbWF0cm9uVmFsaWRDdHh0UHRyPC9hPgl4bWxTY2hlbWF0cm9uTmV3VmFsaWRDdHh0CSg8YSBocmVmPSJsaWJ4bWwtc2NoZW1hdHJvbi5odG1sI3htbFNjaGVtYXRyb25QdHIiPnhtbFNjaGVtYXRyb25QdHI8L2E+IHNjaGVtYSwgPGJyIC8+CQkJCQkJCSBpbnQgb3B0aW9ucyk8YnIgLz4KKzwvcHJlPjxwPkNyZWF0ZSBhbiBYTUwgU2NoZW1hdHJvbnMgdmFsaWRhdGlvbiBjb250ZXh0IGJhc2VkIG9uIHRoZSBnaXZlbiBzY2hlbWEuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2NoZW1hPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHByZWNvbXBpbGVkIFhNTCBTY2hlbWF0cm9uczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3B0aW9uczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBzZXQgb2YgPGEgaHJlZj0ibGlieG1sLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uVmFsaWRPcHRpb25zIj54bWxTY2hlbWF0cm9uVmFsaWRPcHRpb25zPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHZhbGlkYXRpb24gY29udGV4dCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTY2hlbWF0cm9uUGFyc2UiIGlkPSJ4bWxTY2hlbWF0cm9uUGFyc2UiPjwvYT5GdW5jdGlvbjogeG1sU2NoZW1hdHJvblBhcnNlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uUHRyIj54bWxTY2hlbWF0cm9uUHRyPC9hPgl4bWxTY2hlbWF0cm9uUGFyc2UJKDxhIGhyZWY9ImxpYnhtbC1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvblBhcnNlckN0eHRQdHIiPnhtbFNjaGVtYXRyb25QYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTxiciAvPgorPC9wcmU+PHA+cGFyc2UgYSBzY2hlbWEgZGVmaW5pdGlvbiByZXNvdXJjZSBhbmQgYnVpbGQgYW4gaW50ZXJuYWwgWE1MIFNoZW1hIHN0cnV0dXJlIHdoaWNoIGNhbiBiZSB1c2VkIHRvIHZhbGlkYXRlIGluc3RhbmNlcy48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHNjaGVtYSB2YWxpZGF0aW9uIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBpbnRlcm5hbCBYTUwgU2NoZW1hdHJvbiBzdHJ1Y3R1cmUgYnVpbHQgZnJvbSB0aGUgcmVzb3VyY2Ugb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU2NoZW1hdHJvblNldFZhbGlkU3RydWN0dXJlZEVycm9ycyIgaWQ9InhtbFNjaGVtYXRyb25TZXRWYWxpZFN0cnVjdHVyZWRFcnJvcnMiPjwvYT5GdW5jdGlvbjogeG1sU2NoZW1hdHJvblNldFZhbGlkU3RydWN0dXJlZEVycm9yczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sU2NoZW1hdHJvblNldFZhbGlkU3RydWN0dXJlZEVycm9ycwkoPGEgaHJlZj0ibGlieG1sLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uVmFsaWRDdHh0UHRyIj54bWxTY2hlbWF0cm9uVmFsaWRDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbGVycm9yLmh0bWwjeG1sU3RydWN0dXJlZEVycm9yRnVuYyI+eG1sU3RydWN0dXJlZEVycm9yRnVuYzwvYT4gc2Vycm9yLCA8YnIgLz4JCQkJCQkgdm9pZCAqIGN0eCk8YnIgLz4KKzwvcHJlPjxwPlNldCB0aGUgc3RydWN0dXJlZCBlcnJvciBjYWxsYmFjazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgU2NoZW1hdHJvbiB2YWxpZGF0aW9uIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNlcnJvcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHN0cnVjdHVyZWQgZXJyb3IgZnVuY3Rpb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZ1bmN0aW9ucyBjb250ZXh0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU2NoZW1hdHJvblZhbGlkYXRlRG9jIiBpZD0ieG1sU2NoZW1hdHJvblZhbGlkYXRlRG9jIj48L2E+RnVuY3Rpb246IHhtbFNjaGVtYXRyb25WYWxpZGF0ZURvYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxTY2hlbWF0cm9uVmFsaWRhdGVEb2MJKDxhIGhyZWY9ImxpYnhtbC1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvblZhbGlkQ3R4dFB0ciI+eG1sU2NoZW1hdHJvblZhbGlkQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gaW5zdGFuY2UpPGJyIC8+Cis8L3ByZT48cD5WYWxpZGF0ZSBhIHRyZWUgaW5zdGFuY2UgYWdhaW5zdCB0aGUgc2NoZW1hdHJvbjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzY2hlbWEgdmFsaWRhdGlvbiBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pbnN0YW5jZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50IGluc3RhY2UgdHJlZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpbiBjYXNlIG9mIHN1Y2Nlc3MsIC0xIGluIGNhc2Ugb2YgaW50ZXJuYWwgZXJyb3IgYW5kIGFuIGVycm9yIGNvdW50IG90aGVyd2lzZS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTY2hlbWF0cm9uVmFsaWRpdHlFcnJvckZ1bmMiIGlkPSJ4bWxTY2hlbWF0cm9uVmFsaWRpdHlFcnJvckZ1bmMiPjwvYT5GdW5jdGlvbiB0eXBlOiB4bWxTY2hlbWF0cm9uVmFsaWRpdHlFcnJvckZ1bmM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5GdW5jdGlvbiB0eXBlOiB4bWxTY2hlbWF0cm9uVmFsaWRpdHlFcnJvckZ1bmMKK3ZvaWQJeG1sU2NoZW1hdHJvblZhbGlkaXR5RXJyb3JGdW5jCSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogbXNnLCA8YnIgLz4JCQkJCSAuLi4gLi4uKQorPC9wcmU+PHA+U2lnbmF0dXJlIG9mIGFuIGVycm9yIGNhbGxiYWNrIGZyb20gYSBTY2hlbWF0cm9uIHZhbGlkYXRpb248L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdmFsaWRhdGlvbiBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5tc2c8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBtZXNzYWdlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD4uLi48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmV4dHJhIGFyZ3VtZW50czwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGJyIC8+Cis8aDM+PGEgbmFtZT0ieG1sU2NoZW1hdHJvblZhbGlkaXR5V2FybmluZ0Z1bmMiIGlkPSJ4bWxTY2hlbWF0cm9uVmFsaWRpdHlXYXJuaW5nRnVuYyI+PC9hPkZ1bmN0aW9uIHR5cGU6IHhtbFNjaGVtYXRyb25WYWxpZGl0eVdhcm5pbmdGdW5jPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RnVuY3Rpb24gdHlwZTogeG1sU2NoZW1hdHJvblZhbGlkaXR5V2FybmluZ0Z1bmMKK3ZvaWQJeG1sU2NoZW1hdHJvblZhbGlkaXR5V2FybmluZ0Z1bmMJKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJCSBjb25zdCBjaGFyICogbXNnLCA8YnIgLz4JCQkJCQkgLi4uIC4uLikKKzwvcHJlPjxwPlNpZ25hdHVyZSBvZiBhIHdhcm5pbmcgY2FsbGJhY2sgZnJvbSBhIFNjaGVtYXRyb24gdmFsaWRhdGlvbjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB2YWxpZGF0aW9uIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm1zZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG1lc3NhZ2U8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pi4uLjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+ZXh0cmEgYXJndW1lbnRzPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48YnIgLz4KKzxwPjxhIGhyZWY9Ii4uL2J1Z3MuaHRtbCI+RGFuaWVsIFZlaWxsYXJkPC9hPjwvcD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sIGIvbGlieG1sMi9kb2MvaHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNjMWQxZWMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9odG1sL2xpYnhtbC10aHJlYWRzLmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIj4KKzxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj48aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz48bGluayByZWw9IlNIT1JUQ1VUIElDT04iIGhyZWY9Ii9mYXZpY29uLmljbyIgLz48c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorVEQge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0JPRFkge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYTsgbWFyZ2luLXRvcDogMmVtOyBtYXJnaW4tbGVmdDogMGVtOyBtYXJnaW4tcmlnaHQ6IDBlbX0KK0gxIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMiB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDMge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0E6bGluaywgQTp2aXNpdGVkLCBBOmFjdGl2ZSB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIH0KKzwvc3R5bGU+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKyAgICAgIGRpdi5kZXByZWNhdGVkIHByZS5wcm9ncmFtbGlzdGluZyB7Ym9yZGVyLXN0eWxlOiBkb3VibGU7Ym9yZGVyLWNvbG9yOnJlZH0KKyAgICAgIHByZS5wcm9ncmFtbGlzdGluZyB7Ym9yZGVyLXN0eWxlOiBkb3VibGU7YmFja2dyb3VuZDogI0VFQ0ZBMX0KKyAgICA8L3N0eWxlPjx0aXRsZT5Nb2R1bGUgdGhyZWFkcyBmcm9tIGxpYnhtbDI8L3RpdGxlPjwvaGVhZD48Ym9keSBiZ2NvbG9yPSIjOGI3NzY1IiB0ZXh0PSIjMDAwMDAwIiBsaW5rPSIjYTA2MDYwIiB2bGluaz0iIzAwMDAwMCI+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjEwMCUiIGNlbGxwYWRkaW5nPSI1IiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCB3aWR0aD0iMTIwIj48YSBocmVmPSJodHRwOi8vc3dwYXQuZmZpaS5vcmcvIj48aW1nIHNyYz0iLi4vZXBhdGVudHMucG5nIiBhbHQ9IkFjdGlvbiBhZ2FpbnN0IHNvZnR3YXJlIHBhdGVudHMiIC8+PC9hPjwvdGQ+PHRkIHdpZHRoPSIxODAiPjxhIGhyZWY9Imh0dHA6Ly93d3cuZ25vbWUub3JnLyI+PGltZyBzcmM9Ii4uL2dub21lMi5wbmciIGFsdD0iR25vbWUyIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1N0YXR1cyI+PGltZyBzcmM9Ii4uL3czYy5wbmciIGFsdD0iVzNDIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cucmVkaGF0LmNvbS8iPjxpbWcgc3JjPSIuLi9yZWRoYXQuZ2lmIiBhbHQ9IlJlZCBIYXQgTG9nbyIgLz48L2E+PGRpdiBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnLyI+PGltZyBzcmM9Ii4uL0xpYnhtbDItTG9nby0xODB4MTY4LmdpZiIgYWx0PSJNYWRlIHdpdGggTGlieG1sMiBMb2dvIiAvPjwvYT48L2Rpdj48L3RkPjx0ZD48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iOTAlIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyIgYmdjb2xvcj0iI2ZmZmFjZCI+PHRyPjx0ZCBhbGlnbj0iY2VudGVyIj48aDE+PC9oMT48aDI+TW9kdWxlIHRocmVhZHMgZnJvbSBsaWJ4bWwyPC9oMj48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iNCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiIgd2lkdGg9IjEwMCUiPjx0cj48dGQgdmFsaWduPSJ0b3AiIHdpZHRoPSIyMDAiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPkFQSSBNZW51PC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjxmb3JtIGFjdGlvbj0iLi4vc2VhcmNoLnBocCIgZW5jdHlwZT0iYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIiBtZXRob2Q9ImdldCI+PGlucHV0IG5hbWU9InF1ZXJ5IiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IiIgLz48aW5wdXQgbmFtZT0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJTZWFyY2ggLi4uIiAvPjwvZm9ybT48dWw+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSIuLi9pbmRleC5odG1sIj5NYWluIE1lbnU8L2E+PC9saT48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9Ii4uL2RvY3MuaHRtbCI+RGV2ZWxvcGVyIE1lbnU8L2E+PC9saT48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9Ii4uL2V4YW1wbGVzL2luZGV4Lmh0bWwiPkNvZGUgRXhhbXBsZXM8L2E+PC9saT48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9ImluZGV4Lmh0bWwiPkFQSSBNZW51PC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1wYXJzZXIuaHRtbCI+UGFyc2VyIEFQSTwvYT48L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sIj5UcmVlIEFQSTwvYT48L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwiPlJlYWRlciBBUEk8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vZ3VpZGVsaW5lcy5odG1sIj5YTUwgR3VpZGVsaW5lczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9DaGFuZ2VMb2cuaHRtbCI+Q2hhbmdlTG9nPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+QVBJIEluZGV4ZXM8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSIuLi9BUEljaHVuazAuaHRtbCI+QWxwaGFiZXRpYzwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUEljb25zdHJ1Y3RvcnMuaHRtbCI+Q29uc3RydWN0b3JzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSWZ1bmN0aW9ucy5odG1sIj5GdW5jdGlvbnMvVHlwZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJZmlsZXMuaHRtbCI+TW9kdWxlczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUElzeW1ib2xzLmh0bWwiPlN5bWJvbHM8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5SZWxhdGVkIGxpbmtzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iaHR0cDovL21haWwuZ25vbWUub3JnL2FyY2hpdmVzL3htbC8iPk1haWwgYXJjaGl2ZTwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvWFNMVC8iPlhTTFQgbGlieHNsdDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vcGhkLmNzLnVuaWJvLml0L2dkb21lMi8iPkRPTSBnZG9tZTI8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5hbGVrc2V5LmNvbS94bWxzZWMvIj5YTUwtRFNpZyB4bWxzZWM8L2E+PC9saT48bGk+PGEgaHJlZj0iZnRwOi8veG1sc29mdC5vcmcvIj5GVFA8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56bGF0a292aWMuY29tL3Byb2plY3RzL2xpYnhtbC8iPldpbmRvd3MgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL29wZW5jc3cub3JnL3BhY2thZ2VzL2xpYnhtbDIiPlNvbGFyaXMgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5leHBsYWluLmNvbS5hdS9vc3MvbGlieG1sMnhzbHQuaHRtbCI+TWFjT3NYIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9seG1sLmRlLyI+bHhtbCBQeXRob24gYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2NwYW4udXdpbm5pcGVnLmNhL2Rpc3QvWE1MLUxpYlhNTCI+UGVybCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1scGx1c3BsdXMuc291cmNlZm9yZ2UubmV0LyI+QysrIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemVuZC5jb20vcGhwNS9hcnRpY2xlcy9waHA1LXhtbHBocC5waHAjSGVhZGluZzQiPlBIUCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2xpYnhtbDItcGFzLyI+UGFzY2FsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWwucnVieWZvcmdlLm9yZy8iPlJ1YnkgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3RjbHhtbC5zb3VyY2Vmb3JnZS5uZXQvIj5UY2wgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9idWdsaXN0LmNnaT9wcm9kdWN0PWxpYnhtbDIiPkJ1ZyBUcmFja2VyPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIzIiBjZWxsc3BhY2luZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHRhYmxlIGNsYXNzPSJuYXZpZ2F0aW9uIiB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBoZWFkZXIiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMiI+PHRyIHZhbGlnbj0ibWlkZGxlIj48dGQ+PGEgYWNjZXNza2V5PSJwIiBocmVmPSJsaWJ4bWwtc2NoZW1hdHJvbi5odG1sIj48aW1nIHNyYz0ibGVmdC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlByZXYiIC8+PC9hPjwvdGQ+PHRoIGFsaWduPSJsZWZ0Ij48YSBocmVmPSJsaWJ4bWwtc2NoZW1hdHJvbi5odG1sIj5zY2hlbWF0cm9uPC9hPjwvdGg+PHRkPjxhIGFjY2Vzc2tleT0idSIgaHJlZj0iaW5kZXguaHRtbCI+PGltZyBzcmM9InVwLnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iVXAiIC8+PC9hPjwvdGQ+PHRoIGFsaWduPSJsZWZ0Ij48YSBocmVmPSJpbmRleC5odG1sIj5BUEkgZG9jdW1lbnRhdGlvbjwvYT48L3RoPjx0ZD48YSBhY2Nlc3NrZXk9ImgiIGhyZWY9Ii4uL2luZGV4Lmh0bWwiPjxpbWcgc3JjPSJob21lLnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iSG9tZSIgLz48L2E+PC90ZD48dGggYWxpZ249ImNlbnRlciI+PGEgaHJlZj0iLi4vaW5kZXguaHRtbCI+VGhlIFhNTCBDIHBhcnNlciBhbmQgdG9vbGtpdCBvZiBHbm9tZTwvYT48L3RoPjx0aCBhbGlnbj0icmlnaHQiPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwiPnRyZWU8L2E+PC90aD48dGQ+PGEgYWNjZXNza2V5PSJuIiBocmVmPSJsaWJ4bWwtdHJlZS5odG1sIj48aW1nIHNyYz0icmlnaHQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJOZXh0IiAvPjwvYT48L3RkPjwvdHI+PC90YWJsZT48cD5zZXQgb2YgZ2VuZXJpYyB0aHJlYWRpbmcgcmVsYXRlZCByb3V0aW5lcyBzaG91bGQgd29yayB3aXRoIHB0aHJlYWRzLCBXaW5kb3dzIG5hdGl2ZSBvciBUTFMgdGhyZWFkcyA8L3A+PGgyPlRhYmxlIG9mIENvbnRlbnRzPC9oMj48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+U3RydWN0dXJlIDxhIGhyZWY9IiN4bWxNdXRleCI+eG1sTXV0ZXg8L2E+PGJyIC8+c3RydWN0IF94bWxNdXRleAorVGhlIGNvbnRlbnQgb2YgdGhpcyBzdHJ1Y3R1cmUgaXMgbm90IG1hZGUgcHVibGljIGJ5IHRoZSBBUEkuCis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+VHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwtdGhyZWFkcy5odG1sI3htbE11dGV4Ij54bWxNdXRleDwvYT4gKiA8YSBuYW1lPSJ4bWxNdXRleFB0ciIgaWQ9InhtbE11dGV4UHRyIj54bWxNdXRleFB0cjwvYT4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgPGEgaHJlZj0iI3htbFJNdXRleCI+eG1sUk11dGV4PC9hPjxiciAvPnN0cnVjdCBfeG1sUk11dGV4CitUaGUgY29udGVudCBvZiB0aGlzIHN0cnVjdHVyZSBpcyBub3QgbWFkZSBwdWJsaWMgYnkgdGhlIEFQSS4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5UeXBlZGVmIDxhIGhyZWY9ImxpYnhtbC10aHJlYWRzLmh0bWwjeG1sUk11dGV4Ij54bWxSTXV0ZXg8L2E+ICogPGEgbmFtZT0ieG1sUk11dGV4UHRyIiBpZD0ieG1sUk11dGV4UHRyIj54bWxSTXV0ZXhQdHI8L2E+Cis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sQ2xlYW51cFRocmVhZHMiPnhtbENsZWFudXBUaHJlYWRzPC9hPgkJKHZvaWQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxEbGxNYWluIj54bWxEbGxNYWluPC9hPgkJCSh2b2lkICogaGluc3RETEwsIDxiciAvPgkJCQkJIHVuc2lnbmVkIGxvbmcgZmR3UmVhc29uLCA8YnIgLz4JCQkJCSB2b2lkICogbHB2UmVzZXJ2ZWQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sRnJlZU11dGV4Ij54bWxGcmVlTXV0ZXg8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbC10aHJlYWRzLmh0bWwjeG1sTXV0ZXhQdHIiPnhtbE11dGV4UHRyPC9hPiB0b2spPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sRnJlZVJNdXRleCI+eG1sRnJlZVJNdXRleDwvYT4JCQkoPGEgaHJlZj0ibGlieG1sLXRocmVhZHMuaHRtbCN4bWxSTXV0ZXhQdHIiPnhtbFJNdXRleFB0cjwvYT4gdG9rKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC1nbG9iYWxzLmh0bWwjeG1sR2xvYmFsU3RhdGVQdHIiPnhtbEdsb2JhbFN0YXRlUHRyPC9hPgk8YSBocmVmPSIjeG1sR2V0R2xvYmFsU3RhdGUiPnhtbEdldEdsb2JhbFN0YXRlPC9hPgkodm9pZCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbEdldFRocmVhZElkIj54bWxHZXRUaHJlYWRJZDwvYT4JCQkodm9pZCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxJbml0VGhyZWFkcyI+eG1sSW5pdFRocmVhZHM8L2E+CQkJKHZvaWQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxJc01haW5UaHJlYWQiPnhtbElzTWFpblRocmVhZDwvYT4JCQkodm9pZCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxMb2NrTGlicmFyeSI+eG1sTG9ja0xpYnJhcnk8L2E+CQkJKHZvaWQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sTXV0ZXhMb2NrIj54bWxNdXRleExvY2s8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbC10aHJlYWRzLmh0bWwjeG1sTXV0ZXhQdHIiPnhtbE11dGV4UHRyPC9hPiB0b2spPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sTXV0ZXhVbmxvY2siPnhtbE11dGV4VW5sb2NrPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwtdGhyZWFkcy5odG1sI3htbE11dGV4UHRyIj54bWxNdXRleFB0cjwvYT4gdG9rKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10aHJlYWRzLmh0bWwjeG1sTXV0ZXhQdHIiPnhtbE11dGV4UHRyPC9hPgk8YSBocmVmPSIjeG1sTmV3TXV0ZXgiPnhtbE5ld011dGV4PC9hPgkJKHZvaWQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRocmVhZHMuaHRtbCN4bWxSTXV0ZXhQdHIiPnhtbFJNdXRleFB0cjwvYT4JPGEgaHJlZj0iI3htbE5ld1JNdXRleCI+eG1sTmV3Uk11dGV4PC9hPgkJKHZvaWQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sUk11dGV4TG9jayI+eG1sUk11dGV4TG9jazwvYT4JCQkoPGEgaHJlZj0ibGlieG1sLXRocmVhZHMuaHRtbCN4bWxSTXV0ZXhQdHIiPnhtbFJNdXRleFB0cjwvYT4gdG9rKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFJNdXRleFVubG9jayI+eG1sUk11dGV4VW5sb2NrPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwtdGhyZWFkcy5odG1sI3htbFJNdXRleFB0ciI+eG1sUk11dGV4UHRyPC9hPiB0b2spPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sVW5sb2NrTGlicmFyeSI+eG1sVW5sb2NrTGlicmFyeTwvYT4JCSh2b2lkKTwvcHJlPgorPGgyPkRlc2NyaXB0aW9uPC9oMj4KKzxoMz48YSBuYW1lPSJ4bWxNdXRleCIgaWQ9InhtbE11dGV4Ij5TdHJ1Y3R1cmUgeG1sTXV0ZXg8L2E+PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+U3RydWN0dXJlIHhtbE11dGV4PGJyIC8+c3RydWN0IF94bWxNdXRleCB7CitUaGUgY29udGVudCBvZiB0aGlzIHN0cnVjdHVyZSBpcyBub3QgbWFkZSBwdWJsaWMgYnkgdGhlIEFQSS4KK308L3ByZT48aDM+PGEgbmFtZT0ieG1sUk11dGV4IiBpZD0ieG1sUk11dGV4Ij5TdHJ1Y3R1cmUgeG1sUk11dGV4PC9hPjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlN0cnVjdHVyZSB4bWxSTXV0ZXg8YnIgLz5zdHJ1Y3QgX3htbFJNdXRleCB7CitUaGUgY29udGVudCBvZiB0aGlzIHN0cnVjdHVyZSBpcyBub3QgbWFkZSBwdWJsaWMgYnkgdGhlIEFQSS4KK308L3ByZT48aDM+PGEgbmFtZT0ieG1sQ2xlYW51cFRocmVhZHMiIGlkPSJ4bWxDbGVhbnVwVGhyZWFkcyI+PC9hPkZ1bmN0aW9uOiB4bWxDbGVhbnVwVGhyZWFkczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sQ2xlYW51cFRocmVhZHMJCSh2b2lkKTxiciAvPgorPC9wcmU+PHA+eG1sQ2xlYW51cFRocmVhZHMoKSBpcyB1c2VkIHRvIHRvIGNsZWFudXAgYWxsIHRoZSB0aHJlYWQgcmVsYXRlZCBkYXRhIG9mIHRoZSBsaWJ4bWwyIGxpYnJhcnkgb25jZSBwcm9jZXNzaW5nIGhhcyBlbmRlZC4gV0FSTklORzogaWYgeW91ciBhcHBsaWNhdGlvbiBpcyBtdWx0aXRocmVhZGVkIG9yIGhhcyBwbHVnaW4gc3VwcG9ydCBjYWxsaW5nIHRoaXMgbWF5IGNyYXNoIHRoZSBhcHBsaWNhdGlvbiBpZiBhbm90aGVyIHRocmVhZCBvciBhIHBsdWdpbiBpcyBzdGlsbCB1c2luZyBsaWJ4bWwyLiBJdCdzIHNvbWV0aW1lcyB2ZXJ5IGhhcmQgdG8gZ3Vlc3MgaWYgbGlieG1sMiBpcyBpbiB1c2UgaW4gdGhlIGFwcGxpY2F0aW9uLCBzb21lIGxpYnJhcmllcyBvciBwbHVnaW5zIG1heSB1c2UgaXQgd2l0aG91dCBub3RpY2UuIEluIGNhc2Ugb2YgZG91YnQgYWJzdGFpbiBmcm9tIGNhbGxpbmcgdGhpcyBmdW5jdGlvbiBvciBkbyBpdCBqdXN0IGJlZm9yZSBjYWxsaW5nIGV4aXQoKSB0byBhdm9pZCBsZWFrIHJlcG9ydHMgZnJvbSB2YWxncmluZCAhPC9wPgorPGgzPjxhIG5hbWU9InhtbERsbE1haW4iIGlkPSJ4bWxEbGxNYWluIj48L2E+RnVuY3Rpb246IHhtbERsbE1haW48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sRGxsTWFpbgkJCSh2b2lkICogaGluc3RETEwsIDxiciAvPgkJCQkJIHVuc2lnbmVkIGxvbmcgZmR3UmVhc29uLCA8YnIgLz4JCQkJCSB2b2lkICogbHB2UmVzZXJ2ZWQpPGJyIC8+Cis8L3ByZT48cD48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5oaW5zdERMTDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mZHdSZWFzb248L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bHB2UmVzZXJ2ZWQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sRnJlZU11dGV4IiBpZD0ieG1sRnJlZU11dGV4Ij48L2E+RnVuY3Rpb246IHhtbEZyZWVNdXRleDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sRnJlZU11dGV4CQkJKDxhIGhyZWY9ImxpYnhtbC10aHJlYWRzLmh0bWwjeG1sTXV0ZXhQdHIiPnhtbE11dGV4UHRyPC9hPiB0b2spPGJyIC8+Cis8L3ByZT48cD54bWxGcmVlTXV0ZXgoKSBpcyB1c2VkIHRvIHJlY2xhaW0gcmVzb3VyY2VzIGFzc29jaWF0ZWQgd2l0aCBhIGxpYnhtbDIgdG9rZW4gc3RydWN0LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRvazwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHNpbXBsZSBtdXRleDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEZyZWVSTXV0ZXgiIGlkPSJ4bWxGcmVlUk11dGV4Ij48L2E+RnVuY3Rpb246IHhtbEZyZWVSTXV0ZXg8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbEZyZWVSTXV0ZXgJCQkoPGEgaHJlZj0ibGlieG1sLXRocmVhZHMuaHRtbCN4bWxSTXV0ZXhQdHIiPnhtbFJNdXRleFB0cjwvYT4gdG9rKTxiciAvPgorPC9wcmU+PHA+eG1sUkZyZWVNdXRleCgpIGlzIHVzZWQgdG8gcmVjbGFpbSByZXNvdXJjZXMgYXNzb2NpYXRlZCB3aXRoIGEgcmVlbnRyYW50IG11dGV4LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRvazwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHJlZW50cmFudCBtdXRleDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEdldEdsb2JhbFN0YXRlIiBpZD0ieG1sR2V0R2xvYmFsU3RhdGUiPjwvYT5GdW5jdGlvbjogeG1sR2V0R2xvYmFsU3RhdGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtZ2xvYmFscy5odG1sI3htbEdsb2JhbFN0YXRlUHRyIj54bWxHbG9iYWxTdGF0ZVB0cjwvYT4JeG1sR2V0R2xvYmFsU3RhdGUJKHZvaWQpPGJyIC8+Cis8L3ByZT48cD54bWxHZXRHbG9iYWxTdGF0ZSgpIGlzIGNhbGxlZCB0byByZXRyaWV2ZSB0aGUgZ2xvYmFsIHN0YXRlIGZvciBhIHRocmVhZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdGhyZWFkIGdsb2JhbCBzdGF0ZSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxHZXRUaHJlYWRJZCIgaWQ9InhtbEdldFRocmVhZElkIj48L2E+RnVuY3Rpb246IHhtbEdldFRocmVhZElkPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbEdldFRocmVhZElkCQkJKHZvaWQpPGJyIC8+Cis8L3ByZT48cD54bWxHZXRUaHJlYWRJZCgpIGZpbmQgdGhlIGN1cnJlbnQgdGhyZWFkIElEIG51bWJlciBOb3RlIHRoYXQgdGhpcyBpcyBsaWtlbHkgdG8gYmUgYnJva2VuIG9uIHNvbWUgcGxhdGZvcm1zIHVzaW5nIHB0aHJlYWRzIGFzIHRoZSBzcGVjaWZpY2F0aW9uIGRvZXNuJ3QgbWFuZGF0ZSBwdGhyZWFkX3QgdG8gYmUgYW4gaW50ZWdlciB0eXBlPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGN1cnJlbnQgdGhyZWFkIElEIG51bWJlcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEluaXRUaHJlYWRzIiBpZD0ieG1sSW5pdFRocmVhZHMiPjwvYT5GdW5jdGlvbjogeG1sSW5pdFRocmVhZHM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbEluaXRUaHJlYWRzCQkJKHZvaWQpPGJyIC8+Cis8L3ByZT48cD54bWxJbml0VGhyZWFkcygpIGlzIHVzZWQgdG8gdG8gaW5pdGlhbGl6ZSBhbGwgdGhlIHRocmVhZCByZWxhdGVkIGRhdGEgb2YgdGhlIGxpYnhtbDIgbGlicmFyeS48L3A+Cis8aDM+PGEgbmFtZT0ieG1sSXNNYWluVGhyZWFkIiBpZD0ieG1sSXNNYWluVGhyZWFkIj48L2E+RnVuY3Rpb246IHhtbElzTWFpblRocmVhZDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxJc01haW5UaHJlYWQJCQkodm9pZCk8YnIgLz4KKzwvcHJlPjxwPnhtbElzTWFpblRocmVhZCgpIGNoZWNrIHdoZXRoZXIgdGhlIGN1cnJlbnQgdGhyZWFkIGlzIHRoZSBtYWluIHRocmVhZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRoZSBjdXJyZW50IHRocmVhZCBpcyB0aGUgbWFpbiB0aHJlYWQsIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sTG9ja0xpYnJhcnkiIGlkPSJ4bWxMb2NrTGlicmFyeSI+PC9hPkZ1bmN0aW9uOiB4bWxMb2NrTGlicmFyeTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sTG9ja0xpYnJhcnkJCQkodm9pZCk8YnIgLz4KKzwvcHJlPjxwPnhtbExvY2tMaWJyYXJ5KCkgaXMgdXNlZCB0byB0YWtlIG91dCBhIHJlLWVudHJhbnQgbG9jayBvbiB0aGUgbGlieG1sMiBsaWJyYXJ5LjwvcD4KKzxoMz48YSBuYW1lPSJ4bWxNdXRleExvY2siIGlkPSJ4bWxNdXRleExvY2siPjwvYT5GdW5jdGlvbjogeG1sTXV0ZXhMb2NrPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxNdXRleExvY2sJCQkoPGEgaHJlZj0ibGlieG1sLXRocmVhZHMuaHRtbCN4bWxNdXRleFB0ciI+eG1sTXV0ZXhQdHI8L2E+IHRvayk8YnIgLz4KKzwvcHJlPjxwPnhtbE11dGV4TG9jaygpIGlzIHVzZWQgdG8gbG9jayBhIGxpYnhtbDIgdG9rZW4uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dG9rPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc2ltcGxlIG11dGV4PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sTXV0ZXhVbmxvY2siIGlkPSJ4bWxNdXRleFVubG9jayI+PC9hPkZ1bmN0aW9uOiB4bWxNdXRleFVubG9jazwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sTXV0ZXhVbmxvY2sJCQkoPGEgaHJlZj0ibGlieG1sLXRocmVhZHMuaHRtbCN4bWxNdXRleFB0ciI+eG1sTXV0ZXhQdHI8L2E+IHRvayk8YnIgLz4KKzwvcHJlPjxwPnhtbE11dGV4VW5sb2NrKCkgaXMgdXNlZCB0byB1bmxvY2sgYSBsaWJ4bWwyIHRva2VuLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRvazwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHNpbXBsZSBtdXRleDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbE5ld011dGV4IiBpZD0ieG1sTmV3TXV0ZXgiPjwvYT5GdW5jdGlvbjogeG1sTmV3TXV0ZXg8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdGhyZWFkcy5odG1sI3htbE11dGV4UHRyIj54bWxNdXRleFB0cjwvYT4JeG1sTmV3TXV0ZXgJCSh2b2lkKTxiciAvPgorPC9wcmU+PHA+eG1sTmV3TXV0ZXgoKSBpcyB1c2VkIHRvIGFsbG9jYXRlIGEgbGlieG1sMiB0b2tlbiBzdHJ1Y3QgZm9yIHVzZSBpbiBzeW5jaHJvbml6aW5nIGFjY2VzcyB0byBkYXRhLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbmV3IHNpbXBsZSBtdXRleCBwb2ludGVyIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbE5ld1JNdXRleCIgaWQ9InhtbE5ld1JNdXRleCI+PC9hPkZ1bmN0aW9uOiB4bWxOZXdSTXV0ZXg8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdGhyZWFkcy5odG1sI3htbFJNdXRleFB0ciI+eG1sUk11dGV4UHRyPC9hPgl4bWxOZXdSTXV0ZXgJCSh2b2lkKTxiciAvPgorPC9wcmU+PHA+eG1sUk5ld011dGV4KCkgaXMgdXNlZCB0byBhbGxvY2F0ZSBhIHJlZW50cmFudCBtdXRleCBmb3IgdXNlIGluIHN5bmNocm9uaXppbmcgYWNjZXNzIHRvIGRhdGEuIHRva2VuX3IgaXMgYSByZS1lbnRyYW50IGxvY2sgYW5kIHRodXMgdXNlZnVsIGZvciBzeW5jaHJvbml6aW5nIGFjY2VzcyB0byBkYXRhIHN0cnVjdHVyZXMgdGhhdCBtYXkgYmUgbWFuaXB1bGF0ZWQgaW4gYSByZWN1cnNpdmUgZmFzaGlvbi48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IHJlZW50cmFudCBtdXRleCBwb2ludGVyIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFJNdXRleExvY2siIGlkPSJ4bWxSTXV0ZXhMb2NrIj48L2E+RnVuY3Rpb246IHhtbFJNdXRleExvY2s8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFJNdXRleExvY2sJCQkoPGEgaHJlZj0ibGlieG1sLXRocmVhZHMuaHRtbCN4bWxSTXV0ZXhQdHIiPnhtbFJNdXRleFB0cjwvYT4gdG9rKTxiciAvPgorPC9wcmU+PHA+eG1sUk11dGV4TG9jaygpIGlzIHVzZWQgdG8gbG9jayBhIGxpYnhtbDIgdG9rZW5fci48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50b2s8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSByZWVudHJhbnQgbXV0ZXg8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxSTXV0ZXhVbmxvY2siIGlkPSJ4bWxSTXV0ZXhVbmxvY2siPjwvYT5GdW5jdGlvbjogeG1sUk11dGV4VW5sb2NrPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxSTXV0ZXhVbmxvY2sJCQkoPGEgaHJlZj0ibGlieG1sLXRocmVhZHMuaHRtbCN4bWxSTXV0ZXhQdHIiPnhtbFJNdXRleFB0cjwvYT4gdG9rKTxiciAvPgorPC9wcmU+PHA+eG1sUk11dGV4VW5sb2NrKCkgaXMgdXNlZCB0byB1bmxvY2sgYSBsaWJ4bWwyIHRva2VuX3IuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dG9rPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmVlbnRyYW50IG11dGV4PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVW5sb2NrTGlicmFyeSIgaWQ9InhtbFVubG9ja0xpYnJhcnkiPjwvYT5GdW5jdGlvbjogeG1sVW5sb2NrTGlicmFyeTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sVW5sb2NrTGlicmFyeQkJKHZvaWQpPGJyIC8+Cis8L3ByZT48cD54bWxVbmxvY2tMaWJyYXJ5KCkgaXMgdXNlZCB0byByZWxlYXNlIGEgcmUtZW50cmFudCBsb2NrIG9uIHRoZSBsaWJ4bWwyIGxpYnJhcnkuPC9wPgorPHA+PGEgaHJlZj0iLi4vYnVncy5odG1sIj5EYW5pZWwgVmVpbGxhcmQ8L2E+PC9wPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9odG1sL2xpYnhtbC10cmVlLmh0bWwgYi9saWJ4bWwyL2RvYy9odG1sL2xpYnhtbC10cmVlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTIwODFjYwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL2h0bWwvbGlieG1sLXRyZWUuaHRtbApAQCAtMCwwICsxLDk5MCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIj4KKzxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj48aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz48bGluayByZWw9IlNIT1JUQ1VUIElDT04iIGhyZWY9Ii9mYXZpY29uLmljbyIgLz48c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorVEQge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0JPRFkge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYTsgbWFyZ2luLXRvcDogMmVtOyBtYXJnaW4tbGVmdDogMGVtOyBtYXJnaW4tcmlnaHQ6IDBlbX0KK0gxIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMiB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDMge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0E6bGluaywgQTp2aXNpdGVkLCBBOmFjdGl2ZSB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIH0KKzwvc3R5bGU+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKyAgICAgIGRpdi5kZXByZWNhdGVkIHByZS5wcm9ncmFtbGlzdGluZyB7Ym9yZGVyLXN0eWxlOiBkb3VibGU7Ym9yZGVyLWNvbG9yOnJlZH0KKyAgICAgIHByZS5wcm9ncmFtbGlzdGluZyB7Ym9yZGVyLXN0eWxlOiBkb3VibGU7YmFja2dyb3VuZDogI0VFQ0ZBMX0KKyAgICA8L3N0eWxlPjx0aXRsZT5Nb2R1bGUgdHJlZSBmcm9tIGxpYnhtbDI8L3RpdGxlPjwvaGVhZD48Ym9keSBiZ2NvbG9yPSIjOGI3NzY1IiB0ZXh0PSIjMDAwMDAwIiBsaW5rPSIjYTA2MDYwIiB2bGluaz0iIzAwMDAwMCI+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjEwMCUiIGNlbGxwYWRkaW5nPSI1IiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCB3aWR0aD0iMTIwIj48YSBocmVmPSJodHRwOi8vc3dwYXQuZmZpaS5vcmcvIj48aW1nIHNyYz0iLi4vZXBhdGVudHMucG5nIiBhbHQ9IkFjdGlvbiBhZ2FpbnN0IHNvZnR3YXJlIHBhdGVudHMiIC8+PC9hPjwvdGQ+PHRkIHdpZHRoPSIxODAiPjxhIGhyZWY9Imh0dHA6Ly93d3cuZ25vbWUub3JnLyI+PGltZyBzcmM9Ii4uL2dub21lMi5wbmciIGFsdD0iR25vbWUyIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1N0YXR1cyI+PGltZyBzcmM9Ii4uL3czYy5wbmciIGFsdD0iVzNDIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cucmVkaGF0LmNvbS8iPjxpbWcgc3JjPSIuLi9yZWRoYXQuZ2lmIiBhbHQ9IlJlZCBIYXQgTG9nbyIgLz48L2E+PGRpdiBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnLyI+PGltZyBzcmM9Ii4uL0xpYnhtbDItTG9nby0xODB4MTY4LmdpZiIgYWx0PSJNYWRlIHdpdGggTGlieG1sMiBMb2dvIiAvPjwvYT48L2Rpdj48L3RkPjx0ZD48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iOTAlIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyIgYmdjb2xvcj0iI2ZmZmFjZCI+PHRyPjx0ZCBhbGlnbj0iY2VudGVyIj48aDE+PC9oMT48aDI+TW9kdWxlIHRyZWUgZnJvbSBsaWJ4bWwyPC9oMj48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iNCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiIgd2lkdGg9IjEwMCUiPjx0cj48dGQgdmFsaWduPSJ0b3AiIHdpZHRoPSIyMDAiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPkFQSSBNZW51PC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjxmb3JtIGFjdGlvbj0iLi4vc2VhcmNoLnBocCIgZW5jdHlwZT0iYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIiBtZXRob2Q9ImdldCI+PGlucHV0IG5hbWU9InF1ZXJ5IiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IiIgLz48aW5wdXQgbmFtZT0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJTZWFyY2ggLi4uIiAvPjwvZm9ybT48dWw+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSIuLi9pbmRleC5odG1sIj5NYWluIE1lbnU8L2E+PC9saT48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9Ii4uL2RvY3MuaHRtbCI+RGV2ZWxvcGVyIE1lbnU8L2E+PC9saT48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9Ii4uL2V4YW1wbGVzL2luZGV4Lmh0bWwiPkNvZGUgRXhhbXBsZXM8L2E+PC9saT48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9ImluZGV4Lmh0bWwiPkFQSSBNZW51PC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1wYXJzZXIuaHRtbCI+UGFyc2VyIEFQSTwvYT48L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sIj5UcmVlIEFQSTwvYT48L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwiPlJlYWRlciBBUEk8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vZ3VpZGVsaW5lcy5odG1sIj5YTUwgR3VpZGVsaW5lczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9DaGFuZ2VMb2cuaHRtbCI+Q2hhbmdlTG9nPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+QVBJIEluZGV4ZXM8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSIuLi9BUEljaHVuazAuaHRtbCI+QWxwaGFiZXRpYzwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUEljb25zdHJ1Y3RvcnMuaHRtbCI+Q29uc3RydWN0b3JzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSWZ1bmN0aW9ucy5odG1sIj5GdW5jdGlvbnMvVHlwZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJZmlsZXMuaHRtbCI+TW9kdWxlczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUElzeW1ib2xzLmh0bWwiPlN5bWJvbHM8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5SZWxhdGVkIGxpbmtzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iaHR0cDovL21haWwuZ25vbWUub3JnL2FyY2hpdmVzL3htbC8iPk1haWwgYXJjaGl2ZTwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvWFNMVC8iPlhTTFQgbGlieHNsdDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vcGhkLmNzLnVuaWJvLml0L2dkb21lMi8iPkRPTSBnZG9tZTI8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5hbGVrc2V5LmNvbS94bWxzZWMvIj5YTUwtRFNpZyB4bWxzZWM8L2E+PC9saT48bGk+PGEgaHJlZj0iZnRwOi8veG1sc29mdC5vcmcvIj5GVFA8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56bGF0a292aWMuY29tL3Byb2plY3RzL2xpYnhtbC8iPldpbmRvd3MgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL29wZW5jc3cub3JnL3BhY2thZ2VzL2xpYnhtbDIiPlNvbGFyaXMgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5leHBsYWluLmNvbS5hdS9vc3MvbGlieG1sMnhzbHQuaHRtbCI+TWFjT3NYIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9seG1sLmRlLyI+bHhtbCBQeXRob24gYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2NwYW4udXdpbm5pcGVnLmNhL2Rpc3QvWE1MLUxpYlhNTCI+UGVybCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1scGx1c3BsdXMuc291cmNlZm9yZ2UubmV0LyI+QysrIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemVuZC5jb20vcGhwNS9hcnRpY2xlcy9waHA1LXhtbHBocC5waHAjSGVhZGluZzQiPlBIUCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2xpYnhtbDItcGFzLyI+UGFzY2FsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWwucnVieWZvcmdlLm9yZy8iPlJ1YnkgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3RjbHhtbC5zb3VyY2Vmb3JnZS5uZXQvIj5UY2wgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9idWdsaXN0LmNnaT9wcm9kdWN0PWxpYnhtbDIiPkJ1ZyBUcmFja2VyPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIzIiBjZWxsc3BhY2luZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHRhYmxlIGNsYXNzPSJuYXZpZ2F0aW9uIiB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBoZWFkZXIiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMiI+PHRyIHZhbGlnbj0ibWlkZGxlIj48dGQ+PGEgYWNjZXNza2V5PSJwIiBocmVmPSJsaWJ4bWwtdGhyZWFkcy5odG1sIj48aW1nIHNyYz0ibGVmdC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlByZXYiIC8+PC9hPjwvdGQ+PHRoIGFsaWduPSJsZWZ0Ij48YSBocmVmPSJsaWJ4bWwtdGhyZWFkcy5odG1sIj50aHJlYWRzPC9hPjwvdGg+PHRkPjxhIGFjY2Vzc2tleT0idSIgaHJlZj0iaW5kZXguaHRtbCI+PGltZyBzcmM9InVwLnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iVXAiIC8+PC9hPjwvdGQ+PHRoIGFsaWduPSJsZWZ0Ij48YSBocmVmPSJpbmRleC5odG1sIj5BUEkgZG9jdW1lbnRhdGlvbjwvYT48L3RoPjx0ZD48YSBhY2Nlc3NrZXk9ImgiIGhyZWY9Ii4uL2luZGV4Lmh0bWwiPjxpbWcgc3JjPSJob21lLnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iSG9tZSIgLz48L2E+PC90ZD48dGggYWxpZ249ImNlbnRlciI+PGEgaHJlZj0iLi4vaW5kZXguaHRtbCI+VGhlIFhNTCBDIHBhcnNlciBhbmQgdG9vbGtpdCBvZiBHbm9tZTwvYT48L3RoPjx0aCBhbGlnbj0icmlnaHQiPjxhIGhyZWY9ImxpYnhtbC11cmkuaHRtbCI+dXJpPC9hPjwvdGg+PHRkPjxhIGFjY2Vzc2tleT0ibiIgaHJlZj0ibGlieG1sLXVyaS5odG1sIj48aW1nIHNyYz0icmlnaHQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJOZXh0IiAvPjwvYT48L3RkPjwvdHI+PC90YWJsZT48cD50aGlzIG1vZHVsZSBkZXNjcmliZXMgdGhlIHN0cnVjdHVyZXMgZm91bmQgaW4gYW4gdHJlZSByZXN1bHRpbmcgZnJvbSBhbiBYTUwgb3IgSFRNTCBwYXJzaW5nLCBhcyB3ZWxsIGFzIHRoZSBBUEkgcHJvdmlkZWQgZm9yIHZhcmlvdXMgcHJvY2Vzc2luZyBvbiB0aGF0IHRyZWUgPC9wPjxoMj5UYWJsZSBvZiBDb250ZW50czwvaDI+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI0JBU0VfQlVGRkVSX1NJWkUiPkJBU0VfQlVGRkVSX1NJWkU8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI0xJQlhNTDJfTkVXX0JVRkZFUiI+TElCWE1MMl9ORVdfQlVGRkVSPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfR0VUX0NPTlRFTlQiPlhNTF9HRVRfQ09OVEVOVDwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX0dFVF9MSU5FIj5YTUxfR0VUX0xJTkU8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9MT0NBTF9OQU1FU1BBQ0UiPlhNTF9MT0NBTF9OQU1FU1BBQ0U8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9YTUxfSUQiPlhNTF9YTUxfSUQ8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9YTUxfTkFNRVNQQUNFIj5YTUxfWE1MX05BTUVTUEFDRTwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjeG1sQ2hpbGRyZW5Ob2RlIj54bWxDaGlsZHJlbk5vZGU8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI3htbFJvb3ROb2RlIj54bWxSb290Tm9kZTwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+U3RydWN0dXJlIDxhIGhyZWY9IiN4bWxBdHRyIj54bWxBdHRyPC9hPjxiciAvPnN0cnVjdCBfeG1sQXR0cgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlR5cGVkZWYgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxBdHRyIj54bWxBdHRyPC9hPiAqIDxhIG5hbWU9InhtbEF0dHJQdHIiIGlkPSJ4bWxBdHRyUHRyIj54bWxBdHRyUHRyPC9hPgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlN0cnVjdHVyZSA8YSBocmVmPSIjeG1sQXR0cmlidXRlIj54bWxBdHRyaWJ1dGU8L2E+PGJyIC8+c3RydWN0IF94bWxBdHRyaWJ1dGUKKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5FbnVtIDxhIGhyZWY9IiN4bWxBdHRyaWJ1dGVEZWZhdWx0Ij54bWxBdHRyaWJ1dGVEZWZhdWx0PC9hPgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlR5cGVkZWYgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxBdHRyaWJ1dGUiPnhtbEF0dHJpYnV0ZTwvYT4gKiA8YSBuYW1lPSJ4bWxBdHRyaWJ1dGVQdHIiIGlkPSJ4bWxBdHRyaWJ1dGVQdHIiPnhtbEF0dHJpYnV0ZVB0cjwvYT4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5FbnVtIDxhIGhyZWY9IiN4bWxBdHRyaWJ1dGVUeXBlIj54bWxBdHRyaWJ1dGVUeXBlPC9hPgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlN0cnVjdHVyZSA8YSBocmVmPSIjeG1sQnVmIj54bWxCdWY8L2E+PGJyIC8+c3RydWN0IF94bWxCdWYKK1RoZSBjb250ZW50IG9mIHRoaXMgc3RydWN0dXJlIGlzIG5vdCBtYWRlIHB1YmxpYyBieSB0aGUgQVBJLgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlR5cGVkZWYgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxCdWYiPnhtbEJ1ZjwvYT4gKiA8YSBuYW1lPSJ4bWxCdWZQdHIiIGlkPSJ4bWxCdWZQdHIiPnhtbEJ1ZlB0cjwvYT4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgPGEgaHJlZj0iI3htbEJ1ZmZlciI+eG1sQnVmZmVyPC9hPjxiciAvPnN0cnVjdCBfeG1sQnVmZmVyCis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RW51bSA8YSBocmVmPSIjeG1sQnVmZmVyQWxsb2NhdGlvblNjaGVtZSI+eG1sQnVmZmVyQWxsb2NhdGlvblNjaGVtZTwvYT4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5UeXBlZGVmIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyIj54bWxCdWZmZXI8L2E+ICogPGEgbmFtZT0ieG1sQnVmZmVyUHRyIiBpZD0ieG1sQnVmZmVyUHRyIj54bWxCdWZmZXJQdHI8L2E+Cis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+U3RydWN0dXJlIDxhIGhyZWY9IiN4bWxET01XcmFwQ3R4dCI+eG1sRE9NV3JhcEN0eHQ8L2E+PGJyIC8+c3RydWN0IF94bWxET01XcmFwQ3R4dAorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlR5cGVkZWYgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwQ3R4dCI+eG1sRE9NV3JhcEN0eHQ8L2E+ICogPGEgbmFtZT0ieG1sRE9NV3JhcEN0eHRQdHIiIGlkPSJ4bWxET01XcmFwQ3R4dFB0ciI+eG1sRE9NV3JhcEN0eHRQdHI8L2E+Cis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+U3RydWN0dXJlIDxhIGhyZWY9IiN4bWxEb2MiPnhtbERvYzwvYT48YnIgLz5zdHJ1Y3QgX3htbERvYworPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkVudW0gPGEgaHJlZj0iI3htbERvY1Byb3BlcnRpZXMiPnhtbERvY1Byb3BlcnRpZXM8L2E+Cis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+VHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvYyI+eG1sRG9jPC9hPiAqIDxhIG5hbWU9InhtbERvY1B0ciIgaWQ9InhtbERvY1B0ciI+eG1sRG9jUHRyPC9hPgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlN0cnVjdHVyZSA8YSBocmVmPSIjeG1sRHRkIj54bWxEdGQ8L2E+PGJyIC8+c3RydWN0IF94bWxEdGQKKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5UeXBlZGVmIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRHRkIj54bWxEdGQ8L2E+ICogPGEgbmFtZT0ieG1sRHRkUHRyIiBpZD0ieG1sRHRkUHRyIj54bWxEdGRQdHI8L2E+Cis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+U3RydWN0dXJlIDxhIGhyZWY9IiN4bWxFbGVtZW50Ij54bWxFbGVtZW50PC9hPjxiciAvPnN0cnVjdCBfeG1sRWxlbWVudAorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlN0cnVjdHVyZSA8YSBocmVmPSIjeG1sRWxlbWVudENvbnRlbnQiPnhtbEVsZW1lbnRDb250ZW50PC9hPjxiciAvPnN0cnVjdCBfeG1sRWxlbWVudENvbnRlbnQKKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5FbnVtIDxhIGhyZWY9IiN4bWxFbGVtZW50Q29udGVudE9jY3VyIj54bWxFbGVtZW50Q29udGVudE9jY3VyPC9hPgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlR5cGVkZWYgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxFbGVtZW50Q29udGVudCI+eG1sRWxlbWVudENvbnRlbnQ8L2E+ICogPGEgbmFtZT0ieG1sRWxlbWVudENvbnRlbnRQdHIiIGlkPSJ4bWxFbGVtZW50Q29udGVudFB0ciI+eG1sRWxlbWVudENvbnRlbnRQdHI8L2E+Cis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RW51bSA8YSBocmVmPSIjeG1sRWxlbWVudENvbnRlbnRUeXBlIj54bWxFbGVtZW50Q29udGVudFR5cGU8L2E+Cis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+VHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVsZW1lbnQiPnhtbEVsZW1lbnQ8L2E+ICogPGEgbmFtZT0ieG1sRWxlbWVudFB0ciIgaWQ9InhtbEVsZW1lbnRQdHIiPnhtbEVsZW1lbnRQdHI8L2E+Cis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RW51bSA8YSBocmVmPSIjeG1sRWxlbWVudFR5cGUiPnhtbEVsZW1lbnRUeXBlPC9hPgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkVudW0gPGEgaHJlZj0iI3htbEVsZW1lbnRUeXBlVmFsIj54bWxFbGVtZW50VHlwZVZhbDwvYT4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgPGEgaHJlZj0iI3htbEVudGl0eSI+eG1sRW50aXR5PC9hPjxiciAvPnN0cnVjdCBfeG1sRW50aXR5Cis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+VHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVudGl0eSI+eG1sRW50aXR5PC9hPiAqIDxhIG5hbWU9InhtbEVudGl0eVB0ciIgaWQ9InhtbEVudGl0eVB0ciI+eG1sRW50aXR5UHRyPC9hPgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlN0cnVjdHVyZSA8YSBocmVmPSIjeG1sRW51bWVyYXRpb24iPnhtbEVudW1lcmF0aW9uPC9hPjxiciAvPnN0cnVjdCBfeG1sRW51bWVyYXRpb24KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5UeXBlZGVmIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRW51bWVyYXRpb24iPnhtbEVudW1lcmF0aW9uPC9hPiAqIDxhIG5hbWU9InhtbEVudW1lcmF0aW9uUHRyIiBpZD0ieG1sRW51bWVyYXRpb25QdHIiPnhtbEVudW1lcmF0aW9uUHRyPC9hPgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlN0cnVjdHVyZSA8YSBocmVmPSIjeG1sSUQiPnhtbElEPC9hPjxiciAvPnN0cnVjdCBfeG1sSUQKKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5UeXBlZGVmIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sSUQiPnhtbElEPC9hPiAqIDxhIG5hbWU9InhtbElEUHRyIiBpZD0ieG1sSURQdHIiPnhtbElEUHRyPC9hPgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlN0cnVjdHVyZSA8YSBocmVmPSIjeG1sTm9kZSI+eG1sTm9kZTwvYT48YnIgLz5zdHJ1Y3QgX3htbE5vZGUKKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5UeXBlZGVmIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZSI+eG1sTm9kZTwvYT4gKiA8YSBuYW1lPSJ4bWxOb2RlUHRyIiBpZD0ieG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgPGEgaHJlZj0iI3htbE5vdGF0aW9uIj54bWxOb3RhdGlvbjwvYT48YnIgLz5zdHJ1Y3QgX3htbE5vdGF0aW9uCis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+VHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vdGF0aW9uIj54bWxOb3RhdGlvbjwvYT4gKiA8YSBuYW1lPSJ4bWxOb3RhdGlvblB0ciIgaWQ9InhtbE5vdGF0aW9uUHRyIj54bWxOb3RhdGlvblB0cjwvYT4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgPGEgaHJlZj0iI3htbE5zIj54bWxOczwvYT48YnIgLz5zdHJ1Y3QgX3htbE5zCis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+VHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5zIj54bWxOczwvYT4gKiA8YSBuYW1lPSJ4bWxOc1B0ciIgaWQ9InhtbE5zUHRyIj54bWxOc1B0cjwvYT4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5UeXBlZGVmIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRWxlbWVudFR5cGUiPnhtbEVsZW1lbnRUeXBlPC9hPiA8YSBuYW1lPSJ4bWxOc1R5cGUiIGlkPSJ4bWxOc1R5cGUiPnhtbE5zVHlwZTwvYT4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgPGEgaHJlZj0iI3htbE91dHB1dEJ1ZmZlciI+eG1sT3V0cHV0QnVmZmVyPC9hPjxiciAvPnN0cnVjdCBfeG1sT3V0cHV0QnVmZmVyCis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+VHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE91dHB1dEJ1ZmZlciI+eG1sT3V0cHV0QnVmZmVyPC9hPiAqIDxhIG5hbWU9InhtbE91dHB1dEJ1ZmZlclB0ciIgaWQ9InhtbE91dHB1dEJ1ZmZlclB0ciI+eG1sT3V0cHV0QnVmZmVyUHRyPC9hPgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlN0cnVjdHVyZSA8YSBocmVmPSIjeG1sUGFyc2VyQ3R4dCI+eG1sUGFyc2VyQ3R4dDwvYT48YnIgLz5zdHJ1Y3QgX3htbFBhcnNlckN0eHQKKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5UeXBlZGVmIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dCI+eG1sUGFyc2VyQ3R4dDwvYT4gKiA8YSBuYW1lPSJ4bWxQYXJzZXJDdHh0UHRyIiBpZD0ieG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgPGEgaHJlZj0iI3htbFBhcnNlcklucHV0Ij54bWxQYXJzZXJJbnB1dDwvYT48YnIgLz5zdHJ1Y3QgX3htbFBhcnNlcklucHV0Cis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+U3RydWN0dXJlIDxhIGhyZWY9IiN4bWxQYXJzZXJJbnB1dEJ1ZmZlciI+eG1sUGFyc2VySW5wdXRCdWZmZXI8L2E+PGJyIC8+c3RydWN0IF94bWxQYXJzZXJJbnB1dEJ1ZmZlcgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlR5cGVkZWYgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlciI+eG1sUGFyc2VySW5wdXRCdWZmZXI8L2E+ICogPGEgbmFtZT0ieG1sUGFyc2VySW5wdXRCdWZmZXJQdHIiIGlkPSJ4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciI+eG1sUGFyc2VySW5wdXRCdWZmZXJQdHI8L2E+Cis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+VHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlcklucHV0Ij54bWxQYXJzZXJJbnB1dDwvYT4gKiA8YSBuYW1lPSJ4bWxQYXJzZXJJbnB1dFB0ciIgaWQ9InhtbFBhcnNlcklucHV0UHRyIj54bWxQYXJzZXJJbnB1dFB0cjwvYT4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgPGEgaHJlZj0iI3htbFJlZiI+eG1sUmVmPC9hPjxiciAvPnN0cnVjdCBfeG1sUmVmCis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+VHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFJlZiI+eG1sUmVmPC9hPiAqIDxhIG5hbWU9InhtbFJlZlB0ciIgaWQ9InhtbFJlZlB0ciI+eG1sUmVmUHRyPC9hPgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlN0cnVjdHVyZSA8YSBocmVmPSIjeG1sU0FYSGFuZGxlciI+eG1sU0FYSGFuZGxlcjwvYT48YnIgLz5zdHJ1Y3QgX3htbFNBWEhhbmRsZXIKKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5UeXBlZGVmIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sU0FYSGFuZGxlciI+eG1sU0FYSGFuZGxlcjwvYT4gKiA8YSBuYW1lPSJ4bWxTQVhIYW5kbGVyUHRyIiBpZD0ieG1sU0FYSGFuZGxlclB0ciI+eG1sU0FYSGFuZGxlclB0cjwvYT4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgPGEgaHJlZj0iI3htbFNBWExvY2F0b3IiPnhtbFNBWExvY2F0b3I8L2E+PGJyIC8+c3RydWN0IF94bWxTQVhMb2NhdG9yCis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+VHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFNBWExvY2F0b3IiPnhtbFNBWExvY2F0b3I8L2E+ICogPGEgbmFtZT0ieG1sU0FYTG9jYXRvclB0ciIgaWQ9InhtbFNBWExvY2F0b3JQdHIiPnhtbFNBWExvY2F0b3JQdHI8L2E+Cis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgk8YSBocmVmPSIjeG1sQWRkQ2hpbGQiPnhtbEFkZENoaWxkPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gcGFyZW50LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGN1cik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CTxhIGhyZWY9IiN4bWxBZGRDaGlsZExpc3QiPnhtbEFkZENoaWxkTGlzdDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IHBhcmVudCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgk8YSBocmVmPSIjeG1sQWRkTmV4dFNpYmxpbmciPnhtbEFkZE5leHRTaWJsaW5nPC9hPgkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gZWxlbSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CTxhIGhyZWY9IiN4bWxBZGRQcmV2U2libGluZyI+eG1sQWRkUHJldlNpYmxpbmc8L2E+CSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGN1ciwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBlbGVtKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JPGEgaHJlZj0iI3htbEFkZFNpYmxpbmciPnhtbEFkZFNpYmxpbmc8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gZWxlbSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxBdHRyU2VyaWFsaXplVHh0Q29udGVudCI+eG1sQXR0clNlcmlhbGl6ZVR4dENvbnRlbnQ8L2E+CSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlclB0ciI+eG1sQnVmZmVyUHRyPC9hPiBidWYsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxBdHRyUHRyIj54bWxBdHRyUHRyPC9hPiBhdHRyLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzdHJpbmcpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbEJ1ZkNvbnRlbnQiPnhtbEJ1ZkNvbnRlbnQ8L2E+CQkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxCdWYiPnhtbEJ1ZjwvYT4gKiBidWYpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbEJ1ZkVuZCI+eG1sQnVmRW5kPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQnVmUHRyIj54bWxCdWZQdHI8L2E+IGJ1Zik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbEJ1ZkdldE5vZGVDb250ZW50Ij54bWxCdWZHZXROb2RlQ29udGVudDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEJ1ZlB0ciI+eG1sQnVmUHRyPC9hPiBidWYsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZSI+eG1sTm9kZTwvYT4gKiBjdXIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+c2l6ZV90CTxhIGhyZWY9IiN4bWxCdWZOb2RlRHVtcCI+eG1sQnVmTm9kZUR1bXA8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQnVmUHRyIj54bWxCdWZQdHI8L2E+IGJ1ZiwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGN1ciwgPGJyIC8+CQkJCQkgaW50IGxldmVsLCA8YnIgLz4JCQkJCSBpbnQgZm9ybWF0KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnNpemVfdAk8YSBocmVmPSIjeG1sQnVmU2hyaW5rIj54bWxCdWZTaHJpbms8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQnVmUHRyIj54bWxCdWZQdHI8L2E+IGJ1ZiwgPGJyIC8+CQkJCQkgc2l6ZV90IGxlbik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5zaXplX3QJPGEgaHJlZj0iI3htbEJ1ZlVzZSI+eG1sQnVmVXNlPC9hPgkJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEJ1ZlB0ciI+eG1sQnVmUHRyPC9hPiBidWYpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxCdWZmZXJBZGQiPnhtbEJ1ZmZlckFkZDwvYT4JCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJQdHIiPnhtbEJ1ZmZlclB0cjwvYT4gYnVmLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzdHIsIDxiciAvPgkJCQkJIGludCBsZW4pPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxCdWZmZXJBZGRIZWFkIj54bWxCdWZmZXJBZGRIZWFkPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyUHRyIj54bWxCdWZmZXJQdHI8L2E+IGJ1ZiwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3RyLCA8YnIgLz4JCQkJCSBpbnQgbGVuKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sQnVmZmVyQ0NhdCI+eG1sQnVmZmVyQ0NhdDwvYT4JCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJQdHIiPnhtbEJ1ZmZlclB0cjwvYT4gYnVmLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogc3RyKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sQnVmZmVyQ2F0Ij54bWxCdWZmZXJDYXQ8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyUHRyIj54bWxCdWZmZXJQdHI8L2E+IGJ1ZiwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3RyKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxCdWZmZXJDb250ZW50Ij54bWxCdWZmZXJDb250ZW50PC9hPgkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXIiPnhtbEJ1ZmZlcjwvYT4gKiBidWYpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJQdHIiPnhtbEJ1ZmZlclB0cjwvYT4JPGEgaHJlZj0iI3htbEJ1ZmZlckNyZWF0ZSI+eG1sQnVmZmVyQ3JlYXRlPC9hPgkJKHZvaWQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJQdHIiPnhtbEJ1ZmZlclB0cjwvYT4JPGEgaHJlZj0iI3htbEJ1ZmZlckNyZWF0ZVNpemUiPnhtbEJ1ZmZlckNyZWF0ZVNpemU8L2E+CShzaXplX3Qgc2l6ZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlclB0ciI+eG1sQnVmZmVyUHRyPC9hPgk8YSBocmVmPSIjeG1sQnVmZmVyQ3JlYXRlU3RhdGljIj54bWxCdWZmZXJDcmVhdGVTdGF0aWM8L2E+CSh2b2lkICogbWVtLCA8YnIgLz4JCQkJCSBzaXplX3Qgc2l6ZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sQnVmZmVyRGV0YWNoIj54bWxCdWZmZXJEZXRhY2g8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJQdHIiPnhtbEJ1ZmZlclB0cjwvYT4gYnVmKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sQnVmZmVyRHVtcCI+eG1sQnVmZmVyRHVtcDwvYT4JCQkoRklMRSAqIGZpbGUsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyUHRyIj54bWxCdWZmZXJQdHI8L2E+IGJ1Zik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxCdWZmZXJFbXB0eSI+eG1sQnVmZmVyRW1wdHk8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyUHRyIj54bWxCdWZmZXJQdHI8L2E+IGJ1Zik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxCdWZmZXJGcmVlIj54bWxCdWZmZXJGcmVlPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlclB0ciI+eG1sQnVmZmVyUHRyPC9hPiBidWYpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxCdWZmZXJHcm93Ij54bWxCdWZmZXJHcm93PC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlclB0ciI+eG1sQnVmZmVyUHRyPC9hPiBidWYsIDxiciAvPgkJCQkJIHVuc2lnbmVkIGludCBsZW4pPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxCdWZmZXJMZW5ndGgiPnhtbEJ1ZmZlckxlbmd0aDwvYT4JCQkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXIiPnhtbEJ1ZmZlcjwvYT4gKiBidWYpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxCdWZmZXJSZXNpemUiPnhtbEJ1ZmZlclJlc2l6ZTwvYT4JCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJQdHIiPnhtbEJ1ZmZlclB0cjwvYT4gYnVmLCA8YnIgLz4JCQkJCSB1bnNpZ25lZCBpbnQgc2l6ZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxCdWZmZXJTZXRBbGxvY2F0aW9uU2NoZW1lIj54bWxCdWZmZXJTZXRBbGxvY2F0aW9uU2NoZW1lPC9hPgkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJQdHIiPnhtbEJ1ZmZlclB0cjwvYT4gYnVmLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUiPnhtbEJ1ZmZlckFsbG9jYXRpb25TY2hlbWU8L2E+IHNjaGVtZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbEJ1ZmZlclNocmluayI+eG1sQnVmZmVyU2hyaW5rPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlclB0ciI+eG1sQnVmZmVyUHRyPC9hPiBidWYsIDxiciAvPgkJCQkJIHVuc2lnbmVkIGludCBsZW4pPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sQnVmZmVyV3JpdGVDSEFSIj54bWxCdWZmZXJXcml0ZUNIQVI8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJQdHIiPnhtbEJ1ZmZlclB0cjwvYT4gYnVmLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzdHJpbmcpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sQnVmZmVyV3JpdGVDaGFyIj54bWxCdWZmZXJXcml0ZUNoYXI8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJQdHIiPnhtbEJ1ZmZlclB0cjwvYT4gYnVmLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogc3RyaW5nKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbEJ1ZmZlcldyaXRlUXVvdGVkU3RyaW5nIj54bWxCdWZmZXJXcml0ZVF1b3RlZFN0cmluZzwvYT4JKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyUHRyIj54bWxCdWZmZXJQdHI8L2E+IGJ1ZiwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3RyaW5nKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxCdWlsZFFOYW1lIj54bWxCdWlsZFFOYW1lPC9hPgkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5jbmFtZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHJlZml4LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBtZW1vcnksIDxiciAvPgkJCQkJIGludCBsZW4pPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dW5zaWduZWQgbG9uZwk8YSBocmVmPSIjeG1sQ2hpbGRFbGVtZW50Q291bnQiPnhtbENoaWxkRWxlbWVudENvdW50PC9hPgkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBwYXJlbnQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4JPGEgaHJlZj0iI3htbENvcHlEb2MiPnhtbENvcHlEb2M8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIgLz4JCQkJCSBpbnQgcmVjdXJzaXZlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRHRkUHRyIj54bWxEdGRQdHI8L2E+CTxhIGhyZWY9IiN4bWxDb3B5RHRkIj54bWxDb3B5RHRkPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRHRkUHRyIj54bWxEdGRQdHI8L2E+IGR0ZCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5zUHRyIj54bWxOc1B0cjwvYT4JPGEgaHJlZj0iI3htbENvcHlOYW1lc3BhY2UiPnhtbENvcHlOYW1lc3BhY2U8L2E+CSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5zUHRyIj54bWxOc1B0cjwvYT4gY3VyKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTnNQdHIiPnhtbE5zUHRyPC9hPgk8YSBocmVmPSIjeG1sQ29weU5hbWVzcGFjZUxpc3QiPnhtbENvcHlOYW1lc3BhY2VMaXN0PC9hPgkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOc1B0ciI+eG1sTnNQdHI8L2E+IGN1cik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CTxhIGhyZWY9IiN4bWxDb3B5Tm9kZSI+eG1sQ29weU5vZGU8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlLCA8YnIgLz4JCQkJCSBpbnQgZXh0ZW5kZWQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgk8YSBocmVmPSIjeG1sQ29weU5vZGVMaXN0Ij54bWxDb3B5Tm9kZUxpc3Q8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQXR0clB0ciI+eG1sQXR0clB0cjwvYT4JPGEgaHJlZj0iI3htbENvcHlQcm9wIj54bWxDb3B5UHJvcDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IHRhcmdldCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxBdHRyUHRyIj54bWxBdHRyUHRyPC9hPiBjdXIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxBdHRyUHRyIj54bWxBdHRyUHRyPC9hPgk8YSBocmVmPSIjeG1sQ29weVByb3BMaXN0Ij54bWxDb3B5UHJvcExpc3Q8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiB0YXJnZXQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQXR0clB0ciI+eG1sQXR0clB0cjwvYT4gY3VyKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRHRkUHRyIj54bWxEdGRQdHI8L2E+CTxhIGhyZWY9IiN4bWxDcmVhdGVJbnRTdWJzZXQiPnhtbENyZWF0ZUludFN1YnNldDwvYT4JKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogRXh0ZXJuYWxJRCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogU3lzdGVtSUQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RnVuY3Rpb24gdHlwZTogPGEgaHJlZj0iI3htbERPTVdyYXBBY3F1aXJlTnNGdW5jdGlvbiI+eG1sRE9NV3JhcEFjcXVpcmVOc0Z1bmN0aW9uPC9hPgorPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOc1B0ciI+eG1sTnNQdHI8L2E+CTxhIGhyZWY9IiN4bWxET01XcmFwQWNxdWlyZU5zRnVuY3Rpb24iPnhtbERPTVdyYXBBY3F1aXJlTnNGdW5jdGlvbjwvYT4JKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcEN0eHRQdHIiPnhtbERPTVdyYXBDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlLCA8YnIgLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbnNOYW1lLCA8YnIgLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbnNQcmVmaXgpCis8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbERPTVdyYXBBZG9wdE5vZGUiPnhtbERPTVdyYXBBZG9wdE5vZGU8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwQ3R4dFB0ciI+eG1sRE9NV3JhcEN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IHNvdXJjZURvYywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkZXN0RG9jLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGRlc3RQYXJlbnQsIDxiciAvPgkJCQkJIGludCBvcHRpb25zKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sRE9NV3JhcENsb25lTm9kZSI+eG1sRE9NV3JhcENsb25lTm9kZTwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBDdHh0UHRyIj54bWxET01XcmFwQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gc291cmNlRG9jLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gKiByZXNOb2RlLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkZXN0RG9jLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGRlc3RQYXJlbnQsIDxiciAvPgkJCQkJIGludCBkZWVwLCA8YnIgLz4JCQkJCSBpbnQgb3B0aW9ucyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxET01XcmFwRnJlZUN0eHQiPnhtbERPTVdyYXBGcmVlQ3R4dDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBDdHh0UHRyIj54bWxET01XcmFwQ3R4dFB0cjwvYT4gY3R4dCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBDdHh0UHRyIj54bWxET01XcmFwQ3R4dFB0cjwvYT4JPGEgaHJlZj0iI3htbERPTVdyYXBOZXdDdHh0Ij54bWxET01XcmFwTmV3Q3R4dDwvYT4JKHZvaWQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxET01XcmFwUmVjb25jaWxlTmFtZXNwYWNlcyI+eG1sRE9NV3JhcFJlY29uY2lsZU5hbWVzcGFjZXM8L2E+CSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBDdHh0UHRyIj54bWxET01XcmFwQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBlbGVtLCA8YnIgLz4JCQkJCSBpbnQgb3B0aW9ucyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbERPTVdyYXBSZW1vdmVOb2RlIj54bWxET01XcmFwUmVtb3ZlTm9kZTwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBDdHh0UHRyIj54bWxET01XcmFwQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsIDxiciAvPgkJCQkJIGludCBvcHRpb25zKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JPGEgaHJlZj0iI3htbERvY0NvcHlOb2RlIj54bWxEb2NDb3B5Tm9kZTwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyIC8+CQkJCQkgaW50IGV4dGVuZGVkKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JPGEgaHJlZj0iI3htbERvY0NvcHlOb2RlTGlzdCI+eG1sRG9jQ29weU5vZGVMaXN0PC9hPgkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxEb2NEdW1wIj54bWxEb2NEdW1wPC9hPgkJCShGSUxFICogZiwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gY3VyKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbERvY0R1bXBGb3JtYXRNZW1vcnkiPnhtbERvY0R1bXBGb3JtYXRNZW1vcnk8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gY3VyLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiogbWVtLCA8YnIgLz4JCQkJCSBpbnQgKiBzaXplLCA8YnIgLz4JCQkJCSBpbnQgZm9ybWF0KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbERvY0R1bXBGb3JtYXRNZW1vcnlFbmMiPnhtbERvY0R1bXBGb3JtYXRNZW1vcnlFbmM8L2E+CSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBvdXRfZG9jLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiogZG9jX3R4dF9wdHIsIDxiciAvPgkJCQkJIGludCAqIGRvY190eHRfbGVuLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogdHh0X2VuY29kaW5nLCA8YnIgLz4JCQkJCSBpbnQgZm9ybWF0KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbERvY0R1bXBNZW1vcnkiPnhtbERvY0R1bXBNZW1vcnk8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gY3VyLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiogbWVtLCA8YnIgLz4JCQkJCSBpbnQgKiBzaXplKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbERvY0R1bXBNZW1vcnlFbmMiPnhtbERvY0R1bXBNZW1vcnlFbmM8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gb3V0X2RvYywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoqIGRvY190eHRfcHRyLCA8YnIgLz4JCQkJCSBpbnQgKiBkb2NfdHh0X2xlbiwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIHR4dF9lbmNvZGluZyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbERvY0Zvcm1hdER1bXAiPnhtbERvY0Zvcm1hdER1bXA8L2E+CQkoRklMRSAqIGYsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGN1ciwgPGJyIC8+CQkJCQkgaW50IGZvcm1hdCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CTxhIGhyZWY9IiN4bWxEb2NHZXRSb290RWxlbWVudCI+eG1sRG9jR2V0Um9vdEVsZW1lbnQ8L2E+CShjb25zdCA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvYyI+eG1sRG9jPC9hPiAqIGRvYyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CTxhIGhyZWY9IiN4bWxEb2NTZXRSb290RWxlbWVudCI+eG1sRG9jU2V0Um9vdEVsZW1lbnQ8L2E+CSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gcm9vdCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxFbGVtRHVtcCI+eG1sRWxlbUR1bXA8L2E+CQkJKEZJTEUgKiBmLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gY3VyKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JPGEgaHJlZj0iI3htbEZpcnN0RWxlbWVudENoaWxkIj54bWxGaXJzdEVsZW1lbnRDaGlsZDwvYT4JKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gcGFyZW50KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbEZyZWVEb2MiPnhtbEZyZWVEb2M8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGN1cik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxGcmVlRHRkIj54bWxGcmVlRHRkPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbER0ZFB0ciI+eG1sRHRkUHRyPC9hPiBjdXIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sRnJlZU5vZGUiPnhtbEZyZWVOb2RlPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGN1cik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxGcmVlTm9kZUxpc3QiPnhtbEZyZWVOb2RlTGlzdDwvYT4JCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sRnJlZU5zIj54bWxGcmVlTnM8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTnNQdHIiPnhtbE5zUHRyPC9hPiBjdXIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sRnJlZU5zTGlzdCI+eG1sRnJlZU5zTGlzdDwvYT4JCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOc1B0ciI+eG1sTnNQdHI8L2E+IGN1cik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxGcmVlUHJvcCI+eG1sRnJlZVByb3A8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQXR0clB0ciI+eG1sQXR0clB0cjwvYT4gY3VyKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbEZyZWVQcm9wTGlzdCI+eG1sRnJlZVByb3BMaXN0PC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEF0dHJQdHIiPnhtbEF0dHJQdHI8L2E+IGN1cik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUiPnhtbEJ1ZmZlckFsbG9jYXRpb25TY2hlbWU8L2E+CTxhIGhyZWY9IiN4bWxHZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lIj54bWxHZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lPC9hPgkodm9pZCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbEdldENvbXByZXNzTW9kZSI+eG1sR2V0Q29tcHJlc3NNb2RlPC9hPgkJKHZvaWQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxHZXREb2NDb21wcmVzc01vZGUiPnhtbEdldERvY0NvbXByZXNzTW9kZTwvYT4JCShjb25zdCA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvYyI+eG1sRG9jPC9hPiAqIGRvYyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbER0ZFB0ciI+eG1sRHRkUHRyPC9hPgk8YSBocmVmPSIjeG1sR2V0SW50U3Vic2V0Ij54bWxHZXRJbnRTdWJzZXQ8L2E+CQkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2MiPnhtbERvYzwvYT4gKiBkb2MpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgk8YSBocmVmPSIjeG1sR2V0TGFzdENoaWxkIj54bWxHZXRMYXN0Q2hpbGQ8L2E+CQkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlIj54bWxOb2RlPC9hPiAqIHBhcmVudCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5sb25nCTxhIGhyZWY9IiN4bWxHZXRMaW5lTm8iPnhtbEdldExpbmVObzwvYT4JCQkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlIj54bWxOb2RlPC9hPiAqIG5vZGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbEdldE5vTnNQcm9wIj54bWxHZXROb05zUHJvcDwvYT4JCShjb25zdCA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGUiPnhtbE5vZGU8L2E+ICogbm9kZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sR2V0Tm9kZVBhdGgiPnhtbEdldE5vZGVQYXRoPC9hPgkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZSI+eG1sTm9kZTwvYT4gKiBub2RlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTnNQdHIiPnhtbE5zUHRyPC9hPiAqCTxhIGhyZWY9IiN4bWxHZXROc0xpc3QiPnhtbEdldE5zTGlzdDwvYT4JCShjb25zdCA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvYyI+eG1sRG9jPC9hPiAqIGRvYywgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlIj54bWxOb2RlPC9hPiAqIG5vZGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbEdldE5zUHJvcCI+eG1sR2V0TnNQcm9wPC9hPgkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZSI+eG1sTm9kZTwvYT4gKiBub2RlLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lU3BhY2UpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbEdldFByb3AiPnhtbEdldFByb3A8L2E+CQkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlIj54bWxOb2RlPC9hPiAqIG5vZGUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxBdHRyUHRyIj54bWxBdHRyUHRyPC9hPgk8YSBocmVmPSIjeG1sSGFzTnNQcm9wIj54bWxIYXNOc1Byb3A8L2E+CQkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlIj54bWxOb2RlPC9hPiAqIG5vZGUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWVTcGFjZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEF0dHJQdHIiPnhtbEF0dHJQdHI8L2E+CTxhIGhyZWY9IiN4bWxIYXNQcm9wIj54bWxIYXNQcm9wPC9hPgkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZSI+eG1sTm9kZTwvYT4gKiBub2RlLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sSXNCbGFua05vZGUiPnhtbElzQmxhbmtOb2RlPC9hPgkJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGUiPnhtbE5vZGU8L2E+ICogbm9kZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbElzWEhUTUwiPnhtbElzWEhUTUw8L2E+CQkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN5c3RlbUlELCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwdWJsaWNJRCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CTxhIGhyZWY9IiN4bWxMYXN0RWxlbWVudENoaWxkIj54bWxMYXN0RWxlbWVudENoaWxkPC9hPgkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBwYXJlbnQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgk8YSBocmVmPSIjeG1sTmV3Q0RhdGFCbG9jayI+eG1sTmV3Q0RhdGFCbG9jazwvYT4JKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY29udGVudCwgPGJyIC8+CQkJCQkgaW50IGxlbik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CTxhIGhyZWY9IiN4bWxOZXdDaGFyUmVmIj54bWxOZXdDaGFyUmVmPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CTxhIGhyZWY9IiN4bWxOZXdDaGlsZCI+eG1sTmV3Q2hpbGQ8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBwYXJlbnQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTnNQdHIiPnhtbE5zUHRyPC9hPiBucywgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY29udGVudCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CTxhIGhyZWY9IiN4bWxOZXdDb21tZW50Ij54bWxOZXdDb21tZW50PC9hPgkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGNvbnRlbnQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4JPGEgaHJlZj0iI3htbE5ld0RvYyI+eG1sTmV3RG9jPC9hPgkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHZlcnNpb24pPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgk8YSBocmVmPSIjeG1sTmV3RG9jQ29tbWVudCI+eG1sTmV3RG9jQ29tbWVudDwvYT4JKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY29udGVudCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CTxhIGhyZWY9IiN4bWxOZXdEb2NGcmFnbWVudCI+eG1sTmV3RG9jRnJhZ21lbnQ8L2E+CSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgk8YSBocmVmPSIjeG1sTmV3RG9jTm9kZSI+eG1sTmV3RG9jTm9kZTwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTnNQdHIiPnhtbE5zUHRyPC9hPiBucywgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY29udGVudCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CTxhIGhyZWY9IiN4bWxOZXdEb2NOb2RlRWF0TmFtZSI+eG1sTmV3RG9jTm9kZUVhdE5hbWU8L2E+CSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTnNQdHIiPnhtbE5zUHRyPC9hPiBucywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY29udGVudCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CTxhIGhyZWY9IiN4bWxOZXdEb2NQSSI+eG1sTmV3RG9jUEk8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjb250ZW50KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQXR0clB0ciI+eG1sQXR0clB0cjwvYT4JPGEgaHJlZj0iI3htbE5ld0RvY1Byb3AiPnhtbE5ld0RvY1Byb3A8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB2YWx1ZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CTxhIGhyZWY9IiN4bWxOZXdEb2NSYXdOb2RlIj54bWxOZXdEb2NSYXdOb2RlPC9hPgkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5zUHRyIj54bWxOc1B0cjwvYT4gbnMsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGNvbnRlbnQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgk8YSBocmVmPSIjeG1sTmV3RG9jVGV4dCI+eG1sTmV3RG9jVGV4dDwvYT4JCShjb25zdCA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvYyI+eG1sRG9jPC9hPiAqIGRvYywgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY29udGVudCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CTxhIGhyZWY9IiN4bWxOZXdEb2NUZXh0TGVuIj54bWxOZXdEb2NUZXh0TGVuPC9hPgkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjb250ZW50LCA8YnIgLz4JCQkJCSBpbnQgbGVuKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRHRkUHRyIj54bWxEdGRQdHI8L2E+CTxhIGhyZWY9IiN4bWxOZXdEdGQiPnhtbE5ld0R0ZDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIEV4dGVybmFsSUQsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIFN5c3RlbUlEKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTnNQdHIiPnhtbE5zUHRyPC9hPgk8YSBocmVmPSIjeG1sTmV3R2xvYmFsTnMiPnhtbE5ld0dsb2JhbE5zPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogaHJlZiwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHJlZml4KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JPGEgaHJlZj0iI3htbE5ld05vZGUiPnhtbE5ld05vZGU8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOc1B0ciI+eG1sTnNQdHI8L2E+IG5zLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JPGEgaHJlZj0iI3htbE5ld05vZGVFYXROYW1lIj54bWxOZXdOb2RlRWF0TmFtZTwvYT4JKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTnNQdHIiPnhtbE5zUHRyPC9hPiBucywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5zUHRyIj54bWxOc1B0cjwvYT4JPGEgaHJlZj0iI3htbE5ld05zIj54bWxOZXdOczwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGhyZWYsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHByZWZpeCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEF0dHJQdHIiPnhtbEF0dHJQdHI8L2E+CTxhIGhyZWY9IiN4bWxOZXdOc1Byb3AiPnhtbE5ld05zUHJvcDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTnNQdHIiPnhtbE5zUHRyPC9hPiBucywgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxBdHRyUHRyIj54bWxBdHRyUHRyPC9hPgk8YSBocmVmPSIjeG1sTmV3TnNQcm9wRWF0TmFtZSI+eG1sTmV3TnNQcm9wRWF0TmFtZTwvYT4JKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOc1B0ciI+eG1sTnNQdHI8L2E+IG5zLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB2YWx1ZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CTxhIGhyZWY9IiN4bWxOZXdQSSI+eG1sTmV3UEk8L2E+CQkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY29udGVudCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEF0dHJQdHIiPnhtbEF0dHJQdHI8L2E+CTxhIGhyZWY9IiN4bWxOZXdQcm9wIj54bWxOZXdQcm9wPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgk8YSBocmVmPSIjeG1sTmV3UmVmZXJlbmNlIj54bWxOZXdSZWZlcmVuY2U8L2E+CQkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2MiPnhtbERvYzwvYT4gKiBkb2MsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgk8YSBocmVmPSIjeG1sTmV3VGV4dCI+eG1sTmV3VGV4dDwvYT4JCShjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjb250ZW50KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JPGEgaHJlZj0iI3htbE5ld1RleHRDaGlsZCI+eG1sTmV3VGV4dENoaWxkPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gcGFyZW50LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5zUHRyIj54bWxOc1B0cjwvYT4gbnMsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGNvbnRlbnQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgk8YSBocmVmPSIjeG1sTmV3VGV4dExlbiI+eG1sTmV3VGV4dExlbjwvYT4JCShjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjb250ZW50LCA8YnIgLz4JCQkJCSBpbnQgbGVuKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JPGEgaHJlZj0iI3htbE5leHRFbGVtZW50U2libGluZyI+eG1sTmV4dEVsZW1lbnRTaWJsaW5nPC9hPgkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbE5vZGVBZGRDb250ZW50Ij54bWxOb2RlQWRkQ29udGVudDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGN1ciwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY29udGVudCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxOb2RlQWRkQ29udGVudExlbiI+eG1sTm9kZUFkZENvbnRlbnRMZW48L2E+CQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGNvbnRlbnQsIDxiciAvPgkJCQkJIGludCBsZW4pPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxOb2RlQnVmR2V0Q29udGVudCI+eG1sTm9kZUJ1ZkdldENvbnRlbnQ8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJQdHIiPnhtbEJ1ZmZlclB0cjwvYT4gYnVmZmVyLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGUiPnhtbE5vZGU8L2E+ICogY3VyKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sTm9kZUR1bXAiPnhtbE5vZGVEdW1wPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlclB0ciI+eG1sQnVmZmVyUHRyPC9hPiBidWYsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIsIDxiciAvPgkJCQkJIGludCBsZXZlbCwgPGJyIC8+CQkJCQkgaW50IGZvcm1hdCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxOb2RlRHVtcE91dHB1dCI+eG1sTm9kZUR1bXBPdXRwdXQ8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxPdXRwdXRCdWZmZXJQdHIiPnhtbE91dHB1dEJ1ZmZlclB0cjwvYT4gYnVmLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gY3VyLCA8YnIgLz4JCQkJCSBpbnQgbGV2ZWwsIDxiciAvPgkJCQkJIGludCBmb3JtYXQsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sTm9kZUdldEJhc2UiPnhtbE5vZGVHZXRCYXNlPC9hPgkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jIj54bWxEb2M8L2E+ICogZG9jLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGUiPnhtbE5vZGU8L2E+ICogY3VyKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxOb2RlR2V0Q29udGVudCI+eG1sTm9kZUdldENvbnRlbnQ8L2E+CShjb25zdCA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGUiPnhtbE5vZGU8L2E+ICogY3VyKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxOb2RlR2V0TGFuZyI+eG1sTm9kZUdldExhbmc8L2E+CQkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlIj54bWxOb2RlPC9hPiAqIGN1cik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbE5vZGVHZXRTcGFjZVByZXNlcnZlIj54bWxOb2RlR2V0U3BhY2VQcmVzZXJ2ZTwvYT4JCShjb25zdCA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGUiPnhtbE5vZGU8L2E+ICogY3VyKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sTm9kZUlzVGV4dCI+eG1sTm9kZUlzVGV4dDwvYT4JCQkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlIj54bWxOb2RlPC9hPiAqIG5vZGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbE5vZGVMaXN0R2V0UmF3U3RyaW5nIj54bWxOb2RlTGlzdEdldFJhd1N0cmluZzwvYT4JKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jIj54bWxEb2M8L2E+ICogZG9jLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGUiPnhtbE5vZGU8L2E+ICogbGlzdCwgPGJyIC8+CQkJCQkgaW50IGluTGluZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sTm9kZUxpc3RHZXRTdHJpbmciPnhtbE5vZGVMaXN0R2V0U3RyaW5nPC9hPgkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGUiPnhtbE5vZGU8L2E+ICogbGlzdCwgPGJyIC8+CQkJCQkgaW50IGluTGluZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxOb2RlU2V0QmFzZSI+eG1sTm9kZVNldEJhc2U8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gY3VyLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB1cmkpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sTm9kZVNldENvbnRlbnQiPnhtbE5vZGVTZXRDb250ZW50PC9hPgkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gY3VyLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjb250ZW50KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbE5vZGVTZXRDb250ZW50TGVuIj54bWxOb2RlU2V0Q29udGVudExlbjwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGN1ciwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY29udGVudCwgPGJyIC8+CQkJCQkgaW50IGxlbik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxOb2RlU2V0TGFuZyI+eG1sTm9kZVNldExhbmc8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gY3VyLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBsYW5nKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbE5vZGVTZXROYW1lIj54bWxOb2RlU2V0TmFtZTwvYT4JCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sTm9kZVNldFNwYWNlUHJlc2VydmUiPnhtbE5vZGVTZXRTcGFjZVByZXNlcnZlPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gY3VyLCA8YnIgLz4JCQkJCSBpbnQgdmFsKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JPGEgaHJlZj0iI3htbFByZXZpb3VzRWxlbWVudFNpYmxpbmciPnhtbFByZXZpb3VzRWxlbWVudFNpYmxpbmc8L2E+CSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxSZWNvbmNpbGlhdGVOcyI+eG1sUmVjb25jaWxpYXRlTnM8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IHRyZWUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxSZW1vdmVQcm9wIj54bWxSZW1vdmVQcm9wPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEF0dHJQdHIiPnhtbEF0dHJQdHI8L2E+IGN1cik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CTxhIGhyZWY9IiN4bWxSZXBsYWNlTm9kZSI+eG1sUmVwbGFjZU5vZGU8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBvbGQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gY3VyKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sU2F2ZUZpbGUiPnhtbFNhdmVGaWxlPC9hPgkJCShjb25zdCBjaGFyICogZmlsZW5hbWUsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGN1cik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFNhdmVGaWxlRW5jIj54bWxTYXZlRmlsZUVuYzwvYT4JCQkoY29uc3QgY2hhciAqIGZpbGVuYW1lLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBjdXIsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFNhdmVGaWxlVG8iPnhtbFNhdmVGaWxlVG88L2E+CQkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sT3V0cHV0QnVmZmVyUHRyIj54bWxPdXRwdXRCdWZmZXJQdHI8L2E+IGJ1ZiwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gY3VyLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxTYXZlRm9ybWF0RmlsZSI+eG1sU2F2ZUZvcm1hdEZpbGU8L2E+CQkoY29uc3QgY2hhciAqIGZpbGVuYW1lLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBjdXIsIDxiciAvPgkJCQkJIGludCBmb3JtYXQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxTYXZlRm9ybWF0RmlsZUVuYyI+eG1sU2F2ZUZvcm1hdEZpbGVFbmM8L2E+CQkoY29uc3QgY2hhciAqIGZpbGVuYW1lLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBjdXIsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyIC8+CQkJCQkgaW50IGZvcm1hdCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFNhdmVGb3JtYXRGaWxlVG8iPnhtbFNhdmVGb3JtYXRGaWxlVG88L2E+CQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxPdXRwdXRCdWZmZXJQdHIiPnhtbE91dHB1dEJ1ZmZlclB0cjwvYT4gYnVmLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBjdXIsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyIC8+CQkJCQkgaW50IGZvcm1hdCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5zUHRyIj54bWxOc1B0cjwvYT4JPGEgaHJlZj0iI3htbFNlYXJjaE5zIj54bWxTZWFyY2hOczwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZVNwYWNlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTnNQdHIiPnhtbE5zUHRyPC9hPgk8YSBocmVmPSIjeG1sU2VhcmNoTnNCeUhyZWYiPnhtbFNlYXJjaE5zQnlIcmVmPC9hPgkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGhyZWYpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sU2V0QnVmZmVyQWxsb2NhdGlvblNjaGVtZSI+eG1sU2V0QnVmZmVyQWxsb2NhdGlvblNjaGVtZTwvYT4JKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyQWxsb2NhdGlvblNjaGVtZSI+eG1sQnVmZmVyQWxsb2NhdGlvblNjaGVtZTwvYT4gc2NoZW1lKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFNldENvbXByZXNzTW9kZSI+eG1sU2V0Q29tcHJlc3NNb2RlPC9hPgkJKGludCBtb2RlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFNldERvY0NvbXByZXNzTW9kZSI+eG1sU2V0RG9jQ29tcHJlc3NNb2RlPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyIC8+CQkJCQkgaW50IG1vZGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sU2V0TGlzdERvYyI+eG1sU2V0TGlzdERvYzwvYT4JCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBsaXN0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sU2V0TnMiPnhtbFNldE5zPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTnNQdHIiPnhtbE5zUHRyPC9hPiBucyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEF0dHJQdHIiPnhtbEF0dHJQdHI8L2E+CTxhIGhyZWY9IiN4bWxTZXROc1Byb3AiPnhtbFNldE5zUHJvcDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTnNQdHIiPnhtbE5zUHRyPC9hPiBucywgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxBdHRyUHRyIj54bWxBdHRyUHRyPC9hPgk8YSBocmVmPSIjeG1sU2V0UHJvcCI+eG1sU2V0UHJvcDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHZhbHVlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFNldFRyZWVEb2MiPnhtbFNldFRyZWVEb2M8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gdHJlZSwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxTcGxpdFFOYW1lMiI+eG1sU3BsaXRRTmFtZTI8L2E+CQkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoqIHByZWZpeCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5jb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sU3BsaXRRTmFtZTMiPnhtbFNwbGl0UU5hbWUzPC9hPgkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJIGludCAqIGxlbik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CTxhIGhyZWY9IiN4bWxTdHJpbmdHZXROb2RlTGlzdCI+eG1sU3RyaW5nR2V0Tm9kZUxpc3Q8L2E+CShjb25zdCA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvYyI+eG1sRG9jPC9hPiAqIGRvYywgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgk8YSBocmVmPSIjeG1sU3RyaW5nTGVuR2V0Tm9kZUxpc3QiPnhtbFN0cmluZ0xlbkdldE5vZGVMaXN0PC9hPgkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2MiPnhtbERvYzwvYT4gKiBkb2MsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHZhbHVlLCA8YnIgLz4JCQkJCSBpbnQgbGVuKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVGV4dENvbmNhdCI+eG1sVGV4dENvbmNhdDwvYT4JCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjb250ZW50LCA8YnIgLz4JCQkJCSBpbnQgbGVuKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JPGEgaHJlZj0iI3htbFRleHRNZXJnZSI+eG1sVGV4dE1lcmdlPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gZmlyc3QsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gc2Vjb25kKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFVubGlua05vZGUiPnhtbFVubGlua05vZGU8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gY3VyKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVW5zZXROc1Byb3AiPnhtbFVuc2V0TnNQcm9wPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTnNQdHIiPnhtbE5zUHRyPC9hPiBucywgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFVuc2V0UHJvcCI+eG1sVW5zZXRQcm9wPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxWYWxpZGF0ZU5DTmFtZSI+eG1sVmFsaWRhdGVOQ05hbWU8L2E+CQkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUsIDxiciAvPgkJCQkJIGludCBzcGFjZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFZhbGlkYXRlTk1Ub2tlbiI+eG1sVmFsaWRhdGVOTVRva2VuPC9hPgkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHZhbHVlLCA8YnIgLz4JCQkJCSBpbnQgc3BhY2UpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxWYWxpZGF0ZU5hbWUiPnhtbFZhbGlkYXRlTmFtZTwvYT4JCQkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUsIDxiciAvPgkJCQkJIGludCBzcGFjZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFZhbGlkYXRlUU5hbWUiPnhtbFZhbGlkYXRlUU5hbWU8L2E+CQkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUsIDxiciAvPgkJCQkJIGludCBzcGFjZSk8L3ByZT4KKzxoMj5EZXNjcmlwdGlvbjwvaDI+Cis8aDM+PGEgbmFtZT0iQkFTRV9CVUZGRVJfU0laRSIgaWQ9IkJBU0VfQlVGRkVSX1NJWkUiPjwvYT5NYWNybzogQkFTRV9CVUZGRVJfU0laRTwvaDM+PHByZT4jZGVmaW5lIEJBU0VfQlVGRkVSX1NJWkU8L3ByZT48cD5kZWZhdWx0IGJ1ZmZlciBzaXplIDQwMDAuPC9wPgorPGgzPjxhIG5hbWU9IkxJQlhNTDJfTkVXX0JVRkZFUiIgaWQ9IkxJQlhNTDJfTkVXX0JVRkZFUiI+PC9hPk1hY3JvOiBMSUJYTUwyX05FV19CVUZGRVI8L2gzPjxwcmU+I2RlZmluZSBMSUJYTUwyX05FV19CVUZGRVI8L3ByZT48cD5NYWNybyB1c2VkIHRvIGV4cHJlc3MgdGhhdCB0aGUgQVBJIHVzZSB0aGUgbmV3IGJ1ZmZlcnMgZm9yIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXIiPnhtbFBhcnNlcklucHV0QnVmZmVyPC9hPiBhbmQgeG1sT3V0cHV0QnVmZmVyLiBUaGUgY2hhbmdlIHdhcyBpbnRyb2R1Y2VkIGluIDIuOS4wLjwvcD4KKzxoMz48YSBuYW1lPSJYTUxfR0VUX0NPTlRFTlQiIGlkPSJYTUxfR0VUX0NPTlRFTlQiPjwvYT5NYWNybzogWE1MX0dFVF9DT05URU5UPC9oMz48cHJlPiNkZWZpbmUgWE1MX0dFVF9DT05URU5UPC9wcmU+PHA+TWFjcm8gdG8gZXh0cmFjdCB0aGUgY29udGVudCBwb2ludGVyIG9mIGEgbm9kZS48L3A+Cis8aDM+PGEgbmFtZT0iWE1MX0dFVF9MSU5FIiBpZD0iWE1MX0dFVF9MSU5FIj48L2E+TWFjcm86IFhNTF9HRVRfTElORTwvaDM+PHByZT4jZGVmaW5lIFhNTF9HRVRfTElORTwvcHJlPjxwPk1hY3JvIHRvIGV4dHJhY3QgdGhlIGxpbmUgbnVtYmVyIG9mIGFuIGVsZW1lbnQgbm9kZS48L3A+Cis8aDM+PGEgbmFtZT0iWE1MX0xPQ0FMX05BTUVTUEFDRSIgaWQ9IlhNTF9MT0NBTF9OQU1FU1BBQ0UiPjwvYT5NYWNybzogWE1MX0xPQ0FMX05BTUVTUEFDRTwvaDM+PHByZT4jZGVmaW5lIFhNTF9MT0NBTF9OQU1FU1BBQ0U8L3ByZT48cD5BIG5hbWVzcGFjZSBkZWNsYXJhdGlvbiBub2RlLjwvcD4KKzxoMz48YSBuYW1lPSJYTUxfWE1MX0lEIiBpZD0iWE1MX1hNTF9JRCI+PC9hPk1hY3JvOiBYTUxfWE1MX0lEPC9oMz48cHJlPiNkZWZpbmUgWE1MX1hNTF9JRDwvcHJlPjxwPlRoaXMgaXMgdGhlIG5hbWUgZm9yIHRoZSBzcGVjaWFsIHhtbDppZCA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+PC9wPgorPGgzPjxhIG5hbWU9IlhNTF9YTUxfTkFNRVNQQUNFIiBpZD0iWE1MX1hNTF9OQU1FU1BBQ0UiPjwvYT5NYWNybzogWE1MX1hNTF9OQU1FU1BBQ0U8L2gzPjxwcmU+I2RlZmluZSBYTUxfWE1MX05BTUVTUEFDRTwvcHJlPjxwPlRoaXMgaXMgdGhlIG5hbWVzcGFjZSBmb3IgdGhlIHNwZWNpYWwgeG1sOiBwcmVmaXggcHJlZGVmaW5lZCBpbiB0aGUgWE1MIE5hbWVzcGFjZSBzcGVjaWZpY2F0aW9uLjwvcD4KKzxoMz48YSBuYW1lPSJ4bWxDaGlsZHJlbk5vZGUiIGlkPSJ4bWxDaGlsZHJlbk5vZGUiPjwvYT5NYWNybzogeG1sQ2hpbGRyZW5Ob2RlPC9oMz48cHJlPiNkZWZpbmUgeG1sQ2hpbGRyZW5Ob2RlPC9wcmU+PHA+TWFjcm8gZm9yIGNvbXBhdGliaWxpdHkgbmFtaW5nIGxheWVyIHdpdGggbGlieG1sMS4gTWFwcyB0byAiY2hpbGRyZW4uIjwvcD4KKzxoMz48YSBuYW1lPSJ4bWxSb290Tm9kZSIgaWQ9InhtbFJvb3ROb2RlIj48L2E+TWFjcm86IHhtbFJvb3ROb2RlPC9oMz48cHJlPiNkZWZpbmUgeG1sUm9vdE5vZGU8L3ByZT48cD5NYWNybyBmb3IgY29tcGF0aWJpbGl0eSBuYW1pbmcgbGF5ZXIgd2l0aCBsaWJ4bWwxLiBNYXBzIHRvICJjaGlsZHJlbiIuPC9wPgorPGgzPjxhIG5hbWU9InhtbEF0dHIiIGlkPSJ4bWxBdHRyIj5TdHJ1Y3R1cmUgeG1sQXR0cjwvYT48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgeG1sQXR0cjxiciAvPnN0cnVjdCBfeG1sQXR0ciB7CisgICAgdm9pZCAqCV9wcml2YXRlCTogYXBwbGljYXRpb24gZGF0YQorICAgIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRWxlbWVudFR5cGUiPnhtbEVsZW1lbnRUeXBlPC9hPgl0eXBlCTogWE1MX0FUVFJJQlVURV9OT0RFLCBtdXN0IGJlIHNlY29uZCAhCisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJbmFtZQk6IHRoZSBuYW1lIG9mIHRoZSBwcm9wZXJ0eQorICAgIHN0cnVjdCBfeG1sTm9kZSAqCWNoaWxkcmVuCTogdGhlIHZhbHVlIG9mIHRoZSBwcm9wZXJ0eQorICAgIHN0cnVjdCBfeG1sTm9kZSAqCWxhc3QJOiBOVUxMCisgICAgc3RydWN0IF94bWxOb2RlICoJcGFyZW50CTogY2hpbGQtJmd0O3BhcmVudCBsaW5rCisgICAgc3RydWN0IF94bWxBdHRyICoJbmV4dAk6IG5leHQgc2libGluZyBsaW5rCisgICAgc3RydWN0IF94bWxBdHRyICoJcHJldgk6IHByZXZpb3VzIHNpYmxpbmcgbGluaworICAgIHN0cnVjdCBfeG1sRG9jICoJZG9jCTogdGhlIGNvbnRhaW5pbmcgZG9jdW1lbnQKKyAgICA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5zIj54bWxOczwvYT4gKglucwk6IHBvaW50ZXIgdG8gdGhlIGFzc29jaWF0ZWQgbmFtZXNwYWNlCisgICAgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxBdHRyaWJ1dGVUeXBlIj54bWxBdHRyaWJ1dGVUeXBlPC9hPglhdHlwZQk6IHRoZSA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IHR5cGUgaWYgdmFsaWRhdGluZworICAgIHZvaWQgKglwc3ZpCTogZm9yIHR5cGUvUFNWSSBpbmZvcm1hdGlvbnMKK308L3ByZT48aDM+PGEgbmFtZT0ieG1sQXR0cmlidXRlIiBpZD0ieG1sQXR0cmlidXRlIj5TdHJ1Y3R1cmUgeG1sQXR0cmlidXRlPC9hPjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlN0cnVjdHVyZSB4bWxBdHRyaWJ1dGU8YnIgLz5zdHJ1Y3QgX3htbEF0dHJpYnV0ZSB7CisgICAgdm9pZCAqCV9wcml2YXRlCTogYXBwbGljYXRpb24gZGF0YQorICAgIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRWxlbWVudFR5cGUiPnhtbEVsZW1lbnRUeXBlPC9hPgl0eXBlCTogWE1MX0FUVFJJQlVURV9ERUNMLCBtdXN0IGJlIHNlY29uZCAhCisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJbmFtZQk6IEF0dHJpYnV0ZSBuYW1lCisgICAgc3RydWN0IF94bWxOb2RlICoJY2hpbGRyZW4JOiBOVUxMCisgICAgc3RydWN0IF94bWxOb2RlICoJbGFzdAk6IE5VTEwKKyAgICBzdHJ1Y3QgX3htbER0ZCAqCXBhcmVudAk6IC0mZ3Q7IERURAorICAgIHN0cnVjdCBfeG1sTm9kZSAqCW5leHQJOiBuZXh0IHNpYmxpbmcgbGluaworICAgIHN0cnVjdCBfeG1sTm9kZSAqCXByZXYJOiBwcmV2aW91cyBzaWJsaW5nIGxpbmsKKyAgICBzdHJ1Y3QgX3htbERvYyAqCWRvYwk6IHRoZSBjb250YWluaW5nIGRvY3VtZW50CisgICAgc3RydWN0IF94bWxBdHRyaWJ1dGUgKgluZXh0aAk6IG5leHQgaW4gaGFzaCB0YWJsZQorICAgIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQXR0cmlidXRlVHlwZSI+eG1sQXR0cmlidXRlVHlwZTwvYT4JYXR5cGUJOiBUaGUgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiB0eXBlCisgICAgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxBdHRyaWJ1dGVEZWZhdWx0Ij54bWxBdHRyaWJ1dGVEZWZhdWx0PC9hPglkZWYJOiB0aGUgZGVmYXVsdAorICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCWRlZmF1bHRWYWx1ZQk6IG9yIHRoZSBkZWZhdWx0IHZhbHVlCisgICAgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxFbnVtZXJhdGlvblB0ciI+eG1sRW51bWVyYXRpb25QdHI8L2E+CXRyZWUJOiBvciB0aGUgZW51bWVyYXRpb24gdHJlZSBpZiBhbnkKKyAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKglwcmVmaXgJOiB0aGUgbmFtZXNwYWNlIHByZWZpeCBpZiBhbnkKKyAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgllbGVtCTogRWxlbWVudCBob2xkaW5nIHRoZSA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+Cit9PC9wcmU+PGgzPkVudW0gPGEgbmFtZT0ieG1sQXR0cmlidXRlRGVmYXVsdCIgaWQ9InhtbEF0dHJpYnV0ZURlZmF1bHQiPnhtbEF0dHJpYnV0ZURlZmF1bHQ8L2E+PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RW51bSB4bWxBdHRyaWJ1dGVEZWZhdWx0IHsKKyAgICA8YSBuYW1lPSJYTUxfQVRUUklCVVRFX05PTkUiIGlkPSJYTUxfQVRUUklCVVRFX05PTkUiPlhNTF9BVFRSSUJVVEVfTk9ORTwvYT4gPSAxCisgICAgPGEgbmFtZT0iWE1MX0FUVFJJQlVURV9SRVFVSVJFRCIgaWQ9IlhNTF9BVFRSSUJVVEVfUkVRVUlSRUQiPlhNTF9BVFRSSUJVVEVfUkVRVUlSRUQ8L2E+ID0gMgorICAgIDxhIG5hbWU9IlhNTF9BVFRSSUJVVEVfSU1QTElFRCIgaWQ9IlhNTF9BVFRSSUJVVEVfSU1QTElFRCI+WE1MX0FUVFJJQlVURV9JTVBMSUVEPC9hPiA9IDMKKyAgICA8YSBuYW1lPSJYTUxfQVRUUklCVVRFX0ZJWEVEIiBpZD0iWE1MX0FUVFJJQlVURV9GSVhFRCI+WE1MX0FUVFJJQlVURV9GSVhFRDwvYT4gPSA0Cit9Cis8L3ByZT48aDM+RW51bSA8YSBuYW1lPSJ4bWxBdHRyaWJ1dGVUeXBlIiBpZD0ieG1sQXR0cmlidXRlVHlwZSI+eG1sQXR0cmlidXRlVHlwZTwvYT48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5FbnVtIHhtbEF0dHJpYnV0ZVR5cGUgeworICAgIDxhIG5hbWU9IlhNTF9BVFRSSUJVVEVfQ0RBVEEiIGlkPSJYTUxfQVRUUklCVVRFX0NEQVRBIj5YTUxfQVRUUklCVVRFX0NEQVRBPC9hPiA9IDEKKyAgICA8YSBuYW1lPSJYTUxfQVRUUklCVVRFX0lEIiBpZD0iWE1MX0FUVFJJQlVURV9JRCI+WE1MX0FUVFJJQlVURV9JRDwvYT4gPSAyCisgICAgPGEgbmFtZT0iWE1MX0FUVFJJQlVURV9JRFJFRiIgaWQ9IlhNTF9BVFRSSUJVVEVfSURSRUYiPlhNTF9BVFRSSUJVVEVfSURSRUY8L2E+ID0gMworICAgIDxhIG5hbWU9IlhNTF9BVFRSSUJVVEVfSURSRUZTIiBpZD0iWE1MX0FUVFJJQlVURV9JRFJFRlMiPlhNTF9BVFRSSUJVVEVfSURSRUZTPC9hPiA9IDQKKyAgICA8YSBuYW1lPSJYTUxfQVRUUklCVVRFX0VOVElUWSIgaWQ9IlhNTF9BVFRSSUJVVEVfRU5USVRZIj5YTUxfQVRUUklCVVRFX0VOVElUWTwvYT4gPSA1CisgICAgPGEgbmFtZT0iWE1MX0FUVFJJQlVURV9FTlRJVElFUyIgaWQ9IlhNTF9BVFRSSUJVVEVfRU5USVRJRVMiPlhNTF9BVFRSSUJVVEVfRU5USVRJRVM8L2E+ID0gNgorICAgIDxhIG5hbWU9IlhNTF9BVFRSSUJVVEVfTk1UT0tFTiIgaWQ9IlhNTF9BVFRSSUJVVEVfTk1UT0tFTiI+WE1MX0FUVFJJQlVURV9OTVRPS0VOPC9hPiA9IDcKKyAgICA8YSBuYW1lPSJYTUxfQVRUUklCVVRFX05NVE9LRU5TIiBpZD0iWE1MX0FUVFJJQlVURV9OTVRPS0VOUyI+WE1MX0FUVFJJQlVURV9OTVRPS0VOUzwvYT4gPSA4CisgICAgPGEgbmFtZT0iWE1MX0FUVFJJQlVURV9FTlVNRVJBVElPTiIgaWQ9IlhNTF9BVFRSSUJVVEVfRU5VTUVSQVRJT04iPlhNTF9BVFRSSUJVVEVfRU5VTUVSQVRJT048L2E+ID0gOQorICAgIDxhIG5hbWU9IlhNTF9BVFRSSUJVVEVfTk9UQVRJT04iIGlkPSJYTUxfQVRUUklCVVRFX05PVEFUSU9OIj5YTUxfQVRUUklCVVRFX05PVEFUSU9OPC9hPiA9IDEwCit9Cis8L3ByZT48aDM+PGEgbmFtZT0ieG1sQnVmIiBpZD0ieG1sQnVmIj5TdHJ1Y3R1cmUgeG1sQnVmPC9hPjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlN0cnVjdHVyZSB4bWxCdWY8YnIgLz5zdHJ1Y3QgX3htbEJ1ZiB7CitUaGUgY29udGVudCBvZiB0aGlzIHN0cnVjdHVyZSBpcyBub3QgbWFkZSBwdWJsaWMgYnkgdGhlIEFQSS4KK308L3ByZT4KKyAgICAgIEEgcG9pbnRlciB0byBhIGJ1ZmZlciBzdHJ1Y3R1cmUsIHRoZSBhY3R1YWwgc3RydWN0dXJlIGludGVybmFscyBhcmUgbm90IHB1YmxpYworICAgIDxoMz48YSBuYW1lPSJ4bWxCdWZmZXIiIGlkPSJ4bWxCdWZmZXIiPlN0cnVjdHVyZSB4bWxCdWZmZXI8L2E+PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+U3RydWN0dXJlIHhtbEJ1ZmZlcjxiciAvPnN0cnVjdCBfeG1sQnVmZmVyIHsKKyAgICA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgljb250ZW50CTogVGhlIGJ1ZmZlciBjb250ZW50IFVURjgKKyAgICB1bnNpZ25lZCBpbnQJdXNlCTogVGhlIGJ1ZmZlciBzaXplIHVzZWQKKyAgICB1bnNpZ25lZCBpbnQJc2l6ZQk6IFRoZSBidWZmZXIgc2l6ZQorICAgIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyQWxsb2NhdGlvblNjaGVtZSI+eG1sQnVmZmVyQWxsb2NhdGlvblNjaGVtZTwvYT4JYWxsb2MJOiBUaGUgcmVhbGxvYyBtZXRob2QKKyAgICA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgljb250ZW50SU8JOiBpbiBJTyBtb2RlIHdlIG1heSBoYXZlIGEgZGlmZmVyZW50IGJhc2UKK308L3ByZT48aDM+RW51bSA8YSBuYW1lPSJ4bWxCdWZmZXJBbGxvY2F0aW9uU2NoZW1lIiBpZD0ieG1sQnVmZmVyQWxsb2NhdGlvblNjaGVtZSI+eG1sQnVmZmVyQWxsb2NhdGlvblNjaGVtZTwvYT48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5FbnVtIHhtbEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUgeworICAgIDxhIG5hbWU9IlhNTF9CVUZGRVJfQUxMT0NfRE9VQkxFSVQiIGlkPSJYTUxfQlVGRkVSX0FMTE9DX0RPVUJMRUlUIj5YTUxfQlVGRkVSX0FMTE9DX0RPVUJMRUlUPC9hPiA9IDEgOiBkb3VibGUgZWFjaCB0aW1lIG9uZSBuZWVkIHRvIGdyb3cKKyAgICA8YSBuYW1lPSJYTUxfQlVGRkVSX0FMTE9DX0VYQUNUIiBpZD0iWE1MX0JVRkZFUl9BTExPQ19FWEFDVCI+WE1MX0JVRkZFUl9BTExPQ19FWEFDVDwvYT4gPSAyIDogZ3JvdyBvbmx5IHRvIHRoZSBtaW5pbWFsIHNpemUKKyAgICA8YSBuYW1lPSJYTUxfQlVGRkVSX0FMTE9DX0lNTVVUQUJMRSIgaWQ9IlhNTF9CVUZGRVJfQUxMT0NfSU1NVVRBQkxFIj5YTUxfQlVGRkVSX0FMTE9DX0lNTVVUQUJMRTwvYT4gPSAzIDogaW1tdXRhYmxlIGJ1ZmZlcgorICAgIDxhIG5hbWU9IlhNTF9CVUZGRVJfQUxMT0NfSU8iIGlkPSJYTUxfQlVGRkVSX0FMTE9DX0lPIj5YTUxfQlVGRkVSX0FMTE9DX0lPPC9hPiA9IDQgOiBzcGVjaWFsIGFsbG9jYXRpb24gc2NoZW1lIHVzZWQgZm9yIEkvTworICAgIDxhIG5hbWU9IlhNTF9CVUZGRVJfQUxMT0NfSFlCUklEIiBpZD0iWE1MX0JVRkZFUl9BTExPQ19IWUJSSUQiPlhNTF9CVUZGRVJfQUxMT0NfSFlCUklEPC9hPiA9IDUgOiBleGFjdCB1cCB0byBhIHRocmVzaG9sZCwgYW5kIGRvdWJsZWl0IHRoZXJlYWZ0ZXIKK30KKzwvcHJlPjxoMz48YSBuYW1lPSJ4bWxET01XcmFwQ3R4dCIgaWQ9InhtbERPTVdyYXBDdHh0Ij5TdHJ1Y3R1cmUgeG1sRE9NV3JhcEN0eHQ8L2E+PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+U3RydWN0dXJlIHhtbERPTVdyYXBDdHh0PGJyIC8+c3RydWN0IF94bWxET01XcmFwQ3R4dCB7CisgICAgdm9pZCAqCV9wcml2YXRlCTogKiBUaGUgdHlwZSBvZiB0aGlzIGNvbnRleHQsIGp1c3QgaW4gY2FzZQorICAgIGludAl0eXBlCTogKiBJbnRlcm5hbCBuYW1lc3BhY2UgbWFwIHVzZWQgZm9yIHZhcmlvdQorICAgIHZvaWQgKgluYW1lc3BhY2VNYXAJOiAqIFVzZSB0aGlzIG9uZSB0byBhY3F1aXJlIGFuIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTnNQdHIiPnhtbE5zUHRyPC9hPiBpbgorICAgIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcEFjcXVpcmVOc0Z1bmN0aW9uIj54bWxET01XcmFwQWNxdWlyZU5zRnVuY3Rpb248L2E+CWdldE5zRm9yTm9kZUZ1bmMKK308L3ByZT48aDM+PGEgbmFtZT0ieG1sRG9jIiBpZD0ieG1sRG9jIj5TdHJ1Y3R1cmUgeG1sRG9jPC9hPjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlN0cnVjdHVyZSB4bWxEb2M8YnIgLz5zdHJ1Y3QgX3htbERvYyB7CisgICAgdm9pZCAqCV9wcml2YXRlCTogYXBwbGljYXRpb24gZGF0YQorICAgIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRWxlbWVudFR5cGUiPnhtbEVsZW1lbnRUeXBlPC9hPgl0eXBlCTogWE1MX0RPQ1VNRU5UX05PREUsIG11c3QgYmUgc2Vjb25kICEKKyAgICBjaGFyICoJbmFtZQk6IG5hbWUvZmlsZW5hbWUvVVJJIG9mIHRoZSBkb2N1bWVudAorICAgIHN0cnVjdCBfeG1sTm9kZSAqCWNoaWxkcmVuCTogdGhlIGRvY3VtZW50IHRyZWUKKyAgICBzdHJ1Y3QgX3htbE5vZGUgKglsYXN0CTogbGFzdCBjaGlsZCBsaW5rCisgICAgc3RydWN0IF94bWxOb2RlICoJcGFyZW50CTogY2hpbGQtJmd0O3BhcmVudCBsaW5rCisgICAgc3RydWN0IF94bWxOb2RlICoJbmV4dAk6IG5leHQgc2libGluZyBsaW5rCisgICAgc3RydWN0IF94bWxOb2RlICoJcHJldgk6IHByZXZpb3VzIHNpYmxpbmcgbGluaworICAgIHN0cnVjdCBfeG1sRG9jICoJZG9jCTogYXV0b3JlZmVyZW5jZSB0byBpdHNlbGYgRW5kIG9mIGNvbW1vbiBwCisgICAgaW50CWNvbXByZXNzaW9uCTogbGV2ZWwgb2YgemxpYiBjb21wcmVzc2lvbgorICAgIGludAlzdGFuZGFsb25lCTogc3RhbmRhbG9uZSBkb2N1bWVudCAobm8gZXh0ZXJuYWwgcmVmcykKKyAgICBzdHJ1Y3QgX3htbER0ZCAqCWludFN1YnNldAk6IHRoZSBkb2N1bWVudCBpbnRlcm5hbCBzdWJzZXQKKyAgICBzdHJ1Y3QgX3htbER0ZCAqCWV4dFN1YnNldAk6IHRoZSBkb2N1bWVudCBleHRlcm5hbCBzdWJzZXQKKyAgICBzdHJ1Y3QgX3htbE5zICoJb2xkTnMJOiBHbG9iYWwgbmFtZXNwYWNlLCB0aGUgb2xkIHdheQorICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXZlcnNpb24JOiB0aGUgWE1MIHZlcnNpb24gc3RyaW5nCisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJZW5jb2RpbmcJOiBleHRlcm5hbCBpbml0aWFsIGVuY29kaW5nLCBpZiBhbnkKKyAgICB2b2lkICoJaWRzCTogSGFzaCB0YWJsZSBmb3IgSUQgYXR0cmlidXRlcyBpZiBhbnkKKyAgICB2b2lkICoJcmVmcwk6IEhhc2ggdGFibGUgZm9yIElEUkVGcyBhdHRyaWJ1dGVzIGlmIGFueQorICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCVVSTAk6IFRoZSBVUkkgZm9yIHRoYXQgZG9jdW1lbnQKKyAgICBpbnQJY2hhcnNldAk6IGVuY29kaW5nIG9mIHRoZSBpbi1tZW1vcnkgY29udGVudCBhY3R1YQorICAgIHN0cnVjdCBfeG1sRGljdCAqCWRpY3QJOiBkaWN0IHVzZWQgdG8gYWxsb2NhdGUgbmFtZXMgb3IgTlVMTAorICAgIHZvaWQgKglwc3ZpCTogZm9yIHR5cGUvUFNWSSBpbmZvcm1hdGlvbnMKKyAgICBpbnQJcGFyc2VGbGFncwk6IHNldCBvZiA8YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VyT3B0aW9uIj54bWxQYXJzZXJPcHRpb248L2E+IHVzZWQgdG8gcGFyc2UgdGgKKyAgICBpbnQJcHJvcGVydGllcwk6IHNldCBvZiA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1Byb3BlcnRpZXMiPnhtbERvY1Byb3BlcnRpZXM8L2E+IGZvciB0aGlzIGRvY3VtZQorfTwvcHJlPjxoMz5FbnVtIDxhIG5hbWU9InhtbERvY1Byb3BlcnRpZXMiIGlkPSJ4bWxEb2NQcm9wZXJ0aWVzIj54bWxEb2NQcm9wZXJ0aWVzPC9hPjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkVudW0geG1sRG9jUHJvcGVydGllcyB7CisgICAgPGEgbmFtZT0iWE1MX0RPQ19XRUxMRk9STUVEIiBpZD0iWE1MX0RPQ19XRUxMRk9STUVEIj5YTUxfRE9DX1dFTExGT1JNRUQ8L2E+ID0gMSA6IGRvY3VtZW50IGlzIFhNTCB3ZWxsIGZvcm1lZAorICAgIDxhIG5hbWU9IlhNTF9ET0NfTlNWQUxJRCIgaWQ9IlhNTF9ET0NfTlNWQUxJRCI+WE1MX0RPQ19OU1ZBTElEPC9hPiA9IDIgOiBkb2N1bWVudCBpcyBOYW1lc3BhY2UgdmFsaWQKKyAgICA8YSBuYW1lPSJYTUxfRE9DX09MRDEwIiBpZD0iWE1MX0RPQ19PTEQxMCI+WE1MX0RPQ19PTEQxMDwvYT4gPSA0IDogcGFyc2VkIHdpdGggb2xkIFhNTC0xLjAgcGFyc2VyCisgICAgPGEgbmFtZT0iWE1MX0RPQ19EVERWQUxJRCIgaWQ9IlhNTF9ET0NfRFREVkFMSUQiPlhNTF9ET0NfRFREVkFMSUQ8L2E+ID0gOCA6IERURCB2YWxpZGF0aW9uIHdhcyBzdWNjZXNzZnVsCisgICAgPGEgbmFtZT0iWE1MX0RPQ19YSU5DTFVERSIgaWQ9IlhNTF9ET0NfWElOQ0xVREUiPlhNTF9ET0NfWElOQ0xVREU8L2E+ID0gMTYgOiBYSW5jbHVkZSBzdWJzdGl0dXRpb24gd2FzIGRvbmUKKyAgICA8YSBuYW1lPSJYTUxfRE9DX1VTRVJCVUlMVCIgaWQ9IlhNTF9ET0NfVVNFUkJVSUxUIj5YTUxfRE9DX1VTRVJCVUlMVDwvYT4gPSAzMiA6IERvY3VtZW50IHdhcyBidWlsdCB1c2luZyB0aGUgQVBJIGFuZCBub3QgYnkgcGFyc2luZyBhbiBpbnN0YW5jZQorICAgIDxhIG5hbWU9IlhNTF9ET0NfSU5URVJOQUwiIGlkPSJYTUxfRE9DX0lOVEVSTkFMIj5YTUxfRE9DX0lOVEVSTkFMPC9hPiA9IDY0IDogYnVpbHQgZm9yIGludGVybmFsIHByb2Nlc3NpbmcKKyAgICA8YSBuYW1lPSJYTUxfRE9DX0hUTUwiIGlkPSJYTUxfRE9DX0hUTUwiPlhNTF9ET0NfSFRNTDwvYT4gPSAxMjggOiBwYXJzZWQgb3IgYnVpbHQgSFRNTCBkb2N1bWVudAorfQorPC9wcmU+PGgzPjxhIG5hbWU9InhtbER0ZCIgaWQ9InhtbER0ZCI+U3RydWN0dXJlIHhtbER0ZDwvYT48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgeG1sRHRkPGJyIC8+c3RydWN0IF94bWxEdGQgeworICAgIHZvaWQgKglfcHJpdmF0ZQk6IGFwcGxpY2F0aW9uIGRhdGEKKyAgICA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVsZW1lbnRUeXBlIj54bWxFbGVtZW50VHlwZTwvYT4JdHlwZQk6IFhNTF9EVERfTk9ERSwgbXVzdCBiZSBzZWNvbmQgIQorICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCW5hbWUJOiBOYW1lIG9mIHRoZSBEVEQKKyAgICBzdHJ1Y3QgX3htbE5vZGUgKgljaGlsZHJlbgk6IHRoZSB2YWx1ZSBvZiB0aGUgcHJvcGVydHkgbGluaworICAgIHN0cnVjdCBfeG1sTm9kZSAqCWxhc3QJOiBsYXN0IGNoaWxkIGxpbmsKKyAgICBzdHJ1Y3QgX3htbERvYyAqCXBhcmVudAk6IGNoaWxkLSZndDtwYXJlbnQgbGluaworICAgIHN0cnVjdCBfeG1sTm9kZSAqCW5leHQJOiBuZXh0IHNpYmxpbmcgbGluaworICAgIHN0cnVjdCBfeG1sTm9kZSAqCXByZXYJOiBwcmV2aW91cyBzaWJsaW5nIGxpbmsKKyAgICBzdHJ1Y3QgX3htbERvYyAqCWRvYwk6IHRoZSBjb250YWluaW5nIGRvY3VtZW50IEVuZCBvZiBjb21tb24gcAorICAgIHZvaWQgKglub3RhdGlvbnMJOiBIYXNoIHRhYmxlIGZvciBub3RhdGlvbnMgaWYgYW55CisgICAgdm9pZCAqCWVsZW1lbnRzCTogSGFzaCB0YWJsZSBmb3IgZWxlbWVudHMgaWYgYW55CisgICAgdm9pZCAqCWF0dHJpYnV0ZXMJOiBIYXNoIHRhYmxlIGZvciBhdHRyaWJ1dGVzIGlmIGFueQorICAgIHZvaWQgKgllbnRpdGllcwk6IEhhc2ggdGFibGUgZm9yIGVudGl0aWVzIGlmIGFueQorICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCUV4dGVybmFsSUQJOiBFeHRlcm5hbCBpZGVudGlmaWVyIGZvciBQVUJMSUMgRFRECisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJU3lzdGVtSUQJOiBVUkkgZm9yIGEgU1lTVEVNIG9yIFBVQkxJQyBEVEQKKyAgICB2b2lkICoJcGVudGl0aWVzCTogSGFzaCB0YWJsZSBmb3IgcGFyYW0gZW50aXRpZXMgaWYgYW55Cit9PC9wcmU+PGgzPjxhIG5hbWU9InhtbEVsZW1lbnQiIGlkPSJ4bWxFbGVtZW50Ij5TdHJ1Y3R1cmUgeG1sRWxlbWVudDwvYT48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgeG1sRWxlbWVudDxiciAvPnN0cnVjdCBfeG1sRWxlbWVudCB7CisgICAgdm9pZCAqCV9wcml2YXRlCTogYXBwbGljYXRpb24gZGF0YQorICAgIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRWxlbWVudFR5cGUiPnhtbEVsZW1lbnRUeXBlPC9hPgl0eXBlCTogWE1MX0VMRU1FTlRfREVDTCwgbXVzdCBiZSBzZWNvbmQgIQorICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCW5hbWUJOiBFbGVtZW50IG5hbWUKKyAgICBzdHJ1Y3QgX3htbE5vZGUgKgljaGlsZHJlbgk6IE5VTEwKKyAgICBzdHJ1Y3QgX3htbE5vZGUgKglsYXN0CTogTlVMTAorICAgIHN0cnVjdCBfeG1sRHRkICoJcGFyZW50CTogLSZndDsgRFRECisgICAgc3RydWN0IF94bWxOb2RlICoJbmV4dAk6IG5leHQgc2libGluZyBsaW5rCisgICAgc3RydWN0IF94bWxOb2RlICoJcHJldgk6IHByZXZpb3VzIHNpYmxpbmcgbGluaworICAgIHN0cnVjdCBfeG1sRG9jICoJZG9jCTogdGhlIGNvbnRhaW5pbmcgZG9jdW1lbnQKKyAgICA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVsZW1lbnRUeXBlVmFsIj54bWxFbGVtZW50VHlwZVZhbDwvYT4JZXR5cGUJOiBUaGUgdHlwZQorICAgIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRWxlbWVudENvbnRlbnRQdHIiPnhtbEVsZW1lbnRDb250ZW50UHRyPC9hPgljb250ZW50CTogdGhlIGFsbG93ZWQgZWxlbWVudCBjb250ZW50CisgICAgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxBdHRyaWJ1dGVQdHIiPnhtbEF0dHJpYnV0ZVB0cjwvYT4JYXR0cmlidXRlcwk6IExpc3Qgb2YgdGhlIGRlY2xhcmVkIGF0dHJpYnV0ZXMKKyAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKglwcmVmaXgJOiB0aGUgbmFtZXNwYWNlIHByZWZpeCBpZiBhbnkKKyAgICA8YSBocmVmPSJsaWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnZXhwUHRyIj54bWxSZWdleHBQdHI8L2E+CWNvbnRNb2RlbAk6IHRoZSB2YWxpZGF0aW5nIHJlZ2V4cAorICAgIHZvaWQgKgljb250TW9kZWwKK308L3ByZT48aDM+PGEgbmFtZT0ieG1sRWxlbWVudENvbnRlbnQiIGlkPSJ4bWxFbGVtZW50Q29udGVudCI+U3RydWN0dXJlIHhtbEVsZW1lbnRDb250ZW50PC9hPjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlN0cnVjdHVyZSB4bWxFbGVtZW50Q29udGVudDxiciAvPnN0cnVjdCBfeG1sRWxlbWVudENvbnRlbnQgeworICAgIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRWxlbWVudENvbnRlbnRUeXBlIj54bWxFbGVtZW50Q29udGVudFR5cGU8L2E+CXR5cGUJOiBQQ0RBVEEsIEVMRU1FTlQsIFNFUSBvciBPUgorICAgIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRWxlbWVudENvbnRlbnRPY2N1ciI+eG1sRWxlbWVudENvbnRlbnRPY2N1cjwvYT4Jb2N1cgk6IE9OQ0UsIE9QVCwgTVVMVCBvciBQTFVTCisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJbmFtZQk6IEVsZW1lbnQgbmFtZQorICAgIHN0cnVjdCBfeG1sRWxlbWVudENvbnRlbnQgKgljMQk6IGZpcnN0IGNoaWxkCisgICAgc3RydWN0IF94bWxFbGVtZW50Q29udGVudCAqCWMyCTogc2Vjb25kIGNoaWxkCisgICAgc3RydWN0IF94bWxFbGVtZW50Q29udGVudCAqCXBhcmVudAk6IHBhcmVudAorICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXByZWZpeAk6IE5hbWVzcGFjZSBwcmVmaXgKK308L3ByZT48aDM+RW51bSA8YSBuYW1lPSJ4bWxFbGVtZW50Q29udGVudE9jY3VyIiBpZD0ieG1sRWxlbWVudENvbnRlbnRPY2N1ciI+eG1sRWxlbWVudENvbnRlbnRPY2N1cjwvYT48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5FbnVtIHhtbEVsZW1lbnRDb250ZW50T2NjdXIgeworICAgIDxhIG5hbWU9IlhNTF9FTEVNRU5UX0NPTlRFTlRfT05DRSIgaWQ9IlhNTF9FTEVNRU5UX0NPTlRFTlRfT05DRSI+WE1MX0VMRU1FTlRfQ09OVEVOVF9PTkNFPC9hPiA9IDEKKyAgICA8YSBuYW1lPSJYTUxfRUxFTUVOVF9DT05URU5UX09QVCIgaWQ9IlhNTF9FTEVNRU5UX0NPTlRFTlRfT1BUIj5YTUxfRUxFTUVOVF9DT05URU5UX09QVDwvYT4gPSAyCisgICAgPGEgbmFtZT0iWE1MX0VMRU1FTlRfQ09OVEVOVF9NVUxUIiBpZD0iWE1MX0VMRU1FTlRfQ09OVEVOVF9NVUxUIj5YTUxfRUxFTUVOVF9DT05URU5UX01VTFQ8L2E+ID0gMworICAgIDxhIG5hbWU9IlhNTF9FTEVNRU5UX0NPTlRFTlRfUExVUyIgaWQ9IlhNTF9FTEVNRU5UX0NPTlRFTlRfUExVUyI+WE1MX0VMRU1FTlRfQ09OVEVOVF9QTFVTPC9hPiA9IDQKK30KKzwvcHJlPjxoMz5FbnVtIDxhIG5hbWU9InhtbEVsZW1lbnRDb250ZW50VHlwZSIgaWQ9InhtbEVsZW1lbnRDb250ZW50VHlwZSI+eG1sRWxlbWVudENvbnRlbnRUeXBlPC9hPjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkVudW0geG1sRWxlbWVudENvbnRlbnRUeXBlIHsKKyAgICA8YSBuYW1lPSJYTUxfRUxFTUVOVF9DT05URU5UX1BDREFUQSIgaWQ9IlhNTF9FTEVNRU5UX0NPTlRFTlRfUENEQVRBIj5YTUxfRUxFTUVOVF9DT05URU5UX1BDREFUQTwvYT4gPSAxCisgICAgPGEgbmFtZT0iWE1MX0VMRU1FTlRfQ09OVEVOVF9FTEVNRU5UIiBpZD0iWE1MX0VMRU1FTlRfQ09OVEVOVF9FTEVNRU5UIj5YTUxfRUxFTUVOVF9DT05URU5UX0VMRU1FTlQ8L2E+ID0gMgorICAgIDxhIG5hbWU9IlhNTF9FTEVNRU5UX0NPTlRFTlRfU0VRIiBpZD0iWE1MX0VMRU1FTlRfQ09OVEVOVF9TRVEiPlhNTF9FTEVNRU5UX0NPTlRFTlRfU0VRPC9hPiA9IDMKKyAgICA8YSBuYW1lPSJYTUxfRUxFTUVOVF9DT05URU5UX09SIiBpZD0iWE1MX0VMRU1FTlRfQ09OVEVOVF9PUiI+WE1MX0VMRU1FTlRfQ09OVEVOVF9PUjwvYT4gPSA0Cit9Cis8L3ByZT48aDM+RW51bSA8YSBuYW1lPSJ4bWxFbGVtZW50VHlwZSIgaWQ9InhtbEVsZW1lbnRUeXBlIj54bWxFbGVtZW50VHlwZTwvYT48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5FbnVtIHhtbEVsZW1lbnRUeXBlIHsKKyAgICA8YSBuYW1lPSJYTUxfRUxFTUVOVF9OT0RFIiBpZD0iWE1MX0VMRU1FTlRfTk9ERSI+WE1MX0VMRU1FTlRfTk9ERTwvYT4gPSAxCisgICAgPGEgbmFtZT0iWE1MX0FUVFJJQlVURV9OT0RFIiBpZD0iWE1MX0FUVFJJQlVURV9OT0RFIj5YTUxfQVRUUklCVVRFX05PREU8L2E+ID0gMgorICAgIDxhIG5hbWU9IlhNTF9URVhUX05PREUiIGlkPSJYTUxfVEVYVF9OT0RFIj5YTUxfVEVYVF9OT0RFPC9hPiA9IDMKKyAgICA8YSBuYW1lPSJYTUxfQ0RBVEFfU0VDVElPTl9OT0RFIiBpZD0iWE1MX0NEQVRBX1NFQ1RJT05fTk9ERSI+WE1MX0NEQVRBX1NFQ1RJT05fTk9ERTwvYT4gPSA0CisgICAgPGEgbmFtZT0iWE1MX0VOVElUWV9SRUZfTk9ERSIgaWQ9IlhNTF9FTlRJVFlfUkVGX05PREUiPlhNTF9FTlRJVFlfUkVGX05PREU8L2E+ID0gNQorICAgIDxhIG5hbWU9IlhNTF9FTlRJVFlfTk9ERSIgaWQ9IlhNTF9FTlRJVFlfTk9ERSI+WE1MX0VOVElUWV9OT0RFPC9hPiA9IDYKKyAgICA8YSBuYW1lPSJYTUxfUElfTk9ERSIgaWQ9IlhNTF9QSV9OT0RFIj5YTUxfUElfTk9ERTwvYT4gPSA3CisgICAgPGEgbmFtZT0iWE1MX0NPTU1FTlRfTk9ERSIgaWQ9IlhNTF9DT01NRU5UX05PREUiPlhNTF9DT01NRU5UX05PREU8L2E+ID0gOAorICAgIDxhIG5hbWU9IlhNTF9ET0NVTUVOVF9OT0RFIiBpZD0iWE1MX0RPQ1VNRU5UX05PREUiPlhNTF9ET0NVTUVOVF9OT0RFPC9hPiA9IDkKKyAgICA8YSBuYW1lPSJYTUxfRE9DVU1FTlRfVFlQRV9OT0RFIiBpZD0iWE1MX0RPQ1VNRU5UX1RZUEVfTk9ERSI+WE1MX0RPQ1VNRU5UX1RZUEVfTk9ERTwvYT4gPSAxMAorICAgIDxhIG5hbWU9IlhNTF9ET0NVTUVOVF9GUkFHX05PREUiIGlkPSJYTUxfRE9DVU1FTlRfRlJBR19OT0RFIj5YTUxfRE9DVU1FTlRfRlJBR19OT0RFPC9hPiA9IDExCisgICAgPGEgbmFtZT0iWE1MX05PVEFUSU9OX05PREUiIGlkPSJYTUxfTk9UQVRJT05fTk9ERSI+WE1MX05PVEFUSU9OX05PREU8L2E+ID0gMTIKKyAgICA8YSBuYW1lPSJYTUxfSFRNTF9ET0NVTUVOVF9OT0RFIiBpZD0iWE1MX0hUTUxfRE9DVU1FTlRfTk9ERSI+WE1MX0hUTUxfRE9DVU1FTlRfTk9ERTwvYT4gPSAxMworICAgIDxhIG5hbWU9IlhNTF9EVERfTk9ERSIgaWQ9IlhNTF9EVERfTk9ERSI+WE1MX0RURF9OT0RFPC9hPiA9IDE0CisgICAgPGEgbmFtZT0iWE1MX0VMRU1FTlRfREVDTCIgaWQ9IlhNTF9FTEVNRU5UX0RFQ0wiPlhNTF9FTEVNRU5UX0RFQ0w8L2E+ID0gMTUKKyAgICA8YSBuYW1lPSJYTUxfQVRUUklCVVRFX0RFQ0wiIGlkPSJYTUxfQVRUUklCVVRFX0RFQ0wiPlhNTF9BVFRSSUJVVEVfREVDTDwvYT4gPSAxNgorICAgIDxhIG5hbWU9IlhNTF9FTlRJVFlfREVDTCIgaWQ9IlhNTF9FTlRJVFlfREVDTCI+WE1MX0VOVElUWV9ERUNMPC9hPiA9IDE3CisgICAgPGEgbmFtZT0iWE1MX05BTUVTUEFDRV9ERUNMIiBpZD0iWE1MX05BTUVTUEFDRV9ERUNMIj5YTUxfTkFNRVNQQUNFX0RFQ0w8L2E+ID0gMTgKKyAgICA8YSBuYW1lPSJYTUxfWElOQ0xVREVfU1RBUlQiIGlkPSJYTUxfWElOQ0xVREVfU1RBUlQiPlhNTF9YSU5DTFVERV9TVEFSVDwvYT4gPSAxOQorICAgIDxhIG5hbWU9IlhNTF9YSU5DTFVERV9FTkQiIGlkPSJYTUxfWElOQ0xVREVfRU5EIj5YTUxfWElOQ0xVREVfRU5EPC9hPiA9IDIwCisgICAgPGEgbmFtZT0iWE1MX0RPQ0JfRE9DVU1FTlRfTk9ERSIgaWQ9IlhNTF9ET0NCX0RPQ1VNRU5UX05PREUiPlhNTF9ET0NCX0RPQ1VNRU5UX05PREU8L2E+ID0gMjEKK30KKzwvcHJlPjxoMz5FbnVtIDxhIG5hbWU9InhtbEVsZW1lbnRUeXBlVmFsIiBpZD0ieG1sRWxlbWVudFR5cGVWYWwiPnhtbEVsZW1lbnRUeXBlVmFsPC9hPjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkVudW0geG1sRWxlbWVudFR5cGVWYWwgeworICAgIDxhIG5hbWU9IlhNTF9FTEVNRU5UX1RZUEVfVU5ERUZJTkVEIiBpZD0iWE1MX0VMRU1FTlRfVFlQRV9VTkRFRklORUQiPlhNTF9FTEVNRU5UX1RZUEVfVU5ERUZJTkVEPC9hPiA9IDAKKyAgICA8YSBuYW1lPSJYTUxfRUxFTUVOVF9UWVBFX0VNUFRZIiBpZD0iWE1MX0VMRU1FTlRfVFlQRV9FTVBUWSI+WE1MX0VMRU1FTlRfVFlQRV9FTVBUWTwvYT4gPSAxCisgICAgPGEgbmFtZT0iWE1MX0VMRU1FTlRfVFlQRV9BTlkiIGlkPSJYTUxfRUxFTUVOVF9UWVBFX0FOWSI+WE1MX0VMRU1FTlRfVFlQRV9BTlk8L2E+ID0gMgorICAgIDxhIG5hbWU9IlhNTF9FTEVNRU5UX1RZUEVfTUlYRUQiIGlkPSJYTUxfRUxFTUVOVF9UWVBFX01JWEVEIj5YTUxfRUxFTUVOVF9UWVBFX01JWEVEPC9hPiA9IDMKKyAgICA8YSBuYW1lPSJYTUxfRUxFTUVOVF9UWVBFX0VMRU1FTlQiIGlkPSJYTUxfRUxFTUVOVF9UWVBFX0VMRU1FTlQiPlhNTF9FTEVNRU5UX1RZUEVfRUxFTUVOVDwvYT4gPSA0Cit9Cis8L3ByZT48aDM+PGEgbmFtZT0ieG1sRW50aXR5IiBpZD0ieG1sRW50aXR5Ij5TdHJ1Y3R1cmUgeG1sRW50aXR5PC9hPjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlN0cnVjdHVyZSB4bWxFbnRpdHk8YnIgLz5zdHJ1Y3QgX3htbEVudGl0eSB7CisgICAgdm9pZCAqCV9wcml2YXRlCTogYXBwbGljYXRpb24gZGF0YQorICAgIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRWxlbWVudFR5cGUiPnhtbEVsZW1lbnRUeXBlPC9hPgl0eXBlCTogWE1MX0VOVElUWV9ERUNMLCBtdXN0IGJlIHNlY29uZCAhCisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJbmFtZQk6IEVudGl0eSBuYW1lCisgICAgc3RydWN0IF94bWxOb2RlICoJY2hpbGRyZW4JOiBGaXJzdCBjaGlsZCBsaW5rCisgICAgc3RydWN0IF94bWxOb2RlICoJbGFzdAk6IExhc3QgY2hpbGQgbGluaworICAgIHN0cnVjdCBfeG1sRHRkICoJcGFyZW50CTogLSZndDsgRFRECisgICAgc3RydWN0IF94bWxOb2RlICoJbmV4dAk6IG5leHQgc2libGluZyBsaW5rCisgICAgc3RydWN0IF94bWxOb2RlICoJcHJldgk6IHByZXZpb3VzIHNpYmxpbmcgbGluaworICAgIHN0cnVjdCBfeG1sRG9jICoJZG9jCTogdGhlIGNvbnRhaW5pbmcgZG9jdW1lbnQKKyAgICA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKglvcmlnCTogY29udGVudCB3aXRob3V0IHJlZiBzdWJzdGl0dXRpb24KKyAgICA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgljb250ZW50CTogY29udGVudCBvciBuZGF0YSBpZiB1bnBhcnNlZAorICAgIGludAlsZW5ndGgJOiB0aGUgY29udGVudCBsZW5ndGgKKyAgICA8YSBocmVmPSJsaWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxFbnRpdHlUeXBlIj54bWxFbnRpdHlUeXBlPC9hPglldHlwZQk6IFRoZSBlbnRpdHkgdHlwZQorICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCUV4dGVybmFsSUQJOiBFeHRlcm5hbCBpZGVudGlmaWVyIGZvciBQVUJMSUMKKyAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKglTeXN0ZW1JRAk6IFVSSSBmb3IgYSBTWVNURU0gb3IgUFVCTElDIEVudGl0eQorICAgIHN0cnVjdCBfeG1sRW50aXR5ICoJbmV4dGUJOiB1bnVzZWQKKyAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKglVUkkJOiB0aGUgZnVsbCBVUkkgYXMgY29tcHV0ZWQKKyAgICBpbnQJb3duZXIJOiBkb2VzIHRoZSBlbnRpdHkgb3duIHRoZSBjaGlsZHJlbnMKKyAgICBpbnQJY2hlY2tlZAk6IHdhcyB0aGUgZW50aXR5IGNvbnRlbnQgY2hlY2tlZCB0aGlzIGlzCit9PC9wcmU+PGgzPjxhIG5hbWU9InhtbEVudW1lcmF0aW9uIiBpZD0ieG1sRW51bWVyYXRpb24iPlN0cnVjdHVyZSB4bWxFbnVtZXJhdGlvbjwvYT48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgeG1sRW51bWVyYXRpb248YnIgLz5zdHJ1Y3QgX3htbEVudW1lcmF0aW9uIHsKKyAgICBzdHJ1Y3QgX3htbEVudW1lcmF0aW9uICoJbmV4dAk6IG5leHQgb25lCisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJbmFtZQk6IEVudW1lcmF0aW9uIG5hbWUKK308L3ByZT48aDM+PGEgbmFtZT0ieG1sSUQiIGlkPSJ4bWxJRCI+U3RydWN0dXJlIHhtbElEPC9hPjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlN0cnVjdHVyZSB4bWxJRDxiciAvPnN0cnVjdCBfeG1sSUQgeworICAgIHN0cnVjdCBfeG1sSUQgKgluZXh0CTogbmV4dCBJRAorICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXZhbHVlCTogVGhlIElEIG5hbWUKKyAgICA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEF0dHJQdHIiPnhtbEF0dHJQdHI8L2E+CWF0dHIJOiBUaGUgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBob2xkaW5nIGl0CisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJbmFtZQk6IFRoZSA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IGlmIGF0dHIgaXMgbm90IGF2YWlsYWJsZQorICAgIGludAlsaW5lbm8JOiBUaGUgbGluZSBudW1iZXIgaWYgYXR0ciBpcyBub3QgYXZhaWxhYmwKKyAgICBzdHJ1Y3QgX3htbERvYyAqCWRvYwk6IFRoZSBkb2N1bWVudCBob2xkaW5nIHRoZSBJRAorfTwvcHJlPjxoMz48YSBuYW1lPSJ4bWxOb2RlIiBpZD0ieG1sTm9kZSI+U3RydWN0dXJlIHhtbE5vZGU8L2E+PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+U3RydWN0dXJlIHhtbE5vZGU8YnIgLz5zdHJ1Y3QgX3htbE5vZGUgeworICAgIHZvaWQgKglfcHJpdmF0ZQk6IGFwcGxpY2F0aW9uIGRhdGEKKyAgICA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVsZW1lbnRUeXBlIj54bWxFbGVtZW50VHlwZTwvYT4JdHlwZQk6IHR5cGUgbnVtYmVyLCBtdXN0IGJlIHNlY29uZCAhCisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJbmFtZQk6IHRoZSBuYW1lIG9mIHRoZSBub2RlLCBvciB0aGUgZW50aXR5CisgICAgc3RydWN0IF94bWxOb2RlICoJY2hpbGRyZW4JOiBwYXJlbnQtJmd0O2NoaWxkcyBsaW5rCisgICAgc3RydWN0IF94bWxOb2RlICoJbGFzdAk6IGxhc3QgY2hpbGQgbGluaworICAgIHN0cnVjdCBfeG1sTm9kZSAqCXBhcmVudAk6IGNoaWxkLSZndDtwYXJlbnQgbGluaworICAgIHN0cnVjdCBfeG1sTm9kZSAqCW5leHQJOiBuZXh0IHNpYmxpbmcgbGluaworICAgIHN0cnVjdCBfeG1sTm9kZSAqCXByZXYJOiBwcmV2aW91cyBzaWJsaW5nIGxpbmsKKyAgICBzdHJ1Y3QgX3htbERvYyAqCWRvYwk6IHRoZSBjb250YWluaW5nIGRvY3VtZW50IEVuZCBvZiBjb21tb24gcAorICAgIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTnMiPnhtbE5zPC9hPiAqCW5zCTogcG9pbnRlciB0byB0aGUgYXNzb2NpYXRlZCBuYW1lc3BhY2UKKyAgICA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgljb250ZW50CTogdGhlIGNvbnRlbnQKKyAgICBzdHJ1Y3QgX3htbEF0dHIgKglwcm9wZXJ0aWVzCTogcHJvcGVydGllcyBsaXN0CisgICAgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOcyI+eG1sTnM8L2E+ICoJbnNEZWYJOiBuYW1lc3BhY2UgZGVmaW5pdGlvbnMgb24gdGhpcyBub2RlCisgICAgdm9pZCAqCXBzdmkJOiBmb3IgdHlwZS9QU1ZJIGluZm9ybWF0aW9ucworICAgIHVuc2lnbmVkIHNob3J0CWxpbmUJOiBsaW5lIG51bWJlcgorICAgIHVuc2lnbmVkIHNob3J0CWV4dHJhCTogZXh0cmEgZGF0YSBmb3IgWFBhdGgvWFNMVAorfTwvcHJlPjxoMz48YSBuYW1lPSJ4bWxOb3RhdGlvbiIgaWQ9InhtbE5vdGF0aW9uIj5TdHJ1Y3R1cmUgeG1sTm90YXRpb248L2E+PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+U3RydWN0dXJlIHhtbE5vdGF0aW9uPGJyIC8+c3RydWN0IF94bWxOb3RhdGlvbiB7CisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJbmFtZQk6IE5vdGF0aW9uIG5hbWUKKyAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKglQdWJsaWNJRAk6IFB1YmxpYyBpZGVudGlmaWVyLCBpZiBhbnkKKyAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKglTeXN0ZW1JRAk6IFN5c3RlbSBpZGVudGlmaWVyLCBpZiBhbnkKK308L3ByZT48aDM+PGEgbmFtZT0ieG1sTnMiIGlkPSJ4bWxOcyI+U3RydWN0dXJlIHhtbE5zPC9hPjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlN0cnVjdHVyZSB4bWxOczxiciAvPnN0cnVjdCBfeG1sTnMgeworICAgIHN0cnVjdCBfeG1sTnMgKgluZXh0CTogbmV4dCBOcyBsaW5rIGZvciB0aGlzIG5vZGUKKyAgICA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5zVHlwZSI+eG1sTnNUeXBlPC9hPgl0eXBlCTogZ2xvYmFsIG9yIGxvY2FsCisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJaHJlZgk6IFVSTCBmb3IgdGhlIG5hbWVzcGFjZQorICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXByZWZpeAk6IHByZWZpeCBmb3IgdGhlIG5hbWVzcGFjZQorICAgIHZvaWQgKglfcHJpdmF0ZQk6IGFwcGxpY2F0aW9uIGRhdGEKKyAgICBzdHJ1Y3QgX3htbERvYyAqCWNvbnRleHQJOiBub3JtYWxseSBhbiA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvYyI+eG1sRG9jPC9hPgorfTwvcHJlPjxoMz48YSBuYW1lPSJ4bWxPdXRwdXRCdWZmZXIiIGlkPSJ4bWxPdXRwdXRCdWZmZXIiPlN0cnVjdHVyZSB4bWxPdXRwdXRCdWZmZXI8L2E+PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+U3RydWN0dXJlIHhtbE91dHB1dEJ1ZmZlcjxiciAvPnN0cnVjdCBfeG1sT3V0cHV0QnVmZmVyIHsKKyAgICB2b2lkICoJY29udGV4dAorICAgIDxhIGhyZWY9ImxpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dFdyaXRlQ2FsbGJhY2siPnhtbE91dHB1dFdyaXRlQ2FsbGJhY2s8L2E+CXdyaXRlY2FsbGJhY2sKKyAgICA8YSBocmVmPSJsaWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRDbG9zZUNhbGxiYWNrIj54bWxPdXRwdXRDbG9zZUNhbGxiYWNrPC9hPgljbG9zZWNhbGxiYWNrCisgICAgPGEgaHJlZj0ibGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0ciI+eG1sQ2hhckVuY29kaW5nSGFuZGxlclB0cjwvYT4JZW5jb2Rlcgk6IEkxOE4gY29udmVyc2lvbnMgdG8gVVRGLTgKKyAgICA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEJ1ZlB0ciI+eG1sQnVmUHRyPC9hPglidWZmZXIJOiBMb2NhbCBidWZmZXIgZW5jb2RlZCBpbiBVVEYtOCBvciBJU09MYXQKKyAgICA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEJ1ZlB0ciI+eG1sQnVmUHRyPC9hPgljb252CTogaWYgZW5jb2RlciAhPSBOVUxMIGJ1ZmZlciBmb3Igb3V0cHV0CisgICAgaW50CXdyaXR0ZW4JOiB0b3RhbCBudW1iZXIgb2YgYnl0ZSB3cml0dGVuCisgICAgaW50CWVycm9yCit9PC9wcmU+PGgzPjxhIG5hbWU9InhtbFBhcnNlckN0eHQiIGlkPSJ4bWxQYXJzZXJDdHh0Ij5TdHJ1Y3R1cmUgeG1sUGFyc2VyQ3R4dDwvYT48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgeG1sUGFyc2VyQ3R4dDxiciAvPnN0cnVjdCBfeG1sUGFyc2VyQ3R4dCB7CisgICAgc3RydWN0IF94bWxTQVhIYW5kbGVyICoJc2F4CTogVGhlIFNBWCBoYW5kbGVyCisgICAgdm9pZCAqCXVzZXJEYXRhCTogRm9yIFNBWCBpbnRlcmZhY2Ugb25seSwgdXNlZCBieSBET00gYnVpCisgICAgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4JbXlEb2MJOiB0aGUgZG9jdW1lbnQgYmVpbmcgYnVpbHQKKyAgICBpbnQJd2VsbEZvcm1lZAk6IGlzIHRoZSBkb2N1bWVudCB3ZWxsIGZvcm1lZAorICAgIGludAlyZXBsYWNlRW50aXRpZXMJOiBzaGFsbCB3ZSByZXBsYWNlIGVudGl0aWVzID8KKyAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl2ZXJzaW9uCTogdGhlIFhNTCB2ZXJzaW9uIHN0cmluZworICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCWVuY29kaW5nCTogdGhlIGRlY2xhcmVkIGVuY29kaW5nLCBpZiBhbnkKKyAgICBpbnQJc3RhbmRhbG9uZQk6IHN0YW5kYWxvbmUgZG9jdW1lbnQKKyAgICBpbnQJaHRtbAk6IGFuIEhUTUwoMSkvRG9jYm9vaygyKSBkb2N1bWVudCAqIDMgaXMgSAorICAgIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRQdHIiPnhtbFBhcnNlcklucHV0UHRyPC9hPglpbnB1dAk6IEN1cnJlbnQgaW5wdXQgc3RyZWFtCisgICAgaW50CWlucHV0TnIJOiBOdW1iZXIgb2YgY3VycmVudCBpbnB1dCBzdHJlYW1zCisgICAgaW50CWlucHV0TWF4CTogTWF4IG51bWJlciBvZiBpbnB1dCBzdHJlYW1zCisgICAgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dFB0ciI+eG1sUGFyc2VySW5wdXRQdHI8L2E+ICoJaW5wdXRUYWIJOiBzdGFjayBvZiBpbnB1dHMgTm9kZSBhbmFseXNpcyBzdGFjayBvbmwKKyAgICA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CW5vZGUJOiBDdXJyZW50IHBhcnNlZCBOb2RlCisgICAgaW50CW5vZGVOcgk6IERlcHRoIG9mIHRoZSBwYXJzaW5nIHN0YWNrCisgICAgaW50CW5vZGVNYXgJOiBNYXggZGVwdGggb2YgdGhlIHBhcnNpbmcgc3RhY2sKKyAgICA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+ICoJbm9kZVRhYgk6IGFycmF5IG9mIG5vZGVzCisgICAgaW50CXJlY29yZF9pbmZvCTogV2hldGhlciBub2RlIGluZm8gc2hvdWxkIGJlIGtlcHQKKyAgICA8YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VyTm9kZUluZm9TZXEiPnhtbFBhcnNlck5vZGVJbmZvU2VxPC9hPglub2RlX3NlcQk6IGluZm8gYWJvdXQgZWFjaCBub2RlIHBhcnNlZAorICAgIGludAllcnJObwk6IGVycm9yIGNvZGUKKyAgICBpbnQJaGFzRXh0ZXJuYWxTdWJzZXQJOiA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjcmVmZXJlbmNlIj5yZWZlcmVuY2U8L2E+IGFuZCBleHRlcm5hbCBzdWJzZXQKKyAgICBpbnQJaGFzUEVyZWZzCTogdGhlIGludGVybmFsIHN1YnNldCBoYXMgUEUgcmVmcworICAgIGludAlleHRlcm5hbAk6IGFyZSB3ZSBwYXJzaW5nIGFuIGV4dGVybmFsIGVudGl0eQorICAgIGludAl2YWxpZAk6IGlzIHRoZSBkb2N1bWVudCB2YWxpZAorICAgIGludAl2YWxpZGF0ZQk6IHNoYWxsIHdlIHRyeSB0byB2YWxpZGF0ZSA/CisgICAgPGEgaHJlZj0ibGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRDdHh0Ij54bWxWYWxpZEN0eHQ8L2E+CXZjdHh0CTogVGhlIHZhbGlkaXR5IGNvbnRleHQKKyAgICA8YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VySW5wdXRTdGF0ZSI+eG1sUGFyc2VySW5wdXRTdGF0ZTwvYT4JaW5zdGF0ZQk6IGN1cnJlbnQgdHlwZSBvZiBpbnB1dAorICAgIGludAl0b2tlbgk6IG5leHQgY2hhciBsb29rLWFoZWFkCisgICAgY2hhciAqCWRpcmVjdG9yeQk6IHRoZSBkYXRhIGRpcmVjdG9yeSBOb2RlIG5hbWUgc3RhY2sKKyAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgluYW1lCTogQ3VycmVudCBwYXJzZWQgTm9kZQorICAgIGludAluYW1lTnIJOiBEZXB0aCBvZiB0aGUgcGFyc2luZyBzdGFjaworICAgIGludAluYW1lTWF4CTogTWF4IGRlcHRoIG9mIHRoZSBwYXJzaW5nIHN0YWNrCisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogKgluYW1lVGFiCTogYXJyYXkgb2Ygbm9kZXMKKyAgICBsb25nCW5iQ2hhcnMJOiBudW1iZXIgb2YgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+IHByb2Nlc3NlZAorICAgIGxvbmcJY2hlY2tJbmRleAk6IHVzZWQgYnkgcHJvZ3Jlc3NpdmUgcGFyc2luZyBsb29rdXAKKyAgICBpbnQJa2VlcEJsYW5rcwk6IHVnbHkgYnV0IC4uLgorICAgIGludAlkaXNhYmxlU0FYCTogU0FYIGNhbGxiYWNrcyBhcmUgZGlzYWJsZWQKKyAgICBpbnQJaW5TdWJzZXQJOiBQYXJzaW5nIGlzIGluIGludCAxL2V4dCAyIHN1YnNldAorICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCWludFN1Yk5hbWUJOiBuYW1lIG9mIHN1YnNldAorICAgIDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCWV4dFN1YlVSSQk6IFVSSSBvZiBleHRlcm5hbCBzdWJzZXQKKyAgICA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKglleHRTdWJTeXN0ZW0JOiBTWVNURU0gSUQgb2YgZXh0ZXJuYWwgc3Vic2V0IHhtbDpzcGFjZQorICAgIGludCAqCXNwYWNlCTogU2hvdWxkIHRoZSBwYXJzZXIgcHJlc2VydmUgc3BhY2VzCisgICAgaW50CXNwYWNlTnIJOiBEZXB0aCBvZiB0aGUgcGFyc2luZyBzdGFjaworICAgIGludAlzcGFjZU1heAk6IE1heCBkZXB0aCBvZiB0aGUgcGFyc2luZyBzdGFjaworICAgIGludCAqCXNwYWNlVGFiCTogYXJyYXkgb2Ygc3BhY2UgaW5mb3MKKyAgICBpbnQJZGVwdGgJOiB0byBwcmV2ZW50IGVudGl0eSBzdWJzdGl0dXRpb24gbG9vcHMKKyAgICA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlcklucHV0UHRyIj54bWxQYXJzZXJJbnB1dFB0cjwvYT4JZW50aXR5CTogdXNlZCB0byBjaGVjayBlbnRpdGllcyBib3VuZGFyaWVzCisgICAgaW50CWNoYXJzZXQJOiBlbmNvZGluZyBvZiB0aGUgaW4tbWVtb3J5IGNvbnRlbnQgYWN0dWEKKyAgICBpbnQJbm9kZWxlbgk6IFRob3NlIHR3byBmaWVsZHMgYXJlIHRoZXJlIHRvCisgICAgaW50CW5vZGVtZW0JOiBTcGVlZCB1cCBsYXJnZSBub2RlIHBhcnNpbmcKKyAgICBpbnQJcGVkYW50aWMJOiBzaWduYWwgcGVkYW50aWMgd2FybmluZ3MKKyAgICB2b2lkICoJX3ByaXZhdGUJOiBGb3IgdXNlciBkYXRhLCBsaWJ4bWwgd29uJ3QgdG91Y2ggaXQKKyAgICBpbnQJbG9hZHN1YnNldAk6IHNob3VsZCB0aGUgZXh0ZXJuYWwgc3Vic2V0IGJlIGxvYWRlZAorICAgIGludAlsaW5lbnVtYmVycwk6IHNldCBsaW5lIG51bWJlciBpbiBlbGVtZW50IGNvbnRlbnQKKyAgICB2b2lkICoJY2F0YWxvZ3MJOiBkb2N1bWVudCdzIG93biBjYXRhbG9nCisgICAgaW50CXJlY292ZXJ5CTogcnVuIGluIHJlY292ZXJ5IG1vZGUKKyAgICBpbnQJcHJvZ3Jlc3NpdmUJOiBpcyB0aGlzIGEgcHJvZ3Jlc3NpdmUgcGFyc2luZworICAgIDxhIGhyZWY9ImxpYnhtbC1kaWN0Lmh0bWwjeG1sRGljdFB0ciI+eG1sRGljdFB0cjwvYT4JZGljdAk6IGRpY3Rpb25uYXJ5IGZvciB0aGUgcGFyc2VyCisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogKglhdHRzCTogYXJyYXkgZm9yIHRoZSBhdHRyaWJ1dGVzIGNhbGxiYWNrcworICAgIGludAltYXhhdHRzCTogdGhlIHNpemUgb2YgdGhlIGFycmF5CisgICAgaW50CWRvY2RpY3QJOiAqIHByZS1pbnRlcm5lZCBzdHJpbmdzICoKKyAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKglzdHJfeG1sCisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJc3RyX3htbG5zCisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJc3RyX3htbF9ucwk6ICogRXZlcnl0aGluZyBiZWxvdyBpcyB1c2VkIG9ubHkgYnkgdGhlIG4KKyAgICBpbnQJc2F4Mgk6IG9wZXJhdGluZyBpbiB0aGUgbmV3IFNBWCBtb2RlCisgICAgaW50CW5zTnIJOiB0aGUgbnVtYmVyIG9mIGluaGVyaXRlZCBuYW1lc3BhY2VzCisgICAgaW50CW5zTWF4CTogdGhlIHNpemUgb2YgdGhlIGFycmF5cworICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqICoJbnNUYWIJOiB0aGUgYXJyYXkgb2YgcHJlZml4L25hbWVzcGFjZSBuYW1lCisgICAgaW50ICoJYXR0YWxsb2NzCTogd2hpY2ggPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiB3ZXJlIGFsbG9jYXRlZAorICAgIHZvaWQgKiAqCXB1c2hUYWIJOiBhcnJheSBvZiBkYXRhIGZvciBwdXNoCisgICAgPGEgaHJlZj0ibGlieG1sLWhhc2guaHRtbCN4bWxIYXNoVGFibGVQdHIiPnhtbEhhc2hUYWJsZVB0cjwvYT4JYXR0c0RlZmF1bHQJOiBkZWZhdWx0ZWQgYXR0cmlidXRlcyBpZiBhbnkKKyAgICA8YSBocmVmPSJsaWJ4bWwtaGFzaC5odG1sI3htbEhhc2hUYWJsZVB0ciI+eG1sSGFzaFRhYmxlUHRyPC9hPglhdHRzU3BlY2lhbAk6IG5vbi1DREFUQSBhdHRyaWJ1dGVzIGlmIGFueQorICAgIGludAluc1dlbGxGb3JtZWQJOiBpcyB0aGUgZG9jdW1lbnQgWE1MIE5hbmVzcGFjZSBva2F5CisgICAgaW50CW9wdGlvbnMJOiAqIFRob3NlIGZpZWxkcyBhcmUgbmVlZGVkIG9ubHkgZm9yIHRyZWFtCisgICAgaW50CWRpY3ROYW1lcwk6IFVzZSBkaWN0aW9uYXJ5IG5hbWVzIGZvciB0aGUgdHJlZQorICAgIGludAlmcmVlRWxlbXNOcgk6IG51bWJlciBvZiBmcmVlZCBlbGVtZW50IG5vZGVzCisgICAgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPglmcmVlRWxlbXMJOiBMaXN0IG9mIGZyZWVkIGVsZW1lbnQgbm9kZXMKKyAgICBpbnQJZnJlZUF0dHJzTnIJOiBudW1iZXIgb2YgZnJlZWQgYXR0cmlidXRlcyBub2RlcworICAgIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQXR0clB0ciI+eG1sQXR0clB0cjwvYT4JZnJlZUF0dHJzCTogKiB0aGUgY29tcGxldGUgZXJyb3IgaW5mb3JtYXRpb25zIGZvciB0aAorICAgIDxhIGhyZWY9ImxpYnhtbC14bWxlcnJvci5odG1sI3htbEVycm9yIj54bWxFcnJvcjwvYT4JbGFzdEVycm9yCisgICAgPGEgaHJlZj0ibGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlck1vZGUiPnhtbFBhcnNlck1vZGU8L2E+CXBhcnNlTW9kZQk6IHRoZSBwYXJzZXIgbW9kZQorICAgIHVuc2lnbmVkIGxvbmcJbmJlbnRpdGllcwk6IG51bWJlciBvZiBlbnRpdGllcyByZWZlcmVuY2VzCisgICAgdW5zaWduZWQgbG9uZwlzaXplZW50aXRpZXMJOiBzaXplIG9mIHBhcnNlZCBlbnRpdGllcyBmb3IgdXNlIGJ5IEhUTUwKKyAgICA8YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VyTm9kZUluZm8iPnhtbFBhcnNlck5vZGVJbmZvPC9hPiAqCW5vZGVJbmZvCTogQ3VycmVudCBOb2RlSW5mbworICAgIGludAlub2RlSW5mb05yCTogRGVwdGggb2YgdGhlIHBhcnNpbmcgc3RhY2sKKyAgICBpbnQJbm9kZUluZm9NYXgJOiBNYXggZGVwdGggb2YgdGhlIHBhcnNpbmcgc3RhY2sKKyAgICA8YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VyTm9kZUluZm8iPnhtbFBhcnNlck5vZGVJbmZvPC9hPiAqCW5vZGVJbmZvVGFiCTogYXJyYXkgb2Ygbm9kZUluZm9zCisgICAgaW50CWlucHV0X2lkCTogd2UgbmVlZCB0byBsYWJlbCBpbnB1dHMKKyAgICB1bnNpZ25lZCBsb25nCXNpemVlbnRjb3B5CTogdm9sdW1lIG9mIGVudGl0eSBjb3B5Cit9PC9wcmU+PGgzPjxhIG5hbWU9InhtbFBhcnNlcklucHV0IiBpZD0ieG1sUGFyc2VySW5wdXQiPlN0cnVjdHVyZSB4bWxQYXJzZXJJbnB1dDwvYT48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgeG1sUGFyc2VySW5wdXQ8YnIgLz5zdHJ1Y3QgX3htbFBhcnNlcklucHV0IHsKKyAgICA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyUHRyIj54bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cjwvYT4JYnVmCTogVVRGLTggZW5jb2RlZCBidWZmZXIKKyAgICBjb25zdCBjaGFyICoJZmlsZW5hbWUJOiBUaGUgZmlsZSBhbmFseXplZCwgaWYgYW55CisgICAgY29uc3QgY2hhciAqCWRpcmVjdG9yeQk6IHRoZSBkaXJlY3RvcnkvYmFzZSBvZiB0aGUgZmlsZQorICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCWJhc2UJOiBCYXNlIG9mIHRoZSBhcnJheSB0byBwYXJzZQorICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCWN1cgk6IEN1cnJlbnQgY2hhciBiZWluZyBwYXJzZWQKKyAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgllbmQJOiBlbmQgb2YgdGhlIGFycmF5IHRvIHBhcnNlCisgICAgaW50CWxlbmd0aAk6IGxlbmd0aCBpZiBrbm93bgorICAgIGludAlsaW5lCTogQ3VycmVudCBsaW5lCisgICAgaW50CWNvbAk6ICogTk9URTogY29uc3VtZWQgaXMgb25seSB0ZXN0ZWQgZm9yIGVxdWEKKyAgICB1bnNpZ25lZCBsb25nCWNvbnN1bWVkCTogSG93IG1hbnkgeG1sQ2hhcnMgYWxyZWFkeSBjb25zdW1lZAorICAgIDxhIGhyZWY9ImxpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZXJJbnB1dERlYWxsb2NhdGUiPnhtbFBhcnNlcklucHV0RGVhbGxvY2F0ZTwvYT4JZnJlZQk6IGZ1bmN0aW9uIHRvIGRlYWxsb2NhdGUgdGhlIGJhc2UKKyAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgllbmNvZGluZwk6IHRoZSBlbmNvZGluZyBzdHJpbmcgZm9yIGVudGl0eQorICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXZlcnNpb24JOiB0aGUgdmVyc2lvbiBzdHJpbmcgZm9yIGVudGl0eQorICAgIGludAlzdGFuZGFsb25lCTogV2FzIHRoYXQgZW50aXR5IG1hcmtlZCBzdGFuZGFsb25lCisgICAgaW50CWlkCTogYW4gdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBlbnRpdHkKK308L3ByZT48aDM+PGEgbmFtZT0ieG1sUGFyc2VySW5wdXRCdWZmZXIiIGlkPSJ4bWxQYXJzZXJJbnB1dEJ1ZmZlciI+U3RydWN0dXJlIHhtbFBhcnNlcklucHV0QnVmZmVyPC9hPjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlN0cnVjdHVyZSB4bWxQYXJzZXJJbnB1dEJ1ZmZlcjxiciAvPnN0cnVjdCBfeG1sUGFyc2VySW5wdXRCdWZmZXIgeworICAgIHZvaWQgKgljb250ZXh0CisgICAgPGEgaHJlZj0ibGlieG1sLXhtbElPLmh0bWwjeG1sSW5wdXRSZWFkQ2FsbGJhY2siPnhtbElucHV0UmVhZENhbGxiYWNrPC9hPglyZWFkY2FsbGJhY2sKKyAgICA8YSBocmVmPSJsaWJ4bWwteG1sSU8uaHRtbCN4bWxJbnB1dENsb3NlQ2FsbGJhY2siPnhtbElucHV0Q2xvc2VDYWxsYmFjazwvYT4JY2xvc2VjYWxsYmFjaworICAgIDxhIGhyZWY9ImxpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIiPnhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHI8L2E+CWVuY29kZXIJOiBJMThOIGNvbnZlcnNpb25zIHRvIFVURi04CisgICAgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxCdWZQdHIiPnhtbEJ1ZlB0cjwvYT4JYnVmZmVyCTogTG9jYWwgYnVmZmVyIGVuY29kZWQgaW4gVVRGLTgKKyAgICA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEJ1ZlB0ciI+eG1sQnVmUHRyPC9hPglyYXcJOiBpZiBlbmNvZGVyICE9IE5VTEwgYnVmZmVyIGZvciByYXcgaW5wdXQKKyAgICBpbnQJY29tcHJlc3NlZAk6IC0xPXVua25vd24sIDA9bm90IGNvbXByZXNzZWQsIDE9Y29tcHJlcworICAgIGludAllcnJvcgorICAgIHVuc2lnbmVkIGxvbmcJcmF3Y29uc3VtZWQJOiBhbW91bnQgY29uc3VtZWQgZnJvbSByYXcKK308L3ByZT48aDM+PGEgbmFtZT0ieG1sUmVmIiBpZD0ieG1sUmVmIj5TdHJ1Y3R1cmUgeG1sUmVmPC9hPjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlN0cnVjdHVyZSB4bWxSZWY8YnIgLz5zdHJ1Y3QgX3htbFJlZiB7CisgICAgc3RydWN0IF94bWxSZWYgKgluZXh0CTogbmV4dCBSZWYKKyAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl2YWx1ZQk6IFRoZSBSZWYgbmFtZQorICAgIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQXR0clB0ciI+eG1sQXR0clB0cjwvYT4JYXR0cgk6IFRoZSA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IGhvbGRpbmcgaXQKKyAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgluYW1lCTogVGhlIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gaWYgYXR0ciBpcyBub3QgYXZhaWxhYmxlCisgICAgaW50CWxpbmVubwk6IFRoZSBsaW5lIG51bWJlciBpZiBhdHRyIGlzIG5vdCBhdmFpbGFibAorfTwvcHJlPjxoMz48YSBuYW1lPSJ4bWxTQVhIYW5kbGVyIiBpZD0ieG1sU0FYSGFuZGxlciI+U3RydWN0dXJlIHhtbFNBWEhhbmRsZXI8L2E+PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+U3RydWN0dXJlIHhtbFNBWEhhbmRsZXI8YnIgLz5zdHJ1Y3QgX3htbFNBWEhhbmRsZXIgeworICAgIDxhIGhyZWY9ImxpYnhtbC1wYXJzZXIuaHRtbCNpbnRlcm5hbFN1YnNldFNBWEZ1bmMiPmludGVybmFsU3Vic2V0U0FYRnVuYzwvYT4JaW50ZXJuYWxTdWJzZXQKKyAgICA8YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwjaXNTdGFuZGFsb25lU0FYRnVuYyI+aXNTdGFuZGFsb25lU0FYRnVuYzwvYT4JaXNTdGFuZGFsb25lCisgICAgPGEgaHJlZj0ibGlieG1sLXBhcnNlci5odG1sI2hhc0ludGVybmFsU3Vic2V0U0FYRnVuYyI+aGFzSW50ZXJuYWxTdWJzZXRTQVhGdW5jPC9hPgloYXNJbnRlcm5hbFN1YnNldAorICAgIDxhIGhyZWY9ImxpYnhtbC1wYXJzZXIuaHRtbCNoYXNFeHRlcm5hbFN1YnNldFNBWEZ1bmMiPmhhc0V4dGVybmFsU3Vic2V0U0FYRnVuYzwvYT4JaGFzRXh0ZXJuYWxTdWJzZXQKKyAgICA8YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwjcmVzb2x2ZUVudGl0eVNBWEZ1bmMiPnJlc29sdmVFbnRpdHlTQVhGdW5jPC9hPglyZXNvbHZlRW50aXR5CisgICAgPGEgaHJlZj0ibGlieG1sLXBhcnNlci5odG1sI2dldEVudGl0eVNBWEZ1bmMiPmdldEVudGl0eVNBWEZ1bmM8L2E+CWdldEVudGl0eQorICAgIDxhIGhyZWY9ImxpYnhtbC1wYXJzZXIuaHRtbCNlbnRpdHlEZWNsU0FYRnVuYyI+ZW50aXR5RGVjbFNBWEZ1bmM8L2E+CWVudGl0eURlY2wKKyAgICA8YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwjbm90YXRpb25EZWNsU0FYRnVuYyI+bm90YXRpb25EZWNsU0FYRnVuYzwvYT4Jbm90YXRpb25EZWNsCisgICAgPGEgaHJlZj0ibGlieG1sLXBhcnNlci5odG1sI2F0dHJpYnV0ZURlY2xTQVhGdW5jIj5hdHRyaWJ1dGVEZWNsU0FYRnVuYzwvYT4JYXR0cmlidXRlRGVjbAorICAgIDxhIGhyZWY9ImxpYnhtbC1wYXJzZXIuaHRtbCNlbGVtZW50RGVjbFNBWEZ1bmMiPmVsZW1lbnREZWNsU0FYRnVuYzwvYT4JZWxlbWVudERlY2wKKyAgICA8YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwjdW5wYXJzZWRFbnRpdHlEZWNsU0FYRnVuYyI+dW5wYXJzZWRFbnRpdHlEZWNsU0FYRnVuYzwvYT4JdW5wYXJzZWRFbnRpdHlEZWNsCisgICAgPGEgaHJlZj0ibGlieG1sLXBhcnNlci5odG1sI3NldERvY3VtZW50TG9jYXRvclNBWEZ1bmMiPnNldERvY3VtZW50TG9jYXRvclNBWEZ1bmM8L2E+CXNldERvY3VtZW50TG9jYXRvcgorICAgIDxhIGhyZWY9ImxpYnhtbC1wYXJzZXIuaHRtbCNzdGFydERvY3VtZW50U0FYRnVuYyI+c3RhcnREb2N1bWVudFNBWEZ1bmM8L2E+CXN0YXJ0RG9jdW1lbnQKKyAgICA8YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwjZW5kRG9jdW1lbnRTQVhGdW5jIj5lbmREb2N1bWVudFNBWEZ1bmM8L2E+CWVuZERvY3VtZW50CisgICAgPGEgaHJlZj0ibGlieG1sLXBhcnNlci5odG1sI3N0YXJ0RWxlbWVudFNBWEZ1bmMiPnN0YXJ0RWxlbWVudFNBWEZ1bmM8L2E+CXN0YXJ0RWxlbWVudAorICAgIDxhIGhyZWY9ImxpYnhtbC1wYXJzZXIuaHRtbCNlbmRFbGVtZW50U0FYRnVuYyI+ZW5kRWxlbWVudFNBWEZ1bmM8L2E+CWVuZEVsZW1lbnQKKyAgICA8YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwjcmVmZXJlbmNlU0FYRnVuYyI+cmVmZXJlbmNlU0FYRnVuYzwvYT4JcmVmZXJlbmNlCisgICAgPGEgaHJlZj0ibGlieG1sLXBhcnNlci5odG1sI2NoYXJhY3RlcnNTQVhGdW5jIj5jaGFyYWN0ZXJzU0FYRnVuYzwvYT4JY2hhcmFjdGVycworICAgIDxhIGhyZWY9ImxpYnhtbC1wYXJzZXIuaHRtbCNpZ25vcmFibGVXaGl0ZXNwYWNlU0FYRnVuYyI+aWdub3JhYmxlV2hpdGVzcGFjZVNBWEZ1bmM8L2E+CWlnbm9yYWJsZVdoaXRlc3BhY2UKKyAgICA8YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwjcHJvY2Vzc2luZ0luc3RydWN0aW9uU0FYRnVuYyI+cHJvY2Vzc2luZ0luc3RydWN0aW9uU0FYRnVuYzwvYT4JcHJvY2Vzc2luZ0luc3RydWN0aW9uCisgICAgPGEgaHJlZj0ibGlieG1sLXBhcnNlci5odG1sI2NvbW1lbnRTQVhGdW5jIj5jb21tZW50U0FYRnVuYzwvYT4JY29tbWVudAorICAgIDxhIGhyZWY9ImxpYnhtbC1wYXJzZXIuaHRtbCN3YXJuaW5nU0FYRnVuYyI+d2FybmluZ1NBWEZ1bmM8L2E+CXdhcm5pbmcKKyAgICA8YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwjZXJyb3JTQVhGdW5jIj5lcnJvclNBWEZ1bmM8L2E+CWVycm9yCisgICAgPGEgaHJlZj0ibGlieG1sLXBhcnNlci5odG1sI2ZhdGFsRXJyb3JTQVhGdW5jIj5mYXRhbEVycm9yU0FYRnVuYzwvYT4JZmF0YWxFcnJvcgk6IHVudXNlZCBlcnJvcigpIGdldCBhbGwgdGhlIGVycm9ycworICAgIDxhIGhyZWY9ImxpYnhtbC1wYXJzZXIuaHRtbCNnZXRQYXJhbWV0ZXJFbnRpdHlTQVhGdW5jIj5nZXRQYXJhbWV0ZXJFbnRpdHlTQVhGdW5jPC9hPglnZXRQYXJhbWV0ZXJFbnRpdHkKKyAgICA8YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwjY2RhdGFCbG9ja1NBWEZ1bmMiPmNkYXRhQmxvY2tTQVhGdW5jPC9hPgljZGF0YUJsb2NrCisgICAgPGEgaHJlZj0ibGlieG1sLXBhcnNlci5odG1sI2V4dGVybmFsU3Vic2V0U0FYRnVuYyI+ZXh0ZXJuYWxTdWJzZXRTQVhGdW5jPC9hPglleHRlcm5hbFN1YnNldAorICAgIHVuc2lnbmVkIGludAlpbml0aWFsaXplZAk6IFRoZSBmb2xsb3dpbmcgZmllbGRzIGFyZSBleHRlbnNpb25zIGF2YQorICAgIHZvaWQgKglfcHJpdmF0ZQorICAgIDxhIGhyZWY9ImxpYnhtbC1wYXJzZXIuaHRtbCNzdGFydEVsZW1lbnROc1NBWDJGdW5jIj5zdGFydEVsZW1lbnROc1NBWDJGdW5jPC9hPglzdGFydEVsZW1lbnROcworICAgIDxhIGhyZWY9ImxpYnhtbC1wYXJzZXIuaHRtbCNlbmRFbGVtZW50TnNTQVgyRnVuYyI+ZW5kRWxlbWVudE5zU0FYMkZ1bmM8L2E+CWVuZEVsZW1lbnROcworICAgIDxhIGhyZWY9ImxpYnhtbC14bWxlcnJvci5odG1sI3htbFN0cnVjdHVyZWRFcnJvckZ1bmMiPnhtbFN0cnVjdHVyZWRFcnJvckZ1bmM8L2E+CXNlcnJvcgorfTwvcHJlPjxoMz48YSBuYW1lPSJ4bWxTQVhMb2NhdG9yIiBpZD0ieG1sU0FYTG9jYXRvciI+U3RydWN0dXJlIHhtbFNBWExvY2F0b3I8L2E+PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+U3RydWN0dXJlIHhtbFNBWExvY2F0b3I8YnIgLz5zdHJ1Y3QgX3htbFNBWExvY2F0b3IgeworICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqKCpnZXRQdWJsaWNJZCkJZ2V0UHVibGljSWQKKyAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKigqZ2V0U3lzdGVtSWQpCWdldFN5c3RlbUlkCisgICAgaW50KCpnZXRMaW5lTnVtYmVyKQlnZXRMaW5lTnVtYmVyCisgICAgaW50KCpnZXRDb2x1bW5OdW1iZXIpCWdldENvbHVtbk51bWJlcgorfTwvcHJlPjxoMz48YSBuYW1lPSJ4bWxBZGRDaGlsZCIgaWQ9InhtbEFkZENoaWxkIj48L2E+RnVuY3Rpb246IHhtbEFkZENoaWxkPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgl4bWxBZGRDaGlsZAkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gcGFyZW50LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGN1cik8YnIgLz4KKzwvcHJlPjxwPkFkZCBhIG5ldyBub2RlIHRvIEBwYXJlbnQsIGF0IHRoZSBlbmQgb2YgdGhlIGNoaWxkIChvciBwcm9wZXJ0eSkgbGlzdCBtZXJnaW5nIGFkamFjZW50IFRFWFQgbm9kZXMgKGluIHdoaWNoIGNhc2UgQGN1ciBpcyBmcmVlZCkgSWYgdGhlIG5ldyBub2RlIGlzIEFUVFJJQlVURSwgaXQgaXMgYWRkZWQgaW50byBwcm9wZXJ0aWVzIGluc3RlYWQgb2YgY2hpbGRyZW4uIElmIHRoZXJlIGlzIGFuIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gd2l0aCBlcXVhbCBuYW1lLCBpdCBpcyBmaXJzdCBkZXN0cm95ZWQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cGFyZW50PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcGFyZW50IG5vZGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGNoaWxkIG5vZGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjaGlsZCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sQWRkQ2hpbGRMaXN0IiBpZD0ieG1sQWRkQ2hpbGRMaXN0Ij48L2E+RnVuY3Rpb246IHhtbEFkZENoaWxkTGlzdDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JeG1sQWRkQ2hpbGRMaXN0CQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBwYXJlbnQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gY3VyKTxiciAvPgorPC9wcmU+PHA+QWRkIGEgbGlzdCBvZiBub2RlIGF0IHRoZSBlbmQgb2YgdGhlIGNoaWxkIGxpc3Qgb2YgdGhlIHBhcmVudCBtZXJnaW5nIGFkamFjZW50IFRFWFQgbm9kZXMgKEBjdXIgbWF5IGJlIGZyZWVkKTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnBhcmVudDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHBhcmVudCBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmaXJzdCBub2RlIGluIHRoZSBsaXN0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbGFzdCBjaGlsZCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sQWRkTmV4dFNpYmxpbmciIGlkPSJ4bWxBZGROZXh0U2libGluZyI+PC9hPkZ1bmN0aW9uOiB4bWxBZGROZXh0U2libGluZzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JeG1sQWRkTmV4dFNpYmxpbmcJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gY3VyLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGVsZW0pPGJyIC8+Cis8L3ByZT48cD5BZGQgYSBuZXcgbm9kZSBAZWxlbSBhcyB0aGUgbmV4dCBzaWJsaW5nIG9mIEBjdXIgSWYgdGhlIG5ldyBub2RlIHdhcyBhbHJlYWR5IGluc2VydGVkIGluIGEgZG9jdW1lbnQgaXQgaXMgZmlyc3QgdW5saW5rZWQgZnJvbSBpdHMgZXhpc3RpbmcgY29udGV4dC4gQXMgYSByZXN1bHQgb2YgdGV4dCBtZXJnaW5nIEBlbGVtIG1heSBiZSBmcmVlZC4gSWYgdGhlIG5ldyBub2RlIGlzIEFUVFJJQlVURSwgaXQgaXMgYWRkZWQgaW50byBwcm9wZXJ0aWVzIGluc3RlYWQgb2YgY2hpbGRyZW4uIElmIHRoZXJlIGlzIGFuIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gd2l0aCBlcXVhbCBuYW1lLCBpdCBpcyBmaXJzdCBkZXN0cm95ZWQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY2hpbGQgbm9kZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZWxlbTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ldyBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IG5vZGUgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEFkZFByZXZTaWJsaW5nIiBpZD0ieG1sQWRkUHJldlNpYmxpbmciPjwvYT5GdW5jdGlvbjogeG1sQWRkUHJldlNpYmxpbmc8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CXhtbEFkZFByZXZTaWJsaW5nCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGN1ciwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBlbGVtKTxiciAvPgorPC9wcmU+PHA+QWRkIGEgbmV3IG5vZGUgQGVsZW0gYXMgdGhlIHByZXZpb3VzIHNpYmxpbmcgb2YgQGN1ciBtZXJnaW5nIGFkamFjZW50IFRFWFQgbm9kZXMgKEBlbGVtIG1heSBiZSBmcmVlZCkgSWYgdGhlIG5ldyBub2RlIHdhcyBhbHJlYWR5IGluc2VydGVkIGluIGEgZG9jdW1lbnQgaXQgaXMgZmlyc3QgdW5saW5rZWQgZnJvbSBpdHMgZXhpc3RpbmcgY29udGV4dC4gSWYgdGhlIG5ldyBub2RlIGlzIEFUVFJJQlVURSwgaXQgaXMgYWRkZWQgaW50byBwcm9wZXJ0aWVzIGluc3RlYWQgb2YgY2hpbGRyZW4uIElmIHRoZXJlIGlzIGFuIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gd2l0aCBlcXVhbCBuYW1lLCBpdCBpcyBmaXJzdCBkZXN0cm95ZWQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY2hpbGQgbm9kZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZWxlbTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ldyBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IG5vZGUgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEFkZFNpYmxpbmciIGlkPSJ4bWxBZGRTaWJsaW5nIj48L2E+RnVuY3Rpb246IHhtbEFkZFNpYmxpbmc8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CXhtbEFkZFNpYmxpbmcJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGN1ciwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBlbGVtKTxiciAvPgorPC9wcmU+PHA+QWRkIGEgbmV3IGVsZW1lbnQgQGVsZW0gdG8gdGhlIGxpc3Qgb2Ygc2libGluZ3Mgb2YgQGN1ciBtZXJnaW5nIGFkamFjZW50IFRFWFQgbm9kZXMgKEBlbGVtIG1heSBiZSBmcmVlZCkgSWYgdGhlIG5ldyBlbGVtZW50IHdhcyBhbHJlYWR5IGluc2VydGVkIGluIGEgZG9jdW1lbnQgaXQgaXMgZmlyc3QgdW5saW5rZWQgZnJvbSBpdHMgZXhpc3RpbmcgY29udGV4dC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjaGlsZCBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbGVtPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IG5vZGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXcgZWxlbWVudCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sQXR0clNlcmlhbGl6ZVR4dENvbnRlbnQiIGlkPSJ4bWxBdHRyU2VyaWFsaXplVHh0Q29udGVudCI+PC9hPkZ1bmN0aW9uOiB4bWxBdHRyU2VyaWFsaXplVHh0Q29udGVudDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sQXR0clNlcmlhbGl6ZVR4dENvbnRlbnQJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyUHRyIj54bWxCdWZmZXJQdHI8L2E+IGJ1ZiwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEF0dHJQdHIiPnhtbEF0dHJQdHI8L2E+IGF0dHIsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0cmluZyk8YnIgLz4KKzwvcHJlPjxwPlNlcmlhbGl6ZSB0ZXh0IDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gdmFsdWVzIHRvIGFuIHhtbCBzaW1wbGUgYnVmZmVyPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YnVmPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWE1MIGJ1ZmZlciBvdXRwdXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5hdHRyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdHJpbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB0ZXh0IGNvbnRlbnQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxCdWZDb250ZW50IiBpZD0ieG1sQnVmQ29udGVudCI+PC9hPkZ1bmN0aW9uOiB4bWxCdWZDb250ZW50PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sQnVmQ29udGVudAkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQnVmIj54bWxCdWY8L2E+ICogYnVmKTxiciAvPgorPC9wcmU+PHA+RnVuY3Rpb24gdG8gZXh0cmFjdCB0aGUgY29udGVudCBvZiBhIGJ1ZmZlcjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmJ1ZjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ1ZmZlcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGludGVybmFsIGNvbnRlbnQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxCdWZFbmQiIGlkPSJ4bWxCdWZFbmQiPjwvYT5GdW5jdGlvbjogeG1sQnVmRW5kPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sQnVmRW5kCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxCdWZQdHIiPnhtbEJ1ZlB0cjwvYT4gYnVmKTxiciAvPgorPC9wcmU+PHA+RnVuY3Rpb24gdG8gZXh0cmFjdCB0aGUgZW5kIG9mIHRoZSBjb250ZW50IG9mIGEgYnVmZmVyPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YnVmPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnVmZmVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZW5kIG9mIHRoZSBpbnRlcm5hbCBjb250ZW50IG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEJ1ZkdldE5vZGVDb250ZW50IiBpZD0ieG1sQnVmR2V0Tm9kZUNvbnRlbnQiPjwvYT5GdW5jdGlvbjogeG1sQnVmR2V0Tm9kZUNvbnRlbnQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sQnVmR2V0Tm9kZUNvbnRlbnQJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEJ1ZlB0ciI+eG1sQnVmUHRyPC9hPiBidWYsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZSI+eG1sTm9kZTwvYT4gKiBjdXIpPGJyIC8+Cis8L3ByZT48cD5SZWFkIHRoZSB2YWx1ZSBvZiBhIG5vZGUgQGN1ciwgdGhpcyBjYW4gYmUgZWl0aGVyIHRoZSB0ZXh0IGNhcnJpZWQgZGlyZWN0bHkgYnkgdGhpcyBub2RlIGlmIGl0J3MgYSBURVhUIG5vZGUgb3IgdGhlIGFnZ3JlZ2F0ZSBzdHJpbmcgb2YgdGhlIHZhbHVlcyBjYXJyaWVkIGJ5IHRoaXMgbm9kZSBjaGlsZCdzIChURVhUIGFuZCBFTlRJVFlfUkVGKS4gRW50aXR5IHJlZmVyZW5jZXMgYXJlIHN1YnN0aXR1dGVkLiBGaWxscyB1cCB0aGUgYnVmZmVyIEBidWYgd2l0aCB0aGlzIHZhbHVlPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YnVmPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGJ1ZmZlciA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEJ1ZlB0ciI+eG1sQnVmUHRyPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbm9kZSBiZWluZyByZWFkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGluIGNhc2Ugb2Ygc3VjY2VzcyBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxCdWZOb2RlRHVtcCIgaWQ9InhtbEJ1Zk5vZGVEdW1wIj48L2E+RnVuY3Rpb246IHhtbEJ1Zk5vZGVEdW1wPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+c2l6ZV90CXhtbEJ1Zk5vZGVEdW1wCQkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQnVmUHRyIj54bWxCdWZQdHI8L2E+IGJ1ZiwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGN1ciwgPGJyIC8+CQkJCQkgaW50IGxldmVsLCA8YnIgLz4JCQkJCSBpbnQgZm9ybWF0KTxiciAvPgorPC9wcmU+PHA+RHVtcCBhbiBYTUwgbm9kZSwgcmVjdXJzaXZlIGJlaGF2aW91cixjaGlsZHJlbiBhcmUgcHJpbnRlZCB0b28uIE5vdGUgdGhhdCBAZm9ybWF0ID0gMSBwcm92aWRlIG5vZGUgaW5kZW50aW5nIG9ubHkgaWYgPGEgaHJlZj0ibGlieG1sLWdsb2JhbHMuaHRtbCN4bWxJbmRlbnRUcmVlT3V0cHV0Ij54bWxJbmRlbnRUcmVlT3V0cHV0PC9hPiA9IDEgb3IgeG1sS2VlcEJsYW5rc0RlZmF1bHQoMCkgd2FzIGNhbGxlZDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmJ1ZjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhNTCBidWZmZXIgb3V0cHV0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY3VycmVudCBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZXZlbDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGltYnJpY2F0aW9uIGxldmVsIGZvciBpbmRlbnRpbmc8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZvcm1hdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+aXMgZm9ybWF0dGluZyBhbGxvd2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGJ5dGVzIHdyaXR0ZW4gdG8gdGhlIGJ1ZmZlciwgaW4gY2FzZSBvZiBlcnJvciAwIGlzIHJldHVybmVkIG9yIEBidWYgc3RvcmVzIHRoZSBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEJ1ZlNocmluayIgaWQ9InhtbEJ1ZlNocmluayI+PC9hPkZ1bmN0aW9uOiB4bWxCdWZTaHJpbms8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5zaXplX3QJeG1sQnVmU2hyaW5rCQkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQnVmUHRyIj54bWxCdWZQdHI8L2E+IGJ1ZiwgPGJyIC8+CQkJCQkgc2l6ZV90IGxlbik8YnIgLz4KKzwvcHJlPjxwPlJlbW92ZSB0aGUgYmVnaW5uaW5nIG9mIGFuIFhNTCBidWZmZXIuIE5PVEUgdGhhdCB0aGlzIHJvdXRpbmUgYmVoYXZpb3VyIGRpZmZlcnMgZnJvbSB4bWxCdWZmZXJTaHJpbmsoKSBhcyBpdCB3aWxsIHJldHVybiAwIG9uIGVycm9yIGluc3RlYWQgb2YgLTEgZHVlIHRvIHNpemVfdCBiZWluZyB1c2VkIGFzIHRoZSByZXR1cm4gdHlwZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5idWY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBidWZmZXIgdG8gZHVtcDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGVuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiB0byByZW1vdmU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgYnl0ZSByZW1vdmVkIG9yIDAgaW4gY2FzZSBvZiBmYWlsdXJlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sQnVmVXNlIiBpZD0ieG1sQnVmVXNlIj48L2E+RnVuY3Rpb246IHhtbEJ1ZlVzZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnNpemVfdAl4bWxCdWZVc2UJCQkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxCdWZQdHIiPnhtbEJ1ZlB0cjwvYT4gYnVmKTxiciAvPgorPC9wcmU+PHA+RnVuY3Rpb24gdG8gZ2V0IHRoZSBsZW5ndGggb2YgYSBidWZmZXI8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5idWY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBidWZmZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsZW5ndGggb2YgZGF0YSBpbiB0aGUgaW50ZXJuYWwgY29udGVudDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEJ1ZmZlckFkZCIgaWQ9InhtbEJ1ZmZlckFkZCI+PC9hPkZ1bmN0aW9uOiB4bWxCdWZmZXJBZGQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sQnVmZmVyQWRkCQkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyUHRyIj54bWxCdWZmZXJQdHI8L2E+IGJ1ZiwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3RyLCA8YnIgLz4JCQkJCSBpbnQgbGVuKTxiciAvPgorPC9wcmU+PHA+QWRkIGEgc3RyaW5nIHJhbmdlIHRvIGFuIFhNTCBidWZmZXIuIGlmIGxlbiA9PSAtMSwgdGhlIGxlbmd0aCBvZiBzdHIgaXMgcmVjb21wdXRlZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5idWY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBidWZmZXIgdG8gZHVtcDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3RyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgI3htbENoYXIgc3RyaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgI3htbENoYXIgdG8gYWRkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIHN1Y2Nlc3NmdWwsIGEgcG9zaXRpdmUgZXJyb3IgY29kZSBudW1iZXIgb3RoZXJ3aXNlIGFuZCAtMSBpbiBjYXNlIG9mIGludGVybmFsIG9yIEFQSSBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxCdWZmZXJBZGRIZWFkIiBpZD0ieG1sQnVmZmVyQWRkSGVhZCI+PC9hPkZ1bmN0aW9uOiB4bWxCdWZmZXJBZGRIZWFkPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbEJ1ZmZlckFkZEhlYWQJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlclB0ciI+eG1sQnVmZmVyUHRyPC9hPiBidWYsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0ciwgPGJyIC8+CQkJCQkgaW50IGxlbik8YnIgLz4KKzwvcHJlPjxwPkFkZCBhIHN0cmluZyByYW5nZSB0byB0aGUgYmVnaW5uaW5nIG9mIGFuIFhNTCBidWZmZXIuIGlmIGxlbiA9PSAtMSwgdGhlIGxlbmd0aCBvZiBAc3RyIGlzIHJlY29tcHV0ZWQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YnVmPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnVmZmVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdHI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSAjeG1sQ2hhciBzdHJpbmc8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiAjeG1sQ2hhciB0byBhZGQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgc3VjY2Vzc2Z1bCwgYSBwb3NpdGl2ZSBlcnJvciBjb2RlIG51bWJlciBvdGhlcndpc2UgYW5kIC0xIGluIGNhc2Ugb2YgaW50ZXJuYWwgb3IgQVBJIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEJ1ZmZlckNDYXQiIGlkPSJ4bWxCdWZmZXJDQ2F0Ij48L2E+RnVuY3Rpb246IHhtbEJ1ZmZlckNDYXQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sQnVmZmVyQ0NhdAkJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlclB0ciI+eG1sQnVmZmVyUHRyPC9hPiBidWYsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBzdHIpPGJyIC8+Cis8L3ByZT48cD5BcHBlbmQgYSB6ZXJvIHRlcm1pbmF0ZWQgQyBzdHJpbmcgdG8gYW4gWE1MIGJ1ZmZlci48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5idWY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBidWZmZXIgdG8gZHVtcDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3RyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgQyBjaGFyIHN0cmluZzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBzdWNjZXNzZnVsLCBhIHBvc2l0aXZlIGVycm9yIGNvZGUgbnVtYmVyIG90aGVyd2lzZSBhbmQgLTEgaW4gY2FzZSBvZiBpbnRlcm5hbCBvciBBUEkgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sQnVmZmVyQ2F0IiBpZD0ieG1sQnVmZmVyQ2F0Ij48L2E+RnVuY3Rpb246IHhtbEJ1ZmZlckNhdDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxCdWZmZXJDYXQJCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJQdHIiPnhtbEJ1ZmZlclB0cjwvYT4gYnVmLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzdHIpPGJyIC8+Cis8L3ByZT48cD5BcHBlbmQgYSB6ZXJvIHRlcm1pbmF0ZWQgc3RyaW5nIHRvIGFuIFhNTCBidWZmZXIuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YnVmPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnVmZmVyIHRvIGFkZCB0bzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3RyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgI3htbENoYXIgc3RyaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIHN1Y2Nlc3NmdWwsIGEgcG9zaXRpdmUgZXJyb3IgY29kZSBudW1iZXIgb3RoZXJ3aXNlIGFuZCAtMSBpbiBjYXNlIG9mIGludGVybmFsIG9yIEFQSSBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxCdWZmZXJDb250ZW50IiBpZD0ieG1sQnVmZmVyQ29udGVudCI+PC9hPkZ1bmN0aW9uOiB4bWxCdWZmZXJDb250ZW50PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Y29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sQnVmZmVyQ29udGVudAkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXIiPnhtbEJ1ZmZlcjwvYT4gKiBidWYpPGJyIC8+Cis8L3ByZT48cD5GdW5jdGlvbiB0byBleHRyYWN0IHRoZSBjb250ZW50IG9mIGEgYnVmZmVyPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YnVmPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnVmZmVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaW50ZXJuYWwgY29udGVudDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEJ1ZmZlckNyZWF0ZSIgaWQ9InhtbEJ1ZmZlckNyZWF0ZSI+PC9hPkZ1bmN0aW9uOiB4bWxCdWZmZXJDcmVhdGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlclB0ciI+eG1sQnVmZmVyUHRyPC9hPgl4bWxCdWZmZXJDcmVhdGUJCSh2b2lkKTxiciAvPgorPC9wcmU+PHA+cm91dGluZSB0byBjcmVhdGUgYW4gWE1MIGJ1ZmZlci48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IHN0cnVjdHVyZS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxCdWZmZXJDcmVhdGVTaXplIiBpZD0ieG1sQnVmZmVyQ3JlYXRlU2l6ZSI+PC9hPkZ1bmN0aW9uOiB4bWxCdWZmZXJDcmVhdGVTaXplPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJQdHIiPnhtbEJ1ZmZlclB0cjwvYT4JeG1sQnVmZmVyQ3JlYXRlU2l6ZQkoc2l6ZV90IHNpemUpPGJyIC8+Cis8L3ByZT48cD5yb3V0aW5lIHRvIGNyZWF0ZSBhbiBYTUwgYnVmZmVyLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNpemU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmluaXRpYWwgc2l6ZSBvZiBidWZmZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXcgc3RydWN0dXJlLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEJ1ZmZlckNyZWF0ZVN0YXRpYyIgaWQ9InhtbEJ1ZmZlckNyZWF0ZVN0YXRpYyI+PC9hPkZ1bmN0aW9uOiB4bWxCdWZmZXJDcmVhdGVTdGF0aWM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlclB0ciI+eG1sQnVmZmVyUHRyPC9hPgl4bWxCdWZmZXJDcmVhdGVTdGF0aWMJKHZvaWQgKiBtZW0sIDxiciAvPgkJCQkJIHNpemVfdCBzaXplKTxiciAvPgorPC9wcmU+PHA+cm91dGluZSB0byBjcmVhdGUgYW4gWE1MIGJ1ZmZlciBmcm9tIGFuIGltbXV0YWJsZSBtZW1vcnkgYXJlYS4gVGhlIGFyZWEgd29uJ3QgYmUgbW9kaWZpZWQgbm9yIGNvcGllZCwgYW5kIGlzIGV4cGVjdGVkIHRvIGJlIHByZXNlbnQgdW50aWwgdGhlIGVuZCBvZiB0aGUgYnVmZmVyIGxpZmV0aW1lLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm1lbTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG1lbW9yeSBhcmVhPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zaXplPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc2l6ZSBpbiBieXRlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IHN0cnVjdHVyZS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxCdWZmZXJEZXRhY2giIGlkPSJ4bWxCdWZmZXJEZXRhY2giPjwvYT5GdW5jdGlvbjogeG1sQnVmZmVyRGV0YWNoPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sQnVmZmVyRGV0YWNoCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJQdHIiPnhtbEJ1ZmZlclB0cjwvYT4gYnVmKTxiciAvPgorPC9wcmU+PHA+UmVtb3ZlIHRoZSBzdHJpbmcgY29udGFpbmVkIGluIGEgYnVmZmVyIGFuZCBnaWUgaXQgYmFjayB0byB0aGUgY2FsbGVyLiBUaGUgYnVmZmVyIGlzIHJlc2V0IHRvIGFuIGVtcHR5IGNvbnRlbnQuIFRoaXMgZG9lc24ndCB3b3JrIHdpdGggaW1tdXRhYmxlIGJ1ZmZlcnMgYXMgdGhleSBjYW4ndCBiZSByZXNldC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5idWY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBidWZmZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwcmV2aW91cyBzdHJpbmcgY29udGFpbmVkIGJ5IHRoZSBidWZmZXIuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sQnVmZmVyRHVtcCIgaWQ9InhtbEJ1ZmZlckR1bXAiPjwvYT5GdW5jdGlvbjogeG1sQnVmZmVyRHVtcDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxCdWZmZXJEdW1wCQkJKEZJTEUgKiBmaWxlLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlclB0ciI+eG1sQnVmZmVyUHRyPC9hPiBidWYpPGJyIC8+Cis8L3ByZT48cD5EdW1wcyBhbiBYTUwgYnVmZmVyIHRvIGEgRklMRSAqLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZpbGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmaWxlIG91dHB1dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YnVmPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnVmZmVyIHRvIGR1bXA8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgI3htbENoYXIgd3JpdHRlbjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEJ1ZmZlckVtcHR5IiBpZD0ieG1sQnVmZmVyRW1wdHkiPjwvYT5GdW5jdGlvbjogeG1sQnVmZmVyRW1wdHk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbEJ1ZmZlckVtcHR5CQkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyUHRyIj54bWxCdWZmZXJQdHI8L2E+IGJ1Zik8YnIgLz4KKzwvcHJlPjxwPmVtcHR5IGEgYnVmZmVyLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmJ1ZjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ1ZmZlcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEJ1ZmZlckZyZWUiIGlkPSJ4bWxCdWZmZXJGcmVlIj48L2E+RnVuY3Rpb246IHhtbEJ1ZmZlckZyZWU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbEJ1ZmZlckZyZWUJCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJQdHIiPnhtbEJ1ZmZlclB0cjwvYT4gYnVmKTxiciAvPgorPC9wcmU+PHA+RnJlZXMgYW4gWE1MIGJ1ZmZlci4gSXQgZnJlZXMgYm90aCB0aGUgY29udGVudCBhbmQgdGhlIHN0cnVjdHVyZSB3aGljaCBlbmNhcHN1bGF0ZSBpdC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5idWY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBidWZmZXIgdG8gZnJlZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEJ1ZmZlckdyb3ciIGlkPSJ4bWxCdWZmZXJHcm93Ij48L2E+RnVuY3Rpb246IHhtbEJ1ZmZlckdyb3c8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sQnVmZmVyR3JvdwkJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlclB0ciI+eG1sQnVmZmVyUHRyPC9hPiBidWYsIDxiciAvPgkJCQkJIHVuc2lnbmVkIGludCBsZW4pPGJyIC8+Cis8L3ByZT48cD5Hcm93IHRoZSBhdmFpbGFibGUgc3BhY2Ugb2YgYW4gWE1MIGJ1ZmZlci48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5idWY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBidWZmZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG1pbmltdW0gZnJlZSBzaXplIHRvIGFsbG9jYXRlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IGF2YWlsYWJsZSBzcGFjZSBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sQnVmZmVyTGVuZ3RoIiBpZD0ieG1sQnVmZmVyTGVuZ3RoIj48L2E+RnVuY3Rpb246IHhtbEJ1ZmZlckxlbmd0aDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxCdWZmZXJMZW5ndGgJCQkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXIiPnhtbEJ1ZmZlcjwvYT4gKiBidWYpPGJyIC8+Cis8L3ByZT48cD5GdW5jdGlvbiB0byBnZXQgdGhlIGxlbmd0aCBvZiBhIGJ1ZmZlcjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmJ1ZjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ1ZmZlcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxlbmd0aCBvZiBkYXRhIGluIHRoZSBpbnRlcm5hbCBjb250ZW50PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sQnVmZmVyUmVzaXplIiBpZD0ieG1sQnVmZmVyUmVzaXplIj48L2E+RnVuY3Rpb246IHhtbEJ1ZmZlclJlc2l6ZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxCdWZmZXJSZXNpemUJCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJQdHIiPnhtbEJ1ZmZlclB0cjwvYT4gYnVmLCA8YnIgLz4JCQkJCSB1bnNpZ25lZCBpbnQgc2l6ZSk8YnIgLz4KKzwvcHJlPjxwPlJlc2l6ZSBhIGJ1ZmZlciB0byBhY2NvbW1vZGF0ZSBtaW5pbXVtIHNpemUgb2YgQHNpemUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YnVmPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnVmZmVyIHRvIHJlc2l6ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2l6ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRlc2lyZWQgc2l6ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpbiBjYXNlIG9mIHByb2JsZW1zLCAxIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEJ1ZmZlclNldEFsbG9jYXRpb25TY2hlbWUiIGlkPSJ4bWxCdWZmZXJTZXRBbGxvY2F0aW9uU2NoZW1lIj48L2E+RnVuY3Rpb246IHhtbEJ1ZmZlclNldEFsbG9jYXRpb25TY2hlbWU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbEJ1ZmZlclNldEFsbG9jYXRpb25TY2hlbWUJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyUHRyIj54bWxCdWZmZXJQdHI8L2E+IGJ1ZiwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJBbGxvY2F0aW9uU2NoZW1lIj54bWxCdWZmZXJBbGxvY2F0aW9uU2NoZW1lPC9hPiBzY2hlbWUpPGJyIC8+Cis8L3ByZT48cD5TZXRzIHRoZSBhbGxvY2F0aW9uIHNjaGVtZSBmb3IgdGhpcyBidWZmZXI8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5idWY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBidWZmZXIgdG8gdHVuZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2NoZW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbGxvY2F0aW9uIHNjaGVtZSB0byB1c2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxCdWZmZXJTaHJpbmsiIGlkPSJ4bWxCdWZmZXJTaHJpbmsiPjwvYT5GdW5jdGlvbjogeG1sQnVmZmVyU2hyaW5rPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbEJ1ZmZlclNocmluawkJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlclB0ciI+eG1sQnVmZmVyUHRyPC9hPiBidWYsIDxiciAvPgkJCQkJIHVuc2lnbmVkIGludCBsZW4pPGJyIC8+Cis8L3ByZT48cD5SZW1vdmUgdGhlIGJlZ2lubmluZyBvZiBhbiBYTUwgYnVmZmVyLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmJ1ZjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ1ZmZlciB0byBkdW1wPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+IHRvIHJlbW92ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiAjeG1sQ2hhciByZW1vdmVkLCBvciAtMSBpbiBjYXNlIG9mIGZhaWx1cmUuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sQnVmZmVyV3JpdGVDSEFSIiBpZD0ieG1sQnVmZmVyV3JpdGVDSEFSIj48L2E+RnVuY3Rpb246IHhtbEJ1ZmZlcldyaXRlQ0hBUjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sQnVmZmVyV3JpdGVDSEFSCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJQdHIiPnhtbEJ1ZmZlclB0cjwvYT4gYnVmLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzdHJpbmcpPGJyIC8+Cis8L3ByZT48cD5yb3V0aW5lIHdoaWNoIG1hbmFnZXMgYW5kIGdyb3dzIGFuIG91dHB1dCBidWZmZXIuIFRoaXMgb25lIGFkZHMgeG1sQ2hhcnMgYXQgdGhlIGVuZCBvZiB0aGUgYnVmZmVyLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmJ1ZjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhNTCBidWZmZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0cmluZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHN0cmluZyB0byBhZGQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxCdWZmZXJXcml0ZUNoYXIiIGlkPSJ4bWxCdWZmZXJXcml0ZUNoYXIiPjwvYT5GdW5jdGlvbjogeG1sQnVmZmVyV3JpdGVDaGFyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxCdWZmZXJXcml0ZUNoYXIJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlclB0ciI+eG1sQnVmZmVyUHRyPC9hPiBidWYsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBzdHJpbmcpPGJyIC8+Cis8L3ByZT48cD5yb3V0aW5lIHdoaWNoIG1hbmFnZSBhbmQgZ3Jvd3MgYW4gb3V0cHV0IGJ1ZmZlci4gVGhpcyBvbmUgYWRkIEMgY2hhcnMgYXQgdGhlIGVuZCBvZiB0aGUgYXJyYXkuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YnVmPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWE1MIGJ1ZmZlciBvdXRwdXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0cmluZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHN0cmluZyB0byBhZGQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxCdWZmZXJXcml0ZVF1b3RlZFN0cmluZyIgaWQ9InhtbEJ1ZmZlcldyaXRlUXVvdGVkU3RyaW5nIj48L2E+RnVuY3Rpb246IHhtbEJ1ZmZlcldyaXRlUXVvdGVkU3RyaW5nPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxCdWZmZXJXcml0ZVF1b3RlZFN0cmluZwkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJQdHIiPnhtbEJ1ZmZlclB0cjwvYT4gYnVmLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzdHJpbmcpPGJyIC8+Cis8L3ByZT48cD5yb3V0aW5lIHdoaWNoIG1hbmFnZSBhbmQgZ3Jvd3MgYW4gb3V0cHV0IGJ1ZmZlci4gVGhpcyBvbmUgd3JpdGVzIGEgcXVvdGVkIG9yIGRvdWJsZSBxdW90ZWQgI3htbENoYXIgc3RyaW5nLCBjaGVja2luZyBmaXJzdCBpZiBpdCBob2xkcyBxdW90ZSBvciBkb3VibGUtcXVvdGVzIGludGVybmFsbHk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5idWY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYTUwgYnVmZmVyIG91dHB1dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3RyaW5nPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc3RyaW5nIHRvIGFkZDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEJ1aWxkUU5hbWUiIGlkPSJ4bWxCdWlsZFFOYW1lIj48L2E+RnVuY3Rpb246IHhtbEJ1aWxkUU5hbWU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxCdWlsZFFOYW1lCQkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmNuYW1lLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwcmVmaXgsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG1lbW9yeSwgPGJyIC8+CQkJCQkgaW50IGxlbik8YnIgLz4KKzwvcHJlPjxwPkJ1aWxkcyB0aGUgUU5hbWUgQHByZWZpeDpAbmNuYW1lIGluIEBtZW1vcnkgaWYgdGhlcmUgaXMgZW5vdWdoIHNwYWNlIGFuZCBwcmVmaXggaXMgbm90IE5VTEwgbm9yIGVtcHR5LCBvdGhlcndpc2UgYWxsb2NhdGUgYSBuZXcgc3RyaW5nLiBJZiBwcmVmaXggaXMgTlVMTCBvciBlbXB0eSBpdCByZXR1cm5zIG5jbmFtZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uY25hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBOYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wcmVmaXg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwcmVmaXg8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm1lbW9yeTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+cHJlYWxsb2NhdGVkIG1lbW9yeTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGVuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5wcmVhbGxvY2F0ZWQgbWVtb3J5IGxlbmd0aDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ldyBzdHJpbmcgd2hpY2ggbXVzdCBiZSBmcmVlZCBieSB0aGUgY2FsbGVyIGlmIGRpZmZlcmVudCBmcm9tIEBtZW1vcnkgYW5kIEBuY25hbWUgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sQ2hpbGRFbGVtZW50Q291bnQiIGlkPSJ4bWxDaGlsZEVsZW1lbnRDb3VudCI+PC9hPkZ1bmN0aW9uOiB4bWxDaGlsZEVsZW1lbnRDb3VudDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnVuc2lnbmVkIGxvbmcJeG1sQ2hpbGRFbGVtZW50Q291bnQJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gcGFyZW50KTxiciAvPgorPC9wcmU+PHA+RmluZHMgdGhlIGN1cnJlbnQgbnVtYmVyIG9mIGNoaWxkIG5vZGVzIG9mIHRoYXQgZWxlbWVudCB3aGljaCBhcmUgZWxlbWVudCBub2Rlcy4gTm90ZSB0aGUgaGFuZGxpbmcgb2YgZW50aXRpZXMgcmVmZXJlbmNlcyBpcyBkaWZmZXJlbnQgdGhhbiBpbiB0aGUgVzNDIERPTSBlbGVtZW50IHRyYXZlcnNhbCBzcGVjIHNpbmNlIHdlIGRvbid0IGhhdmUgYmFjayA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjcmVmZXJlbmNlIj5yZWZlcmVuY2U8L2E+IGZyb20gZW50aXRpZXMgY29udGVudCB0byBlbnRpdGllcyByZWZlcmVuY2VzLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnBhcmVudDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHBhcmVudCBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY291bnQgb2YgZWxlbWVudCBjaGlsZCBvciAwIGlmIG5vdCBhdmFpbGFibGU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxDb3B5RG9jIiBpZD0ieG1sQ29weURvYyI+PC9hPkZ1bmN0aW9uOiB4bWxDb3B5RG9jPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4JeG1sQ29weURvYwkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyIC8+CQkJCQkgaW50IHJlY3Vyc2l2ZSk8YnIgLz4KKzwvcHJlPjxwPkRvIGEgY29weSBvZiB0aGUgZG9jdW1lbnQgaW5mby4gSWYgcmVjdXJzaXZlLCB0aGUgY29udGVudCB0cmVlIHdpbGwgYmUgY29waWVkIHRvbyBhcyB3ZWxsIGFzIERURCwgbmFtZXNwYWNlcyBhbmQgZW50aXRpZXMuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJlY3Vyc2l2ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+aWYgbm90IHplcm8gZG8gYSByZWN1cnNpdmUgY29weS48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbmV3ICN4bWxEb2NQdHIsIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxDb3B5RHRkIiBpZD0ieG1sQ29weUR0ZCI+PC9hPkZ1bmN0aW9uOiB4bWxDb3B5RHRkPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEdGRQdHIiPnhtbER0ZFB0cjwvYT4JeG1sQ29weUR0ZAkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRHRkUHRyIj54bWxEdGRQdHI8L2E+IGR0ZCk8YnIgLz4KKzwvcHJlPjxwPkRvIGEgY29weSBvZiB0aGUgZHRkLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmR0ZDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGR0ZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBuZXcgI3htbER0ZFB0ciwgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbENvcHlOYW1lc3BhY2UiIGlkPSJ4bWxDb3B5TmFtZXNwYWNlIj48L2E+RnVuY3Rpb246IHhtbENvcHlOYW1lc3BhY2U8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5zUHRyIj54bWxOc1B0cjwvYT4JeG1sQ29weU5hbWVzcGFjZQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOc1B0ciI+eG1sTnNQdHI8L2E+IGN1cik8YnIgLz4KKzwvcHJlPjxwPkRvIGEgY29weSBvZiB0aGUgbmFtZXNwYWNlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5hbWVzcGFjZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBuZXcgI3htbE5zUHRyLCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sQ29weU5hbWVzcGFjZUxpc3QiIGlkPSJ4bWxDb3B5TmFtZXNwYWNlTGlzdCI+PC9hPkZ1bmN0aW9uOiB4bWxDb3B5TmFtZXNwYWNlTGlzdDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTnNQdHIiPnhtbE5zUHRyPC9hPgl4bWxDb3B5TmFtZXNwYWNlTGlzdAkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOc1B0ciI+eG1sTnNQdHI8L2E+IGN1cik8YnIgLz4KKzwvcHJlPjxwPkRvIGEgY29weSBvZiBhbiBuYW1lc3BhY2UgbGlzdC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmaXJzdCBuYW1lc3BhY2U8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbmV3ICN4bWxOc1B0ciwgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbENvcHlOb2RlIiBpZD0ieG1sQ29weU5vZGUiPjwvYT5GdW5jdGlvbjogeG1sQ29weU5vZGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CXhtbENvcHlOb2RlCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlLCA8YnIgLz4JCQkJCSBpbnQgZXh0ZW5kZWQpPGJyIC8+Cis8L3ByZT48cD5EbyBhIGNvcHkgb2YgdGhlIG5vZGUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vZGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmV4dGVuZGVkPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5pZiAxIGRvIGEgcmVjdXJzaXZlIGNvcHkgKHByb3BlcnRpZXMsIG5hbWVzcGFjZXMgYW5kIGNoaWxkcmVuIHdoZW4gYXBwbGljYWJsZSkgaWYgMiBjb3B5IHByb3BlcnRpZXMgYW5kIG5hbWVzcGFjZXMgKHdoZW4gYXBwbGljYWJsZSk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbmV3ICN4bWxOb2RlUHRyLCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sQ29weU5vZGVMaXN0IiBpZD0ieG1sQ29weU5vZGVMaXN0Ij48L2E+RnVuY3Rpb246IHhtbENvcHlOb2RlTGlzdDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JeG1sQ29weU5vZGVMaXN0CQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlKTxiciAvPgorPC9wcmU+PHA+RG8gYSByZWN1cnNpdmUgY29weSBvZiB0aGUgbm9kZSBsaXN0LiBVc2UgeG1sRG9jQ29weU5vZGVMaXN0KCkgaWYgcG9zc2libGUgdG8gZW5zdXJlIHN0cmluZyBpbnRlcm5pbmcuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZpcnN0IG5vZGUgaW4gdGhlIGxpc3QuPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIG5ldyAjeG1sTm9kZVB0ciwgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbENvcHlQcm9wIiBpZD0ieG1sQ29weVByb3AiPjwvYT5GdW5jdGlvbjogeG1sQ29weVByb3A8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEF0dHJQdHIiPnhtbEF0dHJQdHI8L2E+CXhtbENvcHlQcm9wCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiB0YXJnZXQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQXR0clB0ciI+eG1sQXR0clB0cjwvYT4gY3VyKTxiciAvPgorPC9wcmU+PHA+RG8gYSBjb3B5IG9mIHRoZSBhdHRyaWJ1dGUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dGFyZ2V0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZWxlbWVudCB3aGVyZSB0aGUgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiB3aWxsIGJlIGdyYWZ0ZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbmV3ICN4bWxBdHRyUHRyLCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sQ29weVByb3BMaXN0IiBpZD0ieG1sQ29weVByb3BMaXN0Ij48L2E+RnVuY3Rpb246IHhtbENvcHlQcm9wTGlzdDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQXR0clB0ciI+eG1sQXR0clB0cjwvYT4JeG1sQ29weVByb3BMaXN0CQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiB0YXJnZXQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQXR0clB0ciI+eG1sQXR0clB0cjwvYT4gY3VyKTxiciAvPgorPC9wcmU+PHA+RG8gYSBjb3B5IG9mIGFuIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gbGlzdC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50YXJnZXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbGVtZW50IHdoZXJlIHRoZSBhdHRyaWJ1dGVzIHdpbGwgYmUgZ3JhZnRlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZmlyc3QgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBuZXcgI3htbEF0dHJQdHIsIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxDcmVhdGVJbnRTdWJzZXQiIGlkPSJ4bWxDcmVhdGVJbnRTdWJzZXQiPjwvYT5GdW5jdGlvbjogeG1sQ3JlYXRlSW50U3Vic2V0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEdGRQdHIiPnhtbER0ZFB0cjwvYT4JeG1sQ3JlYXRlSW50U3Vic2V0CSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIEV4dGVybmFsSUQsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIFN5c3RlbUlEKTxiciAvPgorPC9wcmU+PHA+Q3JlYXRlIHRoZSBpbnRlcm5hbCBzdWJzZXQgb2YgYSBkb2N1bWVudDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50IHBvaW50ZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBEVEQgbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+RXh0ZXJuYWxJRDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGV4dGVybmFsIChQVUJMSUMpIElEPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5TeXN0ZW1JRDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHN5c3RlbSBJRDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIHRoZSBuZXcgRFREIHN0cnVjdHVyZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbERPTVdyYXBBY3F1aXJlTnNGdW5jdGlvbiIgaWQ9InhtbERPTVdyYXBBY3F1aXJlTnNGdW5jdGlvbiI+PC9hPkZ1bmN0aW9uIHR5cGU6IHhtbERPTVdyYXBBY3F1aXJlTnNGdW5jdGlvbjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkZ1bmN0aW9uIHR5cGU6IHhtbERPTVdyYXBBY3F1aXJlTnNGdW5jdGlvbgorPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOc1B0ciI+eG1sTnNQdHI8L2E+CXhtbERPTVdyYXBBY3F1aXJlTnNGdW5jdGlvbgkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwQ3R4dFB0ciI+eG1sRE9NV3JhcEN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsIDxiciAvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuc05hbWUsIDxiciAvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuc1ByZWZpeCkKKzwvcHJlPjxwPkEgZnVuY3Rpb24gY2FsbGVkIHRvIGFjcXVpcmUgbmFtZXNwYWNlcyAoeG1sTnMpIGZyb20gdGhlIHdyYXBwZXIuPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgRE9NIHdyYXBwZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGNvbnRleHQgbm9kZSAoZWxlbWVudCBvciBhdHRyaWJ1dGUpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uc05hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSByZXF1ZXN0ZWQgbmFtZXNwYWNlIG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5zUHJlZml4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmVxdWVzdGVkIG5hbWVzcGFjZSBwcmVmaXg8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTnNQdHIiPnhtbE5zUHRyPC9hPiBvciBOVUxMIGluIGNhc2Ugb2YgYW4gZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48YnIgLz4KKzxoMz48YSBuYW1lPSJ4bWxET01XcmFwQWRvcHROb2RlIiBpZD0ieG1sRE9NV3JhcEFkb3B0Tm9kZSI+PC9hPkZ1bmN0aW9uOiB4bWxET01XcmFwQWRvcHROb2RlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbERPTVdyYXBBZG9wdE5vZGUJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBDdHh0UHRyIj54bWxET01XcmFwQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gc291cmNlRG9jLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRlc3REb2MsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gZGVzdFBhcmVudCwgPGJyIC8+CQkJCQkgaW50IG9wdGlvbnMpPGJyIC8+Cis8L3ByZT48cD5SZWZlcmVuY2VzIG9mIG91dC1vZiBzY29wZSBucy1kZWNscyBhcmUgcmVtYXBwZWQgdG8gcG9pbnQgdG8gQGRlc3REb2M6IDEpIElmIEBkZXN0UGFyZW50IGlzIGdpdmVuLCB0aGVuIG5zRGVmIGVudHJpZXMgb24gZWxlbWVudC1ub2RlcyBhcmUgdXNlZCAyKSBJZiAqbm8qIEBkZXN0UGFyZW50IGlzIGdpdmVuLCB0aGVuIEBkZXN0RG9jLSZndDtvbGROcyBlbnRyaWVzIGFyZSB1c2VkIFRoaXMgaXMgdGhlIGNhc2Ugd2hlbiB5b3UgaGF2ZSBhbiB1bmxpbmtlZCBub2RlIGFuZCBqdXN0IHdhbnQgdG8gbW92ZSBpdCB0byB0aGUgY29udGV4dCBvZiBJZiBAZGVzdFBhcmVudCBpcyBnaXZlbiwgaXQgZW5zdXJlcyB0aGF0IHRoZSB0cmVlIGlzIG5hbWVzcGFjZSB3ZWxsZm9ybWVkIGJ5IGNyZWF0aW5nIGFkZGl0aW9uYWwgbnMtZGVjbHMgd2hlcmUgbmVlZGVkLiBOb3RlIHRoYXQsIHNpbmNlIHByZWZpeGVzIG9mIGFscmVhZHkgZXhpc3RlbnQgbnMtZGVjbHMgY2FuIGJlIHNoYWRvd2VkIGJ5IHRoaXMgcHJvY2VzcywgaXQgY291bGQgYnJlYWsgUU5hbWVzIGluIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gdmFsdWVzIG9yIGVsZW1lbnQgY29udGVudC4gTk9URTogVGhpcyBmdW5jdGlvbiB3YXMgbm90IGludGVuc2l2ZWx5IHRlc3RlZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgb3B0aW9uYWwgY29udGV4dCBmb3IgY3VzdG9tIHByb2Nlc3Npbmc8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNvdXJjZURvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG9wdGlvbmFsIHNvdXJjZURvYzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vZGUgdG8gc3RhcnQgd2l0aDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGVzdERvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRlc3RpbmF0aW9uIGRvYzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGVzdFBhcmVudDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG9wdGlvbmFsIG5ldyBwYXJlbnQgb2YgQG5vZGUgaW4gQGRlc3REb2M8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm9wdGlvbnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPm9wdGlvbiBmbGFnczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpZiB0aGUgb3BlcmF0aW9uIHN1Y2NlZWRlZCwgMSBpZiBhIG5vZGUgb2YgdW5zdXBwb3J0ZWQgdHlwZSB3YXMgZ2l2ZW4sIDIgaWYgYSBub2RlIG9mIG5vdCB5ZXQgc3VwcG9ydGVkIHR5cGUgd2FzIGdpdmVuIGFuZCAtMSBvbiBBUEkvaW50ZXJuYWwgZXJyb3JzLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbERPTVdyYXBDbG9uZU5vZGUiIGlkPSJ4bWxET01XcmFwQ2xvbmVOb2RlIj48L2E+RnVuY3Rpb246IHhtbERPTVdyYXBDbG9uZU5vZGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sRE9NV3JhcENsb25lTm9kZQkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcEN0eHRQdHIiPnhtbERPTVdyYXBDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBzb3VyY2VEb2MsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiAqIHJlc05vZGUsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRlc3REb2MsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gZGVzdFBhcmVudCwgPGJyIC8+CQkJCQkgaW50IGRlZXAsIDxiciAvPgkJCQkJIGludCBvcHRpb25zKTxiciAvPgorPC9wcmU+PHA+UmVmZXJlbmNlcyBvZiBvdXQtb2Ygc2NvcGUgbnMtZGVjbHMgYXJlIHJlbWFwcGVkIHRvIHBvaW50IHRvIEBkZXN0RG9jOiAxKSBJZiBAZGVzdFBhcmVudCBpcyBnaXZlbiwgdGhlbiBuc0RlZiBlbnRyaWVzIG9uIGVsZW1lbnQtbm9kZXMgYXJlIHVzZWQgMikgSWYgKm5vKiBAZGVzdFBhcmVudCBpcyBnaXZlbiwgdGhlbiBAZGVzdERvYy0mZ3Q7b2xkTnMgZW50cmllcyBhcmUgdXNlZC4gVGhpcyBpcyB0aGUgY2FzZSB3aGVuIHlvdSBkb24ndCBrbm93IGFscmVhZHkgd2hlcmUgdGhlIGNsb25lZCBicmFuY2ggd2lsbCBiZSBhZGRlZCB0by4gSWYgQGRlc3RQYXJlbnQgaXMgZ2l2ZW4sIGl0IGVuc3VyZXMgdGhhdCB0aGUgdHJlZSBpcyBuYW1lc3BhY2Ugd2VsbGZvcm1lZCBieSBjcmVhdGluZyBhZGRpdGlvbmFsIG5zLWRlY2xzIHdoZXJlIG5lZWRlZC4gTm90ZSB0aGF0LCBzaW5jZSBwcmVmaXhlcyBvZiBhbHJlYWR5IGV4aXN0ZW50IG5zLWRlY2xzIGNhbiBiZSBzaGFkb3dlZCBieSB0aGlzIHByb2Nlc3MsIGl0IGNvdWxkIGJyZWFrIFFOYW1lcyBpbiA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IHZhbHVlcyBvciBlbGVtZW50IGNvbnRlbnQuIFRPRE86IDEpIFdoYXQgdG8gZG8gd2l0aCBYSW5jbHVkZT8gQ3VycmVudGx5IHRoaXMgcmV0dXJucyBhbiBlcnJvciBmb3IgWEluY2x1ZGUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG9wdGlvbmFsIGNvbnRleHQgZm9yIGN1c3RvbSBwcm9jZXNzaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zb3VyY2VEb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBvcHRpb25hbCBzb3VyY2VEb2M8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBub2RlIHRvIHN0YXJ0IHdpdGg8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJlc05vZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjbG9uZSBvZiB0aGUgZ2l2ZW4gQG5vZGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRlc3REb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkZXN0aW5hdGlvbiBkb2M8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRlc3RQYXJlbnQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBvcHRpb25hbCBuZXcgcGFyZW50IG9mIEBub2RlIGluIEBkZXN0RG9jPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kZWVwPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5kZXNjZW5kIGludG8gY2hpbGQgaWYgc2V0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vcHRpb25zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5vcHRpb24gZmxhZ3M8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaWYgdGhlIG9wZXJhdGlvbiBzdWNjZWVkZWQsIDEgaWYgYSBub2RlIG9mIHVuc3VwcG9ydGVkIChvciBub3QgeWV0IHN1cHBvcnRlZCkgdHlwZSB3YXMgZ2l2ZW4sIC0xIG9uIEFQSS9pbnRlcm5hbCBlcnJvcnMuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sRE9NV3JhcEZyZWVDdHh0IiBpZD0ieG1sRE9NV3JhcEZyZWVDdHh0Ij48L2E+RnVuY3Rpb246IHhtbERPTVdyYXBGcmVlQ3R4dDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sRE9NV3JhcEZyZWVDdHh0CQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwQ3R4dFB0ciI+eG1sRE9NV3JhcEN0eHRQdHI8L2E+IGN0eHQpPGJyIC8+Cis8L3ByZT48cD5GcmVlcyB0aGUgRE9NLXdyYXBwZXIgY29udGV4dC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgRE9NLXdyYXBwZXIgY29udGV4dDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbERPTVdyYXBOZXdDdHh0IiBpZD0ieG1sRE9NV3JhcE5ld0N0eHQiPjwvYT5GdW5jdGlvbjogeG1sRE9NV3JhcE5ld0N0eHQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBDdHh0UHRyIj54bWxET01XcmFwQ3R4dFB0cjwvYT4JeG1sRE9NV3JhcE5ld0N0eHQJKHZvaWQpPGJyIC8+Cis8L3ByZT48cD5BbGxvY2F0ZXMgYW5kIGluaXRpYWxpemVzIGEgbmV3IERPTS13cmFwcGVyIGNvbnRleHQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcEN0eHRQdHIiPnhtbERPTVdyYXBDdHh0UHRyPC9hPiBvciBOVUxMIGluIGNhc2Ugb2YgYW4gaW50ZXJuYWwgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sRE9NV3JhcFJlY29uY2lsZU5hbWVzcGFjZXMiIGlkPSJ4bWxET01XcmFwUmVjb25jaWxlTmFtZXNwYWNlcyI+PC9hPkZ1bmN0aW9uOiB4bWxET01XcmFwUmVjb25jaWxlTmFtZXNwYWNlczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxET01XcmFwUmVjb25jaWxlTmFtZXNwYWNlcwkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwQ3R4dFB0ciI+eG1sRE9NV3JhcEN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gZWxlbSwgPGJyIC8+CQkJCQkgaW50IG9wdGlvbnMpPGJyIC8+Cis8L3ByZT48cD5FbnN1cmVzIHRoYXQgbnMtcmVmZXJlbmNlcyBwb2ludCB0byBucy1kZWNscyBob2xkIG9uIGVsZW1lbnQtbm9kZXMuIEVuc3VyZXMgdGhhdCB0aGUgdHJlZSBpcyBuYW1lc3BhY2Ugd2VsbGZvcm1lZCBieSBjcmVhdGluZyBhZGRpdGlvbmFsIG5zLWRlY2xzIHdoZXJlIG5lZWRlZC4gTm90ZSB0aGF0LCBzaW5jZSBwcmVmaXhlcyBvZiBhbHJlYWR5IGV4aXN0ZW50IG5zLWRlY2xzIGNhbiBiZSBzaGFkb3dlZCBieSB0aGlzIHByb2Nlc3MsIGl0IGNvdWxkIGJyZWFrIFFOYW1lcyBpbiA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IHZhbHVlcyBvciBlbGVtZW50IGNvbnRlbnQuIE5PVEU6IFRoaXMgZnVuY3Rpb24gd2FzIG5vdCBpbnRlbnNpdmVseSB0ZXN0ZWQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+RE9NIHdyYXBwZXIgY29udGV4dCwgdW51c2VkIGF0IHRoZSBtb21lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVsZW08L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbGVtZW50LW5vZGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm9wdGlvbnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPm9wdGlvbiBmbGFnczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpZiBzdWNjZWVkZWQsIC0xIG90aGVyd2lzZSBhbmQgb24gQVBJL2ludGVybmFsIGVycm9ycy48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxET01XcmFwUmVtb3ZlTm9kZSIgaWQ9InhtbERPTVdyYXBSZW1vdmVOb2RlIj48L2E+RnVuY3Rpb246IHhtbERPTVdyYXBSZW1vdmVOb2RlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbERPTVdyYXBSZW1vdmVOb2RlCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwQ3R4dFB0ciI+eG1sRE9NV3JhcEN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlLCA8YnIgLz4JCQkJCSBpbnQgb3B0aW9ucyk8YnIgLz4KKzwvcHJlPjxwPlVubGlua3MgdGhlIGdpdmVuIG5vZGUgZnJvbSBpdHMgb3duZXIuIFRoaXMgd2lsbCBzdWJzdGl0dXRlIG5zLXJlZmVyZW5jZXMgdG8gbm9kZS0mZ3Q7bnNEZWYgZm9yIG5zLXJlZmVyZW5jZXMgdG8gZG9jLSZndDtvbGROcywgdGh1cyBlbnN1cmluZyB0aGUgcmVtb3ZlZCBicmFuY2ggdG8gYmUgYXV0YXJrIHdydCBucy1yZWZlcmVuY2VzLiBOT1RFOiBUaGlzIGZ1bmN0aW9uIHdhcyBub3QgaW50ZW5zaXZlbHkgdGVzdGVkLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgRE9NIHdyYXBwZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbm9kZSB0byBiZSByZW1vdmVkLjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3B0aW9uczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+c2V0IG9mIG9wdGlvbnMsIHVudXNlZCBhdCB0aGUgbW9tZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIG9uIHN1Y2Nlc3MsIDEgaWYgdGhlIG5vZGUgaXMgbm90IHN1cHBvcnRlZCwgLTEgb24gQVBJIGFuZCBpbnRlcm5hbCBlcnJvcnMuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sRG9jQ29weU5vZGUiIGlkPSJ4bWxEb2NDb3B5Tm9kZSI+PC9hPkZ1bmN0aW9uOiB4bWxEb2NDb3B5Tm9kZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JeG1sRG9jQ29weU5vZGUJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyIC8+CQkJCQkgaW50IGV4dGVuZGVkKTxiciAvPgorPC9wcmU+PHA+RG8gYSBjb3B5IG9mIHRoZSBub2RlIHRvIGEgZ2l2ZW4gZG9jdW1lbnQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vZGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5leHRlbmRlZDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+aWYgMSBkbyBhIHJlY3Vyc2l2ZSBjb3B5IChwcm9wZXJ0aWVzLCBuYW1lc3BhY2VzIGFuZCBjaGlsZHJlbiB3aGVuIGFwcGxpY2FibGUpIGlmIDIgY29weSBwcm9wZXJ0aWVzIGFuZCBuYW1lc3BhY2VzICh3aGVuIGFwcGxpY2FibGUpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIG5ldyAjeG1sTm9kZVB0ciwgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbERvY0NvcHlOb2RlTGlzdCIgaWQ9InhtbERvY0NvcHlOb2RlTGlzdCI+PC9hPkZ1bmN0aW9uOiB4bWxEb2NDb3B5Tm9kZUxpc3Q8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CXhtbERvY0NvcHlOb2RlTGlzdAkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUpPGJyIC8+Cis8L3ByZT48cD5EbyBhIHJlY3Vyc2l2ZSBjb3B5IG9mIHRoZSBub2RlIGxpc3QuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdGFyZ2V0IGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZmlyc3Qgbm9kZSBpbiB0aGUgbGlzdC48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbmV3ICN4bWxOb2RlUHRyLCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sRG9jRHVtcCIgaWQ9InhtbERvY0R1bXAiPjwvYT5GdW5jdGlvbjogeG1sRG9jRHVtcDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxEb2NEdW1wCQkJKEZJTEUgKiBmLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBjdXIpPGJyIC8+Cis8L3ByZT48cD5EdW1wIGFuIFhNTCBkb2N1bWVudCB0byBhbiBvcGVuIEZJTEUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIEZJTEUqPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBieXRlcyB3cml0dGVuIG9yIC0xIGluIGNhc2Ugb2YgZmFpbHVyZS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxEb2NEdW1wRm9ybWF0TWVtb3J5IiBpZD0ieG1sRG9jRHVtcEZvcm1hdE1lbW9yeSI+PC9hPkZ1bmN0aW9uOiB4bWxEb2NEdW1wRm9ybWF0TWVtb3J5PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxEb2NEdW1wRm9ybWF0TWVtb3J5CQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gY3VyLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiogbWVtLCA8YnIgLz4JCQkJCSBpbnQgKiBzaXplLCA8YnIgLz4JCQkJCSBpbnQgZm9ybWF0KTxiciAvPgorPC9wcmU+PHA+RHVtcCBhbiBYTUwgZG9jdW1lbnQgaW4gbWVtb3J5IGFuZCByZXR1cm4gdGhlICN4bWxDaGFyICogYW5kIGl0J3Mgc2l6ZS4gSXQncyB1cCB0byB0aGUgY2FsbGVyIHRvIGZyZWUgdGhlIG1lbW9yeSB3aXRoIHhtbEZyZWUoKS4gTm90ZSB0aGF0IEBmb3JtYXQgPSAxIHByb3ZpZGUgbm9kZSBpbmRlbnRpbmcgb25seSBpZiA8YSBocmVmPSJsaWJ4bWwtZ2xvYmFscy5odG1sI3htbEluZGVudFRyZWVPdXRwdXQiPnhtbEluZGVudFRyZWVPdXRwdXQ8L2E+ID0gMSBvciB4bWxLZWVwQmxhbmtzRGVmYXVsdCgwKSB3YXMgY2FsbGVkPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm1lbTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+T1VUOiB0aGUgbWVtb3J5IHBvaW50ZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNpemU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPk9VVDogdGhlIG1lbW9yeSBsZW5ndGg8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZvcm1hdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+c2hvdWxkIGZvcm1hdHRpbmcgc3BhY2VzIGJlZW4gYWRkZWQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxEb2NEdW1wRm9ybWF0TWVtb3J5RW5jIiBpZD0ieG1sRG9jRHVtcEZvcm1hdE1lbW9yeUVuYyI+PC9hPkZ1bmN0aW9uOiB4bWxEb2NEdW1wRm9ybWF0TWVtb3J5RW5jPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxEb2NEdW1wRm9ybWF0TWVtb3J5RW5jCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBvdXRfZG9jLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiogZG9jX3R4dF9wdHIsIDxiciAvPgkJCQkJIGludCAqIGRvY190eHRfbGVuLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogdHh0X2VuY29kaW5nLCA8YnIgLz4JCQkJCSBpbnQgZm9ybWF0KTxiciAvPgorPC9wcmU+PHA+RHVtcCB0aGUgY3VycmVudCBET00gdHJlZSBpbnRvIG1lbW9yeSB1c2luZyB0aGUgY2hhcmFjdGVyIGVuY29kaW5nIHNwZWNpZmllZCBieSB0aGUgY2FsbGVyLiBOb3RlIGl0IGlzIHVwIHRvIHRoZSBjYWxsZXIgb2YgdGhpcyBmdW5jdGlvbiB0byBmcmVlIHRoZSBhbGxvY2F0ZWQgbWVtb3J5IHdpdGggeG1sRnJlZSgpLiBOb3RlIHRoYXQgQGZvcm1hdCA9IDEgcHJvdmlkZSBub2RlIGluZGVudGluZyBvbmx5IGlmIDxhIGhyZWY9ImxpYnhtbC1nbG9iYWxzLmh0bWwjeG1sSW5kZW50VHJlZU91dHB1dCI+eG1sSW5kZW50VHJlZU91dHB1dDwvYT4gPSAxIG9yIHhtbEtlZXBCbGFua3NEZWZhdWx0KDApIHdhcyBjYWxsZWQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vdXRfZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5Eb2N1bWVudCB0byBnZW5lcmF0ZSBYTUwgdGV4dCBmcm9tPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2NfdHh0X3B0cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+TWVtb3J5IHBvaW50ZXIgZm9yIGFsbG9jYXRlZCBYTUwgdGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jX3R4dF9sZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPkxlbmd0aCBvZiB0aGUgZ2VuZXJhdGVkIFhNTCB0ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50eHRfZW5jb2Rpbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPkNoYXJhY3RlciBlbmNvZGluZyB0byB1c2Ugd2hlbiBnZW5lcmF0aW5nIFhNTCB0ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mb3JtYXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnNob3VsZCBmb3JtYXR0aW5nIHNwYWNlcyBiZWVuIGFkZGVkPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sRG9jRHVtcE1lbW9yeSIgaWQ9InhtbERvY0R1bXBNZW1vcnkiPjwvYT5GdW5jdGlvbjogeG1sRG9jRHVtcE1lbW9yeTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sRG9jRHVtcE1lbW9yeQkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGN1ciwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoqIG1lbSwgPGJyIC8+CQkJCQkgaW50ICogc2l6ZSk8YnIgLz4KKzwvcHJlPjxwPkR1bXAgYW4gWE1MIGRvY3VtZW50IGluIG1lbW9yeSBhbmQgcmV0dXJuIHRoZSAjeG1sQ2hhciAqIGFuZCBpdCdzIHNpemUgaW4gYnl0ZXMuIEl0J3MgdXAgdG8gdGhlIGNhbGxlciB0byBmcmVlIHRoZSBtZW1vcnkgd2l0aCB4bWxGcmVlKCkuIFRoZSByZXN1bHRpbmcgYnl0ZSBhcnJheSBpcyB6ZXJvIHRlcm1pbmF0ZWQsIHRob3VnaCB0aGUgbGFzdCAwIGlzIG5vdCBpbmNsdWRlZCBpbiB0aGUgcmV0dXJuZWQgc2l6ZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bWVtPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5PVVQ6IHRoZSBtZW1vcnkgcG9pbnRlcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2l6ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+T1VUOiB0aGUgbWVtb3J5IGxlbmd0aDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbERvY0R1bXBNZW1vcnlFbmMiIGlkPSJ4bWxEb2NEdW1wTWVtb3J5RW5jIj48L2E+RnVuY3Rpb246IHhtbERvY0R1bXBNZW1vcnlFbmM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbERvY0R1bXBNZW1vcnlFbmMJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBvdXRfZG9jLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiogZG9jX3R4dF9wdHIsIDxiciAvPgkJCQkJIGludCAqIGRvY190eHRfbGVuLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogdHh0X2VuY29kaW5nKTxiciAvPgorPC9wcmU+PHA+RHVtcCB0aGUgY3VycmVudCBET00gdHJlZSBpbnRvIG1lbW9yeSB1c2luZyB0aGUgY2hhcmFjdGVyIGVuY29kaW5nIHNwZWNpZmllZCBieSB0aGUgY2FsbGVyLiBOb3RlIGl0IGlzIHVwIHRvIHRoZSBjYWxsZXIgb2YgdGhpcyBmdW5jdGlvbiB0byBmcmVlIHRoZSBhbGxvY2F0ZWQgbWVtb3J5IHdpdGggeG1sRnJlZSgpLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm91dF9kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPkRvY3VtZW50IHRvIGdlbmVyYXRlIFhNTCB0ZXh0IGZyb208L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvY190eHRfcHRyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5NZW1vcnkgcG9pbnRlciBmb3IgYWxsb2NhdGVkIFhNTCB0ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2NfdHh0X2xlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+TGVuZ3RoIG9mIHRoZSBnZW5lcmF0ZWQgWE1MIHRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnR4dF9lbmNvZGluZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+Q2hhcmFjdGVyIGVuY29kaW5nIHRvIHVzZSB3aGVuIGdlbmVyYXRpbmcgWE1MIHRleHQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxEb2NGb3JtYXREdW1wIiBpZD0ieG1sRG9jRm9ybWF0RHVtcCI+PC9hPkZ1bmN0aW9uOiB4bWxEb2NGb3JtYXREdW1wPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbERvY0Zvcm1hdER1bXAJCShGSUxFICogZiwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gY3VyLCA8YnIgLz4JCQkJCSBpbnQgZm9ybWF0KTxiciAvPgorPC9wcmU+PHA+RHVtcCBhbiBYTUwgZG9jdW1lbnQgdG8gYW4gb3BlbiBGSUxFLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBGSUxFKjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZvcm1hdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+c2hvdWxkIGZvcm1hdHRpbmcgc3BhY2VzIGJlZW4gYWRkZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgYnl0ZXMgd3JpdHRlbiBvciAtMSBpbiBjYXNlIG9mIGZhaWx1cmUuIE5vdGUgdGhhdCBAZm9ybWF0ID0gMSBwcm92aWRlIG5vZGUgaW5kZW50aW5nIG9ubHkgaWYgPGEgaHJlZj0ibGlieG1sLWdsb2JhbHMuaHRtbCN4bWxJbmRlbnRUcmVlT3V0cHV0Ij54bWxJbmRlbnRUcmVlT3V0cHV0PC9hPiA9IDEgb3IgeG1sS2VlcEJsYW5rc0RlZmF1bHQoMCkgd2FzIGNhbGxlZDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbERvY0dldFJvb3RFbGVtZW50IiBpZD0ieG1sRG9jR2V0Um9vdEVsZW1lbnQiPjwvYT5GdW5jdGlvbjogeG1sRG9jR2V0Um9vdEVsZW1lbnQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CXhtbERvY0dldFJvb3RFbGVtZW50CShjb25zdCA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvYyI+eG1sRG9jPC9hPiAqIGRvYyk8YnIgLz4KKzwvcHJlPjxwPkdldCB0aGUgcm9vdCBlbGVtZW50IG9mIHRoZSBkb2N1bWVudCAoZG9jLSZndDtjaGlsZHJlbiBpcyBhIGxpc3QgY29udGFpbmluZyBwb3NzaWJseSBjb21tZW50cywgUElzLCBldGMgLi4uKS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlICN4bWxOb2RlUHRyIGZvciB0aGUgcm9vdCBvciBOVUxMPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sRG9jU2V0Um9vdEVsZW1lbnQiIGlkPSJ4bWxEb2NTZXRSb290RWxlbWVudCI+PC9hPkZ1bmN0aW9uOiB4bWxEb2NTZXRSb290RWxlbWVudDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JeG1sRG9jU2V0Um9vdEVsZW1lbnQJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiByb290KTxiciAvPgorPC9wcmU+PHA+U2V0IHRoZSByb290IGVsZW1lbnQgb2YgdGhlIGRvY3VtZW50IChkb2MtJmd0O2NoaWxkcmVuIGlzIGEgbGlzdCBjb250YWluaW5nIHBvc3NpYmx5IGNvbW1lbnRzLCBQSXMsIGV0YyAuLi4pLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yb290PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IGRvY3VtZW50IHJvb3QgZWxlbWVudCwgaWYgcm9vdCBpcyBOVUxMIG5vIGFjdGlvbiBpcyB0YWtlbiwgdG8gcmVtb3ZlIGEgbm9kZSBmcm9tIGEgZG9jdW1lbnQgdXNlIHhtbFVubGlua05vZGUocm9vdCkgaW5zdGVhZC48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBvbGQgcm9vdCBlbGVtZW50IGlmIGFueSB3YXMgZm91bmQsIE5VTEwgaWYgcm9vdCB3YXMgTlVMTDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEVsZW1EdW1wIiBpZD0ieG1sRWxlbUR1bXAiPjwvYT5GdW5jdGlvbjogeG1sRWxlbUR1bXA8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbEVsZW1EdW1wCQkJKEZJTEUgKiBmLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gY3VyKTxiciAvPgorPC9wcmU+PHA+RHVtcCBhbiBYTUwvSFRNTCBub2RlLCByZWN1cnNpdmUgYmVoYXZpb3VyLCBjaGlsZHJlbiBhcmUgcHJpbnRlZCB0b28uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIEZJTEUgKiBmb3IgdGhlIG91dHB1dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGN1cnJlbnQgbm9kZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEZpcnN0RWxlbWVudENoaWxkIiBpZD0ieG1sRmlyc3RFbGVtZW50Q2hpbGQiPjwvYT5GdW5jdGlvbjogeG1sRmlyc3RFbGVtZW50Q2hpbGQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CXhtbEZpcnN0RWxlbWVudENoaWxkCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IHBhcmVudCk8YnIgLz4KKzwvcHJlPjxwPkZpbmRzIHRoZSBmaXJzdCBjaGlsZCBub2RlIG9mIHRoYXQgZWxlbWVudCB3aGljaCBpcyBhIEVsZW1lbnQgbm9kZSBOb3RlIHRoZSBoYW5kbGluZyBvZiBlbnRpdGllcyByZWZlcmVuY2VzIGlzIGRpZmZlcmVudCB0aGFuIGluIHRoZSBXM0MgRE9NIGVsZW1lbnQgdHJhdmVyc2FsIHNwZWMgc2luY2Ugd2UgZG9uJ3QgaGF2ZSBiYWNrIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNyZWZlcmVuY2UiPnJlZmVyZW5jZTwvYT4gZnJvbSBlbnRpdGllcyBjb250ZW50IHRvIGVudGl0aWVzIHJlZmVyZW5jZXMuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cGFyZW50PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcGFyZW50IG5vZGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmaXJzdCBlbGVtZW50IGNoaWxkIG9yIE5VTEwgaWYgbm90IGF2YWlsYWJsZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEZyZWVEb2MiIGlkPSJ4bWxGcmVlRG9jIj48L2E+RnVuY3Rpb246IHhtbEZyZWVEb2M8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbEZyZWVEb2MJCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gY3VyKTxiciAvPgorPC9wcmU+PHA+RnJlZSB1cCBhbGwgdGhlIHN0cnVjdHVyZXMgdXNlZCBieSBhIGRvY3VtZW50LCB0cmVlIGluY2x1ZGVkLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+cG9pbnRlciB0byB0aGUgZG9jdW1lbnQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxGcmVlRHRkIiBpZD0ieG1sRnJlZUR0ZCI+PC9hPkZ1bmN0aW9uOiB4bWxGcmVlRHRkPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxGcmVlRHRkCQkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRHRkUHRyIj54bWxEdGRQdHI8L2E+IGN1cik8YnIgLz4KKzwvcHJlPjxwPkZyZWUgYSBEVEQgc3RydWN0dXJlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIERURCBzdHJ1Y3R1cmUgdG8gZnJlZSB1cDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEZyZWVOb2RlIiBpZD0ieG1sRnJlZU5vZGUiPjwvYT5GdW5jdGlvbjogeG1sRnJlZU5vZGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbEZyZWVOb2RlCQkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gY3VyKTxiciAvPgorPC9wcmU+PHA+RnJlZSBhIG5vZGUsIHRoaXMgaXMgYSByZWN1cnNpdmUgYmVoYXZpb3VyLCBhbGwgdGhlIGNoaWxkcmVuIGFyZSBmcmVlZCB0b28uIFRoaXMgZG9lc24ndCB1bmxpbmsgdGhlIGNoaWxkIGZyb20gdGhlIGxpc3QsIHVzZSB4bWxVbmxpbmtOb2RlKCkgZmlyc3QuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbm9kZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEZyZWVOb2RlTGlzdCIgaWQ9InhtbEZyZWVOb2RlTGlzdCI+PC9hPkZ1bmN0aW9uOiB4bWxGcmVlTm9kZUxpc3Q8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbEZyZWVOb2RlTGlzdAkJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGN1cik8YnIgLz4KKzwvcHJlPjxwPkZyZWUgYSBub2RlIGFuZCBhbGwgaXRzIHNpYmxpbmdzLCB0aGlzIGlzIGEgcmVjdXJzaXZlIGJlaGF2aW91ciwgYWxsIHRoZSBjaGlsZHJlbiBhcmUgZnJlZWQgdG9vLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZpcnN0IG5vZGUgaW4gdGhlIGxpc3Q8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxGcmVlTnMiIGlkPSJ4bWxGcmVlTnMiPjwvYT5GdW5jdGlvbjogeG1sRnJlZU5zPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxGcmVlTnMJCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOc1B0ciI+eG1sTnNQdHI8L2E+IGN1cik8YnIgLz4KKzwvcHJlPjxwPkZyZWUgdXAgdGhlIHN0cnVjdHVyZXMgYXNzb2NpYXRlZCB0byBhIG5hbWVzcGFjZTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5hbWVzcGFjZSBwb2ludGVyPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sRnJlZU5zTGlzdCIgaWQ9InhtbEZyZWVOc0xpc3QiPjwvYT5GdW5jdGlvbjogeG1sRnJlZU5zTGlzdDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sRnJlZU5zTGlzdAkJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5zUHRyIj54bWxOc1B0cjwvYT4gY3VyKTxiciAvPgorPC9wcmU+PHA+RnJlZSB1cCBhbGwgdGhlIHN0cnVjdHVyZXMgYXNzb2NpYXRlZCB0byB0aGUgY2hhaW5lZCBuYW1lc3BhY2VzLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZpcnN0IG5hbWVzcGFjZSBwb2ludGVyPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sRnJlZVByb3AiIGlkPSJ4bWxGcmVlUHJvcCI+PC9hPkZ1bmN0aW9uOiB4bWxGcmVlUHJvcDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sRnJlZVByb3AJCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxBdHRyUHRyIj54bWxBdHRyUHRyPC9hPiBjdXIpPGJyIC8+Cis8L3ByZT48cD5GcmVlIG9uZSBhdHRyaWJ1dGUsIGFsbCB0aGUgY29udGVudCBpcyBmcmVlZCB0b288L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxGcmVlUHJvcExpc3QiIGlkPSJ4bWxGcmVlUHJvcExpc3QiPjwvYT5GdW5jdGlvbjogeG1sRnJlZVByb3BMaXN0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxGcmVlUHJvcExpc3QJCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxBdHRyUHRyIj54bWxBdHRyUHRyPC9hPiBjdXIpPGJyIC8+Cis8L3ByZT48cD5GcmVlIGEgcHJvcGVydHkgYW5kIGFsbCBpdHMgc2libGluZ3MsIGFsbCB0aGUgY2hpbGRyZW4gYXJlIGZyZWVkIHRvby48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmaXJzdCBwcm9wZXJ0eSBpbiB0aGUgbGlzdDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEdldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUiIGlkPSJ4bWxHZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lIj48L2E+RnVuY3Rpb246IHhtbEdldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUiPnhtbEJ1ZmZlckFsbG9jYXRpb25TY2hlbWU8L2E+CXhtbEdldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUJKHZvaWQpPGJyIC8+Cis8L3ByZT48cD5UeXBlcyBhcmUgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCNYTUxfQlVGRkVSX0FMTE9DX0VYQUNUIj5YTUxfQlVGRkVSX0FMTE9DX0VYQUNUPC9hPiAtIHVzZSBleGFjdCBzaXplcywga2VlcHMgbWVtb3J5IHVzYWdlIGRvd24gPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCNYTUxfQlVGRkVSX0FMTE9DX0RPVUJMRUlUIj5YTUxfQlVGRkVSX0FMTE9DX0RPVUJMRUlUPC9hPiAtIGRvdWJsZSBidWZmZXIgd2hlbiBleHRyYSBuZWVkZWQsIGltcHJvdmVzIHBlcmZvcm1hbmNlIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjWE1MX0JVRkZFUl9BTExPQ19IWUJSSUQiPlhNTF9CVUZGRVJfQUxMT0NfSFlCUklEPC9hPiAtIHVzZSBleGFjdCBzaXplcyBvbiBzbWFsbCBzdHJpbmdzIHRvIGtlZXAgbWVtb3J5IHVzYWdlIHRpZ2h0IGluIG5vcm1hbCB1c2FnZSwgYW5kIGRvdWJsZWl0IG9uIGxhcmdlIHN0cmluZ3MgdG8gYXZvaWQgcGF0aG9sb2dpY2FsIHBlcmZvcm1hbmNlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjdXJyZW50IGFsbG9jYXRpb24gc2NoZW1lPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sR2V0Q29tcHJlc3NNb2RlIiBpZD0ieG1sR2V0Q29tcHJlc3NNb2RlIj48L2E+RnVuY3Rpb246IHhtbEdldENvbXByZXNzTW9kZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxHZXRDb21wcmVzc01vZGUJCSh2b2lkKTxiciAvPgorPC9wcmU+PHA+Z2V0IHRoZSBkZWZhdWx0IGNvbXByZXNzaW9uIG1vZGUgdXNlZCwgWkxJQiBiYXNlZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wICh1bmNvbXByZXNzZWQpIHRvIDkgKG1heCBjb21wcmVzc2lvbik8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxHZXREb2NDb21wcmVzc01vZGUiIGlkPSJ4bWxHZXREb2NDb21wcmVzc01vZGUiPjwvYT5GdW5jdGlvbjogeG1sR2V0RG9jQ29tcHJlc3NNb2RlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbEdldERvY0NvbXByZXNzTW9kZQkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jIj54bWxEb2M8L2E+ICogZG9jKTxiciAvPgorPC9wcmU+PHA+Z2V0IHRoZSBjb21wcmVzc2lvbiByYXRpbyBmb3IgYSBkb2N1bWVudCwgWkxJQiBiYXNlZDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wICh1bmNvbXByZXNzZWQpIHRvIDkgKG1heCBjb21wcmVzc2lvbik8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxHZXRJbnRTdWJzZXQiIGlkPSJ4bWxHZXRJbnRTdWJzZXQiPjwvYT5GdW5jdGlvbjogeG1sR2V0SW50U3Vic2V0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEdGRQdHIiPnhtbER0ZFB0cjwvYT4JeG1sR2V0SW50U3Vic2V0CQkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2MiPnhtbERvYzwvYT4gKiBkb2MpPGJyIC8+Cis8L3ByZT48cD5HZXQgdGhlIGludGVybmFsIHN1YnNldCBvZiBhIGRvY3VtZW50PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQgcG9pbnRlcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIHRoZSBEVEQgc3RydWN0dXJlIG9yIE5VTEwgaWYgbm90IGZvdW5kPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sR2V0TGFzdENoaWxkIiBpZD0ieG1sR2V0TGFzdENoaWxkIj48L2E+RnVuY3Rpb246IHhtbEdldExhc3RDaGlsZDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JeG1sR2V0TGFzdENoaWxkCQkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlIj54bWxOb2RlPC9hPiAqIHBhcmVudCk8YnIgLz4KKzwvcHJlPjxwPlNlYXJjaCB0aGUgbGFzdCBjaGlsZCBvZiBhIG5vZGUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cGFyZW50PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcGFyZW50IG5vZGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsYXN0IGNoaWxkIG9yIE5VTEwgaWYgbm9uZS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxHZXRMaW5lTm8iIGlkPSJ4bWxHZXRMaW5lTm8iPjwvYT5GdW5jdGlvbjogeG1sR2V0TGluZU5vPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+bG9uZwl4bWxHZXRMaW5lTm8JCQkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlIj54bWxOb2RlPC9hPiAqIG5vZGUpPGJyIC8+Cis8L3ByZT48cD5HZXQgbGluZSBudW1iZXIgb2YgQG5vZGUuIFRyeSB0byBvdmVycmlkZSB0aGUgbGltaXRhdGlvbiBvZiBsaW5lcyBiZWluZyBzdG9yZSBpbiAxNiBiaXRzIGludHMgaWYgPGEgaHJlZj0ibGlieG1sLXBhcnNlci5odG1sI1hNTF9QQVJTRV9CSUdfTElORVMiPlhNTF9QQVJTRV9CSUdfTElORVM8L2E+IHBhcnNlciBvcHRpb24gd2FzIHVzZWQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD52YWxpZCBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbGluZSBudW1iZXIgaWYgc3VjY2Vzc2Z1bCwgLTEgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sR2V0Tm9Oc1Byb3AiIGlkPSJ4bWxHZXROb05zUHJvcCI+PC9hPkZ1bmN0aW9uOiB4bWxHZXROb05zUHJvcDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbEdldE5vTnNQcm9wCQkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlIj54bWxOb2RlPC9hPiAqIG5vZGUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpPGJyIC8+Cis8L3ByZT48cD5TZWFyY2ggYW5kIGdldCB0aGUgdmFsdWUgb2YgYW4gPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBhc3NvY2lhdGVkIHRvIGEgbm9kZSBUaGlzIGRvZXMgdGhlIGVudGl0eSBzdWJzdGl0dXRpb24uIFRoaXMgZnVuY3Rpb24gbG9va3MgaW4gRFREIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gZGVjbGFyYXRpb24gZm9yICNGSVhFRCBvciBkZWZhdWx0IGRlY2xhcmF0aW9uIHZhbHVlcyB1bmxlc3MgRFREIHVzZSBoYXMgYmVlbiB0dXJuZWQgb2ZmLiBUaGlzIGZ1bmN0aW9uIGlzIHNpbWlsYXIgdG8gPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxHZXRQcm9wIj54bWxHZXRQcm9wPC9hPiBleGNlcHQgaXQgd2lsbCBhY2NlcHQgb25seSBhbiA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IGluIG5vIG5hbWVzcGFjZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbm9kZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gdmFsdWUgb3IgTlVMTCBpZiBub3QgZm91bmQuIEl0J3MgdXAgdG8gdGhlIGNhbGxlciB0byBmcmVlIHRoZSBtZW1vcnkgd2l0aCB4bWxGcmVlKCkuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sR2V0Tm9kZVBhdGgiIGlkPSJ4bWxHZXROb2RlUGF0aCI+PC9hPkZ1bmN0aW9uOiB4bWxHZXROb2RlUGF0aDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbEdldE5vZGVQYXRoCQkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlIj54bWxOb2RlPC9hPiAqIG5vZGUpPGJyIC8+Cis8L3ByZT48cD5CdWlsZCBhIHN0cnVjdHVyZSBiYXNlZCBQYXRoIGZvciB0aGUgZ2l2ZW4gbm9kZTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbm9kZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ldyBwYXRoIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci4gVGhlIGNhbGxlciBtdXN0IGZyZWUgdGhlIHJldHVybmVkIHN0cmluZzwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEdldE5zTGlzdCIgaWQ9InhtbEdldE5zTGlzdCI+PC9hPkZ1bmN0aW9uOiB4bWxHZXROc0xpc3Q8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5zUHRyIj54bWxOc1B0cjwvYT4gKgl4bWxHZXROc0xpc3QJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvYyI+eG1sRG9jPC9hPiAqIGRvYywgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlIj54bWxOb2RlPC9hPiAqIG5vZGUpPGJyIC8+Cis8L3ByZT48cD5TZWFyY2ggYWxsIHRoZSBuYW1lc3BhY2UgYXBwbHlpbmcgdG8gYSBnaXZlbiBlbGVtZW50LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY3VycmVudCBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBOVUxMIHRlcm1pbmF0ZWQgYXJyYXkgb2YgYWxsIHRoZSAjeG1sTnNQdHIgZm91bmQgdGhhdCBuZWVkIHRvIGJlIGZyZWVkIGJ5IHRoZSBjYWxsZXIgb3IgTlVMTCBpZiBubyBuYW1lc3BhY2UgaWYgZGVmaW5lZDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEdldE5zUHJvcCIgaWQ9InhtbEdldE5zUHJvcCI+PC9hPkZ1bmN0aW9uOiB4bWxHZXROc1Byb3A8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxHZXROc1Byb3AJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGUiPnhtbE5vZGU8L2E+ICogbm9kZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZVNwYWNlKTxiciAvPgorPC9wcmU+PHA+U2VhcmNoIGFuZCBnZXQgdGhlIHZhbHVlIG9mIGFuIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gYXNzb2NpYXRlZCB0byBhIG5vZGUgVGhpcyA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IGhhcyB0byBiZSBhbmNob3JlZCBpbiB0aGUgbmFtZXNwYWNlIHNwZWNpZmllZC4gVGhpcyBkb2VzIHRoZSBlbnRpdHkgc3Vic3RpdHV0aW9uLiBUaGlzIGZ1bmN0aW9uIGxvb2tzIGluIERURCA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IGRlY2xhcmF0aW9uIGZvciAjRklYRUQgb3IgZGVmYXVsdCBkZWNsYXJhdGlvbiB2YWx1ZXMgdW5sZXNzIERURCB1c2UgaGFzIGJlZW4gdHVybmVkIG9mZi48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbm9kZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZVNwYWNlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgVVJJIG9mIHRoZSBuYW1lc3BhY2U8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IHZhbHVlIG9yIE5VTEwgaWYgbm90IGZvdW5kLiBJdCdzIHVwIHRvIHRoZSBjYWxsZXIgdG8gZnJlZSB0aGUgbWVtb3J5IHdpdGggeG1sRnJlZSgpLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEdldFByb3AiIGlkPSJ4bWxHZXRQcm9wIj48L2E+RnVuY3Rpb246IHhtbEdldFByb3A8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxHZXRQcm9wCQkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlIj54bWxOb2RlPC9hPiAqIG5vZGUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpPGJyIC8+Cis8L3ByZT48cD5TZWFyY2ggYW5kIGdldCB0aGUgdmFsdWUgb2YgYW4gPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBhc3NvY2lhdGVkIHRvIGEgbm9kZSBUaGlzIGRvZXMgdGhlIGVudGl0eSBzdWJzdGl0dXRpb24uIFRoaXMgZnVuY3Rpb24gbG9va3MgaW4gRFREIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gZGVjbGFyYXRpb24gZm9yICNGSVhFRCBvciBkZWZhdWx0IGRlY2xhcmF0aW9uIHZhbHVlcyB1bmxlc3MgRFREIHVzZSBoYXMgYmVlbiB0dXJuZWQgb2ZmLiBOT1RFOiB0aGlzIGZ1bmN0aW9uIGFjdHMgaW5kZXBlbmRlbnRseSBvZiBuYW1lc3BhY2VzIGFzc29jaWF0ZWQgdG8gdGhlIGF0dHJpYnV0ZS4gVXNlIHhtbEdldE5zUHJvcCgpIG9yIHhtbEdldE5vTnNQcm9wKCkgZm9yIG5hbWVzcGFjZSBhd2FyZSBwcm9jZXNzaW5nLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiB2YWx1ZSBvciBOVUxMIGlmIG5vdCBmb3VuZC4gSXQncyB1cCB0byB0aGUgY2FsbGVyIHRvIGZyZWUgdGhlIG1lbW9yeSB3aXRoIHhtbEZyZWUoKS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxIYXNOc1Byb3AiIGlkPSJ4bWxIYXNOc1Byb3AiPjwvYT5GdW5jdGlvbjogeG1sSGFzTnNQcm9wPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxBdHRyUHRyIj54bWxBdHRyUHRyPC9hPgl4bWxIYXNOc1Byb3AJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGUiPnhtbE5vZGU8L2E+ICogbm9kZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZVNwYWNlKTxiciAvPgorPC9wcmU+PHA+U2VhcmNoIGZvciBhbiA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IGFzc29jaWF0ZWQgdG8gYSBub2RlIFRoaXMgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBoYXMgdG8gYmUgYW5jaG9yZWQgaW4gdGhlIG5hbWVzcGFjZSBzcGVjaWZpZWQuIFRoaXMgZG9lcyB0aGUgZW50aXR5IHN1YnN0aXR1dGlvbi4gVGhpcyBmdW5jdGlvbiBsb29rcyBpbiBEVEQgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBkZWNsYXJhdGlvbiBmb3IgI0ZJWEVEIG9yIGRlZmF1bHQgZGVjbGFyYXRpb24gdmFsdWVzIHVubGVzcyBEVEQgdXNlIGhhcyBiZWVuIHR1cm5lZCBvZmYuIE5vdGUgdGhhdCBhIG5hbWVzcGFjZSBvZiBOVUxMIGluZGljYXRlcyB0byB1c2UgdGhlIGRlZmF1bHQgbmFtZXNwYWNlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lU3BhY2U8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBVUkkgb2YgdGhlIG5hbWVzcGFjZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gb3IgdGhlIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gZGVjbGFyYXRpb24gb3IgTlVMTCBpZiBuZWl0aGVyIHdhcyBmb3VuZC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxIYXNQcm9wIiBpZD0ieG1sSGFzUHJvcCI+PC9hPkZ1bmN0aW9uOiB4bWxIYXNQcm9wPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxBdHRyUHRyIj54bWxBdHRyUHRyPC9hPgl4bWxIYXNQcm9wCQkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlIj54bWxOb2RlPC9hPiAqIG5vZGUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpPGJyIC8+Cis8L3ByZT48cD5TZWFyY2ggYW4gPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBhc3NvY2lhdGVkIHRvIGEgbm9kZSBUaGlzIGZ1bmN0aW9uIGFsc28gbG9va3MgaW4gRFREIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gZGVjbGFyYXRpb24gZm9yICNGSVhFRCBvciBkZWZhdWx0IGRlY2xhcmF0aW9uIHZhbHVlcyB1bmxlc3MgRFREIHVzZSBoYXMgYmVlbiB0dXJuZWQgb2ZmLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBvciB0aGUgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBkZWNsYXJhdGlvbiBvciBOVUxMIGlmIG5laXRoZXIgd2FzIGZvdW5kLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbElzQmxhbmtOb2RlIiBpZD0ieG1sSXNCbGFua05vZGUiPjwvYT5GdW5jdGlvbjogeG1sSXNCbGFua05vZGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sSXNCbGFua05vZGUJCQkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlIj54bWxOb2RlPC9hPiAqIG5vZGUpPGJyIC8+Cis8L3ByZT48cD5DaGVja3Mgd2hldGhlciB0aGlzIG5vZGUgaXMgYW4gZW1wdHkgb3Igd2hpdGVzcGFjZSBvbmx5IChhbmQgcG9zc2libHkgaWdub3JhYmxlKSB0ZXh0LW5vZGUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vZGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgeWVzLCAwIG5vPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sSXNYSFRNTCIgaWQ9InhtbElzWEhUTUwiPjwvYT5GdW5jdGlvbjogeG1sSXNYSFRNTDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxJc1hIVE1MCQkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN5c3RlbUlELCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwdWJsaWNJRCk8YnIgLz4KKzwvcHJlPjxwPlRyeSB0byBmaW5kIGlmIHRoZSBkb2N1bWVudCBjb3JyZXNwb25kIHRvIGFuIFhIVE1MIERURDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN5c3RlbUlEPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc3lzdGVtIGlkZW50aWZpZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnB1YmxpY0lEPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcHVibGljIGlkZW50aWZpZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSwgMCBpZiBub3QgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxMYXN0RWxlbWVudENoaWxkIiBpZD0ieG1sTGFzdEVsZW1lbnRDaGlsZCI+PC9hPkZ1bmN0aW9uOiB4bWxMYXN0RWxlbWVudENoaWxkPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgl4bWxMYXN0RWxlbWVudENoaWxkCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IHBhcmVudCk8YnIgLz4KKzwvcHJlPjxwPkZpbmRzIHRoZSBsYXN0IGNoaWxkIG5vZGUgb2YgdGhhdCBlbGVtZW50IHdoaWNoIGlzIGEgRWxlbWVudCBub2RlIE5vdGUgdGhlIGhhbmRsaW5nIG9mIGVudGl0aWVzIHJlZmVyZW5jZXMgaXMgZGlmZmVyZW50IHRoYW4gaW4gdGhlIFczQyBET00gZWxlbWVudCB0cmF2ZXJzYWwgc3BlYyBzaW5jZSB3ZSBkb24ndCBoYXZlIGJhY2sgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI3JlZmVyZW5jZSI+cmVmZXJlbmNlPC9hPiBmcm9tIGVudGl0aWVzIGNvbnRlbnQgdG8gZW50aXRpZXMgcmVmZXJlbmNlcy48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wYXJlbnQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwYXJlbnQgbm9kZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxhc3QgZWxlbWVudCBjaGlsZCBvciBOVUxMIGlmIG5vdCBhdmFpbGFibGU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxOZXdDRGF0YUJsb2NrIiBpZD0ieG1sTmV3Q0RhdGFCbG9jayI+PC9hPkZ1bmN0aW9uOiB4bWxOZXdDRGF0YUJsb2NrPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgl4bWxOZXdDRGF0YUJsb2NrCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGNvbnRlbnQsIDxiciAvPgkJCQkJIGludCBsZW4pPGJyIC8+Cis8L3ByZT48cD5DcmVhdGlvbiBvZiBhIG5ldyBub2RlIGNvbnRhaW5pbmcgYSBDREFUQSBibG9jay48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29udGVudDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIENEQVRBIGJsb2NrIGNvbnRlbnQgY29udGVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGVuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbGVuZ3RoIG9mIHRoZSBibG9jazwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIHRoZSBuZXcgbm9kZSBvYmplY3QuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sTmV3Q2hhclJlZiIgaWQ9InhtbE5ld0NoYXJSZWYiPjwvYT5GdW5jdGlvbjogeG1sTmV3Q2hhclJlZjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JeG1sTmV3Q2hhclJlZgkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSk8YnIgLz4KKzwvcHJlPjxwPkNyZWF0aW9uIG9mIGEgbmV3IGNoYXJhY3RlciA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjcmVmZXJlbmNlIj5yZWZlcmVuY2U8L2E+IG5vZGUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjaGFyIHJlZiBzdHJpbmcsIHN0YXJ0aW5nIHdpdGggIyBvciAiJmFtcDsjIC4uLiA7IjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIHRoZSBuZXcgbm9kZSBvYmplY3QuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sTmV3Q2hpbGQiIGlkPSJ4bWxOZXdDaGlsZCI+PC9hPkZ1bmN0aW9uOiB4bWxOZXdDaGlsZDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JeG1sTmV3Q2hpbGQJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IHBhcmVudCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOc1B0ciI+eG1sTnNQdHI8L2E+IG5zLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjb250ZW50KTxiciAvPgorPC9wcmU+PHA+Q3JlYXRpb24gb2YgYSBuZXcgY2hpbGQgZWxlbWVudCwgYWRkZWQgYXQgdGhlIGVuZCBvZiBAcGFyZW50IGNoaWxkcmVuIGxpc3QuIEBucyBhbmQgQGNvbnRlbnQgcGFyYW1ldGVycyBhcmUgb3B0aW9uYWwgKE5VTEwpLiBJZiBAbnMgaXMgTlVMTCwgdGhlIG5ld2x5IGNyZWF0ZWQgZWxlbWVudCBpbmhlcml0cyB0aGUgbmFtZXNwYWNlIG9mIEBwYXJlbnQuIElmIEBjb250ZW50IGlzIG5vbiBOVUxMLCBhIGNoaWxkIGxpc3QgY29udGFpbmluZyB0aGUgVEVYVHMgYW5kIEVOVElUWV9SRUZzIG5vZGUgd2lsbCBiZSBjcmVhdGVkLiBOT1RFOiBAY29udGVudCBpcyBzdXBwb3NlZCB0byBiZSBhIHBpZWNlIG9mIFhNTCBDREFUQSwgc28gaXQgYWxsb3dzIGVudGl0eSByZWZlcmVuY2VzLiBYTUwgc3BlY2lhbCBjaGFycyBtdXN0IGJlIGVzY2FwZWQgZmlyc3QgYnkgdXNpbmcgeG1sRW5jb2RlRW50aXRpZXNSZWVudHJhbnQoKSwgb3IgeG1sTmV3VGV4dENoaWxkKCkgc2hvdWxkIGJlIHVzZWQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cGFyZW50PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcGFyZW50IG5vZGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIG5hbWVzcGFjZSBpZiBhbnk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lIG9mIHRoZSBjaGlsZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29udGVudDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhNTCBjb250ZW50IG9mIHRoZSBjaGlsZCBpZiBhbnkuPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gdGhlIG5ldyBub2RlIG9iamVjdC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxOZXdDb21tZW50IiBpZD0ieG1sTmV3Q29tbWVudCI+PC9hPkZ1bmN0aW9uOiB4bWxOZXdDb21tZW50PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgl4bWxOZXdDb21tZW50CQkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY29udGVudCk8YnIgLz4KKzwvcHJlPjxwPkNyZWF0aW9uIG9mIGEgbmV3IG5vZGUgY29udGFpbmluZyBhIGNvbW1lbnQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29udGVudDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNjb21tZW50Ij5jb21tZW50PC9hPiBjb250ZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gdGhlIG5ldyBub2RlIG9iamVjdC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxOZXdEb2MiIGlkPSJ4bWxOZXdEb2MiPjwvYT5GdW5jdGlvbjogeG1sTmV3RG9jPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4JeG1sTmV3RG9jCQkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmVyc2lvbik8YnIgLz4KKzwvcHJlPjxwPkNyZWF0ZXMgYSBuZXcgWE1MIGRvY3VtZW50PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmVyc2lvbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+IHN0cmluZyBnaXZpbmcgdGhlIHZlcnNpb24gb2YgWE1MICIxLjAiPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIG5ldyBkb2N1bWVudDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbE5ld0RvY0NvbW1lbnQiIGlkPSJ4bWxOZXdEb2NDb21tZW50Ij48L2E+RnVuY3Rpb246IHhtbE5ld0RvY0NvbW1lbnQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CXhtbE5ld0RvY0NvbW1lbnQJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY29udGVudCk8YnIgLz4KKzwvcHJlPjxwPkNyZWF0aW9uIG9mIGEgbmV3IG5vZGUgY29udGFpbmluZyBhIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNjb21tZW50Ij5jb21tZW50PC9hPiB3aXRoaW4gYSBkb2N1bWVudC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29udGVudDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNjb21tZW50Ij5jb21tZW50PC9hPiBjb250ZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gdGhlIG5ldyBub2RlIG9iamVjdC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxOZXdEb2NGcmFnbWVudCIgaWQ9InhtbE5ld0RvY0ZyYWdtZW50Ij48L2E+RnVuY3Rpb246IHhtbE5ld0RvY0ZyYWdtZW50PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgl4bWxOZXdEb2NGcmFnbWVudAkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jKTxiciAvPgorPC9wcmU+PHA+Q3JlYXRpb24gb2YgYSBuZXcgRnJhZ21lbnQgbm9kZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudCBvd25pbmcgdGhlIGZyYWdtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gdGhlIG5ldyBub2RlIG9iamVjdC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxOZXdEb2NOb2RlIiBpZD0ieG1sTmV3RG9jTm9kZSI+PC9hPkZ1bmN0aW9uOiB4bWxOZXdEb2NOb2RlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgl4bWxOZXdEb2NOb2RlCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5zUHRyIj54bWxOc1B0cjwvYT4gbnMsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGNvbnRlbnQpPGJyIC8+Cis8L3ByZT48cD5DcmVhdGlvbiBvZiBhIG5ldyBub2RlIGVsZW1lbnQgd2l0aGluIGEgZG9jdW1lbnQuIEBucyBhbmQgQGNvbnRlbnQgYXJlIG9wdGlvbmFsIChOVUxMKS4gTk9URTogQGNvbnRlbnQgaXMgc3VwcG9zZWQgdG8gYmUgYSBwaWVjZSBvZiBYTUwgQ0RBVEEsIHNvIGl0IGFsbG93IGVudGl0aWVzIHJlZmVyZW5jZXMsIGJ1dCBYTUwgc3BlY2lhbCBjaGFycyBuZWVkIHRvIGJlIGVzY2FwZWQgZmlyc3QgYnkgdXNpbmcgeG1sRW5jb2RlRW50aXRpZXNSZWVudHJhbnQoKS4gVXNlIHhtbE5ld0RvY1Jhd05vZGUoKSBpZiB5b3UgZG9uJ3QgbmVlZCBlbnRpdGllcyBzdXBwb3J0LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+bmFtZXNwYWNlIGlmIGFueTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vZGUgbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29udGVudDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhNTCB0ZXh0IGNvbnRlbnQgaWYgYW55PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gdGhlIG5ldyBub2RlIG9iamVjdC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxOZXdEb2NOb2RlRWF0TmFtZSIgaWQ9InhtbE5ld0RvY05vZGVFYXROYW1lIj48L2E+RnVuY3Rpb246IHhtbE5ld0RvY05vZGVFYXROYW1lPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgl4bWxOZXdEb2NOb2RlRWF0TmFtZQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5zUHRyIj54bWxOc1B0cjwvYT4gbnMsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGNvbnRlbnQpPGJyIC8+Cis8L3ByZT48cD5DcmVhdGlvbiBvZiBhIG5ldyBub2RlIGVsZW1lbnQgd2l0aGluIGEgZG9jdW1lbnQuIEBucyBhbmQgQGNvbnRlbnQgYXJlIG9wdGlvbmFsIChOVUxMKS4gTk9URTogQGNvbnRlbnQgaXMgc3VwcG9zZWQgdG8gYmUgYSBwaWVjZSBvZiBYTUwgQ0RBVEEsIHNvIGl0IGFsbG93IGVudGl0aWVzIHJlZmVyZW5jZXMsIGJ1dCBYTUwgc3BlY2lhbCBjaGFycyBuZWVkIHRvIGJlIGVzY2FwZWQgZmlyc3QgYnkgdXNpbmcgeG1sRW5jb2RlRW50aXRpZXNSZWVudHJhbnQoKS4gVXNlIHhtbE5ld0RvY1Jhd05vZGUoKSBpZiB5b3UgZG9uJ3QgbmVlZCBlbnRpdGllcyBzdXBwb3J0LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+bmFtZXNwYWNlIGlmIGFueTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vZGUgbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29udGVudDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhNTCB0ZXh0IGNvbnRlbnQgaWYgYW55PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gdGhlIG5ldyBub2RlIG9iamVjdC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxOZXdEb2NQSSIgaWQ9InhtbE5ld0RvY1BJIj48L2E+RnVuY3Rpb246IHhtbE5ld0RvY1BJPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgl4bWxOZXdEb2NQSQkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY29udGVudCk8YnIgLz4KKzwvcHJlPjxwPkNyZWF0aW9uIG9mIGEgcHJvY2Vzc2luZyBpbnN0cnVjdGlvbiBlbGVtZW50LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHRhcmdldCBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHByb2Nlc3NpbmcgaW5zdHJ1Y3Rpb24gbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29udGVudDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFBJIGNvbnRlbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byB0aGUgbmV3IG5vZGUgb2JqZWN0LjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbE5ld0RvY1Byb3AiIGlkPSJ4bWxOZXdEb2NQcm9wIj48L2E+RnVuY3Rpb246IHhtbE5ld0RvY1Byb3A8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEF0dHJQdHIiPnhtbEF0dHJQdHI8L2E+CXhtbE5ld0RvY1Byb3AJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHZhbHVlKTxiciAvPgorPC9wcmU+PHA+Q3JlYXRlIGEgbmV3IHByb3BlcnR5IGNhcnJpZWQgYnkgYSBkb2N1bWVudC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5hbWUgb2YgdGhlIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbHVlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdmFsdWUgb2YgdGhlIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byB0aGUgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbE5ld0RvY1Jhd05vZGUiIGlkPSJ4bWxOZXdEb2NSYXdOb2RlIj48L2E+RnVuY3Rpb246IHhtbE5ld0RvY1Jhd05vZGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CXhtbE5ld0RvY1Jhd05vZGUJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOc1B0ciI+eG1sTnNQdHI8L2E+IG5zLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjb250ZW50KTxiciAvPgorPC9wcmU+PHA+Q3JlYXRpb24gb2YgYSBuZXcgbm9kZSBlbGVtZW50IHdpdGhpbiBhIGRvY3VtZW50LiBAbnMgYW5kIEBjb250ZW50IGFyZSBvcHRpb25hbCAoTlVMTCkuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5uYW1lc3BhY2UgaWYgYW55PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbm9kZSBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb250ZW50PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdGV4dCBjb250ZW50IGlmIGFueTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIHRoZSBuZXcgbm9kZSBvYmplY3QuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sTmV3RG9jVGV4dCIgaWQ9InhtbE5ld0RvY1RleHQiPjwvYT5GdW5jdGlvbjogeG1sTmV3RG9jVGV4dDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JeG1sTmV3RG9jVGV4dAkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jIj54bWxEb2M8L2E+ICogZG9jLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjb250ZW50KTxiciAvPgorPC9wcmU+PHA+Q3JlYXRpb24gb2YgYSBuZXcgdGV4dCBub2RlIHdpdGhpbiBhIGRvY3VtZW50LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb250ZW50PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdGV4dCBjb250ZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gdGhlIG5ldyBub2RlIG9iamVjdC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxOZXdEb2NUZXh0TGVuIiBpZD0ieG1sTmV3RG9jVGV4dExlbiI+PC9hPkZ1bmN0aW9uOiB4bWxOZXdEb2NUZXh0TGVuPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgl4bWxOZXdEb2NUZXh0TGVuCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGNvbnRlbnQsIDxiciAvPgkJCQkJIGludCBsZW4pPGJyIC8+Cis8L3ByZT48cD5DcmVhdGlvbiBvZiBhIG5ldyB0ZXh0IG5vZGUgd2l0aCBhbiBleHRyYSBjb250ZW50IGxlbmd0aCBwYXJhbWV0ZXIuIFRoZSB0ZXh0IG5vZGUgcGVydGFpbiB0byBhIGdpdmVuIGRvY3VtZW50LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb250ZW50PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdGV4dCBjb250ZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB0ZXh0IGxlbi48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byB0aGUgbmV3IG5vZGUgb2JqZWN0LjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbE5ld0R0ZCIgaWQ9InhtbE5ld0R0ZCI+PC9hPkZ1bmN0aW9uOiB4bWxOZXdEdGQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbER0ZFB0ciI+eG1sRHRkUHRyPC9hPgl4bWxOZXdEdGQJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIEV4dGVybmFsSUQsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIFN5c3RlbUlEKTxiciAvPgorPC9wcmU+PHA+Q3JlYXRpb24gb2YgYSBuZXcgRFREIGZvciB0aGUgZXh0ZXJuYWwgc3Vic2V0LiBUbyBjcmVhdGUgYW4gaW50ZXJuYWwgc3Vic2V0LCB1c2UgeG1sQ3JlYXRlSW50U3Vic2V0KCkuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQgcG9pbnRlcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIERURCBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5FeHRlcm5hbElEPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZXh0ZXJuYWwgSUQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlN5c3RlbUlEPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc3lzdGVtIElEPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gdGhlIG5ldyBEVEQgc3RydWN0dXJlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sTmV3R2xvYmFsTnMiIGlkPSJ4bWxOZXdHbG9iYWxOcyI+PC9hPkZ1bmN0aW9uOiB4bWxOZXdHbG9iYWxOczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTnNQdHIiPnhtbE5zUHRyPC9hPgl4bWxOZXdHbG9iYWxOcwkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogaHJlZiwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHJlZml4KTxiciAvPgorPC9wcmU+PHA+Q3JlYXRpb24gb2YgYSBOYW1lc3BhY2UsIHRoZSBvbGQgd2F5IHVzaW5nIFBJIGFuZCB3aXRob3V0IHNjb3BpbmcgREVQUkVDQVRFRCAhISE8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudCBjYXJyeWluZyB0aGUgbmFtZXNwYWNlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ocmVmPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgVVJJIGFzc29jaWF0ZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnByZWZpeDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHByZWZpeCBmb3IgdGhlIG5hbWVzcGFjZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+TlVMTCB0aGlzIGZ1bmN0aW9uYWxpdHkgaGFkIGJlZW4gcmVtb3ZlZDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbE5ld05vZGUiIGlkPSJ4bWxOZXdOb2RlIj48L2E+RnVuY3Rpb246IHhtbE5ld05vZGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CXhtbE5ld05vZGUJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5zUHRyIj54bWxOc1B0cjwvYT4gbnMsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpPGJyIC8+Cis8L3ByZT48cD5DcmVhdGlvbiBvZiBhIG5ldyBub2RlIGVsZW1lbnQuIEBucyBpcyBvcHRpb25hbCAoTlVMTCkuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPm5hbWVzcGFjZSBpZiBhbnk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBub2RlIG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byB0aGUgbmV3IG5vZGUgb2JqZWN0LiBVc2VzIHhtbFN0cmR1cCgpIHRvIG1ha2UgY29weSBvZiBAbmFtZS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxOZXdOb2RlRWF0TmFtZSIgaWQ9InhtbE5ld05vZGVFYXROYW1lIj48L2E+RnVuY3Rpb246IHhtbE5ld05vZGVFYXROYW1lPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgl4bWxOZXdOb2RlRWF0TmFtZQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOc1B0ciI+eG1sTnNQdHI8L2E+IG5zLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKTxiciAvPgorPC9wcmU+PHA+Q3JlYXRpb24gb2YgYSBuZXcgbm9kZSBlbGVtZW50LiBAbnMgaXMgb3B0aW9uYWwgKE5VTEwpLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5uYW1lc3BhY2UgaWYgYW55PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbm9kZSBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gdGhlIG5ldyBub2RlIG9iamVjdCwgd2l0aCBwb2ludGVyIEBuYW1lIGFzIG5ldyBub2RlJ3MgbmFtZS4gVXNlIHhtbE5ld05vZGUoKSBpZiBhIGNvcHkgb2YgQG5hbWUgc3RyaW5nIGlzIGlzIG5lZWRlZCBhcyBuZXcgbm9kZSdzIG5hbWUuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sTmV3TnMiIGlkPSJ4bWxOZXdOcyI+PC9hPkZ1bmN0aW9uOiB4bWxOZXdOczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTnNQdHIiPnhtbE5zUHRyPC9hPgl4bWxOZXdOcwkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogaHJlZiwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHJlZml4KTxiciAvPgorPC9wcmU+PHA+Q3JlYXRpb24gb2YgYSBuZXcgTmFtZXNwYWNlLiBUaGlzIGZ1bmN0aW9uIHdpbGwgcmVmdXNlIHRvIGNyZWF0ZSBhIG5hbWVzcGFjZSB3aXRoIGEgc2ltaWxhciBwcmVmaXggdGhhbiBhbiBleGlzdGluZyBvbmUgcHJlc2VudCBvbiB0aGlzIG5vZGUuIE5vdGUgdGhhdCBmb3IgYSBkZWZhdWx0IG5hbWVzcGFjZSwgQHByZWZpeCBzaG91bGQgYmUgTlVMTC4gV2UgdXNlIGhyZWY9PU5VTEwgaW4gdGhlIGNhc2Ugb2YgYW4gZWxlbWVudCBjcmVhdGlvbiB3aGVyZSB0aGUgbmFtZXNwYWNlIHdhcyBub3QgZGVmaW5lZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZWxlbWVudCBjYXJyeWluZyB0aGUgbmFtZXNwYWNlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ocmVmPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgVVJJIGFzc29jaWF0ZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnByZWZpeDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHByZWZpeCBmb3IgdGhlIG5hbWVzcGFjZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBuZXcgbmFtZXNwYWNlIHBvaW50ZXIgb3IgTlVMTDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbE5ld05zUHJvcCIgaWQ9InhtbE5ld05zUHJvcCI+PC9hPkZ1bmN0aW9uOiB4bWxOZXdOc1Byb3A8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEF0dHJQdHIiPnhtbEF0dHJQdHI8L2E+CXhtbE5ld05zUHJvcAkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOc1B0ciI+eG1sTnNQdHI8L2E+IG5zLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB2YWx1ZSk8YnIgLz4KKzwvcHJlPjxwPkNyZWF0ZSBhIG5ldyBwcm9wZXJ0eSB0YWdnZWQgd2l0aCBhIG5hbWVzcGFjZSBhbmQgY2FycmllZCBieSBhIG5vZGUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGhvbGRpbmcgbm9kZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lc3BhY2U8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lIG9mIHRoZSA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWx1ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHZhbHVlIG9mIHRoZSA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gdGhlIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxOZXdOc1Byb3BFYXROYW1lIiBpZD0ieG1sTmV3TnNQcm9wRWF0TmFtZSI+PC9hPkZ1bmN0aW9uOiB4bWxOZXdOc1Byb3BFYXROYW1lPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxBdHRyUHRyIj54bWxBdHRyUHRyPC9hPgl4bWxOZXdOc1Byb3BFYXROYW1lCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTnNQdHIiPnhtbE5zUHRyPC9hPiBucywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUpPGJyIC8+Cis8L3ByZT48cD5DcmVhdGUgYSBuZXcgcHJvcGVydHkgdGFnZ2VkIHdpdGggYSBuYW1lc3BhY2UgYW5kIGNhcnJpZWQgYnkgYSBub2RlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBob2xkaW5nIG5vZGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZXNwYWNlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZSBvZiB0aGUgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsdWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB2YWx1ZSBvZiB0aGUgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIHRoZSA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sTmV3UEkiIGlkPSJ4bWxOZXdQSSI+PC9hPkZ1bmN0aW9uOiB4bWxOZXdQSTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JeG1sTmV3UEkJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjb250ZW50KTxiciAvPgorPC9wcmU+PHA+Q3JlYXRpb24gb2YgYSBwcm9jZXNzaW5nIGluc3RydWN0aW9uIGVsZW1lbnQuIFVzZSB4bWxEb2NOZXdQSSBwcmVmZXJhYmx5IHRvIGdldCBzdHJpbmcgaW50ZXJuaW5nPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHByb2Nlc3NpbmcgaW5zdHJ1Y3Rpb24gbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29udGVudDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFBJIGNvbnRlbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byB0aGUgbmV3IG5vZGUgb2JqZWN0LjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbE5ld1Byb3AiIGlkPSJ4bWxOZXdQcm9wIj48L2E+RnVuY3Rpb246IHhtbE5ld1Byb3A8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEF0dHJQdHIiPnhtbEF0dHJQdHI8L2E+CXhtbE5ld1Byb3AJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHZhbHVlKTxiciAvPgorPC9wcmU+PHA+Q3JlYXRlIGEgbmV3IHByb3BlcnR5IGNhcnJpZWQgYnkgYSBub2RlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBob2xkaW5nIG5vZGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lIG9mIHRoZSA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWx1ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHZhbHVlIG9mIHRoZSA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gdGhlIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxOZXdSZWZlcmVuY2UiIGlkPSJ4bWxOZXdSZWZlcmVuY2UiPjwvYT5GdW5jdGlvbjogeG1sTmV3UmVmZXJlbmNlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgl4bWxOZXdSZWZlcmVuY2UJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvYyI+eG1sRG9jPC9hPiAqIGRvYywgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSk8YnIgLz4KKzwvcHJlPjxwPkNyZWF0aW9uIG9mIGEgbmV3IDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNyZWZlcmVuY2UiPnJlZmVyZW5jZTwvYT4gbm9kZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNyZWZlcmVuY2UiPnJlZmVyZW5jZTwvYT4gbmFtZSwgb3IgdGhlIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNyZWZlcmVuY2UiPnJlZmVyZW5jZTwvYT4gc3RyaW5nIHdpdGggJmFtcDsgYW5kIDs8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byB0aGUgbmV3IG5vZGUgb2JqZWN0LjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbE5ld1RleHQiIGlkPSJ4bWxOZXdUZXh0Ij48L2E+RnVuY3Rpb246IHhtbE5ld1RleHQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CXhtbE5ld1RleHQJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjb250ZW50KTxiciAvPgorPC9wcmU+PHA+Q3JlYXRpb24gb2YgYSBuZXcgdGV4dCBub2RlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbnRlbnQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB0ZXh0IGNvbnRlbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byB0aGUgbmV3IG5vZGUgb2JqZWN0LjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbE5ld1RleHRDaGlsZCIgaWQ9InhtbE5ld1RleHRDaGlsZCI+PC9hPkZ1bmN0aW9uOiB4bWxOZXdUZXh0Q2hpbGQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CXhtbE5ld1RleHRDaGlsZAkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gcGFyZW50LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5zUHRyIj54bWxOc1B0cjwvYT4gbnMsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGNvbnRlbnQpPGJyIC8+Cis8L3ByZT48cD5DcmVhdGlvbiBvZiBhIG5ldyBjaGlsZCBlbGVtZW50LCBhZGRlZCBhdCB0aGUgZW5kIG9mIEBwYXJlbnQgY2hpbGRyZW4gbGlzdC4gQG5zIGFuZCBAY29udGVudCBwYXJhbWV0ZXJzIGFyZSBvcHRpb25hbCAoTlVMTCkuIElmIEBucyBpcyBOVUxMLCB0aGUgbmV3bHkgY3JlYXRlZCBlbGVtZW50IGluaGVyaXRzIHRoZSBuYW1lc3BhY2Ugb2YgQHBhcmVudC4gSWYgQGNvbnRlbnQgaXMgbm9uIE5VTEwsIGEgY2hpbGQgVEVYVCBub2RlIHdpbGwgYmUgY3JlYXRlZCBjb250YWluaW5nIHRoZSBzdHJpbmcgQGNvbnRlbnQuIE5PVEU6IFVzZSB4bWxOZXdDaGlsZCgpIGlmIEBjb250ZW50IHdpbGwgY29udGFpbiBlbnRpdGllcyB0aGF0IG5lZWQgdG8gYmUgcHJlc2VydmVkLiBVc2UgdGhpcyBmdW5jdGlvbiwgeG1sTmV3VGV4dENoaWxkKCksIGlmIHlvdSBuZWVkIHRvIGVuc3VyZSB0aGF0IHJlc2VydmVkIFhNTCBjaGFycyB0aGF0IG1pZ2h0IGFwcGVhciBpbiBAY29udGVudCwgc3VjaCBhcyB0aGUgYW1wZXJzYW5kLCBncmVhdGVyLXRoYW4gb3IgbGVzcy10aGFuIHNpZ25zLCBhcmUgYXV0b21hdGljYWxseSByZXBsYWNlZCBieSB0aGVpciBYTUwgZXNjYXBlZCBlbnRpdHkgcmVwcmVzZW50YXRpb25zLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnBhcmVudDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHBhcmVudCBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBuYW1lc3BhY2UgaWYgYW55PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZSBvZiB0aGUgY2hpbGQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbnRlbnQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB0ZXh0IGNvbnRlbnQgb2YgdGhlIGNoaWxkIGlmIGFueS48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byB0aGUgbmV3IG5vZGUgb2JqZWN0LjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbE5ld1RleHRMZW4iIGlkPSJ4bWxOZXdUZXh0TGVuIj48L2E+RnVuY3Rpb246IHhtbE5ld1RleHRMZW48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CXhtbE5ld1RleHRMZW4JCShjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjb250ZW50LCA8YnIgLz4JCQkJCSBpbnQgbGVuKTxiciAvPgorPC9wcmU+PHA+Q3JlYXRpb24gb2YgYSBuZXcgdGV4dCBub2RlIHdpdGggYW4gZXh0cmEgcGFyYW1ldGVyIGZvciB0aGUgY29udGVudCdzIGxlbmd0aDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbnRlbnQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB0ZXh0IGNvbnRlbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHRleHQgbGVuLjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIHRoZSBuZXcgbm9kZSBvYmplY3QuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sTmV4dEVsZW1lbnRTaWJsaW5nIiBpZD0ieG1sTmV4dEVsZW1lbnRTaWJsaW5nIj48L2E+RnVuY3Rpb246IHhtbE5leHRFbGVtZW50U2libGluZzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JeG1sTmV4dEVsZW1lbnRTaWJsaW5nCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUpPGJyIC8+Cis8L3ByZT48cD5GaW5kcyB0aGUgZmlyc3QgY2xvc2VzdCBuZXh0IHNpYmxpbmcgb2YgdGhlIG5vZGUgd2hpY2ggaXMgYW4gZWxlbWVudCBub2RlLiBOb3RlIHRoZSBoYW5kbGluZyBvZiBlbnRpdGllcyByZWZlcmVuY2VzIGlzIGRpZmZlcmVudCB0aGFuIGluIHRoZSBXM0MgRE9NIGVsZW1lbnQgdHJhdmVyc2FsIHNwZWMgc2luY2Ugd2UgZG9uJ3QgaGF2ZSBiYWNrIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNyZWZlcmVuY2UiPnJlZmVyZW5jZTwvYT4gZnJvbSBlbnRpdGllcyBjb250ZW50IHRvIGVudGl0aWVzIHJlZmVyZW5jZXMuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGN1cnJlbnQgbm9kZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5leHQgZWxlbWVudCBzaWJsaW5nIG9yIE5VTEwgaWYgbm90IGF2YWlsYWJsZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbE5vZGVBZGRDb250ZW50IiBpZD0ieG1sTm9kZUFkZENvbnRlbnQiPjwvYT5GdW5jdGlvbjogeG1sTm9kZUFkZENvbnRlbnQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbE5vZGVBZGRDb250ZW50CQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGNvbnRlbnQpPGJyIC8+Cis8L3ByZT48cD5BcHBlbmQgdGhlIGV4dHJhIHN1YnN0cmluZyB0byB0aGUgbm9kZSBjb250ZW50LiBOT1RFOiBJbiBjb250cmFzdCB0byB4bWxOb2RlU2V0Q29udGVudCgpLCBAY29udGVudCBpcyBzdXBwb3NlZCB0byBiZSByYXcgdGV4dCwgc28gdW5lc2NhcGVkIFhNTCBzcGVjaWFsIGNoYXJzIGFyZSBhbGxvd2VkLCBlbnRpdHkgcmVmZXJlbmNlcyBhcmUgbm90IHN1cHBvcnRlZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBub2RlIGJlaW5nIG1vZGlmaWVkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb250ZW50PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5leHRyYSBjb250ZW50PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sTm9kZUFkZENvbnRlbnRMZW4iIGlkPSJ4bWxOb2RlQWRkQ29udGVudExlbiI+PC9hPkZ1bmN0aW9uOiB4bWxOb2RlQWRkQ29udGVudExlbjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sTm9kZUFkZENvbnRlbnRMZW4JCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGN1ciwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY29udGVudCwgPGJyIC8+CQkJCQkgaW50IGxlbik8YnIgLz4KKzwvcHJlPjxwPkFwcGVuZCB0aGUgZXh0cmEgc3Vic3RyaW5nIHRvIHRoZSBub2RlIGNvbnRlbnQuIE5PVEU6IEluIGNvbnRyYXN0IHRvIHhtbE5vZGVTZXRDb250ZW50TGVuKCksIEBjb250ZW50IGlzIHN1cHBvc2VkIHRvIGJlIHJhdyB0ZXh0LCBzbyB1bmVzY2FwZWQgWE1MIHNwZWNpYWwgY2hhcnMgYXJlIGFsbG93ZWQsIGVudGl0eSByZWZlcmVuY2VzIGFyZSBub3Qgc3VwcG9ydGVkLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vZGUgYmVpbmcgbW9kaWZpZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbnRlbnQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmV4dHJhIGNvbnRlbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHNpemUgb2YgQGNvbnRlbnQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxOb2RlQnVmR2V0Q29udGVudCIgaWQ9InhtbE5vZGVCdWZHZXRDb250ZW50Ij48L2E+RnVuY3Rpb246IHhtbE5vZGVCdWZHZXRDb250ZW50PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbE5vZGVCdWZHZXRDb250ZW50CQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJQdHIiPnhtbEJ1ZmZlclB0cjwvYT4gYnVmZmVyLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGUiPnhtbE5vZGU8L2E+ICogY3VyKTxiciAvPgorPC9wcmU+PHA+UmVhZCB0aGUgdmFsdWUgb2YgYSBub2RlIEBjdXIsIHRoaXMgY2FuIGJlIGVpdGhlciB0aGUgdGV4dCBjYXJyaWVkIGRpcmVjdGx5IGJ5IHRoaXMgbm9kZSBpZiBpdCdzIGEgVEVYVCBub2RlIG9yIHRoZSBhZ2dyZWdhdGUgc3RyaW5nIG9mIHRoZSB2YWx1ZXMgY2FycmllZCBieSB0aGlzIG5vZGUgY2hpbGQncyAoVEVYVCBhbmQgRU5USVRZX1JFRikuIEVudGl0eSByZWZlcmVuY2VzIGFyZSBzdWJzdGl0dXRlZC4gRmlsbHMgdXAgdGhlIGJ1ZmZlciBAYnVmZmVyIHdpdGggdGhpcyB2YWx1ZTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmJ1ZmZlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBidWZmZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vZGUgYmVpbmcgcmVhZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpbiBjYXNlIG9mIHN1Y2Nlc3MgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sTm9kZUR1bXAiIGlkPSJ4bWxOb2RlRHVtcCI+PC9hPkZ1bmN0aW9uOiB4bWxOb2RlRHVtcDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxOb2RlRHVtcAkJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlclB0ciI+eG1sQnVmZmVyUHRyPC9hPiBidWYsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIsIDxiciAvPgkJCQkJIGludCBsZXZlbCwgPGJyIC8+CQkJCQkgaW50IGZvcm1hdCk8YnIgLz4KKzwvcHJlPjxwPkR1bXAgYW4gWE1MIG5vZGUsIHJlY3Vyc2l2ZSBiZWhhdmlvdXIsY2hpbGRyZW4gYXJlIHByaW50ZWQgdG9vLiBOb3RlIHRoYXQgQGZvcm1hdCA9IDEgcHJvdmlkZSBub2RlIGluZGVudGluZyBvbmx5IGlmIDxhIGhyZWY9ImxpYnhtbC1nbG9iYWxzLmh0bWwjeG1sSW5kZW50VHJlZU91dHB1dCI+eG1sSW5kZW50VHJlZU91dHB1dDwvYT4gPSAxIG9yIHhtbEtlZXBCbGFua3NEZWZhdWx0KDApIHdhcyBjYWxsZWQgU2luY2UgdGhpcyBpcyB1c2luZyA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlciI+eG1sQnVmZmVyPC9hPiBzdHJ1Y3R1cmVzIGl0IGlzIGxpbWl0ZWQgdG8gMkdCIGFuZCBzb21laG93IGRlcHJlY2F0ZWQsIHVzZSB4bWxCdWZOb2RlRHVtcCgpIGluc3RlYWQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YnVmPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWE1MIGJ1ZmZlciBvdXRwdXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjdXJyZW50IG5vZGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxldmVsPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaW1icmljYXRpb24gbGV2ZWwgZm9yIGluZGVudGluZzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Zm9ybWF0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5pcyBmb3JtYXR0aW5nIGFsbG93ZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgYnl0ZXMgd3JpdHRlbiB0byB0aGUgYnVmZmVyIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxOb2RlRHVtcE91dHB1dCIgaWQ9InhtbE5vZGVEdW1wT3V0cHV0Ij48L2E+RnVuY3Rpb246IHhtbE5vZGVEdW1wT3V0cHV0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxOb2RlRHVtcE91dHB1dAkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sT3V0cHV0QnVmZmVyUHRyIj54bWxPdXRwdXRCdWZmZXJQdHI8L2E+IGJ1ZiwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGN1ciwgPGJyIC8+CQkJCQkgaW50IGxldmVsLCA8YnIgLz4JCQkJCSBpbnQgZm9ybWF0LCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcpPGJyIC8+Cis8L3ByZT48cD5EdW1wIGFuIFhNTCBub2RlLCByZWN1cnNpdmUgYmVoYXZpb3VyLCBjaGlsZHJlbiBhcmUgcHJpbnRlZCB0b28uIE5vdGUgdGhhdCBAZm9ybWF0ID0gMSBwcm92aWRlIG5vZGUgaW5kZW50aW5nIG9ubHkgaWYgPGEgaHJlZj0ibGlieG1sLWdsb2JhbHMuaHRtbCN4bWxJbmRlbnRUcmVlT3V0cHV0Ij54bWxJbmRlbnRUcmVlT3V0cHV0PC9hPiA9IDEgb3IgeG1sS2VlcEJsYW5rc0RlZmF1bHQoMCkgd2FzIGNhbGxlZDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmJ1ZjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhNTCBidWZmZXIgb3V0cHV0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY3VycmVudCBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZXZlbDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGltYnJpY2F0aW9uIGxldmVsIGZvciBpbmRlbnRpbmc8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZvcm1hdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+aXMgZm9ybWF0dGluZyBhbGxvd2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbmNvZGluZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gb3B0aW9uYWwgZW5jb2Rpbmcgc3RyaW5nPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sTm9kZUdldEJhc2UiIGlkPSJ4bWxOb2RlR2V0QmFzZSI+PC9hPkZ1bmN0aW9uOiB4bWxOb2RlR2V0QmFzZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbE5vZGVHZXRCYXNlCQkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2MiPnhtbERvYzwvYT4gKiBkb2MsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZSI+eG1sTm9kZTwvYT4gKiBjdXIpPGJyIC8+Cis8L3ByZT48cD5TZWFyY2hlcyBmb3IgdGhlIEJBU0UgVVJMLiBUaGUgY29kZSBzaG91bGQgd29yayBvbiBib3RoIFhNTCBhbmQgSFRNTCBkb2N1bWVudCBldmVuIGlmIGJhc2UgbWVjaGFuaXNtcyBhcmUgY29tcGxldGVseSBkaWZmZXJlbnQuIEl0IHJldHVybnMgdGhlIGJhc2UgYXMgZGVmaW5lZCBpbiBSRkMgMjM5NiBzZWN0aW9ucyA1LjEuMS4gQmFzZSBVUkkgd2l0aGluIERvY3VtZW50IENvbnRlbnQgYW5kIDUuMS4yLiBCYXNlIFVSSSBmcm9tIHRoZSBFbmNhcHN1bGF0aW5nIEVudGl0eSBIb3dldmVyIGl0IGRvZXMgbm90IHJldHVybiB0aGUgZG9jdW1lbnQgYmFzZSAoNS4xLjMpLCB1c2UgZG9jLSZndDtVUkwgaW4gdGhpcyBjYXNlPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQgdGhlIG5vZGUgcGVydGFpbnMgdG88L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vZGUgYmVpbmcgY2hlY2tlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIHRoZSBiYXNlIFVSTCwgb3IgTlVMTCBpZiBub3QgZm91bmQgSXQncyB1cCB0byB0aGUgY2FsbGVyIHRvIGZyZWUgdGhlIG1lbW9yeSB3aXRoIHhtbEZyZWUoKS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxOb2RlR2V0Q29udGVudCIgaWQ9InhtbE5vZGVHZXRDb250ZW50Ij48L2E+RnVuY3Rpb246IHhtbE5vZGVHZXRDb250ZW50PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sTm9kZUdldENvbnRlbnQJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZSI+eG1sTm9kZTwvYT4gKiBjdXIpPGJyIC8+Cis8L3ByZT48cD5SZWFkIHRoZSB2YWx1ZSBvZiBhIG5vZGUsIHRoaXMgY2FuIGJlIGVpdGhlciB0aGUgdGV4dCBjYXJyaWVkIGRpcmVjdGx5IGJ5IHRoaXMgbm9kZSBpZiBpdCdzIGEgVEVYVCBub2RlIG9yIHRoZSBhZ2dyZWdhdGUgc3RyaW5nIG9mIHRoZSB2YWx1ZXMgY2FycmllZCBieSB0aGlzIG5vZGUgY2hpbGQncyAoVEVYVCBhbmQgRU5USVRZX1JFRikuIEVudGl0eSByZWZlcmVuY2VzIGFyZSBzdWJzdGl0dXRlZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBub2RlIGJlaW5nIHJlYWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbmV3ICN4bWxDaGFyICogb3IgTlVMTCBpZiBubyBjb250ZW50IGlzIGF2YWlsYWJsZS4gSXQncyB1cCB0byB0aGUgY2FsbGVyIHRvIGZyZWUgdGhlIG1lbW9yeSB3aXRoIHhtbEZyZWUoKS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxOb2RlR2V0TGFuZyIgaWQ9InhtbE5vZGVHZXRMYW5nIj48L2E+RnVuY3Rpb246IHhtbE5vZGVHZXRMYW5nPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sTm9kZUdldExhbmcJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGUiPnhtbE5vZGU8L2E+ICogY3VyKTxiciAvPgorPC9wcmU+PHA+U2VhcmNoZXMgdGhlIGxhbmd1YWdlIG9mIGEgbm9kZSwgaS5lLiB0aGUgdmFsdWVzIG9mIHRoZSB4bWw6bGFuZyA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IG9yIHRoZSBvbmUgY2FycmllZCBieSB0aGUgbmVhcmVzdCBhbmNlc3Rvci48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBub2RlIGJlaW5nIGNoZWNrZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byB0aGUgbGFuZyB2YWx1ZSwgb3IgTlVMTCBpZiBub3QgZm91bmQgSXQncyB1cCB0byB0aGUgY2FsbGVyIHRvIGZyZWUgdGhlIG1lbW9yeSB3aXRoIHhtbEZyZWUoKS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxOb2RlR2V0U3BhY2VQcmVzZXJ2ZSIgaWQ9InhtbE5vZGVHZXRTcGFjZVByZXNlcnZlIj48L2E+RnVuY3Rpb246IHhtbE5vZGVHZXRTcGFjZVByZXNlcnZlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbE5vZGVHZXRTcGFjZVByZXNlcnZlCQkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlIj54bWxOb2RlPC9hPiAqIGN1cik8YnIgLz4KKzwvcHJlPjxwPlNlYXJjaGVzIHRoZSBzcGFjZSBwcmVzZXJ2aW5nIGJlaGF2aW91ciBvZiBhIG5vZGUsIGkuZS4gdGhlIHZhbHVlcyBvZiB0aGUgeG1sOnNwYWNlIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gb3IgdGhlIG9uZSBjYXJyaWVkIGJ5IHRoZSBuZWFyZXN0IGFuY2VzdG9yLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vZGUgYmVpbmcgY2hlY2tlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+LTEgaWYgeG1sOnNwYWNlIGlzIG5vdCBpbmhlcml0ZWQsIDAgaWYgImRlZmF1bHQiLCAxIGlmICJwcmVzZXJ2ZSI8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxOb2RlSXNUZXh0IiBpZD0ieG1sTm9kZUlzVGV4dCI+PC9hPkZ1bmN0aW9uOiB4bWxOb2RlSXNUZXh0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbE5vZGVJc1RleHQJCQkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlIj54bWxOb2RlPC9hPiAqIG5vZGUpPGJyIC8+Cis8L3ByZT48cD5JcyB0aGlzIG5vZGUgYSBUZXh0IG5vZGUgPzwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIHllcywgMCBubzwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbE5vZGVMaXN0R2V0UmF3U3RyaW5nIiBpZD0ieG1sTm9kZUxpc3RHZXRSYXdTdHJpbmciPjwvYT5GdW5jdGlvbjogeG1sTm9kZUxpc3RHZXRSYXdTdHJpbmc8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxOb2RlTGlzdEdldFJhd1N0cmluZwkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2MiPnhtbERvYzwvYT4gKiBkb2MsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZSI+eG1sTm9kZTwvYT4gKiBsaXN0LCA8YnIgLz4JCQkJCSBpbnQgaW5MaW5lKTxiciAvPgorPC9wcmU+PHA+QnVpbGRzIHRoZSBzdHJpbmcgZXF1aXZhbGVudCB0byB0aGUgdGV4dCBjb250YWluZWQgaW4gdGhlIE5vZGUgbGlzdCBtYWRlIG9mIFRFWFRzIGFuZCBFTlRJVFlfUkVGcywgY29udHJhcnkgdG8geG1sTm9kZUxpc3RHZXRTdHJpbmcoKSB0aGlzIGZ1bmN0aW9uIGRvZXNuJ3QgZG8gYW55IGNoYXJhY3RlciBlbmNvZGluZyBoYW5kbGluZy48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGlzdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBOb2RlIGxpc3Q8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmluTGluZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+c2hvdWxkIHdlIHJlcGxhY2UgZW50aXR5IGNvbnRlbnRzIG9yIHNob3cgdGhlaXIgZXh0ZXJuYWwgZm9ybTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIHRoZSBzdHJpbmcgY29weSwgdGhlIGNhbGxlciBtdXN0IGZyZWUgaXQgd2l0aCB4bWxGcmVlKCkuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sTm9kZUxpc3RHZXRTdHJpbmciIGlkPSJ4bWxOb2RlTGlzdEdldFN0cmluZyI+PC9hPkZ1bmN0aW9uOiB4bWxOb2RlTGlzdEdldFN0cmluZzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbE5vZGVMaXN0R2V0U3RyaW5nCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZSI+eG1sTm9kZTwvYT4gKiBsaXN0LCA8YnIgLz4JCQkJCSBpbnQgaW5MaW5lKTxiciAvPgorPC9wcmU+PHA+QnVpbGQgdGhlIHN0cmluZyBlcXVpdmFsZW50IHRvIHRoZSB0ZXh0IGNvbnRhaW5lZCBpbiB0aGUgTm9kZSBsaXN0IG1hZGUgb2YgVEVYVHMgYW5kIEVOVElUWV9SRUZzPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pmxpc3Q8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgTm9kZSBsaXN0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pbkxpbmU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnNob3VsZCB3ZSByZXBsYWNlIGVudGl0eSBjb250ZW50cyBvciBzaG93IHRoZWlyIGV4dGVybmFsIGZvcm08L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byB0aGUgc3RyaW5nIGNvcHksIHRoZSBjYWxsZXIgbXVzdCBmcmVlIGl0IHdpdGggeG1sRnJlZSgpLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbE5vZGVTZXRCYXNlIiBpZD0ieG1sTm9kZVNldEJhc2UiPjwvYT5GdW5jdGlvbjogeG1sTm9kZVNldEJhc2U8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbE5vZGVTZXRCYXNlCQkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gY3VyLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB1cmkpPGJyIC8+Cis8L3ByZT48cD5TZXQgKG9yIHJlc2V0KSB0aGUgYmFzZSBVUkkgb2YgYSBub2RlLCBpLmUuIHRoZSB2YWx1ZSBvZiB0aGUgeG1sOmJhc2UgYXR0cmlidXRlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vZGUgYmVpbmcgY2hhbmdlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dXJpPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IGJhc2UgVVJJPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sTm9kZVNldENvbnRlbnQiIGlkPSJ4bWxOb2RlU2V0Q29udGVudCI+PC9hPkZ1bmN0aW9uOiB4bWxOb2RlU2V0Q29udGVudDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sTm9kZVNldENvbnRlbnQJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGN1ciwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY29udGVudCk8YnIgLz4KKzwvcHJlPjxwPlJlcGxhY2UgdGhlIGNvbnRlbnQgb2YgYSBub2RlLiBOT1RFOiBAY29udGVudCBpcyBzdXBwb3NlZCB0byBiZSBhIHBpZWNlIG9mIFhNTCBDREFUQSwgc28gaXQgYWxsb3dzIGVudGl0eSByZWZlcmVuY2VzLCBidXQgWE1MIHNwZWNpYWwgY2hhcnMgbmVlZCB0byBiZSBlc2NhcGVkIGZpcnN0IGJ5IHVzaW5nIHhtbEVuY29kZUVudGl0aWVzUmVlbnRyYW50KCkgcmVzcC4geG1sRW5jb2RlU3BlY2lhbENoYXJzKCkuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbm9kZSBiZWluZyBtb2RpZmllZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29udGVudDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ldyB2YWx1ZSBvZiB0aGUgY29udGVudDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbE5vZGVTZXRDb250ZW50TGVuIiBpZD0ieG1sTm9kZVNldENvbnRlbnRMZW4iPjwvYT5GdW5jdGlvbjogeG1sTm9kZVNldENvbnRlbnRMZW48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbE5vZGVTZXRDb250ZW50TGVuCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGNvbnRlbnQsIDxiciAvPgkJCQkJIGludCBsZW4pPGJyIC8+Cis8L3ByZT48cD5SZXBsYWNlIHRoZSBjb250ZW50IG9mIGEgbm9kZS4gTk9URTogQGNvbnRlbnQgaXMgc3VwcG9zZWQgdG8gYmUgYSBwaWVjZSBvZiBYTUwgQ0RBVEEsIHNvIGl0IGFsbG93cyBlbnRpdHkgcmVmZXJlbmNlcywgYnV0IFhNTCBzcGVjaWFsIGNoYXJzIG5lZWQgdG8gYmUgZXNjYXBlZCBmaXJzdCBieSB1c2luZyB4bWxFbmNvZGVFbnRpdGllc1JlZW50cmFudCgpIHJlc3AuIHhtbEVuY29kZVNwZWNpYWxDaGFycygpLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vZGUgYmVpbmcgbW9kaWZpZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbnRlbnQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXcgdmFsdWUgb2YgdGhlIGNvbnRlbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHNpemUgb2YgQGNvbnRlbnQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxOb2RlU2V0TGFuZyIgaWQ9InhtbE5vZGVTZXRMYW5nIj48L2E+RnVuY3Rpb246IHhtbE5vZGVTZXRMYW5nPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxOb2RlU2V0TGFuZwkJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGN1ciwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbGFuZyk8YnIgLz4KKzwvcHJlPjxwPlNldCB0aGUgbGFuZ3VhZ2Ugb2YgYSBub2RlLCBpLmUuIHRoZSB2YWx1ZXMgb2YgdGhlIHhtbDpsYW5nIGF0dHJpYnV0ZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBub2RlIGJlaW5nIGNoYW5nZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pmxhbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsYW5ndWFnZSBkZXNjcmlwdGlvbjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbE5vZGVTZXROYW1lIiBpZD0ieG1sTm9kZVNldE5hbWUiPjwvYT5GdW5jdGlvbjogeG1sTm9kZVNldE5hbWU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbE5vZGVTZXROYW1lCQkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gY3VyLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKTxiciAvPgorPC9wcmU+PHA+U2V0IChvciByZXNldCkgdGhlIG5hbWUgb2YgYSBub2RlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vZGUgYmVpbmcgY2hhbmdlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ldyB0YWcgbmFtZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbE5vZGVTZXRTcGFjZVByZXNlcnZlIiBpZD0ieG1sTm9kZVNldFNwYWNlUHJlc2VydmUiPjwvYT5GdW5jdGlvbjogeG1sTm9kZVNldFNwYWNlUHJlc2VydmU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbE5vZGVTZXRTcGFjZVByZXNlcnZlCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIsIDxiciAvPgkJCQkJIGludCB2YWwpPGJyIC8+Cis8L3ByZT48cD5TZXQgKG9yIHJlc2V0KSB0aGUgc3BhY2UgcHJlc2VydmluZyBiZWhhdmlvdXIgb2YgYSBub2RlLCBpLmUuIHRoZSB2YWx1ZSBvZiB0aGUgeG1sOnNwYWNlIGF0dHJpYnV0ZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBub2RlIGJlaW5nIGNoYW5nZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHhtbDpzcGFjZSB2YWx1ZSAoIjAiOiBkZWZhdWx0LCAxOiAicHJlc2VydmUiKTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFByZXZpb3VzRWxlbWVudFNpYmxpbmciIGlkPSJ4bWxQcmV2aW91c0VsZW1lbnRTaWJsaW5nIj48L2E+RnVuY3Rpb246IHhtbFByZXZpb3VzRWxlbWVudFNpYmxpbmc8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CXhtbFByZXZpb3VzRWxlbWVudFNpYmxpbmcJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSk8YnIgLz4KKzwvcHJlPjxwPkZpbmRzIHRoZSBmaXJzdCBjbG9zZXN0IHByZXZpb3VzIHNpYmxpbmcgb2YgdGhlIG5vZGUgd2hpY2ggaXMgYW4gZWxlbWVudCBub2RlLiBOb3RlIHRoZSBoYW5kbGluZyBvZiBlbnRpdGllcyByZWZlcmVuY2VzIGlzIGRpZmZlcmVudCB0aGFuIGluIHRoZSBXM0MgRE9NIGVsZW1lbnQgdHJhdmVyc2FsIHNwZWMgc2luY2Ugd2UgZG9uJ3QgaGF2ZSBiYWNrIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNyZWZlcmVuY2UiPnJlZmVyZW5jZTwvYT4gZnJvbSBlbnRpdGllcyBjb250ZW50IHRvIGVudGl0aWVzIHJlZmVyZW5jZXMuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGN1cnJlbnQgbm9kZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHByZXZpb3VzIGVsZW1lbnQgc2libGluZyBvciBOVUxMIGlmIG5vdCBhdmFpbGFibGU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxSZWNvbmNpbGlhdGVOcyIgaWQ9InhtbFJlY29uY2lsaWF0ZU5zIj48L2E+RnVuY3Rpb246IHhtbFJlY29uY2lsaWF0ZU5zPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFJlY29uY2lsaWF0ZU5zCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IHRyZWUpPGJyIC8+Cis8L3ByZT48cD5UaGlzIGZ1bmN0aW9uIGNoZWNrcyB0aGF0IGFsbCB0aGUgbmFtZXNwYWNlcyBkZWNsYXJlZCB3aXRoaW4gdGhlIGdpdmVuIHRyZWUgYXJlIHByb3Blcmx5IGRlY2xhcmVkLiBUaGlzIGlzIG5lZWRlZCBmb3IgZXhhbXBsZSBhZnRlciBDb3B5IG9yIEN1dCBhbmQgdGhlbiBwYXN0ZSBvcGVyYXRpb25zLiBUaGUgc3VidHJlZSBtYXkgc3RpbGwgaG9sZCBwb2ludGVycyB0byBuYW1lc3BhY2UgZGVjbGFyYXRpb25zIG91dHNpZGUgdGhlIHN1YnRyZWUgb3IgaW52YWxpZC9tYXNrZWQuIEFzIG11Y2ggYXMgcG9zc2libGUgdGhlIGZ1bmN0aW9uIHRyeSB0byByZXVzZSB0aGUgZXhpc3RpbmcgbmFtZXNwYWNlcyBmb3VuZCBpbiB0aGUgbmV3IGVudmlyb25tZW50LiBJZiBub3QgcG9zc2libGUgdGhlIG5ldyBuYW1lc3BhY2VzIGFyZSByZWRlY2xhcmVkIG9uIEB0cmVlIGF0IHRoZSB0b3Agb2YgdGhlIGdpdmVuIHN1YnRyZWUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRyZWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbm9kZSBkZWZpbmluZyB0aGUgc3VidHJlZSB0byByZWNvbmNpbGlhdGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgbmFtZXNwYWNlIGRlY2xhcmF0aW9ucyBjcmVhdGVkIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sUmVtb3ZlUHJvcCIgaWQ9InhtbFJlbW92ZVByb3AiPjwvYT5GdW5jdGlvbjogeG1sUmVtb3ZlUHJvcDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxSZW1vdmVQcm9wCQkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQXR0clB0ciI+eG1sQXR0clB0cjwvYT4gY3VyKTxiciAvPgorPC9wcmU+PHA+VW5saW5rIGFuZCBmcmVlIG9uZSBhdHRyaWJ1dGUsIGFsbCB0aGUgY29udGVudCBpcyBmcmVlZCB0b28gTm90ZSB0aGlzIGRvZXNuJ3Qgd29yayBmb3IgbmFtZXNwYWNlIGRlZmluaXRpb24gYXR0cmlidXRlczwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpZiBzdWNjZXNzIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFJlcGxhY2VOb2RlIiBpZD0ieG1sUmVwbGFjZU5vZGUiPjwvYT5GdW5jdGlvbjogeG1sUmVwbGFjZU5vZGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CXhtbFJlcGxhY2VOb2RlCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBvbGQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gY3VyKTxiciAvPgorPC9wcmU+PHA+VW5saW5rIHRoZSBvbGQgbm9kZSBmcm9tIGl0cyBjdXJyZW50IGNvbnRleHQsIHBydW5lIHRoZSBuZXcgb25lIGF0IHRoZSBzYW1lIHBsYWNlLiBJZiBAY3VyIHdhcyBhbHJlYWR5IGluc2VydGVkIGluIGEgZG9jdW1lbnQgaXQgaXMgZmlyc3QgdW5saW5rZWQgZnJvbSBpdHMgZXhpc3RpbmcgY29udGV4dC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vbGQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBvbGQgbm9kZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbm9kZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIEBvbGQgbm9kZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFNhdmVGaWxlIiBpZD0ieG1sU2F2ZUZpbGUiPjwvYT5GdW5jdGlvbjogeG1sU2F2ZUZpbGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sU2F2ZUZpbGUJCQkoY29uc3QgY2hhciAqIGZpbGVuYW1lLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBjdXIpPGJyIC8+Cis8L3ByZT48cD5EdW1wIGFuIFhNTCBkb2N1bWVudCB0byBhIGZpbGUuIFdpbGwgdXNlIGNvbXByZXNzaW9uIGlmIGNvbXBpbGVkIGluIGFuZCBlbmFibGVkLiBJZiBAZmlsZW5hbWUgaXMgIi0iIHRoZSBzdGRvdXQgZmlsZSBpcyB1c2VkLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZpbGVuYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZmlsZW5hbWUgKG9yIFVSTCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGJ5dGVzIHdyaXR0ZW4gb3IgLTEgaW4gY2FzZSBvZiBmYWlsdXJlLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFNhdmVGaWxlRW5jIiBpZD0ieG1sU2F2ZUZpbGVFbmMiPjwvYT5GdW5jdGlvbjogeG1sU2F2ZUZpbGVFbmM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sU2F2ZUZpbGVFbmMJCQkoY29uc3QgY2hhciAqIGZpbGVuYW1lLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBjdXIsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZyk8YnIgLz4KKzwvcHJlPjxwPkR1bXAgYW4gWE1MIGRvY3VtZW50LCBjb252ZXJ0aW5nIGl0IHRvIHRoZSBnaXZlbiBlbmNvZGluZzwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZpbGVuYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZmlsZW5hbWUgKG9yIFVSTCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbmNvZGluZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5hbWUgb2YgYW4gZW5jb2RpbmcgKG9yIE5VTEwpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGJ5dGVzIHdyaXR0ZW4gb3IgLTEgaW4gY2FzZSBvZiBmYWlsdXJlLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFNhdmVGaWxlVG8iIGlkPSJ4bWxTYXZlRmlsZVRvIj48L2E+RnVuY3Rpb246IHhtbFNhdmVGaWxlVG88L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sU2F2ZUZpbGVUbwkJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE91dHB1dEJ1ZmZlclB0ciI+eG1sT3V0cHV0QnVmZmVyUHRyPC9hPiBidWYsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGN1ciwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nKTxiciAvPgorPC9wcmU+PHA+RHVtcCBhbiBYTUwgZG9jdW1lbnQgdG8gYW4gSS9PIGJ1ZmZlci4gV2FybmluZyAhIFRoaXMgY2FsbCB4bWxPdXRwdXRCdWZmZXJDbG9zZSgpIG9uIGJ1ZiB3aGljaCBpcyBub3QgYXZhaWxhYmxlIGFmdGVyIHRoaXMgY2FsbC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5idWY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIG91dHB1dCBJL08gYnVmZmVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jb2Rpbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbmNvZGluZyBpZiBhbnkgYXNzdW1pbmcgdGhlIEkvTyBsYXllciBoYW5kbGVzIHRoZSB0cmFuY29kaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGJ5dGVzIHdyaXR0ZW4gb3IgLTEgaW4gY2FzZSBvZiBmYWlsdXJlLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFNhdmVGb3JtYXRGaWxlIiBpZD0ieG1sU2F2ZUZvcm1hdEZpbGUiPjwvYT5GdW5jdGlvbjogeG1sU2F2ZUZvcm1hdEZpbGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sU2F2ZUZvcm1hdEZpbGUJCShjb25zdCBjaGFyICogZmlsZW5hbWUsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGN1ciwgPGJyIC8+CQkJCQkgaW50IGZvcm1hdCk8YnIgLz4KKzwvcHJlPjxwPkR1bXAgYW4gWE1MIGRvY3VtZW50IHRvIGEgZmlsZS4gV2lsbCB1c2UgY29tcHJlc3Npb24gaWYgY29tcGlsZWQgaW4gYW5kIGVuYWJsZWQuIElmIEBmaWxlbmFtZSBpcyAiLSIgdGhlIHN0ZG91dCBmaWxlIGlzIHVzZWQuIElmIEBmb3JtYXQgaXMgc2V0IHRoZW4gdGhlIGRvY3VtZW50IHdpbGwgYmUgaW5kZW50ZWQgb24gb3V0cHV0LiBOb3RlIHRoYXQgQGZvcm1hdCA9IDEgcHJvdmlkZSBub2RlIGluZGVudGluZyBvbmx5IGlmIDxhIGhyZWY9ImxpYnhtbC1nbG9iYWxzLmh0bWwjeG1sSW5kZW50VHJlZU91dHB1dCI+eG1sSW5kZW50VHJlZU91dHB1dDwvYT4gPSAxIG9yIHhtbEtlZXBCbGFua3NEZWZhdWx0KDApIHdhcyBjYWxsZWQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlbmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZpbGVuYW1lIChvciBVUkwpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Zm9ybWF0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5zaG91bGQgZm9ybWF0dGluZyBzcGFjZXMgYmVlbiBhZGRlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBieXRlcyB3cml0dGVuIG9yIC0xIGluIGNhc2Ugb2YgZmFpbHVyZS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTYXZlRm9ybWF0RmlsZUVuYyIgaWQ9InhtbFNhdmVGb3JtYXRGaWxlRW5jIj48L2E+RnVuY3Rpb246IHhtbFNhdmVGb3JtYXRGaWxlRW5jPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFNhdmVGb3JtYXRGaWxlRW5jCQkoY29uc3QgY2hhciAqIGZpbGVuYW1lLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBjdXIsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyIC8+CQkJCQkgaW50IGZvcm1hdCk8YnIgLz4KKzwvcHJlPjxwPkR1bXAgYW4gWE1MIGRvY3VtZW50IHRvIGEgZmlsZSBvciBhbiBVUkwuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmlsZW5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmaWxlbmFtZSBvciBVUkwgdG8gb3V0cHV0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudCBiZWluZyBzYXZlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jb2Rpbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lIG9mIHRoZSBlbmNvZGluZyB0byB1c2Ugb3IgTlVMTC48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZvcm1hdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+c2hvdWxkIGZvcm1hdHRpbmcgc3BhY2VzIGJlIGFkZGVkLjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBieXRlcyB3cml0dGVuIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IuIE5vdGUgdGhhdCBAZm9ybWF0ID0gMSBwcm92aWRlIG5vZGUgaW5kZW50aW5nIG9ubHkgaWYgPGEgaHJlZj0ibGlieG1sLWdsb2JhbHMuaHRtbCN4bWxJbmRlbnRUcmVlT3V0cHV0Ij54bWxJbmRlbnRUcmVlT3V0cHV0PC9hPiA9IDEgb3IgeG1sS2VlcEJsYW5rc0RlZmF1bHQoMCkgd2FzIGNhbGxlZDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFNhdmVGb3JtYXRGaWxlVG8iIGlkPSJ4bWxTYXZlRm9ybWF0RmlsZVRvIj48L2E+RnVuY3Rpb246IHhtbFNhdmVGb3JtYXRGaWxlVG88L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sU2F2ZUZvcm1hdEZpbGVUbwkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sT3V0cHV0QnVmZmVyUHRyIj54bWxPdXRwdXRCdWZmZXJQdHI8L2E+IGJ1ZiwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gY3VyLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcsIDxiciAvPgkJCQkJIGludCBmb3JtYXQpPGJyIC8+Cis8L3ByZT48cD5EdW1wIGFuIFhNTCBkb2N1bWVudCB0byBhbiBJL08gYnVmZmVyLiBXYXJuaW5nICEgVGhpcyBjYWxsIHhtbE91dHB1dEJ1ZmZlckNsb3NlKCkgb24gYnVmIHdoaWNoIGlzIG5vdCBhdmFpbGFibGUgYWZ0ZXIgdGhpcyBjYWxsLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmJ1ZjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gb3V0cHV0IEkvTyBidWZmZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbmNvZGluZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVuY29kaW5nIGlmIGFueSBhc3N1bWluZyB0aGUgSS9PIGxheWVyIGhhbmRsZXMgdGhlIHRyYW5jb2Rpbmc8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZvcm1hdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+c2hvdWxkIGZvcm1hdHRpbmcgc3BhY2VzIGJlZW4gYWRkZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgYnl0ZXMgd3JpdHRlbiBvciAtMSBpbiBjYXNlIG9mIGZhaWx1cmUuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU2VhcmNoTnMiIGlkPSJ4bWxTZWFyY2hOcyI+PC9hPkZ1bmN0aW9uOiB4bWxTZWFyY2hOczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTnNQdHIiPnhtbE5zUHRyPC9hPgl4bWxTZWFyY2hOcwkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lU3BhY2UpPGJyIC8+Cis8L3ByZT48cD5TZWFyY2ggYSBOcyByZWdpc3RlcmVkIHVuZGVyIGEgZ2l2ZW4gbmFtZSBzcGFjZSBmb3IgYSBkb2N1bWVudC4gcmVjdXJzZSBvbiB0aGUgcGFyZW50cyB1bnRpbCBpdCBmaW5kcyB0aGUgZGVmaW5lZCBuYW1lc3BhY2Ugb3IgcmV0dXJuIE5VTEwgb3RoZXJ3aXNlLiBAbmFtZVNwYWNlIGNhbiBiZSBOVUxMLCB0aGlzIGlzIGEgc2VhcmNoIGZvciB0aGUgZGVmYXVsdCBuYW1lc3BhY2UuIFdlIGRvbid0IGFsbG93IHRvIGNyb3NzIGVudGl0aWVzIGJvdW5kYXJpZXMuIElmIHlvdSBkb24ndCBkZWNsYXJlIHRoZSBuYW1lc3BhY2Ugd2l0aGluIHRob3NlIHlvdSB3aWxsIGJlIGluIHRyb3VibGVzICEhISBBIHdhcm5pbmcgaXMgZ2VuZXJhdGVkIHRvIGNvdmVyIHRoaXMgY2FzZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGN1cnJlbnQgbm9kZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZVNwYWNlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZXNwYWNlIHByZWZpeDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5hbWVzcGFjZSBwb2ludGVyIG9yIE5VTEwuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU2VhcmNoTnNCeUhyZWYiIGlkPSJ4bWxTZWFyY2hOc0J5SHJlZiI+PC9hPkZ1bmN0aW9uOiB4bWxTZWFyY2hOc0J5SHJlZjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTnNQdHIiPnhtbE5zUHRyPC9hPgl4bWxTZWFyY2hOc0J5SHJlZgkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGhyZWYpPGJyIC8+Cis8L3ByZT48cD5TZWFyY2ggYSBOcyBhbGlhc2luZyBhIGdpdmVuIFVSSS4gUmVjdXJzZSBvbiB0aGUgcGFyZW50cyB1bnRpbCBpdCBmaW5kcyB0aGUgZGVmaW5lZCBuYW1lc3BhY2Ugb3IgcmV0dXJuIE5VTEwgb3RoZXJ3aXNlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY3VycmVudCBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ocmVmPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZXNwYWNlIHZhbHVlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZXNwYWNlIHBvaW50ZXIgb3IgTlVMTC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lIiBpZD0ieG1sU2V0QnVmZmVyQWxsb2NhdGlvblNjaGVtZSI+PC9hPkZ1bmN0aW9uOiB4bWxTZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxTZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUiPnhtbEJ1ZmZlckFsbG9jYXRpb25TY2hlbWU8L2E+IHNjaGVtZSk8YnIgLz4KKzwvcHJlPjxwPlNldCB0aGUgYnVmZmVyIGFsbG9jYXRpb24gbWV0aG9kLiBUeXBlcyBhcmUgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCNYTUxfQlVGRkVSX0FMTE9DX0VYQUNUIj5YTUxfQlVGRkVSX0FMTE9DX0VYQUNUPC9hPiAtIHVzZSBleGFjdCBzaXplcywga2VlcHMgbWVtb3J5IHVzYWdlIGRvd24gPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCNYTUxfQlVGRkVSX0FMTE9DX0RPVUJMRUlUIj5YTUxfQlVGRkVSX0FMTE9DX0RPVUJMRUlUPC9hPiAtIGRvdWJsZSBidWZmZXIgd2hlbiBleHRyYSBuZWVkZWQsIGltcHJvdmVzIHBlcmZvcm1hbmNlPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2NoZW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbGxvY2F0aW9uIG1ldGhvZCB0byB1c2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTZXRDb21wcmVzc01vZGUiIGlkPSJ4bWxTZXRDb21wcmVzc01vZGUiPjwvYT5GdW5jdGlvbjogeG1sU2V0Q29tcHJlc3NNb2RlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxTZXRDb21wcmVzc01vZGUJCShpbnQgbW9kZSk8YnIgLz4KKzwvcHJlPjxwPnNldCB0aGUgZGVmYXVsdCBjb21wcmVzc2lvbiBtb2RlIHVzZWQsIFpMSUIgYmFzZWQgQ29ycmVjdCB2YWx1ZXM6IDAgKHVuY29tcHJlc3NlZCkgdG8gOSAobWF4IGNvbXByZXNzaW9uKTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm1vZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjb21wcmVzc2lvbiByYXRpbzwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFNldERvY0NvbXByZXNzTW9kZSIgaWQ9InhtbFNldERvY0NvbXByZXNzTW9kZSI+PC9hPkZ1bmN0aW9uOiB4bWxTZXREb2NDb21wcmVzc01vZGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFNldERvY0NvbXByZXNzTW9kZQkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyIC8+CQkJCQkgaW50IG1vZGUpPGJyIC8+Cis8L3ByZT48cD5zZXQgdGhlIGNvbXByZXNzaW9uIHJhdGlvIGZvciBhIGRvY3VtZW50LCBaTElCIGJhc2VkIENvcnJlY3QgdmFsdWVzOiAwICh1bmNvbXByZXNzZWQpIHRvIDkgKG1heCBjb21wcmVzc2lvbik8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bW9kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGNvbXByZXNzaW9uIHJhdGlvPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU2V0TGlzdERvYyIgaWQ9InhtbFNldExpc3REb2MiPjwvYT5GdW5jdGlvbjogeG1sU2V0TGlzdERvYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sU2V0TGlzdERvYwkJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGxpc3QsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYyk8YnIgLz4KKzwvcHJlPjxwPnVwZGF0ZSBhbGwgbm9kZXMgaW4gdGhlIGxpc3QgdG8gcG9pbnQgdG8gdGhlIHJpZ2h0IGRvY3VtZW50PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGlzdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZpcnN0IGVsZW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU2V0TnMiIGlkPSJ4bWxTZXROcyI+PC9hPkZ1bmN0aW9uOiB4bWxTZXROczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sU2V0TnMJCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5zUHRyIj54bWxOc1B0cjwvYT4gbnMpPGJyIC8+Cis8L3ByZT48cD5Bc3NvY2lhdGUgYSBuYW1lc3BhY2UgdG8gYSBub2RlLCBhIHBvc3RlcmlvcmkuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBub2RlIGluIHRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbmFtZXNwYWNlIHBvaW50ZXI8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTZXROc1Byb3AiIGlkPSJ4bWxTZXROc1Byb3AiPjwvYT5GdW5jdGlvbjogeG1sU2V0TnNQcm9wPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxBdHRyUHRyIj54bWxBdHRyUHRyPC9hPgl4bWxTZXROc1Byb3AJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTnNQdHIiPnhtbE5zUHRyPC9hPiBucywgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUpPGJyIC8+Cis8L3ByZT48cD5TZXQgKG9yIHJlc2V0KSBhbiA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IGNhcnJpZWQgYnkgYSBub2RlLiBUaGUgbnMgc3RydWN0dXJlIG11c3QgYmUgaW4gc2NvcGUsIHRoaXMgaXMgbm90IGNoZWNrZWQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbm9kZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lc3BhY2UgZGVmaW5pdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsdWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IHZhbHVlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBwb2ludGVyLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFNldFByb3AiIGlkPSJ4bWxTZXRQcm9wIj48L2E+RnVuY3Rpb246IHhtbFNldFByb3A8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEF0dHJQdHIiPnhtbEF0dHJQdHI8L2E+CXhtbFNldFByb3AJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHZhbHVlKTxiciAvPgorPC9wcmU+PHA+U2V0IChvciByZXNldCkgYW4gPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBjYXJyaWVkIGJ5IGEgbm9kZS4gSWYgQG5hbWUgaGFzIGEgcHJlZml4LCB0aGVuIHRoZSBjb3JyZXNwb25kaW5nIG5hbWVzcGFjZS1iaW5kaW5nIHdpbGwgYmUgdXNlZCwgaWYgaW4gc2NvcGU7IGl0IGlzIGFuIGVycm9yIGl0IHRoZXJlJ3Mgbm8gc3VjaCBucy1iaW5kaW5nIGZvciB0aGUgcHJlZml4IGluIHNjb3BlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBuYW1lIChhIFFOYW1lKTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsdWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IHZhbHVlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBwb2ludGVyLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFNldFRyZWVEb2MiIGlkPSJ4bWxTZXRUcmVlRG9jIj48L2E+RnVuY3Rpb246IHhtbFNldFRyZWVEb2M8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFNldFRyZWVEb2MJCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiB0cmVlLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MpPGJyIC8+Cis8L3ByZT48cD51cGRhdGUgYWxsIG5vZGVzIHVuZGVyIHRoZSB0cmVlIHRvIHBvaW50IHRvIHRoZSByaWdodCBkb2N1bWVudDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRyZWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB0b3AgZWxlbWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTcGxpdFFOYW1lMiIgaWQ9InhtbFNwbGl0UU5hbWUyIj48L2E+RnVuY3Rpb246IHhtbFNwbGl0UU5hbWUyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sU3BsaXRRTmFtZTIJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiogcHJlZml4KTxiciAvPgorPC9wcmU+PHA+cGFyc2UgYW4gWE1MIHF1YWxpZmllZCBuYW1lIHN0cmluZyBbTlMgNV0gUU5hbWUgOjo9IChQcmVmaXggJzonKT8gTG9jYWxQYXJ0IFtOUyA2XSBQcmVmaXggOjo9IE5DTmFtZSBbTlMgN10gTG9jYWxQYXJ0IDo6PSBOQ05hbWU8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZnVsbCBRTmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cHJlZml4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqKjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+TlVMTCBpZiBub3QgYSBRTmFtZSwgb3RoZXJ3aXNlIHRoZSBsb2NhbCBwYXJ0LCBhbmQgcHJlZml4IGlzIHVwZGF0ZWQgdG8gZ2V0IHRoZSBQcmVmaXggaWYgYW55LjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFNwbGl0UU5hbWUzIiBpZD0ieG1sU3BsaXRRTmFtZTMiPjwvYT5GdW5jdGlvbjogeG1sU3BsaXRRTmFtZTM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5jb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxTcGxpdFFOYW1lMwkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJIGludCAqIGxlbik8YnIgLz4KKzwvcHJlPjxwPnBhcnNlIGFuIFhNTCBxdWFsaWZpZWQgbmFtZSBzdHJpbmcsaTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmdWxsIFFOYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIGludCAqPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5OVUxMIGlmIGl0IGlzIG5vdCBhIFF1YWxpZmllZCBOYW1lLCBvdGhlcndpc2UsIHVwZGF0ZSBsZW4gd2l0aCB0aGUgbGVuZ3RoIGluIGJ5dGUgb2YgdGhlIHByZWZpeCBhbmQgcmV0dXJuIGEgcG9pbnRlciB0byB0aGUgc3RhcnQgb2YgdGhlIG5hbWUgd2l0aG91dCB0aGUgcHJlZml4PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU3RyaW5nR2V0Tm9kZUxpc3QiIGlkPSJ4bWxTdHJpbmdHZXROb2RlTGlzdCI+PC9hPkZ1bmN0aW9uOiB4bWxTdHJpbmdHZXROb2RlTGlzdDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JeG1sU3RyaW5nR2V0Tm9kZUxpc3QJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jIj54bWxEb2M8L2E+ICogZG9jLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB2YWx1ZSk8YnIgLz4KKzwvcHJlPjxwPlBhcnNlIHRoZSB2YWx1ZSBzdHJpbmcgYW5kIGJ1aWxkIHRoZSBub2RlIGxpc3QgYXNzb2NpYXRlZC4gU2hvdWxkIHByb2R1Y2UgYSBmbGF0IHRyZWUgd2l0aCBvbmx5IFRFWFRzIGFuZCBFTlRJVFlfUkVGcy48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsdWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB2YWx1ZSBvZiB0aGUgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIHRoZSBmaXJzdCBjaGlsZDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFN0cmluZ0xlbkdldE5vZGVMaXN0IiBpZD0ieG1sU3RyaW5nTGVuR2V0Tm9kZUxpc3QiPjwvYT5GdW5jdGlvbjogeG1sU3RyaW5nTGVuR2V0Tm9kZUxpc3Q8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CXhtbFN0cmluZ0xlbkdldE5vZGVMaXN0CShjb25zdCA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvYyI+eG1sRG9jPC9hPiAqIGRvYywgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUsIDxiciAvPgkJCQkJIGludCBsZW4pPGJyIC8+Cis8L3ByZT48cD5QYXJzZSB0aGUgdmFsdWUgc3RyaW5nIGFuZCBidWlsZCB0aGUgbm9kZSBsaXN0IGFzc29jaWF0ZWQuIFNob3VsZCBwcm9kdWNlIGEgZmxhdCB0cmVlIHdpdGggb25seSBURVhUcyBhbmQgRU5USVRZX1JFRnMuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbHVlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdmFsdWUgb2YgdGhlIHRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxlbmd0aCBvZiB0aGUgc3RyaW5nIHZhbHVlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gdGhlIGZpcnN0IGNoaWxkPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVGV4dENvbmNhdCIgaWQ9InhtbFRleHRDb25jYXQiPjwvYT5GdW5jdGlvbjogeG1sVGV4dENvbmNhdDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0Q29uY2F0CQkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY29udGVudCwgPGJyIC8+CQkJCQkgaW50IGxlbik8YnIgLz4KKzwvcHJlPjxwPkNvbmNhdCB0aGUgZ2l2ZW4gc3RyaW5nIGF0IHRoZSBlbmQgb2YgdGhlIGV4aXN0aW5nIG5vZGUgY29udGVudDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb250ZW50PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY29udGVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGVuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5AY29udGVudCBsZW5ndGg8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPi0xIGluIGNhc2Ugb2YgZXJyb3IsIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVGV4dE1lcmdlIiBpZD0ieG1sVGV4dE1lcmdlIj48L2E+RnVuY3Rpb246IHhtbFRleHRNZXJnZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JeG1sVGV4dE1lcmdlCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBmaXJzdCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBzZWNvbmQpPGJyIC8+Cis8L3ByZT48cD5NZXJnZSB0d28gdGV4dCBub2RlcyBpbnRvIG9uZTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZpcnN0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZmlyc3QgdGV4dCBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zZWNvbmQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzZWNvbmQgdGV4dCBub2RlIGJlaW5nIG1lcmdlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZpcnN0IHRleHQgbm9kZSBhdWdtZW50ZWQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxVbmxpbmtOb2RlIiBpZD0ieG1sVW5saW5rTm9kZSI+PC9hPkZ1bmN0aW9uOiB4bWxVbmxpbmtOb2RlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxVbmxpbmtOb2RlCQkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gY3VyKTxiciAvPgorPC9wcmU+PHA+VW5saW5rIGEgbm9kZSBmcm9tIGl0J3MgY3VycmVudCBjb250ZXh0LCB0aGUgbm9kZSBpcyBub3QgZnJlZWQgSWYgb25lIG5lZWQgdG8gZnJlZSB0aGUgbm9kZSwgdXNlIHhtbEZyZWVOb2RlKCkgcm91dGluZSBhZnRlciB0aGUgdW5saW5rIHRvIGRpc2NhcmQgaXQuIE5vdGUgdGhhdCBuYW1lc3BhY2Ugbm9kZXMgY2FuJ3QgYmUgdW5saW5rZWQgYXMgdGhleSBkbyBub3QgaGF2ZSBwb2ludGVyIHRvIHRoZWlyIHBhcmVudC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBub2RlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVW5zZXROc1Byb3AiIGlkPSJ4bWxVbnNldE5zUHJvcCI+PC9hPkZ1bmN0aW9uOiB4bWxVbnNldE5zUHJvcDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVbnNldE5zUHJvcAkJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTnNQdHIiPnhtbE5zUHRyPC9hPiBucywgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSk8YnIgLz4KKzwvcHJlPjxwPlJlbW92ZSBhbiA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IGNhcnJpZWQgYnkgYSBub2RlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5hbWVzcGFjZSBkZWZpbml0aW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGlmIHN1Y2Nlc3NmdWwsIC0xIGlmIG5vdCBmb3VuZDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFVuc2V0UHJvcCIgaWQ9InhtbFVuc2V0UHJvcCI+PC9hPkZ1bmN0aW9uOiB4bWxVbnNldFByb3A8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVW5zZXRQcm9wCQkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSk8YnIgLz4KKzwvcHJlPjxwPlJlbW92ZSBhbiA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IGNhcnJpZWQgYnkgYSBub2RlLiBUaGlzIGhhbmRsZXMgb25seSBhdHRyaWJ1dGVzIGluIG5vIG5hbWVzcGFjZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbm9kZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpZiBzdWNjZXNzZnVsLCAtMSBpZiBub3QgZm91bmQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxWYWxpZGF0ZU5DTmFtZSIgaWQ9InhtbFZhbGlkYXRlTkNOYW1lIj48L2E+RnVuY3Rpb246IHhtbFZhbGlkYXRlTkNOYW1lPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFZhbGlkYXRlTkNOYW1lCQkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUsIDxiciAvPgkJCQkJIGludCBzcGFjZSk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrIHRoYXQgYSB2YWx1ZSBjb25mb3JtcyB0byB0aGUgbGV4aWNhbCBzcGFjZSBvZiBOQ05hbWU8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWx1ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHZhbHVlIHRvIGNoZWNrPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zcGFjZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YWxsb3cgc3BhY2VzIGluIGZyb250IGFuZCBlbmQgb2YgdGhlIHN0cmluZzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpZiB0aGlzIHZhbGlkYXRlcywgYSBwb3NpdGl2ZSBlcnJvciBjb2RlIG51bWJlciBvdGhlcndpc2UgYW5kIC0xIGluIGNhc2Ugb2YgaW50ZXJuYWwgb3IgQVBJIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFZhbGlkYXRlTk1Ub2tlbiIgaWQ9InhtbFZhbGlkYXRlTk1Ub2tlbiI+PC9hPkZ1bmN0aW9uOiB4bWxWYWxpZGF0ZU5NVG9rZW48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVmFsaWRhdGVOTVRva2VuCQkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUsIDxiciAvPgkJCQkJIGludCBzcGFjZSk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrIHRoYXQgYSB2YWx1ZSBjb25mb3JtcyB0byB0aGUgbGV4aWNhbCBzcGFjZSBvZiBOTVRva2VuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsdWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB2YWx1ZSB0byBjaGVjazwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3BhY2U8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFsbG93IHNwYWNlcyBpbiBmcm9udCBhbmQgZW5kIG9mIHRoZSBzdHJpbmc8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaWYgdGhpcyB2YWxpZGF0ZXMsIGEgcG9zaXRpdmUgZXJyb3IgY29kZSBudW1iZXIgb3RoZXJ3aXNlIGFuZCAtMSBpbiBjYXNlIG9mIGludGVybmFsIG9yIEFQSSBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxWYWxpZGF0ZU5hbWUiIGlkPSJ4bWxWYWxpZGF0ZU5hbWUiPjwvYT5GdW5jdGlvbjogeG1sVmFsaWRhdGVOYW1lPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFZhbGlkYXRlTmFtZQkJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB2YWx1ZSwgPGJyIC8+CQkJCQkgaW50IHNwYWNlKTxiciAvPgorPC9wcmU+PHA+Q2hlY2sgdGhhdCBhIHZhbHVlIGNvbmZvcm1zIHRvIHRoZSBsZXhpY2FsIHNwYWNlIG9mIE5hbWU8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWx1ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHZhbHVlIHRvIGNoZWNrPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zcGFjZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YWxsb3cgc3BhY2VzIGluIGZyb250IGFuZCBlbmQgb2YgdGhlIHN0cmluZzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpZiB0aGlzIHZhbGlkYXRlcywgYSBwb3NpdGl2ZSBlcnJvciBjb2RlIG51bWJlciBvdGhlcndpc2UgYW5kIC0xIGluIGNhc2Ugb2YgaW50ZXJuYWwgb3IgQVBJIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFZhbGlkYXRlUU5hbWUiIGlkPSJ4bWxWYWxpZGF0ZVFOYW1lIj48L2E+RnVuY3Rpb246IHhtbFZhbGlkYXRlUU5hbWU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVmFsaWRhdGVRTmFtZQkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHZhbHVlLCA8YnIgLz4JCQkJCSBpbnQgc3BhY2UpPGJyIC8+Cis8L3ByZT48cD5DaGVjayB0aGF0IGEgdmFsdWUgY29uZm9ybXMgdG8gdGhlIGxleGljYWwgc3BhY2Ugb2YgUU5hbWU8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWx1ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHZhbHVlIHRvIGNoZWNrPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zcGFjZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YWxsb3cgc3BhY2VzIGluIGZyb250IGFuZCBlbmQgb2YgdGhlIHN0cmluZzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpZiB0aGlzIHZhbGlkYXRlcywgYSBwb3NpdGl2ZSBlcnJvciBjb2RlIG51bWJlciBvdGhlcndpc2UgYW5kIC0xIGluIGNhc2Ugb2YgaW50ZXJuYWwgb3IgQVBJIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PHA+PGEgaHJlZj0iLi4vYnVncy5odG1sIj5EYW5pZWwgVmVpbGxhcmQ8L2E+PC9wPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9odG1sL2xpYnhtbC11cmkuaHRtbCBiL2xpYnhtbDIvZG9jL2h0bWwvbGlieG1sLXVyaS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZjZWQ2N2EKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9odG1sL2xpYnhtbC11cmkuaHRtbApAQCAtMCwwICsxLDczIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPgorPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPjxoZWFkPjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPjxsaW5rIHJlbD0iU0hPUlRDVVQgSUNPTiIgaHJlZj0iL2Zhdmljb24uaWNvIiAvPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CitURCB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorQk9EWSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhOyBtYXJnaW4tdG9wOiAyZW07IG1hcmdpbi1sZWZ0OiAwZW07IG1hcmdpbi1yaWdodDogMGVtfQorSDEge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gyIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMyB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorQTpsaW5rLCBBOnZpc2l0ZWQsIEE6YWN0aXZlIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgfQorPC9zdHlsZT48c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorICAgICAgZGl2LmRlcHJlY2F0ZWQgcHJlLnByb2dyYW1saXN0aW5nIHtib3JkZXItc3R5bGU6IGRvdWJsZTtib3JkZXItY29sb3I6cmVkfQorICAgICAgcHJlLnByb2dyYW1saXN0aW5nIHtib3JkZXItc3R5bGU6IGRvdWJsZTtiYWNrZ3JvdW5kOiAjRUVDRkExfQorICAgIDwvc3R5bGU+PHRpdGxlPk1vZHVsZSB1cmkgZnJvbSBsaWJ4bWwyPC90aXRsZT48L2hlYWQ+PGJvZHkgYmdjb2xvcj0iIzhiNzc2NSIgdGV4dD0iIzAwMDAwMCIgbGluaz0iI2EwNjA2MCIgdmxpbms9IiMwMDAwMDAiPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSIxMDAlIiBjZWxscGFkZGluZz0iNSIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgd2lkdGg9IjEyMCI+PGEgaHJlZj0iaHR0cDovL3N3cGF0LmZmaWkub3JnLyI+PGltZyBzcmM9Ii4uL2VwYXRlbnRzLnBuZyIgYWx0PSJBY3Rpb24gYWdhaW5zdCBzb2Z0d2FyZSBwYXRlbnRzIiAvPjwvYT48L3RkPjx0ZCB3aWR0aD0iMTgwIj48YSBocmVmPSJodHRwOi8vd3d3Lmdub21lLm9yZy8iPjxpbWcgc3JjPSIuLi9nbm9tZTIucG5nIiBhbHQ9Ikdub21lMiBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9TdGF0dXMiPjxpbWcgc3JjPSIuLi93M2MucG5nIiBhbHQ9IlczQyBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnJlZGhhdC5jb20vIj48aW1nIHNyYz0iLi4vcmVkaGF0LmdpZiIgYWx0PSJSZWQgSGF0IExvZ28iIC8+PC9hPjxkaXYgYWxpZ249ImxlZnQiPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy8iPjxpbWcgc3JjPSIuLi9MaWJ4bWwyLUxvZ28tMTgweDE2OC5naWYiIGFsdD0iTWFkZSB3aXRoIExpYnhtbDIgTG9nbyIgLz48L2E+PC9kaXY+PC90ZD48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjkwJSIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiIGJnY29sb3I9IiNmZmZhY2QiPjx0cj48dGQgYWxpZ249ImNlbnRlciI+PGgxPjwvaDE+PGgyPk1vZHVsZSB1cmkgZnJvbSBsaWJ4bWwyPC9oMj48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iNCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiIgd2lkdGg9IjEwMCUiPjx0cj48dGQgdmFsaWduPSJ0b3AiIHdpZHRoPSIyMDAiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPkFQSSBNZW51PC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjxmb3JtIGFjdGlvbj0iLi4vc2VhcmNoLnBocCIgZW5jdHlwZT0iYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIiBtZXRob2Q9ImdldCI+PGlucHV0IG5hbWU9InF1ZXJ5IiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IiIgLz48aW5wdXQgbmFtZT0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJTZWFyY2ggLi4uIiAvPjwvZm9ybT48dWw+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSIuLi9pbmRleC5odG1sIj5NYWluIE1lbnU8L2E+PC9saT48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9Ii4uL2RvY3MuaHRtbCI+RGV2ZWxvcGVyIE1lbnU8L2E+PC9saT48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9Ii4uL2V4YW1wbGVzL2luZGV4Lmh0bWwiPkNvZGUgRXhhbXBsZXM8L2E+PC9saT48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9ImluZGV4Lmh0bWwiPkFQSSBNZW51PC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1wYXJzZXIuaHRtbCI+UGFyc2VyIEFQSTwvYT48L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sIj5UcmVlIEFQSTwvYT48L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwiPlJlYWRlciBBUEk8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vZ3VpZGVsaW5lcy5odG1sIj5YTUwgR3VpZGVsaW5lczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9DaGFuZ2VMb2cuaHRtbCI+Q2hhbmdlTG9nPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+QVBJIEluZGV4ZXM8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSIuLi9BUEljaHVuazAuaHRtbCI+QWxwaGFiZXRpYzwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUEljb25zdHJ1Y3RvcnMuaHRtbCI+Q29uc3RydWN0b3JzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSWZ1bmN0aW9ucy5odG1sIj5GdW5jdGlvbnMvVHlwZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJZmlsZXMuaHRtbCI+TW9kdWxlczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUElzeW1ib2xzLmh0bWwiPlN5bWJvbHM8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5SZWxhdGVkIGxpbmtzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iaHR0cDovL21haWwuZ25vbWUub3JnL2FyY2hpdmVzL3htbC8iPk1haWwgYXJjaGl2ZTwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvWFNMVC8iPlhTTFQgbGlieHNsdDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vcGhkLmNzLnVuaWJvLml0L2dkb21lMi8iPkRPTSBnZG9tZTI8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5hbGVrc2V5LmNvbS94bWxzZWMvIj5YTUwtRFNpZyB4bWxzZWM8L2E+PC9saT48bGk+PGEgaHJlZj0iZnRwOi8veG1sc29mdC5vcmcvIj5GVFA8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56bGF0a292aWMuY29tL3Byb2plY3RzL2xpYnhtbC8iPldpbmRvd3MgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL29wZW5jc3cub3JnL3BhY2thZ2VzL2xpYnhtbDIiPlNvbGFyaXMgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5leHBsYWluLmNvbS5hdS9vc3MvbGlieG1sMnhzbHQuaHRtbCI+TWFjT3NYIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9seG1sLmRlLyI+bHhtbCBQeXRob24gYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2NwYW4udXdpbm5pcGVnLmNhL2Rpc3QvWE1MLUxpYlhNTCI+UGVybCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1scGx1c3BsdXMuc291cmNlZm9yZ2UubmV0LyI+QysrIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemVuZC5jb20vcGhwNS9hcnRpY2xlcy9waHA1LXhtbHBocC5waHAjSGVhZGluZzQiPlBIUCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2xpYnhtbDItcGFzLyI+UGFzY2FsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWwucnVieWZvcmdlLm9yZy8iPlJ1YnkgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3RjbHhtbC5zb3VyY2Vmb3JnZS5uZXQvIj5UY2wgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9idWdsaXN0LmNnaT9wcm9kdWN0PWxpYnhtbDIiPkJ1ZyBUcmFja2VyPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIzIiBjZWxsc3BhY2luZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHRhYmxlIGNsYXNzPSJuYXZpZ2F0aW9uIiB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBoZWFkZXIiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMiI+PHRyIHZhbGlnbj0ibWlkZGxlIj48dGQ+PGEgYWNjZXNza2V5PSJwIiBocmVmPSJsaWJ4bWwtdHJlZS5odG1sIj48aW1nIHNyYz0ibGVmdC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlByZXYiIC8+PC9hPjwvdGQ+PHRoIGFsaWduPSJsZWZ0Ij48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sIj50cmVlPC9hPjwvdGg+PHRkPjxhIGFjY2Vzc2tleT0idSIgaHJlZj0iaW5kZXguaHRtbCI+PGltZyBzcmM9InVwLnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iVXAiIC8+PC9hPjwvdGQ+PHRoIGFsaWduPSJsZWZ0Ij48YSBocmVmPSJpbmRleC5odG1sIj5BUEkgZG9jdW1lbnRhdGlvbjwvYT48L3RoPjx0ZD48YSBhY2Nlc3NrZXk9ImgiIGhyZWY9Ii4uL2luZGV4Lmh0bWwiPjxpbWcgc3JjPSJob21lLnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iSG9tZSIgLz48L2E+PC90ZD48dGggYWxpZ249ImNlbnRlciI+PGEgaHJlZj0iLi4vaW5kZXguaHRtbCI+VGhlIFhNTCBDIHBhcnNlciBhbmQgdG9vbGtpdCBvZiBHbm9tZTwvYT48L3RoPjx0aCBhbGlnbj0icmlnaHQiPjxhIGhyZWY9ImxpYnhtbC12YWxpZC5odG1sIj52YWxpZDwvYT48L3RoPjx0ZD48YSBhY2Nlc3NrZXk9Im4iIGhyZWY9ImxpYnhtbC12YWxpZC5odG1sIj48aW1nIHNyYz0icmlnaHQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJOZXh0IiAvPjwvYT48L3RkPjwvdHI+PC90YWJsZT48cD5saWJyYXJ5IG9mIGdlbmVyaWMgVVJJIHJlbGF0ZWQgcm91dGluZXMgSW1wbGVtZW50cyBSRkMgMjM5NiA8L3A+PGgyPlRhYmxlIG9mIENvbnRlbnRzPC9oMj48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+U3RydWN0dXJlIDxhIGhyZWY9IiN4bWxVUkkiPnhtbFVSSTwvYT48YnIgLz5zdHJ1Y3QgX3htbFVSSQorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlR5cGVkZWYgPGEgaHJlZj0ibGlieG1sLXVyaS5odG1sI3htbFVSSSI+eG1sVVJJPC9hPiAqIDxhIG5hbWU9InhtbFVSSVB0ciIgaWQ9InhtbFVSSVB0ciI+eG1sVVJJUHRyPC9hPgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxCdWlsZFJlbGF0aXZlVVJJIj54bWxCdWlsZFJlbGF0aXZlVVJJPC9hPgkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogVVJJLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBiYXNlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxCdWlsZFVSSSI+eG1sQnVpbGRVUkk8L2E+CQkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogVVJJLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBiYXNlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxDYW5vbmljUGF0aCI+eG1sQ2Fub25pY1BhdGg8L2E+CQkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcGF0aCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdXJpLmh0bWwjeG1sVVJJUHRyIj54bWxVUklQdHI8L2E+CTxhIGhyZWY9IiN4bWxDcmVhdGVVUkkiPnhtbENyZWF0ZVVSSTwvYT4JCSh2b2lkKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbEZyZWVVUkkiPnhtbEZyZWVVUkk8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbC11cmkuaHRtbCN4bWxVUklQdHIiPnhtbFVSSVB0cjwvYT4gdXJpKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sTm9ybWFsaXplVVJJUGF0aCI+eG1sTm9ybWFsaXplVVJJUGF0aDwvYT4JCShjaGFyICogcGF0aCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdXJpLmh0bWwjeG1sVVJJUHRyIj54bWxVUklQdHI8L2E+CTxhIGhyZWY9IiN4bWxQYXJzZVVSSSI+eG1sUGFyc2VVUkk8L2E+CQkoY29uc3QgY2hhciAqIHN0cik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdXJpLmh0bWwjeG1sVVJJUHRyIj54bWxVUklQdHI8L2E+CTxhIGhyZWY9IiN4bWxQYXJzZVVSSVJhdyI+eG1sUGFyc2VVUklSYXc8L2E+CQkoY29uc3QgY2hhciAqIHN0ciwgPGJyIC8+CQkJCQkgaW50IHJhdyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFBhcnNlVVJJUmVmZXJlbmNlIj54bWxQYXJzZVVSSVJlZmVyZW5jZTwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtdXJpLmh0bWwjeG1sVVJJUHRyIj54bWxVUklQdHI8L2E+IHVyaSwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIHN0cik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sUGF0aFRvVVJJIj54bWxQYXRoVG9VUkk8L2E+CQkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcGF0aCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxQcmludFVSSSI+eG1sUHJpbnRVUkk8L2E+CQkJKEZJTEUgKiBzdHJlYW0sIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC11cmkuaHRtbCN4bWxVUklQdHIiPnhtbFVSSVB0cjwvYT4gdXJpKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxTYXZlVXJpIj54bWxTYXZlVXJpPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC11cmkuaHRtbCN4bWxVUklQdHIiPnhtbFVSSVB0cjwvYT4gdXJpKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxVUklFc2NhcGUiPnhtbFVSSUVzY2FwZTwvYT4JCShjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzdHIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbFVSSUVzY2FwZVN0ciI+eG1sVVJJRXNjYXBlU3RyPC9hPgkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0ciwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbGlzdCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5jaGFyICoJPGEgaHJlZj0iI3htbFVSSVVuZXNjYXBlU3RyaW5nIj54bWxVUklVbmVzY2FwZVN0cmluZzwvYT4JCShjb25zdCBjaGFyICogc3RyLCA8YnIgLz4JCQkJCSBpbnQgbGVuLCA8YnIgLz4JCQkJCSBjaGFyICogdGFyZ2V0KTwvcHJlPgorPGgyPkRlc2NyaXB0aW9uPC9oMj4KKzxoMz48YSBuYW1lPSJ4bWxVUkkiIGlkPSJ4bWxVUkkiPlN0cnVjdHVyZSB4bWxVUkk8L2E+PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+U3RydWN0dXJlIHhtbFVSSTxiciAvPnN0cnVjdCBfeG1sVVJJIHsKKyAgICBjaGFyICoJc2NoZW1lCTogdGhlIFVSSSBzY2hlbWUKKyAgICBjaGFyICoJb3BhcXVlCTogb3BhcXVlIHBhcnQKKyAgICBjaGFyICoJYXV0aG9yaXR5CTogdGhlIGF1dGhvcml0eSBwYXJ0CisgICAgY2hhciAqCXNlcnZlcgk6IHRoZSBzZXJ2ZXIgcGFydAorICAgIGNoYXIgKgl1c2VyCTogdGhlIHVzZXIgcGFydAorICAgIGludAlwb3J0CTogdGhlIHBvcnQgbnVtYmVyCisgICAgY2hhciAqCXBhdGgJOiB0aGUgcGF0aCBzdHJpbmcKKyAgICBjaGFyICoJcXVlcnkJOiB0aGUgcXVlcnkgc3RyaW5nIChkZXByZWNhdGVkIC0gdXNlIHdpdGgKKyAgICBjaGFyICoJZnJhZ21lbnQJOiB0aGUgZnJhZ21lbnQgaWRlbnRpZmllcgorICAgIGludAljbGVhbnVwCTogcGFyc2luZyBwb3RlbnRpYWxseSB1bmNsZWFuIFVSSQorICAgIGNoYXIgKglxdWVyeV9yYXcJOiB0aGUgcXVlcnkgc3RyaW5nIChhcyBpdCBhcHBlYXJzIGluIHRoZQorfTwvcHJlPjxoMz48YSBuYW1lPSJ4bWxCdWlsZFJlbGF0aXZlVVJJIiBpZD0ieG1sQnVpbGRSZWxhdGl2ZVVSSSI+PC9hPkZ1bmN0aW9uOiB4bWxCdWlsZFJlbGF0aXZlVVJJPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sQnVpbGRSZWxhdGl2ZVVSSQkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogVVJJLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBiYXNlKTxiciAvPgorPC9wcmU+PHA+RXhwcmVzc2VzIHRoZSBVUkkgb2YgdGhlIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNyZWZlcmVuY2UiPnJlZmVyZW5jZTwvYT4gaW4gdGVybXMgcmVsYXRpdmUgdG8gdGhlIGJhc2UuIFNvbWUgZXhhbXBsZXMgb2YgdGhpcyBvcGVyYXRpb24gaW5jbHVkZTogYmFzZSA9ICJodHRwOi8vc2l0ZTEuY29tL2RvY3MvYm9vazEuaHRtbCIgVVJJIGlucHV0IFVSSSByZXR1cm5lZCBkb2NzL3BpYzEuZ2lmIHBpYzEuZ2lmIGRvY3MvaW1nL3BpYzEuZ2lmIGltZy9waWMxLmdpZiBpbWcvcGljMS5naWYgLi4vaW1nL3BpYzEuZ2lmIGh0dHA6Ly9zaXRlMS5jb20vZG9jcy9waWMxLmdpZiBwaWMxLmdpZiBodHRwOi8vc2l0ZTIuY29tL2RvY3MvcGljMS5naWYgaHR0cDovL3NpdGUyLmNvbS9kb2NzL3BpYzEuZ2lmIGJhc2UgPSAiZG9jcy9ib29rMS5odG1sIiBVUkkgaW5wdXQgVVJJIHJldHVybmVkIGRvY3MvcGljMS5naWYgcGljMS5naWYgZG9jcy9pbWcvcGljMS5naWYgaW1nL3BpYzEuZ2lmIGltZy9waWMxLmdpZiAuLi9pbWcvcGljMS5naWYgaHR0cDovL3NpdGUxLmNvbS9kb2NzL3BpYzEuZ2lmIGh0dHA6Ly9zaXRlMS5jb20vZG9jcy9waWMxLmdpZiBOb3RlOiBpZiB0aGUgVVJJIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNyZWZlcmVuY2UiPnJlZmVyZW5jZTwvYT4gaXMgcmVhbGx5IHdpZXJkIG9yIGNvbXBsaWNhdGVkLCBpdCBtYXkgYmUgd29ydGh3aGlsZSB0byBmaXJzdCBjb252ZXJ0IGl0IGludG8gYSAibmljZSIgb25lIGJ5IGNhbGxpbmcgPGEgaHJlZj0ibGlieG1sLXVyaS5odG1sI3htbEJ1aWxkVVJJIj54bWxCdWlsZFVSSTwvYT4gKHVzaW5nICdiYXNlJykgYmVmb3JlIGNhbGxpbmcgdGhpcyByb3V0aW5lLCBzaW5jZSB0aGlzIHJvdXRpbmUgKGZvciByZWFzb25hYmxlIGVmZmljaWVuY3kpIGFzc3VtZXMgVVJJIGhhcyBhbHJlYWR5IGJlZW4gdGhyb3VnaCBzb21lIHZhbGlkYXRpb24uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+VVJJPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgVVJJIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNyZWZlcmVuY2UiPnJlZmVyZW5jZTwvYT4gdW5kZXIgY29uc2lkZXJhdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YmFzZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJhc2UgdmFsdWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbmV3IFVSSSBzdHJpbmcgKHRvIGJlIGZyZWVkIGJ5IHRoZSBjYWxsZXIpIG9yIE5VTEwgaW4gY2FzZSBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxCdWlsZFVSSSIgaWQ9InhtbEJ1aWxkVVJJIj48L2E+RnVuY3Rpb246IHhtbEJ1aWxkVVJJPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sQnVpbGRVUkkJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBVUkksIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGJhc2UpPGJyIC8+Cis8L3ByZT48cD5Db21wdXRlcyBoZSBmaW5hbCBVUkkgb2YgdGhlIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNyZWZlcmVuY2UiPnJlZmVyZW5jZTwvYT4gZG9uZSBieSBjaGVja2luZyB0aGF0IHRoZSBnaXZlbiBVUkkgaXMgdmFsaWQsIGFuZCBidWlsZGluZyB0aGUgZmluYWwgVVJJIHVzaW5nIHRoZSBiYXNlIFVSSS4gVGhpcyBpcyBwcm9jZXNzZWQgYWNjb3JkaW5nIHRvIHNlY3Rpb24gNS4yIG9mIHRoZSBSRkMgMjM5NiA1LjIuIFJlc29sdmluZyBSZWxhdGl2ZSBSZWZlcmVuY2VzIHRvIEFic29sdXRlIEZvcm08L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5VUkk8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBVUkkgaW5zdGFuY2UgZm91bmQgaW4gdGhlIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5iYXNlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYmFzZSB2YWx1ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBuZXcgVVJJIHN0cmluZyAodG8gYmUgZnJlZWQgYnkgdGhlIGNhbGxlcikgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbENhbm9uaWNQYXRoIiBpZD0ieG1sQ2Fub25pY1BhdGgiPjwvYT5GdW5jdGlvbjogeG1sQ2Fub25pY1BhdGg8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxDYW5vbmljUGF0aAkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHBhdGgpPGJyIC8+Cis8L3ByZT48cD5Db25zdHJ1Y3RzIGEgY2Fub25pYyBwYXRoIGZyb20gdGhlIHNwZWNpZmllZCBwYXRoLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnBhdGg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSByZXNvdXJjZSBsb2NhdG9yIGluIGEgZmlsZXN5c3RlbSBub3RhdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBuZXcgY2Fub25pYyBwYXRoLCBvciBhIGR1cGxpY2F0ZSBvZiB0aGUgcGF0aCBwYXJhbWV0ZXIgaWYgdGhlIGNvbnN0cnVjdGlvbiBmYWlscy4gVGhlIGNhbGxlciBpcyByZXNwb25zaWJsZSBmb3IgZnJlZWluZyB0aGUgbWVtb3J5IG9jY3VwaWVkIGJ5IHRoZSByZXR1cm5lZCBzdHJpbmcuIElmIHRoZXJlIGlzIGluc3VmZmljaWVudCBtZW1vcnkgYXZhaWxhYmxlLCBvciB0aGUgYXJndW1lbnQgaXMgTlVMTCwgdGhlIGZ1bmN0aW9uIHJldHVybnMgTlVMTC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxDcmVhdGVVUkkiIGlkPSJ4bWxDcmVhdGVVUkkiPjwvYT5GdW5jdGlvbjogeG1sQ3JlYXRlVVJJPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXVyaS5odG1sI3htbFVSSVB0ciI+eG1sVVJJUHRyPC9hPgl4bWxDcmVhdGVVUkkJCSh2b2lkKTxiciAvPgorPC9wcmU+PHA+U2ltcGx5IGNyZWF0ZXMgYW4gZW1wdHkgPGEgaHJlZj0ibGlieG1sLXVyaS5odG1sI3htbFVSSSI+eG1sVVJJPC9hPjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXcgc3RydWN0dXJlIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEZyZWVVUkkiIGlkPSJ4bWxGcmVlVVJJIj48L2E+RnVuY3Rpb246IHhtbEZyZWVVUkk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbEZyZWVVUkkJCQkoPGEgaHJlZj0ibGlieG1sLXVyaS5odG1sI3htbFVSSVB0ciI+eG1sVVJJUHRyPC9hPiB1cmkpPGJyIC8+Cis8L3ByZT48cD5GcmVlIHVwIHRoZSA8YSBocmVmPSJsaWJ4bWwtdXJpLmh0bWwjeG1sVVJJIj54bWxVUkk8L2E+IHN0cnVjdDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnVyaTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+cG9pbnRlciB0byBhbiA8YSBocmVmPSJsaWJ4bWwtdXJpLmh0bWwjeG1sVVJJIj54bWxVUkk8L2E+PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sTm9ybWFsaXplVVJJUGF0aCIgaWQ9InhtbE5vcm1hbGl6ZVVSSVBhdGgiPjwvYT5GdW5jdGlvbjogeG1sTm9ybWFsaXplVVJJUGF0aDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxOb3JtYWxpemVVUklQYXRoCQkoY2hhciAqIHBhdGgpPGJyIC8+Cis8L3ByZT48cD5BcHBsaWVzIHRoZSA1IG5vcm1hbGl6YXRpb24gc3RlcHMgdG8gYSBwYXRoIHN0cmluZy0tdGhhdCBpcywgUkZDIDIzOTYgU2VjdGlvbiA1LjIsIHN0ZXBzIDYuYyB0aHJvdWdoIDYuZy4gTm9ybWFsaXphdGlvbiBvY2N1cnMgZGlyZWN0bHkgb24gdGhlIHN0cmluZywgbm8gbmV3IGFsbG9jYXRpb24gaXMgZG9uZTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnBhdGg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnBvaW50ZXIgdG8gdGhlIHBhdGggc3RyaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIG9yIGFuIGVycm9yIGNvZGU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxQYXJzZVVSSSIgaWQ9InhtbFBhcnNlVVJJIj48L2E+RnVuY3Rpb246IHhtbFBhcnNlVVJJPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXVyaS5odG1sI3htbFVSSVB0ciI+eG1sVVJJUHRyPC9hPgl4bWxQYXJzZVVSSQkJKGNvbnN0IGNoYXIgKiBzdHIpPGJyIC8+Cis8L3ByZT48cD5QYXJzZSBhbiBVUkkgYmFzZWQgb24gUkZDIDM5ODYgVVJJLXJlZmVyZW5jZSA9IFsgYWJzb2x1dGVVUkkgfCByZWxhdGl2ZVVSSSBdIFsgIiMiIGZyYWdtZW50IF08L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdHI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBVUkkgc3RyaW5nIHRvIGFuYWx5emU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbmV3bHkgYnVpbHQgPGEgaHJlZj0ibGlieG1sLXVyaS5odG1sI3htbFVSSVB0ciI+eG1sVVJJUHRyPC9hPiBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxQYXJzZVVSSVJhdyIgaWQ9InhtbFBhcnNlVVJJUmF3Ij48L2E+RnVuY3Rpb246IHhtbFBhcnNlVVJJUmF3PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXVyaS5odG1sI3htbFVSSVB0ciI+eG1sVVJJUHRyPC9hPgl4bWxQYXJzZVVSSVJhdwkJKGNvbnN0IGNoYXIgKiBzdHIsIDxiciAvPgkJCQkJIGludCByYXcpPGJyIC8+Cis8L3ByZT48cD5QYXJzZSBhbiBVUkkgYnV0IGFsbG93cyB0byBrZWVwIGludGFjdCB0aGUgb3JpZ2luYWwgZnJhZ21lbnRzLiBVUkktcmVmZXJlbmNlID0gVVJJIC8gcmVsYXRpdmUtcmVmPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3RyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgVVJJIHN0cmluZyB0byBhbmFseXplPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yYXc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmlmIDEgdW5lc2NhcGluZyBvZiBVUkkgcGllY2VzIGFyZSBkaXNhYmxlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBuZXdseSBidWlsdCA8YSBocmVmPSJsaWJ4bWwtdXJpLmh0bWwjeG1sVVJJUHRyIj54bWxVUklQdHI8L2E+IG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFBhcnNlVVJJUmVmZXJlbmNlIiBpZD0ieG1sUGFyc2VVUklSZWZlcmVuY2UiPjwvYT5GdW5jdGlvbjogeG1sUGFyc2VVUklSZWZlcmVuY2U8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sUGFyc2VVUklSZWZlcmVuY2UJCSg8YSBocmVmPSJsaWJ4bWwtdXJpLmh0bWwjeG1sVVJJUHRyIj54bWxVUklQdHI8L2E+IHVyaSwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIHN0cik8YnIgLz4KKzwvcHJlPjxwPlBhcnNlIGFuIFVSSSA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjcmVmZXJlbmNlIj5yZWZlcmVuY2U8L2E+IHN0cmluZyBiYXNlZCBvbiBSRkMgMzk4NiBhbmQgZmlsbHMgaW4gdGhlIGFwcHJvcHJpYXRlIGZpZWxkcyBvZiB0aGUgQHVyaSBzdHJ1Y3R1cmUgVVJJLXJlZmVyZW5jZSA9IFVSSSAvIHJlbGF0aXZlLXJlZjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnVyaTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+cG9pbnRlciB0byBhbiBVUkkgc3RydWN0dXJlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdHI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzdHJpbmcgdG8gYW5hbHl6ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBvciB0aGUgZXJyb3IgY29kZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFBhdGhUb1VSSSIgaWQ9InhtbFBhdGhUb1VSSSI+PC9hPkZ1bmN0aW9uOiB4bWxQYXRoVG9VUkk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxQYXRoVG9VUkkJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwYXRoKTxiciAvPgorPC9wcmU+PHA+Q29uc3RydWN0cyBhbiBVUkkgZXhwcmVzc2luZyB0aGUgZXhpc3RpbmcgcGF0aDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnBhdGg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSByZXNvdXJjZSBsb2NhdG9yIGluIGEgZmlsZXN5c3RlbSBub3RhdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBuZXcgVVJJLCBvciBhIGR1cGxpY2F0ZSBvZiB0aGUgcGF0aCBwYXJhbWV0ZXIgaWYgdGhlIGNvbnN0cnVjdGlvbiBmYWlscy4gVGhlIGNhbGxlciBpcyByZXNwb25zaWJsZSBmb3IgZnJlZWluZyB0aGUgbWVtb3J5IG9jY3VwaWVkIGJ5IHRoZSByZXR1cm5lZCBzdHJpbmcuIElmIHRoZXJlIGlzIGluc3VmZmljaWVudCBtZW1vcnkgYXZhaWxhYmxlLCBvciB0aGUgYXJndW1lbnQgaXMgTlVMTCwgdGhlIGZ1bmN0aW9uIHJldHVybnMgTlVMTC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxQcmludFVSSSIgaWQ9InhtbFByaW50VVJJIj48L2E+RnVuY3Rpb246IHhtbFByaW50VVJJPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxQcmludFVSSQkJCShGSUxFICogc3RyZWFtLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdXJpLmh0bWwjeG1sVVJJUHRyIj54bWxVUklQdHI8L2E+IHVyaSk8YnIgLz4KKzwvcHJlPjxwPlByaW50cyB0aGUgVVJJIGluIHRoZSBzdHJlYW0gQHN0cmVhbS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdHJlYW08L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgRklMRSogZm9yIHRoZSBvdXRwdXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnVyaTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+cG9pbnRlciB0byBhbiA8YSBocmVmPSJsaWJ4bWwtdXJpLmh0bWwjeG1sVVJJIj54bWxVUkk8L2E+PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU2F2ZVVyaSIgaWQ9InhtbFNhdmVVcmkiPjwvYT5GdW5jdGlvbjogeG1sU2F2ZVVyaTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbFNhdmVVcmkJCSg8YSBocmVmPSJsaWJ4bWwtdXJpLmh0bWwjeG1sVVJJUHRyIj54bWxVUklQdHI8L2E+IHVyaSk8YnIgLz4KKzwvcHJlPjxwPlNhdmUgdGhlIFVSSSBhcyBhbiBlc2NhcGVkIHN0cmluZzwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnVyaTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+cG9pbnRlciB0byBhbiA8YSBocmVmPSJsaWJ4bWwtdXJpLmh0bWwjeG1sVVJJIj54bWxVUkk8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIG5ldyBzdHJpbmcgKHRvIGJlIGRlYWxsb2NhdGVkIGJ5IGNhbGxlcik8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxVUklFc2NhcGUiIGlkPSJ4bWxVUklFc2NhcGUiPjwvYT5GdW5jdGlvbjogeG1sVVJJRXNjYXBlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sVVJJRXNjYXBlCQkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3RyKTxiciAvPgorPC9wcmU+PHA+RXNjYXBpbmcgcm91dGluZSwgZG9lcyBub3QgZG8gdmFsaWRpdHkgY2hlY2tzICEgSXQgd2lsbCB0cnkgdG8gZXNjYXBlIHRoZSBjaGFycyBuZWVkaW5nIHRoaXMsIGJ1dCB0aGlzIGlzIGhldXJpc3RpYyBiYXNlZCBpdCdzIGltcG9zc2libGUgdG8gYmUgc3VyZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdHI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzdHJpbmcgb2YgdGhlIFVSSSB0byBlc2NhcGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIGNvcHkgb2YgdGhlIHN0cmluZywgYnV0IGVzY2FwZWQgMjUgTWF5IDIwMDEgVXNlcyA8YSBocmVmPSJsaWJ4bWwtdXJpLmh0bWwjeG1sUGFyc2VVUkkiPnhtbFBhcnNlVVJJPC9hPiBhbmQgPGEgaHJlZj0ibGlieG1sLXVyaS5odG1sI3htbFVSSUVzY2FwZVN0ciI+eG1sVVJJRXNjYXBlU3RyPC9hPiB0byB0cnkgdG8gZXNjYXBlIGNvcnJlY3RseSBhY2NvcmRpbmcgdG8gUkZDMjM5Ni4gLSBDYXJsIERvdWdsYXM8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxVUklFc2NhcGVTdHIiIGlkPSJ4bWxVUklFc2NhcGVTdHIiPjwvYT5GdW5jdGlvbjogeG1sVVJJRXNjYXBlU3RyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sVVJJRXNjYXBlU3RyCQkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3RyLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBsaXN0KTxiciAvPgorPC9wcmU+PHA+VGhpcyByb3V0aW5lIGVzY2FwZXMgYSBzdHJpbmcgdG8gaGV4LCBpZ25vcmluZyByZXNlcnZlZCA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjY2hhcmFjdGVycyI+Y2hhcmFjdGVyczwvYT4gKGEteikgYW5kIHRoZSA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjY2hhcmFjdGVycyI+Y2hhcmFjdGVyczwvYT4gaW4gdGhlIGV4Y2VwdGlvbiBsaXN0LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+c3RyaW5nIHRvIGVzY2FwZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGlzdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+ZXhjZXB0aW9uIGxpc3Qgc3RyaW5nIG9mIGNoYXJzIG5vdCB0byBlc2NhcGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbmV3IGVzY2FwZWQgc3RyaW5nIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxVUklVbmVzY2FwZVN0cmluZyIgaWQ9InhtbFVSSVVuZXNjYXBlU3RyaW5nIj48L2E+RnVuY3Rpb246IHhtbFVSSVVuZXNjYXBlU3RyaW5nPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Y2hhciAqCXhtbFVSSVVuZXNjYXBlU3RyaW5nCQkoY29uc3QgY2hhciAqIHN0ciwgPGJyIC8+CQkJCQkgaW50IGxlbiwgPGJyIC8+CQkJCQkgY2hhciAqIHRhcmdldCk8YnIgLz4KKzwvcHJlPjxwPlVuZXNjYXBpbmcgcm91dGluZSwgYnV0IGRvZXMgbm90IGNoZWNrIHRoYXQgdGhlIHN0cmluZyBpcyBhbiBVUkkuIFRoZSBvdXRwdXQgaXMgYSBkaXJlY3QgdW5zaWduZWQgY2hhciB0cmFuc2xhdGlvbiBvZiAlWFggdmFsdWVzIChubyBlbmNvZGluZykgTm90ZSB0aGF0IHRoZSBsZW5ndGggb2YgdGhlIHJlc3VsdCBjYW4gb25seSBiZSBzbWFsbGVyIG9yIHNhbWUgc2l6ZSBhcyB0aGUgaW5wdXQgc3RyaW5nLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHN0cmluZyB0byB1bmVzY2FwZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGVuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbGVuZ3RoIGluIGJ5dGVzIHRvIHVuZXNjYXBlIChvciAmbHQ7PSAwIHRvIGluZGljYXRlIGZ1bGwgc3RyaW5nKTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dGFyZ2V0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5vcHRpb25hbCBkZXN0aW5hdGlvbiBidWZmZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgY29weSBvZiB0aGUgc3RyaW5nLCBidXQgdW5lc2NhcGVkLCB3aWxsIHJldHVybiBOVUxMIG9ubHkgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PHA+PGEgaHJlZj0iLi4vYnVncy5odG1sIj5EYW5pZWwgVmVpbGxhcmQ8L2E+PC9wPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9odG1sL2xpYnhtbC12YWxpZC5odG1sIGIvbGlieG1sMi9kb2MvaHRtbC9saWJ4bWwtdmFsaWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NGRmNDM2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvaHRtbC9saWJ4bWwtdmFsaWQuaHRtbApAQCAtMCwwICsxLDI4OSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIj4KKzxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj48aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz48bGluayByZWw9IlNIT1JUQ1VUIElDT04iIGhyZWY9Ii9mYXZpY29uLmljbyIgLz48c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorVEQge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0JPRFkge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYTsgbWFyZ2luLXRvcDogMmVtOyBtYXJnaW4tbGVmdDogMGVtOyBtYXJnaW4tcmlnaHQ6IDBlbX0KK0gxIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMiB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDMge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0E6bGluaywgQTp2aXNpdGVkLCBBOmFjdGl2ZSB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIH0KKzwvc3R5bGU+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKyAgICAgIGRpdi5kZXByZWNhdGVkIHByZS5wcm9ncmFtbGlzdGluZyB7Ym9yZGVyLXN0eWxlOiBkb3VibGU7Ym9yZGVyLWNvbG9yOnJlZH0KKyAgICAgIHByZS5wcm9ncmFtbGlzdGluZyB7Ym9yZGVyLXN0eWxlOiBkb3VibGU7YmFja2dyb3VuZDogI0VFQ0ZBMX0KKyAgICA8L3N0eWxlPjx0aXRsZT5Nb2R1bGUgdmFsaWQgZnJvbSBsaWJ4bWwyPC90aXRsZT48L2hlYWQ+PGJvZHkgYmdjb2xvcj0iIzhiNzc2NSIgdGV4dD0iIzAwMDAwMCIgbGluaz0iI2EwNjA2MCIgdmxpbms9IiMwMDAwMDAiPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSIxMDAlIiBjZWxscGFkZGluZz0iNSIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgd2lkdGg9IjEyMCI+PGEgaHJlZj0iaHR0cDovL3N3cGF0LmZmaWkub3JnLyI+PGltZyBzcmM9Ii4uL2VwYXRlbnRzLnBuZyIgYWx0PSJBY3Rpb24gYWdhaW5zdCBzb2Z0d2FyZSBwYXRlbnRzIiAvPjwvYT48L3RkPjx0ZCB3aWR0aD0iMTgwIj48YSBocmVmPSJodHRwOi8vd3d3Lmdub21lLm9yZy8iPjxpbWcgc3JjPSIuLi9nbm9tZTIucG5nIiBhbHQ9Ikdub21lMiBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9TdGF0dXMiPjxpbWcgc3JjPSIuLi93M2MucG5nIiBhbHQ9IlczQyBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnJlZGhhdC5jb20vIj48aW1nIHNyYz0iLi4vcmVkaGF0LmdpZiIgYWx0PSJSZWQgSGF0IExvZ28iIC8+PC9hPjxkaXYgYWxpZ249ImxlZnQiPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy8iPjxpbWcgc3JjPSIuLi9MaWJ4bWwyLUxvZ28tMTgweDE2OC5naWYiIGFsdD0iTWFkZSB3aXRoIExpYnhtbDIgTG9nbyIgLz48L2E+PC9kaXY+PC90ZD48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjkwJSIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiIGJnY29sb3I9IiNmZmZhY2QiPjx0cj48dGQgYWxpZ249ImNlbnRlciI+PGgxPjwvaDE+PGgyPk1vZHVsZSB2YWxpZCBmcm9tIGxpYnhtbDI8L2gyPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI0IiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCB2YWxpZ249InRvcCIgd2lkdGg9IjIwMCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+QVBJIE1lbnU8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PGZvcm0gYWN0aW9uPSIuLi9zZWFyY2gucGhwIiBlbmN0eXBlPSJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiIG1ldGhvZD0iZ2V0Ij48aW5wdXQgbmFtZT0icXVlcnkiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iIiAvPjxpbnB1dCBuYW1lPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNlYXJjaCAuLi4iIC8+PC9mb3JtPjx1bD48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9Ii4uL2luZGV4Lmh0bWwiPk1haW4gTWVudTwvYT48L2xpPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iLi4vZG9jcy5odG1sIj5EZXZlbG9wZXIgTWVudTwvYT48L2xpPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iLi4vZXhhbXBsZXMvaW5kZXguaHRtbCI+Q29kZSBFeGFtcGxlczwvYT48L2xpPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iaW5kZXguaHRtbCI+QVBJIE1lbnU8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXBhcnNlci5odG1sIj5QYXJzZXIgQVBJPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwiPlRyZWUgQVBJPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCI+UmVhZGVyIEFQSTwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9ndWlkZWxpbmVzLmh0bWwiPlhNTCBHdWlkZWxpbmVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0NoYW5nZUxvZy5odG1sIj5DaGFuZ2VMb2c8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5BUEkgSW5kZXhlczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9Ii4uL0FQSWNodW5rMC5odG1sIj5BbHBoYWJldGljPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSWNvbnN0cnVjdG9ycy5odG1sIj5Db25zdHJ1Y3RvcnM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJZnVuY3Rpb25zLmh0bWwiPkZ1bmN0aW9ucy9UeXBlczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUElmaWxlcy5odG1sIj5Nb2R1bGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSXN5bWJvbHMuaHRtbCI+U3ltYm9sczwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPlJlbGF0ZWQgbGlua3M8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSJodHRwOi8vbWFpbC5nbm9tZS5vcmcvYXJjaGl2ZXMveG1sLyI+TWFpbCBhcmNoaXZlPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9YU0xULyI+WFNMVCBsaWJ4c2x0PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9waGQuY3MudW5pYm8uaXQvZ2RvbWUyLyI+RE9NIGdkb21lMjwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmFsZWtzZXkuY29tL3htbHNlYy8iPlhNTC1EU2lnIHhtbHNlYzwvYT48L2xpPjxsaT48YSBocmVmPSJmdHA6Ly94bWxzb2Z0Lm9yZy8iPkZUUDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnpsYXRrb3ZpYy5jb20vcHJvamVjdHMvbGlieG1sLyI+V2luZG93cyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vb3BlbmNzdy5vcmcvcGFja2FnZXMvbGlieG1sMiI+U29sYXJpcyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmV4cGxhaW4uY29tLmF1L29zcy9saWJ4bWwyeHNsdC5odG1sIj5NYWNPc1ggYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2x4bWwuZGUvIj5seG1sIFB5dGhvbiBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vY3Bhbi51d2lubmlwZWcuY2EvZGlzdC9YTUwtTGliWE1MIj5QZXJsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWxwbHVzcGx1cy5zb3VyY2Vmb3JnZS5uZXQvIj5DKysgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56ZW5kLmNvbS9waHA1L2FydGljbGVzL3BocDUteG1scGhwLnBocCNIZWFkaW5nNCI+UEhQIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbGlieG1sMi1wYXMvIj5QYXNjYWwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbC5ydWJ5Zm9yZ2Uub3JnLyI+UnVieSBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vdGNseG1sLnNvdXJjZWZvcmdlLm5ldC8iPlRjbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2J1Z2xpc3QuY2dpP3Byb2R1Y3Q9bGlieG1sMiI+QnVnIFRyYWNrZXI8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dGFibGUgY2xhc3M9Im5hdmlnYXRpb24iIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIyIj48dHIgdmFsaWduPSJtaWRkbGUiPjx0ZD48YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImxpYnhtbC11cmkuaHRtbCI+PGltZyBzcmM9ImxlZnQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJQcmV2IiAvPjwvYT48L3RkPjx0aCBhbGlnbj0ibGVmdCI+PGEgaHJlZj0ibGlieG1sLXVyaS5odG1sIj51cmk8L2E+PC90aD48dGQ+PGEgYWNjZXNza2V5PSJ1IiBocmVmPSJpbmRleC5odG1sIj48aW1nIHNyYz0idXAucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJVcCIgLz48L2E+PC90ZD48dGggYWxpZ249ImxlZnQiPjxhIGhyZWY9ImluZGV4Lmh0bWwiPkFQSSBkb2N1bWVudGF0aW9uPC9hPjwvdGg+PHRkPjxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iLi4vaW5kZXguaHRtbCI+PGltZyBzcmM9ImhvbWUucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJIb21lIiAvPjwvYT48L3RkPjx0aCBhbGlnbj0iY2VudGVyIj48YSBocmVmPSIuLi9pbmRleC5odG1sIj5UaGUgWE1MIEMgcGFyc2VyIGFuZCB0b29sa2l0IG9mIEdub21lPC9hPjwvdGg+PHRoIGFsaWduPSJyaWdodCI+PGEgaHJlZj0ibGlieG1sLXhpbmNsdWRlLmh0bWwiPnhpbmNsdWRlPC9hPjwvdGg+PHRkPjxhIGFjY2Vzc2tleT0ibiIgaHJlZj0ibGlieG1sLXhpbmNsdWRlLmh0bWwiPjxpbWcgc3JjPSJyaWdodC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9Ik5leHQiIC8+PC9hPjwvdGQ+PC90cj48L3RhYmxlPjxwPkFQSSBmb3IgdGhlIERURCBoYW5kbGluZyBhbmQgdGhlIHZhbGlkaXR5IGNoZWNraW5nIDwvcD48aDI+VGFibGUgb2YgQ29udGVudHM8L2gyPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfQ1RYVF9GSU5JU0hfRFREXzAiPlhNTF9DVFhUX0ZJTklTSF9EVERfMDwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWE1MX0NUWFRfRklOSVNIX0RURF8xIj5YTUxfQ1RYVF9GSU5JU0hfRFREXzE8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlN0cnVjdHVyZSA8YSBocmVmPSIjeG1sQXR0cmlidXRlVGFibGUiPnhtbEF0dHJpYnV0ZVRhYmxlPC9hPjxiciAvPnN0cnVjdCBfeG1sSGFzaFRhYmxlCitUaGUgY29udGVudCBvZiB0aGlzIHN0cnVjdHVyZSBpcyBub3QgbWFkZSBwdWJsaWMgYnkgdGhlIEFQSS4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5UeXBlZGVmIDxhIGhyZWY9ImxpYnhtbC12YWxpZC5odG1sI3htbEF0dHJpYnV0ZVRhYmxlIj54bWxBdHRyaWJ1dGVUYWJsZTwvYT4gKiA8YSBuYW1lPSJ4bWxBdHRyaWJ1dGVUYWJsZVB0ciIgaWQ9InhtbEF0dHJpYnV0ZVRhYmxlUHRyIj54bWxBdHRyaWJ1dGVUYWJsZVB0cjwvYT4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgPGEgaHJlZj0iI3htbEVsZW1lbnRUYWJsZSI+eG1sRWxlbWVudFRhYmxlPC9hPjxiciAvPnN0cnVjdCBfeG1sSGFzaFRhYmxlCitUaGUgY29udGVudCBvZiB0aGlzIHN0cnVjdHVyZSBpcyBub3QgbWFkZSBwdWJsaWMgYnkgdGhlIEFQSS4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5UeXBlZGVmIDxhIGhyZWY9ImxpYnhtbC12YWxpZC5odG1sI3htbEVsZW1lbnRUYWJsZSI+eG1sRWxlbWVudFRhYmxlPC9hPiAqIDxhIG5hbWU9InhtbEVsZW1lbnRUYWJsZVB0ciIgaWQ9InhtbEVsZW1lbnRUYWJsZVB0ciI+eG1sRWxlbWVudFRhYmxlUHRyPC9hPgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlN0cnVjdHVyZSA8YSBocmVmPSIjeG1sSURUYWJsZSI+eG1sSURUYWJsZTwvYT48YnIgLz5zdHJ1Y3QgX3htbEhhc2hUYWJsZQorVGhlIGNvbnRlbnQgb2YgdGhpcyBzdHJ1Y3R1cmUgaXMgbm90IG1hZGUgcHVibGljIGJ5IHRoZSBBUEkuCis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+VHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwtdmFsaWQuaHRtbCN4bWxJRFRhYmxlIj54bWxJRFRhYmxlPC9hPiAqIDxhIG5hbWU9InhtbElEVGFibGVQdHIiIGlkPSJ4bWxJRFRhYmxlUHRyIj54bWxJRFRhYmxlUHRyPC9hPgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlN0cnVjdHVyZSA8YSBocmVmPSIjeG1sTm90YXRpb25UYWJsZSI+eG1sTm90YXRpb25UYWJsZTwvYT48YnIgLz5zdHJ1Y3QgX3htbEhhc2hUYWJsZQorVGhlIGNvbnRlbnQgb2YgdGhpcyBzdHJ1Y3R1cmUgaXMgbm90IG1hZGUgcHVibGljIGJ5IHRoZSBBUEkuCis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+VHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwtdmFsaWQuaHRtbCN4bWxOb3RhdGlvblRhYmxlIj54bWxOb3RhdGlvblRhYmxlPC9hPiAqIDxhIG5hbWU9InhtbE5vdGF0aW9uVGFibGVQdHIiIGlkPSJ4bWxOb3RhdGlvblRhYmxlUHRyIj54bWxOb3RhdGlvblRhYmxlUHRyPC9hPgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlN0cnVjdHVyZSA8YSBocmVmPSIjeG1sUmVmVGFibGUiPnhtbFJlZlRhYmxlPC9hPjxiciAvPnN0cnVjdCBfeG1sSGFzaFRhYmxlCitUaGUgY29udGVudCBvZiB0aGlzIHN0cnVjdHVyZSBpcyBub3QgbWFkZSBwdWJsaWMgYnkgdGhlIEFQSS4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5UeXBlZGVmIDxhIGhyZWY9ImxpYnhtbC12YWxpZC5odG1sI3htbFJlZlRhYmxlIj54bWxSZWZUYWJsZTwvYT4gKiA8YSBuYW1lPSJ4bWxSZWZUYWJsZVB0ciIgaWQ9InhtbFJlZlRhYmxlUHRyIj54bWxSZWZUYWJsZVB0cjwvYT4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgPGEgaHJlZj0iI3htbFZhbGlkQ3R4dCI+eG1sVmFsaWRDdHh0PC9hPjxiciAvPnN0cnVjdCBfeG1sVmFsaWRDdHh0Cis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+VHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZEN0eHQiPnhtbFZhbGlkQ3R4dDwvYT4gKiA8YSBuYW1lPSJ4bWxWYWxpZEN0eHRQdHIiIGlkPSJ4bWxWYWxpZEN0eHRQdHIiPnhtbFZhbGlkQ3R4dFB0cjwvYT4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgPGEgaHJlZj0iI3htbFZhbGlkU3RhdGUiPnhtbFZhbGlkU3RhdGU8L2E+PGJyIC8+c3RydWN0IF94bWxWYWxpZFN0YXRlCitUaGUgY29udGVudCBvZiB0aGlzIHN0cnVjdHVyZSBpcyBub3QgbWFkZSBwdWJsaWMgYnkgdGhlIEFQSS4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5UeXBlZGVmIDxhIGhyZWY9ImxpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkU3RhdGUiPnhtbFZhbGlkU3RhdGU8L2E+ICogPGEgbmFtZT0ieG1sVmFsaWRTdGF0ZVB0ciIgaWQ9InhtbFZhbGlkU3RhdGVQdHIiPnhtbFZhbGlkU3RhdGVQdHI8L2E+Cis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxBdHRyaWJ1dGVQdHIiPnhtbEF0dHJpYnV0ZVB0cjwvYT4JPGEgaHJlZj0iI3htbEFkZEF0dHJpYnV0ZURlY2wiPnhtbEFkZEF0dHJpYnV0ZURlY2w8L2E+CSg8YSBocmVmPSJsaWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZEN0eHRQdHIiPnhtbFZhbGlkQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEdGRQdHIiPnhtbER0ZFB0cjwvYT4gZHRkLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBlbGVtLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBucywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxBdHRyaWJ1dGVUeXBlIj54bWxBdHRyaWJ1dGVUeXBlPC9hPiB0eXBlLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEF0dHJpYnV0ZURlZmF1bHQiPnhtbEF0dHJpYnV0ZURlZmF1bHQ8L2E+IGRlZiwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogZGVmYXVsdFZhbHVlLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVudW1lcmF0aW9uUHRyIj54bWxFbnVtZXJhdGlvblB0cjwvYT4gdHJlZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVsZW1lbnRQdHIiPnhtbEVsZW1lbnRQdHI8L2E+CTxhIGhyZWY9IiN4bWxBZGRFbGVtZW50RGVjbCI+eG1sQWRkRWxlbWVudERlY2w8L2E+CSg8YSBocmVmPSJsaWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZEN0eHRQdHIiPnhtbFZhbGlkQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEdGRQdHIiPnhtbER0ZFB0cjwvYT4gZHRkLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVsZW1lbnRUeXBlVmFsIj54bWxFbGVtZW50VHlwZVZhbDwvYT4gdHlwZSwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxFbGVtZW50Q29udGVudFB0ciI+eG1sRWxlbWVudENvbnRlbnRQdHI8L2E+IGNvbnRlbnQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxJRFB0ciI+eG1sSURQdHI8L2E+CTxhIGhyZWY9IiN4bWxBZGRJRCI+eG1sQWRkSUQ8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRDdHh0UHRyIj54bWxWYWxpZEN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQXR0clB0ciI+eG1sQXR0clB0cjwvYT4gYXR0cik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vdGF0aW9uUHRyIj54bWxOb3RhdGlvblB0cjwvYT4JPGEgaHJlZj0iI3htbEFkZE5vdGF0aW9uRGVjbCI+eG1sQWRkTm90YXRpb25EZWNsPC9hPgkoPGEgaHJlZj0ibGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRDdHh0UHRyIj54bWxWYWxpZEN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRHRkUHRyIj54bWxEdGRQdHI8L2E+IGR0ZCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogUHVibGljSUQsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIFN5c3RlbUlEKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUmVmUHRyIj54bWxSZWZQdHI8L2E+CTxhIGhyZWY9IiN4bWxBZGRSZWYiPnhtbEFkZFJlZjwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZEN0eHRQdHIiPnhtbFZhbGlkQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB2YWx1ZSwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxBdHRyUHRyIj54bWxBdHRyUHRyPC9hPiBhdHRyKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC12YWxpZC5odG1sI3htbEF0dHJpYnV0ZVRhYmxlUHRyIj54bWxBdHRyaWJ1dGVUYWJsZVB0cjwvYT4JPGEgaHJlZj0iI3htbENvcHlBdHRyaWJ1dGVUYWJsZSI+eG1sQ29weUF0dHJpYnV0ZVRhYmxlPC9hPgkoPGEgaHJlZj0ibGlieG1sLXZhbGlkLmh0bWwjeG1sQXR0cmlidXRlVGFibGVQdHIiPnhtbEF0dHJpYnV0ZVRhYmxlUHRyPC9hPiB0YWJsZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVsZW1lbnRDb250ZW50UHRyIj54bWxFbGVtZW50Q29udGVudFB0cjwvYT4JPGEgaHJlZj0iI3htbENvcHlEb2NFbGVtZW50Q29udGVudCI+eG1sQ29weURvY0VsZW1lbnRDb250ZW50PC9hPgkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIgLz4JCQkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRWxlbWVudENvbnRlbnRQdHIiPnhtbEVsZW1lbnRDb250ZW50UHRyPC9hPiBjdXIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxFbGVtZW50Q29udGVudFB0ciI+eG1sRWxlbWVudENvbnRlbnRQdHI8L2E+CTxhIGhyZWY9IiN4bWxDb3B5RWxlbWVudENvbnRlbnQiPnhtbENvcHlFbGVtZW50Q29udGVudDwvYT4JKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRWxlbWVudENvbnRlbnRQdHIiPnhtbEVsZW1lbnRDb250ZW50UHRyPC9hPiBjdXIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXZhbGlkLmh0bWwjeG1sRWxlbWVudFRhYmxlUHRyIj54bWxFbGVtZW50VGFibGVQdHI8L2E+CTxhIGhyZWY9IiN4bWxDb3B5RWxlbWVudFRhYmxlIj54bWxDb3B5RWxlbWVudFRhYmxlPC9hPgkoPGEgaHJlZj0ibGlieG1sLXZhbGlkLmh0bWwjeG1sRWxlbWVudFRhYmxlUHRyIj54bWxFbGVtZW50VGFibGVQdHI8L2E+IHRhYmxlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRW51bWVyYXRpb25QdHIiPnhtbEVudW1lcmF0aW9uUHRyPC9hPgk8YSBocmVmPSIjeG1sQ29weUVudW1lcmF0aW9uIj54bWxDb3B5RW51bWVyYXRpb248L2E+CSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVudW1lcmF0aW9uUHRyIj54bWxFbnVtZXJhdGlvblB0cjwvYT4gY3VyKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC12YWxpZC5odG1sI3htbE5vdGF0aW9uVGFibGVQdHIiPnhtbE5vdGF0aW9uVGFibGVQdHI8L2E+CTxhIGhyZWY9IiN4bWxDb3B5Tm90YXRpb25UYWJsZSI+eG1sQ29weU5vdGF0aW9uVGFibGU8L2E+CSg8YSBocmVmPSJsaWJ4bWwtdmFsaWQuaHRtbCN4bWxOb3RhdGlvblRhYmxlUHRyIj54bWxOb3RhdGlvblRhYmxlUHRyPC9hPiB0YWJsZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVudW1lcmF0aW9uUHRyIj54bWxFbnVtZXJhdGlvblB0cjwvYT4JPGEgaHJlZj0iI3htbENyZWF0ZUVudW1lcmF0aW9uIj54bWxDcmVhdGVFbnVtZXJhdGlvbjwvYT4JKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sRHVtcEF0dHJpYnV0ZURlY2wiPnhtbER1bXBBdHRyaWJ1dGVEZWNsPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyUHRyIj54bWxCdWZmZXJQdHI8L2E+IGJ1ZiwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxBdHRyaWJ1dGVQdHIiPnhtbEF0dHJpYnV0ZVB0cjwvYT4gYXR0cik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxEdW1wQXR0cmlidXRlVGFibGUiPnhtbER1bXBBdHRyaWJ1dGVUYWJsZTwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlclB0ciI+eG1sQnVmZmVyUHRyPC9hPiBidWYsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC12YWxpZC5odG1sI3htbEF0dHJpYnV0ZVRhYmxlUHRyIj54bWxBdHRyaWJ1dGVUYWJsZVB0cjwvYT4gdGFibGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sRHVtcEVsZW1lbnREZWNsIj54bWxEdW1wRWxlbWVudERlY2w8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJQdHIiPnhtbEJ1ZmZlclB0cjwvYT4gYnVmLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVsZW1lbnRQdHIiPnhtbEVsZW1lbnRQdHI8L2E+IGVsZW0pPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sRHVtcEVsZW1lbnRUYWJsZSI+eG1sRHVtcEVsZW1lbnRUYWJsZTwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlclB0ciI+eG1sQnVmZmVyUHRyPC9hPiBidWYsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC12YWxpZC5odG1sI3htbEVsZW1lbnRUYWJsZVB0ciI+eG1sRWxlbWVudFRhYmxlUHRyPC9hPiB0YWJsZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxEdW1wTm90YXRpb25EZWNsIj54bWxEdW1wTm90YXRpb25EZWNsPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyUHRyIj54bWxCdWZmZXJQdHI8L2E+IGJ1ZiwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb3RhdGlvblB0ciI+eG1sTm90YXRpb25QdHI8L2E+IG5vdGEpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sRHVtcE5vdGF0aW9uVGFibGUiPnhtbER1bXBOb3RhdGlvblRhYmxlPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyUHRyIj54bWxCdWZmZXJQdHI8L2E+IGJ1ZiwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXZhbGlkLmh0bWwjeG1sTm90YXRpb25UYWJsZVB0ciI+eG1sTm90YXRpb25UYWJsZVB0cjwvYT4gdGFibGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sRnJlZUF0dHJpYnV0ZVRhYmxlIj54bWxGcmVlQXR0cmlidXRlVGFibGU8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXZhbGlkLmh0bWwjeG1sQXR0cmlidXRlVGFibGVQdHIiPnhtbEF0dHJpYnV0ZVRhYmxlUHRyPC9hPiB0YWJsZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxGcmVlRG9jRWxlbWVudENvbnRlbnQiPnhtbEZyZWVEb2NFbGVtZW50Q29udGVudDwvYT4JKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxFbGVtZW50Q29udGVudFB0ciI+eG1sRWxlbWVudENvbnRlbnRQdHI8L2E+IGN1cik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxGcmVlRWxlbWVudENvbnRlbnQiPnhtbEZyZWVFbGVtZW50Q29udGVudDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVsZW1lbnRDb250ZW50UHRyIj54bWxFbGVtZW50Q29udGVudFB0cjwvYT4gY3VyKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbEZyZWVFbGVtZW50VGFibGUiPnhtbEZyZWVFbGVtZW50VGFibGU8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXZhbGlkLmh0bWwjeG1sRWxlbWVudFRhYmxlUHRyIj54bWxFbGVtZW50VGFibGVQdHI8L2E+IHRhYmxlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbEZyZWVFbnVtZXJhdGlvbiI+eG1sRnJlZUVudW1lcmF0aW9uPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRW51bWVyYXRpb25QdHIiPnhtbEVudW1lcmF0aW9uUHRyPC9hPiBjdXIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sRnJlZUlEVGFibGUiPnhtbEZyZWVJRFRhYmxlPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwtdmFsaWQuaHRtbCN4bWxJRFRhYmxlUHRyIj54bWxJRFRhYmxlUHRyPC9hPiB0YWJsZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxGcmVlTm90YXRpb25UYWJsZSI+eG1sRnJlZU5vdGF0aW9uVGFibGU8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXZhbGlkLmh0bWwjeG1sTm90YXRpb25UYWJsZVB0ciI+eG1sTm90YXRpb25UYWJsZVB0cjwvYT4gdGFibGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sRnJlZVJlZlRhYmxlIj54bWxGcmVlUmVmVGFibGU8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbC12YWxpZC5odG1sI3htbFJlZlRhYmxlUHRyIj54bWxSZWZUYWJsZVB0cjwvYT4gdGFibGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sRnJlZVZhbGlkQ3R4dCI+eG1sRnJlZVZhbGlkQ3R4dDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZEN0eHRQdHIiPnhtbFZhbGlkQ3R4dFB0cjwvYT4gY3VyKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQXR0cmlidXRlUHRyIj54bWxBdHRyaWJ1dGVQdHI8L2E+CTxhIGhyZWY9IiN4bWxHZXREdGRBdHRyRGVzYyI+eG1sR2V0RHRkQXR0ckRlc2M8L2E+CSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbER0ZFB0ciI+eG1sRHRkUHRyPC9hPiBkdGQsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGVsZW0sIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxFbGVtZW50UHRyIj54bWxFbGVtZW50UHRyPC9hPgk8YSBocmVmPSIjeG1sR2V0RHRkRWxlbWVudERlc2MiPnhtbEdldER0ZEVsZW1lbnREZXNjPC9hPgkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEdGRQdHIiPnhtbER0ZFB0cjwvYT4gZHRkLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm90YXRpb25QdHIiPnhtbE5vdGF0aW9uUHRyPC9hPgk8YSBocmVmPSIjeG1sR2V0RHRkTm90YXRpb25EZXNjIj54bWxHZXREdGROb3RhdGlvbkRlc2M8L2E+CSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbER0ZFB0ciI+eG1sRHRkUHRyPC9hPiBkdGQsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxBdHRyaWJ1dGVQdHIiPnhtbEF0dHJpYnV0ZVB0cjwvYT4JPGEgaHJlZj0iI3htbEdldER0ZFFBdHRyRGVzYyI+eG1sR2V0RHRkUUF0dHJEZXNjPC9hPgkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEdGRQdHIiPnhtbER0ZFB0cjwvYT4gZHRkLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBlbGVtLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwcmVmaXgpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxFbGVtZW50UHRyIj54bWxFbGVtZW50UHRyPC9hPgk8YSBocmVmPSIjeG1sR2V0RHRkUUVsZW1lbnREZXNjIj54bWxHZXREdGRRRWxlbWVudERlc2M8L2E+CSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbER0ZFB0ciI+eG1sRHRkUHRyPC9hPiBkdGQsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHByZWZpeCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEF0dHJQdHIiPnhtbEF0dHJQdHI8L2E+CTxhIGhyZWY9IiN4bWxHZXRJRCI+eG1sR2V0SUQ8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBJRCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtbGlzdC5odG1sI3htbExpc3RQdHIiPnhtbExpc3RQdHI8L2E+CTxhIGhyZWY9IiN4bWxHZXRSZWZzIj54bWxHZXRSZWZzPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogSUQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxJc0lEIj54bWxJc0lEPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gZWxlbSwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxBdHRyUHRyIj54bWxBdHRyUHRyPC9hPiBhdHRyKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sSXNNaXhlZEVsZW1lbnQiPnhtbElzTWl4ZWRFbGVtZW50PC9hPgkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbElzUmVmIj54bWxJc1JlZjwvYT4JCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGVsZW0sIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQXR0clB0ciI+eG1sQXR0clB0cjwvYT4gYXR0cik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVsZW1lbnRDb250ZW50UHRyIj54bWxFbGVtZW50Q29udGVudFB0cjwvYT4JPGEgaHJlZj0iI3htbE5ld0RvY0VsZW1lbnRDb250ZW50Ij54bWxOZXdEb2NFbGVtZW50Q29udGVudDwvYT4JKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyIC8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVsZW1lbnRDb250ZW50VHlwZSI+eG1sRWxlbWVudENvbnRlbnRUeXBlPC9hPiB0eXBlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRWxlbWVudENvbnRlbnRQdHIiPnhtbEVsZW1lbnRDb250ZW50UHRyPC9hPgk8YSBocmVmPSIjeG1sTmV3RWxlbWVudENvbnRlbnQiPnhtbE5ld0VsZW1lbnRDb250ZW50PC9hPgkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRWxlbWVudENvbnRlbnRUeXBlIj54bWxFbGVtZW50Q29udGVudFR5cGU8L2E+IHR5cGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRDdHh0UHRyIj54bWxWYWxpZEN0eHRQdHI8L2E+CTxhIGhyZWY9IiN4bWxOZXdWYWxpZEN0eHQiPnhtbE5ld1ZhbGlkQ3R4dDwvYT4JCSh2b2lkKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sUmVtb3ZlSUQiPnhtbFJlbW92ZUlEPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQXR0clB0ciI+eG1sQXR0clB0cjwvYT4gYXR0cik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFJlbW92ZVJlZiI+eG1sUmVtb3ZlUmVmPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQXR0clB0ciI+eG1sQXR0clB0cjwvYT4gYXR0cik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxTbnByaW50ZkVsZW1lbnRDb250ZW50Ij54bWxTbnByaW50ZkVsZW1lbnRDb250ZW50PC9hPgkoY2hhciAqIGJ1ZiwgPGJyIC8+CQkJCQkgaW50IHNpemUsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRWxlbWVudENvbnRlbnRQdHIiPnhtbEVsZW1lbnRDb250ZW50UHRyPC9hPiBjb250ZW50LCA8YnIgLz4JCQkJCSBpbnQgZW5nbG9iKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFNwcmludGZFbGVtZW50Q29udGVudCI+eG1sU3ByaW50ZkVsZW1lbnRDb250ZW50PC9hPgkoY2hhciAqIGJ1ZiwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxFbGVtZW50Q29udGVudFB0ciI+eG1sRWxlbWVudENvbnRlbnRQdHI8L2E+IGNvbnRlbnQsIDxiciAvPgkJCQkJIGludCBlbmdsb2IpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxWYWxpZEJ1aWxkQ29udGVudE1vZGVsIj54bWxWYWxpZEJ1aWxkQ29udGVudE1vZGVsPC9hPgkoPGEgaHJlZj0ibGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRDdHh0UHRyIj54bWxWYWxpZEN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRWxlbWVudFB0ciI+eG1sRWxlbWVudFB0cjwvYT4gZWxlbSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sVmFsaWRDdHh0Tm9ybWFsaXplQXR0cmlidXRlVmFsdWUiPnhtbFZhbGlkQ3R4dE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlPC9hPgkoPGEgaHJlZj0ibGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRDdHh0UHRyIj54bWxWYWxpZEN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIgLz4JCQkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gZWxlbSwgPGJyIC8+CQkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHZhbHVlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVmFsaWRHZXRQb3RlbnRpYWxDaGlsZHJlbiI+eG1sVmFsaWRHZXRQb3RlbnRpYWxDaGlsZHJlbjwvYT4JKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRWxlbWVudENvbnRlbnQiPnhtbEVsZW1lbnRDb250ZW50PC9hPiAqIGN0cmVlLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiogbmFtZXMsIDxiciAvPgkJCQkJIGludCAqIGxlbiwgPGJyIC8+CQkJCQkgaW50IG1heCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFZhbGlkR2V0VmFsaWRFbGVtZW50cyI+eG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzPC9hPgkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlIj54bWxOb2RlPC9hPiAqIHByZXYsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZSI+eG1sTm9kZTwvYT4gKiBuZXh0LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiogbmFtZXMsIDxiciAvPgkJCQkJIGludCBtYXgpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbFZhbGlkTm9ybWFsaXplQXR0cmlidXRlVmFsdWUiPnhtbFZhbGlkTm9ybWFsaXplQXR0cmlidXRlVmFsdWU8L2E+CSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxiciAvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGVsZW0sIDxiciAvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxWYWxpZGF0ZUF0dHJpYnV0ZURlY2wiPnhtbFZhbGlkYXRlQXR0cmlidXRlRGVjbDwvYT4JKDxhIGhyZWY9ImxpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkQ3R4dFB0ciI+eG1sVmFsaWRDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQXR0cmlidXRlUHRyIj54bWxBdHRyaWJ1dGVQdHI8L2E+IGF0dHIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxWYWxpZGF0ZUF0dHJpYnV0ZVZhbHVlIj54bWxWYWxpZGF0ZUF0dHJpYnV0ZVZhbHVlPC9hPgkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxBdHRyaWJ1dGVUeXBlIj54bWxBdHRyaWJ1dGVUeXBlPC9hPiB0eXBlLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB2YWx1ZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFZhbGlkYXRlRG9jdW1lbnQiPnhtbFZhbGlkYXRlRG9jdW1lbnQ8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRDdHh0UHRyIj54bWxWYWxpZEN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFZhbGlkYXRlRG9jdW1lbnRGaW5hbCI+eG1sVmFsaWRhdGVEb2N1bWVudEZpbmFsPC9hPgkoPGEgaHJlZj0ibGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRDdHh0UHRyIj54bWxWYWxpZEN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFZhbGlkYXRlRHRkIj54bWxWYWxpZGF0ZUR0ZDwvYT4JCQkoPGEgaHJlZj0ibGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRDdHh0UHRyIj54bWxWYWxpZEN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEdGRQdHIiPnhtbER0ZFB0cjwvYT4gZHRkKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVmFsaWRhdGVEdGRGaW5hbCI+eG1sVmFsaWRhdGVEdGRGaW5hbDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZEN0eHRQdHIiPnhtbFZhbGlkQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVmFsaWRhdGVFbGVtZW50Ij54bWxWYWxpZGF0ZUVsZW1lbnQ8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRDdHh0UHRyIj54bWxWYWxpZEN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBlbGVtKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVmFsaWRhdGVFbGVtZW50RGVjbCI+eG1sVmFsaWRhdGVFbGVtZW50RGVjbDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZEN0eHRQdHIiPnhtbFZhbGlkQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVsZW1lbnRQdHIiPnhtbEVsZW1lbnRQdHI8L2E+IGVsZW0pPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxWYWxpZGF0ZU5hbWVWYWx1ZSI+eG1sVmFsaWRhdGVOYW1lVmFsdWU8L2E+CQkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxWYWxpZGF0ZU5hbWVzVmFsdWUiPnhtbFZhbGlkYXRlTmFtZXNWYWx1ZTwvYT4JCShjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB2YWx1ZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFZhbGlkYXRlTm10b2tlblZhbHVlIj54bWxWYWxpZGF0ZU5tdG9rZW5WYWx1ZTwvYT4JCShjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB2YWx1ZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFZhbGlkYXRlTm10b2tlbnNWYWx1ZSI+eG1sVmFsaWRhdGVObXRva2Vuc1ZhbHVlPC9hPgkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxWYWxpZGF0ZU5vdGF0aW9uRGVjbCI+eG1sVmFsaWRhdGVOb3RhdGlvbkRlY2w8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRDdHh0UHRyIj54bWxWYWxpZEN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb3RhdGlvblB0ciI+eG1sTm90YXRpb25QdHI8L2E+IG5vdGEpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxWYWxpZGF0ZU5vdGF0aW9uVXNlIj54bWxWYWxpZGF0ZU5vdGF0aW9uVXNlPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkQ3R4dFB0ciI+eG1sVmFsaWRDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5vdGF0aW9uTmFtZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFZhbGlkYXRlT25lQXR0cmlidXRlIj54bWxWYWxpZGF0ZU9uZUF0dHJpYnV0ZTwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZEN0eHRQdHIiPnhtbFZhbGlkQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGVsZW0sIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQXR0clB0ciI+eG1sQXR0clB0cjwvYT4gYXR0ciwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxWYWxpZGF0ZU9uZUVsZW1lbnQiPnhtbFZhbGlkYXRlT25lRWxlbWVudDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZEN0eHRQdHIiPnhtbFZhbGlkQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGVsZW0pPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxWYWxpZGF0ZU9uZU5hbWVzcGFjZSI+eG1sVmFsaWRhdGVPbmVOYW1lc3BhY2U8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRDdHh0UHRyIj54bWxWYWxpZEN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBlbGVtLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwcmVmaXgsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTnNQdHIiPnhtbE5zUHRyPC9hPiBucywgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxWYWxpZGF0ZVBvcEVsZW1lbnQiPnhtbFZhbGlkYXRlUG9wRWxlbWVudDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZEN0eHRQdHIiPnhtbFZhbGlkQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGVsZW0sIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHFuYW1lKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVmFsaWRhdGVQdXNoQ0RhdGEiPnhtbFZhbGlkYXRlUHVzaENEYXRhPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkQ3R4dFB0ciI+eG1sVmFsaWRDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBkYXRhLCA8YnIgLz4JCQkJCSBpbnQgbGVuKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVmFsaWRhdGVQdXNoRWxlbWVudCI+eG1sVmFsaWRhdGVQdXNoRWxlbWVudDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZEN0eHRQdHIiPnhtbFZhbGlkQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGVsZW0sIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHFuYW1lKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVmFsaWRhdGVSb290Ij54bWxWYWxpZGF0ZVJvb3Q8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkQ3R4dFB0ciI+eG1sVmFsaWRDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RnVuY3Rpb24gdHlwZTogPGEgaHJlZj0iI3htbFZhbGlkaXR5RXJyb3JGdW5jIj54bWxWYWxpZGl0eUVycm9yRnVuYzwvYT4KK3ZvaWQJPGEgaHJlZj0iI3htbFZhbGlkaXR5RXJyb3JGdW5jIj54bWxWYWxpZGl0eUVycm9yRnVuYzwvYT4JCSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogbXNnLCA8YnIgLz4JCQkJCSAuLi4gLi4uKQorPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RnVuY3Rpb24gdHlwZTogPGEgaHJlZj0iI3htbFZhbGlkaXR5V2FybmluZ0Z1bmMiPnhtbFZhbGlkaXR5V2FybmluZ0Z1bmM8L2E+Cit2b2lkCTxhIGhyZWY9IiN4bWxWYWxpZGl0eVdhcm5pbmdGdW5jIj54bWxWYWxpZGl0eVdhcm5pbmdGdW5jPC9hPgkJKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBtc2csIDxiciAvPgkJCQkJIC4uLiAuLi4pCis8L3ByZT4KKzxoMj5EZXNjcmlwdGlvbjwvaDI+Cis8aDM+PGEgbmFtZT0iWE1MX0NUWFRfRklOSVNIX0RURF8wIiBpZD0iWE1MX0NUWFRfRklOSVNIX0RURF8wIj48L2E+TWFjcm86IFhNTF9DVFhUX0ZJTklTSF9EVERfMDwvaDM+PHByZT4jZGVmaW5lIFhNTF9DVFhUX0ZJTklTSF9EVERfMDwvcHJlPjxwPlNwZWNpYWwgdmFsdWUgZm9yIGZpbmlzaER0ZCBmaWVsZCB3aGVuIGVtYmVkZGVkIGluIGFuIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dCI+eG1sUGFyc2VyQ3R4dDwvYT48L3A+Cis8aDM+PGEgbmFtZT0iWE1MX0NUWFRfRklOSVNIX0RURF8xIiBpZD0iWE1MX0NUWFRfRklOSVNIX0RURF8xIj48L2E+TWFjcm86IFhNTF9DVFhUX0ZJTklTSF9EVERfMTwvaDM+PHByZT4jZGVmaW5lIFhNTF9DVFhUX0ZJTklTSF9EVERfMTwvcHJlPjxwPlNwZWNpYWwgdmFsdWUgZm9yIGZpbmlzaER0ZCBmaWVsZCB3aGVuIGVtYmVkZGVkIGluIGFuIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dCI+eG1sUGFyc2VyQ3R4dDwvYT48L3A+Cis8aDM+PGEgbmFtZT0ieG1sQXR0cmlidXRlVGFibGUiIGlkPSJ4bWxBdHRyaWJ1dGVUYWJsZSI+U3RydWN0dXJlIHhtbEF0dHJpYnV0ZVRhYmxlPC9hPjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlN0cnVjdHVyZSB4bWxBdHRyaWJ1dGVUYWJsZTxiciAvPnN0cnVjdCBfeG1sSGFzaFRhYmxlIHsKK1RoZSBjb250ZW50IG9mIHRoaXMgc3RydWN0dXJlIGlzIG5vdCBtYWRlIHB1YmxpYyBieSB0aGUgQVBJLgorfTwvcHJlPjxoMz48YSBuYW1lPSJ4bWxFbGVtZW50VGFibGUiIGlkPSJ4bWxFbGVtZW50VGFibGUiPlN0cnVjdHVyZSB4bWxFbGVtZW50VGFibGU8L2E+PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+U3RydWN0dXJlIHhtbEVsZW1lbnRUYWJsZTxiciAvPnN0cnVjdCBfeG1sSGFzaFRhYmxlIHsKK1RoZSBjb250ZW50IG9mIHRoaXMgc3RydWN0dXJlIGlzIG5vdCBtYWRlIHB1YmxpYyBieSB0aGUgQVBJLgorfTwvcHJlPjxoMz48YSBuYW1lPSJ4bWxJRFRhYmxlIiBpZD0ieG1sSURUYWJsZSI+U3RydWN0dXJlIHhtbElEVGFibGU8L2E+PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+U3RydWN0dXJlIHhtbElEVGFibGU8YnIgLz5zdHJ1Y3QgX3htbEhhc2hUYWJsZSB7CitUaGUgY29udGVudCBvZiB0aGlzIHN0cnVjdHVyZSBpcyBub3QgbWFkZSBwdWJsaWMgYnkgdGhlIEFQSS4KK308L3ByZT48aDM+PGEgbmFtZT0ieG1sTm90YXRpb25UYWJsZSIgaWQ9InhtbE5vdGF0aW9uVGFibGUiPlN0cnVjdHVyZSB4bWxOb3RhdGlvblRhYmxlPC9hPjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlN0cnVjdHVyZSB4bWxOb3RhdGlvblRhYmxlPGJyIC8+c3RydWN0IF94bWxIYXNoVGFibGUgeworVGhlIGNvbnRlbnQgb2YgdGhpcyBzdHJ1Y3R1cmUgaXMgbm90IG1hZGUgcHVibGljIGJ5IHRoZSBBUEkuCit9PC9wcmU+PGgzPjxhIG5hbWU9InhtbFJlZlRhYmxlIiBpZD0ieG1sUmVmVGFibGUiPlN0cnVjdHVyZSB4bWxSZWZUYWJsZTwvYT48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgeG1sUmVmVGFibGU8YnIgLz5zdHJ1Y3QgX3htbEhhc2hUYWJsZSB7CitUaGUgY29udGVudCBvZiB0aGlzIHN0cnVjdHVyZSBpcyBub3QgbWFkZSBwdWJsaWMgYnkgdGhlIEFQSS4KK308L3ByZT48aDM+PGEgbmFtZT0ieG1sVmFsaWRDdHh0IiBpZD0ieG1sVmFsaWRDdHh0Ij5TdHJ1Y3R1cmUgeG1sVmFsaWRDdHh0PC9hPjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlN0cnVjdHVyZSB4bWxWYWxpZEN0eHQ8YnIgLz5zdHJ1Y3QgX3htbFZhbGlkQ3R4dCB7CisgICAgdm9pZCAqCXVzZXJEYXRhCTogdXNlciBzcGVjaWZpYyBkYXRhIGJsb2NrCisgICAgPGEgaHJlZj0ibGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRpdHlFcnJvckZ1bmMiPnhtbFZhbGlkaXR5RXJyb3JGdW5jPC9hPgllcnJvcgk6IHRoZSBjYWxsYmFjayBpbiBjYXNlIG9mIGVycm9ycworICAgIDxhIGhyZWY9ImxpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkaXR5V2FybmluZ0Z1bmMiPnhtbFZhbGlkaXR5V2FybmluZ0Z1bmM8L2E+CXdhcm5pbmcJOiB0aGUgY2FsbGJhY2sgaW4gY2FzZSBvZiB3YXJuaW5nIE5vZGUgYW4KKyAgICA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CW5vZGUJOiBDdXJyZW50IHBhcnNlZCBOb2RlCisgICAgaW50CW5vZGVOcgk6IERlcHRoIG9mIHRoZSBwYXJzaW5nIHN0YWNrCisgICAgaW50CW5vZGVNYXgJOiBNYXggZGVwdGggb2YgdGhlIHBhcnNpbmcgc3RhY2sKKyAgICA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+ICoJbm9kZVRhYgk6IGFycmF5IG9mIG5vZGVzCisgICAgdW5zaWduZWQgaW50CWZpbmlzaER0ZAk6IGZpbmlzaGVkIHZhbGlkYXRpbmcgdGhlIER0ZCA/CisgICAgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4JZG9jCTogdGhlIGRvY3VtZW50CisgICAgaW50CXZhbGlkCTogdGVtcG9yYXJ5IHZhbGlkaXR5IGNoZWNrIHJlc3VsdCBzdGF0ZSBzCisgICAgPGEgaHJlZj0ibGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRTdGF0ZSI+eG1sVmFsaWRTdGF0ZTwvYT4gKgl2c3RhdGUJOiBjdXJyZW50IHN0YXRlCisgICAgaW50CXZzdGF0ZU5yCTogRGVwdGggb2YgdGhlIHZhbGlkYXRpb24gc3RhY2sKKyAgICBpbnQJdnN0YXRlTWF4CTogTWF4IGRlcHRoIG9mIHRoZSB2YWxpZGF0aW9uIHN0YWNrCisgICAgPGEgaHJlZj0ibGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRTdGF0ZSI+eG1sVmFsaWRTdGF0ZTwvYT4gKgl2c3RhdGVUYWIJOiBhcnJheSBvZiB2YWxpZGF0aW9uIHN0YXRlcworICAgIDxhIGhyZWY9ImxpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhUHRyIj54bWxBdXRvbWF0YVB0cjwvYT4JYW0JOiB0aGUgYXV0b21hdGEKKyAgICA8YSBocmVmPSJsaWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVN0YXRlUHRyIj54bWxBdXRvbWF0YVN0YXRlUHRyPC9hPglzdGF0ZQk6IHVzZWQgdG8gYnVpbGQgdGhlIGF1dG9tYXRhCisgICAgdm9pZCAqCWFtCisgICAgdm9pZCAqCXN0YXRlCit9PC9wcmU+PGgzPjxhIG5hbWU9InhtbFZhbGlkU3RhdGUiIGlkPSJ4bWxWYWxpZFN0YXRlIj5TdHJ1Y3R1cmUgeG1sVmFsaWRTdGF0ZTwvYT48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgeG1sVmFsaWRTdGF0ZTxiciAvPnN0cnVjdCBfeG1sVmFsaWRTdGF0ZSB7CitUaGUgY29udGVudCBvZiB0aGlzIHN0cnVjdHVyZSBpcyBub3QgbWFkZSBwdWJsaWMgYnkgdGhlIEFQSS4KK308L3ByZT48aDM+PGEgbmFtZT0ieG1sQWRkQXR0cmlidXRlRGVjbCIgaWQ9InhtbEFkZEF0dHJpYnV0ZURlY2wiPjwvYT5GdW5jdGlvbjogeG1sQWRkQXR0cmlidXRlRGVjbDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQXR0cmlidXRlUHRyIj54bWxBdHRyaWJ1dGVQdHI8L2E+CXhtbEFkZEF0dHJpYnV0ZURlY2wJKDxhIGhyZWY9ImxpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkQ3R4dFB0ciI+eG1sVmFsaWRDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbER0ZFB0ciI+eG1sRHRkUHRyPC9hPiBkdGQsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGVsZW0sIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5zLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEF0dHJpYnV0ZVR5cGUiPnhtbEF0dHJpYnV0ZVR5cGU8L2E+IHR5cGUsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQXR0cmlidXRlRGVmYXVsdCI+eG1sQXR0cmlidXRlRGVmYXVsdDwvYT4gZGVmLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBkZWZhdWx0VmFsdWUsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRW51bWVyYXRpb25QdHIiPnhtbEVudW1lcmF0aW9uUHRyPC9hPiB0cmVlKTxiciAvPgorPC9wcmU+PHA+UmVnaXN0ZXIgYSBuZXcgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBkZWNsYXJhdGlvbiBOb3RlIHRoYXQgQHRyZWUgYmVjb21lcyB0aGUgb3duZXJzaGlwIG9mIHRoZSBEVEQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdmFsaWRhdGlvbiBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kdGQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnBvaW50ZXIgdG8gdGhlIERURDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZWxlbTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVsZW1lbnQgbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IG5hbWVzcGFjZSBwcmVmaXg8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnR5cGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IHR5cGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRlZjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gZGVmYXVsdCB0eXBlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kZWZhdWx0VmFsdWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IGRlZmF1bHQgdmFsdWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRyZWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmlmIGl0J3MgYW4gZW51bWVyYXRpb24sIHRoZSBhc3NvY2lhdGVkIGxpc3Q8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPk5VTEwgaWYgbm90IG5ldywgb3RoZXJ3aXNlIHRoZSA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IGRlY2w8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxBZGRFbGVtZW50RGVjbCIgaWQ9InhtbEFkZEVsZW1lbnREZWNsIj48L2E+RnVuY3Rpb246IHhtbEFkZEVsZW1lbnREZWNsPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxFbGVtZW50UHRyIj54bWxFbGVtZW50UHRyPC9hPgl4bWxBZGRFbGVtZW50RGVjbAkoPGEgaHJlZj0ibGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRDdHh0UHRyIj54bWxWYWxpZEN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRHRkUHRyIj54bWxEdGRQdHI8L2E+IGR0ZCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxFbGVtZW50VHlwZVZhbCI+eG1sRWxlbWVudFR5cGVWYWw8L2E+IHR5cGUsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRWxlbWVudENvbnRlbnRQdHIiPnhtbEVsZW1lbnRDb250ZW50UHRyPC9hPiBjb250ZW50KTxiciAvPgorPC9wcmU+PHA+UmVnaXN0ZXIgYSBuZXcgZWxlbWVudCBkZWNsYXJhdGlvbjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB2YWxpZGF0aW9uIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmR0ZDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+cG9pbnRlciB0byB0aGUgRFREPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZW50aXR5IG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnR5cGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbGVtZW50IHR5cGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbnRlbnQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbGVtZW50IGNvbnRlbnQgdHJlZSBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5OVUxMIGlmIG5vdCwgb3RoZXJ3aXNlIHRoZSBlbnRpdHk8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxBZGRJRCIgaWQ9InhtbEFkZElEIj48L2E+RnVuY3Rpb246IHhtbEFkZElEPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxJRFB0ciI+eG1sSURQdHI8L2E+CXhtbEFkZElECQkoPGEgaHJlZj0ibGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRDdHh0UHRyIj54bWxWYWxpZEN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQXR0clB0ciI+eG1sQXR0clB0cjwvYT4gYXR0cik8YnIgLz4KKzwvcHJlPjxwPlJlZ2lzdGVyIGEgbmV3IGlkIGRlY2xhcmF0aW9uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHZhbGlkYXRpb24gY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5wb2ludGVyIHRvIHRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsdWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB2YWx1ZSBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5hdHRyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBob2xkaW5nIHRoZSBJRDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+TlVMTCBpZiBub3QsIG90aGVyd2lzZSB0aGUgbmV3IDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sSURQdHIiPnhtbElEUHRyPC9hPjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEFkZE5vdGF0aW9uRGVjbCIgaWQ9InhtbEFkZE5vdGF0aW9uRGVjbCI+PC9hPkZ1bmN0aW9uOiB4bWxBZGROb3RhdGlvbkRlY2w8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vdGF0aW9uUHRyIj54bWxOb3RhdGlvblB0cjwvYT4JeG1sQWRkTm90YXRpb25EZWNsCSg8YSBocmVmPSJsaWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZEN0eHRQdHIiPnhtbFZhbGlkQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEdGRQdHIiPnhtbER0ZFB0cjwvYT4gZHRkLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBQdWJsaWNJRCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogU3lzdGVtSUQpPGJyIC8+Cis8L3ByZT48cD5SZWdpc3RlciBhIG5ldyBub3RhdGlvbiBkZWNsYXJhdGlvbjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB2YWxpZGF0aW9uIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmR0ZDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+cG9pbnRlciB0byB0aGUgRFREPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZW50aXR5IG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlB1YmxpY0lEPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcHVibGljIGlkZW50aWZpZXIgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+U3lzdGVtSUQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzeXN0ZW0gaWRlbnRpZmllciBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5OVUxMIGlmIG5vdCwgb3RoZXJ3aXNlIHRoZSBlbnRpdHk8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxBZGRSZWYiIGlkPSJ4bWxBZGRSZWYiPjwvYT5GdW5jdGlvbjogeG1sQWRkUmVmPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxSZWZQdHIiPnhtbFJlZlB0cjwvYT4JeG1sQWRkUmVmCQkoPGEgaHJlZj0ibGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRDdHh0UHRyIj54bWxWYWxpZEN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQXR0clB0ciI+eG1sQXR0clB0cjwvYT4gYXR0cik8YnIgLz4KKzwvcHJlPjxwPlJlZ2lzdGVyIGEgbmV3IHJlZiBkZWNsYXJhdGlvbjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB2YWxpZGF0aW9uIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+cG9pbnRlciB0byB0aGUgZG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbHVlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdmFsdWUgbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YXR0cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gaG9sZGluZyB0aGUgUmVmPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5OVUxMIGlmIG5vdCwgb3RoZXJ3aXNlIHRoZSBuZXcgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxSZWZQdHIiPnhtbFJlZlB0cjwvYT48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxDb3B5QXR0cmlidXRlVGFibGUiIGlkPSJ4bWxDb3B5QXR0cmlidXRlVGFibGUiPjwvYT5GdW5jdGlvbjogeG1sQ29weUF0dHJpYnV0ZVRhYmxlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXZhbGlkLmh0bWwjeG1sQXR0cmlidXRlVGFibGVQdHIiPnhtbEF0dHJpYnV0ZVRhYmxlUHRyPC9hPgl4bWxDb3B5QXR0cmlidXRlVGFibGUJKDxhIGhyZWY9ImxpYnhtbC12YWxpZC5odG1sI3htbEF0dHJpYnV0ZVRhYmxlUHRyIj54bWxBdHRyaWJ1dGVUYWJsZVB0cjwvYT4gdGFibGUpPGJyIC8+Cis8L3ByZT48cD5CdWlsZCBhIGNvcHkgb2YgYW4gPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiB0YWJsZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50YWJsZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+QW4gPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiB0YWJsZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ldyA8YSBocmVmPSJsaWJ4bWwtdmFsaWQuaHRtbCN4bWxBdHRyaWJ1dGVUYWJsZVB0ciI+eG1sQXR0cmlidXRlVGFibGVQdHI8L2E+IG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxDb3B5RG9jRWxlbWVudENvbnRlbnQiIGlkPSJ4bWxDb3B5RG9jRWxlbWVudENvbnRlbnQiPjwvYT5GdW5jdGlvbjogeG1sQ29weURvY0VsZW1lbnRDb250ZW50PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxFbGVtZW50Q29udGVudFB0ciI+eG1sRWxlbWVudENvbnRlbnRQdHI8L2E+CXhtbENvcHlEb2NFbGVtZW50Q29udGVudAkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIgLz4JCQkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRWxlbWVudENvbnRlbnRQdHIiPnhtbEVsZW1lbnRDb250ZW50UHRyPC9hPiBjdXIpPGJyIC8+Cis8L3ByZT48cD5CdWlsZCBhIGNvcHkgb2YgYW4gZWxlbWVudCBjb250ZW50IGRlc2NyaXB0aW9uLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50IG93bmluZyB0aGUgZWxlbWVudCBkZWNsYXJhdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5BbiBlbGVtZW50IGNvbnRlbnQgcG9pbnRlci48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXcgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxFbGVtZW50Q29udGVudFB0ciI+eG1sRWxlbWVudENvbnRlbnRQdHI8L2E+IG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxDb3B5RWxlbWVudENvbnRlbnQiIGlkPSJ4bWxDb3B5RWxlbWVudENvbnRlbnQiPjwvYT5GdW5jdGlvbjogeG1sQ29weUVsZW1lbnRDb250ZW50PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxFbGVtZW50Q29udGVudFB0ciI+eG1sRWxlbWVudENvbnRlbnRQdHI8L2E+CXhtbENvcHlFbGVtZW50Q29udGVudAkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxFbGVtZW50Q29udGVudFB0ciI+eG1sRWxlbWVudENvbnRlbnRQdHI8L2E+IGN1cik8YnIgLz4KKzwvcHJlPjxwPkJ1aWxkIGEgY29weSBvZiBhbiBlbGVtZW50IGNvbnRlbnQgZGVzY3JpcHRpb24uIERlcHJlY2F0ZWQsIHVzZSA8YSBocmVmPSJsaWJ4bWwtdmFsaWQuaHRtbCN4bWxDb3B5RG9jRWxlbWVudENvbnRlbnQiPnhtbENvcHlEb2NFbGVtZW50Q29udGVudDwvYT4gaW5zdGVhZDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+QW4gZWxlbWVudCBjb250ZW50IHBvaW50ZXIuPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRWxlbWVudENvbnRlbnRQdHIiPnhtbEVsZW1lbnRDb250ZW50UHRyPC9hPiBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sQ29weUVsZW1lbnRUYWJsZSIgaWQ9InhtbENvcHlFbGVtZW50VGFibGUiPjwvYT5GdW5jdGlvbjogeG1sQ29weUVsZW1lbnRUYWJsZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC12YWxpZC5odG1sI3htbEVsZW1lbnRUYWJsZVB0ciI+eG1sRWxlbWVudFRhYmxlUHRyPC9hPgl4bWxDb3B5RWxlbWVudFRhYmxlCSg8YSBocmVmPSJsaWJ4bWwtdmFsaWQuaHRtbCN4bWxFbGVtZW50VGFibGVQdHIiPnhtbEVsZW1lbnRUYWJsZVB0cjwvYT4gdGFibGUpPGJyIC8+Cis8L3ByZT48cD5CdWlsZCBhIGNvcHkgb2YgYW4gZWxlbWVudCB0YWJsZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50YWJsZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+QW4gZWxlbWVudCB0YWJsZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ldyA8YSBocmVmPSJsaWJ4bWwtdmFsaWQuaHRtbCN4bWxFbGVtZW50VGFibGVQdHIiPnhtbEVsZW1lbnRUYWJsZVB0cjwvYT4gb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbENvcHlFbnVtZXJhdGlvbiIgaWQ9InhtbENvcHlFbnVtZXJhdGlvbiI+PC9hPkZ1bmN0aW9uOiB4bWxDb3B5RW51bWVyYXRpb248L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVudW1lcmF0aW9uUHRyIj54bWxFbnVtZXJhdGlvblB0cjwvYT4JeG1sQ29weUVudW1lcmF0aW9uCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVudW1lcmF0aW9uUHRyIj54bWxFbnVtZXJhdGlvblB0cjwvYT4gY3VyKTxiciAvPgorPC9wcmU+PHA+Q29weSBhbiBlbnVtZXJhdGlvbiA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IG5vZGUgKHJlY3Vyc2l2ZSkuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdHJlZSB0byBjb3B5LjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRW51bWVyYXRpb25QdHIiPnhtbEVudW1lcmF0aW9uUHRyPC9hPiBqdXN0IGNyZWF0ZWQgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbENvcHlOb3RhdGlvblRhYmxlIiBpZD0ieG1sQ29weU5vdGF0aW9uVGFibGUiPjwvYT5GdW5jdGlvbjogeG1sQ29weU5vdGF0aW9uVGFibGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdmFsaWQuaHRtbCN4bWxOb3RhdGlvblRhYmxlUHRyIj54bWxOb3RhdGlvblRhYmxlUHRyPC9hPgl4bWxDb3B5Tm90YXRpb25UYWJsZQkoPGEgaHJlZj0ibGlieG1sLXZhbGlkLmh0bWwjeG1sTm90YXRpb25UYWJsZVB0ciI+eG1sTm90YXRpb25UYWJsZVB0cjwvYT4gdGFibGUpPGJyIC8+Cis8L3ByZT48cD5CdWlsZCBhIGNvcHkgb2YgYSBub3RhdGlvbiB0YWJsZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50YWJsZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+QSBub3RhdGlvbiB0YWJsZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ldyA8YSBocmVmPSJsaWJ4bWwtdmFsaWQuaHRtbCN4bWxOb3RhdGlvblRhYmxlUHRyIj54bWxOb3RhdGlvblRhYmxlUHRyPC9hPiBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sQ3JlYXRlRW51bWVyYXRpb24iIGlkPSJ4bWxDcmVhdGVFbnVtZXJhdGlvbiI+PC9hPkZ1bmN0aW9uOiB4bWxDcmVhdGVFbnVtZXJhdGlvbjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRW51bWVyYXRpb25QdHIiPnhtbEVudW1lcmF0aW9uUHRyPC9hPgl4bWxDcmVhdGVFbnVtZXJhdGlvbgkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSk8YnIgLz4KKzwvcHJlPjxwPmNyZWF0ZSBhbmQgaW5pdGlhbGl6ZSBhbiBlbnVtZXJhdGlvbiA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IG5vZGUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVudW1lcmF0aW9uIG5hbWUgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRW51bWVyYXRpb25QdHIiPnhtbEVudW1lcmF0aW9uUHRyPC9hPiBqdXN0IGNyZWF0ZWQgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbER1bXBBdHRyaWJ1dGVEZWNsIiBpZD0ieG1sRHVtcEF0dHJpYnV0ZURlY2wiPjwvYT5GdW5jdGlvbjogeG1sRHVtcEF0dHJpYnV0ZURlY2w8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbER1bXBBdHRyaWJ1dGVEZWNsCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJQdHIiPnhtbEJ1ZmZlclB0cjwvYT4gYnVmLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEF0dHJpYnV0ZVB0ciI+eG1sQXR0cmlidXRlUHRyPC9hPiBhdHRyKTxiciAvPgorPC9wcmU+PHA+VGhpcyB3aWxsIGR1bXAgdGhlIGNvbnRlbnQgb2YgdGhlIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gZGVjbGFyYXRpb24gYXMgYW4gWE1MIERURCBkZWZpbml0aW9uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YnVmPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWE1MIGJ1ZmZlciBvdXRwdXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmF0dHI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPkFuIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gZGVjbGFyYXRpb248L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxEdW1wQXR0cmlidXRlVGFibGUiIGlkPSJ4bWxEdW1wQXR0cmlidXRlVGFibGUiPjwvYT5GdW5jdGlvbjogeG1sRHVtcEF0dHJpYnV0ZVRhYmxlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxEdW1wQXR0cmlidXRlVGFibGUJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlclB0ciI+eG1sQnVmZmVyUHRyPC9hPiBidWYsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC12YWxpZC5odG1sI3htbEF0dHJpYnV0ZVRhYmxlUHRyIj54bWxBdHRyaWJ1dGVUYWJsZVB0cjwvYT4gdGFibGUpPGJyIC8+Cis8L3ByZT48cD5UaGlzIHdpbGwgZHVtcCB0aGUgY29udGVudCBvZiB0aGUgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiB0YWJsZSBhcyBhbiBYTUwgRFREIGRlZmluaXRpb248L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5idWY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYTUwgYnVmZmVyIG91dHB1dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dGFibGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPkFuIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gdGFibGU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxEdW1wRWxlbWVudERlY2wiIGlkPSJ4bWxEdW1wRWxlbWVudERlY2wiPjwvYT5GdW5jdGlvbjogeG1sRHVtcEVsZW1lbnREZWNsPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxEdW1wRWxlbWVudERlY2wJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlclB0ciI+eG1sQnVmZmVyUHRyPC9hPiBidWYsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRWxlbWVudFB0ciI+eG1sRWxlbWVudFB0cjwvYT4gZWxlbSk8YnIgLz4KKzwvcHJlPjxwPlRoaXMgd2lsbCBkdW1wIHRoZSBjb250ZW50IG9mIHRoZSBlbGVtZW50IGRlY2xhcmF0aW9uIGFzIGFuIFhNTCBEVEQgZGVmaW5pdGlvbjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmJ1ZjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhNTCBidWZmZXIgb3V0cHV0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbGVtPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5BbiBlbGVtZW50IHRhYmxlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sRHVtcEVsZW1lbnRUYWJsZSIgaWQ9InhtbER1bXBFbGVtZW50VGFibGUiPjwvYT5GdW5jdGlvbjogeG1sRHVtcEVsZW1lbnRUYWJsZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sRHVtcEVsZW1lbnRUYWJsZQkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyUHRyIj54bWxCdWZmZXJQdHI8L2E+IGJ1ZiwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXZhbGlkLmh0bWwjeG1sRWxlbWVudFRhYmxlUHRyIj54bWxFbGVtZW50VGFibGVQdHI8L2E+IHRhYmxlKTxiciAvPgorPC9wcmU+PHA+VGhpcyB3aWxsIGR1bXAgdGhlIGNvbnRlbnQgb2YgdGhlIGVsZW1lbnQgdGFibGUgYXMgYW4gWE1MIERURCBkZWZpbml0aW9uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YnVmPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWE1MIGJ1ZmZlciBvdXRwdXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRhYmxlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5BbiBlbGVtZW50IHRhYmxlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sRHVtcE5vdGF0aW9uRGVjbCIgaWQ9InhtbER1bXBOb3RhdGlvbkRlY2wiPjwvYT5GdW5jdGlvbjogeG1sRHVtcE5vdGF0aW9uRGVjbDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sRHVtcE5vdGF0aW9uRGVjbAkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyUHRyIj54bWxCdWZmZXJQdHI8L2E+IGJ1ZiwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb3RhdGlvblB0ciI+eG1sTm90YXRpb25QdHI8L2E+IG5vdGEpPGJyIC8+Cis8L3ByZT48cD5UaGlzIHdpbGwgZHVtcCB0aGUgY29udGVudCB0aGUgbm90YXRpb24gZGVjbGFyYXRpb24gYXMgYW4gWE1MIERURCBkZWZpbml0aW9uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YnVmPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWE1MIGJ1ZmZlciBvdXRwdXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vdGE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPkEgbm90YXRpb24gZGVjbGFyYXRpb248L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxEdW1wTm90YXRpb25UYWJsZSIgaWQ9InhtbER1bXBOb3RhdGlvblRhYmxlIj48L2E+RnVuY3Rpb246IHhtbER1bXBOb3RhdGlvblRhYmxlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxEdW1wTm90YXRpb25UYWJsZQkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyUHRyIj54bWxCdWZmZXJQdHI8L2E+IGJ1ZiwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXZhbGlkLmh0bWwjeG1sTm90YXRpb25UYWJsZVB0ciI+eG1sTm90YXRpb25UYWJsZVB0cjwvYT4gdGFibGUpPGJyIC8+Cis8L3ByZT48cD5UaGlzIHdpbGwgZHVtcCB0aGUgY29udGVudCBvZiB0aGUgbm90YXRpb24gdGFibGUgYXMgYW4gWE1MIERURCBkZWZpbml0aW9uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YnVmPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWE1MIGJ1ZmZlciBvdXRwdXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRhYmxlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5BIG5vdGF0aW9uIHRhYmxlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sRnJlZUF0dHJpYnV0ZVRhYmxlIiBpZD0ieG1sRnJlZUF0dHJpYnV0ZVRhYmxlIj48L2E+RnVuY3Rpb246IHhtbEZyZWVBdHRyaWJ1dGVUYWJsZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sRnJlZUF0dHJpYnV0ZVRhYmxlCQkoPGEgaHJlZj0ibGlieG1sLXZhbGlkLmh0bWwjeG1sQXR0cmlidXRlVGFibGVQdHIiPnhtbEF0dHJpYnV0ZVRhYmxlUHRyPC9hPiB0YWJsZSk8YnIgLz4KKzwvcHJlPjxwPkRlYWxsb2NhdGUgdGhlIG1lbW9yeSB1c2VkIGJ5IGFuIGVudGl0aWVzIGhhc2ggdGFibGUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dGFibGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPkFuIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gdGFibGU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxGcmVlRG9jRWxlbWVudENvbnRlbnQiIGlkPSJ4bWxGcmVlRG9jRWxlbWVudENvbnRlbnQiPjwvYT5GdW5jdGlvbjogeG1sRnJlZURvY0VsZW1lbnRDb250ZW50PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxGcmVlRG9jRWxlbWVudENvbnRlbnQJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxFbGVtZW50Q29udGVudFB0ciI+eG1sRWxlbWVudENvbnRlbnRQdHI8L2E+IGN1cik8YnIgLz4KKzwvcHJlPjxwPkZyZWUgYW4gZWxlbWVudCBjb250ZW50IHN0cnVjdHVyZS4gVGhlIHdob2xlIHN1YnRyZWUgaXMgcmVtb3ZlZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudCBvd25pbmcgdGhlIGVsZW1lbnQgZGVjbGFyYXRpb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVsZW1lbnQgY29udGVudCB0cmVlIHRvIGZyZWU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxGcmVlRWxlbWVudENvbnRlbnQiIGlkPSJ4bWxGcmVlRWxlbWVudENvbnRlbnQiPjwvYT5GdW5jdGlvbjogeG1sRnJlZUVsZW1lbnRDb250ZW50PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxGcmVlRWxlbWVudENvbnRlbnQJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVsZW1lbnRDb250ZW50UHRyIj54bWxFbGVtZW50Q29udGVudFB0cjwvYT4gY3VyKTxiciAvPgorPC9wcmU+PHA+RnJlZSBhbiBlbGVtZW50IGNvbnRlbnQgc3RydWN0dXJlLiBUaGUgd2hvbGUgc3VidHJlZSBpcyByZW1vdmVkLiBEZXByZWNhdGVkLCB1c2UgPGEgaHJlZj0ibGlieG1sLXZhbGlkLmh0bWwjeG1sRnJlZURvY0VsZW1lbnRDb250ZW50Ij54bWxGcmVlRG9jRWxlbWVudENvbnRlbnQ8L2E+IGluc3RlYWQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbGVtZW50IGNvbnRlbnQgdHJlZSB0byBmcmVlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sRnJlZUVsZW1lbnRUYWJsZSIgaWQ9InhtbEZyZWVFbGVtZW50VGFibGUiPjwvYT5GdW5jdGlvbjogeG1sRnJlZUVsZW1lbnRUYWJsZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sRnJlZUVsZW1lbnRUYWJsZQkJKDxhIGhyZWY9ImxpYnhtbC12YWxpZC5odG1sI3htbEVsZW1lbnRUYWJsZVB0ciI+eG1sRWxlbWVudFRhYmxlUHRyPC9hPiB0YWJsZSk8YnIgLz4KKzwvcHJlPjxwPkRlYWxsb2NhdGUgdGhlIG1lbW9yeSB1c2VkIGJ5IGFuIGVsZW1lbnQgaGFzaCB0YWJsZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50YWJsZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+QW4gZWxlbWVudCB0YWJsZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEZyZWVFbnVtZXJhdGlvbiIgaWQ9InhtbEZyZWVFbnVtZXJhdGlvbiI+PC9hPkZ1bmN0aW9uOiB4bWxGcmVlRW51bWVyYXRpb248L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbEZyZWVFbnVtZXJhdGlvbgkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRW51bWVyYXRpb25QdHIiPnhtbEVudW1lcmF0aW9uUHRyPC9hPiBjdXIpPGJyIC8+Cis8L3ByZT48cD5mcmVlIGFuIGVudW1lcmF0aW9uIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gbm9kZSAocmVjdXJzaXZlKS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB0cmVlIHRvIGZyZWUuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sRnJlZUlEVGFibGUiIGlkPSJ4bWxGcmVlSURUYWJsZSI+PC9hPkZ1bmN0aW9uOiB4bWxGcmVlSURUYWJsZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sRnJlZUlEVGFibGUJCQkoPGEgaHJlZj0ibGlieG1sLXZhbGlkLmh0bWwjeG1sSURUYWJsZVB0ciI+eG1sSURUYWJsZVB0cjwvYT4gdGFibGUpPGJyIC8+Cis8L3ByZT48cD5EZWFsbG9jYXRlIHRoZSBtZW1vcnkgdXNlZCBieSBhbiBJRCBoYXNoIHRhYmxlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRhYmxlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5BbiBpZCB0YWJsZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEZyZWVOb3RhdGlvblRhYmxlIiBpZD0ieG1sRnJlZU5vdGF0aW9uVGFibGUiPjwvYT5GdW5jdGlvbjogeG1sRnJlZU5vdGF0aW9uVGFibGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbEZyZWVOb3RhdGlvblRhYmxlCQkoPGEgaHJlZj0ibGlieG1sLXZhbGlkLmh0bWwjeG1sTm90YXRpb25UYWJsZVB0ciI+eG1sTm90YXRpb25UYWJsZVB0cjwvYT4gdGFibGUpPGJyIC8+Cis8L3ByZT48cD5EZWFsbG9jYXRlIHRoZSBtZW1vcnkgdXNlZCBieSBhbiBlbnRpdGllcyBoYXNoIHRhYmxlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRhYmxlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5BbiBub3RhdGlvbiB0YWJsZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEZyZWVSZWZUYWJsZSIgaWQ9InhtbEZyZWVSZWZUYWJsZSI+PC9hPkZ1bmN0aW9uOiB4bWxGcmVlUmVmVGFibGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbEZyZWVSZWZUYWJsZQkJCSg8YSBocmVmPSJsaWJ4bWwtdmFsaWQuaHRtbCN4bWxSZWZUYWJsZVB0ciI+eG1sUmVmVGFibGVQdHI8L2E+IHRhYmxlKTxiciAvPgorPC9wcmU+PHA+RGVhbGxvY2F0ZSB0aGUgbWVtb3J5IHVzZWQgYnkgYW4gUmVmIGhhc2ggdGFibGUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dGFibGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPkFuIHJlZiB0YWJsZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEZyZWVWYWxpZEN0eHQiIGlkPSJ4bWxGcmVlVmFsaWRDdHh0Ij48L2E+RnVuY3Rpb246IHhtbEZyZWVWYWxpZEN0eHQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbEZyZWVWYWxpZEN0eHQJCSg8YSBocmVmPSJsaWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZEN0eHRQdHIiPnhtbFZhbGlkQ3R4dFB0cjwvYT4gY3VyKTxiciAvPgorPC9wcmU+PHA+RnJlZSBhIHZhbGlkYXRpb24gY29udGV4dCBzdHJ1Y3R1cmUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdmFsaWRhdGlvbiBjb250ZXh0IHRvIGZyZWU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxHZXREdGRBdHRyRGVzYyIgaWQ9InhtbEdldER0ZEF0dHJEZXNjIj48L2E+RnVuY3Rpb246IHhtbEdldER0ZEF0dHJEZXNjPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxBdHRyaWJ1dGVQdHIiPnhtbEF0dHJpYnV0ZVB0cjwvYT4JeG1sR2V0RHRkQXR0ckRlc2MJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRHRkUHRyIj54bWxEdGRQdHI8L2E+IGR0ZCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogZWxlbSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSk8YnIgLz4KKzwvcHJlPjxwPlNlYXJjaCB0aGUgRFREIGZvciB0aGUgZGVzY3JpcHRpb24gb2YgdGhpcyA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IG9uIHRoaXMgZWxlbWVudC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kdGQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byB0aGUgRHREIHRvIHNlYXJjaDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZWxlbTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVsZW1lbnQgbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQXR0cmlidXRlUHRyIj54bWxBdHRyaWJ1dGVQdHI8L2E+IGlmIGZvdW5kIG9yIE5VTEw8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxHZXREdGRFbGVtZW50RGVzYyIgaWQ9InhtbEdldER0ZEVsZW1lbnREZXNjIj48L2E+RnVuY3Rpb246IHhtbEdldER0ZEVsZW1lbnREZXNjPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxFbGVtZW50UHRyIj54bWxFbGVtZW50UHRyPC9hPgl4bWxHZXREdGRFbGVtZW50RGVzYwkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEdGRQdHIiPnhtbER0ZFB0cjwvYT4gZHRkLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKTxiciAvPgorPC9wcmU+PHA+U2VhcmNoIHRoZSBEVEQgZm9yIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGlzIGVsZW1lbnQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kdGQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byB0aGUgRHREIHRvIHNlYXJjaDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVsZW1lbnQgbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRWxlbWVudFB0ciI+eG1sRWxlbWVudFB0cjwvYT4gaWYgZm91bmQgb3IgTlVMTDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEdldER0ZE5vdGF0aW9uRGVzYyIgaWQ9InhtbEdldER0ZE5vdGF0aW9uRGVzYyI+PC9hPkZ1bmN0aW9uOiB4bWxHZXREdGROb3RhdGlvbkRlc2M8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vdGF0aW9uUHRyIj54bWxOb3RhdGlvblB0cjwvYT4JeG1sR2V0RHRkTm90YXRpb25EZXNjCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbER0ZFB0ciI+eG1sRHRkUHRyPC9hPiBkdGQsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpPGJyIC8+Cis8L3ByZT48cD5TZWFyY2ggdGhlIERURCBmb3IgdGhlIGRlc2NyaXB0aW9uIG9mIHRoaXMgbm90YXRpb248L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kdGQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byB0aGUgRHREIHRvIHNlYXJjaDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vdGF0aW9uIG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vdGF0aW9uUHRyIj54bWxOb3RhdGlvblB0cjwvYT4gaWYgZm91bmQgb3IgTlVMTDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEdldER0ZFFBdHRyRGVzYyIgaWQ9InhtbEdldER0ZFFBdHRyRGVzYyI+PC9hPkZ1bmN0aW9uOiB4bWxHZXREdGRRQXR0ckRlc2M8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEF0dHJpYnV0ZVB0ciI+eG1sQXR0cmlidXRlUHRyPC9hPgl4bWxHZXREdGRRQXR0ckRlc2MJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRHRkUHRyIj54bWxEdGRQdHI8L2E+IGR0ZCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogZWxlbSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHJlZml4KTxiciAvPgorPC9wcmU+PHA+U2VhcmNoIHRoZSBEVEQgZm9yIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGlzIHF1YWxpZmllZCA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IG9uIHRoaXMgZWxlbWVudC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kdGQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byB0aGUgRHREIHRvIHNlYXJjaDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZWxlbTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVsZW1lbnQgbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cHJlZml4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBuYW1lc3BhY2UgcHJlZml4PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxBdHRyaWJ1dGVQdHIiPnhtbEF0dHJpYnV0ZVB0cjwvYT4gaWYgZm91bmQgb3IgTlVMTDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEdldER0ZFFFbGVtZW50RGVzYyIgaWQ9InhtbEdldER0ZFFFbGVtZW50RGVzYyI+PC9hPkZ1bmN0aW9uOiB4bWxHZXREdGRRRWxlbWVudERlc2M8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVsZW1lbnRQdHIiPnhtbEVsZW1lbnRQdHI8L2E+CXhtbEdldER0ZFFFbGVtZW50RGVzYwkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEdGRQdHIiPnhtbER0ZFB0cjwvYT4gZHRkLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwcmVmaXgpPGJyIC8+Cis8L3ByZT48cD5TZWFyY2ggdGhlIERURCBmb3IgdGhlIGRlc2NyaXB0aW9uIG9mIHRoaXMgZWxlbWVudDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmR0ZDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIHRoZSBEdEQgdG8gc2VhcmNoPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZWxlbWVudCBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wcmVmaXg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbGVtZW50IG5hbWVzcGFjZSBwcmVmaXg8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVsZW1lbnRQdHIiPnhtbEVsZW1lbnRQdHI8L2E+IGlmIGZvdW5kIG9yIE5VTEw8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxHZXRJRCIgaWQ9InhtbEdldElEIj48L2E+RnVuY3Rpb246IHhtbEdldElEPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxBdHRyUHRyIj54bWxBdHRyUHRyPC9hPgl4bWxHZXRJRAkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogSUQpPGJyIC8+Cis8L3ByZT48cD5TZWFyY2ggdGhlIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gZGVjbGFyaW5nIHRoZSBnaXZlbiBJRDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+cG9pbnRlciB0byB0aGUgZG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PklEPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgSUQgdmFsdWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPk5VTEwgaWYgbm90IGZvdW5kLCBvdGhlcndpc2UgdGhlIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQXR0clB0ciI+eG1sQXR0clB0cjwvYT4gZGVmaW5pbmcgdGhlIElEPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sR2V0UmVmcyIgaWQ9InhtbEdldFJlZnMiPjwvYT5GdW5jdGlvbjogeG1sR2V0UmVmczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdFB0ciI+eG1sTGlzdFB0cjwvYT4JeG1sR2V0UmVmcwkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogSUQpPGJyIC8+Cis8L3ByZT48cD5GaW5kIHRoZSBzZXQgb2YgcmVmZXJlbmNlcyBmb3IgdGhlIHN1cHBsaWVkIElELjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+cG9pbnRlciB0byB0aGUgZG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PklEPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgSUQgdmFsdWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPk5VTEwgaWYgbm90IGZvdW5kLCBvdGhlcndpc2Ugbm9kZSBzZXQgZm9yIHRoZSBJRC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxJc0lEIiBpZD0ieG1sSXNJRCI+PC9hPkZ1bmN0aW9uOiB4bWxJc0lEPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbElzSUQJCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGVsZW0sIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQXR0clB0ciI+eG1sQXR0clB0cjwvYT4gYXR0cik8YnIgLz4KKzwvcHJlPjxwPkRldGVybWluZSB3aGV0aGVyIGFuIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gaXMgb2YgdHlwZSBJRC4gSW4gY2FzZSB3ZSBoYXZlIERURChzKSB0aGVuIHRoaXMgaXMgZG9uZSBpZiBEVEQgbG9hZGluZyBoYXMgYmVlbiByZXF1ZXN0ZWQuIEluIHRoZSBjYXNlIG9mIEhUTUwgZG9jdW1lbnRzIHBhcnNlZCB3aXRoIHRoZSBIVE1MIHBhcnNlciwgdGhlbiBJRCBkZXRlY3Rpb24gaXMgZG9uZSBzeXN0ZW1hdGljYWxseS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZWxlbTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVsZW1lbnQgY2FycnlpbmcgdGhlIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmF0dHI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIG9yIDEgZGVwZW5kaW5nIG9uIHRoZSBsb29rdXAgcmVzdWx0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sSXNNaXhlZEVsZW1lbnQiIGlkPSJ4bWxJc01peGVkRWxlbWVudCI+PC9hPkZ1bmN0aW9uOiB4bWxJc01peGVkRWxlbWVudDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxJc01peGVkRWxlbWVudAkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSk8YnIgLz4KKzwvcHJlPjxwPlNlYXJjaCBpbiB0aGUgRHREcyB3aGV0aGVyIGFuIGVsZW1lbnQgYWNjZXB0IE1peGVkIGNvbnRlbnQgKG9yIEFOWSkgYmFzaWNhbGx5IGlmIGl0IGlzIHN1cHBvc2VkIHRvIGFjY2VwdCB0ZXh0IGNoaWxkczwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZWxlbWVudCBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGlmIG5vLCAxIGlmIHllcywgYW5kIC0xIGlmIG5vIGVsZW1lbnQgZGVzY3JpcHRpb24gaXMgYXZhaWxhYmxlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sSXNSZWYiIGlkPSJ4bWxJc1JlZiI+PC9hPkZ1bmN0aW9uOiB4bWxJc1JlZjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxJc1JlZgkJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gZWxlbSwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxBdHRyUHRyIj54bWxBdHRyUHRyPC9hPiBhdHRyKTxiciAvPgorPC9wcmU+PHA+RGV0ZXJtaW5lIHdoZXRoZXIgYW4gPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBpcyBvZiB0eXBlIFJlZi4gSW4gY2FzZSB3ZSBoYXZlIERURChzKSB0aGVuIHRoaXMgaXMgc2ltcGxlLCBvdGhlcndpc2Ugd2UgdXNlIGFuIGhldXJpc3RpYzogbmFtZSBSZWYgKHVwcGVyIG9yIGxvd2VyY2FzZSkuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVsZW08L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbGVtZW50IGNhcnJ5aW5nIHRoZSA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5hdHRyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBvciAxIGRlcGVuZGluZyBvbiB0aGUgbG9va3VwIHJlc3VsdDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbE5ld0RvY0VsZW1lbnRDb250ZW50IiBpZD0ieG1sTmV3RG9jRWxlbWVudENvbnRlbnQiPjwvYT5GdW5jdGlvbjogeG1sTmV3RG9jRWxlbWVudENvbnRlbnQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVsZW1lbnRDb250ZW50UHRyIj54bWxFbGVtZW50Q29udGVudFB0cjwvYT4JeG1sTmV3RG9jRWxlbWVudENvbnRlbnQJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyIC8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVsZW1lbnRDb250ZW50VHlwZSI+eG1sRWxlbWVudENvbnRlbnRUeXBlPC9hPiB0eXBlKTxiciAvPgorPC9wcmU+PHA+QWxsb2NhdGUgYW4gZWxlbWVudCBjb250ZW50IHN0cnVjdHVyZSBmb3IgdGhlIGRvY3VtZW50LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc3ViZWxlbWVudCBuYW1lIG9yIE5VTEw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnR5cGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB0eXBlIG9mIGVsZW1lbnQgY29udGVudCBkZWNsPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5OVUxMIGlmIG5vdCwgb3RoZXJ3aXNlIHRoZSBuZXcgZWxlbWVudCBjb250ZW50IHN0cnVjdHVyZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbE5ld0VsZW1lbnRDb250ZW50IiBpZD0ieG1sTmV3RWxlbWVudENvbnRlbnQiPjwvYT5GdW5jdGlvbjogeG1sTmV3RWxlbWVudENvbnRlbnQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVsZW1lbnRDb250ZW50UHRyIj54bWxFbGVtZW50Q29udGVudFB0cjwvYT4JeG1sTmV3RWxlbWVudENvbnRlbnQJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVsZW1lbnRDb250ZW50VHlwZSI+eG1sRWxlbWVudENvbnRlbnRUeXBlPC9hPiB0eXBlKTxiciAvPgorPC9wcmU+PHA+QWxsb2NhdGUgYW4gZWxlbWVudCBjb250ZW50IHN0cnVjdHVyZS4gRGVwcmVjYXRlZCBpbiBmYXZvciBvZiA8YSBocmVmPSJsaWJ4bWwtdmFsaWQuaHRtbCN4bWxOZXdEb2NFbGVtZW50Q29udGVudCI+eG1sTmV3RG9jRWxlbWVudENvbnRlbnQ8L2E+PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHN1YmVsZW1lbnQgbmFtZSBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50eXBlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdHlwZSBvZiBlbGVtZW50IGNvbnRlbnQgZGVjbDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+TlVMTCBpZiBub3QsIG90aGVyd2lzZSB0aGUgbmV3IGVsZW1lbnQgY29udGVudCBzdHJ1Y3R1cmU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxOZXdWYWxpZEN0eHQiIGlkPSJ4bWxOZXdWYWxpZEN0eHQiPjwvYT5GdW5jdGlvbjogeG1sTmV3VmFsaWRDdHh0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRDdHh0UHRyIj54bWxWYWxpZEN0eHRQdHI8L2E+CXhtbE5ld1ZhbGlkQ3R4dAkJKHZvaWQpPGJyIC8+Cis8L3ByZT48cD5BbGxvY2F0ZSBhIHZhbGlkYXRpb24gY29udGV4dCBzdHJ1Y3R1cmUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+TlVMTCBpZiBub3QsIG90aGVyd2lzZSB0aGUgbmV3IHZhbGlkYXRpb24gY29udGV4dCBzdHJ1Y3R1cmU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxSZW1vdmVJRCIgaWQ9InhtbFJlbW92ZUlEIj48L2E+RnVuY3Rpb246IHhtbFJlbW92ZUlEPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFJlbW92ZUlECQkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxBdHRyUHRyIj54bWxBdHRyUHRyPC9hPiBhdHRyKTxiciAvPgorPC9wcmU+PHA+UmVtb3ZlIHRoZSBnaXZlbiA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IGZyb20gdGhlIElEIHRhYmxlIG1haW50YWluZWQgaW50ZXJuYWxseS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YXR0cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPi0xIGlmIHRoZSBsb29rdXAgZmFpbGVkIGFuZCAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFJlbW92ZVJlZiIgaWQ9InhtbFJlbW92ZVJlZiI+PC9hPkZ1bmN0aW9uOiB4bWxSZW1vdmVSZWY8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sUmVtb3ZlUmVmCQkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxBdHRyUHRyIj54bWxBdHRyUHRyPC9hPiBhdHRyKTxiciAvPgorPC9wcmU+PHA+UmVtb3ZlIHRoZSBnaXZlbiA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IGZyb20gdGhlIFJlZiB0YWJsZSBtYWludGFpbmVkIGludGVybmFsbHkuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmF0dHI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4tMSBpZiB0aGUgbG9va3VwIGZhaWxlZCBhbmQgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTbnByaW50ZkVsZW1lbnRDb250ZW50IiBpZD0ieG1sU25wcmludGZFbGVtZW50Q29udGVudCI+PC9hPkZ1bmN0aW9uOiB4bWxTbnByaW50ZkVsZW1lbnRDb250ZW50PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxTbnByaW50ZkVsZW1lbnRDb250ZW50CShjaGFyICogYnVmLCA8YnIgLz4JCQkJCSBpbnQgc2l6ZSwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxFbGVtZW50Q29udGVudFB0ciI+eG1sRWxlbWVudENvbnRlbnRQdHI8L2E+IGNvbnRlbnQsIDxiciAvPgkJCQkJIGludCBlbmdsb2IpPGJyIC8+Cis8L3ByZT48cD5UaGlzIHdpbGwgZHVtcCB0aGUgY29udGVudCBvZiB0aGUgZWxlbWVudCBjb250ZW50IGRlZmluaXRpb24gSW50ZW5kZWQganVzdCBmb3IgdGhlIGRlYnVnIHJvdXRpbmU8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5idWY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIG91dHB1dCBidWZmZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNpemU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBidWZmZXIgc2l6ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29udGVudDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+QW4gZWxlbWVudCB0YWJsZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5nbG9iPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIG9uZSBtdXN0IHByaW50IHRoZSBlbmdsb2JpbmcgcGFyZW50aGVzaXMsIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU3ByaW50ZkVsZW1lbnRDb250ZW50IiBpZD0ieG1sU3ByaW50ZkVsZW1lbnRDb250ZW50Ij48L2E+RnVuY3Rpb246IHhtbFNwcmludGZFbGVtZW50Q29udGVudDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sU3ByaW50ZkVsZW1lbnRDb250ZW50CShjaGFyICogYnVmLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVsZW1lbnRDb250ZW50UHRyIj54bWxFbGVtZW50Q29udGVudFB0cjwvYT4gY29udGVudCwgPGJyIC8+CQkJCQkgaW50IGVuZ2xvYik8YnIgLz4KKzwvcHJlPjxwPkRlcHJlY2F0ZWQsIHVuc2FmZSwgdXNlIDxhIGhyZWY9ImxpYnhtbC12YWxpZC5odG1sI3htbFNucHJpbnRmRWxlbWVudENvbnRlbnQiPnhtbFNucHJpbnRmRWxlbWVudENvbnRlbnQ8L2E+PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YnVmPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBvdXRwdXQgYnVmZmVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb250ZW50PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5BbiBlbGVtZW50IHRhYmxlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbmdsb2I8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgb25lIG11c3QgcHJpbnQgdGhlIGVuZ2xvYmluZyBwYXJlbnRoZXNpcywgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxWYWxpZEJ1aWxkQ29udGVudE1vZGVsIiBpZD0ieG1sVmFsaWRCdWlsZENvbnRlbnRNb2RlbCI+PC9hPkZ1bmN0aW9uOiB4bWxWYWxpZEJ1aWxkQ29udGVudE1vZGVsPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFZhbGlkQnVpbGRDb250ZW50TW9kZWwJKDxhIGhyZWY9ImxpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkQ3R4dFB0ciI+eG1sVmFsaWRDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVsZW1lbnRQdHIiPnhtbEVsZW1lbnRQdHI8L2E+IGVsZW0pPGJyIC8+Cis8L3ByZT48cD4oUmUpQnVpbGQgdGhlIGF1dG9tYXRhIGFzc29jaWF0ZWQgdG8gdGhlIGNvbnRlbnQgbW9kZWwgb2YgdGhpcyBlbGVtZW50PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSB2YWxpZGF0aW9uIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVsZW08L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIGVsZW1lbnQgZGVjbGFyYXRpb24gbm9kZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpbiBjYXNlIG9mIHN1Y2Nlc3MsIDAgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFZhbGlkQ3R4dE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlIiBpZD0ieG1sVmFsaWRDdHh0Tm9ybWFsaXplQXR0cmlidXRlVmFsdWUiPjwvYT5GdW5jdGlvbjogeG1sVmFsaWRDdHh0Tm9ybWFsaXplQXR0cmlidXRlVmFsdWU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxWYWxpZEN0eHROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZQkoPGEgaHJlZj0ibGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRDdHh0UHRyIj54bWxWYWxpZEN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIgLz4JCQkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gZWxlbSwgPGJyIC8+CQkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHZhbHVlKTxiciAvPgorPC9wcmU+PHA+RG9lcyB0aGUgdmFsaWRhdGlvbiByZWxhdGVkIGV4dHJhIHN0ZXAgb2YgdGhlIG5vcm1hbGl6YXRpb24gb2YgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiB2YWx1ZXM6IElmIHRoZSBkZWNsYXJlZCB2YWx1ZSBpcyBub3QgQ0RBVEEsIHRoZW4gdGhlIFhNTCBwcm9jZXNzb3IgbXVzdCBmdXJ0aGVyIHByb2Nlc3MgdGhlIG5vcm1hbGl6ZWQgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiB2YWx1ZSBieSBkaXNjYXJkaW5nIGFueSBsZWFkaW5nIGFuZCB0cmFpbGluZyBzcGFjZSAoI3gyMCkgY2hhcmFjdGVycywgYW5kIGJ5IHJlcGxhY2luZyBzZXF1ZW5jZXMgb2Ygc3BhY2UgKCN4MjApIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNjaGFyYWN0ZXJzIj5jaGFyYWN0ZXJzPC9hPiBieSBzaW5nbGUgc3BhY2UgKCN4MjApIGNoYXJhY3Rlci4gQWxzbyBjaGVjayBWQzogU3RhbmRhbG9uZSBEb2N1bWVudCBEZWNsYXJhdGlvbiBpbiBQMzIsIGFuZCB1cGRhdGUgY3R4dC0mZ3Q7dmFsaWQgYWNjb3JkaW5nbHk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdmFsaWRhdGlvbiBjb250ZXh0IG9yIE5VTEw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbGVtPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcGFyZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWx1ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gdmFsdWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbmV3IG5vcm1hbGl6ZWQgc3RyaW5nIGlmIG5vcm1hbGl6YXRpb24gaXMgbmVlZGVkLCBOVUxMIG90aGVyd2lzZSB0aGUgY2FsbGVyIG11c3QgZnJlZSB0aGUgcmV0dXJuZWQgdmFsdWUuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVmFsaWRHZXRQb3RlbnRpYWxDaGlsZHJlbiIgaWQ9InhtbFZhbGlkR2V0UG90ZW50aWFsQ2hpbGRyZW4iPjwvYT5GdW5jdGlvbjogeG1sVmFsaWRHZXRQb3RlbnRpYWxDaGlsZHJlbjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxWYWxpZEdldFBvdGVudGlhbENoaWxkcmVuCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVsZW1lbnRDb250ZW50Ij54bWxFbGVtZW50Q29udGVudDwvYT4gKiBjdHJlZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoqIG5hbWVzLCA8YnIgLz4JCQkJCSBpbnQgKiBsZW4sIDxiciAvPgkJCQkJIGludCBtYXgpPGJyIC8+Cis8L3ByZT48cD5CdWlsZC9leHRlbmQgYSBsaXN0IG9mIHBvdGVudGlhbCBjaGlsZHJlbiBhbGxvd2VkIGJ5IHRoZSBjb250ZW50IHRyZWU8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHJlZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gZWxlbWVudCBjb250ZW50IHRyZWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWVzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBhcnJheSB0byBzdG9yZSB0aGUgbGlzdCBvZiBjaGlsZCBuYW1lczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGVuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gdGhlIG51bWJlciBvZiBlbGVtZW50IGluIHRoZSBsaXN0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5tYXg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzaXplIG9mIHRoZSBhcnJheTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBlbGVtZW50IGluIHRoZSBsaXN0LCBvciAtMSBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFZhbGlkR2V0VmFsaWRFbGVtZW50cyIgaWQ9InhtbFZhbGlkR2V0VmFsaWRFbGVtZW50cyI+PC9hPkZ1bmN0aW9uOiB4bWxWYWxpZEdldFZhbGlkRWxlbWVudHM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGUiPnhtbE5vZGU8L2E+ICogcHJldiwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlIj54bWxOb2RlPC9hPiAqIG5leHQsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqKiBuYW1lcywgPGJyIC8+CQkJCQkgaW50IG1heCk8YnIgLz4KKzwvcHJlPjxwPlRoaXMgZnVuY3Rpb24gcmV0dXJucyB0aGUgbGlzdCBvZiBhdXRob3JpemVkIGNoaWxkcmVuIHRvIGluc2VydCB3aXRoaW4gYW4gZXhpc3RpbmcgdHJlZSB3aGlsZSByZXNwZWN0aW5nIHRoZSB2YWxpZGl0eSBjb25zdHJhaW50cyBmb3JjZWQgYnkgdGhlIER0ZC4gVGhlIGluc2VydGlvbiBwb2ludCBpcyBkZWZpbmVkIHVzaW5nIEBwcmV2IGFuZCBAbmV4dCBpbiB0aGUgZm9sbG93aW5nIHdheXM6IHRvIGluc2VydCBiZWZvcmUgJ25vZGUnOiB4bWxWYWxpZEdldFZhbGlkRWxlbWVudHMobm9kZS0mZ3Q7cHJldiwgbm9kZSwgLi4uIHRvIGluc2VydCBuZXh0ICdub2RlJzogeG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzKG5vZGUsIG5vZGUtJmd0O25leHQsIC4uLiB0byByZXBsYWNlICdub2RlJzogeG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzKG5vZGUtJmd0O3ByZXYsIG5vZGUtJmd0O25leHQsIC4uLiB0byBwcmVwZW5kIGEgY2hpbGQgdG8gJ25vZGUnOiB4bWxWYWxpZEdldFZhbGlkRWxlbWVudHMoTlVMTCwgbm9kZS0mZ3Q7Y2hpbGRzLCB0byBhcHBlbmQgYSBjaGlsZCB0byAnbm9kZSc6IHhtbFZhbGlkR2V0VmFsaWRFbGVtZW50cyhub2RlLSZndDtsYXN0LCBOVUxMLCAuLi4gcG9pbnRlcnMgdG8gdGhlIGVsZW1lbnQgbmFtZXMgYXJlIGluc2VydGVkIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGFycmF5IGFuZCBkbyBub3QgbmVlZCB0byBiZSBmcmVlZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wcmV2PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBlbGVtZW50IHRvIGluc2VydCBhZnRlcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmV4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gZWxlbWVudCB0byBpbnNlcnQgbmV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZXM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIGFycmF5IHRvIHN0b3JlIHRoZSBsaXN0IG9mIGNoaWxkIG5hbWVzPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5tYXg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzaXplIG9mIHRoZSBhcnJheTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBlbGVtZW50IGluIHRoZSBsaXN0LCBvciAtMSBpbiBjYXNlIG9mIGVycm9yLiBJZiB0aGUgZnVuY3Rpb24gcmV0dXJucyB0aGUgdmFsdWUgQG1heCB0aGUgY2FsbGVyIGlzIGludml0ZWQgdG8gZ3JvdyB0aGUgcmVjZWl2aW5nIGFycmF5IGFuZCByZXRyeS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxWYWxpZE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlIiBpZD0ieG1sVmFsaWROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZSI+PC9hPkZ1bmN0aW9uOiB4bWxWYWxpZE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sVmFsaWROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIgLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBlbGVtLCA8YnIgLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHZhbHVlKTxiciAvPgorPC9wcmU+PHA+RG9lcyB0aGUgdmFsaWRhdGlvbiByZWxhdGVkIGV4dHJhIHN0ZXAgb2YgdGhlIG5vcm1hbGl6YXRpb24gb2YgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiB2YWx1ZXM6IElmIHRoZSBkZWNsYXJlZCB2YWx1ZSBpcyBub3QgQ0RBVEEsIHRoZW4gdGhlIFhNTCBwcm9jZXNzb3IgbXVzdCBmdXJ0aGVyIHByb2Nlc3MgdGhlIG5vcm1hbGl6ZWQgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiB2YWx1ZSBieSBkaXNjYXJkaW5nIGFueSBsZWFkaW5nIGFuZCB0cmFpbGluZyBzcGFjZSAoI3gyMCkgY2hhcmFjdGVycywgYW5kIGJ5IHJlcGxhY2luZyBzZXF1ZW5jZXMgb2Ygc3BhY2UgKCN4MjApIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNjaGFyYWN0ZXJzIj5jaGFyYWN0ZXJzPC9hPiBieSBzaW5nbGUgc3BhY2UgKCN4MjApIGNoYXJhY3Rlci48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZWxlbTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHBhcmVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsdWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IHZhbHVlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIG5ldyBub3JtYWxpemVkIHN0cmluZyBpZiBub3JtYWxpemF0aW9uIGlzIG5lZWRlZCwgTlVMTCBvdGhlcndpc2UgdGhlIGNhbGxlciBtdXN0IGZyZWUgdGhlIHJldHVybmVkIHZhbHVlLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFZhbGlkYXRlQXR0cmlidXRlRGVjbCIgaWQ9InhtbFZhbGlkYXRlQXR0cmlidXRlRGVjbCI+PC9hPkZ1bmN0aW9uOiB4bWxWYWxpZGF0ZUF0dHJpYnV0ZURlY2w8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVmFsaWRhdGVBdHRyaWJ1dGVEZWNsCSg8YSBocmVmPSJsaWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZEN0eHRQdHIiPnhtbFZhbGlkQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEF0dHJpYnV0ZVB0ciI+eG1sQXR0cmlidXRlUHRyPC9hPiBhdHRyKTxiciAvPgorPC9wcmU+PHA+VHJ5IHRvIHZhbGlkYXRlIGEgc2luZ2xlIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gZGVmaW5pdGlvbiBiYXNpY2FsbHkgaXQgZG9lcyB0aGUgZm9sbG93aW5nIGNoZWNrcyBhcyBkZXNjcmliZWQgYnkgdGhlIFhNTC0xLjAgcmVjb21tZW5kYXRpb246IC0gWyBWQzogQXR0cmlidXRlIERlZmF1bHQgTGVnYWwgXSAtIFsgVkM6IEVudW1lcmF0aW9uIF0gLSBbIFZDOiBJRCBBdHRyaWJ1dGUgRGVmYXVsdCBdIFRoZSBJRC9JRFJFRiB1bmlxdWVuZXNzIGFuZCBtYXRjaGluZyBhcmUgZG9uZSBzZXBhcmF0ZWx5PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHZhbGlkYXRpb24gY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGRvY3VtZW50IGluc3RhbmNlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5hdHRyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IGRlZmluaXRpb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdmFsaWQgb3IgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxWYWxpZGF0ZUF0dHJpYnV0ZVZhbHVlIiBpZD0ieG1sVmFsaWRhdGVBdHRyaWJ1dGVWYWx1ZSI+PC9hPkZ1bmN0aW9uOiB4bWxWYWxpZGF0ZUF0dHJpYnV0ZVZhbHVlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFZhbGlkYXRlQXR0cmlidXRlVmFsdWUJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQXR0cmlidXRlVHlwZSI+eG1sQXR0cmlidXRlVHlwZTwvYT4gdHlwZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUpPGJyIC8+Cis8L3ByZT48cD5WYWxpZGF0ZSB0aGF0IHRoZSBnaXZlbiA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IHZhbHVlIG1hdGNoIHRoZSBwcm9wZXIgcHJvZHVjdGlvbiBbIFZDOiBJRCBdIFZhbHVlcyBvZiB0eXBlIElEIG11c3QgbWF0Y2ggdGhlIE5hbWUgcHJvZHVjdGlvbi4uLi4gWyBWQzogSURSRUYgXSBWYWx1ZXMgb2YgdHlwZSBJRFJFRiBtdXN0IG1hdGNoIHRoZSBOYW1lIHByb2R1Y3Rpb24sIGFuZCB2YWx1ZXMgb2YgdHlwZSBJRFJFRlMgbXVzdCBtYXRjaCBOYW1lcyAuLi4gWyBWQzogRW50aXR5IE5hbWUgXSBWYWx1ZXMgb2YgdHlwZSBFTlRJVFkgbXVzdCBtYXRjaCB0aGUgTmFtZSBwcm9kdWN0aW9uLCB2YWx1ZXMgb2YgdHlwZSBFTlRJVElFUyBtdXN0IG1hdGNoIE5hbWVzIC4uLiBbIFZDOiBOYW1lIFRva2VuIF0gVmFsdWVzIG9mIHR5cGUgTk1UT0tFTiBtdXN0IG1hdGNoIHRoZSBObXRva2VuIHByb2R1Y3Rpb247IHZhbHVlcyBvZiB0eXBlIE5NVE9LRU5TIG11c3QgbWF0Y2ggTm10b2tlbnMuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dHlwZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiB0eXBlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWx1ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiB2YWx1ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB2YWxpZCBvciAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFZhbGlkYXRlRG9jdW1lbnQiIGlkPSJ4bWxWYWxpZGF0ZURvY3VtZW50Ij48L2E+RnVuY3Rpb246IHhtbFZhbGlkYXRlRG9jdW1lbnQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVmFsaWRhdGVEb2N1bWVudAkJKDxhIGhyZWY9ImxpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkQ3R4dFB0ciI+eG1sVmFsaWRDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MpPGJyIC8+Cis8L3ByZT48cD5UcnkgdG8gdmFsaWRhdGUgdGhlIGRvY3VtZW50IGluc3RhbmNlIGJhc2ljYWxseSBpdCBkb2VzIHRoZSBhbGwgdGhlIGNoZWNrcyBkZXNjcmliZWQgYnkgdGhlIFhNTCBSZWMgaS5lLiB2YWxpZGF0ZXMgdGhlIGludGVybmFsIGFuZCBleHRlcm5hbCBzdWJzZXQgKGlmIHByZXNlbnQpIGFuZCB2YWxpZGF0ZSB0aGUgZG9jdW1lbnQgdHJlZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdmFsaWRhdGlvbiBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgZG9jdW1lbnQgaW5zdGFuY2U8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdmFsaWQgb3IgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxWYWxpZGF0ZURvY3VtZW50RmluYWwiIGlkPSJ4bWxWYWxpZGF0ZURvY3VtZW50RmluYWwiPjwvYT5GdW5jdGlvbjogeG1sVmFsaWRhdGVEb2N1bWVudEZpbmFsPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFZhbGlkYXRlRG9jdW1lbnRGaW5hbAkoPGEgaHJlZj0ibGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRDdHh0UHRyIj54bWxWYWxpZEN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYyk8YnIgLz4KKzwvcHJlPjxwPkRvZXMgdGhlIGZpbmFsIHN0ZXAgZm9yIHRoZSBkb2N1bWVudCB2YWxpZGF0aW9uIG9uY2UgYWxsIHRoZSBpbmNyZW1lbnRhbCB2YWxpZGF0aW9uIHN0ZXBzIGhhdmUgYmVlbiBjb21wbGV0ZWQgYmFzaWNhbGx5IGl0IGRvZXMgdGhlIGZvbGxvd2luZyBjaGVja3MgZGVzY3JpYmVkIGJ5IHRoZSBYTUwgUmVjIENoZWNrIGFsbCB0aGUgSURSRUYvSURSRUZTIGF0dHJpYnV0ZXMgZGVmaW5pdGlvbiBmb3IgdmFsaWRpdHk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdmFsaWRhdGlvbiBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgZG9jdW1lbnQgaW5zdGFuY2U8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdmFsaWQgb3IgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxWYWxpZGF0ZUR0ZCIgaWQ9InhtbFZhbGlkYXRlRHRkIj48L2E+RnVuY3Rpb246IHhtbFZhbGlkYXRlRHRkPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFZhbGlkYXRlRHRkCQkJKDxhIGhyZWY9ImxpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkQ3R4dFB0ciI+eG1sVmFsaWRDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRHRkUHRyIj54bWxEdGRQdHI8L2E+IGR0ZCk8YnIgLz4KKzwvcHJlPjxwPlRyeSB0byB2YWxpZGF0ZSB0aGUgZG9jdW1lbnQgYWdhaW5zdCB0aGUgZHRkIGluc3RhbmNlIEJhc2ljYWxseSBpdCBkb2VzIGNoZWNrIGFsbCB0aGUgZGVmaW5pdGlvbnMgaW4gdGhlIER0RC4gTm90ZSB0aGUgdGhlIGludGVybmFsIHN1YnNldCAoaWYgcHJlc2VudCkgaXMgZGUtY291cGxlZCAoaS5lLiBub3QgdXNlZCksIHdoaWNoIGNvdWxkIGdpdmUgcHJvYmxlbXMgaWYgSUQgb3IgSURSRUYgaXMgcHJlc2VudC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdmFsaWRhdGlvbiBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgZG9jdW1lbnQgaW5zdGFuY2U8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmR0ZDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBkdGQgaW5zdGFuY2U8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdmFsaWQgb3IgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxWYWxpZGF0ZUR0ZEZpbmFsIiBpZD0ieG1sVmFsaWRhdGVEdGRGaW5hbCI+PC9hPkZ1bmN0aW9uOiB4bWxWYWxpZGF0ZUR0ZEZpbmFsPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFZhbGlkYXRlRHRkRmluYWwJCSg8YSBocmVmPSJsaWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZEN0eHRQdHIiPnhtbFZhbGlkQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jKTxiciAvPgorPC9wcmU+PHA+RG9lcyB0aGUgZmluYWwgc3RlcCBmb3IgdGhlIGR0ZHMgdmFsaWRhdGlvbiBvbmNlIGFsbCB0aGUgc3Vic2V0cyBoYXZlIGJlZW4gcGFyc2VkIGJhc2ljYWxseSBpdCBkb2VzIHRoZSBmb2xsb3dpbmcgY2hlY2tzIGRlc2NyaWJlZCBieSB0aGUgWE1MIFJlYyAtIGNoZWNrIHRoYXQgRU5USVRZIGFuZCBFTlRJVElFUyB0eXBlIGF0dHJpYnV0ZXMgZGVmYXVsdCBvciBwb3NzaWJsZSB2YWx1ZXMgbWF0Y2hlcyBvbmUgb2YgdGhlIGRlZmluZWQgZW50aXRpZXMuIC0gY2hlY2sgdGhhdCBOT1RBVElPTiB0eXBlIGF0dHJpYnV0ZXMgZGVmYXVsdCBvciBwb3NzaWJsZSB2YWx1ZXMgbWF0Y2hlcyBvbmUgb2YgdGhlIGRlZmluZWQgbm90YXRpb25zLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB2YWxpZGF0aW9uIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBkb2N1bWVudCBpbnN0YW5jZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB2YWxpZCBvciAwIGlmIGludmFsaWQgYW5kIC0xIGlmIG5vdCB3ZWxsLWZvcm1lZDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFZhbGlkYXRlRWxlbWVudCIgaWQ9InhtbFZhbGlkYXRlRWxlbWVudCI+PC9hPkZ1bmN0aW9uOiB4bWxWYWxpZGF0ZUVsZW1lbnQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVmFsaWRhdGVFbGVtZW50CQkoPGEgaHJlZj0ibGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRDdHh0UHRyIj54bWxWYWxpZEN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBlbGVtKTxiciAvPgorPC9wcmU+PHA+VHJ5IHRvIHZhbGlkYXRlIHRoZSBzdWJ0cmVlIHVuZGVyIGFuIGVsZW1lbnQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdmFsaWRhdGlvbiBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgZG9jdW1lbnQgaW5zdGFuY2U8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVsZW08L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIGVsZW1lbnQgaW5zdGFuY2U8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdmFsaWQgb3IgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxWYWxpZGF0ZUVsZW1lbnREZWNsIiBpZD0ieG1sVmFsaWRhdGVFbGVtZW50RGVjbCI+PC9hPkZ1bmN0aW9uOiB4bWxWYWxpZGF0ZUVsZW1lbnREZWNsPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFZhbGlkYXRlRWxlbWVudERlY2wJCSg8YSBocmVmPSJsaWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZEN0eHRQdHIiPnhtbFZhbGlkQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVsZW1lbnRQdHIiPnhtbEVsZW1lbnRQdHI8L2E+IGVsZW0pPGJyIC8+Cis8L3ByZT48cD5UcnkgdG8gdmFsaWRhdGUgYSBzaW5nbGUgZWxlbWVudCBkZWZpbml0aW9uIGJhc2ljYWxseSBpdCBkb2VzIHRoZSBmb2xsb3dpbmcgY2hlY2tzIGFzIGRlc2NyaWJlZCBieSB0aGUgWE1MLTEuMCByZWNvbW1lbmRhdGlvbjogLSBbIFZDOiBPbmUgSUQgcGVyIEVsZW1lbnQgVHlwZSBdIC0gWyBWQzogTm8gRHVwbGljYXRlIFR5cGVzIF0gLSBbIFZDOiBVbmlxdWUgRWxlbWVudCBUeXBlIERlY2xhcmF0aW9uIF08L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdmFsaWRhdGlvbiBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgZG9jdW1lbnQgaW5zdGFuY2U8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVsZW08L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIGVsZW1lbnQgZGVmaW5pdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB2YWxpZCBvciAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFZhbGlkYXRlTmFtZVZhbHVlIiBpZD0ieG1sVmFsaWRhdGVOYW1lVmFsdWUiPjwvYT5GdW5jdGlvbjogeG1sVmFsaWRhdGVOYW1lVmFsdWU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVmFsaWRhdGVOYW1lVmFsdWUJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB2YWx1ZSk8YnIgLz4KKzwvcHJlPjxwPlZhbGlkYXRlIHRoYXQgdGhlIGdpdmVuIHZhbHVlIG1hdGNoIE5hbWUgcHJvZHVjdGlvbjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbHVlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBOYW1lIHZhbHVlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHZhbGlkIG9yIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVmFsaWRhdGVOYW1lc1ZhbHVlIiBpZD0ieG1sVmFsaWRhdGVOYW1lc1ZhbHVlIj48L2E+RnVuY3Rpb246IHhtbFZhbGlkYXRlTmFtZXNWYWx1ZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxWYWxpZGF0ZU5hbWVzVmFsdWUJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB2YWx1ZSk8YnIgLz4KKzwvcHJlPjxwPlZhbGlkYXRlIHRoYXQgdGhlIGdpdmVuIHZhbHVlIG1hdGNoIE5hbWVzIHByb2R1Y3Rpb248L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWx1ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gTmFtZXMgdmFsdWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdmFsaWQgb3IgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxWYWxpZGF0ZU5tdG9rZW5WYWx1ZSIgaWQ9InhtbFZhbGlkYXRlTm10b2tlblZhbHVlIj48L2E+RnVuY3Rpb246IHhtbFZhbGlkYXRlTm10b2tlblZhbHVlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFZhbGlkYXRlTm10b2tlblZhbHVlCQkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUpPGJyIC8+Cis8L3ByZT48cD5WYWxpZGF0ZSB0aGF0IHRoZSBnaXZlbiB2YWx1ZSBtYXRjaCBObXRva2VuIHByb2R1Y3Rpb24gWyBWQzogTmFtZSBUb2tlbiBdPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsdWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIE5tdG9rZW4gdmFsdWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdmFsaWQgb3IgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxWYWxpZGF0ZU5tdG9rZW5zVmFsdWUiIGlkPSJ4bWxWYWxpZGF0ZU5tdG9rZW5zVmFsdWUiPjwvYT5GdW5jdGlvbjogeG1sVmFsaWRhdGVObXRva2Vuc1ZhbHVlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFZhbGlkYXRlTm10b2tlbnNWYWx1ZQkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUpPGJyIC8+Cis8L3ByZT48cD5WYWxpZGF0ZSB0aGF0IHRoZSBnaXZlbiB2YWx1ZSBtYXRjaCBObXRva2VucyBwcm9kdWN0aW9uIFsgVkM6IE5hbWUgVG9rZW4gXTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbHVlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBObXRva2VucyB2YWx1ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB2YWxpZCBvciAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFZhbGlkYXRlTm90YXRpb25EZWNsIiBpZD0ieG1sVmFsaWRhdGVOb3RhdGlvbkRlY2wiPjwvYT5GdW5jdGlvbjogeG1sVmFsaWRhdGVOb3RhdGlvbkRlY2w8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVmFsaWRhdGVOb3RhdGlvbkRlY2wJCSg8YSBocmVmPSJsaWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZEN0eHRQdHIiPnhtbFZhbGlkQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vdGF0aW9uUHRyIj54bWxOb3RhdGlvblB0cjwvYT4gbm90YSk8YnIgLz4KKzwvcHJlPjxwPlRyeSB0byB2YWxpZGF0ZSBhIHNpbmdsZSBub3RhdGlvbiBkZWZpbml0aW9uIGJhc2ljYWxseSBpdCBkb2VzIHRoZSBmb2xsb3dpbmcgY2hlY2tzIGFzIGRlc2NyaWJlZCBieSB0aGUgWE1MLTEuMCByZWNvbW1lbmRhdGlvbjogLSBpdCBzZWVtcyB0aGF0IG5vIHZhbGlkaXR5IGNvbnN0cmFpbnQgZXhpc3RzIG9uIG5vdGF0aW9uIGRlY2xhcmF0aW9ucyBCdXQgdGhpcyBmdW5jdGlvbiBnZXQgY2FsbGVkIGFueXdheSAuLi48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdmFsaWRhdGlvbiBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgZG9jdW1lbnQgaW5zdGFuY2U8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vdGE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbm90YXRpb24gZGVmaW5pdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB2YWxpZCBvciAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFZhbGlkYXRlTm90YXRpb25Vc2UiIGlkPSJ4bWxWYWxpZGF0ZU5vdGF0aW9uVXNlIj48L2E+RnVuY3Rpb246IHhtbFZhbGlkYXRlTm90YXRpb25Vc2U8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVmFsaWRhdGVOb3RhdGlvblVzZQkJKDxhIGhyZWY9ImxpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkQ3R4dFB0ciI+eG1sVmFsaWRDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5vdGF0aW9uTmFtZSk8YnIgLz4KKzwvcHJlPjxwPlZhbGlkYXRlIHRoYXQgdGhlIGdpdmVuIG5hbWUgbWF0Y2ggYSBub3RhdGlvbiBkZWNsYXJhdGlvbi4gLSBbIFZDOiBOb3RhdGlvbiBEZWNsYXJlZCBdPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHZhbGlkYXRpb24gY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vdGF0aW9uTmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vdGF0aW9uIG5hbWUgdG8gY2hlY2s8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdmFsaWQgb3IgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxWYWxpZGF0ZU9uZUF0dHJpYnV0ZSIgaWQ9InhtbFZhbGlkYXRlT25lQXR0cmlidXRlIj48L2E+RnVuY3Rpb246IHhtbFZhbGlkYXRlT25lQXR0cmlidXRlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFZhbGlkYXRlT25lQXR0cmlidXRlCQkoPGEgaHJlZj0ibGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRDdHh0UHRyIj54bWxWYWxpZEN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBlbGVtLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEF0dHJQdHIiPnhtbEF0dHJQdHI8L2E+IGF0dHIsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHZhbHVlKTxiciAvPgorPC9wcmU+PHA+VHJ5IHRvIHZhbGlkYXRlIGEgc2luZ2xlIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gZm9yIGFuIGVsZW1lbnQgYmFzaWNhbGx5IGl0IGRvZXMgdGhlIGZvbGxvd2luZyBjaGVja3MgYXMgZGVzY3JpYmVkIGJ5IHRoZSBYTUwtMS4wIHJlY29tbWVuZGF0aW9uOiAtIFsgVkM6IEF0dHJpYnV0ZSBWYWx1ZSBUeXBlIF0gLSBbIFZDOiBGaXhlZCBBdHRyaWJ1dGUgRGVmYXVsdCBdIC0gWyBWQzogRW50aXR5IE5hbWUgXSAtIFsgVkM6IE5hbWUgVG9rZW4gXSAtIFsgVkM6IElEIF0gLSBbIFZDOiBJRFJFRiBdIC0gWyBWQzogRW50aXR5IE5hbWUgXSAtIFsgVkM6IE5vdGF0aW9uIEF0dHJpYnV0ZXMgXSBUaGUgSUQvSURSRUYgdW5pcXVlbmVzcyBhbmQgbWF0Y2hpbmcgYXJlIGRvbmUgc2VwYXJhdGVseTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB2YWxpZGF0aW9uIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBkb2N1bWVudCBpbnN0YW5jZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZWxlbTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gZWxlbWVudCBpbnN0YW5jZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YXR0cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBpbnN0YW5jZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsdWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IHZhbHVlICh3aXRob3V0IGVudGl0aWVzIHByb2Nlc3NpbmcpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHZhbGlkIG9yIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVmFsaWRhdGVPbmVFbGVtZW50IiBpZD0ieG1sVmFsaWRhdGVPbmVFbGVtZW50Ij48L2E+RnVuY3Rpb246IHhtbFZhbGlkYXRlT25lRWxlbWVudDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxWYWxpZGF0ZU9uZUVsZW1lbnQJCSg8YSBocmVmPSJsaWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZEN0eHRQdHIiPnhtbFZhbGlkQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGVsZW0pPGJyIC8+Cis8L3ByZT48cD5UcnkgdG8gdmFsaWRhdGUgYSBzaW5nbGUgZWxlbWVudCBhbmQgaXQncyBhdHRyaWJ1dGVzLCBiYXNpY2FsbHkgaXQgZG9lcyB0aGUgZm9sbG93aW5nIGNoZWNrcyBhcyBkZXNjcmliZWQgYnkgdGhlIFhNTC0xLjAgcmVjb21tZW5kYXRpb246IC0gWyBWQzogRWxlbWVudCBWYWxpZCBdIC0gWyBWQzogUmVxdWlyZWQgQXR0cmlidXRlIF0gVGhlbiBjYWxsIHhtbFZhbGlkYXRlT25lQXR0cmlidXRlKCkgZm9yIGVhY2ggPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBwcmVzZW50LiBUaGUgSUQvSURSRUYgY2hlY2tpbmdzIGFyZSBkb25lIHNlcGFyYXRlbHk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdmFsaWRhdGlvbiBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgZG9jdW1lbnQgaW5zdGFuY2U8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVsZW08L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIGVsZW1lbnQgaW5zdGFuY2U8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdmFsaWQgb3IgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxWYWxpZGF0ZU9uZU5hbWVzcGFjZSIgaWQ9InhtbFZhbGlkYXRlT25lTmFtZXNwYWNlIj48L2E+RnVuY3Rpb246IHhtbFZhbGlkYXRlT25lTmFtZXNwYWNlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFZhbGlkYXRlT25lTmFtZXNwYWNlCQkoPGEgaHJlZj0ibGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRDdHh0UHRyIj54bWxWYWxpZEN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBlbGVtLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwcmVmaXgsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTnNQdHIiPnhtbE5zUHRyPC9hPiBucywgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUpPGJyIC8+Cis8L3ByZT48cD5UcnkgdG8gdmFsaWRhdGUgYSBzaW5nbGUgbmFtZXNwYWNlIGRlY2xhcmF0aW9uIGZvciBhbiBlbGVtZW50IGJhc2ljYWxseSBpdCBkb2VzIHRoZSBmb2xsb3dpbmcgY2hlY2tzIGFzIGRlc2NyaWJlZCBieSB0aGUgWE1MLTEuMCByZWNvbW1lbmRhdGlvbjogLSBbIFZDOiBBdHRyaWJ1dGUgVmFsdWUgVHlwZSBdIC0gWyBWQzogRml4ZWQgQXR0cmlidXRlIERlZmF1bHQgXSAtIFsgVkM6IEVudGl0eSBOYW1lIF0gLSBbIFZDOiBOYW1lIFRva2VuIF0gLSBbIFZDOiBJRCBdIC0gWyBWQzogSURSRUYgXSAtIFsgVkM6IEVudGl0eSBOYW1lIF0gLSBbIFZDOiBOb3RhdGlvbiBBdHRyaWJ1dGVzIF0gVGhlIElEL0lEUkVGIHVuaXF1ZW5lc3MgYW5kIG1hdGNoaW5nIGFyZSBkb25lIHNlcGFyYXRlbHk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdmFsaWRhdGlvbiBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgZG9jdW1lbnQgaW5zdGFuY2U8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVsZW08L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIGVsZW1lbnQgaW5zdGFuY2U8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnByZWZpeDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5hbWVzcGFjZSBwcmVmaXg8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBuYW1lc3BhY2UgZGVjbGFyYXRpb24gaW5zdGFuY2U8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbHVlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiB2YWx1ZSAod2l0aG91dCBlbnRpdGllcyBwcm9jZXNzaW5nKTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB2YWxpZCBvciAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFZhbGlkYXRlUG9wRWxlbWVudCIgaWQ9InhtbFZhbGlkYXRlUG9wRWxlbWVudCI+PC9hPkZ1bmN0aW9uOiB4bWxWYWxpZGF0ZVBvcEVsZW1lbnQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVmFsaWRhdGVQb3BFbGVtZW50CQkoPGEgaHJlZj0ibGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRDdHh0UHRyIj54bWxWYWxpZEN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBlbGVtLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBxbmFtZSk8YnIgLz4KKzwvcHJlPjxwPlBvcCB0aGUgZWxlbWVudCBlbmQgZnJvbSB0aGUgdmFsaWRhdGlvbiBzdGFjay48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdmFsaWRhdGlvbiBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgZG9jdW1lbnQgaW5zdGFuY2U8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVsZW08L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIGVsZW1lbnQgaW5zdGFuY2U8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnFuYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcXVhbGlmaWVkIG5hbWUgYXMgYXBwZWFyaW5nIGluIHRoZSBzZXJpYWxpemF0aW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIG5vIHZhbGlkYXRpb24gcHJvYmxlbSB3YXMgZm91bmQgb3IgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxWYWxpZGF0ZVB1c2hDRGF0YSIgaWQ9InhtbFZhbGlkYXRlUHVzaENEYXRhIj48L2E+RnVuY3Rpb246IHhtbFZhbGlkYXRlUHVzaENEYXRhPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFZhbGlkYXRlUHVzaENEYXRhCQkoPGEgaHJlZj0ibGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRDdHh0UHRyIj54bWxWYWxpZEN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGRhdGEsIDxiciAvPgkJCQkJIGludCBsZW4pPGJyIC8+Cis8L3ByZT48cD5jaGVjayB0aGUgQ0RhdGEgcGFyc2VkIGZvciB2YWxpZGF0aW9uIGluIHRoZSBjdXJyZW50IHN0YWNrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHZhbGlkYXRpb24gY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGF0YTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+c29tZSBjaGFyYWN0ZXIgZGF0YSByZWFkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsZW5ndGggb2YgdGhlIGRhdGE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgbm8gdmFsaWRhdGlvbiBwcm9ibGVtIHdhcyBmb3VuZCBvciAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFZhbGlkYXRlUHVzaEVsZW1lbnQiIGlkPSJ4bWxWYWxpZGF0ZVB1c2hFbGVtZW50Ij48L2E+RnVuY3Rpb246IHhtbFZhbGlkYXRlUHVzaEVsZW1lbnQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVmFsaWRhdGVQdXNoRWxlbWVudAkJKDxhIGhyZWY9ImxpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkQ3R4dFB0ciI+eG1sVmFsaWRDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gZWxlbSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcW5hbWUpPGJyIC8+Cis8L3ByZT48cD5QdXNoIGEgbmV3IGVsZW1lbnQgc3RhcnQgb24gdGhlIHZhbGlkYXRpb24gc3RhY2suPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHZhbGlkYXRpb24gY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGRvY3VtZW50IGluc3RhbmNlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbGVtPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBlbGVtZW50IGluc3RhbmNlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5xbmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHF1YWxpZmllZCBuYW1lIGFzIGFwcGVhcmluZyBpbiB0aGUgc2VyaWFsaXphdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiBubyB2YWxpZGF0aW9uIHByb2JsZW0gd2FzIGZvdW5kIG9yIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVmFsaWRhdGVSb290IiBpZD0ieG1sVmFsaWRhdGVSb290Ij48L2E+RnVuY3Rpb246IHhtbFZhbGlkYXRlUm9vdDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxWYWxpZGF0ZVJvb3QJCQkoPGEgaHJlZj0ibGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRDdHh0UHRyIj54bWxWYWxpZEN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYyk8YnIgLz4KKzwvcHJlPjxwPlRyeSB0byB2YWxpZGF0ZSBhIHRoZSByb290IGVsZW1lbnQgYmFzaWNhbGx5IGl0IGRvZXMgdGhlIGZvbGxvd2luZyBjaGVjayBhcyBkZXNjcmliZWQgYnkgdGhlIFhNTC0xLjAgcmVjb21tZW5kYXRpb246IC0gWyBWQzogUm9vdCBFbGVtZW50IFR5cGUgXSBpdCBkb2Vzbid0IHRyeSB0byByZWN1cnNlIG9yIGFwcGx5IG90aGVyIGNoZWNrIHRvIHRoZSBlbGVtZW50PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHZhbGlkYXRpb24gY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGRvY3VtZW50IGluc3RhbmNlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHZhbGlkIG9yIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVmFsaWRpdHlFcnJvckZ1bmMiIGlkPSJ4bWxWYWxpZGl0eUVycm9yRnVuYyI+PC9hPkZ1bmN0aW9uIHR5cGU6IHhtbFZhbGlkaXR5RXJyb3JGdW5jPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RnVuY3Rpb24gdHlwZTogeG1sVmFsaWRpdHlFcnJvckZ1bmMKK3ZvaWQJeG1sVmFsaWRpdHlFcnJvckZ1bmMJCSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogbXNnLCA8YnIgLz4JCQkJCSAuLi4gLi4uKQorPC9wcmU+PHA+Q2FsbGJhY2sgY2FsbGVkIHdoZW4gYSB2YWxpZGl0eSBlcnJvciBpcyBmb3VuZC4gVGhpcyBpcyBhIG1lc3NhZ2Ugb3JpZW50ZWQgZnVuY3Rpb24gc2ltaWxhciB0byBhbiAqcHJpbnRmIGZ1bmN0aW9uLjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnVzdWFsbHkgYW4gPGEgaHJlZj0ibGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRDdHh0UHRyIj54bWxWYWxpZEN0eHRQdHI8L2E+IHRvIGEgdmFsaWRpdHkgZXJyb3IgY29udGV4dCwgYnV0IGNvbWVzIGZyb20gY3R4dC0mZ3Q7dXNlckRhdGEgKHdoaWNoIG5vcm1hbGx5IGNvbnRhaW5zIHN1Y2ggYSBwb2ludGVyKTsgY3R4dC0mZ3Q7dXNlckRhdGEgY2FuIGJlIGNoYW5nZWQgYnkgdGhlIHVzZXIuPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5tc2c8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzdHJpbmcgdG8gZm9ybWF0ICpwcmludGYgbGlrZSB2YXJhcmc8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pi4uLjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+cmVtYWluaW5nIGFyZ3VtZW50cyB0byB0aGUgZm9ybWF0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48YnIgLz4KKzxoMz48YSBuYW1lPSJ4bWxWYWxpZGl0eVdhcm5pbmdGdW5jIiBpZD0ieG1sVmFsaWRpdHlXYXJuaW5nRnVuYyI+PC9hPkZ1bmN0aW9uIHR5cGU6IHhtbFZhbGlkaXR5V2FybmluZ0Z1bmM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5GdW5jdGlvbiB0eXBlOiB4bWxWYWxpZGl0eVdhcm5pbmdGdW5jCit2b2lkCXhtbFZhbGlkaXR5V2FybmluZ0Z1bmMJCSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogbXNnLCA8YnIgLz4JCQkJCSAuLi4gLi4uKQorPC9wcmU+PHA+Q2FsbGJhY2sgY2FsbGVkIHdoZW4gYSB2YWxpZGl0eSB3YXJuaW5nIGlzIGZvdW5kLiBUaGlzIGlzIGEgbWVzc2FnZSBvcmllbnRlZCBmdW5jdGlvbiBzaW1pbGFyIHRvIGFuICpwcmludGYgZnVuY3Rpb24uPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dXN1YWxseSBhbiA8YSBocmVmPSJsaWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZEN0eHRQdHIiPnhtbFZhbGlkQ3R4dFB0cjwvYT4gdG8gYSB2YWxpZGl0eSBlcnJvciBjb250ZXh0LCBidXQgY29tZXMgZnJvbSBjdHh0LSZndDt1c2VyRGF0YSAod2hpY2ggbm9ybWFsbHkgY29udGFpbnMgc3VjaCBhIHBvaW50ZXIpOyBjdHh0LSZndDt1c2VyRGF0YSBjYW4gYmUgY2hhbmdlZCBieSB0aGUgdXNlci48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm1zZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHN0cmluZyB0byBmb3JtYXQgKnByaW50ZiBsaWtlIHZhcmFyZzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Li4uPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5yZW1haW5pbmcgYXJndW1lbnRzIHRvIHRoZSBmb3JtYXQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxiciAvPgorPHA+PGEgaHJlZj0iLi4vYnVncy5odG1sIj5EYW5pZWwgVmVpbGxhcmQ8L2E+PC9wPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9odG1sL2xpYnhtbC14aW5jbHVkZS5odG1sIGIvbGlieG1sMi9kb2MvaHRtbC9saWJ4bWwteGluY2x1ZGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNzk5ZjEwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvaHRtbC9saWJ4bWwteGluY2x1ZGUuaHRtbApAQCAtMCwwICsxLDU5IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPgorPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPjxoZWFkPjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPjxsaW5rIHJlbD0iU0hPUlRDVVQgSUNPTiIgaHJlZj0iL2Zhdmljb24uaWNvIiAvPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CitURCB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorQk9EWSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhOyBtYXJnaW4tdG9wOiAyZW07IG1hcmdpbi1sZWZ0OiAwZW07IG1hcmdpbi1yaWdodDogMGVtfQorSDEge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gyIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMyB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorQTpsaW5rLCBBOnZpc2l0ZWQsIEE6YWN0aXZlIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgfQorPC9zdHlsZT48c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorICAgICAgZGl2LmRlcHJlY2F0ZWQgcHJlLnByb2dyYW1saXN0aW5nIHtib3JkZXItc3R5bGU6IGRvdWJsZTtib3JkZXItY29sb3I6cmVkfQorICAgICAgcHJlLnByb2dyYW1saXN0aW5nIHtib3JkZXItc3R5bGU6IGRvdWJsZTtiYWNrZ3JvdW5kOiAjRUVDRkExfQorICAgIDwvc3R5bGU+PHRpdGxlPk1vZHVsZSB4aW5jbHVkZSBmcm9tIGxpYnhtbDI8L3RpdGxlPjwvaGVhZD48Ym9keSBiZ2NvbG9yPSIjOGI3NzY1IiB0ZXh0PSIjMDAwMDAwIiBsaW5rPSIjYTA2MDYwIiB2bGluaz0iIzAwMDAwMCI+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjEwMCUiIGNlbGxwYWRkaW5nPSI1IiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCB3aWR0aD0iMTIwIj48YSBocmVmPSJodHRwOi8vc3dwYXQuZmZpaS5vcmcvIj48aW1nIHNyYz0iLi4vZXBhdGVudHMucG5nIiBhbHQ9IkFjdGlvbiBhZ2FpbnN0IHNvZnR3YXJlIHBhdGVudHMiIC8+PC9hPjwvdGQ+PHRkIHdpZHRoPSIxODAiPjxhIGhyZWY9Imh0dHA6Ly93d3cuZ25vbWUub3JnLyI+PGltZyBzcmM9Ii4uL2dub21lMi5wbmciIGFsdD0iR25vbWUyIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1N0YXR1cyI+PGltZyBzcmM9Ii4uL3czYy5wbmciIGFsdD0iVzNDIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cucmVkaGF0LmNvbS8iPjxpbWcgc3JjPSIuLi9yZWRoYXQuZ2lmIiBhbHQ9IlJlZCBIYXQgTG9nbyIgLz48L2E+PGRpdiBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnLyI+PGltZyBzcmM9Ii4uL0xpYnhtbDItTG9nby0xODB4MTY4LmdpZiIgYWx0PSJNYWRlIHdpdGggTGlieG1sMiBMb2dvIiAvPjwvYT48L2Rpdj48L3RkPjx0ZD48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iOTAlIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyIgYmdjb2xvcj0iI2ZmZmFjZCI+PHRyPjx0ZCBhbGlnbj0iY2VudGVyIj48aDE+PC9oMT48aDI+TW9kdWxlIHhpbmNsdWRlIGZyb20gbGlieG1sMjwvaDI+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjQiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiIHdpZHRoPSIxMDAlIj48dHI+PHRkIHZhbGlnbj0idG9wIiB3aWR0aD0iMjAwIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5BUEkgTWVudTwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48Zm9ybSBhY3Rpb249Ii4uL3NlYXJjaC5waHAiIGVuY3R5cGU9ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIgbWV0aG9kPSJnZXQiPjxpbnB1dCBuYW1lPSJxdWVyeSIgdHlwZT0idGV4dCIgc2l6ZT0iMjAiIHZhbHVlPSIiIC8+PGlucHV0IG5hbWU9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU2VhcmNoIC4uLiIgLz48L2Zvcm0+PHVsPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iLi4vaW5kZXguaHRtbCI+TWFpbiBNZW51PC9hPjwvbGk+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSIuLi9kb2NzLmh0bWwiPkRldmVsb3BlciBNZW51PC9hPjwvbGk+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSIuLi9leGFtcGxlcy9pbmRleC5odG1sIj5Db2RlIEV4YW1wbGVzPC9hPjwvbGk+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSJpbmRleC5odG1sIj5BUEkgTWVudTwvYT48L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwiPlBhcnNlciBBUEk8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCI+VHJlZSBBUEk8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sIj5SZWFkZXIgQVBJPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL2d1aWRlbGluZXMuaHRtbCI+WE1MIEd1aWRlbGluZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQ2hhbmdlTG9nLmh0bWwiPkNoYW5nZUxvZzwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPkFQSSBJbmRleGVzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iLi4vQVBJY2h1bmswLmh0bWwiPkFscGhhYmV0aWM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJY29uc3RydWN0b3JzLmh0bWwiPkNvbnN0cnVjdG9yczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUElmdW5jdGlvbnMuaHRtbCI+RnVuY3Rpb25zL1R5cGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSWZpbGVzLmh0bWwiPk1vZHVsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJc3ltYm9scy5odG1sIj5TeW1ib2xzPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+UmVsYXRlZCBsaW5rczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9Imh0dHA6Ly9tYWlsLmdub21lLm9yZy9hcmNoaXZlcy94bWwvIj5NYWlsIGFyY2hpdmU8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnL1hTTFQvIj5YU0xUIGxpYnhzbHQ8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3BoZC5jcy51bmliby5pdC9nZG9tZTIvIj5ET00gZ2RvbWUyPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuYWxla3NleS5jb20veG1sc2VjLyI+WE1MLURTaWcgeG1sc2VjPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImZ0cDovL3htbHNvZnQub3JnLyI+RlRQPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemxhdGtvdmljLmNvbS9wcm9qZWN0cy9saWJ4bWwvIj5XaW5kb3dzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9vcGVuY3N3Lm9yZy9wYWNrYWdlcy9saWJ4bWwyIj5Tb2xhcmlzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuZXhwbGFpbi5jb20uYXUvb3NzL2xpYnhtbDJ4c2x0Lmh0bWwiPk1hY09zWCBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbHhtbC5kZS8iPmx4bWwgUHl0aG9uIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9jcGFuLnV3aW5uaXBlZy5jYS9kaXN0L1hNTC1MaWJYTUwiPlBlcmwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbHBsdXNwbHVzLnNvdXJjZWZvcmdlLm5ldC8iPkMrKyBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnplbmQuY29tL3BocDUvYXJ0aWNsZXMvcGhwNS14bWxwaHAucGhwI0hlYWRpbmc0Ij5QSFAgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9saWJ4bWwyLXBhcy8iPlBhc2NhbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1sLnJ1Ynlmb3JnZS5vcmcvIj5SdWJ5IGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly90Y2x4bWwuc291cmNlZm9yZ2UubmV0LyI+VGNsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvYnVnbGlzdC5jZ2k/cHJvZHVjdD1saWJ4bWwyIj5CdWcgVHJhY2tlcjwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMyIgY2VsbHNwYWNpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx0YWJsZSBjbGFzcz0ibmF2aWdhdGlvbiIgd2lkdGg9IjEwMCUiIHN1bW1hcnk9Ik5hdmlnYXRpb24gaGVhZGVyIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjIiPjx0ciB2YWxpZ249Im1pZGRsZSI+PHRkPjxhIGFjY2Vzc2tleT0icCIgaHJlZj0ibGlieG1sLXZhbGlkLmh0bWwiPjxpbWcgc3JjPSJsZWZ0LnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iUHJldiIgLz48L2E+PC90ZD48dGggYWxpZ249ImxlZnQiPjxhIGhyZWY9ImxpYnhtbC12YWxpZC5odG1sIj52YWxpZDwvYT48L3RoPjx0ZD48YSBhY2Nlc3NrZXk9InUiIGhyZWY9ImluZGV4Lmh0bWwiPjxpbWcgc3JjPSJ1cC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlVwIiAvPjwvYT48L3RkPjx0aCBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iaW5kZXguaHRtbCI+QVBJIGRvY3VtZW50YXRpb248L2E+PC90aD48dGQ+PGEgYWNjZXNza2V5PSJoIiBocmVmPSIuLi9pbmRleC5odG1sIj48aW1nIHNyYz0iaG9tZS5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IkhvbWUiIC8+PC9hPjwvdGQ+PHRoIGFsaWduPSJjZW50ZXIiPjxhIGhyZWY9Ii4uL2luZGV4Lmh0bWwiPlRoZSBYTUwgQyBwYXJzZXIgYW5kIHRvb2xraXQgb2YgR25vbWU8L2E+PC90aD48dGggYWxpZ249InJpZ2h0Ij48YSBocmVmPSJsaWJ4bWwteGxpbmsuaHRtbCI+eGxpbms8L2E+PC90aD48dGQ+PGEgYWNjZXNza2V5PSJuIiBocmVmPSJsaWJ4bWwteGxpbmsuaHRtbCI+PGltZyBzcmM9InJpZ2h0LnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iTmV4dCIgLz48L2E+PC90ZD48L3RyPjwvdGFibGU+PHA+QVBJIHRvIGhhbmRsZSBYSW5jbHVkZSBwcm9jZXNzaW5nLCBpbXBsZW1lbnRzIHRoZSBXb3JsZCBXaWRlIFdlYiBDb25zb3J0aXVtIExhc3QgQ2FsbCBXb3JraW5nIERyYWZ0IDEwIE5vdmVtYmVyIDIwMDM8L3A+PGgyPlRhYmxlIG9mIENvbnRlbnRzPC9oMj48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWElOQ0xVREVfRkFMTEJBQ0siPlhJTkNMVURFX0ZBTExCQUNLPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYSU5DTFVERV9IUkVGIj5YSU5DTFVERV9IUkVGPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYSU5DTFVERV9OT0RFIj5YSU5DTFVERV9OT0RFPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYSU5DTFVERV9OUyI+WElOQ0xVREVfTlM8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hJTkNMVURFX09MRF9OUyI+WElOQ0xVREVfT0xEX05TPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYSU5DTFVERV9QQVJTRSI+WElOQ0xVREVfUEFSU0U8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hJTkNMVURFX1BBUlNFX0VOQ09ESU5HIj5YSU5DTFVERV9QQVJTRV9FTkNPRElORzwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWElOQ0xVREVfUEFSU0VfVEVYVCI+WElOQ0xVREVfUEFSU0VfVEVYVDwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWElOQ0xVREVfUEFSU0VfWE1MIj5YSU5DTFVERV9QQVJTRV9YTUw8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hJTkNMVURFX1BBUlNFX1hQT0lOVEVSIj5YSU5DTFVERV9QQVJTRV9YUE9JTlRFUjwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+U3RydWN0dXJlIDxhIGhyZWY9IiN4bWxYSW5jbHVkZUN0eHQiPnhtbFhJbmNsdWRlQ3R4dDwvYT48YnIgLz5zdHJ1Y3QgX3htbFhJbmNsdWRlQ3R4dAorVGhlIGNvbnRlbnQgb2YgdGhpcyBzdHJ1Y3R1cmUgaXMgbm90IG1hZGUgcHVibGljIGJ5IHRoZSBBUEkuCis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+VHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwteGluY2x1ZGUuaHRtbCN4bWxYSW5jbHVkZUN0eHQiPnhtbFhJbmNsdWRlQ3R4dDwvYT4gKiA8YSBuYW1lPSJ4bWxYSW5jbHVkZUN0eHRQdHIiIGlkPSJ4bWxYSW5jbHVkZUN0eHRQdHIiPnhtbFhJbmNsdWRlQ3R4dFB0cjwvYT4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxYSW5jbHVkZUZyZWVDb250ZXh0Ij54bWxYSW5jbHVkZUZyZWVDb250ZXh0PC9hPgkJKDxhIGhyZWY9ImxpYnhtbC14aW5jbHVkZS5odG1sI3htbFhJbmNsdWRlQ3R4dFB0ciI+eG1sWEluY2x1ZGVDdHh0UHRyPC9hPiBjdHh0KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14aW5jbHVkZS5odG1sI3htbFhJbmNsdWRlQ3R4dFB0ciI+eG1sWEluY2x1ZGVDdHh0UHRyPC9hPgk8YSBocmVmPSIjeG1sWEluY2x1ZGVOZXdDb250ZXh0Ij54bWxYSW5jbHVkZU5ld0NvbnRleHQ8L2E+CSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxYSW5jbHVkZVByb2Nlc3MiPnhtbFhJbmNsdWRlUHJvY2VzczwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxYSW5jbHVkZVByb2Nlc3NGbGFncyI+eG1sWEluY2x1ZGVQcm9jZXNzRmxhZ3M8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIgLz4JCQkJCSBpbnQgZmxhZ3MpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxYSW5jbHVkZVByb2Nlc3NGbGFnc0RhdGEiPnhtbFhJbmNsdWRlUHJvY2Vzc0ZsYWdzRGF0YTwvYT4JKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyIC8+CQkJCQkgaW50IGZsYWdzLCA8YnIgLz4JCQkJCSB2b2lkICogZGF0YSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFhJbmNsdWRlUHJvY2Vzc05vZGUiPnhtbFhJbmNsdWRlUHJvY2Vzc05vZGU8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXhpbmNsdWRlLmh0bWwjeG1sWEluY2x1ZGVDdHh0UHRyIj54bWxYSW5jbHVkZUN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFhJbmNsdWRlUHJvY2Vzc1RyZWUiPnhtbFhJbmNsdWRlUHJvY2Vzc1RyZWU8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiB0cmVlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sWEluY2x1ZGVQcm9jZXNzVHJlZUZsYWdzIj54bWxYSW5jbHVkZVByb2Nlc3NUcmVlRmxhZ3M8L2E+CSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IHRyZWUsIDxiciAvPgkJCQkJIGludCBmbGFncyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFhJbmNsdWRlUHJvY2Vzc1RyZWVGbGFnc0RhdGEiPnhtbFhJbmNsdWRlUHJvY2Vzc1RyZWVGbGFnc0RhdGE8L2E+CSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IHRyZWUsIDxiciAvPgkJCQkJIGludCBmbGFncywgPGJyIC8+CQkJCQkgdm9pZCAqIGRhdGEpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxYSW5jbHVkZVNldEZsYWdzIj54bWxYSW5jbHVkZVNldEZsYWdzPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC14aW5jbHVkZS5odG1sI3htbFhJbmNsdWRlQ3R4dFB0ciI+eG1sWEluY2x1ZGVDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSBpbnQgZmxhZ3MpPC9wcmU+Cis8aDI+RGVzY3JpcHRpb248L2gyPgorPGgzPjxhIG5hbWU9IlhJTkNMVURFX0ZBTExCQUNLIiBpZD0iWElOQ0xVREVfRkFMTEJBQ0siPjwvYT5NYWNybzogWElOQ0xVREVfRkFMTEJBQ0s8L2gzPjxwcmU+I2RlZmluZSBYSU5DTFVERV9GQUxMQkFDSzwvcHJlPjxwPk1hY3JvIGRlZmluaW5nICJmYWxsYmFjayI8L3A+Cis8aDM+PGEgbmFtZT0iWElOQ0xVREVfSFJFRiIgaWQ9IlhJTkNMVURFX0hSRUYiPjwvYT5NYWNybzogWElOQ0xVREVfSFJFRjwvaDM+PHByZT4jZGVmaW5lIFhJTkNMVURFX0hSRUY8L3ByZT48cD5NYWNybyBkZWZpbmluZyAiaHJlZiI8L3A+Cis8aDM+PGEgbmFtZT0iWElOQ0xVREVfTk9ERSIgaWQ9IlhJTkNMVURFX05PREUiPjwvYT5NYWNybzogWElOQ0xVREVfTk9ERTwvaDM+PHByZT4jZGVmaW5lIFhJTkNMVURFX05PREU8L3ByZT48cD5NYWNybyBkZWZpbmluZyAiaW5jbHVkZSI8L3A+Cis8aDM+PGEgbmFtZT0iWElOQ0xVREVfTlMiIGlkPSJYSU5DTFVERV9OUyI+PC9hPk1hY3JvOiBYSU5DTFVERV9OUzwvaDM+PHByZT4jZGVmaW5lIFhJTkNMVURFX05TPC9wcmU+PHA+TWFjcm8gZGVmaW5pbmcgdGhlIFhpbmNsdWRlIG5hbWVzcGFjZTogaHR0cDovL3d3dy53My5vcmcvMjAwMy9YSW5jbHVkZTwvcD4KKzxoMz48YSBuYW1lPSJYSU5DTFVERV9PTERfTlMiIGlkPSJYSU5DTFVERV9PTERfTlMiPjwvYT5NYWNybzogWElOQ0xVREVfT0xEX05TPC9oMz48cHJlPiNkZWZpbmUgWElOQ0xVREVfT0xEX05TPC9wcmU+PHA+TWFjcm8gZGVmaW5pbmcgdGhlIGRyYWZ0IFhpbmNsdWRlIG5hbWVzcGFjZTogaHR0cDovL3d3dy53My5vcmcvMjAwMS9YSW5jbHVkZTwvcD4KKzxoMz48YSBuYW1lPSJYSU5DTFVERV9QQVJTRSIgaWQ9IlhJTkNMVURFX1BBUlNFIj48L2E+TWFjcm86IFhJTkNMVURFX1BBUlNFPC9oMz48cHJlPiNkZWZpbmUgWElOQ0xVREVfUEFSU0U8L3ByZT48cD5NYWNybyBkZWZpbmluZyAicGFyc2UiPC9wPgorPGgzPjxhIG5hbWU9IlhJTkNMVURFX1BBUlNFX0VOQ09ESU5HIiBpZD0iWElOQ0xVREVfUEFSU0VfRU5DT0RJTkciPjwvYT5NYWNybzogWElOQ0xVREVfUEFSU0VfRU5DT0RJTkc8L2gzPjxwcmU+I2RlZmluZSBYSU5DTFVERV9QQVJTRV9FTkNPRElORzwvcHJlPjxwPk1hY3JvIGRlZmluaW5nICJlbmNvZGluZyI8L3A+Cis8aDM+PGEgbmFtZT0iWElOQ0xVREVfUEFSU0VfVEVYVCIgaWQ9IlhJTkNMVURFX1BBUlNFX1RFWFQiPjwvYT5NYWNybzogWElOQ0xVREVfUEFSU0VfVEVYVDwvaDM+PHByZT4jZGVmaW5lIFhJTkNMVURFX1BBUlNFX1RFWFQ8L3ByZT48cD5NYWNybyBkZWZpbmluZyAidGV4dCI8L3A+Cis8aDM+PGEgbmFtZT0iWElOQ0xVREVfUEFSU0VfWE1MIiBpZD0iWElOQ0xVREVfUEFSU0VfWE1MIj48L2E+TWFjcm86IFhJTkNMVURFX1BBUlNFX1hNTDwvaDM+PHByZT4jZGVmaW5lIFhJTkNMVURFX1BBUlNFX1hNTDwvcHJlPjxwPk1hY3JvIGRlZmluaW5nICJ4bWwiPC9wPgorPGgzPjxhIG5hbWU9IlhJTkNMVURFX1BBUlNFX1hQT0lOVEVSIiBpZD0iWElOQ0xVREVfUEFSU0VfWFBPSU5URVIiPjwvYT5NYWNybzogWElOQ0xVREVfUEFSU0VfWFBPSU5URVI8L2gzPjxwcmU+I2RlZmluZSBYSU5DTFVERV9QQVJTRV9YUE9JTlRFUjwvcHJlPjxwPk1hY3JvIGRlZmluaW5nICJ4cG9pbnRlciI8L3A+Cis8aDM+PGEgbmFtZT0ieG1sWEluY2x1ZGVDdHh0IiBpZD0ieG1sWEluY2x1ZGVDdHh0Ij5TdHJ1Y3R1cmUgeG1sWEluY2x1ZGVDdHh0PC9hPjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlN0cnVjdHVyZSB4bWxYSW5jbHVkZUN0eHQ8YnIgLz5zdHJ1Y3QgX3htbFhJbmNsdWRlQ3R4dCB7CitUaGUgY29udGVudCBvZiB0aGlzIHN0cnVjdHVyZSBpcyBub3QgbWFkZSBwdWJsaWMgYnkgdGhlIEFQSS4KK308L3ByZT48aDM+PGEgbmFtZT0ieG1sWEluY2x1ZGVGcmVlQ29udGV4dCIgaWQ9InhtbFhJbmNsdWRlRnJlZUNvbnRleHQiPjwvYT5GdW5jdGlvbjogeG1sWEluY2x1ZGVGcmVlQ29udGV4dDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sWEluY2x1ZGVGcmVlQ29udGV4dAkJKDxhIGhyZWY9ImxpYnhtbC14aW5jbHVkZS5odG1sI3htbFhJbmNsdWRlQ3R4dFB0ciI+eG1sWEluY2x1ZGVDdHh0UHRyPC9hPiBjdHh0KTxiciAvPgorPC9wcmU+PHA+RnJlZSBhbiBYSW5jbHVkZSBjb250ZXh0PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhJbmNsdWRlIGNvbnRleHQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxYSW5jbHVkZU5ld0NvbnRleHQiIGlkPSJ4bWxYSW5jbHVkZU5ld0NvbnRleHQiPjwvYT5GdW5jdGlvbjogeG1sWEluY2x1ZGVOZXdDb250ZXh0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhpbmNsdWRlLmh0bWwjeG1sWEluY2x1ZGVDdHh0UHRyIj54bWxYSW5jbHVkZUN0eHRQdHI8L2E+CXhtbFhJbmNsdWRlTmV3Q29udGV4dAkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jKTxiciAvPgorPC9wcmU+PHA+Q3JlYXRlcyBhIG5ldyBYSW5jbHVkZSBjb250ZXh0PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgRG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXcgc2V0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sWEluY2x1ZGVQcm9jZXNzIiBpZD0ieG1sWEluY2x1ZGVQcm9jZXNzIj48L2E+RnVuY3Rpb246IHhtbFhJbmNsdWRlUHJvY2VzczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxYSW5jbHVkZVByb2Nlc3MJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MpPGJyIC8+Cis8L3ByZT48cD5JbXBsZW1lbnQgdGhlIFhJbmNsdWRlIHN1YnN0aXR1dGlvbiBvbiB0aGUgWE1MIGRvY3VtZW50IEBkb2M8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpZiBubyBzdWJzdGl0dXRpb24gd2VyZSBkb25lLCAtMSBpZiBzb21lIHByb2Nlc3NpbmcgZmFpbGVkIG9yIHRoZSBudW1iZXIgb2Ygc3Vic3RpdHV0aW9ucyBkb25lLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhJbmNsdWRlUHJvY2Vzc0ZsYWdzIiBpZD0ieG1sWEluY2x1ZGVQcm9jZXNzRmxhZ3MiPjwvYT5GdW5jdGlvbjogeG1sWEluY2x1ZGVQcm9jZXNzRmxhZ3M8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sWEluY2x1ZGVQcm9jZXNzRmxhZ3MJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxiciAvPgkJCQkJIGludCBmbGFncyk8YnIgLz4KKzwvcHJlPjxwPkltcGxlbWVudCB0aGUgWEluY2x1ZGUgc3Vic3RpdHV0aW9uIG9uIHRoZSBYTUwgZG9jdW1lbnQgQGRvYzwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1MIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mbGFnczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBzZXQgb2YgPGEgaHJlZj0ibGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlck9wdGlvbiI+eG1sUGFyc2VyT3B0aW9uPC9hPiB1c2VkIGZvciBwYXJzaW5nIFhNTCBpbmNsdWRlczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpZiBubyBzdWJzdGl0dXRpb24gd2VyZSBkb25lLCAtMSBpZiBzb21lIHByb2Nlc3NpbmcgZmFpbGVkIG9yIHRoZSBudW1iZXIgb2Ygc3Vic3RpdHV0aW9ucyBkb25lLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhJbmNsdWRlUHJvY2Vzc0ZsYWdzRGF0YSIgaWQ9InhtbFhJbmNsdWRlUHJvY2Vzc0ZsYWdzRGF0YSI+PC9hPkZ1bmN0aW9uOiB4bWxYSW5jbHVkZVByb2Nlc3NGbGFnc0RhdGE8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sWEluY2x1ZGVQcm9jZXNzRmxhZ3NEYXRhCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxiciAvPgkJCQkJIGludCBmbGFncywgPGJyIC8+CQkJCQkgdm9pZCAqIGRhdGEpPGJyIC8+Cis8L3ByZT48cD5JbXBsZW1lbnQgdGhlIFhJbmNsdWRlIHN1YnN0aXR1dGlvbiBvbiB0aGUgWE1MIGRvY3VtZW50IEBkb2M8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmxhZ3M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgc2V0IG9mIDxhIGhyZWY9ImxpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZXJPcHRpb24iPnhtbFBhcnNlck9wdGlvbjwvYT4gdXNlZCBmb3IgcGFyc2luZyBYTUwgaW5jbHVkZXM8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRhdGE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFwcGxpY2F0aW9uIGRhdGEgdGhhdCB3aWxsIGJlIHBhc3NlZCB0byB0aGUgcGFyc2VyIGNvbnRleHQgaW4gdGhlIF9wcml2YXRlIGZpZWxkIG9mIHRoZSBwYXJzZXIgY29udGV4dChzKTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpZiBubyBzdWJzdGl0dXRpb24gd2VyZSBkb25lLCAtMSBpZiBzb21lIHByb2Nlc3NpbmcgZmFpbGVkIG9yIHRoZSBudW1iZXIgb2Ygc3Vic3RpdHV0aW9ucyBkb25lLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhJbmNsdWRlUHJvY2Vzc05vZGUiIGlkPSJ4bWxYSW5jbHVkZVByb2Nlc3NOb2RlIj48L2E+RnVuY3Rpb246IHhtbFhJbmNsdWRlUHJvY2Vzc05vZGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sWEluY2x1ZGVQcm9jZXNzTm9kZQkJKDxhIGhyZWY9ImxpYnhtbC14aW5jbHVkZS5odG1sI3htbFhJbmNsdWRlQ3R4dFB0ciI+eG1sWEluY2x1ZGVDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUpPGJyIC8+Cis8L3ByZT48cD5JbXBsZW1lbnQgdGhlIFhJbmNsdWRlIHN1YnN0aXR1dGlvbiBmb3IgdGhlIGdpdmVuIHN1YnRyZWUgcmV1c2luZyB0aGUgaW5mb3JtYXRpb25zIGFuZCBkYXRhIGNvbWluZyBmcm9tIHRoZSBnaXZlbiBjb250ZXh0LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIGV4aXN0aW5nIFhJbmNsdWRlIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbm9kZSBpbiBhbiBYTUwgZG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaWYgbm8gc3Vic3RpdHV0aW9uIHdlcmUgZG9uZSwgLTEgaWYgc29tZSBwcm9jZXNzaW5nIGZhaWxlZCBvciB0aGUgbnVtYmVyIG9mIHN1YnN0aXR1dGlvbnMgZG9uZS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxYSW5jbHVkZVByb2Nlc3NUcmVlIiBpZD0ieG1sWEluY2x1ZGVQcm9jZXNzVHJlZSI+PC9hPkZ1bmN0aW9uOiB4bWxYSW5jbHVkZVByb2Nlc3NUcmVlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFhJbmNsdWRlUHJvY2Vzc1RyZWUJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IHRyZWUpPGJyIC8+Cis8L3ByZT48cD5JbXBsZW1lbnQgdGhlIFhJbmNsdWRlIHN1YnN0aXR1dGlvbiBmb3IgdGhlIGdpdmVuIHN1YnRyZWU8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50cmVlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIG5vZGUgaW4gYW4gWE1MIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGlmIG5vIHN1YnN0aXR1dGlvbiB3ZXJlIGRvbmUsIC0xIGlmIHNvbWUgcHJvY2Vzc2luZyBmYWlsZWQgb3IgdGhlIG51bWJlciBvZiBzdWJzdGl0dXRpb25zIGRvbmUuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sWEluY2x1ZGVQcm9jZXNzVHJlZUZsYWdzIiBpZD0ieG1sWEluY2x1ZGVQcm9jZXNzVHJlZUZsYWdzIj48L2E+RnVuY3Rpb246IHhtbFhJbmNsdWRlUHJvY2Vzc1RyZWVGbGFnczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxYSW5jbHVkZVByb2Nlc3NUcmVlRmxhZ3MJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gdHJlZSwgPGJyIC8+CQkJCQkgaW50IGZsYWdzKTxiciAvPgorPC9wcmU+PHA+SW1wbGVtZW50IHRoZSBYSW5jbHVkZSBzdWJzdGl0dXRpb24gZm9yIHRoZSBnaXZlbiBzdWJ0cmVlPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dHJlZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBub2RlIGluIGFuIFhNTCBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmxhZ3M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgc2V0IG9mIDxhIGhyZWY9ImxpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZXJPcHRpb24iPnhtbFBhcnNlck9wdGlvbjwvYT4gdXNlZCBmb3IgcGFyc2luZyBYTUwgaW5jbHVkZXM8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaWYgbm8gc3Vic3RpdHV0aW9uIHdlcmUgZG9uZSwgLTEgaWYgc29tZSBwcm9jZXNzaW5nIGZhaWxlZCBvciB0aGUgbnVtYmVyIG9mIHN1YnN0aXR1dGlvbnMgZG9uZS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxYSW5jbHVkZVByb2Nlc3NUcmVlRmxhZ3NEYXRhIiBpZD0ieG1sWEluY2x1ZGVQcm9jZXNzVHJlZUZsYWdzRGF0YSI+PC9hPkZ1bmN0aW9uOiB4bWxYSW5jbHVkZVByb2Nlc3NUcmVlRmxhZ3NEYXRhPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFhJbmNsdWRlUHJvY2Vzc1RyZWVGbGFnc0RhdGEJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gdHJlZSwgPGJyIC8+CQkJCQkgaW50IGZsYWdzLCA8YnIgLz4JCQkJCSB2b2lkICogZGF0YSk8YnIgLz4KKzwvcHJlPjxwPkltcGxlbWVudCB0aGUgWEluY2x1ZGUgc3Vic3RpdHV0aW9uIG9uIHRoZSBYTUwgbm9kZSBAdHJlZTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRyZWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mbGFnczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBzZXQgb2YgPGEgaHJlZj0ibGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlck9wdGlvbiI+eG1sUGFyc2VyT3B0aW9uPC9hPiB1c2VkIGZvciBwYXJzaW5nIFhNTCBpbmNsdWRlczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGF0YTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YXBwbGljYXRpb24gZGF0YSB0aGF0IHdpbGwgYmUgcGFzc2VkIHRvIHRoZSBwYXJzZXIgY29udGV4dCBpbiB0aGUgX3ByaXZhdGUgZmllbGQgb2YgdGhlIHBhcnNlciBjb250ZXh0KHMpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGlmIG5vIHN1YnN0aXR1dGlvbiB3ZXJlIGRvbmUsIC0xIGlmIHNvbWUgcHJvY2Vzc2luZyBmYWlsZWQgb3IgdGhlIG51bWJlciBvZiBzdWJzdGl0dXRpb25zIGRvbmUuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sWEluY2x1ZGVTZXRGbGFncyIgaWQ9InhtbFhJbmNsdWRlU2V0RmxhZ3MiPjwvYT5GdW5jdGlvbjogeG1sWEluY2x1ZGVTZXRGbGFnczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxYSW5jbHVkZVNldEZsYWdzCQkoPGEgaHJlZj0ibGlieG1sLXhpbmNsdWRlLmh0bWwjeG1sWEluY2x1ZGVDdHh0UHRyIj54bWxYSW5jbHVkZUN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIGludCBmbGFncyk8YnIgLz4KKzwvcHJlPjxwPlNldCB0aGUgZmxhZ3MgdXNlZCBmb3IgZnVydGhlciBwcm9jZXNzaW5nIG9mIFhNTCByZXNvdXJjZXMuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWEluY2x1ZGUgcHJvY2Vzc2luZyBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mbGFnczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBzZXQgb2YgPGEgaHJlZj0ibGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlck9wdGlvbiI+eG1sUGFyc2VyT3B0aW9uPC9hPiB1c2VkIGZvciBwYXJzaW5nIFhNTCBpbmNsdWRlczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpbiBjYXNlIG9mIHN1Y2Nlc3MgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48cD48YSBocmVmPSIuLi9idWdzLmh0bWwiPkRhbmllbCBWZWlsbGFyZDwvYT48L3A+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2h0bWwvbGlieG1sLXhsaW5rLmh0bWwgYi9saWJ4bWwyL2RvYy9odG1sL2xpYnhtbC14bGluay5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVlOTRiOTgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9odG1sL2xpYnhtbC14bGluay5odG1sCkBAIC0wLDAgKzEsODIgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+PGxpbmsgcmVsPSJTSE9SVENVVCBJQ09OIiBocmVmPSIvZmF2aWNvbi5pY28iIC8+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK1REIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitCT0RZIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2E7IG1hcmdpbi10b3A6IDJlbTsgbWFyZ2luLWxlZnQ6IDBlbTsgbWFyZ2luLXJpZ2h0OiAwZW19CitIMSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDIge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gzIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitBOmxpbmssIEE6dmlzaXRlZCwgQTphY3RpdmUgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB9Cis8L3N0eWxlPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAgICBkaXYuZGVwcmVjYXRlZCBwcmUucHJvZ3JhbWxpc3Rpbmcge2JvcmRlci1zdHlsZTogZG91YmxlO2JvcmRlci1jb2xvcjpyZWR9CisgICAgICBwcmUucHJvZ3JhbWxpc3Rpbmcge2JvcmRlci1zdHlsZTogZG91YmxlO2JhY2tncm91bmQ6ICNFRUNGQTF9CisgICAgPC9zdHlsZT48dGl0bGU+TW9kdWxlIHhsaW5rIGZyb20gbGlieG1sMjwvdGl0bGU+PC9oZWFkPjxib2R5IGJnY29sb3I9IiM4Yjc3NjUiIHRleHQ9IiMwMDAwMDAiIGxpbms9IiNhMDYwNjAiIHZsaW5rPSIjMDAwMDAwIj48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iMTAwJSIgY2VsbHBhZGRpbmc9IjUiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIHdpZHRoPSIxMjAiPjxhIGhyZWY9Imh0dHA6Ly9zd3BhdC5mZmlpLm9yZy8iPjxpbWcgc3JjPSIuLi9lcGF0ZW50cy5wbmciIGFsdD0iQWN0aW9uIGFnYWluc3Qgc29mdHdhcmUgcGF0ZW50cyIgLz48L2E+PC90ZD48dGQgd2lkdGg9IjE4MCI+PGEgaHJlZj0iaHR0cDovL3d3dy5nbm9tZS5vcmcvIj48aW1nIHNyYz0iLi4vZ25vbWUyLnBuZyIgYWx0PSJHbm9tZTIgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvU3RhdHVzIj48aW1nIHNyYz0iLi4vdzNjLnBuZyIgYWx0PSJXM0MgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy5yZWRoYXQuY29tLyI+PGltZyBzcmM9Ii4uL3JlZGhhdC5naWYiIGFsdD0iUmVkIEhhdCBMb2dvIiAvPjwvYT48ZGl2IGFsaWduPSJsZWZ0Ij48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvIj48aW1nIHNyYz0iLi4vTGlieG1sMi1Mb2dvLTE4MHgxNjguZ2lmIiBhbHQ9Ik1hZGUgd2l0aCBMaWJ4bWwyIExvZ28iIC8+PC9hPjwvZGl2PjwvdGQ+PHRkPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSI5MCUiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIiBiZ2NvbG9yPSIjZmZmYWNkIj48dHI+PHRkIGFsaWduPSJjZW50ZXIiPjxoMT48L2gxPjxoMj5Nb2R1bGUgeGxpbmsgZnJvbSBsaWJ4bWwyPC9oMj48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iNCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiIgd2lkdGg9IjEwMCUiPjx0cj48dGQgdmFsaWduPSJ0b3AiIHdpZHRoPSIyMDAiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPkFQSSBNZW51PC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjxmb3JtIGFjdGlvbj0iLi4vc2VhcmNoLnBocCIgZW5jdHlwZT0iYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIiBtZXRob2Q9ImdldCI+PGlucHV0IG5hbWU9InF1ZXJ5IiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IiIgLz48aW5wdXQgbmFtZT0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJTZWFyY2ggLi4uIiAvPjwvZm9ybT48dWw+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSIuLi9pbmRleC5odG1sIj5NYWluIE1lbnU8L2E+PC9saT48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9Ii4uL2RvY3MuaHRtbCI+RGV2ZWxvcGVyIE1lbnU8L2E+PC9saT48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9Ii4uL2V4YW1wbGVzL2luZGV4Lmh0bWwiPkNvZGUgRXhhbXBsZXM8L2E+PC9saT48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9ImluZGV4Lmh0bWwiPkFQSSBNZW51PC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1wYXJzZXIuaHRtbCI+UGFyc2VyIEFQSTwvYT48L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sIj5UcmVlIEFQSTwvYT48L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwiPlJlYWRlciBBUEk8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vZ3VpZGVsaW5lcy5odG1sIj5YTUwgR3VpZGVsaW5lczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9DaGFuZ2VMb2cuaHRtbCI+Q2hhbmdlTG9nPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+QVBJIEluZGV4ZXM8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSIuLi9BUEljaHVuazAuaHRtbCI+QWxwaGFiZXRpYzwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUEljb25zdHJ1Y3RvcnMuaHRtbCI+Q29uc3RydWN0b3JzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSWZ1bmN0aW9ucy5odG1sIj5GdW5jdGlvbnMvVHlwZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJZmlsZXMuaHRtbCI+TW9kdWxlczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUElzeW1ib2xzLmh0bWwiPlN5bWJvbHM8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5SZWxhdGVkIGxpbmtzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iaHR0cDovL21haWwuZ25vbWUub3JnL2FyY2hpdmVzL3htbC8iPk1haWwgYXJjaGl2ZTwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvWFNMVC8iPlhTTFQgbGlieHNsdDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vcGhkLmNzLnVuaWJvLml0L2dkb21lMi8iPkRPTSBnZG9tZTI8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5hbGVrc2V5LmNvbS94bWxzZWMvIj5YTUwtRFNpZyB4bWxzZWM8L2E+PC9saT48bGk+PGEgaHJlZj0iZnRwOi8veG1sc29mdC5vcmcvIj5GVFA8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56bGF0a292aWMuY29tL3Byb2plY3RzL2xpYnhtbC8iPldpbmRvd3MgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL29wZW5jc3cub3JnL3BhY2thZ2VzL2xpYnhtbDIiPlNvbGFyaXMgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5leHBsYWluLmNvbS5hdS9vc3MvbGlieG1sMnhzbHQuaHRtbCI+TWFjT3NYIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9seG1sLmRlLyI+bHhtbCBQeXRob24gYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2NwYW4udXdpbm5pcGVnLmNhL2Rpc3QvWE1MLUxpYlhNTCI+UGVybCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1scGx1c3BsdXMuc291cmNlZm9yZ2UubmV0LyI+QysrIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemVuZC5jb20vcGhwNS9hcnRpY2xlcy9waHA1LXhtbHBocC5waHAjSGVhZGluZzQiPlBIUCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2xpYnhtbDItcGFzLyI+UGFzY2FsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWwucnVieWZvcmdlLm9yZy8iPlJ1YnkgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3RjbHhtbC5zb3VyY2Vmb3JnZS5uZXQvIj5UY2wgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9idWdsaXN0LmNnaT9wcm9kdWN0PWxpYnhtbDIiPkJ1ZyBUcmFja2VyPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIzIiBjZWxsc3BhY2luZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHRhYmxlIGNsYXNzPSJuYXZpZ2F0aW9uIiB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBoZWFkZXIiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMiI+PHRyIHZhbGlnbj0ibWlkZGxlIj48dGQ+PGEgYWNjZXNza2V5PSJwIiBocmVmPSJsaWJ4bWwteGluY2x1ZGUuaHRtbCI+PGltZyBzcmM9ImxlZnQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJQcmV2IiAvPjwvYT48L3RkPjx0aCBhbGlnbj0ibGVmdCI+PGEgaHJlZj0ibGlieG1sLXhpbmNsdWRlLmh0bWwiPnhpbmNsdWRlPC9hPjwvdGg+PHRkPjxhIGFjY2Vzc2tleT0idSIgaHJlZj0iaW5kZXguaHRtbCI+PGltZyBzcmM9InVwLnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iVXAiIC8+PC9hPjwvdGQ+PHRoIGFsaWduPSJsZWZ0Ij48YSBocmVmPSJpbmRleC5odG1sIj5BUEkgZG9jdW1lbnRhdGlvbjwvYT48L3RoPjx0ZD48YSBhY2Nlc3NrZXk9ImgiIGhyZWY9Ii4uL2luZGV4Lmh0bWwiPjxpbWcgc3JjPSJob21lLnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iSG9tZSIgLz48L2E+PC90ZD48dGggYWxpZ249ImNlbnRlciI+PGEgaHJlZj0iLi4vaW5kZXguaHRtbCI+VGhlIFhNTCBDIHBhcnNlciBhbmQgdG9vbGtpdCBvZiBHbm9tZTwvYT48L3RoPjx0aCBhbGlnbj0icmlnaHQiPjxhIGhyZWY9ImxpYnhtbC14bWxJTy5odG1sIj54bWxJTzwvYT48L3RoPjx0ZD48YSBhY2Nlc3NrZXk9Im4iIGhyZWY9ImxpYnhtbC14bWxJTy5odG1sIj48aW1nIHNyYz0icmlnaHQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJOZXh0IiAvPjwvYT48L3RkPjwvdHI+PC90YWJsZT48cD51bmZpbmlzaGVkIFhMaW5rIGRldGVjdGlvbiBtb2R1bGUgPC9wPjxoMj5UYWJsZSBvZiBDb250ZW50czwvaDI+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkVudW0gPGEgaHJlZj0iI3hsaW5rQWN0dWF0ZSI+eGxpbmtBY3R1YXRlPC9hPgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlR5cGVkZWYgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogPGEgbmFtZT0ieGxpbmtIUmVmIiBpZD0ieGxpbmtIUmVmIj54bGlua0hSZWY8L2E+Cis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+U3RydWN0dXJlIDxhIGhyZWY9IiN4bGlua0hhbmRsZXIiPnhsaW5rSGFuZGxlcjwvYT48YnIgLz5zdHJ1Y3QgX3hsaW5rSGFuZGxlcgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlR5cGVkZWYgPGEgaHJlZj0ibGlieG1sLXhsaW5rLmh0bWwjeGxpbmtIYW5kbGVyIj54bGlua0hhbmRsZXI8L2E+ICogPGEgbmFtZT0ieGxpbmtIYW5kbGVyUHRyIiBpZD0ieGxpbmtIYW5kbGVyUHRyIj54bGlua0hhbmRsZXJQdHI8L2E+Cis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+VHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiA8YSBuYW1lPSJ4bGlua1JvbGUiIGlkPSJ4bGlua1JvbGUiPnhsaW5rUm9sZTwvYT4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5FbnVtIDxhIGhyZWY9IiN4bGlua1Nob3ciPnhsaW5rU2hvdzwvYT4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5UeXBlZGVmIDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIDxhIG5hbWU9InhsaW5rVGl0bGUiIGlkPSJ4bGlua1RpdGxlIj54bGlua1RpdGxlPC9hPgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkVudW0gPGEgaHJlZj0iI3hsaW5rVHlwZSI+eGxpbmtUeXBlPC9hPgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkZ1bmN0aW9uIHR5cGU6IDxhIGhyZWY9IiN4bGlua0V4dGVuZGVkTGlua0Z1bmsiPnhsaW5rRXh0ZW5kZWRMaW5rRnVuazwvYT4KK3ZvaWQJPGEgaHJlZj0iI3hsaW5rRXh0ZW5kZWRMaW5rRnVuayI+eGxpbmtFeHRlbmRlZExpbmtGdW5rPC9hPgkJKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSwgPGJyIC8+CQkJCQkgaW50IG5iTG9jYXRvcnMsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bGluay5odG1sI3hsaW5rSFJlZiI+eGxpbmtIUmVmPC9hPiAqIGhyZWZzLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteGxpbmsuaHRtbCN4bGlua1JvbGUiPnhsaW5rUm9sZTwvYT4gKiByb2xlcywgPGJyIC8+CQkJCQkgaW50IG5iQXJjcywgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhsaW5rLmh0bWwjeGxpbmtSb2xlIj54bGlua1JvbGU8L2E+ICogZnJvbSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhsaW5rLmh0bWwjeGxpbmtSb2xlIj54bGlua1JvbGU8L2E+ICogdG8sIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bGluay5odG1sI3hsaW5rU2hvdyI+eGxpbmtTaG93PC9hPiAqIHNob3csIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bGluay5odG1sI3hsaW5rQWN0dWF0ZSI+eGxpbmtBY3R1YXRlPC9hPiAqIGFjdHVhdGUsIDxiciAvPgkJCQkJIGludCBuYlRpdGxlcywgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhsaW5rLmh0bWwjeGxpbmtUaXRsZSI+eGxpbmtUaXRsZTwvYT4gKiB0aXRsZXMsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqKiBsYW5ncykKKzwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkZ1bmN0aW9uIHR5cGU6IDxhIGhyZWY9IiN4bGlua0V4dGVuZGVkTGlua1NldEZ1bmsiPnhsaW5rRXh0ZW5kZWRMaW5rU2V0RnVuazwvYT4KK3ZvaWQJPGEgaHJlZj0iI3hsaW5rRXh0ZW5kZWRMaW5rU2V0RnVuayI+eGxpbmtFeHRlbmRlZExpbmtTZXRGdW5rPC9hPgkodm9pZCAqIGN0eCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlLCA8YnIgLz4JCQkJCSBpbnQgbmJMb2NhdG9ycywgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhsaW5rLmh0bWwjeGxpbmtIUmVmIj54bGlua0hSZWY8L2E+ICogaHJlZnMsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bGluay5odG1sI3hsaW5rUm9sZSI+eGxpbmtSb2xlPC9hPiAqIHJvbGVzLCA8YnIgLz4JCQkJCSBpbnQgbmJUaXRsZXMsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bGluay5odG1sI3hsaW5rVGl0bGUiPnhsaW5rVGl0bGU8L2E+ICogdGl0bGVzLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiogbGFuZ3MpCis8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteGxpbmsuaHRtbCN4bGlua05vZGVEZXRlY3RGdW5jIj54bGlua05vZGVEZXRlY3RGdW5jPC9hPgk8YSBocmVmPSIjeGxpbmtHZXREZWZhdWx0RGV0ZWN0Ij54bGlua0dldERlZmF1bHREZXRlY3Q8L2E+CSh2b2lkKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bGluay5odG1sI3hsaW5rSGFuZGxlclB0ciI+eGxpbmtIYW5kbGVyUHRyPC9hPgk8YSBocmVmPSIjeGxpbmtHZXREZWZhdWx0SGFuZGxlciI+eGxpbmtHZXREZWZhdWx0SGFuZGxlcjwvYT4JKHZvaWQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhsaW5rLmh0bWwjeGxpbmtUeXBlIj54bGlua1R5cGU8L2E+CTxhIGhyZWY9IiN4bGlua0lzTGluayI+eGxpbmtJc0xpbms8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RnVuY3Rpb24gdHlwZTogPGEgaHJlZj0iI3hsaW5rTm9kZURldGVjdEZ1bmMiPnhsaW5rTm9kZURldGVjdEZ1bmM8L2E+Cit2b2lkCTxhIGhyZWY9IiN4bGlua05vZGVEZXRlY3RGdW5jIj54bGlua05vZGVEZXRlY3RGdW5jPC9hPgkJKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSkKKzwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3hsaW5rU2V0RGVmYXVsdERldGVjdCI+eGxpbmtTZXREZWZhdWx0RGV0ZWN0PC9hPgkJKDxhIGhyZWY9ImxpYnhtbC14bGluay5odG1sI3hsaW5rTm9kZURldGVjdEZ1bmMiPnhsaW5rTm9kZURldGVjdEZ1bmM8L2E+IGZ1bmMpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeGxpbmtTZXREZWZhdWx0SGFuZGxlciI+eGxpbmtTZXREZWZhdWx0SGFuZGxlcjwvYT4JCSg8YSBocmVmPSJsaWJ4bWwteGxpbmsuaHRtbCN4bGlua0hhbmRsZXJQdHIiPnhsaW5rSGFuZGxlclB0cjwvYT4gaGFuZGxlcik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5GdW5jdGlvbiB0eXBlOiA8YSBocmVmPSIjeGxpbmtTaW1wbGVMaW5rRnVuayI+eGxpbmtTaW1wbGVMaW5rRnVuazwvYT4KK3ZvaWQJPGEgaHJlZj0iI3hsaW5rU2ltcGxlTGlua0Z1bmsiPnhsaW5rU2ltcGxlTGlua0Z1bms8L2E+CQkodm9pZCAqIGN0eCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteGxpbmsuaHRtbCN4bGlua0hSZWYiPnhsaW5rSFJlZjwvYT4gaHJlZiwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhsaW5rLmh0bWwjeGxpbmtSb2xlIj54bGlua1JvbGU8L2E+IHJvbGUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bGluay5odG1sI3hsaW5rVGl0bGUiPnhsaW5rVGl0bGU8L2E+IHRpdGxlKQorPC9wcmU+Cis8aDI+RGVzY3JpcHRpb248L2gyPgorPGgzPkVudW0gPGEgbmFtZT0ieGxpbmtBY3R1YXRlIiBpZD0ieGxpbmtBY3R1YXRlIj54bGlua0FjdHVhdGU8L2E+PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RW51bSB4bGlua0FjdHVhdGUgeworICAgIDxhIG5hbWU9IlhMSU5LX0FDVFVBVEVfTk9ORSIgaWQ9IlhMSU5LX0FDVFVBVEVfTk9ORSI+WExJTktfQUNUVUFURV9OT05FPC9hPiA9IDAKKyAgICA8YSBuYW1lPSJYTElOS19BQ1RVQVRFX0FVVE8iIGlkPSJYTElOS19BQ1RVQVRFX0FVVE8iPlhMSU5LX0FDVFVBVEVfQVVUTzwvYT4gPSAxCisgICAgPGEgbmFtZT0iWExJTktfQUNUVUFURV9PTlJFUVVFU1QiIGlkPSJYTElOS19BQ1RVQVRFX09OUkVRVUVTVCI+WExJTktfQUNUVUFURV9PTlJFUVVFU1Q8L2E+ID0gMgorfQorPC9wcmU+PGgzPjxhIG5hbWU9InhsaW5rSGFuZGxlciIgaWQ9InhsaW5rSGFuZGxlciI+U3RydWN0dXJlIHhsaW5rSGFuZGxlcjwvYT48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgeGxpbmtIYW5kbGVyPGJyIC8+c3RydWN0IF94bGlua0hhbmRsZXIgeworICAgIDxhIGhyZWY9ImxpYnhtbC14bGluay5odG1sI3hsaW5rU2ltcGxlTGlua0Z1bmsiPnhsaW5rU2ltcGxlTGlua0Z1bms8L2E+CXNpbXBsZQorICAgIDxhIGhyZWY9ImxpYnhtbC14bGluay5odG1sI3hsaW5rRXh0ZW5kZWRMaW5rRnVuayI+eGxpbmtFeHRlbmRlZExpbmtGdW5rPC9hPglleHRlbmRlZAorICAgIDxhIGhyZWY9ImxpYnhtbC14bGluay5odG1sI3hsaW5rRXh0ZW5kZWRMaW5rU2V0RnVuayI+eGxpbmtFeHRlbmRlZExpbmtTZXRGdW5rPC9hPglzZXQKK308L3ByZT48aDM+RW51bSA8YSBuYW1lPSJ4bGlua1Nob3ciIGlkPSJ4bGlua1Nob3ciPnhsaW5rU2hvdzwvYT48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5FbnVtIHhsaW5rU2hvdyB7CisgICAgPGEgbmFtZT0iWExJTktfU0hPV19OT05FIiBpZD0iWExJTktfU0hPV19OT05FIj5YTElOS19TSE9XX05PTkU8L2E+ID0gMAorICAgIDxhIG5hbWU9IlhMSU5LX1NIT1dfTkVXIiBpZD0iWExJTktfU0hPV19ORVciPlhMSU5LX1NIT1dfTkVXPC9hPiA9IDEKKyAgICA8YSBuYW1lPSJYTElOS19TSE9XX0VNQkVEIiBpZD0iWExJTktfU0hPV19FTUJFRCI+WExJTktfU0hPV19FTUJFRDwvYT4gPSAyCisgICAgPGEgbmFtZT0iWExJTktfU0hPV19SRVBMQUNFIiBpZD0iWExJTktfU0hPV19SRVBMQUNFIj5YTElOS19TSE9XX1JFUExBQ0U8L2E+ID0gMworfQorPC9wcmU+PGgzPkVudW0gPGEgbmFtZT0ieGxpbmtUeXBlIiBpZD0ieGxpbmtUeXBlIj54bGlua1R5cGU8L2E+PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RW51bSB4bGlua1R5cGUgeworICAgIDxhIG5hbWU9IlhMSU5LX1RZUEVfTk9ORSIgaWQ9IlhMSU5LX1RZUEVfTk9ORSI+WExJTktfVFlQRV9OT05FPC9hPiA9IDAKKyAgICA8YSBuYW1lPSJYTElOS19UWVBFX1NJTVBMRSIgaWQ9IlhMSU5LX1RZUEVfU0lNUExFIj5YTElOS19UWVBFX1NJTVBMRTwvYT4gPSAxCisgICAgPGEgbmFtZT0iWExJTktfVFlQRV9FWFRFTkRFRCIgaWQ9IlhMSU5LX1RZUEVfRVhURU5ERUQiPlhMSU5LX1RZUEVfRVhURU5ERUQ8L2E+ID0gMgorICAgIDxhIG5hbWU9IlhMSU5LX1RZUEVfRVhURU5ERURfU0VUIiBpZD0iWExJTktfVFlQRV9FWFRFTkRFRF9TRVQiPlhMSU5LX1RZUEVfRVhURU5ERURfU0VUPC9hPiA9IDMKK30KKzwvcHJlPjxoMz48YSBuYW1lPSJ4bGlua0V4dGVuZGVkTGlua0Z1bmsiIGlkPSJ4bGlua0V4dGVuZGVkTGlua0Z1bmsiPjwvYT5GdW5jdGlvbiB0eXBlOiB4bGlua0V4dGVuZGVkTGlua0Z1bms8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5GdW5jdGlvbiB0eXBlOiB4bGlua0V4dGVuZGVkTGlua0Z1bmsKK3ZvaWQJeGxpbmtFeHRlbmRlZExpbmtGdW5rCQkodm9pZCAqIGN0eCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlLCA8YnIgLz4JCQkJCSBpbnQgbmJMb2NhdG9ycywgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhsaW5rLmh0bWwjeGxpbmtIUmVmIj54bGlua0hSZWY8L2E+ICogaHJlZnMsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bGluay5odG1sI3hsaW5rUm9sZSI+eGxpbmtSb2xlPC9hPiAqIHJvbGVzLCA8YnIgLz4JCQkJCSBpbnQgbmJBcmNzLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteGxpbmsuaHRtbCN4bGlua1JvbGUiPnhsaW5rUm9sZTwvYT4gKiBmcm9tLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteGxpbmsuaHRtbCN4bGlua1JvbGUiPnhsaW5rUm9sZTwvYT4gKiB0bywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhsaW5rLmh0bWwjeGxpbmtTaG93Ij54bGlua1Nob3c8L2E+ICogc2hvdywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhsaW5rLmh0bWwjeGxpbmtBY3R1YXRlIj54bGlua0FjdHVhdGU8L2E+ICogYWN0dWF0ZSwgPGJyIC8+CQkJCQkgaW50IG5iVGl0bGVzLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteGxpbmsuaHRtbCN4bGlua1RpdGxlIj54bGlua1RpdGxlPC9hPiAqIHRpdGxlcywgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoqIGxhbmdzKQorPC9wcmU+PHA+VGhpcyBpcyB0aGUgcHJvdG90eXBlIGZvciBhIGV4dGVuZGVkIGxpbmsgZGV0ZWN0aW9uIGNhbGxiYWNrLjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnVzZXIgZGF0YSBwb2ludGVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbm9kZSBjYXJyeWluZyB0aGUgbGluazwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmJMb2NhdG9yczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBsb2NhdG9ycyBkZXRlY3RlZCBvbiB0aGUgbGluazwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aHJlZnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnBvaW50ZXIgdG8gdGhlIGFycmF5IG9mIGxvY2F0b3IgaHJlZnM8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJvbGVzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5wb2ludGVyIHRvIHRoZSBhcnJheSBvZiBsb2NhdG9yIHJvbGVzPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYkFyY3M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgYXJjcyBkZXRlY3RlZCBvbiB0aGUgbGluazwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZnJvbTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+cG9pbnRlciB0byB0aGUgYXJyYXkgb2Ygc291cmNlIHJvbGVzIGZvdW5kIG9uIHRoZSBhcmNzPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50bzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+cG9pbnRlciB0byB0aGUgYXJyYXkgb2YgdGFyZ2V0IHJvbGVzIGZvdW5kIG9uIHRoZSBhcmNzPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zaG93PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hcnJheSBvZiB2YWx1ZXMgZm9yIHRoZSBzaG93IGF0dHJpYnV0ZXMgZm91bmQgb24gdGhlIGFyY3M8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmFjdHVhdGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFycmF5IG9mIHZhbHVlcyBmb3IgdGhlIGFjdHVhdGUgYXR0cmlidXRlcyBmb3VuZCBvbiB0aGUgYXJjczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmJUaXRsZXM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgdGl0bGVzIGRldGVjdGVkIG9uIHRoZSBsaW5rPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50aXRsZXM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGFuZ3M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFycmF5IG9mIHhtbDpsYW5nIHZhbHVlcyBmb3IgdGhlIHRpdGxlczwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGJyIC8+Cis8aDM+PGEgbmFtZT0ieGxpbmtFeHRlbmRlZExpbmtTZXRGdW5rIiBpZD0ieGxpbmtFeHRlbmRlZExpbmtTZXRGdW5rIj48L2E+RnVuY3Rpb24gdHlwZTogeGxpbmtFeHRlbmRlZExpbmtTZXRGdW5rPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RnVuY3Rpb24gdHlwZTogeGxpbmtFeHRlbmRlZExpbmtTZXRGdW5rCit2b2lkCXhsaW5rRXh0ZW5kZWRMaW5rU2V0RnVuawkodm9pZCAqIGN0eCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlLCA8YnIgLz4JCQkJCSBpbnQgbmJMb2NhdG9ycywgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhsaW5rLmh0bWwjeGxpbmtIUmVmIj54bGlua0hSZWY8L2E+ICogaHJlZnMsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bGluay5odG1sI3hsaW5rUm9sZSI+eGxpbmtSb2xlPC9hPiAqIHJvbGVzLCA8YnIgLz4JCQkJCSBpbnQgbmJUaXRsZXMsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bGluay5odG1sI3hsaW5rVGl0bGUiPnhsaW5rVGl0bGU8L2E+ICogdGl0bGVzLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiogbGFuZ3MpCis8L3ByZT48cD5UaGlzIGlzIHRoZSBwcm90b3R5cGUgZm9yIGEgZXh0ZW5kZWQgbGluayBzZXQgZGV0ZWN0aW9uIGNhbGxiYWNrLjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnVzZXIgZGF0YSBwb2ludGVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbm9kZSBjYXJyeWluZyB0aGUgbGluazwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmJMb2NhdG9yczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBsb2NhdG9ycyBkZXRlY3RlZCBvbiB0aGUgbGluazwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aHJlZnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnBvaW50ZXIgdG8gdGhlIGFycmF5IG9mIGxvY2F0b3IgaHJlZnM8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJvbGVzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5wb2ludGVyIHRvIHRoZSBhcnJheSBvZiBsb2NhdG9yIHJvbGVzPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYlRpdGxlczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiB0aXRsZXMgZGV0ZWN0ZWQgb24gdGhlIGxpbms8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRpdGxlczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sYW5nczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YXJyYXkgb2YgeG1sOmxhbmcgdmFsdWVzIGZvciB0aGUgdGl0bGVzPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48YnIgLz4KKzxoMz48YSBuYW1lPSJ4bGlua0dldERlZmF1bHREZXRlY3QiIGlkPSJ4bGlua0dldERlZmF1bHREZXRlY3QiPjwvYT5GdW5jdGlvbjogeGxpbmtHZXREZWZhdWx0RGV0ZWN0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhsaW5rLmh0bWwjeGxpbmtOb2RlRGV0ZWN0RnVuYyI+eGxpbmtOb2RlRGV0ZWN0RnVuYzwvYT4JeGxpbmtHZXREZWZhdWx0RGV0ZWN0CSh2b2lkKTxiciAvPgorPC9wcmU+PHA+R2V0IHRoZSBkZWZhdWx0IHhsaW5rIGRldGVjdGlvbiByb3V0aW5lPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGN1cnJlbnQgZnVuY3Rpb24gb3IgTlVMTDs8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bGlua0dldERlZmF1bHRIYW5kbGVyIiBpZD0ieGxpbmtHZXREZWZhdWx0SGFuZGxlciI+PC9hPkZ1bmN0aW9uOiB4bGlua0dldERlZmF1bHRIYW5kbGVyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhsaW5rLmh0bWwjeGxpbmtIYW5kbGVyUHRyIj54bGlua0hhbmRsZXJQdHI8L2E+CXhsaW5rR2V0RGVmYXVsdEhhbmRsZXIJKHZvaWQpPGJyIC8+Cis8L3ByZT48cD5HZXQgdGhlIGRlZmF1bHQgeGxpbmsgaGFuZGxlci48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY3VycmVudCA8YSBocmVmPSJsaWJ4bWwteGxpbmsuaHRtbCN4bGlua0hhbmRsZXJQdHIiPnhsaW5rSGFuZGxlclB0cjwvYT4gdmFsdWUuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieGxpbmtJc0xpbmsiIGlkPSJ4bGlua0lzTGluayI+PC9hPkZ1bmN0aW9uOiB4bGlua0lzTGluazwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bGluay5odG1sI3hsaW5rVHlwZSI+eGxpbmtUeXBlPC9hPgl4bGlua0lzTGluawkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlKTxiciAvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgZ2l2ZW4gbm9kZSBjYXJyaWVzIHRoZSBhdHRyaWJ1dGVzIG5lZWRlZCB0byBiZSBhIGxpbmsgZWxlbWVudCAob3IgaXMgb25lIG9mIHRoZSBsaW5raW5nIGVsZW1lbnRzIGlzc3VlZCBmcm9tIHRoZSAoWClIVE1MIER0RHMpLiBUaGlzIHJvdXRpbmUgZG9uJ3QgdHJ5IHRvIGRvIGZ1bGwgY2hlY2tpbmcgb2YgdGhlIGxpbmsgdmFsaWRpdHkgYnV0IHRyaWVzIHRvIGRldGVjdCBhbmQgcmV0dXJuIHRoZSBhcHByb3ByaWF0ZSBsaW5rIHR5cGUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQgY29udGFpbmluZyB0aGUgbm9kZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vZGUgcG9pbnRlciBpdHNlbGY8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwteGxpbmsuaHRtbCN4bGlua1R5cGUiPnhsaW5rVHlwZTwvYT4gb2YgdGhlIG5vZGUgKFhMSU5LX1RZUEVfTk9ORSBpZiB0aGVyZSBpcyBubyBsaW5rIGRldGVjdGVkLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhsaW5rTm9kZURldGVjdEZ1bmMiIGlkPSJ4bGlua05vZGVEZXRlY3RGdW5jIj48L2E+RnVuY3Rpb24gdHlwZTogeGxpbmtOb2RlRGV0ZWN0RnVuYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkZ1bmN0aW9uIHR5cGU6IHhsaW5rTm9kZURldGVjdEZ1bmMKK3ZvaWQJeGxpbmtOb2RlRGV0ZWN0RnVuYwkJKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSkKKzwvcHJlPjxwPlRoaXMgaXMgdGhlIHByb3RvdHlwZSBmb3IgdGhlIGxpbmsgZGV0ZWN0aW9uIHJvdXRpbmUuIEl0IGNhbGxzIHRoZSBkZWZhdWx0IGxpbmsgZGV0ZWN0aW9uIGNhbGxiYWNrcyB1cG9uIGxpbmsgZGV0ZWN0aW9uLjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnVzZXIgZGF0YSBwb2ludGVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbm9kZSB0byBjaGVjazwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGJyIC8+Cis8aDM+PGEgbmFtZT0ieGxpbmtTZXREZWZhdWx0RGV0ZWN0IiBpZD0ieGxpbmtTZXREZWZhdWx0RGV0ZWN0Ij48L2E+RnVuY3Rpb246IHhsaW5rU2V0RGVmYXVsdERldGVjdDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeGxpbmtTZXREZWZhdWx0RGV0ZWN0CQkoPGEgaHJlZj0ibGlieG1sLXhsaW5rLmh0bWwjeGxpbmtOb2RlRGV0ZWN0RnVuYyI+eGxpbmtOb2RlRGV0ZWN0RnVuYzwvYT4gZnVuYyk8YnIgLz4KKzwvcHJlPjxwPlNldCB0aGUgZGVmYXVsdCB4bGluayBkZXRlY3Rpb24gcm91dGluZTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZ1bmM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnBvaW50ZXIgdG8gdGhlIG5ldyBkZXRlY3Rpb24gcm91dGluZS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bGlua1NldERlZmF1bHRIYW5kbGVyIiBpZD0ieGxpbmtTZXREZWZhdWx0SGFuZGxlciI+PC9hPkZ1bmN0aW9uOiB4bGlua1NldERlZmF1bHRIYW5kbGVyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bGlua1NldERlZmF1bHRIYW5kbGVyCQkoPGEgaHJlZj0ibGlieG1sLXhsaW5rLmh0bWwjeGxpbmtIYW5kbGVyUHRyIj54bGlua0hhbmRsZXJQdHI8L2E+IGhhbmRsZXIpPGJyIC8+Cis8L3ByZT48cD5TZXQgdGhlIGRlZmF1bHQgeGxpbmsgaGFuZGxlcnM8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5oYW5kbGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IHZhbHVlIGZvciB0aGUgeGxpbmsgaGFuZGxlciBibG9jazwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhsaW5rU2ltcGxlTGlua0Z1bmsiIGlkPSJ4bGlua1NpbXBsZUxpbmtGdW5rIj48L2E+RnVuY3Rpb24gdHlwZTogeGxpbmtTaW1wbGVMaW5rRnVuazwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkZ1bmN0aW9uIHR5cGU6IHhsaW5rU2ltcGxlTGlua0Z1bmsKK3ZvaWQJeGxpbmtTaW1wbGVMaW5rRnVuawkJKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhsaW5rLmh0bWwjeGxpbmtIUmVmIj54bGlua0hSZWY8L2E+IGhyZWYsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bGluay5odG1sI3hsaW5rUm9sZSI+eGxpbmtSb2xlPC9hPiByb2xlLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteGxpbmsuaHRtbCN4bGlua1RpdGxlIj54bGlua1RpdGxlPC9hPiB0aXRsZSkKKzwvcHJlPjxwPlRoaXMgaXMgdGhlIHByb3RvdHlwZSBmb3IgYSBzaW1wbGUgbGluayBkZXRlY3Rpb24gY2FsbGJhY2suPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dXNlciBkYXRhIHBvaW50ZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBub2RlIGNhcnJ5aW5nIHRoZSBsaW5rPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ocmVmPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdGFyZ2V0IG9mIHRoZSBsaW5rPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yb2xlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcm9sZSBzdHJpbmc8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRpdGxlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbGluayB0aXRsZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGJyIC8+Cis8cD48YSBocmVmPSIuLi9idWdzLmh0bWwiPkRhbmllbCBWZWlsbGFyZDwvYT48L3A+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2h0bWwvbGlieG1sLXhtbElPLmh0bWwgYi9saWJ4bWwyL2RvYy9odG1sL2xpYnhtbC14bWxJTy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJkMjcyNGMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9odG1sL2xpYnhtbC14bWxJTy5odG1sCkBAIC0wLDAgKzEsMjEyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPgorPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPjxoZWFkPjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPjxsaW5rIHJlbD0iU0hPUlRDVVQgSUNPTiIgaHJlZj0iL2Zhdmljb24uaWNvIiAvPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CitURCB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorQk9EWSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhOyBtYXJnaW4tdG9wOiAyZW07IG1hcmdpbi1sZWZ0OiAwZW07IG1hcmdpbi1yaWdodDogMGVtfQorSDEge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gyIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMyB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorQTpsaW5rLCBBOnZpc2l0ZWQsIEE6YWN0aXZlIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgfQorPC9zdHlsZT48c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorICAgICAgZGl2LmRlcHJlY2F0ZWQgcHJlLnByb2dyYW1saXN0aW5nIHtib3JkZXItc3R5bGU6IGRvdWJsZTtib3JkZXItY29sb3I6cmVkfQorICAgICAgcHJlLnByb2dyYW1saXN0aW5nIHtib3JkZXItc3R5bGU6IGRvdWJsZTtiYWNrZ3JvdW5kOiAjRUVDRkExfQorICAgIDwvc3R5bGU+PHRpdGxlPk1vZHVsZSB4bWxJTyBmcm9tIGxpYnhtbDI8L3RpdGxlPjwvaGVhZD48Ym9keSBiZ2NvbG9yPSIjOGI3NzY1IiB0ZXh0PSIjMDAwMDAwIiBsaW5rPSIjYTA2MDYwIiB2bGluaz0iIzAwMDAwMCI+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjEwMCUiIGNlbGxwYWRkaW5nPSI1IiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCB3aWR0aD0iMTIwIj48YSBocmVmPSJodHRwOi8vc3dwYXQuZmZpaS5vcmcvIj48aW1nIHNyYz0iLi4vZXBhdGVudHMucG5nIiBhbHQ9IkFjdGlvbiBhZ2FpbnN0IHNvZnR3YXJlIHBhdGVudHMiIC8+PC9hPjwvdGQ+PHRkIHdpZHRoPSIxODAiPjxhIGhyZWY9Imh0dHA6Ly93d3cuZ25vbWUub3JnLyI+PGltZyBzcmM9Ii4uL2dub21lMi5wbmciIGFsdD0iR25vbWUyIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1N0YXR1cyI+PGltZyBzcmM9Ii4uL3czYy5wbmciIGFsdD0iVzNDIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cucmVkaGF0LmNvbS8iPjxpbWcgc3JjPSIuLi9yZWRoYXQuZ2lmIiBhbHQ9IlJlZCBIYXQgTG9nbyIgLz48L2E+PGRpdiBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnLyI+PGltZyBzcmM9Ii4uL0xpYnhtbDItTG9nby0xODB4MTY4LmdpZiIgYWx0PSJNYWRlIHdpdGggTGlieG1sMiBMb2dvIiAvPjwvYT48L2Rpdj48L3RkPjx0ZD48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iOTAlIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyIgYmdjb2xvcj0iI2ZmZmFjZCI+PHRyPjx0ZCBhbGlnbj0iY2VudGVyIj48aDE+PC9oMT48aDI+TW9kdWxlIHhtbElPIGZyb20gbGlieG1sMjwvaDI+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjQiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiIHdpZHRoPSIxMDAlIj48dHI+PHRkIHZhbGlnbj0idG9wIiB3aWR0aD0iMjAwIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5BUEkgTWVudTwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48Zm9ybSBhY3Rpb249Ii4uL3NlYXJjaC5waHAiIGVuY3R5cGU9ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIgbWV0aG9kPSJnZXQiPjxpbnB1dCBuYW1lPSJxdWVyeSIgdHlwZT0idGV4dCIgc2l6ZT0iMjAiIHZhbHVlPSIiIC8+PGlucHV0IG5hbWU9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU2VhcmNoIC4uLiIgLz48L2Zvcm0+PHVsPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iLi4vaW5kZXguaHRtbCI+TWFpbiBNZW51PC9hPjwvbGk+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSIuLi9kb2NzLmh0bWwiPkRldmVsb3BlciBNZW51PC9hPjwvbGk+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSIuLi9leGFtcGxlcy9pbmRleC5odG1sIj5Db2RlIEV4YW1wbGVzPC9hPjwvbGk+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSJpbmRleC5odG1sIj5BUEkgTWVudTwvYT48L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwiPlBhcnNlciBBUEk8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCI+VHJlZSBBUEk8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sIj5SZWFkZXIgQVBJPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL2d1aWRlbGluZXMuaHRtbCI+WE1MIEd1aWRlbGluZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQ2hhbmdlTG9nLmh0bWwiPkNoYW5nZUxvZzwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPkFQSSBJbmRleGVzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iLi4vQVBJY2h1bmswLmh0bWwiPkFscGhhYmV0aWM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJY29uc3RydWN0b3JzLmh0bWwiPkNvbnN0cnVjdG9yczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUElmdW5jdGlvbnMuaHRtbCI+RnVuY3Rpb25zL1R5cGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSWZpbGVzLmh0bWwiPk1vZHVsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJc3ltYm9scy5odG1sIj5TeW1ib2xzPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+UmVsYXRlZCBsaW5rczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9Imh0dHA6Ly9tYWlsLmdub21lLm9yZy9hcmNoaXZlcy94bWwvIj5NYWlsIGFyY2hpdmU8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnL1hTTFQvIj5YU0xUIGxpYnhzbHQ8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3BoZC5jcy51bmliby5pdC9nZG9tZTIvIj5ET00gZ2RvbWUyPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuYWxla3NleS5jb20veG1sc2VjLyI+WE1MLURTaWcgeG1sc2VjPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImZ0cDovL3htbHNvZnQub3JnLyI+RlRQPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemxhdGtvdmljLmNvbS9wcm9qZWN0cy9saWJ4bWwvIj5XaW5kb3dzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9vcGVuY3N3Lm9yZy9wYWNrYWdlcy9saWJ4bWwyIj5Tb2xhcmlzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuZXhwbGFpbi5jb20uYXUvb3NzL2xpYnhtbDJ4c2x0Lmh0bWwiPk1hY09zWCBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbHhtbC5kZS8iPmx4bWwgUHl0aG9uIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9jcGFuLnV3aW5uaXBlZy5jYS9kaXN0L1hNTC1MaWJYTUwiPlBlcmwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbHBsdXNwbHVzLnNvdXJjZWZvcmdlLm5ldC8iPkMrKyBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnplbmQuY29tL3BocDUvYXJ0aWNsZXMvcGhwNS14bWxwaHAucGhwI0hlYWRpbmc0Ij5QSFAgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9saWJ4bWwyLXBhcy8iPlBhc2NhbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1sLnJ1Ynlmb3JnZS5vcmcvIj5SdWJ5IGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly90Y2x4bWwuc291cmNlZm9yZ2UubmV0LyI+VGNsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvYnVnbGlzdC5jZ2k/cHJvZHVjdD1saWJ4bWwyIj5CdWcgVHJhY2tlcjwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMyIgY2VsbHNwYWNpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx0YWJsZSBjbGFzcz0ibmF2aWdhdGlvbiIgd2lkdGg9IjEwMCUiIHN1bW1hcnk9Ik5hdmlnYXRpb24gaGVhZGVyIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjIiPjx0ciB2YWxpZ249Im1pZGRsZSI+PHRkPjxhIGFjY2Vzc2tleT0icCIgaHJlZj0ibGlieG1sLXhsaW5rLmh0bWwiPjxpbWcgc3JjPSJsZWZ0LnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iUHJldiIgLz48L2E+PC90ZD48dGggYWxpZ249ImxlZnQiPjxhIGhyZWY9ImxpYnhtbC14bGluay5odG1sIj54bGluazwvYT48L3RoPjx0ZD48YSBhY2Nlc3NrZXk9InUiIGhyZWY9ImluZGV4Lmh0bWwiPjxpbWcgc3JjPSJ1cC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlVwIiAvPjwvYT48L3RkPjx0aCBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iaW5kZXguaHRtbCI+QVBJIGRvY3VtZW50YXRpb248L2E+PC90aD48dGQ+PGEgYWNjZXNza2V5PSJoIiBocmVmPSIuLi9pbmRleC5odG1sIj48aW1nIHNyYz0iaG9tZS5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IkhvbWUiIC8+PC9hPjwvdGQ+PHRoIGFsaWduPSJjZW50ZXIiPjxhIGhyZWY9Ii4uL2luZGV4Lmh0bWwiPlRoZSBYTUwgQyBwYXJzZXIgYW5kIHRvb2xraXQgb2YgR25vbWU8L2E+PC90aD48dGggYWxpZ249InJpZ2h0Ij48YSBocmVmPSJsaWJ4bWwteG1sYXV0b21hdGEuaHRtbCI+eG1sYXV0b21hdGE8L2E+PC90aD48dGQ+PGEgYWNjZXNza2V5PSJuIiBocmVmPSJsaWJ4bWwteG1sYXV0b21hdGEuaHRtbCI+PGltZyBzcmM9InJpZ2h0LnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iTmV4dCIgLz48L2E+PC90ZD48L3RyPjwvdGFibGU+PHA+aW50ZXJmYWNlIGZvciB0aGUgSS9PIGludGVyZmFjZXMgdXNlZCBieSB0aGUgcGFyc2VyIDwvcD48aDI+VGFibGUgb2YgQ29udGVudHM8L2gyPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE91dHB1dEJ1ZmZlclB0ciI+eG1sT3V0cHV0QnVmZmVyUHRyPC9hPgk8YSBocmVmPSIjeG1sQWxsb2NPdXRwdXRCdWZmZXIiPnhtbEFsbG9jT3V0cHV0QnVmZmVyPC9hPgkoPGEgaHJlZj0ibGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0ciI+eG1sQ2hhckVuY29kaW5nSGFuZGxlclB0cjwvYT4gZW5jb2Rlcik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyUHRyIj54bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cjwvYT4JPGEgaHJlZj0iI3htbEFsbG9jUGFyc2VySW5wdXRCdWZmZXIiPnhtbEFsbG9jUGFyc2VySW5wdXRCdWZmZXI8L2E+CSg8YSBocmVmPSJsaWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmciPnhtbENoYXJFbmNvZGluZzwvYT4gZW5jKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sQ2hlY2tGaWxlbmFtZSI+eG1sQ2hlY2tGaWxlbmFtZTwvYT4JCShjb25zdCBjaGFyICogcGF0aCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlcklucHV0UHRyIj54bWxQYXJzZXJJbnB1dFB0cjwvYT4JPGEgaHJlZj0iI3htbENoZWNrSFRUUElucHV0Ij54bWxDaGVja0hUVFBJbnB1dDwvYT4JKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRQdHIiPnhtbFBhcnNlcklucHV0UHRyPC9hPiByZXQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sQ2xlYW51cElucHV0Q2FsbGJhY2tzIj54bWxDbGVhbnVwSW5wdXRDYWxsYmFja3M8L2E+CSh2b2lkKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbENsZWFudXBPdXRwdXRDYWxsYmFja3MiPnhtbENsZWFudXBPdXRwdXRDYWxsYmFja3M8L2E+CSh2b2lkKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sRmlsZUNsb3NlIj54bWxGaWxlQ2xvc2U8L2E+CQkJKHZvaWQgKiBjb250ZXh0KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sRmlsZU1hdGNoIj54bWxGaWxlTWF0Y2g8L2E+CQkJKGNvbnN0IGNoYXIgKiBmaWxlbmFtZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkICoJPGEgaHJlZj0iI3htbEZpbGVPcGVuIj54bWxGaWxlT3BlbjwvYT4JCQkoY29uc3QgY2hhciAqIGZpbGVuYW1lKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sRmlsZVJlYWQiPnhtbEZpbGVSZWFkPC9hPgkJCSh2b2lkICogY29udGV4dCwgPGJyIC8+CQkJCQkgY2hhciAqIGJ1ZmZlciwgPGJyIC8+CQkJCQkgaW50IGxlbik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxGcmVlUGFyc2VySW5wdXRCdWZmZXIiPnhtbEZyZWVQYXJzZXJJbnB1dEJ1ZmZlcjwvYT4JKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIiPnhtbFBhcnNlcklucHV0QnVmZmVyUHRyPC9hPiBpbik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbElPRlRQQ2xvc2UiPnhtbElPRlRQQ2xvc2U8L2E+CQkJKHZvaWQgKiBjb250ZXh0KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sSU9GVFBNYXRjaCI+eG1sSU9GVFBNYXRjaDwvYT4JCQkoY29uc3QgY2hhciAqIGZpbGVuYW1lKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQgKgk8YSBocmVmPSIjeG1sSU9GVFBPcGVuIj54bWxJT0ZUUE9wZW48L2E+CQkJKGNvbnN0IGNoYXIgKiBmaWxlbmFtZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbElPRlRQUmVhZCI+eG1sSU9GVFBSZWFkPC9hPgkJCSh2b2lkICogY29udGV4dCwgPGJyIC8+CQkJCQkgY2hhciAqIGJ1ZmZlciwgPGJyIC8+CQkJCQkgaW50IGxlbik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbElPSFRUUENsb3NlIj54bWxJT0hUVFBDbG9zZTwvYT4JCQkodm9pZCAqIGNvbnRleHQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxJT0hUVFBNYXRjaCI+eG1sSU9IVFRQTWF0Y2g8L2E+CQkJKGNvbnN0IGNoYXIgKiBmaWxlbmFtZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkICoJPGEgaHJlZj0iI3htbElPSFRUUE9wZW4iPnhtbElPSFRUUE9wZW48L2E+CQkJKGNvbnN0IGNoYXIgKiBmaWxlbmFtZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkICoJPGEgaHJlZj0iI3htbElPSFRUUE9wZW5XIj54bWxJT0hUVFBPcGVuVzwvYT4JCQkoY29uc3QgY2hhciAqIHBvc3RfdXJpLCA8YnIgLz4JCQkJCSBpbnQgY29tcHJlc3Npb24pPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxJT0hUVFBSZWFkIj54bWxJT0hUVFBSZWFkPC9hPgkJCSh2b2lkICogY29udGV4dCwgPGJyIC8+CQkJCQkgY2hhciAqIGJ1ZmZlciwgPGJyIC8+CQkJCQkgaW50IGxlbik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5GdW5jdGlvbiB0eXBlOiA8YSBocmVmPSIjeG1sSW5wdXRDbG9zZUNhbGxiYWNrIj54bWxJbnB1dENsb3NlQ2FsbGJhY2s8L2E+CitpbnQJPGEgaHJlZj0iI3htbElucHV0Q2xvc2VDYWxsYmFjayI+eG1sSW5wdXRDbG9zZUNhbGxiYWNrPC9hPgkJKHZvaWQgKiBjb250ZXh0KQorPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RnVuY3Rpb24gdHlwZTogPGEgaHJlZj0iI3htbElucHV0TWF0Y2hDYWxsYmFjayI+eG1sSW5wdXRNYXRjaENhbGxiYWNrPC9hPgoraW50CTxhIGhyZWY9IiN4bWxJbnB1dE1hdGNoQ2FsbGJhY2siPnhtbElucHV0TWF0Y2hDYWxsYmFjazwvYT4JCShjaGFyIGNvbnN0ICogZmlsZW5hbWUpCis8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5GdW5jdGlvbiB0eXBlOiA8YSBocmVmPSIjeG1sSW5wdXRPcGVuQ2FsbGJhY2siPnhtbElucHV0T3BlbkNhbGxiYWNrPC9hPgordm9pZCAqCTxhIGhyZWY9IiN4bWxJbnB1dE9wZW5DYWxsYmFjayI+eG1sSW5wdXRPcGVuQ2FsbGJhY2s8L2E+CQkoY2hhciBjb25zdCAqIGZpbGVuYW1lKQorPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RnVuY3Rpb24gdHlwZTogPGEgaHJlZj0iI3htbElucHV0UmVhZENhbGxiYWNrIj54bWxJbnB1dFJlYWRDYWxsYmFjazwvYT4KK2ludAk8YSBocmVmPSIjeG1sSW5wdXRSZWFkQ2FsbGJhY2siPnhtbElucHV0UmVhZENhbGxiYWNrPC9hPgkJKHZvaWQgKiBjb250ZXh0LCA8YnIgLz4JCQkJCSBjaGFyICogYnVmZmVyLCA8YnIgLz4JCQkJCSBpbnQgbGVuKQorPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dFB0ciI+eG1sUGFyc2VySW5wdXRQdHI8L2E+CTxhIGhyZWY9IiN4bWxOb05ldEV4dGVybmFsRW50aXR5TG9hZGVyIj54bWxOb05ldEV4dGVybmFsRW50aXR5TG9hZGVyPC9hPgkoY29uc3QgY2hhciAqIFVSTCwgPGJyIC8+CQkJCQkJCSBjb25zdCBjaGFyICogSUQsIDxiciAvPgkJCQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxOb3JtYWxpemVXaW5kb3dzUGF0aCI+eG1sTm9ybWFsaXplV2luZG93c1BhdGg8L2E+CShjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwYXRoKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sT3V0cHV0QnVmZmVyQ2xvc2UiPnhtbE91dHB1dEJ1ZmZlckNsb3NlPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sT3V0cHV0QnVmZmVyUHRyIj54bWxPdXRwdXRCdWZmZXJQdHI8L2E+IG91dCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE91dHB1dEJ1ZmZlclB0ciI+eG1sT3V0cHV0QnVmZmVyUHRyPC9hPgk8YSBocmVmPSIjeG1sT3V0cHV0QnVmZmVyQ3JlYXRlQnVmZmVyIj54bWxPdXRwdXRCdWZmZXJDcmVhdGVCdWZmZXI8L2E+CSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlclB0ciI+eG1sQnVmZmVyUHRyPC9hPiBidWZmZXIsIDxiciAvPgkJCQkJCQkgPGEgaHJlZj0ibGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0ciI+eG1sQ2hhckVuY29kaW5nSGFuZGxlclB0cjwvYT4gZW5jb2Rlcik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE91dHB1dEJ1ZmZlclB0ciI+eG1sT3V0cHV0QnVmZmVyUHRyPC9hPgk8YSBocmVmPSIjeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmQiPnhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZkPC9hPgkoaW50IGZkLCA8YnIgLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0ciI+eG1sQ2hhckVuY29kaW5nSGFuZGxlclB0cjwvYT4gZW5jb2Rlcik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE91dHB1dEJ1ZmZlclB0ciI+eG1sT3V0cHV0QnVmZmVyUHRyPC9hPgk8YSBocmVmPSIjeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZSI+eG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZTwvYT4JKEZJTEUgKiBmaWxlLCA8YnIgLz4JCQkJCQkJIDxhIGhyZWY9ImxpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIiPnhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHI8L2E+IGVuY29kZXIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxPdXRwdXRCdWZmZXJQdHIiPnhtbE91dHB1dEJ1ZmZlclB0cjwvYT4JPGEgaHJlZj0iI3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lIj54bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZTwvYT4JKGNvbnN0IGNoYXIgKiBVUkksIDxiciAvPgkJCQkJCQkgPGEgaHJlZj0ibGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0ciI+eG1sQ2hhckVuY29kaW5nSGFuZGxlclB0cjwvYT4gZW5jb2RlciwgPGJyIC8+CQkJCQkJCSBpbnQgY29tcHJlc3Npb24pPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxPdXRwdXRCdWZmZXJQdHIiPnhtbE91dHB1dEJ1ZmZlclB0cjwvYT4JPGEgaHJlZj0iI3htbE91dHB1dEJ1ZmZlckNyZWF0ZUlPIj54bWxPdXRwdXRCdWZmZXJDcmVhdGVJTzwvYT4JKDxhIGhyZWY9ImxpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dFdyaXRlQ2FsbGJhY2siPnhtbE91dHB1dFdyaXRlQ2FsbGJhY2s8L2E+IGlvd3JpdGUsIDxiciAvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRDbG9zZUNhbGxiYWNrIj54bWxPdXRwdXRDbG9zZUNhbGxiYWNrPC9hPiBpb2Nsb3NlLCA8YnIgLz4JCQkJCQkgdm9pZCAqIGlvY3R4LCA8YnIgLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0ciI+eG1sQ2hhckVuY29kaW5nSGFuZGxlclB0cjwvYT4gZW5jb2Rlcik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbE91dHB1dEJ1ZmZlckZsdXNoIj54bWxPdXRwdXRCdWZmZXJGbHVzaDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE91dHB1dEJ1ZmZlclB0ciI+eG1sT3V0cHV0QnVmZmVyUHRyPC9hPiBvdXQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Y29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbE91dHB1dEJ1ZmZlckdldENvbnRlbnQiPnhtbE91dHB1dEJ1ZmZlckdldENvbnRlbnQ8L2E+CSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE91dHB1dEJ1ZmZlclB0ciI+eG1sT3V0cHV0QnVmZmVyUHRyPC9hPiBvdXQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+c2l6ZV90CTxhIGhyZWY9IiN4bWxPdXRwdXRCdWZmZXJHZXRTaXplIj54bWxPdXRwdXRCdWZmZXJHZXRTaXplPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sT3V0cHV0QnVmZmVyUHRyIj54bWxPdXRwdXRCdWZmZXJQdHI8L2E+IG91dCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbE91dHB1dEJ1ZmZlcldyaXRlIj54bWxPdXRwdXRCdWZmZXJXcml0ZTwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE91dHB1dEJ1ZmZlclB0ciI+eG1sT3V0cHV0QnVmZmVyUHRyPC9hPiBvdXQsIDxiciAvPgkJCQkJIGludCBsZW4sIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBidWYpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxPdXRwdXRCdWZmZXJXcml0ZUVzY2FwZSI+eG1sT3V0cHV0QnVmZmVyV3JpdGVFc2NhcGU8L2E+CSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE91dHB1dEJ1ZmZlclB0ciI+eG1sT3V0cHV0QnVmZmVyUHRyPC9hPiBvdXQsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0ciwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYyI+eG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYzwvYT4gZXNjYXBpbmcpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyI+eG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmc8L2E+CSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE91dHB1dEJ1ZmZlclB0ciI+eG1sT3V0cHV0QnVmZmVyUHRyPC9hPiBvdXQsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBzdHIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RnVuY3Rpb24gdHlwZTogPGEgaHJlZj0iI3htbE91dHB1dENsb3NlQ2FsbGJhY2siPnhtbE91dHB1dENsb3NlQ2FsbGJhY2s8L2E+CitpbnQJPGEgaHJlZj0iI3htbE91dHB1dENsb3NlQ2FsbGJhY2siPnhtbE91dHB1dENsb3NlQ2FsbGJhY2s8L2E+CQkodm9pZCAqIGNvbnRleHQpCis8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5GdW5jdGlvbiB0eXBlOiA8YSBocmVmPSIjeG1sT3V0cHV0TWF0Y2hDYWxsYmFjayI+eG1sT3V0cHV0TWF0Y2hDYWxsYmFjazwvYT4KK2ludAk8YSBocmVmPSIjeG1sT3V0cHV0TWF0Y2hDYWxsYmFjayI+eG1sT3V0cHV0TWF0Y2hDYWxsYmFjazwvYT4JCShjaGFyIGNvbnN0ICogZmlsZW5hbWUpCis8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5GdW5jdGlvbiB0eXBlOiA8YSBocmVmPSIjeG1sT3V0cHV0T3BlbkNhbGxiYWNrIj54bWxPdXRwdXRPcGVuQ2FsbGJhY2s8L2E+Cit2b2lkICoJPGEgaHJlZj0iI3htbE91dHB1dE9wZW5DYWxsYmFjayI+eG1sT3V0cHV0T3BlbkNhbGxiYWNrPC9hPgkJKGNoYXIgY29uc3QgKiBmaWxlbmFtZSkKKzwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkZ1bmN0aW9uIHR5cGU6IDxhIGhyZWY9IiN4bWxPdXRwdXRXcml0ZUNhbGxiYWNrIj54bWxPdXRwdXRXcml0ZUNhbGxiYWNrPC9hPgoraW50CTxhIGhyZWY9IiN4bWxPdXRwdXRXcml0ZUNhbGxiYWNrIj54bWxPdXRwdXRXcml0ZUNhbGxiYWNrPC9hPgkJKHZvaWQgKiBjb250ZXh0LCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogYnVmZmVyLCA8YnIgLz4JCQkJCSBpbnQgbGVuKQorPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Y2hhciAqCTxhIGhyZWY9IiN4bWxQYXJzZXJHZXREaXJlY3RvcnkiPnhtbFBhcnNlckdldERpcmVjdG9yeTwvYT4JCShjb25zdCBjaGFyICogZmlsZW5hbWUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciI+eG1sUGFyc2VySW5wdXRCdWZmZXJQdHI8L2E+CTxhIGhyZWY9IiN4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZkIj54bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZkPC9hPgkoaW50IGZkLCA8YnIgLz4JCQkJCQkJIDxhIGhyZWY9ImxpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZyI+eG1sQ2hhckVuY29kaW5nPC9hPiBlbmMpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciI+eG1sUGFyc2VySW5wdXRCdWZmZXJQdHI8L2E+CTxhIGhyZWY9IiN4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGUiPnhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZTwvYT4JKEZJTEUgKiBmaWxlLCA8YnIgLz4JCQkJCQkJIDxhIGhyZWY9ImxpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZyI+eG1sQ2hhckVuY29kaW5nPC9hPiBlbmMpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciI+eG1sUGFyc2VySW5wdXRCdWZmZXJQdHI8L2E+CTxhIGhyZWY9IiN4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lIj54bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lPC9hPgkoY29uc3QgY2hhciAqIFVSSSwgPGJyIC8+CQkJCQkJCSA8YSBocmVmPSJsaWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmciPnhtbENoYXJFbmNvZGluZzwvYT4gZW5jKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIiPnhtbFBhcnNlcklucHV0QnVmZmVyUHRyPC9hPgk8YSBocmVmPSIjeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVJTyI+eG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVJTzwvYT4JKDxhIGhyZWY9ImxpYnhtbC14bWxJTy5odG1sI3htbElucHV0UmVhZENhbGxiYWNrIj54bWxJbnB1dFJlYWRDYWxsYmFjazwvYT4gaW9yZWFkLCA8YnIgLz4JCQkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxJTy5odG1sI3htbElucHV0Q2xvc2VDYWxsYmFjayI+eG1sSW5wdXRDbG9zZUNhbGxiYWNrPC9hPiBpb2Nsb3NlLCA8YnIgLz4JCQkJCQkJIHZvaWQgKiBpb2N0eCwgPGJyIC8+CQkJCQkJCSA8YSBocmVmPSJsaWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmciPnhtbENoYXJFbmNvZGluZzwvYT4gZW5jKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIiPnhtbFBhcnNlcklucHV0QnVmZmVyUHRyPC9hPgk8YSBocmVmPSIjeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVNZW0iPnhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlTWVtPC9hPgkoY29uc3QgY2hhciAqIG1lbSwgPGJyIC8+CQkJCQkJCSBpbnQgc2l6ZSwgPGJyIC8+CQkJCQkJCSA8YSBocmVmPSJsaWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmciPnhtbENoYXJFbmNvZGluZzwvYT4gZW5jKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIiPnhtbFBhcnNlcklucHV0QnVmZmVyUHRyPC9hPgk8YSBocmVmPSIjeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVTdGF0aWMiPnhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlU3RhdGljPC9hPgkoY29uc3QgY2hhciAqIG1lbSwgPGJyIC8+CQkJCQkJCSBpbnQgc2l6ZSwgPGJyIC8+CQkJCQkJCSA8YSBocmVmPSJsaWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmciPnhtbENoYXJFbmNvZGluZzwvYT4gZW5jKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sUGFyc2VySW5wdXRCdWZmZXJHcm93Ij54bWxQYXJzZXJJbnB1dEJ1ZmZlckdyb3c8L2E+CSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyUHRyIj54bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cjwvYT4gaW4sIDxiciAvPgkJCQkJIGludCBsZW4pPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxQYXJzZXJJbnB1dEJ1ZmZlclB1c2giPnhtbFBhcnNlcklucHV0QnVmZmVyUHVzaDwvYT4JKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIiPnhtbFBhcnNlcklucHV0QnVmZmVyUHRyPC9hPiBpbiwgPGJyIC8+CQkJCQkgaW50IGxlbiwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGJ1Zik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFBhcnNlcklucHV0QnVmZmVyUmVhZCI+eG1sUGFyc2VySW5wdXRCdWZmZXJSZWFkPC9hPgkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciI+eG1sUGFyc2VySW5wdXRCdWZmZXJQdHI8L2E+IGluLCA8YnIgLz4JCQkJCSBpbnQgbGVuKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sUG9wSW5wdXRDYWxsYmFja3MiPnhtbFBvcElucHV0Q2FsbGJhY2tzPC9hPgkJKHZvaWQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sUmVnaXN0ZXJEZWZhdWx0SW5wdXRDYWxsYmFja3MiPnhtbFJlZ2lzdGVyRGVmYXVsdElucHV0Q2FsbGJhY2tzPC9hPgkodm9pZCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxSZWdpc3RlckRlZmF1bHRPdXRwdXRDYWxsYmFja3MiPnhtbFJlZ2lzdGVyRGVmYXVsdE91dHB1dENhbGxiYWNrczwvYT4JKHZvaWQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sUmVnaXN0ZXJIVFRQUG9zdENhbGxiYWNrcyI+eG1sUmVnaXN0ZXJIVFRQUG9zdENhbGxiYWNrczwvYT4JKHZvaWQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxSZWdpc3RlcklucHV0Q2FsbGJhY2tzIj54bWxSZWdpc3RlcklucHV0Q2FsbGJhY2tzPC9hPgkoPGEgaHJlZj0ibGlieG1sLXhtbElPLmh0bWwjeG1sSW5wdXRNYXRjaENhbGxiYWNrIj54bWxJbnB1dE1hdGNoQ2FsbGJhY2s8L2E+IG1hdGNoRnVuYywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbElPLmh0bWwjeG1sSW5wdXRPcGVuQ2FsbGJhY2siPnhtbElucHV0T3BlbkNhbGxiYWNrPC9hPiBvcGVuRnVuYywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbElPLmh0bWwjeG1sSW5wdXRSZWFkQ2FsbGJhY2siPnhtbElucHV0UmVhZENhbGxiYWNrPC9hPiByZWFkRnVuYywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbElPLmh0bWwjeG1sSW5wdXRDbG9zZUNhbGxiYWNrIj54bWxJbnB1dENsb3NlQ2FsbGJhY2s8L2E+IGNsb3NlRnVuYyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFJlZ2lzdGVyT3V0cHV0Q2FsbGJhY2tzIj54bWxSZWdpc3Rlck91dHB1dENhbGxiYWNrczwvYT4JKDxhIGhyZWY9ImxpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dE1hdGNoQ2FsbGJhY2siPnhtbE91dHB1dE1hdGNoQ2FsbGJhY2s8L2E+IG1hdGNoRnVuYywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0T3BlbkNhbGxiYWNrIj54bWxPdXRwdXRPcGVuQ2FsbGJhY2s8L2E+IG9wZW5GdW5jLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRXcml0ZUNhbGxiYWNrIj54bWxPdXRwdXRXcml0ZUNhbGxiYWNrPC9hPiB3cml0ZUZ1bmMsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dENsb3NlQ2FsbGJhY2siPnhtbE91dHB1dENsb3NlQ2FsbGJhY2s8L2E+IGNsb3NlRnVuYyk8L3ByZT4KKzxoMj5EZXNjcmlwdGlvbjwvaDI+Cis8aDM+PGEgbmFtZT0ieG1sQWxsb2NPdXRwdXRCdWZmZXIiIGlkPSJ4bWxBbGxvY091dHB1dEJ1ZmZlciI+PC9hPkZ1bmN0aW9uOiB4bWxBbGxvY091dHB1dEJ1ZmZlcjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sT3V0cHV0QnVmZmVyUHRyIj54bWxPdXRwdXRCdWZmZXJQdHI8L2E+CXhtbEFsbG9jT3V0cHV0QnVmZmVyCSg8YSBocmVmPSJsaWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyIj54bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyPC9hPiBlbmNvZGVyKTxiciAvPgorPC9wcmU+PHA+Q3JlYXRlIGEgYnVmZmVyZWQgcGFyc2VyIG91dHB1dDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVuY29kZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbmNvZGluZyBjb252ZXJ0ZXIgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ldyBwYXJzZXIgb3V0cHV0IG9yIE5VTEw8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxBbGxvY1BhcnNlcklucHV0QnVmZmVyIiBpZD0ieG1sQWxsb2NQYXJzZXJJbnB1dEJ1ZmZlciI+PC9hPkZ1bmN0aW9uOiB4bWxBbGxvY1BhcnNlcklucHV0QnVmZmVyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciI+eG1sUGFyc2VySW5wdXRCdWZmZXJQdHI8L2E+CXhtbEFsbG9jUGFyc2VySW5wdXRCdWZmZXIJKDxhIGhyZWY9ImxpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZyI+eG1sQ2hhckVuY29kaW5nPC9hPiBlbmMpPGJyIC8+Cis8L3ByZT48cD5DcmVhdGUgYSBidWZmZXJlZCBwYXJzZXIgaW5wdXQgZm9yIHByb2dyZXNzaXZlIHBhcnNpbmc8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbmM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjaGFyc2V0IGVuY29kaW5nIGlmIGtub3duPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IHBhcnNlciBpbnB1dCBvciBOVUxMPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sQ2hlY2tGaWxlbmFtZSIgaWQ9InhtbENoZWNrRmlsZW5hbWUiPjwvYT5GdW5jdGlvbjogeG1sQ2hlY2tGaWxlbmFtZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxDaGVja0ZpbGVuYW1lCQkoY29uc3QgY2hhciAqIHBhdGgpPGJyIC8+Cis8L3ByZT48cD5mdW5jdGlvbiBjaGVja3MgdG8gc2VlIGlmIEBwYXRoIGlzIGEgdmFsaWQgc291cmNlIChmaWxlLCBzb2NrZXQuLi4pIGZvciBYTUwuIGlmIHN0YXQgaXMgbm90IGF2YWlsYWJsZSBvbiB0aGUgdGFyZ2V0IG1hY2hpbmUsPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cGF0aDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHBhdGggdG8gY2hlY2s8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEuIGlmIHN0YXQgZmFpbHMsIHJldHVybnMgMCAoaWYgY2FsbGluZyBzdGF0IG9uIHRoZSBmaWxlbmFtZSBmYWlscywgaXQgY2FuJ3QgYmUgcmlnaHQpLiBpZiBzdGF0IHN1Y2NlZWRzIGFuZCB0aGUgZmlsZSBpcyBhIGRpcmVjdG9yeSwgcmV0dXJucyAyLiBvdGhlcndpc2UgcmV0dXJucyAxLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbENoZWNrSFRUUElucHV0IiBpZD0ieG1sQ2hlY2tIVFRQSW5wdXQiPjwvYT5GdW5jdGlvbjogeG1sQ2hlY2tIVFRQSW5wdXQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlcklucHV0UHRyIj54bWxQYXJzZXJJbnB1dFB0cjwvYT4JeG1sQ2hlY2tIVFRQSW5wdXQJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRQdHIiPnhtbFBhcnNlcklucHV0UHRyPC9hPiByZXQpPGJyIC8+Cis8L3ByZT48cD5DaGVjayBhbiBpbnB1dCBpbiBjYXNlIGl0IHdhcyBjcmVhdGVkIGZyb20gYW4gSFRUUCBzdHJlYW0sIGluIHRoYXQgY2FzZSBpdCB3aWxsIGhhbmRsZSBlbmNvZGluZyBhbmQgdXBkYXRlIG9mIHRoZSBiYXNlIFVSTCBpbiBjYXNlIG9mIHJlZGlyZWN0aW9uLiBJdCBhbHNvIGNoZWNrcyBmb3IgSFRUUCBlcnJvcnMgaW4gd2hpY2ggY2FzZSB0aGUgaW5wdXQgaXMgY2xlYW5seSBmcmVlZCB1cCBhbmQgYW4gYXBwcm9wcmlhdGUgZXJyb3IgaXMgcmFpc2VkIGluIGNvbnRleHQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJldDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1MIHBhcnNlciBpbnB1dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGlucHV0IG9yIE5VTEwgaW4gY2FzZSBvZiBIVFRQIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbENsZWFudXBJbnB1dENhbGxiYWNrcyIgaWQ9InhtbENsZWFudXBJbnB1dENhbGxiYWNrcyI+PC9hPkZ1bmN0aW9uOiB4bWxDbGVhbnVwSW5wdXRDYWxsYmFja3M8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbENsZWFudXBJbnB1dENhbGxiYWNrcwkodm9pZCk8YnIgLz4KKzwvcHJlPjxwPmNsZWFycyB0aGUgZW50aXJlIGlucHV0IGNhbGxiYWNrIHRhYmxlLiB0aGlzIGluY2x1ZGVzIHRoZSBjb21waWxlZC1pbiBJL08uPC9wPgorPGgzPjxhIG5hbWU9InhtbENsZWFudXBPdXRwdXRDYWxsYmFja3MiIGlkPSJ4bWxDbGVhbnVwT3V0cHV0Q2FsbGJhY2tzIj48L2E+RnVuY3Rpb246IHhtbENsZWFudXBPdXRwdXRDYWxsYmFja3M8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbENsZWFudXBPdXRwdXRDYWxsYmFja3MJKHZvaWQpPGJyIC8+Cis8L3ByZT48cD5jbGVhcnMgdGhlIGVudGlyZSBvdXRwdXQgY2FsbGJhY2sgdGFibGUuIHRoaXMgaW5jbHVkZXMgdGhlIGNvbXBpbGVkLWluIEkvTyBjYWxsYmFja3MuPC9wPgorPGgzPjxhIG5hbWU9InhtbEZpbGVDbG9zZSIgaWQ9InhtbEZpbGVDbG9zZSI+PC9hPkZ1bmN0aW9uOiB4bWxGaWxlQ2xvc2U8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sRmlsZUNsb3NlCQkJKHZvaWQgKiBjb250ZXh0KTxiciAvPgorPC9wcmU+PHA+Q2xvc2UgYW4gSS9PIGNoYW5uZWw8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb250ZXh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgSS9PIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEZpbGVNYXRjaCIgaWQ9InhtbEZpbGVNYXRjaCI+PC9hPkZ1bmN0aW9uOiB4bWxGaWxlTWF0Y2g8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sRmlsZU1hdGNoCQkJKGNvbnN0IGNoYXIgKiBmaWxlbmFtZSk8YnIgLz4KKzwvcHJlPjxwPmlucHV0IGZyb20gRklMRSAqPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmlsZW5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBVUkkgZm9yIG1hdGNoaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIG1hdGNoZXMsIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sRmlsZU9wZW4iIGlkPSJ4bWxGaWxlT3BlbiI+PC9hPkZ1bmN0aW9uOiB4bWxGaWxlT3BlbjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQgKgl4bWxGaWxlT3BlbgkJCShjb25zdCBjaGFyICogZmlsZW5hbWUpPGJyIC8+Cis8L3ByZT48cD5XcmFwcGVyIGFyb3VuZCB4bWxGaWxlT3Blbl9yZWFsIHRoYXQgdHJ5IGl0IHdpdGggYW4gdW5lc2NhcGVkIHZlcnNpb24gb2YgQGZpbGVuYW1lLCBpZiB0aGlzIGZhaWxzIGZhbGxiYWNrIHRvIEBmaWxlbmFtZTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZpbGVuYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgVVJJIGZvciBtYXRjaGluZzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBoYW5kbGVyIG9yIE5VTEwgaW4gY2FzZSBvciBmYWlsdXJlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sRmlsZVJlYWQiIGlkPSJ4bWxGaWxlUmVhZCI+PC9hPkZ1bmN0aW9uOiB4bWxGaWxlUmVhZDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxGaWxlUmVhZAkJCSh2b2lkICogY29udGV4dCwgPGJyIC8+CQkJCQkgY2hhciAqIGJ1ZmZlciwgPGJyIC8+CQkJCQkgaW50IGxlbik8YnIgLz4KKzwvcHJlPjxwPlJlYWQgQGxlbiBieXRlcyB0byBAYnVmZmVyIGZyb20gdGhlIEkvTyBjaGFubmVsLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbnRleHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBJL08gY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YnVmZmVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD53aGVyZSB0byBkcm9wIGRhdGE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+bnVtYmVyIG9mIGJ5dGVzIHRvIHdyaXRlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGJ5dGVzIHdyaXR0ZW4gb3IgJmx0OyAwIGluIGNhc2Ugb2YgZmFpbHVyZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEZyZWVQYXJzZXJJbnB1dEJ1ZmZlciIgaWQ9InhtbEZyZWVQYXJzZXJJbnB1dEJ1ZmZlciI+PC9hPkZ1bmN0aW9uOiB4bWxGcmVlUGFyc2VySW5wdXRCdWZmZXI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbEZyZWVQYXJzZXJJbnB1dEJ1ZmZlcgkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciI+eG1sUGFyc2VySW5wdXRCdWZmZXJQdHI8L2E+IGluKTxiciAvPgorPC9wcmU+PHA+RnJlZSB1cCB0aGUgbWVtb3J5IHVzZWQgYnkgYSBidWZmZXJlZCBwYXJzZXIgaW5wdXQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBidWZmZXJlZCBwYXJzZXIgaW5wdXQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxJT0ZUUENsb3NlIiBpZD0ieG1sSU9GVFBDbG9zZSI+PC9hPkZ1bmN0aW9uOiB4bWxJT0ZUUENsb3NlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbElPRlRQQ2xvc2UJCQkodm9pZCAqIGNvbnRleHQpPGJyIC8+Cis8L3ByZT48cD5DbG9zZSBhbiBGVFAgSS9PIGNoYW5uZWw8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb250ZXh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgSS9PIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjA8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxJT0ZUUE1hdGNoIiBpZD0ieG1sSU9GVFBNYXRjaCI+PC9hPkZ1bmN0aW9uOiB4bWxJT0ZUUE1hdGNoPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbElPRlRQTWF0Y2gJCQkoY29uc3QgY2hhciAqIGZpbGVuYW1lKTxiciAvPgorPC9wcmU+PHA+Y2hlY2sgaWYgdGhlIFVSSSBtYXRjaGVzIGFuIEZUUCBvbmU8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlbmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFVSSSBmb3IgbWF0Y2hpbmc8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgbWF0Y2hlcywgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxJT0ZUUE9wZW4iIGlkPSJ4bWxJT0ZUUE9wZW4iPjwvYT5GdW5jdGlvbjogeG1sSU9GVFBPcGVuPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZCAqCXhtbElPRlRQT3BlbgkJCShjb25zdCBjaGFyICogZmlsZW5hbWUpPGJyIC8+Cis8L3ByZT48cD5vcGVuIGFuIEZUUCBJL08gY2hhbm5lbDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZpbGVuYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgVVJJIGZvciBtYXRjaGluZzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gSS9PIGNvbnRleHQgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sSU9GVFBSZWFkIiBpZD0ieG1sSU9GVFBSZWFkIj48L2E+RnVuY3Rpb246IHhtbElPRlRQUmVhZDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxJT0ZUUFJlYWQJCQkodm9pZCAqIGNvbnRleHQsIDxiciAvPgkJCQkJIGNoYXIgKiBidWZmZXIsIDxiciAvPgkJCQkJIGludCBsZW4pPGJyIC8+Cis8L3ByZT48cD5SZWFkIEBsZW4gYnl0ZXMgdG8gQGJ1ZmZlciBmcm9tIHRoZSBJL08gY2hhbm5lbC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb250ZXh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgSS9PIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmJ1ZmZlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+d2hlcmUgdG8gZHJvcCBkYXRhPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPm51bWJlciBvZiBieXRlcyB0byB3cml0ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBieXRlcyB3cml0dGVuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sSU9IVFRQQ2xvc2UiIGlkPSJ4bWxJT0hUVFBDbG9zZSI+PC9hPkZ1bmN0aW9uOiB4bWxJT0hUVFBDbG9zZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxJT0hUVFBDbG9zZQkJCSh2b2lkICogY29udGV4dCk8YnIgLz4KKzwvcHJlPjxwPkNsb3NlIGFuIEhUVFAgSS9PIGNoYW5uZWw8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb250ZXh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgSS9PIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjA8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxJT0hUVFBNYXRjaCIgaWQ9InhtbElPSFRUUE1hdGNoIj48L2E+RnVuY3Rpb246IHhtbElPSFRUUE1hdGNoPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbElPSFRUUE1hdGNoCQkJKGNvbnN0IGNoYXIgKiBmaWxlbmFtZSk8YnIgLz4KKzwvcHJlPjxwPmNoZWNrIGlmIHRoZSBVUkkgbWF0Y2hlcyBhbiBIVFRQIG9uZTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZpbGVuYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgVVJJIGZvciBtYXRjaGluZzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiBtYXRjaGVzLCAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbElPSFRUUE9wZW4iIGlkPSJ4bWxJT0hUVFBPcGVuIj48L2E+RnVuY3Rpb246IHhtbElPSFRUUE9wZW48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkICoJeG1sSU9IVFRQT3BlbgkJCShjb25zdCBjaGFyICogZmlsZW5hbWUpPGJyIC8+Cis8L3ByZT48cD5vcGVuIGFuIEhUVFAgSS9PIGNoYW5uZWw8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlbmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFVSSSBmb3IgbWF0Y2hpbmc8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIEkvTyBjb250ZXh0IG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbElPSFRUUE9wZW5XIiBpZD0ieG1sSU9IVFRQT3BlblciPjwvYT5GdW5jdGlvbjogeG1sSU9IVFRQT3Blblc8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkICoJeG1sSU9IVFRQT3BlblcJCQkoY29uc3QgY2hhciAqIHBvc3RfdXJpLCA8YnIgLz4JCQkJCSBpbnQgY29tcHJlc3Npb24pPGJyIC8+Cis8L3ByZT48cD5PcGVuIGEgdGVtcG9yYXJ5IGJ1ZmZlciB0byBjb2xsZWN0IHRoZSBkb2N1bWVudCBmb3IgYSBzdWJzZXF1ZW50IEhUVFAgUE9TVCByZXF1ZXN0LiBOb24tc3RhdGljIGFzIGlzIGNhbGxlZCBmcm9tIHRoZSBvdXRwdXQgYnVmZmVyIGNyZWF0aW9uIHJvdXRpbmUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cG9zdF91cmk8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlRoZSBkZXN0aW5hdGlvbiBVUkkgZm9yIHRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29tcHJlc3Npb248L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlRoZSBjb21wcmVzc2lvbiBkZXNpcmVkIGZvciB0aGUgZG9jdW1lbnQuPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBJL08gY29udGV4dCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sSU9IVFRQUmVhZCIgaWQ9InhtbElPSFRUUFJlYWQiPjwvYT5GdW5jdGlvbjogeG1sSU9IVFRQUmVhZDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxJT0hUVFBSZWFkCQkJKHZvaWQgKiBjb250ZXh0LCA8YnIgLz4JCQkJCSBjaGFyICogYnVmZmVyLCA8YnIgLz4JCQkJCSBpbnQgbGVuKTxiciAvPgorPC9wcmU+PHA+UmVhZCBAbGVuIGJ5dGVzIHRvIEBidWZmZXIgZnJvbSB0aGUgSS9PIGNoYW5uZWwuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29udGV4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIEkvTyBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5idWZmZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPndoZXJlIHRvIGRyb3AgZGF0YTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGVuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5udW1iZXIgb2YgYnl0ZXMgdG8gd3JpdGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgYnl0ZXMgd3JpdHRlbjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbElucHV0Q2xvc2VDYWxsYmFjayIgaWQ9InhtbElucHV0Q2xvc2VDYWxsYmFjayI+PC9hPkZ1bmN0aW9uIHR5cGU6IHhtbElucHV0Q2xvc2VDYWxsYmFjazwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkZ1bmN0aW9uIHR5cGU6IHhtbElucHV0Q2xvc2VDYWxsYmFjaworaW50CXhtbElucHV0Q2xvc2VDYWxsYmFjawkJKHZvaWQgKiBjb250ZXh0KQorPC9wcmU+PHA+Q2FsbGJhY2sgdXNlZCBpbiB0aGUgSS9PIElucHV0IEFQSSB0byBjbG9zZSB0aGUgcmVzb3VyY2U8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29udGV4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gSW5wdXQgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48YnIgLz4KKzxoMz48YSBuYW1lPSJ4bWxJbnB1dE1hdGNoQ2FsbGJhY2siIGlkPSJ4bWxJbnB1dE1hdGNoQ2FsbGJhY2siPjwvYT5GdW5jdGlvbiB0eXBlOiB4bWxJbnB1dE1hdGNoQ2FsbGJhY2s8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5GdW5jdGlvbiB0eXBlOiB4bWxJbnB1dE1hdGNoQ2FsbGJhY2sKK2ludAl4bWxJbnB1dE1hdGNoQ2FsbGJhY2sJCShjaGFyIGNvbnN0ICogZmlsZW5hbWUpCis8L3ByZT48cD5DYWxsYmFjayB1c2VkIGluIHRoZSBJL08gSW5wdXQgQVBJIHRvIGRldGVjdCBpZiB0aGUgY3VycmVudCBoYW5kbGVyIGNhbiBwcm92aWRlIGlucHV0IGZvbmN0aW9ubmFsaXRpZXMgZm9yIHRoaXMgcmVzb3VyY2UuPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZpbGVuYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZmlsZW5hbWUgb3IgVVJJPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHllcyBhbmQgMCBpZiBhbm90aGVyIElucHV0IG1vZHVsZSBzaG91bGQgYmUgdXNlZDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGJyIC8+Cis8aDM+PGEgbmFtZT0ieG1sSW5wdXRPcGVuQ2FsbGJhY2siIGlkPSJ4bWxJbnB1dE9wZW5DYWxsYmFjayI+PC9hPkZ1bmN0aW9uIHR5cGU6IHhtbElucHV0T3BlbkNhbGxiYWNrPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RnVuY3Rpb24gdHlwZTogeG1sSW5wdXRPcGVuQ2FsbGJhY2sKK3ZvaWQgKgl4bWxJbnB1dE9wZW5DYWxsYmFjawkJKGNoYXIgY29uc3QgKiBmaWxlbmFtZSkKKzwvcHJlPjxwPkNhbGxiYWNrIHVzZWQgaW4gdGhlIEkvTyBJbnB1dCBBUEkgdG8gb3BlbiB0aGUgcmVzb3VyY2U8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmlsZW5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmaWxlbmFtZSBvciBVUkk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIElucHV0IGNvbnRleHQgb3IgTlVMTCBpbiBjYXNlIG9yIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48YnIgLz4KKzxoMz48YSBuYW1lPSJ4bWxJbnB1dFJlYWRDYWxsYmFjayIgaWQ9InhtbElucHV0UmVhZENhbGxiYWNrIj48L2E+RnVuY3Rpb24gdHlwZTogeG1sSW5wdXRSZWFkQ2FsbGJhY2s8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5GdW5jdGlvbiB0eXBlOiB4bWxJbnB1dFJlYWRDYWxsYmFjaworaW50CXhtbElucHV0UmVhZENhbGxiYWNrCQkodm9pZCAqIGNvbnRleHQsIDxiciAvPgkJCQkJIGNoYXIgKiBidWZmZXIsIDxiciAvPgkJCQkJIGludCBsZW4pCis8L3ByZT48cD5DYWxsYmFjayB1c2VkIGluIHRoZSBJL08gSW5wdXQgQVBJIHRvIHJlYWQgdGhlIHJlc291cmNlPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbnRleHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIElucHV0IGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmJ1ZmZlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ1ZmZlciB0byBzdG9yZSBkYXRhIHJlYWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxlbmd0aCBvZiB0aGUgYnVmZmVyIGluIGJ5dGVzPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGJ5dGVzIHJlYWQgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGJyIC8+Cis8aDM+PGEgbmFtZT0ieG1sTm9OZXRFeHRlcm5hbEVudGl0eUxvYWRlciIgaWQ9InhtbE5vTmV0RXh0ZXJuYWxFbnRpdHlMb2FkZXIiPjwvYT5GdW5jdGlvbjogeG1sTm9OZXRFeHRlcm5hbEVudGl0eUxvYWRlcjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRQdHIiPnhtbFBhcnNlcklucHV0UHRyPC9hPgl4bWxOb05ldEV4dGVybmFsRW50aXR5TG9hZGVyCShjb25zdCBjaGFyICogVVJMLCA8YnIgLz4JCQkJCQkJIGNvbnN0IGNoYXIgKiBJRCwgPGJyIC8+CQkJCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPGJyIC8+Cis8L3ByZT48cD5BIHNwZWNpZmljIGVudGl0eSBsb2FkZXIgZGlzYWJsaW5nIG5ldHdvcmsgYWNjZXNzZXMsIHRob3VnaCBzdGlsbCBhbGxvd2luZyBsb2NhbCBjYXRhbG9nIGFjY2Vzc2VzIGZvciByZXNvbHV0aW9uLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlVSTDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFVSTCBmb3IgdGhlIGVudGl0eSB0byBsb2FkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5JRDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFN5c3RlbSBJRCBmb3IgdGhlIGVudGl0eSB0byBsb2FkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY29udGV4dCBpbiB3aGljaCB0aGUgZW50aXR5IGlzIGNhbGxlZCBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIG5ldyBhbGxvY2F0ZWQgeG1sUGFyc2VySW5wdXRQdHIsIG9yIE5VTEwuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sTm9ybWFsaXplV2luZG93c1BhdGgiIGlkPSJ4bWxOb3JtYWxpemVXaW5kb3dzUGF0aCI+PC9hPkZ1bmN0aW9uOiB4bWxOb3JtYWxpemVXaW5kb3dzUGF0aDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbE5vcm1hbGl6ZVdpbmRvd3NQYXRoCShjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwYXRoKTxiciAvPgorPC9wcmU+PHA+VGhpcyBmdW5jdGlvbiBpcyBvYnNvbGV0ZS4gUGxlYXNlIHNlZSB4bWxVUklGcm9tUGF0aCBpbiB1cmkuYyBmb3IgYSBiZXR0ZXIgc29sdXRpb24uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cGF0aDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGlucHV0IGZpbGUgcGF0aDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBjYW5vbmljYWxpemVkIHZlcnNpb24gb2YgdGhlIHBhdGg8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxPdXRwdXRCdWZmZXJDbG9zZSIgaWQ9InhtbE91dHB1dEJ1ZmZlckNsb3NlIj48L2E+RnVuY3Rpb246IHhtbE91dHB1dEJ1ZmZlckNsb3NlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbE91dHB1dEJ1ZmZlckNsb3NlCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxPdXRwdXRCdWZmZXJQdHIiPnhtbE91dHB1dEJ1ZmZlclB0cjwvYT4gb3V0KTxiciAvPgorPC9wcmU+PHA+Zmx1c2hlcyBhbmQgY2xvc2UgdGhlIG91dHB1dCBJL08gY2hhbm5lbCBhbmQgZnJlZSB1cCBhbGwgdGhlIGFzc29jaWF0ZWQgcmVzb3VyY2VzPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3V0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGJ1ZmZlcmVkIG91dHB1dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBieXRlIHdyaXR0ZW4gb3IgLTEgaW4gY2FzZSBvZiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxPdXRwdXRCdWZmZXJDcmVhdGVCdWZmZXIiIGlkPSJ4bWxPdXRwdXRCdWZmZXJDcmVhdGVCdWZmZXIiPjwvYT5GdW5jdGlvbjogeG1sT3V0cHV0QnVmZmVyQ3JlYXRlQnVmZmVyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxPdXRwdXRCdWZmZXJQdHIiPnhtbE91dHB1dEJ1ZmZlclB0cjwvYT4JeG1sT3V0cHV0QnVmZmVyQ3JlYXRlQnVmZmVyCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlclB0ciI+eG1sQnVmZmVyUHRyPC9hPiBidWZmZXIsIDxiciAvPgkJCQkJCQkgPGEgaHJlZj0ibGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0ciI+eG1sQ2hhckVuY29kaW5nSGFuZGxlclB0cjwvYT4gZW5jb2Rlcik8YnIgLz4KKzwvcHJlPjxwPkNyZWF0ZSBhIGJ1ZmZlcmVkIG91dHB1dCBmb3IgdGhlIHByb2dyZXNzaXZlIHNhdmluZyB0byBhIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyIj54bWxCdWZmZXI8L2E+PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YnVmZmVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyUHRyIj54bWxCdWZmZXJQdHI8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbmNvZGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZW5jb2RpbmcgY29udmVydGVyIG9yIE5VTEw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXcgcGFyc2VyIG91dHB1dCBvciBOVUxMPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmQiIGlkPSJ4bWxPdXRwdXRCdWZmZXJDcmVhdGVGZCI+PC9hPkZ1bmN0aW9uOiB4bWxPdXRwdXRCdWZmZXJDcmVhdGVGZDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sT3V0cHV0QnVmZmVyUHRyIj54bWxPdXRwdXRCdWZmZXJQdHI8L2E+CXhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZkCShpbnQgZmQsIDxiciAvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyIj54bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyPC9hPiBlbmNvZGVyKTxiciAvPgorPC9wcmU+PHA+Q3JlYXRlIGEgYnVmZmVyZWQgb3V0cHV0IGZvciB0aGUgcHJvZ3Jlc3NpdmUgc2F2aW5nIHRvIGEgZmlsZSBkZXNjcmlwdG9yPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgZmlsZSBkZXNjcmlwdG9yIG51bWJlcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jb2RlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVuY29kaW5nIGNvbnZlcnRlciBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IHBhcnNlciBvdXRwdXQgb3IgTlVMTDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGUiIGlkPSJ4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlIj48L2E+RnVuY3Rpb246IHhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE91dHB1dEJ1ZmZlclB0ciI+eG1sT3V0cHV0QnVmZmVyUHRyPC9hPgl4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlCShGSUxFICogZmlsZSwgPGJyIC8+CQkJCQkJCSA8YSBocmVmPSJsaWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyIj54bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyPC9hPiBlbmNvZGVyKTxiciAvPgorPC9wcmU+PHA+Q3JlYXRlIGEgYnVmZmVyZWQgb3V0cHV0IGZvciB0aGUgcHJvZ3Jlc3NpdmUgc2F2aW5nIHRvIGEgRklMRSAqIGJ1ZmZlcmVkIEMgSS9PPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmlsZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBGSUxFKjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jb2RlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVuY29kaW5nIGNvbnZlcnRlciBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IHBhcnNlciBvdXRwdXQgb3IgTlVMTDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lIiBpZD0ieG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWUiPjwvYT5GdW5jdGlvbjogeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE91dHB1dEJ1ZmZlclB0ciI+eG1sT3V0cHV0QnVmZmVyUHRyPC9hPgl4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZQkoY29uc3QgY2hhciAqIFVSSSwgPGJyIC8+CQkJCQkJCSA8YSBocmVmPSJsaWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyIj54bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyPC9hPiBlbmNvZGVyLCA8YnIgLz4JCQkJCQkJIGludCBjb21wcmVzc2lvbik8YnIgLz4KKzwvcHJlPjxwPkNyZWF0ZSBhIGJ1ZmZlcmVkIG91dHB1dCBmb3IgdGhlIHByb2dyZXNzaXZlIHNhdmluZyBvZiBhIGZpbGUgSWYgZmlsZW5hbWUgaXMgIi0nIHRoZW4gd2UgdXNlIHN0ZG91dCBhcyB0aGUgb3V0cHV0LiBBdXRvbWF0aWMgc3VwcG9ydCBmb3IgWkxJQi9Db21wcmVzcyBjb21wcmVzc2VkIGRvY3VtZW50IGlzIHByb3ZpZGVkIGJ5IGRlZmF1bHQgaWYgZm91bmQgYXQgY29tcGlsZS10aW1lLiBUT0RPOiBjdXJyZW50bHkgaWYgY29tcHJlc3Npb24gaXMgc2V0LCB0aGUgbGlicmFyeSBvbmx5IHN1cHBvcnQgd3JpdGluZyB0byBhIGxvY2FsIGZpbGUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+VVJJPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIEMgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIFVSSSBvciBmaWxlbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jb2RlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVuY29kaW5nIGNvbnZlcnRlciBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb21wcmVzc2lvbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGNvbXByZXNzaW9uIHJhdGlvbiAoMCBub25lLCA5IG1heCkuPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IG91dHB1dCBvciBOVUxMPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sT3V0cHV0QnVmZmVyQ3JlYXRlSU8iIGlkPSJ4bWxPdXRwdXRCdWZmZXJDcmVhdGVJTyI+PC9hPkZ1bmN0aW9uOiB4bWxPdXRwdXRCdWZmZXJDcmVhdGVJTzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sT3V0cHV0QnVmZmVyUHRyIj54bWxPdXRwdXRCdWZmZXJQdHI8L2E+CXhtbE91dHB1dEJ1ZmZlckNyZWF0ZUlPCSg8YSBocmVmPSJsaWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRXcml0ZUNhbGxiYWNrIj54bWxPdXRwdXRXcml0ZUNhbGxiYWNrPC9hPiBpb3dyaXRlLCA8YnIgLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0Q2xvc2VDYWxsYmFjayI+eG1sT3V0cHV0Q2xvc2VDYWxsYmFjazwvYT4gaW9jbG9zZSwgPGJyIC8+CQkJCQkJIHZvaWQgKiBpb2N0eCwgPGJyIC8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIiPnhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHI8L2E+IGVuY29kZXIpPGJyIC8+Cis8L3ByZT48cD5DcmVhdGUgYSBidWZmZXJlZCBvdXRwdXQgZm9yIHRoZSBwcm9ncmVzc2l2ZSBzYXZpbmcgdG8gYW4gSS9PIGhhbmRsZXI8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pb3dyaXRlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBJL08gd3JpdGUgZnVuY3Rpb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmlvY2xvc2U8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIEkvTyBjbG9zZSBmdW5jdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aW9jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIEkvTyBoYW5kbGVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbmNvZGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY2hhcnNldCBlbmNvZGluZyBpZiBrbm93bjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ldyBwYXJzZXIgb3V0cHV0IG9yIE5VTEw8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxPdXRwdXRCdWZmZXJGbHVzaCIgaWQ9InhtbE91dHB1dEJ1ZmZlckZsdXNoIj48L2E+RnVuY3Rpb246IHhtbE91dHB1dEJ1ZmZlckZsdXNoPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbE91dHB1dEJ1ZmZlckZsdXNoCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxPdXRwdXRCdWZmZXJQdHIiPnhtbE91dHB1dEJ1ZmZlclB0cjwvYT4gb3V0KTxiciAvPgorPC9wcmU+PHA+Zmx1c2hlcyB0aGUgb3V0cHV0IEkvTyBjaGFubmVsPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3V0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGJ1ZmZlcmVkIG91dHB1dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBieXRlIHdyaXR0ZW4gb3IgLTEgaW4gY2FzZSBvZiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxPdXRwdXRCdWZmZXJHZXRDb250ZW50IiBpZD0ieG1sT3V0cHV0QnVmZmVyR2V0Q29udGVudCI+PC9hPkZ1bmN0aW9uOiB4bWxPdXRwdXRCdWZmZXJHZXRDb250ZW50PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Y29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sT3V0cHV0QnVmZmVyR2V0Q29udGVudAkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxPdXRwdXRCdWZmZXJQdHIiPnhtbE91dHB1dEJ1ZmZlclB0cjwvYT4gb3V0KTxiciAvPgorPC9wcmU+PHA+R2l2ZXMgYSBwb2ludGVyIHRvIHRoZSBkYXRhIGN1cnJlbnRseSBoZWxkIGluIHRoZSBvdXRwdXQgYnVmZmVyPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3V0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE91dHB1dEJ1ZmZlclB0ciI+eG1sT3V0cHV0QnVmZmVyUHRyPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIHRoZSBkYXRhIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbE91dHB1dEJ1ZmZlckdldFNpemUiIGlkPSJ4bWxPdXRwdXRCdWZmZXJHZXRTaXplIj48L2E+RnVuY3Rpb246IHhtbE91dHB1dEJ1ZmZlckdldFNpemU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5zaXplX3QJeG1sT3V0cHV0QnVmZmVyR2V0U2l6ZQkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sT3V0cHV0QnVmZmVyUHRyIj54bWxPdXRwdXRCdWZmZXJQdHI8L2E+IG91dCk8YnIgLz4KKzwvcHJlPjxwPkdpdmVzIHRoZSBsZW5ndGggb2YgdGhlIGRhdGEgY3VycmVudGx5IGhlbGQgaW4gdGhlIG91dHB1dCBidWZmZXI8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vdXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sT3V0cHV0QnVmZmVyUHRyIj54bWxPdXRwdXRCdWZmZXJQdHI8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGluIGNhc2Ugb3IgZXJyb3Igb3Igbm8gZGF0YSBpcyBoZWxkLCB0aGUgc2l6ZSBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxPdXRwdXRCdWZmZXJXcml0ZSIgaWQ9InhtbE91dHB1dEJ1ZmZlcldyaXRlIj48L2E+RnVuY3Rpb246IHhtbE91dHB1dEJ1ZmZlcldyaXRlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbE91dHB1dEJ1ZmZlcldyaXRlCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxPdXRwdXRCdWZmZXJQdHIiPnhtbE91dHB1dEJ1ZmZlclB0cjwvYT4gb3V0LCA8YnIgLz4JCQkJCSBpbnQgbGVuLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogYnVmKTxiciAvPgorPC9wcmU+PHA+V3JpdGUgdGhlIGNvbnRlbnQgb2YgdGhlIGFycmF5IGluIHRoZSBvdXRwdXQgSS9PIGJ1ZmZlciBUaGlzIHJvdXRpbmUgaGFuZGxlIHRoZSBJMThOIHRyYW5zY29kaW5nIGZyb20gaW50ZXJuYWwgVVRGLTggVGhlIGJ1ZmZlciBpcyBsb3NzbGVzcywgaS5lLiB3aWxsIHN0b3JlIGluIGNhc2Ugb2YgcGFydGlhbCBvciBkZWxheWVkIHdyaXRlcy48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vdXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgYnVmZmVyZWQgcGFyc2VyIG91dHB1dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGVuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc2l6ZSBpbiBieXRlcyBvZiB0aGUgYXJyYXkuPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5idWY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIGNoYXIgYXJyYXk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgY2hhcnMgaW1tZWRpYXRlbHkgd3JpdHRlbiwgb3IgLTEgaW4gY2FzZSBvZiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxPdXRwdXRCdWZmZXJXcml0ZUVzY2FwZSIgaWQ9InhtbE91dHB1dEJ1ZmZlcldyaXRlRXNjYXBlIj48L2E+RnVuY3Rpb246IHhtbE91dHB1dEJ1ZmZlcldyaXRlRXNjYXBlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbE91dHB1dEJ1ZmZlcldyaXRlRXNjYXBlCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE91dHB1dEJ1ZmZlclB0ciI+eG1sT3V0cHV0QnVmZmVyUHRyPC9hPiBvdXQsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0ciwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYyI+eG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYzwvYT4gZXNjYXBpbmcpPGJyIC8+Cis8L3ByZT48cD5Xcml0ZSB0aGUgY29udGVudCBvZiB0aGUgc3RyaW5nIGluIHRoZSBvdXRwdXQgSS9PIGJ1ZmZlciBUaGlzIHJvdXRpbmUgZXNjYXBlcyB0aGUgY2FyYWN0ZXJzIGFuZCB0aGVuIGhhbmRsZSB0aGUgSTE4TiB0cmFuc2NvZGluZyBmcm9tIGludGVybmFsIFVURi04IFRoZSBidWZmZXIgaXMgbG9zc2xlc3MsIGkuZS4gd2lsbCBzdG9yZSBpbiBjYXNlIG9mIHBhcnRpYWwgb3IgZGVsYXllZCB3cml0ZXMuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3V0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGJ1ZmZlcmVkIHBhcnNlciBvdXRwdXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSB6ZXJvIHRlcm1pbmF0ZWQgVVRGLTggc3RyaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lc2NhcGluZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gb3B0aW9uYWwgZXNjYXBpbmcgZnVuY3Rpb24gKG9yIE5VTEwpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGNoYXJzIGltbWVkaWF0ZWx5IHdyaXR0ZW4sIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmciIGlkPSJ4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyI+PC9hPkZ1bmN0aW9uOiB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZwkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxPdXRwdXRCdWZmZXJQdHIiPnhtbE91dHB1dEJ1ZmZlclB0cjwvYT4gb3V0LCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogc3RyKTxiciAvPgorPC9wcmU+PHA+V3JpdGUgdGhlIGNvbnRlbnQgb2YgdGhlIHN0cmluZyBpbiB0aGUgb3V0cHV0IEkvTyBidWZmZXIgVGhpcyByb3V0aW5lIGhhbmRsZSB0aGUgSTE4TiB0cmFuc2NvZGluZyBmcm9tIGludGVybmFsIFVURi04IFRoZSBidWZmZXIgaXMgbG9zc2xlc3MsIGkuZS4gd2lsbCBzdG9yZSBpbiBjYXNlIG9mIHBhcnRpYWwgb3IgZGVsYXllZCB3cml0ZXMuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3V0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGJ1ZmZlcmVkIHBhcnNlciBvdXRwdXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSB6ZXJvIHRlcm1pbmF0ZWQgQyBzdHJpbmc8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgY2hhcnMgaW1tZWRpYXRlbHkgd3JpdHRlbiwgb3IgLTEgaW4gY2FzZSBvZiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxPdXRwdXRDbG9zZUNhbGxiYWNrIiBpZD0ieG1sT3V0cHV0Q2xvc2VDYWxsYmFjayI+PC9hPkZ1bmN0aW9uIHR5cGU6IHhtbE91dHB1dENsb3NlQ2FsbGJhY2s8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5GdW5jdGlvbiB0eXBlOiB4bWxPdXRwdXRDbG9zZUNhbGxiYWNrCitpbnQJeG1sT3V0cHV0Q2xvc2VDYWxsYmFjawkJKHZvaWQgKiBjb250ZXh0KQorPC9wcmU+PHA+Q2FsbGJhY2sgdXNlZCBpbiB0aGUgSS9PIE91dHB1dCBBUEkgdG8gY2xvc2UgdGhlIHJlc291cmNlPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbnRleHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIE91dHB1dCBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxiciAvPgorPGgzPjxhIG5hbWU9InhtbE91dHB1dE1hdGNoQ2FsbGJhY2siIGlkPSJ4bWxPdXRwdXRNYXRjaENhbGxiYWNrIj48L2E+RnVuY3Rpb24gdHlwZTogeG1sT3V0cHV0TWF0Y2hDYWxsYmFjazwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkZ1bmN0aW9uIHR5cGU6IHhtbE91dHB1dE1hdGNoQ2FsbGJhY2sKK2ludAl4bWxPdXRwdXRNYXRjaENhbGxiYWNrCQkoY2hhciBjb25zdCAqIGZpbGVuYW1lKQorPC9wcmU+PHA+Q2FsbGJhY2sgdXNlZCBpbiB0aGUgSS9PIE91dHB1dCBBUEkgdG8gZGV0ZWN0IGlmIHRoZSBjdXJyZW50IGhhbmRsZXIgY2FuIHByb3ZpZGUgb3V0cHV0IGZvbmN0aW9ubmFsaXRpZXMgZm9yIHRoaXMgcmVzb3VyY2UuPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZpbGVuYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZmlsZW5hbWUgb3IgVVJJPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHllcyBhbmQgMCBpZiBhbm90aGVyIE91dHB1dCBtb2R1bGUgc2hvdWxkIGJlIHVzZWQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxiciAvPgorPGgzPjxhIG5hbWU9InhtbE91dHB1dE9wZW5DYWxsYmFjayIgaWQ9InhtbE91dHB1dE9wZW5DYWxsYmFjayI+PC9hPkZ1bmN0aW9uIHR5cGU6IHhtbE91dHB1dE9wZW5DYWxsYmFjazwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkZ1bmN0aW9uIHR5cGU6IHhtbE91dHB1dE9wZW5DYWxsYmFjawordm9pZCAqCXhtbE91dHB1dE9wZW5DYWxsYmFjawkJKGNoYXIgY29uc3QgKiBmaWxlbmFtZSkKKzwvcHJlPjxwPkNhbGxiYWNrIHVzZWQgaW4gdGhlIEkvTyBPdXRwdXQgQVBJIHRvIG9wZW4gdGhlIHJlc291cmNlPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZpbGVuYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZmlsZW5hbWUgb3IgVVJJPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBPdXRwdXQgY29udGV4dCBvciBOVUxMIGluIGNhc2Ugb3IgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxiciAvPgorPGgzPjxhIG5hbWU9InhtbE91dHB1dFdyaXRlQ2FsbGJhY2siIGlkPSJ4bWxPdXRwdXRXcml0ZUNhbGxiYWNrIj48L2E+RnVuY3Rpb24gdHlwZTogeG1sT3V0cHV0V3JpdGVDYWxsYmFjazwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkZ1bmN0aW9uIHR5cGU6IHhtbE91dHB1dFdyaXRlQ2FsbGJhY2sKK2ludAl4bWxPdXRwdXRXcml0ZUNhbGxiYWNrCQkodm9pZCAqIGNvbnRleHQsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBidWZmZXIsIDxiciAvPgkJCQkJIGludCBsZW4pCis8L3ByZT48cD5DYWxsYmFjayB1c2VkIGluIHRoZSBJL08gT3V0cHV0IEFQSSB0byB3cml0ZSB0byB0aGUgcmVzb3VyY2U8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29udGV4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gT3V0cHV0IGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmJ1ZmZlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ1ZmZlciBvZiBkYXRhIHRvIHdyaXRlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsZW5ndGggb2YgdGhlIGJ1ZmZlciBpbiBieXRlczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBieXRlcyB3cml0dGVuIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxiciAvPgorPGgzPjxhIG5hbWU9InhtbFBhcnNlckdldERpcmVjdG9yeSIgaWQ9InhtbFBhcnNlckdldERpcmVjdG9yeSI+PC9hPkZ1bmN0aW9uOiB4bWxQYXJzZXJHZXREaXJlY3Rvcnk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5jaGFyICoJeG1sUGFyc2VyR2V0RGlyZWN0b3J5CQkoY29uc3QgY2hhciAqIGZpbGVuYW1lKTxiciAvPgorPC9wcmU+PHA+bG9va3VwIHRoZSBkaXJlY3RvcnkgZm9yIHRoYXQgZmlsZTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZpbGVuYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcGF0aCB0byBhIGZpbGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbmV3IGFsbG9jYXRlZCBzdHJpbmcgY29udGFpbmluZyB0aGUgZGlyZWN0b3J5LCBvciBOVUxMLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmQiIGlkPSJ4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZkIj48L2E+RnVuY3Rpb246IHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyUHRyIj54bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cjwvYT4JeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGZAkoaW50IGZkLCA8YnIgLz4JCQkJCQkJIDxhIGhyZWY9ImxpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZyI+eG1sQ2hhckVuY29kaW5nPC9hPiBlbmMpPGJyIC8+Cis8L3ByZT48cD5DcmVhdGUgYSBidWZmZXJlZCBwYXJzZXIgaW5wdXQgZm9yIHRoZSBwcm9ncmVzc2l2ZSBwYXJzaW5nIGZvciB0aGUgaW5wdXQgZnJvbSBhIGZpbGUgZGVzY3JpcHRvcjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZkPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGZpbGUgZGVzY3JpcHRvciBudW1iZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVuYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGNoYXJzZXQgZW5jb2RpbmcgaWYga25vd248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXcgcGFyc2VyIGlucHV0IG9yIE5VTEw8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGUiIGlkPSJ4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGUiPjwvYT5GdW5jdGlvbjogeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciI+eG1sUGFyc2VySW5wdXRCdWZmZXJQdHI8L2E+CXhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZQkoRklMRSAqIGZpbGUsIDxiciAvPgkJCQkJCQkgPGEgaHJlZj0ibGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nIj54bWxDaGFyRW5jb2Rpbmc8L2E+IGVuYyk8YnIgLz4KKzwvcHJlPjxwPkNyZWF0ZSBhIGJ1ZmZlcmVkIHBhcnNlciBpbnB1dCBmb3IgdGhlIHByb2dyZXNzaXZlIHBhcnNpbmcgb2YgYSBGSUxFICogYnVmZmVyZWQgQyBJL088L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIEZJTEUqPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbmM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjaGFyc2V0IGVuY29kaW5nIGlmIGtub3duPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IHBhcnNlciBpbnB1dCBvciBOVUxMPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZSIgaWQ9InhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWUiPjwvYT5GdW5jdGlvbjogeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIiPnhtbFBhcnNlcklucHV0QnVmZmVyUHRyPC9hPgl4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lCShjb25zdCBjaGFyICogVVJJLCA8YnIgLz4JCQkJCQkJIDxhIGhyZWY9ImxpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZyI+eG1sQ2hhckVuY29kaW5nPC9hPiBlbmMpPGJyIC8+Cis8L3ByZT48cD5DcmVhdGUgYSBidWZmZXJlZCBwYXJzZXIgaW5wdXQgZm9yIHRoZSBwcm9ncmVzc2l2ZSBwYXJzaW5nIG9mIGEgZmlsZSBJZiBmaWxlbmFtZSBpcyAiLScgdGhlbiB3ZSB1c2Ugc3RkaW4gYXMgdGhlIGlucHV0LiBBdXRvbWF0aWMgc3VwcG9ydCBmb3IgWkxJQi9Db21wcmVzcyBjb21wcmVzc2VkIGRvY3VtZW50IGlzIHByb3ZpZGVkIGJ5IGRlZmF1bHQgaWYgZm91bmQgYXQgY29tcGlsZS10aW1lLiBEbyBhbiBlbmNvZGluZyBjaGVjayBpZiBlbmMgPT0gPGEgaHJlZj0ibGlieG1sLWVuY29kaW5nLmh0bWwjWE1MX0NIQVJfRU5DT0RJTkdfTk9ORSI+WE1MX0NIQVJfRU5DT0RJTkdfTk9ORTwvYT48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5VUkk8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgQyBzdHJpbmcgY29udGFpbmluZyB0aGUgVVJJIG9yIGZpbGVuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbmM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjaGFyc2V0IGVuY29kaW5nIGlmIGtub3duPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IHBhcnNlciBpbnB1dCBvciBOVUxMPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVJTyIgaWQ9InhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlSU8iPjwvYT5GdW5jdGlvbjogeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVJTzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIiPnhtbFBhcnNlcklucHV0QnVmZmVyUHRyPC9hPgl4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUlPCSg8YSBocmVmPSJsaWJ4bWwteG1sSU8uaHRtbCN4bWxJbnB1dFJlYWRDYWxsYmFjayI+eG1sSW5wdXRSZWFkQ2FsbGJhY2s8L2E+IGlvcmVhZCwgPGJyIC8+CQkJCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sSU8uaHRtbCN4bWxJbnB1dENsb3NlQ2FsbGJhY2siPnhtbElucHV0Q2xvc2VDYWxsYmFjazwvYT4gaW9jbG9zZSwgPGJyIC8+CQkJCQkJCSB2b2lkICogaW9jdHgsIDxiciAvPgkJCQkJCQkgPGEgaHJlZj0ibGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nIj54bWxDaGFyRW5jb2Rpbmc8L2E+IGVuYyk8YnIgLz4KKzwvcHJlPjxwPkNyZWF0ZSBhIGJ1ZmZlcmVkIHBhcnNlciBpbnB1dCBmb3IgdGhlIHByb2dyZXNzaXZlIHBhcnNpbmcgZm9yIHRoZSBpbnB1dCBmcm9tIGFuIEkvTyBoYW5kbGVyPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aW9yZWFkPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBJL08gcmVhZCBmdW5jdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aW9jbG9zZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gSS9PIGNsb3NlIGZ1bmN0aW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pb2N0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gSS9PIGhhbmRsZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVuYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGNoYXJzZXQgZW5jb2RpbmcgaWYga25vd248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXcgcGFyc2VyIGlucHV0IG9yIE5VTEw8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZU1lbSIgaWQ9InhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlTWVtIj48L2E+RnVuY3Rpb246IHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlTWVtPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciI+eG1sUGFyc2VySW5wdXRCdWZmZXJQdHI8L2E+CXhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlTWVtCShjb25zdCBjaGFyICogbWVtLCA8YnIgLz4JCQkJCQkJIGludCBzaXplLCA8YnIgLz4JCQkJCQkJIDxhIGhyZWY9ImxpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZyI+eG1sQ2hhckVuY29kaW5nPC9hPiBlbmMpPGJyIC8+Cis8L3ByZT48cD5DcmVhdGUgYSBidWZmZXJlZCBwYXJzZXIgaW5wdXQgZm9yIHRoZSBwcm9ncmVzc2l2ZSBwYXJzaW5nIGZvciB0aGUgaW5wdXQgZnJvbSBhIG1lbW9yeSBhcmVhLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm1lbTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG1lbW9yeSBpbnB1dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2l6ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxlbmd0aCBvZiB0aGUgbWVtb3J5IGJsb2NrPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbmM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjaGFyc2V0IGVuY29kaW5nIGlmIGtub3duPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IHBhcnNlciBpbnB1dCBvciBOVUxMPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVTdGF0aWMiIGlkPSJ4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZVN0YXRpYyI+PC9hPkZ1bmN0aW9uOiB4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZVN0YXRpYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIiPnhtbFBhcnNlcklucHV0QnVmZmVyUHRyPC9hPgl4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZVN0YXRpYwkoY29uc3QgY2hhciAqIG1lbSwgPGJyIC8+CQkJCQkJCSBpbnQgc2l6ZSwgPGJyIC8+CQkJCQkJCSA8YSBocmVmPSJsaWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmciPnhtbENoYXJFbmNvZGluZzwvYT4gZW5jKTxiciAvPgorPC9wcmU+PHA+Q3JlYXRlIGEgYnVmZmVyZWQgcGFyc2VyIGlucHV0IGZvciB0aGUgcHJvZ3Jlc3NpdmUgcGFyc2luZyBmb3IgdGhlIGlucHV0IGZyb20gYW4gaW1tdXRhYmxlIG1lbW9yeSBhcmVhLiBUaGlzIHdpbGwgbm90IGNvcHkgdGhlIG1lbW9yeSBhcmVhIHRvIHRoZSBidWZmZXIsIGJ1dCB0aGUgbWVtb3J5IGlzIGV4cGVjdGVkIHRvIGJlIGF2YWlsYWJsZSB1bnRpbCB0aGUgZW5kIG9mIHRoZSBwYXJzaW5nLCB0aGlzIGlzIHVzZWZ1bCBmb3IgZXhhbXBsZSB3aGVuIHVzaW5nIG1tYXAnZWQgZmlsZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5tZW08L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBtZW1vcnkgaW5wdXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNpemU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsZW5ndGggb2YgdGhlIG1lbW9yeSBibG9jazwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY2hhcnNldCBlbmNvZGluZyBpZiBrbm93bjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ldyBwYXJzZXIgaW5wdXQgb3IgTlVMTDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFBhcnNlcklucHV0QnVmZmVyR3JvdyIgaWQ9InhtbFBhcnNlcklucHV0QnVmZmVyR3JvdyI+PC9hPkZ1bmN0aW9uOiB4bWxQYXJzZXJJbnB1dEJ1ZmZlckdyb3c8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sUGFyc2VySW5wdXRCdWZmZXJHcm93CSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyUHRyIj54bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cjwvYT4gaW4sIDxiciAvPgkJCQkJIGludCBsZW4pPGJyIC8+Cis8L3ByZT48cD5Hcm93IHVwIHRoZSBjb250ZW50IG9mIHRoZSBpbnB1dCBidWZmZXIsIHRoZSBvbGQgZGF0YSBhcmUgcHJlc2VydmVkIFRoaXMgcm91dGluZSBoYW5kbGUgdGhlIEkxOE4gdHJhbnNjb2RpbmcgdG8gaW50ZXJuYWwgVVRGLTggVGhpcyByb3V0aW5lIGlzIHVzZWQgd2hlbiBvcGVyYXRpbmcgdGhlIHBhcnNlciBpbiBub3JtYWwgKHB1bGwpIG1vZGUgVE9ETzogb25lIHNob3VsZCBiZSBhYmxlIHRvIHJlbW92ZSBvbmUgZXh0cmEgY29weSBieSBjb3B5aW5nIGRpcmVjdGx5IG9udG8gaW4tJmd0O2J1ZmZlciBvciBpbi0mZ3Q7cmF3PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgYnVmZmVyZWQgcGFyc2VyIGlucHV0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmluZGljYXRpdmUgdmFsdWUgb2YgdGhlIGFtb3VudCBvZiBjaGFycyB0byByZWFkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGNoYXJzIHJlYWQgYW5kIHN0b3JlZCBpbiB0aGUgYnVmZmVyLCBvciAtMSBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFBhcnNlcklucHV0QnVmZmVyUHVzaCIgaWQ9InhtbFBhcnNlcklucHV0QnVmZmVyUHVzaCI+PC9hPkZ1bmN0aW9uOiB4bWxQYXJzZXJJbnB1dEJ1ZmZlclB1c2g8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sUGFyc2VySW5wdXRCdWZmZXJQdXNoCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyUHRyIj54bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cjwvYT4gaW4sIDxiciAvPgkJCQkJIGludCBsZW4sIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBidWYpPGJyIC8+Cis8L3ByZT48cD5QdXNoIHRoZSBjb250ZW50IG9mIHRoZSBhcnJ5IGluIHRoZSBpbnB1dCBidWZmZXIgVGhpcyByb3V0aW5lIGhhbmRsZSB0aGUgSTE4TiB0cmFuc2NvZGluZyB0byBpbnRlcm5hbCBVVEYtOCBUaGlzIGlzIHVzZWQgd2hlbiBvcGVyYXRpbmcgdGhlIHBhcnNlciBpbiBwcm9ncmVzc2l2ZSAocHVzaCkgbW9kZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBidWZmZXJlZCBwYXJzZXIgaW5wdXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHNpemUgaW4gYnl0ZXMgb2YgdGhlIGFycmF5LjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YnVmPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBjaGFyIGFycmF5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGNoYXJzIHJlYWQgYW5kIHN0b3JlZCBpbiB0aGUgYnVmZmVyLCBvciAtMSBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFBhcnNlcklucHV0QnVmZmVyUmVhZCIgaWQ9InhtbFBhcnNlcklucHV0QnVmZmVyUmVhZCI+PC9hPkZ1bmN0aW9uOiB4bWxQYXJzZXJJbnB1dEJ1ZmZlclJlYWQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sUGFyc2VySW5wdXRCdWZmZXJSZWFkCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyUHRyIj54bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cjwvYT4gaW4sIDxiciAvPgkJCQkJIGludCBsZW4pPGJyIC8+Cis8L3ByZT48cD5SZWZyZXNoIHRoZSBjb250ZW50IG9mIHRoZSBpbnB1dCBidWZmZXIsIHRoZSBvbGQgZGF0YSBhcmUgY29uc2lkZXJlZCBjb25zdW1lZCBUaGlzIHJvdXRpbmUgaGFuZGxlIHRoZSBJMThOIHRyYW5zY29kaW5nIHRvIGludGVybmFsIFVURi04PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgYnVmZmVyZWQgcGFyc2VyIGlucHV0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmluZGljYXRpdmUgdmFsdWUgb2YgdGhlIGFtb3VudCBvZiBjaGFycyB0byByZWFkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGNoYXJzIHJlYWQgYW5kIHN0b3JlZCBpbiB0aGUgYnVmZmVyLCBvciAtMSBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFBvcElucHV0Q2FsbGJhY2tzIiBpZD0ieG1sUG9wSW5wdXRDYWxsYmFja3MiPjwvYT5GdW5jdGlvbjogeG1sUG9wSW5wdXRDYWxsYmFja3M8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sUG9wSW5wdXRDYWxsYmFja3MJCSh2b2lkKTxiciAvPgorPC9wcmU+PHA+Q2xlYXIgdGhlIHRvcCBpbnB1dCBjYWxsYmFjayBmcm9tIHRoZSBpbnB1dCBzdGFjay4gdGhpcyBpbmNsdWRlcyB0aGUgY29tcGlsZWQtaW4gSS9PLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgaW5wdXQgY2FsbGJhY2sgcmVnaXN0ZXJlZCBvciAtMSBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFJlZ2lzdGVyRGVmYXVsdElucHV0Q2FsbGJhY2tzIiBpZD0ieG1sUmVnaXN0ZXJEZWZhdWx0SW5wdXRDYWxsYmFja3MiPjwvYT5GdW5jdGlvbjogeG1sUmVnaXN0ZXJEZWZhdWx0SW5wdXRDYWxsYmFja3M8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFJlZ2lzdGVyRGVmYXVsdElucHV0Q2FsbGJhY2tzCSh2b2lkKTxiciAvPgorPC9wcmU+PHA+UmVnaXN0ZXJzIHRoZSBkZWZhdWx0IGNvbXBpbGVkLWluIEkvTyBoYW5kbGVycy48L3A+Cis8aDM+PGEgbmFtZT0ieG1sUmVnaXN0ZXJEZWZhdWx0T3V0cHV0Q2FsbGJhY2tzIiBpZD0ieG1sUmVnaXN0ZXJEZWZhdWx0T3V0cHV0Q2FsbGJhY2tzIj48L2E+RnVuY3Rpb246IHhtbFJlZ2lzdGVyRGVmYXVsdE91dHB1dENhbGxiYWNrczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sUmVnaXN0ZXJEZWZhdWx0T3V0cHV0Q2FsbGJhY2tzCSh2b2lkKTxiciAvPgorPC9wcmU+PHA+UmVnaXN0ZXJzIHRoZSBkZWZhdWx0IGNvbXBpbGVkLWluIEkvTyBoYW5kbGVycy48L3A+Cis8aDM+PGEgbmFtZT0ieG1sUmVnaXN0ZXJIVFRQUG9zdENhbGxiYWNrcyIgaWQ9InhtbFJlZ2lzdGVySFRUUFBvc3RDYWxsYmFja3MiPjwvYT5GdW5jdGlvbjogeG1sUmVnaXN0ZXJIVFRQUG9zdENhbGxiYWNrczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sUmVnaXN0ZXJIVFRQUG9zdENhbGxiYWNrcwkodm9pZCk8YnIgLz4KKzwvcHJlPjxwPkJ5IGRlZmF1bHQsIGxpYnhtbCBzdWJtaXRzIEhUVFAgb3V0cHV0IHJlcXVlc3RzIHVzaW5nIHRoZSAiUFVUIiBtZXRob2QuIENhbGxpbmcgdGhpcyBtZXRob2QgY2hhbmdlcyB0aGUgSFRUUCBvdXRwdXQgbWV0aG9kIHRvIHVzZSB0aGUgIlBPU1QiIG1ldGhvZCBpbnN0ZWFkLjwvcD4KKzxoMz48YSBuYW1lPSJ4bWxSZWdpc3RlcklucHV0Q2FsbGJhY2tzIiBpZD0ieG1sUmVnaXN0ZXJJbnB1dENhbGxiYWNrcyI+PC9hPkZ1bmN0aW9uOiB4bWxSZWdpc3RlcklucHV0Q2FsbGJhY2tzPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFJlZ2lzdGVySW5wdXRDYWxsYmFja3MJKDxhIGhyZWY9ImxpYnhtbC14bWxJTy5odG1sI3htbElucHV0TWF0Y2hDYWxsYmFjayI+eG1sSW5wdXRNYXRjaENhbGxiYWNrPC9hPiBtYXRjaEZ1bmMsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxJTy5odG1sI3htbElucHV0T3BlbkNhbGxiYWNrIj54bWxJbnB1dE9wZW5DYWxsYmFjazwvYT4gb3BlbkZ1bmMsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxJTy5odG1sI3htbElucHV0UmVhZENhbGxiYWNrIj54bWxJbnB1dFJlYWRDYWxsYmFjazwvYT4gcmVhZEZ1bmMsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxJTy5odG1sI3htbElucHV0Q2xvc2VDYWxsYmFjayI+eG1sSW5wdXRDbG9zZUNhbGxiYWNrPC9hPiBjbG9zZUZ1bmMpPGJyIC8+Cis8L3ByZT48cD5SZWdpc3RlciBhIG5ldyBzZXQgb2YgSS9PIGNhbGxiYWNrIGZvciBoYW5kbGluZyBwYXJzZXIgaW5wdXQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bWF0Y2hGdW5jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLXhtbElPLmh0bWwjeG1sSW5wdXRNYXRjaENhbGxiYWNrIj54bWxJbnB1dE1hdGNoQ2FsbGJhY2s8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vcGVuRnVuYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC14bWxJTy5odG1sI3htbElucHV0T3BlbkNhbGxiYWNrIj54bWxJbnB1dE9wZW5DYWxsYmFjazwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJlYWRGdW5jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLXhtbElPLmh0bWwjeG1sSW5wdXRSZWFkQ2FsbGJhY2siPnhtbElucHV0UmVhZENhbGxiYWNrPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y2xvc2VGdW5jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLXhtbElPLmh0bWwjeG1sSW5wdXRDbG9zZUNhbGxiYWNrIj54bWxJbnB1dENsb3NlQ2FsbGJhY2s8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmVnaXN0ZXJlZCBoYW5kbGVyIG51bWJlciBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sUmVnaXN0ZXJPdXRwdXRDYWxsYmFja3MiIGlkPSJ4bWxSZWdpc3Rlck91dHB1dENhbGxiYWNrcyI+PC9hPkZ1bmN0aW9uOiB4bWxSZWdpc3Rlck91dHB1dENhbGxiYWNrczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxSZWdpc3Rlck91dHB1dENhbGxiYWNrcwkoPGEgaHJlZj0ibGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0TWF0Y2hDYWxsYmFjayI+eG1sT3V0cHV0TWF0Y2hDYWxsYmFjazwvYT4gbWF0Y2hGdW5jLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRPcGVuQ2FsbGJhY2siPnhtbE91dHB1dE9wZW5DYWxsYmFjazwvYT4gb3BlbkZ1bmMsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dFdyaXRlQ2FsbGJhY2siPnhtbE91dHB1dFdyaXRlQ2FsbGJhY2s8L2E+IHdyaXRlRnVuYywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0Q2xvc2VDYWxsYmFjayI+eG1sT3V0cHV0Q2xvc2VDYWxsYmFjazwvYT4gY2xvc2VGdW5jKTxiciAvPgorPC9wcmU+PHA+UmVnaXN0ZXIgYSBuZXcgc2V0IG9mIEkvTyBjYWxsYmFjayBmb3IgaGFuZGxpbmcgb3V0cHV0LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm1hdGNoRnVuYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dE1hdGNoQ2FsbGJhY2siPnhtbE91dHB1dE1hdGNoQ2FsbGJhY2s8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vcGVuRnVuYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dE9wZW5DYWxsYmFjayI+eG1sT3V0cHV0T3BlbkNhbGxiYWNrPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d3JpdGVGdW5jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0V3JpdGVDYWxsYmFjayI+eG1sT3V0cHV0V3JpdGVDYWxsYmFjazwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNsb3NlRnVuYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dENsb3NlQ2FsbGJhY2siPnhtbE91dHB1dENsb3NlQ2FsbGJhY2s8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmVnaXN0ZXJlZCBoYW5kbGVyIG51bWJlciBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48cD48YSBocmVmPSIuLi9idWdzLmh0bWwiPkRhbmllbCBWZWlsbGFyZDwvYT48L3A+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2h0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwgYi9saWJ4bWwyL2RvYy9odG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEwN2Y3YzAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9odG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sCkBAIC0wLDAgKzEsODUgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+PGxpbmsgcmVsPSJTSE9SVENVVCBJQ09OIiBocmVmPSIvZmF2aWNvbi5pY28iIC8+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK1REIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitCT0RZIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2E7IG1hcmdpbi10b3A6IDJlbTsgbWFyZ2luLWxlZnQ6IDBlbTsgbWFyZ2luLXJpZ2h0OiAwZW19CitIMSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDIge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gzIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitBOmxpbmssIEE6dmlzaXRlZCwgQTphY3RpdmUgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB9Cis8L3N0eWxlPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAgICBkaXYuZGVwcmVjYXRlZCBwcmUucHJvZ3JhbWxpc3Rpbmcge2JvcmRlci1zdHlsZTogZG91YmxlO2JvcmRlci1jb2xvcjpyZWR9CisgICAgICBwcmUucHJvZ3JhbWxpc3Rpbmcge2JvcmRlci1zdHlsZTogZG91YmxlO2JhY2tncm91bmQ6ICNFRUNGQTF9CisgICAgPC9zdHlsZT48dGl0bGU+TW9kdWxlIHhtbGF1dG9tYXRhIGZyb20gbGlieG1sMjwvdGl0bGU+PC9oZWFkPjxib2R5IGJnY29sb3I9IiM4Yjc3NjUiIHRleHQ9IiMwMDAwMDAiIGxpbms9IiNhMDYwNjAiIHZsaW5rPSIjMDAwMDAwIj48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iMTAwJSIgY2VsbHBhZGRpbmc9IjUiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIHdpZHRoPSIxMjAiPjxhIGhyZWY9Imh0dHA6Ly9zd3BhdC5mZmlpLm9yZy8iPjxpbWcgc3JjPSIuLi9lcGF0ZW50cy5wbmciIGFsdD0iQWN0aW9uIGFnYWluc3Qgc29mdHdhcmUgcGF0ZW50cyIgLz48L2E+PC90ZD48dGQgd2lkdGg9IjE4MCI+PGEgaHJlZj0iaHR0cDovL3d3dy5nbm9tZS5vcmcvIj48aW1nIHNyYz0iLi4vZ25vbWUyLnBuZyIgYWx0PSJHbm9tZTIgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvU3RhdHVzIj48aW1nIHNyYz0iLi4vdzNjLnBuZyIgYWx0PSJXM0MgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy5yZWRoYXQuY29tLyI+PGltZyBzcmM9Ii4uL3JlZGhhdC5naWYiIGFsdD0iUmVkIEhhdCBMb2dvIiAvPjwvYT48ZGl2IGFsaWduPSJsZWZ0Ij48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvIj48aW1nIHNyYz0iLi4vTGlieG1sMi1Mb2dvLTE4MHgxNjguZ2lmIiBhbHQ9Ik1hZGUgd2l0aCBMaWJ4bWwyIExvZ28iIC8+PC9hPjwvZGl2PjwvdGQ+PHRkPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSI5MCUiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIiBiZ2NvbG9yPSIjZmZmYWNkIj48dHI+PHRkIGFsaWduPSJjZW50ZXIiPjxoMT48L2gxPjxoMj5Nb2R1bGUgeG1sYXV0b21hdGEgZnJvbSBsaWJ4bWwyPC9oMj48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iNCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiIgd2lkdGg9IjEwMCUiPjx0cj48dGQgdmFsaWduPSJ0b3AiIHdpZHRoPSIyMDAiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPkFQSSBNZW51PC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjxmb3JtIGFjdGlvbj0iLi4vc2VhcmNoLnBocCIgZW5jdHlwZT0iYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIiBtZXRob2Q9ImdldCI+PGlucHV0IG5hbWU9InF1ZXJ5IiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IiIgLz48aW5wdXQgbmFtZT0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJTZWFyY2ggLi4uIiAvPjwvZm9ybT48dWw+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSIuLi9pbmRleC5odG1sIj5NYWluIE1lbnU8L2E+PC9saT48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9Ii4uL2RvY3MuaHRtbCI+RGV2ZWxvcGVyIE1lbnU8L2E+PC9saT48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9Ii4uL2V4YW1wbGVzL2luZGV4Lmh0bWwiPkNvZGUgRXhhbXBsZXM8L2E+PC9saT48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9ImluZGV4Lmh0bWwiPkFQSSBNZW51PC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1wYXJzZXIuaHRtbCI+UGFyc2VyIEFQSTwvYT48L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sIj5UcmVlIEFQSTwvYT48L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwiPlJlYWRlciBBUEk8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vZ3VpZGVsaW5lcy5odG1sIj5YTUwgR3VpZGVsaW5lczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9DaGFuZ2VMb2cuaHRtbCI+Q2hhbmdlTG9nPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+QVBJIEluZGV4ZXM8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSIuLi9BUEljaHVuazAuaHRtbCI+QWxwaGFiZXRpYzwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUEljb25zdHJ1Y3RvcnMuaHRtbCI+Q29uc3RydWN0b3JzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSWZ1bmN0aW9ucy5odG1sIj5GdW5jdGlvbnMvVHlwZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJZmlsZXMuaHRtbCI+TW9kdWxlczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUElzeW1ib2xzLmh0bWwiPlN5bWJvbHM8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5SZWxhdGVkIGxpbmtzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iaHR0cDovL21haWwuZ25vbWUub3JnL2FyY2hpdmVzL3htbC8iPk1haWwgYXJjaGl2ZTwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvWFNMVC8iPlhTTFQgbGlieHNsdDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vcGhkLmNzLnVuaWJvLml0L2dkb21lMi8iPkRPTSBnZG9tZTI8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5hbGVrc2V5LmNvbS94bWxzZWMvIj5YTUwtRFNpZyB4bWxzZWM8L2E+PC9saT48bGk+PGEgaHJlZj0iZnRwOi8veG1sc29mdC5vcmcvIj5GVFA8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56bGF0a292aWMuY29tL3Byb2plY3RzL2xpYnhtbC8iPldpbmRvd3MgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL29wZW5jc3cub3JnL3BhY2thZ2VzL2xpYnhtbDIiPlNvbGFyaXMgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5leHBsYWluLmNvbS5hdS9vc3MvbGlieG1sMnhzbHQuaHRtbCI+TWFjT3NYIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9seG1sLmRlLyI+bHhtbCBQeXRob24gYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2NwYW4udXdpbm5pcGVnLmNhL2Rpc3QvWE1MLUxpYlhNTCI+UGVybCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1scGx1c3BsdXMuc291cmNlZm9yZ2UubmV0LyI+QysrIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemVuZC5jb20vcGhwNS9hcnRpY2xlcy9waHA1LXhtbHBocC5waHAjSGVhZGluZzQiPlBIUCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2xpYnhtbDItcGFzLyI+UGFzY2FsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWwucnVieWZvcmdlLm9yZy8iPlJ1YnkgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3RjbHhtbC5zb3VyY2Vmb3JnZS5uZXQvIj5UY2wgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9idWdsaXN0LmNnaT9wcm9kdWN0PWxpYnhtbDIiPkJ1ZyBUcmFja2VyPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIzIiBjZWxsc3BhY2luZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHRhYmxlIGNsYXNzPSJuYXZpZ2F0aW9uIiB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBoZWFkZXIiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMiI+PHRyIHZhbGlnbj0ibWlkZGxlIj48dGQ+PGEgYWNjZXNza2V5PSJwIiBocmVmPSJsaWJ4bWwteG1sSU8uaHRtbCI+PGltZyBzcmM9ImxlZnQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJQcmV2IiAvPjwvYT48L3RkPjx0aCBhbGlnbj0ibGVmdCI+PGEgaHJlZj0ibGlieG1sLXhtbElPLmh0bWwiPnhtbElPPC9hPjwvdGg+PHRkPjxhIGFjY2Vzc2tleT0idSIgaHJlZj0iaW5kZXguaHRtbCI+PGltZyBzcmM9InVwLnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iVXAiIC8+PC9hPjwvdGQ+PHRoIGFsaWduPSJsZWZ0Ij48YSBocmVmPSJpbmRleC5odG1sIj5BUEkgZG9jdW1lbnRhdGlvbjwvYT48L3RoPjx0ZD48YSBhY2Nlc3NrZXk9ImgiIGhyZWY9Ii4uL2luZGV4Lmh0bWwiPjxpbWcgc3JjPSJob21lLnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iSG9tZSIgLz48L2E+PC90ZD48dGggYWxpZ249ImNlbnRlciI+PGEgaHJlZj0iLi4vaW5kZXguaHRtbCI+VGhlIFhNTCBDIHBhcnNlciBhbmQgdG9vbGtpdCBvZiBHbm9tZTwvYT48L3RoPjx0aCBhbGlnbj0icmlnaHQiPjxhIGhyZWY9ImxpYnhtbC14bWxlcnJvci5odG1sIj54bWxlcnJvcjwvYT48L3RoPjx0ZD48YSBhY2Nlc3NrZXk9Im4iIGhyZWY9ImxpYnhtbC14bWxlcnJvci5odG1sIj48aW1nIHNyYz0icmlnaHQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJOZXh0IiAvPjwvYT48L3RkPjwvdHI+PC90YWJsZT48cD50aGUgQVBJIHRvIGJ1aWxkIHJlZ2V4cCBhdXRvbWF0YSA8L3A+PGgyPlRhYmxlIG9mIENvbnRlbnRzPC9oMj48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+U3RydWN0dXJlIDxhIGhyZWY9IiN4bWxBdXRvbWF0YSI+eG1sQXV0b21hdGE8L2E+PGJyIC8+c3RydWN0IF94bWxBdXRvbWF0YQorVGhlIGNvbnRlbnQgb2YgdGhpcyBzdHJ1Y3R1cmUgaXMgbm90IG1hZGUgcHVibGljIGJ5IHRoZSBBUEkuCis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+VHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YSI+eG1sQXV0b21hdGE8L2E+ICogPGEgbmFtZT0ieG1sQXV0b21hdGFQdHIiIGlkPSJ4bWxBdXRvbWF0YVB0ciI+eG1sQXV0b21hdGFQdHI8L2E+Cis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+U3RydWN0dXJlIDxhIGhyZWY9IiN4bWxBdXRvbWF0YVN0YXRlIj54bWxBdXRvbWF0YVN0YXRlPC9hPjxiciAvPnN0cnVjdCBfeG1sQXV0b21hdGFTdGF0ZQorVGhlIGNvbnRlbnQgb2YgdGhpcyBzdHJ1Y3R1cmUgaXMgbm90IG1hZGUgcHVibGljIGJ5IHRoZSBBUEkuCis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+VHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVN0YXRlIj54bWxBdXRvbWF0YVN0YXRlPC9hPiAqIDxhIG5hbWU9InhtbEF1dG9tYXRhU3RhdGVQdHIiIGlkPSJ4bWxBdXRvbWF0YVN0YXRlUHRyIj54bWxBdXRvbWF0YVN0YXRlUHRyPC9hPgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdleHBQdHIiPnhtbFJlZ2V4cFB0cjwvYT4JPGEgaHJlZj0iI3htbEF1dG9tYXRhQ29tcGlsZSI+eG1sQXV0b21hdGFDb21waWxlPC9hPgkoPGEgaHJlZj0ibGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFQdHIiPnhtbEF1dG9tYXRhUHRyPC9hPiBhbSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVN0YXRlUHRyIj54bWxBdXRvbWF0YVN0YXRlUHRyPC9hPgk8YSBocmVmPSIjeG1sQXV0b21hdGFHZXRJbml0U3RhdGUiPnhtbEF1dG9tYXRhR2V0SW5pdFN0YXRlPC9hPgkoPGEgaHJlZj0ibGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFQdHIiPnhtbEF1dG9tYXRhUHRyPC9hPiBhbSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbEF1dG9tYXRhSXNEZXRlcm1pbmlzdCI+eG1sQXV0b21hdGFJc0RldGVybWluaXN0PC9hPgkoPGEgaHJlZj0ibGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFQdHIiPnhtbEF1dG9tYXRhUHRyPC9hPiBhbSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVN0YXRlUHRyIj54bWxBdXRvbWF0YVN0YXRlUHRyPC9hPgk8YSBocmVmPSIjeG1sQXV0b21hdGFOZXdBbGxUcmFucyI+eG1sQXV0b21hdGFOZXdBbGxUcmFuczwvYT4JKDxhIGhyZWY9ImxpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhUHRyIj54bWxBdXRvbWF0YVB0cjwvYT4gYW0sIDxiciAvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVN0YXRlUHRyIj54bWxBdXRvbWF0YVN0YXRlUHRyPC9hPiBmcm9tLCA8YnIgLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFTdGF0ZVB0ciI+eG1sQXV0b21hdGFTdGF0ZVB0cjwvYT4gdG8sIDxiciAvPgkJCQkJCSBpbnQgbGF4KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhU3RhdGVQdHIiPnhtbEF1dG9tYXRhU3RhdGVQdHI8L2E+CTxhIGhyZWY9IiN4bWxBdXRvbWF0YU5ld0NvdW50VHJhbnMiPnhtbEF1dG9tYXRhTmV3Q291bnRUcmFuczwvYT4JKDxhIGhyZWY9ImxpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhUHRyIj54bWxBdXRvbWF0YVB0cjwvYT4gYW0sIDxiciAvPgkJCQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFTdGF0ZVB0ciI+eG1sQXV0b21hdGFTdGF0ZVB0cjwvYT4gZnJvbSwgPGJyIC8+CQkJCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVN0YXRlUHRyIj54bWxBdXRvbWF0YVN0YXRlUHRyPC9hPiB0bywgPGJyIC8+CQkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB0b2tlbiwgPGJyIC8+CQkJCQkJCSBpbnQgbWluLCA8YnIgLz4JCQkJCQkJIGludCBtYXgsIDxiciAvPgkJCQkJCQkgdm9pZCAqIGRhdGEpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFTdGF0ZVB0ciI+eG1sQXV0b21hdGFTdGF0ZVB0cjwvYT4JPGEgaHJlZj0iI3htbEF1dG9tYXRhTmV3Q291bnRUcmFuczIiPnhtbEF1dG9tYXRhTmV3Q291bnRUcmFuczI8L2E+CSg8YSBocmVmPSJsaWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVB0ciI+eG1sQXV0b21hdGFQdHI8L2E+IGFtLCA8YnIgLz4JCQkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhU3RhdGVQdHIiPnhtbEF1dG9tYXRhU3RhdGVQdHI8L2E+IGZyb20sIDxiciAvPgkJCQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFTdGF0ZVB0ciI+eG1sQXV0b21hdGFTdGF0ZVB0cjwvYT4gdG8sIDxiciAvPgkJCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdG9rZW4sIDxiciAvPgkJCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdG9rZW4yLCA8YnIgLz4JCQkJCQkJIGludCBtaW4sIDxiciAvPgkJCQkJCQkgaW50IG1heCwgPGJyIC8+CQkJCQkJCSB2b2lkICogZGF0YSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVN0YXRlUHRyIj54bWxBdXRvbWF0YVN0YXRlUHRyPC9hPgk8YSBocmVmPSIjeG1sQXV0b21hdGFOZXdDb3VudGVkVHJhbnMiPnhtbEF1dG9tYXRhTmV3Q291bnRlZFRyYW5zPC9hPgkoPGEgaHJlZj0ibGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFQdHIiPnhtbEF1dG9tYXRhUHRyPC9hPiBhbSwgPGJyIC8+CQkJCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVN0YXRlUHRyIj54bWxBdXRvbWF0YVN0YXRlUHRyPC9hPiBmcm9tLCA8YnIgLz4JCQkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhU3RhdGVQdHIiPnhtbEF1dG9tYXRhU3RhdGVQdHI8L2E+IHRvLCA8YnIgLz4JCQkJCQkJIGludCBjb3VudGVyKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sQXV0b21hdGFOZXdDb3VudGVyIj54bWxBdXRvbWF0YU5ld0NvdW50ZXI8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFQdHIiPnhtbEF1dG9tYXRhUHRyPC9hPiBhbSwgPGJyIC8+CQkJCQkgaW50IG1pbiwgPGJyIC8+CQkJCQkgaW50IG1heCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVN0YXRlUHRyIj54bWxBdXRvbWF0YVN0YXRlUHRyPC9hPgk8YSBocmVmPSIjeG1sQXV0b21hdGFOZXdDb3VudGVyVHJhbnMiPnhtbEF1dG9tYXRhTmV3Q291bnRlclRyYW5zPC9hPgkoPGEgaHJlZj0ibGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFQdHIiPnhtbEF1dG9tYXRhUHRyPC9hPiBhbSwgPGJyIC8+CQkJCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVN0YXRlUHRyIj54bWxBdXRvbWF0YVN0YXRlUHRyPC9hPiBmcm9tLCA8YnIgLz4JCQkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhU3RhdGVQdHIiPnhtbEF1dG9tYXRhU3RhdGVQdHI8L2E+IHRvLCA8YnIgLz4JCQkJCQkJIGludCBjb3VudGVyKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhU3RhdGVQdHIiPnhtbEF1dG9tYXRhU3RhdGVQdHI8L2E+CTxhIGhyZWY9IiN4bWxBdXRvbWF0YU5ld0Vwc2lsb24iPnhtbEF1dG9tYXRhTmV3RXBzaWxvbjwvYT4JKDxhIGhyZWY9ImxpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhUHRyIj54bWxBdXRvbWF0YVB0cjwvYT4gYW0sIDxiciAvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVN0YXRlUHRyIj54bWxBdXRvbWF0YVN0YXRlUHRyPC9hPiBmcm9tLCA8YnIgLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFTdGF0ZVB0ciI+eG1sQXV0b21hdGFTdGF0ZVB0cjwvYT4gdG8pPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFTdGF0ZVB0ciI+eG1sQXV0b21hdGFTdGF0ZVB0cjwvYT4JPGEgaHJlZj0iI3htbEF1dG9tYXRhTmV3TmVnVHJhbnMiPnhtbEF1dG9tYXRhTmV3TmVnVHJhbnM8L2E+CSg8YSBocmVmPSJsaWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVB0ciI+eG1sQXV0b21hdGFQdHI8L2E+IGFtLCA8YnIgLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFTdGF0ZVB0ciI+eG1sQXV0b21hdGFTdGF0ZVB0cjwvYT4gZnJvbSwgPGJyIC8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhU3RhdGVQdHIiPnhtbEF1dG9tYXRhU3RhdGVQdHI8L2E+IHRvLCA8YnIgLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdG9rZW4sIDxiciAvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB0b2tlbjIsIDxiciAvPgkJCQkJCSB2b2lkICogZGF0YSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVN0YXRlUHRyIj54bWxBdXRvbWF0YVN0YXRlUHRyPC9hPgk8YSBocmVmPSIjeG1sQXV0b21hdGFOZXdPbmNlVHJhbnMiPnhtbEF1dG9tYXRhTmV3T25jZVRyYW5zPC9hPgkoPGEgaHJlZj0ibGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFQdHIiPnhtbEF1dG9tYXRhUHRyPC9hPiBhbSwgPGJyIC8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhU3RhdGVQdHIiPnhtbEF1dG9tYXRhU3RhdGVQdHI8L2E+IGZyb20sIDxiciAvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVN0YXRlUHRyIj54bWxBdXRvbWF0YVN0YXRlUHRyPC9hPiB0bywgPGJyIC8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHRva2VuLCA8YnIgLz4JCQkJCQkgaW50IG1pbiwgPGJyIC8+CQkJCQkJIGludCBtYXgsIDxiciAvPgkJCQkJCSB2b2lkICogZGF0YSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVN0YXRlUHRyIj54bWxBdXRvbWF0YVN0YXRlUHRyPC9hPgk8YSBocmVmPSIjeG1sQXV0b21hdGFOZXdPbmNlVHJhbnMyIj54bWxBdXRvbWF0YU5ld09uY2VUcmFuczI8L2E+CSg8YSBocmVmPSJsaWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVB0ciI+eG1sQXV0b21hdGFQdHI8L2E+IGFtLCA8YnIgLz4JCQkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhU3RhdGVQdHIiPnhtbEF1dG9tYXRhU3RhdGVQdHI8L2E+IGZyb20sIDxiciAvPgkJCQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFTdGF0ZVB0ciI+eG1sQXV0b21hdGFTdGF0ZVB0cjwvYT4gdG8sIDxiciAvPgkJCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdG9rZW4sIDxiciAvPgkJCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdG9rZW4yLCA8YnIgLz4JCQkJCQkJIGludCBtaW4sIDxiciAvPgkJCQkJCQkgaW50IG1heCwgPGJyIC8+CQkJCQkJCSB2b2lkICogZGF0YSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVN0YXRlUHRyIj54bWxBdXRvbWF0YVN0YXRlUHRyPC9hPgk8YSBocmVmPSIjeG1sQXV0b21hdGFOZXdTdGF0ZSI+eG1sQXV0b21hdGFOZXdTdGF0ZTwvYT4JKDxhIGhyZWY9ImxpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhUHRyIj54bWxBdXRvbWF0YVB0cjwvYT4gYW0pPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFTdGF0ZVB0ciI+eG1sQXV0b21hdGFTdGF0ZVB0cjwvYT4JPGEgaHJlZj0iI3htbEF1dG9tYXRhTmV3VHJhbnNpdGlvbiI+eG1sQXV0b21hdGFOZXdUcmFuc2l0aW9uPC9hPgkoPGEgaHJlZj0ibGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFQdHIiPnhtbEF1dG9tYXRhUHRyPC9hPiBhbSwgPGJyIC8+CQkJCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVN0YXRlUHRyIj54bWxBdXRvbWF0YVN0YXRlUHRyPC9hPiBmcm9tLCA8YnIgLz4JCQkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhU3RhdGVQdHIiPnhtbEF1dG9tYXRhU3RhdGVQdHI8L2E+IHRvLCA8YnIgLz4JCQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHRva2VuLCA8YnIgLz4JCQkJCQkJIHZvaWQgKiBkYXRhKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhU3RhdGVQdHIiPnhtbEF1dG9tYXRhU3RhdGVQdHI8L2E+CTxhIGhyZWY9IiN4bWxBdXRvbWF0YU5ld1RyYW5zaXRpb24yIj54bWxBdXRvbWF0YU5ld1RyYW5zaXRpb24yPC9hPgkoPGEgaHJlZj0ibGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFQdHIiPnhtbEF1dG9tYXRhUHRyPC9hPiBhbSwgPGJyIC8+CQkJCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVN0YXRlUHRyIj54bWxBdXRvbWF0YVN0YXRlUHRyPC9hPiBmcm9tLCA8YnIgLz4JCQkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhU3RhdGVQdHIiPnhtbEF1dG9tYXRhU3RhdGVQdHI8L2E+IHRvLCA8YnIgLz4JCQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHRva2VuLCA8YnIgLz4JCQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHRva2VuMiwgPGJyIC8+CQkJCQkJCSB2b2lkICogZGF0YSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbEF1dG9tYXRhU2V0RmluYWxTdGF0ZSI+eG1sQXV0b21hdGFTZXRGaW5hbFN0YXRlPC9hPgkoPGEgaHJlZj0ibGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFQdHIiPnhtbEF1dG9tYXRhUHRyPC9hPiBhbSwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFTdGF0ZVB0ciI+eG1sQXV0b21hdGFTdGF0ZVB0cjwvYT4gc3RhdGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sRnJlZUF1dG9tYXRhIj54bWxGcmVlQXV0b21hdGE8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhUHRyIj54bWxBdXRvbWF0YVB0cjwvYT4gYW0pPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFQdHIiPnhtbEF1dG9tYXRhUHRyPC9hPgk8YSBocmVmPSIjeG1sTmV3QXV0b21hdGEiPnhtbE5ld0F1dG9tYXRhPC9hPgkJKHZvaWQpPC9wcmU+Cis8aDI+RGVzY3JpcHRpb248L2gyPgorPGgzPjxhIG5hbWU9InhtbEF1dG9tYXRhIiBpZD0ieG1sQXV0b21hdGEiPlN0cnVjdHVyZSB4bWxBdXRvbWF0YTwvYT48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgeG1sQXV0b21hdGE8YnIgLz5zdHJ1Y3QgX3htbEF1dG9tYXRhIHsKK1RoZSBjb250ZW50IG9mIHRoaXMgc3RydWN0dXJlIGlzIG5vdCBtYWRlIHB1YmxpYyBieSB0aGUgQVBJLgorfTwvcHJlPgorICAgICAgQSBsaWJ4bWwgYXV0b21hdGEgZGVzY3JpcHRpb24sIEl0IGNhbiBiZSBjb21waWxlZCBpbnRvIGEgcmVnZXhwCisgICAgPGgzPjxhIG5hbWU9InhtbEF1dG9tYXRhU3RhdGUiIGlkPSJ4bWxBdXRvbWF0YVN0YXRlIj5TdHJ1Y3R1cmUgeG1sQXV0b21hdGFTdGF0ZTwvYT48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgeG1sQXV0b21hdGFTdGF0ZTxiciAvPnN0cnVjdCBfeG1sQXV0b21hdGFTdGF0ZSB7CitUaGUgY29udGVudCBvZiB0aGlzIHN0cnVjdHVyZSBpcyBub3QgbWFkZSBwdWJsaWMgYnkgdGhlIEFQSS4KK308L3ByZT4KKyAgICAgIEEgc3RhdGUgaW50IHRoZSBhdXRvbWF0YSBkZXNjcmlwdGlvbiwKKyAgICA8aDM+PGEgbmFtZT0ieG1sQXV0b21hdGFDb21waWxlIiBpZD0ieG1sQXV0b21hdGFDb21waWxlIj48L2E+RnVuY3Rpb246IHhtbEF1dG9tYXRhQ29tcGlsZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdleHBQdHIiPnhtbFJlZ2V4cFB0cjwvYT4JeG1sQXV0b21hdGFDb21waWxlCSg8YSBocmVmPSJsaWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVB0ciI+eG1sQXV0b21hdGFQdHI8L2E+IGFtKTxiciAvPgorPC9wcmU+PHA+Q29tcGlsZSB0aGUgYXV0b21hdGEgaW50byBhIFJlZyBFeHAgcmVhZHkgZm9yIGJlaW5nIGV4ZWN1dGVkLiBUaGUgYXV0b21hdGEgc2hvdWxkIGJlIGZyZWUgYWZ0ZXIgdGhpcyBwb2ludC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5hbTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gYXV0b21hdGE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjb21waWxlZCByZWdleHAgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sQXV0b21hdGFHZXRJbml0U3RhdGUiIGlkPSJ4bWxBdXRvbWF0YUdldEluaXRTdGF0ZSI+PC9hPkZ1bmN0aW9uOiB4bWxBdXRvbWF0YUdldEluaXRTdGF0ZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhU3RhdGVQdHIiPnhtbEF1dG9tYXRhU3RhdGVQdHI8L2E+CXhtbEF1dG9tYXRhR2V0SW5pdFN0YXRlCSg8YSBocmVmPSJsaWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVB0ciI+eG1sQXV0b21hdGFQdHI8L2E+IGFtKTxiciAvPgorPC9wcmU+PHA+SW5pdGlhbCBzdGF0ZSBsb29rdXA8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5hbTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gYXV0b21hdGE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBpbml0aWFsIHN0YXRlIG9mIHRoZSBhdXRvbWF0YTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEF1dG9tYXRhSXNEZXRlcm1pbmlzdCIgaWQ9InhtbEF1dG9tYXRhSXNEZXRlcm1pbmlzdCI+PC9hPkZ1bmN0aW9uOiB4bWxBdXRvbWF0YUlzRGV0ZXJtaW5pc3Q8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sQXV0b21hdGFJc0RldGVybWluaXN0CSg8YSBocmVmPSJsaWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVB0ciI+eG1sQXV0b21hdGFQdHI8L2E+IGFtKTxiciAvPgorPC9wcmU+PHA+Q2hlY2tzIGlmIGFuIGF1dG9tYXRhIGlzIGRldGVybWluaXN0LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmFtPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBhdXRvbWF0YTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlLCAwIGlmIG5vdCwgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxBdXRvbWF0YU5ld0FsbFRyYW5zIiBpZD0ieG1sQXV0b21hdGFOZXdBbGxUcmFucyI+PC9hPkZ1bmN0aW9uOiB4bWxBdXRvbWF0YU5ld0FsbFRyYW5zPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFTdGF0ZVB0ciI+eG1sQXV0b21hdGFTdGF0ZVB0cjwvYT4JeG1sQXV0b21hdGFOZXdBbGxUcmFucwkoPGEgaHJlZj0ibGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFQdHIiPnhtbEF1dG9tYXRhUHRyPC9hPiBhbSwgPGJyIC8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhU3RhdGVQdHIiPnhtbEF1dG9tYXRhU3RhdGVQdHI8L2E+IGZyb20sIDxiciAvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVN0YXRlUHRyIj54bWxBdXRvbWF0YVN0YXRlUHRyPC9hPiB0bywgPGJyIC8+CQkJCQkJIGludCBsYXgpPGJyIC8+Cis8L3ByZT48cD5JZiBAdG8gaXMgTlVMTCwgdGhpcyBjcmVhdGVzIGZpcnN0IGEgbmV3IHRhcmdldCBzdGF0ZSBpbiB0aGUgYXV0b21hdGEgYW5kIHRoZW4gYWRkcyBhIGFuIEFMTCB0cmFuc2l0aW9uIGZyb20gdGhlIEBmcm9tIHN0YXRlIHRvIHRoZSB0YXJnZXQgc3RhdGUuIFRoYXQgdHJhbnNpdGlvbiBpcyBhbiBlcHNpbG9uIHRyYW5zaXRpb24gYWxsb3dlZCBvbmx5IHdoZW4gYWxsIHRyYW5zaXRpb25zIGZyb20gdGhlIEBmcm9tIG5vZGUgaGF2ZSBiZWVuIGFjdGl2YXRlZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5hbTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gYXV0b21hdGE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZyb208L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzdGFydGluZyBwb2ludCBvZiB0aGUgdHJhbnNpdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dG88L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB0YXJnZXQgcG9pbnQgb2YgdGhlIHRyYW5zaXRpb24gb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGF4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbGxvdyB0byB0cmFuc2l0aW9uIGlmIG5vdCBhbGwgYWxsIHRyYW5zaXRpb25zIGhhdmUgYmVlbiBhY3RpdmF0ZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB0YXJnZXQgc3RhdGUgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sQXV0b21hdGFOZXdDb3VudFRyYW5zIiBpZD0ieG1sQXV0b21hdGFOZXdDb3VudFRyYW5zIj48L2E+RnVuY3Rpb246IHhtbEF1dG9tYXRhTmV3Q291bnRUcmFuczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhU3RhdGVQdHIiPnhtbEF1dG9tYXRhU3RhdGVQdHI8L2E+CXhtbEF1dG9tYXRhTmV3Q291bnRUcmFucwkoPGEgaHJlZj0ibGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFQdHIiPnhtbEF1dG9tYXRhUHRyPC9hPiBhbSwgPGJyIC8+CQkJCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVN0YXRlUHRyIj54bWxBdXRvbWF0YVN0YXRlUHRyPC9hPiBmcm9tLCA8YnIgLz4JCQkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhU3RhdGVQdHIiPnhtbEF1dG9tYXRhU3RhdGVQdHI8L2E+IHRvLCA8YnIgLz4JCQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHRva2VuLCA8YnIgLz4JCQkJCQkJIGludCBtaW4sIDxiciAvPgkJCQkJCQkgaW50IG1heCwgPGJyIC8+CQkJCQkJCSB2b2lkICogZGF0YSk8YnIgLz4KKzwvcHJlPjxwPklmIEB0byBpcyBOVUxMLCB0aGlzIGNyZWF0ZXMgZmlyc3QgYSBuZXcgdGFyZ2V0IHN0YXRlIGluIHRoZSBhdXRvbWF0YSBhbmQgdGhlbiBhZGRzIGEgdHJhbnNpdGlvbiBmcm9tIHRoZSBAZnJvbSBzdGF0ZSB0byB0aGUgdGFyZ2V0IHN0YXRlIGFjdGl2YXRlZCBieSBhIHN1Y2Nlc3Npb24gb2YgaW5wdXQgb2YgdmFsdWUgQHRva2VuIGFuZCB3aG9zZSBudW1iZXIgaXMgYmV0d2VlbiBAbWluIGFuZCBAbWF4PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YW08L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIGF1dG9tYXRhPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mcm9tPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc3RhcnRpbmcgcG9pbnQgb2YgdGhlIHRyYW5zaXRpb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRvPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdGFyZ2V0IHBvaW50IG9mIHRoZSB0cmFuc2l0aW9uIG9yIE5VTEw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRva2VuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaW5wdXQgc3RyaW5nIGFzc29jaWF0ZWQgdG8gdGhhdCB0cmFuc2l0aW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5taW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBtaW5pbXVtIHN1Y2Nlc3NpdmUgb2NjdXJlbmNlcyBvZiB0b2tlbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bWF4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbWF4aW11bSBzdWNjZXNzaXZlIG9jY3VyZW5jZXMgb2YgdG9rZW48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRhdGE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmRhdGEgYXNzb2NpYXRlZCB0byB0aGUgdHJhbnNpdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHRhcmdldCBzdGF0ZSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxBdXRvbWF0YU5ld0NvdW50VHJhbnMyIiBpZD0ieG1sQXV0b21hdGFOZXdDb3VudFRyYW5zMiI+PC9hPkZ1bmN0aW9uOiB4bWxBdXRvbWF0YU5ld0NvdW50VHJhbnMyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFTdGF0ZVB0ciI+eG1sQXV0b21hdGFTdGF0ZVB0cjwvYT4JeG1sQXV0b21hdGFOZXdDb3VudFRyYW5zMgkoPGEgaHJlZj0ibGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFQdHIiPnhtbEF1dG9tYXRhUHRyPC9hPiBhbSwgPGJyIC8+CQkJCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVN0YXRlUHRyIj54bWxBdXRvbWF0YVN0YXRlUHRyPC9hPiBmcm9tLCA8YnIgLz4JCQkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhU3RhdGVQdHIiPnhtbEF1dG9tYXRhU3RhdGVQdHI8L2E+IHRvLCA8YnIgLz4JCQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHRva2VuLCA8YnIgLz4JCQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHRva2VuMiwgPGJyIC8+CQkJCQkJCSBpbnQgbWluLCA8YnIgLz4JCQkJCQkJIGludCBtYXgsIDxiciAvPgkJCQkJCQkgdm9pZCAqIGRhdGEpPGJyIC8+Cis8L3ByZT48cD5JZiBAdG8gaXMgTlVMTCwgdGhpcyBjcmVhdGVzIGZpcnN0IGEgbmV3IHRhcmdldCBzdGF0ZSBpbiB0aGUgYXV0b21hdGEgYW5kIHRoZW4gYWRkcyBhIHRyYW5zaXRpb24gZnJvbSB0aGUgQGZyb20gc3RhdGUgdG8gdGhlIHRhcmdldCBzdGF0ZSBhY3RpdmF0ZWQgYnkgYSBzdWNjZXNzaW9uIG9mIGlucHV0IG9mIHZhbHVlIEB0b2tlbiBhbmQgQHRva2VuMiBhbmQgd2hvc2UgbnVtYmVyIGlzIGJldHdlZW4gQG1pbiBhbmQgQG1heDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmFtPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBhdXRvbWF0YTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZnJvbTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHN0YXJ0aW5nIHBvaW50IG9mIHRoZSB0cmFuc2l0aW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50bzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHRhcmdldCBwb2ludCBvZiB0aGUgdHJhbnNpdGlvbiBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50b2tlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGlucHV0IHN0cmluZyBhc3NvY2lhdGVkIHRvIHRoYXQgdHJhbnNpdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dG9rZW4yPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc2Vjb25kIGlucHV0IHN0cmluZyBhc3NvY2lhdGVkIHRvIHRoYXQgdHJhbnNpdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bWluPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbWluaW11bSBzdWNjZXNzaXZlIG9jY3VyZW5jZXMgb2YgdG9rZW48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm1heDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG1heGltdW0gc3VjY2Vzc2l2ZSBvY2N1cmVuY2VzIG9mIHRva2VuPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kYXRhPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5kYXRhIGFzc29jaWF0ZWQgdG8gdGhlIHRyYW5zaXRpb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB0YXJnZXQgc3RhdGUgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sQXV0b21hdGFOZXdDb3VudGVkVHJhbnMiIGlkPSJ4bWxBdXRvbWF0YU5ld0NvdW50ZWRUcmFucyI+PC9hPkZ1bmN0aW9uOiB4bWxBdXRvbWF0YU5ld0NvdW50ZWRUcmFuczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhU3RhdGVQdHIiPnhtbEF1dG9tYXRhU3RhdGVQdHI8L2E+CXhtbEF1dG9tYXRhTmV3Q291bnRlZFRyYW5zCSg8YSBocmVmPSJsaWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVB0ciI+eG1sQXV0b21hdGFQdHI8L2E+IGFtLCA8YnIgLz4JCQkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhU3RhdGVQdHIiPnhtbEF1dG9tYXRhU3RhdGVQdHI8L2E+IGZyb20sIDxiciAvPgkJCQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFTdGF0ZVB0ciI+eG1sQXV0b21hdGFTdGF0ZVB0cjwvYT4gdG8sIDxiciAvPgkJCQkJCQkgaW50IGNvdW50ZXIpPGJyIC8+Cis8L3ByZT48cD5JZiBAdG8gaXMgTlVMTCwgdGhpcyBjcmVhdGVzIGZpcnN0IGEgbmV3IHRhcmdldCBzdGF0ZSBpbiB0aGUgYXV0b21hdGEgYW5kIHRoZW4gYWRkcyBhbiBlcHNpbG9uIHRyYW5zaXRpb24gZnJvbSB0aGUgQGZyb20gc3RhdGUgdG8gdGhlIHRhcmdldCBzdGF0ZSB3aGljaCB3aWxsIGluY3JlbWVudCB0aGUgY291bnRlciBwcm92aWRlZDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmFtPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBhdXRvbWF0YTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZnJvbTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHN0YXJ0aW5nIHBvaW50IG9mIHRoZSB0cmFuc2l0aW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50bzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHRhcmdldCBwb2ludCBvZiB0aGUgdHJhbnNpdGlvbiBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb3VudGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY291bnRlciBhc3NvY2lhdGVkIHRvIHRoYXQgdHJhbnNpdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHRhcmdldCBzdGF0ZSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxBdXRvbWF0YU5ld0NvdW50ZXIiIGlkPSJ4bWxBdXRvbWF0YU5ld0NvdW50ZXIiPjwvYT5GdW5jdGlvbjogeG1sQXV0b21hdGFOZXdDb3VudGVyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbEF1dG9tYXRhTmV3Q291bnRlcgkJKDxhIGhyZWY9ImxpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhUHRyIj54bWxBdXRvbWF0YVB0cjwvYT4gYW0sIDxiciAvPgkJCQkJIGludCBtaW4sIDxiciAvPgkJCQkJIGludCBtYXgpPGJyIC8+Cis8L3ByZT48cD5DcmVhdGUgYSBuZXcgY291bnRlcjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmFtPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBhdXRvbWF0YTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bWluPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbWluaW1hbCB2YWx1ZSBvbiB0aGUgY291bnRlcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bWF4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbWF4aW1hbCB2YWx1ZSBvbiB0aGUgY291bnRlcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGNvdW50ZXIgbnVtYmVyIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxBdXRvbWF0YU5ld0NvdW50ZXJUcmFucyIgaWQ9InhtbEF1dG9tYXRhTmV3Q291bnRlclRyYW5zIj48L2E+RnVuY3Rpb246IHhtbEF1dG9tYXRhTmV3Q291bnRlclRyYW5zPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFTdGF0ZVB0ciI+eG1sQXV0b21hdGFTdGF0ZVB0cjwvYT4JeG1sQXV0b21hdGFOZXdDb3VudGVyVHJhbnMJKDxhIGhyZWY9ImxpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhUHRyIj54bWxBdXRvbWF0YVB0cjwvYT4gYW0sIDxiciAvPgkJCQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFTdGF0ZVB0ciI+eG1sQXV0b21hdGFTdGF0ZVB0cjwvYT4gZnJvbSwgPGJyIC8+CQkJCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVN0YXRlUHRyIj54bWxBdXRvbWF0YVN0YXRlUHRyPC9hPiB0bywgPGJyIC8+CQkJCQkJCSBpbnQgY291bnRlcik8YnIgLz4KKzwvcHJlPjxwPklmIEB0byBpcyBOVUxMLCB0aGlzIGNyZWF0ZXMgZmlyc3QgYSBuZXcgdGFyZ2V0IHN0YXRlIGluIHRoZSBhdXRvbWF0YSBhbmQgdGhlbiBhZGRzIGFuIGVwc2lsb24gdHJhbnNpdGlvbiBmcm9tIHRoZSBAZnJvbSBzdGF0ZSB0byB0aGUgdGFyZ2V0IHN0YXRlIHdoaWNoIHdpbGwgYmUgYWxsb3dlZCBvbmx5IGlmIHRoZSBjb3VudGVyIGlzIHdpdGhpbiB0aGUgcmlnaHQgcmFuZ2UuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YW08L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIGF1dG9tYXRhPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mcm9tPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc3RhcnRpbmcgcG9pbnQgb2YgdGhlIHRyYW5zaXRpb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRvPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdGFyZ2V0IHBvaW50IG9mIHRoZSB0cmFuc2l0aW9uIG9yIE5VTEw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvdW50ZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjb3VudGVyIGFzc29jaWF0ZWQgdG8gdGhhdCB0cmFuc2l0aW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdGFyZ2V0IHN0YXRlIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEF1dG9tYXRhTmV3RXBzaWxvbiIgaWQ9InhtbEF1dG9tYXRhTmV3RXBzaWxvbiI+PC9hPkZ1bmN0aW9uOiB4bWxBdXRvbWF0YU5ld0Vwc2lsb248L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVN0YXRlUHRyIj54bWxBdXRvbWF0YVN0YXRlUHRyPC9hPgl4bWxBdXRvbWF0YU5ld0Vwc2lsb24JKDxhIGhyZWY9ImxpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhUHRyIj54bWxBdXRvbWF0YVB0cjwvYT4gYW0sIDxiciAvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVN0YXRlUHRyIj54bWxBdXRvbWF0YVN0YXRlUHRyPC9hPiBmcm9tLCA8YnIgLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFTdGF0ZVB0ciI+eG1sQXV0b21hdGFTdGF0ZVB0cjwvYT4gdG8pPGJyIC8+Cis8L3ByZT48cD5JZiBAdG8gaXMgTlVMTCwgdGhpcyBjcmVhdGVzIGZpcnN0IGEgbmV3IHRhcmdldCBzdGF0ZSBpbiB0aGUgYXV0b21hdGEgYW5kIHRoZW4gYWRkcyBhbiBlcHNpbG9uIHRyYW5zaXRpb24gZnJvbSB0aGUgQGZyb20gc3RhdGUgdG8gdGhlIHRhcmdldCBzdGF0ZTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmFtPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBhdXRvbWF0YTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZnJvbTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHN0YXJ0aW5nIHBvaW50IG9mIHRoZSB0cmFuc2l0aW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50bzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHRhcmdldCBwb2ludCBvZiB0aGUgdHJhbnNpdGlvbiBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdGFyZ2V0IHN0YXRlIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEF1dG9tYXRhTmV3TmVnVHJhbnMiIGlkPSJ4bWxBdXRvbWF0YU5ld05lZ1RyYW5zIj48L2E+RnVuY3Rpb246IHhtbEF1dG9tYXRhTmV3TmVnVHJhbnM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVN0YXRlUHRyIj54bWxBdXRvbWF0YVN0YXRlUHRyPC9hPgl4bWxBdXRvbWF0YU5ld05lZ1RyYW5zCSg8YSBocmVmPSJsaWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVB0ciI+eG1sQXV0b21hdGFQdHI8L2E+IGFtLCA8YnIgLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFTdGF0ZVB0ciI+eG1sQXV0b21hdGFTdGF0ZVB0cjwvYT4gZnJvbSwgPGJyIC8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhU3RhdGVQdHIiPnhtbEF1dG9tYXRhU3RhdGVQdHI8L2E+IHRvLCA8YnIgLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdG9rZW4sIDxiciAvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB0b2tlbjIsIDxiciAvPgkJCQkJCSB2b2lkICogZGF0YSk8YnIgLz4KKzwvcHJlPjxwPklmIEB0byBpcyBOVUxMLCB0aGlzIGNyZWF0ZXMgZmlyc3QgYSBuZXcgdGFyZ2V0IHN0YXRlIGluIHRoZSBhdXRvbWF0YSBhbmQgdGhlbiBhZGRzIGEgdHJhbnNpdGlvbiBmcm9tIHRoZSBAZnJvbSBzdGF0ZSB0byB0aGUgdGFyZ2V0IHN0YXRlIGFjdGl2YXRlZCBieSBhbnkgdmFsdWUgZXhjZXB0IChAdG9rZW4sQHRva2VuMikgTm90ZSB0aGF0IGlmIEB0b2tlbjIgaXMgbm90IE5VTEwsIHRoZW4gKFgsIE5VTEwpIHdvbid0IG1hdGNoIHRvIGZvbGxvdyAjIHRoZSBzZW1hbnRpYyBvZiBYU0QgIyNvdGhlcjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmFtPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBhdXRvbWF0YTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZnJvbTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHN0YXJ0aW5nIHBvaW50IG9mIHRoZSB0cmFuc2l0aW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50bzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHRhcmdldCBwb2ludCBvZiB0aGUgdHJhbnNpdGlvbiBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50b2tlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZpcnN0IGlucHV0IHN0cmluZyBhc3NvY2lhdGVkIHRvIHRoYXQgdHJhbnNpdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dG9rZW4yPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc2Vjb25kIGlucHV0IHN0cmluZyBhc3NvY2lhdGVkIHRvIHRoYXQgdHJhbnNpdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGF0YTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+ZGF0YSBwYXNzZWQgdG8gdGhlIGNhbGxiYWNrIGZ1bmN0aW9uIGlmIHRoZSB0cmFuc2l0aW9uIGlzIGFjdGl2YXRlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHRhcmdldCBzdGF0ZSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxBdXRvbWF0YU5ld09uY2VUcmFucyIgaWQ9InhtbEF1dG9tYXRhTmV3T25jZVRyYW5zIj48L2E+RnVuY3Rpb246IHhtbEF1dG9tYXRhTmV3T25jZVRyYW5zPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFTdGF0ZVB0ciI+eG1sQXV0b21hdGFTdGF0ZVB0cjwvYT4JeG1sQXV0b21hdGFOZXdPbmNlVHJhbnMJKDxhIGhyZWY9ImxpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhUHRyIj54bWxBdXRvbWF0YVB0cjwvYT4gYW0sIDxiciAvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVN0YXRlUHRyIj54bWxBdXRvbWF0YVN0YXRlUHRyPC9hPiBmcm9tLCA8YnIgLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFTdGF0ZVB0ciI+eG1sQXV0b21hdGFTdGF0ZVB0cjwvYT4gdG8sIDxiciAvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB0b2tlbiwgPGJyIC8+CQkJCQkJIGludCBtaW4sIDxiciAvPgkJCQkJCSBpbnQgbWF4LCA8YnIgLz4JCQkJCQkgdm9pZCAqIGRhdGEpPGJyIC8+Cis8L3ByZT48cD5JZiBAdG8gaXMgTlVMTCwgdGhpcyBjcmVhdGVzIGZpcnN0IGEgbmV3IHRhcmdldCBzdGF0ZSBpbiB0aGUgYXV0b21hdGEgYW5kIHRoZW4gYWRkcyBhIHRyYW5zaXRpb24gZnJvbSB0aGUgQGZyb20gc3RhdGUgdG8gdGhlIHRhcmdldCBzdGF0ZSBhY3RpdmF0ZWQgYnkgYSBzdWNjZXNzaW9uIG9mIGlucHV0IG9mIHZhbHVlIEB0b2tlbiBhbmQgd2hvc2UgbnVtYmVyIGlzIGJldHdlZW4gQG1pbiBhbmQgQG1heCwgbW9yZW92ZXIgdGhhdCB0cmFuc2l0aW9uIGNhbiBvbmx5IGJlIGNyb3NzZWQgb25jZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5hbTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gYXV0b21hdGE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZyb208L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzdGFydGluZyBwb2ludCBvZiB0aGUgdHJhbnNpdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dG88L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB0YXJnZXQgcG9pbnQgb2YgdGhlIHRyYW5zaXRpb24gb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dG9rZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBpbnB1dCBzdHJpbmcgYXNzb2NpYXRlZCB0byB0aGF0IHRyYW5zaXRpb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm1pbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG1pbmltdW0gc3VjY2Vzc2l2ZSBvY2N1cmVuY2VzIG9mIHRva2VuPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5tYXg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBtYXhpbXVtIHN1Y2Nlc3NpdmUgb2NjdXJlbmNlcyBvZiB0b2tlbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGF0YTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+ZGF0YSBhc3NvY2lhdGVkIHRvIHRoZSB0cmFuc2l0aW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdGFyZ2V0IHN0YXRlIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEF1dG9tYXRhTmV3T25jZVRyYW5zMiIgaWQ9InhtbEF1dG9tYXRhTmV3T25jZVRyYW5zMiI+PC9hPkZ1bmN0aW9uOiB4bWxBdXRvbWF0YU5ld09uY2VUcmFuczI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVN0YXRlUHRyIj54bWxBdXRvbWF0YVN0YXRlUHRyPC9hPgl4bWxBdXRvbWF0YU5ld09uY2VUcmFuczIJKDxhIGhyZWY9ImxpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhUHRyIj54bWxBdXRvbWF0YVB0cjwvYT4gYW0sIDxiciAvPgkJCQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFTdGF0ZVB0ciI+eG1sQXV0b21hdGFTdGF0ZVB0cjwvYT4gZnJvbSwgPGJyIC8+CQkJCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVN0YXRlUHRyIj54bWxBdXRvbWF0YVN0YXRlUHRyPC9hPiB0bywgPGJyIC8+CQkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB0b2tlbiwgPGJyIC8+CQkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB0b2tlbjIsIDxiciAvPgkJCQkJCQkgaW50IG1pbiwgPGJyIC8+CQkJCQkJCSBpbnQgbWF4LCA8YnIgLz4JCQkJCQkJIHZvaWQgKiBkYXRhKTxiciAvPgorPC9wcmU+PHA+SWYgQHRvIGlzIE5VTEwsIHRoaXMgY3JlYXRlcyBmaXJzdCBhIG5ldyB0YXJnZXQgc3RhdGUgaW4gdGhlIGF1dG9tYXRhIGFuZCB0aGVuIGFkZHMgYSB0cmFuc2l0aW9uIGZyb20gdGhlIEBmcm9tIHN0YXRlIHRvIHRoZSB0YXJnZXQgc3RhdGUgYWN0aXZhdGVkIGJ5IGEgc3VjY2Vzc2lvbiBvZiBpbnB1dCBvZiB2YWx1ZSBAdG9rZW4gYW5kIEB0b2tlbjIgYW5kIHdob3NlIG51bWJlciBpcyBiZXR3ZWVuIEBtaW4gYW5kIEBtYXgsIG1vcmVvdmVyIHRoYXQgdHJhbnNpdGlvbiBjYW4gb25seSBiZSBjcm9zc2VkIG9uY2UuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YW08L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIGF1dG9tYXRhPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mcm9tPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc3RhcnRpbmcgcG9pbnQgb2YgdGhlIHRyYW5zaXRpb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRvPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdGFyZ2V0IHBvaW50IG9mIHRoZSB0cmFuc2l0aW9uIG9yIE5VTEw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRva2VuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaW5wdXQgc3RyaW5nIGFzc29jaWF0ZWQgdG8gdGhhdCB0cmFuc2l0aW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50b2tlbjI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzZWNvbmQgaW5wdXQgc3RyaW5nIGFzc29jaWF0ZWQgdG8gdGhhdCB0cmFuc2l0aW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5taW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBtaW5pbXVtIHN1Y2Nlc3NpdmUgb2NjdXJlbmNlcyBvZiB0b2tlbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bWF4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbWF4aW11bSBzdWNjZXNzaXZlIG9jY3VyZW5jZXMgb2YgdG9rZW48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRhdGE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmRhdGEgYXNzb2NpYXRlZCB0byB0aGUgdHJhbnNpdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHRhcmdldCBzdGF0ZSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxBdXRvbWF0YU5ld1N0YXRlIiBpZD0ieG1sQXV0b21hdGFOZXdTdGF0ZSI+PC9hPkZ1bmN0aW9uOiB4bWxBdXRvbWF0YU5ld1N0YXRlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFTdGF0ZVB0ciI+eG1sQXV0b21hdGFTdGF0ZVB0cjwvYT4JeG1sQXV0b21hdGFOZXdTdGF0ZQkoPGEgaHJlZj0ibGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFQdHIiPnhtbEF1dG9tYXRhUHRyPC9hPiBhbSk8YnIgLz4KKzwvcHJlPjxwPkNyZWF0ZSBhIG5ldyBkaXNjb25uZWN0ZWQgc3RhdGUgaW4gdGhlIGF1dG9tYXRhPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YW08L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIGF1dG9tYXRhPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IHN0YXRlIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEF1dG9tYXRhTmV3VHJhbnNpdGlvbiIgaWQ9InhtbEF1dG9tYXRhTmV3VHJhbnNpdGlvbiI+PC9hPkZ1bmN0aW9uOiB4bWxBdXRvbWF0YU5ld1RyYW5zaXRpb248L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVN0YXRlUHRyIj54bWxBdXRvbWF0YVN0YXRlUHRyPC9hPgl4bWxBdXRvbWF0YU5ld1RyYW5zaXRpb24JKDxhIGhyZWY9ImxpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhUHRyIj54bWxBdXRvbWF0YVB0cjwvYT4gYW0sIDxiciAvPgkJCQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFTdGF0ZVB0ciI+eG1sQXV0b21hdGFTdGF0ZVB0cjwvYT4gZnJvbSwgPGJyIC8+CQkJCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVN0YXRlUHRyIj54bWxBdXRvbWF0YVN0YXRlUHRyPC9hPiB0bywgPGJyIC8+CQkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB0b2tlbiwgPGJyIC8+CQkJCQkJCSB2b2lkICogZGF0YSk8YnIgLz4KKzwvcHJlPjxwPklmIEB0byBpcyBOVUxMLCB0aGlzIGNyZWF0ZXMgZmlyc3QgYSBuZXcgdGFyZ2V0IHN0YXRlIGluIHRoZSBhdXRvbWF0YSBhbmQgdGhlbiBhZGRzIGEgdHJhbnNpdGlvbiBmcm9tIHRoZSBAZnJvbSBzdGF0ZSB0byB0aGUgdGFyZ2V0IHN0YXRlIGFjdGl2YXRlZCBieSB0aGUgdmFsdWUgb2YgQHRva2VuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YW08L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIGF1dG9tYXRhPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mcm9tPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc3RhcnRpbmcgcG9pbnQgb2YgdGhlIHRyYW5zaXRpb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRvPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdGFyZ2V0IHBvaW50IG9mIHRoZSB0cmFuc2l0aW9uIG9yIE5VTEw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRva2VuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaW5wdXQgc3RyaW5nIGFzc29jaWF0ZWQgdG8gdGhhdCB0cmFuc2l0aW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kYXRhPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5kYXRhIHBhc3NlZCB0byB0aGUgY2FsbGJhY2sgZnVuY3Rpb24gaWYgdGhlIHRyYW5zaXRpb24gaXMgYWN0aXZhdGVkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdGFyZ2V0IHN0YXRlIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEF1dG9tYXRhTmV3VHJhbnNpdGlvbjIiIGlkPSJ4bWxBdXRvbWF0YU5ld1RyYW5zaXRpb24yIj48L2E+RnVuY3Rpb246IHhtbEF1dG9tYXRhTmV3VHJhbnNpdGlvbjI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVN0YXRlUHRyIj54bWxBdXRvbWF0YVN0YXRlUHRyPC9hPgl4bWxBdXRvbWF0YU5ld1RyYW5zaXRpb24yCSg8YSBocmVmPSJsaWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YVB0ciI+eG1sQXV0b21hdGFQdHI8L2E+IGFtLCA8YnIgLz4JCQkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhU3RhdGVQdHIiPnhtbEF1dG9tYXRhU3RhdGVQdHI8L2E+IGZyb20sIDxiciAvPgkJCQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFTdGF0ZVB0ciI+eG1sQXV0b21hdGFTdGF0ZVB0cjwvYT4gdG8sIDxiciAvPgkJCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdG9rZW4sIDxiciAvPgkJCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdG9rZW4yLCA8YnIgLz4JCQkJCQkJIHZvaWQgKiBkYXRhKTxiciAvPgorPC9wcmU+PHA+SWYgQHRvIGlzIE5VTEwsIHRoaXMgY3JlYXRlcyBmaXJzdCBhIG5ldyB0YXJnZXQgc3RhdGUgaW4gdGhlIGF1dG9tYXRhIGFuZCB0aGVuIGFkZHMgYSB0cmFuc2l0aW9uIGZyb20gdGhlIEBmcm9tIHN0YXRlIHRvIHRoZSB0YXJnZXQgc3RhdGUgYWN0aXZhdGVkIGJ5IHRoZSB2YWx1ZSBvZiBAdG9rZW48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5hbTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gYXV0b21hdGE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZyb208L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzdGFydGluZyBwb2ludCBvZiB0aGUgdHJhbnNpdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dG88L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB0YXJnZXQgcG9pbnQgb2YgdGhlIHRyYW5zaXRpb24gb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dG9rZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmaXJzdCBpbnB1dCBzdHJpbmcgYXNzb2NpYXRlZCB0byB0aGF0IHRyYW5zaXRpb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRva2VuMjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHNlY29uZCBpbnB1dCBzdHJpbmcgYXNzb2NpYXRlZCB0byB0aGF0IHRyYW5zaXRpb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRhdGE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmRhdGEgcGFzc2VkIHRvIHRoZSBjYWxsYmFjayBmdW5jdGlvbiBpZiB0aGUgdHJhbnNpdGlvbiBpcyBhY3RpdmF0ZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB0YXJnZXQgc3RhdGUgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sQXV0b21hdGFTZXRGaW5hbFN0YXRlIiBpZD0ieG1sQXV0b21hdGFTZXRGaW5hbFN0YXRlIj48L2E+RnVuY3Rpb246IHhtbEF1dG9tYXRhU2V0RmluYWxTdGF0ZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxBdXRvbWF0YVNldEZpbmFsU3RhdGUJKDxhIGhyZWY9ImxpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhUHRyIj54bWxBdXRvbWF0YVB0cjwvYT4gYW0sIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhU3RhdGVQdHIiPnhtbEF1dG9tYXRhU3RhdGVQdHI8L2E+IHN0YXRlKTxiciAvPgorPC9wcmU+PHA+TWFrZXMgdGhhdCBzdGF0ZSBhIGZpbmFsIHN0YXRlPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YW08L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIGF1dG9tYXRhPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdGF0ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBzdGF0ZSBpbiB0aGlzIGF1dG9tYXRhPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxGcmVlQXV0b21hdGEiIGlkPSJ4bWxGcmVlQXV0b21hdGEiPjwvYT5GdW5jdGlvbjogeG1sRnJlZUF1dG9tYXRhPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxGcmVlQXV0b21hdGEJCQkoPGEgaHJlZj0ibGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFQdHIiPnhtbEF1dG9tYXRhUHRyPC9hPiBhbSk8YnIgLz4KKzwvcHJlPjxwPkZyZWUgYW4gYXV0b21hdGE8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5hbTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gYXV0b21hdGE8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxOZXdBdXRvbWF0YSIgaWQ9InhtbE5ld0F1dG9tYXRhIj48L2E+RnVuY3Rpb246IHhtbE5ld0F1dG9tYXRhPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFQdHIiPnhtbEF1dG9tYXRhUHRyPC9hPgl4bWxOZXdBdXRvbWF0YQkJKHZvaWQpPGJyIC8+Cis8L3ByZT48cD5DcmVhdGUgYSBuZXcgYXV0b21hdGE8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IG9iamVjdCBvciBOVUxMIGluIGNhc2Ugb2YgZmFpbHVyZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PHA+PGEgaHJlZj0iLi4vYnVncy5odG1sIj5EYW5pZWwgVmVpbGxhcmQ8L2E+PC9wPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9odG1sL2xpYnhtbC14bWxlcnJvci5odG1sIGIvbGlieG1sMi9kb2MvaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YzNhMTA0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvaHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbApAQCAtMCwwICsxLDg2NSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIj4KKzxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj48aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz48bGluayByZWw9IlNIT1JUQ1VUIElDT04iIGhyZWY9Ii9mYXZpY29uLmljbyIgLz48c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorVEQge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0JPRFkge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYTsgbWFyZ2luLXRvcDogMmVtOyBtYXJnaW4tbGVmdDogMGVtOyBtYXJnaW4tcmlnaHQ6IDBlbX0KK0gxIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMiB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDMge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0E6bGluaywgQTp2aXNpdGVkLCBBOmFjdGl2ZSB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIH0KKzwvc3R5bGU+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKyAgICAgIGRpdi5kZXByZWNhdGVkIHByZS5wcm9ncmFtbGlzdGluZyB7Ym9yZGVyLXN0eWxlOiBkb3VibGU7Ym9yZGVyLWNvbG9yOnJlZH0KKyAgICAgIHByZS5wcm9ncmFtbGlzdGluZyB7Ym9yZGVyLXN0eWxlOiBkb3VibGU7YmFja2dyb3VuZDogI0VFQ0ZBMX0KKyAgICA8L3N0eWxlPjx0aXRsZT5Nb2R1bGUgeG1sZXJyb3IgZnJvbSBsaWJ4bWwyPC90aXRsZT48L2hlYWQ+PGJvZHkgYmdjb2xvcj0iIzhiNzc2NSIgdGV4dD0iIzAwMDAwMCIgbGluaz0iI2EwNjA2MCIgdmxpbms9IiMwMDAwMDAiPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSIxMDAlIiBjZWxscGFkZGluZz0iNSIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgd2lkdGg9IjEyMCI+PGEgaHJlZj0iaHR0cDovL3N3cGF0LmZmaWkub3JnLyI+PGltZyBzcmM9Ii4uL2VwYXRlbnRzLnBuZyIgYWx0PSJBY3Rpb24gYWdhaW5zdCBzb2Z0d2FyZSBwYXRlbnRzIiAvPjwvYT48L3RkPjx0ZCB3aWR0aD0iMTgwIj48YSBocmVmPSJodHRwOi8vd3d3Lmdub21lLm9yZy8iPjxpbWcgc3JjPSIuLi9nbm9tZTIucG5nIiBhbHQ9Ikdub21lMiBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9TdGF0dXMiPjxpbWcgc3JjPSIuLi93M2MucG5nIiBhbHQ9IlczQyBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnJlZGhhdC5jb20vIj48aW1nIHNyYz0iLi4vcmVkaGF0LmdpZiIgYWx0PSJSZWQgSGF0IExvZ28iIC8+PC9hPjxkaXYgYWxpZ249ImxlZnQiPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy8iPjxpbWcgc3JjPSIuLi9MaWJ4bWwyLUxvZ28tMTgweDE2OC5naWYiIGFsdD0iTWFkZSB3aXRoIExpYnhtbDIgTG9nbyIgLz48L2E+PC9kaXY+PC90ZD48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjkwJSIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiIGJnY29sb3I9IiNmZmZhY2QiPjx0cj48dGQgYWxpZ249ImNlbnRlciI+PGgxPjwvaDE+PGgyPk1vZHVsZSB4bWxlcnJvciBmcm9tIGxpYnhtbDI8L2gyPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI0IiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCB2YWxpZ249InRvcCIgd2lkdGg9IjIwMCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+QVBJIE1lbnU8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PGZvcm0gYWN0aW9uPSIuLi9zZWFyY2gucGhwIiBlbmN0eXBlPSJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiIG1ldGhvZD0iZ2V0Ij48aW5wdXQgbmFtZT0icXVlcnkiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iIiAvPjxpbnB1dCBuYW1lPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNlYXJjaCAuLi4iIC8+PC9mb3JtPjx1bD48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9Ii4uL2luZGV4Lmh0bWwiPk1haW4gTWVudTwvYT48L2xpPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iLi4vZG9jcy5odG1sIj5EZXZlbG9wZXIgTWVudTwvYT48L2xpPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iLi4vZXhhbXBsZXMvaW5kZXguaHRtbCI+Q29kZSBFeGFtcGxlczwvYT48L2xpPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iaW5kZXguaHRtbCI+QVBJIE1lbnU8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXBhcnNlci5odG1sIj5QYXJzZXIgQVBJPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwiPlRyZWUgQVBJPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCI+UmVhZGVyIEFQSTwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9ndWlkZWxpbmVzLmh0bWwiPlhNTCBHdWlkZWxpbmVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0NoYW5nZUxvZy5odG1sIj5DaGFuZ2VMb2c8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5BUEkgSW5kZXhlczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9Ii4uL0FQSWNodW5rMC5odG1sIj5BbHBoYWJldGljPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSWNvbnN0cnVjdG9ycy5odG1sIj5Db25zdHJ1Y3RvcnM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJZnVuY3Rpb25zLmh0bWwiPkZ1bmN0aW9ucy9UeXBlczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUElmaWxlcy5odG1sIj5Nb2R1bGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSXN5bWJvbHMuaHRtbCI+U3ltYm9sczwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPlJlbGF0ZWQgbGlua3M8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSJodHRwOi8vbWFpbC5nbm9tZS5vcmcvYXJjaGl2ZXMveG1sLyI+TWFpbCBhcmNoaXZlPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9YU0xULyI+WFNMVCBsaWJ4c2x0PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9waGQuY3MudW5pYm8uaXQvZ2RvbWUyLyI+RE9NIGdkb21lMjwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmFsZWtzZXkuY29tL3htbHNlYy8iPlhNTC1EU2lnIHhtbHNlYzwvYT48L2xpPjxsaT48YSBocmVmPSJmdHA6Ly94bWxzb2Z0Lm9yZy8iPkZUUDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnpsYXRrb3ZpYy5jb20vcHJvamVjdHMvbGlieG1sLyI+V2luZG93cyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vb3BlbmNzdy5vcmcvcGFja2FnZXMvbGlieG1sMiI+U29sYXJpcyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmV4cGxhaW4uY29tLmF1L29zcy9saWJ4bWwyeHNsdC5odG1sIj5NYWNPc1ggYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2x4bWwuZGUvIj5seG1sIFB5dGhvbiBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vY3Bhbi51d2lubmlwZWcuY2EvZGlzdC9YTUwtTGliWE1MIj5QZXJsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWxwbHVzcGx1cy5zb3VyY2Vmb3JnZS5uZXQvIj5DKysgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56ZW5kLmNvbS9waHA1L2FydGljbGVzL3BocDUteG1scGhwLnBocCNIZWFkaW5nNCI+UEhQIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbGlieG1sMi1wYXMvIj5QYXNjYWwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbC5ydWJ5Zm9yZ2Uub3JnLyI+UnVieSBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vdGNseG1sLnNvdXJjZWZvcmdlLm5ldC8iPlRjbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2J1Z2xpc3QuY2dpP3Byb2R1Y3Q9bGlieG1sMiI+QnVnIFRyYWNrZXI8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dGFibGUgY2xhc3M9Im5hdmlnYXRpb24iIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIyIj48dHIgdmFsaWduPSJtaWRkbGUiPjx0ZD48YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImxpYnhtbC14bWxhdXRvbWF0YS5odG1sIj48aW1nIHNyYz0ibGVmdC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlByZXYiIC8+PC9hPjwvdGQ+PHRoIGFsaWduPSJsZWZ0Ij48YSBocmVmPSJsaWJ4bWwteG1sYXV0b21hdGEuaHRtbCI+eG1sYXV0b21hdGE8L2E+PC90aD48dGQ+PGEgYWNjZXNza2V5PSJ1IiBocmVmPSJpbmRleC5odG1sIj48aW1nIHNyYz0idXAucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJVcCIgLz48L2E+PC90ZD48dGggYWxpZ249ImxlZnQiPjxhIGhyZWY9ImluZGV4Lmh0bWwiPkFQSSBkb2N1bWVudGF0aW9uPC9hPjwvdGg+PHRkPjxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iLi4vaW5kZXguaHRtbCI+PGltZyBzcmM9ImhvbWUucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJIb21lIiAvPjwvYT48L3RkPjx0aCBhbGlnbj0iY2VudGVyIj48YSBocmVmPSIuLi9pbmRleC5odG1sIj5UaGUgWE1MIEMgcGFyc2VyIGFuZCB0b29sa2l0IG9mIEdub21lPC9hPjwvdGg+PHRoIGFsaWduPSJyaWdodCI+PGEgaHJlZj0ibGlieG1sLXhtbGV4cG9ydHMuaHRtbCI+eG1sZXhwb3J0czwvYT48L3RoPjx0ZD48YSBhY2Nlc3NrZXk9Im4iIGhyZWY9ImxpYnhtbC14bWxleHBvcnRzLmh0bWwiPjxpbWcgc3JjPSJyaWdodC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9Ik5leHQiIC8+PC9hPjwvdGQ+PC90cj48L3RhYmxlPjxwPnRoZSBBUEkgdXNlZCB0byByZXBvcnQgZXJyb3JzIDwvcD48aDI+VGFibGUgb2YgQ29udGVudHM8L2gyPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgPGEgaHJlZj0iI3htbEVycm9yIj54bWxFcnJvcjwvYT48YnIgLz5zdHJ1Y3QgX3htbEVycm9yCis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RW51bSA8YSBocmVmPSIjeG1sRXJyb3JEb21haW4iPnhtbEVycm9yRG9tYWluPC9hPgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkVudW0gPGEgaHJlZj0iI3htbEVycm9yTGV2ZWwiPnhtbEVycm9yTGV2ZWw8L2E+Cis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+VHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxFcnJvciI+eG1sRXJyb3I8L2E+ICogPGEgbmFtZT0ieG1sRXJyb3JQdHIiIGlkPSJ4bWxFcnJvclB0ciI+eG1sRXJyb3JQdHI8L2E+Cis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RW51bSA8YSBocmVmPSIjeG1sUGFyc2VyRXJyb3JzIj54bWxQYXJzZXJFcnJvcnM8L2E+Cis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjaW5pdEdlbmVyaWNFcnJvckRlZmF1bHRGdW5jIj5pbml0R2VuZXJpY0Vycm9yRGVmYXVsdEZ1bmM8L2E+CSg8YSBocmVmPSJsaWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxHZW5lcmljRXJyb3JGdW5jIj54bWxHZW5lcmljRXJyb3JGdW5jPC9hPiAqIGhhbmRsZXIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxDb3B5RXJyb3IiPnhtbENvcHlFcnJvcjwvYT4JCQkoPGEgaHJlZj0ibGlieG1sLXhtbGVycm9yLmh0bWwjeG1sRXJyb3JQdHIiPnhtbEVycm9yUHRyPC9hPiBmcm9tLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxFcnJvclB0ciI+eG1sRXJyb3JQdHI8L2E+IHRvKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxlcnJvci5odG1sI3htbEVycm9yUHRyIj54bWxFcnJvclB0cjwvYT4JPGEgaHJlZj0iI3htbEN0eHRHZXRMYXN0RXJyb3IiPnhtbEN0eHRHZXRMYXN0RXJyb3I8L2E+CSh2b2lkICogY3R4KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbEN0eHRSZXNldExhc3RFcnJvciI+eG1sQ3R4dFJlc2V0TGFzdEVycm9yPC9hPgkJKHZvaWQgKiBjdHgpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RnVuY3Rpb24gdHlwZTogPGEgaHJlZj0iI3htbEdlbmVyaWNFcnJvckZ1bmMiPnhtbEdlbmVyaWNFcnJvckZ1bmM8L2E+Cit2b2lkCTxhIGhyZWY9IiN4bWxHZW5lcmljRXJyb3JGdW5jIj54bWxHZW5lcmljRXJyb3JGdW5jPC9hPgkJKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBtc2csIDxiciAvPgkJCQkJIC4uLiAuLi4pCis8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxFcnJvclB0ciI+eG1sRXJyb3JQdHI8L2E+CTxhIGhyZWY9IiN4bWxHZXRMYXN0RXJyb3IiPnhtbEdldExhc3RFcnJvcjwvYT4JCSh2b2lkKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFBhcnNlckVycm9yIj54bWxQYXJzZXJFcnJvcjwvYT4JCQkodm9pZCAqIGN0eCwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIG1zZywgPGJyIC8+CQkJCQkgLi4uIC4uLik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxQYXJzZXJQcmludEZpbGVDb250ZXh0Ij54bWxQYXJzZXJQcmludEZpbGVDb250ZXh0PC9hPgkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dFB0ciI+eG1sUGFyc2VySW5wdXRQdHI8L2E+IGlucHV0KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFBhcnNlclByaW50RmlsZUluZm8iPnhtbFBhcnNlclByaW50RmlsZUluZm88L2E+CQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dFB0ciI+eG1sUGFyc2VySW5wdXRQdHI8L2E+IGlucHV0KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFBhcnNlclZhbGlkaXR5RXJyb3IiPnhtbFBhcnNlclZhbGlkaXR5RXJyb3I8L2E+CQkodm9pZCAqIGN0eCwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIG1zZywgPGJyIC8+CQkJCQkgLi4uIC4uLik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxQYXJzZXJWYWxpZGl0eVdhcm5pbmciPnhtbFBhcnNlclZhbGlkaXR5V2FybmluZzwvYT4JKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBtc2csIDxiciAvPgkJCQkJIC4uLiAuLi4pPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sUGFyc2VyV2FybmluZyI+eG1sUGFyc2VyV2FybmluZzwvYT4JCSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogbXNnLCA8YnIgLz4JCQkJCSAuLi4gLi4uKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFJlc2V0RXJyb3IiPnhtbFJlc2V0RXJyb3I8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbC14bWxlcnJvci5odG1sI3htbEVycm9yUHRyIj54bWxFcnJvclB0cjwvYT4gZXJyKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFJlc2V0TGFzdEVycm9yIj54bWxSZXNldExhc3RFcnJvcjwvYT4JCSh2b2lkKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFNldEdlbmVyaWNFcnJvckZ1bmMiPnhtbFNldEdlbmVyaWNFcnJvckZ1bmM8L2E+CQkodm9pZCAqIGN0eCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbGVycm9yLmh0bWwjeG1sR2VuZXJpY0Vycm9yRnVuYyI+eG1sR2VuZXJpY0Vycm9yRnVuYzwvYT4gaGFuZGxlcik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxTZXRTdHJ1Y3R1cmVkRXJyb3JGdW5jIj54bWxTZXRTdHJ1Y3R1cmVkRXJyb3JGdW5jPC9hPgkodm9pZCAqIGN0eCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbGVycm9yLmh0bWwjeG1sU3RydWN0dXJlZEVycm9yRnVuYyI+eG1sU3RydWN0dXJlZEVycm9yRnVuYzwvYT4gaGFuZGxlcik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5GdW5jdGlvbiB0eXBlOiA8YSBocmVmPSIjeG1sU3RydWN0dXJlZEVycm9yRnVuYyI+eG1sU3RydWN0dXJlZEVycm9yRnVuYzwvYT4KK3ZvaWQJPGEgaHJlZj0iI3htbFN0cnVjdHVyZWRFcnJvckZ1bmMiPnhtbFN0cnVjdHVyZWRFcnJvckZ1bmM8L2E+CQkodm9pZCAqIHVzZXJEYXRhLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxFcnJvclB0ciI+eG1sRXJyb3JQdHI8L2E+IGVycm9yKQorPC9wcmU+Cis8aDI+RGVzY3JpcHRpb248L2gyPgorPGgzPjxhIG5hbWU9InhtbEVycm9yIiBpZD0ieG1sRXJyb3IiPlN0cnVjdHVyZSB4bWxFcnJvcjwvYT48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgeG1sRXJyb3I8YnIgLz5zdHJ1Y3QgX3htbEVycm9yIHsKKyAgICBpbnQJZG9tYWluCTogV2hhdCBwYXJ0IG9mIHRoZSBsaWJyYXJ5IHJhaXNlZCB0aGlzIGVyCisgICAgaW50CWNvZGUJOiBUaGUgZXJyb3IgY29kZSwgZS5nLiBhbiA8YSBocmVmPSJsaWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxQYXJzZXJFcnJvciI+eG1sUGFyc2VyRXJyb3I8L2E+CisgICAgY2hhciAqCW1lc3NhZ2UJOiBodW1hbi1yZWFkYWJsZSBpbmZvcm1hdGl2ZSBlcnJvciBtZXNzYWcKKyAgICA8YSBocmVmPSJsaWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxFcnJvckxldmVsIj54bWxFcnJvckxldmVsPC9hPglsZXZlbAk6IGhvdyBjb25zZXF1ZW50IGlzIHRoZSBlcnJvcgorICAgIGNoYXIgKglmaWxlCTogdGhlIGZpbGVuYW1lCisgICAgaW50CWxpbmUJOiB0aGUgbGluZSBudW1iZXIgaWYgYXZhaWxhYmxlCisgICAgY2hhciAqCXN0cjEJOiBleHRyYSBzdHJpbmcgaW5mb3JtYXRpb24KKyAgICBjaGFyICoJc3RyMgk6IGV4dHJhIHN0cmluZyBpbmZvcm1hdGlvbgorICAgIGNoYXIgKglzdHIzCTogZXh0cmEgc3RyaW5nIGluZm9ybWF0aW9uCisgICAgaW50CWludDEJOiBleHRyYSBudW1iZXIgaW5mb3JtYXRpb24KKyAgICBpbnQJaW50Mgk6IGVycm9yIGNvbHVtbiAjIG9yIDAgaWYgTi9BICh0b2RvOiByZW5hbQorICAgIHZvaWQgKgljdHh0CTogdGhlIHBhcnNlciBjb250ZXh0IGlmIGF2YWlsYWJsZQorICAgIHZvaWQgKglub2RlCTogdGhlIG5vZGUgaW4gdGhlIHRyZWUKK308L3ByZT48aDM+RW51bSA8YSBuYW1lPSJ4bWxFcnJvckRvbWFpbiIgaWQ9InhtbEVycm9yRG9tYWluIj54bWxFcnJvckRvbWFpbjwvYT48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5FbnVtIHhtbEVycm9yRG9tYWluIHsKKyAgICA8YSBuYW1lPSJYTUxfRlJPTV9OT05FIiBpZD0iWE1MX0ZST01fTk9ORSI+WE1MX0ZST01fTk9ORTwvYT4gPSAwCisgICAgPGEgbmFtZT0iWE1MX0ZST01fUEFSU0VSIiBpZD0iWE1MX0ZST01fUEFSU0VSIj5YTUxfRlJPTV9QQVJTRVI8L2E+ID0gMSA6IFRoZSBYTUwgcGFyc2VyCisgICAgPGEgbmFtZT0iWE1MX0ZST01fVFJFRSIgaWQ9IlhNTF9GUk9NX1RSRUUiPlhNTF9GUk9NX1RSRUU8L2E+ID0gMiA6IFRoZSB0cmVlIG1vZHVsZQorICAgIDxhIG5hbWU9IlhNTF9GUk9NX05BTUVTUEFDRSIgaWQ9IlhNTF9GUk9NX05BTUVTUEFDRSI+WE1MX0ZST01fTkFNRVNQQUNFPC9hPiA9IDMgOiBUaGUgWE1MIE5hbWVzcGFjZSBtb2R1bGUKKyAgICA8YSBuYW1lPSJYTUxfRlJPTV9EVEQiIGlkPSJYTUxfRlJPTV9EVEQiPlhNTF9GUk9NX0RURDwvYT4gPSA0IDogVGhlIFhNTCBEVEQgdmFsaWRhdGlvbiB3aXRoIHBhcnNlciBjb250ZXgKKyAgICA8YSBuYW1lPSJYTUxfRlJPTV9IVE1MIiBpZD0iWE1MX0ZST01fSFRNTCI+WE1MX0ZST01fSFRNTDwvYT4gPSA1IDogVGhlIEhUTUwgcGFyc2VyCisgICAgPGEgbmFtZT0iWE1MX0ZST01fTUVNT1JZIiBpZD0iWE1MX0ZST01fTUVNT1JZIj5YTUxfRlJPTV9NRU1PUlk8L2E+ID0gNiA6IFRoZSBtZW1vcnkgYWxsb2NhdG9yCisgICAgPGEgbmFtZT0iWE1MX0ZST01fT1VUUFVUIiBpZD0iWE1MX0ZST01fT1VUUFVUIj5YTUxfRlJPTV9PVVRQVVQ8L2E+ID0gNyA6IFRoZSBzZXJpYWxpemF0aW9uIGNvZGUKKyAgICA8YSBuYW1lPSJYTUxfRlJPTV9JTyIgaWQ9IlhNTF9GUk9NX0lPIj5YTUxfRlJPTV9JTzwvYT4gPSA4IDogVGhlIElucHV0L091dHB1dCBzdGFjaworICAgIDxhIG5hbWU9IlhNTF9GUk9NX0ZUUCIgaWQ9IlhNTF9GUk9NX0ZUUCI+WE1MX0ZST01fRlRQPC9hPiA9IDkgOiBUaGUgRlRQIG1vZHVsZQorICAgIDxhIG5hbWU9IlhNTF9GUk9NX0hUVFAiIGlkPSJYTUxfRlJPTV9IVFRQIj5YTUxfRlJPTV9IVFRQPC9hPiA9IDEwIDogVGhlIEhUVFAgbW9kdWxlCisgICAgPGEgbmFtZT0iWE1MX0ZST01fWElOQ0xVREUiIGlkPSJYTUxfRlJPTV9YSU5DTFVERSI+WE1MX0ZST01fWElOQ0xVREU8L2E+ID0gMTEgOiBUaGUgWEluY2x1ZGUgcHJvY2Vzc2luZworICAgIDxhIG5hbWU9IlhNTF9GUk9NX1hQQVRIIiBpZD0iWE1MX0ZST01fWFBBVEgiPlhNTF9GUk9NX1hQQVRIPC9hPiA9IDEyIDogVGhlIFhQYXRoIG1vZHVsZQorICAgIDxhIG5hbWU9IlhNTF9GUk9NX1hQT0lOVEVSIiBpZD0iWE1MX0ZST01fWFBPSU5URVIiPlhNTF9GUk9NX1hQT0lOVEVSPC9hPiA9IDEzIDogVGhlIFhQb2ludGVyIG1vZHVsZQorICAgIDxhIG5hbWU9IlhNTF9GUk9NX1JFR0VYUCIgaWQ9IlhNTF9GUk9NX1JFR0VYUCI+WE1MX0ZST01fUkVHRVhQPC9hPiA9IDE0IDogVGhlIHJlZ3VsYXIgZXhwcmVzc2lvbnMgbW9kdWxlCisgICAgPGEgbmFtZT0iWE1MX0ZST01fREFUQVRZUEUiIGlkPSJYTUxfRlJPTV9EQVRBVFlQRSI+WE1MX0ZST01fREFUQVRZUEU8L2E+ID0gMTUgOiBUaGUgVzNDIFhNTCBTY2hlbWFzIERhdGF0eXBlIG1vZHVsZQorICAgIDxhIG5hbWU9IlhNTF9GUk9NX1NDSEVNQVNQIiBpZD0iWE1MX0ZST01fU0NIRU1BU1AiPlhNTF9GUk9NX1NDSEVNQVNQPC9hPiA9IDE2IDogVGhlIFczQyBYTUwgU2NoZW1hcyBwYXJzZXIgbW9kdWxlCisgICAgPGEgbmFtZT0iWE1MX0ZST01fU0NIRU1BU1YiIGlkPSJYTUxfRlJPTV9TQ0hFTUFTViI+WE1MX0ZST01fU0NIRU1BU1Y8L2E+ID0gMTcgOiBUaGUgVzNDIFhNTCBTY2hlbWFzIHZhbGlkYXRpb24gbW9kdWxlCisgICAgPGEgbmFtZT0iWE1MX0ZST01fUkVMQVhOR1AiIGlkPSJYTUxfRlJPTV9SRUxBWE5HUCI+WE1MX0ZST01fUkVMQVhOR1A8L2E+ID0gMTggOiBUaGUgUmVsYXgtTkcgcGFyc2VyIG1vZHVsZQorICAgIDxhIG5hbWU9IlhNTF9GUk9NX1JFTEFYTkdWIiBpZD0iWE1MX0ZST01fUkVMQVhOR1YiPlhNTF9GUk9NX1JFTEFYTkdWPC9hPiA9IDE5IDogVGhlIFJlbGF4LU5HIHZhbGlkYXRvciBtb2R1bGUKKyAgICA8YSBuYW1lPSJYTUxfRlJPTV9DQVRBTE9HIiBpZD0iWE1MX0ZST01fQ0FUQUxPRyI+WE1MX0ZST01fQ0FUQUxPRzwvYT4gPSAyMCA6IFRoZSBDYXRhbG9nIG1vZHVsZQorICAgIDxhIG5hbWU9IlhNTF9GUk9NX0MxNE4iIGlkPSJYTUxfRlJPTV9DMTROIj5YTUxfRlJPTV9DMTROPC9hPiA9IDIxIDogVGhlIENhbm9uaWNhbGl6YXRpb24gbW9kdWxlCisgICAgPGEgbmFtZT0iWE1MX0ZST01fWFNMVCIgaWQ9IlhNTF9GUk9NX1hTTFQiPlhNTF9GUk9NX1hTTFQ8L2E+ID0gMjIgOiBUaGUgWFNMVCBlbmdpbmUgZnJvbSBsaWJ4c2x0CisgICAgPGEgbmFtZT0iWE1MX0ZST01fVkFMSUQiIGlkPSJYTUxfRlJPTV9WQUxJRCI+WE1MX0ZST01fVkFMSUQ8L2E+ID0gMjMgOiBUaGUgWE1MIERURCB2YWxpZGF0aW9uIHdpdGggdmFsaWQgY29udGV4dAorICAgIDxhIG5hbWU9IlhNTF9GUk9NX0NIRUNLIiBpZD0iWE1MX0ZST01fQ0hFQ0siPlhNTF9GUk9NX0NIRUNLPC9hPiA9IDI0IDogVGhlIGVycm9yIGNoZWNraW5nIG1vZHVsZQorICAgIDxhIG5hbWU9IlhNTF9GUk9NX1dSSVRFUiIgaWQ9IlhNTF9GUk9NX1dSSVRFUiI+WE1MX0ZST01fV1JJVEVSPC9hPiA9IDI1IDogVGhlIHhtbHdyaXRlciBtb2R1bGUKKyAgICA8YSBuYW1lPSJYTUxfRlJPTV9NT0RVTEUiIGlkPSJYTUxfRlJPTV9NT0RVTEUiPlhNTF9GUk9NX01PRFVMRTwvYT4gPSAyNiA6IFRoZSBkeW5hbWljYWxseSBsb2FkZWQgbW9kdWxlIG1vZHVsCisgICAgPGEgbmFtZT0iWE1MX0ZST01fSTE4TiIgaWQ9IlhNTF9GUk9NX0kxOE4iPlhNTF9GUk9NX0kxOE48L2E+ID0gMjcgOiBUaGUgbW9kdWxlIGhhbmRsaW5nIGNoYXJhY3RlciBjb252ZXJzaW9uCisgICAgPGEgbmFtZT0iWE1MX0ZST01fU0NIRU1BVFJPTlYiIGlkPSJYTUxfRlJPTV9TQ0hFTUFUUk9OViI+WE1MX0ZST01fU0NIRU1BVFJPTlY8L2E+ID0gMjggOiBUaGUgU2NoZW1hdHJvbiB2YWxpZGF0b3IgbW9kdWxlCisgICAgPGEgbmFtZT0iWE1MX0ZST01fQlVGRkVSIiBpZD0iWE1MX0ZST01fQlVGRkVSIj5YTUxfRlJPTV9CVUZGRVI8L2E+ID0gMjkgOiBUaGUgYnVmZmVycyBtb2R1bGUKKyAgICA8YSBuYW1lPSJYTUxfRlJPTV9VUkkiIGlkPSJYTUxfRlJPTV9VUkkiPlhNTF9GUk9NX1VSSTwvYT4gPSAzMCA6IFRoZSBVUkkgbW9kdWxlCit9Cis8L3ByZT48aDM+RW51bSA8YSBuYW1lPSJ4bWxFcnJvckxldmVsIiBpZD0ieG1sRXJyb3JMZXZlbCI+eG1sRXJyb3JMZXZlbDwvYT48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5FbnVtIHhtbEVycm9yTGV2ZWwgeworICAgIDxhIG5hbWU9IlhNTF9FUlJfTk9ORSIgaWQ9IlhNTF9FUlJfTk9ORSI+WE1MX0VSUl9OT05FPC9hPiA9IDAKKyAgICA8YSBuYW1lPSJYTUxfRVJSX1dBUk5JTkciIGlkPSJYTUxfRVJSX1dBUk5JTkciPlhNTF9FUlJfV0FSTklORzwvYT4gPSAxIDogQSBzaW1wbGUgd2FybmluZworICAgIDxhIG5hbWU9IlhNTF9FUlJfRVJST1IiIGlkPSJYTUxfRVJSX0VSUk9SIj5YTUxfRVJSX0VSUk9SPC9hPiA9IDIgOiBBIHJlY292ZXJhYmxlIGVycm9yCisgICAgPGEgbmFtZT0iWE1MX0VSUl9GQVRBTCIgaWQ9IlhNTF9FUlJfRkFUQUwiPlhNTF9FUlJfRkFUQUw8L2E+ID0gMyA6IEEgZmF0YWwgZXJyb3IKK30KKzwvcHJlPjxoMz5FbnVtIDxhIG5hbWU9InhtbFBhcnNlckVycm9ycyIgaWQ9InhtbFBhcnNlckVycm9ycyI+eG1sUGFyc2VyRXJyb3JzPC9hPjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkVudW0geG1sUGFyc2VyRXJyb3JzIHsKKyAgICA8YSBuYW1lPSJYTUxfRVJSX09LIiBpZD0iWE1MX0VSUl9PSyI+WE1MX0VSUl9PSzwvYT4gPSAwCisgICAgPGEgbmFtZT0iWE1MX0VSUl9JTlRFUk5BTF9FUlJPUiIgaWQ9IlhNTF9FUlJfSU5URVJOQUxfRVJST1IiPlhNTF9FUlJfSU5URVJOQUxfRVJST1I8L2E+ID0gMSA6IDEKKyAgICA8YSBuYW1lPSJYTUxfRVJSX05PX01FTU9SWSIgaWQ9IlhNTF9FUlJfTk9fTUVNT1JZIj5YTUxfRVJSX05PX01FTU9SWTwvYT4gPSAyIDogMgorICAgIDxhIG5hbWU9IlhNTF9FUlJfRE9DVU1FTlRfU1RBUlQiIGlkPSJYTUxfRVJSX0RPQ1VNRU5UX1NUQVJUIj5YTUxfRVJSX0RPQ1VNRU5UX1NUQVJUPC9hPiA9IDMgOiAzCisgICAgPGEgbmFtZT0iWE1MX0VSUl9ET0NVTUVOVF9FTVBUWSIgaWQ9IlhNTF9FUlJfRE9DVU1FTlRfRU1QVFkiPlhNTF9FUlJfRE9DVU1FTlRfRU1QVFk8L2E+ID0gNCA6IDQKKyAgICA8YSBuYW1lPSJYTUxfRVJSX0RPQ1VNRU5UX0VORCIgaWQ9IlhNTF9FUlJfRE9DVU1FTlRfRU5EIj5YTUxfRVJSX0RPQ1VNRU5UX0VORDwvYT4gPSA1IDogNQorICAgIDxhIG5hbWU9IlhNTF9FUlJfSU5WQUxJRF9IRVhfQ0hBUlJFRiIgaWQ9IlhNTF9FUlJfSU5WQUxJRF9IRVhfQ0hBUlJFRiI+WE1MX0VSUl9JTlZBTElEX0hFWF9DSEFSUkVGPC9hPiA9IDYgOiA2CisgICAgPGEgbmFtZT0iWE1MX0VSUl9JTlZBTElEX0RFQ19DSEFSUkVGIiBpZD0iWE1MX0VSUl9JTlZBTElEX0RFQ19DSEFSUkVGIj5YTUxfRVJSX0lOVkFMSURfREVDX0NIQVJSRUY8L2E+ID0gNyA6IDcKKyAgICA8YSBuYW1lPSJYTUxfRVJSX0lOVkFMSURfQ0hBUlJFRiIgaWQ9IlhNTF9FUlJfSU5WQUxJRF9DSEFSUkVGIj5YTUxfRVJSX0lOVkFMSURfQ0hBUlJFRjwvYT4gPSA4IDogOAorICAgIDxhIG5hbWU9IlhNTF9FUlJfSU5WQUxJRF9DSEFSIiBpZD0iWE1MX0VSUl9JTlZBTElEX0NIQVIiPlhNTF9FUlJfSU5WQUxJRF9DSEFSPC9hPiA9IDkgOiA5CisgICAgPGEgbmFtZT0iWE1MX0VSUl9DSEFSUkVGX0FUX0VPRiIgaWQ9IlhNTF9FUlJfQ0hBUlJFRl9BVF9FT0YiPlhNTF9FUlJfQ0hBUlJFRl9BVF9FT0Y8L2E+ID0gMTAgOiAxMAorICAgIDxhIG5hbWU9IlhNTF9FUlJfQ0hBUlJFRl9JTl9QUk9MT0ciIGlkPSJYTUxfRVJSX0NIQVJSRUZfSU5fUFJPTE9HIj5YTUxfRVJSX0NIQVJSRUZfSU5fUFJPTE9HPC9hPiA9IDExIDogMTEKKyAgICA8YSBuYW1lPSJYTUxfRVJSX0NIQVJSRUZfSU5fRVBJTE9HIiBpZD0iWE1MX0VSUl9DSEFSUkVGX0lOX0VQSUxPRyI+WE1MX0VSUl9DSEFSUkVGX0lOX0VQSUxPRzwvYT4gPSAxMiA6IDEyCisgICAgPGEgbmFtZT0iWE1MX0VSUl9DSEFSUkVGX0lOX0RURCIgaWQ9IlhNTF9FUlJfQ0hBUlJFRl9JTl9EVEQiPlhNTF9FUlJfQ0hBUlJFRl9JTl9EVEQ8L2E+ID0gMTMgOiAxMworICAgIDxhIG5hbWU9IlhNTF9FUlJfRU5USVRZUkVGX0FUX0VPRiIgaWQ9IlhNTF9FUlJfRU5USVRZUkVGX0FUX0VPRiI+WE1MX0VSUl9FTlRJVFlSRUZfQVRfRU9GPC9hPiA9IDE0IDogMTQKKyAgICA8YSBuYW1lPSJYTUxfRVJSX0VOVElUWVJFRl9JTl9QUk9MT0ciIGlkPSJYTUxfRVJSX0VOVElUWVJFRl9JTl9QUk9MT0ciPlhNTF9FUlJfRU5USVRZUkVGX0lOX1BST0xPRzwvYT4gPSAxNSA6IDE1CisgICAgPGEgbmFtZT0iWE1MX0VSUl9FTlRJVFlSRUZfSU5fRVBJTE9HIiBpZD0iWE1MX0VSUl9FTlRJVFlSRUZfSU5fRVBJTE9HIj5YTUxfRVJSX0VOVElUWVJFRl9JTl9FUElMT0c8L2E+ID0gMTYgOiAxNgorICAgIDxhIG5hbWU9IlhNTF9FUlJfRU5USVRZUkVGX0lOX0RURCIgaWQ9IlhNTF9FUlJfRU5USVRZUkVGX0lOX0RURCI+WE1MX0VSUl9FTlRJVFlSRUZfSU5fRFREPC9hPiA9IDE3IDogMTcKKyAgICA8YSBuYW1lPSJYTUxfRVJSX1BFUkVGX0FUX0VPRiIgaWQ9IlhNTF9FUlJfUEVSRUZfQVRfRU9GIj5YTUxfRVJSX1BFUkVGX0FUX0VPRjwvYT4gPSAxOCA6IDE4CisgICAgPGEgbmFtZT0iWE1MX0VSUl9QRVJFRl9JTl9QUk9MT0ciIGlkPSJYTUxfRVJSX1BFUkVGX0lOX1BST0xPRyI+WE1MX0VSUl9QRVJFRl9JTl9QUk9MT0c8L2E+ID0gMTkgOiAxOQorICAgIDxhIG5hbWU9IlhNTF9FUlJfUEVSRUZfSU5fRVBJTE9HIiBpZD0iWE1MX0VSUl9QRVJFRl9JTl9FUElMT0ciPlhNTF9FUlJfUEVSRUZfSU5fRVBJTE9HPC9hPiA9IDIwIDogMjAKKyAgICA8YSBuYW1lPSJYTUxfRVJSX1BFUkVGX0lOX0lOVF9TVUJTRVQiIGlkPSJYTUxfRVJSX1BFUkVGX0lOX0lOVF9TVUJTRVQiPlhNTF9FUlJfUEVSRUZfSU5fSU5UX1NVQlNFVDwvYT4gPSAyMSA6IDIxCisgICAgPGEgbmFtZT0iWE1MX0VSUl9FTlRJVFlSRUZfTk9fTkFNRSIgaWQ9IlhNTF9FUlJfRU5USVRZUkVGX05PX05BTUUiPlhNTF9FUlJfRU5USVRZUkVGX05PX05BTUU8L2E+ID0gMjIgOiAyMgorICAgIDxhIG5hbWU9IlhNTF9FUlJfRU5USVRZUkVGX1NFTUlDT0xfTUlTU0lORyIgaWQ9IlhNTF9FUlJfRU5USVRZUkVGX1NFTUlDT0xfTUlTU0lORyI+WE1MX0VSUl9FTlRJVFlSRUZfU0VNSUNPTF9NSVNTSU5HPC9hPiA9IDIzIDogMjMKKyAgICA8YSBuYW1lPSJYTUxfRVJSX1BFUkVGX05PX05BTUUiIGlkPSJYTUxfRVJSX1BFUkVGX05PX05BTUUiPlhNTF9FUlJfUEVSRUZfTk9fTkFNRTwvYT4gPSAyNCA6IDI0CisgICAgPGEgbmFtZT0iWE1MX0VSUl9QRVJFRl9TRU1JQ09MX01JU1NJTkciIGlkPSJYTUxfRVJSX1BFUkVGX1NFTUlDT0xfTUlTU0lORyI+WE1MX0VSUl9QRVJFRl9TRU1JQ09MX01JU1NJTkc8L2E+ID0gMjUgOiAyNQorICAgIDxhIG5hbWU9IlhNTF9FUlJfVU5ERUNMQVJFRF9FTlRJVFkiIGlkPSJYTUxfRVJSX1VOREVDTEFSRURfRU5USVRZIj5YTUxfRVJSX1VOREVDTEFSRURfRU5USVRZPC9hPiA9IDI2IDogMjYKKyAgICA8YSBuYW1lPSJYTUxfV0FSX1VOREVDTEFSRURfRU5USVRZIiBpZD0iWE1MX1dBUl9VTkRFQ0xBUkVEX0VOVElUWSI+WE1MX1dBUl9VTkRFQ0xBUkVEX0VOVElUWTwvYT4gPSAyNyA6IDI3CisgICAgPGEgbmFtZT0iWE1MX0VSUl9VTlBBUlNFRF9FTlRJVFkiIGlkPSJYTUxfRVJSX1VOUEFSU0VEX0VOVElUWSI+WE1MX0VSUl9VTlBBUlNFRF9FTlRJVFk8L2E+ID0gMjggOiAyOAorICAgIDxhIG5hbWU9IlhNTF9FUlJfRU5USVRZX0lTX0VYVEVSTkFMIiBpZD0iWE1MX0VSUl9FTlRJVFlfSVNfRVhURVJOQUwiPlhNTF9FUlJfRU5USVRZX0lTX0VYVEVSTkFMPC9hPiA9IDI5IDogMjkKKyAgICA8YSBuYW1lPSJYTUxfRVJSX0VOVElUWV9JU19QQVJBTUVURVIiIGlkPSJYTUxfRVJSX0VOVElUWV9JU19QQVJBTUVURVIiPlhNTF9FUlJfRU5USVRZX0lTX1BBUkFNRVRFUjwvYT4gPSAzMCA6IDMwCisgICAgPGEgbmFtZT0iWE1MX0VSUl9VTktOT1dOX0VOQ09ESU5HIiBpZD0iWE1MX0VSUl9VTktOT1dOX0VOQ09ESU5HIj5YTUxfRVJSX1VOS05PV05fRU5DT0RJTkc8L2E+ID0gMzEgOiAzMQorICAgIDxhIG5hbWU9IlhNTF9FUlJfVU5TVVBQT1JURURfRU5DT0RJTkciIGlkPSJYTUxfRVJSX1VOU1VQUE9SVEVEX0VOQ09ESU5HIj5YTUxfRVJSX1VOU1VQUE9SVEVEX0VOQ09ESU5HPC9hPiA9IDMyIDogMzIKKyAgICA8YSBuYW1lPSJYTUxfRVJSX1NUUklOR19OT1RfU1RBUlRFRCIgaWQ9IlhNTF9FUlJfU1RSSU5HX05PVF9TVEFSVEVEIj5YTUxfRVJSX1NUUklOR19OT1RfU1RBUlRFRDwvYT4gPSAzMyA6IDMzCisgICAgPGEgbmFtZT0iWE1MX0VSUl9TVFJJTkdfTk9UX0NMT1NFRCIgaWQ9IlhNTF9FUlJfU1RSSU5HX05PVF9DTE9TRUQiPlhNTF9FUlJfU1RSSU5HX05PVF9DTE9TRUQ8L2E+ID0gMzQgOiAzNAorICAgIDxhIG5hbWU9IlhNTF9FUlJfTlNfREVDTF9FUlJPUiIgaWQ9IlhNTF9FUlJfTlNfREVDTF9FUlJPUiI+WE1MX0VSUl9OU19ERUNMX0VSUk9SPC9hPiA9IDM1IDogMzUKKyAgICA8YSBuYW1lPSJYTUxfRVJSX0VOVElUWV9OT1RfU1RBUlRFRCIgaWQ9IlhNTF9FUlJfRU5USVRZX05PVF9TVEFSVEVEIj5YTUxfRVJSX0VOVElUWV9OT1RfU1RBUlRFRDwvYT4gPSAzNiA6IDM2CisgICAgPGEgbmFtZT0iWE1MX0VSUl9FTlRJVFlfTk9UX0ZJTklTSEVEIiBpZD0iWE1MX0VSUl9FTlRJVFlfTk9UX0ZJTklTSEVEIj5YTUxfRVJSX0VOVElUWV9OT1RfRklOSVNIRUQ8L2E+ID0gMzcgOiAzNworICAgIDxhIG5hbWU9IlhNTF9FUlJfTFRfSU5fQVRUUklCVVRFIiBpZD0iWE1MX0VSUl9MVF9JTl9BVFRSSUJVVEUiPlhNTF9FUlJfTFRfSU5fQVRUUklCVVRFPC9hPiA9IDM4IDogMzgKKyAgICA8YSBuYW1lPSJYTUxfRVJSX0FUVFJJQlVURV9OT1RfU1RBUlRFRCIgaWQ9IlhNTF9FUlJfQVRUUklCVVRFX05PVF9TVEFSVEVEIj5YTUxfRVJSX0FUVFJJQlVURV9OT1RfU1RBUlRFRDwvYT4gPSAzOSA6IDM5CisgICAgPGEgbmFtZT0iWE1MX0VSUl9BVFRSSUJVVEVfTk9UX0ZJTklTSEVEIiBpZD0iWE1MX0VSUl9BVFRSSUJVVEVfTk9UX0ZJTklTSEVEIj5YTUxfRVJSX0FUVFJJQlVURV9OT1RfRklOSVNIRUQ8L2E+ID0gNDAgOiA0MAorICAgIDxhIG5hbWU9IlhNTF9FUlJfQVRUUklCVVRFX1dJVEhPVVRfVkFMVUUiIGlkPSJYTUxfRVJSX0FUVFJJQlVURV9XSVRIT1VUX1ZBTFVFIj5YTUxfRVJSX0FUVFJJQlVURV9XSVRIT1VUX1ZBTFVFPC9hPiA9IDQxIDogNDEKKyAgICA8YSBuYW1lPSJYTUxfRVJSX0FUVFJJQlVURV9SRURFRklORUQiIGlkPSJYTUxfRVJSX0FUVFJJQlVURV9SRURFRklORUQiPlhNTF9FUlJfQVRUUklCVVRFX1JFREVGSU5FRDwvYT4gPSA0MiA6IDQyCisgICAgPGEgbmFtZT0iWE1MX0VSUl9MSVRFUkFMX05PVF9TVEFSVEVEIiBpZD0iWE1MX0VSUl9MSVRFUkFMX05PVF9TVEFSVEVEIj5YTUxfRVJSX0xJVEVSQUxfTk9UX1NUQVJURUQ8L2E+ID0gNDMgOiA0MworICAgIDxhIG5hbWU9IlhNTF9FUlJfTElURVJBTF9OT1RfRklOSVNIRUQiIGlkPSJYTUxfRVJSX0xJVEVSQUxfTk9UX0ZJTklTSEVEIj5YTUxfRVJSX0xJVEVSQUxfTk9UX0ZJTklTSEVEPC9hPiA9IDQ0IDogNDQKKyAgICA8YSBuYW1lPSJYTUxfRVJSX0NPTU1FTlRfTk9UX0ZJTklTSEVEIiBpZD0iWE1MX0VSUl9DT01NRU5UX05PVF9GSU5JU0hFRCI+WE1MX0VSUl9DT01NRU5UX05PVF9GSU5JU0hFRDwvYT4gPSA0NSA6IDQ1CisgICAgPGEgbmFtZT0iWE1MX0VSUl9QSV9OT1RfU1RBUlRFRCIgaWQ9IlhNTF9FUlJfUElfTk9UX1NUQVJURUQiPlhNTF9FUlJfUElfTk9UX1NUQVJURUQ8L2E+ID0gNDYgOiA0NgorICAgIDxhIG5hbWU9IlhNTF9FUlJfUElfTk9UX0ZJTklTSEVEIiBpZD0iWE1MX0VSUl9QSV9OT1RfRklOSVNIRUQiPlhNTF9FUlJfUElfTk9UX0ZJTklTSEVEPC9hPiA9IDQ3IDogNDcKKyAgICA8YSBuYW1lPSJYTUxfRVJSX05PVEFUSU9OX05PVF9TVEFSVEVEIiBpZD0iWE1MX0VSUl9OT1RBVElPTl9OT1RfU1RBUlRFRCI+WE1MX0VSUl9OT1RBVElPTl9OT1RfU1RBUlRFRDwvYT4gPSA0OCA6IDQ4CisgICAgPGEgbmFtZT0iWE1MX0VSUl9OT1RBVElPTl9OT1RfRklOSVNIRUQiIGlkPSJYTUxfRVJSX05PVEFUSU9OX05PVF9GSU5JU0hFRCI+WE1MX0VSUl9OT1RBVElPTl9OT1RfRklOSVNIRUQ8L2E+ID0gNDkgOiA0OQorICAgIDxhIG5hbWU9IlhNTF9FUlJfQVRUTElTVF9OT1RfU1RBUlRFRCIgaWQ9IlhNTF9FUlJfQVRUTElTVF9OT1RfU1RBUlRFRCI+WE1MX0VSUl9BVFRMSVNUX05PVF9TVEFSVEVEPC9hPiA9IDUwIDogNTAKKyAgICA8YSBuYW1lPSJYTUxfRVJSX0FUVExJU1RfTk9UX0ZJTklTSEVEIiBpZD0iWE1MX0VSUl9BVFRMSVNUX05PVF9GSU5JU0hFRCI+WE1MX0VSUl9BVFRMSVNUX05PVF9GSU5JU0hFRDwvYT4gPSA1MSA6IDUxCisgICAgPGEgbmFtZT0iWE1MX0VSUl9NSVhFRF9OT1RfU1RBUlRFRCIgaWQ9IlhNTF9FUlJfTUlYRURfTk9UX1NUQVJURUQiPlhNTF9FUlJfTUlYRURfTk9UX1NUQVJURUQ8L2E+ID0gNTIgOiA1MgorICAgIDxhIG5hbWU9IlhNTF9FUlJfTUlYRURfTk9UX0ZJTklTSEVEIiBpZD0iWE1MX0VSUl9NSVhFRF9OT1RfRklOSVNIRUQiPlhNTF9FUlJfTUlYRURfTk9UX0ZJTklTSEVEPC9hPiA9IDUzIDogNTMKKyAgICA8YSBuYW1lPSJYTUxfRVJSX0VMRU1DT05URU5UX05PVF9TVEFSVEVEIiBpZD0iWE1MX0VSUl9FTEVNQ09OVEVOVF9OT1RfU1RBUlRFRCI+WE1MX0VSUl9FTEVNQ09OVEVOVF9OT1RfU1RBUlRFRDwvYT4gPSA1NCA6IDU0CisgICAgPGEgbmFtZT0iWE1MX0VSUl9FTEVNQ09OVEVOVF9OT1RfRklOSVNIRUQiIGlkPSJYTUxfRVJSX0VMRU1DT05URU5UX05PVF9GSU5JU0hFRCI+WE1MX0VSUl9FTEVNQ09OVEVOVF9OT1RfRklOSVNIRUQ8L2E+ID0gNTUgOiA1NQorICAgIDxhIG5hbWU9IlhNTF9FUlJfWE1MREVDTF9OT1RfU1RBUlRFRCIgaWQ9IlhNTF9FUlJfWE1MREVDTF9OT1RfU1RBUlRFRCI+WE1MX0VSUl9YTUxERUNMX05PVF9TVEFSVEVEPC9hPiA9IDU2IDogNTYKKyAgICA8YSBuYW1lPSJYTUxfRVJSX1hNTERFQ0xfTk9UX0ZJTklTSEVEIiBpZD0iWE1MX0VSUl9YTUxERUNMX05PVF9GSU5JU0hFRCI+WE1MX0VSUl9YTUxERUNMX05PVF9GSU5JU0hFRDwvYT4gPSA1NyA6IDU3CisgICAgPGEgbmFtZT0iWE1MX0VSUl9DT05EU0VDX05PVF9TVEFSVEVEIiBpZD0iWE1MX0VSUl9DT05EU0VDX05PVF9TVEFSVEVEIj5YTUxfRVJSX0NPTkRTRUNfTk9UX1NUQVJURUQ8L2E+ID0gNTggOiA1OAorICAgIDxhIG5hbWU9IlhNTF9FUlJfQ09ORFNFQ19OT1RfRklOSVNIRUQiIGlkPSJYTUxfRVJSX0NPTkRTRUNfTk9UX0ZJTklTSEVEIj5YTUxfRVJSX0NPTkRTRUNfTk9UX0ZJTklTSEVEPC9hPiA9IDU5IDogNTkKKyAgICA8YSBuYW1lPSJYTUxfRVJSX0VYVF9TVUJTRVRfTk9UX0ZJTklTSEVEIiBpZD0iWE1MX0VSUl9FWFRfU1VCU0VUX05PVF9GSU5JU0hFRCI+WE1MX0VSUl9FWFRfU1VCU0VUX05PVF9GSU5JU0hFRDwvYT4gPSA2MCA6IDYwCisgICAgPGEgbmFtZT0iWE1MX0VSUl9ET0NUWVBFX05PVF9GSU5JU0hFRCIgaWQ9IlhNTF9FUlJfRE9DVFlQRV9OT1RfRklOSVNIRUQiPlhNTF9FUlJfRE9DVFlQRV9OT1RfRklOSVNIRUQ8L2E+ID0gNjEgOiA2MQorICAgIDxhIG5hbWU9IlhNTF9FUlJfTUlTUExBQ0VEX0NEQVRBX0VORCIgaWQ9IlhNTF9FUlJfTUlTUExBQ0VEX0NEQVRBX0VORCI+WE1MX0VSUl9NSVNQTEFDRURfQ0RBVEFfRU5EPC9hPiA9IDYyIDogNjIKKyAgICA8YSBuYW1lPSJYTUxfRVJSX0NEQVRBX05PVF9GSU5JU0hFRCIgaWQ9IlhNTF9FUlJfQ0RBVEFfTk9UX0ZJTklTSEVEIj5YTUxfRVJSX0NEQVRBX05PVF9GSU5JU0hFRDwvYT4gPSA2MyA6IDYzCisgICAgPGEgbmFtZT0iWE1MX0VSUl9SRVNFUlZFRF9YTUxfTkFNRSIgaWQ9IlhNTF9FUlJfUkVTRVJWRURfWE1MX05BTUUiPlhNTF9FUlJfUkVTRVJWRURfWE1MX05BTUU8L2E+ID0gNjQgOiA2NAorICAgIDxhIG5hbWU9IlhNTF9FUlJfU1BBQ0VfUkVRVUlSRUQiIGlkPSJYTUxfRVJSX1NQQUNFX1JFUVVJUkVEIj5YTUxfRVJSX1NQQUNFX1JFUVVJUkVEPC9hPiA9IDY1IDogNjUKKyAgICA8YSBuYW1lPSJYTUxfRVJSX1NFUEFSQVRPUl9SRVFVSVJFRCIgaWQ9IlhNTF9FUlJfU0VQQVJBVE9SX1JFUVVJUkVEIj5YTUxfRVJSX1NFUEFSQVRPUl9SRVFVSVJFRDwvYT4gPSA2NiA6IDY2CisgICAgPGEgbmFtZT0iWE1MX0VSUl9OTVRPS0VOX1JFUVVJUkVEIiBpZD0iWE1MX0VSUl9OTVRPS0VOX1JFUVVJUkVEIj5YTUxfRVJSX05NVE9LRU5fUkVRVUlSRUQ8L2E+ID0gNjcgOiA2NworICAgIDxhIG5hbWU9IlhNTF9FUlJfTkFNRV9SRVFVSVJFRCIgaWQ9IlhNTF9FUlJfTkFNRV9SRVFVSVJFRCI+WE1MX0VSUl9OQU1FX1JFUVVJUkVEPC9hPiA9IDY4IDogNjgKKyAgICA8YSBuYW1lPSJYTUxfRVJSX1BDREFUQV9SRVFVSVJFRCIgaWQ9IlhNTF9FUlJfUENEQVRBX1JFUVVJUkVEIj5YTUxfRVJSX1BDREFUQV9SRVFVSVJFRDwvYT4gPSA2OSA6IDY5CisgICAgPGEgbmFtZT0iWE1MX0VSUl9VUklfUkVRVUlSRUQiIGlkPSJYTUxfRVJSX1VSSV9SRVFVSVJFRCI+WE1MX0VSUl9VUklfUkVRVUlSRUQ8L2E+ID0gNzAgOiA3MAorICAgIDxhIG5hbWU9IlhNTF9FUlJfUFVCSURfUkVRVUlSRUQiIGlkPSJYTUxfRVJSX1BVQklEX1JFUVVJUkVEIj5YTUxfRVJSX1BVQklEX1JFUVVJUkVEPC9hPiA9IDcxIDogNzEKKyAgICA8YSBuYW1lPSJYTUxfRVJSX0xUX1JFUVVJUkVEIiBpZD0iWE1MX0VSUl9MVF9SRVFVSVJFRCI+WE1MX0VSUl9MVF9SRVFVSVJFRDwvYT4gPSA3MiA6IDcyCisgICAgPGEgbmFtZT0iWE1MX0VSUl9HVF9SRVFVSVJFRCIgaWQ9IlhNTF9FUlJfR1RfUkVRVUlSRUQiPlhNTF9FUlJfR1RfUkVRVUlSRUQ8L2E+ID0gNzMgOiA3MworICAgIDxhIG5hbWU9IlhNTF9FUlJfTFRTTEFTSF9SRVFVSVJFRCIgaWQ9IlhNTF9FUlJfTFRTTEFTSF9SRVFVSVJFRCI+WE1MX0VSUl9MVFNMQVNIX1JFUVVJUkVEPC9hPiA9IDc0IDogNzQKKyAgICA8YSBuYW1lPSJYTUxfRVJSX0VRVUFMX1JFUVVJUkVEIiBpZD0iWE1MX0VSUl9FUVVBTF9SRVFVSVJFRCI+WE1MX0VSUl9FUVVBTF9SRVFVSVJFRDwvYT4gPSA3NSA6IDc1CisgICAgPGEgbmFtZT0iWE1MX0VSUl9UQUdfTkFNRV9NSVNNQVRDSCIgaWQ9IlhNTF9FUlJfVEFHX05BTUVfTUlTTUFUQ0giPlhNTF9FUlJfVEFHX05BTUVfTUlTTUFUQ0g8L2E+ID0gNzYgOiA3NgorICAgIDxhIG5hbWU9IlhNTF9FUlJfVEFHX05PVF9GSU5JU0hFRCIgaWQ9IlhNTF9FUlJfVEFHX05PVF9GSU5JU0hFRCI+WE1MX0VSUl9UQUdfTk9UX0ZJTklTSEVEPC9hPiA9IDc3IDogNzcKKyAgICA8YSBuYW1lPSJYTUxfRVJSX1NUQU5EQUxPTkVfVkFMVUUiIGlkPSJYTUxfRVJSX1NUQU5EQUxPTkVfVkFMVUUiPlhNTF9FUlJfU1RBTkRBTE9ORV9WQUxVRTwvYT4gPSA3OCA6IDc4CisgICAgPGEgbmFtZT0iWE1MX0VSUl9FTkNPRElOR19OQU1FIiBpZD0iWE1MX0VSUl9FTkNPRElOR19OQU1FIj5YTUxfRVJSX0VOQ09ESU5HX05BTUU8L2E+ID0gNzkgOiA3OQorICAgIDxhIG5hbWU9IlhNTF9FUlJfSFlQSEVOX0lOX0NPTU1FTlQiIGlkPSJYTUxfRVJSX0hZUEhFTl9JTl9DT01NRU5UIj5YTUxfRVJSX0hZUEhFTl9JTl9DT01NRU5UPC9hPiA9IDgwIDogODAKKyAgICA8YSBuYW1lPSJYTUxfRVJSX0lOVkFMSURfRU5DT0RJTkciIGlkPSJYTUxfRVJSX0lOVkFMSURfRU5DT0RJTkciPlhNTF9FUlJfSU5WQUxJRF9FTkNPRElORzwvYT4gPSA4MSA6IDgxCisgICAgPGEgbmFtZT0iWE1MX0VSUl9FWFRfRU5USVRZX1NUQU5EQUxPTkUiIGlkPSJYTUxfRVJSX0VYVF9FTlRJVFlfU1RBTkRBTE9ORSI+WE1MX0VSUl9FWFRfRU5USVRZX1NUQU5EQUxPTkU8L2E+ID0gODIgOiA4MgorICAgIDxhIG5hbWU9IlhNTF9FUlJfQ09ORFNFQ19JTlZBTElEIiBpZD0iWE1MX0VSUl9DT05EU0VDX0lOVkFMSUQiPlhNTF9FUlJfQ09ORFNFQ19JTlZBTElEPC9hPiA9IDgzIDogODMKKyAgICA8YSBuYW1lPSJYTUxfRVJSX1ZBTFVFX1JFUVVJUkVEIiBpZD0iWE1MX0VSUl9WQUxVRV9SRVFVSVJFRCI+WE1MX0VSUl9WQUxVRV9SRVFVSVJFRDwvYT4gPSA4NCA6IDg0CisgICAgPGEgbmFtZT0iWE1MX0VSUl9OT1RfV0VMTF9CQUxBTkNFRCIgaWQ9IlhNTF9FUlJfTk9UX1dFTExfQkFMQU5DRUQiPlhNTF9FUlJfTk9UX1dFTExfQkFMQU5DRUQ8L2E+ID0gODUgOiA4NQorICAgIDxhIG5hbWU9IlhNTF9FUlJfRVhUUkFfQ09OVEVOVCIgaWQ9IlhNTF9FUlJfRVhUUkFfQ09OVEVOVCI+WE1MX0VSUl9FWFRSQV9DT05URU5UPC9hPiA9IDg2IDogODYKKyAgICA8YSBuYW1lPSJYTUxfRVJSX0VOVElUWV9DSEFSX0VSUk9SIiBpZD0iWE1MX0VSUl9FTlRJVFlfQ0hBUl9FUlJPUiI+WE1MX0VSUl9FTlRJVFlfQ0hBUl9FUlJPUjwvYT4gPSA4NyA6IDg3CisgICAgPGEgbmFtZT0iWE1MX0VSUl9FTlRJVFlfUEVfSU5URVJOQUwiIGlkPSJYTUxfRVJSX0VOVElUWV9QRV9JTlRFUk5BTCI+WE1MX0VSUl9FTlRJVFlfUEVfSU5URVJOQUw8L2E+ID0gODggOiA4OAorICAgIDxhIG5hbWU9IlhNTF9FUlJfRU5USVRZX0xPT1AiIGlkPSJYTUxfRVJSX0VOVElUWV9MT09QIj5YTUxfRVJSX0VOVElUWV9MT09QPC9hPiA9IDg5IDogODkKKyAgICA8YSBuYW1lPSJYTUxfRVJSX0VOVElUWV9CT1VOREFSWSIgaWQ9IlhNTF9FUlJfRU5USVRZX0JPVU5EQVJZIj5YTUxfRVJSX0VOVElUWV9CT1VOREFSWTwvYT4gPSA5MCA6IDkwCisgICAgPGEgbmFtZT0iWE1MX0VSUl9JTlZBTElEX1VSSSIgaWQ9IlhNTF9FUlJfSU5WQUxJRF9VUkkiPlhNTF9FUlJfSU5WQUxJRF9VUkk8L2E+ID0gOTEgOiA5MQorICAgIDxhIG5hbWU9IlhNTF9FUlJfVVJJX0ZSQUdNRU5UIiBpZD0iWE1MX0VSUl9VUklfRlJBR01FTlQiPlhNTF9FUlJfVVJJX0ZSQUdNRU5UPC9hPiA9IDkyIDogOTIKKyAgICA8YSBuYW1lPSJYTUxfV0FSX0NBVEFMT0dfUEkiIGlkPSJYTUxfV0FSX0NBVEFMT0dfUEkiPlhNTF9XQVJfQ0FUQUxPR19QSTwvYT4gPSA5MyA6IDkzCisgICAgPGEgbmFtZT0iWE1MX0VSUl9OT19EVEQiIGlkPSJYTUxfRVJSX05PX0RURCI+WE1MX0VSUl9OT19EVEQ8L2E+ID0gOTQgOiA5NAorICAgIDxhIG5hbWU9IlhNTF9FUlJfQ09ORFNFQ19JTlZBTElEX0tFWVdPUkQiIGlkPSJYTUxfRVJSX0NPTkRTRUNfSU5WQUxJRF9LRVlXT1JEIj5YTUxfRVJSX0NPTkRTRUNfSU5WQUxJRF9LRVlXT1JEPC9hPiA9IDk1IDogOTUKKyAgICA8YSBuYW1lPSJYTUxfRVJSX1ZFUlNJT05fTUlTU0lORyIgaWQ9IlhNTF9FUlJfVkVSU0lPTl9NSVNTSU5HIj5YTUxfRVJSX1ZFUlNJT05fTUlTU0lORzwvYT4gPSA5NiA6IDk2CisgICAgPGEgbmFtZT0iWE1MX1dBUl9VTktOT1dOX1ZFUlNJT04iIGlkPSJYTUxfV0FSX1VOS05PV05fVkVSU0lPTiI+WE1MX1dBUl9VTktOT1dOX1ZFUlNJT048L2E+ID0gOTcgOiA5NworICAgIDxhIG5hbWU9IlhNTF9XQVJfTEFOR19WQUxVRSIgaWQ9IlhNTF9XQVJfTEFOR19WQUxVRSI+WE1MX1dBUl9MQU5HX1ZBTFVFPC9hPiA9IDk4IDogOTgKKyAgICA8YSBuYW1lPSJYTUxfV0FSX05TX1VSSSIgaWQ9IlhNTF9XQVJfTlNfVVJJIj5YTUxfV0FSX05TX1VSSTwvYT4gPSA5OSA6IDk5CisgICAgPGEgbmFtZT0iWE1MX1dBUl9OU19VUklfUkVMQVRJVkUiIGlkPSJYTUxfV0FSX05TX1VSSV9SRUxBVElWRSI+WE1MX1dBUl9OU19VUklfUkVMQVRJVkU8L2E+ID0gMTAwIDogMTAwCisgICAgPGEgbmFtZT0iWE1MX0VSUl9NSVNTSU5HX0VOQ09ESU5HIiBpZD0iWE1MX0VSUl9NSVNTSU5HX0VOQ09ESU5HIj5YTUxfRVJSX01JU1NJTkdfRU5DT0RJTkc8L2E+ID0gMTAxIDogMTAxCisgICAgPGEgbmFtZT0iWE1MX1dBUl9TUEFDRV9WQUxVRSIgaWQ9IlhNTF9XQVJfU1BBQ0VfVkFMVUUiPlhNTF9XQVJfU1BBQ0VfVkFMVUU8L2E+ID0gMTAyIDogMTAyCisgICAgPGEgbmFtZT0iWE1MX0VSUl9OT1RfU1RBTkRBTE9ORSIgaWQ9IlhNTF9FUlJfTk9UX1NUQU5EQUxPTkUiPlhNTF9FUlJfTk9UX1NUQU5EQUxPTkU8L2E+ID0gMTAzIDogMTAzCisgICAgPGEgbmFtZT0iWE1MX0VSUl9FTlRJVFlfUFJPQ0VTU0lORyIgaWQ9IlhNTF9FUlJfRU5USVRZX1BST0NFU1NJTkciPlhNTF9FUlJfRU5USVRZX1BST0NFU1NJTkc8L2E+ID0gMTA0IDogMTA0CisgICAgPGEgbmFtZT0iWE1MX0VSUl9OT1RBVElPTl9QUk9DRVNTSU5HIiBpZD0iWE1MX0VSUl9OT1RBVElPTl9QUk9DRVNTSU5HIj5YTUxfRVJSX05PVEFUSU9OX1BST0NFU1NJTkc8L2E+ID0gMTA1IDogMTA1CisgICAgPGEgbmFtZT0iWE1MX1dBUl9OU19DT0xVTU4iIGlkPSJYTUxfV0FSX05TX0NPTFVNTiI+WE1MX1dBUl9OU19DT0xVTU48L2E+ID0gMTA2IDogMTA2CisgICAgPGEgbmFtZT0iWE1MX1dBUl9FTlRJVFlfUkVERUZJTkVEIiBpZD0iWE1MX1dBUl9FTlRJVFlfUkVERUZJTkVEIj5YTUxfV0FSX0VOVElUWV9SRURFRklORUQ8L2E+ID0gMTA3IDogMTA3CisgICAgPGEgbmFtZT0iWE1MX0VSUl9VTktOT1dOX1ZFUlNJT04iIGlkPSJYTUxfRVJSX1VOS05PV05fVkVSU0lPTiI+WE1MX0VSUl9VTktOT1dOX1ZFUlNJT048L2E+ID0gMTA4IDogMTA4CisgICAgPGEgbmFtZT0iWE1MX0VSUl9WRVJTSU9OX01JU01BVENIIiBpZD0iWE1MX0VSUl9WRVJTSU9OX01JU01BVENIIj5YTUxfRVJSX1ZFUlNJT05fTUlTTUFUQ0g8L2E+ID0gMTA5IDogMTA5CisgICAgPGEgbmFtZT0iWE1MX0VSUl9OQU1FX1RPT19MT05HIiBpZD0iWE1MX0VSUl9OQU1FX1RPT19MT05HIj5YTUxfRVJSX05BTUVfVE9PX0xPTkc8L2E+ID0gMTEwIDogMTEwCisgICAgPGEgbmFtZT0iWE1MX0VSUl9VU0VSX1NUT1AiIGlkPSJYTUxfRVJSX1VTRVJfU1RPUCI+WE1MX0VSUl9VU0VSX1NUT1A8L2E+ID0gMTExIDogMTExCisgICAgPGEgbmFtZT0iWE1MX05TX0VSUl9YTUxfTkFNRVNQQUNFIiBpZD0iWE1MX05TX0VSUl9YTUxfTkFNRVNQQUNFIj5YTUxfTlNfRVJSX1hNTF9OQU1FU1BBQ0U8L2E+ID0gMjAwCisgICAgPGEgbmFtZT0iWE1MX05TX0VSUl9VTkRFRklORURfTkFNRVNQQUNFIiBpZD0iWE1MX05TX0VSUl9VTkRFRklORURfTkFNRVNQQUNFIj5YTUxfTlNfRVJSX1VOREVGSU5FRF9OQU1FU1BBQ0U8L2E+ID0gMjAxIDogMjAxCisgICAgPGEgbmFtZT0iWE1MX05TX0VSUl9RTkFNRSIgaWQ9IlhNTF9OU19FUlJfUU5BTUUiPlhNTF9OU19FUlJfUU5BTUU8L2E+ID0gMjAyIDogMjAyCisgICAgPGEgbmFtZT0iWE1MX05TX0VSUl9BVFRSSUJVVEVfUkVERUZJTkVEIiBpZD0iWE1MX05TX0VSUl9BVFRSSUJVVEVfUkVERUZJTkVEIj5YTUxfTlNfRVJSX0FUVFJJQlVURV9SRURFRklORUQ8L2E+ID0gMjAzIDogMjAzCisgICAgPGEgbmFtZT0iWE1MX05TX0VSUl9FTVBUWSIgaWQ9IlhNTF9OU19FUlJfRU1QVFkiPlhNTF9OU19FUlJfRU1QVFk8L2E+ID0gMjA0IDogMjA0CisgICAgPGEgbmFtZT0iWE1MX05TX0VSUl9DT0xPTiIgaWQ9IlhNTF9OU19FUlJfQ09MT04iPlhNTF9OU19FUlJfQ09MT048L2E+ID0gMjA1IDogMjA1CisgICAgPGEgbmFtZT0iWE1MX0RURF9BVFRSSUJVVEVfREVGQVVMVCIgaWQ9IlhNTF9EVERfQVRUUklCVVRFX0RFRkFVTFQiPlhNTF9EVERfQVRUUklCVVRFX0RFRkFVTFQ8L2E+ID0gNTAwCisgICAgPGEgbmFtZT0iWE1MX0RURF9BVFRSSUJVVEVfUkVERUZJTkVEIiBpZD0iWE1MX0RURF9BVFRSSUJVVEVfUkVERUZJTkVEIj5YTUxfRFREX0FUVFJJQlVURV9SRURFRklORUQ8L2E+ID0gNTAxIDogNTAxCisgICAgPGEgbmFtZT0iWE1MX0RURF9BVFRSSUJVVEVfVkFMVUUiIGlkPSJYTUxfRFREX0FUVFJJQlVURV9WQUxVRSI+WE1MX0RURF9BVFRSSUJVVEVfVkFMVUU8L2E+ID0gNTAyIDogNTAyCisgICAgPGEgbmFtZT0iWE1MX0RURF9DT05URU5UX0VSUk9SIiBpZD0iWE1MX0RURF9DT05URU5UX0VSUk9SIj5YTUxfRFREX0NPTlRFTlRfRVJST1I8L2E+ID0gNTAzIDogNTAzCisgICAgPGEgbmFtZT0iWE1MX0RURF9DT05URU5UX01PREVMIiBpZD0iWE1MX0RURF9DT05URU5UX01PREVMIj5YTUxfRFREX0NPTlRFTlRfTU9ERUw8L2E+ID0gNTA0IDogNTA0CisgICAgPGEgbmFtZT0iWE1MX0RURF9DT05URU5UX05PVF9ERVRFUk1JTklTVCIgaWQ9IlhNTF9EVERfQ09OVEVOVF9OT1RfREVURVJNSU5JU1QiPlhNTF9EVERfQ09OVEVOVF9OT1RfREVURVJNSU5JU1Q8L2E+ID0gNTA1IDogNTA1CisgICAgPGEgbmFtZT0iWE1MX0RURF9ESUZGRVJFTlRfUFJFRklYIiBpZD0iWE1MX0RURF9ESUZGRVJFTlRfUFJFRklYIj5YTUxfRFREX0RJRkZFUkVOVF9QUkVGSVg8L2E+ID0gNTA2IDogNTA2CisgICAgPGEgbmFtZT0iWE1MX0RURF9FTEVNX0RFRkFVTFRfTkFNRVNQQUNFIiBpZD0iWE1MX0RURF9FTEVNX0RFRkFVTFRfTkFNRVNQQUNFIj5YTUxfRFREX0VMRU1fREVGQVVMVF9OQU1FU1BBQ0U8L2E+ID0gNTA3IDogNTA3CisgICAgPGEgbmFtZT0iWE1MX0RURF9FTEVNX05BTUVTUEFDRSIgaWQ9IlhNTF9EVERfRUxFTV9OQU1FU1BBQ0UiPlhNTF9EVERfRUxFTV9OQU1FU1BBQ0U8L2E+ID0gNTA4IDogNTA4CisgICAgPGEgbmFtZT0iWE1MX0RURF9FTEVNX1JFREVGSU5FRCIgaWQ9IlhNTF9EVERfRUxFTV9SRURFRklORUQiPlhNTF9EVERfRUxFTV9SRURFRklORUQ8L2E+ID0gNTA5IDogNTA5CisgICAgPGEgbmFtZT0iWE1MX0RURF9FTVBUWV9OT1RBVElPTiIgaWQ9IlhNTF9EVERfRU1QVFlfTk9UQVRJT04iPlhNTF9EVERfRU1QVFlfTk9UQVRJT048L2E+ID0gNTEwIDogNTEwCisgICAgPGEgbmFtZT0iWE1MX0RURF9FTlRJVFlfVFlQRSIgaWQ9IlhNTF9EVERfRU5USVRZX1RZUEUiPlhNTF9EVERfRU5USVRZX1RZUEU8L2E+ID0gNTExIDogNTExCisgICAgPGEgbmFtZT0iWE1MX0RURF9JRF9GSVhFRCIgaWQ9IlhNTF9EVERfSURfRklYRUQiPlhNTF9EVERfSURfRklYRUQ8L2E+ID0gNTEyIDogNTEyCisgICAgPGEgbmFtZT0iWE1MX0RURF9JRF9SRURFRklORUQiIGlkPSJYTUxfRFREX0lEX1JFREVGSU5FRCI+WE1MX0RURF9JRF9SRURFRklORUQ8L2E+ID0gNTEzIDogNTEzCisgICAgPGEgbmFtZT0iWE1MX0RURF9JRF9TVUJTRVQiIGlkPSJYTUxfRFREX0lEX1NVQlNFVCI+WE1MX0RURF9JRF9TVUJTRVQ8L2E+ID0gNTE0IDogNTE0CisgICAgPGEgbmFtZT0iWE1MX0RURF9JTlZBTElEX0NISUxEIiBpZD0iWE1MX0RURF9JTlZBTElEX0NISUxEIj5YTUxfRFREX0lOVkFMSURfQ0hJTEQ8L2E+ID0gNTE1IDogNTE1CisgICAgPGEgbmFtZT0iWE1MX0RURF9JTlZBTElEX0RFRkFVTFQiIGlkPSJYTUxfRFREX0lOVkFMSURfREVGQVVMVCI+WE1MX0RURF9JTlZBTElEX0RFRkFVTFQ8L2E+ID0gNTE2IDogNTE2CisgICAgPGEgbmFtZT0iWE1MX0RURF9MT0FEX0VSUk9SIiBpZD0iWE1MX0RURF9MT0FEX0VSUk9SIj5YTUxfRFREX0xPQURfRVJST1I8L2E+ID0gNTE3IDogNTE3CisgICAgPGEgbmFtZT0iWE1MX0RURF9NSVNTSU5HX0FUVFJJQlVURSIgaWQ9IlhNTF9EVERfTUlTU0lOR19BVFRSSUJVVEUiPlhNTF9EVERfTUlTU0lOR19BVFRSSUJVVEU8L2E+ID0gNTE4IDogNTE4CisgICAgPGEgbmFtZT0iWE1MX0RURF9NSVhFRF9DT1JSVVBUIiBpZD0iWE1MX0RURF9NSVhFRF9DT1JSVVBUIj5YTUxfRFREX01JWEVEX0NPUlJVUFQ8L2E+ID0gNTE5IDogNTE5CisgICAgPGEgbmFtZT0iWE1MX0RURF9NVUxUSVBMRV9JRCIgaWQ9IlhNTF9EVERfTVVMVElQTEVfSUQiPlhNTF9EVERfTVVMVElQTEVfSUQ8L2E+ID0gNTIwIDogNTIwCisgICAgPGEgbmFtZT0iWE1MX0RURF9OT19ET0MiIGlkPSJYTUxfRFREX05PX0RPQyI+WE1MX0RURF9OT19ET0M8L2E+ID0gNTIxIDogNTIxCisgICAgPGEgbmFtZT0iWE1MX0RURF9OT19EVEQiIGlkPSJYTUxfRFREX05PX0RURCI+WE1MX0RURF9OT19EVEQ8L2E+ID0gNTIyIDogNTIyCisgICAgPGEgbmFtZT0iWE1MX0RURF9OT19FTEVNX05BTUUiIGlkPSJYTUxfRFREX05PX0VMRU1fTkFNRSI+WE1MX0RURF9OT19FTEVNX05BTUU8L2E+ID0gNTIzIDogNTIzCisgICAgPGEgbmFtZT0iWE1MX0RURF9OT19QUkVGSVgiIGlkPSJYTUxfRFREX05PX1BSRUZJWCI+WE1MX0RURF9OT19QUkVGSVg8L2E+ID0gNTI0IDogNTI0CisgICAgPGEgbmFtZT0iWE1MX0RURF9OT19ST09UIiBpZD0iWE1MX0RURF9OT19ST09UIj5YTUxfRFREX05PX1JPT1Q8L2E+ID0gNTI1IDogNTI1CisgICAgPGEgbmFtZT0iWE1MX0RURF9OT1RBVElPTl9SRURFRklORUQiIGlkPSJYTUxfRFREX05PVEFUSU9OX1JFREVGSU5FRCI+WE1MX0RURF9OT1RBVElPTl9SRURFRklORUQ8L2E+ID0gNTI2IDogNTI2CisgICAgPGEgbmFtZT0iWE1MX0RURF9OT1RBVElPTl9WQUxVRSIgaWQ9IlhNTF9EVERfTk9UQVRJT05fVkFMVUUiPlhNTF9EVERfTk9UQVRJT05fVkFMVUU8L2E+ID0gNTI3IDogNTI3CisgICAgPGEgbmFtZT0iWE1MX0RURF9OT1RfRU1QVFkiIGlkPSJYTUxfRFREX05PVF9FTVBUWSI+WE1MX0RURF9OT1RfRU1QVFk8L2E+ID0gNTI4IDogNTI4CisgICAgPGEgbmFtZT0iWE1MX0RURF9OT1RfUENEQVRBIiBpZD0iWE1MX0RURF9OT1RfUENEQVRBIj5YTUxfRFREX05PVF9QQ0RBVEE8L2E+ID0gNTI5IDogNTI5CisgICAgPGEgbmFtZT0iWE1MX0RURF9OT1RfU1RBTkRBTE9ORSIgaWQ9IlhNTF9EVERfTk9UX1NUQU5EQUxPTkUiPlhNTF9EVERfTk9UX1NUQU5EQUxPTkU8L2E+ID0gNTMwIDogNTMwCisgICAgPGEgbmFtZT0iWE1MX0RURF9ST09UX05BTUUiIGlkPSJYTUxfRFREX1JPT1RfTkFNRSI+WE1MX0RURF9ST09UX05BTUU8L2E+ID0gNTMxIDogNTMxCisgICAgPGEgbmFtZT0iWE1MX0RURF9TVEFOREFMT05FX1dISVRFX1NQQUNFIiBpZD0iWE1MX0RURF9TVEFOREFMT05FX1dISVRFX1NQQUNFIj5YTUxfRFREX1NUQU5EQUxPTkVfV0hJVEVfU1BBQ0U8L2E+ID0gNTMyIDogNTMyCisgICAgPGEgbmFtZT0iWE1MX0RURF9VTktOT1dOX0FUVFJJQlVURSIgaWQ9IlhNTF9EVERfVU5LTk9XTl9BVFRSSUJVVEUiPlhNTF9EVERfVU5LTk9XTl9BVFRSSUJVVEU8L2E+ID0gNTMzIDogNTMzCisgICAgPGEgbmFtZT0iWE1MX0RURF9VTktOT1dOX0VMRU0iIGlkPSJYTUxfRFREX1VOS05PV05fRUxFTSI+WE1MX0RURF9VTktOT1dOX0VMRU08L2E+ID0gNTM0IDogNTM0CisgICAgPGEgbmFtZT0iWE1MX0RURF9VTktOT1dOX0VOVElUWSIgaWQ9IlhNTF9EVERfVU5LTk9XTl9FTlRJVFkiPlhNTF9EVERfVU5LTk9XTl9FTlRJVFk8L2E+ID0gNTM1IDogNTM1CisgICAgPGEgbmFtZT0iWE1MX0RURF9VTktOT1dOX0lEIiBpZD0iWE1MX0RURF9VTktOT1dOX0lEIj5YTUxfRFREX1VOS05PV05fSUQ8L2E+ID0gNTM2IDogNTM2CisgICAgPGEgbmFtZT0iWE1MX0RURF9VTktOT1dOX05PVEFUSU9OIiBpZD0iWE1MX0RURF9VTktOT1dOX05PVEFUSU9OIj5YTUxfRFREX1VOS05PV05fTk9UQVRJT048L2E+ID0gNTM3IDogNTM3CisgICAgPGEgbmFtZT0iWE1MX0RURF9TVEFOREFMT05FX0RFRkFVTFRFRCIgaWQ9IlhNTF9EVERfU1RBTkRBTE9ORV9ERUZBVUxURUQiPlhNTF9EVERfU1RBTkRBTE9ORV9ERUZBVUxURUQ8L2E+ID0gNTM4IDogNTM4CisgICAgPGEgbmFtZT0iWE1MX0RURF9YTUxJRF9WQUxVRSIgaWQ9IlhNTF9EVERfWE1MSURfVkFMVUUiPlhNTF9EVERfWE1MSURfVkFMVUU8L2E+ID0gNTM5IDogNTM5CisgICAgPGEgbmFtZT0iWE1MX0RURF9YTUxJRF9UWVBFIiBpZD0iWE1MX0RURF9YTUxJRF9UWVBFIj5YTUxfRFREX1hNTElEX1RZUEU8L2E+ID0gNTQwIDogNTQwCisgICAgPGEgbmFtZT0iWE1MX0RURF9EVVBfVE9LRU4iIGlkPSJYTUxfRFREX0RVUF9UT0tFTiI+WE1MX0RURF9EVVBfVE9LRU48L2E+ID0gNTQxIDogNTQxCisgICAgPGEgbmFtZT0iWE1MX0hUTUxfU1RSVUNVUkVfRVJST1IiIGlkPSJYTUxfSFRNTF9TVFJVQ1VSRV9FUlJPUiI+WE1MX0hUTUxfU1RSVUNVUkVfRVJST1I8L2E+ID0gODAwCisgICAgPGEgbmFtZT0iWE1MX0hUTUxfVU5LTk9XTl9UQUciIGlkPSJYTUxfSFRNTF9VTktOT1dOX1RBRyI+WE1MX0hUTUxfVU5LTk9XTl9UQUc8L2E+ID0gODAxIDogODAxCisgICAgPGEgbmFtZT0iWE1MX1JOR1BfQU5ZTkFNRV9BVFRSX0FOQ0VTVE9SIiBpZD0iWE1MX1JOR1BfQU5ZTkFNRV9BVFRSX0FOQ0VTVE9SIj5YTUxfUk5HUF9BTllOQU1FX0FUVFJfQU5DRVNUT1I8L2E+ID0gMTAwMAorICAgIDxhIG5hbWU9IlhNTF9STkdQX0FUVFJfQ09ORkxJQ1QiIGlkPSJYTUxfUk5HUF9BVFRSX0NPTkZMSUNUIj5YTUxfUk5HUF9BVFRSX0NPTkZMSUNUPC9hPiA9IDEwMDEgOiAxMDAxCisgICAgPGEgbmFtZT0iWE1MX1JOR1BfQVRUUklCVVRFX0NISUxEUkVOIiBpZD0iWE1MX1JOR1BfQVRUUklCVVRFX0NISUxEUkVOIj5YTUxfUk5HUF9BVFRSSUJVVEVfQ0hJTERSRU48L2E+ID0gMTAwMiA6IDEwMDIKKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9BVFRSSUJVVEVfQ09OVEVOVCIgaWQ9IlhNTF9STkdQX0FUVFJJQlVURV9DT05URU5UIj5YTUxfUk5HUF9BVFRSSUJVVEVfQ09OVEVOVDwvYT4gPSAxMDAzIDogMTAwMworICAgIDxhIG5hbWU9IlhNTF9STkdQX0FUVFJJQlVURV9FTVBUWSIgaWQ9IlhNTF9STkdQX0FUVFJJQlVURV9FTVBUWSI+WE1MX1JOR1BfQVRUUklCVVRFX0VNUFRZPC9hPiA9IDEwMDQgOiAxMDA0CisgICAgPGEgbmFtZT0iWE1MX1JOR1BfQVRUUklCVVRFX05PT1AiIGlkPSJYTUxfUk5HUF9BVFRSSUJVVEVfTk9PUCI+WE1MX1JOR1BfQVRUUklCVVRFX05PT1A8L2E+ID0gMTAwNSA6IDEwMDUKKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9DSE9JQ0VfQ09OVEVOVCIgaWQ9IlhNTF9STkdQX0NIT0lDRV9DT05URU5UIj5YTUxfUk5HUF9DSE9JQ0VfQ09OVEVOVDwvYT4gPSAxMDA2IDogMTAwNgorICAgIDxhIG5hbWU9IlhNTF9STkdQX0NIT0lDRV9FTVBUWSIgaWQ9IlhNTF9STkdQX0NIT0lDRV9FTVBUWSI+WE1MX1JOR1BfQ0hPSUNFX0VNUFRZPC9hPiA9IDEwMDcgOiAxMDA3CisgICAgPGEgbmFtZT0iWE1MX1JOR1BfQ1JFQVRFX0ZBSUxVUkUiIGlkPSJYTUxfUk5HUF9DUkVBVEVfRkFJTFVSRSI+WE1MX1JOR1BfQ1JFQVRFX0ZBSUxVUkU8L2E+ID0gMTAwOCA6IDEwMDgKKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9EQVRBX0NPTlRFTlQiIGlkPSJYTUxfUk5HUF9EQVRBX0NPTlRFTlQiPlhNTF9STkdQX0RBVEFfQ09OVEVOVDwvYT4gPSAxMDA5IDogMTAwOQorICAgIDxhIG5hbWU9IlhNTF9STkdQX0RFRl9DSE9JQ0VfQU5EX0lOVEVSTEVBVkUiIGlkPSJYTUxfUk5HUF9ERUZfQ0hPSUNFX0FORF9JTlRFUkxFQVZFIj5YTUxfUk5HUF9ERUZfQ0hPSUNFX0FORF9JTlRFUkxFQVZFPC9hPiA9IDEwMTAgOiAxMDEwCisgICAgPGEgbmFtZT0iWE1MX1JOR1BfREVGSU5FX0NSRUFURV9GQUlMRUQiIGlkPSJYTUxfUk5HUF9ERUZJTkVfQ1JFQVRFX0ZBSUxFRCI+WE1MX1JOR1BfREVGSU5FX0NSRUFURV9GQUlMRUQ8L2E+ID0gMTAxMSA6IDEwMTEKKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9ERUZJTkVfRU1QVFkiIGlkPSJYTUxfUk5HUF9ERUZJTkVfRU1QVFkiPlhNTF9STkdQX0RFRklORV9FTVBUWTwvYT4gPSAxMDEyIDogMTAxMgorICAgIDxhIG5hbWU9IlhNTF9STkdQX0RFRklORV9NSVNTSU5HIiBpZD0iWE1MX1JOR1BfREVGSU5FX01JU1NJTkciPlhNTF9STkdQX0RFRklORV9NSVNTSU5HPC9hPiA9IDEwMTMgOiAxMDEzCisgICAgPGEgbmFtZT0iWE1MX1JOR1BfREVGSU5FX05BTUVfTUlTU0lORyIgaWQ9IlhNTF9STkdQX0RFRklORV9OQU1FX01JU1NJTkciPlhNTF9STkdQX0RFRklORV9OQU1FX01JU1NJTkc8L2E+ID0gMTAxNCA6IDEwMTQKKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9FTEVNX0NPTlRFTlRfRU1QVFkiIGlkPSJYTUxfUk5HUF9FTEVNX0NPTlRFTlRfRU1QVFkiPlhNTF9STkdQX0VMRU1fQ09OVEVOVF9FTVBUWTwvYT4gPSAxMDE1IDogMTAxNQorICAgIDxhIG5hbWU9IlhNTF9STkdQX0VMRU1fQ09OVEVOVF9FUlJPUiIgaWQ9IlhNTF9STkdQX0VMRU1fQ09OVEVOVF9FUlJPUiI+WE1MX1JOR1BfRUxFTV9DT05URU5UX0VSUk9SPC9hPiA9IDEwMTYgOiAxMDE2CisgICAgPGEgbmFtZT0iWE1MX1JOR1BfRUxFTUVOVF9FTVBUWSIgaWQ9IlhNTF9STkdQX0VMRU1FTlRfRU1QVFkiPlhNTF9STkdQX0VMRU1FTlRfRU1QVFk8L2E+ID0gMTAxNyA6IDEwMTcKKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9FTEVNRU5UX0NPTlRFTlQiIGlkPSJYTUxfUk5HUF9FTEVNRU5UX0NPTlRFTlQiPlhNTF9STkdQX0VMRU1FTlRfQ09OVEVOVDwvYT4gPSAxMDE4IDogMTAxOAorICAgIDxhIG5hbWU9IlhNTF9STkdQX0VMRU1FTlRfTkFNRSIgaWQ9IlhNTF9STkdQX0VMRU1FTlRfTkFNRSI+WE1MX1JOR1BfRUxFTUVOVF9OQU1FPC9hPiA9IDEwMTkgOiAxMDE5CisgICAgPGEgbmFtZT0iWE1MX1JOR1BfRUxFTUVOVF9OT19DT05URU5UIiBpZD0iWE1MX1JOR1BfRUxFTUVOVF9OT19DT05URU5UIj5YTUxfUk5HUF9FTEVNRU5UX05PX0NPTlRFTlQ8L2E+ID0gMTAyMCA6IDEwMjAKKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9FTEVNX1RFWFRfQ09ORkxJQ1QiIGlkPSJYTUxfUk5HUF9FTEVNX1RFWFRfQ09ORkxJQ1QiPlhNTF9STkdQX0VMRU1fVEVYVF9DT05GTElDVDwvYT4gPSAxMDIxIDogMTAyMQorICAgIDxhIG5hbWU9IlhNTF9STkdQX0VNUFRZIiBpZD0iWE1MX1JOR1BfRU1QVFkiPlhNTF9STkdQX0VNUFRZPC9hPiA9IDEwMjIgOiAxMDIyCisgICAgPGEgbmFtZT0iWE1MX1JOR1BfRU1QVFlfQ09OU1RSVUNUIiBpZD0iWE1MX1JOR1BfRU1QVFlfQ09OU1RSVUNUIj5YTUxfUk5HUF9FTVBUWV9DT05TVFJVQ1Q8L2E+ID0gMTAyMyA6IDEwMjMKKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9FTVBUWV9DT05URU5UIiBpZD0iWE1MX1JOR1BfRU1QVFlfQ09OVEVOVCI+WE1MX1JOR1BfRU1QVFlfQ09OVEVOVDwvYT4gPSAxMDI0IDogMTAyNAorICAgIDxhIG5hbWU9IlhNTF9STkdQX0VNUFRZX05PVF9FTVBUWSIgaWQ9IlhNTF9STkdQX0VNUFRZX05PVF9FTVBUWSI+WE1MX1JOR1BfRU1QVFlfTk9UX0VNUFRZPC9hPiA9IDEwMjUgOiAxMDI1CisgICAgPGEgbmFtZT0iWE1MX1JOR1BfRVJST1JfVFlQRV9MSUIiIGlkPSJYTUxfUk5HUF9FUlJPUl9UWVBFX0xJQiI+WE1MX1JOR1BfRVJST1JfVFlQRV9MSUI8L2E+ID0gMTAyNiA6IDEwMjYKKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9FWENFUFRfRU1QVFkiIGlkPSJYTUxfUk5HUF9FWENFUFRfRU1QVFkiPlhNTF9STkdQX0VYQ0VQVF9FTVBUWTwvYT4gPSAxMDI3IDogMTAyNworICAgIDxhIG5hbWU9IlhNTF9STkdQX0VYQ0VQVF9NSVNTSU5HIiBpZD0iWE1MX1JOR1BfRVhDRVBUX01JU1NJTkciPlhNTF9STkdQX0VYQ0VQVF9NSVNTSU5HPC9hPiA9IDEwMjggOiAxMDI4CisgICAgPGEgbmFtZT0iWE1MX1JOR1BfRVhDRVBUX01VTFRJUExFIiBpZD0iWE1MX1JOR1BfRVhDRVBUX01VTFRJUExFIj5YTUxfUk5HUF9FWENFUFRfTVVMVElQTEU8L2E+ID0gMTAyOSA6IDEwMjkKKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9FWENFUFRfTk9fQ09OVEVOVCIgaWQ9IlhNTF9STkdQX0VYQ0VQVF9OT19DT05URU5UIj5YTUxfUk5HUF9FWENFUFRfTk9fQ09OVEVOVDwvYT4gPSAxMDMwIDogMTAzMAorICAgIDxhIG5hbWU9IlhNTF9STkdQX0VYVEVSTkFMUkVGX0VNVFBZIiBpZD0iWE1MX1JOR1BfRVhURVJOQUxSRUZfRU1UUFkiPlhNTF9STkdQX0VYVEVSTkFMUkVGX0VNVFBZPC9hPiA9IDEwMzEgOiAxMDMxCisgICAgPGEgbmFtZT0iWE1MX1JOR1BfRVhURVJOQUxfUkVGX0ZBSUxVUkUiIGlkPSJYTUxfUk5HUF9FWFRFUk5BTF9SRUZfRkFJTFVSRSI+WE1MX1JOR1BfRVhURVJOQUxfUkVGX0ZBSUxVUkU8L2E+ID0gMTAzMiA6IDEwMzIKKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9FWFRFUk5BTFJFRl9SRUNVUlNFIiBpZD0iWE1MX1JOR1BfRVhURVJOQUxSRUZfUkVDVVJTRSI+WE1MX1JOR1BfRVhURVJOQUxSRUZfUkVDVVJTRTwvYT4gPSAxMDMzIDogMTAzMworICAgIDxhIG5hbWU9IlhNTF9STkdQX0ZPUkJJRERFTl9BVFRSSUJVVEUiIGlkPSJYTUxfUk5HUF9GT1JCSURERU5fQVRUUklCVVRFIj5YTUxfUk5HUF9GT1JCSURERU5fQVRUUklCVVRFPC9hPiA9IDEwMzQgOiAxMDM0CisgICAgPGEgbmFtZT0iWE1MX1JOR1BfRk9SRUlHTl9FTEVNRU5UIiBpZD0iWE1MX1JOR1BfRk9SRUlHTl9FTEVNRU5UIj5YTUxfUk5HUF9GT1JFSUdOX0VMRU1FTlQ8L2E+ID0gMTAzNSA6IDEwMzUKKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9HUkFNTUFSX0NPTlRFTlQiIGlkPSJYTUxfUk5HUF9HUkFNTUFSX0NPTlRFTlQiPlhNTF9STkdQX0dSQU1NQVJfQ09OVEVOVDwvYT4gPSAxMDM2IDogMTAzNgorICAgIDxhIG5hbWU9IlhNTF9STkdQX0dSQU1NQVJfRU1QVFkiIGlkPSJYTUxfUk5HUF9HUkFNTUFSX0VNUFRZIj5YTUxfUk5HUF9HUkFNTUFSX0VNUFRZPC9hPiA9IDEwMzcgOiAxMDM3CisgICAgPGEgbmFtZT0iWE1MX1JOR1BfR1JBTU1BUl9NSVNTSU5HIiBpZD0iWE1MX1JOR1BfR1JBTU1BUl9NSVNTSU5HIj5YTUxfUk5HUF9HUkFNTUFSX01JU1NJTkc8L2E+ID0gMTAzOCA6IDEwMzgKKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9HUkFNTUFSX05PX1NUQVJUIiBpZD0iWE1MX1JOR1BfR1JBTU1BUl9OT19TVEFSVCI+WE1MX1JOR1BfR1JBTU1BUl9OT19TVEFSVDwvYT4gPSAxMDM5IDogMTAzOQorICAgIDxhIG5hbWU9IlhNTF9STkdQX0dST1VQX0FUVFJfQ09ORkxJQ1QiIGlkPSJYTUxfUk5HUF9HUk9VUF9BVFRSX0NPTkZMSUNUIj5YTUxfUk5HUF9HUk9VUF9BVFRSX0NPTkZMSUNUPC9hPiA9IDEwNDAgOiAxMDQwCisgICAgPGEgbmFtZT0iWE1MX1JOR1BfSFJFRl9FUlJPUiIgaWQ9IlhNTF9STkdQX0hSRUZfRVJST1IiPlhNTF9STkdQX0hSRUZfRVJST1I8L2E+ID0gMTA0MSA6IDEwNDEKKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9JTkNMVURFX0VNUFRZIiBpZD0iWE1MX1JOR1BfSU5DTFVERV9FTVBUWSI+WE1MX1JOR1BfSU5DTFVERV9FTVBUWTwvYT4gPSAxMDQyIDogMTA0MgorICAgIDxhIG5hbWU9IlhNTF9STkdQX0lOQ0xVREVfRkFJTFVSRSIgaWQ9IlhNTF9STkdQX0lOQ0xVREVfRkFJTFVSRSI+WE1MX1JOR1BfSU5DTFVERV9GQUlMVVJFPC9hPiA9IDEwNDMgOiAxMDQzCisgICAgPGEgbmFtZT0iWE1MX1JOR1BfSU5DTFVERV9SRUNVUlNFIiBpZD0iWE1MX1JOR1BfSU5DTFVERV9SRUNVUlNFIj5YTUxfUk5HUF9JTkNMVURFX1JFQ1VSU0U8L2E+ID0gMTA0NCA6IDEwNDQKKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9JTlRFUkxFQVZFX0FERCIgaWQ9IlhNTF9STkdQX0lOVEVSTEVBVkVfQUREIj5YTUxfUk5HUF9JTlRFUkxFQVZFX0FERDwvYT4gPSAxMDQ1IDogMTA0NQorICAgIDxhIG5hbWU9IlhNTF9STkdQX0lOVEVSTEVBVkVfQ1JFQVRFX0ZBSUxFRCIgaWQ9IlhNTF9STkdQX0lOVEVSTEVBVkVfQ1JFQVRFX0ZBSUxFRCI+WE1MX1JOR1BfSU5URVJMRUFWRV9DUkVBVEVfRkFJTEVEPC9hPiA9IDEwNDYgOiAxMDQ2CisgICAgPGEgbmFtZT0iWE1MX1JOR1BfSU5URVJMRUFWRV9FTVBUWSIgaWQ9IlhNTF9STkdQX0lOVEVSTEVBVkVfRU1QVFkiPlhNTF9STkdQX0lOVEVSTEVBVkVfRU1QVFk8L2E+ID0gMTA0NyA6IDEwNDcKKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9JTlRFUkxFQVZFX05PX0NPTlRFTlQiIGlkPSJYTUxfUk5HUF9JTlRFUkxFQVZFX05PX0NPTlRFTlQiPlhNTF9STkdQX0lOVEVSTEVBVkVfTk9fQ09OVEVOVDwvYT4gPSAxMDQ4IDogMTA0OAorICAgIDxhIG5hbWU9IlhNTF9STkdQX0lOVkFMSURfREVGSU5FX05BTUUiIGlkPSJYTUxfUk5HUF9JTlZBTElEX0RFRklORV9OQU1FIj5YTUxfUk5HUF9JTlZBTElEX0RFRklORV9OQU1FPC9hPiA9IDEwNDkgOiAxMDQ5CisgICAgPGEgbmFtZT0iWE1MX1JOR1BfSU5WQUxJRF9VUkkiIGlkPSJYTUxfUk5HUF9JTlZBTElEX1VSSSI+WE1MX1JOR1BfSU5WQUxJRF9VUkk8L2E+ID0gMTA1MCA6IDEwNTAKKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9JTlZBTElEX1ZBTFVFIiBpZD0iWE1MX1JOR1BfSU5WQUxJRF9WQUxVRSI+WE1MX1JOR1BfSU5WQUxJRF9WQUxVRTwvYT4gPSAxMDUxIDogMTA1MQorICAgIDxhIG5hbWU9IlhNTF9STkdQX01JU1NJTkdfSFJFRiIgaWQ9IlhNTF9STkdQX01JU1NJTkdfSFJFRiI+WE1MX1JOR1BfTUlTU0lOR19IUkVGPC9hPiA9IDEwNTIgOiAxMDUyCisgICAgPGEgbmFtZT0iWE1MX1JOR1BfTkFNRV9NSVNTSU5HIiBpZD0iWE1MX1JOR1BfTkFNRV9NSVNTSU5HIj5YTUxfUk5HUF9OQU1FX01JU1NJTkc8L2E+ID0gMTA1MyA6IDEwNTMKKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9ORUVEX0NPTUJJTkUiIGlkPSJYTUxfUk5HUF9ORUVEX0NPTUJJTkUiPlhNTF9STkdQX05FRURfQ09NQklORTwvYT4gPSAxMDU0IDogMTA1NAorICAgIDxhIG5hbWU9IlhNTF9STkdQX05PVEFMTE9XRURfTk9UX0VNUFRZIiBpZD0iWE1MX1JOR1BfTk9UQUxMT1dFRF9OT1RfRU1QVFkiPlhNTF9STkdQX05PVEFMTE9XRURfTk9UX0VNUFRZPC9hPiA9IDEwNTUgOiAxMDU1CisgICAgPGEgbmFtZT0iWE1MX1JOR1BfTlNOQU1FX0FUVFJfQU5DRVNUT1IiIGlkPSJYTUxfUk5HUF9OU05BTUVfQVRUUl9BTkNFU1RPUiI+WE1MX1JOR1BfTlNOQU1FX0FUVFJfQU5DRVNUT1I8L2E+ID0gMTA1NiA6IDEwNTYKKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9OU05BTUVfTk9fTlMiIGlkPSJYTUxfUk5HUF9OU05BTUVfTk9fTlMiPlhNTF9STkdQX05TTkFNRV9OT19OUzwvYT4gPSAxMDU3IDogMTA1NworICAgIDxhIG5hbWU9IlhNTF9STkdQX1BBUkFNX0ZPUkJJRERFTiIgaWQ9IlhNTF9STkdQX1BBUkFNX0ZPUkJJRERFTiI+WE1MX1JOR1BfUEFSQU1fRk9SQklEREVOPC9hPiA9IDEwNTggOiAxMDU4CisgICAgPGEgbmFtZT0iWE1MX1JOR1BfUEFSQU1fTkFNRV9NSVNTSU5HIiBpZD0iWE1MX1JOR1BfUEFSQU1fTkFNRV9NSVNTSU5HIj5YTUxfUk5HUF9QQVJBTV9OQU1FX01JU1NJTkc8L2E+ID0gMTA1OSA6IDEwNTkKKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9QQVJFTlRSRUZfQ1JFQVRFX0ZBSUxFRCIgaWQ9IlhNTF9STkdQX1BBUkVOVFJFRl9DUkVBVEVfRkFJTEVEIj5YTUxfUk5HUF9QQVJFTlRSRUZfQ1JFQVRFX0ZBSUxFRDwvYT4gPSAxMDYwIDogMTA2MAorICAgIDxhIG5hbWU9IlhNTF9STkdQX1BBUkVOVFJFRl9OQU1FX0lOVkFMSUQiIGlkPSJYTUxfUk5HUF9QQVJFTlRSRUZfTkFNRV9JTlZBTElEIj5YTUxfUk5HUF9QQVJFTlRSRUZfTkFNRV9JTlZBTElEPC9hPiA9IDEwNjEgOiAxMDYxCisgICAgPGEgbmFtZT0iWE1MX1JOR1BfUEFSRU5UUkVGX05PX05BTUUiIGlkPSJYTUxfUk5HUF9QQVJFTlRSRUZfTk9fTkFNRSI+WE1MX1JOR1BfUEFSRU5UUkVGX05PX05BTUU8L2E+ID0gMTA2MiA6IDEwNjIKKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9QQVJFTlRSRUZfTk9fUEFSRU5UIiBpZD0iWE1MX1JOR1BfUEFSRU5UUkVGX05PX1BBUkVOVCI+WE1MX1JOR1BfUEFSRU5UUkVGX05PX1BBUkVOVDwvYT4gPSAxMDYzIDogMTA2MworICAgIDxhIG5hbWU9IlhNTF9STkdQX1BBUkVOVFJFRl9OT1RfRU1QVFkiIGlkPSJYTUxfUk5HUF9QQVJFTlRSRUZfTk9UX0VNUFRZIj5YTUxfUk5HUF9QQVJFTlRSRUZfTk9UX0VNUFRZPC9hPiA9IDEwNjQgOiAxMDY0CisgICAgPGEgbmFtZT0iWE1MX1JOR1BfUEFSU0VfRVJST1IiIGlkPSJYTUxfUk5HUF9QQVJTRV9FUlJPUiI+WE1MX1JOR1BfUEFSU0VfRVJST1I8L2E+ID0gMTA2NSA6IDEwNjUKKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9QQVRfQU5ZTkFNRV9FWENFUFRfQU5ZTkFNRSIgaWQ9IlhNTF9STkdQX1BBVF9BTllOQU1FX0VYQ0VQVF9BTllOQU1FIj5YTUxfUk5HUF9QQVRfQU5ZTkFNRV9FWENFUFRfQU5ZTkFNRTwvYT4gPSAxMDY2IDogMTA2NgorICAgIDxhIG5hbWU9IlhNTF9STkdQX1BBVF9BVFRSX0FUVFIiIGlkPSJYTUxfUk5HUF9QQVRfQVRUUl9BVFRSIj5YTUxfUk5HUF9QQVRfQVRUUl9BVFRSPC9hPiA9IDEwNjcgOiAxMDY3CisgICAgPGEgbmFtZT0iWE1MX1JOR1BfUEFUX0FUVFJfRUxFTSIgaWQ9IlhNTF9STkdQX1BBVF9BVFRSX0VMRU0iPlhNTF9STkdQX1BBVF9BVFRSX0VMRU08L2E+ID0gMTA2OCA6IDEwNjgKKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9QQVRfREFUQV9FWENFUFRfQVRUUiIgaWQ9IlhNTF9STkdQX1BBVF9EQVRBX0VYQ0VQVF9BVFRSIj5YTUxfUk5HUF9QQVRfREFUQV9FWENFUFRfQVRUUjwvYT4gPSAxMDY5IDogMTA2OQorICAgIDxhIG5hbWU9IlhNTF9STkdQX1BBVF9EQVRBX0VYQ0VQVF9FTEVNIiBpZD0iWE1MX1JOR1BfUEFUX0RBVEFfRVhDRVBUX0VMRU0iPlhNTF9STkdQX1BBVF9EQVRBX0VYQ0VQVF9FTEVNPC9hPiA9IDEwNzAgOiAxMDcwCisgICAgPGEgbmFtZT0iWE1MX1JOR1BfUEFUX0RBVEFfRVhDRVBUX0VNUFRZIiBpZD0iWE1MX1JOR1BfUEFUX0RBVEFfRVhDRVBUX0VNUFRZIj5YTUxfUk5HUF9QQVRfREFUQV9FWENFUFRfRU1QVFk8L2E+ID0gMTA3MSA6IDEwNzEKKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9QQVRfREFUQV9FWENFUFRfR1JPVVAiIGlkPSJYTUxfUk5HUF9QQVRfREFUQV9FWENFUFRfR1JPVVAiPlhNTF9STkdQX1BBVF9EQVRBX0VYQ0VQVF9HUk9VUDwvYT4gPSAxMDcyIDogMTA3MgorICAgIDxhIG5hbWU9IlhNTF9STkdQX1BBVF9EQVRBX0VYQ0VQVF9JTlRFUkxFQVZFIiBpZD0iWE1MX1JOR1BfUEFUX0RBVEFfRVhDRVBUX0lOVEVSTEVBVkUiPlhNTF9STkdQX1BBVF9EQVRBX0VYQ0VQVF9JTlRFUkxFQVZFPC9hPiA9IDEwNzMgOiAxMDczCisgICAgPGEgbmFtZT0iWE1MX1JOR1BfUEFUX0RBVEFfRVhDRVBUX0xJU1QiIGlkPSJYTUxfUk5HUF9QQVRfREFUQV9FWENFUFRfTElTVCI+WE1MX1JOR1BfUEFUX0RBVEFfRVhDRVBUX0xJU1Q8L2E+ID0gMTA3NCA6IDEwNzQKKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9QQVRfREFUQV9FWENFUFRfT05FTU9SRSIgaWQ9IlhNTF9STkdQX1BBVF9EQVRBX0VYQ0VQVF9PTkVNT1JFIj5YTUxfUk5HUF9QQVRfREFUQV9FWENFUFRfT05FTU9SRTwvYT4gPSAxMDc1IDogMTA3NQorICAgIDxhIG5hbWU9IlhNTF9STkdQX1BBVF9EQVRBX0VYQ0VQVF9SRUYiIGlkPSJYTUxfUk5HUF9QQVRfREFUQV9FWENFUFRfUkVGIj5YTUxfUk5HUF9QQVRfREFUQV9FWENFUFRfUkVGPC9hPiA9IDEwNzYgOiAxMDc2CisgICAgPGEgbmFtZT0iWE1MX1JOR1BfUEFUX0RBVEFfRVhDRVBUX1RFWFQiIGlkPSJYTUxfUk5HUF9QQVRfREFUQV9FWENFUFRfVEVYVCI+WE1MX1JOR1BfUEFUX0RBVEFfRVhDRVBUX1RFWFQ8L2E+ID0gMTA3NyA6IDEwNzcKKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9QQVRfTElTVF9BVFRSIiBpZD0iWE1MX1JOR1BfUEFUX0xJU1RfQVRUUiI+WE1MX1JOR1BfUEFUX0xJU1RfQVRUUjwvYT4gPSAxMDc4IDogMTA3OAorICAgIDxhIG5hbWU9IlhNTF9STkdQX1BBVF9MSVNUX0VMRU0iIGlkPSJYTUxfUk5HUF9QQVRfTElTVF9FTEVNIj5YTUxfUk5HUF9QQVRfTElTVF9FTEVNPC9hPiA9IDEwNzkgOiAxMDc5CisgICAgPGEgbmFtZT0iWE1MX1JOR1BfUEFUX0xJU1RfSU5URVJMRUFWRSIgaWQ9IlhNTF9STkdQX1BBVF9MSVNUX0lOVEVSTEVBVkUiPlhNTF9STkdQX1BBVF9MSVNUX0lOVEVSTEVBVkU8L2E+ID0gMTA4MCA6IDEwODAKKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9QQVRfTElTVF9MSVNUIiBpZD0iWE1MX1JOR1BfUEFUX0xJU1RfTElTVCI+WE1MX1JOR1BfUEFUX0xJU1RfTElTVDwvYT4gPSAxMDgxIDogMTA4MQorICAgIDxhIG5hbWU9IlhNTF9STkdQX1BBVF9MSVNUX1JFRiIgaWQ9IlhNTF9STkdQX1BBVF9MSVNUX1JFRiI+WE1MX1JOR1BfUEFUX0xJU1RfUkVGPC9hPiA9IDEwODIgOiAxMDgyCisgICAgPGEgbmFtZT0iWE1MX1JOR1BfUEFUX0xJU1RfVEVYVCIgaWQ9IlhNTF9STkdQX1BBVF9MSVNUX1RFWFQiPlhNTF9STkdQX1BBVF9MSVNUX1RFWFQ8L2E+ID0gMTA4MyA6IDEwODMKKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9QQVRfTlNOQU1FX0VYQ0VQVF9BTllOQU1FIiBpZD0iWE1MX1JOR1BfUEFUX05TTkFNRV9FWENFUFRfQU5ZTkFNRSI+WE1MX1JOR1BfUEFUX05TTkFNRV9FWENFUFRfQU5ZTkFNRTwvYT4gPSAxMDg0IDogMTA4NAorICAgIDxhIG5hbWU9IlhNTF9STkdQX1BBVF9OU05BTUVfRVhDRVBUX05TTkFNRSIgaWQ9IlhNTF9STkdQX1BBVF9OU05BTUVfRVhDRVBUX05TTkFNRSI+WE1MX1JOR1BfUEFUX05TTkFNRV9FWENFUFRfTlNOQU1FPC9hPiA9IDEwODUgOiAxMDg1CisgICAgPGEgbmFtZT0iWE1MX1JOR1BfUEFUX09ORU1PUkVfR1JPVVBfQVRUUiIgaWQ9IlhNTF9STkdQX1BBVF9PTkVNT1JFX0dST1VQX0FUVFIiPlhNTF9STkdQX1BBVF9PTkVNT1JFX0dST1VQX0FUVFI8L2E+ID0gMTA4NiA6IDEwODYKKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9QQVRfT05FTU9SRV9JTlRFUkxFQVZFX0FUVFIiIGlkPSJYTUxfUk5HUF9QQVRfT05FTU9SRV9JTlRFUkxFQVZFX0FUVFIiPlhNTF9STkdQX1BBVF9PTkVNT1JFX0lOVEVSTEVBVkVfQVRUUjwvYT4gPSAxMDg3IDogMTA4NworICAgIDxhIG5hbWU9IlhNTF9STkdQX1BBVF9TVEFSVF9BVFRSIiBpZD0iWE1MX1JOR1BfUEFUX1NUQVJUX0FUVFIiPlhNTF9STkdQX1BBVF9TVEFSVF9BVFRSPC9hPiA9IDEwODggOiAxMDg4CisgICAgPGEgbmFtZT0iWE1MX1JOR1BfUEFUX1NUQVJUX0RBVEEiIGlkPSJYTUxfUk5HUF9QQVRfU1RBUlRfREFUQSI+WE1MX1JOR1BfUEFUX1NUQVJUX0RBVEE8L2E+ID0gMTA4OSA6IDEwODkKKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9QQVRfU1RBUlRfRU1QVFkiIGlkPSJYTUxfUk5HUF9QQVRfU1RBUlRfRU1QVFkiPlhNTF9STkdQX1BBVF9TVEFSVF9FTVBUWTwvYT4gPSAxMDkwIDogMTA5MAorICAgIDxhIG5hbWU9IlhNTF9STkdQX1BBVF9TVEFSVF9HUk9VUCIgaWQ9IlhNTF9STkdQX1BBVF9TVEFSVF9HUk9VUCI+WE1MX1JOR1BfUEFUX1NUQVJUX0dST1VQPC9hPiA9IDEwOTEgOiAxMDkxCisgICAgPGEgbmFtZT0iWE1MX1JOR1BfUEFUX1NUQVJUX0lOVEVSTEVBVkUiIGlkPSJYTUxfUk5HUF9QQVRfU1RBUlRfSU5URVJMRUFWRSI+WE1MX1JOR1BfUEFUX1NUQVJUX0lOVEVSTEVBVkU8L2E+ID0gMTA5MiA6IDEwOTIKKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9QQVRfU1RBUlRfTElTVCIgaWQ9IlhNTF9STkdQX1BBVF9TVEFSVF9MSVNUIj5YTUxfUk5HUF9QQVRfU1RBUlRfTElTVDwvYT4gPSAxMDkzIDogMTA5MworICAgIDxhIG5hbWU9IlhNTF9STkdQX1BBVF9TVEFSVF9PTkVNT1JFIiBpZD0iWE1MX1JOR1BfUEFUX1NUQVJUX09ORU1PUkUiPlhNTF9STkdQX1BBVF9TVEFSVF9PTkVNT1JFPC9hPiA9IDEwOTQgOiAxMDk0CisgICAgPGEgbmFtZT0iWE1MX1JOR1BfUEFUX1NUQVJUX1RFWFQiIGlkPSJYTUxfUk5HUF9QQVRfU1RBUlRfVEVYVCI+WE1MX1JOR1BfUEFUX1NUQVJUX1RFWFQ8L2E+ID0gMTA5NSA6IDEwOTUKKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9QQVRfU1RBUlRfVkFMVUUiIGlkPSJYTUxfUk5HUF9QQVRfU1RBUlRfVkFMVUUiPlhNTF9STkdQX1BBVF9TVEFSVF9WQUxVRTwvYT4gPSAxMDk2IDogMTA5NgorICAgIDxhIG5hbWU9IlhNTF9STkdQX1BSRUZJWF9VTkRFRklORUQiIGlkPSJYTUxfUk5HUF9QUkVGSVhfVU5ERUZJTkVEIj5YTUxfUk5HUF9QUkVGSVhfVU5ERUZJTkVEPC9hPiA9IDEwOTcgOiAxMDk3CisgICAgPGEgbmFtZT0iWE1MX1JOR1BfUkVGX0NSRUFURV9GQUlMRUQiIGlkPSJYTUxfUk5HUF9SRUZfQ1JFQVRFX0ZBSUxFRCI+WE1MX1JOR1BfUkVGX0NSRUFURV9GQUlMRUQ8L2E+ID0gMTA5OCA6IDEwOTgKKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9SRUZfQ1lDTEUiIGlkPSJYTUxfUk5HUF9SRUZfQ1lDTEUiPlhNTF9STkdQX1JFRl9DWUNMRTwvYT4gPSAxMDk5IDogMTA5OQorICAgIDxhIG5hbWU9IlhNTF9STkdQX1JFRl9OQU1FX0lOVkFMSUQiIGlkPSJYTUxfUk5HUF9SRUZfTkFNRV9JTlZBTElEIj5YTUxfUk5HUF9SRUZfTkFNRV9JTlZBTElEPC9hPiA9IDExMDAgOiAxMTAwCisgICAgPGEgbmFtZT0iWE1MX1JOR1BfUkVGX05PX0RFRiIgaWQ9IlhNTF9STkdQX1JFRl9OT19ERUYiPlhNTF9STkdQX1JFRl9OT19ERUY8L2E+ID0gMTEwMSA6IDExMDEKKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9SRUZfTk9fTkFNRSIgaWQ9IlhNTF9STkdQX1JFRl9OT19OQU1FIj5YTUxfUk5HUF9SRUZfTk9fTkFNRTwvYT4gPSAxMTAyIDogMTEwMgorICAgIDxhIG5hbWU9IlhNTF9STkdQX1JFRl9OT1RfRU1QVFkiIGlkPSJYTUxfUk5HUF9SRUZfTk9UX0VNUFRZIj5YTUxfUk5HUF9SRUZfTk9UX0VNUFRZPC9hPiA9IDExMDMgOiAxMTAzCisgICAgPGEgbmFtZT0iWE1MX1JOR1BfU1RBUlRfQ0hPSUNFX0FORF9JTlRFUkxFQVZFIiBpZD0iWE1MX1JOR1BfU1RBUlRfQ0hPSUNFX0FORF9JTlRFUkxFQVZFIj5YTUxfUk5HUF9TVEFSVF9DSE9JQ0VfQU5EX0lOVEVSTEVBVkU8L2E+ID0gMTEwNCA6IDExMDQKKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9TVEFSVF9DT05URU5UIiBpZD0iWE1MX1JOR1BfU1RBUlRfQ09OVEVOVCI+WE1MX1JOR1BfU1RBUlRfQ09OVEVOVDwvYT4gPSAxMTA1IDogMTEwNQorICAgIDxhIG5hbWU9IlhNTF9STkdQX1NUQVJUX0VNUFRZIiBpZD0iWE1MX1JOR1BfU1RBUlRfRU1QVFkiPlhNTF9STkdQX1NUQVJUX0VNUFRZPC9hPiA9IDExMDYgOiAxMTA2CisgICAgPGEgbmFtZT0iWE1MX1JOR1BfU1RBUlRfTUlTU0lORyIgaWQ9IlhNTF9STkdQX1NUQVJUX01JU1NJTkciPlhNTF9STkdQX1NUQVJUX01JU1NJTkc8L2E+ID0gMTEwNyA6IDExMDcKKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9URVhUX0VYUEVDVEVEIiBpZD0iWE1MX1JOR1BfVEVYVF9FWFBFQ1RFRCI+WE1MX1JOR1BfVEVYVF9FWFBFQ1RFRDwvYT4gPSAxMTA4IDogMTEwOAorICAgIDxhIG5hbWU9IlhNTF9STkdQX1RFWFRfSEFTX0NISUxEIiBpZD0iWE1MX1JOR1BfVEVYVF9IQVNfQ0hJTEQiPlhNTF9STkdQX1RFWFRfSEFTX0NISUxEPC9hPiA9IDExMDkgOiAxMTA5CisgICAgPGEgbmFtZT0iWE1MX1JOR1BfVFlQRV9NSVNTSU5HIiBpZD0iWE1MX1JOR1BfVFlQRV9NSVNTSU5HIj5YTUxfUk5HUF9UWVBFX01JU1NJTkc8L2E+ID0gMTExMCA6IDExMTAKKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9UWVBFX05PVF9GT1VORCIgaWQ9IlhNTF9STkdQX1RZUEVfTk9UX0ZPVU5EIj5YTUxfUk5HUF9UWVBFX05PVF9GT1VORDwvYT4gPSAxMTExIDogMTExMQorICAgIDxhIG5hbWU9IlhNTF9STkdQX1RZUEVfVkFMVUUiIGlkPSJYTUxfUk5HUF9UWVBFX1ZBTFVFIj5YTUxfUk5HUF9UWVBFX1ZBTFVFPC9hPiA9IDExMTIgOiAxMTEyCisgICAgPGEgbmFtZT0iWE1MX1JOR1BfVU5LTk9XTl9BVFRSSUJVVEUiIGlkPSJYTUxfUk5HUF9VTktOT1dOX0FUVFJJQlVURSI+WE1MX1JOR1BfVU5LTk9XTl9BVFRSSUJVVEU8L2E+ID0gMTExMyA6IDExMTMKKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9VTktOT1dOX0NPTUJJTkUiIGlkPSJYTUxfUk5HUF9VTktOT1dOX0NPTUJJTkUiPlhNTF9STkdQX1VOS05PV05fQ09NQklORTwvYT4gPSAxMTE0IDogMTExNAorICAgIDxhIG5hbWU9IlhNTF9STkdQX1VOS05PV05fQ09OU1RSVUNUIiBpZD0iWE1MX1JOR1BfVU5LTk9XTl9DT05TVFJVQ1QiPlhNTF9STkdQX1VOS05PV05fQ09OU1RSVUNUPC9hPiA9IDExMTUgOiAxMTE1CisgICAgPGEgbmFtZT0iWE1MX1JOR1BfVU5LTk9XTl9UWVBFX0xJQiIgaWQ9IlhNTF9STkdQX1VOS05PV05fVFlQRV9MSUIiPlhNTF9STkdQX1VOS05PV05fVFlQRV9MSUI8L2E+ID0gMTExNiA6IDExMTYKKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9VUklfRlJBR01FTlQiIGlkPSJYTUxfUk5HUF9VUklfRlJBR01FTlQiPlhNTF9STkdQX1VSSV9GUkFHTUVOVDwvYT4gPSAxMTE3IDogMTExNworICAgIDxhIG5hbWU9IlhNTF9STkdQX1VSSV9OT1RfQUJTT0xVVEUiIGlkPSJYTUxfUk5HUF9VUklfTk9UX0FCU09MVVRFIj5YTUxfUk5HUF9VUklfTk9UX0FCU09MVVRFPC9hPiA9IDExMTggOiAxMTE4CisgICAgPGEgbmFtZT0iWE1MX1JOR1BfVkFMVUVfRU1QVFkiIGlkPSJYTUxfUk5HUF9WQUxVRV9FTVBUWSI+WE1MX1JOR1BfVkFMVUVfRU1QVFk8L2E+ID0gMTExOSA6IDExMTkKKyAgICA8YSBuYW1lPSJYTUxfUk5HUF9WQUxVRV9OT19DT05URU5UIiBpZD0iWE1MX1JOR1BfVkFMVUVfTk9fQ09OVEVOVCI+WE1MX1JOR1BfVkFMVUVfTk9fQ09OVEVOVDwvYT4gPSAxMTIwIDogMTEyMAorICAgIDxhIG5hbWU9IlhNTF9STkdQX1hNTE5TX05BTUUiIGlkPSJYTUxfUk5HUF9YTUxOU19OQU1FIj5YTUxfUk5HUF9YTUxOU19OQU1FPC9hPiA9IDExMjEgOiAxMTIxCisgICAgPGEgbmFtZT0iWE1MX1JOR1BfWE1MX05TIiBpZD0iWE1MX1JOR1BfWE1MX05TIj5YTUxfUk5HUF9YTUxfTlM8L2E+ID0gMTEyMiA6IDExMjIKKyAgICA8YSBuYW1lPSJYTUxfWFBBVEhfRVhQUkVTU0lPTl9PSyIgaWQ9IlhNTF9YUEFUSF9FWFBSRVNTSU9OX09LIj5YTUxfWFBBVEhfRVhQUkVTU0lPTl9PSzwvYT4gPSAxMjAwCisgICAgPGEgbmFtZT0iWE1MX1hQQVRIX05VTUJFUl9FUlJPUiIgaWQ9IlhNTF9YUEFUSF9OVU1CRVJfRVJST1IiPlhNTF9YUEFUSF9OVU1CRVJfRVJST1I8L2E+ID0gMTIwMSA6IDEyMDEKKyAgICA8YSBuYW1lPSJYTUxfWFBBVEhfVU5GSU5JU0hFRF9MSVRFUkFMX0VSUk9SIiBpZD0iWE1MX1hQQVRIX1VORklOSVNIRURfTElURVJBTF9FUlJPUiI+WE1MX1hQQVRIX1VORklOSVNIRURfTElURVJBTF9FUlJPUjwvYT4gPSAxMjAyIDogMTIwMgorICAgIDxhIG5hbWU9IlhNTF9YUEFUSF9TVEFSVF9MSVRFUkFMX0VSUk9SIiBpZD0iWE1MX1hQQVRIX1NUQVJUX0xJVEVSQUxfRVJST1IiPlhNTF9YUEFUSF9TVEFSVF9MSVRFUkFMX0VSUk9SPC9hPiA9IDEyMDMgOiAxMjAzCisgICAgPGEgbmFtZT0iWE1MX1hQQVRIX1ZBUklBQkxFX1JFRl9FUlJPUiIgaWQ9IlhNTF9YUEFUSF9WQVJJQUJMRV9SRUZfRVJST1IiPlhNTF9YUEFUSF9WQVJJQUJMRV9SRUZfRVJST1I8L2E+ID0gMTIwNCA6IDEyMDQKKyAgICA8YSBuYW1lPSJYTUxfWFBBVEhfVU5ERUZfVkFSSUFCTEVfRVJST1IiIGlkPSJYTUxfWFBBVEhfVU5ERUZfVkFSSUFCTEVfRVJST1IiPlhNTF9YUEFUSF9VTkRFRl9WQVJJQUJMRV9FUlJPUjwvYT4gPSAxMjA1IDogMTIwNQorICAgIDxhIG5hbWU9IlhNTF9YUEFUSF9JTlZBTElEX1BSRURJQ0FURV9FUlJPUiIgaWQ9IlhNTF9YUEFUSF9JTlZBTElEX1BSRURJQ0FURV9FUlJPUiI+WE1MX1hQQVRIX0lOVkFMSURfUFJFRElDQVRFX0VSUk9SPC9hPiA9IDEyMDYgOiAxMjA2CisgICAgPGEgbmFtZT0iWE1MX1hQQVRIX0VYUFJfRVJST1IiIGlkPSJYTUxfWFBBVEhfRVhQUl9FUlJPUiI+WE1MX1hQQVRIX0VYUFJfRVJST1I8L2E+ID0gMTIwNyA6IDEyMDcKKyAgICA8YSBuYW1lPSJYTUxfWFBBVEhfVU5DTE9TRURfRVJST1IiIGlkPSJYTUxfWFBBVEhfVU5DTE9TRURfRVJST1IiPlhNTF9YUEFUSF9VTkNMT1NFRF9FUlJPUjwvYT4gPSAxMjA4IDogMTIwOAorICAgIDxhIG5hbWU9IlhNTF9YUEFUSF9VTktOT1dOX0ZVTkNfRVJST1IiIGlkPSJYTUxfWFBBVEhfVU5LTk9XTl9GVU5DX0VSUk9SIj5YTUxfWFBBVEhfVU5LTk9XTl9GVU5DX0VSUk9SPC9hPiA9IDEyMDkgOiAxMjA5CisgICAgPGEgbmFtZT0iWE1MX1hQQVRIX0lOVkFMSURfT1BFUkFORCIgaWQ9IlhNTF9YUEFUSF9JTlZBTElEX09QRVJBTkQiPlhNTF9YUEFUSF9JTlZBTElEX09QRVJBTkQ8L2E+ID0gMTIxMCA6IDEyMTAKKyAgICA8YSBuYW1lPSJYTUxfWFBBVEhfSU5WQUxJRF9UWVBFIiBpZD0iWE1MX1hQQVRIX0lOVkFMSURfVFlQRSI+WE1MX1hQQVRIX0lOVkFMSURfVFlQRTwvYT4gPSAxMjExIDogMTIxMQorICAgIDxhIG5hbWU9IlhNTF9YUEFUSF9JTlZBTElEX0FSSVRZIiBpZD0iWE1MX1hQQVRIX0lOVkFMSURfQVJJVFkiPlhNTF9YUEFUSF9JTlZBTElEX0FSSVRZPC9hPiA9IDEyMTIgOiAxMjEyCisgICAgPGEgbmFtZT0iWE1MX1hQQVRIX0lOVkFMSURfQ1RYVF9TSVpFIiBpZD0iWE1MX1hQQVRIX0lOVkFMSURfQ1RYVF9TSVpFIj5YTUxfWFBBVEhfSU5WQUxJRF9DVFhUX1NJWkU8L2E+ID0gMTIxMyA6IDEyMTMKKyAgICA8YSBuYW1lPSJYTUxfWFBBVEhfSU5WQUxJRF9DVFhUX1BPU0lUSU9OIiBpZD0iWE1MX1hQQVRIX0lOVkFMSURfQ1RYVF9QT1NJVElPTiI+WE1MX1hQQVRIX0lOVkFMSURfQ1RYVF9QT1NJVElPTjwvYT4gPSAxMjE0IDogMTIxNAorICAgIDxhIG5hbWU9IlhNTF9YUEFUSF9NRU1PUllfRVJST1IiIGlkPSJYTUxfWFBBVEhfTUVNT1JZX0VSUk9SIj5YTUxfWFBBVEhfTUVNT1JZX0VSUk9SPC9hPiA9IDEyMTUgOiAxMjE1CisgICAgPGEgbmFtZT0iWE1MX1hQVFJfU1lOVEFYX0VSUk9SIiBpZD0iWE1MX1hQVFJfU1lOVEFYX0VSUk9SIj5YTUxfWFBUUl9TWU5UQVhfRVJST1I8L2E+ID0gMTIxNiA6IDEyMTYKKyAgICA8YSBuYW1lPSJYTUxfWFBUUl9SRVNPVVJDRV9FUlJPUiIgaWQ9IlhNTF9YUFRSX1JFU09VUkNFX0VSUk9SIj5YTUxfWFBUUl9SRVNPVVJDRV9FUlJPUjwvYT4gPSAxMjE3IDogMTIxNworICAgIDxhIG5hbWU9IlhNTF9YUFRSX1NVQl9SRVNPVVJDRV9FUlJPUiIgaWQ9IlhNTF9YUFRSX1NVQl9SRVNPVVJDRV9FUlJPUiI+WE1MX1hQVFJfU1VCX1JFU09VUkNFX0VSUk9SPC9hPiA9IDEyMTggOiAxMjE4CisgICAgPGEgbmFtZT0iWE1MX1hQQVRIX1VOREVGX1BSRUZJWF9FUlJPUiIgaWQ9IlhNTF9YUEFUSF9VTkRFRl9QUkVGSVhfRVJST1IiPlhNTF9YUEFUSF9VTkRFRl9QUkVGSVhfRVJST1I8L2E+ID0gMTIxOSA6IDEyMTkKKyAgICA8YSBuYW1lPSJYTUxfWFBBVEhfRU5DT0RJTkdfRVJST1IiIGlkPSJYTUxfWFBBVEhfRU5DT0RJTkdfRVJST1IiPlhNTF9YUEFUSF9FTkNPRElOR19FUlJPUjwvYT4gPSAxMjIwIDogMTIyMAorICAgIDxhIG5hbWU9IlhNTF9YUEFUSF9JTlZBTElEX0NIQVJfRVJST1IiIGlkPSJYTUxfWFBBVEhfSU5WQUxJRF9DSEFSX0VSUk9SIj5YTUxfWFBBVEhfSU5WQUxJRF9DSEFSX0VSUk9SPC9hPiA9IDEyMjEgOiAxMjIxCisgICAgPGEgbmFtZT0iWE1MX1RSRUVfSU5WQUxJRF9IRVgiIGlkPSJYTUxfVFJFRV9JTlZBTElEX0hFWCI+WE1MX1RSRUVfSU5WQUxJRF9IRVg8L2E+ID0gMTMwMAorICAgIDxhIG5hbWU9IlhNTF9UUkVFX0lOVkFMSURfREVDIiBpZD0iWE1MX1RSRUVfSU5WQUxJRF9ERUMiPlhNTF9UUkVFX0lOVkFMSURfREVDPC9hPiA9IDEzMDEgOiAxMzAxCisgICAgPGEgbmFtZT0iWE1MX1RSRUVfVU5URVJNSU5BVEVEX0VOVElUWSIgaWQ9IlhNTF9UUkVFX1VOVEVSTUlOQVRFRF9FTlRJVFkiPlhNTF9UUkVFX1VOVEVSTUlOQVRFRF9FTlRJVFk8L2E+ID0gMTMwMiA6IDEzMDIKKyAgICA8YSBuYW1lPSJYTUxfVFJFRV9OT1RfVVRGOCIgaWQ9IlhNTF9UUkVFX05PVF9VVEY4Ij5YTUxfVFJFRV9OT1RfVVRGODwvYT4gPSAxMzAzIDogMTMwMworICAgIDxhIG5hbWU9IlhNTF9TQVZFX05PVF9VVEY4IiBpZD0iWE1MX1NBVkVfTk9UX1VURjgiPlhNTF9TQVZFX05PVF9VVEY4PC9hPiA9IDE0MDAKKyAgICA8YSBuYW1lPSJYTUxfU0FWRV9DSEFSX0lOVkFMSUQiIGlkPSJYTUxfU0FWRV9DSEFSX0lOVkFMSUQiPlhNTF9TQVZFX0NIQVJfSU5WQUxJRDwvYT4gPSAxNDAxIDogMTQwMQorICAgIDxhIG5hbWU9IlhNTF9TQVZFX05PX0RPQ1RZUEUiIGlkPSJYTUxfU0FWRV9OT19ET0NUWVBFIj5YTUxfU0FWRV9OT19ET0NUWVBFPC9hPiA9IDE0MDIgOiAxNDAyCisgICAgPGEgbmFtZT0iWE1MX1NBVkVfVU5LTk9XTl9FTkNPRElORyIgaWQ9IlhNTF9TQVZFX1VOS05PV05fRU5DT0RJTkciPlhNTF9TQVZFX1VOS05PV05fRU5DT0RJTkc8L2E+ID0gMTQwMyA6IDE0MDMKKyAgICA8YSBuYW1lPSJYTUxfUkVHRVhQX0NPTVBJTEVfRVJST1IiIGlkPSJYTUxfUkVHRVhQX0NPTVBJTEVfRVJST1IiPlhNTF9SRUdFWFBfQ09NUElMRV9FUlJPUjwvYT4gPSAxNDUwCisgICAgPGEgbmFtZT0iWE1MX0lPX1VOS05PV04iIGlkPSJYTUxfSU9fVU5LTk9XTiI+WE1MX0lPX1VOS05PV048L2E+ID0gMTUwMAorICAgIDxhIG5hbWU9IlhNTF9JT19FQUNDRVMiIGlkPSJYTUxfSU9fRUFDQ0VTIj5YTUxfSU9fRUFDQ0VTPC9hPiA9IDE1MDEgOiAxNTAxCisgICAgPGEgbmFtZT0iWE1MX0lPX0VBR0FJTiIgaWQ9IlhNTF9JT19FQUdBSU4iPlhNTF9JT19FQUdBSU48L2E+ID0gMTUwMiA6IDE1MDIKKyAgICA8YSBuYW1lPSJYTUxfSU9fRUJBREYiIGlkPSJYTUxfSU9fRUJBREYiPlhNTF9JT19FQkFERjwvYT4gPSAxNTAzIDogMTUwMworICAgIDxhIG5hbWU9IlhNTF9JT19FQkFETVNHIiBpZD0iWE1MX0lPX0VCQURNU0ciPlhNTF9JT19FQkFETVNHPC9hPiA9IDE1MDQgOiAxNTA0CisgICAgPGEgbmFtZT0iWE1MX0lPX0VCVVNZIiBpZD0iWE1MX0lPX0VCVVNZIj5YTUxfSU9fRUJVU1k8L2E+ID0gMTUwNSA6IDE1MDUKKyAgICA8YSBuYW1lPSJYTUxfSU9fRUNBTkNFTEVEIiBpZD0iWE1MX0lPX0VDQU5DRUxFRCI+WE1MX0lPX0VDQU5DRUxFRDwvYT4gPSAxNTA2IDogMTUwNgorICAgIDxhIG5hbWU9IlhNTF9JT19FQ0hJTEQiIGlkPSJYTUxfSU9fRUNISUxEIj5YTUxfSU9fRUNISUxEPC9hPiA9IDE1MDcgOiAxNTA3CisgICAgPGEgbmFtZT0iWE1MX0lPX0VERUFETEsiIGlkPSJYTUxfSU9fRURFQURMSyI+WE1MX0lPX0VERUFETEs8L2E+ID0gMTUwOCA6IDE1MDgKKyAgICA8YSBuYW1lPSJYTUxfSU9fRURPTSIgaWQ9IlhNTF9JT19FRE9NIj5YTUxfSU9fRURPTTwvYT4gPSAxNTA5IDogMTUwOQorICAgIDxhIG5hbWU9IlhNTF9JT19FRVhJU1QiIGlkPSJYTUxfSU9fRUVYSVNUIj5YTUxfSU9fRUVYSVNUPC9hPiA9IDE1MTAgOiAxNTEwCisgICAgPGEgbmFtZT0iWE1MX0lPX0VGQVVMVCIgaWQ9IlhNTF9JT19FRkFVTFQiPlhNTF9JT19FRkFVTFQ8L2E+ID0gMTUxMSA6IDE1MTEKKyAgICA8YSBuYW1lPSJYTUxfSU9fRUZCSUciIGlkPSJYTUxfSU9fRUZCSUciPlhNTF9JT19FRkJJRzwvYT4gPSAxNTEyIDogMTUxMgorICAgIDxhIG5hbWU9IlhNTF9JT19FSU5QUk9HUkVTUyIgaWQ9IlhNTF9JT19FSU5QUk9HUkVTUyI+WE1MX0lPX0VJTlBST0dSRVNTPC9hPiA9IDE1MTMgOiAxNTEzCisgICAgPGEgbmFtZT0iWE1MX0lPX0VJTlRSIiBpZD0iWE1MX0lPX0VJTlRSIj5YTUxfSU9fRUlOVFI8L2E+ID0gMTUxNCA6IDE1MTQKKyAgICA8YSBuYW1lPSJYTUxfSU9fRUlOVkFMIiBpZD0iWE1MX0lPX0VJTlZBTCI+WE1MX0lPX0VJTlZBTDwvYT4gPSAxNTE1IDogMTUxNQorICAgIDxhIG5hbWU9IlhNTF9JT19FSU8iIGlkPSJYTUxfSU9fRUlPIj5YTUxfSU9fRUlPPC9hPiA9IDE1MTYgOiAxNTE2CisgICAgPGEgbmFtZT0iWE1MX0lPX0VJU0RJUiIgaWQ9IlhNTF9JT19FSVNESVIiPlhNTF9JT19FSVNESVI8L2E+ID0gMTUxNyA6IDE1MTcKKyAgICA8YSBuYW1lPSJYTUxfSU9fRU1GSUxFIiBpZD0iWE1MX0lPX0VNRklMRSI+WE1MX0lPX0VNRklMRTwvYT4gPSAxNTE4IDogMTUxOAorICAgIDxhIG5hbWU9IlhNTF9JT19FTUxJTksiIGlkPSJYTUxfSU9fRU1MSU5LIj5YTUxfSU9fRU1MSU5LPC9hPiA9IDE1MTkgOiAxNTE5CisgICAgPGEgbmFtZT0iWE1MX0lPX0VNU0dTSVpFIiBpZD0iWE1MX0lPX0VNU0dTSVpFIj5YTUxfSU9fRU1TR1NJWkU8L2E+ID0gMTUyMCA6IDE1MjAKKyAgICA8YSBuYW1lPSJYTUxfSU9fRU5BTUVUT09MT05HIiBpZD0iWE1MX0lPX0VOQU1FVE9PTE9ORyI+WE1MX0lPX0VOQU1FVE9PTE9ORzwvYT4gPSAxNTIxIDogMTUyMQorICAgIDxhIG5hbWU9IlhNTF9JT19FTkZJTEUiIGlkPSJYTUxfSU9fRU5GSUxFIj5YTUxfSU9fRU5GSUxFPC9hPiA9IDE1MjIgOiAxNTIyCisgICAgPGEgbmFtZT0iWE1MX0lPX0VOT0RFViIgaWQ9IlhNTF9JT19FTk9ERVYiPlhNTF9JT19FTk9ERVY8L2E+ID0gMTUyMyA6IDE1MjMKKyAgICA8YSBuYW1lPSJYTUxfSU9fRU5PRU5UIiBpZD0iWE1MX0lPX0VOT0VOVCI+WE1MX0lPX0VOT0VOVDwvYT4gPSAxNTI0IDogMTUyNAorICAgIDxhIG5hbWU9IlhNTF9JT19FTk9FWEVDIiBpZD0iWE1MX0lPX0VOT0VYRUMiPlhNTF9JT19FTk9FWEVDPC9hPiA9IDE1MjUgOiAxNTI1CisgICAgPGEgbmFtZT0iWE1MX0lPX0VOT0xDSyIgaWQ9IlhNTF9JT19FTk9MQ0siPlhNTF9JT19FTk9MQ0s8L2E+ID0gMTUyNiA6IDE1MjYKKyAgICA8YSBuYW1lPSJYTUxfSU9fRU5PTUVNIiBpZD0iWE1MX0lPX0VOT01FTSI+WE1MX0lPX0VOT01FTTwvYT4gPSAxNTI3IDogMTUyNworICAgIDxhIG5hbWU9IlhNTF9JT19FTk9TUEMiIGlkPSJYTUxfSU9fRU5PU1BDIj5YTUxfSU9fRU5PU1BDPC9hPiA9IDE1MjggOiAxNTI4CisgICAgPGEgbmFtZT0iWE1MX0lPX0VOT1NZUyIgaWQ9IlhNTF9JT19FTk9TWVMiPlhNTF9JT19FTk9TWVM8L2E+ID0gMTUyOSA6IDE1MjkKKyAgICA8YSBuYW1lPSJYTUxfSU9fRU5PVERJUiIgaWQ9IlhNTF9JT19FTk9URElSIj5YTUxfSU9fRU5PVERJUjwvYT4gPSAxNTMwIDogMTUzMAorICAgIDxhIG5hbWU9IlhNTF9JT19FTk9URU1QVFkiIGlkPSJYTUxfSU9fRU5PVEVNUFRZIj5YTUxfSU9fRU5PVEVNUFRZPC9hPiA9IDE1MzEgOiAxNTMxCisgICAgPGEgbmFtZT0iWE1MX0lPX0VOT1RTVVAiIGlkPSJYTUxfSU9fRU5PVFNVUCI+WE1MX0lPX0VOT1RTVVA8L2E+ID0gMTUzMiA6IDE1MzIKKyAgICA8YSBuYW1lPSJYTUxfSU9fRU5PVFRZIiBpZD0iWE1MX0lPX0VOT1RUWSI+WE1MX0lPX0VOT1RUWTwvYT4gPSAxNTMzIDogMTUzMworICAgIDxhIG5hbWU9IlhNTF9JT19FTlhJTyIgaWQ9IlhNTF9JT19FTlhJTyI+WE1MX0lPX0VOWElPPC9hPiA9IDE1MzQgOiAxNTM0CisgICAgPGEgbmFtZT0iWE1MX0lPX0VQRVJNIiBpZD0iWE1MX0lPX0VQRVJNIj5YTUxfSU9fRVBFUk08L2E+ID0gMTUzNSA6IDE1MzUKKyAgICA8YSBuYW1lPSJYTUxfSU9fRVBJUEUiIGlkPSJYTUxfSU9fRVBJUEUiPlhNTF9JT19FUElQRTwvYT4gPSAxNTM2IDogMTUzNgorICAgIDxhIG5hbWU9IlhNTF9JT19FUkFOR0UiIGlkPSJYTUxfSU9fRVJBTkdFIj5YTUxfSU9fRVJBTkdFPC9hPiA9IDE1MzcgOiAxNTM3CisgICAgPGEgbmFtZT0iWE1MX0lPX0VST0ZTIiBpZD0iWE1MX0lPX0VST0ZTIj5YTUxfSU9fRVJPRlM8L2E+ID0gMTUzOCA6IDE1MzgKKyAgICA8YSBuYW1lPSJYTUxfSU9fRVNQSVBFIiBpZD0iWE1MX0lPX0VTUElQRSI+WE1MX0lPX0VTUElQRTwvYT4gPSAxNTM5IDogMTUzOQorICAgIDxhIG5hbWU9IlhNTF9JT19FU1JDSCIgaWQ9IlhNTF9JT19FU1JDSCI+WE1MX0lPX0VTUkNIPC9hPiA9IDE1NDAgOiAxNTQwCisgICAgPGEgbmFtZT0iWE1MX0lPX0VUSU1FRE9VVCIgaWQ9IlhNTF9JT19FVElNRURPVVQiPlhNTF9JT19FVElNRURPVVQ8L2E+ID0gMTU0MSA6IDE1NDEKKyAgICA8YSBuYW1lPSJYTUxfSU9fRVhERVYiIGlkPSJYTUxfSU9fRVhERVYiPlhNTF9JT19FWERFVjwvYT4gPSAxNTQyIDogMTU0MgorICAgIDxhIG5hbWU9IlhNTF9JT19ORVRXT1JLX0FUVEVNUFQiIGlkPSJYTUxfSU9fTkVUV09SS19BVFRFTVBUIj5YTUxfSU9fTkVUV09SS19BVFRFTVBUPC9hPiA9IDE1NDMgOiAxNTQzCisgICAgPGEgbmFtZT0iWE1MX0lPX0VOQ09ERVIiIGlkPSJYTUxfSU9fRU5DT0RFUiI+WE1MX0lPX0VOQ09ERVI8L2E+ID0gMTU0NCA6IDE1NDQKKyAgICA8YSBuYW1lPSJYTUxfSU9fRkxVU0giIGlkPSJYTUxfSU9fRkxVU0giPlhNTF9JT19GTFVTSDwvYT4gPSAxNTQ1IDogMTU0NQorICAgIDxhIG5hbWU9IlhNTF9JT19XUklURSIgaWQ9IlhNTF9JT19XUklURSI+WE1MX0lPX1dSSVRFPC9hPiA9IDE1NDYgOiAxNTQ2CisgICAgPGEgbmFtZT0iWE1MX0lPX05PX0lOUFVUIiBpZD0iWE1MX0lPX05PX0lOUFVUIj5YTUxfSU9fTk9fSU5QVVQ8L2E+ID0gMTU0NyA6IDE1NDcKKyAgICA8YSBuYW1lPSJYTUxfSU9fQlVGRkVSX0ZVTEwiIGlkPSJYTUxfSU9fQlVGRkVSX0ZVTEwiPlhNTF9JT19CVUZGRVJfRlVMTDwvYT4gPSAxNTQ4IDogMTU0OAorICAgIDxhIG5hbWU9IlhNTF9JT19MT0FEX0VSUk9SIiBpZD0iWE1MX0lPX0xPQURfRVJST1IiPlhNTF9JT19MT0FEX0VSUk9SPC9hPiA9IDE1NDkgOiAxNTQ5CisgICAgPGEgbmFtZT0iWE1MX0lPX0VOT1RTT0NLIiBpZD0iWE1MX0lPX0VOT1RTT0NLIj5YTUxfSU9fRU5PVFNPQ0s8L2E+ID0gMTU1MCA6IDE1NTAKKyAgICA8YSBuYW1lPSJYTUxfSU9fRUlTQ09OTiIgaWQ9IlhNTF9JT19FSVNDT05OIj5YTUxfSU9fRUlTQ09OTjwvYT4gPSAxNTUxIDogMTU1MQorICAgIDxhIG5hbWU9IlhNTF9JT19FQ09OTlJFRlVTRUQiIGlkPSJYTUxfSU9fRUNPTk5SRUZVU0VEIj5YTUxfSU9fRUNPTk5SRUZVU0VEPC9hPiA9IDE1NTIgOiAxNTUyCisgICAgPGEgbmFtZT0iWE1MX0lPX0VORVRVTlJFQUNIIiBpZD0iWE1MX0lPX0VORVRVTlJFQUNIIj5YTUxfSU9fRU5FVFVOUkVBQ0g8L2E+ID0gMTU1MyA6IDE1NTMKKyAgICA8YSBuYW1lPSJYTUxfSU9fRUFERFJJTlVTRSIgaWQ9IlhNTF9JT19FQUREUklOVVNFIj5YTUxfSU9fRUFERFJJTlVTRTwvYT4gPSAxNTU0IDogMTU1NAorICAgIDxhIG5hbWU9IlhNTF9JT19FQUxSRUFEWSIgaWQ9IlhNTF9JT19FQUxSRUFEWSI+WE1MX0lPX0VBTFJFQURZPC9hPiA9IDE1NTUgOiAxNTU1CisgICAgPGEgbmFtZT0iWE1MX0lPX0VBRk5PU1VQUE9SVCIgaWQ9IlhNTF9JT19FQUZOT1NVUFBPUlQiPlhNTF9JT19FQUZOT1NVUFBPUlQ8L2E+ID0gMTU1NiA6IDE1NTYKKyAgICA8YSBuYW1lPSJYTUxfWElOQ0xVREVfUkVDVVJTSU9OIiBpZD0iWE1MX1hJTkNMVURFX1JFQ1VSU0lPTiI+WE1MX1hJTkNMVURFX1JFQ1VSU0lPTjwvYT4gPSAxNjAwCisgICAgPGEgbmFtZT0iWE1MX1hJTkNMVURFX1BBUlNFX1ZBTFVFIiBpZD0iWE1MX1hJTkNMVURFX1BBUlNFX1ZBTFVFIj5YTUxfWElOQ0xVREVfUEFSU0VfVkFMVUU8L2E+ID0gMTYwMSA6IDE2MDEKKyAgICA8YSBuYW1lPSJYTUxfWElOQ0xVREVfRU5USVRZX0RFRl9NSVNNQVRDSCIgaWQ9IlhNTF9YSU5DTFVERV9FTlRJVFlfREVGX01JU01BVENIIj5YTUxfWElOQ0xVREVfRU5USVRZX0RFRl9NSVNNQVRDSDwvYT4gPSAxNjAyIDogMTYwMgorICAgIDxhIG5hbWU9IlhNTF9YSU5DTFVERV9OT19IUkVGIiBpZD0iWE1MX1hJTkNMVURFX05PX0hSRUYiPlhNTF9YSU5DTFVERV9OT19IUkVGPC9hPiA9IDE2MDMgOiAxNjAzCisgICAgPGEgbmFtZT0iWE1MX1hJTkNMVURFX05PX0ZBTExCQUNLIiBpZD0iWE1MX1hJTkNMVURFX05PX0ZBTExCQUNLIj5YTUxfWElOQ0xVREVfTk9fRkFMTEJBQ0s8L2E+ID0gMTYwNCA6IDE2MDQKKyAgICA8YSBuYW1lPSJYTUxfWElOQ0xVREVfSFJFRl9VUkkiIGlkPSJYTUxfWElOQ0xVREVfSFJFRl9VUkkiPlhNTF9YSU5DTFVERV9IUkVGX1VSSTwvYT4gPSAxNjA1IDogMTYwNQorICAgIDxhIG5hbWU9IlhNTF9YSU5DTFVERV9URVhUX0ZSQUdNRU5UIiBpZD0iWE1MX1hJTkNMVURFX1RFWFRfRlJBR01FTlQiPlhNTF9YSU5DTFVERV9URVhUX0ZSQUdNRU5UPC9hPiA9IDE2MDYgOiAxNjA2CisgICAgPGEgbmFtZT0iWE1MX1hJTkNMVURFX1RFWFRfRE9DVU1FTlQiIGlkPSJYTUxfWElOQ0xVREVfVEVYVF9ET0NVTUVOVCI+WE1MX1hJTkNMVURFX1RFWFRfRE9DVU1FTlQ8L2E+ID0gMTYwNyA6IDE2MDcKKyAgICA8YSBuYW1lPSJYTUxfWElOQ0xVREVfSU5WQUxJRF9DSEFSIiBpZD0iWE1MX1hJTkNMVURFX0lOVkFMSURfQ0hBUiI+WE1MX1hJTkNMVURFX0lOVkFMSURfQ0hBUjwvYT4gPSAxNjA4IDogMTYwOAorICAgIDxhIG5hbWU9IlhNTF9YSU5DTFVERV9CVUlMRF9GQUlMRUQiIGlkPSJYTUxfWElOQ0xVREVfQlVJTERfRkFJTEVEIj5YTUxfWElOQ0xVREVfQlVJTERfRkFJTEVEPC9hPiA9IDE2MDkgOiAxNjA5CisgICAgPGEgbmFtZT0iWE1MX1hJTkNMVURFX1VOS05PV05fRU5DT0RJTkciIGlkPSJYTUxfWElOQ0xVREVfVU5LTk9XTl9FTkNPRElORyI+WE1MX1hJTkNMVURFX1VOS05PV05fRU5DT0RJTkc8L2E+ID0gMTYxMCA6IDE2MTAKKyAgICA8YSBuYW1lPSJYTUxfWElOQ0xVREVfTVVMVElQTEVfUk9PVCIgaWQ9IlhNTF9YSU5DTFVERV9NVUxUSVBMRV9ST09UIj5YTUxfWElOQ0xVREVfTVVMVElQTEVfUk9PVDwvYT4gPSAxNjExIDogMTYxMQorICAgIDxhIG5hbWU9IlhNTF9YSU5DTFVERV9YUFRSX0ZBSUxFRCIgaWQ9IlhNTF9YSU5DTFVERV9YUFRSX0ZBSUxFRCI+WE1MX1hJTkNMVURFX1hQVFJfRkFJTEVEPC9hPiA9IDE2MTIgOiAxNjEyCisgICAgPGEgbmFtZT0iWE1MX1hJTkNMVURFX1hQVFJfUkVTVUxUIiBpZD0iWE1MX1hJTkNMVURFX1hQVFJfUkVTVUxUIj5YTUxfWElOQ0xVREVfWFBUUl9SRVNVTFQ8L2E+ID0gMTYxMyA6IDE2MTMKKyAgICA8YSBuYW1lPSJYTUxfWElOQ0xVREVfSU5DTFVERV9JTl9JTkNMVURFIiBpZD0iWE1MX1hJTkNMVURFX0lOQ0xVREVfSU5fSU5DTFVERSI+WE1MX1hJTkNMVURFX0lOQ0xVREVfSU5fSU5DTFVERTwvYT4gPSAxNjE0IDogMTYxNAorICAgIDxhIG5hbWU9IlhNTF9YSU5DTFVERV9GQUxMQkFDS1NfSU5fSU5DTFVERSIgaWQ9IlhNTF9YSU5DTFVERV9GQUxMQkFDS1NfSU5fSU5DTFVERSI+WE1MX1hJTkNMVURFX0ZBTExCQUNLU19JTl9JTkNMVURFPC9hPiA9IDE2MTUgOiAxNjE1CisgICAgPGEgbmFtZT0iWE1MX1hJTkNMVURFX0ZBTExCQUNLX05PVF9JTl9JTkNMVURFIiBpZD0iWE1MX1hJTkNMVURFX0ZBTExCQUNLX05PVF9JTl9JTkNMVURFIj5YTUxfWElOQ0xVREVfRkFMTEJBQ0tfTk9UX0lOX0lOQ0xVREU8L2E+ID0gMTYxNiA6IDE2MTYKKyAgICA8YSBuYW1lPSJYTUxfWElOQ0xVREVfREVQUkVDQVRFRF9OUyIgaWQ9IlhNTF9YSU5DTFVERV9ERVBSRUNBVEVEX05TIj5YTUxfWElOQ0xVREVfREVQUkVDQVRFRF9OUzwvYT4gPSAxNjE3IDogMTYxNworICAgIDxhIG5hbWU9IlhNTF9YSU5DTFVERV9GUkFHTUVOVF9JRCIgaWQ9IlhNTF9YSU5DTFVERV9GUkFHTUVOVF9JRCI+WE1MX1hJTkNMVURFX0ZSQUdNRU5UX0lEPC9hPiA9IDE2MTggOiAxNjE4CisgICAgPGEgbmFtZT0iWE1MX0NBVEFMT0dfTUlTU0lOR19BVFRSIiBpZD0iWE1MX0NBVEFMT0dfTUlTU0lOR19BVFRSIj5YTUxfQ0FUQUxPR19NSVNTSU5HX0FUVFI8L2E+ID0gMTY1MAorICAgIDxhIG5hbWU9IlhNTF9DQVRBTE9HX0VOVFJZX0JST0tFTiIgaWQ9IlhNTF9DQVRBTE9HX0VOVFJZX0JST0tFTiI+WE1MX0NBVEFMT0dfRU5UUllfQlJPS0VOPC9hPiA9IDE2NTEgOiAxNjUxCisgICAgPGEgbmFtZT0iWE1MX0NBVEFMT0dfUFJFRkVSX1ZBTFVFIiBpZD0iWE1MX0NBVEFMT0dfUFJFRkVSX1ZBTFVFIj5YTUxfQ0FUQUxPR19QUkVGRVJfVkFMVUU8L2E+ID0gMTY1MiA6IDE2NTIKKyAgICA8YSBuYW1lPSJYTUxfQ0FUQUxPR19OT1RfQ0FUQUxPRyIgaWQ9IlhNTF9DQVRBTE9HX05PVF9DQVRBTE9HIj5YTUxfQ0FUQUxPR19OT1RfQ0FUQUxPRzwvYT4gPSAxNjUzIDogMTY1MworICAgIDxhIG5hbWU9IlhNTF9DQVRBTE9HX1JFQ1VSU0lPTiIgaWQ9IlhNTF9DQVRBTE9HX1JFQ1VSU0lPTiI+WE1MX0NBVEFMT0dfUkVDVVJTSU9OPC9hPiA9IDE2NTQgOiAxNjU0CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfUFJFRklYX1VOREVGSU5FRCIgaWQ9IlhNTF9TQ0hFTUFQX1BSRUZJWF9VTkRFRklORUQiPlhNTF9TQ0hFTUFQX1BSRUZJWF9VTkRFRklORUQ8L2E+ID0gMTcwMAorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX0FUVFJGT1JNREVGQVVMVF9WQUxVRSIgaWQ9IlhNTF9TQ0hFTUFQX0FUVFJGT1JNREVGQVVMVF9WQUxVRSI+WE1MX1NDSEVNQVBfQVRUUkZPUk1ERUZBVUxUX1ZBTFVFPC9hPiA9IDE3MDEgOiAxNzAxCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfQVRUUkdSUF9OT05BTUVfTk9SRUYiIGlkPSJYTUxfU0NIRU1BUF9BVFRSR1JQX05PTkFNRV9OT1JFRiI+WE1MX1NDSEVNQVBfQVRUUkdSUF9OT05BTUVfTk9SRUY8L2E+ID0gMTcwMiA6IDE3MDIKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9BVFRSX05PTkFNRV9OT1JFRiIgaWQ9IlhNTF9TQ0hFTUFQX0FUVFJfTk9OQU1FX05PUkVGIj5YTUxfU0NIRU1BUF9BVFRSX05PTkFNRV9OT1JFRjwvYT4gPSAxNzAzIDogMTcwMworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX0NPTVBMRVhUWVBFX05PTkFNRV9OT1JFRiIgaWQ9IlhNTF9TQ0hFTUFQX0NPTVBMRVhUWVBFX05PTkFNRV9OT1JFRiI+WE1MX1NDSEVNQVBfQ09NUExFWFRZUEVfTk9OQU1FX05PUkVGPC9hPiA9IDE3MDQgOiAxNzA0CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfRUxFTUZPUk1ERUZBVUxUX1ZBTFVFIiBpZD0iWE1MX1NDSEVNQVBfRUxFTUZPUk1ERUZBVUxUX1ZBTFVFIj5YTUxfU0NIRU1BUF9FTEVNRk9STURFRkFVTFRfVkFMVUU8L2E+ID0gMTcwNSA6IDE3MDUKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9FTEVNX05PTkFNRV9OT1JFRiIgaWQ9IlhNTF9TQ0hFTUFQX0VMRU1fTk9OQU1FX05PUkVGIj5YTUxfU0NIRU1BUF9FTEVNX05PTkFNRV9OT1JFRjwvYT4gPSAxNzA2IDogMTcwNgorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX0VYVEVOU0lPTl9OT19CQVNFIiBpZD0iWE1MX1NDSEVNQVBfRVhURU5TSU9OX05PX0JBU0UiPlhNTF9TQ0hFTUFQX0VYVEVOU0lPTl9OT19CQVNFPC9hPiA9IDE3MDcgOiAxNzA3CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfRkFDRVRfTk9fVkFMVUUiIGlkPSJYTUxfU0NIRU1BUF9GQUNFVF9OT19WQUxVRSI+WE1MX1NDSEVNQVBfRkFDRVRfTk9fVkFMVUU8L2E+ID0gMTcwOCA6IDE3MDgKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9GQUlMRURfQlVJTERfSU1QT1JUIiBpZD0iWE1MX1NDSEVNQVBfRkFJTEVEX0JVSUxEX0lNUE9SVCI+WE1MX1NDSEVNQVBfRkFJTEVEX0JVSUxEX0lNUE9SVDwvYT4gPSAxNzA5IDogMTcwOQorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX0dST1VQX05PTkFNRV9OT1JFRiIgaWQ9IlhNTF9TQ0hFTUFQX0dST1VQX05PTkFNRV9OT1JFRiI+WE1MX1NDSEVNQVBfR1JPVVBfTk9OQU1FX05PUkVGPC9hPiA9IDE3MTAgOiAxNzEwCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfSU1QT1JUX05BTUVTUEFDRV9OT1RfVVJJIiBpZD0iWE1MX1NDSEVNQVBfSU1QT1JUX05BTUVTUEFDRV9OT1RfVVJJIj5YTUxfU0NIRU1BUF9JTVBPUlRfTkFNRVNQQUNFX05PVF9VUkk8L2E+ID0gMTcxMSA6IDE3MTEKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9JTVBPUlRfUkVERUZJTkVfTlNOQU1FIiBpZD0iWE1MX1NDSEVNQVBfSU1QT1JUX1JFREVGSU5FX05TTkFNRSI+WE1MX1NDSEVNQVBfSU1QT1JUX1JFREVGSU5FX05TTkFNRTwvYT4gPSAxNzEyIDogMTcxMgorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX0lNUE9SVF9TQ0hFTUFfTk9UX1VSSSIgaWQ9IlhNTF9TQ0hFTUFQX0lNUE9SVF9TQ0hFTUFfTk9UX1VSSSI+WE1MX1NDSEVNQVBfSU1QT1JUX1NDSEVNQV9OT1RfVVJJPC9hPiA9IDE3MTMgOiAxNzEzCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfSU5WQUxJRF9CT09MRUFOIiBpZD0iWE1MX1NDSEVNQVBfSU5WQUxJRF9CT09MRUFOIj5YTUxfU0NIRU1BUF9JTlZBTElEX0JPT0xFQU48L2E+ID0gMTcxNCA6IDE3MTQKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9JTlZBTElEX0VOVU0iIGlkPSJYTUxfU0NIRU1BUF9JTlZBTElEX0VOVU0iPlhNTF9TQ0hFTUFQX0lOVkFMSURfRU5VTTwvYT4gPSAxNzE1IDogMTcxNQorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX0lOVkFMSURfRkFDRVQiIGlkPSJYTUxfU0NIRU1BUF9JTlZBTElEX0ZBQ0VUIj5YTUxfU0NIRU1BUF9JTlZBTElEX0ZBQ0VUPC9hPiA9IDE3MTYgOiAxNzE2CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfSU5WQUxJRF9GQUNFVF9WQUxVRSIgaWQ9IlhNTF9TQ0hFTUFQX0lOVkFMSURfRkFDRVRfVkFMVUUiPlhNTF9TQ0hFTUFQX0lOVkFMSURfRkFDRVRfVkFMVUU8L2E+ID0gMTcxNyA6IDE3MTcKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9JTlZBTElEX01BWE9DQ1VSUyIgaWQ9IlhNTF9TQ0hFTUFQX0lOVkFMSURfTUFYT0NDVVJTIj5YTUxfU0NIRU1BUF9JTlZBTElEX01BWE9DQ1VSUzwvYT4gPSAxNzE4IDogMTcxOAorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX0lOVkFMSURfTUlOT0NDVVJTIiBpZD0iWE1MX1NDSEVNQVBfSU5WQUxJRF9NSU5PQ0NVUlMiPlhNTF9TQ0hFTUFQX0lOVkFMSURfTUlOT0NDVVJTPC9hPiA9IDE3MTkgOiAxNzE5CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfSU5WQUxJRF9SRUZfQU5EX1NVQlRZUEUiIGlkPSJYTUxfU0NIRU1BUF9JTlZBTElEX1JFRl9BTkRfU1VCVFlQRSI+WE1MX1NDSEVNQVBfSU5WQUxJRF9SRUZfQU5EX1NVQlRZUEU8L2E+ID0gMTcyMCA6IDE3MjAKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9JTlZBTElEX1dISVRFX1NQQUNFIiBpZD0iWE1MX1NDSEVNQVBfSU5WQUxJRF9XSElURV9TUEFDRSI+WE1MX1NDSEVNQVBfSU5WQUxJRF9XSElURV9TUEFDRTwvYT4gPSAxNzIxIDogMTcyMQorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX05PQVRUUl9OT1JFRiIgaWQ9IlhNTF9TQ0hFTUFQX05PQVRUUl9OT1JFRiI+WE1MX1NDSEVNQVBfTk9BVFRSX05PUkVGPC9hPiA9IDE3MjIgOiAxNzIyCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfTk9UQVRJT05fTk9fTkFNRSIgaWQ9IlhNTF9TQ0hFTUFQX05PVEFUSU9OX05PX05BTUUiPlhNTF9TQ0hFTUFQX05PVEFUSU9OX05PX05BTUU8L2E+ID0gMTcyMyA6IDE3MjMKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9OT1RZUEVfTk9SRUYiIGlkPSJYTUxfU0NIRU1BUF9OT1RZUEVfTk9SRUYiPlhNTF9TQ0hFTUFQX05PVFlQRV9OT1JFRjwvYT4gPSAxNzI0IDogMTcyNAorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX1JFRl9BTkRfU1VCVFlQRSIgaWQ9IlhNTF9TQ0hFTUFQX1JFRl9BTkRfU1VCVFlQRSI+WE1MX1NDSEVNQVBfUkVGX0FORF9TVUJUWVBFPC9hPiA9IDE3MjUgOiAxNzI1CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfUkVTVFJJQ1RJT05fTk9OQU1FX05PUkVGIiBpZD0iWE1MX1NDSEVNQVBfUkVTVFJJQ1RJT05fTk9OQU1FX05PUkVGIj5YTUxfU0NIRU1BUF9SRVNUUklDVElPTl9OT05BTUVfTk9SRUY8L2E+ID0gMTcyNiA6IDE3MjYKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9TSU1QTEVUWVBFX05PTkFNRSIgaWQ9IlhNTF9TQ0hFTUFQX1NJTVBMRVRZUEVfTk9OQU1FIj5YTUxfU0NIRU1BUF9TSU1QTEVUWVBFX05PTkFNRTwvYT4gPSAxNzI3IDogMTcyNworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX1RZUEVfQU5EX1NVQlRZUEUiIGlkPSJYTUxfU0NIRU1BUF9UWVBFX0FORF9TVUJUWVBFIj5YTUxfU0NIRU1BUF9UWVBFX0FORF9TVUJUWVBFPC9hPiA9IDE3MjggOiAxNzI4CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfVU5LTk9XTl9BTExfQ0hJTEQiIGlkPSJYTUxfU0NIRU1BUF9VTktOT1dOX0FMTF9DSElMRCI+WE1MX1NDSEVNQVBfVU5LTk9XTl9BTExfQ0hJTEQ8L2E+ID0gMTcyOSA6IDE3MjkKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9VTktOT1dOX0FOWUFUVFJJQlVURV9DSElMRCIgaWQ9IlhNTF9TQ0hFTUFQX1VOS05PV05fQU5ZQVRUUklCVVRFX0NISUxEIj5YTUxfU0NIRU1BUF9VTktOT1dOX0FOWUFUVFJJQlVURV9DSElMRDwvYT4gPSAxNzMwIDogMTczMAorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX1VOS05PV05fQVRUUl9DSElMRCIgaWQ9IlhNTF9TQ0hFTUFQX1VOS05PV05fQVRUUl9DSElMRCI+WE1MX1NDSEVNQVBfVU5LTk9XTl9BVFRSX0NISUxEPC9hPiA9IDE3MzEgOiAxNzMxCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfVU5LTk9XTl9BVFRSR1JQX0NISUxEIiBpZD0iWE1MX1NDSEVNQVBfVU5LTk9XTl9BVFRSR1JQX0NISUxEIj5YTUxfU0NIRU1BUF9VTktOT1dOX0FUVFJHUlBfQ0hJTEQ8L2E+ID0gMTczMiA6IDE3MzIKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9VTktOT1dOX0FUVFJJQlVURV9HUk9VUCIgaWQ9IlhNTF9TQ0hFTUFQX1VOS05PV05fQVRUUklCVVRFX0dST1VQIj5YTUxfU0NIRU1BUF9VTktOT1dOX0FUVFJJQlVURV9HUk9VUDwvYT4gPSAxNzMzIDogMTczMworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX1VOS05PV05fQkFTRV9UWVBFIiBpZD0iWE1MX1NDSEVNQVBfVU5LTk9XTl9CQVNFX1RZUEUiPlhNTF9TQ0hFTUFQX1VOS05PV05fQkFTRV9UWVBFPC9hPiA9IDE3MzQgOiAxNzM0CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfVU5LTk9XTl9DSE9JQ0VfQ0hJTEQiIGlkPSJYTUxfU0NIRU1BUF9VTktOT1dOX0NIT0lDRV9DSElMRCI+WE1MX1NDSEVNQVBfVU5LTk9XTl9DSE9JQ0VfQ0hJTEQ8L2E+ID0gMTczNSA6IDE3MzUKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9VTktOT1dOX0NPTVBMRVhDT05URU5UX0NISUxEIiBpZD0iWE1MX1NDSEVNQVBfVU5LTk9XTl9DT01QTEVYQ09OVEVOVF9DSElMRCI+WE1MX1NDSEVNQVBfVU5LTk9XTl9DT01QTEVYQ09OVEVOVF9DSElMRDwvYT4gPSAxNzM2IDogMTczNgorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX1VOS05PV05fQ09NUExFWFRZUEVfQ0hJTEQiIGlkPSJYTUxfU0NIRU1BUF9VTktOT1dOX0NPTVBMRVhUWVBFX0NISUxEIj5YTUxfU0NIRU1BUF9VTktOT1dOX0NPTVBMRVhUWVBFX0NISUxEPC9hPiA9IDE3MzcgOiAxNzM3CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfVU5LTk9XTl9FTEVNX0NISUxEIiBpZD0iWE1MX1NDSEVNQVBfVU5LTk9XTl9FTEVNX0NISUxEIj5YTUxfU0NIRU1BUF9VTktOT1dOX0VMRU1fQ0hJTEQ8L2E+ID0gMTczOCA6IDE3MzgKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9VTktOT1dOX0VYVEVOU0lPTl9DSElMRCIgaWQ9IlhNTF9TQ0hFTUFQX1VOS05PV05fRVhURU5TSU9OX0NISUxEIj5YTUxfU0NIRU1BUF9VTktOT1dOX0VYVEVOU0lPTl9DSElMRDwvYT4gPSAxNzM5IDogMTczOQorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX1VOS05PV05fRkFDRVRfQ0hJTEQiIGlkPSJYTUxfU0NIRU1BUF9VTktOT1dOX0ZBQ0VUX0NISUxEIj5YTUxfU0NIRU1BUF9VTktOT1dOX0ZBQ0VUX0NISUxEPC9hPiA9IDE3NDAgOiAxNzQwCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfVU5LTk9XTl9GQUNFVF9UWVBFIiBpZD0iWE1MX1NDSEVNQVBfVU5LTk9XTl9GQUNFVF9UWVBFIj5YTUxfU0NIRU1BUF9VTktOT1dOX0ZBQ0VUX1RZUEU8L2E+ID0gMTc0MSA6IDE3NDEKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9VTktOT1dOX0dST1VQX0NISUxEIiBpZD0iWE1MX1NDSEVNQVBfVU5LTk9XTl9HUk9VUF9DSElMRCI+WE1MX1NDSEVNQVBfVU5LTk9XTl9HUk9VUF9DSElMRDwvYT4gPSAxNzQyIDogMTc0MgorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX1VOS05PV05fSU1QT1JUX0NISUxEIiBpZD0iWE1MX1NDSEVNQVBfVU5LTk9XTl9JTVBPUlRfQ0hJTEQiPlhNTF9TQ0hFTUFQX1VOS05PV05fSU1QT1JUX0NISUxEPC9hPiA9IDE3NDMgOiAxNzQzCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfVU5LTk9XTl9MSVNUX0NISUxEIiBpZD0iWE1MX1NDSEVNQVBfVU5LTk9XTl9MSVNUX0NISUxEIj5YTUxfU0NIRU1BUF9VTktOT1dOX0xJU1RfQ0hJTEQ8L2E+ID0gMTc0NCA6IDE3NDQKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9VTktOT1dOX05PVEFUSU9OX0NISUxEIiBpZD0iWE1MX1NDSEVNQVBfVU5LTk9XTl9OT1RBVElPTl9DSElMRCI+WE1MX1NDSEVNQVBfVU5LTk9XTl9OT1RBVElPTl9DSElMRDwvYT4gPSAxNzQ1IDogMTc0NQorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX1VOS05PV05fUFJPQ0VTU0NPTlRFTlRfQ0hJTEQiIGlkPSJYTUxfU0NIRU1BUF9VTktOT1dOX1BST0NFU1NDT05URU5UX0NISUxEIj5YTUxfU0NIRU1BUF9VTktOT1dOX1BST0NFU1NDT05URU5UX0NISUxEPC9hPiA9IDE3NDYgOiAxNzQ2CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfVU5LTk9XTl9SRUYiIGlkPSJYTUxfU0NIRU1BUF9VTktOT1dOX1JFRiI+WE1MX1NDSEVNQVBfVU5LTk9XTl9SRUY8L2E+ID0gMTc0NyA6IDE3NDcKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9VTktOT1dOX1JFU1RSSUNUSU9OX0NISUxEIiBpZD0iWE1MX1NDSEVNQVBfVU5LTk9XTl9SRVNUUklDVElPTl9DSElMRCI+WE1MX1NDSEVNQVBfVU5LTk9XTl9SRVNUUklDVElPTl9DSElMRDwvYT4gPSAxNzQ4IDogMTc0OAorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX1VOS05PV05fU0NIRU1BU19DSElMRCIgaWQ9IlhNTF9TQ0hFTUFQX1VOS05PV05fU0NIRU1BU19DSElMRCI+WE1MX1NDSEVNQVBfVU5LTk9XTl9TQ0hFTUFTX0NISUxEPC9hPiA9IDE3NDkgOiAxNzQ5CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfVU5LTk9XTl9TRVFVRU5DRV9DSElMRCIgaWQ9IlhNTF9TQ0hFTUFQX1VOS05PV05fU0VRVUVOQ0VfQ0hJTEQiPlhNTF9TQ0hFTUFQX1VOS05PV05fU0VRVUVOQ0VfQ0hJTEQ8L2E+ID0gMTc1MCA6IDE3NTAKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9VTktOT1dOX1NJTVBMRUNPTlRFTlRfQ0hJTEQiIGlkPSJYTUxfU0NIRU1BUF9VTktOT1dOX1NJTVBMRUNPTlRFTlRfQ0hJTEQiPlhNTF9TQ0hFTUFQX1VOS05PV05fU0lNUExFQ09OVEVOVF9DSElMRDwvYT4gPSAxNzUxIDogMTc1MQorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX1VOS05PV05fU0lNUExFVFlQRV9DSElMRCIgaWQ9IlhNTF9TQ0hFTUFQX1VOS05PV05fU0lNUExFVFlQRV9DSElMRCI+WE1MX1NDSEVNQVBfVU5LTk9XTl9TSU1QTEVUWVBFX0NISUxEPC9hPiA9IDE3NTIgOiAxNzUyCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfVU5LTk9XTl9UWVBFIiBpZD0iWE1MX1NDSEVNQVBfVU5LTk9XTl9UWVBFIj5YTUxfU0NIRU1BUF9VTktOT1dOX1RZUEU8L2E+ID0gMTc1MyA6IDE3NTMKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9VTktOT1dOX1VOSU9OX0NISUxEIiBpZD0iWE1MX1NDSEVNQVBfVU5LTk9XTl9VTklPTl9DSElMRCI+WE1MX1NDSEVNQVBfVU5LTk9XTl9VTklPTl9DSElMRDwvYT4gPSAxNzU0IDogMTc1NAorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX0VMRU1fREVGQVVMVF9GSVhFRCIgaWQ9IlhNTF9TQ0hFTUFQX0VMRU1fREVGQVVMVF9GSVhFRCI+WE1MX1NDSEVNQVBfRUxFTV9ERUZBVUxUX0ZJWEVEPC9hPiA9IDE3NTUgOiAxNzU1CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfUkVHRVhQX0lOVkFMSUQiIGlkPSJYTUxfU0NIRU1BUF9SRUdFWFBfSU5WQUxJRCI+WE1MX1NDSEVNQVBfUkVHRVhQX0lOVkFMSUQ8L2E+ID0gMTc1NiA6IDE3NTYKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9GQUlMRURfTE9BRCIgaWQ9IlhNTF9TQ0hFTUFQX0ZBSUxFRF9MT0FEIj5YTUxfU0NIRU1BUF9GQUlMRURfTE9BRDwvYT4gPSAxNzU3IDogMTc1NworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX05PVEhJTkdfVE9fUEFSU0UiIGlkPSJYTUxfU0NIRU1BUF9OT1RISU5HX1RPX1BBUlNFIj5YTUxfU0NIRU1BUF9OT1RISU5HX1RPX1BBUlNFPC9hPiA9IDE3NTggOiAxNzU4CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfTk9ST09UIiBpZD0iWE1MX1NDSEVNQVBfTk9ST09UIj5YTUxfU0NIRU1BUF9OT1JPT1Q8L2E+ID0gMTc1OSA6IDE3NTkKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9SRURFRklORURfR1JPVVAiIGlkPSJYTUxfU0NIRU1BUF9SRURFRklORURfR1JPVVAiPlhNTF9TQ0hFTUFQX1JFREVGSU5FRF9HUk9VUDwvYT4gPSAxNzYwIDogMTc2MAorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX1JFREVGSU5FRF9UWVBFIiBpZD0iWE1MX1NDSEVNQVBfUkVERUZJTkVEX1RZUEUiPlhNTF9TQ0hFTUFQX1JFREVGSU5FRF9UWVBFPC9hPiA9IDE3NjEgOiAxNzYxCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfUkVERUZJTkVEX0VMRU1FTlQiIGlkPSJYTUxfU0NIRU1BUF9SRURFRklORURfRUxFTUVOVCI+WE1MX1NDSEVNQVBfUkVERUZJTkVEX0VMRU1FTlQ8L2E+ID0gMTc2MiA6IDE3NjIKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9SRURFRklORURfQVRUUkdST1VQIiBpZD0iWE1MX1NDSEVNQVBfUkVERUZJTkVEX0FUVFJHUk9VUCI+WE1MX1NDSEVNQVBfUkVERUZJTkVEX0FUVFJHUk9VUDwvYT4gPSAxNzYzIDogMTc2MworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX1JFREVGSU5FRF9BVFRSIiBpZD0iWE1MX1NDSEVNQVBfUkVERUZJTkVEX0FUVFIiPlhNTF9TQ0hFTUFQX1JFREVGSU5FRF9BVFRSPC9hPiA9IDE3NjQgOiAxNzY0CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfUkVERUZJTkVEX05PVEFUSU9OIiBpZD0iWE1MX1NDSEVNQVBfUkVERUZJTkVEX05PVEFUSU9OIj5YTUxfU0NIRU1BUF9SRURFRklORURfTk9UQVRJT048L2E+ID0gMTc2NSA6IDE3NjUKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9GQUlMRURfUEFSU0UiIGlkPSJYTUxfU0NIRU1BUF9GQUlMRURfUEFSU0UiPlhNTF9TQ0hFTUFQX0ZBSUxFRF9QQVJTRTwvYT4gPSAxNzY2IDogMTc2NgorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX1VOS05PV05fUFJFRklYIiBpZD0iWE1MX1NDSEVNQVBfVU5LTk9XTl9QUkVGSVgiPlhNTF9TQ0hFTUFQX1VOS05PV05fUFJFRklYPC9hPiA9IDE3NjcgOiAxNzY3CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfREVGX0FORF9QUkVGSVgiIGlkPSJYTUxfU0NIRU1BUF9ERUZfQU5EX1BSRUZJWCI+WE1MX1NDSEVNQVBfREVGX0FORF9QUkVGSVg8L2E+ID0gMTc2OCA6IDE3NjgKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9VTktOT1dOX0lOQ0xVREVfQ0hJTEQiIGlkPSJYTUxfU0NIRU1BUF9VTktOT1dOX0lOQ0xVREVfQ0hJTEQiPlhNTF9TQ0hFTUFQX1VOS05PV05fSU5DTFVERV9DSElMRDwvYT4gPSAxNzY5IDogMTc2OQorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX0lOQ0xVREVfU0NIRU1BX05PVF9VUkkiIGlkPSJYTUxfU0NIRU1BUF9JTkNMVURFX1NDSEVNQV9OT1RfVVJJIj5YTUxfU0NIRU1BUF9JTkNMVURFX1NDSEVNQV9OT1RfVVJJPC9hPiA9IDE3NzAgOiAxNzcwCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfSU5DTFVERV9TQ0hFTUFfTk9fVVJJIiBpZD0iWE1MX1NDSEVNQVBfSU5DTFVERV9TQ0hFTUFfTk9fVVJJIj5YTUxfU0NIRU1BUF9JTkNMVURFX1NDSEVNQV9OT19VUkk8L2E+ID0gMTc3MSA6IDE3NzEKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9OT1RfU0NIRU1BIiBpZD0iWE1MX1NDSEVNQVBfTk9UX1NDSEVNQSI+WE1MX1NDSEVNQVBfTk9UX1NDSEVNQTwvYT4gPSAxNzcyIDogMTc3MgorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX1VOS05PV05fTUVNQkVSX1RZUEUiIGlkPSJYTUxfU0NIRU1BUF9VTktOT1dOX01FTUJFUl9UWVBFIj5YTUxfU0NIRU1BUF9VTktOT1dOX01FTUJFUl9UWVBFPC9hPiA9IDE3NzMgOiAxNzczCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfSU5WQUxJRF9BVFRSX1VTRSIgaWQ9IlhNTF9TQ0hFTUFQX0lOVkFMSURfQVRUUl9VU0UiPlhNTF9TQ0hFTUFQX0lOVkFMSURfQVRUUl9VU0U8L2E+ID0gMTc3NCA6IDE3NzQKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9SRUNVUlNJVkUiIGlkPSJYTUxfU0NIRU1BUF9SRUNVUlNJVkUiPlhNTF9TQ0hFTUFQX1JFQ1VSU0lWRTwvYT4gPSAxNzc1IDogMTc3NQorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX1NVUEVSTlVNRVJPVVNfTElTVF9JVEVNX1RZUEUiIGlkPSJYTUxfU0NIRU1BUF9TVVBFUk5VTUVST1VTX0xJU1RfSVRFTV9UWVBFIj5YTUxfU0NIRU1BUF9TVVBFUk5VTUVST1VTX0xJU1RfSVRFTV9UWVBFPC9hPiA9IDE3NzYgOiAxNzc2CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfSU5WQUxJRF9BVFRSX0NPTUJJTkFUSU9OIiBpZD0iWE1MX1NDSEVNQVBfSU5WQUxJRF9BVFRSX0NPTUJJTkFUSU9OIj5YTUxfU0NIRU1BUF9JTlZBTElEX0FUVFJfQ09NQklOQVRJT048L2E+ID0gMTc3NyA6IDE3NzcKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9JTlZBTElEX0FUVFJfSU5MSU5FX0NPTUJJTkFUSU9OIiBpZD0iWE1MX1NDSEVNQVBfSU5WQUxJRF9BVFRSX0lOTElORV9DT01CSU5BVElPTiI+WE1MX1NDSEVNQVBfSU5WQUxJRF9BVFRSX0lOTElORV9DT01CSU5BVElPTjwvYT4gPSAxNzc4IDogMTc3OAorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX01JU1NJTkdfU0lNUExFVFlQRV9DSElMRCIgaWQ9IlhNTF9TQ0hFTUFQX01JU1NJTkdfU0lNUExFVFlQRV9DSElMRCI+WE1MX1NDSEVNQVBfTUlTU0lOR19TSU1QTEVUWVBFX0NISUxEPC9hPiA9IDE3NzkgOiAxNzc5CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfSU5WQUxJRF9BVFRSX05BTUUiIGlkPSJYTUxfU0NIRU1BUF9JTlZBTElEX0FUVFJfTkFNRSI+WE1MX1NDSEVNQVBfSU5WQUxJRF9BVFRSX05BTUU8L2E+ID0gMTc4MCA6IDE3ODAKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9SRUZfQU5EX0NPTlRFTlQiIGlkPSJYTUxfU0NIRU1BUF9SRUZfQU5EX0NPTlRFTlQiPlhNTF9TQ0hFTUFQX1JFRl9BTkRfQ09OVEVOVDwvYT4gPSAxNzgxIDogMTc4MQorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX0NUX1BST1BTX0NPUlJFQ1RfMSIgaWQ9IlhNTF9TQ0hFTUFQX0NUX1BST1BTX0NPUlJFQ1RfMSI+WE1MX1NDSEVNQVBfQ1RfUFJPUFNfQ09SUkVDVF8xPC9hPiA9IDE3ODIgOiAxNzgyCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfQ1RfUFJPUFNfQ09SUkVDVF8yIiBpZD0iWE1MX1NDSEVNQVBfQ1RfUFJPUFNfQ09SUkVDVF8yIj5YTUxfU0NIRU1BUF9DVF9QUk9QU19DT1JSRUNUXzI8L2E+ID0gMTc4MyA6IDE3ODMKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9DVF9QUk9QU19DT1JSRUNUXzMiIGlkPSJYTUxfU0NIRU1BUF9DVF9QUk9QU19DT1JSRUNUXzMiPlhNTF9TQ0hFTUFQX0NUX1BST1BTX0NPUlJFQ1RfMzwvYT4gPSAxNzg0IDogMTc4NAorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX0NUX1BST1BTX0NPUlJFQ1RfNCIgaWQ9IlhNTF9TQ0hFTUFQX0NUX1BST1BTX0NPUlJFQ1RfNCI+WE1MX1NDSEVNQVBfQ1RfUFJPUFNfQ09SUkVDVF80PC9hPiA9IDE3ODUgOiAxNzg1CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfQ1RfUFJPUFNfQ09SUkVDVF81IiBpZD0iWE1MX1NDSEVNQVBfQ1RfUFJPUFNfQ09SUkVDVF81Ij5YTUxfU0NIRU1BUF9DVF9QUk9QU19DT1JSRUNUXzU8L2E+ID0gMTc4NiA6IDE3ODYKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzEiIGlkPSJYTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzEiPlhNTF9TQ0hFTUFQX0RFUklWQVRJT05fT0tfUkVTVFJJQ1RJT05fMTwvYT4gPSAxNzg3IDogMTc4NworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX0RFUklWQVRJT05fT0tfUkVTVFJJQ1RJT05fMl8xXzEiIGlkPSJYTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzJfMV8xIj5YTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzJfMV8xPC9hPiA9IDE3ODggOiAxNzg4CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfREVSSVZBVElPTl9PS19SRVNUUklDVElPTl8yXzFfMiIgaWQ9IlhNTF9TQ0hFTUFQX0RFUklWQVRJT05fT0tfUkVTVFJJQ1RJT05fMl8xXzIiPlhNTF9TQ0hFTUFQX0RFUklWQVRJT05fT0tfUkVTVFJJQ1RJT05fMl8xXzI8L2E+ID0gMTc4OSA6IDE3ODkKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzJfMiIgaWQ9IlhNTF9TQ0hFTUFQX0RFUklWQVRJT05fT0tfUkVTVFJJQ1RJT05fMl8yIj5YTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzJfMjwvYT4gPSAxNzkwIDogMTc5MAorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX0RFUklWQVRJT05fT0tfUkVTVFJJQ1RJT05fMyIgaWQ9IlhNTF9TQ0hFTUFQX0RFUklWQVRJT05fT0tfUkVTVFJJQ1RJT05fMyI+WE1MX1NDSEVNQVBfREVSSVZBVElPTl9PS19SRVNUUklDVElPTl8zPC9hPiA9IDE3OTEgOiAxNzkxCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfV0lMRENBUkRfSU5WQUxJRF9OU19NRU1CRVIiIGlkPSJYTUxfU0NIRU1BUF9XSUxEQ0FSRF9JTlZBTElEX05TX01FTUJFUiI+WE1MX1NDSEVNQVBfV0lMRENBUkRfSU5WQUxJRF9OU19NRU1CRVI8L2E+ID0gMTc5MiA6IDE3OTIKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9JTlRFUlNFQ1RJT05fTk9UX0VYUFJFU1NJQkxFIiBpZD0iWE1MX1NDSEVNQVBfSU5URVJTRUNUSU9OX05PVF9FWFBSRVNTSUJMRSI+WE1MX1NDSEVNQVBfSU5URVJTRUNUSU9OX05PVF9FWFBSRVNTSUJMRTwvYT4gPSAxNzkzIDogMTc5MworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX1VOSU9OX05PVF9FWFBSRVNTSUJMRSIgaWQ9IlhNTF9TQ0hFTUFQX1VOSU9OX05PVF9FWFBSRVNTSUJMRSI+WE1MX1NDSEVNQVBfVU5JT05fTk9UX0VYUFJFU1NJQkxFPC9hPiA9IDE3OTQgOiAxNzk0CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfU1JDX0lNUE9SVF8zXzEiIGlkPSJYTUxfU0NIRU1BUF9TUkNfSU1QT1JUXzNfMSI+WE1MX1NDSEVNQVBfU1JDX0lNUE9SVF8zXzE8L2E+ID0gMTc5NSA6IDE3OTUKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9TUkNfSU1QT1JUXzNfMiIgaWQ9IlhNTF9TQ0hFTUFQX1NSQ19JTVBPUlRfM18yIj5YTUxfU0NIRU1BUF9TUkNfSU1QT1JUXzNfMjwvYT4gPSAxNzk2IDogMTc5NgorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX0RFUklWQVRJT05fT0tfUkVTVFJJQ1RJT05fNF8xIiBpZD0iWE1MX1NDSEVNQVBfREVSSVZBVElPTl9PS19SRVNUUklDVElPTl80XzEiPlhNTF9TQ0hFTUFQX0RFUklWQVRJT05fT0tfUkVTVFJJQ1RJT05fNF8xPC9hPiA9IDE3OTcgOiAxNzk3CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfREVSSVZBVElPTl9PS19SRVNUUklDVElPTl80XzIiIGlkPSJYTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzRfMiI+WE1MX1NDSEVNQVBfREVSSVZBVElPTl9PS19SRVNUUklDVElPTl80XzI8L2E+ID0gMTc5OCA6IDE3OTgKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzRfMyIgaWQ9IlhNTF9TQ0hFTUFQX0RFUklWQVRJT05fT0tfUkVTVFJJQ1RJT05fNF8zIj5YTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzRfMzwvYT4gPSAxNzk5IDogMTc5OQorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX0NPU19DVF9FWFRFTkRTXzFfMyIgaWQ9IlhNTF9TQ0hFTUFQX0NPU19DVF9FWFRFTkRTXzFfMyI+WE1MX1NDSEVNQVBfQ09TX0NUX0VYVEVORFNfMV8zPC9hPiA9IDE4MDAgOiAxODAwCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVZfTk9ST09UIiBpZD0iWE1MX1NDSEVNQVZfTk9ST09UIj5YTUxfU0NIRU1BVl9OT1JPT1Q8L2E+ID0gMTgwMQorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFWX1VOREVDTEFSRURFTEVNIiBpZD0iWE1MX1NDSEVNQVZfVU5ERUNMQVJFREVMRU0iPlhNTF9TQ0hFTUFWX1VOREVDTEFSRURFTEVNPC9hPiA9IDE4MDIgOiAxODAyCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVZfTk9UVE9QTEVWRUwiIGlkPSJYTUxfU0NIRU1BVl9OT1RUT1BMRVZFTCI+WE1MX1NDSEVNQVZfTk9UVE9QTEVWRUw8L2E+ID0gMTgwMyA6IDE4MDMKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BVl9NSVNTSU5HIiBpZD0iWE1MX1NDSEVNQVZfTUlTU0lORyI+WE1MX1NDSEVNQVZfTUlTU0lORzwvYT4gPSAxODA0IDogMTgwNAorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFWX1dST05HRUxFTSIgaWQ9IlhNTF9TQ0hFTUFWX1dST05HRUxFTSI+WE1MX1NDSEVNQVZfV1JPTkdFTEVNPC9hPiA9IDE4MDUgOiAxODA1CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVZfTk9UWVBFIiBpZD0iWE1MX1NDSEVNQVZfTk9UWVBFIj5YTUxfU0NIRU1BVl9OT1RZUEU8L2E+ID0gMTgwNiA6IDE4MDYKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BVl9OT1JPTExCQUNLIiBpZD0iWE1MX1NDSEVNQVZfTk9ST0xMQkFDSyI+WE1MX1NDSEVNQVZfTk9ST0xMQkFDSzwvYT4gPSAxODA3IDogMTgwNworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFWX0lTQUJTVFJBQ1QiIGlkPSJYTUxfU0NIRU1BVl9JU0FCU1RSQUNUIj5YTUxfU0NIRU1BVl9JU0FCU1RSQUNUPC9hPiA9IDE4MDggOiAxODA4CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVZfTk9URU1QVFkiIGlkPSJYTUxfU0NIRU1BVl9OT1RFTVBUWSI+WE1MX1NDSEVNQVZfTk9URU1QVFk8L2E+ID0gMTgwOSA6IDE4MDkKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BVl9FTEVNQ09OVCIgaWQ9IlhNTF9TQ0hFTUFWX0VMRU1DT05UIj5YTUxfU0NIRU1BVl9FTEVNQ09OVDwvYT4gPSAxODEwIDogMTgxMAorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFWX0hBVkVERUZBVUxUIiBpZD0iWE1MX1NDSEVNQVZfSEFWRURFRkFVTFQiPlhNTF9TQ0hFTUFWX0hBVkVERUZBVUxUPC9hPiA9IDE4MTEgOiAxODExCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVZfTk9UTklMTEFCTEUiIGlkPSJYTUxfU0NIRU1BVl9OT1ROSUxMQUJMRSI+WE1MX1NDSEVNQVZfTk9UTklMTEFCTEU8L2E+ID0gMTgxMiA6IDE4MTIKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BVl9FWFRSQUNPTlRFTlQiIGlkPSJYTUxfU0NIRU1BVl9FWFRSQUNPTlRFTlQiPlhNTF9TQ0hFTUFWX0VYVFJBQ09OVEVOVDwvYT4gPSAxODEzIDogMTgxMworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFWX0lOVkFMSURBVFRSIiBpZD0iWE1MX1NDSEVNQVZfSU5WQUxJREFUVFIiPlhNTF9TQ0hFTUFWX0lOVkFMSURBVFRSPC9hPiA9IDE4MTQgOiAxODE0CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVZfSU5WQUxJREVMRU0iIGlkPSJYTUxfU0NIRU1BVl9JTlZBTElERUxFTSI+WE1MX1NDSEVNQVZfSU5WQUxJREVMRU08L2E+ID0gMTgxNSA6IDE4MTUKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BVl9OT1RERVRFUk1JTklTVCIgaWQ9IlhNTF9TQ0hFTUFWX05PVERFVEVSTUlOSVNUIj5YTUxfU0NIRU1BVl9OT1RERVRFUk1JTklTVDwvYT4gPSAxODE2IDogMTgxNgorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFWX0NPTlNUUlVDVCIgaWQ9IlhNTF9TQ0hFTUFWX0NPTlNUUlVDVCI+WE1MX1NDSEVNQVZfQ09OU1RSVUNUPC9hPiA9IDE4MTcgOiAxODE3CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVZfSU5URVJOQUwiIGlkPSJYTUxfU0NIRU1BVl9JTlRFUk5BTCI+WE1MX1NDSEVNQVZfSU5URVJOQUw8L2E+ID0gMTgxOCA6IDE4MTgKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BVl9OT1RTSU1QTEUiIGlkPSJYTUxfU0NIRU1BVl9OT1RTSU1QTEUiPlhNTF9TQ0hFTUFWX05PVFNJTVBMRTwvYT4gPSAxODE5IDogMTgxOQorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFWX0FUVFJVTktOT1dOIiBpZD0iWE1MX1NDSEVNQVZfQVRUUlVOS05PV04iPlhNTF9TQ0hFTUFWX0FUVFJVTktOT1dOPC9hPiA9IDE4MjAgOiAxODIwCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVZfQVRUUklOVkFMSUQiIGlkPSJYTUxfU0NIRU1BVl9BVFRSSU5WQUxJRCI+WE1MX1NDSEVNQVZfQVRUUklOVkFMSUQ8L2E+ID0gMTgyMSA6IDE4MjEKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BVl9WQUxVRSIgaWQ9IlhNTF9TQ0hFTUFWX1ZBTFVFIj5YTUxfU0NIRU1BVl9WQUxVRTwvYT4gPSAxODIyIDogMTgyMgorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFWX0ZBQ0VUIiBpZD0iWE1MX1NDSEVNQVZfRkFDRVQiPlhNTF9TQ0hFTUFWX0ZBQ0VUPC9hPiA9IDE4MjMgOiAxODIzCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVZfQ1ZDX0RBVEFUWVBFX1ZBTElEXzFfMl8xIiBpZD0iWE1MX1NDSEVNQVZfQ1ZDX0RBVEFUWVBFX1ZBTElEXzFfMl8xIj5YTUxfU0NIRU1BVl9DVkNfREFUQVRZUEVfVkFMSURfMV8yXzE8L2E+ID0gMTgyNCA6IDE4MjQKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BVl9DVkNfREFUQVRZUEVfVkFMSURfMV8yXzIiIGlkPSJYTUxfU0NIRU1BVl9DVkNfREFUQVRZUEVfVkFMSURfMV8yXzIiPlhNTF9TQ0hFTUFWX0NWQ19EQVRBVFlQRV9WQUxJRF8xXzJfMjwvYT4gPSAxODI1IDogMTgyNQorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFWX0NWQ19EQVRBVFlQRV9WQUxJRF8xXzJfMyIgaWQ9IlhNTF9TQ0hFTUFWX0NWQ19EQVRBVFlQRV9WQUxJRF8xXzJfMyI+WE1MX1NDSEVNQVZfQ1ZDX0RBVEFUWVBFX1ZBTElEXzFfMl8zPC9hPiA9IDE4MjYgOiAxODI2CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVZfQ1ZDX1RZUEVfM18xXzEiIGlkPSJYTUxfU0NIRU1BVl9DVkNfVFlQRV8zXzFfMSI+WE1MX1NDSEVNQVZfQ1ZDX1RZUEVfM18xXzE8L2E+ID0gMTgyNyA6IDE4MjcKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BVl9DVkNfVFlQRV8zXzFfMiIgaWQ9IlhNTF9TQ0hFTUFWX0NWQ19UWVBFXzNfMV8yIj5YTUxfU0NIRU1BVl9DVkNfVFlQRV8zXzFfMjwvYT4gPSAxODI4IDogMTgyOAorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFWX0NWQ19GQUNFVF9WQUxJRCIgaWQ9IlhNTF9TQ0hFTUFWX0NWQ19GQUNFVF9WQUxJRCI+WE1MX1NDSEVNQVZfQ1ZDX0ZBQ0VUX1ZBTElEPC9hPiA9IDE4MjkgOiAxODI5CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVZfQ1ZDX0xFTkdUSF9WQUxJRCIgaWQ9IlhNTF9TQ0hFTUFWX0NWQ19MRU5HVEhfVkFMSUQiPlhNTF9TQ0hFTUFWX0NWQ19MRU5HVEhfVkFMSUQ8L2E+ID0gMTgzMCA6IDE4MzAKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BVl9DVkNfTUlOTEVOR1RIX1ZBTElEIiBpZD0iWE1MX1NDSEVNQVZfQ1ZDX01JTkxFTkdUSF9WQUxJRCI+WE1MX1NDSEVNQVZfQ1ZDX01JTkxFTkdUSF9WQUxJRDwvYT4gPSAxODMxIDogMTgzMQorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFWX0NWQ19NQVhMRU5HVEhfVkFMSUQiIGlkPSJYTUxfU0NIRU1BVl9DVkNfTUFYTEVOR1RIX1ZBTElEIj5YTUxfU0NIRU1BVl9DVkNfTUFYTEVOR1RIX1ZBTElEPC9hPiA9IDE4MzIgOiAxODMyCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVZfQ1ZDX01JTklOQ0xVU0lWRV9WQUxJRCIgaWQ9IlhNTF9TQ0hFTUFWX0NWQ19NSU5JTkNMVVNJVkVfVkFMSUQiPlhNTF9TQ0hFTUFWX0NWQ19NSU5JTkNMVVNJVkVfVkFMSUQ8L2E+ID0gMTgzMyA6IDE4MzMKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BVl9DVkNfTUFYSU5DTFVTSVZFX1ZBTElEIiBpZD0iWE1MX1NDSEVNQVZfQ1ZDX01BWElOQ0xVU0lWRV9WQUxJRCI+WE1MX1NDSEVNQVZfQ1ZDX01BWElOQ0xVU0lWRV9WQUxJRDwvYT4gPSAxODM0IDogMTgzNAorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFWX0NWQ19NSU5FWENMVVNJVkVfVkFMSUQiIGlkPSJYTUxfU0NIRU1BVl9DVkNfTUlORVhDTFVTSVZFX1ZBTElEIj5YTUxfU0NIRU1BVl9DVkNfTUlORVhDTFVTSVZFX1ZBTElEPC9hPiA9IDE4MzUgOiAxODM1CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVZfQ1ZDX01BWEVYQ0xVU0lWRV9WQUxJRCIgaWQ9IlhNTF9TQ0hFTUFWX0NWQ19NQVhFWENMVVNJVkVfVkFMSUQiPlhNTF9TQ0hFTUFWX0NWQ19NQVhFWENMVVNJVkVfVkFMSUQ8L2E+ID0gMTgzNiA6IDE4MzYKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BVl9DVkNfVE9UQUxESUdJVFNfVkFMSUQiIGlkPSJYTUxfU0NIRU1BVl9DVkNfVE9UQUxESUdJVFNfVkFMSUQiPlhNTF9TQ0hFTUFWX0NWQ19UT1RBTERJR0lUU19WQUxJRDwvYT4gPSAxODM3IDogMTgzNworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFWX0NWQ19GUkFDVElPTkRJR0lUU19WQUxJRCIgaWQ9IlhNTF9TQ0hFTUFWX0NWQ19GUkFDVElPTkRJR0lUU19WQUxJRCI+WE1MX1NDSEVNQVZfQ1ZDX0ZSQUNUSU9ORElHSVRTX1ZBTElEPC9hPiA9IDE4MzggOiAxODM4CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVZfQ1ZDX1BBVFRFUk5fVkFMSUQiIGlkPSJYTUxfU0NIRU1BVl9DVkNfUEFUVEVSTl9WQUxJRCI+WE1MX1NDSEVNQVZfQ1ZDX1BBVFRFUk5fVkFMSUQ8L2E+ID0gMTgzOSA6IDE4MzkKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BVl9DVkNfRU5VTUVSQVRJT05fVkFMSUQiIGlkPSJYTUxfU0NIRU1BVl9DVkNfRU5VTUVSQVRJT05fVkFMSUQiPlhNTF9TQ0hFTUFWX0NWQ19FTlVNRVJBVElPTl9WQUxJRDwvYT4gPSAxODQwIDogMTg0MAorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfMl8xIiBpZD0iWE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV8yXzEiPlhNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfMl8xPC9hPiA9IDE4NDEgOiAxODQxCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV8yXzIiIGlkPSJYTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzJfMiI+WE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV8yXzI8L2E+ID0gMTg0MiA6IDE4NDIKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzJfMyIgaWQ9IlhNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfMl8zIj5YTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzJfMzwvYT4gPSAxODQzIDogMTg0MworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfMl80IiBpZD0iWE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV8yXzQiPlhNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfMl80PC9hPiA9IDE4NDQgOiAxODQ0CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVZfQ1ZDX0VMVF8xIiBpZD0iWE1MX1NDSEVNQVZfQ1ZDX0VMVF8xIj5YTUxfU0NIRU1BVl9DVkNfRUxUXzE8L2E+ID0gMTg0NSA6IDE4NDUKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BVl9DVkNfRUxUXzIiIGlkPSJYTUxfU0NIRU1BVl9DVkNfRUxUXzIiPlhNTF9TQ0hFTUFWX0NWQ19FTFRfMjwvYT4gPSAxODQ2IDogMTg0NgorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFWX0NWQ19FTFRfM18xIiBpZD0iWE1MX1NDSEVNQVZfQ1ZDX0VMVF8zXzEiPlhNTF9TQ0hFTUFWX0NWQ19FTFRfM18xPC9hPiA9IDE4NDcgOiAxODQ3CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVZfQ1ZDX0VMVF8zXzJfMSIgaWQ9IlhNTF9TQ0hFTUFWX0NWQ19FTFRfM18yXzEiPlhNTF9TQ0hFTUFWX0NWQ19FTFRfM18yXzE8L2E+ID0gMTg0OCA6IDE4NDgKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BVl9DVkNfRUxUXzNfMl8yIiBpZD0iWE1MX1NDSEVNQVZfQ1ZDX0VMVF8zXzJfMiI+WE1MX1NDSEVNQVZfQ1ZDX0VMVF8zXzJfMjwvYT4gPSAxODQ5IDogMTg0OQorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFWX0NWQ19FTFRfNF8xIiBpZD0iWE1MX1NDSEVNQVZfQ1ZDX0VMVF80XzEiPlhNTF9TQ0hFTUFWX0NWQ19FTFRfNF8xPC9hPiA9IDE4NTAgOiAxODUwCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVZfQ1ZDX0VMVF80XzIiIGlkPSJYTUxfU0NIRU1BVl9DVkNfRUxUXzRfMiI+WE1MX1NDSEVNQVZfQ1ZDX0VMVF80XzI8L2E+ID0gMTg1MSA6IDE4NTEKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BVl9DVkNfRUxUXzRfMyIgaWQ9IlhNTF9TQ0hFTUFWX0NWQ19FTFRfNF8zIj5YTUxfU0NIRU1BVl9DVkNfRUxUXzRfMzwvYT4gPSAxODUyIDogMTg1MgorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFWX0NWQ19FTFRfNV8xXzEiIGlkPSJYTUxfU0NIRU1BVl9DVkNfRUxUXzVfMV8xIj5YTUxfU0NIRU1BVl9DVkNfRUxUXzVfMV8xPC9hPiA9IDE4NTMgOiAxODUzCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVZfQ1ZDX0VMVF81XzFfMiIgaWQ9IlhNTF9TQ0hFTUFWX0NWQ19FTFRfNV8xXzIiPlhNTF9TQ0hFTUFWX0NWQ19FTFRfNV8xXzI8L2E+ID0gMTg1NCA6IDE4NTQKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BVl9DVkNfRUxUXzVfMl8xIiBpZD0iWE1MX1NDSEVNQVZfQ1ZDX0VMVF81XzJfMSI+WE1MX1NDSEVNQVZfQ1ZDX0VMVF81XzJfMTwvYT4gPSAxODU1IDogMTg1NQorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFWX0NWQ19FTFRfNV8yXzJfMSIgaWQ9IlhNTF9TQ0hFTUFWX0NWQ19FTFRfNV8yXzJfMSI+WE1MX1NDSEVNQVZfQ1ZDX0VMVF81XzJfMl8xPC9hPiA9IDE4NTYgOiAxODU2CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVZfQ1ZDX0VMVF81XzJfMl8yXzEiIGlkPSJYTUxfU0NIRU1BVl9DVkNfRUxUXzVfMl8yXzJfMSI+WE1MX1NDSEVNQVZfQ1ZDX0VMVF81XzJfMl8yXzE8L2E+ID0gMTg1NyA6IDE4NTcKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BVl9DVkNfRUxUXzVfMl8yXzJfMiIgaWQ9IlhNTF9TQ0hFTUFWX0NWQ19FTFRfNV8yXzJfMl8yIj5YTUxfU0NIRU1BVl9DVkNfRUxUXzVfMl8yXzJfMjwvYT4gPSAxODU4IDogMTg1OAorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFWX0NWQ19FTFRfNiIgaWQ9IlhNTF9TQ0hFTUFWX0NWQ19FTFRfNiI+WE1MX1NDSEVNQVZfQ1ZDX0VMVF82PC9hPiA9IDE4NTkgOiAxODU5CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVZfQ1ZDX0VMVF83IiBpZD0iWE1MX1NDSEVNQVZfQ1ZDX0VMVF83Ij5YTUxfU0NIRU1BVl9DVkNfRUxUXzc8L2E+ID0gMTg2MCA6IDE4NjAKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BVl9DVkNfQVRUUklCVVRFXzEiIGlkPSJYTUxfU0NIRU1BVl9DVkNfQVRUUklCVVRFXzEiPlhNTF9TQ0hFTUFWX0NWQ19BVFRSSUJVVEVfMTwvYT4gPSAxODYxIDogMTg2MQorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFWX0NWQ19BVFRSSUJVVEVfMiIgaWQ9IlhNTF9TQ0hFTUFWX0NWQ19BVFRSSUJVVEVfMiI+WE1MX1NDSEVNQVZfQ1ZDX0FUVFJJQlVURV8yPC9hPiA9IDE4NjIgOiAxODYyCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVZfQ1ZDX0FUVFJJQlVURV8zIiBpZD0iWE1MX1NDSEVNQVZfQ1ZDX0FUVFJJQlVURV8zIj5YTUxfU0NIRU1BVl9DVkNfQVRUUklCVVRFXzM8L2E+ID0gMTg2MyA6IDE4NjMKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BVl9DVkNfQVRUUklCVVRFXzQiIGlkPSJYTUxfU0NIRU1BVl9DVkNfQVRUUklCVVRFXzQiPlhNTF9TQ0hFTUFWX0NWQ19BVFRSSUJVVEVfNDwvYT4gPSAxODY0IDogMTg2NAorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfM18xIiBpZD0iWE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV8zXzEiPlhNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfM18xPC9hPiA9IDE4NjUgOiAxODY1CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV8zXzJfMSIgaWQ9IlhNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfM18yXzEiPlhNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfM18yXzE8L2E+ID0gMTg2NiA6IDE4NjYKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzNfMl8yIiBpZD0iWE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV8zXzJfMiI+WE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV8zXzJfMjwvYT4gPSAxODY3IDogMTg2NworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfNCIgaWQ9IlhNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfNCI+WE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV80PC9hPiA9IDE4NjggOiAxODY4CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV81XzEiIGlkPSJYTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzVfMSI+WE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV81XzE8L2E+ID0gMTg2OSA6IDE4NjkKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzVfMiIgaWQ9IlhNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfNV8yIj5YTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzVfMjwvYT4gPSAxODcwIDogMTg3MAorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFWX0VMRU1FTlRfQ09OVEVOVCIgaWQ9IlhNTF9TQ0hFTUFWX0VMRU1FTlRfQ09OVEVOVCI+WE1MX1NDSEVNQVZfRUxFTUVOVF9DT05URU5UPC9hPiA9IDE4NzEgOiAxODcxCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVZfRE9DVU1FTlRfRUxFTUVOVF9NSVNTSU5HIiBpZD0iWE1MX1NDSEVNQVZfRE9DVU1FTlRfRUxFTUVOVF9NSVNTSU5HIj5YTUxfU0NIRU1BVl9ET0NVTUVOVF9FTEVNRU5UX01JU1NJTkc8L2E+ID0gMTg3MiA6IDE4NzIKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzEiIGlkPSJYTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzEiPlhNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfMTwvYT4gPSAxODczIDogMTg3MworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFWX0NWQ19BVSIgaWQ9IlhNTF9TQ0hFTUFWX0NWQ19BVSI+WE1MX1NDSEVNQVZfQ1ZDX0FVPC9hPiA9IDE4NzQgOiAxODc0CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVZfQ1ZDX1RZUEVfMSIgaWQ9IlhNTF9TQ0hFTUFWX0NWQ19UWVBFXzEiPlhNTF9TQ0hFTUFWX0NWQ19UWVBFXzE8L2E+ID0gMTg3NSA6IDE4NzUKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BVl9DVkNfVFlQRV8yIiBpZD0iWE1MX1NDSEVNQVZfQ1ZDX1RZUEVfMiI+WE1MX1NDSEVNQVZfQ1ZDX1RZUEVfMjwvYT4gPSAxODc2IDogMTg3NgorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFWX0NWQ19JREMiIGlkPSJYTUxfU0NIRU1BVl9DVkNfSURDIj5YTUxfU0NIRU1BVl9DVkNfSURDPC9hPiA9IDE4NzcgOiAxODc3CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVZfQ1ZDX1dJTERDQVJEIiBpZD0iWE1MX1NDSEVNQVZfQ1ZDX1dJTERDQVJEIj5YTUxfU0NIRU1BVl9DVkNfV0lMRENBUkQ8L2E+ID0gMTg3OCA6IDE4NzgKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BVl9NSVNDIiBpZD0iWE1MX1NDSEVNQVZfTUlTQyI+WE1MX1NDSEVNQVZfTUlTQzwvYT4gPSAxODc5IDogMTg3OQorICAgIDxhIG5hbWU9IlhNTF9YUFRSX1VOS05PV05fU0NIRU1FIiBpZD0iWE1MX1hQVFJfVU5LTk9XTl9TQ0hFTUUiPlhNTF9YUFRSX1VOS05PV05fU0NIRU1FPC9hPiA9IDE5MDAKKyAgICA8YSBuYW1lPSJYTUxfWFBUUl9DSElMRFNFUV9TVEFSVCIgaWQ9IlhNTF9YUFRSX0NISUxEU0VRX1NUQVJUIj5YTUxfWFBUUl9DSElMRFNFUV9TVEFSVDwvYT4gPSAxOTAxIDogMTkwMQorICAgIDxhIG5hbWU9IlhNTF9YUFRSX0VWQUxfRkFJTEVEIiBpZD0iWE1MX1hQVFJfRVZBTF9GQUlMRUQiPlhNTF9YUFRSX0VWQUxfRkFJTEVEPC9hPiA9IDE5MDIgOiAxOTAyCisgICAgPGEgbmFtZT0iWE1MX1hQVFJfRVhUUkFfT0JKRUNUUyIgaWQ9IlhNTF9YUFRSX0VYVFJBX09CSkVDVFMiPlhNTF9YUFRSX0VYVFJBX09CSkVDVFM8L2E+ID0gMTkwMyA6IDE5MDMKKyAgICA8YSBuYW1lPSJYTUxfQzE0Tl9DUkVBVEVfQ1RYVCIgaWQ9IlhNTF9DMTROX0NSRUFURV9DVFhUIj5YTUxfQzE0Tl9DUkVBVEVfQ1RYVDwvYT4gPSAxOTUwCisgICAgPGEgbmFtZT0iWE1MX0MxNE5fUkVRVUlSRVNfVVRGOCIgaWQ9IlhNTF9DMTROX1JFUVVJUkVTX1VURjgiPlhNTF9DMTROX1JFUVVJUkVTX1VURjg8L2E+ID0gMTk1MSA6IDE5NTEKKyAgICA8YSBuYW1lPSJYTUxfQzE0Tl9DUkVBVEVfU1RBQ0siIGlkPSJYTUxfQzE0Tl9DUkVBVEVfU1RBQ0siPlhNTF9DMTROX0NSRUFURV9TVEFDSzwvYT4gPSAxOTUyIDogMTk1MgorICAgIDxhIG5hbWU9IlhNTF9DMTROX0lOVkFMSURfTk9ERSIgaWQ9IlhNTF9DMTROX0lOVkFMSURfTk9ERSI+WE1MX0MxNE5fSU5WQUxJRF9OT0RFPC9hPiA9IDE5NTMgOiAxOTUzCisgICAgPGEgbmFtZT0iWE1MX0MxNE5fVU5LTk9XX05PREUiIGlkPSJYTUxfQzE0Tl9VTktOT1dfTk9ERSI+WE1MX0MxNE5fVU5LTk9XX05PREU8L2E+ID0gMTk1NCA6IDE5NTQKKyAgICA8YSBuYW1lPSJYTUxfQzE0Tl9SRUxBVElWRV9OQU1FU1BBQ0UiIGlkPSJYTUxfQzE0Tl9SRUxBVElWRV9OQU1FU1BBQ0UiPlhNTF9DMTROX1JFTEFUSVZFX05BTUVTUEFDRTwvYT4gPSAxOTU1IDogMTk1NQorICAgIDxhIG5hbWU9IlhNTF9GVFBfUEFTVl9BTlNXRVIiIGlkPSJYTUxfRlRQX1BBU1ZfQU5TV0VSIj5YTUxfRlRQX1BBU1ZfQU5TV0VSPC9hPiA9IDIwMDAKKyAgICA8YSBuYW1lPSJYTUxfRlRQX0VQU1ZfQU5TV0VSIiBpZD0iWE1MX0ZUUF9FUFNWX0FOU1dFUiI+WE1MX0ZUUF9FUFNWX0FOU1dFUjwvYT4gPSAyMDAxIDogMjAwMQorICAgIDxhIG5hbWU9IlhNTF9GVFBfQUNDTlQiIGlkPSJYTUxfRlRQX0FDQ05UIj5YTUxfRlRQX0FDQ05UPC9hPiA9IDIwMDIgOiAyMDAyCisgICAgPGEgbmFtZT0iWE1MX0ZUUF9VUkxfU1lOVEFYIiBpZD0iWE1MX0ZUUF9VUkxfU1lOVEFYIj5YTUxfRlRQX1VSTF9TWU5UQVg8L2E+ID0gMjAwMyA6IDIwMDMKKyAgICA8YSBuYW1lPSJYTUxfSFRUUF9VUkxfU1lOVEFYIiBpZD0iWE1MX0hUVFBfVVJMX1NZTlRBWCI+WE1MX0hUVFBfVVJMX1NZTlRBWDwvYT4gPSAyMDIwCisgICAgPGEgbmFtZT0iWE1MX0hUVFBfVVNFX0lQIiBpZD0iWE1MX0hUVFBfVVNFX0lQIj5YTUxfSFRUUF9VU0VfSVA8L2E+ID0gMjAyMSA6IDIwMjEKKyAgICA8YSBuYW1lPSJYTUxfSFRUUF9VTktOT1dOX0hPU1QiIGlkPSJYTUxfSFRUUF9VTktOT1dOX0hPU1QiPlhNTF9IVFRQX1VOS05PV05fSE9TVDwvYT4gPSAyMDIyIDogMjAyMgorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX1NSQ19TSU1QTEVfVFlQRV8xIiBpZD0iWE1MX1NDSEVNQVBfU1JDX1NJTVBMRV9UWVBFXzEiPlhNTF9TQ0hFTUFQX1NSQ19TSU1QTEVfVFlQRV8xPC9hPiA9IDMwMDAKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9TUkNfU0lNUExFX1RZUEVfMiIgaWQ9IlhNTF9TQ0hFTUFQX1NSQ19TSU1QTEVfVFlQRV8yIj5YTUxfU0NIRU1BUF9TUkNfU0lNUExFX1RZUEVfMjwvYT4gPSAzMDAxIDogMzAwMQorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX1NSQ19TSU1QTEVfVFlQRV8zIiBpZD0iWE1MX1NDSEVNQVBfU1JDX1NJTVBMRV9UWVBFXzMiPlhNTF9TQ0hFTUFQX1NSQ19TSU1QTEVfVFlQRV8zPC9hPiA9IDMwMDIgOiAzMDAyCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfU1JDX1NJTVBMRV9UWVBFXzQiIGlkPSJYTUxfU0NIRU1BUF9TUkNfU0lNUExFX1RZUEVfNCI+WE1MX1NDSEVNQVBfU1JDX1NJTVBMRV9UWVBFXzQ8L2E+ID0gMzAwMyA6IDMwMDMKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9TUkNfUkVTT0xWRSIgaWQ9IlhNTF9TQ0hFTUFQX1NSQ19SRVNPTFZFIj5YTUxfU0NIRU1BUF9TUkNfUkVTT0xWRTwvYT4gPSAzMDA0IDogMzAwNAorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX1NSQ19SRVNUUklDVElPTl9CQVNFX09SX1NJTVBMRVRZUEUiIGlkPSJYTUxfU0NIRU1BUF9TUkNfUkVTVFJJQ1RJT05fQkFTRV9PUl9TSU1QTEVUWVBFIj5YTUxfU0NIRU1BUF9TUkNfUkVTVFJJQ1RJT05fQkFTRV9PUl9TSU1QTEVUWVBFPC9hPiA9IDMwMDUgOiAzMDA1CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfU1JDX0xJU1RfSVRFTVRZUEVfT1JfU0lNUExFVFlQRSIgaWQ9IlhNTF9TQ0hFTUFQX1NSQ19MSVNUX0lURU1UWVBFX09SX1NJTVBMRVRZUEUiPlhNTF9TQ0hFTUFQX1NSQ19MSVNUX0lURU1UWVBFX09SX1NJTVBMRVRZUEU8L2E+ID0gMzAwNiA6IDMwMDYKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9TUkNfVU5JT05fTUVNQkVSVFlQRVNfT1JfU0lNUExFVFlQRVMiIGlkPSJYTUxfU0NIRU1BUF9TUkNfVU5JT05fTUVNQkVSVFlQRVNfT1JfU0lNUExFVFlQRVMiPlhNTF9TQ0hFTUFQX1NSQ19VTklPTl9NRU1CRVJUWVBFU19PUl9TSU1QTEVUWVBFUzwvYT4gPSAzMDA3IDogMzAwNworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX1NUX1BST1BTX0NPUlJFQ1RfMSIgaWQ9IlhNTF9TQ0hFTUFQX1NUX1BST1BTX0NPUlJFQ1RfMSI+WE1MX1NDSEVNQVBfU1RfUFJPUFNfQ09SUkVDVF8xPC9hPiA9IDMwMDggOiAzMDA4CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfU1RfUFJPUFNfQ09SUkVDVF8yIiBpZD0iWE1MX1NDSEVNQVBfU1RfUFJPUFNfQ09SUkVDVF8yIj5YTUxfU0NIRU1BUF9TVF9QUk9QU19DT1JSRUNUXzI8L2E+ID0gMzAwOSA6IDMwMDkKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9TVF9QUk9QU19DT1JSRUNUXzMiIGlkPSJYTUxfU0NIRU1BUF9TVF9QUk9QU19DT1JSRUNUXzMiPlhNTF9TQ0hFTUFQX1NUX1BST1BTX0NPUlJFQ1RfMzwvYT4gPSAzMDEwIDogMzAxMAorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMV8xIiBpZD0iWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18xXzEiPlhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMV8xPC9hPiA9IDMwMTEgOiAzMDExCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18xXzIiIGlkPSJYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzFfMiI+WE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18xXzI8L2E+ID0gMzAxMiA6IDMwMTIKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzFfM18xIiBpZD0iWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18xXzNfMSI+WE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18xXzNfMTwvYT4gPSAzMDEzIDogMzAxMworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMV8zXzIiIGlkPSJYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzFfM18yIj5YTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzFfM18yPC9hPiA9IDMwMTQgOiAzMDE0CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzEiIGlkPSJYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzJfMSI+WE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzE8L2E+ID0gMzAxNSA6IDMwMTUKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzJfM18xXzEiIGlkPSJYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzJfM18xXzEiPlhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMl8zXzFfMTwvYT4gPSAzMDE2IDogMzAxNgorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMl8zXzFfMiIgaWQ9IlhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMl8zXzFfMiI+WE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzNfMV8yPC9hPiA9IDMwMTcgOiAzMDE3CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzNfMl8xIiBpZD0iWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzNfMl8xIj5YTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzJfM18yXzE8L2E+ID0gMzAxOCA6IDMwMTgKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzJfM18yXzIiIGlkPSJYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzJfM18yXzIiPlhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMl8zXzJfMjwvYT4gPSAzMDE5IDogMzAxOQorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMl8zXzJfMyIgaWQ9IlhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMl8zXzJfMyI+WE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzNfMl8zPC9hPiA9IDMwMjAgOiAzMDIwCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzNfMl80IiBpZD0iWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzNfMl80Ij5YTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzJfM18yXzQ8L2E+ID0gMzAyMSA6IDMwMjEKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzJfM18yXzUiIGlkPSJYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzJfM18yXzUiPlhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMl8zXzJfNTwvYT4gPSAzMDIyIDogMzAyMgorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfM18xIiBpZD0iWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzEiPlhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfM18xPC9hPiA9IDMwMjMgOiAzMDIzCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzNfMSIgaWQ9IlhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfM18zXzEiPlhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfM18zXzE8L2E+ID0gMzAyNCA6IDMwMjQKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzNfM18xXzIiIGlkPSJYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzNfM18xXzIiPlhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfM18zXzFfMjwvYT4gPSAzMDI1IDogMzAyNQorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfM18zXzJfMiIgaWQ9IlhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfM18zXzJfMiI+WE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzNfMl8yPC9hPiA9IDMwMjYgOiAzMDI2CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzNfMl8xIiBpZD0iWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzNfMl8xIj5YTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzNfM18yXzE8L2E+ID0gMzAyNyA6IDMwMjcKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzNfM18yXzMiIGlkPSJYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzNfM18yXzMiPlhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfM18zXzJfMzwvYT4gPSAzMDI4IDogMzAyOAorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfM18zXzJfNCIgaWQ9IlhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfM18zXzJfNCI+WE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzNfMl80PC9hPiA9IDMwMjkgOiAzMDI5CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzNfMl81IiBpZD0iWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzNfMl81Ij5YTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzNfM18yXzU8L2E+ID0gMzAzMCA6IDMwMzAKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9DT1NfU1RfREVSSVZFRF9PS18yXzEiIGlkPSJYTUxfU0NIRU1BUF9DT1NfU1RfREVSSVZFRF9PS18yXzEiPlhNTF9TQ0hFTUFQX0NPU19TVF9ERVJJVkVEX09LXzJfMTwvYT4gPSAzMDMxIDogMzAzMQorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX0NPU19TVF9ERVJJVkVEX09LXzJfMiIgaWQ9IlhNTF9TQ0hFTUFQX0NPU19TVF9ERVJJVkVEX09LXzJfMiI+WE1MX1NDSEVNQVBfQ09TX1NUX0RFUklWRURfT0tfMl8yPC9hPiA9IDMwMzIgOiAzMDMyCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfUzRTX0VMRU1fTk9UX0FMTE9XRUQiIGlkPSJYTUxfU0NIRU1BUF9TNFNfRUxFTV9OT1RfQUxMT1dFRCI+WE1MX1NDSEVNQVBfUzRTX0VMRU1fTk9UX0FMTE9XRUQ8L2E+ID0gMzAzMyA6IDMwMzMKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9TNFNfRUxFTV9NSVNTSU5HIiBpZD0iWE1MX1NDSEVNQVBfUzRTX0VMRU1fTUlTU0lORyI+WE1MX1NDSEVNQVBfUzRTX0VMRU1fTUlTU0lORzwvYT4gPSAzMDM0IDogMzAzNAorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX1M0U19BVFRSX05PVF9BTExPV0VEIiBpZD0iWE1MX1NDSEVNQVBfUzRTX0FUVFJfTk9UX0FMTE9XRUQiPlhNTF9TQ0hFTUFQX1M0U19BVFRSX05PVF9BTExPV0VEPC9hPiA9IDMwMzUgOiAzMDM1CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfUzRTX0FUVFJfTUlTU0lORyIgaWQ9IlhNTF9TQ0hFTUFQX1M0U19BVFRSX01JU1NJTkciPlhNTF9TQ0hFTUFQX1M0U19BVFRSX01JU1NJTkc8L2E+ID0gMzAzNiA6IDMwMzYKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9TNFNfQVRUUl9JTlZBTElEX1ZBTFVFIiBpZD0iWE1MX1NDSEVNQVBfUzRTX0FUVFJfSU5WQUxJRF9WQUxVRSI+WE1MX1NDSEVNQVBfUzRTX0FUVFJfSU5WQUxJRF9WQUxVRTwvYT4gPSAzMDM3IDogMzAzNworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX1NSQ19FTEVNRU5UXzEiIGlkPSJYTUxfU0NIRU1BUF9TUkNfRUxFTUVOVF8xIj5YTUxfU0NIRU1BUF9TUkNfRUxFTUVOVF8xPC9hPiA9IDMwMzggOiAzMDM4CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfU1JDX0VMRU1FTlRfMl8xIiBpZD0iWE1MX1NDSEVNQVBfU1JDX0VMRU1FTlRfMl8xIj5YTUxfU0NIRU1BUF9TUkNfRUxFTUVOVF8yXzE8L2E+ID0gMzAzOSA6IDMwMzkKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9TUkNfRUxFTUVOVF8yXzIiIGlkPSJYTUxfU0NIRU1BUF9TUkNfRUxFTUVOVF8yXzIiPlhNTF9TQ0hFTUFQX1NSQ19FTEVNRU5UXzJfMjwvYT4gPSAzMDQwIDogMzA0MAorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX1NSQ19FTEVNRU5UXzMiIGlkPSJYTUxfU0NIRU1BUF9TUkNfRUxFTUVOVF8zIj5YTUxfU0NIRU1BUF9TUkNfRUxFTUVOVF8zPC9hPiA9IDMwNDEgOiAzMDQxCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfUF9QUk9QU19DT1JSRUNUXzEiIGlkPSJYTUxfU0NIRU1BUF9QX1BST1BTX0NPUlJFQ1RfMSI+WE1MX1NDSEVNQVBfUF9QUk9QU19DT1JSRUNUXzE8L2E+ID0gMzA0MiA6IDMwNDIKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9QX1BST1BTX0NPUlJFQ1RfMl8xIiBpZD0iWE1MX1NDSEVNQVBfUF9QUk9QU19DT1JSRUNUXzJfMSI+WE1MX1NDSEVNQVBfUF9QUk9QU19DT1JSRUNUXzJfMTwvYT4gPSAzMDQzIDogMzA0MworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX1BfUFJPUFNfQ09SUkVDVF8yXzIiIGlkPSJYTUxfU0NIRU1BUF9QX1BST1BTX0NPUlJFQ1RfMl8yIj5YTUxfU0NIRU1BUF9QX1BST1BTX0NPUlJFQ1RfMl8yPC9hPiA9IDMwNDQgOiAzMDQ0CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfRV9QUk9QU19DT1JSRUNUXzIiIGlkPSJYTUxfU0NIRU1BUF9FX1BST1BTX0NPUlJFQ1RfMiI+WE1MX1NDSEVNQVBfRV9QUk9QU19DT1JSRUNUXzI8L2E+ID0gMzA0NSA6IDMwNDUKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9FX1BST1BTX0NPUlJFQ1RfMyIgaWQ9IlhNTF9TQ0hFTUFQX0VfUFJPUFNfQ09SUkVDVF8zIj5YTUxfU0NIRU1BUF9FX1BST1BTX0NPUlJFQ1RfMzwvYT4gPSAzMDQ2IDogMzA0NgorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX0VfUFJPUFNfQ09SUkVDVF80IiBpZD0iWE1MX1NDSEVNQVBfRV9QUk9QU19DT1JSRUNUXzQiPlhNTF9TQ0hFTUFQX0VfUFJPUFNfQ09SUkVDVF80PC9hPiA9IDMwNDcgOiAzMDQ3CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfRV9QUk9QU19DT1JSRUNUXzUiIGlkPSJYTUxfU0NIRU1BUF9FX1BST1BTX0NPUlJFQ1RfNSI+WE1MX1NDSEVNQVBfRV9QUk9QU19DT1JSRUNUXzU8L2E+ID0gMzA0OCA6IDMwNDgKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9FX1BST1BTX0NPUlJFQ1RfNiIgaWQ9IlhNTF9TQ0hFTUFQX0VfUFJPUFNfQ09SUkVDVF82Ij5YTUxfU0NIRU1BUF9FX1BST1BTX0NPUlJFQ1RfNjwvYT4gPSAzMDQ5IDogMzA0OQorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX1NSQ19JTkNMVURFIiBpZD0iWE1MX1NDSEVNQVBfU1JDX0lOQ0xVREUiPlhNTF9TQ0hFTUFQX1NSQ19JTkNMVURFPC9hPiA9IDMwNTAgOiAzMDUwCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfU1JDX0FUVFJJQlVURV8xIiBpZD0iWE1MX1NDSEVNQVBfU1JDX0FUVFJJQlVURV8xIj5YTUxfU0NIRU1BUF9TUkNfQVRUUklCVVRFXzE8L2E+ID0gMzA1MSA6IDMwNTEKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9TUkNfQVRUUklCVVRFXzIiIGlkPSJYTUxfU0NIRU1BUF9TUkNfQVRUUklCVVRFXzIiPlhNTF9TQ0hFTUFQX1NSQ19BVFRSSUJVVEVfMjwvYT4gPSAzMDUyIDogMzA1MgorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX1NSQ19BVFRSSUJVVEVfM18xIiBpZD0iWE1MX1NDSEVNQVBfU1JDX0FUVFJJQlVURV8zXzEiPlhNTF9TQ0hFTUFQX1NSQ19BVFRSSUJVVEVfM18xPC9hPiA9IDMwNTMgOiAzMDUzCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfU1JDX0FUVFJJQlVURV8zXzIiIGlkPSJYTUxfU0NIRU1BUF9TUkNfQVRUUklCVVRFXzNfMiI+WE1MX1NDSEVNQVBfU1JDX0FUVFJJQlVURV8zXzI8L2E+ID0gMzA1NCA6IDMwNTQKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9TUkNfQVRUUklCVVRFXzQiIGlkPSJYTUxfU0NIRU1BUF9TUkNfQVRUUklCVVRFXzQiPlhNTF9TQ0hFTUFQX1NSQ19BVFRSSUJVVEVfNDwvYT4gPSAzMDU1IDogMzA1NQorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX05PX1hNTE5TIiBpZD0iWE1MX1NDSEVNQVBfTk9fWE1MTlMiPlhNTF9TQ0hFTUFQX05PX1hNTE5TPC9hPiA9IDMwNTYgOiAzMDU2CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfTk9fWFNJIiBpZD0iWE1MX1NDSEVNQVBfTk9fWFNJIj5YTUxfU0NIRU1BUF9OT19YU0k8L2E+ID0gMzA1NyA6IDMwNTcKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9DT1NfVkFMSURfREVGQVVMVF8xIiBpZD0iWE1MX1NDSEVNQVBfQ09TX1ZBTElEX0RFRkFVTFRfMSI+WE1MX1NDSEVNQVBfQ09TX1ZBTElEX0RFRkFVTFRfMTwvYT4gPSAzMDU4IDogMzA1OAorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX0NPU19WQUxJRF9ERUZBVUxUXzJfMSIgaWQ9IlhNTF9TQ0hFTUFQX0NPU19WQUxJRF9ERUZBVUxUXzJfMSI+WE1MX1NDSEVNQVBfQ09TX1ZBTElEX0RFRkFVTFRfMl8xPC9hPiA9IDMwNTkgOiAzMDU5CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfQ09TX1ZBTElEX0RFRkFVTFRfMl8yXzEiIGlkPSJYTUxfU0NIRU1BUF9DT1NfVkFMSURfREVGQVVMVF8yXzJfMSI+WE1MX1NDSEVNQVBfQ09TX1ZBTElEX0RFRkFVTFRfMl8yXzE8L2E+ID0gMzA2MCA6IDMwNjAKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9DT1NfVkFMSURfREVGQVVMVF8yXzJfMiIgaWQ9IlhNTF9TQ0hFTUFQX0NPU19WQUxJRF9ERUZBVUxUXzJfMl8yIj5YTUxfU0NIRU1BUF9DT1NfVkFMSURfREVGQVVMVF8yXzJfMjwvYT4gPSAzMDYxIDogMzA2MQorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX0NWQ19TSU1QTEVfVFlQRSIgaWQ9IlhNTF9TQ0hFTUFQX0NWQ19TSU1QTEVfVFlQRSI+WE1MX1NDSEVNQVBfQ1ZDX1NJTVBMRV9UWVBFPC9hPiA9IDMwNjIgOiAzMDYyCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfQ09TX0NUX0VYVEVORFNfMV8xIiBpZD0iWE1MX1NDSEVNQVBfQ09TX0NUX0VYVEVORFNfMV8xIj5YTUxfU0NIRU1BUF9DT1NfQ1RfRVhURU5EU18xXzE8L2E+ID0gMzA2MyA6IDMwNjMKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9TUkNfSU1QT1JUXzFfMSIgaWQ9IlhNTF9TQ0hFTUFQX1NSQ19JTVBPUlRfMV8xIj5YTUxfU0NIRU1BUF9TUkNfSU1QT1JUXzFfMTwvYT4gPSAzMDY0IDogMzA2NAorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX1NSQ19JTVBPUlRfMV8yIiBpZD0iWE1MX1NDSEVNQVBfU1JDX0lNUE9SVF8xXzIiPlhNTF9TQ0hFTUFQX1NSQ19JTVBPUlRfMV8yPC9hPiA9IDMwNjUgOiAzMDY1CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfU1JDX0lNUE9SVF8yIiBpZD0iWE1MX1NDSEVNQVBfU1JDX0lNUE9SVF8yIj5YTUxfU0NIRU1BUF9TUkNfSU1QT1JUXzI8L2E+ID0gMzA2NiA6IDMwNjYKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9TUkNfSU1QT1JUXzJfMSIgaWQ9IlhNTF9TQ0hFTUFQX1NSQ19JTVBPUlRfMl8xIj5YTUxfU0NIRU1BUF9TUkNfSU1QT1JUXzJfMTwvYT4gPSAzMDY3IDogMzA2NworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX1NSQ19JTVBPUlRfMl8yIiBpZD0iWE1MX1NDSEVNQVBfU1JDX0lNUE9SVF8yXzIiPlhNTF9TQ0hFTUFQX1NSQ19JTVBPUlRfMl8yPC9hPiA9IDMwNjggOiAzMDY4CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfSU5URVJOQUwiIGlkPSJYTUxfU0NIRU1BUF9JTlRFUk5BTCI+WE1MX1NDSEVNQVBfSU5URVJOQUw8L2E+ID0gMzA2OSA6IDMwNjkgbm9uLVczQworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX05PVF9ERVRFUk1JTklTVElDIiBpZD0iWE1MX1NDSEVNQVBfTk9UX0RFVEVSTUlOSVNUSUMiPlhNTF9TQ0hFTUFQX05PVF9ERVRFUk1JTklTVElDPC9hPiA9IDMwNzAgOiAzMDcwIG5vbi1XM0MKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9TUkNfQVRUUklCVVRFX0dST1VQXzEiIGlkPSJYTUxfU0NIRU1BUF9TUkNfQVRUUklCVVRFX0dST1VQXzEiPlhNTF9TQ0hFTUFQX1NSQ19BVFRSSUJVVEVfR1JPVVBfMTwvYT4gPSAzMDcxIDogMzA3MQorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX1NSQ19BVFRSSUJVVEVfR1JPVVBfMiIgaWQ9IlhNTF9TQ0hFTUFQX1NSQ19BVFRSSUJVVEVfR1JPVVBfMiI+WE1MX1NDSEVNQVBfU1JDX0FUVFJJQlVURV9HUk9VUF8yPC9hPiA9IDMwNzIgOiAzMDcyCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfU1JDX0FUVFJJQlVURV9HUk9VUF8zIiBpZD0iWE1MX1NDSEVNQVBfU1JDX0FUVFJJQlVURV9HUk9VUF8zIj5YTUxfU0NIRU1BUF9TUkNfQVRUUklCVVRFX0dST1VQXzM8L2E+ID0gMzA3MyA6IDMwNzMKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9NR19QUk9QU19DT1JSRUNUXzEiIGlkPSJYTUxfU0NIRU1BUF9NR19QUk9QU19DT1JSRUNUXzEiPlhNTF9TQ0hFTUFQX01HX1BST1BTX0NPUlJFQ1RfMTwvYT4gPSAzMDc0IDogMzA3NAorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX01HX1BST1BTX0NPUlJFQ1RfMiIgaWQ9IlhNTF9TQ0hFTUFQX01HX1BST1BTX0NPUlJFQ1RfMiI+WE1MX1NDSEVNQVBfTUdfUFJPUFNfQ09SUkVDVF8yPC9hPiA9IDMwNzUgOiAzMDc1CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfU1JDX0NUXzEiIGlkPSJYTUxfU0NIRU1BUF9TUkNfQ1RfMSI+WE1MX1NDSEVNQVBfU1JDX0NUXzE8L2E+ID0gMzA3NiA6IDMwNzYKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzJfMV8zIiBpZD0iWE1MX1NDSEVNQVBfREVSSVZBVElPTl9PS19SRVNUUklDVElPTl8yXzFfMyI+WE1MX1NDSEVNQVBfREVSSVZBVElPTl9PS19SRVNUUklDVElPTl8yXzFfMzwvYT4gPSAzMDc3IDogMzA3NworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX0FVX1BST1BTX0NPUlJFQ1RfMiIgaWQ9IlhNTF9TQ0hFTUFQX0FVX1BST1BTX0NPUlJFQ1RfMiI+WE1MX1NDSEVNQVBfQVVfUFJPUFNfQ09SUkVDVF8yPC9hPiA9IDMwNzggOiAzMDc4CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfQV9QUk9QU19DT1JSRUNUXzIiIGlkPSJYTUxfU0NIRU1BUF9BX1BST1BTX0NPUlJFQ1RfMiI+WE1MX1NDSEVNQVBfQV9QUk9QU19DT1JSRUNUXzI8L2E+ID0gMzA3OSA6IDMwNzkKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9DX1BST1BTX0NPUlJFQ1QiIGlkPSJYTUxfU0NIRU1BUF9DX1BST1BTX0NPUlJFQ1QiPlhNTF9TQ0hFTUFQX0NfUFJPUFNfQ09SUkVDVDwvYT4gPSAzMDgwIDogMzA4MAorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX1NSQ19SRURFRklORSIgaWQ9IlhNTF9TQ0hFTUFQX1NSQ19SRURFRklORSI+WE1MX1NDSEVNQVBfU1JDX1JFREVGSU5FPC9hPiA9IDMwODEgOiAzMDgxCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfU1JDX0lNUE9SVCIgaWQ9IlhNTF9TQ0hFTUFQX1NSQ19JTVBPUlQiPlhNTF9TQ0hFTUFQX1NSQ19JTVBPUlQ8L2E+ID0gMzA4MiA6IDMwODIKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9XQVJOX1NLSVBfU0NIRU1BIiBpZD0iWE1MX1NDSEVNQVBfV0FSTl9TS0lQX1NDSEVNQSI+WE1MX1NDSEVNQVBfV0FSTl9TS0lQX1NDSEVNQTwvYT4gPSAzMDgzIDogMzA4MworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX1dBUk5fVU5MT0NBVEVEX1NDSEVNQSIgaWQ9IlhNTF9TQ0hFTUFQX1dBUk5fVU5MT0NBVEVEX1NDSEVNQSI+WE1MX1NDSEVNQVBfV0FSTl9VTkxPQ0FURURfU0NIRU1BPC9hPiA9IDMwODQgOiAzMDg0CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfV0FSTl9BVFRSX1JFREVDTF9QUk9IIiBpZD0iWE1MX1NDSEVNQVBfV0FSTl9BVFRSX1JFREVDTF9QUk9IIj5YTUxfU0NIRU1BUF9XQVJOX0FUVFJfUkVERUNMX1BST0g8L2E+ID0gMzA4NSA6IDMwODUKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9XQVJOX0FUVFJfUE9JTlRMRVNTX1BST0giIGlkPSJYTUxfU0NIRU1BUF9XQVJOX0FUVFJfUE9JTlRMRVNTX1BST0giPlhNTF9TQ0hFTUFQX1dBUk5fQVRUUl9QT0lOVExFU1NfUFJPSDwvYT4gPSAzMDg2IDogMzA4NQorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX0FHX1BST1BTX0NPUlJFQ1QiIGlkPSJYTUxfU0NIRU1BUF9BR19QUk9QU19DT1JSRUNUIj5YTUxfU0NIRU1BUF9BR19QUk9QU19DT1JSRUNUPC9hPiA9IDMwODcgOiAzMDg2CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfQ09TX0NUX0VYVEVORFNfMV8yIiBpZD0iWE1MX1NDSEVNQVBfQ09TX0NUX0VYVEVORFNfMV8yIj5YTUxfU0NIRU1BUF9DT1NfQ1RfRVhURU5EU18xXzI8L2E+ID0gMzA4OCA6IDMwODcKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BUF9BVV9QUk9QU19DT1JSRUNUIiBpZD0iWE1MX1NDSEVNQVBfQVVfUFJPUFNfQ09SUkVDVCI+WE1MX1NDSEVNQVBfQVVfUFJPUFNfQ09SUkVDVDwvYT4gPSAzMDg5IDogMzA4OAorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFQX0FfUFJPUFNfQ09SUkVDVF8zIiBpZD0iWE1MX1NDSEVNQVBfQV9QUk9QU19DT1JSRUNUXzMiPlhNTF9TQ0hFTUFQX0FfUFJPUFNfQ09SUkVDVF8zPC9hPiA9IDMwOTAgOiAzMDg5CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVBfQ09TX0FMTF9MSU1JVEVEIiBpZD0iWE1MX1NDSEVNQVBfQ09TX0FMTF9MSU1JVEVEIj5YTUxfU0NIRU1BUF9DT1NfQUxMX0xJTUlURUQ8L2E+ID0gMzA5MSA6IDMwOTAKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BVFJPTlZfQVNTRVJUIiBpZD0iWE1MX1NDSEVNQVRST05WX0FTU0VSVCI+WE1MX1NDSEVNQVRST05WX0FTU0VSVDwvYT4gPSA0MDAwIDogNDAwMAorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFUUk9OVl9SRVBPUlQiIGlkPSJYTUxfU0NIRU1BVFJPTlZfUkVQT1JUIj5YTUxfU0NIRU1BVFJPTlZfUkVQT1JUPC9hPiA9IDQwMDEKKyAgICA8YSBuYW1lPSJYTUxfTU9EVUxFX09QRU4iIGlkPSJYTUxfTU9EVUxFX09QRU4iPlhNTF9NT0RVTEVfT1BFTjwvYT4gPSA0OTAwIDogNDkwMAorICAgIDxhIG5hbWU9IlhNTF9NT0RVTEVfQ0xPU0UiIGlkPSJYTUxfTU9EVUxFX0NMT1NFIj5YTUxfTU9EVUxFX0NMT1NFPC9hPiA9IDQ5MDEgOiA0OTAxCisgICAgPGEgbmFtZT0iWE1MX0NIRUNLX0ZPVU5EX0VMRU1FTlQiIGlkPSJYTUxfQ0hFQ0tfRk9VTkRfRUxFTUVOVCI+WE1MX0NIRUNLX0ZPVU5EX0VMRU1FTlQ8L2E+ID0gNTAwMAorICAgIDxhIG5hbWU9IlhNTF9DSEVDS19GT1VORF9BVFRSSUJVVEUiIGlkPSJYTUxfQ0hFQ0tfRk9VTkRfQVRUUklCVVRFIj5YTUxfQ0hFQ0tfRk9VTkRfQVRUUklCVVRFPC9hPiA9IDUwMDEgOiA1MDAxCisgICAgPGEgbmFtZT0iWE1MX0NIRUNLX0ZPVU5EX1RFWFQiIGlkPSJYTUxfQ0hFQ0tfRk9VTkRfVEVYVCI+WE1MX0NIRUNLX0ZPVU5EX1RFWFQ8L2E+ID0gNTAwMiA6IDUwMDIKKyAgICA8YSBuYW1lPSJYTUxfQ0hFQ0tfRk9VTkRfQ0RBVEEiIGlkPSJYTUxfQ0hFQ0tfRk9VTkRfQ0RBVEEiPlhNTF9DSEVDS19GT1VORF9DREFUQTwvYT4gPSA1MDAzIDogNTAwMworICAgIDxhIG5hbWU9IlhNTF9DSEVDS19GT1VORF9FTlRJVFlSRUYiIGlkPSJYTUxfQ0hFQ0tfRk9VTkRfRU5USVRZUkVGIj5YTUxfQ0hFQ0tfRk9VTkRfRU5USVRZUkVGPC9hPiA9IDUwMDQgOiA1MDA0CisgICAgPGEgbmFtZT0iWE1MX0NIRUNLX0ZPVU5EX0VOVElUWSIgaWQ9IlhNTF9DSEVDS19GT1VORF9FTlRJVFkiPlhNTF9DSEVDS19GT1VORF9FTlRJVFk8L2E+ID0gNTAwNSA6IDUwMDUKKyAgICA8YSBuYW1lPSJYTUxfQ0hFQ0tfRk9VTkRfUEkiIGlkPSJYTUxfQ0hFQ0tfRk9VTkRfUEkiPlhNTF9DSEVDS19GT1VORF9QSTwvYT4gPSA1MDA2IDogNTAwNgorICAgIDxhIG5hbWU9IlhNTF9DSEVDS19GT1VORF9DT01NRU5UIiBpZD0iWE1MX0NIRUNLX0ZPVU5EX0NPTU1FTlQiPlhNTF9DSEVDS19GT1VORF9DT01NRU5UPC9hPiA9IDUwMDcgOiA1MDA3CisgICAgPGEgbmFtZT0iWE1MX0NIRUNLX0ZPVU5EX0RPQ1RZUEUiIGlkPSJYTUxfQ0hFQ0tfRk9VTkRfRE9DVFlQRSI+WE1MX0NIRUNLX0ZPVU5EX0RPQ1RZUEU8L2E+ID0gNTAwOCA6IDUwMDgKKyAgICA8YSBuYW1lPSJYTUxfQ0hFQ0tfRk9VTkRfRlJBR01FTlQiIGlkPSJYTUxfQ0hFQ0tfRk9VTkRfRlJBR01FTlQiPlhNTF9DSEVDS19GT1VORF9GUkFHTUVOVDwvYT4gPSA1MDA5IDogNTAwOQorICAgIDxhIG5hbWU9IlhNTF9DSEVDS19GT1VORF9OT1RBVElPTiIgaWQ9IlhNTF9DSEVDS19GT1VORF9OT1RBVElPTiI+WE1MX0NIRUNLX0ZPVU5EX05PVEFUSU9OPC9hPiA9IDUwMTAgOiA1MDEwCisgICAgPGEgbmFtZT0iWE1MX0NIRUNLX1VOS05PV05fTk9ERSIgaWQ9IlhNTF9DSEVDS19VTktOT1dOX05PREUiPlhNTF9DSEVDS19VTktOT1dOX05PREU8L2E+ID0gNTAxMSA6IDUwMTEKKyAgICA8YSBuYW1lPSJYTUxfQ0hFQ0tfRU5USVRZX1RZUEUiIGlkPSJYTUxfQ0hFQ0tfRU5USVRZX1RZUEUiPlhNTF9DSEVDS19FTlRJVFlfVFlQRTwvYT4gPSA1MDEyIDogNTAxMgorICAgIDxhIG5hbWU9IlhNTF9DSEVDS19OT19QQVJFTlQiIGlkPSJYTUxfQ0hFQ0tfTk9fUEFSRU5UIj5YTUxfQ0hFQ0tfTk9fUEFSRU5UPC9hPiA9IDUwMTMgOiA1MDEzCisgICAgPGEgbmFtZT0iWE1MX0NIRUNLX05PX0RPQyIgaWQ9IlhNTF9DSEVDS19OT19ET0MiPlhNTF9DSEVDS19OT19ET0M8L2E+ID0gNTAxNCA6IDUwMTQKKyAgICA8YSBuYW1lPSJYTUxfQ0hFQ0tfTk9fTkFNRSIgaWQ9IlhNTF9DSEVDS19OT19OQU1FIj5YTUxfQ0hFQ0tfTk9fTkFNRTwvYT4gPSA1MDE1IDogNTAxNQorICAgIDxhIG5hbWU9IlhNTF9DSEVDS19OT19FTEVNIiBpZD0iWE1MX0NIRUNLX05PX0VMRU0iPlhNTF9DSEVDS19OT19FTEVNPC9hPiA9IDUwMTYgOiA1MDE2CisgICAgPGEgbmFtZT0iWE1MX0NIRUNLX1dST05HX0RPQyIgaWQ9IlhNTF9DSEVDS19XUk9OR19ET0MiPlhNTF9DSEVDS19XUk9OR19ET0M8L2E+ID0gNTAxNyA6IDUwMTcKKyAgICA8YSBuYW1lPSJYTUxfQ0hFQ0tfTk9fUFJFViIgaWQ9IlhNTF9DSEVDS19OT19QUkVWIj5YTUxfQ0hFQ0tfTk9fUFJFVjwvYT4gPSA1MDE4IDogNTAxOAorICAgIDxhIG5hbWU9IlhNTF9DSEVDS19XUk9OR19QUkVWIiBpZD0iWE1MX0NIRUNLX1dST05HX1BSRVYiPlhNTF9DSEVDS19XUk9OR19QUkVWPC9hPiA9IDUwMTkgOiA1MDE5CisgICAgPGEgbmFtZT0iWE1MX0NIRUNLX05PX05FWFQiIGlkPSJYTUxfQ0hFQ0tfTk9fTkVYVCI+WE1MX0NIRUNLX05PX05FWFQ8L2E+ID0gNTAyMCA6IDUwMjAKKyAgICA8YSBuYW1lPSJYTUxfQ0hFQ0tfV1JPTkdfTkVYVCIgaWQ9IlhNTF9DSEVDS19XUk9OR19ORVhUIj5YTUxfQ0hFQ0tfV1JPTkdfTkVYVDwvYT4gPSA1MDIxIDogNTAyMQorICAgIDxhIG5hbWU9IlhNTF9DSEVDS19OT1RfRFREIiBpZD0iWE1MX0NIRUNLX05PVF9EVEQiPlhNTF9DSEVDS19OT1RfRFREPC9hPiA9IDUwMjIgOiA1MDIyCisgICAgPGEgbmFtZT0iWE1MX0NIRUNLX05PVF9BVFRSIiBpZD0iWE1MX0NIRUNLX05PVF9BVFRSIj5YTUxfQ0hFQ0tfTk9UX0FUVFI8L2E+ID0gNTAyMyA6IDUwMjMKKyAgICA8YSBuYW1lPSJYTUxfQ0hFQ0tfTk9UX0FUVFJfREVDTCIgaWQ9IlhNTF9DSEVDS19OT1RfQVRUUl9ERUNMIj5YTUxfQ0hFQ0tfTk9UX0FUVFJfREVDTDwvYT4gPSA1MDI0IDogNTAyNAorICAgIDxhIG5hbWU9IlhNTF9DSEVDS19OT1RfRUxFTV9ERUNMIiBpZD0iWE1MX0NIRUNLX05PVF9FTEVNX0RFQ0wiPlhNTF9DSEVDS19OT1RfRUxFTV9ERUNMPC9hPiA9IDUwMjUgOiA1MDI1CisgICAgPGEgbmFtZT0iWE1MX0NIRUNLX05PVF9FTlRJVFlfREVDTCIgaWQ9IlhNTF9DSEVDS19OT1RfRU5USVRZX0RFQ0wiPlhNTF9DSEVDS19OT1RfRU5USVRZX0RFQ0w8L2E+ID0gNTAyNiA6IDUwMjYKKyAgICA8YSBuYW1lPSJYTUxfQ0hFQ0tfTk9UX05TX0RFQ0wiIGlkPSJYTUxfQ0hFQ0tfTk9UX05TX0RFQ0wiPlhNTF9DSEVDS19OT1RfTlNfREVDTDwvYT4gPSA1MDI3IDogNTAyNworICAgIDxhIG5hbWU9IlhNTF9DSEVDS19OT19IUkVGIiBpZD0iWE1MX0NIRUNLX05PX0hSRUYiPlhNTF9DSEVDS19OT19IUkVGPC9hPiA9IDUwMjggOiA1MDI4CisgICAgPGEgbmFtZT0iWE1MX0NIRUNLX1dST05HX1BBUkVOVCIgaWQ9IlhNTF9DSEVDS19XUk9OR19QQVJFTlQiPlhNTF9DSEVDS19XUk9OR19QQVJFTlQ8L2E+ID0gNTAyOSA6IDUwMjkKKyAgICA8YSBuYW1lPSJYTUxfQ0hFQ0tfTlNfU0NPUEUiIGlkPSJYTUxfQ0hFQ0tfTlNfU0NPUEUiPlhNTF9DSEVDS19OU19TQ09QRTwvYT4gPSA1MDMwIDogNTAzMAorICAgIDxhIG5hbWU9IlhNTF9DSEVDS19OU19BTkNFU1RPUiIgaWQ9IlhNTF9DSEVDS19OU19BTkNFU1RPUiI+WE1MX0NIRUNLX05TX0FOQ0VTVE9SPC9hPiA9IDUwMzEgOiA1MDMxCisgICAgPGEgbmFtZT0iWE1MX0NIRUNLX05PVF9VVEY4IiBpZD0iWE1MX0NIRUNLX05PVF9VVEY4Ij5YTUxfQ0hFQ0tfTk9UX1VURjg8L2E+ID0gNTAzMiA6IDUwMzIKKyAgICA8YSBuYW1lPSJYTUxfQ0hFQ0tfTk9fRElDVCIgaWQ9IlhNTF9DSEVDS19OT19ESUNUIj5YTUxfQ0hFQ0tfTk9fRElDVDwvYT4gPSA1MDMzIDogNTAzMworICAgIDxhIG5hbWU9IlhNTF9DSEVDS19OT1RfTkNOQU1FIiBpZD0iWE1MX0NIRUNLX05PVF9OQ05BTUUiPlhNTF9DSEVDS19OT1RfTkNOQU1FPC9hPiA9IDUwMzQgOiA1MDM0CisgICAgPGEgbmFtZT0iWE1MX0NIRUNLX09VVFNJREVfRElDVCIgaWQ9IlhNTF9DSEVDS19PVVRTSURFX0RJQ1QiPlhNTF9DSEVDS19PVVRTSURFX0RJQ1Q8L2E+ID0gNTAzNSA6IDUwMzUKKyAgICA8YSBuYW1lPSJYTUxfQ0hFQ0tfV1JPTkdfTkFNRSIgaWQ9IlhNTF9DSEVDS19XUk9OR19OQU1FIj5YTUxfQ0hFQ0tfV1JPTkdfTkFNRTwvYT4gPSA1MDM2IDogNTAzNgorICAgIDxhIG5hbWU9IlhNTF9DSEVDS19OQU1FX05PVF9OVUxMIiBpZD0iWE1MX0NIRUNLX05BTUVfTk9UX05VTEwiPlhNTF9DSEVDS19OQU1FX05PVF9OVUxMPC9hPiA9IDUwMzcgOiA1MDM3CisgICAgPGEgbmFtZT0iWE1MX0kxOE5fTk9fTkFNRSIgaWQ9IlhNTF9JMThOX05PX05BTUUiPlhNTF9JMThOX05PX05BTUU8L2E+ID0gNjAwMAorICAgIDxhIG5hbWU9IlhNTF9JMThOX05PX0hBTkRMRVIiIGlkPSJYTUxfSTE4Tl9OT19IQU5ETEVSIj5YTUxfSTE4Tl9OT19IQU5ETEVSPC9hPiA9IDYwMDEgOiA2MDAxCisgICAgPGEgbmFtZT0iWE1MX0kxOE5fRVhDRVNTX0hBTkRMRVIiIGlkPSJYTUxfSTE4Tl9FWENFU1NfSEFORExFUiI+WE1MX0kxOE5fRVhDRVNTX0hBTkRMRVI8L2E+ID0gNjAwMiA6IDYwMDIKKyAgICA8YSBuYW1lPSJYTUxfSTE4Tl9DT05WX0ZBSUxFRCIgaWQ9IlhNTF9JMThOX0NPTlZfRkFJTEVEIj5YTUxfSTE4Tl9DT05WX0ZBSUxFRDwvYT4gPSA2MDAzIDogNjAwMworICAgIDxhIG5hbWU9IlhNTF9JMThOX05PX09VVFBVVCIgaWQ9IlhNTF9JMThOX05PX09VVFBVVCI+WE1MX0kxOE5fTk9fT1VUUFVUPC9hPiA9IDYwMDQgOiA2MDA0CisgICAgPGEgbmFtZT0iWE1MX0JVRl9PVkVSRkxPVyIgaWQ9IlhNTF9CVUZfT1ZFUkZMT1ciPlhNTF9CVUZfT1ZFUkZMT1c8L2E+ID0gNzAwMAorfQorPC9wcmU+PGgzPjxhIG5hbWU9ImluaXRHZW5lcmljRXJyb3JEZWZhdWx0RnVuYyIgaWQ9ImluaXRHZW5lcmljRXJyb3JEZWZhdWx0RnVuYyI+PC9hPkZ1bmN0aW9uOiBpbml0R2VuZXJpY0Vycm9yRGVmYXVsdEZ1bmM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCWluaXRHZW5lcmljRXJyb3JEZWZhdWx0RnVuYwkoPGEgaHJlZj0ibGlieG1sLXhtbGVycm9yLmh0bWwjeG1sR2VuZXJpY0Vycm9yRnVuYyI+eG1sR2VuZXJpY0Vycm9yRnVuYzwvYT4gKiBoYW5kbGVyKTxiciAvPgorPC9wcmU+PHA+U2V0IG9yIHJlc2V0IChpZiBOVUxMKSB0aGUgZGVmYXVsdCBoYW5kbGVyIGZvciBnZW5lcmljIGVycm9ycyB0byB0aGUgYnVpbHRpbiBlcnJvciBmdW5jdGlvbi48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5oYW5kbGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaGFuZGxlcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbENvcHlFcnJvciIgaWQ9InhtbENvcHlFcnJvciI+PC9hPkZ1bmN0aW9uOiB4bWxDb3B5RXJyb3I8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sQ29weUVycm9yCQkJKDxhIGhyZWY9ImxpYnhtbC14bWxlcnJvci5odG1sI3htbEVycm9yUHRyIj54bWxFcnJvclB0cjwvYT4gZnJvbSwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbGVycm9yLmh0bWwjeG1sRXJyb3JQdHIiPnhtbEVycm9yUHRyPC9hPiB0byk8YnIgLz4KKzwvcHJlPjxwPlNhdmUgdGhlIG9yaWdpbmFsIGVycm9yIHRvIHRoZSBuZXcgcGxhY2UuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZnJvbTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBzb3VyY2UgZXJyb3I8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRvPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHRhcmdldCBlcnJvcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpbiBjYXNlIG9mIHN1Y2Nlc3MgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sQ3R4dEdldExhc3RFcnJvciIgaWQ9InhtbEN0eHRHZXRMYXN0RXJyb3IiPjwvYT5GdW5jdGlvbjogeG1sQ3R4dEdldExhc3RFcnJvcjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxlcnJvci5odG1sI3htbEVycm9yUHRyIj54bWxFcnJvclB0cjwvYT4JeG1sQ3R4dEdldExhc3RFcnJvcgkodm9pZCAqIGN0eCk8YnIgLz4KKzwvcHJlPjxwPkdldCB0aGUgbGFzdCBwYXJzaW5nIGVycm9yIHJlZ2lzdGVyZWQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPk5VTEwgaWYgbm8gZXJyb3Igb2NjdXJlZCBvciBhIHBvaW50ZXIgdG8gdGhlIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sQ3R4dFJlc2V0TGFzdEVycm9yIiBpZD0ieG1sQ3R4dFJlc2V0TGFzdEVycm9yIj48L2E+RnVuY3Rpb246IHhtbEN0eHRSZXNldExhc3RFcnJvcjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sQ3R4dFJlc2V0TGFzdEVycm9yCQkodm9pZCAqIGN0eCk8YnIgLz4KKzwvcHJlPjxwPkNsZWFudXAgdGhlIGxhc3QgZ2xvYmFsIGVycm9yIHJlZ2lzdGVyZWQuIEZvciBwYXJzaW5nIGVycm9yIHRoaXMgZG9lcyBub3QgY2hhbmdlIHRoZSB3ZWxsLWZvcm1lZG5lc3MgcmVzdWx0LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1MIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sR2VuZXJpY0Vycm9yRnVuYyIgaWQ9InhtbEdlbmVyaWNFcnJvckZ1bmMiPjwvYT5GdW5jdGlvbiB0eXBlOiB4bWxHZW5lcmljRXJyb3JGdW5jPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RnVuY3Rpb24gdHlwZTogeG1sR2VuZXJpY0Vycm9yRnVuYwordm9pZAl4bWxHZW5lcmljRXJyb3JGdW5jCQkodm9pZCAqIGN0eCwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIG1zZywgPGJyIC8+CQkJCQkgLi4uIC4uLikKKzwvcHJlPjxwPlNpZ25hdHVyZSBvZiB0aGUgZnVuY3Rpb24gdG8gdXNlIHdoZW4gdGhlcmUgaXMgYW4gZXJyb3IgYW5kIG5vIHBhcnNpbmcgb3IgdmFsaWRpdHkgY29udGV4dCBhdmFpbGFibGUgLjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcGFyc2luZyBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5tc2c8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBtZXNzYWdlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD4uLi48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBleHRyYSBhcmd1bWVudHMgb2YgdGhlIHZhcmFncyB0byBmb3JtYXQgdGhlIG1lc3NhZ2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxiciAvPgorPGgzPjxhIG5hbWU9InhtbEdldExhc3RFcnJvciIgaWQ9InhtbEdldExhc3RFcnJvciI+PC9hPkZ1bmN0aW9uOiB4bWxHZXRMYXN0RXJyb3I8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxFcnJvclB0ciI+eG1sRXJyb3JQdHI8L2E+CXhtbEdldExhc3RFcnJvcgkJKHZvaWQpPGJyIC8+Cis8L3ByZT48cD5HZXQgdGhlIGxhc3QgZ2xvYmFsIGVycm9yIHJlZ2lzdGVyZWQuIFRoaXMgaXMgcGVyIHRocmVhZCBpZiBjb21waWxlZCB3aXRoIHRocmVhZCBzdXBwb3J0LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPk5VTEwgaWYgbm8gZXJyb3Igb2NjdXJlZCBvciBhIHBvaW50ZXIgdG8gdGhlIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sUGFyc2VyRXJyb3IiIGlkPSJ4bWxQYXJzZXJFcnJvciI+PC9hPkZ1bmN0aW9uOiB4bWxQYXJzZXJFcnJvcjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sUGFyc2VyRXJyb3IJCQkodm9pZCAqIGN0eCwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIG1zZywgPGJyIC8+CQkJCQkgLi4uIC4uLik8YnIgLz4KKzwvcHJlPjxwPkRpc3BsYXkgYW5kIGZvcm1hdCBhbiBlcnJvciBtZXNzYWdlcywgZ2l2ZXMgZmlsZSwgbGluZSwgcG9zaXRpb24gYW5kIGV4dHJhIHBhcmFtZXRlcnMuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm1zZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG1lc3NhZ2UgdG8gZGlzcGxheS90cmFuc21pdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Li4uPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5leHRyYSBwYXJhbWV0ZXJzIGZvciB0aGUgbWVzc2FnZSBkaXNwbGF5PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sUGFyc2VyUHJpbnRGaWxlQ29udGV4dCIgaWQ9InhtbFBhcnNlclByaW50RmlsZUNvbnRleHQiPjwvYT5GdW5jdGlvbjogeG1sUGFyc2VyUHJpbnRGaWxlQ29udGV4dDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sUGFyc2VyUHJpbnRGaWxlQ29udGV4dAkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dFB0ciI+eG1sUGFyc2VySW5wdXRQdHI8L2E+IGlucHV0KTxiciAvPgorPC9wcmU+PHA+RGlzcGxheXMgY3VycmVudCBjb250ZXh0IHdpdGhpbiB0aGUgaW5wdXQgY29udGVudCBmb3IgZXJyb3IgdHJhY2tpbmc8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pbnB1dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dFB0ciI+eG1sUGFyc2VySW5wdXRQdHI8L2E+IGlucHV0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sUGFyc2VyUHJpbnRGaWxlSW5mbyIgaWQ9InhtbFBhcnNlclByaW50RmlsZUluZm8iPjwvYT5GdW5jdGlvbjogeG1sUGFyc2VyUHJpbnRGaWxlSW5mbzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sUGFyc2VyUHJpbnRGaWxlSW5mbwkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRQdHIiPnhtbFBhcnNlcklucHV0UHRyPC9hPiBpbnB1dCk8YnIgLz4KKzwvcHJlPjxwPkRpc3BsYXlzIHRoZSBhc3NvY2lhdGVkIGZpbGUgYW5kIGxpbmUgaW5mb3JtYXRpb25zIGZvciB0aGUgY3VycmVudCBpbnB1dDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmlucHV0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlcklucHV0UHRyIj54bWxQYXJzZXJJbnB1dFB0cjwvYT4gaW5wdXQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxQYXJzZXJWYWxpZGl0eUVycm9yIiBpZD0ieG1sUGFyc2VyVmFsaWRpdHlFcnJvciI+PC9hPkZ1bmN0aW9uOiB4bWxQYXJzZXJWYWxpZGl0eUVycm9yPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxQYXJzZXJWYWxpZGl0eUVycm9yCQkodm9pZCAqIGN0eCwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIG1zZywgPGJyIC8+CQkJCQkgLi4uIC4uLik8YnIgLz4KKzwvcHJlPjxwPkRpc3BsYXkgYW5kIGZvcm1hdCBhbiB2YWxpZGl0eSBlcnJvciBtZXNzYWdlcywgZ2l2ZXMgZmlsZSwgbGluZSwgcG9zaXRpb24gYW5kIGV4dHJhIHBhcmFtZXRlcnMuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm1zZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG1lc3NhZ2UgdG8gZGlzcGxheS90cmFuc21pdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Li4uPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5leHRyYSBwYXJhbWV0ZXJzIGZvciB0aGUgbWVzc2FnZSBkaXNwbGF5PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sUGFyc2VyVmFsaWRpdHlXYXJuaW5nIiBpZD0ieG1sUGFyc2VyVmFsaWRpdHlXYXJuaW5nIj48L2E+RnVuY3Rpb246IHhtbFBhcnNlclZhbGlkaXR5V2FybmluZzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sUGFyc2VyVmFsaWRpdHlXYXJuaW5nCSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogbXNnLCA8YnIgLz4JCQkJCSAuLi4gLi4uKTxiciAvPgorPC9wcmU+PHA+RGlzcGxheSBhbmQgZm9ybWF0IGEgdmFsaWRpdHkgd2FybmluZyBtZXNzYWdlcywgZ2l2ZXMgZmlsZSwgbGluZSwgcG9zaXRpb24gYW5kIGV4dHJhIHBhcmFtZXRlcnMuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm1zZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG1lc3NhZ2UgdG8gZGlzcGxheS90cmFuc21pdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Li4uPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5leHRyYSBwYXJhbWV0ZXJzIGZvciB0aGUgbWVzc2FnZSBkaXNwbGF5PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sUGFyc2VyV2FybmluZyIgaWQ9InhtbFBhcnNlcldhcm5pbmciPjwvYT5GdW5jdGlvbjogeG1sUGFyc2VyV2FybmluZzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sUGFyc2VyV2FybmluZwkJKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBtc2csIDxiciAvPgkJCQkJIC4uLiAuLi4pPGJyIC8+Cis8L3ByZT48cD5EaXNwbGF5IGFuZCBmb3JtYXQgYSB3YXJuaW5nIG1lc3NhZ2VzLCBnaXZlcyBmaWxlLCBsaW5lLCBwb3NpdGlvbiBhbmQgZXh0cmEgcGFyYW1ldGVycy48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bXNnPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbWVzc2FnZSB0byBkaXNwbGF5L3RyYW5zbWl0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD4uLi48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmV4dHJhIHBhcmFtZXRlcnMgZm9yIHRoZSBtZXNzYWdlIGRpc3BsYXk8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxSZXNldEVycm9yIiBpZD0ieG1sUmVzZXRFcnJvciI+PC9hPkZ1bmN0aW9uOiB4bWxSZXNldEVycm9yPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxSZXNldEVycm9yCQkJKDxhIGhyZWY9ImxpYnhtbC14bWxlcnJvci5odG1sI3htbEVycm9yUHRyIj54bWxFcnJvclB0cjwvYT4gZXJyKTxiciAvPgorPC9wcmU+PHA+Q2xlYW51cCB0aGUgZXJyb3IuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZXJyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5wb2ludGVyIHRvIHRoZSBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxSZXNldExhc3RFcnJvciIgaWQ9InhtbFJlc2V0TGFzdEVycm9yIj48L2E+RnVuY3Rpb246IHhtbFJlc2V0TGFzdEVycm9yPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxSZXNldExhc3RFcnJvcgkJKHZvaWQpPGJyIC8+Cis8L3ByZT48cD5DbGVhbnVwIHRoZSBsYXN0IGdsb2JhbCBlcnJvciByZWdpc3RlcmVkLiBGb3IgcGFyc2luZyBlcnJvciB0aGlzIGRvZXMgbm90IGNoYW5nZSB0aGUgd2VsbC1mb3JtZWRuZXNzIHJlc3VsdC48L3A+Cis8aDM+PGEgbmFtZT0ieG1sU2V0R2VuZXJpY0Vycm9yRnVuYyIgaWQ9InhtbFNldEdlbmVyaWNFcnJvckZ1bmMiPjwvYT5GdW5jdGlvbjogeG1sU2V0R2VuZXJpY0Vycm9yRnVuYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sU2V0R2VuZXJpY0Vycm9yRnVuYwkJKHZvaWQgKiBjdHgsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxlcnJvci5odG1sI3htbEdlbmVyaWNFcnJvckZ1bmMiPnhtbEdlbmVyaWNFcnJvckZ1bmM8L2E+IGhhbmRsZXIpPGJyIC8+Cis8L3ByZT48cD5GdW5jdGlvbiB0byByZXNldCB0aGUgaGFuZGxlciBhbmQgdGhlIGVycm9yIGNvbnRleHQgZm9yIG91dCBvZiBjb250ZXh0IGVycm9yIG1lc3NhZ2VzLiBUaGlzIHNpbXBseSBtZWFucyB0aGF0IEBoYW5kbGVyIHdpbGwgYmUgY2FsbGVkIGZvciBzdWJzZXF1ZW50IGVycm9yIG1lc3NhZ2VzIHdoaWxlIG5vdCBwYXJzaW5nIG5vciB2YWxpZGF0aW5nLiBBbmQgQGN0eCB3aWxsIGJlIHBhc3NlZCBhcyBmaXJzdCBhcmd1bWVudCB0byBAaGFuZGxlciBPbmUgY2FuIHNpbXBseSBmb3JjZSBtZXNzYWdlcyB0byBiZSBlbWl0dGVkIHRvIGFub3RoZXIgRklMRSAqIHRoYW4gc3RkZXJyIGJ5IHNldHRpbmcgQGN0eCB0byB0aGlzIGZpbGUgaGFuZGxlIGFuZCBAaGFuZGxlciB0byBOVUxMLiBGb3IgbXVsdGktdGhyZWFkZWQgYXBwbGljYXRpb25zLCB0aGlzIG11c3QgYmUgc2V0IHNlcGFyYXRlbHkgZm9yIGVhY2ggdGhyZWFkLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ldyBlcnJvciBoYW5kbGluZyBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5oYW5kbGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IGhhbmRsZXIgZnVuY3Rpb248L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTZXRTdHJ1Y3R1cmVkRXJyb3JGdW5jIiBpZD0ieG1sU2V0U3RydWN0dXJlZEVycm9yRnVuYyI+PC9hPkZ1bmN0aW9uOiB4bWxTZXRTdHJ1Y3R1cmVkRXJyb3JGdW5jPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxTZXRTdHJ1Y3R1cmVkRXJyb3JGdW5jCSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jIj54bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jPC9hPiBoYW5kbGVyKTxiciAvPgorPC9wcmU+PHA+RnVuY3Rpb24gdG8gcmVzZXQgdGhlIGhhbmRsZXIgYW5kIHRoZSBlcnJvciBjb250ZXh0IGZvciBvdXQgb2YgY29udGV4dCBzdHJ1Y3R1cmVkIGVycm9yIG1lc3NhZ2VzLiBUaGlzIHNpbXBseSBtZWFucyB0aGF0IEBoYW5kbGVyIHdpbGwgYmUgY2FsbGVkIGZvciBzdWJzZXF1ZW50IGVycm9yIG1lc3NhZ2VzIHdoaWxlIG5vdCBwYXJzaW5nIG5vciB2YWxpZGF0aW5nLiBBbmQgQGN0eCB3aWxsIGJlIHBhc3NlZCBhcyBmaXJzdCBhcmd1bWVudCB0byBAaGFuZGxlciBGb3IgbXVsdGktdGhyZWFkZWQgYXBwbGljYXRpb25zLCB0aGlzIG11c3QgYmUgc2V0IHNlcGFyYXRlbHkgZm9yIGVhY2ggdGhyZWFkLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ldyBlcnJvciBoYW5kbGluZyBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5oYW5kbGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IGhhbmRsZXIgZnVuY3Rpb248L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jIiBpZD0ieG1sU3RydWN0dXJlZEVycm9yRnVuYyI+PC9hPkZ1bmN0aW9uIHR5cGU6IHhtbFN0cnVjdHVyZWRFcnJvckZ1bmM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5GdW5jdGlvbiB0eXBlOiB4bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jCit2b2lkCXhtbFN0cnVjdHVyZWRFcnJvckZ1bmMJCSh2b2lkICogdXNlckRhdGEsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxlcnJvci5odG1sI3htbEVycm9yUHRyIj54bWxFcnJvclB0cjwvYT4gZXJyb3IpCis8L3ByZT48cD5TaWduYXR1cmUgb2YgdGhlIGZ1bmN0aW9uIHRvIHVzZSB3aGVuIHRoZXJlIGlzIGFuIGVycm9yIGFuZCB0aGUgbW9kdWxlIGhhbmRsZXMgdGhlIG5ldyBlcnJvciByZXBvcnRpbmcgbWVjaGFuaXNtLjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD51c2VyRGF0YTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dXNlciBwcm92aWRlZCBkYXRhIGZvciB0aGUgZXJyb3IgY2FsbGJhY2s8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVycm9yPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZXJyb3IgYmVpbmcgcmFpc2VkLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGJyIC8+Cis8cD48YSBocmVmPSIuLi9idWdzLmh0bWwiPkRhbmllbCBWZWlsbGFyZDwvYT48L3A+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2h0bWwvbGlieG1sLXhtbGV4cG9ydHMuaHRtbCBiL2xpYnhtbDIvZG9jL2h0bWwvbGlieG1sLXhtbGV4cG9ydHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNTI5OTVhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvaHRtbC9saWJ4bWwteG1sZXhwb3J0cy5odG1sCkBAIC0wLDAgKzEsMjAgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+PGxpbmsgcmVsPSJTSE9SVENVVCBJQ09OIiBocmVmPSIvZmF2aWNvbi5pY28iIC8+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK1REIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitCT0RZIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2E7IG1hcmdpbi10b3A6IDJlbTsgbWFyZ2luLWxlZnQ6IDBlbTsgbWFyZ2luLXJpZ2h0OiAwZW19CitIMSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDIge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gzIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitBOmxpbmssIEE6dmlzaXRlZCwgQTphY3RpdmUgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB9Cis8L3N0eWxlPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAgICBkaXYuZGVwcmVjYXRlZCBwcmUucHJvZ3JhbWxpc3Rpbmcge2JvcmRlci1zdHlsZTogZG91YmxlO2JvcmRlci1jb2xvcjpyZWR9CisgICAgICBwcmUucHJvZ3JhbWxpc3Rpbmcge2JvcmRlci1zdHlsZTogZG91YmxlO2JhY2tncm91bmQ6ICNFRUNGQTF9CisgICAgPC9zdHlsZT48dGl0bGU+TW9kdWxlIHhtbGV4cG9ydHMgZnJvbSBsaWJ4bWwyPC90aXRsZT48L2hlYWQ+PGJvZHkgYmdjb2xvcj0iIzhiNzc2NSIgdGV4dD0iIzAwMDAwMCIgbGluaz0iI2EwNjA2MCIgdmxpbms9IiMwMDAwMDAiPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSIxMDAlIiBjZWxscGFkZGluZz0iNSIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgd2lkdGg9IjEyMCI+PGEgaHJlZj0iaHR0cDovL3N3cGF0LmZmaWkub3JnLyI+PGltZyBzcmM9Ii4uL2VwYXRlbnRzLnBuZyIgYWx0PSJBY3Rpb24gYWdhaW5zdCBzb2Z0d2FyZSBwYXRlbnRzIiAvPjwvYT48L3RkPjx0ZCB3aWR0aD0iMTgwIj48YSBocmVmPSJodHRwOi8vd3d3Lmdub21lLm9yZy8iPjxpbWcgc3JjPSIuLi9nbm9tZTIucG5nIiBhbHQ9Ikdub21lMiBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9TdGF0dXMiPjxpbWcgc3JjPSIuLi93M2MucG5nIiBhbHQ9IlczQyBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnJlZGhhdC5jb20vIj48aW1nIHNyYz0iLi4vcmVkaGF0LmdpZiIgYWx0PSJSZWQgSGF0IExvZ28iIC8+PC9hPjxkaXYgYWxpZ249ImxlZnQiPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy8iPjxpbWcgc3JjPSIuLi9MaWJ4bWwyLUxvZ28tMTgweDE2OC5naWYiIGFsdD0iTWFkZSB3aXRoIExpYnhtbDIgTG9nbyIgLz48L2E+PC9kaXY+PC90ZD48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjkwJSIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiIGJnY29sb3I9IiNmZmZhY2QiPjx0cj48dGQgYWxpZ249ImNlbnRlciI+PGgxPjwvaDE+PGgyPk1vZHVsZSB4bWxleHBvcnRzIGZyb20gbGlieG1sMjwvaDI+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjQiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiIHdpZHRoPSIxMDAlIj48dHI+PHRkIHZhbGlnbj0idG9wIiB3aWR0aD0iMjAwIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5BUEkgTWVudTwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48Zm9ybSBhY3Rpb249Ii4uL3NlYXJjaC5waHAiIGVuY3R5cGU9ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIgbWV0aG9kPSJnZXQiPjxpbnB1dCBuYW1lPSJxdWVyeSIgdHlwZT0idGV4dCIgc2l6ZT0iMjAiIHZhbHVlPSIiIC8+PGlucHV0IG5hbWU9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU2VhcmNoIC4uLiIgLz48L2Zvcm0+PHVsPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iLi4vaW5kZXguaHRtbCI+TWFpbiBNZW51PC9hPjwvbGk+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSIuLi9kb2NzLmh0bWwiPkRldmVsb3BlciBNZW51PC9hPjwvbGk+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSIuLi9leGFtcGxlcy9pbmRleC5odG1sIj5Db2RlIEV4YW1wbGVzPC9hPjwvbGk+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSJpbmRleC5odG1sIj5BUEkgTWVudTwvYT48L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwiPlBhcnNlciBBUEk8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCI+VHJlZSBBUEk8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sIj5SZWFkZXIgQVBJPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL2d1aWRlbGluZXMuaHRtbCI+WE1MIEd1aWRlbGluZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQ2hhbmdlTG9nLmh0bWwiPkNoYW5nZUxvZzwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPkFQSSBJbmRleGVzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iLi4vQVBJY2h1bmswLmh0bWwiPkFscGhhYmV0aWM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJY29uc3RydWN0b3JzLmh0bWwiPkNvbnN0cnVjdG9yczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUElmdW5jdGlvbnMuaHRtbCI+RnVuY3Rpb25zL1R5cGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSWZpbGVzLmh0bWwiPk1vZHVsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJc3ltYm9scy5odG1sIj5TeW1ib2xzPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+UmVsYXRlZCBsaW5rczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9Imh0dHA6Ly9tYWlsLmdub21lLm9yZy9hcmNoaXZlcy94bWwvIj5NYWlsIGFyY2hpdmU8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnL1hTTFQvIj5YU0xUIGxpYnhzbHQ8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3BoZC5jcy51bmliby5pdC9nZG9tZTIvIj5ET00gZ2RvbWUyPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuYWxla3NleS5jb20veG1sc2VjLyI+WE1MLURTaWcgeG1sc2VjPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImZ0cDovL3htbHNvZnQub3JnLyI+RlRQPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemxhdGtvdmljLmNvbS9wcm9qZWN0cy9saWJ4bWwvIj5XaW5kb3dzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9vcGVuY3N3Lm9yZy9wYWNrYWdlcy9saWJ4bWwyIj5Tb2xhcmlzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuZXhwbGFpbi5jb20uYXUvb3NzL2xpYnhtbDJ4c2x0Lmh0bWwiPk1hY09zWCBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbHhtbC5kZS8iPmx4bWwgUHl0aG9uIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9jcGFuLnV3aW5uaXBlZy5jYS9kaXN0L1hNTC1MaWJYTUwiPlBlcmwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbHBsdXNwbHVzLnNvdXJjZWZvcmdlLm5ldC8iPkMrKyBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnplbmQuY29tL3BocDUvYXJ0aWNsZXMvcGhwNS14bWxwaHAucGhwI0hlYWRpbmc0Ij5QSFAgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9saWJ4bWwyLXBhcy8iPlBhc2NhbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1sLnJ1Ynlmb3JnZS5vcmcvIj5SdWJ5IGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly90Y2x4bWwuc291cmNlZm9yZ2UubmV0LyI+VGNsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvYnVnbGlzdC5jZ2k/cHJvZHVjdD1saWJ4bWwyIj5CdWcgVHJhY2tlcjwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMyIgY2VsbHNwYWNpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx0YWJsZSBjbGFzcz0ibmF2aWdhdGlvbiIgd2lkdGg9IjEwMCUiIHN1bW1hcnk9Ik5hdmlnYXRpb24gaGVhZGVyIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjIiPjx0ciB2YWxpZ249Im1pZGRsZSI+PHRkPjxhIGFjY2Vzc2tleT0icCIgaHJlZj0ibGlieG1sLXhtbGVycm9yLmh0bWwiPjxpbWcgc3JjPSJsZWZ0LnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iUHJldiIgLz48L2E+PC90ZD48dGggYWxpZ249ImxlZnQiPjxhIGhyZWY9ImxpYnhtbC14bWxlcnJvci5odG1sIj54bWxlcnJvcjwvYT48L3RoPjx0ZD48YSBhY2Nlc3NrZXk9InUiIGhyZWY9ImluZGV4Lmh0bWwiPjxpbWcgc3JjPSJ1cC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlVwIiAvPjwvYT48L3RkPjx0aCBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iaW5kZXguaHRtbCI+QVBJIGRvY3VtZW50YXRpb248L2E+PC90aD48dGQ+PGEgYWNjZXNza2V5PSJoIiBocmVmPSIuLi9pbmRleC5odG1sIj48aW1nIHNyYz0iaG9tZS5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IkhvbWUiIC8+PC9hPjwvdGQ+PHRoIGFsaWduPSJjZW50ZXIiPjxhIGhyZWY9Ii4uL2luZGV4Lmh0bWwiPlRoZSBYTUwgQyBwYXJzZXIgYW5kIHRvb2xraXQgb2YgR25vbWU8L2E+PC90aD48dGggYWxpZ249InJpZ2h0Ij48YSBocmVmPSJsaWJ4bWwteG1sbWVtb3J5Lmh0bWwiPnhtbG1lbW9yeTwvYT48L3RoPjx0ZD48YSBhY2Nlc3NrZXk9Im4iIGhyZWY9ImxpYnhtbC14bWxtZW1vcnkuaHRtbCI+PGltZyBzcmM9InJpZ2h0LnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iTmV4dCIgLz48L2E+PC90ZD48L3RyPjwvdGFibGU+PHA+bWFjcm9zIGZvciBtYXJraW5nIHN5bWJvbHMgYXMgZXhwb3J0YWJsZS9pbXBvcnRhYmxlLiA8L3A+PGgyPlRhYmxlIG9mIENvbnRlbnRzPC9oMj48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjTElCWE1MX0RMTF9JTVBPUlQiPkxJQlhNTF9ETExfSU1QT1JUPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxDQUxMIj5YTUxDQUxMPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxDREVDTCI+WE1MQ0RFQ0w8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTFBVQkZVTiI+WE1MUFVCRlVOPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxQVUJWQVIiPlhNTFBVQlZBUjwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjX1JFRU5UUkFOVCI+X1JFRU5UUkFOVDwvYT48L3ByZT48aDI+RGVzY3JpcHRpb248L2gyPgorPGgzPjxhIG5hbWU9IkxJQlhNTF9ETExfSU1QT1JUIiBpZD0iTElCWE1MX0RMTF9JTVBPUlQiPjwvYT5NYWNybzogTElCWE1MX0RMTF9JTVBPUlQ8L2gzPjxwcmU+I2RlZmluZSBMSUJYTUxfRExMX0lNUE9SVDwvcHJlPjxwPjwvcD4KKzxoMz48YSBuYW1lPSJYTUxDQUxMIiBpZD0iWE1MQ0FMTCI+PC9hPk1hY3JvOiBYTUxDQUxMPC9oMz48cHJlPiNkZWZpbmUgWE1MQ0FMTDwvcHJlPjxwPjwvcD4KKzxoMz48YSBuYW1lPSJYTUxDREVDTCIgaWQ9IlhNTENERUNMIj48L2E+TWFjcm86IFhNTENERUNMPC9oMz48cHJlPiNkZWZpbmUgWE1MQ0RFQ0w8L3ByZT48cD48L3A+Cis8aDM+PGEgbmFtZT0iWE1MUFVCRlVOIiBpZD0iWE1MUFVCRlVOIj48L2E+TWFjcm86IFhNTFBVQkZVTjwvaDM+PHByZT4jZGVmaW5lIFhNTFBVQkZVTjwvcHJlPjxwPjwvcD4KKzxoMz48YSBuYW1lPSJYTUxQVUJWQVIiIGlkPSJYTUxQVUJWQVIiPjwvYT5NYWNybzogWE1MUFVCVkFSPC9oMz48cHJlPiNkZWZpbmUgWE1MUFVCVkFSPC9wcmU+PHA+PC9wPgorPGgzPjxhIG5hbWU9Il9SRUVOVFJBTlQiIGlkPSJfUkVFTlRSQU5UIj48L2E+TWFjcm86IF9SRUVOVFJBTlQ8L2gzPjxwcmU+I2RlZmluZSBfUkVFTlRSQU5UPC9wcmU+PHA+PC9wPgorPHA+PGEgaHJlZj0iLi4vYnVncy5odG1sIj5EYW5pZWwgVmVpbGxhcmQ8L2E+PC9wPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9odG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCBiL2xpYnhtbDIvZG9jL2h0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ2NTM3NzUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9odG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbApAQCAtMCwwICsxLDEwNyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIj4KKzxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj48aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz48bGluayByZWw9IlNIT1JUQ1VUIElDT04iIGhyZWY9Ii9mYXZpY29uLmljbyIgLz48c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorVEQge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0JPRFkge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYTsgbWFyZ2luLXRvcDogMmVtOyBtYXJnaW4tbGVmdDogMGVtOyBtYXJnaW4tcmlnaHQ6IDBlbX0KK0gxIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMiB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDMge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0E6bGluaywgQTp2aXNpdGVkLCBBOmFjdGl2ZSB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIH0KKzwvc3R5bGU+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKyAgICAgIGRpdi5kZXByZWNhdGVkIHByZS5wcm9ncmFtbGlzdGluZyB7Ym9yZGVyLXN0eWxlOiBkb3VibGU7Ym9yZGVyLWNvbG9yOnJlZH0KKyAgICAgIHByZS5wcm9ncmFtbGlzdGluZyB7Ym9yZGVyLXN0eWxlOiBkb3VibGU7YmFja2dyb3VuZDogI0VFQ0ZBMX0KKyAgICA8L3N0eWxlPjx0aXRsZT5Nb2R1bGUgeG1sbWVtb3J5IGZyb20gbGlieG1sMjwvdGl0bGU+PC9oZWFkPjxib2R5IGJnY29sb3I9IiM4Yjc3NjUiIHRleHQ9IiMwMDAwMDAiIGxpbms9IiNhMDYwNjAiIHZsaW5rPSIjMDAwMDAwIj48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iMTAwJSIgY2VsbHBhZGRpbmc9IjUiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIHdpZHRoPSIxMjAiPjxhIGhyZWY9Imh0dHA6Ly9zd3BhdC5mZmlpLm9yZy8iPjxpbWcgc3JjPSIuLi9lcGF0ZW50cy5wbmciIGFsdD0iQWN0aW9uIGFnYWluc3Qgc29mdHdhcmUgcGF0ZW50cyIgLz48L2E+PC90ZD48dGQgd2lkdGg9IjE4MCI+PGEgaHJlZj0iaHR0cDovL3d3dy5nbm9tZS5vcmcvIj48aW1nIHNyYz0iLi4vZ25vbWUyLnBuZyIgYWx0PSJHbm9tZTIgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvU3RhdHVzIj48aW1nIHNyYz0iLi4vdzNjLnBuZyIgYWx0PSJXM0MgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy5yZWRoYXQuY29tLyI+PGltZyBzcmM9Ii4uL3JlZGhhdC5naWYiIGFsdD0iUmVkIEhhdCBMb2dvIiAvPjwvYT48ZGl2IGFsaWduPSJsZWZ0Ij48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvIj48aW1nIHNyYz0iLi4vTGlieG1sMi1Mb2dvLTE4MHgxNjguZ2lmIiBhbHQ9Ik1hZGUgd2l0aCBMaWJ4bWwyIExvZ28iIC8+PC9hPjwvZGl2PjwvdGQ+PHRkPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSI5MCUiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIiBiZ2NvbG9yPSIjZmZmYWNkIj48dHI+PHRkIGFsaWduPSJjZW50ZXIiPjxoMT48L2gxPjxoMj5Nb2R1bGUgeG1sbWVtb3J5IGZyb20gbGlieG1sMjwvaDI+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjQiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiIHdpZHRoPSIxMDAlIj48dHI+PHRkIHZhbGlnbj0idG9wIiB3aWR0aD0iMjAwIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5BUEkgTWVudTwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48Zm9ybSBhY3Rpb249Ii4uL3NlYXJjaC5waHAiIGVuY3R5cGU9ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIgbWV0aG9kPSJnZXQiPjxpbnB1dCBuYW1lPSJxdWVyeSIgdHlwZT0idGV4dCIgc2l6ZT0iMjAiIHZhbHVlPSIiIC8+PGlucHV0IG5hbWU9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU2VhcmNoIC4uLiIgLz48L2Zvcm0+PHVsPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iLi4vaW5kZXguaHRtbCI+TWFpbiBNZW51PC9hPjwvbGk+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSIuLi9kb2NzLmh0bWwiPkRldmVsb3BlciBNZW51PC9hPjwvbGk+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSIuLi9leGFtcGxlcy9pbmRleC5odG1sIj5Db2RlIEV4YW1wbGVzPC9hPjwvbGk+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSJpbmRleC5odG1sIj5BUEkgTWVudTwvYT48L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwiPlBhcnNlciBBUEk8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCI+VHJlZSBBUEk8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sIj5SZWFkZXIgQVBJPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL2d1aWRlbGluZXMuaHRtbCI+WE1MIEd1aWRlbGluZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQ2hhbmdlTG9nLmh0bWwiPkNoYW5nZUxvZzwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPkFQSSBJbmRleGVzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iLi4vQVBJY2h1bmswLmh0bWwiPkFscGhhYmV0aWM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJY29uc3RydWN0b3JzLmh0bWwiPkNvbnN0cnVjdG9yczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUElmdW5jdGlvbnMuaHRtbCI+RnVuY3Rpb25zL1R5cGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSWZpbGVzLmh0bWwiPk1vZHVsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJc3ltYm9scy5odG1sIj5TeW1ib2xzPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+UmVsYXRlZCBsaW5rczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9Imh0dHA6Ly9tYWlsLmdub21lLm9yZy9hcmNoaXZlcy94bWwvIj5NYWlsIGFyY2hpdmU8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnL1hTTFQvIj5YU0xUIGxpYnhzbHQ8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3BoZC5jcy51bmliby5pdC9nZG9tZTIvIj5ET00gZ2RvbWUyPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuYWxla3NleS5jb20veG1sc2VjLyI+WE1MLURTaWcgeG1sc2VjPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImZ0cDovL3htbHNvZnQub3JnLyI+RlRQPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemxhdGtvdmljLmNvbS9wcm9qZWN0cy9saWJ4bWwvIj5XaW5kb3dzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9vcGVuY3N3Lm9yZy9wYWNrYWdlcy9saWJ4bWwyIj5Tb2xhcmlzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuZXhwbGFpbi5jb20uYXUvb3NzL2xpYnhtbDJ4c2x0Lmh0bWwiPk1hY09zWCBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbHhtbC5kZS8iPmx4bWwgUHl0aG9uIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9jcGFuLnV3aW5uaXBlZy5jYS9kaXN0L1hNTC1MaWJYTUwiPlBlcmwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbHBsdXNwbHVzLnNvdXJjZWZvcmdlLm5ldC8iPkMrKyBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnplbmQuY29tL3BocDUvYXJ0aWNsZXMvcGhwNS14bWxwaHAucGhwI0hlYWRpbmc0Ij5QSFAgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9saWJ4bWwyLXBhcy8iPlBhc2NhbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1sLnJ1Ynlmb3JnZS5vcmcvIj5SdWJ5IGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly90Y2x4bWwuc291cmNlZm9yZ2UubmV0LyI+VGNsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvYnVnbGlzdC5jZ2k/cHJvZHVjdD1saWJ4bWwyIj5CdWcgVHJhY2tlcjwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMyIgY2VsbHNwYWNpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx0YWJsZSBjbGFzcz0ibmF2aWdhdGlvbiIgd2lkdGg9IjEwMCUiIHN1bW1hcnk9Ik5hdmlnYXRpb24gaGVhZGVyIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjIiPjx0ciB2YWxpZ249Im1pZGRsZSI+PHRkPjxhIGFjY2Vzc2tleT0icCIgaHJlZj0ibGlieG1sLXhtbGV4cG9ydHMuaHRtbCI+PGltZyBzcmM9ImxlZnQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJQcmV2IiAvPjwvYT48L3RkPjx0aCBhbGlnbj0ibGVmdCI+PGEgaHJlZj0ibGlieG1sLXhtbGV4cG9ydHMuaHRtbCI+eG1sZXhwb3J0czwvYT48L3RoPjx0ZD48YSBhY2Nlc3NrZXk9InUiIGhyZWY9ImluZGV4Lmh0bWwiPjxpbWcgc3JjPSJ1cC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlVwIiAvPjwvYT48L3RkPjx0aCBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iaW5kZXguaHRtbCI+QVBJIGRvY3VtZW50YXRpb248L2E+PC90aD48dGQ+PGEgYWNjZXNza2V5PSJoIiBocmVmPSIuLi9pbmRleC5odG1sIj48aW1nIHNyYz0iaG9tZS5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IkhvbWUiIC8+PC9hPjwvdGQ+PHRoIGFsaWduPSJjZW50ZXIiPjxhIGhyZWY9Ii4uL2luZGV4Lmh0bWwiPlRoZSBYTUwgQyBwYXJzZXIgYW5kIHRvb2xraXQgb2YgR25vbWU8L2E+PC90aD48dGggYWxpZ249InJpZ2h0Ij48YSBocmVmPSJsaWJ4bWwteG1sbW9kdWxlLmh0bWwiPnhtbG1vZHVsZTwvYT48L3RoPjx0ZD48YSBhY2Nlc3NrZXk9Im4iIGhyZWY9ImxpYnhtbC14bWxtb2R1bGUuaHRtbCI+PGltZyBzcmM9InJpZ2h0LnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iTmV4dCIgLz48L2E+PC90ZD48L3RyPjwvdGFibGU+PHA+cHJvdmlkZXMgaW50ZXJmYWNlcyBmb3IgdGhlIG1lbW9yeSBhbGxvY2F0b3IsIGluY2x1ZGluZyBkZWJ1Z2dpbmcgY2FwYWJpbGl0aWVzLiA8L3A+PGgyPlRhYmxlIG9mIENvbnRlbnRzPC9oMj48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjREVCVUdfTUVNT1JZIj5ERUJVR19NRU1PUlk8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlZhcmlhYmxlIDxhIGhyZWY9ImxpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNYWxsb2NGdW5jIj54bWxNYWxsb2NGdW5jPC9hPiA8YSBuYW1lPSJ4bWxNYWxsb2MiIGlkPSJ4bWxNYWxsb2MiPjwvYT54bWxNYWxsb2MKKworPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlZhcmlhYmxlIDxhIGhyZWY9ImxpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNYWxsb2NGdW5jIj54bWxNYWxsb2NGdW5jPC9hPiA8YSBuYW1lPSJ4bWxNYWxsb2NBdG9taWMiIGlkPSJ4bWxNYWxsb2NBdG9taWMiPjwvYT54bWxNYWxsb2NBdG9taWMKKworPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlZhcmlhYmxlIDxhIGhyZWY9ImxpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxTdHJkdXBGdW5jIj54bWxTdHJkdXBGdW5jPC9hPiA8YSBuYW1lPSJ4bWxNZW1TdHJkdXAiIGlkPSJ4bWxNZW1TdHJkdXAiPjwvYT54bWxNZW1TdHJkdXAKKworPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlZhcmlhYmxlIDxhIGhyZWY9ImxpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxSZWFsbG9jRnVuYyI+eG1sUmVhbGxvY0Z1bmM8L2E+IDxhIG5hbWU9InhtbFJlYWxsb2MiIGlkPSJ4bWxSZWFsbG9jIj48L2E+eG1sUmVhbGxvYworCis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sQ2xlYW51cE1lbW9yeSI+eG1sQ2xlYW51cE1lbW9yeTwvYT4JCSh2b2lkKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkZ1bmN0aW9uIHR5cGU6IDxhIGhyZWY9IiN4bWxGcmVlRnVuYyI+eG1sRnJlZUZ1bmM8L2E+Cit2b2lkCTxhIGhyZWY9IiN4bWxGcmVlRnVuYyI+eG1sRnJlZUZ1bmM8L2E+CQkJKHZvaWQgKiBtZW0pCis8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbEdjTWVtR2V0Ij54bWxHY01lbUdldDwvYT4JCQkoPGEgaHJlZj0ibGlieG1sLXhtbG1lbW9yeS5odG1sI3htbEZyZWVGdW5jIj54bWxGcmVlRnVuYzwvYT4gKiBmcmVlRnVuYywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1hbGxvY0Z1bmMiPnhtbE1hbGxvY0Z1bmM8L2E+ICogbWFsbG9jRnVuYywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1hbGxvY0Z1bmMiPnhtbE1hbGxvY0Z1bmM8L2E+ICogbWFsbG9jQXRvbWljRnVuYywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbG1lbW9yeS5odG1sI3htbFJlYWxsb2NGdW5jIj54bWxSZWFsbG9jRnVuYzwvYT4gKiByZWFsbG9jRnVuYywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbG1lbW9yeS5odG1sI3htbFN0cmR1cEZ1bmMiPnhtbFN0cmR1cEZ1bmM8L2E+ICogc3RyZHVwRnVuYyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbEdjTWVtU2V0dXAiPnhtbEdjTWVtU2V0dXA8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxGcmVlRnVuYyI+eG1sRnJlZUZ1bmM8L2E+IGZyZWVGdW5jLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWFsbG9jRnVuYyI+eG1sTWFsbG9jRnVuYzwvYT4gbWFsbG9jRnVuYywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1hbGxvY0Z1bmMiPnhtbE1hbGxvY0Z1bmM8L2E+IG1hbGxvY0F0b21pY0Z1bmMsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxSZWFsbG9jRnVuYyI+eG1sUmVhbGxvY0Z1bmM8L2E+IHJlYWxsb2NGdW5jLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sU3RyZHVwRnVuYyI+eG1sU3RyZHVwRnVuYzwvYT4gc3RyZHVwRnVuYyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbEluaXRNZW1vcnkiPnhtbEluaXRNZW1vcnk8L2E+CQkJKHZvaWQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZCAqCTxhIGhyZWY9IiN4bWxNYWxsb2NBdG9taWNMb2MiPnhtbE1hbGxvY0F0b21pY0xvYzwvYT4JCShzaXplX3Qgc2l6ZSwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGZpbGUsIDxiciAvPgkJCQkJIGludCBsaW5lKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkZ1bmN0aW9uIHR5cGU6IDxhIGhyZWY9IiN4bWxNYWxsb2NGdW5jIj54bWxNYWxsb2NGdW5jPC9hPgordm9pZCAqCTxhIGhyZWY9IiN4bWxNYWxsb2NGdW5jIj54bWxNYWxsb2NGdW5jPC9hPgkJCShzaXplX3Qgc2l6ZSkKKzwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQgKgk8YSBocmVmPSIjeG1sTWFsbG9jTG9jIj54bWxNYWxsb2NMb2M8L2E+CQkJKHNpemVfdCBzaXplLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogZmlsZSwgPGJyIC8+CQkJCQkgaW50IGxpbmUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxNZW1CbG9ja3MiPnhtbE1lbUJsb2NrczwvYT4JCQkodm9pZCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxNZW1EaXNwbGF5Ij54bWxNZW1EaXNwbGF5PC9hPgkJCShGSUxFICogZnApPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sTWVtRGlzcGxheUxhc3QiPnhtbE1lbURpc3BsYXlMYXN0PC9hPgkJKEZJTEUgKiBmcCwgPGJyIC8+CQkJCQkgbG9uZyBuYkJ5dGVzKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbE1lbUZyZWUiPnhtbE1lbUZyZWU8L2E+CQkJKHZvaWQgKiBwdHIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxNZW1HZXQiPnhtbE1lbUdldDwvYT4JCQkoPGEgaHJlZj0ibGlieG1sLXhtbG1lbW9yeS5odG1sI3htbEZyZWVGdW5jIj54bWxGcmVlRnVuYzwvYT4gKiBmcmVlRnVuYywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1hbGxvY0Z1bmMiPnhtbE1hbGxvY0Z1bmM8L2E+ICogbWFsbG9jRnVuYywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbG1lbW9yeS5odG1sI3htbFJlYWxsb2NGdW5jIj54bWxSZWFsbG9jRnVuYzwvYT4gKiByZWFsbG9jRnVuYywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbG1lbW9yeS5odG1sI3htbFN0cmR1cEZ1bmMiPnhtbFN0cmR1cEZ1bmM8L2E+ICogc3RyZHVwRnVuYyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkICoJPGEgaHJlZj0iI3htbE1lbU1hbGxvYyI+eG1sTWVtTWFsbG9jPC9hPgkJCShzaXplX3Qgc2l6ZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkICoJPGEgaHJlZj0iI3htbE1lbVJlYWxsb2MiPnhtbE1lbVJlYWxsb2M8L2E+CQkJKHZvaWQgKiBwdHIsIDxiciAvPgkJCQkJIHNpemVfdCBzaXplKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sTWVtU2V0dXAiPnhtbE1lbVNldHVwPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sRnJlZUZ1bmMiPnhtbEZyZWVGdW5jPC9hPiBmcmVlRnVuYywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1hbGxvY0Z1bmMiPnhtbE1hbGxvY0Z1bmM8L2E+IG1hbGxvY0Z1bmMsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxSZWFsbG9jRnVuYyI+eG1sUmVhbGxvY0Z1bmM8L2E+IHJlYWxsb2NGdW5jLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sU3RyZHVwRnVuYyI+eG1sU3RyZHVwRnVuYzwvYT4gc3RyZHVwRnVuYyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxNZW1TaG93Ij54bWxNZW1TaG93PC9hPgkJCShGSUxFICogZnAsIDxiciAvPgkJCQkJIGludCBucik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5jaGFyICoJPGEgaHJlZj0iI3htbE1lbVN0cmR1cExvYyI+eG1sTWVtU3RyZHVwTG9jPC9hPgkJCShjb25zdCBjaGFyICogc3RyLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogZmlsZSwgPGJyIC8+CQkJCQkgaW50IGxpbmUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxNZW1Vc2VkIj54bWxNZW1Vc2VkPC9hPgkJCSh2b2lkKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbE1lbW9yeUR1bXAiPnhtbE1lbW9yeUR1bXA8L2E+CQkJKHZvaWQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Y2hhciAqCTxhIGhyZWY9IiN4bWxNZW1vcnlTdHJkdXAiPnhtbE1lbW9yeVN0cmR1cDwvYT4JCQkoY29uc3QgY2hhciAqIHN0cik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5GdW5jdGlvbiB0eXBlOiA8YSBocmVmPSIjeG1sUmVhbGxvY0Z1bmMiPnhtbFJlYWxsb2NGdW5jPC9hPgordm9pZCAqCTxhIGhyZWY9IiN4bWxSZWFsbG9jRnVuYyI+eG1sUmVhbGxvY0Z1bmM8L2E+CQkJKHZvaWQgKiBtZW0sIDxiciAvPgkJCQkJIHNpemVfdCBzaXplKQorPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZCAqCTxhIGhyZWY9IiN4bWxSZWFsbG9jTG9jIj54bWxSZWFsbG9jTG9jPC9hPgkJCSh2b2lkICogcHRyLCA8YnIgLz4JCQkJCSBzaXplX3Qgc2l6ZSwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGZpbGUsIDxiciAvPgkJCQkJIGludCBsaW5lKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkZ1bmN0aW9uIHR5cGU6IDxhIGhyZWY9IiN4bWxTdHJkdXBGdW5jIj54bWxTdHJkdXBGdW5jPC9hPgorY2hhciAqCTxhIGhyZWY9IiN4bWxTdHJkdXBGdW5jIj54bWxTdHJkdXBGdW5jPC9hPgkJCShjb25zdCBjaGFyICogc3RyKQorPC9wcmU+Cis8aDI+RGVzY3JpcHRpb248L2gyPgorPGgzPjxhIG5hbWU9IkRFQlVHX01FTU9SWSIgaWQ9IkRFQlVHX01FTU9SWSI+PC9hPk1hY3JvOiBERUJVR19NRU1PUlk8L2gzPjxwcmU+I2RlZmluZSBERUJVR19NRU1PUlk8L3ByZT48cD48YSBocmVmPSJsaWJ4bWwteG1sbWVtb3J5Lmh0bWwjREVCVUdfTUVNT1JZIj5ERUJVR19NRU1PUlk8L2E+IHJlcGxhY2VzIHRoZSBhbGxvY2F0b3Igd2l0aCBhIGNvbGxlY3QgYW5kIGRlYnVnIHNoZWxsIHRvIHRoZSBsaWJjIGFsbG9jYXRvci4gPGEgaHJlZj0ibGlieG1sLXhtbG1lbW9yeS5odG1sI0RFQlVHX01FTU9SWSI+REVCVUdfTUVNT1JZPC9hPiBzaG91bGQgb25seSBiZSBhY3RpdmF0ZWQgd2hlbiBkZWJ1Z2dpbmcgbGlieG1sIGkuZS4gaWYgbGlieG1sIGhhcyBiZWVuIGNvbmZpZ3VyZWQgd2l0aCAtLXdpdGgtZGVidWctbWVtIHRvby4gI2RlZmluZSBERUJVR19NRU1PUllfRlJFRUQgI2RlZmluZSA8YSBocmVmPSJsaWJ4bWwteG1sdmVyc2lvbi5odG1sI0RFQlVHX01FTU9SWV9MT0NBVElPTiI+REVCVUdfTUVNT1JZX0xPQ0FUSU9OPC9hPjwvcD4KKzxoMz48YSBuYW1lPSJ4bWxDbGVhbnVwTWVtb3J5IiBpZD0ieG1sQ2xlYW51cE1lbW9yeSI+PC9hPkZ1bmN0aW9uOiB4bWxDbGVhbnVwTWVtb3J5PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxDbGVhbnVwTWVtb3J5CQkodm9pZCk8YnIgLz4KKzwvcHJlPjxwPkZyZWUgdXAgYWxsIHRoZSBtZW1vcnkgYWxsb2NhdGVkIGJ5IHRoZSBsaWJyYXJ5IGZvciBpdHMgb3duIHVzZS4gVGhpcyBzaG91bGQgbm90IGJlIGNhbGxlZCBieSB1c2VyIGxldmVsIGNvZGUuPC9wPgorPGgzPjxhIG5hbWU9InhtbEZyZWVGdW5jIiBpZD0ieG1sRnJlZUZ1bmMiPjwvYT5GdW5jdGlvbiB0eXBlOiB4bWxGcmVlRnVuYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkZ1bmN0aW9uIHR5cGU6IHhtbEZyZWVGdW5jCit2b2lkCXhtbEZyZWVGdW5jCQkJKHZvaWQgKiBtZW0pCis8L3ByZT48cD5TaWduYXR1cmUgZm9yIGEgZnJlZSgpIGltcGxlbWVudGF0aW9uLjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5tZW08L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIGFscmVhZHkgYWxsb2NhdGVkIGJsb2NrIG9mIG1lbW9yeTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGJyIC8+Cis8aDM+PGEgbmFtZT0ieG1sR2NNZW1HZXQiIGlkPSJ4bWxHY01lbUdldCI+PC9hPkZ1bmN0aW9uOiB4bWxHY01lbUdldDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxHY01lbUdldAkJCSg8YSBocmVmPSJsaWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sRnJlZUZ1bmMiPnhtbEZyZWVGdW5jPC9hPiAqIGZyZWVGdW5jLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWFsbG9jRnVuYyI+eG1sTWFsbG9jRnVuYzwvYT4gKiBtYWxsb2NGdW5jLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWFsbG9jRnVuYyI+eG1sTWFsbG9jRnVuYzwvYT4gKiBtYWxsb2NBdG9taWNGdW5jLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sUmVhbGxvY0Z1bmMiPnhtbFJlYWxsb2NGdW5jPC9hPiAqIHJlYWxsb2NGdW5jLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sU3RyZHVwRnVuYyI+eG1sU3RyZHVwRnVuYzwvYT4gKiBzdHJkdXBGdW5jKTxiciAvPgorPC9wcmU+PHA+UHJvdmlkZXMgdGhlIG1lbW9yeSBhY2Nlc3MgZnVuY3Rpb25zIHNldCBjdXJyZW50bHkgaW4gdXNlIFRoZSBtYWxsb2NBdG9taWNGdW5jIGlzIHNwZWNpYWxpemVkIGZvciBhdG9taWMgYmxvY2sgYWxsb2NhdGlvbnMgKGkuZS4gb2YgYXJlYXMgdXNlZnVsIGZvciBnYXJiYWdlIGNvbGxlY3RlZCBtZW1vcnkgYWxsb2NhdG9yczwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZyZWVGdW5jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5wbGFjZSB0byBzYXZlIHRoZSBmcmVlKCkgZnVuY3Rpb24gaW4gdXNlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5tYWxsb2NGdW5jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5wbGFjZSB0byBzYXZlIHRoZSBtYWxsb2MoKSBmdW5jdGlvbiBpbiB1c2U8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm1hbGxvY0F0b21pY0Z1bmM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnBsYWNlIHRvIHNhdmUgdGhlIGF0b21pYyBtYWxsb2MoKSBmdW5jdGlvbiBpbiB1c2U8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJlYWxsb2NGdW5jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5wbGFjZSB0byBzYXZlIHRoZSByZWFsbG9jKCkgZnVuY3Rpb24gaW4gdXNlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdHJkdXBGdW5jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5wbGFjZSB0byBzYXZlIHRoZSBzdHJkdXAoKSBmdW5jdGlvbiBpbiB1c2U8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgb24gc3VjY2VzczwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEdjTWVtU2V0dXAiIGlkPSJ4bWxHY01lbVNldHVwIj48L2E+RnVuY3Rpb246IHhtbEdjTWVtU2V0dXA8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sR2NNZW1TZXR1cAkJCSg8YSBocmVmPSJsaWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sRnJlZUZ1bmMiPnhtbEZyZWVGdW5jPC9hPiBmcmVlRnVuYywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1hbGxvY0Z1bmMiPnhtbE1hbGxvY0Z1bmM8L2E+IG1hbGxvY0Z1bmMsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNYWxsb2NGdW5jIj54bWxNYWxsb2NGdW5jPC9hPiBtYWxsb2NBdG9taWNGdW5jLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sUmVhbGxvY0Z1bmMiPnhtbFJlYWxsb2NGdW5jPC9hPiByZWFsbG9jRnVuYywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbG1lbW9yeS5odG1sI3htbFN0cmR1cEZ1bmMiPnhtbFN0cmR1cEZ1bmM8L2E+IHN0cmR1cEZ1bmMpPGJyIC8+Cis8L3ByZT48cD5PdmVycmlkZSB0aGUgZGVmYXVsdCBtZW1vcnkgYWNjZXNzIGZ1bmN0aW9ucyB3aXRoIGEgbmV3IHNldCBUaGlzIGhhcyB0byBiZSBjYWxsZWQgYmVmb3JlIGFueSBvdGhlciBsaWJ4bWwgcm91dGluZXMgISBUaGUgbWFsbG9jQXRvbWljRnVuYyBpcyBzcGVjaWFsaXplZCBmb3IgYXRvbWljIGJsb2NrIGFsbG9jYXRpb25zIChpLmUuIG9mIGFyZWFzIHVzZWZ1bCBmb3IgZ2FyYmFnZSBjb2xsZWN0ZWQgbWVtb3J5IGFsbG9jYXRvcnMgU2hvdWxkIHRoaXMgYmUgYmxvY2tlZCBpZiB0aGVyZSB3YXMgYWxyZWFkeSBzb21lIGFsbG9jYXRpb25zIGRvbmUgPzwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZyZWVGdW5jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZnJlZSgpIGZ1bmN0aW9uIHRvIHVzZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bWFsbG9jRnVuYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG1hbGxvYygpIGZ1bmN0aW9uIHRvIHVzZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bWFsbG9jQXRvbWljRnVuYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG1hbGxvYygpIGZ1bmN0aW9uIHRvIHVzZSBmb3IgYXRvbWljIGFsbG9jYXRpb25zPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWFsbG9jRnVuYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHJlYWxsb2MoKSBmdW5jdGlvbiB0byB1c2U8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0cmR1cEZ1bmM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzdHJkdXAoKSBmdW5jdGlvbiB0byB1c2U8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgb24gc3VjY2VzczwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEluaXRNZW1vcnkiIGlkPSJ4bWxJbml0TWVtb3J5Ij48L2E+RnVuY3Rpb246IHhtbEluaXRNZW1vcnk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sSW5pdE1lbW9yeQkJCSh2b2lkKTxiciAvPgorPC9wcmU+PHA+SW5pdGlhbGl6ZSB0aGUgbWVtb3J5IGxheWVyLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgb24gc3VjY2VzczwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbE1hbGxvY0F0b21pY0xvYyIgaWQ9InhtbE1hbGxvY0F0b21pY0xvYyI+PC9hPkZ1bmN0aW9uOiB4bWxNYWxsb2NBdG9taWNMb2M8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkICoJeG1sTWFsbG9jQXRvbWljTG9jCQkoc2l6ZV90IHNpemUsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBmaWxlLCA8YnIgLz4JCQkJCSBpbnQgbGluZSk8YnIgLz4KKzwvcHJlPjxwPmEgbWFsbG9jKCkgZXF1aXZhbGVudCwgd2l0aCBsb2dnaW5nIG9mIHRoZSBhbGxvY2F0aW9uIGluZm8uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2l6ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gaW50IHNwZWNpZnlpbmcgdGhlIHNpemUgaW4gYnl0ZSB0byBhbGxvY2F0ZS48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZpbGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmaWxlIG5hbWUgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGluZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxpbmUgbnVtYmVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gdGhlIGFsbG9jYXRlZCBhcmVhIG9yIE5VTEwgaW4gY2FzZSBvZiBsYWNrIG9mIG1lbW9yeS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxNYWxsb2NGdW5jIiBpZD0ieG1sTWFsbG9jRnVuYyI+PC9hPkZ1bmN0aW9uIHR5cGU6IHhtbE1hbGxvY0Z1bmM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5GdW5jdGlvbiB0eXBlOiB4bWxNYWxsb2NGdW5jCit2b2lkICoJeG1sTWFsbG9jRnVuYwkJCShzaXplX3Qgc2l6ZSkKKzwvcHJlPjxwPlNpZ25hdHVyZSBmb3IgYSBtYWxsb2MoKSBpbXBsZW1lbnRhdGlvbi48L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2l6ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHNpemUgcmVxdWVzdGVkIGluIGJ5dGVzPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gdGhlIG5ld2x5IGFsbG9jYXRlZCBibG9jayBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48YnIgLz4KKzxoMz48YSBuYW1lPSJ4bWxNYWxsb2NMb2MiIGlkPSJ4bWxNYWxsb2NMb2MiPjwvYT5GdW5jdGlvbjogeG1sTWFsbG9jTG9jPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZCAqCXhtbE1hbGxvY0xvYwkJCShzaXplX3Qgc2l6ZSwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGZpbGUsIDxiciAvPgkJCQkJIGludCBsaW5lKTxiciAvPgorPC9wcmU+PHA+YSBtYWxsb2MoKSBlcXVpdmFsZW50LCB3aXRoIGxvZ2dpbmcgb2YgdGhlIGFsbG9jYXRpb24gaW5mby48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zaXplPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBpbnQgc3BlY2lmeWluZyB0aGUgc2l6ZSBpbiBieXRlIHRvIGFsbG9jYXRlLjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmlsZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZpbGUgbmFtZSBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5saW5lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbGluZSBudW1iZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byB0aGUgYWxsb2NhdGVkIGFyZWEgb3IgTlVMTCBpbiBjYXNlIG9mIGxhY2sgb2YgbWVtb3J5LjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbE1lbUJsb2NrcyIgaWQ9InhtbE1lbUJsb2NrcyI+PC9hPkZ1bmN0aW9uOiB4bWxNZW1CbG9ja3M8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sTWVtQmxvY2tzCQkJKHZvaWQpPGJyIC8+Cis8L3ByZT48cD5Qcm92aWRlcyB0aGUgbnVtYmVyIG9mIG1lbW9yeSBhcmVhcyBjdXJyZW50bHkgYWxsb2NhdGVkPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gaW50IHJlcHJlc2VudGluZyB0aGUgbnVtYmVyIG9mIGJsb2NrczwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbE1lbURpc3BsYXkiIGlkPSJ4bWxNZW1EaXNwbGF5Ij48L2E+RnVuY3Rpb246IHhtbE1lbURpc3BsYXk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbE1lbURpc3BsYXkJCQkoRklMRSAqIGZwKTxiciAvPgorPC9wcmU+PHA+c2hvdyBpbi1leHRlbnNvIHRoZSBtZW1vcnkgYmxvY2tzIGFsbG9jYXRlZDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZwPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIEZJTEUgZGVzY3JpcHRvciB1c2VkIGFzIHRoZSBvdXRwdXQgZmlsZSwgaWYgTlVMTCwgdGhlIHJlc3VsdCBpcyB3cml0dGVuIHRvIHRoZSBmaWxlIC5tZW1vcnlsaXN0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sTWVtRGlzcGxheUxhc3QiIGlkPSJ4bWxNZW1EaXNwbGF5TGFzdCI+PC9hPkZ1bmN0aW9uOiB4bWxNZW1EaXNwbGF5TGFzdDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sTWVtRGlzcGxheUxhc3QJCShGSUxFICogZnAsIDxiciAvPgkJCQkJIGxvbmcgbmJCeXRlcyk8YnIgLz4KKzwvcHJlPjxwPnRoZSBsYXN0IG5iQnl0ZXMgb2YgbWVtb3J5IGFsbG9jYXRlZCBhbmQgbm90IGZyZWVkLCB1c2VmdWwgZm9yIGR1bXBpbmcgdGhlIG1lbW9yeSBsZWZ0IGFsbG9jYXRlZCBiZXR3ZWVuIHR3byBwbGFjZXMgYXQgcnVudGltZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mcDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBGSUxFIGRlc2NyaXB0b3IgdXNlZCBhcyB0aGUgb3V0cHV0IGZpbGUsIGlmIE5VTEwsIHRoZSByZXN1bHQgaXMgd3JpdHRlbiB0byB0aGUgZmlsZSAubWVtb3J5bGlzdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmJCeXRlczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGFtb3VudCBvZiBtZW1vcnkgdG8gZHVtcDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbE1lbUZyZWUiIGlkPSJ4bWxNZW1GcmVlIj48L2E+RnVuY3Rpb246IHhtbE1lbUZyZWU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbE1lbUZyZWUJCQkodm9pZCAqIHB0cik8YnIgLz4KKzwvcHJlPjxwPmEgZnJlZSgpIGVxdWl2YWxlbnQsIHdpdGggZXJyb3IgY2hlY2tpbmcuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cHRyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbWVtb3J5IGJsb2NrIHBvaW50ZXI8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxNZW1HZXQiIGlkPSJ4bWxNZW1HZXQiPjwvYT5GdW5jdGlvbjogeG1sTWVtR2V0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbE1lbUdldAkJCSg8YSBocmVmPSJsaWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sRnJlZUZ1bmMiPnhtbEZyZWVGdW5jPC9hPiAqIGZyZWVGdW5jLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWFsbG9jRnVuYyI+eG1sTWFsbG9jRnVuYzwvYT4gKiBtYWxsb2NGdW5jLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sUmVhbGxvY0Z1bmMiPnhtbFJlYWxsb2NGdW5jPC9hPiAqIHJlYWxsb2NGdW5jLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sU3RyZHVwRnVuYyI+eG1sU3RyZHVwRnVuYzwvYT4gKiBzdHJkdXBGdW5jKTxiciAvPgorPC9wcmU+PHA+UHJvdmlkZXMgdGhlIG1lbW9yeSBhY2Nlc3MgZnVuY3Rpb25zIHNldCBjdXJyZW50bHkgaW4gdXNlPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZnJlZUZ1bmM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnBsYWNlIHRvIHNhdmUgdGhlIGZyZWUoKSBmdW5jdGlvbiBpbiB1c2U8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm1hbGxvY0Z1bmM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnBsYWNlIHRvIHNhdmUgdGhlIG1hbGxvYygpIGZ1bmN0aW9uIGluIHVzZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVhbGxvY0Z1bmM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnBsYWNlIHRvIHNhdmUgdGhlIHJlYWxsb2MoKSBmdW5jdGlvbiBpbiB1c2U8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0cmR1cEZ1bmM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnBsYWNlIHRvIHNhdmUgdGhlIHN0cmR1cCgpIGZ1bmN0aW9uIGluIHVzZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBvbiBzdWNjZXNzPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sTWVtTWFsbG9jIiBpZD0ieG1sTWVtTWFsbG9jIj48L2E+RnVuY3Rpb246IHhtbE1lbU1hbGxvYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQgKgl4bWxNZW1NYWxsb2MJCQkoc2l6ZV90IHNpemUpPGJyIC8+Cis8L3ByZT48cD5hIG1hbGxvYygpIGVxdWl2YWxlbnQsIHdpdGggbG9nZ2luZyBvZiB0aGUgYWxsb2NhdGlvbiBpbmZvLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNpemU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIGludCBzcGVjaWZ5aW5nIHRoZSBzaXplIGluIGJ5dGUgdG8gYWxsb2NhdGUuPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gdGhlIGFsbG9jYXRlZCBhcmVhIG9yIE5VTEwgaW4gY2FzZSBvZiBsYWNrIG9mIG1lbW9yeS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxNZW1SZWFsbG9jIiBpZD0ieG1sTWVtUmVhbGxvYyI+PC9hPkZ1bmN0aW9uOiB4bWxNZW1SZWFsbG9jPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZCAqCXhtbE1lbVJlYWxsb2MJCQkodm9pZCAqIHB0ciwgPGJyIC8+CQkJCQkgc2l6ZV90IHNpemUpPGJyIC8+Cis8L3ByZT48cD5hIHJlYWxsb2MoKSBlcXVpdmFsZW50LCB3aXRoIGxvZ2dpbmcgb2YgdGhlIGFsbG9jYXRpb24gaW5mby48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wdHI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBpbml0aWFsIG1lbW9yeSBibG9jayBwb2ludGVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zaXplPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBpbnQgc3BlY2lmeWluZyB0aGUgc2l6ZSBpbiBieXRlIHRvIGFsbG9jYXRlLjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIHRoZSBhbGxvY2F0ZWQgYXJlYSBvciBOVUxMIGluIGNhc2Ugb2YgbGFjayBvZiBtZW1vcnkuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sTWVtU2V0dXAiIGlkPSJ4bWxNZW1TZXR1cCI+PC9hPkZ1bmN0aW9uOiB4bWxNZW1TZXR1cDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxNZW1TZXR1cAkJCSg8YSBocmVmPSJsaWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sRnJlZUZ1bmMiPnhtbEZyZWVGdW5jPC9hPiBmcmVlRnVuYywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1hbGxvY0Z1bmMiPnhtbE1hbGxvY0Z1bmM8L2E+IG1hbGxvY0Z1bmMsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxSZWFsbG9jRnVuYyI+eG1sUmVhbGxvY0Z1bmM8L2E+IHJlYWxsb2NGdW5jLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sU3RyZHVwRnVuYyI+eG1sU3RyZHVwRnVuYzwvYT4gc3RyZHVwRnVuYyk8YnIgLz4KKzwvcHJlPjxwPk92ZXJyaWRlIHRoZSBkZWZhdWx0IG1lbW9yeSBhY2Nlc3MgZnVuY3Rpb25zIHdpdGggYSBuZXcgc2V0IFRoaXMgaGFzIHRvIGJlIGNhbGxlZCBiZWZvcmUgYW55IG90aGVyIGxpYnhtbCByb3V0aW5lcyAhIFNob3VsZCB0aGlzIGJlIGJsb2NrZWQgaWYgdGhlcmUgd2FzIGFscmVhZHkgc29tZSBhbGxvY2F0aW9ucyBkb25lID88L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mcmVlRnVuYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZyZWUoKSBmdW5jdGlvbiB0byB1c2U8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm1hbGxvY0Z1bmM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBtYWxsb2MoKSBmdW5jdGlvbiB0byB1c2U8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJlYWxsb2NGdW5jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmVhbGxvYygpIGZ1bmN0aW9uIHRvIHVzZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3RyZHVwRnVuYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHN0cmR1cCgpIGZ1bmN0aW9uIHRvIHVzZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBvbiBzdWNjZXNzPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sTWVtU2hvdyIgaWQ9InhtbE1lbVNob3ciPjwvYT5GdW5jdGlvbjogeG1sTWVtU2hvdzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sTWVtU2hvdwkJCShGSUxFICogZnAsIDxiciAvPgkJCQkJIGludCBucik8YnIgLz4KKzwvcHJlPjxwPnNob3cgYSBzaG93IGRpc3BsYXkgb2YgdGhlIG1lbW9yeSBhbGxvY2F0ZWQsIGFuZCBkdW1wIHRoZSBAbnIgbGFzdCBhbGxvY2F0ZWQgYXJlYXMgd2hpY2ggd2VyZSBub3QgZnJlZWQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mcDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBGSUxFIGRlc2NyaXB0b3IgdXNlZCBhcyB0aGUgb3V0cHV0IGZpbGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5yPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5udW1iZXIgb2YgZW50cmllcyB0byBkdW1wPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sTWVtU3RyZHVwTG9jIiBpZD0ieG1sTWVtU3RyZHVwTG9jIj48L2E+RnVuY3Rpb246IHhtbE1lbVN0cmR1cExvYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmNoYXIgKgl4bWxNZW1TdHJkdXBMb2MJCQkoY29uc3QgY2hhciAqIHN0ciwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGZpbGUsIDxiciAvPgkJCQkJIGludCBsaW5lKTxiciAvPgorPC9wcmU+PHA+YSBzdHJkdXAoKSBlcXVpdmFsZW50LCB3aXRoIGxvZ2dpbmcgb2YgdGhlIGFsbG9jYXRpb24gaW5mby48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdHI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBpbml0aWFsIHN0cmluZyBwb2ludGVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZmlsZSBuYW1lIG9yIE5VTEw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxpbmU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsaW5lIG51bWJlcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIHRoZSBuZXcgc3RyaW5nIG9yIE5VTEwgaWYgYWxsb2NhdGlvbiBlcnJvciBvY2N1cnJlZC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxNZW1Vc2VkIiBpZD0ieG1sTWVtVXNlZCI+PC9hPkZ1bmN0aW9uOiB4bWxNZW1Vc2VkPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbE1lbVVzZWQJCQkodm9pZCk8YnIgLz4KKzwvcHJlPjxwPlByb3ZpZGVzIHRoZSBhbW91bnQgb2YgbWVtb3J5IGN1cnJlbnRseSBhbGxvY2F0ZWQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBpbnQgcmVwcmVzZW50aW5nIHRoZSBhbW91bnQgb2YgbWVtb3J5IGFsbG9jYXRlZC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxNZW1vcnlEdW1wIiBpZD0ieG1sTWVtb3J5RHVtcCI+PC9hPkZ1bmN0aW9uOiB4bWxNZW1vcnlEdW1wPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxNZW1vcnlEdW1wCQkJKHZvaWQpPGJyIC8+Cis8L3ByZT48cD5EdW1wIGluLWV4dGVuc28gdGhlIG1lbW9yeSBibG9ja3MgYWxsb2NhdGVkIHRvIHRoZSBmaWxlIC5tZW1vcnlsaXN0PC9wPgorPGgzPjxhIG5hbWU9InhtbE1lbW9yeVN0cmR1cCIgaWQ9InhtbE1lbW9yeVN0cmR1cCI+PC9hPkZ1bmN0aW9uOiB4bWxNZW1vcnlTdHJkdXA8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5jaGFyICoJeG1sTWVtb3J5U3RyZHVwCQkJKGNvbnN0IGNoYXIgKiBzdHIpPGJyIC8+Cis8L3ByZT48cD5hIHN0cmR1cCgpIGVxdWl2YWxlbnQsIHdpdGggbG9nZ2luZyBvZiB0aGUgYWxsb2NhdGlvbiBpbmZvLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGluaXRpYWwgc3RyaW5nIHBvaW50ZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byB0aGUgbmV3IHN0cmluZyBvciBOVUxMIGlmIGFsbG9jYXRpb24gZXJyb3Igb2NjdXJyZWQuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sUmVhbGxvY0Z1bmMiIGlkPSJ4bWxSZWFsbG9jRnVuYyI+PC9hPkZ1bmN0aW9uIHR5cGU6IHhtbFJlYWxsb2NGdW5jPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RnVuY3Rpb24gdHlwZTogeG1sUmVhbGxvY0Z1bmMKK3ZvaWQgKgl4bWxSZWFsbG9jRnVuYwkJCSh2b2lkICogbWVtLCA8YnIgLz4JCQkJCSBzaXplX3Qgc2l6ZSkKKzwvcHJlPjxwPlNpZ25hdHVyZSBmb3IgYSByZWFsbG9jKCkgaW1wbGVtZW50YXRpb24uPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm1lbTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gYWxyZWFkeSBhbGxvY2F0ZWQgYmxvY2sgb2YgbWVtb3J5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zaXplPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IHNpemUgcmVxdWVzdGVkIGluIGJ5dGVzPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gdGhlIG5ld2x5IHJlYWxsb2NhdGVkIGJsb2NrIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxiciAvPgorPGgzPjxhIG5hbWU9InhtbFJlYWxsb2NMb2MiIGlkPSJ4bWxSZWFsbG9jTG9jIj48L2E+RnVuY3Rpb246IHhtbFJlYWxsb2NMb2M8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkICoJeG1sUmVhbGxvY0xvYwkJCSh2b2lkICogcHRyLCA8YnIgLz4JCQkJCSBzaXplX3Qgc2l6ZSwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGZpbGUsIDxiciAvPgkJCQkJIGludCBsaW5lKTxiciAvPgorPC9wcmU+PHA+YSByZWFsbG9jKCkgZXF1aXZhbGVudCwgd2l0aCBsb2dnaW5nIG9mIHRoZSBhbGxvY2F0aW9uIGluZm8uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cHRyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaW5pdGlhbCBtZW1vcnkgYmxvY2sgcG9pbnRlcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2l6ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gaW50IHNwZWNpZnlpbmcgdGhlIHNpemUgaW4gYnl0ZSB0byBhbGxvY2F0ZS48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZpbGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmaWxlIG5hbWUgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGluZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxpbmUgbnVtYmVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gdGhlIGFsbG9jYXRlZCBhcmVhIG9yIE5VTEwgaW4gY2FzZSBvZiBsYWNrIG9mIG1lbW9yeS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTdHJkdXBGdW5jIiBpZD0ieG1sU3RyZHVwRnVuYyI+PC9hPkZ1bmN0aW9uIHR5cGU6IHhtbFN0cmR1cEZ1bmM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5GdW5jdGlvbiB0eXBlOiB4bWxTdHJkdXBGdW5jCitjaGFyICoJeG1sU3RyZHVwRnVuYwkJCShjb25zdCBjaGFyICogc3RyKQorPC9wcmU+PHA+U2lnbmF0dXJlIGZvciBhbiBzdHJkdXAoKSBpbXBsZW1lbnRhdGlvbi48L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3RyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHplcm8gdGVybWluYXRlZCBzdHJpbmc8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjb3B5IG9mIHRoZSBzdHJpbmcgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGJyIC8+Cis8cD48YSBocmVmPSIuLi9idWdzLmh0bWwiPkRhbmllbCBWZWlsbGFyZDwvYT48L3A+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2h0bWwvbGlieG1sLXhtbG1vZHVsZS5odG1sIGIvbGlieG1sMi9kb2MvaHRtbC9saWJ4bWwteG1sbW9kdWxlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWUyNWE5MgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL2h0bWwvbGlieG1sLXhtbG1vZHVsZS5odG1sCkBAIC0wLDAgKzEsMzggQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+PGxpbmsgcmVsPSJTSE9SVENVVCBJQ09OIiBocmVmPSIvZmF2aWNvbi5pY28iIC8+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK1REIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitCT0RZIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2E7IG1hcmdpbi10b3A6IDJlbTsgbWFyZ2luLWxlZnQ6IDBlbTsgbWFyZ2luLXJpZ2h0OiAwZW19CitIMSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDIge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gzIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitBOmxpbmssIEE6dmlzaXRlZCwgQTphY3RpdmUgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB9Cis8L3N0eWxlPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAgICBkaXYuZGVwcmVjYXRlZCBwcmUucHJvZ3JhbWxpc3Rpbmcge2JvcmRlci1zdHlsZTogZG91YmxlO2JvcmRlci1jb2xvcjpyZWR9CisgICAgICBwcmUucHJvZ3JhbWxpc3Rpbmcge2JvcmRlci1zdHlsZTogZG91YmxlO2JhY2tncm91bmQ6ICNFRUNGQTF9CisgICAgPC9zdHlsZT48dGl0bGU+TW9kdWxlIHhtbG1vZHVsZSBmcm9tIGxpYnhtbDI8L3RpdGxlPjwvaGVhZD48Ym9keSBiZ2NvbG9yPSIjOGI3NzY1IiB0ZXh0PSIjMDAwMDAwIiBsaW5rPSIjYTA2MDYwIiB2bGluaz0iIzAwMDAwMCI+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjEwMCUiIGNlbGxwYWRkaW5nPSI1IiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCB3aWR0aD0iMTIwIj48YSBocmVmPSJodHRwOi8vc3dwYXQuZmZpaS5vcmcvIj48aW1nIHNyYz0iLi4vZXBhdGVudHMucG5nIiBhbHQ9IkFjdGlvbiBhZ2FpbnN0IHNvZnR3YXJlIHBhdGVudHMiIC8+PC9hPjwvdGQ+PHRkIHdpZHRoPSIxODAiPjxhIGhyZWY9Imh0dHA6Ly93d3cuZ25vbWUub3JnLyI+PGltZyBzcmM9Ii4uL2dub21lMi5wbmciIGFsdD0iR25vbWUyIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1N0YXR1cyI+PGltZyBzcmM9Ii4uL3czYy5wbmciIGFsdD0iVzNDIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cucmVkaGF0LmNvbS8iPjxpbWcgc3JjPSIuLi9yZWRoYXQuZ2lmIiBhbHQ9IlJlZCBIYXQgTG9nbyIgLz48L2E+PGRpdiBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnLyI+PGltZyBzcmM9Ii4uL0xpYnhtbDItTG9nby0xODB4MTY4LmdpZiIgYWx0PSJNYWRlIHdpdGggTGlieG1sMiBMb2dvIiAvPjwvYT48L2Rpdj48L3RkPjx0ZD48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iOTAlIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyIgYmdjb2xvcj0iI2ZmZmFjZCI+PHRyPjx0ZCBhbGlnbj0iY2VudGVyIj48aDE+PC9oMT48aDI+TW9kdWxlIHhtbG1vZHVsZSBmcm9tIGxpYnhtbDI8L2gyPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI0IiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCB2YWxpZ249InRvcCIgd2lkdGg9IjIwMCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+QVBJIE1lbnU8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PGZvcm0gYWN0aW9uPSIuLi9zZWFyY2gucGhwIiBlbmN0eXBlPSJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiIG1ldGhvZD0iZ2V0Ij48aW5wdXQgbmFtZT0icXVlcnkiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iIiAvPjxpbnB1dCBuYW1lPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNlYXJjaCAuLi4iIC8+PC9mb3JtPjx1bD48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9Ii4uL2luZGV4Lmh0bWwiPk1haW4gTWVudTwvYT48L2xpPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iLi4vZG9jcy5odG1sIj5EZXZlbG9wZXIgTWVudTwvYT48L2xpPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iLi4vZXhhbXBsZXMvaW5kZXguaHRtbCI+Q29kZSBFeGFtcGxlczwvYT48L2xpPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iaW5kZXguaHRtbCI+QVBJIE1lbnU8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXBhcnNlci5odG1sIj5QYXJzZXIgQVBJPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwiPlRyZWUgQVBJPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCI+UmVhZGVyIEFQSTwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9ndWlkZWxpbmVzLmh0bWwiPlhNTCBHdWlkZWxpbmVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0NoYW5nZUxvZy5odG1sIj5DaGFuZ2VMb2c8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5BUEkgSW5kZXhlczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9Ii4uL0FQSWNodW5rMC5odG1sIj5BbHBoYWJldGljPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSWNvbnN0cnVjdG9ycy5odG1sIj5Db25zdHJ1Y3RvcnM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJZnVuY3Rpb25zLmh0bWwiPkZ1bmN0aW9ucy9UeXBlczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUElmaWxlcy5odG1sIj5Nb2R1bGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSXN5bWJvbHMuaHRtbCI+U3ltYm9sczwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPlJlbGF0ZWQgbGlua3M8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSJodHRwOi8vbWFpbC5nbm9tZS5vcmcvYXJjaGl2ZXMveG1sLyI+TWFpbCBhcmNoaXZlPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9YU0xULyI+WFNMVCBsaWJ4c2x0PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9waGQuY3MudW5pYm8uaXQvZ2RvbWUyLyI+RE9NIGdkb21lMjwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmFsZWtzZXkuY29tL3htbHNlYy8iPlhNTC1EU2lnIHhtbHNlYzwvYT48L2xpPjxsaT48YSBocmVmPSJmdHA6Ly94bWxzb2Z0Lm9yZy8iPkZUUDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnpsYXRrb3ZpYy5jb20vcHJvamVjdHMvbGlieG1sLyI+V2luZG93cyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vb3BlbmNzdy5vcmcvcGFja2FnZXMvbGlieG1sMiI+U29sYXJpcyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmV4cGxhaW4uY29tLmF1L29zcy9saWJ4bWwyeHNsdC5odG1sIj5NYWNPc1ggYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2x4bWwuZGUvIj5seG1sIFB5dGhvbiBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vY3Bhbi51d2lubmlwZWcuY2EvZGlzdC9YTUwtTGliWE1MIj5QZXJsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWxwbHVzcGx1cy5zb3VyY2Vmb3JnZS5uZXQvIj5DKysgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56ZW5kLmNvbS9waHA1L2FydGljbGVzL3BocDUteG1scGhwLnBocCNIZWFkaW5nNCI+UEhQIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbGlieG1sMi1wYXMvIj5QYXNjYWwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbC5ydWJ5Zm9yZ2Uub3JnLyI+UnVieSBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vdGNseG1sLnNvdXJjZWZvcmdlLm5ldC8iPlRjbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2J1Z2xpc3QuY2dpP3Byb2R1Y3Q9bGlieG1sMiI+QnVnIFRyYWNrZXI8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dGFibGUgY2xhc3M9Im5hdmlnYXRpb24iIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIyIj48dHIgdmFsaWduPSJtaWRkbGUiPjx0ZD48YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImxpYnhtbC14bWxtZW1vcnkuaHRtbCI+PGltZyBzcmM9ImxlZnQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJQcmV2IiAvPjwvYT48L3RkPjx0aCBhbGlnbj0ibGVmdCI+PGEgaHJlZj0ibGlieG1sLXhtbG1lbW9yeS5odG1sIj54bWxtZW1vcnk8L2E+PC90aD48dGQ+PGEgYWNjZXNza2V5PSJ1IiBocmVmPSJpbmRleC5odG1sIj48aW1nIHNyYz0idXAucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJVcCIgLz48L2E+PC90ZD48dGggYWxpZ249ImxlZnQiPjxhIGhyZWY9ImluZGV4Lmh0bWwiPkFQSSBkb2N1bWVudGF0aW9uPC9hPjwvdGg+PHRkPjxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iLi4vaW5kZXguaHRtbCI+PGltZyBzcmM9ImhvbWUucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJIb21lIiAvPjwvYT48L3RkPjx0aCBhbGlnbj0iY2VudGVyIj48YSBocmVmPSIuLi9pbmRleC5odG1sIj5UaGUgWE1MIEMgcGFyc2VyIGFuZCB0b29sa2l0IG9mIEdub21lPC9hPjwvdGg+PHRoIGFsaWduPSJyaWdodCI+PGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sIj54bWxyZWFkZXI8L2E+PC90aD48dGQ+PGEgYWNjZXNza2V5PSJuIiBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwiPjxpbWcgc3JjPSJyaWdodC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9Ik5leHQiIC8+PC9hPjwvdGQ+PC90cj48L3RhYmxlPjxwPmJhc2ljIEFQSSBmb3IgZHluYW1pYyBtb2R1bGUgbG9hZGluZywgdXNlZCBieSBsaWJleHNsdCBhZGRlZCBpbiAyLjYuMTcgPC9wPjxoMj5UYWJsZSBvZiBDb250ZW50czwvaDI+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlN0cnVjdHVyZSA8YSBocmVmPSIjeG1sTW9kdWxlIj54bWxNb2R1bGU8L2E+PGJyIC8+c3RydWN0IF94bWxNb2R1bGUKK1RoZSBjb250ZW50IG9mIHRoaXMgc3RydWN0dXJlIGlzIG5vdCBtYWRlIHB1YmxpYyBieSB0aGUgQVBJLgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkVudW0gPGEgaHJlZj0iI3htbE1vZHVsZU9wdGlvbiI+eG1sTW9kdWxlT3B0aW9uPC9hPgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlR5cGVkZWYgPGEgaHJlZj0ibGlieG1sLXhtbG1vZHVsZS5odG1sI3htbE1vZHVsZSI+eG1sTW9kdWxlPC9hPiAqIDxhIG5hbWU9InhtbE1vZHVsZVB0ciIgaWQ9InhtbE1vZHVsZVB0ciI+eG1sTW9kdWxlUHRyPC9hPgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sTW9kdWxlQ2xvc2UiPnhtbE1vZHVsZUNsb3NlPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwteG1sbW9kdWxlLmh0bWwjeG1sTW9kdWxlUHRyIj54bWxNb2R1bGVQdHI8L2E+IG1vZHVsZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbE1vZHVsZUZyZWUiPnhtbE1vZHVsZUZyZWU8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbC14bWxtb2R1bGUuaHRtbCN4bWxNb2R1bGVQdHIiPnhtbE1vZHVsZVB0cjwvYT4gbW9kdWxlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxtb2R1bGUuaHRtbCN4bWxNb2R1bGVQdHIiPnhtbE1vZHVsZVB0cjwvYT4JPGEgaHJlZj0iI3htbE1vZHVsZU9wZW4iPnhtbE1vZHVsZU9wZW48L2E+CQkoY29uc3QgY2hhciAqIG5hbWUsIDxiciAvPgkJCQkJIGludCBvcHRpb25zKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sTW9kdWxlU3ltYm9sIj54bWxNb2R1bGVTeW1ib2w8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbC14bWxtb2R1bGUuaHRtbCN4bWxNb2R1bGVQdHIiPnhtbE1vZHVsZVB0cjwvYT4gbW9kdWxlLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogbmFtZSwgPGJyIC8+CQkJCQkgdm9pZCAqKiBzeW1ib2wpPC9wcmU+Cis8aDI+RGVzY3JpcHRpb248L2gyPgorPGgzPjxhIG5hbWU9InhtbE1vZHVsZSIgaWQ9InhtbE1vZHVsZSI+U3RydWN0dXJlIHhtbE1vZHVsZTwvYT48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgeG1sTW9kdWxlPGJyIC8+c3RydWN0IF94bWxNb2R1bGUgeworVGhlIGNvbnRlbnQgb2YgdGhpcyBzdHJ1Y3R1cmUgaXMgbm90IG1hZGUgcHVibGljIGJ5IHRoZSBBUEkuCit9PC9wcmU+PGgzPkVudW0gPGEgbmFtZT0ieG1sTW9kdWxlT3B0aW9uIiBpZD0ieG1sTW9kdWxlT3B0aW9uIj54bWxNb2R1bGVPcHRpb248L2E+PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RW51bSB4bWxNb2R1bGVPcHRpb24geworICAgIDxhIG5hbWU9IlhNTF9NT0RVTEVfTEFaWSIgaWQ9IlhNTF9NT0RVTEVfTEFaWSI+WE1MX01PRFVMRV9MQVpZPC9hPiA9IDEgOiBsYXp5IGJpbmRpbmcKKyAgICA8YSBuYW1lPSJYTUxfTU9EVUxFX0xPQ0FMIiBpZD0iWE1MX01PRFVMRV9MT0NBTCI+WE1MX01PRFVMRV9MT0NBTDwvYT4gPSAyIDogbG9jYWwgYmluZGluZworfQorPC9wcmU+CisgICAgICBBIGhhbmRsZSB0byBhIGR5bmFtaWNhbGx5IGxvYWRlZCBtb2R1bGUKKyAgICA8aDM+PGEgbmFtZT0ieG1sTW9kdWxlQ2xvc2UiIGlkPSJ4bWxNb2R1bGVDbG9zZSI+PC9hPkZ1bmN0aW9uOiB4bWxNb2R1bGVDbG9zZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxNb2R1bGVDbG9zZQkJCSg8YSBocmVmPSJsaWJ4bWwteG1sbW9kdWxlLmh0bWwjeG1sTW9kdWxlUHRyIj54bWxNb2R1bGVQdHI8L2E+IG1vZHVsZSk8YnIgLz4KKzwvcHJlPjxwPlRoZSBjbG9zZSBvcGVyYXRpb25zIHVubG9hZCB0aGUgYXNzb2NpYXRlZCBtb2R1bGUgYW5kIGZyZWUgdGhlIGRhdGEgYXNzb2NpYXRlZCB0byB0aGUgbW9kdWxlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm1vZHVsZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG1vZHVsZSBoYW5kbGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaW4gY2FzZSBvZiBzdWNjZXNzLCAtMSBpbiBjYXNlIG9mIGFyZ3VtZW50IGVycm9yIGFuZCAtMiBpZiB0aGUgbW9kdWxlIGNvdWxkIG5vdCBiZSBjbG9zZWQvdW5sb2FkZWQuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sTW9kdWxlRnJlZSIgaWQ9InhtbE1vZHVsZUZyZWUiPjwvYT5GdW5jdGlvbjogeG1sTW9kdWxlRnJlZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxNb2R1bGVGcmVlCQkJKDxhIGhyZWY9ImxpYnhtbC14bWxtb2R1bGUuaHRtbCN4bWxNb2R1bGVQdHIiPnhtbE1vZHVsZVB0cjwvYT4gbW9kdWxlKTxiciAvPgorPC9wcmU+PHA+VGhlIGZyZWUgb3BlcmF0aW9ucyBmcmVlIHRoZSBkYXRhIGFzc29jaWF0ZWQgdG8gdGhlIG1vZHVsZSBidXQgZG9lcyBub3QgdW5sb2FkIHRoZSBhc3NvY2lhdGVkIHNoYXJlZCBsaWJyYXJ5IHdoaWNoIG1heSBzdGlsbCBiZSBpbiB1c2UuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bW9kdWxlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbW9kdWxlIGhhbmRsZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpbiBjYXNlIG9mIHN1Y2Nlc3MsIC0xIGluIGNhc2Ugb2YgYXJndW1lbnQgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxNb2R1bGVPcGVuIiBpZD0ieG1sTW9kdWxlT3BlbiI+PC9hPkZ1bmN0aW9uOiB4bWxNb2R1bGVPcGVuPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbG1vZHVsZS5odG1sI3htbE1vZHVsZVB0ciI+eG1sTW9kdWxlUHRyPC9hPgl4bWxNb2R1bGVPcGVuCQkoY29uc3QgY2hhciAqIG5hbWUsIDxiciAvPgkJCQkJIGludCBvcHRpb25zKTxiciAvPgorPC9wcmU+PHA+T3BlbnMgYSBtb2R1bGUvc2hhcmVkIGxpYnJhcnkgZ2l2ZW4gaXRzIG5hbWUgb3IgcGF0aCBOT1RFOiB0aGF0IGR1ZSB0byBwb3J0YWJpbGl0eSBpc3N1ZXMsIGJlaGF2aW91ciBjYW4gb25seSBiZSBndWFyYW50ZWVkIHdpdGggQG5hbWUgdXNpbmcgQVNDSUkuIFdlIGNhbm90IGd1YXJhbnRlZSB0aGF0IGFuIFVURi04IHN0cmluZyB3b3VsZCB3b3JrLCB3aGljaCBpcyB3aHkgbmFtZSBpcyBhIGNvbnN0IGNoYXIgKiBhbmQgbm90IGEgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogLiBUT0RPOiBvcHRpb25zIGFyZSBub3QgeWV0IGltcGxlbWVudGVkLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBtb2R1bGUgbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3B0aW9uczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBzZXQgb2YgPGEgaHJlZj0ibGlieG1sLXhtbG1vZHVsZS5odG1sI3htbE1vZHVsZU9wdGlvbiI+eG1sTW9kdWxlT3B0aW9uPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBoYW5kbGUgZm9yIHRoZSBtb2R1bGUgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sTW9kdWxlU3ltYm9sIiBpZD0ieG1sTW9kdWxlU3ltYm9sIj48L2E+RnVuY3Rpb246IHhtbE1vZHVsZVN5bWJvbDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxNb2R1bGVTeW1ib2wJCQkoPGEgaHJlZj0ibGlieG1sLXhtbG1vZHVsZS5odG1sI3htbE1vZHVsZVB0ciI+eG1sTW9kdWxlUHRyPC9hPiBtb2R1bGUsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBuYW1lLCA8YnIgLz4JCQkJCSB2b2lkICoqIHN5bWJvbCk8YnIgLz4KKzwvcHJlPjxwPkxvb2t1cCBmb3IgYSBzeW1ib2wgYWRkcmVzcyBpbiB0aGUgZ2l2ZW4gbW9kdWxlIE5PVEU6IHRoYXQgZHVlIHRvIHBvcnRhYmlsaXR5IGlzc3VlcywgYmVoYXZpb3VyIGNhbiBvbmx5IGJlIGd1YXJhbnRlZWQgd2l0aCBAbmFtZSB1c2luZyBBU0NJSS4gV2UgY2Fub3QgZ3VhcmFudGVlIHRoYXQgYW4gVVRGLTggc3RyaW5nIHdvdWxkIHdvcmssIHdoaWNoIGlzIHdoeSBuYW1lIGlzIGEgY29uc3QgY2hhciAqIGFuZCBub3QgYSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiAuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bW9kdWxlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbW9kdWxlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZSBvZiB0aGUgc3ltYm9sPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zeW1ib2w8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSByZXN1bHRpbmcgc3ltYm9sIGFkZHJlc3M8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaWYgdGhlIHN5bWJvbCB3YXMgZm91bmQsIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxwPjxhIGhyZWY9Ii4uL2J1Z3MuaHRtbCI+RGFuaWVsIFZlaWxsYXJkPC9hPjwvcD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwgYi9saWJ4bWwyL2RvYy9odG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mN2UwMGZiCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvaHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwKQEAgLTAsMCArMSwzMzAgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+PGxpbmsgcmVsPSJTSE9SVENVVCBJQ09OIiBocmVmPSIvZmF2aWNvbi5pY28iIC8+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK1REIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitCT0RZIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2E7IG1hcmdpbi10b3A6IDJlbTsgbWFyZ2luLWxlZnQ6IDBlbTsgbWFyZ2luLXJpZ2h0OiAwZW19CitIMSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDIge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gzIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitBOmxpbmssIEE6dmlzaXRlZCwgQTphY3RpdmUgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB9Cis8L3N0eWxlPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAgICBkaXYuZGVwcmVjYXRlZCBwcmUucHJvZ3JhbWxpc3Rpbmcge2JvcmRlci1zdHlsZTogZG91YmxlO2JvcmRlci1jb2xvcjpyZWR9CisgICAgICBwcmUucHJvZ3JhbWxpc3Rpbmcge2JvcmRlci1zdHlsZTogZG91YmxlO2JhY2tncm91bmQ6ICNFRUNGQTF9CisgICAgPC9zdHlsZT48dGl0bGU+TW9kdWxlIHhtbHJlYWRlciBmcm9tIGxpYnhtbDI8L3RpdGxlPjwvaGVhZD48Ym9keSBiZ2NvbG9yPSIjOGI3NzY1IiB0ZXh0PSIjMDAwMDAwIiBsaW5rPSIjYTA2MDYwIiB2bGluaz0iIzAwMDAwMCI+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjEwMCUiIGNlbGxwYWRkaW5nPSI1IiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCB3aWR0aD0iMTIwIj48YSBocmVmPSJodHRwOi8vc3dwYXQuZmZpaS5vcmcvIj48aW1nIHNyYz0iLi4vZXBhdGVudHMucG5nIiBhbHQ9IkFjdGlvbiBhZ2FpbnN0IHNvZnR3YXJlIHBhdGVudHMiIC8+PC9hPjwvdGQ+PHRkIHdpZHRoPSIxODAiPjxhIGhyZWY9Imh0dHA6Ly93d3cuZ25vbWUub3JnLyI+PGltZyBzcmM9Ii4uL2dub21lMi5wbmciIGFsdD0iR25vbWUyIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1N0YXR1cyI+PGltZyBzcmM9Ii4uL3czYy5wbmciIGFsdD0iVzNDIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cucmVkaGF0LmNvbS8iPjxpbWcgc3JjPSIuLi9yZWRoYXQuZ2lmIiBhbHQ9IlJlZCBIYXQgTG9nbyIgLz48L2E+PGRpdiBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnLyI+PGltZyBzcmM9Ii4uL0xpYnhtbDItTG9nby0xODB4MTY4LmdpZiIgYWx0PSJNYWRlIHdpdGggTGlieG1sMiBMb2dvIiAvPjwvYT48L2Rpdj48L3RkPjx0ZD48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iOTAlIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyIgYmdjb2xvcj0iI2ZmZmFjZCI+PHRyPjx0ZCBhbGlnbj0iY2VudGVyIj48aDE+PC9oMT48aDI+TW9kdWxlIHhtbHJlYWRlciBmcm9tIGxpYnhtbDI8L2gyPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI0IiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCB2YWxpZ249InRvcCIgd2lkdGg9IjIwMCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+QVBJIE1lbnU8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PGZvcm0gYWN0aW9uPSIuLi9zZWFyY2gucGhwIiBlbmN0eXBlPSJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiIG1ldGhvZD0iZ2V0Ij48aW5wdXQgbmFtZT0icXVlcnkiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iIiAvPjxpbnB1dCBuYW1lPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNlYXJjaCAuLi4iIC8+PC9mb3JtPjx1bD48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9Ii4uL2luZGV4Lmh0bWwiPk1haW4gTWVudTwvYT48L2xpPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iLi4vZG9jcy5odG1sIj5EZXZlbG9wZXIgTWVudTwvYT48L2xpPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iLi4vZXhhbXBsZXMvaW5kZXguaHRtbCI+Q29kZSBFeGFtcGxlczwvYT48L2xpPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iaW5kZXguaHRtbCI+QVBJIE1lbnU8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXBhcnNlci5odG1sIj5QYXJzZXIgQVBJPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwiPlRyZWUgQVBJPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCI+UmVhZGVyIEFQSTwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9ndWlkZWxpbmVzLmh0bWwiPlhNTCBHdWlkZWxpbmVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0NoYW5nZUxvZy5odG1sIj5DaGFuZ2VMb2c8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5BUEkgSW5kZXhlczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9Ii4uL0FQSWNodW5rMC5odG1sIj5BbHBoYWJldGljPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSWNvbnN0cnVjdG9ycy5odG1sIj5Db25zdHJ1Y3RvcnM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJZnVuY3Rpb25zLmh0bWwiPkZ1bmN0aW9ucy9UeXBlczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUElmaWxlcy5odG1sIj5Nb2R1bGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSXN5bWJvbHMuaHRtbCI+U3ltYm9sczwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPlJlbGF0ZWQgbGlua3M8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSJodHRwOi8vbWFpbC5nbm9tZS5vcmcvYXJjaGl2ZXMveG1sLyI+TWFpbCBhcmNoaXZlPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9YU0xULyI+WFNMVCBsaWJ4c2x0PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9waGQuY3MudW5pYm8uaXQvZ2RvbWUyLyI+RE9NIGdkb21lMjwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmFsZWtzZXkuY29tL3htbHNlYy8iPlhNTC1EU2lnIHhtbHNlYzwvYT48L2xpPjxsaT48YSBocmVmPSJmdHA6Ly94bWxzb2Z0Lm9yZy8iPkZUUDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnpsYXRrb3ZpYy5jb20vcHJvamVjdHMvbGlieG1sLyI+V2luZG93cyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vb3BlbmNzdy5vcmcvcGFja2FnZXMvbGlieG1sMiI+U29sYXJpcyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmV4cGxhaW4uY29tLmF1L29zcy9saWJ4bWwyeHNsdC5odG1sIj5NYWNPc1ggYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2x4bWwuZGUvIj5seG1sIFB5dGhvbiBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vY3Bhbi51d2lubmlwZWcuY2EvZGlzdC9YTUwtTGliWE1MIj5QZXJsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWxwbHVzcGx1cy5zb3VyY2Vmb3JnZS5uZXQvIj5DKysgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56ZW5kLmNvbS9waHA1L2FydGljbGVzL3BocDUteG1scGhwLnBocCNIZWFkaW5nNCI+UEhQIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbGlieG1sMi1wYXMvIj5QYXNjYWwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbC5ydWJ5Zm9yZ2Uub3JnLyI+UnVieSBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vdGNseG1sLnNvdXJjZWZvcmdlLm5ldC8iPlRjbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2J1Z2xpc3QuY2dpP3Byb2R1Y3Q9bGlieG1sMiI+QnVnIFRyYWNrZXI8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dGFibGUgY2xhc3M9Im5hdmlnYXRpb24iIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIyIj48dHIgdmFsaWduPSJtaWRkbGUiPjx0ZD48YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImxpYnhtbC14bWxtb2R1bGUuaHRtbCI+PGltZyBzcmM9ImxlZnQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJQcmV2IiAvPjwvYT48L3RkPjx0aCBhbGlnbj0ibGVmdCI+PGEgaHJlZj0ibGlieG1sLXhtbG1vZHVsZS5odG1sIj54bWxtb2R1bGU8L2E+PC90aD48dGQ+PGEgYWNjZXNza2V5PSJ1IiBocmVmPSJpbmRleC5odG1sIj48aW1nIHNyYz0idXAucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJVcCIgLz48L2E+PC90ZD48dGggYWxpZ249ImxlZnQiPjxhIGhyZWY9ImluZGV4Lmh0bWwiPkFQSSBkb2N1bWVudGF0aW9uPC9hPjwvdGg+PHRkPjxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iLi4vaW5kZXguaHRtbCI+PGltZyBzcmM9ImhvbWUucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJIb21lIiAvPjwvYT48L3RkPjx0aCBhbGlnbj0iY2VudGVyIj48YSBocmVmPSIuLi9pbmRleC5odG1sIj5UaGUgWE1MIEMgcGFyc2VyIGFuZCB0b29sa2l0IG9mIEdub21lPC9hPjwvdGg+PHRoIGFsaWduPSJyaWdodCI+PGEgaHJlZj0ibGlieG1sLXhtbHJlZ2V4cC5odG1sIj54bWxyZWdleHA8L2E+PC90aD48dGQ+PGEgYWNjZXNza2V5PSJuIiBocmVmPSJsaWJ4bWwteG1scmVnZXhwLmh0bWwiPjxpbWcgc3JjPSJyaWdodC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9Ik5leHQiIC8+PC9hPjwvdGQ+PC90cj48L3RhYmxlPjxwPkFQSSBvZiB0aGUgWE1MIHN0cmVhbWluZyBBUEkgYmFzZWQgb24gQyMgaW50ZXJmYWNlcy4gPC9wPjxoMj5UYWJsZSBvZiBDb250ZW50czwvaDI+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkVudW0gPGEgaHJlZj0iI3htbFBhcnNlclByb3BlcnRpZXMiPnhtbFBhcnNlclByb3BlcnRpZXM8L2E+Cis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RW51bSA8YSBocmVmPSIjeG1sUGFyc2VyU2V2ZXJpdGllcyI+eG1sUGFyc2VyU2V2ZXJpdGllczwvYT4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5FbnVtIDxhIGhyZWY9IiN4bWxSZWFkZXJUeXBlcyI+eG1sUmVhZGVyVHlwZXM8L2E+Cis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+U3RydWN0dXJlIDxhIGhyZWY9IiN4bWxUZXh0UmVhZGVyIj54bWxUZXh0UmVhZGVyPC9hPjxiciAvPnN0cnVjdCBfeG1sVGV4dFJlYWRlcgorVGhlIGNvbnRlbnQgb2YgdGhpcyBzdHJ1Y3R1cmUgaXMgbm90IG1hZGUgcHVibGljIGJ5IHRoZSBBUEkuCis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+VHlwZWRlZiB2b2lkICogPGEgbmFtZT0ieG1sVGV4dFJlYWRlckxvY2F0b3JQdHIiIGlkPSJ4bWxUZXh0UmVhZGVyTG9jYXRvclB0ciI+eG1sVGV4dFJlYWRlckxvY2F0b3JQdHI8L2E+Cis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RW51bSA8YSBocmVmPSIjeG1sVGV4dFJlYWRlck1vZGUiPnhtbFRleHRSZWFkZXJNb2RlPC9hPgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlR5cGVkZWYgPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXIiPnhtbFRleHRSZWFkZXI8L2E+ICogPGEgbmFtZT0ieG1sVGV4dFJlYWRlclB0ciIgaWQ9InhtbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+Cis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sRnJlZVRleHRSZWFkZXIiPnhtbEZyZWVUZXh0UmVhZGVyPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+CTxhIGhyZWY9IiN4bWxOZXdUZXh0UmVhZGVyIj54bWxOZXdUZXh0UmVhZGVyPC9hPgkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciI+eG1sUGFyc2VySW5wdXRCdWZmZXJQdHI8L2E+IGlucHV0LCA8YnIgLz4JCQkJCQkgY29uc3QgY2hhciAqIFVSSSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4JPGEgaHJlZj0iI3htbE5ld1RleHRSZWFkZXJGaWxlbmFtZSI+eG1sTmV3VGV4dFJlYWRlckZpbGVuYW1lPC9hPgkoY29uc3QgY2hhciAqIFVSSSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4JPGEgaHJlZj0iI3htbFJlYWRlckZvckRvYyI+eG1sUmVhZGVyRm9yRG9jPC9hPgkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY3VyLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogVVJMLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcsIDxiciAvPgkJCQkJIGludCBvcHRpb25zKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPgk8YSBocmVmPSIjeG1sUmVhZGVyRm9yRmQiPnhtbFJlYWRlckZvckZkPC9hPgkoaW50IGZkLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogVVJMLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcsIDxiciAvPgkJCQkJIGludCBvcHRpb25zKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPgk8YSBocmVmPSIjeG1sUmVhZGVyRm9yRmlsZSI+eG1sUmVhZGVyRm9yRmlsZTwvYT4JKGNvbnN0IGNoYXIgKiBmaWxlbmFtZSwgPGJyIC8+CQkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyIC8+CQkJCQkJIGludCBvcHRpb25zKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPgk8YSBocmVmPSIjeG1sUmVhZGVyRm9ySU8iPnhtbFJlYWRlckZvcklPPC9hPgkoPGEgaHJlZj0ibGlieG1sLXhtbElPLmh0bWwjeG1sSW5wdXRSZWFkQ2FsbGJhY2siPnhtbElucHV0UmVhZENhbGxiYWNrPC9hPiBpb3JlYWQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxJTy5odG1sI3htbElucHV0Q2xvc2VDYWxsYmFjayI+eG1sSW5wdXRDbG9zZUNhbGxiYWNrPC9hPiBpb2Nsb3NlLCA8YnIgLz4JCQkJCSB2b2lkICogaW9jdHgsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBVUkwsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyIC8+CQkJCQkgaW50IG9wdGlvbnMpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+CTxhIGhyZWY9IiN4bWxSZWFkZXJGb3JNZW1vcnkiPnhtbFJlYWRlckZvck1lbW9yeTwvYT4JKGNvbnN0IGNoYXIgKiBidWZmZXIsIDxiciAvPgkJCQkJCSBpbnQgc2l6ZSwgPGJyIC8+CQkJCQkJIGNvbnN0IGNoYXIgKiBVUkwsIDxiciAvPgkJCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcsIDxiciAvPgkJCQkJCSBpbnQgb3B0aW9ucyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFJlYWRlck5ld0RvYyI+eG1sUmVhZGVyTmV3RG9jPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjdXIsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBVUkwsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyIC8+CQkJCQkgaW50IG9wdGlvbnMpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxSZWFkZXJOZXdGZCI+eG1sUmVhZGVyTmV3RmQ8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIsIDxiciAvPgkJCQkJIGludCBmZCwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIFVSTCwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nLCA8YnIgLz4JCQkJCSBpbnQgb3B0aW9ucyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFJlYWRlck5ld0ZpbGUiPnhtbFJlYWRlck5ld0ZpbGU8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlciwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGZpbGVuYW1lLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcsIDxiciAvPgkJCQkJIGludCBvcHRpb25zKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sUmVhZGVyTmV3SU8iPnhtbFJlYWRlck5ld0lPPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sSU8uaHRtbCN4bWxJbnB1dFJlYWRDYWxsYmFjayI+eG1sSW5wdXRSZWFkQ2FsbGJhY2s8L2E+IGlvcmVhZCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbElPLmh0bWwjeG1sSW5wdXRDbG9zZUNhbGxiYWNrIj54bWxJbnB1dENsb3NlQ2FsbGJhY2s8L2E+IGlvY2xvc2UsIDxiciAvPgkJCQkJIHZvaWQgKiBpb2N0eCwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIFVSTCwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nLCA8YnIgLz4JCQkJCSBpbnQgb3B0aW9ucyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFJlYWRlck5ld01lbW9yeSI+eG1sUmVhZGVyTmV3TWVtb3J5PC9hPgkJKDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBidWZmZXIsIDxiciAvPgkJCQkJIGludCBzaXplLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogVVJMLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcsIDxiciAvPgkJCQkJIGludCBvcHRpb25zKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sUmVhZGVyTmV3V2Fsa2VyIj54bWxSZWFkZXJOZXdXYWxrZXI8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlciwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPgk8YSBocmVmPSIjeG1sUmVhZGVyV2Fsa2VyIj54bWxSZWFkZXJXYWxrZXI8L2E+CSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxUZXh0UmVhZGVyQXR0cmlidXRlQ291bnQiPnhtbFRleHRSZWFkZXJBdHRyaWJ1dGVDb3VudDwvYT4JKDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbFRleHRSZWFkZXJCYXNlVXJpIj54bWxUZXh0UmVhZGVyQmFzZVVyaTwvYT4JKDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+bG9uZwk8YSBocmVmPSIjeG1sVGV4dFJlYWRlckJ5dGVDb25zdW1lZCI+eG1sVGV4dFJlYWRlckJ5dGVDb25zdW1lZDwvYT4JKDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxUZXh0UmVhZGVyQ2xvc2UiPnhtbFRleHRSZWFkZXJDbG9zZTwvYT4JCSg8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxUZXh0UmVhZGVyQ29uc3RCYXNlVXJpIj54bWxUZXh0UmVhZGVyQ29uc3RCYXNlVXJpPC9hPgkoPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlcik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5jb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sVGV4dFJlYWRlckNvbnN0RW5jb2RpbmciPnhtbFRleHRSZWFkZXJDb25zdEVuY29kaW5nPC9hPgkoPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlcik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5jb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sVGV4dFJlYWRlckNvbnN0TG9jYWxOYW1lIj54bWxUZXh0UmVhZGVyQ29uc3RMb2NhbE5hbWU8L2E+CSg8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxUZXh0UmVhZGVyQ29uc3ROYW1lIj54bWxUZXh0UmVhZGVyQ29uc3ROYW1lPC9hPgkoPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlcik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5jb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sVGV4dFJlYWRlckNvbnN0TmFtZXNwYWNlVXJpIj54bWxUZXh0UmVhZGVyQ29uc3ROYW1lc3BhY2VVcmk8L2E+CSg8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxUZXh0UmVhZGVyQ29uc3RQcmVmaXgiPnhtbFRleHRSZWFkZXJDb25zdFByZWZpeDwvYT4JKDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Y29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbFRleHRSZWFkZXJDb25zdFN0cmluZyI+eG1sVGV4dFJlYWRlckNvbnN0U3RyaW5nPC9hPgkoPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlciwgPGJyIC8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0cik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5jb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sVGV4dFJlYWRlckNvbnN0VmFsdWUiPnhtbFRleHRSZWFkZXJDb25zdFZhbHVlPC9hPgkoPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlcik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5jb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sVGV4dFJlYWRlckNvbnN0WG1sTGFuZyI+eG1sVGV4dFJlYWRlckNvbnN0WG1sTGFuZzwvYT4JKDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Y29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbFRleHRSZWFkZXJDb25zdFhtbFZlcnNpb24iPnhtbFRleHRSZWFkZXJDb25zdFhtbFZlcnNpb248L2E+CSg8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+CTxhIGhyZWY9IiN4bWxUZXh0UmVhZGVyQ3VycmVudERvYyI+eG1sVGV4dFJlYWRlckN1cnJlbnREb2M8L2E+CSg8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JPGEgaHJlZj0iI3htbFRleHRSZWFkZXJDdXJyZW50Tm9kZSI+eG1sVGV4dFJlYWRlckN1cnJlbnROb2RlPC9hPgkoPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlcik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFRleHRSZWFkZXJEZXB0aCI+eG1sVGV4dFJlYWRlckRlcHRoPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RnVuY3Rpb24gdHlwZTogPGEgaHJlZj0iI3htbFRleHRSZWFkZXJFcnJvckZ1bmMiPnhtbFRleHRSZWFkZXJFcnJvckZ1bmM8L2E+Cit2b2lkCTxhIGhyZWY9IiN4bWxUZXh0UmVhZGVyRXJyb3JGdW5jIj54bWxUZXh0UmVhZGVyRXJyb3JGdW5jPC9hPgkJKHZvaWQgKiBhcmcsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBtc2csIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxQYXJzZXJTZXZlcml0aWVzIj54bWxQYXJzZXJTZXZlcml0aWVzPC9hPiBzZXZlcml0eSwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJMb2NhdG9yUHRyIj54bWxUZXh0UmVhZGVyTG9jYXRvclB0cjwvYT4gbG9jYXRvcikKKzwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JPGEgaHJlZj0iI3htbFRleHRSZWFkZXJFeHBhbmQiPnhtbFRleHRSZWFkZXJFeHBhbmQ8L2E+CSg8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlIj54bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlPC9hPgkoPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlciwgPGJyIC8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbFRleHRSZWFkZXJHZXRBdHRyaWJ1dGVObyI+eG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZU5vPC9hPgkoPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlciwgPGJyIC8+CQkJCQkJIGludCBubyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZU5zIj54bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlTnM8L2E+CSg8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyLCA8YnIgLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbG9jYWxOYW1lLCA8YnIgLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZXNwYWNlVVJJKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFRleHRSZWFkZXJHZXRFcnJvckhhbmRsZXIiPnhtbFRleHRSZWFkZXJHZXRFcnJvckhhbmRsZXI8L2E+CSg8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckVycm9yRnVuYyI+eG1sVGV4dFJlYWRlckVycm9yRnVuYzwvYT4gKiBmLCA8YnIgLz4JCQkJCSB2b2lkICoqIGFyZyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFRleHRSZWFkZXJHZXRQYXJzZXJDb2x1bW5OdW1iZXIiPnhtbFRleHRSZWFkZXJHZXRQYXJzZXJDb2x1bW5OdW1iZXI8L2E+CSg8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVGV4dFJlYWRlckdldFBhcnNlckxpbmVOdW1iZXIiPnhtbFRleHRSZWFkZXJHZXRQYXJzZXJMaW5lTnVtYmVyPC9hPgkoPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlcik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFRleHRSZWFkZXJHZXRQYXJzZXJQcm9wIj54bWxUZXh0UmVhZGVyR2V0UGFyc2VyUHJvcDwvYT4JKDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIsIDxiciAvPgkJCQkJIGludCBwcm9wKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIiPnhtbFBhcnNlcklucHV0QnVmZmVyUHRyPC9hPgk8YSBocmVmPSIjeG1sVGV4dFJlYWRlckdldFJlbWFpbmRlciI+eG1sVGV4dFJlYWRlckdldFJlbWFpbmRlcjwvYT4JKDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxUZXh0UmVhZGVySGFzQXR0cmlidXRlcyI+eG1sVGV4dFJlYWRlckhhc0F0dHJpYnV0ZXM8L2E+CSg8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVGV4dFJlYWRlckhhc1ZhbHVlIj54bWxUZXh0UmVhZGVySGFzVmFsdWU8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlcik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFRleHRSZWFkZXJJc0RlZmF1bHQiPnhtbFRleHRSZWFkZXJJc0RlZmF1bHQ8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlcik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFRleHRSZWFkZXJJc0VtcHR5RWxlbWVudCI+eG1sVGV4dFJlYWRlcklzRW1wdHlFbGVtZW50PC9hPgkoPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlcik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFRleHRSZWFkZXJJc05hbWVzcGFjZURlY2wiPnhtbFRleHRSZWFkZXJJc05hbWVzcGFjZURlY2w8L2E+CSg8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVGV4dFJlYWRlcklzVmFsaWQiPnhtbFRleHRSZWFkZXJJc1ZhbGlkPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbFRleHRSZWFkZXJMb2NhbE5hbWUiPnhtbFRleHRSZWFkZXJMb2NhbE5hbWU8L2E+CSg8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxUZXh0UmVhZGVyTG9jYXRvckJhc2VVUkkiPnhtbFRleHRSZWFkZXJMb2NhdG9yQmFzZVVSSTwvYT4JKDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyTG9jYXRvclB0ciI+eG1sVGV4dFJlYWRlckxvY2F0b3JQdHI8L2E+IGxvY2F0b3IpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxUZXh0UmVhZGVyTG9jYXRvckxpbmVOdW1iZXIiPnhtbFRleHRSZWFkZXJMb2NhdG9yTGluZU51bWJlcjwvYT4JKDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyTG9jYXRvclB0ciI+eG1sVGV4dFJlYWRlckxvY2F0b3JQdHI8L2E+IGxvY2F0b3IpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbFRleHRSZWFkZXJMb29rdXBOYW1lc3BhY2UiPnhtbFRleHRSZWFkZXJMb29rdXBOYW1lc3BhY2U8L2E+CSg8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyLCA8YnIgLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHJlZml4KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVGV4dFJlYWRlck1vdmVUb0F0dHJpYnV0ZSI+eG1sVGV4dFJlYWRlck1vdmVUb0F0dHJpYnV0ZTwvYT4JKDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxUZXh0UmVhZGVyTW92ZVRvQXR0cmlidXRlTm8iPnhtbFRleHRSZWFkZXJNb3ZlVG9BdHRyaWJ1dGVObzwvYT4JKDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIsIDxiciAvPgkJCQkJIGludCBubyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFRleHRSZWFkZXJNb3ZlVG9BdHRyaWJ1dGVOcyI+eG1sVGV4dFJlYWRlck1vdmVUb0F0dHJpYnV0ZU5zPC9hPgkoPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlciwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbG9jYWxOYW1lLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lc3BhY2VVUkkpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxUZXh0UmVhZGVyTW92ZVRvRWxlbWVudCI+eG1sVGV4dFJlYWRlck1vdmVUb0VsZW1lbnQ8L2E+CSg8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVGV4dFJlYWRlck1vdmVUb0ZpcnN0QXR0cmlidXRlIj54bWxUZXh0UmVhZGVyTW92ZVRvRmlyc3RBdHRyaWJ1dGU8L2E+CSg8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVGV4dFJlYWRlck1vdmVUb05leHRBdHRyaWJ1dGUiPnhtbFRleHRSZWFkZXJNb3ZlVG9OZXh0QXR0cmlidXRlPC9hPgkoPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlcik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sVGV4dFJlYWRlck5hbWUiPnhtbFRleHRSZWFkZXJOYW1lPC9hPgkoPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlcik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sVGV4dFJlYWRlck5hbWVzcGFjZVVyaSI+eG1sVGV4dFJlYWRlck5hbWVzcGFjZVVyaTwvYT4JKDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxUZXh0UmVhZGVyTmV4dCI+eG1sVGV4dFJlYWRlck5leHQ8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlcik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFRleHRSZWFkZXJOZXh0U2libGluZyI+eG1sVGV4dFJlYWRlck5leHRTaWJsaW5nPC9hPgkoPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlcik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFRleHRSZWFkZXJOb2RlVHlwZSI+eG1sVGV4dFJlYWRlck5vZGVUeXBlPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxUZXh0UmVhZGVyTm9ybWFsaXphdGlvbiI+eG1sVGV4dFJlYWRlck5vcm1hbGl6YXRpb248L2E+CSg8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxUZXh0UmVhZGVyUHJlZml4Ij54bWxUZXh0UmVhZGVyUHJlZml4PC9hPgkoPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlcik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CTxhIGhyZWY9IiN4bWxUZXh0UmVhZGVyUHJlc2VydmUiPnhtbFRleHRSZWFkZXJQcmVzZXJ2ZTwvYT4JKDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxUZXh0UmVhZGVyUHJlc2VydmVQYXR0ZXJuIj54bWxUZXh0UmVhZGVyUHJlc2VydmVQYXR0ZXJuPC9hPgkoPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlciwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcGF0dGVybiwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoqIG5hbWVzcGFjZXMpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxUZXh0UmVhZGVyUXVvdGVDaGFyIj54bWxUZXh0UmVhZGVyUXVvdGVDaGFyPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxUZXh0UmVhZGVyUmVhZCI+eG1sVGV4dFJlYWRlclJlYWQ8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlcik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFRleHRSZWFkZXJSZWFkQXR0cmlidXRlVmFsdWUiPnhtbFRleHRSZWFkZXJSZWFkQXR0cmlidXRlVmFsdWU8L2E+CSg8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxUZXh0UmVhZGVyUmVhZElubmVyWG1sIj54bWxUZXh0UmVhZGVyUmVhZElubmVyWG1sPC9hPgkoPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlcik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sVGV4dFJlYWRlclJlYWRPdXRlclhtbCI+eG1sVGV4dFJlYWRlclJlYWRPdXRlclhtbDwvYT4JKDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxUZXh0UmVhZGVyUmVhZFN0YXRlIj54bWxUZXh0UmVhZGVyUmVhZFN0YXRlPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbFRleHRSZWFkZXJSZWFkU3RyaW5nIj54bWxUZXh0UmVhZGVyUmVhZFN0cmluZzwvYT4JKDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxUZXh0UmVhZGVyUmVsYXhOR1NldFNjaGVtYSI+eG1sVGV4dFJlYWRlclJlbGF4TkdTZXRTY2hlbWE8L2E+CSg8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdQdHIiPnhtbFJlbGF4TkdQdHI8L2E+IHNjaGVtYSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFRleHRSZWFkZXJSZWxheE5HVmFsaWRhdGUiPnhtbFRleHRSZWFkZXJSZWxheE5HVmFsaWRhdGU8L2E+CSg8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogcm5nKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZUN0eHQiPnhtbFRleHRSZWFkZXJSZWxheE5HVmFsaWRhdGVDdHh0PC9hPgkoPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlciwgPGJyIC8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0ciI+eG1sUmVsYXhOR1ZhbGlkQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkJIGludCBvcHRpb25zKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlIj54bWxUZXh0UmVhZGVyU2NoZW1hVmFsaWRhdGU8L2E+CSg8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogeHNkKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlQ3R4dCI+eG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlQ3R4dDwvYT4JKDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRDdHh0UHRyIj54bWxTY2hlbWFWYWxpZEN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIGludCBvcHRpb25zKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFRleHRSZWFkZXJTZXRFcnJvckhhbmRsZXIiPnhtbFRleHRSZWFkZXJTZXRFcnJvckhhbmRsZXI8L2E+CSg8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckVycm9yRnVuYyI+eG1sVGV4dFJlYWRlckVycm9yRnVuYzwvYT4gZiwgPGJyIC8+CQkJCQkgdm9pZCAqIGFyZyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFRleHRSZWFkZXJTZXRQYXJzZXJQcm9wIj54bWxUZXh0UmVhZGVyU2V0UGFyc2VyUHJvcDwvYT4JKDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIsIDxiciAvPgkJCQkJIGludCBwcm9wLCA8YnIgLz4JCQkJCSBpbnQgdmFsdWUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxUZXh0UmVhZGVyU2V0U2NoZW1hIj54bWxUZXh0UmVhZGVyU2V0U2NoZW1hPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hUHRyIj54bWxTY2hlbWFQdHI8L2E+IHNjaGVtYSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxUZXh0UmVhZGVyU2V0U3RydWN0dXJlZEVycm9ySGFuZGxlciI+eG1sVGV4dFJlYWRlclNldFN0cnVjdHVyZWRFcnJvckhhbmRsZXI8L2E+CSg8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyLCA8YnIgLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbGVycm9yLmh0bWwjeG1sU3RydWN0dXJlZEVycm9yRnVuYyI+eG1sU3RydWN0dXJlZEVycm9yRnVuYzwvYT4gZiwgPGJyIC8+CQkJCQkJIHZvaWQgKiBhcmcpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxUZXh0UmVhZGVyU2V0dXAiPnhtbFRleHRSZWFkZXJTZXR1cDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyUHRyIj54bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cjwvYT4gaW5wdXQsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBVUkwsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyIC8+CQkJCQkgaW50IG9wdGlvbnMpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxUZXh0UmVhZGVyU3RhbmRhbG9uZSI+eG1sVGV4dFJlYWRlclN0YW5kYWxvbmU8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlcik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sVGV4dFJlYWRlclZhbHVlIj54bWxUZXh0UmVhZGVyVmFsdWU8L2E+CSg8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxUZXh0UmVhZGVyWG1sTGFuZyI+eG1sVGV4dFJlYWRlclhtbExhbmc8L2E+CSg8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTwvcHJlPgorPGgyPkRlc2NyaXB0aW9uPC9oMj4KKzxoMz5FbnVtIDxhIG5hbWU9InhtbFBhcnNlclByb3BlcnRpZXMiIGlkPSJ4bWxQYXJzZXJQcm9wZXJ0aWVzIj54bWxQYXJzZXJQcm9wZXJ0aWVzPC9hPjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkVudW0geG1sUGFyc2VyUHJvcGVydGllcyB7CisgICAgPGEgbmFtZT0iWE1MX1BBUlNFUl9MT0FERFREIiBpZD0iWE1MX1BBUlNFUl9MT0FERFREIj5YTUxfUEFSU0VSX0xPQUREVEQ8L2E+ID0gMQorICAgIDxhIG5hbWU9IlhNTF9QQVJTRVJfREVGQVVMVEFUVFJTIiBpZD0iWE1MX1BBUlNFUl9ERUZBVUxUQVRUUlMiPlhNTF9QQVJTRVJfREVGQVVMVEFUVFJTPC9hPiA9IDIKKyAgICA8YSBuYW1lPSJYTUxfUEFSU0VSX1ZBTElEQVRFIiBpZD0iWE1MX1BBUlNFUl9WQUxJREFURSI+WE1MX1BBUlNFUl9WQUxJREFURTwvYT4gPSAzCisgICAgPGEgbmFtZT0iWE1MX1BBUlNFUl9TVUJTVF9FTlRJVElFUyIgaWQ9IlhNTF9QQVJTRVJfU1VCU1RfRU5USVRJRVMiPlhNTF9QQVJTRVJfU1VCU1RfRU5USVRJRVM8L2E+ID0gNAorfQorPC9wcmU+PGgzPkVudW0gPGEgbmFtZT0ieG1sUGFyc2VyU2V2ZXJpdGllcyIgaWQ9InhtbFBhcnNlclNldmVyaXRpZXMiPnhtbFBhcnNlclNldmVyaXRpZXM8L2E+PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RW51bSB4bWxQYXJzZXJTZXZlcml0aWVzIHsKKyAgICA8YSBuYW1lPSJYTUxfUEFSU0VSX1NFVkVSSVRZX1ZBTElESVRZX1dBUk5JTkciIGlkPSJYTUxfUEFSU0VSX1NFVkVSSVRZX1ZBTElESVRZX1dBUk5JTkciPlhNTF9QQVJTRVJfU0VWRVJJVFlfVkFMSURJVFlfV0FSTklORzwvYT4gPSAxCisgICAgPGEgbmFtZT0iWE1MX1BBUlNFUl9TRVZFUklUWV9WQUxJRElUWV9FUlJPUiIgaWQ9IlhNTF9QQVJTRVJfU0VWRVJJVFlfVkFMSURJVFlfRVJST1IiPlhNTF9QQVJTRVJfU0VWRVJJVFlfVkFMSURJVFlfRVJST1I8L2E+ID0gMgorICAgIDxhIG5hbWU9IlhNTF9QQVJTRVJfU0VWRVJJVFlfV0FSTklORyIgaWQ9IlhNTF9QQVJTRVJfU0VWRVJJVFlfV0FSTklORyI+WE1MX1BBUlNFUl9TRVZFUklUWV9XQVJOSU5HPC9hPiA9IDMKKyAgICA8YSBuYW1lPSJYTUxfUEFSU0VSX1NFVkVSSVRZX0VSUk9SIiBpZD0iWE1MX1BBUlNFUl9TRVZFUklUWV9FUlJPUiI+WE1MX1BBUlNFUl9TRVZFUklUWV9FUlJPUjwvYT4gPSA0Cit9Cis8L3ByZT48aDM+RW51bSA8YSBuYW1lPSJ4bWxSZWFkZXJUeXBlcyIgaWQ9InhtbFJlYWRlclR5cGVzIj54bWxSZWFkZXJUeXBlczwvYT48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5FbnVtIHhtbFJlYWRlclR5cGVzIHsKKyAgICA8YSBuYW1lPSJYTUxfUkVBREVSX1RZUEVfTk9ORSIgaWQ9IlhNTF9SRUFERVJfVFlQRV9OT05FIj5YTUxfUkVBREVSX1RZUEVfTk9ORTwvYT4gPSAwCisgICAgPGEgbmFtZT0iWE1MX1JFQURFUl9UWVBFX0VMRU1FTlQiIGlkPSJYTUxfUkVBREVSX1RZUEVfRUxFTUVOVCI+WE1MX1JFQURFUl9UWVBFX0VMRU1FTlQ8L2E+ID0gMQorICAgIDxhIG5hbWU9IlhNTF9SRUFERVJfVFlQRV9BVFRSSUJVVEUiIGlkPSJYTUxfUkVBREVSX1RZUEVfQVRUUklCVVRFIj5YTUxfUkVBREVSX1RZUEVfQVRUUklCVVRFPC9hPiA9IDIKKyAgICA8YSBuYW1lPSJYTUxfUkVBREVSX1RZUEVfVEVYVCIgaWQ9IlhNTF9SRUFERVJfVFlQRV9URVhUIj5YTUxfUkVBREVSX1RZUEVfVEVYVDwvYT4gPSAzCisgICAgPGEgbmFtZT0iWE1MX1JFQURFUl9UWVBFX0NEQVRBIiBpZD0iWE1MX1JFQURFUl9UWVBFX0NEQVRBIj5YTUxfUkVBREVSX1RZUEVfQ0RBVEE8L2E+ID0gNAorICAgIDxhIG5hbWU9IlhNTF9SRUFERVJfVFlQRV9FTlRJVFlfUkVGRVJFTkNFIiBpZD0iWE1MX1JFQURFUl9UWVBFX0VOVElUWV9SRUZFUkVOQ0UiPlhNTF9SRUFERVJfVFlQRV9FTlRJVFlfUkVGRVJFTkNFPC9hPiA9IDUKKyAgICA8YSBuYW1lPSJYTUxfUkVBREVSX1RZUEVfRU5USVRZIiBpZD0iWE1MX1JFQURFUl9UWVBFX0VOVElUWSI+WE1MX1JFQURFUl9UWVBFX0VOVElUWTwvYT4gPSA2CisgICAgPGEgbmFtZT0iWE1MX1JFQURFUl9UWVBFX1BST0NFU1NJTkdfSU5TVFJVQ1RJT04iIGlkPSJYTUxfUkVBREVSX1RZUEVfUFJPQ0VTU0lOR19JTlNUUlVDVElPTiI+WE1MX1JFQURFUl9UWVBFX1BST0NFU1NJTkdfSU5TVFJVQ1RJT048L2E+ID0gNworICAgIDxhIG5hbWU9IlhNTF9SRUFERVJfVFlQRV9DT01NRU5UIiBpZD0iWE1MX1JFQURFUl9UWVBFX0NPTU1FTlQiPlhNTF9SRUFERVJfVFlQRV9DT01NRU5UPC9hPiA9IDgKKyAgICA8YSBuYW1lPSJYTUxfUkVBREVSX1RZUEVfRE9DVU1FTlQiIGlkPSJYTUxfUkVBREVSX1RZUEVfRE9DVU1FTlQiPlhNTF9SRUFERVJfVFlQRV9ET0NVTUVOVDwvYT4gPSA5CisgICAgPGEgbmFtZT0iWE1MX1JFQURFUl9UWVBFX0RPQ1VNRU5UX1RZUEUiIGlkPSJYTUxfUkVBREVSX1RZUEVfRE9DVU1FTlRfVFlQRSI+WE1MX1JFQURFUl9UWVBFX0RPQ1VNRU5UX1RZUEU8L2E+ID0gMTAKKyAgICA8YSBuYW1lPSJYTUxfUkVBREVSX1RZUEVfRE9DVU1FTlRfRlJBR01FTlQiIGlkPSJYTUxfUkVBREVSX1RZUEVfRE9DVU1FTlRfRlJBR01FTlQiPlhNTF9SRUFERVJfVFlQRV9ET0NVTUVOVF9GUkFHTUVOVDwvYT4gPSAxMQorICAgIDxhIG5hbWU9IlhNTF9SRUFERVJfVFlQRV9OT1RBVElPTiIgaWQ9IlhNTF9SRUFERVJfVFlQRV9OT1RBVElPTiI+WE1MX1JFQURFUl9UWVBFX05PVEFUSU9OPC9hPiA9IDEyCisgICAgPGEgbmFtZT0iWE1MX1JFQURFUl9UWVBFX1dISVRFU1BBQ0UiIGlkPSJYTUxfUkVBREVSX1RZUEVfV0hJVEVTUEFDRSI+WE1MX1JFQURFUl9UWVBFX1dISVRFU1BBQ0U8L2E+ID0gMTMKKyAgICA8YSBuYW1lPSJYTUxfUkVBREVSX1RZUEVfU0lHTklGSUNBTlRfV0hJVEVTUEFDRSIgaWQ9IlhNTF9SRUFERVJfVFlQRV9TSUdOSUZJQ0FOVF9XSElURVNQQUNFIj5YTUxfUkVBREVSX1RZUEVfU0lHTklGSUNBTlRfV0hJVEVTUEFDRTwvYT4gPSAxNAorICAgIDxhIG5hbWU9IlhNTF9SRUFERVJfVFlQRV9FTkRfRUxFTUVOVCIgaWQ9IlhNTF9SRUFERVJfVFlQRV9FTkRfRUxFTUVOVCI+WE1MX1JFQURFUl9UWVBFX0VORF9FTEVNRU5UPC9hPiA9IDE1CisgICAgPGEgbmFtZT0iWE1MX1JFQURFUl9UWVBFX0VORF9FTlRJVFkiIGlkPSJYTUxfUkVBREVSX1RZUEVfRU5EX0VOVElUWSI+WE1MX1JFQURFUl9UWVBFX0VORF9FTlRJVFk8L2E+ID0gMTYKKyAgICA8YSBuYW1lPSJYTUxfUkVBREVSX1RZUEVfWE1MX0RFQ0xBUkFUSU9OIiBpZD0iWE1MX1JFQURFUl9UWVBFX1hNTF9ERUNMQVJBVElPTiI+WE1MX1JFQURFUl9UWVBFX1hNTF9ERUNMQVJBVElPTjwvYT4gPSAxNworfQorPC9wcmU+PGgzPjxhIG5hbWU9InhtbFRleHRSZWFkZXIiIGlkPSJ4bWxUZXh0UmVhZGVyIj5TdHJ1Y3R1cmUgeG1sVGV4dFJlYWRlcjwvYT48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgeG1sVGV4dFJlYWRlcjxiciAvPnN0cnVjdCBfeG1sVGV4dFJlYWRlciB7CitUaGUgY29udGVudCBvZiB0aGlzIHN0cnVjdHVyZSBpcyBub3QgbWFkZSBwdWJsaWMgYnkgdGhlIEFQSS4KK308L3ByZT48aDM+RW51bSA8YSBuYW1lPSJ4bWxUZXh0UmVhZGVyTW9kZSIgaWQ9InhtbFRleHRSZWFkZXJNb2RlIj54bWxUZXh0UmVhZGVyTW9kZTwvYT48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5FbnVtIHhtbFRleHRSZWFkZXJNb2RlIHsKKyAgICA8YSBuYW1lPSJYTUxfVEVYVFJFQURFUl9NT0RFX0lOSVRJQUwiIGlkPSJYTUxfVEVYVFJFQURFUl9NT0RFX0lOSVRJQUwiPlhNTF9URVhUUkVBREVSX01PREVfSU5JVElBTDwvYT4gPSAwCisgICAgPGEgbmFtZT0iWE1MX1RFWFRSRUFERVJfTU9ERV9JTlRFUkFDVElWRSIgaWQ9IlhNTF9URVhUUkVBREVSX01PREVfSU5URVJBQ1RJVkUiPlhNTF9URVhUUkVBREVSX01PREVfSU5URVJBQ1RJVkU8L2E+ID0gMQorICAgIDxhIG5hbWU9IlhNTF9URVhUUkVBREVSX01PREVfRVJST1IiIGlkPSJYTUxfVEVYVFJFQURFUl9NT0RFX0VSUk9SIj5YTUxfVEVYVFJFQURFUl9NT0RFX0VSUk9SPC9hPiA9IDIKKyAgICA8YSBuYW1lPSJYTUxfVEVYVFJFQURFUl9NT0RFX0VPRiIgaWQ9IlhNTF9URVhUUkVBREVSX01PREVfRU9GIj5YTUxfVEVYVFJFQURFUl9NT0RFX0VPRjwvYT4gPSAzCisgICAgPGEgbmFtZT0iWE1MX1RFWFRSRUFERVJfTU9ERV9DTE9TRUQiIGlkPSJYTUxfVEVYVFJFQURFUl9NT0RFX0NMT1NFRCI+WE1MX1RFWFRSRUFERVJfTU9ERV9DTE9TRUQ8L2E+ID0gNAorICAgIDxhIG5hbWU9IlhNTF9URVhUUkVBREVSX01PREVfUkVBRElORyIgaWQ9IlhNTF9URVhUUkVBREVSX01PREVfUkVBRElORyI+WE1MX1RFWFRSRUFERVJfTU9ERV9SRUFESU5HPC9hPiA9IDUKK30KKzwvcHJlPgorICAgICAgUG9pbnRlciB0byBhbiB4bWxSZWFkZXIgY29udGV4dC4KKyAgICA8aDM+PGEgbmFtZT0ieG1sRnJlZVRleHRSZWFkZXIiIGlkPSJ4bWxGcmVlVGV4dFJlYWRlciI+PC9hPkZ1bmN0aW9uOiB4bWxGcmVlVGV4dFJlYWRlcjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sRnJlZVRleHRSZWFkZXIJCSg8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTxiciAvPgorPC9wcmU+PHA+RGVhbGxvY2F0ZSBhbGwgdGhlIHJlc291cmNlcyBhc3NvY2lhdGVkIHRvIHRoZSByZWFkZXI8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWFkZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxOZXdUZXh0UmVhZGVyIiBpZD0ieG1sTmV3VGV4dFJlYWRlciI+PC9hPkZ1bmN0aW9uOiB4bWxOZXdUZXh0UmVhZGVyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+CXhtbE5ld1RleHRSZWFkZXIJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIiPnhtbFBhcnNlcklucHV0QnVmZmVyUHRyPC9hPiBpbnB1dCwgPGJyIC8+CQkJCQkJIGNvbnN0IGNoYXIgKiBVUkkpPGJyIC8+Cis8L3ByZT48cD5DcmVhdGUgYW4gPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXIiPnhtbFRleHRSZWFkZXI8L2E+IHN0cnVjdHVyZSBmZWQgd2l0aCBAaW5wdXQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pbnB1dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIiPnhtbFBhcnNlcklucHV0QnVmZmVyUHRyPC9hPiB1c2VkIHRvIHJlYWQgZGF0YTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+VVJJPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgVVJJIGluZm9ybWF0aW9uIGZvciB0aGUgc291cmNlIGlmIGF2YWlsYWJsZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ldyA8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sTmV3VGV4dFJlYWRlckZpbGVuYW1lIiBpZD0ieG1sTmV3VGV4dFJlYWRlckZpbGVuYW1lIj48L2E+RnVuY3Rpb246IHhtbE5ld1RleHRSZWFkZXJGaWxlbmFtZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPgl4bWxOZXdUZXh0UmVhZGVyRmlsZW5hbWUJKGNvbnN0IGNoYXIgKiBVUkkpPGJyIC8+Cis8L3ByZT48cD5DcmVhdGUgYW4gPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXIiPnhtbFRleHRSZWFkZXI8L2E+IHN0cnVjdHVyZSBmZWQgd2l0aCB0aGUgcmVzb3VyY2UgYXQgQFVSSTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlVSSTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFVSSSBvZiB0aGUgcmVzb3VyY2UgdG8gcHJvY2VzczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ldyA8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sUmVhZGVyRm9yRG9jIiBpZD0ieG1sUmVhZGVyRm9yRG9jIj48L2E+RnVuY3Rpb246IHhtbFJlYWRlckZvckRvYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPgl4bWxSZWFkZXJGb3JEb2MJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGN1ciwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIFVSTCwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nLCA8YnIgLz4JCQkJCSBpbnQgb3B0aW9ucyk8YnIgLz4KKzwvcHJlPjxwPkNyZWF0ZSBhbiB4bWx0ZXh0UmVhZGVyIGZvciBhbiBYTUwgaW4tbWVtb3J5IGRvY3VtZW50LiBUaGUgcGFyc2luZyBmbGFncyBAb3B0aW9ucyBhcmUgYSBjb21iaW5hdGlvbiBvZiB4bWxQYXJzZXJPcHRpb24uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gYSB6ZXJvIHRlcm1pbmF0ZWQgc3RyaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5VUkw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBiYXNlIFVSTCB0byB1c2UgZm9yIHRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jb2Rpbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3B0aW9uczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBjb21iaW5hdGlvbiBvZiA8YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VyT3B0aW9uIj54bWxQYXJzZXJPcHRpb248L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IHJlYWRlciBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sUmVhZGVyRm9yRmQiIGlkPSJ4bWxSZWFkZXJGb3JGZCI+PC9hPkZ1bmN0aW9uOiB4bWxSZWFkZXJGb3JGZDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPgl4bWxSZWFkZXJGb3JGZAkoaW50IGZkLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogVVJMLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcsIDxiciAvPgkJCQkJIGludCBvcHRpb25zKTxiciAvPgorPC9wcmU+PHA+Q3JlYXRlIGFuIHhtbHRleHRSZWFkZXIgZm9yIGFuIFhNTCBmcm9tIGEgZmlsZSBkZXNjcmlwdG9yLiBUaGUgcGFyc2luZyBmbGFncyBAb3B0aW9ucyBhcmUgYSBjb21iaW5hdGlvbiBvZiB4bWxQYXJzZXJPcHRpb24uIE5PVEUgdGhhdCB0aGUgZmlsZSBkZXNjcmlwdG9yIHdpbGwgbm90IGJlIGNsb3NlZCB3aGVuIHRoZSByZWFkZXIgaXMgY2xvc2VkIG9yIHJlc2V0LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZkPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBvcGVuIGZpbGUgZGVzY3JpcHRvcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+VVJMPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYmFzZSBVUkwgdG8gdXNlIGZvciB0aGUgZG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVuY29kaW5nPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQgZW5jb2RpbmcsIG9yIE5VTEw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm9wdGlvbnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgY29tYmluYXRpb24gb2YgPGEgaHJlZj0ibGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlck9wdGlvbiI+eG1sUGFyc2VyT3B0aW9uPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ldyByZWFkZXIgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFJlYWRlckZvckZpbGUiIGlkPSJ4bWxSZWFkZXJGb3JGaWxlIj48L2E+RnVuY3Rpb246IHhtbFJlYWRlckZvckZpbGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4JeG1sUmVhZGVyRm9yRmlsZQkoY29uc3QgY2hhciAqIGZpbGVuYW1lLCA8YnIgLz4JCQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nLCA8YnIgLz4JCQkJCQkgaW50IG9wdGlvbnMpPGJyIC8+Cis8L3ByZT48cD5wYXJzZSBhbiBYTUwgZmlsZSBmcm9tIHRoZSBmaWxlc3lzdGVtIG9yIHRoZSBuZXR3b3JrLiBUaGUgcGFyc2luZyBmbGFncyBAb3B0aW9ucyBhcmUgYSBjb21iaW5hdGlvbiBvZiB4bWxQYXJzZXJPcHRpb24uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmlsZW5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgZmlsZSBvciBVUkw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVuY29kaW5nPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQgZW5jb2RpbmcsIG9yIE5VTEw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm9wdGlvbnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgY29tYmluYXRpb24gb2YgPGEgaHJlZj0ibGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlck9wdGlvbiI+eG1sUGFyc2VyT3B0aW9uPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ldyByZWFkZXIgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFJlYWRlckZvcklPIiBpZD0ieG1sUmVhZGVyRm9ySU8iPjwvYT5GdW5jdGlvbjogeG1sUmVhZGVyRm9ySU88L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4JeG1sUmVhZGVyRm9ySU8JKDxhIGhyZWY9ImxpYnhtbC14bWxJTy5odG1sI3htbElucHV0UmVhZENhbGxiYWNrIj54bWxJbnB1dFJlYWRDYWxsYmFjazwvYT4gaW9yZWFkLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sSU8uaHRtbCN4bWxJbnB1dENsb3NlQ2FsbGJhY2siPnhtbElucHV0Q2xvc2VDYWxsYmFjazwvYT4gaW9jbG9zZSwgPGJyIC8+CQkJCQkgdm9pZCAqIGlvY3R4LCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogVVJMLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcsIDxiciAvPgkJCQkJIGludCBvcHRpb25zKTxiciAvPgorPC9wcmU+PHA+Q3JlYXRlIGFuIHhtbHRleHRSZWFkZXIgZm9yIGFuIFhNTCBkb2N1bWVudCBmcm9tIEkvTyBmdW5jdGlvbnMgYW5kIHNvdXJjZS4gVGhlIHBhcnNpbmcgZmxhZ3MgQG9wdGlvbnMgYXJlIGEgY29tYmluYXRpb24gb2YgeG1sUGFyc2VyT3B0aW9uLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmlvcmVhZDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gSS9PIHJlYWQgZnVuY3Rpb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmlvY2xvc2U8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIEkvTyBjbG9zZSBmdW5jdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aW9jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIEkvTyBoYW5kbGVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5VUkw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBiYXNlIFVSTCB0byB1c2UgZm9yIHRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jb2Rpbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3B0aW9uczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBjb21iaW5hdGlvbiBvZiA8YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VyT3B0aW9uIj54bWxQYXJzZXJPcHRpb248L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IHJlYWRlciBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sUmVhZGVyRm9yTWVtb3J5IiBpZD0ieG1sUmVhZGVyRm9yTWVtb3J5Ij48L2E+RnVuY3Rpb246IHhtbFJlYWRlckZvck1lbW9yeTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPgl4bWxSZWFkZXJGb3JNZW1vcnkJKGNvbnN0IGNoYXIgKiBidWZmZXIsIDxiciAvPgkJCQkJCSBpbnQgc2l6ZSwgPGJyIC8+CQkJCQkJIGNvbnN0IGNoYXIgKiBVUkwsIDxiciAvPgkJCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcsIDxiciAvPgkJCQkJCSBpbnQgb3B0aW9ucyk8YnIgLz4KKzwvcHJlPjxwPkNyZWF0ZSBhbiB4bWx0ZXh0UmVhZGVyIGZvciBhbiBYTUwgaW4tbWVtb3J5IGRvY3VtZW50LiBUaGUgcGFyc2luZyBmbGFncyBAb3B0aW9ucyBhcmUgYSBjb21iaW5hdGlvbiBvZiB4bWxQYXJzZXJPcHRpb24uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YnVmZmVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gYSBjaGFyIGFycmF5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zaXplPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc2l6ZSBvZiB0aGUgYXJyYXk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlVSTDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJhc2UgVVJMIHRvIHVzZSBmb3IgdGhlIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbmNvZGluZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50IGVuY29kaW5nLCBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vcHRpb25zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGNvbWJpbmF0aW9uIG9mIDxhIGhyZWY9ImxpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZXJPcHRpb24iPnhtbFBhcnNlck9wdGlvbjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXcgcmVhZGVyIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxSZWFkZXJOZXdEb2MiIGlkPSJ4bWxSZWFkZXJOZXdEb2MiPjwvYT5GdW5jdGlvbjogeG1sUmVhZGVyTmV3RG9jPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFJlYWRlck5ld0RvYwkJCSg8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjdXIsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBVUkwsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyIC8+CQkJCQkgaW50IG9wdGlvbnMpPGJyIC8+Cis8L3ByZT48cD5TZXR1cCBhbiB4bWx0ZXh0UmVhZGVyIHRvIHBhcnNlIGFuIFhNTCBpbi1tZW1vcnkgZG9jdW1lbnQuIFRoZSBwYXJzaW5nIGZsYWdzIEBvcHRpb25zIGFyZSBhIGNvbWJpbmF0aW9uIG9mIHhtbFBhcnNlck9wdGlvbi4gVGhpcyByZXVzZXMgdGhlIGV4aXN0aW5nIEByZWFkZXIgeG1sVGV4dFJlYWRlci48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWFkZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCByZWFkZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIGEgemVybyB0ZXJtaW5hdGVkIHN0cmluZzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+VVJMPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYmFzZSBVUkwgdG8gdXNlIGZvciB0aGUgZG9jdW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVuY29kaW5nPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQgZW5jb2RpbmcsIG9yIE5VTEw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm9wdGlvbnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgY29tYmluYXRpb24gb2YgPGEgaHJlZj0ibGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlck9wdGlvbiI+eG1sUGFyc2VyT3B0aW9uPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpbiBjYXNlIG9mIHN1Y2Nlc3MgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxSZWFkZXJOZXdGZCIgaWQ9InhtbFJlYWRlck5ld0ZkIj48L2E+RnVuY3Rpb246IHhtbFJlYWRlck5ld0ZkPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFJlYWRlck5ld0ZkCQkJKDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIsIDxiciAvPgkJCQkJIGludCBmZCwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIFVSTCwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nLCA8YnIgLz4JCQkJCSBpbnQgb3B0aW9ucyk8YnIgLz4KKzwvcHJlPjxwPlNldHVwIGFuIHhtbHRleHRSZWFkZXIgdG8gcGFyc2UgYW4gWE1MIGZyb20gYSBmaWxlIGRlc2NyaXB0b3IuIE5PVEUgdGhhdCB0aGUgZmlsZSBkZXNjcmlwdG9yIHdpbGwgbm90IGJlIGNsb3NlZCB3aGVuIHRoZSByZWFkZXIgaXMgY2xvc2VkIG9yIHJlc2V0LiBUaGUgcGFyc2luZyBmbGFncyBAb3B0aW9ucyBhcmUgYSBjb21iaW5hdGlvbiBvZiB4bWxQYXJzZXJPcHRpb24uIFRoaXMgcmV1c2VzIHRoZSBleGlzdGluZyBAcmVhZGVyIHhtbFRleHRSZWFkZXIuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVhZGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcmVhZGVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mZDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gb3BlbiBmaWxlIGRlc2NyaXB0b3I8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlVSTDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJhc2UgVVJMIHRvIHVzZSBmb3IgdGhlIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbmNvZGluZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvY3VtZW50IGVuY29kaW5nLCBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vcHRpb25zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGNvbWJpbmF0aW9uIG9mIDxhIGhyZWY9ImxpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZXJPcHRpb24iPnhtbFBhcnNlck9wdGlvbjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaW4gY2FzZSBvZiBzdWNjZXNzIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sUmVhZGVyTmV3RmlsZSIgaWQ9InhtbFJlYWRlck5ld0ZpbGUiPjwvYT5GdW5jdGlvbjogeG1sUmVhZGVyTmV3RmlsZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxSZWFkZXJOZXdGaWxlCQkoPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlciwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGZpbGVuYW1lLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcsIDxiciAvPgkJCQkJIGludCBvcHRpb25zKTxiciAvPgorPC9wcmU+PHA+cGFyc2UgYW4gWE1MIGZpbGUgZnJvbSB0aGUgZmlsZXN5c3RlbSBvciB0aGUgbmV0d29yay4gVGhlIHBhcnNpbmcgZmxhZ3MgQG9wdGlvbnMgYXJlIGEgY29tYmluYXRpb24gb2YgeG1sUGFyc2VyT3B0aW9uLiBUaGlzIHJldXNlcyB0aGUgZXhpc3RpbmcgQHJlYWRlciB4bWxUZXh0UmVhZGVyLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJlYWRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWE1MIHJlYWRlcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmlsZW5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgZmlsZSBvciBVUkw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVuY29kaW5nPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZG9jdW1lbnQgZW5jb2RpbmcsIG9yIE5VTEw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm9wdGlvbnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgY29tYmluYXRpb24gb2YgPGEgaHJlZj0ibGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlck9wdGlvbiI+eG1sUGFyc2VyT3B0aW9uPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpbiBjYXNlIG9mIHN1Y2Nlc3MgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxSZWFkZXJOZXdJTyIgaWQ9InhtbFJlYWRlck5ld0lPIj48L2E+RnVuY3Rpb246IHhtbFJlYWRlck5ld0lPPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFJlYWRlck5ld0lPCQkJKDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxJTy5odG1sI3htbElucHV0UmVhZENhbGxiYWNrIj54bWxJbnB1dFJlYWRDYWxsYmFjazwvYT4gaW9yZWFkLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sSU8uaHRtbCN4bWxJbnB1dENsb3NlQ2FsbGJhY2siPnhtbElucHV0Q2xvc2VDYWxsYmFjazwvYT4gaW9jbG9zZSwgPGJyIC8+CQkJCQkgdm9pZCAqIGlvY3R4LCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogVVJMLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcsIDxiciAvPgkJCQkJIGludCBvcHRpb25zKTxiciAvPgorPC9wcmU+PHA+U2V0dXAgYW4geG1sdGV4dFJlYWRlciB0byBwYXJzZSBhbiBYTUwgZG9jdW1lbnQgZnJvbSBJL08gZnVuY3Rpb25zIGFuZCBzb3VyY2UuIFRoZSBwYXJzaW5nIGZsYWdzIEBvcHRpb25zIGFyZSBhIGNvbWJpbmF0aW9uIG9mIHhtbFBhcnNlck9wdGlvbi4gVGhpcyByZXVzZXMgdGhlIGV4aXN0aW5nIEByZWFkZXIgeG1sVGV4dFJlYWRlci48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWFkZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCByZWFkZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmlvcmVhZDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gSS9PIHJlYWQgZnVuY3Rpb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmlvY2xvc2U8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIEkvTyBjbG9zZSBmdW5jdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aW9jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIEkvTyBoYW5kbGVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5VUkw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBiYXNlIFVSTCB0byB1c2UgZm9yIHRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jb2Rpbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3B0aW9uczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBjb21iaW5hdGlvbiBvZiA8YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VyT3B0aW9uIj54bWxQYXJzZXJPcHRpb248L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGluIGNhc2Ugb2Ygc3VjY2VzcyBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFJlYWRlck5ld01lbW9yeSIgaWQ9InhtbFJlYWRlck5ld01lbW9yeSI+PC9hPkZ1bmN0aW9uOiB4bWxSZWFkZXJOZXdNZW1vcnk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sUmVhZGVyTmV3TWVtb3J5CQkoPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlciwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGJ1ZmZlciwgPGJyIC8+CQkJCQkgaW50IHNpemUsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBVUkwsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyIC8+CQkJCQkgaW50IG9wdGlvbnMpPGJyIC8+Cis8L3ByZT48cD5TZXR1cCBhbiB4bWx0ZXh0UmVhZGVyIHRvIHBhcnNlIGFuIFhNTCBpbi1tZW1vcnkgZG9jdW1lbnQuIFRoZSBwYXJzaW5nIGZsYWdzIEBvcHRpb25zIGFyZSBhIGNvbWJpbmF0aW9uIG9mIHhtbFBhcnNlck9wdGlvbi4gVGhpcyByZXVzZXMgdGhlIGV4aXN0aW5nIEByZWFkZXIgeG1sVGV4dFJlYWRlci48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWFkZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCByZWFkZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmJ1ZmZlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIGEgY2hhciBhcnJheTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2l6ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHNpemUgb2YgdGhlIGFycmF5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5VUkw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBiYXNlIFVSTCB0byB1c2UgZm9yIHRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jb2Rpbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3B0aW9uczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBjb21iaW5hdGlvbiBvZiA8YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VyT3B0aW9uIj54bWxQYXJzZXJPcHRpb248L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGluIGNhc2Ugb2Ygc3VjY2VzcyBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFJlYWRlck5ld1dhbGtlciIgaWQ9InhtbFJlYWRlck5ld1dhbGtlciI+PC9hPkZ1bmN0aW9uOiB4bWxSZWFkZXJOZXdXYWxrZXI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sUmVhZGVyTmV3V2Fsa2VyCQkoPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlciwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jKTxiciAvPgorPC9wcmU+PHA+U2V0dXAgYW4geG1sdGV4dFJlYWRlciB0byBwYXJzZSBhIHByZXBhcnNlZCBYTUwgZG9jdW1lbnQuIFRoaXMgcmV1c2VzIHRoZSBleGlzdGluZyBAcmVhZGVyIHhtbFRleHRSZWFkZXIuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVhZGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYTUwgcmVhZGVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcHJlcGFyc2VkIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGluIGNhc2Ugb2Ygc3VjY2VzcyBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFJlYWRlcldhbGtlciIgaWQ9InhtbFJlYWRlcldhbGtlciI+PC9hPkZ1bmN0aW9uOiB4bWxSZWFkZXJXYWxrZXI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4JeG1sUmVhZGVyV2Fsa2VyCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MpPGJyIC8+Cis8L3ByZT48cD5DcmVhdGUgYW4geG1sdGV4dFJlYWRlciBmb3IgYSBwcmVwYXJzZWQgZG9jdW1lbnQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHByZXBhcnNlZCBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ldyByZWFkZXIgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFRleHRSZWFkZXJBdHRyaWJ1dGVDb3VudCIgaWQ9InhtbFRleHRSZWFkZXJBdHRyaWJ1dGVDb3VudCI+PC9hPkZ1bmN0aW9uOiB4bWxUZXh0UmVhZGVyQXR0cmlidXRlQ291bnQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFJlYWRlckF0dHJpYnV0ZUNvdW50CSg8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTxiciAvPgorPC9wcmU+PHA+UHJvdmlkZXMgdGhlIG51bWJlciBvZiBhdHRyaWJ1dGVzIG9mIHRoZSBjdXJyZW50IG5vZGU8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWFkZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gdXNlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpIG5vIGF0dHJpYnV0ZXMsIC0xIGluIGNhc2Ugb2YgZXJyb3Igb3IgdGhlIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gY291bnQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxUZXh0UmVhZGVyQmFzZVVyaSIgaWQ9InhtbFRleHRSZWFkZXJCYXNlVXJpIj48L2E+RnVuY3Rpb246IHhtbFRleHRSZWFkZXJCYXNlVXJpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sVGV4dFJlYWRlckJhc2VVcmkJKDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIpPGJyIC8+Cis8L3ByZT48cD5UaGUgYmFzZSBVUkkgb2YgdGhlIG5vZGUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVhZGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHVzZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBiYXNlIFVSSSBvciBOVUxMIGlmIG5vdCBhdmFpbGFibGUsIGlmIG5vbiBOVUxMIGl0IG5lZWQgdG8gYmUgZnJlZWQgYnkgdGhlIGNhbGxlci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxUZXh0UmVhZGVyQnl0ZUNvbnN1bWVkIiBpZD0ieG1sVGV4dFJlYWRlckJ5dGVDb25zdW1lZCI+PC9hPkZ1bmN0aW9uOiB4bWxUZXh0UmVhZGVyQnl0ZUNvbnN1bWVkPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+bG9uZwl4bWxUZXh0UmVhZGVyQnl0ZUNvbnN1bWVkCSg8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTxiciAvPgorPC9wcmU+PHA+VGhpcyBmdW5jdGlvbiBwcm92aWRlcyB0aGUgY3VycmVudCBpbmRleCBvZiB0aGUgcGFyc2VyIHVzZWQgYnkgdGhlIHJlYWRlciwgcmVsYXRpdmUgdG8gdGhlIHN0YXJ0IG9mIHRoZSBjdXJyZW50IGVudGl0eS4gVGhpcyBmdW5jdGlvbiBhY3R1YWxseSBqdXN0IHdyYXBzIGEgY2FsbCB0byB4bWxCeXRlc0NvbnN1bWVkKCkgZm9yIHRoZSBwYXJzZXIgY29udGV4dCBhc3NvY2lhdGVkIHdpdGggdGhlIHJlYWRlci4gU2VlIHhtbEJ5dGVzQ29uc3VtZWQoKSBmb3IgbW9yZSBpbmZvcm1hdGlvbi48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWFkZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCByZWFkZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBpbmRleCBpbiBieXRlcyBmcm9tIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGVudGl0eSBvciAtMSBpbiBjYXNlIHRoZSBpbmRleCBjb3VsZCBub3QgYmUgY29tcHV0ZWQuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVGV4dFJlYWRlckNsb3NlIiBpZD0ieG1sVGV4dFJlYWRlckNsb3NlIj48L2E+RnVuY3Rpb246IHhtbFRleHRSZWFkZXJDbG9zZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0UmVhZGVyQ2xvc2UJCSg8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTxiciAvPgorPC9wcmU+PHA+VGhpcyBtZXRob2QgcmVsZWFzZXMgYW55IHJlc291cmNlcyBhbGxvY2F0ZWQgYnkgdGhlIGN1cnJlbnQgaW5zdGFuY2UgY2hhbmdlcyB0aGUgc3RhdGUgdG8gQ2xvc2VkIGFuZCBjbG9zZSBhbnkgdW5kZXJseWluZyBpbnB1dC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWFkZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gdXNlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVGV4dFJlYWRlckNvbnN0QmFzZVVyaSIgaWQ9InhtbFRleHRSZWFkZXJDb25zdEJhc2VVcmkiPjwvYT5GdW5jdGlvbjogeG1sVGV4dFJlYWRlckNvbnN0QmFzZVVyaTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbFRleHRSZWFkZXJDb25zdEJhc2VVcmkJKDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIpPGJyIC8+Cis8L3ByZT48cD5UaGUgYmFzZSBVUkkgb2YgdGhlIG5vZGUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVhZGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHVzZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBiYXNlIFVSSSBvciBOVUxMIGlmIG5vdCBhdmFpbGFibGUsIHRoZSBzdHJpbmcgd2lsbCBiZSBkZWFsbG9jYXRlZCB3aXRoIHRoZSByZWFkZXI8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxUZXh0UmVhZGVyQ29uc3RFbmNvZGluZyIgaWQ9InhtbFRleHRSZWFkZXJDb25zdEVuY29kaW5nIj48L2E+RnVuY3Rpb246IHhtbFRleHRSZWFkZXJDb25zdEVuY29kaW5nPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Y29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sVGV4dFJlYWRlckNvbnN0RW5jb2RpbmcJKDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIpPGJyIC8+Cis8L3ByZT48cD5EZXRlcm1pbmUgdGhlIGVuY29kaW5nIG9mIHRoZSBkb2N1bWVudCBiZWluZyByZWFkLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJlYWRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiB1c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHN0cmluZyBjb250YWluaW5nIHRoZSBlbmNvZGluZyBvZiB0aGUgZG9jdW1lbnQgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLiBUaGUgc3RyaW5nIGlzIGRlYWxsb2NhdGVkIHdpdGggdGhlIHJlYWRlci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxUZXh0UmVhZGVyQ29uc3RMb2NhbE5hbWUiIGlkPSJ4bWxUZXh0UmVhZGVyQ29uc3RMb2NhbE5hbWUiPjwvYT5GdW5jdGlvbjogeG1sVGV4dFJlYWRlckNvbnN0TG9jYWxOYW1lPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Y29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sVGV4dFJlYWRlckNvbnN0TG9jYWxOYW1lCSg8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTxiciAvPgorPC9wcmU+PHA+VGhlIGxvY2FsIG5hbWUgb2YgdGhlIG5vZGUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVhZGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHVzZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsb2NhbCBuYW1lIG9yIE5VTEwgaWYgbm90IGF2YWlsYWJsZSwgdGhlIHN0cmluZyB3aWxsIGJlIGRlYWxsb2NhdGVkIHdpdGggdGhlIHJlYWRlci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxUZXh0UmVhZGVyQ29uc3ROYW1lIiBpZD0ieG1sVGV4dFJlYWRlckNvbnN0TmFtZSI+PC9hPkZ1bmN0aW9uOiB4bWxUZXh0UmVhZGVyQ29uc3ROYW1lPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Y29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sVGV4dFJlYWRlckNvbnN0TmFtZQkoPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlcik8YnIgLz4KKzwvcHJlPjxwPlRoZSBxdWFsaWZpZWQgbmFtZSBvZiB0aGUgbm9kZSwgZXF1YWwgdG8gUHJlZml4IDpMb2NhbE5hbWUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVhZGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHVzZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsb2NhbCBuYW1lIG9yIE5VTEwgaWYgbm90IGF2YWlsYWJsZSwgdGhlIHN0cmluZyBpcyBkZWFsbG9jYXRlZCB3aXRoIHRoZSByZWFkZXIuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVGV4dFJlYWRlckNvbnN0TmFtZXNwYWNlVXJpIiBpZD0ieG1sVGV4dFJlYWRlckNvbnN0TmFtZXNwYWNlVXJpIj48L2E+RnVuY3Rpb246IHhtbFRleHRSZWFkZXJDb25zdE5hbWVzcGFjZVVyaTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbFRleHRSZWFkZXJDb25zdE5hbWVzcGFjZVVyaQkoPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlcik8YnIgLz4KKzwvcHJlPjxwPlRoZSBVUkkgZGVmaW5pbmcgdGhlIG5hbWVzcGFjZSBhc3NvY2lhdGVkIHdpdGggdGhlIG5vZGUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVhZGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHVzZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lc3BhY2UgVVJJIG9yIE5VTEwgaWYgbm90IGF2YWlsYWJsZSwgdGhlIHN0cmluZyB3aWxsIGJlIGRlYWxsb2NhdGVkIHdpdGggdGhlIHJlYWRlcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFRleHRSZWFkZXJDb25zdFByZWZpeCIgaWQ9InhtbFRleHRSZWFkZXJDb25zdFByZWZpeCI+PC9hPkZ1bmN0aW9uOiB4bWxUZXh0UmVhZGVyQ29uc3RQcmVmaXg8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5jb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxUZXh0UmVhZGVyQ29uc3RQcmVmaXgJKDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIpPGJyIC8+Cis8L3ByZT48cD5BIHNob3J0aGFuZCA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjcmVmZXJlbmNlIj5yZWZlcmVuY2U8L2E+IHRvIHRoZSBuYW1lc3BhY2UgYXNzb2NpYXRlZCB3aXRoIHRoZSBub2RlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJlYWRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiB1c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcHJlZml4IG9yIE5VTEwgaWYgbm90IGF2YWlsYWJsZSwgdGhlIHN0cmluZyBpcyBkZWFsbG9jYXRlZCB3aXRoIHRoZSByZWFkZXIuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVGV4dFJlYWRlckNvbnN0U3RyaW5nIiBpZD0ieG1sVGV4dFJlYWRlckNvbnN0U3RyaW5nIj48L2E+RnVuY3Rpb246IHhtbFRleHRSZWFkZXJDb25zdFN0cmluZzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbFRleHRSZWFkZXJDb25zdFN0cmluZwkoPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlciwgPGJyIC8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0cik8YnIgLz4KKzwvcHJlPjxwPkdldCBhbiBpbnRlcm5lZCBzdHJpbmcgZnJvbSB0aGUgcmVhZGVyLCBhbGxvd3MgZm9yIGV4YW1wbGUgdG8gc3BlZWR1cCBzdHJpbmcgbmFtZSBjb21wYXJpc29uczwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJlYWRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiB1c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdHI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzdHJpbmcgdG8gaW50ZXJuLjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gaW50ZXJuZWQgY29weSBvZiB0aGUgc3RyaW5nIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci4gVGhlIHN0cmluZyB3aWxsIGJlIGRlYWxsb2NhdGVkIHdpdGggdGhlIHJlYWRlci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxUZXh0UmVhZGVyQ29uc3RWYWx1ZSIgaWQ9InhtbFRleHRSZWFkZXJDb25zdFZhbHVlIj48L2E+RnVuY3Rpb246IHhtbFRleHRSZWFkZXJDb25zdFZhbHVlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Y29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sVGV4dFJlYWRlckNvbnN0VmFsdWUJKDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIpPGJyIC8+Cis8L3ByZT48cD5Qcm92aWRlcyB0aGUgdGV4dCB2YWx1ZSBvZiB0aGUgbm9kZSBpZiBwcmVzZW50PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVhZGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHVzZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzdHJpbmcgb3IgTlVMTCBpZiBub3QgYXZhaWxhYmxlLiBUaGUgcmVzdWx0IHdpbGwgYmUgZGVhbGxvY2F0ZWQgb24gdGhlIG5leHQgUmVhZCgpIG9wZXJhdGlvbi48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxUZXh0UmVhZGVyQ29uc3RYbWxMYW5nIiBpZD0ieG1sVGV4dFJlYWRlckNvbnN0WG1sTGFuZyI+PC9hPkZ1bmN0aW9uOiB4bWxUZXh0UmVhZGVyQ29uc3RYbWxMYW5nPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Y29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sVGV4dFJlYWRlckNvbnN0WG1sTGFuZwkoPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlcik8YnIgLz4KKzwvcHJlPjxwPlRoZSB4bWw6bGFuZyBzY29wZSB3aXRoaW4gd2hpY2ggdGhlIG5vZGUgcmVzaWRlcy48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWFkZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gdXNlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHhtbDpsYW5nIHZhbHVlIG9yIE5VTEwgaWYgbm9uZSBleGlzdHMuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVGV4dFJlYWRlckNvbnN0WG1sVmVyc2lvbiIgaWQ9InhtbFRleHRSZWFkZXJDb25zdFhtbFZlcnNpb24iPjwvYT5GdW5jdGlvbjogeG1sVGV4dFJlYWRlckNvbnN0WG1sVmVyc2lvbjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbFRleHRSZWFkZXJDb25zdFhtbFZlcnNpb24JKDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIpPGJyIC8+Cis8L3ByZT48cD5EZXRlcm1pbmUgdGhlIFhNTCB2ZXJzaW9uIG9mIHRoZSBkb2N1bWVudCBiZWluZyByZWFkLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJlYWRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiB1c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHN0cmluZyBjb250YWluaW5nIHRoZSBYTUwgdmVyc2lvbiBvZiB0aGUgZG9jdW1lbnQgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLiBUaGUgc3RyaW5nIGlzIGRlYWxsb2NhdGVkIHdpdGggdGhlIHJlYWRlci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxUZXh0UmVhZGVyQ3VycmVudERvYyIgaWQ9InhtbFRleHRSZWFkZXJDdXJyZW50RG9jIj48L2E+RnVuY3Rpb246IHhtbFRleHRSZWFkZXJDdXJyZW50RG9jPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4JeG1sVGV4dFJlYWRlckN1cnJlbnREb2MJKDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIpPGJyIC8+Cis8L3ByZT48cD5IYWNraW5nIGludGVyZmFjZSBhbGxvd2luZyB0byBnZXQgdGhlIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGNvcnJlcG9uZGluZyB0byB0aGUgY3VycmVudCBkb2N1bWVudCBiZWluZyBhY2Nlc3NlZCBieSB0aGUgeG1sVGV4dFJlYWRlci4gTk9URTogYXMgYSByZXN1bHQgb2YgdGhpcyBjYWxsLCB0aGUgcmVhZGVyIHdpbGwgbm90IGRlc3Ryb3kgdGhlIGFzc29jaWF0ZWQgWE1MIGRvY3VtZW50IGFuZCBjYWxsaW5nIHhtbEZyZWVEb2MoKSBvbiB0aGUgcmVzdWx0IGlzIG5lZWRlZCBvbmNlIHRoZSByZWFkZXIgcGFyc2luZyBoYXMgZmluaXNoZWQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVhZGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHVzZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVGV4dFJlYWRlckN1cnJlbnROb2RlIiBpZD0ieG1sVGV4dFJlYWRlckN1cnJlbnROb2RlIj48L2E+RnVuY3Rpb246IHhtbFRleHRSZWFkZXJDdXJyZW50Tm9kZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JeG1sVGV4dFJlYWRlckN1cnJlbnROb2RlCSg8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTxiciAvPgorPC9wcmU+PHA+SGFja2luZyBpbnRlcmZhY2UgYWxsb3dpbmcgdG8gZ2V0IHRoZSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGNvcnJlcG9uZGluZyB0byB0aGUgY3VycmVudCBub2RlIGJlaW5nIGFjY2Vzc2VkIGJ5IHRoZSB4bWxUZXh0UmVhZGVyLiBUaGlzIGlzIGRhbmdlcm91cyBiZWNhdXNlIHRoZSB1bmRlcmx5aW5nIG5vZGUgbWF5IGJlIGRlc3Ryb3llZCBvbiB0aGUgbmV4dCBSZWFkcy48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWFkZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gdXNlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFRleHRSZWFkZXJEZXB0aCIgaWQ9InhtbFRleHRSZWFkZXJEZXB0aCI+PC9hPkZ1bmN0aW9uOiB4bWxUZXh0UmVhZGVyRGVwdGg8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFJlYWRlckRlcHRoCQkoPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlcik8YnIgLz4KKzwvcHJlPjxwPlRoZSBkZXB0aCBvZiB0aGUgbm9kZSBpbiB0aGUgdHJlZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWFkZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gdXNlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRlcHRoIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxUZXh0UmVhZGVyRXJyb3JGdW5jIiBpZD0ieG1sVGV4dFJlYWRlckVycm9yRnVuYyI+PC9hPkZ1bmN0aW9uIHR5cGU6IHhtbFRleHRSZWFkZXJFcnJvckZ1bmM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5GdW5jdGlvbiB0eXBlOiB4bWxUZXh0UmVhZGVyRXJyb3JGdW5jCit2b2lkCXhtbFRleHRSZWFkZXJFcnJvckZ1bmMJCSh2b2lkICogYXJnLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogbXNnLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sUGFyc2VyU2V2ZXJpdGllcyI+eG1sUGFyc2VyU2V2ZXJpdGllczwvYT4gc2V2ZXJpdHksIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyTG9jYXRvclB0ciI+eG1sVGV4dFJlYWRlckxvY2F0b3JQdHI8L2E+IGxvY2F0b3IpCis8L3ByZT48cD5TaWduYXR1cmUgb2YgYW4gZXJyb3IgY2FsbGJhY2sgZnJvbSBhIHJlYWRlciBwYXJzZXI8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YXJnPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlciBhcmd1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bXNnPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbWVzc2FnZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2V2ZXJpdHk8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzZXZlcml0eSBvZiB0aGUgZXJyb3I8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxvY2F0b3I8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbG9jYXRvciBpbmRpY2F0aW5nIHdoZXJlIHRoZSBlcnJvciBvY2N1cmVkPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48YnIgLz4KKzxoMz48YSBuYW1lPSJ4bWxUZXh0UmVhZGVyRXhwYW5kIiBpZD0ieG1sVGV4dFJlYWRlckV4cGFuZCI+PC9hPkZ1bmN0aW9uOiB4bWxUZXh0UmVhZGVyRXhwYW5kPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgl4bWxUZXh0UmVhZGVyRXhwYW5kCSg8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTxiciAvPgorPC9wcmU+PHA+UmVhZHMgdGhlIGNvbnRlbnRzIG9mIHRoZSBjdXJyZW50IG5vZGUgYW5kIHRoZSBmdWxsIHN1YnRyZWUuIEl0IHRoZW4gbWFrZXMgdGhlIHN1YnRyZWUgYXZhaWxhYmxlIHVudGlsIHRoZSBuZXh0IHhtbFRleHRSZWFkZXJSZWFkKCkgY2FsbDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJlYWRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiB1c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIG5vZGUgcG9pbnRlciB2YWxpZCB1bnRpbCB0aGUgbmV4dCB4bWxUZXh0UmVhZGVyUmVhZCgpIGNhbGwgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFRleHRSZWFkZXJHZXRBdHRyaWJ1dGUiIGlkPSJ4bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlIj48L2E+RnVuY3Rpb246IHhtbFRleHRSZWFkZXJHZXRBdHRyaWJ1dGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlCSg8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyLCA8YnIgLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSk8YnIgLz4KKzwvcHJlPjxwPlByb3ZpZGVzIHRoZSB2YWx1ZSBvZiB0aGUgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiB3aXRoIHRoZSBzcGVjaWZpZWQgcXVhbGlmaWVkIG5hbWUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVhZGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHVzZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBxdWFsaWZpZWQgbmFtZSBvZiB0aGUgYXR0cmlidXRlLjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBzdHJpbmcgY29udGFpbmluZyB0aGUgdmFsdWUgb2YgdGhlIHNwZWNpZmllZCBhdHRyaWJ1dGUsIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci4gVGhlIHN0cmluZyBtdXN0IGJlIGRlYWxsb2NhdGVkIGJ5IHRoZSBjYWxsZXIuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZU5vIiBpZD0ieG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZU5vIj48L2E+RnVuY3Rpb246IHhtbFRleHRSZWFkZXJHZXRBdHRyaWJ1dGVObzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbFRleHRSZWFkZXJHZXRBdHRyaWJ1dGVObwkoPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlciwgPGJyIC8+CQkJCQkJIGludCBubyk8YnIgLz4KKzwvcHJlPjxwPlByb3ZpZGVzIHRoZSB2YWx1ZSBvZiB0aGUgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiB3aXRoIHRoZSBzcGVjaWZpZWQgaW5kZXggcmVsYXRpdmUgdG8gdGhlIGNvbnRhaW5pbmcgZWxlbWVudC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWFkZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gdXNlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm88L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB6ZXJvLWJhc2VkIGluZGV4IG9mIHRoZSA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IHJlbGF0aXZlIHRvIHRoZSBjb250YWluaW5nIGVsZW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIHZhbHVlIG9mIHRoZSBzcGVjaWZpZWQgYXR0cmlidXRlLCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuIFRoZSBzdHJpbmcgbXVzdCBiZSBkZWFsbG9jYXRlZCBieSB0aGUgY2FsbGVyLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFRleHRSZWFkZXJHZXRBdHRyaWJ1dGVOcyIgaWQ9InhtbFRleHRSZWFkZXJHZXRBdHRyaWJ1dGVOcyI+PC9hPkZ1bmN0aW9uOiB4bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlTnM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlTnMJKDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIsIDxiciAvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBsb2NhbE5hbWUsIDxiciAvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lc3BhY2VVUkkpPGJyIC8+Cis8L3ByZT48cD5Qcm92aWRlcyB0aGUgdmFsdWUgb2YgdGhlIHNwZWNpZmllZCA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVhZGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHVzZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxvY2FsTmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxvY2FsIG5hbWUgb2YgdGhlIGF0dHJpYnV0ZS48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWVzcGFjZVVSSTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5hbWVzcGFjZSBVUkkgb2YgdGhlIGF0dHJpYnV0ZS48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIHZhbHVlIG9mIHRoZSBzcGVjaWZpZWQgYXR0cmlidXRlLCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuIFRoZSBzdHJpbmcgbXVzdCBiZSBkZWFsbG9jYXRlZCBieSB0aGUgY2FsbGVyLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFRleHRSZWFkZXJHZXRFcnJvckhhbmRsZXIiIGlkPSJ4bWxUZXh0UmVhZGVyR2V0RXJyb3JIYW5kbGVyIj48L2E+RnVuY3Rpb246IHhtbFRleHRSZWFkZXJHZXRFcnJvckhhbmRsZXI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFRleHRSZWFkZXJHZXRFcnJvckhhbmRsZXIJKDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyRXJyb3JGdW5jIj54bWxUZXh0UmVhZGVyRXJyb3JGdW5jPC9hPiAqIGYsIDxiciAvPgkJCQkJIHZvaWQgKiogYXJnKTxiciAvPgorPC9wcmU+PHA+UmV0cmlldmUgdGhlIGVycm9yIGNhbGxiYWNrIGZ1bmN0aW9uIGFuZCB1c2VyIGFyZ3VtZW50LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJlYWRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiB1c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY2FsbGJhY2sgZnVuY3Rpb24gb3IgTlVMTCBpcyBubyBjYWxsYmFjayBoYXMgYmVlbiByZWdpc3RlcmVkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5hcmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgdXNlciBhcmd1bWVudDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFRleHRSZWFkZXJHZXRQYXJzZXJDb2x1bW5OdW1iZXIiIGlkPSJ4bWxUZXh0UmVhZGVyR2V0UGFyc2VyQ29sdW1uTnVtYmVyIj48L2E+RnVuY3Rpb246IHhtbFRleHRSZWFkZXJHZXRQYXJzZXJDb2x1bW5OdW1iZXI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFJlYWRlckdldFBhcnNlckNvbHVtbk51bWJlcgkoPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlcik8YnIgLz4KKzwvcHJlPjxwPlByb3ZpZGUgdGhlIGNvbHVtbiBudW1iZXIgb2YgdGhlIGN1cnJlbnQgcGFyc2luZyBwb2ludC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWFkZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIGRhdGEgKFhNTCByZWFkZXIgY29udGV4dCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIGludCBvciAwIGlmIG5vdCBhdmFpbGFibGU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxUZXh0UmVhZGVyR2V0UGFyc2VyTGluZU51bWJlciIgaWQ9InhtbFRleHRSZWFkZXJHZXRQYXJzZXJMaW5lTnVtYmVyIj48L2E+RnVuY3Rpb246IHhtbFRleHRSZWFkZXJHZXRQYXJzZXJMaW5lTnVtYmVyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRleHRSZWFkZXJHZXRQYXJzZXJMaW5lTnVtYmVyCSg8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTxiciAvPgorPC9wcmU+PHA+UHJvdmlkZSB0aGUgbGluZSBudW1iZXIgb2YgdGhlIGN1cnJlbnQgcGFyc2luZyBwb2ludC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWFkZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB1c2VyIGRhdGEgKFhNTCByZWFkZXIgY29udGV4dCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIGludCBvciAwIGlmIG5vdCBhdmFpbGFibGU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxUZXh0UmVhZGVyR2V0UGFyc2VyUHJvcCIgaWQ9InhtbFRleHRSZWFkZXJHZXRQYXJzZXJQcm9wIj48L2E+RnVuY3Rpb246IHhtbFRleHRSZWFkZXJHZXRQYXJzZXJQcm9wPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRleHRSZWFkZXJHZXRQYXJzZXJQcm9wCSg8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyLCA8YnIgLz4JCQkJCSBpbnQgcHJvcCk8YnIgLz4KKzwvcHJlPjxwPlJlYWQgdGhlIHBhcnNlciBpbnRlcm5hbCBwcm9wZXJ0eS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWFkZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gdXNlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cHJvcDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxQYXJzZXJQcm9wZXJ0aWVzIj54bWxQYXJzZXJQcm9wZXJ0aWVzPC9hPiB0byBnZXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB2YWx1ZSwgdXN1YWxseSAwIG9yIDEsIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVGV4dFJlYWRlckdldFJlbWFpbmRlciIgaWQ9InhtbFRleHRSZWFkZXJHZXRSZW1haW5kZXIiPjwvYT5GdW5jdGlvbjogeG1sVGV4dFJlYWRlckdldFJlbWFpbmRlcjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIiPnhtbFBhcnNlcklucHV0QnVmZmVyUHRyPC9hPgl4bWxUZXh0UmVhZGVyR2V0UmVtYWluZGVyCSg8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTxiciAvPgorPC9wcmU+PHA+TWV0aG9kIHRvIGdldCB0aGUgcmVtYWluZGVyIG9mIHRoZSBidWZmZXJlZCBYTUwuIHRoaXMgbWV0aG9kIHN0b3BzIHRoZSBwYXJzZXIsIHNldCBpdHMgc3RhdGUgdG8gRW5kIE9mIEZpbGUgYW5kIHJldHVybiB0aGUgaW5wdXQgc3RyZWFtIHdpdGggd2hhdCBpcyBsZWZ0IHRoYXQgdGhlIHBhcnNlciBkaWQgbm90IHVzZS4gVGhlIGltcGxlbWVudGF0aW9uIGlzIG5vdCBnb29kLCB0aGUgcGFyc2VyIGNlcnRhaW5seSBwcm9jZ3Jlc3NlZCBwYXN0IHdoYXQncyBsZWZ0IGluIHJlYWRlci0mZ3Q7aW5wdXQsIGFuZCB0aGVyZSBpcyBhbiBhbGxvY2F0aW9uIHByb2JsZW0uIEJlc3Qgd291bGQgYmUgdG8gcmV3cml0ZSBpdCBkaWZmZXJlbnRseS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWFkZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gdXNlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIiPnhtbFBhcnNlcklucHV0QnVmZmVyUHRyPC9hPiBhdHRhY2hlZCB0byB0aGUgWE1MIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxUZXh0UmVhZGVySGFzQXR0cmlidXRlcyIgaWQ9InhtbFRleHRSZWFkZXJIYXNBdHRyaWJ1dGVzIj48L2E+RnVuY3Rpb246IHhtbFRleHRSZWFkZXJIYXNBdHRyaWJ1dGVzPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRleHRSZWFkZXJIYXNBdHRyaWJ1dGVzCSg8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTxiciAvPgorPC9wcmU+PHA+V2hldGhlciB0aGUgbm9kZSBoYXMgYXR0cmlidXRlcy48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWFkZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gdXNlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlLCAwIGlmIGZhbHNlLCBhbmQgLTEgaW4gY2FzZSBvciBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFRleHRSZWFkZXJIYXNWYWx1ZSIgaWQ9InhtbFRleHRSZWFkZXJIYXNWYWx1ZSI+PC9hPkZ1bmN0aW9uOiB4bWxUZXh0UmVhZGVySGFzVmFsdWU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFJlYWRlckhhc1ZhbHVlCQkoPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlcik8YnIgLz4KKzwvcHJlPjxwPldoZXRoZXIgdGhlIG5vZGUgY2FuIGhhdmUgYSB0ZXh0IHZhbHVlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJlYWRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiB1c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUsIDAgaWYgZmFsc2UsIGFuZCAtMSBpbiBjYXNlIG9yIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVGV4dFJlYWRlcklzRGVmYXVsdCIgaWQ9InhtbFRleHRSZWFkZXJJc0RlZmF1bHQiPjwvYT5GdW5jdGlvbjogeG1sVGV4dFJlYWRlcklzRGVmYXVsdDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0UmVhZGVySXNEZWZhdWx0CQkoPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlcik8YnIgLz4KKzwvcHJlPjxwPldoZXRoZXIgYW4gQXR0cmlidXRlIG5vZGUgd2FzIGdlbmVyYXRlZCBmcm9tIHRoZSBkZWZhdWx0IHZhbHVlIGRlZmluZWQgaW4gdGhlIERURCBvciBzY2hlbWEuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVhZGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHVzZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaWYgbm90IGRlZmF1bHRlZCwgMSBpZiBkZWZhdWx0ZWQsIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVGV4dFJlYWRlcklzRW1wdHlFbGVtZW50IiBpZD0ieG1sVGV4dFJlYWRlcklzRW1wdHlFbGVtZW50Ij48L2E+RnVuY3Rpb246IHhtbFRleHRSZWFkZXJJc0VtcHR5RWxlbWVudDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0UmVhZGVySXNFbXB0eUVsZW1lbnQJKDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIpPGJyIC8+Cis8L3ByZT48cD5DaGVjayBpZiB0aGUgY3VycmVudCBub2RlIGlzIGVtcHR5PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVhZGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHVzZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgZW1wdHksIDAgaWYgbm90IGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVGV4dFJlYWRlcklzTmFtZXNwYWNlRGVjbCIgaWQ9InhtbFRleHRSZWFkZXJJc05hbWVzcGFjZURlY2wiPjwvYT5GdW5jdGlvbjogeG1sVGV4dFJlYWRlcklzTmFtZXNwYWNlRGVjbDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0UmVhZGVySXNOYW1lc3BhY2VEZWNsCSg8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTxiciAvPgorPC9wcmU+PHA+RGV0ZXJtaW5lIHdoZXRoZXIgdGhlIGN1cnJlbnQgbm9kZSBpcyBhIG5hbWVzcGFjZSBkZWNsYXJhdGlvbiByYXRoZXIgdGhhbiBhIHJlZ3VsYXIgYXR0cmlidXRlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJlYWRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiB1c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRoZSBjdXJyZW50IG5vZGUgaXMgYSBuYW1lc3BhY2UgZGVjbGFyYXRpb24sIDAgaWYgaXQgaXMgYSByZWd1bGFyIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gb3Igb3RoZXIgdHlwZSBvZiBub2RlLCBvciAtMSBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFRleHRSZWFkZXJJc1ZhbGlkIiBpZD0ieG1sVGV4dFJlYWRlcklzVmFsaWQiPjwvYT5GdW5jdGlvbjogeG1sVGV4dFJlYWRlcklzVmFsaWQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFJlYWRlcklzVmFsaWQJCSg8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTxiciAvPgorPC9wcmU+PHA+UmV0cmlldmUgdGhlIHZhbGlkaXR5IHN0YXR1cyBmcm9tIHRoZSBwYXJzZXIgY29udGV4dDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJlYWRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiB1c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZmxhZyB2YWx1ZSAxIGlmIHZhbGlkLCAwIGlmIG5vLCBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFRleHRSZWFkZXJMb2NhbE5hbWUiIGlkPSJ4bWxUZXh0UmVhZGVyTG9jYWxOYW1lIj48L2E+RnVuY3Rpb246IHhtbFRleHRSZWFkZXJMb2NhbE5hbWU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxUZXh0UmVhZGVyTG9jYWxOYW1lCSg8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTxiciAvPgorPC9wcmU+PHA+VGhlIGxvY2FsIG5hbWUgb2YgdGhlIG5vZGUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVhZGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHVzZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsb2NhbCBuYW1lIG9yIE5VTEwgaWYgbm90IGF2YWlsYWJsZSwgaWYgbm9uIE5VTEwgaXQgbmVlZCB0byBiZSBmcmVlZCBieSB0aGUgY2FsbGVyLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFRleHRSZWFkZXJMb2NhdG9yQmFzZVVSSSIgaWQ9InhtbFRleHRSZWFkZXJMb2NhdG9yQmFzZVVSSSI+PC9hPkZ1bmN0aW9uOiB4bWxUZXh0UmVhZGVyTG9jYXRvckJhc2VVUkk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxUZXh0UmVhZGVyTG9jYXRvckJhc2VVUkkJKDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyTG9jYXRvclB0ciI+eG1sVGV4dFJlYWRlckxvY2F0b3JQdHI8L2E+IGxvY2F0b3IpPGJyIC8+Cis8L3ByZT48cD5PYnRhaW4gdGhlIGJhc2UgVVJJIGZvciB0aGUgZ2l2ZW4gbG9jYXRvci48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sb2NhdG9yPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJMb2NhdG9yUHRyIj54bWxUZXh0UmVhZGVyTG9jYXRvclB0cjwvYT4gdXNlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJhc2UgVVJJIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvciwgaWYgbm9uIE5VTEwgaXQgbmVlZCB0byBiZSBmcmVlZCBieSB0aGUgY2FsbGVyLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFRleHRSZWFkZXJMb2NhdG9yTGluZU51bWJlciIgaWQ9InhtbFRleHRSZWFkZXJMb2NhdG9yTGluZU51bWJlciI+PC9hPkZ1bmN0aW9uOiB4bWxUZXh0UmVhZGVyTG9jYXRvckxpbmVOdW1iZXI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFJlYWRlckxvY2F0b3JMaW5lTnVtYmVyCSg8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckxvY2F0b3JQdHIiPnhtbFRleHRSZWFkZXJMb2NhdG9yUHRyPC9hPiBsb2NhdG9yKTxiciAvPgorPC9wcmU+PHA+T2J0YWluIHRoZSBsaW5lIG51bWJlciBmb3IgdGhlIGdpdmVuIGxvY2F0b3IuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bG9jYXRvcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyTG9jYXRvclB0ciI+eG1sVGV4dFJlYWRlckxvY2F0b3JQdHI8L2E+IHVzZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsaW5lIG51bWJlciBvciAtMSBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFRleHRSZWFkZXJMb29rdXBOYW1lc3BhY2UiIGlkPSJ4bWxUZXh0UmVhZGVyTG9va3VwTmFtZXNwYWNlIj48L2E+RnVuY3Rpb246IHhtbFRleHRSZWFkZXJMb29rdXBOYW1lc3BhY2U8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxUZXh0UmVhZGVyTG9va3VwTmFtZXNwYWNlCSg8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyLCA8YnIgLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHJlZml4KTxiciAvPgorPC9wcmU+PHA+UmVzb2x2ZXMgYSBuYW1lc3BhY2UgcHJlZml4IGluIHRoZSBzY29wZSBvZiB0aGUgY3VycmVudCBlbGVtZW50LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJlYWRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiB1c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wcmVmaXg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwcmVmaXggd2hvc2UgbmFtZXNwYWNlIFVSSSBpcyB0byBiZSByZXNvbHZlZC4gVG8gcmV0dXJuIHRoZSBkZWZhdWx0IG5hbWVzcGFjZSwgc3BlY2lmeSBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHN0cmluZyBjb250YWluaW5nIHRoZSBuYW1lc3BhY2UgVVJJIHRvIHdoaWNoIHRoZSBwcmVmaXggbWFwcyBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuIFRoZSBzdHJpbmcgbXVzdCBiZSBkZWFsbG9jYXRlZCBieSB0aGUgY2FsbGVyLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFRleHRSZWFkZXJNb3ZlVG9BdHRyaWJ1dGUiIGlkPSJ4bWxUZXh0UmVhZGVyTW92ZVRvQXR0cmlidXRlIj48L2E+RnVuY3Rpb246IHhtbFRleHRSZWFkZXJNb3ZlVG9BdHRyaWJ1dGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFJlYWRlck1vdmVUb0F0dHJpYnV0ZQkoPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlciwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSk8YnIgLz4KKzwvcHJlPjxwPk1vdmVzIHRoZSBwb3NpdGlvbiBvZiB0aGUgY3VycmVudCBpbnN0YW5jZSB0byB0aGUgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiB3aXRoIHRoZSBzcGVjaWZpZWQgcXVhbGlmaWVkIG5hbWUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVhZGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHVzZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBxdWFsaWZpZWQgbmFtZSBvZiB0aGUgYXR0cmlidXRlLjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpbiBjYXNlIG9mIHN1Y2Nlc3MsIC0xIGluIGNhc2Ugb2YgZXJyb3IsIDAgaWYgbm90IGZvdW5kPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVGV4dFJlYWRlck1vdmVUb0F0dHJpYnV0ZU5vIiBpZD0ieG1sVGV4dFJlYWRlck1vdmVUb0F0dHJpYnV0ZU5vIj48L2E+RnVuY3Rpb246IHhtbFRleHRSZWFkZXJNb3ZlVG9BdHRyaWJ1dGVObzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0UmVhZGVyTW92ZVRvQXR0cmlidXRlTm8JKDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIsIDxiciAvPgkJCQkJIGludCBubyk8YnIgLz4KKzwvcHJlPjxwPk1vdmVzIHRoZSBwb3NpdGlvbiBvZiB0aGUgY3VycmVudCBpbnN0YW5jZSB0byB0aGUgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiB3aXRoIHRoZSBzcGVjaWZpZWQgaW5kZXggcmVsYXRpdmUgdG8gdGhlIGNvbnRhaW5pbmcgZWxlbWVudC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWFkZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gdXNlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm88L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB6ZXJvLWJhc2VkIGluZGV4IG9mIHRoZSA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IHJlbGF0aXZlIHRvIHRoZSBjb250YWluaW5nIGVsZW1lbnQuPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGluIGNhc2Ugb2Ygc3VjY2VzcywgLTEgaW4gY2FzZSBvZiBlcnJvciwgMCBpZiBub3QgZm91bmQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxUZXh0UmVhZGVyTW92ZVRvQXR0cmlidXRlTnMiIGlkPSJ4bWxUZXh0UmVhZGVyTW92ZVRvQXR0cmlidXRlTnMiPjwvYT5GdW5jdGlvbjogeG1sVGV4dFJlYWRlck1vdmVUb0F0dHJpYnV0ZU5zPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRleHRSZWFkZXJNb3ZlVG9BdHRyaWJ1dGVOcwkoPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlciwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbG9jYWxOYW1lLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lc3BhY2VVUkkpPGJyIC8+Cis8L3ByZT48cD5Nb3ZlcyB0aGUgcG9zaXRpb24gb2YgdGhlIGN1cnJlbnQgaW5zdGFuY2UgdG8gdGhlIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gd2l0aCB0aGUgc3BlY2lmaWVkIGxvY2FsIG5hbWUgYW5kIG5hbWVzcGFjZSBVUkkuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVhZGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHVzZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxvY2FsTmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxvY2FsIG5hbWUgb2YgdGhlIGF0dHJpYnV0ZS48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWVzcGFjZVVSSTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5hbWVzcGFjZSBVUkkgb2YgdGhlIGF0dHJpYnV0ZS48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaW4gY2FzZSBvZiBzdWNjZXNzLCAtMSBpbiBjYXNlIG9mIGVycm9yLCAwIGlmIG5vdCBmb3VuZDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFRleHRSZWFkZXJNb3ZlVG9FbGVtZW50IiBpZD0ieG1sVGV4dFJlYWRlck1vdmVUb0VsZW1lbnQiPjwvYT5GdW5jdGlvbjogeG1sVGV4dFJlYWRlck1vdmVUb0VsZW1lbnQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFJlYWRlck1vdmVUb0VsZW1lbnQJKDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIpPGJyIC8+Cis8L3ByZT48cD5Nb3ZlcyB0aGUgcG9zaXRpb24gb2YgdGhlIGN1cnJlbnQgaW5zdGFuY2UgdG8gdGhlIG5vZGUgdGhhdCBjb250YWlucyB0aGUgY3VycmVudCBBdHRyaWJ1dGUgbm9kZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWFkZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gdXNlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpbiBjYXNlIG9mIHN1Y2Nlc3MsIC0xIGluIGNhc2Ugb2YgZXJyb3IsIDAgaWYgbm90IG1vdmVkPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVGV4dFJlYWRlck1vdmVUb0ZpcnN0QXR0cmlidXRlIiBpZD0ieG1sVGV4dFJlYWRlck1vdmVUb0ZpcnN0QXR0cmlidXRlIj48L2E+RnVuY3Rpb246IHhtbFRleHRSZWFkZXJNb3ZlVG9GaXJzdEF0dHJpYnV0ZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0UmVhZGVyTW92ZVRvRmlyc3RBdHRyaWJ1dGUJKDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIpPGJyIC8+Cis8L3ByZT48cD5Nb3ZlcyB0aGUgcG9zaXRpb24gb2YgdGhlIGN1cnJlbnQgaW5zdGFuY2UgdG8gdGhlIGZpcnN0IDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gYXNzb2NpYXRlZCB3aXRoIHRoZSBjdXJyZW50IG5vZGUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVhZGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHVzZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaW4gY2FzZSBvZiBzdWNjZXNzLCAtMSBpbiBjYXNlIG9mIGVycm9yLCAwIGlmIG5vdCBmb3VuZDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFRleHRSZWFkZXJNb3ZlVG9OZXh0QXR0cmlidXRlIiBpZD0ieG1sVGV4dFJlYWRlck1vdmVUb05leHRBdHRyaWJ1dGUiPjwvYT5GdW5jdGlvbjogeG1sVGV4dFJlYWRlck1vdmVUb05leHRBdHRyaWJ1dGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFJlYWRlck1vdmVUb05leHRBdHRyaWJ1dGUJKDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIpPGJyIC8+Cis8L3ByZT48cD5Nb3ZlcyB0aGUgcG9zaXRpb24gb2YgdGhlIGN1cnJlbnQgaW5zdGFuY2UgdG8gdGhlIG5leHQgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBhc3NvY2lhdGVkIHdpdGggdGhlIGN1cnJlbnQgbm9kZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWFkZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gdXNlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpbiBjYXNlIG9mIHN1Y2Nlc3MsIC0xIGluIGNhc2Ugb2YgZXJyb3IsIDAgaWYgbm90IGZvdW5kPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVGV4dFJlYWRlck5hbWUiIGlkPSJ4bWxUZXh0UmVhZGVyTmFtZSI+PC9hPkZ1bmN0aW9uOiB4bWxUZXh0UmVhZGVyTmFtZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbFRleHRSZWFkZXJOYW1lCSg8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTxiciAvPgorPC9wcmU+PHA+VGhlIHF1YWxpZmllZCBuYW1lIG9mIHRoZSBub2RlLCBlcXVhbCB0byBQcmVmaXggOkxvY2FsTmFtZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWFkZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gdXNlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxvY2FsIG5hbWUgb3IgTlVMTCBpZiBub3QgYXZhaWxhYmxlLCBpZiBub24gTlVMTCBpdCBuZWVkIHRvIGJlIGZyZWVkIGJ5IHRoZSBjYWxsZXIuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVGV4dFJlYWRlck5hbWVzcGFjZVVyaSIgaWQ9InhtbFRleHRSZWFkZXJOYW1lc3BhY2VVcmkiPjwvYT5GdW5jdGlvbjogeG1sVGV4dFJlYWRlck5hbWVzcGFjZVVyaTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbFRleHRSZWFkZXJOYW1lc3BhY2VVcmkJKDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIpPGJyIC8+Cis8L3ByZT48cD5UaGUgVVJJIGRlZmluaW5nIHRoZSBuYW1lc3BhY2UgYXNzb2NpYXRlZCB3aXRoIHRoZSBub2RlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJlYWRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiB1c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZXNwYWNlIFVSSSBvciBOVUxMIGlmIG5vdCBhdmFpbGFibGUsIGlmIG5vbiBOVUxMIGl0IG5lZWQgdG8gYmUgZnJlZWQgYnkgdGhlIGNhbGxlci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxUZXh0UmVhZGVyTmV4dCIgaWQ9InhtbFRleHRSZWFkZXJOZXh0Ij48L2E+RnVuY3Rpb246IHhtbFRleHRSZWFkZXJOZXh0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRleHRSZWFkZXJOZXh0CQkoPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlcik8YnIgLz4KKzwvcHJlPjxwPlNraXAgdG8gdGhlIG5vZGUgZm9sbG93aW5nIHRoZSBjdXJyZW50IG9uZSBpbiBkb2N1bWVudCBvcmRlciB3aGlsZSBhdm9pZGluZyB0aGUgc3VidHJlZSBpZiBhbnkuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVhZGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHVzZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdGhlIG5vZGUgd2FzIHJlYWQgc3VjY2Vzc2Z1bGx5LCAwIGlmIHRoZXJlIGlzIG5vIG1vcmUgbm9kZXMgdG8gcmVhZCwgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFRleHRSZWFkZXJOZXh0U2libGluZyIgaWQ9InhtbFRleHRSZWFkZXJOZXh0U2libGluZyI+PC9hPkZ1bmN0aW9uOiB4bWxUZXh0UmVhZGVyTmV4dFNpYmxpbmc8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFJlYWRlck5leHRTaWJsaW5nCSg8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTxiciAvPgorPC9wcmU+PHA+U2tpcCB0byB0aGUgbm9kZSBmb2xsb3dpbmcgdGhlIGN1cnJlbnQgb25lIGluIGRvY3VtZW50IG9yZGVyIHdoaWxlIGF2b2lkaW5nIHRoZSBzdWJ0cmVlIGlmIGFueS4gQ3VycmVudGx5IGltcGxlbWVudGVkIG9ubHkgZm9yIFJlYWRlcnMgYnVpbHQgb24gYSBkb2N1bWVudDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJlYWRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiB1c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRoZSBub2RlIHdhcyByZWFkIHN1Y2Nlc3NmdWxseSwgMCBpZiB0aGVyZSBpcyBubyBtb3JlIG5vZGVzIHRvIHJlYWQsIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxUZXh0UmVhZGVyTm9kZVR5cGUiIGlkPSJ4bWxUZXh0UmVhZGVyTm9kZVR5cGUiPjwvYT5GdW5jdGlvbjogeG1sVGV4dFJlYWRlck5vZGVUeXBlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRleHRSZWFkZXJOb2RlVHlwZQkJKDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIpPGJyIC8+Cis8L3ByZT48cD5HZXQgdGhlIG5vZGUgdHlwZSBvZiB0aGUgY3VycmVudCBub2RlIFJlZmVyZW5jZTogaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2RvdGdudS9wbmV0bGliLWRvYy9TeXN0ZW0vWG1sL1htbE5vZGVUeXBlLmh0bWw8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWFkZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gdXNlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHhtbE5vZGVUeXBlIG9mIHRoZSBjdXJyZW50IG5vZGUgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFRleHRSZWFkZXJOb3JtYWxpemF0aW9uIiBpZD0ieG1sVGV4dFJlYWRlck5vcm1hbGl6YXRpb24iPjwvYT5GdW5jdGlvbjogeG1sVGV4dFJlYWRlck5vcm1hbGl6YXRpb248L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFJlYWRlck5vcm1hbGl6YXRpb24JKDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIpPGJyIC8+Cis8L3ByZT48cD5UaGUgdmFsdWUgaW5kaWNhdGluZyB3aGV0aGVyIHRvIG5vcm1hbGl6ZSB3aGl0ZSBzcGFjZSBhbmQgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiB2YWx1ZXMuIFNpbmNlIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gdmFsdWUgYW5kIGVuZCBvZiBsaW5lIG5vcm1hbGl6YXRpb25zIGFyZSBhIE1VU1QgaW4gdGhlIFhNTCBzcGVjaWZpY2F0aW9uIG9ubHkgdGhlIHZhbHVlIHRydWUgaXMgYWNjZXB0ZWQuIFRoZSBicm9rZW4gYmFoYXZpb3VyIG9mIGFjY2VwdGluZyBvdXQgb2YgcmFuZ2UgY2hhcmFjdGVyIGVudGl0aWVzIGxpa2UgJmFtcDsjMDsgaXMgb2YgY291cnNlIG5vdCBzdXBwb3J0ZWQgZWl0aGVyLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJlYWRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiB1c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVGV4dFJlYWRlclByZWZpeCIgaWQ9InhtbFRleHRSZWFkZXJQcmVmaXgiPjwvYT5GdW5jdGlvbjogeG1sVGV4dFJlYWRlclByZWZpeDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbFRleHRSZWFkZXJQcmVmaXgJKDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIpPGJyIC8+Cis8L3ByZT48cD5BIHNob3J0aGFuZCA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjcmVmZXJlbmNlIj5yZWZlcmVuY2U8L2E+IHRvIHRoZSBuYW1lc3BhY2UgYXNzb2NpYXRlZCB3aXRoIHRoZSBub2RlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJlYWRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiB1c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcHJlZml4IG9yIE5VTEwgaWYgbm90IGF2YWlsYWJsZSwgaWYgbm9uIE5VTEwgaXQgbmVlZCB0byBiZSBmcmVlZCBieSB0aGUgY2FsbGVyLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFRleHRSZWFkZXJQcmVzZXJ2ZSIgaWQ9InhtbFRleHRSZWFkZXJQcmVzZXJ2ZSI+PC9hPkZ1bmN0aW9uOiB4bWxUZXh0UmVhZGVyUHJlc2VydmU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CXhtbFRleHRSZWFkZXJQcmVzZXJ2ZQkoPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlcik8YnIgLz4KKzwvcHJlPjxwPlRoaXMgdGVsbHMgdGhlIFhNTCBSZWFkZXIgdG8gcHJlc2VydmUgdGhlIGN1cnJlbnQgbm9kZS4gVGhlIGNhbGxlciBtdXN0IGFsc28gdXNlIHhtbFRleHRSZWFkZXJDdXJyZW50RG9jKCkgdG8ga2VlcCBhbiBoYW5kbGUgb24gdGhlIHJlc3VsdGluZyBkb2N1bWVudCBvbmNlIHBhcnNpbmcgaGFzIGZpbmlzaGVkPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVhZGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHVzZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxUZXh0UmVhZGVyUHJlc2VydmVQYXR0ZXJuIiBpZD0ieG1sVGV4dFJlYWRlclByZXNlcnZlUGF0dGVybiI+PC9hPkZ1bmN0aW9uOiB4bWxUZXh0UmVhZGVyUHJlc2VydmVQYXR0ZXJuPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRleHRSZWFkZXJQcmVzZXJ2ZVBhdHRlcm4JKDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHBhdHRlcm4sIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqKiBuYW1lc3BhY2VzKTxiciAvPgorPC9wcmU+PHA+VGhpcyB0ZWxscyB0aGUgWE1MIFJlYWRlciB0byBwcmVzZXJ2ZSBhbGwgbm9kZXMgbWF0Y2hlZCBieSB0aGUgcGF0dGVybi4gVGhlIGNhbGxlciBtdXN0IGFsc28gdXNlIHhtbFRleHRSZWFkZXJDdXJyZW50RG9jKCkgdG8ga2VlcCBhbiBoYW5kbGUgb24gdGhlIHJlc3VsdGluZyBkb2N1bWVudCBvbmNlIHBhcnNpbmcgaGFzIGZpbmlzaGVkPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVhZGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHVzZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnBhdHRlcm48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhQYXRoIHN1YnNldCBwYXR0ZXJuPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lc3BhY2VzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcHJlZml4IGRlZmluaXRpb25zLCBhcnJheSBvZiBbVVJJLCBwcmVmaXhdIG9yIE5VTEw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9zaXRpdmUgbnVtYmVyIGluIGNhc2Ugb2Ygc3VjY2VzcyBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFRleHRSZWFkZXJRdW90ZUNoYXIiIGlkPSJ4bWxUZXh0UmVhZGVyUXVvdGVDaGFyIj48L2E+RnVuY3Rpb246IHhtbFRleHRSZWFkZXJRdW90ZUNoYXI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFJlYWRlclF1b3RlQ2hhcgkJKDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIpPGJyIC8+Cis8L3ByZT48cD5UaGUgcXVvdGF0aW9uIG1hcmsgY2hhcmFjdGVyIHVzZWQgdG8gZW5jbG9zZSB0aGUgdmFsdWUgb2YgYW4gYXR0cmlidXRlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJlYWRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiB1c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4iIG9yICcgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxUZXh0UmVhZGVyUmVhZCIgaWQ9InhtbFRleHRSZWFkZXJSZWFkIj48L2E+RnVuY3Rpb246IHhtbFRleHRSZWFkZXJSZWFkPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRleHRSZWFkZXJSZWFkCQkoPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlcik8YnIgLz4KKzwvcHJlPjxwPk1vdmVzIHRoZSBwb3NpdGlvbiBvZiB0aGUgY3VycmVudCBpbnN0YW5jZSB0byB0aGUgbmV4dCBub2RlIGluIHRoZSBzdHJlYW0sIGV4cG9zaW5nIGl0cyBwcm9wZXJ0aWVzLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJlYWRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiB1c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRoZSBub2RlIHdhcyByZWFkIHN1Y2Nlc3NmdWxseSwgMCBpZiB0aGVyZSBpcyBubyBtb3JlIG5vZGVzIHRvIHJlYWQsIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxUZXh0UmVhZGVyUmVhZEF0dHJpYnV0ZVZhbHVlIiBpZD0ieG1sVGV4dFJlYWRlclJlYWRBdHRyaWJ1dGVWYWx1ZSI+PC9hPkZ1bmN0aW9uOiB4bWxUZXh0UmVhZGVyUmVhZEF0dHJpYnV0ZVZhbHVlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRleHRSZWFkZXJSZWFkQXR0cmlidXRlVmFsdWUJKDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIpPGJyIC8+Cis8L3ByZT48cD5QYXJzZXMgYW4gPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiB2YWx1ZSBpbnRvIG9uZSBvciBtb3JlIFRleHQgYW5kIEVudGl0eVJlZmVyZW5jZSBub2Rlcy48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWFkZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gdXNlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpbiBjYXNlIG9mIHN1Y2Nlc3MsIDAgaWYgdGhlIHJlYWRlciB3YXMgbm90IHBvc2l0aW9ubmVkIG9uIGFuIHR0cmlidXRlIG5vZGUgb3IgYWxsIHRoZSA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IHZhbHVlcyBoYXZlIGJlZW4gcmVhZCwgb3IgLTEgaW4gY2FzZSBvZiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxUZXh0UmVhZGVyUmVhZElubmVyWG1sIiBpZD0ieG1sVGV4dFJlYWRlclJlYWRJbm5lclhtbCI+PC9hPkZ1bmN0aW9uOiB4bWxUZXh0UmVhZGVyUmVhZElubmVyWG1sPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sVGV4dFJlYWRlclJlYWRJbm5lclhtbAkoPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlcik8YnIgLz4KKzwvcHJlPjxwPlJlYWRzIHRoZSBjb250ZW50cyBvZiB0aGUgY3VycmVudCBub2RlLCBpbmNsdWRpbmcgY2hpbGQgbm9kZXMgYW5kIG1hcmt1cC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWFkZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gdXNlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBzdHJpbmcgY29udGFpbmluZyB0aGUgWE1MIGNvbnRlbnQsIG9yIE5VTEwgaWYgdGhlIGN1cnJlbnQgbm9kZSBpcyBuZWl0aGVyIGFuIGVsZW1lbnQgbm9yIGF0dHJpYnV0ZSwgb3IgaGFzIG5vIGNoaWxkIG5vZGVzLiBUaGUgc3RyaW5nIG11c3QgYmUgZGVhbGxvY2F0ZWQgYnkgdGhlIGNhbGxlci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxUZXh0UmVhZGVyUmVhZE91dGVyWG1sIiBpZD0ieG1sVGV4dFJlYWRlclJlYWRPdXRlclhtbCI+PC9hPkZ1bmN0aW9uOiB4bWxUZXh0UmVhZGVyUmVhZE91dGVyWG1sPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sVGV4dFJlYWRlclJlYWRPdXRlclhtbAkoPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlcik8YnIgLz4KKzwvcHJlPjxwPlJlYWRzIHRoZSBjb250ZW50cyBvZiB0aGUgY3VycmVudCBub2RlLCBpbmNsdWRpbmcgY2hpbGQgbm9kZXMgYW5kIG1hcmt1cC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWFkZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gdXNlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBzdHJpbmcgY29udGFpbmluZyB0aGUgbm9kZSBhbmQgYW55IFhNTCBjb250ZW50LCBvciBOVUxMIGlmIHRoZSBjdXJyZW50IG5vZGUgY2Fubm90IGJlIHNlcmlhbGl6ZWQuIFRoZSBzdHJpbmcgbXVzdCBiZSBkZWFsbG9jYXRlZCBieSB0aGUgY2FsbGVyLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFRleHRSZWFkZXJSZWFkU3RhdGUiIGlkPSJ4bWxUZXh0UmVhZGVyUmVhZFN0YXRlIj48L2E+RnVuY3Rpb246IHhtbFRleHRSZWFkZXJSZWFkU3RhdGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFJlYWRlclJlYWRTdGF0ZQkJKDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIpPGJyIC8+Cis8L3ByZT48cD5HZXRzIHRoZSByZWFkIHN0YXRlIG9mIHRoZSByZWFkZXIuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVhZGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHVzZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzdGF0ZSB2YWx1ZSwgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFRleHRSZWFkZXJSZWFkU3RyaW5nIiBpZD0ieG1sVGV4dFJlYWRlclJlYWRTdHJpbmciPjwvYT5GdW5jdGlvbjogeG1sVGV4dFJlYWRlclJlYWRTdHJpbmc8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxUZXh0UmVhZGVyUmVhZFN0cmluZwkoPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlcik8YnIgLz4KKzwvcHJlPjxwPlJlYWRzIHRoZSBjb250ZW50cyBvZiBhbiBlbGVtZW50IG9yIGEgdGV4dCBub2RlIGFzIGEgc3RyaW5nLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJlYWRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiB1c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHN0cmluZyBjb250YWluaW5nIHRoZSBjb250ZW50cyBvZiB0aGUgRWxlbWVudCBvciBUZXh0IG5vZGUsIG9yIE5VTEwgaWYgdGhlIHJlYWRlciBpcyBwb3NpdGlvbmVkIG9uIGFueSBvdGhlciB0eXBlIG9mIG5vZGUuIFRoZSBzdHJpbmcgbXVzdCBiZSBkZWFsbG9jYXRlZCBieSB0aGUgY2FsbGVyLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFRleHRSZWFkZXJSZWxheE5HU2V0U2NoZW1hIiBpZD0ieG1sVGV4dFJlYWRlclJlbGF4TkdTZXRTY2hlbWEiPjwvYT5GdW5jdGlvbjogeG1sVGV4dFJlYWRlclJlbGF4TkdTZXRTY2hlbWE8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFJlYWRlclJlbGF4TkdTZXRTY2hlbWEJKDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1B0ciI+eG1sUmVsYXhOR1B0cjwvYT4gc2NoZW1hKTxiciAvPgorPC9wcmU+PHA+VXNlIFJlbGF4TkcgdG8gdmFsaWRhdGUgdGhlIGRvY3VtZW50IGFzIGl0IGlzIHByb2Nlc3NlZC4gQWN0aXZhdGlvbiBpcyBvbmx5IHBvc3NpYmxlIGJlZm9yZSB0aGUgZmlyc3QgUmVhZCgpLiBpZiBAc2NoZW1hIGlzIE5VTEwsIHRoZW4gUmVsYXhORyB2YWxpZGF0aW9uIGlzIGRlc2FjdGl2YXRlZC4gQCBUaGUgQHNjaGVtYSBzaG91bGQgbm90IGJlIGZyZWVkIHVudGlsIHRoZSByZWFkZXIgaXMgZGVhbGxvY2F0ZWQgb3IgaXRzIHVzZSBoYXMgYmVlbiBkZWFjdGl2YXRlZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWFkZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gdXNlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2NoZW1hPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHByZWNvbXBpbGVkIFJlbGF4Tkcgc2NoZW1hPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGluIGNhc2UgdGhlIFJlbGF4TkcgdmFsaWRhdGlvbiBjb3VsZCBiZSAoZGVzKWFjdGl2YXRlZCBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxUZXh0UmVhZGVyUmVsYXhOR1ZhbGlkYXRlIiBpZD0ieG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZSI+PC9hPkZ1bmN0aW9uOiB4bWxUZXh0UmVhZGVyUmVsYXhOR1ZhbGlkYXRlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRleHRSZWFkZXJSZWxheE5HVmFsaWRhdGUJKDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBybmcpPGJyIC8+Cis8L3ByZT48cD5Vc2UgUmVsYXhORyBzY2hlbWEgdG8gdmFsaWRhdGUgdGhlIGRvY3VtZW50IGFzIGl0IGlzIHByb2Nlc3NlZC4gQWN0aXZhdGlvbiBpcyBvbmx5IHBvc3NpYmxlIGJlZm9yZSB0aGUgZmlyc3QgUmVhZCgpLiBJZiBAcm5nIGlzIE5VTEwsIHRoZW4gUmVsYXhORyBzY2hlbWEgdmFsaWRhdGlvbiBpcyBkZWFjdGl2YXRlZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWFkZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gdXNlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cm5nPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcGF0aCB0byBhIFJlbGF4Tkcgc2NoZW1hIG9yIE5VTEw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaW4gY2FzZSB0aGUgc2NoZW1hcyB2YWxpZGF0aW9uIGNvdWxkIGJlIChkZSlhY3RpdmF0ZWQgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZUN0eHQiIGlkPSJ4bWxUZXh0UmVhZGVyUmVsYXhOR1ZhbGlkYXRlQ3R4dCI+PC9hPkZ1bmN0aW9uOiB4bWxUZXh0UmVhZGVyUmVsYXhOR1ZhbGlkYXRlQ3R4dDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0UmVhZGVyUmVsYXhOR1ZhbGlkYXRlQ3R4dAkoPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlciwgPGJyIC8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0ciI+eG1sUmVsYXhOR1ZhbGlkQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkJIGludCBvcHRpb25zKTxiciAvPgorPC9wcmU+PHA+VXNlIFJlbGF4Tkcgc2NoZW1hIGNvbnRleHQgdG8gdmFsaWRhdGUgdGhlIGRvY3VtZW50IGFzIGl0IGlzIHByb2Nlc3NlZC4gQWN0aXZhdGlvbiBpcyBvbmx5IHBvc3NpYmxlIGJlZm9yZSB0aGUgZmlyc3QgUmVhZCgpLiBJZiBAY3R4dCBpcyBOVUxMLCB0aGVuIFJlbGF4Tkcgc2NoZW1hIHZhbGlkYXRpb24gaXMgZGVhY3RpdmF0ZWQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVhZGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHVzZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBSZWxheE5HIHNjaGVtYSB2YWxpZGF0aW9uIGNvbnRleHQgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3B0aW9uczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+b3B0aW9ucyAobm90IHVzZWQgeWV0KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpbiBjYXNlIHRoZSBzY2hlbWFzIHZhbGlkYXRpb24gY291bGQgYmUgKGRlKWFjdGl2YXRlZCBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxUZXh0UmVhZGVyU2NoZW1hVmFsaWRhdGUiIGlkPSJ4bWxUZXh0UmVhZGVyU2NoZW1hVmFsaWRhdGUiPjwvYT5GdW5jdGlvbjogeG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZQkoPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlciwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIHhzZCk8YnIgLz4KKzwvcHJlPjxwPlVzZSBXM0MgWFNEIHNjaGVtYSB0byB2YWxpZGF0ZSB0aGUgZG9jdW1lbnQgYXMgaXQgaXMgcHJvY2Vzc2VkLiBBY3RpdmF0aW9uIGlzIG9ubHkgcG9zc2libGUgYmVmb3JlIHRoZSBmaXJzdCBSZWFkKCkuIElmIEB4c2QgaXMgTlVMTCwgdGhlbiBYTUwgU2NoZW1hIHZhbGlkYXRpb24gaXMgZGVhY3RpdmF0ZWQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVhZGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHVzZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnhzZDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHBhdGggdG8gYSBXM0MgWFNEIHNjaGVtYSBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGluIGNhc2UgdGhlIHNjaGVtYXMgdmFsaWRhdGlvbiBjb3VsZCBiZSAoZGUpYWN0aXZhdGVkIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZUN0eHQiIGlkPSJ4bWxUZXh0UmVhZGVyU2NoZW1hVmFsaWRhdGVDdHh0Ij48L2E+RnVuY3Rpb246IHhtbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZUN0eHQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlQ3R4dAkoPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlciwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZEN0eHRQdHIiPnhtbFNjaGVtYVZhbGlkQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgaW50IG9wdGlvbnMpPGJyIC8+Cis8L3ByZT48cD5Vc2UgVzNDIFhTRCBzY2hlbWEgY29udGV4dCB0byB2YWxpZGF0ZSB0aGUgZG9jdW1lbnQgYXMgaXQgaXMgcHJvY2Vzc2VkLiBBY3RpdmF0aW9uIGlzIG9ubHkgcG9zc2libGUgYmVmb3JlIHRoZSBmaXJzdCBSZWFkKCkuIElmIEBjdHh0IGlzIE5VTEwsIHRoZW4gWE1MIFNjaGVtYSB2YWxpZGF0aW9uIGlzIGRlYWN0aXZhdGVkLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJlYWRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiB1c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWE1MIFNjaGVtYSB2YWxpZGF0aW9uIGNvbnRleHQgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3B0aW9uczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+b3B0aW9ucyAobm90IHVzZWQgeWV0KTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpbiBjYXNlIHRoZSBzY2hlbWFzIHZhbGlkYXRpb24gY291bGQgYmUgKGRlKWFjdGl2YXRlZCBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxUZXh0UmVhZGVyU2V0RXJyb3JIYW5kbGVyIiBpZD0ieG1sVGV4dFJlYWRlclNldEVycm9ySGFuZGxlciI+PC9hPkZ1bmN0aW9uOiB4bWxUZXh0UmVhZGVyU2V0RXJyb3JIYW5kbGVyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxUZXh0UmVhZGVyU2V0RXJyb3JIYW5kbGVyCSg8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckVycm9yRnVuYyI+eG1sVGV4dFJlYWRlckVycm9yRnVuYzwvYT4gZiwgPGJyIC8+CQkJCQkgdm9pZCAqIGFyZyk8YnIgLz4KKzwvcHJlPjxwPlJlZ2lzdGVyIGEgY2FsbGJhY2sgZnVuY3Rpb24gdGhhdCB3aWxsIGJlIGNhbGxlZCBvbiBlcnJvciBhbmQgd2FybmluZ3MuIElmIEBmIGlzIE5VTEwsIHRoZSBkZWZhdWx0IGVycm9yIGFuZCB3YXJuaW5nIGhhbmRsZXJzIGFyZSByZXN0b3JlZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWFkZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gdXNlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGNhbGxiYWNrIGZ1bmN0aW9uIHRvIGNhbGwgb24gZXJyb3IgYW5kIHdhcm5pbmdzPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5hcmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgdXNlciBhcmd1bWVudCB0byBwYXNzIHRvIHRoZSBjYWxsYmFjayBmdW5jdGlvbjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFRleHRSZWFkZXJTZXRQYXJzZXJQcm9wIiBpZD0ieG1sVGV4dFJlYWRlclNldFBhcnNlclByb3AiPjwvYT5GdW5jdGlvbjogeG1sVGV4dFJlYWRlclNldFBhcnNlclByb3A8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFJlYWRlclNldFBhcnNlclByb3AJKDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiByZWFkZXIsIDxiciAvPgkJCQkJIGludCBwcm9wLCA8YnIgLz4JCQkJCSBpbnQgdmFsdWUpPGJyIC8+Cis8L3ByZT48cD5DaGFuZ2UgdGhlIHBhcnNlciBwcm9jZXNzaW5nIGJlaGF2aW91ciBieSBjaGFuZ2luZyBzb21lIG9mIGl0cyBpbnRlcm5hbCBwcm9wZXJ0aWVzLiBOb3RlIHRoYXQgc29tZSBwcm9wZXJ0aWVzIGNhbiBvbmx5IGJlIGNoYW5nZWQgYmVmb3JlIGFueSByZWFkIGhhcyBiZWVuIGRvbmUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVhZGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHVzZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnByb3A8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sUGFyc2VyUHJvcGVydGllcyI+eG1sUGFyc2VyUHJvcGVydGllczwvYT4gdG8gc2V0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWx1ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dXN1YWxseSAwIG9yIDEgdG8gKGRlKWFjdGl2YXRlIGl0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGlmIHRoZSBjYWxsIHdhcyBzdWNjZXNzZnVsLCBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVGV4dFJlYWRlclNldFNjaGVtYSIgaWQ9InhtbFRleHRSZWFkZXJTZXRTY2hlbWEiPjwvYT5GdW5jdGlvbjogeG1sVGV4dFJlYWRlclNldFNjaGVtYTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0UmVhZGVyU2V0U2NoZW1hCQkoPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlciwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFQdHIiPnhtbFNjaGVtYVB0cjwvYT4gc2NoZW1hKTxiciAvPgorPC9wcmU+PHA+VXNlIFhTRCBTY2hlbWEgdG8gdmFsaWRhdGUgdGhlIGRvY3VtZW50IGFzIGl0IGlzIHByb2Nlc3NlZC4gQWN0aXZhdGlvbiBpcyBvbmx5IHBvc3NpYmxlIGJlZm9yZSB0aGUgZmlyc3QgUmVhZCgpLiBpZiBAc2NoZW1hIGlzIE5VTEwsIHRoZW4gU2NoZW1hIHZhbGlkYXRpb24gaXMgZGVzYWN0aXZhdGVkLiBAIFRoZSBAc2NoZW1hIHNob3VsZCBub3QgYmUgZnJlZWQgdW50aWwgdGhlIHJlYWRlciBpcyBkZWFsbG9jYXRlZCBvciBpdHMgdXNlIGhhcyBiZWVuIGRlYWN0aXZhdGVkLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJlYWRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiB1c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zY2hlbWE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcHJlY29tcGlsZWQgU2NoZW1hIHNjaGVtYTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpbiBjYXNlIHRoZSBTY2hlbWEgdmFsaWRhdGlvbiBjb3VsZCBiZSAoZGVzKWFjdGl2YXRlZCBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxUZXh0UmVhZGVyU2V0U3RydWN0dXJlZEVycm9ySGFuZGxlciIgaWQ9InhtbFRleHRSZWFkZXJTZXRTdHJ1Y3R1cmVkRXJyb3JIYW5kbGVyIj48L2E+RnVuY3Rpb246IHhtbFRleHRSZWFkZXJTZXRTdHJ1Y3R1cmVkRXJyb3JIYW5kbGVyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxUZXh0UmVhZGVyU2V0U3RydWN0dXJlZEVycm9ySGFuZGxlcgkoPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlciwgPGJyIC8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxlcnJvci5odG1sI3htbFN0cnVjdHVyZWRFcnJvckZ1bmMiPnhtbFN0cnVjdHVyZWRFcnJvckZ1bmM8L2E+IGYsIDxiciAvPgkJCQkJCSB2b2lkICogYXJnKTxiciAvPgorPC9wcmU+PHA+UmVnaXN0ZXIgYSBjYWxsYmFjayBmdW5jdGlvbiB0aGF0IHdpbGwgYmUgY2FsbGVkIG9uIGVycm9yIGFuZCB3YXJuaW5ncy4gSWYgQGYgaXMgTlVMTCwgdGhlIGRlZmF1bHQgZXJyb3IgYW5kIHdhcm5pbmcgaGFuZGxlcnMgYXJlIHJlc3RvcmVkLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJlYWRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiB1c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY2FsbGJhY2sgZnVuY3Rpb24gdG8gY2FsbCBvbiBlcnJvciBhbmQgd2FybmluZ3M8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmFyZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSB1c2VyIGFyZ3VtZW50IHRvIHBhc3MgdG8gdGhlIGNhbGxiYWNrIGZ1bmN0aW9uPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVGV4dFJlYWRlclNldHVwIiBpZD0ieG1sVGV4dFJlYWRlclNldHVwIj48L2E+RnVuY3Rpb246IHhtbFRleHRSZWFkZXJTZXR1cDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0UmVhZGVyU2V0dXAJCSg8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyUHRyIj54bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cjwvYT4gaW5wdXQsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBVUkwsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyIC8+CQkJCQkgaW50IG9wdGlvbnMpPGJyIC8+Cis8L3ByZT48cD5TZXR1cCBhbiBYTUwgcmVhZGVyIHdpdGggbmV3IG9wdGlvbnM8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZWFkZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhNTCByZWFkZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmlucHV0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyUHRyIj54bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cjwvYT4gdXNlZCB0byBmZWVkIHRoZSByZWFkZXIsIHdpbGwgYmUgZGVzdHJveWVkIHdpdGggaXQuPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5VUkw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBiYXNlIFVSTCB0byB1c2UgZm9yIHRoZSBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jb2Rpbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3B0aW9uczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBjb21iaW5hdGlvbiBvZiA8YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VyT3B0aW9uIj54bWxQYXJzZXJPcHRpb248L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGluIGNhc2Ugb2Ygc3VjY2VzcyBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxUZXh0UmVhZGVyU3RhbmRhbG9uZSIgaWQ9InhtbFRleHRSZWFkZXJTdGFuZGFsb25lIj48L2E+RnVuY3Rpb246IHhtbFRleHRSZWFkZXJTdGFuZGFsb25lPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRleHRSZWFkZXJTdGFuZGFsb25lCQkoPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHJlYWRlcik8YnIgLz4KKzwvcHJlPjxwPkRldGVybWluZSB0aGUgc3RhbmRhbG9uZSBzdGF0dXMgb2YgdGhlIGRvY3VtZW50IGJlaW5nIHJlYWQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVhZGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHIiPnhtbFRleHRSZWFkZXJQdHI8L2E+IHVzZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdGhlIGRvY3VtZW50IHdhcyBkZWNsYXJlZCB0byBiZSBzdGFuZGFsb25lLCAwIGlmIGl0IHdhcyBkZWNsYXJlZCB0byBiZSBub3Qgc3RhbmRhbG9uZSwgb3IgLTEgaWYgdGhlIGRvY3VtZW50IGRpZCBub3Qgc3BlY2lmeSBpdHMgc3RhbmRhbG9uZSBzdGF0dXMgb3IgaW4gY2FzZSBvZiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxUZXh0UmVhZGVyVmFsdWUiIGlkPSJ4bWxUZXh0UmVhZGVyVmFsdWUiPjwvYT5GdW5jdGlvbjogeG1sVGV4dFJlYWRlclZhbHVlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sVGV4dFJlYWRlclZhbHVlCSg8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTxiciAvPgorPC9wcmU+PHA+UHJvdmlkZXMgdGhlIHRleHQgdmFsdWUgb2YgdGhlIG5vZGUgaWYgcHJlc2VudDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJlYWRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiB1c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc3RyaW5nIG9yIE5VTEwgaWYgbm90IGF2YWlsYWJsZS4gVGhlIHJlc3VsdCBtdXN0IGJlIGRlYWxsb2NhdGVkIHdpdGggeG1sRnJlZSgpPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVGV4dFJlYWRlclhtbExhbmciIGlkPSJ4bWxUZXh0UmVhZGVyWG1sTGFuZyI+PC9hPkZ1bmN0aW9uOiB4bWxUZXh0UmVhZGVyWG1sTGFuZzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbFRleHRSZWFkZXJYbWxMYW5nCSg8YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciI+eG1sVGV4dFJlYWRlclB0cjwvYT4gcmVhZGVyKTxiciAvPgorPC9wcmU+PHA+VGhlIHhtbDpsYW5nIHNjb3BlIHdpdGhpbiB3aGljaCB0aGUgbm9kZSByZXNpZGVzLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJlYWRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHRyIj54bWxUZXh0UmVhZGVyUHRyPC9hPiB1c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgeG1sOmxhbmcgdmFsdWUgb3IgTlVMTCBpZiBub25lIGV4aXN0cy4sIGlmIG5vbiBOVUxMIGl0IG5lZWQgdG8gYmUgZnJlZWQgYnkgdGhlIGNhbGxlci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxwPjxhIGhyZWY9Ii4uL2J1Z3MuaHRtbCI+RGFuaWVsIFZlaWxsYXJkPC9hPjwvcD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwgYi9saWJ4bWwyL2RvYy9odG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZGRhNjk5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvaHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwKQEAgLTAsMCArMSwxNDMgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+PGxpbmsgcmVsPSJTSE9SVENVVCBJQ09OIiBocmVmPSIvZmF2aWNvbi5pY28iIC8+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK1REIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitCT0RZIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2E7IG1hcmdpbi10b3A6IDJlbTsgbWFyZ2luLWxlZnQ6IDBlbTsgbWFyZ2luLXJpZ2h0OiAwZW19CitIMSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDIge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gzIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitBOmxpbmssIEE6dmlzaXRlZCwgQTphY3RpdmUgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB9Cis8L3N0eWxlPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAgICBkaXYuZGVwcmVjYXRlZCBwcmUucHJvZ3JhbWxpc3Rpbmcge2JvcmRlci1zdHlsZTogZG91YmxlO2JvcmRlci1jb2xvcjpyZWR9CisgICAgICBwcmUucHJvZ3JhbWxpc3Rpbmcge2JvcmRlci1zdHlsZTogZG91YmxlO2JhY2tncm91bmQ6ICNFRUNGQTF9CisgICAgPC9zdHlsZT48dGl0bGU+TW9kdWxlIHhtbHJlZ2V4cCBmcm9tIGxpYnhtbDI8L3RpdGxlPjwvaGVhZD48Ym9keSBiZ2NvbG9yPSIjOGI3NzY1IiB0ZXh0PSIjMDAwMDAwIiBsaW5rPSIjYTA2MDYwIiB2bGluaz0iIzAwMDAwMCI+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjEwMCUiIGNlbGxwYWRkaW5nPSI1IiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCB3aWR0aD0iMTIwIj48YSBocmVmPSJodHRwOi8vc3dwYXQuZmZpaS5vcmcvIj48aW1nIHNyYz0iLi4vZXBhdGVudHMucG5nIiBhbHQ9IkFjdGlvbiBhZ2FpbnN0IHNvZnR3YXJlIHBhdGVudHMiIC8+PC9hPjwvdGQ+PHRkIHdpZHRoPSIxODAiPjxhIGhyZWY9Imh0dHA6Ly93d3cuZ25vbWUub3JnLyI+PGltZyBzcmM9Ii4uL2dub21lMi5wbmciIGFsdD0iR25vbWUyIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1N0YXR1cyI+PGltZyBzcmM9Ii4uL3czYy5wbmciIGFsdD0iVzNDIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cucmVkaGF0LmNvbS8iPjxpbWcgc3JjPSIuLi9yZWRoYXQuZ2lmIiBhbHQ9IlJlZCBIYXQgTG9nbyIgLz48L2E+PGRpdiBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnLyI+PGltZyBzcmM9Ii4uL0xpYnhtbDItTG9nby0xODB4MTY4LmdpZiIgYWx0PSJNYWRlIHdpdGggTGlieG1sMiBMb2dvIiAvPjwvYT48L2Rpdj48L3RkPjx0ZD48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iOTAlIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyIgYmdjb2xvcj0iI2ZmZmFjZCI+PHRyPjx0ZCBhbGlnbj0iY2VudGVyIj48aDE+PC9oMT48aDI+TW9kdWxlIHhtbHJlZ2V4cCBmcm9tIGxpYnhtbDI8L2gyPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI0IiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCB2YWxpZ249InRvcCIgd2lkdGg9IjIwMCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+QVBJIE1lbnU8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PGZvcm0gYWN0aW9uPSIuLi9zZWFyY2gucGhwIiBlbmN0eXBlPSJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiIG1ldGhvZD0iZ2V0Ij48aW5wdXQgbmFtZT0icXVlcnkiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iIiAvPjxpbnB1dCBuYW1lPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNlYXJjaCAuLi4iIC8+PC9mb3JtPjx1bD48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9Ii4uL2luZGV4Lmh0bWwiPk1haW4gTWVudTwvYT48L2xpPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iLi4vZG9jcy5odG1sIj5EZXZlbG9wZXIgTWVudTwvYT48L2xpPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iLi4vZXhhbXBsZXMvaW5kZXguaHRtbCI+Q29kZSBFeGFtcGxlczwvYT48L2xpPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iaW5kZXguaHRtbCI+QVBJIE1lbnU8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXBhcnNlci5odG1sIj5QYXJzZXIgQVBJPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwiPlRyZWUgQVBJPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCI+UmVhZGVyIEFQSTwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9ndWlkZWxpbmVzLmh0bWwiPlhNTCBHdWlkZWxpbmVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0NoYW5nZUxvZy5odG1sIj5DaGFuZ2VMb2c8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5BUEkgSW5kZXhlczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9Ii4uL0FQSWNodW5rMC5odG1sIj5BbHBoYWJldGljPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSWNvbnN0cnVjdG9ycy5odG1sIj5Db25zdHJ1Y3RvcnM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJZnVuY3Rpb25zLmh0bWwiPkZ1bmN0aW9ucy9UeXBlczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUElmaWxlcy5odG1sIj5Nb2R1bGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSXN5bWJvbHMuaHRtbCI+U3ltYm9sczwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPlJlbGF0ZWQgbGlua3M8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSJodHRwOi8vbWFpbC5nbm9tZS5vcmcvYXJjaGl2ZXMveG1sLyI+TWFpbCBhcmNoaXZlPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9YU0xULyI+WFNMVCBsaWJ4c2x0PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9waGQuY3MudW5pYm8uaXQvZ2RvbWUyLyI+RE9NIGdkb21lMjwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmFsZWtzZXkuY29tL3htbHNlYy8iPlhNTC1EU2lnIHhtbHNlYzwvYT48L2xpPjxsaT48YSBocmVmPSJmdHA6Ly94bWxzb2Z0Lm9yZy8iPkZUUDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnpsYXRrb3ZpYy5jb20vcHJvamVjdHMvbGlieG1sLyI+V2luZG93cyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vb3BlbmNzdy5vcmcvcGFja2FnZXMvbGlieG1sMiI+U29sYXJpcyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmV4cGxhaW4uY29tLmF1L29zcy9saWJ4bWwyeHNsdC5odG1sIj5NYWNPc1ggYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2x4bWwuZGUvIj5seG1sIFB5dGhvbiBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vY3Bhbi51d2lubmlwZWcuY2EvZGlzdC9YTUwtTGliWE1MIj5QZXJsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWxwbHVzcGx1cy5zb3VyY2Vmb3JnZS5uZXQvIj5DKysgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56ZW5kLmNvbS9waHA1L2FydGljbGVzL3BocDUteG1scGhwLnBocCNIZWFkaW5nNCI+UEhQIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbGlieG1sMi1wYXMvIj5QYXNjYWwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbC5ydWJ5Zm9yZ2Uub3JnLyI+UnVieSBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vdGNseG1sLnNvdXJjZWZvcmdlLm5ldC8iPlRjbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2J1Z2xpc3QuY2dpP3Byb2R1Y3Q9bGlieG1sMiI+QnVnIFRyYWNrZXI8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dGFibGUgY2xhc3M9Im5hdmlnYXRpb24iIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIyIj48dHIgdmFsaWduPSJtaWRkbGUiPjx0ZD48YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCI+PGltZyBzcmM9ImxlZnQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJQcmV2IiAvPjwvYT48L3RkPjx0aCBhbGlnbj0ibGVmdCI+PGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sIj54bWxyZWFkZXI8L2E+PC90aD48dGQ+PGEgYWNjZXNza2V5PSJ1IiBocmVmPSJpbmRleC5odG1sIj48aW1nIHNyYz0idXAucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJVcCIgLz48L2E+PC90ZD48dGggYWxpZ249ImxlZnQiPjxhIGhyZWY9ImluZGV4Lmh0bWwiPkFQSSBkb2N1bWVudGF0aW9uPC9hPjwvdGg+PHRkPjxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iLi4vaW5kZXguaHRtbCI+PGltZyBzcmM9ImhvbWUucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJIb21lIiAvPjwvYT48L3RkPjx0aCBhbGlnbj0iY2VudGVyIj48YSBocmVmPSIuLi9pbmRleC5odG1sIj5UaGUgWE1MIEMgcGFyc2VyIGFuZCB0b29sa2l0IG9mIEdub21lPC9hPjwvdGg+PHRoIGFsaWduPSJyaWdodCI+PGEgaHJlZj0ibGlieG1sLXhtbHNhdmUuaHRtbCI+eG1sc2F2ZTwvYT48L3RoPjx0ZD48YSBhY2Nlc3NrZXk9Im4iIGhyZWY9ImxpYnhtbC14bWxzYXZlLmh0bWwiPjxpbWcgc3JjPSJyaWdodC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9Ik5leHQiIC8+PC9hPjwvdGQ+PC90cj48L3RhYmxlPjxwPmJhc2ljIEFQSSBmb3IgbGlieG1sIHJlZ3VsYXIgZXhwcmVzc2lvbnMgaGFuZGxpbmcgdXNlZCBmb3IgWE1MIFNjaGVtYXMgYW5kIHZhbGlkYXRpb24uIDwvcD48aDI+VGFibGUgb2YgQ29udGVudHM8L2gyPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgPGEgaHJlZj0iI3htbEV4cEN0eHQiPnhtbEV4cEN0eHQ8L2E+PGJyIC8+c3RydWN0IF94bWxFeHBDdHh0CitUaGUgY29udGVudCBvZiB0aGlzIHN0cnVjdHVyZSBpcyBub3QgbWFkZSBwdWJsaWMgYnkgdGhlIEFQSS4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5UeXBlZGVmIDxhIGhyZWY9ImxpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBDdHh0Ij54bWxFeHBDdHh0PC9hPiAqIDxhIG5hbWU9InhtbEV4cEN0eHRQdHIiIGlkPSJ4bWxFeHBDdHh0UHRyIj54bWxFeHBDdHh0UHRyPC9hPgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlN0cnVjdHVyZSA8YSBocmVmPSIjeG1sRXhwTm9kZSI+eG1sRXhwTm9kZTwvYT48YnIgLz5zdHJ1Y3QgX3htbEV4cE5vZGUKK1RoZSBjb250ZW50IG9mIHRoaXMgc3RydWN0dXJlIGlzIG5vdCBtYWRlIHB1YmxpYyBieSB0aGUgQVBJLgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlR5cGVkZWYgPGEgaHJlZj0ibGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5vZGUiPnhtbEV4cE5vZGU8L2E+ICogPGEgbmFtZT0ieG1sRXhwTm9kZVB0ciIgaWQ9InhtbEV4cE5vZGVQdHIiPnhtbEV4cE5vZGVQdHI8L2E+Cis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RW51bSA8YSBocmVmPSIjeG1sRXhwTm9kZVR5cGUiPnhtbEV4cE5vZGVUeXBlPC9hPgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlN0cnVjdHVyZSA8YSBocmVmPSIjeG1sUmVnRXhlY0N0eHQiPnhtbFJlZ0V4ZWNDdHh0PC9hPjxiciAvPnN0cnVjdCBfeG1sUmVnRXhlY0N0eHQKK1RoZSBjb250ZW50IG9mIHRoaXMgc3RydWN0dXJlIGlzIG5vdCBtYWRlIHB1YmxpYyBieSB0aGUgQVBJLgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlR5cGVkZWYgPGEgaHJlZj0ibGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ0V4ZWNDdHh0Ij54bWxSZWdFeGVjQ3R4dDwvYT4gKiA8YSBuYW1lPSJ4bWxSZWdFeGVjQ3R4dFB0ciIgaWQ9InhtbFJlZ0V4ZWNDdHh0UHRyIj54bWxSZWdFeGVjQ3R4dFB0cjwvYT4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgPGEgaHJlZj0iI3htbFJlZ2V4cCI+eG1sUmVnZXhwPC9hPjxiciAvPnN0cnVjdCBfeG1sUmVnZXhwCitUaGUgY29udGVudCBvZiB0aGlzIHN0cnVjdHVyZSBpcyBub3QgbWFkZSBwdWJsaWMgYnkgdGhlIEFQSS4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5UeXBlZGVmIDxhIGhyZWY9ImxpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdleHAiPnhtbFJlZ2V4cDwvYT4gKiA8YSBuYW1lPSJ4bWxSZWdleHBQdHIiIGlkPSJ4bWxSZWdleHBQdHIiPnhtbFJlZ2V4cFB0cjwvYT4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbEV4cEN0eHROYkNvbnMiPnhtbEV4cEN0eHROYkNvbnM8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cEN0eHRQdHIiPnhtbEV4cEN0eHRQdHI8L2E+IGN0eHQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxFeHBDdHh0TmJOb2RlcyI+eG1sRXhwQ3R4dE5iTm9kZXM8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cEN0eHRQdHIiPnhtbEV4cEN0eHRQdHI8L2E+IGN0eHQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sRXhwRHVtcCI+eG1sRXhwRHVtcDwvYT4JCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJQdHIiPnhtbEJ1ZmZlclB0cjwvYT4gYnVmLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwTm9kZVB0ciI+eG1sRXhwTm9kZVB0cjwvYT4gZXhwcik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwTm9kZVB0ciI+eG1sRXhwTm9kZVB0cjwvYT4JPGEgaHJlZj0iI3htbEV4cEV4cERlcml2ZSI+eG1sRXhwRXhwRGVyaXZlPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBDdHh0UHRyIj54bWxFeHBDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwTm9kZVB0ciI+eG1sRXhwTm9kZVB0cjwvYT4gZXhwLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwTm9kZVB0ciI+eG1sRXhwTm9kZVB0cjwvYT4gc3ViKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbEV4cEZyZWUiPnhtbEV4cEZyZWU8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBDdHh0UHRyIj54bWxFeHBDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwTm9kZVB0ciI+eG1sRXhwTm9kZVB0cjwvYT4gZXhwKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbEV4cEZyZWVDdHh0Ij54bWxFeHBGcmVlQ3R4dDwvYT4JCQkoPGEgaHJlZj0ibGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cEN0eHRQdHIiPnhtbEV4cEN0eHRQdHI8L2E+IGN0eHQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxFeHBHZXRMYW5ndWFnZSI+eG1sRXhwR2V0TGFuZ3VhZ2U8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cEN0eHRQdHIiPnhtbEV4cEN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBOb2RlUHRyIj54bWxFeHBOb2RlUHRyPC9hPiBleHAsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqKiBsYW5nTGlzdCwgPGJyIC8+CQkJCQkgaW50IGxlbik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbEV4cEdldFN0YXJ0Ij54bWxFeHBHZXRTdGFydDwvYT4JCQkoPGEgaHJlZj0ibGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cEN0eHRQdHIiPnhtbEV4cEN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBOb2RlUHRyIj54bWxFeHBOb2RlUHRyPC9hPiBleHAsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqKiB0b2tMaXN0LCA8YnIgLz4JCQkJCSBpbnQgbGVuKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sRXhwSXNOaWxsYWJsZSI+eG1sRXhwSXNOaWxsYWJsZTwvYT4JCSg8YSBocmVmPSJsaWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwTm9kZVB0ciI+eG1sRXhwTm9kZVB0cjwvYT4gZXhwKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sRXhwTWF4VG9rZW4iPnhtbEV4cE1heFRva2VuPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwTm9kZVB0ciI+eG1sRXhwTm9kZVB0cjwvYT4gZXhwcik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwTm9kZVB0ciI+eG1sRXhwTm9kZVB0cjwvYT4JPGEgaHJlZj0iI3htbEV4cE5ld0F0b20iPnhtbEV4cE5ld0F0b208L2E+CQkoPGEgaHJlZj0ibGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cEN0eHRQdHIiPnhtbEV4cEN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJIGludCBsZW4pPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cEN0eHRQdHIiPnhtbEV4cEN0eHRQdHI8L2E+CTxhIGhyZWY9IiN4bWxFeHBOZXdDdHh0Ij54bWxFeHBOZXdDdHh0PC9hPgkJKGludCBtYXhOb2RlcywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0UHRyIj54bWxEaWN0UHRyPC9hPiBkaWN0KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBOb2RlUHRyIj54bWxFeHBOb2RlUHRyPC9hPgk8YSBocmVmPSIjeG1sRXhwTmV3T3IiPnhtbEV4cE5ld09yPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBDdHh0UHRyIj54bWxFeHBDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwTm9kZVB0ciI+eG1sRXhwTm9kZVB0cjwvYT4gbGVmdCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5vZGVQdHIiPnhtbEV4cE5vZGVQdHI8L2E+IHJpZ2h0KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBOb2RlUHRyIj54bWxFeHBOb2RlUHRyPC9hPgk8YSBocmVmPSIjeG1sRXhwTmV3UmFuZ2UiPnhtbEV4cE5ld1JhbmdlPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBDdHh0UHRyIj54bWxFeHBDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwTm9kZVB0ciI+eG1sRXhwTm9kZVB0cjwvYT4gc3Vic2V0LCA8YnIgLz4JCQkJCSBpbnQgbWluLCA8YnIgLz4JCQkJCSBpbnQgbWF4KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBOb2RlUHRyIj54bWxFeHBOb2RlUHRyPC9hPgk8YSBocmVmPSIjeG1sRXhwTmV3U2VxIj54bWxFeHBOZXdTZXE8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cEN0eHRQdHIiPnhtbEV4cEN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBOb2RlUHRyIj54bWxFeHBOb2RlUHRyPC9hPiBsZWZ0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwTm9kZVB0ciI+eG1sRXhwTm9kZVB0cjwvYT4gcmlnaHQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5vZGVQdHIiPnhtbEV4cE5vZGVQdHI8L2E+CTxhIGhyZWY9IiN4bWxFeHBQYXJzZSI+eG1sRXhwUGFyc2U8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cEN0eHRQdHIiPnhtbEV4cEN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBleHByKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbEV4cFJlZiI+eG1sRXhwUmVmPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwTm9kZVB0ciI+eG1sRXhwTm9kZVB0cjwvYT4gZXhwKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBOb2RlUHRyIj54bWxFeHBOb2RlUHRyPC9hPgk8YSBocmVmPSIjeG1sRXhwU3RyaW5nRGVyaXZlIj54bWxFeHBTdHJpbmdEZXJpdmU8L2E+CSg8YSBocmVmPSJsaWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwQ3R4dFB0ciI+eG1sRXhwQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5vZGVQdHIiPnhtbEV4cE5vZGVQdHI8L2E+IGV4cCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3RyLCA8YnIgLz4JCQkJCSBpbnQgbGVuKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sRXhwU3Vic3VtZSI+eG1sRXhwU3Vic3VtZTwvYT4JCQkoPGEgaHJlZj0ibGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cEN0eHRQdHIiPnhtbEV4cEN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBOb2RlUHRyIj54bWxFeHBOb2RlUHRyPC9hPiBleHAsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBOb2RlUHRyIj54bWxFeHBOb2RlUHRyPC9hPiBzdWIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RnVuY3Rpb24gdHlwZTogPGEgaHJlZj0iI3htbFJlZ0V4ZWNDYWxsYmFja3MiPnhtbFJlZ0V4ZWNDYWxsYmFja3M8L2E+Cit2b2lkCTxhIGhyZWY9IiN4bWxSZWdFeGVjQ2FsbGJhY2tzIj54bWxSZWdFeGVjQ2FsbGJhY2tzPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdFeGVjQ3R4dFB0ciI+eG1sUmVnRXhlY0N0eHRQdHI8L2E+IGV4ZWMsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHRva2VuLCA8YnIgLz4JCQkJCSB2b2lkICogdHJhbnNkYXRhLCA8YnIgLz4JCQkJCSB2b2lkICogaW5wdXRkYXRhKQorPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxSZWdFeGVjRXJySW5mbyI+eG1sUmVnRXhlY0VyckluZm88L2E+CQkoPGEgaHJlZj0ibGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ0V4ZWNDdHh0UHRyIj54bWxSZWdFeGVjQ3R4dFB0cjwvYT4gZXhlYywgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoqIHN0cmluZywgPGJyIC8+CQkJCQkgaW50ICogbmJ2YWwsIDxiciAvPgkJCQkJIGludCAqIG5ibmVnLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiogdmFsdWVzLCA8YnIgLz4JCQkJCSBpbnQgKiB0ZXJtaW5hbCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFJlZ0V4ZWNOZXh0VmFsdWVzIj54bWxSZWdFeGVjTmV4dFZhbHVlczwvYT4JCSg8YSBocmVmPSJsaWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnRXhlY0N0eHRQdHIiPnhtbFJlZ0V4ZWNDdHh0UHRyPC9hPiBleGVjLCA8YnIgLz4JCQkJCSBpbnQgKiBuYnZhbCwgPGJyIC8+CQkJCQkgaW50ICogbmJuZWcsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqKiB2YWx1ZXMsIDxiciAvPgkJCQkJIGludCAqIHRlcm1pbmFsKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sUmVnRXhlY1B1c2hTdHJpbmciPnhtbFJlZ0V4ZWNQdXNoU3RyaW5nPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdFeGVjQ3R4dFB0ciI+eG1sUmVnRXhlY0N0eHRQdHI8L2E+IGV4ZWMsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHZhbHVlLCA8YnIgLz4JCQkJCSB2b2lkICogZGF0YSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFJlZ0V4ZWNQdXNoU3RyaW5nMiI+eG1sUmVnRXhlY1B1c2hTdHJpbmcyPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdFeGVjQ3R4dFB0ciI+eG1sUmVnRXhlY0N0eHRQdHI8L2E+IGV4ZWMsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHZhbHVlLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB2YWx1ZTIsIDxiciAvPgkJCQkJIHZvaWQgKiBkYXRhKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFJlZ0ZyZWVFeGVjQ3R4dCI+eG1sUmVnRnJlZUV4ZWNDdHh0PC9hPgkJKDxhIGhyZWY9ImxpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdFeGVjQ3R4dFB0ciI+eG1sUmVnRXhlY0N0eHRQdHI8L2E+IGV4ZWMpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sUmVnRnJlZVJlZ2V4cCI+eG1sUmVnRnJlZVJlZ2V4cDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnZXhwUHRyIj54bWxSZWdleHBQdHI8L2E+IHJlZ2V4cCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnRXhlY0N0eHRQdHIiPnhtbFJlZ0V4ZWNDdHh0UHRyPC9hPgk8YSBocmVmPSIjeG1sUmVnTmV3RXhlY0N0eHQiPnhtbFJlZ05ld0V4ZWNDdHh0PC9hPgkoPGEgaHJlZj0ibGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ2V4cFB0ciI+eG1sUmVnZXhwUHRyPC9hPiBjb21wLCA8YnIgLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ0V4ZWNDYWxsYmFja3MiPnhtbFJlZ0V4ZWNDYWxsYmFja3M8L2E+IGNhbGxiYWNrLCA8YnIgLz4JCQkJCQkgdm9pZCAqIGRhdGEpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ2V4cFB0ciI+eG1sUmVnZXhwUHRyPC9hPgk8YSBocmVmPSIjeG1sUmVnZXhwQ29tcGlsZSI+eG1sUmVnZXhwQ29tcGlsZTwvYT4JKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHJlZ2V4cCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFJlZ2V4cEV4ZWMiPnhtbFJlZ2V4cEV4ZWM8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdleHBQdHIiPnhtbFJlZ2V4cFB0cjwvYT4gY29tcCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY29udGVudCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFJlZ2V4cElzRGV0ZXJtaW5pc3QiPnhtbFJlZ2V4cElzRGV0ZXJtaW5pc3Q8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ2V4cFB0ciI+eG1sUmVnZXhwUHRyPC9hPiBjb21wKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFJlZ2V4cFByaW50Ij54bWxSZWdleHBQcmludDwvYT4JCQkoRklMRSAqIG91dHB1dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ2V4cFB0ciI+eG1sUmVnZXhwUHRyPC9hPiByZWdleHApPC9wcmU+Cis8aDI+RGVzY3JpcHRpb248L2gyPgorPGgzPjxhIG5hbWU9InhtbEV4cEN0eHQiIGlkPSJ4bWxFeHBDdHh0Ij5TdHJ1Y3R1cmUgeG1sRXhwQ3R4dDwvYT48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgeG1sRXhwQ3R4dDxiciAvPnN0cnVjdCBfeG1sRXhwQ3R4dCB7CitUaGUgY29udGVudCBvZiB0aGlzIHN0cnVjdHVyZSBpcyBub3QgbWFkZSBwdWJsaWMgYnkgdGhlIEFQSS4KK308L3ByZT48aDM+PGEgbmFtZT0ieG1sRXhwTm9kZSIgaWQ9InhtbEV4cE5vZGUiPlN0cnVjdHVyZSB4bWxFeHBOb2RlPC9hPjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlN0cnVjdHVyZSB4bWxFeHBOb2RlPGJyIC8+c3RydWN0IF94bWxFeHBOb2RlIHsKK1RoZSBjb250ZW50IG9mIHRoaXMgc3RydWN0dXJlIGlzIG5vdCBtYWRlIHB1YmxpYyBieSB0aGUgQVBJLgorfTwvcHJlPjxoMz5FbnVtIDxhIG5hbWU9InhtbEV4cE5vZGVUeXBlIiBpZD0ieG1sRXhwTm9kZVR5cGUiPnhtbEV4cE5vZGVUeXBlPC9hPjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkVudW0geG1sRXhwTm9kZVR5cGUgeworICAgIDxhIG5hbWU9IlhNTF9FWFBfRU1QVFkiIGlkPSJYTUxfRVhQX0VNUFRZIj5YTUxfRVhQX0VNUFRZPC9hPiA9IDAKKyAgICA8YSBuYW1lPSJYTUxfRVhQX0ZPUkJJRCIgaWQ9IlhNTF9FWFBfRk9SQklEIj5YTUxfRVhQX0ZPUkJJRDwvYT4gPSAxCisgICAgPGEgbmFtZT0iWE1MX0VYUF9BVE9NIiBpZD0iWE1MX0VYUF9BVE9NIj5YTUxfRVhQX0FUT008L2E+ID0gMgorICAgIDxhIG5hbWU9IlhNTF9FWFBfU0VRIiBpZD0iWE1MX0VYUF9TRVEiPlhNTF9FWFBfU0VRPC9hPiA9IDMKKyAgICA8YSBuYW1lPSJYTUxfRVhQX09SIiBpZD0iWE1MX0VYUF9PUiI+WE1MX0VYUF9PUjwvYT4gPSA0CisgICAgPGEgbmFtZT0iWE1MX0VYUF9DT1VOVCIgaWQ9IlhNTF9FWFBfQ09VTlQiPlhNTF9FWFBfQ09VTlQ8L2E+ID0gNQorfQorPC9wcmU+PGgzPjxhIG5hbWU9InhtbFJlZ0V4ZWNDdHh0IiBpZD0ieG1sUmVnRXhlY0N0eHQiPlN0cnVjdHVyZSB4bWxSZWdFeGVjQ3R4dDwvYT48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgeG1sUmVnRXhlY0N0eHQ8YnIgLz5zdHJ1Y3QgX3htbFJlZ0V4ZWNDdHh0IHsKK1RoZSBjb250ZW50IG9mIHRoaXMgc3RydWN0dXJlIGlzIG5vdCBtYWRlIHB1YmxpYyBieSB0aGUgQVBJLgorfTwvcHJlPgorICAgICAgQSBsaWJ4bWwgcHJvZ3Jlc3NpdmUgcmVndWxhciBleHByZXNzaW9uIGV2YWx1YXRpb24gY29udGV4dAorICAgIDxoMz48YSBuYW1lPSJ4bWxSZWdleHAiIGlkPSJ4bWxSZWdleHAiPlN0cnVjdHVyZSB4bWxSZWdleHA8L2E+PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+U3RydWN0dXJlIHhtbFJlZ2V4cDxiciAvPnN0cnVjdCBfeG1sUmVnZXhwIHsKK1RoZSBjb250ZW50IG9mIHRoaXMgc3RydWN0dXJlIGlzIG5vdCBtYWRlIHB1YmxpYyBieSB0aGUgQVBJLgorfTwvcHJlPgorICAgICAgQSBsaWJ4bWwgcmVndWxhciBleHByZXNzaW9uLCB0aGV5IGNhbiBhY3R1YWxseSBiZSBmYXIgbW9yZSBjb21wbGV4IHRoYW5rIHRoZSBQT1NJWCByZWdleCBleHByZXNzaW9ucy4KKyAgICA8aDM+PGEgbmFtZT0ieG1sRXhwQ3R4dE5iQ29ucyIgaWQ9InhtbEV4cEN0eHROYkNvbnMiPjwvYT5GdW5jdGlvbjogeG1sRXhwQ3R4dE5iQ29uczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxFeHBDdHh0TmJDb25zCQkoPGEgaHJlZj0ibGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cEN0eHRQdHIiPnhtbEV4cEN0eHRQdHI8L2E+IGN0eHQpPGJyIC8+Cis8L3ByZT48cD5EZWJ1Z2dpbmcgZmFjaWxpdHkgcHJvdmlkZXMgdGhlIG51bWJlciBvZiBhbGxvY2F0ZWQgbm9kZXMgb3ZlciBsaWZldGltZTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIGV4cHJlc3Npb24gY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBub2RlcyBldmVyIGFsbG9jYXRlZCBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sRXhwQ3R4dE5iTm9kZXMiIGlkPSJ4bWxFeHBDdHh0TmJOb2RlcyI+PC9hPkZ1bmN0aW9uOiB4bWxFeHBDdHh0TmJOb2RlczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxFeHBDdHh0TmJOb2RlcwkJKDxhIGhyZWY9ImxpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBDdHh0UHRyIj54bWxFeHBDdHh0UHRyPC9hPiBjdHh0KTxiciAvPgorPC9wcmU+PHA+RGVidWdnaW5nIGZhY2lsaXR5IHByb3ZpZGVzIHRoZSBudW1iZXIgb2YgYWxsb2NhdGVkIG5vZGVzIGF0IGEgdGhhdCBwb2ludDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIGV4cHJlc3Npb24gY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBub2RlcyBpbiB1c2Ugb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEV4cER1bXAiIGlkPSJ4bWxFeHBEdW1wIj48L2E+RnVuY3Rpb246IHhtbEV4cER1bXA8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbEV4cER1bXAJCQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJQdHIiPnhtbEJ1ZmZlclB0cjwvYT4gYnVmLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwTm9kZVB0ciI+eG1sRXhwTm9kZVB0cjwvYT4gZXhwcik8YnIgLz4KKzwvcHJlPjxwPlNlcmlhbGl6ZSB0aGUgZXhwcmVzc2lvbiBhcyBjb21waWxlZCB0byB0aGUgYnVmZmVyPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YnVmPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGJ1ZmZlciB0byByZWNlaXZlIHRoZSBvdXRwdXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmV4cHI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjb21waWxlZCBleHByZXNzaW9uPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sRXhwRXhwRGVyaXZlIiBpZD0ieG1sRXhwRXhwRGVyaXZlIj48L2E+RnVuY3Rpb246IHhtbEV4cEV4cERlcml2ZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBOb2RlUHRyIj54bWxFeHBOb2RlUHRyPC9hPgl4bWxFeHBFeHBEZXJpdmUJCSg8YSBocmVmPSJsaWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwQ3R4dFB0ciI+eG1sRXhwQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5vZGVQdHIiPnhtbEV4cE5vZGVQdHI8L2E+IGV4cCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5vZGVQdHIiPnhtbEV4cE5vZGVQdHI8L2E+IHN1Yik8YnIgLz4KKzwvcHJlPjxwPkV2YWx1YXRlcyB0aGUgZXhwcmVzc2lvbiByZXN1bHRpbmcgZnJvbSBAZXhwIGNvbnN1bWluZyBhIHN1YiBleHByZXNzaW9uIEBzdWIgQmFzZWQgb24gYWxnZWJyYWljIGRlcml2YXRpb24gYW5kIHNvbWV0aW1lcyBkaXJlY3QgQnJ6b3pvd3NraSBkZXJpdmF0aW9uIGl0IHVzdWFsbHkgdGF0a2VzIGxlc3MgdGhhbiBsaW5lYXIgdGltZSBhbmQgY2FuIGhhbmRsZSBleHByZXNzaW9ucyBnZW5lcmF0aW5nIGluZmluaXRlIGxhbmd1YWdlcy48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZXhwcmVzc2lvbnMgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZXhwPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZW5nbG9iaW5nIGV4cHJlc3Npb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN1YjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHN1YmV4cHJlc3Npb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSByZXN1bHRpbmcgZXhwcmVzc2lvbiBvciBOVUxMIGluIGNhc2Ugb2YgaW50ZXJuYWwgZXJyb3IsIHRoZSByZXN1bHQgbXVzdCBiZSBmcmVlZDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEV4cEZyZWUiIGlkPSJ4bWxFeHBGcmVlIj48L2E+RnVuY3Rpb246IHhtbEV4cEZyZWU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbEV4cEZyZWUJCQkoPGEgaHJlZj0ibGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cEN0eHRQdHIiPnhtbEV4cEN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBOb2RlUHRyIj54bWxFeHBOb2RlUHRyPC9hPiBleHApPGJyIC8+Cis8L3ByZT48cD5EZXJlZmVyZW5jZSB0aGUgZXhwcmVzc2lvbjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBleHByZXNzaW9uIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmV4cDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGV4cHJlc3Npb248L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxFeHBGcmVlQ3R4dCIgaWQ9InhtbEV4cEZyZWVDdHh0Ij48L2E+RnVuY3Rpb246IHhtbEV4cEZyZWVDdHh0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxFeHBGcmVlQ3R4dAkJCSg8YSBocmVmPSJsaWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwQ3R4dFB0ciI+eG1sRXhwQ3R4dFB0cjwvYT4gY3R4dCk8YnIgLz4KKzwvcHJlPjxwPkZyZWUgYW4gZXhwcmVzc2lvbiBjb250ZXh0PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gZXhwcmVzc2lvbiBjb250ZXh0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sRXhwR2V0TGFuZ3VhZ2UiIGlkPSJ4bWxFeHBHZXRMYW5ndWFnZSI+PC9hPkZ1bmN0aW9uOiB4bWxFeHBHZXRMYW5ndWFnZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxFeHBHZXRMYW5ndWFnZQkJKDxhIGhyZWY9ImxpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBDdHh0UHRyIj54bWxFeHBDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwTm9kZVB0ciI+eG1sRXhwTm9kZVB0cjwvYT4gZXhwLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiogbGFuZ0xpc3QsIDxiciAvPgkJCQkJIGludCBsZW4pPGJyIC8+Cis8L3ByZT48cD5GaW5kIGFsbCB0aGUgc3RyaW5ncyB1c2VkIGluIEBleHAgYW5kIHN0b3JlIHRoZW0gaW4gQGxpc3Q8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZXhwcmVzc2lvbiBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5leHA8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBleHByZXNzaW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sYW5nTGlzdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+d2hlcmUgdG8gc3RvcmUgdGhlIHRva2VuczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGVuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYWxsb2NhdGVkIGxlbmd0aCBvZiBAbGlzdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiB1bmlxdWUgc3RyaW5ncyBmb3VuZCwgLTEgaW4gY2FzZSBvZiBlcnJvcnMgYW5kIC0yIGlmIHRoZXJlIGlzIG1vcmUgdGhhbiBAbGVuIHN0cmluZ3M8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxFeHBHZXRTdGFydCIgaWQ9InhtbEV4cEdldFN0YXJ0Ij48L2E+RnVuY3Rpb246IHhtbEV4cEdldFN0YXJ0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbEV4cEdldFN0YXJ0CQkJKDxhIGhyZWY9ImxpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBDdHh0UHRyIj54bWxFeHBDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwTm9kZVB0ciI+eG1sRXhwTm9kZVB0cjwvYT4gZXhwLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiogdG9rTGlzdCwgPGJyIC8+CQkJCQkgaW50IGxlbik8YnIgLz4KKzwvcHJlPjxwPkZpbmQgYWxsIHRoZSBzdHJpbmdzIHRoYXQgYXBwZWFycyBhdCB0aGUgc3RhcnQgb2YgdGhlIGxhbmd1YWdlcyBhY2NlcHRlZCBieSBAZXhwIGFuZCBzdG9yZSB0aGVtIGluIEBsaXN0LiBFLmcuIGZvciAoYSwgYikgfCBjIGl0IHdpbGwgcmV0dXJuIHRoZSBsaXN0IFthLCBjXTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBleHByZXNzaW9uIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmV4cDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGV4cHJlc3Npb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRva0xpc3Q8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPndoZXJlIHRvIHN0b3JlIHRoZSB0b2tlbnM8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGFsbG9jYXRlZCBsZW5ndGggb2YgQGxpc3Q8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgdW5pcXVlIHN0cmluZ3MgZm91bmQsIC0xIGluIGNhc2Ugb2YgZXJyb3JzIGFuZCAtMiBpZiB0aGVyZSBpcyBtb3JlIHRoYW4gQGxlbiBzdHJpbmdzPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sRXhwSXNOaWxsYWJsZSIgaWQ9InhtbEV4cElzTmlsbGFibGUiPjwvYT5GdW5jdGlvbjogeG1sRXhwSXNOaWxsYWJsZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxFeHBJc05pbGxhYmxlCQkoPGEgaHJlZj0ibGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5vZGVQdHIiPnhtbEV4cE5vZGVQdHI8L2E+IGV4cCk8YnIgLz4KKzwvcHJlPjxwPkZpbmRzIGlmIHRoZSBleHByZXNzaW9uIGlzIG5pbGxhYmxlLCBpLmUuIGlmIGl0IGFjY2VwdHMgdGhlIGVtcHR5IHNlcXVxbmNlPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZXhwPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZXhwcmVzc2lvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiBuaWxsYWJsZSwgMCBpZiBub3QgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxFeHBNYXhUb2tlbiIgaWQ9InhtbEV4cE1heFRva2VuIj48L2E+RnVuY3Rpb246IHhtbEV4cE1heFRva2VuPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbEV4cE1heFRva2VuCQkJKDxhIGhyZWY9ImxpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBOb2RlUHRyIj54bWxFeHBOb2RlUHRyPC9hPiBleHByKTxiciAvPgorPC9wcmU+PHA+SW5kaWNhdGUgdGhlIG1heGltdW0gbnVtYmVyIG9mIGlucHV0IGEgZXhwcmVzc2lvbiBjYW4gYWNjZXB0PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZXhwcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBjb21waWxlZCBleHByZXNzaW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbWF4aW11bSBsZW5ndGggb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEV4cE5ld0F0b20iIGlkPSJ4bWxFeHBOZXdBdG9tIj48L2E+RnVuY3Rpb246IHhtbEV4cE5ld0F0b208L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwTm9kZVB0ciI+eG1sRXhwTm9kZVB0cjwvYT4JeG1sRXhwTmV3QXRvbQkJKDxhIGhyZWY9ImxpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBDdHh0UHRyIj54bWxFeHBDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSBpbnQgbGVuKTxiciAvPgorPC9wcmU+PHA+R2V0IHRoZSBhdG9tIGFzc29jaWF0ZWQgdG8gdGhpcyBuYW1lIGZyb20gdGhhdCBjb250ZXh0PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGV4cHJlc3Npb24gY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGF0b20gbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGVuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYXRvbSBuYW1lIGxlbmd0aCBpbiBieXRlIChvciAtMSk7PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbm9kZSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxFeHBOZXdDdHh0IiBpZD0ieG1sRXhwTmV3Q3R4dCI+PC9hPkZ1bmN0aW9uOiB4bWxFeHBOZXdDdHh0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cEN0eHRQdHIiPnhtbEV4cEN0eHRQdHI8L2E+CXhtbEV4cE5ld0N0eHQJCShpbnQgbWF4Tm9kZXMsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC1kaWN0Lmh0bWwjeG1sRGljdFB0ciI+eG1sRGljdFB0cjwvYT4gZGljdCk8YnIgLz4KKzwvcHJlPjxwPkNyZWF0ZXMgYSBuZXcgY29udGV4dCBmb3IgbWFuaXB1bGF0aW5nIGV4cHJlc3Npb25zPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bWF4Tm9kZXM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBtYXhpbXVtIG51bWJlciBvZiBub2RlczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGljdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+b3B0aW9uYWwgZGljdGlvbm5hcnkgdG8gdXNlIGludGVybmFsbHk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjb250ZXh0IG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEV4cE5ld09yIiBpZD0ieG1sRXhwTmV3T3IiPjwvYT5GdW5jdGlvbjogeG1sRXhwTmV3T3I8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwTm9kZVB0ciI+eG1sRXhwTm9kZVB0cjwvYT4JeG1sRXhwTmV3T3IJCSg8YSBocmVmPSJsaWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwQ3R4dFB0ciI+eG1sRXhwQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5vZGVQdHIiPnhtbEV4cE5vZGVQdHI8L2E+IGxlZnQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBOb2RlUHRyIj54bWxFeHBOb2RlUHRyPC9hPiByaWdodCk8YnIgLz4KKzwvcHJlPjxwPkdldCB0aGUgYXRvbSBhc3NvY2lhdGVkIHRvIHRoZSBjaG9pY2UgQGxlZnQgfCBAcmlnaHQgTm90ZSB0aGF0IEBsZWZ0IGFuZCBAcmlnaHQgYXJlIGNvbnN1bWVkIGluIHRoZSBvcGVyYXRpb24sIHRvIGtlZXAgYW4gaGFuZGxlIG9uIHRoZW0gdXNlIHhtbEV4cFJlZigpIGFuZCB1c2UgeG1sRXhwRnJlZSgpIHRvIHJlbGVhc2UgdGhlbSwgdGhpcyBpcyB0cnVlIGV2ZW4gaW4gY2FzZSBvZiBmYWlsdXJlICh1bmxlc3MgY3R4dCA9PSBOVUxMKS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZXhwcmVzc2lvbiBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZWZ0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5sZWZ0IGV4cHJlc3Npb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJpZ2h0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5yaWdodCBleHByZXNzaW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbm9kZSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxFeHBOZXdSYW5nZSIgaWQ9InhtbEV4cE5ld1JhbmdlIj48L2E+RnVuY3Rpb246IHhtbEV4cE5ld1JhbmdlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5vZGVQdHIiPnhtbEV4cE5vZGVQdHI8L2E+CXhtbEV4cE5ld1JhbmdlCQkoPGEgaHJlZj0ibGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cEN0eHRQdHIiPnhtbEV4cEN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBOb2RlUHRyIj54bWxFeHBOb2RlUHRyPC9hPiBzdWJzZXQsIDxiciAvPgkJCQkJIGludCBtaW4sIDxiciAvPgkJCQkJIGludCBtYXgpPGJyIC8+Cis8L3ByZT48cD5HZXQgdGhlIGF0b20gYXNzb2NpYXRlZCB0byB0aGUgcmFuZ2UgKEBzdWJzZXQpe0BtaW4sIEBtYXh9IE5vdGUgdGhhdCBAc3Vic2V0IGlzIGNvbnN1bWVkIGluIHRoZSBvcGVyYXRpb24sIHRvIGtlZXAgYW4gaGFuZGxlIG9uIGl0IHVzZSB4bWxFeHBSZWYoKSBhbmQgdXNlIHhtbEV4cEZyZWUoKSB0byByZWxlYXNlIGl0LCB0aGlzIGlzIHRydWUgZXZlbiBpbiBjYXNlIG9mIGZhaWx1cmUgKHVubGVzcyBjdHh0ID09IE5VTEwpLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBleHByZXNzaW9uIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN1YnNldDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGV4cHJlc3Npb24gdG8gYmUgcmVwZWF0ZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm1pbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxvd2VyIGJvdW5kIGZvciB0aGUgcmVwZXRpdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bWF4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXBwZXIgYm91bmQgZm9yIHRoZSByZXBldGl0aW9uLCAtMSBtZWFucyBpbmZpbml0ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vZGUgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sRXhwTmV3U2VxIiBpZD0ieG1sRXhwTmV3U2VxIj48L2E+RnVuY3Rpb246IHhtbEV4cE5ld1NlcTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBOb2RlUHRyIj54bWxFeHBOb2RlUHRyPC9hPgl4bWxFeHBOZXdTZXEJCSg8YSBocmVmPSJsaWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwQ3R4dFB0ciI+eG1sRXhwQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5vZGVQdHIiPnhtbEV4cE5vZGVQdHI8L2E+IGxlZnQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBOb2RlUHRyIj54bWxFeHBOb2RlUHRyPC9hPiByaWdodCk8YnIgLz4KKzwvcHJlPjxwPkdldCB0aGUgYXRvbSBhc3NvY2lhdGVkIHRvIHRoZSBzZXF1ZW5jZSBAbGVmdCAsIEByaWdodCBOb3RlIHRoYXQgQGxlZnQgYW5kIEByaWdodCBhcmUgY29uc3VtZWQgaW4gdGhlIG9wZXJhdGlvbiwgdG8ga2VlcCBhbiBoYW5kbGUgb24gdGhlbSB1c2UgeG1sRXhwUmVmKCkgYW5kIHVzZSB4bWxFeHBGcmVlKCkgdG8gcmVsZWFzZSB0aGVtLCB0aGlzIGlzIHRydWUgZXZlbiBpbiBjYXNlIG9mIGZhaWx1cmUgKHVubGVzcyBjdHh0ID09IE5VTEwpLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBleHByZXNzaW9uIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxlZnQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmxlZnQgZXhwcmVzc2lvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmlnaHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnJpZ2h0IGV4cHJlc3Npb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBub2RlIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEV4cFBhcnNlIiBpZD0ieG1sRXhwUGFyc2UiPjwvYT5GdW5jdGlvbjogeG1sRXhwUGFyc2U8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwTm9kZVB0ciI+eG1sRXhwTm9kZVB0cjwvYT4JeG1sRXhwUGFyc2UJCSg8YSBocmVmPSJsaWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwQ3R4dFB0ciI+eG1sRXhwQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGV4cHIpPGJyIC8+Cis8L3ByZT48cD5NaW5pbWFsIHBhcnNlciBmb3IgcmVnZXhwcywgaXQgdW5kZXJzdGFuZCB0aGUgZm9sbG93aW5nIGNvbnN0cnVjdHMgLSBzdHJpbmcgdGVybWluYWxzIC0gY2hvaWNlIG9wZXJhdG9yIHwgLSBzZXF1ZW5jZSBvcGVyYXRvciAsIC0gc3ViZXhwcmVzc2lvbnMgKC4uLikgLSB1c3VhbCBjYXJkaW5hbGl0eSBvcGVyYXRvcnMgKyAqIGFuZCA/IC0gZmluaXRlIHNlcXVlbmNlcyB7IG1pbiwgbWF4IH0gLSBpbmZpbml0ZSBzZXF1ZW5jZXMgeyBtaW4sICogfSBUaGVyZSBpcyBtaW5pbWFsIGNoZWNraW5ncyBtYWRlIGVzcGVjaWFsbHkgbm8gY2hlY2tpbmcgb24gc3RyaW5ncyB2YWx1ZXM8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZXhwcmVzc2lvbnMgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZXhwcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDAgdGVybWluYXRlZCBzdHJpbmc8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbmV3IGV4cHJlc3Npb24gb3IgTlVMTCBpbiBjYXNlIG9mIGZhaWx1cmU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxFeHBSZWYiIGlkPSJ4bWxFeHBSZWYiPjwvYT5GdW5jdGlvbjogeG1sRXhwUmVmPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxFeHBSZWYJCQkoPGEgaHJlZj0ibGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5vZGVQdHIiPnhtbEV4cE5vZGVQdHI8L2E+IGV4cCk8YnIgLz4KKzwvcHJlPjxwPkluY3JlYXNlIHRoZSA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjcmVmZXJlbmNlIj5yZWZlcmVuY2U8L2E+IGNvdW50IG9mIHRoZSBleHByZXNzaW9uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZXhwPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZXhwcmVzc2lvbjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEV4cFN0cmluZ0Rlcml2ZSIgaWQ9InhtbEV4cFN0cmluZ0Rlcml2ZSI+PC9hPkZ1bmN0aW9uOiB4bWxFeHBTdHJpbmdEZXJpdmU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwTm9kZVB0ciI+eG1sRXhwTm9kZVB0cjwvYT4JeG1sRXhwU3RyaW5nRGVyaXZlCSg8YSBocmVmPSJsaWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwQ3R4dFB0ciI+eG1sRXhwQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5vZGVQdHIiPnhtbEV4cE5vZGVQdHI8L2E+IGV4cCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3RyLCA8YnIgLz4JCQkJCSBpbnQgbGVuKTxiciAvPgorPC9wcmU+PHA+RG8gb25lIHN0ZXAgb2YgQnJ6b3pvd3NraSBkZXJpdmF0aW9uIG9mIHRoZSBleHByZXNzaW9uIEBleHAgd2l0aCByZXNwZWN0IHRvIHRoZSBpbnB1dCBzdHJpbmc8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZXhwcmVzc2lvbiBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5leHA8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBleHByZXNzaW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdHI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzdHJpbmc8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHN0cmluZyBsZW4gaW4gYnl0ZXMgaWYgYXZhaWxhYmxlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmVzdWx0aW5nIGV4cHJlc3Npb24gb3IgTlVMTCBpbiBjYXNlIG9mIGludGVybmFsIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sRXhwU3Vic3VtZSIgaWQ9InhtbEV4cFN1YnN1bWUiPjwvYT5GdW5jdGlvbjogeG1sRXhwU3Vic3VtZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxFeHBTdWJzdW1lCQkJKDxhIGhyZWY9ImxpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBDdHh0UHRyIj54bWxFeHBDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwTm9kZVB0ciI+eG1sRXhwTm9kZVB0cjwvYT4gZXhwLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwTm9kZVB0ciI+eG1sRXhwTm9kZVB0cjwvYT4gc3ViKTxiciAvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciBAZXhwIGFjY2VwdHMgYWxsIHRoZSBsYW5ndWFnZXMgYWNjZXhwdGVkIGJ5IEBzdWIgdGhlIGlucHV0IGJlaW5nIGEgc3ViZXhwcmVzc2lvbi48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZXhwcmVzc2lvbnMgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZXhwPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZW5nbG9iaW5nIGV4cHJlc3Npb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN1YjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHN1YmV4cHJlc3Npb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIGlmIGZhbHNlIGFuZCAtMSBpbiBjYXNlIG9mIGZhaWx1cmUuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sUmVnRXhlY0NhbGxiYWNrcyIgaWQ9InhtbFJlZ0V4ZWNDYWxsYmFja3MiPjwvYT5GdW5jdGlvbiB0eXBlOiB4bWxSZWdFeGVjQ2FsbGJhY2tzPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RnVuY3Rpb24gdHlwZTogeG1sUmVnRXhlY0NhbGxiYWNrcwordm9pZAl4bWxSZWdFeGVjQ2FsbGJhY2tzCQkoPGEgaHJlZj0ibGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ0V4ZWNDdHh0UHRyIj54bWxSZWdFeGVjQ3R4dFB0cjwvYT4gZXhlYywgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdG9rZW4sIDxiciAvPgkJCQkJIHZvaWQgKiB0cmFuc2RhdGEsIDxiciAvPgkJCQkJIHZvaWQgKiBpbnB1dGRhdGEpCis8L3ByZT48cD5DYWxsYmFjayBmdW5jdGlvbiB3aGVuIGRvaW5nIGEgdHJhbnNpdGlvbiBpbiB0aGUgYXV0b21hdGE8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZXhlYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50b2tlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGN1cnJlbnQgdG9rZW4gc3RyaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50cmFuc2RhdGE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRyYW5zaXRpb24gZGF0YTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aW5wdXRkYXRhPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5pbnB1dCBkYXRhPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48YnIgLz4KKzxoMz48YSBuYW1lPSJ4bWxSZWdFeGVjRXJySW5mbyIgaWQ9InhtbFJlZ0V4ZWNFcnJJbmZvIj48L2E+RnVuY3Rpb246IHhtbFJlZ0V4ZWNFcnJJbmZvPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFJlZ0V4ZWNFcnJJbmZvCQkoPGEgaHJlZj0ibGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ0V4ZWNDdHh0UHRyIj54bWxSZWdFeGVjQ3R4dFB0cjwvYT4gZXhlYywgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoqIHN0cmluZywgPGJyIC8+CQkJCQkgaW50ICogbmJ2YWwsIDxiciAvPgkJCQkJIGludCAqIG5ibmVnLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiogdmFsdWVzLCA8YnIgLz4JCQkJCSBpbnQgKiB0ZXJtaW5hbCk8YnIgLz4KKzwvcHJlPjxwPkV4dHJhY3QgZXJyb3IgaW5mb3JtYXRpb25zIGZyb20gdGhlIHJlZ2V4cCBleGVjdXRpb24sIHRoZSBwYXJhbWV0ZXIgQHN0cmluZyB3aWxsIGJlIHVwZGF0ZWQgd2l0aCB0aGUgdmFsdWUgcHVzaGVkIGFuZCBub3QgYWNjZXB0ZWQsIHRoZSBwYXJhbWV0ZXIgQHZhbHVlcyBtdXN0IHBvaW50IHRvIGFuIGFycmF5IG9mIEBuYnZhbCBzdHJpbmcgcG9pbnRlcnMgb24gcmV0dXJuIG5idmFsIHdpbGwgY29udGFpbiB0aGUgbnVtYmVyIG9mIHBvc3NpYmxlIHN0cmluZ3MgaW4gdGhhdCBzdGF0ZSBhbmQgdGhlIEB2YWx1ZXMgYXJyYXkgd2lsbCBiZSB1cGRhdGVkIHdpdGggdGhlbS4gVGhlIHN0cmluZyB2YWx1ZXM8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5leGVjPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHJlZ2V4cCBleGVjdXRpb24gY29udGV4dCBnZW5lcmF0aW5nIGFuIGVycm9yPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdHJpbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnJldHVybiB2YWx1ZSBmb3IgdGhlIGVycm9yIHN0cmluZzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmJ2YWw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnBvaW50ZXIgdG8gdGhlIG51bWJlciBvZiBhY2NlcHRlZCB2YWx1ZXMgSU4vT1VUPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYm5lZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+cmV0dXJuIG51bWJlciBvZiBuZWdhdGl2ZSB0cmFuc2l0aW9uczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsdWVzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5wb2ludGVyIHRvIHRoZSBhcnJheSBvZiBhY2NlcHRhYmxlIHZhbHVlczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dGVybWluYWw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnJldHVybiB2YWx1ZSBpZiB0aGlzIHdhcyBhIHRlcm1pbmFsIHN0YXRlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD53aWxsIGJlIGZyZWVkIHdpdGggdGhlIEBleGVjIGNvbnRleHQgYW5kIGRvbid0IG5lZWQgdG8gYmUgZGVhbGxvY2F0ZWQuIFJldHVybnM6IDAgaW4gY2FzZSBvZiBzdWNjZXNzIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sUmVnRXhlY05leHRWYWx1ZXMiIGlkPSJ4bWxSZWdFeGVjTmV4dFZhbHVlcyI+PC9hPkZ1bmN0aW9uOiB4bWxSZWdFeGVjTmV4dFZhbHVlczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxSZWdFeGVjTmV4dFZhbHVlcwkJKDxhIGhyZWY9ImxpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdFeGVjQ3R4dFB0ciI+eG1sUmVnRXhlY0N0eHRQdHI8L2E+IGV4ZWMsIDxiciAvPgkJCQkJIGludCAqIG5idmFsLCA8YnIgLz4JCQkJCSBpbnQgKiBuYm5lZywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoqIHZhbHVlcywgPGJyIC8+CQkJCQkgaW50ICogdGVybWluYWwpPGJyIC8+Cis8L3ByZT48cD5FeHRyYWN0IGluZm9ybWF0aW9ucyBmcm9tIHRoZSByZWdleHAgZXhlY3V0aW9uLCB0aGUgcGFyYW1ldGVyIEB2YWx1ZXMgbXVzdCBwb2ludCB0byBhbiBhcnJheSBvZiBAbmJ2YWwgc3RyaW5nIHBvaW50ZXJzIG9uIHJldHVybiBuYnZhbCB3aWxsIGNvbnRhaW4gdGhlIG51bWJlciBvZiBwb3NzaWJsZSBzdHJpbmdzIGluIHRoYXQgc3RhdGUgYW5kIHRoZSBAdmFsdWVzIGFycmF5IHdpbGwgYmUgdXBkYXRlZCB3aXRoIHRoZW0uIFRoZSBzdHJpbmcgdmFsdWVzPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZXhlYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSByZWdleHAgZXhlY3V0aW9uIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5idmFsPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5wb2ludGVyIHRvIHRoZSBudW1iZXIgb2YgYWNjZXB0ZWQgdmFsdWVzIElOL09VVDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmJuZWc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnJldHVybiBudW1iZXIgb2YgbmVnYXRpdmUgdHJhbnNpdGlvbnM8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbHVlczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+cG9pbnRlciB0byB0aGUgYXJyYXkgb2YgYWNjZXB0YWJsZSB2YWx1ZXM8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRlcm1pbmFsPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5yZXR1cm4gdmFsdWUgaWYgdGhpcyB3YXMgYSB0ZXJtaW5hbCBzdGF0ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+d2lsbCBiZSBmcmVlZCB3aXRoIHRoZSBAZXhlYyBjb250ZXh0IGFuZCBkb24ndCBuZWVkIHRvIGJlIGRlYWxsb2NhdGVkLiBSZXR1cm5zOiAwIGluIGNhc2Ugb2Ygc3VjY2VzcyBvciAtMSBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFJlZ0V4ZWNQdXNoU3RyaW5nIiBpZD0ieG1sUmVnRXhlY1B1c2hTdHJpbmciPjwvYT5GdW5jdGlvbjogeG1sUmVnRXhlY1B1c2hTdHJpbmc8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sUmVnRXhlY1B1c2hTdHJpbmcJCSg8YSBocmVmPSJsaWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnRXhlY0N0eHRQdHIiPnhtbFJlZ0V4ZWNDdHh0UHRyPC9hPiBleGVjLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB2YWx1ZSwgPGJyIC8+CQkJCQkgdm9pZCAqIGRhdGEpPGJyIC8+Cis8L3ByZT48cD5QdXNoIG9uZSBpbnB1dCB0b2tlbiBpbiB0aGUgZXhlY3V0aW9uIGNvbnRleHQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5leGVjPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHJlZ2V4cCBleGVjdXRpb24gY29udGV4dCBvciBOVUxMIHRvIGluZGljYXRlIHRoZSBlbmQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbHVlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHN0cmluZyB0b2tlbiBpbnB1dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGF0YTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+ZGF0YSBhc3NvY2lhdGVkIHRvIHRoZSB0b2tlbiB0byByZXVzZSBpbiBjYWxsYmFja3M8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdGhlIHJlZ2V4cCByZWFjaGVkIGEgZmluYWwgc3RhdGUsIDAgaWYgbm9uLWZpbmFsLCBhbmQgYSBuZWdhdGl2ZSB2YWx1ZSBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFJlZ0V4ZWNQdXNoU3RyaW5nMiIgaWQ9InhtbFJlZ0V4ZWNQdXNoU3RyaW5nMiI+PC9hPkZ1bmN0aW9uOiB4bWxSZWdFeGVjUHVzaFN0cmluZzI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sUmVnRXhlY1B1c2hTdHJpbmcyCQkoPGEgaHJlZj0ibGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ0V4ZWNDdHh0UHRyIj54bWxSZWdFeGVjQ3R4dFB0cjwvYT4gZXhlYywgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHZhbHVlMiwgPGJyIC8+CQkJCQkgdm9pZCAqIGRhdGEpPGJyIC8+Cis8L3ByZT48cD5QdXNoIG9uZSBpbnB1dCB0b2tlbiBpbiB0aGUgZXhlY3V0aW9uIGNvbnRleHQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5leGVjPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHJlZ2V4cCBleGVjdXRpb24gY29udGV4dCBvciBOVUxMIHRvIGluZGljYXRlIHRoZSBlbmQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbHVlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZmlyc3Qgc3RyaW5nIHRva2VuIGlucHV0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWx1ZTI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzZWNvbmQgc3RyaW5nIHRva2VuIGlucHV0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kYXRhPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5kYXRhIGFzc29jaWF0ZWQgdG8gdGhlIHRva2VuIHRvIHJldXNlIGluIGNhbGxiYWNrczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0aGUgcmVnZXhwIHJlYWNoZWQgYSBmaW5hbCBzdGF0ZSwgMCBpZiBub24tZmluYWwsIGFuZCBhIG5lZ2F0aXZlIHZhbHVlIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sUmVnRnJlZUV4ZWNDdHh0IiBpZD0ieG1sUmVnRnJlZUV4ZWNDdHh0Ij48L2E+RnVuY3Rpb246IHhtbFJlZ0ZyZWVFeGVjQ3R4dDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sUmVnRnJlZUV4ZWNDdHh0CQkoPGEgaHJlZj0ibGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ0V4ZWNDdHh0UHRyIj54bWxSZWdFeGVjQ3R4dFB0cjwvYT4gZXhlYyk8YnIgLz4KKzwvcHJlPjxwPkZyZWUgdGhlIHN0cnVjdHVyZXMgYXNzb2NpYXRlZCB0byBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBldmF1bGF0aW9uIGNvbnRleHQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZXhlYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSByZWd1bGFyIGV4cHJlc3Npb24gZXZhdWxhdGlvbiBjb250ZXh0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sUmVnRnJlZVJlZ2V4cCIgaWQ9InhtbFJlZ0ZyZWVSZWdleHAiPjwvYT5GdW5jdGlvbjogeG1sUmVnRnJlZVJlZ2V4cDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sUmVnRnJlZVJlZ2V4cAkJKDxhIGhyZWY9ImxpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdleHBQdHIiPnhtbFJlZ2V4cFB0cjwvYT4gcmVnZXhwKTxiciAvPgorPC9wcmU+PHA+RnJlZSBhIHJlZ2V4cDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJlZ2V4cDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHJlZ2V4cDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFJlZ05ld0V4ZWNDdHh0IiBpZD0ieG1sUmVnTmV3RXhlY0N0eHQiPjwvYT5GdW5jdGlvbjogeG1sUmVnTmV3RXhlY0N0eHQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnRXhlY0N0eHRQdHIiPnhtbFJlZ0V4ZWNDdHh0UHRyPC9hPgl4bWxSZWdOZXdFeGVjQ3R4dAkoPGEgaHJlZj0ibGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ2V4cFB0ciI+eG1sUmVnZXhwUHRyPC9hPiBjb21wLCA8YnIgLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ0V4ZWNDYWxsYmFja3MiPnhtbFJlZ0V4ZWNDYWxsYmFja3M8L2E+IGNhbGxiYWNrLCA8YnIgLz4JCQkJCQkgdm9pZCAqIGRhdGEpPGJyIC8+Cis8L3ByZT48cD5CdWlsZCBhIGNvbnRleHQgdXNlZCBmb3IgcHJvZ3Jlc3NpdmUgZXZhbHVhdGlvbiBvZiBhIHJlZ2V4cC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb21wPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHByZWNvbXBpbGVkIHJlZ3VsYXIgZXhwcmVzc2lvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y2FsbGJhY2s8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgY2FsbGJhY2sgZnVuY3Rpb24gdXNlZCBmb3IgaGFuZGxpbmcgcHJvZ3Jlc3NlcyBpbiB0aGUgYXV0b21hdGEgbWF0Y2hpbmcgcGhhc2U8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRhdGE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjb250ZXh0IGRhdGEgYXNzb2NpYXRlZCB0byB0aGUgY2FsbGJhY2sgaW4gdGhpcyBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IGNvbnRleHQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxSZWdleHBDb21waWxlIiBpZD0ieG1sUmVnZXhwQ29tcGlsZSI+PC9hPkZ1bmN0aW9uOiB4bWxSZWdleHBDb21waWxlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ2V4cFB0ciI+eG1sUmVnZXhwUHRyPC9hPgl4bWxSZWdleHBDb21waWxlCShjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiByZWdleHApPGJyIC8+Cis8L3ByZT48cD5QYXJzZXMgYSByZWd1bGFyIGV4cHJlc3Npb24gY29uZm9ybWluZyB0byBYTUwgU2NoZW1hcyBQYXJ0IDIgRGF0YXR5cGUgQXBwZW5kaXggRiBhbmQgYnVpbGRzIGFuIGF1dG9tYXRhIHN1aXRhYmxlIGZvciB0ZXN0aW5nIHN0cmluZ3MgYWdhaW5zdCB0aGF0IHJlZ3VsYXIgZXhwcmVzc2lvbjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJlZ2V4cDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSByZWd1bGFyIGV4cHJlc3Npb24gc3RyaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY29tcGlsZWQgZXhwcmVzc2lvbiBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxSZWdleHBFeGVjIiBpZD0ieG1sUmVnZXhwRXhlYyI+PC9hPkZ1bmN0aW9uOiB4bWxSZWdleHBFeGVjPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFJlZ2V4cEV4ZWMJCQkoPGEgaHJlZj0ibGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ2V4cFB0ciI+eG1sUmVnZXhwUHRyPC9hPiBjb21wLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjb250ZW50KTxiciAvPgorPC9wcmU+PHA+Q2hlY2sgaWYgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBnZW5lcmF0ZXMgdGhlIHZhbHVlPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29tcDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGNvbXBpbGVkIHJlZ3VsYXIgZXhwcmVzc2lvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29udGVudDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHZhbHVlIHRvIGNoZWNrIGFnYWluc3QgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiBpdCBtYXRjaGVzLCAwIGlmIG5vdCBhbmQgYSBuZWdhdGl2ZSB2YWx1ZSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sUmVnZXhwSXNEZXRlcm1pbmlzdCIgaWQ9InhtbFJlZ2V4cElzRGV0ZXJtaW5pc3QiPjwvYT5GdW5jdGlvbjogeG1sUmVnZXhwSXNEZXRlcm1pbmlzdDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxSZWdleHBJc0RldGVybWluaXN0CQkoPGEgaHJlZj0ibGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ2V4cFB0ciI+eG1sUmVnZXhwUHRyPC9hPiBjb21wKTxiciAvPgorPC9wcmU+PHA+Q2hlY2sgaWYgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBpcyBkZXRlcm1pbmlzdDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbXA8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjb21waWxlZCByZWd1bGFyIGV4cHJlc3Npb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgaXQgeWVzLCAwIGlmIG5vdCBhbmQgYSBuZWdhdGl2ZSB2YWx1ZSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sUmVnZXhwUHJpbnQiIGlkPSJ4bWxSZWdleHBQcmludCI+PC9hPkZ1bmN0aW9uOiB4bWxSZWdleHBQcmludDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sUmVnZXhwUHJpbnQJCQkoRklMRSAqIG91dHB1dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ2V4cFB0ciI+eG1sUmVnZXhwUHRyPC9hPiByZWdleHApPGJyIC8+Cis8L3ByZT48cD5QcmludCB0aGUgY29udGVudCBvZiB0aGUgY29tcGlsZWQgcmVndWxhciBleHByZXNzaW9uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3V0cHV0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZmlsZSBmb3IgdGhlIG91dHB1dCBkZWJ1ZzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVnZXhwPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY29tcGlsZWQgcmVnZXhwPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48cD48YSBocmVmPSIuLi9idWdzLmh0bWwiPkRhbmllbCBWZWlsbGFyZDwvYT48L3A+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2h0bWwvbGlieG1sLXhtbHNhdmUuaHRtbCBiL2xpYnhtbDIvZG9jL2h0bWwvbGlieG1sLXhtbHNhdmUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMjdlNmRjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvaHRtbC9saWJ4bWwteG1sc2F2ZS5odG1sCkBAIC0wLDAgKzEsNjAgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+PGxpbmsgcmVsPSJTSE9SVENVVCBJQ09OIiBocmVmPSIvZmF2aWNvbi5pY28iIC8+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK1REIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitCT0RZIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2E7IG1hcmdpbi10b3A6IDJlbTsgbWFyZ2luLWxlZnQ6IDBlbTsgbWFyZ2luLXJpZ2h0OiAwZW19CitIMSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDIge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gzIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitBOmxpbmssIEE6dmlzaXRlZCwgQTphY3RpdmUgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB9Cis8L3N0eWxlPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAgICBkaXYuZGVwcmVjYXRlZCBwcmUucHJvZ3JhbWxpc3Rpbmcge2JvcmRlci1zdHlsZTogZG91YmxlO2JvcmRlci1jb2xvcjpyZWR9CisgICAgICBwcmUucHJvZ3JhbWxpc3Rpbmcge2JvcmRlci1zdHlsZTogZG91YmxlO2JhY2tncm91bmQ6ICNFRUNGQTF9CisgICAgPC9zdHlsZT48dGl0bGU+TW9kdWxlIHhtbHNhdmUgZnJvbSBsaWJ4bWwyPC90aXRsZT48L2hlYWQ+PGJvZHkgYmdjb2xvcj0iIzhiNzc2NSIgdGV4dD0iIzAwMDAwMCIgbGluaz0iI2EwNjA2MCIgdmxpbms9IiMwMDAwMDAiPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSIxMDAlIiBjZWxscGFkZGluZz0iNSIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgd2lkdGg9IjEyMCI+PGEgaHJlZj0iaHR0cDovL3N3cGF0LmZmaWkub3JnLyI+PGltZyBzcmM9Ii4uL2VwYXRlbnRzLnBuZyIgYWx0PSJBY3Rpb24gYWdhaW5zdCBzb2Z0d2FyZSBwYXRlbnRzIiAvPjwvYT48L3RkPjx0ZCB3aWR0aD0iMTgwIj48YSBocmVmPSJodHRwOi8vd3d3Lmdub21lLm9yZy8iPjxpbWcgc3JjPSIuLi9nbm9tZTIucG5nIiBhbHQ9Ikdub21lMiBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9TdGF0dXMiPjxpbWcgc3JjPSIuLi93M2MucG5nIiBhbHQ9IlczQyBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnJlZGhhdC5jb20vIj48aW1nIHNyYz0iLi4vcmVkaGF0LmdpZiIgYWx0PSJSZWQgSGF0IExvZ28iIC8+PC9hPjxkaXYgYWxpZ249ImxlZnQiPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy8iPjxpbWcgc3JjPSIuLi9MaWJ4bWwyLUxvZ28tMTgweDE2OC5naWYiIGFsdD0iTWFkZSB3aXRoIExpYnhtbDIgTG9nbyIgLz48L2E+PC9kaXY+PC90ZD48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjkwJSIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiIGJnY29sb3I9IiNmZmZhY2QiPjx0cj48dGQgYWxpZ249ImNlbnRlciI+PGgxPjwvaDE+PGgyPk1vZHVsZSB4bWxzYXZlIGZyb20gbGlieG1sMjwvaDI+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjQiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiIHdpZHRoPSIxMDAlIj48dHI+PHRkIHZhbGlnbj0idG9wIiB3aWR0aD0iMjAwIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5BUEkgTWVudTwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48Zm9ybSBhY3Rpb249Ii4uL3NlYXJjaC5waHAiIGVuY3R5cGU9ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIgbWV0aG9kPSJnZXQiPjxpbnB1dCBuYW1lPSJxdWVyeSIgdHlwZT0idGV4dCIgc2l6ZT0iMjAiIHZhbHVlPSIiIC8+PGlucHV0IG5hbWU9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU2VhcmNoIC4uLiIgLz48L2Zvcm0+PHVsPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iLi4vaW5kZXguaHRtbCI+TWFpbiBNZW51PC9hPjwvbGk+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSIuLi9kb2NzLmh0bWwiPkRldmVsb3BlciBNZW51PC9hPjwvbGk+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSIuLi9leGFtcGxlcy9pbmRleC5odG1sIj5Db2RlIEV4YW1wbGVzPC9hPjwvbGk+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSJpbmRleC5odG1sIj5BUEkgTWVudTwvYT48L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwiPlBhcnNlciBBUEk8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCI+VHJlZSBBUEk8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sIj5SZWFkZXIgQVBJPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL2d1aWRlbGluZXMuaHRtbCI+WE1MIEd1aWRlbGluZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQ2hhbmdlTG9nLmh0bWwiPkNoYW5nZUxvZzwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPkFQSSBJbmRleGVzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iLi4vQVBJY2h1bmswLmh0bWwiPkFscGhhYmV0aWM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJY29uc3RydWN0b3JzLmh0bWwiPkNvbnN0cnVjdG9yczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUElmdW5jdGlvbnMuaHRtbCI+RnVuY3Rpb25zL1R5cGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSWZpbGVzLmh0bWwiPk1vZHVsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJc3ltYm9scy5odG1sIj5TeW1ib2xzPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+UmVsYXRlZCBsaW5rczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9Imh0dHA6Ly9tYWlsLmdub21lLm9yZy9hcmNoaXZlcy94bWwvIj5NYWlsIGFyY2hpdmU8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnL1hTTFQvIj5YU0xUIGxpYnhzbHQ8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3BoZC5jcy51bmliby5pdC9nZG9tZTIvIj5ET00gZ2RvbWUyPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuYWxla3NleS5jb20veG1sc2VjLyI+WE1MLURTaWcgeG1sc2VjPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImZ0cDovL3htbHNvZnQub3JnLyI+RlRQPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemxhdGtvdmljLmNvbS9wcm9qZWN0cy9saWJ4bWwvIj5XaW5kb3dzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9vcGVuY3N3Lm9yZy9wYWNrYWdlcy9saWJ4bWwyIj5Tb2xhcmlzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuZXhwbGFpbi5jb20uYXUvb3NzL2xpYnhtbDJ4c2x0Lmh0bWwiPk1hY09zWCBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbHhtbC5kZS8iPmx4bWwgUHl0aG9uIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9jcGFuLnV3aW5uaXBlZy5jYS9kaXN0L1hNTC1MaWJYTUwiPlBlcmwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbHBsdXNwbHVzLnNvdXJjZWZvcmdlLm5ldC8iPkMrKyBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnplbmQuY29tL3BocDUvYXJ0aWNsZXMvcGhwNS14bWxwaHAucGhwI0hlYWRpbmc0Ij5QSFAgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9saWJ4bWwyLXBhcy8iPlBhc2NhbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1sLnJ1Ynlmb3JnZS5vcmcvIj5SdWJ5IGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly90Y2x4bWwuc291cmNlZm9yZ2UubmV0LyI+VGNsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvYnVnbGlzdC5jZ2k/cHJvZHVjdD1saWJ4bWwyIj5CdWcgVHJhY2tlcjwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMyIgY2VsbHNwYWNpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx0YWJsZSBjbGFzcz0ibmF2aWdhdGlvbiIgd2lkdGg9IjEwMCUiIHN1bW1hcnk9Ik5hdmlnYXRpb24gaGVhZGVyIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjIiPjx0ciB2YWxpZ249Im1pZGRsZSI+PHRkPjxhIGFjY2Vzc2tleT0icCIgaHJlZj0ibGlieG1sLXhtbHJlZ2V4cC5odG1sIj48aW1nIHNyYz0ibGVmdC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlByZXYiIC8+PC9hPjwvdGQ+PHRoIGFsaWduPSJsZWZ0Ij48YSBocmVmPSJsaWJ4bWwteG1scmVnZXhwLmh0bWwiPnhtbHJlZ2V4cDwvYT48L3RoPjx0ZD48YSBhY2Nlc3NrZXk9InUiIGhyZWY9ImluZGV4Lmh0bWwiPjxpbWcgc3JjPSJ1cC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlVwIiAvPjwvYT48L3RkPjx0aCBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iaW5kZXguaHRtbCI+QVBJIGRvY3VtZW50YXRpb248L2E+PC90aD48dGQ+PGEgYWNjZXNza2V5PSJoIiBocmVmPSIuLi9pbmRleC5odG1sIj48aW1nIHNyYz0iaG9tZS5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IkhvbWUiIC8+PC9hPjwvdGQ+PHRoIGFsaWduPSJjZW50ZXIiPjxhIGhyZWY9Ii4uL2luZGV4Lmh0bWwiPlRoZSBYTUwgQyBwYXJzZXIgYW5kIHRvb2xraXQgb2YgR25vbWU8L2E+PC90aD48dGggYWxpZ249InJpZ2h0Ij48YSBocmVmPSJsaWJ4bWwteG1sc2NoZW1hcy5odG1sIj54bWxzY2hlbWFzPC9hPjwvdGg+PHRkPjxhIGFjY2Vzc2tleT0ibiIgaHJlZj0ibGlieG1sLXhtbHNjaGVtYXMuaHRtbCI+PGltZyBzcmM9InJpZ2h0LnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iTmV4dCIgLz48L2E+PC90ZD48L3RyPjwvdGFibGU+PHA+QVBJIHRvIHNhdmUgZG9jdW1lbnQgb3Igc3VidHJlZSBvZiBkb2N1bWVudCA8L3A+PGgyPlRhYmxlIG9mIENvbnRlbnRzPC9oMj48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+U3RydWN0dXJlIDxhIGhyZWY9IiN4bWxTYXZlQ3R4dCI+eG1sU2F2ZUN0eHQ8L2E+PGJyIC8+c3RydWN0IF94bWxTYXZlQ3R4dAorVGhlIGNvbnRlbnQgb2YgdGhpcyBzdHJ1Y3R1cmUgaXMgbm90IG1hZGUgcHVibGljIGJ5IHRoZSBBUEkuCis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+VHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwteG1sc2F2ZS5odG1sI3htbFNhdmVDdHh0Ij54bWxTYXZlQ3R4dDwvYT4gKiA8YSBuYW1lPSJ4bWxTYXZlQ3R4dFB0ciIgaWQ9InhtbFNhdmVDdHh0UHRyIj54bWxTYXZlQ3R4dFB0cjwvYT4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5FbnVtIDxhIGhyZWY9IiN4bWxTYXZlT3B0aW9uIj54bWxTYXZlT3B0aW9uPC9hPgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sU2F2ZUNsb3NlIj54bWxTYXZlQ2xvc2U8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbC14bWxzYXZlLmh0bWwjeG1sU2F2ZUN0eHRQdHIiPnhtbFNhdmVDdHh0UHRyPC9hPiBjdHh0KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmxvbmcJPGEgaHJlZj0iI3htbFNhdmVEb2MiPnhtbFNhdmVEb2M8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbC14bWxzYXZlLmh0bWwjeG1sU2F2ZUN0eHRQdHIiPnhtbFNhdmVDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxTYXZlRmx1c2giPnhtbFNhdmVGbHVzaDwvYT4JCQkoPGEgaHJlZj0ibGlieG1sLXhtbHNhdmUuaHRtbCN4bWxTYXZlQ3R4dFB0ciI+eG1sU2F2ZUN0eHRQdHI8L2E+IGN0eHQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxTYXZlU2V0QXR0ckVzY2FwZSI+eG1sU2F2ZVNldEF0dHJFc2NhcGU8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXhtbHNhdmUuaHRtbCN4bWxTYXZlQ3R4dFB0ciI+eG1sU2F2ZUN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZ091dHB1dEZ1bmMiPnhtbENoYXJFbmNvZGluZ091dHB1dEZ1bmM8L2E+IGVzY2FwZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFNhdmVTZXRFc2NhcGUiPnhtbFNhdmVTZXRFc2NhcGU8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXhtbHNhdmUuaHRtbCN4bWxTYXZlQ3R4dFB0ciI+eG1sU2F2ZUN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZ091dHB1dEZ1bmMiPnhtbENoYXJFbmNvZGluZ091dHB1dEZ1bmM8L2E+IGVzY2FwZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sc2F2ZS5odG1sI3htbFNhdmVDdHh0UHRyIj54bWxTYXZlQ3R4dFB0cjwvYT4JPGEgaHJlZj0iI3htbFNhdmVUb0J1ZmZlciI+eG1sU2F2ZVRvQnVmZmVyPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyUHRyIj54bWxCdWZmZXJQdHI8L2E+IGJ1ZmZlciwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nLCA8YnIgLz4JCQkJCSBpbnQgb3B0aW9ucyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sc2F2ZS5odG1sI3htbFNhdmVDdHh0UHRyIj54bWxTYXZlQ3R4dFB0cjwvYT4JPGEgaHJlZj0iI3htbFNhdmVUb0ZkIj54bWxTYXZlVG9GZDwvYT4JCShpbnQgZmQsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyIC8+CQkJCQkgaW50IG9wdGlvbnMpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHNhdmUuaHRtbCN4bWxTYXZlQ3R4dFB0ciI+eG1sU2F2ZUN0eHRQdHI8L2E+CTxhIGhyZWY9IiN4bWxTYXZlVG9GaWxlbmFtZSI+eG1sU2F2ZVRvRmlsZW5hbWU8L2E+CShjb25zdCBjaGFyICogZmlsZW5hbWUsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyIC8+CQkJCQkgaW50IG9wdGlvbnMpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHNhdmUuaHRtbCN4bWxTYXZlQ3R4dFB0ciI+eG1sU2F2ZUN0eHRQdHI8L2E+CTxhIGhyZWY9IiN4bWxTYXZlVG9JTyI+eG1sU2F2ZVRvSU88L2E+CQkoPGEgaHJlZj0ibGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0V3JpdGVDYWxsYmFjayI+eG1sT3V0cHV0V3JpdGVDYWxsYmFjazwvYT4gaW93cml0ZSwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0Q2xvc2VDYWxsYmFjayI+eG1sT3V0cHV0Q2xvc2VDYWxsYmFjazwvYT4gaW9jbG9zZSwgPGJyIC8+CQkJCQkgdm9pZCAqIGlvY3R4LCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcsIDxiciAvPgkJCQkJIGludCBvcHRpb25zKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmxvbmcJPGEgaHJlZj0iI3htbFNhdmVUcmVlIj54bWxTYXZlVHJlZTwvYT4JCQkoPGEgaHJlZj0ibGlieG1sLXhtbHNhdmUuaHRtbCN4bWxTYXZlQ3R4dFB0ciI+eG1sU2F2ZUN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSk8L3ByZT4KKzxoMj5EZXNjcmlwdGlvbjwvaDI+Cis8aDM+PGEgbmFtZT0ieG1sU2F2ZUN0eHQiIGlkPSJ4bWxTYXZlQ3R4dCI+U3RydWN0dXJlIHhtbFNhdmVDdHh0PC9hPjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlN0cnVjdHVyZSB4bWxTYXZlQ3R4dDxiciAvPnN0cnVjdCBfeG1sU2F2ZUN0eHQgeworVGhlIGNvbnRlbnQgb2YgdGhpcyBzdHJ1Y3R1cmUgaXMgbm90IG1hZGUgcHVibGljIGJ5IHRoZSBBUEkuCit9PC9wcmU+PGgzPkVudW0gPGEgbmFtZT0ieG1sU2F2ZU9wdGlvbiIgaWQ9InhtbFNhdmVPcHRpb24iPnhtbFNhdmVPcHRpb248L2E+PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RW51bSB4bWxTYXZlT3B0aW9uIHsKKyAgICA8YSBuYW1lPSJYTUxfU0FWRV9GT1JNQVQiIGlkPSJYTUxfU0FWRV9GT1JNQVQiPlhNTF9TQVZFX0ZPUk1BVDwvYT4gPSAxIDogZm9ybWF0IHNhdmUgb3V0cHV0CisgICAgPGEgbmFtZT0iWE1MX1NBVkVfTk9fREVDTCIgaWQ9IlhNTF9TQVZFX05PX0RFQ0wiPlhNTF9TQVZFX05PX0RFQ0w8L2E+ID0gMiA6IGRyb3AgdGhlIHhtbCBkZWNsYXJhdGlvbgorICAgIDxhIG5hbWU9IlhNTF9TQVZFX05PX0VNUFRZIiBpZD0iWE1MX1NBVkVfTk9fRU1QVFkiPlhNTF9TQVZFX05PX0VNUFRZPC9hPiA9IDQgOiBubyBlbXB0eSB0YWdzCisgICAgPGEgbmFtZT0iWE1MX1NBVkVfTk9fWEhUTUwiIGlkPSJYTUxfU0FWRV9OT19YSFRNTCI+WE1MX1NBVkVfTk9fWEhUTUw8L2E+ID0gOCA6IGRpc2FibGUgWEhUTUwxIHNwZWNpZmljIHJ1bGVzCisgICAgPGEgbmFtZT0iWE1MX1NBVkVfWEhUTUwiIGlkPSJYTUxfU0FWRV9YSFRNTCI+WE1MX1NBVkVfWEhUTUw8L2E+ID0gMTYgOiBmb3JjZSBYSFRNTDEgc3BlY2lmaWMgcnVsZXMKKyAgICA8YSBuYW1lPSJYTUxfU0FWRV9BU19YTUwiIGlkPSJYTUxfU0FWRV9BU19YTUwiPlhNTF9TQVZFX0FTX1hNTDwvYT4gPSAzMiA6IGZvcmNlIFhNTCBzZXJpYWxpemF0aW9uIG9uIEhUTUwgZG9jCisgICAgPGEgbmFtZT0iWE1MX1NBVkVfQVNfSFRNTCIgaWQ9IlhNTF9TQVZFX0FTX0hUTUwiPlhNTF9TQVZFX0FTX0hUTUw8L2E+ID0gNjQgOiBmb3JjZSBIVE1MIHNlcmlhbGl6YXRpb24gb24gWE1MIGRvYworICAgIDxhIG5hbWU9IlhNTF9TQVZFX1dTTk9OU0lHIiBpZD0iWE1MX1NBVkVfV1NOT05TSUciPlhNTF9TQVZFX1dTTk9OU0lHPC9hPiA9IDEyOCA6IGZvcm1hdCB3aXRoIG5vbi1zaWduaWZpY2FudCB3aGl0ZXNwYWNlCit9Cis8L3ByZT48aDM+PGEgbmFtZT0ieG1sU2F2ZUNsb3NlIiBpZD0ieG1sU2F2ZUNsb3NlIj48L2E+RnVuY3Rpb246IHhtbFNhdmVDbG9zZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxTYXZlQ2xvc2UJCQkoPGEgaHJlZj0ibGlieG1sLXhtbHNhdmUuaHRtbCN4bWxTYXZlQ3R4dFB0ciI+eG1sU2F2ZUN0eHRQdHI8L2E+IGN0eHQpPGJyIC8+Cis8L3ByZT48cD5DbG9zZSBhIGRvY3VtZW50IHNhdmluZyBjb250ZXh0LCBpLmUuIG1ha2Ugc3VyZSB0aGF0IGFsbCBieXRlcyBoYXZlIGJlZW4gb3V0cHV0IGFuZCBmcmVlIHRoZSBhc3NvY2lhdGVkIGRhdGEuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBkb2N1bWVudCBzYXZpbmcgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBieXRlIHdyaXR0ZW4gb3IgLTEgaW4gY2FzZSBvZiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTYXZlRG9jIiBpZD0ieG1sU2F2ZURvYyI+PC9hPkZ1bmN0aW9uOiB4bWxTYXZlRG9jPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+bG9uZwl4bWxTYXZlRG9jCQkJKDxhIGhyZWY9ImxpYnhtbC14bWxzYXZlLmh0bWwjeG1sU2F2ZUN0eHRQdHIiPnhtbFNhdmVDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MpPGJyIC8+Cis8L3ByZT48cD5TYXZlIGEgZnVsbCBkb2N1bWVudCB0byBhIHNhdmluZyBjb250ZXh0IFRPRE86IFRoZSBmdW5jdGlvbiBpcyBub3QgZnVsbHkgaW1wbGVtZW50ZWQgeWV0IGFzIGl0IGRvZXMgbm90IHJldHVybiB0aGUgYnl0ZSBjb3VudCBidXQgMCBpbnN0ZWFkPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBkb2N1bWVudCBzYXZpbmcgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGRvY3VtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGJ5dGUgd3JpdHRlbiBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU2F2ZUZsdXNoIiBpZD0ieG1sU2F2ZUZsdXNoIj48L2E+RnVuY3Rpb246IHhtbFNhdmVGbHVzaDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxTYXZlRmx1c2gJCQkoPGEgaHJlZj0ibGlieG1sLXhtbHNhdmUuaHRtbCN4bWxTYXZlQ3R4dFB0ciI+eG1sU2F2ZUN0eHRQdHI8L2E+IGN0eHQpPGJyIC8+Cis8L3ByZT48cD5GbHVzaCBhIGRvY3VtZW50IHNhdmluZyBjb250ZXh0LCBpLmUuIG1ha2Ugc3VyZSB0aGF0IGFsbCBieXRlcyBoYXZlIGJlZW4gb3V0cHV0LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgZG9jdW1lbnQgc2F2aW5nIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgYnl0ZSB3cml0dGVuIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU2F2ZVNldEF0dHJFc2NhcGUiIGlkPSJ4bWxTYXZlU2V0QXR0ckVzY2FwZSI+PC9hPkZ1bmN0aW9uOiB4bWxTYXZlU2V0QXR0ckVzY2FwZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxTYXZlU2V0QXR0ckVzY2FwZQkJKDxhIGhyZWY9ImxpYnhtbC14bWxzYXZlLmh0bWwjeG1sU2F2ZUN0eHRQdHIiPnhtbFNhdmVDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmdPdXRwdXRGdW5jIj54bWxDaGFyRW5jb2RpbmdPdXRwdXRGdW5jPC9hPiBlc2NhcGUpPGJyIC8+Cis8L3ByZT48cD5TZXQgYSBjdXN0b20gZXNjYXBpbmcgZnVuY3Rpb24gdG8gYmUgdXNlZCBmb3IgdGV4dCBpbiA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IGNvbnRlbnQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGRvY3VtZW50IHNhdmluZyBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lc2NhcGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlc2NhcGluZyBmdW5jdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpZiBzdWNjZXNzZnVsIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU2F2ZVNldEVzY2FwZSIgaWQ9InhtbFNhdmVTZXRFc2NhcGUiPjwvYT5GdW5jdGlvbjogeG1sU2F2ZVNldEVzY2FwZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxTYXZlU2V0RXNjYXBlCQkoPGEgaHJlZj0ibGlieG1sLXhtbHNhdmUuaHRtbCN4bWxTYXZlQ3R4dFB0ciI+eG1sU2F2ZUN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZ091dHB1dEZ1bmMiPnhtbENoYXJFbmNvZGluZ091dHB1dEZ1bmM8L2E+IGVzY2FwZSk8YnIgLz4KKzwvcHJlPjxwPlNldCBhIGN1c3RvbSBlc2NhcGluZyBmdW5jdGlvbiB0byBiZSB1c2VkIGZvciB0ZXh0IGluIGVsZW1lbnQgY29udGVudDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgZG9jdW1lbnQgc2F2aW5nIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVzY2FwZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVzY2FwaW5nIGZ1bmN0aW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGlmIHN1Y2Nlc3NmdWwgb3IgLTEgaW4gY2FzZSBvZiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTYXZlVG9CdWZmZXIiIGlkPSJ4bWxTYXZlVG9CdWZmZXIiPjwvYT5GdW5jdGlvbjogeG1sU2F2ZVRvQnVmZmVyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHNhdmUuaHRtbCN4bWxTYXZlQ3R4dFB0ciI+eG1sU2F2ZUN0eHRQdHI8L2E+CXhtbFNhdmVUb0J1ZmZlcgkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyUHRyIj54bWxCdWZmZXJQdHI8L2E+IGJ1ZmZlciwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nLCA8YnIgLz4JCQkJCSBpbnQgb3B0aW9ucyk8YnIgLz4KKzwvcHJlPjxwPkNyZWF0ZSBhIGRvY3VtZW50IHNhdmluZyBjb250ZXh0IHNlcmlhbGl6aW5nIHRvIGEgYnVmZmVyIHdpdGggdGhlIGVuY29kaW5nIGFuZCB0aGUgb3B0aW9ucyBnaXZlbjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmJ1ZmZlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBidWZmZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVuY29kaW5nPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZW5jb2RpbmcgbmFtZSB0byB1c2Ugb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3B0aW9uczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBzZXQgb2YgeG1sU2F2ZU9wdGlvbnM8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbmV3IHNlcmlhbGl6YXRpb24gY29udGV4dCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU2F2ZVRvRmQiIGlkPSJ4bWxTYXZlVG9GZCI+PC9hPkZ1bmN0aW9uOiB4bWxTYXZlVG9GZDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxzYXZlLmh0bWwjeG1sU2F2ZUN0eHRQdHIiPnhtbFNhdmVDdHh0UHRyPC9hPgl4bWxTYXZlVG9GZAkJKGludCBmZCwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nLCA8YnIgLz4JCQkJCSBpbnQgb3B0aW9ucyk8YnIgLz4KKzwvcHJlPjxwPkNyZWF0ZSBhIGRvY3VtZW50IHNhdmluZyBjb250ZXh0IHNlcmlhbGl6aW5nIHRvIGEgZmlsZSBkZXNjcmlwdG9yIHdpdGggdGhlIGVuY29kaW5nIGFuZCB0aGUgb3B0aW9ucyBnaXZlbi48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mZDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBmaWxlIGRlc2NyaXB0b3IgbnVtYmVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbmNvZGluZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVuY29kaW5nIG5hbWUgdG8gdXNlIG9yIE5VTEw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm9wdGlvbnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgc2V0IG9mIHhtbFNhdmVPcHRpb25zPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIG5ldyBzZXJpYWxpemF0aW9uIGNvbnRleHQgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFNhdmVUb0ZpbGVuYW1lIiBpZD0ieG1sU2F2ZVRvRmlsZW5hbWUiPjwvYT5GdW5jdGlvbjogeG1sU2F2ZVRvRmlsZW5hbWU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sc2F2ZS5odG1sI3htbFNhdmVDdHh0UHRyIj54bWxTYXZlQ3R4dFB0cjwvYT4JeG1sU2F2ZVRvRmlsZW5hbWUJKGNvbnN0IGNoYXIgKiBmaWxlbmFtZSwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nLCA8YnIgLz4JCQkJCSBpbnQgb3B0aW9ucyk8YnIgLz4KKzwvcHJlPjxwPkNyZWF0ZSBhIGRvY3VtZW50IHNhdmluZyBjb250ZXh0IHNlcmlhbGl6aW5nIHRvIGEgZmlsZW5hbWUgb3IgcG9zc2libHkgdG8gYW4gVVJMIChidXQgdGhpcyBpcyBsZXNzIHJlbGlhYmxlKSB3aXRoIHRoZSBlbmNvZGluZyBhbmQgdGhlIG9wdGlvbnMgZ2l2ZW4uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmlsZW5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgZmlsZSBuYW1lIG9yIGFuIFVSTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jb2Rpbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbmNvZGluZyBuYW1lIHRvIHVzZSBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vcHRpb25zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHNldCBvZiB4bWxTYXZlT3B0aW9uczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBuZXcgc2VyaWFsaXphdGlvbiBjb250ZXh0IG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTYXZlVG9JTyIgaWQ9InhtbFNhdmVUb0lPIj48L2E+RnVuY3Rpb246IHhtbFNhdmVUb0lPPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHNhdmUuaHRtbCN4bWxTYXZlQ3R4dFB0ciI+eG1sU2F2ZUN0eHRQdHI8L2E+CXhtbFNhdmVUb0lPCQkoPGEgaHJlZj0ibGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0V3JpdGVDYWxsYmFjayI+eG1sT3V0cHV0V3JpdGVDYWxsYmFjazwvYT4gaW93cml0ZSwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0Q2xvc2VDYWxsYmFjayI+eG1sT3V0cHV0Q2xvc2VDYWxsYmFjazwvYT4gaW9jbG9zZSwgPGJyIC8+CQkJCQkgdm9pZCAqIGlvY3R4LCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogZW5jb2RpbmcsIDxiciAvPgkJCQkJIGludCBvcHRpb25zKTxiciAvPgorPC9wcmU+PHA+Q3JlYXRlIGEgZG9jdW1lbnQgc2F2aW5nIGNvbnRleHQgc2VyaWFsaXppbmcgdG8gYSBmaWxlIGRlc2NyaXB0b3Igd2l0aCB0aGUgZW5jb2RpbmcgYW5kIHRoZSBvcHRpb25zIGdpdmVuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aW93cml0ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gSS9PIHdyaXRlIGZ1bmN0aW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pb2Nsb3NlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBJL08gY2xvc2UgZnVuY3Rpb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmlvY3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBJL08gaGFuZGxlcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jb2Rpbmc8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbmNvZGluZyBuYW1lIHRvIHVzZSBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vcHRpb25zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHNldCBvZiB4bWxTYXZlT3B0aW9uczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBuZXcgc2VyaWFsaXphdGlvbiBjb250ZXh0IG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTYXZlVHJlZSIgaWQ9InhtbFNhdmVUcmVlIj48L2E+RnVuY3Rpb246IHhtbFNhdmVUcmVlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+bG9uZwl4bWxTYXZlVHJlZQkJCSg8YSBocmVmPSJsaWJ4bWwteG1sc2F2ZS5odG1sI3htbFNhdmVDdHh0UHRyIj54bWxTYXZlQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlKTxiciAvPgorPC9wcmU+PHA+U2F2ZSBhIHN1YnRyZWUgc3RhcnRpbmcgYXQgdGhlIG5vZGUgcGFyYW1ldGVyIHRvIGEgc2F2aW5nIGNvbnRleHQgVE9ETzogVGhlIGZ1bmN0aW9uIGlzIG5vdCBmdWxseSBpbXBsZW1lbnRlZCB5ZXQgYXMgaXQgZG9lcyBub3QgcmV0dXJuIHRoZSBieXRlIGNvdW50IGJ1dCAwIGluc3RlYWQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGRvY3VtZW50IHNhdmluZyBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdG9wIG5vZGUgb2YgdGhlIHN1YnRyZWUgdG8gc2F2ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBieXRlIHdyaXR0ZW4gb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PHA+PGEgaHJlZj0iLi4vYnVncy5odG1sIj5EYW5pZWwgVmVpbGxhcmQ8L2E+PC9wPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9odG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwgYi9saWJ4bWwyL2RvYy9odG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGNiNDJhMQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL2h0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbApAQCAtMCwwICsxLDE4NSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIj4KKzxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj48aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz48bGluayByZWw9IlNIT1JUQ1VUIElDT04iIGhyZWY9Ii9mYXZpY29uLmljbyIgLz48c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorVEQge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0JPRFkge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYTsgbWFyZ2luLXRvcDogMmVtOyBtYXJnaW4tbGVmdDogMGVtOyBtYXJnaW4tcmlnaHQ6IDBlbX0KK0gxIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMiB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDMge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0E6bGluaywgQTp2aXNpdGVkLCBBOmFjdGl2ZSB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIH0KKzwvc3R5bGU+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKyAgICAgIGRpdi5kZXByZWNhdGVkIHByZS5wcm9ncmFtbGlzdGluZyB7Ym9yZGVyLXN0eWxlOiBkb3VibGU7Ym9yZGVyLWNvbG9yOnJlZH0KKyAgICAgIHByZS5wcm9ncmFtbGlzdGluZyB7Ym9yZGVyLXN0eWxlOiBkb3VibGU7YmFja2dyb3VuZDogI0VFQ0ZBMX0KKyAgICA8L3N0eWxlPjx0aXRsZT5Nb2R1bGUgeG1sc2NoZW1hcyBmcm9tIGxpYnhtbDI8L3RpdGxlPjwvaGVhZD48Ym9keSBiZ2NvbG9yPSIjOGI3NzY1IiB0ZXh0PSIjMDAwMDAwIiBsaW5rPSIjYTA2MDYwIiB2bGluaz0iIzAwMDAwMCI+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjEwMCUiIGNlbGxwYWRkaW5nPSI1IiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCB3aWR0aD0iMTIwIj48YSBocmVmPSJodHRwOi8vc3dwYXQuZmZpaS5vcmcvIj48aW1nIHNyYz0iLi4vZXBhdGVudHMucG5nIiBhbHQ9IkFjdGlvbiBhZ2FpbnN0IHNvZnR3YXJlIHBhdGVudHMiIC8+PC9hPjwvdGQ+PHRkIHdpZHRoPSIxODAiPjxhIGhyZWY9Imh0dHA6Ly93d3cuZ25vbWUub3JnLyI+PGltZyBzcmM9Ii4uL2dub21lMi5wbmciIGFsdD0iR25vbWUyIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1N0YXR1cyI+PGltZyBzcmM9Ii4uL3czYy5wbmciIGFsdD0iVzNDIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cucmVkaGF0LmNvbS8iPjxpbWcgc3JjPSIuLi9yZWRoYXQuZ2lmIiBhbHQ9IlJlZCBIYXQgTG9nbyIgLz48L2E+PGRpdiBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnLyI+PGltZyBzcmM9Ii4uL0xpYnhtbDItTG9nby0xODB4MTY4LmdpZiIgYWx0PSJNYWRlIHdpdGggTGlieG1sMiBMb2dvIiAvPjwvYT48L2Rpdj48L3RkPjx0ZD48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iOTAlIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyIgYmdjb2xvcj0iI2ZmZmFjZCI+PHRyPjx0ZCBhbGlnbj0iY2VudGVyIj48aDE+PC9oMT48aDI+TW9kdWxlIHhtbHNjaGVtYXMgZnJvbSBsaWJ4bWwyPC9oMj48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iNCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiIgd2lkdGg9IjEwMCUiPjx0cj48dGQgdmFsaWduPSJ0b3AiIHdpZHRoPSIyMDAiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPkFQSSBNZW51PC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjxmb3JtIGFjdGlvbj0iLi4vc2VhcmNoLnBocCIgZW5jdHlwZT0iYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIiBtZXRob2Q9ImdldCI+PGlucHV0IG5hbWU9InF1ZXJ5IiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IiIgLz48aW5wdXQgbmFtZT0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJTZWFyY2ggLi4uIiAvPjwvZm9ybT48dWw+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSIuLi9pbmRleC5odG1sIj5NYWluIE1lbnU8L2E+PC9saT48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9Ii4uL2RvY3MuaHRtbCI+RGV2ZWxvcGVyIE1lbnU8L2E+PC9saT48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9Ii4uL2V4YW1wbGVzL2luZGV4Lmh0bWwiPkNvZGUgRXhhbXBsZXM8L2E+PC9saT48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9ImluZGV4Lmh0bWwiPkFQSSBNZW51PC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1wYXJzZXIuaHRtbCI+UGFyc2VyIEFQSTwvYT48L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sIj5UcmVlIEFQSTwvYT48L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwiPlJlYWRlciBBUEk8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vZ3VpZGVsaW5lcy5odG1sIj5YTUwgR3VpZGVsaW5lczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9DaGFuZ2VMb2cuaHRtbCI+Q2hhbmdlTG9nPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+QVBJIEluZGV4ZXM8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSIuLi9BUEljaHVuazAuaHRtbCI+QWxwaGFiZXRpYzwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUEljb25zdHJ1Y3RvcnMuaHRtbCI+Q29uc3RydWN0b3JzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSWZ1bmN0aW9ucy5odG1sIj5GdW5jdGlvbnMvVHlwZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJZmlsZXMuaHRtbCI+TW9kdWxlczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUElzeW1ib2xzLmh0bWwiPlN5bWJvbHM8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5SZWxhdGVkIGxpbmtzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iaHR0cDovL21haWwuZ25vbWUub3JnL2FyY2hpdmVzL3htbC8iPk1haWwgYXJjaGl2ZTwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvWFNMVC8iPlhTTFQgbGlieHNsdDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vcGhkLmNzLnVuaWJvLml0L2dkb21lMi8iPkRPTSBnZG9tZTI8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5hbGVrc2V5LmNvbS94bWxzZWMvIj5YTUwtRFNpZyB4bWxzZWM8L2E+PC9saT48bGk+PGEgaHJlZj0iZnRwOi8veG1sc29mdC5vcmcvIj5GVFA8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56bGF0a292aWMuY29tL3Byb2plY3RzL2xpYnhtbC8iPldpbmRvd3MgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL29wZW5jc3cub3JnL3BhY2thZ2VzL2xpYnhtbDIiPlNvbGFyaXMgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5leHBsYWluLmNvbS5hdS9vc3MvbGlieG1sMnhzbHQuaHRtbCI+TWFjT3NYIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9seG1sLmRlLyI+bHhtbCBQeXRob24gYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2NwYW4udXdpbm5pcGVnLmNhL2Rpc3QvWE1MLUxpYlhNTCI+UGVybCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1scGx1c3BsdXMuc291cmNlZm9yZ2UubmV0LyI+QysrIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemVuZC5jb20vcGhwNS9hcnRpY2xlcy9waHA1LXhtbHBocC5waHAjSGVhZGluZzQiPlBIUCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2xpYnhtbDItcGFzLyI+UGFzY2FsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWwucnVieWZvcmdlLm9yZy8iPlJ1YnkgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3RjbHhtbC5zb3VyY2Vmb3JnZS5uZXQvIj5UY2wgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9idWdsaXN0LmNnaT9wcm9kdWN0PWxpYnhtbDIiPkJ1ZyBUcmFja2VyPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIzIiBjZWxsc3BhY2luZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHRhYmxlIGNsYXNzPSJuYXZpZ2F0aW9uIiB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBoZWFkZXIiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMiI+PHRyIHZhbGlnbj0ibWlkZGxlIj48dGQ+PGEgYWNjZXNza2V5PSJwIiBocmVmPSJsaWJ4bWwteG1sc2F2ZS5odG1sIj48aW1nIHNyYz0ibGVmdC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlByZXYiIC8+PC9hPjwvdGQ+PHRoIGFsaWduPSJsZWZ0Ij48YSBocmVmPSJsaWJ4bWwteG1sc2F2ZS5odG1sIj54bWxzYXZlPC9hPjwvdGg+PHRkPjxhIGFjY2Vzc2tleT0idSIgaHJlZj0iaW5kZXguaHRtbCI+PGltZyBzcmM9InVwLnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iVXAiIC8+PC9hPjwvdGQ+PHRoIGFsaWduPSJsZWZ0Ij48YSBocmVmPSJpbmRleC5odG1sIj5BUEkgZG9jdW1lbnRhdGlvbjwvYT48L3RoPjx0ZD48YSBhY2Nlc3NrZXk9ImgiIGhyZWY9Ii4uL2luZGV4Lmh0bWwiPjxpbWcgc3JjPSJob21lLnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iSG9tZSIgLz48L2E+PC90ZD48dGggYWxpZ249ImNlbnRlciI+PGEgaHJlZj0iLi4vaW5kZXguaHRtbCI+VGhlIFhNTCBDIHBhcnNlciBhbmQgdG9vbGtpdCBvZiBHbm9tZTwvYT48L3RoPjx0aCBhbGlnbj0icmlnaHQiPjxhIGhyZWY9ImxpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCI+eG1sc2NoZW1hc3R5cGVzPC9hPjwvdGg+PHRkPjxhIGFjY2Vzc2tleT0ibiIgaHJlZj0ibGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sIj48aW1nIHNyYz0icmlnaHQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJOZXh0IiAvPjwvYT48L3RkPjwvdHI+PC90YWJsZT48cD5pbnRlcmZhY2UgdG8gdGhlIFhNTCBTY2hlbWFzIGhhbmRsaW5nIGFuZCBzY2hlbWEgdmFsaWRpdHkgY2hlY2tpbmcsIGl0IGlzIGluY29tcGxldGUgcmlnaHQgbm93LiA8L3A+PGgyPlRhYmxlIG9mIENvbnRlbnRzPC9oMj48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+U3RydWN0dXJlIDxhIGhyZWY9IiN4bWxTY2hlbWEiPnhtbFNjaGVtYTwvYT48YnIgLz5zdHJ1Y3QgX3htbFNjaGVtYQorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlN0cnVjdHVyZSA8YSBocmVmPSIjeG1sU2NoZW1hUGFyc2VyQ3R4dCI+eG1sU2NoZW1hUGFyc2VyQ3R4dDwvYT48YnIgLz5zdHJ1Y3QgX3htbFNjaGVtYVBhcnNlckN0eHQKK1RoZSBjb250ZW50IG9mIHRoaXMgc3RydWN0dXJlIGlzIG5vdCBtYWRlIHB1YmxpYyBieSB0aGUgQVBJLgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlR5cGVkZWYgPGEgaHJlZj0ibGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFQYXJzZXJDdHh0Ij54bWxTY2hlbWFQYXJzZXJDdHh0PC9hPiAqIDxhIG5hbWU9InhtbFNjaGVtYVBhcnNlckN0eHRQdHIiIGlkPSJ4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIj54bWxTY2hlbWFQYXJzZXJDdHh0UHRyPC9hPgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlR5cGVkZWYgPGEgaHJlZj0ibGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWEiPnhtbFNjaGVtYTwvYT4gKiA8YSBuYW1lPSJ4bWxTY2hlbWFQdHIiIGlkPSJ4bWxTY2hlbWFQdHIiPnhtbFNjaGVtYVB0cjwvYT4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5UeXBlZGVmIDxhIGhyZWY9ImxpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hU0FYUGx1Z1N0cnVjdCI+eG1sU2NoZW1hU0FYUGx1Z1N0cnVjdDwvYT4gKiA8YSBuYW1lPSJ4bWxTY2hlbWFTQVhQbHVnUHRyIiBpZD0ieG1sU2NoZW1hU0FYUGx1Z1B0ciI+eG1sU2NoZW1hU0FYUGx1Z1B0cjwvYT4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgPGEgaHJlZj0iI3htbFNjaGVtYVNBWFBsdWdTdHJ1Y3QiPnhtbFNjaGVtYVNBWFBsdWdTdHJ1Y3Q8L2E+PGJyIC8+c3RydWN0IF94bWxTY2hlbWFTQVhQbHVnCitUaGUgY29udGVudCBvZiB0aGlzIHN0cnVjdHVyZSBpcyBub3QgbWFkZSBwdWJsaWMgYnkgdGhlIEFQSS4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgPGEgaHJlZj0iI3htbFNjaGVtYVZhbGlkQ3R4dCI+eG1sU2NoZW1hVmFsaWRDdHh0PC9hPjxiciAvPnN0cnVjdCBfeG1sU2NoZW1hVmFsaWRDdHh0CitUaGUgY29udGVudCBvZiB0aGlzIHN0cnVjdHVyZSBpcyBub3QgbWFkZSBwdWJsaWMgYnkgdGhlIEFQSS4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5UeXBlZGVmIDxhIGhyZWY9ImxpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRDdHh0Ij54bWxTY2hlbWFWYWxpZEN0eHQ8L2E+ICogPGEgbmFtZT0ieG1sU2NoZW1hVmFsaWRDdHh0UHRyIiBpZD0ieG1sU2NoZW1hVmFsaWRDdHh0UHRyIj54bWxTY2hlbWFWYWxpZEN0eHRQdHI8L2E+Cis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RW51bSA8YSBocmVmPSIjeG1sU2NoZW1hVmFsaWRFcnJvciI+eG1sU2NoZW1hVmFsaWRFcnJvcjwvYT4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5FbnVtIDxhIGhyZWY9IiN4bWxTY2hlbWFWYWxpZE9wdGlvbiI+eG1sU2NoZW1hVmFsaWRPcHRpb248L2E+Cis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sU2NoZW1hRHVtcCI+eG1sU2NoZW1hRHVtcDwvYT4JCQkoRklMRSAqIG91dHB1dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFQdHIiPnhtbFNjaGVtYVB0cjwvYT4gc2NoZW1hKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFNjaGVtYUZyZWUiPnhtbFNjaGVtYUZyZWU8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hUHRyIj54bWxTY2hlbWFQdHI8L2E+IHNjaGVtYSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxTY2hlbWFGcmVlUGFyc2VyQ3R4dCI+eG1sU2NoZW1hRnJlZVBhcnNlckN0eHQ8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIj54bWxTY2hlbWFQYXJzZXJDdHh0UHRyPC9hPiBjdHh0KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFNjaGVtYUZyZWVWYWxpZEN0eHQiPnhtbFNjaGVtYUZyZWVWYWxpZEN0eHQ8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZEN0eHRQdHIiPnhtbFNjaGVtYVZhbGlkQ3R4dFB0cjwvYT4gY3R4dCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFNjaGVtYUdldFBhcnNlckVycm9ycyI+eG1sU2NoZW1hR2V0UGFyc2VyRXJyb3JzPC9hPgkoPGEgaHJlZj0ibGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIj54bWxTY2hlbWFQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkaXR5RXJyb3JGdW5jIj54bWxTY2hlbWFWYWxpZGl0eUVycm9yRnVuYzwvYT4gKiBlcnIsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRpdHlXYXJuaW5nRnVuYyI+eG1sU2NoZW1hVmFsaWRpdHlXYXJuaW5nRnVuYzwvYT4gKiB3YXJuLCA8YnIgLz4JCQkJCSB2b2lkICoqIGN0eCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFNjaGVtYUdldFZhbGlkRXJyb3JzIj54bWxTY2hlbWFHZXRWYWxpZEVycm9yczwvYT4JCSg8YSBocmVmPSJsaWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkQ3R4dFB0ciI+eG1sU2NoZW1hVmFsaWRDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkaXR5RXJyb3JGdW5jIj54bWxTY2hlbWFWYWxpZGl0eUVycm9yRnVuYzwvYT4gKiBlcnIsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRpdHlXYXJuaW5nRnVuYyI+eG1sU2NoZW1hVmFsaWRpdHlXYXJuaW5nRnVuYzwvYT4gKiB3YXJuLCA8YnIgLz4JCQkJCSB2b2lkICoqIGN0eCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFNjaGVtYUlzVmFsaWQiPnhtbFNjaGVtYUlzVmFsaWQ8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZEN0eHRQdHIiPnhtbFNjaGVtYVZhbGlkQ3R4dFB0cjwvYT4gY3R4dCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVBhcnNlckN0eHRQdHIiPnhtbFNjaGVtYVBhcnNlckN0eHRQdHI8L2E+CTxhIGhyZWY9IiN4bWxTY2hlbWFOZXdEb2NQYXJzZXJDdHh0Ij54bWxTY2hlbWFOZXdEb2NQYXJzZXJDdHh0PC9hPgkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciI+eG1sU2NoZW1hUGFyc2VyQ3R4dFB0cjwvYT4JPGEgaHJlZj0iI3htbFNjaGVtYU5ld01lbVBhcnNlckN0eHQiPnhtbFNjaGVtYU5ld01lbVBhcnNlckN0eHQ8L2E+CShjb25zdCBjaGFyICogYnVmZmVyLCA8YnIgLz4JCQkJCQkJIGludCBzaXplKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciI+eG1sU2NoZW1hUGFyc2VyQ3R4dFB0cjwvYT4JPGEgaHJlZj0iI3htbFNjaGVtYU5ld1BhcnNlckN0eHQiPnhtbFNjaGVtYU5ld1BhcnNlckN0eHQ8L2E+CShjb25zdCBjaGFyICogVVJMKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRDdHh0UHRyIj54bWxTY2hlbWFWYWxpZEN0eHRQdHI8L2E+CTxhIGhyZWY9IiN4bWxTY2hlbWFOZXdWYWxpZEN0eHQiPnhtbFNjaGVtYU5ld1ZhbGlkQ3R4dDwvYT4JKDxhIGhyZWY9ImxpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hUHRyIj54bWxTY2hlbWFQdHI8L2E+IHNjaGVtYSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVB0ciI+eG1sU2NoZW1hUHRyPC9hPgk8YSBocmVmPSIjeG1sU2NoZW1hUGFyc2UiPnhtbFNjaGVtYVBhcnNlPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciI+eG1sU2NoZW1hUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVNBWFBsdWdQdHIiPnhtbFNjaGVtYVNBWFBsdWdQdHI8L2E+CTxhIGhyZWY9IiN4bWxTY2hlbWFTQVhQbHVnIj54bWxTY2hlbWFTQVhQbHVnPC9hPgkoPGEgaHJlZj0ibGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZEN0eHRQdHIiPnhtbFNjaGVtYVZhbGlkQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sU0FYSGFuZGxlclB0ciI+eG1sU0FYSGFuZGxlclB0cjwvYT4gKiBzYXgsIDxiciAvPgkJCQkJCSB2b2lkICoqIHVzZXJfZGF0YSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFNjaGVtYVNBWFVucGx1ZyI+eG1sU2NoZW1hU0FYVW5wbHVnPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hU0FYUGx1Z1B0ciI+eG1sU2NoZW1hU0FYUGx1Z1B0cjwvYT4gcGx1Zyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxTY2hlbWFTZXRQYXJzZXJFcnJvcnMiPnhtbFNjaGVtYVNldFBhcnNlckVycm9yczwvYT4JKDxhIGhyZWY9ImxpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciI+eG1sU2NoZW1hUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZGl0eUVycm9yRnVuYyI+eG1sU2NoZW1hVmFsaWRpdHlFcnJvckZ1bmM8L2E+IGVyciwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZGl0eVdhcm5pbmdGdW5jIj54bWxTY2hlbWFWYWxpZGl0eVdhcm5pbmdGdW5jPC9hPiB3YXJuLCA8YnIgLz4JCQkJCSB2b2lkICogY3R4KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFNjaGVtYVNldFBhcnNlclN0cnVjdHVyZWRFcnJvcnMiPnhtbFNjaGVtYVNldFBhcnNlclN0cnVjdHVyZWRFcnJvcnM8L2E+CSg8YSBocmVmPSJsaWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVBhcnNlckN0eHRQdHIiPnhtbFNjaGVtYVBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jIj54bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jPC9hPiBzZXJyb3IsIDxiciAvPgkJCQkJCSB2b2lkICogY3R4KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFNjaGVtYVNldFZhbGlkRXJyb3JzIj54bWxTY2hlbWFTZXRWYWxpZEVycm9yczwvYT4JCSg8YSBocmVmPSJsaWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkQ3R4dFB0ciI+eG1sU2NoZW1hVmFsaWRDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkaXR5RXJyb3JGdW5jIj54bWxTY2hlbWFWYWxpZGl0eUVycm9yRnVuYzwvYT4gZXJyLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkaXR5V2FybmluZ0Z1bmMiPnhtbFNjaGVtYVZhbGlkaXR5V2FybmluZ0Z1bmM8L2E+IHdhcm4sIDxiciAvPgkJCQkJIHZvaWQgKiBjdHgpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxTY2hlbWFTZXRWYWxpZE9wdGlvbnMiPnhtbFNjaGVtYVNldFZhbGlkT3B0aW9uczwvYT4JKDxhIGhyZWY9ImxpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRDdHh0UHRyIj54bWxTY2hlbWFWYWxpZEN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIGludCBvcHRpb25zKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFNjaGVtYVNldFZhbGlkU3RydWN0dXJlZEVycm9ycyI+eG1sU2NoZW1hU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzPC9hPgkoPGEgaHJlZj0ibGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZEN0eHRQdHIiPnhtbFNjaGVtYVZhbGlkQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxlcnJvci5odG1sI3htbFN0cnVjdHVyZWRFcnJvckZ1bmMiPnhtbFN0cnVjdHVyZWRFcnJvckZ1bmM8L2E+IHNlcnJvciwgPGJyIC8+CQkJCQkJIHZvaWQgKiBjdHgpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxTY2hlbWFWYWxpZEN0eHRHZXRPcHRpb25zIj54bWxTY2hlbWFWYWxpZEN0eHRHZXRPcHRpb25zPC9hPgkoPGEgaHJlZj0ibGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZEN0eHRQdHIiPnhtbFNjaGVtYVZhbGlkQ3R4dFB0cjwvYT4gY3R4dCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+CTxhIGhyZWY9IiN4bWxTY2hlbWFWYWxpZEN0eHRHZXRQYXJzZXJDdHh0Ij54bWxTY2hlbWFWYWxpZEN0eHRHZXRQYXJzZXJDdHh0PC9hPgkoPGEgaHJlZj0ibGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZEN0eHRQdHIiPnhtbFNjaGVtYVZhbGlkQ3R4dFB0cjwvYT4gY3R4dCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFNjaGVtYVZhbGlkYXRlRG9jIj54bWxTY2hlbWFWYWxpZGF0ZURvYzwvYT4JCSg8YSBocmVmPSJsaWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkQ3R4dFB0ciI+eG1sU2NoZW1hVmFsaWRDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxTY2hlbWFWYWxpZGF0ZUZpbGUiPnhtbFNjaGVtYVZhbGlkYXRlRmlsZTwvYT4JCSg8YSBocmVmPSJsaWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkQ3R4dFB0ciI+eG1sU2NoZW1hVmFsaWRDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogZmlsZW5hbWUsIDxiciAvPgkJCQkJIGludCBvcHRpb25zKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sU2NoZW1hVmFsaWRhdGVPbmVFbGVtZW50Ij54bWxTY2hlbWFWYWxpZGF0ZU9uZUVsZW1lbnQ8L2E+CSg8YSBocmVmPSJsaWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkQ3R4dFB0ciI+eG1sU2NoZW1hVmFsaWRDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGVsZW0pPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sU2NoZW1hVmFsaWRhdGVTZXRGaWxlbmFtZSI+eG1sU2NoZW1hVmFsaWRhdGVTZXRGaWxlbmFtZTwvYT4JKDxhIGhyZWY9ImxpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRDdHh0UHRyIj54bWxTY2hlbWFWYWxpZEN0eHRQdHI8L2E+IHZjdHh0LCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogZmlsZW5hbWUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sU2NoZW1hVmFsaWRhdGVTZXRMb2NhdG9yIj54bWxTY2hlbWFWYWxpZGF0ZVNldExvY2F0b3I8L2E+CSg8YSBocmVmPSJsaWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkQ3R4dFB0ciI+eG1sU2NoZW1hVmFsaWRDdHh0UHRyPC9hPiB2Y3R4dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZGl0eUxvY2F0b3JGdW5jIj54bWxTY2hlbWFWYWxpZGl0eUxvY2F0b3JGdW5jPC9hPiBmLCA8YnIgLz4JCQkJCSB2b2lkICogY3R4dCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFNjaGVtYVZhbGlkYXRlU3RyZWFtIj54bWxTY2hlbWFWYWxpZGF0ZVN0cmVhbTwvYT4JCSg8YSBocmVmPSJsaWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkQ3R4dFB0ciI+eG1sU2NoZW1hVmFsaWRDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyUHRyIj54bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cjwvYT4gaW5wdXQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZyI+eG1sQ2hhckVuY29kaW5nPC9hPiBlbmMsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sU0FYSGFuZGxlclB0ciI+eG1sU0FYSGFuZGxlclB0cjwvYT4gc2F4LCA8YnIgLz4JCQkJCSB2b2lkICogdXNlcl9kYXRhKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkZ1bmN0aW9uIHR5cGU6IDxhIGhyZWY9IiN4bWxTY2hlbWFWYWxpZGl0eUVycm9yRnVuYyI+eG1sU2NoZW1hVmFsaWRpdHlFcnJvckZ1bmM8L2E+Cit2b2lkCTxhIGhyZWY9IiN4bWxTY2hlbWFWYWxpZGl0eUVycm9yRnVuYyI+eG1sU2NoZW1hVmFsaWRpdHlFcnJvckZ1bmM8L2E+CSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogbXNnLCA8YnIgLz4JCQkJCSAuLi4gLi4uKQorPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RnVuY3Rpb24gdHlwZTogPGEgaHJlZj0iI3htbFNjaGVtYVZhbGlkaXR5TG9jYXRvckZ1bmMiPnhtbFNjaGVtYVZhbGlkaXR5TG9jYXRvckZ1bmM8L2E+CitpbnQJPGEgaHJlZj0iI3htbFNjaGVtYVZhbGlkaXR5TG9jYXRvckZ1bmMiPnhtbFNjaGVtYVZhbGlkaXR5TG9jYXRvckZ1bmM8L2E+CSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICoqIGZpbGUsIDxiciAvPgkJCQkJIHVuc2lnbmVkIGxvbmcgKiBsaW5lKQorPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RnVuY3Rpb24gdHlwZTogPGEgaHJlZj0iI3htbFNjaGVtYVZhbGlkaXR5V2FybmluZ0Z1bmMiPnhtbFNjaGVtYVZhbGlkaXR5V2FybmluZ0Z1bmM8L2E+Cit2b2lkCTxhIGhyZWY9IiN4bWxTY2hlbWFWYWxpZGl0eVdhcm5pbmdGdW5jIj54bWxTY2hlbWFWYWxpZGl0eVdhcm5pbmdGdW5jPC9hPgkodm9pZCAqIGN0eCwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIG1zZywgPGJyIC8+CQkJCQkgLi4uIC4uLikKKzwvcHJlPgorPGgyPkRlc2NyaXB0aW9uPC9oMj4KKzxoMz48YSBuYW1lPSJ4bWxTY2hlbWEiIGlkPSJ4bWxTY2hlbWEiPlN0cnVjdHVyZSB4bWxTY2hlbWE8L2E+PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+U3RydWN0dXJlIHhtbFNjaGVtYTxiciAvPnN0cnVjdCBfeG1sU2NoZW1hIHsKKyAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgluYW1lCTogc2NoZW1hIG5hbWUKKyAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl0YXJnZXROYW1lc3BhY2UJOiB0aGUgdGFyZ2V0IG5hbWVzcGFjZQorICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXZlcnNpb24KKyAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKglpZAk6IE9ic29sZXRlCisgICAgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4JZG9jCisgICAgPGEgaHJlZj0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFBbm5vdFB0ciI+eG1sU2NoZW1hQW5ub3RQdHI8L2E+CWFubm90CisgICAgaW50CWZsYWdzCisgICAgPGEgaHJlZj0ibGlieG1sLWhhc2guaHRtbCN4bWxIYXNoVGFibGVQdHIiPnhtbEhhc2hUYWJsZVB0cjwvYT4JdHlwZURlY2wKKyAgICA8YSBocmVmPSJsaWJ4bWwtaGFzaC5odG1sI3htbEhhc2hUYWJsZVB0ciI+eG1sSGFzaFRhYmxlUHRyPC9hPglhdHRyRGVjbAorICAgIDxhIGhyZWY9ImxpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFRhYmxlUHRyIj54bWxIYXNoVGFibGVQdHI8L2E+CWF0dHJncnBEZWNsCisgICAgPGEgaHJlZj0ibGlieG1sLWhhc2guaHRtbCN4bWxIYXNoVGFibGVQdHIiPnhtbEhhc2hUYWJsZVB0cjwvYT4JZWxlbURlY2wKKyAgICA8YSBocmVmPSJsaWJ4bWwtaGFzaC5odG1sI3htbEhhc2hUYWJsZVB0ciI+eG1sSGFzaFRhYmxlUHRyPC9hPglub3RhRGVjbAorICAgIDxhIGhyZWY9ImxpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFRhYmxlUHRyIj54bWxIYXNoVGFibGVQdHI8L2E+CXNjaGVtYXNJbXBvcnRzCisgICAgdm9pZCAqCV9wcml2YXRlCTogdW51c2VkIGJ5IHRoZSBsaWJyYXJ5IGZvciB1c2VycyBvciBiaW5kCisgICAgPGEgaHJlZj0ibGlieG1sLWhhc2guaHRtbCN4bWxIYXNoVGFibGVQdHIiPnhtbEhhc2hUYWJsZVB0cjwvYT4JZ3JvdXBEZWNsCisgICAgPGEgaHJlZj0ibGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0UHRyIj54bWxEaWN0UHRyPC9hPglkaWN0CisgICAgdm9pZCAqCWluY2x1ZGVzCTogdGhlIGluY2x1ZGVzLCB0aGlzIGlzIG9wYXF1ZSBmb3Igbm93CisgICAgaW50CXByZXNlcnZlCTogd2hldGhlciB0byBmcmVlIHRoZSBkb2N1bWVudAorICAgIGludAljb3VudGVyCTogdXNlZCB0byBnaXZlIG9ub255bW91cyBjb21wb25lbnRzIHVuaXF1CisgICAgPGEgaHJlZj0ibGlieG1sLWhhc2guaHRtbCN4bWxIYXNoVGFibGVQdHIiPnhtbEhhc2hUYWJsZVB0cjwvYT4JaWRjRGVmCTogQWxsIGlkZW50aXR5LWNvbnN0cmFpbnQgZGVmcy4KKyAgICB2b2lkICoJdm9sYXRpbGVzCTogT2Jzb2xldGUKK308L3ByZT48aDM+PGEgbmFtZT0ieG1sU2NoZW1hUGFyc2VyQ3R4dCIgaWQ9InhtbFNjaGVtYVBhcnNlckN0eHQiPlN0cnVjdHVyZSB4bWxTY2hlbWFQYXJzZXJDdHh0PC9hPjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlN0cnVjdHVyZSB4bWxTY2hlbWFQYXJzZXJDdHh0PGJyIC8+c3RydWN0IF94bWxTY2hlbWFQYXJzZXJDdHh0IHsKK1RoZSBjb250ZW50IG9mIHRoaXMgc3RydWN0dXJlIGlzIG5vdCBtYWRlIHB1YmxpYyBieSB0aGUgQVBJLgorfTwvcHJlPjxoMz48YSBuYW1lPSJ4bWxTY2hlbWFTQVhQbHVnU3RydWN0IiBpZD0ieG1sU2NoZW1hU0FYUGx1Z1N0cnVjdCI+U3RydWN0dXJlIHhtbFNjaGVtYVNBWFBsdWdTdHJ1Y3Q8L2E+PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+U3RydWN0dXJlIHhtbFNjaGVtYVNBWFBsdWdTdHJ1Y3Q8YnIgLz5zdHJ1Y3QgX3htbFNjaGVtYVNBWFBsdWcgeworVGhlIGNvbnRlbnQgb2YgdGhpcyBzdHJ1Y3R1cmUgaXMgbm90IG1hZGUgcHVibGljIGJ5IHRoZSBBUEkuCit9PC9wcmU+PGgzPjxhIG5hbWU9InhtbFNjaGVtYVZhbGlkQ3R4dCIgaWQ9InhtbFNjaGVtYVZhbGlkQ3R4dCI+U3RydWN0dXJlIHhtbFNjaGVtYVZhbGlkQ3R4dDwvYT48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgeG1sU2NoZW1hVmFsaWRDdHh0PGJyIC8+c3RydWN0IF94bWxTY2hlbWFWYWxpZEN0eHQgeworVGhlIGNvbnRlbnQgb2YgdGhpcyBzdHJ1Y3R1cmUgaXMgbm90IG1hZGUgcHVibGljIGJ5IHRoZSBBUEkuCit9PC9wcmU+PGgzPkVudW0gPGEgbmFtZT0ieG1sU2NoZW1hVmFsaWRFcnJvciIgaWQ9InhtbFNjaGVtYVZhbGlkRXJyb3IiPnhtbFNjaGVtYVZhbGlkRXJyb3I8L2E+PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RW51bSB4bWxTY2hlbWFWYWxpZEVycm9yIHsKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BU19FUlJfT0siIGlkPSJYTUxfU0NIRU1BU19FUlJfT0siPlhNTF9TQ0hFTUFTX0VSUl9PSzwvYT4gPSAwCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVNfRVJSX05PUk9PVCIgaWQ9IlhNTF9TQ0hFTUFTX0VSUl9OT1JPT1QiPlhNTF9TQ0hFTUFTX0VSUl9OT1JPT1Q8L2E+ID0gMQorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFTX0VSUl9VTkRFQ0xBUkVERUxFTSIgaWQ9IlhNTF9TQ0hFTUFTX0VSUl9VTkRFQ0xBUkVERUxFTSI+WE1MX1NDSEVNQVNfRVJSX1VOREVDTEFSRURFTEVNPC9hPiA9IDIKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BU19FUlJfTk9UVE9QTEVWRUwiIGlkPSJYTUxfU0NIRU1BU19FUlJfTk9UVE9QTEVWRUwiPlhNTF9TQ0hFTUFTX0VSUl9OT1RUT1BMRVZFTDwvYT4gPSAzCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVNfRVJSX01JU1NJTkciIGlkPSJYTUxfU0NIRU1BU19FUlJfTUlTU0lORyI+WE1MX1NDSEVNQVNfRVJSX01JU1NJTkc8L2E+ID0gNAorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFTX0VSUl9XUk9OR0VMRU0iIGlkPSJYTUxfU0NIRU1BU19FUlJfV1JPTkdFTEVNIj5YTUxfU0NIRU1BU19FUlJfV1JPTkdFTEVNPC9hPiA9IDUKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BU19FUlJfTk9UWVBFIiBpZD0iWE1MX1NDSEVNQVNfRVJSX05PVFlQRSI+WE1MX1NDSEVNQVNfRVJSX05PVFlQRTwvYT4gPSA2CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVNfRVJSX05PUk9MTEJBQ0siIGlkPSJYTUxfU0NIRU1BU19FUlJfTk9ST0xMQkFDSyI+WE1MX1NDSEVNQVNfRVJSX05PUk9MTEJBQ0s8L2E+ID0gNworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFTX0VSUl9JU0FCU1RSQUNUIiBpZD0iWE1MX1NDSEVNQVNfRVJSX0lTQUJTVFJBQ1QiPlhNTF9TQ0hFTUFTX0VSUl9JU0FCU1RSQUNUPC9hPiA9IDgKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BU19FUlJfTk9URU1QVFkiIGlkPSJYTUxfU0NIRU1BU19FUlJfTk9URU1QVFkiPlhNTF9TQ0hFTUFTX0VSUl9OT1RFTVBUWTwvYT4gPSA5CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVNfRVJSX0VMRU1DT05UIiBpZD0iWE1MX1NDSEVNQVNfRVJSX0VMRU1DT05UIj5YTUxfU0NIRU1BU19FUlJfRUxFTUNPTlQ8L2E+ID0gMTAKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BU19FUlJfSEFWRURFRkFVTFQiIGlkPSJYTUxfU0NIRU1BU19FUlJfSEFWRURFRkFVTFQiPlhNTF9TQ0hFTUFTX0VSUl9IQVZFREVGQVVMVDwvYT4gPSAxMQorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFTX0VSUl9OT1ROSUxMQUJMRSIgaWQ9IlhNTF9TQ0hFTUFTX0VSUl9OT1ROSUxMQUJMRSI+WE1MX1NDSEVNQVNfRVJSX05PVE5JTExBQkxFPC9hPiA9IDEyCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVNfRVJSX0VYVFJBQ09OVEVOVCIgaWQ9IlhNTF9TQ0hFTUFTX0VSUl9FWFRSQUNPTlRFTlQiPlhNTF9TQ0hFTUFTX0VSUl9FWFRSQUNPTlRFTlQ8L2E+ID0gMTMKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BU19FUlJfSU5WQUxJREFUVFIiIGlkPSJYTUxfU0NIRU1BU19FUlJfSU5WQUxJREFUVFIiPlhNTF9TQ0hFTUFTX0VSUl9JTlZBTElEQVRUUjwvYT4gPSAxNAorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFTX0VSUl9JTlZBTElERUxFTSIgaWQ9IlhNTF9TQ0hFTUFTX0VSUl9JTlZBTElERUxFTSI+WE1MX1NDSEVNQVNfRVJSX0lOVkFMSURFTEVNPC9hPiA9IDE1CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVNfRVJSX05PVERFVEVSTUlOSVNUIiBpZD0iWE1MX1NDSEVNQVNfRVJSX05PVERFVEVSTUlOSVNUIj5YTUxfU0NIRU1BU19FUlJfTk9UREVURVJNSU5JU1Q8L2E+ID0gMTYKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BU19FUlJfQ09OU1RSVUNUIiBpZD0iWE1MX1NDSEVNQVNfRVJSX0NPTlNUUlVDVCI+WE1MX1NDSEVNQVNfRVJSX0NPTlNUUlVDVDwvYT4gPSAxNworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFTX0VSUl9JTlRFUk5BTCIgaWQ9IlhNTF9TQ0hFTUFTX0VSUl9JTlRFUk5BTCI+WE1MX1NDSEVNQVNfRVJSX0lOVEVSTkFMPC9hPiA9IDE4CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVNfRVJSX05PVFNJTVBMRSIgaWQ9IlhNTF9TQ0hFTUFTX0VSUl9OT1RTSU1QTEUiPlhNTF9TQ0hFTUFTX0VSUl9OT1RTSU1QTEU8L2E+ID0gMTkKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BU19FUlJfQVRUUlVOS05PV04iIGlkPSJYTUxfU0NIRU1BU19FUlJfQVRUUlVOS05PV04iPlhNTF9TQ0hFTUFTX0VSUl9BVFRSVU5LTk9XTjwvYT4gPSAyMAorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFTX0VSUl9BVFRSSU5WQUxJRCIgaWQ9IlhNTF9TQ0hFTUFTX0VSUl9BVFRSSU5WQUxJRCI+WE1MX1NDSEVNQVNfRVJSX0FUVFJJTlZBTElEPC9hPiA9IDIxCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVNfRVJSX1ZBTFVFIiBpZD0iWE1MX1NDSEVNQVNfRVJSX1ZBTFVFIj5YTUxfU0NIRU1BU19FUlJfVkFMVUU8L2E+ID0gMjIKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BU19FUlJfRkFDRVQiIGlkPSJYTUxfU0NIRU1BU19FUlJfRkFDRVQiPlhNTF9TQ0hFTUFTX0VSUl9GQUNFVDwvYT4gPSAyMworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFTX0VSUl8iIGlkPSJYTUxfU0NIRU1BU19FUlJfIj5YTUxfU0NIRU1BU19FUlJfPC9hPiA9IDI0CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQVNfRVJSX1hYWCIgaWQ9IlhNTF9TQ0hFTUFTX0VSUl9YWFgiPlhNTF9TQ0hFTUFTX0VSUl9YWFg8L2E+ID0gMjUKK30KKzwvcHJlPjxoMz5FbnVtIDxhIG5hbWU9InhtbFNjaGVtYVZhbGlkT3B0aW9uIiBpZD0ieG1sU2NoZW1hVmFsaWRPcHRpb24iPnhtbFNjaGVtYVZhbGlkT3B0aW9uPC9hPjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkVudW0geG1sU2NoZW1hVmFsaWRPcHRpb24geworICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFfVkFMX1ZDX0lfQ1JFQVRFIiBpZD0iWE1MX1NDSEVNQV9WQUxfVkNfSV9DUkVBVEUiPlhNTF9TQ0hFTUFfVkFMX1ZDX0lfQ1JFQVRFPC9hPiA9IDEgOiBEZWZhdWx0L2ZpeGVkOiBjcmVhdGUgYW4gPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBub2RlICogb3IgYW4gZWxlbWVudCdzIHRleHQgbm9kZSBvbiB0aGUgaW5zdGFuY2UuICoKK30KKzwvcHJlPjxoMz48YSBuYW1lPSJ4bWxTY2hlbWFEdW1wIiBpZD0ieG1sU2NoZW1hRHVtcCI+PC9hPkZ1bmN0aW9uOiB4bWxTY2hlbWFEdW1wPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxTY2hlbWFEdW1wCQkJKEZJTEUgKiBvdXRwdXQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hUHRyIj54bWxTY2hlbWFQdHI8L2E+IHNjaGVtYSk8YnIgLz4KKzwvcHJlPjxwPkR1bXAgYSBTY2hlbWEgc3RydWN0dXJlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm91dHB1dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZpbGUgb3V0cHV0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zY2hlbWE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgc2NoZW1hIHN0cnVjdHVyZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFNjaGVtYUZyZWUiIGlkPSJ4bWxTY2hlbWFGcmVlIj48L2E+RnVuY3Rpb246IHhtbFNjaGVtYUZyZWU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFNjaGVtYUZyZWUJCQkoPGEgaHJlZj0ibGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFQdHIiPnhtbFNjaGVtYVB0cjwvYT4gc2NoZW1hKTxiciAvPgorPC9wcmU+PHA+RGVhbGxvY2F0ZSBhIFNjaGVtYSBzdHJ1Y3R1cmUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2NoZW1hPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHNjaGVtYSBzdHJ1Y3R1cmU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTY2hlbWFGcmVlUGFyc2VyQ3R4dCIgaWQ9InhtbFNjaGVtYUZyZWVQYXJzZXJDdHh0Ij48L2E+RnVuY3Rpb246IHhtbFNjaGVtYUZyZWVQYXJzZXJDdHh0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxTY2hlbWFGcmVlUGFyc2VyQ3R4dAkJKDxhIGhyZWY9ImxpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciI+eG1sU2NoZW1hUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCk8YnIgLz4KKzwvcHJlPjxwPkZyZWUgdGhlIHJlc291cmNlcyBhc3NvY2lhdGVkIHRvIHRoZSBzY2hlbWEgcGFyc2VyIGNvbnRleHQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc2NoZW1hIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU2NoZW1hRnJlZVZhbGlkQ3R4dCIgaWQ9InhtbFNjaGVtYUZyZWVWYWxpZEN0eHQiPjwvYT5GdW5jdGlvbjogeG1sU2NoZW1hRnJlZVZhbGlkQ3R4dDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sU2NoZW1hRnJlZVZhbGlkQ3R4dAkJKDxhIGhyZWY9ImxpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRDdHh0UHRyIj54bWxTY2hlbWFWYWxpZEN0eHRQdHI8L2E+IGN0eHQpPGJyIC8+Cis8L3ByZT48cD5GcmVlIHRoZSByZXNvdXJjZXMgYXNzb2NpYXRlZCB0byB0aGUgc2NoZW1hIHZhbGlkYXRpb24gY29udGV4dDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzY2hlbWEgdmFsaWRhdGlvbiBjb250ZXh0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU2NoZW1hR2V0UGFyc2VyRXJyb3JzIiBpZD0ieG1sU2NoZW1hR2V0UGFyc2VyRXJyb3JzIj48L2E+RnVuY3Rpb246IHhtbFNjaGVtYUdldFBhcnNlckVycm9yczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxTY2hlbWFHZXRQYXJzZXJFcnJvcnMJKDxhIGhyZWY9ImxpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciI+eG1sU2NoZW1hUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZGl0eUVycm9yRnVuYyI+eG1sU2NoZW1hVmFsaWRpdHlFcnJvckZ1bmM8L2E+ICogZXJyLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkaXR5V2FybmluZ0Z1bmMiPnhtbFNjaGVtYVZhbGlkaXR5V2FybmluZ0Z1bmM8L2E+ICogd2FybiwgPGJyIC8+CQkJCQkgdm9pZCAqKiBjdHgpPGJyIC8+Cis8L3ByZT48cD5HZXQgdGhlIGNhbGxiYWNrIGluZm9ybWF0aW9uIHVzZWQgdG8gaGFuZGxlIGVycm9ycyBmb3IgYSBwYXJzZXIgY29udGV4dDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgWE1sLVNjaGVtYSBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZXJyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZXJyb3IgY2FsbGJhY2sgcmVzdWx0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD53YXJuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgd2FybmluZyBjYWxsYmFjayByZXN1bHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+Y29udGV4dHVhbCBkYXRhIGZvciB0aGUgY2FsbGJhY2tzIHJlc3VsdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+LTEgaW4gY2FzZSBvZiBmYWlsdXJlLCAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFNjaGVtYUdldFZhbGlkRXJyb3JzIiBpZD0ieG1sU2NoZW1hR2V0VmFsaWRFcnJvcnMiPjwvYT5GdW5jdGlvbjogeG1sU2NoZW1hR2V0VmFsaWRFcnJvcnM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sU2NoZW1hR2V0VmFsaWRFcnJvcnMJCSg8YSBocmVmPSJsaWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkQ3R4dFB0ciI+eG1sU2NoZW1hVmFsaWRDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkaXR5RXJyb3JGdW5jIj54bWxTY2hlbWFWYWxpZGl0eUVycm9yRnVuYzwvYT4gKiBlcnIsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRpdHlXYXJuaW5nRnVuYyI+eG1sU2NoZW1hVmFsaWRpdHlXYXJuaW5nRnVuYzwvYT4gKiB3YXJuLCA8YnIgLz4JCQkJCSB2b2lkICoqIGN0eCk8YnIgLz4KKzwvcHJlPjxwPkdldCB0aGUgZXJyb3IgYW5kIHdhcm5pbmcgY2FsbGJhY2sgaW5mb3JtYXRpb25zPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBYTUwtU2NoZW1hIHZhbGlkYXRpb24gY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZXJyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZXJyb3IgZnVuY3Rpb24gcmVzdWx0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD53YXJuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgd2FybmluZyBmdW5jdGlvbiByZXN1bHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZ1bmN0aW9ucyBjb250ZXh0IHJlc3VsdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+LTEgaW4gY2FzZSBvZiBlcnJvciBhbmQgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTY2hlbWFJc1ZhbGlkIiBpZD0ieG1sU2NoZW1hSXNWYWxpZCI+PC9hPkZ1bmN0aW9uOiB4bWxTY2hlbWFJc1ZhbGlkPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFNjaGVtYUlzVmFsaWQJCSg8YSBocmVmPSJsaWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkQ3R4dFB0ciI+eG1sU2NoZW1hVmFsaWRDdHh0UHRyPC9hPiBjdHh0KTxiciAvPgorPC9wcmU+PHA+Q2hlY2sgaWYgYW55IGVycm9yIHdhcyBkZXRlY3RlZCBkdXJpbmcgdmFsaWRhdGlvbi48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc2NoZW1hIHZhbGlkYXRpb24gY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB2YWxpZCBzbyBmYXIsIDAgaWYgZXJyb3JzIHdlcmUgZGV0ZWN0ZWQsIGFuZCAtMSBpbiBjYXNlIG9mIGludGVybmFsIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFNjaGVtYU5ld0RvY1BhcnNlckN0eHQiIGlkPSJ4bWxTY2hlbWFOZXdEb2NQYXJzZXJDdHh0Ij48L2E+RnVuY3Rpb246IHhtbFNjaGVtYU5ld0RvY1BhcnNlckN0eHQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVBhcnNlckN0eHRQdHIiPnhtbFNjaGVtYVBhcnNlckN0eHRQdHI8L2E+CXhtbFNjaGVtYU5ld0RvY1BhcnNlckN0eHQJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYyk8YnIgLz4KKzwvcHJlPjxwPkNyZWF0ZSBhbiBYTUwgU2NoZW1hcyBwYXJzZSBjb250ZXh0IGZvciB0aGF0IGRvY3VtZW50LiBOQi4gVGhlIGRvY3VtZW50IG1heSBiZSBtb2RpZmllZCBkdXJpbmcgdGhlIHBhcnNpbmcgcHJvY2Vzcy48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcHJlcGFyc2VkIGRvY3VtZW50IHRyZWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwYXJzZXIgY29udGV4dCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTY2hlbWFOZXdNZW1QYXJzZXJDdHh0IiBpZD0ieG1sU2NoZW1hTmV3TWVtUGFyc2VyQ3R4dCI+PC9hPkZ1bmN0aW9uOiB4bWxTY2hlbWFOZXdNZW1QYXJzZXJDdHh0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIj54bWxTY2hlbWFQYXJzZXJDdHh0UHRyPC9hPgl4bWxTY2hlbWFOZXdNZW1QYXJzZXJDdHh0CShjb25zdCBjaGFyICogYnVmZmVyLCA8YnIgLz4JCQkJCQkJIGludCBzaXplKTxiciAvPgorPC9wcmU+PHA+Q3JlYXRlIGFuIFhNTCBTY2hlbWFzIHBhcnNlIGNvbnRleHQgZm9yIHRoYXQgbWVtb3J5IGJ1ZmZlciBleHBlY3RlZCB0byBjb250YWluIGFuIFhNTCBTY2hlbWFzIGZpbGUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YnVmZmVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gYSBjaGFyIGFycmF5IGNvbnRhaW5pbmcgdGhlIHNjaGVtYXM8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNpemU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzaXplIG9mIHRoZSBhcnJheTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHBhcnNlciBjb250ZXh0IG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFNjaGVtYU5ld1BhcnNlckN0eHQiIGlkPSJ4bWxTY2hlbWFOZXdQYXJzZXJDdHh0Ij48L2E+RnVuY3Rpb246IHhtbFNjaGVtYU5ld1BhcnNlckN0eHQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVBhcnNlckN0eHRQdHIiPnhtbFNjaGVtYVBhcnNlckN0eHRQdHI8L2E+CXhtbFNjaGVtYU5ld1BhcnNlckN0eHQJKGNvbnN0IGNoYXIgKiBVUkwpPGJyIC8+Cis8L3ByZT48cD5DcmVhdGUgYW4gWE1MIFNjaGVtYXMgcGFyc2UgY29udGV4dCBmb3IgdGhhdCBmaWxlL3Jlc291cmNlIGV4cGVjdGVkIHRvIGNvbnRhaW4gYW4gWE1MIFNjaGVtYXMgZmlsZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5VUkw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsb2NhdGlvbiBvZiB0aGUgc2NoZW1hPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcGFyc2VyIGNvbnRleHQgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU2NoZW1hTmV3VmFsaWRDdHh0IiBpZD0ieG1sU2NoZW1hTmV3VmFsaWRDdHh0Ij48L2E+RnVuY3Rpb246IHhtbFNjaGVtYU5ld1ZhbGlkQ3R4dDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRDdHh0UHRyIj54bWxTY2hlbWFWYWxpZEN0eHRQdHI8L2E+CXhtbFNjaGVtYU5ld1ZhbGlkQ3R4dAkoPGEgaHJlZj0ibGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFQdHIiPnhtbFNjaGVtYVB0cjwvYT4gc2NoZW1hKTxiciAvPgorPC9wcmU+PHA+Q3JlYXRlIGFuIFhNTCBTY2hlbWFzIHZhbGlkYXRpb24gY29udGV4dCBiYXNlZCBvbiB0aGUgZ2l2ZW4gc2NoZW1hLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNjaGVtYTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwcmVjb21waWxlZCBYTUwgU2NoZW1hczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHZhbGlkYXRpb24gY29udGV4dCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTY2hlbWFQYXJzZSIgaWQ9InhtbFNjaGVtYVBhcnNlIj48L2E+RnVuY3Rpb246IHhtbFNjaGVtYVBhcnNlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFQdHIiPnhtbFNjaGVtYVB0cjwvYT4JeG1sU2NoZW1hUGFyc2UJCSg8YSBocmVmPSJsaWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVBhcnNlckN0eHRQdHIiPnhtbFNjaGVtYVBhcnNlckN0eHRQdHI8L2E+IGN0eHQpPGJyIC8+Cis8L3ByZT48cD5wYXJzZSBhIHNjaGVtYSBkZWZpbml0aW9uIHJlc291cmNlIGFuZCBidWlsZCBhbiBpbnRlcm5hbCBYTUwgU2hlbWEgc3RydXR1cmUgd2hpY2ggY2FuIGJlIHVzZWQgdG8gdmFsaWRhdGUgaW5zdGFuY2VzLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgc2NoZW1hIHZhbGlkYXRpb24gY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGludGVybmFsIFhNTCBTY2hlbWEgc3RydWN0dXJlIGJ1aWx0IGZyb20gdGhlIHJlc291cmNlIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFNjaGVtYVNBWFBsdWciIGlkPSJ4bWxTY2hlbWFTQVhQbHVnIj48L2E+RnVuY3Rpb246IHhtbFNjaGVtYVNBWFBsdWc8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVNBWFBsdWdQdHIiPnhtbFNjaGVtYVNBWFBsdWdQdHI8L2E+CXhtbFNjaGVtYVNBWFBsdWcJKDxhIGhyZWY9ImxpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRDdHh0UHRyIj54bWxTY2hlbWFWYWxpZEN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFNBWEhhbmRsZXJQdHIiPnhtbFNBWEhhbmRsZXJQdHI8L2E+ICogc2F4LCA8YnIgLz4JCQkJCQkgdm9pZCAqKiB1c2VyX2RhdGEpPGJyIC8+Cis8L3ByZT48cD5QbHVnIGEgU0FYIGJhc2VkIHZhbGlkYXRpb24gbGF5ZXIgaW4gYSBTQVggcGFyc2luZyBldmVudCBmbG93LiBUaGUgb3JpZ2luYWwgQHNheHB0ciBhbmQgQGRhdGFwdHIgZGF0YSBhcmUgcmVwbGFjZWQgYnkgbmV3IHBvaW50ZXJzIGJ1dCB0aGUgY2FsbHMgdG8gdGhlIG9yaWdpbmFsIHdpbGwgYmUgbWFpbnRhaW5lZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHNjaGVtYSB2YWxpZGF0aW9uIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNheDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIHRoZSBvcmlnaW5hbCA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFNBWEhhbmRsZXJQdHIiPnhtbFNBWEhhbmRsZXJQdHI8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD51c2VyX2RhdGE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byB0aGUgb3JpZ2luYWwgU0FYIHVzZXIgZGF0YSBwb2ludGVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gYSBkYXRhIHN0cnVjdHVyZSBuZWVkZWQgdG8gdW5wbHVnIHRoZSB2YWxpZGF0aW9uIGxheWVyIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcnMuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU2NoZW1hU0FYVW5wbHVnIiBpZD0ieG1sU2NoZW1hU0FYVW5wbHVnIj48L2E+RnVuY3Rpb246IHhtbFNjaGVtYVNBWFVucGx1ZzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxTY2hlbWFTQVhVbnBsdWcJCSg8YSBocmVmPSJsaWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVNBWFBsdWdQdHIiPnhtbFNjaGVtYVNBWFBsdWdQdHI8L2E+IHBsdWcpPGJyIC8+Cis8L3ByZT48cD5VbnBsdWcgYSBTQVggYmFzZWQgdmFsaWRhdGlvbiBsYXllciBpbiBhIFNBWCBwYXJzaW5nIGV2ZW50IGZsb3cuIFRoZSBvcmlnaW5hbCBwb2ludGVycyB1c2VkIGluIHRoZSBjYWxsIGFyZSByZXN0b3JlZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wbHVnPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGRhdGEgc3RydWN0dXJlIHJldHVybmVkIGJ5IDxhIGhyZWY9ImxpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hU0FYUGx1ZyI+eG1sU2NoZW1hU0FYUGx1ZzwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaW4gY2FzZSBvZiBzdWNjZXNzIGFuZCAtMSBpbiBjYXNlIG9mIGZhaWx1cmUuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU2NoZW1hU2V0UGFyc2VyRXJyb3JzIiBpZD0ieG1sU2NoZW1hU2V0UGFyc2VyRXJyb3JzIj48L2E+RnVuY3Rpb246IHhtbFNjaGVtYVNldFBhcnNlckVycm9yczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sU2NoZW1hU2V0UGFyc2VyRXJyb3JzCSg8YSBocmVmPSJsaWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVBhcnNlckN0eHRQdHIiPnhtbFNjaGVtYVBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRpdHlFcnJvckZ1bmMiPnhtbFNjaGVtYVZhbGlkaXR5RXJyb3JGdW5jPC9hPiBlcnIsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRpdHlXYXJuaW5nRnVuYyI+eG1sU2NoZW1hVmFsaWRpdHlXYXJuaW5nRnVuYzwvYT4gd2FybiwgPGJyIC8+CQkJCQkgdm9pZCAqIGN0eCk8YnIgLz4KKzwvcHJlPjxwPlNldCB0aGUgY2FsbGJhY2sgZnVuY3Rpb25zIHVzZWQgdG8gaGFuZGxlIGVycm9ycyBmb3IgYSB2YWxpZGF0aW9uIGNvbnRleHQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHNjaGVtYSB2YWxpZGF0aW9uIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVycjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVycm9yIGNhbGxiYWNrPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD53YXJuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgd2FybmluZyBjYWxsYmFjazwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5jb250ZXh0dWFsIGRhdGEgZm9yIHRoZSBjYWxsYmFja3M8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTY2hlbWFTZXRQYXJzZXJTdHJ1Y3R1cmVkRXJyb3JzIiBpZD0ieG1sU2NoZW1hU2V0UGFyc2VyU3RydWN0dXJlZEVycm9ycyI+PC9hPkZ1bmN0aW9uOiB4bWxTY2hlbWFTZXRQYXJzZXJTdHJ1Y3R1cmVkRXJyb3JzPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxTY2hlbWFTZXRQYXJzZXJTdHJ1Y3R1cmVkRXJyb3JzCSg8YSBocmVmPSJsaWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVBhcnNlckN0eHRQdHIiPnhtbFNjaGVtYVBhcnNlckN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jIj54bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jPC9hPiBzZXJyb3IsIDxiciAvPgkJCQkJCSB2b2lkICogY3R4KTxiciAvPgorPC9wcmU+PHA+U2V0IHRoZSBzdHJ1Y3R1cmVkIGVycm9yIGNhbGxiYWNrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBzY2hlbWEgcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNlcnJvcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHN0cnVjdHVyZWQgZXJyb3IgZnVuY3Rpb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZ1bmN0aW9ucyBjb250ZXh0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU2NoZW1hU2V0VmFsaWRFcnJvcnMiIGlkPSJ4bWxTY2hlbWFTZXRWYWxpZEVycm9ycyI+PC9hPkZ1bmN0aW9uOiB4bWxTY2hlbWFTZXRWYWxpZEVycm9yczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sU2NoZW1hU2V0VmFsaWRFcnJvcnMJCSg8YSBocmVmPSJsaWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkQ3R4dFB0ciI+eG1sU2NoZW1hVmFsaWRDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkaXR5RXJyb3JGdW5jIj54bWxTY2hlbWFWYWxpZGl0eUVycm9yRnVuYzwvYT4gZXJyLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkaXR5V2FybmluZ0Z1bmMiPnhtbFNjaGVtYVZhbGlkaXR5V2FybmluZ0Z1bmM8L2E+IHdhcm4sIDxiciAvPgkJCQkJIHZvaWQgKiBjdHgpPGJyIC8+Cis8L3ByZT48cD5TZXQgdGhlIGVycm9yIGFuZCB3YXJuaW5nIGNhbGxiYWNrIGluZm9ybWF0aW9uczwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgc2NoZW1hIHZhbGlkYXRpb24gY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZXJyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZXJyb3IgZnVuY3Rpb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pndhcm48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB3YXJuaW5nIGZ1bmN0aW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmdW5jdGlvbnMgY29udGV4dDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFNjaGVtYVNldFZhbGlkT3B0aW9ucyIgaWQ9InhtbFNjaGVtYVNldFZhbGlkT3B0aW9ucyI+PC9hPkZ1bmN0aW9uOiB4bWxTY2hlbWFTZXRWYWxpZE9wdGlvbnM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sU2NoZW1hU2V0VmFsaWRPcHRpb25zCSg8YSBocmVmPSJsaWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkQ3R4dFB0ciI+eG1sU2NoZW1hVmFsaWRDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSBpbnQgb3B0aW9ucyk8YnIgLz4KKzwvcHJlPjxwPlNldHMgdGhlIG9wdGlvbnMgdG8gYmUgdXNlZCBkdXJpbmcgdGhlIHZhbGlkYXRpb24uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBzY2hlbWEgdmFsaWRhdGlvbiBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vcHRpb25zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGNvbWJpbmF0aW9uIG9mIDxhIGhyZWY9ImxpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRPcHRpb24iPnhtbFNjaGVtYVZhbGlkT3B0aW9uPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpbiBjYXNlIG9mIHN1Y2Nlc3MsIC0xIGluIGNhc2Ugb2YgYW4gQVBJIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFNjaGVtYVNldFZhbGlkU3RydWN0dXJlZEVycm9ycyIgaWQ9InhtbFNjaGVtYVNldFZhbGlkU3RydWN0dXJlZEVycm9ycyI+PC9hPkZ1bmN0aW9uOiB4bWxTY2hlbWFTZXRWYWxpZFN0cnVjdHVyZWRFcnJvcnM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFNjaGVtYVNldFZhbGlkU3RydWN0dXJlZEVycm9ycwkoPGEgaHJlZj0ibGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZEN0eHRQdHIiPnhtbFNjaGVtYVZhbGlkQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxlcnJvci5odG1sI3htbFN0cnVjdHVyZWRFcnJvckZ1bmMiPnhtbFN0cnVjdHVyZWRFcnJvckZ1bmM8L2E+IHNlcnJvciwgPGJyIC8+CQkJCQkJIHZvaWQgKiBjdHgpPGJyIC8+Cis8L3ByZT48cD5TZXQgdGhlIHN0cnVjdHVyZWQgZXJyb3IgY2FsbGJhY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHNjaGVtYSB2YWxpZGF0aW9uIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnNlcnJvcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHN0cnVjdHVyZWQgZXJyb3IgZnVuY3Rpb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZ1bmN0aW9ucyBjb250ZXh0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU2NoZW1hVmFsaWRDdHh0R2V0T3B0aW9ucyIgaWQ9InhtbFNjaGVtYVZhbGlkQ3R4dEdldE9wdGlvbnMiPjwvYT5GdW5jdGlvbjogeG1sU2NoZW1hVmFsaWRDdHh0R2V0T3B0aW9uczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxTY2hlbWFWYWxpZEN0eHRHZXRPcHRpb25zCSg8YSBocmVmPSJsaWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkQ3R4dFB0ciI+eG1sU2NoZW1hVmFsaWRDdHh0UHRyPC9hPiBjdHh0KTxiciAvPgorPC9wcmU+PHA+R2V0IHRoZSB2YWxpZGF0aW9uIGNvbnRleHQgb3B0aW9ucy48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHNjaGVtYSB2YWxpZGF0aW9uIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBvcHRpb24gY29tYmluYXRpb24gb3IgLTEgb24gZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU2NoZW1hVmFsaWRDdHh0R2V0UGFyc2VyQ3R4dCIgaWQ9InhtbFNjaGVtYVZhbGlkQ3R4dEdldFBhcnNlckN0eHQiPjwvYT5GdW5jdGlvbjogeG1sU2NoZW1hVmFsaWRDdHh0R2V0UGFyc2VyQ3R4dDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4JeG1sU2NoZW1hVmFsaWRDdHh0R2V0UGFyc2VyQ3R4dAkoPGEgaHJlZj0ibGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZEN0eHRQdHIiPnhtbFNjaGVtYVZhbGlkQ3R4dFB0cjwvYT4gY3R4dCk8YnIgLz4KKzwvcHJlPjxwPmFsbG93IGFjY2VzcyB0byB0aGUgcGFyc2VyIGNvbnRleHQgb2YgdGhlIHNjaGVtYSB2YWxpZGF0aW9uIGNvbnRleHQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHNjaGVtYSB2YWxpZGF0aW9uIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwYXJzZXIgY29udGV4dCBvZiB0aGUgc2NoZW1hIHZhbGlkYXRpb24gY29udGV4dCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU2NoZW1hVmFsaWRhdGVEb2MiIGlkPSJ4bWxTY2hlbWFWYWxpZGF0ZURvYyI+PC9hPkZ1bmN0aW9uOiB4bWxTY2hlbWFWYWxpZGF0ZURvYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxTY2hlbWFWYWxpZGF0ZURvYwkJKDxhIGhyZWY9ImxpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRDdHh0UHRyIj54bWxTY2hlbWFWYWxpZEN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IGRvYyk8YnIgLz4KKzwvcHJlPjxwPlZhbGlkYXRlIGEgZG9jdW1lbnQgdHJlZSBpbiBtZW1vcnkuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBzY2hlbWEgdmFsaWRhdGlvbiBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcGFyc2VkIGRvY3VtZW50IHRyZWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaWYgdGhlIGRvY3VtZW50IGlzIHNjaGVtYXMgdmFsaWQsIGEgcG9zaXRpdmUgZXJyb3IgY29kZSBudW1iZXIgb3RoZXJ3aXNlIGFuZCAtMSBpbiBjYXNlIG9mIGludGVybmFsIG9yIEFQSSBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTY2hlbWFWYWxpZGF0ZUZpbGUiIGlkPSJ4bWxTY2hlbWFWYWxpZGF0ZUZpbGUiPjwvYT5GdW5jdGlvbjogeG1sU2NoZW1hVmFsaWRhdGVGaWxlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFNjaGVtYVZhbGlkYXRlRmlsZQkJKDxhIGhyZWY9ImxpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRDdHh0UHRyIj54bWxTY2hlbWFWYWxpZEN0eHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBmaWxlbmFtZSwgPGJyIC8+CQkJCQkgaW50IG9wdGlvbnMpPGJyIC8+Cis8L3ByZT48cD5EbyBhIHNjaGVtYXMgdmFsaWRhdGlvbiBvZiB0aGUgZ2l2ZW4gcmVzb3VyY2UsIGl0IHdpbGwgdXNlIHRoZSBTQVggc3RyZWFtYWJsZSB2YWxpZGF0aW9uIGludGVybmFsbHkuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBzY2hlbWEgdmFsaWRhdGlvbiBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5maWxlbmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFVSSSBvZiB0aGUgaW5zdGFuY2U8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm9wdGlvbnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgZnV0dXJlIHNldCBvZiBvcHRpb25zLCBjdXJyZW50bHkgdW51c2VkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGlmIHRoZSBkb2N1bWVudCBpcyB2YWxpZCwgYSBwb3NpdGl2ZSBlcnJvciBjb2RlIG51bWJlciBvdGhlcndpc2UgYW5kIC0xIGluIGNhc2Ugb2YgYW4gaW50ZXJuYWwgb3IgQVBJIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFNjaGVtYVZhbGlkYXRlT25lRWxlbWVudCIgaWQ9InhtbFNjaGVtYVZhbGlkYXRlT25lRWxlbWVudCI+PC9hPkZ1bmN0aW9uOiB4bWxTY2hlbWFWYWxpZGF0ZU9uZUVsZW1lbnQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sU2NoZW1hVmFsaWRhdGVPbmVFbGVtZW50CSg8YSBocmVmPSJsaWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkQ3R4dFB0ciI+eG1sU2NoZW1hVmFsaWRDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGVsZW0pPGJyIC8+Cis8L3ByZT48cD5WYWxpZGF0ZSBhIGJyYW5jaCBvZiBhIHRyZWUsIHN0YXJ0aW5nIHdpdGggdGhlIGdpdmVuIEBlbGVtLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgc2NoZW1hIHZhbGlkYXRpb24gY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZWxlbTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gZWxlbWVudCBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGlmIHRoZSBlbGVtZW50IGFuZCBpdHMgc3VidHJlZSBpcyB2YWxpZCwgYSBwb3NpdGl2ZSBlcnJvciBjb2RlIG51bWJlciBvdGhlcndpc2UgYW5kIC0xIGluIGNhc2Ugb2YgYW4gaW50ZXJuYWwgb3IgQVBJIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFNjaGVtYVZhbGlkYXRlU2V0RmlsZW5hbWUiIGlkPSJ4bWxTY2hlbWFWYWxpZGF0ZVNldEZpbGVuYW1lIj48L2E+RnVuY3Rpb246IHhtbFNjaGVtYVZhbGlkYXRlU2V0RmlsZW5hbWU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFNjaGVtYVZhbGlkYXRlU2V0RmlsZW5hbWUJKDxhIGhyZWY9ImxpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRDdHh0UHRyIj54bWxTY2hlbWFWYWxpZEN0eHRQdHI8L2E+IHZjdHh0LCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogZmlsZW5hbWUpPGJyIC8+Cis8L3ByZT48cD5Xb3JrYXJvdW5kIHRvIHByb3ZpZGUgZmlsZSBlcnJvciByZXBvcnRpbmcgaW5mb3JtYXRpb24gd2hlbiB0aGlzIGlzIG5vdCBwcm92aWRlZCBieSBjdXJyZW50IEFQSXM8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHNjaGVtYSB2YWxpZGF0aW9uIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZpbGVuYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZmlsZSBuYW1lPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU2NoZW1hVmFsaWRhdGVTZXRMb2NhdG9yIiBpZD0ieG1sU2NoZW1hVmFsaWRhdGVTZXRMb2NhdG9yIj48L2E+RnVuY3Rpb246IHhtbFNjaGVtYVZhbGlkYXRlU2V0TG9jYXRvcjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sU2NoZW1hVmFsaWRhdGVTZXRMb2NhdG9yCSg8YSBocmVmPSJsaWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkQ3R4dFB0ciI+eG1sU2NoZW1hVmFsaWRDdHh0UHRyPC9hPiB2Y3R4dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZGl0eUxvY2F0b3JGdW5jIj54bWxTY2hlbWFWYWxpZGl0eUxvY2F0b3JGdW5jPC9hPiBmLCA8YnIgLz4JCQkJCSB2b2lkICogY3R4dCk8YnIgLz4KKzwvcHJlPjxwPkFsbG93cyB0byBzZXQgYSBsb2NhdG9yIGZ1bmN0aW9uIHRvIHRoZSB2YWxpZGF0aW9uIGNvbnRleHQsIHdoaWNoIHdpbGwgYmUgdXNlZCB0byBwcm92aWRlIGZpbGUgYW5kIGxpbmUgaW5mb3JtYXRpb24gc2luY2UgdGhvc2UgYXJlIG5vdCBwcm92aWRlZCBhcyBwYXJ0IG9mIHRoZSBTQVggdmFsaWRhdGlvbiBmbG93IFNldHRpbmcgQGYgdG8gTlVMTCBkaXNhYmxlIHRoZSBsb2NhdG9yLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZjdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHNjaGVtYSB2YWxpZGF0aW9uIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsb2NhdG9yIGZ1bmN0aW9uIHBvaW50ZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsb2NhdG9yIGNvbnRleHQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTY2hlbWFWYWxpZGF0ZVN0cmVhbSIgaWQ9InhtbFNjaGVtYVZhbGlkYXRlU3RyZWFtIj48L2E+RnVuY3Rpb246IHhtbFNjaGVtYVZhbGlkYXRlU3RyZWFtPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFNjaGVtYVZhbGlkYXRlU3RyZWFtCQkoPGEgaHJlZj0ibGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZEN0eHRQdHIiPnhtbFNjaGVtYVZhbGlkQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciI+eG1sUGFyc2VySW5wdXRCdWZmZXJQdHI8L2E+IGlucHV0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmciPnhtbENoYXJFbmNvZGluZzwvYT4gZW5jLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFNBWEhhbmRsZXJQdHIiPnhtbFNBWEhhbmRsZXJQdHI8L2E+IHNheCwgPGJyIC8+CQkJCQkgdm9pZCAqIHVzZXJfZGF0YSk8YnIgLz4KKzwvcHJlPjxwPlZhbGlkYXRlIGFuIGlucHV0IGJhc2VkIG9uIGEgZmxvdyBvZiBTQVggZXZlbnQgZnJvbSB0aGUgcGFyc2VyIGFuZCBmb3J3YXJkIHRoZSBldmVudHMgdG8gdGhlIEBzYXggaGFuZGxlciB3aXRoIHRoZSBwcm92aWRlZCBAdXNlcl9kYXRhIHRoZSB1c2VyIHByb3ZpZGVkIEBzYXggaGFuZGxlciBtdXN0IGJlIGEgU0FYMiBvbmUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBzY2hlbWEgdmFsaWRhdGlvbiBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5pbnB1dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGlucHV0IHRvIHVzZSBmb3IgcmVhZGluZyB0aGUgZGF0YTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBvcHRpb25hbCBlbmNvZGluZyBpbmZvcm1hdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2F4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIFNBWCBoYW5kbGVyIGZvciB0aGUgcmVzdWx0aW5nIGV2ZW50czwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dXNlcl9kYXRhPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY29udGV4dCB0byBwcm92aWRlIHRvIHRoZSBTQVggaGFuZGxlci48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaWYgdGhlIGRvY3VtZW50IGlzIHNjaGVtYXMgdmFsaWQsIGEgcG9zaXRpdmUgZXJyb3IgY29kZSBudW1iZXIgb3RoZXJ3aXNlIGFuZCAtMSBpbiBjYXNlIG9mIGludGVybmFsIG9yIEFQSSBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTY2hlbWFWYWxpZGl0eUVycm9yRnVuYyIgaWQ9InhtbFNjaGVtYVZhbGlkaXR5RXJyb3JGdW5jIj48L2E+RnVuY3Rpb24gdHlwZTogeG1sU2NoZW1hVmFsaWRpdHlFcnJvckZ1bmM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5GdW5jdGlvbiB0eXBlOiB4bWxTY2hlbWFWYWxpZGl0eUVycm9yRnVuYwordm9pZAl4bWxTY2hlbWFWYWxpZGl0eUVycm9yRnVuYwkodm9pZCAqIGN0eCwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIG1zZywgPGJyIC8+CQkJCQkgLi4uIC4uLikKKzwvcHJlPjxwPlNpZ25hdHVyZSBvZiBhbiBlcnJvciBjYWxsYmFjayBmcm9tIGFuIFhTRCB2YWxpZGF0aW9uPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHZhbGlkYXRpb24gY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bXNnPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbWVzc2FnZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Li4uPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5leHRyYSBhcmd1bWVudHM8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxiciAvPgorPGgzPjxhIG5hbWU9InhtbFNjaGVtYVZhbGlkaXR5TG9jYXRvckZ1bmMiIGlkPSJ4bWxTY2hlbWFWYWxpZGl0eUxvY2F0b3JGdW5jIj48L2E+RnVuY3Rpb24gdHlwZTogeG1sU2NoZW1hVmFsaWRpdHlMb2NhdG9yRnVuYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkZ1bmN0aW9uIHR5cGU6IHhtbFNjaGVtYVZhbGlkaXR5TG9jYXRvckZ1bmMKK2ludAl4bWxTY2hlbWFWYWxpZGl0eUxvY2F0b3JGdW5jCSh2b2lkICogY3R4LCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICoqIGZpbGUsIDxiciAvPgkJCQkJIHVuc2lnbmVkIGxvbmcgKiBsaW5lKQorPC9wcmU+PHA+QSBzY2hlbWFzIHZhbGlkYXRpb24gbG9jYXRvciwgYSBjYWxsYmFjayBjYWxsZWQgYnkgdGhlIHZhbGlkYXRvci4gVGhpcyBpcyB1c2VkIHdoZW4gZmlsZSBvciBub2RlIGluZm9ybWF0aW9ucyBhcmUgbm90IGF2YWlsYWJsZSB0byBmaW5kIG91dCB3aGF0IGZpbGUgYW5kIGxpbmUgbnVtYmVyIGFyZSBhZmZlY3RlZDwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnVzZXIgcHJvdmlkZWQgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmlsZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+cmV0dXJuZWQgZmlsZSBpbmZvcm1hdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGluZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+cmV0dXJuZWQgbGluZSBpbmZvcm1hdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpbiBjYXNlIG9mIHN1Y2Nlc3MgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxiciAvPgorPGgzPjxhIG5hbWU9InhtbFNjaGVtYVZhbGlkaXR5V2FybmluZ0Z1bmMiIGlkPSJ4bWxTY2hlbWFWYWxpZGl0eVdhcm5pbmdGdW5jIj48L2E+RnVuY3Rpb24gdHlwZTogeG1sU2NoZW1hVmFsaWRpdHlXYXJuaW5nRnVuYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkZ1bmN0aW9uIHR5cGU6IHhtbFNjaGVtYVZhbGlkaXR5V2FybmluZ0Z1bmMKK3ZvaWQJeG1sU2NoZW1hVmFsaWRpdHlXYXJuaW5nRnVuYwkodm9pZCAqIGN0eCwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIG1zZywgPGJyIC8+CQkJCQkgLi4uIC4uLikKKzwvcHJlPjxwPlNpZ25hdHVyZSBvZiBhIHdhcm5pbmcgY2FsbGJhY2sgZnJvbSBhbiBYU0QgdmFsaWRhdGlvbjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB2YWxpZGF0aW9uIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm1zZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG1lc3NhZ2U8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pi4uLjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+ZXh0cmEgYXJndW1lbnRzPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48YnIgLz4KKzxwPjxhIGhyZWY9Ii4uL2J1Z3MuaHRtbCI+RGFuaWVsIFZlaWxsYXJkPC9hPjwvcD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwgYi9saWJ4bWwyL2RvYy9odG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42OTI1Y2ZhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvaHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwKQEAgLTAsMCArMSwxMjMgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+PGxpbmsgcmVsPSJTSE9SVENVVCBJQ09OIiBocmVmPSIvZmF2aWNvbi5pY28iIC8+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK1REIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitCT0RZIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2E7IG1hcmdpbi10b3A6IDJlbTsgbWFyZ2luLWxlZnQ6IDBlbTsgbWFyZ2luLXJpZ2h0OiAwZW19CitIMSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDIge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gzIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitBOmxpbmssIEE6dmlzaXRlZCwgQTphY3RpdmUgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB9Cis8L3N0eWxlPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAgICBkaXYuZGVwcmVjYXRlZCBwcmUucHJvZ3JhbWxpc3Rpbmcge2JvcmRlci1zdHlsZTogZG91YmxlO2JvcmRlci1jb2xvcjpyZWR9CisgICAgICBwcmUucHJvZ3JhbWxpc3Rpbmcge2JvcmRlci1zdHlsZTogZG91YmxlO2JhY2tncm91bmQ6ICNFRUNGQTF9CisgICAgPC9zdHlsZT48dGl0bGU+TW9kdWxlIHhtbHNjaGVtYXN0eXBlcyBmcm9tIGxpYnhtbDI8L3RpdGxlPjwvaGVhZD48Ym9keSBiZ2NvbG9yPSIjOGI3NzY1IiB0ZXh0PSIjMDAwMDAwIiBsaW5rPSIjYTA2MDYwIiB2bGluaz0iIzAwMDAwMCI+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjEwMCUiIGNlbGxwYWRkaW5nPSI1IiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCB3aWR0aD0iMTIwIj48YSBocmVmPSJodHRwOi8vc3dwYXQuZmZpaS5vcmcvIj48aW1nIHNyYz0iLi4vZXBhdGVudHMucG5nIiBhbHQ9IkFjdGlvbiBhZ2FpbnN0IHNvZnR3YXJlIHBhdGVudHMiIC8+PC9hPjwvdGQ+PHRkIHdpZHRoPSIxODAiPjxhIGhyZWY9Imh0dHA6Ly93d3cuZ25vbWUub3JnLyI+PGltZyBzcmM9Ii4uL2dub21lMi5wbmciIGFsdD0iR25vbWUyIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1N0YXR1cyI+PGltZyBzcmM9Ii4uL3czYy5wbmciIGFsdD0iVzNDIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cucmVkaGF0LmNvbS8iPjxpbWcgc3JjPSIuLi9yZWRoYXQuZ2lmIiBhbHQ9IlJlZCBIYXQgTG9nbyIgLz48L2E+PGRpdiBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnLyI+PGltZyBzcmM9Ii4uL0xpYnhtbDItTG9nby0xODB4MTY4LmdpZiIgYWx0PSJNYWRlIHdpdGggTGlieG1sMiBMb2dvIiAvPjwvYT48L2Rpdj48L3RkPjx0ZD48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iOTAlIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyIgYmdjb2xvcj0iI2ZmZmFjZCI+PHRyPjx0ZCBhbGlnbj0iY2VudGVyIj48aDE+PC9oMT48aDI+TW9kdWxlIHhtbHNjaGVtYXN0eXBlcyBmcm9tIGxpYnhtbDI8L2gyPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI0IiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCB2YWxpZ249InRvcCIgd2lkdGg9IjIwMCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+QVBJIE1lbnU8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PGZvcm0gYWN0aW9uPSIuLi9zZWFyY2gucGhwIiBlbmN0eXBlPSJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiIG1ldGhvZD0iZ2V0Ij48aW5wdXQgbmFtZT0icXVlcnkiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iIiAvPjxpbnB1dCBuYW1lPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNlYXJjaCAuLi4iIC8+PC9mb3JtPjx1bD48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9Ii4uL2luZGV4Lmh0bWwiPk1haW4gTWVudTwvYT48L2xpPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iLi4vZG9jcy5odG1sIj5EZXZlbG9wZXIgTWVudTwvYT48L2xpPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iLi4vZXhhbXBsZXMvaW5kZXguaHRtbCI+Q29kZSBFeGFtcGxlczwvYT48L2xpPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iaW5kZXguaHRtbCI+QVBJIE1lbnU8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXBhcnNlci5odG1sIj5QYXJzZXIgQVBJPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwiPlRyZWUgQVBJPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCI+UmVhZGVyIEFQSTwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9ndWlkZWxpbmVzLmh0bWwiPlhNTCBHdWlkZWxpbmVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0NoYW5nZUxvZy5odG1sIj5DaGFuZ2VMb2c8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5BUEkgSW5kZXhlczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9Ii4uL0FQSWNodW5rMC5odG1sIj5BbHBoYWJldGljPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSWNvbnN0cnVjdG9ycy5odG1sIj5Db25zdHJ1Y3RvcnM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJZnVuY3Rpb25zLmh0bWwiPkZ1bmN0aW9ucy9UeXBlczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUElmaWxlcy5odG1sIj5Nb2R1bGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSXN5bWJvbHMuaHRtbCI+U3ltYm9sczwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPlJlbGF0ZWQgbGlua3M8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSJodHRwOi8vbWFpbC5nbm9tZS5vcmcvYXJjaGl2ZXMveG1sLyI+TWFpbCBhcmNoaXZlPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9YU0xULyI+WFNMVCBsaWJ4c2x0PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9waGQuY3MudW5pYm8uaXQvZ2RvbWUyLyI+RE9NIGdkb21lMjwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmFsZWtzZXkuY29tL3htbHNlYy8iPlhNTC1EU2lnIHhtbHNlYzwvYT48L2xpPjxsaT48YSBocmVmPSJmdHA6Ly94bWxzb2Z0Lm9yZy8iPkZUUDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnpsYXRrb3ZpYy5jb20vcHJvamVjdHMvbGlieG1sLyI+V2luZG93cyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vb3BlbmNzdy5vcmcvcGFja2FnZXMvbGlieG1sMiI+U29sYXJpcyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmV4cGxhaW4uY29tLmF1L29zcy9saWJ4bWwyeHNsdC5odG1sIj5NYWNPc1ggYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2x4bWwuZGUvIj5seG1sIFB5dGhvbiBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vY3Bhbi51d2lubmlwZWcuY2EvZGlzdC9YTUwtTGliWE1MIj5QZXJsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWxwbHVzcGx1cy5zb3VyY2Vmb3JnZS5uZXQvIj5DKysgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56ZW5kLmNvbS9waHA1L2FydGljbGVzL3BocDUteG1scGhwLnBocCNIZWFkaW5nNCI+UEhQIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbGlieG1sMi1wYXMvIj5QYXNjYWwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbC5ydWJ5Zm9yZ2Uub3JnLyI+UnVieSBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vdGNseG1sLnNvdXJjZWZvcmdlLm5ldC8iPlRjbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2J1Z2xpc3QuY2dpP3Byb2R1Y3Q9bGlieG1sMiI+QnVnIFRyYWNrZXI8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dGFibGUgY2xhc3M9Im5hdmlnYXRpb24iIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIyIj48dHIgdmFsaWduPSJtaWRkbGUiPjx0ZD48YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImxpYnhtbC14bWxzY2hlbWFzLmh0bWwiPjxpbWcgc3JjPSJsZWZ0LnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iUHJldiIgLz48L2E+PC90ZD48dGggYWxpZ249ImxlZnQiPjxhIGhyZWY9ImxpYnhtbC14bWxzY2hlbWFzLmh0bWwiPnhtbHNjaGVtYXM8L2E+PC90aD48dGQ+PGEgYWNjZXNza2V5PSJ1IiBocmVmPSJpbmRleC5odG1sIj48aW1nIHNyYz0idXAucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJVcCIgLz48L2E+PC90ZD48dGggYWxpZ249ImxlZnQiPjxhIGhyZWY9ImluZGV4Lmh0bWwiPkFQSSBkb2N1bWVudGF0aW9uPC9hPjwvdGg+PHRkPjxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iLi4vaW5kZXguaHRtbCI+PGltZyBzcmM9ImhvbWUucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJIb21lIiAvPjwvYT48L3RkPjx0aCBhbGlnbj0iY2VudGVyIj48YSBocmVmPSIuLi9pbmRleC5odG1sIj5UaGUgWE1MIEMgcGFyc2VyIGFuZCB0b29sa2l0IG9mIEdub21lPC9hPjwvdGg+PHRoIGFsaWduPSJyaWdodCI+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sIj54bWxzdHJpbmc8L2E+PC90aD48dGQ+PGEgYWNjZXNza2V5PSJuIiBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwiPjxpbWcgc3JjPSJyaWdodC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9Ik5leHQiIC8+PC9hPjwvdGQ+PC90cj48L3RhYmxlPjxwPm1vZHVsZSBwcm92aWRpbmcgdGhlIFhNTCBTY2hlbWEgRGF0YXR5cGVzIGltcGxlbWVudGF0aW9uIGJvdGggZGVmaW5pdGlvbiBhbmQgdmFsaWRpdHkgY2hlY2tpbmcgPC9wPjxoMj5UYWJsZSBvZiBDb250ZW50czwvaDI+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkVudW0gPGEgaHJlZj0iI3htbFNjaGVtYVdoaXRlc3BhY2VWYWx1ZVR5cGUiPnhtbFNjaGVtYVdoaXRlc3BhY2VWYWx1ZVR5cGU8L2E+Cis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxTY2hlbWFDaGVja0ZhY2V0Ij54bWxTY2hlbWFDaGVja0ZhY2V0PC9hPgkJKDxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hRmFjZXRQdHIiPnhtbFNjaGVtYUZhY2V0UHRyPC9hPiBmYWNldCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFUeXBlUHRyIj54bWxTY2hlbWFUeXBlUHRyPC9hPiB0eXBlRGVjbCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIj54bWxTY2hlbWFQYXJzZXJDdHh0UHRyPC9hPiBwY3R4dCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxTY2hlbWFDbGVhbnVwVHlwZXMiPnhtbFNjaGVtYUNsZWFudXBUeXBlczwvYT4JCSh2b2lkKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxTY2hlbWFDb2xsYXBzZVN0cmluZyI+eG1sU2NoZW1hQ29sbGFwc2VTdHJpbmc8L2E+CShjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB2YWx1ZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFNjaGVtYUNvbXBhcmVWYWx1ZXMiPnhtbFNjaGVtYUNvbXBhcmVWYWx1ZXM8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFWYWxQdHIiPnhtbFNjaGVtYVZhbFB0cjwvYT4geCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFWYWxQdHIiPnhtbFNjaGVtYVZhbFB0cjwvYT4geSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFNjaGVtYUNvbXBhcmVWYWx1ZXNXaHRzcCI+eG1sU2NoZW1hQ29tcGFyZVZhbHVlc1dodHNwPC9hPgkoPGEgaHJlZj0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFWYWxQdHIiPnhtbFNjaGVtYVZhbFB0cjwvYT4geCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYVdoaXRlc3BhY2VWYWx1ZVR5cGUiPnhtbFNjaGVtYVdoaXRlc3BhY2VWYWx1ZVR5cGU8L2E+IHh3cywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFWYWxQdHIiPnhtbFNjaGVtYVZhbFB0cjwvYT4geSwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYVdoaXRlc3BhY2VWYWx1ZVR5cGUiPnhtbFNjaGVtYVdoaXRlc3BhY2VWYWx1ZVR5cGU8L2E+IHl3cyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVZhbFB0ciI+eG1sU2NoZW1hVmFsUHRyPC9hPgk8YSBocmVmPSIjeG1sU2NoZW1hQ29weVZhbHVlIj54bWxTY2hlbWFDb3B5VmFsdWU8L2E+CSg8YSBocmVmPSJsaWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVZhbFB0ciI+eG1sU2NoZW1hVmFsUHRyPC9hPiB2YWwpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sU2NoZW1hRnJlZUZhY2V0Ij54bWxTY2hlbWFGcmVlRmFjZXQ8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFGYWNldFB0ciI+eG1sU2NoZW1hRmFjZXRQdHI8L2E+IGZhY2V0KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFNjaGVtYUZyZWVWYWx1ZSI+eG1sU2NoZW1hRnJlZVZhbHVlPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVmFsUHRyIj54bWxTY2hlbWFWYWxQdHI8L2E+IHZhbHVlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVHlwZVB0ciI+eG1sU2NoZW1hVHlwZVB0cjwvYT4JPGEgaHJlZj0iI3htbFNjaGVtYUdldEJ1aWx0SW5MaXN0U2ltcGxlVHlwZUl0ZW1UeXBlIj54bWxTY2hlbWFHZXRCdWlsdEluTGlzdFNpbXBsZVR5cGVJdGVtVHlwZTwvYT4JKDxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVHlwZVB0ciI+eG1sU2NoZW1hVHlwZVB0cjwvYT4gdHlwZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVR5cGVQdHIiPnhtbFNjaGVtYVR5cGVQdHI8L2E+CTxhIGhyZWY9IiN4bWxTY2hlbWFHZXRCdWlsdEluVHlwZSI+eG1sU2NoZW1hR2V0QnVpbHRJblR5cGU8L2E+CSg8YSBocmVmPSJsaWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVZhbFR5cGUiPnhtbFNjaGVtYVZhbFR5cGU8L2E+IHR5cGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxTY2hlbWFHZXRDYW5vblZhbHVlIj54bWxTY2hlbWFHZXRDYW5vblZhbHVlPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVmFsUHRyIj54bWxTY2hlbWFWYWxQdHI8L2E+IHZhbCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoqIHJldFZhbHVlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sU2NoZW1hR2V0Q2Fub25WYWx1ZVdodHNwIj54bWxTY2hlbWFHZXRDYW5vblZhbHVlV2h0c3A8L2E+CSg8YSBocmVmPSJsaWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVZhbFB0ciI+eG1sU2NoZW1hVmFsUHRyPC9hPiB2YWwsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqKiByZXRWYWx1ZSwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYVdoaXRlc3BhY2VWYWx1ZVR5cGUiPnhtbFNjaGVtYVdoaXRlc3BhY2VWYWx1ZVR5cGU8L2E+IHdzKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnVuc2lnbmVkIGxvbmcJPGEgaHJlZj0iI3htbFNjaGVtYUdldEZhY2V0VmFsdWVBc1VMb25nIj54bWxTY2hlbWFHZXRGYWNldFZhbHVlQXNVTG9uZzwvYT4JKDxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hRmFjZXRQdHIiPnhtbFNjaGVtYUZhY2V0UHRyPC9hPiBmYWNldCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVR5cGVQdHIiPnhtbFNjaGVtYVR5cGVQdHI8L2E+CTxhIGhyZWY9IiN4bWxTY2hlbWFHZXRQcmVkZWZpbmVkVHlwZSI+eG1sU2NoZW1hR2V0UHJlZGVmaW5lZFR5cGU8L2E+CShjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5zKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVmFsVHlwZSI+eG1sU2NoZW1hVmFsVHlwZTwvYT4JPGEgaHJlZj0iI3htbFNjaGVtYUdldFZhbFR5cGUiPnhtbFNjaGVtYUdldFZhbFR5cGU8L2E+CSg8YSBocmVmPSJsaWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVZhbFB0ciI+eG1sU2NoZW1hVmFsUHRyPC9hPiB2YWwpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sU2NoZW1hSW5pdFR5cGVzIj54bWxTY2hlbWFJbml0VHlwZXM8L2E+CQkodm9pZCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFNjaGVtYUlzQnVpbHRJblR5cGVGYWNldCI+eG1sU2NoZW1hSXNCdWlsdEluVHlwZUZhY2V0PC9hPgkoPGEgaHJlZj0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFUeXBlUHRyIj54bWxTY2hlbWFUeXBlUHRyPC9hPiB0eXBlLCA8YnIgLz4JCQkJCSBpbnQgZmFjZXRUeXBlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hRmFjZXRQdHIiPnhtbFNjaGVtYUZhY2V0UHRyPC9hPgk8YSBocmVmPSIjeG1sU2NoZW1hTmV3RmFjZXQiPnhtbFNjaGVtYU5ld0ZhY2V0PC9hPgkodm9pZCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVZhbFB0ciI+eG1sU2NoZW1hVmFsUHRyPC9hPgk8YSBocmVmPSIjeG1sU2NoZW1hTmV3Tk9UQVRJT05WYWx1ZSI+eG1sU2NoZW1hTmV3Tk9UQVRJT05WYWx1ZTwvYT4JKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBucyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVZhbFB0ciI+eG1sU2NoZW1hVmFsUHRyPC9hPgk8YSBocmVmPSIjeG1sU2NoZW1hTmV3UU5hbWVWYWx1ZSI+eG1sU2NoZW1hTmV3UU5hbWVWYWx1ZTwvYT4JKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWVzcGFjZU5hbWUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGxvY2FsTmFtZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVZhbFB0ciI+eG1sU2NoZW1hVmFsUHRyPC9hPgk8YSBocmVmPSIjeG1sU2NoZW1hTmV3U3RyaW5nVmFsdWUiPnhtbFNjaGVtYU5ld1N0cmluZ1ZhbHVlPC9hPgkoPGEgaHJlZj0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFWYWxUeXBlIj54bWxTY2hlbWFWYWxUeXBlPC9hPiB0eXBlLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB2YWx1ZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFNjaGVtYVZhbFByZWRlZlR5cGVOb2RlIj54bWxTY2hlbWFWYWxQcmVkZWZUeXBlTm9kZTwvYT4JKDxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVHlwZVB0ciI+eG1sU2NoZW1hVHlwZVB0cjwvYT4gdHlwZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVmFsUHRyIj54bWxTY2hlbWFWYWxQdHI8L2E+ICogdmFsLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxTY2hlbWFWYWxQcmVkZWZUeXBlTm9kZU5vTm9ybSI+eG1sU2NoZW1hVmFsUHJlZGVmVHlwZU5vZGVOb05vcm08L2E+CSg8YSBocmVmPSJsaWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVR5cGVQdHIiPnhtbFNjaGVtYVR5cGVQdHI8L2E+IHR5cGUsIDxiciAvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB2YWx1ZSwgPGJyIC8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVmFsUHRyIj54bWxTY2hlbWFWYWxQdHI8L2E+ICogdmFsLCA8YnIgLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sU2NoZW1hVmFsaWRhdGVGYWNldCI+eG1sU2NoZW1hVmFsaWRhdGVGYWNldDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVR5cGVQdHIiPnhtbFNjaGVtYVR5cGVQdHI8L2E+IGJhc2UsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hRmFjZXRQdHIiPnhtbFNjaGVtYUZhY2V0UHRyPC9hPiBmYWNldCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVmFsUHRyIj54bWxTY2hlbWFWYWxQdHI8L2E+IHZhbCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFNjaGVtYVZhbGlkYXRlRmFjZXRXaHRzcCI+eG1sU2NoZW1hVmFsaWRhdGVGYWNldFdodHNwPC9hPgkoPGEgaHJlZj0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFGYWNldFB0ciI+eG1sU2NoZW1hRmFjZXRQdHI8L2E+IGZhY2V0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hV2hpdGVzcGFjZVZhbHVlVHlwZSI+eG1sU2NoZW1hV2hpdGVzcGFjZVZhbHVlVHlwZTwvYT4gZndzLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVZhbFR5cGUiPnhtbFNjaGVtYVZhbFR5cGU8L2E+IHZhbFR5cGUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHZhbHVlLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVZhbFB0ciI+eG1sU2NoZW1hVmFsUHRyPC9hPiB2YWwsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFXaGl0ZXNwYWNlVmFsdWVUeXBlIj54bWxTY2hlbWFXaGl0ZXNwYWNlVmFsdWVUeXBlPC9hPiB3cyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXQiPnhtbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXQ8L2E+CSg8YSBocmVmPSJsaWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVR5cGVQdHIiPnhtbFNjaGVtYVR5cGVQdHI8L2E+IHR5cGUsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hRmFjZXRQdHIiPnhtbFNjaGVtYUZhY2V0UHRyPC9hPiBmYWNldCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVmFsUHRyIj54bWxTY2hlbWFWYWxQdHI8L2E+IHZhbCwgPGJyIC8+CQkJCQkgdW5zaWduZWQgbG9uZyAqIGxlbmd0aCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXRXaHRzcCI+eG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldFdodHNwPC9hPgkoPGEgaHJlZj0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFGYWNldFB0ciI+eG1sU2NoZW1hRmFjZXRQdHI8L2E+IGZhY2V0LCA8YnIgLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFWYWxUeXBlIj54bWxTY2hlbWFWYWxUeXBlPC9hPiB2YWxUeXBlLCA8YnIgLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUsIDxiciAvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVZhbFB0ciI+eG1sU2NoZW1hVmFsUHRyPC9hPiB2YWwsIDxiciAvPgkJCQkJCSB1bnNpZ25lZCBsb25nICogbGVuZ3RoLCA8YnIgLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYVdoaXRlc3BhY2VWYWx1ZVR5cGUiPnhtbFNjaGVtYVdoaXRlc3BhY2VWYWx1ZVR5cGU8L2E+IHdzKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sU2NoZW1hVmFsaWRhdGVMaXN0U2ltcGxlVHlwZUZhY2V0Ij54bWxTY2hlbWFWYWxpZGF0ZUxpc3RTaW1wbGVUeXBlRmFjZXQ8L2E+CSg8YSBocmVmPSJsaWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYUZhY2V0UHRyIj54bWxTY2hlbWFGYWNldFB0cjwvYT4gZmFjZXQsIDxiciAvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB2YWx1ZSwgPGJyIC8+CQkJCQkJIHVuc2lnbmVkIGxvbmcgYWN0dWFsTGVuLCA8YnIgLz4JCQkJCQkgdW5zaWduZWQgbG9uZyAqIGV4cGVjdGVkTGVuKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sU2NoZW1hVmFsaWRhdGVQcmVkZWZpbmVkVHlwZSI+eG1sU2NoZW1hVmFsaWRhdGVQcmVkZWZpbmVkVHlwZTwvYT4JKDxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVHlwZVB0ciI+eG1sU2NoZW1hVHlwZVB0cjwvYT4gdHlwZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVmFsUHRyIj54bWxTY2hlbWFWYWxQdHI8L2E+ICogdmFsKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sU2NoZW1hVmFsdWVBcHBlbmQiPnhtbFNjaGVtYVZhbHVlQXBwZW5kPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVmFsUHRyIj54bWxTY2hlbWFWYWxQdHI8L2E+IHByZXYsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVmFsUHRyIj54bWxTY2hlbWFWYWxQdHI8L2E+IGN1cik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFNjaGVtYVZhbHVlR2V0QXNCb29sZWFuIj54bWxTY2hlbWFWYWx1ZUdldEFzQm9vbGVhbjwvYT4JKDxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVmFsUHRyIj54bWxTY2hlbWFWYWxQdHI8L2E+IHZhbCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5jb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sU2NoZW1hVmFsdWVHZXRBc1N0cmluZyI+eG1sU2NoZW1hVmFsdWVHZXRBc1N0cmluZzwvYT4JKDxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVmFsUHRyIj54bWxTY2hlbWFWYWxQdHI8L2E+IHZhbCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVZhbFB0ciI+eG1sU2NoZW1hVmFsUHRyPC9hPgk8YSBocmVmPSIjeG1sU2NoZW1hVmFsdWVHZXROZXh0Ij54bWxTY2hlbWFWYWx1ZUdldE5leHQ8L2E+CSg8YSBocmVmPSJsaWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVZhbFB0ciI+eG1sU2NoZW1hVmFsUHRyPC9hPiBjdXIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbFNjaGVtYVdoaXRlU3BhY2VSZXBsYWNlIj54bWxTY2hlbWFXaGl0ZVNwYWNlUmVwbGFjZTwvYT4JKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHZhbHVlKTwvcHJlPgorPGgyPkRlc2NyaXB0aW9uPC9oMj4KKzxoMz5FbnVtIDxhIG5hbWU9InhtbFNjaGVtYVdoaXRlc3BhY2VWYWx1ZVR5cGUiIGlkPSJ4bWxTY2hlbWFXaGl0ZXNwYWNlVmFsdWVUeXBlIj54bWxTY2hlbWFXaGl0ZXNwYWNlVmFsdWVUeXBlPC9hPjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkVudW0geG1sU2NoZW1hV2hpdGVzcGFjZVZhbHVlVHlwZSB7CisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQV9XSElURVNQQUNFX1VOS05PV04iIGlkPSJYTUxfU0NIRU1BX1dISVRFU1BBQ0VfVU5LTk9XTiI+WE1MX1NDSEVNQV9XSElURVNQQUNFX1VOS05PV048L2E+ID0gMAorICAgIDxhIG5hbWU9IlhNTF9TQ0hFTUFfV0hJVEVTUEFDRV9QUkVTRVJWRSIgaWQ9IlhNTF9TQ0hFTUFfV0hJVEVTUEFDRV9QUkVTRVJWRSI+WE1MX1NDSEVNQV9XSElURVNQQUNFX1BSRVNFUlZFPC9hPiA9IDEKKyAgICA8YSBuYW1lPSJYTUxfU0NIRU1BX1dISVRFU1BBQ0VfUkVQTEFDRSIgaWQ9IlhNTF9TQ0hFTUFfV0hJVEVTUEFDRV9SRVBMQUNFIj5YTUxfU0NIRU1BX1dISVRFU1BBQ0VfUkVQTEFDRTwvYT4gPSAyCisgICAgPGEgbmFtZT0iWE1MX1NDSEVNQV9XSElURVNQQUNFX0NPTExBUFNFIiBpZD0iWE1MX1NDSEVNQV9XSElURVNQQUNFX0NPTExBUFNFIj5YTUxfU0NIRU1BX1dISVRFU1BBQ0VfQ09MTEFQU0U8L2E+ID0gMworfQorPC9wcmU+PGgzPjxhIG5hbWU9InhtbFNjaGVtYUNoZWNrRmFjZXQiIGlkPSJ4bWxTY2hlbWFDaGVja0ZhY2V0Ij48L2E+RnVuY3Rpb246IHhtbFNjaGVtYUNoZWNrRmFjZXQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sU2NoZW1hQ2hlY2tGYWNldAkJKDxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hRmFjZXRQdHIiPnhtbFNjaGVtYUZhY2V0UHRyPC9hPiBmYWNldCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFUeXBlUHRyIj54bWxTY2hlbWFUeXBlUHRyPC9hPiB0eXBlRGVjbCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIj54bWxTY2hlbWFQYXJzZXJDdHh0UHRyPC9hPiBwY3R4dCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrcyBhbmQgY29tcHV0ZXMgdGhlIHZhbHVlcyBvZiBmYWNldHMuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmFjZXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmYWNldDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dHlwZURlY2w8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzY2hlbWEgdHlwZSBkZWZpbml0aW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wY3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHNjaGVtYSBwYXJzZXIgY29udGV4dCBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgb3B0aW9uYWwgbmFtZSBvZiB0aGUgdHlwZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpZiB2YWxpZCwgYSBwb3NpdGl2ZSBlcnJvciBjb2RlIGlmIG5vdCB2YWxpZCBhbmQgLTEgaW4gY2FzZSBvZiBhbiBpbnRlcm5hbCBvciBBUEkgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU2NoZW1hQ2xlYW51cFR5cGVzIiBpZD0ieG1sU2NoZW1hQ2xlYW51cFR5cGVzIj48L2E+RnVuY3Rpb246IHhtbFNjaGVtYUNsZWFudXBUeXBlczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sU2NoZW1hQ2xlYW51cFR5cGVzCQkodm9pZCk8YnIgLz4KKzwvcHJlPjxwPkNsZWFudXAgdGhlIGRlZmF1bHQgWE1MIFNjaGVtYXMgdHlwZSBsaWJyYXJ5PC9wPgorPGgzPjxhIG5hbWU9InhtbFNjaGVtYUNvbGxhcHNlU3RyaW5nIiBpZD0ieG1sU2NoZW1hQ29sbGFwc2VTdHJpbmciPjwvYT5GdW5jdGlvbjogeG1sU2NoZW1hQ29sbGFwc2VTdHJpbmc8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxTY2hlbWFDb2xsYXBzZVN0cmluZwkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUpPGJyIC8+Cis8L3ByZT48cD5SZW1vdmVzIGFuZCBub3JtYWxpemUgd2hpdGUgc3BhY2VzIGluIHRoZSBzdHJpbmc8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWx1ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSB2YWx1ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ldyBzdHJpbmcgb3IgTlVMTCBpZiBubyBjaGFuZ2Ugd2FzIHJlcXVpcmVkLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFNjaGVtYUNvbXBhcmVWYWx1ZXMiIGlkPSJ4bWxTY2hlbWFDb21wYXJlVmFsdWVzIj48L2E+RnVuY3Rpb246IHhtbFNjaGVtYUNvbXBhcmVWYWx1ZXM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sU2NoZW1hQ29tcGFyZVZhbHVlcwkJKDxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVmFsUHRyIj54bWxTY2hlbWFWYWxQdHI8L2E+IHgsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVmFsUHRyIj54bWxTY2hlbWFWYWxQdHI8L2E+IHkpPGJyIC8+Cis8L3ByZT48cD5Db21wYXJlIDIgdmFsdWVzPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBmaXJzdCB2YWx1ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+eTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBzZWNvbmQgdmFsdWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPi0xIGlmIHggJmx0OyB5LCAwIGlmIHggPT0geSwgMSBpZiB4ICZndDsgeSwgMiBpZiB4ICZsdDsmZ3Q7IHksIGFuZCAtMiBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU2NoZW1hQ29tcGFyZVZhbHVlc1dodHNwIiBpZD0ieG1sU2NoZW1hQ29tcGFyZVZhbHVlc1dodHNwIj48L2E+RnVuY3Rpb246IHhtbFNjaGVtYUNvbXBhcmVWYWx1ZXNXaHRzcDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxTY2hlbWFDb21wYXJlVmFsdWVzV2h0c3AJKDxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVmFsUHRyIj54bWxTY2hlbWFWYWxQdHI8L2E+IHgsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFXaGl0ZXNwYWNlVmFsdWVUeXBlIj54bWxTY2hlbWFXaGl0ZXNwYWNlVmFsdWVUeXBlPC9hPiB4d3MsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVmFsUHRyIj54bWxTY2hlbWFWYWxQdHI8L2E+IHksIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFXaGl0ZXNwYWNlVmFsdWVUeXBlIj54bWxTY2hlbWFXaGl0ZXNwYWNlVmFsdWVUeXBlPC9hPiB5d3MpPGJyIC8+Cis8L3ByZT48cD5Db21wYXJlIDIgdmFsdWVzPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBmaXJzdCB2YWx1ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+eHdzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgd2hpdGVzcGFjZSB2YWx1ZSBvZiB4PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD55PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHNlY29uZCB2YWx1ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+eXdzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgd2hpdGVzcGFjZSB2YWx1ZSBvZiB5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4tMSBpZiB4ICZsdDsgeSwgMCBpZiB4ID09IHksIDEgaWYgeCAmZ3Q7IHksIDIgaWYgeCAmbHQ7Jmd0OyB5LCBhbmQgLTIgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFNjaGVtYUNvcHlWYWx1ZSIgaWQ9InhtbFNjaGVtYUNvcHlWYWx1ZSI+PC9hPkZ1bmN0aW9uOiB4bWxTY2hlbWFDb3B5VmFsdWU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVZhbFB0ciI+eG1sU2NoZW1hVmFsUHRyPC9hPgl4bWxTY2hlbWFDb3B5VmFsdWUJKDxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVmFsUHRyIj54bWxTY2hlbWFWYWxQdHI8L2E+IHZhbCk8YnIgLz4KKzwvcHJlPjxwPkNvcGllcyB0aGUgcHJlY29tcHV0ZWQgdmFsdWUuIFRoaXMgZHVwbGljYXRlcyBhbnkgc3RyaW5nIHdpdGhpbi48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwcmVjb21wdXRlZCB2YWx1ZSB0byBiZSBjb3BpZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjb3B5IG9yIE5VTEwgaWYgYSBjb3B5IGZvciBhIGRhdGEtdHlwZSBpcyBub3QgaW1wbGVtZW50ZWQuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU2NoZW1hRnJlZUZhY2V0IiBpZD0ieG1sU2NoZW1hRnJlZUZhY2V0Ij48L2E+RnVuY3Rpb246IHhtbFNjaGVtYUZyZWVGYWNldDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sU2NoZW1hRnJlZUZhY2V0CQkoPGEgaHJlZj0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFGYWNldFB0ciI+eG1sU2NoZW1hRmFjZXRQdHI8L2E+IGZhY2V0KTxiciAvPgorPC9wcmU+PHA+RGVhbGxvY2F0ZSBhIFNjaGVtYSBGYWNldCBzdHJ1Y3R1cmUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmFjZXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgc2NoZW1hIGZhY2V0IHN0cnVjdHVyZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFNjaGVtYUZyZWVWYWx1ZSIgaWQ9InhtbFNjaGVtYUZyZWVWYWx1ZSI+PC9hPkZ1bmN0aW9uOiB4bWxTY2hlbWFGcmVlVmFsdWU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFNjaGVtYUZyZWVWYWx1ZQkJKDxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVmFsUHRyIj54bWxTY2hlbWFWYWxQdHI8L2E+IHZhbHVlKTxiciAvPgorPC9wcmU+PHA+Q2xlYW51cCB0aGUgZGVmYXVsdCBYTUwgU2NoZW1hcyB0eXBlIGxpYnJhcnk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWx1ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHZhbHVlIHRvIGZyZWU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTY2hlbWFHZXRCdWlsdEluTGlzdFNpbXBsZVR5cGVJdGVtVHlwZSIgaWQ9InhtbFNjaGVtYUdldEJ1aWx0SW5MaXN0U2ltcGxlVHlwZUl0ZW1UeXBlIj48L2E+RnVuY3Rpb246IHhtbFNjaGVtYUdldEJ1aWx0SW5MaXN0U2ltcGxlVHlwZUl0ZW1UeXBlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFUeXBlUHRyIj54bWxTY2hlbWFUeXBlUHRyPC9hPgl4bWxTY2hlbWFHZXRCdWlsdEluTGlzdFNpbXBsZVR5cGVJdGVtVHlwZQkoPGEgaHJlZj0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFUeXBlUHRyIj54bWxTY2hlbWFUeXBlUHRyPC9hPiB0eXBlKTxiciAvPgorPC9wcmU+PHA+TG9va3VwIGZ1bmN0aW9uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dHlwZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ1aWx0LWluIHNpbXBsZSB0eXBlLjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGl0ZW0gdHlwZSBvZiBAdHlwZSBhcyBkZWZpbmVkIGJ5IHRoZSBidWlsdC1pbiBkYXRhdHlwZSBoaWVyYXJjaHkgb2YgWE1MIFNjaGVtYSBQYXJ0IDI6IERhdGF0eXBlcywgb3IgTlVMTCBpbiBjYXNlIG9mIGFuIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFNjaGVtYUdldEJ1aWx0SW5UeXBlIiBpZD0ieG1sU2NoZW1hR2V0QnVpbHRJblR5cGUiPjwvYT5GdW5jdGlvbjogeG1sU2NoZW1hR2V0QnVpbHRJblR5cGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVR5cGVQdHIiPnhtbFNjaGVtYVR5cGVQdHI8L2E+CXhtbFNjaGVtYUdldEJ1aWx0SW5UeXBlCSg8YSBocmVmPSJsaWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVZhbFR5cGUiPnhtbFNjaGVtYVZhbFR5cGU8L2E+IHR5cGUpPGJyIC8+Cis8L3ByZT48cD5HaXZlcyB5b3UgdGhlIHR5cGUgc3RydWN0IGZvciBhIGJ1aWx0LWluIHR5cGUgYnkgaXRzIHR5cGUgaWQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dHlwZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHR5cGUgb2YgdGhlIGJ1aWx0IGluIHR5cGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB0eXBlIGlmIGZvdW5kLCBOVUxMIG90aGVyd2lzZS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTY2hlbWFHZXRDYW5vblZhbHVlIiBpZD0ieG1sU2NoZW1hR2V0Q2Fub25WYWx1ZSI+PC9hPkZ1bmN0aW9uOiB4bWxTY2hlbWFHZXRDYW5vblZhbHVlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFNjaGVtYUdldENhbm9uVmFsdWUJCSg8YSBocmVmPSJsaWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVZhbFB0ciI+eG1sU2NoZW1hVmFsUHRyPC9hPiB2YWwsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqKiByZXRWYWx1ZSk8YnIgLz4KKzwvcHJlPjxwPkdldCB0aGUgY2Fub25pY2FsIGxleGljYWwgcmVwcmVzZW50YXRpb24gb2YgdGhlIHZhbHVlLiBUaGUgY2FsbGVyIGhhcyB0byBGUkVFIHRoZSByZXR1cm5lZCByZXRWYWx1ZS4gV0FSTklORzogU29tZSB2YWx1ZSB0eXBlcyBhcmUgbm90IHN1cHBvcnRlZCB5ZXQsIHJlc3VsdGluZyBpbiBhIEByZXRWYWx1ZSBvZiAiPz8/Ii4gVE9ETzogWE1MIFNjaGVtYSAxLjAgZG9lcyBub3QgZGVmaW5lIGNhbm9uaWNhbCByZXByZXNlbnRhdGlvbnMgZm9yOiBkdXJhdGlvbiwgZ1llYXJNb250aCwgZ1llYXIsIGdNb250aERheSwgZ01vbnRoLCBnRGF5LCBhbnlVUkksIFFOYW1lLCBOT1RBVElPTi4gVGhpcyB3aWxsIGJlIGZpeGVkIGluIFhNTCBTY2hlbWEgMS4xLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHByZWNvbXB1dGVkIHZhbHVlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZXRWYWx1ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHJldHVybmVkIHZhbHVlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGlmIHRoZSB2YWx1ZSBjb3VsZCBiZSBidWlsdCwgMSBpZiB0aGUgdmFsdWUgdHlwZSBpcyBub3Qgc3VwcG9ydGVkIHlldCBhbmQgLTEgaW4gY2FzZSBvZiBBUEkgZXJyb3JzLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFNjaGVtYUdldENhbm9uVmFsdWVXaHRzcCIgaWQ9InhtbFNjaGVtYUdldENhbm9uVmFsdWVXaHRzcCI+PC9hPkZ1bmN0aW9uOiB4bWxTY2hlbWFHZXRDYW5vblZhbHVlV2h0c3A8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sU2NoZW1hR2V0Q2Fub25WYWx1ZVdodHNwCSg8YSBocmVmPSJsaWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVZhbFB0ciI+eG1sU2NoZW1hVmFsUHRyPC9hPiB2YWwsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqKiByZXRWYWx1ZSwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYVdoaXRlc3BhY2VWYWx1ZVR5cGUiPnhtbFNjaGVtYVdoaXRlc3BhY2VWYWx1ZVR5cGU8L2E+IHdzKTxiciAvPgorPC9wcmU+PHA+R2V0IHRoZSBjYW5vbmljYWwgcmVwcmVzZW50YXRpb24gb2YgdGhlIHZhbHVlLiBUaGUgY2FsbGVyIGhhcyB0byBmcmVlIHRoZSByZXR1cm5lZCBAcmV0VmFsdWUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcHJlY29tcHV0ZWQgdmFsdWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnJldFZhbHVlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmV0dXJuZWQgdmFsdWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PndzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgd2hpdGVzcGFjZSB0eXBlIG9mIHRoZSB2YWx1ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpZiB0aGUgdmFsdWUgY291bGQgYmUgYnVpbHQsIDEgaWYgdGhlIHZhbHVlIHR5cGUgaXMgbm90IHN1cHBvcnRlZCB5ZXQgYW5kIC0xIGluIGNhc2Ugb2YgQVBJIGVycm9ycy48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTY2hlbWFHZXRGYWNldFZhbHVlQXNVTG9uZyIgaWQ9InhtbFNjaGVtYUdldEZhY2V0VmFsdWVBc1VMb25nIj48L2E+RnVuY3Rpb246IHhtbFNjaGVtYUdldEZhY2V0VmFsdWVBc1VMb25nPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dW5zaWduZWQgbG9uZwl4bWxTY2hlbWFHZXRGYWNldFZhbHVlQXNVTG9uZwkoPGEgaHJlZj0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFGYWNldFB0ciI+eG1sU2NoZW1hRmFjZXRQdHI8L2E+IGZhY2V0KTxiciAvPgorPC9wcmU+PHA+RXh0cmFjdCB0aGUgdmFsdWUgb2YgYSBmYWNldDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZhY2V0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBzY2hlbWFzIHR5cGUgZmFjZXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB2YWx1ZSBhcyBhIGxvbmc8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTY2hlbWFHZXRQcmVkZWZpbmVkVHlwZSIgaWQ9InhtbFNjaGVtYUdldFByZWRlZmluZWRUeXBlIj48L2E+RnVuY3Rpb246IHhtbFNjaGVtYUdldFByZWRlZmluZWRUeXBlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFUeXBlUHRyIj54bWxTY2hlbWFUeXBlUHRyPC9hPgl4bWxTY2hlbWFHZXRQcmVkZWZpbmVkVHlwZQkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBucyk8YnIgLz4KKzwvcHJlPjxwPkxvb2t1cCBhIHR5cGUgaW4gdGhlIGRlZmF1bHQgWE1MIFNjaGVtYXMgdHlwZSBsaWJyYXJ5PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHR5cGUgbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBVUkkgb2YgdGhlIG5hbWVzcGFjZSB1c3VhbGx5ICJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB0eXBlIGlmIGZvdW5kLCBOVUxMIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFNjaGVtYUdldFZhbFR5cGUiIGlkPSJ4bWxTY2hlbWFHZXRWYWxUeXBlIj48L2E+RnVuY3Rpb246IHhtbFNjaGVtYUdldFZhbFR5cGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVZhbFR5cGUiPnhtbFNjaGVtYVZhbFR5cGU8L2E+CXhtbFNjaGVtYUdldFZhbFR5cGUJKDxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVmFsUHRyIj54bWxTY2hlbWFWYWxQdHI8L2E+IHZhbCk8YnIgLz4KKzwvcHJlPjxwPkFjY2Vzc29yIGZvciB0aGUgdHlwZSBvZiBhIHZhbHVlPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHNjaGVtYXMgdmFsdWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVZhbFR5cGUiPnhtbFNjaGVtYVZhbFR5cGU8L2E+IG9mIHRoZSB2YWx1ZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFNjaGVtYUluaXRUeXBlcyIgaWQ9InhtbFNjaGVtYUluaXRUeXBlcyI+PC9hPkZ1bmN0aW9uOiB4bWxTY2hlbWFJbml0VHlwZXM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFNjaGVtYUluaXRUeXBlcwkJKHZvaWQpPGJyIC8+Cis8L3ByZT48cD5Jbml0aWFsaXplIHRoZSBkZWZhdWx0IFhNTCBTY2hlbWFzIHR5cGUgbGlicmFyeTwvcD4KKzxoMz48YSBuYW1lPSJ4bWxTY2hlbWFJc0J1aWx0SW5UeXBlRmFjZXQiIGlkPSJ4bWxTY2hlbWFJc0J1aWx0SW5UeXBlRmFjZXQiPjwvYT5GdW5jdGlvbjogeG1sU2NoZW1hSXNCdWlsdEluVHlwZUZhY2V0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFNjaGVtYUlzQnVpbHRJblR5cGVGYWNldAkoPGEgaHJlZj0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFUeXBlUHRyIj54bWxTY2hlbWFUeXBlUHRyPC9hPiB0eXBlLCA8YnIgLz4JCQkJCSBpbnQgZmFjZXRUeXBlKTxiciAvPgorPC9wcmU+PHA+RXZhbHVhdGVzIGlmIGEgc3BlY2lmaWMgZmFjZXQgY2FuIGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBhIHR5cGUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dHlwZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ1aWx0LWluIHR5cGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZhY2V0VHlwZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZhY2V0IHR5cGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdGhlIGZhY2V0IGNhbiBiZSB1c2VkIHdpdGggdGhlIGdpdmVuIGJ1aWx0LWluIHR5cGUsIDAgb3RoZXJ3aXNlIGFuZCAtMSBpbiBjYXNlIHRoZSB0eXBlIGlzIG5vdCBhIGJ1aWx0LWluIHR5cGUuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU2NoZW1hTmV3RmFjZXQiIGlkPSJ4bWxTY2hlbWFOZXdGYWNldCI+PC9hPkZ1bmN0aW9uOiB4bWxTY2hlbWFOZXdGYWNldDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hRmFjZXRQdHIiPnhtbFNjaGVtYUZhY2V0UHRyPC9hPgl4bWxTY2hlbWFOZXdGYWNldAkodm9pZCk8YnIgLz4KKzwvcHJlPjxwPkFsbG9jYXRlIGEgbmV3IEZhY2V0IHN0cnVjdHVyZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3bHkgYWxsb2NhdGVkIHN0cnVjdHVyZSBvciBOVUxMIGluIGNhc2Ugb3IgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTY2hlbWFOZXdOT1RBVElPTlZhbHVlIiBpZD0ieG1sU2NoZW1hTmV3Tk9UQVRJT05WYWx1ZSI+PC9hPkZ1bmN0aW9uOiB4bWxTY2hlbWFOZXdOT1RBVElPTlZhbHVlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFWYWxQdHIiPnhtbFNjaGVtYVZhbFB0cjwvYT4JeG1sU2NoZW1hTmV3Tk9UQVRJT05WYWx1ZQkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5zKTxiciAvPgorPC9wcmU+PHA+QWxsb2NhdGUgYSBuZXcgTk9UQVRJT04gdmFsdWUuIFRoZSBnaXZlbiB2YWx1ZXMgYXJlIGNvbnN1bWVkIGFuZCBmcmVlZCB3aXRoIHRoZSBzdHJ1Y3QuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vdGF0aW9uIG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbm90YXRpb24gbmFtZXNwYWNlIG5hbWUgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIHRoZSBuZXcgdmFsdWUgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU2NoZW1hTmV3UU5hbWVWYWx1ZSIgaWQ9InhtbFNjaGVtYU5ld1FOYW1lVmFsdWUiPjwvYT5GdW5jdGlvbjogeG1sU2NoZW1hTmV3UU5hbWVWYWx1ZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVmFsUHRyIj54bWxTY2hlbWFWYWxQdHI8L2E+CXhtbFNjaGVtYU5ld1FOYW1lVmFsdWUJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWVzcGFjZU5hbWUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGxvY2FsTmFtZSk8YnIgLz4KKzwvcHJlPjxwPkFsbG9jYXRlIGEgbmV3IFFOYW1lIHZhbHVlLiBUaGUgZ2l2ZW4gdmFsdWVzIGFyZSBjb25zdW1lZCBhbmQgZnJlZWQgd2l0aCB0aGUgc3RydWN0LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWVzcGFjZU5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lc3BhY2UgbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bG9jYWxOYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbG9jYWwgbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIHRoZSBuZXcgdmFsdWUgb3IgTlVMTCBpbiBjYXNlIG9mIGFuIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFNjaGVtYU5ld1N0cmluZ1ZhbHVlIiBpZD0ieG1sU2NoZW1hTmV3U3RyaW5nVmFsdWUiPjwvYT5GdW5jdGlvbjogeG1sU2NoZW1hTmV3U3RyaW5nVmFsdWU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVZhbFB0ciI+eG1sU2NoZW1hVmFsUHRyPC9hPgl4bWxTY2hlbWFOZXdTdHJpbmdWYWx1ZQkoPGEgaHJlZj0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFWYWxUeXBlIj54bWxTY2hlbWFWYWxUeXBlPC9hPiB0eXBlLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB2YWx1ZSk8YnIgLz4KKzwvcHJlPjxwPkFsbG9jYXRlIGEgbmV3IHNpbXBsZSB0eXBlIHZhbHVlLiBUaGUgdHlwZSBjYW4gYmUgb2YgWE1MX1NDSEVNQVNfU1RSSU5HLiBXQVJOSU5HOiBUaGlzIG9uZSBpcyBpbnRlbmRlZCB0byBiZSBleHBhbmRlZCBmb3Igb3RoZXIgc3RyaW5nIGJhc2VkIHR5cGVzLiBXZSBuZWVkIHRoaXMgZm9yIGFueVNpbXBsZVR5cGUgYXMgd2VsbC4gVGhlIGdpdmVuIHZhbHVlIGlzIGNvbnN1bWVkIGFuZCBmcmVlZCB3aXRoIHRoZSBzdHJ1Y3QuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dHlwZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHZhbHVlIHR5cGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbHVlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdmFsdWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgcG9pbnRlciB0byB0aGUgbmV3IHZhbHVlIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFNjaGVtYVZhbFByZWRlZlR5cGVOb2RlIiBpZD0ieG1sU2NoZW1hVmFsUHJlZGVmVHlwZU5vZGUiPjwvYT5GdW5jdGlvbjogeG1sU2NoZW1hVmFsUHJlZGVmVHlwZU5vZGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sU2NoZW1hVmFsUHJlZGVmVHlwZU5vZGUJKDxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVHlwZVB0ciI+eG1sU2NoZW1hVHlwZVB0cjwvYT4gdHlwZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVmFsUHRyIj54bWxTY2hlbWFWYWxQdHI8L2E+ICogdmFsLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUpPGJyIC8+Cis8L3ByZT48cD5DaGVjayB0aGF0IGEgdmFsdWUgY29uZm9ybXMgdG8gdGhlIGxleGljYWwgc3BhY2Ugb2YgdGhlIHByZWRlZmluZWQgdHlwZS4gaWYgdHJ1ZSBhIHZhbHVlIGlzIGNvbXB1dGVkIGFuZCByZXR1cm5lZCBpbiBAdmFsLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnR5cGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwcmVkZWZpbmVkIHR5cGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbHVlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdmFsdWUgdG8gY2hlY2s8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHJldHVybiBjb21wdXRlZCB2YWx1ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vZGUgY29udGFpbmluZyB0aGUgdmFsdWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaWYgdGhpcyB2YWxpZGF0ZXMsIGEgcG9zaXRpdmUgZXJyb3IgY29kZSBudW1iZXIgb3RoZXJ3aXNlIGFuZCAtMSBpbiBjYXNlIG9mIGludGVybmFsIG9yIEFQSSBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTY2hlbWFWYWxQcmVkZWZUeXBlTm9kZU5vTm9ybSIgaWQ9InhtbFNjaGVtYVZhbFByZWRlZlR5cGVOb2RlTm9Ob3JtIj48L2E+RnVuY3Rpb246IHhtbFNjaGVtYVZhbFByZWRlZlR5cGVOb2RlTm9Ob3JtPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFNjaGVtYVZhbFByZWRlZlR5cGVOb2RlTm9Ob3JtCSg8YSBocmVmPSJsaWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVR5cGVQdHIiPnhtbFNjaGVtYVR5cGVQdHI8L2E+IHR5cGUsIDxiciAvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB2YWx1ZSwgPGJyIC8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVmFsUHRyIj54bWxTY2hlbWFWYWxQdHI8L2E+ICogdmFsLCA8YnIgLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlKTxiciAvPgorPC9wcmU+PHA+Q2hlY2sgdGhhdCBhIHZhbHVlIGNvbmZvcm1zIHRvIHRoZSBsZXhpY2FsIHNwYWNlIG9mIHRoZSBwcmVkZWZpbmVkIHR5cGUuIGlmIHRydWUgYSB2YWx1ZSBpcyBjb21wdXRlZCBhbmQgcmV0dXJuZWQgaW4gQHZhbC4gVGhpcyBvbmUgZG9lcyBhcHBseSBhbnkgbm9ybWFsaXphdGlvbiB0byB0aGUgdmFsdWUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dHlwZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHByZWRlZmluZWQgdHlwZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsdWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB2YWx1ZSB0byBjaGVjazwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcmV0dXJuIGNvbXB1dGVkIHZhbHVlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbm9kZSBjb250YWluaW5nIHRoZSB2YWx1ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpZiB0aGlzIHZhbGlkYXRlcywgYSBwb3NpdGl2ZSBlcnJvciBjb2RlIG51bWJlciBvdGhlcndpc2UgYW5kIC0xIGluIGNhc2Ugb2YgaW50ZXJuYWwgb3IgQVBJIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFNjaGVtYVZhbGlkYXRlRmFjZXQiIGlkPSJ4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0Ij48L2E+RnVuY3Rpb246IHhtbFNjaGVtYVZhbGlkYXRlRmFjZXQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sU2NoZW1hVmFsaWRhdGVGYWNldAkJKDxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVHlwZVB0ciI+eG1sU2NoZW1hVHlwZVB0cjwvYT4gYmFzZSwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFGYWNldFB0ciI+eG1sU2NoZW1hRmFjZXRQdHI8L2E+IGZhY2V0LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB2YWx1ZSwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFWYWxQdHIiPnhtbFNjaGVtYVZhbFB0cjwvYT4gdmFsKTxiciAvPgorPC9wcmU+PHA+Q2hlY2sgYSB2YWx1ZSBhZ2FpbnN0IGEgZmFjZXQgY29uZGl0aW9uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YmFzZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJhc2UgdHlwZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmFjZXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmYWNldCB0byBjaGVjazwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsdWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsZXhpY2FsIHJlcHIgb2YgdGhlIHZhbHVlIHRvIHZhbGlkYXRlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwcmVjb21wdXRlZCB2YWx1ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpZiB0aGUgZWxlbWVudCBpcyBzY2hlbWFzIHZhbGlkLCBhIHBvc2l0aXZlIGVycm9yIGNvZGUgbnVtYmVyIG90aGVyd2lzZSBhbmQgLTEgaW4gY2FzZSBvZiBpbnRlcm5hbCBvciBBUEkgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU2NoZW1hVmFsaWRhdGVGYWNldFdodHNwIiBpZD0ieG1sU2NoZW1hVmFsaWRhdGVGYWNldFdodHNwIj48L2E+RnVuY3Rpb246IHhtbFNjaGVtYVZhbGlkYXRlRmFjZXRXaHRzcDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0V2h0c3AJKDxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hRmFjZXRQdHIiPnhtbFNjaGVtYUZhY2V0UHRyPC9hPiBmYWNldCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYVdoaXRlc3BhY2VWYWx1ZVR5cGUiPnhtbFNjaGVtYVdoaXRlc3BhY2VWYWx1ZVR5cGU8L2E+IGZ3cywgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFWYWxUeXBlIj54bWxTY2hlbWFWYWxUeXBlPC9hPiB2YWxUeXBlLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB2YWx1ZSwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFWYWxQdHIiPnhtbFNjaGVtYVZhbFB0cjwvYT4gdmFsLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hV2hpdGVzcGFjZVZhbHVlVHlwZSI+eG1sU2NoZW1hV2hpdGVzcGFjZVZhbHVlVHlwZTwvYT4gd3MpPGJyIC8+Cis8L3ByZT48cD5DaGVjayBhIHZhbHVlIGFnYWluc3QgYSBmYWNldCBjb25kaXRpb24uIFRoaXMgdGFrZXMgdmFsdWUgbm9ybWFsaXphdGlvbiBhY2NvcmRpbmcgdG8gdGhlIHNwZWNpZmllZCB3aGl0ZXNwYWNlIHR5cGVzIGludG8gYWNjb3VudC4gTm90ZSB0aGF0IEB2YWx1ZSBuZWVkcyB0byBiZSB0aGUgKm5vcm1hbGl6ZWQqIHZhbHVlIGlmIHRoZSBmYWNldCBpcyBvZiB0eXBlICJwYXR0ZXJuIi48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mYWNldDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZhY2V0IHRvIGNoZWNrPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5md3M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB3aGl0ZXNwYWNlIHR5cGUgb2YgdGhlIGZhY2V0J3MgdmFsdWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbFR5cGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBidWlsdC1pbiB0eXBlIG9mIHRoZSB2YWx1ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsdWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsZXhpY2FsIChvciBub3JtYWxpemVkIGZvciBwYXR0ZXJuKSByZXByIG9mIHRoZSB2YWx1ZSB0byB2YWxpZGF0ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcHJlY29tcHV0ZWQgdmFsdWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PndzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgd2hpdGVzcGFjZSB0eXBlIG9mIHRoZSB2YWx1ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MCBpZiB0aGUgZWxlbWVudCBpcyBzY2hlbWFzIHZhbGlkLCBhIHBvc2l0aXZlIGVycm9yIGNvZGUgbnVtYmVyIG90aGVyd2lzZSBhbmQgLTEgaW4gY2FzZSBvZiBpbnRlcm5hbCBvciBBUEkgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldCIgaWQ9InhtbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXQiPjwvYT5GdW5jdGlvbjogeG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxTY2hlbWFWYWxpZGF0ZUxlbmd0aEZhY2V0CSg8YSBocmVmPSJsaWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVR5cGVQdHIiPnhtbFNjaGVtYVR5cGVQdHI8L2E+IHR5cGUsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hRmFjZXRQdHIiPnhtbFNjaGVtYUZhY2V0UHRyPC9hPiBmYWNldCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVmFsUHRyIj54bWxTY2hlbWFWYWxQdHI8L2E+IHZhbCwgPGJyIC8+CQkJCQkgdW5zaWduZWQgbG9uZyAqIGxlbmd0aCk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrYSBhIHZhbHVlIGFnYWluc3QgYSAibGVuZ3RoIiwgIm1pbkxlbmd0aCIgYW5kICJtYXhMZW5ndGgiIGZhY2V0OyBzZXRzIEBsZW5ndGggdG8gdGhlIGNvbXB1dGVkIGxlbmd0aCBvZiBAdmFsdWUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dHlwZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ1aWx0LWluIHR5cGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZhY2V0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZmFjZXQgdG8gY2hlY2s8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbHVlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbGV4aWNhbCByZXByLiBvZiB0aGUgdmFsdWUgdG8gYmUgdmFsaWRhdGVkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwcmVjb21wdXRlZCB2YWx1ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGVuZ3RoPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYWN0dWFsIGxlbmd0aCBvZiB0aGUgdmFsdWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaWYgdGhlIHZhbHVlIGlzIHZhbGlkLCBhIHBvc2l0aXZlIGVycm9yIGNvZGUgb3RoZXJ3aXNlIGFuZCAtMSBpbiBjYXNlIG9mIGFuIGludGVybmFsIG9yIEFQSSBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTY2hlbWFWYWxpZGF0ZUxlbmd0aEZhY2V0V2h0c3AiIGlkPSJ4bWxTY2hlbWFWYWxpZGF0ZUxlbmd0aEZhY2V0V2h0c3AiPjwvYT5GdW5jdGlvbjogeG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldFdodHNwPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXRXaHRzcAkoPGEgaHJlZj0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFGYWNldFB0ciI+eG1sU2NoZW1hRmFjZXRQdHI8L2E+IGZhY2V0LCA8YnIgLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFWYWxUeXBlIj54bWxTY2hlbWFWYWxUeXBlPC9hPiB2YWxUeXBlLCA8YnIgLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUsIDxiciAvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVZhbFB0ciI+eG1sU2NoZW1hVmFsUHRyPC9hPiB2YWwsIDxiciAvPgkJCQkJCSB1bnNpZ25lZCBsb25nICogbGVuZ3RoLCA8YnIgLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYVdoaXRlc3BhY2VWYWx1ZVR5cGUiPnhtbFNjaGVtYVdoaXRlc3BhY2VWYWx1ZVR5cGU8L2E+IHdzKTxiciAvPgorPC9wcmU+PHA+Q2hlY2thIGEgdmFsdWUgYWdhaW5zdCBhICJsZW5ndGgiLCAibWluTGVuZ3RoIiBhbmQgIm1heExlbmd0aCIgZmFjZXQ7IHNldHMgQGxlbmd0aCB0byB0aGUgY29tcHV0ZWQgbGVuZ3RoIG9mIEB2YWx1ZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mYWNldDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZhY2V0IHRvIGNoZWNrPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWxUeXBlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnVpbHQtaW4gdHlwZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsdWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsZXhpY2FsIHJlcHIuIG9mIHRoZSB2YWx1ZSB0byBiZSB2YWxpZGF0ZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHByZWNvbXB1dGVkIHZhbHVlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZW5ndGg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBhY3R1YWwgbGVuZ3RoIG9mIHRoZSB2YWx1ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d3M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB3aGl0ZXNwYWNlIHR5cGUgb2YgdGhlIHZhbHVlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGlmIHRoZSB2YWx1ZSBpcyB2YWxpZCwgYSBwb3NpdGl2ZSBlcnJvciBjb2RlIG90aGVyd2lzZSBhbmQgLTEgaW4gY2FzZSBvZiBhbiBpbnRlcm5hbCBvciBBUEkgZXJyb3IuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU2NoZW1hVmFsaWRhdGVMaXN0U2ltcGxlVHlwZUZhY2V0IiBpZD0ieG1sU2NoZW1hVmFsaWRhdGVMaXN0U2ltcGxlVHlwZUZhY2V0Ij48L2E+RnVuY3Rpb246IHhtbFNjaGVtYVZhbGlkYXRlTGlzdFNpbXBsZVR5cGVGYWNldDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxTY2hlbWFWYWxpZGF0ZUxpc3RTaW1wbGVUeXBlRmFjZXQJKDxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hRmFjZXRQdHIiPnhtbFNjaGVtYUZhY2V0UHRyPC9hPiBmYWNldCwgPGJyIC8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHZhbHVlLCA8YnIgLz4JCQkJCQkgdW5zaWduZWQgbG9uZyBhY3R1YWxMZW4sIDxiciAvPgkJCQkJCSB1bnNpZ25lZCBsb25nICogZXhwZWN0ZWRMZW4pPGJyIC8+Cis8L3ByZT48cD5DaGVja3MgdGhlIHZhbHVlIG9mIGEgbGlzdCBzaW1wbGUgdHlwZSBhZ2FpbnN0IGEgZmFjZXQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZmFjZXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmYWNldCB0byBjaGVjazwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsdWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsZXhpY2FsIHJlcHIgb2YgdGhlIHZhbHVlIHRvIHZhbGlkYXRlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5hY3R1YWxMZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgbGlzdCBpdGVtczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZXhwZWN0ZWRMZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSByZXN1bHRpbmcgZXhwZWN0ZWQgbnVtYmVyIG9mIGxpc3QgaXRlbXM8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaWYgdGhlIHZhbHVlIGlzIHZhbGlkLCBhIHBvc2l0aXZlIGVycm9yIGNvZGUgbnVtYmVyIG90aGVyd2lzZSBhbmQgLTEgaW4gY2FzZSBvZiBhbiBpbnRlcm5hbCBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTY2hlbWFWYWxpZGF0ZVByZWRlZmluZWRUeXBlIiBpZD0ieG1sU2NoZW1hVmFsaWRhdGVQcmVkZWZpbmVkVHlwZSI+PC9hPkZ1bmN0aW9uOiB4bWxTY2hlbWFWYWxpZGF0ZVByZWRlZmluZWRUeXBlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFNjaGVtYVZhbGlkYXRlUHJlZGVmaW5lZFR5cGUJKDxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVHlwZVB0ciI+eG1sU2NoZW1hVHlwZVB0cjwvYT4gdHlwZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWUsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVmFsUHRyIj54bWxTY2hlbWFWYWxQdHI8L2E+ICogdmFsKTxiciAvPgorPC9wcmU+PHA+Q2hlY2sgdGhhdCBhIHZhbHVlIGNvbmZvcm1zIHRvIHRoZSBsZXhpY2FsIHNwYWNlIG9mIHRoZSBwcmVkZWZpbmVkIHR5cGUuIGlmIHRydWUgYSB2YWx1ZSBpcyBjb21wdXRlZCBhbmQgcmV0dXJuZWQgaW4gQHZhbC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50eXBlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcHJlZGVmaW5lZCB0eXBlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWx1ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHZhbHVlIHRvIGNoZWNrPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSByZXR1cm4gY29tcHV0ZWQgdmFsdWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaWYgdGhpcyB2YWxpZGF0ZXMsIGEgcG9zaXRpdmUgZXJyb3IgY29kZSBudW1iZXIgb3RoZXJ3aXNlIGFuZCAtMSBpbiBjYXNlIG9mIGludGVybmFsIG9yIEFQSSBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTY2hlbWFWYWx1ZUFwcGVuZCIgaWQ9InhtbFNjaGVtYVZhbHVlQXBwZW5kIj48L2E+RnVuY3Rpb246IHhtbFNjaGVtYVZhbHVlQXBwZW5kPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFNjaGVtYVZhbHVlQXBwZW5kCQkoPGEgaHJlZj0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFWYWxQdHIiPnhtbFNjaGVtYVZhbFB0cjwvYT4gcHJldiwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFWYWxQdHIiPnhtbFNjaGVtYVZhbFB0cjwvYT4gY3VyKTxiciAvPgorPC9wcmU+PHA+QXBwZW5kcyBhIG5leHQgc2libGluZyB0byBhIGxpc3Qgb2YgY29tcHV0ZWQgdmFsdWVzLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnByZXY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB2YWx1ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdmFsdWUgdG8gYmUgYXBwZW5kZWQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaWYgc3VjY2VlZGVkIGFuZCAtMSBvbiBBUEkgZXJyb3JzLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFNjaGVtYVZhbHVlR2V0QXNCb29sZWFuIiBpZD0ieG1sU2NoZW1hVmFsdWVHZXRBc0Jvb2xlYW4iPjwvYT5GdW5jdGlvbjogeG1sU2NoZW1hVmFsdWVHZXRBc0Jvb2xlYW48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sU2NoZW1hVmFsdWVHZXRBc0Jvb2xlYW4JKDxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVmFsUHRyIj54bWxTY2hlbWFWYWxQdHI8L2E+IHZhbCk8YnIgLz4KKzwvcHJlPjxwPkFjY2Vzc29yIGZvciB0aGUgYm9vbGVhbiB2YWx1ZSBvZiBhIGNvbXB1dGVkIHZhbHVlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHZhbHVlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgYW5kIDAgaWYgZmFsc2UsIG9yIGluIGNhc2Ugb2YgYW4gZXJyb3IuIEhtbS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTY2hlbWFWYWx1ZUdldEFzU3RyaW5nIiBpZD0ieG1sU2NoZW1hVmFsdWVHZXRBc1N0cmluZyI+PC9hPkZ1bmN0aW9uOiB4bWxTY2hlbWFWYWx1ZUdldEFzU3RyaW5nPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Y29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sU2NoZW1hVmFsdWVHZXRBc1N0cmluZwkoPGEgaHJlZj0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFWYWxQdHIiPnhtbFNjaGVtYVZhbFB0cjwvYT4gdmFsKTxiciAvPgorPC9wcmU+PHA+QWNjZXNzb3IgZm9yIHRoZSBzdHJpbmcgdmFsdWUgb2YgYSBjb21wdXRlZCB2YWx1ZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB2YWx1ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHN0cmluZyB2YWx1ZSBvciBOVUxMIGlmIHRoZXJlIHdhcyBub25lLCBvciBvbiBBUEkgZXJyb3JzLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFNjaGVtYVZhbHVlR2V0TmV4dCIgaWQ9InhtbFNjaGVtYVZhbHVlR2V0TmV4dCI+PC9hPkZ1bmN0aW9uOiB4bWxTY2hlbWFWYWx1ZUdldE5leHQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVZhbFB0ciI+eG1sU2NoZW1hVmFsUHRyPC9hPgl4bWxTY2hlbWFWYWx1ZUdldE5leHQJKDxhIGhyZWY9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVmFsUHRyIj54bWxTY2hlbWFWYWxQdHI8L2E+IGN1cik8YnIgLz4KKzwvcHJlPjxwPkFjY2Vzc29yIGZvciB0aGUgbmV4dCBzaWJsaW5nIG9mIGEgbGlzdCBvZiBjb21wdXRlZCB2YWx1ZXMuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdmFsdWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXh0IHZhbHVlIG9yIE5VTEwgaWYgdGhlcmUgd2FzIG5vbmUsIG9yIG9uIEFQSSBlcnJvcnMuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU2NoZW1hV2hpdGVTcGFjZVJlcGxhY2UiIGlkPSJ4bWxTY2hlbWFXaGl0ZVNwYWNlUmVwbGFjZSI+PC9hPkZ1bmN0aW9uOiB4bWxTY2hlbWFXaGl0ZVNwYWNlUmVwbGFjZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbFNjaGVtYVdoaXRlU3BhY2VSZXBsYWNlCShjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB2YWx1ZSk8YnIgLz4KKzwvcHJlPjxwPlJlcGxhY2VzIDB4ZCwgMHg5IGFuZCAweGEgd2l0aCBhIHNwYWNlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbHVlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHZhbHVlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IHN0cmluZyBvciBOVUxMIGlmIG5vIGNoYW5nZSB3YXMgcmVxdWlyZWQuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48cD48YSBocmVmPSIuLi9idWdzLmh0bWwiPkRhbmllbCBWZWlsbGFyZDwvYT48L3A+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2h0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sIGIvbGlieG1sMi9kb2MvaHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGYxMmNjNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL2h0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sCkBAIC0wLDAgKzEsMTA4IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPgorPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPjxoZWFkPjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPjxsaW5rIHJlbD0iU0hPUlRDVVQgSUNPTiIgaHJlZj0iL2Zhdmljb24uaWNvIiAvPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CitURCB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorQk9EWSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhOyBtYXJnaW4tdG9wOiAyZW07IG1hcmdpbi1sZWZ0OiAwZW07IG1hcmdpbi1yaWdodDogMGVtfQorSDEge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gyIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMyB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorQTpsaW5rLCBBOnZpc2l0ZWQsIEE6YWN0aXZlIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgfQorPC9zdHlsZT48c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorICAgICAgZGl2LmRlcHJlY2F0ZWQgcHJlLnByb2dyYW1saXN0aW5nIHtib3JkZXItc3R5bGU6IGRvdWJsZTtib3JkZXItY29sb3I6cmVkfQorICAgICAgcHJlLnByb2dyYW1saXN0aW5nIHtib3JkZXItc3R5bGU6IGRvdWJsZTtiYWNrZ3JvdW5kOiAjRUVDRkExfQorICAgIDwvc3R5bGU+PHRpdGxlPk1vZHVsZSB4bWxzdHJpbmcgZnJvbSBsaWJ4bWwyPC90aXRsZT48L2hlYWQ+PGJvZHkgYmdjb2xvcj0iIzhiNzc2NSIgdGV4dD0iIzAwMDAwMCIgbGluaz0iI2EwNjA2MCIgdmxpbms9IiMwMDAwMDAiPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSIxMDAlIiBjZWxscGFkZGluZz0iNSIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgd2lkdGg9IjEyMCI+PGEgaHJlZj0iaHR0cDovL3N3cGF0LmZmaWkub3JnLyI+PGltZyBzcmM9Ii4uL2VwYXRlbnRzLnBuZyIgYWx0PSJBY3Rpb24gYWdhaW5zdCBzb2Z0d2FyZSBwYXRlbnRzIiAvPjwvYT48L3RkPjx0ZCB3aWR0aD0iMTgwIj48YSBocmVmPSJodHRwOi8vd3d3Lmdub21lLm9yZy8iPjxpbWcgc3JjPSIuLi9nbm9tZTIucG5nIiBhbHQ9Ikdub21lMiBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9TdGF0dXMiPjxpbWcgc3JjPSIuLi93M2MucG5nIiBhbHQ9IlczQyBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnJlZGhhdC5jb20vIj48aW1nIHNyYz0iLi4vcmVkaGF0LmdpZiIgYWx0PSJSZWQgSGF0IExvZ28iIC8+PC9hPjxkaXYgYWxpZ249ImxlZnQiPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy8iPjxpbWcgc3JjPSIuLi9MaWJ4bWwyLUxvZ28tMTgweDE2OC5naWYiIGFsdD0iTWFkZSB3aXRoIExpYnhtbDIgTG9nbyIgLz48L2E+PC9kaXY+PC90ZD48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjkwJSIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiIGJnY29sb3I9IiNmZmZhY2QiPjx0cj48dGQgYWxpZ249ImNlbnRlciI+PGgxPjwvaDE+PGgyPk1vZHVsZSB4bWxzdHJpbmcgZnJvbSBsaWJ4bWwyPC9oMj48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iNCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiIgd2lkdGg9IjEwMCUiPjx0cj48dGQgdmFsaWduPSJ0b3AiIHdpZHRoPSIyMDAiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPkFQSSBNZW51PC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjxmb3JtIGFjdGlvbj0iLi4vc2VhcmNoLnBocCIgZW5jdHlwZT0iYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIiBtZXRob2Q9ImdldCI+PGlucHV0IG5hbWU9InF1ZXJ5IiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IiIgLz48aW5wdXQgbmFtZT0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJTZWFyY2ggLi4uIiAvPjwvZm9ybT48dWw+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSIuLi9pbmRleC5odG1sIj5NYWluIE1lbnU8L2E+PC9saT48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9Ii4uL2RvY3MuaHRtbCI+RGV2ZWxvcGVyIE1lbnU8L2E+PC9saT48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9Ii4uL2V4YW1wbGVzL2luZGV4Lmh0bWwiPkNvZGUgRXhhbXBsZXM8L2E+PC9saT48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9ImluZGV4Lmh0bWwiPkFQSSBNZW51PC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1wYXJzZXIuaHRtbCI+UGFyc2VyIEFQSTwvYT48L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sIj5UcmVlIEFQSTwvYT48L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwiPlJlYWRlciBBUEk8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vZ3VpZGVsaW5lcy5odG1sIj5YTUwgR3VpZGVsaW5lczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9DaGFuZ2VMb2cuaHRtbCI+Q2hhbmdlTG9nPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+QVBJIEluZGV4ZXM8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSIuLi9BUEljaHVuazAuaHRtbCI+QWxwaGFiZXRpYzwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUEljb25zdHJ1Y3RvcnMuaHRtbCI+Q29uc3RydWN0b3JzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSWZ1bmN0aW9ucy5odG1sIj5GdW5jdGlvbnMvVHlwZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJZmlsZXMuaHRtbCI+TW9kdWxlczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUElzeW1ib2xzLmh0bWwiPlN5bWJvbHM8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5SZWxhdGVkIGxpbmtzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iaHR0cDovL21haWwuZ25vbWUub3JnL2FyY2hpdmVzL3htbC8iPk1haWwgYXJjaGl2ZTwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvWFNMVC8iPlhTTFQgbGlieHNsdDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vcGhkLmNzLnVuaWJvLml0L2dkb21lMi8iPkRPTSBnZG9tZTI8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5hbGVrc2V5LmNvbS94bWxzZWMvIj5YTUwtRFNpZyB4bWxzZWM8L2E+PC9saT48bGk+PGEgaHJlZj0iZnRwOi8veG1sc29mdC5vcmcvIj5GVFA8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56bGF0a292aWMuY29tL3Byb2plY3RzL2xpYnhtbC8iPldpbmRvd3MgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL29wZW5jc3cub3JnL3BhY2thZ2VzL2xpYnhtbDIiPlNvbGFyaXMgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5leHBsYWluLmNvbS5hdS9vc3MvbGlieG1sMnhzbHQuaHRtbCI+TWFjT3NYIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9seG1sLmRlLyI+bHhtbCBQeXRob24gYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2NwYW4udXdpbm5pcGVnLmNhL2Rpc3QvWE1MLUxpYlhNTCI+UGVybCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1scGx1c3BsdXMuc291cmNlZm9yZ2UubmV0LyI+QysrIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemVuZC5jb20vcGhwNS9hcnRpY2xlcy9waHA1LXhtbHBocC5waHAjSGVhZGluZzQiPlBIUCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2xpYnhtbDItcGFzLyI+UGFzY2FsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWwucnVieWZvcmdlLm9yZy8iPlJ1YnkgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3RjbHhtbC5zb3VyY2Vmb3JnZS5uZXQvIj5UY2wgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9idWdsaXN0LmNnaT9wcm9kdWN0PWxpYnhtbDIiPkJ1ZyBUcmFja2VyPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIzIiBjZWxsc3BhY2luZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHRhYmxlIGNsYXNzPSJuYXZpZ2F0aW9uIiB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBoZWFkZXIiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMiI+PHRyIHZhbGlnbj0ibWlkZGxlIj48dGQ+PGEgYWNjZXNza2V5PSJwIiBocmVmPSJsaWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwiPjxpbWcgc3JjPSJsZWZ0LnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iUHJldiIgLz48L2E+PC90ZD48dGggYWxpZ249ImxlZnQiPjxhIGhyZWY9ImxpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCI+eG1sc2NoZW1hc3R5cGVzPC9hPjwvdGg+PHRkPjxhIGFjY2Vzc2tleT0idSIgaHJlZj0iaW5kZXguaHRtbCI+PGltZyBzcmM9InVwLnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iVXAiIC8+PC9hPjwvdGQ+PHRoIGFsaWduPSJsZWZ0Ij48YSBocmVmPSJpbmRleC5odG1sIj5BUEkgZG9jdW1lbnRhdGlvbjwvYT48L3RoPjx0ZD48YSBhY2Nlc3NrZXk9ImgiIGhyZWY9Ii4uL2luZGV4Lmh0bWwiPjxpbWcgc3JjPSJob21lLnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iSG9tZSIgLz48L2E+PC90ZD48dGggYWxpZ249ImNlbnRlciI+PGEgaHJlZj0iLi4vaW5kZXguaHRtbCI+VGhlIFhNTCBDIHBhcnNlciBhbmQgdG9vbGtpdCBvZiBHbm9tZTwvYT48L3RoPjx0aCBhbGlnbj0icmlnaHQiPjxhIGhyZWY9ImxpYnhtbC14bWx1bmljb2RlLmh0bWwiPnhtbHVuaWNvZGU8L2E+PC90aD48dGQ+PGEgYWNjZXNza2V5PSJuIiBocmVmPSJsaWJ4bWwteG1sdW5pY29kZS5odG1sIj48aW1nIHNyYz0icmlnaHQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJOZXh0IiAvPjwvYT48L3RkPjwvdHI+PC90YWJsZT48cD50eXBlIGFuZCBpbnRlcmZhY2VzIG5lZWRlZCBmb3IgdGhlIGludGVybmFsIHN0cmluZyBoYW5kbGluZyBvZiB0aGUgbGlicmFyeSwgZXNwZWNpYWxseSBVVEY4IHByb2Nlc3NpbmcuIDwvcD48aDI+VGFibGUgb2YgQ29udGVudHM8L2gyPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNCQURfQ0FTVCI+QkFEX0NBU1Q8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlR5cGVkZWYgdW5zaWduZWQgY2hhciA8YSBuYW1lPSJ4bWxDaGFyIiBpZD0ieG1sQ2hhciI+eG1sQ2hhcjwvYT4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sQ2hhclN0cmR1cCI+eG1sQ2hhclN0cmR1cDwvYT4JCShjb25zdCBjaGFyICogY3VyKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxDaGFyU3RybmR1cCI+eG1sQ2hhclN0cm5kdXA8L2E+CQkoY29uc3QgY2hhciAqIGN1ciwgPGJyIC8+CQkJCQkgaW50IGxlbik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbENoZWNrVVRGOCI+eG1sQ2hlY2tVVEY4PC9hPgkJCShjb25zdCB1bnNpZ25lZCBjaGFyICogdXRmKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sR2V0VVRGOENoYXIiPnhtbEdldFVURjhDaGFyPC9hPgkJCShjb25zdCB1bnNpZ25lZCBjaGFyICogdXRmLCA8YnIgLz4JCQkJCSBpbnQgKiBsZW4pPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxTdHJFcXVhbCI+eG1sU3RyRXF1YWw8L2E+CQkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0cjEsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0cjIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxTdHJQcmludGYiPnhtbFN0clByaW50ZjwvYT4JCQkoPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogYnVmLCA8YnIgLz4JCQkJCSBpbnQgbGVuLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBtc2csIDxiciAvPgkJCQkJIC4uLiAuLi4pPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxTdHJRRXF1YWwiPnhtbFN0clFFcXVhbDwvYT4JCQkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHJlZiwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3RyKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sU3RyVlByaW50ZiI+eG1sU3RyVlByaW50ZjwvYT4JCQkoPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogYnVmLCA8YnIgLz4JCQkJCSBpbnQgbGVuLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBtc2csIDxiciAvPgkJCQkJIHZhX2xpc3QgYXApPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxTdHJjYXNlY21wIj54bWxTdHJjYXNlY21wPC9hPgkJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzdHIxLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzdHIyKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxTdHJjYXNlc3RyIj54bWxTdHJjYXNlc3RyPC9hPgkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0ciwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxTdHJjYXQiPnhtbFN0cmNhdDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjdXIsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGFkZCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5jb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sU3RyY2hyIj54bWxTdHJjaHI8L2E+CQkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3RyLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gdmFsKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sU3RyY21wIj54bWxTdHJjbXA8L2E+CQkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0cjEsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0cjIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbFN0cmR1cCI+eG1sU3RyZHVwPC9hPgkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGN1cik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFN0cmxlbiI+eG1sU3RybGVuPC9hPgkJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzdHIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxTdHJuY2FzZWNtcCI+eG1sU3RybmNhc2VjbXA8L2E+CQkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0cjEsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0cjIsIDxiciAvPgkJCQkJIGludCBsZW4pPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbFN0cm5jYXQiPnhtbFN0cm5jYXQ8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY3VyLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBhZGQsIDxiciAvPgkJCQkJIGludCBsZW4pPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbFN0cm5jYXROZXciPnhtbFN0cm5jYXROZXc8L2E+CQkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3RyMSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3RyMiwgPGJyIC8+CQkJCQkgaW50IGxlbik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFN0cm5jbXAiPnhtbFN0cm5jbXA8L2E+CQkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0cjEsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0cjIsIDxiciAvPgkJCQkJIGludCBsZW4pPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbFN0cm5kdXAiPnhtbFN0cm5kdXA8L2E+CQkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY3VyLCA8YnIgLz4JCQkJCSBpbnQgbGVuKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxTdHJzdHIiPnhtbFN0cnN0cjwvYT4JCShjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzdHIsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHZhbCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sU3Ryc3ViIj54bWxTdHJzdWI8L2E+CQkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3RyLCA8YnIgLz4JCQkJCSBpbnQgc3RhcnQsIDxiciAvPgkJCQkJIGludCBsZW4pPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxVVEY4Q2hhcmNtcCI+eG1sVVRGOENoYXJjbXA8L2E+CQkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHV0ZjEsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHV0ZjIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxVVEY4U2l6ZSI+eG1sVVRGOFNpemU8L2E+CQkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHV0Zik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFVURjhTdHJsZW4iPnhtbFVURjhTdHJsZW48L2E+CQkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHV0Zik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFVURjhTdHJsb2MiPnhtbFVURjhTdHJsb2M8L2E+CQkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHV0ZiwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdXRmY2hhcik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sVVRGOFN0cm5kdXAiPnhtbFVURjhTdHJuZHVwPC9hPgkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHV0ZiwgPGJyIC8+CQkJCQkgaW50IGxlbik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5jb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sVVRGOFN0cnBvcyI+eG1sVVRGOFN0cnBvczwvYT4JCShjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB1dGYsIDxiciAvPgkJCQkJIGludCBwb3MpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxVVEY4U3Ryc2l6ZSI+eG1sVVRGOFN0cnNpemU8L2E+CQkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHV0ZiwgPGJyIC8+CQkJCQkgaW50IGxlbik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sVVRGOFN0cnN1YiI+eG1sVVRGOFN0cnN1YjwvYT4JCShjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB1dGYsIDxiciAvPgkJCQkJIGludCBzdGFydCwgPGJyIC8+CQkJCQkgaW50IGxlbik8L3ByZT4KKzxoMj5EZXNjcmlwdGlvbjwvaDI+Cis8aDM+PGEgbmFtZT0iQkFEX0NBU1QiIGlkPSJCQURfQ0FTVCI+PC9hPk1hY3JvOiBCQURfQ0FTVDwvaDM+PHByZT4jZGVmaW5lIEJBRF9DQVNUPC9wcmU+PHA+TWFjcm8gdG8gY2FzdCBhIHN0cmluZyB0byBhbiA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB3aGVuIG9uZSBrbm93IGl0cyBzYWZlLjwvcD4KKworICAgICAgVGhpcyBpcyBhIGJhc2ljIGJ5dGUgaW4gYW4gVVRGLTggZW5jb2RlZCBzdHJpbmcuIEl0J3MgdW5zaWduZWQgYWxsb3dpbmcgdG8gcGlucG9pbnQgY2FzZSB3aGVyZSBjaGFyICogYXJlIGFzc2lnbmVkIHRvIHhtbENoYXIgKiAocG9zc2libHkgbWFraW5nIHNlcmlhbGl6YXRpb24gYmFjayBpbXBvc3NpYmxlKS4KKyAgICA8aDM+PGEgbmFtZT0ieG1sQ2hhclN0cmR1cCIgaWQ9InhtbENoYXJTdHJkdXAiPjwvYT5GdW5jdGlvbjogeG1sQ2hhclN0cmR1cDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbENoYXJTdHJkdXAJCShjb25zdCBjaGFyICogY3VyKTxiciAvPgorPC9wcmU+PHA+YSBzdHJkdXAgZm9yIGNoYXIncyB0byB4bWxDaGFyJ3M8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBpbnB1dCBjaGFyICo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbmV3IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG9yIE5VTEw8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxDaGFyU3RybmR1cCIgaWQ9InhtbENoYXJTdHJuZHVwIj48L2E+RnVuY3Rpb246IHhtbENoYXJTdHJuZHVwPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sQ2hhclN0cm5kdXAJCShjb25zdCBjaGFyICogY3VyLCA8YnIgLz4JCQkJCSBpbnQgbGVuKTxiciAvPgorPC9wcmU+PHA+YSBzdHJuZHVwIGZvciBjaGFyJ3MgdG8geG1sQ2hhcidzPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaW5wdXQgY2hhciAqPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsZW4gb2YgQGN1cjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBuZXcgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogb3IgTlVMTDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbENoZWNrVVRGOCIgaWQ9InhtbENoZWNrVVRGOCI+PC9hPkZ1bmN0aW9uOiB4bWxDaGVja1VURjg8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sQ2hlY2tVVEY4CQkJKGNvbnN0IHVuc2lnbmVkIGNoYXIgKiB1dGYpPGJyIC8+Cis8L3ByZT48cD5DaGVja3MgQHV0ZiBmb3IgYmVpbmcgdmFsaWQgVVRGLTguIEB1dGYgaXMgYXNzdW1lZCB0byBiZSBudWxsLXRlcm1pbmF0ZWQuIFRoaXMgZnVuY3Rpb24gaXMgbm90IHN1cGVyLXN0cmljdCwgYXMgaXQgd2lsbCBhbGxvdyBsb25nZXIgVVRGLTggc2VxdWVuY2VzIHRoYW4gbmVjZXNzYXJ5LiBOb3RlIHRoYXQgSmF2YSBpcyBjYXBhYmxlIG9mIHByb2R1Y2luZyB0aGVzZSBzZXF1ZW5jZXMgaWYgcHJvdm9rZWQuIEFsc28gbm90ZSwgdGhpcyByb3V0aW5lIGNoZWNrcyBmb3IgdGhlIDQtYnl0ZSBtYXhpbXVtIHNpemUsIGJ1dCBkb2VzIG5vdCBjaGVjayBmb3IgMHgxMGZmZmYgbWF4aW11bSB2YWx1ZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD51dGY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlBvaW50ZXIgdG8gcHV0YXRpdmUgVVRGLTggZW5jb2RlZCBzdHJpbmcuPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD52YWx1ZTogdHJ1ZSBpZiBAdXRmIGlzIHZhbGlkLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbEdldFVURjhDaGFyIiBpZD0ieG1sR2V0VVRGOENoYXIiPjwvYT5GdW5jdGlvbjogeG1sR2V0VVRGOENoYXI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sR2V0VVRGOENoYXIJCQkoY29uc3QgdW5zaWduZWQgY2hhciAqIHV0ZiwgPGJyIC8+CQkJCQkgaW50ICogbGVuKTxiciAvPgorPC9wcmU+PHA+UmVhZCB0aGUgZmlyc3QgVVRGOCBjaGFyYWN0ZXIgZnJvbSBAdXRmPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dXRmPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHNlcXVlbmNlIG9mIFVURi04IGVuY29kZWQgYnl0ZXM8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIHRoZSBtaW5pbXVtIG51bWJlciBvZiBieXRlcyBwcmVzZW50IGluIHRoZSBzZXF1ZW5jZS4gVGhpcyBpcyB1c2VkIHRvIGFzc3VyZSB0aGUgbmV4dCBjaGFyYWN0ZXIgaXMgY29tcGxldGVseSBjb250YWluZWQgd2l0aGluIHRoZSBzZXF1ZW5jZS48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjaGFyIHZhbHVlIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IsIGFuZCBzZXRzICpsZW4gdG8gdGhlIGFjdHVhbCBudW1iZXIgb2YgYnl0ZXMgY29uc3VtZWQgKDAgaW4gY2FzZSBvZiBlcnJvcik8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTdHJFcXVhbCIgaWQ9InhtbFN0ckVxdWFsIj48L2E+RnVuY3Rpb246IHhtbFN0ckVxdWFsPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFN0ckVxdWFsCQkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0cjEsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0cjIpPGJyIC8+Cis8L3ByZT48cD5DaGVjayBpZiBib3RoIHN0cmluZ3MgYXJlIGVxdWFsIG9mIGhhdmUgc2FtZSBjb250ZW50LiBTaG91bGQgYmUgYSBiaXQgbW9yZSByZWFkYWJsZSBhbmQgZmFzdGVyIHRoYW4geG1sU3RyY21wKCk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdHIxPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZmlyc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0cjI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzZWNvbmQgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdGhleSBhcmUgZXF1YWwsIDAgaWYgdGhleSBhcmUgZGlmZmVyZW50PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU3RyUHJpbnRmIiBpZD0ieG1sU3RyUHJpbnRmIj48L2E+RnVuY3Rpb246IHhtbFN0clByaW50ZjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxTdHJQcmludGYJCQkoPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogYnVmLCA8YnIgLz4JCQkJCSBpbnQgbGVuLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBtc2csIDxiciAvPgkJCQkJIC4uLiAuLi4pPGJyIC8+Cis8L3ByZT48cD5Gb3JtYXRzIEBtc2cgYW5kIHBsYWNlcyByZXN1bHQgaW50byBAYnVmLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmJ1ZjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHJlc3VsdCBidWZmZXIuPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSByZXN1bHQgYnVmZmVyIGxlbmd0aC48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm1zZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG1lc3NhZ2Ugd2l0aCBwcmludGYgZm9ybWF0dGluZy48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pi4uLjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+ZXh0cmEgcGFyYW1ldGVycyBmb3IgdGhlIG1lc3NhZ2UuPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNjaGFyYWN0ZXJzIj5jaGFyYWN0ZXJzPC9hPiB3cml0dGVuIHRvIEBidWYgb3IgLTEgaWYgYW4gZXJyb3Igb2NjdXJzLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFN0clFFcXVhbCIgaWQ9InhtbFN0clFFcXVhbCI+PC9hPkZ1bmN0aW9uOiB4bWxTdHJRRXF1YWw8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sU3RyUUVxdWFsCQkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHByZWYsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0cik8YnIgLz4KKzwvcHJlPjxwPkNoZWNrIGlmIGEgUU5hbWUgaXMgRXF1YWwgdG8gYSBnaXZlbiBzdHJpbmc8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wcmVmPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcHJlZml4IG9mIHRoZSBRTmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxvY2FsbmFtZSBvZiB0aGUgUU5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHNlY29uZCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0aGV5IGFyZSBlcXVhbCwgMCBpZiB0aGV5IGFyZSBkaWZmZXJlbnQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTdHJWUHJpbnRmIiBpZD0ieG1sU3RyVlByaW50ZiI+PC9hPkZ1bmN0aW9uOiB4bWxTdHJWUHJpbnRmPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFN0clZQcmludGYJCQkoPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogYnVmLCA8YnIgLz4JCQkJCSBpbnQgbGVuLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBtc2csIDxiciAvPgkJCQkJIHZhX2xpc3QgYXApPGJyIC8+Cis8L3ByZT48cD5Gb3JtYXRzIEBtc2cgYW5kIHBsYWNlcyByZXN1bHQgaW50byBAYnVmLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmJ1ZjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHJlc3VsdCBidWZmZXIuPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSByZXN1bHQgYnVmZmVyIGxlbmd0aC48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm1zZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG1lc3NhZ2Ugd2l0aCBwcmludGYgZm9ybWF0dGluZy48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmFwPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5leHRyYSBwYXJhbWV0ZXJzIGZvciB0aGUgbWVzc2FnZS48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2NoYXJhY3RlcnMiPmNoYXJhY3RlcnM8L2E+IHdyaXR0ZW4gdG8gQGJ1ZiBvciAtMSBpZiBhbiBlcnJvciBvY2N1cnMuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU3RyY2FzZWNtcCIgaWQ9InhtbFN0cmNhc2VjbXAiPjwvYT5GdW5jdGlvbjogeG1sU3RyY2FzZWNtcDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxTdHJjYXNlY21wCQkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0cjEsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0cjIpPGJyIC8+Cis8L3ByZT48cD5hIHN0cmNhc2VjbXAgZm9yIHhtbENoYXInczwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0cjE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmaXJzdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3RyMjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHNlY29uZCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGludGVnZXIgcmVzdWx0IG9mIHRoZSBjb21wYXJpc29uPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU3RyY2FzZXN0ciIgaWQ9InhtbFN0cmNhc2VzdHIiPjwvYT5GdW5jdGlvbjogeG1sU3RyY2FzZXN0cjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbFN0cmNhc2VzdHIJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzdHIsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHZhbCk8YnIgLz4KKzwvcHJlPjxwPmEgY2FzZS1pZ25vcmluZyBzdHJzdHIgZm9yIHhtbENoYXInczwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGFycmF5IChoYXlzdGFjayk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiB0byBzZWFyY2ggKG5lZWRsZSk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBmb3IgdGhlIGZpcnN0IG9jY3VycmVuY2Ugb3IgTlVMTC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTdHJjYXQiIGlkPSJ4bWxTdHJjYXQiPjwvYT5GdW5jdGlvbjogeG1sU3RyY2F0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sU3RyY2F0CQkoPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY3VyLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBhZGQpPGJyIC8+Cis8L3ByZT48cD5hIHN0cmNhdCBmb3IgYXJyYXkgb2YgeG1sQ2hhcidzLiBTaW5jZSB0aGV5IGFyZSBzdXBwb3NlZCB0byBiZSBlbmNvZGVkIGluIFVURi04IG9yIGFuIGVuY29kaW5nIHdpdGggOGJpdCBiYXNlZCBjaGFycywgd2UgYXNzdW1lIGEgdGVybWluYXRpb24gbWFyayBvZiAnMCcuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgb3JpZ2luYWwgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogYXJyYXk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmFkZDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGFycmF5IGFkZGVkPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIG5ldyA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjb250YWluaW5nIHRoZSBjb25jYXRlbmF0ZWQgc3RyaW5nLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFN0cmNociIgaWQ9InhtbFN0cmNociI+PC9hPkZ1bmN0aW9uOiB4bWxTdHJjaHI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5jb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxTdHJjaHIJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzdHIsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiB2YWwpPGJyIC8+Cis8L3ByZT48cD5hIHN0cmNociBmb3IgeG1sQ2hhcidzPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3RyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogYXJyYXk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiB0byBzZWFyY2g8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBmb3IgdGhlIGZpcnN0IG9jY3VycmVuY2Ugb3IgTlVMTC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTdHJjbXAiIGlkPSJ4bWxTdHJjbXAiPjwvYT5GdW5jdGlvbjogeG1sU3RyY21wPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFN0cmNtcAkJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzdHIxLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzdHIyKTxiciAvPgorPC9wcmU+PHA+YSBzdHJjbXAgZm9yIHhtbENoYXInczwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0cjE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmaXJzdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3RyMjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHNlY29uZCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGludGVnZXIgcmVzdWx0IG9mIHRoZSBjb21wYXJpc29uPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU3RyZHVwIiBpZD0ieG1sU3RyZHVwIj48L2E+RnVuY3Rpb246IHhtbFN0cmR1cDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbFN0cmR1cAkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGN1cik8YnIgLz4KKzwvcHJlPjxwPmEgc3RyZHVwIGZvciBhcnJheSBvZiB4bWxDaGFyJ3MuIFNpbmNlIHRoZXkgYXJlIHN1cHBvc2VkIHRvIGJlIGVuY29kZWQgaW4gVVRGLTggb3IgYW4gZW5jb2Rpbmcgd2l0aCA4Yml0IGJhc2VkIGNoYXJzLCB3ZSBhc3N1bWUgYSB0ZXJtaW5hdGlvbiBtYXJrIG9mICcwJy48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBpbnB1dCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBuZXcgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogb3IgTlVMTDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFN0cmxlbiIgaWQ9InhtbFN0cmxlbiI+PC9hPkZ1bmN0aW9uOiB4bWxTdHJsZW48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sU3RybGVuCQkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0cik8YnIgLz4KKzwvcHJlPjxwPmxlbmd0aCBvZiBhIHhtbENoYXIncyBzdHJpbmc8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdHI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBhcnJheTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gY29udGFpbmVkIGluIHRoZSBBUlJBWS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTdHJuY2FzZWNtcCIgaWQ9InhtbFN0cm5jYXNlY21wIj48L2E+RnVuY3Rpb246IHhtbFN0cm5jYXNlY21wPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFN0cm5jYXNlY21wCQkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0cjEsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0cjIsIDxiciAvPgkJCQkJIGludCBsZW4pPGJyIC8+Cis8L3ByZT48cD5hIHN0cm5jYXNlY21wIGZvciB4bWxDaGFyJ3M8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdHIxPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZmlyc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0cjI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzZWNvbmQgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG1heCBjb21wYXJpc29uIGxlbmd0aDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGludGVnZXIgcmVzdWx0IG9mIHRoZSBjb21wYXJpc29uPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU3RybmNhdCIgaWQ9InhtbFN0cm5jYXQiPjwvYT5GdW5jdGlvbjogeG1sU3RybmNhdDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbFN0cm5jYXQJCSg8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjdXIsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGFkZCwgPGJyIC8+CQkJCQkgaW50IGxlbik8YnIgLz4KKzwvcHJlPjxwPmEgc3RybmNhdCBmb3IgYXJyYXkgb2YgeG1sQ2hhcidzLCBpdCB3aWxsIGV4dGVuZCBAY3VyIHdpdGggdGhlIGxlbiBmaXJzdCBieXRlcyBvZiBAYWRkLiBOb3RlIHRoYXQgaWYgQGxlbiAmbHQ7IDAgdGhlbiB0aGlzIGlzIGFuIEFQSSBlcnJvciBhbmQgTlVMTCB3aWxsIGJlIHJldHVybmVkLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG9yaWdpbmFsIDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGFycmF5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5hZGQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBhcnJheSBhZGRlZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGVuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbGVuZ3RoIG9mIEBhZGQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbmV3IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqLCB0aGUgb3JpZ2luYWwgQGN1ciBpcyByZWFsbG9jYXRlZCBpZiBuZWVkZWQgYW5kIHNob3VsZCBub3QgYmUgZnJlZWQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxTdHJuY2F0TmV3IiBpZD0ieG1sU3RybmNhdE5ldyI+PC9hPkZ1bmN0aW9uOiB4bWxTdHJuY2F0TmV3PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sU3RybmNhdE5ldwkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0cjEsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0cjIsIDxiciAvPgkJCQkJIGludCBsZW4pPGJyIC8+Cis8L3ByZT48cD5zYW1lIGFzIHhtbFN0cm5jYXQsIGJ1dCBjcmVhdGVzIGEgbmV3IHN0cmluZy4gVGhlIG9yaWdpbmFsIHR3byBzdHJpbmdzIGFyZSBub3QgZnJlZWQuIElmIEBsZW4gaXMgJmx0OyAwIHRoZW4gdGhlIGxlbmd0aCB3aWxsIGJlIGNhbGN1bGF0ZWQgYXV0b21hdGljYWxseS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdHIxPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5maXJzdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gc3RyaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdHIyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5zZWNvbmQgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+IHN0cmluZzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGVuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbGVuIG9mIEBzdHIyIG9yICZsdDsgMDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBuZXcgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogb3IgTlVMTDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFN0cm5jbXAiIGlkPSJ4bWxTdHJuY21wIj48L2E+RnVuY3Rpb246IHhtbFN0cm5jbXA8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sU3RybmNtcAkJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzdHIxLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzdHIyLCA8YnIgLz4JCQkJCSBpbnQgbGVuKTxiciAvPgorPC9wcmU+PHA+YSBzdHJuY21wIGZvciB4bWxDaGFyJ3M8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdHIxPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZmlyc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0cjI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzZWNvbmQgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxlbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG1heCBjb21wYXJpc29uIGxlbmd0aDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGludGVnZXIgcmVzdWx0IG9mIHRoZSBjb21wYXJpc29uPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU3RybmR1cCIgaWQ9InhtbFN0cm5kdXAiPjwvYT5GdW5jdGlvbjogeG1sU3RybmR1cDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbFN0cm5kdXAJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjdXIsIDxiciAvPgkJCQkJIGludCBsZW4pPGJyIC8+Cis8L3ByZT48cD5hIHN0cm5kdXAgZm9yIGFycmF5IG9mIHhtbENoYXInczwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGlucHV0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsZW4gb2YgQGN1cjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBuZXcgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogb3IgTlVMTDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFN0cnN0ciIgaWQ9InhtbFN0cnN0ciI+PC9hPkZ1bmN0aW9uOiB4bWxTdHJzdHI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5jb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxTdHJzdHIJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzdHIsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHZhbCk8YnIgLz4KKzwvcHJlPjxwPmEgc3Ryc3RyIGZvciB4bWxDaGFyJ3M8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdHI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBhcnJheSAoaGF5c3RhY2spPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gdG8gc2VhcmNoIChuZWVkbGUpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogZm9yIHRoZSBmaXJzdCBvY2N1cnJlbmNlIG9yIE5VTEwuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sU3Ryc3ViIiBpZD0ieG1sU3Ryc3ViIj48L2E+RnVuY3Rpb246IHhtbFN0cnN1YjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXhtbFN0cnN1YgkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0ciwgPGJyIC8+CQkJCQkgaW50IHN0YXJ0LCA8YnIgLz4JCQkJCSBpbnQgbGVuKTxiciAvPgorPC9wcmU+PHA+RXh0cmFjdCBhIHN1YnN0cmluZyBvZiBhIGdpdmVuIHN0cmluZzwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGFycmF5IChoYXlzdGFjayk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0YXJ0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaW5kZXggb2YgdGhlIGZpcnN0IGNoYXIgKHplcm8gYmFzZWQpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsZW5ndGggb2YgdGhlIHN1YnN0cmluZzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGZvciB0aGUgZmlyc3Qgb2NjdXJyZW5jZSBvciBOVUxMLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFVURjhDaGFyY21wIiBpZD0ieG1sVVRGOENoYXJjbXAiPjwvYT5GdW5jdGlvbjogeG1sVVRGOENoYXJjbXA8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVVRGOENoYXJjbXAJCQkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdXRmMSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdXRmMik8YnIgLz4KKzwvcHJlPjxwPmNvbXBhcmVzIHRoZSB0d28gVUNTNCB2YWx1ZXM8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD51dGYxPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5wb2ludGVyIHRvIGZpcnN0IFVURjggY2hhcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dXRmMjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+cG9pbnRlciB0byBzZWNvbmQgVVRGOCBjaGFyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5yZXN1bHQgb2YgdGhlIGNvbXBhcmUgYXMgd2l0aCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3RybmNtcCI+eG1sU3RybmNtcDwvYT48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxVVEY4U2l6ZSIgaWQ9InhtbFVURjhTaXplIj48L2E+RnVuY3Rpb246IHhtbFVURjhTaXplPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVURjhTaXplCQkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHV0Zik8YnIgLz4KKzwvcHJlPjxwPmNhbGN1bGF0ZXMgdGhlIGludGVybmFsIHNpemUgb2YgYSBVVEY4IGNoYXJhY3RlcjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnV0ZjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+cG9pbnRlciB0byB0aGUgVVRGOCBjaGFyYWN0ZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXJzIG9mIGJ5dGVzIGluIHRoZSBjaGFyYWN0ZXIsIC0xIG9uIGZvcm1hdCBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFVURjhTdHJsZW4iIGlkPSJ4bWxVVEY4U3RybGVuIj48L2E+RnVuY3Rpb246IHhtbFVURjhTdHJsZW48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVVRGOFN0cmxlbgkJCShjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB1dGYpPGJyIC8+Cis8L3ByZT48cD5jb21wdXRlIHRoZSBsZW5ndGggb2YgYW4gVVRGOCBzdHJpbmcsIGl0IGRvZXNuJ3QgZG8gYSBmdWxsIFVURjggY2hlY2tpbmcgb2YgdGhlIGNvbnRlbnQgb2YgdGhlIHN0cmluZy48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD51dGY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgc2VxdWVuY2Ugb2YgVVRGLTggZW5jb2RlZCBieXRlczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjY2hhcmFjdGVycyI+Y2hhcmFjdGVyczwvYT4gaW4gdGhlIHN0cmluZyBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVVRGOFN0cmxvYyIgaWQ9InhtbFVURjhTdHJsb2MiPjwvYT5GdW5jdGlvbjogeG1sVVRGOFN0cmxvYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVVEY4U3RybG9jCQkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHV0ZiwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdXRmY2hhcik8YnIgLz4KKzwvcHJlPjxwPmEgZnVuY3Rpb24gdG8gcHJvdmlkZSB0aGUgcmVsYXRpdmUgbG9jYXRpb24gb2YgYSBVVEY4IGNoYXI8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD51dGY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBpbnB1dCBVVEY4ICo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnV0ZmNoYXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBVVEY4IGNoYXJhY3RlciB0byBiZSBmb3VuZDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHJlbGF0aXZlIGNoYXJhY3RlciBwb3NpdGlvbiBvZiB0aGUgZGVzaXJlZCBjaGFyIG9yIC0xIGlmIG5vdCBmb3VuZDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFVURjhTdHJuZHVwIiBpZD0ieG1sVVRGOFN0cm5kdXAiPjwvYT5GdW5jdGlvbjogeG1sVVRGOFN0cm5kdXA8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxVVEY4U3RybmR1cAkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHV0ZiwgPGJyIC8+CQkJCQkgaW50IGxlbik8YnIgLz4KKzwvcHJlPjxwPmEgc3RybmR1cCBmb3IgYXJyYXkgb2YgVVRGOCdzPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dXRmPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaW5wdXQgVVRGOCAqPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsZW4gb2YgQHV0ZiAoaW4gY2hhcnMpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIG5ldyBVVEY4ICogb3IgTlVMTDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFVURjhTdHJwb3MiIGlkPSJ4bWxVVEY4U3RycG9zIj48L2E+RnVuY3Rpb246IHhtbFVURjhTdHJwb3M8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5jb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxVVEY4U3RycG9zCQkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdXRmLCA8YnIgLz4JCQkJCSBpbnQgcG9zKTxiciAvPgorPC9wcmU+PHA+YSBmdW5jdGlvbiB0byBwcm92aWRlIHRoZSBlcXVpdmFsZW50IG9mIGZldGNoaW5nIGEgY2hhcmFjdGVyIGZyb20gYSBzdHJpbmcgYXJyYXk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD51dGY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBpbnB1dCBVVEY4ICo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnBvczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHBvc2l0aW9uIG9mIHRoZSBkZXNpcmVkIFVURjggY2hhciAoaW4gY2hhcnMpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHBvaW50ZXIgdG8gdGhlIFVURjggY2hhcmFjdGVyIG9yIE5VTEw8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxVVEY4U3Ryc2l6ZSIgaWQ9InhtbFVURjhTdHJzaXplIj48L2E+RnVuY3Rpb246IHhtbFVURjhTdHJzaXplPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVURjhTdHJzaXplCQkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHV0ZiwgPGJyIC8+CQkJCQkgaW50IGxlbik8YnIgLz4KKzwvcHJlPjxwPnN0b3JhZ2Ugc2l6ZSBvZiBhbiBVVEY4IHN0cmluZyB0aGUgYmVoYXZpb3VyIGlzIG5vdCBnYXJhbnRlZWQgaWYgdGhlIGlucHV0IHN0cmluZyBpcyBub3QgVVRGLTg8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD51dGY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgc2VxdWVuY2Ugb2YgVVRGLTggZW5jb2RlZCBieXRlczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGVuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNjaGFyYWN0ZXJzIj5jaGFyYWN0ZXJzPC9hPiBpbiB0aGUgYXJyYXk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzdG9yYWdlIHNpemUgb2YgdGhlIGZpcnN0ICdsZW4nIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNjaGFyYWN0ZXJzIj5jaGFyYWN0ZXJzPC9hPiBvZiBBUlJBWTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFVURjhTdHJzdWIiIGlkPSJ4bWxVVEY4U3Ryc3ViIj48L2E+RnVuY3Rpb246IHhtbFVURjhTdHJzdWI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxVVEY4U3Ryc3ViCQkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdXRmLCA8YnIgLz4JCQkJCSBpbnQgc3RhcnQsIDxiciAvPgkJCQkJIGludCBsZW4pPGJyIC8+Cis8L3ByZT48cD5DcmVhdGUgYSBzdWJzdHJpbmcgZnJvbSBhIGdpdmVuIFVURi04IHN0cmluZyBOb3RlOiBwb3NpdGlvbnMgYXJlIGdpdmVuIGluIHVuaXRzIG9mIFVURi04IGNoYXJzPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dXRmPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHNlcXVlbmNlIG9mIFVURi04IGVuY29kZWQgYnl0ZXM8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0YXJ0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5yZWxhdGl2ZSBwb3Mgb2YgZmlyc3QgY2hhcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGVuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50b3RhbCBudW1iZXIgdG8gY29weTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBwb2ludGVyIHRvIGEgbmV3bHkgY3JlYXRlZCBzdHJpbmcgb3IgTlVMTCBpZiBhbnkgcHJvYmxlbTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PHA+PGEgaHJlZj0iLi4vYnVncy5odG1sIj5EYW5pZWwgVmVpbGxhcmQ8L2E+PC9wPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9odG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwgYi9saWJ4bWwyL2RvYy9odG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODcwOTRlZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL2h0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbApAQCAtMCwwICsxLDUxMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIj4KKzxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj48aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz48bGluayByZWw9IlNIT1JUQ1VUIElDT04iIGhyZWY9Ii9mYXZpY29uLmljbyIgLz48c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorVEQge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0JPRFkge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYTsgbWFyZ2luLXRvcDogMmVtOyBtYXJnaW4tbGVmdDogMGVtOyBtYXJnaW4tcmlnaHQ6IDBlbX0KK0gxIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMiB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDMge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0E6bGluaywgQTp2aXNpdGVkLCBBOmFjdGl2ZSB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIH0KKzwvc3R5bGU+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKyAgICAgIGRpdi5kZXByZWNhdGVkIHByZS5wcm9ncmFtbGlzdGluZyB7Ym9yZGVyLXN0eWxlOiBkb3VibGU7Ym9yZGVyLWNvbG9yOnJlZH0KKyAgICAgIHByZS5wcm9ncmFtbGlzdGluZyB7Ym9yZGVyLXN0eWxlOiBkb3VibGU7YmFja2dyb3VuZDogI0VFQ0ZBMX0KKyAgICA8L3N0eWxlPjx0aXRsZT5Nb2R1bGUgeG1sdW5pY29kZSBmcm9tIGxpYnhtbDI8L3RpdGxlPjwvaGVhZD48Ym9keSBiZ2NvbG9yPSIjOGI3NzY1IiB0ZXh0PSIjMDAwMDAwIiBsaW5rPSIjYTA2MDYwIiB2bGluaz0iIzAwMDAwMCI+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjEwMCUiIGNlbGxwYWRkaW5nPSI1IiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCB3aWR0aD0iMTIwIj48YSBocmVmPSJodHRwOi8vc3dwYXQuZmZpaS5vcmcvIj48aW1nIHNyYz0iLi4vZXBhdGVudHMucG5nIiBhbHQ9IkFjdGlvbiBhZ2FpbnN0IHNvZnR3YXJlIHBhdGVudHMiIC8+PC9hPjwvdGQ+PHRkIHdpZHRoPSIxODAiPjxhIGhyZWY9Imh0dHA6Ly93d3cuZ25vbWUub3JnLyI+PGltZyBzcmM9Ii4uL2dub21lMi5wbmciIGFsdD0iR25vbWUyIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1N0YXR1cyI+PGltZyBzcmM9Ii4uL3czYy5wbmciIGFsdD0iVzNDIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cucmVkaGF0LmNvbS8iPjxpbWcgc3JjPSIuLi9yZWRoYXQuZ2lmIiBhbHQ9IlJlZCBIYXQgTG9nbyIgLz48L2E+PGRpdiBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnLyI+PGltZyBzcmM9Ii4uL0xpYnhtbDItTG9nby0xODB4MTY4LmdpZiIgYWx0PSJNYWRlIHdpdGggTGlieG1sMiBMb2dvIiAvPjwvYT48L2Rpdj48L3RkPjx0ZD48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iOTAlIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyIgYmdjb2xvcj0iI2ZmZmFjZCI+PHRyPjx0ZCBhbGlnbj0iY2VudGVyIj48aDE+PC9oMT48aDI+TW9kdWxlIHhtbHVuaWNvZGUgZnJvbSBsaWJ4bWwyPC9oMj48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iNCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiIgd2lkdGg9IjEwMCUiPjx0cj48dGQgdmFsaWduPSJ0b3AiIHdpZHRoPSIyMDAiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPkFQSSBNZW51PC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjxmb3JtIGFjdGlvbj0iLi4vc2VhcmNoLnBocCIgZW5jdHlwZT0iYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIiBtZXRob2Q9ImdldCI+PGlucHV0IG5hbWU9InF1ZXJ5IiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IiIgLz48aW5wdXQgbmFtZT0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJTZWFyY2ggLi4uIiAvPjwvZm9ybT48dWw+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSIuLi9pbmRleC5odG1sIj5NYWluIE1lbnU8L2E+PC9saT48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9Ii4uL2RvY3MuaHRtbCI+RGV2ZWxvcGVyIE1lbnU8L2E+PC9saT48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9Ii4uL2V4YW1wbGVzL2luZGV4Lmh0bWwiPkNvZGUgRXhhbXBsZXM8L2E+PC9saT48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9ImluZGV4Lmh0bWwiPkFQSSBNZW51PC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1wYXJzZXIuaHRtbCI+UGFyc2VyIEFQSTwvYT48L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sIj5UcmVlIEFQSTwvYT48L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwiPlJlYWRlciBBUEk8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vZ3VpZGVsaW5lcy5odG1sIj5YTUwgR3VpZGVsaW5lczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9DaGFuZ2VMb2cuaHRtbCI+Q2hhbmdlTG9nPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+QVBJIEluZGV4ZXM8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSIuLi9BUEljaHVuazAuaHRtbCI+QWxwaGFiZXRpYzwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUEljb25zdHJ1Y3RvcnMuaHRtbCI+Q29uc3RydWN0b3JzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSWZ1bmN0aW9ucy5odG1sIj5GdW5jdGlvbnMvVHlwZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJZmlsZXMuaHRtbCI+TW9kdWxlczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUElzeW1ib2xzLmh0bWwiPlN5bWJvbHM8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5SZWxhdGVkIGxpbmtzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iaHR0cDovL21haWwuZ25vbWUub3JnL2FyY2hpdmVzL3htbC8iPk1haWwgYXJjaGl2ZTwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvWFNMVC8iPlhTTFQgbGlieHNsdDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vcGhkLmNzLnVuaWJvLml0L2dkb21lMi8iPkRPTSBnZG9tZTI8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5hbGVrc2V5LmNvbS94bWxzZWMvIj5YTUwtRFNpZyB4bWxzZWM8L2E+PC9saT48bGk+PGEgaHJlZj0iZnRwOi8veG1sc29mdC5vcmcvIj5GVFA8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56bGF0a292aWMuY29tL3Byb2plY3RzL2xpYnhtbC8iPldpbmRvd3MgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL29wZW5jc3cub3JnL3BhY2thZ2VzL2xpYnhtbDIiPlNvbGFyaXMgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5leHBsYWluLmNvbS5hdS9vc3MvbGlieG1sMnhzbHQuaHRtbCI+TWFjT3NYIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9seG1sLmRlLyI+bHhtbCBQeXRob24gYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2NwYW4udXdpbm5pcGVnLmNhL2Rpc3QvWE1MLUxpYlhNTCI+UGVybCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1scGx1c3BsdXMuc291cmNlZm9yZ2UubmV0LyI+QysrIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemVuZC5jb20vcGhwNS9hcnRpY2xlcy9waHA1LXhtbHBocC5waHAjSGVhZGluZzQiPlBIUCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2xpYnhtbDItcGFzLyI+UGFzY2FsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWwucnVieWZvcmdlLm9yZy8iPlJ1YnkgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3RjbHhtbC5zb3VyY2Vmb3JnZS5uZXQvIj5UY2wgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9idWdsaXN0LmNnaT9wcm9kdWN0PWxpYnhtbDIiPkJ1ZyBUcmFja2VyPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIzIiBjZWxsc3BhY2luZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHRhYmxlIGNsYXNzPSJuYXZpZ2F0aW9uIiB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBoZWFkZXIiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMiI+PHRyIHZhbGlnbj0ibWlkZGxlIj48dGQ+PGEgYWNjZXNza2V5PSJwIiBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwiPjxpbWcgc3JjPSJsZWZ0LnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iUHJldiIgLz48L2E+PC90ZD48dGggYWxpZ249ImxlZnQiPjxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCI+eG1sc3RyaW5nPC9hPjwvdGg+PHRkPjxhIGFjY2Vzc2tleT0idSIgaHJlZj0iaW5kZXguaHRtbCI+PGltZyBzcmM9InVwLnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iVXAiIC8+PC9hPjwvdGQ+PHRoIGFsaWduPSJsZWZ0Ij48YSBocmVmPSJpbmRleC5odG1sIj5BUEkgZG9jdW1lbnRhdGlvbjwvYT48L3RoPjx0ZD48YSBhY2Nlc3NrZXk9ImgiIGhyZWY9Ii4uL2luZGV4Lmh0bWwiPjxpbWcgc3JjPSJob21lLnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iSG9tZSIgLz48L2E+PC90ZD48dGggYWxpZ249ImNlbnRlciI+PGEgaHJlZj0iLi4vaW5kZXguaHRtbCI+VGhlIFhNTCBDIHBhcnNlciBhbmQgdG9vbGtpdCBvZiBHbm9tZTwvYT48L3RoPjx0aCBhbGlnbj0icmlnaHQiPjxhIGhyZWY9ImxpYnhtbC14bWx2ZXJzaW9uLmh0bWwiPnhtbHZlcnNpb248L2E+PC90aD48dGQ+PGEgYWNjZXNza2V5PSJuIiBocmVmPSJsaWJ4bWwteG1sdmVyc2lvbi5odG1sIj48aW1nIHNyYz0icmlnaHQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJOZXh0IiAvPjwvYT48L3RkPjwvdHI+PC90YWJsZT48cD5BUEkgZm9yIHRoZSBVbmljb2RlIGNoYXJhY3RlciBBUElzICBUaGlzIGZpbGUgaXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgVUNTIGRlc2NyaXB0aW9uIGZpbGVzIG9mIHRoZSBVbmljb2RlIENoYXJhY3RlciBEYXRhYmFzZTwvcD48aDI+VGFibGUgb2YgQ29udGVudHM8L2gyPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFVDU0lzQWVnZWFuTnVtYmVycyI+eG1sVUNTSXNBZWdlYW5OdW1iZXJzPC9hPgkJKGludCBjb2RlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVUNTSXNBbHBoYWJldGljUHJlc2VudGF0aW9uRm9ybXMiPnhtbFVDU0lzQWxwaGFiZXRpY1ByZXNlbnRhdGlvbkZvcm1zPC9hPgkoaW50IGNvZGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxVQ1NJc0FyYWJpYyI+eG1sVUNTSXNBcmFiaWM8L2E+CQkJKGludCBjb2RlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVUNTSXNBcmFiaWNQcmVzZW50YXRpb25Gb3Jtc0EiPnhtbFVDU0lzQXJhYmljUHJlc2VudGF0aW9uRm9ybXNBPC9hPgkoaW50IGNvZGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxVQ1NJc0FyYWJpY1ByZXNlbnRhdGlvbkZvcm1zQiI+eG1sVUNTSXNBcmFiaWNQcmVzZW50YXRpb25Gb3Jtc0I8L2E+CShpbnQgY29kZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFVDU0lzQXJtZW5pYW4iPnhtbFVDU0lzQXJtZW5pYW48L2E+CQkoaW50IGNvZGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxVQ1NJc0Fycm93cyI+eG1sVUNTSXNBcnJvd3M8L2E+CQkJKGludCBjb2RlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVUNTSXNCYXNpY0xhdGluIj54bWxVQ1NJc0Jhc2ljTGF0aW48L2E+CQkoaW50IGNvZGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxVQ1NJc0JlbmdhbGkiPnhtbFVDU0lzQmVuZ2FsaTwvYT4JCQkoaW50IGNvZGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxVQ1NJc0Jsb2NrIj54bWxVQ1NJc0Jsb2NrPC9hPgkJCShpbnQgY29kZSwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGJsb2NrKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVUNTSXNCbG9ja0VsZW1lbnRzIj54bWxVQ1NJc0Jsb2NrRWxlbWVudHM8L2E+CQkoaW50IGNvZGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxVQ1NJc0JvcG9tb2ZvIj54bWxVQ1NJc0JvcG9tb2ZvPC9hPgkJKGludCBjb2RlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVUNTSXNCb3BvbW9mb0V4dGVuZGVkIj54bWxVQ1NJc0JvcG9tb2ZvRXh0ZW5kZWQ8L2E+CShpbnQgY29kZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFVDU0lzQm94RHJhd2luZyI+eG1sVUNTSXNCb3hEcmF3aW5nPC9hPgkJKGludCBjb2RlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVUNTSXNCcmFpbGxlUGF0dGVybnMiPnhtbFVDU0lzQnJhaWxsZVBhdHRlcm5zPC9hPgkJKGludCBjb2RlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVUNTSXNCdWhpZCI+eG1sVUNTSXNCdWhpZDwvYT4JCQkoaW50IGNvZGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxVQ1NJc0J5emFudGluZU11c2ljYWxTeW1ib2xzIj54bWxVQ1NJc0J5emFudGluZU11c2ljYWxTeW1ib2xzPC9hPgkoaW50IGNvZGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHkiPnhtbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eTwvYT4JKGludCBjb2RlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVUNTSXNDSktDb21wYXRpYmlsaXR5Rm9ybXMiPnhtbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eUZvcm1zPC9hPgkoaW50IGNvZGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHlJZGVvZ3JhcGhzIj54bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHlJZGVvZ3JhcGhzPC9hPgkoaW50IGNvZGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHlJZGVvZ3JhcGhzU3VwcGxlbWVudCI+eG1sVUNTSXNDSktDb21wYXRpYmlsaXR5SWRlb2dyYXBoc1N1cHBsZW1lbnQ8L2E+CShpbnQgY29kZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFVDU0lzQ0pLUmFkaWNhbHNTdXBwbGVtZW50Ij54bWxVQ1NJc0NKS1JhZGljYWxzU3VwcGxlbWVudDwvYT4JKGludCBjb2RlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVUNTSXNDSktTeW1ib2xzYW5kUHVuY3R1YXRpb24iPnhtbFVDU0lzQ0pLU3ltYm9sc2FuZFB1bmN0dWF0aW9uPC9hPgkoaW50IGNvZGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxVQ1NJc0NKS1VuaWZpZWRJZGVvZ3JhcGhzIj54bWxVQ1NJc0NKS1VuaWZpZWRJZGVvZ3JhcGhzPC9hPgkoaW50IGNvZGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxVQ1NJc0NKS1VuaWZpZWRJZGVvZ3JhcGhzRXh0ZW5zaW9uQSI+eG1sVUNTSXNDSktVbmlmaWVkSWRlb2dyYXBoc0V4dGVuc2lvbkE8L2E+CShpbnQgY29kZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFVDU0lzQ0pLVW5pZmllZElkZW9ncmFwaHNFeHRlbnNpb25CIj54bWxVQ1NJc0NKS1VuaWZpZWRJZGVvZ3JhcGhzRXh0ZW5zaW9uQjwvYT4JKGludCBjb2RlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVUNTSXNDYXQiPnhtbFVDU0lzQ2F0PC9hPgkJCShpbnQgY29kZSwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGNhdCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFVDU0lzQ2F0QyI+eG1sVUNTSXNDYXRDPC9hPgkJCShpbnQgY29kZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFVDU0lzQ2F0Q2MiPnhtbFVDU0lzQ2F0Q2M8L2E+CQkJKGludCBjb2RlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVUNTSXNDYXRDZiI+eG1sVUNTSXNDYXRDZjwvYT4JCQkoaW50IGNvZGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxVQ1NJc0NhdENvIj54bWxVQ1NJc0NhdENvPC9hPgkJCShpbnQgY29kZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFVDU0lzQ2F0Q3MiPnhtbFVDU0lzQ2F0Q3M8L2E+CQkJKGludCBjb2RlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVUNTSXNDYXRMIj54bWxVQ1NJc0NhdEw8L2E+CQkJKGludCBjb2RlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVUNTSXNDYXRMbCI+eG1sVUNTSXNDYXRMbDwvYT4JCQkoaW50IGNvZGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxVQ1NJc0NhdExtIj54bWxVQ1NJc0NhdExtPC9hPgkJCShpbnQgY29kZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFVDU0lzQ2F0TG8iPnhtbFVDU0lzQ2F0TG88L2E+CQkJKGludCBjb2RlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVUNTSXNDYXRMdCI+eG1sVUNTSXNDYXRMdDwvYT4JCQkoaW50IGNvZGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxVQ1NJc0NhdEx1Ij54bWxVQ1NJc0NhdEx1PC9hPgkJCShpbnQgY29kZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFVDU0lzQ2F0TSI+eG1sVUNTSXNDYXRNPC9hPgkJCShpbnQgY29kZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFVDU0lzQ2F0TWMiPnhtbFVDU0lzQ2F0TWM8L2E+CQkJKGludCBjb2RlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVUNTSXNDYXRNZSI+eG1sVUNTSXNDYXRNZTwvYT4JCQkoaW50IGNvZGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxVQ1NJc0NhdE1uIj54bWxVQ1NJc0NhdE1uPC9hPgkJCShpbnQgY29kZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFVDU0lzQ2F0TiI+eG1sVUNTSXNDYXROPC9hPgkJCShpbnQgY29kZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFVDU0lzQ2F0TmQiPnhtbFVDU0lzQ2F0TmQ8L2E+CQkJKGludCBjb2RlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVUNTSXNDYXRObCI+eG1sVUNTSXNDYXRObDwvYT4JCQkoaW50IGNvZGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxVQ1NJc0NhdE5vIj54bWxVQ1NJc0NhdE5vPC9hPgkJCShpbnQgY29kZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFVDU0lzQ2F0UCI+eG1sVUNTSXNDYXRQPC9hPgkJCShpbnQgY29kZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFVDU0lzQ2F0UGMiPnhtbFVDU0lzQ2F0UGM8L2E+CQkJKGludCBjb2RlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVUNTSXNDYXRQZCI+eG1sVUNTSXNDYXRQZDwvYT4JCQkoaW50IGNvZGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxVQ1NJc0NhdFBlIj54bWxVQ1NJc0NhdFBlPC9hPgkJCShpbnQgY29kZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFVDU0lzQ2F0UGYiPnhtbFVDU0lzQ2F0UGY8L2E+CQkJKGludCBjb2RlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVUNTSXNDYXRQaSI+eG1sVUNTSXNDYXRQaTwvYT4JCQkoaW50IGNvZGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxVQ1NJc0NhdFBvIj54bWxVQ1NJc0NhdFBvPC9hPgkJCShpbnQgY29kZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFVDU0lzQ2F0UHMiPnhtbFVDU0lzQ2F0UHM8L2E+CQkJKGludCBjb2RlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVUNTSXNDYXRTIj54bWxVQ1NJc0NhdFM8L2E+CQkJKGludCBjb2RlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVUNTSXNDYXRTYyI+eG1sVUNTSXNDYXRTYzwvYT4JCQkoaW50IGNvZGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxVQ1NJc0NhdFNrIj54bWxVQ1NJc0NhdFNrPC9hPgkJCShpbnQgY29kZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFVDU0lzQ2F0U20iPnhtbFVDU0lzQ2F0U208L2E+CQkJKGludCBjb2RlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVUNTSXNDYXRTbyI+eG1sVUNTSXNDYXRTbzwvYT4JCQkoaW50IGNvZGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxVQ1NJc0NhdFoiPnhtbFVDU0lzQ2F0WjwvYT4JCQkoaW50IGNvZGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxVQ1NJc0NhdFpsIj54bWxVQ1NJc0NhdFpsPC9hPgkJCShpbnQgY29kZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFVDU0lzQ2F0WnAiPnhtbFVDU0lzQ2F0WnA8L2E+CQkJKGludCBjb2RlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVUNTSXNDYXRacyI+eG1sVUNTSXNDYXRaczwvYT4JCQkoaW50IGNvZGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxVQ1NJc0NoZXJva2VlIj54bWxVQ1NJc0NoZXJva2VlPC9hPgkJKGludCBjb2RlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVUNTSXNDb21iaW5pbmdEaWFjcml0aWNhbE1hcmtzIj54bWxVQ1NJc0NvbWJpbmluZ0RpYWNyaXRpY2FsTWFya3M8L2E+CShpbnQgY29kZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFVDU0lzQ29tYmluaW5nRGlhY3JpdGljYWxNYXJrc2ZvclN5bWJvbHMiPnhtbFVDU0lzQ29tYmluaW5nRGlhY3JpdGljYWxNYXJrc2ZvclN5bWJvbHM8L2E+CShpbnQgY29kZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFVDU0lzQ29tYmluaW5nSGFsZk1hcmtzIj54bWxVQ1NJc0NvbWJpbmluZ0hhbGZNYXJrczwvYT4JKGludCBjb2RlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVUNTSXNDb21iaW5pbmdNYXJrc2ZvclN5bWJvbHMiPnhtbFVDU0lzQ29tYmluaW5nTWFya3Nmb3JTeW1ib2xzPC9hPgkoaW50IGNvZGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxVQ1NJc0NvbnRyb2xQaWN0dXJlcyI+eG1sVUNTSXNDb250cm9sUGljdHVyZXM8L2E+CQkoaW50IGNvZGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxVQ1NJc0N1cnJlbmN5U3ltYm9scyI+eG1sVUNTSXNDdXJyZW5jeVN5bWJvbHM8L2E+CQkoaW50IGNvZGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxVQ1NJc0N5cHJpb3RTeWxsYWJhcnkiPnhtbFVDU0lzQ3lwcmlvdFN5bGxhYmFyeTwvYT4JKGludCBjb2RlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVUNTSXNDeXJpbGxpYyI+eG1sVUNTSXNDeXJpbGxpYzwvYT4JCShpbnQgY29kZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFVDU0lzQ3lyaWxsaWNTdXBwbGVtZW50Ij54bWxVQ1NJc0N5cmlsbGljU3VwcGxlbWVudDwvYT4JKGludCBjb2RlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVUNTSXNEZXNlcmV0Ij54bWxVQ1NJc0Rlc2VyZXQ8L2E+CQkJKGludCBjb2RlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVUNTSXNEZXZhbmFnYXJpIj54bWxVQ1NJc0RldmFuYWdhcmk8L2E+CQkoaW50IGNvZGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxVQ1NJc0RpbmdiYXRzIj54bWxVQ1NJc0RpbmdiYXRzPC9hPgkJKGludCBjb2RlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVUNTSXNFbmNsb3NlZEFscGhhbnVtZXJpY3MiPnhtbFVDU0lzRW5jbG9zZWRBbHBoYW51bWVyaWNzPC9hPgkoaW50IGNvZGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxVQ1NJc0VuY2xvc2VkQ0pLTGV0dGVyc2FuZE1vbnRocyI+eG1sVUNTSXNFbmNsb3NlZENKS0xldHRlcnNhbmRNb250aHM8L2E+CShpbnQgY29kZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFVDU0lzRXRoaW9waWMiPnhtbFVDU0lzRXRoaW9waWM8L2E+CQkoaW50IGNvZGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxVQ1NJc0dlbmVyYWxQdW5jdHVhdGlvbiI+eG1sVUNTSXNHZW5lcmFsUHVuY3R1YXRpb248L2E+CShpbnQgY29kZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFVDU0lzR2VvbWV0cmljU2hhcGVzIj54bWxVQ1NJc0dlb21ldHJpY1NoYXBlczwvYT4JCShpbnQgY29kZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFVDU0lzR2VvcmdpYW4iPnhtbFVDU0lzR2VvcmdpYW48L2E+CQkoaW50IGNvZGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxVQ1NJc0dvdGhpYyI+eG1sVUNTSXNHb3RoaWM8L2E+CQkJKGludCBjb2RlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVUNTSXNHcmVlayI+eG1sVUNTSXNHcmVlazwvYT4JCQkoaW50IGNvZGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxVQ1NJc0dyZWVrRXh0ZW5kZWQiPnhtbFVDU0lzR3JlZWtFeHRlbmRlZDwvYT4JCShpbnQgY29kZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFVDU0lzR3JlZWthbmRDb3B0aWMiPnhtbFVDU0lzR3JlZWthbmRDb3B0aWM8L2E+CQkoaW50IGNvZGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxVQ1NJc0d1amFyYXRpIj54bWxVQ1NJc0d1amFyYXRpPC9hPgkJKGludCBjb2RlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVUNTSXNHdXJtdWtoaSI+eG1sVUNTSXNHdXJtdWtoaTwvYT4JCShpbnQgY29kZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFVDU0lzSGFsZndpZHRoYW5kRnVsbHdpZHRoRm9ybXMiPnhtbFVDU0lzSGFsZndpZHRoYW5kRnVsbHdpZHRoRm9ybXM8L2E+CShpbnQgY29kZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFVDU0lzSGFuZ3VsQ29tcGF0aWJpbGl0eUphbW8iPnhtbFVDU0lzSGFuZ3VsQ29tcGF0aWJpbGl0eUphbW88L2E+CShpbnQgY29kZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFVDU0lzSGFuZ3VsSmFtbyI+eG1sVUNTSXNIYW5ndWxKYW1vPC9hPgkJKGludCBjb2RlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVUNTSXNIYW5ndWxTeWxsYWJsZXMiPnhtbFVDU0lzSGFuZ3VsU3lsbGFibGVzPC9hPgkJKGludCBjb2RlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVUNTSXNIYW51bm9vIj54bWxVQ1NJc0hhbnVub288L2E+CQkJKGludCBjb2RlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVUNTSXNIZWJyZXciPnhtbFVDU0lzSGVicmV3PC9hPgkJCShpbnQgY29kZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFVDU0lzSGlnaFByaXZhdGVVc2VTdXJyb2dhdGVzIj54bWxVQ1NJc0hpZ2hQcml2YXRlVXNlU3Vycm9nYXRlczwvYT4JKGludCBjb2RlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVUNTSXNIaWdoU3Vycm9nYXRlcyI+eG1sVUNTSXNIaWdoU3Vycm9nYXRlczwvYT4JCShpbnQgY29kZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFVDU0lzSGlyYWdhbmEiPnhtbFVDU0lzSGlyYWdhbmE8L2E+CQkoaW50IGNvZGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxVQ1NJc0lQQUV4dGVuc2lvbnMiPnhtbFVDU0lzSVBBRXh0ZW5zaW9uczwvYT4JCShpbnQgY29kZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFVDU0lzSWRlb2dyYXBoaWNEZXNjcmlwdGlvbkNoYXJhY3RlcnMiPnhtbFVDU0lzSWRlb2dyYXBoaWNEZXNjcmlwdGlvbkNoYXJhY3RlcnM8L2E+CShpbnQgY29kZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFVDU0lzS2FuYnVuIj54bWxVQ1NJc0thbmJ1bjwvYT4JCQkoaW50IGNvZGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxVQ1NJc0thbmd4aVJhZGljYWxzIj54bWxVQ1NJc0thbmd4aVJhZGljYWxzPC9hPgkJKGludCBjb2RlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVUNTSXNLYW5uYWRhIj54bWxVQ1NJc0thbm5hZGE8L2E+CQkJKGludCBjb2RlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVUNTSXNLYXRha2FuYSI+eG1sVUNTSXNLYXRha2FuYTwvYT4JCShpbnQgY29kZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFVDU0lzS2F0YWthbmFQaG9uZXRpY0V4dGVuc2lvbnMiPnhtbFVDU0lzS2F0YWthbmFQaG9uZXRpY0V4dGVuc2lvbnM8L2E+CShpbnQgY29kZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFVDU0lzS2htZXIiPnhtbFVDU0lzS2htZXI8L2E+CQkJKGludCBjb2RlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVUNTSXNLaG1lclN5bWJvbHMiPnhtbFVDU0lzS2htZXJTeW1ib2xzPC9hPgkJKGludCBjb2RlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVUNTSXNMYW8iPnhtbFVDU0lzTGFvPC9hPgkJCShpbnQgY29kZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFVDU0lzTGF0aW4xU3VwcGxlbWVudCI+eG1sVUNTSXNMYXRpbjFTdXBwbGVtZW50PC9hPgkoaW50IGNvZGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxVQ1NJc0xhdGluRXh0ZW5kZWRBIj54bWxVQ1NJc0xhdGluRXh0ZW5kZWRBPC9hPgkJKGludCBjb2RlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVUNTSXNMYXRpbkV4dGVuZGVkQWRkaXRpb25hbCI+eG1sVUNTSXNMYXRpbkV4dGVuZGVkQWRkaXRpb25hbDwvYT4JKGludCBjb2RlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVUNTSXNMYXRpbkV4dGVuZGVkQiI+eG1sVUNTSXNMYXRpbkV4dGVuZGVkQjwvYT4JCShpbnQgY29kZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFVDU0lzTGV0dGVybGlrZVN5bWJvbHMiPnhtbFVDU0lzTGV0dGVybGlrZVN5bWJvbHM8L2E+CShpbnQgY29kZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFVDU0lzTGltYnUiPnhtbFVDU0lzTGltYnU8L2E+CQkJKGludCBjb2RlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVUNTSXNMaW5lYXJCSWRlb2dyYW1zIj54bWxVQ1NJc0xpbmVhckJJZGVvZ3JhbXM8L2E+CShpbnQgY29kZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFVDU0lzTGluZWFyQlN5bGxhYmFyeSI+eG1sVUNTSXNMaW5lYXJCU3lsbGFiYXJ5PC9hPgkoaW50IGNvZGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxVQ1NJc0xvd1N1cnJvZ2F0ZXMiPnhtbFVDU0lzTG93U3Vycm9nYXRlczwvYT4JCShpbnQgY29kZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFVDU0lzTWFsYXlhbGFtIj54bWxVQ1NJc01hbGF5YWxhbTwvYT4JCShpbnQgY29kZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFVDU0lzTWF0aGVtYXRpY2FsQWxwaGFudW1lcmljU3ltYm9scyI+eG1sVUNTSXNNYXRoZW1hdGljYWxBbHBoYW51bWVyaWNTeW1ib2xzPC9hPgkoaW50IGNvZGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxVQ1NJc01hdGhlbWF0aWNhbE9wZXJhdG9ycyI+eG1sVUNTSXNNYXRoZW1hdGljYWxPcGVyYXRvcnM8L2E+CShpbnQgY29kZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFVDU0lzTWlzY2VsbGFuZW91c01hdGhlbWF0aWNhbFN5bWJvbHNBIj54bWxVQ1NJc01pc2NlbGxhbmVvdXNNYXRoZW1hdGljYWxTeW1ib2xzQTwvYT4JKGludCBjb2RlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVUNTSXNNaXNjZWxsYW5lb3VzTWF0aGVtYXRpY2FsU3ltYm9sc0IiPnhtbFVDU0lzTWlzY2VsbGFuZW91c01hdGhlbWF0aWNhbFN5bWJvbHNCPC9hPgkoaW50IGNvZGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxVQ1NJc01pc2NlbGxhbmVvdXNTeW1ib2xzIj54bWxVQ1NJc01pc2NlbGxhbmVvdXNTeW1ib2xzPC9hPgkoaW50IGNvZGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxVQ1NJc01pc2NlbGxhbmVvdXNTeW1ib2xzYW5kQXJyb3dzIj54bWxVQ1NJc01pc2NlbGxhbmVvdXNTeW1ib2xzYW5kQXJyb3dzPC9hPgkoaW50IGNvZGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxVQ1NJc01pc2NlbGxhbmVvdXNUZWNobmljYWwiPnhtbFVDU0lzTWlzY2VsbGFuZW91c1RlY2huaWNhbDwvYT4JKGludCBjb2RlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVUNTSXNNb25nb2xpYW4iPnhtbFVDU0lzTW9uZ29saWFuPC9hPgkJKGludCBjb2RlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVUNTSXNNdXNpY2FsU3ltYm9scyI+eG1sVUNTSXNNdXNpY2FsU3ltYm9sczwvYT4JCShpbnQgY29kZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFVDU0lzTXlhbm1hciI+eG1sVUNTSXNNeWFubWFyPC9hPgkJCShpbnQgY29kZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFVDU0lzTnVtYmVyRm9ybXMiPnhtbFVDU0lzTnVtYmVyRm9ybXM8L2E+CQkoaW50IGNvZGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxVQ1NJc09naGFtIj54bWxVQ1NJc09naGFtPC9hPgkJCShpbnQgY29kZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFVDU0lzT2xkSXRhbGljIj54bWxVQ1NJc09sZEl0YWxpYzwvYT4JCShpbnQgY29kZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFVDU0lzT3B0aWNhbENoYXJhY3RlclJlY29nbml0aW9uIj54bWxVQ1NJc09wdGljYWxDaGFyYWN0ZXJSZWNvZ25pdGlvbjwvYT4JKGludCBjb2RlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVUNTSXNPcml5YSI+eG1sVUNTSXNPcml5YTwvYT4JCQkoaW50IGNvZGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxVQ1NJc09zbWFueWEiPnhtbFVDU0lzT3NtYW55YTwvYT4JCQkoaW50IGNvZGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxVQ1NJc1Bob25ldGljRXh0ZW5zaW9ucyI+eG1sVUNTSXNQaG9uZXRpY0V4dGVuc2lvbnM8L2E+CShpbnQgY29kZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFVDU0lzUHJpdmF0ZVVzZSI+eG1sVUNTSXNQcml2YXRlVXNlPC9hPgkJKGludCBjb2RlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVUNTSXNQcml2YXRlVXNlQXJlYSI+eG1sVUNTSXNQcml2YXRlVXNlQXJlYTwvYT4JCShpbnQgY29kZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFVDU0lzUnVuaWMiPnhtbFVDU0lzUnVuaWM8L2E+CQkJKGludCBjb2RlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVUNTSXNTaGF2aWFuIj54bWxVQ1NJc1NoYXZpYW48L2E+CQkJKGludCBjb2RlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVUNTSXNTaW5oYWxhIj54bWxVQ1NJc1NpbmhhbGE8L2E+CQkJKGludCBjb2RlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVUNTSXNTbWFsbEZvcm1WYXJpYW50cyI+eG1sVUNTSXNTbWFsbEZvcm1WYXJpYW50czwvYT4JKGludCBjb2RlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVUNTSXNTcGFjaW5nTW9kaWZpZXJMZXR0ZXJzIj54bWxVQ1NJc1NwYWNpbmdNb2RpZmllckxldHRlcnM8L2E+CShpbnQgY29kZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFVDU0lzU3BlY2lhbHMiPnhtbFVDU0lzU3BlY2lhbHM8L2E+CQkoaW50IGNvZGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxVQ1NJc1N1cGVyc2NyaXB0c2FuZFN1YnNjcmlwdHMiPnhtbFVDU0lzU3VwZXJzY3JpcHRzYW5kU3Vic2NyaXB0czwvYT4JKGludCBjb2RlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVUNTSXNTdXBwbGVtZW50YWxBcnJvd3NBIj54bWxVQ1NJc1N1cHBsZW1lbnRhbEFycm93c0E8L2E+CShpbnQgY29kZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFVDU0lzU3VwcGxlbWVudGFsQXJyb3dzQiI+eG1sVUNTSXNTdXBwbGVtZW50YWxBcnJvd3NCPC9hPgkoaW50IGNvZGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxVQ1NJc1N1cHBsZW1lbnRhbE1hdGhlbWF0aWNhbE9wZXJhdG9ycyI+eG1sVUNTSXNTdXBwbGVtZW50YWxNYXRoZW1hdGljYWxPcGVyYXRvcnM8L2E+CShpbnQgY29kZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFVDU0lzU3VwcGxlbWVudGFyeVByaXZhdGVVc2VBcmVhQSI+eG1sVUNTSXNTdXBwbGVtZW50YXJ5UHJpdmF0ZVVzZUFyZWFBPC9hPgkoaW50IGNvZGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxVQ1NJc1N1cHBsZW1lbnRhcnlQcml2YXRlVXNlQXJlYUIiPnhtbFVDU0lzU3VwcGxlbWVudGFyeVByaXZhdGVVc2VBcmVhQjwvYT4JKGludCBjb2RlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVUNTSXNTeXJpYWMiPnhtbFVDU0lzU3lyaWFjPC9hPgkJCShpbnQgY29kZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFVDU0lzVGFnYWxvZyI+eG1sVUNTSXNUYWdhbG9nPC9hPgkJCShpbnQgY29kZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFVDU0lzVGFnYmFud2EiPnhtbFVDU0lzVGFnYmFud2E8L2E+CQkoaW50IGNvZGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxVQ1NJc1RhZ3MiPnhtbFVDU0lzVGFnczwvYT4JCQkoaW50IGNvZGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxVQ1NJc1RhaUxlIj54bWxVQ1NJc1RhaUxlPC9hPgkJCShpbnQgY29kZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFVDU0lzVGFpWHVhbkppbmdTeW1ib2xzIj54bWxVQ1NJc1RhaVh1YW5KaW5nU3ltYm9sczwvYT4JKGludCBjb2RlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVUNTSXNUYW1pbCI+eG1sVUNTSXNUYW1pbDwvYT4JCQkoaW50IGNvZGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxVQ1NJc1RlbHVndSI+eG1sVUNTSXNUZWx1Z3U8L2E+CQkJKGludCBjb2RlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVUNTSXNUaGFhbmEiPnhtbFVDU0lzVGhhYW5hPC9hPgkJCShpbnQgY29kZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFVDU0lzVGhhaSI+eG1sVUNTSXNUaGFpPC9hPgkJCShpbnQgY29kZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFVDU0lzVGliZXRhbiI+eG1sVUNTSXNUaWJldGFuPC9hPgkJCShpbnQgY29kZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFVDU0lzVWdhcml0aWMiPnhtbFVDU0lzVWdhcml0aWM8L2E+CQkoaW50IGNvZGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxVQ1NJc1VuaWZpZWRDYW5hZGlhbkFib3JpZ2luYWxTeWxsYWJpY3MiPnhtbFVDU0lzVW5pZmllZENhbmFkaWFuQWJvcmlnaW5hbFN5bGxhYmljczwvYT4JKGludCBjb2RlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVUNTSXNWYXJpYXRpb25TZWxlY3RvcnMiPnhtbFVDU0lzVmFyaWF0aW9uU2VsZWN0b3JzPC9hPgkoaW50IGNvZGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxVQ1NJc1ZhcmlhdGlvblNlbGVjdG9yc1N1cHBsZW1lbnQiPnhtbFVDU0lzVmFyaWF0aW9uU2VsZWN0b3JzU3VwcGxlbWVudDwvYT4JKGludCBjb2RlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVUNTSXNZaVJhZGljYWxzIj54bWxVQ1NJc1lpUmFkaWNhbHM8L2E+CQkoaW50IGNvZGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxVQ1NJc1lpU3lsbGFibGVzIj54bWxVQ1NJc1lpU3lsbGFibGVzPC9hPgkJKGludCBjb2RlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVUNTSXNZaWppbmdIZXhhZ3JhbVN5bWJvbHMiPnhtbFVDU0lzWWlqaW5nSGV4YWdyYW1TeW1ib2xzPC9hPgkoaW50IGNvZGUpPC9wcmU+Cis8aDI+RGVzY3JpcHRpb248L2gyPgorPGgzPjxhIG5hbWU9InhtbFVDU0lzQWVnZWFuTnVtYmVycyIgaWQ9InhtbFVDU0lzQWVnZWFuTnVtYmVycyI+PC9hPkZ1bmN0aW9uOiB4bWxVQ1NJc0FlZ2Vhbk51bWJlcnM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNBZWdlYW5OdW1iZXJzCQkoaW50IGNvZGUpPGJyIC8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBBZWdlYW5OdW1iZXJzIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0FscGhhYmV0aWNQcmVzZW50YXRpb25Gb3JtcyIgaWQ9InhtbFVDU0lzQWxwaGFiZXRpY1ByZXNlbnRhdGlvbkZvcm1zIj48L2E+RnVuY3Rpb246IHhtbFVDU0lzQWxwaGFiZXRpY1ByZXNlbnRhdGlvbkZvcm1zPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzQWxwaGFiZXRpY1ByZXNlbnRhdGlvbkZvcm1zCShpbnQgY29kZSk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEFscGhhYmV0aWNQcmVzZW50YXRpb25Gb3JtcyBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVUNTSXNBcmFiaWMiIGlkPSJ4bWxVQ1NJc0FyYWJpYyI+PC9hPkZ1bmN0aW9uOiB4bWxVQ1NJc0FyYWJpYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0FyYWJpYwkJCShpbnQgY29kZSk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEFyYWJpYyBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVUNTSXNBcmFiaWNQcmVzZW50YXRpb25Gb3Jtc0EiIGlkPSJ4bWxVQ1NJc0FyYWJpY1ByZXNlbnRhdGlvbkZvcm1zQSI+PC9hPkZ1bmN0aW9uOiB4bWxVQ1NJc0FyYWJpY1ByZXNlbnRhdGlvbkZvcm1zQTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0FyYWJpY1ByZXNlbnRhdGlvbkZvcm1zQQkoaW50IGNvZGUpPGJyIC8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBBcmFiaWNQcmVzZW50YXRpb25Gb3Jtcy1BIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0FyYWJpY1ByZXNlbnRhdGlvbkZvcm1zQiIgaWQ9InhtbFVDU0lzQXJhYmljUHJlc2VudGF0aW9uRm9ybXNCIj48L2E+RnVuY3Rpb246IHhtbFVDU0lzQXJhYmljUHJlc2VudGF0aW9uRm9ybXNCPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzQXJhYmljUHJlc2VudGF0aW9uRm9ybXNCCShpbnQgY29kZSk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEFyYWJpY1ByZXNlbnRhdGlvbkZvcm1zLUIgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFVDU0lzQXJtZW5pYW4iIGlkPSJ4bWxVQ1NJc0FybWVuaWFuIj48L2E+RnVuY3Rpb246IHhtbFVDU0lzQXJtZW5pYW48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNBcm1lbmlhbgkJKGludCBjb2RlKTxiciAvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgQXJtZW5pYW4gVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFVDU0lzQXJyb3dzIiBpZD0ieG1sVUNTSXNBcnJvd3MiPjwvYT5GdW5jdGlvbjogeG1sVUNTSXNBcnJvd3M8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNBcnJvd3MJCQkoaW50IGNvZGUpPGJyIC8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBBcnJvd3MgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFVDU0lzQmFzaWNMYXRpbiIgaWQ9InhtbFVDU0lzQmFzaWNMYXRpbiI+PC9hPkZ1bmN0aW9uOiB4bWxVQ1NJc0Jhc2ljTGF0aW48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNCYXNpY0xhdGluCQkoaW50IGNvZGUpPGJyIC8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBCYXNpY0xhdGluIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0JlbmdhbGkiIGlkPSJ4bWxVQ1NJc0JlbmdhbGkiPjwvYT5GdW5jdGlvbjogeG1sVUNTSXNCZW5nYWxpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzQmVuZ2FsaQkJCShpbnQgY29kZSk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEJlbmdhbGkgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFVDU0lzQmxvY2siIGlkPSJ4bWxVQ1NJc0Jsb2NrIj48L2E+RnVuY3Rpb246IHhtbFVDU0lzQmxvY2s8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNCbG9jawkJCShpbnQgY29kZSwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGJsb2NrKTxiciAvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgdGhlIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ibG9jazwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGJsb2NrIG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSwgMCBpZiBmYWxzZSBhbmQgLTEgb24gdW5rbm93biBibG9jazwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFVDU0lzQmxvY2tFbGVtZW50cyIgaWQ9InhtbFVDU0lzQmxvY2tFbGVtZW50cyI+PC9hPkZ1bmN0aW9uOiB4bWxVQ1NJc0Jsb2NrRWxlbWVudHM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNCbG9ja0VsZW1lbnRzCQkoaW50IGNvZGUpPGJyIC8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBCbG9ja0VsZW1lbnRzIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0JvcG9tb2ZvIiBpZD0ieG1sVUNTSXNCb3BvbW9mbyI+PC9hPkZ1bmN0aW9uOiB4bWxVQ1NJc0JvcG9tb2ZvPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzQm9wb21vZm8JCShpbnQgY29kZSk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEJvcG9tb2ZvIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0JvcG9tb2ZvRXh0ZW5kZWQiIGlkPSJ4bWxVQ1NJc0JvcG9tb2ZvRXh0ZW5kZWQiPjwvYT5GdW5jdGlvbjogeG1sVUNTSXNCb3BvbW9mb0V4dGVuZGVkPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzQm9wb21vZm9FeHRlbmRlZAkoaW50IGNvZGUpPGJyIC8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBCb3BvbW9mb0V4dGVuZGVkIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0JveERyYXdpbmciIGlkPSJ4bWxVQ1NJc0JveERyYXdpbmciPjwvYT5GdW5jdGlvbjogeG1sVUNTSXNCb3hEcmF3aW5nPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzQm94RHJhd2luZwkJKGludCBjb2RlKTxiciAvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgQm94RHJhd2luZyBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVUNTSXNCcmFpbGxlUGF0dGVybnMiIGlkPSJ4bWxVQ1NJc0JyYWlsbGVQYXR0ZXJucyI+PC9hPkZ1bmN0aW9uOiB4bWxVQ1NJc0JyYWlsbGVQYXR0ZXJuczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0JyYWlsbGVQYXR0ZXJucwkJKGludCBjb2RlKTxiciAvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgQnJhaWxsZVBhdHRlcm5zIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0J1aGlkIiBpZD0ieG1sVUNTSXNCdWhpZCI+PC9hPkZ1bmN0aW9uOiB4bWxVQ1NJc0J1aGlkPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzQnVoaWQJCQkoaW50IGNvZGUpPGJyIC8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBCdWhpZCBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVUNTSXNCeXphbnRpbmVNdXNpY2FsU3ltYm9scyIgaWQ9InhtbFVDU0lzQnl6YW50aW5lTXVzaWNhbFN5bWJvbHMiPjwvYT5GdW5jdGlvbjogeG1sVUNTSXNCeXphbnRpbmVNdXNpY2FsU3ltYm9sczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0J5emFudGluZU11c2ljYWxTeW1ib2xzCShpbnQgY29kZSk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEJ5emFudGluZU11c2ljYWxTeW1ib2xzIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHkiIGlkPSJ4bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHkiPjwvYT5GdW5jdGlvbjogeG1sVUNTSXNDSktDb21wYXRpYmlsaXR5PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eQkoaW50IGNvZGUpPGJyIC8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBDSktDb21wYXRpYmlsaXR5IFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHlGb3JtcyIgaWQ9InhtbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eUZvcm1zIj48L2E+RnVuY3Rpb246IHhtbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eUZvcm1zPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eUZvcm1zCShpbnQgY29kZSk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIENKS0NvbXBhdGliaWxpdHlGb3JtcyBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVUNTSXNDSktDb21wYXRpYmlsaXR5SWRlb2dyYXBocyIgaWQ9InhtbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eUlkZW9ncmFwaHMiPjwvYT5GdW5jdGlvbjogeG1sVUNTSXNDSktDb21wYXRpYmlsaXR5SWRlb2dyYXBoczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHlJZGVvZ3JhcGhzCShpbnQgY29kZSk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIENKS0NvbXBhdGliaWxpdHlJZGVvZ3JhcGhzIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHlJZGVvZ3JhcGhzU3VwcGxlbWVudCIgaWQ9InhtbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eUlkZW9ncmFwaHNTdXBwbGVtZW50Ij48L2E+RnVuY3Rpb246IHhtbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eUlkZW9ncmFwaHNTdXBwbGVtZW50PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eUlkZW9ncmFwaHNTdXBwbGVtZW50CShpbnQgY29kZSk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIENKS0NvbXBhdGliaWxpdHlJZGVvZ3JhcGhzU3VwcGxlbWVudCBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVUNTSXNDSktSYWRpY2Fsc1N1cHBsZW1lbnQiIGlkPSJ4bWxVQ1NJc0NKS1JhZGljYWxzU3VwcGxlbWVudCI+PC9hPkZ1bmN0aW9uOiB4bWxVQ1NJc0NKS1JhZGljYWxzU3VwcGxlbWVudDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0NKS1JhZGljYWxzU3VwcGxlbWVudAkoaW50IGNvZGUpPGJyIC8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBDSktSYWRpY2Fsc1N1cHBsZW1lbnQgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFVDU0lzQ0pLU3ltYm9sc2FuZFB1bmN0dWF0aW9uIiBpZD0ieG1sVUNTSXNDSktTeW1ib2xzYW5kUHVuY3R1YXRpb24iPjwvYT5GdW5jdGlvbjogeG1sVUNTSXNDSktTeW1ib2xzYW5kUHVuY3R1YXRpb248L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNDSktTeW1ib2xzYW5kUHVuY3R1YXRpb24JKGludCBjb2RlKTxiciAvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgQ0pLU3ltYm9sc2FuZFB1bmN0dWF0aW9uIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0NKS1VuaWZpZWRJZGVvZ3JhcGhzIiBpZD0ieG1sVUNTSXNDSktVbmlmaWVkSWRlb2dyYXBocyI+PC9hPkZ1bmN0aW9uOiB4bWxVQ1NJc0NKS1VuaWZpZWRJZGVvZ3JhcGhzPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzQ0pLVW5pZmllZElkZW9ncmFwaHMJKGludCBjb2RlKTxiciAvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgQ0pLVW5pZmllZElkZW9ncmFwaHMgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFVDU0lzQ0pLVW5pZmllZElkZW9ncmFwaHNFeHRlbnNpb25BIiBpZD0ieG1sVUNTSXNDSktVbmlmaWVkSWRlb2dyYXBoc0V4dGVuc2lvbkEiPjwvYT5GdW5jdGlvbjogeG1sVUNTSXNDSktVbmlmaWVkSWRlb2dyYXBoc0V4dGVuc2lvbkE8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNDSktVbmlmaWVkSWRlb2dyYXBoc0V4dGVuc2lvbkEJKGludCBjb2RlKTxiciAvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgQ0pLVW5pZmllZElkZW9ncmFwaHNFeHRlbnNpb25BIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0NKS1VuaWZpZWRJZGVvZ3JhcGhzRXh0ZW5zaW9uQiIgaWQ9InhtbFVDU0lzQ0pLVW5pZmllZElkZW9ncmFwaHNFeHRlbnNpb25CIj48L2E+RnVuY3Rpb246IHhtbFVDU0lzQ0pLVW5pZmllZElkZW9ncmFwaHNFeHRlbnNpb25CPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzQ0pLVW5pZmllZElkZW9ncmFwaHNFeHRlbnNpb25CCShpbnQgY29kZSk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIENKS1VuaWZpZWRJZGVvZ3JhcGhzRXh0ZW5zaW9uQiBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVUNTSXNDYXQiIGlkPSJ4bWxVQ1NJc0NhdCI+PC9hPkZ1bmN0aW9uOiB4bWxVQ1NJc0NhdDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0NhdAkJCShpbnQgY29kZSwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGNhdCk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIHRoZSBVQ1MgQ2F0ZWdvcnk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y2F0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgQ2F0ZWdvcnkgbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlLCAwIGlmIGZhbHNlIGFuZCAtMSBvbiB1bmtub3duIGNhdGVnb3J5PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVUNTSXNDYXRDIiBpZD0ieG1sVUNTSXNDYXRDIj48L2E+RnVuY3Rpb246IHhtbFVDU0lzQ2F0QzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0NhdEMJCQkoaW50IGNvZGUpPGJyIC8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBDIFVDUyBDYXRlZ29yeTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0NhdENjIiBpZD0ieG1sVUNTSXNDYXRDYyI+PC9hPkZ1bmN0aW9uOiB4bWxVQ1NJc0NhdENjPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzQ2F0Q2MJCQkoaW50IGNvZGUpPGJyIC8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBDYyBVQ1MgQ2F0ZWdvcnk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVUNTSXNDYXRDZiIgaWQ9InhtbFVDU0lzQ2F0Q2YiPjwvYT5GdW5jdGlvbjogeG1sVUNTSXNDYXRDZjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0NhdENmCQkJKGludCBjb2RlKTxiciAvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgQ2YgVUNTIENhdGVnb3J5PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFVDU0lzQ2F0Q28iIGlkPSJ4bWxVQ1NJc0NhdENvIj48L2E+RnVuY3Rpb246IHhtbFVDU0lzQ2F0Q288L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNDYXRDbwkJCShpbnQgY29kZSk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIENvIFVDUyBDYXRlZ29yeTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0NhdENzIiBpZD0ieG1sVUNTSXNDYXRDcyI+PC9hPkZ1bmN0aW9uOiB4bWxVQ1NJc0NhdENzPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzQ2F0Q3MJCQkoaW50IGNvZGUpPGJyIC8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBDcyBVQ1MgQ2F0ZWdvcnk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVUNTSXNDYXRMIiBpZD0ieG1sVUNTSXNDYXRMIj48L2E+RnVuY3Rpb246IHhtbFVDU0lzQ2F0TDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0NhdEwJCQkoaW50IGNvZGUpPGJyIC8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBMIFVDUyBDYXRlZ29yeTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0NhdExsIiBpZD0ieG1sVUNTSXNDYXRMbCI+PC9hPkZ1bmN0aW9uOiB4bWxVQ1NJc0NhdExsPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzQ2F0TGwJCQkoaW50IGNvZGUpPGJyIC8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBMbCBVQ1MgQ2F0ZWdvcnk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVUNTSXNDYXRMbSIgaWQ9InhtbFVDU0lzQ2F0TG0iPjwvYT5GdW5jdGlvbjogeG1sVUNTSXNDYXRMbTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0NhdExtCQkJKGludCBjb2RlKTxiciAvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgTG0gVUNTIENhdGVnb3J5PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFVDU0lzQ2F0TG8iIGlkPSJ4bWxVQ1NJc0NhdExvIj48L2E+RnVuY3Rpb246IHhtbFVDU0lzQ2F0TG88L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNDYXRMbwkJCShpbnQgY29kZSk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIExvIFVDUyBDYXRlZ29yeTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0NhdEx0IiBpZD0ieG1sVUNTSXNDYXRMdCI+PC9hPkZ1bmN0aW9uOiB4bWxVQ1NJc0NhdEx0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzQ2F0THQJCQkoaW50IGNvZGUpPGJyIC8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBMdCBVQ1MgQ2F0ZWdvcnk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVUNTSXNDYXRMdSIgaWQ9InhtbFVDU0lzQ2F0THUiPjwvYT5GdW5jdGlvbjogeG1sVUNTSXNDYXRMdTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0NhdEx1CQkJKGludCBjb2RlKTxiciAvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgTHUgVUNTIENhdGVnb3J5PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFVDU0lzQ2F0TSIgaWQ9InhtbFVDU0lzQ2F0TSI+PC9hPkZ1bmN0aW9uOiB4bWxVQ1NJc0NhdE08L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNDYXRNCQkJKGludCBjb2RlKTxiciAvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgTSBVQ1MgQ2F0ZWdvcnk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVUNTSXNDYXRNYyIgaWQ9InhtbFVDU0lzQ2F0TWMiPjwvYT5GdW5jdGlvbjogeG1sVUNTSXNDYXRNYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0NhdE1jCQkJKGludCBjb2RlKTxiciAvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgTWMgVUNTIENhdGVnb3J5PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFVDU0lzQ2F0TWUiIGlkPSJ4bWxVQ1NJc0NhdE1lIj48L2E+RnVuY3Rpb246IHhtbFVDU0lzQ2F0TWU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNDYXRNZQkJCShpbnQgY29kZSk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIE1lIFVDUyBDYXRlZ29yeTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0NhdE1uIiBpZD0ieG1sVUNTSXNDYXRNbiI+PC9hPkZ1bmN0aW9uOiB4bWxVQ1NJc0NhdE1uPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzQ2F0TW4JCQkoaW50IGNvZGUpPGJyIC8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBNbiBVQ1MgQ2F0ZWdvcnk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVUNTSXNDYXROIiBpZD0ieG1sVUNTSXNDYXROIj48L2E+RnVuY3Rpb246IHhtbFVDU0lzQ2F0TjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0NhdE4JCQkoaW50IGNvZGUpPGJyIC8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBOIFVDUyBDYXRlZ29yeTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0NhdE5kIiBpZD0ieG1sVUNTSXNDYXROZCI+PC9hPkZ1bmN0aW9uOiB4bWxVQ1NJc0NhdE5kPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzQ2F0TmQJCQkoaW50IGNvZGUpPGJyIC8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBOZCBVQ1MgQ2F0ZWdvcnk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVUNTSXNDYXRObCIgaWQ9InhtbFVDU0lzQ2F0TmwiPjwvYT5GdW5jdGlvbjogeG1sVUNTSXNDYXRObDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0NhdE5sCQkJKGludCBjb2RlKTxiciAvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgTmwgVUNTIENhdGVnb3J5PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFVDU0lzQ2F0Tm8iIGlkPSJ4bWxVQ1NJc0NhdE5vIj48L2E+RnVuY3Rpb246IHhtbFVDU0lzQ2F0Tm88L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNDYXRObwkJCShpbnQgY29kZSk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIE5vIFVDUyBDYXRlZ29yeTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0NhdFAiIGlkPSJ4bWxVQ1NJc0NhdFAiPjwvYT5GdW5jdGlvbjogeG1sVUNTSXNDYXRQPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzQ2F0UAkJCShpbnQgY29kZSk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFAgVUNTIENhdGVnb3J5PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFVDU0lzQ2F0UGMiIGlkPSJ4bWxVQ1NJc0NhdFBjIj48L2E+RnVuY3Rpb246IHhtbFVDU0lzQ2F0UGM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNDYXRQYwkJCShpbnQgY29kZSk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFBjIFVDUyBDYXRlZ29yeTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0NhdFBkIiBpZD0ieG1sVUNTSXNDYXRQZCI+PC9hPkZ1bmN0aW9uOiB4bWxVQ1NJc0NhdFBkPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzQ2F0UGQJCQkoaW50IGNvZGUpPGJyIC8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBQZCBVQ1MgQ2F0ZWdvcnk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVUNTSXNDYXRQZSIgaWQ9InhtbFVDU0lzQ2F0UGUiPjwvYT5GdW5jdGlvbjogeG1sVUNTSXNDYXRQZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0NhdFBlCQkJKGludCBjb2RlKTxiciAvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgUGUgVUNTIENhdGVnb3J5PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFVDU0lzQ2F0UGYiIGlkPSJ4bWxVQ1NJc0NhdFBmIj48L2E+RnVuY3Rpb246IHhtbFVDU0lzQ2F0UGY8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNDYXRQZgkJCShpbnQgY29kZSk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFBmIFVDUyBDYXRlZ29yeTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0NhdFBpIiBpZD0ieG1sVUNTSXNDYXRQaSI+PC9hPkZ1bmN0aW9uOiB4bWxVQ1NJc0NhdFBpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzQ2F0UGkJCQkoaW50IGNvZGUpPGJyIC8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBQaSBVQ1MgQ2F0ZWdvcnk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVUNTSXNDYXRQbyIgaWQ9InhtbFVDU0lzQ2F0UG8iPjwvYT5GdW5jdGlvbjogeG1sVUNTSXNDYXRQbzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0NhdFBvCQkJKGludCBjb2RlKTxiciAvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgUG8gVUNTIENhdGVnb3J5PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFVDU0lzQ2F0UHMiIGlkPSJ4bWxVQ1NJc0NhdFBzIj48L2E+RnVuY3Rpb246IHhtbFVDU0lzQ2F0UHM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNDYXRQcwkJCShpbnQgY29kZSk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFBzIFVDUyBDYXRlZ29yeTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0NhdFMiIGlkPSJ4bWxVQ1NJc0NhdFMiPjwvYT5GdW5jdGlvbjogeG1sVUNTSXNDYXRTPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzQ2F0UwkJCShpbnQgY29kZSk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFMgVUNTIENhdGVnb3J5PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFVDU0lzQ2F0U2MiIGlkPSJ4bWxVQ1NJc0NhdFNjIj48L2E+RnVuY3Rpb246IHhtbFVDU0lzQ2F0U2M8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNDYXRTYwkJCShpbnQgY29kZSk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFNjIFVDUyBDYXRlZ29yeTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0NhdFNrIiBpZD0ieG1sVUNTSXNDYXRTayI+PC9hPkZ1bmN0aW9uOiB4bWxVQ1NJc0NhdFNrPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzQ2F0U2sJCQkoaW50IGNvZGUpPGJyIC8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBTayBVQ1MgQ2F0ZWdvcnk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVUNTSXNDYXRTbSIgaWQ9InhtbFVDU0lzQ2F0U20iPjwvYT5GdW5jdGlvbjogeG1sVUNTSXNDYXRTbTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0NhdFNtCQkJKGludCBjb2RlKTxiciAvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgU20gVUNTIENhdGVnb3J5PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFVDU0lzQ2F0U28iIGlkPSJ4bWxVQ1NJc0NhdFNvIj48L2E+RnVuY3Rpb246IHhtbFVDU0lzQ2F0U288L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNDYXRTbwkJCShpbnQgY29kZSk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFNvIFVDUyBDYXRlZ29yeTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0NhdFoiIGlkPSJ4bWxVQ1NJc0NhdFoiPjwvYT5GdW5jdGlvbjogeG1sVUNTSXNDYXRaPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzQ2F0WgkJCShpbnQgY29kZSk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFogVUNTIENhdGVnb3J5PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFVDU0lzQ2F0WmwiIGlkPSJ4bWxVQ1NJc0NhdFpsIj48L2E+RnVuY3Rpb246IHhtbFVDU0lzQ2F0Wmw8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNDYXRabAkJCShpbnQgY29kZSk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFpsIFVDUyBDYXRlZ29yeTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0NhdFpwIiBpZD0ieG1sVUNTSXNDYXRacCI+PC9hPkZ1bmN0aW9uOiB4bWxVQ1NJc0NhdFpwPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzQ2F0WnAJCQkoaW50IGNvZGUpPGJyIC8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBacCBVQ1MgQ2F0ZWdvcnk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVUNTSXNDYXRacyIgaWQ9InhtbFVDU0lzQ2F0WnMiPjwvYT5GdW5jdGlvbjogeG1sVUNTSXNDYXRaczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0NhdFpzCQkJKGludCBjb2RlKTxiciAvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgWnMgVUNTIENhdGVnb3J5PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFVDU0lzQ2hlcm9rZWUiIGlkPSJ4bWxVQ1NJc0NoZXJva2VlIj48L2E+RnVuY3Rpb246IHhtbFVDU0lzQ2hlcm9rZWU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNDaGVyb2tlZQkJKGludCBjb2RlKTxiciAvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgQ2hlcm9rZWUgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFVDU0lzQ29tYmluaW5nRGlhY3JpdGljYWxNYXJrcyIgaWQ9InhtbFVDU0lzQ29tYmluaW5nRGlhY3JpdGljYWxNYXJrcyI+PC9hPkZ1bmN0aW9uOiB4bWxVQ1NJc0NvbWJpbmluZ0RpYWNyaXRpY2FsTWFya3M8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNDb21iaW5pbmdEaWFjcml0aWNhbE1hcmtzCShpbnQgY29kZSk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIENvbWJpbmluZ0RpYWNyaXRpY2FsTWFya3MgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFVDU0lzQ29tYmluaW5nRGlhY3JpdGljYWxNYXJrc2ZvclN5bWJvbHMiIGlkPSJ4bWxVQ1NJc0NvbWJpbmluZ0RpYWNyaXRpY2FsTWFya3Nmb3JTeW1ib2xzIj48L2E+RnVuY3Rpb246IHhtbFVDU0lzQ29tYmluaW5nRGlhY3JpdGljYWxNYXJrc2ZvclN5bWJvbHM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNDb21iaW5pbmdEaWFjcml0aWNhbE1hcmtzZm9yU3ltYm9scwkoaW50IGNvZGUpPGJyIC8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBDb21iaW5pbmdEaWFjcml0aWNhbE1hcmtzZm9yU3ltYm9scyBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVUNTSXNDb21iaW5pbmdIYWxmTWFya3MiIGlkPSJ4bWxVQ1NJc0NvbWJpbmluZ0hhbGZNYXJrcyI+PC9hPkZ1bmN0aW9uOiB4bWxVQ1NJc0NvbWJpbmluZ0hhbGZNYXJrczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0NvbWJpbmluZ0hhbGZNYXJrcwkoaW50IGNvZGUpPGJyIC8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBDb21iaW5pbmdIYWxmTWFya3MgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFVDU0lzQ29tYmluaW5nTWFya3Nmb3JTeW1ib2xzIiBpZD0ieG1sVUNTSXNDb21iaW5pbmdNYXJrc2ZvclN5bWJvbHMiPjwvYT5GdW5jdGlvbjogeG1sVUNTSXNDb21iaW5pbmdNYXJrc2ZvclN5bWJvbHM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNDb21iaW5pbmdNYXJrc2ZvclN5bWJvbHMJKGludCBjb2RlKTxiciAvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgQ29tYmluaW5nTWFya3Nmb3JTeW1ib2xzIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0NvbnRyb2xQaWN0dXJlcyIgaWQ9InhtbFVDU0lzQ29udHJvbFBpY3R1cmVzIj48L2E+RnVuY3Rpb246IHhtbFVDU0lzQ29udHJvbFBpY3R1cmVzPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzQ29udHJvbFBpY3R1cmVzCQkoaW50IGNvZGUpPGJyIC8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBDb250cm9sUGljdHVyZXMgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFVDU0lzQ3VycmVuY3lTeW1ib2xzIiBpZD0ieG1sVUNTSXNDdXJyZW5jeVN5bWJvbHMiPjwvYT5GdW5jdGlvbjogeG1sVUNTSXNDdXJyZW5jeVN5bWJvbHM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNDdXJyZW5jeVN5bWJvbHMJCShpbnQgY29kZSk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEN1cnJlbmN5U3ltYm9scyBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVUNTSXNDeXByaW90U3lsbGFiYXJ5IiBpZD0ieG1sVUNTSXNDeXByaW90U3lsbGFiYXJ5Ij48L2E+RnVuY3Rpb246IHhtbFVDU0lzQ3lwcmlvdFN5bGxhYmFyeTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0N5cHJpb3RTeWxsYWJhcnkJKGludCBjb2RlKTxiciAvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgQ3lwcmlvdFN5bGxhYmFyeSBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVUNTSXNDeXJpbGxpYyIgaWQ9InhtbFVDU0lzQ3lyaWxsaWMiPjwvYT5GdW5jdGlvbjogeG1sVUNTSXNDeXJpbGxpYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0N5cmlsbGljCQkoaW50IGNvZGUpPGJyIC8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBDeXJpbGxpYyBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVUNTSXNDeXJpbGxpY1N1cHBsZW1lbnQiIGlkPSJ4bWxVQ1NJc0N5cmlsbGljU3VwcGxlbWVudCI+PC9hPkZ1bmN0aW9uOiB4bWxVQ1NJc0N5cmlsbGljU3VwcGxlbWVudDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0N5cmlsbGljU3VwcGxlbWVudAkoaW50IGNvZGUpPGJyIC8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBDeXJpbGxpY1N1cHBsZW1lbnQgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFVDU0lzRGVzZXJldCIgaWQ9InhtbFVDU0lzRGVzZXJldCI+PC9hPkZ1bmN0aW9uOiB4bWxVQ1NJc0Rlc2VyZXQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNEZXNlcmV0CQkJKGludCBjb2RlKTxiciAvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgRGVzZXJldCBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVUNTSXNEZXZhbmFnYXJpIiBpZD0ieG1sVUNTSXNEZXZhbmFnYXJpIj48L2E+RnVuY3Rpb246IHhtbFVDU0lzRGV2YW5hZ2FyaTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0RldmFuYWdhcmkJCShpbnQgY29kZSk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIERldmFuYWdhcmkgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFVDU0lzRGluZ2JhdHMiIGlkPSJ4bWxVQ1NJc0RpbmdiYXRzIj48L2E+RnVuY3Rpb246IHhtbFVDU0lzRGluZ2JhdHM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNEaW5nYmF0cwkJKGludCBjb2RlKTxiciAvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgRGluZ2JhdHMgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFVDU0lzRW5jbG9zZWRBbHBoYW51bWVyaWNzIiBpZD0ieG1sVUNTSXNFbmNsb3NlZEFscGhhbnVtZXJpY3MiPjwvYT5GdW5jdGlvbjogeG1sVUNTSXNFbmNsb3NlZEFscGhhbnVtZXJpY3M8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNFbmNsb3NlZEFscGhhbnVtZXJpY3MJKGludCBjb2RlKTxiciAvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgRW5jbG9zZWRBbHBoYW51bWVyaWNzIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0VuY2xvc2VkQ0pLTGV0dGVyc2FuZE1vbnRocyIgaWQ9InhtbFVDU0lzRW5jbG9zZWRDSktMZXR0ZXJzYW5kTW9udGhzIj48L2E+RnVuY3Rpb246IHhtbFVDU0lzRW5jbG9zZWRDSktMZXR0ZXJzYW5kTW9udGhzPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzRW5jbG9zZWRDSktMZXR0ZXJzYW5kTW9udGhzCShpbnQgY29kZSk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEVuY2xvc2VkQ0pLTGV0dGVyc2FuZE1vbnRocyBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVUNTSXNFdGhpb3BpYyIgaWQ9InhtbFVDU0lzRXRoaW9waWMiPjwvYT5GdW5jdGlvbjogeG1sVUNTSXNFdGhpb3BpYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0V0aGlvcGljCQkoaW50IGNvZGUpPGJyIC8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBFdGhpb3BpYyBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVUNTSXNHZW5lcmFsUHVuY3R1YXRpb24iIGlkPSJ4bWxVQ1NJc0dlbmVyYWxQdW5jdHVhdGlvbiI+PC9hPkZ1bmN0aW9uOiB4bWxVQ1NJc0dlbmVyYWxQdW5jdHVhdGlvbjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0dlbmVyYWxQdW5jdHVhdGlvbgkoaW50IGNvZGUpPGJyIC8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBHZW5lcmFsUHVuY3R1YXRpb24gVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFVDU0lzR2VvbWV0cmljU2hhcGVzIiBpZD0ieG1sVUNTSXNHZW9tZXRyaWNTaGFwZXMiPjwvYT5GdW5jdGlvbjogeG1sVUNTSXNHZW9tZXRyaWNTaGFwZXM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNHZW9tZXRyaWNTaGFwZXMJCShpbnQgY29kZSk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEdlb21ldHJpY1NoYXBlcyBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVUNTSXNHZW9yZ2lhbiIgaWQ9InhtbFVDU0lzR2VvcmdpYW4iPjwvYT5GdW5jdGlvbjogeG1sVUNTSXNHZW9yZ2lhbjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0dlb3JnaWFuCQkoaW50IGNvZGUpPGJyIC8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBHZW9yZ2lhbiBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVUNTSXNHb3RoaWMiIGlkPSJ4bWxVQ1NJc0dvdGhpYyI+PC9hPkZ1bmN0aW9uOiB4bWxVQ1NJc0dvdGhpYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0dvdGhpYwkJCShpbnQgY29kZSk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEdvdGhpYyBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVUNTSXNHcmVlayIgaWQ9InhtbFVDU0lzR3JlZWsiPjwvYT5GdW5jdGlvbjogeG1sVUNTSXNHcmVlazwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0dyZWVrCQkJKGludCBjb2RlKTxiciAvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgR3JlZWsgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFVDU0lzR3JlZWtFeHRlbmRlZCIgaWQ9InhtbFVDU0lzR3JlZWtFeHRlbmRlZCI+PC9hPkZ1bmN0aW9uOiB4bWxVQ1NJc0dyZWVrRXh0ZW5kZWQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNHcmVla0V4dGVuZGVkCQkoaW50IGNvZGUpPGJyIC8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBHcmVla0V4dGVuZGVkIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0dyZWVrYW5kQ29wdGljIiBpZD0ieG1sVUNTSXNHcmVla2FuZENvcHRpYyI+PC9hPkZ1bmN0aW9uOiB4bWxVQ1NJc0dyZWVrYW5kQ29wdGljPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzR3JlZWthbmRDb3B0aWMJCShpbnQgY29kZSk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEdyZWVrYW5kQ29wdGljIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0d1amFyYXRpIiBpZD0ieG1sVUNTSXNHdWphcmF0aSI+PC9hPkZ1bmN0aW9uOiB4bWxVQ1NJc0d1amFyYXRpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzR3VqYXJhdGkJCShpbnQgY29kZSk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEd1amFyYXRpIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0d1cm11a2hpIiBpZD0ieG1sVUNTSXNHdXJtdWtoaSI+PC9hPkZ1bmN0aW9uOiB4bWxVQ1NJc0d1cm11a2hpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzR3VybXVraGkJCShpbnQgY29kZSk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEd1cm11a2hpIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0hhbGZ3aWR0aGFuZEZ1bGx3aWR0aEZvcm1zIiBpZD0ieG1sVUNTSXNIYWxmd2lkdGhhbmRGdWxsd2lkdGhGb3JtcyI+PC9hPkZ1bmN0aW9uOiB4bWxVQ1NJc0hhbGZ3aWR0aGFuZEZ1bGx3aWR0aEZvcm1zPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzSGFsZndpZHRoYW5kRnVsbHdpZHRoRm9ybXMJKGludCBjb2RlKTxiciAvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgSGFsZndpZHRoYW5kRnVsbHdpZHRoRm9ybXMgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFVDU0lzSGFuZ3VsQ29tcGF0aWJpbGl0eUphbW8iIGlkPSJ4bWxVQ1NJc0hhbmd1bENvbXBhdGliaWxpdHlKYW1vIj48L2E+RnVuY3Rpb246IHhtbFVDU0lzSGFuZ3VsQ29tcGF0aWJpbGl0eUphbW88L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNIYW5ndWxDb21wYXRpYmlsaXR5SmFtbwkoaW50IGNvZGUpPGJyIC8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBIYW5ndWxDb21wYXRpYmlsaXR5SmFtbyBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVUNTSXNIYW5ndWxKYW1vIiBpZD0ieG1sVUNTSXNIYW5ndWxKYW1vIj48L2E+RnVuY3Rpb246IHhtbFVDU0lzSGFuZ3VsSmFtbzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0hhbmd1bEphbW8JCShpbnQgY29kZSk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEhhbmd1bEphbW8gVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFVDU0lzSGFuZ3VsU3lsbGFibGVzIiBpZD0ieG1sVUNTSXNIYW5ndWxTeWxsYWJsZXMiPjwvYT5GdW5jdGlvbjogeG1sVUNTSXNIYW5ndWxTeWxsYWJsZXM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNIYW5ndWxTeWxsYWJsZXMJCShpbnQgY29kZSk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEhhbmd1bFN5bGxhYmxlcyBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVUNTSXNIYW51bm9vIiBpZD0ieG1sVUNTSXNIYW51bm9vIj48L2E+RnVuY3Rpb246IHhtbFVDU0lzSGFudW5vbzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0hhbnVub28JCQkoaW50IGNvZGUpPGJyIC8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBIYW51bm9vIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0hlYnJldyIgaWQ9InhtbFVDU0lzSGVicmV3Ij48L2E+RnVuY3Rpb246IHhtbFVDU0lzSGVicmV3PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzSGVicmV3CQkJKGludCBjb2RlKTxiciAvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgSGVicmV3IFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0hpZ2hQcml2YXRlVXNlU3Vycm9nYXRlcyIgaWQ9InhtbFVDU0lzSGlnaFByaXZhdGVVc2VTdXJyb2dhdGVzIj48L2E+RnVuY3Rpb246IHhtbFVDU0lzSGlnaFByaXZhdGVVc2VTdXJyb2dhdGVzPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzSGlnaFByaXZhdGVVc2VTdXJyb2dhdGVzCShpbnQgY29kZSk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEhpZ2hQcml2YXRlVXNlU3Vycm9nYXRlcyBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVUNTSXNIaWdoU3Vycm9nYXRlcyIgaWQ9InhtbFVDU0lzSGlnaFN1cnJvZ2F0ZXMiPjwvYT5GdW5jdGlvbjogeG1sVUNTSXNIaWdoU3Vycm9nYXRlczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0hpZ2hTdXJyb2dhdGVzCQkoaW50IGNvZGUpPGJyIC8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBIaWdoU3Vycm9nYXRlcyBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVUNTSXNIaXJhZ2FuYSIgaWQ9InhtbFVDU0lzSGlyYWdhbmEiPjwvYT5GdW5jdGlvbjogeG1sVUNTSXNIaXJhZ2FuYTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0hpcmFnYW5hCQkoaW50IGNvZGUpPGJyIC8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBIaXJhZ2FuYSBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVUNTSXNJUEFFeHRlbnNpb25zIiBpZD0ieG1sVUNTSXNJUEFFeHRlbnNpb25zIj48L2E+RnVuY3Rpb246IHhtbFVDU0lzSVBBRXh0ZW5zaW9uczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0lQQUV4dGVuc2lvbnMJCShpbnQgY29kZSk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIElQQUV4dGVuc2lvbnMgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFVDU0lzSWRlb2dyYXBoaWNEZXNjcmlwdGlvbkNoYXJhY3RlcnMiIGlkPSJ4bWxVQ1NJc0lkZW9ncmFwaGljRGVzY3JpcHRpb25DaGFyYWN0ZXJzIj48L2E+RnVuY3Rpb246IHhtbFVDU0lzSWRlb2dyYXBoaWNEZXNjcmlwdGlvbkNoYXJhY3RlcnM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNJZGVvZ3JhcGhpY0Rlc2NyaXB0aW9uQ2hhcmFjdGVycwkoaW50IGNvZGUpPGJyIC8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBJZGVvZ3JhcGhpY0Rlc2NyaXB0aW9uQ2hhcmFjdGVycyBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVUNTSXNLYW5idW4iIGlkPSJ4bWxVQ1NJc0thbmJ1biI+PC9hPkZ1bmN0aW9uOiB4bWxVQ1NJc0thbmJ1bjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0thbmJ1bgkJCShpbnQgY29kZSk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEthbmJ1biBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVUNTSXNLYW5neGlSYWRpY2FscyIgaWQ9InhtbFVDU0lzS2FuZ3hpUmFkaWNhbHMiPjwvYT5GdW5jdGlvbjogeG1sVUNTSXNLYW5neGlSYWRpY2FsczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0thbmd4aVJhZGljYWxzCQkoaW50IGNvZGUpPGJyIC8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBLYW5neGlSYWRpY2FscyBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVUNTSXNLYW5uYWRhIiBpZD0ieG1sVUNTSXNLYW5uYWRhIj48L2E+RnVuY3Rpb246IHhtbFVDU0lzS2FubmFkYTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0thbm5hZGEJCQkoaW50IGNvZGUpPGJyIC8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBLYW5uYWRhIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0thdGFrYW5hIiBpZD0ieG1sVUNTSXNLYXRha2FuYSI+PC9hPkZ1bmN0aW9uOiB4bWxVQ1NJc0thdGFrYW5hPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzS2F0YWthbmEJCShpbnQgY29kZSk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEthdGFrYW5hIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0thdGFrYW5hUGhvbmV0aWNFeHRlbnNpb25zIiBpZD0ieG1sVUNTSXNLYXRha2FuYVBob25ldGljRXh0ZW5zaW9ucyI+PC9hPkZ1bmN0aW9uOiB4bWxVQ1NJc0thdGFrYW5hUGhvbmV0aWNFeHRlbnNpb25zPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzS2F0YWthbmFQaG9uZXRpY0V4dGVuc2lvbnMJKGludCBjb2RlKTxiciAvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgS2F0YWthbmFQaG9uZXRpY0V4dGVuc2lvbnMgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFVDU0lzS2htZXIiIGlkPSJ4bWxVQ1NJc0tobWVyIj48L2E+RnVuY3Rpb246IHhtbFVDU0lzS2htZXI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNLaG1lcgkJCShpbnQgY29kZSk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEtobWVyIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0tobWVyU3ltYm9scyIgaWQ9InhtbFVDU0lzS2htZXJTeW1ib2xzIj48L2E+RnVuY3Rpb246IHhtbFVDU0lzS2htZXJTeW1ib2xzPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzS2htZXJTeW1ib2xzCQkoaW50IGNvZGUpPGJyIC8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBLaG1lclN5bWJvbHMgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFVDU0lzTGFvIiBpZD0ieG1sVUNTSXNMYW8iPjwvYT5GdW5jdGlvbjogeG1sVUNTSXNMYW88L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNMYW8JCQkoaW50IGNvZGUpPGJyIC8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBMYW8gVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFVDU0lzTGF0aW4xU3VwcGxlbWVudCIgaWQ9InhtbFVDU0lzTGF0aW4xU3VwcGxlbWVudCI+PC9hPkZ1bmN0aW9uOiB4bWxVQ1NJc0xhdGluMVN1cHBsZW1lbnQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNMYXRpbjFTdXBwbGVtZW50CShpbnQgY29kZSk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIExhdGluLTFTdXBwbGVtZW50IFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0xhdGluRXh0ZW5kZWRBIiBpZD0ieG1sVUNTSXNMYXRpbkV4dGVuZGVkQSI+PC9hPkZ1bmN0aW9uOiB4bWxVQ1NJc0xhdGluRXh0ZW5kZWRBPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzTGF0aW5FeHRlbmRlZEEJCShpbnQgY29kZSk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIExhdGluRXh0ZW5kZWQtQSBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVUNTSXNMYXRpbkV4dGVuZGVkQWRkaXRpb25hbCIgaWQ9InhtbFVDU0lzTGF0aW5FeHRlbmRlZEFkZGl0aW9uYWwiPjwvYT5GdW5jdGlvbjogeG1sVUNTSXNMYXRpbkV4dGVuZGVkQWRkaXRpb25hbDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0xhdGluRXh0ZW5kZWRBZGRpdGlvbmFsCShpbnQgY29kZSk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIExhdGluRXh0ZW5kZWRBZGRpdGlvbmFsIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0xhdGluRXh0ZW5kZWRCIiBpZD0ieG1sVUNTSXNMYXRpbkV4dGVuZGVkQiI+PC9hPkZ1bmN0aW9uOiB4bWxVQ1NJc0xhdGluRXh0ZW5kZWRCPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzTGF0aW5FeHRlbmRlZEIJCShpbnQgY29kZSk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIExhdGluRXh0ZW5kZWQtQiBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVUNTSXNMZXR0ZXJsaWtlU3ltYm9scyIgaWQ9InhtbFVDU0lzTGV0dGVybGlrZVN5bWJvbHMiPjwvYT5GdW5jdGlvbjogeG1sVUNTSXNMZXR0ZXJsaWtlU3ltYm9sczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0xldHRlcmxpa2VTeW1ib2xzCShpbnQgY29kZSk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIExldHRlcmxpa2VTeW1ib2xzIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxVQ1NJc0xpbWJ1IiBpZD0ieG1sVUNTSXNMaW1idSI+PC9hPkZ1bmN0aW9uOiB4bWxVQ1NJc0xpbWJ1PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzTGltYnUJCQkoaW50IGNvZGUpPGJyIC8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBMaW1idSBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVUNTSXNMaW5lYXJCSWRlb2dyYW1zIiBpZD0ieG1sVUNTSXNMaW5lYXJCSWRlb2dyYW1zIj48L2E+RnVuY3Rpb246IHhtbFVDU0lzTGluZWFyQklkZW9ncmFtczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0xpbmVhckJJZGVvZ3JhbXMJKGludCBjb2RlKTxiciAvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgTGluZWFyQklkZW9ncmFtcyBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVUNTSXNMaW5lYXJCU3lsbGFiYXJ5IiBpZD0ieG1sVUNTSXNMaW5lYXJCU3lsbGFiYXJ5Ij48L2E+RnVuY3Rpb246IHhtbFVDU0lzTGluZWFyQlN5bGxhYmFyeTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0xpbmVhckJTeWxsYWJhcnkJKGludCBjb2RlKTxiciAvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgTGluZWFyQlN5bGxhYmFyeSBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVUNTSXNMb3dTdXJyb2dhdGVzIiBpZD0ieG1sVUNTSXNMb3dTdXJyb2dhdGVzIj48L2E+RnVuY3Rpb246IHhtbFVDU0lzTG93U3Vycm9nYXRlczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc0xvd1N1cnJvZ2F0ZXMJCShpbnQgY29kZSk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIExvd1N1cnJvZ2F0ZXMgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFVDU0lzTWFsYXlhbGFtIiBpZD0ieG1sVUNTSXNNYWxheWFsYW0iPjwvYT5GdW5jdGlvbjogeG1sVUNTSXNNYWxheWFsYW08L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNNYWxheWFsYW0JCShpbnQgY29kZSk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIE1hbGF5YWxhbSBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVUNTSXNNYXRoZW1hdGljYWxBbHBoYW51bWVyaWNTeW1ib2xzIiBpZD0ieG1sVUNTSXNNYXRoZW1hdGljYWxBbHBoYW51bWVyaWNTeW1ib2xzIj48L2E+RnVuY3Rpb246IHhtbFVDU0lzTWF0aGVtYXRpY2FsQWxwaGFudW1lcmljU3ltYm9sczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc01hdGhlbWF0aWNhbEFscGhhbnVtZXJpY1N5bWJvbHMJKGludCBjb2RlKTxiciAvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgTWF0aGVtYXRpY2FsQWxwaGFudW1lcmljU3ltYm9scyBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVUNTSXNNYXRoZW1hdGljYWxPcGVyYXRvcnMiIGlkPSJ4bWxVQ1NJc01hdGhlbWF0aWNhbE9wZXJhdG9ycyI+PC9hPkZ1bmN0aW9uOiB4bWxVQ1NJc01hdGhlbWF0aWNhbE9wZXJhdG9yczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc01hdGhlbWF0aWNhbE9wZXJhdG9ycwkoaW50IGNvZGUpPGJyIC8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBNYXRoZW1hdGljYWxPcGVyYXRvcnMgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFVDU0lzTWlzY2VsbGFuZW91c01hdGhlbWF0aWNhbFN5bWJvbHNBIiBpZD0ieG1sVUNTSXNNaXNjZWxsYW5lb3VzTWF0aGVtYXRpY2FsU3ltYm9sc0EiPjwvYT5GdW5jdGlvbjogeG1sVUNTSXNNaXNjZWxsYW5lb3VzTWF0aGVtYXRpY2FsU3ltYm9sc0E8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNNaXNjZWxsYW5lb3VzTWF0aGVtYXRpY2FsU3ltYm9sc0EJKGludCBjb2RlKTxiciAvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgTWlzY2VsbGFuZW91c01hdGhlbWF0aWNhbFN5bWJvbHMtQSBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVUNTSXNNaXNjZWxsYW5lb3VzTWF0aGVtYXRpY2FsU3ltYm9sc0IiIGlkPSJ4bWxVQ1NJc01pc2NlbGxhbmVvdXNNYXRoZW1hdGljYWxTeW1ib2xzQiI+PC9hPkZ1bmN0aW9uOiB4bWxVQ1NJc01pc2NlbGxhbmVvdXNNYXRoZW1hdGljYWxTeW1ib2xzQjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc01pc2NlbGxhbmVvdXNNYXRoZW1hdGljYWxTeW1ib2xzQgkoaW50IGNvZGUpPGJyIC8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBNaXNjZWxsYW5lb3VzTWF0aGVtYXRpY2FsU3ltYm9scy1CIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxVQ1NJc01pc2NlbGxhbmVvdXNTeW1ib2xzIiBpZD0ieG1sVUNTSXNNaXNjZWxsYW5lb3VzU3ltYm9scyI+PC9hPkZ1bmN0aW9uOiB4bWxVQ1NJc01pc2NlbGxhbmVvdXNTeW1ib2xzPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzTWlzY2VsbGFuZW91c1N5bWJvbHMJKGludCBjb2RlKTxiciAvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgTWlzY2VsbGFuZW91c1N5bWJvbHMgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFVDU0lzTWlzY2VsbGFuZW91c1N5bWJvbHNhbmRBcnJvd3MiIGlkPSJ4bWxVQ1NJc01pc2NlbGxhbmVvdXNTeW1ib2xzYW5kQXJyb3dzIj48L2E+RnVuY3Rpb246IHhtbFVDU0lzTWlzY2VsbGFuZW91c1N5bWJvbHNhbmRBcnJvd3M8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNNaXNjZWxsYW5lb3VzU3ltYm9sc2FuZEFycm93cwkoaW50IGNvZGUpPGJyIC8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBNaXNjZWxsYW5lb3VzU3ltYm9sc2FuZEFycm93cyBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVUNTSXNNaXNjZWxsYW5lb3VzVGVjaG5pY2FsIiBpZD0ieG1sVUNTSXNNaXNjZWxsYW5lb3VzVGVjaG5pY2FsIj48L2E+RnVuY3Rpb246IHhtbFVDU0lzTWlzY2VsbGFuZW91c1RlY2huaWNhbDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc01pc2NlbGxhbmVvdXNUZWNobmljYWwJKGludCBjb2RlKTxiciAvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgTWlzY2VsbGFuZW91c1RlY2huaWNhbCBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVUNTSXNNb25nb2xpYW4iIGlkPSJ4bWxVQ1NJc01vbmdvbGlhbiI+PC9hPkZ1bmN0aW9uOiB4bWxVQ1NJc01vbmdvbGlhbjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc01vbmdvbGlhbgkJKGludCBjb2RlKTxiciAvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgTW9uZ29saWFuIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxVQ1NJc011c2ljYWxTeW1ib2xzIiBpZD0ieG1sVUNTSXNNdXNpY2FsU3ltYm9scyI+PC9hPkZ1bmN0aW9uOiB4bWxVQ1NJc011c2ljYWxTeW1ib2xzPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzTXVzaWNhbFN5bWJvbHMJCShpbnQgY29kZSk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIE11c2ljYWxTeW1ib2xzIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxVQ1NJc015YW5tYXIiIGlkPSJ4bWxVQ1NJc015YW5tYXIiPjwvYT5GdW5jdGlvbjogeG1sVUNTSXNNeWFubWFyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzTXlhbm1hcgkJCShpbnQgY29kZSk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIE15YW5tYXIgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFVDU0lzTnVtYmVyRm9ybXMiIGlkPSJ4bWxVQ1NJc051bWJlckZvcm1zIj48L2E+RnVuY3Rpb246IHhtbFVDU0lzTnVtYmVyRm9ybXM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNOdW1iZXJGb3JtcwkJKGludCBjb2RlKTxiciAvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgTnVtYmVyRm9ybXMgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFVDU0lzT2doYW0iIGlkPSJ4bWxVQ1NJc09naGFtIj48L2E+RnVuY3Rpb246IHhtbFVDU0lzT2doYW08L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNPZ2hhbQkJCShpbnQgY29kZSk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIE9naGFtIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxVQ1NJc09sZEl0YWxpYyIgaWQ9InhtbFVDU0lzT2xkSXRhbGljIj48L2E+RnVuY3Rpb246IHhtbFVDU0lzT2xkSXRhbGljPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzT2xkSXRhbGljCQkoaW50IGNvZGUpPGJyIC8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBPbGRJdGFsaWMgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFVDU0lzT3B0aWNhbENoYXJhY3RlclJlY29nbml0aW9uIiBpZD0ieG1sVUNTSXNPcHRpY2FsQ2hhcmFjdGVyUmVjb2duaXRpb24iPjwvYT5GdW5jdGlvbjogeG1sVUNTSXNPcHRpY2FsQ2hhcmFjdGVyUmVjb2duaXRpb248L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNPcHRpY2FsQ2hhcmFjdGVyUmVjb2duaXRpb24JKGludCBjb2RlKTxiciAvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgT3B0aWNhbENoYXJhY3RlclJlY29nbml0aW9uIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxVQ1NJc09yaXlhIiBpZD0ieG1sVUNTSXNPcml5YSI+PC9hPkZ1bmN0aW9uOiB4bWxVQ1NJc09yaXlhPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzT3JpeWEJCQkoaW50IGNvZGUpPGJyIC8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBPcml5YSBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVUNTSXNPc21hbnlhIiBpZD0ieG1sVUNTSXNPc21hbnlhIj48L2E+RnVuY3Rpb246IHhtbFVDU0lzT3NtYW55YTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc09zbWFueWEJCQkoaW50IGNvZGUpPGJyIC8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBPc21hbnlhIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxVQ1NJc1Bob25ldGljRXh0ZW5zaW9ucyIgaWQ9InhtbFVDU0lzUGhvbmV0aWNFeHRlbnNpb25zIj48L2E+RnVuY3Rpb246IHhtbFVDU0lzUGhvbmV0aWNFeHRlbnNpb25zPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzUGhvbmV0aWNFeHRlbnNpb25zCShpbnQgY29kZSk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFBob25ldGljRXh0ZW5zaW9ucyBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVUNTSXNQcml2YXRlVXNlIiBpZD0ieG1sVUNTSXNQcml2YXRlVXNlIj48L2E+RnVuY3Rpb246IHhtbFVDU0lzUHJpdmF0ZVVzZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc1ByaXZhdGVVc2UJCShpbnQgY29kZSk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFByaXZhdGVVc2UgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFVDU0lzUHJpdmF0ZVVzZUFyZWEiIGlkPSJ4bWxVQ1NJc1ByaXZhdGVVc2VBcmVhIj48L2E+RnVuY3Rpb246IHhtbFVDU0lzUHJpdmF0ZVVzZUFyZWE8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNQcml2YXRlVXNlQXJlYQkJKGludCBjb2RlKTxiciAvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgUHJpdmF0ZVVzZUFyZWEgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFVDU0lzUnVuaWMiIGlkPSJ4bWxVQ1NJc1J1bmljIj48L2E+RnVuY3Rpb246IHhtbFVDU0lzUnVuaWM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNSdW5pYwkJCShpbnQgY29kZSk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFJ1bmljIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxVQ1NJc1NoYXZpYW4iIGlkPSJ4bWxVQ1NJc1NoYXZpYW4iPjwvYT5GdW5jdGlvbjogeG1sVUNTSXNTaGF2aWFuPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzU2hhdmlhbgkJCShpbnQgY29kZSk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFNoYXZpYW4gVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFVDU0lzU2luaGFsYSIgaWQ9InhtbFVDU0lzU2luaGFsYSI+PC9hPkZ1bmN0aW9uOiB4bWxVQ1NJc1NpbmhhbGE8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNTaW5oYWxhCQkJKGludCBjb2RlKTxiciAvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgU2luaGFsYSBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVUNTSXNTbWFsbEZvcm1WYXJpYW50cyIgaWQ9InhtbFVDU0lzU21hbGxGb3JtVmFyaWFudHMiPjwvYT5GdW5jdGlvbjogeG1sVUNTSXNTbWFsbEZvcm1WYXJpYW50czwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc1NtYWxsRm9ybVZhcmlhbnRzCShpbnQgY29kZSk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFNtYWxsRm9ybVZhcmlhbnRzIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxVQ1NJc1NwYWNpbmdNb2RpZmllckxldHRlcnMiIGlkPSJ4bWxVQ1NJc1NwYWNpbmdNb2RpZmllckxldHRlcnMiPjwvYT5GdW5jdGlvbjogeG1sVUNTSXNTcGFjaW5nTW9kaWZpZXJMZXR0ZXJzPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzU3BhY2luZ01vZGlmaWVyTGV0dGVycwkoaW50IGNvZGUpPGJyIC8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBTcGFjaW5nTW9kaWZpZXJMZXR0ZXJzIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxVQ1NJc1NwZWNpYWxzIiBpZD0ieG1sVUNTSXNTcGVjaWFscyI+PC9hPkZ1bmN0aW9uOiB4bWxVQ1NJc1NwZWNpYWxzPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzU3BlY2lhbHMJCShpbnQgY29kZSk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFNwZWNpYWxzIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxVQ1NJc1N1cGVyc2NyaXB0c2FuZFN1YnNjcmlwdHMiIGlkPSJ4bWxVQ1NJc1N1cGVyc2NyaXB0c2FuZFN1YnNjcmlwdHMiPjwvYT5GdW5jdGlvbjogeG1sVUNTSXNTdXBlcnNjcmlwdHNhbmRTdWJzY3JpcHRzPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzU3VwZXJzY3JpcHRzYW5kU3Vic2NyaXB0cwkoaW50IGNvZGUpPGJyIC8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBTdXBlcnNjcmlwdHNhbmRTdWJzY3JpcHRzIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxVQ1NJc1N1cHBsZW1lbnRhbEFycm93c0EiIGlkPSJ4bWxVQ1NJc1N1cHBsZW1lbnRhbEFycm93c0EiPjwvYT5GdW5jdGlvbjogeG1sVUNTSXNTdXBwbGVtZW50YWxBcnJvd3NBPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzU3VwcGxlbWVudGFsQXJyb3dzQQkoaW50IGNvZGUpPGJyIC8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBTdXBwbGVtZW50YWxBcnJvd3MtQSBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVUNTSXNTdXBwbGVtZW50YWxBcnJvd3NCIiBpZD0ieG1sVUNTSXNTdXBwbGVtZW50YWxBcnJvd3NCIj48L2E+RnVuY3Rpb246IHhtbFVDU0lzU3VwcGxlbWVudGFsQXJyb3dzQjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc1N1cHBsZW1lbnRhbEFycm93c0IJKGludCBjb2RlKTxiciAvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgU3VwcGxlbWVudGFsQXJyb3dzLUIgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFVDU0lzU3VwcGxlbWVudGFsTWF0aGVtYXRpY2FsT3BlcmF0b3JzIiBpZD0ieG1sVUNTSXNTdXBwbGVtZW50YWxNYXRoZW1hdGljYWxPcGVyYXRvcnMiPjwvYT5GdW5jdGlvbjogeG1sVUNTSXNTdXBwbGVtZW50YWxNYXRoZW1hdGljYWxPcGVyYXRvcnM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNTdXBwbGVtZW50YWxNYXRoZW1hdGljYWxPcGVyYXRvcnMJKGludCBjb2RlKTxiciAvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgU3VwcGxlbWVudGFsTWF0aGVtYXRpY2FsT3BlcmF0b3JzIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxVQ1NJc1N1cHBsZW1lbnRhcnlQcml2YXRlVXNlQXJlYUEiIGlkPSJ4bWxVQ1NJc1N1cHBsZW1lbnRhcnlQcml2YXRlVXNlQXJlYUEiPjwvYT5GdW5jdGlvbjogeG1sVUNTSXNTdXBwbGVtZW50YXJ5UHJpdmF0ZVVzZUFyZWFBPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzU3VwcGxlbWVudGFyeVByaXZhdGVVc2VBcmVhQQkoaW50IGNvZGUpPGJyIC8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBTdXBwbGVtZW50YXJ5UHJpdmF0ZVVzZUFyZWEtQSBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVUNTSXNTdXBwbGVtZW50YXJ5UHJpdmF0ZVVzZUFyZWFCIiBpZD0ieG1sVUNTSXNTdXBwbGVtZW50YXJ5UHJpdmF0ZVVzZUFyZWFCIj48L2E+RnVuY3Rpb246IHhtbFVDU0lzU3VwcGxlbWVudGFyeVByaXZhdGVVc2VBcmVhQjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc1N1cHBsZW1lbnRhcnlQcml2YXRlVXNlQXJlYUIJKGludCBjb2RlKTxiciAvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgU3VwcGxlbWVudGFyeVByaXZhdGVVc2VBcmVhLUIgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFVDU0lzU3lyaWFjIiBpZD0ieG1sVUNTSXNTeXJpYWMiPjwvYT5GdW5jdGlvbjogeG1sVUNTSXNTeXJpYWM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNTeXJpYWMJCQkoaW50IGNvZGUpPGJyIC8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBTeXJpYWMgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFVDU0lzVGFnYWxvZyIgaWQ9InhtbFVDU0lzVGFnYWxvZyI+PC9hPkZ1bmN0aW9uOiB4bWxVQ1NJc1RhZ2Fsb2c8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNUYWdhbG9nCQkJKGludCBjb2RlKTxiciAvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgVGFnYWxvZyBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVUNTSXNUYWdiYW53YSIgaWQ9InhtbFVDU0lzVGFnYmFud2EiPjwvYT5GdW5jdGlvbjogeG1sVUNTSXNUYWdiYW53YTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc1RhZ2JhbndhCQkoaW50IGNvZGUpPGJyIC8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBUYWdiYW53YSBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVUNTSXNUYWdzIiBpZD0ieG1sVUNTSXNUYWdzIj48L2E+RnVuY3Rpb246IHhtbFVDU0lzVGFnczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc1RhZ3MJCQkoaW50IGNvZGUpPGJyIC8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBUYWdzIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxVQ1NJc1RhaUxlIiBpZD0ieG1sVUNTSXNUYWlMZSI+PC9hPkZ1bmN0aW9uOiB4bWxVQ1NJc1RhaUxlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzVGFpTGUJCQkoaW50IGNvZGUpPGJyIC8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBUYWlMZSBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVUNTSXNUYWlYdWFuSmluZ1N5bWJvbHMiIGlkPSJ4bWxVQ1NJc1RhaVh1YW5KaW5nU3ltYm9scyI+PC9hPkZ1bmN0aW9uOiB4bWxVQ1NJc1RhaVh1YW5KaW5nU3ltYm9sczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc1RhaVh1YW5KaW5nU3ltYm9scwkoaW50IGNvZGUpPGJyIC8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBUYWlYdWFuSmluZ1N5bWJvbHMgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFVDU0lzVGFtaWwiIGlkPSJ4bWxVQ1NJc1RhbWlsIj48L2E+RnVuY3Rpb246IHhtbFVDU0lzVGFtaWw8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNUYW1pbAkJCShpbnQgY29kZSk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFRhbWlsIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxVQ1NJc1RlbHVndSIgaWQ9InhtbFVDU0lzVGVsdWd1Ij48L2E+RnVuY3Rpb246IHhtbFVDU0lzVGVsdWd1PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzVGVsdWd1CQkJKGludCBjb2RlKTxiciAvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgVGVsdWd1IFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxVQ1NJc1RoYWFuYSIgaWQ9InhtbFVDU0lzVGhhYW5hIj48L2E+RnVuY3Rpb246IHhtbFVDU0lzVGhhYW5hPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzVGhhYW5hCQkJKGludCBjb2RlKTxiciAvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgVGhhYW5hIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxVQ1NJc1RoYWkiIGlkPSJ4bWxVQ1NJc1RoYWkiPjwvYT5GdW5jdGlvbjogeG1sVUNTSXNUaGFpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzVGhhaQkJCShpbnQgY29kZSk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFRoYWkgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFVDU0lzVGliZXRhbiIgaWQ9InhtbFVDU0lzVGliZXRhbiI+PC9hPkZ1bmN0aW9uOiB4bWxVQ1NJc1RpYmV0YW48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNUaWJldGFuCQkJKGludCBjb2RlKTxiciAvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgVGliZXRhbiBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVUNTSXNVZ2FyaXRpYyIgaWQ9InhtbFVDU0lzVWdhcml0aWMiPjwvYT5GdW5jdGlvbjogeG1sVUNTSXNVZ2FyaXRpYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc1VnYXJpdGljCQkoaW50IGNvZGUpPGJyIC8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBVZ2FyaXRpYyBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVUNTSXNVbmlmaWVkQ2FuYWRpYW5BYm9yaWdpbmFsU3lsbGFiaWNzIiBpZD0ieG1sVUNTSXNVbmlmaWVkQ2FuYWRpYW5BYm9yaWdpbmFsU3lsbGFiaWNzIj48L2E+RnVuY3Rpb246IHhtbFVDU0lzVW5pZmllZENhbmFkaWFuQWJvcmlnaW5hbFN5bGxhYmljczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc1VuaWZpZWRDYW5hZGlhbkFib3JpZ2luYWxTeWxsYWJpY3MJKGludCBjb2RlKTxiciAvPgorPC9wcmU+PHA+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgVW5pZmllZENhbmFkaWFuQWJvcmlnaW5hbFN5bGxhYmljcyBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVUNTSXNWYXJpYXRpb25TZWxlY3RvcnMiIGlkPSJ4bWxVQ1NJc1ZhcmlhdGlvblNlbGVjdG9ycyI+PC9hPkZ1bmN0aW9uOiB4bWxVQ1NJc1ZhcmlhdGlvblNlbGVjdG9yczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxVQ1NJc1ZhcmlhdGlvblNlbGVjdG9ycwkoaW50IGNvZGUpPGJyIC8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBWYXJpYXRpb25TZWxlY3RvcnMgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFVDU0lzVmFyaWF0aW9uU2VsZWN0b3JzU3VwcGxlbWVudCIgaWQ9InhtbFVDU0lzVmFyaWF0aW9uU2VsZWN0b3JzU3VwcGxlbWVudCI+PC9hPkZ1bmN0aW9uOiB4bWxVQ1NJc1ZhcmlhdGlvblNlbGVjdG9yc1N1cHBsZW1lbnQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNWYXJpYXRpb25TZWxlY3RvcnNTdXBwbGVtZW50CShpbnQgY29kZSk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFZhcmlhdGlvblNlbGVjdG9yc1N1cHBsZW1lbnQgVUNTIEJsb2NrPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VUNTIGNvZGUgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdHJ1ZSAwIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFVDU0lzWWlSYWRpY2FscyIgaWQ9InhtbFVDU0lzWWlSYWRpY2FscyI+PC9hPkZ1bmN0aW9uOiB4bWxVQ1NJc1lpUmFkaWNhbHM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVUNTSXNZaVJhZGljYWxzCQkoaW50IGNvZGUpPGJyIC8+Cis8L3ByZT48cD5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBZaVJhZGljYWxzIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxVQ1NJc1lpU3lsbGFibGVzIiBpZD0ieG1sVUNTSXNZaVN5bGxhYmxlcyI+PC9hPkZ1bmN0aW9uOiB4bWxVQ1NJc1lpU3lsbGFibGVzPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzWWlTeWxsYWJsZXMJCShpbnQgY29kZSk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFlpU3lsbGFibGVzIFVDUyBCbG9jazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlVDUyBjb2RlIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRydWUgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxVQ1NJc1lpamluZ0hleGFncmFtU3ltYm9scyIgaWQ9InhtbFVDU0lzWWlqaW5nSGV4YWdyYW1TeW1ib2xzIj48L2E+RnVuY3Rpb246IHhtbFVDU0lzWWlqaW5nSGV4YWdyYW1TeW1ib2xzPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFVDU0lzWWlqaW5nSGV4YWdyYW1TeW1ib2xzCShpbnQgY29kZSk8YnIgLz4KKzwvcHJlPjxwPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFlpamluZ0hleGFncmFtU3ltYm9scyBVQ1MgQmxvY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5VQ1MgY29kZSBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48cD48YSBocmVmPSIuLi9idWdzLmh0bWwiPkRhbmllbCBWZWlsbGFyZDwvYT48L3A+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2h0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCBiL2xpYnhtbDIvZG9jL2h0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMGU5ZjBlCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvaHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sCkBAIC0wLDAgKzEsNjMgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+PGxpbmsgcmVsPSJTSE9SVENVVCBJQ09OIiBocmVmPSIvZmF2aWNvbi5pY28iIC8+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK1REIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitCT0RZIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2E7IG1hcmdpbi10b3A6IDJlbTsgbWFyZ2luLWxlZnQ6IDBlbTsgbWFyZ2luLXJpZ2h0OiAwZW19CitIMSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDIge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gzIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitBOmxpbmssIEE6dmlzaXRlZCwgQTphY3RpdmUgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB9Cis8L3N0eWxlPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAgICBkaXYuZGVwcmVjYXRlZCBwcmUucHJvZ3JhbWxpc3Rpbmcge2JvcmRlci1zdHlsZTogZG91YmxlO2JvcmRlci1jb2xvcjpyZWR9CisgICAgICBwcmUucHJvZ3JhbWxpc3Rpbmcge2JvcmRlci1zdHlsZTogZG91YmxlO2JhY2tncm91bmQ6ICNFRUNGQTF9CisgICAgPC9zdHlsZT48dGl0bGU+TW9kdWxlIHhtbHZlcnNpb24gZnJvbSBsaWJ4bWwyPC90aXRsZT48L2hlYWQ+PGJvZHkgYmdjb2xvcj0iIzhiNzc2NSIgdGV4dD0iIzAwMDAwMCIgbGluaz0iI2EwNjA2MCIgdmxpbms9IiMwMDAwMDAiPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSIxMDAlIiBjZWxscGFkZGluZz0iNSIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgd2lkdGg9IjEyMCI+PGEgaHJlZj0iaHR0cDovL3N3cGF0LmZmaWkub3JnLyI+PGltZyBzcmM9Ii4uL2VwYXRlbnRzLnBuZyIgYWx0PSJBY3Rpb24gYWdhaW5zdCBzb2Z0d2FyZSBwYXRlbnRzIiAvPjwvYT48L3RkPjx0ZCB3aWR0aD0iMTgwIj48YSBocmVmPSJodHRwOi8vd3d3Lmdub21lLm9yZy8iPjxpbWcgc3JjPSIuLi9nbm9tZTIucG5nIiBhbHQ9Ikdub21lMiBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9TdGF0dXMiPjxpbWcgc3JjPSIuLi93M2MucG5nIiBhbHQ9IlczQyBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnJlZGhhdC5jb20vIj48aW1nIHNyYz0iLi4vcmVkaGF0LmdpZiIgYWx0PSJSZWQgSGF0IExvZ28iIC8+PC9hPjxkaXYgYWxpZ249ImxlZnQiPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy8iPjxpbWcgc3JjPSIuLi9MaWJ4bWwyLUxvZ28tMTgweDE2OC5naWYiIGFsdD0iTWFkZSB3aXRoIExpYnhtbDIgTG9nbyIgLz48L2E+PC9kaXY+PC90ZD48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjkwJSIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiIGJnY29sb3I9IiNmZmZhY2QiPjx0cj48dGQgYWxpZ249ImNlbnRlciI+PGgxPjwvaDE+PGgyPk1vZHVsZSB4bWx2ZXJzaW9uIGZyb20gbGlieG1sMjwvaDI+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjQiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiIHdpZHRoPSIxMDAlIj48dHI+PHRkIHZhbGlnbj0idG9wIiB3aWR0aD0iMjAwIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5BUEkgTWVudTwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48Zm9ybSBhY3Rpb249Ii4uL3NlYXJjaC5waHAiIGVuY3R5cGU9ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIgbWV0aG9kPSJnZXQiPjxpbnB1dCBuYW1lPSJxdWVyeSIgdHlwZT0idGV4dCIgc2l6ZT0iMjAiIHZhbHVlPSIiIC8+PGlucHV0IG5hbWU9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU2VhcmNoIC4uLiIgLz48L2Zvcm0+PHVsPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iLi4vaW5kZXguaHRtbCI+TWFpbiBNZW51PC9hPjwvbGk+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSIuLi9kb2NzLmh0bWwiPkRldmVsb3BlciBNZW51PC9hPjwvbGk+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSIuLi9leGFtcGxlcy9pbmRleC5odG1sIj5Db2RlIEV4YW1wbGVzPC9hPjwvbGk+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSJpbmRleC5odG1sIj5BUEkgTWVudTwvYT48L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwiPlBhcnNlciBBUEk8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCI+VHJlZSBBUEk8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sIj5SZWFkZXIgQVBJPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL2d1aWRlbGluZXMuaHRtbCI+WE1MIEd1aWRlbGluZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQ2hhbmdlTG9nLmh0bWwiPkNoYW5nZUxvZzwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPkFQSSBJbmRleGVzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iLi4vQVBJY2h1bmswLmh0bWwiPkFscGhhYmV0aWM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJY29uc3RydWN0b3JzLmh0bWwiPkNvbnN0cnVjdG9yczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUElmdW5jdGlvbnMuaHRtbCI+RnVuY3Rpb25zL1R5cGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSWZpbGVzLmh0bWwiPk1vZHVsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJc3ltYm9scy5odG1sIj5TeW1ib2xzPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+UmVsYXRlZCBsaW5rczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9Imh0dHA6Ly9tYWlsLmdub21lLm9yZy9hcmNoaXZlcy94bWwvIj5NYWlsIGFyY2hpdmU8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnL1hTTFQvIj5YU0xUIGxpYnhzbHQ8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3BoZC5jcy51bmliby5pdC9nZG9tZTIvIj5ET00gZ2RvbWUyPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuYWxla3NleS5jb20veG1sc2VjLyI+WE1MLURTaWcgeG1sc2VjPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImZ0cDovL3htbHNvZnQub3JnLyI+RlRQPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemxhdGtvdmljLmNvbS9wcm9qZWN0cy9saWJ4bWwvIj5XaW5kb3dzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9vcGVuY3N3Lm9yZy9wYWNrYWdlcy9saWJ4bWwyIj5Tb2xhcmlzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuZXhwbGFpbi5jb20uYXUvb3NzL2xpYnhtbDJ4c2x0Lmh0bWwiPk1hY09zWCBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbHhtbC5kZS8iPmx4bWwgUHl0aG9uIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9jcGFuLnV3aW5uaXBlZy5jYS9kaXN0L1hNTC1MaWJYTUwiPlBlcmwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbHBsdXNwbHVzLnNvdXJjZWZvcmdlLm5ldC8iPkMrKyBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnplbmQuY29tL3BocDUvYXJ0aWNsZXMvcGhwNS14bWxwaHAucGhwI0hlYWRpbmc0Ij5QSFAgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9saWJ4bWwyLXBhcy8iPlBhc2NhbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1sLnJ1Ynlmb3JnZS5vcmcvIj5SdWJ5IGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly90Y2x4bWwuc291cmNlZm9yZ2UubmV0LyI+VGNsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvYnVnbGlzdC5jZ2k/cHJvZHVjdD1saWJ4bWwyIj5CdWcgVHJhY2tlcjwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMyIgY2VsbHNwYWNpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx0YWJsZSBjbGFzcz0ibmF2aWdhdGlvbiIgd2lkdGg9IjEwMCUiIHN1bW1hcnk9Ik5hdmlnYXRpb24gaGVhZGVyIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjIiPjx0ciB2YWxpZ249Im1pZGRsZSI+PHRkPjxhIGFjY2Vzc2tleT0icCIgaHJlZj0ibGlieG1sLXhtbHVuaWNvZGUuaHRtbCI+PGltZyBzcmM9ImxlZnQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJQcmV2IiAvPjwvYT48L3RkPjx0aCBhbGlnbj0ibGVmdCI+PGEgaHJlZj0ibGlieG1sLXhtbHVuaWNvZGUuaHRtbCI+eG1sdW5pY29kZTwvYT48L3RoPjx0ZD48YSBhY2Nlc3NrZXk9InUiIGhyZWY9ImluZGV4Lmh0bWwiPjxpbWcgc3JjPSJ1cC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlVwIiAvPjwvYT48L3RkPjx0aCBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iaW5kZXguaHRtbCI+QVBJIGRvY3VtZW50YXRpb248L2E+PC90aD48dGQ+PGEgYWNjZXNza2V5PSJoIiBocmVmPSIuLi9pbmRleC5odG1sIj48aW1nIHNyYz0iaG9tZS5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IkhvbWUiIC8+PC9hPjwvdGQ+PHRoIGFsaWduPSJjZW50ZXIiPjxhIGhyZWY9Ii4uL2luZGV4Lmh0bWwiPlRoZSBYTUwgQyBwYXJzZXIgYW5kIHRvb2xraXQgb2YgR25vbWU8L2E+PC90aD48dGggYWxpZ249InJpZ2h0Ij48YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwiPnhtbHdyaXRlcjwvYT48L3RoPjx0ZD48YSBhY2Nlc3NrZXk9Im4iIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCI+PGltZyBzcmM9InJpZ2h0LnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iTmV4dCIgLz48L2E+PC90ZD48L3RyPjwvdGFibGU+PHA+Y29tcGlsZS10aW1lIHZlcnNpb24gaW5mb3JtYXRpb25zIGZvciB0aGUgWE1MIGxpYnJhcnkgPC9wPjxoMj5UYWJsZSBvZiBDb250ZW50czwvaDI+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI0FUVFJJQlVURV9VTlVTRUQiPkFUVFJJQlVURV9VTlVTRUQ8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI0RFQlVHX01FTU9SWV9MT0NBVElPTiI+REVCVUdfTUVNT1JZX0xPQ0FUSU9OPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNMSUJYTUxfQVRUUl9BTExPQ19TSVpFIj5MSUJYTUxfQVRUUl9BTExPQ19TSVpFPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNMSUJYTUxfQVRUUl9GT1JNQVQiPkxJQlhNTF9BVFRSX0ZPUk1BVDwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjTElCWE1MX0FVVE9NQVRBX0VOQUJMRUQiPkxJQlhNTF9BVVRPTUFUQV9FTkFCTEVEPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNMSUJYTUxfQzE0Tl9FTkFCTEVEIj5MSUJYTUxfQzE0Tl9FTkFCTEVEPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNMSUJYTUxfQ0FUQUxPR19FTkFCTEVEIj5MSUJYTUxfQ0FUQUxPR19FTkFCTEVEPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNMSUJYTUxfREVCVUdfRU5BQkxFRCI+TElCWE1MX0RFQlVHX0VOQUJMRUQ8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI0xJQlhNTF9ERUJVR19SVU5USU1FIj5MSUJYTUxfREVCVUdfUlVOVElNRTwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjTElCWE1MX0RPQ0JfRU5BQkxFRCI+TElCWE1MX0RPQ0JfRU5BQkxFRDwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjTElCWE1MX0RPVFRFRF9WRVJTSU9OIj5MSUJYTUxfRE9UVEVEX1ZFUlNJT048L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI0xJQlhNTF9FWFBSX0VOQUJMRUQiPkxJQlhNTF9FWFBSX0VOQUJMRUQ8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI0xJQlhNTF9GVFBfRU5BQkxFRCI+TElCWE1MX0ZUUF9FTkFCTEVEPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNMSUJYTUxfSFRNTF9FTkFCTEVEIj5MSUJYTUxfSFRNTF9FTkFCTEVEPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNMSUJYTUxfSFRUUF9FTkFCTEVEIj5MSUJYTUxfSFRUUF9FTkFCTEVEPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNMSUJYTUxfSUNPTlZfRU5BQkxFRCI+TElCWE1MX0lDT05WX0VOQUJMRUQ8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI0xJQlhNTF9JQ1VfRU5BQkxFRCI+TElCWE1MX0lDVV9FTkFCTEVEPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNMSUJYTUxfSVNPODg1OVhfRU5BQkxFRCI+TElCWE1MX0lTTzg4NTlYX0VOQUJMRUQ8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI0xJQlhNTF9MRUdBQ1lfRU5BQkxFRCI+TElCWE1MX0xFR0FDWV9FTkFCTEVEPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNMSUJYTUxfTFpNQV9FTkFCTEVEIj5MSUJYTUxfTFpNQV9FTkFCTEVEPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNMSUJYTUxfTU9EVUxFU19FTkFCTEVEIj5MSUJYTUxfTU9EVUxFU19FTkFCTEVEPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNMSUJYTUxfTU9EVUxFX0VYVEVOU0lPTiI+TElCWE1MX01PRFVMRV9FWFRFTlNJT048L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI0xJQlhNTF9PVVRQVVRfRU5BQkxFRCI+TElCWE1MX09VVFBVVF9FTkFCTEVEPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNMSUJYTUxfUEFUVEVSTl9FTkFCTEVEIj5MSUJYTUxfUEFUVEVSTl9FTkFCTEVEPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNMSUJYTUxfUFVTSF9FTkFCTEVEIj5MSUJYTUxfUFVTSF9FTkFCTEVEPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNMSUJYTUxfUkVBREVSX0VOQUJMRUQiPkxJQlhNTF9SRUFERVJfRU5BQkxFRDwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjTElCWE1MX1JFR0VYUF9FTkFCTEVEIj5MSUJYTUxfUkVHRVhQX0VOQUJMRUQ8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI0xJQlhNTF9TQVgxX0VOQUJMRUQiPkxJQlhNTF9TQVgxX0VOQUJMRUQ8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI0xJQlhNTF9TQ0hFTUFTX0VOQUJMRUQiPkxJQlhNTF9TQ0hFTUFTX0VOQUJMRUQ8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI0xJQlhNTF9TQ0hFTUFUUk9OX0VOQUJMRUQiPkxJQlhNTF9TQ0hFTUFUUk9OX0VOQUJMRUQ8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI0xJQlhNTF9URVNUX1ZFUlNJT04iPkxJQlhNTF9URVNUX1ZFUlNJT048L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI0xJQlhNTF9USFJFQURfQUxMT0NfRU5BQkxFRCI+TElCWE1MX1RIUkVBRF9BTExPQ19FTkFCTEVEPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNMSUJYTUxfVEhSRUFEX0VOQUJMRUQiPkxJQlhNTF9USFJFQURfRU5BQkxFRDwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjTElCWE1MX1RSRUVfRU5BQkxFRCI+TElCWE1MX1RSRUVfRU5BQkxFRDwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjTElCWE1MX1VOSUNPREVfRU5BQkxFRCI+TElCWE1MX1VOSUNPREVfRU5BQkxFRDwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjTElCWE1MX1ZBTElEX0VOQUJMRUQiPkxJQlhNTF9WQUxJRF9FTkFCTEVEPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNMSUJYTUxfVkVSU0lPTiI+TElCWE1MX1ZFUlNJT048L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI0xJQlhNTF9WRVJTSU9OX0VYVFJBIj5MSUJYTUxfVkVSU0lPTl9FWFRSQTwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjTElCWE1MX1ZFUlNJT05fU1RSSU5HIj5MSUJYTUxfVkVSU0lPTl9TVFJJTkc8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI0xJQlhNTF9XUklURVJfRU5BQkxFRCI+TElCWE1MX1dSSVRFUl9FTkFCTEVEPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNMSUJYTUxfWElOQ0xVREVfRU5BQkxFRCI+TElCWE1MX1hJTkNMVURFX0VOQUJMRUQ8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI0xJQlhNTF9YUEFUSF9FTkFCTEVEIj5MSUJYTUxfWFBBVEhfRU5BQkxFRDwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjTElCWE1MX1hQVFJfRU5BQkxFRCI+TElCWE1MX1hQVFJfRU5BQkxFRDwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjTElCWE1MX1pMSUJfRU5BQkxFRCI+TElCWE1MX1pMSUJfRU5BQkxFRDwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjV0lUSE9VVF9UUklPIj5XSVRIT1VUX1RSSU88L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1dJVEhfVFJJTyI+V0lUSF9UUklPPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxDaGVja1ZlcnNpb24iPnhtbENoZWNrVmVyc2lvbjwvYT4JCQkoaW50IHZlcnNpb24pPC9wcmU+Cis8aDI+RGVzY3JpcHRpb248L2gyPgorPGgzPjxhIG5hbWU9IkFUVFJJQlVURV9VTlVTRUQiIGlkPSJBVFRSSUJVVEVfVU5VU0VEIj48L2E+TWFjcm86IEFUVFJJQlVURV9VTlVTRUQ8L2gzPjxwcmU+I2RlZmluZSBBVFRSSUJVVEVfVU5VU0VEPC9wcmU+PHA+TWFjcm8gdXNlZCB0byBzaWduYWwgdG8gR0NDIHVudXNlZCBmdW5jdGlvbiBwYXJhbWV0ZXJzPC9wPgorPGgzPjxhIG5hbWU9IkRFQlVHX01FTU9SWV9MT0NBVElPTiIgaWQ9IkRFQlVHX01FTU9SWV9MT0NBVElPTiI+PC9hPk1hY3JvOiBERUJVR19NRU1PUllfTE9DQVRJT048L2gzPjxwcmU+I2RlZmluZSBERUJVR19NRU1PUllfTE9DQVRJT048L3ByZT48cD5XaGV0aGVyIHRoZSBtZW1vcnkgZGVidWdnaW5nIGlzIGNvbmZpZ3VyZWQgaW48L3A+Cis8aDM+PGEgbmFtZT0iTElCWE1MX0FUVFJfQUxMT0NfU0laRSIgaWQ9IkxJQlhNTF9BVFRSX0FMTE9DX1NJWkUiPjwvYT5NYWNybzogTElCWE1MX0FUVFJfQUxMT0NfU0laRTwvaDM+PHByZT4jZGVmaW5lIExJQlhNTF9BVFRSX0FMTE9DX1NJWkU8L3ByZT48cD5NYWNybyB1c2VkIHRvIGluZGljYXRlIHRvIEdDQyB0aGlzIGlzIGFuIGFsbG9jYXRvciBmdW5jdGlvbjwvcD4KKzxoMz48YSBuYW1lPSJMSUJYTUxfQVRUUl9GT1JNQVQiIGlkPSJMSUJYTUxfQVRUUl9GT1JNQVQiPjwvYT5NYWNybzogTElCWE1MX0FUVFJfRk9STUFUPC9oMz48cHJlPiNkZWZpbmUgTElCWE1MX0FUVFJfRk9STUFUPC9wcmU+PHA+TWFjcm8gdXNlZCB0byBpbmRpY2F0ZSB0byBHQ0MgdGhlIHBhcmFtZXRlciBhcmUgcHJpbnRmIGxpa2U8L3A+Cis8aDM+PGEgbmFtZT0iTElCWE1MX0FVVE9NQVRBX0VOQUJMRUQiIGlkPSJMSUJYTUxfQVVUT01BVEFfRU5BQkxFRCI+PC9hPk1hY3JvOiBMSUJYTUxfQVVUT01BVEFfRU5BQkxFRDwvaDM+PHByZT4jZGVmaW5lIExJQlhNTF9BVVRPTUFUQV9FTkFCTEVEPC9wcmU+PHA+V2hldGhlciB0aGUgYXV0b21hdGEgaW50ZXJmYWNlcyBhcmUgY29tcGlsZWQgaW48L3A+Cis8aDM+PGEgbmFtZT0iTElCWE1MX0MxNE5fRU5BQkxFRCIgaWQ9IkxJQlhNTF9DMTROX0VOQUJMRUQiPjwvYT5NYWNybzogTElCWE1MX0MxNE5fRU5BQkxFRDwvaDM+PHByZT4jZGVmaW5lIExJQlhNTF9DMTROX0VOQUJMRUQ8L3ByZT48cD5XaGV0aGVyIHRoZSBDYW5vbmljYWxpemF0aW9uIHN1cHBvcnQgaXMgY29uZmlndXJlZCBpbjwvcD4KKzxoMz48YSBuYW1lPSJMSUJYTUxfQ0FUQUxPR19FTkFCTEVEIiBpZD0iTElCWE1MX0NBVEFMT0dfRU5BQkxFRCI+PC9hPk1hY3JvOiBMSUJYTUxfQ0FUQUxPR19FTkFCTEVEPC9oMz48cHJlPiNkZWZpbmUgTElCWE1MX0NBVEFMT0dfRU5BQkxFRDwvcHJlPjxwPldoZXRoZXIgdGhlIENhdGFsb2cgc3VwcG9ydCBpcyBjb25maWd1cmVkIGluPC9wPgorPGgzPjxhIG5hbWU9IkxJQlhNTF9ERUJVR19FTkFCTEVEIiBpZD0iTElCWE1MX0RFQlVHX0VOQUJMRUQiPjwvYT5NYWNybzogTElCWE1MX0RFQlVHX0VOQUJMRUQ8L2gzPjxwcmU+I2RlZmluZSBMSUJYTUxfREVCVUdfRU5BQkxFRDwvcHJlPjxwPldoZXRoZXIgRGVidWdnaW5nIG1vZHVsZSBpcyBjb25maWd1cmVkIGluPC9wPgorPGgzPjxhIG5hbWU9IkxJQlhNTF9ERUJVR19SVU5USU1FIiBpZD0iTElCWE1MX0RFQlVHX1JVTlRJTUUiPjwvYT5NYWNybzogTElCWE1MX0RFQlVHX1JVTlRJTUU8L2gzPjxwcmU+I2RlZmluZSBMSUJYTUxfREVCVUdfUlVOVElNRTwvcHJlPjxwPldoZXRoZXIgdGhlIHJ1bnRpbWUgZGVidWdnaW5nIGlzIGNvbmZpZ3VyZWQgaW48L3A+Cis8aDM+PGEgbmFtZT0iTElCWE1MX0RPQ0JfRU5BQkxFRCIgaWQ9IkxJQlhNTF9ET0NCX0VOQUJMRUQiPjwvYT5NYWNybzogTElCWE1MX0RPQ0JfRU5BQkxFRDwvaDM+PHByZT4jZGVmaW5lIExJQlhNTF9ET0NCX0VOQUJMRUQ8L3ByZT48cD5XaGV0aGVyIHRoZSBTR01MIERvY2Jvb2sgc3VwcG9ydCBpcyBjb25maWd1cmVkIGluPC9wPgorPGgzPjxhIG5hbWU9IkxJQlhNTF9ET1RURURfVkVSU0lPTiIgaWQ9IkxJQlhNTF9ET1RURURfVkVSU0lPTiI+PC9hPk1hY3JvOiBMSUJYTUxfRE9UVEVEX1ZFUlNJT048L2gzPjxwcmU+I2RlZmluZSBMSUJYTUxfRE9UVEVEX1ZFUlNJT048L3ByZT48cD50aGUgdmVyc2lvbiBzdHJpbmcgbGlrZSAiMS4yLjMiPC9wPgorPGgzPjxhIG5hbWU9IkxJQlhNTF9FWFBSX0VOQUJMRUQiIGlkPSJMSUJYTUxfRVhQUl9FTkFCTEVEIj48L2E+TWFjcm86IExJQlhNTF9FWFBSX0VOQUJMRUQ8L2gzPjxwcmU+I2RlZmluZSBMSUJYTUxfRVhQUl9FTkFCTEVEPC9wcmU+PHA+V2hldGhlciB0aGUgZm9ybWFsIGV4cHJlc3Npb25zIGludGVyZmFjZXMgYXJlIGNvbXBpbGVkIGluPC9wPgorPGgzPjxhIG5hbWU9IkxJQlhNTF9GVFBfRU5BQkxFRCIgaWQ9IkxJQlhNTF9GVFBfRU5BQkxFRCI+PC9hPk1hY3JvOiBMSUJYTUxfRlRQX0VOQUJMRUQ8L2gzPjxwcmU+I2RlZmluZSBMSUJYTUxfRlRQX0VOQUJMRUQ8L3ByZT48cD5XaGV0aGVyIHRoZSBGVFAgc3VwcG9ydCBpcyBjb25maWd1cmVkIGluPC9wPgorPGgzPjxhIG5hbWU9IkxJQlhNTF9IVE1MX0VOQUJMRUQiIGlkPSJMSUJYTUxfSFRNTF9FTkFCTEVEIj48L2E+TWFjcm86IExJQlhNTF9IVE1MX0VOQUJMRUQ8L2gzPjxwcmU+I2RlZmluZSBMSUJYTUxfSFRNTF9FTkFCTEVEPC9wcmU+PHA+V2hldGhlciB0aGUgSFRNTCBzdXBwb3J0IGlzIGNvbmZpZ3VyZWQgaW48L3A+Cis8aDM+PGEgbmFtZT0iTElCWE1MX0hUVFBfRU5BQkxFRCIgaWQ9IkxJQlhNTF9IVFRQX0VOQUJMRUQiPjwvYT5NYWNybzogTElCWE1MX0hUVFBfRU5BQkxFRDwvaDM+PHByZT4jZGVmaW5lIExJQlhNTF9IVFRQX0VOQUJMRUQ8L3ByZT48cD5XaGV0aGVyIHRoZSBIVFRQIHN1cHBvcnQgaXMgY29uZmlndXJlZCBpbjwvcD4KKzxoMz48YSBuYW1lPSJMSUJYTUxfSUNPTlZfRU5BQkxFRCIgaWQ9IkxJQlhNTF9JQ09OVl9FTkFCTEVEIj48L2E+TWFjcm86IExJQlhNTF9JQ09OVl9FTkFCTEVEPC9oMz48cHJlPiNkZWZpbmUgTElCWE1MX0lDT05WX0VOQUJMRUQ8L3ByZT48cD5XaGV0aGVyIGljb252IHN1cHBvcnQgaXMgYXZhaWxhYmxlPC9wPgorPGgzPjxhIG5hbWU9IkxJQlhNTF9JQ1VfRU5BQkxFRCIgaWQ9IkxJQlhNTF9JQ1VfRU5BQkxFRCI+PC9hPk1hY3JvOiBMSUJYTUxfSUNVX0VOQUJMRUQ8L2gzPjxwcmU+I2RlZmluZSBMSUJYTUxfSUNVX0VOQUJMRUQ8L3ByZT48cD5XaGV0aGVyIGljdSBzdXBwb3J0IGlzIGF2YWlsYWJsZTwvcD4KKzxoMz48YSBuYW1lPSJMSUJYTUxfSVNPODg1OVhfRU5BQkxFRCIgaWQ9IkxJQlhNTF9JU084ODU5WF9FTkFCTEVEIj48L2E+TWFjcm86IExJQlhNTF9JU084ODU5WF9FTkFCTEVEPC9oMz48cHJlPiNkZWZpbmUgTElCWE1MX0lTTzg4NTlYX0VOQUJMRUQ8L3ByZT48cD5XaGV0aGVyIElTTy04ODU5LSogc3VwcG9ydCBpcyBtYWRlIGF2YWlsYWJsZSBpbiBjYXNlIGljb252IGlzIG5vdDwvcD4KKzxoMz48YSBuYW1lPSJMSUJYTUxfTEVHQUNZX0VOQUJMRUQiIGlkPSJMSUJYTUxfTEVHQUNZX0VOQUJMRUQiPjwvYT5NYWNybzogTElCWE1MX0xFR0FDWV9FTkFCTEVEPC9oMz48cHJlPiNkZWZpbmUgTElCWE1MX0xFR0FDWV9FTkFCTEVEPC9wcmU+PHA+V2hldGhlciB0aGUgZGVwcmVjYXRlZCBBUElzIGFyZSBjb21waWxlZCBpbiBmb3IgY29tcGF0aWJpbGl0eTwvcD4KKzxoMz48YSBuYW1lPSJMSUJYTUxfTFpNQV9FTkFCTEVEIiBpZD0iTElCWE1MX0xaTUFfRU5BQkxFRCI+PC9hPk1hY3JvOiBMSUJYTUxfTFpNQV9FTkFCTEVEPC9oMz48cHJlPiNkZWZpbmUgTElCWE1MX0xaTUFfRU5BQkxFRDwvcHJlPjxwPldoZXRoZXIgdGhlIEx6bWEgc3VwcG9ydCBpcyBjb21waWxlZCBpbjwvcD4KKzxoMz48YSBuYW1lPSJMSUJYTUxfTU9EVUxFU19FTkFCTEVEIiBpZD0iTElCWE1MX01PRFVMRVNfRU5BQkxFRCI+PC9hPk1hY3JvOiBMSUJYTUxfTU9EVUxFU19FTkFCTEVEPC9oMz48cHJlPiNkZWZpbmUgTElCWE1MX01PRFVMRVNfRU5BQkxFRDwvcHJlPjxwPldoZXRoZXIgdGhlIG1vZHVsZSBpbnRlcmZhY2VzIGFyZSBjb21waWxlZCBpbjwvcD4KKzxoMz48YSBuYW1lPSJMSUJYTUxfTU9EVUxFX0VYVEVOU0lPTiIgaWQ9IkxJQlhNTF9NT0RVTEVfRVhURU5TSU9OIj48L2E+TWFjcm86IExJQlhNTF9NT0RVTEVfRVhURU5TSU9OPC9oMz48cHJlPiNkZWZpbmUgTElCWE1MX01PRFVMRV9FWFRFTlNJT048L3ByZT48cD50aGUgc3RyaW5nIHN1ZmZpeCB1c2VkIGJ5IGR5bmFtaWMgbW9kdWxlcyAodXN1YWxseSBzaGFyZWQgbGlicmFyaWVzKTwvcD4KKzxoMz48YSBuYW1lPSJMSUJYTUxfT1VUUFVUX0VOQUJMRUQiIGlkPSJMSUJYTUxfT1VUUFVUX0VOQUJMRUQiPjwvYT5NYWNybzogTElCWE1MX09VVFBVVF9FTkFCTEVEPC9oMz48cHJlPiNkZWZpbmUgTElCWE1MX09VVFBVVF9FTkFCTEVEPC9wcmU+PHA+V2hldGhlciB0aGUgc2VyaWFsaXphdGlvbi9zYXZpbmcgc3VwcG9ydCBpcyBjb25maWd1cmVkIGluPC9wPgorPGgzPjxhIG5hbWU9IkxJQlhNTF9QQVRURVJOX0VOQUJMRUQiIGlkPSJMSUJYTUxfUEFUVEVSTl9FTkFCTEVEIj48L2E+TWFjcm86IExJQlhNTF9QQVRURVJOX0VOQUJMRUQ8L2gzPjxwcmU+I2RlZmluZSBMSUJYTUxfUEFUVEVSTl9FTkFCTEVEPC9wcmU+PHA+V2hldGhlciB0aGUgPGEgaHJlZj0ibGlieG1sLXBhdHRlcm4uaHRtbCN4bWxQYXR0ZXJuIj54bWxQYXR0ZXJuPC9hPiBub2RlIHNlbGVjdGlvbiBpbnRlcmZhY2UgaXMgY29uZmlndXJlZCBpbjwvcD4KKzxoMz48YSBuYW1lPSJMSUJYTUxfUFVTSF9FTkFCTEVEIiBpZD0iTElCWE1MX1BVU0hfRU5BQkxFRCI+PC9hPk1hY3JvOiBMSUJYTUxfUFVTSF9FTkFCTEVEPC9oMz48cHJlPiNkZWZpbmUgTElCWE1MX1BVU0hfRU5BQkxFRDwvcHJlPjxwPldoZXRoZXIgdGhlIHB1c2ggcGFyc2luZyBpbnRlcmZhY2VzIGFyZSBjb25maWd1cmVkIGluPC9wPgorPGgzPjxhIG5hbWU9IkxJQlhNTF9SRUFERVJfRU5BQkxFRCIgaWQ9IkxJQlhNTF9SRUFERVJfRU5BQkxFRCI+PC9hPk1hY3JvOiBMSUJYTUxfUkVBREVSX0VOQUJMRUQ8L2gzPjxwcmU+I2RlZmluZSBMSUJYTUxfUkVBREVSX0VOQUJMRUQ8L3ByZT48cD5XaGV0aGVyIHRoZSB4bWxSZWFkZXIgcGFyc2luZyBpbnRlcmZhY2UgaXMgY29uZmlndXJlZCBpbjwvcD4KKzxoMz48YSBuYW1lPSJMSUJYTUxfUkVHRVhQX0VOQUJMRUQiIGlkPSJMSUJYTUxfUkVHRVhQX0VOQUJMRUQiPjwvYT5NYWNybzogTElCWE1MX1JFR0VYUF9FTkFCTEVEPC9oMz48cHJlPiNkZWZpbmUgTElCWE1MX1JFR0VYUF9FTkFCTEVEPC9wcmU+PHA+V2hldGhlciB0aGUgcmVndWxhciBleHByZXNzaW9ucyBpbnRlcmZhY2VzIGFyZSBjb21waWxlZCBpbjwvcD4KKzxoMz48YSBuYW1lPSJMSUJYTUxfU0FYMV9FTkFCTEVEIiBpZD0iTElCWE1MX1NBWDFfRU5BQkxFRCI+PC9hPk1hY3JvOiBMSUJYTUxfU0FYMV9FTkFCTEVEPC9oMz48cHJlPiNkZWZpbmUgTElCWE1MX1NBWDFfRU5BQkxFRDwvcHJlPjxwPldoZXRoZXIgdGhlIG9sZGVyIFNBWDEgaW50ZXJmYWNlIGlzIGNvbmZpZ3VyZWQgaW48L3A+Cis8aDM+PGEgbmFtZT0iTElCWE1MX1NDSEVNQVNfRU5BQkxFRCIgaWQ9IkxJQlhNTF9TQ0hFTUFTX0VOQUJMRUQiPjwvYT5NYWNybzogTElCWE1MX1NDSEVNQVNfRU5BQkxFRDwvaDM+PHByZT4jZGVmaW5lIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQ8L3ByZT48cD5XaGV0aGVyIHRoZSBTY2hlbWFzIHZhbGlkYXRpb24gaW50ZXJmYWNlcyBhcmUgY29tcGlsZWQgaW48L3A+Cis8aDM+PGEgbmFtZT0iTElCWE1MX1NDSEVNQVRST05fRU5BQkxFRCIgaWQ9IkxJQlhNTF9TQ0hFTUFUUk9OX0VOQUJMRUQiPjwvYT5NYWNybzogTElCWE1MX1NDSEVNQVRST05fRU5BQkxFRDwvaDM+PHByZT4jZGVmaW5lIExJQlhNTF9TQ0hFTUFUUk9OX0VOQUJMRUQ8L3ByZT48cD5XaGV0aGVyIHRoZSBTY2hlbWF0cm9uIHZhbGlkYXRpb24gaW50ZXJmYWNlcyBhcmUgY29tcGlsZWQgaW48L3A+Cis8aDM+PGEgbmFtZT0iTElCWE1MX1RFU1RfVkVSU0lPTiIgaWQ9IkxJQlhNTF9URVNUX1ZFUlNJT04iPjwvYT5NYWNybzogTElCWE1MX1RFU1RfVkVSU0lPTjwvaDM+PHByZT4jZGVmaW5lIExJQlhNTF9URVNUX1ZFUlNJT048L3ByZT48cD5NYWNybyB0byBjaGVjayB0aGF0IHRoZSBsaWJ4bWwgdmVyc2lvbiBpbiB1c2UgaXMgY29tcGF0aWJsZSB3aXRoIHRoZSB2ZXJzaW9uIHRoZSBzb2Z0d2FyZSBoYXMgYmVlbiBjb21waWxlZCBhZ2FpbnN0PC9wPgorPGgzPjxhIG5hbWU9IkxJQlhNTF9USFJFQURfQUxMT0NfRU5BQkxFRCIgaWQ9IkxJQlhNTF9USFJFQURfQUxMT0NfRU5BQkxFRCI+PC9hPk1hY3JvOiBMSUJYTUxfVEhSRUFEX0FMTE9DX0VOQUJMRUQ8L2gzPjxwcmU+I2RlZmluZSBMSUJYTUxfVEhSRUFEX0FMTE9DX0VOQUJMRUQ8L3ByZT48cD5XaGV0aGVyIHRoZSBhbGxvY2F0aW9uIGhvb2tzIGFyZSBwZXItdGhyZWFkPC9wPgorPGgzPjxhIG5hbWU9IkxJQlhNTF9USFJFQURfRU5BQkxFRCIgaWQ9IkxJQlhNTF9USFJFQURfRU5BQkxFRCI+PC9hPk1hY3JvOiBMSUJYTUxfVEhSRUFEX0VOQUJMRUQ8L2gzPjxwcmU+I2RlZmluZSBMSUJYTUxfVEhSRUFEX0VOQUJMRUQ8L3ByZT48cD5XaGV0aGVyIHRoZSB0aHJlYWQgc3VwcG9ydCBpcyBjb25maWd1cmVkIGluPC9wPgorPGgzPjxhIG5hbWU9IkxJQlhNTF9UUkVFX0VOQUJMRUQiIGlkPSJMSUJYTUxfVFJFRV9FTkFCTEVEIj48L2E+TWFjcm86IExJQlhNTF9UUkVFX0VOQUJMRUQ8L2gzPjxwcmU+I2RlZmluZSBMSUJYTUxfVFJFRV9FTkFCTEVEPC9wcmU+PHA+V2hldGhlciB0aGUgRE9NIGxpa2UgdHJlZSBtYW5pcHVsYXRpb24gQVBJIHN1cHBvcnQgaXMgY29uZmlndXJlZCBpbjwvcD4KKzxoMz48YSBuYW1lPSJMSUJYTUxfVU5JQ09ERV9FTkFCTEVEIiBpZD0iTElCWE1MX1VOSUNPREVfRU5BQkxFRCI+PC9hPk1hY3JvOiBMSUJYTUxfVU5JQ09ERV9FTkFCTEVEPC9oMz48cHJlPiNkZWZpbmUgTElCWE1MX1VOSUNPREVfRU5BQkxFRDwvcHJlPjxwPldoZXRoZXIgdGhlIFVuaWNvZGUgcmVsYXRlZCBpbnRlcmZhY2VzIGFyZSBjb21waWxlZCBpbjwvcD4KKzxoMz48YSBuYW1lPSJMSUJYTUxfVkFMSURfRU5BQkxFRCIgaWQ9IkxJQlhNTF9WQUxJRF9FTkFCTEVEIj48L2E+TWFjcm86IExJQlhNTF9WQUxJRF9FTkFCTEVEPC9oMz48cHJlPiNkZWZpbmUgTElCWE1MX1ZBTElEX0VOQUJMRUQ8L3ByZT48cD5XaGV0aGVyIHRoZSBEVEQgdmFsaWRhdGlvbiBzdXBwb3J0IGlzIGNvbmZpZ3VyZWQgaW48L3A+Cis8aDM+PGEgbmFtZT0iTElCWE1MX1ZFUlNJT04iIGlkPSJMSUJYTUxfVkVSU0lPTiI+PC9hPk1hY3JvOiBMSUJYTUxfVkVSU0lPTjwvaDM+PHByZT4jZGVmaW5lIExJQlhNTF9WRVJTSU9OPC9wcmU+PHA+dGhlIHZlcnNpb24gbnVtYmVyOiAxLjIuMyB2YWx1ZSBpcyAxMDIwMzwvcD4KKzxoMz48YSBuYW1lPSJMSUJYTUxfVkVSU0lPTl9FWFRSQSIgaWQ9IkxJQlhNTF9WRVJTSU9OX0VYVFJBIj48L2E+TWFjcm86IExJQlhNTF9WRVJTSU9OX0VYVFJBPC9oMz48cHJlPiNkZWZpbmUgTElCWE1MX1ZFUlNJT05fRVhUUkE8L3ByZT48cD5leHRyYSB2ZXJzaW9uIGluZm9ybWF0aW9uLCB1c2VkIHRvIHNob3cgYSBDVlMgY29tcGlsYXRpb248L3A+Cis8aDM+PGEgbmFtZT0iTElCWE1MX1ZFUlNJT05fU1RSSU5HIiBpZD0iTElCWE1MX1ZFUlNJT05fU1RSSU5HIj48L2E+TWFjcm86IExJQlhNTF9WRVJTSU9OX1NUUklORzwvaDM+PHByZT4jZGVmaW5lIExJQlhNTF9WRVJTSU9OX1NUUklORzwvcHJlPjxwPnRoZSB2ZXJzaW9uIG51bWJlciBzdHJpbmcsIDEuMi4zIHZhbHVlIGlzICIxMDIwMyI8L3A+Cis8aDM+PGEgbmFtZT0iTElCWE1MX1dSSVRFUl9FTkFCTEVEIiBpZD0iTElCWE1MX1dSSVRFUl9FTkFCTEVEIj48L2E+TWFjcm86IExJQlhNTF9XUklURVJfRU5BQkxFRDwvaDM+PHByZT4jZGVmaW5lIExJQlhNTF9XUklURVJfRU5BQkxFRDwvcHJlPjxwPldoZXRoZXIgdGhlIHhtbFdyaXRlciBzYXZpbmcgaW50ZXJmYWNlIGlzIGNvbmZpZ3VyZWQgaW48L3A+Cis8aDM+PGEgbmFtZT0iTElCWE1MX1hJTkNMVURFX0VOQUJMRUQiIGlkPSJMSUJYTUxfWElOQ0xVREVfRU5BQkxFRCI+PC9hPk1hY3JvOiBMSUJYTUxfWElOQ0xVREVfRU5BQkxFRDwvaDM+PHByZT4jZGVmaW5lIExJQlhNTF9YSU5DTFVERV9FTkFCTEVEPC9wcmU+PHA+V2hldGhlciBYSW5jbHVkZSBpcyBjb25maWd1cmVkIGluPC9wPgorPGgzPjxhIG5hbWU9IkxJQlhNTF9YUEFUSF9FTkFCTEVEIiBpZD0iTElCWE1MX1hQQVRIX0VOQUJMRUQiPjwvYT5NYWNybzogTElCWE1MX1hQQVRIX0VOQUJMRUQ8L2gzPjxwcmU+I2RlZmluZSBMSUJYTUxfWFBBVEhfRU5BQkxFRDwvcHJlPjxwPldoZXRoZXIgWFBhdGggaXMgY29uZmlndXJlZCBpbjwvcD4KKzxoMz48YSBuYW1lPSJMSUJYTUxfWFBUUl9FTkFCTEVEIiBpZD0iTElCWE1MX1hQVFJfRU5BQkxFRCI+PC9hPk1hY3JvOiBMSUJYTUxfWFBUUl9FTkFCTEVEPC9oMz48cHJlPiNkZWZpbmUgTElCWE1MX1hQVFJfRU5BQkxFRDwvcHJlPjxwPldoZXRoZXIgWFBvaW50ZXIgaXMgY29uZmlndXJlZCBpbjwvcD4KKzxoMz48YSBuYW1lPSJMSUJYTUxfWkxJQl9FTkFCTEVEIiBpZD0iTElCWE1MX1pMSUJfRU5BQkxFRCI+PC9hPk1hY3JvOiBMSUJYTUxfWkxJQl9FTkFCTEVEPC9oMz48cHJlPiNkZWZpbmUgTElCWE1MX1pMSUJfRU5BQkxFRDwvcHJlPjxwPldoZXRoZXIgdGhlIFpsaWIgc3VwcG9ydCBpcyBjb21waWxlZCBpbjwvcD4KKzxoMz48YSBuYW1lPSJXSVRIT1VUX1RSSU8iIGlkPSJXSVRIT1VUX1RSSU8iPjwvYT5NYWNybzogV0lUSE9VVF9UUklPPC9oMz48cHJlPiNkZWZpbmUgV0lUSE9VVF9UUklPPC9wcmU+PHA+ZGVmaW5lZCBpZiB0aGUgdHJpbyBzdXBwb3J0IHNob3VsZCBub3QgYmUgY29uZmlndXJlZCBpbjwvcD4KKzxoMz48YSBuYW1lPSJXSVRIX1RSSU8iIGlkPSJXSVRIX1RSSU8iPjwvYT5NYWNybzogV0lUSF9UUklPPC9oMz48cHJlPiNkZWZpbmUgV0lUSF9UUklPPC9wcmU+PHA+ZGVmaW5lZCBpZiB0aGUgdHJpbyBzdXBwb3J0IG5lZWQgdG8gYmUgY29uZmlndXJlZCBpbjwvcD4KKzxoMz48YSBuYW1lPSJ4bWxDaGVja1ZlcnNpb24iIGlkPSJ4bWxDaGVja1ZlcnNpb24iPjwvYT5GdW5jdGlvbjogeG1sQ2hlY2tWZXJzaW9uPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxDaGVja1ZlcnNpb24JCQkoaW50IHZlcnNpb24pPGJyIC8+Cis8L3ByZT48cD5jaGVjayB0aGUgY29tcGlsZWQgbGliIHZlcnNpb24gYWdhaW5zdCB0aGUgaW5jbHVkZSBvbmUuIFRoaXMgY2FuIHdhcm4gb3IgaW1tZWRpYXRlbHkga2lsbCB0aGUgYXBwbGljYXRpb248L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52ZXJzaW9uPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaW5jbHVkZSB2ZXJzaW9uIG51bWJlcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PHA+PGEgaHJlZj0iLi4vYnVncy5odG1sIj5EYW5pZWwgVmVpbGxhcmQ8L2E+PC9wPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9odG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCBiL2xpYnhtbDIvZG9jL2h0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUwOWZmNTkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9odG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbApAQCAtMCwwICsxLDI2MSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIj4KKzxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj48aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz48bGluayByZWw9IlNIT1JUQ1VUIElDT04iIGhyZWY9Ii9mYXZpY29uLmljbyIgLz48c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorVEQge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0JPRFkge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYTsgbWFyZ2luLXRvcDogMmVtOyBtYXJnaW4tbGVmdDogMGVtOyBtYXJnaW4tcmlnaHQ6IDBlbX0KK0gxIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMiB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDMge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0E6bGluaywgQTp2aXNpdGVkLCBBOmFjdGl2ZSB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIH0KKzwvc3R5bGU+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKyAgICAgIGRpdi5kZXByZWNhdGVkIHByZS5wcm9ncmFtbGlzdGluZyB7Ym9yZGVyLXN0eWxlOiBkb3VibGU7Ym9yZGVyLWNvbG9yOnJlZH0KKyAgICAgIHByZS5wcm9ncmFtbGlzdGluZyB7Ym9yZGVyLXN0eWxlOiBkb3VibGU7YmFja2dyb3VuZDogI0VFQ0ZBMX0KKyAgICA8L3N0eWxlPjx0aXRsZT5Nb2R1bGUgeG1sd3JpdGVyIGZyb20gbGlieG1sMjwvdGl0bGU+PC9oZWFkPjxib2R5IGJnY29sb3I9IiM4Yjc3NjUiIHRleHQ9IiMwMDAwMDAiIGxpbms9IiNhMDYwNjAiIHZsaW5rPSIjMDAwMDAwIj48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iMTAwJSIgY2VsbHBhZGRpbmc9IjUiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIHdpZHRoPSIxMjAiPjxhIGhyZWY9Imh0dHA6Ly9zd3BhdC5mZmlpLm9yZy8iPjxpbWcgc3JjPSIuLi9lcGF0ZW50cy5wbmciIGFsdD0iQWN0aW9uIGFnYWluc3Qgc29mdHdhcmUgcGF0ZW50cyIgLz48L2E+PC90ZD48dGQgd2lkdGg9IjE4MCI+PGEgaHJlZj0iaHR0cDovL3d3dy5nbm9tZS5vcmcvIj48aW1nIHNyYz0iLi4vZ25vbWUyLnBuZyIgYWx0PSJHbm9tZTIgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvU3RhdHVzIj48aW1nIHNyYz0iLi4vdzNjLnBuZyIgYWx0PSJXM0MgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy5yZWRoYXQuY29tLyI+PGltZyBzcmM9Ii4uL3JlZGhhdC5naWYiIGFsdD0iUmVkIEhhdCBMb2dvIiAvPjwvYT48ZGl2IGFsaWduPSJsZWZ0Ij48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvIj48aW1nIHNyYz0iLi4vTGlieG1sMi1Mb2dvLTE4MHgxNjguZ2lmIiBhbHQ9Ik1hZGUgd2l0aCBMaWJ4bWwyIExvZ28iIC8+PC9hPjwvZGl2PjwvdGQ+PHRkPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSI5MCUiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIiBiZ2NvbG9yPSIjZmZmYWNkIj48dHI+PHRkIGFsaWduPSJjZW50ZXIiPjxoMT48L2gxPjxoMj5Nb2R1bGUgeG1sd3JpdGVyIGZyb20gbGlieG1sMjwvaDI+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjQiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiIHdpZHRoPSIxMDAlIj48dHI+PHRkIHZhbGlnbj0idG9wIiB3aWR0aD0iMjAwIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5BUEkgTWVudTwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48Zm9ybSBhY3Rpb249Ii4uL3NlYXJjaC5waHAiIGVuY3R5cGU9ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIgbWV0aG9kPSJnZXQiPjxpbnB1dCBuYW1lPSJxdWVyeSIgdHlwZT0idGV4dCIgc2l6ZT0iMjAiIHZhbHVlPSIiIC8+PGlucHV0IG5hbWU9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU2VhcmNoIC4uLiIgLz48L2Zvcm0+PHVsPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iLi4vaW5kZXguaHRtbCI+TWFpbiBNZW51PC9hPjwvbGk+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSIuLi9kb2NzLmh0bWwiPkRldmVsb3BlciBNZW51PC9hPjwvbGk+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSIuLi9leGFtcGxlcy9pbmRleC5odG1sIj5Db2RlIEV4YW1wbGVzPC9hPjwvbGk+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSJpbmRleC5odG1sIj5BUEkgTWVudTwvYT48L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtcGFyc2VyLmh0bWwiPlBhcnNlciBBUEk8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCI+VHJlZSBBUEk8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXhtbHJlYWRlci5odG1sIj5SZWFkZXIgQVBJPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL2d1aWRlbGluZXMuaHRtbCI+WE1MIEd1aWRlbGluZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQ2hhbmdlTG9nLmh0bWwiPkNoYW5nZUxvZzwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPkFQSSBJbmRleGVzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iLi4vQVBJY2h1bmswLmh0bWwiPkFscGhhYmV0aWM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJY29uc3RydWN0b3JzLmh0bWwiPkNvbnN0cnVjdG9yczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUElmdW5jdGlvbnMuaHRtbCI+RnVuY3Rpb25zL1R5cGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSWZpbGVzLmh0bWwiPk1vZHVsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJc3ltYm9scy5odG1sIj5TeW1ib2xzPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+UmVsYXRlZCBsaW5rczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9Imh0dHA6Ly9tYWlsLmdub21lLm9yZy9hcmNoaXZlcy94bWwvIj5NYWlsIGFyY2hpdmU8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnL1hTTFQvIj5YU0xUIGxpYnhzbHQ8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3BoZC5jcy51bmliby5pdC9nZG9tZTIvIj5ET00gZ2RvbWUyPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuYWxla3NleS5jb20veG1sc2VjLyI+WE1MLURTaWcgeG1sc2VjPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImZ0cDovL3htbHNvZnQub3JnLyI+RlRQPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemxhdGtvdmljLmNvbS9wcm9qZWN0cy9saWJ4bWwvIj5XaW5kb3dzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9vcGVuY3N3Lm9yZy9wYWNrYWdlcy9saWJ4bWwyIj5Tb2xhcmlzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuZXhwbGFpbi5jb20uYXUvb3NzL2xpYnhtbDJ4c2x0Lmh0bWwiPk1hY09zWCBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbHhtbC5kZS8iPmx4bWwgUHl0aG9uIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9jcGFuLnV3aW5uaXBlZy5jYS9kaXN0L1hNTC1MaWJYTUwiPlBlcmwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbHBsdXNwbHVzLnNvdXJjZWZvcmdlLm5ldC8iPkMrKyBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnplbmQuY29tL3BocDUvYXJ0aWNsZXMvcGhwNS14bWxwaHAucGhwI0hlYWRpbmc0Ij5QSFAgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9saWJ4bWwyLXBhcy8iPlBhc2NhbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1sLnJ1Ynlmb3JnZS5vcmcvIj5SdWJ5IGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly90Y2x4bWwuc291cmNlZm9yZ2UubmV0LyI+VGNsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvYnVnbGlzdC5jZ2k/cHJvZHVjdD1saWJ4bWwyIj5CdWcgVHJhY2tlcjwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMyIgY2VsbHNwYWNpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx0YWJsZSBjbGFzcz0ibmF2aWdhdGlvbiIgd2lkdGg9IjEwMCUiIHN1bW1hcnk9Ik5hdmlnYXRpb24gaGVhZGVyIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjIiPjx0ciB2YWxpZ249Im1pZGRsZSI+PHRkPjxhIGFjY2Vzc2tleT0icCIgaHJlZj0ibGlieG1sLXhtbHZlcnNpb24uaHRtbCI+PGltZyBzcmM9ImxlZnQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJQcmV2IiAvPjwvYT48L3RkPjx0aCBhbGlnbj0ibGVmdCI+PGEgaHJlZj0ibGlieG1sLXhtbHZlcnNpb24uaHRtbCI+eG1sdmVyc2lvbjwvYT48L3RoPjx0ZD48YSBhY2Nlc3NrZXk9InUiIGhyZWY9ImluZGV4Lmh0bWwiPjxpbWcgc3JjPSJ1cC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlVwIiAvPjwvYT48L3RkPjx0aCBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iaW5kZXguaHRtbCI+QVBJIGRvY3VtZW50YXRpb248L2E+PC90aD48dGQ+PGEgYWNjZXNza2V5PSJoIiBocmVmPSIuLi9pbmRleC5odG1sIj48aW1nIHNyYz0iaG9tZS5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IkhvbWUiIC8+PC9hPjwvdGQ+PHRoIGFsaWduPSJjZW50ZXIiPjxhIGhyZWY9Ii4uL2luZGV4Lmh0bWwiPlRoZSBYTUwgQyBwYXJzZXIgYW5kIHRvb2xraXQgb2YgR25vbWU8L2E+PC90aD48dGggYWxpZ249InJpZ2h0Ij48YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCI+eHBhdGg8L2E+PC90aD48dGQ+PGEgYWNjZXNza2V5PSJuIiBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCI+PGltZyBzcmM9InJpZ2h0LnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iTmV4dCIgLz48L2E+PC90ZD48L3RyPjwvdGFibGU+PHA+dGV4dCB3cml0aW5nIEFQSSBmb3IgWE1MIDwvcD48aDI+VGFibGUgb2YgQ29udGVudHM8L2gyPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiN4bWxUZXh0V3JpdGVyV3JpdGVEb2NUeXBlIj54bWxUZXh0V3JpdGVyV3JpdGVEb2NUeXBlPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiN4bWxUZXh0V3JpdGVyV3JpdGVQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24iPnhtbFRleHRXcml0ZXJXcml0ZVByb2Nlc3NpbmdJbnN0cnVjdGlvbjwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+U3RydWN0dXJlIDxhIGhyZWY9IiN4bWxUZXh0V3JpdGVyIj54bWxUZXh0V3JpdGVyPC9hPjxiciAvPnN0cnVjdCBfeG1sVGV4dFdyaXRlcgorVGhlIGNvbnRlbnQgb2YgdGhpcyBzdHJ1Y3R1cmUgaXMgbm90IG1hZGUgcHVibGljIGJ5IHRoZSBBUEkuCis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+VHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlciI+eG1sVGV4dFdyaXRlcjwvYT4gKiA8YSBuYW1lPSJ4bWxUZXh0V3JpdGVyUHRyIiBpZD0ieG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxGcmVlVGV4dFdyaXRlciI+eG1sRnJlZVRleHRXcml0ZXI8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlcik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4JPGEgaHJlZj0iI3htbE5ld1RleHRXcml0ZXIiPnhtbE5ld1RleHRXcml0ZXI8L2E+CSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE91dHB1dEJ1ZmZlclB0ciI+eG1sT3V0cHV0QnVmZmVyUHRyPC9hPiBvdXQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+CTxhIGhyZWY9IiN4bWxOZXdUZXh0V3JpdGVyRG9jIj54bWxOZXdUZXh0V3JpdGVyRG9jPC9hPgkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gKiBkb2MsIDxiciAvPgkJCQkJCSBpbnQgY29tcHJlc3Npb24pPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+CTxhIGhyZWY9IiN4bWxOZXdUZXh0V3JpdGVyRmlsZW5hbWUiPnhtbE5ld1RleHRXcml0ZXJGaWxlbmFtZTwvYT4JKGNvbnN0IGNoYXIgKiB1cmksIDxiciAvPgkJCQkJCQkgaW50IGNvbXByZXNzaW9uKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPgk8YSBocmVmPSIjeG1sTmV3VGV4dFdyaXRlck1lbW9yeSI+eG1sTmV3VGV4dFdyaXRlck1lbW9yeTwvYT4JKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyUHRyIj54bWxCdWZmZXJQdHI8L2E+IGJ1ZiwgPGJyIC8+CQkJCQkJIGludCBjb21wcmVzc2lvbik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4JPGEgaHJlZj0iI3htbE5ld1RleHRXcml0ZXJQdXNoUGFyc2VyIj54bWxOZXdUZXh0V3JpdGVyUHVzaFBhcnNlcjwvYT4JKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dFB0ciI+eG1sUGFyc2VyQ3R4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkJCSBpbnQgY29tcHJlc3Npb24pPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+CTxhIGhyZWY9IiN4bWxOZXdUZXh0V3JpdGVyVHJlZSI+eG1sTmV3VGV4dFdyaXRlclRyZWU8L2E+CSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxiciAvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsIDxiciAvPgkJCQkJCSBpbnQgY29tcHJlc3Npb24pPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxUZXh0V3JpdGVyRW5kQXR0cmlidXRlIj54bWxUZXh0V3JpdGVyRW5kQXR0cmlidXRlPC9hPgkoPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlcik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFRleHRXcml0ZXJFbmRDREFUQSI+eG1sVGV4dFdyaXRlckVuZENEQVRBPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxUZXh0V3JpdGVyRW5kQ29tbWVudCI+eG1sVGV4dFdyaXRlckVuZENvbW1lbnQ8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlcik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFRleHRXcml0ZXJFbmREVEQiPnhtbFRleHRXcml0ZXJFbmREVEQ8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlcik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFRleHRXcml0ZXJFbmREVERBdHRsaXN0Ij54bWxUZXh0V3JpdGVyRW5kRFREQXR0bGlzdDwvYT4JKDxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxUZXh0V3JpdGVyRW5kRFRERWxlbWVudCI+eG1sVGV4dFdyaXRlckVuZERUREVsZW1lbnQ8L2E+CSg8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVGV4dFdyaXRlckVuZERUREVudGl0eSI+eG1sVGV4dFdyaXRlckVuZERUREVudGl0eTwvYT4JKDxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxUZXh0V3JpdGVyRW5kRG9jdW1lbnQiPnhtbFRleHRXcml0ZXJFbmREb2N1bWVudDwvYT4JKDxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxUZXh0V3JpdGVyRW5kRWxlbWVudCI+eG1sVGV4dFdyaXRlckVuZEVsZW1lbnQ8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlcik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFRleHRXcml0ZXJFbmRQSSI+eG1sVGV4dFdyaXRlckVuZFBJPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxUZXh0V3JpdGVyRmx1c2giPnhtbFRleHRXcml0ZXJGbHVzaDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVGV4dFdyaXRlckZ1bGxFbmRFbGVtZW50Ij54bWxUZXh0V3JpdGVyRnVsbEVuZEVsZW1lbnQ8L2E+CSg8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVGV4dFdyaXRlclNldEluZGVudCI+eG1sVGV4dFdyaXRlclNldEluZGVudDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIgLz4JCQkJCSBpbnQgaW5kZW50KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVGV4dFdyaXRlclNldEluZGVudFN0cmluZyI+eG1sVGV4dFdyaXRlclNldEluZGVudFN0cmluZzwvYT4JKDxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0cik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFRleHRXcml0ZXJTZXRRdW90ZUNoYXIiPnhtbFRleHRXcml0ZXJTZXRRdW90ZUNoYXI8L2E+CSg8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gcXVvdGVjaGFyKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVGV4dFdyaXRlclN0YXJ0QXR0cmlidXRlIj54bWxUZXh0V3JpdGVyU3RhcnRBdHRyaWJ1dGU8L2E+CSg8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVGV4dFdyaXRlclN0YXJ0QXR0cmlidXRlTlMiPnhtbFRleHRXcml0ZXJTdGFydEF0dHJpYnV0ZU5TPC9hPgkoPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHJlZml4LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lc3BhY2VVUkkpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxUZXh0V3JpdGVyU3RhcnRDREFUQSI+eG1sVGV4dFdyaXRlclN0YXJ0Q0RBVEE8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlcik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFRleHRXcml0ZXJTdGFydENvbW1lbnQiPnhtbFRleHRXcml0ZXJTdGFydENvbW1lbnQ8L2E+CSg8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVGV4dFdyaXRlclN0YXJ0RFREIj54bWxUZXh0V3JpdGVyU3RhcnREVEQ8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHViaWQsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN5c2lkKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVGV4dFdyaXRlclN0YXJ0RFREQXR0bGlzdCI+eG1sVGV4dFdyaXRlclN0YXJ0RFREQXR0bGlzdDwvYT4JKDxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxUZXh0V3JpdGVyU3RhcnREVERFbGVtZW50Ij54bWxUZXh0V3JpdGVyU3RhcnREVERFbGVtZW50PC9hPgkoPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFRleHRXcml0ZXJTdGFydERUREVudGl0eSI+eG1sVGV4dFdyaXRlclN0YXJ0RFRERW50aXR5PC9hPgkoPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyIC8+CQkJCQkgaW50IHBlLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVGV4dFdyaXRlclN0YXJ0RG9jdW1lbnQiPnhtbFRleHRXcml0ZXJTdGFydERvY3VtZW50PC9hPgkoPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIHZlcnNpb24sIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIHN0YW5kYWxvbmUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxUZXh0V3JpdGVyU3RhcnRFbGVtZW50Ij54bWxUZXh0V3JpdGVyU3RhcnRFbGVtZW50PC9hPgkoPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFRleHRXcml0ZXJTdGFydEVsZW1lbnROUyI+eG1sVGV4dFdyaXRlclN0YXJ0RWxlbWVudE5TPC9hPgkoPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHJlZml4LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lc3BhY2VVUkkpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxUZXh0V3JpdGVyU3RhcnRQSSI+eG1sVGV4dFdyaXRlclN0YXJ0UEk8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdGFyZ2V0KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVGV4dFdyaXRlcldyaXRlQXR0cmlidXRlIj54bWxUZXh0V3JpdGVyV3JpdGVBdHRyaWJ1dGU8L2E+CSg8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjb250ZW50KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVGV4dFdyaXRlcldyaXRlQXR0cmlidXRlTlMiPnhtbFRleHRXcml0ZXJXcml0ZUF0dHJpYnV0ZU5TPC9hPgkoPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHJlZml4LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lc3BhY2VVUkksIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGNvbnRlbnQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxUZXh0V3JpdGVyV3JpdGVCYXNlNjQiPnhtbFRleHRXcml0ZXJXcml0ZUJhc2U2NDwvYT4JKDxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBkYXRhLCA8YnIgLz4JCQkJCSBpbnQgc3RhcnQsIDxiciAvPgkJCQkJIGludCBsZW4pPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxUZXh0V3JpdGVyV3JpdGVCaW5IZXgiPnhtbFRleHRXcml0ZXJXcml0ZUJpbkhleDwvYT4JKDxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBkYXRhLCA8YnIgLz4JCQkJCSBpbnQgc3RhcnQsIDxiciAvPgkJCQkJIGludCBsZW4pPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxUZXh0V3JpdGVyV3JpdGVDREFUQSI+eG1sVGV4dFdyaXRlcldyaXRlQ0RBVEE8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY29udGVudCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFRleHRXcml0ZXJXcml0ZUNvbW1lbnQiPnhtbFRleHRXcml0ZXJXcml0ZUNvbW1lbnQ8L2E+CSg8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjb250ZW50KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVGV4dFdyaXRlcldyaXRlRFREIj54bWxUZXh0V3JpdGVyV3JpdGVEVEQ8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHViaWQsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN5c2lkLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzdWJzZXQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxUZXh0V3JpdGVyV3JpdGVEVERBdHRsaXN0Ij54bWxUZXh0V3JpdGVyV3JpdGVEVERBdHRsaXN0PC9hPgkoPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY29udGVudCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFRleHRXcml0ZXJXcml0ZURUREVsZW1lbnQiPnhtbFRleHRXcml0ZXJXcml0ZURUREVsZW1lbnQ8L2E+CSg8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjb250ZW50KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVGV4dFdyaXRlcldyaXRlRFRERW50aXR5Ij54bWxUZXh0V3JpdGVyV3JpdGVEVERFbnRpdHk8L2E+CSg8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIgLz4JCQkJCSBpbnQgcGUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHB1YmlkLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzeXNpZCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmRhdGFpZCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY29udGVudCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFRleHRXcml0ZXJXcml0ZURUREV4dGVybmFsRW50aXR5Ij54bWxUZXh0V3JpdGVyV3JpdGVEVERFeHRlcm5hbEVudGl0eTwvYT4JKDxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxiciAvPgkJCQkJCSBpbnQgcGUsIDxiciAvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHViaWQsIDxiciAvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzeXNpZCwgPGJyIC8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5kYXRhaWQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxUZXh0V3JpdGVyV3JpdGVEVERFeHRlcm5hbEVudGl0eUNvbnRlbnRzIj54bWxUZXh0V3JpdGVyV3JpdGVEVERFeHRlcm5hbEVudGl0eUNvbnRlbnRzPC9hPgkoPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyIC8+CQkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwdWJpZCwgPGJyIC8+CQkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzeXNpZCwgPGJyIC8+CQkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuZGF0YWlkKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVGV4dFdyaXRlcldyaXRlRFRESW50ZXJuYWxFbnRpdHkiPnhtbFRleHRXcml0ZXJXcml0ZURUREludGVybmFsRW50aXR5PC9hPgkoPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyIC8+CQkJCQkJIGludCBwZSwgPGJyIC8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjb250ZW50KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVGV4dFdyaXRlcldyaXRlRFRETm90YXRpb24iPnhtbFRleHRXcml0ZXJXcml0ZURURE5vdGF0aW9uPC9hPgkoPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHViaWQsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN5c2lkKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVGV4dFdyaXRlcldyaXRlRWxlbWVudCI+eG1sVGV4dFdyaXRlcldyaXRlRWxlbWVudDwvYT4JKDxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGNvbnRlbnQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxUZXh0V3JpdGVyV3JpdGVFbGVtZW50TlMiPnhtbFRleHRXcml0ZXJXcml0ZUVsZW1lbnROUzwvYT4JKDxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHByZWZpeCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZXNwYWNlVVJJLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjb250ZW50KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0QXR0cmlidXRlIj54bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRBdHRyaWJ1dGU8L2E+CSg8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIgLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkJIGNvbnN0IGNoYXIgKiBmb3JtYXQsIDxiciAvPgkJCQkJCSAuLi4gLi4uKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0QXR0cmlidXRlTlMiPnhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdEF0dHJpYnV0ZU5TPC9hPgkoPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyIC8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHByZWZpeCwgPGJyIC8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lc3BhY2VVUkksIDxiciAvPgkJCQkJCSBjb25zdCBjaGFyICogZm9ybWF0LCA8YnIgLz4JCQkJCQkgLi4uIC4uLik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdENEQVRBIj54bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRDREFUQTwvYT4JKDxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBmb3JtYXQsIDxiciAvPgkJCQkJIC4uLiAuLi4pPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRDb21tZW50Ij54bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRDb21tZW50PC9hPgkoPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGZvcm1hdCwgPGJyIC8+CQkJCQkgLi4uIC4uLik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdERURCI+eG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFREPC9hPgkoPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHViaWQsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN5c2lkLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogZm9ybWF0LCA8YnIgLz4JCQkJCSAuLi4gLi4uKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFREQXR0bGlzdCI+eG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFREQXR0bGlzdDwvYT4JKDxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxiciAvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCQkgY29uc3QgY2hhciAqIGZvcm1hdCwgPGJyIC8+CQkJCQkJIC4uLiAuLi4pPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVERFbGVtZW50Ij54bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVERFbGVtZW50PC9hPgkoPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyIC8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJCSBjb25zdCBjaGFyICogZm9ybWF0LCA8YnIgLz4JCQkJCQkgLi4uIC4uLik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdERUREludGVybmFsRW50aXR5Ij54bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVERJbnRlcm5hbEVudGl0eTwvYT4JKDxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxiciAvPgkJCQkJCQkgaW50IHBlLCA8YnIgLz4JCQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJCQkgY29uc3QgY2hhciAqIGZvcm1hdCwgPGJyIC8+CQkJCQkJCSAuLi4gLi4uKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RWxlbWVudCI+eG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RWxlbWVudDwvYT4JKDxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBmb3JtYXQsIDxiciAvPgkJCQkJIC4uLiAuLi4pPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRFbGVtZW50TlMiPnhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdEVsZW1lbnROUzwvYT4JKDxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxiciAvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwcmVmaXgsIDxiciAvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZXNwYWNlVVJJLCA8YnIgLz4JCQkJCQkgY29uc3QgY2hhciAqIGZvcm1hdCwgPGJyIC8+CQkJCQkJIC4uLiAuLi4pPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRQSSI+eG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0UEk8L2E+CSg8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB0YXJnZXQsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBmb3JtYXQsIDxiciAvPgkJCQkJIC4uLiAuLi4pPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRSYXciPnhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdFJhdzwvYT4JKDxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBmb3JtYXQsIDxiciAvPgkJCQkJIC4uLiAuLi4pPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRTdHJpbmciPnhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdFN0cmluZzwvYT4JKDxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBmb3JtYXQsIDxiciAvPgkJCQkJIC4uLiAuLi4pPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxUZXh0V3JpdGVyV3JpdGVQSSI+eG1sVGV4dFdyaXRlcldyaXRlUEk8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdGFyZ2V0LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjb250ZW50KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVGV4dFdyaXRlcldyaXRlUmF3Ij54bWxUZXh0V3JpdGVyV3JpdGVSYXc8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY29udGVudCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFRleHRXcml0ZXJXcml0ZVJhd0xlbiI+eG1sVGV4dFdyaXRlcldyaXRlUmF3TGVuPC9hPgkoPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY29udGVudCwgPGJyIC8+CQkJCQkgaW50IGxlbik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFRleHRXcml0ZXJXcml0ZVN0cmluZyI+eG1sVGV4dFdyaXRlcldyaXRlU3RyaW5nPC9hPgkoPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY29udGVudCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRBdHRyaWJ1dGUiPnhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRBdHRyaWJ1dGU8L2E+CSg8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIgLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkJIGNvbnN0IGNoYXIgKiBmb3JtYXQsIDxiciAvPgkJCQkJCSB2YV9saXN0IGFyZ3B0cik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRBdHRyaWJ1dGVOUyI+eG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEF0dHJpYnV0ZU5TPC9hPgkoPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyIC8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHByZWZpeCwgPGJyIC8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lc3BhY2VVUkksIDxiciAvPgkJCQkJCSBjb25zdCBjaGFyICogZm9ybWF0LCA8YnIgLz4JCQkJCQkgdmFfbGlzdCBhcmdwdHIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0Q0RBVEEiPnhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRDREFUQTwvYT4JKDxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBmb3JtYXQsIDxiciAvPgkJCQkJIHZhX2xpc3QgYXJncHRyKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdENvbW1lbnQiPnhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRDb21tZW50PC9hPgkoPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyIC8+CQkJCQkJIGNvbnN0IGNoYXIgKiBmb3JtYXQsIDxiciAvPgkJCQkJCSB2YV9saXN0IGFyZ3B0cik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVEQiPnhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVEQ8L2E+CSg8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwdWJpZCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3lzaWQsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBmb3JtYXQsIDxiciAvPgkJCQkJIHZhX2xpc3QgYXJncHRyKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREF0dGxpc3QiPnhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVERBdHRsaXN0PC9hPgkoPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyIC8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJCSBjb25zdCBjaGFyICogZm9ybWF0LCA8YnIgLz4JCQkJCQkgdmFfbGlzdCBhcmdwdHIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFRERWxlbWVudCI+eG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREVsZW1lbnQ8L2E+CSg8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIgLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkJIGNvbnN0IGNoYXIgKiBmb3JtYXQsIDxiciAvPgkJCQkJCSB2YV9saXN0IGFyZ3B0cik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVERJbnRlcm5hbEVudGl0eSI+eG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREludGVybmFsRW50aXR5PC9hPgkoPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyIC8+CQkJCQkJCSBpbnQgcGUsIDxiciAvPgkJCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkJCSBjb25zdCBjaGFyICogZm9ybWF0LCA8YnIgLz4JCQkJCQkJIHZhX2xpc3QgYXJncHRyKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEVsZW1lbnQiPnhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRFbGVtZW50PC9hPgkoPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyIC8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJCSBjb25zdCBjaGFyICogZm9ybWF0LCA8YnIgLz4JCQkJCQkgdmFfbGlzdCBhcmdwdHIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RWxlbWVudE5TIj54bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RWxlbWVudE5TPC9hPgkoPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyIC8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHByZWZpeCwgPGJyIC8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lc3BhY2VVUkksIDxiciAvPgkJCQkJCSBjb25zdCBjaGFyICogZm9ybWF0LCA8YnIgLz4JCQkJCQkgdmFfbGlzdCBhcmdwdHIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0UEkiPnhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRQSTwvYT4JKDxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHRhcmdldCwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGZvcm1hdCwgPGJyIC8+CQkJCQkgdmFfbGlzdCBhcmdwdHIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0UmF3Ij54bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0UmF3PC9hPgkoPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGZvcm1hdCwgPGJyIC8+CQkJCQkgdmFfbGlzdCBhcmdwdHIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0U3RyaW5nIj54bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0U3RyaW5nPC9hPgkoPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGZvcm1hdCwgPGJyIC8+CQkJCQkgdmFfbGlzdCBhcmdwdHIpPC9wcmU+Cis8aDI+RGVzY3JpcHRpb248L2gyPgorPGgzPjxhIG5hbWU9InhtbFRleHRXcml0ZXJXcml0ZURvY1R5cGUiIGlkPSJ4bWxUZXh0V3JpdGVyV3JpdGVEb2NUeXBlIj48L2E+TWFjcm86IHhtbFRleHRXcml0ZXJXcml0ZURvY1R5cGU8L2gzPjxwcmU+I2RlZmluZSB4bWxUZXh0V3JpdGVyV3JpdGVEb2NUeXBlPC9wcmU+PHA+dGhpcyBtYWNybyBtYXBzIHRvIDxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVEVEQiPnhtbFRleHRXcml0ZXJXcml0ZURURDwvYT48L3A+Cis8aDM+PGEgbmFtZT0ieG1sVGV4dFdyaXRlcldyaXRlUHJvY2Vzc2luZ0luc3RydWN0aW9uIiBpZD0ieG1sVGV4dFdyaXRlcldyaXRlUHJvY2Vzc2luZ0luc3RydWN0aW9uIj48L2E+TWFjcm86IHhtbFRleHRXcml0ZXJXcml0ZVByb2Nlc3NpbmdJbnN0cnVjdGlvbjwvaDM+PHByZT4jZGVmaW5lIHhtbFRleHRXcml0ZXJXcml0ZVByb2Nlc3NpbmdJbnN0cnVjdGlvbjwvcHJlPjxwPlRoaXMgbWFjcm8gbWFwcyB0byA8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlUEkiPnhtbFRleHRXcml0ZXJXcml0ZVBJPC9hPjwvcD4KKzxoMz48YSBuYW1lPSJ4bWxUZXh0V3JpdGVyIiBpZD0ieG1sVGV4dFdyaXRlciI+U3RydWN0dXJlIHhtbFRleHRXcml0ZXI8L2E+PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+U3RydWN0dXJlIHhtbFRleHRXcml0ZXI8YnIgLz5zdHJ1Y3QgX3htbFRleHRXcml0ZXIgeworVGhlIGNvbnRlbnQgb2YgdGhpcyBzdHJ1Y3R1cmUgaXMgbm90IG1hZGUgcHVibGljIGJ5IHRoZSBBUEkuCit9PC9wcmU+PGgzPjxhIG5hbWU9InhtbEZyZWVUZXh0V3JpdGVyIiBpZD0ieG1sRnJlZVRleHRXcml0ZXIiPjwvYT5GdW5jdGlvbjogeG1sRnJlZVRleHRXcml0ZXI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbEZyZWVUZXh0V3JpdGVyCQkoPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlcik8YnIgLz4KKzwvcHJlPjxwPkRlYWxsb2NhdGUgYWxsIHRoZSByZXNvdXJjZXMgYXNzb2NpYXRlZCB0byB0aGUgd3JpdGVyPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d3JpdGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sTmV3VGV4dFdyaXRlciIgaWQ9InhtbE5ld1RleHRXcml0ZXIiPjwvYT5GdW5jdGlvbjogeG1sTmV3VGV4dFdyaXRlcjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPgl4bWxOZXdUZXh0V3JpdGVyCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE91dHB1dEJ1ZmZlclB0ciI+eG1sT3V0cHV0QnVmZmVyUHRyPC9hPiBvdXQpPGJyIC8+Cis8L3ByZT48cD5DcmVhdGUgYSBuZXcgPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbE5ld1RleHRXcml0ZXIiPnhtbE5ld1RleHRXcml0ZXI8L2E+IHN0cnVjdHVyZSB1c2luZyBhbiA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE91dHB1dEJ1ZmZlclB0ciI+eG1sT3V0cHV0QnVmZmVyUHRyPC9hPiBOT1RFOiB0aGUgQG91dCBwYXJhbWV0ZXIgd2lsbCBiZSBkZWFsbG9jYXRlZCB3aGVuIHRoZSB3cml0ZXIgaXMgY2xvc2VkIChpZiB0aGUgY2FsbCBzdWNjZWVkLik8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vdXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sT3V0cHV0QnVmZmVyUHRyIj54bWxPdXRwdXRCdWZmZXJQdHI8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IDxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxOZXdUZXh0V3JpdGVyRG9jIiBpZD0ieG1sTmV3VGV4dFdyaXRlckRvYyI+PC9hPkZ1bmN0aW9uOiB4bWxOZXdUZXh0V3JpdGVyRG9jPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+CXhtbE5ld1RleHRXcml0ZXJEb2MJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+ICogZG9jLCA8YnIgLz4JCQkJCQkgaW50IGNvbXByZXNzaW9uKTxiciAvPgorPC9wcmU+PHA+Q3JlYXRlIGEgbmV3IDxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxOZXdUZXh0V3JpdGVyIj54bWxOZXdUZXh0V3JpdGVyPC9hPiBzdHJ1Y3R1cmUgd2l0aCBAKmRvYyBhcyBvdXRwdXQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kb2M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFkZHJlc3Mgb2YgYSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiB0byBob2xkIHRoZSBuZXcgWE1MIGRvY3VtZW50IHRyZWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbXByZXNzaW9uPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5jb21wcmVzcyB0aGUgb3V0cHV0PzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ldyA8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sTmV3VGV4dFdyaXRlckZpbGVuYW1lIiBpZD0ieG1sTmV3VGV4dFdyaXRlckZpbGVuYW1lIj48L2E+RnVuY3Rpb246IHhtbE5ld1RleHRXcml0ZXJGaWxlbmFtZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPgl4bWxOZXdUZXh0V3JpdGVyRmlsZW5hbWUJKGNvbnN0IGNoYXIgKiB1cmksIDxiciAvPgkJCQkJCQkgaW50IGNvbXByZXNzaW9uKTxiciAvPgorPC9wcmU+PHA+Q3JlYXRlIGEgbmV3IDxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxOZXdUZXh0V3JpdGVyIj54bWxOZXdUZXh0V3JpdGVyPC9hPiBzdHJ1Y3R1cmUgd2l0aCBAdXJpIGFzIG91dHB1dDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnVyaTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFVSSSBvZiB0aGUgcmVzb3VyY2UgZm9yIHRoZSBvdXRwdXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbXByZXNzaW9uPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5jb21wcmVzcyB0aGUgb3V0cHV0PzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ldyA8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sTmV3VGV4dFdyaXRlck1lbW9yeSIgaWQ9InhtbE5ld1RleHRXcml0ZXJNZW1vcnkiPjwvYT5GdW5jdGlvbjogeG1sTmV3VGV4dFdyaXRlck1lbW9yeTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPgl4bWxOZXdUZXh0V3JpdGVyTWVtb3J5CSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlclB0ciI+eG1sQnVmZmVyUHRyPC9hPiBidWYsIDxiciAvPgkJCQkJCSBpbnQgY29tcHJlc3Npb24pPGJyIC8+Cis8L3ByZT48cD5DcmVhdGUgYSBuZXcgPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbE5ld1RleHRXcml0ZXIiPnhtbE5ld1RleHRXcml0ZXI8L2E+IHN0cnVjdHVyZSB3aXRoIEBidWYgYXMgb3V0cHV0IFRPRE86IGhhbmRsZSBjb21wcmVzc2lvbjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmJ1ZjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJQdHIiPnhtbEJ1ZmZlclB0cjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbXByZXNzaW9uPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5jb21wcmVzcyB0aGUgb3V0cHV0PzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ldyA8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sTmV3VGV4dFdyaXRlclB1c2hQYXJzZXIiIGlkPSJ4bWxOZXdUZXh0V3JpdGVyUHVzaFBhcnNlciI+PC9hPkZ1bmN0aW9uOiB4bWxOZXdUZXh0V3JpdGVyUHVzaFBhcnNlcjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPgl4bWxOZXdUZXh0V3JpdGVyUHVzaFBhcnNlcgkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIj54bWxQYXJzZXJDdHh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCQkJIGludCBjb21wcmVzc2lvbik8YnIgLz4KKzwvcHJlPjxwPkNyZWF0ZSBhIG5ldyA8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sTmV3VGV4dFdyaXRlciI+eG1sTmV3VGV4dFdyaXRlcjwvYT4gc3RydWN0dXJlIHdpdGggQGN0eHQgYXMgb3V0cHV0IE5PVEU6IHRoZSBAY3R4dCBjb250ZXh0IHdpbGwgYmUgZnJlZWQgd2l0aCB0aGUgcmVzdWx0aW5nIHdyaXRlciAoaWYgdGhlIGNhbGwgc3VjY2VlZHMpLiBUT0RPOiBoYW5kbGUgY29tcHJlc3Npb248L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHIiPnhtbFBhcnNlckN0eHRQdHI8L2E+IHRvIGhvbGQgdGhlIG5ldyBYTUwgZG9jdW1lbnQgdHJlZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29tcHJlc3Npb248L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmNvbXByZXNzIHRoZSBvdXRwdXQ/PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IDxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxOZXdUZXh0V3JpdGVyVHJlZSIgaWQ9InhtbE5ld1RleHRXcml0ZXJUcmVlIj48L2E+RnVuY3Rpb246IHhtbE5ld1RleHRXcml0ZXJUcmVlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+CXhtbE5ld1RleHRXcml0ZXJUcmVlCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxiciAvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsIDxiciAvPgkJCQkJCSBpbnQgY29tcHJlc3Npb24pPGJyIC8+Cis8L3ByZT48cD5DcmVhdGUgYSBuZXcgPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbE5ld1RleHRXcml0ZXIiPnhtbE5ld1RleHRXcml0ZXI8L2E+IHN0cnVjdHVyZSB3aXRoIEBkb2MgYXMgb3V0cHV0IHN0YXJ0aW5nIGF0IEBub2RlPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBvciBOVUxMIGZvciBkb2MtJmd0O2NoaWxkcmVuPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb21wcmVzc2lvbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+Y29tcHJlc3MgdGhlIG91dHB1dD88L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXcgPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFRleHRXcml0ZXJFbmRBdHRyaWJ1dGUiIGlkPSJ4bWxUZXh0V3JpdGVyRW5kQXR0cmlidXRlIj48L2E+RnVuY3Rpb246IHhtbFRleHRXcml0ZXJFbmRBdHRyaWJ1dGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFdyaXRlckVuZEF0dHJpYnV0ZQkoPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlcik8YnIgLz4KKzwvcHJlPjxwPkVuZCB0aGUgY3VycmVudCB4bWwgZWxlbWVudC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD53cml0ZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFRleHRXcml0ZXJFbmRDREFUQSIgaWQ9InhtbFRleHRXcml0ZXJFbmRDREFUQSI+PC9hPkZ1bmN0aW9uOiB4bWxUZXh0V3JpdGVyRW5kQ0RBVEE8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFdyaXRlckVuZENEQVRBCQkoPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlcik8YnIgLz4KKzwvcHJlPjxwPkVuZCBhbiB4bWwgQ0RBVEEgc2VjdGlvbi48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD53cml0ZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFRleHRXcml0ZXJFbmRDb21tZW50IiBpZD0ieG1sVGV4dFdyaXRlckVuZENvbW1lbnQiPjwvYT5GdW5jdGlvbjogeG1sVGV4dFdyaXRlckVuZENvbW1lbnQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFdyaXRlckVuZENvbW1lbnQJCSg8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyKTxiciAvPgorPC9wcmU+PHA+RW5kIHRoZSBjdXJyZW50IHhtbCBjb21lbnQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d3JpdGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxUZXh0V3JpdGVyRW5kRFREIiBpZD0ieG1sVGV4dFdyaXRlckVuZERURCI+PC9hPkZ1bmN0aW9uOiB4bWxUZXh0V3JpdGVyRW5kRFREPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRleHRXcml0ZXJFbmREVEQJCSg8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyKTxiciAvPgorPC9wcmU+PHA+RW5kIGFuIHhtbCBEVEQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d3JpdGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxUZXh0V3JpdGVyRW5kRFREQXR0bGlzdCIgaWQ9InhtbFRleHRXcml0ZXJFbmREVERBdHRsaXN0Ij48L2E+RnVuY3Rpb246IHhtbFRleHRXcml0ZXJFbmREVERBdHRsaXN0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRleHRXcml0ZXJFbmREVERBdHRsaXN0CSg8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyKTxiciAvPgorPC9wcmU+PHA+RW5kIGFuIHhtbCBEVEQgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBsaXN0LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PndyaXRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVGV4dFdyaXRlckVuZERUREVsZW1lbnQiIGlkPSJ4bWxUZXh0V3JpdGVyRW5kRFRERWxlbWVudCI+PC9hPkZ1bmN0aW9uOiB4bWxUZXh0V3JpdGVyRW5kRFRERWxlbWVudDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0V3JpdGVyRW5kRFRERWxlbWVudAkoPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlcik8YnIgLz4KKzwvcHJlPjxwPkVuZCBhbiB4bWwgRFREIGVsZW1lbnQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d3JpdGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxUZXh0V3JpdGVyRW5kRFRERW50aXR5IiBpZD0ieG1sVGV4dFdyaXRlckVuZERUREVudGl0eSI+PC9hPkZ1bmN0aW9uOiB4bWxUZXh0V3JpdGVyRW5kRFRERW50aXR5PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRleHRXcml0ZXJFbmREVERFbnRpdHkJKDxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIpPGJyIC8+Cis8L3ByZT48cD5FbmQgYW4geG1sIERURCBlbnRpdHkuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d3JpdGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxUZXh0V3JpdGVyRW5kRG9jdW1lbnQiIGlkPSJ4bWxUZXh0V3JpdGVyRW5kRG9jdW1lbnQiPjwvYT5GdW5jdGlvbjogeG1sVGV4dFdyaXRlckVuZERvY3VtZW50PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRleHRXcml0ZXJFbmREb2N1bWVudAkoPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlcik8YnIgLz4KKzwvcHJlPjxwPkVuZCBhbiB4bWwgZG9jdW1lbnQuIEFsbCBvcGVuIGVsZW1lbnRzIGFyZSBjbG9zZWQsIGFuZCB0aGUgY29udGVudCBpcyBmbHVzaGVkIHRvIHRoZSBvdXRwdXQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d3JpdGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnl0ZXMgd3JpdHRlbiBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVGV4dFdyaXRlckVuZEVsZW1lbnQiIGlkPSJ4bWxUZXh0V3JpdGVyRW5kRWxlbWVudCI+PC9hPkZ1bmN0aW9uOiB4bWxUZXh0V3JpdGVyRW5kRWxlbWVudDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0V3JpdGVyRW5kRWxlbWVudAkJKDxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIpPGJyIC8+Cis8L3ByZT48cD5FbmQgdGhlIGN1cnJlbnQgeG1sIGVsZW1lbnQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d3JpdGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxUZXh0V3JpdGVyRW5kUEkiIGlkPSJ4bWxUZXh0V3JpdGVyRW5kUEkiPjwvYT5GdW5jdGlvbjogeG1sVGV4dFdyaXRlckVuZFBJPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRleHRXcml0ZXJFbmRQSQkJKDxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIpPGJyIC8+Cis8L3ByZT48cD5FbmQgdGhlIGN1cnJlbnQgeG1sIFBJLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PndyaXRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVGV4dFdyaXRlckZsdXNoIiBpZD0ieG1sVGV4dFdyaXRlckZsdXNoIj48L2E+RnVuY3Rpb246IHhtbFRleHRXcml0ZXJGbHVzaDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0V3JpdGVyRmx1c2gJCSg8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyKTxiciAvPgorPC9wcmU+PHA+Rmx1c2ggdGhlIG91dHB1dCBidWZmZXIuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d3JpdGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxUZXh0V3JpdGVyRnVsbEVuZEVsZW1lbnQiIGlkPSJ4bWxUZXh0V3JpdGVyRnVsbEVuZEVsZW1lbnQiPjwvYT5GdW5jdGlvbjogeG1sVGV4dFdyaXRlckZ1bGxFbmRFbGVtZW50PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRleHRXcml0ZXJGdWxsRW5kRWxlbWVudAkoPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlcik8YnIgLz4KKzwvcHJlPjxwPkVuZCB0aGUgY3VycmVudCB4bWwgZWxlbWVudC4gV3JpdGVzIGFuIGVuZCB0YWcgZXZlbiBpZiB0aGUgZWxlbWVudCBpcyBlbXB0eTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PndyaXRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVGV4dFdyaXRlclNldEluZGVudCIgaWQ9InhtbFRleHRXcml0ZXJTZXRJbmRlbnQiPjwvYT5GdW5jdGlvbjogeG1sVGV4dFdyaXRlclNldEluZGVudDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0V3JpdGVyU2V0SW5kZW50CQkoPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyIC8+CQkJCQkgaW50IGluZGVudCk8YnIgLz4KKzwvcHJlPjxwPlNldCBpbmRlbnRhdGlvbiBvdXRwdXQuIGluZGVudCA9IDAgZG8gbm90IGluZGVudGF0aW9uLiBpbmRlbnQgJmd0OyAwIGRvIGluZGVudGF0aW9uLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PndyaXRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aW5kZW50PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5kbyBpbmRlbnRhdGlvbj88L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPi0xIG9uIGVycm9yIG9yIDAgb3RoZXJ3aXNlLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFRleHRXcml0ZXJTZXRJbmRlbnRTdHJpbmciIGlkPSJ4bWxUZXh0V3JpdGVyU2V0SW5kZW50U3RyaW5nIj48L2E+RnVuY3Rpb246IHhtbFRleHRXcml0ZXJTZXRJbmRlbnRTdHJpbmc8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFdyaXRlclNldEluZGVudFN0cmluZwkoPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3RyKTxiciAvPgorPC9wcmU+PHA+U2V0IHN0cmluZyBpbmRlbnRhdGlvbi48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD53cml0ZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiBzdHJpbmc8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPi0xIG9uIGVycm9yIG9yIDAgb3RoZXJ3aXNlLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFRleHRXcml0ZXJTZXRRdW90ZUNoYXIiIGlkPSJ4bWxUZXh0V3JpdGVyU2V0UXVvdGVDaGFyIj48L2E+RnVuY3Rpb246IHhtbFRleHRXcml0ZXJTZXRRdW90ZUNoYXI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFdyaXRlclNldFF1b3RlQ2hhcgkoPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+IHF1b3RlY2hhcik8YnIgLz4KKzwvcHJlPjxwPlNldCB0aGUgY2hhcmFjdGVyIHVzZWQgZm9yIHF1b3RpbmcgYXR0cmlidXRlcy48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD53cml0ZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnF1b3RlY2hhcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHF1b3RlIGNoYXJhY3RlcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+LTEgb24gZXJyb3Igb3IgMCBvdGhlcndpc2UuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVGV4dFdyaXRlclN0YXJ0QXR0cmlidXRlIiBpZD0ieG1sVGV4dFdyaXRlclN0YXJ0QXR0cmlidXRlIj48L2E+RnVuY3Rpb246IHhtbFRleHRXcml0ZXJTdGFydEF0dHJpYnV0ZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0V3JpdGVyU3RhcnRBdHRyaWJ1dGUJKDxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpPGJyIC8+Cis8L3ByZT48cD5TdGFydCBhbiB4bWwgYXR0cmlidXRlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PndyaXRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+ZWxlbWVudCBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxUZXh0V3JpdGVyU3RhcnRBdHRyaWJ1dGVOUyIgaWQ9InhtbFRleHRXcml0ZXJTdGFydEF0dHJpYnV0ZU5TIj48L2E+RnVuY3Rpb246IHhtbFRleHRXcml0ZXJTdGFydEF0dHJpYnV0ZU5TPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRleHRXcml0ZXJTdGFydEF0dHJpYnV0ZU5TCSg8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwcmVmaXgsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWVzcGFjZVVSSSk8YnIgLz4KKzwvcHJlPjxwPlN0YXJ0IGFuIHhtbCA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IHdpdGggbmFtZXNwYWNlIHN1cHBvcnQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d3JpdGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wcmVmaXg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPm5hbWVzcGFjZSBwcmVmaXggb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+ZWxlbWVudCBsb2NhbCBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lc3BhY2VVUkk8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPm5hbWVzcGFjZSBVUkkgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVGV4dFdyaXRlclN0YXJ0Q0RBVEEiIGlkPSJ4bWxUZXh0V3JpdGVyU3RhcnRDREFUQSI+PC9hPkZ1bmN0aW9uOiB4bWxUZXh0V3JpdGVyU3RhcnRDREFUQTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0V3JpdGVyU3RhcnRDREFUQQkJKDxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIpPGJyIC8+Cis8L3ByZT48cD5TdGFydCBhbiB4bWwgQ0RBVEEgc2VjdGlvbi48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD53cml0ZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFRleHRXcml0ZXJTdGFydENvbW1lbnQiIGlkPSJ4bWxUZXh0V3JpdGVyU3RhcnRDb21tZW50Ij48L2E+RnVuY3Rpb246IHhtbFRleHRXcml0ZXJTdGFydENvbW1lbnQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFdyaXRlclN0YXJ0Q29tbWVudAkoPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlcik8YnIgLz4KKzwvcHJlPjxwPlN0YXJ0IGFuIHhtbCBjb21tZW50LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PndyaXRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVGV4dFdyaXRlclN0YXJ0RFREIiBpZD0ieG1sVGV4dFdyaXRlclN0YXJ0RFREIj48L2E+RnVuY3Rpb246IHhtbFRleHRXcml0ZXJTdGFydERURDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0V3JpdGVyU3RhcnREVEQJCSg8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwdWJpZCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3lzaWQpPGJyIC8+Cis8L3ByZT48cD5TdGFydCBhbiB4bWwgRFRELjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PndyaXRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5hbWUgb2YgdGhlIERURDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cHViaWQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwdWJsaWMgaWRlbnRpZmllciwgd2hpY2ggaXMgYW4gYWx0ZXJuYXRpdmUgdG8gdGhlIHN5c3RlbSBpZGVudGlmaWVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zeXNpZDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHN5c3RlbSBpZGVudGlmaWVyLCB3aGljaCBpcyB0aGUgVVJJIG9mIHRoZSBEVEQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFRleHRXcml0ZXJTdGFydERUREF0dGxpc3QiIGlkPSJ4bWxUZXh0V3JpdGVyU3RhcnREVERBdHRsaXN0Ij48L2E+RnVuY3Rpb246IHhtbFRleHRXcml0ZXJTdGFydERUREF0dGxpc3Q8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFdyaXRlclN0YXJ0RFREQXR0bGlzdAkoPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSk8YnIgLz4KKzwvcHJlPjxwPlN0YXJ0IGFuIHhtbCBEVEQgQVRUTElTVC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD53cml0ZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lIG9mIHRoZSBEVEQgQVRUTElTVDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVGV4dFdyaXRlclN0YXJ0RFRERWxlbWVudCIgaWQ9InhtbFRleHRXcml0ZXJTdGFydERUREVsZW1lbnQiPjwvYT5GdW5jdGlvbjogeG1sVGV4dFdyaXRlclN0YXJ0RFRERWxlbWVudDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0V3JpdGVyU3RhcnREVERFbGVtZW50CSg8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKTxiciAvPgorPC9wcmU+PHA+U3RhcnQgYW4geG1sIERURCBlbGVtZW50LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PndyaXRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5hbWUgb2YgdGhlIERURCBlbGVtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxUZXh0V3JpdGVyU3RhcnREVERFbnRpdHkiIGlkPSJ4bWxUZXh0V3JpdGVyU3RhcnREVERFbnRpdHkiPjwvYT5GdW5jdGlvbjogeG1sVGV4dFdyaXRlclN0YXJ0RFRERW50aXR5PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRleHRXcml0ZXJTdGFydERUREVudGl0eQkoPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyIC8+CQkJCQkgaW50IHBlLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKTxiciAvPgorPC9wcmU+PHA+U3RhcnQgYW4geG1sIERURCBBVFRMSVNULjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PndyaXRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlRSVUUgaWYgdGhpcyBpcyBhIHBhcmFtZXRlciBlbnRpdHksIEZBTFNFIGlmIG5vdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5hbWUgb2YgdGhlIERURCBBVFRMSVNUPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxUZXh0V3JpdGVyU3RhcnREb2N1bWVudCIgaWQ9InhtbFRleHRXcml0ZXJTdGFydERvY3VtZW50Ij48L2E+RnVuY3Rpb246IHhtbFRleHRXcml0ZXJTdGFydERvY3VtZW50PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRleHRXcml0ZXJTdGFydERvY3VtZW50CSg8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogdmVyc2lvbiwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGVuY29kaW5nLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogc3RhbmRhbG9uZSk8YnIgLz4KKzwvcHJlPjxwPlN0YXJ0IGEgbmV3IHhtbCBkb2N1bWVudDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PndyaXRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmVyc2lvbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHhtbCB2ZXJzaW9uICgiMS4wIikgb3IgTlVMTCBmb3IgZGVmYXVsdCAoIjEuMCIpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbmNvZGluZzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVuY29kaW5nIG9yIE5VTEwgZm9yIGRlZmF1bHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0YW5kYWxvbmU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPiJ5ZXMiIG9yICJubyIgb3IgTlVMTCBmb3IgZGVmYXVsdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVGV4dFdyaXRlclN0YXJ0RWxlbWVudCIgaWQ9InhtbFRleHRXcml0ZXJTdGFydEVsZW1lbnQiPjwvYT5GdW5jdGlvbjogeG1sVGV4dFdyaXRlclN0YXJ0RWxlbWVudDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0V3JpdGVyU3RhcnRFbGVtZW50CSg8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKTxiciAvPgorPC9wcmU+PHA+U3RhcnQgYW4geG1sIGVsZW1lbnQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d3JpdGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5lbGVtZW50IG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFRleHRXcml0ZXJTdGFydEVsZW1lbnROUyIgaWQ9InhtbFRleHRXcml0ZXJTdGFydEVsZW1lbnROUyI+PC9hPkZ1bmN0aW9uOiB4bWxUZXh0V3JpdGVyU3RhcnRFbGVtZW50TlM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFdyaXRlclN0YXJ0RWxlbWVudE5TCSg8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwcmVmaXgsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWVzcGFjZVVSSSk8YnIgLz4KKzwvcHJlPjxwPlN0YXJ0IGFuIHhtbCBlbGVtZW50IHdpdGggbmFtZXNwYWNlIHN1cHBvcnQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d3JpdGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wcmVmaXg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPm5hbWVzcGFjZSBwcmVmaXggb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+ZWxlbWVudCBsb2NhbCBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lc3BhY2VVUkk8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPm5hbWVzcGFjZSBVUkkgb3IgTlVMTDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVGV4dFdyaXRlclN0YXJ0UEkiIGlkPSJ4bWxUZXh0V3JpdGVyU3RhcnRQSSI+PC9hPkZ1bmN0aW9uOiB4bWxUZXh0V3JpdGVyU3RhcnRQSTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0V3JpdGVyU3RhcnRQSQkJKDxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHRhcmdldCk8YnIgLz4KKzwvcHJlPjxwPlN0YXJ0IGFuIHhtbCBQSS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD53cml0ZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRhcmdldDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+UEkgdGFyZ2V0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxUZXh0V3JpdGVyV3JpdGVBdHRyaWJ1dGUiIGlkPSJ4bWxUZXh0V3JpdGVyV3JpdGVBdHRyaWJ1dGUiPjwvYT5GdW5jdGlvbjogeG1sVGV4dFdyaXRlcldyaXRlQXR0cmlidXRlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRleHRXcml0ZXJXcml0ZUF0dHJpYnV0ZQkoPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY29udGVudCk8YnIgLz4KKzwvcHJlPjxwPldyaXRlIGFuIHhtbCBhdHRyaWJ1dGUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d3JpdGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD48YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbnRlbnQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gY29udGVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVGV4dFdyaXRlcldyaXRlQXR0cmlidXRlTlMiIGlkPSJ4bWxUZXh0V3JpdGVyV3JpdGVBdHRyaWJ1dGVOUyI+PC9hPkZ1bmN0aW9uOiB4bWxUZXh0V3JpdGVyV3JpdGVBdHRyaWJ1dGVOUzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0V3JpdGVyV3JpdGVBdHRyaWJ1dGVOUwkoPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHJlZml4LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lc3BhY2VVUkksIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGNvbnRlbnQpPGJyIC8+Cis8L3ByZT48cD5Xcml0ZSBhbiB4bWwgYXR0cmlidXRlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PndyaXRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cHJlZml4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5uYW1lc3BhY2UgcHJlZml4PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD48YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IGxvY2FsIG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWVzcGFjZVVSSTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+bmFtZXNwYWNlIFVSSTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29udGVudDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+PGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBjb250ZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxUZXh0V3JpdGVyV3JpdGVCYXNlNjQiIGlkPSJ4bWxUZXh0V3JpdGVyV3JpdGVCYXNlNjQiPjwvYT5GdW5jdGlvbjogeG1sVGV4dFdyaXRlcldyaXRlQmFzZTY0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRleHRXcml0ZXJXcml0ZUJhc2U2NAkoPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGRhdGEsIDxiciAvPgkJCQkJIGludCBzdGFydCwgPGJyIC8+CQkJCQkgaW50IGxlbik8YnIgLz4KKzwvcHJlPjxwPldyaXRlIGFuIGJhc2U2NCBlbmNvZGVkIHhtbCB0ZXh0LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PndyaXRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGF0YTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YmluYXJ5IGRhdGE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0YXJ0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcG9zaXRpb24gd2l0aGluIHRoZSBkYXRhIG9mIHRoZSBmaXJzdCBieXRlIHRvIGVuY29kZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGVuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGJ5dGVzIHRvIGVuY29kZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVGV4dFdyaXRlcldyaXRlQmluSGV4IiBpZD0ieG1sVGV4dFdyaXRlcldyaXRlQmluSGV4Ij48L2E+RnVuY3Rpb246IHhtbFRleHRXcml0ZXJXcml0ZUJpbkhleDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0V3JpdGVyV3JpdGVCaW5IZXgJKDxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBkYXRhLCA8YnIgLz4JCQkJCSBpbnQgc3RhcnQsIDxiciAvPgkJCQkJIGludCBsZW4pPGJyIC8+Cis8L3ByZT48cD5Xcml0ZSBhIEJpbkhleCBlbmNvZGVkIHhtbCB0ZXh0LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PndyaXRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZGF0YTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YmluYXJ5IGRhdGE8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0YXJ0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcG9zaXRpb24gd2l0aGluIHRoZSBkYXRhIG9mIHRoZSBmaXJzdCBieXRlIHRvIGVuY29kZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGVuPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGJ5dGVzIHRvIGVuY29kZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVGV4dFdyaXRlcldyaXRlQ0RBVEEiIGlkPSJ4bWxUZXh0V3JpdGVyV3JpdGVDREFUQSI+PC9hPkZ1bmN0aW9uOiB4bWxUZXh0V3JpdGVyV3JpdGVDREFUQTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0V3JpdGVyV3JpdGVDREFUQQkJKDxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGNvbnRlbnQpPGJyIC8+Cis8L3ByZT48cD5Xcml0ZSBhbiB4bWwgQ0RBVEEuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d3JpdGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb250ZW50PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5DREFUQSBjb250ZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxUZXh0V3JpdGVyV3JpdGVDb21tZW50IiBpZD0ieG1sVGV4dFdyaXRlcldyaXRlQ29tbWVudCI+PC9hPkZ1bmN0aW9uOiB4bWxUZXh0V3JpdGVyV3JpdGVDb21tZW50PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRleHRXcml0ZXJXcml0ZUNvbW1lbnQJKDxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGNvbnRlbnQpPGJyIC8+Cis8L3ByZT48cD5Xcml0ZSBhbiB4bWwgY29tbWVudC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD53cml0ZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbnRlbnQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNjb21tZW50Ij5jb21tZW50PC9hPiBzdHJpbmc8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFRleHRXcml0ZXJXcml0ZURURCIgaWQ9InhtbFRleHRXcml0ZXJXcml0ZURURCI+PC9hPkZ1bmN0aW9uOiB4bWxUZXh0V3JpdGVyV3JpdGVEVEQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFdyaXRlcldyaXRlRFRECQkoPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHViaWQsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN5c2lkLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzdWJzZXQpPGJyIC8+Cis8L3ByZT48cD5Xcml0ZSBhIERURC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD53cml0ZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lIG9mIHRoZSBEVEQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnB1YmlkPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcHVibGljIGlkZW50aWZpZXIsIHdoaWNoIGlzIGFuIGFsdGVybmF0aXZlIHRvIHRoZSBzeXN0ZW0gaWRlbnRpZmllcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3lzaWQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzeXN0ZW0gaWRlbnRpZmllciwgd2hpY2ggaXMgdGhlIFVSSSBvZiB0aGUgRFREPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdWJzZXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnN0cmluZyBjb250ZW50IG9mIHRoZSBEVEQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFRleHRXcml0ZXJXcml0ZURUREF0dGxpc3QiIGlkPSJ4bWxUZXh0V3JpdGVyV3JpdGVEVERBdHRsaXN0Ij48L2E+RnVuY3Rpb246IHhtbFRleHRXcml0ZXJXcml0ZURUREF0dGxpc3Q8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFdyaXRlcldyaXRlRFREQXR0bGlzdAkoPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY29udGVudCk8YnIgLz4KKzwvcHJlPjxwPldyaXRlIGEgRFREIEFUVExJU1QuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d3JpdGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZSBvZiB0aGUgRFREIEFUVExJU1Q8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbnRlbnQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmNvbnRlbnQgb2YgdGhlIEFUVExJU1Q8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFRleHRXcml0ZXJXcml0ZURUREVsZW1lbnQiIGlkPSJ4bWxUZXh0V3JpdGVyV3JpdGVEVERFbGVtZW50Ij48L2E+RnVuY3Rpb246IHhtbFRleHRXcml0ZXJXcml0ZURUREVsZW1lbnQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFdyaXRlcldyaXRlRFRERWxlbWVudAkoPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY29udGVudCk8YnIgLz4KKzwvcHJlPjxwPldyaXRlIGEgRFREIGVsZW1lbnQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d3JpdGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZSBvZiB0aGUgRFREIGVsZW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbnRlbnQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmNvbnRlbnQgb2YgdGhlIGVsZW1lbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFRleHRXcml0ZXJXcml0ZURUREVudGl0eSIgaWQ9InhtbFRleHRXcml0ZXJXcml0ZURUREVudGl0eSI+PC9hPkZ1bmN0aW9uOiB4bWxUZXh0V3JpdGVyV3JpdGVEVERFbnRpdHk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFdyaXRlcldyaXRlRFRERW50aXR5CSg8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIgLz4JCQkJCSBpbnQgcGUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHB1YmlkLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzeXNpZCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmRhdGFpZCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY29udGVudCk8YnIgLz4KKzwvcHJlPjxwPldyaXRlIGEgRFREIGVudGl0eS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD53cml0ZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnBlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5UUlVFIGlmIHRoaXMgaXMgYSBwYXJhbWV0ZXIgZW50aXR5LCBGQUxTRSBpZiBub3Q8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lIG9mIHRoZSBEVEQgZW50aXR5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wdWJpZDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHB1YmxpYyBpZGVudGlmaWVyLCB3aGljaCBpcyBhbiBhbHRlcm5hdGl2ZSB0byB0aGUgc3lzdGVtIGlkZW50aWZpZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN5c2lkPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc3lzdGVtIGlkZW50aWZpZXIsIHdoaWNoIGlzIHRoZSBVUkkgb2YgdGhlIERURDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmRhdGFpZDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHhtbCBub3RhdGlvbiBuYW1lLjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29udGVudDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+Y29udGVudCBvZiB0aGUgZW50aXR5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxUZXh0V3JpdGVyV3JpdGVEVERFeHRlcm5hbEVudGl0eSIgaWQ9InhtbFRleHRXcml0ZXJXcml0ZURUREV4dGVybmFsRW50aXR5Ij48L2E+RnVuY3Rpb246IHhtbFRleHRXcml0ZXJXcml0ZURUREV4dGVybmFsRW50aXR5PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRleHRXcml0ZXJXcml0ZURUREV4dGVybmFsRW50aXR5CSg8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIgLz4JCQkJCQkgaW50IHBlLCA8YnIgLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHB1YmlkLCA8YnIgLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3lzaWQsIDxiciAvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuZGF0YWlkKTxiciAvPgorPC9wcmU+PHA+V3JpdGUgYSBEVEQgZXh0ZXJuYWwgZW50aXR5LiBUaGUgZW50aXR5IG11c3QgaGF2ZSBiZWVuIHN0YXJ0ZWQgd2l0aCA8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclN0YXJ0RFRERW50aXR5Ij54bWxUZXh0V3JpdGVyU3RhcnREVERFbnRpdHk8L2E+PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d3JpdGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VFJVRSBpZiB0aGlzIGlzIGEgcGFyYW1ldGVyIGVudGl0eSwgRkFMU0UgaWYgbm90PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZSBvZiB0aGUgRFREIGVudGl0eTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cHViaWQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwdWJsaWMgaWRlbnRpZmllciwgd2hpY2ggaXMgYW4gYWx0ZXJuYXRpdmUgdG8gdGhlIHN5c3RlbSBpZGVudGlmaWVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zeXNpZDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHN5c3RlbSBpZGVudGlmaWVyLCB3aGljaCBpcyB0aGUgVVJJIG9mIHRoZSBEVEQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5kYXRhaWQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB4bWwgbm90YXRpb24gbmFtZS48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFRleHRXcml0ZXJXcml0ZURUREV4dGVybmFsRW50aXR5Q29udGVudHMiIGlkPSJ4bWxUZXh0V3JpdGVyV3JpdGVEVERFeHRlcm5hbEVudGl0eUNvbnRlbnRzIj48L2E+RnVuY3Rpb246IHhtbFRleHRXcml0ZXJXcml0ZURUREV4dGVybmFsRW50aXR5Q29udGVudHM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFdyaXRlcldyaXRlRFRERXh0ZXJuYWxFbnRpdHlDb250ZW50cwkoPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyIC8+CQkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwdWJpZCwgPGJyIC8+CQkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzeXNpZCwgPGJyIC8+CQkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuZGF0YWlkKTxiciAvPgorPC9wcmU+PHA+V3JpdGUgdGhlIGNvbnRlbnRzIG9mIGEgRFREIGV4dGVybmFsIGVudGl0eS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD53cml0ZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnB1YmlkPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcHVibGljIGlkZW50aWZpZXIsIHdoaWNoIGlzIGFuIGFsdGVybmF0aXZlIHRvIHRoZSBzeXN0ZW0gaWRlbnRpZmllcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3lzaWQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzeXN0ZW0gaWRlbnRpZmllciwgd2hpY2ggaXMgdGhlIFVSSSBvZiB0aGUgRFREPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uZGF0YWlkPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgeG1sIG5vdGF0aW9uIG5hbWUuPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxUZXh0V3JpdGVyV3JpdGVEVERJbnRlcm5hbEVudGl0eSIgaWQ9InhtbFRleHRXcml0ZXJXcml0ZURUREludGVybmFsRW50aXR5Ij48L2E+RnVuY3Rpb246IHhtbFRleHRXcml0ZXJXcml0ZURUREludGVybmFsRW50aXR5PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRleHRXcml0ZXJXcml0ZURUREludGVybmFsRW50aXR5CSg8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIgLz4JCQkJCQkgaW50IHBlLCA8YnIgLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGNvbnRlbnQpPGJyIC8+Cis8L3ByZT48cD5Xcml0ZSBhIERURCBpbnRlcm5hbCBlbnRpdHkuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d3JpdGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+VFJVRSBpZiB0aGlzIGlzIGEgcGFyYW1ldGVyIGVudGl0eSwgRkFMU0UgaWYgbm90PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZSBvZiB0aGUgRFREIGVudGl0eTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y29udGVudDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+Y29udGVudCBvZiB0aGUgZW50aXR5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxUZXh0V3JpdGVyV3JpdGVEVEROb3RhdGlvbiIgaWQ9InhtbFRleHRXcml0ZXJXcml0ZURURE5vdGF0aW9uIj48L2E+RnVuY3Rpb246IHhtbFRleHRXcml0ZXJXcml0ZURURE5vdGF0aW9uPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRleHRXcml0ZXJXcml0ZURURE5vdGF0aW9uCSg8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwdWJpZCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3lzaWQpPGJyIC8+Cis8L3ByZT48cD5Xcml0ZSBhIERURCBlbnRpdHkuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d3JpdGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZSBvZiB0aGUgeG1sIG5vdGF0aW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wdWJpZDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHB1YmxpYyBpZGVudGlmaWVyLCB3aGljaCBpcyBhbiBhbHRlcm5hdGl2ZSB0byB0aGUgc3lzdGVtIGlkZW50aWZpZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN5c2lkPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc3lzdGVtIGlkZW50aWZpZXIsIHdoaWNoIGlzIHRoZSBVUkkgb2YgdGhlIERURDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVGV4dFdyaXRlcldyaXRlRWxlbWVudCIgaWQ9InhtbFRleHRXcml0ZXJXcml0ZUVsZW1lbnQiPjwvYT5GdW5jdGlvbjogeG1sVGV4dFdyaXRlcldyaXRlRWxlbWVudDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0V3JpdGVyV3JpdGVFbGVtZW50CSg8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjb250ZW50KTxiciAvPgorPC9wcmU+PHA+V3JpdGUgYW4geG1sIGVsZW1lbnQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d3JpdGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5lbGVtZW50IG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbnRlbnQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmVsZW1lbnQgY29udGVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVGV4dFdyaXRlcldyaXRlRWxlbWVudE5TIiBpZD0ieG1sVGV4dFdyaXRlcldyaXRlRWxlbWVudE5TIj48L2E+RnVuY3Rpb246IHhtbFRleHRXcml0ZXJXcml0ZUVsZW1lbnROUzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0V3JpdGVyV3JpdGVFbGVtZW50TlMJKDxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHByZWZpeCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZXNwYWNlVVJJLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjb250ZW50KTxiciAvPgorPC9wcmU+PHA+V3JpdGUgYW4geG1sIGVsZW1lbnQgd2l0aCBuYW1lc3BhY2Ugc3VwcG9ydC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD53cml0ZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnByZWZpeDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+bmFtZXNwYWNlIHByZWZpeDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+ZWxlbWVudCBsb2NhbCBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lc3BhY2VVUkk8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPm5hbWVzcGFjZSBVUkk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbnRlbnQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmVsZW1lbnQgY29udGVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0QXR0cmlidXRlIiBpZD0ieG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0QXR0cmlidXRlIj48L2E+RnVuY3Rpb246IHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdEF0dHJpYnV0ZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRBdHRyaWJ1dGUJKDxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxiciAvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCQkgY29uc3QgY2hhciAqIGZvcm1hdCwgPGJyIC8+CQkJCQkJIC4uLiAuLi4pPGJyIC8+Cis8L3ByZT48cD5Xcml0ZSBhIGZvcm1hdHRlZCB4bWwgYXR0cmlidXRlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PndyaXRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+PGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mb3JtYXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmZvcm1hdCBzdHJpbmcgKHNlZSBwcmludGYpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD4uLi48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmV4dHJhIHBhcmFtZXRlcnMgZm9yIHRoZSBmb3JtYXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdEF0dHJpYnV0ZU5TIiBpZD0ieG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0QXR0cmlidXRlTlMiPjwvYT5GdW5jdGlvbjogeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0QXR0cmlidXRlTlM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0QXR0cmlidXRlTlMJKDxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxiciAvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwcmVmaXgsIDxiciAvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZXNwYWNlVVJJLCA8YnIgLz4JCQkJCQkgY29uc3QgY2hhciAqIGZvcm1hdCwgPGJyIC8+CQkJCQkJIC4uLiAuLi4pPGJyIC8+Cis8L3ByZT48cD5Xcml0ZSBhIGZvcm1hdHRlZCB4bWwgYXR0cmlidXRlLndpdGggbmFtZXNwYWNlIHN1cHBvcnQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD53cml0ZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnByZWZpeDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+bmFtZXNwYWNlIHByZWZpeDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+PGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBsb2NhbCBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lc3BhY2VVUkk8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPm5hbWVzcGFjZSBVUkk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZvcm1hdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+Zm9ybWF0IHN0cmluZyAoc2VlIHByaW50Zik8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pi4uLjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+ZXh0cmEgcGFyYW1ldGVycyBmb3IgdGhlIGZvcm1hdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0Q0RBVEEiIGlkPSJ4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRDREFUQSI+PC9hPkZ1bmN0aW9uOiB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRDREFUQTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRDREFUQQkoPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGZvcm1hdCwgPGJyIC8+CQkJCQkgLi4uIC4uLik8YnIgLz4KKzwvcHJlPjxwPldyaXRlIGEgZm9ybWF0dGVkIHhtbCBDREFUQS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD53cml0ZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZvcm1hdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+Zm9ybWF0IHN0cmluZyAoc2VlIHByaW50Zik8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pi4uLjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+ZXh0cmEgcGFyYW1ldGVycyBmb3IgdGhlIGZvcm1hdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0Q29tbWVudCIgaWQ9InhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdENvbW1lbnQiPjwvYT5GdW5jdGlvbjogeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0Q29tbWVudDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRDb21tZW50CSg8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogZm9ybWF0LCA8YnIgLz4JCQkJCSAuLi4gLi4uKTxiciAvPgorPC9wcmU+PHA+V3JpdGUgYW4geG1sIGNvbW1lbnQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d3JpdGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mb3JtYXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmZvcm1hdCBzdHJpbmcgKHNlZSBwcmludGYpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD4uLi48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmV4dHJhIHBhcmFtZXRlcnMgZm9yIHRoZSBmb3JtYXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdERURCIgaWQ9InhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdERURCI+PC9hPkZ1bmN0aW9uOiB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVEQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFRECSg8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwdWJpZCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3lzaWQsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBmb3JtYXQsIDxiciAvPgkJCQkJIC4uLiAuLi4pPGJyIC8+Cis8L3ByZT48cD5Xcml0ZSBhIERURCB3aXRoIGEgZm9ybWF0dGVkIG1hcmt1cCBkZWNsYXJhdGlvbnMgcGFydC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD53cml0ZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lIG9mIHRoZSBEVEQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnB1YmlkPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcHVibGljIGlkZW50aWZpZXIsIHdoaWNoIGlzIGFuIGFsdGVybmF0aXZlIHRvIHRoZSBzeXN0ZW0gaWRlbnRpZmllcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3lzaWQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzeXN0ZW0gaWRlbnRpZmllciwgd2hpY2ggaXMgdGhlIFVSSSBvZiB0aGUgRFREPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mb3JtYXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmZvcm1hdCBzdHJpbmcgKHNlZSBwcmludGYpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD4uLi48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmV4dHJhIHBhcmFtZXRlcnMgZm9yIHRoZSBmb3JtYXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdERUREF0dGxpc3QiIGlkPSJ4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVERBdHRsaXN0Ij48L2E+RnVuY3Rpb246IHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdERUREF0dGxpc3Q8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFREQXR0bGlzdAkoPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyIC8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJCSBjb25zdCBjaGFyICogZm9ybWF0LCA8YnIgLz4JCQkJCQkgLi4uIC4uLik8YnIgLz4KKzwvcHJlPjxwPldyaXRlIGEgZm9ybWF0dGVkIERURCBBVFRMSVNULjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PndyaXRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5hbWUgb2YgdGhlIERURCBBVFRMSVNUPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mb3JtYXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmZvcm1hdCBzdHJpbmcgKHNlZSBwcmludGYpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD4uLi48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmV4dHJhIHBhcmFtZXRlcnMgZm9yIHRoZSBmb3JtYXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdERUREVsZW1lbnQiIGlkPSJ4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVERFbGVtZW50Ij48L2E+RnVuY3Rpb246IHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdERUREVsZW1lbnQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFRERWxlbWVudAkoPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyIC8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJCSBjb25zdCBjaGFyICogZm9ybWF0LCA8YnIgLz4JCQkJCQkgLi4uIC4uLik8YnIgLz4KKzwvcHJlPjxwPldyaXRlIGEgZm9ybWF0dGVkIERURCBlbGVtZW50LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PndyaXRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5hbWUgb2YgdGhlIERURCBlbGVtZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mb3JtYXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmZvcm1hdCBzdHJpbmcgKHNlZSBwcmludGYpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD4uLi48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmV4dHJhIHBhcmFtZXRlcnMgZm9yIHRoZSBmb3JtYXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdERUREludGVybmFsRW50aXR5IiBpZD0ieG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFRESW50ZXJuYWxFbnRpdHkiPjwvYT5GdW5jdGlvbjogeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFRESW50ZXJuYWxFbnRpdHk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFRESW50ZXJuYWxFbnRpdHkJKDxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxiciAvPgkJCQkJCQkgaW50IHBlLCA8YnIgLz4JCQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJCQkgY29uc3QgY2hhciAqIGZvcm1hdCwgPGJyIC8+CQkJCQkJCSAuLi4gLi4uKTxiciAvPgorPC9wcmU+PHA+V3JpdGUgYSBmb3JtYXR0ZWQgRFREIGludGVybmFsIGVudGl0eS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD53cml0ZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnBlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5UUlVFIGlmIHRoaXMgaXMgYSBwYXJhbWV0ZXIgZW50aXR5LCBGQUxTRSBpZiBub3Q8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lIG9mIHRoZSBEVEQgZW50aXR5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mb3JtYXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmZvcm1hdCBzdHJpbmcgKHNlZSBwcmludGYpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD4uLi48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmV4dHJhIHBhcmFtZXRlcnMgZm9yIHRoZSBmb3JtYXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdEVsZW1lbnQiIGlkPSJ4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRFbGVtZW50Ij48L2E+RnVuY3Rpb246IHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdEVsZW1lbnQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RWxlbWVudAkoPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGZvcm1hdCwgPGJyIC8+CQkJCQkgLi4uIC4uLik8YnIgLz4KKzwvcHJlPjxwPldyaXRlIGEgZm9ybWF0dGVkIHhtbCBlbGVtZW50LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PndyaXRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+ZWxlbWVudCBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mb3JtYXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmZvcm1hdCBzdHJpbmcgKHNlZSBwcmludGYpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD4uLi48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmV4dHJhIHBhcmFtZXRlcnMgZm9yIHRoZSBmb3JtYXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdEVsZW1lbnROUyIgaWQ9InhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdEVsZW1lbnROUyI+PC9hPkZ1bmN0aW9uOiB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRFbGVtZW50TlM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RWxlbWVudE5TCSg8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIgLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHJlZml4LCA8YnIgLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWVzcGFjZVVSSSwgPGJyIC8+CQkJCQkJIGNvbnN0IGNoYXIgKiBmb3JtYXQsIDxiciAvPgkJCQkJCSAuLi4gLi4uKTxiciAvPgorPC9wcmU+PHA+V3JpdGUgYSBmb3JtYXR0ZWQgeG1sIGVsZW1lbnQgd2l0aCBuYW1lc3BhY2Ugc3VwcG9ydC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD53cml0ZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnByZWZpeDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+bmFtZXNwYWNlIHByZWZpeDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+ZWxlbWVudCBsb2NhbCBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lc3BhY2VVUkk8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPm5hbWVzcGFjZSBVUkk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZvcm1hdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+Zm9ybWF0IHN0cmluZyAoc2VlIHByaW50Zik8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pi4uLjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+ZXh0cmEgcGFyYW1ldGVycyBmb3IgdGhlIGZvcm1hdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0UEkiIGlkPSJ4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRQSSI+PC9hPkZ1bmN0aW9uOiB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRQSTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRQSQkoPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdGFyZ2V0LCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogZm9ybWF0LCA8YnIgLz4JCQkJCSAuLi4gLi4uKTxiciAvPgorPC9wcmU+PHA+V3JpdGUgYSBmb3JtYXR0ZWQgUEkuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d3JpdGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD50YXJnZXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPlBJIHRhcmdldDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Zm9ybWF0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5mb3JtYXQgc3RyaW5nIChzZWUgcHJpbnRmKTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Li4uPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5leHRyYSBwYXJhbWV0ZXJzIGZvciB0aGUgZm9ybWF0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRSYXciIGlkPSJ4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRSYXciPjwvYT5GdW5jdGlvbjogeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0UmF3PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdFJhdwkoPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGZvcm1hdCwgPGJyIC8+CQkJCQkgLi4uIC4uLik8YnIgLz4KKzwvcHJlPjxwPldyaXRlIGEgZm9ybWF0dGVkIHJhdyB4bWwgdGV4dC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD53cml0ZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZvcm1hdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+Zm9ybWF0IHN0cmluZyAoc2VlIHByaW50Zik8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pi4uLjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+ZXh0cmEgcGFyYW1ldGVycyBmb3IgdGhlIGZvcm1hdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0U3RyaW5nIiBpZD0ieG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0U3RyaW5nIj48L2E+RnVuY3Rpb246IHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdFN0cmluZzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRTdHJpbmcJKDxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBmb3JtYXQsIDxiciAvPgkJCQkJIC4uLiAuLi4pPGJyIC8+Cis8L3ByZT48cD5Xcml0ZSBhIGZvcm1hdHRlZCB4bWwgdGV4dC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD53cml0ZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZvcm1hdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+Zm9ybWF0IHN0cmluZyAoc2VlIHByaW50Zik8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pi4uLjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+ZXh0cmEgcGFyYW1ldGVycyBmb3IgdGhlIGZvcm1hdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVGV4dFdyaXRlcldyaXRlUEkiIGlkPSJ4bWxUZXh0V3JpdGVyV3JpdGVQSSI+PC9hPkZ1bmN0aW9uOiB4bWxUZXh0V3JpdGVyV3JpdGVQSTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0V3JpdGVyV3JpdGVQSQkJKDxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHRhcmdldCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY29udGVudCk8YnIgLz4KKzwvcHJlPjxwPldyaXRlIGFuIHhtbCBQSS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD53cml0ZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRhcmdldDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+UEkgdGFyZ2V0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb250ZW50PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5QSSBjb250ZW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxUZXh0V3JpdGVyV3JpdGVSYXciIGlkPSJ4bWxUZXh0V3JpdGVyV3JpdGVSYXciPjwvYT5GdW5jdGlvbjogeG1sVGV4dFdyaXRlcldyaXRlUmF3PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRleHRXcml0ZXJXcml0ZVJhdwkJKDxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIGNvbnRlbnQpPGJyIC8+Cis8L3ByZT48cD5Xcml0ZSBhIHJhdyB4bWwgdGV4dC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD53cml0ZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbnRlbnQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRleHQgc3RyaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxUZXh0V3JpdGVyV3JpdGVSYXdMZW4iIGlkPSJ4bWxUZXh0V3JpdGVyV3JpdGVSYXdMZW4iPjwvYT5GdW5jdGlvbjogeG1sVGV4dFdyaXRlcldyaXRlUmF3TGVuPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRleHRXcml0ZXJXcml0ZVJhd0xlbgkoPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogY29udGVudCwgPGJyIC8+CQkJCQkgaW50IGxlbik8YnIgLz4KKzwvcHJlPjxwPldyaXRlIGFuIHhtbCB0ZXh0LiBUT0RPOiB3aGF0IGFib3V0IGVudGl0aWVzIGFuZCBzcGVjaWFsIGNoYXJzPz88L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD53cml0ZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbnRlbnQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRleHQgc3RyaW5nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZW48L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmxlbmd0aCBvZiB0aGUgdGV4dCBzdHJpbmc8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFRleHRXcml0ZXJXcml0ZVN0cmluZyIgaWQ9InhtbFRleHRXcml0ZXJXcml0ZVN0cmluZyI+PC9hPkZ1bmN0aW9uOiB4bWxUZXh0V3JpdGVyV3JpdGVTdHJpbmc8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFdyaXRlcldyaXRlU3RyaW5nCSg8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBjb250ZW50KTxiciAvPgorPC9wcmU+PHA+V3JpdGUgYW4geG1sIHRleHQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d3JpdGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb250ZW50PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50ZXh0IHN0cmluZzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEF0dHJpYnV0ZSIgaWQ9InhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRBdHRyaWJ1dGUiPjwvYT5GdW5jdGlvbjogeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEF0dHJpYnV0ZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0QXR0cmlidXRlCSg8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIgLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkJIGNvbnN0IGNoYXIgKiBmb3JtYXQsIDxiciAvPgkJCQkJCSB2YV9saXN0IGFyZ3B0cik8YnIgLz4KKzwvcHJlPjxwPldyaXRlIGEgZm9ybWF0dGVkIHhtbCBhdHRyaWJ1dGUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d3JpdGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD48YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZvcm1hdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+Zm9ybWF0IHN0cmluZyAoc2VlIHByaW50Zik8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmFyZ3B0cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+cG9pbnRlciB0byB0aGUgZmlyc3QgbWVtYmVyIG9mIHRoZSB2YXJpYWJsZSBhcmd1bWVudCBsaXN0LjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEF0dHJpYnV0ZU5TIiBpZD0ieG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEF0dHJpYnV0ZU5TIj48L2E+RnVuY3Rpb246IHhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRBdHRyaWJ1dGVOUzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0QXR0cmlidXRlTlMJKDxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxiciAvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwcmVmaXgsIDxiciAvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZXNwYWNlVVJJLCA8YnIgLz4JCQkJCQkgY29uc3QgY2hhciAqIGZvcm1hdCwgPGJyIC8+CQkJCQkJIHZhX2xpc3QgYXJncHRyKTxiciAvPgorPC9wcmU+PHA+V3JpdGUgYSBmb3JtYXR0ZWQgeG1sIGF0dHJpYnV0ZS53aXRoIG5hbWVzcGFjZSBzdXBwb3J0PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d3JpdGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wcmVmaXg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPm5hbWVzcGFjZSBwcmVmaXg8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gbG9jYWwgbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZXNwYWNlVVJJPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5uYW1lc3BhY2UgVVJJPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mb3JtYXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmZvcm1hdCBzdHJpbmcgKHNlZSBwcmludGYpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5hcmdwdHI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnBvaW50ZXIgdG8gdGhlIGZpcnN0IG1lbWJlciBvZiB0aGUgdmFyaWFibGUgYXJndW1lbnQgbGlzdC48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRDREFUQSIgaWQ9InhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRDREFUQSI+PC9hPkZ1bmN0aW9uOiB4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0Q0RBVEE8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdENEQVRBCSg8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogZm9ybWF0LCA8YnIgLz4JCQkJCSB2YV9saXN0IGFyZ3B0cik8YnIgLz4KKzwvcHJlPjxwPldyaXRlIGEgZm9ybWF0dGVkIHhtbCBDREFUQS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD53cml0ZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZvcm1hdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+Zm9ybWF0IHN0cmluZyAoc2VlIHByaW50Zik8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmFyZ3B0cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+cG9pbnRlciB0byB0aGUgZmlyc3QgbWVtYmVyIG9mIHRoZSB2YXJpYWJsZSBhcmd1bWVudCBsaXN0LjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdENvbW1lbnQiIGlkPSJ4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0Q29tbWVudCI+PC9hPkZ1bmN0aW9uOiB4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0Q29tbWVudDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0Q29tbWVudAkoPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyIC8+CQkJCQkJIGNvbnN0IGNoYXIgKiBmb3JtYXQsIDxiciAvPgkJCQkJCSB2YV9saXN0IGFyZ3B0cik8YnIgLz4KKzwvcHJlPjxwPldyaXRlIGFuIHhtbCBjb21tZW50LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PndyaXRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Zm9ybWF0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5mb3JtYXQgc3RyaW5nIChzZWUgcHJpbnRmKTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YXJncHRyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5wb2ludGVyIHRvIHRoZSBmaXJzdCBtZW1iZXIgb2YgdGhlIHZhcmlhYmxlIGFyZ3VtZW50IGxpc3QuPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFREIiBpZD0ieG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERURCI+PC9hPkZ1bmN0aW9uOiB4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFREPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVEQJKDxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHB1YmlkLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzeXNpZCwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGZvcm1hdCwgPGJyIC8+CQkJCQkgdmFfbGlzdCBhcmdwdHIpPGJyIC8+Cis8L3ByZT48cD5Xcml0ZSBhIERURCB3aXRoIGEgZm9ybWF0dGVkIG1hcmt1cCBkZWNsYXJhdGlvbnMgcGFydC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD53cml0ZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lIG9mIHRoZSBEVEQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnB1YmlkPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcHVibGljIGlkZW50aWZpZXIsIHdoaWNoIGlzIGFuIGFsdGVybmF0aXZlIHRvIHRoZSBzeXN0ZW0gaWRlbnRpZmllcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3lzaWQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzeXN0ZW0gaWRlbnRpZmllciwgd2hpY2ggaXMgdGhlIFVSSSBvZiB0aGUgRFREPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mb3JtYXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmZvcm1hdCBzdHJpbmcgKHNlZSBwcmludGYpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5hcmdwdHI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnBvaW50ZXIgdG8gdGhlIGZpcnN0IG1lbWJlciBvZiB0aGUgdmFyaWFibGUgYXJndW1lbnQgbGlzdC48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVERBdHRsaXN0IiBpZD0ieG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREF0dGxpc3QiPjwvYT5GdW5jdGlvbjogeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREF0dGxpc3Q8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREF0dGxpc3QJKDxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxiciAvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCQkgY29uc3QgY2hhciAqIGZvcm1hdCwgPGJyIC8+CQkJCQkJIHZhX2xpc3QgYXJncHRyKTxiciAvPgorPC9wcmU+PHA+V3JpdGUgYSBmb3JtYXR0ZWQgRFREIEFUVExJU1QuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d3JpdGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZSBvZiB0aGUgRFREIEFUVExJU1Q8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZvcm1hdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+Zm9ybWF0IHN0cmluZyAoc2VlIHByaW50Zik8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmFyZ3B0cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+cG9pbnRlciB0byB0aGUgZmlyc3QgbWVtYmVyIG9mIHRoZSB2YXJpYWJsZSBhcmd1bWVudCBsaXN0LjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREVsZW1lbnQiIGlkPSJ4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFRERWxlbWVudCI+PC9hPkZ1bmN0aW9uOiB4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFRERWxlbWVudDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFRERWxlbWVudAkoPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyIC8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJCSBjb25zdCBjaGFyICogZm9ybWF0LCA8YnIgLz4JCQkJCQkgdmFfbGlzdCBhcmdwdHIpPGJyIC8+Cis8L3ByZT48cD5Xcml0ZSBhIGZvcm1hdHRlZCBEVEQgZWxlbWVudC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD53cml0ZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lIG9mIHRoZSBEVEQgZWxlbWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Zm9ybWF0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5mb3JtYXQgc3RyaW5nIChzZWUgcHJpbnRmKTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YXJncHRyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5wb2ludGVyIHRvIHRoZSBmaXJzdCBtZW1iZXIgb2YgdGhlIHZhcmlhYmxlIGFyZ3VtZW50IGxpc3QuPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFRESW50ZXJuYWxFbnRpdHkiIGlkPSJ4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFRESW50ZXJuYWxFbnRpdHkiPjwvYT5GdW5jdGlvbjogeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREludGVybmFsRW50aXR5PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVERJbnRlcm5hbEVudGl0eQkoPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+IHdyaXRlciwgPGJyIC8+CQkJCQkJCSBpbnQgcGUsIDxiciAvPgkJCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkJCSBjb25zdCBjaGFyICogZm9ybWF0LCA8YnIgLz4JCQkJCQkJIHZhX2xpc3QgYXJncHRyKTxiciAvPgorPC9wcmU+PHA+V3JpdGUgYSBmb3JtYXR0ZWQgRFREIGludGVybmFsIGVudGl0eS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD53cml0ZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnBlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5UUlVFIGlmIHRoaXMgaXMgYSBwYXJhbWV0ZXIgZW50aXR5LCBGQUxTRSBpZiBub3Q8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lIG9mIHRoZSBEVEQgZW50aXR5PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mb3JtYXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmZvcm1hdCBzdHJpbmcgKHNlZSBwcmludGYpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5hcmdwdHI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnBvaW50ZXIgdG8gdGhlIGZpcnN0IG1lbWJlciBvZiB0aGUgdmFyaWFibGUgYXJndW1lbnQgbGlzdC48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRFbGVtZW50IiBpZD0ieG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEVsZW1lbnQiPjwvYT5GdW5jdGlvbjogeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEVsZW1lbnQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEVsZW1lbnQJKDxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPiB3cml0ZXIsIDxiciAvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCQkgY29uc3QgY2hhciAqIGZvcm1hdCwgPGJyIC8+CQkJCQkJIHZhX2xpc3QgYXJncHRyKTxiciAvPgorPC9wcmU+PHA+V3JpdGUgYSBmb3JtYXR0ZWQgeG1sIGVsZW1lbnQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d3JpdGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5lbGVtZW50IG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZvcm1hdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+Zm9ybWF0IHN0cmluZyAoc2VlIHByaW50Zik8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmFyZ3B0cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+cG9pbnRlciB0byB0aGUgZmlyc3QgbWVtYmVyIG9mIHRoZSB2YXJpYWJsZSBhcmd1bWVudCBsaXN0LjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEVsZW1lbnROUyIgaWQ9InhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRFbGVtZW50TlMiPjwvYT5GdW5jdGlvbjogeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEVsZW1lbnROUzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RWxlbWVudE5TCSg8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIgLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHJlZml4LCA8YnIgLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWVzcGFjZVVSSSwgPGJyIC8+CQkJCQkJIGNvbnN0IGNoYXIgKiBmb3JtYXQsIDxiciAvPgkJCQkJCSB2YV9saXN0IGFyZ3B0cik8YnIgLz4KKzwvcHJlPjxwPldyaXRlIGEgZm9ybWF0dGVkIHhtbCBlbGVtZW50IHdpdGggbmFtZXNwYWNlIHN1cHBvcnQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+d3JpdGVyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJQdHIiPnhtbFRleHRXcml0ZXJQdHI8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wcmVmaXg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPm5hbWVzcGFjZSBwcmVmaXg8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmVsZW1lbnQgbG9jYWwgbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZXNwYWNlVVJJPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5uYW1lc3BhY2UgVVJJPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5mb3JtYXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmZvcm1hdCBzdHJpbmcgKHNlZSBwcmludGYpPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5hcmdwdHI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnBvaW50ZXIgdG8gdGhlIGZpcnN0IG1lbWJlciBvZiB0aGUgdmFyaWFibGUgYXJndW1lbnQgbGlzdC48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRQSSIgaWQ9InhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRQSSI+PC9hPkZ1bmN0aW9uOiB4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0UEk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdFBJCSg8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB0YXJnZXQsIDxiciAvPgkJCQkJIGNvbnN0IGNoYXIgKiBmb3JtYXQsIDxiciAvPgkJCQkJIHZhX2xpc3QgYXJncHRyKTxiciAvPgorPC9wcmU+PHA+V3JpdGUgYSBmb3JtYXR0ZWQgeG1sIFBJLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PndyaXRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dGFyZ2V0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5QSSB0YXJnZXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZvcm1hdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+Zm9ybWF0IHN0cmluZyAoc2VlIHByaW50Zik8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmFyZ3B0cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+cG9pbnRlciB0byB0aGUgZmlyc3QgbWVtYmVyIG9mIHRoZSB2YXJpYWJsZSBhcmd1bWVudCBsaXN0LjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdFJhdyIgaWQ9InhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRSYXciPjwvYT5GdW5jdGlvbjogeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdFJhdzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0UmF3CSg8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogZm9ybWF0LCA8YnIgLz4JCQkJCSB2YV9saXN0IGFyZ3B0cik8YnIgLz4KKzwvcHJlPjxwPldyaXRlIGEgZm9ybWF0dGVkIHJhdyB4bWwgdGV4dC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD53cml0ZXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZvcm1hdDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+Zm9ybWF0IHN0cmluZyAoc2VlIHByaW50Zik8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmFyZ3B0cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+cG9pbnRlciB0byB0aGUgZmlyc3QgbWVtYmVyIG9mIHRoZSB2YXJpYWJsZSBhcmd1bWVudCBsaXN0LjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdFN0cmluZyIgaWQ9InhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRTdHJpbmciPjwvYT5GdW5jdGlvbjogeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdFN0cmluZzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0U3RyaW5nCSg8YSBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciI+eG1sVGV4dFdyaXRlclB0cjwvYT4gd3JpdGVyLCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogZm9ybWF0LCA8YnIgLz4JCQkJCSB2YV9saXN0IGFyZ3B0cik8YnIgLz4KKzwvcHJlPjxwPldyaXRlIGEgZm9ybWF0dGVkIHhtbCB0ZXh0LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PndyaXRlcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyUHRyIj54bWxUZXh0V3JpdGVyUHRyPC9hPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Zm9ybWF0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5mb3JtYXQgc3RyaW5nIChzZWUgcHJpbnRmKTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YXJncHRyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5wb2ludGVyIHRvIHRoZSBmaXJzdCBtZW1iZXIgb2YgdGhlIHZhcmlhYmxlIGFyZ3VtZW50IGxpc3QuPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3I8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxwPjxhIGhyZWY9Ii4uL2J1Z3MuaHRtbCI+RGFuaWVsIFZlaWxsYXJkPC9hPjwvcD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvaHRtbC9saWJ4bWwteHBhdGguaHRtbCBiL2xpYnhtbDIvZG9jL2h0bWwvbGlieG1sLXhwYXRoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTQ3ZTYwMAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL2h0bWwvbGlieG1sLXhwYXRoLmh0bWwKQEAgLTAsMCArMSwzMTYgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+PGxpbmsgcmVsPSJTSE9SVENVVCBJQ09OIiBocmVmPSIvZmF2aWNvbi5pY28iIC8+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK1REIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitCT0RZIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2E7IG1hcmdpbi10b3A6IDJlbTsgbWFyZ2luLWxlZnQ6IDBlbTsgbWFyZ2luLXJpZ2h0OiAwZW19CitIMSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDIge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gzIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitBOmxpbmssIEE6dmlzaXRlZCwgQTphY3RpdmUgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB9Cis8L3N0eWxlPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAgICBkaXYuZGVwcmVjYXRlZCBwcmUucHJvZ3JhbWxpc3Rpbmcge2JvcmRlci1zdHlsZTogZG91YmxlO2JvcmRlci1jb2xvcjpyZWR9CisgICAgICBwcmUucHJvZ3JhbWxpc3Rpbmcge2JvcmRlci1zdHlsZTogZG91YmxlO2JhY2tncm91bmQ6ICNFRUNGQTF9CisgICAgPC9zdHlsZT48dGl0bGU+TW9kdWxlIHhwYXRoIGZyb20gbGlieG1sMjwvdGl0bGU+PC9oZWFkPjxib2R5IGJnY29sb3I9IiM4Yjc3NjUiIHRleHQ9IiMwMDAwMDAiIGxpbms9IiNhMDYwNjAiIHZsaW5rPSIjMDAwMDAwIj48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iMTAwJSIgY2VsbHBhZGRpbmc9IjUiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIHdpZHRoPSIxMjAiPjxhIGhyZWY9Imh0dHA6Ly9zd3BhdC5mZmlpLm9yZy8iPjxpbWcgc3JjPSIuLi9lcGF0ZW50cy5wbmciIGFsdD0iQWN0aW9uIGFnYWluc3Qgc29mdHdhcmUgcGF0ZW50cyIgLz48L2E+PC90ZD48dGQgd2lkdGg9IjE4MCI+PGEgaHJlZj0iaHR0cDovL3d3dy5nbm9tZS5vcmcvIj48aW1nIHNyYz0iLi4vZ25vbWUyLnBuZyIgYWx0PSJHbm9tZTIgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvU3RhdHVzIj48aW1nIHNyYz0iLi4vdzNjLnBuZyIgYWx0PSJXM0MgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy5yZWRoYXQuY29tLyI+PGltZyBzcmM9Ii4uL3JlZGhhdC5naWYiIGFsdD0iUmVkIEhhdCBMb2dvIiAvPjwvYT48ZGl2IGFsaWduPSJsZWZ0Ij48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvIj48aW1nIHNyYz0iLi4vTGlieG1sMi1Mb2dvLTE4MHgxNjguZ2lmIiBhbHQ9Ik1hZGUgd2l0aCBMaWJ4bWwyIExvZ28iIC8+PC9hPjwvZGl2PjwvdGQ+PHRkPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSI5MCUiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIiBiZ2NvbG9yPSIjZmZmYWNkIj48dHI+PHRkIGFsaWduPSJjZW50ZXIiPjxoMT48L2gxPjxoMj5Nb2R1bGUgeHBhdGggZnJvbSBsaWJ4bWwyPC9oMj48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iNCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiIgd2lkdGg9IjEwMCUiPjx0cj48dGQgdmFsaWduPSJ0b3AiIHdpZHRoPSIyMDAiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPkFQSSBNZW51PC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjxmb3JtIGFjdGlvbj0iLi4vc2VhcmNoLnBocCIgZW5jdHlwZT0iYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIiBtZXRob2Q9ImdldCI+PGlucHV0IG5hbWU9InF1ZXJ5IiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IiIgLz48aW5wdXQgbmFtZT0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJTZWFyY2ggLi4uIiAvPjwvZm9ybT48dWw+PGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIiBocmVmPSIuLi9pbmRleC5odG1sIj5NYWluIE1lbnU8L2E+PC9saT48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9Ii4uL2RvY3MuaHRtbCI+RGV2ZWxvcGVyIE1lbnU8L2E+PC9saT48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9Ii4uL2V4YW1wbGVzL2luZGV4Lmh0bWwiPkNvZGUgRXhhbXBsZXM8L2E+PC9saT48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9ImluZGV4Lmh0bWwiPkFQSSBNZW51PC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC1wYXJzZXIuaHRtbCI+UGFyc2VyIEFQSTwvYT48L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sIj5UcmVlIEFQSTwvYT48L2xpPjxsaT48YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwiPlJlYWRlciBBUEk8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vZ3VpZGVsaW5lcy5odG1sIj5YTUwgR3VpZGVsaW5lczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9DaGFuZ2VMb2cuaHRtbCI+Q2hhbmdlTG9nPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+QVBJIEluZGV4ZXM8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSIuLi9BUEljaHVuazAuaHRtbCI+QWxwaGFiZXRpYzwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUEljb25zdHJ1Y3RvcnMuaHRtbCI+Q29uc3RydWN0b3JzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSWZ1bmN0aW9ucy5odG1sIj5GdW5jdGlvbnMvVHlwZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJZmlsZXMuaHRtbCI+TW9kdWxlczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUElzeW1ib2xzLmh0bWwiPlN5bWJvbHM8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5SZWxhdGVkIGxpbmtzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iaHR0cDovL21haWwuZ25vbWUub3JnL2FyY2hpdmVzL3htbC8iPk1haWwgYXJjaGl2ZTwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvWFNMVC8iPlhTTFQgbGlieHNsdDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vcGhkLmNzLnVuaWJvLml0L2dkb21lMi8iPkRPTSBnZG9tZTI8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5hbGVrc2V5LmNvbS94bWxzZWMvIj5YTUwtRFNpZyB4bWxzZWM8L2E+PC9saT48bGk+PGEgaHJlZj0iZnRwOi8veG1sc29mdC5vcmcvIj5GVFA8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56bGF0a292aWMuY29tL3Byb2plY3RzL2xpYnhtbC8iPldpbmRvd3MgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL29wZW5jc3cub3JnL3BhY2thZ2VzL2xpYnhtbDIiPlNvbGFyaXMgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5leHBsYWluLmNvbS5hdS9vc3MvbGlieG1sMnhzbHQuaHRtbCI+TWFjT3NYIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9seG1sLmRlLyI+bHhtbCBQeXRob24gYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2NwYW4udXdpbm5pcGVnLmNhL2Rpc3QvWE1MLUxpYlhNTCI+UGVybCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1scGx1c3BsdXMuc291cmNlZm9yZ2UubmV0LyI+QysrIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemVuZC5jb20vcGhwNS9hcnRpY2xlcy9waHA1LXhtbHBocC5waHAjSGVhZGluZzQiPlBIUCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2xpYnhtbDItcGFzLyI+UGFzY2FsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWwucnVieWZvcmdlLm9yZy8iPlJ1YnkgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3RjbHhtbC5zb3VyY2Vmb3JnZS5uZXQvIj5UY2wgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9idWdsaXN0LmNnaT9wcm9kdWN0PWxpYnhtbDIiPkJ1ZyBUcmFja2VyPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIzIiBjZWxsc3BhY2luZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHRhYmxlIGNsYXNzPSJuYXZpZ2F0aW9uIiB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBoZWFkZXIiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMiI+PHRyIHZhbGlnbj0ibWlkZGxlIj48dGQ+PGEgYWNjZXNza2V5PSJwIiBocmVmPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwiPjxpbWcgc3JjPSJsZWZ0LnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iUHJldiIgLz48L2E+PC90ZD48dGggYWxpZ249ImxlZnQiPjxhIGhyZWY9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCI+eG1sd3JpdGVyPC9hPjwvdGg+PHRkPjxhIGFjY2Vzc2tleT0idSIgaHJlZj0iaW5kZXguaHRtbCI+PGltZyBzcmM9InVwLnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iVXAiIC8+PC9hPjwvdGQ+PHRoIGFsaWduPSJsZWZ0Ij48YSBocmVmPSJpbmRleC5odG1sIj5BUEkgZG9jdW1lbnRhdGlvbjwvYT48L3RoPjx0ZD48YSBhY2Nlc3NrZXk9ImgiIGhyZWY9Ii4uL2luZGV4Lmh0bWwiPjxpbWcgc3JjPSJob21lLnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iSG9tZSIgLz48L2E+PC90ZD48dGggYWxpZ249ImNlbnRlciI+PGEgaHJlZj0iLi4vaW5kZXguaHRtbCI+VGhlIFhNTCBDIHBhcnNlciBhbmQgdG9vbGtpdCBvZiBHbm9tZTwvYT48L3RoPjx0aCBhbGlnbj0icmlnaHQiPjxhIGhyZWY9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sIj54cGF0aEludGVybmFsczwvYT48L3RoPjx0ZD48YSBhY2Nlc3NrZXk9Im4iIGhyZWY9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sIj48aW1nIHNyYz0icmlnaHQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJOZXh0IiAvPjwvYT48L3RkPjwvdHI+PC90YWJsZT48cD5BUEkgZm9yIHRoZSBYTUwgUGF0aCBMYW5ndWFnZSBpbXBsZW1lbnRhdGlvbiAgWE1MIFBhdGggTGFuZ3VhZ2UgaW1wbGVtZW50YXRpb24gWFBhdGggaXMgYSBsYW5ndWFnZSBmb3IgYWRkcmVzc2luZyBwYXJ0cyBvZiBhbiBYTUwgZG9jdW1lbnQsIGRlc2lnbmVkIHRvIGJlIHVzZWQgYnkgYm90aCBYU0xUIGFuZCBYUG9pbnRlcjwvcD48aDI+VGFibGUgb2YgQ29udGVudHM8L2gyPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNYTUxfWFBBVEhfQ0hFQ0tOUyI+WE1MX1hQQVRIX0NIRUNLTlM8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hNTF9YUEFUSF9OT1ZBUiI+WE1MX1hQQVRIX05PVkFSPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiN4bWxYUGF0aE5vZGVTZXRHZXRMZW5ndGgiPnhtbFhQYXRoTm9kZVNldEdldExlbmd0aDwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjeG1sWFBhdGhOb2RlU2V0SXNFbXB0eSI+eG1sWFBhdGhOb2RlU2V0SXNFbXB0eTwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjeG1sWFBhdGhOb2RlU2V0SXRlbSI+eG1sWFBhdGhOb2RlU2V0SXRlbTwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+U3RydWN0dXJlIDxhIGhyZWY9IiN4bWxOb2RlU2V0Ij54bWxOb2RlU2V0PC9hPjxiciAvPnN0cnVjdCBfeG1sTm9kZVNldAorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlR5cGVkZWYgPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldCI+eG1sTm9kZVNldDwvYT4gKiA8YSBuYW1lPSJ4bWxOb2RlU2V0UHRyIiBpZD0ieG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgPGEgaHJlZj0iI3htbFhQYXRoQXhpcyI+eG1sWFBhdGhBeGlzPC9hPjxiciAvPnN0cnVjdCBfeG1sWFBhdGhBeGlzCis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+VHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aEF4aXMiPnhtbFhQYXRoQXhpczwvYT4gKiA8YSBuYW1lPSJ4bWxYUGF0aEF4aXNQdHIiIGlkPSJ4bWxYUGF0aEF4aXNQdHIiPnhtbFhQYXRoQXhpc1B0cjwvYT4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgPGEgaHJlZj0iI3htbFhQYXRoQ29tcEV4cHIiPnhtbFhQYXRoQ29tcEV4cHI8L2E+PGJyIC8+c3RydWN0IF94bWxYUGF0aENvbXBFeHByCitUaGUgY29udGVudCBvZiB0aGlzIHN0cnVjdHVyZSBpcyBub3QgbWFkZSBwdWJsaWMgYnkgdGhlIEFQSS4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5UeXBlZGVmIDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29tcEV4cHIiPnhtbFhQYXRoQ29tcEV4cHI8L2E+ICogPGEgbmFtZT0ieG1sWFBhdGhDb21wRXhwclB0ciIgaWQ9InhtbFhQYXRoQ29tcEV4cHJQdHIiPnhtbFhQYXRoQ29tcEV4cHJQdHI8L2E+Cis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+U3RydWN0dXJlIDxhIGhyZWY9IiN4bWxYUGF0aENvbnRleHQiPnhtbFhQYXRoQ29udGV4dDwvYT48YnIgLz5zdHJ1Y3QgX3htbFhQYXRoQ29udGV4dAorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlR5cGVkZWYgPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0Ij54bWxYUGF0aENvbnRleHQ8L2E+ICogPGEgbmFtZT0ieG1sWFBhdGhDb250ZXh0UHRyIiBpZD0ieG1sWFBhdGhDb250ZXh0UHRyIj54bWxYUGF0aENvbnRleHRQdHI8L2E+Cis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RW51bSA8YSBocmVmPSIjeG1sWFBhdGhFcnJvciI+eG1sWFBhdGhFcnJvcjwvYT4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5UeXBlZGVmIDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoRnVuY3QiPnhtbFhQYXRoRnVuY3Q8L2E+ICogPGEgbmFtZT0ieG1sWFBhdGhGdW5jUHRyIiBpZD0ieG1sWFBhdGhGdW5jUHRyIj54bWxYUGF0aEZ1bmNQdHI8L2E+Cis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+U3RydWN0dXJlIDxhIGhyZWY9IiN4bWxYUGF0aEZ1bmN0Ij54bWxYUGF0aEZ1bmN0PC9hPjxiciAvPnN0cnVjdCBfeG1sWFBhdGhGdW5jdAorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlN0cnVjdHVyZSA8YSBocmVmPSIjeG1sWFBhdGhPYmplY3QiPnhtbFhQYXRoT2JqZWN0PC9hPjxiciAvPnN0cnVjdCBfeG1sWFBhdGhPYmplY3QKKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5UeXBlZGVmIDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0Ij54bWxYUGF0aE9iamVjdDwvYT4gKiA8YSBuYW1lPSJ4bWxYUGF0aE9iamVjdFB0ciIgaWQ9InhtbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5FbnVtIDxhIGhyZWY9IiN4bWxYUGF0aE9iamVjdFR5cGUiPnhtbFhQYXRoT2JqZWN0VHlwZTwvYT4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgPGEgaHJlZj0iI3htbFhQYXRoUGFyc2VyQ29udGV4dCI+eG1sWFBhdGhQYXJzZXJDb250ZXh0PC9hPjxiciAvPnN0cnVjdCBfeG1sWFBhdGhQYXJzZXJDb250ZXh0Cis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+VHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHQiPnhtbFhQYXRoUGFyc2VyQ29udGV4dDwvYT4gKiA8YSBuYW1lPSJ4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiIGlkPSJ4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgPGEgaHJlZj0iI3htbFhQYXRoVHlwZSI+eG1sWFBhdGhUeXBlPC9hPjxiciAvPnN0cnVjdCBfeG1sWFBhdGhUeXBlCis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+VHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFR5cGUiPnhtbFhQYXRoVHlwZTwvYT4gKiA8YSBuYW1lPSJ4bWxYUGF0aFR5cGVQdHIiIGlkPSJ4bWxYUGF0aFR5cGVQdHIiPnhtbFhQYXRoVHlwZVB0cjwvYT4KKzwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgPGEgaHJlZj0iI3htbFhQYXRoVmFyaWFibGUiPnhtbFhQYXRoVmFyaWFibGU8L2E+PGJyIC8+c3RydWN0IF94bWxYUGF0aFZhcmlhYmxlCis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+VHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFZhcmlhYmxlIj54bWxYUGF0aFZhcmlhYmxlPC9hPiAqIDxhIG5hbWU9InhtbFhQYXRoVmFyaWFibGVQdHIiIGlkPSJ4bWxYUGF0aFZhcmlhYmxlUHRyIj54bWxYUGF0aFZhcmlhYmxlUHRyPC9hPgorPC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkZ1bmN0aW9uIHR5cGU6IDxhIGhyZWY9IiN4bWxYUGF0aEF4aXNGdW5jIj54bWxYUGF0aEF4aXNGdW5jPC9hPgorPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPgk8YSBocmVmPSIjeG1sWFBhdGhBeGlzRnVuYyI+eG1sWFBhdGhBeGlzRnVuYzwvYT4JKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPiBjdXIpCis8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5kb3VibGUJPGEgaHJlZj0iI3htbFhQYXRoQ2FzdEJvb2xlYW5Ub051bWJlciI+eG1sWFBhdGhDYXN0Qm9vbGVhblRvTnVtYmVyPC9hPgkoaW50IHZhbCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sWFBhdGhDYXN0Qm9vbGVhblRvU3RyaW5nIj54bWxYUGF0aENhc3RCb29sZWFuVG9TdHJpbmc8L2E+CShpbnQgdmFsKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sWFBhdGhDYXN0Tm9kZVNldFRvQm9vbGVhbiI+eG1sWFBhdGhDYXN0Tm9kZVNldFRvQm9vbGVhbjwvYT4JKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IG5zKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmRvdWJsZQk8YSBocmVmPSIjeG1sWFBhdGhDYXN0Tm9kZVNldFRvTnVtYmVyIj54bWxYUGF0aENhc3ROb2RlU2V0VG9OdW1iZXI8L2E+CSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBucyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sWFBhdGhDYXN0Tm9kZVNldFRvU3RyaW5nIj54bWxYUGF0aENhc3ROb2RlU2V0VG9TdHJpbmc8L2E+CSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBucyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5kb3VibGUJPGEgaHJlZj0iI3htbFhQYXRoQ2FzdE5vZGVUb051bWJlciI+eG1sWFBhdGhDYXN0Tm9kZVRvTnVtYmVyPC9hPgkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBub2RlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxYUGF0aENhc3ROb2RlVG9TdHJpbmciPnhtbFhQYXRoQ2FzdE5vZGVUb1N0cmluZzwvYT4JKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFhQYXRoQ2FzdE51bWJlclRvQm9vbGVhbiI+eG1sWFBhdGhDYXN0TnVtYmVyVG9Cb29sZWFuPC9hPgkoZG91YmxlIHZhbCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sWFBhdGhDYXN0TnVtYmVyVG9TdHJpbmciPnhtbFhQYXRoQ2FzdE51bWJlclRvU3RyaW5nPC9hPgkoZG91YmxlIHZhbCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFhQYXRoQ2FzdFN0cmluZ1RvQm9vbGVhbiI+eG1sWFBhdGhDYXN0U3RyaW5nVG9Cb29sZWFuPC9hPgkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmRvdWJsZQk8YSBocmVmPSIjeG1sWFBhdGhDYXN0U3RyaW5nVG9OdW1iZXIiPnhtbFhQYXRoQ2FzdFN0cmluZ1RvTnVtYmVyPC9hPgkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sWFBhdGhDYXN0VG9Cb29sZWFuIj54bWxYUGF0aENhc3RUb0Jvb2xlYW48L2E+CQkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPiB2YWwpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+ZG91YmxlCTxhIGhyZWY9IiN4bWxYUGF0aENhc3RUb051bWJlciI+eG1sWFBhdGhDYXN0VG9OdW1iZXI8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPiB2YWwpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbFhQYXRoQ2FzdFRvU3RyaW5nIj54bWxYUGF0aENhc3RUb1N0cmluZzwvYT4JKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4gdmFsKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sWFBhdGhDbXBOb2RlcyI+eG1sWFBhdGhDbXBOb2RlczwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUxLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUyKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29tcEV4cHJQdHIiPnhtbFhQYXRoQ29tcEV4cHJQdHI8L2E+CTxhIGhyZWY9IiN4bWxYUGF0aENvbXBpbGUiPnhtbFhQYXRoQ29tcGlsZTwvYT4JKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0cik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+CTxhIGhyZWY9IiN4bWxYUGF0aENvbXBpbGVkRXZhbCI+eG1sWFBhdGhDb21waWxlZEV2YWw8L2E+CSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbXBFeHByUHRyIj54bWxYUGF0aENvbXBFeHByUHRyPC9hPiBjb21wLCA8YnIgLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0UHRyIj54bWxYUGF0aENvbnRleHRQdHI8L2E+IGN0eCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFhQYXRoQ29tcGlsZWRFdmFsVG9Cb29sZWFuIj54bWxYUGF0aENvbXBpbGVkRXZhbFRvQm9vbGVhbjwvYT4JKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29tcEV4cHJQdHIiPnhtbFhQYXRoQ29tcEV4cHJQdHI8L2E+IGNvbXAsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFB0ciI+eG1sWFBhdGhDb250ZXh0UHRyPC9hPiBjdHh0KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sWFBhdGhDb250ZXh0U2V0Q2FjaGUiPnhtbFhQYXRoQ29udGV4dFNldENhY2hlPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFB0ciI+eG1sWFBhdGhDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSBpbnQgYWN0aXZlLCA8YnIgLz4JCQkJCSBpbnQgdmFsdWUsIDxiciAvPgkJCQkJIGludCBvcHRpb25zKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4JPGEgaHJlZj0iI3htbFhQYXRoQ29udmVydEJvb2xlYW4iPnhtbFhQYXRoQ29udmVydEJvb2xlYW48L2E+CSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IHZhbCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5GdW5jdGlvbiB0eXBlOiA8YSBocmVmPSIjeG1sWFBhdGhDb252ZXJ0RnVuYyI+eG1sWFBhdGhDb252ZXJ0RnVuYzwvYT4KK2ludAk8YSBocmVmPSIjeG1sWFBhdGhDb252ZXJ0RnVuYyI+eG1sWFBhdGhDb252ZXJ0RnVuYzwvYT4JCSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IG9iaiwgPGJyIC8+CQkJCQkgaW50IHR5cGUpCis8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+CTxhIGhyZWY9IiN4bWxYUGF0aENvbnZlcnROdW1iZXIiPnhtbFhQYXRoQ29udmVydE51bWJlcjwvYT4JKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4gdmFsKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4JPGEgaHJlZj0iI3htbFhQYXRoQ29udmVydFN0cmluZyI+eG1sWFBhdGhDb252ZXJ0U3RyaW5nPC9hPgkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPiB2YWwpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb21wRXhwclB0ciI+eG1sWFBhdGhDb21wRXhwclB0cjwvYT4JPGEgaHJlZj0iI3htbFhQYXRoQ3R4dENvbXBpbGUiPnhtbFhQYXRoQ3R4dENvbXBpbGU8L2E+CSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHRQdHIiPnhtbFhQYXRoQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0cik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+CTxhIGhyZWY9IiN4bWxYUGF0aEV2YWwiPnhtbFhQYXRoRXZhbDwvYT4JKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0ciwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0UHRyIj54bWxYUGF0aENvbnRleHRQdHI8L2E+IGN0eCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+CTxhIGhyZWY9IiN4bWxYUGF0aEV2YWxFeHByZXNzaW9uIj54bWxYUGF0aEV2YWxFeHByZXNzaW9uPC9hPgkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3RyLCA8YnIgLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0UHRyIj54bWxYUGF0aENvbnRleHRQdHI8L2E+IGN0eHQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RnVuY3Rpb24gdHlwZTogPGEgaHJlZj0iI3htbFhQYXRoRXZhbEZ1bmMiPnhtbFhQYXRoRXZhbEZ1bmM8L2E+Cit2b2lkCTxhIGhyZWY9IiN4bWxYUGF0aEV2YWxGdW5jIj54bWxYUGF0aEV2YWxGdW5jPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSBpbnQgbmFyZ3MpCis8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFhQYXRoRXZhbFByZWRpY2F0ZSI+eG1sWFBhdGhFdmFsUHJlZGljYXRlPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFB0ciI+eG1sWFBhdGhDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IHJlcyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxYUGF0aEZyZWVDb21wRXhwciI+eG1sWFBhdGhGcmVlQ29tcEV4cHI8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb21wRXhwclB0ciI+eG1sWFBhdGhDb21wRXhwclB0cjwvYT4gY29tcCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxYUGF0aEZyZWVDb250ZXh0Ij54bWxYUGF0aEZyZWVDb250ZXh0PC9hPgkJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFB0ciI+eG1sWFBhdGhDb250ZXh0UHRyPC9hPiBjdHh0KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFhQYXRoRnJlZU5vZGVTZXQiPnhtbFhQYXRoRnJlZU5vZGVTZXQ8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gb2JqKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFhQYXRoRnJlZU5vZGVTZXRMaXN0Ij54bWxYUGF0aEZyZWVOb2RlU2V0TGlzdDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IG9iaik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxYUGF0aEZyZWVPYmplY3QiPnhtbFhQYXRoRnJlZU9iamVjdDwvYT4JCSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IG9iaik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5GdW5jdGlvbiB0eXBlOiA8YSBocmVmPSIjeG1sWFBhdGhGdW5jTG9va3VwRnVuYyI+eG1sWFBhdGhGdW5jTG9va3VwRnVuYzwvYT4KKzxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoRnVuY3Rpb24iPnhtbFhQYXRoRnVuY3Rpb248L2E+CTxhIGhyZWY9IiN4bWxYUGF0aEZ1bmNMb29rdXBGdW5jIj54bWxYUGF0aEZ1bmNMb29rdXBGdW5jPC9hPgkodm9pZCAqIGN0eHQsIDxiciAvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbnNfdXJpKQorPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+RnVuY3Rpb24gdHlwZTogPGEgaHJlZj0iI3htbFhQYXRoRnVuY3Rpb24iPnhtbFhQYXRoRnVuY3Rpb248L2E+Cit2b2lkCTxhIGhyZWY9IiN4bWxYUGF0aEZ1bmN0aW9uIj54bWxYUGF0aEZ1bmN0aW9uPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSBpbnQgbmFyZ3MpCis8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxYUGF0aEluaXQiPnhtbFhQYXRoSW5pdDwvYT4JCQkodm9pZCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFhQYXRoSXNJbmYiPnhtbFhQYXRoSXNJbmY8L2E+CQkJKGRvdWJsZSB2YWwpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxYUGF0aElzTmFOIj54bWxYUGF0aElzTmFOPC9hPgkJCShkb3VibGUgdmFsKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFB0ciI+eG1sWFBhdGhDb250ZXh0UHRyPC9hPgk8YSBocmVmPSIjeG1sWFBhdGhOZXdDb250ZXh0Ij54bWxYUGF0aE5ld0NvbnRleHQ8L2E+CSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPgk8YSBocmVmPSIjeG1sWFBhdGhOb2RlRXZhbCI+eG1sWFBhdGhOb2RlRXZhbDwvYT4JKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSwgPGJyIC8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0ciwgPGJyIC8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFB0ciI+eG1sWFBhdGhDb250ZXh0UHRyPC9hPiBjdHgpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4JPGEgaHJlZj0iI3htbFhQYXRoTm9kZVNldENyZWF0ZSI+eG1sWFBhdGhOb2RlU2V0Q3JlYXRlPC9hPgkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiB2YWwpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPgk8YSBocmVmPSIjeG1sWFBhdGhPYmplY3RDb3B5Ij54bWxYUGF0aE9iamVjdENvcHk8L2E+CSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IHZhbCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5sb25nCTxhIGhyZWY9IiN4bWxYUGF0aE9yZGVyRG9jRWxlbXMiPnhtbFhQYXRoT3JkZXJEb2NFbGVtczwvYT4JCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxYUGF0aFNldENvbnRleHROb2RlIj54bWxYUGF0aFNldENvbnRleHROb2RlPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0UHRyIj54bWxYUGF0aENvbnRleHRQdHI8L2E+IGN0eCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5GdW5jdGlvbiB0eXBlOiA8YSBocmVmPSIjeG1sWFBhdGhWYXJpYWJsZUxvb2t1cEZ1bmMiPnhtbFhQYXRoVmFyaWFibGVMb29rdXBGdW5jPC9hPgorPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPgk8YSBocmVmPSIjeG1sWFBhdGhWYXJpYWJsZUxvb2t1cEZ1bmMiPnhtbFhQYXRoVmFyaWFibGVMb29rdXBGdW5jPC9hPgkodm9pZCAqIGN0eHQsIDxiciAvPgkJCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuc191cmkpCis8L3ByZT4KKzxoMj5EZXNjcmlwdGlvbjwvaDI+Cis8aDM+PGEgbmFtZT0iWE1MX1hQQVRIX0NIRUNLTlMiIGlkPSJYTUxfWFBBVEhfQ0hFQ0tOUyI+PC9hPk1hY3JvOiBYTUxfWFBBVEhfQ0hFQ0tOUzwvaDM+PHByZT4jZGVmaW5lIFhNTF9YUEFUSF9DSEVDS05TPC9wcmU+PHA+Y2hlY2sgbmFtZXNwYWNlcyBhdCBjb21waWxhdGlvbjwvcD4KKzxoMz48YSBuYW1lPSJYTUxfWFBBVEhfTk9WQVIiIGlkPSJYTUxfWFBBVEhfTk9WQVIiPjwvYT5NYWNybzogWE1MX1hQQVRIX05PVkFSPC9oMz48cHJlPiNkZWZpbmUgWE1MX1hQQVRIX05PVkFSPC9wcmU+PHA+Zm9yYmlkIHZhcmlhYmxlcyBpbiBleHByZXNzaW9uPC9wPgorPGgzPjxhIG5hbWU9InhtbFhQYXRoTm9kZVNldEdldExlbmd0aCIgaWQ9InhtbFhQYXRoTm9kZVNldEdldExlbmd0aCI+PC9hPk1hY3JvOiB4bWxYUGF0aE5vZGVTZXRHZXRMZW5ndGg8L2gzPjxwcmU+I2RlZmluZSB4bWxYUGF0aE5vZGVTZXRHZXRMZW5ndGg8L3ByZT48cD5JbXBsZW1lbnQgYSBmdW5jdGlvbmFsaXR5IHNpbWlsYXIgdG8gdGhlIERPTSBOb2RlTGlzdC5sZW5ndGguIFJldHVybnMgdGhlIG51bWJlciBvZiBub2RlcyBpbiB0aGUgbm9kZS1zZXQuPC9wPgorPGgzPjxhIG5hbWU9InhtbFhQYXRoTm9kZVNldElzRW1wdHkiIGlkPSJ4bWxYUGF0aE5vZGVTZXRJc0VtcHR5Ij48L2E+TWFjcm86IHhtbFhQYXRoTm9kZVNldElzRW1wdHk8L2gzPjxwcmU+I2RlZmluZSB4bWxYUGF0aE5vZGVTZXRJc0VtcHR5PC9wcmU+PHA+Q2hlY2tzIHdoZXRoZXIgQG5zIGlzIGVtcHR5IG9yIG5vdC4gUmV0dXJucyAlVFJVRSBpZiBAbnMgaXMgYW4gZW1wdHkgbm9kZS1zZXQuPC9wPgorPGgzPjxhIG5hbWU9InhtbFhQYXRoTm9kZVNldEl0ZW0iIGlkPSJ4bWxYUGF0aE5vZGVTZXRJdGVtIj48L2E+TWFjcm86IHhtbFhQYXRoTm9kZVNldEl0ZW08L2gzPjxwcmU+I2RlZmluZSB4bWxYUGF0aE5vZGVTZXRJdGVtPC9wcmU+PHA+SW1wbGVtZW50cyBhIGZ1bmN0aW9uYWxpdHkgc2ltaWxhciB0byB0aGUgRE9NIE5vZGVMaXN0Lml0ZW0oKS4gUmV0dXJucyB0aGUgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBhdCB0aGUgZ2l2ZW4gQGluZGV4IGluIEBucyBvciBOVUxMIGlmIEBpbmRleCBpcyBvdXQgb2YgcmFuZ2UgKDAgdG8gbGVuZ3RoLTEpPC9wPgorPGgzPjxhIG5hbWU9InhtbE5vZGVTZXQiIGlkPSJ4bWxOb2RlU2V0Ij5TdHJ1Y3R1cmUgeG1sTm9kZVNldDwvYT48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgeG1sTm9kZVNldDxiciAvPnN0cnVjdCBfeG1sTm9kZVNldCB7CisgICAgaW50CW5vZGVOcgk6IG51bWJlciBvZiBub2RlcyBpbiB0aGUgc2V0CisgICAgaW50CW5vZGVNYXgJOiBzaXplIG9mIHRoZSBhcnJheSBhcyBhbGxvY2F0ZWQKKyAgICA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+ICoJbm9kZVRhYgk6IGFycmF5IG9mIG5vZGVzIGluIG5vIHBhcnRpY3VsYXIgb3JkZXIgQAorfTwvcHJlPjxoMz48YSBuYW1lPSJ4bWxYUGF0aEF4aXMiIGlkPSJ4bWxYUGF0aEF4aXMiPlN0cnVjdHVyZSB4bWxYUGF0aEF4aXM8L2E+PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+U3RydWN0dXJlIHhtbFhQYXRoQXhpczxiciAvPnN0cnVjdCBfeG1sWFBhdGhBeGlzIHsKKyAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgluYW1lCTogdGhlIGF4aXMgbmFtZQorICAgIDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQXhpc0Z1bmMiPnhtbFhQYXRoQXhpc0Z1bmM8L2E+CWZ1bmMJOiB0aGUgc2VhcmNoIGZ1bmN0aW9uCit9PC9wcmU+PGgzPjxhIG5hbWU9InhtbFhQYXRoQ29tcEV4cHIiIGlkPSJ4bWxYUGF0aENvbXBFeHByIj5TdHJ1Y3R1cmUgeG1sWFBhdGhDb21wRXhwcjwvYT48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgeG1sWFBhdGhDb21wRXhwcjxiciAvPnN0cnVjdCBfeG1sWFBhdGhDb21wRXhwciB7CitUaGUgY29udGVudCBvZiB0aGlzIHN0cnVjdHVyZSBpcyBub3QgbWFkZSBwdWJsaWMgYnkgdGhlIEFQSS4KK308L3ByZT48aDM+PGEgbmFtZT0ieG1sWFBhdGhDb250ZXh0IiBpZD0ieG1sWFBhdGhDb250ZXh0Ij5TdHJ1Y3R1cmUgeG1sWFBhdGhDb250ZXh0PC9hPjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPlN0cnVjdHVyZSB4bWxYUGF0aENvbnRleHQ8YnIgLz5zdHJ1Y3QgX3htbFhQYXRoQ29udGV4dCB7CisgICAgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4JZG9jCTogVGhlIGN1cnJlbnQgZG9jdW1lbnQKKyAgICA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CW5vZGUJOiBUaGUgY3VycmVudCBub2RlCisgICAgaW50CW5iX3ZhcmlhYmxlc191bnVzZWQJOiB1bnVzZWQgKGhhc2ggdGFibGUpCisgICAgaW50CW1heF92YXJpYWJsZXNfdW51c2VkCTogdW51c2VkIChoYXNoIHRhYmxlKQorICAgIDxhIGhyZWY9ImxpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFRhYmxlUHRyIj54bWxIYXNoVGFibGVQdHI8L2E+CXZhckhhc2gJOiBIYXNoIHRhYmxlIG9mIGRlZmluZWQgdmFyaWFibGVzCisgICAgaW50CW5iX3R5cGVzCTogbnVtYmVyIG9mIGRlZmluZWQgdHlwZXMKKyAgICBpbnQJbWF4X3R5cGVzCTogbWF4IG51bWJlciBvZiB0eXBlcworICAgIDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoVHlwZVB0ciI+eG1sWFBhdGhUeXBlUHRyPC9hPgl0eXBlcwk6IEFycmF5IG9mIGRlZmluZWQgdHlwZXMKKyAgICBpbnQJbmJfZnVuY3NfdW51c2VkCTogdW51c2VkIChoYXNoIHRhYmxlKQorICAgIGludAltYXhfZnVuY3NfdW51c2VkCTogdW51c2VkIChoYXNoIHRhYmxlKQorICAgIDxhIGhyZWY9ImxpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFRhYmxlUHRyIj54bWxIYXNoVGFibGVQdHI8L2E+CWZ1bmNIYXNoCTogSGFzaCB0YWJsZSBvZiBkZWZpbmVkIGZ1bmNzCisgICAgaW50CW5iX2F4aXMJOiBudW1iZXIgb2YgZGVmaW5lZCBheGlzCisgICAgaW50CW1heF9heGlzCTogbWF4IG51bWJlciBvZiBheGlzCisgICAgPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhBeGlzUHRyIj54bWxYUGF0aEF4aXNQdHI8L2E+CWF4aXMJOiBBcnJheSBvZiBkZWZpbmVkIGF4aXMgdGhlIG5hbWVzcGFjZSBub2QKKyAgICA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5zUHRyIj54bWxOc1B0cjwvYT4gKgluYW1lc3BhY2VzCTogQXJyYXkgb2YgbmFtZXNwYWNlcworICAgIGludAluc05yCTogbnVtYmVyIG9mIG5hbWVzcGFjZSBpbiBzY29wZQorICAgIHZvaWQgKgl1c2VyCTogZnVuY3Rpb24gdG8gZnJlZSBleHRyYSB2YXJpYWJsZXMKKyAgICBpbnQJY29udGV4dFNpemUJOiB0aGUgY29udGV4dCBzaXplCisgICAgaW50CXByb3hpbWl0eVBvc2l0aW9uCTogdGhlIHByb3hpbWl0eSBwb3NpdGlvbiBleHRyYSBzdHVmZiBmb3IKKyAgICBpbnQJeHB0cgk6IGlzIHRoaXMgYW4gWFBvaW50ZXIgY29udGV4dD8KKyAgICA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CWhlcmUJOiBmb3IgaGVyZSgpCisgICAgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPglvcmlnaW4JOiBmb3Igb3JpZ2luKCkgdGhlIHNldCBvZiBuYW1lc3BhY2UgZGVjbGEKKyAgICA8YSBocmVmPSJsaWJ4bWwtaGFzaC5odG1sI3htbEhhc2hUYWJsZVB0ciI+eG1sSGFzaFRhYmxlUHRyPC9hPgluc0hhc2gJOiBUaGUgbmFtZXNwYWNlcyBoYXNoIHRhYmxlCisgICAgPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhWYXJpYWJsZUxvb2t1cEZ1bmMiPnhtbFhQYXRoVmFyaWFibGVMb29rdXBGdW5jPC9hPgl2YXJMb29rdXBGdW5jCTogdmFyaWFibGUgbG9va3VwIGZ1bmMKKyAgICB2b2lkICoJdmFyTG9va3VwRGF0YQk6IHZhcmlhYmxlIGxvb2t1cCBkYXRhIFBvc3NpYmlsaXR5IHRvIGxpbgorICAgIHZvaWQgKglleHRyYQk6IG5lZWRlZCBmb3IgWFNMVCBUaGUgZnVuY3Rpb24gbmFtZSBhbmQgVQorICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCWZ1bmN0aW9uCisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJZnVuY3Rpb25VUkkJOiBmdW5jdGlvbiBsb29rdXAgZnVuY3Rpb24gYW5kIGRhdGEKKyAgICA8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aEZ1bmNMb29rdXBGdW5jIj54bWxYUGF0aEZ1bmNMb29rdXBGdW5jPC9hPglmdW5jTG9va3VwRnVuYwk6IGZ1bmN0aW9uIGxvb2t1cCBmdW5jCisgICAgdm9pZCAqCWZ1bmNMb29rdXBEYXRhCTogZnVuY3Rpb24gbG9va3VwIGRhdGEgdGVtcG9yYXJ5IG5hbWVzcGFjCisgICAgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOc1B0ciI+eG1sTnNQdHI8L2E+ICoJdG1wTnNMaXN0CTogQXJyYXkgb2YgbmFtZXNwYWNlcworICAgIGludAl0bXBOc05yCTogbnVtYmVyIG9mIG5hbWVzcGFjZXMgaW4gc2NvcGUgZXJyb3IgcmVwCisgICAgdm9pZCAqCXVzZXJEYXRhCTogdXNlciBzcGVjaWZpYyBkYXRhIGJsb2NrCisgICAgPGEgaHJlZj0ibGlieG1sLXhtbGVycm9yLmh0bWwjeG1sU3RydWN0dXJlZEVycm9yRnVuYyI+eG1sU3RydWN0dXJlZEVycm9yRnVuYzwvYT4JZXJyb3IJOiB0aGUgY2FsbGJhY2sgaW4gY2FzZSBvZiBlcnJvcnMKKyAgICA8YSBocmVmPSJsaWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxFcnJvciI+eG1sRXJyb3I8L2E+CWxhc3RFcnJvcgk6IHRoZSBsYXN0IGVycm9yCisgICAgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPglkZWJ1Z05vZGUJOiB0aGUgc291cmNlIG5vZGUgWFNMVCBkaWN0aW9uYXJ5CisgICAgPGEgaHJlZj0ibGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0UHRyIj54bWxEaWN0UHRyPC9hPglkaWN0CTogZGljdGlvbmFyeSBpZiBhbnkKKyAgICBpbnQJZmxhZ3MJOiBmbGFncyB0byBjb250cm9sIGNvbXBpbGF0aW9uIENhY2hlIGZvcgorICAgIHZvaWQgKgljYWNoZQorfTwvcHJlPjxoMz5FbnVtIDxhIG5hbWU9InhtbFhQYXRoRXJyb3IiIGlkPSJ4bWxYUGF0aEVycm9yIj54bWxYUGF0aEVycm9yPC9hPjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkVudW0geG1sWFBhdGhFcnJvciB7CisgICAgPGEgbmFtZT0iWFBBVEhfRVhQUkVTU0lPTl9PSyIgaWQ9IlhQQVRIX0VYUFJFU1NJT05fT0siPlhQQVRIX0VYUFJFU1NJT05fT0s8L2E+ID0gMAorICAgIDxhIG5hbWU9IlhQQVRIX05VTUJFUl9FUlJPUiIgaWQ9IlhQQVRIX05VTUJFUl9FUlJPUiI+WFBBVEhfTlVNQkVSX0VSUk9SPC9hPiA9IDEKKyAgICA8YSBuYW1lPSJYUEFUSF9VTkZJTklTSEVEX0xJVEVSQUxfRVJST1IiIGlkPSJYUEFUSF9VTkZJTklTSEVEX0xJVEVSQUxfRVJST1IiPlhQQVRIX1VORklOSVNIRURfTElURVJBTF9FUlJPUjwvYT4gPSAyCisgICAgPGEgbmFtZT0iWFBBVEhfU1RBUlRfTElURVJBTF9FUlJPUiIgaWQ9IlhQQVRIX1NUQVJUX0xJVEVSQUxfRVJST1IiPlhQQVRIX1NUQVJUX0xJVEVSQUxfRVJST1I8L2E+ID0gMworICAgIDxhIG5hbWU9IlhQQVRIX1ZBUklBQkxFX1JFRl9FUlJPUiIgaWQ9IlhQQVRIX1ZBUklBQkxFX1JFRl9FUlJPUiI+WFBBVEhfVkFSSUFCTEVfUkVGX0VSUk9SPC9hPiA9IDQKKyAgICA8YSBuYW1lPSJYUEFUSF9VTkRFRl9WQVJJQUJMRV9FUlJPUiIgaWQ9IlhQQVRIX1VOREVGX1ZBUklBQkxFX0VSUk9SIj5YUEFUSF9VTkRFRl9WQVJJQUJMRV9FUlJPUjwvYT4gPSA1CisgICAgPGEgbmFtZT0iWFBBVEhfSU5WQUxJRF9QUkVESUNBVEVfRVJST1IiIGlkPSJYUEFUSF9JTlZBTElEX1BSRURJQ0FURV9FUlJPUiI+WFBBVEhfSU5WQUxJRF9QUkVESUNBVEVfRVJST1I8L2E+ID0gNgorICAgIDxhIG5hbWU9IlhQQVRIX0VYUFJfRVJST1IiIGlkPSJYUEFUSF9FWFBSX0VSUk9SIj5YUEFUSF9FWFBSX0VSUk9SPC9hPiA9IDcKKyAgICA8YSBuYW1lPSJYUEFUSF9VTkNMT1NFRF9FUlJPUiIgaWQ9IlhQQVRIX1VOQ0xPU0VEX0VSUk9SIj5YUEFUSF9VTkNMT1NFRF9FUlJPUjwvYT4gPSA4CisgICAgPGEgbmFtZT0iWFBBVEhfVU5LTk9XTl9GVU5DX0VSUk9SIiBpZD0iWFBBVEhfVU5LTk9XTl9GVU5DX0VSUk9SIj5YUEFUSF9VTktOT1dOX0ZVTkNfRVJST1I8L2E+ID0gOQorICAgIDxhIG5hbWU9IlhQQVRIX0lOVkFMSURfT1BFUkFORCIgaWQ9IlhQQVRIX0lOVkFMSURfT1BFUkFORCI+WFBBVEhfSU5WQUxJRF9PUEVSQU5EPC9hPiA9IDEwCisgICAgPGEgbmFtZT0iWFBBVEhfSU5WQUxJRF9UWVBFIiBpZD0iWFBBVEhfSU5WQUxJRF9UWVBFIj5YUEFUSF9JTlZBTElEX1RZUEU8L2E+ID0gMTEKKyAgICA8YSBuYW1lPSJYUEFUSF9JTlZBTElEX0FSSVRZIiBpZD0iWFBBVEhfSU5WQUxJRF9BUklUWSI+WFBBVEhfSU5WQUxJRF9BUklUWTwvYT4gPSAxMgorICAgIDxhIG5hbWU9IlhQQVRIX0lOVkFMSURfQ1RYVF9TSVpFIiBpZD0iWFBBVEhfSU5WQUxJRF9DVFhUX1NJWkUiPlhQQVRIX0lOVkFMSURfQ1RYVF9TSVpFPC9hPiA9IDEzCisgICAgPGEgbmFtZT0iWFBBVEhfSU5WQUxJRF9DVFhUX1BPU0lUSU9OIiBpZD0iWFBBVEhfSU5WQUxJRF9DVFhUX1BPU0lUSU9OIj5YUEFUSF9JTlZBTElEX0NUWFRfUE9TSVRJT048L2E+ID0gMTQKKyAgICA8YSBuYW1lPSJYUEFUSF9NRU1PUllfRVJST1IiIGlkPSJYUEFUSF9NRU1PUllfRVJST1IiPlhQQVRIX01FTU9SWV9FUlJPUjwvYT4gPSAxNQorICAgIDxhIG5hbWU9IlhQVFJfU1lOVEFYX0VSUk9SIiBpZD0iWFBUUl9TWU5UQVhfRVJST1IiPlhQVFJfU1lOVEFYX0VSUk9SPC9hPiA9IDE2CisgICAgPGEgbmFtZT0iWFBUUl9SRVNPVVJDRV9FUlJPUiIgaWQ9IlhQVFJfUkVTT1VSQ0VfRVJST1IiPlhQVFJfUkVTT1VSQ0VfRVJST1I8L2E+ID0gMTcKKyAgICA8YSBuYW1lPSJYUFRSX1NVQl9SRVNPVVJDRV9FUlJPUiIgaWQ9IlhQVFJfU1VCX1JFU09VUkNFX0VSUk9SIj5YUFRSX1NVQl9SRVNPVVJDRV9FUlJPUjwvYT4gPSAxOAorICAgIDxhIG5hbWU9IlhQQVRIX1VOREVGX1BSRUZJWF9FUlJPUiIgaWQ9IlhQQVRIX1VOREVGX1BSRUZJWF9FUlJPUiI+WFBBVEhfVU5ERUZfUFJFRklYX0VSUk9SPC9hPiA9IDE5CisgICAgPGEgbmFtZT0iWFBBVEhfRU5DT0RJTkdfRVJST1IiIGlkPSJYUEFUSF9FTkNPRElOR19FUlJPUiI+WFBBVEhfRU5DT0RJTkdfRVJST1I8L2E+ID0gMjAKKyAgICA8YSBuYW1lPSJYUEFUSF9JTlZBTElEX0NIQVJfRVJST1IiIGlkPSJYUEFUSF9JTlZBTElEX0NIQVJfRVJST1IiPlhQQVRIX0lOVkFMSURfQ0hBUl9FUlJPUjwvYT4gPSAyMQorICAgIDxhIG5hbWU9IlhQQVRIX0lOVkFMSURfQ1RYVCIgaWQ9IlhQQVRIX0lOVkFMSURfQ1RYVCI+WFBBVEhfSU5WQUxJRF9DVFhUPC9hPiA9IDIyCisgICAgPGEgbmFtZT0iWFBBVEhfU1RBQ0tfRVJST1IiIGlkPSJYUEFUSF9TVEFDS19FUlJPUiI+WFBBVEhfU1RBQ0tfRVJST1I8L2E+ID0gMjMKKyAgICA8YSBuYW1lPSJYUEFUSF9GT1JCSURfVkFSSUFCTEVfRVJST1IiIGlkPSJYUEFUSF9GT1JCSURfVkFSSUFCTEVfRVJST1IiPlhQQVRIX0ZPUkJJRF9WQVJJQUJMRV9FUlJPUjwvYT4gPSAyNAorfQorPC9wcmU+PGgzPjxhIG5hbWU9InhtbFhQYXRoRnVuY3QiIGlkPSJ4bWxYUGF0aEZ1bmN0Ij5TdHJ1Y3R1cmUgeG1sWFBhdGhGdW5jdDwvYT48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgeG1sWFBhdGhGdW5jdDxiciAvPnN0cnVjdCBfeG1sWFBhdGhGdW5jdCB7CisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJbmFtZQk6IHRoZSBmdW5jdGlvbiBuYW1lCisgICAgPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhFdmFsRnVuYyI+eG1sWFBhdGhFdmFsRnVuYzwvYT4JZnVuYwk6IHRoZSBldmFsdWF0aW9uIGZ1bmN0aW9uCit9PC9wcmU+PGgzPjxhIG5hbWU9InhtbFhQYXRoT2JqZWN0IiBpZD0ieG1sWFBhdGhPYmplY3QiPlN0cnVjdHVyZSB4bWxYUGF0aE9iamVjdDwvYT48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgeG1sWFBhdGhPYmplY3Q8YnIgLz5zdHJ1Y3QgX3htbFhQYXRoT2JqZWN0IHsKKyAgICA8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFR5cGUiPnhtbFhQYXRoT2JqZWN0VHlwZTwvYT4JdHlwZQorICAgIDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+CW5vZGVzZXR2YWwKKyAgICBpbnQJYm9vbHZhbAorICAgIGRvdWJsZQlmbG9hdHZhbAorICAgIDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCXN0cmluZ3ZhbAorICAgIHZvaWQgKgl1c2VyCisgICAgaW50CWluZGV4CisgICAgdm9pZCAqCXVzZXIyCisgICAgaW50CWluZGV4MgorfTwvcHJlPjxoMz5FbnVtIDxhIG5hbWU9InhtbFhQYXRoT2JqZWN0VHlwZSIgaWQ9InhtbFhQYXRoT2JqZWN0VHlwZSI+eG1sWFBhdGhPYmplY3RUeXBlPC9hPjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkVudW0geG1sWFBhdGhPYmplY3RUeXBlIHsKKyAgICA8YSBuYW1lPSJYUEFUSF9VTkRFRklORUQiIGlkPSJYUEFUSF9VTkRFRklORUQiPlhQQVRIX1VOREVGSU5FRDwvYT4gPSAwCisgICAgPGEgbmFtZT0iWFBBVEhfTk9ERVNFVCIgaWQ9IlhQQVRIX05PREVTRVQiPlhQQVRIX05PREVTRVQ8L2E+ID0gMQorICAgIDxhIG5hbWU9IlhQQVRIX0JPT0xFQU4iIGlkPSJYUEFUSF9CT09MRUFOIj5YUEFUSF9CT09MRUFOPC9hPiA9IDIKKyAgICA8YSBuYW1lPSJYUEFUSF9OVU1CRVIiIGlkPSJYUEFUSF9OVU1CRVIiPlhQQVRIX05VTUJFUjwvYT4gPSAzCisgICAgPGEgbmFtZT0iWFBBVEhfU1RSSU5HIiBpZD0iWFBBVEhfU1RSSU5HIj5YUEFUSF9TVFJJTkc8L2E+ID0gNAorICAgIDxhIG5hbWU9IlhQQVRIX1BPSU5UIiBpZD0iWFBBVEhfUE9JTlQiPlhQQVRIX1BPSU5UPC9hPiA9IDUKKyAgICA8YSBuYW1lPSJYUEFUSF9SQU5HRSIgaWQ9IlhQQVRIX1JBTkdFIj5YUEFUSF9SQU5HRTwvYT4gPSA2CisgICAgPGEgbmFtZT0iWFBBVEhfTE9DQVRJT05TRVQiIGlkPSJYUEFUSF9MT0NBVElPTlNFVCI+WFBBVEhfTE9DQVRJT05TRVQ8L2E+ID0gNworICAgIDxhIG5hbWU9IlhQQVRIX1VTRVJTIiBpZD0iWFBBVEhfVVNFUlMiPlhQQVRIX1VTRVJTPC9hPiA9IDgKKyAgICA8YSBuYW1lPSJYUEFUSF9YU0xUX1RSRUUiIGlkPSJYUEFUSF9YU0xUX1RSRUUiPlhQQVRIX1hTTFRfVFJFRTwvYT4gPSA5IDogQW4gWFNMVCB2YWx1ZSB0cmVlLCBub24gbW9kaWZpYWJsZQorfQorPC9wcmU+PGgzPjxhIG5hbWU9InhtbFhQYXRoUGFyc2VyQ29udGV4dCIgaWQ9InhtbFhQYXRoUGFyc2VyQ29udGV4dCI+U3RydWN0dXJlIHhtbFhQYXRoUGFyc2VyQ29udGV4dDwvYT48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgeG1sWFBhdGhQYXJzZXJDb250ZXh0PGJyIC8+c3RydWN0IF94bWxYUGF0aFBhcnNlckNvbnRleHQgeworICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCWN1cgk6IHRoZSBjdXJyZW50IGNoYXIgYmVpbmcgcGFyc2VkCisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJYmFzZQk6IHRoZSBmdWxsIGV4cHJlc3Npb24KKyAgICBpbnQJZXJyb3IJOiBlcnJvciBjb2RlCisgICAgPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0UHRyIj54bWxYUGF0aENvbnRleHRQdHI8L2E+CWNvbnRleHQJOiB0aGUgZXZhbHVhdGlvbiBjb250ZXh0CisgICAgPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPgl2YWx1ZQk6IHRoZSBjdXJyZW50IHZhbHVlCisgICAgaW50CXZhbHVlTnIJOiBudW1iZXIgb2YgdmFsdWVzIHN0YWNrZWQKKyAgICBpbnQJdmFsdWVNYXgJOiBtYXggbnVtYmVyIG9mIHZhbHVlcyBzdGFja2VkCisgICAgPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPiAqCXZhbHVlVGFiCTogc3RhY2sgb2YgdmFsdWVzCisgICAgPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb21wRXhwclB0ciI+eG1sWFBhdGhDb21wRXhwclB0cjwvYT4JY29tcAk6IHRoZSBwcmVjb21waWxlZCBleHByZXNzaW9uCisgICAgaW50CXhwdHIJOiBpdCB0aGlzIGFuIFhQb2ludGVyIGV4cHJlc3Npb24KKyAgICA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CWFuY2VzdG9yCTogdXNlZCBmb3Igd2Fsa2luZyBwcmVjZWRpbmcgYXhpcworICAgIGludAl2YWx1ZUZyYW1lCTogdXNlZCB0byBsaW1pdCBQb3Agb24gdGhlIHN0YWNrCit9PC9wcmU+PGgzPjxhIG5hbWU9InhtbFhQYXRoVHlwZSIgaWQ9InhtbFhQYXRoVHlwZSI+U3RydWN0dXJlIHhtbFhQYXRoVHlwZTwvYT48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgeG1sWFBhdGhUeXBlPGJyIC8+c3RydWN0IF94bWxYUGF0aFR5cGUgeworICAgIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCW5hbWUJOiB0aGUgdHlwZSBuYW1lCisgICAgPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb252ZXJ0RnVuYyI+eG1sWFBhdGhDb252ZXJ0RnVuYzwvYT4JZnVuYwk6IHRoZSBjb252ZXJzaW9uIGZ1bmN0aW9uCit9PC9wcmU+PGgzPjxhIG5hbWU9InhtbFhQYXRoVmFyaWFibGUiIGlkPSJ4bWxYUGF0aFZhcmlhYmxlIj5TdHJ1Y3R1cmUgeG1sWFBhdGhWYXJpYWJsZTwvYT48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgeG1sWFBhdGhWYXJpYWJsZTxiciAvPnN0cnVjdCBfeG1sWFBhdGhWYXJpYWJsZSB7CisgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJbmFtZQk6IHRoZSB2YXJpYWJsZSBuYW1lCisgICAgPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPgl2YWx1ZQk6IHRoZSB2YWx1ZQorfTwvcHJlPjxoMz48YSBuYW1lPSJ4bWxYUGF0aEF4aXNGdW5jIiBpZD0ieG1sWFBhdGhBeGlzRnVuYyI+PC9hPkZ1bmN0aW9uIHR5cGU6IHhtbFhQYXRoQXhpc0Z1bmM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5GdW5jdGlvbiB0eXBlOiB4bWxYUGF0aEF4aXNGdW5jCis8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+CXhtbFhQYXRoQXhpc0Z1bmMJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPiBjdXIpCis8L3ByZT48cD5BbiBheGlzIHRyYXZlcnNhbCBmdW5jdGlvbi4gVG8gdHJhdmVyc2UgYW4gYXhpcywgdGhlIGVuZ2luZSBjYWxscyB0aGUgZmlyc3QgdGltZSB3aXRoIGN1ciA9PSBOVUxMIGFuZCByZXBlYXQgdW50aWwgdGhlIGZ1bmN0aW9uIHJldHVybnMgTlVMTCBpbmRpY2F0aW5nIHRoZSBlbmQgb2YgdGhlIGF4aXMgdHJhdmVyc2FsLjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggaW50ZXJwcmV0ZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgcHJldmlvdXMgbm9kZSBiZWluZyBleHBsb3JlZCBvbiB0aGF0IGF4aXM8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXh0IG5vZGUgaW4gdGhhdCBheGlzIG9yIE5VTEwgaWYgYXQgdGhlIGVuZCBvZiB0aGUgYXhpcy48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxiciAvPgorPGgzPjxhIG5hbWU9InhtbFhQYXRoQ2FzdEJvb2xlYW5Ub051bWJlciIgaWQ9InhtbFhQYXRoQ2FzdEJvb2xlYW5Ub051bWJlciI+PC9hPkZ1bmN0aW9uOiB4bWxYUGF0aENhc3RCb29sZWFuVG9OdW1iZXI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5kb3VibGUJeG1sWFBhdGhDYXN0Qm9vbGVhblRvTnVtYmVyCShpbnQgdmFsKTxiciAvPgorPC9wcmU+PHA+Q29udmVydHMgYSBib29sZWFuIHRvIGl0cyBudW1iZXIgdmFsdWU8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgYm9vbGVhbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciB2YWx1ZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhQYXRoQ2FzdEJvb2xlYW5Ub1N0cmluZyIgaWQ9InhtbFhQYXRoQ2FzdEJvb2xlYW5Ub1N0cmluZyI+PC9hPkZ1bmN0aW9uOiB4bWxYUGF0aENhc3RCb29sZWFuVG9TdHJpbmc8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxYUGF0aENhc3RCb29sZWFuVG9TdHJpbmcJKGludCB2YWwpPGJyIC8+Cis8L3ByZT48cD5Db252ZXJ0cyBhIGJvb2xlYW4gdG8gaXRzIHN0cmluZyB2YWx1ZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgYm9vbGVhbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBuZXdseSBhbGxvY2F0ZWQgc3RyaW5nLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhQYXRoQ2FzdE5vZGVTZXRUb0Jvb2xlYW4iIGlkPSJ4bWxYUGF0aENhc3ROb2RlU2V0VG9Cb29sZWFuIj48L2E+RnVuY3Rpb246IHhtbFhQYXRoQ2FzdE5vZGVTZXRUb0Jvb2xlYW48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sWFBhdGhDYXN0Tm9kZVNldFRvQm9vbGVhbgkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gbnMpPGJyIC8+Cis8L3ByZT48cD5Db252ZXJ0cyBhIG5vZGUtc2V0IHRvIGl0cyBib29sZWFuIHZhbHVlPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbm9kZS1zZXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBib29sZWFuIHZhbHVlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sWFBhdGhDYXN0Tm9kZVNldFRvTnVtYmVyIiBpZD0ieG1sWFBhdGhDYXN0Tm9kZVNldFRvTnVtYmVyIj48L2E+RnVuY3Rpb246IHhtbFhQYXRoQ2FzdE5vZGVTZXRUb051bWJlcjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmRvdWJsZQl4bWxYUGF0aENhc3ROb2RlU2V0VG9OdW1iZXIJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IG5zKTxiciAvPgorPC9wcmU+PHA+Q29udmVydHMgYSBub2RlLXNldCB0byBpdHMgbnVtYmVyIHZhbHVlPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbm9kZS1zZXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgdmFsdWU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxYUGF0aENhc3ROb2RlU2V0VG9TdHJpbmciIGlkPSJ4bWxYUGF0aENhc3ROb2RlU2V0VG9TdHJpbmciPjwvYT5GdW5jdGlvbjogeG1sWFBhdGhDYXN0Tm9kZVNldFRvU3RyaW5nPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sWFBhdGhDYXN0Tm9kZVNldFRvU3RyaW5nCSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBucyk8YnIgLz4KKzwvcHJlPjxwPkNvbnZlcnRzIGEgbm9kZS1zZXQgdG8gaXRzIHN0cmluZyB2YWx1ZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBub2RlLXNldDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBuZXdseSBhbGxvY2F0ZWQgc3RyaW5nLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhQYXRoQ2FzdE5vZGVUb051bWJlciIgaWQ9InhtbFhQYXRoQ2FzdE5vZGVUb051bWJlciI+PC9hPkZ1bmN0aW9uOiB4bWxYUGF0aENhc3ROb2RlVG9OdW1iZXI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5kb3VibGUJeG1sWFBhdGhDYXN0Tm9kZVRvTnVtYmVyCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUpPGJyIC8+Cis8L3ByZT48cD5Db252ZXJ0cyBhIG5vZGUgdG8gaXRzIG51bWJlciB2YWx1ZTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbm9kZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciB2YWx1ZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhQYXRoQ2FzdE5vZGVUb1N0cmluZyIgaWQ9InhtbFhQYXRoQ2FzdE5vZGVUb1N0cmluZyI+PC9hPkZ1bmN0aW9uOiB4bWxYUGF0aENhc3ROb2RlVG9TdHJpbmc8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxYUGF0aENhc3ROb2RlVG9TdHJpbmcJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSk8YnIgLz4KKzwvcHJlPjxwPkNvbnZlcnRzIGEgbm9kZSB0byBpdHMgc3RyaW5nIHZhbHVlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbm9kZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBuZXdseSBhbGxvY2F0ZWQgc3RyaW5nLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhQYXRoQ2FzdE51bWJlclRvQm9vbGVhbiIgaWQ9InhtbFhQYXRoQ2FzdE51bWJlclRvQm9vbGVhbiI+PC9hPkZ1bmN0aW9uOiB4bWxYUGF0aENhc3ROdW1iZXJUb0Jvb2xlYW48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sWFBhdGhDYXN0TnVtYmVyVG9Cb29sZWFuCShkb3VibGUgdmFsKTxiciAvPgorPC9wcmU+PHA+Q29udmVydHMgYSBudW1iZXIgdG8gaXRzIGJvb2xlYW4gdmFsdWU8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbnVtYmVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYm9vbGVhbiB2YWx1ZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhQYXRoQ2FzdE51bWJlclRvU3RyaW5nIiBpZD0ieG1sWFBhdGhDYXN0TnVtYmVyVG9TdHJpbmciPjwvYT5GdW5jdGlvbjogeG1sWFBhdGhDYXN0TnVtYmVyVG9TdHJpbmc8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxYUGF0aENhc3ROdW1iZXJUb1N0cmluZwkoZG91YmxlIHZhbCk8YnIgLz4KKzwvcHJlPjxwPkNvbnZlcnRzIGEgbnVtYmVyIHRvIGl0cyBzdHJpbmcgdmFsdWUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIG51bWJlcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBuZXdseSBhbGxvY2F0ZWQgc3RyaW5nLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhQYXRoQ2FzdFN0cmluZ1RvQm9vbGVhbiIgaWQ9InhtbFhQYXRoQ2FzdFN0cmluZ1RvQm9vbGVhbiI+PC9hPkZ1bmN0aW9uOiB4bWxYUGF0aENhc3RTdHJpbmdUb0Jvb2xlYW48L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sWFBhdGhDYXN0U3RyaW5nVG9Cb29sZWFuCShjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB2YWwpPGJyIC8+Cis8L3ByZT48cD5Db252ZXJ0cyBhIHN0cmluZyB0byBpdHMgYm9vbGVhbiB2YWx1ZTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBzdHJpbmc8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBib29sZWFuIHZhbHVlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sWFBhdGhDYXN0U3RyaW5nVG9OdW1iZXIiIGlkPSJ4bWxYUGF0aENhc3RTdHJpbmdUb051bWJlciI+PC9hPkZ1bmN0aW9uOiB4bWxYUGF0aENhc3RTdHJpbmdUb051bWJlcjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmRvdWJsZQl4bWxYUGF0aENhc3RTdHJpbmdUb051bWJlcgkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsKTxiciAvPgorPC9wcmU+PHA+Q29udmVydHMgYSBzdHJpbmcgdG8gaXRzIG51bWJlciB2YWx1ZTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBzdHJpbmc8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgdmFsdWU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxYUGF0aENhc3RUb0Jvb2xlYW4iIGlkPSJ4bWxYUGF0aENhc3RUb0Jvb2xlYW4iPjwvYT5GdW5jdGlvbjogeG1sWFBhdGhDYXN0VG9Cb29sZWFuPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFhQYXRoQ2FzdFRvQm9vbGVhbgkJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4gdmFsKTxiciAvPgorPC9wcmU+PHA+Q29udmVydHMgYW4gWFBhdGggb2JqZWN0IHRvIGl0cyBib29sZWFuIHZhbHVlPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYUGF0aCBvYmplY3Q8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBib29sZWFuIHZhbHVlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sWFBhdGhDYXN0VG9OdW1iZXIiIGlkPSJ4bWxYUGF0aENhc3RUb051bWJlciI+PC9hPkZ1bmN0aW9uOiB4bWxYUGF0aENhc3RUb051bWJlcjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmRvdWJsZQl4bWxYUGF0aENhc3RUb051bWJlcgkJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4gdmFsKTxiciAvPgorPC9wcmU+PHA+Q29udmVydHMgYW4gWFBhdGggb2JqZWN0IHRvIGl0cyBudW1iZXIgdmFsdWU8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhQYXRoIG9iamVjdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciB2YWx1ZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhQYXRoQ2FzdFRvU3RyaW5nIiBpZD0ieG1sWFBhdGhDYXN0VG9TdHJpbmciPjwvYT5GdW5jdGlvbjogeG1sWFBhdGhDYXN0VG9TdHJpbmc8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxYUGF0aENhc3RUb1N0cmluZwkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPiB2YWwpPGJyIC8+Cis8L3ByZT48cD5Db252ZXJ0cyBhbiBleGlzdGluZyBvYmplY3QgdG8gaXRzIHN0cmluZygpIGVxdWl2YWxlbnQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhQYXRoIG9iamVjdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGFsbG9jYXRlZCBzdHJpbmcgdmFsdWUgb2YgdGhlIG9iamVjdCwgTlVMTCBpbiBjYXNlIG9mIGVycm9yLiBJdCdzIHVwIHRvIHRoZSBjYWxsZXIgdG8gZnJlZSB0aGUgc3RyaW5nIG1lbW9yeSB3aXRoIHhtbEZyZWUoKS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxYUGF0aENtcE5vZGVzIiBpZD0ieG1sWFBhdGhDbXBOb2RlcyI+PC9hPkZ1bmN0aW9uOiB4bWxYUGF0aENtcE5vZGVzPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFhQYXRoQ21wTm9kZXMJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUxLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUyKTxiciAvPgorPC9wcmU+PHA+Q29tcGFyZSB0d28gbm9kZXMgdy5yLnQgZG9jdW1lbnQgb3JkZXI8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlMTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZpcnN0IG5vZGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGUyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc2Vjb25kIG5vZGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPi0yIGluIGNhc2Ugb2YgZXJyb3IgMSBpZiBmaXJzdCBwb2ludCAmbHQ7IHNlY29uZCBwb2ludCwgMCBpZiBpdCdzIHRoZSBzYW1lIG5vZGUsIC0xIG90aGVyd2lzZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhQYXRoQ29tcGlsZSIgaWQ9InhtbFhQYXRoQ29tcGlsZSI+PC9hPkZ1bmN0aW9uOiB4bWxYUGF0aENvbXBpbGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbXBFeHByUHRyIj54bWxYUGF0aENvbXBFeHByUHRyPC9hPgl4bWxYUGF0aENvbXBpbGUJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0cik8YnIgLz4KKzwvcHJlPjxwPkNvbXBpbGUgYW4gWFBhdGggZXhwcmVzc2lvbjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhQYXRoIGV4cHJlc3Npb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbXBFeHByUHRyIj54bWxYUGF0aENvbXBFeHByUHRyPC9hPiByZXN1bHRpbmcgZnJvbSB0aGUgY29tcGlsYXRpb24gb3IgTlVMTC4gdGhlIGNhbGxlciBoYXMgdG8gZnJlZSB0aGUgb2JqZWN0LjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhQYXRoQ29tcGlsZWRFdmFsIiBpZD0ieG1sWFBhdGhDb21waWxlZEV2YWwiPjwvYT5GdW5jdGlvbjogeG1sWFBhdGhDb21waWxlZEV2YWw8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+CXhtbFhQYXRoQ29tcGlsZWRFdmFsCSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbXBFeHByUHRyIj54bWxYUGF0aENvbXBFeHByUHRyPC9hPiBjb21wLCA8YnIgLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0UHRyIj54bWxYUGF0aENvbnRleHRQdHI8L2E+IGN0eCk8YnIgLz4KKzwvcHJlPjxwPkV2YWx1YXRlIHRoZSBQcmVjb21waWxlZCBYUGF0aCBleHByZXNzaW9uIGluIHRoZSBnaXZlbiBjb250ZXh0LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbXA8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjb21waWxlZCBYUGF0aCBleHByZXNzaW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYUGF0aCBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPiByZXN1bHRpbmcgZnJvbSB0aGUgZXZhbHVhdGlvbiBvciBOVUxMLiB0aGUgY2FsbGVyIGhhcyB0byBmcmVlIHRoZSBvYmplY3QuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sWFBhdGhDb21waWxlZEV2YWxUb0Jvb2xlYW4iIGlkPSJ4bWxYUGF0aENvbXBpbGVkRXZhbFRvQm9vbGVhbiI+PC9hPkZ1bmN0aW9uOiB4bWxYUGF0aENvbXBpbGVkRXZhbFRvQm9vbGVhbjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxYUGF0aENvbXBpbGVkRXZhbFRvQm9vbGVhbgkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb21wRXhwclB0ciI+eG1sWFBhdGhDb21wRXhwclB0cjwvYT4gY29tcCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0UHRyIj54bWxYUGF0aENvbnRleHRQdHI8L2E+IGN0eHQpPGJyIC8+Cis8L3ByZT48cD5BcHBsaWVzIHRoZSBYUGF0aCBib29sZWFuKCkgZnVuY3Rpb24gb24gdGhlIHJlc3VsdCBvZiB0aGUgZ2l2ZW4gY29tcGlsZWQgZXhwcmVzc2lvbi48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jb21wPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY29tcGlsZWQgWFBhdGggZXhwcmVzc2lvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhQYXRoIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgdGhlIGV4cHJlc3Npb24gZXZhbHVhdGVkIHRvIHRydWUsIDAgaWYgdG8gZmFsc2UgYW5kIC0xIGluIEFQSSBhbmQgaW50ZXJuYWwgZXJyb3JzLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhQYXRoQ29udGV4dFNldENhY2hlIiBpZD0ieG1sWFBhdGhDb250ZXh0U2V0Q2FjaGUiPjwvYT5GdW5jdGlvbjogeG1sWFBhdGhDb250ZXh0U2V0Q2FjaGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sWFBhdGhDb250ZXh0U2V0Q2FjaGUJCSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHRQdHIiPnhtbFhQYXRoQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgaW50IGFjdGl2ZSwgPGJyIC8+CQkJCQkgaW50IHZhbHVlLCA8YnIgLz4JCQkJCSBpbnQgb3B0aW9ucyk8YnIgLz4KKzwvcHJlPjxwPkNyZWF0ZXMvZnJlZXMgYW4gb2JqZWN0IGNhY2hlIG9uIHRoZSBYUGF0aCBjb250ZXh0LiBJZiBhY3RpdmF0ZXMgWFBhdGggb2JqZWN0cyAoeG1sWFBhdGhPYmplY3QpIHdpbGwgYmUgY2FjaGVkIGludGVybmFsbHkgdG8gYmUgcmV1c2VkLiBAb3B0aW9uczogMDogVGhpcyB3aWxsIHNldCB0aGUgWFBhdGggb2JqZWN0IGNhY2hpbmc6IEB2YWx1ZTogVGhpcyB3aWxsIHNldCB0aGUgbWF4aW11bSBudW1iZXIgb2YgWFBhdGggb2JqZWN0cyB0byBiZSBjYWNoZWQgcGVyIHNsb3QgVGhlcmUgYXJlIDUgc2xvdHMgZm9yOiBub2RlLXNldCwgc3RyaW5nLCBudW1iZXIsIGJvb2xlYW4sIGFuZCBtaXNjIG9iamVjdHMuIFVzZSAmbHQ7MCBmb3IgdGhlIGRlZmF1bHQgbnVtYmVyICgxMDApLiBPdGhlciB2YWx1ZXMgZm9yIEBvcHRpb25zIGhhdmUgY3VycmVudGx5IG5vIGVmZmVjdC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YWN0aXZlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5lbmFibGVzL2Rpc2FibGVzIChjcmVhdGVzL2ZyZWVzKSB0aGUgY2FjaGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbHVlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIHZhbHVlIHdpdGggc2VtYW50aWNzIGRlcGVuZGFudCBvbiBAb3B0aW9uczwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3B0aW9uczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+b3B0aW9ucyAoY3VycmVudGx5IG9ubHkgdGhlIHZhbHVlIDAgaXMgdXNlZCk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaWYgdGhlIHNldHRpbmcgc3VjY2VlZGVkLCBhbmQgLTEgb24gQVBJIG9yIGludGVybmFsIGVycm9ycy48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxYUGF0aENvbnZlcnRCb29sZWFuIiBpZD0ieG1sWFBhdGhDb252ZXJ0Qm9vbGVhbiI+PC9hPkZ1bmN0aW9uOiB4bWxYUGF0aENvbnZlcnRCb29sZWFuPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPgl4bWxYUGF0aENvbnZlcnRCb29sZWFuCSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IHZhbCk8YnIgLz4KKzwvcHJlPjxwPkNvbnZlcnRzIGFuIGV4aXN0aW5nIG9iamVjdCB0byBpdHMgYm9vbGVhbigpIGVxdWl2YWxlbnQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhQYXRoIG9iamVjdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ldyBvYmplY3QsIHRoZSBvbGQgb25lIGlzIGZyZWVkIChvciB0aGUgb3BlcmF0aW9uIGlzIGRvbmUgZGlyZWN0bHkgb24gQHZhbCk8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxYUGF0aENvbnZlcnRGdW5jIiBpZD0ieG1sWFBhdGhDb252ZXJ0RnVuYyI+PC9hPkZ1bmN0aW9uIHR5cGU6IHhtbFhQYXRoQ29udmVydEZ1bmM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5GdW5jdGlvbiB0eXBlOiB4bWxYUGF0aENvbnZlcnRGdW5jCitpbnQJeG1sWFBhdGhDb252ZXJ0RnVuYwkJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4gb2JqLCA8YnIgLz4JCQkJCSBpbnQgdHlwZSkKKzwvcHJlPjxwPkEgY29udmVyc2lvbiBmdW5jdGlvbiBpcyBhc3NvY2lhdGVkIHRvIGEgdHlwZSBhbmQgdXNlZCB0byBjYXN0IHRoZSBuZXcgdHlwZSB0byBwcmltaXRpdmUgdmFsdWVzLjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vYmo8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhQYXRoIG9iamVjdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dHlwZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiB0aGUgdGFyZ2V0IHR5cGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPi0xIGluIGNhc2Ugb2YgZXJyb3IsIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48YnIgLz4KKzxoMz48YSBuYW1lPSJ4bWxYUGF0aENvbnZlcnROdW1iZXIiIGlkPSJ4bWxYUGF0aENvbnZlcnROdW1iZXIiPjwvYT5GdW5jdGlvbjogeG1sWFBhdGhDb252ZXJ0TnVtYmVyPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPgl4bWxYUGF0aENvbnZlcnROdW1iZXIJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4gdmFsKTxiciAvPgorPC9wcmU+PHA+Q29udmVydHMgYW4gZXhpc3Rpbmcgb2JqZWN0IHRvIGl0cyBudW1iZXIoKSBlcXVpdmFsZW50PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYUGF0aCBvYmplY3Q8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXcgb2JqZWN0LCB0aGUgb2xkIG9uZSBpcyBmcmVlZCAob3IgdGhlIG9wZXJhdGlvbiBpcyBkb25lIGRpcmVjdGx5IG9uIEB2YWwpPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sWFBhdGhDb252ZXJ0U3RyaW5nIiBpZD0ieG1sWFBhdGhDb252ZXJ0U3RyaW5nIj48L2E+RnVuY3Rpb246IHhtbFhQYXRoQ29udmVydFN0cmluZzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4JeG1sWFBhdGhDb252ZXJ0U3RyaW5nCSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IHZhbCk8YnIgLz4KKzwvcHJlPjxwPkNvbnZlcnRzIGFuIGV4aXN0aW5nIG9iamVjdCB0byBpdHMgc3RyaW5nKCkgZXF1aXZhbGVudDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWFBhdGggb2JqZWN0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3IG9iamVjdCwgdGhlIG9sZCBvbmUgaXMgZnJlZWQgKG9yIHRoZSBvcGVyYXRpb24gaXMgZG9uZSBkaXJlY3RseSBvbiBAdmFsKTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhQYXRoQ3R4dENvbXBpbGUiIGlkPSJ4bWxYUGF0aEN0eHRDb21waWxlIj48L2E+RnVuY3Rpb246IHhtbFhQYXRoQ3R4dENvbXBpbGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbXBFeHByUHRyIj54bWxYUGF0aENvbXBFeHByUHRyPC9hPgl4bWxYUGF0aEN0eHRDb21waWxlCSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHRQdHIiPnhtbFhQYXRoQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0cik8YnIgLz4KKzwvcHJlPjxwPkNvbXBpbGUgYW4gWFBhdGggZXhwcmVzc2lvbjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhQYXRoIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhQYXRoIGV4cHJlc3Npb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbXBFeHByUHRyIj54bWxYUGF0aENvbXBFeHByUHRyPC9hPiByZXN1bHRpbmcgZnJvbSB0aGUgY29tcGlsYXRpb24gb3IgTlVMTC4gdGhlIGNhbGxlciBoYXMgdG8gZnJlZSB0aGUgb2JqZWN0LjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhQYXRoRXZhbCIgaWQ9InhtbFhQYXRoRXZhbCI+PC9hPkZ1bmN0aW9uOiB4bWxYUGF0aEV2YWw8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+CXhtbFhQYXRoRXZhbAkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3RyLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHRQdHIiPnhtbFhQYXRoQ29udGV4dFB0cjwvYT4gY3R4KTxiciAvPgorPC9wcmU+PHA+RXZhbHVhdGUgdGhlIFhQYXRoIExvY2F0aW9uIFBhdGggaW4gdGhlIGdpdmVuIGNvbnRleHQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3RyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggZXhwcmVzc2lvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4gcmVzdWx0aW5nIGZyb20gdGhlIGV2YWx1YXRpb24gb3IgTlVMTC4gdGhlIGNhbGxlciBoYXMgdG8gZnJlZSB0aGUgb2JqZWN0LjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhQYXRoRXZhbEV4cHJlc3Npb24iIGlkPSJ4bWxYUGF0aEV2YWxFeHByZXNzaW9uIj48L2E+RnVuY3Rpb246IHhtbFhQYXRoRXZhbEV4cHJlc3Npb248L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+CXhtbFhQYXRoRXZhbEV4cHJlc3Npb24JKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0ciwgPGJyIC8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFB0ciI+eG1sWFBhdGhDb250ZXh0UHRyPC9hPiBjdHh0KTxiciAvPgorPC9wcmU+PHA+RXZhbHVhdGUgdGhlIFhQYXRoIGV4cHJlc3Npb24gaW4gdGhlIGdpdmVuIGNvbnRleHQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3RyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggZXhwcmVzc2lvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhQYXRoIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IHJlc3VsdGluZyBmcm9tIHRoZSBldmFsdWF0aW9uIG9yIE5VTEwuIHRoZSBjYWxsZXIgaGFzIHRvIGZyZWUgdGhlIG9iamVjdC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxYUGF0aEV2YWxGdW5jIiBpZD0ieG1sWFBhdGhFdmFsRnVuYyI+PC9hPkZ1bmN0aW9uIHR5cGU6IHhtbFhQYXRoRXZhbEZ1bmM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5GdW5jdGlvbiB0eXBlOiB4bWxYUGF0aEV2YWxGdW5jCit2b2lkCXhtbFhQYXRoRXZhbEZ1bmMJCSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgaW50IG5hcmdzKQorPC9wcmU+PHA+QW4gWFBhdGggZXZhbHVhdGlvbiBmdW5jdGlvbiwgdGhlIHBhcmFtZXRlcnMgYXJlIG9uIHRoZSBYUGF0aCBjb250ZXh0IHN0YWNrLjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYUGF0aCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFyZ3M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgYXJndW1lbnRzIHBhc3NlZCB0byB0aGUgZnVuY3Rpb248L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxiciAvPgorPGgzPjxhIG5hbWU9InhtbFhQYXRoRXZhbFByZWRpY2F0ZSIgaWQ9InhtbFhQYXRoRXZhbFByZWRpY2F0ZSI+PC9hPkZ1bmN0aW9uOiB4bWxYUGF0aEV2YWxQcmVkaWNhdGU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sWFBhdGhFdmFsUHJlZGljYXRlCQkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0UHRyIj54bWxYUGF0aENvbnRleHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4gcmVzKTxiciAvPgorPC9wcmU+PHA+RXZhbHVhdGUgYSBwcmVkaWNhdGUgcmVzdWx0IGZvciB0aGUgY3VycmVudCBub2RlLiBBIFByZWRpY2F0ZUV4cHIgaXMgZXZhbHVhdGVkIGJ5IGV2YWx1YXRpbmcgdGhlIEV4cHIgYW5kIGNvbnZlcnRpbmcgdGhlIHJlc3VsdCB0byBhIGJvb2xlYW4uIElmIHRoZSByZXN1bHQgaXMgYSBudW1iZXIsIHRoZSByZXN1bHQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gdHJ1ZSBpZiB0aGUgbnVtYmVyIGlzIGVxdWFsIHRvIHRoZSBwb3NpdGlvbiBvZiB0aGUgY29udGV4dCBub2RlIGluIHRoZSBjb250ZXh0IG5vZGUgbGlzdCAoYXMgcmV0dXJuZWQgYnkgdGhlIHBvc2l0aW9uIGZ1bmN0aW9uKSBhbmQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gZmFsc2Ugb3RoZXJ3aXNlOyBpZiB0aGUgcmVzdWx0IGlzIG5vdCBhIG51bWJlciwgdGhlbiB0aGUgcmVzdWx0IHdpbGwgYmUgY29udmVydGVkIGFzIGlmIGJ5IGEgY2FsbCB0byB0aGUgYm9vbGVhbiBmdW5jdGlvbi48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cmVzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgUHJlZGljYXRlIEV4cHJlc3Npb24gZXZhbHVhdGlvbiByZXN1bHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjEgaWYgcHJlZGljYXRlIGlzIHRydWUsIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sWFBhdGhGcmVlQ29tcEV4cHIiIGlkPSJ4bWxYUGF0aEZyZWVDb21wRXhwciI+PC9hPkZ1bmN0aW9uOiB4bWxYUGF0aEZyZWVDb21wRXhwcjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sWFBhdGhGcmVlQ29tcEV4cHIJCSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbXBFeHByUHRyIj54bWxYUGF0aENvbXBFeHByUHRyPC9hPiBjb21wKTxiciAvPgorPC9wcmU+PHA+RnJlZSB1cCB0aGUgbWVtb3J5IGFsbG9jYXRlZCBieSBAY29tcDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbXA8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhQQVRIIGNvbXA8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxYUGF0aEZyZWVDb250ZXh0IiBpZD0ieG1sWFBhdGhGcmVlQ29udGV4dCI+PC9hPkZ1bmN0aW9uOiB4bWxYUGF0aEZyZWVDb250ZXh0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxYUGF0aEZyZWVDb250ZXh0CQkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0UHRyIj54bWxYUGF0aENvbnRleHRQdHI8L2E+IGN0eHQpPGJyIC8+Cis8L3ByZT48cD5GcmVlIHVwIGFuIDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dCI+eG1sWFBhdGhDb250ZXh0PC9hPjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjb250ZXh0IHRvIGZyZWU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxYUGF0aEZyZWVOb2RlU2V0IiBpZD0ieG1sWFBhdGhGcmVlTm9kZVNldCI+PC9hPkZ1bmN0aW9uOiB4bWxYUGF0aEZyZWVOb2RlU2V0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxYUGF0aEZyZWVOb2RlU2V0CQkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gb2JqKTxiciAvPgorPC9wcmU+PHA+RnJlZSB0aGUgTm9kZVNldCBjb21wb3VuZCAobm90IHRoZSBhY3R1YWwgbm9kZXMgISkuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b2JqPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gdG8gZnJlZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhQYXRoRnJlZU5vZGVTZXRMaXN0IiBpZD0ieG1sWFBhdGhGcmVlTm9kZVNldExpc3QiPjwvYT5GdW5jdGlvbjogeG1sWFBhdGhGcmVlTm9kZVNldExpc3Q8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFhQYXRoRnJlZU5vZGVTZXRMaXN0CQkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPiBvYmopPGJyIC8+Cis8L3ByZT48cD5GcmVlIHVwIHRoZSA8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IEBvYmogYnV0IGRvbid0IGRlYWxsb2NhdGUgdGhlIG9iamVjdHMgaW4gdGhlIGxpc3QgY29udHJhcnkgdG8geG1sWFBhdGhGcmVlT2JqZWN0KCkuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b2JqPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBleGlzdGluZyBOb2RlU2V0TGlzdCBvYmplY3Q8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxYUGF0aEZyZWVPYmplY3QiIGlkPSJ4bWxYUGF0aEZyZWVPYmplY3QiPjwvYT5GdW5jdGlvbjogeG1sWFBhdGhGcmVlT2JqZWN0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxYUGF0aEZyZWVPYmplY3QJCSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IG9iaik8YnIgLz4KKzwvcHJlPjxwPkZyZWUgdXAgYW4gPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPiBvYmplY3QuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b2JqPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgb2JqZWN0IHRvIGZyZWU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxYUGF0aEZ1bmNMb29rdXBGdW5jIiBpZD0ieG1sWFBhdGhGdW5jTG9va3VwRnVuYyI+PC9hPkZ1bmN0aW9uIHR5cGU6IHhtbFhQYXRoRnVuY0xvb2t1cEZ1bmM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5GdW5jdGlvbiB0eXBlOiB4bWxYUGF0aEZ1bmNMb29rdXBGdW5jCis8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aEZ1bmN0aW9uIj54bWxYUGF0aEZ1bmN0aW9uPC9hPgl4bWxYUGF0aEZ1bmNMb29rdXBGdW5jCSh2b2lkICogY3R4dCwgPGJyIC8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuc191cmkpCis8L3ByZT48cD5Qcm90b3R5cGUgZm9yIGNhbGxiYWNrcyB1c2VkIHRvIHBsdWcgZnVuY3Rpb24gbG9va3VwIGluIHRoZSBYUGF0aCBlbmdpbmUuPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhQYXRoIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPm5hbWUgb2YgdGhlIGZ1bmN0aW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uc191cmk8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lc3BhY2UgbmFtZSBob3N0aW5nIHRoaXMgZnVuY3Rpb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYUGF0aCBmdW5jdGlvbiBvciBOVUxMIGlmIG5vdCBmb3VuZC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxiciAvPgorPGgzPjxhIG5hbWU9InhtbFhQYXRoRnVuY3Rpb24iIGlkPSJ4bWxYUGF0aEZ1bmN0aW9uIj48L2E+RnVuY3Rpb24gdHlwZTogeG1sWFBhdGhGdW5jdGlvbjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkZ1bmN0aW9uIHR5cGU6IHhtbFhQYXRoRnVuY3Rpb24KK3ZvaWQJeG1sWFBhdGhGdW5jdGlvbgkJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSBpbnQgbmFyZ3MpCis8L3ByZT48cD5BbiBYUGF0aCBmdW5jdGlvbi4gVGhlIGFyZ3VtZW50cyAoaWYgYW55KSBhcmUgcG9wcGVkIG91dCBmcm9tIHRoZSBjb250ZXh0IHN0YWNrIGFuZCB0aGUgcmVzdWx0IGlzIHB1c2hlZCBvbiB0aGUgc3RhY2suPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYUGF0aCBpbnRlcnByZXN0YXRpb24gY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFyZ3M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgYXJndW1lbnRzPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48YnIgLz4KKzxoMz48YSBuYW1lPSJ4bWxYUGF0aEluaXQiIGlkPSJ4bWxYUGF0aEluaXQiPjwvYT5GdW5jdGlvbjogeG1sWFBhdGhJbml0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxYUGF0aEluaXQJCQkodm9pZCk8YnIgLz4KKzwvcHJlPjxwPkluaXRpYWxpemUgdGhlIFhQYXRoIGVudmlyb25tZW50PC9wPgorPGgzPjxhIG5hbWU9InhtbFhQYXRoSXNJbmYiIGlkPSJ4bWxYUGF0aElzSW5mIj48L2E+RnVuY3Rpb246IHhtbFhQYXRoSXNJbmY8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sWFBhdGhJc0luZgkJCShkb3VibGUgdmFsKTxiciAvPgorPC9wcmU+PHA+UHJvdmlkZXMgYSBwb3J0YWJsZSBpc2luZigpIGZ1bmN0aW9uIHRvIGRldGVjdCB3aGV0aGVyIGEgZG91YmxlIGlzIGEgK0luZmluaXRlIG9yIC1JbmZpbml0ZS4gQmFzZWQgb24gdHJpbyBjb2RlIGh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvY3RyaW8vPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIGRvdWJsZSB2YWx1ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSB2aSB0aGUgdmFsdWUgaXMgK0luZmluaXRlLCAtMSBpZiAtSW5maW5pdGUsIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sWFBhdGhJc05hTiIgaWQ9InhtbFhQYXRoSXNOYU4iPjwvYT5GdW5jdGlvbjogeG1sWFBhdGhJc05hTjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxYUGF0aElzTmFOCQkJKGRvdWJsZSB2YWwpPGJyIC8+Cis8L3ByZT48cD5Qcm92aWRlcyBhIHBvcnRhYmxlIGlzbmFuKCkgZnVuY3Rpb24gdG8gZGV0ZWN0IHdoZXRoZXIgYSBkb3VibGUgaXMgYSBOb3RhTnVtYmVyLiBCYXNlZCBvbiB0cmlvIGNvZGUgaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9jdHJpby88L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgZG91YmxlIHZhbHVlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4xIGlmIHRoZSB2YWx1ZSBpcyBhIE5hTiwgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxYUGF0aE5ld0NvbnRleHQiIGlkPSJ4bWxYUGF0aE5ld0NvbnRleHQiPjwvYT5GdW5jdGlvbjogeG1sWFBhdGhOZXdDb250ZXh0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0UHRyIj54bWxYUGF0aENvbnRleHRQdHI8L2E+CXhtbFhQYXRoTmV3Q29udGV4dAkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jKTxiciAvPgorPC9wcmU+PHA+Q3JlYXRlIGEgbmV3IDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dCI+eG1sWFBhdGhDb250ZXh0PC9hPjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhNTCBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dCI+eG1sWFBhdGhDb250ZXh0PC9hPiBqdXN0IGFsbG9jYXRlZC4gVGhlIGNhbGxlciB3aWxsIG5lZWQgdG8gZnJlZSBpdC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxYUGF0aE5vZGVFdmFsIiBpZD0ieG1sWFBhdGhOb2RlRXZhbCI+PC9hPkZ1bmN0aW9uOiB4bWxYUGF0aE5vZGVFdmFsPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPgl4bWxYUGF0aE5vZGVFdmFsCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsIDxiciAvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzdHIsIDxiciAvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHRQdHIiPnhtbFhQYXRoQ29udGV4dFB0cjwvYT4gY3R4KTxiciAvPgorPC9wcmU+PHA+RXZhbHVhdGUgdGhlIFhQYXRoIExvY2F0aW9uIFBhdGggaW4gdGhlIGdpdmVuIGNvbnRleHQuIFRoZSBub2RlICdub2RlJyBpcyBzZXQgYXMgdGhlIGNvbnRleHQgbm9kZS4gVGhlIGNvbnRleHQgbm9kZSBpcyBub3QgcmVzdG9yZWQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vZGUgdG8gdG8gdXNlIGFzIHRoZSBjb250ZXh0IG5vZGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhQYXRoIGV4cHJlc3Npb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhQYXRoIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IHJlc3VsdGluZyBmcm9tIHRoZSBldmFsdWF0aW9uIG9yIE5VTEwuIHRoZSBjYWxsZXIgaGFzIHRvIGZyZWUgdGhlIG9iamVjdC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxYUGF0aE5vZGVTZXRDcmVhdGUiIGlkPSJ4bWxYUGF0aE5vZGVTZXRDcmVhdGUiPjwvYT5GdW5jdGlvbjogeG1sWFBhdGhOb2RlU2V0Q3JlYXRlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4JeG1sWFBhdGhOb2RlU2V0Q3JlYXRlCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IHZhbCk8YnIgLz4KKzwvcHJlPjxwPkNyZWF0ZSBhIG5ldyA8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBvZiB0eXBlIGRvdWJsZSBhbmQgb2YgdmFsdWUgQHZhbDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gaW5pdGlhbCB4bWxOb2RlUHRyLCBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sWFBhdGhPYmplY3RDb3B5IiBpZD0ieG1sWFBhdGhPYmplY3RDb3B5Ij48L2E+RnVuY3Rpb246IHhtbFhQYXRoT2JqZWN0Q29weTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4JeG1sWFBhdGhPYmplY3RDb3B5CSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IHZhbCk8YnIgLz4KKzwvcHJlPjxwPmFsbG9jYXRlIGEgbmV3IGNvcHkgb2YgYSBnaXZlbiBvYmplY3Q8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBvcmlnaW5hbCBvYmplY3Q8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXdseSBjcmVhdGVkIG9iamVjdC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxYUGF0aE9yZGVyRG9jRWxlbXMiIGlkPSJ4bWxYUGF0aE9yZGVyRG9jRWxlbXMiPjwvYT5GdW5jdGlvbjogeG1sWFBhdGhPcmRlckRvY0VsZW1zPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+bG9uZwl4bWxYUGF0aE9yZGVyRG9jRWxlbXMJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MpPGJyIC8+Cis8L3ByZT48cD5DYWxsIHRoaXMgcm91dGluZSB0byBzcGVlZCB1cCBYUGF0aCBjb21wdXRhdGlvbiBvbiBzdGF0aWMgZG9jdW1lbnRzLiBUaGlzIHN0YW1wcyBhbGwgdGhlIGVsZW1lbnQgbm9kZXMgd2l0aCB0aGUgZG9jdW1lbnQgb3JkZXIgTGlrZSBmb3IgbGluZSBpbmZvcm1hdGlvbiwgdGhlIG9yZGVyIGlzIGtlcHQgaW4gdGhlIGVsZW1lbnQtJmd0O2NvbnRlbnQgZmllbGQsIHRoZSB2YWx1ZSBzdG9yZWQgaXMgYWN0dWFsbHkgLSB0aGUgbm9kZSBudW1iZXIgKHN0YXJ0aW5nIGF0IC0xKSB0byBiZSBhYmxlIHRvIGRpZmZlcmVudGlhdGUgZnJvbSBsaW5lIG51bWJlcnMuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZG9jPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBpbnB1dCBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBlbGVtZW50cyBmb3VuZCBpbiB0aGUgZG9jdW1lbnQgb3IgLTEgaW4gY2FzZSBvZiBlcnJvci48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxYUGF0aFNldENvbnRleHROb2RlIiBpZD0ieG1sWFBhdGhTZXRDb250ZXh0Tm9kZSI+PC9hPkZ1bmN0aW9uOiB4bWxYUGF0aFNldENvbnRleHROb2RlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFhQYXRoU2V0Q29udGV4dE5vZGUJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFB0ciI+eG1sWFBhdGhDb250ZXh0UHRyPC9hPiBjdHgpPGJyIC8+Cis8L3ByZT48cD5TZXRzICdub2RlJyBhcyB0aGUgY29udGV4dCBub2RlLiBUaGUgbm9kZSBtdXN0IGJlIGluIHRoZSBzYW1lIGRvY3VtZW50IGFzIHRoYXQgYXNzb2NpYXRlZCB3aXRoIHRoZSBjb250ZXh0LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBub2RlIHRvIHRvIHVzZSBhcyB0aGUgY29udGV4dCBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYUGF0aCBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4tMSBpbiBjYXNlIG9mIGVycm9yIG9yIDAgaWYgc3VjY2Vzc2Z1bDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhQYXRoVmFyaWFibGVMb29rdXBGdW5jIiBpZD0ieG1sWFBhdGhWYXJpYWJsZUxvb2t1cEZ1bmMiPjwvYT5GdW5jdGlvbiB0eXBlOiB4bWxYUGF0aFZhcmlhYmxlTG9va3VwRnVuYzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPkZ1bmN0aW9uIHR5cGU6IHhtbFhQYXRoVmFyaWFibGVMb29rdXBGdW5jCis8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+CXhtbFhQYXRoVmFyaWFibGVMb29rdXBGdW5jCSh2b2lkICogY3R4dCwgPGJyIC8+CQkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5zX3VyaSkKKzwvcHJlPjxwPlByb3RvdHlwZSBmb3IgY2FsbGJhY2tzIHVzZWQgdG8gcGx1ZyB2YXJpYWJsZSBsb29rdXAgaW4gdGhlIFhQYXRoIGVuZ2luZS48L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWFBhdGggY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+bmFtZSBvZiB0aGUgdmFyaWFibGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5zX3VyaTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5hbWVzcGFjZSBuYW1lIGhvc3RpbmcgdGhpcyB2YXJpYWJsZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhQYXRoIG9iamVjdCB2YWx1ZSBvciBOVUxMIGlmIG5vdCBmb3VuZC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxiciAvPgorPHA+PGEgaHJlZj0iLi4vYnVncy5odG1sIj5EYW5pZWwgVmVpbGxhcmQ8L2E+PC9wPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9odG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sIGIvbGlieG1sMi9kb2MvaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMTJkODA4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvaHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbApAQCAtMCwwICsxLDM5NCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIj4KKzxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj48aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz48bGluayByZWw9IlNIT1JUQ1VUIElDT04iIGhyZWY9Ii9mYXZpY29uLmljbyIgLz48c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorVEQge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0JPRFkge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYTsgbWFyZ2luLXRvcDogMmVtOyBtYXJnaW4tbGVmdDogMGVtOyBtYXJnaW4tcmlnaHQ6IDBlbX0KK0gxIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMiB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDMge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0E6bGluaywgQTp2aXNpdGVkLCBBOmFjdGl2ZSB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIH0KKzwvc3R5bGU+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKyAgICAgIGRpdi5kZXByZWNhdGVkIHByZS5wcm9ncmFtbGlzdGluZyB7Ym9yZGVyLXN0eWxlOiBkb3VibGU7Ym9yZGVyLWNvbG9yOnJlZH0KKyAgICAgIHByZS5wcm9ncmFtbGlzdGluZyB7Ym9yZGVyLXN0eWxlOiBkb3VibGU7YmFja2dyb3VuZDogI0VFQ0ZBMX0KKyAgICA8L3N0eWxlPjx0aXRsZT5Nb2R1bGUgeHBhdGhJbnRlcm5hbHMgZnJvbSBsaWJ4bWwyPC90aXRsZT48L2hlYWQ+PGJvZHkgYmdjb2xvcj0iIzhiNzc2NSIgdGV4dD0iIzAwMDAwMCIgbGluaz0iI2EwNjA2MCIgdmxpbms9IiMwMDAwMDAiPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSIxMDAlIiBjZWxscGFkZGluZz0iNSIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgd2lkdGg9IjEyMCI+PGEgaHJlZj0iaHR0cDovL3N3cGF0LmZmaWkub3JnLyI+PGltZyBzcmM9Ii4uL2VwYXRlbnRzLnBuZyIgYWx0PSJBY3Rpb24gYWdhaW5zdCBzb2Z0d2FyZSBwYXRlbnRzIiAvPjwvYT48L3RkPjx0ZCB3aWR0aD0iMTgwIj48YSBocmVmPSJodHRwOi8vd3d3Lmdub21lLm9yZy8iPjxpbWcgc3JjPSIuLi9nbm9tZTIucG5nIiBhbHQ9Ikdub21lMiBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9TdGF0dXMiPjxpbWcgc3JjPSIuLi93M2MucG5nIiBhbHQ9IlczQyBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnJlZGhhdC5jb20vIj48aW1nIHNyYz0iLi4vcmVkaGF0LmdpZiIgYWx0PSJSZWQgSGF0IExvZ28iIC8+PC9hPjxkaXYgYWxpZ249ImxlZnQiPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy8iPjxpbWcgc3JjPSIuLi9MaWJ4bWwyLUxvZ28tMTgweDE2OC5naWYiIGFsdD0iTWFkZSB3aXRoIExpYnhtbDIgTG9nbyIgLz48L2E+PC9kaXY+PC90ZD48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjkwJSIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiIGJnY29sb3I9IiNmZmZhY2QiPjx0cj48dGQgYWxpZ249ImNlbnRlciI+PGgxPjwvaDE+PGgyPk1vZHVsZSB4cGF0aEludGVybmFscyBmcm9tIGxpYnhtbDI8L2gyPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI0IiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCB2YWxpZ249InRvcCIgd2lkdGg9IjIwMCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+QVBJIE1lbnU8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PGZvcm0gYWN0aW9uPSIuLi9zZWFyY2gucGhwIiBlbmN0eXBlPSJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiIG1ldGhvZD0iZ2V0Ij48aW5wdXQgbmFtZT0icXVlcnkiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iIiAvPjxpbnB1dCBuYW1lPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNlYXJjaCAuLi4iIC8+PC9mb3JtPjx1bD48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9Ii4uL2luZGV4Lmh0bWwiPk1haW4gTWVudTwvYT48L2xpPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iLi4vZG9jcy5odG1sIj5EZXZlbG9wZXIgTWVudTwvYT48L2xpPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iLi4vZXhhbXBsZXMvaW5kZXguaHRtbCI+Q29kZSBFeGFtcGxlczwvYT48L2xpPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iaW5kZXguaHRtbCI+QVBJIE1lbnU8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXBhcnNlci5odG1sIj5QYXJzZXIgQVBJPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwiPlRyZWUgQVBJPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCI+UmVhZGVyIEFQSTwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9ndWlkZWxpbmVzLmh0bWwiPlhNTCBHdWlkZWxpbmVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0NoYW5nZUxvZy5odG1sIj5DaGFuZ2VMb2c8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5BUEkgSW5kZXhlczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9Ii4uL0FQSWNodW5rMC5odG1sIj5BbHBoYWJldGljPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSWNvbnN0cnVjdG9ycy5odG1sIj5Db25zdHJ1Y3RvcnM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJZnVuY3Rpb25zLmh0bWwiPkZ1bmN0aW9ucy9UeXBlczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUElmaWxlcy5odG1sIj5Nb2R1bGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSXN5bWJvbHMuaHRtbCI+U3ltYm9sczwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPlJlbGF0ZWQgbGlua3M8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSJodHRwOi8vbWFpbC5nbm9tZS5vcmcvYXJjaGl2ZXMveG1sLyI+TWFpbCBhcmNoaXZlPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9YU0xULyI+WFNMVCBsaWJ4c2x0PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9waGQuY3MudW5pYm8uaXQvZ2RvbWUyLyI+RE9NIGdkb21lMjwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmFsZWtzZXkuY29tL3htbHNlYy8iPlhNTC1EU2lnIHhtbHNlYzwvYT48L2xpPjxsaT48YSBocmVmPSJmdHA6Ly94bWxzb2Z0Lm9yZy8iPkZUUDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnpsYXRrb3ZpYy5jb20vcHJvamVjdHMvbGlieG1sLyI+V2luZG93cyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vb3BlbmNzdy5vcmcvcGFja2FnZXMvbGlieG1sMiI+U29sYXJpcyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmV4cGxhaW4uY29tLmF1L29zcy9saWJ4bWwyeHNsdC5odG1sIj5NYWNPc1ggYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2x4bWwuZGUvIj5seG1sIFB5dGhvbiBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vY3Bhbi51d2lubmlwZWcuY2EvZGlzdC9YTUwtTGliWE1MIj5QZXJsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWxwbHVzcGx1cy5zb3VyY2Vmb3JnZS5uZXQvIj5DKysgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56ZW5kLmNvbS9waHA1L2FydGljbGVzL3BocDUteG1scGhwLnBocCNIZWFkaW5nNCI+UEhQIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbGlieG1sMi1wYXMvIj5QYXNjYWwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbC5ydWJ5Zm9yZ2Uub3JnLyI+UnVieSBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vdGNseG1sLnNvdXJjZWZvcmdlLm5ldC8iPlRjbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2J1Z2xpc3QuY2dpP3Byb2R1Y3Q9bGlieG1sMiI+QnVnIFRyYWNrZXI8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dGFibGUgY2xhc3M9Im5hdmlnYXRpb24iIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIyIj48dHIgdmFsaWduPSJtaWRkbGUiPjx0ZD48YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sIj48aW1nIHNyYz0ibGVmdC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlByZXYiIC8+PC9hPjwvdGQ+PHRoIGFsaWduPSJsZWZ0Ij48YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCI+eHBhdGg8L2E+PC90aD48dGQ+PGEgYWNjZXNza2V5PSJ1IiBocmVmPSJpbmRleC5odG1sIj48aW1nIHNyYz0idXAucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJVcCIgLz48L2E+PC90ZD48dGggYWxpZ249ImxlZnQiPjxhIGhyZWY9ImluZGV4Lmh0bWwiPkFQSSBkb2N1bWVudGF0aW9uPC9hPjwvdGg+PHRkPjxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iLi4vaW5kZXguaHRtbCI+PGltZyBzcmM9ImhvbWUucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJIb21lIiAvPjwvYT48L3RkPjx0aCBhbGlnbj0iY2VudGVyIj48YSBocmVmPSIuLi9pbmRleC5odG1sIj5UaGUgWE1MIEMgcGFyc2VyIGFuZCB0b29sa2l0IG9mIEdub21lPC9hPjwvdGg+PHRoIGFsaWduPSJyaWdodCI+PGEgaHJlZj0ibGlieG1sLXhwb2ludGVyLmh0bWwiPnhwb2ludGVyPC9hPjwvdGg+PHRkPjxhIGFjY2Vzc2tleT0ibiIgaHJlZj0ibGlieG1sLXhwb2ludGVyLmh0bWwiPjxpbWcgc3JjPSJyaWdodC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9Ik5leHQiIC8+PC9hPjwvdGQ+PC90cj48L3RhYmxlPjxwPmludGVybmFsIGludGVyZmFjZXMgZm9yIFhNTCBQYXRoIExhbmd1YWdlIGltcGxlbWVudGF0aW9uIHVzZWQgdG8gYnVpbGQgbmV3IG1vZHVsZXMgb24gdG9wIG9mIFhQYXRoIGxpa2UgWFBvaW50ZXIgYW5kIFhTTFQgPC9wPjxoMj5UYWJsZSBvZiBDb250ZW50czwvaDI+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI0NBU1RfVE9fQk9PTEVBTiI+Q0FTVF9UT19CT09MRUFOPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNDQVNUX1RPX05VTUJFUiI+Q0FTVF9UT19OVU1CRVI8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI0NBU1RfVE9fU1RSSU5HIj5DQVNUX1RPX1NUUklORzwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjQ0hFQ0tfQVJJVFkiPkNIRUNLX0FSSVRZPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNDSEVDS19FUlJPUiI+Q0hFQ0tfRVJST1I8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI0NIRUNLX0VSUk9SMCI+Q0hFQ0tfRVJST1IwPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNDSEVDS19UWVBFIj5DSEVDS19UWVBFPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiNDSEVDS19UWVBFMCI+Q0hFQ0tfVFlQRTA8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI1hQX0VSUk9SIj5YUF9FUlJPUjwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjWFBfRVJST1IwIj5YUF9FUlJPUjA8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI3htbFhQYXRoQ2hlY2tFcnJvciI+eG1sWFBhdGhDaGVja0Vycm9yPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiN4bWxYUGF0aEVtcHR5Tm9kZVNldCI+eG1sWFBhdGhFbXB0eU5vZGVTZXQ8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI3htbFhQYXRoR2V0Q29udGV4dE5vZGUiPnhtbFhQYXRoR2V0Q29udGV4dE5vZGU8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI3htbFhQYXRoR2V0RG9jdW1lbnQiPnhtbFhQYXRoR2V0RG9jdW1lbnQ8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI3htbFhQYXRoR2V0RXJyb3IiPnhtbFhQYXRoR2V0RXJyb3I8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI3htbFhQYXRoUmV0dXJuQm9vbGVhbiI+eG1sWFBhdGhSZXR1cm5Cb29sZWFuPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiN4bWxYUGF0aFJldHVybkVtcHR5Tm9kZVNldCI+eG1sWFBhdGhSZXR1cm5FbXB0eU5vZGVTZXQ8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI3htbFhQYXRoUmV0dXJuRW1wdHlTdHJpbmciPnhtbFhQYXRoUmV0dXJuRW1wdHlTdHJpbmc8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI3htbFhQYXRoUmV0dXJuRXh0ZXJuYWwiPnhtbFhQYXRoUmV0dXJuRXh0ZXJuYWw8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI3htbFhQYXRoUmV0dXJuRmFsc2UiPnhtbFhQYXRoUmV0dXJuRmFsc2U8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI3htbFhQYXRoUmV0dXJuTm9kZVNldCI+eG1sWFBhdGhSZXR1cm5Ob2RlU2V0PC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiN4bWxYUGF0aFJldHVybk51bWJlciI+eG1sWFBhdGhSZXR1cm5OdW1iZXI8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI3htbFhQYXRoUmV0dXJuU3RyaW5nIj54bWxYUGF0aFJldHVyblN0cmluZzwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjeG1sWFBhdGhSZXR1cm5UcnVlIj54bWxYUGF0aFJldHVyblRydWU8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI3htbFhQYXRoU2V0QXJpdHlFcnJvciI+eG1sWFBhdGhTZXRBcml0eUVycm9yPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiN4bWxYUGF0aFNldEVycm9yIj54bWxYUGF0aFNldEVycm9yPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4jZGVmaW5lIDxhIGhyZWY9IiN4bWxYUGF0aFNldFR5cGVFcnJvciI+eG1sWFBhdGhTZXRUeXBlRXJyb3I8L2E+PC9wcmU+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI3htbFhQYXRoU3RhY2tJc0V4dGVybmFsIj54bWxYUGF0aFN0YWNrSXNFeHRlcm5hbDwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+I2RlZmluZSA8YSBocmVmPSIjeG1sWFBhdGhTdGFja0lzTm9kZVNldCI+eG1sWFBhdGhTdGFja0lzTm9kZVNldDwvYT48L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPgk8YSBocmVmPSIjdmFsdWVQb3AiPnZhbHVlUG9wPC9hPgkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN2YWx1ZVB1c2giPnZhbHVlUHVzaDwvYT4JCQkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4gdmFsdWUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sWFBhdGhBZGRWYWx1ZXMiPnhtbFhQYXRoQWRkVmFsdWVzPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFhQYXRoQm9vbGVhbkZ1bmN0aW9uIj54bWxYUGF0aEJvb2xlYW5GdW5jdGlvbjwvYT4JCSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgaW50IG5hcmdzKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFhQYXRoQ2VpbGluZ0Z1bmN0aW9uIj54bWxYUGF0aENlaWxpbmdGdW5jdGlvbjwvYT4JCSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgaW50IG5hcmdzKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sWFBhdGhDb21wYXJlVmFsdWVzIj54bWxYUGF0aENvbXBhcmVWYWx1ZXM8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIGludCBpbmYsIDxiciAvPgkJCQkJIGludCBzdHJpY3QpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sWFBhdGhDb25jYXRGdW5jdGlvbiI+eG1sWFBhdGhDb25jYXRGdW5jdGlvbjwvYT4JCSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgaW50IG5hcmdzKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFhQYXRoQ29udGFpbnNGdW5jdGlvbiI+eG1sWFBhdGhDb250YWluc0Z1bmN0aW9uPC9hPgkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIGludCBuYXJncyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxYUGF0aENvdW50RnVuY3Rpb24iPnhtbFhQYXRoQ291bnRGdW5jdGlvbjwvYT4JCSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgaW50IG5hcmdzKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFhQYXRoRGVidWdEdW1wQ29tcEV4cHIiPnhtbFhQYXRoRGVidWdEdW1wQ29tcEV4cHI8L2E+CShGSUxFICogb3V0cHV0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbXBFeHByUHRyIj54bWxYUGF0aENvbXBFeHByUHRyPC9hPiBjb21wLCA8YnIgLz4JCQkJCSBpbnQgZGVwdGgpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sWFBhdGhEZWJ1Z0R1bXBPYmplY3QiPnhtbFhQYXRoRGVidWdEdW1wT2JqZWN0PC9hPgkJKEZJTEUgKiBvdXRwdXQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4gY3VyLCA8YnIgLz4JCQkJCSBpbnQgZGVwdGgpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4JPGEgaHJlZj0iI3htbFhQYXRoRGlmZmVyZW5jZSI+eG1sWFBhdGhEaWZmZXJlbmNlPC9hPgkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gbm9kZXMxLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBub2RlczIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4JPGEgaHJlZj0iI3htbFhQYXRoRGlzdGluY3QiPnhtbFhQYXRoRGlzdGluY3Q8L2E+CSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBub2Rlcyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPgk8YSBocmVmPSIjeG1sWFBhdGhEaXN0aW5jdFNvcnRlZCI+eG1sWFBhdGhEaXN0aW5jdFNvcnRlZDwvYT4JKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IG5vZGVzKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFhQYXRoRGl2VmFsdWVzIj54bWxYUGF0aERpdlZhbHVlczwvYT4JCSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFhQYXRoRXF1YWxWYWx1ZXMiPnhtbFhQYXRoRXF1YWxWYWx1ZXM8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sWFBhdGhFcnIiPnhtbFhQYXRoRXJyPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgaW50IGVycm9yKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFhQYXRoRXZhbEV4cHIiPnhtbFhQYXRoRXZhbEV4cHI8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxYUGF0aEV2YWx1YXRlUHJlZGljYXRlUmVzdWx0Ij54bWxYUGF0aEV2YWx1YXRlUHJlZGljYXRlUmVzdWx0PC9hPgkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4gcmVzKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFhQYXRoRmFsc2VGdW5jdGlvbiI+eG1sWFBhdGhGYWxzZUZ1bmN0aW9uPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSBpbnQgbmFyZ3MpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sWFBhdGhGbG9vckZ1bmN0aW9uIj54bWxYUGF0aEZsb29yRnVuY3Rpb248L2E+CQkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIGludCBuYXJncyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxYUGF0aEZyZWVQYXJzZXJDb250ZXh0Ij54bWxYUGF0aEZyZWVQYXJzZXJDb250ZXh0PC9hPgkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhGdW5jdGlvbiI+eG1sWFBhdGhGdW5jdGlvbjwvYT4JPGEgaHJlZj0iI3htbFhQYXRoRnVuY3Rpb25Mb29rdXAiPnhtbFhQYXRoRnVuY3Rpb25Mb29rdXA8L2E+CSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHRQdHIiPnhtbFhQYXRoQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhGdW5jdGlvbiI+eG1sWFBhdGhGdW5jdGlvbjwvYT4JPGEgaHJlZj0iI3htbFhQYXRoRnVuY3Rpb25Mb29rdXBOUyI+eG1sWFBhdGhGdW5jdGlvbkxvb2t1cE5TPC9hPgkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0UHRyIj54bWxYUGF0aENvbnRleHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuc191cmkpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxYUGF0aEhhc1NhbWVOb2RlcyI+eG1sWFBhdGhIYXNTYW1lTm9kZXM8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gbm9kZXMxLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBub2RlczIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sWFBhdGhJZEZ1bmN0aW9uIj54bWxYUGF0aElkRnVuY3Rpb248L2E+CQkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIGludCBuYXJncyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPgk8YSBocmVmPSIjeG1sWFBhdGhJbnRlcnNlY3Rpb24iPnhtbFhQYXRoSW50ZXJzZWN0aW9uPC9hPgkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gbm9kZXMxLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBub2RlczIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxYUGF0aElzTm9kZVR5cGUiPnhtbFhQYXRoSXNOb2RlVHlwZTwvYT4JCShjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFhQYXRoTGFuZ0Z1bmN0aW9uIj54bWxYUGF0aExhbmdGdW5jdGlvbjwvYT4JCSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgaW50IG5hcmdzKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFhQYXRoTGFzdEZ1bmN0aW9uIj54bWxYUGF0aExhc3RGdW5jdGlvbjwvYT4JCSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgaW50IG5hcmdzKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+CTxhIGhyZWY9IiN4bWxYUGF0aExlYWRpbmciPnhtbFhQYXRoTGVhZGluZzwvYT4JCSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBub2RlczEsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IG5vZGVzMik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPgk8YSBocmVmPSIjeG1sWFBhdGhMZWFkaW5nU29ydGVkIj54bWxYUGF0aExlYWRpbmdTb3J0ZWQ8L2E+CSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBub2RlczEsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IG5vZGVzMik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxYUGF0aExvY2FsTmFtZUZ1bmN0aW9uIj54bWxYUGF0aExvY2FsTmFtZUZ1bmN0aW9uPC9hPgkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIGludCBuYXJncyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxYUGF0aE1vZFZhbHVlcyI+eG1sWFBhdGhNb2RWYWx1ZXM8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sWFBhdGhNdWx0VmFsdWVzIj54bWxYUGF0aE11bHRWYWx1ZXM8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sWFBhdGhOYW1lc3BhY2VVUklGdW5jdGlvbiI+eG1sWFBhdGhOYW1lc3BhY2VVUklGdW5jdGlvbjwvYT4JKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSBpbnQgbmFyZ3MpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPgk8YSBocmVmPSIjeG1sWFBhdGhOZXdCb29sZWFuIj54bWxYUGF0aE5ld0Jvb2xlYW48L2E+CShpbnQgdmFsKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4JPGEgaHJlZj0iI3htbFhQYXRoTmV3Q1N0cmluZyI+eG1sWFBhdGhOZXdDU3RyaW5nPC9hPgkoY29uc3QgY2hhciAqIHZhbCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+CTxhIGhyZWY9IiN4bWxYUGF0aE5ld0Zsb2F0Ij54bWxYUGF0aE5ld0Zsb2F0PC9hPgkoZG91YmxlIHZhbCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+CTxhIGhyZWY9IiN4bWxYUGF0aE5ld05vZGVTZXQiPnhtbFhQYXRoTmV3Tm9kZVNldDwvYT4JKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gdmFsKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4JPGEgaHJlZj0iI3htbFhQYXRoTmV3Tm9kZVNldExpc3QiPnhtbFhQYXRoTmV3Tm9kZVNldExpc3Q8L2E+CSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiB2YWwpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+CTxhIGhyZWY9IiN4bWxYUGF0aE5ld1BhcnNlckNvbnRleHQiPnhtbFhQYXRoTmV3UGFyc2VyQ29udGV4dDwvYT4JKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHN0ciwgPGJyIC8+CQkJCQkJCSA8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHRQdHIiPnhtbFhQYXRoQ29udGV4dFB0cjwvYT4gY3R4dCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+CTxhIGhyZWY9IiN4bWxYUGF0aE5ld1N0cmluZyI+eG1sWFBhdGhOZXdTdHJpbmc8L2E+CShjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB2YWwpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPgk8YSBocmVmPSIjeG1sWFBhdGhOZXdWYWx1ZVRyZWUiPnhtbFhQYXRoTmV3VmFsdWVUcmVlPC9hPgkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiB2YWwpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgk8YSBocmVmPSIjeG1sWFBhdGhOZXh0QW5jZXN0b3IiPnhtbFhQYXRoTmV4dEFuY2VzdG9yPC9hPgkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gY3VyKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JPGEgaHJlZj0iI3htbFhQYXRoTmV4dEFuY2VzdG9yT3JTZWxmIj54bWxYUGF0aE5leHRBbmNlc3Rvck9yU2VsZjwvYT4JKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgk8YSBocmVmPSIjeG1sWFBhdGhOZXh0QXR0cmlidXRlIj54bWxYUGF0aE5leHRBdHRyaWJ1dGU8L2E+CSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgk8YSBocmVmPSIjeG1sWFBhdGhOZXh0Q2hpbGQiPnhtbFhQYXRoTmV4dENoaWxkPC9hPgkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gY3VyKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JPGEgaHJlZj0iI3htbFhQYXRoTmV4dERlc2NlbmRhbnQiPnhtbFhQYXRoTmV4dERlc2NlbmRhbnQ8L2E+CSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgk8YSBocmVmPSIjeG1sWFBhdGhOZXh0RGVzY2VuZGFudE9yU2VsZiI+eG1sWFBhdGhOZXh0RGVzY2VuZGFudE9yU2VsZjwvYT4JKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgk8YSBocmVmPSIjeG1sWFBhdGhOZXh0Rm9sbG93aW5nIj54bWxYUGF0aE5leHRGb2xsb3dpbmc8L2E+CSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgk8YSBocmVmPSIjeG1sWFBhdGhOZXh0Rm9sbG93aW5nU2libGluZyI+eG1sWFBhdGhOZXh0Rm9sbG93aW5nU2libGluZzwvYT4JKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgk8YSBocmVmPSIjeG1sWFBhdGhOZXh0TmFtZXNwYWNlIj54bWxYUGF0aE5leHROYW1lc3BhY2U8L2E+CSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgk8YSBocmVmPSIjeG1sWFBhdGhOZXh0UGFyZW50Ij54bWxYUGF0aE5leHRQYXJlbnQ8L2E+CSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgk8YSBocmVmPSIjeG1sWFBhdGhOZXh0UHJlY2VkaW5nIj54bWxYUGF0aE5leHRQcmVjZWRpbmc8L2E+CSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgk8YSBocmVmPSIjeG1sWFBhdGhOZXh0UHJlY2VkaW5nU2libGluZyI+eG1sWFBhdGhOZXh0UHJlY2VkaW5nU2libGluZzwvYT4JKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgk8YSBocmVmPSIjeG1sWFBhdGhOZXh0U2VsZiI+eG1sWFBhdGhOZXh0U2VsZjwvYT4JKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGN1cik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPgk8YSBocmVmPSIjeG1sWFBhdGhOb2RlTGVhZGluZyI+eG1sWFBhdGhOb2RlTGVhZGluZzwvYT4JKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IG5vZGVzLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4JPGEgaHJlZj0iI3htbFhQYXRoTm9kZUxlYWRpbmdTb3J0ZWQiPnhtbFhQYXRoTm9kZUxlYWRpbmdTb3J0ZWQ8L2E+CSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBub2RlcywgPGJyIC8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFhQYXRoTm9kZVNldEFkZCI+eG1sWFBhdGhOb2RlU2V0QWRkPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IGN1ciwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiB2YWwpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxYUGF0aE5vZGVTZXRBZGROcyI+eG1sWFBhdGhOb2RlU2V0QWRkTnM8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gY3VyLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTnNQdHIiPnhtbE5zUHRyPC9hPiBucyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFhQYXRoTm9kZVNldEFkZFVuaXF1ZSI+eG1sWFBhdGhOb2RlU2V0QWRkVW5pcXVlPC9hPgkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gY3VyLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IHZhbCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJPGEgaHJlZj0iI3htbFhQYXRoTm9kZVNldENvbnRhaW5zIj54bWxYUGF0aE5vZGVTZXRDb250YWluczwvYT4JCSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBjdXIsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gdmFsKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFhQYXRoTm9kZVNldERlbCI+eG1sWFBhdGhOb2RlU2V0RGVsPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IGN1ciwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiB2YWwpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sWFBhdGhOb2RlU2V0RnJlZU5zIj54bWxYUGF0aE5vZGVTZXRGcmVlTnM8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOc1B0ciI+eG1sTnNQdHI8L2E+IG5zKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+CTxhIGhyZWY9IiN4bWxYUGF0aE5vZGVTZXRNZXJnZSI+eG1sWFBhdGhOb2RlU2V0TWVyZ2U8L2E+CSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiB2YWwxLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiB2YWwyKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFhQYXRoTm9kZVNldFJlbW92ZSI+eG1sWFBhdGhOb2RlU2V0UmVtb3ZlPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IGN1ciwgPGJyIC8+CQkJCQkgaW50IHZhbCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxYUGF0aE5vZGVTZXRTb3J0Ij54bWxYUGF0aE5vZGVTZXRTb3J0PC9hPgkJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IHNldCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPgk8YSBocmVmPSIjeG1sWFBhdGhOb2RlVHJhaWxpbmciPnhtbFhQYXRoTm9kZVRyYWlsaW5nPC9hPgkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gbm9kZXMsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPgk8YSBocmVmPSIjeG1sWFBhdGhOb2RlVHJhaWxpbmdTb3J0ZWQiPnhtbFhQYXRoTm9kZVRyYWlsaW5nU29ydGVkPC9hPgkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gbm9kZXMsIDxiciAvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sWFBhdGhOb3JtYWxpemVGdW5jdGlvbiI+eG1sWFBhdGhOb3JtYWxpemVGdW5jdGlvbjwvYT4JKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSBpbnQgbmFyZ3MpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxYUGF0aE5vdEVxdWFsVmFsdWVzIj54bWxYUGF0aE5vdEVxdWFsVmFsdWVzPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFhQYXRoTm90RnVuY3Rpb24iPnhtbFhQYXRoTm90RnVuY3Rpb248L2E+CQkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIGludCBuYXJncyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5jb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgk8YSBocmVmPSIjeG1sWFBhdGhOc0xvb2t1cCI+eG1sWFBhdGhOc0xvb2t1cDwvYT4JKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFB0ciI+eG1sWFBhdGhDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBwcmVmaXgpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sWFBhdGhOdW1iZXJGdW5jdGlvbiI+eG1sWFBhdGhOdW1iZXJGdW5jdGlvbjwvYT4JCSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgaW50IG5hcmdzKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxYUGF0aFBhcnNlTkNOYW1lIj54bWxYUGF0aFBhcnNlTkNOYW1lPC9hPgkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJPGEgaHJlZj0iI3htbFhQYXRoUGFyc2VOYW1lIj54bWxYUGF0aFBhcnNlTmFtZTwvYT4JKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sWFBhdGhQb3BCb29sZWFuIj54bWxYUGF0aFBvcEJvb2xlYW48L2E+CQkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZCAqCTxhIGhyZWY9IiN4bWxYUGF0aFBvcEV4dGVybmFsIj54bWxYUGF0aFBvcEV4dGVybmFsPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+CTxhIGhyZWY9IiN4bWxYUGF0aFBvcE5vZGVTZXQiPnhtbFhQYXRoUG9wTm9kZVNldDwvYT4JKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmRvdWJsZQk8YSBocmVmPSIjeG1sWFBhdGhQb3BOdW1iZXIiPnhtbFhQYXRoUG9wTnVtYmVyPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqCTxhIGhyZWY9IiN4bWxYUGF0aFBvcFN0cmluZyI+eG1sWFBhdGhQb3BTdHJpbmc8L2E+CSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxYUGF0aFBvc2l0aW9uRnVuY3Rpb24iPnhtbFhQYXRoUG9zaXRpb25GdW5jdGlvbjwvYT4JKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSBpbnQgbmFyZ3MpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sWFBhdGhSZWdpc3RlckFsbEZ1bmN0aW9ucyI+eG1sWFBhdGhSZWdpc3RlckFsbEZ1bmN0aW9uczwvYT4JKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFB0ciI+eG1sWFBhdGhDb250ZXh0UHRyPC9hPiBjdHh0KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAk8YSBocmVmPSIjeG1sWFBhdGhSZWdpc3RlckZ1bmMiPnhtbFhQYXRoUmVnaXN0ZXJGdW5jPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFB0ciI+eG1sWFBhdGhDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aEZ1bmN0aW9uIj54bWxYUGF0aEZ1bmN0aW9uPC9hPiBmKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFhQYXRoUmVnaXN0ZXJGdW5jTG9va3VwIj54bWxYUGF0aFJlZ2lzdGVyRnVuY0xvb2t1cDwvYT4JKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFB0ciI+eG1sWFBhdGhDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aEZ1bmNMb29rdXBGdW5jIj54bWxYUGF0aEZ1bmNMb29rdXBGdW5jPC9hPiBmLCA8YnIgLz4JCQkJCSB2b2lkICogZnVuY0N0eHQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxYUGF0aFJlZ2lzdGVyRnVuY05TIj54bWxYUGF0aFJlZ2lzdGVyRnVuY05TPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFB0ciI+eG1sWFBhdGhDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuc191cmksIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoRnVuY3Rpb24iPnhtbFhQYXRoRnVuY3Rpb248L2E+IGYpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxYUGF0aFJlZ2lzdGVyTnMiPnhtbFhQYXRoUmVnaXN0ZXJOczwvYT4JCSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHRQdHIiPnhtbFhQYXRoQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHJlZml4LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuc191cmkpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGUiPnhtbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZTwvYT4JKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFB0ciI+eG1sWFBhdGhDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IHZhbHVlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZUxvb2t1cCI+eG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlTG9va3VwPC9hPgkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0UHRyIj54bWxYUGF0aENvbnRleHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoVmFyaWFibGVMb29rdXBGdW5jIj54bWxYUGF0aFZhcmlhYmxlTG9va3VwRnVuYzwvYT4gZiwgPGJyIC8+CQkJCQkgdm9pZCAqIGRhdGEpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CTxhIGhyZWY9IiN4bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGVOUyI+eG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlTlM8L2E+CSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHRQdHIiPnhtbFhQYXRoQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbnNfdXJpLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IHZhbHVlKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFhQYXRoUmVnaXN0ZXJlZEZ1bmNzQ2xlYW51cCI+eG1sWFBhdGhSZWdpc3RlcmVkRnVuY3NDbGVhbnVwPC9hPgkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0UHRyIj54bWxYUGF0aENvbnRleHRQdHI8L2E+IGN0eHQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sWFBhdGhSZWdpc3RlcmVkTnNDbGVhbnVwIj54bWxYUGF0aFJlZ2lzdGVyZWROc0NsZWFudXA8L2E+CSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHRQdHIiPnhtbFhQYXRoQ29udGV4dFB0cjwvYT4gY3R4dCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxYUGF0aFJlZ2lzdGVyZWRWYXJpYWJsZXNDbGVhbnVwIj54bWxYUGF0aFJlZ2lzdGVyZWRWYXJpYWJsZXNDbGVhbnVwPC9hPgkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0UHRyIj54bWxYUGF0aENvbnRleHRQdHI8L2E+IGN0eHQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sWFBhdGhSb290Ij54bWxYUGF0aFJvb3Q8L2E+CQkJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFhQYXRoUm91bmRGdW5jdGlvbiI+eG1sWFBhdGhSb3VuZEZ1bmN0aW9uPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSBpbnQgbmFyZ3MpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sWFBhdGhTdGFydHNXaXRoRnVuY3Rpb24iPnhtbFhQYXRoU3RhcnRzV2l0aEZ1bmN0aW9uPC9hPgkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIGludCBuYXJncyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5kb3VibGUJPGEgaHJlZj0iI3htbFhQYXRoU3RyaW5nRXZhbE51bWJlciI+eG1sWFBhdGhTdHJpbmdFdmFsTnVtYmVyPC9hPgkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3RyKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFhQYXRoU3RyaW5nRnVuY3Rpb24iPnhtbFhQYXRoU3RyaW5nRnVuY3Rpb248L2E+CQkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIGludCBuYXJncyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxYUGF0aFN0cmluZ0xlbmd0aEZ1bmN0aW9uIj54bWxYUGF0aFN0cmluZ0xlbmd0aEZ1bmN0aW9uPC9hPgkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIGludCBuYXJncyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxYUGF0aFN1YlZhbHVlcyI+eG1sWFBhdGhTdWJWYWx1ZXM8L2E+CQkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sWFBhdGhTdWJzdHJpbmdBZnRlckZ1bmN0aW9uIj54bWxYUGF0aFN1YnN0cmluZ0FmdGVyRnVuY3Rpb248L2E+CSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgaW50IG5hcmdzKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFhQYXRoU3Vic3RyaW5nQmVmb3JlRnVuY3Rpb24iPnhtbFhQYXRoU3Vic3RyaW5nQmVmb3JlRnVuY3Rpb248L2E+CSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgaW50IG5hcmdzKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFhQYXRoU3Vic3RyaW5nRnVuY3Rpb24iPnhtbFhQYXRoU3Vic3RyaW5nRnVuY3Rpb248L2E+CSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgaW50IG5hcmdzKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFhQYXRoU3VtRnVuY3Rpb24iPnhtbFhQYXRoU3VtRnVuY3Rpb248L2E+CQkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIGludCBuYXJncyk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPgk8YSBocmVmPSIjeG1sWFBhdGhUcmFpbGluZyI+eG1sWFBhdGhUcmFpbGluZzwvYT4JKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IG5vZGVzMSwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gbm9kZXMyKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+CTxhIGhyZWY9IiN4bWxYUGF0aFRyYWlsaW5nU29ydGVkIj54bWxYUGF0aFRyYWlsaW5nU29ydGVkPC9hPgkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gbm9kZXMxLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBub2RlczIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sWFBhdGhUcmFuc2xhdGVGdW5jdGlvbiI+eG1sWFBhdGhUcmFuc2xhdGVGdW5jdGlvbjwvYT4JKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSBpbnQgbmFyZ3MpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sWFBhdGhUcnVlRnVuY3Rpb24iPnhtbFhQYXRoVHJ1ZUZ1bmN0aW9uPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSBpbnQgbmFyZ3MpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sWFBhdGhWYWx1ZUZsaXBTaWduIj54bWxYUGF0aFZhbHVlRmxpcFNpZ248L2E+CQkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPgk8YSBocmVmPSIjeG1sWFBhdGhWYXJpYWJsZUxvb2t1cCI+eG1sWFBhdGhWYXJpYWJsZUxvb2t1cDwvYT4JKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFB0ciI+eG1sWFBhdGhDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+CTxhIGhyZWY9IiN4bWxYUGF0aFZhcmlhYmxlTG9va3VwTlMiPnhtbFhQYXRoVmFyaWFibGVMb29rdXBOUzwvYT4JKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFB0ciI+eG1sWFBhdGhDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbnNfdXJpKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4JPGEgaHJlZj0iI3htbFhQYXRoV3JhcENTdHJpbmciPnhtbFhQYXRoV3JhcENTdHJpbmc8L2E+CShjaGFyICogdmFsKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4JPGEgaHJlZj0iI3htbFhQYXRoV3JhcEV4dGVybmFsIj54bWxYUGF0aFdyYXBFeHRlcm5hbDwvYT4JKHZvaWQgKiB2YWwpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPgk8YSBocmVmPSIjeG1sWFBhdGhXcmFwTm9kZVNldCI+eG1sWFBhdGhXcmFwTm9kZVNldDwvYT4JKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IHZhbCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+CTxhIGhyZWY9IiN4bWxYUGF0aFdyYXBTdHJpbmciPnhtbFhQYXRoV3JhcFN0cmluZzwvYT4JKDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHZhbCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxYUGF0aGVycm9yIj54bWxYUGF0aGVycm9yPC9hPgkJCSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgY29uc3QgY2hhciAqIGZpbGUsIDxiciAvPgkJCQkJIGludCBsaW5lLCA8YnIgLz4JCQkJCSBpbnQgbm8pPC9wcmU+Cis8aDI+RGVzY3JpcHRpb248L2gyPgorPGgzPjxhIG5hbWU9IkNBU1RfVE9fQk9PTEVBTiIgaWQ9IkNBU1RfVE9fQk9PTEVBTiI+PC9hPk1hY3JvOiBDQVNUX1RPX0JPT0xFQU48L2gzPjxwcmU+I2RlZmluZSBDQVNUX1RPX0JPT0xFQU48L3ByZT48cD5NYWNybyB0byB0cnkgdG8gY2FzdCB0aGUgdmFsdWUgb24gdGhlIHRvcCBvZiB0aGUgWFBhdGggc3RhY2sgdG8gYSBib29sZWFuLjwvcD4KKzxoMz48YSBuYW1lPSJDQVNUX1RPX05VTUJFUiIgaWQ9IkNBU1RfVE9fTlVNQkVSIj48L2E+TWFjcm86IENBU1RfVE9fTlVNQkVSPC9oMz48cHJlPiNkZWZpbmUgQ0FTVF9UT19OVU1CRVI8L3ByZT48cD5NYWNybyB0byB0cnkgdG8gY2FzdCB0aGUgdmFsdWUgb24gdGhlIHRvcCBvZiB0aGUgWFBhdGggc3RhY2sgdG8gYSBudW1iZXIuPC9wPgorPGgzPjxhIG5hbWU9IkNBU1RfVE9fU1RSSU5HIiBpZD0iQ0FTVF9UT19TVFJJTkciPjwvYT5NYWNybzogQ0FTVF9UT19TVFJJTkc8L2gzPjxwcmU+I2RlZmluZSBDQVNUX1RPX1NUUklORzwvcHJlPjxwPk1hY3JvIHRvIHRyeSB0byBjYXN0IHRoZSB2YWx1ZSBvbiB0aGUgdG9wIG9mIHRoZSBYUGF0aCBzdGFjayB0byBhIHN0cmluZy48L3A+Cis8aDM+PGEgbmFtZT0iQ0hFQ0tfQVJJVFkiIGlkPSJDSEVDS19BUklUWSI+PC9hPk1hY3JvOiBDSEVDS19BUklUWTwvaDM+PHByZT4jZGVmaW5lIENIRUNLX0FSSVRZPC9wcmU+PHA+TWFjcm8gdG8gY2hlY2sgdGhhdCB0aGUgbnVtYmVyIG9mIGFyZ3MgcGFzc2VkIHRvIGFuIFhQYXRoIGZ1bmN0aW9uIG1hdGNoZXMuPC9wPgorPGgzPjxhIG5hbWU9IkNIRUNLX0VSUk9SIiBpZD0iQ0hFQ0tfRVJST1IiPjwvYT5NYWNybzogQ0hFQ0tfRVJST1I8L2gzPjxwcmU+I2RlZmluZSBDSEVDS19FUlJPUjwvcHJlPjxwPk1hY3JvIHRvIHJldHVybiBmcm9tIHRoZSBmdW5jdGlvbiBpZiBhbiBYUGF0aCBlcnJvciB3YXMgZGV0ZWN0ZWQuPC9wPgorPGgzPjxhIG5hbWU9IkNIRUNLX0VSUk9SMCIgaWQ9IkNIRUNLX0VSUk9SMCI+PC9hPk1hY3JvOiBDSEVDS19FUlJPUjA8L2gzPjxwcmU+I2RlZmluZSBDSEVDS19FUlJPUjA8L3ByZT48cD5NYWNybyB0byByZXR1cm4gMCBmcm9tIHRoZSBmdW5jdGlvbiBpZiBhbiBYUGF0aCBlcnJvciB3YXMgZGV0ZWN0ZWQuPC9wPgorPGgzPjxhIG5hbWU9IkNIRUNLX1RZUEUiIGlkPSJDSEVDS19UWVBFIj48L2E+TWFjcm86IENIRUNLX1RZUEU8L2gzPjxwcmU+I2RlZmluZSBDSEVDS19UWVBFPC9wcmU+PHA+TWFjcm8gdG8gY2hlY2sgdGhhdCB0aGUgdmFsdWUgb24gdG9wIG9mIHRoZSBYUGF0aCBzdGFjayBpcyBvZiBhIGdpdmVuIHR5cGUuPC9wPgorPGgzPjxhIG5hbWU9IkNIRUNLX1RZUEUwIiBpZD0iQ0hFQ0tfVFlQRTAiPjwvYT5NYWNybzogQ0hFQ0tfVFlQRTA8L2gzPjxwcmU+I2RlZmluZSBDSEVDS19UWVBFMDwvcHJlPjxwPk1hY3JvIHRvIGNoZWNrIHRoYXQgdGhlIHZhbHVlIG9uIHRvcCBvZiB0aGUgWFBhdGggc3RhY2sgaXMgb2YgYSBnaXZlbiB0eXBlLiBSZXR1cm4oMCkgaW4gY2FzZSBvZiBmYWlsdXJlPC9wPgorPGgzPjxhIG5hbWU9IlhQX0VSUk9SIiBpZD0iWFBfRVJST1IiPjwvYT5NYWNybzogWFBfRVJST1I8L2gzPjxwcmU+I2RlZmluZSBYUF9FUlJPUjwvcHJlPjxwPk1hY3JvIHRvIHJhaXNlIGFuIFhQYXRoIGVycm9yIGFuZCByZXR1cm4uPC9wPgorPGgzPjxhIG5hbWU9IlhQX0VSUk9SMCIgaWQ9IlhQX0VSUk9SMCI+PC9hPk1hY3JvOiBYUF9FUlJPUjA8L2gzPjxwcmU+I2RlZmluZSBYUF9FUlJPUjA8L3ByZT48cD5NYWNybyB0byByYWlzZSBhbiBYUGF0aCBlcnJvciBhbmQgcmV0dXJuIDAuPC9wPgorPGgzPjxhIG5hbWU9InhtbFhQYXRoQ2hlY2tFcnJvciIgaWQ9InhtbFhQYXRoQ2hlY2tFcnJvciI+PC9hPk1hY3JvOiB4bWxYUGF0aENoZWNrRXJyb3I8L2gzPjxwcmU+I2RlZmluZSB4bWxYUGF0aENoZWNrRXJyb3I8L3ByZT48cD5DaGVjayBpZiBhbiBYUGF0aCBlcnJvciB3YXMgcmFpc2VkLiBSZXR1cm5zIHRydWUgaWYgYW4gZXJyb3IgaGFzIGJlZW4gcmFpc2VkLCBmYWxzZSBvdGhlcndpc2UuPC9wPgorPGgzPjxhIG5hbWU9InhtbFhQYXRoRW1wdHlOb2RlU2V0IiBpZD0ieG1sWFBhdGhFbXB0eU5vZGVTZXQiPjwvYT5NYWNybzogeG1sWFBhdGhFbXB0eU5vZGVTZXQ8L2gzPjxwcmU+I2RlZmluZSB4bWxYUGF0aEVtcHR5Tm9kZVNldDwvcHJlPjxwPkVtcHRpZXMgYSBub2RlLXNldC48L3A+Cis8aDM+PGEgbmFtZT0ieG1sWFBhdGhHZXRDb250ZXh0Tm9kZSIgaWQ9InhtbFhQYXRoR2V0Q29udGV4dE5vZGUiPjwvYT5NYWNybzogeG1sWFBhdGhHZXRDb250ZXh0Tm9kZTwvaDM+PHByZT4jZGVmaW5lIHhtbFhQYXRoR2V0Q29udGV4dE5vZGU8L3ByZT48cD5HZXQgdGhlIGNvbnRleHQgbm9kZSBvZiBhbiBYUGF0aCBjb250ZXh0LiBSZXR1cm5zIHRoZSBjb250ZXh0IG5vZGUuPC9wPgorPGgzPjxhIG5hbWU9InhtbFhQYXRoR2V0RG9jdW1lbnQiIGlkPSJ4bWxYUGF0aEdldERvY3VtZW50Ij48L2E+TWFjcm86IHhtbFhQYXRoR2V0RG9jdW1lbnQ8L2gzPjxwcmU+I2RlZmluZSB4bWxYUGF0aEdldERvY3VtZW50PC9wcmU+PHA+R2V0IHRoZSBkb2N1bWVudCBvZiBhbiBYUGF0aCBjb250ZXh0LiBSZXR1cm5zIHRoZSBjb250ZXh0IGRvY3VtZW50LjwvcD4KKzxoMz48YSBuYW1lPSJ4bWxYUGF0aEdldEVycm9yIiBpZD0ieG1sWFBhdGhHZXRFcnJvciI+PC9hPk1hY3JvOiB4bWxYUGF0aEdldEVycm9yPC9oMz48cHJlPiNkZWZpbmUgeG1sWFBhdGhHZXRFcnJvcjwvcHJlPjxwPkdldCB0aGUgZXJyb3IgY29kZSBvZiBhbiBYUGF0aCBjb250ZXh0LiBSZXR1cm5zIHRoZSBjb250ZXh0IGVycm9yLjwvcD4KKzxoMz48YSBuYW1lPSJ4bWxYUGF0aFJldHVybkJvb2xlYW4iIGlkPSJ4bWxYUGF0aFJldHVybkJvb2xlYW4iPjwvYT5NYWNybzogeG1sWFBhdGhSZXR1cm5Cb29sZWFuPC9oMz48cHJlPiNkZWZpbmUgeG1sWFBhdGhSZXR1cm5Cb29sZWFuPC9wcmU+PHA+UHVzaGVzIHRoZSBib29sZWFuIEB2YWwgb24gdGhlIGNvbnRleHQgc3RhY2suPC9wPgorPGgzPjxhIG5hbWU9InhtbFhQYXRoUmV0dXJuRW1wdHlOb2RlU2V0IiBpZD0ieG1sWFBhdGhSZXR1cm5FbXB0eU5vZGVTZXQiPjwvYT5NYWNybzogeG1sWFBhdGhSZXR1cm5FbXB0eU5vZGVTZXQ8L2gzPjxwcmU+I2RlZmluZSB4bWxYUGF0aFJldHVybkVtcHR5Tm9kZVNldDwvcHJlPjxwPlB1c2hlcyBhbiBlbXB0eSBub2RlLXNldCBvbiB0aGUgY29udGV4dCBzdGFjay48L3A+Cis8aDM+PGEgbmFtZT0ieG1sWFBhdGhSZXR1cm5FbXB0eVN0cmluZyIgaWQ9InhtbFhQYXRoUmV0dXJuRW1wdHlTdHJpbmciPjwvYT5NYWNybzogeG1sWFBhdGhSZXR1cm5FbXB0eVN0cmluZzwvaDM+PHByZT4jZGVmaW5lIHhtbFhQYXRoUmV0dXJuRW1wdHlTdHJpbmc8L3ByZT48cD5QdXNoZXMgYW4gZW1wdHkgc3RyaW5nIG9uIHRoZSBzdGFjay48L3A+Cis8aDM+PGEgbmFtZT0ieG1sWFBhdGhSZXR1cm5FeHRlcm5hbCIgaWQ9InhtbFhQYXRoUmV0dXJuRXh0ZXJuYWwiPjwvYT5NYWNybzogeG1sWFBhdGhSZXR1cm5FeHRlcm5hbDwvaDM+PHByZT4jZGVmaW5lIHhtbFhQYXRoUmV0dXJuRXh0ZXJuYWw8L3ByZT48cD5QdXNoZXMgdXNlciBkYXRhIG9uIHRoZSBjb250ZXh0IHN0YWNrLjwvcD4KKzxoMz48YSBuYW1lPSJ4bWxYUGF0aFJldHVybkZhbHNlIiBpZD0ieG1sWFBhdGhSZXR1cm5GYWxzZSI+PC9hPk1hY3JvOiB4bWxYUGF0aFJldHVybkZhbHNlPC9oMz48cHJlPiNkZWZpbmUgeG1sWFBhdGhSZXR1cm5GYWxzZTwvcHJlPjxwPlB1c2hlcyBmYWxzZSBvbiB0aGUgY29udGV4dCBzdGFjay48L3A+Cis8aDM+PGEgbmFtZT0ieG1sWFBhdGhSZXR1cm5Ob2RlU2V0IiBpZD0ieG1sWFBhdGhSZXR1cm5Ob2RlU2V0Ij48L2E+TWFjcm86IHhtbFhQYXRoUmV0dXJuTm9kZVNldDwvaDM+PHByZT4jZGVmaW5lIHhtbFhQYXRoUmV0dXJuTm9kZVNldDwvcHJlPjxwPlB1c2hlcyB0aGUgbm9kZS1zZXQgQG5zIG9uIHRoZSBjb250ZXh0IHN0YWNrLjwvcD4KKzxoMz48YSBuYW1lPSJ4bWxYUGF0aFJldHVybk51bWJlciIgaWQ9InhtbFhQYXRoUmV0dXJuTnVtYmVyIj48L2E+TWFjcm86IHhtbFhQYXRoUmV0dXJuTnVtYmVyPC9oMz48cHJlPiNkZWZpbmUgeG1sWFBhdGhSZXR1cm5OdW1iZXI8L3ByZT48cD5QdXNoZXMgdGhlIGRvdWJsZSBAdmFsIG9uIHRoZSBjb250ZXh0IHN0YWNrLjwvcD4KKzxoMz48YSBuYW1lPSJ4bWxYUGF0aFJldHVyblN0cmluZyIgaWQ9InhtbFhQYXRoUmV0dXJuU3RyaW5nIj48L2E+TWFjcm86IHhtbFhQYXRoUmV0dXJuU3RyaW5nPC9oMz48cHJlPiNkZWZpbmUgeG1sWFBhdGhSZXR1cm5TdHJpbmc8L3ByZT48cD5QdXNoZXMgdGhlIHN0cmluZyBAc3RyIG9uIHRoZSBjb250ZXh0IHN0YWNrLjwvcD4KKzxoMz48YSBuYW1lPSJ4bWxYUGF0aFJldHVyblRydWUiIGlkPSJ4bWxYUGF0aFJldHVyblRydWUiPjwvYT5NYWNybzogeG1sWFBhdGhSZXR1cm5UcnVlPC9oMz48cHJlPiNkZWZpbmUgeG1sWFBhdGhSZXR1cm5UcnVlPC9wcmU+PHA+UHVzaGVzIHRydWUgb24gdGhlIGNvbnRleHQgc3RhY2suPC9wPgorPGgzPjxhIG5hbWU9InhtbFhQYXRoU2V0QXJpdHlFcnJvciIgaWQ9InhtbFhQYXRoU2V0QXJpdHlFcnJvciI+PC9hPk1hY3JvOiB4bWxYUGF0aFNldEFyaXR5RXJyb3I8L2gzPjxwcmU+I2RlZmluZSB4bWxYUGF0aFNldEFyaXR5RXJyb3I8L3ByZT48cD5SYWlzZXMgYW4gPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjWFBBVEhfSU5WQUxJRF9BUklUWSI+WFBBVEhfSU5WQUxJRF9BUklUWTwvYT4gZXJyb3IuPC9wPgorPGgzPjxhIG5hbWU9InhtbFhQYXRoU2V0RXJyb3IiIGlkPSJ4bWxYUGF0aFNldEVycm9yIj48L2E+TWFjcm86IHhtbFhQYXRoU2V0RXJyb3I8L2gzPjxwcmU+I2RlZmluZSB4bWxYUGF0aFNldEVycm9yPC9wcmU+PHA+UmFpc2VzIGFuIGVycm9yLjwvcD4KKzxoMz48YSBuYW1lPSJ4bWxYUGF0aFNldFR5cGVFcnJvciIgaWQ9InhtbFhQYXRoU2V0VHlwZUVycm9yIj48L2E+TWFjcm86IHhtbFhQYXRoU2V0VHlwZUVycm9yPC9oMz48cHJlPiNkZWZpbmUgeG1sWFBhdGhTZXRUeXBlRXJyb3I8L3ByZT48cD5SYWlzZXMgYW4gPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjWFBBVEhfSU5WQUxJRF9UWVBFIj5YUEFUSF9JTlZBTElEX1RZUEU8L2E+IGVycm9yLjwvcD4KKzxoMz48YSBuYW1lPSJ4bWxYUGF0aFN0YWNrSXNFeHRlcm5hbCIgaWQ9InhtbFhQYXRoU3RhY2tJc0V4dGVybmFsIj48L2E+TWFjcm86IHhtbFhQYXRoU3RhY2tJc0V4dGVybmFsPC9oMz48cHJlPiNkZWZpbmUgeG1sWFBhdGhTdGFja0lzRXh0ZXJuYWw8L3ByZT48cD5DaGVja3MgaWYgdGhlIGN1cnJlbnQgdmFsdWUgb24gdGhlIFhQYXRoIHN0YWNrIGlzIGFuIGV4dGVybmFsIG9iamVjdC4gUmV0dXJucyB0cnVlIGlmIHRoZSBjdXJyZW50IG9iamVjdCBvbiB0aGUgc3RhY2sgaXMgYW4gZXh0ZXJuYWwgb2JqZWN0LjwvcD4KKzxoMz48YSBuYW1lPSJ4bWxYUGF0aFN0YWNrSXNOb2RlU2V0IiBpZD0ieG1sWFBhdGhTdGFja0lzTm9kZVNldCI+PC9hPk1hY3JvOiB4bWxYUGF0aFN0YWNrSXNOb2RlU2V0PC9oMz48cHJlPiNkZWZpbmUgeG1sWFBhdGhTdGFja0lzTm9kZVNldDwvcHJlPjxwPkNoZWNrIGlmIHRoZSBjdXJyZW50IHZhbHVlIG9uIHRoZSBYUGF0aCBzdGFjayBpcyBhIG5vZGUgc2V0IG9yIGFuIFhTTFQgdmFsdWUgdHJlZS4gUmV0dXJucyB0cnVlIGlmIHRoZSBjdXJyZW50IG9iamVjdCBvbiB0aGUgc3RhY2sgaXMgYSBub2RlLXNldC48L3A+Cis8aDM+PGEgbmFtZT0idmFsdWVQb3AiIGlkPSJ2YWx1ZVBvcCI+PC9hPkZ1bmN0aW9uOiB2YWx1ZVBvcDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4JdmFsdWVQb3AJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0KTxiciAvPgorPC9wcmU+PHA+UG9wcyB0aGUgdG9wIFhQYXRoIG9iamVjdCBmcm9tIHRoZSB2YWx1ZSBzdGFjazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhQYXRoIGV2YWx1YXRpb24gY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhQYXRoIG9iamVjdCBqdXN0IHJlbW92ZWQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ2YWx1ZVB1c2giIGlkPSJ2YWx1ZVB1c2giPjwvYT5GdW5jdGlvbjogdmFsdWVQdXNoPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXZhbHVlUHVzaAkJCSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPiB2YWx1ZSk8YnIgLz4KKzwvcHJlPjxwPlB1c2hlcyBhIG5ldyBYUGF0aCBvYmplY3Qgb24gdG9wIG9mIHRoZSB2YWx1ZSBzdGFjazwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhQYXRoIGV2YWx1YXRpb24gY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsdWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYUGF0aCBvYmplY3Q8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgaXRlbXMgb24gdGhlIHZhbHVlIHN0YWNrPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sWFBhdGhBZGRWYWx1ZXMiIGlkPSJ4bWxYUGF0aEFkZFZhbHVlcyI+PC9hPkZ1bmN0aW9uOiB4bWxYUGF0aEFkZFZhbHVlczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sWFBhdGhBZGRWYWx1ZXMJCSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCk8YnIgLz4KKzwvcHJlPjxwPkltcGxlbWVudCB0aGUgYWRkIG9wZXJhdGlvbiBvbiBYUGF0aCBvYmplY3RzOiBUaGUgbnVtZXJpYyBvcGVyYXRvcnMgY29udmVydCB0aGVpciBvcGVyYW5kcyB0byBudW1iZXJzIGFzIGlmIGJ5IGNhbGxpbmcgdGhlIG51bWJlciBmdW5jdGlvbi48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggUGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxYUGF0aEJvb2xlYW5GdW5jdGlvbiIgaWQ9InhtbFhQYXRoQm9vbGVhbkZ1bmN0aW9uIj48L2E+RnVuY3Rpb246IHhtbFhQYXRoQm9vbGVhbkZ1bmN0aW9uPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxYUGF0aEJvb2xlYW5GdW5jdGlvbgkJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSBpbnQgbmFyZ3MpPGJyIC8+Cis8L3ByZT48cD5JbXBsZW1lbnQgdGhlIGJvb2xlYW4oKSBYUGF0aCBmdW5jdGlvbiBib29sZWFuIGJvb2xlYW4ob2JqZWN0KSBUaGUgYm9vbGVhbiBmdW5jdGlvbiBjb252ZXJ0cyBpdHMgYXJndW1lbnQgdG8gYSBib29sZWFuIGFzIGZvbGxvd3M6IC0gYSBudW1iZXIgaXMgdHJ1ZSBpZiBhbmQgb25seSBpZiBpdCBpcyBuZWl0aGVyIHBvc2l0aXZlIG9yIG5lZ2F0aXZlIHplcm8gbm9yIE5hTiAtIGEgbm9kZS1zZXQgaXMgdHJ1ZSBpZiBhbmQgb25seSBpZiBpdCBpcyBub24tZW1wdHkgLSBhIHN0cmluZyBpcyB0cnVlIGlmIGFuZCBvbmx5IGlmIGl0cyBsZW5ndGggaXMgbm9uLXplcm88L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggUGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hcmdzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGFyZ3VtZW50czwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhQYXRoQ2VpbGluZ0Z1bmN0aW9uIiBpZD0ieG1sWFBhdGhDZWlsaW5nRnVuY3Rpb24iPjwvYT5GdW5jdGlvbjogeG1sWFBhdGhDZWlsaW5nRnVuY3Rpb248L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFhQYXRoQ2VpbGluZ0Z1bmN0aW9uCQkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIGludCBuYXJncyk8YnIgLz4KKzwvcHJlPjxwPkltcGxlbWVudCB0aGUgY2VpbGluZygpIFhQYXRoIGZ1bmN0aW9uIG51bWJlciBjZWlsaW5nKG51bWJlcikgVGhlIGNlaWxpbmcgZnVuY3Rpb24gcmV0dXJucyB0aGUgc21hbGxlc3QgKGNsb3Nlc3QgdG8gbmVnYXRpdmUgaW5maW5pdHkpIG51bWJlciB0aGF0IGlzIG5vdCBsZXNzIHRoYW4gdGhlIGFyZ3VtZW50IGFuZCB0aGF0IGlzIGFuIGludGVnZXIuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhQYXRoIFBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYXJnczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBhcmd1bWVudHM8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxYUGF0aENvbXBhcmVWYWx1ZXMiIGlkPSJ4bWxYUGF0aENvbXBhcmVWYWx1ZXMiPjwvYT5GdW5jdGlvbjogeG1sWFBhdGhDb21wYXJlVmFsdWVzPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFhQYXRoQ29tcGFyZVZhbHVlcwkJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSBpbnQgaW5mLCA8YnIgLz4JCQkJCSBpbnQgc3RyaWN0KTxiciAvPgorPC9wcmU+PHA+SW1wbGVtZW50IHRoZSBjb21wYXJlIG9wZXJhdGlvbiBvbiBYUGF0aCBvYmplY3RzOiBAYXJnMSAmbHQ7IEBhcmcyICgxLCAxLCAuLi4gQGFyZzEgJmx0Oz0gQGFyZzIgKDEsIDAsIC4uLiBAYXJnMSAmZ3Q7IEBhcmcyICgwLCAxLCAuLi4gQGFyZzEgJmd0Oz0gQGFyZzIgKDAsIDAsIC4uLiBXaGVuIG5laXRoZXIgb2JqZWN0IHRvIGJlIGNvbXBhcmVkIGlzIGEgbm9kZS1zZXQgYW5kIHRoZSBvcGVyYXRvciBpcyAmbHQ7PSwgJmx0OywgJmd0Oz0sICZndDssIHRoZW4gdGhlIG9iamVjdHMgYXJlIGNvbXBhcmVkIGJ5IGNvbnZlcnRlZCBib3RoIG9iamVjdHMgdG8gbnVtYmVycyBhbmQgY29tcGFyaW5nIHRoZSBudW1iZXJzIGFjY29yZGluZyB0byBJRUVFIDc1NC4gVGhlICZsdDsgY29tcGFyaXNvbiB3aWxsIGJlIHRydWUgaWYgYW5kIG9ubHkgaWYgdGhlIGZpcnN0IG51bWJlciBpcyBsZXNzIHRoYW4gdGhlIHNlY29uZCBudW1iZXIuIFRoZSAmbHQ7PSBjb21wYXJpc29uIHdpbGwgYmUgdHJ1ZSBpZiBhbmQgb25seSBpZiB0aGUgZmlyc3QgbnVtYmVyIGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byB0aGUgc2Vjb25kIG51bWJlci4gVGhlICZndDsgY29tcGFyaXNvbiB3aWxsIGJlIHRydWUgaWYgYW5kIG9ubHkgaWYgdGhlIGZpcnN0IG51bWJlciBpcyBncmVhdGVyIHRoYW4gdGhlIHNlY29uZCBudW1iZXIuIFRoZSAmZ3Q7PSBjb21wYXJpc29uIHdpbGwgYmUgdHJ1ZSBpZiBhbmQgb25seSBpZiB0aGUgZmlyc3QgbnVtYmVyIGlzIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byB0aGUgc2Vjb25kIG51bWJlci48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggUGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmluZjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+bGVzcyB0aGFuICgxKSBvciBncmVhdGVyIHRoYW4gKDApPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdHJpY3Q8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmlzIHRoZSBjb21wYXJpc29uIHN0cmljdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0aGUgY29tcGFyaXNvbiBzdWNjZWVkZWQsIDAgaWYgaXQgZmFpbGVkPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sWFBhdGhDb25jYXRGdW5jdGlvbiIgaWQ9InhtbFhQYXRoQ29uY2F0RnVuY3Rpb24iPjwvYT5GdW5jdGlvbjogeG1sWFBhdGhDb25jYXRGdW5jdGlvbjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sWFBhdGhDb25jYXRGdW5jdGlvbgkJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSBpbnQgbmFyZ3MpPGJyIC8+Cis8L3ByZT48cD5JbXBsZW1lbnQgdGhlIGNvbmNhdCgpIFhQYXRoIGZ1bmN0aW9uIHN0cmluZyBjb25jYXQoc3RyaW5nLCBzdHJpbmcsIHN0cmluZyopIFRoZSBjb25jYXQgZnVuY3Rpb24gcmV0dXJucyB0aGUgY29uY2F0ZW5hdGlvbiBvZiBpdHMgYXJndW1lbnRzLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYUGF0aCBQYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFyZ3M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgYXJndW1lbnRzPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sWFBhdGhDb250YWluc0Z1bmN0aW9uIiBpZD0ieG1sWFBhdGhDb250YWluc0Z1bmN0aW9uIj48L2E+RnVuY3Rpb246IHhtbFhQYXRoQ29udGFpbnNGdW5jdGlvbjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sWFBhdGhDb250YWluc0Z1bmN0aW9uCSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgaW50IG5hcmdzKTxiciAvPgorPC9wcmU+PHA+SW1wbGVtZW50IHRoZSBjb250YWlucygpIFhQYXRoIGZ1bmN0aW9uIGJvb2xlYW4gY29udGFpbnMoc3RyaW5nLCBzdHJpbmcpIFRoZSBjb250YWlucyBmdW5jdGlvbiByZXR1cm5zIHRydWUgaWYgdGhlIGZpcnN0IGFyZ3VtZW50IHN0cmluZyBjb250YWlucyB0aGUgc2Vjb25kIGFyZ3VtZW50IHN0cmluZywgYW5kIG90aGVyd2lzZSByZXR1cm5zIGZhbHNlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYUGF0aCBQYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFyZ3M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgYXJndW1lbnRzPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sWFBhdGhDb3VudEZ1bmN0aW9uIiBpZD0ieG1sWFBhdGhDb3VudEZ1bmN0aW9uIj48L2E+RnVuY3Rpb246IHhtbFhQYXRoQ291bnRGdW5jdGlvbjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sWFBhdGhDb3VudEZ1bmN0aW9uCQkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIGludCBuYXJncyk8YnIgLz4KKzwvcHJlPjxwPkltcGxlbWVudCB0aGUgY291bnQoKSBYUGF0aCBmdW5jdGlvbiBudW1iZXIgY291bnQobm9kZS1zZXQpPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhQYXRoIFBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYXJnczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBhcmd1bWVudHM8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxYUGF0aERlYnVnRHVtcENvbXBFeHByIiBpZD0ieG1sWFBhdGhEZWJ1Z0R1bXBDb21wRXhwciI+PC9hPkZ1bmN0aW9uOiB4bWxYUGF0aERlYnVnRHVtcENvbXBFeHByPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxYUGF0aERlYnVnRHVtcENvbXBFeHByCShGSUxFICogb3V0cHV0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbXBFeHByUHRyIj54bWxYUGF0aENvbXBFeHByUHRyPC9hPiBjb21wLCA8YnIgLz4JCQkJCSBpbnQgZGVwdGgpPGJyIC8+Cis8L3ByZT48cD5EdW1wcyB0aGUgdHJlZSBvZiB0aGUgY29tcGlsZWQgWFBhdGggZXhwcmVzc2lvbi48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5vdXRwdXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBGSUxFICogZm9yIHRoZSBvdXRwdXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmNvbXA8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBwcmVjb21waWxlZCBYUGF0aCBleHByZXNzaW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5kZXB0aDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGluZGVudGF0aW9uIGxldmVsLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhQYXRoRGVidWdEdW1wT2JqZWN0IiBpZD0ieG1sWFBhdGhEZWJ1Z0R1bXBPYmplY3QiPjwvYT5GdW5jdGlvbjogeG1sWFBhdGhEZWJ1Z0R1bXBPYmplY3Q8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFhQYXRoRGVidWdEdW1wT2JqZWN0CQkoRklMRSAqIG91dHB1dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPiBjdXIsIDxiciAvPgkJCQkJIGludCBkZXB0aCk8YnIgLz4KKzwvcHJlPjxwPkR1bXAgdGhlIGNvbnRlbnQgb2YgdGhlIG9iamVjdCBmb3IgZGVidWdnaW5nIHB1cnBvc2VzPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b3V0cHV0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgRklMRSAqIHRvIGR1bXAgdGhlIG91dHB1dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgb2JqZWN0IHRvIGluc3BlY3Q8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRlcHRoPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5pbmRlbnRhdGlvbiBsZXZlbDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhQYXRoRGlmZmVyZW5jZSIgaWQ9InhtbFhQYXRoRGlmZmVyZW5jZSI+PC9hPkZ1bmN0aW9uOiB4bWxYUGF0aERpZmZlcmVuY2U8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPgl4bWxYUGF0aERpZmZlcmVuY2UJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IG5vZGVzMSwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gbm9kZXMyKTxiciAvPgorPC9wcmU+PHA+SW1wbGVtZW50cyB0aGUgRVhTTFQgLSBTZXRzIGRpZmZlcmVuY2UoKSBmdW5jdGlvbjogbm9kZS1zZXQgc2V0OmRpZmZlcmVuY2UgKG5vZGUtc2V0LCBub2RlLXNldCk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlczE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbm9kZS1zZXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGVzMjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBub2RlLXNldDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgdHdvIG5vZGUgc2V0cywgb3Igbm9kZXMxIGlmIG5vZGVzMiBpcyBlbXB0eTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhQYXRoRGlzdGluY3QiIGlkPSJ4bWxYUGF0aERpc3RpbmN0Ij48L2E+RnVuY3Rpb246IHhtbFhQYXRoRGlzdGluY3Q8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPgl4bWxYUGF0aERpc3RpbmN0CSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBub2Rlcyk8YnIgLz4KKzwvcHJlPjxwPkltcGxlbWVudHMgdGhlIEVYU0xUIC0gU2V0cyBkaXN0aW5jdCgpIGZ1bmN0aW9uOiBub2RlLXNldCBzZXQ6ZGlzdGluY3QgKG5vZGUtc2V0KSBAbm9kZXMgaXMgc29ydGVkIGJ5IGRvY3VtZW50IG9yZGVyLCB0aGVuICNleHNsU2V0c0Rpc3RpbmN0U29ydGVkIGlzIGNhbGxlZCB3aXRoIHRoZSBzb3J0ZWQgbm9kZS1zZXQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBub2RlLXNldDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBzdWJzZXQgb2YgdGhlIG5vZGVzIGNvbnRhaW5lZCBpbiBAbm9kZXMsIG9yIEBub2RlcyBpZiBpdCBpcyBlbXB0eTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhQYXRoRGlzdGluY3RTb3J0ZWQiIGlkPSJ4bWxYUGF0aERpc3RpbmN0U29ydGVkIj48L2E+RnVuY3Rpb246IHhtbFhQYXRoRGlzdGluY3RTb3J0ZWQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPgl4bWxYUGF0aERpc3RpbmN0U29ydGVkCSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBub2Rlcyk8YnIgLz4KKzwvcHJlPjxwPkltcGxlbWVudHMgdGhlIEVYU0xUIC0gU2V0cyBkaXN0aW5jdCgpIGZ1bmN0aW9uOiBub2RlLXNldCBzZXQ6ZGlzdGluY3QgKG5vZGUtc2V0KTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGVzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIG5vZGUtc2V0LCBzb3J0ZWQgYnkgZG9jdW1lbnQgb3JkZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgc3Vic2V0IG9mIHRoZSBub2RlcyBjb250YWluZWQgaW4gQG5vZGVzLCBvciBAbm9kZXMgaWYgaXQgaXMgZW1wdHk8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxYUGF0aERpdlZhbHVlcyIgaWQ9InhtbFhQYXRoRGl2VmFsdWVzIj48L2E+RnVuY3Rpb246IHhtbFhQYXRoRGl2VmFsdWVzPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxYUGF0aERpdlZhbHVlcwkJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0KTxiciAvPgorPC9wcmU+PHA+SW1wbGVtZW50IHRoZSBkaXYgb3BlcmF0aW9uIG9uIFhQYXRoIG9iamVjdHMgQGFyZzEgLyBAYXJnMjogVGhlIG51bWVyaWMgb3BlcmF0b3JzIGNvbnZlcnQgdGhlaXIgb3BlcmFuZHMgdG8gbnVtYmVycyBhcyBpZiBieSBjYWxsaW5nIHRoZSBudW1iZXIgZnVuY3Rpb24uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhQYXRoIFBhcnNlciBjb250ZXh0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sWFBhdGhFcXVhbFZhbHVlcyIgaWQ9InhtbFhQYXRoRXF1YWxWYWx1ZXMiPjwvYT5GdW5jdGlvbjogeG1sWFBhdGhFcXVhbFZhbHVlczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxYUGF0aEVxdWFsVmFsdWVzCQkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQpPGJyIC8+Cis8L3ByZT48cD5JbXBsZW1lbnQgdGhlIGVxdWFsIG9wZXJhdGlvbiBvbiBYUGF0aCBvYmplY3RzIGNvbnRlbnQ6IEBhcmcxID09IEBhcmcyPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhQYXRoIFBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIG9yIDEgZGVwZW5kaW5nIG9uIHRoZSByZXN1bHRzIG9mIHRoZSB0ZXN0LjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhQYXRoRXJyIiBpZD0ieG1sWFBhdGhFcnIiPjwvYT5GdW5jdGlvbjogeG1sWFBhdGhFcnI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFhQYXRoRXJyCQkJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSBpbnQgZXJyb3IpPGJyIC8+Cis8L3ByZT48cD5IYW5kbGUgYW4gWFBhdGggZXJyb3I8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIFhQYXRoIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lcnJvcjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVycm9yIGNvZGU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxYUGF0aEV2YWxFeHByIiBpZD0ieG1sWFBhdGhFdmFsRXhwciI+PC9hPkZ1bmN0aW9uOiB4bWxYUGF0aEV2YWxFeHByPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxYUGF0aEV2YWxFeHByCQkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQpPGJyIC8+Cis8L3ByZT48cD5QYXJzZSBhbmQgZXZhbHVhdGUgYW4gWFBhdGggZXhwcmVzc2lvbiBpbiB0aGUgZ2l2ZW4gY29udGV4dCwgdGhlbiBwdXNoIHRoZSByZXN1bHQgb24gdGhlIGNvbnRleHQgc3RhY2s8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggUGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxYUGF0aEV2YWx1YXRlUHJlZGljYXRlUmVzdWx0IiBpZD0ieG1sWFBhdGhFdmFsdWF0ZVByZWRpY2F0ZVJlc3VsdCI+PC9hPkZ1bmN0aW9uOiB4bWxYUGF0aEV2YWx1YXRlUHJlZGljYXRlUmVzdWx0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFhQYXRoRXZhbHVhdGVQcmVkaWNhdGVSZXN1bHQJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IHJlcyk8YnIgLz4KKzwvcHJlPjxwPkV2YWx1YXRlIGEgcHJlZGljYXRlIHJlc3VsdCBmb3IgdGhlIGN1cnJlbnQgbm9kZS4gQSBQcmVkaWNhdGVFeHByIGlzIGV2YWx1YXRlZCBieSBldmFsdWF0aW5nIHRoZSBFeHByIGFuZCBjb252ZXJ0aW5nIHRoZSByZXN1bHQgdG8gYSBib29sZWFuLiBJZiB0aGUgcmVzdWx0IGlzIGEgbnVtYmVyLCB0aGUgcmVzdWx0IHdpbGwgYmUgY29udmVydGVkIHRvIHRydWUgaWYgdGhlIG51bWJlciBpcyBlcXVhbCB0byB0aGUgcG9zaXRpb24gb2YgdGhlIGNvbnRleHQgbm9kZSBpbiB0aGUgY29udGV4dCBub2RlIGxpc3QgKGFzIHJldHVybmVkIGJ5IHRoZSBwb3NpdGlvbiBmdW5jdGlvbikgYW5kIHdpbGwgYmUgY29udmVydGVkIHRvIGZhbHNlIG90aGVyd2lzZTsgaWYgdGhlIHJlc3VsdCBpcyBub3QgYSBudW1iZXIsIHRoZW4gdGhlIHJlc3VsdCB3aWxsIGJlIGNvbnZlcnRlZCBhcyBpZiBieSBhIGNhbGwgdG8gdGhlIGJvb2xlYW4gZnVuY3Rpb24uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhQYXRoIFBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5yZXM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBQcmVkaWNhdGUgRXhwcmVzc2lvbiBldmFsdWF0aW9uIHJlc3VsdDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiBwcmVkaWNhdGUgaXMgdHJ1ZSwgMCBvdGhlcndpc2U8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxYUGF0aEZhbHNlRnVuY3Rpb24iIGlkPSJ4bWxYUGF0aEZhbHNlRnVuY3Rpb24iPjwvYT5GdW5jdGlvbjogeG1sWFBhdGhGYWxzZUZ1bmN0aW9uPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxYUGF0aEZhbHNlRnVuY3Rpb24JCSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgaW50IG5hcmdzKTxiciAvPgorPC9wcmU+PHA+SW1wbGVtZW50IHRoZSBmYWxzZSgpIFhQYXRoIGZ1bmN0aW9uIGJvb2xlYW4gZmFsc2UoKTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYUGF0aCBQYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFyZ3M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgYXJndW1lbnRzPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sWFBhdGhGbG9vckZ1bmN0aW9uIiBpZD0ieG1sWFBhdGhGbG9vckZ1bmN0aW9uIj48L2E+RnVuY3Rpb246IHhtbFhQYXRoRmxvb3JGdW5jdGlvbjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sWFBhdGhGbG9vckZ1bmN0aW9uCQkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIGludCBuYXJncyk8YnIgLz4KKzwvcHJlPjxwPkltcGxlbWVudCB0aGUgZmxvb3IoKSBYUGF0aCBmdW5jdGlvbiBudW1iZXIgZmxvb3IobnVtYmVyKSBUaGUgZmxvb3IgZnVuY3Rpb24gcmV0dXJucyB0aGUgbGFyZ2VzdCAoY2xvc2VzdCB0byBwb3NpdGl2ZSBpbmZpbml0eSkgbnVtYmVyIHRoYXQgaXMgbm90IGdyZWF0ZXIgdGhhbiB0aGUgYXJndW1lbnQgYW5kIHRoYXQgaXMgYW4gaW50ZWdlci48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggUGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hcmdzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGFyZ3VtZW50czwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhQYXRoRnJlZVBhcnNlckNvbnRleHQiIGlkPSJ4bWxYUGF0aEZyZWVQYXJzZXJDb250ZXh0Ij48L2E+RnVuY3Rpb246IHhtbFhQYXRoRnJlZVBhcnNlckNvbnRleHQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFhQYXRoRnJlZVBhcnNlckNvbnRleHQJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0KTxiciAvPgorPC9wcmU+PHA+RnJlZSB1cCBhbiA8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHQiPnhtbFhQYXRoUGFyc2VyQ29udGV4dDwvYT48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY29udGV4dCB0byBmcmVlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sWFBhdGhGdW5jdGlvbkxvb2t1cCIgaWQ9InhtbFhQYXRoRnVuY3Rpb25Mb29rdXAiPjwvYT5GdW5jdGlvbjogeG1sWFBhdGhGdW5jdGlvbkxvb2t1cDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoRnVuY3Rpb24iPnhtbFhQYXRoRnVuY3Rpb248L2E+CXhtbFhQYXRoRnVuY3Rpb25Mb29rdXAJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFB0ciI+eG1sWFBhdGhDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSk8YnIgLz4KKzwvcHJlPjxwPlNlYXJjaCBpbiB0aGUgRnVuY3Rpb24gYXJyYXkgb2YgdGhlIGNvbnRleHQgZm9yIHRoZSBnaXZlbiBmdW5jdGlvbi48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZ1bmN0aW9uIG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aEZ1bmN0aW9uIj54bWxYUGF0aEZ1bmN0aW9uPC9hPiBvciBOVUxMIGlmIG5vdCBmb3VuZDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhQYXRoRnVuY3Rpb25Mb29rdXBOUyIgaWQ9InhtbFhQYXRoRnVuY3Rpb25Mb29rdXBOUyI+PC9hPkZ1bmN0aW9uOiB4bWxYUGF0aEZ1bmN0aW9uTG9va3VwTlM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aEZ1bmN0aW9uIj54bWxYUGF0aEZ1bmN0aW9uPC9hPgl4bWxYUGF0aEZ1bmN0aW9uTG9va3VwTlMJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFB0ciI+eG1sWFBhdGhDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUsIDxiciAvPgkJCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbnNfdXJpKTxiciAvPgorPC9wcmU+PHA+U2VhcmNoIGluIHRoZSBGdW5jdGlvbiBhcnJheSBvZiB0aGUgY29udGV4dCBmb3IgdGhlIGdpdmVuIGZ1bmN0aW9uLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYUGF0aCBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZnVuY3Rpb24gbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bnNfdXJpPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZnVuY3Rpb24gbmFtZXNwYWNlIFVSSTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoRnVuY3Rpb24iPnhtbFhQYXRoRnVuY3Rpb248L2E+IG9yIE5VTEwgaWYgbm90IGZvdW5kPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sWFBhdGhIYXNTYW1lTm9kZXMiIGlkPSJ4bWxYUGF0aEhhc1NhbWVOb2RlcyI+PC9hPkZ1bmN0aW9uOiB4bWxYUGF0aEhhc1NhbWVOb2RlczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxYUGF0aEhhc1NhbWVOb2RlcwkJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IG5vZGVzMSwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gbm9kZXMyKTxiciAvPgorPC9wcmU+PHA+SW1wbGVtZW50cyB0aGUgRVhTTFQgLSBTZXRzIGhhcy1zYW1lLW5vZGVzIGZ1bmN0aW9uOiBib29sZWFuIHNldDpoYXMtc2FtZS1ub2RlKG5vZGUtc2V0LCBub2RlLXNldCk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlczE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbm9kZS1zZXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGVzMjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBub2RlLXNldDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dHJ1ZSAoMSkgaWYgQG5vZGVzMSBzaGFyZXMgYW55IG5vZGUgd2l0aCBAbm9kZXMyLCBmYWxzZSAoMCkgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sWFBhdGhJZEZ1bmN0aW9uIiBpZD0ieG1sWFBhdGhJZEZ1bmN0aW9uIj48L2E+RnVuY3Rpb246IHhtbFhQYXRoSWRGdW5jdGlvbjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sWFBhdGhJZEZ1bmN0aW9uCQkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIGludCBuYXJncyk8YnIgLz4KKzwvcHJlPjxwPkltcGxlbWVudCB0aGUgaWQoKSBYUGF0aCBmdW5jdGlvbiBub2RlLXNldCBpZChvYmplY3QpIFRoZSBpZCBmdW5jdGlvbiBzZWxlY3RzIGVsZW1lbnRzIGJ5IHRoZWlyIHVuaXF1ZSBJRCAoc2VlIFs1LjIuMSBVbmlxdWUgSURzXSkuIFdoZW4gdGhlIGFyZ3VtZW50IHRvIGlkIGlzIG9mIHR5cGUgbm9kZS1zZXQsIHRoZW4gdGhlIHJlc3VsdCBpcyB0aGUgdW5pb24gb2YgdGhlIHJlc3VsdCBvZiBhcHBseWluZyBpZCB0byB0aGUgc3RyaW5nIHZhbHVlIG9mIGVhY2ggb2YgdGhlIG5vZGVzIGluIHRoZSBhcmd1bWVudCBub2RlLXNldC4gV2hlbiB0aGUgYXJndW1lbnQgdG8gaWQgaXMgb2YgYW55IG90aGVyIHR5cGUsIHRoZSBhcmd1bWVudCBpcyBjb252ZXJ0ZWQgdG8gYSBzdHJpbmcgYXMgaWYgYnkgYSBjYWxsIHRvIHRoZSBzdHJpbmcgZnVuY3Rpb247IHRoZSBzdHJpbmcgaXMgc3BsaXQgaW50byBhIHdoaXRlc3BhY2Utc2VwYXJhdGVkIGxpc3Qgb2YgdG9rZW5zICh3aGl0ZXNwYWNlIGlzIGFueSBzZXF1ZW5jZSBvZiA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjY2hhcmFjdGVycyI+Y2hhcmFjdGVyczwvYT4gbWF0Y2hpbmcgdGhlIHByb2R1Y3Rpb24gUyk7IHRoZSByZXN1bHQgaXMgYSBub2RlLXNldCBjb250YWluaW5nIHRoZSBlbGVtZW50cyBpbiB0aGUgc2FtZSBkb2N1bWVudCBhcyB0aGUgY29udGV4dCBub2RlIHRoYXQgaGF2ZSBhIHVuaXF1ZSBJRCBlcXVhbCB0byBhbnkgb2YgdGhlIHRva2VucyBpbiB0aGUgbGlzdC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggUGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hcmdzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGFyZ3VtZW50czwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhQYXRoSW50ZXJzZWN0aW9uIiBpZD0ieG1sWFBhdGhJbnRlcnNlY3Rpb24iPjwvYT5GdW5jdGlvbjogeG1sWFBhdGhJbnRlcnNlY3Rpb248L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPgl4bWxYUGF0aEludGVyc2VjdGlvbgkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gbm9kZXMxLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBub2RlczIpPGJyIC8+Cis8L3ByZT48cD5JbXBsZW1lbnRzIHRoZSBFWFNMVCAtIFNldHMgaW50ZXJzZWN0aW9uKCkgZnVuY3Rpb246IG5vZGUtc2V0IHNldDppbnRlcnNlY3Rpb24gKG5vZGUtc2V0LCBub2RlLXNldCk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlczE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbm9kZS1zZXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGVzMjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBub2RlLXNldDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBub2RlIHNldCBjb21wcmlzaW5nIHRoZSBub2RlcyB0aGF0IGFyZSB3aXRoaW4gYm90aCB0aGUgbm9kZSBzZXRzIHBhc3NlZCBhcyBhcmd1bWVudHM8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxYUGF0aElzTm9kZVR5cGUiIGlkPSJ4bWxYUGF0aElzTm9kZVR5cGUiPjwvYT5GdW5jdGlvbjogeG1sWFBhdGhJc05vZGVUeXBlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFhQYXRoSXNOb2RlVHlwZQkJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIG5hbWUpPGJyIC8+Cis8L3ByZT48cD5JcyB0aGUgbmFtZSBnaXZlbiBhIE5vZGVUeXBlIG9uZS4gWzM4XSBOb2RlVHlwZSA6Oj0gJ2NvbW1lbnQnIHwgJ3RleHQnIHwgJ3Byb2Nlc3NpbmctaW5zdHJ1Y3Rpb24nIHwgJ25vZGUnPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBuYW1lIHN0cmluZzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+MSBpZiB0cnVlIDAgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sWFBhdGhMYW5nRnVuY3Rpb24iIGlkPSJ4bWxYUGF0aExhbmdGdW5jdGlvbiI+PC9hPkZ1bmN0aW9uOiB4bWxYUGF0aExhbmdGdW5jdGlvbjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sWFBhdGhMYW5nRnVuY3Rpb24JCSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgaW50IG5hcmdzKTxiciAvPgorPC9wcmU+PHA+SW1wbGVtZW50IHRoZSBsYW5nKCkgWFBhdGggZnVuY3Rpb24gYm9vbGVhbiBsYW5nKHN0cmluZykgVGhlIGxhbmcgZnVuY3Rpb24gcmV0dXJucyB0cnVlIG9yIGZhbHNlIGRlcGVuZGluZyBvbiB3aGV0aGVyIHRoZSBsYW5ndWFnZSBvZiB0aGUgY29udGV4dCBub2RlIGFzIHNwZWNpZmllZCBieSB4bWw6bGFuZyBhdHRyaWJ1dGVzIGlzIHRoZSBzYW1lIGFzIG9yIGlzIGEgc3VibGFuZ3VhZ2Ugb2YgdGhlIGxhbmd1YWdlIHNwZWNpZmllZCBieSB0aGUgYXJndW1lbnQgc3RyaW5nLiBUaGUgbGFuZ3VhZ2Ugb2YgdGhlIGNvbnRleHQgbm9kZSBpcyBkZXRlcm1pbmVkIGJ5IHRoZSB2YWx1ZSBvZiB0aGUgeG1sOmxhbmcgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBvbiB0aGUgY29udGV4dCBub2RlLCBvciwgaWYgdGhlIGNvbnRleHQgbm9kZSBoYXMgbm8geG1sOmxhbmcgYXR0cmlidXRlLCBieSB0aGUgdmFsdWUgb2YgdGhlIHhtbDpsYW5nIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGUiPmF0dHJpYnV0ZTwvYT4gb24gdGhlIG5lYXJlc3QgYW5jZXN0b3Igb2YgdGhlIGNvbnRleHQgbm9kZSB0aGF0IGhhcyBhbiB4bWw6bGFuZyBhdHRyaWJ1dGUuIElmIHRoZXJlIGlzIG5vIHN1Y2ggYXR0cmlidXRlLCB0aGVuIGxhbmc8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggUGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hcmdzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGFyZ3VtZW50czwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhQYXRoTGFzdEZ1bmN0aW9uIiBpZD0ieG1sWFBhdGhMYXN0RnVuY3Rpb24iPjwvYT5GdW5jdGlvbjogeG1sWFBhdGhMYXN0RnVuY3Rpb248L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFhQYXRoTGFzdEZ1bmN0aW9uCQkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIGludCBuYXJncyk8YnIgLz4KKzwvcHJlPjxwPkltcGxlbWVudCB0aGUgbGFzdCgpIFhQYXRoIGZ1bmN0aW9uIG51bWJlciBsYXN0KCkgVGhlIGxhc3QgZnVuY3Rpb24gcmV0dXJucyB0aGUgbnVtYmVyIG9mIG5vZGVzIGluIHRoZSBjb250ZXh0IG5vZGUgbGlzdC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggUGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hcmdzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGFyZ3VtZW50czwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhQYXRoTGVhZGluZyIgaWQ9InhtbFhQYXRoTGVhZGluZyI+PC9hPkZ1bmN0aW9uOiB4bWxYUGF0aExlYWRpbmc8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPgl4bWxYUGF0aExlYWRpbmcJCSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBub2RlczEsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IG5vZGVzMik8YnIgLz4KKzwvcHJlPjxwPkltcGxlbWVudHMgdGhlIEVYU0xUIC0gU2V0cyBsZWFkaW5nKCkgZnVuY3Rpb246IG5vZGUtc2V0IHNldDpsZWFkaW5nIChub2RlLXNldCwgbm9kZS1zZXQpIEBub2RlczEgYW5kIEBub2RlczIgYXJlIHNvcnRlZCBieSBkb2N1bWVudCBvcmRlciwgdGhlbiAjZXhzbFNldHNMZWFkaW5nU29ydGVkIGlzIGNhbGxlZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlczE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbm9kZS1zZXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGVzMjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBub2RlLXNldDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vZGVzIGluIEBub2RlczEgdGhhdCBwcmVjZWRlIHRoZSBmaXJzdCBub2RlIGluIEBub2RlczIgaW4gZG9jdW1lbnQgb3JkZXIsIEBub2RlczEgaWYgQG5vZGVzMiBpcyBOVUxMIG9yIGVtcHR5IG9yIGFuIGVtcHR5IG5vZGUtc2V0IGlmIEBub2RlczEgZG9lc24ndCBjb250YWluIEBub2RlczI8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxYUGF0aExlYWRpbmdTb3J0ZWQiIGlkPSJ4bWxYUGF0aExlYWRpbmdTb3J0ZWQiPjwvYT5GdW5jdGlvbjogeG1sWFBhdGhMZWFkaW5nU29ydGVkPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4JeG1sWFBhdGhMZWFkaW5nU29ydGVkCSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBub2RlczEsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IG5vZGVzMik8YnIgLz4KKzwvcHJlPjxwPkltcGxlbWVudHMgdGhlIEVYU0xUIC0gU2V0cyBsZWFkaW5nKCkgZnVuY3Rpb246IG5vZGUtc2V0IHNldDpsZWFkaW5nIChub2RlLXNldCwgbm9kZS1zZXQpPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZXMxPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIG5vZGUtc2V0LCBzb3J0ZWQgYnkgZG9jdW1lbnQgb3JkZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGVzMjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBub2RlLXNldCwgc29ydGVkIGJ5IGRvY3VtZW50IG9yZGVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbm9kZXMgaW4gQG5vZGVzMSB0aGF0IHByZWNlZGUgdGhlIGZpcnN0IG5vZGUgaW4gQG5vZGVzMiBpbiBkb2N1bWVudCBvcmRlciwgQG5vZGVzMSBpZiBAbm9kZXMyIGlzIE5VTEwgb3IgZW1wdHkgb3IgYW4gZW1wdHkgbm9kZS1zZXQgaWYgQG5vZGVzMSBkb2Vzbid0IGNvbnRhaW4gQG5vZGVzMjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhQYXRoTG9jYWxOYW1lRnVuY3Rpb24iIGlkPSJ4bWxYUGF0aExvY2FsTmFtZUZ1bmN0aW9uIj48L2E+RnVuY3Rpb246IHhtbFhQYXRoTG9jYWxOYW1lRnVuY3Rpb248L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFhQYXRoTG9jYWxOYW1lRnVuY3Rpb24JKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSBpbnQgbmFyZ3MpPGJyIC8+Cis8L3ByZT48cD5JbXBsZW1lbnQgdGhlIGxvY2FsLW5hbWUoKSBYUGF0aCBmdW5jdGlvbiBzdHJpbmcgbG9jYWwtbmFtZShub2RlLXNldD8pIFRoZSBsb2NhbC1uYW1lIGZ1bmN0aW9uIHJldHVybnMgYSBzdHJpbmcgY29udGFpbmluZyB0aGUgbG9jYWwgcGFydCBvZiB0aGUgbmFtZSBvZiB0aGUgbm9kZSBpbiB0aGUgYXJndW1lbnQgbm9kZS1zZXQgdGhhdCBpcyBmaXJzdCBpbiBkb2N1bWVudCBvcmRlci4gSWYgdGhlIG5vZGUtc2V0IGlzIGVtcHR5IG9yIHRoZSBmaXJzdCBub2RlIGhhcyBubyBuYW1lLCBhbiBlbXB0eSBzdHJpbmcgaXMgcmV0dXJuZWQuIElmIHRoZSBhcmd1bWVudCBpcyBvbWl0dGVkIGl0IGRlZmF1bHRzIHRvIHRoZSBjb250ZXh0IG5vZGUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhQYXRoIFBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYXJnczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBhcmd1bWVudHM8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxYUGF0aE1vZFZhbHVlcyIgaWQ9InhtbFhQYXRoTW9kVmFsdWVzIj48L2E+RnVuY3Rpb246IHhtbFhQYXRoTW9kVmFsdWVzPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxYUGF0aE1vZFZhbHVlcwkJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0KTxiciAvPgorPC9wcmU+PHA+SW1wbGVtZW50IHRoZSBtb2Qgb3BlcmF0aW9uIG9uIFhQYXRoIG9iamVjdHM6IEBhcmcxIC8gQGFyZzIgVGhlIG51bWVyaWMgb3BlcmF0b3JzIGNvbnZlcnQgdGhlaXIgb3BlcmFuZHMgdG8gbnVtYmVycyBhcyBpZiBieSBjYWxsaW5nIHRoZSBudW1iZXIgZnVuY3Rpb24uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhQYXRoIFBhcnNlciBjb250ZXh0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sWFBhdGhNdWx0VmFsdWVzIiBpZD0ieG1sWFBhdGhNdWx0VmFsdWVzIj48L2E+RnVuY3Rpb246IHhtbFhQYXRoTXVsdFZhbHVlczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sWFBhdGhNdWx0VmFsdWVzCQkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQpPGJyIC8+Cis8L3ByZT48cD5JbXBsZW1lbnQgdGhlIG11bHRpcGx5IG9wZXJhdGlvbiBvbiBYUGF0aCBvYmplY3RzOiBUaGUgbnVtZXJpYyBvcGVyYXRvcnMgY29udmVydCB0aGVpciBvcGVyYW5kcyB0byBudW1iZXJzIGFzIGlmIGJ5IGNhbGxpbmcgdGhlIG51bWJlciBmdW5jdGlvbi48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggUGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxYUGF0aE5hbWVzcGFjZVVSSUZ1bmN0aW9uIiBpZD0ieG1sWFBhdGhOYW1lc3BhY2VVUklGdW5jdGlvbiI+PC9hPkZ1bmN0aW9uOiB4bWxYUGF0aE5hbWVzcGFjZVVSSUZ1bmN0aW9uPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxYUGF0aE5hbWVzcGFjZVVSSUZ1bmN0aW9uCSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgaW50IG5hcmdzKTxiciAvPgorPC9wcmU+PHA+SW1wbGVtZW50IHRoZSBuYW1lc3BhY2UtdXJpKCkgWFBhdGggZnVuY3Rpb24gc3RyaW5nIG5hbWVzcGFjZS11cmkobm9kZS1zZXQ/KSBUaGUgbmFtZXNwYWNlLXVyaSBmdW5jdGlvbiByZXR1cm5zIGEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG5hbWVzcGFjZSBVUkkgb2YgdGhlIGV4cGFuZGVkIG5hbWUgb2YgdGhlIG5vZGUgaW4gdGhlIGFyZ3VtZW50IG5vZGUtc2V0IHRoYXQgaXMgZmlyc3QgaW4gZG9jdW1lbnQgb3JkZXIuIElmIHRoZSBub2RlLXNldCBpcyBlbXB0eSwgdGhlIGZpcnN0IG5vZGUgaGFzIG5vIG5hbWUsIG9yIHRoZSBleHBhbmRlZCBuYW1lIGhhcyBubyBuYW1lc3BhY2UgVVJJLCBhbiBlbXB0eSBzdHJpbmcgaXMgcmV0dXJuZWQuIElmIHRoZSBhcmd1bWVudCBpcyBvbWl0dGVkIGl0IGRlZmF1bHRzIHRvIHRoZSBjb250ZXh0IG5vZGUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhQYXRoIFBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYXJnczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBhcmd1bWVudHM8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxYUGF0aE5ld0Jvb2xlYW4iIGlkPSJ4bWxYUGF0aE5ld0Jvb2xlYW4iPjwvYT5GdW5jdGlvbjogeG1sWFBhdGhOZXdCb29sZWFuPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPgl4bWxYUGF0aE5ld0Jvb2xlYW4JKGludCB2YWwpPGJyIC8+Cis8L3ByZT48cD5DcmVhdGUgYSBuZXcgPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPiBvZiB0eXBlIGJvb2xlYW4gYW5kIG9mIHZhbHVlIEB2YWw8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBib29sZWFuIHZhbHVlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sWFBhdGhOZXdDU3RyaW5nIiBpZD0ieG1sWFBhdGhOZXdDU3RyaW5nIj48L2E+RnVuY3Rpb246IHhtbFhQYXRoTmV3Q1N0cmluZzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4JeG1sWFBhdGhOZXdDU3RyaW5nCShjb25zdCBjaGFyICogdmFsKTxiciAvPgorPC9wcmU+PHA+Q3JlYXRlIGEgbmV3IDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4gb2YgdHlwZSBzdHJpbmcgYW5kIG9mIHZhbHVlIEB2YWw8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjaGFyICogdmFsdWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXdseSBjcmVhdGVkIG9iamVjdC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxYUGF0aE5ld0Zsb2F0IiBpZD0ieG1sWFBhdGhOZXdGbG9hdCI+PC9hPkZ1bmN0aW9uOiB4bWxYUGF0aE5ld0Zsb2F0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPgl4bWxYUGF0aE5ld0Zsb2F0CShkb3VibGUgdmFsKTxiciAvPgorPC9wcmU+PHA+Q3JlYXRlIGEgbmV3IDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4gb2YgdHlwZSBkb3VibGUgYW5kIG9mIHZhbHVlIEB2YWw8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBkb3VibGUgdmFsdWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXdseSBjcmVhdGVkIG9iamVjdC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxYUGF0aE5ld05vZGVTZXQiIGlkPSJ4bWxYUGF0aE5ld05vZGVTZXQiPjwvYT5GdW5jdGlvbjogeG1sWFBhdGhOZXdOb2RlU2V0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPgl4bWxYUGF0aE5ld05vZGVTZXQJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gdmFsKTxiciAvPgorPC9wcmU+PHA+Q3JlYXRlIGEgbmV3IDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4gb2YgdHlwZSBOb2RlU2V0IGFuZCBpbml0aWFsaXplIGl0IHdpdGggdGhlIHNpbmdsZSBOb2RlIEB2YWw8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBOb2RlUHRyIHZhbHVlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sWFBhdGhOZXdOb2RlU2V0TGlzdCIgaWQ9InhtbFhQYXRoTmV3Tm9kZVNldExpc3QiPjwvYT5GdW5jdGlvbjogeG1sWFBhdGhOZXdOb2RlU2V0TGlzdDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4JeG1sWFBhdGhOZXdOb2RlU2V0TGlzdAkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gdmFsKTxiciAvPgorPC9wcmU+PHA+Q3JlYXRlIGEgbmV3IDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4gb2YgdHlwZSBOb2RlU2V0IGFuZCBpbml0aWFsaXplIGl0IHdpdGggdGhlIE5vZGVzZXQgQHZhbDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnZhbDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gZXhpc3RpbmcgTm9kZVNldDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ld2x5IGNyZWF0ZWQgb2JqZWN0LjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhQYXRoTmV3UGFyc2VyQ29udGV4dCIgaWQ9InhtbFhQYXRoTmV3UGFyc2VyQ29udGV4dCI+PC9hPkZ1bmN0aW9uOiB4bWxYUGF0aE5ld1BhcnNlckNvbnRleHQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4JeG1sWFBhdGhOZXdQYXJzZXJDb250ZXh0CShjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzdHIsIDxiciAvPgkJCQkJCQkgPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0UHRyIj54bWxYUGF0aENvbnRleHRQdHI8L2E+IGN0eHQpPGJyIC8+Cis8L3ByZT48cD5DcmVhdGUgYSBuZXcgPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0Ij54bWxYUGF0aFBhcnNlckNvbnRleHQ8L2E+PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3RyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggZXhwcmVzc2lvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhQYXRoIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSA8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHQiPnhtbFhQYXRoUGFyc2VyQ29udGV4dDwvYT4ganVzdCBhbGxvY2F0ZWQuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sWFBhdGhOZXdTdHJpbmciIGlkPSJ4bWxYUGF0aE5ld1N0cmluZyI+PC9hPkZ1bmN0aW9uOiB4bWxYUGF0aE5ld1N0cmluZzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4JeG1sWFBhdGhOZXdTdHJpbmcJKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHZhbCk8YnIgLz4KKzwvcHJlPjxwPkNyZWF0ZSBhIG5ldyA8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IG9mIHR5cGUgc3RyaW5nIGFuZCBvZiB2YWx1ZSBAdmFsPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXdseSBjcmVhdGVkIG9iamVjdC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxYUGF0aE5ld1ZhbHVlVHJlZSIgaWQ9InhtbFhQYXRoTmV3VmFsdWVUcmVlIj48L2E+RnVuY3Rpb246IHhtbFhQYXRoTmV3VmFsdWVUcmVlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPgl4bWxYUGF0aE5ld1ZhbHVlVHJlZQkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiB2YWwpPGJyIC8+Cis8L3ByZT48cD5DcmVhdGUgYSBuZXcgPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPiBvZiB0eXBlIFZhbHVlIFRyZWUgKFhTTFQpIGFuZCBpbml0aWFsaXplIGl0IHdpdGggdGhlIHRyZWUgcm9vdCBAdmFsPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgTm9kZVB0ciB2YWx1ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ld2x5IGNyZWF0ZWQgb2JqZWN0LjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhQYXRoTmV4dEFuY2VzdG9yIiBpZD0ieG1sWFBhdGhOZXh0QW5jZXN0b3IiPjwvYT5GdW5jdGlvbjogeG1sWFBhdGhOZXh0QW5jZXN0b3I8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CXhtbFhQYXRoTmV4dEFuY2VzdG9yCSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIpPGJyIC8+Cis8L3ByZT48cD5UcmF2ZXJzYWwgZnVuY3Rpb24gZm9yIHRoZSAiYW5jZXN0b3IiIGRpcmVjdGlvbiB0aGUgYW5jZXN0b3IgYXhpcyBjb250YWlucyB0aGUgYW5jZXN0b3JzIG9mIHRoZSBjb250ZXh0IG5vZGU7IHRoZSBhbmNlc3RvcnMgb2YgdGhlIGNvbnRleHQgbm9kZSBjb25zaXN0IG9mIHRoZSBwYXJlbnQgb2YgY29udGV4dCBub2RlIGFuZCB0aGUgcGFyZW50J3MgcGFyZW50IGFuZCBzbyBvbjsgdGhlIG5vZGVzIGFyZSBvcmRlcmVkIGluIHJldmVyc2UgZG9jdW1lbnQgb3JkZXI7IHRodXMgdGhlIHBhcmVudCBpcyB0aGUgZmlyc3Qgbm9kZSBvbiB0aGUgYXhpcywgYW5kIHRoZSBwYXJlbnQncyBwYXJlbnQgaXMgdGhlIHNlY29uZCBub2RlIG9uIHRoZSBheGlzPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhQYXRoIFBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjdXJyZW50IG5vZGUgaW4gdGhlIHRyYXZlcnNhbDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5leHQgZWxlbWVudCBmb2xsb3dpbmcgdGhhdCBheGlzPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sWFBhdGhOZXh0QW5jZXN0b3JPclNlbGYiIGlkPSJ4bWxYUGF0aE5leHRBbmNlc3Rvck9yU2VsZiI+PC9hPkZ1bmN0aW9uOiB4bWxYUGF0aE5leHRBbmNlc3Rvck9yU2VsZjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JeG1sWFBhdGhOZXh0QW5jZXN0b3JPclNlbGYJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIpPGJyIC8+Cis8L3ByZT48cD5UcmF2ZXJzYWwgZnVuY3Rpb24gZm9yIHRoZSAiYW5jZXN0b3Itb3Itc2VsZiIgZGlyZWN0aW9uIGhlIGFuY2VzdG9yLW9yLXNlbGYgYXhpcyBjb250YWlucyB0aGUgY29udGV4dCBub2RlIGFuZCBhbmNlc3RvcnMgb2YgdGhlIGNvbnRleHQgbm9kZSBpbiByZXZlcnNlIGRvY3VtZW50IG9yZGVyOyB0aHVzIHRoZSBjb250ZXh0IG5vZGUgaXMgdGhlIGZpcnN0IG5vZGUgb24gdGhlIGF4aXMsIGFuZCB0aGUgY29udGV4dCBub2RlJ3MgcGFyZW50IHRoZSBzZWNvbmQ7IHBhcmVudCBoZXJlIGlzIGRlZmluZWQgdGhlIHNhbWUgYXMgd2l0aCB0aGUgcGFyZW50IGF4aXMuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhQYXRoIFBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjdXJyZW50IG5vZGUgaW4gdGhlIHRyYXZlcnNhbDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5leHQgZWxlbWVudCBmb2xsb3dpbmcgdGhhdCBheGlzPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sWFBhdGhOZXh0QXR0cmlidXRlIiBpZD0ieG1sWFBhdGhOZXh0QXR0cmlidXRlIj48L2E+RnVuY3Rpb246IHhtbFhQYXRoTmV4dEF0dHJpYnV0ZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JeG1sWFBhdGhOZXh0QXR0cmlidXRlCSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIpPGJyIC8+Cis8L3ByZT48cD5UcmF2ZXJzYWwgZnVuY3Rpb24gZm9yIHRoZSAiYXR0cmlidXRlIiBkaXJlY3Rpb24gVE9ETzogc3VwcG9ydCBEVEQgaW5oZXJpdGVkIGRlZmF1bHQgYXR0cmlidXRlczwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYUGF0aCBQYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY3VycmVudCA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IGluIHRoZSB0cmF2ZXJzYWw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXh0IGVsZW1lbnQgZm9sbG93aW5nIHRoYXQgYXhpczwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhQYXRoTmV4dENoaWxkIiBpZD0ieG1sWFBhdGhOZXh0Q2hpbGQiPjwvYT5GdW5jdGlvbjogeG1sWFBhdGhOZXh0Q2hpbGQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CXhtbFhQYXRoTmV4dENoaWxkCSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIpPGJyIC8+Cis8L3ByZT48cD5UcmF2ZXJzYWwgZnVuY3Rpb24gZm9yIHRoZSAiY2hpbGQiIGRpcmVjdGlvbiBUaGUgY2hpbGQgYXhpcyBjb250YWlucyB0aGUgY2hpbGRyZW4gb2YgdGhlIGNvbnRleHQgbm9kZSBpbiBkb2N1bWVudCBvcmRlci48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggUGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGN1cnJlbnQgbm9kZSBpbiB0aGUgdHJhdmVyc2FsPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV4dCBlbGVtZW50IGZvbGxvd2luZyB0aGF0IGF4aXM8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxYUGF0aE5leHREZXNjZW5kYW50IiBpZD0ieG1sWFBhdGhOZXh0RGVzY2VuZGFudCI+PC9hPkZ1bmN0aW9uOiB4bWxYUGF0aE5leHREZXNjZW5kYW50PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgl4bWxYUGF0aE5leHREZXNjZW5kYW50CSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIpPGJyIC8+Cis8L3ByZT48cD5UcmF2ZXJzYWwgZnVuY3Rpb24gZm9yIHRoZSAiZGVzY2VuZGFudCIgZGlyZWN0aW9uIHRoZSBkZXNjZW5kYW50IGF4aXMgY29udGFpbnMgdGhlIGRlc2NlbmRhbnRzIG9mIHRoZSBjb250ZXh0IG5vZGUgaW4gZG9jdW1lbnQgb3JkZXI7IGEgZGVzY2VuZGFudCBpcyBhIGNoaWxkIG9yIGEgY2hpbGQgb2YgYSBjaGlsZCBhbmQgc28gb24uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhQYXRoIFBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjdXJyZW50IG5vZGUgaW4gdGhlIHRyYXZlcnNhbDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5leHQgZWxlbWVudCBmb2xsb3dpbmcgdGhhdCBheGlzPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sWFBhdGhOZXh0RGVzY2VuZGFudE9yU2VsZiIgaWQ9InhtbFhQYXRoTmV4dERlc2NlbmRhbnRPclNlbGYiPjwvYT5GdW5jdGlvbjogeG1sWFBhdGhOZXh0RGVzY2VuZGFudE9yU2VsZjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JeG1sWFBhdGhOZXh0RGVzY2VuZGFudE9yU2VsZgkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGN1cik8YnIgLz4KKzwvcHJlPjxwPlRyYXZlcnNhbCBmdW5jdGlvbiBmb3IgdGhlICJkZXNjZW5kYW50LW9yLXNlbGYiIGRpcmVjdGlvbiB0aGUgZGVzY2VuZGFudC1vci1zZWxmIGF4aXMgY29udGFpbnMgdGhlIGNvbnRleHQgbm9kZSBhbmQgdGhlIGRlc2NlbmRhbnRzIG9mIHRoZSBjb250ZXh0IG5vZGUgaW4gZG9jdW1lbnQgb3JkZXI7IHRodXMgdGhlIGNvbnRleHQgbm9kZSBpcyB0aGUgZmlyc3Qgbm9kZSBvbiB0aGUgYXhpcywgYW5kIHRoZSBmaXJzdCBjaGlsZCBvZiB0aGUgY29udGV4dCBub2RlIGlzIHRoZSBzZWNvbmQgbm9kZSBvbiB0aGUgYXhpczwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYUGF0aCBQYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY3VycmVudCBub2RlIGluIHRoZSB0cmF2ZXJzYWw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXh0IGVsZW1lbnQgZm9sbG93aW5nIHRoYXQgYXhpczwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhQYXRoTmV4dEZvbGxvd2luZyIgaWQ9InhtbFhQYXRoTmV4dEZvbGxvd2luZyI+PC9hPkZ1bmN0aW9uOiB4bWxYUGF0aE5leHRGb2xsb3dpbmc8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CXhtbFhQYXRoTmV4dEZvbGxvd2luZwkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gY3VyKTxiciAvPgorPC9wcmU+PHA+VHJhdmVyc2FsIGZ1bmN0aW9uIGZvciB0aGUgImZvbGxvd2luZyIgZGlyZWN0aW9uIFRoZSBmb2xsb3dpbmcgYXhpcyBjb250YWlucyBhbGwgbm9kZXMgaW4gdGhlIHNhbWUgZG9jdW1lbnQgYXMgdGhlIGNvbnRleHQgbm9kZSB0aGF0IGFyZSBhZnRlciB0aGUgY29udGV4dCBub2RlIGluIGRvY3VtZW50IG9yZGVyLCBleGNsdWRpbmcgYW55IGRlc2NlbmRhbnRzIGFuZCBleGNsdWRpbmcgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBub2RlcyBhbmQgbmFtZXNwYWNlIG5vZGVzOyB0aGUgbm9kZXMgYXJlIG9yZGVyZWQgaW4gZG9jdW1lbnQgb3JkZXI8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggUGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGN1cnJlbnQgbm9kZSBpbiB0aGUgdHJhdmVyc2FsPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV4dCBlbGVtZW50IGZvbGxvd2luZyB0aGF0IGF4aXM8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxYUGF0aE5leHRGb2xsb3dpbmdTaWJsaW5nIiBpZD0ieG1sWFBhdGhOZXh0Rm9sbG93aW5nU2libGluZyI+PC9hPkZ1bmN0aW9uOiB4bWxYUGF0aE5leHRGb2xsb3dpbmdTaWJsaW5nPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgl4bWxYUGF0aE5leHRGb2xsb3dpbmdTaWJsaW5nCSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gY3VyKTxiciAvPgorPC9wcmU+PHA+VHJhdmVyc2FsIGZ1bmN0aW9uIGZvciB0aGUgImZvbGxvd2luZy1zaWJsaW5nIiBkaXJlY3Rpb24gVGhlIGZvbGxvd2luZy1zaWJsaW5nIGF4aXMgY29udGFpbnMgdGhlIGZvbGxvd2luZyBzaWJsaW5ncyBvZiB0aGUgY29udGV4dCBub2RlIGluIGRvY3VtZW50IG9yZGVyLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYUGF0aCBQYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY3VycmVudCBub2RlIGluIHRoZSB0cmF2ZXJzYWw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXh0IGVsZW1lbnQgZm9sbG93aW5nIHRoYXQgYXhpczwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhQYXRoTmV4dE5hbWVzcGFjZSIgaWQ9InhtbFhQYXRoTmV4dE5hbWVzcGFjZSI+PC9hPkZ1bmN0aW9uOiB4bWxYUGF0aE5leHROYW1lc3BhY2U8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CXhtbFhQYXRoTmV4dE5hbWVzcGFjZQkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gY3VyKTxiciAvPgorPC9wcmU+PHA+VHJhdmVyc2FsIGZ1bmN0aW9uIGZvciB0aGUgIm5hbWVzcGFjZSIgZGlyZWN0aW9uIHRoZSBuYW1lc3BhY2UgYXhpcyBjb250YWlucyB0aGUgbmFtZXNwYWNlIG5vZGVzIG9mIHRoZSBjb250ZXh0IG5vZGU7IHRoZSBvcmRlciBvZiBub2RlcyBvbiB0aGlzIGF4aXMgaXMgaW1wbGVtZW50YXRpb24tZGVmaW5lZDsgdGhlIGF4aXMgd2lsbCBiZSBlbXB0eSB1bmxlc3MgdGhlIGNvbnRleHQgbm9kZSBpcyBhbiBlbGVtZW50IFdlIGtlZXAgdGhlIFhNTCBuYW1lc3BhY2Ugbm9kZSBhdCB0aGUgZW5kIG9mIHRoZSBsaXN0LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYUGF0aCBQYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY3VycmVudCA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IGluIHRoZSB0cmF2ZXJzYWw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXh0IGVsZW1lbnQgZm9sbG93aW5nIHRoYXQgYXhpczwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhQYXRoTmV4dFBhcmVudCIgaWQ9InhtbFhQYXRoTmV4dFBhcmVudCI+PC9hPkZ1bmN0aW9uOiB4bWxYUGF0aE5leHRQYXJlbnQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CXhtbFhQYXRoTmV4dFBhcmVudAkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gY3VyKTxiciAvPgorPC9wcmU+PHA+VHJhdmVyc2FsIGZ1bmN0aW9uIGZvciB0aGUgInBhcmVudCIgZGlyZWN0aW9uIFRoZSBwYXJlbnQgYXhpcyBjb250YWlucyB0aGUgcGFyZW50IG9mIHRoZSBjb250ZXh0IG5vZGUsIGlmIHRoZXJlIGlzIG9uZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggUGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN1cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGN1cnJlbnQgbm9kZSBpbiB0aGUgdHJhdmVyc2FsPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV4dCBlbGVtZW50IGZvbGxvd2luZyB0aGF0IGF4aXM8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxYUGF0aE5leHRQcmVjZWRpbmciIGlkPSJ4bWxYUGF0aE5leHRQcmVjZWRpbmciPjwvYT5GdW5jdGlvbjogeG1sWFBhdGhOZXh0UHJlY2VkaW5nPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgl4bWxYUGF0aE5leHRQcmVjZWRpbmcJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGN1cik8YnIgLz4KKzwvcHJlPjxwPlRyYXZlcnNhbCBmdW5jdGlvbiBmb3IgdGhlICJwcmVjZWRpbmciIGRpcmVjdGlvbiB0aGUgcHJlY2VkaW5nIGF4aXMgY29udGFpbnMgYWxsIG5vZGVzIGluIHRoZSBzYW1lIGRvY3VtZW50IGFzIHRoZSBjb250ZXh0IG5vZGUgdGhhdCBhcmUgYmVmb3JlIHRoZSBjb250ZXh0IG5vZGUgaW4gZG9jdW1lbnQgb3JkZXIsIGV4Y2x1ZGluZyBhbnkgYW5jZXN0b3JzIGFuZCBleGNsdWRpbmcgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2F0dHJpYnV0ZSI+YXR0cmlidXRlPC9hPiBub2RlcyBhbmQgbmFtZXNwYWNlIG5vZGVzOyB0aGUgbm9kZXMgYXJlIG9yZGVyZWQgaW4gcmV2ZXJzZSBkb2N1bWVudCBvcmRlcjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYUGF0aCBQYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY3VycmVudCBub2RlIGluIHRoZSB0cmF2ZXJzYWw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXh0IGVsZW1lbnQgZm9sbG93aW5nIHRoYXQgYXhpczwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhQYXRoTmV4dFByZWNlZGluZ1NpYmxpbmciIGlkPSJ4bWxYUGF0aE5leHRQcmVjZWRpbmdTaWJsaW5nIj48L2E+RnVuY3Rpb246IHhtbFhQYXRoTmV4dFByZWNlZGluZ1NpYmxpbmc8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CXhtbFhQYXRoTmV4dFByZWNlZGluZ1NpYmxpbmcJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBjdXIpPGJyIC8+Cis8L3ByZT48cD5UcmF2ZXJzYWwgZnVuY3Rpb24gZm9yIHRoZSAicHJlY2VkaW5nLXNpYmxpbmciIGRpcmVjdGlvbiBUaGUgcHJlY2VkaW5nLXNpYmxpbmcgYXhpcyBjb250YWlucyB0aGUgcHJlY2VkaW5nIHNpYmxpbmdzIG9mIHRoZSBjb250ZXh0IG5vZGUgaW4gcmV2ZXJzZSBkb2N1bWVudCBvcmRlcjsgdGhlIGZpcnN0IHByZWNlZGluZyBzaWJsaW5nIGlzIGZpcnN0IG9uIHRoZSBheGlzOyB0aGUgc2libGluZyBwcmVjZWRpbmcgdGhhdCBub2RlIGlzIHRoZSBzZWNvbmQgb24gdGhlIGF4aXMgYW5kIHNvIG9uLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYUGF0aCBQYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgY3VycmVudCBub2RlIGluIHRoZSB0cmF2ZXJzYWw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXh0IGVsZW1lbnQgZm9sbG93aW5nIHRoYXQgYXhpczwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhQYXRoTmV4dFNlbGYiIGlkPSJ4bWxYUGF0aE5leHRTZWxmIj48L2E+RnVuY3Rpb246IHhtbFhQYXRoTmV4dFNlbGY8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+CXhtbFhQYXRoTmV4dFNlbGYJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGN1cik8YnIgLz4KKzwvcHJlPjxwPlRyYXZlcnNhbCBmdW5jdGlvbiBmb3IgdGhlICJzZWxmIiBkaXJlY3Rpb24gVGhlIHNlbGYgYXhpcyBjb250YWlucyBqdXN0IHRoZSBjb250ZXh0IG5vZGUgaXRzZWxmPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhQYXRoIFBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjdXJyZW50IG5vZGUgaW4gdGhlIHRyYXZlcnNhbDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5leHQgZWxlbWVudCBmb2xsb3dpbmcgdGhhdCBheGlzPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sWFBhdGhOb2RlTGVhZGluZyIgaWQ9InhtbFhQYXRoTm9kZUxlYWRpbmciPjwvYT5GdW5jdGlvbjogeG1sWFBhdGhOb2RlTGVhZGluZzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+CXhtbFhQYXRoTm9kZUxlYWRpbmcJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IG5vZGVzLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUpPGJyIC8+Cis8L3ByZT48cD5JbXBsZW1lbnRzIHRoZSBFWFNMVCAtIFNldHMgbGVhZGluZygpIGZ1bmN0aW9uOiBub2RlLXNldCBzZXQ6bGVhZGluZyAobm9kZS1zZXQsIG5vZGUtc2V0KSBAbm9kZXMgaXMgc29ydGVkIGJ5IGRvY3VtZW50IG9yZGVyLCB0aGVuICNleHNsU2V0c05vZGVMZWFkaW5nU29ydGVkIGlzIGNhbGxlZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBub2RlLXNldDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbm9kZXMgaW4gQG5vZGVzIHRoYXQgcHJlY2VkZSBAbm9kZSBpbiBkb2N1bWVudCBvcmRlciwgQG5vZGVzIGlmIEBub2RlIGlzIE5VTEwgb3IgYW4gZW1wdHkgbm9kZS1zZXQgaWYgQG5vZGVzIGRvZXNuJ3QgY29udGFpbiBAbm9kZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhQYXRoTm9kZUxlYWRpbmdTb3J0ZWQiIGlkPSJ4bWxYUGF0aE5vZGVMZWFkaW5nU29ydGVkIj48L2E+RnVuY3Rpb246IHhtbFhQYXRoTm9kZUxlYWRpbmdTb3J0ZWQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPgl4bWxYUGF0aE5vZGVMZWFkaW5nU29ydGVkCSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBub2RlcywgPGJyIC8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSk8YnIgLz4KKzwvcHJlPjxwPkltcGxlbWVudHMgdGhlIEVYU0xUIC0gU2V0cyBsZWFkaW5nKCkgZnVuY3Rpb246IG5vZGUtc2V0IHNldDpsZWFkaW5nIChub2RlLXNldCwgbm9kZS1zZXQpPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZXM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbm9kZS1zZXQsIHNvcnRlZCBieSBkb2N1bWVudCBvcmRlcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbm9kZXMgaW4gQG5vZGVzIHRoYXQgcHJlY2VkZSBAbm9kZSBpbiBkb2N1bWVudCBvcmRlciwgQG5vZGVzIGlmIEBub2RlIGlzIE5VTEwgb3IgYW4gZW1wdHkgbm9kZS1zZXQgaWYgQG5vZGVzIGRvZXNuJ3QgY29udGFpbiBAbm9kZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhQYXRoTm9kZVNldEFkZCIgaWQ9InhtbFhQYXRoTm9kZVNldEFkZCI+PC9hPkZ1bmN0aW9uOiB4bWxYUGF0aE5vZGVTZXRBZGQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sWFBhdGhOb2RlU2V0QWRkCQkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gY3VyLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IHZhbCk8YnIgLz4KKzwvcHJlPjxwPmFkZCBhIG5ldyA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IHRvIGFuIGV4aXN0aW5nIE5vZGVTZXQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBpbml0aWFsIG5vZGUgc2V0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbmV3IDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT48L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaW4gY2FzZSBvZiBzdWNjZXNzLCBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhQYXRoTm9kZVNldEFkZE5zIiBpZD0ieG1sWFBhdGhOb2RlU2V0QWRkTnMiPjwvYT5GdW5jdGlvbjogeG1sWFBhdGhOb2RlU2V0QWRkTnM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sWFBhdGhOb2RlU2V0QWRkTnMJCSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBjdXIsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOc1B0ciI+eG1sTnNQdHI8L2E+IG5zKTxiciAvPgorPC9wcmU+PHA+YWRkIGEgbmV3IG5hbWVzcGFjZSBub2RlIHRvIGFuIGV4aXN0aW5nIE5vZGVTZXQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBpbml0aWFsIG5vZGUgc2V0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaG9zdGluZyBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSB0aGUgbmFtZXNwYWNlIG5vZGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaW4gY2FzZSBvZiBzdWNjZXNzIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sWFBhdGhOb2RlU2V0QWRkVW5pcXVlIiBpZD0ieG1sWFBhdGhOb2RlU2V0QWRkVW5pcXVlIj48L2E+RnVuY3Rpb246IHhtbFhQYXRoTm9kZVNldEFkZFVuaXF1ZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxYUGF0aE5vZGVTZXRBZGRVbmlxdWUJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IGN1ciwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiB2YWwpPGJyIC8+Cis8L3ByZT48cD5hZGQgYSBuZXcgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiB0byBhbiBleGlzdGluZyBOb2RlU2V0LCBvcHRpbWl6ZWQgdmVyc2lvbiB3aGVuIHdlIGFyZSBzdXJlIHRoZSBub2RlIGlzIG5vdCBhbHJlYWR5IGluIHRoZSBzZXQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaW5pdGlhbCBub2RlIHNldDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIG5ldyA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGluIGNhc2Ugb2Ygc3VjY2VzcyBhbmQgLTEgaW4gY2FzZSBvZiBmYWlsdXJlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sWFBhdGhOb2RlU2V0Q29udGFpbnMiIGlkPSJ4bWxYUGF0aE5vZGVTZXRDb250YWlucyI+PC9hPkZ1bmN0aW9uOiB4bWxYUGF0aE5vZGVTZXRDb250YWluczwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxYUGF0aE5vZGVTZXRDb250YWlucwkJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IGN1ciwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiB2YWwpPGJyIC8+Cis8L3ByZT48cD5jaGVja3Mgd2hldGhlciBAY3VyIGNvbnRhaW5zIEB2YWw8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBub2RlLXNldDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbm9kZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dHJ1ZSAoMSkgaWYgQGN1ciBjb250YWlucyBAdmFsLCBmYWxzZSAoMCkgb3RoZXJ3aXNlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sWFBhdGhOb2RlU2V0RGVsIiBpZD0ieG1sWFBhdGhOb2RlU2V0RGVsIj48L2E+RnVuY3Rpb246IHhtbFhQYXRoTm9kZVNldERlbDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sWFBhdGhOb2RlU2V0RGVsCQkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gY3VyLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IHZhbCk8YnIgLz4KKzwvcHJlPjxwPlJlbW92ZXMgYW4gPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBmcm9tIGFuIGV4aXN0aW5nIE5vZGVTZXQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBpbml0aWFsIG5vZGUgc2V0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxYUGF0aE5vZGVTZXRGcmVlTnMiIGlkPSJ4bWxYUGF0aE5vZGVTZXRGcmVlTnMiPjwvYT5GdW5jdGlvbjogeG1sWFBhdGhOb2RlU2V0RnJlZU5zPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxYUGF0aE5vZGVTZXRGcmVlTnMJCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5zUHRyIj54bWxOc1B0cjwvYT4gbnMpPGJyIC8+Cis8L3ByZT48cD5OYW1lc3BhY2Ugbm9kZXMgaW4gbGlieG1sIGRvbid0IG1hdGNoIHRoZSBYUGF0aCBzZW1hbnRpYy4gSW4gYSBub2RlIHNldCB0aGUgbmFtZXNwYWNlIG5vZGVzIGFyZSBkdXBsaWNhdGVkIGFuZCB0aGUgbmV4dCBwb2ludGVyIGlzIHNldCB0byB0aGUgcGFyZW50IG5vZGUgaW4gdGhlIFhQYXRoIHNlbWFudGljLiBDaGVjayBpZiBzdWNoIGEgbm9kZSBuZWVkcyB0byBiZSBmcmVlZDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggbmFtZXNwYWNlIG5vZGUgZm91bmQgaW4gYSBub2Rlc2V0LjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhQYXRoTm9kZVNldE1lcmdlIiBpZD0ieG1sWFBhdGhOb2RlU2V0TWVyZ2UiPjwvYT5GdW5jdGlvbjogeG1sWFBhdGhOb2RlU2V0TWVyZ2U8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPgl4bWxYUGF0aE5vZGVTZXRNZXJnZQkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gdmFsMSwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gdmFsMik8YnIgLz4KKzwvcHJlPjxwPk1lcmdlcyB0d28gbm9kZXNldHMsIGFsbCBub2RlcyBmcm9tIEB2YWwyIGFyZSBhZGRlZCB0byBAdmFsMSBpZiBAdmFsMSBpcyBOVUxMLCBhIG5ldyBzZXQgaXMgY3JlYXRlZCBhbmQgY29waWVkIGZyb20gQHZhbDI8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWwxPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZmlyc3QgTm9kZVNldCBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWwyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc2Vjb25kIE5vZGVTZXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPkB2YWwxIG9uY2UgZXh0ZW5kZWQgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhQYXRoTm9kZVNldFJlbW92ZSIgaWQ9InhtbFhQYXRoTm9kZVNldFJlbW92ZSI+PC9hPkZ1bmN0aW9uOiB4bWxYUGF0aE5vZGVTZXRSZW1vdmU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFhQYXRoTm9kZVNldFJlbW92ZQkJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IGN1ciwgPGJyIC8+CQkJCQkgaW50IHZhbCk8YnIgLz4KKzwvcHJlPjxwPlJlbW92ZXMgYW4gZW50cnkgZnJvbSBhbiBleGlzdGluZyBOb2RlU2V0IGxpc3QuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3VyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaW5pdGlhbCBub2RlIHNldDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaW5kZXggdG8gcmVtb3ZlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sWFBhdGhOb2RlU2V0U29ydCIgaWQ9InhtbFhQYXRoTm9kZVNldFNvcnQiPjwvYT5GdW5jdGlvbjogeG1sWFBhdGhOb2RlU2V0U29ydDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sWFBhdGhOb2RlU2V0U29ydAkJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IHNldCk8YnIgLz4KKzwvcHJlPjxwPlNvcnQgdGhlIG5vZGUgc2V0IGluIGRvY3VtZW50IG9yZGVyPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c2V0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbm9kZSBzZXQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxYUGF0aE5vZGVUcmFpbGluZyIgaWQ9InhtbFhQYXRoTm9kZVRyYWlsaW5nIj48L2E+RnVuY3Rpb246IHhtbFhQYXRoTm9kZVRyYWlsaW5nPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4JeG1sWFBhdGhOb2RlVHJhaWxpbmcJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IG5vZGVzLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG5vZGUpPGJyIC8+Cis8L3ByZT48cD5JbXBsZW1lbnRzIHRoZSBFWFNMVCAtIFNldHMgdHJhaWxpbmcoKSBmdW5jdGlvbjogbm9kZS1zZXQgc2V0OnRyYWlsaW5nIChub2RlLXNldCwgbm9kZS1zZXQpIEBub2RlcyBpcyBzb3J0ZWQgYnkgZG9jdW1lbnQgb3JkZXIsIHRoZW4gI3htbFhQYXRoTm9kZVRyYWlsaW5nU29ydGVkIGlzIGNhbGxlZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBub2RlLXNldDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbm9kZXMgaW4gQG5vZGVzIHRoYXQgZm9sbG93IEBub2RlIGluIGRvY3VtZW50IG9yZGVyLCBAbm9kZXMgaWYgQG5vZGUgaXMgTlVMTCBvciBhbiBlbXB0eSBub2RlLXNldCBpZiBAbm9kZXMgZG9lc24ndCBjb250YWluIEBub2RlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sWFBhdGhOb2RlVHJhaWxpbmdTb3J0ZWQiIGlkPSJ4bWxYUGF0aE5vZGVUcmFpbGluZ1NvcnRlZCI+PC9hPkZ1bmN0aW9uOiB4bWxYUGF0aE5vZGVUcmFpbGluZ1NvcnRlZDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+CXhtbFhQYXRoTm9kZVRyYWlsaW5nU29ydGVkCSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBub2RlcywgPGJyIC8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gbm9kZSk8YnIgLz4KKzwvcHJlPjxwPkltcGxlbWVudHMgdGhlIEVYU0xUIC0gU2V0cyB0cmFpbGluZygpIGZ1bmN0aW9uOiBub2RlLXNldCBzZXQ6dHJhaWxpbmcgKG5vZGUtc2V0LCBub2RlLXNldCk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBub2RlLXNldCwgc29ydGVkIGJ5IGRvY3VtZW50IG9yZGVyPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIG5vZGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBub2RlcyBpbiBAbm9kZXMgdGhhdCBmb2xsb3cgQG5vZGUgaW4gZG9jdW1lbnQgb3JkZXIsIEBub2RlcyBpZiBAbm9kZSBpcyBOVUxMIG9yIGFuIGVtcHR5IG5vZGUtc2V0IGlmIEBub2RlcyBkb2Vzbid0IGNvbnRhaW4gQG5vZGU8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxYUGF0aE5vcm1hbGl6ZUZ1bmN0aW9uIiBpZD0ieG1sWFBhdGhOb3JtYWxpemVGdW5jdGlvbiI+PC9hPkZ1bmN0aW9uOiB4bWxYUGF0aE5vcm1hbGl6ZUZ1bmN0aW9uPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxYUGF0aE5vcm1hbGl6ZUZ1bmN0aW9uCSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgaW50IG5hcmdzKTxiciAvPgorPC9wcmU+PHA+SW1wbGVtZW50IHRoZSBub3JtYWxpemUtc3BhY2UoKSBYUGF0aCBmdW5jdGlvbiBzdHJpbmcgbm9ybWFsaXplLXNwYWNlKHN0cmluZz8pIFRoZSBub3JtYWxpemUtc3BhY2UgZnVuY3Rpb24gcmV0dXJucyB0aGUgYXJndW1lbnQgc3RyaW5nIHdpdGggd2hpdGUgc3BhY2Ugbm9ybWFsaXplZCBieSBzdHJpcHBpbmcgbGVhZGluZyBhbmQgdHJhaWxpbmcgd2hpdGVzcGFjZSBhbmQgcmVwbGFjaW5nIHNlcXVlbmNlcyBvZiB3aGl0ZXNwYWNlIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNjaGFyYWN0ZXJzIj5jaGFyYWN0ZXJzPC9hPiBieSBhIHNpbmdsZSBzcGFjZS4gV2hpdGVzcGFjZSA8YSBocmVmPSJsaWJ4bWwtU0FYLmh0bWwjY2hhcmFjdGVycyI+Y2hhcmFjdGVyczwvYT4gYXJlIHRoZSBzYW1lIGFsbG93ZWQgYnkgdGhlIFMgcHJvZHVjdGlvbiBpbiBYTUwuIElmIHRoZSBhcmd1bWVudCBpcyBvbWl0dGVkLCBpdCBkZWZhdWx0cyB0byB0aGUgY29udGV4dCBub2RlIGNvbnZlcnRlZCB0byBhIHN0cmluZywgaW4gb3RoZXIgd29yZHMgdGhlIHZhbHVlIG9mIHRoZSBjb250ZXh0IG5vZGUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhQYXRoIFBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYXJnczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBhcmd1bWVudHM8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxYUGF0aE5vdEVxdWFsVmFsdWVzIiBpZD0ieG1sWFBhdGhOb3RFcXVhbFZhbHVlcyI+PC9hPkZ1bmN0aW9uOiB4bWxYUGF0aE5vdEVxdWFsVmFsdWVzPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50CXhtbFhQYXRoTm90RXF1YWxWYWx1ZXMJCSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCk8YnIgLz4KKzwvcHJlPjxwPkltcGxlbWVudCB0aGUgZXF1YWwgb3BlcmF0aW9uIG9uIFhQYXRoIG9iamVjdHMgY29udGVudDogQGFyZzEgPT0gQGFyZzI8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggUGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgb3IgMSBkZXBlbmRpbmcgb24gdGhlIHJlc3VsdHMgb2YgdGhlIHRlc3QuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sWFBhdGhOb3RGdW5jdGlvbiIgaWQ9InhtbFhQYXRoTm90RnVuY3Rpb24iPjwvYT5GdW5jdGlvbjogeG1sWFBhdGhOb3RGdW5jdGlvbjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sWFBhdGhOb3RGdW5jdGlvbgkJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSBpbnQgbmFyZ3MpPGJyIC8+Cis8L3ByZT48cD5JbXBsZW1lbnQgdGhlIG5vdCgpIFhQYXRoIGZ1bmN0aW9uIGJvb2xlYW4gbm90KGJvb2xlYW4pIFRoZSBub3QgZnVuY3Rpb24gcmV0dXJucyB0cnVlIGlmIGl0cyBhcmd1bWVudCBpcyBmYWxzZSwgYW5kIGZhbHNlIG90aGVyd2lzZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggUGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hcmdzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGFyZ3VtZW50czwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhQYXRoTnNMb29rdXAiIGlkPSJ4bWxYUGF0aE5zTG9va3VwIj48L2E+RnVuY3Rpb246IHhtbFhQYXRoTnNMb29rdXA8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5jb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxYUGF0aE5zTG9va3VwCSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHRQdHIiPnhtbFhQYXRoQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogcHJlZml4KTxiciAvPgorPC9wcmU+PHA+U2VhcmNoIGluIHRoZSBuYW1lc3BhY2UgZGVjbGFyYXRpb24gYXJyYXkgb2YgdGhlIGNvbnRleHQgZm9yIHRoZSBnaXZlbiBuYW1lc3BhY2UgbmFtZSBhc3NvY2lhdGVkIHRvIHRoZSBnaXZlbiBwcmVmaXg8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+cHJlZml4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZXNwYWNlIHByZWZpeCB2YWx1ZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHZhbHVlIG9yIE5VTEwgaWYgbm90IGZvdW5kPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sWFBhdGhOdW1iZXJGdW5jdGlvbiIgaWQ9InhtbFhQYXRoTnVtYmVyRnVuY3Rpb24iPjwvYT5GdW5jdGlvbjogeG1sWFBhdGhOdW1iZXJGdW5jdGlvbjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sWFBhdGhOdW1iZXJGdW5jdGlvbgkJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSBpbnQgbmFyZ3MpPGJyIC8+Cis8L3ByZT48cD5JbXBsZW1lbnQgdGhlIG51bWJlcigpIFhQYXRoIGZ1bmN0aW9uIG51bWJlciBudW1iZXIob2JqZWN0Pyk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggUGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hcmdzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGFyZ3VtZW50czwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhQYXRoUGFyc2VOQ05hbWUiIGlkPSJ4bWxYUGF0aFBhcnNlTkNOYW1lIj48L2E+RnVuY3Rpb246IHhtbFhQYXRoUGFyc2VOQ05hbWU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxYUGF0aFBhcnNlTkNOYW1lCSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCk8YnIgLz4KKzwvcHJlPjxwPnBhcnNlIGFuIFhNTCBuYW1lc3BhY2Ugbm9uIHF1YWxpZmllZCBuYW1lLiBbTlMgM10gTkNOYW1lIDo6PSAoTGV0dGVyIHwgJ18nKSAoTkNOYW1lQ2hhcikqIFtOUyA0XSBOQ05hbWVDaGFyIDo6PSBMZXR0ZXIgfCBEaWdpdCB8ICcuJyB8ICctJyB8ICdfJyB8IENvbWJpbmluZ0NoYXIgfCBFeHRlbmRlcjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYUGF0aCBQYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5hbWVzcGFjZSBuYW1lIG9yIE5VTEw8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxYUGF0aFBhcnNlTmFtZSIgaWQ9InhtbFhQYXRoUGFyc2VOYW1lIj48L2E+RnVuY3Rpb246IHhtbFhQYXRoUGFyc2VOYW1lPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICoJeG1sWFBhdGhQYXJzZU5hbWUJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0KTxiciAvPgorPC9wcmU+PHA+cGFyc2UgYW4gWE1MIG5hbWUgWzRdIE5hbWVDaGFyIDo6PSBMZXR0ZXIgfCBEaWdpdCB8ICcuJyB8ICctJyB8ICdfJyB8ICc6JyB8IENvbWJpbmluZ0NoYXIgfCBFeHRlbmRlciBbNV0gTmFtZSA6Oj0gKExldHRlciB8ICdfJyB8ICc6JykgKE5hbWVDaGFyKSo8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggUGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lc3BhY2UgbmFtZSBvciBOVUxMPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sWFBhdGhQb3BCb29sZWFuIiBpZD0ieG1sWFBhdGhQb3BCb29sZWFuIj48L2E+RnVuY3Rpb246IHhtbFhQYXRoUG9wQm9vbGVhbjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxYUGF0aFBvcEJvb2xlYW4JCSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCk8YnIgLz4KKzwvcHJlPjxwPlBvcHMgYSBib29sZWFuIGZyb20gdGhlIHN0YWNrLCBoYW5kbGluZyBjb252ZXJzaW9uIGlmIG5lZWRlZC4gQ2hlY2sgZXJyb3Igd2l0aCAjeG1sWFBhdGhDaGVja0Vycm9yLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhQYXRoIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYm9vbGVhbjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhQYXRoUG9wRXh0ZXJuYWwiIGlkPSJ4bWxYUGF0aFBvcEV4dGVybmFsIj48L2E+RnVuY3Rpb246IHhtbFhQYXRoUG9wRXh0ZXJuYWw8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkICoJeG1sWFBhdGhQb3BFeHRlcm5hbAkJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0KTxiciAvPgorPC9wcmU+PHA+UG9wcyBhbiBleHRlcm5hbCBvYmplY3QgZnJvbSB0aGUgc3RhY2ssIGhhbmRsaW5nIGNvbnZlcnNpb24gaWYgbmVlZGVkLiBDaGVjayBlcnJvciB3aXRoICN4bWxYUGF0aENoZWNrRXJyb3IuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YW4gWFBhdGggcGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBvYmplY3Q8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxYUGF0aFBvcE5vZGVTZXQiIGlkPSJ4bWxYUGF0aFBvcE5vZGVTZXQiPjwvYT5GdW5jdGlvbjogeG1sWFBhdGhQb3BOb2RlU2V0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4JeG1sWFBhdGhQb3BOb2RlU2V0CSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCk8YnIgLz4KKzwvcHJlPjxwPlBvcHMgYSBub2RlLXNldCBmcm9tIHRoZSBzdGFjaywgaGFuZGxpbmcgY29udmVyc2lvbiBpZiBuZWVkZWQuIENoZWNrIGVycm9yIHdpdGggI3htbFhQYXRoQ2hlY2tFcnJvci48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYUGF0aCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vZGUtc2V0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sWFBhdGhQb3BOdW1iZXIiIGlkPSJ4bWxYUGF0aFBvcE51bWJlciI+PC9hPkZ1bmN0aW9uOiB4bWxYUGF0aFBvcE51bWJlcjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmRvdWJsZQl4bWxYUGF0aFBvcE51bWJlcgkJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0KTxiciAvPgorPC9wcmU+PHA+UG9wcyBhIG51bWJlciBmcm9tIHRoZSBzdGFjaywgaGFuZGxpbmcgY29udmVyc2lvbiBpZiBuZWVkZWQuIENoZWNrIGVycm9yIHdpdGggI3htbFhQYXRoQ2hlY2tFcnJvci48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBYUGF0aCBwYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhQYXRoUG9wU3RyaW5nIiBpZD0ieG1sWFBhdGhQb3BTdHJpbmciPjwvYT5GdW5jdGlvbjogeG1sWFBhdGhQb3BTdHJpbmc8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKgl4bWxYUGF0aFBvcFN0cmluZwkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQpPGJyIC8+Cis8L3ByZT48cD5Qb3BzIGEgc3RyaW5nIGZyb20gdGhlIHN0YWNrLCBoYW5kbGluZyBjb252ZXJzaW9uIGlmIG5lZWRlZC4gQ2hlY2sgZXJyb3Igd2l0aCAjeG1sWFBhdGhDaGVja0Vycm9yLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmFuIFhQYXRoIHBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc3RyaW5nPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sWFBhdGhQb3NpdGlvbkZ1bmN0aW9uIiBpZD0ieG1sWFBhdGhQb3NpdGlvbkZ1bmN0aW9uIj48L2E+RnVuY3Rpb246IHhtbFhQYXRoUG9zaXRpb25GdW5jdGlvbjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sWFBhdGhQb3NpdGlvbkZ1bmN0aW9uCSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgaW50IG5hcmdzKTxiciAvPgorPC9wcmU+PHA+SW1wbGVtZW50IHRoZSBwb3NpdGlvbigpIFhQYXRoIGZ1bmN0aW9uIG51bWJlciBwb3NpdGlvbigpIFRoZSBwb3NpdGlvbiBmdW5jdGlvbiByZXR1cm5zIHRoZSBwb3NpdGlvbiBvZiB0aGUgY29udGV4dCBub2RlIGluIHRoZSBjb250ZXh0IG5vZGUgbGlzdC4gVGhlIGZpcnN0IHBvc2l0aW9uIGlzIDEsIGFuZCBzbyB0aGUgbGFzdCBwb3NpdGlvbiB3aWxsIGJlIGVxdWFsIHRvIGxhc3QoKS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggUGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hcmdzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGFyZ3VtZW50czwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhQYXRoUmVnaXN0ZXJBbGxGdW5jdGlvbnMiIGlkPSJ4bWxYUGF0aFJlZ2lzdGVyQWxsRnVuY3Rpb25zIj48L2E+RnVuY3Rpb246IHhtbFhQYXRoUmVnaXN0ZXJBbGxGdW5jdGlvbnM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFhQYXRoUmVnaXN0ZXJBbGxGdW5jdGlvbnMJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFB0ciI+eG1sWFBhdGhDb250ZXh0UHRyPC9hPiBjdHh0KTxiciAvPgorPC9wcmU+PHA+UmVnaXN0ZXJzIGFsbCBkZWZhdWx0IFhQYXRoIGZ1bmN0aW9ucyBpbiB0aGlzIGNvbnRleHQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggY29udGV4dDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhQYXRoUmVnaXN0ZXJGdW5jIiBpZD0ieG1sWFBhdGhSZWdpc3RlckZ1bmMiPjwvYT5GdW5jdGlvbjogeG1sWFBhdGhSZWdpc3RlckZ1bmM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sWFBhdGhSZWdpc3RlckZ1bmMJCSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHRQdHIiPnhtbFhQYXRoQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhGdW5jdGlvbiI+eG1sWFBhdGhGdW5jdGlvbjwvYT4gZik8YnIgLz4KKzwvcHJlPjxwPlJlZ2lzdGVyIGEgbmV3IGZ1bmN0aW9uLiBJZiBAZiBpcyBOVUxMIGl0IHVucmVnaXN0ZXJzIHRoZSBmdW5jdGlvbjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYUGF0aCBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZnVuY3Rpb24gbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZ1bmN0aW9uIGltcGxlbWVudGF0aW9uIG9yIE5VTEw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaW4gY2FzZSBvZiBzdWNjZXNzLCAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sWFBhdGhSZWdpc3RlckZ1bmNMb29rdXAiIGlkPSJ4bWxYUGF0aFJlZ2lzdGVyRnVuY0xvb2t1cCI+PC9hPkZ1bmN0aW9uOiB4bWxYUGF0aFJlZ2lzdGVyRnVuY0xvb2t1cDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sWFBhdGhSZWdpc3RlckZ1bmNMb29rdXAJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFB0ciI+eG1sWFBhdGhDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aEZ1bmNMb29rdXBGdW5jIj54bWxYUGF0aEZ1bmNMb29rdXBGdW5jPC9hPiBmLCA8YnIgLz4JCQkJCSB2b2lkICogZnVuY0N0eHQpPGJyIC8+Cis8L3ByZT48cD5SZWdpc3RlcnMgYW4gZXh0ZXJuYWwgbWVjaGFuaXNtIHRvIGRvIGZ1bmN0aW9uIGxvb2t1cC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGxvb2t1cCBmdW5jdGlvbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZnVuY0N0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsb29rdXAgZGF0YTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhQYXRoUmVnaXN0ZXJGdW5jTlMiIGlkPSJ4bWxYUGF0aFJlZ2lzdGVyRnVuY05TIj48L2E+RnVuY3Rpb246IHhtbFhQYXRoUmVnaXN0ZXJGdW5jTlM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sWFBhdGhSZWdpc3RlckZ1bmNOUwkJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFB0ciI+eG1sWFBhdGhDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuc191cmksIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoRnVuY3Rpb24iPnhtbFhQYXRoRnVuY3Rpb248L2E+IGYpPGJyIC8+Cis8L3ByZT48cD5SZWdpc3RlciBhIG5ldyBmdW5jdGlvbi4gSWYgQGYgaXMgTlVMTCBpdCB1bnJlZ2lzdGVycyB0aGUgZnVuY3Rpb248L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFtZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZ1bmN0aW9uIG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5zX3VyaTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZ1bmN0aW9uIG5hbWVzcGFjZSBVUkk8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmdW5jdGlvbiBpbXBsZW1lbnRhdGlvbiBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGluIGNhc2Ugb2Ygc3VjY2VzcywgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhQYXRoUmVnaXN0ZXJOcyIgaWQ9InhtbFhQYXRoUmVnaXN0ZXJOcyI+PC9hPkZ1bmN0aW9uOiB4bWxYUGF0aFJlZ2lzdGVyTnM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sWFBhdGhSZWdpc3Rlck5zCQkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0UHRyIj54bWxYUGF0aENvbnRleHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIGNvbnN0IDxhIGhyZWY9ImxpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqIHByZWZpeCwgPGJyIC8+CQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbnNfdXJpKTxiciAvPgorPC9wcmU+PHA+UmVnaXN0ZXIgYSBuZXcgbmFtZXNwYWNlLiBJZiBAbnNfdXJpIGlzIE5VTEwgaXQgdW5yZWdpc3RlcnMgdGhlIG5hbWVzcGFjZTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYUGF0aCBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wcmVmaXg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuYW1lc3BhY2UgcHJlZml4IGNhbm5vdCBiZSBOVUxMIG9yIGVtcHR5IHN0cmluZzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bnNfdXJpPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmFtZXNwYWNlIG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaW4gY2FzZSBvZiBzdWNjZXNzLCAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlIiBpZD0ieG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlIj48L2E+RnVuY3Rpb246IHhtbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludAl4bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGUJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFB0ciI+eG1sWFBhdGhDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IHZhbHVlKTxiciAvPgorPC9wcmU+PHA+UmVnaXN0ZXIgYSBuZXcgdmFyaWFibGUgdmFsdWUuIElmIEB2YWx1ZSBpcyBOVUxMIGl0IHVucmVnaXN0ZXJzIHRoZSB2YXJpYWJsZTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYUGF0aCBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdmFyaWFibGUgbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsdWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB2YXJpYWJsZSB2YWx1ZSBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD4wIGluIGNhc2Ugb2Ygc3VjY2VzcywgLTEgaW4gY2FzZSBvZiBlcnJvcjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZUxvb2t1cCIgaWQ9InhtbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZUxvb2t1cCI+PC9hPkZ1bmN0aW9uOiB4bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGVMb29rdXA8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZUxvb2t1cAkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0UHRyIj54bWxYUGF0aENvbnRleHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoVmFyaWFibGVMb29rdXBGdW5jIj54bWxYUGF0aFZhcmlhYmxlTG9va3VwRnVuYzwvYT4gZiwgPGJyIC8+CQkJCQkgdm9pZCAqIGRhdGEpPGJyIC8+Cis8L3ByZT48cD5yZWdpc3RlciBhbiBleHRlcm5hbCBtZWNoYW5pc20gdG8gZG8gdmFyaWFibGUgbG9va3VwPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhQYXRoIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmY8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsb29rdXAgZnVuY3Rpb248L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRhdGE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsb29rdXAgZGF0YTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZU5TIiBpZD0ieG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlTlMiPjwvYT5GdW5jdGlvbjogeG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlTlM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5pbnQJeG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlTlMJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFB0ciI+eG1sWFBhdGhDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lLCA8YnIgLz4JCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuc191cmksIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4gdmFsdWUpPGJyIC8+Cis8L3ByZT48cD5SZWdpc3RlciBhIG5ldyB2YXJpYWJsZSB2YWx1ZS4gSWYgQHZhbHVlIGlzIE5VTEwgaXQgdW5yZWdpc3RlcnMgdGhlIHZhcmlhYmxlPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhQYXRoIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB2YXJpYWJsZSBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uc191cmk8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB2YXJpYWJsZSBuYW1lc3BhY2UgVVJJPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWx1ZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHZhcmlhYmxlIHZhbHVlIG9yIE5VTEw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPjAgaW4gY2FzZSBvZiBzdWNjZXNzLCAtMSBpbiBjYXNlIG9mIGVycm9yPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sWFBhdGhSZWdpc3RlcmVkRnVuY3NDbGVhbnVwIiBpZD0ieG1sWFBhdGhSZWdpc3RlcmVkRnVuY3NDbGVhbnVwIj48L2E+RnVuY3Rpb246IHhtbFhQYXRoUmVnaXN0ZXJlZEZ1bmNzQ2xlYW51cDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sWFBhdGhSZWdpc3RlcmVkRnVuY3NDbGVhbnVwCSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHRQdHIiPnhtbFhQYXRoQ29udGV4dFB0cjwvYT4gY3R4dCk8YnIgLz4KKzwvcHJlPjxwPkNsZWFudXAgdGhlIFhQYXRoIGNvbnRleHQgZGF0YSBhc3NvY2lhdGVkIHRvIHJlZ2lzdGVyZWQgZnVuY3Rpb25zPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhQYXRoIGNvbnRleHQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxYUGF0aFJlZ2lzdGVyZWROc0NsZWFudXAiIGlkPSJ4bWxYUGF0aFJlZ2lzdGVyZWROc0NsZWFudXAiPjwvYT5GdW5jdGlvbjogeG1sWFBhdGhSZWdpc3RlcmVkTnNDbGVhbnVwPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxYUGF0aFJlZ2lzdGVyZWROc0NsZWFudXAJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFB0ciI+eG1sWFBhdGhDb250ZXh0UHRyPC9hPiBjdHh0KTxiciAvPgorPC9wcmU+PHA+Q2xlYW51cCB0aGUgWFBhdGggY29udGV4dCBkYXRhIGFzc29jaWF0ZWQgdG8gcmVnaXN0ZXJlZCB2YXJpYWJsZXM8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggY29udGV4dDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhQYXRoUmVnaXN0ZXJlZFZhcmlhYmxlc0NsZWFudXAiIGlkPSJ4bWxYUGF0aFJlZ2lzdGVyZWRWYXJpYWJsZXNDbGVhbnVwIj48L2E+RnVuY3Rpb246IHhtbFhQYXRoUmVnaXN0ZXJlZFZhcmlhYmxlc0NsZWFudXA8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFhQYXRoUmVnaXN0ZXJlZFZhcmlhYmxlc0NsZWFudXAJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFB0ciI+eG1sWFBhdGhDb250ZXh0UHRyPC9hPiBjdHh0KTxiciAvPgorPC9wcmU+PHA+Q2xlYW51cCB0aGUgWFBhdGggY29udGV4dCBkYXRhIGFzc29jaWF0ZWQgdG8gcmVnaXN0ZXJlZCB2YXJpYWJsZXM8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggY29udGV4dDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhQYXRoUm9vdCIgaWQ9InhtbFhQYXRoUm9vdCI+PC9hPkZ1bmN0aW9uOiB4bWxYUGF0aFJvb3Q8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFhQYXRoUm9vdAkJCSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCk8YnIgLz4KKzwvcHJlPjxwPkluaXRpYWxpemUgdGhlIGNvbnRleHQgdG8gdGhlIHJvb3Qgb2YgdGhlIGRvY3VtZW50PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhQYXRoIFBhcnNlciBjb250ZXh0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sWFBhdGhSb3VuZEZ1bmN0aW9uIiBpZD0ieG1sWFBhdGhSb3VuZEZ1bmN0aW9uIj48L2E+RnVuY3Rpb246IHhtbFhQYXRoUm91bmRGdW5jdGlvbjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sWFBhdGhSb3VuZEZ1bmN0aW9uCQkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIGludCBuYXJncyk8YnIgLz4KKzwvcHJlPjxwPkltcGxlbWVudCB0aGUgcm91bmQoKSBYUGF0aCBmdW5jdGlvbiBudW1iZXIgcm91bmQobnVtYmVyKSBUaGUgcm91bmQgZnVuY3Rpb24gcmV0dXJucyB0aGUgbnVtYmVyIHRoYXQgaXMgY2xvc2VzdCB0byB0aGUgYXJndW1lbnQgYW5kIHRoYXQgaXMgYW4gaW50ZWdlci4gSWYgdGhlcmUgYXJlIHR3byBzdWNoIG51bWJlcnMsIHRoZW4gdGhlIG9uZSB0aGF0IGlzIGV2ZW4gaXMgcmV0dXJuZWQuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhQYXRoIFBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYXJnczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBhcmd1bWVudHM8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxYUGF0aFN0YXJ0c1dpdGhGdW5jdGlvbiIgaWQ9InhtbFhQYXRoU3RhcnRzV2l0aEZ1bmN0aW9uIj48L2E+RnVuY3Rpb246IHhtbFhQYXRoU3RhcnRzV2l0aEZ1bmN0aW9uPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxYUGF0aFN0YXJ0c1dpdGhGdW5jdGlvbgkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIGludCBuYXJncyk8YnIgLz4KKzwvcHJlPjxwPkltcGxlbWVudCB0aGUgc3RhcnRzLXdpdGgoKSBYUGF0aCBmdW5jdGlvbiBib29sZWFuIHN0YXJ0cy13aXRoKHN0cmluZywgc3RyaW5nKSBUaGUgc3RhcnRzLXdpdGggZnVuY3Rpb24gcmV0dXJucyB0cnVlIGlmIHRoZSBmaXJzdCBhcmd1bWVudCBzdHJpbmcgc3RhcnRzIHdpdGggdGhlIHNlY29uZCBhcmd1bWVudCBzdHJpbmcsIGFuZCBvdGhlcndpc2UgcmV0dXJucyBmYWxzZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggUGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hcmdzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGFyZ3VtZW50czwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhQYXRoU3RyaW5nRXZhbE51bWJlciIgaWQ9InhtbFhQYXRoU3RyaW5nRXZhbE51bWJlciI+PC9hPkZ1bmN0aW9uOiB4bWxYUGF0aFN0cmluZ0V2YWxOdW1iZXI8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5kb3VibGUJeG1sWFBhdGhTdHJpbmdFdmFsTnVtYmVyCShjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzdHIpPGJyIC8+Cis8L3ByZT48cD5bMzBhXSBGbG9hdCA6Oj0gTnVtYmVyICgnZScgRGlnaXRzPyk/IFszMF0gTnVtYmVyIDo6PSBEaWdpdHMgKCcuJyBEaWdpdHM/KT8gfCAnLicgRGlnaXRzIFszMV0gRGlnaXRzIDo6PSBbMC05XSsgQ29tcGlsZSBhIE51bWJlciBpbiB0aGUgc3RyaW5nIEluIGNvbXBsZW1lbnQgb2YgdGhlIE51bWJlciBleHByZXNzaW9uLCB0aGlzIGZ1bmN0aW9uIGFsc28gaGFuZGxlcyBuZWdhdGl2ZSB2YWx1ZXMgOiAnLScgTnVtYmVyLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0cjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+QSBzdHJpbmcgdG8gc2NhbjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGRvdWJsZSB2YWx1ZS48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxYUGF0aFN0cmluZ0Z1bmN0aW9uIiBpZD0ieG1sWFBhdGhTdHJpbmdGdW5jdGlvbiI+PC9hPkZ1bmN0aW9uOiB4bWxYUGF0aFN0cmluZ0Z1bmN0aW9uPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxYUGF0aFN0cmluZ0Z1bmN0aW9uCQkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIGludCBuYXJncyk8YnIgLz4KKzwvcHJlPjxwPkltcGxlbWVudCB0aGUgc3RyaW5nKCkgWFBhdGggZnVuY3Rpb24gc3RyaW5nIHN0cmluZyhvYmplY3Q/KSBUaGUgc3RyaW5nIGZ1bmN0aW9uIGNvbnZlcnRzIGFuIG9iamVjdCB0byBhIHN0cmluZyBhcyBmb2xsb3dzOiAtIEEgbm9kZS1zZXQgaXMgY29udmVydGVkIHRvIGEgc3RyaW5nIGJ5IHJldHVybmluZyB0aGUgdmFsdWUgb2YgdGhlIG5vZGUgaW4gdGhlIG5vZGUtc2V0IHRoYXQgaXMgZmlyc3QgaW4gZG9jdW1lbnQgb3JkZXIuIElmIHRoZSBub2RlLXNldCBpcyBlbXB0eSwgYW4gZW1wdHkgc3RyaW5nIGlzIHJldHVybmVkLiAtIEEgbnVtYmVyIGlzIGNvbnZlcnRlZCB0byBhIHN0cmluZyBhcyBmb2xsb3dzICsgTmFOIGlzIGNvbnZlcnRlZCB0byB0aGUgc3RyaW5nIE5hTiArIHBvc2l0aXZlIHplcm8gaXMgY29udmVydGVkIHRvIHRoZSBzdHJpbmcgMCArIG5lZ2F0aXZlIHplcm8gaXMgY29udmVydGVkIHRvIHRoZSBzdHJpbmcgMCArIHBvc2l0aXZlIGluZmluaXR5IGlzIGNvbnZlcnRlZCB0byB0aGUgc3RyaW5nIEluZmluaXR5ICsgbmVnYXRpdmUgaW5maW5pdHkgaXMgY29udmVydGVkIHRvIHRoZSBzdHJpbmcgLUluZmluaXR5ICsgaWYgdGhlIG51bWJlciBpcyBhbiBpbnRlZ2VyLCB0aGUgbnVtYmVyIGlzIHJlcHJlc2VudGVkIGluIGRlY2ltYWwgZm9ybSBhcyBhIE51bWJlciB3aXRoIG5vIGRlY2ltYWwgcG9pbnQgYW5kIG5vIGxlYWRpbmcgemVyb3MsIHByZWNlZGVkIGJ5IGEgbWludXMgc2lnbiAoLSkgaWYgdGhlIG51bWJlciBpcyBuZWdhdGl2ZSArIG90aGVyd2lzZSwgdGhlIG51bWJlciBpcyByZXByZXNlbnRlZCBpbiBkZWNpbWFsIGZvcm0gYXMgYSBOdW1iZXIgaW5jbHVkaW5nIGEgZGVjaW1hbCBwb2ludCB3aXRoIGF0IGxlYXN0IG9uZSBkaWdpdCBiZWZvcmUgdGhlIGRlY2ltYWwgcG9pbnQgYW5kIGF0IGxlYXN0IG9uZSBkaWdpdCBhZnRlciB0aGUgZGVjaW1hbCBwb2ludCwgcHJlY2VkZWQgYnkgYSBtaW51cyBzaWduICgtKSBpZiB0aGUgbnVtYmVyIGlzIG5lZ2F0aXZlOyB0aGVyZSBtdXN0IGJlIG5vIGxlYWRpbmcgemVyb3MgYmVmb3JlIHRoZSBkZWNpbWFsIHBvaW50IGFwYXJ0IHBvc3NpYmx5IGZyb20gdGhlIG9uZSByZXF1aXJlZCBkaWdpdCBpbW1lZGlhdGVseSBiZWZvcmUgdGhlIGRlY2ltYWwgcG9pbnQ7IGJleW9uZCB0aGUgb25lIHJlcXVpcmVkIGRpZ2l0IGFmdGVyIHRoZSBkZWNpbWFsIHBvaW50IHRoZXJlIG11c3QgYmUgYXMgbWFueSwgYnV0IG9ubHkgYXMgbWFueSwgbW9yZSBkaWdpdHMgYXMgYXJlIG5lZWRlZCB0byB1bmlxdWVseSBkaXN0aW5ndWlzaCB0aGUgbnVtYmVyIGZyb20gYWxsIG90aGVyIElFRUUgNzU0IG51bWVyaWMgdmFsdWVzLiAtIFRoZSBib29sZWFuIGZhbHNlIHZhbHVlIGlzIGNvbnZlcnRlZCB0byB0aGUgc3RyaW5nIGZhbHNlLiBUaGUgYm9vbGVhbiB0cnVlIHZhbHVlIGlzIGNvbnZlcnRlZCB0byB0aGUgc3RyaW5nIHRydWUuIElmIHRoZSBhcmd1bWVudCBpcyBvbWl0dGVkLCBpdCBkZWZhdWx0cyB0byBhIG5vZGUtc2V0IHdpdGggdGhlIGNvbnRleHQgbm9kZSBhcyBpdHMgb25seSBtZW1iZXIuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhQYXRoIFBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYXJnczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBhcmd1bWVudHM8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxYUGF0aFN0cmluZ0xlbmd0aEZ1bmN0aW9uIiBpZD0ieG1sWFBhdGhTdHJpbmdMZW5ndGhGdW5jdGlvbiI+PC9hPkZ1bmN0aW9uOiB4bWxYUGF0aFN0cmluZ0xlbmd0aEZ1bmN0aW9uPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxYUGF0aFN0cmluZ0xlbmd0aEZ1bmN0aW9uCSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgaW50IG5hcmdzKTxiciAvPgorPC9wcmU+PHA+SW1wbGVtZW50IHRoZSBzdHJpbmctbGVuZ3RoKCkgWFBhdGggZnVuY3Rpb24gbnVtYmVyIHN0cmluZy1sZW5ndGgoc3RyaW5nPykgVGhlIHN0cmluZy1sZW5ndGggcmV0dXJucyB0aGUgbnVtYmVyIG9mIDxhIGhyZWY9ImxpYnhtbC1TQVguaHRtbCNjaGFyYWN0ZXJzIj5jaGFyYWN0ZXJzPC9hPiBpbiB0aGUgc3RyaW5nIChzZWUgWzMuNiBTdHJpbmdzXSkuIElmIHRoZSBhcmd1bWVudCBpcyBvbWl0dGVkLCBpdCBkZWZhdWx0cyB0byB0aGUgY29udGV4dCBub2RlIGNvbnZlcnRlZCB0byBhIHN0cmluZywgaW4gb3RoZXIgd29yZHMgdGhlIHZhbHVlIG9mIHRoZSBjb250ZXh0IG5vZGUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhQYXRoIFBhcnNlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYXJnczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG51bWJlciBvZiBhcmd1bWVudHM8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxYUGF0aFN1YlZhbHVlcyIgaWQ9InhtbFhQYXRoU3ViVmFsdWVzIj48L2E+RnVuY3Rpb246IHhtbFhQYXRoU3ViVmFsdWVzPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxYUGF0aFN1YlZhbHVlcwkJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0KTxiciAvPgorPC9wcmU+PHA+SW1wbGVtZW50IHRoZSBzdWJ0cmFjdGlvbiBvcGVyYXRpb24gb24gWFBhdGggb2JqZWN0czogVGhlIG51bWVyaWMgb3BlcmF0b3JzIGNvbnZlcnQgdGhlaXIgb3BlcmFuZHMgdG8gbnVtYmVycyBhcyBpZiBieSBjYWxsaW5nIHRoZSBudW1iZXIgZnVuY3Rpb24uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhQYXRoIFBhcnNlciBjb250ZXh0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sWFBhdGhTdWJzdHJpbmdBZnRlckZ1bmN0aW9uIiBpZD0ieG1sWFBhdGhTdWJzdHJpbmdBZnRlckZ1bmN0aW9uIj48L2E+RnVuY3Rpb246IHhtbFhQYXRoU3Vic3RyaW5nQWZ0ZXJGdW5jdGlvbjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sWFBhdGhTdWJzdHJpbmdBZnRlckZ1bmN0aW9uCSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgaW50IG5hcmdzKTxiciAvPgorPC9wcmU+PHA+SW1wbGVtZW50IHRoZSBzdWJzdHJpbmctYWZ0ZXIoKSBYUGF0aCBmdW5jdGlvbiBzdHJpbmcgc3Vic3RyaW5nLWFmdGVyKHN0cmluZywgc3RyaW5nKSBUaGUgc3Vic3RyaW5nLWFmdGVyIGZ1bmN0aW9uIHJldHVybnMgdGhlIHN1YnN0cmluZyBvZiB0aGUgZmlyc3QgYXJndW1lbnQgc3RyaW5nIHRoYXQgZm9sbG93cyB0aGUgZmlyc3Qgb2NjdXJyZW5jZSBvZiB0aGUgc2Vjb25kIGFyZ3VtZW50IHN0cmluZyBpbiB0aGUgZmlyc3QgYXJndW1lbnQgc3RyaW5nLCBvciB0aGUgZW1wdHkgc3RyaW5naSBpZiB0aGUgZmlyc3QgYXJndW1lbnQgc3RyaW5nIGRvZXMgbm90IGNvbnRhaW4gdGhlIHNlY29uZCBhcmd1bWVudCBzdHJpbmcuIEZvciBleGFtcGxlLCBzdWJzdHJpbmctYWZ0ZXIoIjE5OTkvMDQvMDEiLCIvIikgcmV0dXJucyAwNC8wMSwgYW5kIHN1YnN0cmluZy1hZnRlcigiMTk5OS8wNC8wMSIsIjE5IikgcmV0dXJucyA5OS8wNC8wMS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggUGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hcmdzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGFyZ3VtZW50czwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhQYXRoU3Vic3RyaW5nQmVmb3JlRnVuY3Rpb24iIGlkPSJ4bWxYUGF0aFN1YnN0cmluZ0JlZm9yZUZ1bmN0aW9uIj48L2E+RnVuY3Rpb246IHhtbFhQYXRoU3Vic3RyaW5nQmVmb3JlRnVuY3Rpb248L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFhQYXRoU3Vic3RyaW5nQmVmb3JlRnVuY3Rpb24JKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSBpbnQgbmFyZ3MpPGJyIC8+Cis8L3ByZT48cD5JbXBsZW1lbnQgdGhlIHN1YnN0cmluZy1iZWZvcmUoKSBYUGF0aCBmdW5jdGlvbiBzdHJpbmcgc3Vic3RyaW5nLWJlZm9yZShzdHJpbmcsIHN0cmluZykgVGhlIHN1YnN0cmluZy1iZWZvcmUgZnVuY3Rpb24gcmV0dXJucyB0aGUgc3Vic3RyaW5nIG9mIHRoZSBmaXJzdCBhcmd1bWVudCBzdHJpbmcgdGhhdCBwcmVjZWRlcyB0aGUgZmlyc3Qgb2NjdXJyZW5jZSBvZiB0aGUgc2Vjb25kIGFyZ3VtZW50IHN0cmluZyBpbiB0aGUgZmlyc3QgYXJndW1lbnQgc3RyaW5nLCBvciB0aGUgZW1wdHkgc3RyaW5nIGlmIHRoZSBmaXJzdCBhcmd1bWVudCBzdHJpbmcgZG9lcyBub3QgY29udGFpbiB0aGUgc2Vjb25kIGFyZ3VtZW50IHN0cmluZy4gRm9yIGV4YW1wbGUsIHN1YnN0cmluZy1iZWZvcmUoIjE5OTkvMDQvMDEiLCIvIikgcmV0dXJucyAxOTk5LjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYUGF0aCBQYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFyZ3M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgYXJndW1lbnRzPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sWFBhdGhTdWJzdHJpbmdGdW5jdGlvbiIgaWQ9InhtbFhQYXRoU3Vic3RyaW5nRnVuY3Rpb24iPjwvYT5GdW5jdGlvbjogeG1sWFBhdGhTdWJzdHJpbmdGdW5jdGlvbjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sWFBhdGhTdWJzdHJpbmdGdW5jdGlvbgkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIGludCBuYXJncyk8YnIgLz4KKzwvcHJlPjxwPkltcGxlbWVudCB0aGUgc3Vic3RyaW5nKCkgWFBhdGggZnVuY3Rpb24gc3RyaW5nIHN1YnN0cmluZyhzdHJpbmcsIG51bWJlciwgbnVtYmVyPykgVGhlIHN1YnN0cmluZyBmdW5jdGlvbiByZXR1cm5zIHRoZSBzdWJzdHJpbmcgb2YgdGhlIGZpcnN0IGFyZ3VtZW50IHN0YXJ0aW5nIGF0IHRoZSBwb3NpdGlvbiBzcGVjaWZpZWQgaW4gdGhlIHNlY29uZCBhcmd1bWVudCB3aXRoIGxlbmd0aCBzcGVjaWZpZWQgaW4gdGhlIHRoaXJkIGFyZ3VtZW50LiBGb3IgZXhhbXBsZSwgc3Vic3RyaW5nKCIxMjM0NSIsMiwzKSByZXR1cm5zICIyMzQiLiBJZiB0aGUgdGhpcmQgYXJndW1lbnQgaXMgbm90IHNwZWNpZmllZCwgaXQgcmV0dXJucyB0aGUgc3Vic3RyaW5nIHN0YXJ0aW5nIGF0IHRoZSBwb3NpdGlvbiBzcGVjaWZpZWQgaW4gdGhlIHNlY29uZCBhcmd1bWVudCBhbmQgY29udGludWluZyB0byB0aGUgZW5kIG9mIHRoZSBzdHJpbmcuIEZvciBleGFtcGxlLCBzdWJzdHJpbmcoIjEyMzQ1IiwyKSByZXR1cm5zICIyMzQ1Ii4gTW9yZSBwcmVjaXNlbHksIGVhY2ggY2hhcmFjdGVyIGluIHRoZSBzdHJpbmcgKHNlZSBbMy42IFN0cmluZ3NdKSBpcyBjb25zaWRlcmVkIHRvIGhhdmUgYSBudW1lcmljIHBvc2l0aW9uOiB0aGUgcG9zaXRpb24gb2YgdGhlIGZpcnN0IGNoYXJhY3RlciBpcyAxLCB0aGUgcG9zaXRpb24gb2YgdGhlIHNlY29uZCBjaGFyYWN0ZXIgaXMgMiBhbmQgc28gb24uIFRoZSByZXR1cm5lZCBzdWJzdHJpbmcgY29udGFpbnMgdGhvc2UgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2NoYXJhY3RlcnMiPmNoYXJhY3RlcnM8L2E+IGZvciB3aGljaCB0aGUgcG9zaXRpb24gb2YgdGhlIGNoYXJhY3RlciBpcyBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gdGhlIHNlY29uZCBhcmd1bWVudCBhbmQsIGlmIHRoZSB0aGlyZCBhcmd1bWVudCBpcyBzcGVjaWZpZWQsIGxlc3MgdGhhbiB0aGUgc3VtIG9mIHRoZSBzZWNvbmQgYW5kIHRoaXJkIGFyZ3VtZW50czsgdGhlIGNvbXBhcmlzb25zIGFuZCBhZGRpdGlvbiB1c2VkIGZvciB0aGUgYWJvdmUgZm9sbG93IHRoZSBzdGFuZGFyZCBJRUVFIDc1NCBydWxlcy4gVGh1czogLSBzdWJzdHJpbmcoIjEyMzQ1IiwgMS41LCAyLjYpIHJldHVybnMgIjIzNCIgLSBzdWJzdHJpbmcoIjEyMzQ1IiwgMCwgMykgcmV0dXJucyAiMTIiIC0gc3Vic3RyaW5nKCIxMjM0NSIsIDAgZGl2IDAsIDMpIHJldHVybnMgIiIgLSBzdWJzdHJpbmcoIjEyMzQ1IiwgMSwgMCBkaXYgMCkgcmV0dXJucyAiIiAtIHN1YnN0cmluZygiMTIzNDUiLCAtNDIsIDEgZGl2IDApIHJldHVybnMgIjEyMzQ1IiAtIHN1YnN0cmluZygiMTIzNDUiLCAtMSBkaXYgMCwgMSBkaXYgMCkgcmV0dXJucyAiIjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYUGF0aCBQYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFyZ3M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgYXJndW1lbnRzPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sWFBhdGhTdW1GdW5jdGlvbiIgaWQ9InhtbFhQYXRoU3VtRnVuY3Rpb24iPjwvYT5GdW5jdGlvbjogeG1sWFBhdGhTdW1GdW5jdGlvbjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sWFBhdGhTdW1GdW5jdGlvbgkJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSBpbnQgbmFyZ3MpPGJyIC8+Cis8L3ByZT48cD5JbXBsZW1lbnQgdGhlIHN1bSgpIFhQYXRoIGZ1bmN0aW9uIG51bWJlciBzdW0obm9kZS1zZXQpIFRoZSBzdW0gZnVuY3Rpb24gcmV0dXJucyB0aGUgc3VtIG9mIHRoZSB2YWx1ZXMgb2YgdGhlIG5vZGVzIGluIHRoZSBhcmd1bWVudCBub2RlLXNldC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggUGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hcmdzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGFyZ3VtZW50czwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhQYXRoVHJhaWxpbmciIGlkPSJ4bWxYUGF0aFRyYWlsaW5nIj48L2E+RnVuY3Rpb246IHhtbFhQYXRoVHJhaWxpbmc8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPgl4bWxYUGF0aFRyYWlsaW5nCSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBub2RlczEsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IG5vZGVzMik8YnIgLz4KKzwvcHJlPjxwPkltcGxlbWVudHMgdGhlIEVYU0xUIC0gU2V0cyB0cmFpbGluZygpIGZ1bmN0aW9uOiBub2RlLXNldCBzZXQ6dHJhaWxpbmcgKG5vZGUtc2V0LCBub2RlLXNldCkgQG5vZGVzMSBhbmQgQG5vZGVzMiBhcmUgc29ydGVkIGJ5IGRvY3VtZW50IG9yZGVyLCB0aGVuICN4bWxYUGF0aFRyYWlsaW5nU29ydGVkIGlzIGNhbGxlZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlczE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbm9kZS1zZXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5vZGVzMjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBub2RlLXNldDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vZGVzIGluIEBub2RlczEgdGhhdCBmb2xsb3cgdGhlIGZpcnN0IG5vZGUgaW4gQG5vZGVzMiBpbiBkb2N1bWVudCBvcmRlciwgQG5vZGVzMSBpZiBAbm9kZXMyIGlzIE5VTEwgb3IgZW1wdHkgb3IgYW4gZW1wdHkgbm9kZS1zZXQgaWYgQG5vZGVzMSBkb2Vzbid0IGNvbnRhaW4gQG5vZGVzMjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhQYXRoVHJhaWxpbmdTb3J0ZWQiIGlkPSJ4bWxYUGF0aFRyYWlsaW5nU29ydGVkIj48L2E+RnVuY3Rpb246IHhtbFhQYXRoVHJhaWxpbmdTb3J0ZWQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPgl4bWxYUGF0aFRyYWlsaW5nU29ydGVkCSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBub2RlczEsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbE5vZGVTZXRQdHIiPnhtbE5vZGVTZXRQdHI8L2E+IG5vZGVzMik8YnIgLz4KKzwvcHJlPjxwPkltcGxlbWVudHMgdGhlIEVYU0xUIC0gU2V0cyB0cmFpbGluZygpIGZ1bmN0aW9uOiBub2RlLXNldCBzZXQ6dHJhaWxpbmcgKG5vZGUtc2V0LCBub2RlLXNldCk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5ub2RlczE8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbm9kZS1zZXQsIHNvcnRlZCBieSBkb2N1bWVudCBvcmRlcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm9kZXMyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIG5vZGUtc2V0LCBzb3J0ZWQgYnkgZG9jdW1lbnQgb3JkZXI8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBub2RlcyBpbiBAbm9kZXMxIHRoYXQgZm9sbG93IHRoZSBmaXJzdCBub2RlIGluIEBub2RlczIgaW4gZG9jdW1lbnQgb3JkZXIsIEBub2RlczEgaWYgQG5vZGVzMiBpcyBOVUxMIG9yIGVtcHR5IG9yIGFuIGVtcHR5IG5vZGUtc2V0IGlmIEBub2RlczEgZG9lc24ndCBjb250YWluIEBub2RlczI8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxYUGF0aFRyYW5zbGF0ZUZ1bmN0aW9uIiBpZD0ieG1sWFBhdGhUcmFuc2xhdGVGdW5jdGlvbiI+PC9hPkZ1bmN0aW9uOiB4bWxYUGF0aFRyYW5zbGF0ZUZ1bmN0aW9uPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxYUGF0aFRyYW5zbGF0ZUZ1bmN0aW9uCSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgaW50IG5hcmdzKTxiciAvPgorPC9wcmU+PHA+SW1wbGVtZW50IHRoZSB0cmFuc2xhdGUoKSBYUGF0aCBmdW5jdGlvbiBzdHJpbmcgdHJhbnNsYXRlKHN0cmluZywgc3RyaW5nLCBzdHJpbmcpIFRoZSB0cmFuc2xhdGUgZnVuY3Rpb24gcmV0dXJucyB0aGUgZmlyc3QgYXJndW1lbnQgc3RyaW5nIHdpdGggb2NjdXJyZW5jZXMgb2YgPGEgaHJlZj0ibGlieG1sLVNBWC5odG1sI2NoYXJhY3RlcnMiPmNoYXJhY3RlcnM8L2E+IGluIHRoZSBzZWNvbmQgYXJndW1lbnQgc3RyaW5nIHJlcGxhY2VkIGJ5IHRoZSBjaGFyYWN0ZXIgYXQgdGhlIGNvcnJlc3BvbmRpbmcgcG9zaXRpb24gaW4gdGhlIHRoaXJkIGFyZ3VtZW50IHN0cmluZy4gRm9yIGV4YW1wbGUsIHRyYW5zbGF0ZSgiYmFyIiwiYWJjIiwiQUJDIikgcmV0dXJucyB0aGUgc3RyaW5nIEJBci4gSWYgdGhlcmUgaXMgYSBjaGFyYWN0ZXIgaW4gdGhlIHNlY29uZCBhcmd1bWVudCBzdHJpbmcgd2l0aCBubyBjaGFyYWN0ZXIgYXQgYSBjb3JyZXNwb25kaW5nIHBvc2l0aW9uIGluIHRoZSB0aGlyZCBhcmd1bWVudCBzdHJpbmcgKGJlY2F1c2UgdGhlIHNlY29uZCBhcmd1bWVudCBzdHJpbmcgaXMgbG9uZ2VyIHRoYW4gdGhlIHRoaXJkIGFyZ3VtZW50IHN0cmluZyksIHRoZW4gb2NjdXJyZW5jZXMgb2YgdGhhdCBjaGFyYWN0ZXIgaW4gdGhlIGZpcnN0IGFyZ3VtZW50IHN0cmluZyBhcmUgcmVtb3ZlZC4gRm9yIGV4YW1wbGUsIHRyYW5zbGF0ZSgiLS1hYWEtLSIsImFiYy0iLCJBQkMiKTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYUGF0aCBQYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFyZ3M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgYXJndW1lbnRzPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sWFBhdGhUcnVlRnVuY3Rpb24iIGlkPSJ4bWxYUGF0aFRydWVGdW5jdGlvbiI+PC9hPkZ1bmN0aW9uOiB4bWxYUGF0aFRydWVGdW5jdGlvbjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sWFBhdGhUcnVlRnVuY3Rpb24JCSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCwgPGJyIC8+CQkJCQkgaW50IG5hcmdzKTxiciAvPgorPC9wcmU+PHA+SW1wbGVtZW50IHRoZSB0cnVlKCkgWFBhdGggZnVuY3Rpb24gYm9vbGVhbiB0cnVlKCk8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggUGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hcmdzPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbnVtYmVyIG9mIGFyZ3VtZW50czwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhQYXRoVmFsdWVGbGlwU2lnbiIgaWQ9InhtbFhQYXRoVmFsdWVGbGlwU2lnbiI+PC9hPkZ1bmN0aW9uOiB4bWxYUGF0aFZhbHVlRmxpcFNpZ248L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFhQYXRoVmFsdWVGbGlwU2lnbgkJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0KTxiciAvPgorPC9wcmU+PHA+SW1wbGVtZW50IHRoZSB1bmFyeSAtIG9wZXJhdGlvbiBvbiBhbiBYUGF0aCBvYmplY3QgVGhlIG51bWVyaWMgb3BlcmF0b3JzIGNvbnZlcnQgdGhlaXIgb3BlcmFuZHMgdG8gbnVtYmVycyBhcyBpZiBieSBjYWxsaW5nIHRoZSBudW1iZXIgZnVuY3Rpb24uPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhQYXRoIFBhcnNlciBjb250ZXh0PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sWFBhdGhWYXJpYWJsZUxvb2t1cCIgaWQ9InhtbFhQYXRoVmFyaWFibGVMb29rdXAiPjwvYT5GdW5jdGlvbjogeG1sWFBhdGhWYXJpYWJsZUxvb2t1cDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4JeG1sWFBhdGhWYXJpYWJsZUxvb2t1cAkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0UHRyIj54bWxYUGF0aENvbnRleHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuYW1lKTxiciAvPgorPC9wcmU+PHA+U2VhcmNoIGluIHRoZSBWYXJpYWJsZSBhcnJheSBvZiB0aGUgY29udGV4dCBmb3IgdGhlIGdpdmVuIHZhcmlhYmxlIHZhbHVlLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYUGF0aCBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uYW1lPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdmFyaWFibGUgbmFtZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+YSBjb3B5IG9mIHRoZSB2YWx1ZSBvciBOVUxMIGlmIG5vdCBmb3VuZDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhQYXRoVmFyaWFibGVMb29rdXBOUyIgaWQ9InhtbFhQYXRoVmFyaWFibGVMb29rdXBOUyI+PC9hPkZ1bmN0aW9uOiB4bWxYUGF0aFZhcmlhYmxlTG9va3VwTlM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+CXhtbFhQYXRoVmFyaWFibGVMb29rdXBOUwkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0UHRyIj54bWxYUGF0aENvbnRleHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJCQkgY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogbmFtZSwgPGJyIC8+CQkJCQkJCSBjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBuc191cmkpPGJyIC8+Cis8L3ByZT48cD5TZWFyY2ggaW4gdGhlIFZhcmlhYmxlIGFycmF5IG9mIHRoZSBjb250ZXh0IGZvciB0aGUgZ2l2ZW4gdmFyaWFibGUgdmFsdWUuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+Y3R4dDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhQYXRoIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm5hbWU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB2YXJpYWJsZSBuYW1lPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5uc191cmk8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSB2YXJpYWJsZSBuYW1lc3BhY2UgVVJJPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgYSBjb3B5IG9mIHRoZSB2YWx1ZSBvciBOVUxMIGlmIG5vdCBmb3VuZDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhQYXRoV3JhcENTdHJpbmciIGlkPSJ4bWxYUGF0aFdyYXBDU3RyaW5nIj48L2E+RnVuY3Rpb246IHhtbFhQYXRoV3JhcENTdHJpbmc8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+CXhtbFhQYXRoV3JhcENTdHJpbmcJKGNoYXIgKiB2YWwpPGJyIC8+Cis8L3ByZT48cD5XcmFwcyBhIHN0cmluZyBpbnRvIGFuIFhQYXRoIG9iamVjdC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBjaGFyICogdmFsdWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXdseSBjcmVhdGVkIG9iamVjdC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxYUGF0aFdyYXBFeHRlcm5hbCIgaWQ9InhtbFhQYXRoV3JhcEV4dGVybmFsIj48L2E+RnVuY3Rpb246IHhtbFhQYXRoV3JhcEV4dGVybmFsPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPgl4bWxYUGF0aFdyYXBFeHRlcm5hbAkodm9pZCAqIHZhbCk8YnIgLz4KKzwvcHJlPjxwPldyYXBzIHRoZSBAdmFsIGRhdGEgaW50byBhbiBYUGF0aCBvYmplY3QuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgdXNlciBkYXRhPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sWFBhdGhXcmFwTm9kZVNldCIgaWQ9InhtbFhQYXRoV3JhcE5vZGVTZXQiPjwvYT5GdW5jdGlvbjogeG1sWFBhdGhXcmFwTm9kZVNldDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4JeG1sWFBhdGhXcmFwTm9kZVNldAkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gdmFsKTxiciAvPgorPC9wcmU+PHA+V3JhcCB0aGUgTm9kZXNldCBAdmFsIGluIGEgbmV3IDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWw8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBOb2RlUHRyIHZhbHVlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sWFBhdGhXcmFwU3RyaW5nIiBpZD0ieG1sWFBhdGhXcmFwU3RyaW5nIj48L2E+RnVuY3Rpb246IHhtbFhQYXRoV3JhcFN0cmluZzwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4JeG1sWFBhdGhXcmFwU3RyaW5nCSg8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiB2YWwpPGJyIC8+Cis8L3ByZT48cD5XcmFwcyB0aGUgQHZhbCBzdHJpbmcgaW50byBhbiBYUGF0aCBvYmplY3QuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogdmFsdWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXdseSBjcmVhdGVkIG9iamVjdC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxYUGF0aGVycm9yIiBpZD0ieG1sWFBhdGhlcnJvciI+PC9hPkZ1bmN0aW9uOiB4bWxYUGF0aGVycm9yPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxYUGF0aGVycm9yCQkJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSBjb25zdCBjaGFyICogZmlsZSwgPGJyIC8+CQkJCQkgaW50IGxpbmUsIDxiciAvPgkJCQkJIGludCBubyk8YnIgLz4KKzwvcHJlPjxwPkZvcm1hdHMgYW4gZXJyb3IgbWVzc2FnZS48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBhdGggUGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmZpbGU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBmaWxlIG5hbWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmxpbmU8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBsaW5lIG51bWJlcjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bm88L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlcnJvciBudW1iZXI8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxwPjxhIGhyZWY9Ii4uL2J1Z3MuaHRtbCI+RGFuaWVsIFZlaWxsYXJkPC9hPjwvcD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvaHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCBiL2xpYnhtbDIvZG9jL2h0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDU1MjZkZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL2h0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwKQEAgLTAsMCArMSw4MyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIj4KKzxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj48aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz48bGluayByZWw9IlNIT1JUQ1VUIElDT04iIGhyZWY9Ii9mYXZpY29uLmljbyIgLz48c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorVEQge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0JPRFkge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYTsgbWFyZ2luLXRvcDogMmVtOyBtYXJnaW4tbGVmdDogMGVtOyBtYXJnaW4tcmlnaHQ6IDBlbX0KK0gxIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMiB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDMge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0E6bGluaywgQTp2aXNpdGVkLCBBOmFjdGl2ZSB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIH0KKzwvc3R5bGU+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKyAgICAgIGRpdi5kZXByZWNhdGVkIHByZS5wcm9ncmFtbGlzdGluZyB7Ym9yZGVyLXN0eWxlOiBkb3VibGU7Ym9yZGVyLWNvbG9yOnJlZH0KKyAgICAgIHByZS5wcm9ncmFtbGlzdGluZyB7Ym9yZGVyLXN0eWxlOiBkb3VibGU7YmFja2dyb3VuZDogI0VFQ0ZBMX0KKyAgICA8L3N0eWxlPjx0aXRsZT5Nb2R1bGUgeHBvaW50ZXIgZnJvbSBsaWJ4bWwyPC90aXRsZT48L2hlYWQ+PGJvZHkgYmdjb2xvcj0iIzhiNzc2NSIgdGV4dD0iIzAwMDAwMCIgbGluaz0iI2EwNjA2MCIgdmxpbms9IiMwMDAwMDAiPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSIxMDAlIiBjZWxscGFkZGluZz0iNSIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgd2lkdGg9IjEyMCI+PGEgaHJlZj0iaHR0cDovL3N3cGF0LmZmaWkub3JnLyI+PGltZyBzcmM9Ii4uL2VwYXRlbnRzLnBuZyIgYWx0PSJBY3Rpb24gYWdhaW5zdCBzb2Z0d2FyZSBwYXRlbnRzIiAvPjwvYT48L3RkPjx0ZCB3aWR0aD0iMTgwIj48YSBocmVmPSJodHRwOi8vd3d3Lmdub21lLm9yZy8iPjxpbWcgc3JjPSIuLi9nbm9tZTIucG5nIiBhbHQ9Ikdub21lMiBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9TdGF0dXMiPjxpbWcgc3JjPSIuLi93M2MucG5nIiBhbHQ9IlczQyBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnJlZGhhdC5jb20vIj48aW1nIHNyYz0iLi4vcmVkaGF0LmdpZiIgYWx0PSJSZWQgSGF0IExvZ28iIC8+PC9hPjxkaXYgYWxpZ249ImxlZnQiPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy8iPjxpbWcgc3JjPSIuLi9MaWJ4bWwyLUxvZ28tMTgweDE2OC5naWYiIGFsdD0iTWFkZSB3aXRoIExpYnhtbDIgTG9nbyIgLz48L2E+PC9kaXY+PC90ZD48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjkwJSIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiIGJnY29sb3I9IiNmZmZhY2QiPjx0cj48dGQgYWxpZ249ImNlbnRlciI+PGgxPjwvaDE+PGgyPk1vZHVsZSB4cG9pbnRlciBmcm9tIGxpYnhtbDI8L2gyPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI0IiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCB2YWxpZ249InRvcCIgd2lkdGg9IjIwMCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+QVBJIE1lbnU8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PGZvcm0gYWN0aW9uPSIuLi9zZWFyY2gucGhwIiBlbmN0eXBlPSJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiIG1ldGhvZD0iZ2V0Ij48aW5wdXQgbmFtZT0icXVlcnkiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iIiAvPjxpbnB1dCBuYW1lPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNlYXJjaCAuLi4iIC8+PC9mb3JtPjx1bD48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9Ii4uL2luZGV4Lmh0bWwiPk1haW4gTWVudTwvYT48L2xpPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iLi4vZG9jcy5odG1sIj5EZXZlbG9wZXIgTWVudTwvYT48L2xpPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iLi4vZXhhbXBsZXMvaW5kZXguaHRtbCI+Q29kZSBFeGFtcGxlczwvYT48L2xpPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iaW5kZXguaHRtbCI+QVBJIE1lbnU8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXBhcnNlci5odG1sIj5QYXJzZXIgQVBJPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwiPlRyZWUgQVBJPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCI+UmVhZGVyIEFQSTwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9ndWlkZWxpbmVzLmh0bWwiPlhNTCBHdWlkZWxpbmVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0NoYW5nZUxvZy5odG1sIj5DaGFuZ2VMb2c8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5BUEkgSW5kZXhlczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9Ii4uL0FQSWNodW5rMC5odG1sIj5BbHBoYWJldGljPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSWNvbnN0cnVjdG9ycy5odG1sIj5Db25zdHJ1Y3RvcnM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJZnVuY3Rpb25zLmh0bWwiPkZ1bmN0aW9ucy9UeXBlczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUElmaWxlcy5odG1sIj5Nb2R1bGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSXN5bWJvbHMuaHRtbCI+U3ltYm9sczwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPlJlbGF0ZWQgbGlua3M8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSJodHRwOi8vbWFpbC5nbm9tZS5vcmcvYXJjaGl2ZXMveG1sLyI+TWFpbCBhcmNoaXZlPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9YU0xULyI+WFNMVCBsaWJ4c2x0PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9waGQuY3MudW5pYm8uaXQvZ2RvbWUyLyI+RE9NIGdkb21lMjwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmFsZWtzZXkuY29tL3htbHNlYy8iPlhNTC1EU2lnIHhtbHNlYzwvYT48L2xpPjxsaT48YSBocmVmPSJmdHA6Ly94bWxzb2Z0Lm9yZy8iPkZUUDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnpsYXRrb3ZpYy5jb20vcHJvamVjdHMvbGlieG1sLyI+V2luZG93cyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vb3BlbmNzdy5vcmcvcGFja2FnZXMvbGlieG1sMiI+U29sYXJpcyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmV4cGxhaW4uY29tLmF1L29zcy9saWJ4bWwyeHNsdC5odG1sIj5NYWNPc1ggYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2x4bWwuZGUvIj5seG1sIFB5dGhvbiBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vY3Bhbi51d2lubmlwZWcuY2EvZGlzdC9YTUwtTGliWE1MIj5QZXJsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWxwbHVzcGx1cy5zb3VyY2Vmb3JnZS5uZXQvIj5DKysgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56ZW5kLmNvbS9waHA1L2FydGljbGVzL3BocDUteG1scGhwLnBocCNIZWFkaW5nNCI+UEhQIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbGlieG1sMi1wYXMvIj5QYXNjYWwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbC5ydWJ5Zm9yZ2Uub3JnLyI+UnVieSBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vdGNseG1sLnNvdXJjZWZvcmdlLm5ldC8iPlRjbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2J1Z2xpc3QuY2dpP3Byb2R1Y3Q9bGlieG1sMiI+QnVnIFRyYWNrZXI8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dGFibGUgY2xhc3M9Im5hdmlnYXRpb24iIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIyIj48dHIgdmFsaWduPSJtaWRkbGUiPjx0ZD48YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sIj48aW1nIHNyYz0ibGVmdC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlByZXYiIC8+PC9hPjwvdGQ+PHRoIGFsaWduPSJsZWZ0Ij48YSBocmVmPSJsaWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCI+eHBhdGhJbnRlcm5hbHM8L2E+PC90aD48dGQ+PGEgYWNjZXNza2V5PSJ1IiBocmVmPSJpbmRleC5odG1sIj48aW1nIHNyYz0idXAucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJVcCIgLz48L2E+PC90ZD48dGggYWxpZ249ImxlZnQiPjxhIGhyZWY9ImluZGV4Lmh0bWwiPkFQSSBkb2N1bWVudGF0aW9uPC9hPjwvdGg+PHRkPjxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iLi4vaW5kZXguaHRtbCI+PGltZyBzcmM9ImhvbWUucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJIb21lIiAvPjwvYT48L3RkPjx0aCBhbGlnbj0iY2VudGVyIj48YSBocmVmPSIuLi9pbmRleC5odG1sIj5UaGUgWE1MIEMgcGFyc2VyIGFuZCB0b29sa2l0IG9mIEdub21lPC9hPjwvdGg+PC90cj48L3RhYmxlPjxwPkFQSSB0byBoYW5kbGUgWE1MIFBvaW50ZXJzIEJhc2UgaW1wbGVtZW50YXRpb24gd2FzIG1hZGUgYWNjb3JkaW5nbHkgdG8gVzNDIENhbmRpZGF0ZSBSZWNvbW1lbmRhdGlvbiA3IEp1bmUgMjAwMDwvcD48aDI+VGFibGUgb2YgQ29udGVudHM8L2gyPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5TdHJ1Y3R1cmUgPGEgaHJlZj0iI3htbExvY2F0aW9uU2V0Ij54bWxMb2NhdGlvblNldDwvYT48YnIgLz5zdHJ1Y3QgX3htbExvY2F0aW9uU2V0Cis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+VHlwZWRlZiA8YSBocmVmPSJsaWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxMb2NhdGlvblNldCI+eG1sTG9jYXRpb25TZXQ8L2E+ICogPGEgbmFtZT0ieG1sTG9jYXRpb25TZXRQdHIiIGlkPSJ4bWxMb2NhdGlvblNldFB0ciI+eG1sTG9jYXRpb25TZXRQdHI8L2E+Cis8L3ByZT48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPgk8YSBocmVmPSIjeG1sWFB0ckJ1aWxkTm9kZUxpc3QiPnhtbFhQdHJCdWlsZE5vZGVMaXN0PC9hPgkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPiBvYmopPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPgk8YSBocmVmPSIjeG1sWFB0ckV2YWwiPnhtbFhQdHJFdmFsPC9hPgkoY29uc3QgPGEgaHJlZj0ibGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICogc3RyLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHRQdHIiPnhtbFhQYXRoQ29udGV4dFB0cjwvYT4gY3R4KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFhQdHJFdmFsUmFuZ2VQcmVkaWNhdGUiPnhtbFhQdHJFdmFsUmFuZ2VQcmVkaWNhdGU8L2E+CSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIiPnhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cjwvYT4gY3R4dCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxYUHRyRnJlZUxvY2F0aW9uU2V0Ij54bWxYUHRyRnJlZUxvY2F0aW9uU2V0PC9hPgkJKDxhIGhyZWY9ImxpYnhtbC14cG9pbnRlci5odG1sI3htbExvY2F0aW9uU2V0UHRyIj54bWxMb2NhdGlvblNldFB0cjwvYT4gb2JqKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFhQdHJMb2NhdGlvblNldEFkZCI+eG1sWFB0ckxvY2F0aW9uU2V0QWRkPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC14cG9pbnRlci5odG1sI3htbExvY2F0aW9uU2V0UHRyIj54bWxMb2NhdGlvblNldFB0cjwvYT4gY3VyLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IHZhbCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxMb2NhdGlvblNldFB0ciI+eG1sTG9jYXRpb25TZXRQdHI8L2E+CTxhIGhyZWY9IiN4bWxYUHRyTG9jYXRpb25TZXRDcmVhdGUiPnhtbFhQdHJMb2NhdGlvblNldENyZWF0ZTwvYT4JKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4gdmFsKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJPGEgaHJlZj0iI3htbFhQdHJMb2NhdGlvblNldERlbCI+eG1sWFB0ckxvY2F0aW9uU2V0RGVsPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC14cG9pbnRlci5odG1sI3htbExvY2F0aW9uU2V0UHRyIj54bWxMb2NhdGlvblNldFB0cjwvYT4gY3VyLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IHZhbCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxMb2NhdGlvblNldFB0ciI+eG1sTG9jYXRpb25TZXRQdHI8L2E+CTxhIGhyZWY9IiN4bWxYUHRyTG9jYXRpb25TZXRNZXJnZSI+eG1sWFB0ckxvY2F0aW9uU2V0TWVyZ2U8L2E+CSg8YSBocmVmPSJsaWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxMb2NhdGlvblNldFB0ciI+eG1sTG9jYXRpb25TZXRQdHI8L2E+IHZhbDEsIDxiciAvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxMb2NhdGlvblNldFB0ciI+eG1sTG9jYXRpb25TZXRQdHI8L2E+IHZhbDIpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAk8YSBocmVmPSIjeG1sWFB0ckxvY2F0aW9uU2V0UmVtb3ZlIj54bWxYUHRyTG9jYXRpb25TZXRSZW1vdmU8L2E+CSg8YSBocmVmPSJsaWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxMb2NhdGlvblNldFB0ciI+eG1sTG9jYXRpb25TZXRQdHI8L2E+IGN1ciwgPGJyIC8+CQkJCQkgaW50IHZhbCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+CTxhIGhyZWY9IiN4bWxYUHRyTmV3Q29sbGFwc2VkUmFuZ2UiPnhtbFhQdHJOZXdDb2xsYXBzZWRSYW5nZTwvYT4JKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gc3RhcnQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0UHRyIj54bWxYUGF0aENvbnRleHRQdHI8L2E+CTxhIGhyZWY9IiN4bWxYUHRyTmV3Q29udGV4dCI+eG1sWFB0ck5ld0NvbnRleHQ8L2E+CSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbERvY1B0ciI+eG1sRG9jUHRyPC9hPiBkb2MsIDxiciAvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGhlcmUsIDxiciAvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IG9yaWdpbik8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+CTxhIGhyZWY9IiN4bWxYUHRyTmV3TG9jYXRpb25TZXROb2RlU2V0Ij54bWxYUHRyTmV3TG9jYXRpb25TZXROb2RlU2V0PC9hPgkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0ciI+eG1sTm9kZVNldFB0cjwvYT4gc2V0KTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4JPGEgaHJlZj0iI3htbFhQdHJOZXdMb2NhdGlvblNldE5vZGVzIj54bWxYUHRyTmV3TG9jYXRpb25TZXROb2RlczwvYT4JKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gc3RhcnQsIDxiciAvPgkJCQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBlbmQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPgk8YSBocmVmPSIjeG1sWFB0ck5ld1JhbmdlIj54bWxYUHRyTmV3UmFuZ2U8L2E+CSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IHN0YXJ0LCA8YnIgLz4JCQkJCSBpbnQgc3RhcnRpbmRleCwgPGJyIC8+CQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBlbmQsIDxiciAvPgkJCQkJIGludCBlbmRpbmRleCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+CTxhIGhyZWY9IiN4bWxYUHRyTmV3UmFuZ2VOb2RlT2JqZWN0Ij54bWxYUHRyTmV3UmFuZ2VOb2RlT2JqZWN0PC9hPgkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBzdGFydCwgPGJyIC8+CQkJCQkJCSA8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IGVuZCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+CTxhIGhyZWY9IiN4bWxYUHRyTmV3UmFuZ2VOb2RlUG9pbnQiPnhtbFhQdHJOZXdSYW5nZU5vZGVQb2ludDwvYT4JKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gc3RhcnQsIDxiciAvPgkJCQkJCQkgPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPiBlbmQpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPgk8YSBocmVmPSIjeG1sWFB0ck5ld1JhbmdlTm9kZXMiPnhtbFhQdHJOZXdSYW5nZU5vZGVzPC9hPgkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBzdGFydCwgPGJyIC8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gZW5kKTwvcHJlPgorPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4JPGEgaHJlZj0iI3htbFhQdHJOZXdSYW5nZVBvaW50Tm9kZSI+eG1sWFB0ck5ld1JhbmdlUG9pbnROb2RlPC9hPgkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPiBzdGFydCwgPGJyIC8+CQkJCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGVuZCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+CTxhIGhyZWY9IiN4bWxYUHRyTmV3UmFuZ2VQb2ludHMiPnhtbFhQdHJOZXdSYW5nZVBvaW50czwvYT4JKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4gc3RhcnQsIDxiciAvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IGVuZCk8L3ByZT4KKzxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCTxhIGhyZWY9IiN4bWxYUHRyUmFuZ2VUb0Z1bmN0aW9uIj54bWxYUHRyUmFuZ2VUb0Z1bmN0aW9uPC9hPgkJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI+eG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyPC9hPiBjdHh0LCA8YnIgLz4JCQkJCSBpbnQgbmFyZ3MpPC9wcmU+Cis8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPgk8YSBocmVmPSIjeG1sWFB0cldyYXBMb2NhdGlvblNldCI+eG1sWFB0cldyYXBMb2NhdGlvblNldDwvYT4JKDxhIGhyZWY9ImxpYnhtbC14cG9pbnRlci5odG1sI3htbExvY2F0aW9uU2V0UHRyIj54bWxMb2NhdGlvblNldFB0cjwvYT4gdmFsKTwvcHJlPgorPGgyPkRlc2NyaXB0aW9uPC9oMj4KKzxoMz48YSBuYW1lPSJ4bWxMb2NhdGlvblNldCIgaWQ9InhtbExvY2F0aW9uU2V0Ij5TdHJ1Y3R1cmUgeG1sTG9jYXRpb25TZXQ8L2E+PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+U3RydWN0dXJlIHhtbExvY2F0aW9uU2V0PGJyIC8+c3RydWN0IF94bWxMb2NhdGlvblNldCB7CisgICAgaW50CWxvY05yCTogbnVtYmVyIG9mIGxvY2F0aW9ucyBpbiB0aGUgc2V0CisgICAgaW50CWxvY01heAk6IHNpemUgb2YgdGhlIGFycmF5IGFzIGFsbG9jYXRlZAorICAgIDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4gKglsb2NUYWIJOiBhcnJheSBvZiBsb2NhdGlvbnMKK308L3ByZT48aDM+PGEgbmFtZT0ieG1sWFB0ckJ1aWxkTm9kZUxpc3QiIGlkPSJ4bWxYUHRyQnVpbGROb2RlTGlzdCI+PC9hPkZ1bmN0aW9uOiB4bWxYUHRyQnVpbGROb2RlTGlzdDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4JeG1sWFB0ckJ1aWxkTm9kZUxpc3QJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4gb2JqKTxiciAvPgorPC9wcmU+PHA+QnVpbGQgYSBub2RlIGxpc3QgdHJlZSBjb3B5IG9mIHRoZSBYUG9pbnRlciByZXN1bHQuIFRoaXMgd2lsbCBkcm9wIEF0dHJpYnV0ZXMgYW5kIE5hbWVzcGFjZSBkZWNsYXJhdGlvbnMuPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+b2JqPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBvaW50ZXIgcmVzdWx0IGZyb20gdGhlIGV2YWx1YXRpb24uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGxpc3Qgb3IgTlVMTC4gdGhlIGNhbGxlciBoYXMgdG8gZnJlZSB0aGUgbm9kZSB0cmVlLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhQdHJFdmFsIiBpZD0ieG1sWFB0ckV2YWwiPjwvYT5GdW5jdGlvbjogeG1sWFB0ckV2YWw8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+CXhtbFhQdHJFdmFsCShjb25zdCA8YSBocmVmPSJsaWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKiBzdHIsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFB0ciI+eG1sWFBhdGhDb250ZXh0UHRyPC9hPiBjdHgpPGJyIC8+Cis8L3ByZT48cD5FdmFsdWF0ZSB0aGUgWFBhdGggTG9jYXRpb24gUGF0aCBpbiB0aGUgZ2l2ZW4gY29udGV4dC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdHI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYUG9pbnRlciBleHByZXNzaW9uPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHg8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYUG9pbnRlciBjb250ZXh0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPiByZXN1bHRpbmcgZnJvbSB0aGUgZXZhbHVhdGlvbiBvciBOVUxMLiB0aGUgY2FsbGVyIGhhcyB0byBmcmVlIHRoZSBvYmplY3QuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sWFB0ckV2YWxSYW5nZVByZWRpY2F0ZSIgaWQ9InhtbFhQdHJFdmFsUmFuZ2VQcmVkaWNhdGUiPjwvYT5GdW5jdGlvbjogeG1sWFB0ckV2YWxSYW5nZVByZWRpY2F0ZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sWFB0ckV2YWxSYW5nZVByZWRpY2F0ZQkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQpPGJyIC8+Cis8L3ByZT48cD5bOF0gUHJlZGljYXRlIDo6PSAnWycgUHJlZGljYXRlRXhwciAnXScgWzldIFByZWRpY2F0ZUV4cHIgOjo9IEV4cHIgRXZhbHVhdGUgYSBwcmVkaWNhdGUgYXMgaW4geG1sWFBhdGhFdmFsUHJlZGljYXRlKCkgYnV0IGZvciBhIExvY2F0aW9uIFNldCBpbnN0ZWFkIG9mIGEgbm9kZSBzZXQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdHh0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgWFBvaW50ZXIgUGFyc2VyIGNvbnRleHQ8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxYUHRyRnJlZUxvY2F0aW9uU2V0IiBpZD0ieG1sWFB0ckZyZWVMb2NhdGlvblNldCI+PC9hPkZ1bmN0aW9uOiB4bWxYUHRyRnJlZUxvY2F0aW9uU2V0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxYUHRyRnJlZUxvY2F0aW9uU2V0CQkoPGEgaHJlZj0ibGlieG1sLXhwb2ludGVyLmh0bWwjeG1sTG9jYXRpb25TZXRQdHIiPnhtbExvY2F0aW9uU2V0UHRyPC9hPiBvYmopPGJyIC8+Cis8L3ByZT48cD5GcmVlIHRoZSBMb2NhdGlvblNldCBjb21wb3VuZCAobm90IHRoZSBhY3R1YWwgcmFuZ2VzICEpLjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm9iajwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC14cG9pbnRlci5odG1sI3htbExvY2F0aW9uU2V0UHRyIj54bWxMb2NhdGlvblNldFB0cjwvYT4gdG8gZnJlZTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhQdHJMb2NhdGlvblNldEFkZCIgaWQ9InhtbFhQdHJMb2NhdGlvblNldEFkZCI+PC9hPkZ1bmN0aW9uOiB4bWxYUHRyTG9jYXRpb25TZXRBZGQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFhQdHJMb2NhdGlvblNldEFkZAkJKDxhIGhyZWY9ImxpYnhtbC14cG9pbnRlci5odG1sI3htbExvY2F0aW9uU2V0UHRyIj54bWxMb2NhdGlvblNldFB0cjwvYT4gY3VyLCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IHZhbCk8YnIgLz4KKzwvcHJlPjxwPmFkZCBhIG5ldyA8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IHRvIGFuIGV4aXN0aW5nIExvY2F0aW9uU2V0IElmIHRoZSBsb2NhdGlvbiBhbHJlYWR5IGV4aXN0IGluIHRoZSBzZXQgQHZhbCBpcyBmcmVlZC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBpbml0aWFsIHJhbmdlIHNldDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hIG5ldyA8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sWFB0ckxvY2F0aW9uU2V0Q3JlYXRlIiBpZD0ieG1sWFB0ckxvY2F0aW9uU2V0Q3JlYXRlIj48L2E+RnVuY3Rpb246IHhtbFhQdHJMb2NhdGlvblNldENyZWF0ZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14cG9pbnRlci5odG1sI3htbExvY2F0aW9uU2V0UHRyIj54bWxMb2NhdGlvblNldFB0cjwvYT4JeG1sWFB0ckxvY2F0aW9uU2V0Q3JlYXRlCSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IHZhbCk8YnIgLz4KKzwvcHJlPjxwPkNyZWF0ZSBhIG5ldyA8YSBocmVmPSJsaWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxMb2NhdGlvblNldFB0ciI+eG1sTG9jYXRpb25TZXRQdHI8L2E+IG9mIHR5cGUgZG91YmxlIGFuZCBvZiB2YWx1ZSBAdmFsPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiBpbml0aWFsIHhtbFhQYXRoT2JqZWN0UHRyLCBvciBOVUxMPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sWFB0ckxvY2F0aW9uU2V0RGVsIiBpZD0ieG1sWFB0ckxvY2F0aW9uU2V0RGVsIj48L2E+RnVuY3Rpb246IHhtbFhQdHJMb2NhdGlvblNldERlbDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQJeG1sWFB0ckxvY2F0aW9uU2V0RGVsCQkoPGEgaHJlZj0ibGlieG1sLXhwb2ludGVyLmh0bWwjeG1sTG9jYXRpb25TZXRQdHIiPnhtbExvY2F0aW9uU2V0UHRyPC9hPiBjdXIsIDxiciAvPgkJCQkJIDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4gdmFsKTxiciAvPgorPC9wcmU+PHA+UmVtb3ZlcyBhbiA8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IGZyb20gYW4gZXhpc3RpbmcgTG9jYXRpb25TZXQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBpbml0aWFsIHJhbmdlIHNldDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD5hbiA8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sWFB0ckxvY2F0aW9uU2V0TWVyZ2UiIGlkPSJ4bWxYUHRyTG9jYXRpb25TZXRNZXJnZSI+PC9hPkZ1bmN0aW9uOiB4bWxYUHRyTG9jYXRpb25TZXRNZXJnZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14cG9pbnRlci5odG1sI3htbExvY2F0aW9uU2V0UHRyIj54bWxMb2NhdGlvblNldFB0cjwvYT4JeG1sWFB0ckxvY2F0aW9uU2V0TWVyZ2UJKDxhIGhyZWY9ImxpYnhtbC14cG9pbnRlci5odG1sI3htbExvY2F0aW9uU2V0UHRyIj54bWxMb2NhdGlvblNldFB0cjwvYT4gdmFsMSwgPGJyIC8+CQkJCQkJIDxhIGhyZWY9ImxpYnhtbC14cG9pbnRlci5odG1sI3htbExvY2F0aW9uU2V0UHRyIj54bWxMb2NhdGlvblNldFB0cjwvYT4gdmFsMik8YnIgLz4KKzwvcHJlPjxwPk1lcmdlcyB0d28gcmFuZ2VzZXRzLCBhbGwgcmFuZ2VzIGZyb20gQHZhbDIgYXJlIGFkZGVkIHRvIEB2YWwxPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsMTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGZpcnN0IExvY2F0aW9uU2V0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD52YWwyPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc2Vjb25kIExvY2F0aW9uU2V0PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD52YWwxIG9uY2UgZXh0ZW5kZWQgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhQdHJMb2NhdGlvblNldFJlbW92ZSIgaWQ9InhtbFhQdHJMb2NhdGlvblNldFJlbW92ZSI+PC9hPkZ1bmN0aW9uOiB4bWxYUHRyTG9jYXRpb25TZXRSZW1vdmU8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkCXhtbFhQdHJMb2NhdGlvblNldFJlbW92ZQkoPGEgaHJlZj0ibGlieG1sLXhwb2ludGVyLmh0bWwjeG1sTG9jYXRpb25TZXRQdHIiPnhtbExvY2F0aW9uU2V0UHRyPC9hPiBjdXIsIDxiciAvPgkJCQkJIGludCB2YWwpPGJyIC8+Cis8L3ByZT48cD5SZW1vdmVzIGFuIGVudHJ5IGZyb20gYW4gZXhpc3RpbmcgTG9jYXRpb25TZXQgbGlzdC48L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5jdXI8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBpbml0aWFsIHJhbmdlIHNldDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgaW5kZXggdG8gcmVtb3ZlPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sWFB0ck5ld0NvbGxhcHNlZFJhbmdlIiBpZD0ieG1sWFB0ck5ld0NvbGxhcHNlZFJhbmdlIj48L2E+RnVuY3Rpb246IHhtbFhQdHJOZXdDb2xsYXBzZWRSYW5nZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4JeG1sWFB0ck5ld0NvbGxhcHNlZFJhbmdlCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IHN0YXJ0KTxiciAvPgorPC9wcmU+PHA+Q3JlYXRlIGEgbmV3IDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4gb2YgdHlwZSByYW5nZSB1c2luZyBhIHNpbmdsZSBub2RlczwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0YXJ0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc3RhcnRpbmcgYW5kIGVuZGluZyBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sWFB0ck5ld0NvbnRleHQiIGlkPSJ4bWxYUHRyTmV3Q29udGV4dCI+PC9hPkZ1bmN0aW9uOiB4bWxYUHRyTmV3Q29udGV4dDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dFB0ciI+eG1sWFBhdGhDb250ZXh0UHRyPC9hPgl4bWxYUHRyTmV3Q29udGV4dAkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiPnhtbERvY1B0cjwvYT4gZG9jLCA8YnIgLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBoZXJlLCA8YnIgLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBvcmlnaW4pPGJyIC8+Cis8L3ByZT48cD5DcmVhdGUgYSBuZXcgWFBvaW50ZXIgY29udGV4dDwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmRvYzwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIFhNTCBkb2N1bWVudDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+aGVyZTwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5vZGUgdGhhdCBkaXJlY3RseSBjb250YWlucyB0aGUgWFBvaW50ZXIgYmVpbmcgZXZhbHVhdGVkIG9yIE5VTEw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pm9yaWdpbjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVsZW1lbnQgZnJvbSB3aGljaCBhIHVzZXIgb3IgcHJvZ3JhbSBpbml0aWF0ZWQgdHJhdmVyc2FsIG9mIHRoZSBsaW5rLCBvciBOVUxMLjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udGV4dCI+eG1sWFBhdGhDb250ZXh0PC9hPiBqdXN0IGFsbG9jYXRlZC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxYUHRyTmV3TG9jYXRpb25TZXROb2RlU2V0IiBpZD0ieG1sWFB0ck5ld0xvY2F0aW9uU2V0Tm9kZVNldCI+PC9hPkZ1bmN0aW9uOiB4bWxYUHRyTmV3TG9jYXRpb25TZXROb2RlU2V0PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPgl4bWxYUHRyTmV3TG9jYXRpb25TZXROb2RlU2V0CSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIj54bWxOb2RlU2V0UHRyPC9hPiBzZXQpPGJyIC8+Cis8L3ByZT48cD5DcmVhdGUgYSBuZXcgPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPiBvZiB0eXBlIExvY2F0aW9uU2V0IGFuZCBpbml0aWFsaXplIGl0IHdpdGggYWxsIHRoZSBub2RlcyBmcm9tIEBzZXQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zZXQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPmEgbm9kZSBzZXQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXdseSBjcmVhdGVkIG9iamVjdC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxYUHRyTmV3TG9jYXRpb25TZXROb2RlcyIgaWQ9InhtbFhQdHJOZXdMb2NhdGlvblNldE5vZGVzIj48L2E+RnVuY3Rpb246IHhtbFhQdHJOZXdMb2NhdGlvblNldE5vZGVzPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPgl4bWxYUHRyTmV3TG9jYXRpb25TZXROb2RlcwkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBzdGFydCwgPGJyIC8+CQkJCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGVuZCk8YnIgLz4KKzwvcHJlPjxwPkNyZWF0ZSBhIG5ldyA8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IG9mIHR5cGUgTG9jYXRpb25TZXQgYW5kIGluaXRpYWxpemUgaXQgd2l0aCB0aGUgc2luZ2xlIHJhbmdlIG1hZGUgb2YgdGhlIHR3byBub2RlcyBAc3RhcnQgYW5kIEBlbmQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdGFydDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHN0YXJ0IE5vZGVQdHIgdmFsdWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVuZDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVuZCBOb2RlUHRyIHZhbHVlIG9yIE5VTEw8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXdseSBjcmVhdGVkIG9iamVjdC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxYUHRyTmV3UmFuZ2UiIGlkPSJ4bWxYUHRyTmV3UmFuZ2UiPjwvYT5GdW5jdGlvbjogeG1sWFB0ck5ld1JhbmdlPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPgl4bWxYUHRyTmV3UmFuZ2UJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gc3RhcnQsIDxiciAvPgkJCQkJIGludCBzdGFydGluZGV4LCA8YnIgLz4JCQkJCSA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IGVuZCwgPGJyIC8+CQkJCQkgaW50IGVuZGluZGV4KTxiciAvPgorPC9wcmU+PHA+Q3JlYXRlIGEgbmV3IDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4gb2YgdHlwZSByYW5nZTwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0YXJ0PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgc3RhcnRpbmcgbm9kZTwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3RhcnRpbmRleDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHN0YXJ0IGluZGV4PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbmQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbmRpbmcgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVuZGluZGV4PC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZW5kaW5nIGluZGV4PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sWFB0ck5ld1JhbmdlTm9kZU9iamVjdCIgaWQ9InhtbFhQdHJOZXdSYW5nZU5vZGVPYmplY3QiPjwvYT5GdW5jdGlvbjogeG1sWFB0ck5ld1JhbmdlTm9kZU9iamVjdDwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4JeG1sWFB0ck5ld1JhbmdlTm9kZU9iamVjdAkoPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBzdGFydCwgPGJyIC8+CQkJCQkJCSA8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IGVuZCk8YnIgLz4KKzwvcHJlPjxwPkNyZWF0ZSBhIG5ldyA8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IG9mIHR5cGUgcmFuZ2UgZnJvbSBhIG5vdCB0byBhbiBvYmplY3Q8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdGFydDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHN0YXJ0aW5nIG5vZGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVuZDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVuZGluZyBvYmplY3Q8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXdseSBjcmVhdGVkIG9iamVjdC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxYUHRyTmV3UmFuZ2VOb2RlUG9pbnQiIGlkPSJ4bWxYUHRyTmV3UmFuZ2VOb2RlUG9pbnQiPjwvYT5GdW5jdGlvbjogeG1sWFB0ck5ld1JhbmdlTm9kZVBvaW50PC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPgl4bWxYUHRyTmV3UmFuZ2VOb2RlUG9pbnQJKDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gc3RhcnQsIDxiciAvPgkJCQkJCQkgPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPiBlbmQpPGJyIC8+Cis8L3ByZT48cD5DcmVhdGUgYSBuZXcgPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPiBvZiB0eXBlIHJhbmdlIGZyb20gYSBub2RlIHRvIGEgcG9pbnQ8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdGFydDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHN0YXJ0aW5nIG5vZGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVuZDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVuZGluZyBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIG5ld2x5IGNyZWF0ZWQgb2JqZWN0LjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhQdHJOZXdSYW5nZU5vZGVzIiBpZD0ieG1sWFB0ck5ld1JhbmdlTm9kZXMiPjwvYT5GdW5jdGlvbjogeG1sWFB0ck5ld1JhbmdlTm9kZXM8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+CXhtbFhQdHJOZXdSYW5nZU5vZGVzCSg8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IHN0YXJ0LCA8YnIgLz4JCQkJCQkgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIj54bWxOb2RlUHRyPC9hPiBlbmQpPGJyIC8+Cis8L3ByZT48cD5DcmVhdGUgYSBuZXcgPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPiBvZiB0eXBlIHJhbmdlIHVzaW5nIDIgbm9kZXM8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdGFydDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHN0YXJ0aW5nIG5vZGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmVuZDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIGVuZGluZyBub2RlPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48aDM+PGEgbmFtZT0ieG1sWFB0ck5ld1JhbmdlUG9pbnROb2RlIiBpZD0ieG1sWFB0ck5ld1JhbmdlUG9pbnROb2RlIj48L2E+RnVuY3Rpb246IHhtbFhQdHJOZXdSYW5nZVBvaW50Tm9kZTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4JeG1sWFB0ck5ld1JhbmdlUG9pbnROb2RlCSg8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IHN0YXJ0LCA8YnIgLz4JCQkJCQkJIDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVB0ciI+eG1sTm9kZVB0cjwvYT4gZW5kKTxiciAvPgorPC9wcmU+PHA+Q3JlYXRlIGEgbmV3IDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4gb2YgdHlwZSByYW5nZSBmcm9tIGEgcG9pbnQgdG8gYSBub2RlPC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3RhcnQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBzdGFydGluZyBwb2ludDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+ZW5kPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgZW5kaW5nIG5vZGU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXdseSBjcmVhdGVkIG9iamVjdC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxYUHRyTmV3UmFuZ2VQb2ludHMiIGlkPSJ4bWxYUHRyTmV3UmFuZ2VQb2ludHMiPjwvYT5GdW5jdGlvbjogeG1sWFB0ck5ld1JhbmdlUG9pbnRzPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiPnhtbFhQYXRoT2JqZWN0UHRyPC9hPgl4bWxYUHRyTmV3UmFuZ2VQb2ludHMJKDxhIGhyZWY9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0UHRyIj54bWxYUGF0aE9iamVjdFB0cjwvYT4gc3RhcnQsIDxiciAvPgkJCQkJCSA8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IGVuZCk8YnIgLz4KKzwvcHJlPjxwPkNyZWF0ZSBhIG5ldyA8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+IG9mIHR5cGUgcmFuZ2UgdXNpbmcgMiBQb2ludHM8L3A+Cis8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIC8+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdGFydDwvdHQ+PC9pPjo8L3NwYW4+PC90ZD48dGQ+dGhlIHN0YXJ0aW5nIHBvaW50PC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5lbmQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBlbmRpbmcgcG9pbnQ8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXdseSBjcmVhdGVkIG9iamVjdC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxoMz48YSBuYW1lPSJ4bWxYUHRyUmFuZ2VUb0Z1bmN0aW9uIiBpZD0ieG1sWFB0clJhbmdlVG9GdW5jdGlvbiI+PC9hPkZ1bmN0aW9uOiB4bWxYUHRyUmFuZ2VUb0Z1bmN0aW9uPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+dm9pZAl4bWxYUHRyUmFuZ2VUb0Z1bmN0aW9uCQkoPGEgaHJlZj0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIj54bWxYUGF0aFBhcnNlckNvbnRleHRQdHI8L2E+IGN0eHQsIDxiciAvPgkJCQkJIGludCBuYXJncyk8YnIgLz4KKzwvcHJlPjxwPkltcGxlbWVudCB0aGUgcmFuZ2UtdG8oKSBYUG9pbnRlciBmdW5jdGlvbjwvcD4KKzxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgLz48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PmN0eHQ8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBYUG9pbnRlciBQYXJzZXIgY29udGV4dDwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bmFyZ3M8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBudW1iZXIgb2YgYXJnczwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PGgzPjxhIG5hbWU9InhtbFhQdHJXcmFwTG9jYXRpb25TZXQiIGlkPSJ4bWxYUHRyV3JhcExvY2F0aW9uU2V0Ij48L2E+RnVuY3Rpb246IHhtbFhQdHJXcmFwTG9jYXRpb25TZXQ8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+CXhtbFhQdHJXcmFwTG9jYXRpb25TZXQJKDxhIGhyZWY9ImxpYnhtbC14cG9pbnRlci5odG1sI3htbExvY2F0aW9uU2V0UHRyIj54bWxMb2NhdGlvblNldFB0cjwvYT4gdmFsKTxiciAvPgorPC9wcmU+PHA+V3JhcCB0aGUgTG9jYXRpb25TZXQgQHZhbCBpbiBhIG5ldyA8YSBocmVmPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFB0ciI+eG1sWFBhdGhPYmplY3RQdHI8L2E+PC9wPgorPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiAvPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+dmFsPC90dD48L2k+Ojwvc3Bhbj48L3RkPjx0ZD50aGUgTG9jYXRpb25TZXQgdmFsdWU8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXdseSBjcmVhdGVkIG9iamVjdC48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjxwPjxhIGhyZWY9Ii4uL2J1Z3MuaHRtbCI+RGFuaWVsIFZlaWxsYXJkPC9hPjwvcD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvaHRtbC9saWJ4bWwteHpsaWIuaHRtbCBiL2xpYnhtbDIvZG9jL2h0bWwvbGlieG1sLXh6bGliLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzRkZmRjMwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL2h0bWwvbGlieG1sLXh6bGliLmh0bWwKQEAgLTAsMCArMSwxNiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIj4KKzxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj48aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz48bGluayByZWw9IlNIT1JUQ1VUIElDT04iIGhyZWY9Ii9mYXZpY29uLmljbyIgLz48c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorVEQge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0JPRFkge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYTsgbWFyZ2luLXRvcDogMmVtOyBtYXJnaW4tbGVmdDogMGVtOyBtYXJnaW4tcmlnaHQ6IDBlbX0KK0gxIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMiB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDMge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0E6bGluaywgQTp2aXNpdGVkLCBBOmFjdGl2ZSB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIH0KKzwvc3R5bGU+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKyAgICAgIGRpdi5kZXByZWNhdGVkIHByZS5wcm9ncmFtbGlzdGluZyB7Ym9yZGVyLXN0eWxlOiBkb3VibGU7Ym9yZGVyLWNvbG9yOnJlZH0KKyAgICAgIHByZS5wcm9ncmFtbGlzdGluZyB7Ym9yZGVyLXN0eWxlOiBkb3VibGU7YmFja2dyb3VuZDogI0VFQ0ZBMX0KKyAgICA8L3N0eWxlPjx0aXRsZT5Nb2R1bGUgeHpsaWIgZnJvbSBsaWJ4bWwyPC90aXRsZT48L2hlYWQ+PGJvZHkgYmdjb2xvcj0iIzhiNzc2NSIgdGV4dD0iIzAwMDAwMCIgbGluaz0iI2EwNjA2MCIgdmxpbms9IiMwMDAwMDAiPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSIxMDAlIiBjZWxscGFkZGluZz0iNSIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgd2lkdGg9IjEyMCI+PGEgaHJlZj0iaHR0cDovL3N3cGF0LmZmaWkub3JnLyI+PGltZyBzcmM9Ii4uL2VwYXRlbnRzLnBuZyIgYWx0PSJBY3Rpb24gYWdhaW5zdCBzb2Z0d2FyZSBwYXRlbnRzIiAvPjwvYT48L3RkPjx0ZCB3aWR0aD0iMTgwIj48YSBocmVmPSJodHRwOi8vd3d3Lmdub21lLm9yZy8iPjxpbWcgc3JjPSIuLi9nbm9tZTIucG5nIiBhbHQ9Ikdub21lMiBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9TdGF0dXMiPjxpbWcgc3JjPSIuLi93M2MucG5nIiBhbHQ9IlczQyBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnJlZGhhdC5jb20vIj48aW1nIHNyYz0iLi4vcmVkaGF0LmdpZiIgYWx0PSJSZWQgSGF0IExvZ28iIC8+PC9hPjxkaXYgYWxpZ249ImxlZnQiPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy8iPjxpbWcgc3JjPSIuLi9MaWJ4bWwyLUxvZ28tMTgweDE2OC5naWYiIGFsdD0iTWFkZSB3aXRoIExpYnhtbDIgTG9nbyIgLz48L2E+PC9kaXY+PC90ZD48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjkwJSIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiIGJnY29sb3I9IiNmZmZhY2QiPjx0cj48dGQgYWxpZ249ImNlbnRlciI+PGgxPjwvaDE+PGgyPk1vZHVsZSB4emxpYiBmcm9tIGxpYnhtbDI8L2gyPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI0IiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCB2YWxpZ249InRvcCIgd2lkdGg9IjIwMCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+QVBJIE1lbnU8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PGZvcm0gYWN0aW9uPSIuLi9zZWFyY2gucGhwIiBlbmN0eXBlPSJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiIG1ldGhvZD0iZ2V0Ij48aW5wdXQgbmFtZT0icXVlcnkiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iIiAvPjxpbnB1dCBuYW1lPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNlYXJjaCAuLi4iIC8+PC9mb3JtPjx1bD48bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGhyZWY9Ii4uL2luZGV4Lmh0bWwiPk1haW4gTWVudTwvYT48L2xpPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iLi4vZG9jcy5odG1sIj5EZXZlbG9wZXIgTWVudTwvYT48L2xpPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iLi4vZXhhbXBsZXMvaW5kZXguaHRtbCI+Q29kZSBFeGFtcGxlczwvYT48L2xpPjxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgaHJlZj0iaW5kZXguaHRtbCI+QVBJIE1lbnU8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlieG1sLXBhcnNlci5odG1sIj5QYXJzZXIgQVBJPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwiPlRyZWUgQVBJPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCI+UmVhZGVyIEFQSTwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9ndWlkZWxpbmVzLmh0bWwiPlhNTCBHdWlkZWxpbmVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0NoYW5nZUxvZy5odG1sIj5DaGFuZ2VMb2c8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5BUEkgSW5kZXhlczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9Ii4uL0FQSWNodW5rMC5odG1sIj5BbHBoYWJldGljPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSWNvbnN0cnVjdG9ycy5odG1sIj5Db25zdHJ1Y3RvcnM8L2E+PC9saT48bGk+PGEgaHJlZj0iLi4vQVBJZnVuY3Rpb25zLmh0bWwiPkZ1bmN0aW9ucy9UeXBlczwvYT48L2xpPjxsaT48YSBocmVmPSIuLi9BUElmaWxlcy5odG1sIj5Nb2R1bGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii4uL0FQSXN5bWJvbHMuaHRtbCI+U3ltYm9sczwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPlJlbGF0ZWQgbGlua3M8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSJodHRwOi8vbWFpbC5nbm9tZS5vcmcvYXJjaGl2ZXMveG1sLyI+TWFpbCBhcmNoaXZlPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9YU0xULyI+WFNMVCBsaWJ4c2x0PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9waGQuY3MudW5pYm8uaXQvZ2RvbWUyLyI+RE9NIGdkb21lMjwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmFsZWtzZXkuY29tL3htbHNlYy8iPlhNTC1EU2lnIHhtbHNlYzwvYT48L2xpPjxsaT48YSBocmVmPSJmdHA6Ly94bWxzb2Z0Lm9yZy8iPkZUUDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnpsYXRrb3ZpYy5jb20vcHJvamVjdHMvbGlieG1sLyI+V2luZG93cyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vb3BlbmNzdy5vcmcvcGFja2FnZXMvbGlieG1sMiI+U29sYXJpcyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmV4cGxhaW4uY29tLmF1L29zcy9saWJ4bWwyeHNsdC5odG1sIj5NYWNPc1ggYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2x4bWwuZGUvIj5seG1sIFB5dGhvbiBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vY3Bhbi51d2lubmlwZWcuY2EvZGlzdC9YTUwtTGliWE1MIj5QZXJsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWxwbHVzcGx1cy5zb3VyY2Vmb3JnZS5uZXQvIj5DKysgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56ZW5kLmNvbS9waHA1L2FydGljbGVzL3BocDUteG1scGhwLnBocCNIZWFkaW5nNCI+UEhQIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbGlieG1sMi1wYXMvIj5QYXNjYWwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbC5ydWJ5Zm9yZ2Uub3JnLyI+UnVieSBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vdGNseG1sLnNvdXJjZWZvcmdlLm5ldC8iPlRjbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2J1Z2xpc3QuY2dpP3Byb2R1Y3Q9bGlieG1sMiI+QnVnIFRyYWNrZXI8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dGFibGUgY2xhc3M9Im5hdmlnYXRpb24iIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIyIj48dHIgdmFsaWduPSJtaWRkbGUiPjx0ZD48YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImxpYnhtbC14cG9pbnRlci5odG1sIj48aW1nIHNyYz0ibGVmdC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlByZXYiIC8+PC9hPjwvdGQ+PHRoIGFsaWduPSJsZWZ0Ij48YSBocmVmPSJsaWJ4bWwteHBvaW50ZXIuaHRtbCI+eHBvaW50ZXI8L2E+PC90aD48dGQ+PGEgYWNjZXNza2V5PSJ1IiBocmVmPSJpbmRleC5odG1sIj48aW1nIHNyYz0idXAucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJVcCIgLz48L2E+PC90ZD48dGggYWxpZ249ImxlZnQiPjxhIGhyZWY9ImluZGV4Lmh0bWwiPkFQSSBkb2N1bWVudGF0aW9uPC9hPjwvdGg+PHRkPjxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iLi4vaW5kZXguaHRtbCI+PGltZyBzcmM9ImhvbWUucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJIb21lIiAvPjwvYT48L3RkPjx0aCBhbGlnbj0iY2VudGVyIj48YSBocmVmPSIuLi9pbmRleC5odG1sIj5UaGUgWE1MIEMgcGFyc2VyIGFuZCB0b29sa2l0IG9mIEdub21lPC9hPjwvdGg+PC90cj48L3RhYmxlPjxoMj5UYWJsZSBvZiBDb250ZW50czwvaDI+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPiNkZWZpbmUgPGEgaHJlZj0iI0xJQlhNTDJfWFpMSUJfSCI+TElCWE1MMl9YWkxJQl9IPC9hPjwvcHJlPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5UeXBlZGVmIHZvaWQgKiA8YSBuYW1lPSJ4ekZpbGUiIGlkPSJ4ekZpbGUiPnh6RmlsZTwvYT4KKzwvcHJlPjxoMj5EZXNjcmlwdGlvbjwvaDI+Cis8aDM+PGEgbmFtZT0iTElCWE1MMl9YWkxJQl9IIiBpZD0iTElCWE1MMl9YWkxJQl9IIj48L2E+TWFjcm86IExJQlhNTDJfWFpMSUJfSDwvaDM+PHByZT4jZGVmaW5lIExJQlhNTDJfWFpMSUJfSDwvcHJlPjxwPjwvcD4KKzxwPjxhIGhyZWY9Ii4uL2J1Z3MuaHRtbCI+RGFuaWVsIFZlaWxsYXJkPC9hPjwvcD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvaHRtbC9saWJ4bWwuZGV2aGVscCBiL2xpYnhtbDIvZG9jL2h0bWwvbGlieG1sLmRldmhlbHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDA2YjRiZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL2h0bWwvbGlieG1sLmRldmhlbHAKQEAgLTAsMCArMSw2MTggQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8Ym9vayB4bWxucz0iaHR0cDovL3d3dy5kZXZoZWxwLm5ldC9ib29rIiB0aXRsZT0iR25vbWUgWE1MIExpYnJhcnkgUmVmZXJlbmNlIE1hbnVhbCAiIGxpbms9ImluZGV4Lmh0bWwiIGF1dGhvcj0iIiBuYW1lPSJsaWJ4bWwiPgorICA8Y2hhcHRlcnM+CisgICAgPHN1YiBuYW1lPSJMaWJ4bWwgUHJvZ3JhbW1pbmcgTm90ZXMiIGxpbms9ImNoMDEuaHRtbCI+CisgICAgICA8c3ViIG5hbWU9InRlc3RPT01saWIiIGxpbms9ImxpYnhtbC10ZXN0T09NbGliLmh0bWwiLz4KKyAgICAgIDxzdWIgbmFtZT0id2luY2Vjb21wYXQiIGxpbms9ImxpYnhtbC13aW5jZWNvbXBhdC5odG1sIi8+CisgICAgICA8c3ViIG5hbWU9Indzb2NrY29tcGF0IiBsaW5rPSJsaWJ4bWwtd3NvY2tjb21wYXQuaHRtbCIvPgorICAgICAgPHN1YiBuYW1lPSJlbmNvZGluZyIgbGluaz0ibGlieG1sLWVuY29kaW5nLmh0bWwiLz4KKyAgICAgIDxzdWIgbmFtZT0ieG1scmVnZXhwIiBsaW5rPSJsaWJ4bWwteG1scmVnZXhwLmh0bWwiLz4KKyAgICAgIDxzdWIgbmFtZT0ieG1sbWVtb3J5IiBsaW5rPSJsaWJ4bWwteG1sbWVtb3J5Lmh0bWwiLz4KKyAgICAgIDxzdWIgbmFtZT0ieG1sSU8iIGxpbms9ImxpYnhtbC14bWxJTy5odG1sIi8+CisgICAgICA8c3ViIG5hbWU9InhwYXRoIiBsaW5rPSJsaWJ4bWwteHBhdGguaHRtbCIvPgorICAgICAgPHN1YiBuYW1lPSJjaHZhbGlkIiBsaW5rPSJsaWJ4bWwtY2h2YWxpZC5odG1sIi8+CisgICAgICA8c3ViIG5hbWU9InVyaSIgbGluaz0ibGlieG1sLXVyaS5odG1sIi8+CisgICAgICA8c3ViIG5hbWU9Im5hbm9mdHAiIGxpbms9ImxpYnhtbC1uYW5vZnRwLmh0bWwiLz4KKyAgICAgIDxzdWIgbmFtZT0ic2NoZW1hc0ludGVybmFscyIgbGluaz0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCIvPgorICAgICAgPHN1YiBuYW1lPSJ0aHJlYWRzIiBsaW5rPSJsaWJ4bWwtdGhyZWFkcy5odG1sIi8+CisgICAgICA8c3ViIG5hbWU9InBhcnNlciIgbGluaz0ibGlieG1sLXBhcnNlci5odG1sIi8+CisgICAgICA8c3ViIG5hbWU9ImMxNG4iIGxpbms9ImxpYnhtbC1jMTRuLmh0bWwiLz4KKyAgICAgIDxzdWIgbmFtZT0ieG1sZXJyb3IiIGxpbms9ImxpYnhtbC14bWxlcnJvci5odG1sIi8+CisgICAgICA8c3ViIG5hbWU9InhtbHdpbjMydmVyc2lvbiIgbGluaz0ibGlieG1sLXhtbHdpbjMydmVyc2lvbi5odG1sIi8+CisgICAgICA8c3ViIG5hbWU9IkRPQ0JwYXJzZXIiIGxpbms9ImxpYnhtbC1ET0NCcGFyc2VyLmh0bWwiLz4KKyAgICAgIDxzdWIgbmFtZT0iZGljdCIgbGluaz0ibGlieG1sLWRpY3QuaHRtbCIvPgorICAgICAgPHN1YiBuYW1lPSJ4bWxhdXRvbWF0YSIgbGluaz0ibGlieG1sLXhtbGF1dG9tYXRhLmh0bWwiLz4KKyAgICAgIDxzdWIgbmFtZT0ieHBvaW50ZXIiIGxpbms9ImxpYnhtbC14cG9pbnRlci5odG1sIi8+CisgICAgICA8c3ViIG5hbWU9Imhhc2giIGxpbms9ImxpYnhtbC1oYXNoLmh0bWwiLz4KKyAgICAgIDxzdWIgbmFtZT0icmVsYXhuZyIgbGluaz0ibGlieG1sLXJlbGF4bmcuaHRtbCIvPgorICAgICAgPHN1YiBuYW1lPSJ4cGF0aEludGVybmFscyIgbGluaz0ibGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwiLz4KKyAgICAgIDxzdWIgbmFtZT0ieG1sdmVyc2lvbiIgbGluaz0ibGlieG1sLXhtbHZlcnNpb24uaHRtbCIvPgorICAgICAgPHN1YiBuYW1lPSJsaXN0IiBsaW5rPSJsaWJ4bWwtbGlzdC5odG1sIi8+CisgICAgICA8c3ViIG5hbWU9IkhUTUx0cmVlIiBsaW5rPSJsaWJ4bWwtSFRNTHRyZWUuaHRtbCIvPgorICAgICAgPHN1YiBuYW1lPSJwYXJzZXJJbnRlcm5hbHMiIGxpbms9ImxpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCIvPgorICAgICAgPHN1YiBuYW1lPSJlbnRpdGllcyIgbGluaz0ibGlieG1sLWVudGl0aWVzLmh0bWwiLz4KKyAgICAgIDxzdWIgbmFtZT0iSFRNTHBhcnNlciIgbGluaz0ibGlieG1sLUhUTUxwYXJzZXIuaHRtbCIvPgorICAgICAgPHN1YiBuYW1lPSJ2YWxpZCIgbGluaz0ibGlieG1sLXZhbGlkLmh0bWwiLz4KKyAgICAgIDxzdWIgbmFtZT0iY2F0YWxvZyIgbGluaz0ibGlieG1sLWNhdGFsb2cuaHRtbCIvPgorICAgICAgPHN1YiBuYW1lPSJ0cmVlIiBsaW5rPSJsaWJ4bWwtdHJlZS5odG1sIi8+CisgICAgICA8c3ViIG5hbWU9Imdsb2JhbHMiIGxpbms9ImxpYnhtbC1nbG9iYWxzLmh0bWwiLz4KKyAgICAgIDxzdWIgbmFtZT0ieG1sZXhwb3J0cyIgbGluaz0ibGlieG1sLXhtbGV4cG9ydHMuaHRtbCIvPgorICAgICAgPHN1YiBuYW1lPSJ4aW5jbHVkZSIgbGluaz0ibGlieG1sLXhpbmNsdWRlLmh0bWwiLz4KKyAgICAgIDxzdWIgbmFtZT0ieG1scmVhZGVyIiBsaW5rPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwiLz4KKyAgICAgIDxzdWIgbmFtZT0iZGVidWdYTUwiIGxpbms9ImxpYnhtbC1kZWJ1Z1hNTC5odG1sIi8+CisgICAgICA8c3ViIG5hbWU9InhtbHdyaXRlciIgbGluaz0ibGlieG1sLXhtbHdyaXRlci5odG1sIi8+CisgICAgICA8c3ViIG5hbWU9InhtbHNjaGVtYXMiIGxpbms9ImxpYnhtbC14bWxzY2hlbWFzLmh0bWwiLz4KKyAgICA8L3N1Yj4KKyAgPC9jaGFwdGVycz4KKyAgPGZ1bmN0aW9ucz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0idGVzdF9tYWxsb2MgKCkiIGxpbms9ImxpYnhtbC10ZXN0T09NbGliLmh0bWwjdGVzdC1tYWxsb2MiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0idGVzdF9yZWFsbG9jICgpIiBsaW5rPSJsaWJ4bWwtdGVzdE9PTWxpYi5odG1sI3Rlc3QtcmVhbGxvYyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ0ZXN0X2ZyZWUgKCkiIGxpbms9ImxpYnhtbC10ZXN0T09NbGliLmh0bWwjdGVzdC1mcmVlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InRlc3Rfc3RyZHVwICgpIiBsaW5rPSJsaWJ4bWwtdGVzdE9PTWxpYi5odG1sI3Rlc3Qtc3RyZHVwIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlRlc3RNZW1vcnlGdW5jdGlvbiAoKSIgbGluaz0ibGlieG1sLXRlc3RPT01saWIuaHRtbCNUZXN0TWVtb3J5RnVuY3Rpb24iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0idGVzdF9vb21faGFuZGxpbmcgKCkiIGxpbms9ImxpYnhtbC10ZXN0T09NbGliLmh0bWwjdGVzdC1vb20taGFuZGxpbmciLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0idGVzdF9nZXRfbWFsbG9jX2Jsb2Nrc19vdXRzdGFuZGluZyAoKSIgbGluaz0ibGlieG1sLXRlc3RPT01saWIuaHRtbCN0ZXN0LWdldC1tYWxsb2MtYmxvY2tzLW91dHN0YW5kaW5nIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9Ik1BWF9TVFJFUlJPUiIgbGluaz0ibGlieG1sLXdpbmNlY29tcGF0Lmh0bWwjTUFYLVNUUkVSUk9SLUNBUFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iT19SRE9OTFkiIGxpbms9ImxpYnhtbC13aW5jZWNvbXBhdC5odG1sI08tUkRPTkxZLUNBUFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iT19XUk9OTFkiIGxpbms9ImxpYnhtbC13aW5jZWNvbXBhdC5odG1sI08tV1JPTkxZLUNBUFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iT19SRFdSIiBsaW5rPSJsaWJ4bWwtd2luY2Vjb21wYXQuaHRtbCNPLVJEV1ItQ0FQUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJPX0FQUEVORCIgbGluaz0ibGlieG1sLXdpbmNlY29tcGF0Lmh0bWwjTy1BUFBFTkQtQ0FQUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJPX0NSRUFUIiBsaW5rPSJsaWJ4bWwtd2luY2Vjb21wYXQuaHRtbCNPLUNSRUFULUNBUFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iT19UUlVOQyIgbGluaz0ibGlieG1sLXdpbmNlY29tcGF0Lmh0bWwjTy1UUlVOQy1DQVBTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9Ik9fRVhDTCIgbGluaz0ibGlieG1sLXdpbmNlY29tcGF0Lmh0bWwjTy1FWENMLUNBUFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iZXJybm8iIGxpbms9ImxpYnhtbC13aW5jZWNvbXBhdC5odG1sI2Vycm5vIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InJlYWQgKCkiIGxpbms9ImxpYnhtbC13aW5jZWNvbXBhdC5odG1sI3JlYWQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0id3JpdGUgKCkiIGxpbms9ImxpYnhtbC13aW5jZWNvbXBhdC5odG1sI3dyaXRlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9Im9wZW4gKCkiIGxpbms9ImxpYnhtbC13aW5jZWNvbXBhdC5odG1sI29wZW4iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iY2xvc2UgKCkiIGxpbms9ImxpYnhtbC13aW5jZWNvbXBhdC5odG1sI2Nsb3NlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9ImdldGVudiAoKSIgbGluaz0ibGlieG1sLXdpbmNlY29tcGF0Lmh0bWwjZ2V0ZW52Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InN0cmVycm9yICgpIiBsaW5rPSJsaWJ4bWwtd2luY2Vjb21wYXQuaHRtbCNzdHJlcnJvciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJzbnByaW50ZiIgbGluaz0ibGlieG1sLXdpbmNlY29tcGF0Lmh0bWwjc25wcmludGYiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0idnNucHJpbnRmKCkiIGxpbms9ImxpYnhtbC13aW5jZWNvbXBhdC5odG1sI3ZzbnByaW50ZiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJwZXJyb3IoKSIgbGluaz0ibGlieG1sLXdpbmNlY29tcGF0Lmh0bWwjcGVycm9yIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlNPQ0tMRU5fVCIgbGluaz0ibGlieG1sLXdzb2NrY29tcGF0Lmh0bWwjU09DS0xFTi1ULUNBUFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iRVdPVUxEQkxPQ0siIGxpbms9ImxpYnhtbC13c29ja2NvbXBhdC5odG1sI0VXT1VMREJMT0NLLUNBUFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iRUlOUFJPR1JFU1MiIGxpbms9ImxpYnhtbC13c29ja2NvbXBhdC5odG1sI0VJTlBST0dSRVNTLUNBUFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iRUFMUkVBRFkiIGxpbms9ImxpYnhtbC13c29ja2NvbXBhdC5odG1sI0VBTFJFQURZLUNBUFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iRU5PVFNPQ0siIGxpbms9ImxpYnhtbC13c29ja2NvbXBhdC5odG1sI0VOT1RTT0NLLUNBUFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iRURFU1RBRERSUkVRIiBsaW5rPSJsaWJ4bWwtd3NvY2tjb21wYXQuaHRtbCNFREVTVEFERFJSRVEtQ0FQUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJFTVNHU0laRSIgbGluaz0ibGlieG1sLXdzb2NrY29tcGF0Lmh0bWwjRU1TR1NJWkUtQ0FQUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJFUFJPVE9UWVBFIiBsaW5rPSJsaWJ4bWwtd3NvY2tjb21wYXQuaHRtbCNFUFJPVE9UWVBFLUNBUFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iRU5PUFJPVE9PUFQiIGxpbms9ImxpYnhtbC13c29ja2NvbXBhdC5odG1sI0VOT1BST1RPT1BULUNBUFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iRVBST1RPTk9TVVBQT1JUIiBsaW5rPSJsaWJ4bWwtd3NvY2tjb21wYXQuaHRtbCNFUFJPVE9OT1NVUFBPUlQtQ0FQUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJFU09DS1ROT1NVUFBPUlQiIGxpbms9ImxpYnhtbC13c29ja2NvbXBhdC5odG1sI0VTT0NLVE5PU1VQUE9SVC1DQVBTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IkVPUE5PVFNVUFAiIGxpbms9ImxpYnhtbC13c29ja2NvbXBhdC5odG1sI0VPUE5PVFNVUFAtQ0FQUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJFUEZOT1NVUFBPUlQiIGxpbms9ImxpYnhtbC13c29ja2NvbXBhdC5odG1sI0VQRk5PU1VQUE9SVC1DQVBTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IkVBRk5PU1VQUE9SVCIgbGluaz0ibGlieG1sLXdzb2NrY29tcGF0Lmh0bWwjRUFGTk9TVVBQT1JULUNBUFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iRUFERFJJTlVTRSIgbGluaz0ibGlieG1sLXdzb2NrY29tcGF0Lmh0bWwjRUFERFJJTlVTRS1DQVBTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IkVBRERSTk9UQVZBSUwiIGxpbms9ImxpYnhtbC13c29ja2NvbXBhdC5odG1sI0VBRERSTk9UQVZBSUwtQ0FQUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJFTkVURE9XTiIgbGluaz0ibGlieG1sLXdzb2NrY29tcGF0Lmh0bWwjRU5FVERPV04tQ0FQUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJFTkVUVU5SRUFDSCIgbGluaz0ibGlieG1sLXdzb2NrY29tcGF0Lmh0bWwjRU5FVFVOUkVBQ0gtQ0FQUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJFTkVUUkVTRVQiIGxpbms9ImxpYnhtbC13c29ja2NvbXBhdC5odG1sI0VORVRSRVNFVC1DQVBTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IkVDT05OQUJPUlRFRCIgbGluaz0ibGlieG1sLXdzb2NrY29tcGF0Lmh0bWwjRUNPTk5BQk9SVEVELUNBUFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iRUNPTk5SRVNFVCIgbGluaz0ibGlieG1sLXdzb2NrY29tcGF0Lmh0bWwjRUNPTk5SRVNFVC1DQVBTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IkVOT0JVRlMiIGxpbms9ImxpYnhtbC13c29ja2NvbXBhdC5odG1sI0VOT0JVRlMtQ0FQUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJFSVNDT05OIiBsaW5rPSJsaWJ4bWwtd3NvY2tjb21wYXQuaHRtbCNFSVNDT05OLUNBUFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iRU5PVENPTk4iIGxpbms9ImxpYnhtbC13c29ja2NvbXBhdC5odG1sI0VOT1RDT05OLUNBUFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iRVNIVVRET1dOIiBsaW5rPSJsaWJ4bWwtd3NvY2tjb21wYXQuaHRtbCNFU0hVVERPV04tQ0FQUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJFVE9PTUFOWVJFRlMiIGxpbms9ImxpYnhtbC13c29ja2NvbXBhdC5odG1sI0VUT09NQU5ZUkVGUy1DQVBTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IkVUSU1FRE9VVCIgbGluaz0ibGlieG1sLXdzb2NrY29tcGF0Lmh0bWwjRVRJTUVET1VULUNBUFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iRUNPTk5SRUZVU0VEIiBsaW5rPSJsaWJ4bWwtd3NvY2tjb21wYXQuaHRtbCNFQ09OTlJFRlVTRUQtQ0FQUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJFTE9PUCIgbGluaz0ibGlieG1sLXdzb2NrY29tcGF0Lmh0bWwjRUxPT1AtQ0FQUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJFSE9TVERPV04iIGxpbms9ImxpYnhtbC13c29ja2NvbXBhdC5odG1sI0VIT1NURE9XTi1DQVBTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IkVIT1NUVU5SRUFDSCIgbGluaz0ibGlieG1sLXdzb2NrY29tcGF0Lmh0bWwjRUhPU1RVTlJFQUNILUNBUFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iRVBST0NMSU0iIGxpbms9ImxpYnhtbC13c29ja2NvbXBhdC5odG1sI0VQUk9DTElNLUNBUFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iRVVTRVJTIiBsaW5rPSJsaWJ4bWwtd3NvY2tjb21wYXQuaHRtbCNFVVNFUlMtQ0FQUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJFRFFVT1QiIGxpbms9ImxpYnhtbC13c29ja2NvbXBhdC5odG1sI0VEUVVPVC1DQVBTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IkVTVEFMRSIgbGluaz0ibGlieG1sLXdzb2NrY29tcGF0Lmh0bWwjRVNUQUxFLUNBUFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iRVJFTU9URSIgbGluaz0ibGlieG1sLXdzb2NrY29tcGF0Lmh0bWwjRVJFTU9URS1DQVBTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9ImVudW0geG1sQ2hhckVuY29kaW5nIiBsaW5rPSJsaWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmciLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQ2hhckVuY29kaW5nSW5wdXRGdW5jICgpIiBsaW5rPSJsaWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmdJbnB1dEZ1bmMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYyAoKSIgbGluaz0ibGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJzdHJ1Y3QgeG1sQ2hhckVuY29kaW5nSGFuZGxlciIgbGluaz0ibGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nSGFuZGxlciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyIiBsaW5rPSJsaWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InN0cnVjdCB4bWxSZWdleHAiIGxpbms9ImxpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdleHAiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sUmVnZXhwUHRyIiBsaW5rPSJsaWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnZXhwUHRyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InN0cnVjdCB4bWxSZWdFeGVjQ3R4dCIgbGluaz0ibGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ0V4ZWNDdHh0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFJlZ0V4ZWNDdHh0UHRyIiBsaW5rPSJsaWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnRXhlY0N0eHRQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sUmVnRXhlY0NhbGxiYWNrcyAoKSIgbGluaz0ibGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ0V4ZWNDYWxsYmFja3MiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iREVCVUdfTUVNT1JZIiBsaW5rPSJsaWJ4bWwteG1sbWVtb3J5Lmh0bWwjREVCVUctTUVNT1JZLUNBUFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sRnJlZUZ1bmMgKCkiIGxpbms9ImxpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxGcmVlRnVuYyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxNYWxsb2NGdW5jICgpIiBsaW5rPSJsaWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWFsbG9jRnVuYyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxSZWFsbG9jRnVuYyAoKSIgbGluaz0ibGlieG1sLXhtbG1lbW9yeS5odG1sI3htbFJlYWxsb2NGdW5jIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFN0cmR1cEZ1bmMgKCkiIGxpbms9ImxpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxTdHJkdXBGdW5jIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE1hbGxvYygpIiBsaW5rPSJsaWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWFsbG9jIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE1hbGxvY0F0b21pYygpIiBsaW5rPSJsaWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWFsbG9jQXRvbWljIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFJlYWxsb2MoKSIgbGluaz0ibGlieG1sLXhtbG1lbW9yeS5odG1sI3htbFJlYWxsb2MiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTWVtU3RyZHVwKCkiIGxpbms9ImxpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNZW1TdHJkdXAiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sSW5wdXRNYXRjaENhbGxiYWNrICgpIiBsaW5rPSJsaWJ4bWwteG1sSU8uaHRtbCN4bWxJbnB1dE1hdGNoQ2FsbGJhY2siLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sSW5wdXRPcGVuQ2FsbGJhY2sgKCkiIGxpbms9ImxpYnhtbC14bWxJTy5odG1sI3htbElucHV0T3BlbkNhbGxiYWNrIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbElucHV0UmVhZENhbGxiYWNrICgpIiBsaW5rPSJsaWJ4bWwteG1sSU8uaHRtbCN4bWxJbnB1dFJlYWRDYWxsYmFjayIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxJbnB1dENsb3NlQ2FsbGJhY2sgKCkiIGxpbms9ImxpYnhtbC14bWxJTy5odG1sI3htbElucHV0Q2xvc2VDYWxsYmFjayIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxPdXRwdXRNYXRjaENhbGxiYWNrICgpIiBsaW5rPSJsaWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRNYXRjaENhbGxiYWNrIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE91dHB1dE9wZW5DYWxsYmFjayAoKSIgbGluaz0ibGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0T3BlbkNhbGxiYWNrIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE91dHB1dFdyaXRlQ2FsbGJhY2sgKCkiIGxpbms9ImxpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dFdyaXRlQ2FsbGJhY2siLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sT3V0cHV0Q2xvc2VDYWxsYmFjayAoKSIgbGluaz0ibGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0Q2xvc2VDYWxsYmFjayIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJzdHJ1Y3QgeG1sUGFyc2VySW5wdXRCdWZmZXIiIGxpbms9ImxpYnhtbC14bWxJTy5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InN0cnVjdCB4bWxPdXRwdXRCdWZmZXIiIGxpbms9ImxpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dEJ1ZmZlciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJzdHJ1Y3QgeG1sWFBhdGhDb250ZXh0IiBsaW5rPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhDb250ZXh0UHRyIiBsaW5rPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHRQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ic3RydWN0IHhtbFhQYXRoUGFyc2VyQ29udGV4dCIgbGluaz0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciIgbGluaz0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9ImVudW0geG1sWFBhdGhFcnJvciIgbGluaz0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhFcnJvciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJzdHJ1Y3QgeG1sTm9kZVNldCIgbGluaz0ibGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxOb2RlU2V0UHRyIiBsaW5rPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxOb2RlU2V0UHRyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9ImVudW0geG1sWFBhdGhPYmplY3RUeXBlIiBsaW5rPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFR5cGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ic3RydWN0IHhtbFhQYXRoT2JqZWN0IiBsaW5rPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUGF0aE9iamVjdFB0ciIgbGluaz0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhDb252ZXJ0RnVuYyAoKSIgbGluaz0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb252ZXJ0RnVuYyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJzdHJ1Y3QgeG1sWFBhdGhUeXBlIiBsaW5rPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFR5cGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhUeXBlUHRyIiBsaW5rPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFR5cGVQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ic3RydWN0IHhtbFhQYXRoVmFyaWFibGUiIGxpbms9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoVmFyaWFibGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhWYXJpYWJsZVB0ciIgbGluaz0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhWYXJpYWJsZVB0ciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUGF0aEV2YWxGdW5jICgpIiBsaW5rPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aEV2YWxGdW5jIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InN0cnVjdCB4bWxYUGF0aEZ1bmN0IiBsaW5rPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aEZ1bmN0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoRnVuY1B0ciIgbGluaz0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhGdW5jUHRyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoQXhpc0Z1bmMgKCkiIGxpbms9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQXhpc0Z1bmMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ic3RydWN0IHhtbFhQYXRoQXhpcyIgbGluaz0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhBeGlzIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoQXhpc1B0ciIgbGluaz0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhBeGlzUHRyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InN0cnVjdCB4bWxYUGF0aENvbXBFeHByIiBsaW5rPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbXBFeHByIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoQ29tcEV4cHJQdHIiIGxpbms9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29tcEV4cHJQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhGdW5jdGlvbiAoKSIgbGluaz0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhGdW5jdGlvbiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUGF0aE5BTiIgbGluaz0ibGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhOQU4iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhQSU5GIiBsaW5rPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBJTkYiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhOSU5GIiBsaW5rPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE5JTkYiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhOb2RlU2V0R2V0TGVuZ3RoKCkiIGxpbms9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoTm9kZVNldEdldExlbmd0aCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUGF0aE5vZGVTZXRJdGVtKCkiIGxpbms9ImxpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoTm9kZVNldEl0ZW0iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhOb2RlU2V0SXNFbXB0eSgpIiBsaW5rPSJsaWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE5vZGVTZXRJc0VtcHR5Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InN0cnVjdCB4bWxDaFNSYW5nZSIgbGluaz0ibGlieG1sLWNodmFsaWQuaHRtbCN4bWxDaFNSYW5nZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxDaFNSYW5nZVB0ciIgbGluaz0ibGlieG1sLWNodmFsaWQuaHRtbCN4bWxDaFNSYW5nZVB0ciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJzdHJ1Y3QgeG1sQ2hMUmFuZ2UiIGxpbms9ImxpYnhtbC1jaHZhbGlkLmh0bWwjeG1sQ2hMUmFuZ2UiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQ2hMUmFuZ2VQdHIiIGxpbms9ImxpYnhtbC1jaHZhbGlkLmh0bWwjeG1sQ2hMUmFuZ2VQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ic3RydWN0IHhtbENoUmFuZ2VHcm91cCIgbGluaz0ibGlieG1sLWNodmFsaWQuaHRtbCN4bWxDaFJhbmdlR3JvdXAiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQ2hSYW5nZUdyb3VwUHRyIiBsaW5rPSJsaWJ4bWwtY2h2YWxpZC5odG1sI3htbENoUmFuZ2VHcm91cFB0ciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxJc0Jhc2VDaGFyX2NoKCkiIGxpbms9ImxpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNCYXNlQ2hhci1jaCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxJc0Jhc2VDaGFyUSgpIiBsaW5rPSJsaWJ4bWwtY2h2YWxpZC5odG1sI3htbElzQmFzZUNoYXJRIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbElzQmFzZUNoYXJHcm91cCIgbGluaz0ibGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc0Jhc2VDaGFyR3JvdXAiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sSXNCbGFua19jaCgpIiBsaW5rPSJsaWJ4bWwtY2h2YWxpZC5odG1sI3htbElzQmxhbmstY2giLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sSXNCbGFua1EoKSIgbGluaz0ibGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc0JsYW5rUSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxJc0NoYXJfY2goKSIgbGluaz0ibGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc0NoYXItY2giLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sSXNDaGFyUSgpIiBsaW5rPSJsaWJ4bWwtY2h2YWxpZC5odG1sI3htbElzQ2hhclEiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sSXNDaGFyR3JvdXAiIGxpbms9ImxpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNDaGFyR3JvdXAiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sSXNDb21iaW5pbmdRKCkiIGxpbms9ImxpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNDb21iaW5pbmdRIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbElzQ29tYmluaW5nR3JvdXAiIGxpbms9ImxpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNDb21iaW5pbmdHcm91cCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxJc0RpZ2l0X2NoKCkiIGxpbms9ImxpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNEaWdpdC1jaCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxJc0RpZ2l0USgpIiBsaW5rPSJsaWJ4bWwtY2h2YWxpZC5odG1sI3htbElzRGlnaXRRIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbElzRGlnaXRHcm91cCIgbGluaz0ibGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc0RpZ2l0R3JvdXAiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sSXNFeHRlbmRlcl9jaCgpIiBsaW5rPSJsaWJ4bWwtY2h2YWxpZC5odG1sI3htbElzRXh0ZW5kZXItY2giLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sSXNFeHRlbmRlclEoKSIgbGluaz0ibGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc0V4dGVuZGVyUSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxJc0V4dGVuZGVyR3JvdXAiIGxpbms9ImxpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNFeHRlbmRlckdyb3VwIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbElzSWRlb2dyYXBoaWNRKCkiIGxpbms9ImxpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNJZGVvZ3JhcGhpY1EiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sSXNJZGVvZ3JhcGhpY0dyb3VwIiBsaW5rPSJsaWJ4bWwtY2h2YWxpZC5odG1sI3htbElzSWRlb2dyYXBoaWNHcm91cCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxJc1B1YmlkQ2hhcl9jaCgpIiBsaW5rPSJsaWJ4bWwtY2h2YWxpZC5odG1sI3htbElzUHViaWRDaGFyLWNoIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbElzUHViaWRDaGFyUSgpIiBsaW5rPSJsaWJ4bWwtY2h2YWxpZC5odG1sI3htbElzUHViaWRDaGFyUSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJzdHJ1Y3QgeG1sVVJJIiBsaW5rPSJsaWJ4bWwtdXJpLmh0bWwjeG1sVVJJIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFVSSVB0ciIgbGluaz0ibGlieG1sLXVyaS5odG1sI3htbFVSSVB0ciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJmdHBMaXN0Q2FsbGJhY2sgKCkiIGxpbms9ImxpYnhtbC1uYW5vZnRwLmh0bWwjZnRwTGlzdENhbGxiYWNrIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9ImZ0cERhdGFDYWxsYmFjayAoKSIgbGluaz0ibGlieG1sLW5hbm9mdHAuaHRtbCNmdHBEYXRhQ2FsbGJhY2siLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iZW51bSB4bWxTY2hlbWFUeXBlVHlwZSIgbGluaz0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFUeXBlVHlwZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJlbnVtIHhtbFNjaGVtYUNvbnRlbnRUeXBlIiBsaW5rPSJsaWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYUNvbnRlbnRUeXBlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InN0cnVjdCB4bWxTY2hlbWFWYWwiIGxpbms9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVmFsIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNjaGVtYVZhbFB0ciIgbGluaz0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFWYWxQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ic3RydWN0IHhtbFNjaGVtYVR5cGUiIGxpbms9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVHlwZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTY2hlbWFUeXBlUHRyIiBsaW5rPSJsaWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVR5cGVQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ic3RydWN0IHhtbFNjaGVtYUZhY2V0IiBsaW5rPSJsaWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYUZhY2V0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNjaGVtYUZhY2V0UHRyIiBsaW5rPSJsaWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYUZhY2V0UHRyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InN0cnVjdCB4bWxTY2hlbWFBbm5vdCIgbGluaz0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFBbm5vdCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTY2hlbWFBbm5vdFB0ciIgbGluaz0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFBbm5vdFB0ciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BU19BTllBVFRSX1NLSVAiIGxpbms9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MLVNDSEVNQVMtQU5ZQVRUUi1TS0lQLUNBUFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVNfQU5ZQVRUUl9MQVgiIGxpbms9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MLVNDSEVNQVMtQU5ZQVRUUi1MQVgtQ0FQUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BU19BTllBVFRSX1NUUklDVCIgbGluaz0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUwtU0NIRU1BUy1BTllBVFRSLVNUUklDVC1DQVBTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InN0cnVjdCB4bWxTY2hlbWFBdHRyaWJ1dGUiIGxpbms9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hQXR0cmlidXRlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNjaGVtYUF0dHJpYnV0ZVB0ciIgbGluaz0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFBdHRyaWJ1dGVQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ic3RydWN0IHhtbFNjaGVtYUF0dHJpYnV0ZUdyb3VwIiBsaW5rPSJsaWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYUF0dHJpYnV0ZUdyb3VwIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNjaGVtYUF0dHJpYnV0ZUdyb3VwUHRyIiBsaW5rPSJsaWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYUF0dHJpYnV0ZUdyb3VwUHRyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX1RZUEVfTUlYRUQiIGxpbms9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MLVNDSEVNQVMtVFlQRS1NSVhFRC1DQVBTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX0VMRU1fTklMTEFCTEUiIGxpbms9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MLVNDSEVNQVMtRUxFTS1OSUxMQUJMRS1DQVBTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX0VMRU1fR0xPQkFMIiBsaW5rPSJsaWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTC1TQ0hFTUFTLUVMRU0tR0xPQkFMLUNBUFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVNfRUxFTV9ERUZBVUxUIiBsaW5rPSJsaWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTC1TQ0hFTUFTLUVMRU0tREVGQVVMVC1DQVBTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX0VMRU1fRklYRUQiIGxpbms9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MLVNDSEVNQVMtRUxFTS1GSVhFRC1DQVBTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX0VMRU1fQUJTVFJBQ1QiIGxpbms9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MLVNDSEVNQVMtRUxFTS1BQlNUUkFDVC1DQVBTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX0VMRU1fVE9QTEVWRUwiIGxpbms9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MLVNDSEVNQVMtRUxFTS1UT1BMRVZFTC1DQVBTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX0VMRU1fUkVGIiBsaW5rPSJsaWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTC1TQ0hFTUFTLUVMRU0tUkVGLUNBUFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ic3RydWN0IHhtbFNjaGVtYUVsZW1lbnQiIGxpbms9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hRWxlbWVudCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTY2hlbWFFbGVtZW50UHRyIiBsaW5rPSJsaWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYUVsZW1lbnRQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVNfRkFDRVRfVU5LTk9XTiIgbGluaz0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUwtU0NIRU1BUy1GQUNFVC1VTktOT1dOLUNBUFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1NDSEVNQVNfRkFDRVRfUFJFU0VSVkUiIGxpbms9ImxpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MLVNDSEVNQVMtRkFDRVQtUFJFU0VSVkUtQ0FQUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BU19GQUNFVF9SRVBMQUNFIiBsaW5rPSJsaWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTC1TQ0hFTUFTLUZBQ0VULVJFUExBQ0UtQ0FQUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BU19GQUNFVF9DT0xMQVBTRSIgbGluaz0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUwtU0NIRU1BUy1GQUNFVC1DT0xMQVBTRS1DQVBTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InN0cnVjdCB4bWxTY2hlbWFOb3RhdGlvbiIgbGluaz0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFOb3RhdGlvbiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTY2hlbWFOb3RhdGlvblB0ciIgbGluaz0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFOb3RhdGlvblB0ciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0NIRU1BU19RVUFMSUZfRUxFTSIgbGluaz0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUwtU0NIRU1BUy1RVUFMSUYtRUxFTS1DQVBTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TQ0hFTUFTX1FVQUxJRl9BVFRSIiBsaW5rPSJsaWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTC1TQ0hFTUFTLVFVQUxJRi1BVFRSLUNBUFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ic3RydWN0IHhtbFNjaGVtYSIgbGluaz0ibGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWEiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ic3RydWN0IHhtbE11dGV4IiBsaW5rPSJsaWJ4bWwtdGhyZWFkcy5odG1sI3htbE11dGV4Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE11dGV4UHRyIiBsaW5rPSJsaWJ4bWwtdGhyZWFkcy5odG1sI3htbE11dGV4UHRyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InN0cnVjdCB4bWxSTXV0ZXgiIGxpbms9ImxpYnhtbC10aHJlYWRzLmh0bWwjeG1sUk11dGV4Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFJNdXRleFB0ciIgbGluaz0ibGlieG1sLXRocmVhZHMuaHRtbCN4bWxSTXV0ZXhQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0RFRkFVTFRfVkVSU0lPTiIgbGluaz0ibGlieG1sLXBhcnNlci5odG1sI1hNTC1ERUZBVUxULVZFUlNJT04tQ0FQUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxQYXJzZXJJbnB1dERlYWxsb2NhdGUgKCkiIGxpbms9ImxpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZXJJbnB1dERlYWxsb2NhdGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ic3RydWN0IHhtbFBhcnNlcklucHV0IiBsaW5rPSJsaWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VySW5wdXQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ic3RydWN0IHhtbFBhcnNlck5vZGVJbmZvIiBsaW5rPSJsaWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VyTm9kZUluZm8iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sUGFyc2VyTm9kZUluZm9QdHIiIGxpbms9ImxpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZXJOb2RlSW5mb1B0ciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJzdHJ1Y3QgeG1sUGFyc2VyTm9kZUluZm9TZXEiIGxpbms9ImxpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZXJOb2RlSW5mb1NlcSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxQYXJzZXJOb2RlSW5mb1NlcVB0ciIgbGluaz0ibGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlck5vZGVJbmZvU2VxUHRyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9ImVudW0geG1sUGFyc2VySW5wdXRTdGF0ZSIgbGluaz0ibGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlcklucHV0U3RhdGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0RFVEVDVF9JRFMiIGxpbms9ImxpYnhtbC1wYXJzZXIuaHRtbCNYTUwtREVURUNULUlEUy1DQVBTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9DT01QTEVURV9BVFRSUyIgbGluaz0ibGlieG1sLXBhcnNlci5odG1sI1hNTC1DT01QTEVURS1BVFRSUy1DQVBTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TS0lQX0lEUyIgbGluaz0ibGlieG1sLXBhcnNlci5odG1sI1hNTC1TS0lQLUlEUy1DQVBTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InN0cnVjdCB4bWxQYXJzZXJDdHh0IiBsaW5rPSJsaWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VyQ3R4dCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJzdHJ1Y3QgeG1sU0FYTG9jYXRvciIgbGluaz0ibGlieG1sLXBhcnNlci5odG1sI3htbFNBWExvY2F0b3IiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0icmVzb2x2ZUVudGl0eVNBWEZ1bmMgKCkiIGxpbms9ImxpYnhtbC1wYXJzZXIuaHRtbCNyZXNvbHZlRW50aXR5U0FYRnVuYyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJpbnRlcm5hbFN1YnNldFNBWEZ1bmMgKCkiIGxpbms9ImxpYnhtbC1wYXJzZXIuaHRtbCNpbnRlcm5hbFN1YnNldFNBWEZ1bmMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iZXh0ZXJuYWxTdWJzZXRTQVhGdW5jICgpIiBsaW5rPSJsaWJ4bWwtcGFyc2VyLmh0bWwjZXh0ZXJuYWxTdWJzZXRTQVhGdW5jIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9ImdldEVudGl0eVNBWEZ1bmMgKCkiIGxpbms9ImxpYnhtbC1wYXJzZXIuaHRtbCNnZXRFbnRpdHlTQVhGdW5jIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9ImdldFBhcmFtZXRlckVudGl0eVNBWEZ1bmMgKCkiIGxpbms9ImxpYnhtbC1wYXJzZXIuaHRtbCNnZXRQYXJhbWV0ZXJFbnRpdHlTQVhGdW5jIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9ImVudGl0eURlY2xTQVhGdW5jICgpIiBsaW5rPSJsaWJ4bWwtcGFyc2VyLmh0bWwjZW50aXR5RGVjbFNBWEZ1bmMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ibm90YXRpb25EZWNsU0FYRnVuYyAoKSIgbGluaz0ibGlieG1sLXBhcnNlci5odG1sI25vdGF0aW9uRGVjbFNBWEZ1bmMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iYXR0cmlidXRlRGVjbFNBWEZ1bmMgKCkiIGxpbms9ImxpYnhtbC1wYXJzZXIuaHRtbCNhdHRyaWJ1dGVEZWNsU0FYRnVuYyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJlbGVtZW50RGVjbFNBWEZ1bmMgKCkiIGxpbms9ImxpYnhtbC1wYXJzZXIuaHRtbCNlbGVtZW50RGVjbFNBWEZ1bmMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0idW5wYXJzZWRFbnRpdHlEZWNsU0FYRnVuYyAoKSIgbGluaz0ibGlieG1sLXBhcnNlci5odG1sI3VucGFyc2VkRW50aXR5RGVjbFNBWEZ1bmMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ic2V0RG9jdW1lbnRMb2NhdG9yU0FYRnVuYyAoKSIgbGluaz0ibGlieG1sLXBhcnNlci5odG1sI3NldERvY3VtZW50TG9jYXRvclNBWEZ1bmMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ic3RhcnREb2N1bWVudFNBWEZ1bmMgKCkiIGxpbms9ImxpYnhtbC1wYXJzZXIuaHRtbCNzdGFydERvY3VtZW50U0FYRnVuYyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJlbmREb2N1bWVudFNBWEZ1bmMgKCkiIGxpbms9ImxpYnhtbC1wYXJzZXIuaHRtbCNlbmREb2N1bWVudFNBWEZ1bmMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ic3RhcnRFbGVtZW50U0FYRnVuYyAoKSIgbGluaz0ibGlieG1sLXBhcnNlci5odG1sI3N0YXJ0RWxlbWVudFNBWEZ1bmMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iZW5kRWxlbWVudFNBWEZ1bmMgKCkiIGxpbms9ImxpYnhtbC1wYXJzZXIuaHRtbCNlbmRFbGVtZW50U0FYRnVuYyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJhdHRyaWJ1dGVTQVhGdW5jICgpIiBsaW5rPSJsaWJ4bWwtcGFyc2VyLmh0bWwjYXR0cmlidXRlU0FYRnVuYyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJyZWZlcmVuY2VTQVhGdW5jICgpIiBsaW5rPSJsaWJ4bWwtcGFyc2VyLmh0bWwjcmVmZXJlbmNlU0FYRnVuYyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJjaGFyYWN0ZXJzU0FYRnVuYyAoKSIgbGluaz0ibGlieG1sLXBhcnNlci5odG1sI2NoYXJhY3RlcnNTQVhGdW5jIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9Imlnbm9yYWJsZVdoaXRlc3BhY2VTQVhGdW5jICgpIiBsaW5rPSJsaWJ4bWwtcGFyc2VyLmh0bWwjaWdub3JhYmxlV2hpdGVzcGFjZVNBWEZ1bmMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0icHJvY2Vzc2luZ0luc3RydWN0aW9uU0FYRnVuYyAoKSIgbGluaz0ibGlieG1sLXBhcnNlci5odG1sI3Byb2Nlc3NpbmdJbnN0cnVjdGlvblNBWEZ1bmMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iY29tbWVudFNBWEZ1bmMgKCkiIGxpbms9ImxpYnhtbC1wYXJzZXIuaHRtbCNjb21tZW50U0FYRnVuYyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJjZGF0YUJsb2NrU0FYRnVuYyAoKSIgbGluaz0ibGlieG1sLXBhcnNlci5odG1sI2NkYXRhQmxvY2tTQVhGdW5jIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9Indhcm5pbmdTQVhGdW5jICgpIiBsaW5rPSJsaWJ4bWwtcGFyc2VyLmh0bWwjd2FybmluZ1NBWEZ1bmMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iZXJyb3JTQVhGdW5jICgpIiBsaW5rPSJsaWJ4bWwtcGFyc2VyLmh0bWwjZXJyb3JTQVhGdW5jIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9ImZhdGFsRXJyb3JTQVhGdW5jICgpIiBsaW5rPSJsaWJ4bWwtcGFyc2VyLmh0bWwjZmF0YWxFcnJvclNBWEZ1bmMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iaXNTdGFuZGFsb25lU0FYRnVuYyAoKSIgbGluaz0ibGlieG1sLXBhcnNlci5odG1sI2lzU3RhbmRhbG9uZVNBWEZ1bmMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iaGFzSW50ZXJuYWxTdWJzZXRTQVhGdW5jICgpIiBsaW5rPSJsaWJ4bWwtcGFyc2VyLmh0bWwjaGFzSW50ZXJuYWxTdWJzZXRTQVhGdW5jIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9Imhhc0V4dGVybmFsU3Vic2V0U0FYRnVuYyAoKSIgbGluaz0ibGlieG1sLXBhcnNlci5odG1sI2hhc0V4dGVybmFsU3Vic2V0U0FYRnVuYyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU0FYMl9NQUdJQyIgbGluaz0ibGlieG1sLXBhcnNlci5odG1sI1hNTC1TQVgyLU1BR0lDLUNBUFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ic3RhcnRFbGVtZW50TnNTQVgyRnVuYyAoKSIgbGluaz0ibGlieG1sLXBhcnNlci5odG1sI3N0YXJ0RWxlbWVudE5zU0FYMkZ1bmMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iZW5kRWxlbWVudE5zU0FYMkZ1bmMgKCkiIGxpbms9ImxpYnhtbC1wYXJzZXIuaHRtbCNlbmRFbGVtZW50TnNTQVgyRnVuYyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJzdHJ1Y3QgeG1sU0FYSGFuZGxlciIgbGluaz0ibGlieG1sLXBhcnNlci5odG1sI3htbFNBWEhhbmRsZXIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ic3RydWN0IHhtbFNBWEhhbmRsZXJWMSIgbGluaz0ibGlieG1sLXBhcnNlci5odG1sI3htbFNBWEhhbmRsZXJWMSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxTQVhIYW5kbGVyVjFQdHIiIGxpbms9ImxpYnhtbC1wYXJzZXIuaHRtbCN4bWxTQVhIYW5kbGVyVjFQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sRXh0ZXJuYWxFbnRpdHlMb2FkZXIgKCkiIGxpbms9ImxpYnhtbC1wYXJzZXIuaHRtbCN4bWxFeHRlcm5hbEVudGl0eUxvYWRlciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJlbnVtIHhtbFBhcnNlck9wdGlvbiIgbGluaz0ibGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlck9wdGlvbiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxDMTROSXNWaXNpYmxlQ2FsbGJhY2sgKCkiIGxpbms9ImxpYnhtbC1jMTRuLmh0bWwjeG1sQzE0TklzVmlzaWJsZUNhbGxiYWNrIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9ImVudW0geG1sRXJyb3JMZXZlbCIgbGluaz0ibGlieG1sLXhtbGVycm9yLmh0bWwjeG1sRXJyb3JMZXZlbCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJlbnVtIHhtbEVycm9yRG9tYWluIiBsaW5rPSJsaWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxFcnJvckRvbWFpbiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJzdHJ1Y3QgeG1sRXJyb3IiIGxpbms9ImxpYnhtbC14bWxlcnJvci5odG1sI3htbEVycm9yIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEVycm9yUHRyIiBsaW5rPSJsaWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxFcnJvclB0ciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJlbnVtIHhtbFBhcnNlckVycm9ycyIgbGluaz0ibGlieG1sLXhtbGVycm9yLmh0bWwjeG1sUGFyc2VyRXJyb3JzIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEdlbmVyaWNFcnJvckZ1bmMgKCkiIGxpbms9ImxpYnhtbC14bWxlcnJvci5odG1sI3htbEdlbmVyaWNFcnJvckZ1bmMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU3RydWN0dXJlZEVycm9yRnVuYyAoKSIgbGluaz0ibGlieG1sLXhtbGVycm9yLmh0bWwjeG1sU3RydWN0dXJlZEVycm9yRnVuYyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxDaGVja1ZlcnNpb24gKCkiIGxpbms9ImxpYnhtbC14bWx3aW4zMnZlcnNpb24uaHRtbCN4bWxDaGVja1ZlcnNpb24iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iTElCWE1MX0RPVFRFRF9WRVJTSU9OIiBsaW5rPSJsaWJ4bWwteG1sd2luMzJ2ZXJzaW9uLmh0bWwjTElCWE1MLURPVFRFRC1WRVJTSU9OLUNBUFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iTElCWE1MX1ZFUlNJT04iIGxpbms9ImxpYnhtbC14bWx3aW4zMnZlcnNpb24uaHRtbCNMSUJYTUwtVkVSU0lPTi1DQVBTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IkxJQlhNTF9WRVJTSU9OX1NUUklORyIgbGluaz0ibGlieG1sLXhtbHdpbjMydmVyc2lvbi5odG1sI0xJQlhNTC1WRVJTSU9OLVNUUklORy1DQVBTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IkxJQlhNTF9URVNUX1ZFUlNJT04iIGxpbms9ImxpYnhtbC14bWx3aW4zMnZlcnNpb24uaHRtbCNMSUJYTUwtVEVTVC1WRVJTSU9OLUNBUFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iV0lUSF9UUklPIiBsaW5rPSJsaWJ4bWwteG1sd2luMzJ2ZXJzaW9uLmh0bWwjV0lUSC1UUklPLUNBUFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iV0lUSE9VVF9UUklPIiBsaW5rPSJsaWJ4bWwteG1sd2luMzJ2ZXJzaW9uLmh0bWwjV0lUSE9VVC1UUklPLUNBUFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iTElCWE1MX1RIUkVBRF9FTkFCTEVEIiBsaW5rPSJsaWJ4bWwteG1sd2luMzJ2ZXJzaW9uLmh0bWwjTElCWE1MLVRIUkVBRC1FTkFCTEVELUNBUFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iTElCWE1MX0ZUUF9FTkFCTEVEIiBsaW5rPSJsaWJ4bWwteG1sd2luMzJ2ZXJzaW9uLmh0bWwjTElCWE1MLUZUUC1FTkFCTEVELUNBUFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iTElCWE1MX0hUVFBfRU5BQkxFRCIgbGluaz0ibGlieG1sLXhtbHdpbjMydmVyc2lvbi5odG1sI0xJQlhNTC1IVFRQLUVOQUJMRUQtQ0FQUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJMSUJYTUxfSFRNTF9FTkFCTEVEIiBsaW5rPSJsaWJ4bWwteG1sd2luMzJ2ZXJzaW9uLmh0bWwjTElCWE1MLUhUTUwtRU5BQkxFRC1DQVBTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IkxJQlhNTF9DQVRBTE9HX0VOQUJMRUQiIGxpbms9ImxpYnhtbC14bWx3aW4zMnZlcnNpb24uaHRtbCNMSUJYTUwtQ0FUQUxPRy1FTkFCTEVELUNBUFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iTElCWE1MX0RPQ0JfRU5BQkxFRCIgbGluaz0ibGlieG1sLXhtbHdpbjMydmVyc2lvbi5odG1sI0xJQlhNTC1ET0NCLUVOQUJMRUQtQ0FQUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJMSUJYTUxfWFBBVEhfRU5BQkxFRCIgbGluaz0ibGlieG1sLXhtbHdpbjMydmVyc2lvbi5odG1sI0xJQlhNTC1YUEFUSC1FTkFCTEVELUNBUFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iTElCWE1MX1hQVFJfRU5BQkxFRCIgbGluaz0ibGlieG1sLXhtbHdpbjMydmVyc2lvbi5odG1sI0xJQlhNTC1YUFRSLUVOQUJMRUQtQ0FQUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJMSUJYTUxfQzE0Tl9FTkFCTEVEIiBsaW5rPSJsaWJ4bWwteG1sd2luMzJ2ZXJzaW9uLmh0bWwjTElCWE1MLUMxNE4tRU5BQkxFRC1DQVBTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IkxJQlhNTF9YSU5DTFVERV9FTkFCTEVEIiBsaW5rPSJsaWJ4bWwteG1sd2luMzJ2ZXJzaW9uLmh0bWwjTElCWE1MLVhJTkNMVURFLUVOQUJMRUQtQ0FQUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJMSUJYTUxfSUNPTlZfRU5BQkxFRCIgbGluaz0ibGlieG1sLXhtbHdpbjMydmVyc2lvbi5odG1sI0xJQlhNTC1JQ09OVi1FTkFCTEVELUNBUFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iTElCWE1MX0RFQlVHX0VOQUJMRUQiIGxpbms9ImxpYnhtbC14bWx3aW4zMnZlcnNpb24uaHRtbCNMSUJYTUwtREVCVUctRU5BQkxFRC1DQVBTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IkRFQlVHX01FTU9SWV9MT0NBVElPTiIgbGluaz0ibGlieG1sLXhtbHdpbjMydmVyc2lvbi5odG1sI0RFQlVHLU1FTU9SWS1MT0NBVElPTi1DQVBTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IkxJQlhNTF9ETExfSU1QT1JUIiBsaW5rPSJsaWJ4bWwteG1sd2luMzJ2ZXJzaW9uLmh0bWwjTElCWE1MLURMTC1JTVBPUlQtQ0FQUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJBVFRSSUJVVEVfVU5VU0VEIiBsaW5rPSJsaWJ4bWwteG1sd2luMzJ2ZXJzaW9uLmh0bWwjQVRUUklCVVRFLVVOVVNFRC1DQVBTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9ImRvY2JQYXJzZXJDdHh0IiBsaW5rPSJsaWJ4bWwtRE9DQnBhcnNlci5odG1sI2RvY2JQYXJzZXJDdHh0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9ImRvY2JQYXJzZXJDdHh0UHRyIiBsaW5rPSJsaWJ4bWwtRE9DQnBhcnNlci5odG1sI2RvY2JQYXJzZXJDdHh0UHRyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9ImRvY2JTQVhIYW5kbGVyIiBsaW5rPSJsaWJ4bWwtRE9DQnBhcnNlci5odG1sI2RvY2JTQVhIYW5kbGVyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9ImRvY2JTQVhIYW5kbGVyUHRyIiBsaW5rPSJsaWJ4bWwtRE9DQnBhcnNlci5odG1sI2RvY2JTQVhIYW5kbGVyUHRyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9ImRvY2JQYXJzZXJJbnB1dCIgbGluaz0ibGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiUGFyc2VySW5wdXQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iZG9jYlBhcnNlcklucHV0UHRyIiBsaW5rPSJsaWJ4bWwtRE9DQnBhcnNlci5odG1sI2RvY2JQYXJzZXJJbnB1dFB0ciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJkb2NiRG9jUHRyIiBsaW5rPSJsaWJ4bWwtRE9DQnBhcnNlci5odG1sI2RvY2JEb2NQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ic3RydWN0IHhtbERpY3QiIGxpbms9ImxpYnhtbC1kaWN0Lmh0bWwjeG1sRGljdCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxEaWN0UHRyIiBsaW5rPSJsaWJ4bWwtZGljdC5odG1sI3htbERpY3RQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ic3RydWN0IHhtbEF1dG9tYXRhIiBsaW5rPSJsaWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxBdXRvbWF0YVB0ciIgbGluaz0ibGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ic3RydWN0IHhtbEF1dG9tYXRhU3RhdGUiIGxpbms9ImxpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhU3RhdGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQXV0b21hdGFTdGF0ZVB0ciIgbGluaz0ibGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFTdGF0ZVB0ciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJzdHJ1Y3QgeG1sTG9jYXRpb25TZXQiIGxpbms9ImxpYnhtbC14cG9pbnRlci5odG1sI3htbExvY2F0aW9uU2V0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbExvY2F0aW9uU2V0UHRyIiBsaW5rPSJsaWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxMb2NhdGlvblNldFB0ciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJzdHJ1Y3QgeG1sSGFzaFRhYmxlIiBsaW5rPSJsaWJ4bWwtaGFzaC5odG1sI3htbEhhc2hUYWJsZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxIYXNoVGFibGVQdHIiIGxpbms9ImxpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFRhYmxlUHRyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEhhc2hEZWFsbG9jYXRvciAoKSIgbGluaz0ibGlieG1sLWhhc2guaHRtbCN4bWxIYXNoRGVhbGxvY2F0b3IiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sSGFzaENvcGllciAoKSIgbGluaz0ibGlieG1sLWhhc2guaHRtbCN4bWxIYXNoQ29waWVyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEhhc2hTY2FubmVyICgpIiBsaW5rPSJsaWJ4bWwtaGFzaC5odG1sI3htbEhhc2hTY2FubmVyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEhhc2hTY2FubmVyRnVsbCAoKSIgbGluaz0ibGlieG1sLWhhc2guaHRtbCN4bWxIYXNoU2Nhbm5lckZ1bGwiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ic3RydWN0IHhtbFJlbGF4TkciIGxpbms9ImxpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhORyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxSZWxheE5HUHRyIiBsaW5rPSJsaWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sUmVsYXhOR1ZhbGlkaXR5RXJyb3JGdW5jICgpIiBsaW5rPSJsaWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdWYWxpZGl0eUVycm9yRnVuYyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxSZWxheE5HVmFsaWRpdHlXYXJuaW5nRnVuYyAoKSIgbGluaz0ibGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HVmFsaWRpdHlXYXJuaW5nRnVuYyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJzdHJ1Y3QgeG1sUmVsYXhOR1BhcnNlckN0eHQiIGxpbms9ImxpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1BhcnNlckN0eHQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sUmVsYXhOR1BhcnNlckN0eHRQdHIiIGxpbms9ImxpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1BhcnNlckN0eHRQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ic3RydWN0IHhtbFJlbGF4TkdWYWxpZEN0eHQiIGxpbms9ImxpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1ZhbGlkQ3R4dCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxSZWxheE5HVmFsaWRDdHh0UHRyIiBsaW5rPSJsaWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdWYWxpZEN0eHRQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iZW51bSB4bWxSZWxheE5HVmFsaWRFcnIiIGxpbms9ImxpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1ZhbGlkRXJyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoU2V0RXJyb3IoKSIgbGluaz0ibGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTZXRFcnJvciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUGF0aFNldEFyaXR5RXJyb3IoKSIgbGluaz0ibGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTZXRBcml0eUVycm9yIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoU2V0VHlwZUVycm9yKCkiIGxpbms9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU2V0VHlwZUVycm9yIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoR2V0RXJyb3IoKSIgbGluaz0ibGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhHZXRFcnJvciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUGF0aENoZWNrRXJyb3IoKSIgbGluaz0ibGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhDaGVja0Vycm9yIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoR2V0RG9jdW1lbnQoKSIgbGluaz0ibGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhHZXREb2N1bWVudCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUGF0aEdldENvbnRleHROb2RlKCkiIGxpbms9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoR2V0Q29udGV4dE5vZGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhSZXR1cm5Cb29sZWFuKCkiIGxpbms9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmV0dXJuQm9vbGVhbiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUGF0aFJldHVyblRydWUoKSIgbGluaz0ibGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhSZXR1cm5UcnVlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoUmV0dXJuRmFsc2UoKSIgbGluaz0ibGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhSZXR1cm5GYWxzZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUGF0aFJldHVybk51bWJlcigpIiBsaW5rPSJsaWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJldHVybk51bWJlciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUGF0aFJldHVyblN0cmluZygpIiBsaW5rPSJsaWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJldHVyblN0cmluZyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUGF0aFJldHVybkVtcHR5U3RyaW5nKCkiIGxpbms9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmV0dXJuRW1wdHlTdHJpbmciLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhSZXR1cm5Ob2RlU2V0KCkiIGxpbms9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmV0dXJuTm9kZVNldCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUGF0aFJldHVybkVtcHR5Tm9kZVNldCgpIiBsaW5rPSJsaWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJldHVybkVtcHR5Tm9kZVNldCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYUGF0aFJldHVybkV4dGVybmFsKCkiIGxpbms9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmV0dXJuRXh0ZXJuYWwiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhTdGFja0lzTm9kZVNldCgpIiBsaW5rPSJsaWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFN0YWNrSXNOb2RlU2V0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoU3RhY2tJc0V4dGVybmFsKCkiIGxpbms9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU3RhY2tJc0V4dGVybmFsIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoRW1wdHlOb2RlU2V0KCkiIGxpbms9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRW1wdHlOb2RlU2V0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IkNIRUNLX0VSUk9SIiBsaW5rPSJsaWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCNDSEVDSy1FUlJPUi1DQVBTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IkNIRUNLX0VSUk9SMCIgbGluaz0ibGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjQ0hFQ0stRVJST1IwLUNBUFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWFBfRVJST1IoKSIgbGluaz0ibGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjWFAtRVJST1ItQ0FQUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYUF9FUlJPUjAoKSIgbGluaz0ibGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjWFAtRVJST1IwLUNBUFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iQ0hFQ0tfVFlQRSgpIiBsaW5rPSJsaWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCNDSEVDSy1UWVBFLUNBUFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iQ0hFQ0tfVFlQRTAoKSIgbGluaz0ibGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjQ0hFQ0stVFlQRTAtQ0FQUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJDSEVDS19BUklUWSgpIiBsaW5rPSJsaWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCNDSEVDSy1BUklUWS1DQVBTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IkNBU1RfVE9fU1RSSU5HIiBsaW5rPSJsaWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCNDQVNULVRPLVNUUklORy1DQVBTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IkNBU1RfVE9fTlVNQkVSIiBsaW5rPSJsaWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCNDQVNULVRPLU5VTUJFUi1DQVBTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IkNBU1RfVE9fQk9PTEVBTiIgbGluaz0ibGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjQ0FTVC1UTy1CT09MRUFOLUNBUFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sWFBhdGhWYXJpYWJsZUxvb2t1cEZ1bmMgKCkiIGxpbms9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoVmFyaWFibGVMb29rdXBGdW5jIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFhQYXRoRnVuY0xvb2t1cEZ1bmMgKCkiIGxpbms9ImxpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRnVuY0xvb2t1cEZ1bmMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iTElCWE1MX0RPVFRFRF9WRVJTSU9OIiBsaW5rPSJsaWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTC1ET1RURUQtVkVSU0lPTi1DQVBTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IkxJQlhNTF9WRVJTSU9OIiBsaW5rPSJsaWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTC1WRVJTSU9OLUNBUFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iTElCWE1MX1ZFUlNJT05fU1RSSU5HIiBsaW5rPSJsaWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTC1WRVJTSU9OLVNUUklORy1DQVBTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IkxJQlhNTF9URVNUX1ZFUlNJT04iIGxpbms9ImxpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MLVRFU1QtVkVSU0lPTi1DQVBTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IldJVEhfVFJJTyIgbGluaz0ibGlieG1sLXhtbHZlcnNpb24uaHRtbCNXSVRILVRSSU8tQ0FQUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJXSVRIT1VUX1RSSU8iIGxpbms9ImxpYnhtbC14bWx2ZXJzaW9uLmh0bWwjV0lUSE9VVC1UUklPLUNBUFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iTElCWE1MX1RIUkVBRF9FTkFCTEVEIiBsaW5rPSJsaWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTC1USFJFQUQtRU5BQkxFRC1DQVBTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IkxJQlhNTF9UUkVFX0VOQUJMRUQiIGxpbms9ImxpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MLVRSRUUtRU5BQkxFRC1DQVBTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IkxJQlhNTF9PVVRQVVRfRU5BQkxFRCIgbGluaz0ibGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUwtT1VUUFVULUVOQUJMRUQtQ0FQUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJMSUJYTUxfUFVTSF9FTkFCTEVEIiBsaW5rPSJsaWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTC1QVVNILUVOQUJMRUQtQ0FQUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJMSUJYTUxfUkVBREVSX0VOQUJMRUQiIGxpbms9ImxpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MLVJFQURFUi1FTkFCTEVELUNBUFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iTElCWE1MX1dSSVRFUl9FTkFCTEVEIiBsaW5rPSJsaWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTC1XUklURVItRU5BQkxFRC1DQVBTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IkxJQlhNTF9TQVgxX0VOQUJMRUQiIGxpbms9ImxpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MLVNBWDEtRU5BQkxFRC1DQVBTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IkxJQlhNTF9GVFBfRU5BQkxFRCIgbGluaz0ibGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUwtRlRQLUVOQUJMRUQtQ0FQUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJMSUJYTUxfSFRUUF9FTkFCTEVEIiBsaW5rPSJsaWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTC1IVFRQLUVOQUJMRUQtQ0FQUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJMSUJYTUxfVkFMSURfRU5BQkxFRCIgbGluaz0ibGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUwtVkFMSUQtRU5BQkxFRC1DQVBTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IkxJQlhNTF9IVE1MX0VOQUJMRUQiIGxpbms9ImxpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MLUhUTUwtRU5BQkxFRC1DQVBTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IkxJQlhNTF9MRUdBQ1lfRU5BQkxFRCIgbGluaz0ibGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUwtTEVHQUNZLUVOQUJMRUQtQ0FQUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJMSUJYTUxfQzE0Tl9FTkFCTEVEIiBsaW5rPSJsaWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTC1DMTROLUVOQUJMRUQtQ0FQUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJMSUJYTUxfQ0FUQUxPR19FTkFCTEVEIiBsaW5rPSJsaWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTC1DQVRBTE9HLUVOQUJMRUQtQ0FQUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJMSUJYTUxfRE9DQl9FTkFCTEVEIiBsaW5rPSJsaWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTC1ET0NCLUVOQUJMRUQtQ0FQUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJMSUJYTUxfWFBBVEhfRU5BQkxFRCIgbGluaz0ibGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUwtWFBBVEgtRU5BQkxFRC1DQVBTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IkxJQlhNTF9YUFRSX0VOQUJMRUQiIGxpbms9ImxpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MLVhQVFItRU5BQkxFRC1DQVBTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IkxJQlhNTF9YSU5DTFVERV9FTkFCTEVEIiBsaW5rPSJsaWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTC1YSU5DTFVERS1FTkFCTEVELUNBUFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iTElCWE1MX0lDT05WX0VOQUJMRUQiIGxpbms9ImxpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MLUlDT05WLUVOQUJMRUQtQ0FQUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJMSUJYTUxfSVNPODg1OVhfRU5BQkxFRCIgbGluaz0ibGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUwtSVNPODg1OVgtRU5BQkxFRC1DQVBTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IkxJQlhNTF9ERUJVR19FTkFCTEVEIiBsaW5rPSJsaWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTC1ERUJVRy1FTkFCTEVELUNBUFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iREVCVUdfTUVNT1JZX0xPQ0FUSU9OIiBsaW5rPSJsaWJ4bWwteG1sdmVyc2lvbi5odG1sI0RFQlVHLU1FTU9SWS1MT0NBVElPTi1DQVBTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IkxJQlhNTF9VTklDT0RFX0VOQUJMRUQiIGxpbms9ImxpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MLVVOSUNPREUtRU5BQkxFRC1DQVBTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IkxJQlhNTF9SRUdFWFBfRU5BQkxFRCIgbGluaz0ibGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUwtUkVHRVhQLUVOQUJMRUQtQ0FQUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJMSUJYTUxfQVVUT01BVEFfRU5BQkxFRCIgbGluaz0ibGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUwtQVVUT01BVEEtRU5BQkxFRC1DQVBTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IkxJQlhNTF9TQ0hFTUFTX0VOQUJMRUQiIGxpbms9ImxpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MLVNDSEVNQVMtRU5BQkxFRC1DQVBTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IkFUVFJJQlVURV9VTlVTRUQiIGxpbms9ImxpYnhtbC14bWx2ZXJzaW9uLmh0bWwjQVRUUklCVVRFLVVOVVNFRC1DQVBTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InN0cnVjdCB4bWxMaW5rIiBsaW5rPSJsaWJ4bWwtbGlzdC5odG1sI3htbExpbmsiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTGlua1B0ciIgbGluaz0ibGlieG1sLWxpc3QuaHRtbCN4bWxMaW5rUHRyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InN0cnVjdCB4bWxMaXN0IiBsaW5rPSJsaWJ4bWwtbGlzdC5odG1sI3htbExpc3QiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTGlzdFB0ciIgbGluaz0ibGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0UHRyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbExpc3REZWFsbG9jYXRvciAoKSIgbGluaz0ibGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0RGVhbGxvY2F0b3IiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTGlzdERhdGFDb21wYXJlICgpIiBsaW5rPSJsaWJ4bWwtbGlzdC5odG1sI3htbExpc3REYXRhQ29tcGFyZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxMaXN0V2Fsa2VyICgpIiBsaW5rPSJsaWJ4bWwtbGlzdC5odG1sI3htbExpc3RXYWxrZXIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iSFRNTF9URVhUX05PREUiIGxpbms9ImxpYnhtbC1IVE1MdHJlZS5odG1sI0hUTUwtVEVYVC1OT0RFLUNBUFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iSFRNTF9FTlRJVFlfUkVGX05PREUiIGxpbms9ImxpYnhtbC1IVE1MdHJlZS5odG1sI0hUTUwtRU5USVRZLVJFRi1OT0RFLUNBUFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iSFRNTF9DT01NRU5UX05PREUiIGxpbms9ImxpYnhtbC1IVE1MdHJlZS5odG1sI0hUTUwtQ09NTUVOVC1OT0RFLUNBUFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iSFRNTF9QUkVTRVJWRV9OT0RFIiBsaW5rPSJsaWJ4bWwtSFRNTHRyZWUuaHRtbCNIVE1MLVBSRVNFUlZFLU5PREUtQ0FQUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJIVE1MX1BJX05PREUiIGxpbms9ImxpYnhtbC1IVE1MdHJlZS5odG1sI0hUTUwtUEktTk9ERS1DQVBTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFBhcnNlck1heERlcHRoIiBsaW5rPSJsaWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VyTWF4RGVwdGgiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX01BWF9OQU1FTEVOIiBsaW5rPSJsaWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjWE1MLU1BWC1OQU1FTEVOLUNBUFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iSU5QVVRfQ0hVTksiIGxpbms9ImxpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNJTlBVVC1DSFVOSy1DQVBTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IklTX0JZVEVfQ0hBUigpIiBsaW5rPSJsaWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjSVMtQllURS1DSEFSLUNBUFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iSVNfQ0hBUigpIiBsaW5rPSJsaWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjSVMtQ0hBUi1DQVBTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IklTX0NIQVJfQ0goKSIgbGluaz0ibGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTLUNIQVItQ0gtQ0FQUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJJU19CTEFOSygpIiBsaW5rPSJsaWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjSVMtQkxBTkstQ0FQUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJJU19CTEFOS19DSCgpIiBsaW5rPSJsaWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjSVMtQkxBTkstQ0gtQ0FQUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJJU19CQVNFQ0hBUigpIiBsaW5rPSJsaWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjSVMtQkFTRUNIQVItQ0FQUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJJU19ESUdJVCgpIiBsaW5rPSJsaWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjSVMtRElHSVQtQ0FQUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJJU19ESUdJVF9DSCgpIiBsaW5rPSJsaWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjSVMtRElHSVQtQ0gtQ0FQUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJJU19DT01CSU5JTkcoKSIgbGluaz0ibGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTLUNPTUJJTklORy1DQVBTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IklTX0NPTUJJTklOR19DSCgpIiBsaW5rPSJsaWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjSVMtQ09NQklOSU5HLUNILUNBUFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iSVNfRVhURU5ERVIoKSIgbGluaz0ibGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTLUVYVEVOREVSLUNBUFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iSVNfRVhURU5ERVJfQ0goKSIgbGluaz0ibGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTLUVYVEVOREVSLUNILUNBUFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iSVNfSURFT0dSQVBISUMoKSIgbGluaz0ibGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTLUlERU9HUkFQSElDLUNBUFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iSVNfTEVUVEVSKCkiIGxpbms9ImxpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNJUy1MRVRURVItQ0FQUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJJU19MRVRURVJfQ0goKSIgbGluaz0ibGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTLUxFVFRFUi1DSC1DQVBTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IklTX1BVQklEQ0hBUigpIiBsaW5rPSJsaWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjSVMtUFVCSURDSEFSLUNBUFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iSVNfUFVCSURDSEFSX0NIKCkiIGxpbms9ImxpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNJUy1QVUJJRENIQVItQ0gtQ0FQUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJTS0lQX0VPTCgpIiBsaW5rPSJsaWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjU0tJUC1FT0wtQ0FQUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJNT1ZFVE9fRU5EVEFHKCkiIGxpbms9ImxpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNNT1ZFVE8tRU5EVEFHLUNBUFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iTU9WRVRPX1NUQVJUVEFHKCkiIGxpbms9ImxpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNNT1ZFVE8tU1RBUlRUQUctQ0FQUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU1VCU1RJVFVURV9OT05FIiBsaW5rPSJsaWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjWE1MLVNVQlNUSVRVVEUtTk9ORS1DQVBTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TVUJTVElUVVRFX1JFRiIgbGluaz0ibGlieG1sLXBhcnNlckludGVybmFscy5odG1sI1hNTC1TVUJTVElUVVRFLVJFRi1DQVBTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9TVUJTVElUVVRFX1BFUkVGIiBsaW5rPSJsaWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjWE1MLVNVQlNUSVRVVEUtUEVSRUYtQ0FQUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxfU1VCU1RJVFVURV9CT1RIIiBsaW5rPSJsaWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjWE1MLVNVQlNUSVRVVEUtQk9USC1DQVBTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEVudGl0eVJlZmVyZW5jZUZ1bmMgKCkiIGxpbms9ImxpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxFbnRpdHlSZWZlcmVuY2VGdW5jIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9ImVudW0geG1sRW50aXR5VHlwZSIgbGluaz0ibGlieG1sLWVudGl0aWVzLmh0bWwjeG1sRW50aXR5VHlwZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJzdHJ1Y3QgeG1sRW50aXR5IiBsaW5rPSJsaWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxFbnRpdHkiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sRW50aXRpZXNUYWJsZVB0ciIgbGluaz0ibGlieG1sLWVudGl0aWVzLmh0bWwjeG1sRW50aXRpZXNUYWJsZVB0ciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJodG1sUGFyc2VyQ3R4dCIgbGluaz0ibGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sUGFyc2VyQ3R4dCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJodG1sUGFyc2VyQ3R4dFB0ciIgbGluaz0ibGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sUGFyc2VyQ3R4dFB0ciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJodG1sUGFyc2VyTm9kZUluZm8iIGxpbms9ImxpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlck5vZGVJbmZvIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9Imh0bWxTQVhIYW5kbGVyIiBsaW5rPSJsaWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxTQVhIYW5kbGVyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9Imh0bWxTQVhIYW5kbGVyUHRyIiBsaW5rPSJsaWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxTQVhIYW5kbGVyUHRyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9Imh0bWxQYXJzZXJJbnB1dCIgbGluaz0ibGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sUGFyc2VySW5wdXQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iaHRtbFBhcnNlcklucHV0UHRyIiBsaW5rPSJsaWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxQYXJzZXJJbnB1dFB0ciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJodG1sRG9jUHRyIiBsaW5rPSJsaWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxEb2NQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iaHRtbE5vZGVQdHIiIGxpbms9ImxpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbE5vZGVQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ic3RydWN0IGh0bWxFbGVtRGVzYyIgbGluaz0ibGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sRWxlbURlc2MiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iaHRtbEVsZW1EZXNjUHRyIiBsaW5rPSJsaWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxFbGVtRGVzY1B0ciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJzdHJ1Y3QgaHRtbEVudGl0eURlc2MiIGxpbms9ImxpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEVudGl0eURlc2MiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iaHRtbEVudGl0eURlc2NQdHIiIGxpbms9ImxpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEVudGl0eURlc2NQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iZW51bSBodG1sUGFyc2VyT3B0aW9uIiBsaW5rPSJsaWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxQYXJzZXJPcHRpb24iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ic3RydWN0IHhtbFZhbGlkU3RhdGUiIGxpbms9ImxpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkU3RhdGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVmFsaWRTdGF0ZVB0ciIgbGluaz0ibGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRTdGF0ZVB0ciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxWYWxpZGl0eUVycm9yRnVuYyAoKSIgbGluaz0ibGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRpdHlFcnJvckZ1bmMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVmFsaWRpdHlXYXJuaW5nRnVuYyAoKSIgbGluaz0ibGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRpdHlXYXJuaW5nRnVuYyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJzdHJ1Y3QgeG1sVmFsaWRDdHh0IiBsaW5rPSJsaWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZEN0eHQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVmFsaWRDdHh0UHRyIiBsaW5rPSJsaWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZEN0eHRQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTm90YXRpb25UYWJsZVB0ciIgbGluaz0ibGlieG1sLXZhbGlkLmh0bWwjeG1sTm90YXRpb25UYWJsZVB0ciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxFbGVtZW50VGFibGVQdHIiIGxpbms9ImxpYnhtbC12YWxpZC5odG1sI3htbEVsZW1lbnRUYWJsZVB0ciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxBdHRyaWJ1dGVUYWJsZVB0ciIgbGluaz0ibGlieG1sLXZhbGlkLmh0bWwjeG1sQXR0cmlidXRlVGFibGVQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sSURUYWJsZVB0ciIgbGluaz0ibGlieG1sLXZhbGlkLmh0bWwjeG1sSURUYWJsZVB0ciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxSZWZUYWJsZVB0ciIgbGluaz0ibGlieG1sLXZhbGlkLmh0bWwjeG1sUmVmVGFibGVQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0NBVEFMT0dTX05BTUVTUEFDRSIgbGluaz0ibGlieG1sLWNhdGFsb2cuaHRtbCNYTUwtQ0FUQUxPR1MtTkFNRVNQQUNFLUNBUFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0NBVEFMT0dfUEkiIGxpbms9ImxpYnhtbC1jYXRhbG9nLmh0bWwjWE1MLUNBVEFMT0ctUEktQ0FQUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJlbnVtIHhtbENhdGFsb2dQcmVmZXIiIGxpbms9ImxpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ1ByZWZlciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJlbnVtIHhtbENhdGFsb2dBbGxvdyIgbGluaz0ibGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nQWxsb3ciLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ic3RydWN0IHhtbENhdGFsb2ciIGxpbms9ImxpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxDYXRhbG9nUHRyIiBsaW5rPSJsaWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ic3RydWN0IHhtbFBhcnNlcklucHV0QnVmZmVyIiBsaW5rPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFBhcnNlcklucHV0QnVmZmVyUHRyIiBsaW5rPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyUHRyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InN0cnVjdCB4bWxPdXRwdXRCdWZmZXIiIGxpbms9ImxpYnhtbC10cmVlLmh0bWwjeG1sT3V0cHV0QnVmZmVyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE91dHB1dEJ1ZmZlclB0ciIgbGluaz0ibGlieG1sLXRyZWUuaHRtbCN4bWxPdXRwdXRCdWZmZXJQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ic3RydWN0IHhtbFBhcnNlcklucHV0IiBsaW5rPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlcklucHV0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFBhcnNlcklucHV0UHRyIiBsaW5rPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlcklucHV0UHRyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InN0cnVjdCB4bWxQYXJzZXJDdHh0IiBsaW5rPSJsaWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sUGFyc2VyQ3R4dFB0ciIgbGluaz0ibGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJDdHh0UHRyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InN0cnVjdCB4bWxTQVhMb2NhdG9yIiBsaW5rPSJsaWJ4bWwtdHJlZS5odG1sI3htbFNBWExvY2F0b3IiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU0FYTG9jYXRvclB0ciIgbGluaz0ibGlieG1sLXRyZWUuaHRtbCN4bWxTQVhMb2NhdG9yUHRyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InN0cnVjdCB4bWxTQVhIYW5kbGVyIiBsaW5rPSJsaWJ4bWwtdHJlZS5odG1sI3htbFNBWEhhbmRsZXIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU0FYSGFuZGxlclB0ciIgbGluaz0ibGlieG1sLXRyZWUuaHRtbCN4bWxTQVhIYW5kbGVyUHRyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InN0cnVjdCB4bWxFbnRpdHkiIGxpbms9ImxpYnhtbC10cmVlLmh0bWwjeG1sRW50aXR5Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEVudGl0eVB0ciIgbGluaz0ibGlieG1sLXRyZWUuaHRtbCN4bWxFbnRpdHlQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iQkFTRV9CVUZGRVJfU0laRSIgbGluaz0ibGlieG1sLXRyZWUuaHRtbCNCQVNFLUJVRkZFUi1TSVpFLUNBUFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX1hNTF9OQU1FU1BBQ0UiIGxpbms9ImxpYnhtbC10cmVlLmh0bWwjWE1MLVhNTC1OQU1FU1BBQ0UtQ0FQUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJlbnVtIHhtbEVsZW1lbnRUeXBlIiBsaW5rPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVsZW1lbnRUeXBlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbENoYXIiIGxpbms9ImxpYnhtbC10cmVlLmh0bWwjeG1sQ2hhciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJCQURfQ0FTVCIgbGluaz0ibGlieG1sLXRyZWUuaHRtbCNCQUQtQ0FTVC1DQVBTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InN0cnVjdCB4bWxOb3RhdGlvbiIgbGluaz0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb3RhdGlvbiIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxOb3RhdGlvblB0ciIgbGluaz0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb3RhdGlvblB0ciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJlbnVtIHhtbEF0dHJpYnV0ZVR5cGUiIGxpbms9ImxpYnhtbC10cmVlLmh0bWwjeG1sQXR0cmlidXRlVHlwZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJlbnVtIHhtbEF0dHJpYnV0ZURlZmF1bHQiIGxpbms9ImxpYnhtbC10cmVlLmh0bWwjeG1sQXR0cmlidXRlRGVmYXVsdCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJzdHJ1Y3QgeG1sRW51bWVyYXRpb24iIGxpbms9ImxpYnhtbC10cmVlLmh0bWwjeG1sRW51bWVyYXRpb24iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sRW51bWVyYXRpb25QdHIiIGxpbms9ImxpYnhtbC10cmVlLmh0bWwjeG1sRW51bWVyYXRpb25QdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ic3RydWN0IHhtbEF0dHJpYnV0ZSIgbGluaz0ibGlieG1sLXRyZWUuaHRtbCN4bWxBdHRyaWJ1dGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQXR0cmlidXRlUHRyIiBsaW5rPSJsaWJ4bWwtdHJlZS5odG1sI3htbEF0dHJpYnV0ZVB0ciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJlbnVtIHhtbEVsZW1lbnRDb250ZW50VHlwZSIgbGluaz0ibGlieG1sLXRyZWUuaHRtbCN4bWxFbGVtZW50Q29udGVudFR5cGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iZW51bSB4bWxFbGVtZW50Q29udGVudE9jY3VyIiBsaW5rPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVsZW1lbnRDb250ZW50T2NjdXIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ic3RydWN0IHhtbEVsZW1lbnRDb250ZW50IiBsaW5rPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVsZW1lbnRDb250ZW50Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEVsZW1lbnRDb250ZW50UHRyIiBsaW5rPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVsZW1lbnRDb250ZW50UHRyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9ImVudW0geG1sRWxlbWVudFR5cGVWYWwiIGxpbms9ImxpYnhtbC10cmVlLmh0bWwjeG1sRWxlbWVudFR5cGVWYWwiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ic3RydWN0IHhtbEVsZW1lbnQiIGxpbms9ImxpYnhtbC10cmVlLmh0bWwjeG1sRWxlbWVudCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxFbGVtZW50UHRyIiBsaW5rPSJsaWJ4bWwtdHJlZS5odG1sI3htbEVsZW1lbnRQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MX0xPQ0FMX05BTUVTUEFDRSIgbGluaz0ibGlieG1sLXRyZWUuaHRtbCNYTUwtTE9DQUwtTkFNRVNQQUNFLUNBUFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTnNUeXBlIiBsaW5rPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5zVHlwZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJzdHJ1Y3QgeG1sTnMiIGxpbms9ImxpYnhtbC10cmVlLmh0bWwjeG1sTnMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTnNQdHIiIGxpbms9ImxpYnhtbC10cmVlLmh0bWwjeG1sTnNQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ic3RydWN0IHhtbER0ZCIgbGluaz0ibGlieG1sLXRyZWUuaHRtbCN4bWxEdGQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sRHRkUHRyIiBsaW5rPSJsaWJ4bWwtdHJlZS5odG1sI3htbER0ZFB0ciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJzdHJ1Y3QgeG1sQXR0ciIgbGluaz0ibGlieG1sLXRyZWUuaHRtbCN4bWxBdHRyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEF0dHJQdHIiIGxpbms9ImxpYnhtbC10cmVlLmh0bWwjeG1sQXR0clB0ciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJzdHJ1Y3QgeG1sSUQiIGxpbms9ImxpYnhtbC10cmVlLmh0bWwjeG1sSUQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sSURQdHIiIGxpbms9ImxpYnhtbC10cmVlLmh0bWwjeG1sSURQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ic3RydWN0IHhtbFJlZiIgbGluaz0ibGlieG1sLXRyZWUuaHRtbCN4bWxSZWYiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sUmVmUHRyIiBsaW5rPSJsaWJ4bWwtdHJlZS5odG1sI3htbFJlZlB0ciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJlbnVtIHhtbEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUiIGxpbms9ImxpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyQWxsb2NhdGlvblNjaGVtZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJzdHJ1Y3QgeG1sQnVmZmVyIiBsaW5rPSJsaWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxCdWZmZXJQdHIiIGxpbms9ImxpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyUHRyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InN0cnVjdCB4bWxOb2RlIiBsaW5rPSJsaWJ4bWwtdHJlZS5odG1sI3htbE5vZGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTm9kZVB0ciIgbGluaz0ibGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9HRVRfQ09OVEVOVCgpIiBsaW5rPSJsaWJ4bWwtdHJlZS5odG1sI1hNTC1HRVQtQ09OVEVOVC1DQVBTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTF9HRVRfTElORSgpIiBsaW5rPSJsaWJ4bWwtdHJlZS5odG1sI1hNTC1HRVQtTElORS1DQVBTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InN0cnVjdCB4bWxEb2MiIGxpbms9ImxpYnhtbC10cmVlLmh0bWwjeG1sRG9jIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbERvY1B0ciIgbGluaz0ibGlieG1sLXRyZWUuaHRtbCN4bWxEb2NQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQ2hpbGRyZW5Ob2RlIiBsaW5rPSJsaWJ4bWwtdHJlZS5odG1sI3htbENoaWxkcmVuTm9kZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxSb290Tm9kZSIgbGluaz0ibGlieG1sLXRyZWUuaHRtbCN4bWxSb290Tm9kZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxSZWdpc3Rlck5vZGVGdW5jICgpIiBsaW5rPSJsaWJ4bWwtZ2xvYmFscy5odG1sI3htbFJlZ2lzdGVyTm9kZUZ1bmMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sRGVyZWdpc3Rlck5vZGVGdW5jICgpIiBsaW5rPSJsaWJ4bWwtZ2xvYmFscy5odG1sI3htbERlcmVnaXN0ZXJOb2RlRnVuYyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJzdHJ1Y3QgeG1sR2xvYmFsU3RhdGUiIGxpbms9ImxpYnhtbC1nbG9iYWxzLmh0bWwjeG1sR2xvYmFsU3RhdGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sR2xvYmFsU3RhdGVQdHIiIGxpbms9ImxpYnhtbC1nbG9iYWxzLmh0bWwjeG1sR2xvYmFsU3RhdGVQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTWFsbG9jKCkiIGxpbms9ImxpYnhtbC1nbG9iYWxzLmh0bWwjeG1sTWFsbG9jIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbE1hbGxvY0F0b21pYygpIiBsaW5rPSJsaWJ4bWwtZ2xvYmFscy5odG1sI3htbE1hbGxvY0F0b21pYyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxSZWFsbG9jKCkiIGxpbms9ImxpYnhtbC1nbG9iYWxzLmh0bWwjeG1sUmVhbGxvYyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxGcmVlIiBsaW5rPSJsaWJ4bWwtZ2xvYmFscy5odG1sI3htbEZyZWUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sTWVtU3RyZHVwKCkiIGxpbms9ImxpYnhtbC1nbG9iYWxzLmh0bWwjeG1sTWVtU3RyZHVwIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9ImRvY2JEZWZhdWx0U0FYSGFuZGxlciIgbGluaz0ibGlieG1sLWdsb2JhbHMuaHRtbCNkb2NiRGVmYXVsdFNBWEhhbmRsZXIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iaHRtbERlZmF1bHRTQVhIYW5kbGVyIiBsaW5rPSJsaWJ4bWwtZ2xvYmFscy5odG1sI2h0bWxEZWZhdWx0U0FYSGFuZGxlciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxMYXN0RXJyb3IiIGxpbms9ImxpYnhtbC1nbG9iYWxzLmh0bWwjeG1sTGFzdEVycm9yIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9Im9sZFhNTFdEY29tcGF0aWJpbGl0eSIgbGluaz0ibGlieG1sLWdsb2JhbHMuaHRtbCNvbGRYTUxXRGNvbXBhdGliaWxpdHkiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sQnVmZmVyQWxsb2NTY2hlbWUiIGxpbms9ImxpYnhtbC1nbG9iYWxzLmh0bWwjeG1sQnVmZmVyQWxsb2NTY2hlbWUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sRGVmYXVsdEJ1ZmZlclNpemUiIGxpbms9ImxpYnhtbC1nbG9iYWxzLmh0bWwjeG1sRGVmYXVsdEJ1ZmZlclNpemUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sRGVmYXVsdFNBWEhhbmRsZXIiIGxpbms9ImxpYnhtbC1nbG9iYWxzLmh0bWwjeG1sRGVmYXVsdFNBWEhhbmRsZXIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sRGVmYXVsdFNBWExvY2F0b3IiIGxpbms9ImxpYnhtbC1nbG9iYWxzLmh0bWwjeG1sRGVmYXVsdFNBWExvY2F0b3IiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sRG9WYWxpZGl0eUNoZWNraW5nRGVmYXVsdFZhbHVlIiBsaW5rPSJsaWJ4bWwtZ2xvYmFscy5odG1sI3htbERvVmFsaWRpdHlDaGVja2luZ0RlZmF1bHRWYWx1ZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxHZW5lcmljRXJyb3IiIGxpbms9ImxpYnhtbC1nbG9iYWxzLmh0bWwjeG1sR2VuZXJpY0Vycm9yIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFN0cnVjdHVyZWRFcnJvciIgbGluaz0ibGlieG1sLWdsb2JhbHMuaHRtbCN4bWxTdHJ1Y3R1cmVkRXJyb3IiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sR2VuZXJpY0Vycm9yQ29udGV4dCIgbGluaz0ibGlieG1sLWdsb2JhbHMuaHRtbCN4bWxHZW5lcmljRXJyb3JDb250ZXh0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEdldFdhcm5pbmdzRGVmYXVsdFZhbHVlIiBsaW5rPSJsaWJ4bWwtZ2xvYmFscy5odG1sI3htbEdldFdhcm5pbmdzRGVmYXVsdFZhbHVlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbEluZGVudFRyZWVPdXRwdXQiIGxpbms9ImxpYnhtbC1nbG9iYWxzLmh0bWwjeG1sSW5kZW50VHJlZU91dHB1dCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUcmVlSW5kZW50U3RyaW5nIiBsaW5rPSJsaWJ4bWwtZ2xvYmFscy5odG1sI3htbFRyZWVJbmRlbnRTdHJpbmciLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sS2VlcEJsYW5rc0RlZmF1bHRWYWx1ZSIgbGluaz0ibGlieG1sLWdsb2JhbHMuaHRtbCN4bWxLZWVwQmxhbmtzRGVmYXVsdFZhbHVlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbExpbmVOdW1iZXJzRGVmYXVsdFZhbHVlIiBsaW5rPSJsaWJ4bWwtZ2xvYmFscy5odG1sI3htbExpbmVOdW1iZXJzRGVmYXVsdFZhbHVlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbExvYWRFeHREdGREZWZhdWx0VmFsdWUiIGxpbms9ImxpYnhtbC1nbG9iYWxzLmh0bWwjeG1sTG9hZEV4dER0ZERlZmF1bHRWYWx1ZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxQYXJzZXJEZWJ1Z0VudGl0aWVzIiBsaW5rPSJsaWJ4bWwtZ2xvYmFscy5odG1sI3htbFBhcnNlckRlYnVnRW50aXRpZXMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sUGFyc2VyVmVyc2lvbiIgbGluaz0ibGlieG1sLWdsb2JhbHMuaHRtbCN4bWxQYXJzZXJWZXJzaW9uIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFBlZGFudGljUGFyc2VyRGVmYXVsdFZhbHVlIiBsaW5rPSJsaWJ4bWwtZ2xvYmFscy5odG1sI3htbFBlZGFudGljUGFyc2VyRGVmYXVsdFZhbHVlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNhdmVOb0VtcHR5VGFncyIgbGluaz0ibGlieG1sLWdsb2JhbHMuaHRtbCN4bWxTYXZlTm9FbXB0eVRhZ3MiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdFZhbHVlIiBsaW5rPSJsaWJ4bWwtZ2xvYmFscy5odG1sI3htbFN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHRWYWx1ZSIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxSZWdpc3Rlck5vZGVEZWZhdWx0VmFsdWUiIGxpbms9ImxpYnhtbC1nbG9iYWxzLmh0bWwjeG1sUmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbERlcmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlIiBsaW5rPSJsaWJ4bWwtZ2xvYmFscy5odG1sI3htbERlcmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhNTFBVQkZVTiIgbGluaz0ibGlieG1sLXhtbGV4cG9ydHMuaHRtbCNYTUxQVUJGVU4tQ0FQUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYTUxQVUJWQVIiIGxpbms9ImxpYnhtbC14bWxleHBvcnRzLmh0bWwjWE1MUFVCVkFSLUNBUFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWE1MQ0FMTCIgbGluaz0ibGlieG1sLXhtbGV4cG9ydHMuaHRtbCNYTUxDQUxMLUNBUFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iTElCWE1MX0RMTF9JTVBPUlQiIGxpbms9ImxpYnhtbC14bWxleHBvcnRzLmh0bWwjTElCWE1MLURMTC1JTVBPUlQtQ0FQUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYSU5DTFVERV9OUyIgbGluaz0ibGlieG1sLXhpbmNsdWRlLmh0bWwjWElOQ0xVREUtTlMtQ0FQUyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJYSU5DTFVERV9OT0RFIiBsaW5rPSJsaWJ4bWwteGluY2x1ZGUuaHRtbCNYSU5DTFVERS1OT0RFLUNBUFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWElOQ0xVREVfRkFMTEJBQ0siIGxpbms9ImxpYnhtbC14aW5jbHVkZS5odG1sI1hJTkNMVURFLUZBTExCQUNLLUNBUFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWElOQ0xVREVfSFJFRiIgbGluaz0ibGlieG1sLXhpbmNsdWRlLmh0bWwjWElOQ0xVREUtSFJFRi1DQVBTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhJTkNMVURFX1BBUlNFIiBsaW5rPSJsaWJ4bWwteGluY2x1ZGUuaHRtbCNYSU5DTFVERS1QQVJTRS1DQVBTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhJTkNMVURFX1BBUlNFX1hNTCIgbGluaz0ibGlieG1sLXhpbmNsdWRlLmh0bWwjWElOQ0xVREUtUEFSU0UtWE1MLUNBUFMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iWElOQ0xVREVfUEFSU0VfVEVYVCIgbGluaz0ibGlieG1sLXhpbmNsdWRlLmh0bWwjWElOQ0xVREUtUEFSU0UtVEVYVC1DQVBTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9IlhJTkNMVURFX1BBUlNFX0VOQ09ESU5HIiBsaW5rPSJsaWJ4bWwteGluY2x1ZGUuaHRtbCNYSU5DTFVERS1QQVJTRS1FTkNPRElORy1DQVBTIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InN0cnVjdCB4bWxYSW5jbHVkZUN0eHQiIGxpbms9ImxpYnhtbC14aW5jbHVkZS5odG1sI3htbFhJbmNsdWRlQ3R4dCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxYSW5jbHVkZUN0eHRQdHIiIGxpbms9ImxpYnhtbC14aW5jbHVkZS5odG1sI3htbFhJbmNsdWRlQ3R4dFB0ciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJlbnVtIHhtbFBhcnNlclByb3BlcnRpZXMiIGxpbms9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxQYXJzZXJQcm9wZXJ0aWVzIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9ImVudW0geG1sUGFyc2VyU2V2ZXJpdGllcyIgbGluaz0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFBhcnNlclNldmVyaXRpZXMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0iZW51bSB4bWxSZWFkZXJUeXBlcyIgbGluaz0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFJlYWRlclR5cGVzIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InN0cnVjdCB4bWxUZXh0UmVhZGVyIiBsaW5rPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUZXh0UmVhZGVyUHRyIiBsaW5rPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclB0ciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUZXh0UmVhZGVyTG9jYXRvclB0ciIgbGluaz0ibGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJMb2NhdG9yUHRyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFRleHRSZWFkZXJFcnJvckZ1bmMgKCkiIGxpbms9ImxpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyRXJyb3JGdW5jIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNoZWxsUmVhZGxpbmVGdW5jICgpIiBsaW5rPSJsaWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbFJlYWRsaW5lRnVuYyIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJzdHJ1Y3QgeG1sU2hlbGxDdHh0IiBsaW5rPSJsaWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbEN0eHQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2hlbGxDdHh0UHRyIiBsaW5rPSJsaWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbEN0eHRQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2hlbGxDbWQgKCkiIGxpbms9ImxpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsQ21kIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InN0cnVjdCB4bWxUZXh0V3JpdGVyIiBsaW5rPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUZXh0V3JpdGVyUHRyIiBsaW5rPSJsaWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0ciIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUZXh0V3JpdGVyV3JpdGVQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24iIGxpbms9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24iLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVGV4dFdyaXRlcldyaXRlRG9jVHlwZSIgbGluaz0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZURvY1R5cGUiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sVGV4dFdyaXRlckVuZERUREVsZW1lbnQiIGxpbms9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyRW5kRFRERWxlbWVudCIvPgorICAgIDxmdW5jdGlvbiBuYW1lPSJ4bWxUZXh0V3JpdGVyRW5kRFREQXR0bGlzdCIgbGluaz0ibGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJFbmREVERBdHRsaXN0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFRleHRXcml0ZXJFbmREVERFbnRpdHkiIGxpbms9ImxpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyRW5kRFRERW50aXR5Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9ImVudW0geG1sU2NoZW1hVmFsaWRFcnJvciIgbGluaz0ibGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZEVycm9yIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InN0cnVjdCB4bWxTY2hlbWEiIGxpbms9ImxpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNjaGVtYVB0ciIgbGluaz0ibGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFQdHIiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2NoZW1hVmFsaWRpdHlFcnJvckZ1bmMgKCkiIGxpbms9ImxpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRpdHlFcnJvckZ1bmMiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2NoZW1hVmFsaWRpdHlXYXJuaW5nRnVuYyAoKSIgbGluaz0ibGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZGl0eVdhcm5pbmdGdW5jIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InN0cnVjdCB4bWxTY2hlbWFQYXJzZXJDdHh0IiBsaW5rPSJsaWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVBhcnNlckN0eHQiLz4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ieG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciIgbGluaz0ibGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIi8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InN0cnVjdCB4bWxTY2hlbWFWYWxpZEN0eHQiIGxpbms9ImxpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRDdHh0Ii8+CisgICAgPGZ1bmN0aW9uIG5hbWU9InhtbFNjaGVtYVZhbGlkQ3R4dFB0ciIgbGluaz0ibGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZEN0eHRQdHIiLz4KKyAgPC9mdW5jdGlvbnM+Cis8L2Jvb2s+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9odG1sL3JpZ2h0LnBuZyBiL2xpYnhtbDIvZG9jL2h0bWwvcmlnaHQucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkyODMyZTMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9odG1sL3JpZ2h0LnBuZwpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9odG1sL3VwLnBuZyBiL2xpYnhtbDIvZG9jL2h0bWwvdXAucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg1YjNlMmEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9odG1sL3VwLnBuZwpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9pbmRleC5odG1sIGIvbGlieG1sMi9kb2MvaW5kZXguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MDNiNzk1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvaW5kZXguaHRtbApAQCAtMCwwICsxLDc3IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPgorPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPgorPGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+PGxpbmsgcmVsPSJTSE9SVENVVCBJQ09OIiBocmVmPSIvZmF2aWNvbi5pY28iIC8+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK1REIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitCT0RZIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2E7IG1hcmdpbi10b3A6IDJlbTsgbWFyZ2luLWxlZnQ6IDBlbTsgbWFyZ2luLXJpZ2h0OiAwZW19CitIMSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDIge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gzIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitBOmxpbmssIEE6dmlzaXRlZCwgQTphY3RpdmUgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB9Cis8L3N0eWxlPgorICA8dGl0bGU+VGhlIFhNTCBDIHBhcnNlciBhbmQgdG9vbGtpdCBvZiBHbm9tZTwvdGl0bGU+CisgIAorPC9oZWFkPgorPGJvZHkgYmdjb2xvcj0iIzhiNzc2NSIgdGV4dD0iIzAwMDAwMCIgbGluaz0iI2EwNjA2MCIgdmxpbms9IiMwMDAwMDAiPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSIxMDAlIiBjZWxscGFkZGluZz0iNSIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgd2lkdGg9IjEyMCI+PGEgaHJlZj0iaHR0cDovL3N3cGF0LmZmaWkub3JnLyI+PGltZyBzcmM9ImVwYXRlbnRzLnBuZyIgYWx0PSJBY3Rpb24gYWdhaW5zdCBzb2Z0d2FyZSBwYXRlbnRzIiAvPjwvYT48L3RkPjx0ZCB3aWR0aD0iMTgwIj48YSBocmVmPSJodHRwOi8vd3d3Lmdub21lLm9yZy8iPjxpbWcgc3JjPSJnbm9tZTIucG5nIiBhbHQ9Ikdub21lMiBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9TdGF0dXMiPjxpbWcgc3JjPSJ3M2MucG5nIiBhbHQ9IlczQyBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnJlZGhhdC5jb20vIj48aW1nIHNyYz0icmVkaGF0LmdpZiIgYWx0PSJSZWQgSGF0IExvZ28iIC8+PC9hPjxkaXYgYWxpZ249ImxlZnQiPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy8iPjxpbWcgc3JjPSJMaWJ4bWwyLUxvZ28tMTgweDE2OC5naWYiIGFsdD0iTWFkZSB3aXRoIExpYnhtbDIgTG9nbyIgLz48L2E+PC9kaXY+PC90ZD48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjkwJSIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiIGJnY29sb3I9IiNmZmZhY2QiPjx0cj48dGQgYWxpZ249ImNlbnRlciI+PGgxPlRoZSBYTUwgQyBwYXJzZXIgYW5kIHRvb2xraXQgb2YgR25vbWU8L2gxPjxoMj5saWJ4bWw8L2gyPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI0IiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCB2YWxpZ249InRvcCIgd2lkdGg9IjIwMCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+TWFpbiBNZW51PC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjxmb3JtIGFjdGlvbj0ic2VhcmNoLnBocCIgZW5jdHlwZT0iYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIiBtZXRob2Q9ImdldCI+PGlucHV0IG5hbWU9InF1ZXJ5IiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IiIgLz48aW5wdXQgbmFtZT0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJTZWFyY2ggLi4uIiAvPjwvZm9ybT48dWw+PGxpPjxhIGhyZWY9ImluZGV4Lmh0bWwiPkhvbWU8L2E+PC9saT48bGk+PGEgaHJlZj0iaHRtbC9pbmRleC5odG1sIj5SZWZlcmVuY2UgTWFudWFsPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImludHJvLmh0bWwiPkludHJvZHVjdGlvbjwvYT48L2xpPjxsaT48YSBocmVmPSJGQVEuaHRtbCI+RkFRPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImRvY3MuaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPkRldmVsb3BlciBNZW51PC9hPjwvbGk+PGxpPjxhIGhyZWY9ImJ1Z3MuaHRtbCI+UmVwb3J0aW5nIGJ1Z3MgYW5kIGdldHRpbmcgaGVscDwvYT48L2xpPjxsaT48YSBocmVmPSJoZWxwLmh0bWwiPkhvdyB0byBoZWxwPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImRvd25sb2Fkcy5odG1sIj5Eb3dubG9hZHM8L2E+PC9saT48bGk+PGEgaHJlZj0ibmV3cy5odG1sIj5SZWxlYXNlczwvYT48L2xpPjxsaT48YSBocmVmPSJYTUxpbmZvLmh0bWwiPlhNTDwvYT48L2xpPjxsaT48YSBocmVmPSJYU0xULmh0bWwiPlhTTFQ8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1sZHRkLmh0bWwiPlZhbGlkYXRpb24gJmFtcDsgRFREczwvYT48L2xpPjxsaT48YSBocmVmPSJlbmNvZGluZy5odG1sIj5FbmNvZGluZ3Mgc3VwcG9ydDwvYT48L2xpPjxsaT48YSBocmVmPSJjYXRhbG9nLmh0bWwiPkNhdGFsb2cgc3VwcG9ydDwvYT48L2xpPjxsaT48YSBocmVmPSJuYW1lc3BhY2VzLmh0bWwiPk5hbWVzcGFjZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iY29udHJpYnMuaHRtbCI+Q29udHJpYnV0aW9uczwvYT48L2xpPjxsaT48YSBocmVmPSJleGFtcGxlcy9pbmRleC5odG1sIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+Q29kZSBFeGFtcGxlczwvYT48L2xpPjxsaT48YSBocmVmPSJodG1sL2luZGV4Lmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5BUEkgTWVudTwvYT48L2xpPjxsaT48YSBocmVmPSJndWlkZWxpbmVzLmh0bWwiPlhNTCBHdWlkZWxpbmVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkNoYW5nZUxvZy5odG1sIj5SZWNlbnQgQ2hhbmdlczwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPlJlbGF0ZWQgbGlua3M8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSJodHRwOi8vbWFpbC5nbm9tZS5vcmcvYXJjaGl2ZXMveG1sLyI+TWFpbCBhcmNoaXZlPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9YU0xULyI+WFNMVCBsaWJ4c2x0PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9waGQuY3MudW5pYm8uaXQvZ2RvbWUyLyI+RE9NIGdkb21lMjwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmFsZWtzZXkuY29tL3htbHNlYy8iPlhNTC1EU2lnIHhtbHNlYzwvYT48L2xpPjxsaT48YSBocmVmPSJmdHA6Ly94bWxzb2Z0Lm9yZy8iPkZUUDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnpsYXRrb3ZpYy5jb20vcHJvamVjdHMvbGlieG1sLyI+V2luZG93cyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vb3BlbmNzdy5vcmcvcGFja2FnZXMvbGlieG1sMiI+U29sYXJpcyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmV4cGxhaW4uY29tLmF1L29zcy9saWJ4bWwyeHNsdC5odG1sIj5NYWNPc1ggYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2x4bWwuZGUvIj5seG1sIFB5dGhvbiBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vY3Bhbi51d2lubmlwZWcuY2EvZGlzdC9YTUwtTGliWE1MIj5QZXJsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWxwbHVzcGx1cy5zb3VyY2Vmb3JnZS5uZXQvIj5DKysgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56ZW5kLmNvbS9waHA1L2FydGljbGVzL3BocDUteG1scGhwLnBocCNIZWFkaW5nNCI+UEhQIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbGlieG1sMi1wYXMvIj5QYXNjYWwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbC5ydWJ5Zm9yZ2Uub3JnLyI+UnVieSBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vdGNseG1sLnNvdXJjZWZvcmdlLm5ldC8iPlRjbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2J1Z2xpc3QuY2dpP3Byb2R1Y3Q9bGlieG1sMiI+QnVnIFRyYWNrZXI8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48cD48L3A+PHAgc3R5bGU9InRleHQtYWxpZ246IHJpZ2h0OyBmb250LXN0eWxlOiBpdGFsaWM7IGZvbnQtc2l6ZTogMTBwdCI+IlByb2dyYW1taW5nCit3aXRoIGxpYnhtbDIgaXMgbGlrZSB0aGUgdGhyaWxsaW5nIGVtYnJhY2Ugb2YgYW4gZXhvdGljIHN0cmFuZ2VyLiIgPGEgaHJlZj0iaHR0cDovL2RpdmVpbnRvbWFyay5vcmcvYXJjaGl2ZXMvMjAwNC8wMi8xOC9saWJ4bWwyIj5NYXJrCitQaWxncmltPC9hPjwvcD48cD5MaWJ4bWwyIGlzIHRoZSBYTUwgQyBwYXJzZXIgYW5kIHRvb2xraXQgZGV2ZWxvcGVkIGZvciB0aGUgR25vbWUgcHJvamVjdAorKGJ1dCB1c2FibGUgb3V0c2lkZSBvZiB0aGUgR25vbWUgcGxhdGZvcm0pLCBpdCBpcyBmcmVlIHNvZnR3YXJlIGF2YWlsYWJsZQordW5kZXIgdGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UuaHRtbCI+TUlUCitMaWNlbnNlPC9hPi4gWE1MIGl0c2VsZiBpcyBhIG1ldGFsYW5ndWFnZSB0byBkZXNpZ24gbWFya3VwIGxhbmd1YWdlcywgaS5lLgordGV4dCBsYW5ndWFnZSB3aGVyZSBzZW1hbnRpYyBhbmQgc3RydWN0dXJlIGFyZSBhZGRlZCB0byB0aGUgY29udGVudCB1c2luZworZXh0cmEgIm1hcmt1cCIgaW5mb3JtYXRpb24gZW5jbG9zZWQgYmV0d2VlbiBhbmdsZSBicmFja2V0cy4gSFRNTCBpcyB0aGUgbW9zdAord2VsbC1rbm93biBtYXJrdXAgbGFuZ3VhZ2UuIFRob3VnaCB0aGUgbGlicmFyeSBpcyB3cml0dGVuIGluIEMgPGEgaHJlZj0icHl0aG9uLmh0bWwiPmEgdmFyaWV0eSBvZiBsYW5ndWFnZSBiaW5kaW5nczwvYT4gbWFrZSBpdCBhdmFpbGFibGUgaW4KK290aGVyIGVudmlyb25tZW50cy48L3A+PHA+TGlieG1sMiBpcyBrbm93biB0byBiZSB2ZXJ5IHBvcnRhYmxlLCB0aGUgbGlicmFyeSBzaG91bGQgYnVpbGQgYW5kIHdvcmsKK3dpdGhvdXQgc2VyaW91cyB0cm91YmxlcyBvbiBhIHZhcmlldHkgb2Ygc3lzdGVtcyAoTGludXgsIFVuaXgsIFdpbmRvd3MsCitDeWdXaW4sIE1hY09TLCBNYWNPUyBYLCBSSVNDIE9zLCBPUy8yLCBWTVMsIFFOWCwgTVZTLCBWeFdvcmtzLCAuLi4pPC9wPjxwPkxpYnhtbDIgaW1wbGVtZW50cyBhIG51bWJlciBvZiBleGlzdGluZyBzdGFuZGFyZHMgcmVsYXRlZCB0byBtYXJrdXAKK2xhbmd1YWdlczo8L3A+PHVsPgorICA8bGk+dGhlIFhNTCBzdGFuZGFyZDogPGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLXhtbCI+aHR0cDovL3d3dy53My5vcmcvVFIvUkVDLXhtbDwvYT48L2xpPgorICA8bGk+TmFtZXNwYWNlcyBpbiBYTUw6IDxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy14bWwtbmFtZXMvIj5odHRwOi8vd3d3LnczLm9yZy9UUi9SRUMteG1sLW5hbWVzLzwvYT48L2xpPgorICA8bGk+WE1MIEJhc2U6IDxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3htbGJhc2UvIj5odHRwOi8vd3d3LnczLm9yZy9UUi94bWxiYXNlLzwvYT48L2xpPgorICA8bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5jaXMub2hpby1zdGF0ZS5lZHUvcmZjL3JmYzIzOTYudHh0Ij5SRkMgMjM5NjwvYT4gOgorICAgIFVuaWZvcm0gUmVzb3VyY2UgSWRlbnRpZmllcnMgPGEgaHJlZj0iaHR0cDovL3d3dy5pZXRmLm9yZy9yZmMvcmZjMjM5Ni50eHQiPmh0dHA6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzIzOTYudHh0PC9hPjwvbGk+CisgIDxsaT5YTUwgUGF0aCBMYW5ndWFnZSAoWFBhdGgpIDEuMDogPGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIveHBhdGgiPmh0dHA6Ly93d3cudzMub3JnL1RSL3hwYXRoPC9hPjwvbGk+CisgIDxsaT5IVE1MNCBwYXJzZXI6IDxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0MDEvIj5odHRwOi8vd3d3LnczLm9yZy9UUi9odG1sNDAxLzwvYT48L2xpPgorICA8bGk+WE1MIFBvaW50ZXIgTGFuZ3VhZ2UgKFhQb2ludGVyKSBWZXJzaW9uIDEuMDogPGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIveHB0ciI+aHR0cDovL3d3dy53My5vcmcvVFIveHB0cjwvYT48L2xpPgorICA8bGk+WE1MIEluY2x1c2lvbnMgKFhJbmNsdWRlKSBWZXJzaW9uIDEuMDogPGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIveGluY2x1ZGUvIj5odHRwOi8vd3d3LnczLm9yZy9UUi94aW5jbHVkZS88L2E+PC9saT4KKyAgPGxpPklTTy04ODU5LXggZW5jb2RpbmdzLCBhcyB3ZWxsIGFzIDxhIGhyZWY9Imh0dHA6Ly93d3cuY2lzLm9oaW8tc3RhdGUuZWR1L3JmYy9yZmMyMDQ0LnR4dCI+cmZjMjA0NDwvYT4gW1VURi04XQorICAgIGFuZCA8YSBocmVmPSJodHRwOi8vd3d3LmNpcy5vaGlvLXN0YXRlLmVkdS9yZmMvcmZjMjc4MS50eHQiPnJmYzI3ODE8L2E+CisgICAgW1VURi0xNl0gVW5pY29kZSBlbmNvZGluZ3MsIGFuZCBtb3JlIGlmIHVzaW5nIGljb252IHN1cHBvcnQ8L2xpPgorICA8bGk+cGFydCBvZiBTR01MIE9wZW4gVGVjaG5pY2FsIFJlc29sdXRpb24gVFI5NDAxOjE5OTc8L2xpPgorICA8bGk+WE1MIENhdGFsb2dzIFdvcmtpbmcgRHJhZnQgMDYgQXVndXN0IDIwMDE6IDxhIGhyZWY9Imh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvY29tbWl0dGVlcy9lbnRpdHkvc3BlYy0yMDAxLTA4LTA2Lmh0bWwiPmh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvY29tbWl0dGVlcy9lbnRpdHkvc3BlYy0yMDAxLTA4LTA2Lmh0bWw8L2E+PC9saT4KKyAgPGxpPkNhbm9uaWNhbCBYTUwgVmVyc2lvbiAxLjA6IDxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3htbC1jMTRuIj5odHRwOi8vd3d3LnczLm9yZy9UUi94bWwtYzE0bjwvYT4KKyAgICBhbmQgdGhlIEV4Y2x1c2l2ZSBYTUwgQ2Fub25pY2FsaXphdGlvbiBDUiBkcmFmdCA8YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi94bWwtZXhjLWMxNG4iPmh0dHA6Ly93d3cudzMub3JnL1RSL3htbC1leGMtYzE0bjwvYT48L2xpPgorICA8bGk+UmVsYXggTkcsIElTTy9JRUMgMTk3NTctMjoyMDAzLCA8YSBocmVmPSJodHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL2NvbW1pdHRlZXMvcmVsYXgtbmcvc3BlYy0yMDAxMTIwMy5odG1sIj5odHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL2NvbW1pdHRlZXMvcmVsYXgtbmcvc3BlYy0yMDAxMTIwMy5odG1sPC9hPjwvbGk+CisgIDxsaT5XM0MgWE1MIFNjaGVtYXMgUGFydCAyOiBEYXRhdHlwZXMgPGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvMjAwMS9SRUMteG1sc2NoZW1hLTItMjAwMTA1MDIvIj5SRUMgMDIgTWF5CisgICAgMjAwMTwvYT48L2xpPgorICA8bGk+VzNDIDxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3htbC1pZC8iPnhtbDppZDwvYT4gV29ya2luZyBEcmFmdCA3CisgICAgQXByaWwgMjAwNDwvbGk+Cis8L3VsPjxwPkluIG1vc3QgY2FzZXMgbGlieG1sMiB0cmllcyB0byBpbXBsZW1lbnQgdGhlIHNwZWNpZmljYXRpb25zIGluIGEKK3JlbGF0aXZlbHkgc3RyaWN0bHkgY29tcGxpYW50IHdheS4gQXMgb2YgcmVsZWFzZSAyLjQuMTYsIGxpYnhtbDIgcGFzc2VkIGFsbAorMTgwMCsgdGVzdHMgZnJvbSB0aGUgPGEgaHJlZj0iaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9jb21taXR0ZWVzL3htbC1jb25mb3JtYW5jZS8iPk9BU0lTIFhNTCBUZXN0cworU3VpdGU8L2E+LjwvcD48cD5UbyBzb21lIGV4dGVudCBsaWJ4bWwyIHByb3ZpZGVzIHN1cHBvcnQgZm9yIHRoZSBmb2xsb3dpbmcgYWRkaXRpb25hbAorc3BlY2lmaWNhdGlvbnMgYnV0IGRvZXNuJ3QgY2xhaW0gdG8gaW1wbGVtZW50IHRoZW0gY29tcGxldGVseTo8L3A+PHVsPgorICA8bGk+RG9jdW1lbnQgT2JqZWN0IE1vZGVsIChET00pIDxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL0RPTS1MZXZlbC0yLUNvcmUvIj5odHRwOi8vd3d3LnczLm9yZy9UUi9ET00tTGV2ZWwtMi1Db3JlLzwvYT4KKyAgICB0aGUgZG9jdW1lbnQgbW9kZWwsIGJ1dCBpdCBkb2Vzbid0IGltcGxlbWVudCB0aGUgQVBJIGl0c2VsZiwgZ2RvbWUyIGRvZXMKKyAgICB0aGlzIG9uIHRvcCBvZiBsaWJ4bWwyPC9saT4KKyAgPGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuY2lzLm9oaW8tc3RhdGUuZWR1L3JmYy9yZmM5NTkudHh0Ij5SRkMgOTU5PC9hPiA6CisgICAgbGlieG1sMiBpbXBsZW1lbnRzIGEgYmFzaWMgRlRQIGNsaWVudCBjb2RlPC9saT4KKyAgPGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuY2lzLm9oaW8tc3RhdGUuZWR1L3JmYy9yZmMxOTQ1LnR4dCI+UkZDIDE5NDU8L2E+IDoKKyAgICBIVFRQLzEuMCwgYWdhaW4gYSBiYXNpYyBIVFRQIGNsaWVudCBjb2RlPC9saT4KKyAgPGxpPlNBWDogYSBTQVgyIGxpa2UgaW50ZXJmYWNlIGFuZCBhIG1pbmltYWwgU0FYMSBpbXBsZW1lbnRhdGlvbiBjb21wYXRpYmxlCisgICAgd2l0aCBlYXJseSBleHBhdCB2ZXJzaW9uczwvbGk+Cis8L3VsPjxwPkEgcGFydGlhbCBpbXBsZW1lbnRhdGlvbiBvZiA8YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi8yMDAxL1JFQy14bWxzY2hlbWEtMS0yMDAxMDUwMi8iPlhNTCBTY2hlbWFzIFBhcnQKKzE6IFN0cnVjdHVyZTwvYT4gaXMgYmVpbmcgd29ya2VkIG9uIGJ1dCBpdCB3b3VsZCBiZSBmYXIgdG9vIGVhcmx5IHRvIG1ha2UgYW55Citjb25mb3JtYW5jZSBzdGF0ZW1lbnQgYWJvdXQgaXQgYXQgdGhlIG1vbWVudC48L3A+PHA+U2VwYXJhdGUgZG9jdW1lbnRzOjwvcD48dWw+CisgIDxsaT48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvWFNMVC8iPnRoZSBsaWJ4c2x0IHBhZ2U8L2E+IHByb3ZpZGluZyBhbgorICAgIGltcGxlbWVudGF0aW9uIG9mIFhTTFQgMS4wIGFuZCBjb21tb24gZXh0ZW5zaW9ucyBsaWtlIEVYU0xUIGZvcgorICBsaWJ4bWwyPC9saT4KKyAgPGxpPjxhIGhyZWY9Imh0dHA6Ly9nZG9tZTIuY3MudW5pYm8uaXQvIj50aGUgZ2RvbWUyIHBhZ2U8L2E+CisgICAgOiBhIHN0YW5kYXJkIERPTTIgaW1wbGVtZW50YXRpb24gZm9yIGxpYnhtbDI8L2xpPgorICA8bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5hbGVrc2V5LmNvbS94bWxzZWMvIj50aGUgWE1MU2VjIHBhZ2U8L2E+OiBhbgorICAgIGltcGxlbWVudGF0aW9uIG9mIDxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3htbGRzaWctY29yZS8iPlczQyBYTUwKKyAgICBEaWdpdGFsIFNpZ25hdHVyZTwvYT4gZm9yIGxpYnhtbDI8L2xpPgorICA8bGk+YWxzbyBjaGVjayB0aGUgcmVsYXRlZCBsaW5rcyBzZWN0aW9uIGZvciBtb3JlIHJlbGF0ZWQgYW5kIGFjdGl2ZQorICAgIHByb2plY3RzLjwvbGk+Cis8L3VsPjxwPiBIb3N0aW5nIHNwb25zb3JlZCBieSA8YSBocmVmPSJodHRwOi8vd3d3LmFvZW1lZGlhLmRlL29wZW5zb3VyY2UtY21zLmh0bWwiPk9wZW4gU291cmNlIENNUyBzZXJ2aWNlczwvYT4gZnJvbSBBT0UgbWVkaWEuPC9wPjxwPkxvZ28gZGVzaWduZWQgYnkgPGEgaHJlZj0ibWFpbHRvOmxpeWFuYWdlQGFjY2Vzcy5jaCI+TWFyYyBMaXlhbmFnZTwvYT4uPC9wPjxwPjxhIGhyZWY9ImJ1Z3MuaHRtbCI+RGFuaWVsIFZlaWxsYXJkPC9hPjwvcD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9pbmRleC5weSBiL2xpYnhtbDIvZG9jL2luZGV4LnB5Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjU3OGYyODgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9pbmRleC5weQpAQCAtMCwwICsxLDEyNTggQEAKKyMhL3Vzci9iaW4vcHl0aG9uIC11CisjCisjIGltcG9ydHMgdGhlIEFQSSBkZXNjcmlwdGlvbiBhbmQgZmlsbHMgdXAgYSBkYXRhYmFzZSB3aXRoCisjIG5hbWUgcmVsZXZhbmNlIHRvIG1vZHVsZXMsIGZ1bmN0aW9ucyBvciB3ZWIgcGFnZXMKKyMKKyMgT3BlcmF0aW9uIG5lZWRlZDoKKyMgPT09PT09PT09PT09PT09PT0KKyMKKyMgaW5zdGFsbCBteXNxbGQsIHRoZSBweXRob24gd3JhcHBlcnMgZm9yIG15c3FsIGFuZCBsaWJ4bWwyLCBzdGFydCBteXNxbGQKKyMgQ2hhbmdlIHRoZSByb290IHBhc3N3ZCBvZiBteXNxbDoKKyMgICAgbXlzcWxhZG1pbiAtdSByb290IHBhc3N3b3JkIG5ld19wYXNzd29yZAorIyBDcmVhdGUgdGhlIG5ldyBkYXRhYmFzZSB4bWxzb2Z0CisjICAgIG15c3FsYWRtaW4gLXAgY3JlYXRlIHhtbHNvZnQKKyMgQ3JlYXRlIGEgZGF0YWJhc2UgdXNlciAndmVpbGxhcmQnIGFuZCBnaXZlIGhpbSBwYXNzb3JkIGFjY2VzcworIyBjaGFuZ2UgdmVpbGxhcmQgYW5kIGFiY2RlIHdpdGggdGhlIHJpZ2h0IHVzZXIgbmFtZSBhbmQgcGFzc3dkCisjICAgIG15c3FsIC1wCisjICAgIHBhc3N3b3JkOgorIyAgICBteXNxbD4gR1JBTlQgQUxMIFBSSVZJTEVHRVMgT04geG1sc29mdCBUTyB2ZWlsbGFyZEBsb2NhbGhvc3QKKyMgICAgICAgICAgIElERU5USUZJRUQgQlkgJ2FiY2RlJyBXSVRIIEdSQU5UIE9QVElPTjsKKyMKKyMgQXMgdGhlIHVzZXIgY2hlY2sgdGhlIGFjY2VzczoKKyMgICAgbXlzcWwgLXAgeG1sc29mdAorIyAgICBFbnRlciBwYXNzd29yZDoKKyMgICAgV2VsY29tZSB0byB0aGUgTXlTUUwgbW9uaXRvci4uLi4KKyMgICAgbXlzcWw+IHVzZSB4bWxzb2Z0CisjICAgIERhdGFiYXNlIGNoYW5nZWQKKyMgICAgbXlzcWw+IHF1aXQKKyMgICAgQnllCisjCisjIFRoZW4gcnVuIHRoZSBzY3JpcHQgaW4gdGhlIGRvYyBzdWJkaXIsIGl0IHdpbGwgY3JlYXRlIHRoZSBzeW1ib2xzIGFuZAorIyB3b3JkIHRhYmxlcyBhbmQgcG9wdWxhdGUgdGhlbSB3aXRoIGluZm9ybWF0aW9ucyBleHRyYWN0ZWQgZnJvbSAKKyMgdGhlIGxpYnhtbDItYXBpLnhtbCBBUEkgZGVzY3JpcHRpb24sIGFuZCBtYWtlIHRoZW4gYWNjZXNzaWJsZSByZWFkLW9ubHkKKyMgYnkgbm9ib2R5QGxvYWNsaG9zdCB0aGUgdXNlciBleHBlY3RlZCB0byBiZSBBcGFjaGUncyBvbmUKKyMKKyMgT24gdGhlIEFwYWNoZSBjb25maWd1cmF0aW9uLCBtYWtlIHN1cmUgeW91IGhhdmUgcGhwIHN1cHBvcnQgZW5hYmxlZAorIworCitpbXBvcnQgTXlTUUxkYgoraW1wb3J0IGxpYnhtbDIKK2ltcG9ydCBzeXMKK2ltcG9ydCBzdHJpbmcKK2ltcG9ydCBvcworCisjCisjIFdlIGFyZSBub3QgaW50ZXJlc3RlZCBpbiBwYXJzaW5nIGVycm9ycyBoZXJlCisjCitkZWYgY2FsbGJhY2soY3R4LCBzdHIpOgorICAgIHJldHVybgorbGlieG1sMi5yZWdpc3RlckVycm9ySGFuZGxlcihjYWxsYmFjaywgTm9uZSkKKworIworIyBUaGUgZGljdGlvbm5hcnkgb2YgdGFibGVzIHJlcXVpcmVkIGFuZCB0aGUgU1FMIGNvbW1hbmQgbmVlZGVkCisjIHRvIGNyZWF0ZSB0aGVtCisjCitUQUJMRVM9eworICAic3ltYm9scyIgOiAiIiJDUkVBVEUgVEFCTEUgc3ltYm9scyAoCisgICAgICAgICAgIG5hbWUgdmFyY2hhcigyNTUpIEJJTkFSWSBOT1QgTlVMTCwKKwkgICBtb2R1bGUgdmFyY2hhcigyNTUpIEJJTkFSWSBOT1QgTlVMTCwKKyAgICAgICAgICAgdHlwZSB2YXJjaGFyKDI1KSBOT1QgTlVMTCwKKwkgICBkZXNjciB2YXJjaGFyKDI1NSksCisJICAgVU5JUVVFIEtFWSBuYW1lIChuYW1lKSwKKwkgICBLRVkgbW9kdWxlIChtb2R1bGUpKSIiIiwKKyAgIndvcmRzIiA6ICIiIkNSRUFURSBUQUJMRSB3b3JkcyAoCisgICAgICAgICAgIG5hbWUgdmFyY2hhcig1MCkgQklOQVJZIE5PVCBOVUxMLAorCSAgIHN5bWJvbCB2YXJjaGFyKDI1NSkgQklOQVJZIE5PVCBOVUxMLAorICAgICAgICAgICByZWxldmFuY2UgaW50LAorCSAgIEtFWSBuYW1lIChuYW1lKSwKKwkgICBLRVkgc3ltYm9sIChzeW1ib2wpLAorCSAgIFVOSVFVRSBLRVkgSUQgKG5hbWUsIHN5bWJvbCkpIiIiLAorICAid29yZHNIVE1MIiA6ICIiIkNSRUFURSBUQUJMRSB3b3Jkc0hUTUwgKAorICAgICAgICAgICBuYW1lIHZhcmNoYXIoNTApIEJJTkFSWSBOT1QgTlVMTCwKKwkgICByZXNvdXJjZSB2YXJjaGFyKDI1NSkgQklOQVJZIE5PVCBOVUxMLAorCSAgIHNlY3Rpb24gdmFyY2hhcigyNTUpLAorCSAgIGlkIHZhcmNoYXIoNTApLAorICAgICAgICAgICByZWxldmFuY2UgaW50LAorCSAgIEtFWSBuYW1lIChuYW1lKSwKKwkgICBLRVkgcmVzb3VyY2UgKHJlc291cmNlKSwKKwkgICBVTklRVUUgS0VZIHJlZiAobmFtZSwgcmVzb3VyY2UpKSIiIiwKKyAgIndvcmRzQXJjaGl2ZSIgOiAiIiJDUkVBVEUgVEFCTEUgd29yZHNBcmNoaXZlICgKKyAgICAgICAgICAgbmFtZSB2YXJjaGFyKDUwKSBCSU5BUlkgTk9UIE5VTEwsCisJICAgSUQgaW50KDExKSBOT1QgTlVMTCwKKyAgICAgICAgICAgcmVsZXZhbmNlIGludCwKKwkgICBLRVkgbmFtZSAobmFtZSksCisJICAgVU5JUVVFIEtFWSByZWYgKG5hbWUsIElEKSkiIiIsCisgICJwYWdlcyIgOiAiIiJDUkVBVEUgVEFCTEUgcGFnZXMgKAorICAgICAgICAgICByZXNvdXJjZSB2YXJjaGFyKDI1NSkgQklOQVJZIE5PVCBOVUxMLAorCSAgIHRpdGxlIHZhcmNoYXIoMjU1KSBCSU5BUlkgTk9UIE5VTEwsCisJICAgVU5JUVVFIEtFWSBuYW1lIChyZXNvdXJjZSkpIiIiLAorICAiYXJjaGl2ZXMiIDogIiIiQ1JFQVRFIFRBQkxFIGFyY2hpdmVzICgKKyAgICAgICAgICAgSUQgaW50KDExKSBOT1QgTlVMTCBhdXRvX2luY3JlbWVudCwKKyAgICAgICAgICAgcmVzb3VyY2UgdmFyY2hhcigyNTUpIEJJTkFSWSBOT1QgTlVMTCwKKwkgICB0aXRsZSB2YXJjaGFyKDI1NSkgQklOQVJZIE5PVCBOVUxMLAorCSAgIFVOSVFVRSBLRVkgaWQgKElELHJlc291cmNlKDI1NSkpLAorCSAgIElOREVYIChJRCksCisJICAgSU5ERVggKHJlc291cmNlKSkiIiIsCisgICJRdWVyaWVzIiA6ICIiIkNSRUFURSBUQUJMRSBRdWVyaWVzICgKKyAgICAgICAgICAgSUQgaW50KDExKSBOT1QgTlVMTCBhdXRvX2luY3JlbWVudCwKKwkgICBWYWx1ZSB2YXJjaGFyKDUwKSBOT1QgTlVMTCwKKwkgICBDb3VudCBpbnQoMTEpIE5PVCBOVUxMLAorCSAgIFVOSVFVRSBLRVkgaWQgKElELFZhbHVlKDM1KSksCisJICAgSU5ERVggKElEKSkiIiIsCisgICJBbGxRdWVyaWVzIiA6ICIiIkNSRUFURSBUQUJMRSBBbGxRdWVyaWVzICgKKyAgICAgICAgICAgSUQgaW50KDExKSBOT1QgTlVMTCBhdXRvX2luY3JlbWVudCwKKwkgICBWYWx1ZSB2YXJjaGFyKDUwKSBOT1QgTlVMTCwKKwkgICBDb3VudCBpbnQoMTEpIE5PVCBOVUxMLAorCSAgIFVOSVFVRSBLRVkgaWQgKElELFZhbHVlKDM1KSksCisJICAgSU5ERVggKElEKSkiIiIsCit9CisKKyMKKyMgVGhlIFhNTCBBUEkgZGVzY3JpcHRpb24gZmlsZSB0byBwYXJzZQorIworQVBJPSJsaWJ4bWwyLWFwaS54bWwiCitEQj1Ob25lCisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMJCQkJCQkJCQkjCisjICAgICAgICAgICAgICAgICAgTXlTUUwgZGF0YWJhc2UgaW50ZXJmYWNlcwkJCQkjCisjCQkJCQkJCQkJIworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworZGVmIGNyZWF0ZVRhYmxlKGRiLCBuYW1lKToKKyAgICBnbG9iYWwgVEFCTEVTCisKKyAgICBpZiBkYiA9PSBOb25lOgorICAgICAgICByZXR1cm4gLTEKKyAgICBpZiBuYW1lID09IE5vbmU6CisgICAgICAgIHJldHVybiAtMQorICAgIGMgPSBkYi5jdXJzb3IoKQorCisgICAgcmV0ID0gYy5leGVjdXRlKCJEUk9QIFRBQkxFIElGIEVYSVNUUyAlcyIgJSAobmFtZSkpCisgICAgaWYgcmV0ID09IDE6CisgICAgICAgIHByaW50ICJSZW1vdmVkIHRhYmxlICVzIiAlIChuYW1lKQorICAgIHByaW50ICJDcmVhdGluZyB0YWJsZSAlcyIgJSAobmFtZSkKKyAgICB0cnk6CisgICAgICAgIHJldCA9IGMuZXhlY3V0ZShUQUJMRVNbbmFtZV0pCisgICAgZXhjZXB0OgorICAgICAgICBwcmludCAiRmFpbGVkIHRvIGNyZWF0ZSB0YWJsZSAlcyIgJSAobmFtZSkKKwlyZXR1cm4gLTEKKyAgICByZXR1cm4gcmV0CisKK2RlZiBjaGVja1RhYmxlcyhkYiwgdmVyYm9zZSA9IDEpOgorICAgIGdsb2JhbCBUQUJMRVMKKworICAgIGlmIGRiID09IE5vbmU6CisgICAgICAgIHJldHVybiAtMQorICAgIGMgPSBkYi5jdXJzb3IoKQorICAgIG5idGFibGVzID0gYy5leGVjdXRlKCJzaG93IHRhYmxlcyIpCisgICAgaWYgdmVyYm9zZToKKwlwcmludCAiRm91bmQgJWQgdGFibGVzIiAlIChuYnRhYmxlcykKKyAgICB0YWJsZXMgPSB7fQorICAgIGkgPSAwCisgICAgd2hpbGUgaSA8IG5idGFibGVzOgorICAgICAgICBsID0gYy5mZXRjaG9uZSgpCisJbmFtZSA9IGxbMF0KKwl0YWJsZXNbbmFtZV0gPSB7fQorICAgICAgICBpID0gaSArIDEKKworICAgIGZvciB0YWJsZSBpbiBUQUJMRVMua2V5cygpOgorICAgICAgICBpZiBub3QgdGFibGVzLmhhc19rZXkodGFibGUpOgorCSAgICBwcmludCAidGFibGUgJXMgbWlzc2luZyIgJSAodGFibGUpCisJICAgIGNyZWF0ZVRhYmxlKGRiLCB0YWJsZSkKKwl0cnk6CisJICAgIHJldCA9IGMuZXhlY3V0ZSgiU0VMRUNUIGNvdW50KCopIGZyb20gJXMiICUgdGFibGUpOworCSAgICByb3cgPSBjLmZldGNob25lKCkKKwkgICAgaWYgdmVyYm9zZToKKwkJcHJpbnQgIlRhYmxlICVzIGNvbnRhaW5zICVkIHJlY29yZHMiICUgKHRhYmxlLCByb3dbMF0pCisJZXhjZXB0OgorCSAgICBwcmludCAiVHJvdWJsZXMgd2l0aCB0YWJsZSAlcyA6IHJlcGFpcmluZyIgJSAodGFibGUpCisJICAgIHJldCA9IGMuZXhlY3V0ZSgicmVwYWlyIHRhYmxlICVzIiAlIHRhYmxlKTsKKwkgICAgcHJpbnQgInJlcGFpcmluZyByZXR1cm5lZCAlZCIgJSAocmV0KQorCSAgICByZXQgPSBjLmV4ZWN1dGUoIlNFTEVDVCBjb3VudCgqKSBmcm9tICVzIiAlIHRhYmxlKTsKKwkgICAgcm93ID0gYy5mZXRjaG9uZSgpCisJICAgIHByaW50ICJUYWJsZSAlcyBjb250YWlucyAlZCByZWNvcmRzIiAlICh0YWJsZSwgcm93WzBdKQorICAgIGlmIHZlcmJvc2U6CisJcHJpbnQgImNoZWNrVGFibGVzIGZpbmlzaGVkIgorCisgICAgIyBtYWtlIHN1cmUgYXBhY2hlIGNhbiBhY2Nlc3MgdGhlIHRhYmxlcyByZWFkLW9ubHkKKyAgICB0cnk6CisJcmV0ID0gYy5leGVjdXRlKCJHUkFOVCBTRUxFQ1QgT04geG1sc29mdC4qIFRPIG5vYm9keUBsb2NhbGhvc3QiKQorCXJldCA9IGMuZXhlY3V0ZSgiR1JBTlQgSU5TRVJULFNFTEVDVCxVUERBVEUgIE9OIHhtbHNvZnQuUXVlcmllcyBUTyBub2JvZHlAbG9jYWxob3N0IikKKyAgICBleGNlcHQ6CisgICAgICAgIHBhc3MKKyAgICByZXR1cm4gMAorICAgIAorZGVmIG9wZW5NeVNRTChkYj0ieG1sc29mdCIsIHBhc3N3ZD1Ob25lLCB2ZXJib3NlID0gMSk6CisgICAgZ2xvYmFsIERCCisKKyAgICBpZiBwYXNzd2QgPT0gTm9uZToKKyAgICAgICAgdHJ5OgorCSAgICBwYXNzd2QgPSBvcy5lbnZpcm9uWyJNeVNRTF9QQVNTIl0KKwlleGNlcHQ6CisJICAgIHByaW50ICJObyBwYXNzd29yZCBhdmFpbGFibGUsIHNldCBlbnZpcm9ubWVudCBNeVNRTF9QQVNTIgorCSAgICBzeXMuZXhpdCgxKQorCisgICAgREIgPSBNeVNRTGRiLmNvbm5lY3QocGFzc3dkPXBhc3N3ZCwgZGI9ZGIpCisgICAgaWYgREIgPT0gTm9uZToKKyAgICAgICAgcmV0dXJuIC0xCisgICAgcmV0ID0gY2hlY2tUYWJsZXMoREIsIHZlcmJvc2UpCisgICAgcmV0dXJuIHJldAorCitkZWYgdXBkYXRlV29yZChuYW1lLCBzeW1ib2wsIHJlbGV2YW5jZSk6CisgICAgZ2xvYmFsIERCCisKKyAgICBpZiBEQiA9PSBOb25lOgorICAgICAgICBvcGVuTXlTUUwoKQorICAgIGlmIERCID09IE5vbmU6CisgICAgICAgIHJldHVybiAtMQorICAgIGlmIG5hbWUgPT0gTm9uZToKKyAgICAgICAgcmV0dXJuIC0xCisgICAgaWYgc3ltYm9sID09IE5vbmU6CisgICAgICAgIHJldHVybiAtMQorCisgICAgYyA9IERCLmN1cnNvcigpCisgICAgdHJ5OgorCXJldCA9IGMuZXhlY3V0ZSgKKyIiIklOU0VSVCBJTlRPIHdvcmRzIChuYW1lLCBzeW1ib2wsIHJlbGV2YW5jZSkgVkFMVUVTICgnJXMnLCclcycsICVkKSIiIiAlCisJCShuYW1lLCBzeW1ib2wsIHJlbGV2YW5jZSkpCisgICAgZXhjZXB0OgorICAgICAgICB0cnk6CisJICAgIHJldCA9IGMuZXhlY3V0ZSgKKyAgICAiIiJVUERBVEUgd29yZHMgU0VUIHJlbGV2YW5jZSA9ICVkIHdoZXJlIG5hbWUgPSAnJXMnIGFuZCBzeW1ib2wgPSAnJXMnIiIiICUKKwkJICAgIChyZWxldmFuY2UsIG5hbWUsIHN5bWJvbCkpCisJZXhjZXB0OgorCSAgICBwcmludCAiVXBkYXRlIHdvcmQgKCVzLCAlcywgJXMpIGZhaWxlZCBjb21tYW5kIiAlIChuYW1lLCBzeW1ib2wsIHJlbGV2YW5jZSkKKwkgICAgcHJpbnQgIlVQREFURSB3b3JkcyBTRVQgcmVsZXZhbmNlID0gJWQgd2hlcmUgbmFtZSA9ICclcycgYW5kIHN5bWJvbCA9ICclcyciICUgKHJlbGV2YW5jZSwgbmFtZSwgc3ltYm9sKQorCSAgICBwcmludCBzeXMuZXhjX3R5cGUsIHN5cy5leGNfdmFsdWUKKwkgICAgcmV0dXJuIC0xCisJICAgICAKKyAgICByZXR1cm4gcmV0CisKK2RlZiB1cGRhdGVTeW1ib2wobmFtZSwgbW9kdWxlLCB0eXBlLCBkZXNjKToKKyAgICBnbG9iYWwgREIKKworICAgIHVwZGF0ZVdvcmQobmFtZSwgbmFtZSwgNTApCisgICAgaWYgREIgPT0gTm9uZToKKyAgICAgICAgb3Blbk15U1FMKCkKKyAgICBpZiBEQiA9PSBOb25lOgorICAgICAgICByZXR1cm4gLTEKKyAgICBpZiBuYW1lID09IE5vbmU6CisgICAgICAgIHJldHVybiAtMQorICAgIGlmIG1vZHVsZSA9PSBOb25lOgorICAgICAgICByZXR1cm4gLTEKKyAgICBpZiB0eXBlID09IE5vbmU6CisgICAgICAgIHJldHVybiAtMQorCisgICAgdHJ5OgorCWRlc2MgPSBzdHJpbmcucmVwbGFjZShkZXNjLCAiJyIsICIgIikKKwlsID0gc3RyaW5nLnNwbGl0KGRlc2MsICIuIikKKwlkZXNjID0gbFswXQorCWRlc2MgPSBkZXNjWzA6OTldCisgICAgZXhjZXB0OgorICAgICAgICBkZXNjID0gIiIKKworICAgIGMgPSBEQi5jdXJzb3IoKQorICAgIHRyeToKKwlyZXQgPSBjLmV4ZWN1dGUoCisiIiJJTlNFUlQgSU5UTyBzeW1ib2xzIChuYW1lLCBtb2R1bGUsIHR5cGUsIGRlc2NyKSBWQUxVRVMgKCclcycsJyVzJywgJyVzJywgJyVzJykiIiIgJQorICAgICAgICAgICAgICAgICAgICAobmFtZSwgbW9kdWxlLCB0eXBlLCBkZXNjKSkKKyAgICBleGNlcHQ6CisgICAgICAgIHRyeToKKwkgICAgcmV0ID0gYy5leGVjdXRlKAorIiIiVVBEQVRFIHN5bWJvbHMgU0VUIG1vZHVsZT0nJXMnLCB0eXBlPSclcycsIGRlc2NyPSclcycgd2hlcmUgbmFtZT0nJXMnIiIiICUKKyAgICAgICAgICAgICAgICAgICAgKG1vZHVsZSwgdHlwZSwgZGVzYywgbmFtZSkpCisgICAgICAgIGV4Y2VwdDoKKwkgICAgcHJpbnQgIlVwZGF0ZSBzeW1ib2wgKCVzLCAlcywgJXMpIGZhaWxlZCBjb21tYW5kIiAlIChuYW1lLCBtb2R1bGUsIHR5cGUpCisJICAgIHByaW50ICIiIlVQREFURSBzeW1ib2xzIFNFVCBtb2R1bGU9JyVzJywgdHlwZT0nJXMnLCBkZXNjcj0nJXMnIHdoZXJlIG5hbWU9JyVzJyIiIiAlIChtb2R1bGUsIHR5cGUsIGRlc2MsIG5hbWUpCisJICAgIHByaW50IHN5cy5leGNfdHlwZSwgc3lzLmV4Y192YWx1ZQorCSAgICByZXR1cm4gLTEKKwkgICAgIAorICAgIHJldHVybiByZXQKKyAgICAgICAgCitkZWYgYWRkRnVuY3Rpb24obmFtZSwgbW9kdWxlLCBkZXNjID0gIiIpOgorICAgIHJldHVybiB1cGRhdGVTeW1ib2wobmFtZSwgbW9kdWxlLCAnZnVuY3Rpb24nLCBkZXNjKQorCitkZWYgYWRkTWFjcm8obmFtZSwgbW9kdWxlLCBkZXNjID0gIiIpOgorICAgIHJldHVybiB1cGRhdGVTeW1ib2wobmFtZSwgbW9kdWxlLCAnbWFjcm8nLCBkZXNjKQorCitkZWYgYWRkRW51bShuYW1lLCBtb2R1bGUsIGRlc2MgPSAiIik6CisgICAgcmV0dXJuIHVwZGF0ZVN5bWJvbChuYW1lLCBtb2R1bGUsICdlbnVtJywgZGVzYykKKworZGVmIGFkZFN0cnVjdChuYW1lLCBtb2R1bGUsIGRlc2MgPSAiIik6CisgICAgcmV0dXJuIHVwZGF0ZVN5bWJvbChuYW1lLCBtb2R1bGUsICdzdHJ1Y3QnLCBkZXNjKQorCitkZWYgYWRkQ29uc3QobmFtZSwgbW9kdWxlLCBkZXNjID0gIiIpOgorICAgIHJldHVybiB1cGRhdGVTeW1ib2wobmFtZSwgbW9kdWxlLCAnY29uc3QnLCBkZXNjKQorCitkZWYgYWRkVHlwZShuYW1lLCBtb2R1bGUsIGRlc2MgPSAiIik6CisgICAgcmV0dXJuIHVwZGF0ZVN5bWJvbChuYW1lLCBtb2R1bGUsICd0eXBlJywgZGVzYykKKworZGVmIGFkZEZ1bmN0eXBlKG5hbWUsIG1vZHVsZSwgZGVzYyA9ICIiKToKKyAgICByZXR1cm4gdXBkYXRlU3ltYm9sKG5hbWUsIG1vZHVsZSwgJ2Z1bmN0eXBlJywgZGVzYykKKworZGVmIGFkZFBhZ2UocmVzb3VyY2UsIHRpdGxlKToKKyAgICBnbG9iYWwgREIKKworICAgIGlmIERCID09IE5vbmU6CisgICAgICAgIG9wZW5NeVNRTCgpCisgICAgaWYgREIgPT0gTm9uZToKKyAgICAgICAgcmV0dXJuIC0xCisgICAgaWYgcmVzb3VyY2UgPT0gTm9uZToKKyAgICAgICAgcmV0dXJuIC0xCisKKyAgICBjID0gREIuY3Vyc29yKCkKKyAgICB0cnk6CisJcmV0ID0gYy5leGVjdXRlKAorCSAgICAiIiJJTlNFUlQgSU5UTyBwYWdlcyAocmVzb3VyY2UsIHRpdGxlKSBWQUxVRVMgKCclcycsJyVzJykiIiIgJQorICAgICAgICAgICAgICAgICAgICAocmVzb3VyY2UsIHRpdGxlKSkKKyAgICBleGNlcHQ6CisgICAgICAgIHRyeToKKwkgICAgcmV0ID0gYy5leGVjdXRlKAorCQkiIiJVUERBVEUgcGFnZXMgU0VUIHRpdGxlPSclcycgV0hFUkUgcmVzb3VyY2U9JyVzJyIiIiAlCisgICAgICAgICAgICAgICAgICAgICh0aXRsZSwgcmVzb3VyY2UpKQorICAgICAgICBleGNlcHQ6CisJICAgIHByaW50ICJVcGRhdGUgc3ltYm9sICglcywgJXMsICVzKSBmYWlsZWQgY29tbWFuZCIgJSAobmFtZSwgbW9kdWxlLCB0eXBlKQorCSAgICBwcmludCAiIiJVUERBVEUgcGFnZXMgU0VUIHRpdGxlPSclcycgV0hFUkUgcmVzb3VyY2U9JyVzJyIiIiAlICh0aXRsZSwgcmVzb3VyY2UpCisJICAgIHByaW50IHN5cy5leGNfdHlwZSwgc3lzLmV4Y192YWx1ZQorCSAgICByZXR1cm4gLTEKKwkgICAgIAorICAgIHJldHVybiByZXQKKworZGVmIHVwZGF0ZVdvcmRIVE1MKG5hbWUsIHJlc291cmNlLCBkZXNjLCBpZCwgcmVsZXZhbmNlKToKKyAgICBnbG9iYWwgREIKKworICAgIGlmIERCID09IE5vbmU6CisgICAgICAgIG9wZW5NeVNRTCgpCisgICAgaWYgREIgPT0gTm9uZToKKyAgICAgICAgcmV0dXJuIC0xCisgICAgaWYgbmFtZSA9PSBOb25lOgorICAgICAgICByZXR1cm4gLTEKKyAgICBpZiByZXNvdXJjZSA9PSBOb25lOgorICAgICAgICByZXR1cm4gLTEKKyAgICBpZiBpZCA9PSBOb25lOgorICAgICAgICBpZCA9ICIiCisgICAgaWYgZGVzYyA9PSBOb25lOgorICAgICAgICBkZXNjID0gIiIKKyAgICBlbHNlOgorCXRyeToKKwkgICAgZGVzYyA9IHN0cmluZy5yZXBsYWNlKGRlc2MsICInIiwgIiAiKQorCSAgICBkZXNjID0gZGVzY1swOjk5XQorCWV4Y2VwdDoKKwkgICAgZGVzYyA9ICIiCisKKyAgICBjID0gREIuY3Vyc29yKCkKKyAgICB0cnk6CisJcmV0ID0gYy5leGVjdXRlKAorIiIiSU5TRVJUIElOVE8gd29yZHNIVE1MIChuYW1lLCByZXNvdXJjZSwgc2VjdGlvbiwgaWQsIHJlbGV2YW5jZSkgVkFMVUVTICgnJXMnLCclcycsICclcycsICclcycsICclZCcpIiIiICUKKyAgICAgICAgICAgICAgICAgICAgKG5hbWUsIHJlc291cmNlLCBkZXNjLCBpZCwgcmVsZXZhbmNlKSkKKyAgICBleGNlcHQ6CisgICAgICAgIHRyeToKKwkgICAgcmV0ID0gYy5leGVjdXRlKAorIiIiVVBEQVRFIHdvcmRzSFRNTCBTRVQgc2VjdGlvbj0nJXMnLCBpZD0nJXMnLCByZWxldmFuY2U9JyVkJyB3aGVyZSBuYW1lPSclcycgYW5kIHJlc291cmNlPSclcyciIiIgJQorICAgICAgICAgICAgICAgICAgICAoZGVzYywgaWQsIHJlbGV2YW5jZSwgbmFtZSwgcmVzb3VyY2UpKQorICAgICAgICBleGNlcHQ6CisJICAgIHByaW50ICJVcGRhdGUgc3ltYm9sICglcywgJXMsICVkKSBmYWlsZWQgY29tbWFuZCIgJSAobmFtZSwgcmVzb3VyY2UsIHJlbGV2YW5jZSkKKwkgICAgcHJpbnQgIiIiVVBEQVRFIHdvcmRzSFRNTCBTRVQgc2VjdGlvbj0nJXMnLCBpZD0nJXMnLCByZWxldmFuY2U9JyVkJyB3aGVyZSBuYW1lPSclcycgYW5kIHJlc291cmNlPSclcyciIiIgJSAoZGVzYywgaWQsIHJlbGV2YW5jZSwgbmFtZSwgcmVzb3VyY2UpCisJICAgIHByaW50IHN5cy5leGNfdHlwZSwgc3lzLmV4Y192YWx1ZQorCSAgICByZXR1cm4gLTEKKwkgICAgIAorICAgIHJldHVybiByZXQKKworZGVmIGNoZWNrWE1MTXNnQXJjaGl2ZSh1cmwpOgorICAgIGdsb2JhbCBEQgorCisgICAgaWYgREIgPT0gTm9uZToKKyAgICAgICAgb3Blbk15U1FMKCkKKyAgICBpZiBEQiA9PSBOb25lOgorICAgICAgICByZXR1cm4gLTEKKyAgICBpZiB1cmwgPT0gTm9uZToKKyAgICAgICAgcmV0dXJuIC0xCisKKyAgICBjID0gREIuY3Vyc29yKCkKKyAgICB0cnk6CisJcmV0ID0gYy5leGVjdXRlKAorCSAgICAiIiJTRUxFQ1QgSUQgRlJPTSBhcmNoaXZlcyBXSEVSRSByZXNvdXJjZT0nJXMnIiIiICUgKHVybCkpCisJcm93ID0gYy5mZXRjaG9uZSgpCisJaWYgcm93ID09IE5vbmU6CisJICAgIHJldHVybiAtMQorICAgIGV4Y2VwdDoKKwlyZXR1cm4gLTEKKwkgICAgIAorICAgIHJldHVybiByb3dbMF0KKyAgICAKK2RlZiBhZGRYTUxNc2dBcmNoaXZlKHVybCwgdGl0bGUpOgorICAgIGdsb2JhbCBEQgorCisgICAgaWYgREIgPT0gTm9uZToKKyAgICAgICAgb3Blbk15U1FMKCkKKyAgICBpZiBEQiA9PSBOb25lOgorICAgICAgICByZXR1cm4gLTEKKyAgICBpZiB1cmwgPT0gTm9uZToKKyAgICAgICAgcmV0dXJuIC0xCisgICAgaWYgdGl0bGUgPT0gTm9uZToKKyAgICAgICAgdGl0bGUgPSAiIgorICAgIGVsc2U6CisJdGl0bGUgPSBzdHJpbmcucmVwbGFjZSh0aXRsZSwgIiciLCAiICIpCisJdGl0bGUgPSB0aXRsZVswOjk5XQorCisgICAgYyA9IERCLmN1cnNvcigpCisgICAgdHJ5OgorICAgICAgICBjbWQgPSAiIiJJTlNFUlQgSU5UTyBhcmNoaXZlcyAocmVzb3VyY2UsIHRpdGxlKSBWQUxVRVMgKCclcycsJyVzJykiIiIgJSAodXJsLCB0aXRsZSkKKyAgICAgICAgcmV0ID0gYy5leGVjdXRlKGNtZCkKKwljbWQgPSAiIiJTRUxFQ1QgSUQgRlJPTSBhcmNoaXZlcyBXSEVSRSByZXNvdXJjZT0nJXMnIiIiICUgKHVybCkKKyAgICAgICAgcmV0ID0gYy5leGVjdXRlKGNtZCkKKwlyb3cgPSBjLmZldGNob25lKCkKKwlpZiByb3cgPT0gTm9uZToKKwkgICAgcHJpbnQgImFkZFhNTE1zZ0FyY2hpdmUgZmFpbGVkIHRvIGdldCB0aGUgSUQ6ICVzIiAlICh1cmwpCisJICAgIHJldHVybiAtMQorICAgIGV4Y2VwdDoKKyAgICAgICAgcHJpbnQgImFkZFhNTE1zZ0FyY2hpdmUgZmFpbGVkIGNvbW1hbmQ6ICVzIiAlIChjbWQpCisJcmV0dXJuIC0xCisJICAgICAKKyAgICByZXR1cm4oKGludCkocm93WzBdKSkKKworZGVmIHVwZGF0ZVdvcmRBcmNoaXZlKG5hbWUsIGlkLCByZWxldmFuY2UpOgorICAgIGdsb2JhbCBEQgorCisgICAgaWYgREIgPT0gTm9uZToKKyAgICAgICAgb3Blbk15U1FMKCkKKyAgICBpZiBEQiA9PSBOb25lOgorICAgICAgICByZXR1cm4gLTEKKyAgICBpZiBuYW1lID09IE5vbmU6CisgICAgICAgIHJldHVybiAtMQorICAgIGlmIGlkID09IE5vbmU6CisgICAgICAgIHJldHVybiAtMQorCisgICAgYyA9IERCLmN1cnNvcigpCisgICAgdHJ5OgorCXJldCA9IGMuZXhlY3V0ZSgKKyIiIklOU0VSVCBJTlRPIHdvcmRzQXJjaGl2ZSAobmFtZSwgaWQsIHJlbGV2YW5jZSkgVkFMVUVTICgnJXMnLCAnJWQnLCAnJWQnKSIiIiAlCisgICAgICAgICAgICAgICAgICAgIChuYW1lLCBpZCwgcmVsZXZhbmNlKSkKKyAgICBleGNlcHQ6CisgICAgICAgIHRyeToKKwkgICAgcmV0ID0gYy5leGVjdXRlKAorIiIiVVBEQVRFIHdvcmRzQXJjaGl2ZSBTRVQgcmVsZXZhbmNlPSclZCcgd2hlcmUgbmFtZT0nJXMnIGFuZCBJRD0nJWQnIiIiICUKKyAgICAgICAgICAgICAgICAgICAgKHJlbGV2YW5jZSwgbmFtZSwgaWQpKQorICAgICAgICBleGNlcHQ6CisJICAgIHByaW50ICJVcGRhdGUgd29yZCBhcmNoaXZlICglcywgJWQsICVkKSBmYWlsZWQgY29tbWFuZCIgJSAobmFtZSwgaWQsIHJlbGV2YW5jZSkKKwkgICAgcHJpbnQgIiIiVVBEQVRFIHdvcmRzQXJjaGl2ZSBTRVQgcmVsZXZhbmNlPSclZCcgd2hlcmUgbmFtZT0nJXMnIGFuZCBJRD0nJWQnIiIiICUgKHJlbGV2YW5jZSwgbmFtZSwgaWQpCisJICAgIHByaW50IHN5cy5leGNfdHlwZSwgc3lzLmV4Y192YWx1ZQorCSAgICByZXR1cm4gLTEKKwkgICAgIAorICAgIHJldHVybiByZXQKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIwkJCQkJCQkJCSMKKyMgICAgICAgICAgICAgICAgICBXb3JkIGRpY3Rpb25uYXJ5IGFuZCBhbmFseXNpcyByb3V0aW5lcwkJIworIwkJCQkJCQkJCSMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworIworIyB0b3AgMTAwIGVuZ2xpc2ggd29yZCB3aXRob3V0IHRoZSBvbmUgbGVuIDwgMyArIG93biBzZXQKKyMKK2Ryb3BXb3JkcyA9IHsKKyAgICAndGhlJzowLCAndGhpcyc6MCwgJ2Nhbic6MCwgJ21hbic6MCwgJ2hhZCc6MCwgJ2hpbSc6MCwgJ29ubHknOjAsCisgICAgJ2FuZCc6MCwgJ25vdCc6MCwgJ2JlZW4nOjAsICdvdGhlcic6MCwgJ2V2ZW4nOjAsICdhcmUnOjAsICd3YXMnOjAsCisgICAgJ25ldyc6MCwgJ21vc3QnOjAsICdidXQnOjAsICd3aGVuJzowLCAnc29tZSc6MCwgJ21hZGUnOjAsICdmcm9tJzowLAorICAgICd3aG8nOjAsICdjb3VsZCc6MCwgJ2FmdGVyJzowLCAndGhhdCc6MCwgJ3dpbGwnOjAsICd0aW1lJzowLCAnYWxzbyc6MCwKKyAgICAnaGF2ZSc6MCwgJ21vcmUnOjAsICd0aGVzZSc6MCwgJ2RpZCc6MCwgJ3dhcyc6MCwgJ3R3byc6MCwgJ21hbnknOjAsCisgICAgJ3RoZXknOjAsICdtYXknOjAsICdiZWZvcmUnOjAsICdmb3InOjAsICd3aGljaCc6MCwgJ291dCc6MCwgJ3RoZW4nOjAsCisgICAgJ211c3QnOjAsICdvbmUnOjAsICd0aHJvdWdoJzowLCAnd2l0aCc6MCwgJ3lvdSc6MCwgJ3NhaWQnOjAsCisgICAgJ2ZpcnN0JzowLCAnYmFjayc6MCwgJ3dlcmUnOjAsICd3aGF0JzowLCAnYW55JzowLCAneWVhcnMnOjAsICdoaXMnOjAsCisgICAgJ2hlcic6MCwgJ3doZXJlJzowLCAnYWxsJzowLCAnaXRzJzowLCAnbm93JzowLCAnbXVjaCc6MCwgJ3NoZSc6MCwKKyAgICAnYWJvdXQnOjAsICdzdWNoJzowLCAneW91cic6MCwgJ3RoZXJlJzowLCAnaW50byc6MCwgJ2xpa2UnOjAsICdtYXknOjAsCisgICAgJ3dvdWxkJzowLCAndGhhbic6MCwgJ291cic6MCwgJ3dlbGwnOjAsICd0aGVpcic6MCwgJ3RoZW0nOjAsICdvdmVyJzowLAorICAgICdkb3duJzowLAorICAgICduZXQnOjAsICd3d3cnOjAsICdiYWQnOjAsICdPa2F5JzowLCAnYmluJzowLCAnY3VyJzowLAorfQorCit3b3Jkc0RpY3QgPSB7fQord29yZHNEaWN0SFRNTCA9IHt9Cit3b3Jkc0RpY3RBcmNoaXZlID0ge30KKworZGVmIGNsZWFudXBXb3Jkc1N0cmluZyhzdHIpOgorICAgIHN0ciA9IHN0cmluZy5yZXBsYWNlKHN0ciwgIi4iLCAiICIpCisgICAgc3RyID0gc3RyaW5nLnJlcGxhY2Uoc3RyLCAiISIsICIgIikKKyAgICBzdHIgPSBzdHJpbmcucmVwbGFjZShzdHIsICI/IiwgIiAiKQorICAgIHN0ciA9IHN0cmluZy5yZXBsYWNlKHN0ciwgIiwiLCAiICIpCisgICAgc3RyID0gc3RyaW5nLnJlcGxhY2Uoc3RyLCAiJyIsICIgIikKKyAgICBzdHIgPSBzdHJpbmcucmVwbGFjZShzdHIsICciJywgIiAiKQorICAgIHN0ciA9IHN0cmluZy5yZXBsYWNlKHN0ciwgIjsiLCAiICIpCisgICAgc3RyID0gc3RyaW5nLnJlcGxhY2Uoc3RyLCAiKCIsICIgIikKKyAgICBzdHIgPSBzdHJpbmcucmVwbGFjZShzdHIsICIpIiwgIiAiKQorICAgIHN0ciA9IHN0cmluZy5yZXBsYWNlKHN0ciwgInsiLCAiICIpCisgICAgc3RyID0gc3RyaW5nLnJlcGxhY2Uoc3RyLCAifSIsICIgIikKKyAgICBzdHIgPSBzdHJpbmcucmVwbGFjZShzdHIsICI8IiwgIiAiKQorICAgIHN0ciA9IHN0cmluZy5yZXBsYWNlKHN0ciwgIj4iLCAiICIpCisgICAgc3RyID0gc3RyaW5nLnJlcGxhY2Uoc3RyLCAiPSIsICIgIikKKyAgICBzdHIgPSBzdHJpbmcucmVwbGFjZShzdHIsICIvIiwgIiAiKQorICAgIHN0ciA9IHN0cmluZy5yZXBsYWNlKHN0ciwgIioiLCAiICIpCisgICAgc3RyID0gc3RyaW5nLnJlcGxhY2Uoc3RyLCAiOiIsICIgIikKKyAgICBzdHIgPSBzdHJpbmcucmVwbGFjZShzdHIsICIjIiwgIiAiKQorICAgIHN0ciA9IHN0cmluZy5yZXBsYWNlKHN0ciwgIlxcIiwgIiAiKQorICAgIHN0ciA9IHN0cmluZy5yZXBsYWNlKHN0ciwgIlxuIiwgIiAiKQorICAgIHN0ciA9IHN0cmluZy5yZXBsYWNlKHN0ciwgIlxyIiwgIiAiKQorICAgIHN0ciA9IHN0cmluZy5yZXBsYWNlKHN0ciwgIlx4YzIiLCAiICIpCisgICAgc3RyID0gc3RyaW5nLnJlcGxhY2Uoc3RyLCAiXHhhMCIsICIgIikKKyAgICByZXR1cm4gc3RyCisgICAgCitkZWYgY2xlYW51cERlc2NyU3RyaW5nKHN0cik6CisgICAgc3RyID0gc3RyaW5nLnJlcGxhY2Uoc3RyLCAiJyIsICIgIikKKyAgICBzdHIgPSBzdHJpbmcucmVwbGFjZShzdHIsICJcbiIsICIgIikKKyAgICBzdHIgPSBzdHJpbmcucmVwbGFjZShzdHIsICJcciIsICIgIikKKyAgICBzdHIgPSBzdHJpbmcucmVwbGFjZShzdHIsICJceGMyIiwgIiAiKQorICAgIHN0ciA9IHN0cmluZy5yZXBsYWNlKHN0ciwgIlx4YTAiLCAiICIpCisgICAgbCA9IHN0cmluZy5zcGxpdChzdHIpCisgICAgc3RyID0gc3RyaW5nLmpvaW4oc3RyKQorICAgIHJldHVybiBzdHIKKworZGVmIHNwbGl0SWRlbnRpZmllcihzdHIpOgorICAgIHJldCA9IFtdCisgICAgd2hpbGUgc3RyICE9ICIiOgorICAgICAgICBjdXIgPSBzdHJpbmcubG93ZXIoc3RyWzBdKQorCXN0ciA9IHN0clsxOl0KKwlpZiAoKGN1ciA8ICdhJykgb3IgKGN1ciA+ICd6JykpOgorCSAgICBjb250aW51ZQorCXdoaWxlIChzdHIgIT0gIiIpIGFuZCAoc3RyWzBdID49ICdBJykgYW5kIChzdHJbMF0gPD0gJ1onKToKKwkgICAgY3VyID0gY3VyICsgc3RyaW5nLmxvd2VyKHN0clswXSkKKwkgICAgc3RyID0gc3RyWzE6XQorCXdoaWxlIChzdHIgIT0gIiIpIGFuZCAoc3RyWzBdID49ICdhJykgYW5kIChzdHJbMF0gPD0gJ3onKToKKwkgICAgY3VyID0gY3VyICsgc3RyWzBdCisJICAgIHN0ciA9IHN0clsxOl0KKwl3aGlsZSAoc3RyICE9ICIiKSBhbmQgKHN0clswXSA+PSAnMCcpIGFuZCAoc3RyWzBdIDw9ICc5Jyk6CisJICAgIHN0ciA9IHN0clsxOl0KKwlyZXQuYXBwZW5kKGN1cikKKyAgICByZXR1cm4gcmV0CisKK2RlZiBhZGRXb3JkKHdvcmQsIG1vZHVsZSwgc3ltYm9sLCByZWxldmFuY2UpOgorICAgIGdsb2JhbCB3b3Jkc0RpY3QKKworICAgIGlmIHdvcmQgPT0gTm9uZSBvciBsZW4od29yZCkgPCAzOgorICAgICAgICByZXR1cm4gLTEKKyAgICBpZiBtb2R1bGUgPT0gTm9uZSBvciBzeW1ib2wgPT0gTm9uZToKKyAgICAgICAgcmV0dXJuIC0xCisgICAgaWYgZHJvcFdvcmRzLmhhc19rZXkod29yZCk6CisgICAgICAgIHJldHVybiAwCisgICAgaWYgb3JkKHdvcmRbMF0pID4gMHg4MDoKKyAgICAgICAgcmV0dXJuIDAKKworICAgIGlmIHdvcmRzRGljdC5oYXNfa2V5KHdvcmQpOgorICAgICAgICBkID0gd29yZHNEaWN0W3dvcmRdCisJaWYgZCA9PSBOb25lOgorCSAgICByZXR1cm4gMAorCWlmIGxlbihkKSA+IDUwMDoKKwkgICAgd29yZHNEaWN0W3dvcmRdID0gTm9uZQorCSAgICByZXR1cm4gMAorCXRyeToKKwkgICAgcmVsZXZhbmNlID0gcmVsZXZhbmNlICsgZFsobW9kdWxlLCBzeW1ib2wpXQorCWV4Y2VwdDoKKwkgICAgcGFzcworICAgIGVsc2U6CisgICAgICAgIHdvcmRzRGljdFt3b3JkXSA9IHt9CisgICAgd29yZHNEaWN0W3dvcmRdWyhtb2R1bGUsIHN5bWJvbCldID0gcmVsZXZhbmNlCisgICAgcmV0dXJuIHJlbGV2YW5jZQorICAgIAorZGVmIGFkZFN0cmluZyhzdHIsIG1vZHVsZSwgc3ltYm9sLCByZWxldmFuY2UpOgorICAgIGlmIHN0ciA9PSBOb25lIG9yIGxlbihzdHIpIDwgMzoKKyAgICAgICAgcmV0dXJuIC0xCisgICAgcmV0ID0gMAorICAgIHN0ciA9IGNsZWFudXBXb3Jkc1N0cmluZyhzdHIpCisgICAgbCA9IHN0cmluZy5zcGxpdChzdHIpCisgICAgZm9yIHdvcmQgaW4gbDoKKwlpZiBsZW4od29yZCkgPiAyOgorCSAgICByZXQgPSByZXQgKyBhZGRXb3JkKHdvcmQsIG1vZHVsZSwgc3ltYm9sLCA1KQorCisgICAgcmV0dXJuIHJldAorCitkZWYgYWRkV29yZEhUTUwod29yZCwgcmVzb3VyY2UsIGlkLCBzZWN0aW9uLCByZWxldmFuY2UpOgorICAgIGdsb2JhbCB3b3Jkc0RpY3RIVE1MCisKKyAgICBpZiB3b3JkID09IE5vbmUgb3IgbGVuKHdvcmQpIDwgMzoKKyAgICAgICAgcmV0dXJuIC0xCisgICAgaWYgcmVzb3VyY2UgPT0gTm9uZSBvciBzZWN0aW9uID09IE5vbmU6CisgICAgICAgIHJldHVybiAtMQorICAgIGlmIGRyb3BXb3Jkcy5oYXNfa2V5KHdvcmQpOgorICAgICAgICByZXR1cm4gMAorICAgIGlmIG9yZCh3b3JkWzBdKSA+IDB4ODA6CisgICAgICAgIHJldHVybiAwCisKKyAgICBzZWN0aW9uID0gY2xlYW51cERlc2NyU3RyaW5nKHNlY3Rpb24pCisKKyAgICBpZiB3b3Jkc0RpY3RIVE1MLmhhc19rZXkod29yZCk6CisgICAgICAgIGQgPSB3b3Jkc0RpY3RIVE1MW3dvcmRdCisJaWYgZCA9PSBOb25lOgorCSAgICBwcmludCAic2tpcHBlZCAlcyIgJSAod29yZCkKKwkgICAgcmV0dXJuIDAKKwl0cnk6CisJICAgIChyLGkscykgPSBkW3Jlc291cmNlXQorCSAgICBpZiBpICE9IE5vbmU6CisJICAgICAgICBpZCA9IGkKKwkgICAgaWYgcyAhPSBOb25lOgorCSAgICAgICAgc2VjdGlvbiA9IHMKKwkgICAgcmVsZXZhbmNlID0gcmVsZXZhbmNlICsgcgorCWV4Y2VwdDoKKwkgICAgcGFzcworICAgIGVsc2U6CisgICAgICAgIHdvcmRzRGljdEhUTUxbd29yZF0gPSB7fQorICAgIGQgPSB3b3Jkc0RpY3RIVE1MW3dvcmRdOworICAgIGRbcmVzb3VyY2VdID0gKHJlbGV2YW5jZSwgaWQsIHNlY3Rpb24pCisgICAgcmV0dXJuIHJlbGV2YW5jZQorICAgIAorZGVmIGFkZFN0cmluZ0hUTUwoc3RyLCByZXNvdXJjZSwgaWQsIHNlY3Rpb24sIHJlbGV2YW5jZSk6CisgICAgaWYgc3RyID09IE5vbmUgb3IgbGVuKHN0cikgPCAzOgorICAgICAgICByZXR1cm4gLTEKKyAgICByZXQgPSAwCisgICAgc3RyID0gY2xlYW51cFdvcmRzU3RyaW5nKHN0cikKKyAgICBsID0gc3RyaW5nLnNwbGl0KHN0cikKKyAgICBmb3Igd29yZCBpbiBsOgorCWlmIGxlbih3b3JkKSA+IDI6CisJICAgIHRyeToKKwkJciA9IGFkZFdvcmRIVE1MKHdvcmQsIHJlc291cmNlLCBpZCwgc2VjdGlvbiwgcmVsZXZhbmNlKQorCQlpZiByIDwgMDoKKwkJICAgIHByaW50ICJhZGRXb3JkSFRNTCBmYWlsZWQ6ICVzICVzIiAlICh3b3JkLCByZXNvdXJjZSkKKwkJcmV0ID0gcmV0ICsgcgorCSAgICBleGNlcHQ6CisJCXByaW50ICJhZGRXb3JkSFRNTCBmYWlsZWQ6ICVzICVzICVkIiAlICh3b3JkLCByZXNvdXJjZSwgcmVsZXZhbmNlKQorCQlwcmludCBzeXMuZXhjX3R5cGUsIHN5cy5leGNfdmFsdWUKKworICAgIHJldHVybiByZXQKKworZGVmIGFkZFdvcmRBcmNoaXZlKHdvcmQsIGlkLCByZWxldmFuY2UpOgorICAgIGdsb2JhbCB3b3Jkc0RpY3RBcmNoaXZlCisKKyAgICBpZiB3b3JkID09IE5vbmUgb3IgbGVuKHdvcmQpIDwgMzoKKyAgICAgICAgcmV0dXJuIC0xCisgICAgaWYgaWQgPT0gTm9uZSBvciBpZCA9PSAtMToKKyAgICAgICAgcmV0dXJuIC0xCisgICAgaWYgZHJvcFdvcmRzLmhhc19rZXkod29yZCk6CisgICAgICAgIHJldHVybiAwCisgICAgaWYgb3JkKHdvcmRbMF0pID4gMHg4MDoKKyAgICAgICAgcmV0dXJuIDAKKworICAgIGlmIHdvcmRzRGljdEFyY2hpdmUuaGFzX2tleSh3b3JkKToKKyAgICAgICAgZCA9IHdvcmRzRGljdEFyY2hpdmVbd29yZF0KKwlpZiBkID09IE5vbmU6CisJICAgIHByaW50ICJza2lwcGVkICVzIiAlICh3b3JkKQorCSAgICByZXR1cm4gMAorCXRyeToKKwkgICAgciA9IGRbaWRdCisJICAgIHJlbGV2YW5jZSA9IHJlbGV2YW5jZSArIHIKKwlleGNlcHQ6CisJICAgIHBhc3MKKyAgICBlbHNlOgorICAgICAgICB3b3Jkc0RpY3RBcmNoaXZlW3dvcmRdID0ge30KKyAgICBkID0gd29yZHNEaWN0QXJjaGl2ZVt3b3JkXTsKKyAgICBkW2lkXSA9IHJlbGV2YW5jZQorICAgIHJldHVybiByZWxldmFuY2UKKyAgICAKK2RlZiBhZGRTdHJpbmdBcmNoaXZlKHN0ciwgaWQsIHJlbGV2YW5jZSk6CisgICAgaWYgc3RyID09IE5vbmUgb3IgbGVuKHN0cikgPCAzOgorICAgICAgICByZXR1cm4gLTEKKyAgICByZXQgPSAwCisgICAgc3RyID0gY2xlYW51cFdvcmRzU3RyaW5nKHN0cikKKyAgICBsID0gc3RyaW5nLnNwbGl0KHN0cikKKyAgICBmb3Igd29yZCBpbiBsOgorICAgICAgICBpID0gbGVuKHdvcmQpCisJaWYgaSA+IDI6CisJICAgIHRyeToKKwkJciA9IGFkZFdvcmRBcmNoaXZlKHdvcmQsIGlkLCByZWxldmFuY2UpCisJCWlmIHIgPCAwOgorCQkgICAgcHJpbnQgImFkZFdvcmRBcmNoaXZlIGZhaWxlZDogJXMgJXMiICUgKHdvcmQsIGlkKQorCQllbHNlOgorCQkgICAgcmV0ID0gcmV0ICsgcgorCSAgICBleGNlcHQ6CisJCXByaW50ICJhZGRXb3JkQXJjaGl2ZSBmYWlsZWQ6ICVzICVzICVkIiAlICh3b3JkLCBpZCwgcmVsZXZhbmNlKQorCQlwcmludCBzeXMuZXhjX3R5cGUsIHN5cy5leGNfdmFsdWUKKyAgICByZXR1cm4gcmV0CisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMJCQkJCQkJCQkjCisjICAgICAgICAgICAgICAgICAgWE1MIEFQSSBkZXNjcmlwdGlvbiBhbmFseXNpcwkJCQkjCisjCQkJCQkJCQkJIworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCitkZWYgbG9hZEFQSShmaWxlbmFtZSk6CisgICAgZG9jID0gbGlieG1sMi5wYXJzZUZpbGUoZmlsZW5hbWUpCisgICAgcHJpbnQgImxvYWRlZCAlcyIgJSAoZmlsZW5hbWUpCisgICAgcmV0dXJuIGRvYworCitkZWYgZm91bmRFeHBvcnQoZmlsZSwgc3ltYm9sKToKKyAgICBpZiBmaWxlID09IE5vbmU6CisgICAgICAgIHJldHVybiAwCisgICAgaWYgc3ltYm9sID09IE5vbmU6CisgICAgICAgIHJldHVybiAwCisgICAgYWRkRnVuY3Rpb24oc3ltYm9sLCBmaWxlKQorICAgIGwgPSBzcGxpdElkZW50aWZpZXIoc3ltYm9sKQorICAgIGZvciB3b3JkIGluIGw6CisJYWRkV29yZCh3b3JkLCBmaWxlLCBzeW1ib2wsIDEwKQorICAgIHJldHVybiAxCisgICAgIAorZGVmIGFuYWx5emVBUElGaWxlKHRvcCk6CisgICAgY291bnQgPSAwCisgICAgbmFtZSA9IHRvcC5wcm9wKCJuYW1lIikKKyAgICBjdXIgPSB0b3AuY2hpbGRyZW4KKyAgICB3aGlsZSBjdXIgIT0gTm9uZToKKyAgICAgICAgaWYgY3VyLnR5cGUgPT0gJ3RleHQnOgorCSAgICBjdXIgPSBjdXIubmV4dAorCSAgICBjb250aW51ZQorCWlmIGN1ci5uYW1lID09ICJleHBvcnRzIjoKKwkgICAgY291bnQgPSBjb3VudCArIGZvdW5kRXhwb3J0KG5hbWUsIGN1ci5wcm9wKCJzeW1ib2wiKSkKKwllbHNlOgorCSAgICBwcmludCAidW5leHBlY3RlZCBlbGVtZW50ICVzIGluIEFQSSBkb2MgPGZpbGUgbmFtZT0nJXMnPiIgJSAobmFtZSkKKyAgICAgICAgY3VyID0gY3VyLm5leHQKKyAgICByZXR1cm4gY291bnQKKworZGVmIGFuYWx5emVBUElGaWxlcyh0b3ApOgorICAgIGNvdW50ID0gMAorICAgIGN1ciA9IHRvcC5jaGlsZHJlbgorICAgICAgICAKKyAgICB3aGlsZSBjdXIgIT0gTm9uZToKKyAgICAgICAgaWYgY3VyLnR5cGUgPT0gJ3RleHQnOgorCSAgICBjdXIgPSBjdXIubmV4dAorCSAgICBjb250aW51ZQorCWlmIGN1ci5uYW1lID09ICJmaWxlIjoKKwkgICAgY291bnQgPSBjb3VudCArIGFuYWx5emVBUElGaWxlKGN1cikKKwllbHNlOgorCSAgICBwcmludCAidW5leHBlY3RlZCBlbGVtZW50ICVzIGluIEFQSSBkb2MgPGZpbGVzPiIgJSAoY3VyLm5hbWUpCisgICAgICAgIGN1ciA9IGN1ci5uZXh0CisgICAgcmV0dXJuIGNvdW50CisKK2RlZiBhbmFseXplQVBJRW51bSh0b3ApOgorICAgIGZpbGUgPSB0b3AucHJvcCgiZmlsZSIpCisgICAgaWYgZmlsZSA9PSBOb25lOgorICAgICAgICByZXR1cm4gMAorICAgIHN5bWJvbCA9IHRvcC5wcm9wKCJuYW1lIikKKyAgICBpZiBzeW1ib2wgPT0gTm9uZToKKyAgICAgICAgcmV0dXJuIDAKKworICAgIGFkZEVudW0oc3ltYm9sLCBmaWxlKQorICAgIGwgPSBzcGxpdElkZW50aWZpZXIoc3ltYm9sKQorICAgIGZvciB3b3JkIGluIGw6CisJYWRkV29yZCh3b3JkLCBmaWxlLCBzeW1ib2wsIDEwKQorCisgICAgcmV0dXJuIDEKKworZGVmIGFuYWx5emVBUElDb25zdCh0b3ApOgorICAgIGZpbGUgPSB0b3AucHJvcCgiZmlsZSIpCisgICAgaWYgZmlsZSA9PSBOb25lOgorICAgICAgICByZXR1cm4gMAorICAgIHN5bWJvbCA9IHRvcC5wcm9wKCJuYW1lIikKKyAgICBpZiBzeW1ib2wgPT0gTm9uZToKKyAgICAgICAgcmV0dXJuIDAKKworICAgIGFkZENvbnN0KHN5bWJvbCwgZmlsZSkKKyAgICBsID0gc3BsaXRJZGVudGlmaWVyKHN5bWJvbCkKKyAgICBmb3Igd29yZCBpbiBsOgorCWFkZFdvcmQod29yZCwgZmlsZSwgc3ltYm9sLCAxMCkKKworICAgIHJldHVybiAxCisKK2RlZiBhbmFseXplQVBJVHlwZSh0b3ApOgorICAgIGZpbGUgPSB0b3AucHJvcCgiZmlsZSIpCisgICAgaWYgZmlsZSA9PSBOb25lOgorICAgICAgICByZXR1cm4gMAorICAgIHN5bWJvbCA9IHRvcC5wcm9wKCJuYW1lIikKKyAgICBpZiBzeW1ib2wgPT0gTm9uZToKKyAgICAgICAgcmV0dXJuIDAKKworICAgIGFkZFR5cGUoc3ltYm9sLCBmaWxlKQorICAgIGwgPSBzcGxpdElkZW50aWZpZXIoc3ltYm9sKQorICAgIGZvciB3b3JkIGluIGw6CisJYWRkV29yZCh3b3JkLCBmaWxlLCBzeW1ib2wsIDEwKQorICAgIHJldHVybiAxCisKK2RlZiBhbmFseXplQVBJRnVuY3R5cGUodG9wKToKKyAgICBmaWxlID0gdG9wLnByb3AoImZpbGUiKQorICAgIGlmIGZpbGUgPT0gTm9uZToKKyAgICAgICAgcmV0dXJuIDAKKyAgICBzeW1ib2wgPSB0b3AucHJvcCgibmFtZSIpCisgICAgaWYgc3ltYm9sID09IE5vbmU6CisgICAgICAgIHJldHVybiAwCisKKyAgICBhZGRGdW5jdHlwZShzeW1ib2wsIGZpbGUpCisgICAgbCA9IHNwbGl0SWRlbnRpZmllcihzeW1ib2wpCisgICAgZm9yIHdvcmQgaW4gbDoKKwlhZGRXb3JkKHdvcmQsIGZpbGUsIHN5bWJvbCwgMTApCisgICAgcmV0dXJuIDEKKworZGVmIGFuYWx5emVBUElTdHJ1Y3QodG9wKToKKyAgICBmaWxlID0gdG9wLnByb3AoImZpbGUiKQorICAgIGlmIGZpbGUgPT0gTm9uZToKKyAgICAgICAgcmV0dXJuIDAKKyAgICBzeW1ib2wgPSB0b3AucHJvcCgibmFtZSIpCisgICAgaWYgc3ltYm9sID09IE5vbmU6CisgICAgICAgIHJldHVybiAwCisKKyAgICBhZGRTdHJ1Y3Qoc3ltYm9sLCBmaWxlKQorICAgIGwgPSBzcGxpdElkZW50aWZpZXIoc3ltYm9sKQorICAgIGZvciB3b3JkIGluIGw6CisJYWRkV29yZCh3b3JkLCBmaWxlLCBzeW1ib2wsIDEwKQorCisgICAgaW5mbyA9IHRvcC5wcm9wKCJpbmZvIikKKyAgICBpZiBpbmZvICE9IE5vbmU6CisJaW5mbyA9IHN0cmluZy5yZXBsYWNlKGluZm8sICInIiwgIiAiKQorCWluZm8gPSBzdHJpbmcuc3RyaXAoaW5mbykKKwlsID0gc3RyaW5nLnNwbGl0KGluZm8pCisJZm9yIHdvcmQgaW4gbDoKKwkgICAgaWYgbGVuKHdvcmQpID4gMjoKKwkJYWRkV29yZCh3b3JkLCBmaWxlLCBzeW1ib2wsIDUpCisgICAgcmV0dXJuIDEKKworZGVmIGFuYWx5emVBUElNYWNybyh0b3ApOgorICAgIGZpbGUgPSB0b3AucHJvcCgiZmlsZSIpCisgICAgaWYgZmlsZSA9PSBOb25lOgorICAgICAgICByZXR1cm4gMAorICAgIHN5bWJvbCA9IHRvcC5wcm9wKCJuYW1lIikKKyAgICBpZiBzeW1ib2wgPT0gTm9uZToKKyAgICAgICAgcmV0dXJuIDAKKyAgICBzeW1ib2wgPSBzdHJpbmcucmVwbGFjZShzeW1ib2wsICInIiwgIiAiKQorICAgIHN5bWJvbCA9IHN0cmluZy5zdHJpcChzeW1ib2wpCisKKyAgICBpbmZvID0gTm9uZQorICAgIGN1ciA9IHRvcC5jaGlsZHJlbgorICAgIHdoaWxlIGN1ciAhPSBOb25lOgorICAgICAgICBpZiBjdXIudHlwZSA9PSAndGV4dCc6CisJICAgIGN1ciA9IGN1ci5uZXh0CisJICAgIGNvbnRpbnVlCisJaWYgY3VyLm5hbWUgPT0gImluZm8iOgorCSAgICBpbmZvID0gY3VyLmNvbnRlbnQKKwkgICAgYnJlYWsKKyAgICAgICAgY3VyID0gY3VyLm5leHQKKworICAgIGwgPSBzcGxpdElkZW50aWZpZXIoc3ltYm9sKQorICAgIGZvciB3b3JkIGluIGw6CisJYWRkV29yZCh3b3JkLCBmaWxlLCBzeW1ib2wsIDEwKQorCisgICAgaWYgaW5mbyA9PSBOb25lOgorCWFkZE1hY3JvKHN5bWJvbCwgZmlsZSkKKyAgICAgICAgcHJpbnQgIk1hY3JvICVzIGRlc2NyaXB0aW9uIGhhcyBubyA8aW5mbz4iICUgKHN5bWJvbCkKKyAgICAgICAgcmV0dXJuIDAKKworICAgIGluZm8gPSBzdHJpbmcucmVwbGFjZShpbmZvLCAiJyIsICIgIikKKyAgICBpbmZvID0gc3RyaW5nLnN0cmlwKGluZm8pCisgICAgYWRkTWFjcm8oc3ltYm9sLCBmaWxlLCBpbmZvKQorICAgIGwgPSBzdHJpbmcuc3BsaXQoaW5mbykKKyAgICBmb3Igd29yZCBpbiBsOgorCWlmIGxlbih3b3JkKSA+IDI6CisJICAgIGFkZFdvcmQod29yZCwgZmlsZSwgc3ltYm9sLCA1KQorICAgIHJldHVybiAxCisKK2RlZiBhbmFseXplQVBJRnVuY3Rpb24odG9wKToKKyAgICBmaWxlID0gdG9wLnByb3AoImZpbGUiKQorICAgIGlmIGZpbGUgPT0gTm9uZToKKyAgICAgICAgcmV0dXJuIDAKKyAgICBzeW1ib2wgPSB0b3AucHJvcCgibmFtZSIpCisgICAgaWYgc3ltYm9sID09IE5vbmU6CisgICAgICAgIHJldHVybiAwCisKKyAgICBzeW1ib2wgPSBzdHJpbmcucmVwbGFjZShzeW1ib2wsICInIiwgIiAiKQorICAgIHN5bWJvbCA9IHN0cmluZy5zdHJpcChzeW1ib2wpCisgICAgaW5mbyA9IE5vbmUKKyAgICBjdXIgPSB0b3AuY2hpbGRyZW4KKyAgICB3aGlsZSBjdXIgIT0gTm9uZToKKyAgICAgICAgaWYgY3VyLnR5cGUgPT0gJ3RleHQnOgorCSAgICBjdXIgPSBjdXIubmV4dAorCSAgICBjb250aW51ZQorCWlmIGN1ci5uYW1lID09ICJpbmZvIjoKKwkgICAgaW5mbyA9IGN1ci5jb250ZW50CisJZWxpZiBjdXIubmFtZSA9PSAicmV0dXJuIjoKKwkgICAgcmluZm8gPSBjdXIucHJvcCgiaW5mbyIpCisJICAgIGlmIHJpbmZvICE9IE5vbmU6CisJCXJpbmZvID0gc3RyaW5nLnJlcGxhY2UocmluZm8sICInIiwgIiAiKQorCQlyaW5mbyA9IHN0cmluZy5zdHJpcChyaW5mbykKKwkgICAgICAgIGFkZFN0cmluZyhyaW5mbywgZmlsZSwgc3ltYm9sLCA3KQorCWVsaWYgY3VyLm5hbWUgPT0gImFyZyI6CisJICAgIGFpbmZvID0gY3VyLnByb3AoImluZm8iKQorCSAgICBpZiBhaW5mbyAhPSBOb25lOgorCQlhaW5mbyA9IHN0cmluZy5yZXBsYWNlKGFpbmZvLCAiJyIsICIgIikKKwkJYWluZm8gPSBzdHJpbmcuc3RyaXAoYWluZm8pCisJICAgICAgICBhZGRTdHJpbmcoYWluZm8sIGZpbGUsIHN5bWJvbCwgNSkKKwkgICAgbmFtZSA9IGN1ci5wcm9wKCJuYW1lIikKKwkgICAgaWYgbmFtZSAhPSBOb25lOgorCQluYW1lID0gc3RyaW5nLnJlcGxhY2UobmFtZSwgIiciLCAiICIpCisJCW5hbWUgPSBzdHJpbmcuc3RyaXAobmFtZSkKKwkgICAgICAgIGFkZFdvcmQobmFtZSwgZmlsZSwgc3ltYm9sLCA3KQorICAgICAgICBjdXIgPSBjdXIubmV4dAorICAgIGlmIGluZm8gPT0gTm9uZToKKyAgICAgICAgcHJpbnQgIkZ1bmN0aW9uICVzIGRlc2NyaXB0aW9uIGhhcyBubyA8aW5mbz4iICUgKHN5bWJvbCkKKwlhZGRGdW5jdGlvbihzeW1ib2wsIGZpbGUsICIiKQorICAgIGVsc2U6CisgICAgICAgIGluZm8gPSBzdHJpbmcucmVwbGFjZShpbmZvLCAiJyIsICIgIikKKwlpbmZvID0gc3RyaW5nLnN0cmlwKGluZm8pCisJYWRkRnVuY3Rpb24oc3ltYm9sLCBmaWxlLCBpbmZvKQorICAgICAgICBhZGRTdHJpbmcoaW5mbywgZmlsZSwgc3ltYm9sLCA1KQorCisgICAgbCA9IHNwbGl0SWRlbnRpZmllcihzeW1ib2wpCisgICAgZm9yIHdvcmQgaW4gbDoKKwlhZGRXb3JkKHdvcmQsIGZpbGUsIHN5bWJvbCwgMTApCisKKyAgICByZXR1cm4gMQorCitkZWYgYW5hbHl6ZUFQSVN5bWJvbHModG9wKToKKyAgICBjb3VudCA9IDAKKyAgICBjdXIgPSB0b3AuY2hpbGRyZW4KKyAgICAgICAgCisgICAgd2hpbGUgY3VyICE9IE5vbmU6CisgICAgICAgIGlmIGN1ci50eXBlID09ICd0ZXh0JzoKKwkgICAgY3VyID0gY3VyLm5leHQKKwkgICAgY29udGludWUKKwlpZiBjdXIubmFtZSA9PSAibWFjcm8iOgorCSAgICBjb3VudCA9IGNvdW50ICsgYW5hbHl6ZUFQSU1hY3JvKGN1cikKKwllbGlmIGN1ci5uYW1lID09ICJmdW5jdGlvbiI6CisJICAgIGNvdW50ID0gY291bnQgKyBhbmFseXplQVBJRnVuY3Rpb24oY3VyKQorCWVsaWYgY3VyLm5hbWUgPT0gImNvbnN0IjoKKwkgICAgY291bnQgPSBjb3VudCArIGFuYWx5emVBUElDb25zdChjdXIpCisJZWxpZiBjdXIubmFtZSA9PSAidHlwZWRlZiI6CisJICAgIGNvdW50ID0gY291bnQgKyBhbmFseXplQVBJVHlwZShjdXIpCisJZWxpZiBjdXIubmFtZSA9PSAic3RydWN0IjoKKwkgICAgY291bnQgPSBjb3VudCArIGFuYWx5emVBUElTdHJ1Y3QoY3VyKQorCWVsaWYgY3VyLm5hbWUgPT0gImVudW0iOgorCSAgICBjb3VudCA9IGNvdW50ICsgYW5hbHl6ZUFQSUVudW0oY3VyKQorCWVsaWYgY3VyLm5hbWUgPT0gImZ1bmN0eXBlIjoKKwkgICAgY291bnQgPSBjb3VudCArIGFuYWx5emVBUElGdW5jdHlwZShjdXIpCisJZWxzZToKKwkgICAgcHJpbnQgInVuZXhwZWN0ZWQgZWxlbWVudCAlcyBpbiBBUEkgZG9jIDxmaWxlcz4iICUgKGN1ci5uYW1lKQorICAgICAgICBjdXIgPSBjdXIubmV4dAorICAgIHJldHVybiBjb3VudAorCitkZWYgYW5hbHl6ZUFQSShkb2MpOgorICAgIGNvdW50ID0gMAorICAgIGlmIGRvYyA9PSBOb25lOgorICAgICAgICByZXR1cm4gLTEKKyAgICByb290ID0gZG9jLmdldFJvb3RFbGVtZW50KCkKKyAgICBpZiByb290Lm5hbWUgIT0gImFwaSI6CisgICAgICAgIHByaW50ICJVbmV4cGVjdGVkIHJvb3QgbmFtZSIKKyAgICAgICAgcmV0dXJuIC0xCisgICAgY3VyID0gcm9vdC5jaGlsZHJlbgorICAgIHdoaWxlIGN1ciAhPSBOb25lOgorICAgICAgICBpZiBjdXIudHlwZSA9PSAndGV4dCc6CisJICAgIGN1ciA9IGN1ci5uZXh0CisJICAgIGNvbnRpbnVlCisJaWYgY3VyLm5hbWUgPT0gImZpbGVzIjoKKwkgICAgcGFzcworIwkgICAgY291bnQgPSBjb3VudCArIGFuYWx5emVBUElGaWxlcyhjdXIpCisJZWxpZiBjdXIubmFtZSA9PSAic3ltYm9scyI6CisJICAgIGNvdW50ID0gY291bnQgKyBhbmFseXplQVBJU3ltYm9scyhjdXIpCisJZWxzZToKKwkgICAgcHJpbnQgInVuZXhwZWN0ZWQgZWxlbWVudCAlcyBpbiBBUEkgZG9jIiAlIChjdXIubmFtZSkKKyAgICAgICAgY3VyID0gY3VyLm5leHQKKyAgICByZXR1cm4gY291bnQKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIwkJCQkJCQkJCSMKKyMgICAgICAgICAgICAgICAgICBXZWIgcGFnZXMgcGFyc2luZyBhbmQgYW5hbHlzaXMJCQkjCisjCQkJCQkJCQkJIworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCitpbXBvcnQgZ2xvYgorCitkZWYgYW5hbHl6ZUhUTUxUZXh0KGRvYywgcmVzb3VyY2UsIHAsIHNlY3Rpb24sIGlkKToKKyAgICB3b3JkcyA9IDAKKyAgICB0cnk6CisJY29udGVudCA9IHAuY29udGVudAorCXdvcmRzID0gd29yZHMgKyBhZGRTdHJpbmdIVE1MKGNvbnRlbnQsIHJlc291cmNlLCBpZCwgc2VjdGlvbiwgNSkKKyAgICBleGNlcHQ6CisgICAgICAgIHJldHVybiAtMQorICAgIHJldHVybiB3b3JkcworCitkZWYgYW5hbHl6ZUhUTUxQYXJhKGRvYywgcmVzb3VyY2UsIHAsIHNlY3Rpb24sIGlkKToKKyAgICB3b3JkcyA9IDAKKyAgICB0cnk6CisJY29udGVudCA9IHAuY29udGVudAorCXdvcmRzID0gd29yZHMgKyBhZGRTdHJpbmdIVE1MKGNvbnRlbnQsIHJlc291cmNlLCBpZCwgc2VjdGlvbiwgNSkKKyAgICBleGNlcHQ6CisgICAgICAgIHJldHVybiAtMQorICAgIHJldHVybiB3b3JkcworCitkZWYgYW5hbHl6ZUhUTUxQcmUoZG9jLCByZXNvdXJjZSwgcCwgc2VjdGlvbiwgaWQpOgorICAgIHdvcmRzID0gMAorICAgIHRyeToKKwljb250ZW50ID0gcC5jb250ZW50CisJd29yZHMgPSB3b3JkcyArIGFkZFN0cmluZ0hUTUwoY29udGVudCwgcmVzb3VyY2UsIGlkLCBzZWN0aW9uLCA1KQorICAgIGV4Y2VwdDoKKyAgICAgICAgcmV0dXJuIC0xCisgICAgcmV0dXJuIHdvcmRzCisKK2RlZiBhbmFseXplSFRNTChkb2MsIHJlc291cmNlLCBwLCBzZWN0aW9uLCBpZCk6CisgICAgd29yZHMgPSAwCisgICAgdHJ5OgorCWNvbnRlbnQgPSBwLmNvbnRlbnQKKwl3b3JkcyA9IHdvcmRzICsgYWRkU3RyaW5nSFRNTChjb250ZW50LCByZXNvdXJjZSwgaWQsIHNlY3Rpb24sIDUpCisgICAgZXhjZXB0OgorICAgICAgICByZXR1cm4gLTEKKyAgICByZXR1cm4gd29yZHMKKworZGVmIGFuYWx5emVIVE1MKGRvYywgcmVzb3VyY2UpOgorICAgIHBhcmEgPSAwOworICAgIGN0eHQgPSBkb2MueHBhdGhOZXdDb250ZXh0KCkKKyAgICB0cnk6CisJcmVzID0gY3R4dC54cGF0aEV2YWwoIi8vaGVhZC90aXRsZSIpCisJdGl0bGUgPSByZXNbMF0uY29udGVudAorICAgIGV4Y2VwdDoKKyAgICAgICAgdGl0bGUgPSAiUGFnZSAlcyIgJSAocmVzb3VyY2UpCisgICAgYWRkUGFnZShyZXNvdXJjZSwgdGl0bGUpCisgICAgdHJ5OgorCWl0ZW1zID0gY3R4dC54cGF0aEV2YWwoIi8vaDEgfCAvL2gyIHwgLy9oMyB8IC8vdGV4dCgpIikKKwlzZWN0aW9uID0gdGl0bGUKKwlpZCA9ICIiCisJZm9yIGl0ZW0gaW4gaXRlbXM6CisJICAgIGlmIGl0ZW0ubmFtZSA9PSAnaDEnIG9yIGl0ZW0ubmFtZSA9PSAnaDInIG9yIGl0ZW0ubmFtZSA9PSAnaDMnOgorCSAgICAgICAgc2VjdGlvbiA9IGl0ZW0uY29udGVudAorCQlpZiBpdGVtLnByb3AoImlkIik6CisJCSAgICBpZCA9IGl0ZW0ucHJvcCgiaWQiKQorCQllbGlmIGl0ZW0ucHJvcCgibmFtZSIpOgorCQkgICAgaWQgPSBpdGVtLnByb3AoIm5hbWUiKQorCSAgICBlbGlmIGl0ZW0udHlwZSA9PSAndGV4dCc6CisJICAgICAgICBhbmFseXplSFRNTFRleHQoZG9jLCByZXNvdXJjZSwgaXRlbSwgc2VjdGlvbiwgaWQpCisJCXBhcmEgPSBwYXJhICsgMQorCSAgICBlbGlmIGl0ZW0ubmFtZSA9PSAncCc6CisJICAgICAgICBhbmFseXplSFRNTFBhcmEoZG9jLCByZXNvdXJjZSwgaXRlbSwgc2VjdGlvbiwgaWQpCisJCXBhcmEgPSBwYXJhICsgMQorCSAgICBlbGlmIGl0ZW0ubmFtZSA9PSAncHJlJzoKKwkgICAgICAgIGFuYWx5emVIVE1MUHJlKGRvYywgcmVzb3VyY2UsIGl0ZW0sIHNlY3Rpb24sIGlkKQorCQlwYXJhID0gcGFyYSArIDEKKwkgICAgZWxzZToKKwkgICAgICAgIHByaW50ICJQYWdlICVzLCB1bmV4cGVjdGVkICVzIGVsZW1lbnQiICUgKHJlc291cmNlLCBpdGVtLm5hbWUpCisgICAgZXhjZXB0OgorICAgICAgICBwcmludCAiUGFnZSAlczogcHJvYmxlbSBhbmFseXppbmciICUgKHJlc291cmNlKQorCXByaW50IHN5cy5leGNfdHlwZSwgc3lzLmV4Y192YWx1ZQorCisgICAgcmV0dXJuIHBhcmEKKworZGVmIGFuYWx5emVIVE1MUGFnZXMoKToKKyAgICByZXQgPSAwCisgICAgSFRNTGZpbGVzID0gZ2xvYi5nbG9iKCIqLmh0bWwiKSArIGdsb2IuZ2xvYigidHV0b3JpYWwvKi5odG1sIikKKyAgICBmb3IgaHRtbCBpbiBIVE1MZmlsZXM6CisJaWYgaHRtbFswOjNdID09ICJBUEkiOgorCSAgICBjb250aW51ZQorCWlmIGh0bWwgPT0gInhtbC5odG1sIjoKKwkgICAgY29udGludWUKKwl0cnk6CisJICAgIGRvYyA9IGxpYnhtbDIucGFyc2VGaWxlKGh0bWwpCisJZXhjZXB0OgorCSAgICBkb2MgPSBsaWJ4bWwyLmh0bWxQYXJzZUZpbGUoaHRtbCwgTm9uZSkKKwl0cnk6CisJICAgIHJlcyA9IGFuYWx5emVIVE1MKGRvYywgaHRtbCkKKwkgICAgcHJpbnQgIlBhcnNlZCAlcyA6ICVkIHBhcmFncmFwaHMiICUgKGh0bWwsIHJlcykKKwkgICAgcmV0ID0gcmV0ICsgMQorCWV4Y2VwdDoKKwkgICAgcHJpbnQgImNvdWxkIG5vdCBwYXJzZSAlcyIgJSAoaHRtbCkKKyAgICByZXR1cm4gcmV0CisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMJCQkJCQkJCQkjCisjICAgICAgICAgICAgICAgICAgTWFpbCBhcmNoaXZlcyBwYXJzaW5nIGFuZCBhbmFseXNpcwkJCSMKKyMJCQkJCQkJCQkjCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKK2ltcG9ydCB0aW1lCisKK2RlZiBnZXRYTUxEYXRlQXJjaGl2ZSh0ID0gTm9uZSk6CisgICAgaWYgdCA9PSBOb25lOgorCXQgPSB0aW1lLnRpbWUoKQorICAgIFQgPSB0aW1lLmdtdGltZSh0KQorICAgIG1vbnRoID0gdGltZS5zdHJmdGltZSgiJUIiLCBUKQorICAgIHllYXIgPSBUWzBdCisgICAgdXJsID0gImh0dHA6Ly9tYWlsLmdub21lLm9yZy9hcmNoaXZlcy94bWwvJWQtJXMvZGF0ZS5odG1sIiAlICh5ZWFyLCBtb250aCkKKyAgICByZXR1cm4gdXJsCisKK2RlZiBzY2FuWE1MTXNnQXJjaGl2ZSh1cmwsIHRpdGxlLCBmb3JjZSA9IDApOgorICAgIGlmIHVybCA9PSBOb25lIG9yIHRpdGxlID09IE5vbmU6CisgICAgICAgIHJldHVybiAwCisKKyAgICBJRCA9IGNoZWNrWE1MTXNnQXJjaGl2ZSh1cmwpCisgICAgaWYgZm9yY2UgPT0gMCBhbmQgSUQgIT0gLTE6CisgICAgICAgIHJldHVybiAwCisKKyAgICBpZiBJRCA9PSAtMToKKwlJRCA9IGFkZFhNTE1zZ0FyY2hpdmUodXJsLCB0aXRsZSkKKwlpZiBJRCA9PSAtMToKKwkgICAgcmV0dXJuIDAKKworICAgIHRyeToKKyAgICAgICAgcHJpbnQgIkxvYWRpbmcgJXMiICUgKHVybCkKKyAgICAgICAgZG9jID0gbGlieG1sMi5odG1sUGFyc2VGaWxlKHVybCwgTm9uZSk7CisgICAgZXhjZXB0OgorICAgICAgICBkb2MgPSBOb25lCisgICAgaWYgZG9jID09IE5vbmU6CisgICAgICAgIHByaW50ICJGYWlsZWQgdG8gcGFyc2UgJXMiICUgKHVybCkKKwlyZXR1cm4gMAorCisgICAgYWRkU3RyaW5nQXJjaGl2ZSh0aXRsZSwgSUQsIDIwKQorICAgIGN0eHQgPSBkb2MueHBhdGhOZXdDb250ZXh0KCkKKyAgICB0ZXh0cyA9IGN0eHQueHBhdGhFdmFsKCIvL3ByZS8vdGV4dCgpIikKKyAgICBmb3IgdGV4dCBpbiB0ZXh0czoKKyAgICAgICAgYWRkU3RyaW5nQXJjaGl2ZSh0ZXh0LmNvbnRlbnQsIElELCA1KQorCisgICAgcmV0dXJuIDEKKworZGVmIHNjYW5YTUxEYXRlQXJjaGl2ZSh0ID0gTm9uZSwgZm9yY2UgPSAwKToKKyAgICBnbG9iYWwgd29yZHNEaWN0QXJjaGl2ZQorCisgICAgd29yZHNEaWN0QXJjaGl2ZSA9IHt9CisKKyAgICB1cmwgPSBnZXRYTUxEYXRlQXJjaGl2ZSh0KQorICAgIHByaW50ICJsb2FkaW5nICVzIiAlICh1cmwpCisgICAgdHJ5OgorCWRvYyA9IGxpYnhtbDIuaHRtbFBhcnNlRmlsZSh1cmwsIE5vbmUpOworICAgIGV4Y2VwdDoKKyAgICAgICAgZG9jID0gTm9uZQorICAgIGlmIGRvYyA9PSBOb25lOgorICAgICAgICBwcmludCAiRmFpbGVkIHRvIHBhcnNlICVzIiAlICh1cmwpCisJcmV0dXJuIC0xCisgICAgY3R4dCA9IGRvYy54cGF0aE5ld0NvbnRleHQoKQorICAgIGFuY2hvcnMgPSBjdHh0LnhwYXRoRXZhbCgiLy9hW0BocmVmXSIpCisgICAgbGlua3MgPSAwCisgICAgbmV3bXNnID0gMAorICAgIGZvciBhbmNob3IgaW4gYW5jaG9yczoKKwlocmVmID0gYW5jaG9yLnByb3AoImhyZWYiKQorCWlmIGhyZWYgPT0gTm9uZSBvciBocmVmWzA6M10gIT0gIm1zZyI6CisJICAgIGNvbnRpbnVlCisgICAgICAgIHRyeToKKwkgICAgbGlua3MgPSBsaW5rcyArIDEKKworCSAgICBtc2cgPSBsaWJ4bWwyLmJ1aWxkVVJJKGhyZWYsIHVybCkKKwkgICAgdGl0bGUgPSBhbmNob3IuY29udGVudAorCSAgICBpZiB0aXRsZSAhPSBOb25lIGFuZCB0aXRsZVswOjRdID09ICdSZTogJzoKKwkgICAgICAgIHRpdGxlID0gdGl0bGVbNDpdCisJICAgIGlmIHRpdGxlICE9IE5vbmUgYW5kIHRpdGxlWzA6Nl0gPT0gJ1t4bWxdICc6CisJICAgICAgICB0aXRsZSA9IHRpdGxlWzY6XQorCSAgICBuZXdtc2cgPSBuZXdtc2cgKyBzY2FuWE1MTXNnQXJjaGl2ZShtc2csIHRpdGxlLCBmb3JjZSkKKworCWV4Y2VwdDoKKwkgICAgcGFzcworCisgICAgcmV0dXJuIG5ld21zZworICAgIAorCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjCQkJCQkJCQkJIworIyAgICAgICAgICBNYWluIGNvZGU6IG9wZW4gdGhlIERCLCB0aGUgQVBJIFhNTCBhbmQgYW5hbHl6ZSBpdAkJIworIwkJCQkJCQkJCSMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKK2RlZiBhbmFseXplQXJjaGl2ZXModCA9IE5vbmUsIGZvcmNlID0gMCk6CisgICAgZ2xvYmFsIHdvcmRzRGljdEFyY2hpdmUKKworICAgIHJldCA9IHNjYW5YTUxEYXRlQXJjaGl2ZSh0LCBmb3JjZSkKKyAgICBwcmludCAiSW5kZXhlZCAlZCB3b3JkcyBpbiAlZCBhcmNoaXZlIHBhZ2VzIiAlIChsZW4od29yZHNEaWN0QXJjaGl2ZSksIHJldCkKKworICAgIGkgPSAwCisgICAgc2tpcHBlZCA9IDAKKyAgICBmb3Igd29yZCBpbiB3b3Jkc0RpY3RBcmNoaXZlLmtleXMoKToKKwlyZWZzID0gd29yZHNEaWN0QXJjaGl2ZVt3b3JkXQorCWlmIHJlZnMgID09IE5vbmU6CisJICAgIHNraXBwZWQgPSBza2lwcGVkICsgMQorCSAgICBjb250aW51ZTsKKwlmb3IgaWQgaW4gcmVmcy5rZXlzKCk6CisJICAgIHJlbGV2YW5jZSA9IHJlZnNbaWRdCisJICAgIHVwZGF0ZVdvcmRBcmNoaXZlKHdvcmQsIGlkLCByZWxldmFuY2UpCisJICAgIGkgPSBpICsgMQorCisgICAgcHJpbnQgIkZvdW5kICVkIGFzc29jaWF0aW9ucyBpbiBIVE1MIHBhZ2VzIiAlIChpKQorCitkZWYgYW5hbHl6ZUhUTUxUb3AoKToKKyAgICBnbG9iYWwgd29yZHNEaWN0SFRNTAorCisgICAgcmV0ID0gYW5hbHl6ZUhUTUxQYWdlcygpCisgICAgcHJpbnQgIkluZGV4ZWQgJWQgd29yZHMgaW4gJWQgSFRNTCBwYWdlcyIgJSAobGVuKHdvcmRzRGljdEhUTUwpLCByZXQpCisKKyAgICBpID0gMAorICAgIHNraXBwZWQgPSAwCisgICAgZm9yIHdvcmQgaW4gd29yZHNEaWN0SFRNTC5rZXlzKCk6CisJcmVmcyA9IHdvcmRzRGljdEhUTUxbd29yZF0KKwlpZiByZWZzICA9PSBOb25lOgorCSAgICBza2lwcGVkID0gc2tpcHBlZCArIDEKKwkgICAgY29udGludWU7CisJZm9yIHJlc291cmNlIGluIHJlZnMua2V5cygpOgorCSAgICAocmVsZXZhbmNlLCBpZCwgc2VjdGlvbikgPSByZWZzW3Jlc291cmNlXQorCSAgICB1cGRhdGVXb3JkSFRNTCh3b3JkLCByZXNvdXJjZSwgc2VjdGlvbiwgaWQsIHJlbGV2YW5jZSkKKwkgICAgaSA9IGkgKyAxCisKKyAgICBwcmludCAiRm91bmQgJWQgYXNzb2NpYXRpb25zIGluIEhUTUwgcGFnZXMiICUgKGkpCisKK2RlZiBhbmFseXplQVBJVG9wKCk6CisgICAgZ2xvYmFsIHdvcmRzRGljdAorICAgIGdsb2JhbCBBUEkKKworICAgIHRyeToKKwlkb2MgPSBsb2FkQVBJKEFQSSkKKwlyZXQgPSBhbmFseXplQVBJKGRvYykKKwlwcmludCAiQW5hbHl6ZWQgJWQgYmxvY3MiICUgKHJldCkKKwlkb2MuZnJlZURvYygpCisgICAgZXhjZXB0OgorCXByaW50ICJGYWlsZWQgdG8gcGFyc2UgYW5kIGFuYWx5emUgJXMiICUgKEFQSSkKKwlwcmludCBzeXMuZXhjX3R5cGUsIHN5cy5leGNfdmFsdWUKKwlzeXMuZXhpdCgxKQorCisgICAgcHJpbnQgIkluZGV4ZWQgJWQgd29yZHMiICUgKGxlbih3b3Jkc0RpY3QpKQorICAgIGkgPSAwCisgICAgc2tpcHBlZCA9IDAKKyAgICBmb3Igd29yZCBpbiB3b3Jkc0RpY3Qua2V5cygpOgorCXJlZnMgPSB3b3Jkc0RpY3Rbd29yZF0KKwlpZiByZWZzICA9PSBOb25lOgorCSAgICBza2lwcGVkID0gc2tpcHBlZCArIDEKKwkgICAgY29udGludWU7CisJZm9yIChtb2R1bGUsIHN5bWJvbCkgaW4gcmVmcy5rZXlzKCk6CisJICAgIHVwZGF0ZVdvcmQod29yZCwgc3ltYm9sLCByZWZzWyhtb2R1bGUsIHN5bWJvbCldKQorCSAgICBpID0gaSArIDEKKworICAgIHByaW50ICJGb3VuZCAlZCBhc3NvY2lhdGlvbnMsIHNraXBwZWQgJWQgd29yZHMiICUgKGksIHNraXBwZWQpCisKK2RlZiB1c2FnZSgpOgorICAgIHByaW50ICJVc2FnZSBpbmRleC5weSBbLS1mb3JjZV0gWy0tYXJjaGl2ZV0gIFstLWFyY2hpdmUteWVhciB5ZWFyXSBbLS1hcmNoaXZlLW1vbnRoIG1vbnRoXSBbLS1BUEldIFstLWRvY3NdIgorICAgIHN5cy5leGl0KDEpCisKK2RlZiBtYWluKCk6CisgICAgdHJ5OgorCW9wZW5NeVNRTCgpCisgICAgZXhjZXB0OgorCXByaW50ICJGYWlsZWQgdG8gb3BlbiB0aGUgZGF0YWJhc2UiCisJcHJpbnQgc3lzLmV4Y190eXBlLCBzeXMuZXhjX3ZhbHVlCisJc3lzLmV4aXQoMSkKKworICAgIGFyZ3MgPSBzeXMuYXJndlsxOl0KKyAgICBmb3JjZSA9IDAKKyAgICBpZiBhcmdzOgorICAgICAgICBpID0gMAorCXdoaWxlIGkgPCBsZW4oYXJncyk6CisJICAgIGlmIGFyZ3NbaV0gPT0gJy0tZm9yY2UnOgorCSAgICAgICAgZm9yY2UgPSAxCisJICAgIGVsaWYgYXJnc1tpXSA9PSAnLS1hcmNoaXZlJzoKKwkgICAgICAgIGFuYWx5emVBcmNoaXZlcyhOb25lLCBmb3JjZSkKKwkgICAgZWxpZiBhcmdzW2ldID09ICctLWFyY2hpdmUteWVhcic6CisJICAgICAgICBpID0gaSArIDE7CisJCXllYXIgPSBhcmdzW2ldCisJCW1vbnRocyA9IFsiSmFudWFyeSIgLCAiRmVicnVhcnkiLCAiTWFyY2giLCAiQXByaWwiLCAiTWF5IiwKKwkJCSAgIkp1bmUiLCAiSnVseSIsICJBdWd1c3QiLCAiU2VwdGVtYmVyIiwgIk9jdG9iZXIiLAorCQkJICAiTm92ZW1iZXIiLCAiRGVjZW1iZXIiXTsKKwkgICAgICAgIGZvciBtb250aCBpbiBtb250aHM6CisJCSAgICB0cnk6CisJCSAgICAgICAgc3RyID0gIiVzLSVzIiAlICh5ZWFyLCBtb250aCkKKwkJCVQgPSB0aW1lLnN0cnB0aW1lKHN0ciwgIiVZLSVCIikKKwkJCXQgPSB0aW1lLm1rdGltZShUKSArIDM2MDAgKiAyNCAqIDEwOworCQkJYW5hbHl6ZUFyY2hpdmVzKHQsIGZvcmNlKQorCQkgICAgZXhjZXB0OgorCQkJcHJpbnQgIkZhaWxlZCB0byBpbmRleCBtb250aCBhcmNoaXZlOiIKKwkJCXByaW50IHN5cy5leGNfdHlwZSwgc3lzLmV4Y192YWx1ZQorCSAgICBlbGlmIGFyZ3NbaV0gPT0gJy0tYXJjaGl2ZS1tb250aCc6CisJICAgICAgICBpID0gaSArIDE7CisJCW1vbnRoID0gYXJnc1tpXQorCQl0cnk6CisJCSAgICBUID0gdGltZS5zdHJwdGltZShtb250aCwgIiVZLSVCIikKKwkJICAgIHQgPSB0aW1lLm1rdGltZShUKSArIDM2MDAgKiAyNCAqIDEwOworCQkgICAgYW5hbHl6ZUFyY2hpdmVzKHQsIGZvcmNlKQorCQlleGNlcHQ6CisJCSAgICBwcmludCAiRmFpbGVkIHRvIGluZGV4IG1vbnRoIGFyY2hpdmU6IgorCQkgICAgcHJpbnQgc3lzLmV4Y190eXBlLCBzeXMuZXhjX3ZhbHVlCisJICAgIGVsaWYgYXJnc1tpXSA9PSAnLS1BUEknOgorCSAgICAgICAgYW5hbHl6ZUFQSVRvcCgpCisJICAgIGVsaWYgYXJnc1tpXSA9PSAnLS1kb2NzJzoKKwkgICAgICAgIGFuYWx5emVIVE1MVG9wKCkKKwkgICAgZWxzZToKKwkgICAgICAgIHVzYWdlKCkKKwkgICAgaSA9IGkgKyAxCisgICAgZWxzZToKKyAgICAgICAgdXNhZ2UoKQorCitpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgorICAgIG1haW4oKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvaW50ZXJmYWNlLmh0bWwgYi9saWJ4bWwyL2RvYy9pbnRlcmZhY2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZTFjYWYzCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvaW50ZXJmYWNlLmh0bWwKQEAgLTAsMCArMSw1OSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIj4KKzxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj48aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz48bGluayByZWw9IlNIT1JUQ1VUIElDT04iIGhyZWY9Ii9mYXZpY29uLmljbyIgLz48c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorVEQge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0JPRFkge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYTsgbWFyZ2luLXRvcDogMmVtOyBtYXJnaW4tbGVmdDogMGVtOyBtYXJnaW4tcmlnaHQ6IDBlbX0KK0gxIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMiB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDMge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0E6bGluaywgQTp2aXNpdGVkLCBBOmFjdGl2ZSB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIH0KKzwvc3R5bGU+PHRpdGxlPlRoZSBTQVggaW50ZXJmYWNlPC90aXRsZT48L2hlYWQ+PGJvZHkgYmdjb2xvcj0iIzhiNzc2NSIgdGV4dD0iIzAwMDAwMCIgbGluaz0iI2EwNjA2MCIgdmxpbms9IiMwMDAwMDAiPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSIxMDAlIiBjZWxscGFkZGluZz0iNSIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgd2lkdGg9IjEyMCI+PGEgaHJlZj0iaHR0cDovL3N3cGF0LmZmaWkub3JnLyI+PGltZyBzcmM9ImVwYXRlbnRzLnBuZyIgYWx0PSJBY3Rpb24gYWdhaW5zdCBzb2Z0d2FyZSBwYXRlbnRzIiAvPjwvYT48L3RkPjx0ZCB3aWR0aD0iMTgwIj48YSBocmVmPSJodHRwOi8vd3d3Lmdub21lLm9yZy8iPjxpbWcgc3JjPSJnbm9tZTIucG5nIiBhbHQ9Ikdub21lMiBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9TdGF0dXMiPjxpbWcgc3JjPSJ3M2MucG5nIiBhbHQ9IlczQyBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnJlZGhhdC5jb20vIj48aW1nIHNyYz0icmVkaGF0LmdpZiIgYWx0PSJSZWQgSGF0IExvZ28iIC8+PC9hPjxkaXYgYWxpZ249ImxlZnQiPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy8iPjxpbWcgc3JjPSJMaWJ4bWwyLUxvZ28tMTgweDE2OC5naWYiIGFsdD0iTWFkZSB3aXRoIExpYnhtbDIgTG9nbyIgLz48L2E+PC9kaXY+PC90ZD48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjkwJSIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiIGJnY29sb3I9IiNmZmZhY2QiPjx0cj48dGQgYWxpZ249ImNlbnRlciI+PGgxPlRoZSBYTUwgQyBwYXJzZXIgYW5kIHRvb2xraXQgb2YgR25vbWU8L2gxPjxoMj5UaGUgU0FYIGludGVyZmFjZTwvaDI+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjQiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiIHdpZHRoPSIxMDAlIj48dHI+PHRkIHZhbGlnbj0idG9wIiB3aWR0aD0iMjAwIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5EZXZlbG9wZXIgTWVudTwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48Zm9ybSBhY3Rpb249InNlYXJjaC5waHAiIGVuY3R5cGU9ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIgbWV0aG9kPSJnZXQiPjxpbnB1dCBuYW1lPSJxdWVyeSIgdHlwZT0idGV4dCIgc2l6ZT0iMjAiIHZhbHVlPSIiIC8+PGlucHV0IG5hbWU9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU2VhcmNoIC4uLiIgLz48L2Zvcm0+PHVsPjxsaT48YSBocmVmPSJpbmRleC5odG1sIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+TWFpbiBNZW51PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0bWwvaW5kZXguaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPlJlZmVyZW5jZSBNYW51YWw8L2E+PC9saT48bGk+PGEgaHJlZj0iZXhhbXBsZXMvaW5kZXguaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPkNvZGUgRXhhbXBsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iZ3VpZGVsaW5lcy5odG1sIj5YTUwgR3VpZGVsaW5lczwvYT48L2xpPjxsaT48YSBocmVmPSJ0dXRvcmlhbC9pbmRleC5odG1sIj5UdXRvcmlhbDwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWxyZWFkZXIuaHRtbCI+VGhlIFJlYWRlciBJbnRlcmZhY2U8L2E+PC9saT48bGk+PGEgaHJlZj0iQ2hhbmdlTG9nLmh0bWwiPkNoYW5nZUxvZzwvYT48L2xpPjxsaT48YSBocmVmPSJYU0xULmh0bWwiPlhTTFQ8L2E+PC9saT48bGk+PGEgaHJlZj0icHl0aG9uLmh0bWwiPlB5dGhvbiBhbmQgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iYXJjaGl0ZWN0dXJlLmh0bWwiPmxpYnhtbDIgYXJjaGl0ZWN0dXJlPC9hPjwvbGk+PGxpPjxhIGhyZWY9InRyZWUuaHRtbCI+VGhlIHRyZWUgb3V0cHV0PC9hPjwvbGk+PGxpPjxhIGhyZWY9ImludGVyZmFjZS5odG1sIj5UaGUgU0FYIGludGVyZmFjZTwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWxtZW0uaHRtbCI+TWVtb3J5IE1hbmFnZW1lbnQ8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1saW8uaHRtbCI+SS9PIEludGVyZmFjZXM8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlicmFyeS5odG1sIj5UaGUgcGFyc2VyIGludGVyZmFjZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iZW50aXRpZXMuaHRtbCI+RW50aXRpZXMgb3Igbm8gZW50aXRpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0ibmFtZXNwYWNlcy5odG1sIj5OYW1lc3BhY2VzPC9hPjwvbGk+PGxpPjxhIGhyZWY9InVwZ3JhZGUuaHRtbCI+VXBncmFkaW5nIDEueCBjb2RlPC9hPjwvbGk+PGxpPjxhIGhyZWY9InRocmVhZHMuaHRtbCI+VGhyZWFkIHNhZmV0eTwvYT48L2xpPjxsaT48YSBocmVmPSJET00uaHRtbCI+RE9NIFByaW5jaXBsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iZXhhbXBsZS5odG1sIj5BIHJlYWwgZXhhbXBsZTwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWwuaHRtbCI+ZmxhdCBwYWdlPC9hPiwgPGEgaHJlZj0ic2l0ZS54c2wiPnN0eWxlc2hlZXQ8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5BUEkgSW5kZXhlczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9IkFQSWNodW5rMC5odG1sIj5BbHBoYWJldGljPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkFQSWNvbnN0cnVjdG9ycy5odG1sIj5Db25zdHJ1Y3RvcnM8L2E+PC9saT48bGk+PGEgaHJlZj0iQVBJZnVuY3Rpb25zLmh0bWwiPkZ1bmN0aW9ucy9UeXBlczwvYT48L2xpPjxsaT48YSBocmVmPSJBUElmaWxlcy5odG1sIj5Nb2R1bGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkFQSXN5bWJvbHMuaHRtbCI+U3ltYm9sczwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPlJlbGF0ZWQgbGlua3M8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSJodHRwOi8vbWFpbC5nbm9tZS5vcmcvYXJjaGl2ZXMveG1sLyI+TWFpbCBhcmNoaXZlPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9YU0xULyI+WFNMVCBsaWJ4c2x0PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9waGQuY3MudW5pYm8uaXQvZ2RvbWUyLyI+RE9NIGdkb21lMjwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmFsZWtzZXkuY29tL3htbHNlYy8iPlhNTC1EU2lnIHhtbHNlYzwvYT48L2xpPjxsaT48YSBocmVmPSJmdHA6Ly94bWxzb2Z0Lm9yZy8iPkZUUDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnpsYXRrb3ZpYy5jb20vcHJvamVjdHMvbGlieG1sLyI+V2luZG93cyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vb3BlbmNzdy5vcmcvcGFja2FnZXMvbGlieG1sMiI+U29sYXJpcyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmV4cGxhaW4uY29tLmF1L29zcy9saWJ4bWwyeHNsdC5odG1sIj5NYWNPc1ggYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2x4bWwuZGUvIj5seG1sIFB5dGhvbiBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vY3Bhbi51d2lubmlwZWcuY2EvZGlzdC9YTUwtTGliWE1MIj5QZXJsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWxwbHVzcGx1cy5zb3VyY2Vmb3JnZS5uZXQvIj5DKysgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56ZW5kLmNvbS9waHA1L2FydGljbGVzL3BocDUteG1scGhwLnBocCNIZWFkaW5nNCI+UEhQIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbGlieG1sMi1wYXMvIj5QYXNjYWwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbC5ydWJ5Zm9yZ2Uub3JnLyI+UnVieSBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vdGNseG1sLnNvdXJjZWZvcmdlLm5ldC8iPlRjbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2J1Z2xpc3QuY2dpP3Byb2R1Y3Q9bGlieG1sMiI+QnVnIFRyYWNrZXI8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48cD5Tb21ldGltZXMgdGhlIERPTSB0cmVlIG91dHB1dCBpcyBqdXN0IHRvbyBsYXJnZSB0byBmaXQgcmVhc29uYWJseSBpbnRvCittZW1vcnkuIEluIHRoYXQgY2FzZSAoYW5kIGlmIHlvdSBkb24ndCBleHBlY3QgdG8gc2F2ZSBiYWNrIHRoZSBYTUwgZG9jdW1lbnQKK2xvYWRlZCB1c2luZyBsaWJ4bWwpLCBpdCdzIGJldHRlciB0byB1c2UgdGhlIFNBWCBpbnRlcmZhY2Ugb2YgbGlieG1sLiBTQVggaXMKK2EgPHN0cm9uZz5jYWxsYmFjay1iYXNlZCBpbnRlcmZhY2U8L3N0cm9uZz4gdG8gdGhlIHBhcnNlci4gQmVmb3JlIHBhcnNpbmcsCit0aGUgYXBwbGljYXRpb24gbGF5ZXIgcmVnaXN0ZXJzIGEgY3VzdG9taXplZCBzZXQgb2YgY2FsbGJhY2tzIHdoaWNoIGFyZQorY2FsbGVkIGJ5IHRoZSBsaWJyYXJ5IGFzIGl0IHByb2dyZXNzZXMgdGhyb3VnaCB0aGUgWE1MIGlucHV0LjwvcD48cD5UbyBnZXQgbW9yZSBkZXRhaWxlZCBzdGVwLWJ5LXN0ZXAgZ3VpZGFuY2Ugb24gdXNpbmcgdGhlIFNBWCBpbnRlcmZhY2Ugb2YKK2xpYnhtbCwgc2VlIHRoZSA8YSBocmVmPSJodHRwOi8vd3d3LmphbWVzaC5pZC5hdS9hcnRpY2xlcy9saWJ4bWwtc2F4L2xpYnhtbC1zYXguaHRtbCI+bmljZQorZG9jdW1lbnRhdGlvbjwvYT4ud3JpdHRlbiBieSA8YSBocmVmPSJtYWlsdG86amFtZXNAZGFhLmNvbS5hdSI+SmFtZXMKK0hlbnN0cmlkZ2U8L2E+LjwvcD48cD5Zb3UgY2FuIGRlYnVnIHRoZSBTQVggYmVoYXZpb3VyIGJ5IHVzaW5nIHRoZSA8c3Ryb25nPnRlc3RTQVg8L3N0cm9uZz4KK3Byb2dyYW0gbG9jYXRlZCBpbiB0aGUgZ25vbWUteG1sIG1vZHVsZSAoaXQncyB1c3VhbGx5IG5vdCBzaGlwcGVkIGluIHRoZQorYmluYXJ5IHBhY2thZ2VzIG9mIGxpYnhtbCwgYnV0IHlvdSBjYW4gZmluZCBpdCBpbiB0aGUgdGFyIHNvdXJjZQorZGlzdHJpYnV0aW9uKS4gSGVyZSBpcyB0aGUgc2VxdWVuY2Ugb2YgY2FsbGJhY2tzIHRoYXQgd291bGQgYmUgcmVwb3J0ZWQgYnkKK3Rlc3RTQVggd2hlbiBwYXJzaW5nIHRoZSBleGFtcGxlIFhNTCBkb2N1bWVudCBzaG93biBlYXJsaWVyOjwvcD48cHJlPlNBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLmdldEVudGl0eShhbXApCitTQVguc3RhcnRFbGVtZW50KEVYQU1QTEUsIHByb3AxPSdnbm9tZSBpcyBncmVhdCcsIHByb3AyPScmYW1wO2FtcDsgbGludXggdG9vJykKK1NBWC5jaGFyYWN0ZXJzKCAgICwgMykKK1NBWC5zdGFydEVsZW1lbnQoaGVhZCkKK1NBWC5jaGFyYWN0ZXJzKCAgICAsIDQpCitTQVguc3RhcnRFbGVtZW50KHRpdGxlKQorU0FYLmNoYXJhY3RlcnMoV2VsY29tZSB0byBHbm9tZSwgMTYpCitTQVguZW5kRWxlbWVudCh0aXRsZSkKK1NBWC5jaGFyYWN0ZXJzKCAgICwgMykKK1NBWC5lbmRFbGVtZW50KGhlYWQpCitTQVguY2hhcmFjdGVycyggICAsIDMpCitTQVguc3RhcnRFbGVtZW50KGNoYXB0ZXIpCitTQVguY2hhcmFjdGVycyggICAgLCA0KQorU0FYLnN0YXJ0RWxlbWVudCh0aXRsZSkKK1NBWC5jaGFyYWN0ZXJzKFRoZSBMaW51eCBhZHZlbnR1cmUsIDE5KQorU0FYLmVuZEVsZW1lbnQodGl0bGUpCitTQVguY2hhcmFjdGVycyggICAgLCA0KQorU0FYLnN0YXJ0RWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoYmxhIGJsYSBibGEgLi4uLCAxNSkKK1NBWC5lbmRFbGVtZW50KHApCitTQVguY2hhcmFjdGVycyggICAgLCA0KQorU0FYLnN0YXJ0RWxlbWVudChpbWFnZSwgaHJlZj0nbGludXMuZ2lmJykKK1NBWC5lbmRFbGVtZW50KGltYWdlKQorU0FYLmNoYXJhY3RlcnMoICAgICwgNCkKK1NBWC5zdGFydEVsZW1lbnQocCkKK1NBWC5jaGFyYWN0ZXJzKC4uLiwgMykKK1NBWC5lbmRFbGVtZW50KHApCitTQVguY2hhcmFjdGVycyggICAsIDMpCitTQVguZW5kRWxlbWVudChjaGFwdGVyKQorU0FYLmNoYXJhY3RlcnMoICwgMSkKK1NBWC5lbmRFbGVtZW50KEVYQU1QTEUpCitTQVguZW5kRG9jdW1lbnQoKTwvcHJlPjxwPk1vc3Qgb2YgdGhlIG90aGVyIGludGVyZmFjZXMgb2YgbGlieG1sMiBhcmUgYmFzZWQgb24gdGhlIERPTSB0cmVlLWJ1aWxkaW5nCitmYWNpbGl0eSwgc28gbmVhcmx5IGV2ZXJ5dGhpbmcgdXAgdG8gdGhlIGVuZCBvZiB0aGlzIGRvY3VtZW50IHByZXN1cHBvc2VzIHRoZQordXNlIG9mIHRoZSBzdGFuZGFyZCBET00gdHJlZSBidWlsZC4gTm90ZSB0aGF0IHRoZSBET00gdHJlZSBpdHNlbGYgaXMgYnVpbHQgYnkKK2Egc2V0IG9mIHJlZ2lzdGVyZWQgZGVmYXVsdCBjYWxsYmFja3MsIHdpdGhvdXQgaW50ZXJuYWwgc3BlY2lmaWMKK2ludGVyZmFjZS48L3A+PHA+PGEgaHJlZj0iYnVncy5odG1sIj5EYW5pZWwgVmVpbGxhcmQ8L2E+PC9wPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9pbnRyby5odG1sIGIvbGlieG1sMi9kb2MvaW50cm8uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NTFiZWE0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvaW50cm8uaHRtbApAQCAtMCwwICsxLDMyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPgorPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPjxoZWFkPjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPjxsaW5rIHJlbD0iU0hPUlRDVVQgSUNPTiIgaHJlZj0iL2Zhdmljb24uaWNvIiAvPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CitURCB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorQk9EWSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhOyBtYXJnaW4tdG9wOiAyZW07IG1hcmdpbi1sZWZ0OiAwZW07IG1hcmdpbi1yaWdodDogMGVtfQorSDEge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gyIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMyB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorQTpsaW5rLCBBOnZpc2l0ZWQsIEE6YWN0aXZlIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgfQorPC9zdHlsZT48dGl0bGU+SW50cm9kdWN0aW9uPC90aXRsZT48L2hlYWQ+PGJvZHkgYmdjb2xvcj0iIzhiNzc2NSIgdGV4dD0iIzAwMDAwMCIgbGluaz0iI2EwNjA2MCIgdmxpbms9IiMwMDAwMDAiPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSIxMDAlIiBjZWxscGFkZGluZz0iNSIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgd2lkdGg9IjEyMCI+PGEgaHJlZj0iaHR0cDovL3N3cGF0LmZmaWkub3JnLyI+PGltZyBzcmM9ImVwYXRlbnRzLnBuZyIgYWx0PSJBY3Rpb24gYWdhaW5zdCBzb2Z0d2FyZSBwYXRlbnRzIiAvPjwvYT48L3RkPjx0ZCB3aWR0aD0iMTgwIj48YSBocmVmPSJodHRwOi8vd3d3Lmdub21lLm9yZy8iPjxpbWcgc3JjPSJnbm9tZTIucG5nIiBhbHQ9Ikdub21lMiBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9TdGF0dXMiPjxpbWcgc3JjPSJ3M2MucG5nIiBhbHQ9IlczQyBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnJlZGhhdC5jb20vIj48aW1nIHNyYz0icmVkaGF0LmdpZiIgYWx0PSJSZWQgSGF0IExvZ28iIC8+PC9hPjxkaXYgYWxpZ249ImxlZnQiPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy8iPjxpbWcgc3JjPSJMaWJ4bWwyLUxvZ28tMTgweDE2OC5naWYiIGFsdD0iTWFkZSB3aXRoIExpYnhtbDIgTG9nbyIgLz48L2E+PC9kaXY+PC90ZD48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjkwJSIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiIGJnY29sb3I9IiNmZmZhY2QiPjx0cj48dGQgYWxpZ249ImNlbnRlciI+PGgxPlRoZSBYTUwgQyBwYXJzZXIgYW5kIHRvb2xraXQgb2YgR25vbWU8L2gxPjxoMj5JbnRyb2R1Y3Rpb248L2gyPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI0IiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCB2YWxpZ249InRvcCIgd2lkdGg9IjIwMCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+TWFpbiBNZW51PC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjxmb3JtIGFjdGlvbj0ic2VhcmNoLnBocCIgZW5jdHlwZT0iYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIiBtZXRob2Q9ImdldCI+PGlucHV0IG5hbWU9InF1ZXJ5IiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IiIgLz48aW5wdXQgbmFtZT0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJTZWFyY2ggLi4uIiAvPjwvZm9ybT48dWw+PGxpPjxhIGhyZWY9ImluZGV4Lmh0bWwiPkhvbWU8L2E+PC9saT48bGk+PGEgaHJlZj0iaHRtbC9pbmRleC5odG1sIj5SZWZlcmVuY2UgTWFudWFsPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImludHJvLmh0bWwiPkludHJvZHVjdGlvbjwvYT48L2xpPjxsaT48YSBocmVmPSJGQVEuaHRtbCI+RkFRPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImRvY3MuaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPkRldmVsb3BlciBNZW51PC9hPjwvbGk+PGxpPjxhIGhyZWY9ImJ1Z3MuaHRtbCI+UmVwb3J0aW5nIGJ1Z3MgYW5kIGdldHRpbmcgaGVscDwvYT48L2xpPjxsaT48YSBocmVmPSJoZWxwLmh0bWwiPkhvdyB0byBoZWxwPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImRvd25sb2Fkcy5odG1sIj5Eb3dubG9hZHM8L2E+PC9saT48bGk+PGEgaHJlZj0ibmV3cy5odG1sIj5SZWxlYXNlczwvYT48L2xpPjxsaT48YSBocmVmPSJYTUxpbmZvLmh0bWwiPlhNTDwvYT48L2xpPjxsaT48YSBocmVmPSJYU0xULmh0bWwiPlhTTFQ8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1sZHRkLmh0bWwiPlZhbGlkYXRpb24gJmFtcDsgRFREczwvYT48L2xpPjxsaT48YSBocmVmPSJlbmNvZGluZy5odG1sIj5FbmNvZGluZ3Mgc3VwcG9ydDwvYT48L2xpPjxsaT48YSBocmVmPSJjYXRhbG9nLmh0bWwiPkNhdGFsb2cgc3VwcG9ydDwvYT48L2xpPjxsaT48YSBocmVmPSJuYW1lc3BhY2VzLmh0bWwiPk5hbWVzcGFjZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iY29udHJpYnMuaHRtbCI+Q29udHJpYnV0aW9uczwvYT48L2xpPjxsaT48YSBocmVmPSJleGFtcGxlcy9pbmRleC5odG1sIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+Q29kZSBFeGFtcGxlczwvYT48L2xpPjxsaT48YSBocmVmPSJodG1sL2luZGV4Lmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5BUEkgTWVudTwvYT48L2xpPjxsaT48YSBocmVmPSJndWlkZWxpbmVzLmh0bWwiPlhNTCBHdWlkZWxpbmVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkNoYW5nZUxvZy5odG1sIj5SZWNlbnQgQ2hhbmdlczwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPlJlbGF0ZWQgbGlua3M8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSJodHRwOi8vbWFpbC5nbm9tZS5vcmcvYXJjaGl2ZXMveG1sLyI+TWFpbCBhcmNoaXZlPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9YU0xULyI+WFNMVCBsaWJ4c2x0PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9waGQuY3MudW5pYm8uaXQvZ2RvbWUyLyI+RE9NIGdkb21lMjwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmFsZWtzZXkuY29tL3htbHNlYy8iPlhNTC1EU2lnIHhtbHNlYzwvYT48L2xpPjxsaT48YSBocmVmPSJmdHA6Ly94bWxzb2Z0Lm9yZy8iPkZUUDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnpsYXRrb3ZpYy5jb20vcHJvamVjdHMvbGlieG1sLyI+V2luZG93cyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vb3BlbmNzdy5vcmcvcGFja2FnZXMvbGlieG1sMiI+U29sYXJpcyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmV4cGxhaW4uY29tLmF1L29zcy9saWJ4bWwyeHNsdC5odG1sIj5NYWNPc1ggYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2x4bWwuZGUvIj5seG1sIFB5dGhvbiBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vY3Bhbi51d2lubmlwZWcuY2EvZGlzdC9YTUwtTGliWE1MIj5QZXJsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWxwbHVzcGx1cy5zb3VyY2Vmb3JnZS5uZXQvIj5DKysgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56ZW5kLmNvbS9waHA1L2FydGljbGVzL3BocDUteG1scGhwLnBocCNIZWFkaW5nNCI+UEhQIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbGlieG1sMi1wYXMvIj5QYXNjYWwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbC5ydWJ5Zm9yZ2Uub3JnLyI+UnVieSBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vdGNseG1sLnNvdXJjZWZvcmdlLm5ldC8iPlRjbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2J1Z2xpc3QuY2dpP3Byb2R1Y3Q9bGlieG1sMiI+QnVnIFRyYWNrZXI8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48cD5UaGlzIGRvY3VtZW50IGRlc2NyaWJlcyBsaWJ4bWwsIHRoZSA8YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9YTUwvIj5YTUw8L2E+IEMgcGFyc2VyIGFuZCB0b29sa2l0IGRldmVsb3BlZCBmb3IgdGhlCis8YSBocmVmPSJodHRwOi8vd3d3Lmdub21lLm9yZy8iPkdub21lPC9hPiBwcm9qZWN0LiA8YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9YTUwvIj5YTUwgaXMgYSBzdGFuZGFyZDwvYT4gZm9yIGJ1aWxkaW5nIHRhZy1iYXNlZAorc3RydWN0dXJlZCBkb2N1bWVudHMvZGF0YS48L3A+PHA+SGVyZSBhcmUgc29tZSBrZXkgcG9pbnRzIGFib3V0IGxpYnhtbDo8L3A+PHVsPgorICA8bGk+TGlieG1sMiBleHBvcnRzIFB1c2ggKHByb2dyZXNzaXZlKSBhbmQgUHVsbCAoYmxvY2tpbmcpIHR5cGUgcGFyc2VyCisgICAgaW50ZXJmYWNlcyBmb3IgYm90aCBYTUwgYW5kIEhUTUwuPC9saT4KKyAgPGxpPkxpYnhtbDIgY2FuIGRvIERURCB2YWxpZGF0aW9uIGF0IHBhcnNlIHRpbWUsIHVzaW5nIGEgcGFyc2VkIGRvY3VtZW50CisgICAgaW5zdGFuY2UsIG9yIHdpdGggYW4gYXJiaXRyYXJ5IERURC48L2xpPgorICA8bGk+TGlieG1sMiBpbmNsdWRlcyBjb21wbGV0ZSA8YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi94cGF0aCI+WFBhdGg8L2E+LCA8YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi94cHRyIj5YUG9pbnRlcjwvYT4gYW5kIDxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hpbmNsdWRlIj5YSW5jbHVkZTwvYT4gaW1wbGVtZW50YXRpb25zLjwvbGk+CisgIDxsaT5JdCBpcyB3cml0dGVuIGluIHBsYWluIEMsIG1ha2luZyBhcyBmZXcgYXNzdW1wdGlvbnMgYXMgcG9zc2libGUsIGFuZAorICAgIHN0aWNraW5nIGNsb3NlbHkgdG8gQU5TSSBDL1BPU0lYIGZvciBlYXN5IGVtYmVkZGluZy4gV29ya3Mgb24KKyAgICBMaW51eC9Vbml4L1dpbmRvd3MsIHBvcnRlZCB0byBhIG51bWJlciBvZiBvdGhlciBwbGF0Zm9ybXMuPC9saT4KKyAgPGxpPkJhc2ljIHN1cHBvcnQgZm9yIEhUVFAgYW5kIEZUUCBjbGllbnQgYWxsb3dpbmcgYXBwbGljYXRpb25zIHRvIGZldGNoCisgICAgcmVtb3RlIHJlc291cmNlcy48L2xpPgorICA8bGk+VGhlIGRlc2lnbiBpcyBtb2R1bGFyLCBtb3N0IG9mIHRoZSBleHRlbnNpb25zIGNhbiBiZSBjb21waWxlZCBvdXQuPC9saT4KKyAgPGxpPlRoZSBpbnRlcm5hbCBkb2N1bWVudCByZXByZXNlbnRhdGlvbiBpcyBhcyBjbG9zZSBhcyBwb3NzaWJsZSB0byB0aGUgPGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvRE9NLyI+RE9NPC9hPiBpbnRlcmZhY2VzLjwvbGk+CisgIDxsaT5MaWJ4bWwyIGFsc28gaGFzIGEgPGEgaHJlZj0iaHR0cDovL3d3dy5tZWdnaW5zb24uY29tL1NBWC9pbmRleC5odG1sIj5TQVggbGlrZSBpbnRlcmZhY2U8L2E+OworICAgIHRoZSBpbnRlcmZhY2UgaXMgZGVzaWduZWQgdG8gYmUgY29tcGF0aWJsZSB3aXRoIDxhIGhyZWY9Imh0dHA6Ly93d3cuamNsYXJrLmNvbS94bWwvZXhwYXQuaHRtbCI+RXhwYXQ8L2E+LjwvbGk+CisgIDxsaT5UaGlzIGxpYnJhcnkgaXMgcmVsZWFzZWQgdW5kZXIgdGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UuaHRtbCI+TUlUCisgICAgTGljZW5zZTwvYT4uIFNlZSB0aGUgQ29weXJpZ2h0IGZpbGUgaW4gdGhlIGRpc3RyaWJ1dGlvbiBmb3IgdGhlIHByZWNpc2UKKyAgICB3b3JkaW5nLjwvbGk+Cis8L3VsPjxwPldhcm5pbmc6IHVubGVzcyB5b3UgYXJlIGZvcmNlZCB0byBiZWNhdXNlIHlvdXIgYXBwbGljYXRpb24gbGlua3Mgd2l0aCBhCitHbm9tZS0xLlggbGlicmFyeSByZXF1aXJpbmcgaXQsICA8c3Ryb25nPjxzcGFuIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiAjRkYwMDAwIj5EbyBOb3QgVXNlIGxpYnhtbDE8L3NwYW4+PC9zdHJvbmc+LCB1c2UKK2xpYnhtbDI8L3A+PHA+PGEgaHJlZj0iYnVncy5odG1sIj5EYW5pZWwgVmVpbGxhcmQ8L2E+PC9wPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9saWJyYXJ5Lmh0bWwgYi9saWJ4bWwyL2RvYy9saWJyYXJ5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTUxMTM5YQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL2xpYnJhcnkuaHRtbApAQCAtMCwwICsxLDE1OCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIj4KKzxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj48aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz48bGluayByZWw9IlNIT1JUQ1VUIElDT04iIGhyZWY9Ii9mYXZpY29uLmljbyIgLz48c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorVEQge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0JPRFkge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYTsgbWFyZ2luLXRvcDogMmVtOyBtYXJnaW4tbGVmdDogMGVtOyBtYXJnaW4tcmlnaHQ6IDBlbX0KK0gxIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMiB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDMge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0E6bGluaywgQTp2aXNpdGVkLCBBOmFjdGl2ZSB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIH0KKzwvc3R5bGU+PHRpdGxlPlRoZSBwYXJzZXIgaW50ZXJmYWNlczwvdGl0bGU+PC9oZWFkPjxib2R5IGJnY29sb3I9IiM4Yjc3NjUiIHRleHQ9IiMwMDAwMDAiIGxpbms9IiNhMDYwNjAiIHZsaW5rPSIjMDAwMDAwIj48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iMTAwJSIgY2VsbHBhZGRpbmc9IjUiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIHdpZHRoPSIxMjAiPjxhIGhyZWY9Imh0dHA6Ly9zd3BhdC5mZmlpLm9yZy8iPjxpbWcgc3JjPSJlcGF0ZW50cy5wbmciIGFsdD0iQWN0aW9uIGFnYWluc3Qgc29mdHdhcmUgcGF0ZW50cyIgLz48L2E+PC90ZD48dGQgd2lkdGg9IjE4MCI+PGEgaHJlZj0iaHR0cDovL3d3dy5nbm9tZS5vcmcvIj48aW1nIHNyYz0iZ25vbWUyLnBuZyIgYWx0PSJHbm9tZTIgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvU3RhdHVzIj48aW1nIHNyYz0idzNjLnBuZyIgYWx0PSJXM0MgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy5yZWRoYXQuY29tLyI+PGltZyBzcmM9InJlZGhhdC5naWYiIGFsdD0iUmVkIEhhdCBMb2dvIiAvPjwvYT48ZGl2IGFsaWduPSJsZWZ0Ij48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvIj48aW1nIHNyYz0iTGlieG1sMi1Mb2dvLTE4MHgxNjguZ2lmIiBhbHQ9Ik1hZGUgd2l0aCBMaWJ4bWwyIExvZ28iIC8+PC9hPjwvZGl2PjwvdGQ+PHRkPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSI5MCUiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIiBiZ2NvbG9yPSIjZmZmYWNkIj48dHI+PHRkIGFsaWduPSJjZW50ZXIiPjxoMT5UaGUgWE1MIEMgcGFyc2VyIGFuZCB0b29sa2l0IG9mIEdub21lPC9oMT48aDI+VGhlIHBhcnNlciBpbnRlcmZhY2VzPC9oMj48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iNCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiIgd2lkdGg9IjEwMCUiPjx0cj48dGQgdmFsaWduPSJ0b3AiIHdpZHRoPSIyMDAiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPkRldmVsb3BlciBNZW51PC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjxmb3JtIGFjdGlvbj0ic2VhcmNoLnBocCIgZW5jdHlwZT0iYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIiBtZXRob2Q9ImdldCI+PGlucHV0IG5hbWU9InF1ZXJ5IiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IiIgLz48aW5wdXQgbmFtZT0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJTZWFyY2ggLi4uIiAvPjwvZm9ybT48dWw+PGxpPjxhIGhyZWY9ImluZGV4Lmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5NYWluIE1lbnU8L2E+PC9saT48bGk+PGEgaHJlZj0iaHRtbC9pbmRleC5odG1sIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+UmVmZXJlbmNlIE1hbnVhbDwvYT48L2xpPjxsaT48YSBocmVmPSJleGFtcGxlcy9pbmRleC5odG1sIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+Q29kZSBFeGFtcGxlczwvYT48L2xpPjxsaT48YSBocmVmPSJndWlkZWxpbmVzLmh0bWwiPlhNTCBHdWlkZWxpbmVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9InR1dG9yaWFsL2luZGV4Lmh0bWwiPlR1dG9yaWFsPC9hPjwvbGk+PGxpPjxhIGhyZWY9InhtbHJlYWRlci5odG1sIj5UaGUgUmVhZGVyIEludGVyZmFjZTwvYT48L2xpPjxsaT48YSBocmVmPSJDaGFuZ2VMb2cuaHRtbCI+Q2hhbmdlTG9nPC9hPjwvbGk+PGxpPjxhIGhyZWY9IlhTTFQuaHRtbCI+WFNMVDwvYT48L2xpPjxsaT48YSBocmVmPSJweXRob24uaHRtbCI+UHl0aG9uIGFuZCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJhcmNoaXRlY3R1cmUuaHRtbCI+bGlieG1sMiBhcmNoaXRlY3R1cmU8L2E+PC9saT48bGk+PGEgaHJlZj0idHJlZS5odG1sIj5UaGUgdHJlZSBvdXRwdXQ8L2E+PC9saT48bGk+PGEgaHJlZj0iaW50ZXJmYWNlLmh0bWwiPlRoZSBTQVggaW50ZXJmYWNlPC9hPjwvbGk+PGxpPjxhIGhyZWY9InhtbG1lbS5odG1sIj5NZW1vcnkgTWFuYWdlbWVudDwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWxpby5odG1sIj5JL08gSW50ZXJmYWNlczwvYT48L2xpPjxsaT48YSBocmVmPSJsaWJyYXJ5Lmh0bWwiPlRoZSBwYXJzZXIgaW50ZXJmYWNlczwvYT48L2xpPjxsaT48YSBocmVmPSJlbnRpdGllcy5odG1sIj5FbnRpdGllcyBvciBubyBlbnRpdGllczwvYT48L2xpPjxsaT48YSBocmVmPSJuYW1lc3BhY2VzLmh0bWwiPk5hbWVzcGFjZXM8L2E+PC9saT48bGk+PGEgaHJlZj0idXBncmFkZS5odG1sIj5VcGdyYWRpbmcgMS54IGNvZGU8L2E+PC9saT48bGk+PGEgaHJlZj0idGhyZWFkcy5odG1sIj5UaHJlYWQgc2FmZXR5PC9hPjwvbGk+PGxpPjxhIGhyZWY9IkRPTS5odG1sIj5ET00gUHJpbmNpcGxlczwvYT48L2xpPjxsaT48YSBocmVmPSJleGFtcGxlLmh0bWwiPkEgcmVhbCBleGFtcGxlPC9hPjwvbGk+PGxpPjxhIGhyZWY9InhtbC5odG1sIj5mbGF0IHBhZ2U8L2E+LCA8YSBocmVmPSJzaXRlLnhzbCI+c3R5bGVzaGVldDwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPkFQSSBJbmRleGVzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iQVBJY2h1bmswLmh0bWwiPkFscGhhYmV0aWM8L2E+PC9saT48bGk+PGEgaHJlZj0iQVBJY29uc3RydWN0b3JzLmh0bWwiPkNvbnN0cnVjdG9yczwvYT48L2xpPjxsaT48YSBocmVmPSJBUElmdW5jdGlvbnMuaHRtbCI+RnVuY3Rpb25zL1R5cGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkFQSWZpbGVzLmh0bWwiPk1vZHVsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iQVBJc3ltYm9scy5odG1sIj5TeW1ib2xzPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+UmVsYXRlZCBsaW5rczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9Imh0dHA6Ly9tYWlsLmdub21lLm9yZy9hcmNoaXZlcy94bWwvIj5NYWlsIGFyY2hpdmU8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnL1hTTFQvIj5YU0xUIGxpYnhzbHQ8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3BoZC5jcy51bmliby5pdC9nZG9tZTIvIj5ET00gZ2RvbWUyPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuYWxla3NleS5jb20veG1sc2VjLyI+WE1MLURTaWcgeG1sc2VjPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImZ0cDovL3htbHNvZnQub3JnLyI+RlRQPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemxhdGtvdmljLmNvbS9wcm9qZWN0cy9saWJ4bWwvIj5XaW5kb3dzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9vcGVuY3N3Lm9yZy9wYWNrYWdlcy9saWJ4bWwyIj5Tb2xhcmlzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuZXhwbGFpbi5jb20uYXUvb3NzL2xpYnhtbDJ4c2x0Lmh0bWwiPk1hY09zWCBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbHhtbC5kZS8iPmx4bWwgUHl0aG9uIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9jcGFuLnV3aW5uaXBlZy5jYS9kaXN0L1hNTC1MaWJYTUwiPlBlcmwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbHBsdXNwbHVzLnNvdXJjZWZvcmdlLm5ldC8iPkMrKyBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnplbmQuY29tL3BocDUvYXJ0aWNsZXMvcGhwNS14bWxwaHAucGhwI0hlYWRpbmc0Ij5QSFAgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9saWJ4bWwyLXBhcy8iPlBhc2NhbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1sLnJ1Ynlmb3JnZS5vcmcvIj5SdWJ5IGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly90Y2x4bWwuc291cmNlZm9yZ2UubmV0LyI+VGNsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvYnVnbGlzdC5jZ2k/cHJvZHVjdD1saWJ4bWwyIj5CdWcgVHJhY2tlcjwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMyIgY2VsbHNwYWNpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjxwPlRoaXMgc2VjdGlvbiBpcyBkaXJlY3RseSBpbnRlbmRlZCB0byBoZWxwIHByb2dyYW1tZXJzIGdldHRpbmcgYm9vdHN0cmFwcGVkCit1c2luZyB0aGUgWE1MIHRvbGxraXQgZnJvbSB0aGUgQyBsYW5ndWFnZS4gSXQgaXMgbm90IGludGVuZGVkIHRvIGJlCitleHRlbnNpdmUuIEkgaG9wZSB0aGUgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgZG9jdW1lbnRzIHdpbGwgcHJvdmlkZSB0aGUKK2NvbXBsZXRlbmVzcyByZXF1aXJlZCwgYnV0IGFzIGEgc2VwYXJhdGUgc2V0IG9mIGRvY3VtZW50cy4gVGhlIGludGVyZmFjZXMgb2YKK3RoZSBYTUwgcGFyc2VyIGFyZSBieSBwcmluY2lwbGUgbG93IGxldmVsLCBUaG9zZSBpbnRlcmVzdGVkIGluIGEgaGlnaGVyIGxldmVsCitBUEkgc2hvdWxkIDxhIGhyZWY9IiNET00iPmxvb2sgYXQgRE9NPC9hPi48L3A+PHA+VGhlIDxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sIj5wYXJzZXIgaW50ZXJmYWNlcyBmb3IgWE1MPC9hPiBhcmUKK3NlcGFyYXRlZCBmcm9tIHRoZSA8YSBocmVmPSJodG1sL2xpYnhtbC1odG1scGFyc2VyLmh0bWwiPkhUTUwgcGFyc2VyCitpbnRlcmZhY2VzPC9hPi4gIExldCdzIGhhdmUgYSBsb29rIGF0IGhvdyB0aGUgWE1MIHBhcnNlciBjYW4gYmUgY2FsbGVkOjwvcD48aDM+PGEgbmFtZT0iSW52b2tpbmciIGlkPSJJbnZva2luZyI+SW52b2tpbmcgdGhlIHBhcnNlciA6IHRoZSBwdWxsIG1ldGhvZDwvYT48L2gzPjxwPlVzdWFsbHksIHRoZSBmaXJzdCB0aGluZyB0byBkbyBpcyB0byByZWFkIGFuIFhNTCBpbnB1dC4gVGhlIHBhcnNlciBhY2NlcHRzCitkb2N1bWVudHMgZWl0aGVyIGZyb20gaW4tbWVtb3J5IHN0cmluZ3Mgb3IgZnJvbSBmaWxlcy4gIFRoZSBmdW5jdGlvbnMgYXJlCitkZWZpbmVkIGluICJwYXJzZXIuaCI6PC9wPjxkbD4KKyAgPGR0Pjxjb2RlPnhtbERvY1B0ciB4bWxQYXJzZU1lbW9yeShjaGFyICpidWZmZXIsIGludCBzaXplKTs8L2NvZGU+PC9kdD4KKyAgICA8ZGQ+PHA+UGFyc2UgYSBudWxsLXRlcm1pbmF0ZWQgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIGRvY3VtZW50LjwvcD4KKyAgICA8L2RkPgorPC9kbD48ZGw+CisgIDxkdD48Y29kZT54bWxEb2NQdHIgeG1sUGFyc2VGaWxlKGNvbnN0IGNoYXIgKmZpbGVuYW1lKTs8L2NvZGU+PC9kdD4KKyAgICA8ZGQ+PHA+UGFyc2UgYW4gWE1MIGRvY3VtZW50IGNvbnRhaW5lZCBpbiBhIChwb3NzaWJseSBjb21wcmVzc2VkKQorICAgICAgZmlsZS48L3A+CisgICAgPC9kZD4KKzwvZGw+PHA+VGhlIHBhcnNlciByZXR1cm5zIGEgcG9pbnRlciB0byB0aGUgZG9jdW1lbnQgc3RydWN0dXJlIChvciBOVUxMIGluIGNhc2Ugb2YKK2ZhaWx1cmUpLjwvcD48aDMgaWQ9Ikludm9raW5nMSI+SW52b2tpbmcgdGhlIHBhcnNlcjogdGhlIHB1c2ggbWV0aG9kPC9oMz48cD5JbiBvcmRlciBmb3IgdGhlIGFwcGxpY2F0aW9uIHRvIGtlZXAgdGhlIGNvbnRyb2wgd2hlbiB0aGUgZG9jdW1lbnQgaXMKK2JlaW5nIGZldGNoZWQgKHdoaWNoIGlzIGNvbW1vbiBmb3IgR1VJIGJhc2VkIHByb2dyYW1zKSBsaWJ4bWwyIHByb3ZpZGVzIGEKK3B1c2ggaW50ZXJmYWNlLCB0b28sIGFzIG9mIHZlcnNpb24gMS44LjMuIEhlcmUgYXJlIHRoZSBpbnRlcmZhY2UKK2Z1bmN0aW9uczo8L3A+PHByZT54bWxQYXJzZXJDdHh0UHRyIHhtbENyZWF0ZVB1c2hQYXJzZXJDdHh0KHhtbFNBWEhhbmRsZXJQdHIgc2F4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICp1c2VyX2RhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmNodW5rLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZmlsZW5hbWUpOworaW50ICAgICAgICAgICAgICB4bWxQYXJzZUNodW5rICAgICAgICAgICh4bWxQYXJzZXJDdHh0UHRyIGN0eHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmNodW5rLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHRlcm1pbmF0ZSk7PC9wcmU+PHA+YW5kIGhlcmUgaXMgYSBzaW1wbGUgZXhhbXBsZSBzaG93aW5nIGhvdyB0byB1c2UgdGhlIGludGVyZmFjZTo8L3A+PHByZT4gICAgICAgICAgICBGSUxFICpmOworCisgICAgICAgICAgICBmID0gZm9wZW4oZmlsZW5hbWUsICJyIik7CisgICAgICAgICAgICBpZiAoZiAhPSBOVUxMKSB7CisgICAgICAgICAgICAgICAgaW50IHJlcywgc2l6ZSA9IDEwMjQ7CisgICAgICAgICAgICAgICAgY2hhciBjaGFyc1sxMDI0XTsKKyAgICAgICAgICAgICAgICB4bWxQYXJzZXJDdHh0UHRyIGN0eHQ7CisKKyAgICAgICAgICAgICAgICByZXMgPSBmcmVhZChjaGFycywgMSwgNCwgZik7CisgICAgICAgICAgICAgICAgaWYgKHJlcyAmZ3Q7IDApIHsKKyAgICAgICAgICAgICAgICAgICAgY3R4dCA9IHhtbENyZWF0ZVB1c2hQYXJzZXJDdHh0KE5VTEwsIE5VTEwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXJzLCByZXMsIGZpbGVuYW1lKTsKKyAgICAgICAgICAgICAgICAgICAgd2hpbGUgKChyZXMgPSBmcmVhZChjaGFycywgMSwgc2l6ZSwgZikpICZndDsgMCkgeworICAgICAgICAgICAgICAgICAgICAgICAgeG1sUGFyc2VDaHVuayhjdHh0LCBjaGFycywgcmVzLCAwKTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICB4bWxQYXJzZUNodW5rKGN0eHQsIGNoYXJzLCAwLCAxKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jID0gY3R4dC0mZ3Q7bXlEb2M7CisgICAgICAgICAgICAgICAgICAgIHhtbEZyZWVQYXJzZXJDdHh0KGN0eHQpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH08L3ByZT48cD5UaGUgSFRNTCBwYXJzZXIgZW1iZWRkZWQgaW50byBsaWJ4bWwyIGFsc28gaGFzIGEgcHVzaCBpbnRlcmZhY2U7IHRoZQorZnVuY3Rpb25zIGFyZSBqdXN0IHByZWZpeGVkIGJ5ICJodG1sIiByYXRoZXIgdGhhbiAieG1sIi48L3A+PGgzIGlkPSJJbnZva2luZzIiPkludm9raW5nIHRoZSBwYXJzZXI6IHRoZSBTQVggaW50ZXJmYWNlPC9oMz48cD5UaGUgdHJlZS1idWlsZGluZyBpbnRlcmZhY2UgbWFrZXMgdGhlIHBhcnNlciBtZW1vcnktaHVuZ3J5LCBmaXJzdCBsb2FkaW5nCit0aGUgZG9jdW1lbnQgaW4gbWVtb3J5IGFuZCB0aGVuIGJ1aWxkaW5nIHRoZSB0cmVlIGl0c2VsZi4gUmVhZGluZyBhIGRvY3VtZW50Cit3aXRob3V0IGJ1aWxkaW5nIHRoZSB0cmVlIGlzIHBvc3NpYmxlIHVzaW5nIHRoZSBTQVggaW50ZXJmYWNlcyAoc2VlIFNBWC5oIGFuZAorPGEgaHJlZj0iaHR0cDovL3d3dy5kYWEuY29tLmF1L35qYW1lcy9nbm9tZS94bWwtc2F4L3htbC1zYXguaHRtbCI+SmFtZXMKK0hlbnN0cmlkZ2UncyBkb2N1bWVudGF0aW9uPC9hPikuIE5vdGUgYWxzbyB0aGF0IHRoZSBwdXNoIGludGVyZmFjZSBjYW4gYmUKK2xpbWl0ZWQgdG8gU0FYOiBqdXN0IHVzZSB0aGUgdHdvIGZpcnN0IGFyZ3VtZW50cyBvZgorPGNvZGU+eG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQoKTwvY29kZT4uPC9wPjxoMz48YSBuYW1lPSJCdWlsZGluZyIgaWQ9IkJ1aWxkaW5nIj5CdWlsZGluZyBhIHRyZWUgZnJvbSBzY3JhdGNoPC9hPjwvaDM+PHA+VGhlIG90aGVyIHdheSB0byBnZXQgYW4gWE1MIHRyZWUgaW4gbWVtb3J5IGlzIGJ5IGJ1aWxkaW5nIGl0LiBCYXNpY2FsbHkKK3RoZXJlIGlzIGEgc2V0IG9mIGZ1bmN0aW9ucyBkZWRpY2F0ZWQgdG8gYnVpbGRpbmcgbmV3IGVsZW1lbnRzLiAoVGhlc2UgYXJlCithbHNvIGRlc2NyaWJlZCBpbiAmbHQ7bGlieG1sL3RyZWUuaCZndDsuKSBGb3IgZXhhbXBsZSwgaGVyZSBpcyBhIHBpZWNlIG9mCitjb2RlIHRoYXQgcHJvZHVjZXMgdGhlIFhNTCBkb2N1bWVudCB1c2VkIGluIHRoZSBwcmV2aW91cyBleGFtcGxlczo8L3A+PHByZT4gICAgI2luY2x1ZGUgJmx0O2xpYnhtbC90cmVlLmgmZ3Q7CisgICAgeG1sRG9jUHRyIGRvYzsKKyAgICB4bWxOb2RlUHRyIHRyZWUsIHN1YnRyZWU7CisKKyAgICBkb2MgPSB4bWxOZXdEb2MoIjEuMCIpOworICAgIGRvYy0mZ3Q7Y2hpbGRyZW4gPSB4bWxOZXdEb2NOb2RlKGRvYywgTlVMTCwgIkVYQU1QTEUiLCBOVUxMKTsKKyAgICB4bWxTZXRQcm9wKGRvYy0mZ3Q7Y2hpbGRyZW4sICJwcm9wMSIsICJnbm9tZSBpcyBncmVhdCIpOworICAgIHhtbFNldFByb3AoZG9jLSZndDtjaGlsZHJlbiwgInByb3AyIiwgIiZhbXA7IGxpbnV4IHRvbyIpOworICAgIHRyZWUgPSB4bWxOZXdDaGlsZChkb2MtJmd0O2NoaWxkcmVuLCBOVUxMLCAiaGVhZCIsIE5VTEwpOworICAgIHN1YnRyZWUgPSB4bWxOZXdDaGlsZCh0cmVlLCBOVUxMLCAidGl0bGUiLCAiV2VsY29tZSB0byBHbm9tZSIpOworICAgIHRyZWUgPSB4bWxOZXdDaGlsZChkb2MtJmd0O2NoaWxkcmVuLCBOVUxMLCAiY2hhcHRlciIsIE5VTEwpOworICAgIHN1YnRyZWUgPSB4bWxOZXdDaGlsZCh0cmVlLCBOVUxMLCAidGl0bGUiLCAiVGhlIExpbnV4IGFkdmVudHVyZSIpOworICAgIHN1YnRyZWUgPSB4bWxOZXdDaGlsZCh0cmVlLCBOVUxMLCAicCIsICJibGEgYmxhIGJsYSAuLi4iKTsKKyAgICBzdWJ0cmVlID0geG1sTmV3Q2hpbGQodHJlZSwgTlVMTCwgImltYWdlIiwgTlVMTCk7CisgICAgeG1sU2V0UHJvcChzdWJ0cmVlLCAiaHJlZiIsICJsaW51cy5naWYiKTs8L3ByZT48cD5Ob3QgcmVhbGx5IHJvY2tldCBzY2llbmNlIC4uLjwvcD48aDM+PGEgbmFtZT0iVHJhdmVyc2luZyIgaWQ9IlRyYXZlcnNpbmciPlRyYXZlcnNpbmcgdGhlIHRyZWU8L2E+PC9oMz48cD5CYXNpY2FsbHkgYnkgPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sIj5pbmNsdWRpbmcgInRyZWUuaCI8L2E+IHlvdXIKK2NvZGUgaGFzIGFjY2VzcyB0byB0aGUgaW50ZXJuYWwgc3RydWN0dXJlIG9mIGFsbCB0aGUgZWxlbWVudHMgb2YgdGhlIHRyZWUuCitUaGUgbmFtZXMgc2hvdWxkIGJlIHNvbWV3aGF0IHNpbXBsZSBsaWtlIDxzdHJvbmc+cGFyZW50PC9zdHJvbmc+LAorPHN0cm9uZz5jaGlsZHJlbjwvc3Ryb25nPiwgPHN0cm9uZz5uZXh0PC9zdHJvbmc+LCA8c3Ryb25nPnByZXY8L3N0cm9uZz4sCis8c3Ryb25nPnByb3BlcnRpZXM8L3N0cm9uZz4sIGV0Yy4uLiBGb3IgZXhhbXBsZSwgc3RpbGwgd2l0aCB0aGUgcHJldmlvdXMKK2V4YW1wbGU6PC9wPjxwcmU+PGNvZGU+ZG9jLSZndDtjaGlsZHJlbi0mZ3Q7Y2hpbGRyZW4tJmd0O2NoaWxkcmVuPC9jb2RlPjwvcHJlPjxwPnBvaW50cyB0byB0aGUgdGl0bGUgZWxlbWVudCw8L3A+PHByZT5kb2MtJmd0O2NoaWxkcmVuLSZndDtjaGlsZHJlbi0mZ3Q7bmV4dC0mZ3Q7Y2hpbGRyZW4tJmd0O2NoaWxkcmVuPC9wcmU+PHA+cG9pbnRzIHRvIHRoZSB0ZXh0IG5vZGUgY29udGFpbmluZyB0aGUgY2hhcHRlciB0aXRsZSAiVGhlIExpbnV4CithZHZlbnR1cmUiLjwvcD48cD48c3Ryb25nPk5PVEU8L3N0cm9uZz46IFhNTCBhbGxvd3MgPGVtPlBJPC9lbT5zIGFuZCA8ZW0+Y29tbWVudHM8L2VtPiB0byBiZQorcHJlc2VudCBiZWZvcmUgdGhlIGRvY3VtZW50IHJvb3QsIHNvIDxjb2RlPmRvYy0mZ3Q7Y2hpbGRyZW48L2NvZGU+IG1heSBwb2ludAordG8gYW4gZWxlbWVudCB3aGljaCBpcyBub3QgdGhlIGRvY3VtZW50IFJvb3QgRWxlbWVudDsgYSBmdW5jdGlvbgorPGNvZGU+eG1sRG9jR2V0Um9vdEVsZW1lbnQoKTwvY29kZT4gd2FzIGFkZGVkIGZvciB0aGlzIHB1cnBvc2UuPC9wPjxoMz48YSBuYW1lPSJNb2RpZnlpbmciIGlkPSJNb2RpZnlpbmciPk1vZGlmeWluZyB0aGUgdHJlZTwvYT48L2gzPjxwPkZ1bmN0aW9ucyBhcmUgcHJvdmlkZWQgZm9yIHJlYWRpbmcgYW5kIHdyaXRpbmcgdGhlIGRvY3VtZW50IGNvbnRlbnQuIEhlcmUKK2lzIGFuIGV4Y2VycHQgZnJvbSB0aGUgPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sIj50cmVlIEFQSTwvYT46PC9wPjxkbD4KKyAgPGR0Pjxjb2RlPnhtbEF0dHJQdHIgeG1sU2V0UHJvcCh4bWxOb2RlUHRyIG5vZGUsIGNvbnN0IHhtbENoYXIgKm5hbWUsIGNvbnN0CisgIHhtbENoYXIgKnZhbHVlKTs8L2NvZGU+PC9kdD4KKyAgICA8ZGQ+PHA+VGhpcyBzZXRzIChvciBjaGFuZ2VzKSBhbiBhdHRyaWJ1dGUgY2FycmllZCBieSBhbiBFTEVNRU5UIG5vZGUuCisgICAgICBUaGUgdmFsdWUgY2FuIGJlIE5VTEwuPC9wPgorICAgIDwvZGQ+Cis8L2RsPjxkbD4KKyAgPGR0Pjxjb2RlPmNvbnN0IHhtbENoYXIgKnhtbEdldFByb3AoeG1sTm9kZVB0ciBub2RlLCBjb25zdCB4bWxDaGFyCisgICpuYW1lKTs8L2NvZGU+PC9kdD4KKyAgICA8ZGQ+PHA+VGhpcyBmdW5jdGlvbiByZXR1cm5zIGEgcG9pbnRlciB0byBuZXcgY29weSBvZiB0aGUgcHJvcGVydHkKKyAgICAgIGNvbnRlbnQuIE5vdGUgdGhhdCB0aGUgdXNlciBtdXN0IGRlYWxsb2NhdGUgdGhlIHJlc3VsdC48L3A+CisgICAgPC9kZD4KKzwvZGw+PHA+VHdvIGZ1bmN0aW9ucyBhcmUgcHJvdmlkZWQgZm9yIHJlYWRpbmcgYW5kIHdyaXRpbmcgdGhlIHRleHQgYXNzb2NpYXRlZAord2l0aCBlbGVtZW50czo8L3A+PGRsPgorICA8ZHQ+PGNvZGU+eG1sTm9kZVB0ciB4bWxTdHJpbmdHZXROb2RlTGlzdCh4bWxEb2NQdHIgZG9jLCBjb25zdCB4bWxDaGFyCisgICp2YWx1ZSk7PC9jb2RlPjwvZHQ+CisgICAgPGRkPjxwPlRoaXMgZnVuY3Rpb24gdGFrZXMgYW4gImV4dGVybmFsIiBzdHJpbmcgYW5kIGNvbnZlcnRzIGl0IHRvIG9uZQorICAgICAgdGV4dCBub2RlIG9yIHBvc3NpYmx5IHRvIGEgbGlzdCBvZiBlbnRpdHkgYW5kIHRleHQgbm9kZXMuIEFsbAorICAgICAgbm9uLXByZWRlZmluZWQgZW50aXR5IHJlZmVyZW5jZXMgbGlrZSAmYW1wO0dub21lOyB3aWxsIGJlIHN0b3JlZAorICAgICAgaW50ZXJuYWxseSBhcyBlbnRpdHkgbm9kZXMsIGhlbmNlIHRoZSByZXN1bHQgb2YgdGhlIGZ1bmN0aW9uIG1heSBub3QgYmUKKyAgICAgIGEgc2luZ2xlIG5vZGUuPC9wPgorICAgIDwvZGQ+Cis8L2RsPjxkbD4KKyAgPGR0Pjxjb2RlPnhtbENoYXIgKnhtbE5vZGVMaXN0R2V0U3RyaW5nKHhtbERvY1B0ciBkb2MsIHhtbE5vZGVQdHIgbGlzdCwgaW50CisgIGluTGluZSk7PC9jb2RlPjwvZHQ+CisgICAgPGRkPjxwPlRoaXMgZnVuY3Rpb24gaXMgdGhlIGludmVyc2Ugb2YKKyAgICAgIDxjb2RlPnhtbFN0cmluZ0dldE5vZGVMaXN0KCk8L2NvZGU+LiBJdCBnZW5lcmF0ZXMgYSBuZXcgc3RyaW5nCisgICAgICBjb250YWluaW5nIHRoZSBjb250ZW50IG9mIHRoZSB0ZXh0IGFuZCBlbnRpdHkgbm9kZXMuIE5vdGUgdGhlIGV4dHJhCisgICAgICBhcmd1bWVudCBpbkxpbmUuIElmIHRoaXMgYXJndW1lbnQgaXMgc2V0IHRvIDEsIHRoZSBmdW5jdGlvbiB3aWxsIGV4cGFuZAorICAgICAgZW50aXR5IHJlZmVyZW5jZXMuICBGb3IgZXhhbXBsZSwgaW5zdGVhZCBvZiByZXR1cm5pbmcgdGhlICZhbXA7R25vbWU7CisgICAgICBYTUwgZW5jb2RpbmcgaW4gdGhlIHN0cmluZywgaXQgd2lsbCBzdWJzdGl0dXRlIGl0IHdpdGggaXRzIHZhbHVlIChzYXksCisgICAgICAiR05VIE5ldHdvcmsgT2JqZWN0IE1vZGVsIEVudmlyb25tZW50IikuPC9wPgorICAgIDwvZGQ+Cis8L2RsPjxoMz48YSBuYW1lPSJTYXZpbmciIGlkPSJTYXZpbmciPlNhdmluZyBhIHRyZWU8L2E+PC9oMz48cD5CYXNpY2FsbHkgMyBvcHRpb25zIGFyZSBwb3NzaWJsZTo8L3A+PGRsPgorICA8ZHQ+PGNvZGU+dm9pZCB4bWxEb2NEdW1wTWVtb3J5KHhtbERvY1B0ciBjdXIsIHhtbENoYXIqKm1lbSwgaW50CisgICpzaXplKTs8L2NvZGU+PC9kdD4KKyAgICA8ZGQ+PHA+UmV0dXJucyBhIGJ1ZmZlciBpbnRvIHdoaWNoIHRoZSBkb2N1bWVudCBoYXMgYmVlbiBzYXZlZC48L3A+CisgICAgPC9kZD4KKzwvZGw+PGRsPgorICA8ZHQ+PGNvZGU+ZXh0ZXJuIHZvaWQgeG1sRG9jRHVtcChGSUxFICpmLCB4bWxEb2NQdHIgZG9jKTs8L2NvZGU+PC9kdD4KKyAgICA8ZGQ+PHA+RHVtcHMgYSBkb2N1bWVudCB0byBhbiBvcGVuIGZpbGUgZGVzY3JpcHRvci48L3A+CisgICAgPC9kZD4KKzwvZGw+PGRsPgorICA8ZHQ+PGNvZGU+aW50IHhtbFNhdmVGaWxlKGNvbnN0IGNoYXIgKmZpbGVuYW1lLCB4bWxEb2NQdHIgY3VyKTs8L2NvZGU+PC9kdD4KKyAgICA8ZGQ+PHA+U2F2ZXMgdGhlIGRvY3VtZW50IHRvIGEgZmlsZS4gSW4gdGhpcyBjYXNlLCB0aGUgY29tcHJlc3Npb24KKyAgICAgIGludGVyZmFjZSBpcyB0cmlnZ2VyZWQgaWYgaXQgaGFzIGJlZW4gdHVybmVkIG9uLjwvcD4KKyAgICA8L2RkPgorPC9kbD48aDM+PGEgbmFtZT0iQ29tcHJlc3NpbyIgaWQ9IkNvbXByZXNzaW8iPkNvbXByZXNzaW9uPC9hPjwvaDM+PHA+VGhlIGxpYnJhcnkgdHJhbnNwYXJlbnRseSBoYW5kbGVzIGNvbXByZXNzaW9uIHdoZW4gZG9pbmcgZmlsZS1iYXNlZAorYWNjZXNzZXMuIFRoZSBsZXZlbCBvZiBjb21wcmVzc2lvbiBvbiBzYXZlcyBjYW4gYmUgdHVybmVkIG9uIGVpdGhlciBnbG9iYWxseQorb3IgaW5kaXZpZHVhbGx5IGZvciBvbmUgZmlsZTo8L3A+PGRsPgorICA8ZHQ+PGNvZGU+aW50ICB4bWxHZXREb2NDb21wcmVzc01vZGUgKHhtbERvY1B0ciBkb2MpOzwvY29kZT48L2R0PgorICAgIDxkZD48cD5HZXRzIHRoZSBkb2N1bWVudCBjb21wcmVzc2lvbiByYXRpbyAoMC05KS48L3A+CisgICAgPC9kZD4KKzwvZGw+PGRsPgorICA8ZHQ+PGNvZGU+dm9pZCB4bWxTZXREb2NDb21wcmVzc01vZGUgKHhtbERvY1B0ciBkb2MsIGludCBtb2RlKTs8L2NvZGU+PC9kdD4KKyAgICA8ZGQ+PHA+U2V0cyB0aGUgZG9jdW1lbnQgY29tcHJlc3Npb24gcmF0aW8uPC9wPgorICAgIDwvZGQ+Cis8L2RsPjxkbD4KKyAgPGR0Pjxjb2RlPmludCAgeG1sR2V0Q29tcHJlc3NNb2RlKHZvaWQpOzwvY29kZT48L2R0PgorICAgIDxkZD48cD5HZXRzIHRoZSBkZWZhdWx0IGNvbXByZXNzaW9uIHJhdGlvLjwvcD4KKyAgICA8L2RkPgorPC9kbD48ZGw+CisgIDxkdD48Y29kZT52b2lkIHhtbFNldENvbXByZXNzTW9kZShpbnQgbW9kZSk7PC9jb2RlPjwvZHQ+CisgICAgPGRkPjxwPlNldHMgdGhlIGRlZmF1bHQgY29tcHJlc3Npb24gcmF0aW8uPC9wPgorICAgIDwvZGQ+Cis8L2RsPjxwPjxhIGhyZWY9ImJ1Z3MuaHRtbCI+RGFuaWVsIFZlaWxsYXJkPC9hPjwvcD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvbGlieG1sLWRvYy5lbCBiL2xpYnhtbDIvZG9jL2xpYnhtbC1kb2MuZWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDNkOTY4OAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL2xpYnhtbC1kb2MuZWwKQEAgLTAsMCArMSwyMjIgQEAKKzs7OyBsaWJ4bWwtZG9jLmVsIC0gbG9vayB1cCBsaWJ4bWwtc3ltYm9scyBhbmQgc3RhcnQgYnJvd3NlciBvbiBkb2N1bWVudGF0aW9uCisKKzs7IEF1dGhvcjogRmVsaXggTmF0dGVyIDxmbmF0dGVyQGdteC5uZXQ+LCBHZWVydCBLbG9vc3Rlcm1hbiA8Z2VlcnRrQGFpLnJ1Zy5ubD4KKzs7IENyZWF0ZWQ6IEp1biAyMSAyMDAwCis7OyBLZXl3b3JkczogbGlieG1sIGRvY3VtZW50YXRpb24KKworOzsgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorOzsgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKzs7IGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyCis7OyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKzs7IAorOzsgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCis7OyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorOzsgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorOzsgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKzs7IAorOzsgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKzs7IGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCis7OyBGb3VuZGF0aW9uLCBJbmMuLCA2NzUgTWFzcyBBdmUsIENhbWJyaWRnZSwgTUEgMDIxMzksIFVTQS4KKworIDs7OyBDb21tZW50YXJ5IC8gUkVBRE1FCisKKzs7IHRoZXNlIGZ1bmN0aW9ucyBhbGxvdyB5b3UgdG8gYnJvd3NlIHRoZSBsaWJ4bWwgZG9jdW1lbnRhdGlvbgorOzsgKHVzaW5nIGx5bnggd2l0aGluIGVtYWNzIGJ5IGRlZmF1bHQpCis7OworOzsgLS0tLS0gSW5zdGFsbGluZworOzsgMS4gYWRkIHRoZSBmb2xsb3dpbmcgdG8gfi8uZW1hY3MgKGFkYXB0IHBhdGggYW5kIHJlbW92ZSBjb21tZW50cyAhKQorOzsgKGF1dG9sb2FkICdsaWJ4bWxkb2MtbG9va3VwLXN5bWJvbCAifi9lbGlzcC9saWJ4bWwtZG9jIiAKKzs7ICAiTG9vayB1cCBsaWJ4bWwtc3ltYm9scyBhbmQgc3RhcnQgYnJvd3NlciBvbiBkb2N1bWVudGF0aW9uLiIgdCkKKzs7IG9yIHB1dCB0aGlzIGZpbGUgaW4gbG9hZC1wYXRoIGFuZCB1c2UgdGhpczoKKzs7IChhdXRvbG9hZCAnbGlieG1sZG9jLWxvb2t1cC1zeW1ib2wgImxpYnhtbC1kb2MiCis7OyAgIkxvb2sgdXAgbGlieG1sLXN5bWJvbHMgYW5kIHN0YXJ0IGJyb3dzZXIgb24gZG9jdW1lbnRhdGlvbi4iIHQpCis7OworOzsgMi4gYWRhcHQgbGlieG1sZG9jLXJvb3Q6Cis7OyBpLmUuIChzZXRxIGxpYnhtbGRvYy1yb290ICJ+L2xpYnhtbDItMi4wLjAvZG9jL2h0bWwiKQorOzsKKzs7IDMuIGNoYW5nZSB0aGUgZmlsdGVyLXJlZ2V4OiBieSBkZWZhdWx0LCBjcHAtZGVmaW5lcywgY2FsbGJhY2tzIGFuZAorOzsgaHRtbC1mdW5jdGlvbnMgYXJlIGV4Y2x1ZGVkIChDLWggdiBsaWJ4bWxkb2MtZmlsdGVyLXJlZ2V4cCkKKzs7Cis7OyA0LiBjb25zaWRlciBjdXN0b21pemluZyBsaWJ4bWxkb2MtYnJvd3NlLXVybCAobHlueCBieSBkZWZhdWx0KTsKKzs7IGNhbm5vdCB1c2UgRW1hY3MvVzMgNC4wcHJlNDYgYmVjYXVzZSBpdCBoYXMgcHJvYmxlbXMgd2l0aCB0aGUgaHRtbAorOzsKKzs7IC0tLS0tIFVzaW5nCis7OyBjYWxsIE0teCBsaWJ4bWxkb2MtbG9va3VwLXN5bWJvbDogdGhpcyB3aWxsIHByb21wdCB3aXRoIGNvbXBsZXRpb24gYW5kCis7OyB0aGVuIG9wZW4gdGhlIGJyb3dzZXIgc2hvd2luZyB0aGUgZG9jdW1lbnRhdGlvbi4gSWYgdGhlIHdvcmQgYXJvdW5kIHRoZQorOzsgcG9pbnQgbWF0Y2hlcyBhIHN5bWJvbCwgdGhhdCBpcyB1c2VkIGluc3RlYWQuICBZb3UgY2FuIGFsc28gY2FsbAorOzsgbGlieG1sZG9jLWxvb2t1cC1zeW1ib2wgbm9uaW50ZXJhY3RpdmVseSBhbmQgcGFzcyB0aGUgc3ltYm9sLgorCis7OyBOb3RlOgorOzsgYW4gYWx0ZXJuYXRpdmUgdG8gbGlieG1sLWRvYyBpcyBlbWFjcyB0YWdzOgorOzsgJCBjZCBsaWJ4bWwyLTIuMy44Cis7OyAkIG1ha2UgVEFHUworOzsgJCBlbWFjcworOzsgTS0uIChNLXggZmluZC10YWcpIC4uLiAgb3IKKzs7IE0teCB0YWdzLXNlYXJjaCAuLi4gUkVUIE0tLCBNLSwgLi4uCis7OyAoZm9yIG1vcmUgaW5mb3JtYXRpb246IGluZm8gZW1hY3MgUkVUIG0gVGFncyBSRVQpCisKKworIDs7OyBDaGFuZ2VMb2c6Cis7OyBXZWQgSnVuIDIxIDAxOjA3OjEyIDIwMDA6IGluaXRpYWwgcmVsZWFzZQorOzsgV2VkIEp1biAyMSAwMTo0NToyOSAyMDAwOiBhZGRlZCBsaWJ4bWxkb2MtbG9va3VwLXN5bWJvbC1hdC1wb2ludAorOzsgV2VkIEp1biAyMSAyMzozNzo1OCAyMDAwOiBsaWJ4bWxkb2MtbG9va3VwLXN5bWJvbCBub3cgdXNlcworOzsgKHRoaW5nLWF0LXBvaW50ICd3b3JkKSBpZiBpdCBtYXRjaGVzIGEgc3ltYm9sCis7OyBUaHUgSnVuIDIyIDAyOjM3OjQ2IDIwMDA6IGZpbHRlcmluZyBpcyBvbmx5IGRvbmUgZm9yIGNvbXBsZXRpb24KKzs7IFRodSBKdW4gMjIgMjE6MDM6NDEgMjAwMDogbGlieG1sZG9jLWJyb3dzZS11cmwgY2FuIGJlIGN1c3RvbWl6ZWQKKzs7IFRodSBNYXkgMzEgMjAwMSAoR2VlcnQpOiAKKzs7ICAgICAgIC0gQ2hhbmdlZCB0aGUgYGdub21lLXhtbC0nIGh0bWwgZmlsZSBwcmVmaXggaW50byBgbGlieG1sLScuCis7OyAgICAgICAtIENoYW5nZWQgdGhlICd3b3JkIG1hdGNoIGZyb20gdGhpbmctYXQtcG9pbnQgaW50byAnc3ltYm9sLgorOzsgICAgICAgICBXaXRoICd3b3JkLCBpZGVudGlmaWVycyB3aXRoIGFuIHVuZGVyc2NvcmUgKGUuZy4gQkFEX0NBU1QpCis7OyAgICAgICAgIGRvbid0IGdldCBtYXRjaGVkLgorOzsgRnJpIEp1biAgOCAxNjoyOToxOCAyMDAxLCBTYXQgSnVuIDIzIDE2OjE5OjQ3IDIwMDE6Cis7OyBjb21wbGV0ZSByZXdyaXRlIG9mIGxpYnhtbGRvYy1sb29rdXAtc3ltYm9sCis7OyBieSBGZWxpeCBOYXR0ZXIgPGZuYXR0ZXJAZ214Lm5ldD4sIEdlZXJ0IEtsb29zdGVybWFuIDxnZWVydGtAYWkucnVnLm5sPjoKKzs7ICAgICAgIC0gTm93IGtlZXBzIHRoZSBsaXN0IG9mIHN5bWJvbHMgYmV0d2VlbiBjYWxscyB0byBzcGVlZCB0aGluZ3MgdXAuCis7OyAgICAgICAtIGZpbHRlcmluZyBpcyBvbmx5IHVzZWQgd2hlbiBubyBzeW1ib2wgaXMgcGFzc2VkIGFuZAorOzsgICAgICAgdGhpbmctYXQtcG9pbnQgZG9lcyBub3QgbWF0Y2ggYSBzeW1ib2wgYW5kICIqIiArIHRoaW5nLWF0LXBvaW50Cis7OyAgICAgICBkb2VzIG5vdCBtYXRjaCBhIHN5bWJvbCAodGhpcyBpcyB1c2VkIHRvIGNhdGNoIGNhbGxiYWNrcykgYW5kCis7OyAgICAgICBsaWJ4bWxkb2MtZmlsdGVyLXJlZ2V4cCBpcyBub24tbmlsLgorOzsgU2F0IEp1biAyMyAxNjoyMDozNCAyMDAxOiB1cGRhdGUgdGhlIGRvY3N0cmluZ3MKKzs7IFNhdCBKdW4gMjMgMTY6MjI6NTQgMjAwMSAoR2VlcnQgS2xvb3N0ZXJtYW4gPGdlZXJ0a0BhaS5ydWcubmw+KToKKzs7IHVwZGF0ZSBSRUFETUU6IHVzZSBhdXRvbG9hZCBpbnN0ZWFkIG9mIGxvYWQrYy1tb2RlLWhvb2sKKzs7IFNhdCBKdWwgNyAxOTowMDozMSAyMDAxOiBmaXhlZCBhIHByb2JsZW0gd2l0aCBYRW1hY3M6IHRoZQorOzsgc3RyaW5nLW1hdGNoIG9mIFhFbWFjcyB3aGVuIHVzZWQgaW4gY29tcGxldGluZy1yZWFkIHVzZWQgdGhlCis7OyBtaW5pYnVmZmVyJ3MgdmFsdWUgb2YgY2FzZS1mb2xkLXNlYXJjaCwgYW5kIG5vdCB0aGUgb25lIGluIHRoZQorOzsgYy1tb2RlIGJ1ZmZlciB0aGF0IHdlIGhhZCBzZXQgPT4gc28gdGhlcmUncyBhIG5ldyAqLXN0cmluZy1tYXRjaC1jcworOzsgKGNhc2Ugc2Vuc2l0aXZlKSBmdW5jdGlvbiB3aGljaCBiaW5kcyBjYXNlLWZvbGQtc2VhcmNoIGFuZCBydW5zIHN0cmluZy1tYXRjaAorOzsgV2VkIFNlcCAxIDIwOjI2OjI5IDIwMDQ6IGFkYXB0ZWQgZm9yIGxpYnhtbDItMi42Ljk6IGhhbmRsZQorOzsgZG9jdW1lbnQtcmVsYXRpdmUgKCNYWFgpIGxpbmtzCisKKzs7OyBUT0RPOgorOzsgLSB1c2UgY29tbWFuZC1leGVjdXRlIGZvciBsaWJ4bWxkb2MtYnJvd3NlLXVybAorOzsgLSBrZWVwIChtYXRjaC1zdHJpbmcgMSkgaW4gYSB2YXJpYWJsZSAobGlieG1sZG9jLWdldC1saXN0LW9mLXN5bWJvbHMpCis7OyAgIChvbmx5IGlmIGl0IGltcHJvdmVzIHBlcmZvcm1hbmNlKQorOzsgLSBjaGVjayB0aGUgKHJlcXVpcmUgLi4pLXN0YXRlbWVudHMKKworIDs7OyBDb2RlOgorCisocmVxdWlyZSAnYnJvd3NlLXVybCkKKyhyZXF1aXJlICd0ZXJtKQorCisoZGVmdmFyIGxpYnhtbGRvYy1yb290ICJ+L3NyYy9saWJ4bWwyLTIuMy44L2RvYy9odG1sIgorICAiVGhlIHJvb3QtZGlyZWN0b3J5IG9mIHRoZSBsaWJ4bWwyLWRvY3VtZW50YXRpb24gKH4gd2lsbCBiZSBleHBhbmRlZCkuIikKKyhkZWZ2YXIgbGlieG1sZG9jLWZpbHRlci1yZWdleHAgIl5odG1sXFx8XlxcKlxcfF5bQS1aX10rIgorICAiU3ltYm9scyB0aGF0IG1hdGNoIHRoaXMgcmVndWxhciBleHByZXNzaW9uIHdpbGwgYmUgZXhjbHVkZWQgd2hlbiBkb2luZworY29tcGxldGlvbiBhbmQgbm8gc3ltYm9sIGlzIHNwZWNpZmllZC4KKyBGb3IgZXhhbXBsZToKKyAgIGNhbGxiYWNrczogICAgIFwiXlxcXFwqXCIgCisgICBjcHAtZGVmaW5lczogICBcIltBLVpfXStcIgorICAgeG1sLWZ1bmN0aW9ucyAgXCJeeG1sXCIKKyAgIGh0bWwtZnVuY3Rpb25zIFwiXmh0bWxcIgorICAgc2F4LWZ1bmN0aW9ucyAgXCIuKlNBWFwiCitCeSBkZWZhdWx0LCBjYWxsYmFja3MsIGNwcC1kZWZpbmVzIGFuZCBodG1sKiBhcmUgZXhjbHVkZWQuCitTZXQgdGhpcyB0byBuaWwgaWYgeW91IGRvbid0IHdhbnQgZmlsdGVyaW5nLiIpCisoZGVmdmFyIGxpYnhtbGRvYy1icm93c2UtdXJsICdicm93c2UtdXJsLWx5bngtZW1hY3MKKyAgIkJyb3dzZXIgdXNlZCBmb3IgYnJvd3NpbmcgZG9jdW1lbnRhdGlvbi4gRW1hY3MvVzMgNC4wcHJlNDYgY2Fubm90IGhhbmRsZQordGhlIGh0bWwgKGFuZCB3b3VsZCBiZSB0b28gc2xvdyksIHNvIGx5bngtZW1hY3MgaXMgdXNlZCBieSBkZWZhdWx0LiIpCisoZGVmdmFyIGxpYnhtbGRvYy1zeW1ib2wtaGlzdG9yeSBuaWwKKyAgIkhpc3RvcnkgZm9yIGxvb2tpbmcgdXAgbGlieG1sLXN5bWJvbHMuIikKKyhkZWZ2YXIgbGlieG1sZG9jLXN5bWJvbHMgbmlsIAorICAiVGhlIGxpc3Qgb2YgbGlieG1sLXN5bWJvbHMuIikKKworIDs7OzsgcHVibGljIGZ1bmN0aW9ucworCisoZGVmdW4gbGlieG1sZG9jLWxvb2t1cC1zeW1ib2woJm9wdGlvbmFsIHN5bWJvbCkKKyAgIkxvb2sgdXAgeG1sLXN5bWJvbC4iIChpbnRlcmFjdGl2ZSkKKyAgOzsgc2V0dGluZyBjYXNlLWZvbGQtc2VhcmNoIGlzIG5vdyBkb25lIGluIGxpYnhtbGRvYy1zdHJpbmctbWF0Y2gtY3MKKworICA7OyBCdWlsZCB1cCBhIHN5bWJvbCBsaXN0IGlmIG5lY2Vzc2FyeQorICAoaWYgKG51bGwgbGlieG1sZG9jLXN5bWJvbHMpCisgICAgICAoc2V0cSBsaWJ4bWxkb2Mtc3ltYm9scyAobGlieG1sZG9jLWdldC1saXN0LW9mLXN5bWJvbHMpKSkKKyAgICAKKyAgKGNvbmQKKyAgIChzeW1ib2wgOzsgc3ltYm9sIGlzIHNwZWNpZmllZCBhcyBhcmd1bWVudAorICAgIChpZiAobm90IChhc3NvYyBzeW1ib2wgbGlieG1sZG9jLXN5bWJvbHMpKQorICAgICAgICAoc2V0cSBzeW1ib2wgbmlsKSkpCisgICAoKGFzc29jICh0aGluZy1hdC1wb2ludCAnc3ltYm9sKSBsaWJ4bWxkb2Mtc3ltYm9scykKKyAgICAoc2V0cSBzeW1ib2wgKHRoaW5nLWF0LXBvaW50ICdzeW1ib2wpKSkKKyAgIDs7IHRoaXMgaXMgbmVlZGVkIHRvIGNhdGNoIGNhbGxiYWNrcworICAgOzsgbm90ZTogdGhpcyBjb3VsZCBiZSByZXdyaXR0ZW4gdG8gdXNlICh0aGluZy1hdC1wb2ludCAnd29yZCkKKyAgICgoYXNzb2MgKGNvbmNhdCAiKiIgKHRoaW5nLWF0LXBvaW50ICdzeW1ib2wpKSBsaWJ4bWxkb2Mtc3ltYm9scykKKyAgICAoc2V0cSBzeW1ib2wgKGNvbmNhdCAiKiIgKHRoaW5nLWF0LXBvaW50ICdzeW1ib2wpKSkpCisgICApCisKKyAgOzsgb21pdCAiIiB0KSBmcm9tIGNhbGwgdG8gY29tcGxldGluZy1yZWFkIGZvciB0aGUgc2FrZSBvZiB4ZW1hY3MKKyAgKHNldHEgc3ltYm9sIChjb21wbGV0aW5nLXJlYWQgCisgICAgICAgICAgICAgICAgIkxpYnhtbDogIiBsaWJ4bWxkb2Mtc3ltYm9scworICAgICAgICAgICAgICAgIChpZiAob3Igc3ltYm9sIChudWxsIGxpYnhtbGRvYy1maWx0ZXItcmVnZXhwKSkKKyAgICAgICAgICAgICAgICAgICAgbmlsCisgICAgICAgICAgICAgICAgICAnKGxhbWJkYShrZXksdmFsdWUpCisgICAgICAgICAgICAgICAgICAgICAobm90IChsaWJ4bWxkb2Mtc3RyaW5nLW1hdGNoLWNzIGxpYnhtbGRvYy1maWx0ZXItcmVnZXhwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjYXIga2V5LHZhbHVlKSkpKSkKKyAgICAgICAgICAgICAgICB0IHN5bWJvbAorICAgICAgICAgICAgICAgICdsaWJ4bWxkb2Mtc3ltYm9sLWhpc3RvcnkpKQorICAgIAorICAgIAorICA7OyBzdGFydCBicm93c2VyCisgIChhcHBseSBsaWJ4bWxkb2MtYnJvd3NlLXVybCAKKyAgICAgICAgIChsaXN0IChjZHIgKGFzc29jIHN5bWJvbCBsaWJ4bWxkb2Mtc3ltYm9scykpKSkpCisKKzs7IChpZiAob3Igc3ltYm9sCis7OyAgICAgICAgIChudWxsIGxpYnhtbGRvYy1maWx0ZXItcmVnZXhwKSkKKzs7ICAgICBsaWJ4bWxkb2Mtc3ltYm9scworOzsgICAobWFwY2FyCis7OyAgICAnKGxhbWJkYShrZXksdmFsdWUpCis7OyAgICAgICAoaWYgKG51bGwgKHN0cmluZy1tYXRjaCAKKzs7ICAgICAgICAgICAgICAgICAgbGlieG1sZG9jLWZpbHRlci1yZWdleHAKKzs7ICAgICAgICAgICAgICAgICAgKGNhciBrZXksdmFsdWUpKSkKKzs7ICAgICAgICAgICBrZXksdmFsdWUpKQorOzsgICAgbGlieG1sZG9jLXN5bWJvbHMpKQorCisKKzs7OzsgaW50ZXJuYWwKKworKGRlZnVuIGxpYnhtbGRvYy1zdHJpbmctbWF0Y2gtY3MocmVnZXhwIHN0cikKKyAgIlRoaXMgaXMgbmVlZGVkIGJlY2F1c2Ugc3RyaW5nLW1hdGNoIGluIFhFbWFjcyB1c2VzIHRoZSBjdXJyZW50LQorYnVmZmVyJ3MgdmFsdWUgb2YgY2FzZS1mb2xkLXNlYXJjaCAoZGlmZmVyZW50IGZyb20gR05VIEVtYWNzKS4iCisgIChsZXQgKChjYXNlLWZvbGQtc2VhcmNoIG5pbCkpCisgICAgKHN0cmluZy1tYXRjaCByZWdleHAgc3RyKSkpCisKKyhkZWZ1biBsaWJ4bWxkb2MtZ2V0LWxpc3Qtb2Ytc3ltYm9scygpCisgICJHZXQgdGhlIGxpc3Qgb2YgaHRtbC1saW5rcyBpbiB0aGUgbGlieG1sLWRvY3VtZW50YXRpb24uIgorICAobGV0ICgoZmlsZXMKKyAgICAgICAgIChkaXJlY3RvcnktZmlsZXMKKyAgICAgICAgICBsaWJ4bWxkb2Mtcm9vdCB0CisgICAgICAgICAgKGNvbmNhdCAiXiIgKGlmIChmaWxlLWV4aXN0cy1wIChjb25jYXQgbGlieG1sZG9jLXJvb3QKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiL2xpYnhtbC1wYXJzZXIuaHRtbCIpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAibGlieG1sLSIKKyAgICAgICAgICAgICAgICAgICAgICAgICJnbm9tZS14bWwtIikKKyAgICAgICAgICAgICAgICAgICIuKlxcLmh0bWwkIikgdCkpCisgICAgICAgIChzeW1ib2xzICgpKQorICAgICAgICAoY2FzZS1mb2xkLXNlYXJjaCB0KQorICAgICAgICAodXJpKSkKKyAgICAobWVzc2FnZSAiY29sbGVjdGluZyBsaWJ4bWwtc3ltYm9scy4uLiIpCisgICAgKHdoaWxlIChjYXIgZmlsZXMpCisgICAgICAobWVzc2FnZSAicHJvY2Vzc2luZyAlcyIgKGNhciBmaWxlcykpCisgICAgICAod2l0aC10ZW1wLWJ1ZmZlcgorICAgICAgICAoaW5zZXJ0LWZpbGUtY29udGVudHMgKGNhciBmaWxlcykpCisgICAgICAgIChnb3RvLWNoYXIgKHBvaW50LW1pbikpCisgICAgICAgICh3aGlsZSAocmUtc2VhcmNoLWZvcndhcmQKKyAgICAgICAgICAgICAgICAiPGFbXj5dKmhyZWZbIFx0XG5dKj1bIFx0XG5dKlwiXFwoW149Pl0qXFwpXCJbXj5dKj4iIG5pbCB0IG5pbCkKKyAgICAgICAgICA7OyBpcyBpdCBhIHJlbGF0aXZlIGxpbmsgKCNYWFgpPworICAgICAgICAgIChpZiAoY2hhci1lcXVhbCAoZWx0IChtYXRjaC1zdHJpbmcgMSkgMCkgPyMpCisgICAgICAgICAgICAgIChzZXRxIHVyaSAoY29uY2F0ICJmaWxlOi8vIiAoY2FyIGZpbGVzKSAobWF0Y2gtc3RyaW5nIDEpKSkKKyAgICAgICAgICAgIChzZXRxIHVyaSAoY29uY2F0ICJmaWxlOi8vIiAoZXhwYW5kLWZpbGUtbmFtZSBsaWJ4bWxkb2Mtcm9vdCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIvIiAobWF0Y2gtc3RyaW5nIDEpKSkpCisgICAgICAgICAgKGlmIChub3QgKHJlLXNlYXJjaC1mb3J3YXJkICJcXChbXjxdKlxcKTwiIG5pbCB0IG5pbCkpCisgICAgICAgICAgICAgIChlcnJvciAicmVnZXhwIGVycm9yIHdoaWxlIGdldHRpbmcgbGlieG1sLXN5bWJvbHMuLiIpKQorICAgICAgICAgIDs7IHRoaXMgbmVlZHMgYWRkLXRvLWxpc3QgYmVjYXVzZSBpLmUuIHhtbENoYXIgYXBwZWFycyBvZnRlbgorICAgICAgICAgIChpZiAobm90IChzdHJpbmctZXF1YWwgIiIgKG1hdGNoLXN0cmluZyAxKSkpCisgICAgICAgICAgICAgIChhZGQtdG8tbGlzdCAnc3ltYm9scyAoY29ucyAobWF0Y2gtc3RyaW5nIDEpIHVyaSkpKSkKKyAgICAgICAgOzsgIChzZXRxIHN5bWJvbHMgKGNvbnMgKGNvbnMgKG1hdGNoLXN0cmluZyAxKSB1cmkpIHN5bWJvbHMpKSkKKyAgICAgICAgKQorICAgICAgKHNldHEgZmlsZXMgKGNkciBmaWxlcykpKQorICAgIHN5bWJvbHMpKQorCisocHJvdmlkZSAnbGlieG1sZG9jKQorCis7OzsgbGlieG1sLWRvYy5lbCBlbmRzIGhlcmUKKwwKKzs7OyBMb2NhbCBWYXJpYWJsZXM6Cis7OzsgaW5kZW50LXRhYnMtbW9kZTogbmlsCis7OzsgRW5kOgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvbGlieG1sLmZpZyBiL2xpYnhtbDIvZG9jL2xpYnhtbC5maWcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTcyMWRkMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL2xpYnhtbC5maWcKQEAgLTAsMCArMSw3MiBAQAorI0ZJRyAzLjIKK0xhbmRzY2FwZQorQ2VudGVyCitJbmNoZXMKK0xldHRlciAgCisxMDAuMDAKK1NpbmdsZQorLTIKKzEyMDAgMgorMiAzIDAgMSAwIDcgNTAgMCAtMSAwLjAwMCAwIDAgLTEgMCAwIDcKKwkgNDA1MCAyOTI1IDMyMjUgMjkyNSAzMjI1IDM3NTAgMjI1MCAzNzUwIDIyNTAgMjMyNSA0MDUwIDIzMjUKKwkgNDA1MCAyOTI1CisyIDMgMCAxIDAgMTEgNTAgMCAyMCAwLjAwMCAwIDAgNyAwIDAgNworCSAzMzAwIDMwMDAgMzMwMCAzNzUwIDYwNzUgMzc1MCA2MDc1IDQyMDAgODYyNSA0MjAwIDg2MjUgMzAwMAorCSAzMzAwIDMwMDAKKzIgMiAwIDEgMCAxMSA1MCAwIDIwIDAuMDAwIDAgMCA3IDAgMCA1CisJIDk3NSAzODI1IDYwMDAgMzgyNSA2MDAwIDQyMDAgOTc1IDQyMDAgOTc1IDM4MjUKKzIgMiAwIDEgMCAxMSA1MCAwIDIwIDAuMDAwIDAgMCA3IDAgMCA1CisJIDk3NSA0Mjc1IDQxMjUgNDI3NSA0MTI1IDUxMDAgOTc1IDUxMDAgOTc1IDQyNzUKKzIgMiAwIDEgMCAxMSA1MCAwIDIwIDAuMDAwIDAgMCA3IDAgMCA1CisJIDQxMjUgNDI3NSA2MDAwIDQyNzUgNjAwMCA1MTAwIDQxMjUgNTEwMCA0MTI1IDQyNzUKKzIgMiAwIDEgMCAxMSA1MCAwIDIwIDAuMDAwIDAgMCA3IDAgMCA1CisJIDYwMDAgNDI3NSA4MTAwIDQyNzUgODEwMCA1MTAwIDYwMDAgNTEwMCA2MDAwIDQyNzUKKzIgMiAwIDEgMCAxMSA1MCAwIDIwIDAuMDAwIDAgMCA3IDAgMCA1CisJIDE3MjUgNTE3NSA2NDUwIDUxNzUgNjQ1MCA1Nzc1IDE3MjUgNTc3NSAxNzI1IDUxNzUKKzIgMiAwIDEgMCAxMSA1MCAwIDIwIDAuMDAwIDAgMCA3IDAgMCA1CisJIDI2MjUgNTg1MCA2NDUwIDU4NTAgNjQ1MCA2MzAwIDI2MjUgNjMwMCAyNjI1IDU4NTAKKzIgMiAwIDEgMCAxMSA1MCAwIDIwIDAuMDAwIDAgMCA3IDAgMCA1CisJIDY1MjUgNTE3NSA4MTAwIDUxNzUgODEwMCA1OTI1IDY1MjUgNTkyNSA2NTI1IDUxNzUKKzIgMiAwIDEgMCAxMSA1MCAwIDIwIDAuMDAwIDAgMCA3IDAgMCA1CisJIDQyNzUgMjMyNSA3MDUwIDIzMjUgNzA1MCAyOTI1IDQyNzUgMjkyNSA0Mjc1IDIzMjUKKzIgMiAwIDEgMCAxNiA1MCAwIC0xIDAuMDAwIDAgMCAtMSAwIDAgNQorCSA2NTI1IDExMjUgNzY1MCAxMTI1IDc2NTAgMTU3NSA2NTI1IDE1NzUgNjUyNSAxMTI1CisyIDIgMCAxIDAgMTEgNTAgMCAzMyAwLjAwMCAwIDAgNyAwIDAgNQorCSA4ODM1IDM5NzUgMTAzMzUgMzk3NSAxMDMzNSA0NDI1IDg4MzUgNDQyNSA4ODM1IDM5NzUKKzIgMSAwIDIgMCAxNiA1MCAwIDIwIDAuMDAwIDAgMCAtMSAxIDAgMgorCTEgMSAyLjAwIDEyMC4wMCAyNDAuMDAKKwkgODg4MCA0MjQ1IDM2MzAgNDI0NQorMiAyIDAgMSAwIDE2IDUwIDAgLTEgMC4wMDAgMCAwIC0xIDAgMCA1CisJIDc1NzUgMjM0MCA4ODgwIDIzNDAgODg4MCAyOTI1IDc1NzUgMjkyNSA3NTc1IDIzNDAKKzIgMiAwIDEgMCAxMSA1MCAwIDIwIDAuMDAwIDAgMCAtMSAwIDAgNQorCSA0ODYwIDY0MzUgNjI1NSA2NDM1IDYyNTUgNjgyNSA0ODYwIDY4MjUgNDg2MCA2NDM1CisyIDIgMCAxIDAgMTEgNTAgMCAyMCAwLjAwMCAwIDAgLTEgMCAwIDUKKwkgNjYzMCA2MDYwIDgwMjUgNjA2MCA4MDI1IDY0NTAgNjYzMCA2NDUwIDY2MzAgNjA2MAorMiAyIDAgMSAwIDExIDUwIDAgMjAgMC4wMDAgMCAwIC0xIDAgMCA1CisJIDM3NTAgMTY1MCA1MDI1IDE2NTAgNTAyNSAyMTc1IDM3NTAgMjE3NSAzNzUwIDE2NTAKKzIgMiAwIDEgMCAxMSA1MCAwIDIwIDAuMDAwIDAgMCAtMSAwIDAgNQorCSA1NDAwIDExMjUgNjM3NSAxMTI1IDYzNzUgMTU3NSA1NDAwIDE1NzUgNTQwMCAxMTI1CisyIDIgMCAxIDAgMTEgNTAgMCAyMCAwLjAwMCAwIDAgLTEgMCAwIDUKKwkgNTEwMCAxNjUwIDY0NTAgMTY1MCA2NDUwIDIxNzUgNTEwMCAyMTc1IDUxMDAgMTY1MAorMiAzIDAgMSAwIDExIDUwIDAgMjAgMC4wMDAgMCAwIC0xIDAgMCA3CisJIDY1MjUgMjE3NSA2NTI1IDE2NTAgNzUwMCAxNjUwIDc1MDAgMjkyNSA3MjAwIDI5MjUgNzIwMCAyMTc1CisJIDY1MjUgMjE3NQorNCAwIDAgNTAgMCAwIDE4IDAuMDAwMCA0IDI1NSAxMzM1IDE4MDAgNDgwMCBYTUwgcGFyc2VyXDAwMQorNCAwIDAgNTAgMCAwIDE4IDAuMDAwMCA0IDI1NSAxNTMwIDQyNzUgNDgwMCBIVE1MIHBhcnNlclwwMDEKKzQgMCAwIDUwIDAgMCAxOCAwLjAwMDAgNCAxOTUgNTU1IDM2MDAgNDEyNSBTQVhcMDAxCis0IDAgMCA1MCAwIDAgMTggMC4wMDAwIDQgMjU1IDc2NSA2NTI1IDQ4MDAgRXhwb3J0XDAwMQorNCAwIDAgNTAgMCAwIDE4IDAuMDAwMCA0IDE5NSA1MjUgNTcwMCAzNTI1IFRyZWVcMDAxCis0IDAgMCA1MCAwIDAgMTggMC4wMDAwIDQgMTk1IDExNTUgMjU1MCAyNzAwIEd0a0h0bWwyXDAwMQorNCAwIDAgNTAgMCAwIDE4IDAuMDAwMCA0IDE5NSA1NTUgMzc1MCA1NTUwIEkxOE5cMDAxCis0IDAgMCA1MCAwIDAgMTggMC4wMDAwIDQgMjU1IDI3NzUgMzMwMCA2MTUwIEkvTyBsYXllciAoRlRQL0hUVFAvLi4uKVwwMDEKKzQgMCAwIDUwIDAgMCAxOCAwLjAwMDAgNCAxOTUgNDY1IDcwNTAgNTYyNSBVUklcMDAxCis0IDAgMCA1MCAwIDAgMTggMC4wMDAwIDQgMTk1IDY5MCA1MDI1IDI3MDAgWFBhdGhcMDAxCis0IDAgMCA1MCAwIDAgMTggMC4wMDAwIDQgMTk1IDEwMDUgMzkwMCAyMDI1IFhQb2ludGVyXDAwMQorNCAwIDAgNTAgMCAwIDE4IDAuMDAwMCA0IDE5NSA2NDUgNjY3NSAyMDI1IEMxNE5cMDAxCis0IDAgMCA1MCAwIDAgMTggMC4wMDAwIDQgMTk1IDY3NSA1MzI1IDIwMjUgWFNMVFwwMDEKKzQgMCAwIDUwIDAgMCAxOCAwLjAwMDAgNCAxOTUgODQwIDU0NzUgMTQyNSBFWFNMVFwwMDEKKzQgMCAwIDUwIDAgMCAxOCAwLjAwMDAgNCAyNTUgOTMwIDY2MDAgMTQyNSBYTUxTaWdcMDAxCis0IDAgMCA1MCAwIDAgMTggMC4wMDAwIDQgMTk1IDk5MCA5MDE1IDQyNzUgU2NoZW1hc1wwMDEKKzQgMCAwIDUwIDAgMCAxOCAwLjAwMDAgNCAxOTUgOTYwIDc2ODAgMjczMCBHZG9tZTJcMDAxCis0IDAgMCA1MCAwIDAgMTggMC4wMDAwIDQgMTk1IDkxNSA1MTMwIDY3MjAgVGhyZWFkc1wwMDEKKzQgMCAwIDUwIDAgMCAxOCAwLjAwMDAgNCAyNTUgOTQ1IDY4MjUgNjMwMCBDYXRhbG9nc1wwMDEKZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2xpYnhtbC5naWYgYi9saWJ4bWwyL2RvYy9saWJ4bWwuZ2lmCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUyNGFkZjgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9saWJ4bWwuZ2lmCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2xpYnhtbDItYXBpLnhtbCBiL2xpYnhtbDIvZG9jL2xpYnhtbDItYXBpLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mODNkMTRmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvbGlieG1sMi1hcGkueG1sCkBAIC0wLDAgKzEsMTg1MDggQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IklTTy04ODU5LTEiPz4KKzxhcGkgbmFtZT0nbGlieG1sMic+CisgIDxmaWxlcz4KKyAgICA8ZmlsZSBuYW1lPSdET0NCcGFyc2VyJz4KKyAgICAgPHN1bW1hcnk+b2xkIERvY0Jvb2sgU0dNTCBwYXJzZXI8L3N1bW1hcnk+CisgICAgIDxkZXNjcmlwdGlvbj5pbnRlcmZhY2UgZm9yIGEgRG9jQm9vayBTR01MIG5vbi12ZXJpZnlpbmcgcGFyc2VyIFRoaXMgY29kZSBpcyBERVBSRUNBVEVELCBhbmQgc2hvdWxkIG5vdCBiZSB1c2VkIGFueW1vcmUuIDwvZGVzY3JpcHRpb24+CisgICAgIDxhdXRob3I+RGFuaWVsIFZlaWxsYXJkIDwvYXV0aG9yPgorICAgICA8ZGVwcmVjYXRlZC8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nZG9jYlBhcnNlcklucHV0UHRyJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nZG9jYlBhcnNlckN0eHQnIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdkb2NiUGFyc2VyQ3R4dFB0cicgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J2RvY2JQYXJzZXJJbnB1dCcgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J2RvY2JEb2NQdHInIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdkb2NiU0FYSGFuZGxlcicgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J2RvY2JTQVhIYW5kbGVyUHRyJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nZG9jYkZyZWVQYXJzZXJDdHh0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J2RvY2JQYXJzZURvYycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdkb2NiQ3JlYXRlRmlsZVBhcnNlckN0eHQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nZG9jYlNBWFBhcnNlRmlsZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdkb2NiU0FYUGFyc2VEb2MnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nZG9jYkNyZWF0ZVB1c2hQYXJzZXJDdHh0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J2RvY2JFbmNvZGVFbnRpdGllcycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdkb2NiUGFyc2VGaWxlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J2RvY2JQYXJzZURvY3VtZW50JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J2RvY2JQYXJzZUNodW5rJyB0eXBlPSdmdW5jdGlvbicvPgorICAgIDwvZmlsZT4KKyAgICA8ZmlsZSBuYW1lPSdIVE1McGFyc2VyJz4KKyAgICAgPHN1bW1hcnk+aW50ZXJmYWNlIGZvciBhbiBIVE1MIDQuMCBub24tdmVyaWZ5aW5nIHBhcnNlcjwvc3VtbWFyeT4KKyAgICAgPGRlc2NyaXB0aW9uPnRoaXMgbW9kdWxlIGltcGxlbWVudHMgYW4gSFRNTCA0LjAgbm9uLXZlcmlmeWluZyBwYXJzZXIgd2l0aCBBUEkgY29tcGF0aWJsZSB3aXRoIHRoZSBYTUwgcGFyc2VyIG9uZXMuIEl0IHNob3VsZCBiZSBhYmxlIHRvIHBhcnNlICZxdW90O3JlYWwgd29ybGQmcXVvdDsgSFRNTCwgZXZlbiBpZiBzZXZlcmVseSBicm9rZW4gZnJvbSBhIHNwZWNpZmljYXRpb24gcG9pbnQgb2Ygdmlldy4gPC9kZXNjcmlwdGlvbj4KKyAgICAgPGF1dGhvcj5EYW5pZWwgVmVpbGxhcmQgPC9hdXRob3I+CisgICAgIDxleHBvcnRzIHN5bWJvbD0naHRtbERlZmF1bHRTdWJlbGVtZW50JyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J2h0bWxFbGVtZW50QWxsb3dlZEhlcmVEZXNjJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J2h0bWxSZXF1aXJlZEF0dHJzJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J0hUTUxfUkVRVUlSRUQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdIVE1MX0lOVkFMSUQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdIVE1MX1BBUlNFX05PTkVUJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nSFRNTF9OQScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J0hUTUxfUEFSU0VfQ09NUEFDVCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J0hUTUxfVkFMSUQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdIVE1MX1BBUlNFX05PQkxBTktTJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nSFRNTF9QQVJTRV9OT0RFRkRURCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J0hUTUxfUEFSU0VfUkVDT1ZFUicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J0hUTUxfREVQUkVDQVRFRCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J0hUTUxfUEFSU0VfTk9FUlJPUicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J0hUTUxfUEFSU0VfUEVEQU5USUMnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdIVE1MX1BBUlNFX0lHTk9SRV9FTkMnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdIVE1MX1BBUlNFX05PSU1QTElFRCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J0hUTUxfUEFSU0VfTk9XQVJOSU5HJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0naHRtbFBhcnNlck5vZGVJbmZvJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0naHRtbFBhcnNlcklucHV0JyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0naHRtbFBhcnNlckN0eHRQdHInIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdodG1sRW50aXR5RGVzYycgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J2h0bWxEb2NQdHInIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdodG1sU0FYSGFuZGxlclB0cicgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J2h0bWxTdGF0dXMnIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdodG1sTm9kZVB0cicgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J2h0bWxFbGVtRGVzY1B0cicgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J2h0bWxFbGVtRGVzYycgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J2h0bWxTQVhIYW5kbGVyJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0naHRtbFBhcnNlcklucHV0UHRyJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0naHRtbFBhcnNlck9wdGlvbicgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J2h0bWxFbnRpdHlEZXNjUHRyJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0naHRtbFBhcnNlckN0eHQnIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdfaHRtbEVudGl0eURlc2MnIHR5cGU9J3N0cnVjdCcvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J19odG1sRWxlbURlc2MnIHR5cGU9J3N0cnVjdCcvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J2h0bWxJc1NjcmlwdEF0dHJpYnV0ZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdodG1sSGFuZGxlT21pdHRlZEVsZW0nIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0naHRtbFJlYWRGZCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdodG1sUmVhZElPJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J2h0bWxQYXJzZUZpbGUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0naHRtbEN0eHRSZWFkRG9jJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J2h0bWxBdXRvQ2xvc2VUYWcnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0naHRtbFBhcnNlQ2h1bmsnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0naHRtbFRhZ0xvb2t1cCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdodG1sQ3JlYXRlTWVtb3J5UGFyc2VyQ3R4dCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdodG1sQ3R4dFJlc2V0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J2h0bWxFbGVtZW50QWxsb3dlZEhlcmUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0naHRtbEN0eHRSZWFkSU8nIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0naHRtbENyZWF0ZVB1c2hQYXJzZXJDdHh0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J2h0bWxSZWFkTWVtb3J5JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J2h0bWxJc0F1dG9DbG9zZWQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0naHRtbFBhcnNlQ2hhclJlZicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdodG1sUmVhZERvYycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdodG1sRW5jb2RlRW50aXRpZXMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0naHRtbE5vZGVTdGF0dXMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0naHRtbEF0dHJBbGxvd2VkJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J2h0bWxTQVhQYXJzZUZpbGUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0naHRtbFBhcnNlRW50aXR5UmVmJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J2h0bWxFbGVtZW50U3RhdHVzSGVyZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdodG1sRW50aXR5VmFsdWVMb29rdXAnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0naHRtbFBhcnNlRWxlbWVudCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdVVEY4VG9IdG1sJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J2h0bWxFbnRpdHlMb29rdXAnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0naHRtbEZyZWVQYXJzZXJDdHh0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J2h0bWxDdHh0UmVhZE1lbW9yeScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdodG1sQ3R4dFJlYWRGZCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdodG1sUmVhZEZpbGUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0naHRtbEN0eHRSZWFkRmlsZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdodG1sUGFyc2VEb2N1bWVudCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdodG1sTmV3UGFyc2VyQ3R4dCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdodG1sU0FYUGFyc2VEb2MnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0naHRtbEN0eHRVc2VPcHRpb25zJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J2h0bWxQYXJzZURvYycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICA8L2ZpbGU+CisgICAgPGZpbGUgbmFtZT0nSFRNTHRyZWUnPgorICAgICA8c3VtbWFyeT5zcGVjaWZpYyBBUElzIHRvIHByb2Nlc3MgSFRNTCB0cmVlLCBlc3BlY2lhbGx5IHNlcmlhbGl6YXRpb248L3N1bW1hcnk+CisgICAgIDxkZXNjcmlwdGlvbj50aGlzIG1vZHVsZSBpbXBsZW1lbnRzIGEgZmV3IGZ1bmN0aW9uIG5lZWRlZCB0byBwcm9jZXNzIHRyZWUgaW4gYW4gSFRNTCBzcGVjaWZpYyB3YXkuIDwvZGVzY3JpcHRpb24+CisgICAgIDxhdXRob3I+RGFuaWVsIFZlaWxsYXJkIDwvYXV0aG9yPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J0hUTUxfRU5USVRZX1JFRl9OT0RFJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J0hUTUxfQ09NTUVOVF9OT0RFJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J0hUTUxfUFJFU0VSVkVfTk9ERScgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdIVE1MX1RFWFRfTk9ERScgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdIVE1MX1BJX05PREUnIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0naHRtbE5vZGVEdW1wRmlsZUZvcm1hdCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdodG1sRG9jRHVtcE1lbW9yeScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdodG1sU2F2ZUZpbGUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0naHRtbERvY0R1bXAnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0naHRtbERvY0R1bXBNZW1vcnlGb3JtYXQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0naHRtbElzQm9vbGVhbkF0dHInIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0naHRtbFNhdmVGaWxlRm9ybWF0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J2h0bWxOb2RlRHVtcEZvcm1hdE91dHB1dCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdodG1sU2V0TWV0YUVuY29kaW5nJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J2h0bWxTYXZlRmlsZUVuYycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdodG1sTm9kZUR1bXBPdXRwdXQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0naHRtbE5vZGVEdW1wJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J2h0bWxOZXdEb2MnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0naHRtbEdldE1ldGFFbmNvZGluZycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdodG1sTm9kZUR1bXBGaWxlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J2h0bWxEb2NDb250ZW50RHVtcEZvcm1hdE91dHB1dCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdodG1sTmV3RG9jTm9EdEQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0naHRtbERvY0NvbnRlbnREdW1wT3V0cHV0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgIDwvZmlsZT4KKyAgICA8ZmlsZSBuYW1lPSdTQVgnPgorICAgICA8c3VtbWFyeT5PbGQgU0FYIHZlcnNpb24gMSBoYW5kbGVyLCBkZXByZWNhdGVkPC9zdW1tYXJ5PgorICAgICA8ZGVzY3JpcHRpb24+REVQUkVDQVRFRCBzZXQgb2YgU0FYIHZlcnNpb24gMSBpbnRlcmZhY2VzIHVzZWQgdG8gYnVpbGQgdGhlIERPTSB0cmVlLiA8L2Rlc2NyaXB0aW9uPgorICAgICA8YXV0aG9yPkRhbmllbCBWZWlsbGFyZCA8L2F1dGhvcj4KKyAgICAgPGRlcHJlY2F0ZWQvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J2NvbW1lbnQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nY2hlY2tOYW1lc3BhY2UnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nZ2V0Q29sdW1uTnVtYmVyJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J2VudGl0eURlY2wnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nYXR0cmlidXRlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J2dldE5hbWVzcGFjZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdzZXREb2N1bWVudExvY2F0b3InIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0naW5pdHhtbERlZmF1bHRTQVhIYW5kbGVyJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J2lnbm9yYWJsZVdoaXRlc3BhY2UnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0naGFzRXh0ZXJuYWxTdWJzZXQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0ndW5wYXJzZWRFbnRpdHlEZWNsJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J2dsb2JhbE5hbWVzcGFjZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdoYXNJbnRlcm5hbFN1YnNldCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdyZWZlcmVuY2UnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nbm90YXRpb25EZWNsJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J2dldFN5c3RlbUlkJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J2V4dGVybmFsU3Vic2V0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3Jlc29sdmVFbnRpdHknIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nc3RhcnREb2N1bWVudCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdzZXROYW1lc3BhY2UnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nY2RhdGFCbG9jaycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdnZXRQdWJsaWNJZCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdpbml0aHRtbERlZmF1bHRTQVhIYW5kbGVyJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3Byb2Nlc3NpbmdJbnN0cnVjdGlvbicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdlbmRFbGVtZW50JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J25hbWVzcGFjZURlY2wnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0naW5pdGRvY2JEZWZhdWx0U0FYSGFuZGxlcicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdnZXRFbnRpdHknIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nY2hhcmFjdGVycycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdlbGVtZW50RGVjbCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdzdGFydEVsZW1lbnQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nZ2V0UGFyYW1ldGVyRW50aXR5JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J2F0dHJpYnV0ZURlY2wnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0naXNTdGFuZGFsb25lJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J2ludGVybmFsU3Vic2V0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J2VuZERvY3VtZW50JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J2dldExpbmVOdW1iZXInIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgPC9maWxlPgorICAgIDxmaWxlIG5hbWU9J1NBWDInPgorICAgICA8c3VtbWFyeT5TQVgyIHBhcnNlciBpbnRlcmZhY2UgdXNlZCB0byBidWlsZCB0aGUgRE9NIHRyZWU8L3N1bW1hcnk+CisgICAgIDxkZXNjcmlwdGlvbj50aG9zZSBhcmUgdGhlIGRlZmF1bHQgU0FYMiBpbnRlcmZhY2VzIHVzZWQgYnkgdGhlIGxpYnJhcnkgd2hlbiBidWlsZGluZyBET00gdHJlZS4gPC9kZXNjcmlwdGlvbj4KKyAgICAgPGF1dGhvcj5EYW5pZWwgVmVpbGxhcmQgPC9hdXRob3I+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU0FYMkVuZEVsZW1lbnROcycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTQVgyUmVmZXJlbmNlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNBWDJFbGVtZW50RGVjbCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTQVgyQXR0cmlidXRlRGVjbCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTQVgyQ29tbWVudCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTQVgyR2V0Q29sdW1uTnVtYmVyJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNBWDJHZXRFbnRpdHknIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU0FYMlVucGFyc2VkRW50aXR5RGVjbCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTQVgySW5pdERvY2JEZWZhdWx0U0FYSGFuZGxlcicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTQVhWZXJzaW9uJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNBWDJJZ25vcmFibGVXaGl0ZXNwYWNlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNBWDJOb3RhdGlvbkRlY2wnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU0FYMlN0YXJ0RG9jdW1lbnQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU0FYMkVuZEVsZW1lbnQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU0FYMlJlc29sdmVFbnRpdHknIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU0FYMkV4dGVybmFsU3Vic2V0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNBWDJHZXRQdWJsaWNJZCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTQVgySXNTdGFuZGFsb25lJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNBWDJFbmREb2N1bWVudCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTQVgyUHJvY2Vzc2luZ0luc3RydWN0aW9uJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNBWDJJbnRlcm5hbFN1YnNldCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTQVgyQ2hhcmFjdGVycycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTQVhEZWZhdWx0VmVyc2lvbicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTQVgyU3RhcnRFbGVtZW50JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNBWDJTZXREb2N1bWVudExvY2F0b3InIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU0FYMkNEYXRhQmxvY2snIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU0FYMlN0YXJ0RWxlbWVudE5zJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNBWDJIYXNFeHRlcm5hbFN1YnNldCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdodG1sRGVmYXVsdFNBWEhhbmRsZXJJbml0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNBWDJHZXRMaW5lTnVtYmVyJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNBWDJIYXNJbnRlcm5hbFN1YnNldCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTQVgySW5pdEh0bWxEZWZhdWx0U0FYSGFuZGxlcicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdkb2NiRGVmYXVsdFNBWEhhbmRsZXJJbml0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbERlZmF1bHRTQVhIYW5kbGVySW5pdCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTQVgySW5pdERlZmF1bHRTQVhIYW5kbGVyJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNBWDJHZXRQYXJhbWV0ZXJFbnRpdHknIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU0FYMkdldFN5c3RlbUlkJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNBWDJFbnRpdHlEZWNsJyB0eXBlPSdmdW5jdGlvbicvPgorICAgIDwvZmlsZT4KKyAgICA8ZmlsZSBuYW1lPSdjMTRuJz4KKyAgICAgPHN1bW1hcnk+UHJvdmlkZSBDYW5vbmljYWwgWE1MIGFuZCBFeGNsdXNpdmUgWE1MIENhbm9uaWNhbGl6YXRpb248L3N1bW1hcnk+CisgICAgIDxkZXNjcmlwdGlvbj50aGUgYzE0biBtb2R1bGVzIHByb3ZpZGVzIGEgICZxdW90O0Nhbm9uaWNhbCBYTUwmcXVvdDsgaW1wbGVtZW50YXRpb248L2Rlc2NyaXB0aW9uPgorICAgICA8YXV0aG9yPkFsZWtzZXkgU2FuaW4gJmx0O2FsZWtzZXlAYWxla3NleS5jb20mZ3Q7IDwvYXV0aG9yPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9DMTROXzFfMScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9DMTROXzFfMCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9DMTROX0VYQ0xVU0lWRV8xXzAnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxDMTROTW9kZScgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEMxNE5FeGVjdXRlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEMxNE5Eb2NTYXZlVG8nIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sQzE0TklzVmlzaWJsZUNhbGxiYWNrJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEMxNE5Eb2NTYXZlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEMxNE5Eb2NEdW1wTWVtb3J5JyB0eXBlPSdmdW5jdGlvbicvPgorICAgIDwvZmlsZT4KKyAgICA8ZmlsZSBuYW1lPSdjYXRhbG9nJz4KKyAgICAgPHN1bW1hcnk+aW50ZXJmYWNlcyB0byB0aGUgQ2F0YWxvZyBoYW5kbGluZyBzeXN0ZW08L3N1bW1hcnk+CisgICAgIDxkZXNjcmlwdGlvbj50aGUgY2F0YWxvZyBtb2R1bGUgaW1wbGVtZW50cyB0aGUgc3VwcG9ydCBmb3IgWE1MIENhdGFsb2dzIGFuZCBTR01MIGNhdGFsb2dzIDwvZGVzY3JpcHRpb24+CisgICAgIDxhdXRob3I+RGFuaWVsIFZlaWxsYXJkIDwvYXV0aG9yPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9DQVRBTE9HX1BJJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9DQVRBTE9HU19OQU1FU1BBQ0UnIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0NBVEFfQUxMT1dfTk9ORScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9DQVRBX1BSRUZFUl9OT05FJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0NBVEFfQUxMT1dfR0xPQkFMJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0NBVEFfUFJFRkVSX1BVQkxJQycgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9DQVRBX0FMTE9XX0RPQ1VNRU5UJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0NBVEFfQUxMT1dfQUxMJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0NBVEFfUFJFRkVSX1NZU1RFTScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbENhdGFsb2dBbGxvdycgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbENhdGFsb2dQcmVmZXInIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxDYXRhbG9nJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sQ2F0YWxvZ1B0cicgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEZyZWVDYXRhbG9nJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbExvYWRDYXRhbG9ncycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxDYXRhbG9nTG9jYWxSZXNvbHZlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEFDYXRhbG9nQWRkJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEFDYXRhbG9nUmVzb2x2ZVB1YmxpYycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxDYXRhbG9nR2V0RGVmYXVsdHMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sQUNhdGFsb2dSZW1vdmUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sQ2F0YWxvZ1NldERlZmF1bHRQcmVmZXInIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sQUNhdGFsb2dSZXNvbHZlVVJJJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbENhdGFsb2dBZGQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sQ2F0YWxvZ1Jlc29sdmVQdWJsaWMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sQ2F0YWxvZ0dldFN5c3RlbScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxJbml0aWFsaXplQ2F0YWxvZycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxMb2FkQ2F0YWxvZycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxDYXRhbG9nUmVtb3ZlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbENhdGFsb2dJc0VtcHR5JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEFDYXRhbG9nRHVtcCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxDYXRhbG9nRnJlZUxvY2FsJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEFDYXRhbG9nUmVzb2x2ZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxDYXRhbG9nUmVzb2x2ZVN5c3RlbScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxMb2FkU0dNTFN1cGVyQ2F0YWxvZycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxDYXRhbG9nQ29udmVydCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxDYXRhbG9nR2V0UHVibGljJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbExvYWRBQ2F0YWxvZycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxBQ2F0YWxvZ1Jlc29sdmVTeXN0ZW0nIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sQ2F0YWxvZ0xvY2FsUmVzb2x2ZVVSSScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxDb252ZXJ0U0dNTENhdGFsb2cnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sQ2F0YWxvZ0FkZExvY2FsJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbE5ld0NhdGFsb2cnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUGFyc2VDYXRhbG9nRmlsZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxDYXRhbG9nU2V0RGVidWcnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sQ2F0YWxvZ1Jlc29sdmUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sQ2F0YWxvZ1NldERlZmF1bHRzJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbENhdGFsb2dEdW1wJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbENhdGFsb2dDbGVhbnVwJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbENhdGFsb2dSZXNvbHZlVVJJJyB0eXBlPSdmdW5jdGlvbicvPgorICAgIDwvZmlsZT4KKyAgICA8ZmlsZSBuYW1lPSdjaHZhbGlkJz4KKyAgICAgPHN1bW1hcnk+VW5pY29kZSBjaGFyYWN0ZXIgcmFuZ2UgY2hlY2tpbmc8L3N1bW1hcnk+CisgICAgIDxkZXNjcmlwdGlvbj50aGlzIG1vZHVsZSBleHBvcnRzIGludGVyZmFjZXMgZm9yIHRoZSBjaGFyYWN0ZXIgcmFuZ2UgdmFsaWRhdGlvbiBBUElzICBUaGlzIGZpbGUgaXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgY3ZzIHNvdXJjZSBkZWZpbml0aW9uIGZpbGVzIHVzaW5nIHRoZSBnZW5DaFJhbmdlcy5weSBQeXRob24gc2NyaXB0IDwvZGVzY3JpcHRpb24+CisgICAgIDxhdXRob3I+V2lsbGlhbSBCcmFjayAmbHQ7d2JyYWNrQG1tbS5jb20uaGsmZ3Q7IDwvYXV0aG9yPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbElzRXh0ZW5kZXJfY2gnIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sSXNQdWJpZENoYXJRJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbElzUHViaWRDaGFyX2NoJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbElzSWRlb2dyYXBoaWNRJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbElzRXh0ZW5kZXJRJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbElzQ2hhcl9jaCcgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxJc0RpZ2l0UScgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxJc0RpZ2l0X2NoJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbElzQmFzZUNoYXJfY2gnIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sSXNDb21iaW5pbmdRJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbElzQmxhbmtRJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbElzQ2hhclEnIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sSXNCYXNlQ2hhclEnIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sSXNCbGFua19jaCcgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxDaExSYW5nZScgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbENoU1JhbmdlUHRyJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sQ2hMUmFuZ2VQdHInIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxDaFJhbmdlR3JvdXBQdHInIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxDaFNSYW5nZScgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbENoUmFuZ2VHcm91cCcgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J194bWxDaFNSYW5nZScgdHlwZT0nc3RydWN0Jy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nX3htbENoTFJhbmdlJyB0eXBlPSdzdHJ1Y3QnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdfeG1sQ2hSYW5nZUdyb3VwJyB0eXBlPSdzdHJ1Y3QnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxJc0Jhc2VDaGFyR3JvdXAnIHR5cGU9J3ZhcmlhYmxlJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sSXNJZGVvZ3JhcGhpY0dyb3VwJyB0eXBlPSd2YXJpYWJsZScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbElzRGlnaXRHcm91cCcgdHlwZT0ndmFyaWFibGUnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxJc0V4dGVuZGVyR3JvdXAnIHR5cGU9J3ZhcmlhYmxlJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sSXNQdWJpZENoYXJfdGFiJyB0eXBlPSd2YXJpYWJsZScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbElzQ2hhckdyb3VwJyB0eXBlPSd2YXJpYWJsZScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbElzQ29tYmluaW5nR3JvdXAnIHR5cGU9J3ZhcmlhYmxlJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sSXNDaGFyJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbElzRGlnaXQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sSXNCbGFuaycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxJc0lkZW9ncmFwaGljJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbENoYXJJblJhbmdlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbElzUHViaWRDaGFyJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbElzQ29tYmluaW5nJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbElzQmFzZUNoYXInIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sSXNFeHRlbmRlcicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICA8L2ZpbGU+CisgICAgPGZpbGUgbmFtZT0nZGVidWdYTUwnPgorICAgICA8c3VtbWFyeT5UcmVlIGRlYnVnZ2luZyBBUElzPC9zdW1tYXJ5PgorICAgICA8ZGVzY3JpcHRpb24+SW50ZXJmYWNlcyB0byBhIHNldCBvZiByb3V0aW5lcyB1c2VkIGZvciBkZWJ1Z2dpbmcgdGhlIHRyZWUgcHJvZHVjZWQgYnkgdGhlIFhNTCBwYXJzZXIuIDwvZGVzY3JpcHRpb24+CisgICAgIDxhdXRob3I+RGFuaWVsIFZlaWxsYXJkIDwvYXV0aG9yPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNoZWxsQ3R4dCcgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNoZWxsQ3R4dFB0cicgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J194bWxTaGVsbEN0eHQnIHR5cGU9J3N0cnVjdCcvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbERlYnVnRHVtcEF0dHJMaXN0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbExzT25lTm9kZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTaGVsbFJlYWRsaW5lRnVuYycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTaGVsbFNhdmUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sQm9vbFRvVGV4dCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTaGVsbFdyaXRlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNoZWxsRHUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2hlbGxWYWxpZGF0ZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxEZWJ1Z0NoZWNrRG9jdW1lbnQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2hlbGxQcmludFhQYXRoUmVzdWx0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNoZWxsQ21kJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNoZWxsTG9hZCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxEZWJ1Z0R1bXBTdHJpbmcnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2hlbGxCYXNlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNoZWxsQ2F0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbERlYnVnRHVtcERURCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxEZWJ1Z0R1bXBOb2RlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbERlYnVnRHVtcEVudGl0aWVzJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNoZWxsUHJpbnROb2RlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNoZWxsUHdkJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbERlYnVnRHVtcE5vZGVMaXN0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbERlYnVnRHVtcEF0dHInIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sRGVidWdEdW1wRG9jdW1lbnQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTHNDb3VudE5vZGUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2hlbGxQcmludFhQYXRoRXJyb3InIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2hlbGxEaXInIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sRGVidWdEdW1wT25lTm9kZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTaGVsbExpc3QnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sRGVidWdEdW1wRG9jdW1lbnRIZWFkJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNoZWxsJyB0eXBlPSdmdW5jdGlvbicvPgorICAgIDwvZmlsZT4KKyAgICA8ZmlsZSBuYW1lPSdkaWN0Jz4KKyAgICAgPHN1bW1hcnk+c3RyaW5nIGRpY3Rpb25uYXJ5PC9zdW1tYXJ5PgorICAgICA8ZGVzY3JpcHRpb24+ZGljdGlvbmFyeSBvZiByZXVzYWJsZSBzdHJpbmdzLCBqdXN0IHVzZWQgdG8gYXZvaWQgYWxsb2NhdGlvbiBhbmQgZnJlZWluZyBvcGVyYXRpb25zLiA8L2Rlc2NyaXB0aW9uPgorICAgICA8YXV0aG9yPkRhbmllbCBWZWlsbGFyZCA8L2F1dGhvcj4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxEaWN0JyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sRGljdFB0cicgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbERpY3RHZXRVc2FnZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxEaWN0UmVmZXJlbmNlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbERpY3RDbGVhbnVwJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbERpY3RTaXplJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbERpY3RFeGlzdHMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sRGljdFNldExpbWl0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbERpY3RPd25zJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbERpY3RRTG9va3VwJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEluaXRpYWxpemVEaWN0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbERpY3RDcmVhdGVTdWInIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sRGljdEZyZWUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sRGljdExvb2t1cCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxEaWN0Q3JlYXRlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgIDwvZmlsZT4KKyAgICA8ZmlsZSBuYW1lPSdlbmNvZGluZyc+CisgICAgIDxzdW1tYXJ5PmludGVyZmFjZSBmb3IgdGhlIGVuY29kaW5nIGNvbnZlcnNpb24gZnVuY3Rpb25zPC9zdW1tYXJ5PgorICAgICA8ZGVzY3JpcHRpb24+aW50ZXJmYWNlIGZvciB0aGUgZW5jb2RpbmcgY29udmVyc2lvbiBmdW5jdGlvbnMgbmVlZGVkIGZvciBYTUwgYmFzaWMgZW5jb2RpbmcgYW5kIGljb252KCkgc3VwcG9ydC4gIFJlbGF0ZWQgc3BlY3MgYXJlIHJmYzIwNDQgICAgICAgIChVVEYtOCBhbmQgVVRGLTE2KSBGLiBZZXJnZWF1IEFsaXMgVGVjaG5vbG9naWVzIFtJU08tMTA2NDZdICAgIFVURi04IGFuZCBVVEYtMTYgaW4gQW5uZXhlcyBbSVNPLTg4NTktMV0gICBJU08gTGF0aW4tMSBjaGFyYWN0ZXJzIGNvZGVzLiBbVU5JQ09ERV0gICAgICBUaGUgVW5pY29kZSBDb25zb3J0aXVtLCAmcXVvdDtUaGUgVW5pY29kZSBTdGFuZGFyZCAtLSBXb3JsZHdpZGUgQ2hhcmFjdGVyIEVuY29kaW5nIC0tIFZlcnNpb24gMS4wJnF1b3Q7LCBBZGRpc29uLSBXZXNsZXksIFZvbHVtZSAxLCAxOTkxLCBWb2x1bWUgMiwgMTk5Mi4gIFVURi04IGlzIGRlc2NyaWJlZCBpbiBVbmljb2RlIFRlY2huaWNhbCBSZXBvcnQgIzQuIFtVUy1BU0NJSV0gICAgIENvZGVkIENoYXJhY3RlciBTZXQtLTctYml0IEFtZXJpY2FuIFN0YW5kYXJkIENvZGUgZm9yIEluZm9ybWF0aW9uIEludGVyY2hhbmdlLCBBTlNJIFgzLjQtMTk4Ni4gPC9kZXNjcmlwdGlvbj4KKyAgICAgPGF1dGhvcj5EYW5pZWwgVmVpbGxhcmQgPC9hdXRob3I+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0NIQVJfRU5DT0RJTkdfVUNTNExFJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0NIQVJfRU5DT0RJTkdfRVJST1InIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfQ0hBUl9FTkNPRElOR184ODU5XzUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfQ0hBUl9FTkNPRElOR19FQkNESUMnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfQ0hBUl9FTkNPRElOR19BU0NJSScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9DSEFSX0VOQ09ESU5HX1VDUzRfMjE0MycgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9DSEFSX0VOQ09ESU5HX05PTkUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfQ0hBUl9FTkNPRElOR19VVEYxNkJFJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0NIQVJfRU5DT0RJTkdfMjAyMl9KUCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9DSEFSX0VOQ09ESU5HX1NISUZUX0pJUycgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9DSEFSX0VOQ09ESU5HX1VDUzRCRScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9DSEFSX0VOQ09ESU5HX1VURjE2TEUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfQ0hBUl9FTkNPRElOR19VQ1M0XzM0MTInIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfQ0hBUl9FTkNPRElOR184ODU5XzgnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfQ0hBUl9FTkNPRElOR184ODU5XzknIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfQ0hBUl9FTkNPRElOR184ODU5XzYnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfQ0hBUl9FTkNPRElOR184ODU5XzcnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfQ0hBUl9FTkNPRElOR184ODU5XzQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfQ0hBUl9FTkNPRElOR19FVUNfSlAnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfQ0hBUl9FTkNPRElOR184ODU5XzInIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfQ0hBUl9FTkNPRElOR184ODU5XzMnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfQ0hBUl9FTkNPRElOR184ODU5XzEnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfQ0hBUl9FTkNPRElOR19VVEY4JyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0NIQVJfRU5DT0RJTkdfVUNTMicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3Vjb252X3QnIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxDaGFyRW5jb2RpbmcnIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxDaGFyRW5jb2RpbmdIYW5kbGVyJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sQ2hhckVuY29kaW5nSGFuZGxlclB0cicgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J194bWxDaGFyRW5jb2RpbmdIYW5kbGVyJyB0eXBlPSdzdHJ1Y3QnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdfdWNvbnZfdCcgdHlwZT0nc3RydWN0Jy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sRGVsRW5jb2RpbmdBbGlhcycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxHZXRFbmNvZGluZ0FsaWFzJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFJlZ2lzdGVyQ2hhckVuY29kaW5nSGFuZGxlcicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdVVEY4VG9pc29sYXQxJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEluaXRDaGFyRW5jb2RpbmdIYW5kbGVycycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxBZGRFbmNvZGluZ0FsaWFzJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbENsZWFudXBFbmNvZGluZ0FsaWFzZXMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sQ2hhckVuY091dEZ1bmMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUGFyc2VDaGFyRW5jb2RpbmcnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sQ2hhckVuY29kaW5nSW5wdXRGdW5jJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbENsZWFudXBDaGFyRW5jb2RpbmdIYW5kbGVycycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxOZXdDaGFyRW5jb2RpbmdIYW5kbGVyJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbENoYXJFbmNvZGluZ091dHB1dEZ1bmMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0naXNvbGF0MVRvVVRGOCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxGaW5kQ2hhckVuY29kaW5nSGFuZGxlcicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxDaGFyRW5jSW5GdW5jJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEdldENoYXJFbmNvZGluZ0hhbmRsZXInIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sQ2hhckVuY0ZpcnN0TGluZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxEZXRlY3RDaGFyRW5jb2RpbmcnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sQ2hhckVuY0Nsb3NlRnVuYycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxHZXRDaGFyRW5jb2RpbmdOYW1lJyB0eXBlPSdmdW5jdGlvbicvPgorICAgIDwvZmlsZT4KKyAgICA8ZmlsZSBuYW1lPSdlbnRpdGllcyc+CisgICAgIDxzdW1tYXJ5PmludGVyZmFjZSBmb3IgdGhlIFhNTCBlbnRpdGllcyBoYW5kbGluZzwvc3VtbWFyeT4KKyAgICAgPGRlc2NyaXB0aW9uPnRoaXMgbW9kdWxlIHByb3ZpZGVzIHNvbWUgb2YgdGhlIGVudGl0eSBBUEkgbmVlZGVkIGZvciB0aGUgcGFyc2VyIGFuZCBhcHBsaWNhdGlvbnMuIDwvZGVzY3JpcHRpb24+CisgICAgIDxhdXRob3I+RGFuaWVsIFZlaWxsYXJkIDwvYXV0aG9yPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9FWFRFUk5BTF9HRU5FUkFMX1BBUlNFRF9FTlRJVFknIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRVhURVJOQUxfR0VORVJBTF9VTlBBUlNFRF9FTlRJVFknIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfSU5URVJOQUxfUFJFREVGSU5FRF9FTlRJVFknIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRVhURVJOQUxfUEFSQU1FVEVSX0VOVElUWScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9JTlRFUk5BTF9QQVJBTUVURVJfRU5USVRZJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0lOVEVSTkFMX0dFTkVSQUxfRU5USVRZJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sRW50aXR5VHlwZScgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEVudGl0aWVzVGFibGUnIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxFbnRpdGllc1RhYmxlUHRyJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nX3htbEVudGl0eScgdHlwZT0nc3RydWN0Jy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sQWRkRG9jRW50aXR5JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbE5ld0VudGl0eScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxFbmNvZGVFbnRpdGllc1JlZW50cmFudCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxHZXREb2NFbnRpdHknIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sR2V0RHRkRW50aXR5JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEFkZER0ZEVudGl0eScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxDb3B5RW50aXRpZXNUYWJsZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxGcmVlRW50aXRpZXNUYWJsZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxHZXRQYXJhbWV0ZXJFbnRpdHknIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sRHVtcEVudGl0aWVzVGFibGUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sRHVtcEVudGl0eURlY2wnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sQ2xlYW51cFByZWRlZmluZWRFbnRpdGllcycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxDcmVhdGVFbnRpdGllc1RhYmxlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEVuY29kZUVudGl0aWVzJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEVuY29kZVNwZWNpYWxDaGFycycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxHZXRQcmVkZWZpbmVkRW50aXR5JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEluaXRpYWxpemVQcmVkZWZpbmVkRW50aXRpZXMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgPC9maWxlPgorICAgIDxmaWxlIG5hbWU9J2dsb2JhbHMnPgorICAgICA8c3VtbWFyeT5pbnRlcmZhY2UgZm9yIGFsbCBnbG9iYWwgdmFyaWFibGVzIG9mIHRoZSBsaWJyYXJ5PC9zdW1tYXJ5PgorICAgICA8ZGVzY3JpcHRpb24+YWxsIHRoZSBnbG9iYWwgdmFyaWFibGVzIGFuZCB0aHJlYWQgaGFuZGxpbmcgZm9yIHRob3NlIHZhcmlhYmxlcyBpcyBoYW5kbGVkIGJ5IHRoaXMgbW9kdWxlLiAgVGhlIGJvdHRvbSBvZiB0aGlzIGZpbGUgaXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgYnVpbGRfZ2xvYi5weSBiYXNlZCBvbiB0aGUgZGVzY3JpcHRpb24gZmlsZSBnbG9iYWwuZGF0YSA8L2Rlc2NyaXB0aW9uPgorICAgICA8YXV0aG9yPkdhcnkgUGVubmluZ3RvbiAmbHQ7R2FyeS5QZW5uaW5ndG9uQHVrLnN1bi5jb20mZ3Q7LCBEYW5pZWwgVmVpbGxhcmQgPC9hdXRob3I+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sR2xvYmFsU3RhdGVQdHInIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxHbG9iYWxTdGF0ZScgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J194bWxHbG9iYWxTdGF0ZScgdHlwZT0nc3RydWN0Jy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVHJlZUluZGVudFN0cmluZycgdHlwZT0ndmFyaWFibGUnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxJbmRlbnRUcmVlT3V0cHV0JyB0eXBlPSd2YXJpYWJsZScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbERlZmF1bHRCdWZmZXJTaXplJyB0eXBlPSd2YXJpYWJsZScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFJlZ2lzdGVyTm9kZURlZmF1bHRWYWx1ZScgdHlwZT0ndmFyaWFibGUnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxHZXRXYXJuaW5nc0RlZmF1bHRWYWx1ZScgdHlwZT0ndmFyaWFibGUnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdkb2NiRGVmYXVsdFNBWEhhbmRsZXInIHR5cGU9J3ZhcmlhYmxlJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sR2VuZXJpY0Vycm9yQ29udGV4dCcgdHlwZT0ndmFyaWFibGUnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxEZXJlZ2lzdGVyTm9kZURlZmF1bHRWYWx1ZScgdHlwZT0ndmFyaWFibGUnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxHZW5lcmljRXJyb3InIHR5cGU9J3ZhcmlhYmxlJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTWFsbG9jJyB0eXBlPSd2YXJpYWJsZScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFBhcnNlclZlcnNpb24nIHR5cGU9J3ZhcmlhYmxlJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU3RydWN0dXJlZEVycm9yJyB0eXBlPSd2YXJpYWJsZScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFN0cnVjdHVyZWRFcnJvckNvbnRleHQnIHR5cGU9J3ZhcmlhYmxlJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sRG9WYWxpZGl0eUNoZWNraW5nRGVmYXVsdFZhbHVlJyB0eXBlPSd2YXJpYWJsZScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lVmFsdWUnIHR5cGU9J3ZhcmlhYmxlJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUGVkYW50aWNQYXJzZXJEZWZhdWx0VmFsdWUnIHR5cGU9J3ZhcmlhYmxlJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nb2xkWE1MV0Rjb21wYXRpYmlsaXR5JyB0eXBlPSd2YXJpYWJsZScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFJlYWxsb2MnIHR5cGU9J3ZhcmlhYmxlJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTWVtU3RyZHVwJyB0eXBlPSd2YXJpYWJsZScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J2h0bWxEZWZhdWx0U0FYSGFuZGxlcicgdHlwZT0ndmFyaWFibGUnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTYXZlTm9FbXB0eVRhZ3MnIHR5cGU9J3ZhcmlhYmxlJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZVZhbHVlJyB0eXBlPSd2YXJpYWJsZScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEtlZXBCbGFua3NEZWZhdWx0VmFsdWUnIHR5cGU9J3ZhcmlhYmxlJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdFZhbHVlJyB0eXBlPSd2YXJpYWJsZScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbE1hbGxvY0F0b21pYycgdHlwZT0ndmFyaWFibGUnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxCdWZmZXJBbGxvY1NjaGVtZScgdHlwZT0ndmFyaWFibGUnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxQYXJzZXJEZWJ1Z0VudGl0aWVzJyB0eXBlPSd2YXJpYWJsZScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEZyZWUnIHR5cGU9J3ZhcmlhYmxlJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTG9hZEV4dER0ZERlZmF1bHRWYWx1ZScgdHlwZT0ndmFyaWFibGUnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxMYXN0RXJyb3InIHR5cGU9J3ZhcmlhYmxlJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTGluZU51bWJlcnNEZWZhdWx0VmFsdWUnIHR5cGU9J3ZhcmlhYmxlJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sRGVmYXVsdFNBWEhhbmRsZXInIHR5cGU9J3ZhcmlhYmxlJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sRGVmYXVsdFNBWExvY2F0b3InIHR5cGU9J3ZhcmlhYmxlJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVGhyRGVmU2V0U3RydWN0dXJlZEVycm9yRnVuYycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxJbml0aWFsaXplR2xvYmFsU3RhdGUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVGhyRGVmQnVmZmVyQWxsb2NTY2hlbWUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVGhyRGVmUGVkYW50aWNQYXJzZXJEZWZhdWx0VmFsdWUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUmVnaXN0ZXJOb2RlRGVmYXVsdCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxUaHJEZWZPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sRGVyZWdpc3Rlck5vZGVEZWZhdWx0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFRockRlZkRlZmF1bHRCdWZmZXJTaXplJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRGVmYXVsdCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxUaHJEZWZMb2FkRXh0RHRkRGVmYXVsdFZhbHVlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFRockRlZlJlZ2lzdGVyTm9kZURlZmF1bHQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVGhyRGVmS2VlcEJsYW5rc0RlZmF1bHRWYWx1ZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxEZXJlZ2lzdGVyTm9kZUZ1bmMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVGhyRGVmUGFyc2VyRGVidWdFbnRpdGllcycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxUaHJEZWZQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRGVmYXVsdCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxUaHJEZWZTZXRHZW5lcmljRXJyb3JGdW5jJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFRockRlZkRvVmFsaWRpdHlDaGVja2luZ0RlZmF1bHRWYWx1ZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxDbGVhbnVwR2xvYmFscycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxUaHJEZWZHZXRXYXJuaW5nc0RlZmF1bHRWYWx1ZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxUaHJEZWZEZXJlZ2lzdGVyTm9kZURlZmF1bHQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVGhyRGVmU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdFZhbHVlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFJlZ2lzdGVyTm9kZUZ1bmMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVGhyRGVmU2F2ZU5vRW1wdHlUYWdzJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFRockRlZkluZGVudFRyZWVPdXRwdXQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEluaXRHbG9iYWxzJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFRockRlZkxpbmVOdW1iZXJzRGVmYXVsdFZhbHVlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFRockRlZlRyZWVJbmRlbnRTdHJpbmcnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgPC9maWxlPgorICAgIDxmaWxlIG5hbWU9J2hhc2gnPgorICAgICA8c3VtbWFyeT5DaGFpbmVkIGhhc2ggdGFibGVzPC9zdW1tYXJ5PgorICAgICA8ZGVzY3JpcHRpb24+VGhpcyBtb2R1bGUgaW1wbGVtZW50cyB0aGUgaGFzaCB0YWJsZSBzdXBwb3J0IHVzZWQgaW4gdmFyaW91cyBwbGFjZXMgaW4gdGhlIGxpYnJhcnkuIDwvZGVzY3JpcHRpb24+CisgICAgIDxhdXRob3I+Qmpvcm4gUmVlc2UgJmx0O2Jqb3JuLnJlZXNlQHN5c3RlbWF0aWMuZGsmZ3Q7IDwvYXV0aG9yPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9DQVNUX0ZQVFInIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sSGFzaFRhYmxlJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sSGFzaFRhYmxlUHRyJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sSGFzaFNjYW5GdWxsJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEhhc2hTY2FuJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEhhc2hTY2FubmVyRnVsbCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxIYXNoQ3JlYXRlRGljdCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxIYXNoQWRkRW50cnknIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sSGFzaFVwZGF0ZUVudHJ5JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEhhc2hRTG9va3VwMycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxIYXNoUUxvb2t1cDInIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sSGFzaFNjYW4zJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEhhc2hTY2FubmVyJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEhhc2hEZWFsbG9jYXRvcicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxIYXNoQ3JlYXRlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEhhc2hGcmVlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEhhc2hMb29rdXAnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sSGFzaFFMb29rdXAnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sSGFzaFVwZGF0ZUVudHJ5MicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxIYXNoUmVtb3ZlRW50cnkyJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEhhc2hSZW1vdmVFbnRyeTMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sSGFzaENvcHknIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sSGFzaFNjYW5GdWxsMycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxIYXNoVXBkYXRlRW50cnkzJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEhhc2hMb29rdXAzJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEhhc2hMb29rdXAyJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEhhc2hSZW1vdmVFbnRyeScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxIYXNoQ29waWVyJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEhhc2hBZGRFbnRyeTInIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sSGFzaEFkZEVudHJ5MycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxIYXNoU2l6ZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICA8L2ZpbGU+CisgICAgPGZpbGUgbmFtZT0nbGlzdCc+CisgICAgIDxzdW1tYXJ5Pmxpc3RzIGludGVyZmFjZXM8L3N1bW1hcnk+CisgICAgIDxkZXNjcmlwdGlvbj50aGlzIG1vZHVsZSBpbXBsZW1lbnQgdGhlIGxpc3Qgc3VwcG9ydCB1c2VkIGluIHZhcmlvdXMgcGxhY2UgaW4gdGhlIGxpYnJhcnkuIDwvZGVzY3JpcHRpb24+CisgICAgIDxhdXRob3I+R2FyeSBQZW5uaW5ndG9uICZsdDtHYXJ5LlBlbm5pbmd0b25AdWsuc3VuLmNvbSZndDsgPC9hdXRob3I+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTGluaycgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbExpbmtQdHInIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxMaXN0JyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTGlzdFB0cicgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbExpc3RJbnNlcnQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTGlzdEVtcHR5JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbExpc3RTb3J0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbExpc3REZWFsbG9jYXRvcicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxMaXN0TWVyZ2UnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTGlzdENyZWF0ZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxMaXN0RHVwJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbExpc3RSZW1vdmVMYXN0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbExpc3RXYWxrJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbExpc3RSZW1vdmVBbGwnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTGlzdENvcHknIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTGlzdFBvcEZyb250JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbExpc3RTZWFyY2gnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTGlzdFdhbGtlcicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxMaXN0UmVtb3ZlRmlyc3QnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTGlzdFJldmVyc2VXYWxrJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbExpbmtHZXREYXRhJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbExpc3RDbGVhcicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxMaXN0QXBwZW5kJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbExpc3RSZXZlcnNlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbExpc3REYXRhQ29tcGFyZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxMaXN0U2l6ZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxMaXN0UHVzaEZyb250JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbExpc3RFbmQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTGlzdFBvcEJhY2snIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTGlzdFJldmVyc2VTZWFyY2gnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTGlzdFB1c2hCYWNrJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbExpc3RGcm9udCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxMaXN0RGVsZXRlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgIDwvZmlsZT4KKyAgICA8ZmlsZSBuYW1lPSduYW5vZnRwJz4KKyAgICAgPHN1bW1hcnk+bWluaW1hbCBGVFAgaW1wbGVtZW50YXRpb248L3N1bW1hcnk+CisgICAgIDxkZXNjcmlwdGlvbj5taW5pbWFsIEZUUCBpbXBsZW1lbnRhdGlvbiBhbGxvd2luZyB0byBmZXRjaCByZXNvdXJjZXMgbGlrZSBleHRlcm5hbCBzdWJzZXQuIDwvZGVzY3JpcHRpb24+CisgICAgIDxhdXRob3I+RGFuaWVsIFZlaWxsYXJkIDwvYXV0aG9yPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J0lOVkFMSURfU09DS0VUJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1NPQ0tFVCcgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxOYW5vRlRQUXVpdCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxOYW5vRlRQQ2xvc2UnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nZnRwTGlzdENhbGxiYWNrJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbE5hbm9GVFBDbG9zZUNvbm5lY3Rpb24nIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTmFub0ZUUFByb3h5JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbE5hbm9GVFBVcGRhdGVVUkwnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTmFub0ZUUEdldENvbm5lY3Rpb24nIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTmFub0ZUUERlbGUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTmFub0ZUUE5ld0N0eHQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTmFub0ZUUENoZWNrUmVzcG9uc2UnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTmFub0ZUUFNjYW5Qcm94eScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdmdHBEYXRhQ2FsbGJhY2snIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTmFub0ZUUEdldFJlc3BvbnNlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbE5hbm9GVFBDd2QnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTmFub0ZUUEluaXQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTmFub0ZUUENvbm5lY3RUbycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxOYW5vRlRQTGlzdCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxOYW5vRlRQT3BlbicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxOYW5vRlRQQ29ubmVjdCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxOYW5vRlRQR2V0U29ja2V0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbE5hbm9GVFBHZXQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTmFub0ZUUFJlYWQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTmFub0ZUUEZyZWVDdHh0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbE5hbm9GVFBDbGVhbnVwJyB0eXBlPSdmdW5jdGlvbicvPgorICAgIDwvZmlsZT4KKyAgICA8ZmlsZSBuYW1lPSduYW5vaHR0cCc+CisgICAgIDxzdW1tYXJ5Pm1pbmltYWwgSFRUUCBpbXBsZW1lbnRhdGlvbjwvc3VtbWFyeT4KKyAgICAgPGRlc2NyaXB0aW9uPm1pbmltYWwgSFRUUCBpbXBsZW1lbnRhdGlvbiBhbGxvd2luZyB0byBmZXRjaCByZXNvdXJjZXMgbGlrZSBleHRlcm5hbCBzdWJzZXQuIDwvZGVzY3JpcHRpb24+CisgICAgIDxhdXRob3I+RGFuaWVsIFZlaWxsYXJkIDwvYXV0aG9yPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbE5hbm9IVFRQUmVhZCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxOYW5vSFRUUFNhdmUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTmFub0hUVFBSZWRpcicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxOYW5vSFRUUEF1dGhIZWFkZXInIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTmFub0hUVFBGZXRjaCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxOYW5vSFRUUENvbnRlbnRMZW5ndGgnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTmFub0hUVFBNaW1lVHlwZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxOYW5vSFRUUENsb3NlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbE5hbm9IVFRQQ2xlYW51cCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxOYW5vSFRUUE1ldGhvZCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxOYW5vSFRUUEluaXQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTmFub0hUVFBPcGVuJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbE5hbm9IVFRQT3BlblJlZGlyJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbE5hbm9IVFRQTWV0aG9kUmVkaXInIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTmFub0hUVFBTY2FuUHJveHknIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTmFub0hUVFBFbmNvZGluZycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxOYW5vSFRUUFJldHVybkNvZGUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgPC9maWxlPgorICAgIDxmaWxlIG5hbWU9J3BhcnNlcic+CisgICAgIDxzdW1tYXJ5PnRoZSBjb3JlIHBhcnNlciBtb2R1bGU8L3N1bW1hcnk+CisgICAgIDxkZXNjcmlwdGlvbj5JbnRlcmZhY2VzLCBjb25zdGFudHMgYW5kIHR5cGVzIHJlbGF0ZWQgdG8gdGhlIFhNTCBwYXJzZXIgPC9kZXNjcmlwdGlvbj4KKyAgICAgPGF1dGhvcj5EYW5pZWwgVmVpbGxhcmQgPC9hdXRob3I+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0NPTVBMRVRFX0FUVFJTJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TS0lQX0lEUycgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0FYMl9NQUdJQycgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfREVURUNUX0lEUycgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfREVGQVVMVF9WRVJTSU9OJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9XSVRIX05PTkUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfV0lUSF9TQ0hFTUFUUk9OJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1BBUlNFUl9FTlRJVFlfREVDTCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9QQVJTRVJfQ09OVEVOVCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9QQVJTRV9OT0JMQU5LUycgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9XSVRIX1BBVFRFUk4nIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUEFSU0VfTk9ESUNUJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1BBUlNFUl9TWVNURU1fTElURVJBTCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9XSVRIX1JFR0VYUCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9QQVJTRVJfUEknIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUEFSU0VfVU5LTk9XTicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9XSVRIX1hQQVRIJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1dJVEhfSFRNTCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9QQVJTRV9PTERTQVgnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfV0lUSF9MWk1BJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1dJVEhfSUNVJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1dJVEhfQzE0TicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9QQVJTRV9QVVNIX0RPTScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9QQVJTRVJfUFJPTE9HJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1BBUlNFX05PTkVUJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1dJVEhfSFRUUCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9QQVJTRVJfRVBJTE9HJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1BBUlNFUl9FTkRfVEFHJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1dJVEhfREVCVUcnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfV0lUSF9SRUFERVInIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUEFSU0VfRFREVkFMSUQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUEFSU0VfRE9NJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1BBUlNFUl9BVFRSSUJVVEVfVkFMVUUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUEFSU0VfUFVTSF9TQVgnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfV0lUSF9UUkVFJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1BBUlNFX1JFQ09WRVInIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfV0lUSF9TQ0hFTUFTJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1BBUlNFX1BFREFOVElDJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1BBUlNFUl9FT0YnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUEFSU0VSX0NEQVRBX1NFQ1RJT04nIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfV0lUSF9MRUdBQ1knIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfV0lUSF9PVVRQVVQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUEFSU0VfWElOQ0xVREUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUEFSU0VfTk9DREFUQScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9QQVJTRV9OT0JBU0VGSVgnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUEFSU0VfQklHX0xJTkVTJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1dJVEhfWElOQ0xVREUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfV0lUSF9QVVNIJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1BBUlNFX1JFQURFUicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9XSVRIX1RIUkVBRCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9QQVJTRV9TQVgnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUEFSU0VfTk9FTlQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUEFSU0VSX0VOVElUWV9WQUxVRScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9QQVJTRV9EVERMT0FEJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1BBUlNFX0RUREFUVFInIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUEFSU0VfTk9XQVJOSU5HJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1BBUlNFX09MRDEwJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1BBUlNFX05PRVJST1InIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfV0lUSF9JU084ODU5WCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9XSVRIX0VYUFInIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUEFSU0VfTlNDTEVBTicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9XSVRIX1VOSUNPREUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfV0lUSF9DQVRBTE9HJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1dJVEhfTU9EVUxFUycgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9XSVRIX1hQVFInIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUEFSU0VfSUdOT1JFX0VOQycgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9QQVJTRV9DT01QQUNUJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1BBUlNFX1NBWDEnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfV0lUSF9aTElCJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1BBUlNFX05PWElOQ05PREUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUEFSU0VSX0RURCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9QQVJTRVJfTUlTQycgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9QQVJTRVJfU1RBUlQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfV0lUSF9ERUJVR19NRU0nIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUEFSU0VfSFVHRScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9XSVRIX0ZUUCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9QQVJTRVJfU1RBUlRfVEFHJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1BBUlNFUl9JR05PUkUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUEFSU0VSX0NPTU1FTlQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUEFSU0VSX1BVQkxJQ19MSVRFUkFMJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1dJVEhfSUNPTlYnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfV0lUSF9XUklURVInIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfV0lUSF9BVVRPTUFUQScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9XSVRIX0RFQlVHX1JVTicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9XSVRIX1NBWDEnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfV0lUSF9WQUxJRCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFBhcnNlck5vZGVJbmZvU2VxUHRyJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU0FYSGFuZGxlclYxJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUGFyc2VySW5wdXRTdGF0ZScgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFBhcnNlck5vZGVJbmZvUHRyJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUGFyc2VyTm9kZUluZm9TZXEnIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxGZWF0dXJlJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUGFyc2VyTW9kZScgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFBhcnNlck9wdGlvbicgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNBWEhhbmRsZXJWMVB0cicgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFBhcnNlck5vZGVJbmZvJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nX3htbFBhcnNlck5vZGVJbmZvJyB0eXBlPSdzdHJ1Y3QnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdfeG1sUGFyc2VyQ3R4dCcgdHlwZT0nc3RydWN0Jy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nX3htbFNBWEhhbmRsZXJWMScgdHlwZT0nc3RydWN0Jy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nX3htbFBhcnNlcklucHV0JyB0eXBlPSdzdHJ1Y3QnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdfeG1sU0FYSGFuZGxlcicgdHlwZT0nc3RydWN0Jy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nX3htbFBhcnNlck5vZGVJbmZvU2VxJyB0eXBlPSdzdHJ1Y3QnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdfeG1sU0FYTG9jYXRvcicgdHlwZT0nc3RydWN0Jy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2V0dXBQYXJzZXJGb3JCdWZmZXInIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sQ3R4dFJlYWRGaWxlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFBhcnNlQ3R4dEV4dGVybmFsRW50aXR5JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J2F0dHJpYnV0ZURlY2xTQVhGdW5jJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J2dldEVudGl0eVNBWEZ1bmMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nc3RhcnRFbGVtZW50U0FYRnVuYycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdjaGFyYWN0ZXJzU0FYRnVuYycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxDbGVhck5vZGVJbmZvU2VxJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFBhcnNlQ2h1bmsnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUGFyc2VFbnRpdHknIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUmVjb3ZlckZpbGUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sQ3R4dFJlYWREb2MnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nc3RhcnRFbGVtZW50TnNTQVgyRnVuYycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxDcmVhdGVJT1BhcnNlckN0eHQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUGFyc2VJbk5vZGVDb250ZXh0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3JlZmVyZW5jZVNBWEZ1bmMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0naGFzRXh0ZXJuYWxTdWJzZXRTQVhGdW5jJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNBWFBhcnNlRG9jJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFJlYWRNZW1vcnknIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUGFyc2VNZW1vcnknIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTmV3SU9JbnB1dFN0cmVhbScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdwcm9jZXNzaW5nSW5zdHJ1Y3Rpb25TQVhGdW5jJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXInIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sSW5pdFBhcnNlcicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxDcmVhdGVEb2NQYXJzZXJDdHh0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J2Vycm9yU0FYRnVuYycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTQVhQYXJzZU1lbW9yeScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxSZWNvdmVyTWVtb3J5JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEV4dGVybmFsRW50aXR5TG9hZGVyJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J2hhc0ludGVybmFsU3Vic2V0U0FYRnVuYycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdjZGF0YUJsb2NrU0FYRnVuYycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTQVhQYXJzZUZpbGUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUGFyc2VySW5wdXREZWFsbG9jYXRlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEN0eHRSZWFkSU8nIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU0FYUGFyc2VNZW1vcnlXaXRoRGF0YScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxHZXRGZWF0dXJlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbElPUGFyc2VEVEQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sRnJlZVBhcnNlckN0eHQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUGFyc2VEVEQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUmVjb3ZlckRvYycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdjb21tZW50U0FYRnVuYycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxJbml0UGFyc2VyQ3R4dCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdhdHRyaWJ1dGVTQVhGdW5jJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFBhcnNlcklucHV0R3JvdycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxDdHh0UmVhZE1lbW9yeScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdleHRlcm5hbFN1YnNldFNBWEZ1bmMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0ncmVzb2x2ZUVudGl0eVNBWEZ1bmMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUGVkYW50aWNQYXJzZXJEZWZhdWx0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNBWFBhcnNlRW50aXR5JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFBhcnNlRG9jJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNBWFBhcnNlRmlsZVdpdGhEYXRhJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbExpbmVOdW1iZXJzRGVmYXVsdCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxHZXRFeHRlcm5hbEVudGl0eUxvYWRlcicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdlbGVtZW50RGVjbFNBWEZ1bmMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sQ3R4dFVzZU9wdGlvbnMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUGFyc2VyQWRkTm9kZUluZm8nIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sQ3R4dFJlYWRGZCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdpbnRlcm5hbFN1YnNldFNBWEZ1bmMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTmV3UGFyc2VyQ3R4dCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdlbmREb2N1bWVudFNBWEZ1bmMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUGFyc2VGaWxlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFBhcnNlRG9jdW1lbnQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nc2V0RG9jdW1lbnRMb2NhdG9yU0FYRnVuYycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdnZXRQYXJhbWV0ZXJFbnRpdHlTQVhGdW5jJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J2lnbm9yYWJsZVdoaXRlc3BhY2VTQVhGdW5jJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEluaXROb2RlSW5mb1NlcScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J2VuZEVsZW1lbnRTQVhGdW5jJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFBhcnNlckZpbmROb2RlSW5mb0luZGV4JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEJ5dGVDb25zdW1lZCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxDdHh0UmVzZXQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2V0RmVhdHVyZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxLZWVwQmxhbmtzRGVmYXVsdCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxQYXJzZXJJbnB1dFJlYWQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUmVhZEZpbGUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sR2V0RmVhdHVyZXNMaXN0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEhhc0ZlYXR1cmUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0ndW5wYXJzZWRFbnRpdHlEZWNsU0FYRnVuYycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTQVhVc2VyUGFyc2VGaWxlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J2ZhdGFsRXJyb3JTQVhGdW5jJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNBWFBhcnNlRFREJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFBhcnNlckZpbmROb2RlSW5mbycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdlbnRpdHlEZWNsU0FYRnVuYycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxMb2FkRXh0ZXJuYWxFbnRpdHknIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU3RvcFBhcnNlcicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxSZWFkRmQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUGFyc2VFeHRQYXJzZWRFbnQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUmVhZElPJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFJlYWREb2MnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU0FYVXNlclBhcnNlTWVtb3J5JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdlbmRFbGVtZW50TnNTQVgyRnVuYycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxDbGVhbnVwUGFyc2VyJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEN0eHRSZXNldFB1c2gnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0naXNTdGFuZGFsb25lU0FYRnVuYycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdzdGFydERvY3VtZW50U0FYRnVuYycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxDbGVhclBhcnNlckN0eHQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUGFyc2VFeHRlcm5hbEVudGl0eScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdub3RhdGlvbkRlY2xTQVhGdW5jJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3dhcm5pbmdTQVhGdW5jJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNldEV4dGVybmFsRW50aXR5TG9hZGVyJyB0eXBlPSdmdW5jdGlvbicvPgorICAgIDwvZmlsZT4KKyAgICA8ZmlsZSBuYW1lPSdwYXJzZXJJbnRlcm5hbHMnPgorICAgICA8c3VtbWFyeT5pbnRlcm5hbHMgcm91dGluZXMgYW5kIGxpbWl0cyBleHBvcnRlZCBieSB0aGUgcGFyc2VyLjwvc3VtbWFyeT4KKyAgICAgPGRlc2NyaXB0aW9uPnRoaXMgbW9kdWxlIGV4cG9ydHMgYSBudW1iZXIgb2YgaW50ZXJuYWwgcGFyc2luZyByb3V0aW5lcyB0aGV5IGFyZSBub3QgcmVhbGx5IGFsbCBpbnRlbmRlZCBmb3IgYXBwbGljYXRpb25zIGJ1dCBjYW4gcHJvdmUgdXNlZnVsIGRvaW5nIGxvdyBsZXZlbCBwcm9jZXNzaW5nLiA8L2Rlc2NyaXB0aW9uPgorICAgICA8YXV0aG9yPkRhbmllbCBWZWlsbGFyZCA8L2F1dGhvcj4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU1VCU1RJVFVURV9SRUYnIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nSVNfQkxBTksnIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nSVNfQllURV9DSEFSJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J0lTX1BVQklEQ0hBUicgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdJU19ESUdJVF9DSCcgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdJU19FWFRFTkRFUicgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdJU19BU0NJSV9ESUdJVCcgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdJU19DT01CSU5JTkdfQ0gnIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nSVNfQ0hBUicgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdJU19MRVRURVInIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nSVNfSURFT0dSQVBISUMnIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nTU9WRVRPX1NUQVJUVEFHJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9NQVhfTkFNRV9MRU5HVEgnIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nSVNfQVNDSUlfTEVUVEVSJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J0lTX0RJR0lUJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9NQVhfRElDVElPTkFSWV9MSU1JVCcgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU1VCU1RJVFVURV9QRVJFRicgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdNT1ZFVE9fRU5EVEFHJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1NLSVBfRU9MJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J0lTX0VYVEVOREVSX0NIJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J0lTX0JMQU5LX0NIJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J0lTX0xFVFRFUl9DSCcgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfTUFYX0xPT0tVUF9MSU1JVCcgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfTUFYX1RFWFRfTEVOR1RIJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TVUJTVElUVVRFX05PTkUnIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nSVNfQ09NQklOSU5HJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9NQVhfTkFNRUxFTicgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdJU19CQVNFQ0hBUicgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdJTlBVVF9DSFVOSycgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdJU19QVUJJRENIQVJfQ0gnIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nSVNfQ0hBUl9DSCcgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU1VCU1RJVFVURV9CT1RIJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFN0cmluZ1RleHROb2VuYycgdHlwZT0ndmFyaWFibGUnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTdHJpbmdDb21tZW50JyB0eXBlPSd2YXJpYWJsZScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFN0cmluZ1RleHQnIHR5cGU9J3ZhcmlhYmxlJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUGFyc2VyTWF4RGVwdGgnIHR5cGU9J3ZhcmlhYmxlJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nbm9kZVBvcCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxQYXJzZU5vdGF0aW9uRGVjbCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxQYXJzZUV4dGVybmFsU3Vic2V0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFBhcnNlTWlzYycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTd2l0Y2hJbnB1dEVuY29kaW5nJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbE5ld1N0cmluZ0lucHV0U3RyZWFtJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFBhcnNlRXh0ZXJuYWxJRCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTY2FuTmFtZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxQYXJzZUVsZW1lbnREZWNsJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFBhcnNlTWFya3VwRGVjbCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdodG1sQ3JlYXRlRmlsZVBhcnNlckN0eHQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0naW5wdXRQdXNoJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFN0cmluZ0xlbkRlY29kZUVudGl0aWVzJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J25hbWVQb3AnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUGFyc2VDb250ZW50JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbE5ld0lucHV0U3RyZWFtJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbE5hbWVzcGFjZVBhcnNlUU5hbWUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTmV3SW5wdXRGcm9tRmlsZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxQYXJzZXJIYW5kbGVQRVJlZmVyZW5jZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTdHJpbmdEZWNvZGVFbnRpdGllcycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxDcmVhdGVGaWxlUGFyc2VyQ3R4dCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxQYXJzZUNoYXJSZWYnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUGFyc2VFbGVtZW50JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFBhcnNlVGV4dERlY2wnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTmV3RW50aXR5SW5wdXRTdHJlYW0nIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sQ29weUNoYXJNdWx0aUJ5dGUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUGFyc2VFbGVtZW50Q2hpbGRyZW5Db250ZW50RGVjbCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxQYXJzZUNoYXJEYXRhJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFBhcnNlVmVyc2lvbkluZm8nIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUGFyc2VTRERlY2wnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUGFyc2VFbnVtZXJhdGVkVHlwZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxIYW5kbGVFbnRpdHknIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sQ3VycmVudENoYXInIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2tpcEJsYW5rQ2hhcnMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUGFyc2VOb3RhdGlvblR5cGUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUGFyc2VySW5wdXRTaHJpbmsnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2V0RW50aXR5UmVmZXJlbmNlRnVuYycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxGcmVlSW5wdXRTdHJlYW0nIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUGFyc2VQRVJlZmVyZW5jZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxDcmVhdGVVUkxQYXJzZXJDdHh0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbElzTGV0dGVyJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbENoZWNrTGFuZ3VhZ2VJRCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxOZXh0Q2hhcicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxQYXJzZUVudW1lcmF0aW9uVHlwZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxQYXJzZUF0dHJpYnV0ZVR5cGUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUGFyc2VEZWZhdWx0RGVjbCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxQYXJzZVN5c3RlbUxpdGVyYWwnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUGFyc2VBdHRWYWx1ZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxDcmVhdGVNZW1vcnlQYXJzZXJDdHh0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFBhcnNlQXR0cmlidXRlTGlzdERlY2wnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUGFyc2VOYW1lJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFBhcnNlRW5jTmFtZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdub2RlUHVzaCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTd2l0Y2hFbmNvZGluZycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTd2l0Y2hUb0VuY29kaW5nJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFBhcnNlRW50aXR5UmVmJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFBhcnNlQXR0cmlidXRlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFBhcnNlRW5kVGFnJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFBhcnNlRW5jb2RpbmdEZWNsJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J2h0bWxJbml0QXV0b0Nsb3NlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbENyZWF0ZUVudGl0eVBhcnNlckN0eHQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU3BsaXRRTmFtZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxQYXJzZXJIYW5kbGVSZWZlcmVuY2UnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUGFyc2VQSVRhcmdldCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxQYXJzZUVsZW1lbnRDb250ZW50RGVjbCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdpbnB1dFBvcCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxQb3BJbnB1dCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxQYXJzZVB1YmlkTGl0ZXJhbCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxQdXNoSW5wdXQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUGFyc2VFbnRpdHlWYWx1ZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxEZWNvZGVFbnRpdGllcycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxQYXJzZVZlcnNpb25OdW0nIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUGFyc2VYTUxEZWNsJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEVudGl0eVJlZmVyZW5jZUZ1bmMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUGFyc2VFbGVtZW50TWl4ZWRDb250ZW50RGVjbCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxQYXJzZVF1b3RlZFN0cmluZycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxOYW1lc3BhY2VQYXJzZU5TRGVmJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFBhcnNlQ0RTZWN0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFN0cmluZ0N1cnJlbnRDaGFyJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFBhcnNlQ29tbWVudCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxFcnJNZW1vcnknIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTmFtZXNwYWNlUGFyc2VOQ05hbWUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUGFyc2VObXRva2VuJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFBhcnNlUmVmZXJlbmNlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J25hbWVQdXNoJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFBhcnNlTmFtZXNwYWNlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbENvcHlDaGFyJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFBhcnNlUEknIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUGFyc2VEb2NUeXBlRGVjbCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxQYXJzZVN0YXJ0VGFnJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFBhcnNlRW50aXR5RGVjbCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICA8L2ZpbGU+CisgICAgPGZpbGUgbmFtZT0ncGF0dGVybic+CisgICAgIDxzdW1tYXJ5PnBhdHRlcm4gZXhwcmVzc2lvbiBoYW5kbGluZzwvc3VtbWFyeT4KKyAgICAgPGRlc2NyaXB0aW9uPmFsbG93cyB0byBjb21waWxlIGFuZCB0ZXN0IHBhdHRlcm4gZXhwcmVzc2lvbnMgZm9yIG5vZGVzIGVpdGhlciBpbiBhIHRyZWUgb3IgYmFzZWQgb24gYSBwYXJzZXIgc3RhdGUuIDwvZGVzY3JpcHRpb24+CisgICAgIDxhdXRob3I+RGFuaWVsIFZlaWxsYXJkIDwvYXV0aG9yPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9QQVRURVJOX0RFRkFVTFQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUEFUVEVSTl9YU0ZJRUxEJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1BBVFRFUk5fWFNTRUwnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUEFUVEVSTl9YUEFUSCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFN0cmVhbUN0eHRQdHInIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxQYXR0ZXJuRmxhZ3MnIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTdHJlYW1DdHh0JyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUGF0dGVybicgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFBhdHRlcm5QdHInIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxQYXR0ZXJuTWluRGVwdGgnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUGF0dGVybkdldFN0cmVhbUN0eHQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUGF0dGVybkZyb21Sb290JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEZyZWVQYXR0ZXJuTGlzdCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxQYXR0ZXJuU3RyZWFtYWJsZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTdHJlYW1QdXNoQXR0cicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxQYXR0ZXJuTWF0Y2gnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU3RyZWFtV2FudHNBbnlOb2RlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFN0cmVhbVBvcCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxGcmVlUGF0dGVybicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTdHJlYW1QdXNoJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFBhdHRlcm5NYXhEZXB0aCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxQYXR0ZXJuY29tcGlsZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTdHJlYW1QdXNoTm9kZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxGcmVlU3RyZWFtQ3R4dCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICA8L2ZpbGU+CisgICAgPGZpbGUgbmFtZT0ncmVsYXhuZyc+CisgICAgIDxzdW1tYXJ5PmltcGxlbWVudGF0aW9uIG9mIHRoZSBSZWxheC1ORyB2YWxpZGF0aW9uPC9zdW1tYXJ5PgorICAgICA8ZGVzY3JpcHRpb24+aW1wbGVtZW50YXRpb24gb2YgdGhlIFJlbGF4LU5HIHZhbGlkYXRpb24gPC9kZXNjcmlwdGlvbj4KKyAgICAgPGF1dGhvcj5EYW5pZWwgVmVpbGxhcmQgPC9hdXRob3I+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1JFTEFYTkdfRVJSX0RVUElEJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1JFTEFYTkdfRVJSX1ZBTEVMRU0nIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUkVMQVhOR19FUlJfQVRUUlZBTElEJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1JFTEFYTkdfRVJSX0xJU1RFTEVNJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1JFTEFYTkdfRVJSX0xJU1RFWFRSQScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9SRUxBWE5HX0VSUl9BVFRSTk9OUycgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9SRUxBWE5HX0VSUl9FWFRSQURBVEEnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUkVMQVhOR19FUlJfRUxFTU5PTlMnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUkVMQVhOR19FUlJfRUxFTUVYVFJBTlMnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUkVMQVhOR19FUlJfREFUQVRZUEUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUkVMQVhOR19FUlJfVFlQRUNNUCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9SRUxBWE5HX0VSUl9WQUxVRScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9SRUxBWE5HX0VSUl9OT0dSQU1NQVInIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUkVMQVhOR19FUlJfSU5URVJTRVEnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUkVMQVhOR19FUlJfTEFDS0RBVEEnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUkVMQVhOR1BfRlJFRV9ET0MnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUkVMQVhOR19FUlJfQVRUUk5BTUUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUkVMQVhOR19FUlJfRUxFTU5PVEVNUFRZJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1JFTEFYTkdfT0snIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUkVMQVhOR19FUlJfSU5URVJOT0RBVEEnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUkVMQVhOR19FUlJfQVRUUldST05HTlMnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUkVMQVhOR19FUlJfRVhUUkFDT05URU5UJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1JFTEFYTkdQX05PTkUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUkVMQVhOR19FUlJfRUxFTVdST05HJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1JFTEFYTkdfRVJSX0xJU1RFTVBUWScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9SRUxBWE5HX0VSUl9BVFRSRVhUUkFOUycgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9SRUxBWE5HUF9DUk5HJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1JFTEFYTkdfRVJSX1RFWFRXUk9ORycgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9SRUxBWE5HX0VSUl9JTlZBTElEQVRUUicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9SRUxBWE5HX0VSUl9FTEVNV1JPTkdOUycgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9SRUxBWE5HX0VSUl9DT05URU5UVkFMSUQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUkVMQVhOR19FUlJfVFlQRVZBTCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9SRUxBWE5HX0VSUl9MSVNUJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1JFTEFYTkdfRVJSX1RZUEUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUkVMQVhOR19FUlJfTk9FTEVNJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1JFTEFYTkdfRVJSX01FTU9SWScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9SRUxBWE5HX0VSUl9FTEVNTkFNRScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9SRUxBWE5HX0VSUl9EQVRBRUxFTScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9SRUxBWE5HX0VSUl9OT0RFRklORScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9SRUxBWE5HX0VSUl9OT1NUQVRFJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1JFTEFYTkdfRVJSX0lOVEVSRVhUUkEnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUkVMQVhOR19FUlJfSU5URVJOQUwnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUkVMQVhOR19FUlJfTk9URUxFTScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFJlbGF4TkcnIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxSZWxheE5HUHRyJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUmVsYXhOR1ZhbGlkRXJyJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUmVsYXhOR1BhcnNlckN0eHQnIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxSZWxheE5HUGFyc2VyQ3R4dFB0cicgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFJlbGF4TkdQYXJzZXJGbGFnJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUmVsYXhOR1ZhbGlkQ3R4dCcgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFJlbGF4TkdWYWxpZEN0eHRQdHInIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxSZWxheE5HRnJlZVZhbGlkQ3R4dCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxSZWxheE5HTmV3RG9jUGFyc2VyQ3R4dCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxSZWxheE5HU2V0VmFsaWRFcnJvcnMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUmVsYXhOR05ld1BhcnNlckN0eHQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUmVsYXhOR0dldFBhcnNlckVycm9ycycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxSZWxheE5HVmFsaWRhdGVQb3BFbGVtZW50JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFJlbGF4TkdOZXdWYWxpZEN0eHQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUmVsYXhOR05ld01lbVBhcnNlckN0eHQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUmVsYXhOR0R1bXAnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUmVsYXhOR1NldFBhcnNlckVycm9ycycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxSZWxheE5HUGFyc2UnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUmVsYXhOR1NldFBhcnNlclN0cnVjdHVyZWRFcnJvcnMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUmVsYXhOR1ZhbGlkYXRlRnVsbEVsZW1lbnQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUmVsYXhOR1ZhbGlkaXR5RXJyb3JGdW5jJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFJlbGF4TkdWYWxpZGF0ZVB1c2hFbGVtZW50JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFJlbGF4TkdGcmVlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFJlbGF4TkdWYWxpZGF0ZURvYycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxSZWxheE5HU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFJlbGF4TkdGcmVlUGFyc2VyQ3R4dCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxSZWxheE5HR2V0VmFsaWRFcnJvcnMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUmVsYXhOR0luaXRUeXBlcycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxSZWxheE5HRHVtcFRyZWUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUmVsYXhOR0NsZWFudXBUeXBlcycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxSZWxheE5HVmFsaWRhdGVQdXNoQ0RhdGEnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUmVsYXhQYXJzZXJTZXRGbGFnJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFJlbGF4TkdWYWxpZGl0eVdhcm5pbmdGdW5jJyB0eXBlPSdmdW5jdGlvbicvPgorICAgIDwvZmlsZT4KKyAgICA8ZmlsZSBuYW1lPSdzY2hlbWFzSW50ZXJuYWxzJz4KKyAgICAgPHN1bW1hcnk+aW50ZXJuYWwgaW50ZXJmYWNlcyBmb3IgWE1MIFNjaGVtYXM8L3N1bW1hcnk+CisgICAgIDxkZXNjcmlwdGlvbj5pbnRlcm5hbCBpbnRlcmZhY2VzIGZvciB0aGUgWE1MIFNjaGVtYXMgaGFuZGxpbmcgYW5kIHNjaGVtYSB2YWxpZGl0eSBjaGVja2luZyBUaGUgU2NoZW1hcyBkZXZlbG9wbWVudCBpcyBhIFdvcmsgSW4gUHJvZ3Jlc3MuIFNvbWUgb2YgdGhvc2UgaW50ZXJmYWNlcyBhcmUgbm90IGdhcmFudGVlZCB0byBiZSBBUEkgb3IgQUJJIHN0YWJsZSAhIDwvZGVzY3JpcHRpb24+CisgICAgIDxhdXRob3I+RGFuaWVsIFZlaWxsYXJkIDwvYXV0aG9yPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFTX0JMT0NLX0RFRkFVTFRfUkVTVFJJQ1RJT04nIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVNfRklOQUxfREVGQVVMVF9FWFRFTlNJT04nIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVNfVFlQRV9GSVhVUF8xJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFTX0ZJTkFMX0RFRkFVTFRfUkVTVFJJQ1RJT04nIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVNfRUxFTV9DSVJDVUxBUicgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BU19RVUFMSUZfQVRUUicgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BU19UWVBFX0JVSUxUSU5fUFJJTUlUSVZFJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFTX1RZUEVfREVSSVZBVElPTl9NRVRIT0RfUkVTVFJJQ1RJT04nIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVNfQVRUUl9VU0VfUkVRVUlSRUQnIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVNfRkFDRVRfQ09MTEFQU0UnIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVNfVFlQRV9XSElURVNQQUNFX0NPTExBUFNFJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFTX1RZUEVfVkFSSUVUWV9VTklPTicgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BU19BTllfU1RSSUNUJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFTX1RZUEVfSU5URVJOQUxfUkVTT0xWRUQnIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVNfUVVBTElGX0VMRU0nIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX0xJU1QnIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVNfVFlQRV9XSElURVNQQUNFX1BSRVNFUlZFJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFTX0VMRU1fSU5URVJOQUxfQ0hFQ0tFRCcgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BU19JTkNMVURJTkdfQ09OVkVSVF9OUycgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BU19BVFRSX0lOVEVSTkFMX1JFU09MVkVEJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFTX0FUVFJfVVNFX1BST0hJQklURUQnIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVNfRUxFTV9OSUxMQUJMRScgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BU19CTE9DS19ERUZBVUxUX1NVQlNUSVRVVElPTicgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BU19BVFRSR1JPVVBfUkVERUZJTkVEJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFTX0VMRU1fU1VCU1RfR1JPVVBfSEVBRCcgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BU19UWVBFX0JMT0NLX0RFRkFVTFQnIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVNfRUxFTV9CTE9DS19TVUJTVElUVVRJT04nIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVNfVFlQRV9GSU5BTF9FWFRFTlNJT04nIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVNfVFlQRV9SRURFRklORUQnIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVNfRUxFTV9GSVhFRCcgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BU19UWVBFX09XTkVEX0FUVFJfV0lMRENBUkQnIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX0FUT01JQycgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BU19UWVBFX0ZJTkFMX0xJU1QnIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVNfQVRUUl9VU0VfT1BUSU9OQUwnIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVNfQVRUUl9OU0RFRkFVTFQnIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVNfVFlQRV9XSElURVNQQUNFX1JFUExBQ0UnIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVNfVFlQRV9CTE9DS19SRVNUUklDVElPTicgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BU19BTllBVFRSX1NUUklDVCcgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BU19GQUNFVF9VTktOT1dOJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFTX0FUVFJHUk9VUF9NQVJLRUQnIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVNfRkFDRVRfUFJFU0VSVkUnIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVNfRUxFTV9CTE9DS19FWFRFTlNJT04nIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVNfQVRUUl9HTE9CQUwnIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVNfQU5ZQVRUUl9TS0lQJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFTX1RZUEVfREVSSVZBVElPTl9NRVRIT0RfRVhURU5TSU9OJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFTX0FOWUFUVFJfTEFYJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFTX1RZUEVfR0xPQkFMJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFTX1RZUEVfQUJTVFJBQ1QnIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVNfVFlQRV9NSVhFRCcgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BU19BVFRSX0ZJWEVEJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFTX0VMRU1fSU5URVJOQUxfUkVTT0xWRUQnIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVNfQU5ZX1NLSVAnIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVNfRklOQUxfREVGQVVMVF9MSVNUJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFTX1RZUEVfVkFSSUVUWV9BQlNFTlQnIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVNfRUxFTV9GSU5BTF9SRVNUUklDVElPTicgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BU19XSUxEQ0FSRF9DT01QTEVURScgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BU19BVFRSR1JPVVBfV0lMRENBUkRfQlVJTERFRCcgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BU19FTEVNX05TREVGQVVMVCcgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BU19FTEVNX0dMT0JBTCcgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BU19FTEVNX1RPUExFVkVMJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFTX0FOWV9MQVgnIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVNfVFlQRV9GSU5BTF9SRVNUUklDVElPTicgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BU19UWVBFX0hBU19GQUNFVFMnIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVNfRUxFTV9GSU5BTF9FWFRFTlNJT04nIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVNfVFlQRV9OT1JNVkFMVUVORUVERUQnIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVNfRUxFTV9GSU5BTF9BQlNFTlQnIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVNfVFlQRV9CTE9DS19FWFRFTlNJT04nIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVNfVFlQRV9JTlRFUk5BTF9JTlZBTElEJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFTX0FUVFJHUk9VUF9IQVNfUkVGUycgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BU19FTEVNX0FCU1RSQUNUJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFTX0JMT0NLX0RFRkFVTFRfRVhURU5TSU9OJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFTX1RZUEVfRklOQUxfVU5JT04nIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVNfVFlQRV9GSU5BTF9ERUZBVUxUJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFTX1RZUEVfRkFDRVRTTkVFRFZBTFVFJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFTX0ZJTkFMX0RFRkFVTFRfVU5JT04nIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVNfRUxFTV9CTE9DS19SRVNUUklDVElPTicgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BU19GQUNFVF9SRVBMQUNFJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFTX0VMRU1fREVGQVVMVCcgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BU19UWVBFX01BUktFRCcgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BU19FTEVNX0JMT0NLX0FCU0VOVCcgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BU19BVFRSR1JPVVBfR0xPQkFMJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFTX0VMRU1fUkVGJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFfRVhUUkFfUU5BTUVSRUYnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BX1RZUEVfRVhURU5TSU9OJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVNfTk1UT0tFTicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFTX0lEJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVNfVElNRScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFTX1VCWVRFJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVNfREFURVRJTUUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BU19OTklOVEVHRVInIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BU19IRVhCSU5BUlknIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BX1RZUEVfVU5JT04nIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BU19VTktOT1dOJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVNfVUlOVCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFTX05QSU5URUdFUicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFTX0dNT05USERBWScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFfRkFDRVRfTUFYRVhDTFVTSVZFJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVNfVUxPTkcnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BU19QSU5URUdFUicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFfVFlQRV9DSE9JQ0UnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BU19ERUNJTUFMJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQV9UWVBFX1VSJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVNfRE9VQkxFJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVNfTklOVEVHRVInIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BU19OT1JNU1RSSU5HJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQV9UWVBFX1BBUlRJQ0xFJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQV9DT05URU5UX01JWEVEX09SX0VMRU1FTlRTJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQV9UWVBFX1NJTVBMRScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFTX05DTkFNRScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFTX0xPTkcnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BX1RZUEVfQU5ZX0FUVFJJQlVURScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFTX0JPT0xFQU4nIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BU19FTlRJVFknIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BX1RZUEVfR1JPVVAnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BU19HWUVBUk1PTlRIJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVNfQkFTRTY0QklOQVJZJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQV9GQUNFVF9GUkFDVElPTkRJR0lUUycgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFfRkFDRVRfV0hJVEVTUEFDRScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFTX0lEUkVGJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQV9UWVBFX0FUVFJJQlVURScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFfRkFDRVRfVE9UQUxESUdJVFMnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BU19RTkFNRScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFTX1RPS0VOJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQV9DT05URU5UX0JBU0lDJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQV9DT05URU5UX0VNUFRZJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQV9GQUNFVF9FTlVNRVJBVElPTicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFfQ09OVEVOVF9VTktOT1dOJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQV9GQUNFVF9NSU5JTkNMVVNJVkUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BU19HTU9OVEgnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BX0NPTlRFTlRfRUxFTUVOVFMnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BU19HWUVBUicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFfRVhUUkFfQVRUUl9VU0VfUFJPSElCJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVNfQllURScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFfVFlQRV9BTEwnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BX1RZUEVfSURDX0tFWVJFRicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFTX05PVEFUSU9OJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQV9GQUNFVF9NQVhJTkNMVVNJVkUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BU19OQU1FJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQV9UWVBFX0xJU1QnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BX1RZUEVfQVRUUklCVVRFX1VTRScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFTX0dEQVknIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BX1RZUEVfQU5ZJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVNfQU5ZVVJJJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQV9UWVBFX0NPTVBMRVgnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BX1RZUEVfQVRUUklCVVRFR1JPVVAnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BX1RZUEVfQkFTSUMnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BU19JRFJFRlMnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BX1RZUEVfSURDX1VOSVFVRScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFfRkFDRVRfTEVOR1RIJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQV9DT05URU5UX1NJTVBMRScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFfRkFDRVRfUEFUVEVSTicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFTX1NIT1JUJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVNfTEFOR1VBR0UnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BU19BTllTSU1QTEVUWVBFJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQV9DT05URU5UX01JWEVEJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVNfQU5ZVFlQRScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFTX0RVUkFUSU9OJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQV9UWVBFX0ZBQ0VUJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVNfTk1UT0tFTlMnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BU19VU0hPUlQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BU19JTlRFR0VSJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQV9UWVBFX0NPTVBMRVhfQ09OVEVOVCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFfRkFDRVRfTUlORVhDTFVTSVZFJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQV9UWVBFX0lEQ19LRVknIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BX1RZUEVfU0lNUExFX0NPTlRFTlQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BU19GTE9BVCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFTX0VOVElUSUVTJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVNfREFURScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFTX1NUUklORycgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFTX0lOVCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFfVFlQRV9OT1RBVElPTicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFfQ09OVEVOVF9BTlknIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BX0ZBQ0VUX01JTkxFTkdUSCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFfVFlQRV9SRVNUUklDVElPTicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFfVFlQRV9TRVFVRU5DRScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFfVFlQRV9FTEVNRU5UJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQV9GQUNFVF9NQVhMRU5HVEgnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTY2hlbWFBdHRyaWJ1dGVHcm91cFB0cicgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNjaGVtYUVsZW1lbnRQdHInIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTY2hlbWFGYWNldExpbmtQdHInIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTY2hlbWFWYWwnIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTY2hlbWFBdHRyaWJ1dGVMaW5rUHRyJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2NoZW1hVHlwZScgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNjaGVtYUFubm90JyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2NoZW1hQW5ub3RQdHInIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTY2hlbWFFbGVtZW50JyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2NoZW1hV2lsZGNhcmQnIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTY2hlbWFXaWxkY2FyZFB0cicgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNjaGVtYUZhY2V0UHRyJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2NoZW1hVHlwZUxpbmsnIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTY2hlbWFBdHRyaWJ1dGVMaW5rJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2NoZW1hVmFsUHRyJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2NoZW1hRmFjZXRMaW5rJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2NoZW1hV2lsZGNhcmROc1B0cicgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNjaGVtYUF0dHJpYnV0ZUdyb3VwJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2NoZW1hVHlwZUxpbmtQdHInIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTY2hlbWFXaWxkY2FyZE5zJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2NoZW1hQXR0cmlidXRlUHRyJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2NoZW1hTm90YXRpb25QdHInIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTY2hlbWFWYWxUeXBlJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2NoZW1hVHlwZVB0cicgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNjaGVtYU5vdGF0aW9uJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2NoZW1hRmFjZXQnIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTY2hlbWFDb250ZW50VHlwZScgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNjaGVtYVR5cGVUeXBlJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2NoZW1hQXR0cmlidXRlJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nX3htbFNjaGVtYVdpbGRjYXJkTnMnIHR5cGU9J3N0cnVjdCcvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J194bWxTY2hlbWFOb3RhdGlvbicgdHlwZT0nc3RydWN0Jy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nX3htbFNjaGVtYUF0dHJpYnV0ZScgdHlwZT0nc3RydWN0Jy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nX3htbFNjaGVtYVR5cGUnIHR5cGU9J3N0cnVjdCcvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J194bWxTY2hlbWFBdHRyaWJ1dGVHcm91cCcgdHlwZT0nc3RydWN0Jy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nX3htbFNjaGVtYUZhY2V0TGluaycgdHlwZT0nc3RydWN0Jy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nX3htbFNjaGVtYUVsZW1lbnQnIHR5cGU9J3N0cnVjdCcvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J194bWxTY2hlbWEnIHR5cGU9J3N0cnVjdCcvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J194bWxTY2hlbWFBdHRyaWJ1dGVMaW5rJyB0eXBlPSdzdHJ1Y3QnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdfeG1sU2NoZW1hRmFjZXQnIHR5cGU9J3N0cnVjdCcvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J194bWxTY2hlbWFXaWxkY2FyZCcgdHlwZT0nc3RydWN0Jy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nX3htbFNjaGVtYVR5cGVMaW5rJyB0eXBlPSdzdHJ1Y3QnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdfeG1sU2NoZW1hQW5ub3QnIHR5cGU9J3N0cnVjdCcvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNjaGVtYUZyZWVUeXBlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNjaGVtYUZyZWVXaWxkY2FyZCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICA8L2ZpbGU+CisgICAgPGZpbGUgbmFtZT0nc2NoZW1hdHJvbic+CisgICAgIDxzdW1tYXJ5PlhNTCBTY2hlbWFzdHJvbiBpbXBsZW1lbnRhdGlvbjwvc3VtbWFyeT4KKyAgICAgPGRlc2NyaXB0aW9uPmludGVyZmFjZSB0byB0aGUgWE1MIFNjaGVtYXRyb24gdmFsaWRpdHkgY2hlY2tpbmcuIDwvZGVzY3JpcHRpb24+CisgICAgIDxhdXRob3I+RGFuaWVsIFZlaWxsYXJkIDwvYXV0aG9yPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFUUk9OX09VVF9JTycgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFUUk9OX09VVF9FUlJPUicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFUUk9OX09VVF9CVUZGRVInIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BVFJPTl9PVVRfRklMRScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFUUk9OX09VVF9YTUwnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BVFJPTl9PVVRfVEVYVCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFUUk9OX09VVF9RVUlFVCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNjaGVtYXRyb25WYWxpZEN0eHQnIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTY2hlbWF0cm9uVmFsaWRPcHRpb25zJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2NoZW1hdHJvblB0cicgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNjaGVtYXRyb25QYXJzZXJDdHh0JyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2NoZW1hdHJvbicgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNjaGVtYXRyb25WYWxpZEN0eHRQdHInIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTY2hlbWF0cm9uUGFyc2VyQ3R4dFB0cicgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNjaGVtYXRyb25WYWxpZGF0ZURvYycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTY2hlbWF0cm9uRnJlZVBhcnNlckN0eHQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2NoZW1hdHJvbk5ld01lbVBhcnNlckN0eHQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2NoZW1hdHJvblZhbGlkaXR5RXJyb3JGdW5jJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNjaGVtYXRyb25OZXdQYXJzZXJDdHh0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNjaGVtYXRyb25WYWxpZGl0eVdhcm5pbmdGdW5jJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNjaGVtYXRyb25GcmVlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNjaGVtYXRyb25TZXRWYWxpZFN0cnVjdHVyZWRFcnJvcnMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2NoZW1hdHJvbkZyZWVWYWxpZEN0eHQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2NoZW1hdHJvblBhcnNlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNjaGVtYXRyb25OZXdEb2NQYXJzZXJDdHh0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNjaGVtYXRyb25OZXdWYWxpZEN0eHQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgPC9maWxlPgorICAgIDxmaWxlIG5hbWU9J3RocmVhZHMnPgorICAgICA8c3VtbWFyeT5pbnRlcmZhY2VzIGZvciB0aHJlYWQgaGFuZGxpbmc8L3N1bW1hcnk+CisgICAgIDxkZXNjcmlwdGlvbj5zZXQgb2YgZ2VuZXJpYyB0aHJlYWRpbmcgcmVsYXRlZCByb3V0aW5lcyBzaG91bGQgd29yayB3aXRoIHB0aHJlYWRzLCBXaW5kb3dzIG5hdGl2ZSBvciBUTFMgdGhyZWFkcyA8L2Rlc2NyaXB0aW9uPgorICAgICA8YXV0aG9yPkRhbmllbCBWZWlsbGFyZCA8L2F1dGhvcj4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxNdXRleCcgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFJNdXRleCcgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFJNdXRleFB0cicgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbE11dGV4UHRyJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sRnJlZVJNdXRleCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxHZXRUaHJlYWRJZCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxNdXRleFVubG9jaycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxDbGVhbnVwVGhyZWFkcycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxMb2NrTGlicmFyeScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxOZXdSTXV0ZXgnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTXV0ZXhMb2NrJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbElzTWFpblRocmVhZCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxSTXV0ZXhVbmxvY2snIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sR2V0R2xvYmFsU3RhdGUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTmV3TXV0ZXgnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sRGxsTWFpbicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxGcmVlTXV0ZXgnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVW5sb2NrTGlicmFyeScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxJbml0VGhyZWFkcycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxSTXV0ZXhMb2NrJyB0eXBlPSdmdW5jdGlvbicvPgorICAgIDwvZmlsZT4KKyAgICA8ZmlsZSBuYW1lPSd0cmVlJz4KKyAgICAgPHN1bW1hcnk+aW50ZXJmYWNlcyBmb3IgdHJlZSBtYW5pcHVsYXRpb248L3N1bW1hcnk+CisgICAgIDxkZXNjcmlwdGlvbj50aGlzIG1vZHVsZSBkZXNjcmliZXMgdGhlIHN0cnVjdHVyZXMgZm91bmQgaW4gYW4gdHJlZSByZXN1bHRpbmcgZnJvbSBhbiBYTUwgb3IgSFRNTCBwYXJzaW5nLCBhcyB3ZWxsIGFzIHRoZSBBUEkgcHJvdmlkZWQgZm9yIHZhcmlvdXMgcHJvY2Vzc2luZyBvbiB0aGF0IHRyZWUgPC9kZXNjcmlwdGlvbj4KKyAgICAgPGF1dGhvcj5EYW5pZWwgVmVpbGxhcmQgPC9hdXRob3I+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0xPQ0FMX05BTUVTUEFDRScgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdCQVNFX0JVRkZFUl9TSVpFJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9YTUxfSUQnIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUm9vdE5vZGUnIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0dFVF9MSU5FJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9HRVRfQ09OVEVOVCcgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxDaGlsZHJlbk5vZGUnIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1hNTF9OQU1FU1BBQ0UnIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nTElCWE1MMl9ORVdfQlVGRkVSJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9BVFRSSUJVVEVfSU1QTElFRCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9FTEVNRU5UX0NPTlRFTlRfRUxFTUVOVCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9FTlRJVFlfUkVGX05PREUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfQVRUUklCVVRFX0lEUkVGUycgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9CVUZGRVJfQUxMT0NfRE9VQkxFSVQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfWElOQ0xVREVfRU5EJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0FUVFJJQlVURV9OT0RFJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0FUVFJJQlVURV9OTVRPS0VOUycgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9BVFRSSUJVVEVfSURSRUYnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRUxFTUVOVF9UWVBFX0VMRU1FTlQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfVEVYVF9OT0RFJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0NEQVRBX1NFQ1RJT05fTk9ERScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9FTEVNRU5UX05PREUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRUxFTUVOVF9ERUNMJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0RPQ19VU0VSQlVJTFQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRE9DX0lOVEVSTkFMJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0FUVFJJQlVURV9SRVFVSVJFRCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9ET0NVTUVOVF9GUkFHX05PREUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRE9DX0RURFZBTElEJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0VMRU1FTlRfVFlQRV9BTlknIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRE9DX05TVkFMSUQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRUxFTUVOVF9DT05URU5UX09OQ0UnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRUxFTUVOVF9DT05URU5UX1BDREFUQScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9BVFRSSUJVVEVfRklYRUQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRE9DVU1FTlRfVFlQRV9OT0RFJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0RPQ19IVE1MJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0VMRU1FTlRfQ09OVEVOVF9PUFQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfTkFNRVNQQUNFX0RFQ0wnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfQVRUUklCVVRFX05PVEFUSU9OJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0VMRU1FTlRfVFlQRV9NSVhFRCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9YSU5DTFVERV9TVEFSVCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9CVUZGRVJfQUxMT0NfSFlCUklEJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0RPQ19YSU5DTFVERScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9CVUZGRVJfQUxMT0NfRVhBQ1QnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfQVRUUklCVVRFX0VOVElUSUVTJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0JVRkZFUl9BTExPQ19JTU1VVEFCTEUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfTk9UQVRJT05fTk9ERScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9FTEVNRU5UX0NPTlRFTlRfU0VRJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0VMRU1FTlRfVFlQRV9FTVBUWScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9BVFRSSUJVVEVfRU5VTUVSQVRJT04nIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRE9DX09MRDEwJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0hUTUxfRE9DVU1FTlRfTk9ERScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9FTEVNRU5UX1RZUEVfVU5ERUZJTkVEJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0RPQ1VNRU5UX05PREUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRE9DQl9ET0NVTUVOVF9OT0RFJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0NPTU1FTlRfTk9ERScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9BVFRSSUJVVEVfTk9ORScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9EVERfTk9ERScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9FTEVNRU5UX0NPTlRFTlRfT1InIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfQVRUUklCVVRFX05NVE9LRU4nIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUElfTk9ERScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9CVUZGRVJfQUxMT0NfSU8nIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRU5USVRZX05PREUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfQVRUUklCVVRFX0VOVElUWScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9ET0NfV0VMTEZPUk1FRCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9BVFRSSUJVVEVfREVDTCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9FTlRJVFlfREVDTCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9BVFRSSUJVVEVfSUQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfQVRUUklCVVRFX0NEQVRBJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0VMRU1FTlRfQ09OVEVOVF9NVUxUJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0VMRU1FTlRfQ09OVEVOVF9QTFVTJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTnMnIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxFbGVtZW50Q29udGVudCcgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEVudW1lcmF0aW9uUHRyJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sQnVmZmVyJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUGFyc2VySW5wdXRQdHInIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTQVhMb2NhdG9yUHRyJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUGFyc2VySW5wdXQnIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxFbGVtZW50JyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTnNUeXBlJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sQnVmZmVyQWxsb2NhdGlvblNjaGVtZScgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbE5vZGUnIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxEb2NQdHInIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxCdWZmZXJQdHInIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxET01XcmFwQ3R4dFB0cicgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFJlZlB0cicgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFBhcnNlcklucHV0QnVmZmVyJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUmVmJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sRE9NV3JhcEN0eHQnIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxOb2RlUHRyJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUGFyc2VyQ3R4dCcgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbER0ZFB0cicgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEF0dHJpYnV0ZURlZmF1bHQnIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxCdWYnIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxOb3RhdGlvbicgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEVsZW1lbnRUeXBlJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sRW50aXR5JyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sQXR0cicgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEF0dHJpYnV0ZVB0cicgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEVsZW1lbnRUeXBlVmFsJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTm90YXRpb25QdHInIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxFbGVtZW50UHRyJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sQnVmUHRyJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sRWxlbWVudENvbnRlbnRPY2N1cicgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEF0dHJQdHInIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxEb2MnIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxJRCcgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFBhcnNlckN0eHRQdHInIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxFbnRpdHlQdHInIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxFbnVtZXJhdGlvbicgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEF0dHJpYnV0ZVR5cGUnIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxOc1B0cicgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFBhcnNlcklucHV0QnVmZmVyUHRyJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU0FYSGFuZGxlcicgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbE91dHB1dEJ1ZmZlcicgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNBWExvY2F0b3InIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxFbGVtZW50Q29udGVudFB0cicgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEVsZW1lbnRDb250ZW50VHlwZScgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbERvY1Byb3BlcnRpZXMnIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxJRFB0cicgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbER0ZCcgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEF0dHJpYnV0ZScgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbE91dHB1dEJ1ZmZlclB0cicgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNBWEhhbmRsZXJQdHInIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdfeG1sQnVmZmVyJyB0eXBlPSdzdHJ1Y3QnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdfeG1sQXR0cmlidXRlJyB0eXBlPSdzdHJ1Y3QnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdfeG1sRW51bWVyYXRpb24nIHR5cGU9J3N0cnVjdCcvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J194bWxOcycgdHlwZT0nc3RydWN0Jy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nX3htbE5vZGUnIHR5cGU9J3N0cnVjdCcvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J194bWxEb2MnIHR5cGU9J3N0cnVjdCcvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J194bWxFbGVtZW50JyB0eXBlPSdzdHJ1Y3QnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdfeG1sSUQnIHR5cGU9J3N0cnVjdCcvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J194bWxOb3RhdGlvbicgdHlwZT0nc3RydWN0Jy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nX3htbER0ZCcgdHlwZT0nc3RydWN0Jy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nX3htbFJlZicgdHlwZT0nc3RydWN0Jy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nX3htbEF0dHInIHR5cGU9J3N0cnVjdCcvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J194bWxET01XcmFwQ3R4dCcgdHlwZT0nc3RydWN0Jy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nX3htbEVsZW1lbnRDb250ZW50JyB0eXBlPSdzdHJ1Y3QnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxEb2NDb3B5Tm9kZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxOZXdEb2NSYXdOb2RlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEJ1ZkNvbnRlbnQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTmV3TnNQcm9wRWF0TmFtZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTdHJpbmdHZXROb2RlTGlzdCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxOZXdDRGF0YUJsb2NrJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEJ1ZmZlcldyaXRlQ0hBUicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxOb2RlR2V0QmFzZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxCdWZmZXJFbXB0eScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxCdWlsZFFOYW1lJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFZhbGlkYXRlTk1Ub2tlbicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTYXZlRm9ybWF0RmlsZUVuYycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxBZGRTaWJsaW5nJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEJ1ZmZlckNyZWF0ZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxOZXdEb2NGcmFnbWVudCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxEb2NHZXRSb290RWxlbWVudCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxHZXRQcm9wJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFZhbGlkYXRlTmFtZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxCdWZFbmQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVmFsaWRhdGVRTmFtZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxIYXNOc1Byb3AnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sQWRkUHJldlNpYmxpbmcnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sQnVmZmVyQWRkSGVhZCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxOZXdQSScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxEb2NEdW1wRm9ybWF0TWVtb3J5RW5jJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNldFByb3AnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sQ2hpbGRFbGVtZW50Q291bnQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sRWxlbUR1bXAnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2F2ZUZvcm1hdEZpbGVUbycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxHZXRJbnRTdWJzZXQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTm9kZUJ1ZkdldENvbnRlbnQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTmV4dEVsZW1lbnRTaWJsaW5nJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEJ1ZmZlcldyaXRlQ2hhcicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxCdWZmZXJGcmVlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbERPTVdyYXBDbG9uZU5vZGUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTmV3Tm9kZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTYXZlRmlsZVRvJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbE5ld1RleHRMZW4nIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTmV3VGV4dENoaWxkJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbE5vZGVTZXRDb250ZW50JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEJ1ZmZlckFkZCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxOb2RlRHVtcE91dHB1dCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxDb3B5TmFtZXNwYWNlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNlYXJjaE5zQnlIcmVmJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEFkZENoaWxkJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFJlY29uY2lsaWF0ZU5zJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFZhbGlkYXRlTkNOYW1lJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbE5ld0RvY0NvbW1lbnQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sR2V0Q29tcHJlc3NNb2RlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbE5vZGVEdW1wJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEJ1ZmZlckNyZWF0ZVNpemUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTm9kZUxpc3RHZXRTdHJpbmcnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2V0Q29tcHJlc3NNb2RlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNldFRyZWVEb2MnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sRE9NV3JhcEFkb3B0Tm9kZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxDb3B5Tm9kZUxpc3QnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTmV3RG9jTm9kZUVhdE5hbWUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sQWRkQ2hpbGRMaXN0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEdldE5vZGVQYXRoJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEZyZWVQcm9wTGlzdCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxOb2RlQWRkQ29udGVudCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVbnNldE5zUHJvcCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxGaXJzdEVsZW1lbnRDaGlsZCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxBZGROZXh0U2libGluZycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxJc0JsYW5rTm9kZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxOZXdHbG9iYWxOcycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxCdWZmZXJEdW1wJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbE5vZGVHZXRDb250ZW50JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbENvcHlEb2MnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sRE9NV3JhcE5ld0N0eHQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sRG9jRHVtcE1lbW9yeUVuYycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxCdWZHZXROb2RlQ29udGVudCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxUZXh0TWVyZ2UnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sRG9jRHVtcE1lbW9yeScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxOZXdEb2NQSScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxGcmVlTnMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sRG9jRHVtcCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxGcmVlUHJvcCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxHZXROb05zUHJvcCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTcGxpdFFOYW1lMicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxOZXdQcm9wJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFRleHRDb25jYXQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTm9kZUdldFNwYWNlUHJlc2VydmUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sQnVmZmVyU2hyaW5rJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFByZXZpb3VzRWxlbWVudFNpYmxpbmcnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTm9kZVNldENvbnRlbnRMZW4nIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTm9kZUFkZENvbnRlbnRMZW4nIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sQnVmZmVyV3JpdGVRdW90ZWRTdHJpbmcnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sQ29weVByb3AnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUmVwbGFjZU5vZGUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2V0RG9jQ29tcHJlc3NNb2RlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbENvcHlOb2RlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFVubGlua05vZGUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU3BsaXRRTmFtZTMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sRE9NV3JhcEFjcXVpcmVOc0Z1bmN0aW9uJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEJ1ZlVzZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxEb2NTZXRSb290RWxlbWVudCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxHZXRMaW5lTm8nIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sQnVmZmVyQ29udGVudCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxSZW1vdmVQcm9wJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbExhc3RFbGVtZW50Q2hpbGQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTm9kZUdldExhbmcnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sR2V0RG9jQ29tcHJlc3NNb2RlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEJ1Zk5vZGVEdW1wJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEdldE5zUHJvcCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxOZXdEb2NQcm9wJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEZyZWVOb2RlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbE5ld05zUHJvcCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxET01XcmFwRnJlZUN0eHQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sQnVmZmVyRGV0YWNoJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEJ1ZmZlclNldEFsbG9jYXRpb25TY2hlbWUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTmV3Q2hpbGQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2VhcmNoTnMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU3RyaW5nTGVuR2V0Tm9kZUxpc3QnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2F2ZUZvcm1hdEZpbGUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sQ29weVByb3BMaXN0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbERvY0Zvcm1hdER1bXAnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTm9kZVNldFNwYWNlUHJlc2VydmUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sSGFzUHJvcCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxCdWZmZXJDYXQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sQ3JlYXRlSW50U3Vic2V0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbE5ld0RvYycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxOZXdDaGFyUmVmJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbENvcHlOYW1lc3BhY2VMaXN0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbE5ld05vZGVFYXROYW1lJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEJ1ZmZlclJlc2l6ZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxOb2RlU2V0QmFzZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxOZXdDb21tZW50JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEJ1ZmZlckxlbmd0aCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxOZXdUZXh0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFVuc2V0UHJvcCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxHZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNhdmVGaWxlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbERvY0NvcHlOb2RlTGlzdCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTZXROcycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxOZXdOcycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxET01XcmFwUmVtb3ZlTm9kZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxBdHRyU2VyaWFsaXplVHh0Q29udGVudCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxDb3B5RHRkJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbE5ld0RvY1RleHQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTm9kZUxpc3RHZXRSYXdTdHJpbmcnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sQnVmZmVyQ3JlYXRlU3RhdGljJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbE5ld1JlZmVyZW5jZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxET01XcmFwUmVjb25jaWxlTmFtZXNwYWNlcycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxCdWZmZXJDQ2F0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEdldE5zTGlzdCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxCdWZmZXJHcm93JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbE5vZGVJc1RleHQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2V0QnVmZmVyQWxsb2NhdGlvblNjaGVtZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxJc1hIVE1MJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbE5vZGVTZXRMYW5nJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEZyZWVEdGQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sRnJlZU5vZGVMaXN0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEZyZWVEb2MnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sQnVmU2hyaW5rJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbE5ld0RvY05vZGUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2F2ZUZpbGVFbmMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2V0TnNQcm9wJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbERvY0R1bXBGb3JtYXRNZW1vcnknIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2V0TGlzdERvYycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxOb2RlU2V0TmFtZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxOZXdEb2NUZXh0TGVuJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbE5ld0R0ZCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxGcmVlTnNMaXN0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEdldExhc3RDaGlsZCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICA8L2ZpbGU+CisgICAgPGZpbGUgbmFtZT0ndXJpJz4KKyAgICAgPHN1bW1hcnk+bGlicmFyeSBvZiBnZW5lcmljIFVSSSByZWxhdGVkIHJvdXRpbmVzPC9zdW1tYXJ5PgorICAgICA8ZGVzY3JpcHRpb24+bGlicmFyeSBvZiBnZW5lcmljIFVSSSByZWxhdGVkIHJvdXRpbmVzIEltcGxlbWVudHMgUkZDIDIzOTYgPC9kZXNjcmlwdGlvbj4KKyAgICAgPGF1dGhvcj5EYW5pZWwgVmVpbGxhcmQgPC9hdXRob3I+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVVJJJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVVJJUHRyJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nX3htbFVSSScgdHlwZT0nc3RydWN0Jy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTm9ybWFsaXplVVJJUGF0aCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxQcmludFVSSScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxQYXJzZVVSSVJhdycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVUklVbmVzY2FwZVN0cmluZycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxQYXJzZVVSSScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxDcmVhdGVVUkknIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVVJJRXNjYXBlU3RyJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFBhdGhUb1VSSScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxDYW5vbmljUGF0aCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxGcmVlVVJJJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFBhcnNlVVJJUmVmZXJlbmNlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEJ1aWxkUmVsYXRpdmVVUkknIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2F2ZVVyaScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVUklFc2NhcGUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sQnVpbGRVUkknIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgPC9maWxlPgorICAgIDxmaWxlIG5hbWU9J3ZhbGlkJz4KKyAgICAgPHN1bW1hcnk+VGhlIERURCB2YWxpZGF0aW9uPC9zdW1tYXJ5PgorICAgICA8ZGVzY3JpcHRpb24+QVBJIGZvciB0aGUgRFREIGhhbmRsaW5nIGFuZCB0aGUgdmFsaWRpdHkgY2hlY2tpbmcgPC9kZXNjcmlwdGlvbj4KKyAgICAgPGF1dGhvcj5EYW5pZWwgVmVpbGxhcmQgPC9hdXRob3I+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0NUWFRfRklOSVNIX0RURF8wJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9DVFhUX0ZJTklTSF9EVERfMScgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxFbGVtZW50VGFibGUnIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxWYWxpZFN0YXRlUHRyJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sSURUYWJsZVB0cicgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbE5vdGF0aW9uVGFibGVQdHInIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxWYWxpZEN0eHQnIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxFbGVtZW50VGFibGVQdHInIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxSZWZUYWJsZVB0cicgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbE5vdGF0aW9uVGFibGUnIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxSZWZUYWJsZScgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFZhbGlkU3RhdGUnIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxBdHRyaWJ1dGVUYWJsZScgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEF0dHJpYnV0ZVRhYmxlUHRyJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sSURUYWJsZScgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFZhbGlkQ3R4dFB0cicgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J194bWxWYWxpZEN0eHQnIHR5cGU9J3N0cnVjdCcvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEZyZWVOb3RhdGlvblRhYmxlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFZhbGlkYXRlTmFtZVZhbHVlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNucHJpbnRmRWxlbWVudENvbnRlbnQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sQWRkUmVmJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbER1bXBBdHRyaWJ1dGVEZWNsJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFZhbGlkYXRlRG9jdW1lbnRGaW5hbCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxWYWxpZGF0ZUR0ZEZpbmFsJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbER1bXBBdHRyaWJ1dGVUYWJsZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxDcmVhdGVFbnVtZXJhdGlvbicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxWYWxpZGF0ZU9uZUF0dHJpYnV0ZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxWYWxpZEdldFZhbGlkRWxlbWVudHMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sSXNNaXhlZEVsZW1lbnQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sRHVtcE5vdGF0aW9uRGVjbCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxJc0lEJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEdldER0ZFFBdHRyRGVzYycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxOZXdEb2NFbGVtZW50Q29udGVudCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxGcmVlQXR0cmlidXRlVGFibGUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVmFsaWRpdHlFcnJvckZ1bmMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVmFsaWRhdGVBdHRyaWJ1dGVEZWNsJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEdldER0ZFFFbGVtZW50RGVzYycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxDb3B5Tm90YXRpb25UYWJsZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxWYWxpZGF0ZURvY3VtZW50JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFZhbGlkR2V0UG90ZW50aWFsQ2hpbGRyZW4nIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sQWRkTm90YXRpb25EZWNsJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFZhbGlkYXRlRWxlbWVudERlY2wnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sQWRkQXR0cmlidXRlRGVjbCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxHZXRJRCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxDb3B5RWxlbWVudFRhYmxlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEdldFJlZnMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU3ByaW50ZkVsZW1lbnRDb250ZW50JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFZhbGlkYXRlT25lRWxlbWVudCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxWYWxpZGF0ZU5tdG9rZW5WYWx1ZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxEdW1wRWxlbWVudFRhYmxlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFZhbGlkQ3R4dE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbER1bXBFbGVtZW50RGVjbCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxGcmVlRWxlbWVudENvbnRlbnQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVmFsaWRhdGVPbmVOYW1lc3BhY2UnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVmFsaWRhdGVQdXNoRWxlbWVudCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxJc1JlZicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxDb3B5RG9jRWxlbWVudENvbnRlbnQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sQWRkSUQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sRnJlZVJlZlRhYmxlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFZhbGlkYXRlTmFtZXNWYWx1ZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxSZW1vdmVJRCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxGcmVlRWxlbWVudFRhYmxlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEZyZWVJRFRhYmxlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEZyZWVWYWxpZEN0eHQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sQ29weUF0dHJpYnV0ZVRhYmxlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbENvcHlFbGVtZW50Q29udGVudCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxWYWxpZGF0ZUF0dHJpYnV0ZVZhbHVlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFJlbW92ZVJlZicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxWYWxpZGl0eVdhcm5pbmdGdW5jJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFZhbGlkYXRlUG9wRWxlbWVudCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxGcmVlRW51bWVyYXRpb24nIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sQ29weUVudW1lcmF0aW9uJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEdldER0ZEF0dHJEZXNjJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFZhbGlkYXRlRHRkJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbE5ld1ZhbGlkQ3R4dCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxEdW1wTm90YXRpb25UYWJsZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxBZGRFbGVtZW50RGVjbCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxWYWxpZE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFZhbGlkQnVpbGRDb250ZW50TW9kZWwnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVmFsaWRhdGVFbGVtZW50JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFZhbGlkYXRlTm90YXRpb25Vc2UnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVmFsaWRhdGVSb290JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFZhbGlkYXRlTm90YXRpb25EZWNsJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbE5ld0VsZW1lbnRDb250ZW50JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEdldER0ZEVsZW1lbnREZXNjJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEdldER0ZE5vdGF0aW9uRGVzYycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxWYWxpZGF0ZVB1c2hDRGF0YScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxWYWxpZGF0ZU5tdG9rZW5zVmFsdWUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sRnJlZURvY0VsZW1lbnRDb250ZW50JyB0eXBlPSdmdW5jdGlvbicvPgorICAgIDwvZmlsZT4KKyAgICA8ZmlsZSBuYW1lPSd4aW5jbHVkZSc+CisgICAgIDxzdW1tYXJ5PmltcGxlbWVudGF0aW9uIG9mIFhJbmNsdWRlPC9zdW1tYXJ5PgorICAgICA8ZGVzY3JpcHRpb24+QVBJIHRvIGhhbmRsZSBYSW5jbHVkZSBwcm9jZXNzaW5nLCBpbXBsZW1lbnRzIHRoZSBXb3JsZCBXaWRlIFdlYiBDb25zb3J0aXVtIExhc3QgQ2FsbCBXb3JraW5nIERyYWZ0IDEwIE5vdmVtYmVyIDIwMDM8L2Rlc2NyaXB0aW9uPgorICAgICA8YXV0aG9yPkRhbmllbCBWZWlsbGFyZCA8L2F1dGhvcj4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYSU5DTFVERV9QQVJTRV9URVhUJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hJTkNMVURFX1BBUlNFX1hQT0lOVEVSJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hJTkNMVURFX0hSRUYnIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWElOQ0xVREVfRkFMTEJBQ0snIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWElOQ0xVREVfTlMnIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWElOQ0xVREVfUEFSU0UnIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWElOQ0xVREVfTk9ERScgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYSU5DTFVERV9QQVJTRV9YTUwnIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWElOQ0xVREVfUEFSU0VfRU5DT0RJTkcnIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWElOQ0xVREVfT0xEX05TJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhJbmNsdWRlQ3R4dCcgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhJbmNsdWRlQ3R4dFB0cicgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhJbmNsdWRlUHJvY2Vzc1RyZWVGbGFnc0RhdGEnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWEluY2x1ZGVQcm9jZXNzRmxhZ3NEYXRhJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhJbmNsdWRlUHJvY2Vzc0ZsYWdzJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhJbmNsdWRlUHJvY2Vzc1RyZWUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWEluY2x1ZGVQcm9jZXNzTm9kZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYSW5jbHVkZUZyZWVDb250ZXh0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhJbmNsdWRlU2V0RmxhZ3MnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWEluY2x1ZGVQcm9jZXNzJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhJbmNsdWRlTmV3Q29udGV4dCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYSW5jbHVkZVByb2Nlc3NUcmVlRmxhZ3MnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgPC9maWxlPgorICAgIDxmaWxlIG5hbWU9J3hsaW5rJz4KKyAgICAgPHN1bW1hcnk+dW5maW5pc2hlZCBYTGluayBkZXRlY3Rpb24gbW9kdWxlPC9zdW1tYXJ5PgorICAgICA8ZGVzY3JpcHRpb24+dW5maW5pc2hlZCBYTGluayBkZXRlY3Rpb24gbW9kdWxlIDwvZGVzY3JpcHRpb24+CisgICAgIDxhdXRob3I+RGFuaWVsIFZlaWxsYXJkIDwvYXV0aG9yPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hMSU5LX0FDVFVBVEVfTk9ORScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hMSU5LX1NIT1dfTkVXJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWExJTktfQUNUVUFURV9BVVRPJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWExJTktfVFlQRV9OT05FJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWExJTktfU0hPV19SRVBMQUNFJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWExJTktfQUNUVUFURV9PTlJFUVVFU1QnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTElOS19UWVBFX0VYVEVOREVEJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWExJTktfVFlQRV9FWFRFTkRFRF9TRVQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTElOS19TSE9XX05PTkUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTElOS19TSE9XX0VNQkVEJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWExJTktfVFlQRV9TSU1QTEUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bGlua1RpdGxlJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neGxpbmtTaG93JyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neGxpbmtIUmVmJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neGxpbmtBY3R1YXRlJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neGxpbmtIYW5kbGVyJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neGxpbmtSb2xlJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neGxpbmtIYW5kbGVyUHRyJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neGxpbmtUeXBlJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nX3hsaW5rSGFuZGxlcicgdHlwZT0nc3RydWN0Jy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neGxpbmtTZXREZWZhdWx0RGV0ZWN0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3hsaW5rU2V0RGVmYXVsdEhhbmRsZXInIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neGxpbmtFeHRlbmRlZExpbmtGdW5rJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3hsaW5rRXh0ZW5kZWRMaW5rU2V0RnVuaycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bGlua1NpbXBsZUxpbmtGdW5rJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3hsaW5rTm9kZURldGVjdEZ1bmMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neGxpbmtHZXREZWZhdWx0SGFuZGxlcicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bGlua0lzTGluaycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bGlua0dldERlZmF1bHREZXRlY3QnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgPC9maWxlPgorICAgIDxmaWxlIG5hbWU9J3htbElPJz4KKyAgICAgPHN1bW1hcnk+aW50ZXJmYWNlIGZvciB0aGUgSS9PIGludGVyZmFjZXMgdXNlZCBieSB0aGUgcGFyc2VyPC9zdW1tYXJ5PgorICAgICA8ZGVzY3JpcHRpb24+aW50ZXJmYWNlIGZvciB0aGUgSS9PIGludGVyZmFjZXMgdXNlZCBieSB0aGUgcGFyc2VyIDwvZGVzY3JpcHRpb24+CisgICAgIDxhdXRob3I+RGFuaWVsIFZlaWxsYXJkIDwvYXV0aG9yPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J194bWxQYXJzZXJJbnB1dEJ1ZmZlcicgdHlwZT0nc3RydWN0Jy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nX3htbE91dHB1dEJ1ZmZlcicgdHlwZT0nc3RydWN0Jy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sSU9IVFRQUmVhZCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxJbnB1dE1hdGNoQ2FsbGJhY2snIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUmVnaXN0ZXJEZWZhdWx0T3V0cHV0Q2FsbGJhY2tzJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEZpbGVDbG9zZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxPdXRwdXRNYXRjaENhbGxiYWNrJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFBhcnNlcklucHV0QnVmZmVyUHVzaCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxJT0ZUUFJlYWQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUmVnaXN0ZXJIVFRQUG9zdENhbGxiYWNrcycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxJT0ZUUE9wZW4nIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sSU9GVFBDbG9zZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxGaWxlT3BlbicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbENoZWNrRmlsZW5hbWUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sT3V0cHV0T3BlbkNhbGxiYWNrJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sT3V0cHV0QnVmZmVyQ2xvc2UnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sQWxsb2NQYXJzZXJJbnB1dEJ1ZmZlcicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxPdXRwdXRCdWZmZXJDcmVhdGVJTycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxPdXRwdXRXcml0ZUNhbGxiYWNrJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbE91dHB1dEJ1ZmZlckZsdXNoJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbENoZWNrSFRUUElucHV0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFJlZ2lzdGVyT3V0cHV0Q2FsbGJhY2tzJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlTWVtJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbElPRlRQTWF0Y2gnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUmVnaXN0ZXJJbnB1dENhbGxiYWNrcycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxGcmVlUGFyc2VySW5wdXRCdWZmZXInIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUmVnaXN0ZXJEZWZhdWx0SW5wdXRDYWxsYmFja3MnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUGFyc2VySW5wdXRCdWZmZXJHcm93JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbE91dHB1dENsb3NlQ2FsbGJhY2snIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sQWxsb2NPdXRwdXRCdWZmZXInIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTm9OZXRFeHRlcm5hbEVudGl0eUxvYWRlcicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxPdXRwdXRCdWZmZXJDcmVhdGVCdWZmZXInIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sSU9IVFRQTWF0Y2gnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sSU9IVFRQT3BlbicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUlPJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZkJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbE5vcm1hbGl6ZVdpbmRvd3NQYXRoJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbElucHV0UmVhZENhbGxiYWNrJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlU3RhdGljJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbE91dHB1dEJ1ZmZlckdldENvbnRlbnQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sSU9IVFRQQ2xvc2UnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sT3V0cHV0QnVmZmVyV3JpdGVFc2NhcGUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sT3V0cHV0QnVmZmVyR2V0U2l6ZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxDbGVhbnVwT3V0cHV0Q2FsbGJhY2tzJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbElucHV0T3BlbkNhbGxiYWNrJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFBhcnNlcklucHV0QnVmZmVyUmVhZCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxGaWxlTWF0Y2gnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUG9wSW5wdXRDYWxsYmFja3MnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sRmlsZVJlYWQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFBhcnNlckdldERpcmVjdG9yeScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxPdXRwdXRCdWZmZXJXcml0ZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxDbGVhbnVwSW5wdXRDYWxsYmFja3MnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sSW5wdXRDbG9zZUNhbGxiYWNrJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbElPSFRUUE9wZW5XJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgPC9maWxlPgorICAgIDxmaWxlIG5hbWU9J3htbGF1dG9tYXRhJz4KKyAgICAgPHN1bW1hcnk+QVBJIHRvIGJ1aWxkIHJlZ2V4cCBhdXRvbWF0YTwvc3VtbWFyeT4KKyAgICAgPGRlc2NyaXB0aW9uPnRoZSBBUEkgdG8gYnVpbGQgcmVnZXhwIGF1dG9tYXRhIDwvZGVzY3JpcHRpb24+CisgICAgIDxhdXRob3I+RGFuaWVsIFZlaWxsYXJkIDwvYXV0aG9yPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEF1dG9tYXRhU3RhdGVQdHInIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxBdXRvbWF0YScgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEF1dG9tYXRhUHRyJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sQXV0b21hdGFTdGF0ZScgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEZyZWVBdXRvbWF0YScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxBdXRvbWF0YU5ld0NvdW50ZXInIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sQXV0b21hdGFHZXRJbml0U3RhdGUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sQXV0b21hdGFOZXdUcmFuc2l0aW9uMicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxBdXRvbWF0YU5ld1N0YXRlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEF1dG9tYXRhTmV3Q291bnRUcmFucycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxBdXRvbWF0YU5ld09uY2VUcmFuczInIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sQXV0b21hdGFOZXdBbGxUcmFucycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxBdXRvbWF0YU5ld0NvdW50ZWRUcmFucycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxBdXRvbWF0YU5ld0NvdW50ZXJUcmFucycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxBdXRvbWF0YUNvbXBpbGUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sQXV0b21hdGFOZXdOZWdUcmFucycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxBdXRvbWF0YU5ld0Vwc2lsb24nIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sQXV0b21hdGFOZXdDb3VudFRyYW5zMicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxOZXdBdXRvbWF0YScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxBdXRvbWF0YVNldEZpbmFsU3RhdGUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sQXV0b21hdGFOZXdPbmNlVHJhbnMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sQXV0b21hdGFOZXdUcmFuc2l0aW9uJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEF1dG9tYXRhSXNEZXRlcm1pbmlzdCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICA8L2ZpbGU+CisgICAgPGZpbGUgbmFtZT0neG1sZXJyb3InPgorICAgICA8c3VtbWFyeT5lcnJvciBoYW5kbGluZzwvc3VtbWFyeT4KKyAgICAgPGRlc2NyaXB0aW9uPnRoZSBBUEkgdXNlZCB0byByZXBvcnQgZXJyb3JzIDwvZGVzY3JpcHRpb24+CisgICAgIDxhdXRob3I+RGFuaWVsIFZlaWxsYXJkIDwvYXV0aG9yPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9EVERfQVRUUklCVVRFX1ZBTFVFJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1JOR1BfUEFSQU1fTkFNRV9NSVNTSU5HJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1JOR1BfUEFSRU5UUkVGX05PX1BBUkVOVCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9JT19FSVNDT05OJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1JOR1BfVkFMVUVfRU1QVFknIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9JTVBPUlRfU0NIRU1BX05PVF9VUkknIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9FTEVNX05PTkFNRV9OT1JFRicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9DSEVDS19OT1RfRFREJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVBfUzRTX0FUVFJfTUlTU0lORycgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFQX1NSQ19JTVBPUlQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BVl9WQUxVRScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9YUEFUSF9VTktOT1dOX0ZVTkNfRVJST1InIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRVJSX0RPQ1VNRU5UX1NUQVJUJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1JOR1BfUEFUX0RBVEFfRVhDRVBUX1RFWFQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9BR19QUk9QU19DT1JSRUNUJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVBfU1JDX0lNUE9SVF8yXzEnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRFREX05PVF9TVEFOREFMT05FJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0hUVFBfVVNFX0lQJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0VSUl9YTUxERUNMX05PVF9TVEFSVEVEJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVZfRE9DVU1FTlRfRUxFTUVOVF9NSVNTSU5HJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVZfRUxFTUVOVF9DT05URU5UJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzNfMV8yJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVBfU1JDX0lNUE9SVF8yJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVBfVU5LTk9XTl9TQ0hFTUFTX0NISUxEJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0VSUl9MVF9JTl9BVFRSSUJVVEUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfWElOQ0xVREVfRU5USVRZX0RFRl9NSVNNQVRDSCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQVZFX05PVF9VVEY4JyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0VSUl9HVF9SRVFVSVJFRCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9YUFRSX0VYVFJBX09CSkVDVFMnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9JTlZBTElEX0FUVFJfVVNFJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0lPX1VOS05PV04nIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUk5HUF9JTlRFUkxFQVZFX0VNUFRZJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVBfSU5WQUxJRF9BVFRSX0lOTElORV9DT01CSU5BVElPTicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9JT19FQ0hJTEQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUk5HUF9OQU1FX01JU1NJTkcnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRVJSX0NPTkRTRUNfTk9UX1NUQVJURUQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9VTktOT1dOX0NPTVBMRVhDT05URU5UX0NISUxEJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVBfU1JDX1NJTVBMRV9UWVBFXzInIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfSU9fRUlOVFInIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9TUkNfU0lNUExFX1RZUEVfMScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9STkdQX1hNTE5TX05BTUUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUk5HUF9BVFRSSUJVVEVfTk9PUCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFQX1JFREVGSU5FRF9HUk9VUCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFQX0lNUE9SVF9OQU1FU1BBQ0VfTk9UX1VSSScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9FUlJfQ0hBUlJFRl9JTl9FUElMT0cnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRFREX0lEX1NVQlNFVCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFQX0ZBSUxFRF9CVUlMRF9JTVBPUlQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9VTktOT1dOX0FUVFJHUlBfQ0hJTEQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfWFBUUl9DSElMRFNFUV9TVEFSVCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9FUlJfRVhUX1NVQlNFVF9OT1RfRklOSVNIRUQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRlJPTV9EVEQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfQ0hFQ0tfTk9UX0FUVFInIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRFREX0FUVFJJQlVURV9ERUZBVUxUJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0ZST01fTU9EVUxFJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVZfRVhUUkFDT05URU5UJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1JOR1BfRUxFTV9DT05URU5UX0VNUFRZJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVBfV0FSTl9VTkxPQ0FURURfU0NIRU1BJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0lPX0VNTElOSycgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9FUlJfTk1UT0tFTl9SRVFVSVJFRCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9STkdQX0FOWU5BTUVfQVRUUl9BTkNFU1RPUicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFQX1NSQ19BVFRSSUJVVEVfM18xJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0VSUl9QSV9OT1RfU1RBUlRFRCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9STkdQX1NUQVJUX0NPTlRFTlQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9TUkNfQVRUUklCVVRFXzNfMicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9STkdQX0dST1VQX0FUVFJfQ09ORkxJQ1QnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUk5HUF9FTVBUWScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9FUlJfRE9DVU1FTlRfRU1QVFknIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfWElOQ0xVREVfUkVDVVJTSU9OJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVBfU1JDX1JFU09MVkUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BVl9DVkNfRkFDRVRfVkFMSUQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9SRVNUUklDVElPTl9OT05BTUVfTk9SRUYnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfSTE4Tl9OT19PVVRQVVQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfQ0hFQ0tfRk9VTkRfQVRUUklCVVRFJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0VSUl9TVEFOREFMT05FX1ZBTFVFJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVBfUkVERUZJTkVEX0FUVFInIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRVJSX0VOVElUWV9MT09QJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0lPX0VJTlBST0dSRVNTJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVBfUkVERUZJTkVEX05PVEFUSU9OJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0hUTUxfU1RSVUNVUkVfRVJST1InIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRFREX0lOVkFMSURfREVGQVVMVCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9GUk9NX1NDSEVNQVRST05WJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0RURF9FTVBUWV9OT1RBVElPTicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9STkdQX0VMRU1FTlRfRU1QVFknIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9TNFNfRUxFTV9OT1RfQUxMT1dFRCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFQX0lOQ0xVREVfU0NIRU1BX05PVF9VUkknIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUk5HUF9JTlZBTElEX1ZBTFVFJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18xXzInIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzFfMScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFQX1VOS05PV05fU0lNUExFVFlQRV9DSElMRCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9FUlJfUEVSRUZfQVRfRU9GJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0RURF9OT1RfRU1QVFknIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUk5HUF9QQVRfU1RBUlRfTElTVCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9FUlJfTFRfUkVRVUlSRUQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzJfMicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFQX0FVX1BST1BTX0NPUlJFQ1RfMicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9FUlJfQVRUTElTVF9OT1RfU1RBUlRFRCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9FUlJfUENEQVRBX1JFUVVJUkVEJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVZfSU5URVJOQUwnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRVJSX1NUUklOR19OT1RfQ0xPU0VEJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0VSUl9FTlRJVFlSRUZfSU5fRFREJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1hQQVRIX1ZBUklBQkxFX1JFRl9FUlJPUicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9STkdQX1BBVF9OU05BTUVfRVhDRVBUX05TTkFNRScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9JT19FQ0FOQ0VMRUQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BVl9DVkNfREFUQVRZUEVfVkFMSURfMV8yXzInIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BVl9DVkNfREFUQVRZUEVfVkFMSURfMV8yXzMnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BVl9DVkNfREFUQVRZUEVfVkFMSURfMV8yXzEnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BVl9OT1RTSU1QTEUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BVl9DVkNfTUlORVhDTFVTSVZFX1ZBTElEJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0lPX0VBRERSSU5VU0UnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9VTktOT1dOX0xJU1RfQ0hJTEQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRFREX1VOS05PV05fSUQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzRfMicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFQX0RFUklWQVRJT05fT0tfUkVTVFJJQ1RJT05fNF8zJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVBfREVSSVZBVElPTl9PS19SRVNUUklDVElPTl80XzEnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfSU9fRURPTScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9DSEVDS19OT1RfRUxFTV9ERUNMJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1JOR1BfREVGSU5FX0NSRUFURV9GQUlMRUQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9TUkNfRUxFTUVOVF8yXzInIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9TUkNfRUxFTUVOVF8yXzEnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUk5HUF9JTlZBTElEX1VSSScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9STkdQX1BBVF9EQVRBX0VYQ0VQVF9MSVNUJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1JOR1BfRVhDRVBUX05PX0NPTlRFTlQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUk5HUF9FWFRFUk5BTFJFRl9FTVRQWScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9FUlJfU1BBQ0VfUkVRVUlSRUQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BVl9DVkNfTUFYTEVOR1RIX1ZBTElEJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0RURF9ESUZGRVJFTlRfUFJFRklYJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVZfTk9UREVURVJNSU5JU1QnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9VTktOT1dOX0VYVEVOU0lPTl9DSElMRCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFWX01JU1NJTkcnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfSU9fRUZBVUxUJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1hJTkNMVURFX1hQVFJfRkFJTEVEJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0ZST01fRlRQJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1JOR1BfUEFSRU5UUkVGX0NSRUFURV9GQUlMRUQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRVJSX1JFU0VSVkVEX1hNTF9OQU1FJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVBfU1JDX0lNUE9SVF8zXzInIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9TUkNfSU1QT1JUXzNfMScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9JT19FQkFETVNHJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1hQVFJfUkVTT1VSQ0VfRVJST1InIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUk5HUF9BVFRSX0NPTkZMSUNUJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0RURF9FTEVNX1JFREVGSU5FRCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9YSU5DTFVERV9VTktOT1dOX0VOQ09ESU5HJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0NBVEFMT0dfUFJFRkVSX1ZBTFVFJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0VSUl9QRVJFRl9TRU1JQ09MX01JU1NJTkcnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9TUkNfSU1QT1JUXzFfMScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFQX1NSQ19JTVBPUlRfMV8yJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVBfVFlQRV9BTkRfU1VCVFlQRScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFQX05PX1hNTE5TJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0lPX0VOT1RESVInIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0FWRV9DSEFSX0lOVkFMSUQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRVJSX0VOVElUWVJFRl9OT19OQU1FJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0RURF9JRF9GSVhFRCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFQX0FfUFJPUFNfQ09SUkVDVF8zJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVBfQV9QUk9QU19DT1JSRUNUXzInIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfV0FSX05TX0NPTFVNTicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFQX0NPU19WQUxJRF9ERUZBVUxUXzJfMScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9FUlJfRVhUUkFfQ09OVEVOVCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFQX1VOS05PV05fU0VRVUVOQ0VfQ0hJTEQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUk5HUF9QQVRfREFUQV9FWENFUFRfR1JPVVAnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRVJSX0xJVEVSQUxfTk9UX1NUQVJURUQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9JTlZBTElEX1JFRl9BTkRfU1VCVFlQRScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9STkdQX0VMRU1fVEVYVF9DT05GTElDVCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFWX0NWQ19UWVBFXzEnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfWFBBVEhfSU5WQUxJRF9DSEFSX0VSUk9SJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzNfMl8zJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0NIRUNLX05PX0RJQ1QnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfWElOQ0xVREVfWFBUUl9SRVNVTFQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfSU9fRU5YSU8nIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfWElOQ0xVREVfRlJBR01FTlRfSUQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRlJPTV9IVFRQJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0RURF9OT1RBVElPTl9SRURFRklORUQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfV0FSX0xBTkdfVkFMVUUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9BVV9QUk9QU19DT1JSRUNUJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0VSUl9TRVBBUkFUT1JfUkVRVUlSRUQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9TNFNfQVRUUl9OT1RfQUxMT1dFRCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9YSU5DTFVERV9GQUxMQkFDS19OT1RfSU5fSU5DTFVERScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9STkdQX0FUVFJJQlVURV9DT05URU5UJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0RURF9YTUxJRF9UWVBFJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1JOR1BfSU5URVJMRUFWRV9BREQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRFREX0FUVFJJQlVURV9SRURFRklORUQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUk5HUF9VTktOT1dOX0FUVFJJQlVURScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9FUlJfVU5ERUNMQVJFRF9FTlRJVFknIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRVJSX1BVQklEX1JFUVVJUkVEJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0lPX0VOT1RTT0NLJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1JOR1BfUEFUX1NUQVJUX0dST1VQJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1JOR1BfTk9UQUxMT1dFRF9OT1RfRU1QVFknIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BVl9DVkNfQVRUUklCVVRFXzQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BVl9DVkNfQVRUUklCVVRFXzMnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BVl9DVkNfQVRUUklCVVRFXzInIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BVl9DVkNfQVRUUklCVVRFXzEnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9QUkVGSVhfVU5ERUZJTkVEJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1JOR1BfUEFUX0FUVFJfRUxFTScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFWX0NWQ19FTFRfNF8zJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0ZUUF9BQ0NOVCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFWX0NWQ19FTFRfNF8xJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1JOR1BfUEFUX1NUQVJUX0RBVEEnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfSU9fRU5PRU5UJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVBfU1JDX0FUVFJJQlVURV9HUk9VUF8zJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVBfU1JDX0FUVFJJQlVURV9HUk9VUF8yJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0ZST01fQzE0TicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9JT19FSU8nIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRFREX05PVF9QQ0RBVEEnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9JTlZBTElEX0FUVFJfQ09NQklOQVRJT04nIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUk5HUF9QQVJBTV9GT1JCSURERU4nIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9VTktOT1dOX1BST0NFU1NDT05URU5UX0NISUxEJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0ZST01fV1JJVEVSJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0VSUl9VTlNVUFBPUlRFRF9FTkNPRElORycgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9STkdQX1BBVF9OU05BTUVfRVhDRVBUX0FOWU5BTUUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRVJSX0VOVElUWVJFRl9JTl9QUk9MT0cnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BVl9DVkNfSURDJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0lPX0VOT1RUWScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFQX1dBUk5fU0tJUF9TQ0hFTUEnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRFREX1VOS05PV05fTk9UQVRJT04nIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRlJPTV9EQVRBVFlQRScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9FUlJfV0FSTklORycgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFQX0FUVFJGT1JNREVGQVVMVF9WQUxVRScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9JT19FSVNESVInIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfWElOQ0xVREVfTVVMVElQTEVfUk9PVCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFQX1VOS05PV05fVU5JT05fQ0hJTEQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfWFBBVEhfTUVNT1JZX0VSUk9SJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVBfTk9ST09UJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVBfV0FSTl9BVFRSX1JFREVDTF9QUk9IJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVZfQ1ZDX0VMVF8zXzJfMScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFWX0NWQ19FTFRfM18yXzInIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfWFBBVEhfVU5DTE9TRURfRVJST1InIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfQ0hFQ0tfRk9VTkRfTk9UQVRJT04nIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfQ0hFQ0tfTk9fTkVYVCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9DSEVDS19OT1RfQVRUUl9ERUNMJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0NIRUNLX05PX1BBUkVOVCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFQX1NVUEVSTlVNRVJPVVNfTElTVF9JVEVNX1RZUEUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BVl9DVkNfVE9UQUxESUdJVFNfVkFMSUQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfSU9fRU5PTENLJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1hJTkNMVURFX0RFUFJFQ0FURURfTlMnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUk5HUF9DSE9JQ0VfRU1QVFknIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRVJSX0xJVEVSQUxfTk9UX0ZJTklTSEVEJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0VSUl9FTlRJVFlSRUZfU0VNSUNPTF9NSVNTSU5HJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0RURF9NVUxUSVBMRV9JRCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9GUk9NX1hQQVRIJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1RSRUVfSU5WQUxJRF9ERUMnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9FWFRFTlNJT05fTk9fQkFTRScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFQX0VfUFJPUFNfQ09SUkVDVF81JyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVBfRV9QUk9QU19DT1JSRUNUXzQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfQ0hFQ0tfRk9VTkRfRE9DVFlQRScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFQX0VfUFJPUFNfQ09SUkVDVF8zJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVBfRV9QUk9QU19DT1JSRUNUXzInIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9VTktOT1dOX0FUVFJJQlVURV9HUk9VUCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFQX05PX1hTSScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFQX1NSQ19TSU1QTEVfVFlQRV8zJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzEnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfQ0hFQ0tfTk9fTkFNRScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9FUlJfQ09ORFNFQ19OT1RfRklOSVNIRUQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfQ0hFQ0tfRk9VTkRfUEknIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRVJSX0VRVUFMX1JFUVVJUkVEJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVBfSU5WQUxJRF9XSElURV9TUEFDRScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9EVERfVU5LTk9XTl9BVFRSSUJVVEUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BVl9DVkNfRUxUXzVfMV8yJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1JOR1BfSU5URVJMRUFWRV9DUkVBVEVfRkFJTEVEJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0lPX0VBR0FJTicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9FUlJfTk9UQVRJT05fTk9UX1NUQVJURUQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRFREX0VOVElUWV9UWVBFJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVBfU1JDX1NJTVBMRV9UWVBFXzQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUk5HUF9HUkFNTUFSX0NPTlRFTlQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRlRQX1VSTF9TWU5UQVgnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRVJSX05PTkUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9VTktOT1dOX0NPTVBMRVhUWVBFX0NISUxEJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1hQQVRIX05VTUJFUl9FUlJPUicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFQX1VOS05PV05fRkFDRVRfVFlQRScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9STkdQX1BBVF9TVEFSVF9PTkVNT1JFJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0VSUl9DT05EU0VDX0lOVkFMSUQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfWElOQ0xVREVfSU5DTFVERV9JTl9JTkNMVURFJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0VSUl9FTlRJVFlSRUZfSU5fRVBJTE9HJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1JOR1BfR1JBTU1BUl9NSVNTSU5HJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1JOR1BfR1JBTU1BUl9OT19TVEFSVCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFQX1dJTERDQVJEX0lOVkFMSURfTlNfTUVNQkVSJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1JOR1BfUEFUX0xJU1RfSU5URVJMRUFWRScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfM18yXzInIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9TUkNfRUxFTUVOVF8zJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVBfVU5LTk9XTl9SRUYnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUk5HUF9QQVRfREFUQV9FWENFUFRfRU1QVFknIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRlJPTV9JMThOJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0RURF9NSVNTSU5HX0FUVFJJQlVURScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9JT19FTUZJTEUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUk5HUF9FTVBUWV9OT1RfRU1QVFknIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRVJSX1ZFUlNJT05fTUlTU0lORycgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9JT19OT19JTlBVVCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9OU19FUlJfVU5ERUZJTkVEX05BTUVTUEFDRScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFWX0NWQ19NSU5MRU5HVEhfVkFMSUQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BVl9DVkNfV0lMRENBUkQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfSU9fV1JJVEUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRVJSX0VOVElUWV9QRV9JTlRFUk5BTCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9EVERfWE1MSURfVkFMVUUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9DT1NfU1RfREVSSVZFRF9PS18yXzInIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9DT1NfU1RfREVSSVZFRF9PS18yXzEnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfQ0hFQ0tfTk9UX05TX0RFQ0wnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUk5HUF9QQVRfREFUQV9FWENFUFRfRUxFTScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9JT19ORVRXT1JLX0FUVEVNUFQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfTU9EVUxFX0NMT1NFJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1JOR1BfUEFUX1NUQVJUX0VNUFRZJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0VSUl9BVFRMSVNUX05PVF9GSU5JU0hFRCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9YSU5DTFVERV9URVhUX0ZSQUdNRU5UJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0MxNE5fUkVMQVRJVkVfTkFNRVNQQUNFJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVBfRkFJTEVEX0xPQUQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRVJSX0FUVFJJQlVURV9XSVRIT1VUX1ZBTFVFJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0VSUl9OQU1FX1RPT19MT05HJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1hQVFJfU1lOVEFYX0VSUk9SJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVBfVU5LTk9XTl9UWVBFJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0NIRUNLX1dST05HX0RPQycgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9OU19FUlJfWE1MX05BTUVTUEFDRScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9FUlJfRE9DVFlQRV9OT1RfRklOSVNIRUQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfWElOQ0xVREVfUEFSU0VfVkFMVUUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUk5HUF9OU05BTUVfTk9fTlMnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9VTktOT1dOX0lOQ0xVREVfQ0hJTEQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9TUkNfSU1QT1JUXzJfMicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9DSEVDS19GT1VORF9FTEVNRU5UJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1JOR1BfUEFSRU5UUkVGX05BTUVfSU5WQUxJRCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9OU19FUlJfUU5BTUUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRFREX05PVEFUSU9OX1ZBTFVFJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVBfU1RfUFJPUFNfQ09SUkVDVF8yJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVBfU1RfUFJPUFNfQ09SUkVDVF8zJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0kxOE5fTk9fTkFNRScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFQX1NUX1BST1BTX0NPUlJFQ1RfMScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9STkdQX0VYQ0VQVF9NSVNTSU5HJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVBfQ09TX0NUX0VYVEVORFNfMV8yJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVZfQ1ZDX01BWElOQ0xVU0lWRV9WQUxJRCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFQX1VOS05PV05fQUxMX0NISUxEJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0RURF9NSVhFRF9DT1JSVVBUJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0VSUl9FTlRJVFlfQk9VTkRBUlknIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9FTEVNRk9STURFRkFVTFRfVkFMVUUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfSTE4Tl9FWENFU1NfSEFORExFUicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9STkdQX0RBVEFfQ09OVEVOVCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9FUlJfU1RSSU5HX05PVF9TVEFSVEVEJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1JOR1BfRVhDRVBUX01VTFRJUExFJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0lPX0VERUFETEsnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRVJSX0FUVFJJQlVURV9OT1RfRklOSVNIRUQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BVl9DVkNfRlJBQ1RJT05ESUdJVFNfVkFMSUQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9TUkNfTElTVF9JVEVNVFlQRV9PUl9TSU1QTEVUWVBFJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0lPX0VJTlZBTCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9JT19FTkFNRVRPT0xPTkcnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUk5HUF9FWFRFUk5BTF9SRUZfRkFJTFVSRScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9STkdQX1BBVF9TVEFSVF9URVhUJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0NIRUNLX05PX0RPQycgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9EVERfSU5WQUxJRF9DSElMRCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFWX0NWQ19QQVRURVJOX1ZBTElEJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1JOR1BfVFlQRV9NSVNTSU5HJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzNfMl8xJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0VSUl9UQUdfTkFNRV9NSVNNQVRDSCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMl8zXzJfMycgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9FUlJfRU5DT0RJTkdfTkFNRScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMl8zXzJfNScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFWX01JU0MnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfSU9fRUNPTk5SRUZVU0VEJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0VSUl9YTUxERUNMX05PVF9GSU5JU0hFRCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFQX1BfUFJPUFNfQ09SUkVDVF8xJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0NIRUNLX0ZPVU5EX0VOVElUWVJFRicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFWX0NWQ19FTFRfNV8yXzJfMScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9YSU5DTFVERV9CVUlMRF9GQUlMRUQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRVJSX1BFUkVGX05PX05BTUUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRVJSX0VOVElUWVJFRl9BVF9FT0YnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9OT0FUVFJfTk9SRUYnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUk5HUF9BVFRSSUJVVEVfQ0hJTERSRU4nIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfWFBBVEhfVU5ERUZfUFJFRklYX0VSUk9SJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVBfU1JDX0FUVFJJQlVURV8xJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NBVkVfTk9fRE9DVFlQRScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9FUlJfUEVSRUZfSU5fRVBJTE9HJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVBfU1JDX0FUVFJJQlVURV8yJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVBfU1JDX0FUVFJJQlVURV80JyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVBfQ1RfUFJPUFNfQ09SUkVDVF80JyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0VSUl9VUklfRlJBR01FTlQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfSU9fRVNQSVBFJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0RURF9OT19ET0MnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9DVF9QUk9QU19DT1JSRUNUXzEnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9OT1RfU0NIRU1BJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0ZST01fU0NIRU1BU1YnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRlJPTV9TQ0hFTUFTUCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFWX0NWQ19FTFRfM18xJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVBfQ09TX1ZBTElEX0RFRkFVTFRfMScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9FUlJfTUlYRURfTk9UX0ZJTklTSEVEJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0RURF9TVEFOREFMT05FX1dISVRFX1NQQUNFJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVBfSU5WQUxJRF9GQUNFVCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9JT19FTk9URU1QVFknIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BVl9XUk9OR0VMRU0nIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUk5HUF9UWVBFX05PVF9GT1VORCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9JT19CVUZGRVJfRlVMTCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFQX0VfUFJPUFNfQ09SUkVDVF82JyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0RURF9DT05URU5UX0VSUk9SJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVBfVU5LTk9XTl9NRU1CRVJfVFlQRScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFWX05PUk9PVCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFWX0NWQ19FTFRfNicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFQX1JFREVGSU5FRF9UWVBFJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0VSUl9DREFUQV9OT1RfRklOSVNIRUQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BVl9DVkNfVFlQRV8zXzFfMicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFWX0NWQ19UWVBFXzNfMV8xJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0NIRUNLX05TX0FOQ0VTVE9SJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0VSUl9ET0NVTUVOVF9FTkQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRVJSX0VOVElUWV9OT1RfU1RBUlRFRCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFWX0NWQ19FTlVNRVJBVElPTl9WQUxJRCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9FUlJfQ0hBUlJFRl9JTl9QUk9MT0cnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUk5HUF9JTlZBTElEX0RFRklORV9OQU1FJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NBVkVfVU5LTk9XTl9FTkNPRElORycgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9FUlJfQ09ORFNFQ19JTlZBTElEX0tFWVdPUkQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BVl9DVkNfRUxUXzcnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BVl9OT1RZUEUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRVJSX05PX01FTU9SWScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9GUk9NX0lPJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0hUTUxfVU5LTk9XTl9UQUcnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9JTlZBTElEX0FUVFJfTkFNRScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9STkdQX1BBVF9TVEFSVF9BVFRSJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0NIRUNLX1dST05HX05BTUUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BVl9OT1RFTVBUWScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9JT19FUk9GUycgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9JT19FWERFVicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9YSU5DTFVERV9OT19GQUxMQkFDSycgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9STkdQX1VSSV9GUkFHTUVOVCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9GUk9NX01FTU9SWScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9FUlJfTUlTU0lOR19FTkNPRElORycgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9STkdQX0VMRU1FTlRfQ09OVEVOVCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9STkdQX1VOS05PV05fVFlQRV9MSUInIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9OT1RfREVURVJNSU5JU1RJQycgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9YUEFUSF9FWFBSRVNTSU9OX09LJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0hUVFBfVU5LTk9XTl9IT1NUJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0VSUl9FTlRJVFlfTk9UX0ZJTklTSEVEJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0RURF9OT19EVEQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUk5HUF9QQVRfT05FTU9SRV9HUk9VUF9BVFRSJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0VSUl9WQUxVRV9SRVFVSVJFRCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9STkdQX1BBVF9MSVNUX1RFWFQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUk5HUF9VUklfTk9UX0FCU09MVVRFJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVBfVU5JT05fTk9UX0VYUFJFU1NJQkxFJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1JOR1BfUEFUX0RBVEFfRVhDRVBUX0FUVFInIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRlRQX1BBU1ZfQU5TV0VSJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0VSUl9WRVJTSU9OX01JU01BVENIJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVBfSU5WQUxJRF9CT09MRUFOJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVZfQ1ZDX0VMVF80XzInIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRFREX0VMRU1fREVGQVVMVF9OQU1FU1BBQ0UnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9SRUdFWFBfSU5WQUxJRCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfMScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9DMTROX0NSRUFURV9TVEFDSycgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFQX1VOS05PV05fQU5ZQVRUUklCVVRFX0NISUxEJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVZfQ1ZDX0VMVF81XzJfMScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9GUk9NX1JFTEFYTkdWJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1JOR1BfUEFUX0FOWU5BTUVfRVhDRVBUX0FOWU5BTUUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfQ0hFQ0tfRU5USVRZX1RZUEUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BVl9DT05TVFJVQ1QnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUk5HUF9FWFRFUk5BTFJFRl9SRUNVUlNFJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1JOR1BfQ0hPSUNFX0NPTlRFTlQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUk5HUF9VTktOT1dOX0NPTUJJTkUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUk5HUF9TVEFSVF9FTVBUWScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9JT19FTkNPREVSJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1dBUl9OU19VUkknIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9TUkNfVU5JT05fTUVNQkVSVFlQRVNfT1JfU0lNUExFVFlQRVMnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9BVFRSR1JQX05PTkFNRV9OT1JFRicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFQX1NSQ19BVFRSSUJVVEVfR1JPVVBfMScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9FUlJfRU5USVRZX0lTX0VYVEVSTkFMJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1dBUl9VTkRFQ0xBUkVEX0VOVElUWScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFWX0FUVFJVTktOT1dOJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0lPX0VOT0RFVicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9STkdQX1BBVF9EQVRBX0VYQ0VQVF9SRUYnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRlJPTV9QQVJTRVInIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfQzE0Tl9DUkVBVEVfQ1RYVCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9YSU5DTFVERV9URVhUX0RPQ1VNRU5UJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVBfVU5LTk9XTl9QUkVGSVgnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfWElOQ0xVREVfRkFMTEJBQ0tTX0lOX0lOQ0xVREUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfWFBBVEhfSU5WQUxJRF9UWVBFJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0NIRUNLX05TX1NDT1BFJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0lPX0ZMVVNIJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0NBVEFMT0dfRU5UUllfQlJPS0VOJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1hQQVRIX0lOVkFMSURfQ1RYVF9QT1NJVElPTicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFWX0NWQ19MRU5HVEhfVkFMSUQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRFREX1NUQU5EQUxPTkVfREVGQVVMVEVEJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0RURF9VTktOT1dOX0VMRU0nIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfV0FSX1NQQUNFX1ZBTFVFJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVBfVU5LTk9XTl9GQUNFVF9DSElMRCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFQX05PVEFUSU9OX05PX05BTUUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfWFBBVEhfU1RBUlRfTElURVJBTF9FUlJPUicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9FUlJfRUxFTUNPTlRFTlRfTk9UX1NUQVJURUQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUk5HUF9JTkNMVURFX0ZBSUxVUkUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRVJSX0NPTU1FTlRfTk9UX0ZJTklTSEVEJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzNfMV8yJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0JVRl9PVkVSRkxPVycgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9JT19FTVNHU0laRScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9GUk9NX0NBVEFMT0cnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BVl9BVFRSSU5WQUxJRCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9OU19FUlJfRU1QVFknIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BVl9DVkNfRUxUXzInIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRlJPTV9IVE1MJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVBfSU5WQUxJRF9NQVhPQ0NVUlMnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9VTktOT1dOX1JFU1RSSUNUSU9OX0NISUxEJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1JOR1BfRUxFTUVOVF9OQU1FJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1JOR1BfUEFUX1NUQVJUX1ZBTFVFJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1hQQVRIX0lOVkFMSURfQVJJVFknIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUk5HUF9FUlJPUl9UWVBFX0xJQicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9YUFRSX0VWQUxfRkFJTEVEJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0RURF9OT19ST09UJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVBfSU1QT1JUX1JFREVGSU5FX05TTkFNRScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFQX1VOS05PV05fQVRUUl9DSElMRCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9FUlJfVU5LTk9XTl9FTkNPRElORycgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9STkdQX1JFRl9OT19OQU1FJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0MxNE5fVU5LTk9XX05PREUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9SRUZfQU5EX1NVQlRZUEUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUk5HUF9QQVRfT05FTU9SRV9JTlRFUkxFQVZFX0FUVFInIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfQzE0Tl9JTlZBTElEX05PREUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUk5HUF9URVhUX0VYUEVDVEVEJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1hQQVRIX1VOREVGX1ZBUklBQkxFX0VSUk9SJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVZfTk9ST0xMQkFDSycgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFWX0ZBQ0VUJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0VSUl9JTlZBTElEX0RFQ19DSEFSUkVGJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1JOR1BfTkVFRF9DT01CSU5FJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVZfTk9UVE9QTEVWRUwnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfQ0FUQUxPR19NSVNTSU5HX0FUVFInIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUk5HUF9QQVRfTElTVF9MSVNUJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVZfQ1ZDX1RZUEVfMicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9STkdQX0VYQ0VQVF9FTVBUWScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9YUEFUSF9VTkZJTklTSEVEX0xJVEVSQUxfRVJST1InIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUk5HUF9JTlRFUkxFQVZFX05PX0NPTlRFTlQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRVJSX0lOVkFMSURfSEVYX0NIQVJSRUYnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9DT01QTEVYVFlQRV9OT05BTUVfTk9SRUYnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRVJSX0NIQVJSRUZfSU5fRFREJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0lPX0VORklMRScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9FUlJfRU5USVRZX0lTX1BBUkFNRVRFUicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9JMThOX0NPTlZfRkFJTEVEJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0NIRUNLX1dST05HX1BBUkVOVCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9STkdQX1BBUkVOVFJFRl9OT19OQU1FJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0lPX0VQRVJNJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0lPX0VORVRVTlJFQUNIJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0VSUl9DSEFSUkVGX0FUX0VPRicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9JT19FTk9NRU0nIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfSU9fRU5PU1BDJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0ZST01fTk9ORScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9STkdQX1RZUEVfVkFMVUUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRlJPTV9SRUdFWFAnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUk5HUF9ERUZfQ0hPSUNFX0FORF9JTlRFUkxFQVZFJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1RSRUVfVU5URVJNSU5BVEVEX0VOVElUWScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9FUlJfVVJJX1JFUVVJUkVEJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0ZST01fVFJFRScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9FUlJfRVhUX0VOVElUWV9TVEFOREFMT05FJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1RSRUVfSU5WQUxJRF9IRVgnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfQzE0Tl9SRVFVSVJFU19VVEY4JyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0VSUl9FTlRJVFlfUFJPQ0VTU0lORycgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9GUk9NX1hJTkNMVURFJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVBfQ1ZDX1NJTVBMRV9UWVBFJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1JOR1BfR1JBTU1BUl9FTVBUWScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9DSEVDS19OT1RfTkNOQU1FJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1JOR1BfRUxFTUVOVF9OT19DT05URU5UJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1hJTkNMVURFX05PX0hSRUYnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfWFBBVEhfSU5WQUxJRF9PUEVSQU5EJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0lPX0VOT0VYRUMnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUk5HUF9QQVRfTElTVF9SRUYnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfWElOQ0xVREVfSFJFRl9VUkknIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9GQUlMRURfUEFSU0UnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUk5HUF9IUkVGX0VSUk9SJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0VSUl9BVFRSSUJVVEVfTk9UX1NUQVJURUQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9BVFRSX05PTkFNRV9OT1JFRicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFQX1NSQ19FTEVNRU5UXzEnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9JTlRFUlNFQ1RJT05fTk9UX0VYUFJFU1NJQkxFJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX01PRFVMRV9PUEVOJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0VSUl9FTlRJVFlfQ0hBUl9FUlJPUicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9EVERfVU5LTk9XTl9FTlRJVFknIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUk5HUF9QQVJTRV9FUlJPUicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9FUlJfTk9UQVRJT05fUFJPQ0VTU0lORycgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9STkdQX1hNTF9OUycgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9FUlJfTUlTUExBQ0VEX0NEQVRBX0VORCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9STkdQX1BBVF9EQVRBX0VYQ0VQVF9PTkVNT1JFJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzNfMScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFQX0NPU19DVF9FWFRFTkRTXzFfMScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9STkdQX1JFRl9DUkVBVEVfRkFJTEVEJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVBfQ09TX0NUX0VYVEVORFNfMV8zJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0RURF9ST09UX05BTUUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUk5HUF9SRUZfTk9UX0VNUFRZJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0NIRUNLX05PX0hSRUYnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9VTktOT1dOX0NIT0lDRV9DSElMRCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9STkdQX0VMRU1fQ09OVEVOVF9FUlJPUicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFWX0hBVkVERUZBVUxUJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0kxOE5fTk9fSEFORExFUicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9STkdQX01JU1NJTkdfSFJFRicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9FUlJfUElfTk9UX0ZJTklTSEVEJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0VSUl9VTktOT1dOX1ZFUlNJT04nIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRlJPTV9SRUxBWE5HUCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9GUk9NX1ZBTElEJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVBfUzRTX0FUVFJfSU5WQUxJRF9WQUxVRScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9DSEVDS19GT1VORF9URVhUJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0VSUl9OT19EVEQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUk5HUF9TVEFSVF9DSE9JQ0VfQU5EX0lOVEVSTEVBVkUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRlJPTV9YU0xUJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1JOR1BfUEFUX0xJU1RfQVRUUicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9JT19FQUNDRVMnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRVJSX05PVEFUSU9OX05PVF9GSU5JU0hFRCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFUUk9OVl9BU1NFUlQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzJfM18yXzInIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BVl9JTlZBTElEQVRUUicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFQX1JFQ1VSU0lWRScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9IVFRQX1VSTF9TWU5UQVgnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9HUk9VUF9OT05BTUVfTk9SRUYnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRFREX0RVUF9UT0tFTicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMl8zXzJfNCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFQX1M0U19FTEVNX01JU1NJTkcnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BVl9DVkNfRUxUXzVfMV8xJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0NIRUNLX0ZPVU5EX0ZSQUdNRU5UJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0RURF9MT0FEX0VSUk9SJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0NIRUNLX1VOS05PV05fTk9ERScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFQX1VOS05PV05fTk9UQVRJT05fQ0hJTEQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9DX1BST1BTX0NPUlJFQ1QnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9TUkNfQ1RfMScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9STkdQX0VNUFRZX0NPTlRFTlQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfSU9fRUFMUkVBRFknIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfSU9fRVJBTkdFJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzNfMV8xJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0lPX0VOT1NZUycgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFQX05PVEhJTkdfVE9fUEFSU0UnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUk5HUF9QQVRfREFUQV9FWENFUFRfSU5URVJMRUFWRScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfM18xJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1hQQVRIX0lOVkFMSURfQ1RYVF9TSVpFJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0NIRUNLX05PX0VMRU0nIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfWFBBVEhfRVhQUl9FUlJPUicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFQX0lOQ0xVREVfU0NIRU1BX05PX1VSSScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9STkdQX0RFRklORV9FTVBUWScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfNV8yJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0NIRUNLX0ZPVU5EX0VOVElUWScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9DSEVDS19OQU1FX05PVF9OVUxMJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVBfSU5WQUxJRF9NSU5PQ0NVUlMnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BVl9DVkNfRUxUXzEnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9DT1NfQUxMX0xJTUlURUQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BVFJPTlZfUkVQT1JUJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVZfQ1ZDX01BWEVYQ0xVU0lWRV9WQUxJRCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9JT19FUElQRScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFQX05PVFlQRV9OT1JFRicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9STkdQX0FUVFJJQlVURV9FTVBUWScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFQX01JU1NJTkdfU0lNUExFVFlQRV9DSElMRCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFQX0RFUklWQVRJT05fT0tfUkVTVFJJQ1RJT05fMScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfNV8xJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVBfREVSSVZBVElPTl9PS19SRVNUUklDVElPTl8zJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0lPX0xPQURfRVJST1InIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfQ0hFQ0tfTk9UX0VOVElUWV9ERUNMJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1JOR1BfQ1JFQVRFX0ZBSUxVUkUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfSU9fRUJBREYnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUk5HUF9QUkVGSVhfVU5ERUZJTkVEJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0VSUl9IWVBIRU5fSU5fQ09NTUVOVCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFQX1NSQ19SRVNUUklDVElPTl9CQVNFX09SX1NJTVBMRVRZUEUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUk5HUF9JTkNMVURFX0VNUFRZJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1JOR1BfUEFSRU5UUkVGX05PVF9FTVBUWScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFQX0ZBQ0VUX05PX1ZBTFVFJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1hQVFJfU1VCX1JFU09VUkNFX0VSUk9SJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0VSUl9OT1RfU1RBTkRBTE9ORScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9STkdQX1NUQVJUX01JU1NJTkcnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRFREX05PX1BSRUZJWCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9DQVRBTE9HX1JFQ1VSU0lPTicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9STkdQX1VOS05PV05fQ09OU1RSVUNUJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0VSUl9VTlBBUlNFRF9FTlRJVFknIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9VTktOT1dOX0lNUE9SVF9DSElMRCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9GVFBfRVBTVl9BTlNXRVInIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfQ0hFQ0tfTk9UX1VURjgnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRVJSX0ZBVEFMJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzEnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRFREX0lEX1JFREVGSU5FRCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9YUEFUSF9FTkNPRElOR19FUlJPUicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFQX1NSQ19JTkNMVURFJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1JOR1BfTlNOQU1FX0FUVFJfQU5DRVNUT1InIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9TUkNfUkVERUZJTkUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUk5HUF9SRUZfQ1lDTEUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUk5HUF9QQVRfQVRUUl9BVFRSJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1hQVFJfVU5LTk9XTl9TQ0hFTUUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9JTlZBTElEX0ZBQ0VUX1ZBTFVFJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0ZST01fQ0hFQ0snIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BVl9FTEVNQ09OVCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFQX1JFRl9BTkRfQ09OVEVOVCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9STkdQX1BBVF9TVEFSVF9JTlRFUkxFQVZFJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0RURF9DT05URU5UX05PVF9ERVRFUk1JTklTVCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9EVERfTk9fRUxFTV9OQU1FJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0NIRUNLX05PX1BSRVYnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUk5HUF9WQUxVRV9OT19DT05URU5UJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVBfVU5LTk9XTl9TSU1QTEVDT05URU5UX0NISUxEJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1RSRUVfTk9UX1VURjgnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfSU9fRUFGTk9TVVBQT1JUJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzNfMl8xJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0NBVEFMT0dfTk9UX0NBVEFMT0cnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzNfM18yXzInIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzNfM18yXzUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzNfM18yXzQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfSU9fRUZCSUcnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfQ0hFQ0tfRk9VTkRfQ09NTUVOVCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9STkdQX1JFRl9OQU1FX0lOVkFMSUQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRVJSX0VSUk9SJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV8zXzJfMScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9EVERfRUxFTV9OQU1FU1BBQ0UnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfQ0hFQ0tfT1VUU0lERV9ESUNUJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVBfUF9QUk9QU19DT1JSRUNUXzJfMScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFWX0NWQ19FTFRfNV8yXzJfMl8yJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVZfQ1ZDX0VMVF81XzJfMl8yXzEnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9QX1BST1BTX0NPUlJFQ1RfMl8yJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1dBUl9DQVRBTE9HX1BJJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1JFR0VYUF9DT01QSUxFX0VSUk9SJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVZfQ1ZDX01JTklOQ0xVU0lWRV9WQUxJRCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFWX0lTQUJTVFJBQ1QnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUk5HUF9ERUZJTkVfTUlTU0lORycgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9FUlJfTlNfREVDTF9FUlJPUicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9FUlJfSU5URVJOQUxfRVJST1InIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzFfM18xJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0VSUl9FTEVNQ09OVEVOVF9OT1RfRklOSVNIRUQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRlJPTV9OQU1FU1BBQ0UnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfSU9fRUJVU1knIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUk5HUF9JTkNMVURFX1JFQ1VSU0UnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRVJSX0lOVkFMSURfVVJJJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0lPX0VTUkNIJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0ZST01fWFBPSU5URVInIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRlJPTV9CVUZGRVInIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRVJSX1BFUkVGX0lOX1BST0xPRycgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9STkdQX1RFWFRfSEFTX0NISUxEJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVZfTk9UTklMTEFCTEUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9FTEVNX0RFRkFVTFRfRklYRUQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9SRURFRklORURfRUxFTUVOVCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9STkdQX1JFRl9OT19ERUYnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRVJSX05PVF9XRUxMX0JBTEFOQ0VEJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVBfQ1RfUFJPUFNfQ09SUkVDVF81JyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0VSUl9JTlZBTElEX0NIQVJSRUYnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9DVF9QUk9QU19DT1JSRUNUXzInIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRVJSX0lOVkFMSURfQ0hBUicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9STkdQX0ZPUkVJR05fRUxFTUVOVCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFQX0RFRl9BTkRfUFJFRklYJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0VSUl9NSVhFRF9OT1RfU1RBUlRFRCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9FUlJfVVNFUl9TVE9QJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0NIRUNLX0ZPVU5EX0NEQVRBJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVBfSU5URVJOQUwnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BVl9JTlZBTElERUxFTScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9FUlJfSU5WQUxJRF9FTkNPRElORycgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFWX0NWQ19BVScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9DSEVDS19XUk9OR19ORVhUJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0VSUl9UQUdfTk9UX0ZJTklTSEVEJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0VSUl9MVFNMQVNIX1JFUVVJUkVEJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVBfUkVERUZJTkVEX0FUVFJHUk9VUCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFQX1dBUk5fQVRUUl9QT0lOVExFU1NfUFJPSCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9FUlJfUEVSRUZfSU5fSU5UX1NVQlNFVCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFQX0RFUklWQVRJT05fT0tfUkVTVFJJQ1RJT05fMl8xXzInIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzJfMV8zJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVBfREVSSVZBVElPTl9PS19SRVNUUklDVElPTl8yXzFfMScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFQX1VOS05PV05fQkFTRV9UWVBFJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVBfVU5LTk9XTl9FTEVNX0NISUxEJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1dBUl9VTktOT1dOX1ZFUlNJT04nIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRFREX0NPTlRFTlRfTU9ERUwnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9DT1NfVkFMSURfREVGQVVMVF8yXzJfMicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFQX0NPU19WQUxJRF9ERUZBVUxUXzJfMl8xJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0VSUl9PSycgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9OU19FUlJfQ09MT04nIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfV0FSX0VOVElUWV9SRURFRklORUQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRVJSX0FUVFJJQlVURV9SRURFRklORUQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9TSU1QTEVUWVBFX05PTkFNRScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFQX1VOS05PV05fR1JPVVBfQ0hJTEQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfSU9fRU5PVFNVUCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9XQVJfTlNfVVJJX1JFTEFUSVZFJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX05TX0VSUl9BVFRSSUJVVEVfUkVERUZJTkVEJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0VSUl9OQU1FX1JFUVVJUkVEJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0lPX0VUSU1FRE9VVCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFQX0lOVkFMSURfRU5VTScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9STkdQX0RFRklORV9OQU1FX01JU1NJTkcnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzFfM18yJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1JOR1BfRU1QVFlfQ09OU1RSVUNUJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1JOR1BfRk9SQklEREVOX0FUVFJJQlVURScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9GUk9NX09VVFBVVCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfMl8xJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0NIRUNLX1dST05HX1BSRVYnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfSU9fRUVYSVNUJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVBfTUdfUFJPUFNfQ09SUkVDVF8yJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVBfTUdfUFJPUFNfQ09SUkVDVF8xJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0ZST01fVVJJJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1JOR1BfUEFUX0xJU1RfRUxFTScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFWX1VOREVDTEFSRURFTEVNJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV8yXzInIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzJfMycgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFQX0NUX1BST1BTX0NPUlJFQ1RfMycgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9YSU5DTFVERV9JTlZBTElEX0NIQVInIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzJfNCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9YUEFUSF9JTlZBTElEX1BSRURJQ0FURV9FUlJPUicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEVycm9yUHRyJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sRXJyb3JMZXZlbCcgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFBhcnNlckVycm9ycycgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEVycm9yRG9tYWluJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sRXJyb3InIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdfeG1sRXJyb3InIHR5cGU9J3N0cnVjdCcvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFBhcnNlclZhbGlkaXR5RXJyb3InIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sR2VuZXJpY0Vycm9yRnVuYycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTZXRHZW5lcmljRXJyb3JGdW5jJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFBhcnNlclByaW50RmlsZUluZm8nIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sQ3R4dFJlc2V0TGFzdEVycm9yJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFJlc2V0TGFzdEVycm9yJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J2luaXRHZW5lcmljRXJyb3JEZWZhdWx0RnVuYycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxDb3B5RXJyb3InIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUGFyc2VyVmFsaWRpdHlXYXJuaW5nJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFBhcnNlclByaW50RmlsZUNvbnRleHQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUGFyc2VyRXJyb3InIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUGFyc2VyV2FybmluZycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNldFN0cnVjdHVyZWRFcnJvckZ1bmMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUmVzZXRFcnJvcicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxHZXRMYXN0RXJyb3InIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sQ3R4dEdldExhc3RFcnJvcicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICA8L2ZpbGU+CisgICAgPGZpbGUgbmFtZT0neG1sZXhwb3J0cyc+CisgICAgIDxzdW1tYXJ5Pm1hY3JvcyBmb3IgbWFya2luZyBzeW1ib2xzIGFzIGV4cG9ydGFibGUvaW1wb3J0YWJsZS48L3N1bW1hcnk+CisgICAgIDxkZXNjcmlwdGlvbj5tYWNyb3MgZm9yIG1hcmtpbmcgc3ltYm9scyBhcyBleHBvcnRhYmxlL2ltcG9ydGFibGUuIDwvZGVzY3JpcHRpb24+CisgICAgIDxhdXRob3I+SWdvciBabGF0b3ZpYyAmbHQ7aWdvckB6bGF0a292aWMuY29tJmd0OyA8L2F1dGhvcj4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdfUkVFTlRSQU5UJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTENERUNMJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTFBVQlZBUicgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdMSUJYTUxfRExMX0lNUE9SVCcgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxDQUxMJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTFBVQkZVTicgdHlwZT0nbWFjcm8nLz4KKyAgICA8L2ZpbGU+CisgICAgPGZpbGUgbmFtZT0neG1sbWVtb3J5Jz4KKyAgICAgPHN1bW1hcnk+aW50ZXJmYWNlIGZvciB0aGUgbWVtb3J5IGFsbG9jYXRvcjwvc3VtbWFyeT4KKyAgICAgPGRlc2NyaXB0aW9uPnByb3ZpZGVzIGludGVyZmFjZXMgZm9yIHRoZSBtZW1vcnkgYWxsb2NhdG9yLCBpbmNsdWRpbmcgZGVidWdnaW5nIGNhcGFiaWxpdGllcy4gPC9kZXNjcmlwdGlvbj4KKyAgICAgPGF1dGhvcj5EYW5pZWwgVmVpbGxhcmQgPC9hdXRob3I+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUmVhbGxvYycgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxNYWxsb2MnIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTWFsbG9jQXRvbWljJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J0RFQlVHX01FTU9SWScgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxNZW1TdHJkdXAnIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTWVtUmVhbGxvYycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxJbml0TWVtb3J5JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbE1lbUZyZWUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTWVtTWFsbG9jJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbE1lbURpc3BsYXlMYXN0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbE1lbUdldCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxNZW1vcnlEdW1wJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbE1hbGxvY0xvYycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxNZW1EaXNwbGF5JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbE1lbUJsb2NrcycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxHY01lbUdldCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTdHJkdXBGdW5jJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEZyZWVGdW5jJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbE1lbVNob3cnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTWFsbG9jQXRvbWljTG9jJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFJlYWxsb2NMb2MnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sQ2xlYW51cE1lbW9yeScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxNZW1Vc2VkJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbE1lbVNldHVwJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFJlYWxsb2NGdW5jJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbE1hbGxvY0Z1bmMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sR2NNZW1TZXR1cCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxNZW1vcnlTdHJkdXAnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTWVtU3RyZHVwTG9jJyB0eXBlPSdmdW5jdGlvbicvPgorICAgIDwvZmlsZT4KKyAgICA8ZmlsZSBuYW1lPSd4bWxtb2R1bGUnPgorICAgICA8c3VtbWFyeT5keW5hbWljIG1vZHVsZSBsb2FkaW5nPC9zdW1tYXJ5PgorICAgICA8ZGVzY3JpcHRpb24+YmFzaWMgQVBJIGZvciBkeW5hbWljIG1vZHVsZSBsb2FkaW5nLCB1c2VkIGJ5IGxpYmV4c2x0IGFkZGVkIGluIDIuNi4xNyA8L2Rlc2NyaXB0aW9uPgorICAgICA8YXV0aG9yPkpvZWwgVy4gUmVlZCA8L2F1dGhvcj4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfTU9EVUxFX0xBWlknIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfTU9EVUxFX0xPQ0FMJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTW9kdWxlJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTW9kdWxlUHRyJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTW9kdWxlT3B0aW9uJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTW9kdWxlRnJlZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxNb2R1bGVTeW1ib2wnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTW9kdWxlT3BlbicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxNb2R1bGVDbG9zZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICA8L2ZpbGU+CisgICAgPGZpbGUgbmFtZT0neG1scmVhZGVyJz4KKyAgICAgPHN1bW1hcnk+dGhlIFhNTFJlYWRlciBpbXBsZW1lbnRhdGlvbjwvc3VtbWFyeT4KKyAgICAgPGRlc2NyaXB0aW9uPkFQSSBvZiB0aGUgWE1MIHN0cmVhbWluZyBBUEkgYmFzZWQgb24gQyMgaW50ZXJmYWNlcy4gPC9kZXNjcmlwdGlvbj4KKyAgICAgPGF1dGhvcj5EYW5pZWwgVmVpbGxhcmQgPC9hdXRob3I+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1JFQURFUl9UWVBFX0RPQ1VNRU5UX0ZSQUdNRU5UJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1BBUlNFUl9TRVZFUklUWV9FUlJPUicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9SRUFERVJfVFlQRV9FTEVNRU5UJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1JFQURFUl9UWVBFX1RFWFQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUkVBREVSX1RZUEVfWE1MX0RFQ0xBUkFUSU9OJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1JFQURFUl9UWVBFX05PTkUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUEFSU0VSX1NFVkVSSVRZX1ZBTElESVRZX0VSUk9SJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1JFQURFUl9UWVBFX1BST0NFU1NJTkdfSU5TVFJVQ1RJT04nIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfVEVYVFJFQURFUl9NT0RFX0VSUk9SJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1JFQURFUl9UWVBFX0FUVFJJQlVURScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9QQVJTRVJfU0VWRVJJVFlfV0FSTklORycgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9SRUFERVJfVFlQRV9ET0NVTUVOVCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9SRUFERVJfVFlQRV9ET0NVTUVOVF9UWVBFJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1JFQURFUl9UWVBFX0VORF9FTEVNRU5UJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1JFQURFUl9UWVBFX1dISVRFU1BBQ0UnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUkVBREVSX1RZUEVfTk9UQVRJT04nIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUEFSU0VSX1NVQlNUX0VOVElUSUVTJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1JFQURFUl9UWVBFX0VOVElUWV9SRUZFUkVOQ0UnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfVEVYVFJFQURFUl9NT0RFX0lOSVRJQUwnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUkVBREVSX1RZUEVfQ09NTUVOVCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9URVhUUkVBREVSX01PREVfQ0xPU0VEJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1BBUlNFUl9ERUZBVUxUQVRUUlMnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUkVBREVSX1RZUEVfRU5USVRZJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1JFQURFUl9UWVBFX1NJR05JRklDQU5UX1dISVRFU1BBQ0UnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUkVBREVSX1RZUEVfRU5EX0VOVElUWScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9QQVJTRVJfVkFMSURBVEUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfUEFSU0VSX1NFVkVSSVRZX1ZBTElESVRZX1dBUk5JTkcnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfVEVYVFJFQURFUl9NT0RFX1JFQURJTkcnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfVEVYVFJFQURFUl9NT0RFX0VPRicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9SRUFERVJfVFlQRV9DREFUQScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9QQVJTRVJfTE9BRERURCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9URVhUUkVBREVSX01PREVfSU5URVJBQ1RJVkUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxUZXh0UmVhZGVyUHRyJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUGFyc2VyU2V2ZXJpdGllcycgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFBhcnNlclByb3BlcnRpZXMnIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxUZXh0UmVhZGVyTW9kZScgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFRleHRSZWFkZXInIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxUZXh0UmVhZGVyTG9jYXRvclB0cicgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFJlYWRlclR5cGVzJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTmV3VGV4dFJlYWRlckZpbGVuYW1lJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFRleHRSZWFkZXJIYXNBdHRyaWJ1dGVzJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFRleHRSZWFkZXJSZWFkU3RhdGUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUmVhZGVyRm9yRmlsZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxUZXh0UmVhZGVyQ29uc3ROYW1lc3BhY2VVcmknIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVGV4dFJlYWRlckN1cnJlbnREb2MnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVGV4dFJlYWRlckdldFBhcnNlckxpbmVOdW1iZXInIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVGV4dFJlYWRlckV4cGFuZCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxUZXh0UmVhZGVyWG1sTGFuZycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxSZWFkZXJGb3JEb2MnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUmVhZGVyTmV3SU8nIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVGV4dFJlYWRlckNsb3NlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFRleHRSZWFkZXJSZWFkSW5uZXJYbWwnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVGV4dFJlYWRlckNvbnN0RW5jb2RpbmcnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVGV4dFJlYWRlck5vcm1hbGl6YXRpb24nIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVGV4dFJlYWRlckdldFBhcnNlclByb3AnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVGV4dFJlYWRlck1vdmVUb0F0dHJpYnV0ZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxUZXh0UmVhZGVyUXVvdGVDaGFyJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFRleHRSZWFkZXJTZXRTY2hlbWEnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVGV4dFJlYWRlclZhbHVlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFRleHRSZWFkZXJJc1ZhbGlkJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFRleHRSZWFkZXJNb3ZlVG9GaXJzdEF0dHJpYnV0ZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxUZXh0UmVhZGVyR2V0UGFyc2VyQ29sdW1uTnVtYmVyJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFRleHRSZWFkZXJDb25zdFZhbHVlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbE5ld1RleHRSZWFkZXInIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZU5vJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFRleHRSZWFkZXJHZXRBdHRyaWJ1dGVOcycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxUZXh0UmVhZGVyQ29uc3ROYW1lJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFRleHRSZWFkZXJDb25zdFN0cmluZycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxUZXh0UmVhZGVyQ29uc3RYbWxWZXJzaW9uJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFRleHRSZWFkZXJEZXB0aCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxUZXh0UmVhZGVyUmVhZFN0cmluZycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxUZXh0UmVhZGVySXNEZWZhdWx0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFRleHRSZWFkZXJNb3ZlVG9OZXh0QXR0cmlidXRlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFJlYWRlck5ld1dhbGtlcicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxUZXh0UmVhZGVyQ29uc3RQcmVmaXgnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUmVhZGVyV2Fsa2VyJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFRleHRSZWFkZXJDb25zdExvY2FsTmFtZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxUZXh0UmVhZGVyTm9kZVR5cGUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sRnJlZVRleHRSZWFkZXInIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVGV4dFJlYWRlck5hbWUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVGV4dFJlYWRlclJlYWQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVGV4dFJlYWRlcklzRW1wdHlFbGVtZW50JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFJlYWRlck5ld01lbW9yeScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxUZXh0UmVhZGVyU2NoZW1hVmFsaWRhdGVDdHh0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFRleHRSZWFkZXJIYXNWYWx1ZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxUZXh0UmVhZGVyQ29uc3RCYXNlVXJpJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFRleHRSZWFkZXJCYXNlVXJpJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFRleHRSZWFkZXJNb3ZlVG9BdHRyaWJ1dGVObycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxUZXh0UmVhZGVyTG9jYXRvckxpbmVOdW1iZXInIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVGV4dFJlYWRlck1vdmVUb0F0dHJpYnV0ZU5zJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFRleHRSZWFkZXJOZXh0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFRleHRSZWFkZXJBdHRyaWJ1dGVDb3VudCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxUZXh0UmVhZGVyTG9va3VwTmFtZXNwYWNlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFRleHRSZWFkZXJNb3ZlVG9FbGVtZW50JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFJlYWRlckZvcklPJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFRleHRSZWFkZXJSZWFkT3V0ZXJYbWwnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZUN0eHQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVGV4dFJlYWRlclByZWZpeCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxUZXh0UmVhZGVyUmVhZEF0dHJpYnV0ZVZhbHVlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFRleHRSZWFkZXJOZXh0U2libGluZycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxUZXh0UmVhZGVyRXJyb3JGdW5jJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFJlYWRlckZvckZkJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFRleHRSZWFkZXJHZXRBdHRyaWJ1dGUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVGV4dFJlYWRlckxvY2FsTmFtZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxUZXh0UmVhZGVyUHJlc2VydmUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVGV4dFJlYWRlckN1cnJlbnROb2RlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFRleHRSZWFkZXJTZXRQYXJzZXJQcm9wJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFRleHRSZWFkZXJHZXRSZW1haW5kZXInIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVGV4dFJlYWRlclNldEVycm9ySGFuZGxlcicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxUZXh0UmVhZGVySXNOYW1lc3BhY2VEZWNsJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFJlYWRlck5ld0RvYycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxUZXh0UmVhZGVyUHJlc2VydmVQYXR0ZXJuJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFRleHRSZWFkZXJDb25zdFhtbExhbmcnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVGV4dFJlYWRlckdldEVycm9ySGFuZGxlcicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxUZXh0UmVhZGVyU2V0U3RydWN0dXJlZEVycm9ySGFuZGxlcicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxSZWFkZXJOZXdGaWxlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFRleHRSZWFkZXJSZWxheE5HU2V0U2NoZW1hJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFJlYWRlck5ld0ZkJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFRleHRSZWFkZXJSZWxheE5HVmFsaWRhdGUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUmVhZGVyRm9yTWVtb3J5JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFRleHRSZWFkZXJTZXR1cCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxUZXh0UmVhZGVyQnl0ZUNvbnN1bWVkJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFRleHRSZWFkZXJMb2NhdG9yQmFzZVVSSScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxUZXh0UmVhZGVyTmFtZXNwYWNlVXJpJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxUZXh0UmVhZGVyU3RhbmRhbG9uZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICA8L2ZpbGU+CisgICAgPGZpbGUgbmFtZT0neG1scmVnZXhwJz4KKyAgICAgPHN1bW1hcnk+cmVndWxhciBleHByZXNzaW9ucyBoYW5kbGluZzwvc3VtbWFyeT4KKyAgICAgPGRlc2NyaXB0aW9uPmJhc2ljIEFQSSBmb3IgbGlieG1sIHJlZ3VsYXIgZXhwcmVzc2lvbnMgaGFuZGxpbmcgdXNlZCBmb3IgWE1MIFNjaGVtYXMgYW5kIHZhbGlkYXRpb24uIDwvZGVzY3JpcHRpb24+CisgICAgIDxhdXRob3I+RGFuaWVsIFZlaWxsYXJkIDwvYXV0aG9yPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9FWFBfQ09VTlQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRVhQX0VNUFRZJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0VYUF9TRVEnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRVhQX0FUT00nIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfRVhQX09SJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX0VYUF9GT1JCSUQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxSZWdFeGVjQ3R4dFB0cicgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEV4cEN0eHQnIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxFeHBOb2RlUHRyJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sRXhwQ3R4dFB0cicgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEV4cE5vZGVUeXBlJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUmVnRXhlY0N0eHQnIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxFeHBOb2RlJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUmVnZXhwJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUmVnZXhwUHRyJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nZm9yYmlkZGVuRXhwJyB0eXBlPSd2YXJpYWJsZScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J2VtcHR5RXhwJyB0eXBlPSd2YXJpYWJsZScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFJlZ0V4ZWNDYWxsYmFja3MnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUmVnTmV3RXhlY0N0eHQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sRXhwTmV3T3InIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUmVnRnJlZVJlZ2V4cCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxFeHBSZWYnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sUmVnZXhwSXNEZXRlcm1pbmlzdCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxSZWdFeGVjRXJySW5mbycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxSZWdGcmVlRXhlY0N0eHQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sRXhwQ3R4dE5iQ29ucycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxFeHBTdWJzdW1lJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFJlZ0V4ZWNQdXNoU3RyaW5nMicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxSZWdFeGVjTmV4dFZhbHVlcycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxFeHBFeHBEZXJpdmUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sRXhwSXNOaWxsYWJsZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxFeHBGcmVlQ3R4dCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxFeHBEdW1wJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEV4cE5ld1NlcScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxFeHBGcmVlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEV4cE5ld1JhbmdlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFJlZ2V4cENvbXBpbGUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sRXhwTmV3QXRvbScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxSZWdleHBFeGVjJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFJlZ0V4ZWNQdXNoU3RyaW5nJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEV4cEdldFN0YXJ0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEV4cFBhcnNlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEV4cE5ld0N0eHQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sRXhwR2V0TGFuZ3VhZ2UnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sRXhwU3RyaW5nRGVyaXZlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEV4cEN0eHROYk5vZGVzJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEV4cE1heFRva2VuJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFJlZ2V4cFByaW50JyB0eXBlPSdmdW5jdGlvbicvPgorICAgIDwvZmlsZT4KKyAgICA8ZmlsZSBuYW1lPSd4bWxzYXZlJz4KKyAgICAgPHN1bW1hcnk+dGhlIFhNTCBkb2N1bWVudCBzZXJpYWxpemVyPC9zdW1tYXJ5PgorICAgICA8ZGVzY3JpcHRpb24+QVBJIHRvIHNhdmUgZG9jdW1lbnQgb3Igc3VidHJlZSBvZiBkb2N1bWVudCA8L2Rlc2NyaXB0aW9uPgorICAgICA8YXV0aG9yPkRhbmllbCBWZWlsbGFyZCA8L2F1dGhvcj4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0FWRV9YSFRNTCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQVZFX0FTX1hNTCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQVZFX05PX0VNUFRZJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NBVkVfTk9fWEhUTUwnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0FWRV9OT19ERUNMJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NBVkVfQVNfSFRNTCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQVZFX0ZPUk1BVCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQVZFX1dTTk9OU0lHJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2F2ZU9wdGlvbicgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNhdmVDdHh0JyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2F2ZUN0eHRQdHInIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTYXZlVG9JTycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTYXZlVG9GZCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTYXZlQ2xvc2UnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2F2ZVNldEF0dHJFc2NhcGUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2F2ZVRvQnVmZmVyJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNhdmVUb0ZpbGVuYW1lJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNhdmVGbHVzaCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTYXZlRG9jJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNhdmVTZXRFc2NhcGUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2F2ZVRyZWUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgPC9maWxlPgorICAgIDxmaWxlIG5hbWU9J3htbHNjaGVtYXMnPgorICAgICA8c3VtbWFyeT5pbmNvbXBsZXRlIFhNTCBTY2hlbWFzIHN0cnVjdHVyZSBpbXBsZW1lbnRhdGlvbjwvc3VtbWFyeT4KKyAgICAgPGRlc2NyaXB0aW9uPmludGVyZmFjZSB0byB0aGUgWE1MIFNjaGVtYXMgaGFuZGxpbmcgYW5kIHNjaGVtYSB2YWxpZGl0eSBjaGVja2luZywgaXQgaXMgaW5jb21wbGV0ZSByaWdodCBub3cuIDwvZGVzY3JpcHRpb24+CisgICAgIDxhdXRob3I+RGFuaWVsIFZlaWxsYXJkIDwvYXV0aG9yPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFTX0VSUl9OT1ROSUxMQUJMRScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFTX0VSUl9PSycgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFTX0VSUl9OT1JPT1QnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BU19FUlJfWFhYJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQV9WQUxfVkNfSV9DUkVBVEUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BU19FUlJfSVNBQlNUUkFDVCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFTX0VSUl9BVFRSVU5LTk9XTicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFTX0VSUl9XUk9OR0VMRU0nIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BU19FUlJfTk9UREVURVJNSU5JU1QnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BU19FUlJfSU5URVJOQUwnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BU19FUlJfTUlTU0lORycgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFTX0VSUl9JTlZBTElEQVRUUicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFTX0VSUl9DT05TVFJVQ1QnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BU19FUlJfRkFDRVQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BU19FUlJfTk9UWVBFJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVNfRVJSX1ZBTFVFJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVNfRVJSX05PUk9MTEJBQ0snIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BU19FUlJfTk9UVE9QTEVWRUwnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BU19FUlJfTk9URU1QVFknIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BU19FUlJfSU5WQUxJREVMRU0nIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BU19FUlJfQVRUUklOVkFMSUQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BU19FUlJfRVhUUkFDT05URU5UJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQVNfRVJSX05PVFNJTVBMRScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFTX0VSUl9VTkRFQ0xBUkVERUxFTScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFTX0VSUl9IQVZFREVGQVVMVCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFTX0VSUl9FTEVNQ09OVCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFTX0VSUl8nIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTY2hlbWFQdHInIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTY2hlbWFQYXJzZXJDdHh0JyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2NoZW1hVmFsaWRPcHRpb24nIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTY2hlbWFTQVhQbHVnUHRyJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2NoZW1hU0FYUGx1Z1N0cnVjdCcgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNjaGVtYVZhbGlkQ3R4dFB0cicgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNjaGVtYVBhcnNlckN0eHRQdHInIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTY2hlbWEnIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTY2hlbWFWYWxpZEVycm9yJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2NoZW1hVmFsaWRDdHh0JyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2NoZW1hTmV3RG9jUGFyc2VyQ3R4dCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTY2hlbWFTQVhVbnBsdWcnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2NoZW1hUGFyc2UnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2NoZW1hRnJlZVBhcnNlckN0eHQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2NoZW1hVmFsaWRhdGVTZXRGaWxlbmFtZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTY2hlbWFOZXdQYXJzZXJDdHh0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNjaGVtYUlzVmFsaWQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2NoZW1hVmFsaWRpdHlFcnJvckZ1bmMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2NoZW1hU0FYUGx1ZycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTY2hlbWFWYWxpZGF0ZVN0cmVhbScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTY2hlbWFHZXRQYXJzZXJFcnJvcnMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2NoZW1hVmFsaWRhdGVTZXRMb2NhdG9yJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNjaGVtYVZhbGlkYXRlT25lRWxlbWVudCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTY2hlbWFTZXRWYWxpZFN0cnVjdHVyZWRFcnJvcnMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2NoZW1hU2V0VmFsaWRFcnJvcnMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2NoZW1hVmFsaWRDdHh0R2V0T3B0aW9ucycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTY2hlbWFWYWxpZGF0ZUZpbGUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2NoZW1hVmFsaWRhdGVEb2MnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2NoZW1hRnJlZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTY2hlbWFOZXdNZW1QYXJzZXJDdHh0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNjaGVtYVZhbGlkaXR5TG9jYXRvckZ1bmMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2NoZW1hR2V0VmFsaWRFcnJvcnMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2NoZW1hU2V0VmFsaWRPcHRpb25zJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNjaGVtYVNldFBhcnNlckVycm9ycycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTY2hlbWFWYWxpZGl0eVdhcm5pbmdGdW5jJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNjaGVtYUR1bXAnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2NoZW1hRnJlZVZhbGlkQ3R4dCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTY2hlbWFWYWxpZEN0eHRHZXRQYXJzZXJDdHh0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNjaGVtYVNldFBhcnNlclN0cnVjdHVyZWRFcnJvcnMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2NoZW1hTmV3VmFsaWRDdHh0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgIDwvZmlsZT4KKyAgICA8ZmlsZSBuYW1lPSd4bWxzY2hlbWFzdHlwZXMnPgorICAgICA8c3VtbWFyeT5pbXBsZW1lbnRhdGlvbiBvZiBYTUwgU2NoZW1hIERhdGF0eXBlczwvc3VtbWFyeT4KKyAgICAgPGRlc2NyaXB0aW9uPm1vZHVsZSBwcm92aWRpbmcgdGhlIFhNTCBTY2hlbWEgRGF0YXR5cGVzIGltcGxlbWVudGF0aW9uIGJvdGggZGVmaW5pdGlvbiBhbmQgdmFsaWRpdHkgY2hlY2tpbmcgPC9kZXNjcmlwdGlvbj4KKyAgICAgPGF1dGhvcj5EYW5pZWwgVmVpbGxhcmQgPC9hdXRob3I+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWE1MX1NDSEVNQV9XSElURVNQQUNFX1VOS05PV04nIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BX1dISVRFU1BBQ0VfQ09MTEFQU0UnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfU0NIRU1BX1dISVRFU1BBQ0VfUkVQTEFDRScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hNTF9TQ0hFTUFfV0hJVEVTUEFDRV9QUkVTRVJWRScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNjaGVtYVdoaXRlc3BhY2VWYWx1ZVR5cGUnIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTY2hlbWFWYWxQcmVkZWZUeXBlTm9kZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTY2hlbWFHZXRDYW5vblZhbHVlV2h0c3AnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldFdodHNwJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNjaGVtYUlzQnVpbHRJblR5cGVGYWNldCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTY2hlbWFHZXRDYW5vblZhbHVlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNjaGVtYUdldEJ1aWx0SW5MaXN0U2ltcGxlVHlwZUl0ZW1UeXBlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNjaGVtYUNvbXBhcmVWYWx1ZXNXaHRzcCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTY2hlbWFWYWx1ZUdldEFzQm9vbGVhbicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTY2hlbWFDb2xsYXBzZVN0cmluZycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTY2hlbWFWYWxQcmVkZWZUeXBlTm9kZU5vTm9ybScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNjaGVtYU5ld0ZhY2V0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNjaGVtYVZhbHVlQXBwZW5kJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNjaGVtYUNvbXBhcmVWYWx1ZXMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTY2hlbWFHZXRWYWxUeXBlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNjaGVtYUdldFByZWRlZmluZWRUeXBlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNjaGVtYVZhbGlkYXRlUHJlZGVmaW5lZFR5cGUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2NoZW1hRnJlZUZhY2V0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNjaGVtYVZhbGlkYXRlTGlzdFNpbXBsZVR5cGVGYWNldCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTY2hlbWFHZXRGYWNldFZhbHVlQXNVTG9uZycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTY2hlbWFGcmVlVmFsdWUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2NoZW1hVmFsdWVHZXROZXh0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNjaGVtYVZhbHVlR2V0QXNTdHJpbmcnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2NoZW1hQ29weVZhbHVlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNjaGVtYU5ld05PVEFUSU9OVmFsdWUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2NoZW1hTmV3UU5hbWVWYWx1ZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTY2hlbWFDbGVhbnVwVHlwZXMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2NoZW1hV2hpdGVTcGFjZVJlcGxhY2UnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2NoZW1hTmV3U3RyaW5nVmFsdWUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2NoZW1hR2V0QnVpbHRJblR5cGUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU2NoZW1hSW5pdFR5cGVzJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFNjaGVtYVZhbGlkYXRlRmFjZXRXaHRzcCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTY2hlbWFDaGVja0ZhY2V0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgIDwvZmlsZT4KKyAgICA8ZmlsZSBuYW1lPSd4bWxzdHJpbmcnPgorICAgICA8c3VtbWFyeT5zZXQgb2Ygcm91dGluZXMgdG8gcHJvY2VzcyBzdHJpbmdzPC9zdW1tYXJ5PgorICAgICA8ZGVzY3JpcHRpb24+dHlwZSBhbmQgaW50ZXJmYWNlcyBuZWVkZWQgZm9yIHRoZSBpbnRlcm5hbCBzdHJpbmcgaGFuZGxpbmcgb2YgdGhlIGxpYnJhcnksIGVzcGVjaWFsbHkgVVRGOCBwcm9jZXNzaW5nLiA8L2Rlc2NyaXB0aW9uPgorICAgICA8YXV0aG9yPkRhbmllbCBWZWlsbGFyZCA8L2F1dGhvcj4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdCQURfQ0FTVCcgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxDaGFyJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU3RyY21wJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbENoYXJTdHJuZHVwJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFN0cmNhc2VzdHInIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU3RyY2F0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFN0clByaW50ZicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTdHJzdHInIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVVRGOFNpemUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU3RyUUVxdWFsJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFN0cm5jYXROZXcnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVVRGOFN0cnBvcycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTdHJkdXAnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sQ2hhclN0cmR1cCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTdHJjaHInIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU3RybGVuJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFN0cm5jbXAnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU3Ryc3ViJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFN0cm5jYXQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sR2V0VVRGOENoYXInIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sU3RyY2FzZWNtcCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTdHJuZHVwJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFN0clZQcmludGYnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVVRGOFN0cnNpemUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sQ2hlY2tVVEY4JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFN0cm5jYXNlY21wJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFVURjhTdHJsZW4nIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVVRGOFN0cnN1YicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxTdHJFcXVhbCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVVEY4Q2hhcmNtcCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVVEY4U3RybmR1cCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVVEY4U3RybG9jJyB0eXBlPSdmdW5jdGlvbicvPgorICAgIDwvZmlsZT4KKyAgICA8ZmlsZSBuYW1lPSd4bWx1bmljb2RlJz4KKyAgICAgPHN1bW1hcnk+VW5pY29kZSBjaGFyYWN0ZXIgQVBJczwvc3VtbWFyeT4KKyAgICAgPGRlc2NyaXB0aW9uPkFQSSBmb3IgdGhlIFVuaWNvZGUgY2hhcmFjdGVyIEFQSXMgIFRoaXMgZmlsZSBpcyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBVQ1MgZGVzY3JpcHRpb24gZmlsZXMgb2YgdGhlIFVuaWNvZGUgQ2hhcmFjdGVyIERhdGFiYXNlPC9kZXNjcmlwdGlvbj4KKyAgICAgPGF1dGhvcj5EYW5pZWwgVmVpbGxhcmQgPC9hdXRob3I+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVUNTSXNCbG9ja0VsZW1lbnRzJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFVDU0lzQm9wb21vZm8nIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVUNTSXNEaW5nYmF0cycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVQ1NJc1N1cGVyc2NyaXB0c2FuZFN1YnNjcmlwdHMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVUNTSXNDb21iaW5pbmdIYWxmTWFya3MnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVUNTSXNUaWJldGFuJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFVDU0lzWWlSYWRpY2FscycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVQ1NJc0NvbWJpbmluZ01hcmtzZm9yU3ltYm9scycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVQ1NJc0hhbmd1bFN5bGxhYmxlcycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVQ1NJc0Jhc2ljTGF0aW4nIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVUNTSXNDYXRTYycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVQ1NJc0NhdFNvJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFVDU0lzTGltYnUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVUNTSXNDYXRTbScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVQ1NJc0NhdFNrJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFVDU0lzS2htZXJTeW1ib2xzJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFVDU0lzTW9uZ29saWFuJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFVDU0lzTWFsYXlhbGFtJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFVDU0lzTWF0aGVtYXRpY2FsQWxwaGFudW1lcmljU3ltYm9scycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVQ1NJc1RoYWFuYScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVQ1NJc015YW5tYXInIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVUNTSXNUYWdzJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eUlkZW9ncmFwaHMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVUNTSXNUZWx1Z3UnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVUNTSXNMb3dTdXJyb2dhdGVzJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFVDU0lzT3NtYW55YScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVQ1NJc1N5cmlhYycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVQ1NJc0V0aGlvcGljJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFVDU0lzQm94RHJhd2luZycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVQ1NJc0dyZWVrRXh0ZW5kZWQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVUNTSXNHcmVla2FuZENvcHRpYycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVQ1NJc0thbm5hZGEnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVUNTSXNCeXphbnRpbmVNdXNpY2FsU3ltYm9scycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVQ1NJc0VuY2xvc2VkQ0pLTGV0dGVyc2FuZE1vbnRocycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHlGb3JtcycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVQ1NJc0NhdENzJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFVDU0lzQ0pLUmFkaWNhbHNTdXBwbGVtZW50JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFVDU0lzQ2F0Q2YnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVUNTSXNTbWFsbEZvcm1WYXJpYW50cycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVQ1NJc0hhbmd1bENvbXBhdGliaWxpdHlKYW1vJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFVDU0lzQ2F0Q2MnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVUNTSXNDYXRDbycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVQ1NJc0NoZXJva2VlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFVDU0lzR290aGljJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFVDU0lzS2htZXInIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVUNTSXNDb21iaW5pbmdEaWFjcml0aWNhbE1hcmtzZm9yU3ltYm9scycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVQ1NJc09naGFtJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFVDU0lzT3JpeWEnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVUNTSXNMaW5lYXJCSWRlb2dyYW1zJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFVDU0lzQmxvY2snIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVUNTSXNCb3BvbW9mb0V4dGVuZGVkJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFVDU0lzSGFuZ3VsSmFtbycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVQ1NJc1RhZ2JhbndhJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFVDU0lzR2VuZXJhbFB1bmN0dWF0aW9uJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFVDU0lzQ3lyaWxsaWMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVUNTSXNBcnJvd3MnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVUNTSXNDb250cm9sUGljdHVyZXMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVUNTSXNDSktVbmlmaWVkSWRlb2dyYXBocycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVQ1NJc0NhdE5sJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFVDU0lzQ2F0Tm8nIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVUNTSXNZaWppbmdIZXhhZ3JhbVN5bWJvbHMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVUNTSXNWYXJpYXRpb25TZWxlY3RvcnNTdXBwbGVtZW50JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFVDU0lzQmVuZ2FsaScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVQ1NJc1ByaXZhdGVVc2UnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVUNTSXNNdXNpY2FsU3ltYm9scycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVQ1NJc01pc2NlbGxhbmVvdXNTeW1ib2xzJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVQ1NJc0FlZ2Vhbk51bWJlcnMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVUNTSXNEZXZhbmFnYXJpJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFVDU0lzU3VwcGxlbWVudGFsQXJyb3dzQScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVQ1NJc1N1cHBsZW1lbnRhbEFycm93c0InIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVUNTSXNOdW1iZXJGb3JtcycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVQ1NJc1NwYWNpbmdNb2RpZmllckxldHRlcnMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVUNTSXNPcHRpY2FsQ2hhcmFjdGVyUmVjb2duaXRpb24nIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVUNTSXNDYXRQYycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVQ1NJc0NhdFBmJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFVDU0lzQ3lyaWxsaWNTdXBwbGVtZW50JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFVDU0lzQ2F0UGQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVUNTSXNDYXRQaScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVQ1NJc0NhdFBvJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFVDU0lzSGlnaFByaXZhdGVVc2VTdXJyb2dhdGVzJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFVDU0lzTGF0aW5FeHRlbmRlZEFkZGl0aW9uYWwnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVUNTSXNDYXRQcycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVQ1NJc0hpZ2hTdXJyb2dhdGVzJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFVDU0lzTGFvJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFVDU0lzQnJhaWxsZVBhdHRlcm5zJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFVDU0lzRGVzZXJldCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVQ1NJc0VuY2xvc2VkQWxwaGFudW1lcmljcycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVQ1NJc0NvbWJpbmluZ0RpYWNyaXRpY2FsTWFya3MnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVUNTSXNJZGVvZ3JhcGhpY0Rlc2NyaXB0aW9uQ2hhcmFjdGVycycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVQ1NJc1ByaXZhdGVVc2VBcmVhJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFVDU0lzQ2F0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFVDU0lzQ2F0THUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVUNTSXNDYXRMdCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVQ1NJc1lpU3lsbGFibGVzJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFVDU0lzU2hhdmlhbicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVQ1NJc0NhdExvJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFVDU0lzQ2F0TG0nIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVUNTSXNDYXRMbCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVQ1NJc01pc2NlbGxhbmVvdXNUZWNobmljYWwnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVUNTSXNVZ2FyaXRpYycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHlJZGVvZ3JhcGhzU3VwcGxlbWVudCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVQ1NJc0N5cHJpb3RTeWxsYWJhcnknIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVUNTSXNUYW1pbCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVQ1NJc0NhdEMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVUNTSXNDYXROJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFVDU0lzQ2F0TCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVQ1NJc0NhdE0nIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVUNTSXNVbmlmaWVkQ2FuYWRpYW5BYm9yaWdpbmFsU3lsbGFiaWNzJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFVDU0lzQ2F0UycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVQ1NJc0NhdFAnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVUNTSXNTaW5oYWxhJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFVDU0lzR2VvcmdpYW4nIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVUNTSXNDYXRaJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFVDU0lzSVBBRXh0ZW5zaW9ucycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVQ1NJc0thbmd4aVJhZGljYWxzJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFVDU0lzR3JlZWsnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVUNTSXNDYXRQZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVQ1NJc0hhbnVub28nIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVUNTSXNBcm1lbmlhbicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVQ1NJc1N1cHBsZW1lbnRhcnlQcml2YXRlVXNlQXJlYUInIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVUNTSXNTdXBwbGVtZW50YXJ5UHJpdmF0ZVVzZUFyZWFBJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFVDU0lzS2F0YWthbmFQaG9uZXRpY0V4dGVuc2lvbnMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVUNTSXNMZXR0ZXJsaWtlU3ltYm9scycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVQ1NJc1Bob25ldGljRXh0ZW5zaW9ucycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVQ1NJc0FyYWJpYycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVQ1NJc0hlYnJldycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVQ1NJc09sZEl0YWxpYycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVQ1NJc0FyYWJpY1ByZXNlbnRhdGlvbkZvcm1zQScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVQ1NJc0NhdFpwJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFVDU0lzQ2F0WnMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVUNTSXNBcmFiaWNQcmVzZW50YXRpb25Gb3Jtc0InIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVUNTSXNHZW9tZXRyaWNTaGFwZXMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVUNTSXNDYXRabCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVQ1NJc1RhZ2Fsb2cnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVUNTSXNTcGVjaWFscycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVQ1NJc0d1amFyYXRpJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFVDU0lzS2F0YWthbmEnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVUNTSXNIYWxmd2lkdGhhbmRGdWxsd2lkdGhGb3JtcycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVQ1NJc0xhdGluRXh0ZW5kZWRCJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFVDU0lzTGF0aW5FeHRlbmRlZEEnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVUNTSXNCdWhpZCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVQ1NJc01pc2NlbGxhbmVvdXNTeW1ib2xzYW5kQXJyb3dzJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFVDU0lzVGFpTGUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVUNTSXNDSktTeW1ib2xzYW5kUHVuY3R1YXRpb24nIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVUNTSXNUYWlYdWFuSmluZ1N5bWJvbHMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVUNTSXNHdXJtdWtoaScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVQ1NJc01hdGhlbWF0aWNhbE9wZXJhdG9ycycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVQ1NJc0FscGhhYmV0aWNQcmVzZW50YXRpb25Gb3JtcycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVQ1NJc0N1cnJlbmN5U3ltYm9scycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVQ1NJc1N1cHBsZW1lbnRhbE1hdGhlbWF0aWNhbE9wZXJhdG9ycycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVQ1NJc0NKS1VuaWZpZWRJZGVvZ3JhcGhzRXh0ZW5zaW9uQScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVQ1NJc0thbmJ1bicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVQ1NJc0NKS1VuaWZpZWRJZGVvZ3JhcGhzRXh0ZW5zaW9uQicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVQ1NJc1RoYWknIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVUNTSXNSdW5pYycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVQ1NJc0NhdE5kJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFVDU0lzTGF0aW4xU3VwcGxlbWVudCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVQ1NJc0xpbmVhckJTeWxsYWJhcnknIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVUNTSXNIaXJhZ2FuYScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVQ1NJc01pc2NlbGxhbmVvdXNNYXRoZW1hdGljYWxTeW1ib2xzQicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVQ1NJc01pc2NlbGxhbmVvdXNNYXRoZW1hdGljYWxTeW1ib2xzQScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxVQ1NJc0NhdE1uJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFVDU0lzVmFyaWF0aW9uU2VsZWN0b3JzJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFVDU0lzQ2F0TWMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVUNTSXNDYXRNZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICA8L2ZpbGU+CisgICAgPGZpbGUgbmFtZT0neG1sdmVyc2lvbic+CisgICAgIDxzdW1tYXJ5PmNvbXBpbGUtdGltZSB2ZXJzaW9uIGluZm9ybWF0aW9uczwvc3VtbWFyeT4KKyAgICAgPGRlc2NyaXB0aW9uPmNvbXBpbGUtdGltZSB2ZXJzaW9uIGluZm9ybWF0aW9ucyBmb3IgdGhlIFhNTCBsaWJyYXJ5IDwvZGVzY3JpcHRpb24+CisgICAgIDxhdXRob3I+RGFuaWVsIFZlaWxsYXJkIDwvYXV0aG9yPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J0xJQlhNTF9WRVJTSU9OX0VYVFJBJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J0xJQlhNTF9NT0RVTEVTX0VOQUJMRUQnIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nTElCWE1MX0xFR0FDWV9FTkFCTEVEJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J0xJQlhNTF9MWk1BX0VOQUJMRUQnIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nTElCWE1MX1JFQURFUl9FTkFCTEVEJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J0xJQlhNTF9USFJFQURfRU5BQkxFRCcgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdMSUJYTUxfRE9UVEVEX1ZFUlNJT04nIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nTElCWE1MX0lTTzg4NTlYX0VOQUJMRUQnIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nTElCWE1MX0RFQlVHX0VOQUJMRUQnIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nTElCWE1MX1hJTkNMVURFX0VOQUJMRUQnIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nQVRUUklCVVRFX1VOVVNFRCcgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdMSUJYTUxfRE9DQl9FTkFCTEVEJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J0xJQlhNTF9QVVNIX0VOQUJMRUQnIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nTElCWE1MX1NBWDFfRU5BQkxFRCcgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdXSVRIT1VUX1RSSU8nIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nTElCWE1MX1NDSEVNQVRST05fRU5BQkxFRCcgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdMSUJYTUxfSFRUUF9FTkFCTEVEJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J0xJQlhNTF9PVVRQVVRfRU5BQkxFRCcgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdXSVRIX1RSSU8nIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nTElCWE1MX0RFQlVHX1JVTlRJTUUnIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nTElCWE1MX1ZFUlNJT04nIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nTElCWE1MX1hQVFJfRU5BQkxFRCcgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdMSUJYTUxfVkVSU0lPTl9TVFJJTkcnIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nTElCWE1MX0NBVEFMT0dfRU5BQkxFRCcgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdMSUJYTUxfQVRUUl9BTExPQ19TSVpFJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J0xJQlhNTF9SRUdFWFBfRU5BQkxFRCcgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdMSUJYTUxfSUNVX0VOQUJMRUQnIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nTElCWE1MX01PRFVMRV9FWFRFTlNJT04nIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nTElCWE1MX0lDT05WX0VOQUJMRUQnIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nTElCWE1MX0hUTUxfRU5BQkxFRCcgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdMSUJYTUxfVU5JQ09ERV9FTkFCTEVEJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J0xJQlhNTF9GVFBfRU5BQkxFRCcgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdMSUJYTUxfQVVUT01BVEFfRU5BQkxFRCcgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdMSUJYTUxfWkxJQl9FTkFCTEVEJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J0xJQlhNTF9XUklURVJfRU5BQkxFRCcgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdMSUJYTUxfQzE0Tl9FTkFCTEVEJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J0xJQlhNTF9TQ0hFTUFTX0VOQUJMRUQnIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nREVCVUdfTUVNT1JZX0xPQ0FUSU9OJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J0xJQlhNTF9BVFRSX0ZPUk1BVCcgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdMSUJYTUxfVEVTVF9WRVJTSU9OJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J0xJQlhNTF9USFJFQURfQUxMT0NfRU5BQkxFRCcgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdMSUJYTUxfWFBBVEhfRU5BQkxFRCcgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdMSUJYTUxfUEFUVEVSTl9FTkFCTEVEJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J0xJQlhNTF9WQUxJRF9FTkFCTEVEJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J0xJQlhNTF9UUkVFX0VOQUJMRUQnIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nTElCWE1MX0VYUFJfRU5BQkxFRCcgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxDaGVja1ZlcnNpb24nIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgPC9maWxlPgorICAgIDxmaWxlIG5hbWU9J3htbHdyaXRlcic+CisgICAgIDxzdW1tYXJ5PnRleHQgd3JpdGluZyBBUEkgZm9yIFhNTDwvc3VtbWFyeT4KKyAgICAgPGRlc2NyaXB0aW9uPnRleHQgd3JpdGluZyBBUEkgZm9yIFhNTCA8L2Rlc2NyaXB0aW9uPgorICAgICA8YXV0aG9yPkFsZnJlZCBNaWNrYXV0c2NoICZsdDthbGZyZWRAbWlja2F1dHNjaC5kZSZndDsgPC9hdXRob3I+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVGV4dFdyaXRlcldyaXRlUHJvY2Vzc2luZ0luc3RydWN0aW9uJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFRleHRXcml0ZXJXcml0ZURvY1R5cGUnIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVGV4dFdyaXRlcicgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFRleHRXcml0ZXJQdHInIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxUZXh0V3JpdGVyU3RhcnREb2N1bWVudCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxUZXh0V3JpdGVyRW5kUEknIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVGV4dFdyaXRlcldyaXRlQmFzZTY0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFRleHRXcml0ZXJTZXRJbmRlbnRTdHJpbmcnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVGV4dFdyaXRlclN0YXJ0QXR0cmlidXRlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFRleHRXcml0ZXJFbmRDb21tZW50JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFRleHRXcml0ZXJXcml0ZVJhd0xlbicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxUZXh0V3JpdGVyV3JpdGVEVERFeHRlcm5hbEVudGl0eUNvbnRlbnRzJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRDREFUQScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxUZXh0V3JpdGVyU3RhcnRBdHRyaWJ1dGVOUycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxOZXdUZXh0V3JpdGVyUHVzaFBhcnNlcicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRBdHRyaWJ1dGVOUycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxUZXh0V3JpdGVyV3JpdGVEVERFbnRpdHknIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdFBJJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFRleHRXcml0ZXJXcml0ZUJpbkhleCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxUZXh0V3JpdGVyRW5kQXR0cmlidXRlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFRleHRXcml0ZXJTZXRJbmRlbnQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0UEknIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVGV4dFdyaXRlckVuZERvY3VtZW50JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFRleHRXcml0ZXJXcml0ZURUREF0dGxpc3QnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVGV4dFdyaXRlclN0YXJ0Q29tbWVudCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFREJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFRleHRXcml0ZXJFbmRDREFUQScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxUZXh0V3JpdGVyU3RhcnRFbGVtZW50TlMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVGV4dFdyaXRlckVuZERUREVudGl0eScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxOZXdUZXh0V3JpdGVyJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbEZyZWVUZXh0V3JpdGVyJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVERBdHRsaXN0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFRleHRXcml0ZXJTdGFydFBJJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFRleHRXcml0ZXJTdGFydEVsZW1lbnQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVGV4dFdyaXRlcldyaXRlRFRERXh0ZXJuYWxFbnRpdHknIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0UmF3JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFRleHRXcml0ZXJXcml0ZUNEQVRBJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVERJbnRlcm5hbEVudGl0eScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0QXR0cmlidXRlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFRleHRXcml0ZXJFbmREVERFbGVtZW50JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFRleHRXcml0ZXJFbmREVEQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVGV4dFdyaXRlcldyaXRlRWxlbWVudCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxUZXh0V3JpdGVyRW5kRWxlbWVudCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0Q29tbWVudCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxUZXh0V3JpdGVyU3RhcnRDREFUQScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxOZXdUZXh0V3JpdGVyRmlsZW5hbWUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEVsZW1lbnQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0Q29tbWVudCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxUZXh0V3JpdGVyV3JpdGVBdHRyaWJ1dGVOUycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxUZXh0V3JpdGVyV3JpdGVQSScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVERJbnRlcm5hbEVudGl0eScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0U3RyaW5nJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFRleHRXcml0ZXJXcml0ZURUREludGVybmFsRW50aXR5JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRFbGVtZW50TlMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVGV4dFdyaXRlcldyaXRlRFRETm90YXRpb24nIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RWxlbWVudCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxUZXh0V3JpdGVyU2V0UXVvdGVDaGFyJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFRleHRXcml0ZXJXcml0ZVN0cmluZycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxUZXh0V3JpdGVyV3JpdGVFbGVtZW50TlMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVGV4dFdyaXRlckZ1bGxFbmRFbGVtZW50JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRBdHRyaWJ1dGVOUycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxUZXh0V3JpdGVyRmx1c2gnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVGV4dFdyaXRlclN0YXJ0RFREJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFRleHRXcml0ZXJXcml0ZUF0dHJpYnV0ZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxOZXdUZXh0V3JpdGVyRG9jJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdERUREVsZW1lbnQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVGV4dFdyaXRlckVuZERUREF0dGxpc3QnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTmV3VGV4dFdyaXRlclRyZWUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sTmV3VGV4dFdyaXRlck1lbW9yeScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRDREFUQScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxUZXh0V3JpdGVyU3RhcnREVERBdHRsaXN0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdFN0cmluZycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxUZXh0V3JpdGVyV3JpdGVDb21tZW50JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRSYXcnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFREJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdERUREF0dGxpc3QnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVGV4dFdyaXRlcldyaXRlUmF3JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFRleHRXcml0ZXJXcml0ZURUREVsZW1lbnQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVGV4dFdyaXRlcldyaXRlRFREJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdEF0dHJpYnV0ZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxUZXh0V3JpdGVyU3RhcnREVERFbnRpdHknIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREVsZW1lbnQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sVGV4dFdyaXRlclN0YXJ0RFRERWxlbWVudCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRFbGVtZW50TlMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgPC9maWxlPgorICAgIDxmaWxlIG5hbWU9J3hwYXRoJz4KKyAgICAgPHN1bW1hcnk+WE1MIFBhdGggTGFuZ3VhZ2UgaW1wbGVtZW50YXRpb248L3N1bW1hcnk+CisgICAgIDxkZXNjcmlwdGlvbj5BUEkgZm9yIHRoZSBYTUwgUGF0aCBMYW5ndWFnZSBpbXBsZW1lbnRhdGlvbiAgWE1MIFBhdGggTGFuZ3VhZ2UgaW1wbGVtZW50YXRpb24gWFBhdGggaXMgYSBsYW5ndWFnZSBmb3IgYWRkcmVzc2luZyBwYXJ0cyBvZiBhbiBYTUwgZG9jdW1lbnQsIGRlc2lnbmVkIHRvIGJlIHVzZWQgYnkgYm90aCBYU0xUIGFuZCBYUG9pbnRlcjwvZGVzY3JpcHRpb24+CisgICAgIDxhdXRob3I+RGFuaWVsIFZlaWxsYXJkIDwvYXV0aG9yPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoTm9kZVNldEdldExlbmd0aCcgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfWFBBVEhfQ0hFQ0tOUycgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYTUxfWFBBVEhfTk9WQVInIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhOb2RlU2V0SXRlbScgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUGF0aE5vZGVTZXRJc0VtcHR5JyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hQQVRIX05VTUJFUl9FUlJPUicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hQQVRIX0JPT0xFQU4nIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYUEFUSF9TVEFSVF9MSVRFUkFMX0VSUk9SJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWFBBVEhfVU5DTE9TRURfRVJST1InIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYUEFUSF9JTlZBTElEX0NIQVJfRVJST1InIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYUEFUSF9VTkRFRl9WQVJJQUJMRV9FUlJPUicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hQQVRIX0VYUFJFU1NJT05fT0snIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYUEFUSF9OT0RFU0VUJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWFBUUl9TVUJfUkVTT1VSQ0VfRVJST1InIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYUEFUSF9WQVJJQUJMRV9SRUZfRVJST1InIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYUEFUSF9FTkNPRElOR19FUlJPUicgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hQVFJfUkVTT1VSQ0VfRVJST1InIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYUEFUSF9OVU1CRVInIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYUEFUSF9QT0lOVCcgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hQQVRIX1VTRVJTJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWFBBVEhfVU5ERUZfUFJFRklYX0VSUk9SJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWFBBVEhfVU5LTk9XTl9GVU5DX0VSUk9SJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWFBBVEhfSU5WQUxJRF9DVFhUX1NJWkUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYUEFUSF9SQU5HRScgdHlwZT0nZW51bScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hQVFJfU1lOVEFYX0VSUk9SJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWFBBVEhfTE9DQVRJT05TRVQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYUEFUSF9JTlZBTElEX0NUWFQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYUEFUSF9JTlZBTElEX0FSSVRZJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWFBBVEhfU1RSSU5HJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWFBBVEhfSU5WQUxJRF9QUkVESUNBVEVfRVJST1InIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYUEFUSF9YU0xUX1RSRUUnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYUEFUSF9FWFBSX0VSUk9SJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWFBBVEhfRk9SQklEX1ZBUklBQkxFX0VSUk9SJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWFBBVEhfSU5WQUxJRF9UWVBFJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWFBBVEhfSU5WQUxJRF9DVFhUX1BPU0lUSU9OJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWFBBVEhfVU5ERUZJTkVEJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWFBBVEhfTUVNT1JZX0VSUk9SJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWFBBVEhfVU5GSU5JU0hFRF9MSVRFUkFMX0VSUk9SJyB0eXBlPSdlbnVtJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWFBBVEhfU1RBQ0tfRVJST1InIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdYUEFUSF9JTlZBTElEX09QRVJBTkQnIHR5cGU9J2VudW0nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUGF0aE9iamVjdFR5cGUnIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUGF0aFZhcmlhYmxlUHRyJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhDb250ZXh0JyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhFcnJvcicgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoRnVuY3QnIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUGF0aFR5cGVQdHInIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUGF0aFR5cGUnIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxOb2RlU2V0UHRyJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhGdW5jUHRyJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhDb21wRXhwclB0cicgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoT2JqZWN0JyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhDb21wRXhwcicgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoQ29udGV4dFB0cicgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cicgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbE5vZGVTZXQnIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUGF0aFZhcmlhYmxlJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhPYmplY3RQdHInIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUGF0aEF4aXMnIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUGF0aEF4aXNQdHInIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUGF0aFBhcnNlckNvbnRleHQnIHR5cGU9J3R5cGVkZWYnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSdfeG1sWFBhdGhGdW5jdCcgdHlwZT0nc3RydWN0Jy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nX3htbFhQYXRoVmFyaWFibGUnIHR5cGU9J3N0cnVjdCcvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J194bWxYUGF0aFBhcnNlckNvbnRleHQnIHR5cGU9J3N0cnVjdCcvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J194bWxYUGF0aFR5cGUnIHR5cGU9J3N0cnVjdCcvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J194bWxYUGF0aE9iamVjdCcgdHlwZT0nc3RydWN0Jy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nX3htbFhQYXRoQ29udGV4dCcgdHlwZT0nc3RydWN0Jy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nX3htbFhQYXRoQXhpcycgdHlwZT0nc3RydWN0Jy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nX3htbE5vZGVTZXQnIHR5cGU9J3N0cnVjdCcvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoTkFOJyB0eXBlPSd2YXJpYWJsZScvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoUElORicgdHlwZT0ndmFyaWFibGUnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUGF0aE5JTkYnIHR5cGU9J3ZhcmlhYmxlJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhDYXN0Tm9kZVNldFRvQm9vbGVhbicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUGF0aEZ1bmNMb29rdXBGdW5jJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoTm9kZUV2YWwnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhDYXN0Tm9kZVRvU3RyaW5nJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoSXNOYU4nIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhDb250ZXh0U2V0Q2FjaGUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhDb252ZXJ0U3RyaW5nJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoQ29tcGlsZWRFdmFsVG9Cb29sZWFuJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoSXNJbmYnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhPcmRlckRvY0VsZW1zJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoTm9kZVNldENyZWF0ZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUGF0aENhc3RCb29sZWFuVG9OdW1iZXInIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhDYXN0Tm9kZVRvTnVtYmVyJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoQ2FzdFN0cmluZ1RvTnVtYmVyJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoQXhpc0Z1bmMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhDYXN0VG9OdW1iZXInIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhDYXN0U3RyaW5nVG9Cb29sZWFuJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoQ2FzdE51bWJlclRvU3RyaW5nJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoVmFyaWFibGVMb29rdXBGdW5jJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoRnJlZU9iamVjdCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUGF0aEV2YWxQcmVkaWNhdGUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhGcmVlQ29udGV4dCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUGF0aE9iamVjdENvcHknIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhGcmVlTm9kZVNldExpc3QnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhFdmFsJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoQ2FzdE5vZGVTZXRUb1N0cmluZycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUGF0aENvbXBpbGVkRXZhbCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUGF0aEV2YWxFeHByZXNzaW9uJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoSW5pdCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUGF0aENvbnZlcnRCb29sZWFuJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoQ29udmVydEZ1bmMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhGdW5jdGlvbicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUGF0aENtcE5vZGVzJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoQ2FzdFRvU3RyaW5nJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoQ3R4dENvbXBpbGUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhFdmFsRnVuYycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUGF0aENhc3RCb29sZWFuVG9TdHJpbmcnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhTZXRDb250ZXh0Tm9kZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUGF0aENhc3ROdW1iZXJUb0Jvb2xlYW4nIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhGcmVlTm9kZVNldCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUGF0aEZyZWVDb21wRXhwcicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUGF0aE5ld0NvbnRleHQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhDb252ZXJ0TnVtYmVyJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoQ29tcGlsZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUGF0aENhc3ROb2RlU2V0VG9OdW1iZXInIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhDYXN0VG9Cb29sZWFuJyB0eXBlPSdmdW5jdGlvbicvPgorICAgIDwvZmlsZT4KKyAgICA8ZmlsZSBuYW1lPSd4cGF0aEludGVybmFscyc+CisgICAgIDxzdW1tYXJ5PmludGVybmFsIGludGVyZmFjZXMgZm9yIFhNTCBQYXRoIExhbmd1YWdlIGltcGxlbWVudGF0aW9uPC9zdW1tYXJ5PgorICAgICA8ZGVzY3JpcHRpb24+aW50ZXJuYWwgaW50ZXJmYWNlcyBmb3IgWE1MIFBhdGggTGFuZ3VhZ2UgaW1wbGVtZW50YXRpb24gdXNlZCB0byBidWlsZCBuZXcgbW9kdWxlcyBvbiB0b3Agb2YgWFBhdGggbGlrZSBYUG9pbnRlciBhbmQgWFNMVCA8L2Rlc2NyaXB0aW9uPgorICAgICA8YXV0aG9yPkRhbmllbCBWZWlsbGFyZCA8L2F1dGhvcj4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUGF0aFN0YWNrSXNFeHRlcm5hbCcgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUGF0aFJldHVybkVtcHR5U3RyaW5nJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J1hQX0VSUk9SMCcgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUGF0aFNldFR5cGVFcnJvcicgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUGF0aFJldHVybkVtcHR5Tm9kZVNldCcgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUGF0aFJldHVyblRydWUnIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhSZXR1cm5Cb29sZWFuJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoR2V0Q29udGV4dE5vZGUnIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nQ0FTVF9UT19OVU1CRVInIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nQ0hFQ0tfQVJJVFknIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nQ0hFQ0tfVFlQRTAnIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nQ0FTVF9UT19TVFJJTkcnIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhSZXR1cm5FeHRlcm5hbCcgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUGF0aFN0YWNrSXNOb2RlU2V0JyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoQ2hlY2tFcnJvcicgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUGF0aFNldEVycm9yJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J0NIRUNLX0VSUk9SJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoUmV0dXJuU3RyaW5nJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J0NBU1RfVE9fQk9PTEVBTicgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUGF0aFNldEFyaXR5RXJyb3InIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nQ0hFQ0tfVFlQRScgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUGF0aFJldHVybkZhbHNlJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoUmV0dXJuTnVtYmVyJyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J0NIRUNLX0VSUk9SMCcgdHlwZT0nbWFjcm8nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUGF0aEdldERvY3VtZW50JyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoR2V0RXJyb3InIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nWFBfRVJST1InIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhFbXB0eU5vZGVTZXQnIHR5cGU9J21hY3JvJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhSZXR1cm5Ob2RlU2V0JyB0eXBlPSdtYWNybycvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoTm9kZVNldE1lcmdlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoTnVtYmVyRnVuY3Rpb24nIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhOc0xvb2t1cCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUGF0aE5ld05vZGVTZXQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhOZXh0QW5jZXN0b3JPclNlbGYnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhOb2RlU2V0UmVtb3ZlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoTmV3Tm9kZVNldExpc3QnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhQb3BCb29sZWFuJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoTmV3U3RyaW5nJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoTm9kZUxlYWRpbmdTb3J0ZWQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhOZXh0Q2hpbGQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhOZXh0Rm9sbG93aW5nU2libGluZycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUGF0aFBvcFN0cmluZycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUGF0aE5hbWVzcGFjZVVSSUZ1bmN0aW9uJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoQ29tcGFyZVZhbHVlcycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUGF0aENvbmNhdEZ1bmN0aW9uJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoTm9kZVNldENvbnRhaW5zJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoZXJyb3InIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhOZXh0QW5jZXN0b3InIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhCb29sZWFuRnVuY3Rpb24nIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhSb290JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoUmVnaXN0ZXJlZE5zQ2xlYW51cCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUGF0aElzTm9kZVR5cGUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhOZXh0Rm9sbG93aW5nJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoQWRkVmFsdWVzJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd2YWx1ZVBvcCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUGF0aENlaWxpbmdGdW5jdGlvbicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUGF0aEludGVyc2VjdGlvbicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUGF0aENvbnRhaW5zRnVuY3Rpb24nIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhOb2RlU2V0U29ydCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUGF0aFN0YXJ0c1dpdGhGdW5jdGlvbicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUGF0aE5vZGVMZWFkaW5nJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoU3VtRnVuY3Rpb24nIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhOb3RFcXVhbFZhbHVlcycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUGF0aEV2YWx1YXRlUHJlZGljYXRlUmVzdWx0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoRXJyJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoTmV4dFByZWNlZGluZycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUGF0aEZ1bmN0aW9uTG9va3VwTlMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhSZWdpc3RlcmVkRnVuY3NDbGVhbnVwJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoUmVnaXN0ZXJBbGxGdW5jdGlvbnMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhGdW5jdGlvbkxvb2t1cCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUGF0aFBvc2l0aW9uRnVuY3Rpb24nIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhTdWJzdHJpbmdCZWZvcmVGdW5jdGlvbicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUGF0aFJlZ2lzdGVyZWRWYXJpYWJsZXNDbGVhbnVwJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoTmV3RmxvYXQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhSZWdpc3Rlck5zJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoTmV4dFBhcmVudCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUGF0aE5vZGVTZXRGcmVlTnMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhIYXNTYW1lTm9kZXMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhEaXN0aW5jdFNvcnRlZCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd2YWx1ZVB1c2gnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhTdWJzdHJpbmdGdW5jdGlvbicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUGF0aFN0cmluZ0Z1bmN0aW9uJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoRmxvb3JGdW5jdGlvbicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUGF0aElkRnVuY3Rpb24nIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhMYXN0RnVuY3Rpb24nIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhTdHJpbmdMZW5ndGhGdW5jdGlvbicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUGF0aE5leHRTZWxmJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoRGVidWdEdW1wQ29tcEV4cHInIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhGYWxzZUZ1bmN0aW9uJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoVmFsdWVGbGlwU2lnbicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUGF0aFRyYW5zbGF0ZUZ1bmN0aW9uJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoUmVnaXN0ZXJGdW5jTG9va3VwJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoUG9wTnVtYmVyJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoUm91bmRGdW5jdGlvbicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUGF0aFBvcE5vZGVTZXQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhDb3VudEZ1bmN0aW9uJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoUGFyc2VOQ05hbWUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhUcnVlRnVuY3Rpb24nIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhOZXdCb29sZWFuJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoU3ViVmFsdWVzJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoRXF1YWxWYWx1ZXMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhUcmFpbGluZ1NvcnRlZCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUGF0aE11bHRWYWx1ZXMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhNb2RWYWx1ZXMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhOZXdQYXJzZXJDb250ZXh0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoV3JhcE5vZGVTZXQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhXcmFwU3RyaW5nJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoTGFuZ0Z1bmN0aW9uJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoUmVnaXN0ZXJGdW5jTlMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhOb2RlU2V0QWRkTnMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhMb2NhbE5hbWVGdW5jdGlvbicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUGF0aERpZmZlcmVuY2UnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhMZWFkaW5nU29ydGVkJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoTmV4dFByZWNlZGluZ1NpYmxpbmcnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhQb3BFeHRlcm5hbCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUGF0aE5vcm1hbGl6ZUZ1bmN0aW9uJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZUxvb2t1cCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUGF0aE5vZGVTZXREZWwnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhOb2RlVHJhaWxpbmdTb3J0ZWQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhOZXdDU3RyaW5nJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoUmVnaXN0ZXJGdW5jJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoU3Vic3RyaW5nQWZ0ZXJGdW5jdGlvbicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUGF0aE5leHREZXNjZW5kYW50JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoTmV4dE5hbWVzcGFjZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUGF0aFdyYXBDU3RyaW5nJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoRnJlZVBhcnNlckNvbnRleHQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhOb2RlVHJhaWxpbmcnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhOb2RlU2V0QWRkJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoTm9kZVNldEFkZFVuaXF1ZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUGF0aE5ld1ZhbHVlVHJlZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUGF0aERpc3RpbmN0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoVmFyaWFibGVMb29rdXAnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhOb3RGdW5jdGlvbicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUGF0aFN0cmluZ0V2YWxOdW1iZXInIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhOZXh0RGVzY2VuZGFudE9yU2VsZicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUGF0aFdyYXBFeHRlcm5hbCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUGF0aE5leHRBdHRyaWJ1dGUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhEaXZWYWx1ZXMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhWYXJpYWJsZUxvb2t1cE5TJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZU5TJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQYXRoVHJhaWxpbmcnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhFdmFsRXhwcicgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUGF0aERlYnVnRHVtcE9iamVjdCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUGF0aExlYWRpbmcnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFBhdGhQYXJzZU5hbWUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgPC9maWxlPgorICAgIDxmaWxlIG5hbWU9J3hwb2ludGVyJz4KKyAgICAgPHN1bW1hcnk+QVBJIHRvIGhhbmRsZSBYTUwgUG9pbnRlcnM8L3N1bW1hcnk+CisgICAgIDxkZXNjcmlwdGlvbj5BUEkgdG8gaGFuZGxlIFhNTCBQb2ludGVycyBCYXNlIGltcGxlbWVudGF0aW9uIHdhcyBtYWRlIGFjY29yZGluZ2x5IHRvIFczQyBDYW5kaWRhdGUgUmVjb21tZW5kYXRpb24gNyBKdW5lIDIwMDA8L2Rlc2NyaXB0aW9uPgorICAgICA8YXV0aG9yPkRhbmllbCBWZWlsbGFyZCA8L2F1dGhvcj4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxMb2NhdGlvblNldCcgdHlwZT0ndHlwZWRlZicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbExvY2F0aW9uU2V0UHRyJyB0eXBlPSd0eXBlZGVmJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0nX3htbExvY2F0aW9uU2V0JyB0eXBlPSdzdHJ1Y3QnLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUHRyTmV3UmFuZ2UnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFB0ckZyZWVMb2NhdGlvblNldCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUHRyV3JhcExvY2F0aW9uU2V0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQdHJCdWlsZE5vZGVMaXN0JyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQdHJFdmFsJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQdHJOZXdSYW5nZU5vZGVzJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQdHJMb2NhdGlvblNldEFkZCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUHRyUmFuZ2VUb0Z1bmN0aW9uJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQdHJOZXdDb2xsYXBzZWRSYW5nZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUHRyTmV3UmFuZ2VQb2ludHMnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFB0ck5ld0xvY2F0aW9uU2V0Tm9kZVNldCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUHRyTmV3UmFuZ2VQb2ludE5vZGUnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFB0ckxvY2F0aW9uU2V0Q3JlYXRlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQdHJOZXdSYW5nZU5vZGVPYmplY3QnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFB0ck5ld0NvbnRleHQnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFB0ckxvY2F0aW9uU2V0UmVtb3ZlJyB0eXBlPSdmdW5jdGlvbicvPgorICAgICA8ZXhwb3J0cyBzeW1ib2w9J3htbFhQdHJOZXdSYW5nZU5vZGVQb2ludCcgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUHRyTG9jYXRpb25TZXREZWwnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFB0ckxvY2F0aW9uU2V0TWVyZ2UnIHR5cGU9J2Z1bmN0aW9uJy8+CisgICAgIDxleHBvcnRzIHN5bWJvbD0neG1sWFB0ckV2YWxSYW5nZVByZWRpY2F0ZScgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICAgPGV4cG9ydHMgc3ltYm9sPSd4bWxYUHRyTmV3TG9jYXRpb25TZXROb2RlcycgdHlwZT0nZnVuY3Rpb24nLz4KKyAgICA8L2ZpbGU+CisgIDwvZmlsZXM+CisgIDxzeW1ib2xzPgorICAgIDxtYWNybyBuYW1lPSdBVFRSSUJVVEVfVU5VU0VEJyBmaWxlPSd4bWx2ZXJzaW9uJz4KKyAgICAgIDxpbmZvPk1hY3JvIHVzZWQgdG8gc2lnbmFsIHRvIEdDQyB1bnVzZWQgZnVuY3Rpb24gcGFyYW1ldGVyczwvaW5mbz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSdCQURfQ0FTVCcgZmlsZT0neG1sc3RyaW5nJz4KKyAgICAgIDxpbmZvPk1hY3JvIHRvIGNhc3QgYSBzdHJpbmcgdG8gYW4geG1sQ2hhciAqIHdoZW4gb25lIGtub3cgaXRzIHNhZmUuPC9pbmZvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J0JBU0VfQlVGRkVSX1NJWkUnIGZpbGU9J3RyZWUnPgorICAgICAgPGluZm8+ZGVmYXVsdCBidWZmZXIgc2l6ZSA0MDAwLjwvaW5mbz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSdDQVNUX1RPX0JPT0xFQU4nIGZpbGU9J3hwYXRoSW50ZXJuYWxzJz4KKyAgICAgIDxpbmZvPk1hY3JvIHRvIHRyeSB0byBjYXN0IHRoZSB2YWx1ZSBvbiB0aGUgdG9wIG9mIHRoZSBYUGF0aCBzdGFjayB0byBhIGJvb2xlYW4uPC9pbmZvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J0NBU1RfVE9fTlVNQkVSJyBmaWxlPSd4cGF0aEludGVybmFscyc+CisgICAgICA8aW5mbz5NYWNybyB0byB0cnkgdG8gY2FzdCB0aGUgdmFsdWUgb24gdGhlIHRvcCBvZiB0aGUgWFBhdGggc3RhY2sgdG8gYSBudW1iZXIuPC9pbmZvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J0NBU1RfVE9fU1RSSU5HJyBmaWxlPSd4cGF0aEludGVybmFscyc+CisgICAgICA8aW5mbz5NYWNybyB0byB0cnkgdG8gY2FzdCB0aGUgdmFsdWUgb24gdGhlIHRvcCBvZiB0aGUgWFBhdGggc3RhY2sgdG8gYSBzdHJpbmcuPC9pbmZvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J0NIRUNLX0FSSVRZJyBmaWxlPSd4cGF0aEludGVybmFscyc+CisgICAgICA8aW5mbz5NYWNybyB0byBjaGVjayB0aGF0IHRoZSBudW1iZXIgb2YgYXJncyBwYXNzZWQgdG8gYW4gWFBhdGggZnVuY3Rpb24gbWF0Y2hlcy48L2luZm8+CisgICAgICA8YXJnIG5hbWU9J3gnIGluZm89J3RoZSBudW1iZXIgb2YgZXhwZWN0ZWQgYXJncycvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J0NIRUNLX0VSUk9SJyBmaWxlPSd4cGF0aEludGVybmFscyc+CisgICAgICA8aW5mbz5NYWNybyB0byByZXR1cm4gZnJvbSB0aGUgZnVuY3Rpb24gaWYgYW4gWFBhdGggZXJyb3Igd2FzIGRldGVjdGVkLjwvaW5mbz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSdDSEVDS19FUlJPUjAnIGZpbGU9J3hwYXRoSW50ZXJuYWxzJz4KKyAgICAgIDxpbmZvPk1hY3JvIHRvIHJldHVybiAwIGZyb20gdGhlIGZ1bmN0aW9uIGlmIGFuIFhQYXRoIGVycm9yIHdhcyBkZXRlY3RlZC48L2luZm8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nQ0hFQ0tfVFlQRScgZmlsZT0neHBhdGhJbnRlcm5hbHMnPgorICAgICAgPGluZm8+TWFjcm8gdG8gY2hlY2sgdGhhdCB0aGUgdmFsdWUgb24gdG9wIG9mIHRoZSBYUGF0aCBzdGFjayBpcyBvZiBhIGdpdmVuIHR5cGUuPC9pbmZvPgorICAgICAgPGFyZyBuYW1lPSd0eXBldmFsJyBpbmZvPSd0aGUgWFBhdGggdHlwZScvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J0NIRUNLX1RZUEUwJyBmaWxlPSd4cGF0aEludGVybmFscyc+CisgICAgICA8aW5mbz5NYWNybyB0byBjaGVjayB0aGF0IHRoZSB2YWx1ZSBvbiB0b3Agb2YgdGhlIFhQYXRoIHN0YWNrIGlzIG9mIGEgZ2l2ZW4gdHlwZS4gUmV0dXJuKDApIGluIGNhc2Ugb2YgZmFpbHVyZTwvaW5mbz4KKyAgICAgIDxhcmcgbmFtZT0ndHlwZXZhbCcgaW5mbz0ndGhlIFhQYXRoIHR5cGUnLz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSdERUJVR19NRU1PUlknIGZpbGU9J3htbG1lbW9yeSc+CisgICAgICA8aW5mbz5ERUJVR19NRU1PUlkgcmVwbGFjZXMgdGhlIGFsbG9jYXRvciB3aXRoIGEgY29sbGVjdCBhbmQgZGVidWcgc2hlbGwgdG8gdGhlIGxpYmMgYWxsb2NhdG9yLiBERUJVR19NRU1PUlkgc2hvdWxkIG9ubHkgYmUgYWN0aXZhdGVkIHdoZW4gZGVidWdnaW5nIGxpYnhtbCBpLmUuIGlmIGxpYnhtbCBoYXMgYmVlbiBjb25maWd1cmVkIHdpdGggLS13aXRoLWRlYnVnLW1lbSB0b28uICNkZWZpbmUgREVCVUdfTUVNT1JZX0ZSRUVEICNkZWZpbmUgREVCVUdfTUVNT1JZX0xPQ0FUSU9OPC9pbmZvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J0RFQlVHX01FTU9SWV9MT0NBVElPTicgZmlsZT0neG1sdmVyc2lvbic+CisgICAgICA8aW5mbz5XaGV0aGVyIHRoZSBtZW1vcnkgZGVidWdnaW5nIGlzIGNvbmZpZ3VyZWQgaW48L2luZm8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nSFRNTF9DT01NRU5UX05PREUnIGZpbGU9J0hUTUx0cmVlJz4KKyAgICAgIDxpbmZvPk1hY3JvLiBBIGNvbW1lbnQgaW4gYSBIVE1MIGRvY3VtZW50IGlzIHJlYWxseSBpbXBsZW1lbnRlZCB0aGUgc2FtZSB3YXkgYXMgYSBjb21tZW50IGluIGFuIFhNTCBkb2N1bWVudC48L2luZm8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nSFRNTF9FTlRJVFlfUkVGX05PREUnIGZpbGU9J0hUTUx0cmVlJz4KKyAgICAgIDxpbmZvPk1hY3JvLiBBbiBlbnRpdHkgcmVmZXJlbmNlIGluIGEgSFRNTCBkb2N1bWVudCBpcyByZWFsbHkgaW1wbGVtZW50ZWQgdGhlIHNhbWUgd2F5IGFzIGFuIGVudGl0eSByZWZlcmVuY2UgaW4gYW4gWE1MIGRvY3VtZW50LjwvaW5mbz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSdIVE1MX1BJX05PREUnIGZpbGU9J0hUTUx0cmVlJz4KKyAgICAgIDxpbmZvPk1hY3JvLiBBIHByb2Nlc3NpbmcgaW5zdHJ1Y3Rpb24gaW4gYSBIVE1MIGRvY3VtZW50IGlzIHJlYWxseSBpbXBsZW1lbnRlZCB0aGUgc2FtZSB3YXkgYXMgYSBwcm9jZXNzaW5nIGluc3RydWN0aW9uIGluIGFuIFhNTCBkb2N1bWVudC48L2luZm8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nSFRNTF9QUkVTRVJWRV9OT0RFJyBmaWxlPSdIVE1MdHJlZSc+CisgICAgICA8aW5mbz5NYWNyby4gQSBwcmVzZXJ2ZWQgbm9kZSBpbiBhIEhUTUwgZG9jdW1lbnQgaXMgcmVhbGx5IGltcGxlbWVudGVkIHRoZSBzYW1lIHdheSBhcyBhIENEQVRBIHNlY3Rpb24gaW4gYW4gWE1MIGRvY3VtZW50LjwvaW5mbz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSdIVE1MX1RFWFRfTk9ERScgZmlsZT0nSFRNTHRyZWUnPgorICAgICAgPGluZm8+TWFjcm8uIEEgdGV4dCBub2RlIGluIGEgSFRNTCBkb2N1bWVudCBpcyByZWFsbHkgaW1wbGVtZW50ZWQgdGhlIHNhbWUgd2F5IGFzIGEgdGV4dCBub2RlIGluIGFuIFhNTCBkb2N1bWVudC48L2luZm8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nSU5QVVRfQ0hVTksnIGZpbGU9J3BhcnNlckludGVybmFscyc+CisgICAgICA8aW5mbz5UaGUgcGFyc2VyIHRyaWVzIHRvIGFsd2F5cyBoYXZlIHRoYXQgYW1vdW50IG9mIGlucHV0IHJlYWR5LiBPbmUgb2YgdGhlIHBvaW50IGlzIHByb3ZpZGluZyBjb250ZXh0IHdoZW4gcmVwb3J0aW5nIGVycm9ycy48L2luZm8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nSU5WQUxJRF9TT0NLRVQnIGZpbGU9J25hbm9mdHAnPgorICAgICAgPGluZm8+bWFjcm8gdXNlZCB0byBwcm92aWRlIHBvcnRhYmlsaXR5IG9mIGNvZGUgdG8gd2luZG93cyBzb2NrZXRzIHRoZSB2YWx1ZSB0byBiZSB1c2VkIHdoZW4gdGhlIHNvY2tldCBpcyBub3QgdmFsaWQ8L2luZm8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nSVNfQVNDSUlfRElHSVQnIGZpbGU9J3BhcnNlckludGVybmFscyc+CisgICAgICA8aW5mbz5NYWNybyB0byBjaGVjayBbMC05XTwvaW5mbz4KKyAgICAgIDxhcmcgbmFtZT0nYycgaW5mbz0nYW4geG1sQ2hhciB2YWx1ZScvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J0lTX0FTQ0lJX0xFVFRFUicgZmlsZT0ncGFyc2VySW50ZXJuYWxzJz4KKyAgICAgIDxpbmZvPk1hY3JvIHRvIGNoZWNrIFthLXpBLVpdPC9pbmZvPgorICAgICAgPGFyZyBuYW1lPSdjJyBpbmZvPSdhbiB4bWxDaGFyIHZhbHVlJy8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nSVNfQkFTRUNIQVInIGZpbGU9J3BhcnNlckludGVybmFscyc+CisgICAgICA8aW5mbz5NYWNybyB0byBjaGVjayB0aGUgZm9sbG93aW5nIHByb2R1Y3Rpb24gaW4gdGhlIFhNTCBzcGVjOiAgWzg1XSBCYXNlQ2hhciA6Oj0gLi4uIGxvbmcgbGlzdCBzZWUgUkVDIC4uLjwvaW5mbz4KKyAgICAgIDxhcmcgbmFtZT0nYycgaW5mbz0nYW4gVU5JQ09ERSB2YWx1ZSAoaW50KScvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J0lTX0JMQU5LJyBmaWxlPSdwYXJzZXJJbnRlcm5hbHMnPgorICAgICAgPGluZm8+TWFjcm8gdG8gY2hlY2sgdGhlIGZvbGxvd2luZyBwcm9kdWN0aW9uIGluIHRoZSBYTUwgc3BlYzogIFszXSBTIDo6PSAoI3gyMCB8ICN4OSB8ICN4RCB8ICN4QSkrPC9pbmZvPgorICAgICAgPGFyZyBuYW1lPSdjJyBpbmZvPSdhbiBVTklDT0RFIHZhbHVlIChpbnQpJy8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nSVNfQkxBTktfQ0gnIGZpbGU9J3BhcnNlckludGVybmFscyc+CisgICAgICA8aW5mbz5CZWhhdmlvdXIgc2FtZSBhcyBJU19CTEFOSzwvaW5mbz4KKyAgICAgIDxhcmcgbmFtZT0nYycgaW5mbz0nYW4geG1sQ2hhciB2YWx1ZSAobm9ybWFsbHkgdW5zaWduZWQgY2hhciknLz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSdJU19CWVRFX0NIQVInIGZpbGU9J3BhcnNlckludGVybmFscyc+CisgICAgICA8aW5mbz5NYWNybyB0byBjaGVjayB0aGUgZm9sbG93aW5nIHByb2R1Y3Rpb24gaW4gdGhlIFhNTCBzcGVjOiAgWzJdIENoYXIgOjo9ICN4OSB8ICN4QSB8ICN4RCB8IFsjeDIwLi4uXSBhbnkgYnl0ZSBjaGFyYWN0ZXIgaW4gdGhlIGFjY2VwdGVkIHJhbmdlPC9pbmZvPgorICAgICAgPGFyZyBuYW1lPSdjJyBpbmZvPSdhbiBieXRlIHZhbHVlIChpbnQpJy8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nSVNfQ0hBUicgZmlsZT0ncGFyc2VySW50ZXJuYWxzJz4KKyAgICAgIDxpbmZvPk1hY3JvIHRvIGNoZWNrIHRoZSBmb2xsb3dpbmcgcHJvZHVjdGlvbiBpbiB0aGUgWE1MIHNwZWM6ICBbMl0gQ2hhciA6Oj0gI3g5IHwgI3hBIHwgI3hEIHwgWyN4MjAtI3hEN0ZGXSB8IFsjeEUwMDAtI3hGRkZEXSB8IFsjeDEwMDAwLSN4MTBGRkZGXSBhbnkgVW5pY29kZSBjaGFyYWN0ZXIsIGV4Y2x1ZGluZyB0aGUgc3Vycm9nYXRlIGJsb2NrcywgRkZGRSwgYW5kIEZGRkYuPC9pbmZvPgorICAgICAgPGFyZyBuYW1lPSdjJyBpbmZvPSdhbiBVTklDT0RFIHZhbHVlIChpbnQpJy8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nSVNfQ0hBUl9DSCcgZmlsZT0ncGFyc2VySW50ZXJuYWxzJz4KKyAgICAgIDxpbmZvPkJlaGF2ZXMgbGlrZSBJU19DSEFSIG9uIHNpbmdsZS1ieXRlIHZhbHVlPC9pbmZvPgorICAgICAgPGFyZyBuYW1lPSdjJyBpbmZvPSdhbiB4bWxDaGFyICh1c3VhbGx5IGFuIHVuc2lnbmVkIGNoYXIpJy8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nSVNfQ09NQklOSU5HJyBmaWxlPSdwYXJzZXJJbnRlcm5hbHMnPgorICAgICAgPGluZm8+TWFjcm8gdG8gY2hlY2sgdGhlIGZvbGxvd2luZyBwcm9kdWN0aW9uIGluIHRoZSBYTUwgc3BlYzogIFs4N10gQ29tYmluaW5nQ2hhciA6Oj0gLi4uIGxvbmcgbGlzdCBzZWUgUkVDIC4uLjwvaW5mbz4KKyAgICAgIDxhcmcgbmFtZT0nYycgaW5mbz0nYW4gVU5JQ09ERSB2YWx1ZSAoaW50KScvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J0lTX0NPTUJJTklOR19DSCcgZmlsZT0ncGFyc2VySW50ZXJuYWxzJz4KKyAgICAgIDxpbmZvPkFsd2F5cyBmYWxzZSAoYWxsIGNvbWJpbmluZyBjaGFycyAmZ3Q7IDB4ZmYpPC9pbmZvPgorICAgICAgPGFyZyBuYW1lPSdjJyBpbmZvPSdhbiB4bWxDaGFyICh1c3VhbGx5IGFuIHVuc2lnbmVkIGNoYXIpJy8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nSVNfRElHSVQnIGZpbGU9J3BhcnNlckludGVybmFscyc+CisgICAgICA8aW5mbz5NYWNybyB0byBjaGVjayB0aGUgZm9sbG93aW5nIHByb2R1Y3Rpb24gaW4gdGhlIFhNTCBzcGVjOiAgWzg4XSBEaWdpdCA6Oj0gLi4uIGxvbmcgbGlzdCBzZWUgUkVDIC4uLjwvaW5mbz4KKyAgICAgIDxhcmcgbmFtZT0nYycgaW5mbz0nYW4gVU5JQ09ERSB2YWx1ZSAoaW50KScvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J0lTX0RJR0lUX0NIJyBmaWxlPSdwYXJzZXJJbnRlcm5hbHMnPgorICAgICAgPGluZm8+QmVoYXZlcyBsaWtlIElTX0RJR0lUIGJ1dCB3aXRoIGEgc2luZ2xlIGJ5dGUgYXJndW1lbnQ8L2luZm8+CisgICAgICA8YXJnIG5hbWU9J2MnIGluZm89J2FuIHhtbENoYXIgdmFsdWUgKHVzdWFsbHkgYW4gdW5zaWduZWQgY2hhciknLz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSdJU19FWFRFTkRFUicgZmlsZT0ncGFyc2VySW50ZXJuYWxzJz4KKyAgICAgIDxpbmZvPk1hY3JvIHRvIGNoZWNrIHRoZSBmb2xsb3dpbmcgcHJvZHVjdGlvbiBpbiB0aGUgWE1MIHNwZWM6ICAgWzg5XSBFeHRlbmRlciA6Oj0gI3gwMEI3IHwgI3gwMkQwIHwgI3gwMkQxIHwgI3gwMzg3IHwgI3gwNjQwIHwgI3gwRTQ2IHwgI3gwRUM2IHwgI3gzMDA1IHwgWyN4MzAzMS0jeDMwMzVdIHwgWyN4MzA5RC0jeDMwOUVdIHwgWyN4MzBGQy0jeDMwRkVdPC9pbmZvPgorICAgICAgPGFyZyBuYW1lPSdjJyBpbmZvPSdhbiBVTklDT0RFIHZhbHVlIChpbnQpJy8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nSVNfRVhURU5ERVJfQ0gnIGZpbGU9J3BhcnNlckludGVybmFscyc+CisgICAgICA8aW5mbz5CZWhhdmVzIGxpa2UgSVNfRVhURU5ERVIgYnV0IHdpdGggYSBzaW5nbGUtYnl0ZSBhcmd1bWVudDwvaW5mbz4KKyAgICAgIDxhcmcgbmFtZT0nYycgaW5mbz0nYW4geG1sQ2hhciB2YWx1ZSAodXN1YWxseSBhbiB1bnNpZ25lZCBjaGFyKScvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J0lTX0lERU9HUkFQSElDJyBmaWxlPSdwYXJzZXJJbnRlcm5hbHMnPgorICAgICAgPGluZm8+TWFjcm8gdG8gY2hlY2sgdGhlIGZvbGxvd2luZyBwcm9kdWN0aW9uIGluIHRoZSBYTUwgc3BlYzogICBbODZdIElkZW9ncmFwaGljIDo6PSBbI3g0RTAwLSN4OUZBNV0gfCAjeDMwMDcgfCBbI3gzMDIxLSN4MzAyOV08L2luZm8+CisgICAgICA8YXJnIG5hbWU9J2MnIGluZm89J2FuIFVOSUNPREUgdmFsdWUgKGludCknLz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSdJU19MRVRURVInIGZpbGU9J3BhcnNlckludGVybmFscyc+CisgICAgICA8aW5mbz5NYWNybyB0byBjaGVjayB0aGUgZm9sbG93aW5nIHByb2R1Y3Rpb24gaW4gdGhlIFhNTCBzcGVjOiAgIFs4NF0gTGV0dGVyIDo6PSBCYXNlQ2hhciB8IElkZW9ncmFwaGljPC9pbmZvPgorICAgICAgPGFyZyBuYW1lPSdjJyBpbmZvPSdhbiBVTklDT0RFIHZhbHVlIChpbnQpJy8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nSVNfTEVUVEVSX0NIJyBmaWxlPSdwYXJzZXJJbnRlcm5hbHMnPgorICAgICAgPGluZm8+TWFjcm8gYmVoYXZlcyBsaWtlIElTX0xFVFRFUiwgYnV0IG9ubHkgY2hlY2sgYmFzZSBjaGFyczwvaW5mbz4KKyAgICAgIDxhcmcgbmFtZT0nYycgaW5mbz0nYW4geG1sQ2hhciB2YWx1ZSAobm9ybWFsbHkgdW5zaWduZWQgY2hhciknLz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSdJU19QVUJJRENIQVInIGZpbGU9J3BhcnNlckludGVybmFscyc+CisgICAgICA8aW5mbz5NYWNybyB0byBjaGVjayB0aGUgZm9sbG93aW5nIHByb2R1Y3Rpb24gaW4gdGhlIFhNTCBzcGVjOiAgIFsxM10gUHViaWRDaGFyIDo6PSAjeDIwIHwgI3hEIHwgI3hBIHwgW2EtekEtWjAtOV0gfCBbLSZhcG9zOygpKywuLzo9PzshKiNAJF8lXTwvaW5mbz4KKyAgICAgIDxhcmcgbmFtZT0nYycgaW5mbz0nYW4gVU5JQ09ERSB2YWx1ZSAoaW50KScvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J0lTX1BVQklEQ0hBUl9DSCcgZmlsZT0ncGFyc2VySW50ZXJuYWxzJz4KKyAgICAgIDxpbmZvPlNhbWUgYXMgSVNfUFVCSURDSEFSIGJ1dCBmb3Igc2luZ2xlLWJ5dGUgdmFsdWU8L2luZm8+CisgICAgICA8YXJnIG5hbWU9J2MnIGluZm89J2FuIHhtbENoYXIgdmFsdWUgKG5vcm1hbGx5IHVuc2lnbmVkIGNoYXIpJy8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nTElCWE1MMl9ORVdfQlVGRkVSJyBmaWxlPSd0cmVlJz4KKyAgICAgIDxpbmZvPk1hY3JvIHVzZWQgdG8gZXhwcmVzcyB0aGF0IHRoZSBBUEkgdXNlIHRoZSBuZXcgYnVmZmVycyBmb3IgeG1sUGFyc2VySW5wdXRCdWZmZXIgYW5kIHhtbE91dHB1dEJ1ZmZlci4gVGhlIGNoYW5nZSB3YXMgaW50cm9kdWNlZCBpbiAyLjkuMC48L2luZm8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nTElCWE1MX0FUVFJfQUxMT0NfU0laRScgZmlsZT0neG1sdmVyc2lvbic+CisgICAgICA8aW5mbz5NYWNybyB1c2VkIHRvIGluZGljYXRlIHRvIEdDQyB0aGlzIGlzIGFuIGFsbG9jYXRvciBmdW5jdGlvbjwvaW5mbz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSdMSUJYTUxfQVRUUl9GT1JNQVQnIGZpbGU9J3htbHZlcnNpb24nPgorICAgICAgPGluZm8+TWFjcm8gdXNlZCB0byBpbmRpY2F0ZSB0byBHQ0MgdGhlIHBhcmFtZXRlciBhcmUgcHJpbnRmIGxpa2U8L2luZm8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nTElCWE1MX0FVVE9NQVRBX0VOQUJMRUQnIGZpbGU9J3htbHZlcnNpb24nPgorICAgICAgPGluZm8+V2hldGhlciB0aGUgYXV0b21hdGEgaW50ZXJmYWNlcyBhcmUgY29tcGlsZWQgaW48L2luZm8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nTElCWE1MX0MxNE5fRU5BQkxFRCcgZmlsZT0neG1sdmVyc2lvbic+CisgICAgICA8aW5mbz5XaGV0aGVyIHRoZSBDYW5vbmljYWxpemF0aW9uIHN1cHBvcnQgaXMgY29uZmlndXJlZCBpbjwvaW5mbz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSdMSUJYTUxfQ0FUQUxPR19FTkFCTEVEJyBmaWxlPSd4bWx2ZXJzaW9uJz4KKyAgICAgIDxpbmZvPldoZXRoZXIgdGhlIENhdGFsb2cgc3VwcG9ydCBpcyBjb25maWd1cmVkIGluPC9pbmZvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J0xJQlhNTF9ERUJVR19FTkFCTEVEJyBmaWxlPSd4bWx2ZXJzaW9uJz4KKyAgICAgIDxpbmZvPldoZXRoZXIgRGVidWdnaW5nIG1vZHVsZSBpcyBjb25maWd1cmVkIGluPC9pbmZvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J0xJQlhNTF9ERUJVR19SVU5USU1FJyBmaWxlPSd4bWx2ZXJzaW9uJz4KKyAgICAgIDxpbmZvPldoZXRoZXIgdGhlIHJ1bnRpbWUgZGVidWdnaW5nIGlzIGNvbmZpZ3VyZWQgaW48L2luZm8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nTElCWE1MX0RMTF9JTVBPUlQnIGZpbGU9J3htbGV4cG9ydHMnPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J0xJQlhNTF9ET0NCX0VOQUJMRUQnIGZpbGU9J3htbHZlcnNpb24nPgorICAgICAgPGluZm8+V2hldGhlciB0aGUgU0dNTCBEb2Nib29rIHN1cHBvcnQgaXMgY29uZmlndXJlZCBpbjwvaW5mbz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSdMSUJYTUxfRE9UVEVEX1ZFUlNJT04nIGZpbGU9J3htbHZlcnNpb24nPgorICAgICAgPGluZm8+dGhlIHZlcnNpb24gc3RyaW5nIGxpa2UgJnF1b3Q7MS4yLjMmcXVvdDs8L2luZm8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nTElCWE1MX0VYUFJfRU5BQkxFRCcgZmlsZT0neG1sdmVyc2lvbic+CisgICAgICA8aW5mbz5XaGV0aGVyIHRoZSBmb3JtYWwgZXhwcmVzc2lvbnMgaW50ZXJmYWNlcyBhcmUgY29tcGlsZWQgaW48L2luZm8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nTElCWE1MX0ZUUF9FTkFCTEVEJyBmaWxlPSd4bWx2ZXJzaW9uJz4KKyAgICAgIDxpbmZvPldoZXRoZXIgdGhlIEZUUCBzdXBwb3J0IGlzIGNvbmZpZ3VyZWQgaW48L2luZm8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nTElCWE1MX0hUTUxfRU5BQkxFRCcgZmlsZT0neG1sdmVyc2lvbic+CisgICAgICA8aW5mbz5XaGV0aGVyIHRoZSBIVE1MIHN1cHBvcnQgaXMgY29uZmlndXJlZCBpbjwvaW5mbz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSdMSUJYTUxfSFRUUF9FTkFCTEVEJyBmaWxlPSd4bWx2ZXJzaW9uJz4KKyAgICAgIDxpbmZvPldoZXRoZXIgdGhlIEhUVFAgc3VwcG9ydCBpcyBjb25maWd1cmVkIGluPC9pbmZvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J0xJQlhNTF9JQ09OVl9FTkFCTEVEJyBmaWxlPSd4bWx2ZXJzaW9uJz4KKyAgICAgIDxpbmZvPldoZXRoZXIgaWNvbnYgc3VwcG9ydCBpcyBhdmFpbGFibGU8L2luZm8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nTElCWE1MX0lDVV9FTkFCTEVEJyBmaWxlPSd4bWx2ZXJzaW9uJz4KKyAgICAgIDxpbmZvPldoZXRoZXIgaWN1IHN1cHBvcnQgaXMgYXZhaWxhYmxlPC9pbmZvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J0xJQlhNTF9JU084ODU5WF9FTkFCTEVEJyBmaWxlPSd4bWx2ZXJzaW9uJz4KKyAgICAgIDxpbmZvPldoZXRoZXIgSVNPLTg4NTktKiBzdXBwb3J0IGlzIG1hZGUgYXZhaWxhYmxlIGluIGNhc2UgaWNvbnYgaXMgbm90PC9pbmZvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J0xJQlhNTF9MRUdBQ1lfRU5BQkxFRCcgZmlsZT0neG1sdmVyc2lvbic+CisgICAgICA8aW5mbz5XaGV0aGVyIHRoZSBkZXByZWNhdGVkIEFQSXMgYXJlIGNvbXBpbGVkIGluIGZvciBjb21wYXRpYmlsaXR5PC9pbmZvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J0xJQlhNTF9MWk1BX0VOQUJMRUQnIGZpbGU9J3htbHZlcnNpb24nPgorICAgICAgPGluZm8+V2hldGhlciB0aGUgTHptYSBzdXBwb3J0IGlzIGNvbXBpbGVkIGluPC9pbmZvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J0xJQlhNTF9NT0RVTEVTX0VOQUJMRUQnIGZpbGU9J3htbHZlcnNpb24nPgorICAgICAgPGluZm8+V2hldGhlciB0aGUgbW9kdWxlIGludGVyZmFjZXMgYXJlIGNvbXBpbGVkIGluPC9pbmZvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J0xJQlhNTF9NT0RVTEVfRVhURU5TSU9OJyBmaWxlPSd4bWx2ZXJzaW9uJz4KKyAgICAgIDxpbmZvPnRoZSBzdHJpbmcgc3VmZml4IHVzZWQgYnkgZHluYW1pYyBtb2R1bGVzICh1c3VhbGx5IHNoYXJlZCBsaWJyYXJpZXMpPC9pbmZvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J0xJQlhNTF9PVVRQVVRfRU5BQkxFRCcgZmlsZT0neG1sdmVyc2lvbic+CisgICAgICA8aW5mbz5XaGV0aGVyIHRoZSBzZXJpYWxpemF0aW9uL3NhdmluZyBzdXBwb3J0IGlzIGNvbmZpZ3VyZWQgaW48L2luZm8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nTElCWE1MX1BBVFRFUk5fRU5BQkxFRCcgZmlsZT0neG1sdmVyc2lvbic+CisgICAgICA8aW5mbz5XaGV0aGVyIHRoZSB4bWxQYXR0ZXJuIG5vZGUgc2VsZWN0aW9uIGludGVyZmFjZSBpcyBjb25maWd1cmVkIGluPC9pbmZvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J0xJQlhNTF9QVVNIX0VOQUJMRUQnIGZpbGU9J3htbHZlcnNpb24nPgorICAgICAgPGluZm8+V2hldGhlciB0aGUgcHVzaCBwYXJzaW5nIGludGVyZmFjZXMgYXJlIGNvbmZpZ3VyZWQgaW48L2luZm8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nTElCWE1MX1JFQURFUl9FTkFCTEVEJyBmaWxlPSd4bWx2ZXJzaW9uJz4KKyAgICAgIDxpbmZvPldoZXRoZXIgdGhlIHhtbFJlYWRlciBwYXJzaW5nIGludGVyZmFjZSBpcyBjb25maWd1cmVkIGluPC9pbmZvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J0xJQlhNTF9SRUdFWFBfRU5BQkxFRCcgZmlsZT0neG1sdmVyc2lvbic+CisgICAgICA8aW5mbz5XaGV0aGVyIHRoZSByZWd1bGFyIGV4cHJlc3Npb25zIGludGVyZmFjZXMgYXJlIGNvbXBpbGVkIGluPC9pbmZvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J0xJQlhNTF9TQVgxX0VOQUJMRUQnIGZpbGU9J3htbHZlcnNpb24nPgorICAgICAgPGluZm8+V2hldGhlciB0aGUgb2xkZXIgU0FYMSBpbnRlcmZhY2UgaXMgY29uZmlndXJlZCBpbjwvaW5mbz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSdMSUJYTUxfU0NIRU1BU19FTkFCTEVEJyBmaWxlPSd4bWx2ZXJzaW9uJz4KKyAgICAgIDxpbmZvPldoZXRoZXIgdGhlIFNjaGVtYXMgdmFsaWRhdGlvbiBpbnRlcmZhY2VzIGFyZSBjb21waWxlZCBpbjwvaW5mbz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSdMSUJYTUxfU0NIRU1BVFJPTl9FTkFCTEVEJyBmaWxlPSd4bWx2ZXJzaW9uJz4KKyAgICAgIDxpbmZvPldoZXRoZXIgdGhlIFNjaGVtYXRyb24gdmFsaWRhdGlvbiBpbnRlcmZhY2VzIGFyZSBjb21waWxlZCBpbjwvaW5mbz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSdMSUJYTUxfVEVTVF9WRVJTSU9OJyBmaWxlPSd4bWx2ZXJzaW9uJz4KKyAgICAgIDxpbmZvPk1hY3JvIHRvIGNoZWNrIHRoYXQgdGhlIGxpYnhtbCB2ZXJzaW9uIGluIHVzZSBpcyBjb21wYXRpYmxlIHdpdGggdGhlIHZlcnNpb24gdGhlIHNvZnR3YXJlIGhhcyBiZWVuIGNvbXBpbGVkIGFnYWluc3Q8L2luZm8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nTElCWE1MX1RIUkVBRF9BTExPQ19FTkFCTEVEJyBmaWxlPSd4bWx2ZXJzaW9uJz4KKyAgICAgIDxpbmZvPldoZXRoZXIgdGhlIGFsbG9jYXRpb24gaG9va3MgYXJlIHBlci10aHJlYWQ8L2luZm8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nTElCWE1MX1RIUkVBRF9FTkFCTEVEJyBmaWxlPSd4bWx2ZXJzaW9uJz4KKyAgICAgIDxpbmZvPldoZXRoZXIgdGhlIHRocmVhZCBzdXBwb3J0IGlzIGNvbmZpZ3VyZWQgaW48L2luZm8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nTElCWE1MX1RSRUVfRU5BQkxFRCcgZmlsZT0neG1sdmVyc2lvbic+CisgICAgICA8aW5mbz5XaGV0aGVyIHRoZSBET00gbGlrZSB0cmVlIG1hbmlwdWxhdGlvbiBBUEkgc3VwcG9ydCBpcyBjb25maWd1cmVkIGluPC9pbmZvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J0xJQlhNTF9VTklDT0RFX0VOQUJMRUQnIGZpbGU9J3htbHZlcnNpb24nPgorICAgICAgPGluZm8+V2hldGhlciB0aGUgVW5pY29kZSByZWxhdGVkIGludGVyZmFjZXMgYXJlIGNvbXBpbGVkIGluPC9pbmZvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J0xJQlhNTF9WQUxJRF9FTkFCTEVEJyBmaWxlPSd4bWx2ZXJzaW9uJz4KKyAgICAgIDxpbmZvPldoZXRoZXIgdGhlIERURCB2YWxpZGF0aW9uIHN1cHBvcnQgaXMgY29uZmlndXJlZCBpbjwvaW5mbz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSdMSUJYTUxfVkVSU0lPTicgZmlsZT0neG1sdmVyc2lvbic+CisgICAgICA8aW5mbz50aGUgdmVyc2lvbiBudW1iZXI6IDEuMi4zIHZhbHVlIGlzIDEwMjAzPC9pbmZvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J0xJQlhNTF9WRVJTSU9OX0VYVFJBJyBmaWxlPSd4bWx2ZXJzaW9uJz4KKyAgICAgIDxpbmZvPmV4dHJhIHZlcnNpb24gaW5mb3JtYXRpb24sIHVzZWQgdG8gc2hvdyBhIENWUyBjb21waWxhdGlvbjwvaW5mbz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSdMSUJYTUxfVkVSU0lPTl9TVFJJTkcnIGZpbGU9J3htbHZlcnNpb24nPgorICAgICAgPGluZm8+dGhlIHZlcnNpb24gbnVtYmVyIHN0cmluZywgMS4yLjMgdmFsdWUgaXMgJnF1b3Q7MTAyMDMmcXVvdDs8L2luZm8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nTElCWE1MX1dSSVRFUl9FTkFCTEVEJyBmaWxlPSd4bWx2ZXJzaW9uJz4KKyAgICAgIDxpbmZvPldoZXRoZXIgdGhlIHhtbFdyaXRlciBzYXZpbmcgaW50ZXJmYWNlIGlzIGNvbmZpZ3VyZWQgaW48L2luZm8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nTElCWE1MX1hJTkNMVURFX0VOQUJMRUQnIGZpbGU9J3htbHZlcnNpb24nPgorICAgICAgPGluZm8+V2hldGhlciBYSW5jbHVkZSBpcyBjb25maWd1cmVkIGluPC9pbmZvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J0xJQlhNTF9YUEFUSF9FTkFCTEVEJyBmaWxlPSd4bWx2ZXJzaW9uJz4KKyAgICAgIDxpbmZvPldoZXRoZXIgWFBhdGggaXMgY29uZmlndXJlZCBpbjwvaW5mbz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSdMSUJYTUxfWFBUUl9FTkFCTEVEJyBmaWxlPSd4bWx2ZXJzaW9uJz4KKyAgICAgIDxpbmZvPldoZXRoZXIgWFBvaW50ZXIgaXMgY29uZmlndXJlZCBpbjwvaW5mbz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSdMSUJYTUxfWkxJQl9FTkFCTEVEJyBmaWxlPSd4bWx2ZXJzaW9uJz4KKyAgICAgIDxpbmZvPldoZXRoZXIgdGhlIFpsaWIgc3VwcG9ydCBpcyBjb21waWxlZCBpbjwvaW5mbz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSdNT1ZFVE9fRU5EVEFHJyBmaWxlPSdwYXJzZXJJbnRlcm5hbHMnPgorICAgICAgPGluZm8+U2tpcHMgdG8gdGhlIG5leHQgJmFwb3M7Jmd0OyZhcG9zOyBjaGFyLjwvaW5mbz4KKyAgICAgIDxhcmcgbmFtZT0ncCcgaW5mbz0nYW5kIFVURjggc3RyaW5nIHBvaW50ZXInLz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSdNT1ZFVE9fU1RBUlRUQUcnIGZpbGU9J3BhcnNlckludGVybmFscyc+CisgICAgICA8aW5mbz5Ta2lwcyB0byB0aGUgbmV4dCAmYXBvczsmbHQ7JmFwb3M7IGNoYXIuPC9pbmZvPgorICAgICAgPGFyZyBuYW1lPSdwJyBpbmZvPSdhbmQgVVRGOCBzdHJpbmcgcG9pbnRlcicvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J1NLSVBfRU9MJyBmaWxlPSdwYXJzZXJJbnRlcm5hbHMnPgorICAgICAgPGluZm8+U2tpcHMgdGhlIGVuZCBvZiBsaW5lIGNoYXJzLjwvaW5mbz4KKyAgICAgIDxhcmcgbmFtZT0ncCcgaW5mbz0nYW5kIFVURjggc3RyaW5nIHBvaW50ZXInLz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSdTT0NLRVQnIGZpbGU9J25hbm9mdHAnPgorICAgICAgPGluZm8+bWFjcm8gdXNlZCB0byBwcm92aWRlIHBvcnRhYmlsaXR5IG9mIGNvZGUgdG8gd2luZG93cyBzb2NrZXRzPC9pbmZvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J1dJVEhPVVRfVFJJTycgZmlsZT0neG1sdmVyc2lvbic+CisgICAgICA8aW5mbz5kZWZpbmVkIGlmIHRoZSB0cmlvIHN1cHBvcnQgc2hvdWxkIG5vdCBiZSBjb25maWd1cmVkIGluPC9pbmZvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J1dJVEhfVFJJTycgZmlsZT0neG1sdmVyc2lvbic+CisgICAgICA8aW5mbz5kZWZpbmVkIGlmIHRoZSB0cmlvIHN1cHBvcnQgbmVlZCB0byBiZSBjb25maWd1cmVkIGluPC9pbmZvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J1hJTkNMVURFX0ZBTExCQUNLJyBmaWxlPSd4aW5jbHVkZSc+CisgICAgICA8aW5mbz5NYWNybyBkZWZpbmluZyAmcXVvdDtmYWxsYmFjayZxdW90OzwvaW5mbz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSdYSU5DTFVERV9IUkVGJyBmaWxlPSd4aW5jbHVkZSc+CisgICAgICA8aW5mbz5NYWNybyBkZWZpbmluZyAmcXVvdDtocmVmJnF1b3Q7PC9pbmZvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J1hJTkNMVURFX05PREUnIGZpbGU9J3hpbmNsdWRlJz4KKyAgICAgIDxpbmZvPk1hY3JvIGRlZmluaW5nICZxdW90O2luY2x1ZGUmcXVvdDs8L2luZm8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nWElOQ0xVREVfTlMnIGZpbGU9J3hpbmNsdWRlJz4KKyAgICAgIDxpbmZvPk1hY3JvIGRlZmluaW5nIHRoZSBYaW5jbHVkZSBuYW1lc3BhY2U6IGh0dHA6Ly93d3cudzMub3JnLzIwMDMvWEluY2x1ZGU8L2luZm8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nWElOQ0xVREVfT0xEX05TJyBmaWxlPSd4aW5jbHVkZSc+CisgICAgICA8aW5mbz5NYWNybyBkZWZpbmluZyB0aGUgZHJhZnQgWGluY2x1ZGUgbmFtZXNwYWNlOiBodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hJbmNsdWRlPC9pbmZvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J1hJTkNMVURFX1BBUlNFJyBmaWxlPSd4aW5jbHVkZSc+CisgICAgICA8aW5mbz5NYWNybyBkZWZpbmluZyAmcXVvdDtwYXJzZSZxdW90OzwvaW5mbz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSdYSU5DTFVERV9QQVJTRV9FTkNPRElORycgZmlsZT0neGluY2x1ZGUnPgorICAgICAgPGluZm8+TWFjcm8gZGVmaW5pbmcgJnF1b3Q7ZW5jb2RpbmcmcXVvdDs8L2luZm8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nWElOQ0xVREVfUEFSU0VfVEVYVCcgZmlsZT0neGluY2x1ZGUnPgorICAgICAgPGluZm8+TWFjcm8gZGVmaW5pbmcgJnF1b3Q7dGV4dCZxdW90OzwvaW5mbz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSdYSU5DTFVERV9QQVJTRV9YTUwnIGZpbGU9J3hpbmNsdWRlJz4KKyAgICAgIDxpbmZvPk1hY3JvIGRlZmluaW5nICZxdW90O3htbCZxdW90OzwvaW5mbz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSdYSU5DTFVERV9QQVJTRV9YUE9JTlRFUicgZmlsZT0neGluY2x1ZGUnPgorICAgICAgPGluZm8+TWFjcm8gZGVmaW5pbmcgJnF1b3Q7eHBvaW50ZXImcXVvdDs8L2luZm8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nWE1MQ0FMTCcgZmlsZT0neG1sZXhwb3J0cyc+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nWE1MQ0RFQ0wnIGZpbGU9J3htbGV4cG9ydHMnPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J1hNTFBVQkZVTicgZmlsZT0neG1sZXhwb3J0cyc+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nWE1MUFVCVkFSJyBmaWxlPSd4bWxleHBvcnRzJz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSdYTUxfQ0FTVF9GUFRSJyBmaWxlPSdoYXNoJz4KKyAgICAgIDxpbmZvPk1hY3JvIHRvIGRvIGEgY2FzdGluZyBmcm9tIGFuIG9iamVjdCBwb2ludGVyIHRvIGEgZnVuY3Rpb24gcG9pbnRlciB3aXRob3V0IGVuY291bnRlcmluZyBhIHdhcm5pbmcgZnJvbSBnY2MgICNkZWZpbmUgWE1MX0NBU1RfRlBUUihmcHRyKSAoKih2b2lkICoqKSgmYW1wO2ZwdHIpKSBUaGlzIG1hY3JvIHZpb2xhdGVkIElTTyBDIGFsaWFzaW5nIHJ1bGVzIChnY2M0IG9uIHMzOTAgYnJva2UpIHNvIGl0IGlzIGRpc2FibGVkIG5vdzwvaW5mbz4KKyAgICAgIDxhcmcgbmFtZT0nZnB0cicgaW5mbz0ncG9pbnRlciB0byBhIGZ1bmN0aW9uJy8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nWE1MX0NBVEFMT0dTX05BTUVTUEFDRScgZmlsZT0nY2F0YWxvZyc+CisgICAgICA8aW5mbz5UaGUgbmFtZXNwYWNlIGZvciB0aGUgWE1MIENhdGFsb2dzIGVsZW1lbnRzLjwvaW5mbz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSdYTUxfQ0FUQUxPR19QSScgZmlsZT0nY2F0YWxvZyc+CisgICAgICA8aW5mbz5UaGUgc3BlY2lmaWMgWE1MIENhdGFsb2cgUHJvY2Vzc2luZyBJbnN0dWN0aW9uIG5hbWUuPC9pbmZvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J1hNTF9DT01QTEVURV9BVFRSUycgZmlsZT0ncGFyc2VyJz4KKyAgICAgIDxpbmZvPkJpdCBpbiB0aGUgbG9hZHN1YnNldCBjb250ZXh0IGZpZWxkIHRvIHRlbGwgdG8gZG8gY29tcGxldGUgdGhlIGVsZW1lbnRzIGF0dHJpYnV0ZXMgbGlzdHMgd2l0aCB0aGUgb25lcyBkZWZhdWx0ZWQgZnJvbSB0aGUgRFREcy4gVXNlIGl0IHRvIGluaXRpYWxpemUgeG1sTG9hZEV4dER0ZERlZmF1bHRWYWx1ZS48L2luZm8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nWE1MX0NUWFRfRklOSVNIX0RURF8wJyBmaWxlPSd2YWxpZCc+CisgICAgICA8aW5mbz5TcGVjaWFsIHZhbHVlIGZvciBmaW5pc2hEdGQgZmllbGQgd2hlbiBlbWJlZGRlZCBpbiBhbiB4bWxQYXJzZXJDdHh0PC9pbmZvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J1hNTF9DVFhUX0ZJTklTSF9EVERfMScgZmlsZT0ndmFsaWQnPgorICAgICAgPGluZm8+U3BlY2lhbCB2YWx1ZSBmb3IgZmluaXNoRHRkIGZpZWxkIHdoZW4gZW1iZWRkZWQgaW4gYW4geG1sUGFyc2VyQ3R4dDwvaW5mbz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSdYTUxfREVGQVVMVF9WRVJTSU9OJyBmaWxlPSdwYXJzZXInPgorICAgICAgPGluZm8+VGhlIGRlZmF1bHQgdmVyc2lvbiBvZiBYTUwgdXNlZDogMS4wPC9pbmZvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J1hNTF9ERVRFQ1RfSURTJyBmaWxlPSdwYXJzZXInPgorICAgICAgPGluZm8+Qml0IGluIHRoZSBsb2Fkc3Vic2V0IGNvbnRleHQgZmllbGQgdG8gdGVsbCB0byBkbyBJRC9SRUZzIGxvb2t1cHMuIFVzZSBpdCB0byBpbml0aWFsaXplIHhtbExvYWRFeHREdGREZWZhdWx0VmFsdWUuPC9pbmZvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J1hNTF9HRVRfQ09OVEVOVCcgZmlsZT0ndHJlZSc+CisgICAgICA8aW5mbz5NYWNybyB0byBleHRyYWN0IHRoZSBjb250ZW50IHBvaW50ZXIgb2YgYSBub2RlLjwvaW5mbz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSdYTUxfR0VUX0xJTkUnIGZpbGU9J3RyZWUnPgorICAgICAgPGluZm8+TWFjcm8gdG8gZXh0cmFjdCB0aGUgbGluZSBudW1iZXIgb2YgYW4gZWxlbWVudCBub2RlLjwvaW5mbz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSdYTUxfTE9DQUxfTkFNRVNQQUNFJyBmaWxlPSd0cmVlJz4KKyAgICAgIDxpbmZvPkEgbmFtZXNwYWNlIGRlY2xhcmF0aW9uIG5vZGUuPC9pbmZvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J1hNTF9NQVhfRElDVElPTkFSWV9MSU1JVCcgZmlsZT0ncGFyc2VySW50ZXJuYWxzJz4KKyAgICAgIDxpbmZvPk1heGltdW0gc2l6ZSBhbGxvd2VkIGJ5IHRoZSBwYXJzZXIgZm9yIGEgZGljdGlvbmFyeSBieSBkZWZhdWx0IFRoaXMgaXMgbm90IGEgbGltaXRhdGlvbiBvZiB0aGUgcGFyc2VyIGJ1dCBhIHNhZmV0eSBib3VuZGFyeSBmZWF0dXJlLCB1c2UgWE1MX1BBUlNFX0hVR0Ugb3B0aW9uIHRvIG92ZXJyaWRlIGl0LiBJbnRyb2R1Y2VkIGluIDIuOS4wPC9pbmZvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J1hNTF9NQVhfTE9PS1VQX0xJTUlUJyBmaWxlPSdwYXJzZXJJbnRlcm5hbHMnPgorICAgICAgPGluZm8+TWF4aW11bSBzaXplIGFsbG93ZWQgYnkgdGhlIHBhcnNlciBmb3IgYWhlYWQgbG9va3VwIFRoaXMgaXMgYW4gdXBwZXIgYm91bmRhcnkgZW5mb3JjZWQgYnkgdGhlIHBhcnNlciB0byBhdm9pZCBiYWQgYmVoYXZpb3VyIG9uICZxdW90O3VuZnJpZW5kbHkmYXBvczsgY29udGVudCBJbnRyb2R1Y2VkIGluIDIuOS4wPC9pbmZvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J1hNTF9NQVhfTkFNRUxFTicgZmlsZT0ncGFyc2VySW50ZXJuYWxzJz4KKyAgICAgIDxpbmZvPklkZW50aWZpZXJzIGNhbiBiZSBsb25nZXIsIGJ1dCB0aGlzIHdpbGwgYmUgbW9yZSBjb3N0bHkgYXQgcnVudGltZS48L2luZm8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nWE1MX01BWF9OQU1FX0xFTkdUSCcgZmlsZT0ncGFyc2VySW50ZXJuYWxzJz4KKyAgICAgIDxpbmZvPk1heGltdW0gc2l6ZSBhbGxvd2VkIGZvciBhIG1hcmt1cCBpZGVudGl0aWVyIFRoaXMgaXMgbm90IGEgbGltaXRhdGlvbiBvZiB0aGUgcGFyc2VyIGJ1dCBhIHNhZmV0eSBib3VuZGFyeSBmZWF0dXJlLCB1c2UgWE1MX1BBUlNFX0hVR0Ugb3B0aW9uIHRvIG92ZXJyaWRlIGl0LiBOb3RlIHRoYXQgd2l0aCB0aGUgdXNlIG9mIHBhcnNpbmcgZGljdGlvbmFyaWVzIG92ZXJyaWRpbmcgdGhlIGxpbWl0IG1heSByZXN1bHQgaW4gbW9yZSBydW50aW1lIG1lbW9yeSB1c2FnZSBpbiBmYWNlIG9mICZxdW90O3VuZnJpZW5kbHkmYXBvczsgY29udGVudCBJbnRyb2R1Y2VkIGluIDIuOS4wPC9pbmZvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J1hNTF9NQVhfVEVYVF9MRU5HVEgnIGZpbGU9J3BhcnNlckludGVybmFscyc+CisgICAgICA8aW5mbz5NYXhpbXVtIHNpemUgYWxsb3dlZCBmb3IgYSBzaW5nbGUgdGV4dCBub2RlIHdoZW4gYnVpbGRpbmcgYSB0cmVlLiBUaGlzIGlzIG5vdCBhIGxpbWl0YXRpb24gb2YgdGhlIHBhcnNlciBidXQgYSBzYWZldHkgYm91bmRhcnkgZmVhdHVyZSwgdXNlIFhNTF9QQVJTRV9IVUdFIG9wdGlvbiB0byBvdmVycmlkZSBpdC4gSW50cm9kdWNlZCBpbiAyLjkuMDwvaW5mbz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSdYTUxfU0FYMl9NQUdJQycgZmlsZT0ncGFyc2VyJz4KKyAgICAgIDxpbmZvPlNwZWNpYWwgY29uc3RhbnQgZm91bmQgaW4gU0FYMiBibG9ja3MgaW5pdGlhbGl6ZWQgZmllbGRzPC9pbmZvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J1hNTF9TQ0hFTUFTX0FOWUFUVFJfTEFYJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJz4KKyAgICAgIDxpbmZvPklnbm9yZSB2YWxpZGF0aW9uIG5vbiBkZWZpbml0aW9uIG9uIGF0dHJpYnV0ZXMgT2Jzb2xldGUsIG5vdCB1c2VkIGFueW1vcmUuPC9pbmZvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J1hNTF9TQ0hFTUFTX0FOWUFUVFJfU0tJUCcgZmlsZT0nc2NoZW1hc0ludGVybmFscyc+CisgICAgICA8aW5mbz5Ta2lwIHVua25vd24gYXR0cmlidXRlIGZyb20gdmFsaWRhdGlvbiBPYnNvbGV0ZSwgbm90IHVzZWQgYW55bW9yZS48L2luZm8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nWE1MX1NDSEVNQVNfQU5ZQVRUUl9TVFJJQ1QnIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnPgorICAgICAgPGluZm8+QXBwbHkgc3RyaWN0IHZhbGlkYXRpb24gcnVsZXMgb24gYXR0cmlidXRlcyBPYnNvbGV0ZSwgbm90IHVzZWQgYW55bW9yZS48L2luZm8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nWE1MX1NDSEVNQVNfQU5ZX0xBWCcgZmlsZT0nc2NoZW1hc0ludGVybmFscyc+CisgICAgICA8aW5mbz5Vc2VkIGJ5IHdpbGRjYXJkcy4gVmFsaWRhdGUgaWYgdHlwZSBmb3VuZCwgZG9uJmFwb3M7dCB3b3JyeSBpZiBub3QgZm91bmQ8L2luZm8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nWE1MX1NDSEVNQVNfQU5ZX1NLSVAnIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnPgorICAgICAgPGluZm8+U2tpcCB1bmtub3duIGF0dHJpYnV0ZSBmcm9tIHZhbGlkYXRpb248L2luZm8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nWE1MX1NDSEVNQVNfQU5ZX1NUUklDVCcgZmlsZT0nc2NoZW1hc0ludGVybmFscyc+CisgICAgICA8aW5mbz5Vc2VkIGJ5IHdpbGRjYXJkcy4gQXBwbHkgc3RyaWN0IHZhbGlkYXRpb24gcnVsZXM8L2luZm8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nWE1MX1NDSEVNQVNfQVRUUkdST1VQX0dMT0JBTCcgZmlsZT0nc2NoZW1hc0ludGVybmFscyc+CisgICAgICA8aW5mbz5UaGUgYXR0cmlidXRlIHdpbGRjYXJkIGhhcyBiZWVuIGFscmVhZHkgYnVpbGRlZC48L2luZm8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nWE1MX1NDSEVNQVNfQVRUUkdST1VQX0hBU19SRUZTJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJz4KKyAgICAgIDxpbmZvPldoZXRoZXIgdGhpcyBhdHRyLiBncm91cCBjb250YWlucyBhdHRyLiBncm91cCByZWZlcmVuY2VzLjwvaW5mbz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSdYTUxfU0NIRU1BU19BVFRSR1JPVVBfTUFSS0VEJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJz4KKyAgICAgIDxpbmZvPk1hcmtzIHRoZSBhdHRyIGdyb3VwIGFzIG1hcmtlZDsgdXNlZCBmb3IgY2lyY3VsYXIgY2hlY2tzLjwvaW5mbz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSdYTUxfU0NIRU1BU19BVFRSR1JPVVBfUkVERUZJTkVEJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJz4KKyAgICAgIDxpbmZvPlRoZSBhdHRyIGdyb3VwIHdhcyByZWRlZmluZWQuPC9pbmZvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J1hNTF9TQ0hFTUFTX0FUVFJHUk9VUF9XSUxEQ0FSRF9CVUlMREVEJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJz4KKyAgICAgIDxpbmZvPlRoZSBhdHRyaWJ1dGUgd2lsZGNhcmQgaGFzIGJlZW4gYWxyZWFkeSBidWlsZGVkLjwvaW5mbz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSdYTUxfU0NIRU1BU19BVFRSX0ZJWEVEJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJz4KKyAgICAgIDxpbmZvPnRoZSBhdHRyaWJ1dGUgaGFzIGEgZml4ZWQgdmFsdWU8L2luZm8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nWE1MX1NDSEVNQVNfQVRUUl9HTE9CQUwnIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnPgorICAgICAgPGluZm8+YWxsb3cgZWxlbWVudHMgaW4gbm8gbmFtZXNwYWNlPC9pbmZvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J1hNTF9TQ0hFTUFTX0FUVFJfSU5URVJOQUxfUkVTT0xWRUQnIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnPgorICAgICAgPGluZm8+dGhpcyBpcyBzZXQgd2hlbiB0aGUgJnF1b3Q7dHlwZSZxdW90OyBhbmQgJnF1b3Q7cmVmJnF1b3Q7IHJlZmVyZW5jZXMgaGF2ZSBiZWVuIHJlc29sdmVkLjwvaW5mbz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSdYTUxfU0NIRU1BU19BVFRSX05TREVGQVVMVCcgZmlsZT0nc2NoZW1hc0ludGVybmFscyc+CisgICAgICA8aW5mbz5hbGxvdyBlbGVtZW50cyBpbiBubyBuYW1lc3BhY2U8L2luZm8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nWE1MX1NDSEVNQVNfQVRUUl9VU0VfT1BUSU9OQUwnIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnPgorICAgICAgPGluZm8+VGhlIGF0dHJpYnV0ZSBpcyBvcHRpb25hbC48L2luZm8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nWE1MX1NDSEVNQVNfQVRUUl9VU0VfUFJPSElCSVRFRCcgZmlsZT0nc2NoZW1hc0ludGVybmFscyc+CisgICAgICA8aW5mbz5Vc2VkIGJ5IHdpbGRjYXJkcy4gVGhlIGF0dHJpYnV0ZSBpcyBwcm9oaWJpdGVkLjwvaW5mbz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSdYTUxfU0NIRU1BU19BVFRSX1VTRV9SRVFVSVJFRCcgZmlsZT0nc2NoZW1hc0ludGVybmFscyc+CisgICAgICA8aW5mbz5UaGUgYXR0cmlidXRlIGlzIHJlcXVpcmVkLjwvaW5mbz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSdYTUxfU0NIRU1BU19CTE9DS19ERUZBVUxUX0VYVEVOU0lPTicgZmlsZT0nc2NoZW1hc0ludGVybmFscyc+CisgICAgICA8aW5mbz50aGUgc2NoZW1hIGhhcyAmcXVvdDtleHRlbnNpb24mcXVvdDsgaW4gdGhlIHNldCBvZiBibG9ja0RlZmF1bHQuPC9pbmZvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J1hNTF9TQ0hFTUFTX0JMT0NLX0RFRkFVTFRfUkVTVFJJQ1RJT04nIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnPgorICAgICAgPGluZm8+dGhlIHNjaGVtYSBoYXMgJnF1b3Q7cmVzdHJpY3Rpb24mcXVvdDsgaW4gdGhlIHNldCBvZiBibG9ja0RlZmF1bHQuPC9pbmZvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J1hNTF9TQ0hFTUFTX0JMT0NLX0RFRkFVTFRfU1VCU1RJVFVUSU9OJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJz4KKyAgICAgIDxpbmZvPnRoZSBzY2hlbWEgaGFzICZxdW90O3N1YnN0aXR1dGlvbiZxdW90OyBpbiB0aGUgc2V0IG9mIGJsb2NrRGVmYXVsdC48L2luZm8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nWE1MX1NDSEVNQVNfRUxFTV9BQlNUUkFDVCcgZmlsZT0nc2NoZW1hc0ludGVybmFscyc+CisgICAgICA8aW5mbz50aGUgZWxlbWVudCBpcyBhYnN0cmFjdDwvaW5mbz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSdYTUxfU0NIRU1BU19FTEVNX0JMT0NLX0FCU0VOVCcgZmlsZT0nc2NoZW1hc0ludGVybmFscyc+CisgICAgICA8aW5mbz50aGUgJnF1b3Q7YmxvY2smcXVvdDsgYXR0cmlidXRlIGlzIGFic2VudDwvaW5mbz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSdYTUxfU0NIRU1BU19FTEVNX0JMT0NLX0VYVEVOU0lPTicgZmlsZT0nc2NoZW1hc0ludGVybmFscyc+CisgICAgICA8aW5mbz5kaXNhbGxvd2VkIHN1YnN0aXR1dGlvbnMgYXJlIGFic2VudDwvaW5mbz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSdYTUxfU0NIRU1BU19FTEVNX0JMT0NLX1JFU1RSSUNUSU9OJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJz4KKyAgICAgIDxpbmZvPmRpc2FsbG93ZWQgc3Vic3RpdHV0aW9uczogJnF1b3Q7cmVzdHJpY3Rpb24mcXVvdDs8L2luZm8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nWE1MX1NDSEVNQVNfRUxFTV9CTE9DS19TVUJTVElUVVRJT04nIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnPgorICAgICAgPGluZm8+ZGlzYWxsb3dlZCBzdWJzdGl0dXRpb25zOiAmcXVvdDtzdWJzdGl0dWlvbiZxdW90OzwvaW5mbz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSdYTUxfU0NIRU1BU19FTEVNX0NJUkNVTEFSJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJz4KKyAgICAgIDxpbmZvPmEgaGVscGVyIGZsYWcgZm9yIHRoZSBzZWFyY2ggb2YgY2lyY3VsYXIgcmVmZXJlbmNlcy48L2luZm8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nWE1MX1NDSEVNQVNfRUxFTV9ERUZBVUxUJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJz4KKyAgICAgIDxpbmZvPnRoZSBlbGVtZW50IGhhcyBhIGRlZmF1bHQgdmFsdWU8L2luZm8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nWE1MX1NDSEVNQVNfRUxFTV9GSU5BTF9BQlNFTlQnIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnPgorICAgICAgPGluZm8+c3Vic3RpdHV0aW9uIGdyb3VwIGV4Y2x1c2lvbnMgYXJlIGFic2VudDwvaW5mbz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSdYTUxfU0NIRU1BU19FTEVNX0ZJTkFMX0VYVEVOU0lPTicgZmlsZT0nc2NoZW1hc0ludGVybmFscyc+CisgICAgICA8aW5mbz5zdWJzdGl0dXRpb24gZ3JvdXAgZXhjbHVzaW9uczogJnF1b3Q7ZXh0ZW5zaW9uJnF1b3Q7PC9pbmZvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J1hNTF9TQ0hFTUFTX0VMRU1fRklOQUxfUkVTVFJJQ1RJT04nIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnPgorICAgICAgPGluZm8+c3Vic3RpdHV0aW9uIGdyb3VwIGV4Y2x1c2lvbnM6ICZxdW90O3Jlc3RyaWN0aW9uJnF1b3Q7PC9pbmZvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J1hNTF9TQ0hFTUFTX0VMRU1fRklYRUQnIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnPgorICAgICAgPGluZm8+dGhlIGVsZW1lbnQgaGFzIGEgZml4ZWQgdmFsdWU8L2luZm8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nWE1MX1NDSEVNQVNfRUxFTV9HTE9CQUwnIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnPgorICAgICAgPGluZm8+dGhlIGVsZW1lbnQgaXMgZ2xvYmFsPC9pbmZvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J1hNTF9TQ0hFTUFTX0VMRU1fSU5URVJOQUxfQ0hFQ0tFRCcgZmlsZT0nc2NoZW1hc0ludGVybmFscyc+CisgICAgICA8aW5mbz50aGlzIGlzIHNldCB3aGVuIHRoZSBlbGVtIGRlY2wgaGFzIGJlZW4gY2hlY2tlZCBhZ2FpbnN0IGFsbCBjb25zdHJhaW50czwvaW5mbz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSdYTUxfU0NIRU1BU19FTEVNX0lOVEVSTkFMX1JFU09MVkVEJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJz4KKyAgICAgIDxpbmZvPnRoaXMgaXMgc2V0IHdoZW4gJnF1b3Q7dHlwZSZxdW90OywgJnF1b3Q7cmVmJnF1b3Q7LCAmcXVvdDtzdWJzdGl0dXRpb25Hcm91cCZxdW90OyByZWZlcmVuY2VzIGhhdmUgYmVlbiByZXNvbHZlZC48L2luZm8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nWE1MX1NDSEVNQVNfRUxFTV9OSUxMQUJMRScgZmlsZT0nc2NoZW1hc0ludGVybmFscyc+CisgICAgICA8aW5mbz50aGUgZWxlbWVudCBpcyBuaWxsYWJsZTwvaW5mbz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSdYTUxfU0NIRU1BU19FTEVNX05TREVGQVVMVCcgZmlsZT0nc2NoZW1hc0ludGVybmFscyc+CisgICAgICA8aW5mbz5hbGxvdyBlbGVtZW50cyBpbiBubyBuYW1lc3BhY2UgT2Jzb2xldGUsIG5vdCB1c2VkIGFueW1vcmUuPC9pbmZvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J1hNTF9TQ0hFTUFTX0VMRU1fUkVGJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJz4KKyAgICAgIDxpbmZvPnRoZSBlbGVtZW50IGlzIGEgcmVmZXJlbmNlIHRvIGEgdHlwZTwvaW5mbz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSdYTUxfU0NIRU1BU19FTEVNX1NVQlNUX0dST1VQX0hFQUQnIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnPgorICAgICAgPGluZm8+dGhlIGRlY2xhcmF0aW9uIGlzIGEgc3Vic3RpdHV0aW9uIGdyb3VwIGhlYWQ8L2luZm8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nWE1MX1NDSEVNQVNfRUxFTV9UT1BMRVZFTCcgZmlsZT0nc2NoZW1hc0ludGVybmFscyc+CisgICAgICA8aW5mbz50aGUgZWxlbWVudCBpcyB0b3AgbGV2ZWwgb2Jzb2xldGU6IHVzZSBYTUxfU0NIRU1BU19FTEVNX0dMT0JBTCBpbnN0ZWFkPC9pbmZvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J1hNTF9TQ0hFTUFTX0ZBQ0VUX0NPTExBUFNFJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJz4KKyAgICAgIDxpbmZvPmNvbGxhcHNlIHRoZSB0eXBlcyBvZiB0aGUgZmFjZXQ8L2luZm8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nWE1MX1NDSEVNQVNfRkFDRVRfUFJFU0VSVkUnIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnPgorICAgICAgPGluZm8+cHJlc2VydmUgdGhlIHR5cGUgb2YgdGhlIGZhY2V0PC9pbmZvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J1hNTF9TQ0hFTUFTX0ZBQ0VUX1JFUExBQ0UnIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnPgorICAgICAgPGluZm8+cmVwbGFjZSB0aGUgdHlwZSBvZiB0aGUgZmFjZXQ8L2luZm8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nWE1MX1NDSEVNQVNfRkFDRVRfVU5LTk9XTicgZmlsZT0nc2NoZW1hc0ludGVybmFscyc+CisgICAgICA8aW5mbz51bmtub3duIGZhY2V0IGhhbmRsaW5nPC9pbmZvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J1hNTF9TQ0hFTUFTX0ZJTkFMX0RFRkFVTFRfRVhURU5TSU9OJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJz4KKyAgICAgIDxpbmZvPnRoZSBzY2hlbWEgaGFzICZxdW90O2V4dGVuc2lvbiZxdW90OyBpbiB0aGUgc2V0IG9mIGZpbmFsRGVmYXVsdC48L2luZm8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nWE1MX1NDSEVNQVNfRklOQUxfREVGQVVMVF9MSVNUJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJz4KKyAgICAgIDxpbmZvPnRoZSBjc2hlbWEgaGFzICZxdW90O2xpc3QmcXVvdDsgaW4gdGhlIHNldCBvZiBmaW5hbERlZmF1bHQuPC9pbmZvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J1hNTF9TQ0hFTUFTX0ZJTkFMX0RFRkFVTFRfUkVTVFJJQ1RJT04nIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnPgorICAgICAgPGluZm8+dGhlIHNjaGVtYSBoYXMgJnF1b3Q7cmVzdHJpY3Rpb24mcXVvdDsgaW4gdGhlIHNldCBvZiBmaW5hbERlZmF1bHQuPC9pbmZvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J1hNTF9TQ0hFTUFTX0ZJTkFMX0RFRkFVTFRfVU5JT04nIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnPgorICAgICAgPGluZm8+dGhlIHNjaGVtYSBoYXMgJnF1b3Q7dW5pb24mcXVvdDsgaW4gdGhlIHNldCBvZiBmaW5hbERlZmF1bHQuPC9pbmZvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J1hNTF9TQ0hFTUFTX0lOQ0xVRElOR19DT05WRVJUX05TJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJz4KKyAgICAgIDxpbmZvPnRoZSBzY2hlbWEgaXMgY3VycmVudGx5IGluY2x1ZGluZyBhbiBvdGhlciBzY2hlbWEgd2l0aCBubyB0YXJnZXQgbmFtZXNwYWNlLjwvaW5mbz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSdYTUxfU0NIRU1BU19RVUFMSUZfQVRUUicgZmlsZT0nc2NoZW1hc0ludGVybmFscyc+CisgICAgICA8aW5mbz5SZWZsZWN0cyBhdHRyaWJ1dGVGb3JtRGVmYXVsdCA9PSBxdWFsaWZpZWQgaW4gYW4gWE1MIHNjaGVtYSBkb2N1bWVudC48L2luZm8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nWE1MX1NDSEVNQVNfUVVBTElGX0VMRU0nIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnPgorICAgICAgPGluZm8+UmVmbGVjdHMgZWxlbWVudEZvcm1EZWZhdWx0ID09IHF1YWxpZmllZCBpbiBhbiBYTUwgc2NoZW1hIGRvY3VtZW50LjwvaW5mbz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX0FCU1RSQUNUJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJz4KKyAgICAgIDxpbmZvPnRoZSBzaW1wbGUvY29tcGxleFR5cGUgaXMgYWJzdHJhY3QuPC9pbmZvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfQkxPQ0tfREVGQVVMVCcgZmlsZT0nc2NoZW1hc0ludGVybmFscyc+CisgICAgICA8aW5mbz50aGUgY29tcGxleFR5cGUgZGlkIG5vdCBzcGVjaWZ5ICZhcG9zO2Jsb2NrJmFwb3M7IHNvIHVzZSB0aGUgZGVmYXVsdCBvZiB0aGUgJmx0O3NjaGVtYSZndDsgaXRlbS48L2luZm8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nWE1MX1NDSEVNQVNfVFlQRV9CTE9DS19FWFRFTlNJT04nIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnPgorICAgICAgPGluZm8+dGhlIGNvbXBsZXhUeXBlIGhhcyBhICZhcG9zO2Jsb2NrJmFwb3M7IG9mICZxdW90O2V4dGVuc2lvbiZxdW90Oy48L2luZm8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nWE1MX1NDSEVNQVNfVFlQRV9CTE9DS19SRVNUUklDVElPTicgZmlsZT0nc2NoZW1hc0ludGVybmFscyc+CisgICAgICA8aW5mbz50aGUgY29tcGxleFR5cGUgaGFzIGEgJmFwb3M7YmxvY2smYXBvczsgb2YgJnF1b3Q7cmVzdHJpY3Rpb24mcXVvdDsuPC9pbmZvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfQlVJTFRJTl9QUklNSVRJVkUnIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnPgorICAgICAgPGluZm8+TWFya3MgdGhlIGl0ZW0gYXMgYSBidWlsdGluIHByaW1pdGl2ZS48L2luZm8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nWE1MX1NDSEVNQVNfVFlQRV9ERVJJVkFUSU9OX01FVEhPRF9FWFRFTlNJT04nIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnPgorICAgICAgPGluZm8+dGhlIHNpbXBsZSBvciBjb21wbGV4IHR5cGUgaGFzIGEgZGVyaXZhdGlvbiBtZXRob2Qgb2YgJnF1b3Q7ZXh0ZW5zaW9uJnF1b3Q7LjwvaW5mbz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX0RFUklWQVRJT05fTUVUSE9EX1JFU1RSSUNUSU9OJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJz4KKyAgICAgIDxpbmZvPnRoZSBzaW1wbGUgb3IgY29tcGxleCB0eXBlIGhhcyBhIGRlcml2YXRpb24gbWV0aG9kIG9mICZxdW90O3Jlc3RyaWN0aW9uJnF1b3Q7LjwvaW5mbz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX0ZBQ0VUU05FRURWQUxVRScgZmlsZT0nc2NoZW1hc0ludGVybmFscyc+CisgICAgICA8aW5mbz5pbmRpY2F0ZXMgaWYgdGhlIGZhY2V0cyBuZWVkIGEgY29tcHV0ZWQgdmFsdWU8L2luZm8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nWE1MX1NDSEVNQVNfVFlQRV9GSU5BTF9ERUZBVUxUJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJz4KKyAgICAgIDxpbmZvPnRoZSBzaW1wbGVUeXBlIGhhcyBhIGZpbmFsIG9mICZxdW90O2RlZmF1bHQmcXVvdDsuPC9pbmZvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfRklOQUxfRVhURU5TSU9OJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJz4KKyAgICAgIDxpbmZvPnRoZSBjb21wbGV4VHlwZSBoYXMgYSBmaW5hbCBvZiAmcXVvdDtleHRlbnNpb24mcXVvdDsuPC9pbmZvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfRklOQUxfTElTVCcgZmlsZT0nc2NoZW1hc0ludGVybmFscyc+CisgICAgICA8aW5mbz50aGUgc2ltcGxlVHlwZSBoYXMgYSBmaW5hbCBvZiAmcXVvdDtsaXN0JnF1b3Q7LjwvaW5mbz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX0ZJTkFMX1JFU1RSSUNUSU9OJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJz4KKyAgICAgIDxpbmZvPnRoZSBzaW1wbGVUeXBlL2NvbXBsZXhUeXBlIGhhcyBhIGZpbmFsIG9mICZxdW90O3Jlc3RyaWN0aW9uJnF1b3Q7LjwvaW5mbz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX0ZJTkFMX1VOSU9OJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJz4KKyAgICAgIDxpbmZvPnRoZSBzaW1wbGVUeXBlIGhhcyBhIGZpbmFsIG9mICZxdW90O3VuaW9uJnF1b3Q7LjwvaW5mbz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX0ZJWFVQXzEnIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnPgorICAgICAgPGluZm8+Rmlyc3Qgc3RhZ2Ugb2YgZml4dXAgd2FzIGRvbmUuPC9pbmZvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfR0xPQkFMJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJz4KKyAgICAgIDxpbmZvPnRoZSB0eXBlIGlzIGdsb2JhbDwvaW5mbz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX0hBU19GQUNFVFMnIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnPgorICAgICAgPGluZm8+aGFzIGZhY2V0czwvaW5mbz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX0lOVEVSTkFMX0lOVkFMSUQnIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnPgorICAgICAgPGluZm8+aW5kaWNhdGVzIHRoYXQgdGhlIHR5cGUgaXMgaW52YWxpZDwvaW5mbz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX0lOVEVSTkFMX1JFU09MVkVEJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJz4KKyAgICAgIDxpbmZvPmluZGljYXRlcyB0aGF0IHRoZSB0eXBlIHdhcyB0eXBlZml4ZWQ8L2luZm8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nWE1MX1NDSEVNQVNfVFlQRV9NQVJLRUQnIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnPgorICAgICAgPGluZm8+TWFya3MgdGhlIGl0ZW0gYXMgbWFya2VkOyB1c2VkIGZvciBjaXJjdWxhciBjaGVja3MuPC9pbmZvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfTUlYRUQnIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnPgorICAgICAgPGluZm8+dGhlIGVsZW1lbnQgY29udGVudCB0eXBlIGlzIG1peGVkPC9pbmZvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfTk9STVZBTFVFTkVFREVEJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJz4KKyAgICAgIDxpbmZvPmluZGljYXRlcyBpZiB0aGUgZmFjZXRzIChwYXR0ZXJuKSBuZWVkIGEgbm9ybWFsaXplZCB2YWx1ZTwvaW5mbz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX09XTkVEX0FUVFJfV0lMRENBUkQnIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnPgorICAgICAgPGluZm8+dGhlIGNvbXBsZXhUeXBlIG93bnMgYW4gYXR0cmlidXRlIHdpbGRjYXJkLCBpLmUuIGl0IGNhbiBiZSBmcmVlZCBieSB0aGUgY29tcGxleFR5cGU8L2luZm8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nWE1MX1NDSEVNQVNfVFlQRV9SRURFRklORUQnIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnPgorICAgICAgPGluZm8+VGhlIHR5cGUgd2FzIHJlZGVmaW5lZC48L2luZm8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nWE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX0FCU0VOVCcgZmlsZT0nc2NoZW1hc0ludGVybmFscyc+CisgICAgICA8aW5mbz50aGUgc2ltcGxlVHlwZSBoYXMgYSB2YXJpZXR5IG9mICZxdW90O2Fic2VudCZxdW90Oy4gVE9ETzogQWN0dWFsbHkgbm90IG5lY2Vzc2FyeSA6LS8sIHNpbmNlIGlmIG5vbmUgb2YgdGhlIHZhcmlldHkgZmxhZ3Mgb2NjdXIgdGhlbiBpdCZhcG9zO3MgYXV0b21hdGljYWxseSBhYnNlbnQuPC9pbmZvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfVkFSSUVUWV9BVE9NSUMnIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnPgorICAgICAgPGluZm8+dGhlIHNpbXBsZVR5cGUgaGFzIGEgdmFyaWV0eSBvZiAmcXVvdDt1bmlvbiZxdW90Oy48L2luZm8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nWE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX0xJU1QnIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnPgorICAgICAgPGluZm8+dGhlIHNpbXBsZVR5cGUgaGFzIGEgdmFyaWV0eSBvZiAmcXVvdDtsaXN0JnF1b3Q7LjwvaW5mbz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX1ZBUklFVFlfVU5JT04nIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnPgorICAgICAgPGluZm8+dGhlIHNpbXBsZVR5cGUgaGFzIGEgdmFyaWV0eSBvZiAmcXVvdDt1bmlvbiZxdW90Oy48L2luZm8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nWE1MX1NDSEVNQVNfVFlQRV9XSElURVNQQUNFX0NPTExBUFNFJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJz4KKyAgICAgIDxpbmZvPmEgd2hpdGVzcGFjZS1mYWNldCB2YWx1ZSBvZiAmcXVvdDtjb2xsYXBzZSZxdW90OzwvaW5mbz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX1dISVRFU1BBQ0VfUFJFU0VSVkUnIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnPgorICAgICAgPGluZm8+YSB3aGl0ZXNwYWNlLWZhY2V0IHZhbHVlIG9mICZxdW90O3ByZXNlcnZlJnF1b3Q7PC9pbmZvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfV0hJVEVTUEFDRV9SRVBMQUNFJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJz4KKyAgICAgIDxpbmZvPmEgd2hpdGVzcGFjZS1mYWNldCB2YWx1ZSBvZiAmcXVvdDtyZXBsYWNlJnF1b3Q7PC9pbmZvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J1hNTF9TQ0hFTUFTX1dJTERDQVJEX0NPTVBMRVRFJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJz4KKyAgICAgIDxpbmZvPklmIHRoZSB3aWxkY2FyZCBpcyBjb21wbGV0ZS48L2luZm8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nWE1MX1NLSVBfSURTJyBmaWxlPSdwYXJzZXInPgorICAgICAgPGluZm8+Qml0IGluIHRoZSBsb2Fkc3Vic2V0IGNvbnRleHQgZmllbGQgdG8gdGVsbCB0byBub3QgZG8gSUQvUkVGcyByZWdpc3RyYXRpb24uIFVzZWQgdG8gaW5pdGlhbGl6ZSB4bWxMb2FkRXh0RHRkRGVmYXVsdFZhbHVlIGluIHNvbWUgc3BlY2lhbCBjYXNlcy48L2luZm8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nWE1MX1NVQlNUSVRVVEVfQk9USCcgZmlsZT0ncGFyc2VySW50ZXJuYWxzJz4KKyAgICAgIDxpbmZvPkJvdGggZ2VuZXJhbCBhbmQgcGFyYW1ldGVyIGVudGl0aWVzIG5lZWQgdG8gYmUgc3Vic3RpdHV0ZWQuPC9pbmZvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J1hNTF9TVUJTVElUVVRFX05PTkUnIGZpbGU9J3BhcnNlckludGVybmFscyc+CisgICAgICA8aW5mbz5JZiBubyBlbnRpdGllcyBuZWVkIHRvIGJlIHN1YnN0aXR1dGVkLjwvaW5mbz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSdYTUxfU1VCU1RJVFVURV9QRVJFRicgZmlsZT0ncGFyc2VySW50ZXJuYWxzJz4KKyAgICAgIDxpbmZvPldoZXRoZXIgcGFyYW1ldGVyIGVudGl0aWVzIG5lZWQgdG8gYmUgc3Vic3RpdHV0ZWQuPC9pbmZvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J1hNTF9TVUJTVElUVVRFX1JFRicgZmlsZT0ncGFyc2VySW50ZXJuYWxzJz4KKyAgICAgIDxpbmZvPldoZXRoZXIgZ2VuZXJhbCBlbnRpdGllcyBuZWVkIHRvIGJlIHN1YnN0aXR1dGVkLjwvaW5mbz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSdYTUxfWE1MX0lEJyBmaWxlPSd0cmVlJz4KKyAgICAgIDxpbmZvPlRoaXMgaXMgdGhlIG5hbWUgZm9yIHRoZSBzcGVjaWFsIHhtbDppZCBhdHRyaWJ1dGU8L2luZm8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nWE1MX1hNTF9OQU1FU1BBQ0UnIGZpbGU9J3RyZWUnPgorICAgICAgPGluZm8+VGhpcyBpcyB0aGUgbmFtZXNwYWNlIGZvciB0aGUgc3BlY2lhbCB4bWw6IHByZWZpeCBwcmVkZWZpbmVkIGluIHRoZSBYTUwgTmFtZXNwYWNlIHNwZWNpZmljYXRpb24uPC9pbmZvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J1hNTF9YUEFUSF9DSEVDS05TJyBmaWxlPSd4cGF0aCc+CisgICAgICA8aW5mbz5jaGVjayBuYW1lc3BhY2VzIGF0IGNvbXBpbGF0aW9uPC9pbmZvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J1hNTF9YUEFUSF9OT1ZBUicgZmlsZT0neHBhdGgnPgorICAgICAgPGluZm8+Zm9yYmlkIHZhcmlhYmxlcyBpbiBleHByZXNzaW9uPC9pbmZvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J1hQX0VSUk9SJyBmaWxlPSd4cGF0aEludGVybmFscyc+CisgICAgICA8aW5mbz5NYWNybyB0byByYWlzZSBhbiBYUGF0aCBlcnJvciBhbmQgcmV0dXJuLjwvaW5mbz4KKyAgICAgIDxhcmcgbmFtZT0nWCcgaW5mbz0ndGhlIGVycm9yIGNvZGUnLz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSdYUF9FUlJPUjAnIGZpbGU9J3hwYXRoSW50ZXJuYWxzJz4KKyAgICAgIDxpbmZvPk1hY3JvIHRvIHJhaXNlIGFuIFhQYXRoIGVycm9yIGFuZCByZXR1cm4gMC48L2luZm8+CisgICAgICA8YXJnIG5hbWU9J1gnIGluZm89J3RoZSBlcnJvciBjb2RlJy8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0nX1JFRU5UUkFOVCcgZmlsZT0neG1sZXhwb3J0cyc+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0naHRtbERlZmF1bHRTdWJlbGVtZW50JyBmaWxlPSdIVE1McGFyc2VyJz4KKyAgICAgIDxpbmZvPlJldHVybnMgdGhlIGRlZmF1bHQgc3ViZWxlbWVudCBmb3IgdGhpcyBlbGVtZW50PC9pbmZvPgorICAgICAgPGFyZyBuYW1lPSdlbHQnIGluZm89J0hUTUwgZWxlbWVudCcvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J2h0bWxFbGVtZW50QWxsb3dlZEhlcmVEZXNjJyBmaWxlPSdIVE1McGFyc2VyJz4KKyAgICAgIDxpbmZvPkNoZWNrcyB3aGV0aGVyIGFuIEhUTUwgZWxlbWVudCBkZXNjcmlwdGlvbiBtYXkgYmUgYSBkaXJlY3QgY2hpbGQgb2YgdGhlIHNwZWNpZmllZCBlbGVtZW50LiAgUmV0dXJucyAxIGlmIGFsbG93ZWQ7IDAgb3RoZXJ3aXNlLjwvaW5mbz4KKyAgICAgIDxhcmcgbmFtZT0ncGFyZW50JyBpbmZvPSdIVE1MIHBhcmVudCBlbGVtZW50Jy8+CisgICAgICA8YXJnIG5hbWU9J2VsdCcgaW5mbz0nSFRNTCBlbGVtZW50Jy8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0naHRtbFJlcXVpcmVkQXR0cnMnIGZpbGU9J0hUTUxwYXJzZXInPgorICAgICAgPGluZm8+UmV0dXJucyB0aGUgYXR0cmlidXRlcyByZXF1aXJlZCBmb3IgdGhlIHNwZWNpZmllZCBlbGVtZW50LjwvaW5mbz4KKyAgICAgIDxhcmcgbmFtZT0nZWx0JyBpbmZvPSdIVE1MIGVsZW1lbnQnLz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSd4bWxDaGlsZHJlbk5vZGUnIGZpbGU9J3RyZWUnPgorICAgICAgPGluZm8+TWFjcm8gZm9yIGNvbXBhdGliaWxpdHkgbmFtaW5nIGxheWVyIHdpdGggbGlieG1sMS4gTWFwcyB0byAmcXVvdDtjaGlsZHJlbi4mcXVvdDs8L2luZm8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0neG1sSXNCYXNlQ2hhclEnIGZpbGU9J2NodmFsaWQnPgorICAgICAgPGluZm8+QXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgZ2VuQ2hSYW5nZXMucHk8L2luZm8+CisgICAgICA8YXJnIG5hbWU9J2MnIGluZm89J2NoYXIgdG8gdmFsaWRhdGUnLz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSd4bWxJc0Jhc2VDaGFyX2NoJyBmaWxlPSdjaHZhbGlkJz4KKyAgICAgIDxpbmZvPkF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IGdlbkNoUmFuZ2VzLnB5PC9pbmZvPgorICAgICAgPGFyZyBuYW1lPSdjJyBpbmZvPSdjaGFyIHRvIHZhbGlkYXRlJy8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0neG1sSXNCbGFua1EnIGZpbGU9J2NodmFsaWQnPgorICAgICAgPGluZm8+QXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgZ2VuQ2hSYW5nZXMucHk8L2luZm8+CisgICAgICA8YXJnIG5hbWU9J2MnIGluZm89J2NoYXIgdG8gdmFsaWRhdGUnLz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSd4bWxJc0JsYW5rX2NoJyBmaWxlPSdjaHZhbGlkJz4KKyAgICAgIDxpbmZvPkF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IGdlbkNoUmFuZ2VzLnB5PC9pbmZvPgorICAgICAgPGFyZyBuYW1lPSdjJyBpbmZvPSdjaGFyIHRvIHZhbGlkYXRlJy8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0neG1sSXNDaGFyUScgZmlsZT0nY2h2YWxpZCc+CisgICAgICA8aW5mbz5BdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSBnZW5DaFJhbmdlcy5weTwvaW5mbz4KKyAgICAgIDxhcmcgbmFtZT0nYycgaW5mbz0nY2hhciB0byB2YWxpZGF0ZScvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J3htbElzQ2hhcl9jaCcgZmlsZT0nY2h2YWxpZCc+CisgICAgICA8aW5mbz5BdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSBnZW5DaFJhbmdlcy5weTwvaW5mbz4KKyAgICAgIDxhcmcgbmFtZT0nYycgaW5mbz0nY2hhciB0byB2YWxpZGF0ZScvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J3htbElzQ29tYmluaW5nUScgZmlsZT0nY2h2YWxpZCc+CisgICAgICA8aW5mbz5BdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSBnZW5DaFJhbmdlcy5weTwvaW5mbz4KKyAgICAgIDxhcmcgbmFtZT0nYycgaW5mbz0nY2hhciB0byB2YWxpZGF0ZScvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J3htbElzRGlnaXRRJyBmaWxlPSdjaHZhbGlkJz4KKyAgICAgIDxpbmZvPkF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IGdlbkNoUmFuZ2VzLnB5PC9pbmZvPgorICAgICAgPGFyZyBuYW1lPSdjJyBpbmZvPSdjaGFyIHRvIHZhbGlkYXRlJy8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0neG1sSXNEaWdpdF9jaCcgZmlsZT0nY2h2YWxpZCc+CisgICAgICA8aW5mbz5BdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSBnZW5DaFJhbmdlcy5weTwvaW5mbz4KKyAgICAgIDxhcmcgbmFtZT0nYycgaW5mbz0nY2hhciB0byB2YWxpZGF0ZScvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J3htbElzRXh0ZW5kZXJRJyBmaWxlPSdjaHZhbGlkJz4KKyAgICAgIDxpbmZvPkF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IGdlbkNoUmFuZ2VzLnB5PC9pbmZvPgorICAgICAgPGFyZyBuYW1lPSdjJyBpbmZvPSdjaGFyIHRvIHZhbGlkYXRlJy8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0neG1sSXNFeHRlbmRlcl9jaCcgZmlsZT0nY2h2YWxpZCc+CisgICAgICA8aW5mbz5BdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSBnZW5DaFJhbmdlcy5weTwvaW5mbz4KKyAgICAgIDxhcmcgbmFtZT0nYycgaW5mbz0nY2hhciB0byB2YWxpZGF0ZScvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J3htbElzSWRlb2dyYXBoaWNRJyBmaWxlPSdjaHZhbGlkJz4KKyAgICAgIDxpbmZvPkF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IGdlbkNoUmFuZ2VzLnB5PC9pbmZvPgorICAgICAgPGFyZyBuYW1lPSdjJyBpbmZvPSdjaGFyIHRvIHZhbGlkYXRlJy8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0neG1sSXNQdWJpZENoYXJRJyBmaWxlPSdjaHZhbGlkJz4KKyAgICAgIDxpbmZvPkF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IGdlbkNoUmFuZ2VzLnB5PC9pbmZvPgorICAgICAgPGFyZyBuYW1lPSdjJyBpbmZvPSdjaGFyIHRvIHZhbGlkYXRlJy8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0neG1sSXNQdWJpZENoYXJfY2gnIGZpbGU9J2NodmFsaWQnPgorICAgICAgPGluZm8+QXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgZ2VuQ2hSYW5nZXMucHk8L2luZm8+CisgICAgICA8YXJnIG5hbWU9J2MnIGluZm89J2NoYXIgdG8gdmFsaWRhdGUnLz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSd4bWxSb290Tm9kZScgZmlsZT0ndHJlZSc+CisgICAgICA8aW5mbz5NYWNybyBmb3IgY29tcGF0aWJpbGl0eSBuYW1pbmcgbGF5ZXIgd2l0aCBsaWJ4bWwxLiBNYXBzIHRvICZxdW90O2NoaWxkcmVuJnF1b3Q7LjwvaW5mbz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVEb2NUeXBlJyBmaWxlPSd4bWx3cml0ZXInPgorICAgICAgPGluZm8+dGhpcyBtYWNybyBtYXBzIHRvIHhtbFRleHRXcml0ZXJXcml0ZURURDwvaW5mbz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24nIGZpbGU9J3htbHdyaXRlcic+CisgICAgICA8aW5mbz5UaGlzIG1hY3JvIG1hcHMgdG8geG1sVGV4dFdyaXRlcldyaXRlUEk8L2luZm8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0neG1sWFBhdGhDaGVja0Vycm9yJyBmaWxlPSd4cGF0aEludGVybmFscyc+CisgICAgICA8aW5mbz5DaGVjayBpZiBhbiBYUGF0aCBlcnJvciB3YXMgcmFpc2VkLiAgUmV0dXJucyB0cnVlIGlmIGFuIGVycm9yIGhhcyBiZWVuIHJhaXNlZCwgZmFsc2Ugb3RoZXJ3aXNlLjwvaW5mbz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgaW5mbz0nYW4gWFBhdGggcGFyc2VyIGNvbnRleHQnLz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSd4bWxYUGF0aEVtcHR5Tm9kZVNldCcgZmlsZT0neHBhdGhJbnRlcm5hbHMnPgorICAgICAgPGluZm8+RW1wdGllcyBhIG5vZGUtc2V0LjwvaW5mbz4KKyAgICAgIDxhcmcgbmFtZT0nbnMnIGluZm89J2Egbm9kZS1zZXQnLz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSd4bWxYUGF0aEdldENvbnRleHROb2RlJyBmaWxlPSd4cGF0aEludGVybmFscyc+CisgICAgICA8aW5mbz5HZXQgdGhlIGNvbnRleHQgbm9kZSBvZiBhbiBYUGF0aCBjb250ZXh0LiAgUmV0dXJucyB0aGUgY29udGV4dCBub2RlLjwvaW5mbz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgaW5mbz0nYW4gWFBhdGggcGFyc2VyIGNvbnRleHQnLz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSd4bWxYUGF0aEdldERvY3VtZW50JyBmaWxlPSd4cGF0aEludGVybmFscyc+CisgICAgICA8aW5mbz5HZXQgdGhlIGRvY3VtZW50IG9mIGFuIFhQYXRoIGNvbnRleHQuICBSZXR1cm5zIHRoZSBjb250ZXh0IGRvY3VtZW50LjwvaW5mbz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgaW5mbz0nYW4gWFBhdGggcGFyc2VyIGNvbnRleHQnLz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSd4bWxYUGF0aEdldEVycm9yJyBmaWxlPSd4cGF0aEludGVybmFscyc+CisgICAgICA8aW5mbz5HZXQgdGhlIGVycm9yIGNvZGUgb2YgYW4gWFBhdGggY29udGV4dC4gIFJldHVybnMgdGhlIGNvbnRleHQgZXJyb3IuPC9pbmZvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyBpbmZvPSdhbiBYUGF0aCBwYXJzZXIgY29udGV4dCcvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J3htbFhQYXRoTm9kZVNldEdldExlbmd0aCcgZmlsZT0neHBhdGgnPgorICAgICAgPGluZm8+SW1wbGVtZW50IGEgZnVuY3Rpb25hbGl0eSBzaW1pbGFyIHRvIHRoZSBET00gTm9kZUxpc3QubGVuZ3RoLiAgUmV0dXJucyB0aGUgbnVtYmVyIG9mIG5vZGVzIGluIHRoZSBub2RlLXNldC48L2luZm8+CisgICAgICA8YXJnIG5hbWU9J25zJyBpbmZvPSdhIG5vZGUtc2V0Jy8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0neG1sWFBhdGhOb2RlU2V0SXNFbXB0eScgZmlsZT0neHBhdGgnPgorICAgICAgPGluZm8+Q2hlY2tzIHdoZXRoZXIgQG5zIGlzIGVtcHR5IG9yIG5vdC4gIFJldHVybnMgJVRSVUUgaWYgQG5zIGlzIGFuIGVtcHR5IG5vZGUtc2V0LjwvaW5mbz4KKyAgICAgIDxhcmcgbmFtZT0nbnMnIGluZm89J2Egbm9kZS1zZXQnLz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSd4bWxYUGF0aE5vZGVTZXRJdGVtJyBmaWxlPSd4cGF0aCc+CisgICAgICA8aW5mbz5JbXBsZW1lbnRzIGEgZnVuY3Rpb25hbGl0eSBzaW1pbGFyIHRvIHRoZSBET00gTm9kZUxpc3QuaXRlbSgpLiAgUmV0dXJucyB0aGUgeG1sTm9kZVB0ciBhdCB0aGUgZ2l2ZW4gQGluZGV4IGluIEBucyBvciBOVUxMIGlmIEBpbmRleCBpcyBvdXQgb2YgcmFuZ2UgKDAgdG8gbGVuZ3RoLTEpPC9pbmZvPgorICAgICAgPGFyZyBuYW1lPSducycgaW5mbz0nYSBub2RlLXNldCcvPgorICAgICAgPGFyZyBuYW1lPSdpbmRleCcgaW5mbz0naW5kZXggb2YgYSBub2RlIGluIHRoZSBzZXQnLz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSd4bWxYUGF0aFJldHVybkJvb2xlYW4nIGZpbGU9J3hwYXRoSW50ZXJuYWxzJz4KKyAgICAgIDxpbmZvPlB1c2hlcyB0aGUgYm9vbGVhbiBAdmFsIG9uIHRoZSBjb250ZXh0IHN0YWNrLjwvaW5mbz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgaW5mbz0nYW4gWFBhdGggcGFyc2VyIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0ndmFsJyBpbmZvPSdhIGJvb2xlYW4nLz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSd4bWxYUGF0aFJldHVybkVtcHR5Tm9kZVNldCcgZmlsZT0neHBhdGhJbnRlcm5hbHMnPgorICAgICAgPGluZm8+UHVzaGVzIGFuIGVtcHR5IG5vZGUtc2V0IG9uIHRoZSBjb250ZXh0IHN0YWNrLjwvaW5mbz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgaW5mbz0nYW4gWFBhdGggcGFyc2VyIGNvbnRleHQnLz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSd4bWxYUGF0aFJldHVybkVtcHR5U3RyaW5nJyBmaWxlPSd4cGF0aEludGVybmFscyc+CisgICAgICA8aW5mbz5QdXNoZXMgYW4gZW1wdHkgc3RyaW5nIG9uIHRoZSBzdGFjay48L2luZm8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIGluZm89J2FuIFhQYXRoIHBhcnNlciBjb250ZXh0Jy8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0neG1sWFBhdGhSZXR1cm5FeHRlcm5hbCcgZmlsZT0neHBhdGhJbnRlcm5hbHMnPgorICAgICAgPGluZm8+UHVzaGVzIHVzZXIgZGF0YSBvbiB0aGUgY29udGV4dCBzdGFjay48L2luZm8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIGluZm89J2FuIFhQYXRoIHBhcnNlciBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J3ZhbCcgaW5mbz0ndXNlciBkYXRhJy8+CisgICAgPC9tYWNybz4KKyAgICA8bWFjcm8gbmFtZT0neG1sWFBhdGhSZXR1cm5GYWxzZScgZmlsZT0neHBhdGhJbnRlcm5hbHMnPgorICAgICAgPGluZm8+UHVzaGVzIGZhbHNlIG9uIHRoZSBjb250ZXh0IHN0YWNrLjwvaW5mbz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgaW5mbz0nYW4gWFBhdGggcGFyc2VyIGNvbnRleHQnLz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSd4bWxYUGF0aFJldHVybk5vZGVTZXQnIGZpbGU9J3hwYXRoSW50ZXJuYWxzJz4KKyAgICAgIDxpbmZvPlB1c2hlcyB0aGUgbm9kZS1zZXQgQG5zIG9uIHRoZSBjb250ZXh0IHN0YWNrLjwvaW5mbz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgaW5mbz0nYW4gWFBhdGggcGFyc2VyIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbnMnIGluZm89J2Egbm9kZS1zZXQnLz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSd4bWxYUGF0aFJldHVybk51bWJlcicgZmlsZT0neHBhdGhJbnRlcm5hbHMnPgorICAgICAgPGluZm8+UHVzaGVzIHRoZSBkb3VibGUgQHZhbCBvbiB0aGUgY29udGV4dCBzdGFjay48L2luZm8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIGluZm89J2FuIFhQYXRoIHBhcnNlciBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J3ZhbCcgaW5mbz0nYSBkb3VibGUnLz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSd4bWxYUGF0aFJldHVyblN0cmluZycgZmlsZT0neHBhdGhJbnRlcm5hbHMnPgorICAgICAgPGluZm8+UHVzaGVzIHRoZSBzdHJpbmcgQHN0ciBvbiB0aGUgY29udGV4dCBzdGFjay48L2luZm8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIGluZm89J2FuIFhQYXRoIHBhcnNlciBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J3N0cicgaW5mbz0nYSBzdHJpbmcnLz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSd4bWxYUGF0aFJldHVyblRydWUnIGZpbGU9J3hwYXRoSW50ZXJuYWxzJz4KKyAgICAgIDxpbmZvPlB1c2hlcyB0cnVlIG9uIHRoZSBjb250ZXh0IHN0YWNrLjwvaW5mbz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgaW5mbz0nYW4gWFBhdGggcGFyc2VyIGNvbnRleHQnLz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSd4bWxYUGF0aFNldEFyaXR5RXJyb3InIGZpbGU9J3hwYXRoSW50ZXJuYWxzJz4KKyAgICAgIDxpbmZvPlJhaXNlcyBhbiBYUEFUSF9JTlZBTElEX0FSSVRZIGVycm9yLjwvaW5mbz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgaW5mbz0nYW4gWFBhdGggcGFyc2VyIGNvbnRleHQnLz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSd4bWxYUGF0aFNldEVycm9yJyBmaWxlPSd4cGF0aEludGVybmFscyc+CisgICAgICA8aW5mbz5SYWlzZXMgYW4gZXJyb3IuPC9pbmZvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyBpbmZvPSdhbiBYUGF0aCBwYXJzZXIgY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdlcnInIGluZm89J2FuIHhtbFhQYXRoRXJyb3IgY29kZScvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J3htbFhQYXRoU2V0VHlwZUVycm9yJyBmaWxlPSd4cGF0aEludGVybmFscyc+CisgICAgICA8aW5mbz5SYWlzZXMgYW4gWFBBVEhfSU5WQUxJRF9UWVBFIGVycm9yLjwvaW5mbz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgaW5mbz0nYW4gWFBhdGggcGFyc2VyIGNvbnRleHQnLz4KKyAgICA8L21hY3JvPgorICAgIDxtYWNybyBuYW1lPSd4bWxYUGF0aFN0YWNrSXNFeHRlcm5hbCcgZmlsZT0neHBhdGhJbnRlcm5hbHMnPgorICAgICAgPGluZm8+Q2hlY2tzIGlmIHRoZSBjdXJyZW50IHZhbHVlIG9uIHRoZSBYUGF0aCBzdGFjayBpcyBhbiBleHRlcm5hbCBvYmplY3QuICBSZXR1cm5zIHRydWUgaWYgdGhlIGN1cnJlbnQgb2JqZWN0IG9uIHRoZSBzdGFjayBpcyBhbiBleHRlcm5hbCBvYmplY3QuPC9pbmZvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyBpbmZvPSdhbiBYUGF0aCBwYXJzZXIgY29udGV4dCcvPgorICAgIDwvbWFjcm8+CisgICAgPG1hY3JvIG5hbWU9J3htbFhQYXRoU3RhY2tJc05vZGVTZXQnIGZpbGU9J3hwYXRoSW50ZXJuYWxzJz4KKyAgICAgIDxpbmZvPkNoZWNrIGlmIHRoZSBjdXJyZW50IHZhbHVlIG9uIHRoZSBYUGF0aCBzdGFjayBpcyBhIG5vZGUgc2V0IG9yIGFuIFhTTFQgdmFsdWUgdHJlZS4gIFJldHVybnMgdHJ1ZSBpZiB0aGUgY3VycmVudCBvYmplY3Qgb24gdGhlIHN0YWNrIGlzIGEgbm9kZS1zZXQuPC9pbmZvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyBpbmZvPSdhbiBYUGF0aCBwYXJzZXIgY29udGV4dCcvPgorICAgIDwvbWFjcm8+CisgICAgPGVudW0gbmFtZT0nSFRNTF9ERVBSRUNBVEVEJyBmaWxlPSdIVE1McGFyc2VyJyB2YWx1ZT0nMicgdHlwZT0naHRtbFN0YXR1cycvPgorICAgIDxlbnVtIG5hbWU9J0hUTUxfSU5WQUxJRCcgZmlsZT0nSFRNTHBhcnNlcicgdmFsdWU9JzEnIHR5cGU9J2h0bWxTdGF0dXMnLz4KKyAgICA8ZW51bSBuYW1lPSdIVE1MX05BJyBmaWxlPSdIVE1McGFyc2VyJyB2YWx1ZT0nMCcgdHlwZT0naHRtbFN0YXR1cycgaW5mbz0nc29tZXRoaW5nIHdlIGRvbiZhcG9zO3QgY2hlY2sgYXQgYWxsJy8+CisgICAgPGVudW0gbmFtZT0nSFRNTF9QQVJTRV9DT01QQUNUJyBmaWxlPSdIVE1McGFyc2VyJyB2YWx1ZT0nNjU1MzYnIHR5cGU9J2h0bWxQYXJzZXJPcHRpb24nIGluZm89J2NvbXBhY3Qgc21hbGwgdGV4dCBub2RlcycvPgorICAgIDxlbnVtIG5hbWU9J0hUTUxfUEFSU0VfSUdOT1JFX0VOQycgZmlsZT0nSFRNTHBhcnNlcicgdmFsdWU9JzIwOTcxNTInIHR5cGU9J2h0bWxQYXJzZXJPcHRpb24nIGluZm89JyBpZ25vcmUgaW50ZXJuYWwgZG9jdW1lbnQgZW5jb2RpbmcgaGludCcvPgorICAgIDxlbnVtIG5hbWU9J0hUTUxfUEFSU0VfTk9CTEFOS1MnIGZpbGU9J0hUTUxwYXJzZXInIHZhbHVlPScyNTYnIHR5cGU9J2h0bWxQYXJzZXJPcHRpb24nIGluZm89J3JlbW92ZSBibGFuayBub2RlcycvPgorICAgIDxlbnVtIG5hbWU9J0hUTUxfUEFSU0VfTk9ERUZEVEQnIGZpbGU9J0hUTUxwYXJzZXInIHZhbHVlPSc0JyB0eXBlPSdodG1sUGFyc2VyT3B0aW9uJyBpbmZvPSdkbyBub3QgZGVmYXVsdCBhIGRvY3R5cGUgaWYgbm90IGZvdW5kJy8+CisgICAgPGVudW0gbmFtZT0nSFRNTF9QQVJTRV9OT0VSUk9SJyBmaWxlPSdIVE1McGFyc2VyJyB2YWx1ZT0nMzInIHR5cGU9J2h0bWxQYXJzZXJPcHRpb24nIGluZm89J3N1cHByZXNzIGVycm9yIHJlcG9ydHMnLz4KKyAgICA8ZW51bSBuYW1lPSdIVE1MX1BBUlNFX05PSU1QTElFRCcgZmlsZT0nSFRNTHBhcnNlcicgdmFsdWU9JzgxOTInIHR5cGU9J2h0bWxQYXJzZXJPcHRpb24nIGluZm89J0RvIG5vdCBhZGQgaW1wbGllZCBodG1sL2JvZHkuLi4gZWxlbWVudHMnLz4KKyAgICA8ZW51bSBuYW1lPSdIVE1MX1BBUlNFX05PTkVUJyBmaWxlPSdIVE1McGFyc2VyJyB2YWx1ZT0nMjA0OCcgdHlwZT0naHRtbFBhcnNlck9wdGlvbicgaW5mbz0nRm9yYmlkIG5ldHdvcmsgYWNjZXNzJy8+CisgICAgPGVudW0gbmFtZT0nSFRNTF9QQVJTRV9OT1dBUk5JTkcnIGZpbGU9J0hUTUxwYXJzZXInIHZhbHVlPSc2NCcgdHlwZT0naHRtbFBhcnNlck9wdGlvbicgaW5mbz0nc3VwcHJlc3Mgd2FybmluZyByZXBvcnRzJy8+CisgICAgPGVudW0gbmFtZT0nSFRNTF9QQVJTRV9QRURBTlRJQycgZmlsZT0nSFRNTHBhcnNlcicgdmFsdWU9JzEyOCcgdHlwZT0naHRtbFBhcnNlck9wdGlvbicgaW5mbz0ncGVkYW50aWMgZXJyb3IgcmVwb3J0aW5nJy8+CisgICAgPGVudW0gbmFtZT0nSFRNTF9QQVJTRV9SRUNPVkVSJyBmaWxlPSdIVE1McGFyc2VyJyB2YWx1ZT0nMScgdHlwZT0naHRtbFBhcnNlck9wdGlvbicgaW5mbz0nUmVsYXhlZCBwYXJzaW5nJy8+CisgICAgPGVudW0gbmFtZT0nSFRNTF9SRVFVSVJFRCcgZmlsZT0nSFRNTHBhcnNlcicgdmFsdWU9JzEyJyB0eXBlPSdodG1sU3RhdHVzJyBpbmZvPScgVkFMSUQgYml0IHNldCBzbyAoICZhbXA7IEhUTUxfVkFMSUQgKSBpcyBUUlVFJy8+CisgICAgPGVudW0gbmFtZT0nSFRNTF9WQUxJRCcgZmlsZT0nSFRNTHBhcnNlcicgdmFsdWU9JzQnIHR5cGU9J2h0bWxTdGF0dXMnLz4KKyAgICA8ZW51bSBuYW1lPSdYTElOS19BQ1RVQVRFX0FVVE8nIGZpbGU9J3hsaW5rJyB2YWx1ZT0nMScgdHlwZT0neGxpbmtBY3R1YXRlJy8+CisgICAgPGVudW0gbmFtZT0nWExJTktfQUNUVUFURV9OT05FJyBmaWxlPSd4bGluaycgdmFsdWU9JzAnIHR5cGU9J3hsaW5rQWN0dWF0ZScvPgorICAgIDxlbnVtIG5hbWU9J1hMSU5LX0FDVFVBVEVfT05SRVFVRVNUJyBmaWxlPSd4bGluaycgdmFsdWU9JzInIHR5cGU9J3hsaW5rQWN0dWF0ZScvPgorICAgIDxlbnVtIG5hbWU9J1hMSU5LX1NIT1dfRU1CRUQnIGZpbGU9J3hsaW5rJyB2YWx1ZT0nMicgdHlwZT0neGxpbmtTaG93Jy8+CisgICAgPGVudW0gbmFtZT0nWExJTktfU0hPV19ORVcnIGZpbGU9J3hsaW5rJyB2YWx1ZT0nMScgdHlwZT0neGxpbmtTaG93Jy8+CisgICAgPGVudW0gbmFtZT0nWExJTktfU0hPV19OT05FJyBmaWxlPSd4bGluaycgdmFsdWU9JzAnIHR5cGU9J3hsaW5rU2hvdycvPgorICAgIDxlbnVtIG5hbWU9J1hMSU5LX1NIT1dfUkVQTEFDRScgZmlsZT0neGxpbmsnIHZhbHVlPSczJyB0eXBlPSd4bGlua1Nob3cnLz4KKyAgICA8ZW51bSBuYW1lPSdYTElOS19UWVBFX0VYVEVOREVEJyBmaWxlPSd4bGluaycgdmFsdWU9JzInIHR5cGU9J3hsaW5rVHlwZScvPgorICAgIDxlbnVtIG5hbWU9J1hMSU5LX1RZUEVfRVhURU5ERURfU0VUJyBmaWxlPSd4bGluaycgdmFsdWU9JzMnIHR5cGU9J3hsaW5rVHlwZScvPgorICAgIDxlbnVtIG5hbWU9J1hMSU5LX1RZUEVfTk9ORScgZmlsZT0neGxpbmsnIHZhbHVlPScwJyB0eXBlPSd4bGlua1R5cGUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTElOS19UWVBFX1NJTVBMRScgZmlsZT0neGxpbmsnIHZhbHVlPScxJyB0eXBlPSd4bGlua1R5cGUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfQVRUUklCVVRFX0NEQVRBJyBmaWxlPSd0cmVlJyB2YWx1ZT0nMScgdHlwZT0neG1sQXR0cmlidXRlVHlwZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9BVFRSSUJVVEVfREVDTCcgZmlsZT0ndHJlZScgdmFsdWU9JzE2JyB0eXBlPSd4bWxFbGVtZW50VHlwZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9BVFRSSUJVVEVfRU5USVRJRVMnIGZpbGU9J3RyZWUnIHZhbHVlPSc2JyB0eXBlPSd4bWxBdHRyaWJ1dGVUeXBlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0FUVFJJQlVURV9FTlRJVFknIGZpbGU9J3RyZWUnIHZhbHVlPSc1JyB0eXBlPSd4bWxBdHRyaWJ1dGVUeXBlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0FUVFJJQlVURV9FTlVNRVJBVElPTicgZmlsZT0ndHJlZScgdmFsdWU9JzknIHR5cGU9J3htbEF0dHJpYnV0ZVR5cGUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfQVRUUklCVVRFX0ZJWEVEJyBmaWxlPSd0cmVlJyB2YWx1ZT0nNCcgdHlwZT0neG1sQXR0cmlidXRlRGVmYXVsdCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9BVFRSSUJVVEVfSUQnIGZpbGU9J3RyZWUnIHZhbHVlPScyJyB0eXBlPSd4bWxBdHRyaWJ1dGVUeXBlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0FUVFJJQlVURV9JRFJFRicgZmlsZT0ndHJlZScgdmFsdWU9JzMnIHR5cGU9J3htbEF0dHJpYnV0ZVR5cGUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfQVRUUklCVVRFX0lEUkVGUycgZmlsZT0ndHJlZScgdmFsdWU9JzQnIHR5cGU9J3htbEF0dHJpYnV0ZVR5cGUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfQVRUUklCVVRFX0lNUExJRUQnIGZpbGU9J3RyZWUnIHZhbHVlPSczJyB0eXBlPSd4bWxBdHRyaWJ1dGVEZWZhdWx0Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0FUVFJJQlVURV9OTVRPS0VOJyBmaWxlPSd0cmVlJyB2YWx1ZT0nNycgdHlwZT0neG1sQXR0cmlidXRlVHlwZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9BVFRSSUJVVEVfTk1UT0tFTlMnIGZpbGU9J3RyZWUnIHZhbHVlPSc4JyB0eXBlPSd4bWxBdHRyaWJ1dGVUeXBlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0FUVFJJQlVURV9OT0RFJyBmaWxlPSd0cmVlJyB2YWx1ZT0nMicgdHlwZT0neG1sRWxlbWVudFR5cGUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfQVRUUklCVVRFX05PTkUnIGZpbGU9J3RyZWUnIHZhbHVlPScxJyB0eXBlPSd4bWxBdHRyaWJ1dGVEZWZhdWx0Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0FUVFJJQlVURV9OT1RBVElPTicgZmlsZT0ndHJlZScgdmFsdWU9JzEwJyB0eXBlPSd4bWxBdHRyaWJ1dGVUeXBlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0FUVFJJQlVURV9SRVFVSVJFRCcgZmlsZT0ndHJlZScgdmFsdWU9JzInIHR5cGU9J3htbEF0dHJpYnV0ZURlZmF1bHQnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfQlVGRkVSX0FMTE9DX0RPVUJMRUlUJyBmaWxlPSd0cmVlJyB2YWx1ZT0nMScgdHlwZT0neG1sQnVmZmVyQWxsb2NhdGlvblNjaGVtZScgaW5mbz0nZG91YmxlIGVhY2ggdGltZSBvbmUgbmVlZCB0byBncm93Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0JVRkZFUl9BTExPQ19FWEFDVCcgZmlsZT0ndHJlZScgdmFsdWU9JzInIHR5cGU9J3htbEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUnIGluZm89J2dyb3cgb25seSB0byB0aGUgbWluaW1hbCBzaXplJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0JVRkZFUl9BTExPQ19IWUJSSUQnIGZpbGU9J3RyZWUnIHZhbHVlPSc1JyB0eXBlPSd4bWxCdWZmZXJBbGxvY2F0aW9uU2NoZW1lJyBpbmZvPScgZXhhY3QgdXAgdG8gYSB0aHJlc2hvbGQsIGFuZCBkb3VibGVpdCB0aGVyZWFmdGVyJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0JVRkZFUl9BTExPQ19JTU1VVEFCTEUnIGZpbGU9J3RyZWUnIHZhbHVlPSczJyB0eXBlPSd4bWxCdWZmZXJBbGxvY2F0aW9uU2NoZW1lJyBpbmZvPSdpbW11dGFibGUgYnVmZmVyJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0JVRkZFUl9BTExPQ19JTycgZmlsZT0ndHJlZScgdmFsdWU9JzQnIHR5cGU9J3htbEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUnIGluZm89J3NwZWNpYWwgYWxsb2NhdGlvbiBzY2hlbWUgdXNlZCBmb3IgSS9PJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0JVRl9PVkVSRkxPVycgZmlsZT0neG1sZXJyb3InIHZhbHVlPSc3MDAwJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfQzE0Tl8xXzAnIGZpbGU9J2MxNG4nIHZhbHVlPScwJyB0eXBlPSd4bWxDMTROTW9kZScgaW5mbz0nT3JpZ2lhbmFsIEMxNE4gMS4wIHNwZWMnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfQzE0Tl8xXzEnIGZpbGU9J2MxNG4nIHZhbHVlPScyJyB0eXBlPSd4bWxDMTROTW9kZScgaW5mbz0nIEMxNE4gMS4xIHNwZWMnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfQzE0Tl9DUkVBVEVfQ1RYVCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxOTUwJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfQzE0Tl9DUkVBVEVfU1RBQ0snIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTk1MicgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxOTUyJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0MxNE5fRVhDTFVTSVZFXzFfMCcgZmlsZT0nYzE0bicgdmFsdWU9JzEnIHR5cGU9J3htbEMxNE5Nb2RlJyBpbmZvPSdFeGNsdXNpdmUgQzE0TiAxLjAgc3BlYycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9DMTROX0lOVkFMSURfTk9ERScgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxOTUzJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE5NTMnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfQzE0Tl9SRUxBVElWRV9OQU1FU1BBQ0UnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTk1NScgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxOTU1Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0MxNE5fUkVRVUlSRVNfVVRGOCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxOTUxJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE5NTEnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfQzE0Tl9VTktOT1dfTk9ERScgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxOTU0JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE5NTQnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfQ0FUQUxPR19FTlRSWV9CUk9LRU4nIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTY1MScgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxNjUxJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0NBVEFMT0dfTUlTU0lOR19BVFRSJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE2NTAnIHR5cGU9J3htbFBhcnNlckVycm9ycycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9DQVRBTE9HX05PVF9DQVRBTE9HJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE2NTMnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTY1MycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9DQVRBTE9HX1BSRUZFUl9WQUxVRScgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxNjUyJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE2NTInLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfQ0FUQUxPR19SRUNVUlNJT04nIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTY1NCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxNjU0Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0NBVEFfQUxMT1dfQUxMJyBmaWxlPSdjYXRhbG9nJyB2YWx1ZT0nMycgdHlwZT0neG1sQ2F0YWxvZ0FsbG93Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0NBVEFfQUxMT1dfRE9DVU1FTlQnIGZpbGU9J2NhdGFsb2cnIHZhbHVlPScyJyB0eXBlPSd4bWxDYXRhbG9nQWxsb3cnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfQ0FUQV9BTExPV19HTE9CQUwnIGZpbGU9J2NhdGFsb2cnIHZhbHVlPScxJyB0eXBlPSd4bWxDYXRhbG9nQWxsb3cnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfQ0FUQV9BTExPV19OT05FJyBmaWxlPSdjYXRhbG9nJyB2YWx1ZT0nMCcgdHlwZT0neG1sQ2F0YWxvZ0FsbG93Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0NBVEFfUFJFRkVSX05PTkUnIGZpbGU9J2NhdGFsb2cnIHZhbHVlPScwJyB0eXBlPSd4bWxDYXRhbG9nUHJlZmVyJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0NBVEFfUFJFRkVSX1BVQkxJQycgZmlsZT0nY2F0YWxvZycgdmFsdWU9JzEnIHR5cGU9J3htbENhdGFsb2dQcmVmZXInLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfQ0FUQV9QUkVGRVJfU1lTVEVNJyBmaWxlPSdjYXRhbG9nJyB2YWx1ZT0nMicgdHlwZT0neG1sQ2F0YWxvZ1ByZWZlcicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9DREFUQV9TRUNUSU9OX05PREUnIGZpbGU9J3RyZWUnIHZhbHVlPSc0JyB0eXBlPSd4bWxFbGVtZW50VHlwZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9DSEFSX0VOQ09ESU5HXzIwMjJfSlAnIGZpbGU9J2VuY29kaW5nJyB2YWx1ZT0nMTknIHR5cGU9J3htbENoYXJFbmNvZGluZycgaW5mbz0nSVNPLTIwMjItSlAnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfQ0hBUl9FTkNPRElOR184ODU5XzEnIGZpbGU9J2VuY29kaW5nJyB2YWx1ZT0nMTAnIHR5cGU9J3htbENoYXJFbmNvZGluZycgaW5mbz0nSVNPLTg4NTktMSBJU08gTGF0aW4gMScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9DSEFSX0VOQ09ESU5HXzg4NTlfMicgZmlsZT0nZW5jb2RpbmcnIHZhbHVlPScxMScgdHlwZT0neG1sQ2hhckVuY29kaW5nJyBpbmZvPSdJU08tODg1OS0yIElTTyBMYXRpbiAyJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0NIQVJfRU5DT0RJTkdfODg1OV8zJyBmaWxlPSdlbmNvZGluZycgdmFsdWU9JzEyJyB0eXBlPSd4bWxDaGFyRW5jb2RpbmcnIGluZm89J0lTTy04ODU5LTMnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfQ0hBUl9FTkNPRElOR184ODU5XzQnIGZpbGU9J2VuY29kaW5nJyB2YWx1ZT0nMTMnIHR5cGU9J3htbENoYXJFbmNvZGluZycgaW5mbz0nSVNPLTg4NTktNCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9DSEFSX0VOQ09ESU5HXzg4NTlfNScgZmlsZT0nZW5jb2RpbmcnIHZhbHVlPScxNCcgdHlwZT0neG1sQ2hhckVuY29kaW5nJyBpbmZvPSdJU08tODg1OS01Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0NIQVJfRU5DT0RJTkdfODg1OV82JyBmaWxlPSdlbmNvZGluZycgdmFsdWU9JzE1JyB0eXBlPSd4bWxDaGFyRW5jb2RpbmcnIGluZm89J0lTTy04ODU5LTYnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfQ0hBUl9FTkNPRElOR184ODU5XzcnIGZpbGU9J2VuY29kaW5nJyB2YWx1ZT0nMTYnIHR5cGU9J3htbENoYXJFbmNvZGluZycgaW5mbz0nSVNPLTg4NTktNycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9DSEFSX0VOQ09ESU5HXzg4NTlfOCcgZmlsZT0nZW5jb2RpbmcnIHZhbHVlPScxNycgdHlwZT0neG1sQ2hhckVuY29kaW5nJyBpbmZvPSdJU08tODg1OS04Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0NIQVJfRU5DT0RJTkdfODg1OV85JyBmaWxlPSdlbmNvZGluZycgdmFsdWU9JzE4JyB0eXBlPSd4bWxDaGFyRW5jb2RpbmcnIGluZm89J0lTTy04ODU5LTknLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfQ0hBUl9FTkNPRElOR19BU0NJSScgZmlsZT0nZW5jb2RpbmcnIHZhbHVlPScyMicgdHlwZT0neG1sQ2hhckVuY29kaW5nJyBpbmZvPScgcHVyZSBBU0NJSScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9DSEFSX0VOQ09ESU5HX0VCQ0RJQycgZmlsZT0nZW5jb2RpbmcnIHZhbHVlPSc2JyB0eXBlPSd4bWxDaGFyRW5jb2RpbmcnIGluZm89J0VCQ0RJQyB1aCEnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfQ0hBUl9FTkNPRElOR19FUlJPUicgZmlsZT0nZW5jb2RpbmcnIHZhbHVlPSctMScgdHlwZT0neG1sQ2hhckVuY29kaW5nJyBpbmZvPSdObyBjaGFyIGVuY29kaW5nIGRldGVjdGVkJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0NIQVJfRU5DT0RJTkdfRVVDX0pQJyBmaWxlPSdlbmNvZGluZycgdmFsdWU9JzIxJyB0eXBlPSd4bWxDaGFyRW5jb2RpbmcnIGluZm89J0VVQy1KUCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9DSEFSX0VOQ09ESU5HX05PTkUnIGZpbGU9J2VuY29kaW5nJyB2YWx1ZT0nMCcgdHlwZT0neG1sQ2hhckVuY29kaW5nJyBpbmZvPSdObyBjaGFyIGVuY29kaW5nIGRldGVjdGVkJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0NIQVJfRU5DT0RJTkdfU0hJRlRfSklTJyBmaWxlPSdlbmNvZGluZycgdmFsdWU9JzIwJyB0eXBlPSd4bWxDaGFyRW5jb2RpbmcnIGluZm89J1NoaWZ0X0pJUycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9DSEFSX0VOQ09ESU5HX1VDUzInIGZpbGU9J2VuY29kaW5nJyB2YWx1ZT0nOScgdHlwZT0neG1sQ2hhckVuY29kaW5nJyBpbmZvPSdVQ1MtMicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9DSEFSX0VOQ09ESU5HX1VDUzRCRScgZmlsZT0nZW5jb2RpbmcnIHZhbHVlPSc1JyB0eXBlPSd4bWxDaGFyRW5jb2RpbmcnIGluZm89J1VDUy00IGJpZyBlbmRpYW4nLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfQ0hBUl9FTkNPRElOR19VQ1M0TEUnIGZpbGU9J2VuY29kaW5nJyB2YWx1ZT0nNCcgdHlwZT0neG1sQ2hhckVuY29kaW5nJyBpbmZvPSdVQ1MtNCBsaXR0bGUgZW5kaWFuJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0NIQVJfRU5DT0RJTkdfVUNTNF8yMTQzJyBmaWxlPSdlbmNvZGluZycgdmFsdWU9JzcnIHR5cGU9J3htbENoYXJFbmNvZGluZycgaW5mbz0nVUNTLTQgdW51c3VhbCBvcmRlcmluZycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9DSEFSX0VOQ09ESU5HX1VDUzRfMzQxMicgZmlsZT0nZW5jb2RpbmcnIHZhbHVlPSc4JyB0eXBlPSd4bWxDaGFyRW5jb2RpbmcnIGluZm89J1VDUy00IHVudXN1YWwgb3JkZXJpbmcnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfQ0hBUl9FTkNPRElOR19VVEYxNkJFJyBmaWxlPSdlbmNvZGluZycgdmFsdWU9JzMnIHR5cGU9J3htbENoYXJFbmNvZGluZycgaW5mbz0nVVRGLTE2IGJpZyBlbmRpYW4nLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfQ0hBUl9FTkNPRElOR19VVEYxNkxFJyBmaWxlPSdlbmNvZGluZycgdmFsdWU9JzInIHR5cGU9J3htbENoYXJFbmNvZGluZycgaW5mbz0nVVRGLTE2IGxpdHRsZSBlbmRpYW4nLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfQ0hBUl9FTkNPRElOR19VVEY4JyBmaWxlPSdlbmNvZGluZycgdmFsdWU9JzEnIHR5cGU9J3htbENoYXJFbmNvZGluZycgaW5mbz0nVVRGLTgnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfQ0hFQ0tfRU5USVRZX1RZUEUnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nNTAxMicgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSc1MDEyJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0NIRUNLX0ZPVU5EX0FUVFJJQlVURScgZmlsZT0neG1sZXJyb3InIHZhbHVlPSc1MDAxJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzUwMDEnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfQ0hFQ0tfRk9VTkRfQ0RBVEEnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nNTAwMycgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSc1MDAzJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0NIRUNLX0ZPVU5EX0NPTU1FTlQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nNTAwNycgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSc1MDA3Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0NIRUNLX0ZPVU5EX0RPQ1RZUEUnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nNTAwOCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSc1MDA4Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0NIRUNLX0ZPVU5EX0VMRU1FTlQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nNTAwMCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0NIRUNLX0ZPVU5EX0VOVElUWScgZmlsZT0neG1sZXJyb3InIHZhbHVlPSc1MDA1JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzUwMDUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfQ0hFQ0tfRk9VTkRfRU5USVRZUkVGJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzUwMDQnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nNTAwNCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9DSEVDS19GT1VORF9GUkFHTUVOVCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPSc1MDA5JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzUwMDknLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfQ0hFQ0tfRk9VTkRfTk9UQVRJT04nIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nNTAxMCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSc1MDEwJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0NIRUNLX0ZPVU5EX1BJJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzUwMDYnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nNTAwNicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9DSEVDS19GT1VORF9URVhUJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzUwMDInIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nNTAwMicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9DSEVDS19OQU1FX05PVF9OVUxMJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzUwMzcnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nNTAzNycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9DSEVDS19OT1RfQVRUUicgZmlsZT0neG1sZXJyb3InIHZhbHVlPSc1MDIzJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzUwMjMnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfQ0hFQ0tfTk9UX0FUVFJfREVDTCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPSc1MDI0JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzUwMjQnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfQ0hFQ0tfTk9UX0RURCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPSc1MDIyJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzUwMjInLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfQ0hFQ0tfTk9UX0VMRU1fREVDTCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPSc1MDI1JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzUwMjUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfQ0hFQ0tfTk9UX0VOVElUWV9ERUNMJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzUwMjYnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nNTAyNicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9DSEVDS19OT1RfTkNOQU1FJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzUwMzQnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nNTAzNCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9DSEVDS19OT1RfTlNfREVDTCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPSc1MDI3JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzUwMjcnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfQ0hFQ0tfTk9UX1VURjgnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nNTAzMicgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSc1MDMyJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0NIRUNLX05PX0RJQ1QnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nNTAzMycgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSc1MDMzJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0NIRUNLX05PX0RPQycgZmlsZT0neG1sZXJyb3InIHZhbHVlPSc1MDE0JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzUwMTQnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfQ0hFQ0tfTk9fRUxFTScgZmlsZT0neG1sZXJyb3InIHZhbHVlPSc1MDE2JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzUwMTYnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfQ0hFQ0tfTk9fSFJFRicgZmlsZT0neG1sZXJyb3InIHZhbHVlPSc1MDI4JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzUwMjgnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfQ0hFQ0tfTk9fTkFNRScgZmlsZT0neG1sZXJyb3InIHZhbHVlPSc1MDE1JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzUwMTUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfQ0hFQ0tfTk9fTkVYVCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPSc1MDIwJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzUwMjAnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfQ0hFQ0tfTk9fUEFSRU5UJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzUwMTMnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nNTAxMycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9DSEVDS19OT19QUkVWJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzUwMTgnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nNTAxOCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9DSEVDS19OU19BTkNFU1RPUicgZmlsZT0neG1sZXJyb3InIHZhbHVlPSc1MDMxJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzUwMzEnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfQ0hFQ0tfTlNfU0NPUEUnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nNTAzMCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSc1MDMwJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0NIRUNLX09VVFNJREVfRElDVCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPSc1MDM1JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzUwMzUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfQ0hFQ0tfVU5LTk9XTl9OT0RFJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzUwMTEnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nNTAxMScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9DSEVDS19XUk9OR19ET0MnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nNTAxNycgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSc1MDE3Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0NIRUNLX1dST05HX05BTUUnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nNTAzNicgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSc1MDM2Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0NIRUNLX1dST05HX05FWFQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nNTAyMScgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSc1MDIxJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0NIRUNLX1dST05HX1BBUkVOVCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPSc1MDI5JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzUwMjknLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfQ0hFQ0tfV1JPTkdfUFJFVicgZmlsZT0neG1sZXJyb3InIHZhbHVlPSc1MDE5JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzUwMTknLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfQ09NTUVOVF9OT0RFJyBmaWxlPSd0cmVlJyB2YWx1ZT0nOCcgdHlwZT0neG1sRWxlbWVudFR5cGUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRE9DQl9ET0NVTUVOVF9OT0RFJyBmaWxlPSd0cmVlJyB2YWx1ZT0nMjEnIHR5cGU9J3htbEVsZW1lbnRUeXBlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0RPQ1VNRU5UX0ZSQUdfTk9ERScgZmlsZT0ndHJlZScgdmFsdWU9JzExJyB0eXBlPSd4bWxFbGVtZW50VHlwZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9ET0NVTUVOVF9OT0RFJyBmaWxlPSd0cmVlJyB2YWx1ZT0nOScgdHlwZT0neG1sRWxlbWVudFR5cGUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRE9DVU1FTlRfVFlQRV9OT0RFJyBmaWxlPSd0cmVlJyB2YWx1ZT0nMTAnIHR5cGU9J3htbEVsZW1lbnRUeXBlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0RPQ19EVERWQUxJRCcgZmlsZT0ndHJlZScgdmFsdWU9JzgnIHR5cGU9J3htbERvY1Byb3BlcnRpZXMnIGluZm89J0RURCB2YWxpZGF0aW9uIHdhcyBzdWNjZXNzZnVsJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0RPQ19IVE1MJyBmaWxlPSd0cmVlJyB2YWx1ZT0nMTI4JyB0eXBlPSd4bWxEb2NQcm9wZXJ0aWVzJyBpbmZvPScgcGFyc2VkIG9yIGJ1aWx0IEhUTUwgZG9jdW1lbnQnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRE9DX0lOVEVSTkFMJyBmaWxlPSd0cmVlJyB2YWx1ZT0nNjQnIHR5cGU9J3htbERvY1Byb3BlcnRpZXMnIGluZm89J2J1aWx0IGZvciBpbnRlcm5hbCBwcm9jZXNzaW5nJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0RPQ19OU1ZBTElEJyBmaWxlPSd0cmVlJyB2YWx1ZT0nMicgdHlwZT0neG1sRG9jUHJvcGVydGllcycgaW5mbz0nZG9jdW1lbnQgaXMgTmFtZXNwYWNlIHZhbGlkJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0RPQ19PTEQxMCcgZmlsZT0ndHJlZScgdmFsdWU9JzQnIHR5cGU9J3htbERvY1Byb3BlcnRpZXMnIGluZm89J3BhcnNlZCB3aXRoIG9sZCBYTUwtMS4wIHBhcnNlcicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9ET0NfVVNFUkJVSUxUJyBmaWxlPSd0cmVlJyB2YWx1ZT0nMzInIHR5cGU9J3htbERvY1Byb3BlcnRpZXMnIGluZm89J0RvY3VtZW50IHdhcyBidWlsdCB1c2luZyB0aGUgQVBJCithbmQgbm90IGJ5IHBhcnNpbmcgYW4gaW5zdGFuY2UnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRE9DX1dFTExGT1JNRUQnIGZpbGU9J3RyZWUnIHZhbHVlPScxJyB0eXBlPSd4bWxEb2NQcm9wZXJ0aWVzJyBpbmZvPSdkb2N1bWVudCBpcyBYTUwgd2VsbCBmb3JtZWQnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRE9DX1hJTkNMVURFJyBmaWxlPSd0cmVlJyB2YWx1ZT0nMTYnIHR5cGU9J3htbERvY1Byb3BlcnRpZXMnIGluZm89J1hJbmNsdWRlIHN1YnN0aXR1dGlvbiB3YXMgZG9uZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9EVERfQVRUUklCVVRFX0RFRkFVTFQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nNTAwJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRFREX0FUVFJJQlVURV9SRURFRklORUQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nNTAxJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzUwMScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9EVERfQVRUUklCVVRFX1ZBTFVFJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzUwMicgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSc1MDInLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRFREX0NPTlRFTlRfRVJST1InIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nNTAzJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzUwMycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9EVERfQ09OVEVOVF9NT0RFTCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPSc1MDQnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nNTA0Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0RURF9DT05URU5UX05PVF9ERVRFUk1JTklTVCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPSc1MDUnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nNTA1Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0RURF9ESUZGRVJFTlRfUFJFRklYJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzUwNicgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSc1MDYnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRFREX0RVUF9UT0tFTicgZmlsZT0neG1sZXJyb3InIHZhbHVlPSc1NDEnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nNTQxJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0RURF9FTEVNX0RFRkFVTFRfTkFNRVNQQUNFJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzUwNycgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSc1MDcnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRFREX0VMRU1fTkFNRVNQQUNFJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzUwOCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSc1MDgnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRFREX0VMRU1fUkVERUZJTkVEJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzUwOScgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSc1MDknLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRFREX0VNUFRZX05PVEFUSU9OJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzUxMCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSc1MTAnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRFREX0VOVElUWV9UWVBFJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzUxMScgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSc1MTEnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRFREX0lEX0ZJWEVEJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzUxMicgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSc1MTInLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRFREX0lEX1JFREVGSU5FRCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPSc1MTMnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nNTEzJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0RURF9JRF9TVUJTRVQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nNTE0JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzUxNCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9EVERfSU5WQUxJRF9DSElMRCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPSc1MTUnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nNTE1Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0RURF9JTlZBTElEX0RFRkFVTFQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nNTE2JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzUxNicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9EVERfTE9BRF9FUlJPUicgZmlsZT0neG1sZXJyb3InIHZhbHVlPSc1MTcnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nNTE3Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0RURF9NSVNTSU5HX0FUVFJJQlVURScgZmlsZT0neG1sZXJyb3InIHZhbHVlPSc1MTgnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nNTE4Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0RURF9NSVhFRF9DT1JSVVBUJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzUxOScgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSc1MTknLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRFREX01VTFRJUExFX0lEJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzUyMCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSc1MjAnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRFREX05PREUnIGZpbGU9J3RyZWUnIHZhbHVlPScxNCcgdHlwZT0neG1sRWxlbWVudFR5cGUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRFREX05PVEFUSU9OX1JFREVGSU5FRCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPSc1MjYnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nNTI2Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0RURF9OT1RBVElPTl9WQUxVRScgZmlsZT0neG1sZXJyb3InIHZhbHVlPSc1MjcnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nNTI3Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0RURF9OT1RfRU1QVFknIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nNTI4JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzUyOCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9EVERfTk9UX1BDREFUQScgZmlsZT0neG1sZXJyb3InIHZhbHVlPSc1MjknIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nNTI5Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0RURF9OT1RfU1RBTkRBTE9ORScgZmlsZT0neG1sZXJyb3InIHZhbHVlPSc1MzAnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nNTMwJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0RURF9OT19ET0MnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nNTIxJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzUyMScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9EVERfTk9fRFREJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzUyMicgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSc1MjInLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRFREX05PX0VMRU1fTkFNRScgZmlsZT0neG1sZXJyb3InIHZhbHVlPSc1MjMnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nNTIzJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0RURF9OT19QUkVGSVgnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nNTI0JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzUyNCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9EVERfTk9fUk9PVCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPSc1MjUnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nNTI1Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0RURF9ST09UX05BTUUnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nNTMxJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzUzMScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9EVERfU1RBTkRBTE9ORV9ERUZBVUxURUQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nNTM4JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzUzOCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9EVERfU1RBTkRBTE9ORV9XSElURV9TUEFDRScgZmlsZT0neG1sZXJyb3InIHZhbHVlPSc1MzInIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nNTMyJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0RURF9VTktOT1dOX0FUVFJJQlVURScgZmlsZT0neG1sZXJyb3InIHZhbHVlPSc1MzMnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nNTMzJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0RURF9VTktOT1dOX0VMRU0nIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nNTM0JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzUzNCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9EVERfVU5LTk9XTl9FTlRJVFknIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nNTM1JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzUzNScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9EVERfVU5LTk9XTl9JRCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPSc1MzYnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nNTM2Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0RURF9VTktOT1dOX05PVEFUSU9OJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzUzNycgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSc1MzcnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRFREX1hNTElEX1RZUEUnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nNTQwJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzU0MCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9EVERfWE1MSURfVkFMVUUnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nNTM5JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzUzOScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9FTEVNRU5UX0NPTlRFTlRfRUxFTUVOVCcgZmlsZT0ndHJlZScgdmFsdWU9JzInIHR5cGU9J3htbEVsZW1lbnRDb250ZW50VHlwZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9FTEVNRU5UX0NPTlRFTlRfTVVMVCcgZmlsZT0ndHJlZScgdmFsdWU9JzMnIHR5cGU9J3htbEVsZW1lbnRDb250ZW50T2NjdXInLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRUxFTUVOVF9DT05URU5UX09OQ0UnIGZpbGU9J3RyZWUnIHZhbHVlPScxJyB0eXBlPSd4bWxFbGVtZW50Q29udGVudE9jY3VyJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0VMRU1FTlRfQ09OVEVOVF9PUFQnIGZpbGU9J3RyZWUnIHZhbHVlPScyJyB0eXBlPSd4bWxFbGVtZW50Q29udGVudE9jY3VyJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0VMRU1FTlRfQ09OVEVOVF9PUicgZmlsZT0ndHJlZScgdmFsdWU9JzQnIHR5cGU9J3htbEVsZW1lbnRDb250ZW50VHlwZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9FTEVNRU5UX0NPTlRFTlRfUENEQVRBJyBmaWxlPSd0cmVlJyB2YWx1ZT0nMScgdHlwZT0neG1sRWxlbWVudENvbnRlbnRUeXBlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0VMRU1FTlRfQ09OVEVOVF9QTFVTJyBmaWxlPSd0cmVlJyB2YWx1ZT0nNCcgdHlwZT0neG1sRWxlbWVudENvbnRlbnRPY2N1cicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9FTEVNRU5UX0NPTlRFTlRfU0VRJyBmaWxlPSd0cmVlJyB2YWx1ZT0nMycgdHlwZT0neG1sRWxlbWVudENvbnRlbnRUeXBlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0VMRU1FTlRfREVDTCcgZmlsZT0ndHJlZScgdmFsdWU9JzE1JyB0eXBlPSd4bWxFbGVtZW50VHlwZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9FTEVNRU5UX05PREUnIGZpbGU9J3RyZWUnIHZhbHVlPScxJyB0eXBlPSd4bWxFbGVtZW50VHlwZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9FTEVNRU5UX1RZUEVfQU5ZJyBmaWxlPSd0cmVlJyB2YWx1ZT0nMicgdHlwZT0neG1sRWxlbWVudFR5cGVWYWwnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRUxFTUVOVF9UWVBFX0VMRU1FTlQnIGZpbGU9J3RyZWUnIHZhbHVlPSc0JyB0eXBlPSd4bWxFbGVtZW50VHlwZVZhbCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9FTEVNRU5UX1RZUEVfRU1QVFknIGZpbGU9J3RyZWUnIHZhbHVlPScxJyB0eXBlPSd4bWxFbGVtZW50VHlwZVZhbCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9FTEVNRU5UX1RZUEVfTUlYRUQnIGZpbGU9J3RyZWUnIHZhbHVlPSczJyB0eXBlPSd4bWxFbGVtZW50VHlwZVZhbCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9FTEVNRU5UX1RZUEVfVU5ERUZJTkVEJyBmaWxlPSd0cmVlJyB2YWx1ZT0nMCcgdHlwZT0neG1sRWxlbWVudFR5cGVWYWwnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRU5USVRZX0RFQ0wnIGZpbGU9J3RyZWUnIHZhbHVlPScxNycgdHlwZT0neG1sRWxlbWVudFR5cGUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRU5USVRZX05PREUnIGZpbGU9J3RyZWUnIHZhbHVlPSc2JyB0eXBlPSd4bWxFbGVtZW50VHlwZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9FTlRJVFlfUkVGX05PREUnIGZpbGU9J3RyZWUnIHZhbHVlPSc1JyB0eXBlPSd4bWxFbGVtZW50VHlwZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9FUlJfQVRUTElTVF9OT1RfRklOSVNIRUQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nNTEnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nNTEnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRVJSX0FUVExJU1RfTk9UX1NUQVJURUQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nNTAnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nNTAnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRVJSX0FUVFJJQlVURV9OT1RfRklOSVNIRUQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nNDAnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nNDAnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRVJSX0FUVFJJQlVURV9OT1RfU1RBUlRFRCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPSczOScgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSczOScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9FUlJfQVRUUklCVVRFX1JFREVGSU5FRCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPSc0MicgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSc0MicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9FUlJfQVRUUklCVVRFX1dJVEhPVVRfVkFMVUUnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nNDEnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nNDEnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRVJSX0NEQVRBX05PVF9GSU5JU0hFRCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPSc2MycgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSc2MycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9FUlJfQ0hBUlJFRl9BVF9FT0YnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTAnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTAnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRVJSX0NIQVJSRUZfSU5fRFREJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzEzJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzEzJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0VSUl9DSEFSUkVGX0lOX0VQSUxPRycgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxMicgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxMicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9FUlJfQ0hBUlJFRl9JTl9QUk9MT0cnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTEnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTEnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRVJSX0NPTU1FTlRfTk9UX0ZJTklTSEVEJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzQ1JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzQ1Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0VSUl9DT05EU0VDX0lOVkFMSUQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nODMnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nODMnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRVJSX0NPTkRTRUNfSU5WQUxJRF9LRVlXT1JEJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9Jzk1JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89Jzk1Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0VSUl9DT05EU0VDX05PVF9GSU5JU0hFRCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPSc1OScgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSc1OScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9FUlJfQ09ORFNFQ19OT1RfU1RBUlRFRCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPSc1OCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSc1OCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9FUlJfRE9DVFlQRV9OT1RfRklOSVNIRUQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nNjEnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nNjEnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRVJSX0RPQ1VNRU5UX0VNUFRZJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzQnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nNCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9FUlJfRE9DVU1FTlRfRU5EJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzUnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nNScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9FUlJfRE9DVU1FTlRfU1RBUlQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMycgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSczJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0VSUl9FTEVNQ09OVEVOVF9OT1RfRklOSVNIRUQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nNTUnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nNTUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRVJSX0VMRU1DT05URU5UX05PVF9TVEFSVEVEJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzU0JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzU0Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0VSUl9FTkNPRElOR19OQU1FJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9Jzc5JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89Jzc5Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0VSUl9FTlRJVFlSRUZfQVRfRU9GJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE0JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE0Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0VSUl9FTlRJVFlSRUZfSU5fRFREJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE3JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE3Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0VSUl9FTlRJVFlSRUZfSU5fRVBJTE9HJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE2JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE2Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0VSUl9FTlRJVFlSRUZfSU5fUFJPTE9HJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE1JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE1Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0VSUl9FTlRJVFlSRUZfTk9fTkFNRScgZmlsZT0neG1sZXJyb3InIHZhbHVlPScyMicgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScyMicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9FUlJfRU5USVRZUkVGX1NFTUlDT0xfTUlTU0lORycgZmlsZT0neG1sZXJyb3InIHZhbHVlPScyMycgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScyMycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9FUlJfRU5USVRZX0JPVU5EQVJZJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzkwJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzkwJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0VSUl9FTlRJVFlfQ0hBUl9FUlJPUicgZmlsZT0neG1sZXJyb3InIHZhbHVlPSc4NycgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSc4NycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9FUlJfRU5USVRZX0lTX0VYVEVSTkFMJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzI5JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzI5Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0VSUl9FTlRJVFlfSVNfUEFSQU1FVEVSJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzMwJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzMwJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0VSUl9FTlRJVFlfTE9PUCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPSc4OScgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSc4OScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9FUlJfRU5USVRZX05PVF9GSU5JU0hFRCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPSczNycgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSczNycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9FUlJfRU5USVRZX05PVF9TVEFSVEVEJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzM2JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzM2Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0VSUl9FTlRJVFlfUEVfSU5URVJOQUwnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nODgnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nODgnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRVJSX0VOVElUWV9QUk9DRVNTSU5HJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzEwNCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxMDQnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRVJSX0VRVUFMX1JFUVVJUkVEJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9Jzc1JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89Jzc1Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0VSUl9FUlJPUicgZmlsZT0neG1sZXJyb3InIHZhbHVlPScyJyB0eXBlPSd4bWxFcnJvckxldmVsJyBpbmZvPSdBIHJlY292ZXJhYmxlIGVycm9yJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0VSUl9FWFRSQV9DT05URU5UJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9Jzg2JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89Jzg2Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0VSUl9FWFRfRU5USVRZX1NUQU5EQUxPTkUnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nODInIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nODInLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRVJSX0VYVF9TVUJTRVRfTk9UX0ZJTklTSEVEJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzYwJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzYwJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0VSUl9GQVRBTCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPSczJyB0eXBlPSd4bWxFcnJvckxldmVsJyBpbmZvPScgQSBmYXRhbCBlcnJvcicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9FUlJfR1RfUkVRVUlSRUQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nNzMnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nNzMnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRVJSX0hZUEhFTl9JTl9DT01NRU5UJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzgwJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzgwJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0VSUl9JTlRFUk5BTF9FUlJPUicgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzEnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRVJSX0lOVkFMSURfQ0hBUicgZmlsZT0neG1sZXJyb3InIHZhbHVlPSc5JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzknLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRVJSX0lOVkFMSURfQ0hBUlJFRicgZmlsZT0neG1sZXJyb3InIHZhbHVlPSc4JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzgnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRVJSX0lOVkFMSURfREVDX0NIQVJSRUYnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nNycgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSc3Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0VSUl9JTlZBTElEX0VOQ09ESU5HJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzgxJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzgxJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0VSUl9JTlZBTElEX0hFWF9DSEFSUkVGJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzYnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nNicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9FUlJfSU5WQUxJRF9VUkknIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nOTEnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nOTEnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRVJSX0xJVEVSQUxfTk9UX0ZJTklTSEVEJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzQ0JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzQ0Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0VSUl9MSVRFUkFMX05PVF9TVEFSVEVEJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzQzJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzQzJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0VSUl9MVFNMQVNIX1JFUVVJUkVEJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9Jzc0JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89Jzc0Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0VSUl9MVF9JTl9BVFRSSUJVVEUnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMzgnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMzgnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRVJSX0xUX1JFUVVJUkVEJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzcyJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzcyJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0VSUl9NSVNQTEFDRURfQ0RBVEFfRU5EJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzYyJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzYyJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0VSUl9NSVNTSU5HX0VOQ09ESU5HJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzEwMScgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxMDEnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRVJSX01JWEVEX05PVF9GSU5JU0hFRCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPSc1MycgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSc1MycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9FUlJfTUlYRURfTk9UX1NUQVJURUQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nNTInIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nNTInLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRVJSX05BTUVfUkVRVUlSRUQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nNjgnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nNjgnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRVJSX05BTUVfVE9PX0xPTkcnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTEwJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzExMCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9FUlJfTk1UT0tFTl9SRVFVSVJFRCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPSc2NycgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSc2NycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9FUlJfTk9ORScgZmlsZT0neG1sZXJyb3InIHZhbHVlPScwJyB0eXBlPSd4bWxFcnJvckxldmVsJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0VSUl9OT1RBVElPTl9OT1RfRklOSVNIRUQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nNDknIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nNDknLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRVJSX05PVEFUSU9OX05PVF9TVEFSVEVEJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzQ4JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzQ4Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0VSUl9OT1RBVElPTl9QUk9DRVNTSU5HJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzEwNScgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxMDUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRVJSX05PVF9TVEFOREFMT05FJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzEwMycgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxMDMnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRVJSX05PVF9XRUxMX0JBTEFOQ0VEJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9Jzg1JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89Jzg1Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0VSUl9OT19EVEQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nOTQnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nOTQnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRVJSX05PX01FTU9SWScgZmlsZT0neG1sZXJyb3InIHZhbHVlPScyJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzInLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRVJSX05TX0RFQ0xfRVJST1InIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMzUnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMzUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRVJSX09LJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzAnIHR5cGU9J3htbFBhcnNlckVycm9ycycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9FUlJfUENEQVRBX1JFUVVJUkVEJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzY5JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzY5Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0VSUl9QRVJFRl9BVF9FT0YnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTgnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTgnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRVJSX1BFUkVGX0lOX0VQSUxPRycgZmlsZT0neG1sZXJyb3InIHZhbHVlPScyMCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScyMCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9FUlJfUEVSRUZfSU5fSU5UX1NVQlNFVCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPScyMScgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScyMScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9FUlJfUEVSRUZfSU5fUFJPTE9HJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE5JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE5Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0VSUl9QRVJFRl9OT19OQU1FJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzI0JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzI0Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0VSUl9QRVJFRl9TRU1JQ09MX01JU1NJTkcnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMjUnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMjUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRVJSX1BJX05PVF9GSU5JU0hFRCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPSc0NycgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSc0NycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9FUlJfUElfTk9UX1NUQVJURUQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nNDYnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nNDYnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRVJSX1BVQklEX1JFUVVJUkVEJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzcxJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzcxJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0VSUl9SRVNFUlZFRF9YTUxfTkFNRScgZmlsZT0neG1sZXJyb3InIHZhbHVlPSc2NCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSc2NCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9FUlJfU0VQQVJBVE9SX1JFUVVJUkVEJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzY2JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzY2Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0VSUl9TUEFDRV9SRVFVSVJFRCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPSc2NScgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSc2NScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9FUlJfU1RBTkRBTE9ORV9WQUxVRScgZmlsZT0neG1sZXJyb3InIHZhbHVlPSc3OCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSc3OCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9FUlJfU1RSSU5HX05PVF9DTE9TRUQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMzQnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMzQnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRVJSX1NUUklOR19OT1RfU1RBUlRFRCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPSczMycgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSczMycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9FUlJfVEFHX05BTUVfTUlTTUFUQ0gnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nNzYnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nNzYnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRVJSX1RBR19OT1RfRklOSVNIRUQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nNzcnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nNzcnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRVJSX1VOREVDTEFSRURfRU5USVRZJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzI2JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzI2Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0VSUl9VTktOT1dOX0VOQ09ESU5HJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzMxJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzMxJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0VSUl9VTktOT1dOX1ZFUlNJT04nIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTA4JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzEwOCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9FUlJfVU5QQVJTRURfRU5USVRZJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzI4JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzI4Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0VSUl9VTlNVUFBPUlRFRF9FTkNPRElORycgZmlsZT0neG1sZXJyb3InIHZhbHVlPSczMicgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSczMicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9FUlJfVVJJX0ZSQUdNRU5UJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzkyJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzkyJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0VSUl9VUklfUkVRVUlSRUQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nNzAnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nNzAnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRVJSX1VTRVJfU1RPUCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxMTEnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTExJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0VSUl9WQUxVRV9SRVFVSVJFRCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPSc4NCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSc4NCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9FUlJfVkVSU0lPTl9NSVNNQVRDSCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxMDknIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTA5Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0VSUl9WRVJTSU9OX01JU1NJTkcnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nOTYnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nOTYnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRVJSX1dBUk5JTkcnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMScgdHlwZT0neG1sRXJyb3JMZXZlbCcgaW5mbz0nQSBzaW1wbGUgd2FybmluZycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9FUlJfWE1MREVDTF9OT1RfRklOSVNIRUQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nNTcnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nNTcnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRVJSX1hNTERFQ0xfTk9UX1NUQVJURUQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nNTYnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nNTYnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRVhQX0FUT00nIGZpbGU9J3htbHJlZ2V4cCcgdmFsdWU9JzInIHR5cGU9J3htbEV4cE5vZGVUeXBlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0VYUF9DT1VOVCcgZmlsZT0neG1scmVnZXhwJyB2YWx1ZT0nNScgdHlwZT0neG1sRXhwTm9kZVR5cGUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRVhQX0VNUFRZJyBmaWxlPSd4bWxyZWdleHAnIHZhbHVlPScwJyB0eXBlPSd4bWxFeHBOb2RlVHlwZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9FWFBfRk9SQklEJyBmaWxlPSd4bWxyZWdleHAnIHZhbHVlPScxJyB0eXBlPSd4bWxFeHBOb2RlVHlwZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9FWFBfT1InIGZpbGU9J3htbHJlZ2V4cCcgdmFsdWU9JzQnIHR5cGU9J3htbEV4cE5vZGVUeXBlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0VYUF9TRVEnIGZpbGU9J3htbHJlZ2V4cCcgdmFsdWU9JzMnIHR5cGU9J3htbEV4cE5vZGVUeXBlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0VYVEVSTkFMX0dFTkVSQUxfUEFSU0VEX0VOVElUWScgZmlsZT0nZW50aXRpZXMnIHZhbHVlPScyJyB0eXBlPSd4bWxFbnRpdHlUeXBlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0VYVEVSTkFMX0dFTkVSQUxfVU5QQVJTRURfRU5USVRZJyBmaWxlPSdlbnRpdGllcycgdmFsdWU9JzMnIHR5cGU9J3htbEVudGl0eVR5cGUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRVhURVJOQUxfUEFSQU1FVEVSX0VOVElUWScgZmlsZT0nZW50aXRpZXMnIHZhbHVlPSc1JyB0eXBlPSd4bWxFbnRpdHlUeXBlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0ZST01fQlVGRkVSJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzI5JyB0eXBlPSd4bWxFcnJvckRvbWFpbicgaW5mbz0nVGhlIGJ1ZmZlcnMgbW9kdWxlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0ZST01fQzE0TicgZmlsZT0neG1sZXJyb3InIHZhbHVlPScyMScgdHlwZT0neG1sRXJyb3JEb21haW4nIGluZm89J1RoZSBDYW5vbmljYWxpemF0aW9uIG1vZHVsZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9GUk9NX0NBVEFMT0cnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMjAnIHR5cGU9J3htbEVycm9yRG9tYWluJyBpbmZvPSdUaGUgQ2F0YWxvZyBtb2R1bGUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRlJPTV9DSEVDSycgZmlsZT0neG1sZXJyb3InIHZhbHVlPScyNCcgdHlwZT0neG1sRXJyb3JEb21haW4nIGluZm89J1RoZSBlcnJvciBjaGVja2luZyBtb2R1bGUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRlJPTV9EQVRBVFlQRScgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxNScgdHlwZT0neG1sRXJyb3JEb21haW4nIGluZm89J1RoZSBXM0MgWE1MIFNjaGVtYXMgRGF0YXR5cGUgbW9kdWxlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0ZST01fRFREJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzQnIHR5cGU9J3htbEVycm9yRG9tYWluJyBpbmZvPSdUaGUgWE1MIERURCB2YWxpZGF0aW9uIHdpdGggcGFyc2VyIGNvbnRleCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9GUk9NX0ZUUCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPSc5JyB0eXBlPSd4bWxFcnJvckRvbWFpbicgaW5mbz0nVGhlIEZUUCBtb2R1bGUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRlJPTV9IVE1MJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzUnIHR5cGU9J3htbEVycm9yRG9tYWluJyBpbmZvPSdUaGUgSFRNTCBwYXJzZXInLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRlJPTV9IVFRQJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzEwJyB0eXBlPSd4bWxFcnJvckRvbWFpbicgaW5mbz0nVGhlIEhUVFAgbW9kdWxlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0ZST01fSTE4TicgZmlsZT0neG1sZXJyb3InIHZhbHVlPScyNycgdHlwZT0neG1sRXJyb3JEb21haW4nIGluZm89J1RoZSBtb2R1bGUgaGFuZGxpbmcgY2hhcmFjdGVyIGNvbnZlcnNpb24nLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRlJPTV9JTycgZmlsZT0neG1sZXJyb3InIHZhbHVlPSc4JyB0eXBlPSd4bWxFcnJvckRvbWFpbicgaW5mbz0nVGhlIElucHV0L091dHB1dCBzdGFjaycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9GUk9NX01FTU9SWScgZmlsZT0neG1sZXJyb3InIHZhbHVlPSc2JyB0eXBlPSd4bWxFcnJvckRvbWFpbicgaW5mbz0nVGhlIG1lbW9yeSBhbGxvY2F0b3InLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRlJPTV9NT0RVTEUnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMjYnIHR5cGU9J3htbEVycm9yRG9tYWluJyBpbmZvPSdUaGUgZHluYW1pY2FsbHkgbG9hZGVkIG1vZHVsZSBtb2R1bCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9GUk9NX05BTUVTUEFDRScgZmlsZT0neG1sZXJyb3InIHZhbHVlPSczJyB0eXBlPSd4bWxFcnJvckRvbWFpbicgaW5mbz0nVGhlIFhNTCBOYW1lc3BhY2UgbW9kdWxlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0ZST01fTk9ORScgZmlsZT0neG1sZXJyb3InIHZhbHVlPScwJyB0eXBlPSd4bWxFcnJvckRvbWFpbicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9GUk9NX09VVFBVVCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPSc3JyB0eXBlPSd4bWxFcnJvckRvbWFpbicgaW5mbz0nVGhlIHNlcmlhbGl6YXRpb24gY29kZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9GUk9NX1BBUlNFUicgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxJyB0eXBlPSd4bWxFcnJvckRvbWFpbicgaW5mbz0nVGhlIFhNTCBwYXJzZXInLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRlJPTV9SRUdFWFAnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTQnIHR5cGU9J3htbEVycm9yRG9tYWluJyBpbmZvPSdUaGUgcmVndWxhciBleHByZXNzaW9ucyBtb2R1bGUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRlJPTV9SRUxBWE5HUCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxOCcgdHlwZT0neG1sRXJyb3JEb21haW4nIGluZm89J1RoZSBSZWxheC1ORyBwYXJzZXIgbW9kdWxlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0ZST01fUkVMQVhOR1YnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTknIHR5cGU9J3htbEVycm9yRG9tYWluJyBpbmZvPSdUaGUgUmVsYXgtTkcgdmFsaWRhdG9yIG1vZHVsZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9GUk9NX1NDSEVNQVNQJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE2JyB0eXBlPSd4bWxFcnJvckRvbWFpbicgaW5mbz0nVGhlIFczQyBYTUwgU2NoZW1hcyBwYXJzZXIgbW9kdWxlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0ZST01fU0NIRU1BU1YnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTcnIHR5cGU9J3htbEVycm9yRG9tYWluJyBpbmZvPSdUaGUgVzNDIFhNTCBTY2hlbWFzIHZhbGlkYXRpb24gbW9kdWxlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0ZST01fU0NIRU1BVFJPTlYnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMjgnIHR5cGU9J3htbEVycm9yRG9tYWluJyBpbmZvPSdUaGUgU2NoZW1hdHJvbiB2YWxpZGF0b3IgbW9kdWxlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0ZST01fVFJFRScgZmlsZT0neG1sZXJyb3InIHZhbHVlPScyJyB0eXBlPSd4bWxFcnJvckRvbWFpbicgaW5mbz0nVGhlIHRyZWUgbW9kdWxlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0ZST01fVVJJJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzMwJyB0eXBlPSd4bWxFcnJvckRvbWFpbicgaW5mbz0nIFRoZSBVUkkgbW9kdWxlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0ZST01fVkFMSUQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMjMnIHR5cGU9J3htbEVycm9yRG9tYWluJyBpbmZvPSdUaGUgWE1MIERURCB2YWxpZGF0aW9uIHdpdGggdmFsaWQgY29udGV4dCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9GUk9NX1dSSVRFUicgZmlsZT0neG1sZXJyb3InIHZhbHVlPScyNScgdHlwZT0neG1sRXJyb3JEb21haW4nIGluZm89J1RoZSB4bWx3cml0ZXIgbW9kdWxlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0ZST01fWElOQ0xVREUnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTEnIHR5cGU9J3htbEVycm9yRG9tYWluJyBpbmZvPSdUaGUgWEluY2x1ZGUgcHJvY2Vzc2luZycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9GUk9NX1hQQVRIJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzEyJyB0eXBlPSd4bWxFcnJvckRvbWFpbicgaW5mbz0nVGhlIFhQYXRoIG1vZHVsZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9GUk9NX1hQT0lOVEVSJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzEzJyB0eXBlPSd4bWxFcnJvckRvbWFpbicgaW5mbz0nVGhlIFhQb2ludGVyIG1vZHVsZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9GUk9NX1hTTFQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMjInIHR5cGU9J3htbEVycm9yRG9tYWluJyBpbmZvPSdUaGUgWFNMVCBlbmdpbmUgZnJvbSBsaWJ4c2x0Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0ZUUF9BQ0NOVCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPScyMDAyJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzIwMDInLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfRlRQX0VQU1ZfQU5TV0VSJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzIwMDEnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMjAwMScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9GVFBfUEFTVl9BTlNXRVInIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMjAwMCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0ZUUF9VUkxfU1lOVEFYJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzIwMDMnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMjAwMycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9IVE1MX0RPQ1VNRU5UX05PREUnIGZpbGU9J3RyZWUnIHZhbHVlPScxMycgdHlwZT0neG1sRWxlbWVudFR5cGUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfSFRNTF9TVFJVQ1VSRV9FUlJPUicgZmlsZT0neG1sZXJyb3InIHZhbHVlPSc4MDAnIHR5cGU9J3htbFBhcnNlckVycm9ycycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9IVE1MX1VOS05PV05fVEFHJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzgwMScgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSc4MDEnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfSFRUUF9VTktOT1dOX0hPU1QnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMjAyMicgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScyMDIyJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0hUVFBfVVJMX1NZTlRBWCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPScyMDIwJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfSFRUUF9VU0VfSVAnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMjAyMScgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScyMDIxJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0kxOE5fQ09OVl9GQUlMRUQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nNjAwMycgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSc2MDAzJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0kxOE5fRVhDRVNTX0hBTkRMRVInIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nNjAwMicgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSc2MDAyJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0kxOE5fTk9fSEFORExFUicgZmlsZT0neG1sZXJyb3InIHZhbHVlPSc2MDAxJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzYwMDEnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfSTE4Tl9OT19OQU1FJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzYwMDAnIHR5cGU9J3htbFBhcnNlckVycm9ycycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9JMThOX05PX09VVFBVVCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPSc2MDA0JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzYwMDQnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfSU5URVJOQUxfR0VORVJBTF9FTlRJVFknIGZpbGU9J2VudGl0aWVzJyB2YWx1ZT0nMScgdHlwZT0neG1sRW50aXR5VHlwZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9JTlRFUk5BTF9QQVJBTUVURVJfRU5USVRZJyBmaWxlPSdlbnRpdGllcycgdmFsdWU9JzQnIHR5cGU9J3htbEVudGl0eVR5cGUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfSU5URVJOQUxfUFJFREVGSU5FRF9FTlRJVFknIGZpbGU9J2VudGl0aWVzJyB2YWx1ZT0nNicgdHlwZT0neG1sRW50aXR5VHlwZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9JT19CVUZGRVJfRlVMTCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxNTQ4JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE1NDgnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfSU9fRUFDQ0VTJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE1MDEnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTUwMScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9JT19FQUREUklOVVNFJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE1NTQnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTU1NCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9JT19FQUZOT1NVUFBPUlQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTU1NicgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxNTU2Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0lPX0VBR0FJTicgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxNTAyJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE1MDInLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfSU9fRUFMUkVBRFknIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTU1NScgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxNTU1Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0lPX0VCQURGJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE1MDMnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTUwMycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9JT19FQkFETVNHJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE1MDQnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTUwNCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9JT19FQlVTWScgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxNTA1JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE1MDUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfSU9fRUNBTkNFTEVEJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE1MDYnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTUwNicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9JT19FQ0hJTEQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTUwNycgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxNTA3Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0lPX0VDT05OUkVGVVNFRCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxNTUyJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE1NTInLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfSU9fRURFQURMSycgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxNTA4JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE1MDgnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfSU9fRURPTScgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxNTA5JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE1MDknLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfSU9fRUVYSVNUJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE1MTAnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTUxMCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9JT19FRkFVTFQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTUxMScgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxNTExJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0lPX0VGQklHJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE1MTInIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTUxMicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9JT19FSU5QUk9HUkVTUycgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxNTEzJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE1MTMnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfSU9fRUlOVFInIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTUxNCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxNTE0Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0lPX0VJTlZBTCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxNTE1JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE1MTUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfSU9fRUlPJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE1MTYnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTUxNicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9JT19FSVNDT05OJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE1NTEnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTU1MScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9JT19FSVNESVInIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTUxNycgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxNTE3Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0lPX0VNRklMRScgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxNTE4JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE1MTgnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfSU9fRU1MSU5LJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE1MTknIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTUxOScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9JT19FTVNHU0laRScgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxNTIwJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE1MjAnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfSU9fRU5BTUVUT09MT05HJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE1MjEnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTUyMScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9JT19FTkNPREVSJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE1NDQnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTU0NCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9JT19FTkVUVU5SRUFDSCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxNTUzJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE1NTMnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfSU9fRU5GSUxFJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE1MjInIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTUyMicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9JT19FTk9ERVYnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTUyMycgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxNTIzJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0lPX0VOT0VOVCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxNTI0JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE1MjQnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfSU9fRU5PRVhFQycgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxNTI1JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE1MjUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfSU9fRU5PTENLJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE1MjYnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTUyNicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9JT19FTk9NRU0nIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTUyNycgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxNTI3Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0lPX0VOT1NQQycgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxNTI4JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE1MjgnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfSU9fRU5PU1lTJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE1MjknIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTUyOScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9JT19FTk9URElSJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE1MzAnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTUzMCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9JT19FTk9URU1QVFknIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTUzMScgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxNTMxJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0lPX0VOT1RTT0NLJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE1NTAnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTU1MCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9JT19FTk9UU1VQJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE1MzInIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTUzMicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9JT19FTk9UVFknIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTUzMycgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxNTMzJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0lPX0VOWElPJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE1MzQnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTUzNCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9JT19FUEVSTScgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxNTM1JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE1MzUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfSU9fRVBJUEUnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTUzNicgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxNTM2Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0lPX0VSQU5HRScgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxNTM3JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE1MzcnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfSU9fRVJPRlMnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTUzOCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxNTM4Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0lPX0VTUElQRScgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxNTM5JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE1MzknLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfSU9fRVNSQ0gnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTU0MCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxNTQwJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0lPX0VUSU1FRE9VVCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxNTQxJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE1NDEnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfSU9fRVhERVYnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTU0MicgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxNTQyJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0lPX0ZMVVNIJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE1NDUnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTU0NScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9JT19MT0FEX0VSUk9SJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE1NDknIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTU0OScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9JT19ORVRXT1JLX0FUVEVNUFQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTU0MycgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxNTQzJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX0lPX05PX0lOUFVUJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE1NDcnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTU0NycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9JT19VTktOT1dOJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE1MDAnIHR5cGU9J3htbFBhcnNlckVycm9ycycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9JT19XUklURScgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxNTQ2JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE1NDYnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfTU9EVUxFX0NMT1NFJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzQ5MDEnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nNDkwMScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9NT0RVTEVfTEFaWScgZmlsZT0neG1sbW9kdWxlJyB2YWx1ZT0nMScgdHlwZT0neG1sTW9kdWxlT3B0aW9uJyBpbmZvPSdsYXp5IGJpbmRpbmcnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfTU9EVUxFX0xPQ0FMJyBmaWxlPSd4bWxtb2R1bGUnIHZhbHVlPScyJyB0eXBlPSd4bWxNb2R1bGVPcHRpb24nIGluZm89JyBsb2NhbCBiaW5kaW5nJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX01PRFVMRV9PUEVOJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzQ5MDAnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nNDkwMCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9OQU1FU1BBQ0VfREVDTCcgZmlsZT0ndHJlZScgdmFsdWU9JzE4JyB0eXBlPSd4bWxFbGVtZW50VHlwZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9OT1RBVElPTl9OT0RFJyBmaWxlPSd0cmVlJyB2YWx1ZT0nMTInIHR5cGU9J3htbEVsZW1lbnRUeXBlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX05TX0VSUl9BVFRSSUJVVEVfUkVERUZJTkVEJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzIwMycgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScyMDMnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfTlNfRVJSX0NPTE9OJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzIwNScgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScyMDUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfTlNfRVJSX0VNUFRZJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzIwNCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScyMDQnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfTlNfRVJSX1FOQU1FJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzIwMicgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScyMDInLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfTlNfRVJSX1VOREVGSU5FRF9OQU1FU1BBQ0UnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMjAxJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzIwMScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9OU19FUlJfWE1MX05BTUVTUEFDRScgZmlsZT0neG1sZXJyb3InIHZhbHVlPScyMDAnIHR5cGU9J3htbFBhcnNlckVycm9ycycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9QQVJTRVJfQVRUUklCVVRFX1ZBTFVFJyBmaWxlPSdwYXJzZXInIHZhbHVlPScxMicgdHlwZT0neG1sUGFyc2VySW5wdXRTdGF0ZScgaW5mbz0nd2l0aGluIGFuIGF0dHJpYnV0ZSB2YWx1ZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9QQVJTRVJfQ0RBVEFfU0VDVElPTicgZmlsZT0ncGFyc2VyJyB2YWx1ZT0nOCcgdHlwZT0neG1sUGFyc2VySW5wdXRTdGF0ZScgaW5mbz0nd2l0aGluIGEgQ0RBVEEgc2VjdGlvbicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9QQVJTRVJfQ09NTUVOVCcgZmlsZT0ncGFyc2VyJyB2YWx1ZT0nNScgdHlwZT0neG1sUGFyc2VySW5wdXRTdGF0ZScgaW5mbz0nd2l0aGluIGEgY29tbWVudCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9QQVJTRVJfQ09OVEVOVCcgZmlsZT0ncGFyc2VyJyB2YWx1ZT0nNycgdHlwZT0neG1sUGFyc2VySW5wdXRTdGF0ZScgaW5mbz0nd2l0aGluIHRoZSBjb250ZW50Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1BBUlNFUl9ERUZBVUxUQVRUUlMnIGZpbGU9J3htbHJlYWRlcicgdmFsdWU9JzInIHR5cGU9J3htbFBhcnNlclByb3BlcnRpZXMnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUEFSU0VSX0RURCcgZmlsZT0ncGFyc2VyJyB2YWx1ZT0nMycgdHlwZT0neG1sUGFyc2VySW5wdXRTdGF0ZScgaW5mbz0nd2l0aGluIHNvbWUgRFREIGNvbnRlbnQnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUEFSU0VSX0VORF9UQUcnIGZpbGU9J3BhcnNlcicgdmFsdWU9JzknIHR5cGU9J3htbFBhcnNlcklucHV0U3RhdGUnIGluZm89J3dpdGhpbiBhIGNsb3NpbmcgdGFnJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1BBUlNFUl9FTlRJVFlfREVDTCcgZmlsZT0ncGFyc2VyJyB2YWx1ZT0nMTAnIHR5cGU9J3htbFBhcnNlcklucHV0U3RhdGUnIGluZm89J3dpdGhpbiBhbiBlbnRpdHkgZGVjbGFyYXRpb24nLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUEFSU0VSX0VOVElUWV9WQUxVRScgZmlsZT0ncGFyc2VyJyB2YWx1ZT0nMTEnIHR5cGU9J3htbFBhcnNlcklucHV0U3RhdGUnIGluZm89J3dpdGhpbiBhbiBlbnRpdHkgdmFsdWUgaW4gYSBkZWNsJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1BBUlNFUl9FT0YnIGZpbGU9J3BhcnNlcicgdmFsdWU9Jy0xJyB0eXBlPSd4bWxQYXJzZXJJbnB1dFN0YXRlJyBpbmZvPSdub3RoaW5nIGlzIHRvIGJlIHBhcnNlZCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9QQVJTRVJfRVBJTE9HJyBmaWxlPSdwYXJzZXInIHZhbHVlPScxNCcgdHlwZT0neG1sUGFyc2VySW5wdXRTdGF0ZScgaW5mbz0ndGhlIE1pc2MqIGFmdGVyIHRoZSBsYXN0IGVuZCB0YWcnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUEFSU0VSX0lHTk9SRScgZmlsZT0ncGFyc2VyJyB2YWx1ZT0nMTUnIHR5cGU9J3htbFBhcnNlcklucHV0U3RhdGUnIGluZm89J3dpdGhpbiBhbiBJR05PUkVEIHNlY3Rpb24nLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUEFSU0VSX0xPQUREVEQnIGZpbGU9J3htbHJlYWRlcicgdmFsdWU9JzEnIHR5cGU9J3htbFBhcnNlclByb3BlcnRpZXMnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUEFSU0VSX01JU0MnIGZpbGU9J3BhcnNlcicgdmFsdWU9JzEnIHR5cGU9J3htbFBhcnNlcklucHV0U3RhdGUnIGluZm89J01pc2MqIGJlZm9yZSBpbnQgc3Vic2V0Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1BBUlNFUl9QSScgZmlsZT0ncGFyc2VyJyB2YWx1ZT0nMicgdHlwZT0neG1sUGFyc2VySW5wdXRTdGF0ZScgaW5mbz0nV2l0aGluIGEgcHJvY2Vzc2luZyBpbnN0cnVjdGlvbicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9QQVJTRVJfUFJPTE9HJyBmaWxlPSdwYXJzZXInIHZhbHVlPSc0JyB0eXBlPSd4bWxQYXJzZXJJbnB1dFN0YXRlJyBpbmZvPSdNaXNjKiBhZnRlciBpbnRlcm5hbCBzdWJzZXQnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUEFSU0VSX1BVQkxJQ19MSVRFUkFMJyBmaWxlPSdwYXJzZXInIHZhbHVlPScxNicgdHlwZT0neG1sUGFyc2VySW5wdXRTdGF0ZScgaW5mbz0nIHdpdGhpbiBhIFBVQkxJQyB2YWx1ZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9QQVJTRVJfU0VWRVJJVFlfRVJST1InIGZpbGU9J3htbHJlYWRlcicgdmFsdWU9JzQnIHR5cGU9J3htbFBhcnNlclNldmVyaXRpZXMnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUEFSU0VSX1NFVkVSSVRZX1ZBTElESVRZX0VSUk9SJyBmaWxlPSd4bWxyZWFkZXInIHZhbHVlPScyJyB0eXBlPSd4bWxQYXJzZXJTZXZlcml0aWVzJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1BBUlNFUl9TRVZFUklUWV9WQUxJRElUWV9XQVJOSU5HJyBmaWxlPSd4bWxyZWFkZXInIHZhbHVlPScxJyB0eXBlPSd4bWxQYXJzZXJTZXZlcml0aWVzJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1BBUlNFUl9TRVZFUklUWV9XQVJOSU5HJyBmaWxlPSd4bWxyZWFkZXInIHZhbHVlPSczJyB0eXBlPSd4bWxQYXJzZXJTZXZlcml0aWVzJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1BBUlNFUl9TVEFSVCcgZmlsZT0ncGFyc2VyJyB2YWx1ZT0nMCcgdHlwZT0neG1sUGFyc2VySW5wdXRTdGF0ZScgaW5mbz0nbm90aGluZyBoYXMgYmVlbiBwYXJzZWQnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUEFSU0VSX1NUQVJUX1RBRycgZmlsZT0ncGFyc2VyJyB2YWx1ZT0nNicgdHlwZT0neG1sUGFyc2VySW5wdXRTdGF0ZScgaW5mbz0nd2l0aGluIGEgc3RhcnQgdGFnJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1BBUlNFUl9TVUJTVF9FTlRJVElFUycgZmlsZT0neG1scmVhZGVyJyB2YWx1ZT0nNCcgdHlwZT0neG1sUGFyc2VyUHJvcGVydGllcycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9QQVJTRVJfU1lTVEVNX0xJVEVSQUwnIGZpbGU9J3BhcnNlcicgdmFsdWU9JzEzJyB0eXBlPSd4bWxQYXJzZXJJbnB1dFN0YXRlJyBpbmZvPSd3aXRoaW4gYSBTWVNURU0gdmFsdWUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUEFSU0VSX1ZBTElEQVRFJyBmaWxlPSd4bWxyZWFkZXInIHZhbHVlPSczJyB0eXBlPSd4bWxQYXJzZXJQcm9wZXJ0aWVzJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1BBUlNFX0JJR19MSU5FUycgZmlsZT0ncGFyc2VyJyB2YWx1ZT0nNDE5NDMwNCcgdHlwZT0neG1sUGFyc2VyT3B0aW9uJyBpbmZvPScgU3RvcmUgYmlnIGxpbmVzIG51bWJlcnMgaW4gdGV4dCBQU1ZJIGZpZWxkJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1BBUlNFX0NPTVBBQ1QnIGZpbGU9J3BhcnNlcicgdmFsdWU9JzY1NTM2JyB0eXBlPSd4bWxQYXJzZXJPcHRpb24nIGluZm89J2NvbXBhY3Qgc21hbGwgdGV4dCBub2Rlczsgbm8gbW9kaWZpY2F0aW9uIG9mCit0aGUgdHJlZSBhbGxvd2VkIGFmdGVyd2FyZHMgKHdpbGwgcG9zc2libHkKK2NyYXNoIGlmIHlvdSB0cnkgdG8gbW9kaWZ5IHRoZSB0cmVlKScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9QQVJTRV9ET00nIGZpbGU9J3BhcnNlcicgdmFsdWU9JzEnIHR5cGU9J3htbFBhcnNlck1vZGUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUEFSU0VfRFREQVRUUicgZmlsZT0ncGFyc2VyJyB2YWx1ZT0nOCcgdHlwZT0neG1sUGFyc2VyT3B0aW9uJyBpbmZvPSdkZWZhdWx0IERURCBhdHRyaWJ1dGVzJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1BBUlNFX0RURExPQUQnIGZpbGU9J3BhcnNlcicgdmFsdWU9JzQnIHR5cGU9J3htbFBhcnNlck9wdGlvbicgaW5mbz0nbG9hZCB0aGUgZXh0ZXJuYWwgc3Vic2V0Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1BBUlNFX0RURFZBTElEJyBmaWxlPSdwYXJzZXInIHZhbHVlPScxNicgdHlwZT0neG1sUGFyc2VyT3B0aW9uJyBpbmZvPSd2YWxpZGF0ZSB3aXRoIHRoZSBEVEQnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUEFSU0VfSFVHRScgZmlsZT0ncGFyc2VyJyB2YWx1ZT0nNTI0Mjg4JyB0eXBlPSd4bWxQYXJzZXJPcHRpb24nIGluZm89J3JlbGF4IGFueSBoYXJkY29kZWQgbGltaXQgZnJvbSB0aGUgcGFyc2VyJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1BBUlNFX0lHTk9SRV9FTkMnIGZpbGU9J3BhcnNlcicgdmFsdWU9JzIwOTcxNTInIHR5cGU9J3htbFBhcnNlck9wdGlvbicgaW5mbz0naWdub3JlIGludGVybmFsIGRvY3VtZW50IGVuY29kaW5nIGhpbnQnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUEFSU0VfTk9CQVNFRklYJyBmaWxlPSdwYXJzZXInIHZhbHVlPScyNjIxNDQnIHR5cGU9J3htbFBhcnNlck9wdGlvbicgaW5mbz0nZG8gbm90IGZpeHVwIFhJTkNMVURFIHhtbDpiYXNlIHVyaXMnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUEFSU0VfTk9CTEFOS1MnIGZpbGU9J3BhcnNlcicgdmFsdWU9JzI1NicgdHlwZT0neG1sUGFyc2VyT3B0aW9uJyBpbmZvPSdyZW1vdmUgYmxhbmsgbm9kZXMnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUEFSU0VfTk9DREFUQScgZmlsZT0ncGFyc2VyJyB2YWx1ZT0nMTYzODQnIHR5cGU9J3htbFBhcnNlck9wdGlvbicgaW5mbz0nbWVyZ2UgQ0RBVEEgYXMgdGV4dCBub2RlcycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9QQVJTRV9OT0RJQ1QnIGZpbGU9J3BhcnNlcicgdmFsdWU9JzQwOTYnIHR5cGU9J3htbFBhcnNlck9wdGlvbicgaW5mbz0nRG8gbm90IHJldXNlIHRoZSBjb250ZXh0IGRpY3Rpb25uYXJ5Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1BBUlNFX05PRU5UJyBmaWxlPSdwYXJzZXInIHZhbHVlPScyJyB0eXBlPSd4bWxQYXJzZXJPcHRpb24nIGluZm89J3N1YnN0aXR1dGUgZW50aXRpZXMnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUEFSU0VfTk9FUlJPUicgZmlsZT0ncGFyc2VyJyB2YWx1ZT0nMzInIHR5cGU9J3htbFBhcnNlck9wdGlvbicgaW5mbz0nc3VwcHJlc3MgZXJyb3IgcmVwb3J0cycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9QQVJTRV9OT05FVCcgZmlsZT0ncGFyc2VyJyB2YWx1ZT0nMjA0OCcgdHlwZT0neG1sUGFyc2VyT3B0aW9uJyBpbmZvPSdGb3JiaWQgbmV0d29yayBhY2Nlc3MnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUEFSU0VfTk9XQVJOSU5HJyBmaWxlPSdwYXJzZXInIHZhbHVlPSc2NCcgdHlwZT0neG1sUGFyc2VyT3B0aW9uJyBpbmZvPSdzdXBwcmVzcyB3YXJuaW5nIHJlcG9ydHMnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUEFSU0VfTk9YSU5DTk9ERScgZmlsZT0ncGFyc2VyJyB2YWx1ZT0nMzI3NjgnIHR5cGU9J3htbFBhcnNlck9wdGlvbicgaW5mbz0nZG8gbm90IGdlbmVyYXRlIFhJTkNMVURFIFNUQVJUL0VORCBub2RlcycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9QQVJTRV9OU0NMRUFOJyBmaWxlPSdwYXJzZXInIHZhbHVlPSc4MTkyJyB0eXBlPSd4bWxQYXJzZXJPcHRpb24nIGluZm89J3JlbW92ZSByZWR1bmRhbnQgbmFtZXNwYWNlcyBkZWNsYXJhdGlvbnMnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUEFSU0VfT0xEMTAnIGZpbGU9J3BhcnNlcicgdmFsdWU9JzEzMTA3MicgdHlwZT0neG1sUGFyc2VyT3B0aW9uJyBpbmZvPSdwYXJzZSB1c2luZyBYTUwtMS4wIGJlZm9yZSB1cGRhdGUgNScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9QQVJTRV9PTERTQVgnIGZpbGU9J3BhcnNlcicgdmFsdWU9JzEwNDg1NzYnIHR5cGU9J3htbFBhcnNlck9wdGlvbicgaW5mbz0ncGFyc2UgdXNpbmcgU0FYMiBpbnRlcmZhY2UgYmVmb3JlIDIuNy4wJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1BBUlNFX1BFREFOVElDJyBmaWxlPSdwYXJzZXInIHZhbHVlPScxMjgnIHR5cGU9J3htbFBhcnNlck9wdGlvbicgaW5mbz0ncGVkYW50aWMgZXJyb3IgcmVwb3J0aW5nJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1BBUlNFX1BVU0hfRE9NJyBmaWxlPSdwYXJzZXInIHZhbHVlPSczJyB0eXBlPSd4bWxQYXJzZXJNb2RlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1BBUlNFX1BVU0hfU0FYJyBmaWxlPSdwYXJzZXInIHZhbHVlPSc0JyB0eXBlPSd4bWxQYXJzZXJNb2RlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1BBUlNFX1JFQURFUicgZmlsZT0ncGFyc2VyJyB2YWx1ZT0nNScgdHlwZT0neG1sUGFyc2VyTW9kZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9QQVJTRV9SRUNPVkVSJyBmaWxlPSdwYXJzZXInIHZhbHVlPScxJyB0eXBlPSd4bWxQYXJzZXJPcHRpb24nIGluZm89J3JlY292ZXIgb24gZXJyb3JzJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1BBUlNFX1NBWCcgZmlsZT0ncGFyc2VyJyB2YWx1ZT0nMicgdHlwZT0neG1sUGFyc2VyTW9kZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9QQVJTRV9TQVgxJyBmaWxlPSdwYXJzZXInIHZhbHVlPSc1MTInIHR5cGU9J3htbFBhcnNlck9wdGlvbicgaW5mbz0ndXNlIHRoZSBTQVgxIGludGVyZmFjZSBpbnRlcm5hbGx5Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1BBUlNFX1VOS05PV04nIGZpbGU9J3BhcnNlcicgdmFsdWU9JzAnIHR5cGU9J3htbFBhcnNlck1vZGUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUEFSU0VfWElOQ0xVREUnIGZpbGU9J3BhcnNlcicgdmFsdWU9JzEwMjQnIHR5cGU9J3htbFBhcnNlck9wdGlvbicgaW5mbz0nSW1wbGVtZW50IFhJbmNsdWRlIHN1YnN0aXRpdGlvbicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9QQVRURVJOX0RFRkFVTFQnIGZpbGU9J3BhdHRlcm4nIHZhbHVlPScwJyB0eXBlPSd4bWxQYXR0ZXJuRmxhZ3MnIGluZm89J3NpbXBsZSBwYXR0ZXJuIG1hdGNoJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1BBVFRFUk5fWFBBVEgnIGZpbGU9J3BhdHRlcm4nIHZhbHVlPScxJyB0eXBlPSd4bWxQYXR0ZXJuRmxhZ3MnIGluZm89J3N0YW5kYXJkIFhQYXRoIHBhdHRlcm4nLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUEFUVEVSTl9YU0ZJRUxEJyBmaWxlPSdwYXR0ZXJuJyB2YWx1ZT0nNCcgdHlwZT0neG1sUGF0dGVybkZsYWdzJyBpbmZvPScgWFBhdGggc3Vic2V0IGZvciBzY2hlbWEgZmllbGQnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUEFUVEVSTl9YU1NFTCcgZmlsZT0ncGF0dGVybicgdmFsdWU9JzInIHR5cGU9J3htbFBhdHRlcm5GbGFncycgaW5mbz0nWFBhdGggc3Vic2V0IGZvciBzY2hlbWEgc2VsZWN0b3InLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUElfTk9ERScgZmlsZT0ndHJlZScgdmFsdWU9JzcnIHR5cGU9J3htbEVsZW1lbnRUeXBlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1JFQURFUl9UWVBFX0FUVFJJQlVURScgZmlsZT0neG1scmVhZGVyJyB2YWx1ZT0nMicgdHlwZT0neG1sUmVhZGVyVHlwZXMnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUkVBREVSX1RZUEVfQ0RBVEEnIGZpbGU9J3htbHJlYWRlcicgdmFsdWU9JzQnIHR5cGU9J3htbFJlYWRlclR5cGVzJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1JFQURFUl9UWVBFX0NPTU1FTlQnIGZpbGU9J3htbHJlYWRlcicgdmFsdWU9JzgnIHR5cGU9J3htbFJlYWRlclR5cGVzJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1JFQURFUl9UWVBFX0RPQ1VNRU5UJyBmaWxlPSd4bWxyZWFkZXInIHZhbHVlPSc5JyB0eXBlPSd4bWxSZWFkZXJUeXBlcycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9SRUFERVJfVFlQRV9ET0NVTUVOVF9GUkFHTUVOVCcgZmlsZT0neG1scmVhZGVyJyB2YWx1ZT0nMTEnIHR5cGU9J3htbFJlYWRlclR5cGVzJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1JFQURFUl9UWVBFX0RPQ1VNRU5UX1RZUEUnIGZpbGU9J3htbHJlYWRlcicgdmFsdWU9JzEwJyB0eXBlPSd4bWxSZWFkZXJUeXBlcycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9SRUFERVJfVFlQRV9FTEVNRU5UJyBmaWxlPSd4bWxyZWFkZXInIHZhbHVlPScxJyB0eXBlPSd4bWxSZWFkZXJUeXBlcycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9SRUFERVJfVFlQRV9FTkRfRUxFTUVOVCcgZmlsZT0neG1scmVhZGVyJyB2YWx1ZT0nMTUnIHR5cGU9J3htbFJlYWRlclR5cGVzJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1JFQURFUl9UWVBFX0VORF9FTlRJVFknIGZpbGU9J3htbHJlYWRlcicgdmFsdWU9JzE2JyB0eXBlPSd4bWxSZWFkZXJUeXBlcycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9SRUFERVJfVFlQRV9FTlRJVFknIGZpbGU9J3htbHJlYWRlcicgdmFsdWU9JzYnIHR5cGU9J3htbFJlYWRlclR5cGVzJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1JFQURFUl9UWVBFX0VOVElUWV9SRUZFUkVOQ0UnIGZpbGU9J3htbHJlYWRlcicgdmFsdWU9JzUnIHR5cGU9J3htbFJlYWRlclR5cGVzJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1JFQURFUl9UWVBFX05PTkUnIGZpbGU9J3htbHJlYWRlcicgdmFsdWU9JzAnIHR5cGU9J3htbFJlYWRlclR5cGVzJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1JFQURFUl9UWVBFX05PVEFUSU9OJyBmaWxlPSd4bWxyZWFkZXInIHZhbHVlPScxMicgdHlwZT0neG1sUmVhZGVyVHlwZXMnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUkVBREVSX1RZUEVfUFJPQ0VTU0lOR19JTlNUUlVDVElPTicgZmlsZT0neG1scmVhZGVyJyB2YWx1ZT0nNycgdHlwZT0neG1sUmVhZGVyVHlwZXMnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUkVBREVSX1RZUEVfU0lHTklGSUNBTlRfV0hJVEVTUEFDRScgZmlsZT0neG1scmVhZGVyJyB2YWx1ZT0nMTQnIHR5cGU9J3htbFJlYWRlclR5cGVzJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1JFQURFUl9UWVBFX1RFWFQnIGZpbGU9J3htbHJlYWRlcicgdmFsdWU9JzMnIHR5cGU9J3htbFJlYWRlclR5cGVzJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1JFQURFUl9UWVBFX1dISVRFU1BBQ0UnIGZpbGU9J3htbHJlYWRlcicgdmFsdWU9JzEzJyB0eXBlPSd4bWxSZWFkZXJUeXBlcycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9SRUFERVJfVFlQRV9YTUxfREVDTEFSQVRJT04nIGZpbGU9J3htbHJlYWRlcicgdmFsdWU9JzE3JyB0eXBlPSd4bWxSZWFkZXJUeXBlcycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9SRUdFWFBfQ09NUElMRV9FUlJPUicgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxNDUwJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUkVMQVhOR1BfQ1JORycgZmlsZT0ncmVsYXhuZycgdmFsdWU9JzInIHR5cGU9J3htbFJlbGF4TkdQYXJzZXJGbGFnJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1JFTEFYTkdQX0ZSRUVfRE9DJyBmaWxlPSdyZWxheG5nJyB2YWx1ZT0nMScgdHlwZT0neG1sUmVsYXhOR1BhcnNlckZsYWcnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUkVMQVhOR1BfTk9ORScgZmlsZT0ncmVsYXhuZycgdmFsdWU9JzAnIHR5cGU9J3htbFJlbGF4TkdQYXJzZXJGbGFnJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1JFTEFYTkdfRVJSX0FUVFJFWFRSQU5TJyBmaWxlPSdyZWxheG5nJyB2YWx1ZT0nMjAnIHR5cGU9J3htbFJlbGF4TkdWYWxpZEVycicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9SRUxBWE5HX0VSUl9BVFRSTkFNRScgZmlsZT0ncmVsYXhuZycgdmFsdWU9JzE0JyB0eXBlPSd4bWxSZWxheE5HVmFsaWRFcnInLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUkVMQVhOR19FUlJfQVRUUk5PTlMnIGZpbGU9J3JlbGF4bmcnIHZhbHVlPScxNicgdHlwZT0neG1sUmVsYXhOR1ZhbGlkRXJyJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1JFTEFYTkdfRVJSX0FUVFJWQUxJRCcgZmlsZT0ncmVsYXhuZycgdmFsdWU9JzI0JyB0eXBlPSd4bWxSZWxheE5HVmFsaWRFcnInLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUkVMQVhOR19FUlJfQVRUUldST05HTlMnIGZpbGU9J3JlbGF4bmcnIHZhbHVlPScxOCcgdHlwZT0neG1sUmVsYXhOR1ZhbGlkRXJyJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1JFTEFYTkdfRVJSX0NPTlRFTlRWQUxJRCcgZmlsZT0ncmVsYXhuZycgdmFsdWU9JzI1JyB0eXBlPSd4bWxSZWxheE5HVmFsaWRFcnInLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUkVMQVhOR19FUlJfREFUQUVMRU0nIGZpbGU9J3JlbGF4bmcnIHZhbHVlPScyOCcgdHlwZT0neG1sUmVsYXhOR1ZhbGlkRXJyJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1JFTEFYTkdfRVJSX0RBVEFUWVBFJyBmaWxlPSdyZWxheG5nJyB2YWx1ZT0nMzEnIHR5cGU9J3htbFJlbGF4TkdWYWxpZEVycicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9SRUxBWE5HX0VSUl9EVVBJRCcgZmlsZT0ncmVsYXhuZycgdmFsdWU9JzQnIHR5cGU9J3htbFJlbGF4TkdWYWxpZEVycicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9SRUxBWE5HX0VSUl9FTEVNRVhUUkFOUycgZmlsZT0ncmVsYXhuZycgdmFsdWU9JzE5JyB0eXBlPSd4bWxSZWxheE5HVmFsaWRFcnInLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUkVMQVhOR19FUlJfRUxFTU5BTUUnIGZpbGU9J3JlbGF4bmcnIHZhbHVlPScxMycgdHlwZT0neG1sUmVsYXhOR1ZhbGlkRXJyJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1JFTEFYTkdfRVJSX0VMRU1OT05TJyBmaWxlPSdyZWxheG5nJyB2YWx1ZT0nMTUnIHR5cGU9J3htbFJlbGF4TkdWYWxpZEVycicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9SRUxBWE5HX0VSUl9FTEVNTk9URU1QVFknIGZpbGU9J3JlbGF4bmcnIHZhbHVlPScyMScgdHlwZT0neG1sUmVsYXhOR1ZhbGlkRXJyJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1JFTEFYTkdfRVJSX0VMRU1XUk9ORycgZmlsZT0ncmVsYXhuZycgdmFsdWU9JzM4JyB0eXBlPSd4bWxSZWxheE5HVmFsaWRFcnInLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUkVMQVhOR19FUlJfRUxFTVdST05HTlMnIGZpbGU9J3JlbGF4bmcnIHZhbHVlPScxNycgdHlwZT0neG1sUmVsYXhOR1ZhbGlkRXJyJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1JFTEFYTkdfRVJSX0VYVFJBQ09OVEVOVCcgZmlsZT0ncmVsYXhuZycgdmFsdWU9JzI2JyB0eXBlPSd4bWxSZWxheE5HVmFsaWRFcnInLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUkVMQVhOR19FUlJfRVhUUkFEQVRBJyBmaWxlPSdyZWxheG5nJyB2YWx1ZT0nMzUnIHR5cGU9J3htbFJlbGF4TkdWYWxpZEVycicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9SRUxBWE5HX0VSUl9JTlRFUkVYVFJBJyBmaWxlPSdyZWxheG5nJyB2YWx1ZT0nMTInIHR5cGU9J3htbFJlbGF4TkdWYWxpZEVycicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9SRUxBWE5HX0VSUl9JTlRFUk5BTCcgZmlsZT0ncmVsYXhuZycgdmFsdWU9JzM3JyB0eXBlPSd4bWxSZWxheE5HVmFsaWRFcnInLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUkVMQVhOR19FUlJfSU5URVJOT0RBVEEnIGZpbGU9J3JlbGF4bmcnIHZhbHVlPScxMCcgdHlwZT0neG1sUmVsYXhOR1ZhbGlkRXJyJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1JFTEFYTkdfRVJSX0lOVEVSU0VRJyBmaWxlPSdyZWxheG5nJyB2YWx1ZT0nMTEnIHR5cGU9J3htbFJlbGF4TkdWYWxpZEVycicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9SRUxBWE5HX0VSUl9JTlZBTElEQVRUUicgZmlsZT0ncmVsYXhuZycgdmFsdWU9JzI3JyB0eXBlPSd4bWxSZWxheE5HVmFsaWRFcnInLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUkVMQVhOR19FUlJfTEFDS0RBVEEnIGZpbGU9J3JlbGF4bmcnIHZhbHVlPSczNicgdHlwZT0neG1sUmVsYXhOR1ZhbGlkRXJyJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1JFTEFYTkdfRVJSX0xJU1QnIGZpbGU9J3JlbGF4bmcnIHZhbHVlPSczMycgdHlwZT0neG1sUmVsYXhOR1ZhbGlkRXJyJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1JFTEFYTkdfRVJSX0xJU1RFTEVNJyBmaWxlPSdyZWxheG5nJyB2YWx1ZT0nMzAnIHR5cGU9J3htbFJlbGF4TkdWYWxpZEVycicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9SRUxBWE5HX0VSUl9MSVNURU1QVFknIGZpbGU9J3JlbGF4bmcnIHZhbHVlPSc5JyB0eXBlPSd4bWxSZWxheE5HVmFsaWRFcnInLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUkVMQVhOR19FUlJfTElTVEVYVFJBJyBmaWxlPSdyZWxheG5nJyB2YWx1ZT0nOCcgdHlwZT0neG1sUmVsYXhOR1ZhbGlkRXJyJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1JFTEFYTkdfRVJSX01FTU9SWScgZmlsZT0ncmVsYXhuZycgdmFsdWU9JzEnIHR5cGU9J3htbFJlbGF4TkdWYWxpZEVycicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9SRUxBWE5HX0VSUl9OT0RFRklORScgZmlsZT0ncmVsYXhuZycgdmFsdWU9JzcnIHR5cGU9J3htbFJlbGF4TkdWYWxpZEVycicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9SRUxBWE5HX0VSUl9OT0VMRU0nIGZpbGU9J3JlbGF4bmcnIHZhbHVlPScyMicgdHlwZT0neG1sUmVsYXhOR1ZhbGlkRXJyJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1JFTEFYTkdfRVJSX05PR1JBTU1BUicgZmlsZT0ncmVsYXhuZycgdmFsdWU9JzM0JyB0eXBlPSd4bWxSZWxheE5HVmFsaWRFcnInLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUkVMQVhOR19FUlJfTk9TVEFURScgZmlsZT0ncmVsYXhuZycgdmFsdWU9JzYnIHR5cGU9J3htbFJlbGF4TkdWYWxpZEVycicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9SRUxBWE5HX0VSUl9OT1RFTEVNJyBmaWxlPSdyZWxheG5nJyB2YWx1ZT0nMjMnIHR5cGU9J3htbFJlbGF4TkdWYWxpZEVycicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9SRUxBWE5HX0VSUl9URVhUV1JPTkcnIGZpbGU9J3JlbGF4bmcnIHZhbHVlPSczOScgdHlwZT0neG1sUmVsYXhOR1ZhbGlkRXJyJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1JFTEFYTkdfRVJSX1RZUEUnIGZpbGU9J3JlbGF4bmcnIHZhbHVlPScyJyB0eXBlPSd4bWxSZWxheE5HVmFsaWRFcnInLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUkVMQVhOR19FUlJfVFlQRUNNUCcgZmlsZT0ncmVsYXhuZycgdmFsdWU9JzUnIHR5cGU9J3htbFJlbGF4TkdWYWxpZEVycicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9SRUxBWE5HX0VSUl9UWVBFVkFMJyBmaWxlPSdyZWxheG5nJyB2YWx1ZT0nMycgdHlwZT0neG1sUmVsYXhOR1ZhbGlkRXJyJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1JFTEFYTkdfRVJSX1ZBTEVMRU0nIGZpbGU9J3JlbGF4bmcnIHZhbHVlPScyOScgdHlwZT0neG1sUmVsYXhOR1ZhbGlkRXJyJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1JFTEFYTkdfRVJSX1ZBTFVFJyBmaWxlPSdyZWxheG5nJyB2YWx1ZT0nMzInIHR5cGU9J3htbFJlbGF4TkdWYWxpZEVycicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9SRUxBWE5HX09LJyBmaWxlPSdyZWxheG5nJyB2YWx1ZT0nMCcgdHlwZT0neG1sUmVsYXhOR1ZhbGlkRXJyJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1JOR1BfQU5ZTkFNRV9BVFRSX0FOQ0VTVE9SJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzEwMDAnIHR5cGU9J3htbFBhcnNlckVycm9ycycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9STkdQX0FUVFJJQlVURV9DSElMRFJFTicgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxMDAyJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzEwMDInLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUk5HUF9BVFRSSUJVVEVfQ09OVEVOVCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxMDAzJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzEwMDMnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUk5HUF9BVFRSSUJVVEVfRU1QVFknIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTAwNCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxMDA0Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1JOR1BfQVRUUklCVVRFX05PT1AnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTAwNScgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxMDA1Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1JOR1BfQVRUUl9DT05GTElDVCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxMDAxJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzEwMDEnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUk5HUF9DSE9JQ0VfQ09OVEVOVCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxMDA2JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzEwMDYnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUk5HUF9DSE9JQ0VfRU1QVFknIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTAwNycgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxMDA3Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1JOR1BfQ1JFQVRFX0ZBSUxVUkUnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTAwOCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxMDA4Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1JOR1BfREFUQV9DT05URU5UJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzEwMDknIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTAwOScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9STkdQX0RFRklORV9DUkVBVEVfRkFJTEVEJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzEwMTEnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTAxMScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9STkdQX0RFRklORV9FTVBUWScgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxMDEyJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzEwMTInLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUk5HUF9ERUZJTkVfTUlTU0lORycgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxMDEzJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzEwMTMnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUk5HUF9ERUZJTkVfTkFNRV9NSVNTSU5HJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzEwMTQnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTAxNCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9STkdQX0RFRl9DSE9JQ0VfQU5EX0lOVEVSTEVBVkUnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTAxMCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxMDEwJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1JOR1BfRUxFTUVOVF9DT05URU5UJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzEwMTgnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTAxOCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9STkdQX0VMRU1FTlRfRU1QVFknIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTAxNycgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxMDE3Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1JOR1BfRUxFTUVOVF9OQU1FJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzEwMTknIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTAxOScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9STkdQX0VMRU1FTlRfTk9fQ09OVEVOVCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxMDIwJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzEwMjAnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUk5HUF9FTEVNX0NPTlRFTlRfRU1QVFknIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTAxNScgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxMDE1Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1JOR1BfRUxFTV9DT05URU5UX0VSUk9SJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzEwMTYnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTAxNicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9STkdQX0VMRU1fVEVYVF9DT05GTElDVCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxMDIxJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzEwMjEnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUk5HUF9FTVBUWScgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxMDIyJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzEwMjInLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUk5HUF9FTVBUWV9DT05TVFJVQ1QnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTAyMycgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxMDIzJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1JOR1BfRU1QVFlfQ09OVEVOVCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxMDI0JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzEwMjQnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUk5HUF9FTVBUWV9OT1RfRU1QVFknIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTAyNScgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxMDI1Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1JOR1BfRVJST1JfVFlQRV9MSUInIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTAyNicgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxMDI2Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1JOR1BfRVhDRVBUX0VNUFRZJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzEwMjcnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTAyNycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9STkdQX0VYQ0VQVF9NSVNTSU5HJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzEwMjgnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTAyOCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9STkdQX0VYQ0VQVF9NVUxUSVBMRScgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxMDI5JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzEwMjknLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUk5HUF9FWENFUFRfTk9fQ09OVEVOVCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxMDMwJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzEwMzAnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUk5HUF9FWFRFUk5BTFJFRl9FTVRQWScgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxMDMxJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzEwMzEnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUk5HUF9FWFRFUk5BTFJFRl9SRUNVUlNFJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzEwMzMnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTAzMycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9STkdQX0VYVEVSTkFMX1JFRl9GQUlMVVJFJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzEwMzInIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTAzMicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9STkdQX0ZPUkJJRERFTl9BVFRSSUJVVEUnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTAzNCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxMDM0Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1JOR1BfRk9SRUlHTl9FTEVNRU5UJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzEwMzUnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTAzNScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9STkdQX0dSQU1NQVJfQ09OVEVOVCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxMDM2JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzEwMzYnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUk5HUF9HUkFNTUFSX0VNUFRZJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzEwMzcnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTAzNycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9STkdQX0dSQU1NQVJfTUlTU0lORycgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxMDM4JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzEwMzgnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUk5HUF9HUkFNTUFSX05PX1NUQVJUJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzEwMzknIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTAzOScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9STkdQX0dST1VQX0FUVFJfQ09ORkxJQ1QnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTA0MCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxMDQwJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1JOR1BfSFJFRl9FUlJPUicgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxMDQxJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzEwNDEnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUk5HUF9JTkNMVURFX0VNUFRZJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzEwNDInIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTA0MicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9STkdQX0lOQ0xVREVfRkFJTFVSRScgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxMDQzJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzEwNDMnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUk5HUF9JTkNMVURFX1JFQ1VSU0UnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTA0NCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxMDQ0Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1JOR1BfSU5URVJMRUFWRV9BREQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTA0NScgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxMDQ1Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1JOR1BfSU5URVJMRUFWRV9DUkVBVEVfRkFJTEVEJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzEwNDYnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTA0NicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9STkdQX0lOVEVSTEVBVkVfRU1QVFknIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTA0NycgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxMDQ3Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1JOR1BfSU5URVJMRUFWRV9OT19DT05URU5UJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzEwNDgnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTA0OCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9STkdQX0lOVkFMSURfREVGSU5FX05BTUUnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTA0OScgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxMDQ5Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1JOR1BfSU5WQUxJRF9VUkknIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTA1MCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxMDUwJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1JOR1BfSU5WQUxJRF9WQUxVRScgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxMDUxJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzEwNTEnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUk5HUF9NSVNTSU5HX0hSRUYnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTA1MicgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxMDUyJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1JOR1BfTkFNRV9NSVNTSU5HJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzEwNTMnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTA1MycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9STkdQX05FRURfQ09NQklORScgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxMDU0JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzEwNTQnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUk5HUF9OT1RBTExPV0VEX05PVF9FTVBUWScgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxMDU1JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzEwNTUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUk5HUF9OU05BTUVfQVRUUl9BTkNFU1RPUicgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxMDU2JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzEwNTYnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUk5HUF9OU05BTUVfTk9fTlMnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTA1NycgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxMDU3Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1JOR1BfUEFSQU1fRk9SQklEREVOJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzEwNTgnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTA1OCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9STkdQX1BBUkFNX05BTUVfTUlTU0lORycgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxMDU5JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzEwNTknLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUk5HUF9QQVJFTlRSRUZfQ1JFQVRFX0ZBSUxFRCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxMDYwJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzEwNjAnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUk5HUF9QQVJFTlRSRUZfTkFNRV9JTlZBTElEJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzEwNjEnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTA2MScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9STkdQX1BBUkVOVFJFRl9OT1RfRU1QVFknIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTA2NCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxMDY0Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1JOR1BfUEFSRU5UUkVGX05PX05BTUUnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTA2MicgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxMDYyJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1JOR1BfUEFSRU5UUkVGX05PX1BBUkVOVCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxMDYzJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzEwNjMnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUk5HUF9QQVJTRV9FUlJPUicgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxMDY1JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzEwNjUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUk5HUF9QQVRfQU5ZTkFNRV9FWENFUFRfQU5ZTkFNRScgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxMDY2JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzEwNjYnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUk5HUF9QQVRfQVRUUl9BVFRSJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzEwNjcnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTA2NycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9STkdQX1BBVF9BVFRSX0VMRU0nIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTA2OCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxMDY4Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1JOR1BfUEFUX0RBVEFfRVhDRVBUX0FUVFInIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTA2OScgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxMDY5Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1JOR1BfUEFUX0RBVEFfRVhDRVBUX0VMRU0nIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTA3MCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxMDcwJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1JOR1BfUEFUX0RBVEFfRVhDRVBUX0VNUFRZJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzEwNzEnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTA3MScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9STkdQX1BBVF9EQVRBX0VYQ0VQVF9HUk9VUCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxMDcyJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzEwNzInLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUk5HUF9QQVRfREFUQV9FWENFUFRfSU5URVJMRUFWRScgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxMDczJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzEwNzMnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUk5HUF9QQVRfREFUQV9FWENFUFRfTElTVCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxMDc0JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzEwNzQnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUk5HUF9QQVRfREFUQV9FWENFUFRfT05FTU9SRScgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxMDc1JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzEwNzUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUk5HUF9QQVRfREFUQV9FWENFUFRfUkVGJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzEwNzYnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTA3NicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9STkdQX1BBVF9EQVRBX0VYQ0VQVF9URVhUJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzEwNzcnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTA3NycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9STkdQX1BBVF9MSVNUX0FUVFInIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTA3OCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxMDc4Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1JOR1BfUEFUX0xJU1RfRUxFTScgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxMDc5JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzEwNzknLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUk5HUF9QQVRfTElTVF9JTlRFUkxFQVZFJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzEwODAnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTA4MCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9STkdQX1BBVF9MSVNUX0xJU1QnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTA4MScgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxMDgxJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1JOR1BfUEFUX0xJU1RfUkVGJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzEwODInIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTA4MicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9STkdQX1BBVF9MSVNUX1RFWFQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTA4MycgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxMDgzJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1JOR1BfUEFUX05TTkFNRV9FWENFUFRfQU5ZTkFNRScgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxMDg0JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzEwODQnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUk5HUF9QQVRfTlNOQU1FX0VYQ0VQVF9OU05BTUUnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTA4NScgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxMDg1Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1JOR1BfUEFUX09ORU1PUkVfR1JPVVBfQVRUUicgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxMDg2JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzEwODYnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUk5HUF9QQVRfT05FTU9SRV9JTlRFUkxFQVZFX0FUVFInIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTA4NycgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxMDg3Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1JOR1BfUEFUX1NUQVJUX0FUVFInIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTA4OCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxMDg4Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1JOR1BfUEFUX1NUQVJUX0RBVEEnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTA4OScgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxMDg5Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1JOR1BfUEFUX1NUQVJUX0VNUFRZJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzEwOTAnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTA5MCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9STkdQX1BBVF9TVEFSVF9HUk9VUCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxMDkxJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzEwOTEnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUk5HUF9QQVRfU1RBUlRfSU5URVJMRUFWRScgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxMDkyJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzEwOTInLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUk5HUF9QQVRfU1RBUlRfTElTVCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxMDkzJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzEwOTMnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUk5HUF9QQVRfU1RBUlRfT05FTU9SRScgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxMDk0JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzEwOTQnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUk5HUF9QQVRfU1RBUlRfVEVYVCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxMDk1JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzEwOTUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUk5HUF9QQVRfU1RBUlRfVkFMVUUnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTA5NicgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxMDk2Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1JOR1BfUFJFRklYX1VOREVGSU5FRCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxMDk3JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzEwOTcnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUk5HUF9SRUZfQ1JFQVRFX0ZBSUxFRCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxMDk4JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzEwOTgnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUk5HUF9SRUZfQ1lDTEUnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTA5OScgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxMDk5Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1JOR1BfUkVGX05BTUVfSU5WQUxJRCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxMTAwJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzExMDAnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUk5HUF9SRUZfTk9UX0VNUFRZJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzExMDMnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTEwMycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9STkdQX1JFRl9OT19ERUYnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTEwMScgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxMTAxJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1JOR1BfUkVGX05PX05BTUUnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTEwMicgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxMTAyJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1JOR1BfU1RBUlRfQ0hPSUNFX0FORF9JTlRFUkxFQVZFJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzExMDQnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTEwNCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9STkdQX1NUQVJUX0NPTlRFTlQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTEwNScgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxMTA1Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1JOR1BfU1RBUlRfRU1QVFknIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTEwNicgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxMTA2Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1JOR1BfU1RBUlRfTUlTU0lORycgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxMTA3JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzExMDcnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUk5HUF9URVhUX0VYUEVDVEVEJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzExMDgnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTEwOCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9STkdQX1RFWFRfSEFTX0NISUxEJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzExMDknIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTEwOScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9STkdQX1RZUEVfTUlTU0lORycgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxMTEwJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzExMTAnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUk5HUF9UWVBFX05PVF9GT1VORCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxMTExJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzExMTEnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUk5HUF9UWVBFX1ZBTFVFJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzExMTInIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTExMicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9STkdQX1VOS05PV05fQVRUUklCVVRFJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzExMTMnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTExMycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9STkdQX1VOS05PV05fQ09NQklORScgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxMTE0JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzExMTQnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUk5HUF9VTktOT1dOX0NPTlNUUlVDVCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxMTE1JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzExMTUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUk5HUF9VTktOT1dOX1RZUEVfTElCJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzExMTYnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTExNicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9STkdQX1VSSV9GUkFHTUVOVCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxMTE3JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzExMTcnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUk5HUF9VUklfTk9UX0FCU09MVVRFJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzExMTgnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTExOCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9STkdQX1ZBTFVFX0VNUFRZJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzExMTknIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTExOScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9STkdQX1ZBTFVFX05PX0NPTlRFTlQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTEyMCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxMTIwJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1JOR1BfWE1MTlNfTkFNRScgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxMTIxJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzExMjEnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfUk5HUF9YTUxfTlMnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTEyMicgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxMTIyJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NBVkVfQVNfSFRNTCcgZmlsZT0neG1sc2F2ZScgdmFsdWU9JzY0JyB0eXBlPSd4bWxTYXZlT3B0aW9uJyBpbmZvPSdmb3JjZSBIVE1MIHNlcmlhbGl6YXRpb24gb24gWE1MIGRvYycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQVZFX0FTX1hNTCcgZmlsZT0neG1sc2F2ZScgdmFsdWU9JzMyJyB0eXBlPSd4bWxTYXZlT3B0aW9uJyBpbmZvPSdmb3JjZSBYTUwgc2VyaWFsaXphdGlvbiBvbiBIVE1MIGRvYycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQVZFX0NIQVJfSU5WQUxJRCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxNDAxJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE0MDEnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0FWRV9GT1JNQVQnIGZpbGU9J3htbHNhdmUnIHZhbHVlPScxJyB0eXBlPSd4bWxTYXZlT3B0aW9uJyBpbmZvPSdmb3JtYXQgc2F2ZSBvdXRwdXQnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0FWRV9OT1RfVVRGOCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxNDAwJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0FWRV9OT19ERUNMJyBmaWxlPSd4bWxzYXZlJyB2YWx1ZT0nMicgdHlwZT0neG1sU2F2ZU9wdGlvbicgaW5mbz0nZHJvcCB0aGUgeG1sIGRlY2xhcmF0aW9uJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NBVkVfTk9fRE9DVFlQRScgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxNDAyJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE0MDInLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0FWRV9OT19FTVBUWScgZmlsZT0neG1sc2F2ZScgdmFsdWU9JzQnIHR5cGU9J3htbFNhdmVPcHRpb24nIGluZm89J25vIGVtcHR5IHRhZ3MnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0FWRV9OT19YSFRNTCcgZmlsZT0neG1sc2F2ZScgdmFsdWU9JzgnIHR5cGU9J3htbFNhdmVPcHRpb24nIGluZm89J2Rpc2FibGUgWEhUTUwxIHNwZWNpZmljIHJ1bGVzJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NBVkVfVU5LTk9XTl9FTkNPRElORycgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxNDAzJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE0MDMnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0FWRV9XU05PTlNJRycgZmlsZT0neG1sc2F2ZScgdmFsdWU9JzEyOCcgdHlwZT0neG1sU2F2ZU9wdGlvbicgaW5mbz0nIGZvcm1hdCB3aXRoIG5vbi1zaWduaWZpY2FudCB3aGl0ZXNwYWNlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NBVkVfWEhUTUwnIGZpbGU9J3htbHNhdmUnIHZhbHVlPScxNicgdHlwZT0neG1sU2F2ZU9wdGlvbicgaW5mbz0nZm9yY2UgWEhUTUwxIHNwZWNpZmljIHJ1bGVzJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfQUdfUFJPUFNfQ09SUkVDVCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPSczMDg3JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzMwODYnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BUF9BVFRSRk9STURFRkFVTFRfVkFMVUUnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTcwMScgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxNzAxJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfQVRUUkdSUF9OT05BTUVfTk9SRUYnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTcwMicgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxNzAyJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfQVRUUl9OT05BTUVfTk9SRUYnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTcwMycgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxNzAzJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfQVVfUFJPUFNfQ09SUkVDVCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPSczMDg5JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzMwODgnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BUF9BVV9QUk9QU19DT1JSRUNUXzInIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMzA3OCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSczMDc4Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfQV9QUk9QU19DT1JSRUNUXzInIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMzA3OScgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSczMDc5Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfQV9QUk9QU19DT1JSRUNUXzMnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMzA5MCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSczMDg5Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfQ09NUExFWFRZUEVfTk9OQU1FX05PUkVGJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE3MDQnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTcwNCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX0NPU19BTExfTElNSVRFRCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPSczMDkxJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzMwOTAnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BUF9DT1NfQ1RfRVhURU5EU18xXzEnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMzA2MycgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSczMDYzJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfQ09TX0NUX0VYVEVORFNfMV8yJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzMwODgnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMzA4NycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX0NPU19DVF9FWFRFTkRTXzFfMycgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxODAwJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE4MDAnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BUF9DT1NfU1RfREVSSVZFRF9PS18yXzEnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMzAzMScgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSczMDMxJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfQ09TX1NUX0RFUklWRURfT0tfMl8yJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzMwMzInIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMzAzMicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMV8xJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzMwMTEnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMzAxMScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMV8yJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzMwMTInIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMzAxMicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMV8zXzEnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMzAxMycgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSczMDEzJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18xXzNfMicgZmlsZT0neG1sZXJyb3InIHZhbHVlPSczMDE0JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzMwMTQnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzJfMScgZmlsZT0neG1sZXJyb3InIHZhbHVlPSczMDE1JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzMwMTUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzJfM18xXzEnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMzAxNicgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSczMDE2Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzNfMV8yJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzMwMTcnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMzAxNycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMl8zXzJfMScgZmlsZT0neG1sZXJyb3InIHZhbHVlPSczMDE4JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzMwMTgnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzJfM18yXzInIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMzAxOScgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSczMDE5Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzNfMl8zJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzMwMjAnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMzAyMCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMl8zXzJfNCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPSczMDIxJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzMwMjEnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzJfM18yXzUnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMzAyMicgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSczMDIyJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzEnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMzAyMycgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSczMDIzJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzNfMScgZmlsZT0neG1sZXJyb3InIHZhbHVlPSczMDI0JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzMwMjQnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzNfM18xXzInIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMzAyNScgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSczMDI1Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzNfMl8xJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzMwMjcnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMzAyNycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfM18zXzJfMicgZmlsZT0neG1sZXJyb3InIHZhbHVlPSczMDI2JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzMwMjYnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzNfM18yXzMnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMzAyOCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSczMDI4Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzNfMl80JyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzMwMjknIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMzAyOScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfM18zXzJfNScgZmlsZT0neG1sZXJyb3InIHZhbHVlPSczMDMwJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzMwMzAnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BUF9DT1NfVkFMSURfREVGQVVMVF8xJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzMwNTgnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMzA1OCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX0NPU19WQUxJRF9ERUZBVUxUXzJfMScgZmlsZT0neG1sZXJyb3InIHZhbHVlPSczMDU5JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzMwNTknLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BUF9DT1NfVkFMSURfREVGQVVMVF8yXzJfMScgZmlsZT0neG1sZXJyb3InIHZhbHVlPSczMDYwJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzMwNjAnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BUF9DT1NfVkFMSURfREVGQVVMVF8yXzJfMicgZmlsZT0neG1sZXJyb3InIHZhbHVlPSczMDYxJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzMwNjEnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BUF9DVF9QUk9QU19DT1JSRUNUXzEnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTc4MicgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxNzgyJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfQ1RfUFJPUFNfQ09SUkVDVF8yJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE3ODMnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTc4MycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX0NUX1BST1BTX0NPUlJFQ1RfMycgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxNzg0JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE3ODQnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BUF9DVF9QUk9QU19DT1JSRUNUXzQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTc4NScgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxNzg1Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfQ1RfUFJPUFNfQ09SUkVDVF81JyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE3ODYnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTc4NicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX0NWQ19TSU1QTEVfVFlQRScgZmlsZT0neG1sZXJyb3InIHZhbHVlPSczMDYyJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzMwNjInLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BUF9DX1BST1BTX0NPUlJFQ1QnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMzA4MCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSczMDgwJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfREVGX0FORF9QUkVGSVgnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTc2OCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxNzY4Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfREVSSVZBVElPTl9PS19SRVNUUklDVElPTl8xJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE3ODcnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTc4NycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX0RFUklWQVRJT05fT0tfUkVTVFJJQ1RJT05fMl8xXzEnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTc4OCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxNzg4Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfREVSSVZBVElPTl9PS19SRVNUUklDVElPTl8yXzFfMicgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxNzg5JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE3ODknLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzJfMV8zJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzMwNzcnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMzA3NycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX0RFUklWQVRJT05fT0tfUkVTVFJJQ1RJT05fMl8yJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE3OTAnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTc5MCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX0RFUklWQVRJT05fT0tfUkVTVFJJQ1RJT05fMycgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxNzkxJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE3OTEnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzRfMScgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxNzk3JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE3OTcnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzRfMicgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxNzk4JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE3OTgnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzRfMycgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxNzk5JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE3OTknLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BUF9FTEVNRk9STURFRkFVTFRfVkFMVUUnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTcwNScgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxNzA1Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfRUxFTV9ERUZBVUxUX0ZJWEVEJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE3NTUnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTc1NScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX0VMRU1fTk9OQU1FX05PUkVGJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE3MDYnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTcwNicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX0VYVEVOU0lPTl9OT19CQVNFJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE3MDcnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTcwNycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX0VfUFJPUFNfQ09SUkVDVF8yJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzMwNDUnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMzA0NScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX0VfUFJPUFNfQ09SUkVDVF8zJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzMwNDYnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMzA0NicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX0VfUFJPUFNfQ09SUkVDVF80JyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzMwNDcnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMzA0NycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX0VfUFJPUFNfQ09SUkVDVF81JyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzMwNDgnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMzA0OCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX0VfUFJPUFNfQ09SUkVDVF82JyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzMwNDknIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMzA0OScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX0ZBQ0VUX05PX1ZBTFVFJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE3MDgnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTcwOCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX0ZBSUxFRF9CVUlMRF9JTVBPUlQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTcwOScgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxNzA5Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfRkFJTEVEX0xPQUQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTc1NycgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxNzU3Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfRkFJTEVEX1BBUlNFJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE3NjYnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTc2NicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX0dST1VQX05PTkFNRV9OT1JFRicgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxNzEwJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE3MTAnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BUF9JTVBPUlRfTkFNRVNQQUNFX05PVF9VUkknIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTcxMScgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxNzExJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfSU1QT1JUX1JFREVGSU5FX05TTkFNRScgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxNzEyJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE3MTInLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BUF9JTVBPUlRfU0NIRU1BX05PVF9VUkknIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTcxMycgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxNzEzJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfSU5DTFVERV9TQ0hFTUFfTk9UX1VSSScgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxNzcwJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE3NzAnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BUF9JTkNMVURFX1NDSEVNQV9OT19VUkknIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTc3MScgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxNzcxJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfSU5URVJOQUwnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMzA2OScgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSczMDY5IG5vbi1XM0MnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BUF9JTlRFUlNFQ1RJT05fTk9UX0VYUFJFU1NJQkxFJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE3OTMnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTc5MycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX0lOVkFMSURfQVRUUl9DT01CSU5BVElPTicgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxNzc3JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE3NzcnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BUF9JTlZBTElEX0FUVFJfSU5MSU5FX0NPTUJJTkFUSU9OJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE3NzgnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTc3OCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX0lOVkFMSURfQVRUUl9OQU1FJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE3ODAnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTc4MCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX0lOVkFMSURfQVRUUl9VU0UnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTc3NCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxNzc0Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfSU5WQUxJRF9CT09MRUFOJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE3MTQnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTcxNCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX0lOVkFMSURfRU5VTScgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxNzE1JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE3MTUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BUF9JTlZBTElEX0ZBQ0VUJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE3MTYnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTcxNicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX0lOVkFMSURfRkFDRVRfVkFMVUUnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTcxNycgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxNzE3Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfSU5WQUxJRF9NQVhPQ0NVUlMnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTcxOCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxNzE4Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfSU5WQUxJRF9NSU5PQ0NVUlMnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTcxOScgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxNzE5Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfSU5WQUxJRF9SRUZfQU5EX1NVQlRZUEUnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTcyMCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxNzIwJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfSU5WQUxJRF9XSElURV9TUEFDRScgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxNzIxJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE3MjEnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BUF9NR19QUk9QU19DT1JSRUNUXzEnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMzA3NCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSczMDc0Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfTUdfUFJPUFNfQ09SUkVDVF8yJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzMwNzUnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMzA3NScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX01JU1NJTkdfU0lNUExFVFlQRV9DSElMRCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxNzc5JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE3NzknLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BUF9OT0FUVFJfTk9SRUYnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTcyMicgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxNzIyJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfTk9ST09UJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE3NTknIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTc1OScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX05PVEFUSU9OX05PX05BTUUnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTcyMycgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxNzIzJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfTk9USElOR19UT19QQVJTRScgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxNzU4JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE3NTgnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BUF9OT1RZUEVfTk9SRUYnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTcyNCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxNzI0Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfTk9UX0RFVEVSTUlOSVNUSUMnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMzA3MCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSczMDcwIG5vbi1XM0MnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BUF9OT1RfU0NIRU1BJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE3NzInIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTc3MicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX05PX1hNTE5TJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzMwNTYnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMzA1NicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX05PX1hTSScgZmlsZT0neG1sZXJyb3InIHZhbHVlPSczMDU3JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzMwNTcnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BUF9QUkVGSVhfVU5ERUZJTkVEJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE3MDAnIHR5cGU9J3htbFBhcnNlckVycm9ycycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX1BfUFJPUFNfQ09SUkVDVF8xJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzMwNDInIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMzA0MicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX1BfUFJPUFNfQ09SUkVDVF8yXzEnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMzA0MycgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSczMDQzJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfUF9QUk9QU19DT1JSRUNUXzJfMicgZmlsZT0neG1sZXJyb3InIHZhbHVlPSczMDQ0JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzMwNDQnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BUF9SRUNVUlNJVkUnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTc3NScgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxNzc1Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfUkVERUZJTkVEX0FUVFInIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTc2NCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxNzY0Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfUkVERUZJTkVEX0FUVFJHUk9VUCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxNzYzJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE3NjMnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BUF9SRURFRklORURfRUxFTUVOVCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxNzYyJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE3NjInLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BUF9SRURFRklORURfR1JPVVAnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTc2MCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxNzYwJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfUkVERUZJTkVEX05PVEFUSU9OJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE3NjUnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTc2NScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX1JFREVGSU5FRF9UWVBFJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE3NjEnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTc2MScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX1JFRl9BTkRfQ09OVEVOVCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxNzgxJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE3ODEnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BUF9SRUZfQU5EX1NVQlRZUEUnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTcyNScgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxNzI1Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfUkVHRVhQX0lOVkFMSUQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTc1NicgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxNzU2Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfUkVTVFJJQ1RJT05fTk9OQU1FX05PUkVGJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE3MjYnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTcyNicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX1M0U19BVFRSX0lOVkFMSURfVkFMVUUnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMzAzNycgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSczMDM3Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfUzRTX0FUVFJfTUlTU0lORycgZmlsZT0neG1sZXJyb3InIHZhbHVlPSczMDM2JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzMwMzYnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BUF9TNFNfQVRUUl9OT1RfQUxMT1dFRCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPSczMDM1JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzMwMzUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BUF9TNFNfRUxFTV9NSVNTSU5HJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzMwMzQnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMzAzNCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX1M0U19FTEVNX05PVF9BTExPV0VEJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzMwMzMnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMzAzMycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX1NJTVBMRVRZUEVfTk9OQU1FJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE3MjcnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTcyNycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX1NSQ19BVFRSSUJVVEVfMScgZmlsZT0neG1sZXJyb3InIHZhbHVlPSczMDUxJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzMwNTEnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BUF9TUkNfQVRUUklCVVRFXzInIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMzA1MicgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSczMDUyJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfU1JDX0FUVFJJQlVURV8zXzEnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMzA1MycgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSczMDUzJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfU1JDX0FUVFJJQlVURV8zXzInIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMzA1NCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSczMDU0Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfU1JDX0FUVFJJQlVURV80JyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzMwNTUnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMzA1NScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX1NSQ19BVFRSSUJVVEVfR1JPVVBfMScgZmlsZT0neG1sZXJyb3InIHZhbHVlPSczMDcxJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzMwNzEnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BUF9TUkNfQVRUUklCVVRFX0dST1VQXzInIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMzA3MicgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSczMDcyJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfU1JDX0FUVFJJQlVURV9HUk9VUF8zJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzMwNzMnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMzA3MycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX1NSQ19DVF8xJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzMwNzYnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMzA3NicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX1NSQ19FTEVNRU5UXzEnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMzAzOCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSczMDM4Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfU1JDX0VMRU1FTlRfMl8xJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzMwMzknIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMzAzOScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX1NSQ19FTEVNRU5UXzJfMicgZmlsZT0neG1sZXJyb3InIHZhbHVlPSczMDQwJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzMwNDAnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BUF9TUkNfRUxFTUVOVF8zJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzMwNDEnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMzA0MScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX1NSQ19JTVBPUlQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMzA4MicgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSczMDgyJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfU1JDX0lNUE9SVF8xXzEnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMzA2NCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSczMDY0Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfU1JDX0lNUE9SVF8xXzInIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMzA2NScgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSczMDY1Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfU1JDX0lNUE9SVF8yJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzMwNjYnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMzA2NicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX1NSQ19JTVBPUlRfMl8xJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzMwNjcnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMzA2NycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX1NSQ19JTVBPUlRfMl8yJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzMwNjgnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMzA2OCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX1NSQ19JTVBPUlRfM18xJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE3OTUnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTc5NScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX1NSQ19JTVBPUlRfM18yJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE3OTYnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTc5NicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX1NSQ19JTkNMVURFJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzMwNTAnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMzA1MCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX1NSQ19MSVNUX0lURU1UWVBFX09SX1NJTVBMRVRZUEUnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMzAwNicgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSczMDA2Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfU1JDX1JFREVGSU5FJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzMwODEnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMzA4MScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX1NSQ19SRVNPTFZFJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzMwMDQnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMzAwNCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX1NSQ19SRVNUUklDVElPTl9CQVNFX09SX1NJTVBMRVRZUEUnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMzAwNScgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSczMDA1Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfU1JDX1NJTVBMRV9UWVBFXzEnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMzAwMCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfU1JDX1NJTVBMRV9UWVBFXzInIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMzAwMScgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSczMDAxJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfU1JDX1NJTVBMRV9UWVBFXzMnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMzAwMicgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSczMDAyJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfU1JDX1NJTVBMRV9UWVBFXzQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMzAwMycgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSczMDAzJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfU1JDX1VOSU9OX01FTUJFUlRZUEVTX09SX1NJTVBMRVRZUEVTJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzMwMDcnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMzAwNycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX1NUX1BST1BTX0NPUlJFQ1RfMScgZmlsZT0neG1sZXJyb3InIHZhbHVlPSczMDA4JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzMwMDgnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BUF9TVF9QUk9QU19DT1JSRUNUXzInIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMzAwOScgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSczMDA5Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfU1RfUFJPUFNfQ09SUkVDVF8zJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzMwMTAnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMzAxMCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX1NVUEVSTlVNRVJPVVNfTElTVF9JVEVNX1RZUEUnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTc3NicgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxNzc2Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfVFlQRV9BTkRfU1VCVFlQRScgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxNzI4JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE3MjgnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BUF9VTklPTl9OT1RfRVhQUkVTU0lCTEUnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTc5NCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxNzk0Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfVU5LTk9XTl9BTExfQ0hJTEQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTcyOScgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxNzI5Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfVU5LTk9XTl9BTllBVFRSSUJVVEVfQ0hJTEQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTczMCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxNzMwJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfVU5LTk9XTl9BVFRSR1JQX0NISUxEJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE3MzInIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTczMicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX1VOS05PV05fQVRUUklCVVRFX0dST1VQJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE3MzMnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTczMycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX1VOS05PV05fQVRUUl9DSElMRCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxNzMxJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE3MzEnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BUF9VTktOT1dOX0JBU0VfVFlQRScgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxNzM0JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE3MzQnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BUF9VTktOT1dOX0NIT0lDRV9DSElMRCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxNzM1JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE3MzUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BUF9VTktOT1dOX0NPTVBMRVhDT05URU5UX0NISUxEJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE3MzYnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTczNicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX1VOS05PV05fQ09NUExFWFRZUEVfQ0hJTEQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTczNycgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxNzM3Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfVU5LTk9XTl9FTEVNX0NISUxEJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE3MzgnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTczOCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX1VOS05PV05fRVhURU5TSU9OX0NISUxEJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE3MzknIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTczOScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX1VOS05PV05fRkFDRVRfQ0hJTEQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTc0MCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxNzQwJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfVU5LTk9XTl9GQUNFVF9UWVBFJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE3NDEnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTc0MScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX1VOS05PV05fR1JPVVBfQ0hJTEQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTc0MicgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxNzQyJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfVU5LTk9XTl9JTVBPUlRfQ0hJTEQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTc0MycgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxNzQzJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfVU5LTk9XTl9JTkNMVURFX0NISUxEJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE3NjknIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTc2OScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX1VOS05PV05fTElTVF9DSElMRCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxNzQ0JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE3NDQnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BUF9VTktOT1dOX01FTUJFUl9UWVBFJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE3NzMnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTc3MycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX1VOS05PV05fTk9UQVRJT05fQ0hJTEQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTc0NScgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxNzQ1Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfVU5LTk9XTl9QUkVGSVgnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTc2NycgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxNzY3Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfVU5LTk9XTl9QUk9DRVNTQ09OVEVOVF9DSElMRCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxNzQ2JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE3NDYnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BUF9VTktOT1dOX1JFRicgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxNzQ3JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE3NDcnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BUF9VTktOT1dOX1JFU1RSSUNUSU9OX0NISUxEJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE3NDgnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTc0OCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX1VOS05PV05fU0NIRU1BU19DSElMRCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxNzQ5JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE3NDknLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BUF9VTktOT1dOX1NFUVVFTkNFX0NISUxEJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE3NTAnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTc1MCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX1VOS05PV05fU0lNUExFQ09OVEVOVF9DSElMRCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxNzUxJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE3NTEnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BUF9VTktOT1dOX1NJTVBMRVRZUEVfQ0hJTEQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTc1MicgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxNzUyJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfVU5LTk9XTl9UWVBFJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE3NTMnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTc1MycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX1VOS05PV05fVU5JT05fQ0hJTEQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTc1NCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxNzU0Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVBfV0FSTl9BVFRSX1BPSU5UTEVTU19QUk9IJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzMwODYnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMzA4NScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX1dBUk5fQVRUUl9SRURFQ0xfUFJPSCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPSczMDg1JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzMwODUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BUF9XQVJOX1NLSVBfU0NIRU1BJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzMwODMnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMzA4MycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFQX1dBUk5fVU5MT0NBVEVEX1NDSEVNQScgZmlsZT0neG1sZXJyb3InIHZhbHVlPSczMDg0JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzMwODQnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BUF9XSUxEQ0FSRF9JTlZBTElEX05TX01FTUJFUicgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxNzkyJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE3OTInLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BU19BTllTSU1QTEVUWVBFJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJyB2YWx1ZT0nNDYnIHR5cGU9J3htbFNjaGVtYVZhbFR5cGUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BU19BTllUWVBFJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJyB2YWx1ZT0nNDUnIHR5cGU9J3htbFNjaGVtYVZhbFR5cGUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BU19BTllVUkknIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnIHZhbHVlPScyOScgdHlwZT0neG1sU2NoZW1hVmFsVHlwZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFTX0JBU0U2NEJJTkFSWScgZmlsZT0nc2NoZW1hc0ludGVybmFscycgdmFsdWU9JzQ0JyB0eXBlPSd4bWxTY2hlbWFWYWxUeXBlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVNfQk9PTEVBTicgZmlsZT0nc2NoZW1hc0ludGVybmFscycgdmFsdWU9JzE1JyB0eXBlPSd4bWxTY2hlbWFWYWxUeXBlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVNfQllURScgZmlsZT0nc2NoZW1hc0ludGVybmFscycgdmFsdWU9JzQxJyB0eXBlPSd4bWxTY2hlbWFWYWxUeXBlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVNfREFURScgZmlsZT0nc2NoZW1hc0ludGVybmFscycgdmFsdWU9JzEwJyB0eXBlPSd4bWxTY2hlbWFWYWxUeXBlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVNfREFURVRJTUUnIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnIHZhbHVlPScxMScgdHlwZT0neG1sU2NoZW1hVmFsVHlwZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFTX0RFQ0lNQUwnIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnIHZhbHVlPSczJyB0eXBlPSd4bWxTY2hlbWFWYWxUeXBlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVNfRE9VQkxFJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJyB2YWx1ZT0nMTQnIHR5cGU9J3htbFNjaGVtYVZhbFR5cGUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BU19EVVJBVElPTicgZmlsZT0nc2NoZW1hc0ludGVybmFscycgdmFsdWU9JzEyJyB0eXBlPSd4bWxTY2hlbWFWYWxUeXBlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVNfRU5USVRJRVMnIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnIHZhbHVlPScyNycgdHlwZT0neG1sU2NoZW1hVmFsVHlwZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFTX0VOVElUWScgZmlsZT0nc2NoZW1hc0ludGVybmFscycgdmFsdWU9JzI2JyB0eXBlPSd4bWxTY2hlbWFWYWxUeXBlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVNfRVJSXycgZmlsZT0neG1sc2NoZW1hcycgdmFsdWU9JzI0JyB0eXBlPSd4bWxTY2hlbWFWYWxpZEVycm9yJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVNfRVJSX0FUVFJJTlZBTElEJyBmaWxlPSd4bWxzY2hlbWFzJyB2YWx1ZT0nMjEnIHR5cGU9J3htbFNjaGVtYVZhbGlkRXJyb3InLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BU19FUlJfQVRUUlVOS05PV04nIGZpbGU9J3htbHNjaGVtYXMnIHZhbHVlPScyMCcgdHlwZT0neG1sU2NoZW1hVmFsaWRFcnJvcicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFTX0VSUl9DT05TVFJVQ1QnIGZpbGU9J3htbHNjaGVtYXMnIHZhbHVlPScxNycgdHlwZT0neG1sU2NoZW1hVmFsaWRFcnJvcicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFTX0VSUl9FTEVNQ09OVCcgZmlsZT0neG1sc2NoZW1hcycgdmFsdWU9JzEwJyB0eXBlPSd4bWxTY2hlbWFWYWxpZEVycm9yJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVNfRVJSX0VYVFJBQ09OVEVOVCcgZmlsZT0neG1sc2NoZW1hcycgdmFsdWU9JzEzJyB0eXBlPSd4bWxTY2hlbWFWYWxpZEVycm9yJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVNfRVJSX0ZBQ0VUJyBmaWxlPSd4bWxzY2hlbWFzJyB2YWx1ZT0nMjMnIHR5cGU9J3htbFNjaGVtYVZhbGlkRXJyb3InLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BU19FUlJfSEFWRURFRkFVTFQnIGZpbGU9J3htbHNjaGVtYXMnIHZhbHVlPScxMScgdHlwZT0neG1sU2NoZW1hVmFsaWRFcnJvcicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFTX0VSUl9JTlRFUk5BTCcgZmlsZT0neG1sc2NoZW1hcycgdmFsdWU9JzE4JyB0eXBlPSd4bWxTY2hlbWFWYWxpZEVycm9yJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVNfRVJSX0lOVkFMSURBVFRSJyBmaWxlPSd4bWxzY2hlbWFzJyB2YWx1ZT0nMTQnIHR5cGU9J3htbFNjaGVtYVZhbGlkRXJyb3InLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BU19FUlJfSU5WQUxJREVMRU0nIGZpbGU9J3htbHNjaGVtYXMnIHZhbHVlPScxNScgdHlwZT0neG1sU2NoZW1hVmFsaWRFcnJvcicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFTX0VSUl9JU0FCU1RSQUNUJyBmaWxlPSd4bWxzY2hlbWFzJyB2YWx1ZT0nOCcgdHlwZT0neG1sU2NoZW1hVmFsaWRFcnJvcicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFTX0VSUl9NSVNTSU5HJyBmaWxlPSd4bWxzY2hlbWFzJyB2YWx1ZT0nNCcgdHlwZT0neG1sU2NoZW1hVmFsaWRFcnJvcicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFTX0VSUl9OT1JPTExCQUNLJyBmaWxlPSd4bWxzY2hlbWFzJyB2YWx1ZT0nNycgdHlwZT0neG1sU2NoZW1hVmFsaWRFcnJvcicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFTX0VSUl9OT1JPT1QnIGZpbGU9J3htbHNjaGVtYXMnIHZhbHVlPScxJyB0eXBlPSd4bWxTY2hlbWFWYWxpZEVycm9yJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVNfRVJSX05PVERFVEVSTUlOSVNUJyBmaWxlPSd4bWxzY2hlbWFzJyB2YWx1ZT0nMTYnIHR5cGU9J3htbFNjaGVtYVZhbGlkRXJyb3InLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BU19FUlJfTk9URU1QVFknIGZpbGU9J3htbHNjaGVtYXMnIHZhbHVlPSc5JyB0eXBlPSd4bWxTY2hlbWFWYWxpZEVycm9yJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVNfRVJSX05PVE5JTExBQkxFJyBmaWxlPSd4bWxzY2hlbWFzJyB2YWx1ZT0nMTInIHR5cGU9J3htbFNjaGVtYVZhbGlkRXJyb3InLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BU19FUlJfTk9UU0lNUExFJyBmaWxlPSd4bWxzY2hlbWFzJyB2YWx1ZT0nMTknIHR5cGU9J3htbFNjaGVtYVZhbGlkRXJyb3InLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BU19FUlJfTk9UVE9QTEVWRUwnIGZpbGU9J3htbHNjaGVtYXMnIHZhbHVlPSczJyB0eXBlPSd4bWxTY2hlbWFWYWxpZEVycm9yJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVNfRVJSX05PVFlQRScgZmlsZT0neG1sc2NoZW1hcycgdmFsdWU9JzYnIHR5cGU9J3htbFNjaGVtYVZhbGlkRXJyb3InLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BU19FUlJfT0snIGZpbGU9J3htbHNjaGVtYXMnIHZhbHVlPScwJyB0eXBlPSd4bWxTY2hlbWFWYWxpZEVycm9yJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVNfRVJSX1VOREVDTEFSRURFTEVNJyBmaWxlPSd4bWxzY2hlbWFzJyB2YWx1ZT0nMicgdHlwZT0neG1sU2NoZW1hVmFsaWRFcnJvcicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFTX0VSUl9WQUxVRScgZmlsZT0neG1sc2NoZW1hcycgdmFsdWU9JzIyJyB0eXBlPSd4bWxTY2hlbWFWYWxpZEVycm9yJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVNfRVJSX1dST05HRUxFTScgZmlsZT0neG1sc2NoZW1hcycgdmFsdWU9JzUnIHR5cGU9J3htbFNjaGVtYVZhbGlkRXJyb3InLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BU19FUlJfWFhYJyBmaWxlPSd4bWxzY2hlbWFzJyB2YWx1ZT0nMjUnIHR5cGU9J3htbFNjaGVtYVZhbGlkRXJyb3InLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BU19GTE9BVCcgZmlsZT0nc2NoZW1hc0ludGVybmFscycgdmFsdWU9JzEzJyB0eXBlPSd4bWxTY2hlbWFWYWxUeXBlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVNfR0RBWScgZmlsZT0nc2NoZW1hc0ludGVybmFscycgdmFsdWU9JzUnIHR5cGU9J3htbFNjaGVtYVZhbFR5cGUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BU19HTU9OVEgnIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnIHZhbHVlPSc2JyB0eXBlPSd4bWxTY2hlbWFWYWxUeXBlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVNfR01PTlRIREFZJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJyB2YWx1ZT0nNycgdHlwZT0neG1sU2NoZW1hVmFsVHlwZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFTX0dZRUFSJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJyB2YWx1ZT0nOCcgdHlwZT0neG1sU2NoZW1hVmFsVHlwZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFTX0dZRUFSTU9OVEgnIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnIHZhbHVlPSc5JyB0eXBlPSd4bWxTY2hlbWFWYWxUeXBlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVNfSEVYQklOQVJZJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJyB2YWx1ZT0nNDMnIHR5cGU9J3htbFNjaGVtYVZhbFR5cGUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BU19JRCcgZmlsZT0nc2NoZW1hc0ludGVybmFscycgdmFsdWU9JzIzJyB0eXBlPSd4bWxTY2hlbWFWYWxUeXBlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVNfSURSRUYnIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnIHZhbHVlPScyNCcgdHlwZT0neG1sU2NoZW1hVmFsVHlwZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFTX0lEUkVGUycgZmlsZT0nc2NoZW1hc0ludGVybmFscycgdmFsdWU9JzI1JyB0eXBlPSd4bWxTY2hlbWFWYWxUeXBlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVNfSU5UJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJyB2YWx1ZT0nMzUnIHR5cGU9J3htbFNjaGVtYVZhbFR5cGUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BU19JTlRFR0VSJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJyB2YWx1ZT0nMzAnIHR5cGU9J3htbFNjaGVtYVZhbFR5cGUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BU19MQU5HVUFHRScgZmlsZT0nc2NoZW1hc0ludGVybmFscycgdmFsdWU9JzE3JyB0eXBlPSd4bWxTY2hlbWFWYWxUeXBlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVNfTE9ORycgZmlsZT0nc2NoZW1hc0ludGVybmFscycgdmFsdWU9JzM3JyB0eXBlPSd4bWxTY2hlbWFWYWxUeXBlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVNfTkFNRScgZmlsZT0nc2NoZW1hc0ludGVybmFscycgdmFsdWU9JzIwJyB0eXBlPSd4bWxTY2hlbWFWYWxUeXBlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVNfTkNOQU1FJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJyB2YWx1ZT0nMjInIHR5cGU9J3htbFNjaGVtYVZhbFR5cGUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BU19OSU5URUdFUicgZmlsZT0nc2NoZW1hc0ludGVybmFscycgdmFsdWU9JzMyJyB0eXBlPSd4bWxTY2hlbWFWYWxUeXBlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVNfTk1UT0tFTicgZmlsZT0nc2NoZW1hc0ludGVybmFscycgdmFsdWU9JzE4JyB0eXBlPSd4bWxTY2hlbWFWYWxUeXBlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVNfTk1UT0tFTlMnIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnIHZhbHVlPScxOScgdHlwZT0neG1sU2NoZW1hVmFsVHlwZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFTX05OSU5URUdFUicgZmlsZT0nc2NoZW1hc0ludGVybmFscycgdmFsdWU9JzMzJyB0eXBlPSd4bWxTY2hlbWFWYWxUeXBlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVNfTk9STVNUUklORycgZmlsZT0nc2NoZW1hc0ludGVybmFscycgdmFsdWU9JzInIHR5cGU9J3htbFNjaGVtYVZhbFR5cGUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BU19OT1RBVElPTicgZmlsZT0nc2NoZW1hc0ludGVybmFscycgdmFsdWU9JzI4JyB0eXBlPSd4bWxTY2hlbWFWYWxUeXBlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVNfTlBJTlRFR0VSJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJyB2YWx1ZT0nMzEnIHR5cGU9J3htbFNjaGVtYVZhbFR5cGUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BU19QSU5URUdFUicgZmlsZT0nc2NoZW1hc0ludGVybmFscycgdmFsdWU9JzM0JyB0eXBlPSd4bWxTY2hlbWFWYWxUeXBlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVNfUU5BTUUnIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnIHZhbHVlPScyMScgdHlwZT0neG1sU2NoZW1hVmFsVHlwZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFTX1NIT1JUJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJyB2YWx1ZT0nMzknIHR5cGU9J3htbFNjaGVtYVZhbFR5cGUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BU19TVFJJTkcnIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnIHZhbHVlPScxJyB0eXBlPSd4bWxTY2hlbWFWYWxUeXBlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVNfVElNRScgZmlsZT0nc2NoZW1hc0ludGVybmFscycgdmFsdWU9JzQnIHR5cGU9J3htbFNjaGVtYVZhbFR5cGUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BU19UT0tFTicgZmlsZT0nc2NoZW1hc0ludGVybmFscycgdmFsdWU9JzE2JyB0eXBlPSd4bWxTY2hlbWFWYWxUeXBlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVNfVUJZVEUnIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnIHZhbHVlPSc0MicgdHlwZT0neG1sU2NoZW1hVmFsVHlwZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFTX1VJTlQnIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnIHZhbHVlPSczNicgdHlwZT0neG1sU2NoZW1hVmFsVHlwZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFTX1VMT05HJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJyB2YWx1ZT0nMzgnIHR5cGU9J3htbFNjaGVtYVZhbFR5cGUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BU19VTktOT1dOJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJyB2YWx1ZT0nMCcgdHlwZT0neG1sU2NoZW1hVmFsVHlwZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFTX1VTSE9SVCcgZmlsZT0nc2NoZW1hc0ludGVybmFscycgdmFsdWU9JzQwJyB0eXBlPSd4bWxTY2hlbWFWYWxUeXBlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVRST05WX0FTU0VSVCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPSc0MDAwJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzQwMDAnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BVFJPTlZfUkVQT1JUJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzQwMDEnIHR5cGU9J3htbFBhcnNlckVycm9ycycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFUUk9OX09VVF9CVUZGRVInIGZpbGU9J3NjaGVtYXRyb24nIHZhbHVlPSc1MTInIHR5cGU9J3htbFNjaGVtYXRyb25WYWxpZE9wdGlvbnMnIGluZm89J291dHB1dCB0byBhIGJ1ZmZlcicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFUUk9OX09VVF9FUlJPUicgZmlsZT0nc2NoZW1hdHJvbicgdmFsdWU9JzgnIHR5cGU9J3htbFNjaGVtYXRyb25WYWxpZE9wdGlvbnMnIGluZm89J291dHB1dCB2aWEgeG1sU3RydWN0dXJlZEVycm9yRnVuYycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFUUk9OX09VVF9GSUxFJyBmaWxlPSdzY2hlbWF0cm9uJyB2YWx1ZT0nMjU2JyB0eXBlPSd4bWxTY2hlbWF0cm9uVmFsaWRPcHRpb25zJyBpbmZvPSdvdXRwdXQgdG8gYSBmaWxlIGRlc2NyaXB0b3InLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BVFJPTl9PVVRfSU8nIGZpbGU9J3NjaGVtYXRyb24nIHZhbHVlPScxMDI0JyB0eXBlPSd4bWxTY2hlbWF0cm9uVmFsaWRPcHRpb25zJyBpbmZvPScgb3V0cHV0IHRvIEkvTyBtZWNoYW5pc20nLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BVFJPTl9PVVRfUVVJRVQnIGZpbGU9J3NjaGVtYXRyb24nIHZhbHVlPScxJyB0eXBlPSd4bWxTY2hlbWF0cm9uVmFsaWRPcHRpb25zJyBpbmZvPSdxdWlldCBubyByZXBvcnQnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BVFJPTl9PVVRfVEVYVCcgZmlsZT0nc2NoZW1hdHJvbicgdmFsdWU9JzInIHR5cGU9J3htbFNjaGVtYXRyb25WYWxpZE9wdGlvbnMnIGluZm89J2J1aWxkIGEgdGV4dHVhbCByZXBvcnQnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BVFJPTl9PVVRfWE1MJyBmaWxlPSdzY2hlbWF0cm9uJyB2YWx1ZT0nNCcgdHlwZT0neG1sU2NoZW1hdHJvblZhbGlkT3B0aW9ucycgaW5mbz0nb3V0cHV0IFNWUkwnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BVl9BVFRSSU5WQUxJRCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxODIxJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE4MjEnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BVl9BVFRSVU5LTk9XTicgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxODIwJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE4MjAnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BVl9DT05TVFJVQ1QnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTgxNycgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxODE3Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX0FUVFJJQlVURV8xJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE4NjEnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTg2MScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19BVFRSSUJVVEVfMicgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxODYyJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE4NjInLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BVl9DVkNfQVRUUklCVVRFXzMnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTg2MycgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxODYzJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX0FUVFJJQlVURV80JyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE4NjQnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTg2NCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19BVScgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxODc0JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE4NzQnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzEnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTg3MycgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxODczJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV8yXzEnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTg0MScgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxODQxJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV8yXzInIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTg0MicgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxODQyJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV8yXzMnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTg0MycgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxODQzJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV8yXzQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTg0NCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxODQ0Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV8zXzEnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTg2NScgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxODY1Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV8zXzJfMScgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxODY2JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE4NjYnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzNfMl8yJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE4NjcnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTg2NycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfNCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxODY4JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE4NjgnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzVfMScgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxODY5JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE4NjknLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzVfMicgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxODcwJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE4NzAnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BVl9DVkNfREFUQVRZUEVfVkFMSURfMV8yXzEnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTgyNCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxODI0Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX0RBVEFUWVBFX1ZBTElEXzFfMl8yJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE4MjUnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTgyNScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19EQVRBVFlQRV9WQUxJRF8xXzJfMycgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxODI2JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE4MjYnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BVl9DVkNfRUxUXzEnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTg0NScgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxODQ1Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX0VMVF8yJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE4NDYnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTg0NicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19FTFRfM18xJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE4NDcnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTg0NycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19FTFRfM18yXzEnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTg0OCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxODQ4Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX0VMVF8zXzJfMicgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxODQ5JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE4NDknLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BVl9DVkNfRUxUXzRfMScgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxODUwJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE4NTAnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BVl9DVkNfRUxUXzRfMicgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxODUxJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE4NTEnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BVl9DVkNfRUxUXzRfMycgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxODUyJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE4NTInLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BVl9DVkNfRUxUXzVfMV8xJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE4NTMnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTg1MycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19FTFRfNV8xXzInIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTg1NCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxODU0Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX0VMVF81XzJfMScgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxODU1JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE4NTUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BVl9DVkNfRUxUXzVfMl8yXzEnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTg1NicgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxODU2Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX0VMVF81XzJfMl8yXzEnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTg1NycgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxODU3Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX0VMVF81XzJfMl8yXzInIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTg1OCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxODU4Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX0VMVF82JyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE4NTknIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTg1OScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19FTFRfNycgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxODYwJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE4NjAnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BVl9DVkNfRU5VTUVSQVRJT05fVkFMSUQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTg0MCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxODQwJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX0ZBQ0VUX1ZBTElEJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE4MjknIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTgyOScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19GUkFDVElPTkRJR0lUU19WQUxJRCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxODM4JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE4MzgnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BVl9DVkNfSURDJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE4NzcnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTg3NycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19MRU5HVEhfVkFMSUQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTgzMCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxODMwJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX01BWEVYQ0xVU0lWRV9WQUxJRCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxODM2JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE4MzYnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BVl9DVkNfTUFYSU5DTFVTSVZFX1ZBTElEJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE4MzQnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTgzNCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19NQVhMRU5HVEhfVkFMSUQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTgzMicgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxODMyJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX01JTkVYQ0xVU0lWRV9WQUxJRCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxODM1JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE4MzUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BVl9DVkNfTUlOSU5DTFVTSVZFX1ZBTElEJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE4MzMnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTgzMycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19NSU5MRU5HVEhfVkFMSUQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTgzMScgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxODMxJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX1BBVFRFUk5fVkFMSUQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTgzOScgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxODM5Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX1RPVEFMRElHSVRTX1ZBTElEJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE4MzcnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTgzNycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19UWVBFXzEnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTg3NScgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxODc1Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX1RZUEVfMicgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxODc2JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE4NzYnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BVl9DVkNfVFlQRV8zXzFfMScgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxODI3JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE4MjcnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BVl9DVkNfVFlQRV8zXzFfMicgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxODI4JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE4MjgnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BVl9DVkNfV0lMRENBUkQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTg3OCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxODc4Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVZfRE9DVU1FTlRfRUxFTUVOVF9NSVNTSU5HJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE4NzInIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTg3MicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFWX0VMRU1DT05UJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE4MTAnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTgxMCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFWX0VMRU1FTlRfQ09OVEVOVCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxODcxJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE4NzEnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BVl9FWFRSQUNPTlRFTlQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTgxMycgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxODEzJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVZfRkFDRVQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTgyMycgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxODIzJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVZfSEFWRURFRkFVTFQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTgxMScgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxODExJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVZfSU5URVJOQUwnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTgxOCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxODE4Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVZfSU5WQUxJREFUVFInIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTgxNCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxODE0Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVZfSU5WQUxJREVMRU0nIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTgxNScgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxODE1Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVZfSVNBQlNUUkFDVCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxODA4JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE4MDgnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BVl9NSVNDJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE4NzknIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTg3OScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFWX01JU1NJTkcnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTgwNCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxODA0Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVZfTk9ST0xMQkFDSycgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxODA3JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE4MDcnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BVl9OT1JPT1QnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTgwMScgdHlwZT0neG1sUGFyc2VyRXJyb3JzJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVZfTk9UREVURVJNSU5JU1QnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTgxNicgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxODE2Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVZfTk9URU1QVFknIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTgwOScgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxODA5Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVZfTk9UTklMTEFCTEUnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTgxMicgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxODEyJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQVZfTk9UU0lNUExFJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE4MTknIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTgxOScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFWX05PVFRPUExFVkVMJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE4MDMnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTgwMycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFWX05PVFlQRScgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxODA2JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE4MDYnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BVl9VTkRFQ0xBUkVERUxFTScgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxODAyJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE4MDInLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BVl9WQUxVRScgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxODIyJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE4MjInLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BVl9XUk9OR0VMRU0nIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTgwNScgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxODA1Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQV9DT05URU5UX0FOWScgZmlsZT0nc2NoZW1hc0ludGVybmFscycgdmFsdWU9JzcnIHR5cGU9J3htbFNjaGVtYUNvbnRlbnRUeXBlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQV9DT05URU5UX0JBU0lDJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJyB2YWx1ZT0nNicgdHlwZT0neG1sU2NoZW1hQ29udGVudFR5cGUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BX0NPTlRFTlRfRUxFTUVOVFMnIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnIHZhbHVlPScyJyB0eXBlPSd4bWxTY2hlbWFDb250ZW50VHlwZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFfQ09OVEVOVF9FTVBUWScgZmlsZT0nc2NoZW1hc0ludGVybmFscycgdmFsdWU9JzEnIHR5cGU9J3htbFNjaGVtYUNvbnRlbnRUeXBlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQV9DT05URU5UX01JWEVEJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJyB2YWx1ZT0nMycgdHlwZT0neG1sU2NoZW1hQ29udGVudFR5cGUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BX0NPTlRFTlRfTUlYRURfT1JfRUxFTUVOVFMnIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnIHZhbHVlPSc1JyB0eXBlPSd4bWxTY2hlbWFDb250ZW50VHlwZScgaW5mbz0nT2Jzb2xldGUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BX0NPTlRFTlRfU0lNUExFJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJyB2YWx1ZT0nNCcgdHlwZT0neG1sU2NoZW1hQ29udGVudFR5cGUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BX0NPTlRFTlRfVU5LTk9XTicgZmlsZT0nc2NoZW1hc0ludGVybmFscycgdmFsdWU9JzAnIHR5cGU9J3htbFNjaGVtYUNvbnRlbnRUeXBlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQV9FWFRSQV9BVFRSX1VTRV9QUk9ISUInIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnIHZhbHVlPScyMDAxJyB0eXBlPSd4bWxTY2hlbWFUeXBlVHlwZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFfRVhUUkFfUU5BTUVSRUYnIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnIHZhbHVlPScyMDAwJyB0eXBlPSd4bWxTY2hlbWFUeXBlVHlwZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFfRkFDRVRfRU5VTUVSQVRJT04nIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnIHZhbHVlPScxMDA3JyB0eXBlPSd4bWxTY2hlbWFUeXBlVHlwZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFfRkFDRVRfRlJBQ1RJT05ESUdJVFMnIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnIHZhbHVlPScxMDA1JyB0eXBlPSd4bWxTY2hlbWFUeXBlVHlwZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFfRkFDRVRfTEVOR1RIJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJyB2YWx1ZT0nMTAwOScgdHlwZT0neG1sU2NoZW1hVHlwZVR5cGUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BX0ZBQ0VUX01BWEVYQ0xVU0lWRScgZmlsZT0nc2NoZW1hc0ludGVybmFscycgdmFsdWU9JzEwMDMnIHR5cGU9J3htbFNjaGVtYVR5cGVUeXBlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQV9GQUNFVF9NQVhJTkNMVVNJVkUnIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnIHZhbHVlPScxMDAyJyB0eXBlPSd4bWxTY2hlbWFUeXBlVHlwZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFfRkFDRVRfTUFYTEVOR1RIJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJyB2YWx1ZT0nMTAxMCcgdHlwZT0neG1sU2NoZW1hVHlwZVR5cGUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BX0ZBQ0VUX01JTkVYQ0xVU0lWRScgZmlsZT0nc2NoZW1hc0ludGVybmFscycgdmFsdWU9JzEwMDEnIHR5cGU9J3htbFNjaGVtYVR5cGVUeXBlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQV9GQUNFVF9NSU5JTkNMVVNJVkUnIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnIHZhbHVlPScxMDAwJyB0eXBlPSd4bWxTY2hlbWFUeXBlVHlwZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFfRkFDRVRfTUlOTEVOR1RIJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJyB2YWx1ZT0nMTAxMScgdHlwZT0neG1sU2NoZW1hVHlwZVR5cGUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BX0ZBQ0VUX1BBVFRFUk4nIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnIHZhbHVlPScxMDA2JyB0eXBlPSd4bWxTY2hlbWFUeXBlVHlwZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFfRkFDRVRfVE9UQUxESUdJVFMnIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnIHZhbHVlPScxMDA0JyB0eXBlPSd4bWxTY2hlbWFUeXBlVHlwZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFfRkFDRVRfV0hJVEVTUEFDRScgZmlsZT0nc2NoZW1hc0ludGVybmFscycgdmFsdWU9JzEwMDgnIHR5cGU9J3htbFNjaGVtYVR5cGVUeXBlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQV9UWVBFX0FMTCcgZmlsZT0nc2NoZW1hc0ludGVybmFscycgdmFsdWU9JzgnIHR5cGU9J3htbFNjaGVtYVR5cGVUeXBlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQV9UWVBFX0FOWScgZmlsZT0nc2NoZW1hc0ludGVybmFscycgdmFsdWU9JzInIHR5cGU9J3htbFNjaGVtYVR5cGVUeXBlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQV9UWVBFX0FOWV9BVFRSSUJVVEUnIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnIHZhbHVlPScyMScgdHlwZT0neG1sU2NoZW1hVHlwZVR5cGUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BX1RZUEVfQVRUUklCVVRFJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJyB2YWx1ZT0nMTUnIHR5cGU9J3htbFNjaGVtYVR5cGVUeXBlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQV9UWVBFX0FUVFJJQlVURUdST1VQJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJyB2YWx1ZT0nMTYnIHR5cGU9J3htbFNjaGVtYVR5cGVUeXBlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQV9UWVBFX0FUVFJJQlVURV9VU0UnIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnIHZhbHVlPScyNicgdHlwZT0neG1sU2NoZW1hVHlwZVR5cGUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BX1RZUEVfQkFTSUMnIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnIHZhbHVlPScxJyB0eXBlPSd4bWxTY2hlbWFUeXBlVHlwZScgaW5mbz0nQSBidWlsdC1pbiBkYXRhdHlwZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFfVFlQRV9DSE9JQ0UnIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnIHZhbHVlPSc3JyB0eXBlPSd4bWxTY2hlbWFUeXBlVHlwZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFfVFlQRV9DT01QTEVYJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJyB2YWx1ZT0nNScgdHlwZT0neG1sU2NoZW1hVHlwZVR5cGUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BX1RZUEVfQ09NUExFWF9DT05URU5UJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJyB2YWx1ZT0nMTAnIHR5cGU9J3htbFNjaGVtYVR5cGVUeXBlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQV9UWVBFX0VMRU1FTlQnIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnIHZhbHVlPScxNCcgdHlwZT0neG1sU2NoZW1hVHlwZVR5cGUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BX1RZUEVfRVhURU5TSU9OJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJyB2YWx1ZT0nMTMnIHR5cGU9J3htbFNjaGVtYVR5cGVUeXBlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQV9UWVBFX0ZBQ0VUJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJyB2YWx1ZT0nMycgdHlwZT0neG1sU2NoZW1hVHlwZVR5cGUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BX1RZUEVfR1JPVVAnIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnIHZhbHVlPScxNycgdHlwZT0neG1sU2NoZW1hVHlwZVR5cGUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BX1RZUEVfSURDX0tFWScgZmlsZT0nc2NoZW1hc0ludGVybmFscycgdmFsdWU9JzIzJyB0eXBlPSd4bWxTY2hlbWFUeXBlVHlwZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFfVFlQRV9JRENfS0VZUkVGJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJyB2YWx1ZT0nMjQnIHR5cGU9J3htbFNjaGVtYVR5cGVUeXBlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQV9UWVBFX0lEQ19VTklRVUUnIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnIHZhbHVlPScyMicgdHlwZT0neG1sU2NoZW1hVHlwZVR5cGUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BX1RZUEVfTElTVCcgZmlsZT0nc2NoZW1hc0ludGVybmFscycgdmFsdWU9JzE5JyB0eXBlPSd4bWxTY2hlbWFUeXBlVHlwZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFfVFlQRV9OT1RBVElPTicgZmlsZT0nc2NoZW1hc0ludGVybmFscycgdmFsdWU9JzE4JyB0eXBlPSd4bWxTY2hlbWFUeXBlVHlwZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFfVFlQRV9QQVJUSUNMRScgZmlsZT0nc2NoZW1hc0ludGVybmFscycgdmFsdWU9JzI1JyB0eXBlPSd4bWxTY2hlbWFUeXBlVHlwZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFfVFlQRV9SRVNUUklDVElPTicgZmlsZT0nc2NoZW1hc0ludGVybmFscycgdmFsdWU9JzEyJyB0eXBlPSd4bWxTY2hlbWFUeXBlVHlwZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9TQ0hFTUFfVFlQRV9TRVFVRU5DRScgZmlsZT0nc2NoZW1hc0ludGVybmFscycgdmFsdWU9JzYnIHR5cGU9J3htbFNjaGVtYVR5cGVUeXBlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQV9UWVBFX1NJTVBMRScgZmlsZT0nc2NoZW1hc0ludGVybmFscycgdmFsdWU9JzQnIHR5cGU9J3htbFNjaGVtYVR5cGVUeXBlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQV9UWVBFX1NJTVBMRV9DT05URU5UJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJyB2YWx1ZT0nOScgdHlwZT0neG1sU2NoZW1hVHlwZVR5cGUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BX1RZUEVfVU5JT04nIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnIHZhbHVlPScyMCcgdHlwZT0neG1sU2NoZW1hVHlwZVR5cGUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BX1RZUEVfVVInIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnIHZhbHVlPScxMScgdHlwZT0neG1sU2NoZW1hVHlwZVR5cGUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BX1ZBTF9WQ19JX0NSRUFURScgZmlsZT0neG1sc2NoZW1hcycgdmFsdWU9JzEnIHR5cGU9J3htbFNjaGVtYVZhbGlkT3B0aW9uJyBpbmZvPScgRGVmYXVsdC9maXhlZDogY3JlYXRlIGFuIGF0dHJpYnV0ZSBub2RlCisqIG9yIGFuIGVsZW1lbnQmYXBvcztzIHRleHQgbm9kZSBvbiB0aGUgaW5zdGFuY2UuCisqJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQV9XSElURVNQQUNFX0NPTExBUFNFJyBmaWxlPSd4bWxzY2hlbWFzdHlwZXMnIHZhbHVlPSczJyB0eXBlPSd4bWxTY2hlbWFXaGl0ZXNwYWNlVmFsdWVUeXBlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQV9XSElURVNQQUNFX1BSRVNFUlZFJyBmaWxlPSd4bWxzY2hlbWFzdHlwZXMnIHZhbHVlPScxJyB0eXBlPSd4bWxTY2hlbWFXaGl0ZXNwYWNlVmFsdWVUeXBlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1NDSEVNQV9XSElURVNQQUNFX1JFUExBQ0UnIGZpbGU9J3htbHNjaGVtYXN0eXBlcycgdmFsdWU9JzInIHR5cGU9J3htbFNjaGVtYVdoaXRlc3BhY2VWYWx1ZVR5cGUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfU0NIRU1BX1dISVRFU1BBQ0VfVU5LTk9XTicgZmlsZT0neG1sc2NoZW1hc3R5cGVzJyB2YWx1ZT0nMCcgdHlwZT0neG1sU2NoZW1hV2hpdGVzcGFjZVZhbHVlVHlwZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9URVhUUkVBREVSX01PREVfQ0xPU0VEJyBmaWxlPSd4bWxyZWFkZXInIHZhbHVlPSc0JyB0eXBlPSd4bWxUZXh0UmVhZGVyTW9kZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9URVhUUkVBREVSX01PREVfRU9GJyBmaWxlPSd4bWxyZWFkZXInIHZhbHVlPSczJyB0eXBlPSd4bWxUZXh0UmVhZGVyTW9kZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9URVhUUkVBREVSX01PREVfRVJST1InIGZpbGU9J3htbHJlYWRlcicgdmFsdWU9JzInIHR5cGU9J3htbFRleHRSZWFkZXJNb2RlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1RFWFRSRUFERVJfTU9ERV9JTklUSUFMJyBmaWxlPSd4bWxyZWFkZXInIHZhbHVlPScwJyB0eXBlPSd4bWxUZXh0UmVhZGVyTW9kZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9URVhUUkVBREVSX01PREVfSU5URVJBQ1RJVkUnIGZpbGU9J3htbHJlYWRlcicgdmFsdWU9JzEnIHR5cGU9J3htbFRleHRSZWFkZXJNb2RlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1RFWFRSRUFERVJfTU9ERV9SRUFESU5HJyBmaWxlPSd4bWxyZWFkZXInIHZhbHVlPSc1JyB0eXBlPSd4bWxUZXh0UmVhZGVyTW9kZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9URVhUX05PREUnIGZpbGU9J3RyZWUnIHZhbHVlPSczJyB0eXBlPSd4bWxFbGVtZW50VHlwZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9UUkVFX0lOVkFMSURfREVDJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzEzMDEnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTMwMScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9UUkVFX0lOVkFMSURfSEVYJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzEzMDAnIHR5cGU9J3htbFBhcnNlckVycm9ycycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9UUkVFX05PVF9VVEY4JyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzEzMDMnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTMwMycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9UUkVFX1VOVEVSTUlOQVRFRF9FTlRJVFknIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTMwMicgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxMzAyJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1dBUl9DQVRBTE9HX1BJJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzkzJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzkzJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1dBUl9FTlRJVFlfUkVERUZJTkVEJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzEwNycgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxMDcnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfV0FSX0xBTkdfVkFMVUUnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nOTgnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nOTgnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfV0FSX05TX0NPTFVNTicgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxMDYnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTA2Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1dBUl9OU19VUkknIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nOTknIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nOTknLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfV0FSX05TX1VSSV9SRUxBVElWRScgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxMDAnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTAwJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1dBUl9TUEFDRV9WQUxVRScgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxMDInIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTAyJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1dBUl9VTkRFQ0xBUkVEX0VOVElUWScgZmlsZT0neG1sZXJyb3InIHZhbHVlPScyNycgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScyNycvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9XQVJfVU5LTk9XTl9WRVJTSU9OJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9Jzk3JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89Jzk3Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1dJVEhfQVVUT01BVEEnIGZpbGU9J3BhcnNlcicgdmFsdWU9JzIzJyB0eXBlPSd4bWxGZWF0dXJlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1dJVEhfQzE0TicgZmlsZT0ncGFyc2VyJyB2YWx1ZT0nMTQnIHR5cGU9J3htbEZlYXR1cmUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfV0lUSF9DQVRBTE9HJyBmaWxlPSdwYXJzZXInIHZhbHVlPScxNScgdHlwZT0neG1sRmVhdHVyZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9XSVRIX0RFQlVHJyBmaWxlPSdwYXJzZXInIHZhbHVlPScyOCcgdHlwZT0neG1sRmVhdHVyZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9XSVRIX0RFQlVHX01FTScgZmlsZT0ncGFyc2VyJyB2YWx1ZT0nMjknIHR5cGU9J3htbEZlYXR1cmUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfV0lUSF9ERUJVR19SVU4nIGZpbGU9J3BhcnNlcicgdmFsdWU9JzMwJyB0eXBlPSd4bWxGZWF0dXJlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1dJVEhfRVhQUicgZmlsZT0ncGFyc2VyJyB2YWx1ZT0nMjQnIHR5cGU9J3htbEZlYXR1cmUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfV0lUSF9GVFAnIGZpbGU9J3BhcnNlcicgdmFsdWU9JzknIHR5cGU9J3htbEZlYXR1cmUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfV0lUSF9IVE1MJyBmaWxlPSdwYXJzZXInIHZhbHVlPScxMicgdHlwZT0neG1sRmVhdHVyZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9XSVRIX0hUVFAnIGZpbGU9J3BhcnNlcicgdmFsdWU9JzEwJyB0eXBlPSd4bWxGZWF0dXJlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1dJVEhfSUNPTlYnIGZpbGU9J3BhcnNlcicgdmFsdWU9JzE5JyB0eXBlPSd4bWxGZWF0dXJlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1dJVEhfSUNVJyBmaWxlPSdwYXJzZXInIHZhbHVlPSczMicgdHlwZT0neG1sRmVhdHVyZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9XSVRIX0lTTzg4NTlYJyBmaWxlPSdwYXJzZXInIHZhbHVlPScyMCcgdHlwZT0neG1sRmVhdHVyZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9XSVRIX0xFR0FDWScgZmlsZT0ncGFyc2VyJyB2YWx1ZT0nMTMnIHR5cGU9J3htbEZlYXR1cmUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfV0lUSF9MWk1BJyBmaWxlPSdwYXJzZXInIHZhbHVlPSczMycgdHlwZT0neG1sRmVhdHVyZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9XSVRIX01PRFVMRVMnIGZpbGU9J3BhcnNlcicgdmFsdWU9JzI3JyB0eXBlPSd4bWxGZWF0dXJlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1dJVEhfTk9ORScgZmlsZT0ncGFyc2VyJyB2YWx1ZT0nOTk5OTknIHR5cGU9J3htbEZlYXR1cmUnIGluZm89JyBqdXN0IHRvIGJlIHN1cmUgb2YgYWxsb2NhdGlvbiBzaXplJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1dJVEhfT1VUUFVUJyBmaWxlPSdwYXJzZXInIHZhbHVlPSczJyB0eXBlPSd4bWxGZWF0dXJlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1dJVEhfUEFUVEVSTicgZmlsZT0ncGFyc2VyJyB2YWx1ZT0nNicgdHlwZT0neG1sRmVhdHVyZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9XSVRIX1BVU0gnIGZpbGU9J3BhcnNlcicgdmFsdWU9JzQnIHR5cGU9J3htbEZlYXR1cmUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfV0lUSF9SRUFERVInIGZpbGU9J3BhcnNlcicgdmFsdWU9JzUnIHR5cGU9J3htbEZlYXR1cmUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfV0lUSF9SRUdFWFAnIGZpbGU9J3BhcnNlcicgdmFsdWU9JzIyJyB0eXBlPSd4bWxGZWF0dXJlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1dJVEhfU0FYMScgZmlsZT0ncGFyc2VyJyB2YWx1ZT0nOCcgdHlwZT0neG1sRmVhdHVyZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9XSVRIX1NDSEVNQVMnIGZpbGU9J3BhcnNlcicgdmFsdWU9JzI1JyB0eXBlPSd4bWxGZWF0dXJlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1dJVEhfU0NIRU1BVFJPTicgZmlsZT0ncGFyc2VyJyB2YWx1ZT0nMjYnIHR5cGU9J3htbEZlYXR1cmUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfV0lUSF9USFJFQUQnIGZpbGU9J3BhcnNlcicgdmFsdWU9JzEnIHR5cGU9J3htbEZlYXR1cmUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfV0lUSF9UUkVFJyBmaWxlPSdwYXJzZXInIHZhbHVlPScyJyB0eXBlPSd4bWxGZWF0dXJlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1dJVEhfVU5JQ09ERScgZmlsZT0ncGFyc2VyJyB2YWx1ZT0nMjEnIHR5cGU9J3htbEZlYXR1cmUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfV0lUSF9WQUxJRCcgZmlsZT0ncGFyc2VyJyB2YWx1ZT0nMTEnIHR5cGU9J3htbEZlYXR1cmUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfV0lUSF9XUklURVInIGZpbGU9J3BhcnNlcicgdmFsdWU9JzcnIHR5cGU9J3htbEZlYXR1cmUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfV0lUSF9YSU5DTFVERScgZmlsZT0ncGFyc2VyJyB2YWx1ZT0nMTgnIHR5cGU9J3htbEZlYXR1cmUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfV0lUSF9YUEFUSCcgZmlsZT0ncGFyc2VyJyB2YWx1ZT0nMTYnIHR5cGU9J3htbEZlYXR1cmUnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfV0lUSF9YUFRSJyBmaWxlPSdwYXJzZXInIHZhbHVlPScxNycgdHlwZT0neG1sRmVhdHVyZScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9XSVRIX1pMSUInIGZpbGU9J3BhcnNlcicgdmFsdWU9JzMxJyB0eXBlPSd4bWxGZWF0dXJlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1hJTkNMVURFX0JVSUxEX0ZBSUxFRCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxNjA5JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE2MDknLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfWElOQ0xVREVfREVQUkVDQVRFRF9OUycgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxNjE3JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE2MTcnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfWElOQ0xVREVfRU5EJyBmaWxlPSd0cmVlJyB2YWx1ZT0nMjAnIHR5cGU9J3htbEVsZW1lbnRUeXBlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1hJTkNMVURFX0VOVElUWV9ERUZfTUlTTUFUQ0gnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTYwMicgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxNjAyJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1hJTkNMVURFX0ZBTExCQUNLU19JTl9JTkNMVURFJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE2MTUnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTYxNScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9YSU5DTFVERV9GQUxMQkFDS19OT1RfSU5fSU5DTFVERScgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxNjE2JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE2MTYnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfWElOQ0xVREVfRlJBR01FTlRfSUQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTYxOCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxNjE4Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1hJTkNMVURFX0hSRUZfVVJJJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE2MDUnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTYwNScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9YSU5DTFVERV9JTkNMVURFX0lOX0lOQ0xVREUnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTYxNCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxNjE0Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1hJTkNMVURFX0lOVkFMSURfQ0hBUicgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxNjA4JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE2MDgnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfWElOQ0xVREVfTVVMVElQTEVfUk9PVCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxNjExJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE2MTEnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfWElOQ0xVREVfTk9fRkFMTEJBQ0snIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTYwNCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxNjA0Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1hJTkNMVURFX05PX0hSRUYnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTYwMycgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxNjAzJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1hJTkNMVURFX1BBUlNFX1ZBTFVFJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE2MDEnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTYwMScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9YSU5DTFVERV9SRUNVUlNJT04nIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTYwMCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1hJTkNMVURFX1NUQVJUJyBmaWxlPSd0cmVlJyB2YWx1ZT0nMTknIHR5cGU9J3htbEVsZW1lbnRUeXBlJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1hJTkNMVURFX1RFWFRfRE9DVU1FTlQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTYwNycgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxNjA3Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1hJTkNMVURFX1RFWFRfRlJBR01FTlQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTYwNicgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxNjA2Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1hJTkNMVURFX1VOS05PV05fRU5DT0RJTkcnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTYxMCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxNjEwJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1hJTkNMVURFX1hQVFJfRkFJTEVEJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE2MTInIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTYxMicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9YSU5DTFVERV9YUFRSX1JFU1VMVCcgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxNjEzJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE2MTMnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfWFBBVEhfRU5DT0RJTkdfRVJST1InIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTIyMCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxMjIwJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1hQQVRIX0VYUFJFU1NJT05fT0snIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTIwMCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1hQQVRIX0VYUFJfRVJST1InIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTIwNycgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxMjA3Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1hQQVRIX0lOVkFMSURfQVJJVFknIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTIxMicgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxMjEyJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1hQQVRIX0lOVkFMSURfQ0hBUl9FUlJPUicgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxMjIxJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzEyMjEnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfWFBBVEhfSU5WQUxJRF9DVFhUX1BPU0lUSU9OJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzEyMTQnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTIxNCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9YUEFUSF9JTlZBTElEX0NUWFRfU0laRScgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxMjEzJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzEyMTMnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfWFBBVEhfSU5WQUxJRF9PUEVSQU5EJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzEyMTAnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTIxMCcvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9YUEFUSF9JTlZBTElEX1BSRURJQ0FURV9FUlJPUicgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxMjA2JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzEyMDYnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfWFBBVEhfSU5WQUxJRF9UWVBFJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzEyMTEnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTIxMScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9YUEFUSF9NRU1PUllfRVJST1InIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTIxNScgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxMjE1Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1hQQVRIX05VTUJFUl9FUlJPUicgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxMjAxJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzEyMDEnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfWFBBVEhfU1RBUlRfTElURVJBTF9FUlJPUicgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxMjAzJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzEyMDMnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfWFBBVEhfVU5DTE9TRURfRVJST1InIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTIwOCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxMjA4Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1hQQVRIX1VOREVGX1BSRUZJWF9FUlJPUicgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxMjE5JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzEyMTknLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfWFBBVEhfVU5ERUZfVkFSSUFCTEVfRVJST1InIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTIwNScgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxMjA1Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1hQQVRIX1VORklOSVNIRURfTElURVJBTF9FUlJPUicgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxMjAyJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzEyMDInLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfWFBBVEhfVU5LTk9XTl9GVU5DX0VSUk9SJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzEyMDknIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTIwOScvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9YUEFUSF9WQVJJQUJMRV9SRUZfRVJST1InIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTIwNCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxMjA0Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1hQVFJfQ0hJTERTRVFfU1RBUlQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTkwMScgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxOTAxJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1hQVFJfRVZBTF9GQUlMRUQnIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTkwMicgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxOTAyJy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1hQVFJfRVhUUkFfT0JKRUNUUycgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxOTAzJyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzE5MDMnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfWFBUUl9SRVNPVVJDRV9FUlJPUicgZmlsZT0neG1sZXJyb3InIHZhbHVlPScxMjE3JyB0eXBlPSd4bWxQYXJzZXJFcnJvcnMnIGluZm89JzEyMTcnLz4KKyAgICA8ZW51bSBuYW1lPSdYTUxfWFBUUl9TVUJfUkVTT1VSQ0VfRVJST1InIGZpbGU9J3htbGVycm9yJyB2YWx1ZT0nMTIxOCcgdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPScxMjE4Jy8+CisgICAgPGVudW0gbmFtZT0nWE1MX1hQVFJfU1lOVEFYX0VSUk9SJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzEyMTYnIHR5cGU9J3htbFBhcnNlckVycm9ycycgaW5mbz0nMTIxNicvPgorICAgIDxlbnVtIG5hbWU9J1hNTF9YUFRSX1VOS05PV05fU0NIRU1FJyBmaWxlPSd4bWxlcnJvcicgdmFsdWU9JzE5MDAnIHR5cGU9J3htbFBhcnNlckVycm9ycycvPgorICAgIDxlbnVtIG5hbWU9J1hQQVRIX0JPT0xFQU4nIGZpbGU9J3hwYXRoJyB2YWx1ZT0nMicgdHlwZT0neG1sWFBhdGhPYmplY3RUeXBlJy8+CisgICAgPGVudW0gbmFtZT0nWFBBVEhfRU5DT0RJTkdfRVJST1InIGZpbGU9J3hwYXRoJyB2YWx1ZT0nMjAnIHR5cGU9J3htbFhQYXRoRXJyb3InLz4KKyAgICA8ZW51bSBuYW1lPSdYUEFUSF9FWFBSRVNTSU9OX09LJyBmaWxlPSd4cGF0aCcgdmFsdWU9JzAnIHR5cGU9J3htbFhQYXRoRXJyb3InLz4KKyAgICA8ZW51bSBuYW1lPSdYUEFUSF9FWFBSX0VSUk9SJyBmaWxlPSd4cGF0aCcgdmFsdWU9JzcnIHR5cGU9J3htbFhQYXRoRXJyb3InLz4KKyAgICA8ZW51bSBuYW1lPSdYUEFUSF9GT1JCSURfVkFSSUFCTEVfRVJST1InIGZpbGU9J3hwYXRoJyB2YWx1ZT0nMjQnIHR5cGU9J3htbFhQYXRoRXJyb3InLz4KKyAgICA8ZW51bSBuYW1lPSdYUEFUSF9JTlZBTElEX0FSSVRZJyBmaWxlPSd4cGF0aCcgdmFsdWU9JzEyJyB0eXBlPSd4bWxYUGF0aEVycm9yJy8+CisgICAgPGVudW0gbmFtZT0nWFBBVEhfSU5WQUxJRF9DSEFSX0VSUk9SJyBmaWxlPSd4cGF0aCcgdmFsdWU9JzIxJyB0eXBlPSd4bWxYUGF0aEVycm9yJy8+CisgICAgPGVudW0gbmFtZT0nWFBBVEhfSU5WQUxJRF9DVFhUJyBmaWxlPSd4cGF0aCcgdmFsdWU9JzIyJyB0eXBlPSd4bWxYUGF0aEVycm9yJy8+CisgICAgPGVudW0gbmFtZT0nWFBBVEhfSU5WQUxJRF9DVFhUX1BPU0lUSU9OJyBmaWxlPSd4cGF0aCcgdmFsdWU9JzE0JyB0eXBlPSd4bWxYUGF0aEVycm9yJy8+CisgICAgPGVudW0gbmFtZT0nWFBBVEhfSU5WQUxJRF9DVFhUX1NJWkUnIGZpbGU9J3hwYXRoJyB2YWx1ZT0nMTMnIHR5cGU9J3htbFhQYXRoRXJyb3InLz4KKyAgICA8ZW51bSBuYW1lPSdYUEFUSF9JTlZBTElEX09QRVJBTkQnIGZpbGU9J3hwYXRoJyB2YWx1ZT0nMTAnIHR5cGU9J3htbFhQYXRoRXJyb3InLz4KKyAgICA8ZW51bSBuYW1lPSdYUEFUSF9JTlZBTElEX1BSRURJQ0FURV9FUlJPUicgZmlsZT0neHBhdGgnIHZhbHVlPSc2JyB0eXBlPSd4bWxYUGF0aEVycm9yJy8+CisgICAgPGVudW0gbmFtZT0nWFBBVEhfSU5WQUxJRF9UWVBFJyBmaWxlPSd4cGF0aCcgdmFsdWU9JzExJyB0eXBlPSd4bWxYUGF0aEVycm9yJy8+CisgICAgPGVudW0gbmFtZT0nWFBBVEhfTE9DQVRJT05TRVQnIGZpbGU9J3hwYXRoJyB2YWx1ZT0nNycgdHlwZT0neG1sWFBhdGhPYmplY3RUeXBlJy8+CisgICAgPGVudW0gbmFtZT0nWFBBVEhfTUVNT1JZX0VSUk9SJyBmaWxlPSd4cGF0aCcgdmFsdWU9JzE1JyB0eXBlPSd4bWxYUGF0aEVycm9yJy8+CisgICAgPGVudW0gbmFtZT0nWFBBVEhfTk9ERVNFVCcgZmlsZT0neHBhdGgnIHZhbHVlPScxJyB0eXBlPSd4bWxYUGF0aE9iamVjdFR5cGUnLz4KKyAgICA8ZW51bSBuYW1lPSdYUEFUSF9OVU1CRVInIGZpbGU9J3hwYXRoJyB2YWx1ZT0nMycgdHlwZT0neG1sWFBhdGhPYmplY3RUeXBlJy8+CisgICAgPGVudW0gbmFtZT0nWFBBVEhfTlVNQkVSX0VSUk9SJyBmaWxlPSd4cGF0aCcgdmFsdWU9JzEnIHR5cGU9J3htbFhQYXRoRXJyb3InLz4KKyAgICA8ZW51bSBuYW1lPSdYUEFUSF9QT0lOVCcgZmlsZT0neHBhdGgnIHZhbHVlPSc1JyB0eXBlPSd4bWxYUGF0aE9iamVjdFR5cGUnLz4KKyAgICA8ZW51bSBuYW1lPSdYUEFUSF9SQU5HRScgZmlsZT0neHBhdGgnIHZhbHVlPSc2JyB0eXBlPSd4bWxYUGF0aE9iamVjdFR5cGUnLz4KKyAgICA8ZW51bSBuYW1lPSdYUEFUSF9TVEFDS19FUlJPUicgZmlsZT0neHBhdGgnIHZhbHVlPScyMycgdHlwZT0neG1sWFBhdGhFcnJvcicvPgorICAgIDxlbnVtIG5hbWU9J1hQQVRIX1NUQVJUX0xJVEVSQUxfRVJST1InIGZpbGU9J3hwYXRoJyB2YWx1ZT0nMycgdHlwZT0neG1sWFBhdGhFcnJvcicvPgorICAgIDxlbnVtIG5hbWU9J1hQQVRIX1NUUklORycgZmlsZT0neHBhdGgnIHZhbHVlPSc0JyB0eXBlPSd4bWxYUGF0aE9iamVjdFR5cGUnLz4KKyAgICA8ZW51bSBuYW1lPSdYUEFUSF9VTkNMT1NFRF9FUlJPUicgZmlsZT0neHBhdGgnIHZhbHVlPSc4JyB0eXBlPSd4bWxYUGF0aEVycm9yJy8+CisgICAgPGVudW0gbmFtZT0nWFBBVEhfVU5ERUZJTkVEJyBmaWxlPSd4cGF0aCcgdmFsdWU9JzAnIHR5cGU9J3htbFhQYXRoT2JqZWN0VHlwZScvPgorICAgIDxlbnVtIG5hbWU9J1hQQVRIX1VOREVGX1BSRUZJWF9FUlJPUicgZmlsZT0neHBhdGgnIHZhbHVlPScxOScgdHlwZT0neG1sWFBhdGhFcnJvcicvPgorICAgIDxlbnVtIG5hbWU9J1hQQVRIX1VOREVGX1ZBUklBQkxFX0VSUk9SJyBmaWxlPSd4cGF0aCcgdmFsdWU9JzUnIHR5cGU9J3htbFhQYXRoRXJyb3InLz4KKyAgICA8ZW51bSBuYW1lPSdYUEFUSF9VTkZJTklTSEVEX0xJVEVSQUxfRVJST1InIGZpbGU9J3hwYXRoJyB2YWx1ZT0nMicgdHlwZT0neG1sWFBhdGhFcnJvcicvPgorICAgIDxlbnVtIG5hbWU9J1hQQVRIX1VOS05PV05fRlVOQ19FUlJPUicgZmlsZT0neHBhdGgnIHZhbHVlPSc5JyB0eXBlPSd4bWxYUGF0aEVycm9yJy8+CisgICAgPGVudW0gbmFtZT0nWFBBVEhfVVNFUlMnIGZpbGU9J3hwYXRoJyB2YWx1ZT0nOCcgdHlwZT0neG1sWFBhdGhPYmplY3RUeXBlJy8+CisgICAgPGVudW0gbmFtZT0nWFBBVEhfVkFSSUFCTEVfUkVGX0VSUk9SJyBmaWxlPSd4cGF0aCcgdmFsdWU9JzQnIHR5cGU9J3htbFhQYXRoRXJyb3InLz4KKyAgICA8ZW51bSBuYW1lPSdYUEFUSF9YU0xUX1RSRUUnIGZpbGU9J3hwYXRoJyB2YWx1ZT0nOScgdHlwZT0neG1sWFBhdGhPYmplY3RUeXBlJyBpbmZvPScgQW4gWFNMVCB2YWx1ZSB0cmVlLCBub24gbW9kaWZpYWJsZScvPgorICAgIDxlbnVtIG5hbWU9J1hQVFJfUkVTT1VSQ0VfRVJST1InIGZpbGU9J3hwYXRoJyB2YWx1ZT0nMTcnIHR5cGU9J3htbFhQYXRoRXJyb3InLz4KKyAgICA8ZW51bSBuYW1lPSdYUFRSX1NVQl9SRVNPVVJDRV9FUlJPUicgZmlsZT0neHBhdGgnIHZhbHVlPScxOCcgdHlwZT0neG1sWFBhdGhFcnJvcicvPgorICAgIDxlbnVtIG5hbWU9J1hQVFJfU1lOVEFYX0VSUk9SJyBmaWxlPSd4cGF0aCcgdmFsdWU9JzE2JyB0eXBlPSd4bWxYUGF0aEVycm9yJy8+CisgICAgPHR5cGVkZWYgbmFtZT0nZG9jYkRvY1B0cicgZmlsZT0nRE9DQnBhcnNlcicgdHlwZT0neG1sRG9jUHRyJy8+CisgICAgPHR5cGVkZWYgbmFtZT0nZG9jYlBhcnNlckN0eHQnIGZpbGU9J0RPQ0JwYXJzZXInIHR5cGU9J3htbFBhcnNlckN0eHQnLz4KKyAgICA8dHlwZWRlZiBuYW1lPSdkb2NiUGFyc2VyQ3R4dFB0cicgZmlsZT0nRE9DQnBhcnNlcicgdHlwZT0neG1sUGFyc2VyQ3R4dFB0cicvPgorICAgIDx0eXBlZGVmIG5hbWU9J2RvY2JQYXJzZXJJbnB1dCcgZmlsZT0nRE9DQnBhcnNlcicgdHlwZT0neG1sUGFyc2VySW5wdXQnLz4KKyAgICA8dHlwZWRlZiBuYW1lPSdkb2NiUGFyc2VySW5wdXRQdHInIGZpbGU9J0RPQ0JwYXJzZXInIHR5cGU9J3htbFBhcnNlcklucHV0UHRyJy8+CisgICAgPHR5cGVkZWYgbmFtZT0nZG9jYlNBWEhhbmRsZXInIGZpbGU9J0RPQ0JwYXJzZXInIHR5cGU9J3htbFNBWEhhbmRsZXInLz4KKyAgICA8dHlwZWRlZiBuYW1lPSdkb2NiU0FYSGFuZGxlclB0cicgZmlsZT0nRE9DQnBhcnNlcicgdHlwZT0neG1sU0FYSGFuZGxlclB0cicvPgorICAgIDx0eXBlZGVmIG5hbWU9J2h0bWxEb2NQdHInIGZpbGU9J0hUTUxwYXJzZXInIHR5cGU9J3htbERvY1B0cicvPgorICAgIDxzdHJ1Y3QgbmFtZT0naHRtbEVsZW1EZXNjJyBmaWxlPSdIVE1McGFyc2VyJyB0eXBlPSdzdHJ1Y3QgX2h0bWxFbGVtRGVzYyc+CisgICAgICA8ZmllbGQgbmFtZT0nbmFtZScgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPScgVGhlIHRhZyBuYW1lJy8+CisgICAgICA8ZmllbGQgbmFtZT0nc3RhcnRUYWcnIHR5cGU9J2NoYXInIGluZm89JyBXaGV0aGVyIHRoZSBzdGFydCB0YWcgY2FuIGJlIGltcGxpZWQnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdlbmRUYWcnIHR5cGU9J2NoYXInIGluZm89JyBXaGV0aGVyIHRoZSBlbmQgdGFnIGNhbiBiZSBpbXBsaWVkJy8+CisgICAgICA8ZmllbGQgbmFtZT0nc2F2ZUVuZFRhZycgdHlwZT0nY2hhcicgaW5mbz0nIFdoZXRoZXIgdGhlIGVuZCB0YWcgc2hvdWxkIGJlIHNhdmVkJy8+CisgICAgICA8ZmllbGQgbmFtZT0nZW1wdHknIHR5cGU9J2NoYXInIGluZm89JyBJcyB0aGlzIGFuIGVtcHR5IGVsZW1lbnQgPycvPgorICAgICAgPGZpZWxkIG5hbWU9J2RlcHInIHR5cGU9J2NoYXInIGluZm89JyBJcyB0aGlzIGEgZGVwcmVjYXRlZCBlbGVtZW50ID8nLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdkdGQnIHR5cGU9J2NoYXInIGluZm89JyAxOiBvbmx5IGluIExvb3NlIERURCwgMjogb25seSBGcmFtZXNldCBvbmUnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdpc2lubGluZScgdHlwZT0nY2hhcicgaW5mbz0nIGlzIHRoaXMgYSBibG9jayAwIG9yIGlubGluZSAxIGVsZW1lbnQnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdkZXNjJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89JyB0aGUgZGVzY3JpcHRpb24gTlJLIEphbi4yMDAzCisqIE5ldyBmaWVsZHMgZW5jYXBzdWxhdGluZyBIVE1MIHN0cnVjdHVyZQorKgorKiBCdWdzOgorKglUaGlzIGlzIGEgdmVyeSBsaW1pdGVkIHJlcHJlc2VudGF0aW9uLiAgSXQgZmFpbHMgdG8gdGVsbCB1cyB3aGVuCisqCWFuIGVsZW1lbnQgKnJlcXVpcmVzKiBzdWJlbGVtZW50cyAod2Ugb25seSBoYXZlIHdoZXRoZXIgdGhleSZhcG9zO3JlCisqCWFsbG93ZWQgb3Igbm90KSwgYW5kIGl0IGRvZXNuJmFwb3M7dCB0ZWxsIHVzIHdoZXJlIENEQVRBIGFuZCBQQ0RBVEEKKyoJYXJlIGFsbG93ZWQuICBTb21lIGVsZW1lbnQgcmVsYXRpb25zaGlwcyBhcmUgbm90IGZ1bGx5IHJlcHJlc2VudGVkOgorKgl0aGVzZSBhcmUgZmxhZ2dlZCB3aXRoIHRoZSB3b3JkIE1PRElGSUVSCisqJy8+CisgICAgICA8ZmllbGQgbmFtZT0nc3ViZWx0cycgdHlwZT0nY29uc3QgY2hhciAqKicgaW5mbz0nIGFsbG93ZWQgc3ViLWVsZW1lbnRzIG9mIHRoaXMgZWxlbWVudCcvPgorICAgICAgPGZpZWxkIG5hbWU9J2RlZmF1bHRzdWJlbHQnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0nIHN1YmVsZW1lbnQgZm9yIHN1Z2dlc3RlZCBhdXRvLXJlcGFpcgoraWYgbmVjZXNzYXJ5IG9yIE5VTEwnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdhdHRyc19vcHQnIHR5cGU9J2NvbnN0IGNoYXIgKionIGluZm89JyBPcHRpb25hbCBBdHRyaWJ1dGVzJy8+CisgICAgICA8ZmllbGQgbmFtZT0nYXR0cnNfZGVwcicgdHlwZT0nY29uc3QgY2hhciAqKicgaW5mbz0nIEFkZGl0aW9uYWwgZGVwcmVjYXRlZCBhdHRyaWJ1dGVzJy8+CisgICAgICA8ZmllbGQgbmFtZT0nYXR0cnNfcmVxJyB0eXBlPSdjb25zdCBjaGFyICoqJyBpbmZvPScgUmVxdWlyZWQgYXR0cmlidXRlcycvPgorICAgIDwvc3RydWN0PgorICAgIDx0eXBlZGVmIG5hbWU9J2h0bWxFbGVtRGVzY1B0cicgZmlsZT0nSFRNTHBhcnNlcicgdHlwZT0naHRtbEVsZW1EZXNjIConLz4KKyAgICA8c3RydWN0IG5hbWU9J2h0bWxFbnRpdHlEZXNjJyBmaWxlPSdIVE1McGFyc2VyJyB0eXBlPSdzdHJ1Y3QgX2h0bWxFbnRpdHlEZXNjJz4KKyAgICAgIDxmaWVsZCBuYW1lPSd2YWx1ZScgdHlwZT0ndW5zaWduZWQgaW50JyBpbmZvPScgdGhlIFVOSUNPREUgdmFsdWUgZm9yIHRoZSBjaGFyYWN0ZXInLz4KKyAgICAgIDxmaWVsZCBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89JyBUaGUgZW50aXR5IG5hbWUnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdkZXNjJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89JyB0aGUgZGVzY3JpcHRpb24nLz4KKyAgICA8L3N0cnVjdD4KKyAgICA8dHlwZWRlZiBuYW1lPSdodG1sRW50aXR5RGVzY1B0cicgZmlsZT0nSFRNTHBhcnNlcicgdHlwZT0naHRtbEVudGl0eURlc2MgKicvPgorICAgIDx0eXBlZGVmIG5hbWU9J2h0bWxOb2RlUHRyJyBmaWxlPSdIVE1McGFyc2VyJyB0eXBlPSd4bWxOb2RlUHRyJy8+CisgICAgPHR5cGVkZWYgbmFtZT0naHRtbFBhcnNlckN0eHQnIGZpbGU9J0hUTUxwYXJzZXInIHR5cGU9J3htbFBhcnNlckN0eHQnLz4KKyAgICA8dHlwZWRlZiBuYW1lPSdodG1sUGFyc2VyQ3R4dFB0cicgZmlsZT0nSFRNTHBhcnNlcicgdHlwZT0neG1sUGFyc2VyQ3R4dFB0cicvPgorICAgIDx0eXBlZGVmIG5hbWU9J2h0bWxQYXJzZXJJbnB1dCcgZmlsZT0nSFRNTHBhcnNlcicgdHlwZT0neG1sUGFyc2VySW5wdXQnLz4KKyAgICA8dHlwZWRlZiBuYW1lPSdodG1sUGFyc2VySW5wdXRQdHInIGZpbGU9J0hUTUxwYXJzZXInIHR5cGU9J3htbFBhcnNlcklucHV0UHRyJy8+CisgICAgPHR5cGVkZWYgbmFtZT0naHRtbFBhcnNlck5vZGVJbmZvJyBmaWxlPSdIVE1McGFyc2VyJyB0eXBlPSd4bWxQYXJzZXJOb2RlSW5mbycvPgorICAgIDx0eXBlZGVmIG5hbWU9J2h0bWxQYXJzZXJPcHRpb24nIGZpbGU9J0hUTUxwYXJzZXInIHR5cGU9J2VudW0nLz4KKyAgICA8dHlwZWRlZiBuYW1lPSdodG1sU0FYSGFuZGxlcicgZmlsZT0nSFRNTHBhcnNlcicgdHlwZT0neG1sU0FYSGFuZGxlcicvPgorICAgIDx0eXBlZGVmIG5hbWU9J2h0bWxTQVhIYW5kbGVyUHRyJyBmaWxlPSdIVE1McGFyc2VyJyB0eXBlPSd4bWxTQVhIYW5kbGVyUHRyJy8+CisgICAgPHR5cGVkZWYgbmFtZT0naHRtbFN0YXR1cycgZmlsZT0nSFRNTHBhcnNlcicgdHlwZT0nZW51bScvPgorICAgIDxzdHJ1Y3QgbmFtZT0ndWNvbnZfdCcgZmlsZT0nZW5jb2RpbmcnIHR5cGU9J3N0cnVjdCBfdWNvbnZfdCc+CisgICAgICA8ZmllbGQgbmFtZT0ndWNvbnYnIHR5cGU9J1VDb252ZXJ0ZXIgKicgaW5mbz0nIGZvciBjb252ZXJzaW9uIGJldHdlZW4gYW4gZW5jb2RpbmcgYW5kIFVURi0xNicvPgorICAgICAgPGZpZWxkIG5hbWU9J3V0ZjgnIHR5cGU9J1VDb252ZXJ0ZXIgKicgaW5mbz0nIGZvciBjb252ZXJzaW9uIGJldHdlZW4gVVRGLTggYW5kIFVURi0xNicvPgorICAgIDwvc3RydWN0PgorICAgIDx0eXBlZGVmIG5hbWU9J3hsaW5rQWN0dWF0ZScgZmlsZT0neGxpbmsnIHR5cGU9J2VudW0nLz4KKyAgICA8dHlwZWRlZiBuYW1lPSd4bGlua0hSZWYnIGZpbGU9J3hsaW5rJyB0eXBlPSd4bWxDaGFyIConLz4KKyAgICA8c3RydWN0IG5hbWU9J3hsaW5rSGFuZGxlcicgZmlsZT0neGxpbmsnIHR5cGU9J3N0cnVjdCBfeGxpbmtIYW5kbGVyJz4KKyAgICAgIDxmaWVsZCBuYW1lPSdzaW1wbGUnIHR5cGU9J3hsaW5rU2ltcGxlTGlua0Z1bmsnIGluZm89JycvPgorICAgICAgPGZpZWxkIG5hbWU9J2V4dGVuZGVkJyB0eXBlPSd4bGlua0V4dGVuZGVkTGlua0Z1bmsnIGluZm89JycvPgorICAgICAgPGZpZWxkIG5hbWU9J3NldCcgdHlwZT0neGxpbmtFeHRlbmRlZExpbmtTZXRGdW5rJyBpbmZvPScnLz4KKyAgICA8L3N0cnVjdD4KKyAgICA8dHlwZWRlZiBuYW1lPSd4bGlua0hhbmRsZXJQdHInIGZpbGU9J3hsaW5rJyB0eXBlPSd4bGlua0hhbmRsZXIgKicvPgorICAgIDx0eXBlZGVmIG5hbWU9J3hsaW5rUm9sZScgZmlsZT0neGxpbmsnIHR5cGU9J3htbENoYXIgKicvPgorICAgIDx0eXBlZGVmIG5hbWU9J3hsaW5rU2hvdycgZmlsZT0neGxpbmsnIHR5cGU9J2VudW0nLz4KKyAgICA8dHlwZWRlZiBuYW1lPSd4bGlua1RpdGxlJyBmaWxlPSd4bGluaycgdHlwZT0neG1sQ2hhciAqJy8+CisgICAgPHR5cGVkZWYgbmFtZT0neGxpbmtUeXBlJyBmaWxlPSd4bGluaycgdHlwZT0nZW51bScvPgorICAgIDxzdHJ1Y3QgbmFtZT0neG1sQXR0cicgZmlsZT0ndHJlZScgdHlwZT0nc3RydWN0IF94bWxBdHRyJz4KKyAgICAgIDxmaWVsZCBuYW1lPSdfcHJpdmF0ZScgdHlwZT0ndm9pZCAqJyBpbmZvPScgYXBwbGljYXRpb24gZGF0YScvPgorICAgICAgPGZpZWxkIG5hbWU9J3R5cGUnIHR5cGU9J3htbEVsZW1lbnRUeXBlJyBpbmZvPScgWE1MX0FUVFJJQlVURV9OT0RFLCBtdXN0IGJlIHNlY29uZCAhJy8+CisgICAgICA8ZmllbGQgbmFtZT0nbmFtZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPScgdGhlIG5hbWUgb2YgdGhlIHByb3BlcnR5Jy8+CisgICAgICA8ZmllbGQgbmFtZT0nY2hpbGRyZW4nIHR5cGU9J3N0cnVjdCBfeG1sTm9kZSAqJyBpbmZvPScgdGhlIHZhbHVlIG9mIHRoZSBwcm9wZXJ0eScvPgorICAgICAgPGZpZWxkIG5hbWU9J2xhc3QnIHR5cGU9J3N0cnVjdCBfeG1sTm9kZSAqJyBpbmZvPScgTlVMTCcvPgorICAgICAgPGZpZWxkIG5hbWU9J3BhcmVudCcgdHlwZT0nc3RydWN0IF94bWxOb2RlIConIGluZm89JyBjaGlsZC0mZ3Q7cGFyZW50IGxpbmsnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSduZXh0JyB0eXBlPSdzdHJ1Y3QgX3htbEF0dHIgKicgaW5mbz0nIG5leHQgc2libGluZyBsaW5rICcvPgorICAgICAgPGZpZWxkIG5hbWU9J3ByZXYnIHR5cGU9J3N0cnVjdCBfeG1sQXR0ciAqJyBpbmZvPScgcHJldmlvdXMgc2libGluZyBsaW5rICcvPgorICAgICAgPGZpZWxkIG5hbWU9J2RvYycgdHlwZT0nc3RydWN0IF94bWxEb2MgKicgaW5mbz0nIHRoZSBjb250YWluaW5nIGRvY3VtZW50Jy8+CisgICAgICA8ZmllbGQgbmFtZT0nbnMnIHR5cGU9J3htbE5zIConIGluZm89JyBwb2ludGVyIHRvIHRoZSBhc3NvY2lhdGVkIG5hbWVzcGFjZScvPgorICAgICAgPGZpZWxkIG5hbWU9J2F0eXBlJyB0eXBlPSd4bWxBdHRyaWJ1dGVUeXBlJyBpbmZvPScgdGhlIGF0dHJpYnV0ZSB0eXBlIGlmIHZhbGlkYXRpbmcnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdwc3ZpJyB0eXBlPSd2b2lkIConIGluZm89JyBmb3IgdHlwZS9QU1ZJIGluZm9ybWF0aW9ucycvPgorICAgIDwvc3RydWN0PgorICAgIDx0eXBlZGVmIG5hbWU9J3htbEF0dHJQdHInIGZpbGU9J3RyZWUnIHR5cGU9J3htbEF0dHIgKicvPgorICAgIDxzdHJ1Y3QgbmFtZT0neG1sQXR0cmlidXRlJyBmaWxlPSd0cmVlJyB0eXBlPSdzdHJ1Y3QgX3htbEF0dHJpYnV0ZSc+CisgICAgICA8ZmllbGQgbmFtZT0nX3ByaXZhdGUnIHR5cGU9J3ZvaWQgKicgaW5mbz0nIGFwcGxpY2F0aW9uIGRhdGEnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSd0eXBlJyB0eXBlPSd4bWxFbGVtZW50VHlwZScgaW5mbz0nIFhNTF9BVFRSSUJVVEVfREVDTCwgbXVzdCBiZSBzZWNvbmQgIScvPgorICAgICAgPGZpZWxkIG5hbWU9J25hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nIEF0dHJpYnV0ZSBuYW1lJy8+CisgICAgICA8ZmllbGQgbmFtZT0nY2hpbGRyZW4nIHR5cGU9J3N0cnVjdCBfeG1sTm9kZSAqJyBpbmZvPScgTlVMTCcvPgorICAgICAgPGZpZWxkIG5hbWU9J2xhc3QnIHR5cGU9J3N0cnVjdCBfeG1sTm9kZSAqJyBpbmZvPScgTlVMTCcvPgorICAgICAgPGZpZWxkIG5hbWU9J3BhcmVudCcgdHlwZT0nc3RydWN0IF94bWxEdGQgKicgaW5mbz0nIC0mZ3Q7IERURCcvPgorICAgICAgPGZpZWxkIG5hbWU9J25leHQnIHR5cGU9J3N0cnVjdCBfeG1sTm9kZSAqJyBpbmZvPScgbmV4dCBzaWJsaW5nIGxpbmsgJy8+CisgICAgICA8ZmllbGQgbmFtZT0ncHJldicgdHlwZT0nc3RydWN0IF94bWxOb2RlIConIGluZm89JyBwcmV2aW91cyBzaWJsaW5nIGxpbmsgJy8+CisgICAgICA8ZmllbGQgbmFtZT0nZG9jJyB0eXBlPSdzdHJ1Y3QgX3htbERvYyAqJyBpbmZvPScgdGhlIGNvbnRhaW5pbmcgZG9jdW1lbnQnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSduZXh0aCcgdHlwZT0nc3RydWN0IF94bWxBdHRyaWJ1dGUgKicgaW5mbz0nIG5leHQgaW4gaGFzaCB0YWJsZScvPgorICAgICAgPGZpZWxkIG5hbWU9J2F0eXBlJyB0eXBlPSd4bWxBdHRyaWJ1dGVUeXBlJyBpbmZvPScgVGhlIGF0dHJpYnV0ZSB0eXBlJy8+CisgICAgICA8ZmllbGQgbmFtZT0nZGVmJyB0eXBlPSd4bWxBdHRyaWJ1dGVEZWZhdWx0JyBpbmZvPScgdGhlIGRlZmF1bHQnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdkZWZhdWx0VmFsdWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nIG9yIHRoZSBkZWZhdWx0IHZhbHVlJy8+CisgICAgICA8ZmllbGQgbmFtZT0ndHJlZScgdHlwZT0neG1sRW51bWVyYXRpb25QdHInIGluZm89JyBvciB0aGUgZW51bWVyYXRpb24gdHJlZSBpZiBhbnknLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdwcmVmaXgnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nIHRoZSBuYW1lc3BhY2UgcHJlZml4IGlmIGFueScvPgorICAgICAgPGZpZWxkIG5hbWU9J2VsZW0nIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nIEVsZW1lbnQgaG9sZGluZyB0aGUgYXR0cmlidXRlJy8+CisgICAgPC9zdHJ1Y3Q+CisgICAgPHR5cGVkZWYgbmFtZT0neG1sQXR0cmlidXRlRGVmYXVsdCcgZmlsZT0ndHJlZScgdHlwZT0nZW51bScvPgorICAgIDx0eXBlZGVmIG5hbWU9J3htbEF0dHJpYnV0ZVB0cicgZmlsZT0ndHJlZScgdHlwZT0neG1sQXR0cmlidXRlIConLz4KKyAgICA8c3RydWN0IG5hbWU9J3htbEF0dHJpYnV0ZVRhYmxlJyBmaWxlPSd2YWxpZCcgdHlwZT0nc3RydWN0IF94bWxIYXNoVGFibGUnLz4KKyAgICA8dHlwZWRlZiBuYW1lPSd4bWxBdHRyaWJ1dGVUYWJsZVB0cicgZmlsZT0ndmFsaWQnIHR5cGU9J3htbEF0dHJpYnV0ZVRhYmxlIConLz4KKyAgICA8dHlwZWRlZiBuYW1lPSd4bWxBdHRyaWJ1dGVUeXBlJyBmaWxlPSd0cmVlJyB0eXBlPSdlbnVtJy8+CisgICAgPHN0cnVjdCBuYW1lPSd4bWxBdXRvbWF0YScgZmlsZT0neG1sYXV0b21hdGEnIHR5cGU9J3N0cnVjdCBfeG1sQXV0b21hdGEnLz4KKyAgICA8dHlwZWRlZiBuYW1lPSd4bWxBdXRvbWF0YVB0cicgZmlsZT0neG1sYXV0b21hdGEnIHR5cGU9J3htbEF1dG9tYXRhIConPgorICAgICAgPGluZm8+QSBsaWJ4bWwgYXV0b21hdGEgZGVzY3JpcHRpb24sIEl0IGNhbiBiZSBjb21waWxlZCBpbnRvIGEgcmVnZXhwPC9pbmZvPgorICAgIDwvdHlwZWRlZj4KKyAgICA8c3RydWN0IG5hbWU9J3htbEF1dG9tYXRhU3RhdGUnIGZpbGU9J3htbGF1dG9tYXRhJyB0eXBlPSdzdHJ1Y3QgX3htbEF1dG9tYXRhU3RhdGUnLz4KKyAgICA8dHlwZWRlZiBuYW1lPSd4bWxBdXRvbWF0YVN0YXRlUHRyJyBmaWxlPSd4bWxhdXRvbWF0YScgdHlwZT0neG1sQXV0b21hdGFTdGF0ZSAqJz4KKyAgICAgIDxpbmZvPkEgc3RhdGUgaW50IHRoZSBhdXRvbWF0YSBkZXNjcmlwdGlvbiw8L2luZm8+CisgICAgPC90eXBlZGVmPgorICAgIDxzdHJ1Y3QgbmFtZT0neG1sQnVmJyBmaWxlPSd0cmVlJyB0eXBlPSdzdHJ1Y3QgX3htbEJ1ZicvPgorICAgIDx0eXBlZGVmIG5hbWU9J3htbEJ1ZlB0cicgZmlsZT0ndHJlZScgdHlwZT0neG1sQnVmIConPgorICAgICAgPGluZm8+QSBwb2ludGVyIHRvIGEgYnVmZmVyIHN0cnVjdHVyZSwgdGhlIGFjdHVhbCBzdHJ1Y3R1cmUgaW50ZXJuYWxzIGFyZSBub3QgcHVibGljPC9pbmZvPgorICAgIDwvdHlwZWRlZj4KKyAgICA8c3RydWN0IG5hbWU9J3htbEJ1ZmZlcicgZmlsZT0ndHJlZScgdHlwZT0nc3RydWN0IF94bWxCdWZmZXInPgorICAgICAgPGZpZWxkIG5hbWU9J2NvbnRlbnQnIHR5cGU9J3htbENoYXIgKicgaW5mbz0nIFRoZSBidWZmZXIgY29udGVudCBVVEY4Jy8+CisgICAgICA8ZmllbGQgbmFtZT0ndXNlJyB0eXBlPSd1bnNpZ25lZCBpbnQnIGluZm89JyBUaGUgYnVmZmVyIHNpemUgdXNlZCcvPgorICAgICAgPGZpZWxkIG5hbWU9J3NpemUnIHR5cGU9J3Vuc2lnbmVkIGludCcgaW5mbz0nIFRoZSBidWZmZXIgc2l6ZScvPgorICAgICAgPGZpZWxkIG5hbWU9J2FsbG9jJyB0eXBlPSd4bWxCdWZmZXJBbGxvY2F0aW9uU2NoZW1lJyBpbmZvPScgVGhlIHJlYWxsb2MgbWV0aG9kJy8+CisgICAgICA8ZmllbGQgbmFtZT0nY29udGVudElPJyB0eXBlPSd4bWxDaGFyIConIGluZm89JyBpbiBJTyBtb2RlIHdlIG1heSBoYXZlIGEgZGlmZmVyZW50IGJhc2UnLz4KKyAgICA8L3N0cnVjdD4KKyAgICA8dHlwZWRlZiBuYW1lPSd4bWxCdWZmZXJBbGxvY2F0aW9uU2NoZW1lJyBmaWxlPSd0cmVlJyB0eXBlPSdlbnVtJy8+CisgICAgPHR5cGVkZWYgbmFtZT0neG1sQnVmZmVyUHRyJyBmaWxlPSd0cmVlJyB0eXBlPSd4bWxCdWZmZXIgKicvPgorICAgIDx0eXBlZGVmIG5hbWU9J3htbEMxNE5Nb2RlJyBmaWxlPSdjMTRuJyB0eXBlPSdlbnVtJy8+CisgICAgPHN0cnVjdCBuYW1lPSd4bWxDYXRhbG9nJyBmaWxlPSdjYXRhbG9nJyB0eXBlPSdzdHJ1Y3QgX3htbENhdGFsb2cnLz4KKyAgICA8dHlwZWRlZiBuYW1lPSd4bWxDYXRhbG9nQWxsb3cnIGZpbGU9J2NhdGFsb2cnIHR5cGU9J2VudW0nLz4KKyAgICA8dHlwZWRlZiBuYW1lPSd4bWxDYXRhbG9nUHJlZmVyJyBmaWxlPSdjYXRhbG9nJyB0eXBlPSdlbnVtJy8+CisgICAgPHR5cGVkZWYgbmFtZT0neG1sQ2F0YWxvZ1B0cicgZmlsZT0nY2F0YWxvZycgdHlwZT0neG1sQ2F0YWxvZyAqJy8+CisgICAgPHN0cnVjdCBuYW1lPSd4bWxDaExSYW5nZScgZmlsZT0nY2h2YWxpZCcgdHlwZT0nc3RydWN0IF94bWxDaExSYW5nZSc+CisgICAgICA8ZmllbGQgbmFtZT0nbG93JyB0eXBlPSd1bnNpZ25lZCBpbnQnIGluZm89JycvPgorICAgICAgPGZpZWxkIG5hbWU9J2hpZ2gnIHR5cGU9J3Vuc2lnbmVkIGludCcgaW5mbz0nJy8+CisgICAgPC9zdHJ1Y3Q+CisgICAgPHR5cGVkZWYgbmFtZT0neG1sQ2hMUmFuZ2VQdHInIGZpbGU9J2NodmFsaWQnIHR5cGU9J3htbENoTFJhbmdlIConLz4KKyAgICA8c3RydWN0IG5hbWU9J3htbENoUmFuZ2VHcm91cCcgZmlsZT0nY2h2YWxpZCcgdHlwZT0nc3RydWN0IF94bWxDaFJhbmdlR3JvdXAnPgorICAgICAgPGZpZWxkIG5hbWU9J25iU2hvcnRSYW5nZScgdHlwZT0naW50JyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSduYkxvbmdSYW5nZScgdHlwZT0naW50JyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdzaG9ydFJhbmdlJyB0eXBlPSdjb25zdCB4bWxDaFNSYW5nZSAqJyBpbmZvPScgcG9pbnRzIHRvIGFuIGFycmF5IG9mIHJhbmdlcycvPgorICAgICAgPGZpZWxkIG5hbWU9J2xvbmdSYW5nZScgdHlwZT0nY29uc3QgeG1sQ2hMUmFuZ2UgKicgaW5mbz0nJy8+CisgICAgPC9zdHJ1Y3Q+CisgICAgPHR5cGVkZWYgbmFtZT0neG1sQ2hSYW5nZUdyb3VwUHRyJyBmaWxlPSdjaHZhbGlkJyB0eXBlPSd4bWxDaFJhbmdlR3JvdXAgKicvPgorICAgIDxzdHJ1Y3QgbmFtZT0neG1sQ2hTUmFuZ2UnIGZpbGU9J2NodmFsaWQnIHR5cGU9J3N0cnVjdCBfeG1sQ2hTUmFuZ2UnPgorICAgICAgPGZpZWxkIG5hbWU9J2xvdycgdHlwZT0ndW5zaWduZWQgc2hvcnQnIGluZm89JycvPgorICAgICAgPGZpZWxkIG5hbWU9J2hpZ2gnIHR5cGU9J3Vuc2lnbmVkIHNob3J0JyBpbmZvPScnLz4KKyAgICA8L3N0cnVjdD4KKyAgICA8dHlwZWRlZiBuYW1lPSd4bWxDaFNSYW5nZVB0cicgZmlsZT0nY2h2YWxpZCcgdHlwZT0neG1sQ2hTUmFuZ2UgKicvPgorICAgIDx0eXBlZGVmIG5hbWU9J3htbENoYXInIGZpbGU9J3htbHN0cmluZycgdHlwZT0ndW5zaWduZWQgY2hhcic+CisgICAgICA8aW5mbz5UaGlzIGlzIGEgYmFzaWMgYnl0ZSBpbiBhbiBVVEYtOCBlbmNvZGVkIHN0cmluZy4gSXQmYXBvcztzIHVuc2lnbmVkIGFsbG93aW5nIHRvIHBpbnBvaW50IGNhc2Ugd2hlcmUgY2hhciAqIGFyZSBhc3NpZ25lZCB0byB4bWxDaGFyICogKHBvc3NpYmx5IG1ha2luZyBzZXJpYWxpemF0aW9uIGJhY2sgaW1wb3NzaWJsZSkuPC9pbmZvPgorICAgIDwvdHlwZWRlZj4KKyAgICA8dHlwZWRlZiBuYW1lPSd4bWxDaGFyRW5jb2RpbmcnIGZpbGU9J2VuY29kaW5nJyB0eXBlPSdlbnVtJy8+CisgICAgPHN0cnVjdCBuYW1lPSd4bWxDaGFyRW5jb2RpbmdIYW5kbGVyJyBmaWxlPSdlbmNvZGluZycgdHlwZT0nc3RydWN0IF94bWxDaGFyRW5jb2RpbmdIYW5kbGVyJz4KKyAgICAgIDxmaWVsZCBuYW1lPSduYW1lJyB0eXBlPSdjaGFyIConIGluZm89JycvPgorICAgICAgPGZpZWxkIG5hbWU9J2lucHV0JyB0eXBlPSd4bWxDaGFyRW5jb2RpbmdJbnB1dEZ1bmMnIGluZm89JycvPgorICAgICAgPGZpZWxkIG5hbWU9J291dHB1dCcgdHlwZT0neG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYycgaW5mbz0nJy8+CisgICAgICA8ZmllbGQgbmFtZT0naWNvbnZfaW4nIHR5cGU9J2ljb252X3QnIGluZm89JycvPgorICAgICAgPGZpZWxkIG5hbWU9J2ljb252X291dCcgdHlwZT0naWNvbnZfdCcgaW5mbz0nJy8+CisgICAgICA8ZmllbGQgbmFtZT0ndWNvbnZfaW4nIHR5cGU9J3Vjb252X3QgKicgaW5mbz0nJy8+CisgICAgICA8ZmllbGQgbmFtZT0ndWNvbnZfb3V0JyB0eXBlPSd1Y29udl90IConIGluZm89JycvPgorICAgIDwvc3RydWN0PgorICAgIDx0eXBlZGVmIG5hbWU9J3htbENoYXJFbmNvZGluZ0hhbmRsZXJQdHInIGZpbGU9J2VuY29kaW5nJyB0eXBlPSd4bWxDaGFyRW5jb2RpbmdIYW5kbGVyIConLz4KKyAgICA8c3RydWN0IG5hbWU9J3htbERPTVdyYXBDdHh0JyBmaWxlPSd0cmVlJyB0eXBlPSdzdHJ1Y3QgX3htbERPTVdyYXBDdHh0Jz4KKyAgICAgIDxmaWVsZCBuYW1lPSdfcHJpdmF0ZScgdHlwZT0ndm9pZCAqJyBpbmZvPScqIFRoZSB0eXBlIG9mIHRoaXMgY29udGV4dCwganVzdCBpbiBjYXNlIHdlIG5lZWQgc3BlY2lhbGl6ZWQKKyogY29udGV4dHMgaW4gdGhlIGZ1dHVyZS4KKyonLz4KKyAgICAgIDxmaWVsZCBuYW1lPSd0eXBlJyB0eXBlPSdpbnQnIGluZm89JyogSW50ZXJuYWwgbmFtZXNwYWNlIG1hcCB1c2VkIGZvciB2YXJpb3VzIG9wZXJhdGlvbnMuCisqJy8+CisgICAgICA8ZmllbGQgbmFtZT0nbmFtZXNwYWNlTWFwJyB0eXBlPSd2b2lkIConIGluZm89JyogVXNlIHRoaXMgb25lIHRvIGFjcXVpcmUgYW4geG1sTnNQdHIgaW50ZW5kZWQgZm9yIG5vZGUtJmd0O25zLgorKiAoTm90ZSB0aGF0IHRoaXMgaXMgbm90IGludGVuZGVkIGZvciBlbGVtLSZndDtuc0RlZikuCisqJy8+CisgICAgICA8ZmllbGQgbmFtZT0nZ2V0TnNGb3JOb2RlRnVuYycgdHlwZT0neG1sRE9NV3JhcEFjcXVpcmVOc0Z1bmN0aW9uJyBpbmZvPScnLz4KKyAgICA8L3N0cnVjdD4KKyAgICA8dHlwZWRlZiBuYW1lPSd4bWxET01XcmFwQ3R4dFB0cicgZmlsZT0ndHJlZScgdHlwZT0neG1sRE9NV3JhcEN0eHQgKicvPgorICAgIDxzdHJ1Y3QgbmFtZT0neG1sRGljdCcgZmlsZT0nZGljdCcgdHlwZT0nc3RydWN0IF94bWxEaWN0Jy8+CisgICAgPHR5cGVkZWYgbmFtZT0neG1sRGljdFB0cicgZmlsZT0nZGljdCcgdHlwZT0neG1sRGljdCAqJy8+CisgICAgPHN0cnVjdCBuYW1lPSd4bWxEb2MnIGZpbGU9J3RyZWUnIHR5cGU9J3N0cnVjdCBfeG1sRG9jJz4KKyAgICAgIDxmaWVsZCBuYW1lPSdfcHJpdmF0ZScgdHlwZT0ndm9pZCAqJyBpbmZvPScgYXBwbGljYXRpb24gZGF0YScvPgorICAgICAgPGZpZWxkIG5hbWU9J3R5cGUnIHR5cGU9J3htbEVsZW1lbnRUeXBlJyBpbmZvPScgWE1MX0RPQ1VNRU5UX05PREUsIG11c3QgYmUgc2Vjb25kICEnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSduYW1lJyB0eXBlPSdjaGFyIConIGluZm89JyBuYW1lL2ZpbGVuYW1lL1VSSSBvZiB0aGUgZG9jdW1lbnQnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdjaGlsZHJlbicgdHlwZT0nc3RydWN0IF94bWxOb2RlIConIGluZm89JyB0aGUgZG9jdW1lbnQgdHJlZScvPgorICAgICAgPGZpZWxkIG5hbWU9J2xhc3QnIHR5cGU9J3N0cnVjdCBfeG1sTm9kZSAqJyBpbmZvPScgbGFzdCBjaGlsZCBsaW5rJy8+CisgICAgICA8ZmllbGQgbmFtZT0ncGFyZW50JyB0eXBlPSdzdHJ1Y3QgX3htbE5vZGUgKicgaW5mbz0nIGNoaWxkLSZndDtwYXJlbnQgbGluaycvPgorICAgICAgPGZpZWxkIG5hbWU9J25leHQnIHR5cGU9J3N0cnVjdCBfeG1sTm9kZSAqJyBpbmZvPScgbmV4dCBzaWJsaW5nIGxpbmsgJy8+CisgICAgICA8ZmllbGQgbmFtZT0ncHJldicgdHlwZT0nc3RydWN0IF94bWxOb2RlIConIGluZm89JyBwcmV2aW91cyBzaWJsaW5nIGxpbmsgJy8+CisgICAgICA8ZmllbGQgbmFtZT0nZG9jJyB0eXBlPSdzdHJ1Y3QgX3htbERvYyAqJyBpbmZvPScgYXV0b3JlZmVyZW5jZSB0byBpdHNlbGYgRW5kIG9mIGNvbW1vbiBwYXJ0Jy8+CisgICAgICA8ZmllbGQgbmFtZT0nY29tcHJlc3Npb24nIHR5cGU9J2ludCcgaW5mbz0nIGxldmVsIG9mIHpsaWIgY29tcHJlc3Npb24nLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdzdGFuZGFsb25lJyB0eXBlPSdpbnQnIGluZm89JyBzdGFuZGFsb25lIGRvY3VtZW50IChubyBleHRlcm5hbCByZWZzKQorMSBpZiBzdGFuZGFsb25lPSZxdW90O3llcyZxdW90OworMCBpZiBzdGFuZGFsb25lPSZxdW90O25vJnF1b3Q7CistMSBpZiB0aGVyZSBpcyBubyBYTUwgZGVjbGFyYXRpb24KKy0yIGlmIHRoZXJlIGlzIGFuIFhNTCBkZWNsYXJhdGlvbiwgYnV0IG5vCitzdGFuZGFsb25lIGF0dHJpYnV0ZSB3YXMgc3BlY2lmaWVkJy8+CisgICAgICA8ZmllbGQgbmFtZT0naW50U3Vic2V0JyB0eXBlPSdzdHJ1Y3QgX3htbER0ZCAqJyBpbmZvPScgdGhlIGRvY3VtZW50IGludGVybmFsIHN1YnNldCcvPgorICAgICAgPGZpZWxkIG5hbWU9J2V4dFN1YnNldCcgdHlwZT0nc3RydWN0IF94bWxEdGQgKicgaW5mbz0nIHRoZSBkb2N1bWVudCBleHRlcm5hbCBzdWJzZXQnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdvbGROcycgdHlwZT0nc3RydWN0IF94bWxOcyAqJyBpbmZvPScgR2xvYmFsIG5hbWVzcGFjZSwgdGhlIG9sZCB3YXknLz4KKyAgICAgIDxmaWVsZCBuYW1lPSd2ZXJzaW9uJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89JyB0aGUgWE1MIHZlcnNpb24gc3RyaW5nJy8+CisgICAgICA8ZmllbGQgbmFtZT0nZW5jb2RpbmcnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nIGV4dGVybmFsIGluaXRpYWwgZW5jb2RpbmcsIGlmIGFueScvPgorICAgICAgPGZpZWxkIG5hbWU9J2lkcycgdHlwZT0ndm9pZCAqJyBpbmZvPScgSGFzaCB0YWJsZSBmb3IgSUQgYXR0cmlidXRlcyBpZiBhbnknLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdyZWZzJyB0eXBlPSd2b2lkIConIGluZm89JyBIYXNoIHRhYmxlIGZvciBJRFJFRnMgYXR0cmlidXRlcyBpZiBhbnknLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdVUkwnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nIFRoZSBVUkkgZm9yIHRoYXQgZG9jdW1lbnQnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdjaGFyc2V0JyB0eXBlPSdpbnQnIGluZm89JyBlbmNvZGluZyBvZiB0aGUgaW4tbWVtb3J5IGNvbnRlbnQKK2FjdHVhbGx5IGFuIHhtbENoYXJFbmNvZGluZycvPgorICAgICAgPGZpZWxkIG5hbWU9J2RpY3QnIHR5cGU9J3N0cnVjdCBfeG1sRGljdCAqJyBpbmZvPScgZGljdCB1c2VkIHRvIGFsbG9jYXRlIG5hbWVzIG9yIE5VTEwnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdwc3ZpJyB0eXBlPSd2b2lkIConIGluZm89JyBmb3IgdHlwZS9QU1ZJIGluZm9ybWF0aW9ucycvPgorICAgICAgPGZpZWxkIG5hbWU9J3BhcnNlRmxhZ3MnIHR5cGU9J2ludCcgaW5mbz0nIHNldCBvZiB4bWxQYXJzZXJPcHRpb24gdXNlZCB0byBwYXJzZSB0aGUKK2RvY3VtZW50Jy8+CisgICAgICA8ZmllbGQgbmFtZT0ncHJvcGVydGllcycgdHlwZT0naW50JyBpbmZvPScgc2V0IG9mIHhtbERvY1Byb3BlcnRpZXMgZm9yIHRoaXMgZG9jdW1lbnQKK3NldCBhdCB0aGUgZW5kIG9mIHBhcnNpbmcnLz4KKyAgICA8L3N0cnVjdD4KKyAgICA8dHlwZWRlZiBuYW1lPSd4bWxEb2NQcm9wZXJ0aWVzJyBmaWxlPSd0cmVlJyB0eXBlPSdlbnVtJy8+CisgICAgPHR5cGVkZWYgbmFtZT0neG1sRG9jUHRyJyBmaWxlPSd0cmVlJyB0eXBlPSd4bWxEb2MgKicvPgorICAgIDxzdHJ1Y3QgbmFtZT0neG1sRHRkJyBmaWxlPSd0cmVlJyB0eXBlPSdzdHJ1Y3QgX3htbER0ZCc+CisgICAgICA8ZmllbGQgbmFtZT0nX3ByaXZhdGUnIHR5cGU9J3ZvaWQgKicgaW5mbz0nIGFwcGxpY2F0aW9uIGRhdGEnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSd0eXBlJyB0eXBlPSd4bWxFbGVtZW50VHlwZScgaW5mbz0nIFhNTF9EVERfTk9ERSwgbXVzdCBiZSBzZWNvbmQgIScvPgorICAgICAgPGZpZWxkIG5hbWU9J25hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nIE5hbWUgb2YgdGhlIERURCcvPgorICAgICAgPGZpZWxkIG5hbWU9J2NoaWxkcmVuJyB0eXBlPSdzdHJ1Y3QgX3htbE5vZGUgKicgaW5mbz0nIHRoZSB2YWx1ZSBvZiB0aGUgcHJvcGVydHkgbGluaycvPgorICAgICAgPGZpZWxkIG5hbWU9J2xhc3QnIHR5cGU9J3N0cnVjdCBfeG1sTm9kZSAqJyBpbmZvPScgbGFzdCBjaGlsZCBsaW5rJy8+CisgICAgICA8ZmllbGQgbmFtZT0ncGFyZW50JyB0eXBlPSdzdHJ1Y3QgX3htbERvYyAqJyBpbmZvPScgY2hpbGQtJmd0O3BhcmVudCBsaW5rJy8+CisgICAgICA8ZmllbGQgbmFtZT0nbmV4dCcgdHlwZT0nc3RydWN0IF94bWxOb2RlIConIGluZm89JyBuZXh0IHNpYmxpbmcgbGluayAnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdwcmV2JyB0eXBlPSdzdHJ1Y3QgX3htbE5vZGUgKicgaW5mbz0nIHByZXZpb3VzIHNpYmxpbmcgbGluayAnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdkb2MnIHR5cGU9J3N0cnVjdCBfeG1sRG9jIConIGluZm89JyB0aGUgY29udGFpbmluZyBkb2N1bWVudCBFbmQgb2YgY29tbW9uIHBhcnQnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdub3RhdGlvbnMnIHR5cGU9J3ZvaWQgKicgaW5mbz0nIEhhc2ggdGFibGUgZm9yIG5vdGF0aW9ucyBpZiBhbnknLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdlbGVtZW50cycgdHlwZT0ndm9pZCAqJyBpbmZvPScgSGFzaCB0YWJsZSBmb3IgZWxlbWVudHMgaWYgYW55Jy8+CisgICAgICA8ZmllbGQgbmFtZT0nYXR0cmlidXRlcycgdHlwZT0ndm9pZCAqJyBpbmZvPScgSGFzaCB0YWJsZSBmb3IgYXR0cmlidXRlcyBpZiBhbnknLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdlbnRpdGllcycgdHlwZT0ndm9pZCAqJyBpbmZvPScgSGFzaCB0YWJsZSBmb3IgZW50aXRpZXMgaWYgYW55Jy8+CisgICAgICA8ZmllbGQgbmFtZT0nRXh0ZXJuYWxJRCcgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPScgRXh0ZXJuYWwgaWRlbnRpZmllciBmb3IgUFVCTElDIERURCcvPgorICAgICAgPGZpZWxkIG5hbWU9J1N5c3RlbUlEJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89JyBVUkkgZm9yIGEgU1lTVEVNIG9yIFBVQkxJQyBEVEQnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdwZW50aXRpZXMnIHR5cGU9J3ZvaWQgKicgaW5mbz0nIEhhc2ggdGFibGUgZm9yIHBhcmFtIGVudGl0aWVzIGlmIGFueScvPgorICAgIDwvc3RydWN0PgorICAgIDx0eXBlZGVmIG5hbWU9J3htbER0ZFB0cicgZmlsZT0ndHJlZScgdHlwZT0neG1sRHRkIConLz4KKyAgICA8c3RydWN0IG5hbWU9J3htbEVsZW1lbnQnIGZpbGU9J3RyZWUnIHR5cGU9J3N0cnVjdCBfeG1sRWxlbWVudCc+CisgICAgICA8ZmllbGQgbmFtZT0nX3ByaXZhdGUnIHR5cGU9J3ZvaWQgKicgaW5mbz0nIGFwcGxpY2F0aW9uIGRhdGEnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSd0eXBlJyB0eXBlPSd4bWxFbGVtZW50VHlwZScgaW5mbz0nIFhNTF9FTEVNRU5UX0RFQ0wsIG11c3QgYmUgc2Vjb25kICEnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89JyBFbGVtZW50IG5hbWUnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdjaGlsZHJlbicgdHlwZT0nc3RydWN0IF94bWxOb2RlIConIGluZm89JyBOVUxMJy8+CisgICAgICA8ZmllbGQgbmFtZT0nbGFzdCcgdHlwZT0nc3RydWN0IF94bWxOb2RlIConIGluZm89JyBOVUxMJy8+CisgICAgICA8ZmllbGQgbmFtZT0ncGFyZW50JyB0eXBlPSdzdHJ1Y3QgX3htbER0ZCAqJyBpbmZvPScgLSZndDsgRFREJy8+CisgICAgICA8ZmllbGQgbmFtZT0nbmV4dCcgdHlwZT0nc3RydWN0IF94bWxOb2RlIConIGluZm89JyBuZXh0IHNpYmxpbmcgbGluayAnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdwcmV2JyB0eXBlPSdzdHJ1Y3QgX3htbE5vZGUgKicgaW5mbz0nIHByZXZpb3VzIHNpYmxpbmcgbGluayAnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdkb2MnIHR5cGU9J3N0cnVjdCBfeG1sRG9jIConIGluZm89JyB0aGUgY29udGFpbmluZyBkb2N1bWVudCcvPgorICAgICAgPGZpZWxkIG5hbWU9J2V0eXBlJyB0eXBlPSd4bWxFbGVtZW50VHlwZVZhbCcgaW5mbz0nIFRoZSB0eXBlJy8+CisgICAgICA8ZmllbGQgbmFtZT0nY29udGVudCcgdHlwZT0neG1sRWxlbWVudENvbnRlbnRQdHInIGluZm89JyB0aGUgYWxsb3dlZCBlbGVtZW50IGNvbnRlbnQnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdhdHRyaWJ1dGVzJyB0eXBlPSd4bWxBdHRyaWJ1dGVQdHInIGluZm89JyBMaXN0IG9mIHRoZSBkZWNsYXJlZCBhdHRyaWJ1dGVzJy8+CisgICAgICA8ZmllbGQgbmFtZT0ncHJlZml4JyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89JyB0aGUgbmFtZXNwYWNlIHByZWZpeCBpZiBhbnknLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdjb250TW9kZWwnIHR5cGU9J3htbFJlZ2V4cFB0cicgaW5mbz0nIHRoZSB2YWxpZGF0aW5nIHJlZ2V4cCcvPgorICAgICAgPGZpZWxkIG5hbWU9J2NvbnRNb2RlbCcgdHlwZT0ndm9pZCAqJyBpbmZvPScnLz4KKyAgICA8L3N0cnVjdD4KKyAgICA8c3RydWN0IG5hbWU9J3htbEVsZW1lbnRDb250ZW50JyBmaWxlPSd0cmVlJyB0eXBlPSdzdHJ1Y3QgX3htbEVsZW1lbnRDb250ZW50Jz4KKyAgICAgIDxmaWVsZCBuYW1lPSd0eXBlJyB0eXBlPSd4bWxFbGVtZW50Q29udGVudFR5cGUnIGluZm89JyBQQ0RBVEEsIEVMRU1FTlQsIFNFUSBvciBPUicvPgorICAgICAgPGZpZWxkIG5hbWU9J29jdXInIHR5cGU9J3htbEVsZW1lbnRDb250ZW50T2NjdXInIGluZm89JyBPTkNFLCBPUFQsIE1VTFQgb3IgUExVUycvPgorICAgICAgPGZpZWxkIG5hbWU9J25hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nIEVsZW1lbnQgbmFtZScvPgorICAgICAgPGZpZWxkIG5hbWU9J2MxJyB0eXBlPSdzdHJ1Y3QgX3htbEVsZW1lbnRDb250ZW50IConIGluZm89JyBmaXJzdCBjaGlsZCcvPgorICAgICAgPGZpZWxkIG5hbWU9J2MyJyB0eXBlPSdzdHJ1Y3QgX3htbEVsZW1lbnRDb250ZW50IConIGluZm89JyBzZWNvbmQgY2hpbGQnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdwYXJlbnQnIHR5cGU9J3N0cnVjdCBfeG1sRWxlbWVudENvbnRlbnQgKicgaW5mbz0nIHBhcmVudCcvPgorICAgICAgPGZpZWxkIG5hbWU9J3ByZWZpeCcgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPScgTmFtZXNwYWNlIHByZWZpeCcvPgorICAgIDwvc3RydWN0PgorICAgIDx0eXBlZGVmIG5hbWU9J3htbEVsZW1lbnRDb250ZW50T2NjdXInIGZpbGU9J3RyZWUnIHR5cGU9J2VudW0nLz4KKyAgICA8dHlwZWRlZiBuYW1lPSd4bWxFbGVtZW50Q29udGVudFB0cicgZmlsZT0ndHJlZScgdHlwZT0neG1sRWxlbWVudENvbnRlbnQgKicvPgorICAgIDx0eXBlZGVmIG5hbWU9J3htbEVsZW1lbnRDb250ZW50VHlwZScgZmlsZT0ndHJlZScgdHlwZT0nZW51bScvPgorICAgIDx0eXBlZGVmIG5hbWU9J3htbEVsZW1lbnRQdHInIGZpbGU9J3RyZWUnIHR5cGU9J3htbEVsZW1lbnQgKicvPgorICAgIDxzdHJ1Y3QgbmFtZT0neG1sRWxlbWVudFRhYmxlJyBmaWxlPSd2YWxpZCcgdHlwZT0nc3RydWN0IF94bWxIYXNoVGFibGUnLz4KKyAgICA8dHlwZWRlZiBuYW1lPSd4bWxFbGVtZW50VGFibGVQdHInIGZpbGU9J3ZhbGlkJyB0eXBlPSd4bWxFbGVtZW50VGFibGUgKicvPgorICAgIDx0eXBlZGVmIG5hbWU9J3htbEVsZW1lbnRUeXBlJyBmaWxlPSd0cmVlJyB0eXBlPSdlbnVtJy8+CisgICAgPHR5cGVkZWYgbmFtZT0neG1sRWxlbWVudFR5cGVWYWwnIGZpbGU9J3RyZWUnIHR5cGU9J2VudW0nLz4KKyAgICA8c3RydWN0IG5hbWU9J3htbEVudGl0aWVzVGFibGUnIGZpbGU9J2VudGl0aWVzJyB0eXBlPSdzdHJ1Y3QgX3htbEhhc2hUYWJsZScvPgorICAgIDx0eXBlZGVmIG5hbWU9J3htbEVudGl0aWVzVGFibGVQdHInIGZpbGU9J2VudGl0aWVzJyB0eXBlPSd4bWxFbnRpdGllc1RhYmxlIConLz4KKyAgICA8c3RydWN0IG5hbWU9J3htbEVudGl0eScgZmlsZT0ndHJlZScgdHlwZT0nc3RydWN0IF94bWxFbnRpdHknPgorICAgICAgPGZpZWxkIG5hbWU9J19wcml2YXRlJyB0eXBlPSd2b2lkIConIGluZm89JyBhcHBsaWNhdGlvbiBkYXRhJy8+CisgICAgICA8ZmllbGQgbmFtZT0ndHlwZScgdHlwZT0neG1sRWxlbWVudFR5cGUnIGluZm89JyBYTUxfRU5USVRZX0RFQ0wsIG11c3QgYmUgc2Vjb25kICEnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89JyBFbnRpdHkgbmFtZScvPgorICAgICAgPGZpZWxkIG5hbWU9J2NoaWxkcmVuJyB0eXBlPSdzdHJ1Y3QgX3htbE5vZGUgKicgaW5mbz0nIEZpcnN0IGNoaWxkIGxpbmsnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdsYXN0JyB0eXBlPSdzdHJ1Y3QgX3htbE5vZGUgKicgaW5mbz0nIExhc3QgY2hpbGQgbGluaycvPgorICAgICAgPGZpZWxkIG5hbWU9J3BhcmVudCcgdHlwZT0nc3RydWN0IF94bWxEdGQgKicgaW5mbz0nIC0mZ3Q7IERURCcvPgorICAgICAgPGZpZWxkIG5hbWU9J25leHQnIHR5cGU9J3N0cnVjdCBfeG1sTm9kZSAqJyBpbmZvPScgbmV4dCBzaWJsaW5nIGxpbmsgJy8+CisgICAgICA8ZmllbGQgbmFtZT0ncHJldicgdHlwZT0nc3RydWN0IF94bWxOb2RlIConIGluZm89JyBwcmV2aW91cyBzaWJsaW5nIGxpbmsgJy8+CisgICAgICA8ZmllbGQgbmFtZT0nZG9jJyB0eXBlPSdzdHJ1Y3QgX3htbERvYyAqJyBpbmZvPScgdGhlIGNvbnRhaW5pbmcgZG9jdW1lbnQnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdvcmlnJyB0eXBlPSd4bWxDaGFyIConIGluZm89JyBjb250ZW50IHdpdGhvdXQgcmVmIHN1YnN0aXR1dGlvbicvPgorICAgICAgPGZpZWxkIG5hbWU9J2NvbnRlbnQnIHR5cGU9J3htbENoYXIgKicgaW5mbz0nIGNvbnRlbnQgb3IgbmRhdGEgaWYgdW5wYXJzZWQnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdsZW5ndGgnIHR5cGU9J2ludCcgaW5mbz0nIHRoZSBjb250ZW50IGxlbmd0aCcvPgorICAgICAgPGZpZWxkIG5hbWU9J2V0eXBlJyB0eXBlPSd4bWxFbnRpdHlUeXBlJyBpbmZvPScgVGhlIGVudGl0eSB0eXBlJy8+CisgICAgICA8ZmllbGQgbmFtZT0nRXh0ZXJuYWxJRCcgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPScgRXh0ZXJuYWwgaWRlbnRpZmllciBmb3IgUFVCTElDJy8+CisgICAgICA8ZmllbGQgbmFtZT0nU3lzdGVtSUQnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nIFVSSSBmb3IgYSBTWVNURU0gb3IgUFVCTElDIEVudGl0eScvPgorICAgICAgPGZpZWxkIG5hbWU9J25leHRlJyB0eXBlPSdzdHJ1Y3QgX3htbEVudGl0eSAqJyBpbmZvPScgdW51c2VkJy8+CisgICAgICA8ZmllbGQgbmFtZT0nVVJJJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89JyB0aGUgZnVsbCBVUkkgYXMgY29tcHV0ZWQnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdvd25lcicgdHlwZT0naW50JyBpbmZvPScgZG9lcyB0aGUgZW50aXR5IG93biB0aGUgY2hpbGRyZW5zJy8+CisgICAgICA8ZmllbGQgbmFtZT0nY2hlY2tlZCcgdHlwZT0naW50JyBpbmZvPScgd2FzIHRoZSBlbnRpdHkgY29udGVudCBjaGVja2VkIHRoaXMgaXMgYWxzbyB1c2VkIHRvIGNvdW50IGVudGl0aWVzCisqIHJlZmVyZW5jZXMgZG9uZSBmcm9tIHRoYXQgZW50aXR5CisqIGFuZCBpZiBpdCBjb250YWlucyAmYXBvczsmbHQ7JmFwb3M7Jy8+CisgICAgPC9zdHJ1Y3Q+CisgICAgPHR5cGVkZWYgbmFtZT0neG1sRW50aXR5UHRyJyBmaWxlPSd0cmVlJyB0eXBlPSd4bWxFbnRpdHkgKicvPgorICAgIDx0eXBlZGVmIG5hbWU9J3htbEVudGl0eVR5cGUnIGZpbGU9J2VudGl0aWVzJyB0eXBlPSdlbnVtJy8+CisgICAgPHN0cnVjdCBuYW1lPSd4bWxFbnVtZXJhdGlvbicgZmlsZT0ndHJlZScgdHlwZT0nc3RydWN0IF94bWxFbnVtZXJhdGlvbic+CisgICAgICA8ZmllbGQgbmFtZT0nbmV4dCcgdHlwZT0nc3RydWN0IF94bWxFbnVtZXJhdGlvbiAqJyBpbmZvPScgbmV4dCBvbmUnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89JyBFbnVtZXJhdGlvbiBuYW1lJy8+CisgICAgPC9zdHJ1Y3Q+CisgICAgPHR5cGVkZWYgbmFtZT0neG1sRW51bWVyYXRpb25QdHInIGZpbGU9J3RyZWUnIHR5cGU9J3htbEVudW1lcmF0aW9uIConLz4KKyAgICA8c3RydWN0IG5hbWU9J3htbEVycm9yJyBmaWxlPSd4bWxlcnJvcicgdHlwZT0nc3RydWN0IF94bWxFcnJvcic+CisgICAgICA8ZmllbGQgbmFtZT0nZG9tYWluJyB0eXBlPSdpbnQnIGluZm89JyBXaGF0IHBhcnQgb2YgdGhlIGxpYnJhcnkgcmFpc2VkIHRoaXMgZXJyb3InLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdjb2RlJyB0eXBlPSdpbnQnIGluZm89JyBUaGUgZXJyb3IgY29kZSwgZS5nLiBhbiB4bWxQYXJzZXJFcnJvcicvPgorICAgICAgPGZpZWxkIG5hbWU9J21lc3NhZ2UnIHR5cGU9J2NoYXIgKicgaW5mbz0nIGh1bWFuLXJlYWRhYmxlIGluZm9ybWF0aXZlIGVycm9yIG1lc3NhZ2UnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdsZXZlbCcgdHlwZT0neG1sRXJyb3JMZXZlbCcgaW5mbz0nIGhvdyBjb25zZXF1ZW50IGlzIHRoZSBlcnJvcicvPgorICAgICAgPGZpZWxkIG5hbWU9J2ZpbGUnIHR5cGU9J2NoYXIgKicgaW5mbz0nIHRoZSBmaWxlbmFtZScvPgorICAgICAgPGZpZWxkIG5hbWU9J2xpbmUnIHR5cGU9J2ludCcgaW5mbz0nIHRoZSBsaW5lIG51bWJlciBpZiBhdmFpbGFibGUnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdzdHIxJyB0eXBlPSdjaGFyIConIGluZm89JyBleHRyYSBzdHJpbmcgaW5mb3JtYXRpb24nLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdzdHIyJyB0eXBlPSdjaGFyIConIGluZm89JyBleHRyYSBzdHJpbmcgaW5mb3JtYXRpb24nLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdzdHIzJyB0eXBlPSdjaGFyIConIGluZm89JyBleHRyYSBzdHJpbmcgaW5mb3JtYXRpb24nLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdpbnQxJyB0eXBlPSdpbnQnIGluZm89JyBleHRyYSBudW1iZXIgaW5mb3JtYXRpb24nLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdpbnQyJyB0eXBlPSdpbnQnIGluZm89JyBlcnJvciBjb2x1bW4gIyBvciAwIGlmIE4vQSAodG9kbzogcmVuYW1lIGZpZWxkIHdoZW4gd2Ugd291bGQgYnJrIEFCSSknLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdjdHh0JyB0eXBlPSd2b2lkIConIGluZm89JyB0aGUgcGFyc2VyIGNvbnRleHQgaWYgYXZhaWxhYmxlJy8+CisgICAgICA8ZmllbGQgbmFtZT0nbm9kZScgdHlwZT0ndm9pZCAqJyBpbmZvPScgdGhlIG5vZGUgaW4gdGhlIHRyZWUnLz4KKyAgICA8L3N0cnVjdD4KKyAgICA8dHlwZWRlZiBuYW1lPSd4bWxFcnJvckRvbWFpbicgZmlsZT0neG1sZXJyb3InIHR5cGU9J2VudW0nLz4KKyAgICA8dHlwZWRlZiBuYW1lPSd4bWxFcnJvckxldmVsJyBmaWxlPSd4bWxlcnJvcicgdHlwZT0nZW51bScvPgorICAgIDx0eXBlZGVmIG5hbWU9J3htbEVycm9yUHRyJyBmaWxlPSd4bWxlcnJvcicgdHlwZT0neG1sRXJyb3IgKicvPgorICAgIDxzdHJ1Y3QgbmFtZT0neG1sRXhwQ3R4dCcgZmlsZT0neG1scmVnZXhwJyB0eXBlPSdzdHJ1Y3QgX3htbEV4cEN0eHQnLz4KKyAgICA8dHlwZWRlZiBuYW1lPSd4bWxFeHBDdHh0UHRyJyBmaWxlPSd4bWxyZWdleHAnIHR5cGU9J3htbEV4cEN0eHQgKicvPgorICAgIDxzdHJ1Y3QgbmFtZT0neG1sRXhwTm9kZScgZmlsZT0neG1scmVnZXhwJyB0eXBlPSdzdHJ1Y3QgX3htbEV4cE5vZGUnLz4KKyAgICA8dHlwZWRlZiBuYW1lPSd4bWxFeHBOb2RlUHRyJyBmaWxlPSd4bWxyZWdleHAnIHR5cGU9J3htbEV4cE5vZGUgKicvPgorICAgIDx0eXBlZGVmIG5hbWU9J3htbEV4cE5vZGVUeXBlJyBmaWxlPSd4bWxyZWdleHAnIHR5cGU9J2VudW0nLz4KKyAgICA8dHlwZWRlZiBuYW1lPSd4bWxGZWF0dXJlJyBmaWxlPSdwYXJzZXInIHR5cGU9J2VudW0nLz4KKyAgICA8c3RydWN0IG5hbWU9J3htbEdsb2JhbFN0YXRlJyBmaWxlPSdnbG9iYWxzJyB0eXBlPSdzdHJ1Y3QgX3htbEdsb2JhbFN0YXRlJz4KKyAgICAgIDxmaWVsZCBuYW1lPSd4bWxQYXJzZXJWZXJzaW9uJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89JycvPgorICAgICAgPGZpZWxkIG5hbWU9J3htbERlZmF1bHRTQVhMb2NhdG9yJyB0eXBlPSd4bWxTQVhMb2NhdG9yJyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSd4bWxEZWZhdWx0U0FYSGFuZGxlcicgdHlwZT0neG1sU0FYSGFuZGxlclYxJyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdkb2NiRGVmYXVsdFNBWEhhbmRsZXInIHR5cGU9J3htbFNBWEhhbmRsZXJWMScgaW5mbz0nJy8+CisgICAgICA8ZmllbGQgbmFtZT0naHRtbERlZmF1bHRTQVhIYW5kbGVyJyB0eXBlPSd4bWxTQVhIYW5kbGVyVjEnIGluZm89JycvPgorICAgICAgPGZpZWxkIG5hbWU9J3htbEZyZWUnIHR5cGU9J3htbEZyZWVGdW5jJyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSd4bWxNYWxsb2MnIHR5cGU9J3htbE1hbGxvY0Z1bmMnIGluZm89JycvPgorICAgICAgPGZpZWxkIG5hbWU9J3htbE1lbVN0cmR1cCcgdHlwZT0neG1sU3RyZHVwRnVuYycgaW5mbz0nJy8+CisgICAgICA8ZmllbGQgbmFtZT0neG1sUmVhbGxvYycgdHlwZT0neG1sUmVhbGxvY0Z1bmMnIGluZm89JycvPgorICAgICAgPGZpZWxkIG5hbWU9J3htbEdlbmVyaWNFcnJvcicgdHlwZT0neG1sR2VuZXJpY0Vycm9yRnVuYycgaW5mbz0nJy8+CisgICAgICA8ZmllbGQgbmFtZT0neG1sU3RydWN0dXJlZEVycm9yJyB0eXBlPSd4bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jJyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSd4bWxHZW5lcmljRXJyb3JDb250ZXh0JyB0eXBlPSd2b2lkIConIGluZm89JycvPgorICAgICAgPGZpZWxkIG5hbWU9J29sZFhNTFdEY29tcGF0aWJpbGl0eScgdHlwZT0naW50JyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSd4bWxCdWZmZXJBbGxvY1NjaGVtZScgdHlwZT0neG1sQnVmZmVyQWxsb2NhdGlvblNjaGVtZScgaW5mbz0nJy8+CisgICAgICA8ZmllbGQgbmFtZT0neG1sRGVmYXVsdEJ1ZmZlclNpemUnIHR5cGU9J2ludCcgaW5mbz0nJy8+CisgICAgICA8ZmllbGQgbmFtZT0neG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdFZhbHVlJyB0eXBlPSdpbnQnIGluZm89JycvPgorICAgICAgPGZpZWxkIG5hbWU9J3htbERvVmFsaWRpdHlDaGVja2luZ0RlZmF1bHRWYWx1ZScgdHlwZT0naW50JyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSd4bWxHZXRXYXJuaW5nc0RlZmF1bHRWYWx1ZScgdHlwZT0naW50JyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSd4bWxLZWVwQmxhbmtzRGVmYXVsdFZhbHVlJyB0eXBlPSdpbnQnIGluZm89JycvPgorICAgICAgPGZpZWxkIG5hbWU9J3htbExpbmVOdW1iZXJzRGVmYXVsdFZhbHVlJyB0eXBlPSdpbnQnIGluZm89JycvPgorICAgICAgPGZpZWxkIG5hbWU9J3htbExvYWRFeHREdGREZWZhdWx0VmFsdWUnIHR5cGU9J2ludCcgaW5mbz0nJy8+CisgICAgICA8ZmllbGQgbmFtZT0neG1sUGFyc2VyRGVidWdFbnRpdGllcycgdHlwZT0naW50JyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSd4bWxQZWRhbnRpY1BhcnNlckRlZmF1bHRWYWx1ZScgdHlwZT0naW50JyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSd4bWxTYXZlTm9FbXB0eVRhZ3MnIHR5cGU9J2ludCcgaW5mbz0nJy8+CisgICAgICA8ZmllbGQgbmFtZT0neG1sSW5kZW50VHJlZU91dHB1dCcgdHlwZT0naW50JyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSd4bWxUcmVlSW5kZW50U3RyaW5nJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89JycvPgorICAgICAgPGZpZWxkIG5hbWU9J3htbFJlZ2lzdGVyTm9kZURlZmF1bHRWYWx1ZScgdHlwZT0neG1sUmVnaXN0ZXJOb2RlRnVuYycgaW5mbz0nJy8+CisgICAgICA8ZmllbGQgbmFtZT0neG1sRGVyZWdpc3Rlck5vZGVEZWZhdWx0VmFsdWUnIHR5cGU9J3htbERlcmVnaXN0ZXJOb2RlRnVuYycgaW5mbz0nJy8+CisgICAgICA8ZmllbGQgbmFtZT0neG1sTWFsbG9jQXRvbWljJyB0eXBlPSd4bWxNYWxsb2NGdW5jJyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSd4bWxMYXN0RXJyb3InIHR5cGU9J3htbEVycm9yJyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSd4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lVmFsdWUnIHR5cGU9J3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jJyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSd4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZVZhbHVlJyB0eXBlPSd4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmMnIGluZm89JycvPgorICAgICAgPGZpZWxkIG5hbWU9J3htbFN0cnVjdHVyZWRFcnJvckNvbnRleHQnIHR5cGU9J3ZvaWQgKicgaW5mbz0nJy8+CisgICAgPC9zdHJ1Y3Q+CisgICAgPHR5cGVkZWYgbmFtZT0neG1sR2xvYmFsU3RhdGVQdHInIGZpbGU9J2dsb2JhbHMnIHR5cGU9J3htbEdsb2JhbFN0YXRlIConLz4KKyAgICA8c3RydWN0IG5hbWU9J3htbEhhc2hUYWJsZScgZmlsZT0naGFzaCcgdHlwZT0nc3RydWN0IF94bWxIYXNoVGFibGUnLz4KKyAgICA8dHlwZWRlZiBuYW1lPSd4bWxIYXNoVGFibGVQdHInIGZpbGU9J2hhc2gnIHR5cGU9J3htbEhhc2hUYWJsZSAqJy8+CisgICAgPHN0cnVjdCBuYW1lPSd4bWxJRCcgZmlsZT0ndHJlZScgdHlwZT0nc3RydWN0IF94bWxJRCc+CisgICAgICA8ZmllbGQgbmFtZT0nbmV4dCcgdHlwZT0nc3RydWN0IF94bWxJRCAqJyBpbmZvPScgbmV4dCBJRCcvPgorICAgICAgPGZpZWxkIG5hbWU9J3ZhbHVlJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89JyBUaGUgSUQgbmFtZScvPgorICAgICAgPGZpZWxkIG5hbWU9J2F0dHInIHR5cGU9J3htbEF0dHJQdHInIGluZm89JyBUaGUgYXR0cmlidXRlIGhvbGRpbmcgaXQnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89JyBUaGUgYXR0cmlidXRlIGlmIGF0dHIgaXMgbm90IGF2YWlsYWJsZScvPgorICAgICAgPGZpZWxkIG5hbWU9J2xpbmVubycgdHlwZT0naW50JyBpbmZvPScgVGhlIGxpbmUgbnVtYmVyIGlmIGF0dHIgaXMgbm90IGF2YWlsYWJsZScvPgorICAgICAgPGZpZWxkIG5hbWU9J2RvYycgdHlwZT0nc3RydWN0IF94bWxEb2MgKicgaW5mbz0nIFRoZSBkb2N1bWVudCBob2xkaW5nIHRoZSBJRCcvPgorICAgIDwvc3RydWN0PgorICAgIDx0eXBlZGVmIG5hbWU9J3htbElEUHRyJyBmaWxlPSd0cmVlJyB0eXBlPSd4bWxJRCAqJy8+CisgICAgPHN0cnVjdCBuYW1lPSd4bWxJRFRhYmxlJyBmaWxlPSd2YWxpZCcgdHlwZT0nc3RydWN0IF94bWxIYXNoVGFibGUnLz4KKyAgICA8dHlwZWRlZiBuYW1lPSd4bWxJRFRhYmxlUHRyJyBmaWxlPSd2YWxpZCcgdHlwZT0neG1sSURUYWJsZSAqJy8+CisgICAgPHN0cnVjdCBuYW1lPSd4bWxMaW5rJyBmaWxlPSdsaXN0JyB0eXBlPSdzdHJ1Y3QgX3htbExpbmsnLz4KKyAgICA8dHlwZWRlZiBuYW1lPSd4bWxMaW5rUHRyJyBmaWxlPSdsaXN0JyB0eXBlPSd4bWxMaW5rIConLz4KKyAgICA8c3RydWN0IG5hbWU9J3htbExpc3QnIGZpbGU9J2xpc3QnIHR5cGU9J3N0cnVjdCBfeG1sTGlzdCcvPgorICAgIDx0eXBlZGVmIG5hbWU9J3htbExpc3RQdHInIGZpbGU9J2xpc3QnIHR5cGU9J3htbExpc3QgKicvPgorICAgIDxzdHJ1Y3QgbmFtZT0neG1sTG9jYXRpb25TZXQnIGZpbGU9J3hwb2ludGVyJyB0eXBlPSdzdHJ1Y3QgX3htbExvY2F0aW9uU2V0Jz4KKyAgICAgIDxmaWVsZCBuYW1lPSdsb2NOcicgdHlwZT0naW50JyBpbmZvPScgbnVtYmVyIG9mIGxvY2F0aW9ucyBpbiB0aGUgc2V0Jy8+CisgICAgICA8ZmllbGQgbmFtZT0nbG9jTWF4JyB0eXBlPSdpbnQnIGluZm89JyBzaXplIG9mIHRoZSBhcnJheSBhcyBhbGxvY2F0ZWQnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdsb2NUYWInIHR5cGU9J3htbFhQYXRoT2JqZWN0UHRyIConIGluZm89JyBhcnJheSBvZiBsb2NhdGlvbnMnLz4KKyAgICA8L3N0cnVjdD4KKyAgICA8dHlwZWRlZiBuYW1lPSd4bWxMb2NhdGlvblNldFB0cicgZmlsZT0neHBvaW50ZXInIHR5cGU9J3htbExvY2F0aW9uU2V0IConLz4KKyAgICA8c3RydWN0IG5hbWU9J3htbE1vZHVsZScgZmlsZT0neG1sbW9kdWxlJyB0eXBlPSdzdHJ1Y3QgX3htbE1vZHVsZScvPgorICAgIDx0eXBlZGVmIG5hbWU9J3htbE1vZHVsZU9wdGlvbicgZmlsZT0neG1sbW9kdWxlJyB0eXBlPSdlbnVtJy8+CisgICAgPHR5cGVkZWYgbmFtZT0neG1sTW9kdWxlUHRyJyBmaWxlPSd4bWxtb2R1bGUnIHR5cGU9J3htbE1vZHVsZSAqJz4KKyAgICAgIDxpbmZvPkEgaGFuZGxlIHRvIGEgZHluYW1pY2FsbHkgbG9hZGVkIG1vZHVsZTwvaW5mbz4KKyAgICA8L3R5cGVkZWY+CisgICAgPHN0cnVjdCBuYW1lPSd4bWxNdXRleCcgZmlsZT0ndGhyZWFkcycgdHlwZT0nc3RydWN0IF94bWxNdXRleCcvPgorICAgIDx0eXBlZGVmIG5hbWU9J3htbE11dGV4UHRyJyBmaWxlPSd0aHJlYWRzJyB0eXBlPSd4bWxNdXRleCAqJy8+CisgICAgPHN0cnVjdCBuYW1lPSd4bWxOb2RlJyBmaWxlPSd0cmVlJyB0eXBlPSdzdHJ1Y3QgX3htbE5vZGUnPgorICAgICAgPGZpZWxkIG5hbWU9J19wcml2YXRlJyB0eXBlPSd2b2lkIConIGluZm89JyBhcHBsaWNhdGlvbiBkYXRhJy8+CisgICAgICA8ZmllbGQgbmFtZT0ndHlwZScgdHlwZT0neG1sRWxlbWVudFR5cGUnIGluZm89JyB0eXBlIG51bWJlciwgbXVzdCBiZSBzZWNvbmQgIScvPgorICAgICAgPGZpZWxkIG5hbWU9J25hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nIHRoZSBuYW1lIG9mIHRoZSBub2RlLCBvciB0aGUgZW50aXR5Jy8+CisgICAgICA8ZmllbGQgbmFtZT0nY2hpbGRyZW4nIHR5cGU9J3N0cnVjdCBfeG1sTm9kZSAqJyBpbmZvPScgcGFyZW50LSZndDtjaGlsZHMgbGluaycvPgorICAgICAgPGZpZWxkIG5hbWU9J2xhc3QnIHR5cGU9J3N0cnVjdCBfeG1sTm9kZSAqJyBpbmZvPScgbGFzdCBjaGlsZCBsaW5rJy8+CisgICAgICA8ZmllbGQgbmFtZT0ncGFyZW50JyB0eXBlPSdzdHJ1Y3QgX3htbE5vZGUgKicgaW5mbz0nIGNoaWxkLSZndDtwYXJlbnQgbGluaycvPgorICAgICAgPGZpZWxkIG5hbWU9J25leHQnIHR5cGU9J3N0cnVjdCBfeG1sTm9kZSAqJyBpbmZvPScgbmV4dCBzaWJsaW5nIGxpbmsgJy8+CisgICAgICA8ZmllbGQgbmFtZT0ncHJldicgdHlwZT0nc3RydWN0IF94bWxOb2RlIConIGluZm89JyBwcmV2aW91cyBzaWJsaW5nIGxpbmsgJy8+CisgICAgICA8ZmllbGQgbmFtZT0nZG9jJyB0eXBlPSdzdHJ1Y3QgX3htbERvYyAqJyBpbmZvPScgdGhlIGNvbnRhaW5pbmcgZG9jdW1lbnQgRW5kIG9mIGNvbW1vbiBwYXJ0Jy8+CisgICAgICA8ZmllbGQgbmFtZT0nbnMnIHR5cGU9J3htbE5zIConIGluZm89JyBwb2ludGVyIHRvIHRoZSBhc3NvY2lhdGVkIG5hbWVzcGFjZScvPgorICAgICAgPGZpZWxkIG5hbWU9J2NvbnRlbnQnIHR5cGU9J3htbENoYXIgKicgaW5mbz0nIHRoZSBjb250ZW50Jy8+CisgICAgICA8ZmllbGQgbmFtZT0ncHJvcGVydGllcycgdHlwZT0nc3RydWN0IF94bWxBdHRyIConIGluZm89JyBwcm9wZXJ0aWVzIGxpc3QnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSduc0RlZicgdHlwZT0neG1sTnMgKicgaW5mbz0nIG5hbWVzcGFjZSBkZWZpbml0aW9ucyBvbiB0aGlzIG5vZGUnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdwc3ZpJyB0eXBlPSd2b2lkIConIGluZm89JyBmb3IgdHlwZS9QU1ZJIGluZm9ybWF0aW9ucycvPgorICAgICAgPGZpZWxkIG5hbWU9J2xpbmUnIHR5cGU9J3Vuc2lnbmVkIHNob3J0JyBpbmZvPScgbGluZSBudW1iZXInLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdleHRyYScgdHlwZT0ndW5zaWduZWQgc2hvcnQnIGluZm89JyBleHRyYSBkYXRhIGZvciBYUGF0aC9YU0xUJy8+CisgICAgPC9zdHJ1Y3Q+CisgICAgPHR5cGVkZWYgbmFtZT0neG1sTm9kZVB0cicgZmlsZT0ndHJlZScgdHlwZT0neG1sTm9kZSAqJy8+CisgICAgPHN0cnVjdCBuYW1lPSd4bWxOb2RlU2V0JyBmaWxlPSd4cGF0aCcgdHlwZT0nc3RydWN0IF94bWxOb2RlU2V0Jz4KKyAgICAgIDxmaWVsZCBuYW1lPSdub2RlTnInIHR5cGU9J2ludCcgaW5mbz0nIG51bWJlciBvZiBub2RlcyBpbiB0aGUgc2V0Jy8+CisgICAgICA8ZmllbGQgbmFtZT0nbm9kZU1heCcgdHlwZT0naW50JyBpbmZvPScgc2l6ZSBvZiB0aGUgYXJyYXkgYXMgYWxsb2NhdGVkJy8+CisgICAgICA8ZmllbGQgbmFtZT0nbm9kZVRhYicgdHlwZT0neG1sTm9kZVB0ciAqJyBpbmZvPScgYXJyYXkgb2Ygbm9kZXMgaW4gbm8gcGFydGljdWxhciBvcmRlciBAQCB3aXRoX25zIHRvIGNoZWNrIHdldGhlciBuYW1lc3BhY2Ugbm9kZXMgc2hvdWxkIGJlIGxvb2tlZCBhdCBAQCcvPgorICAgIDwvc3RydWN0PgorICAgIDx0eXBlZGVmIG5hbWU9J3htbE5vZGVTZXRQdHInIGZpbGU9J3hwYXRoJyB0eXBlPSd4bWxOb2RlU2V0IConLz4KKyAgICA8c3RydWN0IG5hbWU9J3htbE5vdGF0aW9uJyBmaWxlPSd0cmVlJyB0eXBlPSdzdHJ1Y3QgX3htbE5vdGF0aW9uJz4KKyAgICAgIDxmaWVsZCBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89JyBOb3RhdGlvbiBuYW1lJy8+CisgICAgICA8ZmllbGQgbmFtZT0nUHVibGljSUQnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nIFB1YmxpYyBpZGVudGlmaWVyLCBpZiBhbnknLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdTeXN0ZW1JRCcgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPScgU3lzdGVtIGlkZW50aWZpZXIsIGlmIGFueScvPgorICAgIDwvc3RydWN0PgorICAgIDx0eXBlZGVmIG5hbWU9J3htbE5vdGF0aW9uUHRyJyBmaWxlPSd0cmVlJyB0eXBlPSd4bWxOb3RhdGlvbiAqJy8+CisgICAgPHN0cnVjdCBuYW1lPSd4bWxOb3RhdGlvblRhYmxlJyBmaWxlPSd2YWxpZCcgdHlwZT0nc3RydWN0IF94bWxIYXNoVGFibGUnLz4KKyAgICA8dHlwZWRlZiBuYW1lPSd4bWxOb3RhdGlvblRhYmxlUHRyJyBmaWxlPSd2YWxpZCcgdHlwZT0neG1sTm90YXRpb25UYWJsZSAqJy8+CisgICAgPHN0cnVjdCBuYW1lPSd4bWxOcycgZmlsZT0ndHJlZScgdHlwZT0nc3RydWN0IF94bWxOcyc+CisgICAgICA8ZmllbGQgbmFtZT0nbmV4dCcgdHlwZT0nc3RydWN0IF94bWxOcyAqJyBpbmZvPScgbmV4dCBOcyBsaW5rIGZvciB0aGlzIG5vZGUgJy8+CisgICAgICA8ZmllbGQgbmFtZT0ndHlwZScgdHlwZT0neG1sTnNUeXBlJyBpbmZvPScgZ2xvYmFsIG9yIGxvY2FsJy8+CisgICAgICA8ZmllbGQgbmFtZT0naHJlZicgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPScgVVJMIGZvciB0aGUgbmFtZXNwYWNlJy8+CisgICAgICA8ZmllbGQgbmFtZT0ncHJlZml4JyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89JyBwcmVmaXggZm9yIHRoZSBuYW1lc3BhY2UnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdfcHJpdmF0ZScgdHlwZT0ndm9pZCAqJyBpbmZvPScgYXBwbGljYXRpb24gZGF0YScvPgorICAgICAgPGZpZWxkIG5hbWU9J2NvbnRleHQnIHR5cGU9J3N0cnVjdCBfeG1sRG9jIConIGluZm89JyBub3JtYWxseSBhbiB4bWxEb2MnLz4KKyAgICA8L3N0cnVjdD4KKyAgICA8dHlwZWRlZiBuYW1lPSd4bWxOc1B0cicgZmlsZT0ndHJlZScgdHlwZT0neG1sTnMgKicvPgorICAgIDx0eXBlZGVmIG5hbWU9J3htbE5zVHlwZScgZmlsZT0ndHJlZScgdHlwZT0neG1sRWxlbWVudFR5cGUnLz4KKyAgICA8c3RydWN0IG5hbWU9J3htbE91dHB1dEJ1ZmZlcicgZmlsZT0ndHJlZScgdHlwZT0nc3RydWN0IF94bWxPdXRwdXRCdWZmZXInPgorICAgICAgPGZpZWxkIG5hbWU9J2NvbnRleHQnIHR5cGU9J3ZvaWQgKicgaW5mbz0nJy8+CisgICAgICA8ZmllbGQgbmFtZT0nd3JpdGVjYWxsYmFjaycgdHlwZT0neG1sT3V0cHV0V3JpdGVDYWxsYmFjaycgaW5mbz0nJy8+CisgICAgICA8ZmllbGQgbmFtZT0nY2xvc2VjYWxsYmFjaycgdHlwZT0neG1sT3V0cHV0Q2xvc2VDYWxsYmFjaycgaW5mbz0nJy8+CisgICAgICA8ZmllbGQgbmFtZT0nZW5jb2RlcicgdHlwZT0neG1sQ2hhckVuY29kaW5nSGFuZGxlclB0cicgaW5mbz0nIEkxOE4gY29udmVyc2lvbnMgdG8gVVRGLTgnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdidWZmZXInIHR5cGU9J3htbEJ1ZlB0cicgaW5mbz0nIExvY2FsIGJ1ZmZlciBlbmNvZGVkIGluIFVURi04IG9yIElTT0xhdGluJy8+CisgICAgICA8ZmllbGQgbmFtZT0nY29udicgdHlwZT0neG1sQnVmUHRyJyBpbmZvPScgaWYgZW5jb2RlciAhPSBOVUxMIGJ1ZmZlciBmb3Igb3V0cHV0Jy8+CisgICAgICA8ZmllbGQgbmFtZT0nd3JpdHRlbicgdHlwZT0naW50JyBpbmZvPScgdG90YWwgbnVtYmVyIG9mIGJ5dGUgd3JpdHRlbicvPgorICAgICAgPGZpZWxkIG5hbWU9J2Vycm9yJyB0eXBlPSdpbnQnIGluZm89JycvPgorICAgIDwvc3RydWN0PgorICAgIDx0eXBlZGVmIG5hbWU9J3htbE91dHB1dEJ1ZmZlclB0cicgZmlsZT0ndHJlZScgdHlwZT0neG1sT3V0cHV0QnVmZmVyIConLz4KKyAgICA8c3RydWN0IG5hbWU9J3htbFBhcnNlckN0eHQnIGZpbGU9J3RyZWUnIHR5cGU9J3N0cnVjdCBfeG1sUGFyc2VyQ3R4dCc+CisgICAgICA8ZmllbGQgbmFtZT0nc2F4JyB0eXBlPSdzdHJ1Y3QgX3htbFNBWEhhbmRsZXIgKicgaW5mbz0nIFRoZSBTQVggaGFuZGxlcicvPgorICAgICAgPGZpZWxkIG5hbWU9J3VzZXJEYXRhJyB0eXBlPSd2b2lkIConIGluZm89JyBGb3IgU0FYIGludGVyZmFjZSBvbmx5LCB1c2VkIGJ5IERPTSBidWlsZCcvPgorICAgICAgPGZpZWxkIG5hbWU9J215RG9jJyB0eXBlPSd4bWxEb2NQdHInIGluZm89JyB0aGUgZG9jdW1lbnQgYmVpbmcgYnVpbHQnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSd3ZWxsRm9ybWVkJyB0eXBlPSdpbnQnIGluZm89JyBpcyB0aGUgZG9jdW1lbnQgd2VsbCBmb3JtZWQnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdyZXBsYWNlRW50aXRpZXMnIHR5cGU9J2ludCcgaW5mbz0nIHNoYWxsIHdlIHJlcGxhY2UgZW50aXRpZXMgPycvPgorICAgICAgPGZpZWxkIG5hbWU9J3ZlcnNpb24nIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nIHRoZSBYTUwgdmVyc2lvbiBzdHJpbmcnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdlbmNvZGluZycgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPScgdGhlIGRlY2xhcmVkIGVuY29kaW5nLCBpZiBhbnknLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdzdGFuZGFsb25lJyB0eXBlPSdpbnQnIGluZm89JyBzdGFuZGFsb25lIGRvY3VtZW50Jy8+CisgICAgICA8ZmllbGQgbmFtZT0naHRtbCcgdHlwZT0naW50JyBpbmZvPScgYW4gSFRNTCgxKS9Eb2Nib29rKDIpIGRvY3VtZW50CisqIDMgaXMgSFRNTCBhZnRlciAmbHQ7aGVhZCZndDsKKyogMTAgaXMgSFRNTCBhZnRlciAmbHQ7Ym9keSZndDsKKyogSW5wdXQgc3RyZWFtIHN0YWNrJy8+CisgICAgICA8ZmllbGQgbmFtZT0naW5wdXQnIHR5cGU9J3htbFBhcnNlcklucHV0UHRyJyBpbmZvPScgQ3VycmVudCBpbnB1dCBzdHJlYW0nLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdpbnB1dE5yJyB0eXBlPSdpbnQnIGluZm89JyBOdW1iZXIgb2YgY3VycmVudCBpbnB1dCBzdHJlYW1zJy8+CisgICAgICA8ZmllbGQgbmFtZT0naW5wdXRNYXgnIHR5cGU9J2ludCcgaW5mbz0nIE1heCBudW1iZXIgb2YgaW5wdXQgc3RyZWFtcycvPgorICAgICAgPGZpZWxkIG5hbWU9J2lucHV0VGFiJyB0eXBlPSd4bWxQYXJzZXJJbnB1dFB0ciAqJyBpbmZvPScgc3RhY2sgb2YgaW5wdXRzIE5vZGUgYW5hbHlzaXMgc3RhY2sgb25seSB1c2VkIGZvciBET00gYnVpbGRpbmcnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdub2RlJyB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPScgQ3VycmVudCBwYXJzZWQgTm9kZScvPgorICAgICAgPGZpZWxkIG5hbWU9J25vZGVOcicgdHlwZT0naW50JyBpbmZvPScgRGVwdGggb2YgdGhlIHBhcnNpbmcgc3RhY2snLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdub2RlTWF4JyB0eXBlPSdpbnQnIGluZm89JyBNYXggZGVwdGggb2YgdGhlIHBhcnNpbmcgc3RhY2snLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdub2RlVGFiJyB0eXBlPSd4bWxOb2RlUHRyIConIGluZm89JyBhcnJheSBvZiBub2RlcycvPgorICAgICAgPGZpZWxkIG5hbWU9J3JlY29yZF9pbmZvJyB0eXBlPSdpbnQnIGluZm89JyBXaGV0aGVyIG5vZGUgaW5mbyBzaG91bGQgYmUga2VwdCcvPgorICAgICAgPGZpZWxkIG5hbWU9J25vZGVfc2VxJyB0eXBlPSd4bWxQYXJzZXJOb2RlSW5mb1NlcScgaW5mbz0nIGluZm8gYWJvdXQgZWFjaCBub2RlIHBhcnNlZCcvPgorICAgICAgPGZpZWxkIG5hbWU9J2Vyck5vJyB0eXBlPSdpbnQnIGluZm89JyBlcnJvciBjb2RlJy8+CisgICAgICA8ZmllbGQgbmFtZT0naGFzRXh0ZXJuYWxTdWJzZXQnIHR5cGU9J2ludCcgaW5mbz0nIHJlZmVyZW5jZSBhbmQgZXh0ZXJuYWwgc3Vic2V0Jy8+CisgICAgICA8ZmllbGQgbmFtZT0naGFzUEVyZWZzJyB0eXBlPSdpbnQnIGluZm89JyB0aGUgaW50ZXJuYWwgc3Vic2V0IGhhcyBQRSByZWZzJy8+CisgICAgICA8ZmllbGQgbmFtZT0nZXh0ZXJuYWwnIHR5cGU9J2ludCcgaW5mbz0nIGFyZSB3ZSBwYXJzaW5nIGFuIGV4dGVybmFsIGVudGl0eScvPgorICAgICAgPGZpZWxkIG5hbWU9J3ZhbGlkJyB0eXBlPSdpbnQnIGluZm89JyBpcyB0aGUgZG9jdW1lbnQgdmFsaWQnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSd2YWxpZGF0ZScgdHlwZT0naW50JyBpbmZvPScgc2hhbGwgd2UgdHJ5IHRvIHZhbGlkYXRlID8nLz4KKyAgICAgIDxmaWVsZCBuYW1lPSd2Y3R4dCcgdHlwZT0neG1sVmFsaWRDdHh0JyBpbmZvPScgVGhlIHZhbGlkaXR5IGNvbnRleHQnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdpbnN0YXRlJyB0eXBlPSd4bWxQYXJzZXJJbnB1dFN0YXRlJyBpbmZvPScgY3VycmVudCB0eXBlIG9mIGlucHV0Jy8+CisgICAgICA8ZmllbGQgbmFtZT0ndG9rZW4nIHR5cGU9J2ludCcgaW5mbz0nIG5leHQgY2hhciBsb29rLWFoZWFkJy8+CisgICAgICA8ZmllbGQgbmFtZT0nZGlyZWN0b3J5JyB0eXBlPSdjaGFyIConIGluZm89JyB0aGUgZGF0YSBkaXJlY3RvcnkgTm9kZSBuYW1lIHN0YWNrJy8+CisgICAgICA8ZmllbGQgbmFtZT0nbmFtZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPScgQ3VycmVudCBwYXJzZWQgTm9kZScvPgorICAgICAgPGZpZWxkIG5hbWU9J25hbWVOcicgdHlwZT0naW50JyBpbmZvPScgRGVwdGggb2YgdGhlIHBhcnNpbmcgc3RhY2snLz4KKyAgICAgIDxmaWVsZCBuYW1lPSduYW1lTWF4JyB0eXBlPSdpbnQnIGluZm89JyBNYXggZGVwdGggb2YgdGhlIHBhcnNpbmcgc3RhY2snLz4KKyAgICAgIDxmaWVsZCBuYW1lPSduYW1lVGFiJyB0eXBlPSdjb25zdCB4bWxDaGFyICogKicgaW5mbz0nIGFycmF5IG9mIG5vZGVzJy8+CisgICAgICA8ZmllbGQgbmFtZT0nbmJDaGFycycgdHlwZT0nbG9uZycgaW5mbz0nIG51bWJlciBvZiB4bWxDaGFyIHByb2Nlc3NlZCcvPgorICAgICAgPGZpZWxkIG5hbWU9J2NoZWNrSW5kZXgnIHR5cGU9J2xvbmcnIGluZm89JyB1c2VkIGJ5IHByb2dyZXNzaXZlIHBhcnNpbmcgbG9va3VwJy8+CisgICAgICA8ZmllbGQgbmFtZT0na2VlcEJsYW5rcycgdHlwZT0naW50JyBpbmZvPScgdWdseSBidXQgLi4uJy8+CisgICAgICA8ZmllbGQgbmFtZT0nZGlzYWJsZVNBWCcgdHlwZT0naW50JyBpbmZvPScgU0FYIGNhbGxiYWNrcyBhcmUgZGlzYWJsZWQnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdpblN1YnNldCcgdHlwZT0naW50JyBpbmZvPScgUGFyc2luZyBpcyBpbiBpbnQgMS9leHQgMiBzdWJzZXQnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdpbnRTdWJOYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89JyBuYW1lIG9mIHN1YnNldCcvPgorICAgICAgPGZpZWxkIG5hbWU9J2V4dFN1YlVSSScgdHlwZT0neG1sQ2hhciAqJyBpbmZvPScgVVJJIG9mIGV4dGVybmFsIHN1YnNldCcvPgorICAgICAgPGZpZWxkIG5hbWU9J2V4dFN1YlN5c3RlbScgdHlwZT0neG1sQ2hhciAqJyBpbmZvPScgU1lTVEVNIElEIG9mIGV4dGVybmFsIHN1YnNldCB4bWw6c3BhY2UgdmFsdWVzJy8+CisgICAgICA8ZmllbGQgbmFtZT0nc3BhY2UnIHR5cGU9J2ludCAqJyBpbmZvPScgU2hvdWxkIHRoZSBwYXJzZXIgcHJlc2VydmUgc3BhY2VzJy8+CisgICAgICA8ZmllbGQgbmFtZT0nc3BhY2VOcicgdHlwZT0naW50JyBpbmZvPScgRGVwdGggb2YgdGhlIHBhcnNpbmcgc3RhY2snLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdzcGFjZU1heCcgdHlwZT0naW50JyBpbmZvPScgTWF4IGRlcHRoIG9mIHRoZSBwYXJzaW5nIHN0YWNrJy8+CisgICAgICA8ZmllbGQgbmFtZT0nc3BhY2VUYWInIHR5cGU9J2ludCAqJyBpbmZvPScgYXJyYXkgb2Ygc3BhY2UgaW5mb3MnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdkZXB0aCcgdHlwZT0naW50JyBpbmZvPScgdG8gcHJldmVudCBlbnRpdHkgc3Vic3RpdHV0aW9uIGxvb3BzJy8+CisgICAgICA8ZmllbGQgbmFtZT0nZW50aXR5JyB0eXBlPSd4bWxQYXJzZXJJbnB1dFB0cicgaW5mbz0nIHVzZWQgdG8gY2hlY2sgZW50aXRpZXMgYm91bmRhcmllcycvPgorICAgICAgPGZpZWxkIG5hbWU9J2NoYXJzZXQnIHR5cGU9J2ludCcgaW5mbz0nIGVuY29kaW5nIG9mIHRoZSBpbi1tZW1vcnkgY29udGVudAorYWN0dWFsbHkgYW4geG1sQ2hhckVuY29kaW5nJy8+CisgICAgICA8ZmllbGQgbmFtZT0nbm9kZWxlbicgdHlwZT0naW50JyBpbmZvPScgVGhvc2UgdHdvIGZpZWxkcyBhcmUgdGhlcmUgdG8nLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdub2RlbWVtJyB0eXBlPSdpbnQnIGluZm89JyBTcGVlZCB1cCBsYXJnZSBub2RlIHBhcnNpbmcnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdwZWRhbnRpYycgdHlwZT0naW50JyBpbmZvPScgc2lnbmFsIHBlZGFudGljIHdhcm5pbmdzJy8+CisgICAgICA8ZmllbGQgbmFtZT0nX3ByaXZhdGUnIHR5cGU9J3ZvaWQgKicgaW5mbz0nIEZvciB1c2VyIGRhdGEsIGxpYnhtbCB3b24mYXBvczt0IHRvdWNoIGl0Jy8+CisgICAgICA8ZmllbGQgbmFtZT0nbG9hZHN1YnNldCcgdHlwZT0naW50JyBpbmZvPScgc2hvdWxkIHRoZSBleHRlcm5hbCBzdWJzZXQgYmUgbG9hZGVkJy8+CisgICAgICA8ZmllbGQgbmFtZT0nbGluZW51bWJlcnMnIHR5cGU9J2ludCcgaW5mbz0nIHNldCBsaW5lIG51bWJlciBpbiBlbGVtZW50IGNvbnRlbnQnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdjYXRhbG9ncycgdHlwZT0ndm9pZCAqJyBpbmZvPScgZG9jdW1lbnQmYXBvcztzIG93biBjYXRhbG9nJy8+CisgICAgICA8ZmllbGQgbmFtZT0ncmVjb3ZlcnknIHR5cGU9J2ludCcgaW5mbz0nIHJ1biBpbiByZWNvdmVyeSBtb2RlJy8+CisgICAgICA8ZmllbGQgbmFtZT0ncHJvZ3Jlc3NpdmUnIHR5cGU9J2ludCcgaW5mbz0nIGlzIHRoaXMgYSBwcm9ncmVzc2l2ZSBwYXJzaW5nJy8+CisgICAgICA8ZmllbGQgbmFtZT0nZGljdCcgdHlwZT0neG1sRGljdFB0cicgaW5mbz0nIGRpY3Rpb25uYXJ5IGZvciB0aGUgcGFyc2VyJy8+CisgICAgICA8ZmllbGQgbmFtZT0nYXR0cycgdHlwZT0nY29uc3QgeG1sQ2hhciAqIConIGluZm89JyBhcnJheSBmb3IgdGhlIGF0dHJpYnV0ZXMgY2FsbGJhY2tzJy8+CisgICAgICA8ZmllbGQgbmFtZT0nbWF4YXR0cycgdHlwZT0naW50JyBpbmZvPScgdGhlIHNpemUgb2YgdGhlIGFycmF5Jy8+CisgICAgICA8ZmllbGQgbmFtZT0nZG9jZGljdCcgdHlwZT0naW50JyBpbmZvPScqIHByZS1pbnRlcm5lZCBzdHJpbmdzCisqJy8+CisgICAgICA8ZmllbGQgbmFtZT0nc3RyX3htbCcgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdzdHJfeG1sbnMnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nJy8+CisgICAgICA8ZmllbGQgbmFtZT0nc3RyX3htbF9ucycgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPScqIEV2ZXJ5dGhpbmcgYmVsb3cgaXMgdXNlZCBvbmx5IGJ5IHRoZSBuZXcgU0FYIG1vZGUKKyonLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdzYXgyJyB0eXBlPSdpbnQnIGluZm89JyBvcGVyYXRpbmcgaW4gdGhlIG5ldyBTQVggbW9kZScvPgorICAgICAgPGZpZWxkIG5hbWU9J25zTnInIHR5cGU9J2ludCcgaW5mbz0nIHRoZSBudW1iZXIgb2YgaW5oZXJpdGVkIG5hbWVzcGFjZXMnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSduc01heCcgdHlwZT0naW50JyBpbmZvPScgdGhlIHNpemUgb2YgdGhlIGFycmF5cycvPgorICAgICAgPGZpZWxkIG5hbWU9J25zVGFiJyB0eXBlPSdjb25zdCB4bWxDaGFyICogKicgaW5mbz0nIHRoZSBhcnJheSBvZiBwcmVmaXgvbmFtZXNwYWNlIG5hbWUnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdhdHRhbGxvY3MnIHR5cGU9J2ludCAqJyBpbmZvPScgd2hpY2ggYXR0cmlidXRlIHdlcmUgYWxsb2NhdGVkJy8+CisgICAgICA8ZmllbGQgbmFtZT0ncHVzaFRhYicgdHlwZT0ndm9pZCAqIConIGluZm89JyBhcnJheSBvZiBkYXRhIGZvciBwdXNoJy8+CisgICAgICA8ZmllbGQgbmFtZT0nYXR0c0RlZmF1bHQnIHR5cGU9J3htbEhhc2hUYWJsZVB0cicgaW5mbz0nIGRlZmF1bHRlZCBhdHRyaWJ1dGVzIGlmIGFueScvPgorICAgICAgPGZpZWxkIG5hbWU9J2F0dHNTcGVjaWFsJyB0eXBlPSd4bWxIYXNoVGFibGVQdHInIGluZm89JyBub24tQ0RBVEEgYXR0cmlidXRlcyBpZiBhbnknLz4KKyAgICAgIDxmaWVsZCBuYW1lPSduc1dlbGxGb3JtZWQnIHR5cGU9J2ludCcgaW5mbz0nIGlzIHRoZSBkb2N1bWVudCBYTUwgTmFuZXNwYWNlIG9rYXknLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdvcHRpb25zJyB0eXBlPSdpbnQnIGluZm89JyogVGhvc2UgZmllbGRzIGFyZSBuZWVkZWQgb25seSBmb3IgdHJlYW1pbmcgcGFyc2luZyBzbyBmYXIKKyonLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdkaWN0TmFtZXMnIHR5cGU9J2ludCcgaW5mbz0nIFVzZSBkaWN0aW9uYXJ5IG5hbWVzIGZvciB0aGUgdHJlZScvPgorICAgICAgPGZpZWxkIG5hbWU9J2ZyZWVFbGVtc05yJyB0eXBlPSdpbnQnIGluZm89JyBudW1iZXIgb2YgZnJlZWQgZWxlbWVudCBub2RlcycvPgorICAgICAgPGZpZWxkIG5hbWU9J2ZyZWVFbGVtcycgdHlwZT0neG1sTm9kZVB0cicgaW5mbz0nIExpc3Qgb2YgZnJlZWQgZWxlbWVudCBub2RlcycvPgorICAgICAgPGZpZWxkIG5hbWU9J2ZyZWVBdHRyc05yJyB0eXBlPSdpbnQnIGluZm89JyBudW1iZXIgb2YgZnJlZWQgYXR0cmlidXRlcyBub2RlcycvPgorICAgICAgPGZpZWxkIG5hbWU9J2ZyZWVBdHRycycgdHlwZT0neG1sQXR0clB0cicgaW5mbz0nKiB0aGUgY29tcGxldGUgZXJyb3IgaW5mb3JtYXRpb25zIGZvciB0aGUgbGFzdCBlcnJvci4KKyonLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdsYXN0RXJyb3InIHR5cGU9J3htbEVycm9yJyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdwYXJzZU1vZGUnIHR5cGU9J3htbFBhcnNlck1vZGUnIGluZm89JyB0aGUgcGFyc2VyIG1vZGUnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSduYmVudGl0aWVzJyB0eXBlPSd1bnNpZ25lZCBsb25nJyBpbmZvPScgbnVtYmVyIG9mIGVudGl0aWVzIHJlZmVyZW5jZXMnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdzaXplZW50aXRpZXMnIHR5cGU9J3Vuc2lnbmVkIGxvbmcnIGluZm89JyBzaXplIG9mIHBhcnNlZCBlbnRpdGllcyBmb3IgdXNlIGJ5IEhUTUwgbm9uLXJlY3Vyc2l2ZSBwYXJzZXInLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdub2RlSW5mbycgdHlwZT0neG1sUGFyc2VyTm9kZUluZm8gKicgaW5mbz0nIEN1cnJlbnQgTm9kZUluZm8nLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdub2RlSW5mb05yJyB0eXBlPSdpbnQnIGluZm89JyBEZXB0aCBvZiB0aGUgcGFyc2luZyBzdGFjaycvPgorICAgICAgPGZpZWxkIG5hbWU9J25vZGVJbmZvTWF4JyB0eXBlPSdpbnQnIGluZm89JyBNYXggZGVwdGggb2YgdGhlIHBhcnNpbmcgc3RhY2snLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdub2RlSW5mb1RhYicgdHlwZT0neG1sUGFyc2VyTm9kZUluZm8gKicgaW5mbz0nIGFycmF5IG9mIG5vZGVJbmZvcycvPgorICAgICAgPGZpZWxkIG5hbWU9J2lucHV0X2lkJyB0eXBlPSdpbnQnIGluZm89JyB3ZSBuZWVkIHRvIGxhYmVsIGlucHV0cycvPgorICAgICAgPGZpZWxkIG5hbWU9J3NpemVlbnRjb3B5JyB0eXBlPSd1bnNpZ25lZCBsb25nJyBpbmZvPScgdm9sdW1lIG9mIGVudGl0eSBjb3B5Jy8+CisgICAgPC9zdHJ1Y3Q+CisgICAgPHR5cGVkZWYgbmFtZT0neG1sUGFyc2VyQ3R4dFB0cicgZmlsZT0ndHJlZScgdHlwZT0neG1sUGFyc2VyQ3R4dCAqJy8+CisgICAgPHR5cGVkZWYgbmFtZT0neG1sUGFyc2VyRXJyb3JzJyBmaWxlPSd4bWxlcnJvcicgdHlwZT0nZW51bScvPgorICAgIDxzdHJ1Y3QgbmFtZT0neG1sUGFyc2VySW5wdXQnIGZpbGU9J3RyZWUnIHR5cGU9J3N0cnVjdCBfeG1sUGFyc2VySW5wdXQnPgorICAgICAgPGZpZWxkIG5hbWU9J2J1ZicgdHlwZT0neG1sUGFyc2VySW5wdXRCdWZmZXJQdHInIGluZm89JyBVVEYtOCBlbmNvZGVkIGJ1ZmZlcicvPgorICAgICAgPGZpZWxkIG5hbWU9J2ZpbGVuYW1lJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89JyBUaGUgZmlsZSBhbmFseXplZCwgaWYgYW55Jy8+CisgICAgICA8ZmllbGQgbmFtZT0nZGlyZWN0b3J5JyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89JyB0aGUgZGlyZWN0b3J5L2Jhc2Ugb2YgdGhlIGZpbGUnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdiYXNlJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89JyBCYXNlIG9mIHRoZSBhcnJheSB0byBwYXJzZScvPgorICAgICAgPGZpZWxkIG5hbWU9J2N1cicgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPScgQ3VycmVudCBjaGFyIGJlaW5nIHBhcnNlZCcvPgorICAgICAgPGZpZWxkIG5hbWU9J2VuZCcgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPScgZW5kIG9mIHRoZSBhcnJheSB0byBwYXJzZScvPgorICAgICAgPGZpZWxkIG5hbWU9J2xlbmd0aCcgdHlwZT0naW50JyBpbmZvPScgbGVuZ3RoIGlmIGtub3duJy8+CisgICAgICA8ZmllbGQgbmFtZT0nbGluZScgdHlwZT0naW50JyBpbmZvPScgQ3VycmVudCBsaW5lJy8+CisgICAgICA8ZmllbGQgbmFtZT0nY29sJyB0eXBlPSdpbnQnIGluZm89JyogTk9URTogY29uc3VtZWQgaXMgb25seSB0ZXN0ZWQgZm9yIGVxdWFsaXR5IGluIHRoZSBwYXJzZXIgY29kZSwKKyogICAgICAgc28gZXZlbiBpZiB0aGVyZSBpcyBhbiBvdmVyZmxvdyB0aGlzIHNob3VsZCBub3QgZ2l2ZSB0cm91YmxlcworKiAgICAgICBmb3IgcGFyc2luZyB2ZXJ5IGxhcmdlIGluc3RhbmNlcy4KKyonLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdjb25zdW1lZCcgdHlwZT0ndW5zaWduZWQgbG9uZycgaW5mbz0nIEhvdyBtYW55IHhtbENoYXJzIGFscmVhZHkgY29uc3VtZWQnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdmcmVlJyB0eXBlPSd4bWxQYXJzZXJJbnB1dERlYWxsb2NhdGUnIGluZm89JyBmdW5jdGlvbiB0byBkZWFsbG9jYXRlIHRoZSBiYXNlJy8+CisgICAgICA8ZmllbGQgbmFtZT0nZW5jb2RpbmcnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nIHRoZSBlbmNvZGluZyBzdHJpbmcgZm9yIGVudGl0eScvPgorICAgICAgPGZpZWxkIG5hbWU9J3ZlcnNpb24nIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nIHRoZSB2ZXJzaW9uIHN0cmluZyBmb3IgZW50aXR5Jy8+CisgICAgICA8ZmllbGQgbmFtZT0nc3RhbmRhbG9uZScgdHlwZT0naW50JyBpbmZvPScgV2FzIHRoYXQgZW50aXR5IG1hcmtlZCBzdGFuZGFsb25lJy8+CisgICAgICA8ZmllbGQgbmFtZT0naWQnIHR5cGU9J2ludCcgaW5mbz0nIGFuIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgZW50aXR5Jy8+CisgICAgPC9zdHJ1Y3Q+CisgICAgPHN0cnVjdCBuYW1lPSd4bWxQYXJzZXJJbnB1dEJ1ZmZlcicgZmlsZT0ndHJlZScgdHlwZT0nc3RydWN0IF94bWxQYXJzZXJJbnB1dEJ1ZmZlcic+CisgICAgICA8ZmllbGQgbmFtZT0nY29udGV4dCcgdHlwZT0ndm9pZCAqJyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdyZWFkY2FsbGJhY2snIHR5cGU9J3htbElucHV0UmVhZENhbGxiYWNrJyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdjbG9zZWNhbGxiYWNrJyB0eXBlPSd4bWxJbnB1dENsb3NlQ2FsbGJhY2snIGluZm89JycvPgorICAgICAgPGZpZWxkIG5hbWU9J2VuY29kZXInIHR5cGU9J3htbENoYXJFbmNvZGluZ0hhbmRsZXJQdHInIGluZm89JyBJMThOIGNvbnZlcnNpb25zIHRvIFVURi04Jy8+CisgICAgICA8ZmllbGQgbmFtZT0nYnVmZmVyJyB0eXBlPSd4bWxCdWZQdHInIGluZm89JyBMb2NhbCBidWZmZXIgZW5jb2RlZCBpbiBVVEYtOCcvPgorICAgICAgPGZpZWxkIG5hbWU9J3JhdycgdHlwZT0neG1sQnVmUHRyJyBpbmZvPScgaWYgZW5jb2RlciAhPSBOVUxMIGJ1ZmZlciBmb3IgcmF3IGlucHV0Jy8+CisgICAgICA8ZmllbGQgbmFtZT0nY29tcHJlc3NlZCcgdHlwZT0naW50JyBpbmZvPScgLTE9dW5rbm93biwgMD1ub3QgY29tcHJlc3NlZCwgMT1jb21wcmVzc2VkJy8+CisgICAgICA8ZmllbGQgbmFtZT0nZXJyb3InIHR5cGU9J2ludCcgaW5mbz0nJy8+CisgICAgICA8ZmllbGQgbmFtZT0ncmF3Y29uc3VtZWQnIHR5cGU9J3Vuc2lnbmVkIGxvbmcnIGluZm89JyBhbW91bnQgY29uc3VtZWQgZnJvbSByYXcnLz4KKyAgICA8L3N0cnVjdD4KKyAgICA8dHlwZWRlZiBuYW1lPSd4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cicgZmlsZT0ndHJlZScgdHlwZT0neG1sUGFyc2VySW5wdXRCdWZmZXIgKicvPgorICAgIDx0eXBlZGVmIG5hbWU9J3htbFBhcnNlcklucHV0UHRyJyBmaWxlPSd0cmVlJyB0eXBlPSd4bWxQYXJzZXJJbnB1dCAqJy8+CisgICAgPHR5cGVkZWYgbmFtZT0neG1sUGFyc2VySW5wdXRTdGF0ZScgZmlsZT0ncGFyc2VyJyB0eXBlPSdlbnVtJy8+CisgICAgPHR5cGVkZWYgbmFtZT0neG1sUGFyc2VyTW9kZScgZmlsZT0ncGFyc2VyJyB0eXBlPSdlbnVtJy8+CisgICAgPHN0cnVjdCBuYW1lPSd4bWxQYXJzZXJOb2RlSW5mbycgZmlsZT0ncGFyc2VyJyB0eXBlPSdzdHJ1Y3QgX3htbFBhcnNlck5vZGVJbmZvJz4KKyAgICAgIDxmaWVsZCBuYW1lPSdub2RlJyB0eXBlPSdjb25zdCBzdHJ1Y3QgX3htbE5vZGUgKicgaW5mbz0nIFBvc2l0aW9uICZhbXA7IGxpbmUgIyB0aGF0IHRleHQgdGhhdCBjcmVhdGVkIHRoZSBub2RlIGJlZ2lucyAmYW1wOyBlbmRzIG9uJy8+CisgICAgICA8ZmllbGQgbmFtZT0nYmVnaW5fcG9zJyB0eXBlPSd1bnNpZ25lZCBsb25nJyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdiZWdpbl9saW5lJyB0eXBlPSd1bnNpZ25lZCBsb25nJyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdlbmRfcG9zJyB0eXBlPSd1bnNpZ25lZCBsb25nJyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdlbmRfbGluZScgdHlwZT0ndW5zaWduZWQgbG9uZycgaW5mbz0nJy8+CisgICAgPC9zdHJ1Y3Q+CisgICAgPHR5cGVkZWYgbmFtZT0neG1sUGFyc2VyTm9kZUluZm9QdHInIGZpbGU9J3BhcnNlcicgdHlwZT0neG1sUGFyc2VyTm9kZUluZm8gKicvPgorICAgIDxzdHJ1Y3QgbmFtZT0neG1sUGFyc2VyTm9kZUluZm9TZXEnIGZpbGU9J3BhcnNlcicgdHlwZT0nc3RydWN0IF94bWxQYXJzZXJOb2RlSW5mb1NlcSc+CisgICAgICA8ZmllbGQgbmFtZT0nbWF4aW11bScgdHlwZT0ndW5zaWduZWQgbG9uZycgaW5mbz0nJy8+CisgICAgICA8ZmllbGQgbmFtZT0nbGVuZ3RoJyB0eXBlPSd1bnNpZ25lZCBsb25nJyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdidWZmZXInIHR5cGU9J3htbFBhcnNlck5vZGVJbmZvIConIGluZm89JycvPgorICAgIDwvc3RydWN0PgorICAgIDx0eXBlZGVmIG5hbWU9J3htbFBhcnNlck5vZGVJbmZvU2VxUHRyJyBmaWxlPSdwYXJzZXInIHR5cGU9J3htbFBhcnNlck5vZGVJbmZvU2VxIConLz4KKyAgICA8dHlwZWRlZiBuYW1lPSd4bWxQYXJzZXJPcHRpb24nIGZpbGU9J3BhcnNlcicgdHlwZT0nZW51bScvPgorICAgIDx0eXBlZGVmIG5hbWU9J3htbFBhcnNlclByb3BlcnRpZXMnIGZpbGU9J3htbHJlYWRlcicgdHlwZT0nZW51bScvPgorICAgIDx0eXBlZGVmIG5hbWU9J3htbFBhcnNlclNldmVyaXRpZXMnIGZpbGU9J3htbHJlYWRlcicgdHlwZT0nZW51bScvPgorICAgIDxzdHJ1Y3QgbmFtZT0neG1sUGF0dGVybicgZmlsZT0ncGF0dGVybicgdHlwZT0nc3RydWN0IF94bWxQYXR0ZXJuJy8+CisgICAgPHR5cGVkZWYgbmFtZT0neG1sUGF0dGVybkZsYWdzJyBmaWxlPSdwYXR0ZXJuJyB0eXBlPSdlbnVtJy8+CisgICAgPHR5cGVkZWYgbmFtZT0neG1sUGF0dGVyblB0cicgZmlsZT0ncGF0dGVybicgdHlwZT0neG1sUGF0dGVybiAqJy8+CisgICAgPHN0cnVjdCBuYW1lPSd4bWxSTXV0ZXgnIGZpbGU9J3RocmVhZHMnIHR5cGU9J3N0cnVjdCBfeG1sUk11dGV4Jy8+CisgICAgPHR5cGVkZWYgbmFtZT0neG1sUk11dGV4UHRyJyBmaWxlPSd0aHJlYWRzJyB0eXBlPSd4bWxSTXV0ZXggKicvPgorICAgIDx0eXBlZGVmIG5hbWU9J3htbFJlYWRlclR5cGVzJyBmaWxlPSd4bWxyZWFkZXInIHR5cGU9J2VudW0nLz4KKyAgICA8c3RydWN0IG5hbWU9J3htbFJlZicgZmlsZT0ndHJlZScgdHlwZT0nc3RydWN0IF94bWxSZWYnPgorICAgICAgPGZpZWxkIG5hbWU9J25leHQnIHR5cGU9J3N0cnVjdCBfeG1sUmVmIConIGluZm89JyBuZXh0IFJlZicvPgorICAgICAgPGZpZWxkIG5hbWU9J3ZhbHVlJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89JyBUaGUgUmVmIG5hbWUnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdhdHRyJyB0eXBlPSd4bWxBdHRyUHRyJyBpbmZvPScgVGhlIGF0dHJpYnV0ZSBob2xkaW5nIGl0Jy8+CisgICAgICA8ZmllbGQgbmFtZT0nbmFtZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPScgVGhlIGF0dHJpYnV0ZSBpZiBhdHRyIGlzIG5vdCBhdmFpbGFibGUnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdsaW5lbm8nIHR5cGU9J2ludCcgaW5mbz0nIFRoZSBsaW5lIG51bWJlciBpZiBhdHRyIGlzIG5vdCBhdmFpbGFibGUnLz4KKyAgICA8L3N0cnVjdD4KKyAgICA8dHlwZWRlZiBuYW1lPSd4bWxSZWZQdHInIGZpbGU9J3RyZWUnIHR5cGU9J3htbFJlZiAqJy8+CisgICAgPHN0cnVjdCBuYW1lPSd4bWxSZWZUYWJsZScgZmlsZT0ndmFsaWQnIHR5cGU9J3N0cnVjdCBfeG1sSGFzaFRhYmxlJy8+CisgICAgPHR5cGVkZWYgbmFtZT0neG1sUmVmVGFibGVQdHInIGZpbGU9J3ZhbGlkJyB0eXBlPSd4bWxSZWZUYWJsZSAqJy8+CisgICAgPHN0cnVjdCBuYW1lPSd4bWxSZWdFeGVjQ3R4dCcgZmlsZT0neG1scmVnZXhwJyB0eXBlPSdzdHJ1Y3QgX3htbFJlZ0V4ZWNDdHh0Jy8+CisgICAgPHR5cGVkZWYgbmFtZT0neG1sUmVnRXhlY0N0eHRQdHInIGZpbGU9J3htbHJlZ2V4cCcgdHlwZT0neG1sUmVnRXhlY0N0eHQgKic+CisgICAgICA8aW5mbz5BIGxpYnhtbCBwcm9ncmVzc2l2ZSByZWd1bGFyIGV4cHJlc3Npb24gZXZhbHVhdGlvbiBjb250ZXh0PC9pbmZvPgorICAgIDwvdHlwZWRlZj4KKyAgICA8c3RydWN0IG5hbWU9J3htbFJlZ2V4cCcgZmlsZT0neG1scmVnZXhwJyB0eXBlPSdzdHJ1Y3QgX3htbFJlZ2V4cCcvPgorICAgIDx0eXBlZGVmIG5hbWU9J3htbFJlZ2V4cFB0cicgZmlsZT0neG1scmVnZXhwJyB0eXBlPSd4bWxSZWdleHAgKic+CisgICAgICA8aW5mbz5BIGxpYnhtbCByZWd1bGFyIGV4cHJlc3Npb24sIHRoZXkgY2FuIGFjdHVhbGx5IGJlIGZhciBtb3JlIGNvbXBsZXggdGhhbmsgdGhlIFBPU0lYIHJlZ2V4IGV4cHJlc3Npb25zLjwvaW5mbz4KKyAgICA8L3R5cGVkZWY+CisgICAgPHN0cnVjdCBuYW1lPSd4bWxSZWxheE5HJyBmaWxlPSdyZWxheG5nJyB0eXBlPSdzdHJ1Y3QgX3htbFJlbGF4TkcnLz4KKyAgICA8c3RydWN0IG5hbWU9J3htbFJlbGF4TkdQYXJzZXJDdHh0JyBmaWxlPSdyZWxheG5nJyB0eXBlPSdzdHJ1Y3QgX3htbFJlbGF4TkdQYXJzZXJDdHh0Jy8+CisgICAgPHR5cGVkZWYgbmFtZT0neG1sUmVsYXhOR1BhcnNlckN0eHRQdHInIGZpbGU9J3JlbGF4bmcnIHR5cGU9J3htbFJlbGF4TkdQYXJzZXJDdHh0IConLz4KKyAgICA8dHlwZWRlZiBuYW1lPSd4bWxSZWxheE5HUGFyc2VyRmxhZycgZmlsZT0ncmVsYXhuZycgdHlwZT0nZW51bScvPgorICAgIDx0eXBlZGVmIG5hbWU9J3htbFJlbGF4TkdQdHInIGZpbGU9J3JlbGF4bmcnIHR5cGU9J3htbFJlbGF4TkcgKicvPgorICAgIDxzdHJ1Y3QgbmFtZT0neG1sUmVsYXhOR1ZhbGlkQ3R4dCcgZmlsZT0ncmVsYXhuZycgdHlwZT0nc3RydWN0IF94bWxSZWxheE5HVmFsaWRDdHh0Jy8+CisgICAgPHR5cGVkZWYgbmFtZT0neG1sUmVsYXhOR1ZhbGlkQ3R4dFB0cicgZmlsZT0ncmVsYXhuZycgdHlwZT0neG1sUmVsYXhOR1ZhbGlkQ3R4dCAqJy8+CisgICAgPHR5cGVkZWYgbmFtZT0neG1sUmVsYXhOR1ZhbGlkRXJyJyBmaWxlPSdyZWxheG5nJyB0eXBlPSdlbnVtJy8+CisgICAgPHN0cnVjdCBuYW1lPSd4bWxTQVhIYW5kbGVyJyBmaWxlPSd0cmVlJyB0eXBlPSdzdHJ1Y3QgX3htbFNBWEhhbmRsZXInPgorICAgICAgPGZpZWxkIG5hbWU9J2ludGVybmFsU3Vic2V0JyB0eXBlPSdpbnRlcm5hbFN1YnNldFNBWEZ1bmMnIGluZm89JycvPgorICAgICAgPGZpZWxkIG5hbWU9J2lzU3RhbmRhbG9uZScgdHlwZT0naXNTdGFuZGFsb25lU0FYRnVuYycgaW5mbz0nJy8+CisgICAgICA8ZmllbGQgbmFtZT0naGFzSW50ZXJuYWxTdWJzZXQnIHR5cGU9J2hhc0ludGVybmFsU3Vic2V0U0FYRnVuYycgaW5mbz0nJy8+CisgICAgICA8ZmllbGQgbmFtZT0naGFzRXh0ZXJuYWxTdWJzZXQnIHR5cGU9J2hhc0V4dGVybmFsU3Vic2V0U0FYRnVuYycgaW5mbz0nJy8+CisgICAgICA8ZmllbGQgbmFtZT0ncmVzb2x2ZUVudGl0eScgdHlwZT0ncmVzb2x2ZUVudGl0eVNBWEZ1bmMnIGluZm89JycvPgorICAgICAgPGZpZWxkIG5hbWU9J2dldEVudGl0eScgdHlwZT0nZ2V0RW50aXR5U0FYRnVuYycgaW5mbz0nJy8+CisgICAgICA8ZmllbGQgbmFtZT0nZW50aXR5RGVjbCcgdHlwZT0nZW50aXR5RGVjbFNBWEZ1bmMnIGluZm89JycvPgorICAgICAgPGZpZWxkIG5hbWU9J25vdGF0aW9uRGVjbCcgdHlwZT0nbm90YXRpb25EZWNsU0FYRnVuYycgaW5mbz0nJy8+CisgICAgICA8ZmllbGQgbmFtZT0nYXR0cmlidXRlRGVjbCcgdHlwZT0nYXR0cmlidXRlRGVjbFNBWEZ1bmMnIGluZm89JycvPgorICAgICAgPGZpZWxkIG5hbWU9J2VsZW1lbnREZWNsJyB0eXBlPSdlbGVtZW50RGVjbFNBWEZ1bmMnIGluZm89JycvPgorICAgICAgPGZpZWxkIG5hbWU9J3VucGFyc2VkRW50aXR5RGVjbCcgdHlwZT0ndW5wYXJzZWRFbnRpdHlEZWNsU0FYRnVuYycgaW5mbz0nJy8+CisgICAgICA8ZmllbGQgbmFtZT0nc2V0RG9jdW1lbnRMb2NhdG9yJyB0eXBlPSdzZXREb2N1bWVudExvY2F0b3JTQVhGdW5jJyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdzdGFydERvY3VtZW50JyB0eXBlPSdzdGFydERvY3VtZW50U0FYRnVuYycgaW5mbz0nJy8+CisgICAgICA8ZmllbGQgbmFtZT0nZW5kRG9jdW1lbnQnIHR5cGU9J2VuZERvY3VtZW50U0FYRnVuYycgaW5mbz0nJy8+CisgICAgICA8ZmllbGQgbmFtZT0nc3RhcnRFbGVtZW50JyB0eXBlPSdzdGFydEVsZW1lbnRTQVhGdW5jJyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdlbmRFbGVtZW50JyB0eXBlPSdlbmRFbGVtZW50U0FYRnVuYycgaW5mbz0nJy8+CisgICAgICA8ZmllbGQgbmFtZT0ncmVmZXJlbmNlJyB0eXBlPSdyZWZlcmVuY2VTQVhGdW5jJyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdjaGFyYWN0ZXJzJyB0eXBlPSdjaGFyYWN0ZXJzU0FYRnVuYycgaW5mbz0nJy8+CisgICAgICA8ZmllbGQgbmFtZT0naWdub3JhYmxlV2hpdGVzcGFjZScgdHlwZT0naWdub3JhYmxlV2hpdGVzcGFjZVNBWEZ1bmMnIGluZm89JycvPgorICAgICAgPGZpZWxkIG5hbWU9J3Byb2Nlc3NpbmdJbnN0cnVjdGlvbicgdHlwZT0ncHJvY2Vzc2luZ0luc3RydWN0aW9uU0FYRnVuYycgaW5mbz0nJy8+CisgICAgICA8ZmllbGQgbmFtZT0nY29tbWVudCcgdHlwZT0nY29tbWVudFNBWEZ1bmMnIGluZm89JycvPgorICAgICAgPGZpZWxkIG5hbWU9J3dhcm5pbmcnIHR5cGU9J3dhcm5pbmdTQVhGdW5jJyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdlcnJvcicgdHlwZT0nZXJyb3JTQVhGdW5jJyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdmYXRhbEVycm9yJyB0eXBlPSdmYXRhbEVycm9yU0FYRnVuYycgaW5mbz0nIHVudXNlZCBlcnJvcigpIGdldCBhbGwgdGhlIGVycm9ycycvPgorICAgICAgPGZpZWxkIG5hbWU9J2dldFBhcmFtZXRlckVudGl0eScgdHlwZT0nZ2V0UGFyYW1ldGVyRW50aXR5U0FYRnVuYycgaW5mbz0nJy8+CisgICAgICA8ZmllbGQgbmFtZT0nY2RhdGFCbG9jaycgdHlwZT0nY2RhdGFCbG9ja1NBWEZ1bmMnIGluZm89JycvPgorICAgICAgPGZpZWxkIG5hbWU9J2V4dGVybmFsU3Vic2V0JyB0eXBlPSdleHRlcm5hbFN1YnNldFNBWEZ1bmMnIGluZm89JycvPgorICAgICAgPGZpZWxkIG5hbWU9J2luaXRpYWxpemVkJyB0eXBlPSd1bnNpZ25lZCBpbnQnIGluZm89JyBUaGUgZm9sbG93aW5nIGZpZWxkcyBhcmUgZXh0ZW5zaW9ucyBhdmFpbGFibGUgb25seSBvbiB2ZXJzaW9uIDInLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdfcHJpdmF0ZScgdHlwZT0ndm9pZCAqJyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdzdGFydEVsZW1lbnROcycgdHlwZT0nc3RhcnRFbGVtZW50TnNTQVgyRnVuYycgaW5mbz0nJy8+CisgICAgICA8ZmllbGQgbmFtZT0nZW5kRWxlbWVudE5zJyB0eXBlPSdlbmRFbGVtZW50TnNTQVgyRnVuYycgaW5mbz0nJy8+CisgICAgICA8ZmllbGQgbmFtZT0nc2Vycm9yJyB0eXBlPSd4bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jJyBpbmZvPScnLz4KKyAgICA8L3N0cnVjdD4KKyAgICA8dHlwZWRlZiBuYW1lPSd4bWxTQVhIYW5kbGVyUHRyJyBmaWxlPSd0cmVlJyB0eXBlPSd4bWxTQVhIYW5kbGVyIConLz4KKyAgICA8c3RydWN0IG5hbWU9J3htbFNBWEhhbmRsZXJWMScgZmlsZT0ncGFyc2VyJyB0eXBlPSdzdHJ1Y3QgX3htbFNBWEhhbmRsZXJWMSc+CisgICAgICA8ZmllbGQgbmFtZT0naW50ZXJuYWxTdWJzZXQnIHR5cGU9J2ludGVybmFsU3Vic2V0U0FYRnVuYycgaW5mbz0nJy8+CisgICAgICA8ZmllbGQgbmFtZT0naXNTdGFuZGFsb25lJyB0eXBlPSdpc1N0YW5kYWxvbmVTQVhGdW5jJyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdoYXNJbnRlcm5hbFN1YnNldCcgdHlwZT0naGFzSW50ZXJuYWxTdWJzZXRTQVhGdW5jJyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdoYXNFeHRlcm5hbFN1YnNldCcgdHlwZT0naGFzRXh0ZXJuYWxTdWJzZXRTQVhGdW5jJyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdyZXNvbHZlRW50aXR5JyB0eXBlPSdyZXNvbHZlRW50aXR5U0FYRnVuYycgaW5mbz0nJy8+CisgICAgICA8ZmllbGQgbmFtZT0nZ2V0RW50aXR5JyB0eXBlPSdnZXRFbnRpdHlTQVhGdW5jJyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdlbnRpdHlEZWNsJyB0eXBlPSdlbnRpdHlEZWNsU0FYRnVuYycgaW5mbz0nJy8+CisgICAgICA8ZmllbGQgbmFtZT0nbm90YXRpb25EZWNsJyB0eXBlPSdub3RhdGlvbkRlY2xTQVhGdW5jJyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdhdHRyaWJ1dGVEZWNsJyB0eXBlPSdhdHRyaWJ1dGVEZWNsU0FYRnVuYycgaW5mbz0nJy8+CisgICAgICA8ZmllbGQgbmFtZT0nZWxlbWVudERlY2wnIHR5cGU9J2VsZW1lbnREZWNsU0FYRnVuYycgaW5mbz0nJy8+CisgICAgICA8ZmllbGQgbmFtZT0ndW5wYXJzZWRFbnRpdHlEZWNsJyB0eXBlPSd1bnBhcnNlZEVudGl0eURlY2xTQVhGdW5jJyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdzZXREb2N1bWVudExvY2F0b3InIHR5cGU9J3NldERvY3VtZW50TG9jYXRvclNBWEZ1bmMnIGluZm89JycvPgorICAgICAgPGZpZWxkIG5hbWU9J3N0YXJ0RG9jdW1lbnQnIHR5cGU9J3N0YXJ0RG9jdW1lbnRTQVhGdW5jJyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdlbmREb2N1bWVudCcgdHlwZT0nZW5kRG9jdW1lbnRTQVhGdW5jJyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdzdGFydEVsZW1lbnQnIHR5cGU9J3N0YXJ0RWxlbWVudFNBWEZ1bmMnIGluZm89JycvPgorICAgICAgPGZpZWxkIG5hbWU9J2VuZEVsZW1lbnQnIHR5cGU9J2VuZEVsZW1lbnRTQVhGdW5jJyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdyZWZlcmVuY2UnIHR5cGU9J3JlZmVyZW5jZVNBWEZ1bmMnIGluZm89JycvPgorICAgICAgPGZpZWxkIG5hbWU9J2NoYXJhY3RlcnMnIHR5cGU9J2NoYXJhY3RlcnNTQVhGdW5jJyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdpZ25vcmFibGVXaGl0ZXNwYWNlJyB0eXBlPSdpZ25vcmFibGVXaGl0ZXNwYWNlU0FYRnVuYycgaW5mbz0nJy8+CisgICAgICA8ZmllbGQgbmFtZT0ncHJvY2Vzc2luZ0luc3RydWN0aW9uJyB0eXBlPSdwcm9jZXNzaW5nSW5zdHJ1Y3Rpb25TQVhGdW5jJyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdjb21tZW50JyB0eXBlPSdjb21tZW50U0FYRnVuYycgaW5mbz0nJy8+CisgICAgICA8ZmllbGQgbmFtZT0nd2FybmluZycgdHlwZT0nd2FybmluZ1NBWEZ1bmMnIGluZm89JycvPgorICAgICAgPGZpZWxkIG5hbWU9J2Vycm9yJyB0eXBlPSdlcnJvclNBWEZ1bmMnIGluZm89JycvPgorICAgICAgPGZpZWxkIG5hbWU9J2ZhdGFsRXJyb3InIHR5cGU9J2ZhdGFsRXJyb3JTQVhGdW5jJyBpbmZvPScgdW51c2VkIGVycm9yKCkgZ2V0IGFsbCB0aGUgZXJyb3JzJy8+CisgICAgICA8ZmllbGQgbmFtZT0nZ2V0UGFyYW1ldGVyRW50aXR5JyB0eXBlPSdnZXRQYXJhbWV0ZXJFbnRpdHlTQVhGdW5jJyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdjZGF0YUJsb2NrJyB0eXBlPSdjZGF0YUJsb2NrU0FYRnVuYycgaW5mbz0nJy8+CisgICAgICA8ZmllbGQgbmFtZT0nZXh0ZXJuYWxTdWJzZXQnIHR5cGU9J2V4dGVybmFsU3Vic2V0U0FYRnVuYycgaW5mbz0nJy8+CisgICAgICA8ZmllbGQgbmFtZT0naW5pdGlhbGl6ZWQnIHR5cGU9J3Vuc2lnbmVkIGludCcgaW5mbz0nJy8+CisgICAgPC9zdHJ1Y3Q+CisgICAgPHR5cGVkZWYgbmFtZT0neG1sU0FYSGFuZGxlclYxUHRyJyBmaWxlPSdwYXJzZXInIHR5cGU9J3htbFNBWEhhbmRsZXJWMSAqJy8+CisgICAgPHN0cnVjdCBuYW1lPSd4bWxTQVhMb2NhdG9yJyBmaWxlPSd0cmVlJyB0eXBlPSdzdHJ1Y3QgX3htbFNBWExvY2F0b3InPgorICAgICAgPGZpZWxkIG5hbWU9J2dldFB1YmxpY0lkJyB0eXBlPSdjb25zdCB4bWxDaGFyICooKmdldFB1YmxpY0lkKScgaW5mbz0nJy8+CisgICAgICA8ZmllbGQgbmFtZT0nZ2V0U3lzdGVtSWQnIHR5cGU9J2NvbnN0IHhtbENoYXIgKigqZ2V0U3lzdGVtSWQpJyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdnZXRMaW5lTnVtYmVyJyB0eXBlPSdpbnQoKmdldExpbmVOdW1iZXIpJyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdnZXRDb2x1bW5OdW1iZXInIHR5cGU9J2ludCgqZ2V0Q29sdW1uTnVtYmVyKScgaW5mbz0nJy8+CisgICAgPC9zdHJ1Y3Q+CisgICAgPHR5cGVkZWYgbmFtZT0neG1sU0FYTG9jYXRvclB0cicgZmlsZT0ndHJlZScgdHlwZT0neG1sU0FYTG9jYXRvciAqJy8+CisgICAgPHN0cnVjdCBuYW1lPSd4bWxTYXZlQ3R4dCcgZmlsZT0neG1sc2F2ZScgdHlwZT0nc3RydWN0IF94bWxTYXZlQ3R4dCcvPgorICAgIDx0eXBlZGVmIG5hbWU9J3htbFNhdmVDdHh0UHRyJyBmaWxlPSd4bWxzYXZlJyB0eXBlPSd4bWxTYXZlQ3R4dCAqJy8+CisgICAgPHR5cGVkZWYgbmFtZT0neG1sU2F2ZU9wdGlvbicgZmlsZT0neG1sc2F2ZScgdHlwZT0nZW51bScvPgorICAgIDxzdHJ1Y3QgbmFtZT0neG1sU2NoZW1hJyBmaWxlPSd4bWxzY2hlbWFzJyB0eXBlPSdzdHJ1Y3QgX3htbFNjaGVtYSc+CisgICAgICA8ZmllbGQgbmFtZT0nbmFtZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPScgc2NoZW1hIG5hbWUnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSd0YXJnZXROYW1lc3BhY2UnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nIHRoZSB0YXJnZXQgbmFtZXNwYWNlJy8+CisgICAgICA8ZmllbGQgbmFtZT0ndmVyc2lvbicgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdpZCcgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPScgT2Jzb2xldGUnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdkb2MnIHR5cGU9J3htbERvY1B0cicgaW5mbz0nJy8+CisgICAgICA8ZmllbGQgbmFtZT0nYW5ub3QnIHR5cGU9J3htbFNjaGVtYUFubm90UHRyJyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdmbGFncycgdHlwZT0naW50JyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSd0eXBlRGVjbCcgdHlwZT0neG1sSGFzaFRhYmxlUHRyJyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdhdHRyRGVjbCcgdHlwZT0neG1sSGFzaFRhYmxlUHRyJyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdhdHRyZ3JwRGVjbCcgdHlwZT0neG1sSGFzaFRhYmxlUHRyJyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdlbGVtRGVjbCcgdHlwZT0neG1sSGFzaFRhYmxlUHRyJyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdub3RhRGVjbCcgdHlwZT0neG1sSGFzaFRhYmxlUHRyJyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdzY2hlbWFzSW1wb3J0cycgdHlwZT0neG1sSGFzaFRhYmxlUHRyJyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdfcHJpdmF0ZScgdHlwZT0ndm9pZCAqJyBpbmZvPScgdW51c2VkIGJ5IHRoZSBsaWJyYXJ5IGZvciB1c2VycyBvciBiaW5kaW5ncycvPgorICAgICAgPGZpZWxkIG5hbWU9J2dyb3VwRGVjbCcgdHlwZT0neG1sSGFzaFRhYmxlUHRyJyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdkaWN0JyB0eXBlPSd4bWxEaWN0UHRyJyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdpbmNsdWRlcycgdHlwZT0ndm9pZCAqJyBpbmZvPScgdGhlIGluY2x1ZGVzLCB0aGlzIGlzIG9wYXF1ZSBmb3Igbm93Jy8+CisgICAgICA8ZmllbGQgbmFtZT0ncHJlc2VydmUnIHR5cGU9J2ludCcgaW5mbz0nIHdoZXRoZXIgdG8gZnJlZSB0aGUgZG9jdW1lbnQnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdjb3VudGVyJyB0eXBlPSdpbnQnIGluZm89JyB1c2VkIHRvIGdpdmUgb25vbnltb3VzIGNvbXBvbmVudHMgdW5pcXVlIG5hbWVzJy8+CisgICAgICA8ZmllbGQgbmFtZT0naWRjRGVmJyB0eXBlPSd4bWxIYXNoVGFibGVQdHInIGluZm89JyBBbGwgaWRlbnRpdHktY29uc3RyYWludCBkZWZzLicvPgorICAgICAgPGZpZWxkIG5hbWU9J3ZvbGF0aWxlcycgdHlwZT0ndm9pZCAqJyBpbmZvPScgT2Jzb2xldGUnLz4KKyAgICA8L3N0cnVjdD4KKyAgICA8c3RydWN0IG5hbWU9J3htbFNjaGVtYUFubm90JyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJyB0eXBlPSdzdHJ1Y3QgX3htbFNjaGVtYUFubm90Jz4KKyAgICAgIDxmaWVsZCBuYW1lPSduZXh0JyB0eXBlPSdzdHJ1Y3QgX3htbFNjaGVtYUFubm90IConIGluZm89JycvPgorICAgICAgPGZpZWxkIG5hbWU9J2NvbnRlbnQnIHR5cGU9J3htbE5vZGVQdHInIGluZm89JyB0aGUgYW5ub3RhdGlvbicvPgorICAgIDwvc3RydWN0PgorICAgIDx0eXBlZGVmIG5hbWU9J3htbFNjaGVtYUFubm90UHRyJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJyB0eXBlPSd4bWxTY2hlbWFBbm5vdCAqJy8+CisgICAgPHN0cnVjdCBuYW1lPSd4bWxTY2hlbWFBdHRyaWJ1dGUnIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnIHR5cGU9J3N0cnVjdCBfeG1sU2NoZW1hQXR0cmlidXRlJz4KKyAgICAgIDxmaWVsZCBuYW1lPSd0eXBlJyB0eXBlPSd4bWxTY2hlbWFUeXBlVHlwZScgaW5mbz0nJy8+CisgICAgICA8ZmllbGQgbmFtZT0nbmV4dCcgdHlwZT0nc3RydWN0IF94bWxTY2hlbWFBdHRyaWJ1dGUgKicgaW5mbz0nIHRoZSBuZXh0IGF0dHJpYnV0ZSAobm90IHVzZWQ/KScvPgorICAgICAgPGZpZWxkIG5hbWU9J25hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nIHRoZSBuYW1lIG9mIHRoZSBkZWNsYXJhdGlvbicvPgorICAgICAgPGZpZWxkIG5hbWU9J2lkJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89JyBEZXByZWNhdGVkOyBub3QgdXNlZCcvPgorICAgICAgPGZpZWxkIG5hbWU9J3JlZicgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPScgRGVwcmVjYXRlZDsgbm90IHVzZWQnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdyZWZOcycgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPScgRGVwcmVjYXRlZDsgbm90IHVzZWQnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSd0eXBlTmFtZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPScgdGhlIGxvY2FsIG5hbWUgb2YgdGhlIHR5cGUgZGVmaW5pdGlvbicvPgorICAgICAgPGZpZWxkIG5hbWU9J3R5cGVOcycgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPScgdGhlIG5zIFVSSSBvZiB0aGUgdHlwZSBkZWZpbml0aW9uJy8+CisgICAgICA8ZmllbGQgbmFtZT0nYW5ub3QnIHR5cGU9J3htbFNjaGVtYUFubm90UHRyJyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdiYXNlJyB0eXBlPSd4bWxTY2hlbWFUeXBlUHRyJyBpbmZvPScgRGVwcmVjYXRlZDsgbm90IHVzZWQnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdvY2N1cnMnIHR5cGU9J2ludCcgaW5mbz0nIERlcHJlY2F0ZWQ7IG5vdCB1c2VkJy8+CisgICAgICA8ZmllbGQgbmFtZT0nZGVmVmFsdWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nIFRoZSBpbml0aWFsIHZhbHVlIG9mIHRoZSB2YWx1ZSBjb25zdHJhaW50Jy8+CisgICAgICA8ZmllbGQgbmFtZT0nc3VidHlwZXMnIHR5cGU9J3htbFNjaGVtYVR5cGVQdHInIGluZm89JyB0aGUgdHlwZSBkZWZpbml0aW9uJy8+CisgICAgICA8ZmllbGQgbmFtZT0nbm9kZScgdHlwZT0neG1sTm9kZVB0cicgaW5mbz0nJy8+CisgICAgICA8ZmllbGQgbmFtZT0ndGFyZ2V0TmFtZXNwYWNlJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89JycvPgorICAgICAgPGZpZWxkIG5hbWU9J2ZsYWdzJyB0eXBlPSdpbnQnIGluZm89JycvPgorICAgICAgPGZpZWxkIG5hbWU9J3JlZlByZWZpeCcgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPScgRGVwcmVjYXRlZDsgbm90IHVzZWQnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdkZWZWYWwnIHR5cGU9J3htbFNjaGVtYVZhbFB0cicgaW5mbz0nIFRoZSBjb21waWxlZCB2YWx1ZSBjb25zdHJhaW50Jy8+CisgICAgICA8ZmllbGQgbmFtZT0ncmVmRGVjbCcgdHlwZT0neG1sU2NoZW1hQXR0cmlidXRlUHRyJyBpbmZvPScgRGVwcmVjYXRlZDsgbm90IHVzZWQnLz4KKyAgICA8L3N0cnVjdD4KKyAgICA8c3RydWN0IG5hbWU9J3htbFNjaGVtYUF0dHJpYnV0ZUdyb3VwJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJyB0eXBlPSdzdHJ1Y3QgX3htbFNjaGVtYUF0dHJpYnV0ZUdyb3VwJz4KKyAgICAgIDxmaWVsZCBuYW1lPSd0eXBlJyB0eXBlPSd4bWxTY2hlbWFUeXBlVHlwZScgaW5mbz0nIFRoZSBraW5kIG9mIHR5cGUnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSduZXh0JyB0eXBlPSdzdHJ1Y3QgX3htbFNjaGVtYUF0dHJpYnV0ZSAqJyBpbmZvPScgdGhlIG5leHQgYXR0cmlidXRlIGlmIGluIGEgZ3JvdXAgLi4uJy8+CisgICAgICA8ZmllbGQgbmFtZT0nbmFtZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdpZCcgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdyZWYnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nIERlcHJlY2F0ZWQ7IG5vdCB1c2VkJy8+CisgICAgICA8ZmllbGQgbmFtZT0ncmVmTnMnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nIERlcHJlY2F0ZWQ7IG5vdCB1c2VkJy8+CisgICAgICA8ZmllbGQgbmFtZT0nYW5ub3QnIHR5cGU9J3htbFNjaGVtYUFubm90UHRyJyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdhdHRyaWJ1dGVzJyB0eXBlPSd4bWxTY2hlbWFBdHRyaWJ1dGVQdHInIGluZm89JyBEZXByZWNhdGVkOyBub3QgdXNlZCcvPgorICAgICAgPGZpZWxkIG5hbWU9J25vZGUnIHR5cGU9J3htbE5vZGVQdHInIGluZm89JycvPgorICAgICAgPGZpZWxkIG5hbWU9J2ZsYWdzJyB0eXBlPSdpbnQnIGluZm89JycvPgorICAgICAgPGZpZWxkIG5hbWU9J2F0dHJpYnV0ZVdpbGRjYXJkJyB0eXBlPSd4bWxTY2hlbWFXaWxkY2FyZFB0cicgaW5mbz0nJy8+CisgICAgICA8ZmllbGQgbmFtZT0ncmVmUHJlZml4JyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89JyBEZXByZWNhdGVkOyBub3QgdXNlZCcvPgorICAgICAgPGZpZWxkIG5hbWU9J3JlZkl0ZW0nIHR5cGU9J3htbFNjaGVtYUF0dHJpYnV0ZUdyb3VwUHRyJyBpbmZvPScgRGVwcmVjYXRlZDsgbm90IHVzZWQnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSd0YXJnZXROYW1lc3BhY2UnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nJy8+CisgICAgICA8ZmllbGQgbmFtZT0nYXR0clVzZXMnIHR5cGU9J3ZvaWQgKicgaW5mbz0nJy8+CisgICAgPC9zdHJ1Y3Q+CisgICAgPHR5cGVkZWYgbmFtZT0neG1sU2NoZW1hQXR0cmlidXRlR3JvdXBQdHInIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnIHR5cGU9J3htbFNjaGVtYUF0dHJpYnV0ZUdyb3VwIConLz4KKyAgICA8c3RydWN0IG5hbWU9J3htbFNjaGVtYUF0dHJpYnV0ZUxpbmsnIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnIHR5cGU9J3N0cnVjdCBfeG1sU2NoZW1hQXR0cmlidXRlTGluayc+CisgICAgICA8ZmllbGQgbmFtZT0nbmV4dCcgdHlwZT0nc3RydWN0IF94bWxTY2hlbWFBdHRyaWJ1dGVMaW5rIConIGluZm89JyB0aGUgbmV4dCBhdHRyaWJ1dGUgbGluayAuLi4nLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdhdHRyJyB0eXBlPSdzdHJ1Y3QgX3htbFNjaGVtYUF0dHJpYnV0ZSAqJyBpbmZvPScgdGhlIGxpbmtlZCBhdHRyaWJ1dGUnLz4KKyAgICA8L3N0cnVjdD4KKyAgICA8dHlwZWRlZiBuYW1lPSd4bWxTY2hlbWFBdHRyaWJ1dGVMaW5rUHRyJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJyB0eXBlPSd4bWxTY2hlbWFBdHRyaWJ1dGVMaW5rIConLz4KKyAgICA8dHlwZWRlZiBuYW1lPSd4bWxTY2hlbWFBdHRyaWJ1dGVQdHInIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnIHR5cGU9J3htbFNjaGVtYUF0dHJpYnV0ZSAqJy8+CisgICAgPHR5cGVkZWYgbmFtZT0neG1sU2NoZW1hQ29udGVudFR5cGUnIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnIHR5cGU9J2VudW0nLz4KKyAgICA8c3RydWN0IG5hbWU9J3htbFNjaGVtYUVsZW1lbnQnIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnIHR5cGU9J3N0cnVjdCBfeG1sU2NoZW1hRWxlbWVudCc+CisgICAgICA8ZmllbGQgbmFtZT0ndHlwZScgdHlwZT0neG1sU2NoZW1hVHlwZVR5cGUnIGluZm89JyBUaGUga2luZCBvZiB0eXBlJy8+CisgICAgICA8ZmllbGQgbmFtZT0nbmV4dCcgdHlwZT0nc3RydWN0IF94bWxTY2hlbWFUeXBlIConIGluZm89JyBOb3QgdXNlZD8nLz4KKyAgICAgIDxmaWVsZCBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89JycvPgorICAgICAgPGZpZWxkIG5hbWU9J2lkJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89JyBEZXByZWNhdGVkOyBub3QgdXNlZCcvPgorICAgICAgPGZpZWxkIG5hbWU9J3JlZicgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPScgRGVwcmVjYXRlZDsgbm90IHVzZWQnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdyZWZOcycgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPScgRGVwcmVjYXRlZDsgbm90IHVzZWQnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdhbm5vdCcgdHlwZT0neG1sU2NoZW1hQW5ub3RQdHInIGluZm89JycvPgorICAgICAgPGZpZWxkIG5hbWU9J3N1YnR5cGVzJyB0eXBlPSd4bWxTY2hlbWFUeXBlUHRyJyBpbmZvPScgdGhlIHR5cGUgZGVmaW5pdGlvbicvPgorICAgICAgPGZpZWxkIG5hbWU9J2F0dHJpYnV0ZXMnIHR5cGU9J3htbFNjaGVtYUF0dHJpYnV0ZVB0cicgaW5mbz0nJy8+CisgICAgICA8ZmllbGQgbmFtZT0nbm9kZScgdHlwZT0neG1sTm9kZVB0cicgaW5mbz0nJy8+CisgICAgICA8ZmllbGQgbmFtZT0nbWluT2NjdXJzJyB0eXBlPSdpbnQnIGluZm89JyBEZXByZWNhdGVkOyBub3QgdXNlZCcvPgorICAgICAgPGZpZWxkIG5hbWU9J21heE9jY3VycycgdHlwZT0naW50JyBpbmZvPScgRGVwcmVjYXRlZDsgbm90IHVzZWQnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdmbGFncycgdHlwZT0naW50JyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSd0YXJnZXROYW1lc3BhY2UnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nJy8+CisgICAgICA8ZmllbGQgbmFtZT0nbmFtZWRUeXBlJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89JycvPgorICAgICAgPGZpZWxkIG5hbWU9J25hbWVkVHlwZU5zJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89JycvPgorICAgICAgPGZpZWxkIG5hbWU9J3N1YnN0R3JvdXAnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nJy8+CisgICAgICA8ZmllbGQgbmFtZT0nc3Vic3RHcm91cE5zJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89JycvPgorICAgICAgPGZpZWxkIG5hbWU9J3Njb3BlJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89JycvPgorICAgICAgPGZpZWxkIG5hbWU9J3ZhbHVlJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89JyBUaGUgb3JpZ2luYWwgdmFsdWUgb2YgdGhlIHZhbHVlIGNvbnN0cmFpbnQuJy8+CisgICAgICA8ZmllbGQgbmFtZT0ncmVmRGVjbCcgdHlwZT0nc3RydWN0IF94bWxTY2hlbWFFbGVtZW50IConIGluZm89JyBUaGlzIHdpbGwgbm93IGJlIHVzZWQgZm9yIHRoZQorc3Vic3RpdHV0aW9uIGdyb3VwIGFmZmlsaWF0aW9uJy8+CisgICAgICA8ZmllbGQgbmFtZT0nY29udE1vZGVsJyB0eXBlPSd4bWxSZWdleHBQdHInIGluZm89JyBPYnNvbGV0ZSBmb3IgV1hTLCBtYXliZSB1c2VkIGZvciBSZWxheE5HJy8+CisgICAgICA8ZmllbGQgbmFtZT0nY29udGVudFR5cGUnIHR5cGU9J3htbFNjaGVtYUNvbnRlbnRUeXBlJyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdyZWZQcmVmaXgnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nIERlcHJlY2F0ZWQ7IG5vdCB1c2VkJy8+CisgICAgICA8ZmllbGQgbmFtZT0nZGVmVmFsJyB0eXBlPSd4bWxTY2hlbWFWYWxQdHInIGluZm89JyBUaGUgY29tcGlsZWQgdmFsdWUgY29udHJhaW50LicvPgorICAgICAgPGZpZWxkIG5hbWU9J2lkY3MnIHR5cGU9J3ZvaWQgKicgaW5mbz0nIFRoZSBpZGVudGl0eS1jb25zdHJhaW50IGRlZnMnLz4KKyAgICA8L3N0cnVjdD4KKyAgICA8dHlwZWRlZiBuYW1lPSd4bWxTY2hlbWFFbGVtZW50UHRyJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJyB0eXBlPSd4bWxTY2hlbWFFbGVtZW50IConLz4KKyAgICA8c3RydWN0IG5hbWU9J3htbFNjaGVtYUZhY2V0JyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJyB0eXBlPSdzdHJ1Y3QgX3htbFNjaGVtYUZhY2V0Jz4KKyAgICAgIDxmaWVsZCBuYW1lPSd0eXBlJyB0eXBlPSd4bWxTY2hlbWFUeXBlVHlwZScgaW5mbz0nIFRoZSBraW5kIG9mIHR5cGUnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSduZXh0JyB0eXBlPSdzdHJ1Y3QgX3htbFNjaGVtYUZhY2V0IConIGluZm89JyB0aGUgbmV4dCB0eXBlIGlmIGluIGEgc2VxdWVuY2UgLi4uJy8+CisgICAgICA8ZmllbGQgbmFtZT0ndmFsdWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nIFRoZSBvcmlnaW5hbCB2YWx1ZScvPgorICAgICAgPGZpZWxkIG5hbWU9J2lkJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89JyBPYnNvbGV0ZScvPgorICAgICAgPGZpZWxkIG5hbWU9J2Fubm90JyB0eXBlPSd4bWxTY2hlbWFBbm5vdFB0cicgaW5mbz0nJy8+CisgICAgICA8ZmllbGQgbmFtZT0nbm9kZScgdHlwZT0neG1sTm9kZVB0cicgaW5mbz0nJy8+CisgICAgICA8ZmllbGQgbmFtZT0nZml4ZWQnIHR5cGU9J2ludCcgaW5mbz0nIFhNTF9TQ0hFTUFTX0ZBQ0VUX1BSRVNFUlZFLCBldGMuJy8+CisgICAgICA8ZmllbGQgbmFtZT0nd2hpdGVzcGFjZScgdHlwZT0naW50JyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSd2YWwnIHR5cGU9J3htbFNjaGVtYVZhbFB0cicgaW5mbz0nIFRoZSBjb21waWxlZCB2YWx1ZScvPgorICAgICAgPGZpZWxkIG5hbWU9J3JlZ2V4cCcgdHlwZT0neG1sUmVnZXhwUHRyJyBpbmZvPScgVGhlIHJlZ2V4IGZvciBwYXR0ZXJucycvPgorICAgIDwvc3RydWN0PgorICAgIDxzdHJ1Y3QgbmFtZT0neG1sU2NoZW1hRmFjZXRMaW5rJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJyB0eXBlPSdzdHJ1Y3QgX3htbFNjaGVtYUZhY2V0TGluayc+CisgICAgICA8ZmllbGQgbmFtZT0nbmV4dCcgdHlwZT0nc3RydWN0IF94bWxTY2hlbWFGYWNldExpbmsgKicgaW5mbz0nIHRoZSBuZXh0IGZhY2V0IGxpbmsgLi4uJy8+CisgICAgICA8ZmllbGQgbmFtZT0nZmFjZXQnIHR5cGU9J3htbFNjaGVtYUZhY2V0UHRyJyBpbmZvPScgdGhlIGxpbmtlZCBmYWNldCcvPgorICAgIDwvc3RydWN0PgorICAgIDx0eXBlZGVmIG5hbWU9J3htbFNjaGVtYUZhY2V0TGlua1B0cicgZmlsZT0nc2NoZW1hc0ludGVybmFscycgdHlwZT0neG1sU2NoZW1hRmFjZXRMaW5rIConLz4KKyAgICA8dHlwZWRlZiBuYW1lPSd4bWxTY2hlbWFGYWNldFB0cicgZmlsZT0nc2NoZW1hc0ludGVybmFscycgdHlwZT0neG1sU2NoZW1hRmFjZXQgKicvPgorICAgIDxzdHJ1Y3QgbmFtZT0neG1sU2NoZW1hTm90YXRpb24nIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnIHR5cGU9J3N0cnVjdCBfeG1sU2NoZW1hTm90YXRpb24nPgorICAgICAgPGZpZWxkIG5hbWU9J3R5cGUnIHR5cGU9J3htbFNjaGVtYVR5cGVUeXBlJyBpbmZvPScgVGhlIGtpbmQgb2YgdHlwZScvPgorICAgICAgPGZpZWxkIG5hbWU9J25hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nJy8+CisgICAgICA8ZmllbGQgbmFtZT0nYW5ub3QnIHR5cGU9J3htbFNjaGVtYUFubm90UHRyJyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdpZGVudGlmaWVyJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89JycvPgorICAgICAgPGZpZWxkIG5hbWU9J3RhcmdldE5hbWVzcGFjZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPScnLz4KKyAgICA8L3N0cnVjdD4KKyAgICA8dHlwZWRlZiBuYW1lPSd4bWxTY2hlbWFOb3RhdGlvblB0cicgZmlsZT0nc2NoZW1hc0ludGVybmFscycgdHlwZT0neG1sU2NoZW1hTm90YXRpb24gKicvPgorICAgIDxzdHJ1Y3QgbmFtZT0neG1sU2NoZW1hUGFyc2VyQ3R4dCcgZmlsZT0neG1sc2NoZW1hcycgdHlwZT0nc3RydWN0IF94bWxTY2hlbWFQYXJzZXJDdHh0Jy8+CisgICAgPHR5cGVkZWYgbmFtZT0neG1sU2NoZW1hUGFyc2VyQ3R4dFB0cicgZmlsZT0neG1sc2NoZW1hcycgdHlwZT0neG1sU2NoZW1hUGFyc2VyQ3R4dCAqJy8+CisgICAgPHR5cGVkZWYgbmFtZT0neG1sU2NoZW1hUHRyJyBmaWxlPSd4bWxzY2hlbWFzJyB0eXBlPSd4bWxTY2hlbWEgKicvPgorICAgIDx0eXBlZGVmIG5hbWU9J3htbFNjaGVtYVNBWFBsdWdQdHInIGZpbGU9J3htbHNjaGVtYXMnIHR5cGU9J3htbFNjaGVtYVNBWFBsdWdTdHJ1Y3QgKicvPgorICAgIDxzdHJ1Y3QgbmFtZT0neG1sU2NoZW1hU0FYUGx1Z1N0cnVjdCcgZmlsZT0neG1sc2NoZW1hcycgdHlwZT0nc3RydWN0IF94bWxTY2hlbWFTQVhQbHVnJy8+CisgICAgPHN0cnVjdCBuYW1lPSd4bWxTY2hlbWFUeXBlJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJyB0eXBlPSdzdHJ1Y3QgX3htbFNjaGVtYVR5cGUnPgorICAgICAgPGZpZWxkIG5hbWU9J3R5cGUnIHR5cGU9J3htbFNjaGVtYVR5cGVUeXBlJyBpbmZvPScgVGhlIGtpbmQgb2YgdHlwZScvPgorICAgICAgPGZpZWxkIG5hbWU9J25leHQnIHR5cGU9J3N0cnVjdCBfeG1sU2NoZW1hVHlwZSAqJyBpbmZvPScgdGhlIG5leHQgdHlwZSBpZiBpbiBhIHNlcXVlbmNlIC4uLicvPgorICAgICAgPGZpZWxkIG5hbWU9J25hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nJy8+CisgICAgICA8ZmllbGQgbmFtZT0naWQnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nIERlcHJlY2F0ZWQ7IG5vdCB1c2VkJy8+CisgICAgICA8ZmllbGQgbmFtZT0ncmVmJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89JyBEZXByZWNhdGVkOyBub3QgdXNlZCcvPgorICAgICAgPGZpZWxkIG5hbWU9J3JlZk5zJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89JyBEZXByZWNhdGVkOyBub3QgdXNlZCcvPgorICAgICAgPGZpZWxkIG5hbWU9J2Fubm90JyB0eXBlPSd4bWxTY2hlbWFBbm5vdFB0cicgaW5mbz0nJy8+CisgICAgICA8ZmllbGQgbmFtZT0nc3VidHlwZXMnIHR5cGU9J3htbFNjaGVtYVR5cGVQdHInIGluZm89JycvPgorICAgICAgPGZpZWxkIG5hbWU9J2F0dHJpYnV0ZXMnIHR5cGU9J3htbFNjaGVtYUF0dHJpYnV0ZVB0cicgaW5mbz0nIERlcHJlY2F0ZWQ7IG5vdCB1c2VkJy8+CisgICAgICA8ZmllbGQgbmFtZT0nbm9kZScgdHlwZT0neG1sTm9kZVB0cicgaW5mbz0nJy8+CisgICAgICA8ZmllbGQgbmFtZT0nbWluT2NjdXJzJyB0eXBlPSdpbnQnIGluZm89JyBEZXByZWNhdGVkOyBub3QgdXNlZCcvPgorICAgICAgPGZpZWxkIG5hbWU9J21heE9jY3VycycgdHlwZT0naW50JyBpbmZvPScgRGVwcmVjYXRlZDsgbm90IHVzZWQnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdmbGFncycgdHlwZT0naW50JyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdjb250ZW50VHlwZScgdHlwZT0neG1sU2NoZW1hQ29udGVudFR5cGUnIGluZm89JycvPgorICAgICAgPGZpZWxkIG5hbWU9J2Jhc2UnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nIEJhc2UgdHlwZSZhcG9zO3MgbG9jYWwgbmFtZScvPgorICAgICAgPGZpZWxkIG5hbWU9J2Jhc2VOcycgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPScgQmFzZSB0eXBlJmFwb3M7cyB0YXJnZXQgbmFtZXNwYWNlJy8+CisgICAgICA8ZmllbGQgbmFtZT0nYmFzZVR5cGUnIHR5cGU9J3htbFNjaGVtYVR5cGVQdHInIGluZm89JyBUaGUgYmFzZSB0eXBlIGNvbXBvbmVudCcvPgorICAgICAgPGZpZWxkIG5hbWU9J2ZhY2V0cycgdHlwZT0neG1sU2NoZW1hRmFjZXRQdHInIGluZm89JyBMb2NhbCBmYWNldHMnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdyZWRlZicgdHlwZT0nc3RydWN0IF94bWxTY2hlbWFUeXBlIConIGluZm89JyBEZXByZWNhdGVkOyBub3QgdXNlZCcvPgorICAgICAgPGZpZWxkIG5hbWU9J3JlY3Vyc2UnIHR5cGU9J2ludCcgaW5mbz0nIE9ic29sZXRlJy8+CisgICAgICA8ZmllbGQgbmFtZT0nYXR0cmlidXRlVXNlcycgdHlwZT0neG1sU2NoZW1hQXR0cmlidXRlTGlua1B0ciAqJyBpbmZvPScgRGVwcmVjYXRlZDsgbm90IHVzZWQnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdhdHRyaWJ1dGVXaWxkY2FyZCcgdHlwZT0neG1sU2NoZW1hV2lsZGNhcmRQdHInIGluZm89JycvPgorICAgICAgPGZpZWxkIG5hbWU9J2J1aWx0SW5UeXBlJyB0eXBlPSdpbnQnIGluZm89JyBUeXBlIG9mIGJ1aWx0LWluIHR5cGVzLicvPgorICAgICAgPGZpZWxkIG5hbWU9J21lbWJlclR5cGVzJyB0eXBlPSd4bWxTY2hlbWFUeXBlTGlua1B0cicgaW5mbz0nIG1lbWJlci10eXBlcyBpZiBhIHVuaW9uIHR5cGUuJy8+CisgICAgICA8ZmllbGQgbmFtZT0nZmFjZXRTZXQnIHR5cGU9J3htbFNjaGVtYUZhY2V0TGlua1B0cicgaW5mbz0nIEFsbCBmYWNldHMgKGluY2wuIGluaGVyaXRlZCknLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdyZWZQcmVmaXgnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nIERlcHJlY2F0ZWQ7IG5vdCB1c2VkJy8+CisgICAgICA8ZmllbGQgbmFtZT0nY29udGVudFR5cGVEZWYnIHR5cGU9J3htbFNjaGVtYVR5cGVQdHInIGluZm89JyBVc2VkIGZvciB0aGUgc2ltcGxlIGNvbnRlbnQgb2YgY29tcGxleCB0eXBlcy4KK0NvdWxkIHdlIHVzZSBAc3VidHlwZXMgZm9yIHRoaXM/Jy8+CisgICAgICA8ZmllbGQgbmFtZT0nY29udE1vZGVsJyB0eXBlPSd4bWxSZWdleHBQdHInIGluZm89JyBIb2xkcyB0aGUgYXV0b21hdG9uIG9mIHRoZSBjb250ZW50IG1vZGVsJy8+CisgICAgICA8ZmllbGQgbmFtZT0ndGFyZ2V0TmFtZXNwYWNlJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89JycvPgorICAgICAgPGZpZWxkIG5hbWU9J2F0dHJVc2VzJyB0eXBlPSd2b2lkIConIGluZm89JycvPgorICAgIDwvc3RydWN0PgorICAgIDxzdHJ1Y3QgbmFtZT0neG1sU2NoZW1hVHlwZUxpbmsnIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnIHR5cGU9J3N0cnVjdCBfeG1sU2NoZW1hVHlwZUxpbmsnPgorICAgICAgPGZpZWxkIG5hbWU9J25leHQnIHR5cGU9J3N0cnVjdCBfeG1sU2NoZW1hVHlwZUxpbmsgKicgaW5mbz0nIHRoZSBuZXh0IHR5cGUgbGluayAuLi4nLz4KKyAgICAgIDxmaWVsZCBuYW1lPSd0eXBlJyB0eXBlPSd4bWxTY2hlbWFUeXBlUHRyJyBpbmZvPScgdGhlIGxpbmtlZCB0eXBlJy8+CisgICAgPC9zdHJ1Y3Q+CisgICAgPHR5cGVkZWYgbmFtZT0neG1sU2NoZW1hVHlwZUxpbmtQdHInIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnIHR5cGU9J3htbFNjaGVtYVR5cGVMaW5rIConLz4KKyAgICA8dHlwZWRlZiBuYW1lPSd4bWxTY2hlbWFUeXBlUHRyJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJyB0eXBlPSd4bWxTY2hlbWFUeXBlIConLz4KKyAgICA8dHlwZWRlZiBuYW1lPSd4bWxTY2hlbWFUeXBlVHlwZScgZmlsZT0nc2NoZW1hc0ludGVybmFscycgdHlwZT0nZW51bScvPgorICAgIDxzdHJ1Y3QgbmFtZT0neG1sU2NoZW1hVmFsJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJyB0eXBlPSdzdHJ1Y3QgX3htbFNjaGVtYVZhbCcvPgorICAgIDx0eXBlZGVmIG5hbWU9J3htbFNjaGVtYVZhbFB0cicgZmlsZT0nc2NoZW1hc0ludGVybmFscycgdHlwZT0neG1sU2NoZW1hVmFsIConLz4KKyAgICA8dHlwZWRlZiBuYW1lPSd4bWxTY2hlbWFWYWxUeXBlJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJyB0eXBlPSdlbnVtJy8+CisgICAgPHN0cnVjdCBuYW1lPSd4bWxTY2hlbWFWYWxpZEN0eHQnIGZpbGU9J3htbHNjaGVtYXMnIHR5cGU9J3N0cnVjdCBfeG1sU2NoZW1hVmFsaWRDdHh0Jy8+CisgICAgPHR5cGVkZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRDdHh0UHRyJyBmaWxlPSd4bWxzY2hlbWFzJyB0eXBlPSd4bWxTY2hlbWFWYWxpZEN0eHQgKicvPgorICAgIDx0eXBlZGVmIG5hbWU9J3htbFNjaGVtYVZhbGlkRXJyb3InIGZpbGU9J3htbHNjaGVtYXMnIHR5cGU9J2VudW0nLz4KKyAgICA8dHlwZWRlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZE9wdGlvbicgZmlsZT0neG1sc2NoZW1hcycgdHlwZT0nZW51bScvPgorICAgIDx0eXBlZGVmIG5hbWU9J3htbFNjaGVtYVdoaXRlc3BhY2VWYWx1ZVR5cGUnIGZpbGU9J3htbHNjaGVtYXN0eXBlcycgdHlwZT0nZW51bScvPgorICAgIDxzdHJ1Y3QgbmFtZT0neG1sU2NoZW1hV2lsZGNhcmQnIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnIHR5cGU9J3N0cnVjdCBfeG1sU2NoZW1hV2lsZGNhcmQnPgorICAgICAgPGZpZWxkIG5hbWU9J3R5cGUnIHR5cGU9J3htbFNjaGVtYVR5cGVUeXBlJyBpbmZvPScgVGhlIGtpbmQgb2YgdHlwZScvPgorICAgICAgPGZpZWxkIG5hbWU9J2lkJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89JyBEZXByZWNhdGVkOyBub3QgdXNlZCcvPgorICAgICAgPGZpZWxkIG5hbWU9J2Fubm90JyB0eXBlPSd4bWxTY2hlbWFBbm5vdFB0cicgaW5mbz0nJy8+CisgICAgICA8ZmllbGQgbmFtZT0nbm9kZScgdHlwZT0neG1sTm9kZVB0cicgaW5mbz0nJy8+CisgICAgICA8ZmllbGQgbmFtZT0nbWluT2NjdXJzJyB0eXBlPSdpbnQnIGluZm89JyBEZXByZWNhdGVkOyBub3QgdXNlZCcvPgorICAgICAgPGZpZWxkIG5hbWU9J21heE9jY3VycycgdHlwZT0naW50JyBpbmZvPScgRGVwcmVjYXRlZDsgbm90IHVzZWQnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdwcm9jZXNzQ29udGVudHMnIHR5cGU9J2ludCcgaW5mbz0nJy8+CisgICAgICA8ZmllbGQgbmFtZT0nYW55JyB0eXBlPSdpbnQnIGluZm89JyBJbmRpY2F0ZXMgaWYgdGhlIG5zIGNvbnN0cmFpbnQgaXMgb2YgIyNhbnknLz4KKyAgICAgIDxmaWVsZCBuYW1lPSduc1NldCcgdHlwZT0neG1sU2NoZW1hV2lsZGNhcmROc1B0cicgaW5mbz0nIFRoZSBsaXN0IG9mIGFsbG93ZWQgbmFtZXNwYWNlcycvPgorICAgICAgPGZpZWxkIG5hbWU9J25lZ05zU2V0JyB0eXBlPSd4bWxTY2hlbWFXaWxkY2FyZE5zUHRyJyBpbmZvPScgVGhlIG5lZ2F0ZWQgbmFtZXNwYWNlJy8+CisgICAgICA8ZmllbGQgbmFtZT0nZmxhZ3MnIHR5cGU9J2ludCcgaW5mbz0nJy8+CisgICAgPC9zdHJ1Y3Q+CisgICAgPHN0cnVjdCBuYW1lPSd4bWxTY2hlbWFXaWxkY2FyZE5zJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJyB0eXBlPSdzdHJ1Y3QgX3htbFNjaGVtYVdpbGRjYXJkTnMnPgorICAgICAgPGZpZWxkIG5hbWU9J25leHQnIHR5cGU9J3N0cnVjdCBfeG1sU2NoZW1hV2lsZGNhcmROcyAqJyBpbmZvPScgdGhlIG5leHQgY29uc3RyYWludCBsaW5rIC4uLicvPgorICAgICAgPGZpZWxkIG5hbWU9J3ZhbHVlJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89JyB0aGUgdmFsdWUnLz4KKyAgICA8L3N0cnVjdD4KKyAgICA8dHlwZWRlZiBuYW1lPSd4bWxTY2hlbWFXaWxkY2FyZE5zUHRyJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJyB0eXBlPSd4bWxTY2hlbWFXaWxkY2FyZE5zIConLz4KKyAgICA8dHlwZWRlZiBuYW1lPSd4bWxTY2hlbWFXaWxkY2FyZFB0cicgZmlsZT0nc2NoZW1hc0ludGVybmFscycgdHlwZT0neG1sU2NoZW1hV2lsZGNhcmQgKicvPgorICAgIDxzdHJ1Y3QgbmFtZT0neG1sU2NoZW1hdHJvbicgZmlsZT0nc2NoZW1hdHJvbicgdHlwZT0nc3RydWN0IF94bWxTY2hlbWF0cm9uJy8+CisgICAgPHN0cnVjdCBuYW1lPSd4bWxTY2hlbWF0cm9uUGFyc2VyQ3R4dCcgZmlsZT0nc2NoZW1hdHJvbicgdHlwZT0nc3RydWN0IF94bWxTY2hlbWF0cm9uUGFyc2VyQ3R4dCcvPgorICAgIDx0eXBlZGVmIG5hbWU9J3htbFNjaGVtYXRyb25QYXJzZXJDdHh0UHRyJyBmaWxlPSdzY2hlbWF0cm9uJyB0eXBlPSd4bWxTY2hlbWF0cm9uUGFyc2VyQ3R4dCAqJy8+CisgICAgPHR5cGVkZWYgbmFtZT0neG1sU2NoZW1hdHJvblB0cicgZmlsZT0nc2NoZW1hdHJvbicgdHlwZT0neG1sU2NoZW1hdHJvbiAqJy8+CisgICAgPHN0cnVjdCBuYW1lPSd4bWxTY2hlbWF0cm9uVmFsaWRDdHh0JyBmaWxlPSdzY2hlbWF0cm9uJyB0eXBlPSdzdHJ1Y3QgX3htbFNjaGVtYXRyb25WYWxpZEN0eHQnLz4KKyAgICA8dHlwZWRlZiBuYW1lPSd4bWxTY2hlbWF0cm9uVmFsaWRDdHh0UHRyJyBmaWxlPSdzY2hlbWF0cm9uJyB0eXBlPSd4bWxTY2hlbWF0cm9uVmFsaWRDdHh0IConLz4KKyAgICA8dHlwZWRlZiBuYW1lPSd4bWxTY2hlbWF0cm9uVmFsaWRPcHRpb25zJyBmaWxlPSdzY2hlbWF0cm9uJyB0eXBlPSdlbnVtJy8+CisgICAgPHN0cnVjdCBuYW1lPSd4bWxTaGVsbEN0eHQnIGZpbGU9J2RlYnVnWE1MJyB0eXBlPSdzdHJ1Y3QgX3htbFNoZWxsQ3R4dCc+CisgICAgICA8ZmllbGQgbmFtZT0nZmlsZW5hbWUnIHR5cGU9J2NoYXIgKicgaW5mbz0nJy8+CisgICAgICA8ZmllbGQgbmFtZT0nZG9jJyB0eXBlPSd4bWxEb2NQdHInIGluZm89JycvPgorICAgICAgPGZpZWxkIG5hbWU9J25vZGUnIHR5cGU9J3htbE5vZGVQdHInIGluZm89JycvPgorICAgICAgPGZpZWxkIG5hbWU9J3BjdHh0JyB0eXBlPSd4bWxYUGF0aENvbnRleHRQdHInIGluZm89JycvPgorICAgICAgPGZpZWxkIG5hbWU9J2xvYWRlZCcgdHlwZT0naW50JyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdvdXRwdXQnIHR5cGU9J0ZJTEUgKicgaW5mbz0nJy8+CisgICAgICA8ZmllbGQgbmFtZT0naW5wdXQnIHR5cGU9J3htbFNoZWxsUmVhZGxpbmVGdW5jJyBpbmZvPScnLz4KKyAgICA8L3N0cnVjdD4KKyAgICA8dHlwZWRlZiBuYW1lPSd4bWxTaGVsbEN0eHRQdHInIGZpbGU9J2RlYnVnWE1MJyB0eXBlPSd4bWxTaGVsbEN0eHQgKicvPgorICAgIDxzdHJ1Y3QgbmFtZT0neG1sU3RyZWFtQ3R4dCcgZmlsZT0ncGF0dGVybicgdHlwZT0nc3RydWN0IF94bWxTdHJlYW1DdHh0Jy8+CisgICAgPHR5cGVkZWYgbmFtZT0neG1sU3RyZWFtQ3R4dFB0cicgZmlsZT0ncGF0dGVybicgdHlwZT0neG1sU3RyZWFtQ3R4dCAqJy8+CisgICAgPHN0cnVjdCBuYW1lPSd4bWxUZXh0UmVhZGVyJyBmaWxlPSd4bWxyZWFkZXInIHR5cGU9J3N0cnVjdCBfeG1sVGV4dFJlYWRlcicvPgorICAgIDx0eXBlZGVmIG5hbWU9J3htbFRleHRSZWFkZXJMb2NhdG9yUHRyJyBmaWxlPSd4bWxyZWFkZXInIHR5cGU9J3ZvaWQgKicvPgorICAgIDx0eXBlZGVmIG5hbWU9J3htbFRleHRSZWFkZXJNb2RlJyBmaWxlPSd4bWxyZWFkZXInIHR5cGU9J2VudW0nLz4KKyAgICA8dHlwZWRlZiBuYW1lPSd4bWxUZXh0UmVhZGVyUHRyJyBmaWxlPSd4bWxyZWFkZXInIHR5cGU9J3htbFRleHRSZWFkZXIgKic+CisgICAgICA8aW5mbz5Qb2ludGVyIHRvIGFuIHhtbFJlYWRlciBjb250ZXh0LjwvaW5mbz4KKyAgICA8L3R5cGVkZWY+CisgICAgPHN0cnVjdCBuYW1lPSd4bWxUZXh0V3JpdGVyJyBmaWxlPSd4bWx3cml0ZXInIHR5cGU9J3N0cnVjdCBfeG1sVGV4dFdyaXRlcicvPgorICAgIDx0eXBlZGVmIG5hbWU9J3htbFRleHRXcml0ZXJQdHInIGZpbGU9J3htbHdyaXRlcicgdHlwZT0neG1sVGV4dFdyaXRlciAqJy8+CisgICAgPHN0cnVjdCBuYW1lPSd4bWxVUkknIGZpbGU9J3VyaScgdHlwZT0nc3RydWN0IF94bWxVUkknPgorICAgICAgPGZpZWxkIG5hbWU9J3NjaGVtZScgdHlwZT0nY2hhciAqJyBpbmZvPScgdGhlIFVSSSBzY2hlbWUnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdvcGFxdWUnIHR5cGU9J2NoYXIgKicgaW5mbz0nIG9wYXF1ZSBwYXJ0Jy8+CisgICAgICA8ZmllbGQgbmFtZT0nYXV0aG9yaXR5JyB0eXBlPSdjaGFyIConIGluZm89JyB0aGUgYXV0aG9yaXR5IHBhcnQnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdzZXJ2ZXInIHR5cGU9J2NoYXIgKicgaW5mbz0nIHRoZSBzZXJ2ZXIgcGFydCcvPgorICAgICAgPGZpZWxkIG5hbWU9J3VzZXInIHR5cGU9J2NoYXIgKicgaW5mbz0nIHRoZSB1c2VyIHBhcnQnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdwb3J0JyB0eXBlPSdpbnQnIGluZm89JyB0aGUgcG9ydCBudW1iZXInLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdwYXRoJyB0eXBlPSdjaGFyIConIGluZm89JyB0aGUgcGF0aCBzdHJpbmcnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdxdWVyeScgdHlwZT0nY2hhciAqJyBpbmZvPScgdGhlIHF1ZXJ5IHN0cmluZyAoZGVwcmVjYXRlZCAtIHVzZSB3aXRoIGNhdXRpb24pJy8+CisgICAgICA8ZmllbGQgbmFtZT0nZnJhZ21lbnQnIHR5cGU9J2NoYXIgKicgaW5mbz0nIHRoZSBmcmFnbWVudCBpZGVudGlmaWVyJy8+CisgICAgICA8ZmllbGQgbmFtZT0nY2xlYW51cCcgdHlwZT0naW50JyBpbmZvPScgcGFyc2luZyBwb3RlbnRpYWxseSB1bmNsZWFuIFVSSScvPgorICAgICAgPGZpZWxkIG5hbWU9J3F1ZXJ5X3JhdycgdHlwZT0nY2hhciAqJyBpbmZvPScgdGhlIHF1ZXJ5IHN0cmluZyAoYXMgaXQgYXBwZWFycyBpbiB0aGUgVVJJKScvPgorICAgIDwvc3RydWN0PgorICAgIDx0eXBlZGVmIG5hbWU9J3htbFVSSVB0cicgZmlsZT0ndXJpJyB0eXBlPSd4bWxVUkkgKicvPgorICAgIDxzdHJ1Y3QgbmFtZT0neG1sVmFsaWRDdHh0JyBmaWxlPSd2YWxpZCcgdHlwZT0nc3RydWN0IF94bWxWYWxpZEN0eHQnPgorICAgICAgPGZpZWxkIG5hbWU9J3VzZXJEYXRhJyB0eXBlPSd2b2lkIConIGluZm89JyB1c2VyIHNwZWNpZmljIGRhdGEgYmxvY2snLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdlcnJvcicgdHlwZT0neG1sVmFsaWRpdHlFcnJvckZ1bmMnIGluZm89JyB0aGUgY2FsbGJhY2sgaW4gY2FzZSBvZiBlcnJvcnMnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSd3YXJuaW5nJyB0eXBlPSd4bWxWYWxpZGl0eVdhcm5pbmdGdW5jJyBpbmZvPScgdGhlIGNhbGxiYWNrIGluIGNhc2Ugb2Ygd2FybmluZyBOb2RlIGFuYWx5c2lzIHN0YWNrIHVzZWQgd2hlbiB2YWxpZGF0aW5nIHdpdGhpbiBlbnRpdGllcycvPgorICAgICAgPGZpZWxkIG5hbWU9J25vZGUnIHR5cGU9J3htbE5vZGVQdHInIGluZm89JyBDdXJyZW50IHBhcnNlZCBOb2RlJy8+CisgICAgICA8ZmllbGQgbmFtZT0nbm9kZU5yJyB0eXBlPSdpbnQnIGluZm89JyBEZXB0aCBvZiB0aGUgcGFyc2luZyBzdGFjaycvPgorICAgICAgPGZpZWxkIG5hbWU9J25vZGVNYXgnIHR5cGU9J2ludCcgaW5mbz0nIE1heCBkZXB0aCBvZiB0aGUgcGFyc2luZyBzdGFjaycvPgorICAgICAgPGZpZWxkIG5hbWU9J25vZGVUYWInIHR5cGU9J3htbE5vZGVQdHIgKicgaW5mbz0nIGFycmF5IG9mIG5vZGVzJy8+CisgICAgICA8ZmllbGQgbmFtZT0nZmluaXNoRHRkJyB0eXBlPSd1bnNpZ25lZCBpbnQnIGluZm89JyBmaW5pc2hlZCB2YWxpZGF0aW5nIHRoZSBEdGQgPycvPgorICAgICAgPGZpZWxkIG5hbWU9J2RvYycgdHlwZT0neG1sRG9jUHRyJyBpbmZvPScgdGhlIGRvY3VtZW50Jy8+CisgICAgICA8ZmllbGQgbmFtZT0ndmFsaWQnIHR5cGU9J2ludCcgaW5mbz0nIHRlbXBvcmFyeSB2YWxpZGl0eSBjaGVjayByZXN1bHQgc3RhdGUgc3RhdGUgdXNlZCBmb3Igbm9uLWRldGVybWluaXN0IGNvbnRlbnQgdmFsaWRhdGlvbicvPgorICAgICAgPGZpZWxkIG5hbWU9J3ZzdGF0ZScgdHlwZT0neG1sVmFsaWRTdGF0ZSAqJyBpbmZvPScgY3VycmVudCBzdGF0ZScvPgorICAgICAgPGZpZWxkIG5hbWU9J3ZzdGF0ZU5yJyB0eXBlPSdpbnQnIGluZm89JyBEZXB0aCBvZiB0aGUgdmFsaWRhdGlvbiBzdGFjaycvPgorICAgICAgPGZpZWxkIG5hbWU9J3ZzdGF0ZU1heCcgdHlwZT0naW50JyBpbmZvPScgTWF4IGRlcHRoIG9mIHRoZSB2YWxpZGF0aW9uIHN0YWNrJy8+CisgICAgICA8ZmllbGQgbmFtZT0ndnN0YXRlVGFiJyB0eXBlPSd4bWxWYWxpZFN0YXRlIConIGluZm89JyBhcnJheSBvZiB2YWxpZGF0aW9uIHN0YXRlcycvPgorICAgICAgPGZpZWxkIG5hbWU9J2FtJyB0eXBlPSd4bWxBdXRvbWF0YVB0cicgaW5mbz0nIHRoZSBhdXRvbWF0YScvPgorICAgICAgPGZpZWxkIG5hbWU9J3N0YXRlJyB0eXBlPSd4bWxBdXRvbWF0YVN0YXRlUHRyJyBpbmZvPScgdXNlZCB0byBidWlsZCB0aGUgYXV0b21hdGEnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdhbScgdHlwZT0ndm9pZCAqJyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdzdGF0ZScgdHlwZT0ndm9pZCAqJyBpbmZvPScnLz4KKyAgICA8L3N0cnVjdD4KKyAgICA8dHlwZWRlZiBuYW1lPSd4bWxWYWxpZEN0eHRQdHInIGZpbGU9J3ZhbGlkJyB0eXBlPSd4bWxWYWxpZEN0eHQgKicvPgorICAgIDxzdHJ1Y3QgbmFtZT0neG1sVmFsaWRTdGF0ZScgZmlsZT0ndmFsaWQnIHR5cGU9J3N0cnVjdCBfeG1sVmFsaWRTdGF0ZScvPgorICAgIDx0eXBlZGVmIG5hbWU9J3htbFZhbGlkU3RhdGVQdHInIGZpbGU9J3ZhbGlkJyB0eXBlPSd4bWxWYWxpZFN0YXRlIConLz4KKyAgICA8c3RydWN0IG5hbWU9J3htbFhJbmNsdWRlQ3R4dCcgZmlsZT0neGluY2x1ZGUnIHR5cGU9J3N0cnVjdCBfeG1sWEluY2x1ZGVDdHh0Jy8+CisgICAgPHR5cGVkZWYgbmFtZT0neG1sWEluY2x1ZGVDdHh0UHRyJyBmaWxlPSd4aW5jbHVkZScgdHlwZT0neG1sWEluY2x1ZGVDdHh0IConLz4KKyAgICA8c3RydWN0IG5hbWU9J3htbFhQYXRoQXhpcycgZmlsZT0neHBhdGgnIHR5cGU9J3N0cnVjdCBfeG1sWFBhdGhBeGlzJz4KKyAgICAgIDxmaWVsZCBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89JyB0aGUgYXhpcyBuYW1lJy8+CisgICAgICA8ZmllbGQgbmFtZT0nZnVuYycgdHlwZT0neG1sWFBhdGhBeGlzRnVuYycgaW5mbz0nIHRoZSBzZWFyY2ggZnVuY3Rpb24nLz4KKyAgICA8L3N0cnVjdD4KKyAgICA8dHlwZWRlZiBuYW1lPSd4bWxYUGF0aEF4aXNQdHInIGZpbGU9J3hwYXRoJyB0eXBlPSd4bWxYUGF0aEF4aXMgKicvPgorICAgIDxzdHJ1Y3QgbmFtZT0neG1sWFBhdGhDb21wRXhwcicgZmlsZT0neHBhdGgnIHR5cGU9J3N0cnVjdCBfeG1sWFBhdGhDb21wRXhwcicvPgorICAgIDx0eXBlZGVmIG5hbWU9J3htbFhQYXRoQ29tcEV4cHJQdHInIGZpbGU9J3hwYXRoJyB0eXBlPSd4bWxYUGF0aENvbXBFeHByIConLz4KKyAgICA8c3RydWN0IG5hbWU9J3htbFhQYXRoQ29udGV4dCcgZmlsZT0neHBhdGgnIHR5cGU9J3N0cnVjdCBfeG1sWFBhdGhDb250ZXh0Jz4KKyAgICAgIDxmaWVsZCBuYW1lPSdkb2MnIHR5cGU9J3htbERvY1B0cicgaW5mbz0nIFRoZSBjdXJyZW50IGRvY3VtZW50Jy8+CisgICAgICA8ZmllbGQgbmFtZT0nbm9kZScgdHlwZT0neG1sTm9kZVB0cicgaW5mbz0nIFRoZSBjdXJyZW50IG5vZGUnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSduYl92YXJpYWJsZXNfdW51c2VkJyB0eXBlPSdpbnQnIGluZm89JyB1bnVzZWQgKGhhc2ggdGFibGUpJy8+CisgICAgICA8ZmllbGQgbmFtZT0nbWF4X3ZhcmlhYmxlc191bnVzZWQnIHR5cGU9J2ludCcgaW5mbz0nIHVudXNlZCAoaGFzaCB0YWJsZSknLz4KKyAgICAgIDxmaWVsZCBuYW1lPSd2YXJIYXNoJyB0eXBlPSd4bWxIYXNoVGFibGVQdHInIGluZm89JyBIYXNoIHRhYmxlIG9mIGRlZmluZWQgdmFyaWFibGVzJy8+CisgICAgICA8ZmllbGQgbmFtZT0nbmJfdHlwZXMnIHR5cGU9J2ludCcgaW5mbz0nIG51bWJlciBvZiBkZWZpbmVkIHR5cGVzJy8+CisgICAgICA8ZmllbGQgbmFtZT0nbWF4X3R5cGVzJyB0eXBlPSdpbnQnIGluZm89JyBtYXggbnVtYmVyIG9mIHR5cGVzJy8+CisgICAgICA8ZmllbGQgbmFtZT0ndHlwZXMnIHR5cGU9J3htbFhQYXRoVHlwZVB0cicgaW5mbz0nIEFycmF5IG9mIGRlZmluZWQgdHlwZXMnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSduYl9mdW5jc191bnVzZWQnIHR5cGU9J2ludCcgaW5mbz0nIHVudXNlZCAoaGFzaCB0YWJsZSknLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdtYXhfZnVuY3NfdW51c2VkJyB0eXBlPSdpbnQnIGluZm89JyB1bnVzZWQgKGhhc2ggdGFibGUpJy8+CisgICAgICA8ZmllbGQgbmFtZT0nZnVuY0hhc2gnIHR5cGU9J3htbEhhc2hUYWJsZVB0cicgaW5mbz0nIEhhc2ggdGFibGUgb2YgZGVmaW5lZCBmdW5jcycvPgorICAgICAgPGZpZWxkIG5hbWU9J25iX2F4aXMnIHR5cGU9J2ludCcgaW5mbz0nIG51bWJlciBvZiBkZWZpbmVkIGF4aXMnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdtYXhfYXhpcycgdHlwZT0naW50JyBpbmZvPScgbWF4IG51bWJlciBvZiBheGlzJy8+CisgICAgICA8ZmllbGQgbmFtZT0nYXhpcycgdHlwZT0neG1sWFBhdGhBeGlzUHRyJyBpbmZvPScgQXJyYXkgb2YgZGVmaW5lZCBheGlzIHRoZSBuYW1lc3BhY2Ugbm9kZXMgb2YgdGhlIGNvbnRleHQgbm9kZScvPgorICAgICAgPGZpZWxkIG5hbWU9J25hbWVzcGFjZXMnIHR5cGU9J3htbE5zUHRyIConIGluZm89JyBBcnJheSBvZiBuYW1lc3BhY2VzJy8+CisgICAgICA8ZmllbGQgbmFtZT0nbnNOcicgdHlwZT0naW50JyBpbmZvPScgbnVtYmVyIG9mIG5hbWVzcGFjZSBpbiBzY29wZScvPgorICAgICAgPGZpZWxkIG5hbWU9J3VzZXInIHR5cGU9J3ZvaWQgKicgaW5mbz0nIGZ1bmN0aW9uIHRvIGZyZWUgZXh0cmEgdmFyaWFibGVzJy8+CisgICAgICA8ZmllbGQgbmFtZT0nY29udGV4dFNpemUnIHR5cGU9J2ludCcgaW5mbz0nIHRoZSBjb250ZXh0IHNpemUnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdwcm94aW1pdHlQb3NpdGlvbicgdHlwZT0naW50JyBpbmZvPScgdGhlIHByb3hpbWl0eSBwb3NpdGlvbiBleHRyYSBzdHVmZiBmb3IgWFBvaW50ZXInLz4KKyAgICAgIDxmaWVsZCBuYW1lPSd4cHRyJyB0eXBlPSdpbnQnIGluZm89JyBpcyB0aGlzIGFuIFhQb2ludGVyIGNvbnRleHQ/Jy8+CisgICAgICA8ZmllbGQgbmFtZT0naGVyZScgdHlwZT0neG1sTm9kZVB0cicgaW5mbz0nIGZvciBoZXJlKCknLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdvcmlnaW4nIHR5cGU9J3htbE5vZGVQdHInIGluZm89JyBmb3Igb3JpZ2luKCkgdGhlIHNldCBvZiBuYW1lc3BhY2UgZGVjbGFyYXRpb25zIGluIHNjb3BlIGZvciB0aGUgZXhwcmVzc2lvbicvPgorICAgICAgPGZpZWxkIG5hbWU9J25zSGFzaCcgdHlwZT0neG1sSGFzaFRhYmxlUHRyJyBpbmZvPScgVGhlIG5hbWVzcGFjZXMgaGFzaCB0YWJsZScvPgorICAgICAgPGZpZWxkIG5hbWU9J3Zhckxvb2t1cEZ1bmMnIHR5cGU9J3htbFhQYXRoVmFyaWFibGVMb29rdXBGdW5jJyBpbmZvPScgdmFyaWFibGUgbG9va3VwIGZ1bmMnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSd2YXJMb29rdXBEYXRhJyB0eXBlPSd2b2lkIConIGluZm89JyB2YXJpYWJsZSBsb29rdXAgZGF0YSBQb3NzaWJpbGl0eSB0byBsaW5rIGluIGFuIGV4dHJhIGl0ZW0nLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdleHRyYScgdHlwZT0ndm9pZCAqJyBpbmZvPScgbmVlZGVkIGZvciBYU0xUIFRoZSBmdW5jdGlvbiBuYW1lIGFuZCBVUkkgd2hlbiBjYWxsaW5nIGEgZnVuY3Rpb24nLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdmdW5jdGlvbicgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdmdW5jdGlvblVSSScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPScgZnVuY3Rpb24gbG9va3VwIGZ1bmN0aW9uIGFuZCBkYXRhJy8+CisgICAgICA8ZmllbGQgbmFtZT0nZnVuY0xvb2t1cEZ1bmMnIHR5cGU9J3htbFhQYXRoRnVuY0xvb2t1cEZ1bmMnIGluZm89JyBmdW5jdGlvbiBsb29rdXAgZnVuYycvPgorICAgICAgPGZpZWxkIG5hbWU9J2Z1bmNMb29rdXBEYXRhJyB0eXBlPSd2b2lkIConIGluZm89JyBmdW5jdGlvbiBsb29rdXAgZGF0YSB0ZW1wb3JhcnkgbmFtZXNwYWNlIGxpc3RzIGtlcHQgZm9yIHdhbGtpbmcgdGhlIG5hbWVzcGFjZSBheGlzJy8+CisgICAgICA8ZmllbGQgbmFtZT0ndG1wTnNMaXN0JyB0eXBlPSd4bWxOc1B0ciAqJyBpbmZvPScgQXJyYXkgb2YgbmFtZXNwYWNlcycvPgorICAgICAgPGZpZWxkIG5hbWU9J3RtcE5zTnInIHR5cGU9J2ludCcgaW5mbz0nIG51bWJlciBvZiBuYW1lc3BhY2VzIGluIHNjb3BlIGVycm9yIHJlcG9ydGluZyBtZWNoYW5pc20nLz4KKyAgICAgIDxmaWVsZCBuYW1lPSd1c2VyRGF0YScgdHlwZT0ndm9pZCAqJyBpbmZvPScgdXNlciBzcGVjaWZpYyBkYXRhIGJsb2NrJy8+CisgICAgICA8ZmllbGQgbmFtZT0nZXJyb3InIHR5cGU9J3htbFN0cnVjdHVyZWRFcnJvckZ1bmMnIGluZm89JyB0aGUgY2FsbGJhY2sgaW4gY2FzZSBvZiBlcnJvcnMnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdsYXN0RXJyb3InIHR5cGU9J3htbEVycm9yJyBpbmZvPScgdGhlIGxhc3QgZXJyb3InLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdkZWJ1Z05vZGUnIHR5cGU9J3htbE5vZGVQdHInIGluZm89JyB0aGUgc291cmNlIG5vZGUgWFNMVCBkaWN0aW9uYXJ5Jy8+CisgICAgICA8ZmllbGQgbmFtZT0nZGljdCcgdHlwZT0neG1sRGljdFB0cicgaW5mbz0nIGRpY3Rpb25hcnkgaWYgYW55Jy8+CisgICAgICA8ZmllbGQgbmFtZT0nZmxhZ3MnIHR5cGU9J2ludCcgaW5mbz0nIGZsYWdzIHRvIGNvbnRyb2wgY29tcGlsYXRpb24gQ2FjaGUgZm9yIHJldXNhbCBvZiBYUGF0aCBvYmplY3RzJy8+CisgICAgICA8ZmllbGQgbmFtZT0nY2FjaGUnIHR5cGU9J3ZvaWQgKicgaW5mbz0nJy8+CisgICAgPC9zdHJ1Y3Q+CisgICAgPHR5cGVkZWYgbmFtZT0neG1sWFBhdGhDb250ZXh0UHRyJyBmaWxlPSd4cGF0aCcgdHlwZT0neG1sWFBhdGhDb250ZXh0IConLz4KKyAgICA8dHlwZWRlZiBuYW1lPSd4bWxYUGF0aEVycm9yJyBmaWxlPSd4cGF0aCcgdHlwZT0nZW51bScvPgorICAgIDx0eXBlZGVmIG5hbWU9J3htbFhQYXRoRnVuY1B0cicgZmlsZT0neHBhdGgnIHR5cGU9J3htbFhQYXRoRnVuY3QgKicvPgorICAgIDxzdHJ1Y3QgbmFtZT0neG1sWFBhdGhGdW5jdCcgZmlsZT0neHBhdGgnIHR5cGU9J3N0cnVjdCBfeG1sWFBhdGhGdW5jdCc+CisgICAgICA8ZmllbGQgbmFtZT0nbmFtZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPScgdGhlIGZ1bmN0aW9uIG5hbWUnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdmdW5jJyB0eXBlPSd4bWxYUGF0aEV2YWxGdW5jJyBpbmZvPScgdGhlIGV2YWx1YXRpb24gZnVuY3Rpb24nLz4KKyAgICA8L3N0cnVjdD4KKyAgICA8c3RydWN0IG5hbWU9J3htbFhQYXRoT2JqZWN0JyBmaWxlPSd4cGF0aCcgdHlwZT0nc3RydWN0IF94bWxYUGF0aE9iamVjdCc+CisgICAgICA8ZmllbGQgbmFtZT0ndHlwZScgdHlwZT0neG1sWFBhdGhPYmplY3RUeXBlJyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdub2Rlc2V0dmFsJyB0eXBlPSd4bWxOb2RlU2V0UHRyJyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdib29sdmFsJyB0eXBlPSdpbnQnIGluZm89JycvPgorICAgICAgPGZpZWxkIG5hbWU9J2Zsb2F0dmFsJyB0eXBlPSdkb3VibGUnIGluZm89JycvPgorICAgICAgPGZpZWxkIG5hbWU9J3N0cmluZ3ZhbCcgdHlwZT0neG1sQ2hhciAqJyBpbmZvPScnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSd1c2VyJyB0eXBlPSd2b2lkIConIGluZm89JycvPgorICAgICAgPGZpZWxkIG5hbWU9J2luZGV4JyB0eXBlPSdpbnQnIGluZm89JycvPgorICAgICAgPGZpZWxkIG5hbWU9J3VzZXIyJyB0eXBlPSd2b2lkIConIGluZm89JycvPgorICAgICAgPGZpZWxkIG5hbWU9J2luZGV4MicgdHlwZT0naW50JyBpbmZvPScnLz4KKyAgICA8L3N0cnVjdD4KKyAgICA8dHlwZWRlZiBuYW1lPSd4bWxYUGF0aE9iamVjdFB0cicgZmlsZT0neHBhdGgnIHR5cGU9J3htbFhQYXRoT2JqZWN0IConLz4KKyAgICA8dHlwZWRlZiBuYW1lPSd4bWxYUGF0aE9iamVjdFR5cGUnIGZpbGU9J3hwYXRoJyB0eXBlPSdlbnVtJy8+CisgICAgPHN0cnVjdCBuYW1lPSd4bWxYUGF0aFBhcnNlckNvbnRleHQnIGZpbGU9J3hwYXRoJyB0eXBlPSdzdHJ1Y3QgX3htbFhQYXRoUGFyc2VyQ29udGV4dCc+CisgICAgICA8ZmllbGQgbmFtZT0nY3VyJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89JyB0aGUgY3VycmVudCBjaGFyIGJlaW5nIHBhcnNlZCcvPgorICAgICAgPGZpZWxkIG5hbWU9J2Jhc2UnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nIHRoZSBmdWxsIGV4cHJlc3Npb24nLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdlcnJvcicgdHlwZT0naW50JyBpbmZvPScgZXJyb3IgY29kZScvPgorICAgICAgPGZpZWxkIG5hbWU9J2NvbnRleHQnIHR5cGU9J3htbFhQYXRoQ29udGV4dFB0cicgaW5mbz0nIHRoZSBldmFsdWF0aW9uIGNvbnRleHQnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSd2YWx1ZScgdHlwZT0neG1sWFBhdGhPYmplY3RQdHInIGluZm89JyB0aGUgY3VycmVudCB2YWx1ZScvPgorICAgICAgPGZpZWxkIG5hbWU9J3ZhbHVlTnInIHR5cGU9J2ludCcgaW5mbz0nIG51bWJlciBvZiB2YWx1ZXMgc3RhY2tlZCcvPgorICAgICAgPGZpZWxkIG5hbWU9J3ZhbHVlTWF4JyB0eXBlPSdpbnQnIGluZm89JyBtYXggbnVtYmVyIG9mIHZhbHVlcyBzdGFja2VkJy8+CisgICAgICA8ZmllbGQgbmFtZT0ndmFsdWVUYWInIHR5cGU9J3htbFhQYXRoT2JqZWN0UHRyIConIGluZm89JyBzdGFjayBvZiB2YWx1ZXMnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdjb21wJyB0eXBlPSd4bWxYUGF0aENvbXBFeHByUHRyJyBpbmZvPScgdGhlIHByZWNvbXBpbGVkIGV4cHJlc3Npb24nLz4KKyAgICAgIDxmaWVsZCBuYW1lPSd4cHRyJyB0eXBlPSdpbnQnIGluZm89JyBpdCB0aGlzIGFuIFhQb2ludGVyIGV4cHJlc3Npb24nLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdhbmNlc3RvcicgdHlwZT0neG1sTm9kZVB0cicgaW5mbz0nIHVzZWQgZm9yIHdhbGtpbmcgcHJlY2VkaW5nIGF4aXMnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSd2YWx1ZUZyYW1lJyB0eXBlPSdpbnQnIGluZm89JyB1c2VkIHRvIGxpbWl0IFBvcCBvbiB0aGUgc3RhY2snLz4KKyAgICA8L3N0cnVjdD4KKyAgICA8dHlwZWRlZiBuYW1lPSd4bWxYUGF0aFBhcnNlckNvbnRleHRQdHInIGZpbGU9J3hwYXRoJyB0eXBlPSd4bWxYUGF0aFBhcnNlckNvbnRleHQgKicvPgorICAgIDxzdHJ1Y3QgbmFtZT0neG1sWFBhdGhUeXBlJyBmaWxlPSd4cGF0aCcgdHlwZT0nc3RydWN0IF94bWxYUGF0aFR5cGUnPgorICAgICAgPGZpZWxkIG5hbWU9J25hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nIHRoZSB0eXBlIG5hbWUnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSdmdW5jJyB0eXBlPSd4bWxYUGF0aENvbnZlcnRGdW5jJyBpbmZvPScgdGhlIGNvbnZlcnNpb24gZnVuY3Rpb24nLz4KKyAgICA8L3N0cnVjdD4KKyAgICA8dHlwZWRlZiBuYW1lPSd4bWxYUGF0aFR5cGVQdHInIGZpbGU9J3hwYXRoJyB0eXBlPSd4bWxYUGF0aFR5cGUgKicvPgorICAgIDxzdHJ1Y3QgbmFtZT0neG1sWFBhdGhWYXJpYWJsZScgZmlsZT0neHBhdGgnIHR5cGU9J3N0cnVjdCBfeG1sWFBhdGhWYXJpYWJsZSc+CisgICAgICA8ZmllbGQgbmFtZT0nbmFtZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPScgdGhlIHZhcmlhYmxlIG5hbWUnLz4KKyAgICAgIDxmaWVsZCBuYW1lPSd2YWx1ZScgdHlwZT0neG1sWFBhdGhPYmplY3RQdHInIGluZm89JyB0aGUgdmFsdWUnLz4KKyAgICA8L3N0cnVjdD4KKyAgICA8dHlwZWRlZiBuYW1lPSd4bWxYUGF0aFZhcmlhYmxlUHRyJyBmaWxlPSd4cGF0aCcgdHlwZT0neG1sWFBhdGhWYXJpYWJsZSAqJy8+CisgICAgPHZhcmlhYmxlIG5hbWU9J2RvY2JEZWZhdWx0U0FYSGFuZGxlcicgZmlsZT0nZ2xvYmFscycgdHlwZT0neG1sU0FYSGFuZGxlclYxJy8+CisgICAgPHZhcmlhYmxlIG5hbWU9J2VtcHR5RXhwJyBmaWxlPSd4bWxyZWdleHAnIHR5cGU9J3htbEV4cE5vZGVQdHInLz4KKyAgICA8dmFyaWFibGUgbmFtZT0nZm9yYmlkZGVuRXhwJyBmaWxlPSd4bWxyZWdleHAnIHR5cGU9J3htbEV4cE5vZGVQdHInLz4KKyAgICA8dmFyaWFibGUgbmFtZT0naHRtbERlZmF1bHRTQVhIYW5kbGVyJyBmaWxlPSdnbG9iYWxzJyB0eXBlPSd4bWxTQVhIYW5kbGVyVjEnLz4KKyAgICA8dmFyaWFibGUgbmFtZT0nb2xkWE1MV0Rjb21wYXRpYmlsaXR5JyBmaWxlPSdnbG9iYWxzJyB0eXBlPSdpbnQnLz4KKyAgICA8dmFyaWFibGUgbmFtZT0neG1sQnVmZmVyQWxsb2NTY2hlbWUnIGZpbGU9J2dsb2JhbHMnIHR5cGU9J3htbEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUnLz4KKyAgICA8dmFyaWFibGUgbmFtZT0neG1sRGVmYXVsdEJ1ZmZlclNpemUnIGZpbGU9J2dsb2JhbHMnIHR5cGU9J2ludCcvPgorICAgIDx2YXJpYWJsZSBuYW1lPSd4bWxEZWZhdWx0U0FYSGFuZGxlcicgZmlsZT0nZ2xvYmFscycgdHlwZT0neG1sU0FYSGFuZGxlclYxJy8+CisgICAgPHZhcmlhYmxlIG5hbWU9J3htbERlZmF1bHRTQVhMb2NhdG9yJyBmaWxlPSdnbG9iYWxzJyB0eXBlPSd4bWxTQVhMb2NhdG9yJy8+CisgICAgPHZhcmlhYmxlIG5hbWU9J3htbERlcmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlJyBmaWxlPSdnbG9iYWxzJyB0eXBlPSd4bWxEZXJlZ2lzdGVyTm9kZUZ1bmMnLz4KKyAgICA8dmFyaWFibGUgbmFtZT0neG1sRG9WYWxpZGl0eUNoZWNraW5nRGVmYXVsdFZhbHVlJyBmaWxlPSdnbG9iYWxzJyB0eXBlPSdpbnQnLz4KKyAgICA8dmFyaWFibGUgbmFtZT0neG1sRnJlZScgZmlsZT0nZ2xvYmFscycgdHlwZT0neG1sRnJlZUZ1bmMnLz4KKyAgICA8dmFyaWFibGUgbmFtZT0neG1sR2VuZXJpY0Vycm9yJyBmaWxlPSdnbG9iYWxzJyB0eXBlPSd4bWxHZW5lcmljRXJyb3JGdW5jJy8+CisgICAgPHZhcmlhYmxlIG5hbWU9J3htbEdlbmVyaWNFcnJvckNvbnRleHQnIGZpbGU9J2dsb2JhbHMnIHR5cGU9J3ZvaWQgKicvPgorICAgIDx2YXJpYWJsZSBuYW1lPSd4bWxHZXRXYXJuaW5nc0RlZmF1bHRWYWx1ZScgZmlsZT0nZ2xvYmFscycgdHlwZT0naW50Jy8+CisgICAgPHZhcmlhYmxlIG5hbWU9J3htbEluZGVudFRyZWVPdXRwdXQnIGZpbGU9J2dsb2JhbHMnIHR5cGU9J2ludCcvPgorICAgIDx2YXJpYWJsZSBuYW1lPSd4bWxJc0Jhc2VDaGFyR3JvdXAnIGZpbGU9J2NodmFsaWQnIHR5cGU9J2NvbnN0IHhtbENoUmFuZ2VHcm91cCcvPgorICAgIDx2YXJpYWJsZSBuYW1lPSd4bWxJc0NoYXJHcm91cCcgZmlsZT0nY2h2YWxpZCcgdHlwZT0nY29uc3QgeG1sQ2hSYW5nZUdyb3VwJy8+CisgICAgPHZhcmlhYmxlIG5hbWU9J3htbElzQ29tYmluaW5nR3JvdXAnIGZpbGU9J2NodmFsaWQnIHR5cGU9J2NvbnN0IHhtbENoUmFuZ2VHcm91cCcvPgorICAgIDx2YXJpYWJsZSBuYW1lPSd4bWxJc0RpZ2l0R3JvdXAnIGZpbGU9J2NodmFsaWQnIHR5cGU9J2NvbnN0IHhtbENoUmFuZ2VHcm91cCcvPgorICAgIDx2YXJpYWJsZSBuYW1lPSd4bWxJc0V4dGVuZGVyR3JvdXAnIGZpbGU9J2NodmFsaWQnIHR5cGU9J2NvbnN0IHhtbENoUmFuZ2VHcm91cCcvPgorICAgIDx2YXJpYWJsZSBuYW1lPSd4bWxJc0lkZW9ncmFwaGljR3JvdXAnIGZpbGU9J2NodmFsaWQnIHR5cGU9J2NvbnN0IHhtbENoUmFuZ2VHcm91cCcvPgorICAgIDx2YXJpYWJsZSBuYW1lPSd4bWxJc1B1YmlkQ2hhcl90YWInIGZpbGU9J2NodmFsaWQnIHR5cGU9J2NvbnN0IHVuc2lnbmVkIGNoYXJ4bWxJc1B1YmlkQ2hhcl90YWJbMjU2XScvPgorICAgIDx2YXJpYWJsZSBuYW1lPSd4bWxLZWVwQmxhbmtzRGVmYXVsdFZhbHVlJyBmaWxlPSdnbG9iYWxzJyB0eXBlPSdpbnQnLz4KKyAgICA8dmFyaWFibGUgbmFtZT0neG1sTGFzdEVycm9yJyBmaWxlPSdnbG9iYWxzJyB0eXBlPSd4bWxFcnJvcicvPgorICAgIDx2YXJpYWJsZSBuYW1lPSd4bWxMaW5lTnVtYmVyc0RlZmF1bHRWYWx1ZScgZmlsZT0nZ2xvYmFscycgdHlwZT0naW50Jy8+CisgICAgPHZhcmlhYmxlIG5hbWU9J3htbExvYWRFeHREdGREZWZhdWx0VmFsdWUnIGZpbGU9J2dsb2JhbHMnIHR5cGU9J2ludCcvPgorICAgIDx2YXJpYWJsZSBuYW1lPSd4bWxNYWxsb2MnIGZpbGU9J2dsb2JhbHMnIHR5cGU9J3htbE1hbGxvY0Z1bmMnLz4KKyAgICA8dmFyaWFibGUgbmFtZT0neG1sTWFsbG9jQXRvbWljJyBmaWxlPSdnbG9iYWxzJyB0eXBlPSd4bWxNYWxsb2NGdW5jJy8+CisgICAgPHZhcmlhYmxlIG5hbWU9J3htbE1lbVN0cmR1cCcgZmlsZT0nZ2xvYmFscycgdHlwZT0neG1sU3RyZHVwRnVuYycvPgorICAgIDx2YXJpYWJsZSBuYW1lPSd4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZVZhbHVlJyBmaWxlPSdnbG9iYWxzJyB0eXBlPSd4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmMnLz4KKyAgICA8dmFyaWFibGUgbmFtZT0neG1sUGFyc2VyRGVidWdFbnRpdGllcycgZmlsZT0nZ2xvYmFscycgdHlwZT0naW50Jy8+CisgICAgPHZhcmlhYmxlIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVWYWx1ZScgZmlsZT0nZ2xvYmFscycgdHlwZT0neG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmMnLz4KKyAgICA8dmFyaWFibGUgbmFtZT0neG1sUGFyc2VyTWF4RGVwdGgnIGZpbGU9J3BhcnNlckludGVybmFscycgdHlwZT0ndW5zaWduZWQgaW50Jy8+CisgICAgPHZhcmlhYmxlIG5hbWU9J3htbFBhcnNlclZlcnNpb24nIGZpbGU9J2dsb2JhbHMnIHR5cGU9J2NvbnN0IGNoYXIgKicvPgorICAgIDx2YXJpYWJsZSBuYW1lPSd4bWxQZWRhbnRpY1BhcnNlckRlZmF1bHRWYWx1ZScgZmlsZT0nZ2xvYmFscycgdHlwZT0naW50Jy8+CisgICAgPHZhcmlhYmxlIG5hbWU9J3htbFJlYWxsb2MnIGZpbGU9J2dsb2JhbHMnIHR5cGU9J3htbFJlYWxsb2NGdW5jJy8+CisgICAgPHZhcmlhYmxlIG5hbWU9J3htbFJlZ2lzdGVyTm9kZURlZmF1bHRWYWx1ZScgZmlsZT0nZ2xvYmFscycgdHlwZT0neG1sUmVnaXN0ZXJOb2RlRnVuYycvPgorICAgIDx2YXJpYWJsZSBuYW1lPSd4bWxTYXZlTm9FbXB0eVRhZ3MnIGZpbGU9J2dsb2JhbHMnIHR5cGU9J2ludCcvPgorICAgIDx2YXJpYWJsZSBuYW1lPSd4bWxTdHJpbmdDb21tZW50JyBmaWxlPSdwYXJzZXJJbnRlcm5hbHMnIHR5cGU9J2NvbnN0IHhtbENoYXJ4bWxTdHJpbmdDb21tZW50W10nLz4KKyAgICA8dmFyaWFibGUgbmFtZT0neG1sU3RyaW5nVGV4dCcgZmlsZT0ncGFyc2VySW50ZXJuYWxzJyB0eXBlPSdjb25zdCB4bWxDaGFyeG1sU3RyaW5nVGV4dFtdJy8+CisgICAgPHZhcmlhYmxlIG5hbWU9J3htbFN0cmluZ1RleHROb2VuYycgZmlsZT0ncGFyc2VySW50ZXJuYWxzJyB0eXBlPSdjb25zdCB4bWxDaGFyeG1sU3RyaW5nVGV4dE5vZW5jW10nLz4KKyAgICA8dmFyaWFibGUgbmFtZT0neG1sU3RydWN0dXJlZEVycm9yJyBmaWxlPSdnbG9iYWxzJyB0eXBlPSd4bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jJy8+CisgICAgPHZhcmlhYmxlIG5hbWU9J3htbFN0cnVjdHVyZWRFcnJvckNvbnRleHQnIGZpbGU9J2dsb2JhbHMnIHR5cGU9J3ZvaWQgKicvPgorICAgIDx2YXJpYWJsZSBuYW1lPSd4bWxTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0VmFsdWUnIGZpbGU9J2dsb2JhbHMnIHR5cGU9J2ludCcvPgorICAgIDx2YXJpYWJsZSBuYW1lPSd4bWxUcmVlSW5kZW50U3RyaW5nJyBmaWxlPSdnbG9iYWxzJyB0eXBlPSdjb25zdCBjaGFyIConLz4KKyAgICA8dmFyaWFibGUgbmFtZT0neG1sWFBhdGhOQU4nIGZpbGU9J3hwYXRoJyB0eXBlPSdkb3VibGUnLz4KKyAgICA8dmFyaWFibGUgbmFtZT0neG1sWFBhdGhOSU5GJyBmaWxlPSd4cGF0aCcgdHlwZT0nZG91YmxlJy8+CisgICAgPHZhcmlhYmxlIG5hbWU9J3htbFhQYXRoUElORicgZmlsZT0neHBhdGgnIHR5cGU9J2RvdWJsZScvPgorICAgIDxmdW5jdGlvbiBuYW1lPSdVVEY4VG9IdG1sJyBmaWxlPSdIVE1McGFyc2VyJyBtb2R1bGU9J0hUTUxwYXJzZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlRha2UgYSBibG9jayBvZiBVVEYtOCBjaGFycyBpbiBhbmQgdHJ5IHRvIGNvbnZlcnQgaXQgdG8gYW4gQVNDSUkgcGx1cyBIVE1MIGVudGl0aWVzIGJsb2NrIG9mIGNoYXJzIG91dC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMCBpZiBzdWNjZXNzLCAtMiBpZiB0aGUgdHJhbnNjb2RpbmcgZmFpbHMsIG9yIC0xIG90aGVyd2lzZSBUaGUgdmFsdWUgb2YgQGlubGVuIGFmdGVyIHJldHVybiBpcyB0aGUgbnVtYmVyIG9mIG9jdGV0cyBjb25zdW1lZCBhcyB0aGUgcmV0dXJuIHZhbHVlIGlzIHBvc2l0aXZlLCBlbHNlIHVucHJlZGljdGFibGUuIFRoZSB2YWx1ZSBvZiBAb3V0bGVuIGFmdGVyIHJldHVybiBpcyB0aGUgbnVtYmVyIG9mIG9jdGV0cyBjb25zdW1lZC4nLz4KKyAgICAgIDxhcmcgbmFtZT0nb3V0JyB0eXBlPSd1bnNpZ25lZCBjaGFyIConIGluZm89J2EgcG9pbnRlciB0byBhbiBhcnJheSBvZiBieXRlcyB0byBzdG9yZSB0aGUgcmVzdWx0Jy8+CisgICAgICA8YXJnIG5hbWU9J291dGxlbicgdHlwZT0naW50IConIGluZm89J3RoZSBsZW5ndGggb2YgQG91dCcvPgorICAgICAgPGFyZyBuYW1lPSdpbicgdHlwZT0nY29uc3QgdW5zaWduZWQgY2hhciAqJyBpbmZvPSdhIHBvaW50ZXIgdG8gYW4gYXJyYXkgb2YgVVRGLTggY2hhcnMnLz4KKyAgICAgIDxhcmcgbmFtZT0naW5sZW4nIHR5cGU9J2ludCAqJyBpbmZvPSd0aGUgbGVuZ3RoIG9mIEBpbicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J1VURjhUb2lzb2xhdDEnIGZpbGU9J2VuY29kaW5nJyBtb2R1bGU9J2VuY29kaW5nJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlRha2UgYSBibG9jayBvZiBVVEYtOCBjaGFycyBpbiBhbmQgdHJ5IHRvIGNvbnZlcnQgaXQgdG8gYW4gSVNPIExhdGluIDEgYmxvY2sgb2YgY2hhcnMgb3V0LjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgbnVtYmVyIG9mIGJ5dGVzIHdyaXR0ZW4gaWYgc3VjY2VzcywgLTIgaWYgdGhlIHRyYW5zY29kaW5nIGZhaWxzLCBvciAtMSBvdGhlcndpc2UgVGhlIHZhbHVlIG9mIEBpbmxlbiBhZnRlciByZXR1cm4gaXMgdGhlIG51bWJlciBvZiBvY3RldHMgY29uc3VtZWQgaWYgdGhlIHJldHVybiB2YWx1ZSBpcyBwb3NpdGl2ZSwgZWxzZSB1bnByZWRpY3RhYmxlLiBUaGUgdmFsdWUgb2YgQG91dGxlbiBhZnRlciByZXR1cm4gaXMgdGhlIG51bWJlciBvZiBvY3RldHMgY29uc3VtZWQuJy8+CisgICAgICA8YXJnIG5hbWU9J291dCcgdHlwZT0ndW5zaWduZWQgY2hhciAqJyBpbmZvPSdhIHBvaW50ZXIgdG8gYW4gYXJyYXkgb2YgYnl0ZXMgdG8gc3RvcmUgdGhlIHJlc3VsdCcvPgorICAgICAgPGFyZyBuYW1lPSdvdXRsZW4nIHR5cGU9J2ludCAqJyBpbmZvPSd0aGUgbGVuZ3RoIG9mIEBvdXQnLz4KKyAgICAgIDxhcmcgbmFtZT0naW4nIHR5cGU9J2NvbnN0IHVuc2lnbmVkIGNoYXIgKicgaW5mbz0nYSBwb2ludGVyIHRvIGFuIGFycmF5IG9mIFVURi04IGNoYXJzJy8+CisgICAgICA8YXJnIG5hbWU9J2lubGVuJyB0eXBlPSdpbnQgKicgaW5mbz0ndGhlIGxlbmd0aCBvZiBAaW4nLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSdhdHRyaWJ1dGUnIGZpbGU9J1NBWCcgbW9kdWxlPSdsZWdhY3knPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfTEVHQUNZX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+SGFuZGxlIGFuIGF0dHJpYnV0ZSB0aGF0IGhhcyBiZWVuIHJlYWQgYnkgdGhlIHBhcnNlci4gVGhlIGRlZmF1bHQgaGFuZGxpbmcgaXMgdG8gY29udmVydCB0aGUgYXR0cmlidXRlIGludG8gYW4gRE9NIHN1YnRyZWUgYW5kIHBhc3QgaXQgaW4gYSBuZXcgeG1sQXR0ciBlbGVtZW50IGFkZGVkIHRvIHRoZSBlbGVtZW50LiBERVBSRUNBVEVEOiB1c2UgeG1sU0FYMkF0dHJpYnV0ZSgpPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eCcgdHlwZT0ndm9pZCAqJyBpbmZvPSd0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpJy8+CisgICAgICA8YXJnIG5hbWU9J2Z1bGxuYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J1RoZSBhdHRyaWJ1dGUgbmFtZSwgaW5jbHVkaW5nIG5hbWVzcGFjZSBwcmVmaXgnLz4KKyAgICAgIDxhcmcgbmFtZT0ndmFsdWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nVGhlIGF0dHJpYnV0ZSB2YWx1ZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J2F0dHJpYnV0ZURlY2wnIGZpbGU9J1NBWCcgbW9kdWxlPSdsZWdhY3knPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfTEVHQUNZX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+QW4gYXR0cmlidXRlIGRlZmluaXRpb24gaGFzIGJlZW4gcGFyc2VkIERFUFJFQ0FURUQ6IHVzZSB4bWxTQVgyQXR0cmlidXRlRGVjbCgpPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eCcgdHlwZT0ndm9pZCAqJyBpbmZvPSd0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpJy8+CisgICAgICA8YXJnIG5hbWU9J2VsZW0nIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIG5hbWUgb2YgdGhlIGVsZW1lbnQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZnVsbG5hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIGF0dHJpYnV0ZSBuYW1lJy8+CisgICAgICA8YXJnIG5hbWU9J3R5cGUnIHR5cGU9J2ludCcgaW5mbz0ndGhlIGF0dHJpYnV0ZSB0eXBlJy8+CisgICAgICA8YXJnIG5hbWU9J2RlZicgdHlwZT0naW50JyBpbmZvPSd0aGUgdHlwZSBvZiBkZWZhdWx0IHZhbHVlJy8+CisgICAgICA8YXJnIG5hbWU9J2RlZmF1bHRWYWx1ZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgYXR0cmlidXRlIGRlZmF1bHQgdmFsdWUnLz4KKyAgICAgIDxhcmcgbmFtZT0ndHJlZScgdHlwZT0neG1sRW51bWVyYXRpb25QdHInIGluZm89J3RoZSB0cmVlIG9mIGVudW1lcmF0ZWQgdmFsdWUgc2V0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3R5cGUgbmFtZT0nYXR0cmlidXRlRGVjbFNBWEZ1bmMnIGZpbGU9J3BhcnNlcicgbW9kdWxlPSdwYXJzZXInPgorICAgICAgPGluZm8+QW4gYXR0cmlidXRlIGRlZmluaXRpb24gaGFzIGJlZW4gcGFyc2VkLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHgnIHR5cGU9J3ZvaWQgKicgaW5mbz0ndGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KScvPgorICAgICAgPGFyZyBuYW1lPSdlbGVtJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBuYW1lIG9mIHRoZSBlbGVtZW50Jy8+CisgICAgICA8YXJnIG5hbWU9J2Z1bGxuYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBhdHRyaWJ1dGUgbmFtZScvPgorICAgICAgPGFyZyBuYW1lPSd0eXBlJyB0eXBlPSdpbnQnIGluZm89J3RoZSBhdHRyaWJ1dGUgdHlwZScvPgorICAgICAgPGFyZyBuYW1lPSdkZWYnIHR5cGU9J2ludCcgaW5mbz0ndGhlIHR5cGUgb2YgZGVmYXVsdCB2YWx1ZScvPgorICAgICAgPGFyZyBuYW1lPSdkZWZhdWx0VmFsdWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIGF0dHJpYnV0ZSBkZWZhdWx0IHZhbHVlJy8+CisgICAgICA8YXJnIG5hbWU9J3RyZWUnIHR5cGU9J3htbEVudW1lcmF0aW9uUHRyJyBpbmZvPSd0aGUgdHJlZSBvZiBlbnVtZXJhdGVkIHZhbHVlIHNldCcvPgorICAgIDwvZnVuY3R5cGU+CisgICAgPGZ1bmN0eXBlIG5hbWU9J2F0dHJpYnV0ZVNBWEZ1bmMnIGZpbGU9J3BhcnNlcicgbW9kdWxlPSdwYXJzZXInPgorICAgICAgPGluZm8+SGFuZGxlIGFuIGF0dHJpYnV0ZSB0aGF0IGhhcyBiZWVuIHJlYWQgYnkgdGhlIHBhcnNlci4gVGhlIGRlZmF1bHQgaGFuZGxpbmcgaXMgdG8gY29udmVydCB0aGUgYXR0cmlidXRlIGludG8gYW4gRE9NIHN1YnRyZWUgYW5kIHBhc3QgaXQgaW4gYSBuZXcgeG1sQXR0ciBlbGVtZW50IGFkZGVkIHRvIHRoZSBlbGVtZW50LjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHgnIHR5cGU9J3ZvaWQgKicgaW5mbz0ndGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KScvPgorICAgICAgPGFyZyBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J1RoZSBhdHRyaWJ1dGUgbmFtZSwgaW5jbHVkaW5nIG5hbWVzcGFjZSBwcmVmaXgnLz4KKyAgICAgIDxhcmcgbmFtZT0ndmFsdWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nVGhlIGF0dHJpYnV0ZSB2YWx1ZScvPgorICAgIDwvZnVuY3R5cGU+CisgICAgPGZ1bmN0aW9uIG5hbWU9J2NkYXRhQmxvY2snIGZpbGU9J1NBWCcgbW9kdWxlPSdsZWdhY3knPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfTEVHQUNZX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Y2FsbGVkIHdoZW4gYSBwY2RhdGEgYmxvY2sgaGFzIGJlZW4gcGFyc2VkIERFUFJFQ0FURUQ6IHVzZSB4bWxTQVgyQ0RhdGFCbG9jaygpPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eCcgdHlwZT0ndm9pZCAqJyBpbmZvPSd0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpJy8+CisgICAgICA8YXJnIG5hbWU9J3ZhbHVlJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J1RoZSBwY2RhdGEgY29udGVudCcvPgorICAgICAgPGFyZyBuYW1lPSdsZW4nIHR5cGU9J2ludCcgaW5mbz0ndGhlIGJsb2NrIGxlbmd0aCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0eXBlIG5hbWU9J2NkYXRhQmxvY2tTQVhGdW5jJyBmaWxlPSdwYXJzZXInIG1vZHVsZT0ncGFyc2VyJz4KKyAgICAgIDxpbmZvPkNhbGxlZCB3aGVuIGEgcGNkYXRhIGJsb2NrIGhhcyBiZWVuIHBhcnNlZC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4JyB0eXBlPSd2b2lkIConIGluZm89J3RoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCknLz4KKyAgICAgIDxhcmcgbmFtZT0ndmFsdWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nVGhlIHBjZGF0YSBjb250ZW50Jy8+CisgICAgICA8YXJnIG5hbWU9J2xlbicgdHlwZT0naW50JyBpbmZvPSd0aGUgYmxvY2sgbGVuZ3RoJy8+CisgICAgPC9mdW5jdHlwZT4KKyAgICA8ZnVuY3Rpb24gbmFtZT0nY2hhcmFjdGVycycgZmlsZT0nU0FYJyBtb2R1bGU9J2xlZ2FjeSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9MRUdBQ1lfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5yZWNlaXZpbmcgc29tZSBjaGFycyBmcm9tIHRoZSBwYXJzZXIuIERFUFJFQ0FURUQ6IHVzZSB4bWxTQVgyQ2hhcmFjdGVycygpPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eCcgdHlwZT0ndm9pZCAqJyBpbmZvPSd0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpJy8+CisgICAgICA8YXJnIG5hbWU9J2NoJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J2EgeG1sQ2hhciBzdHJpbmcnLz4KKyAgICAgIDxhcmcgbmFtZT0nbGVuJyB0eXBlPSdpbnQnIGluZm89J3RoZSBudW1iZXIgb2YgeG1sQ2hhcicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0eXBlIG5hbWU9J2NoYXJhY3RlcnNTQVhGdW5jJyBmaWxlPSdwYXJzZXInIG1vZHVsZT0ncGFyc2VyJz4KKyAgICAgIDxpbmZvPlJlY2VpdmluZyBzb21lIGNoYXJzIGZyb20gdGhlIHBhcnNlci48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4JyB0eXBlPSd2b2lkIConIGluZm89J3RoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCknLz4KKyAgICAgIDxhcmcgbmFtZT0nY2gnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nYSB4bWxDaGFyIHN0cmluZycvPgorICAgICAgPGFyZyBuYW1lPSdsZW4nIHR5cGU9J2ludCcgaW5mbz0ndGhlIG51bWJlciBvZiB4bWxDaGFyJy8+CisgICAgPC9mdW5jdHlwZT4KKyAgICA8ZnVuY3Rpb24gbmFtZT0nY2hlY2tOYW1lc3BhY2UnIGZpbGU9J1NBWCcgbW9kdWxlPSdsZWdhY3knPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfTEVHQUNZX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgdGhhdCB0aGUgY3VycmVudCBlbGVtZW50IG5hbWVzcGFjZSBpcyB0aGUgc2FtZSBhcyB0aGUgb25lIHJlYWQgdXBvbiBwYXJzaW5nLiBERVBSRUNBVEVEPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgdHJ1ZSAwIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdjdHgnIHR5cGU9J3ZvaWQgKicgaW5mbz0ndGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KScvPgorICAgICAgPGFyZyBuYW1lPSduYW1lc3BhY2UnIHR5cGU9J3htbENoYXIgKicgaW5mbz0ndGhlIG5hbWVzcGFjZSB0byBjaGVjayBhZ2FpbnN0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0nY29tbWVudCcgZmlsZT0nU0FYJyBtb2R1bGU9J2xlZ2FjeSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9MRUdBQ1lfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5BIGNvbW1lbnQgaGFzIGJlZW4gcGFyc2VkLiBERVBSRUNBVEVEOiB1c2UgeG1sU0FYMkNvbW1lbnQoKTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHgnIHR5cGU9J3ZvaWQgKicgaW5mbz0ndGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KScvPgorICAgICAgPGFyZyBuYW1lPSd2YWx1ZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgY29tbWVudCBjb250ZW50Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3R5cGUgbmFtZT0nY29tbWVudFNBWEZ1bmMnIGZpbGU9J3BhcnNlcicgbW9kdWxlPSdwYXJzZXInPgorICAgICAgPGluZm8+QSBjb21tZW50IGhhcyBiZWVuIHBhcnNlZC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4JyB0eXBlPSd2b2lkIConIGluZm89J3RoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCknLz4KKyAgICAgIDxhcmcgbmFtZT0ndmFsdWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIGNvbW1lbnQgY29udGVudCcvPgorICAgIDwvZnVuY3R5cGU+CisgICAgPGZ1bmN0aW9uIG5hbWU9J2RvY2JDcmVhdGVGaWxlUGFyc2VyQ3R4dCcgZmlsZT0nRE9DQnBhcnNlcicgbW9kdWxlPSdET0NCcGFyc2VyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0RPQ0JfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DcmVhdGUgYSBwYXJzZXIgY29udGV4dCBmb3IgYSBmaWxlIGNvbnRlbnQuIEF1dG9tYXRpYyBzdXBwb3J0IGZvciBaTElCL0NvbXByZXNzIGNvbXByZXNzZWQgZG9jdW1lbnQgaXMgcHJvdmlkZWQgYnkgZGVmYXVsdCBpZiBmb3VuZCBhdCBjb21waWxlLXRpbWUuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdkb2NiUGFyc2VyQ3R4dFB0cicgaW5mbz0ndGhlIG5ldyBwYXJzZXIgY29udGV4dCBvciBOVUxMJy8+CisgICAgICA8YXJnIG5hbWU9J2ZpbGVuYW1lJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBmaWxlbmFtZScvPgorICAgICAgPGFyZyBuYW1lPSdlbmNvZGluZycgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSd0aGUgU0dNTCBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J2RvY2JDcmVhdGVQdXNoUGFyc2VyQ3R4dCcgZmlsZT0nRE9DQnBhcnNlcicgbW9kdWxlPSdET0NCcGFyc2VyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0RPQ0JfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DcmVhdGUgYSBwYXJzZXIgY29udGV4dCBmb3IgdXNpbmcgdGhlIERvY0Jvb2sgU0dNTCBwYXJzZXIgaW4gcHVzaCBtb2RlIFRvIGFsbG93IGNvbnRlbnQgZW5jb2RpbmcgZGV0ZWN0aW9uLCBAc2l6ZSBzaG91bGQgYmUgJmd0Oz0gNCBUaGUgdmFsdWUgb2YgQGZpbGVuYW1lIGlzIHVzZWQgZm9yIGZldGNoaW5nIGV4dGVybmFsIGVudGl0aWVzIGFuZCBlcnJvci93YXJuaW5nIHJlcG9ydHMuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdkb2NiUGFyc2VyQ3R4dFB0cicgaW5mbz0ndGhlIG5ldyBwYXJzZXIgY29udGV4dCBvciBOVUxMJy8+CisgICAgICA8YXJnIG5hbWU9J3NheCcgdHlwZT0nZG9jYlNBWEhhbmRsZXJQdHInIGluZm89J2EgU0FYIGhhbmRsZXInLz4KKyAgICAgIDxhcmcgbmFtZT0ndXNlcl9kYXRhJyB0eXBlPSd2b2lkIConIGluZm89J1RoZSB1c2VyIGRhdGEgcmV0dXJuZWQgb24gU0FYIGNhbGxiYWNrcycvPgorICAgICAgPGFyZyBuYW1lPSdjaHVuaycgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSdhIHBvaW50ZXIgdG8gYW4gYXJyYXkgb2YgY2hhcnMnLz4KKyAgICAgIDxhcmcgbmFtZT0nc2l6ZScgdHlwZT0naW50JyBpbmZvPSdudW1iZXIgb2YgY2hhcnMgaW4gdGhlIGFycmF5Jy8+CisgICAgICA8YXJnIG5hbWU9J2ZpbGVuYW1lJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J2FuIG9wdGlvbmFsIGZpbGUgbmFtZSBvciBVUkknLz4KKyAgICAgIDxhcmcgbmFtZT0nZW5jJyB0eXBlPSd4bWxDaGFyRW5jb2RpbmcnIGluZm89J2FuIG9wdGlvbmFsIGVuY29kaW5nJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0nZG9jYkRlZmF1bHRTQVhIYW5kbGVySW5pdCcgZmlsZT0nU0FYMicgbW9kdWxlPSdTQVgyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0RPQ0JfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5Jbml0aWFsaXplIHRoZSBkZWZhdWx0IFNBWCBoYW5kbGVyPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0nZG9jYkVuY29kZUVudGl0aWVzJyBmaWxlPSdET0NCcGFyc2VyJyBtb2R1bGU9J0RPQ0JwYXJzZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfRE9DQl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlRha2UgYSBibG9jayBvZiBVVEYtOCBjaGFycyBpbiBhbmQgdHJ5IHRvIGNvbnZlcnQgaXQgdG8gYW4gQVNDSUkgcGx1cyBTR01MIGVudGl0aWVzIGJsb2NrIG9mIGNoYXJzIG91dC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMCBpZiBzdWNjZXNzLCAtMiBpZiB0aGUgdHJhbnNjb2RpbmcgZmFpbHMsIG9yIC0xIG90aGVyd2lzZSBUaGUgdmFsdWUgb2YgQGlubGVuIGFmdGVyIHJldHVybiBpcyB0aGUgbnVtYmVyIG9mIG9jdGV0cyBjb25zdW1lZCBhcyB0aGUgcmV0dXJuIHZhbHVlIGlzIHBvc2l0aXZlLCBlbHNlIHVucHJlZGljdGFibGUuIFRoZSB2YWx1ZSBvZiBAb3V0bGVuIGFmdGVyIHJldHVybiBpcyB0aGUgbnVtYmVyIG9mIG9jdGV0cyBjb25zdW1lZC4nLz4KKyAgICAgIDxhcmcgbmFtZT0nb3V0JyB0eXBlPSd1bnNpZ25lZCBjaGFyIConIGluZm89J2EgcG9pbnRlciB0byBhbiBhcnJheSBvZiBieXRlcyB0byBzdG9yZSB0aGUgcmVzdWx0Jy8+CisgICAgICA8YXJnIG5hbWU9J291dGxlbicgdHlwZT0naW50IConIGluZm89J3RoZSBsZW5ndGggb2YgQG91dCcvPgorICAgICAgPGFyZyBuYW1lPSdpbicgdHlwZT0nY29uc3QgdW5zaWduZWQgY2hhciAqJyBpbmZvPSdhIHBvaW50ZXIgdG8gYW4gYXJyYXkgb2YgVVRGLTggY2hhcnMnLz4KKyAgICAgIDxhcmcgbmFtZT0naW5sZW4nIHR5cGU9J2ludCAqJyBpbmZvPSd0aGUgbGVuZ3RoIG9mIEBpbicvPgorICAgICAgPGFyZyBuYW1lPSdxdW90ZUNoYXInIHR5cGU9J2ludCcgaW5mbz0ndGhlIHF1b3RlIGNoYXJhY3RlciB0byBlc2NhcGUgKCZhcG9zOyBvciAmcXVvdDspIG9yIHplcm8uJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0nZG9jYkZyZWVQYXJzZXJDdHh0JyBmaWxlPSdET0NCcGFyc2VyJyBtb2R1bGU9J0RPQ0JwYXJzZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfRE9DQl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkZyZWUgYWxsIHRoZSBtZW1vcnkgdXNlZCBieSBhIHBhcnNlciBjb250ZXh0LiBIb3dldmVyIHRoZSBwYXJzZWQgZG9jdW1lbnQgaW4gY3R4dC0mZ3Q7bXlEb2MgaXMgbm90IGZyZWVkLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSdkb2NiUGFyc2VyQ3R4dFB0cicgaW5mbz0nYW4gU0dNTCBwYXJzZXIgY29udGV4dCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J2RvY2JQYXJzZUNodW5rJyBmaWxlPSdET0NCcGFyc2VyJyBtb2R1bGU9J0RPQ0JwYXJzZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfRE9DQl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlBhcnNlIGEgQ2h1bmsgb2YgbWVtb3J5PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J3plcm8gaWYgbm8gZXJyb3IsIHRoZSB4bWxQYXJzZXJFcnJvcnMgb3RoZXJ3aXNlLicvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSdkb2NiUGFyc2VyQ3R4dFB0cicgaW5mbz0nYW4gWE1MIHBhcnNlciBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J2NodW5rJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J2FuIGNoYXIgYXJyYXknLz4KKyAgICAgIDxhcmcgbmFtZT0nc2l6ZScgdHlwZT0naW50JyBpbmZvPSd0aGUgc2l6ZSBpbiBieXRlIG9mIHRoZSBjaHVuaycvPgorICAgICAgPGFyZyBuYW1lPSd0ZXJtaW5hdGUnIHR5cGU9J2ludCcgaW5mbz0nbGFzdCBjaHVuayBpbmRpY2F0b3InLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSdkb2NiUGFyc2VEb2MnIGZpbGU9J0RPQ0JwYXJzZXInIG1vZHVsZT0nRE9DQnBhcnNlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9ET0NCX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+cGFyc2UgYW4gU0dNTCBpbi1tZW1vcnkgZG9jdW1lbnQgYW5kIGJ1aWxkIGEgdHJlZS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2RvY2JEb2NQdHInIGluZm89J3RoZSByZXN1bHRpbmcgZG9jdW1lbnQgdHJlZScvPgorICAgICAgPGFyZyBuYW1lPSdjdXInIHR5cGU9J3htbENoYXIgKicgaW5mbz0nYSBwb2ludGVyIHRvIGFuIGFycmF5IG9mIHhtbENoYXInLz4KKyAgICAgIDxhcmcgbmFtZT0nZW5jb2RpbmcnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0nYSBmcmVlIGZvcm0gQyBzdHJpbmcgZGVzY3JpYmluZyB0aGUgU0dNTCBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J2RvY2JQYXJzZURvY3VtZW50JyBmaWxlPSdET0NCcGFyc2VyJyBtb2R1bGU9J0RPQ0JwYXJzZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfRE9DQl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPnBhcnNlIGFuIFNHTUwgZG9jdW1lbnQgKGFuZCBidWlsZCBhIHRyZWUgaWYgdXNpbmcgdGhlIHN0YW5kYXJkIFNBWCBpbnRlcmZhY2UpLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScwLCAtMSBpbiBjYXNlIG9mIGVycm9yLiB0aGUgcGFyc2VyIGNvbnRleHQgaXMgYXVnbWVudGVkIGFzIGEgcmVzdWx0IG9mIHRoZSBwYXJzaW5nLicvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSdkb2NiUGFyc2VyQ3R4dFB0cicgaW5mbz0nYW4gU0dNTCBwYXJzZXIgY29udGV4dCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J2RvY2JQYXJzZUZpbGUnIGZpbGU9J0RPQ0JwYXJzZXInIG1vZHVsZT0nRE9DQnBhcnNlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9ET0NCX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+cGFyc2UgYSBEb2Nib29rIFNHTUwgZmlsZSBhbmQgYnVpbGQgYSB0cmVlLiBBdXRvbWF0aWMgc3VwcG9ydCBmb3IgWkxJQi9Db21wcmVzcyBjb21wcmVzc2VkIGRvY3VtZW50IGlzIHByb3ZpZGVkIGJ5IGRlZmF1bHQgaWYgZm91bmQgYXQgY29tcGlsZS10aW1lLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0nZG9jYkRvY1B0cicgaW5mbz0ndGhlIHJlc3VsdGluZyBkb2N1bWVudCB0cmVlJy8+CisgICAgICA8YXJnIG5hbWU9J2ZpbGVuYW1lJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBmaWxlbmFtZScvPgorICAgICAgPGFyZyBuYW1lPSdlbmNvZGluZycgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSdhIGZyZWUgZm9ybSBDIHN0cmluZyBkZXNjcmliaW5nIGRvY3VtZW50IGVuY29kaW5nLCBvciBOVUxMJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0nZG9jYlNBWFBhcnNlRG9jJyBmaWxlPSdET0NCcGFyc2VyJyBtb2R1bGU9J0RPQ0JwYXJzZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfRE9DQl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPnBhcnNlIGFuIFNHTUwgaW4tbWVtb3J5IGRvY3VtZW50IGFuZCBidWlsZCBhIHRyZWUuIEl0IHVzZSB0aGUgZ2l2ZW4gU0FYIGZ1bmN0aW9uIGJsb2NrIHRvIGhhbmRsZSB0aGUgcGFyc2luZyBjYWxsYmFjay4gSWYgc2F4IGlzIE5VTEwsIGZhbGxiYWNrIHRvIHRoZSBkZWZhdWx0IERPTSB0cmVlIGJ1aWxkaW5nIHJvdXRpbmVzLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0nZG9jYkRvY1B0cicgaW5mbz0ndGhlIHJlc3VsdGluZyBkb2N1bWVudCB0cmVlJy8+CisgICAgICA8YXJnIG5hbWU9J2N1cicgdHlwZT0neG1sQ2hhciAqJyBpbmZvPSdhIHBvaW50ZXIgdG8gYW4gYXJyYXkgb2YgeG1sQ2hhcicvPgorICAgICAgPGFyZyBuYW1lPSdlbmNvZGluZycgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSdhIGZyZWUgZm9ybSBDIHN0cmluZyBkZXNjcmliaW5nIHRoZSBTR01MIGRvY3VtZW50IGVuY29kaW5nLCBvciBOVUxMJy8+CisgICAgICA8YXJnIG5hbWU9J3NheCcgdHlwZT0nZG9jYlNBWEhhbmRsZXJQdHInIGluZm89J3RoZSBTQVggaGFuZGxlciBibG9jaycvPgorICAgICAgPGFyZyBuYW1lPSd1c2VyRGF0YScgdHlwZT0ndm9pZCAqJyBpbmZvPSdpZiB1c2luZyBTQVgsIHRoaXMgcG9pbnRlciB3aWxsIGJlIHByb3ZpZGVkIG9uIGNhbGxiYWNrcy4nLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSdkb2NiU0FYUGFyc2VGaWxlJyBmaWxlPSdET0NCcGFyc2VyJyBtb2R1bGU9J0RPQ0JwYXJzZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfRE9DQl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPnBhcnNlIGFuIFNHTUwgZmlsZSBhbmQgYnVpbGQgYSB0cmVlLiBBdXRvbWF0aWMgc3VwcG9ydCBmb3IgWkxJQi9Db21wcmVzcyBjb21wcmVzc2VkIGRvY3VtZW50IGlzIHByb3ZpZGVkIGJ5IGRlZmF1bHQgaWYgZm91bmQgYXQgY29tcGlsZS10aW1lLiBJdCB1c2UgdGhlIGdpdmVuIFNBWCBmdW5jdGlvbiBibG9jayB0byBoYW5kbGUgdGhlIHBhcnNpbmcgY2FsbGJhY2suIElmIHNheCBpcyBOVUxMLCBmYWxsYmFjayB0byB0aGUgZGVmYXVsdCBET00gdHJlZSBidWlsZGluZyByb3V0aW5lcy48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2RvY2JEb2NQdHInIGluZm89J3RoZSByZXN1bHRpbmcgZG9jdW1lbnQgdHJlZScvPgorICAgICAgPGFyZyBuYW1lPSdmaWxlbmFtZScgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSd0aGUgZmlsZW5hbWUnLz4KKyAgICAgIDxhcmcgbmFtZT0nZW5jb2RpbmcnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0nYSBmcmVlIGZvcm0gQyBzdHJpbmcgZGVzY3JpYmluZyB0aGUgU0dNTCBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTCcvPgorICAgICAgPGFyZyBuYW1lPSdzYXgnIHR5cGU9J2RvY2JTQVhIYW5kbGVyUHRyJyBpbmZvPSd0aGUgU0FYIGhhbmRsZXIgYmxvY2snLz4KKyAgICAgIDxhcmcgbmFtZT0ndXNlckRhdGEnIHR5cGU9J3ZvaWQgKicgaW5mbz0naWYgdXNpbmcgU0FYLCB0aGlzIHBvaW50ZXIgd2lsbCBiZSBwcm92aWRlZCBvbiBjYWxsYmFja3MuJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0nZWxlbWVudERlY2wnIGZpbGU9J1NBWCcgbW9kdWxlPSdsZWdhY3knPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfTEVHQUNZX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+QW4gZWxlbWVudCBkZWZpbml0aW9uIGhhcyBiZWVuIHBhcnNlZCBERVBSRUNBVEVEOiB1c2UgeG1sU0FYMkVsZW1lbnREZWNsKCk8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4JyB0eXBlPSd2b2lkIConIGluZm89J3RoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCknLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFtZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgZWxlbWVudCBuYW1lJy8+CisgICAgICA8YXJnIG5hbWU9J3R5cGUnIHR5cGU9J2ludCcgaW5mbz0ndGhlIGVsZW1lbnQgdHlwZScvPgorICAgICAgPGFyZyBuYW1lPSdjb250ZW50JyB0eXBlPSd4bWxFbGVtZW50Q29udGVudFB0cicgaW5mbz0ndGhlIGVsZW1lbnQgdmFsdWUgdHJlZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0eXBlIG5hbWU9J2VsZW1lbnREZWNsU0FYRnVuYycgZmlsZT0ncGFyc2VyJyBtb2R1bGU9J3BhcnNlcic+CisgICAgICA8aW5mbz5BbiBlbGVtZW50IGRlZmluaXRpb24gaGFzIGJlZW4gcGFyc2VkLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHgnIHR5cGU9J3ZvaWQgKicgaW5mbz0ndGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KScvPgorICAgICAgPGFyZyBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBlbGVtZW50IG5hbWUnLz4KKyAgICAgIDxhcmcgbmFtZT0ndHlwZScgdHlwZT0naW50JyBpbmZvPSd0aGUgZWxlbWVudCB0eXBlJy8+CisgICAgICA8YXJnIG5hbWU9J2NvbnRlbnQnIHR5cGU9J3htbEVsZW1lbnRDb250ZW50UHRyJyBpbmZvPSd0aGUgZWxlbWVudCB2YWx1ZSB0cmVlJy8+CisgICAgPC9mdW5jdHlwZT4KKyAgICA8ZnVuY3Rpb24gbmFtZT0nZW5kRG9jdW1lbnQnIGZpbGU9J1NBWCcgbW9kdWxlPSdsZWdhY3knPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfTEVHQUNZX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Y2FsbGVkIHdoZW4gdGhlIGRvY3VtZW50IGVuZCBoYXMgYmVlbiBkZXRlY3RlZC4gREVQUkVDQVRFRDogdXNlIHhtbFNBWDJFbmREb2N1bWVudCgpPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eCcgdHlwZT0ndm9pZCAqJyBpbmZvPSd0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3R5cGUgbmFtZT0nZW5kRG9jdW1lbnRTQVhGdW5jJyBmaWxlPSdwYXJzZXInIG1vZHVsZT0ncGFyc2VyJz4KKyAgICAgIDxpbmZvPkNhbGxlZCB3aGVuIHRoZSBkb2N1bWVudCBlbmQgaGFzIGJlZW4gZGV0ZWN0ZWQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eCcgdHlwZT0ndm9pZCAqJyBpbmZvPSd0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpJy8+CisgICAgPC9mdW5jdHlwZT4KKyAgICA8ZnVuY3Rpb24gbmFtZT0nZW5kRWxlbWVudCcgZmlsZT0nU0FYJyBtb2R1bGU9J2xlZ2FjeSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9MRUdBQ1lfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5jYWxsZWQgd2hlbiB0aGUgZW5kIG9mIGFuIGVsZW1lbnQgaGFzIGJlZW4gZGV0ZWN0ZWQuIERFUFJFQ0FURUQ6IHVzZSB4bWxTQVgyRW5kRWxlbWVudCgpPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eCcgdHlwZT0ndm9pZCAqJyBpbmZvPSd0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpJy8+CisgICAgICA8YXJnIG5hbWU9J25hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nVGhlIGVsZW1lbnQgbmFtZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0eXBlIG5hbWU9J2VuZEVsZW1lbnROc1NBWDJGdW5jJyBmaWxlPSdwYXJzZXInIG1vZHVsZT0ncGFyc2VyJz4KKyAgICAgIDxpbmZvPlNBWDIgY2FsbGJhY2sgd2hlbiBhbiBlbGVtZW50IGVuZCBoYXMgYmVlbiBkZXRlY3RlZCBieSB0aGUgcGFyc2VyLiBJdCBwcm92aWRlcyB0aGUgbmFtZXNwYWNlIGluZm9ybWF0aW9ucyBmb3IgdGhlIGVsZW1lbnQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eCcgdHlwZT0ndm9pZCAqJyBpbmZvPSd0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpJy8+CisgICAgICA8YXJnIG5hbWU9J2xvY2FsbmFtZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgbG9jYWwgbmFtZSBvZiB0aGUgZWxlbWVudCcvPgorICAgICAgPGFyZyBuYW1lPSdwcmVmaXgnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIGVsZW1lbnQgbmFtZXNwYWNlIHByZWZpeCBpZiBhdmFpbGFibGUnLz4KKyAgICAgIDxhcmcgbmFtZT0nVVJJJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBlbGVtZW50IG5hbWVzcGFjZSBuYW1lIGlmIGF2YWlsYWJsZScvPgorICAgIDwvZnVuY3R5cGU+CisgICAgPGZ1bmN0eXBlIG5hbWU9J2VuZEVsZW1lbnRTQVhGdW5jJyBmaWxlPSdwYXJzZXInIG1vZHVsZT0ncGFyc2VyJz4KKyAgICAgIDxpbmZvPkNhbGxlZCB3aGVuIHRoZSBlbmQgb2YgYW4gZWxlbWVudCBoYXMgYmVlbiBkZXRlY3RlZC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4JyB0eXBlPSd2b2lkIConIGluZm89J3RoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCknLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFtZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSdUaGUgZWxlbWVudCBuYW1lJy8+CisgICAgPC9mdW5jdHlwZT4KKyAgICA8ZnVuY3Rpb24gbmFtZT0nZW50aXR5RGVjbCcgZmlsZT0nU0FYJyBtb2R1bGU9J2xlZ2FjeSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9MRUdBQ1lfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5BbiBlbnRpdHkgZGVmaW5pdGlvbiBoYXMgYmVlbiBwYXJzZWQgREVQUkVDQVRFRDogdXNlIHhtbFNBWDJFbnRpdHlEZWNsKCk8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4JyB0eXBlPSd2b2lkIConIGluZm89J3RoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCknLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFtZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgZW50aXR5IG5hbWUnLz4KKyAgICAgIDxhcmcgbmFtZT0ndHlwZScgdHlwZT0naW50JyBpbmZvPSd0aGUgZW50aXR5IHR5cGUnLz4KKyAgICAgIDxhcmcgbmFtZT0ncHVibGljSWQnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nVGhlIHB1YmxpYyBJRCBvZiB0aGUgZW50aXR5Jy8+CisgICAgICA8YXJnIG5hbWU9J3N5c3RlbUlkJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J1RoZSBzeXN0ZW0gSUQgb2YgdGhlIGVudGl0eScvPgorICAgICAgPGFyZyBuYW1lPSdjb250ZW50JyB0eXBlPSd4bWxDaGFyIConIGluZm89J3RoZSBlbnRpdHkgdmFsdWUgKHdpdGhvdXQgcHJvY2Vzc2luZykuJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3R5cGUgbmFtZT0nZW50aXR5RGVjbFNBWEZ1bmMnIGZpbGU9J3BhcnNlcicgbW9kdWxlPSdwYXJzZXInPgorICAgICAgPGluZm8+QW4gZW50aXR5IGRlZmluaXRpb24gaGFzIGJlZW4gcGFyc2VkLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHgnIHR5cGU9J3ZvaWQgKicgaW5mbz0ndGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KScvPgorICAgICAgPGFyZyBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBlbnRpdHkgbmFtZScvPgorICAgICAgPGFyZyBuYW1lPSd0eXBlJyB0eXBlPSdpbnQnIGluZm89J3RoZSBlbnRpdHkgdHlwZScvPgorICAgICAgPGFyZyBuYW1lPSdwdWJsaWNJZCcgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSdUaGUgcHVibGljIElEIG9mIHRoZSBlbnRpdHknLz4KKyAgICAgIDxhcmcgbmFtZT0nc3lzdGVtSWQnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nVGhlIHN5c3RlbSBJRCBvZiB0aGUgZW50aXR5Jy8+CisgICAgICA8YXJnIG5hbWU9J2NvbnRlbnQnIHR5cGU9J3htbENoYXIgKicgaW5mbz0ndGhlIGVudGl0eSB2YWx1ZSAod2l0aG91dCBwcm9jZXNzaW5nKS4nLz4KKyAgICA8L2Z1bmN0eXBlPgorICAgIDxmdW5jdHlwZSBuYW1lPSdlcnJvclNBWEZ1bmMnIGZpbGU9J3BhcnNlcicgbW9kdWxlPSdwYXJzZXInPgorICAgICAgPGluZm8+RGlzcGxheSBhbmQgZm9ybWF0IGFuIGVycm9yIG1lc3NhZ2VzLCBjYWxsYmFjay48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4JyB0eXBlPSd2b2lkIConIGluZm89J2FuIFhNTCBwYXJzZXIgY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdtc2cnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIG1lc3NhZ2UgdG8gZGlzcGxheS90cmFuc21pdCcvPgorICAgICAgPGFyZyBuYW1lPScuLi4nIHR5cGU9Jy4uLicgaW5mbz0nZXh0cmEgcGFyYW1ldGVycyBmb3IgdGhlIG1lc3NhZ2UgZGlzcGxheScvPgorICAgIDwvZnVuY3R5cGU+CisgICAgPGZ1bmN0aW9uIG5hbWU9J2V4dGVybmFsU3Vic2V0JyBmaWxlPSdTQVgnIG1vZHVsZT0nbGVnYWN5Jz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0xFR0FDWV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNhbGxiYWNrIG9uIGV4dGVybmFsIHN1YnNldCBkZWNsYXJhdGlvbi4gREVQUkVDQVRFRDogdXNlIHhtbFNBWDJFeHRlcm5hbFN1YnNldCgpPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eCcgdHlwZT0ndm9pZCAqJyBpbmZvPSd0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpJy8+CisgICAgICA8YXJnIG5hbWU9J25hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIHJvb3QgZWxlbWVudCBuYW1lJy8+CisgICAgICA8YXJnIG5hbWU9J0V4dGVybmFsSUQnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIGV4dGVybmFsIElEJy8+CisgICAgICA8YXJnIG5hbWU9J1N5c3RlbUlEJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBTWVNURU0gSUQgKGUuZy4gZmlsZW5hbWUgb3IgVVJMKScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0eXBlIG5hbWU9J2V4dGVybmFsU3Vic2V0U0FYRnVuYycgZmlsZT0ncGFyc2VyJyBtb2R1bGU9J3BhcnNlcic+CisgICAgICA8aW5mbz5DYWxsYmFjayBvbiBleHRlcm5hbCBzdWJzZXQgZGVjbGFyYXRpb24uPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eCcgdHlwZT0ndm9pZCAqJyBpbmZvPSd0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpJy8+CisgICAgICA8YXJnIG5hbWU9J25hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIHJvb3QgZWxlbWVudCBuYW1lJy8+CisgICAgICA8YXJnIG5hbWU9J0V4dGVybmFsSUQnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIGV4dGVybmFsIElEJy8+CisgICAgICA8YXJnIG5hbWU9J1N5c3RlbUlEJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBTWVNURU0gSUQgKGUuZy4gZmlsZW5hbWUgb3IgVVJMKScvPgorICAgIDwvZnVuY3R5cGU+CisgICAgPGZ1bmN0eXBlIG5hbWU9J2ZhdGFsRXJyb3JTQVhGdW5jJyBmaWxlPSdwYXJzZXInIG1vZHVsZT0ncGFyc2VyJz4KKyAgICAgIDxpbmZvPkRpc3BsYXkgYW5kIGZvcm1hdCBmYXRhbCBlcnJvciBtZXNzYWdlcywgY2FsbGJhY2suIE5vdGU6IHNvIGZhciBmYXRhbEVycm9yKCkgU0FYIGNhbGxiYWNrcyBhcmUgbm90IHVzZWQsIGVycm9yKCkgZ2V0IGFsbCB0aGUgY2FsbGJhY2tzIGZvciBlcnJvcnMuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eCcgdHlwZT0ndm9pZCAqJyBpbmZvPSdhbiBYTUwgcGFyc2VyIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbXNnJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBtZXNzYWdlIHRvIGRpc3BsYXkvdHJhbnNtaXQnLz4KKyAgICAgIDxhcmcgbmFtZT0nLi4uJyB0eXBlPScuLi4nIGluZm89J2V4dHJhIHBhcmFtZXRlcnMgZm9yIHRoZSBtZXNzYWdlIGRpc3BsYXknLz4KKyAgICA8L2Z1bmN0eXBlPgorICAgIDxmdW5jdHlwZSBuYW1lPSdmdHBEYXRhQ2FsbGJhY2snIGZpbGU9J25hbm9mdHAnIG1vZHVsZT0nbmFub2Z0cCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9GVFBfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5BIGNhbGxiYWNrIGZvciB0aGUgeG1sTmFub0ZUUEdldCBjb21tYW5kLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSd1c2VyRGF0YScgdHlwZT0ndm9pZCAqJyBpbmZvPSd0aGUgdXNlciBwcm92aWRlZCBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J2RhdGEnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIGRhdGEgcmVjZWl2ZWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbGVuJyB0eXBlPSdpbnQnIGluZm89J2l0cyBzaXplIGluIGJ5dGVzJy8+CisgICAgPC9mdW5jdHlwZT4KKyAgICA8ZnVuY3R5cGUgbmFtZT0nZnRwTGlzdENhbGxiYWNrJyBmaWxlPSduYW5vZnRwJyBtb2R1bGU9J25hbm9mdHAnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfRlRQX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+QSBjYWxsYmFjayBmb3IgdGhlIHhtbE5hbm9GVFBMaXN0IGNvbW1hbmQuIE5vdGUgdGhhdCBvbmx5IG9uZSBvZiB5ZWFyIGFuZCBkYXk6bWludXRlIGFyZSBzcGVjaWZpZWQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J3VzZXJEYXRhJyB0eXBlPSd2b2lkIConIGluZm89J3VzZXIgcHJvdmlkZWQgZGF0YSBmb3IgdGhlIGNhbGxiYWNrJy8+CisgICAgICA8YXJnIG5hbWU9J2ZpbGVuYW1lJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBmaWxlIG5hbWUgKGluY2x1ZGluZyAmcXVvdDstJmd0OyZxdW90OyB3aGVuIGxpbmtzIGFyZSBzaG93biknLz4KKyAgICAgIDxhcmcgbmFtZT0nYXR0cmliJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBhdHRyaWJ1dGUgc3RyaW5nJy8+CisgICAgICA8YXJnIG5hbWU9J293bmVyJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBvd25lciBzdHJpbmcnLz4KKyAgICAgIDxhcmcgbmFtZT0nZ3JvdXAnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIGdyb3VwIHN0cmluZycvPgorICAgICAgPGFyZyBuYW1lPSdzaXplJyB0eXBlPSd1bnNpZ25lZCBsb25nJyBpbmZvPSd0aGUgZmlsZSBzaXplJy8+CisgICAgICA8YXJnIG5hbWU9J2xpbmtzJyB0eXBlPSdpbnQnIGluZm89J3RoZSBsaW5rIGNvdW50Jy8+CisgICAgICA8YXJnIG5hbWU9J3llYXInIHR5cGU9J2ludCcgaW5mbz0ndGhlIHllYXInLz4KKyAgICAgIDxhcmcgbmFtZT0nbW9udGgnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIG1vbnRoJy8+CisgICAgICA8YXJnIG5hbWU9J2RheScgdHlwZT0naW50JyBpbmZvPSd0aGUgZGF5Jy8+CisgICAgICA8YXJnIG5hbWU9J2hvdXInIHR5cGU9J2ludCcgaW5mbz0ndGhlIGhvdXInLz4KKyAgICAgIDxhcmcgbmFtZT0nbWludXRlJyB0eXBlPSdpbnQnIGluZm89J3RoZSBtaW51dGUnLz4KKyAgICA8L2Z1bmN0eXBlPgorICAgIDxmdW5jdGlvbiBuYW1lPSdnZXRDb2x1bW5OdW1iZXInIGZpbGU9J1NBWCcgbW9kdWxlPSdsZWdhY3knPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfTEVHQUNZX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+UHJvdmlkZSB0aGUgY29sdW1uIG51bWJlciBvZiB0aGUgY3VycmVudCBwYXJzaW5nIHBvaW50LiBERVBSRUNBVEVEOiB1c2UgeG1sU0FYMkdldENvbHVtbk51bWJlcigpPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J2FuIGludCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHgnIHR5cGU9J3ZvaWQgKicgaW5mbz0ndGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J2dldEVudGl0eScgZmlsZT0nU0FYJyBtb2R1bGU9J2xlZ2FjeSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9MRUdBQ1lfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5HZXQgYW4gZW50aXR5IGJ5IG5hbWUgREVQUkVDQVRFRDogdXNlIHhtbFNBWDJHZXRFbnRpdHkoKTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sRW50aXR5UHRyJyBpbmZvPSd0aGUgeG1sRW50aXR5UHRyIGlmIGZvdW5kLicvPgorICAgICAgPGFyZyBuYW1lPSdjdHgnIHR5cGU9J3ZvaWQgKicgaW5mbz0ndGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KScvPgorICAgICAgPGFyZyBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J1RoZSBlbnRpdHkgbmFtZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0eXBlIG5hbWU9J2dldEVudGl0eVNBWEZ1bmMnIGZpbGU9J3BhcnNlcicgbW9kdWxlPSdwYXJzZXInPgorICAgICAgPGluZm8+R2V0IGFuIGVudGl0eSBieSBuYW1lLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sRW50aXR5UHRyJyBpbmZvPSd0aGUgeG1sRW50aXR5UHRyIGlmIGZvdW5kLicvPgorICAgICAgPGFyZyBuYW1lPSdjdHgnIHR5cGU9J3ZvaWQgKicgaW5mbz0ndGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KScvPgorICAgICAgPGFyZyBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J1RoZSBlbnRpdHkgbmFtZScvPgorICAgIDwvZnVuY3R5cGU+CisgICAgPGZ1bmN0aW9uIG5hbWU9J2dldExpbmVOdW1iZXInIGZpbGU9J1NBWCcgbW9kdWxlPSdsZWdhY3knPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfTEVHQUNZX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+UHJvdmlkZSB0aGUgbGluZSBudW1iZXIgb2YgdGhlIGN1cnJlbnQgcGFyc2luZyBwb2ludC4gREVQUkVDQVRFRDogdXNlIHhtbFNBWDJHZXRMaW5lTnVtYmVyKCk8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nYW4gaW50Jy8+CisgICAgICA8YXJnIG5hbWU9J2N0eCcgdHlwZT0ndm9pZCAqJyBpbmZvPSd0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0nZ2V0TmFtZXNwYWNlJyBmaWxlPSdTQVgnIG1vZHVsZT0nbGVnYWN5Jz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0xFR0FDWV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkdldCB0aGUgY3VycmVudCBlbGVtZW50IG5hbWVzcGFjZS4gREVQUkVDQVRFRDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sTnNQdHInIGluZm89J3RoZSB4bWxOc1B0ciBvciBOVUxMIGlmIG5vbmUnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4JyB0eXBlPSd2b2lkIConIGluZm89J3RoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCknLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSdnZXRQYXJhbWV0ZXJFbnRpdHknIGZpbGU9J1NBWCcgbW9kdWxlPSdsZWdhY3knPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfTEVHQUNZX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+R2V0IGEgcGFyYW1ldGVyIGVudGl0eSBieSBuYW1lIERFUFJFQ0FURUQ6IHVzZSB4bWxTQVgyR2V0UGFyYW1ldGVyRW50aXR5KCk8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbEVudGl0eVB0cicgaW5mbz0ndGhlIHhtbEVudGl0eVB0ciBpZiBmb3VuZC4nLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4JyB0eXBlPSd2b2lkIConIGluZm89J3RoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCknLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFtZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSdUaGUgZW50aXR5IG5hbWUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdHlwZSBuYW1lPSdnZXRQYXJhbWV0ZXJFbnRpdHlTQVhGdW5jJyBmaWxlPSdwYXJzZXInIG1vZHVsZT0ncGFyc2VyJz4KKyAgICAgIDxpbmZvPkdldCBhIHBhcmFtZXRlciBlbnRpdHkgYnkgbmFtZS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbEVudGl0eVB0cicgaW5mbz0ndGhlIHhtbEVudGl0eVB0ciBpZiBmb3VuZC4nLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4JyB0eXBlPSd2b2lkIConIGluZm89J3RoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCknLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFtZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSdUaGUgZW50aXR5IG5hbWUnLz4KKyAgICA8L2Z1bmN0eXBlPgorICAgIDxmdW5jdGlvbiBuYW1lPSdnZXRQdWJsaWNJZCcgZmlsZT0nU0FYJyBtb2R1bGU9J2xlZ2FjeSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9MRUdBQ1lfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5Qcm92aWRlcyB0aGUgcHVibGljIElEIGUuZy4gJnF1b3Q7LS8vU0dNTFNPVVJDRS8vRFREIERFTU8vL0VOJnF1b3Q7IERFUFJFQ0FURUQ6IHVzZSB4bWxTQVgyR2V0UHVibGljSWQoKTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSdhIHhtbENoYXIgKicvPgorICAgICAgPGFyZyBuYW1lPSdjdHgnIHR5cGU9J3ZvaWQgKicgaW5mbz0ndGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J2dldFN5c3RlbUlkJyBmaWxlPSdTQVgnIG1vZHVsZT0nbGVnYWN5Jz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0xFR0FDWV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlByb3ZpZGVzIHRoZSBzeXN0ZW0gSUQsIGJhc2ljYWxseSBVUkwgb3IgZmlsZW5hbWUgZS5nLiBodHRwOi8vd3d3LnNnbWxzb3VyY2UuY29tL2R0ZHMvbWVtby5kdGQgREVQUkVDQVRFRDogdXNlIHhtbFNBWDJHZXRTeXN0ZW1JZCgpPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J2EgeG1sQ2hhciAqJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eCcgdHlwZT0ndm9pZCAqJyBpbmZvPSd0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0nZ2xvYmFsTmFtZXNwYWNlJyBmaWxlPSdTQVgnIG1vZHVsZT0nbGVnYWN5Jz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0xFR0FDWV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkFuIG9sZCBnbG9iYWwgbmFtZXNwYWNlIGhhcyBiZWVuIHBhcnNlZC4gREVQUkVDQVRFRDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHgnIHR5cGU9J3ZvaWQgKicgaW5mbz0ndGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KScvPgorICAgICAgPGFyZyBuYW1lPSdocmVmJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBuYW1lc3BhY2UgYXNzb2NpYXRlZCBVUk4nLz4KKyAgICAgIDxhcmcgbmFtZT0ncHJlZml4JyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBuYW1lc3BhY2UgcHJlZml4Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0naGFzRXh0ZXJuYWxTdWJzZXQnIGZpbGU9J1NBWCcgbW9kdWxlPSdsZWdhY3knPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfTEVHQUNZX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+RG9lcyB0aGlzIGRvY3VtZW50IGhhcyBhbiBleHRlcm5hbCBzdWJzZXQgREVQUkVDQVRFRDogdXNlIHhtbFNBWDJIYXNFeHRlcm5hbFN1YnNldCgpPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgdHJ1ZScvPgorICAgICAgPGFyZyBuYW1lPSdjdHgnIHR5cGU9J3ZvaWQgKicgaW5mbz0ndGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0eXBlIG5hbWU9J2hhc0V4dGVybmFsU3Vic2V0U0FYRnVuYycgZmlsZT0ncGFyc2VyJyBtb2R1bGU9J3BhcnNlcic+CisgICAgICA8aW5mbz5Eb2VzIHRoaXMgZG9jdW1lbnQgaGFzIGFuIGV4dGVybmFsIHN1YnNldD88L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB0cnVlJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eCcgdHlwZT0ndm9pZCAqJyBpbmZvPSd0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpJy8+CisgICAgPC9mdW5jdHlwZT4KKyAgICA8ZnVuY3Rpb24gbmFtZT0naGFzSW50ZXJuYWxTdWJzZXQnIGZpbGU9J1NBWCcgbW9kdWxlPSdsZWdhY3knPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfTEVHQUNZX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+RG9lcyB0aGlzIGRvY3VtZW50IGhhcyBhbiBpbnRlcm5hbCBzdWJzZXQgREVQUkVDQVRFRDogdXNlIHhtbFNBWDJIYXNJbnRlcm5hbFN1YnNldCgpPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgdHJ1ZScvPgorICAgICAgPGFyZyBuYW1lPSdjdHgnIHR5cGU9J3ZvaWQgKicgaW5mbz0ndGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0eXBlIG5hbWU9J2hhc0ludGVybmFsU3Vic2V0U0FYRnVuYycgZmlsZT0ncGFyc2VyJyBtb2R1bGU9J3BhcnNlcic+CisgICAgICA8aW5mbz5Eb2VzIHRoaXMgZG9jdW1lbnQgaGFzIGFuIGludGVybmFsIHN1YnNldC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB0cnVlJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eCcgdHlwZT0ndm9pZCAqJyBpbmZvPSd0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpJy8+CisgICAgPC9mdW5jdHlwZT4KKyAgICA8ZnVuY3Rpb24gbmFtZT0naHRtbEF0dHJBbGxvd2VkJyBmaWxlPSdIVE1McGFyc2VyJyBtb2R1bGU9J0hUTUxwYXJzZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNoZWNrcyB3aGV0aGVyIGFuIGF0dHJpYnV0ZSBpcyB2YWxpZCBmb3IgYW4gZWxlbWVudCBIYXMgZnVsbCBrbm93bGVkZ2Ugb2YgUmVxdWlyZWQgYW5kIERlcHJlY2F0ZWQgYXR0cmlidXRlczwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naHRtbFN0YXR1cycgaW5mbz0nb25lIG9mIEhUTUxfUkVRVUlSRUQsIEhUTUxfVkFMSUQsIEhUTUxfREVQUkVDQVRFRCwgSFRNTF9JTlZBTElEJy8+CisgICAgICA8YXJnIG5hbWU9J2VsdCcgdHlwZT0nY29uc3QgaHRtbEVsZW1EZXNjIConIGluZm89J0hUTUwgZWxlbWVudCcvPgorICAgICAgPGFyZyBuYW1lPSdhdHRyJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J0hUTUwgYXR0cmlidXRlJy8+CisgICAgICA8YXJnIG5hbWU9J2xlZ2FjeScgdHlwZT0naW50JyBpbmZvPSd3aGV0aGVyIHRvIGFsbG93IGRlcHJlY2F0ZWQgYXR0cmlidXRlcycvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J2h0bWxBdXRvQ2xvc2VUYWcnIGZpbGU9J0hUTUxwYXJzZXInIG1vZHVsZT0nSFRNTHBhcnNlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+VGhlIEhUTUwgRFREIGFsbG93cyBhIHRhZyB0byBpbXBsaWNpdGx5IGNsb3NlIG90aGVyIHRhZ3MuIFRoZSBsaXN0IGlzIGtlcHQgaW4gaHRtbFN0YXJ0Q2xvc2UgYXJyYXkuIFRoaXMgZnVuY3Rpb24gY2hlY2tzIGlmIHRoZSBlbGVtZW50IG9yIG9uZSBvZiBpdCZhcG9zO3MgY2hpbGRyZW4gd291bGQgYXV0b2Nsb3NlIHRoZSBnaXZlbiB0YWcuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgYXV0b2Nsb3NlLCAwIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdkb2MnIHR5cGU9J2h0bWxEb2NQdHInIGluZm89J3RoZSBIVE1MIGRvY3VtZW50Jy8+CisgICAgICA8YXJnIG5hbWU9J25hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nVGhlIHRhZyBuYW1lJy8+CisgICAgICA8YXJnIG5hbWU9J2VsZW0nIHR5cGU9J2h0bWxOb2RlUHRyJyBpbmZvPSd0aGUgSFRNTCBlbGVtZW50Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0naHRtbENyZWF0ZUZpbGVQYXJzZXJDdHh0JyBmaWxlPSdwYXJzZXJJbnRlcm5hbHMnIG1vZHVsZT0nSFRNTHBhcnNlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q3JlYXRlIGEgcGFyc2VyIGNvbnRleHQgZm9yIGEgZmlsZSBjb250ZW50LiBBdXRvbWF0aWMgc3VwcG9ydCBmb3IgWkxJQi9Db21wcmVzcyBjb21wcmVzc2VkIGRvY3VtZW50IGlzIHByb3ZpZGVkIGJ5IGRlZmF1bHQgaWYgZm91bmQgYXQgY29tcGlsZS10aW1lLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naHRtbFBhcnNlckN0eHRQdHInIGluZm89J3RoZSBuZXcgcGFyc2VyIGNvbnRleHQgb3IgTlVMTCcvPgorICAgICAgPGFyZyBuYW1lPSdmaWxlbmFtZScgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSd0aGUgZmlsZW5hbWUnLz4KKyAgICAgIDxhcmcgbmFtZT0nZW5jb2RpbmcnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0nYSBmcmVlIGZvcm0gQyBzdHJpbmcgZGVzY3JpYmluZyB0aGUgSFRNTCBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J2h0bWxDcmVhdGVNZW1vcnlQYXJzZXJDdHh0JyBmaWxlPSdIVE1McGFyc2VyJyBtb2R1bGU9J0hUTUxwYXJzZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNyZWF0ZSBhIHBhcnNlciBjb250ZXh0IGZvciBhbiBIVE1MIGluLW1lbW9yeSBkb2N1bWVudC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2h0bWxQYXJzZXJDdHh0UHRyJyBpbmZvPSd0aGUgbmV3IHBhcnNlciBjb250ZXh0IG9yIE5VTEwnLz4KKyAgICAgIDxhcmcgbmFtZT0nYnVmZmVyJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J2EgcG9pbnRlciB0byBhIGNoYXIgYXJyYXknLz4KKyAgICAgIDxhcmcgbmFtZT0nc2l6ZScgdHlwZT0naW50JyBpbmZvPSd0aGUgc2l6ZSBvZiB0aGUgYXJyYXknLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSdodG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQnIGZpbGU9J0hUTUxwYXJzZXInIG1vZHVsZT0nSFRNTHBhcnNlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpICZhbXA7JmFtcDsgZGVmaW5lZChMSUJYTUxfUFVTSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNyZWF0ZSBhIHBhcnNlciBjb250ZXh0IGZvciB1c2luZyB0aGUgSFRNTCBwYXJzZXIgaW4gcHVzaCBtb2RlIFRoZSB2YWx1ZSBvZiBAZmlsZW5hbWUgaXMgdXNlZCBmb3IgZmV0Y2hpbmcgZXh0ZXJuYWwgZW50aXRpZXMgYW5kIGVycm9yL3dhcm5pbmcgcmVwb3J0cy48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2h0bWxQYXJzZXJDdHh0UHRyJyBpbmZvPSd0aGUgbmV3IHBhcnNlciBjb250ZXh0IG9yIE5VTEwnLz4KKyAgICAgIDxhcmcgbmFtZT0nc2F4JyB0eXBlPSdodG1sU0FYSGFuZGxlclB0cicgaW5mbz0nYSBTQVggaGFuZGxlcicvPgorICAgICAgPGFyZyBuYW1lPSd1c2VyX2RhdGEnIHR5cGU9J3ZvaWQgKicgaW5mbz0nVGhlIHVzZXIgZGF0YSByZXR1cm5lZCBvbiBTQVggY2FsbGJhY2tzJy8+CisgICAgICA8YXJnIG5hbWU9J2NodW5rJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J2EgcG9pbnRlciB0byBhbiBhcnJheSBvZiBjaGFycycvPgorICAgICAgPGFyZyBuYW1lPSdzaXplJyB0eXBlPSdpbnQnIGluZm89J251bWJlciBvZiBjaGFycyBpbiB0aGUgYXJyYXknLz4KKyAgICAgIDxhcmcgbmFtZT0nZmlsZW5hbWUnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0nYW4gb3B0aW9uYWwgZmlsZSBuYW1lIG9yIFVSSScvPgorICAgICAgPGFyZyBuYW1lPSdlbmMnIHR5cGU9J3htbENoYXJFbmNvZGluZycgaW5mbz0nYW4gb3B0aW9uYWwgZW5jb2RpbmcnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSdodG1sQ3R4dFJlYWREb2MnIGZpbGU9J0hUTUxwYXJzZXInIG1vZHVsZT0nSFRNTHBhcnNlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+cGFyc2UgYW4gWE1MIGluLW1lbW9yeSBkb2N1bWVudCBhbmQgYnVpbGQgYSB0cmVlLiBUaGlzIHJldXNlcyB0aGUgZXhpc3RpbmcgQGN0eHQgcGFyc2VyIGNvbnRleHQ8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2h0bWxEb2NQdHInIGluZm89J3RoZSByZXN1bHRpbmcgZG9jdW1lbnQgdHJlZScvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSdodG1sUGFyc2VyQ3R4dFB0cicgaW5mbz0nYW4gSFRNTCBwYXJzZXIgY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdjdXInIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nYSBwb2ludGVyIHRvIGEgemVybyB0ZXJtaW5hdGVkIHN0cmluZycvPgorICAgICAgPGFyZyBuYW1lPSdVUkwnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIGJhc2UgVVJMIHRvIHVzZSBmb3IgdGhlIGRvY3VtZW50Jy8+CisgICAgICA8YXJnIG5hbWU9J2VuY29kaW5nJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTCcvPgorICAgICAgPGFyZyBuYW1lPSdvcHRpb25zJyB0eXBlPSdpbnQnIGluZm89J2EgY29tYmluYXRpb24gb2YgaHRtbFBhcnNlck9wdGlvbihzKScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J2h0bWxDdHh0UmVhZEZkJyBmaWxlPSdIVE1McGFyc2VyJyBtb2R1bGU9J0hUTUxwYXJzZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPnBhcnNlIGFuIFhNTCBmcm9tIGEgZmlsZSBkZXNjcmlwdG9yIGFuZCBidWlsZCBhIHRyZWUuIFRoaXMgcmV1c2VzIHRoZSBleGlzdGluZyBAY3R4dCBwYXJzZXIgY29udGV4dDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naHRtbERvY1B0cicgaW5mbz0ndGhlIHJlc3VsdGluZyBkb2N1bWVudCB0cmVlJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J2h0bWxQYXJzZXJDdHh0UHRyJyBpbmZvPSdhbiBIVE1MIHBhcnNlciBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J2ZkJyB0eXBlPSdpbnQnIGluZm89J2FuIG9wZW4gZmlsZSBkZXNjcmlwdG9yJy8+CisgICAgICA8YXJnIG5hbWU9J1VSTCcgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSd0aGUgYmFzZSBVUkwgdG8gdXNlIGZvciB0aGUgZG9jdW1lbnQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZW5jb2RpbmcnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIGRvY3VtZW50IGVuY29kaW5nLCBvciBOVUxMJy8+CisgICAgICA8YXJnIG5hbWU9J29wdGlvbnMnIHR5cGU9J2ludCcgaW5mbz0nYSBjb21iaW5hdGlvbiBvZiBodG1sUGFyc2VyT3B0aW9uKHMpJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0naHRtbEN0eHRSZWFkRmlsZScgZmlsZT0nSFRNTHBhcnNlcicgbW9kdWxlPSdIVE1McGFyc2VyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0hUTUxfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5wYXJzZSBhbiBYTUwgZmlsZSBmcm9tIHRoZSBmaWxlc3lzdGVtIG9yIHRoZSBuZXR3b3JrLiBUaGlzIHJldXNlcyB0aGUgZXhpc3RpbmcgQGN0eHQgcGFyc2VyIGNvbnRleHQ8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2h0bWxEb2NQdHInIGluZm89J3RoZSByZXN1bHRpbmcgZG9jdW1lbnQgdHJlZScvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSdodG1sUGFyc2VyQ3R4dFB0cicgaW5mbz0nYW4gSFRNTCBwYXJzZXIgY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdmaWxlbmFtZScgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSdhIGZpbGUgb3IgVVJMJy8+CisgICAgICA8YXJnIG5hbWU9J2VuY29kaW5nJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTCcvPgorICAgICAgPGFyZyBuYW1lPSdvcHRpb25zJyB0eXBlPSdpbnQnIGluZm89J2EgY29tYmluYXRpb24gb2YgaHRtbFBhcnNlck9wdGlvbihzKScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J2h0bWxDdHh0UmVhZElPJyBmaWxlPSdIVE1McGFyc2VyJyBtb2R1bGU9J0hUTUxwYXJzZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPnBhcnNlIGFuIEhUTUwgZG9jdW1lbnQgZnJvbSBJL08gZnVuY3Rpb25zIGFuZCBzb3VyY2UgYW5kIGJ1aWxkIGEgdHJlZS4gVGhpcyByZXVzZXMgdGhlIGV4aXN0aW5nIEBjdHh0IHBhcnNlciBjb250ZXh0PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdodG1sRG9jUHRyJyBpbmZvPSd0aGUgcmVzdWx0aW5nIGRvY3VtZW50IHRyZWUnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0naHRtbFBhcnNlckN0eHRQdHInIGluZm89J2FuIEhUTUwgcGFyc2VyIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0naW9yZWFkJyB0eXBlPSd4bWxJbnB1dFJlYWRDYWxsYmFjaycgaW5mbz0nYW4gSS9PIHJlYWQgZnVuY3Rpb24nLz4KKyAgICAgIDxhcmcgbmFtZT0naW9jbG9zZScgdHlwZT0neG1sSW5wdXRDbG9zZUNhbGxiYWNrJyBpbmZvPSdhbiBJL08gY2xvc2UgZnVuY3Rpb24nLz4KKyAgICAgIDxhcmcgbmFtZT0naW9jdHgnIHR5cGU9J3ZvaWQgKicgaW5mbz0nYW4gSS9PIGhhbmRsZXInLz4KKyAgICAgIDxhcmcgbmFtZT0nVVJMJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBiYXNlIFVSTCB0byB1c2UgZm9yIHRoZSBkb2N1bWVudCcvPgorICAgICAgPGFyZyBuYW1lPSdlbmNvZGluZycgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSd0aGUgZG9jdW1lbnQgZW5jb2RpbmcsIG9yIE5VTEwnLz4KKyAgICAgIDxhcmcgbmFtZT0nb3B0aW9ucycgdHlwZT0naW50JyBpbmZvPSdhIGNvbWJpbmF0aW9uIG9mIGh0bWxQYXJzZXJPcHRpb24ocyknLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSdodG1sQ3R4dFJlYWRNZW1vcnknIGZpbGU9J0hUTUxwYXJzZXInIG1vZHVsZT0nSFRNTHBhcnNlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+cGFyc2UgYW4gWE1MIGluLW1lbW9yeSBkb2N1bWVudCBhbmQgYnVpbGQgYSB0cmVlLiBUaGlzIHJldXNlcyB0aGUgZXhpc3RpbmcgQGN0eHQgcGFyc2VyIGNvbnRleHQ8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2h0bWxEb2NQdHInIGluZm89J3RoZSByZXN1bHRpbmcgZG9jdW1lbnQgdHJlZScvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSdodG1sUGFyc2VyQ3R4dFB0cicgaW5mbz0nYW4gSFRNTCBwYXJzZXIgY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdidWZmZXInIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0nYSBwb2ludGVyIHRvIGEgY2hhciBhcnJheScvPgorICAgICAgPGFyZyBuYW1lPSdzaXplJyB0eXBlPSdpbnQnIGluZm89J3RoZSBzaXplIG9mIHRoZSBhcnJheScvPgorICAgICAgPGFyZyBuYW1lPSdVUkwnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIGJhc2UgVVJMIHRvIHVzZSBmb3IgdGhlIGRvY3VtZW50Jy8+CisgICAgICA8YXJnIG5hbWU9J2VuY29kaW5nJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTCcvPgorICAgICAgPGFyZyBuYW1lPSdvcHRpb25zJyB0eXBlPSdpbnQnIGluZm89J2EgY29tYmluYXRpb24gb2YgaHRtbFBhcnNlck9wdGlvbihzKScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J2h0bWxDdHh0UmVzZXQnIGZpbGU9J0hUTUxwYXJzZXInIG1vZHVsZT0nSFRNTHBhcnNlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+UmVzZXQgYSBwYXJzZXIgY29udGV4dDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSdodG1sUGFyc2VyQ3R4dFB0cicgaW5mbz0nYW4gSFRNTCBwYXJzZXIgY29udGV4dCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J2h0bWxDdHh0VXNlT3B0aW9ucycgZmlsZT0nSFRNTHBhcnNlcicgbW9kdWxlPSdIVE1McGFyc2VyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0hUTUxfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5BcHBsaWVzIHRoZSBvcHRpb25zIHRvIHRoZSBwYXJzZXIgY29udGV4dDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScwIGluIGNhc2Ugb2Ygc3VjY2VzcywgdGhlIHNldCBvZiB1bmtub3duIG9yIHVuaW1wbGVtZW50ZWQgb3B0aW9ucyBpbiBjYXNlIG9mIGVycm9yLicvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSdodG1sUGFyc2VyQ3R4dFB0cicgaW5mbz0nYW4gSFRNTCBwYXJzZXIgY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdvcHRpb25zJyB0eXBlPSdpbnQnIGluZm89J2EgY29tYmluYXRpb24gb2YgaHRtbFBhcnNlck9wdGlvbihzKScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J2h0bWxEZWZhdWx0U0FYSGFuZGxlckluaXQnIGZpbGU9J1NBWDInIG1vZHVsZT0nU0FYMic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+SW5pdGlhbGl6ZSB0aGUgZGVmYXVsdCBTQVggaGFuZGxlcjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J2h0bWxEb2NDb250ZW50RHVtcEZvcm1hdE91dHB1dCcgZmlsZT0nSFRNTHRyZWUnIG1vZHVsZT0nSFRNTHRyZWUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKSAmYW1wOyZhbXA7IGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkR1bXAgYW4gSFRNTCBkb2N1bWVudC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nYnVmJyB0eXBlPSd4bWxPdXRwdXRCdWZmZXJQdHInIGluZm89J3RoZSBIVE1MIGJ1ZmZlciBvdXRwdXQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3VyJyB0eXBlPSd4bWxEb2NQdHInIGluZm89J3RoZSBkb2N1bWVudCcvPgorICAgICAgPGFyZyBuYW1lPSdlbmNvZGluZycgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSd0aGUgZW5jb2Rpbmcgc3RyaW5nJy8+CisgICAgICA8YXJnIG5hbWU9J2Zvcm1hdCcgdHlwZT0naW50JyBpbmZvPSdzaG91bGQgZm9ybWF0dGluZyBzcGFjZXMgYmVlbiBhZGRlZCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J2h0bWxEb2NDb250ZW50RHVtcE91dHB1dCcgZmlsZT0nSFRNTHRyZWUnIG1vZHVsZT0nSFRNTHRyZWUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKSAmYW1wOyZhbXA7IGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkR1bXAgYW4gSFRNTCBkb2N1bWVudC4gRm9ybWF0aW5nIHJldHVybi9zcGFjZXMgYXJlIGFkZGVkLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdidWYnIHR5cGU9J3htbE91dHB1dEJ1ZmZlclB0cicgaW5mbz0ndGhlIEhUTUwgYnVmZmVyIG91dHB1dCcvPgorICAgICAgPGFyZyBuYW1lPSdjdXInIHR5cGU9J3htbERvY1B0cicgaW5mbz0ndGhlIGRvY3VtZW50Jy8+CisgICAgICA8YXJnIG5hbWU9J2VuY29kaW5nJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBlbmNvZGluZyBzdHJpbmcnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSdodG1sRG9jRHVtcCcgZmlsZT0nSFRNTHRyZWUnIG1vZHVsZT0nSFRNTHRyZWUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKSAmYW1wOyZhbXA7IGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkR1bXAgYW4gSFRNTCBkb2N1bWVudCB0byBhbiBvcGVuIEZJTEUuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J3RoZSBudW1iZXIgb2YgYnl0ZSB3cml0dGVuIG9yIC0xIGluIGNhc2Ugb2YgZmFpbHVyZS4nLz4KKyAgICAgIDxhcmcgbmFtZT0nZicgdHlwZT0nRklMRSAqJyBpbmZvPSd0aGUgRklMRSonLz4KKyAgICAgIDxhcmcgbmFtZT0nY3VyJyB0eXBlPSd4bWxEb2NQdHInIGluZm89J3RoZSBkb2N1bWVudCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J2h0bWxEb2NEdW1wTWVtb3J5JyBmaWxlPSdIVE1MdHJlZScgbW9kdWxlPSdIVE1MdHJlZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpICZhbXA7JmFtcDsgZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+RHVtcCBhbiBIVE1MIGRvY3VtZW50IGluIG1lbW9yeSBhbmQgcmV0dXJuIHRoZSB4bWxDaGFyICogYW5kIGl0JmFwb3M7cyBzaXplLiBJdCZhcG9zO3MgdXAgdG8gdGhlIGNhbGxlciB0byBmcmVlIHRoZSBtZW1vcnkuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N1cicgdHlwZT0neG1sRG9jUHRyJyBpbmZvPSd0aGUgZG9jdW1lbnQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbWVtJyB0eXBlPSd4bWxDaGFyICoqJyBpbmZvPSdPVVQ6IHRoZSBtZW1vcnkgcG9pbnRlcicvPgorICAgICAgPGFyZyBuYW1lPSdzaXplJyB0eXBlPSdpbnQgKicgaW5mbz0nT1VUOiB0aGUgbWVtb3J5IGxlbmd0aCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J2h0bWxEb2NEdW1wTWVtb3J5Rm9ybWF0JyBmaWxlPSdIVE1MdHJlZScgbW9kdWxlPSdIVE1MdHJlZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpICZhbXA7JmFtcDsgZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+RHVtcCBhbiBIVE1MIGRvY3VtZW50IGluIG1lbW9yeSBhbmQgcmV0dXJuIHRoZSB4bWxDaGFyICogYW5kIGl0JmFwb3M7cyBzaXplLiBJdCZhcG9zO3MgdXAgdG8gdGhlIGNhbGxlciB0byBmcmVlIHRoZSBtZW1vcnkuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N1cicgdHlwZT0neG1sRG9jUHRyJyBpbmZvPSd0aGUgZG9jdW1lbnQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbWVtJyB0eXBlPSd4bWxDaGFyICoqJyBpbmZvPSdPVVQ6IHRoZSBtZW1vcnkgcG9pbnRlcicvPgorICAgICAgPGFyZyBuYW1lPSdzaXplJyB0eXBlPSdpbnQgKicgaW5mbz0nT1VUOiB0aGUgbWVtb3J5IGxlbmd0aCcvPgorICAgICAgPGFyZyBuYW1lPSdmb3JtYXQnIHR5cGU9J2ludCcgaW5mbz0nc2hvdWxkIGZvcm1hdHRpbmcgc3BhY2VzIGJlZW4gYWRkZWQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSdodG1sRWxlbWVudEFsbG93ZWRIZXJlJyBmaWxlPSdIVE1McGFyc2VyJyBtb2R1bGU9J0hUTUxwYXJzZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNoZWNrcyB3aGV0aGVyIGFuIEhUTUwgZWxlbWVudCBtYXkgYmUgYSBkaXJlY3QgY2hpbGQgb2YgYSBwYXJlbnQgZWxlbWVudC4gTm90ZSAtIGRvZXNuJmFwb3M7dCBjaGVjayBmb3IgZGVwcmVjYXRlZCBlbGVtZW50czwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIGFsbG93ZWQ7IDAgb3RoZXJ3aXNlLicvPgorICAgICAgPGFyZyBuYW1lPSdwYXJlbnQnIHR5cGU9J2NvbnN0IGh0bWxFbGVtRGVzYyAqJyBpbmZvPSdIVE1MIHBhcmVudCBlbGVtZW50Jy8+CisgICAgICA8YXJnIG5hbWU9J2VsdCcgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSdIVE1MIGVsZW1lbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSdodG1sRWxlbWVudFN0YXR1c0hlcmUnIGZpbGU9J0hUTUxwYXJzZXInIG1vZHVsZT0nSFRNTHBhcnNlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2tzIHdoZXRoZXIgYW4gSFRNTCBlbGVtZW50IG1heSBiZSBhIGRpcmVjdCBjaGlsZCBvZiBhIHBhcmVudCBlbGVtZW50LiBhbmQgaWYgc28gd2hldGhlciBpdCBpcyB2YWxpZCBvciBkZXByZWNhdGVkLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naHRtbFN0YXR1cycgaW5mbz0nb25lIG9mIEhUTUxfVkFMSUQsIEhUTUxfREVQUkVDQVRFRCwgSFRNTF9JTlZBTElEJy8+CisgICAgICA8YXJnIG5hbWU9J3BhcmVudCcgdHlwZT0nY29uc3QgaHRtbEVsZW1EZXNjIConIGluZm89J0hUTUwgcGFyZW50IGVsZW1lbnQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZWx0JyB0eXBlPSdjb25zdCBodG1sRWxlbURlc2MgKicgaW5mbz0nSFRNTCBlbGVtZW50Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0naHRtbEVuY29kZUVudGl0aWVzJyBmaWxlPSdIVE1McGFyc2VyJyBtb2R1bGU9J0hUTUxwYXJzZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlRha2UgYSBibG9jayBvZiBVVEYtOCBjaGFycyBpbiBhbmQgdHJ5IHRvIGNvbnZlcnQgaXQgdG8gYW4gQVNDSUkgcGx1cyBIVE1MIGVudGl0aWVzIGJsb2NrIG9mIGNoYXJzIG91dC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMCBpZiBzdWNjZXNzLCAtMiBpZiB0aGUgdHJhbnNjb2RpbmcgZmFpbHMsIG9yIC0xIG90aGVyd2lzZSBUaGUgdmFsdWUgb2YgQGlubGVuIGFmdGVyIHJldHVybiBpcyB0aGUgbnVtYmVyIG9mIG9jdGV0cyBjb25zdW1lZCBhcyB0aGUgcmV0dXJuIHZhbHVlIGlzIHBvc2l0aXZlLCBlbHNlIHVucHJlZGljdGFibGUuIFRoZSB2YWx1ZSBvZiBAb3V0bGVuIGFmdGVyIHJldHVybiBpcyB0aGUgbnVtYmVyIG9mIG9jdGV0cyBjb25zdW1lZC4nLz4KKyAgICAgIDxhcmcgbmFtZT0nb3V0JyB0eXBlPSd1bnNpZ25lZCBjaGFyIConIGluZm89J2EgcG9pbnRlciB0byBhbiBhcnJheSBvZiBieXRlcyB0byBzdG9yZSB0aGUgcmVzdWx0Jy8+CisgICAgICA8YXJnIG5hbWU9J291dGxlbicgdHlwZT0naW50IConIGluZm89J3RoZSBsZW5ndGggb2YgQG91dCcvPgorICAgICAgPGFyZyBuYW1lPSdpbicgdHlwZT0nY29uc3QgdW5zaWduZWQgY2hhciAqJyBpbmZvPSdhIHBvaW50ZXIgdG8gYW4gYXJyYXkgb2YgVVRGLTggY2hhcnMnLz4KKyAgICAgIDxhcmcgbmFtZT0naW5sZW4nIHR5cGU9J2ludCAqJyBpbmZvPSd0aGUgbGVuZ3RoIG9mIEBpbicvPgorICAgICAgPGFyZyBuYW1lPSdxdW90ZUNoYXInIHR5cGU9J2ludCcgaW5mbz0ndGhlIHF1b3RlIGNoYXJhY3RlciB0byBlc2NhcGUgKCZhcG9zOyBvciAmcXVvdDspIG9yIHplcm8uJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0naHRtbEVudGl0eUxvb2t1cCcgZmlsZT0nSFRNTHBhcnNlcicgbW9kdWxlPSdIVE1McGFyc2VyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0hUTUxfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5Mb29rdXAgdGhlIGdpdmVuIGVudGl0eSBpbiBFbnRpdGllc1RhYmxlICBUT0RPOiB0aGUgbGluZWFyIHNjYW4gaXMgcmVhbGx5IHVnbHksIGFuIGhhc2ggdGFibGUgaXMgcmVhbGx5IG5lZWRlZC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2NvbnN0IGh0bWxFbnRpdHlEZXNjIConIGluZm89J3RoZSBhc3NvY2lhdGVkIGh0bWxFbnRpdHlEZXNjUHRyIGlmIGZvdW5kLCBOVUxMIG90aGVyd2lzZS4nLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFtZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgZW50aXR5IG5hbWUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSdodG1sRW50aXR5VmFsdWVMb29rdXAnIGZpbGU9J0hUTUxwYXJzZXInIG1vZHVsZT0nSFRNTHBhcnNlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+TG9va3VwIHRoZSBnaXZlbiBlbnRpdHkgaW4gRW50aXRpZXNUYWJsZSAgVE9ETzogdGhlIGxpbmVhciBzY2FuIGlzIHJlYWxseSB1Z2x5LCBhbiBoYXNoIHRhYmxlIGlzIHJlYWxseSBuZWVkZWQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdjb25zdCBodG1sRW50aXR5RGVzYyAqJyBpbmZvPSd0aGUgYXNzb2NpYXRlZCBodG1sRW50aXR5RGVzY1B0ciBpZiBmb3VuZCwgTlVMTCBvdGhlcndpc2UuJy8+CisgICAgICA8YXJnIG5hbWU9J3ZhbHVlJyB0eXBlPSd1bnNpZ25lZCBpbnQnIGluZm89J3RoZSBlbnRpdHkmYXBvcztzIHVuaWNvZGUgdmFsdWUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSdodG1sRnJlZVBhcnNlckN0eHQnIGZpbGU9J0hUTUxwYXJzZXInIG1vZHVsZT0nSFRNTHBhcnNlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+RnJlZSBhbGwgdGhlIG1lbW9yeSB1c2VkIGJ5IGEgcGFyc2VyIGNvbnRleHQuIEhvd2V2ZXIgdGhlIHBhcnNlZCBkb2N1bWVudCBpbiBjdHh0LSZndDtteURvYyBpcyBub3QgZnJlZWQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J2h0bWxQYXJzZXJDdHh0UHRyJyBpbmZvPSdhbiBIVE1MIHBhcnNlciBjb250ZXh0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0naHRtbEdldE1ldGFFbmNvZGluZycgZmlsZT0nSFRNTHRyZWUnIG1vZHVsZT0nSFRNTHRyZWUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkVuY29kaW5nIGRlZmluaXRpb24gbG9va3VwIGluIHRoZSBNZXRhIHRhZ3M8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIGN1cnJlbnQgZW5jb2RpbmcgYXMgZmxhZ2dlZCBpbiB0aGUgSFRNTCBzb3VyY2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nZG9jJyB0eXBlPSdodG1sRG9jUHRyJyBpbmZvPSd0aGUgZG9jdW1lbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSdodG1sSGFuZGxlT21pdHRlZEVsZW0nIGZpbGU9J0hUTUxwYXJzZXInIG1vZHVsZT0nSFRNTHBhcnNlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+U2V0IGFuZCByZXR1cm4gdGhlIHByZXZpb3VzIHZhbHVlIGZvciBoYW5kbGluZyBIVE1MIG9taXR0ZWQgdGFncy48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndGhlIGxhc3QgdmFsdWUgZm9yIDAgZm9yIG5vIGhhbmRsaW5nLCAxIGZvciBhdXRvIGluc2VydGlvbi4nLz4KKyAgICAgIDxhcmcgbmFtZT0ndmFsJyB0eXBlPSdpbnQnIGluZm89J2ludCAwIG9yIDEnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSdodG1sSW5pdEF1dG9DbG9zZScgZmlsZT0ncGFyc2VySW50ZXJuYWxzJyBtb2R1bGU9J0hUTUxwYXJzZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkluaXRpYWxpemUgdGhlIGh0bWxTdGFydENsb3NlSW5kZXggZm9yIGZhc3QgbG9va3VwIG9mIGNsb3NpbmcgdGFncyBuYW1lcy4gVGhpcyBpcyBub3QgcmVlbnRyYW50LiBDYWxsIHhtbEluaXRQYXJzZXIoKSBvbmNlIGJlZm9yZSBwcm9jZXNzaW5nIGluIGNhc2Ugb2YgdXNlIGluIG11bHRpdGhyZWFkZWQgcHJvZ3JhbXMuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0naHRtbElzQXV0b0Nsb3NlZCcgZmlsZT0nSFRNTHBhcnNlcicgbW9kdWxlPSdIVE1McGFyc2VyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0hUTUxfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5UaGUgSFRNTCBEVEQgYWxsb3dzIGEgdGFnIHRvIGltcGxpY2l0bHkgY2xvc2Ugb3RoZXIgdGFncy4gVGhlIGxpc3QgaXMga2VwdCBpbiBodG1sU3RhcnRDbG9zZSBhcnJheS4gVGhpcyBmdW5jdGlvbiBjaGVja3MgaWYgYSB0YWcgaXMgYXV0b2Nsb3NlZCBieSBvbmUgb2YgaXQmYXBvcztzIGNoaWxkPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgYXV0b2Nsb3NlZCwgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nZG9jJyB0eXBlPSdodG1sRG9jUHRyJyBpbmZvPSd0aGUgSFRNTCBkb2N1bWVudCcvPgorICAgICAgPGFyZyBuYW1lPSdlbGVtJyB0eXBlPSdodG1sTm9kZVB0cicgaW5mbz0ndGhlIEhUTUwgZWxlbWVudCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J2h0bWxJc0Jvb2xlYW5BdHRyJyBmaWxlPSdIVE1MdHJlZScgbW9kdWxlPSdIVE1MdHJlZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+RGV0ZXJtaW5lIGlmIGEgZ2l2ZW4gYXR0cmlidXRlIGlzIGEgYm9vbGVhbiBhdHRyaWJ1dGUuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J2ZhbHNlIGlmIHRoZSBhdHRyaWJ1dGUgaXMgbm90IGJvb2xlYW4sIHRydWUgb3RoZXJ3aXNlLicvPgorICAgICAgPGFyZyBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBuYW1lIG9mIHRoZSBhdHRyaWJ1dGUgdG8gY2hlY2snLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSdodG1sSXNTY3JpcHRBdHRyaWJ1dGUnIGZpbGU9J0hUTUxwYXJzZXInIG1vZHVsZT0nSFRNTHBhcnNlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgaWYgYW4gYXR0cmlidXRlIGlzIG9mIGNvbnRlbnQgdHlwZSBTY3JpcHQ8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpcyB0aGUgYXR0cmlidXRlIGlzIGEgc2NyaXB0IDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J25hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nYW4gYXR0cmlidXRlIG5hbWUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSdodG1sTmV3RG9jJyBmaWxlPSdIVE1MdHJlZScgbW9kdWxlPSdIVE1McGFyc2VyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0hUTUxfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DcmVhdGVzIGEgbmV3IEhUTUwgZG9jdW1lbnQ8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2h0bWxEb2NQdHInIGluZm89J2EgbmV3IGRvY3VtZW50Jy8+CisgICAgICA8YXJnIG5hbWU9J1VSSScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSdVUkkgZm9yIHRoZSBkdGQsIG9yIE5VTEwnLz4KKyAgICAgIDxhcmcgbmFtZT0nRXh0ZXJuYWxJRCcgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgZXh0ZXJuYWwgSUQgb2YgdGhlIERURCwgb3IgTlVMTCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J2h0bWxOZXdEb2NOb0R0RCcgZmlsZT0nSFRNTHRyZWUnIG1vZHVsZT0nSFRNTHBhcnNlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q3JlYXRlcyBhIG5ldyBIVE1MIGRvY3VtZW50IHdpdGhvdXQgYSBEVEQgbm9kZSBpZiBAVVJJIGFuZCBARXh0ZXJuYWxJRCBhcmUgTlVMTDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naHRtbERvY1B0cicgaW5mbz0nYSBuZXcgZG9jdW1lbnQsIGRvIG5vdCBpbml0aWFsaXplIHRoZSBEVEQgaWYgbm90IHByb3ZpZGVkJy8+CisgICAgICA8YXJnIG5hbWU9J1VSSScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSdVUkkgZm9yIHRoZSBkdGQsIG9yIE5VTEwnLz4KKyAgICAgIDxhcmcgbmFtZT0nRXh0ZXJuYWxJRCcgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgZXh0ZXJuYWwgSUQgb2YgdGhlIERURCwgb3IgTlVMTCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J2h0bWxOZXdQYXJzZXJDdHh0JyBmaWxlPSdIVE1McGFyc2VyJyBtb2R1bGU9J0hUTUxwYXJzZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkFsbG9jYXRlIGFuZCBpbml0aWFsaXplIGEgbmV3IHBhcnNlciBjb250ZXh0LjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naHRtbFBhcnNlckN0eHRQdHInIGluZm89J3RoZSBodG1sUGFyc2VyQ3R4dFB0ciBvciBOVUxMIGluIGNhc2Ugb2YgYWxsb2NhdGlvbiBlcnJvcicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J2h0bWxOb2RlRHVtcCcgZmlsZT0nSFRNTHRyZWUnIG1vZHVsZT0nSFRNTHRyZWUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKSAmYW1wOyZhbXA7IGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkR1bXAgYW4gSFRNTCBub2RlLCByZWN1cnNpdmUgYmVoYXZpb3VyLGNoaWxkcmVuIGFyZSBwcmludGVkIHRvbywgYW5kIGZvcm1hdHRpbmcgcmV0dXJucyBhcmUgYWRkZWQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J3RoZSBudW1iZXIgb2YgYnl0ZSB3cml0dGVuIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0nYnVmJyB0eXBlPSd4bWxCdWZmZXJQdHInIGluZm89J3RoZSBIVE1MIGJ1ZmZlciBvdXRwdXQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZG9jJyB0eXBlPSd4bWxEb2NQdHInIGluZm89J3RoZSBkb2N1bWVudCcvPgorICAgICAgPGFyZyBuYW1lPSdjdXInIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3RoZSBjdXJyZW50IG5vZGUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSdodG1sTm9kZUR1bXBGaWxlJyBmaWxlPSdIVE1MdHJlZScgbW9kdWxlPSdIVE1MdHJlZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpICZhbXA7JmFtcDsgZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+RHVtcCBhbiBIVE1MIG5vZGUsIHJlY3Vyc2l2ZSBiZWhhdmlvdXIsY2hpbGRyZW4gYXJlIHByaW50ZWQgdG9vLCBhbmQgZm9ybWF0dGluZyByZXR1cm5zIGFyZSBhZGRlZC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nb3V0JyB0eXBlPSdGSUxFIConIGluZm89J3RoZSBGSUxFIHBvaW50ZXInLz4KKyAgICAgIDxhcmcgbmFtZT0nZG9jJyB0eXBlPSd4bWxEb2NQdHInIGluZm89J3RoZSBkb2N1bWVudCcvPgorICAgICAgPGFyZyBuYW1lPSdjdXInIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3RoZSBjdXJyZW50IG5vZGUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSdodG1sTm9kZUR1bXBGaWxlRm9ybWF0JyBmaWxlPSdIVE1MdHJlZScgbW9kdWxlPSdIVE1MdHJlZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpICZhbXA7JmFtcDsgZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+RHVtcCBhbiBIVE1MIG5vZGUsIHJlY3Vyc2l2ZSBiZWhhdmlvdXIsY2hpbGRyZW4gYXJlIHByaW50ZWQgdG9vLiAgVE9ETzogaWYgZW5jb2RpbmcgPT0gTlVMTCB0cnkgdG8gc2F2ZSBpbiB0aGUgZG9jIGVuY29kaW5nPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J3RoZSBudW1iZXIgb2YgYnl0ZSB3cml0dGVuIG9yIC0xIGluIGNhc2Ugb2YgZmFpbHVyZS4nLz4KKyAgICAgIDxhcmcgbmFtZT0nb3V0JyB0eXBlPSdGSUxFIConIGluZm89J3RoZSBGSUxFIHBvaW50ZXInLz4KKyAgICAgIDxhcmcgbmFtZT0nZG9jJyB0eXBlPSd4bWxEb2NQdHInIGluZm89J3RoZSBkb2N1bWVudCcvPgorICAgICAgPGFyZyBuYW1lPSdjdXInIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3RoZSBjdXJyZW50IG5vZGUnLz4KKyAgICAgIDxhcmcgbmFtZT0nZW5jb2RpbmcnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIGRvY3VtZW50IGVuY29kaW5nJy8+CisgICAgICA8YXJnIG5hbWU9J2Zvcm1hdCcgdHlwZT0naW50JyBpbmZvPSdzaG91bGQgZm9ybWF0dGluZyBzcGFjZXMgYmVlbiBhZGRlZCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J2h0bWxOb2RlRHVtcEZvcm1hdE91dHB1dCcgZmlsZT0nSFRNTHRyZWUnIG1vZHVsZT0nSFRNTHRyZWUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKSAmYW1wOyZhbXA7IGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkR1bXAgYW4gSFRNTCBub2RlLCByZWN1cnNpdmUgYmVoYXZpb3VyLGNoaWxkcmVuIGFyZSBwcmludGVkIHRvby48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nYnVmJyB0eXBlPSd4bWxPdXRwdXRCdWZmZXJQdHInIGluZm89J3RoZSBIVE1MIGJ1ZmZlciBvdXRwdXQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZG9jJyB0eXBlPSd4bWxEb2NQdHInIGluZm89J3RoZSBkb2N1bWVudCcvPgorICAgICAgPGFyZyBuYW1lPSdjdXInIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3RoZSBjdXJyZW50IG5vZGUnLz4KKyAgICAgIDxhcmcgbmFtZT0nZW5jb2RpbmcnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIGVuY29kaW5nIHN0cmluZycvPgorICAgICAgPGFyZyBuYW1lPSdmb3JtYXQnIHR5cGU9J2ludCcgaW5mbz0nc2hvdWxkIGZvcm1hdHRpbmcgc3BhY2VzIGJlZW4gYWRkZWQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSdodG1sTm9kZUR1bXBPdXRwdXQnIGZpbGU9J0hUTUx0cmVlJyBtb2R1bGU9J0hUTUx0cmVlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0hUTUxfRU5BQkxFRCkgJmFtcDsmYW1wOyBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5EdW1wIGFuIEhUTUwgbm9kZSwgcmVjdXJzaXZlIGJlaGF2aW91cixjaGlsZHJlbiBhcmUgcHJpbnRlZCB0b28sIGFuZCBmb3JtYXR0aW5nIHJldHVybnMvc3BhY2VzIGFyZSBhZGRlZC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nYnVmJyB0eXBlPSd4bWxPdXRwdXRCdWZmZXJQdHInIGluZm89J3RoZSBIVE1MIGJ1ZmZlciBvdXRwdXQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZG9jJyB0eXBlPSd4bWxEb2NQdHInIGluZm89J3RoZSBkb2N1bWVudCcvPgorICAgICAgPGFyZyBuYW1lPSdjdXInIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3RoZSBjdXJyZW50IG5vZGUnLz4KKyAgICAgIDxhcmcgbmFtZT0nZW5jb2RpbmcnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIGVuY29kaW5nIHN0cmluZycvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J2h0bWxOb2RlU3RhdHVzJyBmaWxlPSdIVE1McGFyc2VyJyBtb2R1bGU9J0hUTUxwYXJzZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNoZWNrcyB3aGV0aGVyIHRoZSB0cmVlIG5vZGUgaXMgdmFsaWQuICBFeHBlcmltZW50YWwgKHRoZSBhdXRob3Igb25seSB1c2VzIHRoZSBIVE1MIGVuaGFuY2VtZW50cyBpbiBhIFNBWCBwYXJzZXIpPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdodG1sU3RhdHVzJyBpbmZvPSdmb3IgRWxlbWVudCBub2RlcywgYSByZXR1cm4gZnJvbSBodG1sRWxlbWVudEFsbG93ZWRIZXJlIChpZiBsZWdhY3kgYWxsb3dlZCkgb3IgaHRtbEVsZW1lbnRTdGF0dXNIZXJlIChvdGhlcndpc2UpLiBmb3IgQXR0cmlidXRlIG5vZGVzLCBhIHJldHVybiBmcm9tIGh0bWxBdHRyQWxsb3dlZCBmb3Igb3RoZXIgbm9kZXMsIEhUTUxfTkEgKG5vIGNoZWNrcyBwZXJmb3JtZWQpJy8+CisgICAgICA8YXJnIG5hbWU9J25vZGUnIHR5cGU9J2NvbnN0IGh0bWxOb2RlUHRyJyBpbmZvPSdhbiBodG1sTm9kZVB0ciBpbiBhIHRyZWUnLz4KKyAgICAgIDxhcmcgbmFtZT0nbGVnYWN5JyB0eXBlPSdpbnQnIGluZm89J3doZXRoZXIgdG8gYWxsb3cgZGVwcmVjYXRlZCBlbGVtZW50cyAoWUVTIGlzIGZhc3RlciBoZXJlIGZvciBFbGVtZW50IG5vZGVzKScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J2h0bWxQYXJzZUNoYXJSZWYnIGZpbGU9J0hUTUxwYXJzZXInIG1vZHVsZT0nSFRNTHBhcnNlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+cGFyc2UgUmVmZXJlbmNlIGRlY2xhcmF0aW9ucyAgWzY2XSBDaGFyUmVmIDo6PSAmYXBvczsmYW1wOyMmYXBvczsgWzAtOV0rICZhcG9zOzsmYXBvczsgfCAmYXBvczsmYW1wOyN4JmFwb3M7IFswLTlhLWZBLUZdKyAmYXBvczs7JmFwb3M7PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J3RoZSB2YWx1ZSBwYXJzZWQgKGFzIGFuIGludCknLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0naHRtbFBhcnNlckN0eHRQdHInIGluZm89J2FuIEhUTUwgcGFyc2VyIGNvbnRleHQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSdodG1sUGFyc2VDaHVuaycgZmlsZT0nSFRNTHBhcnNlcicgbW9kdWxlPSdIVE1McGFyc2VyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0hUTUxfRU5BQkxFRCkgJmFtcDsmYW1wOyBkZWZpbmVkKExJQlhNTF9QVVNIX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+UGFyc2UgYSBDaHVuayBvZiBtZW1vcnk8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nemVybyBpZiBubyBlcnJvciwgdGhlIHhtbFBhcnNlckVycm9ycyBvdGhlcndpc2UuJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J2h0bWxQYXJzZXJDdHh0UHRyJyBpbmZvPSdhbiBIVE1MIHBhcnNlciBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J2NodW5rJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J2FuIGNoYXIgYXJyYXknLz4KKyAgICAgIDxhcmcgbmFtZT0nc2l6ZScgdHlwZT0naW50JyBpbmZvPSd0aGUgc2l6ZSBpbiBieXRlIG9mIHRoZSBjaHVuaycvPgorICAgICAgPGFyZyBuYW1lPSd0ZXJtaW5hdGUnIHR5cGU9J2ludCcgaW5mbz0nbGFzdCBjaHVuayBpbmRpY2F0b3InLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSdodG1sUGFyc2VEb2MnIGZpbGU9J0hUTUxwYXJzZXInIG1vZHVsZT0nSFRNTHBhcnNlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+cGFyc2UgYW4gSFRNTCBpbi1tZW1vcnkgZG9jdW1lbnQgYW5kIGJ1aWxkIGEgdHJlZS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2h0bWxEb2NQdHInIGluZm89J3RoZSByZXN1bHRpbmcgZG9jdW1lbnQgdHJlZScvPgorICAgICAgPGFyZyBuYW1lPSdjdXInIHR5cGU9J3htbENoYXIgKicgaW5mbz0nYSBwb2ludGVyIHRvIGFuIGFycmF5IG9mIHhtbENoYXInLz4KKyAgICAgIDxhcmcgbmFtZT0nZW5jb2RpbmcnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0nYSBmcmVlIGZvcm0gQyBzdHJpbmcgZGVzY3JpYmluZyB0aGUgSFRNTCBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J2h0bWxQYXJzZURvY3VtZW50JyBmaWxlPSdIVE1McGFyc2VyJyBtb2R1bGU9J0hUTUxwYXJzZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPnBhcnNlIGFuIEhUTUwgZG9jdW1lbnQgKGFuZCBidWlsZCBhIHRyZWUgaWYgdXNpbmcgdGhlIHN0YW5kYXJkIFNBWCBpbnRlcmZhY2UpLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScwLCAtMSBpbiBjYXNlIG9mIGVycm9yLiB0aGUgcGFyc2VyIGNvbnRleHQgaXMgYXVnbWVudGVkIGFzIGEgcmVzdWx0IG9mIHRoZSBwYXJzaW5nLicvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSdodG1sUGFyc2VyQ3R4dFB0cicgaW5mbz0nYW4gSFRNTCBwYXJzZXIgY29udGV4dCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J2h0bWxQYXJzZUVsZW1lbnQnIGZpbGU9J0hUTUxwYXJzZXInIG1vZHVsZT0nSFRNTHBhcnNlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+cGFyc2UgYW4gSFRNTCBlbGVtZW50LCB0aGlzIGlzIGhpZ2hseSByZWN1cnNpdmUgdGhpcyBpcyBrZXB0IGZvciBjb21wYXRpYmlsaXR5IHdpdGggcHJldmlvdXMgY29kZSB2ZXJzaW9ucyAgWzM5XSBlbGVtZW50IDo6PSBFbXB0eUVsZW1UYWcgfCBTVGFnIGNvbnRlbnQgRVRhZyAgWzQxXSBBdHRyaWJ1dGUgOjo9IE5hbWUgRXEgQXR0VmFsdWU8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0naHRtbFBhcnNlckN0eHRQdHInIGluZm89J2FuIEhUTUwgcGFyc2VyIGNvbnRleHQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSdodG1sUGFyc2VFbnRpdHlSZWYnIGZpbGU9J0hUTUxwYXJzZXInIG1vZHVsZT0nSFRNTHBhcnNlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+cGFyc2UgYW4gSFRNTCBFTlRJVFkgcmVmZXJlbmNlcyAgWzY4XSBFbnRpdHlSZWYgOjo9ICZhcG9zOyZhbXA7JmFwb3M7IE5hbWUgJmFwb3M7OyZhcG9zOzwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0nY29uc3QgaHRtbEVudGl0eURlc2MgKicgaW5mbz0ndGhlIGFzc29jaWF0ZWQgaHRtbEVudGl0eURlc2NQdHIgaWYgZm91bmQsIG9yIE5VTEwgb3RoZXJ3aXNlLCBpZiBub24tTlVMTCAqc3RyIHdpbGwgaGF2ZSB0byBiZSBmcmVlZCBieSB0aGUgY2FsbGVyLicvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSdodG1sUGFyc2VyQ3R4dFB0cicgaW5mbz0nYW4gSFRNTCBwYXJzZXIgY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdzdHInIHR5cGU9J2NvbnN0IHhtbENoYXIgKionIGluZm89J2xvY2F0aW9uIHRvIHN0b3JlIHRoZSBlbnRpdHkgbmFtZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J2h0bWxQYXJzZUZpbGUnIGZpbGU9J0hUTUxwYXJzZXInIG1vZHVsZT0nSFRNTHBhcnNlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+cGFyc2UgYW4gSFRNTCBmaWxlIGFuZCBidWlsZCBhIHRyZWUuIEF1dG9tYXRpYyBzdXBwb3J0IGZvciBaTElCL0NvbXByZXNzIGNvbXByZXNzZWQgZG9jdW1lbnQgaXMgcHJvdmlkZWQgYnkgZGVmYXVsdCBpZiBmb3VuZCBhdCBjb21waWxlLXRpbWUuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdodG1sRG9jUHRyJyBpbmZvPSd0aGUgcmVzdWx0aW5nIGRvY3VtZW50IHRyZWUnLz4KKyAgICAgIDxhcmcgbmFtZT0nZmlsZW5hbWUnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIGZpbGVuYW1lJy8+CisgICAgICA8YXJnIG5hbWU9J2VuY29kaW5nJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J2EgZnJlZSBmb3JtIEMgc3RyaW5nIGRlc2NyaWJpbmcgdGhlIEhUTUwgZG9jdW1lbnQgZW5jb2RpbmcsIG9yIE5VTEwnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSdodG1sUmVhZERvYycgZmlsZT0nSFRNTHBhcnNlcicgbW9kdWxlPSdIVE1McGFyc2VyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0hUTUxfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5wYXJzZSBhbiBYTUwgaW4tbWVtb3J5IGRvY3VtZW50IGFuZCBidWlsZCBhIHRyZWUuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdodG1sRG9jUHRyJyBpbmZvPSd0aGUgcmVzdWx0aW5nIGRvY3VtZW50IHRyZWUnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3VyJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J2EgcG9pbnRlciB0byBhIHplcm8gdGVybWluYXRlZCBzdHJpbmcnLz4KKyAgICAgIDxhcmcgbmFtZT0nVVJMJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBiYXNlIFVSTCB0byB1c2UgZm9yIHRoZSBkb2N1bWVudCcvPgorICAgICAgPGFyZyBuYW1lPSdlbmNvZGluZycgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSd0aGUgZG9jdW1lbnQgZW5jb2RpbmcsIG9yIE5VTEwnLz4KKyAgICAgIDxhcmcgbmFtZT0nb3B0aW9ucycgdHlwZT0naW50JyBpbmZvPSdhIGNvbWJpbmF0aW9uIG9mIGh0bWxQYXJzZXJPcHRpb24ocyknLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSdodG1sUmVhZEZkJyBmaWxlPSdIVE1McGFyc2VyJyBtb2R1bGU9J0hUTUxwYXJzZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPnBhcnNlIGFuIFhNTCBmcm9tIGEgZmlsZSBkZXNjcmlwdG9yIGFuZCBidWlsZCBhIHRyZWUuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdodG1sRG9jUHRyJyBpbmZvPSd0aGUgcmVzdWx0aW5nIGRvY3VtZW50IHRyZWUnLz4KKyAgICAgIDxhcmcgbmFtZT0nZmQnIHR5cGU9J2ludCcgaW5mbz0nYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3InLz4KKyAgICAgIDxhcmcgbmFtZT0nVVJMJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBiYXNlIFVSTCB0byB1c2UgZm9yIHRoZSBkb2N1bWVudCcvPgorICAgICAgPGFyZyBuYW1lPSdlbmNvZGluZycgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSd0aGUgZG9jdW1lbnQgZW5jb2RpbmcsIG9yIE5VTEwnLz4KKyAgICAgIDxhcmcgbmFtZT0nb3B0aW9ucycgdHlwZT0naW50JyBpbmZvPSdhIGNvbWJpbmF0aW9uIG9mIGh0bWxQYXJzZXJPcHRpb24ocyknLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSdodG1sUmVhZEZpbGUnIGZpbGU9J0hUTUxwYXJzZXInIG1vZHVsZT0nSFRNTHBhcnNlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+cGFyc2UgYW4gWE1MIGZpbGUgZnJvbSB0aGUgZmlsZXN5c3RlbSBvciB0aGUgbmV0d29yay48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2h0bWxEb2NQdHInIGluZm89J3RoZSByZXN1bHRpbmcgZG9jdW1lbnQgdHJlZScvPgorICAgICAgPGFyZyBuYW1lPSdmaWxlbmFtZScgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSdhIGZpbGUgb3IgVVJMJy8+CisgICAgICA8YXJnIG5hbWU9J2VuY29kaW5nJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTCcvPgorICAgICAgPGFyZyBuYW1lPSdvcHRpb25zJyB0eXBlPSdpbnQnIGluZm89J2EgY29tYmluYXRpb24gb2YgaHRtbFBhcnNlck9wdGlvbihzKScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J2h0bWxSZWFkSU8nIGZpbGU9J0hUTUxwYXJzZXInIG1vZHVsZT0nSFRNTHBhcnNlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+cGFyc2UgYW4gSFRNTCBkb2N1bWVudCBmcm9tIEkvTyBmdW5jdGlvbnMgYW5kIHNvdXJjZSBhbmQgYnVpbGQgYSB0cmVlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naHRtbERvY1B0cicgaW5mbz0ndGhlIHJlc3VsdGluZyBkb2N1bWVudCB0cmVlJy8+CisgICAgICA8YXJnIG5hbWU9J2lvcmVhZCcgdHlwZT0neG1sSW5wdXRSZWFkQ2FsbGJhY2snIGluZm89J2FuIEkvTyByZWFkIGZ1bmN0aW9uJy8+CisgICAgICA8YXJnIG5hbWU9J2lvY2xvc2UnIHR5cGU9J3htbElucHV0Q2xvc2VDYWxsYmFjaycgaW5mbz0nYW4gSS9PIGNsb3NlIGZ1bmN0aW9uJy8+CisgICAgICA8YXJnIG5hbWU9J2lvY3R4JyB0eXBlPSd2b2lkIConIGluZm89J2FuIEkvTyBoYW5kbGVyJy8+CisgICAgICA8YXJnIG5hbWU9J1VSTCcgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSd0aGUgYmFzZSBVUkwgdG8gdXNlIGZvciB0aGUgZG9jdW1lbnQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZW5jb2RpbmcnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIGRvY3VtZW50IGVuY29kaW5nLCBvciBOVUxMJy8+CisgICAgICA8YXJnIG5hbWU9J29wdGlvbnMnIHR5cGU9J2ludCcgaW5mbz0nYSBjb21iaW5hdGlvbiBvZiBodG1sUGFyc2VyT3B0aW9uKHMpJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0naHRtbFJlYWRNZW1vcnknIGZpbGU9J0hUTUxwYXJzZXInIG1vZHVsZT0nSFRNTHBhcnNlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+cGFyc2UgYW4gWE1MIGluLW1lbW9yeSBkb2N1bWVudCBhbmQgYnVpbGQgYSB0cmVlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naHRtbERvY1B0cicgaW5mbz0ndGhlIHJlc3VsdGluZyBkb2N1bWVudCB0cmVlJy8+CisgICAgICA8YXJnIG5hbWU9J2J1ZmZlcicgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSdhIHBvaW50ZXIgdG8gYSBjaGFyIGFycmF5Jy8+CisgICAgICA8YXJnIG5hbWU9J3NpemUnIHR5cGU9J2ludCcgaW5mbz0ndGhlIHNpemUgb2YgdGhlIGFycmF5Jy8+CisgICAgICA8YXJnIG5hbWU9J1VSTCcgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSd0aGUgYmFzZSBVUkwgdG8gdXNlIGZvciB0aGUgZG9jdW1lbnQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZW5jb2RpbmcnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIGRvY3VtZW50IGVuY29kaW5nLCBvciBOVUxMJy8+CisgICAgICA8YXJnIG5hbWU9J29wdGlvbnMnIHR5cGU9J2ludCcgaW5mbz0nYSBjb21iaW5hdGlvbiBvZiBodG1sUGFyc2VyT3B0aW9uKHMpJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0naHRtbFNBWFBhcnNlRG9jJyBmaWxlPSdIVE1McGFyc2VyJyBtb2R1bGU9J0hUTUxwYXJzZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlBhcnNlIGFuIEhUTUwgaW4tbWVtb3J5IGRvY3VtZW50LiBJZiBzYXggaXMgbm90IE5VTEwsIHVzZSB0aGUgU0FYIGNhbGxiYWNrcyB0byBoYW5kbGUgcGFyc2UgZXZlbnRzLiBJZiBzYXggaXMgTlVMTCwgZmFsbGJhY2sgdG8gdGhlIGRlZmF1bHQgRE9NIGJlaGF2aW9yIGFuZCByZXR1cm4gYSB0cmVlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naHRtbERvY1B0cicgaW5mbz0ndGhlIHJlc3VsdGluZyBkb2N1bWVudCB0cmVlIHVubGVzcyBTQVggaXMgTlVMTCBvciB0aGUgZG9jdW1lbnQgaXMgbm90IHdlbGwgZm9ybWVkLicvPgorICAgICAgPGFyZyBuYW1lPSdjdXInIHR5cGU9J3htbENoYXIgKicgaW5mbz0nYSBwb2ludGVyIHRvIGFuIGFycmF5IG9mIHhtbENoYXInLz4KKyAgICAgIDxhcmcgbmFtZT0nZW5jb2RpbmcnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0nYSBmcmVlIGZvcm0gQyBzdHJpbmcgZGVzY3JpYmluZyB0aGUgSFRNTCBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTCcvPgorICAgICAgPGFyZyBuYW1lPSdzYXgnIHR5cGU9J2h0bWxTQVhIYW5kbGVyUHRyJyBpbmZvPSd0aGUgU0FYIGhhbmRsZXIgYmxvY2snLz4KKyAgICAgIDxhcmcgbmFtZT0ndXNlckRhdGEnIHR5cGU9J3ZvaWQgKicgaW5mbz0naWYgdXNpbmcgU0FYLCB0aGlzIHBvaW50ZXIgd2lsbCBiZSBwcm92aWRlZCBvbiBjYWxsYmFja3MuJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0naHRtbFNBWFBhcnNlRmlsZScgZmlsZT0nSFRNTHBhcnNlcicgbW9kdWxlPSdIVE1McGFyc2VyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0hUTUxfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5wYXJzZSBhbiBIVE1MIGZpbGUgYW5kIGJ1aWxkIGEgdHJlZS4gQXV0b21hdGljIHN1cHBvcnQgZm9yIFpMSUIvQ29tcHJlc3MgY29tcHJlc3NlZCBkb2N1bWVudCBpcyBwcm92aWRlZCBieSBkZWZhdWx0IGlmIGZvdW5kIGF0IGNvbXBpbGUtdGltZS4gSXQgdXNlIHRoZSBnaXZlbiBTQVggZnVuY3Rpb24gYmxvY2sgdG8gaGFuZGxlIHRoZSBwYXJzaW5nIGNhbGxiYWNrLiBJZiBzYXggaXMgTlVMTCwgZmFsbGJhY2sgdG8gdGhlIGRlZmF1bHQgRE9NIHRyZWUgYnVpbGRpbmcgcm91dGluZXMuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdodG1sRG9jUHRyJyBpbmZvPSd0aGUgcmVzdWx0aW5nIGRvY3VtZW50IHRyZWUgdW5sZXNzIFNBWCBpcyBOVUxMIG9yIHRoZSBkb2N1bWVudCBpcyBub3Qgd2VsbCBmb3JtZWQuJy8+CisgICAgICA8YXJnIG5hbWU9J2ZpbGVuYW1lJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBmaWxlbmFtZScvPgorICAgICAgPGFyZyBuYW1lPSdlbmNvZGluZycgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSdhIGZyZWUgZm9ybSBDIHN0cmluZyBkZXNjcmliaW5nIHRoZSBIVE1MIGRvY3VtZW50IGVuY29kaW5nLCBvciBOVUxMJy8+CisgICAgICA8YXJnIG5hbWU9J3NheCcgdHlwZT0naHRtbFNBWEhhbmRsZXJQdHInIGluZm89J3RoZSBTQVggaGFuZGxlciBibG9jaycvPgorICAgICAgPGFyZyBuYW1lPSd1c2VyRGF0YScgdHlwZT0ndm9pZCAqJyBpbmZvPSdpZiB1c2luZyBTQVgsIHRoaXMgcG9pbnRlciB3aWxsIGJlIHByb3ZpZGVkIG9uIGNhbGxiYWNrcy4nLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSdodG1sU2F2ZUZpbGUnIGZpbGU9J0hUTUx0cmVlJyBtb2R1bGU9J0hUTUx0cmVlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0hUTUxfRU5BQkxFRCkgJmFtcDsmYW1wOyBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5EdW1wIGFuIEhUTUwgZG9jdW1lbnQgdG8gYSBmaWxlLiBJZiBAZmlsZW5hbWUgaXMgJnF1b3Q7LSZxdW90OyB0aGUgc3Rkb3V0IGZpbGUgaXMgdXNlZC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndGhlIG51bWJlciBvZiBieXRlIHdyaXR0ZW4gb3IgLTEgaW4gY2FzZSBvZiBmYWlsdXJlLicvPgorICAgICAgPGFyZyBuYW1lPSdmaWxlbmFtZScgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSd0aGUgZmlsZW5hbWUgKG9yIFVSTCknLz4KKyAgICAgIDxhcmcgbmFtZT0nY3VyJyB0eXBlPSd4bWxEb2NQdHInIGluZm89J3RoZSBkb2N1bWVudCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J2h0bWxTYXZlRmlsZUVuYycgZmlsZT0nSFRNTHRyZWUnIG1vZHVsZT0nSFRNTHRyZWUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKSAmYW1wOyZhbXA7IGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkR1bXAgYW4gSFRNTCBkb2N1bWVudCB0byBhIGZpbGUgdXNpbmcgYSBnaXZlbiBlbmNvZGluZyBhbmQgZm9ybWF0dGluZyByZXR1cm5zL3NwYWNlcyBhcmUgYWRkZWQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J3RoZSBudW1iZXIgb2YgYnl0ZSB3cml0dGVuIG9yIC0xIGluIGNhc2Ugb2YgZmFpbHVyZS4nLz4KKyAgICAgIDxhcmcgbmFtZT0nZmlsZW5hbWUnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIGZpbGVuYW1lJy8+CisgICAgICA8YXJnIG5hbWU9J2N1cicgdHlwZT0neG1sRG9jUHRyJyBpbmZvPSd0aGUgZG9jdW1lbnQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZW5jb2RpbmcnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIGRvY3VtZW50IGVuY29kaW5nJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0naHRtbFNhdmVGaWxlRm9ybWF0JyBmaWxlPSdIVE1MdHJlZScgbW9kdWxlPSdIVE1MdHJlZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpICZhbXA7JmFtcDsgZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+RHVtcCBhbiBIVE1MIGRvY3VtZW50IHRvIGEgZmlsZSB1c2luZyBhIGdpdmVuIGVuY29kaW5nLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgbnVtYmVyIG9mIGJ5dGUgd3JpdHRlbiBvciAtMSBpbiBjYXNlIG9mIGZhaWx1cmUuJy8+CisgICAgICA8YXJnIG5hbWU9J2ZpbGVuYW1lJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBmaWxlbmFtZScvPgorICAgICAgPGFyZyBuYW1lPSdjdXInIHR5cGU9J3htbERvY1B0cicgaW5mbz0ndGhlIGRvY3VtZW50Jy8+CisgICAgICA8YXJnIG5hbWU9J2VuY29kaW5nJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBkb2N1bWVudCBlbmNvZGluZycvPgorICAgICAgPGFyZyBuYW1lPSdmb3JtYXQnIHR5cGU9J2ludCcgaW5mbz0nc2hvdWxkIGZvcm1hdHRpbmcgc3BhY2VzIGJlZW4gYWRkZWQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSdodG1sU2V0TWV0YUVuY29kaW5nJyBmaWxlPSdIVE1MdHJlZScgbW9kdWxlPSdIVE1MdHJlZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+U2V0cyB0aGUgY3VycmVudCBlbmNvZGluZyBpbiB0aGUgTWV0YSB0YWdzIE5PVEU6IHRoaXMgd2lsbCBub3QgY2hhbmdlIHRoZSBkb2N1bWVudCBjb250ZW50IGVuY29kaW5nLCBqdXN0IHRoZSBNRVRBIGZsYWcgYXNzb2NpYXRlZC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMCBpbiBjYXNlIG9mIHN1Y2Nlc3MgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0nZG9jJyB0eXBlPSdodG1sRG9jUHRyJyBpbmZvPSd0aGUgZG9jdW1lbnQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZW5jb2RpbmcnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIGVuY29kaW5nIHN0cmluZycvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J2h0bWxUYWdMb29rdXAnIGZpbGU9J0hUTUxwYXJzZXInIG1vZHVsZT0nSFRNTHBhcnNlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+TG9va3VwIHRoZSBIVE1MIHRhZyBpbiB0aGUgRWxlbWVudFRhYmxlPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdjb25zdCBodG1sRWxlbURlc2MgKicgaW5mbz0ndGhlIHJlbGF0ZWQgaHRtbEVsZW1EZXNjUHRyIG9yIE5VTEwgaWYgbm90IGZvdW5kLicvPgorICAgICAgPGFyZyBuYW1lPSd0YWcnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nVGhlIHRhZyBuYW1lIGluIGxvd2VyY2FzZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J2lnbm9yYWJsZVdoaXRlc3BhY2UnIGZpbGU9J1NBWCcgbW9kdWxlPSdsZWdhY3knPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfTEVHQUNZX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+cmVjZWl2aW5nIHNvbWUgaWdub3JhYmxlIHdoaXRlc3BhY2VzIGZyb20gdGhlIHBhcnNlci4gVU5VU0VEOiBieSBkZWZhdWx0IHRoZSBET00gYnVpbGRpbmcgd2lsbCB1c2UgY2hhcmFjdGVycyBERVBSRUNBVEVEOiB1c2UgeG1sU0FYMklnbm9yYWJsZVdoaXRlc3BhY2UoKTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHgnIHR5cGU9J3ZvaWQgKicgaW5mbz0ndGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KScvPgorICAgICAgPGFyZyBuYW1lPSdjaCcgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSdhIHhtbENoYXIgc3RyaW5nJy8+CisgICAgICA8YXJnIG5hbWU9J2xlbicgdHlwZT0naW50JyBpbmZvPSd0aGUgbnVtYmVyIG9mIHhtbENoYXInLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdHlwZSBuYW1lPSdpZ25vcmFibGVXaGl0ZXNwYWNlU0FYRnVuYycgZmlsZT0ncGFyc2VyJyBtb2R1bGU9J3BhcnNlcic+CisgICAgICA8aW5mbz5SZWNlaXZpbmcgc29tZSBpZ25vcmFibGUgd2hpdGVzcGFjZXMgZnJvbSB0aGUgcGFyc2VyLiBVTlVTRUQ6IGJ5IGRlZmF1bHQgdGhlIERPTSBidWlsZGluZyB3aWxsIHVzZSBjaGFyYWN0ZXJzLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHgnIHR5cGU9J3ZvaWQgKicgaW5mbz0ndGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KScvPgorICAgICAgPGFyZyBuYW1lPSdjaCcgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSdhIHhtbENoYXIgc3RyaW5nJy8+CisgICAgICA8YXJnIG5hbWU9J2xlbicgdHlwZT0naW50JyBpbmZvPSd0aGUgbnVtYmVyIG9mIHhtbENoYXInLz4KKyAgICA8L2Z1bmN0eXBlPgorICAgIDxmdW5jdGlvbiBuYW1lPSdpbml0R2VuZXJpY0Vycm9yRGVmYXVsdEZ1bmMnIGZpbGU9J3htbGVycm9yJyBtb2R1bGU9J2Vycm9yJz4KKyAgICAgIDxpbmZvPlNldCBvciByZXNldCAoaWYgTlVMTCkgdGhlIGRlZmF1bHQgaGFuZGxlciBmb3IgZ2VuZXJpYyBlcnJvcnMgdG8gdGhlIGJ1aWx0aW4gZXJyb3IgZnVuY3Rpb24uPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2hhbmRsZXInIHR5cGU9J3htbEdlbmVyaWNFcnJvckZ1bmMgKicgaW5mbz0ndGhlIGhhbmRsZXInLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSdpbml0ZG9jYkRlZmF1bHRTQVhIYW5kbGVyJyBmaWxlPSdTQVgnIG1vZHVsZT0nU0FYJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0xFR0FDWV9FTkFCTEVEKSAmYW1wOyZhbXA7IGRlZmluZWQoTElCWE1MX1NBWDFfRU5BQkxFRCkgJmFtcDsmYW1wOyBkZWZpbmVkKExJQlhNTF9ET0NCX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+SW5pdGlhbGl6ZSB0aGUgZGVmYXVsdCBEb2NCb29rIFNBWCB2ZXJzaW9uIDEgaGFuZGxlciBERVBSRUNBVEVEOiB1c2UgeG1sU0FYMkluaXREb2NiRGVmYXVsdFNBWEhhbmRsZXIoKSBmb3IgdGhlIG5ldyBTQVgyIGJsb2NrczwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdoZGxyJyB0eXBlPSd4bWxTQVhIYW5kbGVyVjEgKicgaW5mbz0ndGhlIFNBWCBoYW5kbGVyJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0naW5pdGh0bWxEZWZhdWx0U0FYSGFuZGxlcicgZmlsZT0nU0FYJyBtb2R1bGU9J1NBWCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9MRUdBQ1lfRU5BQkxFRCkgJmFtcDsmYW1wOyBkZWZpbmVkKExJQlhNTF9TQVgxX0VOQUJMRUQpICZhbXA7JmFtcDsgZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkluaXRpYWxpemUgdGhlIGRlZmF1bHQgSFRNTCBTQVggdmVyc2lvbiAxIGhhbmRsZXIgREVQUkVDQVRFRDogdXNlIHhtbFNBWDJJbml0SHRtbERlZmF1bHRTQVhIYW5kbGVyKCkgZm9yIHRoZSBuZXcgU0FYMiBibG9ja3M8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0naGRscicgdHlwZT0neG1sU0FYSGFuZGxlclYxIConIGluZm89J3RoZSBTQVggaGFuZGxlcicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J2luaXR4bWxEZWZhdWx0U0FYSGFuZGxlcicgZmlsZT0nU0FYJyBtb2R1bGU9J1NBWCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9MRUdBQ1lfRU5BQkxFRCkgJmFtcDsmYW1wOyBkZWZpbmVkKExJQlhNTF9TQVgxX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+SW5pdGlhbGl6ZSB0aGUgZGVmYXVsdCBYTUwgU0FYIHZlcnNpb24gMSBoYW5kbGVyIERFUFJFQ0FURUQ6IHVzZSB4bWxTQVgySW5pdERlZmF1bHRTQVhIYW5kbGVyKCkgZm9yIHRoZSBuZXcgU0FYMiBibG9ja3M8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0naGRscicgdHlwZT0neG1sU0FYSGFuZGxlclYxIConIGluZm89J3RoZSBTQVggaGFuZGxlcicvPgorICAgICAgPGFyZyBuYW1lPSd3YXJuaW5nJyB0eXBlPSdpbnQnIGluZm89J2ZsYWcgaWYgbm9uLXplcm8gc2V0cyB0aGUgaGFuZGxlciB3YXJuaW5nIHByb2NlZHVyZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J2lucHV0UG9wJyBmaWxlPSdwYXJzZXJJbnRlcm5hbHMnIG1vZHVsZT0ncGFyc2VyJz4KKyAgICAgIDxpbmZvPlBvcHMgdGhlIHRvcCBwYXJzZXIgaW5wdXQgZnJvbSB0aGUgaW5wdXQgc3RhY2s8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbFBhcnNlcklucHV0UHRyJyBpbmZvPSd0aGUgaW5wdXQganVzdCByZW1vdmVkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFBhcnNlckN0eHRQdHInIGluZm89J2FuIFhNTCBwYXJzZXIgY29udGV4dCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J2lucHV0UHVzaCcgZmlsZT0ncGFyc2VySW50ZXJuYWxzJyBtb2R1bGU9J3BhcnNlcic+CisgICAgICA8aW5mbz5QdXNoZXMgYSBuZXcgcGFyc2VyIGlucHV0IG9uIHRvcCBvZiB0aGUgaW5wdXQgc3RhY2s8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nLTEgaW4gY2FzZSBvZiBlcnJvciwgdGhlIGluZGV4IGluIHRoZSBzdGFjayBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sUGFyc2VyQ3R4dFB0cicgaW5mbz0nYW4gWE1MIHBhcnNlciBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J3ZhbHVlJyB0eXBlPSd4bWxQYXJzZXJJbnB1dFB0cicgaW5mbz0ndGhlIHBhcnNlciBpbnB1dCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J2ludGVybmFsU3Vic2V0JyBmaWxlPSdTQVgnIG1vZHVsZT0nbGVnYWN5Jz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0xFR0FDWV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNhbGxiYWNrIG9uIGludGVybmFsIHN1YnNldCBkZWNsYXJhdGlvbi4gREVQUkVDQVRFRDogdXNlIHhtbFNBWDJJbnRlcm5hbFN1YnNldCgpPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eCcgdHlwZT0ndm9pZCAqJyBpbmZvPSd0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpJy8+CisgICAgICA8YXJnIG5hbWU9J25hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIHJvb3QgZWxlbWVudCBuYW1lJy8+CisgICAgICA8YXJnIG5hbWU9J0V4dGVybmFsSUQnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIGV4dGVybmFsIElEJy8+CisgICAgICA8YXJnIG5hbWU9J1N5c3RlbUlEJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBTWVNURU0gSUQgKGUuZy4gZmlsZW5hbWUgb3IgVVJMKScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0eXBlIG5hbWU9J2ludGVybmFsU3Vic2V0U0FYRnVuYycgZmlsZT0ncGFyc2VyJyBtb2R1bGU9J3BhcnNlcic+CisgICAgICA8aW5mbz5DYWxsYmFjayBvbiBpbnRlcm5hbCBzdWJzZXQgZGVjbGFyYXRpb24uPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eCcgdHlwZT0ndm9pZCAqJyBpbmZvPSd0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpJy8+CisgICAgICA8YXJnIG5hbWU9J25hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIHJvb3QgZWxlbWVudCBuYW1lJy8+CisgICAgICA8YXJnIG5hbWU9J0V4dGVybmFsSUQnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIGV4dGVybmFsIElEJy8+CisgICAgICA8YXJnIG5hbWU9J1N5c3RlbUlEJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBTWVNURU0gSUQgKGUuZy4gZmlsZW5hbWUgb3IgVVJMKScvPgorICAgIDwvZnVuY3R5cGU+CisgICAgPGZ1bmN0aW9uIG5hbWU9J2lzU3RhbmRhbG9uZScgZmlsZT0nU0FYJyBtb2R1bGU9J2xlZ2FjeSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9MRUdBQ1lfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5JcyB0aGlzIGRvY3VtZW50IHRhZ2dlZCBzdGFuZGFsb25lID8gREVQUkVDQVRFRDogdXNlIHhtbFNBWDJJc1N0YW5kYWxvbmUoKTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRydWUnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4JyB0eXBlPSd2b2lkIConIGluZm89J3RoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCknLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdHlwZSBuYW1lPSdpc1N0YW5kYWxvbmVTQVhGdW5jJyBmaWxlPSdwYXJzZXInIG1vZHVsZT0ncGFyc2VyJz4KKyAgICAgIDxpbmZvPklzIHRoaXMgZG9jdW1lbnQgdGFnZ2VkIHN0YW5kYWxvbmU/PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgdHJ1ZScvPgorICAgICAgPGFyZyBuYW1lPSdjdHgnIHR5cGU9J3ZvaWQgKicgaW5mbz0ndGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KScvPgorICAgIDwvZnVuY3R5cGU+CisgICAgPGZ1bmN0aW9uIG5hbWU9J2lzb2xhdDFUb1VURjgnIGZpbGU9J2VuY29kaW5nJyBtb2R1bGU9J2VuY29kaW5nJz4KKyAgICAgIDxpbmZvPlRha2UgYSBibG9jayBvZiBJU08gTGF0aW4gMSBjaGFycyBpbiBhbmQgdHJ5IHRvIGNvbnZlcnQgaXQgdG8gYW4gVVRGLTggYmxvY2sgb2YgY2hhcnMgb3V0LjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgbnVtYmVyIG9mIGJ5dGVzIHdyaXR0ZW4gaWYgc3VjY2Vzcywgb3IgLTEgb3RoZXJ3aXNlIFRoZSB2YWx1ZSBvZiBAaW5sZW4gYWZ0ZXIgcmV0dXJuIGlzIHRoZSBudW1iZXIgb2Ygb2N0ZXRzIGNvbnN1bWVkIGlmIHRoZSByZXR1cm4gdmFsdWUgaXMgcG9zaXRpdmUsIGVsc2UgdW5wcmVkaWN0YWJsZS4gVGhlIHZhbHVlIG9mIEBvdXRsZW4gYWZ0ZXIgcmV0dXJuIGlzIHRoZSBudW1iZXIgb2Ygb2N0ZXRzIGNvbnN1bWVkLicvPgorICAgICAgPGFyZyBuYW1lPSdvdXQnIHR5cGU9J3Vuc2lnbmVkIGNoYXIgKicgaW5mbz0nYSBwb2ludGVyIHRvIGFuIGFycmF5IG9mIGJ5dGVzIHRvIHN0b3JlIHRoZSByZXN1bHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nb3V0bGVuJyB0eXBlPSdpbnQgKicgaW5mbz0ndGhlIGxlbmd0aCBvZiBAb3V0Jy8+CisgICAgICA8YXJnIG5hbWU9J2luJyB0eXBlPSdjb25zdCB1bnNpZ25lZCBjaGFyIConIGluZm89J2EgcG9pbnRlciB0byBhbiBhcnJheSBvZiBJU08gTGF0aW4gMSBjaGFycycvPgorICAgICAgPGFyZyBuYW1lPSdpbmxlbicgdHlwZT0naW50IConIGluZm89J3RoZSBsZW5ndGggb2YgQGluJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0nbmFtZVBvcCcgZmlsZT0ncGFyc2VySW50ZXJuYWxzJyBtb2R1bGU9J3BhcnNlcic+CisgICAgICA8aW5mbz5Qb3BzIHRoZSB0b3AgZWxlbWVudCBuYW1lIGZyb20gdGhlIG5hbWUgc3RhY2s8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIG5hbWUganVzdCByZW1vdmVkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFBhcnNlckN0eHRQdHInIGluZm89J2FuIFhNTCBwYXJzZXIgY29udGV4dCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J25hbWVQdXNoJyBmaWxlPSdwYXJzZXJJbnRlcm5hbHMnIG1vZHVsZT0ncGFyc2VyJz4KKyAgICAgIDxpbmZvPlB1c2hlcyBhIG5ldyBlbGVtZW50IG5hbWUgb24gdG9wIG9mIHRoZSBuYW1lIHN0YWNrPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89Jy0xIGluIGNhc2Ugb2YgZXJyb3IsIHRoZSBpbmRleCBpbiB0aGUgc3RhY2sgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFBhcnNlckN0eHRQdHInIGluZm89J2FuIFhNTCBwYXJzZXIgY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSd2YWx1ZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgZWxlbWVudCBuYW1lJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0nbmFtZXNwYWNlRGVjbCcgZmlsZT0nU0FYJyBtb2R1bGU9J2xlZ2FjeSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9MRUdBQ1lfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5BIG5hbWVzcGFjZSBoYXMgYmVlbiBwYXJzZWQuIERFUFJFQ0FURUQ8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4JyB0eXBlPSd2b2lkIConIGluZm89J3RoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCknLz4KKyAgICAgIDxhcmcgbmFtZT0naHJlZicgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgbmFtZXNwYWNlIGFzc29jaWF0ZWQgVVJOJy8+CisgICAgICA8YXJnIG5hbWU9J3ByZWZpeCcgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgbmFtZXNwYWNlIHByZWZpeCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J25vZGVQb3AnIGZpbGU9J3BhcnNlckludGVybmFscycgbW9kdWxlPSdwYXJzZXInPgorICAgICAgPGluZm8+UG9wcyB0aGUgdG9wIGVsZW1lbnQgbm9kZSBmcm9tIHRoZSBub2RlIHN0YWNrPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSd0aGUgbm9kZSBqdXN0IHJlbW92ZWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sUGFyc2VyQ3R4dFB0cicgaW5mbz0nYW4gWE1MIHBhcnNlciBjb250ZXh0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0nbm9kZVB1c2gnIGZpbGU9J3BhcnNlckludGVybmFscycgbW9kdWxlPSdwYXJzZXInPgorICAgICAgPGluZm8+UHVzaGVzIGEgbmV3IGVsZW1lbnQgbm9kZSBvbiB0b3Agb2YgdGhlIG5vZGUgc3RhY2s8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nLTEgaW4gY2FzZSBvZiBlcnJvciwgdGhlIGluZGV4IGluIHRoZSBzdGFjayBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sUGFyc2VyQ3R4dFB0cicgaW5mbz0nYW4gWE1MIHBhcnNlciBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J3ZhbHVlJyB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSd0aGUgZWxlbWVudCBub2RlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0nbm90YXRpb25EZWNsJyBmaWxlPSdTQVgnIG1vZHVsZT0nbGVnYWN5Jz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0xFR0FDWV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPldoYXQgdG8gZG8gd2hlbiBhIG5vdGF0aW9uIGRlY2xhcmF0aW9uIGhhcyBiZWVuIHBhcnNlZC4gREVQUkVDQVRFRDogdXNlIHhtbFNBWDJOb3RhdGlvbkRlY2woKTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHgnIHR5cGU9J3ZvaWQgKicgaW5mbz0ndGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KScvPgorICAgICAgPGFyZyBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J1RoZSBuYW1lIG9mIHRoZSBub3RhdGlvbicvPgorICAgICAgPGFyZyBuYW1lPSdwdWJsaWNJZCcgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSdUaGUgcHVibGljIElEIG9mIHRoZSBlbnRpdHknLz4KKyAgICAgIDxhcmcgbmFtZT0nc3lzdGVtSWQnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nVGhlIHN5c3RlbSBJRCBvZiB0aGUgZW50aXR5Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3R5cGUgbmFtZT0nbm90YXRpb25EZWNsU0FYRnVuYycgZmlsZT0ncGFyc2VyJyBtb2R1bGU9J3BhcnNlcic+CisgICAgICA8aW5mbz5XaGF0IHRvIGRvIHdoZW4gYSBub3RhdGlvbiBkZWNsYXJhdGlvbiBoYXMgYmVlbiBwYXJzZWQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eCcgdHlwZT0ndm9pZCAqJyBpbmZvPSd0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpJy8+CisgICAgICA8YXJnIG5hbWU9J25hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nVGhlIG5hbWUgb2YgdGhlIG5vdGF0aW9uJy8+CisgICAgICA8YXJnIG5hbWU9J3B1YmxpY0lkJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J1RoZSBwdWJsaWMgSUQgb2YgdGhlIGVudGl0eScvPgorICAgICAgPGFyZyBuYW1lPSdzeXN0ZW1JZCcgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSdUaGUgc3lzdGVtIElEIG9mIHRoZSBlbnRpdHknLz4KKyAgICA8L2Z1bmN0eXBlPgorICAgIDxmdW5jdGlvbiBuYW1lPSdwcm9jZXNzaW5nSW5zdHJ1Y3Rpb24nIGZpbGU9J1NBWCcgbW9kdWxlPSdsZWdhY3knPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfTEVHQUNZX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+QSBwcm9jZXNzaW5nIGluc3RydWN0aW9uIGhhcyBiZWVuIHBhcnNlZC4gREVQUkVDQVRFRDogdXNlIHhtbFNBWDJQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24oKTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHgnIHR5cGU9J3ZvaWQgKicgaW5mbz0ndGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KScvPgorICAgICAgPGFyZyBuYW1lPSd0YXJnZXQnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIHRhcmdldCBuYW1lJy8+CisgICAgICA8YXJnIG5hbWU9J2RhdGEnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIFBJIGRhdGEmYXBvcztzJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3R5cGUgbmFtZT0ncHJvY2Vzc2luZ0luc3RydWN0aW9uU0FYRnVuYycgZmlsZT0ncGFyc2VyJyBtb2R1bGU9J3BhcnNlcic+CisgICAgICA8aW5mbz5BIHByb2Nlc3NpbmcgaW5zdHJ1Y3Rpb24gaGFzIGJlZW4gcGFyc2VkLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHgnIHR5cGU9J3ZvaWQgKicgaW5mbz0ndGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KScvPgorICAgICAgPGFyZyBuYW1lPSd0YXJnZXQnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIHRhcmdldCBuYW1lJy8+CisgICAgICA8YXJnIG5hbWU9J2RhdGEnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIFBJIGRhdGEmYXBvcztzJy8+CisgICAgPC9mdW5jdHlwZT4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ncmVmZXJlbmNlJyBmaWxlPSdTQVgnIG1vZHVsZT0nbGVnYWN5Jz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0xFR0FDWV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPmNhbGxlZCB3aGVuIGFuIGVudGl0eSByZWZlcmVuY2UgaXMgZGV0ZWN0ZWQuIERFUFJFQ0FURUQ6IHVzZSB4bWxTQVgyUmVmZXJlbmNlKCk8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4JyB0eXBlPSd2b2lkIConIGluZm89J3RoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCknLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFtZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSdUaGUgZW50aXR5IG5hbWUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdHlwZSBuYW1lPSdyZWZlcmVuY2VTQVhGdW5jJyBmaWxlPSdwYXJzZXInIG1vZHVsZT0ncGFyc2VyJz4KKyAgICAgIDxpbmZvPkNhbGxlZCB3aGVuIGFuIGVudGl0eSByZWZlcmVuY2UgaXMgZGV0ZWN0ZWQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eCcgdHlwZT0ndm9pZCAqJyBpbmZvPSd0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpJy8+CisgICAgICA8YXJnIG5hbWU9J25hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nVGhlIGVudGl0eSBuYW1lJy8+CisgICAgPC9mdW5jdHlwZT4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ncmVzb2x2ZUVudGl0eScgZmlsZT0nU0FYJyBtb2R1bGU9J2xlZ2FjeSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9MRUdBQ1lfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5UaGUgZW50aXR5IGxvYWRlciwgdG8gY29udHJvbCB0aGUgbG9hZGluZyBvZiBleHRlcm5hbCBlbnRpdGllcywgdGhlIGFwcGxpY2F0aW9uIGNhbiBlaXRoZXI6IC0gb3ZlcnJpZGUgdGhpcyByZXNvbHZlRW50aXR5KCkgY2FsbGJhY2sgaW4gdGhlIFNBWCBibG9jayAtIG9yIGJldHRlciB1c2UgdGhlIHhtbFNldEV4dGVybmFsRW50aXR5TG9hZGVyKCkgZnVuY3Rpb24gdG8gc2V0IHVwIGl0JmFwb3M7cyBvd24gZW50aXR5IHJlc29sdXRpb24gcm91dGluZSBERVBSRUNBVEVEOiB1c2UgeG1sU0FYMlJlc29sdmVFbnRpdHkoKTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sUGFyc2VySW5wdXRQdHInIGluZm89J3RoZSB4bWxQYXJzZXJJbnB1dFB0ciBpZiBpbmxpbmVkIG9yIE5VTEwgZm9yIERPTSBiZWhhdmlvdXIuJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eCcgdHlwZT0ndm9pZCAqJyBpbmZvPSd0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpJy8+CisgICAgICA8YXJnIG5hbWU9J3B1YmxpY0lkJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J1RoZSBwdWJsaWMgSUQgb2YgdGhlIGVudGl0eScvPgorICAgICAgPGFyZyBuYW1lPSdzeXN0ZW1JZCcgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSdUaGUgc3lzdGVtIElEIG9mIHRoZSBlbnRpdHknLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdHlwZSBuYW1lPSdyZXNvbHZlRW50aXR5U0FYRnVuYycgZmlsZT0ncGFyc2VyJyBtb2R1bGU9J3BhcnNlcic+CisgICAgICA8aW5mbz5DYWxsYmFjazogVGhlIGVudGl0eSBsb2FkZXIsIHRvIGNvbnRyb2wgdGhlIGxvYWRpbmcgb2YgZXh0ZXJuYWwgZW50aXRpZXMsIHRoZSBhcHBsaWNhdGlvbiBjYW4gZWl0aGVyOiAtIG92ZXJyaWRlIHRoaXMgcmVzb2x2ZUVudGl0eSgpIGNhbGxiYWNrIGluIHRoZSBTQVggYmxvY2sgLSBvciBiZXR0ZXIgdXNlIHRoZSB4bWxTZXRFeHRlcm5hbEVudGl0eUxvYWRlcigpIGZ1bmN0aW9uIHRvIHNldCB1cCBpdCZhcG9zO3Mgb3duIGVudGl0eSByZXNvbHV0aW9uIHJvdXRpbmU8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbFBhcnNlcklucHV0UHRyJyBpbmZvPSd0aGUgeG1sUGFyc2VySW5wdXRQdHIgaWYgaW5saW5lZCBvciBOVUxMIGZvciBET00gYmVoYXZpb3VyLicvPgorICAgICAgPGFyZyBuYW1lPSdjdHgnIHR5cGU9J3ZvaWQgKicgaW5mbz0ndGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KScvPgorICAgICAgPGFyZyBuYW1lPSdwdWJsaWNJZCcgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSdUaGUgcHVibGljIElEIG9mIHRoZSBlbnRpdHknLz4KKyAgICAgIDxhcmcgbmFtZT0nc3lzdGVtSWQnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nVGhlIHN5c3RlbSBJRCBvZiB0aGUgZW50aXR5Jy8+CisgICAgPC9mdW5jdHlwZT4KKyAgICA8ZnVuY3Rpb24gbmFtZT0nc2V0RG9jdW1lbnRMb2NhdG9yJyBmaWxlPSdTQVgnIG1vZHVsZT0nbGVnYWN5Jz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0xFR0FDWV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlJlY2VpdmUgdGhlIGRvY3VtZW50IGxvY2F0b3IgYXQgc3RhcnR1cCwgYWN0dWFsbHkgeG1sRGVmYXVsdFNBWExvY2F0b3IgRXZlcnl0aGluZyBpcyBhdmFpbGFibGUgb24gdGhlIGNvbnRleHQsIHNvIHRoaXMgaXMgdXNlbGVzcyBpbiBvdXIgY2FzZS4gREVQUkVDQVRFRDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHgnIHR5cGU9J3ZvaWQgKicgaW5mbz0ndGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KScvPgorICAgICAgPGFyZyBuYW1lPSdsb2MnIHR5cGU9J3htbFNBWExvY2F0b3JQdHInIGluZm89J0EgU0FYIExvY2F0b3InLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdHlwZSBuYW1lPSdzZXREb2N1bWVudExvY2F0b3JTQVhGdW5jJyBmaWxlPSdwYXJzZXInIG1vZHVsZT0ncGFyc2VyJz4KKyAgICAgIDxpbmZvPlJlY2VpdmUgdGhlIGRvY3VtZW50IGxvY2F0b3IgYXQgc3RhcnR1cCwgYWN0dWFsbHkgeG1sRGVmYXVsdFNBWExvY2F0b3IuIEV2ZXJ5dGhpbmcgaXMgYXZhaWxhYmxlIG9uIHRoZSBjb250ZXh0LCBzbyB0aGlzIGlzIHVzZWxlc3MgaW4gb3VyIGNhc2UuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eCcgdHlwZT0ndm9pZCAqJyBpbmZvPSd0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpJy8+CisgICAgICA8YXJnIG5hbWU9J2xvYycgdHlwZT0neG1sU0FYTG9jYXRvclB0cicgaW5mbz0nQSBTQVggTG9jYXRvcicvPgorICAgIDwvZnVuY3R5cGU+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3NldE5hbWVzcGFjZScgZmlsZT0nU0FYJyBtb2R1bGU9J2xlZ2FjeSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9MRUdBQ1lfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5TZXQgdGhlIGN1cnJlbnQgZWxlbWVudCBuYW1lc3BhY2UuIERFUFJFQ0FURUQ8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4JyB0eXBlPSd2b2lkIConIGluZm89J3RoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCknLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFtZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgbmFtZXNwYWNlIHByZWZpeCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3N0YXJ0RG9jdW1lbnQnIGZpbGU9J1NBWCcgbW9kdWxlPSdsZWdhY3knPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfTEVHQUNZX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Y2FsbGVkIHdoZW4gdGhlIGRvY3VtZW50IHN0YXJ0IGJlaW5nIHByb2Nlc3NlZC4gREVQUkVDQVRFRDogdXNlIHhtbFNBWDJTdGFydERvY3VtZW50KCk8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4JyB0eXBlPSd2b2lkIConIGluZm89J3RoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCknLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdHlwZSBuYW1lPSdzdGFydERvY3VtZW50U0FYRnVuYycgZmlsZT0ncGFyc2VyJyBtb2R1bGU9J3BhcnNlcic+CisgICAgICA8aW5mbz5DYWxsZWQgd2hlbiB0aGUgZG9jdW1lbnQgc3RhcnQgYmVpbmcgcHJvY2Vzc2VkLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHgnIHR5cGU9J3ZvaWQgKicgaW5mbz0ndGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KScvPgorICAgIDwvZnVuY3R5cGU+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3N0YXJ0RWxlbWVudCcgZmlsZT0nU0FYJyBtb2R1bGU9J2xlZ2FjeSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9MRUdBQ1lfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5jYWxsZWQgd2hlbiBhbiBvcGVuaW5nIHRhZyBoYXMgYmVlbiBwcm9jZXNzZWQuIERFUFJFQ0FURUQ6IHVzZSB4bWxTQVgyU3RhcnRFbGVtZW50KCk8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4JyB0eXBlPSd2b2lkIConIGluZm89J3RoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCknLz4KKyAgICAgIDxhcmcgbmFtZT0nZnVsbG5hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nVGhlIGVsZW1lbnQgbmFtZSwgaW5jbHVkaW5nIG5hbWVzcGFjZSBwcmVmaXgnLz4KKyAgICAgIDxhcmcgbmFtZT0nYXR0cycgdHlwZT0nY29uc3QgeG1sQ2hhciAqKicgaW5mbz0nQW4gYXJyYXkgb2YgbmFtZS92YWx1ZSBhdHRyaWJ1dGVzIHBhaXJzLCBOVUxMIHRlcm1pbmF0ZWQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdHlwZSBuYW1lPSdzdGFydEVsZW1lbnROc1NBWDJGdW5jJyBmaWxlPSdwYXJzZXInIG1vZHVsZT0ncGFyc2VyJz4KKyAgICAgIDxpbmZvPlNBWDIgY2FsbGJhY2sgd2hlbiBhbiBlbGVtZW50IHN0YXJ0IGhhcyBiZWVuIGRldGVjdGVkIGJ5IHRoZSBwYXJzZXIuIEl0IHByb3ZpZGVzIHRoZSBuYW1lc3BhY2UgaW5mb3JtYXRpb25zIGZvciB0aGUgZWxlbWVudCwgYXMgd2VsbCBhcyB0aGUgbmV3IG5hbWVzcGFjZSBkZWNsYXJhdGlvbnMgb24gdGhlIGVsZW1lbnQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eCcgdHlwZT0ndm9pZCAqJyBpbmZvPSd0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpJy8+CisgICAgICA8YXJnIG5hbWU9J2xvY2FsbmFtZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgbG9jYWwgbmFtZSBvZiB0aGUgZWxlbWVudCcvPgorICAgICAgPGFyZyBuYW1lPSdwcmVmaXgnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIGVsZW1lbnQgbmFtZXNwYWNlIHByZWZpeCBpZiBhdmFpbGFibGUnLz4KKyAgICAgIDxhcmcgbmFtZT0nVVJJJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBlbGVtZW50IG5hbWVzcGFjZSBuYW1lIGlmIGF2YWlsYWJsZScvPgorICAgICAgPGFyZyBuYW1lPSduYl9uYW1lc3BhY2VzJyB0eXBlPSdpbnQnIGluZm89J251bWJlciBvZiBuYW1lc3BhY2UgZGVmaW5pdGlvbnMgb24gdGhhdCBub2RlJy8+CisgICAgICA8YXJnIG5hbWU9J25hbWVzcGFjZXMnIHR5cGU9J2NvbnN0IHhtbENoYXIgKionIGluZm89J3BvaW50ZXIgdG8gdGhlIGFycmF5IG9mIHByZWZpeC9VUkkgcGFpcnMgbmFtZXNwYWNlIGRlZmluaXRpb25zJy8+CisgICAgICA8YXJnIG5hbWU9J25iX2F0dHJpYnV0ZXMnIHR5cGU9J2ludCcgaW5mbz0ndGhlIG51bWJlciBvZiBhdHRyaWJ1dGVzIG9uIHRoYXQgbm9kZScvPgorICAgICAgPGFyZyBuYW1lPSduYl9kZWZhdWx0ZWQnIHR5cGU9J2ludCcgaW5mbz0ndGhlIG51bWJlciBvZiBkZWZhdWx0ZWQgYXR0cmlidXRlcy4gVGhlIGRlZmF1bHRlZCBvbmVzIGFyZSBhdCB0aGUgZW5kIG9mIHRoZSBhcnJheScvPgorICAgICAgPGFyZyBuYW1lPSdhdHRyaWJ1dGVzJyB0eXBlPSdjb25zdCB4bWxDaGFyICoqJyBpbmZvPSdwb2ludGVyIHRvIHRoZSBhcnJheSBvZiAobG9jYWxuYW1lL3ByZWZpeC9VUkkvdmFsdWUvZW5kKSBhdHRyaWJ1dGUgdmFsdWVzLicvPgorICAgIDwvZnVuY3R5cGU+CisgICAgPGZ1bmN0eXBlIG5hbWU9J3N0YXJ0RWxlbWVudFNBWEZ1bmMnIGZpbGU9J3BhcnNlcicgbW9kdWxlPSdwYXJzZXInPgorICAgICAgPGluZm8+Q2FsbGVkIHdoZW4gYW4gb3BlbmluZyB0YWcgaGFzIGJlZW4gcHJvY2Vzc2VkLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHgnIHR5cGU9J3ZvaWQgKicgaW5mbz0ndGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KScvPgorICAgICAgPGFyZyBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J1RoZSBlbGVtZW50IG5hbWUsIGluY2x1ZGluZyBuYW1lc3BhY2UgcHJlZml4Jy8+CisgICAgICA8YXJnIG5hbWU9J2F0dHMnIHR5cGU9J2NvbnN0IHhtbENoYXIgKionIGluZm89J0FuIGFycmF5IG9mIG5hbWUvdmFsdWUgYXR0cmlidXRlcyBwYWlycywgTlVMTCB0ZXJtaW5hdGVkJy8+CisgICAgPC9mdW5jdHlwZT4KKyAgICA8ZnVuY3Rpb24gbmFtZT0ndW5wYXJzZWRFbnRpdHlEZWNsJyBmaWxlPSdTQVgnIG1vZHVsZT0nbGVnYWN5Jz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0xFR0FDWV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPldoYXQgdG8gZG8gd2hlbiBhbiB1bnBhcnNlZCBlbnRpdHkgZGVjbGFyYXRpb24gaXMgcGFyc2VkIERFUFJFQ0FURUQ6IHVzZSB4bWxTQVgyVW5wYXJzZWRFbnRpdHlEZWNsKCk8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4JyB0eXBlPSd2b2lkIConIGluZm89J3RoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCknLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFtZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSdUaGUgbmFtZSBvZiB0aGUgZW50aXR5Jy8+CisgICAgICA8YXJnIG5hbWU9J3B1YmxpY0lkJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J1RoZSBwdWJsaWMgSUQgb2YgdGhlIGVudGl0eScvPgorICAgICAgPGFyZyBuYW1lPSdzeXN0ZW1JZCcgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSdUaGUgc3lzdGVtIElEIG9mIHRoZSBlbnRpdHknLz4KKyAgICAgIDxhcmcgbmFtZT0nbm90YXRpb25OYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBuYW1lIG9mIHRoZSBub3RhdGlvbicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0eXBlIG5hbWU9J3VucGFyc2VkRW50aXR5RGVjbFNBWEZ1bmMnIGZpbGU9J3BhcnNlcicgbW9kdWxlPSdwYXJzZXInPgorICAgICAgPGluZm8+V2hhdCB0byBkbyB3aGVuIGFuIHVucGFyc2VkIGVudGl0eSBkZWNsYXJhdGlvbiBpcyBwYXJzZWQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eCcgdHlwZT0ndm9pZCAqJyBpbmZvPSd0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpJy8+CisgICAgICA8YXJnIG5hbWU9J25hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nVGhlIG5hbWUgb2YgdGhlIGVudGl0eScvPgorICAgICAgPGFyZyBuYW1lPSdwdWJsaWNJZCcgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSdUaGUgcHVibGljIElEIG9mIHRoZSBlbnRpdHknLz4KKyAgICAgIDxhcmcgbmFtZT0nc3lzdGVtSWQnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nVGhlIHN5c3RlbSBJRCBvZiB0aGUgZW50aXR5Jy8+CisgICAgICA8YXJnIG5hbWU9J25vdGF0aW9uTmFtZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgbmFtZSBvZiB0aGUgbm90YXRpb24nLz4KKyAgICA8L2Z1bmN0eXBlPgorICAgIDxmdW5jdGlvbiBuYW1lPSd2YWx1ZVBvcCcgZmlsZT0neHBhdGhJbnRlcm5hbHMnIG1vZHVsZT0neHBhdGgnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5Qb3BzIHRoZSB0b3AgWFBhdGggb2JqZWN0IGZyb20gdGhlIHZhbHVlIHN0YWNrPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxYUGF0aE9iamVjdFB0cicgaW5mbz0ndGhlIFhQYXRoIG9iamVjdCBqdXN0IHJlbW92ZWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyJyBpbmZvPSdhbiBYUGF0aCBldmFsdWF0aW9uIGNvbnRleHQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd2YWx1ZVB1c2gnIGZpbGU9J3hwYXRoSW50ZXJuYWxzJyBtb2R1bGU9J3hwYXRoJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+UHVzaGVzIGEgbmV3IFhQYXRoIG9iamVjdCBvbiB0b3Agb2YgdGhlIHZhbHVlIHN0YWNrPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J3RoZSBudW1iZXIgb2YgaXRlbXMgb24gdGhlIHZhbHVlIHN0YWNrJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cicgaW5mbz0nYW4gWFBhdGggZXZhbHVhdGlvbiBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J3ZhbHVlJyB0eXBlPSd4bWxYUGF0aE9iamVjdFB0cicgaW5mbz0ndGhlIFhQYXRoIG9iamVjdCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0eXBlIG5hbWU9J3dhcm5pbmdTQVhGdW5jJyBmaWxlPSdwYXJzZXInIG1vZHVsZT0ncGFyc2VyJz4KKyAgICAgIDxpbmZvPkRpc3BsYXkgYW5kIGZvcm1hdCBhIHdhcm5pbmcgbWVzc2FnZXMsIGNhbGxiYWNrLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHgnIHR5cGU9J3ZvaWQgKicgaW5mbz0nYW4gWE1MIHBhcnNlciBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J21zZycgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSd0aGUgbWVzc2FnZSB0byBkaXNwbGF5L3RyYW5zbWl0Jy8+CisgICAgICA8YXJnIG5hbWU9Jy4uLicgdHlwZT0nLi4uJyBpbmZvPSdleHRyYSBwYXJhbWV0ZXJzIGZvciB0aGUgbWVzc2FnZSBkaXNwbGF5Jy8+CisgICAgPC9mdW5jdHlwZT4KKyAgICA8ZnVuY3R5cGUgbmFtZT0neGxpbmtFeHRlbmRlZExpbmtGdW5rJyBmaWxlPSd4bGluaycgbW9kdWxlPSd4bGluayc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUFRSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+VGhpcyBpcyB0aGUgcHJvdG90eXBlIGZvciBhIGV4dGVuZGVkIGxpbmsgZGV0ZWN0aW9uIGNhbGxiYWNrLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHgnIHR5cGU9J3ZvaWQgKicgaW5mbz0ndXNlciBkYXRhIHBvaW50ZXInLz4KKyAgICAgIDxhcmcgbmFtZT0nbm9kZScgdHlwZT0neG1sTm9kZVB0cicgaW5mbz0ndGhlIG5vZGUgY2FycnlpbmcgdGhlIGxpbmsnLz4KKyAgICAgIDxhcmcgbmFtZT0nbmJMb2NhdG9ycycgdHlwZT0naW50JyBpbmZvPSd0aGUgbnVtYmVyIG9mIGxvY2F0b3JzIGRldGVjdGVkIG9uIHRoZSBsaW5rJy8+CisgICAgICA8YXJnIG5hbWU9J2hyZWZzJyB0eXBlPSdjb25zdCB4bGlua0hSZWYgKicgaW5mbz0ncG9pbnRlciB0byB0aGUgYXJyYXkgb2YgbG9jYXRvciBocmVmcycvPgorICAgICAgPGFyZyBuYW1lPSdyb2xlcycgdHlwZT0nY29uc3QgeGxpbmtSb2xlIConIGluZm89J3BvaW50ZXIgdG8gdGhlIGFycmF5IG9mIGxvY2F0b3Igcm9sZXMnLz4KKyAgICAgIDxhcmcgbmFtZT0nbmJBcmNzJyB0eXBlPSdpbnQnIGluZm89J3RoZSBudW1iZXIgb2YgYXJjcyBkZXRlY3RlZCBvbiB0aGUgbGluaycvPgorICAgICAgPGFyZyBuYW1lPSdmcm9tJyB0eXBlPSdjb25zdCB4bGlua1JvbGUgKicgaW5mbz0ncG9pbnRlciB0byB0aGUgYXJyYXkgb2Ygc291cmNlIHJvbGVzIGZvdW5kIG9uIHRoZSBhcmNzJy8+CisgICAgICA8YXJnIG5hbWU9J3RvJyB0eXBlPSdjb25zdCB4bGlua1JvbGUgKicgaW5mbz0ncG9pbnRlciB0byB0aGUgYXJyYXkgb2YgdGFyZ2V0IHJvbGVzIGZvdW5kIG9uIHRoZSBhcmNzJy8+CisgICAgICA8YXJnIG5hbWU9J3Nob3cnIHR5cGU9J3hsaW5rU2hvdyAqJyBpbmZvPSdhcnJheSBvZiB2YWx1ZXMgZm9yIHRoZSBzaG93IGF0dHJpYnV0ZXMgZm91bmQgb24gdGhlIGFyY3MnLz4KKyAgICAgIDxhcmcgbmFtZT0nYWN0dWF0ZScgdHlwZT0neGxpbmtBY3R1YXRlIConIGluZm89J2FycmF5IG9mIHZhbHVlcyBmb3IgdGhlIGFjdHVhdGUgYXR0cmlidXRlcyBmb3VuZCBvbiB0aGUgYXJjcycvPgorICAgICAgPGFyZyBuYW1lPSduYlRpdGxlcycgdHlwZT0naW50JyBpbmZvPSd0aGUgbnVtYmVyIG9mIHRpdGxlcyBkZXRlY3RlZCBvbiB0aGUgbGluaycvPgorICAgICAgPGFyZyBuYW1lPSd0aXRsZXMnIHR5cGU9J2NvbnN0IHhsaW5rVGl0bGUgKicgaW5mbz0nJy8+CisgICAgICA8YXJnIG5hbWU9J2xhbmdzJyB0eXBlPSdjb25zdCB4bWxDaGFyICoqJyBpbmZvPSdhcnJheSBvZiB4bWw6bGFuZyB2YWx1ZXMgZm9yIHRoZSB0aXRsZXMnLz4KKyAgICA8L2Z1bmN0eXBlPgorICAgIDxmdW5jdHlwZSBuYW1lPSd4bGlua0V4dGVuZGVkTGlua1NldEZ1bmsnIGZpbGU9J3hsaW5rJyBtb2R1bGU9J3hsaW5rJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1hQVFJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5UaGlzIGlzIHRoZSBwcm90b3R5cGUgZm9yIGEgZXh0ZW5kZWQgbGluayBzZXQgZGV0ZWN0aW9uIGNhbGxiYWNrLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHgnIHR5cGU9J3ZvaWQgKicgaW5mbz0ndXNlciBkYXRhIHBvaW50ZXInLz4KKyAgICAgIDxhcmcgbmFtZT0nbm9kZScgdHlwZT0neG1sTm9kZVB0cicgaW5mbz0ndGhlIG5vZGUgY2FycnlpbmcgdGhlIGxpbmsnLz4KKyAgICAgIDxhcmcgbmFtZT0nbmJMb2NhdG9ycycgdHlwZT0naW50JyBpbmZvPSd0aGUgbnVtYmVyIG9mIGxvY2F0b3JzIGRldGVjdGVkIG9uIHRoZSBsaW5rJy8+CisgICAgICA8YXJnIG5hbWU9J2hyZWZzJyB0eXBlPSdjb25zdCB4bGlua0hSZWYgKicgaW5mbz0ncG9pbnRlciB0byB0aGUgYXJyYXkgb2YgbG9jYXRvciBocmVmcycvPgorICAgICAgPGFyZyBuYW1lPSdyb2xlcycgdHlwZT0nY29uc3QgeGxpbmtSb2xlIConIGluZm89J3BvaW50ZXIgdG8gdGhlIGFycmF5IG9mIGxvY2F0b3Igcm9sZXMnLz4KKyAgICAgIDxhcmcgbmFtZT0nbmJUaXRsZXMnIHR5cGU9J2ludCcgaW5mbz0ndGhlIG51bWJlciBvZiB0aXRsZXMgZGV0ZWN0ZWQgb24gdGhlIGxpbmsnLz4KKyAgICAgIDxhcmcgbmFtZT0ndGl0bGVzJyB0eXBlPSdjb25zdCB4bGlua1RpdGxlIConIGluZm89JycvPgorICAgICAgPGFyZyBuYW1lPSdsYW5ncycgdHlwZT0nY29uc3QgeG1sQ2hhciAqKicgaW5mbz0nYXJyYXkgb2YgeG1sOmxhbmcgdmFsdWVzIGZvciB0aGUgdGl0bGVzJy8+CisgICAgPC9mdW5jdHlwZT4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neGxpbmtHZXREZWZhdWx0RGV0ZWN0JyBmaWxlPSd4bGluaycgbW9kdWxlPSd4bGluayc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUFRSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+R2V0IHRoZSBkZWZhdWx0IHhsaW5rIGRldGVjdGlvbiByb3V0aW5lPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bGlua05vZGVEZXRlY3RGdW5jJyBpbmZvPSd0aGUgY3VycmVudCBmdW5jdGlvbiBvciBOVUxMOycvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3hsaW5rR2V0RGVmYXVsdEhhbmRsZXInIGZpbGU9J3hsaW5rJyBtb2R1bGU9J3hsaW5rJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1hQVFJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5HZXQgdGhlIGRlZmF1bHQgeGxpbmsgaGFuZGxlci48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3hsaW5rSGFuZGxlclB0cicgaW5mbz0ndGhlIGN1cnJlbnQgeGxpbmtIYW5kbGVyUHRyIHZhbHVlLicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3hsaW5rSXNMaW5rJyBmaWxlPSd4bGluaycgbW9kdWxlPSd4bGluayc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUFRSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgd2hldGhlciB0aGUgZ2l2ZW4gbm9kZSBjYXJyaWVzIHRoZSBhdHRyaWJ1dGVzIG5lZWRlZCB0byBiZSBhIGxpbmsgZWxlbWVudCAob3IgaXMgb25lIG9mIHRoZSBsaW5raW5nIGVsZW1lbnRzIGlzc3VlZCBmcm9tIHRoZSAoWClIVE1MIER0RHMpLiBUaGlzIHJvdXRpbmUgZG9uJmFwb3M7dCB0cnkgdG8gZG8gZnVsbCBjaGVja2luZyBvZiB0aGUgbGluayB2YWxpZGl0eSBidXQgdHJpZXMgdG8gZGV0ZWN0IGFuZCByZXR1cm4gdGhlIGFwcHJvcHJpYXRlIGxpbmsgdHlwZS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3hsaW5rVHlwZScgaW5mbz0ndGhlIHhsaW5rVHlwZSBvZiB0aGUgbm9kZSAoWExJTktfVFlQRV9OT05FIGlmIHRoZXJlIGlzIG5vIGxpbmsgZGV0ZWN0ZWQuJy8+CisgICAgICA8YXJnIG5hbWU9J2RvYycgdHlwZT0neG1sRG9jUHRyJyBpbmZvPSd0aGUgZG9jdW1lbnQgY29udGFpbmluZyB0aGUgbm9kZScvPgorICAgICAgPGFyZyBuYW1lPSdub2RlJyB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSd0aGUgbm9kZSBwb2ludGVyIGl0c2VsZicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0eXBlIG5hbWU9J3hsaW5rTm9kZURldGVjdEZ1bmMnIGZpbGU9J3hsaW5rJyBtb2R1bGU9J3hsaW5rJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1hQVFJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5UaGlzIGlzIHRoZSBwcm90b3R5cGUgZm9yIHRoZSBsaW5rIGRldGVjdGlvbiByb3V0aW5lLiBJdCBjYWxscyB0aGUgZGVmYXVsdCBsaW5rIGRldGVjdGlvbiBjYWxsYmFja3MgdXBvbiBsaW5rIGRldGVjdGlvbi48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4JyB0eXBlPSd2b2lkIConIGluZm89J3VzZXIgZGF0YSBwb2ludGVyJy8+CisgICAgICA8YXJnIG5hbWU9J25vZGUnIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3RoZSBub2RlIHRvIGNoZWNrJy8+CisgICAgPC9mdW5jdHlwZT4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neGxpbmtTZXREZWZhdWx0RGV0ZWN0JyBmaWxlPSd4bGluaycgbW9kdWxlPSd4bGluayc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUFRSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+U2V0IHRoZSBkZWZhdWx0IHhsaW5rIGRldGVjdGlvbiByb3V0aW5lPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2Z1bmMnIHR5cGU9J3hsaW5rTm9kZURldGVjdEZ1bmMnIGluZm89J3BvaW50ZXIgdG8gdGhlIG5ldyBkZXRlY3Rpb24gcm91dGluZS4nLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bGlua1NldERlZmF1bHRIYW5kbGVyJyBmaWxlPSd4bGluaycgbW9kdWxlPSd4bGluayc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUFRSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+U2V0IHRoZSBkZWZhdWx0IHhsaW5rIGhhbmRsZXJzPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2hhbmRsZXInIHR5cGU9J3hsaW5rSGFuZGxlclB0cicgaW5mbz0ndGhlIG5ldyB2YWx1ZSBmb3IgdGhlIHhsaW5rIGhhbmRsZXIgYmxvY2snLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdHlwZSBuYW1lPSd4bGlua1NpbXBsZUxpbmtGdW5rJyBmaWxlPSd4bGluaycgbW9kdWxlPSd4bGluayc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUFRSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+VGhpcyBpcyB0aGUgcHJvdG90eXBlIGZvciBhIHNpbXBsZSBsaW5rIGRldGVjdGlvbiBjYWxsYmFjay48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4JyB0eXBlPSd2b2lkIConIGluZm89J3VzZXIgZGF0YSBwb2ludGVyJy8+CisgICAgICA8YXJnIG5hbWU9J25vZGUnIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3RoZSBub2RlIGNhcnJ5aW5nIHRoZSBsaW5rJy8+CisgICAgICA8YXJnIG5hbWU9J2hyZWYnIHR5cGU9J2NvbnN0IHhsaW5rSFJlZicgaW5mbz0ndGhlIHRhcmdldCBvZiB0aGUgbGluaycvPgorICAgICAgPGFyZyBuYW1lPSdyb2xlJyB0eXBlPSdjb25zdCB4bGlua1JvbGUnIGluZm89J3RoZSByb2xlIHN0cmluZycvPgorICAgICAgPGFyZyBuYW1lPSd0aXRsZScgdHlwZT0nY29uc3QgeGxpbmtUaXRsZScgaW5mbz0ndGhlIGxpbmsgdGl0bGUnLz4KKyAgICA8L2Z1bmN0eXBlPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxBQ2F0YWxvZ0FkZCcgZmlsZT0nY2F0YWxvZycgbW9kdWxlPSdjYXRhbG9nJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0NBVEFMT0dfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5BZGQgYW4gZW50cnkgaW4gdGhlIGNhdGFsb2csIGl0IG1heSBvdmVyd3JpdGUgZXhpc3RpbmcgYnV0IGRpZmZlcmVudCBlbnRyaWVzLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScwIGlmIHN1Y2Nlc3NmdWwsIC0xIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdjYXRhbCcgdHlwZT0neG1sQ2F0YWxvZ1B0cicgaW5mbz0nYSBDYXRhbG9nJy8+CisgICAgICA8YXJnIG5hbWU9J3R5cGUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIHR5cGUgb2YgcmVjb3JkIHRvIGFkZCB0byB0aGUgY2F0YWxvZycvPgorICAgICAgPGFyZyBuYW1lPSdvcmlnJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBzeXN0ZW0sIHB1YmxpYyBvciBwcmVmaXggdG8gbWF0Y2gnLz4KKyAgICAgIDxhcmcgbmFtZT0ncmVwbGFjZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgcmVwbGFjZW1lbnQgdmFsdWUgZm9yIHRoZSBtYXRjaCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEFDYXRhbG9nRHVtcCcgZmlsZT0nY2F0YWxvZycgbW9kdWxlPSdjYXRhbG9nJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0NBVEFMT0dfRU5BQkxFRCkgJmFtcDsmYW1wOyBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5EdW1wIHRoZSBnaXZlbiBjYXRhbG9nIHRvIHRoZSBnaXZlbiBmaWxlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjYXRhbCcgdHlwZT0neG1sQ2F0YWxvZ1B0cicgaW5mbz0nYSBDYXRhbG9nJy8+CisgICAgICA8YXJnIG5hbWU9J291dCcgdHlwZT0nRklMRSAqJyBpbmZvPSd0aGUgZmlsZS4nLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxBQ2F0YWxvZ1JlbW92ZScgZmlsZT0nY2F0YWxvZycgbW9kdWxlPSdjYXRhbG9nJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0NBVEFMT0dfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5SZW1vdmUgYW4gZW50cnkgZnJvbSB0aGUgY2F0YWxvZzwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgbnVtYmVyIG9mIGVudHJpZXMgcmVtb3ZlZCBpZiBzdWNjZXNzZnVsLCAtMSBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY2F0YWwnIHR5cGU9J3htbENhdGFsb2dQdHInIGluZm89J2EgQ2F0YWxvZycvPgorICAgICAgPGFyZyBuYW1lPSd2YWx1ZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgdmFsdWUgdG8gcmVtb3ZlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sQUNhdGFsb2dSZXNvbHZlJyBmaWxlPSdjYXRhbG9nJyBtb2R1bGU9J2NhdGFsb2cnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfQ0FUQUxPR19FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkRvIGEgY29tcGxldGUgcmVzb2x1dGlvbiBsb29rdXAgb2YgYW4gRXh0ZXJuYWwgSWRlbnRpZmllcjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sQ2hhciAqJyBpbmZvPSd0aGUgVVJJIG9mIHRoZSByZXNvdXJjZSBvciBOVUxMIGlmIG5vdCBmb3VuZCwgaXQgbXVzdCBiZSBmcmVlZCBieSB0aGUgY2FsbGVyLicvPgorICAgICAgPGFyZyBuYW1lPSdjYXRhbCcgdHlwZT0neG1sQ2F0YWxvZ1B0cicgaW5mbz0nYSBDYXRhbG9nJy8+CisgICAgICA8YXJnIG5hbWU9J3B1YklEJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBwdWJsaWMgSUQgc3RyaW5nJy8+CisgICAgICA8YXJnIG5hbWU9J3N5c0lEJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBzeXN0ZW0gSUQgc3RyaW5nJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sQUNhdGFsb2dSZXNvbHZlUHVibGljJyBmaWxlPSdjYXRhbG9nJyBtb2R1bGU9J2NhdGFsb2cnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfQ0FUQUxPR19FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlRyeSB0byBsb29rdXAgdGhlIGNhdGFsb2cgbG9jYWwgcmVmZXJlbmNlIGFzc29jaWF0ZWQgdG8gYSBwdWJsaWMgSUQgaW4gdGhhdCBjYXRhbG9nPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxDaGFyIConIGluZm89J3RoZSBsb2NhbCByZXNvdXJjZSBpZiBmb3VuZCBvciBOVUxMIG90aGVyd2lzZSwgdGhlIHZhbHVlIHJldHVybmVkIG11c3QgYmUgZnJlZWQgYnkgdGhlIGNhbGxlci4nLz4KKyAgICAgIDxhcmcgbmFtZT0nY2F0YWwnIHR5cGU9J3htbENhdGFsb2dQdHInIGluZm89J2EgQ2F0YWxvZycvPgorICAgICAgPGFyZyBuYW1lPSdwdWJJRCcgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgcHVibGljIElEIHN0cmluZycvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEFDYXRhbG9nUmVzb2x2ZVN5c3RlbScgZmlsZT0nY2F0YWxvZycgbW9kdWxlPSdjYXRhbG9nJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0NBVEFMT0dfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5UcnkgdG8gbG9va3VwIHRoZSBjYXRhbG9nIHJlc291cmNlIGZvciBhIHN5c3RlbSBJRDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sQ2hhciAqJyBpbmZvPSd0aGUgcmVzb3VyY2UgaWYgZm91bmQgb3IgTlVMTCBvdGhlcndpc2UsIHRoZSB2YWx1ZSByZXR1cm5lZCBtdXN0IGJlIGZyZWVkIGJ5IHRoZSBjYWxsZXIuJy8+CisgICAgICA8YXJnIG5hbWU9J2NhdGFsJyB0eXBlPSd4bWxDYXRhbG9nUHRyJyBpbmZvPSdhIENhdGFsb2cnLz4KKyAgICAgIDxhcmcgbmFtZT0nc3lzSUQnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIHN5c3RlbSBJRCBzdHJpbmcnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxBQ2F0YWxvZ1Jlc29sdmVVUkknIGZpbGU9J2NhdGFsb2cnIG1vZHVsZT0nY2F0YWxvZyc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9DQVRBTE9HX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+RG8gYSBjb21wbGV0ZSByZXNvbHV0aW9uIGxvb2t1cCBvZiBhbiBVUkk8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbENoYXIgKicgaW5mbz0ndGhlIFVSSSBvZiB0aGUgcmVzb3VyY2Ugb3IgTlVMTCBpZiBub3QgZm91bmQsIGl0IG11c3QgYmUgZnJlZWQgYnkgdGhlIGNhbGxlci4nLz4KKyAgICAgIDxhcmcgbmFtZT0nY2F0YWwnIHR5cGU9J3htbENhdGFsb2dQdHInIGluZm89J2EgQ2F0YWxvZycvPgorICAgICAgPGFyZyBuYW1lPSdVUkknIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIFVSSScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEFkZEF0dHJpYnV0ZURlY2wnIGZpbGU9J3ZhbGlkJyBtb2R1bGU9J3ZhbGlkJz4KKyAgICAgIDxpbmZvPlJlZ2lzdGVyIGEgbmV3IGF0dHJpYnV0ZSBkZWNsYXJhdGlvbiBOb3RlIHRoYXQgQHRyZWUgYmVjb21lcyB0aGUgb3duZXJzaGlwIG9mIHRoZSBEVEQ8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbEF0dHJpYnV0ZVB0cicgaW5mbz0nTlVMTCBpZiBub3QgbmV3LCBvdGhlcndpc2UgdGhlIGF0dHJpYnV0ZSBkZWNsJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFZhbGlkQ3R4dFB0cicgaW5mbz0ndGhlIHZhbGlkYXRpb24gY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdkdGQnIHR5cGU9J3htbER0ZFB0cicgaW5mbz0ncG9pbnRlciB0byB0aGUgRFREJy8+CisgICAgICA8YXJnIG5hbWU9J2VsZW0nIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIGVsZW1lbnQgbmFtZScvPgorICAgICAgPGFyZyBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBhdHRyaWJ1dGUgbmFtZScvPgorICAgICAgPGFyZyBuYW1lPSducycgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgYXR0cmlidXRlIG5hbWVzcGFjZSBwcmVmaXgnLz4KKyAgICAgIDxhcmcgbmFtZT0ndHlwZScgdHlwZT0neG1sQXR0cmlidXRlVHlwZScgaW5mbz0ndGhlIGF0dHJpYnV0ZSB0eXBlJy8+CisgICAgICA8YXJnIG5hbWU9J2RlZicgdHlwZT0neG1sQXR0cmlidXRlRGVmYXVsdCcgaW5mbz0ndGhlIGF0dHJpYnV0ZSBkZWZhdWx0IHR5cGUnLz4KKyAgICAgIDxhcmcgbmFtZT0nZGVmYXVsdFZhbHVlJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBhdHRyaWJ1dGUgZGVmYXVsdCB2YWx1ZScvPgorICAgICAgPGFyZyBuYW1lPSd0cmVlJyB0eXBlPSd4bWxFbnVtZXJhdGlvblB0cicgaW5mbz0naWYgaXQmYXBvcztzIGFuIGVudW1lcmF0aW9uLCB0aGUgYXNzb2NpYXRlZCBsaXN0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sQWRkQ2hpbGQnIGZpbGU9J3RyZWUnIG1vZHVsZT0ndHJlZSc+CisgICAgICA8aW5mbz5BZGQgYSBuZXcgbm9kZSB0byBAcGFyZW50LCBhdCB0aGUgZW5kIG9mIHRoZSBjaGlsZCAob3IgcHJvcGVydHkpIGxpc3QgbWVyZ2luZyBhZGphY2VudCBURVhUIG5vZGVzIChpbiB3aGljaCBjYXNlIEBjdXIgaXMgZnJlZWQpIElmIHRoZSBuZXcgbm9kZSBpcyBBVFRSSUJVVEUsIGl0IGlzIGFkZGVkIGludG8gcHJvcGVydGllcyBpbnN0ZWFkIG9mIGNoaWxkcmVuLiBJZiB0aGVyZSBpcyBhbiBhdHRyaWJ1dGUgd2l0aCBlcXVhbCBuYW1lLCBpdCBpcyBmaXJzdCBkZXN0cm95ZWQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSd0aGUgY2hpbGQgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLicvPgorICAgICAgPGFyZyBuYW1lPSdwYXJlbnQnIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3RoZSBwYXJlbnQgbm9kZScvPgorICAgICAgPGFyZyBuYW1lPSdjdXInIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3RoZSBjaGlsZCBub2RlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sQWRkQ2hpbGRMaXN0JyBmaWxlPSd0cmVlJyBtb2R1bGU9J3RyZWUnPgorICAgICAgPGluZm8+QWRkIGEgbGlzdCBvZiBub2RlIGF0IHRoZSBlbmQgb2YgdGhlIGNoaWxkIGxpc3Qgb2YgdGhlIHBhcmVudCBtZXJnaW5nIGFkamFjZW50IFRFWFQgbm9kZXMgKEBjdXIgbWF5IGJlIGZyZWVkKTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sTm9kZVB0cicgaW5mbz0ndGhlIGxhc3QgY2hpbGQgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLicvPgorICAgICAgPGFyZyBuYW1lPSdwYXJlbnQnIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3RoZSBwYXJlbnQgbm9kZScvPgorICAgICAgPGFyZyBuYW1lPSdjdXInIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3RoZSBmaXJzdCBub2RlIGluIHRoZSBsaXN0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sQWRkRG9jRW50aXR5JyBmaWxlPSdlbnRpdGllcycgbW9kdWxlPSdlbnRpdGllcyc+CisgICAgICA8aW5mbz5SZWdpc3RlciBhIG5ldyBlbnRpdHkgZm9yIHRoaXMgZG9jdW1lbnQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxFbnRpdHlQdHInIGluZm89J2EgcG9pbnRlciB0byB0aGUgZW50aXR5IG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSdkb2MnIHR5cGU9J3htbERvY1B0cicgaW5mbz0ndGhlIGRvY3VtZW50Jy8+CisgICAgICA8YXJnIG5hbWU9J25hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIGVudGl0eSBuYW1lJy8+CisgICAgICA8YXJnIG5hbWU9J3R5cGUnIHR5cGU9J2ludCcgaW5mbz0ndGhlIGVudGl0eSB0eXBlIFhNTF94eHhfeXl5X0VOVElUWScvPgorICAgICAgPGFyZyBuYW1lPSdFeHRlcm5hbElEJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBlbnRpdHkgZXh0ZXJuYWwgSUQgaWYgYXZhaWxhYmxlJy8+CisgICAgICA8YXJnIG5hbWU9J1N5c3RlbUlEJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBlbnRpdHkgc3lzdGVtIElEIGlmIGF2YWlsYWJsZScvPgorICAgICAgPGFyZyBuYW1lPSdjb250ZW50JyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBlbnRpdHkgY29udGVudCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEFkZER0ZEVudGl0eScgZmlsZT0nZW50aXRpZXMnIG1vZHVsZT0nZW50aXRpZXMnPgorICAgICAgPGluZm8+UmVnaXN0ZXIgYSBuZXcgZW50aXR5IGZvciB0aGlzIGRvY3VtZW50IERURCBleHRlcm5hbCBzdWJzZXQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxFbnRpdHlQdHInIGluZm89J2EgcG9pbnRlciB0byB0aGUgZW50aXR5IG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSdkb2MnIHR5cGU9J3htbERvY1B0cicgaW5mbz0ndGhlIGRvY3VtZW50Jy8+CisgICAgICA8YXJnIG5hbWU9J25hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIGVudGl0eSBuYW1lJy8+CisgICAgICA8YXJnIG5hbWU9J3R5cGUnIHR5cGU9J2ludCcgaW5mbz0ndGhlIGVudGl0eSB0eXBlIFhNTF94eHhfeXl5X0VOVElUWScvPgorICAgICAgPGFyZyBuYW1lPSdFeHRlcm5hbElEJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBlbnRpdHkgZXh0ZXJuYWwgSUQgaWYgYXZhaWxhYmxlJy8+CisgICAgICA8YXJnIG5hbWU9J1N5c3RlbUlEJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBlbnRpdHkgc3lzdGVtIElEIGlmIGF2YWlsYWJsZScvPgorICAgICAgPGFyZyBuYW1lPSdjb250ZW50JyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBlbnRpdHkgY29udGVudCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEFkZEVsZW1lbnREZWNsJyBmaWxlPSd2YWxpZCcgbW9kdWxlPSd2YWxpZCc+CisgICAgICA8aW5mbz5SZWdpc3RlciBhIG5ldyBlbGVtZW50IGRlY2xhcmF0aW9uPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxFbGVtZW50UHRyJyBpbmZvPSdOVUxMIGlmIG5vdCwgb3RoZXJ3aXNlIHRoZSBlbnRpdHknLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sVmFsaWRDdHh0UHRyJyBpbmZvPSd0aGUgdmFsaWRhdGlvbiBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J2R0ZCcgdHlwZT0neG1sRHRkUHRyJyBpbmZvPSdwb2ludGVyIHRvIHRoZSBEVEQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFtZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgZW50aXR5IG5hbWUnLz4KKyAgICAgIDxhcmcgbmFtZT0ndHlwZScgdHlwZT0neG1sRWxlbWVudFR5cGVWYWwnIGluZm89J3RoZSBlbGVtZW50IHR5cGUnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29udGVudCcgdHlwZT0neG1sRWxlbWVudENvbnRlbnRQdHInIGluZm89J3RoZSBlbGVtZW50IGNvbnRlbnQgdHJlZSBvciBOVUxMJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sQWRkRW5jb2RpbmdBbGlhcycgZmlsZT0nZW5jb2RpbmcnIG1vZHVsZT0nZW5jb2RpbmcnPgorICAgICAgPGluZm8+UmVnaXN0ZXJzIGFuIGFsaWFzIEBhbGlhcyBmb3IgYW4gZW5jb2RpbmcgbmFtZWQgQG5hbWUuIEV4aXN0aW5nIGFsaWFzIHdpbGwgYmUgb3ZlcndyaXR0ZW4uPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzAgaW4gY2FzZSBvZiBzdWNjZXNzLCAtMSBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J25hbWUnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIGVuY29kaW5nIG5hbWUgYXMgcGFyc2VkLCBpbiBVVEYtOCBmb3JtYXQgKEFTQ0lJIGFjdHVhbGx5KScvPgorICAgICAgPGFyZyBuYW1lPSdhbGlhcycgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSd0aGUgYWxpYXMgbmFtZSBhcyBwYXJzZWQsIGluIFVURi04IGZvcm1hdCAoQVNDSUkgYWN0dWFsbHkpJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sQWRkSUQnIGZpbGU9J3ZhbGlkJyBtb2R1bGU9J3ZhbGlkJz4KKyAgICAgIDxpbmZvPlJlZ2lzdGVyIGEgbmV3IGlkIGRlY2xhcmF0aW9uPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxJRFB0cicgaW5mbz0nTlVMTCBpZiBub3QsIG90aGVyd2lzZSB0aGUgbmV3IHhtbElEUHRyJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFZhbGlkQ3R4dFB0cicgaW5mbz0ndGhlIHZhbGlkYXRpb24gY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdkb2MnIHR5cGU9J3htbERvY1B0cicgaW5mbz0ncG9pbnRlciB0byB0aGUgZG9jdW1lbnQnLz4KKyAgICAgIDxhcmcgbmFtZT0ndmFsdWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIHZhbHVlIG5hbWUnLz4KKyAgICAgIDxhcmcgbmFtZT0nYXR0cicgdHlwZT0neG1sQXR0clB0cicgaW5mbz0ndGhlIGF0dHJpYnV0ZSBob2xkaW5nIHRoZSBJRCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEFkZE5leHRTaWJsaW5nJyBmaWxlPSd0cmVlJyBtb2R1bGU9J3RyZWUnPgorICAgICAgPGluZm8+QWRkIGEgbmV3IG5vZGUgQGVsZW0gYXMgdGhlIG5leHQgc2libGluZyBvZiBAY3VyIElmIHRoZSBuZXcgbm9kZSB3YXMgYWxyZWFkeSBpbnNlcnRlZCBpbiBhIGRvY3VtZW50IGl0IGlzIGZpcnN0IHVubGlua2VkIGZyb20gaXRzIGV4aXN0aW5nIGNvbnRleHQuIEFzIGEgcmVzdWx0IG9mIHRleHQgbWVyZ2luZyBAZWxlbSBtYXkgYmUgZnJlZWQuIElmIHRoZSBuZXcgbm9kZSBpcyBBVFRSSUJVVEUsIGl0IGlzIGFkZGVkIGludG8gcHJvcGVydGllcyBpbnN0ZWFkIG9mIGNoaWxkcmVuLiBJZiB0aGVyZSBpcyBhbiBhdHRyaWJ1dGUgd2l0aCBlcXVhbCBuYW1lLCBpdCBpcyBmaXJzdCBkZXN0cm95ZWQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSd0aGUgbmV3IG5vZGUgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLicvPgorICAgICAgPGFyZyBuYW1lPSdjdXInIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3RoZSBjaGlsZCBub2RlJy8+CisgICAgICA8YXJnIG5hbWU9J2VsZW0nIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3RoZSBuZXcgbm9kZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEFkZE5vdGF0aW9uRGVjbCcgZmlsZT0ndmFsaWQnIG1vZHVsZT0ndmFsaWQnPgorICAgICAgPGluZm8+UmVnaXN0ZXIgYSBuZXcgbm90YXRpb24gZGVjbGFyYXRpb248L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbE5vdGF0aW9uUHRyJyBpbmZvPSdOVUxMIGlmIG5vdCwgb3RoZXJ3aXNlIHRoZSBlbnRpdHknLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sVmFsaWRDdHh0UHRyJyBpbmZvPSd0aGUgdmFsaWRhdGlvbiBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J2R0ZCcgdHlwZT0neG1sRHRkUHRyJyBpbmZvPSdwb2ludGVyIHRvIHRoZSBEVEQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFtZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgZW50aXR5IG5hbWUnLz4KKyAgICAgIDxhcmcgbmFtZT0nUHVibGljSUQnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIHB1YmxpYyBpZGVudGlmaWVyIG9yIE5VTEwnLz4KKyAgICAgIDxhcmcgbmFtZT0nU3lzdGVtSUQnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIHN5c3RlbSBpZGVudGlmaWVyIG9yIE5VTEwnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxBZGRQcmV2U2libGluZycgZmlsZT0ndHJlZScgbW9kdWxlPSd0cmVlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX1hJTkNMVURFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+QWRkIGEgbmV3IG5vZGUgQGVsZW0gYXMgdGhlIHByZXZpb3VzIHNpYmxpbmcgb2YgQGN1ciBtZXJnaW5nIGFkamFjZW50IFRFWFQgbm9kZXMgKEBlbGVtIG1heSBiZSBmcmVlZCkgSWYgdGhlIG5ldyBub2RlIHdhcyBhbHJlYWR5IGluc2VydGVkIGluIGEgZG9jdW1lbnQgaXQgaXMgZmlyc3QgdW5saW5rZWQgZnJvbSBpdHMgZXhpc3RpbmcgY29udGV4dC4gSWYgdGhlIG5ldyBub2RlIGlzIEFUVFJJQlVURSwgaXQgaXMgYWRkZWQgaW50byBwcm9wZXJ0aWVzIGluc3RlYWQgb2YgY2hpbGRyZW4uIElmIHRoZXJlIGlzIGFuIGF0dHJpYnV0ZSB3aXRoIGVxdWFsIG5hbWUsIGl0IGlzIGZpcnN0IGRlc3Ryb3llZC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3RoZSBuZXcgbm9kZSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuJy8+CisgICAgICA8YXJnIG5hbWU9J2N1cicgdHlwZT0neG1sTm9kZVB0cicgaW5mbz0ndGhlIGNoaWxkIG5vZGUnLz4KKyAgICAgIDxhcmcgbmFtZT0nZWxlbScgdHlwZT0neG1sTm9kZVB0cicgaW5mbz0ndGhlIG5ldyBub2RlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sQWRkUmVmJyBmaWxlPSd2YWxpZCcgbW9kdWxlPSd2YWxpZCc+CisgICAgICA8aW5mbz5SZWdpc3RlciBhIG5ldyByZWYgZGVjbGFyYXRpb248L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbFJlZlB0cicgaW5mbz0nTlVMTCBpZiBub3QsIG90aGVyd2lzZSB0aGUgbmV3IHhtbFJlZlB0cicvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxWYWxpZEN0eHRQdHInIGluZm89J3RoZSB2YWxpZGF0aW9uIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZG9jJyB0eXBlPSd4bWxEb2NQdHInIGluZm89J3BvaW50ZXIgdG8gdGhlIGRvY3VtZW50Jy8+CisgICAgICA8YXJnIG5hbWU9J3ZhbHVlJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSB2YWx1ZSBuYW1lJy8+CisgICAgICA8YXJnIG5hbWU9J2F0dHInIHR5cGU9J3htbEF0dHJQdHInIGluZm89J3RoZSBhdHRyaWJ1dGUgaG9sZGluZyB0aGUgUmVmJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sQWRkU2libGluZycgZmlsZT0ndHJlZScgbW9kdWxlPSd0cmVlJz4KKyAgICAgIDxpbmZvPkFkZCBhIG5ldyBlbGVtZW50IEBlbGVtIHRvIHRoZSBsaXN0IG9mIHNpYmxpbmdzIG9mIEBjdXIgbWVyZ2luZyBhZGphY2VudCBURVhUIG5vZGVzIChAZWxlbSBtYXkgYmUgZnJlZWQpIElmIHRoZSBuZXcgZWxlbWVudCB3YXMgYWxyZWFkeSBpbnNlcnRlZCBpbiBhIGRvY3VtZW50IGl0IGlzIGZpcnN0IHVubGlua2VkIGZyb20gaXRzIGV4aXN0aW5nIGNvbnRleHQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSd0aGUgbmV3IGVsZW1lbnQgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLicvPgorICAgICAgPGFyZyBuYW1lPSdjdXInIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3RoZSBjaGlsZCBub2RlJy8+CisgICAgICA8YXJnIG5hbWU9J2VsZW0nIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3RoZSBuZXcgbm9kZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEFsbG9jT3V0cHV0QnVmZmVyJyBmaWxlPSd4bWxJTycgbW9kdWxlPSd4bWxJTyc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DcmVhdGUgYSBidWZmZXJlZCBwYXJzZXIgb3V0cHV0PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxPdXRwdXRCdWZmZXJQdHInIGluZm89J3RoZSBuZXcgcGFyc2VyIG91dHB1dCBvciBOVUxMJy8+CisgICAgICA8YXJnIG5hbWU9J2VuY29kZXInIHR5cGU9J3htbENoYXJFbmNvZGluZ0hhbmRsZXJQdHInIGluZm89J3RoZSBlbmNvZGluZyBjb252ZXJ0ZXIgb3IgTlVMTCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEFsbG9jUGFyc2VySW5wdXRCdWZmZXInIGZpbGU9J3htbElPJyBtb2R1bGU9J3htbElPJz4KKyAgICAgIDxpbmZvPkNyZWF0ZSBhIGJ1ZmZlcmVkIHBhcnNlciBpbnB1dCBmb3IgcHJvZ3Jlc3NpdmUgcGFyc2luZzwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sUGFyc2VySW5wdXRCdWZmZXJQdHInIGluZm89J3RoZSBuZXcgcGFyc2VyIGlucHV0IG9yIE5VTEwnLz4KKyAgICAgIDxhcmcgbmFtZT0nZW5jJyB0eXBlPSd4bWxDaGFyRW5jb2RpbmcnIGluZm89J3RoZSBjaGFyc2V0IGVuY29kaW5nIGlmIGtub3duJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sQXR0clNlcmlhbGl6ZVR4dENvbnRlbnQnIGZpbGU9J3RyZWUnIG1vZHVsZT0neG1sc2F2ZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5TZXJpYWxpemUgdGV4dCBhdHRyaWJ1dGUgdmFsdWVzIHRvIGFuIHhtbCBzaW1wbGUgYnVmZmVyPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2J1ZicgdHlwZT0neG1sQnVmZmVyUHRyJyBpbmZvPSd0aGUgWE1MIGJ1ZmZlciBvdXRwdXQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZG9jJyB0eXBlPSd4bWxEb2NQdHInIGluZm89J3RoZSBkb2N1bWVudCcvPgorICAgICAgPGFyZyBuYW1lPSdhdHRyJyB0eXBlPSd4bWxBdHRyUHRyJyBpbmZvPSd0aGUgYXR0cmlidXRlIG5vZGUnLz4KKyAgICAgIDxhcmcgbmFtZT0nc3RyaW5nJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSB0ZXh0IGNvbnRlbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxBdXRvbWF0YUNvbXBpbGUnIGZpbGU9J3htbGF1dG9tYXRhJyBtb2R1bGU9J3htbHJlZ2V4cCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9SRUdFWFBfRU5BQkxFRCkgJmFtcDsmYW1wOyBkZWZpbmVkKExJQlhNTF9BVVRPTUFUQV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNvbXBpbGUgdGhlIGF1dG9tYXRhIGludG8gYSBSZWcgRXhwIHJlYWR5IGZvciBiZWluZyBleGVjdXRlZC4gVGhlIGF1dG9tYXRhIHNob3VsZCBiZSBmcmVlIGFmdGVyIHRoaXMgcG9pbnQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxSZWdleHBQdHInIGluZm89J3RoZSBjb21waWxlZCByZWdleHAgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J2FtJyB0eXBlPSd4bWxBdXRvbWF0YVB0cicgaW5mbz0nYW4gYXV0b21hdGEnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxBdXRvbWF0YUdldEluaXRTdGF0ZScgZmlsZT0neG1sYXV0b21hdGEnIG1vZHVsZT0neG1scmVnZXhwJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1JFR0VYUF9FTkFCTEVEKSAmYW1wOyZhbXA7IGRlZmluZWQoTElCWE1MX0FVVE9NQVRBX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+SW5pdGlhbCBzdGF0ZSBsb29rdXA8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbEF1dG9tYXRhU3RhdGVQdHInIGluZm89J3RoZSBpbml0aWFsIHN0YXRlIG9mIHRoZSBhdXRvbWF0YScvPgorICAgICAgPGFyZyBuYW1lPSdhbScgdHlwZT0neG1sQXV0b21hdGFQdHInIGluZm89J2FuIGF1dG9tYXRhJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sQXV0b21hdGFJc0RldGVybWluaXN0JyBmaWxlPSd4bWxhdXRvbWF0YScgbW9kdWxlPSd4bWxyZWdleHAnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfUkVHRVhQX0VOQUJMRUQpICZhbXA7JmFtcDsgZGVmaW5lZChMSUJYTUxfQVVUT01BVEFfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DaGVja3MgaWYgYW4gYXV0b21hdGEgaXMgZGV0ZXJtaW5pc3QuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgdHJ1ZSwgMCBpZiBub3QsIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J2FtJyB0eXBlPSd4bWxBdXRvbWF0YVB0cicgaW5mbz0nYW4gYXV0b21hdGEnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxBdXRvbWF0YU5ld0FsbFRyYW5zJyBmaWxlPSd4bWxhdXRvbWF0YScgbW9kdWxlPSd4bWxyZWdleHAnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfUkVHRVhQX0VOQUJMRUQpICZhbXA7JmFtcDsgZGVmaW5lZChMSUJYTUxfQVVUT01BVEFfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5JZiBAdG8gaXMgTlVMTCwgdGhpcyBjcmVhdGVzIGZpcnN0IGEgbmV3IHRhcmdldCBzdGF0ZSBpbiB0aGUgYXV0b21hdGEgYW5kIHRoZW4gYWRkcyBhIGFuIEFMTCB0cmFuc2l0aW9uIGZyb20gdGhlIEBmcm9tIHN0YXRlIHRvIHRoZSB0YXJnZXQgc3RhdGUuIFRoYXQgdHJhbnNpdGlvbiBpcyBhbiBlcHNpbG9uIHRyYW5zaXRpb24gYWxsb3dlZCBvbmx5IHdoZW4gYWxsIHRyYW5zaXRpb25zIGZyb20gdGhlIEBmcm9tIG5vZGUgaGF2ZSBiZWVuIGFjdGl2YXRlZC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbEF1dG9tYXRhU3RhdGVQdHInIGluZm89J3RoZSB0YXJnZXQgc3RhdGUgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J2FtJyB0eXBlPSd4bWxBdXRvbWF0YVB0cicgaW5mbz0nYW4gYXV0b21hdGEnLz4KKyAgICAgIDxhcmcgbmFtZT0nZnJvbScgdHlwZT0neG1sQXV0b21hdGFTdGF0ZVB0cicgaW5mbz0ndGhlIHN0YXJ0aW5nIHBvaW50IG9mIHRoZSB0cmFuc2l0aW9uJy8+CisgICAgICA8YXJnIG5hbWU9J3RvJyB0eXBlPSd4bWxBdXRvbWF0YVN0YXRlUHRyJyBpbmZvPSd0aGUgdGFyZ2V0IHBvaW50IG9mIHRoZSB0cmFuc2l0aW9uIG9yIE5VTEwnLz4KKyAgICAgIDxhcmcgbmFtZT0nbGF4JyB0eXBlPSdpbnQnIGluZm89J2FsbG93IHRvIHRyYW5zaXRpb24gaWYgbm90IGFsbCBhbGwgdHJhbnNpdGlvbnMgaGF2ZSBiZWVuIGFjdGl2YXRlZCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEF1dG9tYXRhTmV3Q291bnRUcmFucycgZmlsZT0neG1sYXV0b21hdGEnIG1vZHVsZT0neG1scmVnZXhwJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1JFR0VYUF9FTkFCTEVEKSAmYW1wOyZhbXA7IGRlZmluZWQoTElCWE1MX0FVVE9NQVRBX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+SWYgQHRvIGlzIE5VTEwsIHRoaXMgY3JlYXRlcyBmaXJzdCBhIG5ldyB0YXJnZXQgc3RhdGUgaW4gdGhlIGF1dG9tYXRhIGFuZCB0aGVuIGFkZHMgYSB0cmFuc2l0aW9uIGZyb20gdGhlIEBmcm9tIHN0YXRlIHRvIHRoZSB0YXJnZXQgc3RhdGUgYWN0aXZhdGVkIGJ5IGEgc3VjY2Vzc2lvbiBvZiBpbnB1dCBvZiB2YWx1ZSBAdG9rZW4gYW5kIHdob3NlIG51bWJlciBpcyBiZXR3ZWVuIEBtaW4gYW5kIEBtYXg8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbEF1dG9tYXRhU3RhdGVQdHInIGluZm89J3RoZSB0YXJnZXQgc3RhdGUgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J2FtJyB0eXBlPSd4bWxBdXRvbWF0YVB0cicgaW5mbz0nYW4gYXV0b21hdGEnLz4KKyAgICAgIDxhcmcgbmFtZT0nZnJvbScgdHlwZT0neG1sQXV0b21hdGFTdGF0ZVB0cicgaW5mbz0ndGhlIHN0YXJ0aW5nIHBvaW50IG9mIHRoZSB0cmFuc2l0aW9uJy8+CisgICAgICA8YXJnIG5hbWU9J3RvJyB0eXBlPSd4bWxBdXRvbWF0YVN0YXRlUHRyJyBpbmZvPSd0aGUgdGFyZ2V0IHBvaW50IG9mIHRoZSB0cmFuc2l0aW9uIG9yIE5VTEwnLz4KKyAgICAgIDxhcmcgbmFtZT0ndG9rZW4nIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIGlucHV0IHN0cmluZyBhc3NvY2lhdGVkIHRvIHRoYXQgdHJhbnNpdGlvbicvPgorICAgICAgPGFyZyBuYW1lPSdtaW4nIHR5cGU9J2ludCcgaW5mbz0ndGhlIG1pbmltdW0gc3VjY2Vzc2l2ZSBvY2N1cmVuY2VzIG9mIHRva2VuJy8+CisgICAgICA8YXJnIG5hbWU9J21heCcgdHlwZT0naW50JyBpbmZvPSd0aGUgbWF4aW11bSBzdWNjZXNzaXZlIG9jY3VyZW5jZXMgb2YgdG9rZW4nLz4KKyAgICAgIDxhcmcgbmFtZT0nZGF0YScgdHlwZT0ndm9pZCAqJyBpbmZvPSdkYXRhIGFzc29jaWF0ZWQgdG8gdGhlIHRyYW5zaXRpb24nLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxBdXRvbWF0YU5ld0NvdW50VHJhbnMyJyBmaWxlPSd4bWxhdXRvbWF0YScgbW9kdWxlPSd4bWxyZWdleHAnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfUkVHRVhQX0VOQUJMRUQpICZhbXA7JmFtcDsgZGVmaW5lZChMSUJYTUxfQVVUT01BVEFfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5JZiBAdG8gaXMgTlVMTCwgdGhpcyBjcmVhdGVzIGZpcnN0IGEgbmV3IHRhcmdldCBzdGF0ZSBpbiB0aGUgYXV0b21hdGEgYW5kIHRoZW4gYWRkcyBhIHRyYW5zaXRpb24gZnJvbSB0aGUgQGZyb20gc3RhdGUgdG8gdGhlIHRhcmdldCBzdGF0ZSBhY3RpdmF0ZWQgYnkgYSBzdWNjZXNzaW9uIG9mIGlucHV0IG9mIHZhbHVlIEB0b2tlbiBhbmQgQHRva2VuMiBhbmQgd2hvc2UgbnVtYmVyIGlzIGJldHdlZW4gQG1pbiBhbmQgQG1heDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sQXV0b21hdGFTdGF0ZVB0cicgaW5mbz0ndGhlIHRhcmdldCBzdGF0ZSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0nYW0nIHR5cGU9J3htbEF1dG9tYXRhUHRyJyBpbmZvPSdhbiBhdXRvbWF0YScvPgorICAgICAgPGFyZyBuYW1lPSdmcm9tJyB0eXBlPSd4bWxBdXRvbWF0YVN0YXRlUHRyJyBpbmZvPSd0aGUgc3RhcnRpbmcgcG9pbnQgb2YgdGhlIHRyYW5zaXRpb24nLz4KKyAgICAgIDxhcmcgbmFtZT0ndG8nIHR5cGU9J3htbEF1dG9tYXRhU3RhdGVQdHInIGluZm89J3RoZSB0YXJnZXQgcG9pbnQgb2YgdGhlIHRyYW5zaXRpb24gb3IgTlVMTCcvPgorICAgICAgPGFyZyBuYW1lPSd0b2tlbicgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgaW5wdXQgc3RyaW5nIGFzc29jaWF0ZWQgdG8gdGhhdCB0cmFuc2l0aW9uJy8+CisgICAgICA8YXJnIG5hbWU9J3Rva2VuMicgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgc2Vjb25kIGlucHV0IHN0cmluZyBhc3NvY2lhdGVkIHRvIHRoYXQgdHJhbnNpdGlvbicvPgorICAgICAgPGFyZyBuYW1lPSdtaW4nIHR5cGU9J2ludCcgaW5mbz0ndGhlIG1pbmltdW0gc3VjY2Vzc2l2ZSBvY2N1cmVuY2VzIG9mIHRva2VuJy8+CisgICAgICA8YXJnIG5hbWU9J21heCcgdHlwZT0naW50JyBpbmZvPSd0aGUgbWF4aW11bSBzdWNjZXNzaXZlIG9jY3VyZW5jZXMgb2YgdG9rZW4nLz4KKyAgICAgIDxhcmcgbmFtZT0nZGF0YScgdHlwZT0ndm9pZCAqJyBpbmZvPSdkYXRhIGFzc29jaWF0ZWQgdG8gdGhlIHRyYW5zaXRpb24nLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxBdXRvbWF0YU5ld0NvdW50ZWRUcmFucycgZmlsZT0neG1sYXV0b21hdGEnIG1vZHVsZT0neG1scmVnZXhwJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1JFR0VYUF9FTkFCTEVEKSAmYW1wOyZhbXA7IGRlZmluZWQoTElCWE1MX0FVVE9NQVRBX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+SWYgQHRvIGlzIE5VTEwsIHRoaXMgY3JlYXRlcyBmaXJzdCBhIG5ldyB0YXJnZXQgc3RhdGUgaW4gdGhlIGF1dG9tYXRhIGFuZCB0aGVuIGFkZHMgYW4gZXBzaWxvbiB0cmFuc2l0aW9uIGZyb20gdGhlIEBmcm9tIHN0YXRlIHRvIHRoZSB0YXJnZXQgc3RhdGUgd2hpY2ggd2lsbCBpbmNyZW1lbnQgdGhlIGNvdW50ZXIgcHJvdmlkZWQ8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbEF1dG9tYXRhU3RhdGVQdHInIGluZm89J3RoZSB0YXJnZXQgc3RhdGUgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J2FtJyB0eXBlPSd4bWxBdXRvbWF0YVB0cicgaW5mbz0nYW4gYXV0b21hdGEnLz4KKyAgICAgIDxhcmcgbmFtZT0nZnJvbScgdHlwZT0neG1sQXV0b21hdGFTdGF0ZVB0cicgaW5mbz0ndGhlIHN0YXJ0aW5nIHBvaW50IG9mIHRoZSB0cmFuc2l0aW9uJy8+CisgICAgICA8YXJnIG5hbWU9J3RvJyB0eXBlPSd4bWxBdXRvbWF0YVN0YXRlUHRyJyBpbmZvPSd0aGUgdGFyZ2V0IHBvaW50IG9mIHRoZSB0cmFuc2l0aW9uIG9yIE5VTEwnLz4KKyAgICAgIDxhcmcgbmFtZT0nY291bnRlcicgdHlwZT0naW50JyBpbmZvPSd0aGUgY291bnRlciBhc3NvY2lhdGVkIHRvIHRoYXQgdHJhbnNpdGlvbicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEF1dG9tYXRhTmV3Q291bnRlcicgZmlsZT0neG1sYXV0b21hdGEnIG1vZHVsZT0neG1scmVnZXhwJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1JFR0VYUF9FTkFCTEVEKSAmYW1wOyZhbXA7IGRlZmluZWQoTElCWE1MX0FVVE9NQVRBX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q3JlYXRlIGEgbmV3IGNvdW50ZXI8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndGhlIGNvdW50ZXIgbnVtYmVyIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0nYW0nIHR5cGU9J3htbEF1dG9tYXRhUHRyJyBpbmZvPSdhbiBhdXRvbWF0YScvPgorICAgICAgPGFyZyBuYW1lPSdtaW4nIHR5cGU9J2ludCcgaW5mbz0ndGhlIG1pbmltYWwgdmFsdWUgb24gdGhlIGNvdW50ZXInLz4KKyAgICAgIDxhcmcgbmFtZT0nbWF4JyB0eXBlPSdpbnQnIGluZm89J3RoZSBtYXhpbWFsIHZhbHVlIG9uIHRoZSBjb3VudGVyJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sQXV0b21hdGFOZXdDb3VudGVyVHJhbnMnIGZpbGU9J3htbGF1dG9tYXRhJyBtb2R1bGU9J3htbHJlZ2V4cCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9SRUdFWFBfRU5BQkxFRCkgJmFtcDsmYW1wOyBkZWZpbmVkKExJQlhNTF9BVVRPTUFUQV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPklmIEB0byBpcyBOVUxMLCB0aGlzIGNyZWF0ZXMgZmlyc3QgYSBuZXcgdGFyZ2V0IHN0YXRlIGluIHRoZSBhdXRvbWF0YSBhbmQgdGhlbiBhZGRzIGFuIGVwc2lsb24gdHJhbnNpdGlvbiBmcm9tIHRoZSBAZnJvbSBzdGF0ZSB0byB0aGUgdGFyZ2V0IHN0YXRlIHdoaWNoIHdpbGwgYmUgYWxsb3dlZCBvbmx5IGlmIHRoZSBjb3VudGVyIGlzIHdpdGhpbiB0aGUgcmlnaHQgcmFuZ2UuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxBdXRvbWF0YVN0YXRlUHRyJyBpbmZvPSd0aGUgdGFyZ2V0IHN0YXRlIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSdhbScgdHlwZT0neG1sQXV0b21hdGFQdHInIGluZm89J2FuIGF1dG9tYXRhJy8+CisgICAgICA8YXJnIG5hbWU9J2Zyb20nIHR5cGU9J3htbEF1dG9tYXRhU3RhdGVQdHInIGluZm89J3RoZSBzdGFydGluZyBwb2ludCBvZiB0aGUgdHJhbnNpdGlvbicvPgorICAgICAgPGFyZyBuYW1lPSd0bycgdHlwZT0neG1sQXV0b21hdGFTdGF0ZVB0cicgaW5mbz0ndGhlIHRhcmdldCBwb2ludCBvZiB0aGUgdHJhbnNpdGlvbiBvciBOVUxMJy8+CisgICAgICA8YXJnIG5hbWU9J2NvdW50ZXInIHR5cGU9J2ludCcgaW5mbz0ndGhlIGNvdW50ZXIgYXNzb2NpYXRlZCB0byB0aGF0IHRyYW5zaXRpb24nLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxBdXRvbWF0YU5ld0Vwc2lsb24nIGZpbGU9J3htbGF1dG9tYXRhJyBtb2R1bGU9J3htbHJlZ2V4cCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9SRUdFWFBfRU5BQkxFRCkgJmFtcDsmYW1wOyBkZWZpbmVkKExJQlhNTF9BVVRPTUFUQV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPklmIEB0byBpcyBOVUxMLCB0aGlzIGNyZWF0ZXMgZmlyc3QgYSBuZXcgdGFyZ2V0IHN0YXRlIGluIHRoZSBhdXRvbWF0YSBhbmQgdGhlbiBhZGRzIGFuIGVwc2lsb24gdHJhbnNpdGlvbiBmcm9tIHRoZSBAZnJvbSBzdGF0ZSB0byB0aGUgdGFyZ2V0IHN0YXRlPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxBdXRvbWF0YVN0YXRlUHRyJyBpbmZvPSd0aGUgdGFyZ2V0IHN0YXRlIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSdhbScgdHlwZT0neG1sQXV0b21hdGFQdHInIGluZm89J2FuIGF1dG9tYXRhJy8+CisgICAgICA8YXJnIG5hbWU9J2Zyb20nIHR5cGU9J3htbEF1dG9tYXRhU3RhdGVQdHInIGluZm89J3RoZSBzdGFydGluZyBwb2ludCBvZiB0aGUgdHJhbnNpdGlvbicvPgorICAgICAgPGFyZyBuYW1lPSd0bycgdHlwZT0neG1sQXV0b21hdGFTdGF0ZVB0cicgaW5mbz0ndGhlIHRhcmdldCBwb2ludCBvZiB0aGUgdHJhbnNpdGlvbiBvciBOVUxMJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sQXV0b21hdGFOZXdOZWdUcmFucycgZmlsZT0neG1sYXV0b21hdGEnIG1vZHVsZT0neG1scmVnZXhwJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1JFR0VYUF9FTkFCTEVEKSAmYW1wOyZhbXA7IGRlZmluZWQoTElCWE1MX0FVVE9NQVRBX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+SWYgQHRvIGlzIE5VTEwsIHRoaXMgY3JlYXRlcyBmaXJzdCBhIG5ldyB0YXJnZXQgc3RhdGUgaW4gdGhlIGF1dG9tYXRhIGFuZCB0aGVuIGFkZHMgYSB0cmFuc2l0aW9uIGZyb20gdGhlIEBmcm9tIHN0YXRlIHRvIHRoZSB0YXJnZXQgc3RhdGUgYWN0aXZhdGVkIGJ5IGFueSB2YWx1ZSBleGNlcHQgKEB0b2tlbixAdG9rZW4yKSBOb3RlIHRoYXQgaWYgQHRva2VuMiBpcyBub3QgTlVMTCwgdGhlbiAoWCwgTlVMTCkgd29uJmFwb3M7dCBtYXRjaCB0byBmb2xsb3cgIyB0aGUgc2VtYW50aWMgb2YgWFNEICMjb3RoZXI8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbEF1dG9tYXRhU3RhdGVQdHInIGluZm89J3RoZSB0YXJnZXQgc3RhdGUgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J2FtJyB0eXBlPSd4bWxBdXRvbWF0YVB0cicgaW5mbz0nYW4gYXV0b21hdGEnLz4KKyAgICAgIDxhcmcgbmFtZT0nZnJvbScgdHlwZT0neG1sQXV0b21hdGFTdGF0ZVB0cicgaW5mbz0ndGhlIHN0YXJ0aW5nIHBvaW50IG9mIHRoZSB0cmFuc2l0aW9uJy8+CisgICAgICA8YXJnIG5hbWU9J3RvJyB0eXBlPSd4bWxBdXRvbWF0YVN0YXRlUHRyJyBpbmZvPSd0aGUgdGFyZ2V0IHBvaW50IG9mIHRoZSB0cmFuc2l0aW9uIG9yIE5VTEwnLz4KKyAgICAgIDxhcmcgbmFtZT0ndG9rZW4nIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIGZpcnN0IGlucHV0IHN0cmluZyBhc3NvY2lhdGVkIHRvIHRoYXQgdHJhbnNpdGlvbicvPgorICAgICAgPGFyZyBuYW1lPSd0b2tlbjInIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIHNlY29uZCBpbnB1dCBzdHJpbmcgYXNzb2NpYXRlZCB0byB0aGF0IHRyYW5zaXRpb24nLz4KKyAgICAgIDxhcmcgbmFtZT0nZGF0YScgdHlwZT0ndm9pZCAqJyBpbmZvPSdkYXRhIHBhc3NlZCB0byB0aGUgY2FsbGJhY2sgZnVuY3Rpb24gaWYgdGhlIHRyYW5zaXRpb24gaXMgYWN0aXZhdGVkJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sQXV0b21hdGFOZXdPbmNlVHJhbnMnIGZpbGU9J3htbGF1dG9tYXRhJyBtb2R1bGU9J3htbHJlZ2V4cCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9SRUdFWFBfRU5BQkxFRCkgJmFtcDsmYW1wOyBkZWZpbmVkKExJQlhNTF9BVVRPTUFUQV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPklmIEB0byBpcyBOVUxMLCB0aGlzIGNyZWF0ZXMgZmlyc3QgYSBuZXcgdGFyZ2V0IHN0YXRlIGluIHRoZSBhdXRvbWF0YSBhbmQgdGhlbiBhZGRzIGEgdHJhbnNpdGlvbiBmcm9tIHRoZSBAZnJvbSBzdGF0ZSB0byB0aGUgdGFyZ2V0IHN0YXRlIGFjdGl2YXRlZCBieSBhIHN1Y2Nlc3Npb24gb2YgaW5wdXQgb2YgdmFsdWUgQHRva2VuIGFuZCB3aG9zZSBudW1iZXIgaXMgYmV0d2VlbiBAbWluIGFuZCBAbWF4LCBtb3Jlb3ZlciB0aGF0IHRyYW5zaXRpb24gY2FuIG9ubHkgYmUgY3Jvc3NlZCBvbmNlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sQXV0b21hdGFTdGF0ZVB0cicgaW5mbz0ndGhlIHRhcmdldCBzdGF0ZSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0nYW0nIHR5cGU9J3htbEF1dG9tYXRhUHRyJyBpbmZvPSdhbiBhdXRvbWF0YScvPgorICAgICAgPGFyZyBuYW1lPSdmcm9tJyB0eXBlPSd4bWxBdXRvbWF0YVN0YXRlUHRyJyBpbmZvPSd0aGUgc3RhcnRpbmcgcG9pbnQgb2YgdGhlIHRyYW5zaXRpb24nLz4KKyAgICAgIDxhcmcgbmFtZT0ndG8nIHR5cGU9J3htbEF1dG9tYXRhU3RhdGVQdHInIGluZm89J3RoZSB0YXJnZXQgcG9pbnQgb2YgdGhlIHRyYW5zaXRpb24gb3IgTlVMTCcvPgorICAgICAgPGFyZyBuYW1lPSd0b2tlbicgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgaW5wdXQgc3RyaW5nIGFzc29jaWF0ZWQgdG8gdGhhdCB0cmFuc2l0aW9uJy8+CisgICAgICA8YXJnIG5hbWU9J21pbicgdHlwZT0naW50JyBpbmZvPSd0aGUgbWluaW11bSBzdWNjZXNzaXZlIG9jY3VyZW5jZXMgb2YgdG9rZW4nLz4KKyAgICAgIDxhcmcgbmFtZT0nbWF4JyB0eXBlPSdpbnQnIGluZm89J3RoZSBtYXhpbXVtIHN1Y2Nlc3NpdmUgb2NjdXJlbmNlcyBvZiB0b2tlbicvPgorICAgICAgPGFyZyBuYW1lPSdkYXRhJyB0eXBlPSd2b2lkIConIGluZm89J2RhdGEgYXNzb2NpYXRlZCB0byB0aGUgdHJhbnNpdGlvbicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEF1dG9tYXRhTmV3T25jZVRyYW5zMicgZmlsZT0neG1sYXV0b21hdGEnIG1vZHVsZT0neG1scmVnZXhwJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1JFR0VYUF9FTkFCTEVEKSAmYW1wOyZhbXA7IGRlZmluZWQoTElCWE1MX0FVVE9NQVRBX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+SWYgQHRvIGlzIE5VTEwsIHRoaXMgY3JlYXRlcyBmaXJzdCBhIG5ldyB0YXJnZXQgc3RhdGUgaW4gdGhlIGF1dG9tYXRhIGFuZCB0aGVuIGFkZHMgYSB0cmFuc2l0aW9uIGZyb20gdGhlIEBmcm9tIHN0YXRlIHRvIHRoZSB0YXJnZXQgc3RhdGUgYWN0aXZhdGVkIGJ5IGEgc3VjY2Vzc2lvbiBvZiBpbnB1dCBvZiB2YWx1ZSBAdG9rZW4gYW5kIEB0b2tlbjIgYW5kIHdob3NlIG51bWJlciBpcyBiZXR3ZWVuIEBtaW4gYW5kIEBtYXgsIG1vcmVvdmVyIHRoYXQgdHJhbnNpdGlvbiBjYW4gb25seSBiZSBjcm9zc2VkIG9uY2UuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxBdXRvbWF0YVN0YXRlUHRyJyBpbmZvPSd0aGUgdGFyZ2V0IHN0YXRlIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSdhbScgdHlwZT0neG1sQXV0b21hdGFQdHInIGluZm89J2FuIGF1dG9tYXRhJy8+CisgICAgICA8YXJnIG5hbWU9J2Zyb20nIHR5cGU9J3htbEF1dG9tYXRhU3RhdGVQdHInIGluZm89J3RoZSBzdGFydGluZyBwb2ludCBvZiB0aGUgdHJhbnNpdGlvbicvPgorICAgICAgPGFyZyBuYW1lPSd0bycgdHlwZT0neG1sQXV0b21hdGFTdGF0ZVB0cicgaW5mbz0ndGhlIHRhcmdldCBwb2ludCBvZiB0aGUgdHJhbnNpdGlvbiBvciBOVUxMJy8+CisgICAgICA8YXJnIG5hbWU9J3Rva2VuJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBpbnB1dCBzdHJpbmcgYXNzb2NpYXRlZCB0byB0aGF0IHRyYW5zaXRpb24nLz4KKyAgICAgIDxhcmcgbmFtZT0ndG9rZW4yJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBzZWNvbmQgaW5wdXQgc3RyaW5nIGFzc29jaWF0ZWQgdG8gdGhhdCB0cmFuc2l0aW9uJy8+CisgICAgICA8YXJnIG5hbWU9J21pbicgdHlwZT0naW50JyBpbmZvPSd0aGUgbWluaW11bSBzdWNjZXNzaXZlIG9jY3VyZW5jZXMgb2YgdG9rZW4nLz4KKyAgICAgIDxhcmcgbmFtZT0nbWF4JyB0eXBlPSdpbnQnIGluZm89J3RoZSBtYXhpbXVtIHN1Y2Nlc3NpdmUgb2NjdXJlbmNlcyBvZiB0b2tlbicvPgorICAgICAgPGFyZyBuYW1lPSdkYXRhJyB0eXBlPSd2b2lkIConIGluZm89J2RhdGEgYXNzb2NpYXRlZCB0byB0aGUgdHJhbnNpdGlvbicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEF1dG9tYXRhTmV3U3RhdGUnIGZpbGU9J3htbGF1dG9tYXRhJyBtb2R1bGU9J3htbHJlZ2V4cCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9SRUdFWFBfRU5BQkxFRCkgJmFtcDsmYW1wOyBkZWZpbmVkKExJQlhNTF9BVVRPTUFUQV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNyZWF0ZSBhIG5ldyBkaXNjb25uZWN0ZWQgc3RhdGUgaW4gdGhlIGF1dG9tYXRhPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxBdXRvbWF0YVN0YXRlUHRyJyBpbmZvPSd0aGUgbmV3IHN0YXRlIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSdhbScgdHlwZT0neG1sQXV0b21hdGFQdHInIGluZm89J2FuIGF1dG9tYXRhJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sQXV0b21hdGFOZXdUcmFuc2l0aW9uJyBmaWxlPSd4bWxhdXRvbWF0YScgbW9kdWxlPSd4bWxyZWdleHAnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfUkVHRVhQX0VOQUJMRUQpICZhbXA7JmFtcDsgZGVmaW5lZChMSUJYTUxfQVVUT01BVEFfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5JZiBAdG8gaXMgTlVMTCwgdGhpcyBjcmVhdGVzIGZpcnN0IGEgbmV3IHRhcmdldCBzdGF0ZSBpbiB0aGUgYXV0b21hdGEgYW5kIHRoZW4gYWRkcyBhIHRyYW5zaXRpb24gZnJvbSB0aGUgQGZyb20gc3RhdGUgdG8gdGhlIHRhcmdldCBzdGF0ZSBhY3RpdmF0ZWQgYnkgdGhlIHZhbHVlIG9mIEB0b2tlbjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sQXV0b21hdGFTdGF0ZVB0cicgaW5mbz0ndGhlIHRhcmdldCBzdGF0ZSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0nYW0nIHR5cGU9J3htbEF1dG9tYXRhUHRyJyBpbmZvPSdhbiBhdXRvbWF0YScvPgorICAgICAgPGFyZyBuYW1lPSdmcm9tJyB0eXBlPSd4bWxBdXRvbWF0YVN0YXRlUHRyJyBpbmZvPSd0aGUgc3RhcnRpbmcgcG9pbnQgb2YgdGhlIHRyYW5zaXRpb24nLz4KKyAgICAgIDxhcmcgbmFtZT0ndG8nIHR5cGU9J3htbEF1dG9tYXRhU3RhdGVQdHInIGluZm89J3RoZSB0YXJnZXQgcG9pbnQgb2YgdGhlIHRyYW5zaXRpb24gb3IgTlVMTCcvPgorICAgICAgPGFyZyBuYW1lPSd0b2tlbicgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgaW5wdXQgc3RyaW5nIGFzc29jaWF0ZWQgdG8gdGhhdCB0cmFuc2l0aW9uJy8+CisgICAgICA8YXJnIG5hbWU9J2RhdGEnIHR5cGU9J3ZvaWQgKicgaW5mbz0nZGF0YSBwYXNzZWQgdG8gdGhlIGNhbGxiYWNrIGZ1bmN0aW9uIGlmIHRoZSB0cmFuc2l0aW9uIGlzIGFjdGl2YXRlZCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEF1dG9tYXRhTmV3VHJhbnNpdGlvbjInIGZpbGU9J3htbGF1dG9tYXRhJyBtb2R1bGU9J3htbHJlZ2V4cCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9SRUdFWFBfRU5BQkxFRCkgJmFtcDsmYW1wOyBkZWZpbmVkKExJQlhNTF9BVVRPTUFUQV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPklmIEB0byBpcyBOVUxMLCB0aGlzIGNyZWF0ZXMgZmlyc3QgYSBuZXcgdGFyZ2V0IHN0YXRlIGluIHRoZSBhdXRvbWF0YSBhbmQgdGhlbiBhZGRzIGEgdHJhbnNpdGlvbiBmcm9tIHRoZSBAZnJvbSBzdGF0ZSB0byB0aGUgdGFyZ2V0IHN0YXRlIGFjdGl2YXRlZCBieSB0aGUgdmFsdWUgb2YgQHRva2VuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxBdXRvbWF0YVN0YXRlUHRyJyBpbmZvPSd0aGUgdGFyZ2V0IHN0YXRlIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSdhbScgdHlwZT0neG1sQXV0b21hdGFQdHInIGluZm89J2FuIGF1dG9tYXRhJy8+CisgICAgICA8YXJnIG5hbWU9J2Zyb20nIHR5cGU9J3htbEF1dG9tYXRhU3RhdGVQdHInIGluZm89J3RoZSBzdGFydGluZyBwb2ludCBvZiB0aGUgdHJhbnNpdGlvbicvPgorICAgICAgPGFyZyBuYW1lPSd0bycgdHlwZT0neG1sQXV0b21hdGFTdGF0ZVB0cicgaW5mbz0ndGhlIHRhcmdldCBwb2ludCBvZiB0aGUgdHJhbnNpdGlvbiBvciBOVUxMJy8+CisgICAgICA8YXJnIG5hbWU9J3Rva2VuJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBmaXJzdCBpbnB1dCBzdHJpbmcgYXNzb2NpYXRlZCB0byB0aGF0IHRyYW5zaXRpb24nLz4KKyAgICAgIDxhcmcgbmFtZT0ndG9rZW4yJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBzZWNvbmQgaW5wdXQgc3RyaW5nIGFzc29jaWF0ZWQgdG8gdGhhdCB0cmFuc2l0aW9uJy8+CisgICAgICA8YXJnIG5hbWU9J2RhdGEnIHR5cGU9J3ZvaWQgKicgaW5mbz0nZGF0YSBwYXNzZWQgdG8gdGhlIGNhbGxiYWNrIGZ1bmN0aW9uIGlmIHRoZSB0cmFuc2l0aW9uIGlzIGFjdGl2YXRlZCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEF1dG9tYXRhU2V0RmluYWxTdGF0ZScgZmlsZT0neG1sYXV0b21hdGEnIG1vZHVsZT0neG1scmVnZXhwJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1JFR0VYUF9FTkFCTEVEKSAmYW1wOyZhbXA7IGRlZmluZWQoTElCWE1MX0FVVE9NQVRBX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+TWFrZXMgdGhhdCBzdGF0ZSBhIGZpbmFsIHN0YXRlPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzAgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSdhbScgdHlwZT0neG1sQXV0b21hdGFQdHInIGluZm89J2FuIGF1dG9tYXRhJy8+CisgICAgICA8YXJnIG5hbWU9J3N0YXRlJyB0eXBlPSd4bWxBdXRvbWF0YVN0YXRlUHRyJyBpbmZvPSdhIHN0YXRlIGluIHRoaXMgYXV0b21hdGEnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxCb29sVG9UZXh0JyBmaWxlPSdkZWJ1Z1hNTCcgbW9kdWxlPSdkZWJ1Z1hNTCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9ERUJVR19FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNvbnZlbmllbnQgd2F5IHRvIHR1cm4gYm9vbCBpbnRvIHRleHQ8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0nYSBwb2ludGVyIHRvIGVpdGhlciAmcXVvdDtUcnVlJnF1b3Q7IG9yICZxdW90O0ZhbHNlJnF1b3Q7Jy8+CisgICAgICA8YXJnIG5hbWU9J2Jvb2x2YWwnIHR5cGU9J2ludCcgaW5mbz0nYSBib29sIHRvIHR1cm4gaW50byB0ZXh0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sQnVmQ29udGVudCcgZmlsZT0ndHJlZScgbW9kdWxlPSdidWYnPgorICAgICAgPGluZm8+RnVuY3Rpb24gdG8gZXh0cmFjdCB0aGUgY29udGVudCBvZiBhIGJ1ZmZlcjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sQ2hhciAqJyBpbmZvPSd0aGUgaW50ZXJuYWwgY29udGVudCcvPgorICAgICAgPGFyZyBuYW1lPSdidWYnIHR5cGU9J2NvbnN0IHhtbEJ1ZiAqJyBpbmZvPSd0aGUgYnVmZmVyJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sQnVmRW5kJyBmaWxlPSd0cmVlJyBtb2R1bGU9J2J1Zic+CisgICAgICA8aW5mbz5GdW5jdGlvbiB0byBleHRyYWN0IHRoZSBlbmQgb2YgdGhlIGNvbnRlbnQgb2YgYSBidWZmZXI8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbENoYXIgKicgaW5mbz0ndGhlIGVuZCBvZiB0aGUgaW50ZXJuYWwgY29udGVudCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0nYnVmJyB0eXBlPSd4bWxCdWZQdHInIGluZm89J3RoZSBidWZmZXInLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxCdWZHZXROb2RlQ29udGVudCcgZmlsZT0ndHJlZScgbW9kdWxlPSd0cmVlJz4KKyAgICAgIDxpbmZvPlJlYWQgdGhlIHZhbHVlIG9mIGEgbm9kZSBAY3VyLCB0aGlzIGNhbiBiZSBlaXRoZXIgdGhlIHRleHQgY2FycmllZCBkaXJlY3RseSBieSB0aGlzIG5vZGUgaWYgaXQmYXBvcztzIGEgVEVYVCBub2RlIG9yIHRoZSBhZ2dyZWdhdGUgc3RyaW5nIG9mIHRoZSB2YWx1ZXMgY2FycmllZCBieSB0aGlzIG5vZGUgY2hpbGQmYXBvcztzIChURVhUIGFuZCBFTlRJVFlfUkVGKS4gRW50aXR5IHJlZmVyZW5jZXMgYXJlIHN1YnN0aXR1dGVkLiBGaWxscyB1cCB0aGUgYnVmZmVyIEBidWYgd2l0aCB0aGlzIHZhbHVlPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzAgaW4gY2FzZSBvZiBzdWNjZXNzIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yLicvPgorICAgICAgPGFyZyBuYW1lPSdidWYnIHR5cGU9J3htbEJ1ZlB0cicgaW5mbz0nYSBidWZmZXIgeG1sQnVmUHRyJy8+CisgICAgICA8YXJnIG5hbWU9J2N1cicgdHlwZT0nY29uc3QgeG1sTm9kZSAqJyBpbmZvPSd0aGUgbm9kZSBiZWluZyByZWFkJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sQnVmTm9kZUR1bXAnIGZpbGU9J3RyZWUnIG1vZHVsZT0neG1sc2F2ZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5EdW1wIGFuIFhNTCBub2RlLCByZWN1cnNpdmUgYmVoYXZpb3VyLGNoaWxkcmVuIGFyZSBwcmludGVkIHRvby4gTm90ZSB0aGF0IEBmb3JtYXQgPSAxIHByb3ZpZGUgbm9kZSBpbmRlbnRpbmcgb25seSBpZiB4bWxJbmRlbnRUcmVlT3V0cHV0ID0gMSBvciB4bWxLZWVwQmxhbmtzRGVmYXVsdCgwKSB3YXMgY2FsbGVkPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdzaXplX3QnIGluZm89J3RoZSBudW1iZXIgb2YgYnl0ZXMgd3JpdHRlbiB0byB0aGUgYnVmZmVyLCBpbiBjYXNlIG9mIGVycm9yIDAgaXMgcmV0dXJuZWQgb3IgQGJ1ZiBzdG9yZXMgdGhlIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J2J1ZicgdHlwZT0neG1sQnVmUHRyJyBpbmZvPSd0aGUgWE1MIGJ1ZmZlciBvdXRwdXQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZG9jJyB0eXBlPSd4bWxEb2NQdHInIGluZm89J3RoZSBkb2N1bWVudCcvPgorICAgICAgPGFyZyBuYW1lPSdjdXInIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3RoZSBjdXJyZW50IG5vZGUnLz4KKyAgICAgIDxhcmcgbmFtZT0nbGV2ZWwnIHR5cGU9J2ludCcgaW5mbz0ndGhlIGltYnJpY2F0aW9uIGxldmVsIGZvciBpbmRlbnRpbmcnLz4KKyAgICAgIDxhcmcgbmFtZT0nZm9ybWF0JyB0eXBlPSdpbnQnIGluZm89J2lzIGZvcm1hdHRpbmcgYWxsb3dlZCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEJ1ZlNocmluaycgZmlsZT0ndHJlZScgbW9kdWxlPSdidWYnPgorICAgICAgPGluZm8+UmVtb3ZlIHRoZSBiZWdpbm5pbmcgb2YgYW4gWE1MIGJ1ZmZlci4gTk9URSB0aGF0IHRoaXMgcm91dGluZSBiZWhhdmlvdXIgZGlmZmVycyBmcm9tIHhtbEJ1ZmZlclNocmluaygpIGFzIGl0IHdpbGwgcmV0dXJuIDAgb24gZXJyb3IgaW5zdGVhZCBvZiAtMSBkdWUgdG8gc2l6ZV90IGJlaW5nIHVzZWQgYXMgdGhlIHJldHVybiB0eXBlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0nc2l6ZV90JyBpbmZvPSd0aGUgbnVtYmVyIG9mIGJ5dGUgcmVtb3ZlZCBvciAwIGluIGNhc2Ugb2YgZmFpbHVyZScvPgorICAgICAgPGFyZyBuYW1lPSdidWYnIHR5cGU9J3htbEJ1ZlB0cicgaW5mbz0ndGhlIGJ1ZmZlciB0byBkdW1wJy8+CisgICAgICA8YXJnIG5hbWU9J2xlbicgdHlwZT0nc2l6ZV90JyBpbmZvPSd0aGUgbnVtYmVyIG9mIHhtbENoYXIgdG8gcmVtb3ZlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sQnVmVXNlJyBmaWxlPSd0cmVlJyBtb2R1bGU9J2J1Zic+CisgICAgICA8aW5mbz5GdW5jdGlvbiB0byBnZXQgdGhlIGxlbmd0aCBvZiBhIGJ1ZmZlcjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0nc2l6ZV90JyBpbmZvPSd0aGUgbGVuZ3RoIG9mIGRhdGEgaW4gdGhlIGludGVybmFsIGNvbnRlbnQnLz4KKyAgICAgIDxhcmcgbmFtZT0nYnVmJyB0eXBlPSdjb25zdCB4bWxCdWZQdHInIGluZm89J3RoZSBidWZmZXInLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxCdWZmZXJBZGQnIGZpbGU9J3RyZWUnIG1vZHVsZT0ndHJlZSc+CisgICAgICA8aW5mbz5BZGQgYSBzdHJpbmcgcmFuZ2UgdG8gYW4gWE1MIGJ1ZmZlci4gaWYgbGVuID09IC0xLCB0aGUgbGVuZ3RoIG9mIHN0ciBpcyByZWNvbXB1dGVkLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScwIHN1Y2Nlc3NmdWwsIGEgcG9zaXRpdmUgZXJyb3IgY29kZSBudW1iZXIgb3RoZXJ3aXNlIGFuZCAtMSBpbiBjYXNlIG9mIGludGVybmFsIG9yIEFQSSBlcnJvci4nLz4KKyAgICAgIDxhcmcgbmFtZT0nYnVmJyB0eXBlPSd4bWxCdWZmZXJQdHInIGluZm89J3RoZSBidWZmZXIgdG8gZHVtcCcvPgorICAgICAgPGFyZyBuYW1lPSdzdHInIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlICN4bWxDaGFyIHN0cmluZycvPgorICAgICAgPGFyZyBuYW1lPSdsZW4nIHR5cGU9J2ludCcgaW5mbz0ndGhlIG51bWJlciBvZiAjeG1sQ2hhciB0byBhZGQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxCdWZmZXJBZGRIZWFkJyBmaWxlPSd0cmVlJyBtb2R1bGU9J3RyZWUnPgorICAgICAgPGluZm8+QWRkIGEgc3RyaW5nIHJhbmdlIHRvIHRoZSBiZWdpbm5pbmcgb2YgYW4gWE1MIGJ1ZmZlci4gaWYgbGVuID09IC0xLCB0aGUgbGVuZ3RoIG9mIEBzdHIgaXMgcmVjb21wdXRlZC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMCBzdWNjZXNzZnVsLCBhIHBvc2l0aXZlIGVycm9yIGNvZGUgbnVtYmVyIG90aGVyd2lzZSBhbmQgLTEgaW4gY2FzZSBvZiBpbnRlcm5hbCBvciBBUEkgZXJyb3IuJy8+CisgICAgICA8YXJnIG5hbWU9J2J1ZicgdHlwZT0neG1sQnVmZmVyUHRyJyBpbmZvPSd0aGUgYnVmZmVyJy8+CisgICAgICA8YXJnIG5hbWU9J3N0cicgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgI3htbENoYXIgc3RyaW5nJy8+CisgICAgICA8YXJnIG5hbWU9J2xlbicgdHlwZT0naW50JyBpbmZvPSd0aGUgbnVtYmVyIG9mICN4bWxDaGFyIHRvIGFkZCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEJ1ZmZlckNDYXQnIGZpbGU9J3RyZWUnIG1vZHVsZT0ndHJlZSc+CisgICAgICA8aW5mbz5BcHBlbmQgYSB6ZXJvIHRlcm1pbmF0ZWQgQyBzdHJpbmcgdG8gYW4gWE1MIGJ1ZmZlci48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMCBzdWNjZXNzZnVsLCBhIHBvc2l0aXZlIGVycm9yIGNvZGUgbnVtYmVyIG90aGVyd2lzZSBhbmQgLTEgaW4gY2FzZSBvZiBpbnRlcm5hbCBvciBBUEkgZXJyb3IuJy8+CisgICAgICA8YXJnIG5hbWU9J2J1ZicgdHlwZT0neG1sQnVmZmVyUHRyJyBpbmZvPSd0aGUgYnVmZmVyIHRvIGR1bXAnLz4KKyAgICAgIDxhcmcgbmFtZT0nc3RyJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBDIGNoYXIgc3RyaW5nJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sQnVmZmVyQ2F0JyBmaWxlPSd0cmVlJyBtb2R1bGU9J3RyZWUnPgorICAgICAgPGluZm8+QXBwZW5kIGEgemVybyB0ZXJtaW5hdGVkIHN0cmluZyB0byBhbiBYTUwgYnVmZmVyLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScwIHN1Y2Nlc3NmdWwsIGEgcG9zaXRpdmUgZXJyb3IgY29kZSBudW1iZXIgb3RoZXJ3aXNlIGFuZCAtMSBpbiBjYXNlIG9mIGludGVybmFsIG9yIEFQSSBlcnJvci4nLz4KKyAgICAgIDxhcmcgbmFtZT0nYnVmJyB0eXBlPSd4bWxCdWZmZXJQdHInIGluZm89J3RoZSBidWZmZXIgdG8gYWRkIHRvJy8+CisgICAgICA8YXJnIG5hbWU9J3N0cicgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgI3htbENoYXIgc3RyaW5nJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sQnVmZmVyQ29udGVudCcgZmlsZT0ndHJlZScgbW9kdWxlPSd0cmVlJz4KKyAgICAgIDxpbmZvPkZ1bmN0aW9uIHRvIGV4dHJhY3QgdGhlIGNvbnRlbnQgb2YgYSBidWZmZXI8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIGludGVybmFsIGNvbnRlbnQnLz4KKyAgICAgIDxhcmcgbmFtZT0nYnVmJyB0eXBlPSdjb25zdCB4bWxCdWZmZXIgKicgaW5mbz0ndGhlIGJ1ZmZlcicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEJ1ZmZlckNyZWF0ZScgZmlsZT0ndHJlZScgbW9kdWxlPSd0cmVlJz4KKyAgICAgIDxpbmZvPnJvdXRpbmUgdG8gY3JlYXRlIGFuIFhNTCBidWZmZXIuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxCdWZmZXJQdHInIGluZm89J3RoZSBuZXcgc3RydWN0dXJlLicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEJ1ZmZlckNyZWF0ZVNpemUnIGZpbGU9J3RyZWUnIG1vZHVsZT0ndHJlZSc+CisgICAgICA8aW5mbz5yb3V0aW5lIHRvIGNyZWF0ZSBhbiBYTUwgYnVmZmVyLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sQnVmZmVyUHRyJyBpbmZvPSd0aGUgbmV3IHN0cnVjdHVyZS4nLz4KKyAgICAgIDxhcmcgbmFtZT0nc2l6ZScgdHlwZT0nc2l6ZV90JyBpbmZvPSdpbml0aWFsIHNpemUgb2YgYnVmZmVyJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sQnVmZmVyQ3JlYXRlU3RhdGljJyBmaWxlPSd0cmVlJyBtb2R1bGU9J3RyZWUnPgorICAgICAgPGluZm8+cm91dGluZSB0byBjcmVhdGUgYW4gWE1MIGJ1ZmZlciBmcm9tIGFuIGltbXV0YWJsZSBtZW1vcnkgYXJlYS4gVGhlIGFyZWEgd29uJmFwb3M7dCBiZSBtb2RpZmllZCBub3IgY29waWVkLCBhbmQgaXMgZXhwZWN0ZWQgdG8gYmUgcHJlc2VudCB1bnRpbCB0aGUgZW5kIG9mIHRoZSBidWZmZXIgbGlmZXRpbWUuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxCdWZmZXJQdHInIGluZm89J3RoZSBuZXcgc3RydWN0dXJlLicvPgorICAgICAgPGFyZyBuYW1lPSdtZW0nIHR5cGU9J3ZvaWQgKicgaW5mbz0ndGhlIG1lbW9yeSBhcmVhJy8+CisgICAgICA8YXJnIG5hbWU9J3NpemUnIHR5cGU9J3NpemVfdCcgaW5mbz0ndGhlIHNpemUgaW4gYnl0ZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEJ1ZmZlckRldGFjaCcgZmlsZT0ndHJlZScgbW9kdWxlPSd0cmVlJz4KKyAgICAgIDxpbmZvPlJlbW92ZSB0aGUgc3RyaW5nIGNvbnRhaW5lZCBpbiBhIGJ1ZmZlciBhbmQgZ2llIGl0IGJhY2sgdG8gdGhlIGNhbGxlci4gVGhlIGJ1ZmZlciBpcyByZXNldCB0byBhbiBlbXB0eSBjb250ZW50LiBUaGlzIGRvZXNuJmFwb3M7dCB3b3JrIHdpdGggaW1tdXRhYmxlIGJ1ZmZlcnMgYXMgdGhleSBjYW4mYXBvczt0IGJlIHJlc2V0LjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sQ2hhciAqJyBpbmZvPSd0aGUgcHJldmlvdXMgc3RyaW5nIGNvbnRhaW5lZCBieSB0aGUgYnVmZmVyLicvPgorICAgICAgPGFyZyBuYW1lPSdidWYnIHR5cGU9J3htbEJ1ZmZlclB0cicgaW5mbz0ndGhlIGJ1ZmZlcicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEJ1ZmZlckR1bXAnIGZpbGU9J3RyZWUnIG1vZHVsZT0ndHJlZSc+CisgICAgICA8aW5mbz5EdW1wcyBhbiBYTUwgYnVmZmVyIHRvICBhIEZJTEUgKi48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndGhlIG51bWJlciBvZiAjeG1sQ2hhciB3cml0dGVuJy8+CisgICAgICA8YXJnIG5hbWU9J2ZpbGUnIHR5cGU9J0ZJTEUgKicgaW5mbz0ndGhlIGZpbGUgb3V0cHV0Jy8+CisgICAgICA8YXJnIG5hbWU9J2J1ZicgdHlwZT0neG1sQnVmZmVyUHRyJyBpbmZvPSd0aGUgYnVmZmVyIHRvIGR1bXAnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxCdWZmZXJFbXB0eScgZmlsZT0ndHJlZScgbW9kdWxlPSd0cmVlJz4KKyAgICAgIDxpbmZvPmVtcHR5IGEgYnVmZmVyLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdidWYnIHR5cGU9J3htbEJ1ZmZlclB0cicgaW5mbz0ndGhlIGJ1ZmZlcicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEJ1ZmZlckZyZWUnIGZpbGU9J3RyZWUnIG1vZHVsZT0ndHJlZSc+CisgICAgICA8aW5mbz5GcmVlcyBhbiBYTUwgYnVmZmVyLiBJdCBmcmVlcyBib3RoIHRoZSBjb250ZW50IGFuZCB0aGUgc3RydWN0dXJlIHdoaWNoIGVuY2Fwc3VsYXRlIGl0LjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdidWYnIHR5cGU9J3htbEJ1ZmZlclB0cicgaW5mbz0ndGhlIGJ1ZmZlciB0byBmcmVlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sQnVmZmVyR3JvdycgZmlsZT0ndHJlZScgbW9kdWxlPSd0cmVlJz4KKyAgICAgIDxpbmZvPkdyb3cgdGhlIGF2YWlsYWJsZSBzcGFjZSBvZiBhbiBYTUwgYnVmZmVyLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgbmV3IGF2YWlsYWJsZSBzcGFjZSBvciAtMSBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J2J1ZicgdHlwZT0neG1sQnVmZmVyUHRyJyBpbmZvPSd0aGUgYnVmZmVyJy8+CisgICAgICA8YXJnIG5hbWU9J2xlbicgdHlwZT0ndW5zaWduZWQgaW50JyBpbmZvPSd0aGUgbWluaW11bSBmcmVlIHNpemUgdG8gYWxsb2NhdGUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxCdWZmZXJMZW5ndGgnIGZpbGU9J3RyZWUnIG1vZHVsZT0ndHJlZSc+CisgICAgICA8aW5mbz5GdW5jdGlvbiB0byBnZXQgdGhlIGxlbmd0aCBvZiBhIGJ1ZmZlcjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgbGVuZ3RoIG9mIGRhdGEgaW4gdGhlIGludGVybmFsIGNvbnRlbnQnLz4KKyAgICAgIDxhcmcgbmFtZT0nYnVmJyB0eXBlPSdjb25zdCB4bWxCdWZmZXIgKicgaW5mbz0ndGhlIGJ1ZmZlcicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEJ1ZmZlclJlc2l6ZScgZmlsZT0ndHJlZScgbW9kdWxlPSd0cmVlJz4KKyAgICAgIDxpbmZvPlJlc2l6ZSBhIGJ1ZmZlciB0byBhY2NvbW1vZGF0ZSBtaW5pbXVtIHNpemUgb2YgQHNpemUuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzAgaW4gY2FzZSBvZiBwcm9ibGVtcywgMSBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nYnVmJyB0eXBlPSd4bWxCdWZmZXJQdHInIGluZm89J3RoZSBidWZmZXIgdG8gcmVzaXplJy8+CisgICAgICA8YXJnIG5hbWU9J3NpemUnIHR5cGU9J3Vuc2lnbmVkIGludCcgaW5mbz0ndGhlIGRlc2lyZWQgc2l6ZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEJ1ZmZlclNldEFsbG9jYXRpb25TY2hlbWUnIGZpbGU9J3RyZWUnIG1vZHVsZT0ndHJlZSc+CisgICAgICA8aW5mbz5TZXRzIHRoZSBhbGxvY2F0aW9uIHNjaGVtZSBmb3IgdGhpcyBidWZmZXI8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nYnVmJyB0eXBlPSd4bWxCdWZmZXJQdHInIGluZm89J3RoZSBidWZmZXIgdG8gdHVuZScvPgorICAgICAgPGFyZyBuYW1lPSdzY2hlbWUnIHR5cGU9J3htbEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUnIGluZm89J2FsbG9jYXRpb24gc2NoZW1lIHRvIHVzZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEJ1ZmZlclNocmluaycgZmlsZT0ndHJlZScgbW9kdWxlPSd0cmVlJz4KKyAgICAgIDxpbmZvPlJlbW92ZSB0aGUgYmVnaW5uaW5nIG9mIGFuIFhNTCBidWZmZXIuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J3RoZSBudW1iZXIgb2YgI3htbENoYXIgcmVtb3ZlZCwgb3IgLTEgaW4gY2FzZSBvZiBmYWlsdXJlLicvPgorICAgICAgPGFyZyBuYW1lPSdidWYnIHR5cGU9J3htbEJ1ZmZlclB0cicgaW5mbz0ndGhlIGJ1ZmZlciB0byBkdW1wJy8+CisgICAgICA8YXJnIG5hbWU9J2xlbicgdHlwZT0ndW5zaWduZWQgaW50JyBpbmZvPSd0aGUgbnVtYmVyIG9mIHhtbENoYXIgdG8gcmVtb3ZlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sQnVmZmVyV3JpdGVDSEFSJyBmaWxlPSd0cmVlJyBtb2R1bGU9J3RyZWUnPgorICAgICAgPGluZm8+cm91dGluZSB3aGljaCBtYW5hZ2VzIGFuZCBncm93cyBhbiBvdXRwdXQgYnVmZmVyLiBUaGlzIG9uZSBhZGRzIHhtbENoYXJzIGF0IHRoZSBlbmQgb2YgdGhlIGJ1ZmZlci48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nYnVmJyB0eXBlPSd4bWxCdWZmZXJQdHInIGluZm89J3RoZSBYTUwgYnVmZmVyJy8+CisgICAgICA8YXJnIG5hbWU9J3N0cmluZycgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgc3RyaW5nIHRvIGFkZCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEJ1ZmZlcldyaXRlQ2hhcicgZmlsZT0ndHJlZScgbW9kdWxlPSd0cmVlJz4KKyAgICAgIDxpbmZvPnJvdXRpbmUgd2hpY2ggbWFuYWdlIGFuZCBncm93cyBhbiBvdXRwdXQgYnVmZmVyLiBUaGlzIG9uZSBhZGQgQyBjaGFycyBhdCB0aGUgZW5kIG9mIHRoZSBhcnJheS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nYnVmJyB0eXBlPSd4bWxCdWZmZXJQdHInIGluZm89J3RoZSBYTUwgYnVmZmVyIG91dHB1dCcvPgorICAgICAgPGFyZyBuYW1lPSdzdHJpbmcnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIHN0cmluZyB0byBhZGQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxCdWZmZXJXcml0ZVF1b3RlZFN0cmluZycgZmlsZT0ndHJlZScgbW9kdWxlPSd0cmVlJz4KKyAgICAgIDxpbmZvPnJvdXRpbmUgd2hpY2ggbWFuYWdlIGFuZCBncm93cyBhbiBvdXRwdXQgYnVmZmVyLiBUaGlzIG9uZSB3cml0ZXMgYSBxdW90ZWQgb3IgZG91YmxlIHF1b3RlZCAjeG1sQ2hhciBzdHJpbmcsIGNoZWNraW5nIGZpcnN0IGlmIGl0IGhvbGRzIHF1b3RlIG9yIGRvdWJsZS1xdW90ZXMgaW50ZXJuYWxseTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdidWYnIHR5cGU9J3htbEJ1ZmZlclB0cicgaW5mbz0ndGhlIFhNTCBidWZmZXIgb3V0cHV0Jy8+CisgICAgICA8YXJnIG5hbWU9J3N0cmluZycgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgc3RyaW5nIHRvIGFkZCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEJ1aWxkUU5hbWUnIGZpbGU9J3RyZWUnIG1vZHVsZT0ndHJlZSc+CisgICAgICA8aW5mbz5CdWlsZHMgdGhlIFFOYW1lIEBwcmVmaXg6QG5jbmFtZSBpbiBAbWVtb3J5IGlmIHRoZXJlIGlzIGVub3VnaCBzcGFjZSBhbmQgcHJlZml4IGlzIG5vdCBOVUxMIG5vciBlbXB0eSwgb3RoZXJ3aXNlIGFsbG9jYXRlIGEgbmV3IHN0cmluZy4gSWYgcHJlZml4IGlzIE5VTEwgb3IgZW1wdHkgaXQgcmV0dXJucyBuY25hbWUuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxDaGFyIConIGluZm89J3RoZSBuZXcgc3RyaW5nIHdoaWNoIG11c3QgYmUgZnJlZWQgYnkgdGhlIGNhbGxlciBpZiBkaWZmZXJlbnQgZnJvbSBAbWVtb3J5IGFuZCBAbmNuYW1lIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSduY25hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIE5hbWUnLz4KKyAgICAgIDxhcmcgbmFtZT0ncHJlZml4JyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBwcmVmaXgnLz4KKyAgICAgIDxhcmcgbmFtZT0nbWVtb3J5JyB0eXBlPSd4bWxDaGFyIConIGluZm89J3ByZWFsbG9jYXRlZCBtZW1vcnknLz4KKyAgICAgIDxhcmcgbmFtZT0nbGVuJyB0eXBlPSdpbnQnIGluZm89J3ByZWFsbG9jYXRlZCBtZW1vcnkgbGVuZ3RoJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sQnVpbGRSZWxhdGl2ZVVSSScgZmlsZT0ndXJpJyBtb2R1bGU9J3VyaSc+CisgICAgICA8aW5mbz5FeHByZXNzZXMgdGhlIFVSSSBvZiB0aGUgcmVmZXJlbmNlIGluIHRlcm1zIHJlbGF0aXZlIHRvIHRoZSBiYXNlLiAgU29tZSBleGFtcGxlcyBvZiB0aGlzIG9wZXJhdGlvbiBpbmNsdWRlOiBiYXNlID0gJnF1b3Q7aHR0cDovL3NpdGUxLmNvbS9kb2NzL2Jvb2sxLmh0bWwmcXVvdDsgVVJJIGlucHV0ICAgICAgICAgICAgICAgICAgICAgICAgVVJJIHJldHVybmVkIGRvY3MvcGljMS5naWYgICAgICAgICAgICAgICAgICAgIHBpYzEuZ2lmIGRvY3MvaW1nL3BpYzEuZ2lmICAgICAgICAgICAgICAgIGltZy9waWMxLmdpZiBpbWcvcGljMS5naWYgICAgICAgICAgICAgICAgICAgICAuLi9pbWcvcGljMS5naWYgaHR0cDovL3NpdGUxLmNvbS9kb2NzL3BpYzEuZ2lmICAgcGljMS5naWYgaHR0cDovL3NpdGUyLmNvbS9kb2NzL3BpYzEuZ2lmICAgaHR0cDovL3NpdGUyLmNvbS9kb2NzL3BpYzEuZ2lmICBiYXNlID0gJnF1b3Q7ZG9jcy9ib29rMS5odG1sJnF1b3Q7IFVSSSBpbnB1dCAgICAgICAgICAgICAgICAgICAgICAgIFVSSSByZXR1cm5lZCBkb2NzL3BpYzEuZ2lmICAgICAgICAgICAgICAgICAgICBwaWMxLmdpZiBkb2NzL2ltZy9waWMxLmdpZiAgICAgICAgICAgICAgICBpbWcvcGljMS5naWYgaW1nL3BpYzEuZ2lmICAgICAgICAgICAgICAgICAgICAgLi4vaW1nL3BpYzEuZ2lmIGh0dHA6Ly9zaXRlMS5jb20vZG9jcy9waWMxLmdpZiAgIGh0dHA6Ly9zaXRlMS5jb20vZG9jcy9waWMxLmdpZiAgIE5vdGU6IGlmIHRoZSBVUkkgcmVmZXJlbmNlIGlzIHJlYWxseSB3aWVyZCBvciBjb21wbGljYXRlZCwgaXQgbWF5IGJlIHdvcnRod2hpbGUgdG8gZmlyc3QgY29udmVydCBpdCBpbnRvIGEgJnF1b3Q7bmljZSZxdW90OyBvbmUgYnkgY2FsbGluZyB4bWxCdWlsZFVSSSAodXNpbmcgJmFwb3M7YmFzZSZhcG9zOykgYmVmb3JlIGNhbGxpbmcgdGhpcyByb3V0aW5lLCBzaW5jZSB0aGlzIHJvdXRpbmUgKGZvciByZWFzb25hYmxlIGVmZmljaWVuY3kpIGFzc3VtZXMgVVJJIGhhcyBhbHJlYWR5IGJlZW4gdGhyb3VnaCBzb21lIHZhbGlkYXRpb24uPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxDaGFyIConIGluZm89J2EgbmV3IFVSSSBzdHJpbmcgKHRvIGJlIGZyZWVkIGJ5IHRoZSBjYWxsZXIpIG9yIE5VTEwgaW4gY2FzZSBlcnJvci4nLz4KKyAgICAgIDxhcmcgbmFtZT0nVVJJJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBVUkkgcmVmZXJlbmNlIHVuZGVyIGNvbnNpZGVyYXRpb24nLz4KKyAgICAgIDxhcmcgbmFtZT0nYmFzZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgYmFzZSB2YWx1ZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEJ1aWxkVVJJJyBmaWxlPSd1cmknIG1vZHVsZT0ndXJpJz4KKyAgICAgIDxpbmZvPkNvbXB1dGVzIGhlIGZpbmFsIFVSSSBvZiB0aGUgcmVmZXJlbmNlIGRvbmUgYnkgY2hlY2tpbmcgdGhhdCB0aGUgZ2l2ZW4gVVJJIGlzIHZhbGlkLCBhbmQgYnVpbGRpbmcgdGhlIGZpbmFsIFVSSSB1c2luZyB0aGUgYmFzZSBVUkkuIFRoaXMgaXMgcHJvY2Vzc2VkIGFjY29yZGluZyB0byBzZWN0aW9uIDUuMiBvZiB0aGUgUkZDIDIzOTYgIDUuMi4gUmVzb2x2aW5nIFJlbGF0aXZlIFJlZmVyZW5jZXMgdG8gQWJzb2x1dGUgRm9ybTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sQ2hhciAqJyBpbmZvPSdhIG5ldyBVUkkgc3RyaW5nICh0byBiZSBmcmVlZCBieSB0aGUgY2FsbGVyKSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuJy8+CisgICAgICA8YXJnIG5hbWU9J1VSSScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgVVJJIGluc3RhbmNlIGZvdW5kIGluIHRoZSBkb2N1bWVudCcvPgorICAgICAgPGFyZyBuYW1lPSdiYXNlJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBiYXNlIHZhbHVlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sQnl0ZUNvbnN1bWVkJyBmaWxlPSdwYXJzZXInIG1vZHVsZT0nZW5jb2RpbmcnPgorICAgICAgPGluZm8+VGhpcyBmdW5jdGlvbiBwcm92aWRlcyB0aGUgY3VycmVudCBpbmRleCBvZiB0aGUgcGFyc2VyIHJlbGF0aXZlIHRvIHRoZSBzdGFydCBvZiB0aGUgY3VycmVudCBlbnRpdHkuIFRoaXMgZnVuY3Rpb24gaXMgY29tcHV0ZWQgaW4gYnl0ZXMgZnJvbSB0aGUgYmVnaW5uaW5nIHN0YXJ0aW5nIGF0IHplcm8gYW5kIGZpbmlzaGluZyBhdCB0aGUgc2l6ZSBpbiBieXRlIG9mIHRoZSBmaWxlIGlmIHBhcnNpbmcgYSBmaWxlLiBUaGUgZnVuY3Rpb24gaXMgb2YgY29uc3RhbnQgY29zdCBpZiB0aGUgaW5wdXQgaXMgVVRGLTggYnV0IGNhbiBiZSBjb3N0bHkgaWYgcnVuIG9uIG5vbi1VVEYtOCBpbnB1dC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2xvbmcnIGluZm89J3RoZSBpbmRleCBpbiBieXRlcyBmcm9tIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGVudGl0eSBvciAtMSBpbiBjYXNlIHRoZSBpbmRleCBjb3VsZCBub3QgYmUgY29tcHV0ZWQuJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFBhcnNlckN0eHRQdHInIGluZm89J2FuIFhNTCBwYXJzZXIgY29udGV4dCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEMxNE5Eb2NEdW1wTWVtb3J5JyBmaWxlPSdjMTRuJyBtb2R1bGU9J2MxNG4nPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfQzE0Tl9FTkFCTEVEKSAmYW1wOyZhbXA7IGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkR1bXBzIHRoZSBjYW5vbml6ZWQgaW1hZ2Ugb2YgZ2l2ZW4gWE1MIGRvY3VtZW50IGludG8gbWVtb3J5LiBGb3IgZGV0YWlscyBzZWUgJnF1b3Q7Q2Fub25pY2FsIFhNTCZxdW90OyAoaHR0cDovL3d3dy53My5vcmcvVFIveG1sLWMxNG4pIG9yICZxdW90O0V4Y2x1c2l2ZSBYTUwgQ2Fub25pY2FsaXphdGlvbiZxdW90OyAoaHR0cDovL3d3dy53My5vcmcvVFIveG1sLWV4Yy1jMTRuKTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgbnVtYmVyIG9mIGJ5dGVzIHdyaXR0ZW4gb24gc3VjY2VzcyBvciBhIG5lZ2F0aXZlIHZhbHVlIG9uIGZhaWwnLz4KKyAgICAgIDxhcmcgbmFtZT0nZG9jJyB0eXBlPSd4bWxEb2NQdHInIGluZm89J3RoZSBYTUwgZG9jdW1lbnQgZm9yIGNhbm9uaXphdGlvbicvPgorICAgICAgPGFyZyBuYW1lPSdub2RlcycgdHlwZT0neG1sTm9kZVNldFB0cicgaW5mbz0ndGhlIG5vZGVzIHNldCB0byBiZSBpbmNsdWRlZCBpbiB0aGUgY2Fub25pemVkIGltYWdlIG9yIE5VTEwgaWYgYWxsIGRvY3VtZW50IG5vZGVzIHNob3VsZCBiZSBpbmNsdWRlZCcvPgorICAgICAgPGFyZyBuYW1lPSdtb2RlJyB0eXBlPSdpbnQnIGluZm89J3RoZSBjMTRuIG1vZGUgKHNlZSBAeG1sQzE0Tk1vZGUpJy8+CisgICAgICA8YXJnIG5hbWU9J2luY2x1c2l2ZV9uc19wcmVmaXhlcycgdHlwZT0neG1sQ2hhciAqKicgaW5mbz0ndGhlIGxpc3Qgb2YgaW5jbHVzaXZlIG5hbWVzcGFjZSBwcmVmaXhlcyBlbmRlZCB3aXRoIGEgTlVMTCBvciBOVUxMIGlmIHRoZXJlIGlzIG5vIGluY2x1c2l2ZSBuYW1lc3BhY2VzIChvbmx5IGZvciBleGNsdXNpdmUgY2Fub25pY2FsaXphdGlvbiwgaWdub3JlZCBvdGhlcndpc2UpJy8+CisgICAgICA8YXJnIG5hbWU9J3dpdGhfY29tbWVudHMnIHR5cGU9J2ludCcgaW5mbz0naW5jbHVkZSBjb21tZW50cyBpbiB0aGUgcmVzdWx0ICghPTApIG9yIG5vdCAoPT0wKScvPgorICAgICAgPGFyZyBuYW1lPSdkb2NfdHh0X3B0cicgdHlwZT0neG1sQ2hhciAqKicgaW5mbz0ndGhlIG1lbW9yeSBwb2ludGVyIGZvciBhbGxvY2F0ZWQgY2Fub25pY2FsIFhNTCB0ZXh0OyB0aGUgY2FsbGVyIG9mIHRoaXMgZnVuY3Rpb25zIGlzIHJlc3BvbnNpYmxlIGZvciBjYWxsaW5nIHhtbEZyZWUoKSB0byBmcmVlIGFsbG9jYXRlZCBtZW1vcnknLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxDMTRORG9jU2F2ZScgZmlsZT0nYzE0bicgbW9kdWxlPSdjMTRuJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0MxNE5fRU5BQkxFRCkgJmFtcDsmYW1wOyBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5EdW1wcyB0aGUgY2Fub25pemVkIGltYWdlIG9mIGdpdmVuIFhNTCBkb2N1bWVudCBpbnRvIHRoZSBmaWxlLiBGb3IgZGV0YWlscyBzZWUgJnF1b3Q7Q2Fub25pY2FsIFhNTCZxdW90OyAoaHR0cDovL3d3dy53My5vcmcvVFIveG1sLWMxNG4pIG9yICZxdW90O0V4Y2x1c2l2ZSBYTUwgQ2Fub25pY2FsaXphdGlvbiZxdW90OyAoaHR0cDovL3d3dy53My5vcmcvVFIveG1sLWV4Yy1jMTRuKTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgbnVtYmVyIG9mIGJ5dGVzIHdyaXR0ZW4gc3VjY2VzcyBvciBhIG5lZ2F0aXZlIHZhbHVlIG9uIGZhaWwnLz4KKyAgICAgIDxhcmcgbmFtZT0nZG9jJyB0eXBlPSd4bWxEb2NQdHInIGluZm89J3RoZSBYTUwgZG9jdW1lbnQgZm9yIGNhbm9uaXphdGlvbicvPgorICAgICAgPGFyZyBuYW1lPSdub2RlcycgdHlwZT0neG1sTm9kZVNldFB0cicgaW5mbz0ndGhlIG5vZGVzIHNldCB0byBiZSBpbmNsdWRlZCBpbiB0aGUgY2Fub25pemVkIGltYWdlIG9yIE5VTEwgaWYgYWxsIGRvY3VtZW50IG5vZGVzIHNob3VsZCBiZSBpbmNsdWRlZCcvPgorICAgICAgPGFyZyBuYW1lPSdtb2RlJyB0eXBlPSdpbnQnIGluZm89J3RoZSBjMTRuIG1vZGUgKHNlZSBAeG1sQzE0Tk1vZGUpJy8+CisgICAgICA8YXJnIG5hbWU9J2luY2x1c2l2ZV9uc19wcmVmaXhlcycgdHlwZT0neG1sQ2hhciAqKicgaW5mbz0ndGhlIGxpc3Qgb2YgaW5jbHVzaXZlIG5hbWVzcGFjZSBwcmVmaXhlcyBlbmRlZCB3aXRoIGEgTlVMTCBvciBOVUxMIGlmIHRoZXJlIGlzIG5vIGluY2x1c2l2ZSBuYW1lc3BhY2VzIChvbmx5IGZvciBleGNsdXNpdmUgY2Fub25pY2FsaXphdGlvbiwgaWdub3JlZCBvdGhlcndpc2UpJy8+CisgICAgICA8YXJnIG5hbWU9J3dpdGhfY29tbWVudHMnIHR5cGU9J2ludCcgaW5mbz0naW5jbHVkZSBjb21tZW50cyBpbiB0aGUgcmVzdWx0ICghPTApIG9yIG5vdCAoPT0wKScvPgorICAgICAgPGFyZyBuYW1lPSdmaWxlbmFtZScgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSd0aGUgZmlsZW5hbWUgdG8gc3RvcmUgY2Fub25pY2FsIFhNTCBpbWFnZScvPgorICAgICAgPGFyZyBuYW1lPSdjb21wcmVzc2lvbicgdHlwZT0naW50JyBpbmZvPSd0aGUgY29tcHJlc3Npb24gbGV2ZWwgKHpsaWIgcmVxdXJlZCk6IC0xIC0gbGlieG1sIGRlZmF1bHQsIDAgLSB1bmNvbXByZXNzZWQsICZndDswIC0gY29tcHJlc3Npb24gbGV2ZWwnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxDMTRORG9jU2F2ZVRvJyBmaWxlPSdjMTRuJyBtb2R1bGU9J2MxNG4nPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfQzE0Tl9FTkFCTEVEKSAmYW1wOyZhbXA7IGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkR1bXBzIHRoZSBjYW5vbml6ZWQgaW1hZ2Ugb2YgZ2l2ZW4gWE1MIGRvY3VtZW50IGludG8gdGhlIHByb3ZpZGVkIGJ1ZmZlci4gRm9yIGRldGFpbHMgc2VlICZxdW90O0Nhbm9uaWNhbCBYTUwmcXVvdDsgKGh0dHA6Ly93d3cudzMub3JnL1RSL3htbC1jMTRuKSBvciAmcXVvdDtFeGNsdXNpdmUgWE1MIENhbm9uaWNhbGl6YXRpb24mcXVvdDsgKGh0dHA6Ly93d3cudzMub3JnL1RSL3htbC1leGMtYzE0bik8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nbm9uLW5lZ2F0aXZlIHZhbHVlIG9uIHN1Y2Nlc3Mgb3IgYSBuZWdhdGl2ZSB2YWx1ZSBvbiBmYWlsJy8+CisgICAgICA8YXJnIG5hbWU9J2RvYycgdHlwZT0neG1sRG9jUHRyJyBpbmZvPSd0aGUgWE1MIGRvY3VtZW50IGZvciBjYW5vbml6YXRpb24nLz4KKyAgICAgIDxhcmcgbmFtZT0nbm9kZXMnIHR5cGU9J3htbE5vZGVTZXRQdHInIGluZm89J3RoZSBub2RlcyBzZXQgdG8gYmUgaW5jbHVkZWQgaW4gdGhlIGNhbm9uaXplZCBpbWFnZSBvciBOVUxMIGlmIGFsbCBkb2N1bWVudCBub2RlcyBzaG91bGQgYmUgaW5jbHVkZWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbW9kZScgdHlwZT0naW50JyBpbmZvPSd0aGUgYzE0biBtb2RlIChzZWUgQHhtbEMxNE5Nb2RlKScvPgorICAgICAgPGFyZyBuYW1lPSdpbmNsdXNpdmVfbnNfcHJlZml4ZXMnIHR5cGU9J3htbENoYXIgKionIGluZm89J3RoZSBsaXN0IG9mIGluY2x1c2l2ZSBuYW1lc3BhY2UgcHJlZml4ZXMgZW5kZWQgd2l0aCBhIE5VTEwgb3IgTlVMTCBpZiB0aGVyZSBpcyBubyBpbmNsdXNpdmUgbmFtZXNwYWNlcyAob25seSBmb3IgZXhjbHVzaXZlIGNhbm9uaWNhbGl6YXRpb24sIGlnbm9yZWQgb3RoZXJ3aXNlKScvPgorICAgICAgPGFyZyBuYW1lPSd3aXRoX2NvbW1lbnRzJyB0eXBlPSdpbnQnIGluZm89J2luY2x1ZGUgY29tbWVudHMgaW4gdGhlIHJlc3VsdCAoIT0wKSBvciBub3QgKD09MCknLz4KKyAgICAgIDxhcmcgbmFtZT0nYnVmJyB0eXBlPSd4bWxPdXRwdXRCdWZmZXJQdHInIGluZm89J3RoZSBvdXRwdXQgYnVmZmVyIHRvIHN0b3JlIGNhbm9uaWNhbCBYTUw7IHRoaXMgYnVmZmVyIE1VU1QgaGF2ZSBlbmNvZGVyPT1OVUxMIGJlY2F1c2UgQzE0TiByZXF1aXJlcyBVVEYtOCBvdXRwdXQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxDMTRORXhlY3V0ZScgZmlsZT0nYzE0bicgbW9kdWxlPSdjMTRuJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0MxNE5fRU5BQkxFRCkgJmFtcDsmYW1wOyBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5EdW1wcyB0aGUgY2Fub25pemVkIGltYWdlIG9mIGdpdmVuIFhNTCBkb2N1bWVudCBpbnRvIHRoZSBwcm92aWRlZCBidWZmZXIuIEZvciBkZXRhaWxzIHNlZSAmcXVvdDtDYW5vbmljYWwgWE1MJnF1b3Q7IChodHRwOi8vd3d3LnczLm9yZy9UUi94bWwtYzE0bikgb3IgJnF1b3Q7RXhjbHVzaXZlIFhNTCBDYW5vbmljYWxpemF0aW9uJnF1b3Q7IChodHRwOi8vd3d3LnczLm9yZy9UUi94bWwtZXhjLWMxNG4pPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J25vbi1uZWdhdGl2ZSB2YWx1ZSBvbiBzdWNjZXNzIG9yIGEgbmVnYXRpdmUgdmFsdWUgb24gZmFpbCcvPgorICAgICAgPGFyZyBuYW1lPSdkb2MnIHR5cGU9J3htbERvY1B0cicgaW5mbz0ndGhlIFhNTCBkb2N1bWVudCBmb3IgY2Fub25pemF0aW9uJy8+CisgICAgICA8YXJnIG5hbWU9J2lzX3Zpc2libGVfY2FsbGJhY2snIHR5cGU9J3htbEMxNE5Jc1Zpc2libGVDYWxsYmFjaycgaW5mbz0ndGhlIGZ1bmN0aW9uIHRvIHVzZSB0byBkZXRlcm1pbmUgaXMgbm9kZSB2aXNpYmxlIG9yIG5vdCcvPgorICAgICAgPGFyZyBuYW1lPSd1c2VyX2RhdGEnIHR5cGU9J3ZvaWQgKicgaW5mbz0ndGhlIGZpcnN0IHBhcmFtZXRlciBmb3IgQGlzX3Zpc2libGVfY2FsbGJhY2sgZnVuY3Rpb24gKGluIG1vc3QgY2FzZXMsIGl0IGlzIG5vZGVzIHNldCknLz4KKyAgICAgIDxhcmcgbmFtZT0nbW9kZScgdHlwZT0naW50JyBpbmZvPSd0aGUgYzE0biBtb2RlIChzZWUgQHhtbEMxNE5Nb2RlKScvPgorICAgICAgPGFyZyBuYW1lPSdpbmNsdXNpdmVfbnNfcHJlZml4ZXMnIHR5cGU9J3htbENoYXIgKionIGluZm89J3RoZSBsaXN0IG9mIGluY2x1c2l2ZSBuYW1lc3BhY2UgcHJlZml4ZXMgZW5kZWQgd2l0aCBhIE5VTEwgb3IgTlVMTCBpZiB0aGVyZSBpcyBubyBpbmNsdXNpdmUgbmFtZXNwYWNlcyAob25seSBmb3IgZXhjbHVzaXZlIGNhbm9uaWNhbGl6YXRpb24sIGlnbm9yZWQgb3RoZXJ3aXNlKScvPgorICAgICAgPGFyZyBuYW1lPSd3aXRoX2NvbW1lbnRzJyB0eXBlPSdpbnQnIGluZm89J2luY2x1ZGUgY29tbWVudHMgaW4gdGhlIHJlc3VsdCAoIT0wKSBvciBub3QgKD09MCknLz4KKyAgICAgIDxhcmcgbmFtZT0nYnVmJyB0eXBlPSd4bWxPdXRwdXRCdWZmZXJQdHInIGluZm89J3RoZSBvdXRwdXQgYnVmZmVyIHRvIHN0b3JlIGNhbm9uaWNhbCBYTUw7IHRoaXMgYnVmZmVyIE1VU1QgaGF2ZSBlbmNvZGVyPT1OVUxMIGJlY2F1c2UgQzE0TiByZXF1aXJlcyBVVEYtOCBvdXRwdXQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdHlwZSBuYW1lPSd4bWxDMTROSXNWaXNpYmxlQ2FsbGJhY2snIGZpbGU9J2MxNG4nIG1vZHVsZT0nYzE0bic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9DMTROX0VOQUJMRUQpICZhbXA7JmFtcDsgZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+U2lnbmF0dXJlIGZvciBhIEMxNE4gY2FsbGJhY2sgb24gdmlzaWJsZSBub2RlczwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRoZSBub2RlIHNob3VsZCBiZSBpbmNsdWRlZCcvPgorICAgICAgPGFyZyBuYW1lPSd1c2VyX2RhdGEnIHR5cGU9J3ZvaWQgKicgaW5mbz0ndXNlciBkYXRhJy8+CisgICAgICA8YXJnIG5hbWU9J25vZGUnIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3RoZSBjdXJlbnQgbm9kZScvPgorICAgICAgPGFyZyBuYW1lPSdwYXJlbnQnIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3RoZSBwYXJlbnQgbm9kZScvPgorICAgIDwvZnVuY3R5cGU+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbENhbm9uaWNQYXRoJyBmaWxlPSd1cmknIG1vZHVsZT0ndXJpJz4KKyAgICAgIDxpbmZvPkNvbnN0cnVjdHMgYSBjYW5vbmljIHBhdGggZnJvbSB0aGUgc3BlY2lmaWVkIHBhdGguPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxDaGFyIConIGluZm89J2EgbmV3IGNhbm9uaWMgcGF0aCwgb3IgYSBkdXBsaWNhdGUgb2YgdGhlIHBhdGggcGFyYW1ldGVyIGlmIHRoZSBjb25zdHJ1Y3Rpb24gZmFpbHMuIFRoZSBjYWxsZXIgaXMgcmVzcG9uc2libGUgZm9yIGZyZWVpbmcgdGhlIG1lbW9yeSBvY2N1cGllZCBieSB0aGUgcmV0dXJuZWQgc3RyaW5nLiBJZiB0aGVyZSBpcyBpbnN1ZmZpY2llbnQgbWVtb3J5IGF2YWlsYWJsZSwgb3IgdGhlIGFyZ3VtZW50IGlzIE5VTEwsIHRoZSBmdW5jdGlvbiByZXR1cm5zIE5VTEwuJy8+CisgICAgICA8YXJnIG5hbWU9J3BhdGgnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIHJlc291cmNlIGxvY2F0b3IgaW4gYSBmaWxlc3lzdGVtIG5vdGF0aW9uJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sQ2F0YWxvZ0FkZCcgZmlsZT0nY2F0YWxvZycgbW9kdWxlPSdjYXRhbG9nJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0NBVEFMT0dfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5BZGQgYW4gZW50cnkgaW4gdGhlIGNhdGFsb2csIGl0IG1heSBvdmVyd3JpdGUgZXhpc3RpbmcgYnV0IGRpZmZlcmVudCBlbnRyaWVzLiBJZiBjYWxsZWQgYmVmb3JlIGFueSBvdGhlciBjYXRhbG9nIHJvdXRpbmUsIGFsbG93cyB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBzaGFyZWQgY2F0YWxvZyBwdXQgaW4gcGxhY2UgYnkgeG1sSW5pdGlhbGl6ZUNhdGFsb2coKTs8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMCBpZiBzdWNjZXNzZnVsLCAtMSBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0ndHlwZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgdHlwZSBvZiByZWNvcmQgdG8gYWRkIHRvIHRoZSBjYXRhbG9nJy8+CisgICAgICA8YXJnIG5hbWU9J29yaWcnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIHN5c3RlbSwgcHVibGljIG9yIHByZWZpeCB0byBtYXRjaCcvPgorICAgICAgPGFyZyBuYW1lPSdyZXBsYWNlJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSByZXBsYWNlbWVudCB2YWx1ZSBmb3IgdGhlIG1hdGNoJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sQ2F0YWxvZ0FkZExvY2FsJyBmaWxlPSdjYXRhbG9nJyBtb2R1bGU9J2NhdGFsb2cnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfQ0FUQUxPR19FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkFkZCB0aGUgbmV3IGVudHJ5IHRvIHRoZSBjYXRhbG9nIGxpc3Q8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQgKicgaW5mbz0ndGhlIHVwZGF0ZWQgbGlzdCcvPgorICAgICAgPGFyZyBuYW1lPSdjYXRhbG9ncycgdHlwZT0ndm9pZCAqJyBpbmZvPSdhIGRvY3VtZW50JmFwb3M7cyBsaXN0IG9mIGNhdGFsb2dzJy8+CisgICAgICA8YXJnIG5hbWU9J1VSTCcgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgVVJMIHRvIGEgbmV3IGxvY2FsIGNhdGFsb2cnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxDYXRhbG9nQ2xlYW51cCcgZmlsZT0nY2F0YWxvZycgbW9kdWxlPSdjYXRhbG9nJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0NBVEFMT0dfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5GcmVlIHVwIGFsbCB0aGUgbWVtb3J5IGFzc29jaWF0ZWQgd2l0aCBjYXRhbG9nczwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbENhdGFsb2dDb252ZXJ0JyBmaWxlPSdjYXRhbG9nJyBtb2R1bGU9J2NhdGFsb2cnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfQ0FUQUxPR19FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNvbnZlcnQgYWxsIHRoZSBTR01MIGNhdGFsb2cgZW50cmllcyBhcyBYTUwgb25lczwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgbnVtYmVyIG9mIGVudHJpZXMgY29udmVydGVkIGlmIHN1Y2Nlc3NmdWwsIC0xIG90aGVyd2lzZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbENhdGFsb2dEdW1wJyBmaWxlPSdjYXRhbG9nJyBtb2R1bGU9J2NhdGFsb2cnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfQ0FUQUxPR19FTkFCTEVEKSAmYW1wOyZhbXA7IGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkR1bXAgYWxsIHRoZSBnbG9iYWwgY2F0YWxvZyBjb250ZW50IHRvIHRoZSBnaXZlbiBmaWxlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdvdXQnIHR5cGU9J0ZJTEUgKicgaW5mbz0ndGhlIGZpbGUuJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sQ2F0YWxvZ0ZyZWVMb2NhbCcgZmlsZT0nY2F0YWxvZycgbW9kdWxlPSdjYXRhbG9nJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0NBVEFMT0dfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5GcmVlIHVwIHRoZSBtZW1vcnkgYXNzb2NpYXRlZCB0byB0aGUgY2F0YWxvZyBsaXN0PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2NhdGFsb2dzJyB0eXBlPSd2b2lkIConIGluZm89J2EgZG9jdW1lbnQmYXBvcztzIGxpc3Qgb2YgY2F0YWxvZ3MnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxDYXRhbG9nR2V0RGVmYXVsdHMnIGZpbGU9J2NhdGFsb2cnIG1vZHVsZT0nY2F0YWxvZyc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9DQVRBTE9HX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+VXNlZCB0byBnZXQgdGhlIHVzZXIgcHJlZmVyZW5jZSB3LnIudC4gdG8gd2hhdCBjYXRhbG9ncyBzaG91bGQgYmUgYWNjZXB0ZWQ8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbENhdGFsb2dBbGxvdycgaW5mbz0ndGhlIGN1cnJlbnQgeG1sQ2F0YWxvZ0FsbG93IHZhbHVlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sQ2F0YWxvZ0dldFB1YmxpYycgZmlsZT0nY2F0YWxvZycgbW9kdWxlPSdjYXRhbG9nJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0NBVEFMT0dfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5UcnkgdG8gbG9va3VwIHRoZSBjYXRhbG9nIHJlZmVyZW5jZSBhc3NvY2lhdGVkIHRvIGEgcHVibGljIElEIERFUFJFQ0FURUQsIHVzZSB4bWxDYXRhbG9nUmVzb2x2ZVB1YmxpYygpPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSByZXNvdXJjZSBpZiBmb3VuZCBvciBOVUxMIG90aGVyd2lzZS4nLz4KKyAgICAgIDxhcmcgbmFtZT0ncHViSUQnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIHB1YmxpYyBJRCBzdHJpbmcnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxDYXRhbG9nR2V0U3lzdGVtJyBmaWxlPSdjYXRhbG9nJyBtb2R1bGU9J2NhdGFsb2cnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfQ0FUQUxPR19FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlRyeSB0byBsb29rdXAgdGhlIGNhdGFsb2cgcmVmZXJlbmNlIGFzc29jaWF0ZWQgdG8gYSBzeXN0ZW0gSUQgREVQUkVDQVRFRCwgdXNlIHhtbENhdGFsb2dSZXNvbHZlU3lzdGVtKCk8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIHJlc291cmNlIGlmIGZvdW5kIG9yIE5VTEwgb3RoZXJ3aXNlLicvPgorICAgICAgPGFyZyBuYW1lPSdzeXNJRCcgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgc3lzdGVtIElEIHN0cmluZycvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbENhdGFsb2dJc0VtcHR5JyBmaWxlPSdjYXRhbG9nJyBtb2R1bGU9J2NhdGFsb2cnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfQ0FUQUxPR19FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNoZWNrIGlzIGEgY2F0YWxvZyBpcyBlbXB0eTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRoZSBjYXRhbG9nIGlzIGVtcHR5LCAwIGlmIG5vdCwgYW1kIC0xIGluIGNhc2Ugb2YgZXJyb3IuJy8+CisgICAgICA8YXJnIG5hbWU9J2NhdGFsJyB0eXBlPSd4bWxDYXRhbG9nUHRyJyBpbmZvPSdzaG91bGQgdGhpcyBjcmVhdGUgYW4gU0dNTCBjYXRhbG9nJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sQ2F0YWxvZ0xvY2FsUmVzb2x2ZScgZmlsZT0nY2F0YWxvZycgbW9kdWxlPSdjYXRhbG9nJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0NBVEFMT0dfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5EbyBhIGNvbXBsZXRlIHJlc29sdXRpb24gbG9va3VwIG9mIGFuIEV4dGVybmFsIElkZW50aWZpZXIgdXNpbmcgYSBkb2N1bWVudCZhcG9zO3MgcHJpdmF0ZSBjYXRhbG9nIGxpc3Q8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbENoYXIgKicgaW5mbz0ndGhlIFVSSSBvZiB0aGUgcmVzb3VyY2Ugb3IgTlVMTCBpZiBub3QgZm91bmQsIGl0IG11c3QgYmUgZnJlZWQgYnkgdGhlIGNhbGxlci4nLz4KKyAgICAgIDxhcmcgbmFtZT0nY2F0YWxvZ3MnIHR5cGU9J3ZvaWQgKicgaW5mbz0nYSBkb2N1bWVudCZhcG9zO3MgbGlzdCBvZiBjYXRhbG9ncycvPgorICAgICAgPGFyZyBuYW1lPSdwdWJJRCcgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgcHVibGljIElEIHN0cmluZycvPgorICAgICAgPGFyZyBuYW1lPSdzeXNJRCcgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgc3lzdGVtIElEIHN0cmluZycvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbENhdGFsb2dMb2NhbFJlc29sdmVVUkknIGZpbGU9J2NhdGFsb2cnIG1vZHVsZT0nY2F0YWxvZyc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9DQVRBTE9HX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+RG8gYSBjb21wbGV0ZSByZXNvbHV0aW9uIGxvb2t1cCBvZiBhbiBVUkkgdXNpbmcgYSBkb2N1bWVudCZhcG9zO3MgcHJpdmF0ZSBjYXRhbG9nIGxpc3Q8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbENoYXIgKicgaW5mbz0ndGhlIFVSSSBvZiB0aGUgcmVzb3VyY2Ugb3IgTlVMTCBpZiBub3QgZm91bmQsIGl0IG11c3QgYmUgZnJlZWQgYnkgdGhlIGNhbGxlci4nLz4KKyAgICAgIDxhcmcgbmFtZT0nY2F0YWxvZ3MnIHR5cGU9J3ZvaWQgKicgaW5mbz0nYSBkb2N1bWVudCZhcG9zO3MgbGlzdCBvZiBjYXRhbG9ncycvPgorICAgICAgPGFyZyBuYW1lPSdVUkknIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIFVSSScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbENhdGFsb2dSZW1vdmUnIGZpbGU9J2NhdGFsb2cnIG1vZHVsZT0nY2F0YWxvZyc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9DQVRBTE9HX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+UmVtb3ZlIGFuIGVudHJ5IGZyb20gdGhlIGNhdGFsb2c8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndGhlIG51bWJlciBvZiBlbnRyaWVzIHJlbW92ZWQgaWYgc3VjY2Vzc2Z1bCwgLTEgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J3ZhbHVlJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSB2YWx1ZSB0byByZW1vdmUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxDYXRhbG9nUmVzb2x2ZScgZmlsZT0nY2F0YWxvZycgbW9kdWxlPSdjYXRhbG9nJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0NBVEFMT0dfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5EbyBhIGNvbXBsZXRlIHJlc29sdXRpb24gbG9va3VwIG9mIGFuIEV4dGVybmFsIElkZW50aWZpZXI8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbENoYXIgKicgaW5mbz0ndGhlIFVSSSBvZiB0aGUgcmVzb3VyY2Ugb3IgTlVMTCBpZiBub3QgZm91bmQsIGl0IG11c3QgYmUgZnJlZWQgYnkgdGhlIGNhbGxlci4nLz4KKyAgICAgIDxhcmcgbmFtZT0ncHViSUQnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIHB1YmxpYyBJRCBzdHJpbmcnLz4KKyAgICAgIDxhcmcgbmFtZT0nc3lzSUQnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIHN5c3RlbSBJRCBzdHJpbmcnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxDYXRhbG9nUmVzb2x2ZVB1YmxpYycgZmlsZT0nY2F0YWxvZycgbW9kdWxlPSdjYXRhbG9nJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0NBVEFMT0dfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5UcnkgdG8gbG9va3VwIHRoZSBjYXRhbG9nIHJlZmVyZW5jZSBhc3NvY2lhdGVkIHRvIGEgcHVibGljIElEPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxDaGFyIConIGluZm89J3RoZSByZXNvdXJjZSBpZiBmb3VuZCBvciBOVUxMIG90aGVyd2lzZSwgdGhlIHZhbHVlIHJldHVybmVkIG11c3QgYmUgZnJlZWQgYnkgdGhlIGNhbGxlci4nLz4KKyAgICAgIDxhcmcgbmFtZT0ncHViSUQnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIHB1YmxpYyBJRCBzdHJpbmcnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxDYXRhbG9nUmVzb2x2ZVN5c3RlbScgZmlsZT0nY2F0YWxvZycgbW9kdWxlPSdjYXRhbG9nJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0NBVEFMT0dfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5UcnkgdG8gbG9va3VwIHRoZSBjYXRhbG9nIHJlc291cmNlIGZvciBhIHN5c3RlbSBJRDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sQ2hhciAqJyBpbmZvPSd0aGUgcmVzb3VyY2UgaWYgZm91bmQgb3IgTlVMTCBvdGhlcndpc2UsIHRoZSB2YWx1ZSByZXR1cm5lZCBtdXN0IGJlIGZyZWVkIGJ5IHRoZSBjYWxsZXIuJy8+CisgICAgICA8YXJnIG5hbWU9J3N5c0lEJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBzeXN0ZW0gSUQgc3RyaW5nJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sQ2F0YWxvZ1Jlc29sdmVVUkknIGZpbGU9J2NhdGFsb2cnIG1vZHVsZT0nY2F0YWxvZyc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9DQVRBTE9HX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+RG8gYSBjb21wbGV0ZSByZXNvbHV0aW9uIGxvb2t1cCBvZiBhbiBVUkk8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbENoYXIgKicgaW5mbz0ndGhlIFVSSSBvZiB0aGUgcmVzb3VyY2Ugb3IgTlVMTCBpZiBub3QgZm91bmQsIGl0IG11c3QgYmUgZnJlZWQgYnkgdGhlIGNhbGxlci4nLz4KKyAgICAgIDxhcmcgbmFtZT0nVVJJJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBVUkknLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxDYXRhbG9nU2V0RGVidWcnIGZpbGU9J2NhdGFsb2cnIG1vZHVsZT0nY2F0YWxvZyc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9DQVRBTE9HX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+VXNlZCB0byBzZXQgdGhlIGRlYnVnIGxldmVsIGZvciBjYXRhbG9nIG9wZXJhdGlvbiwgMCBkaXNhYmxlIGRlYnVnZ2luZywgMSBlbmFibGUgaXQ8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndGhlIHByZXZpb3VzIHZhbHVlIG9mIHRoZSBjYXRhbG9nIGRlYnVnZ2luZyBsZXZlbCcvPgorICAgICAgPGFyZyBuYW1lPSdsZXZlbCcgdHlwZT0naW50JyBpbmZvPSd0aGUgZGVidWcgbGV2ZWwgb2YgY2F0YWxvZ3MgcmVxdWlyZWQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxDYXRhbG9nU2V0RGVmYXVsdFByZWZlcicgZmlsZT0nY2F0YWxvZycgbW9kdWxlPSdjYXRhbG9nJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0NBVEFMT0dfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5BbGxvd3MgdG8gc2V0IHRoZSBwcmVmZXJlbmNlIGJldHdlZW4gcHVibGljIGFuZCBzeXN0ZW0gZm9yIGRlbGV0aW9uIGluIFhNTCBDYXRhbG9nIHJlc29sdXRpb24uIEMuZi4gc2VjdGlvbiA0LjEuMSBvZiB0aGUgc3BlYyBWYWx1ZXMgYWNjZXB0ZWQgYXJlIFhNTF9DQVRBX1BSRUZFUl9QVUJMSUMgb3IgWE1MX0NBVEFfUFJFRkVSX1NZU1RFTTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sQ2F0YWxvZ1ByZWZlcicgaW5mbz0ndGhlIHByZXZpb3VzIHZhbHVlIG9mIHRoZSBkZWZhdWx0IHByZWZlcmVuY2UgZm9yIGRlbGVnYXRpb24nLz4KKyAgICAgIDxhcmcgbmFtZT0ncHJlZmVyJyB0eXBlPSd4bWxDYXRhbG9nUHJlZmVyJyBpbmZvPSd0aGUgZGVmYXVsdCBwcmVmZXJlbmNlIGZvciBkZWxlZ2F0aW9uJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sQ2F0YWxvZ1NldERlZmF1bHRzJyBmaWxlPSdjYXRhbG9nJyBtb2R1bGU9J2NhdGFsb2cnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfQ0FUQUxPR19FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlVzZWQgdG8gc2V0IHRoZSB1c2VyIHByZWZlcmVuY2Ugdy5yLnQuIHRvIHdoYXQgY2F0YWxvZ3Mgc2hvdWxkIGJlIGFjY2VwdGVkPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2FsbG93JyB0eXBlPSd4bWxDYXRhbG9nQWxsb3cnIGluZm89J3doYXQgY2F0YWxvZ3Mgc2hvdWxkIGJlIGFjY2VwdGVkJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sQ2hhckVuY0Nsb3NlRnVuYycgZmlsZT0nZW5jb2RpbmcnIG1vZHVsZT0nZW5jb2RpbmcnPgorICAgICAgPGluZm8+R2VuZXJpYyBmcm9udC1lbmQgZm9yIGVuY29kaW5nIGhhbmRsZXIgY2xvc2UgZnVuY3Rpb248L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMCBpZiBzdWNjZXNzLCBvciAtMSBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J2hhbmRsZXInIHR5cGU9J3htbENoYXJFbmNvZGluZ0hhbmRsZXIgKicgaW5mbz0nY2hhciBlbmNvbmRpbmcgdHJhbnNmb3JtYXRpb24gZGF0YSBzdHJ1Y3R1cmUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxDaGFyRW5jRmlyc3RMaW5lJyBmaWxlPSdlbmNvZGluZycgbW9kdWxlPSdlbmNvZGluZyc+CisgICAgICA8aW5mbz5Gcm9udC1lbmQgZm9yIHRoZSBlbmNvZGluZyBoYW5kbGVyIGlucHV0IGZ1bmN0aW9uLCBidXQgaGFuZGxlIG9ubHkgdGhlIHZlcnkgZmlyc3QgbGluZSwgaS5lLiBsaW1pdCBpdHNlbGYgdG8gNDUgY2hhcnMuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J3RoZSBudW1iZXIgb2YgYnl0ZSB3cml0dGVuIGlmIHN1Y2Nlc3MsIG9yIC0xIGdlbmVyYWwgZXJyb3IgLTIgaWYgdGhlIHRyYW5zY29kaW5nIGZhaWxzIChmb3IgKmluIGlzIG5vdCB2YWxpZCB1dGY4IHN0cmluZyBvciB0aGUgcmVzdWx0IG9mIHRyYW5zZm9ybWF0aW9uIGNhbiZhcG9zO3QgZml0IGludG8gdGhlIGVuY29kaW5nIHdlIHdhbnQpLCBvcicvPgorICAgICAgPGFyZyBuYW1lPSdoYW5kbGVyJyB0eXBlPSd4bWxDaGFyRW5jb2RpbmdIYW5kbGVyIConIGluZm89J2NoYXIgZW5jb25kaW5nIHRyYW5zZm9ybWF0aW9uIGRhdGEgc3RydWN0dXJlJy8+CisgICAgICA8YXJnIG5hbWU9J291dCcgdHlwZT0neG1sQnVmZmVyUHRyJyBpbmZvPSdhbiB4bWxCdWZmZXIgZm9yIHRoZSBvdXRwdXQuJy8+CisgICAgICA8YXJnIG5hbWU9J2luJyB0eXBlPSd4bWxCdWZmZXJQdHInIGluZm89J2FuIHhtbEJ1ZmZlciBmb3IgdGhlIGlucHV0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sQ2hhckVuY0luRnVuYycgZmlsZT0nZW5jb2RpbmcnIG1vZHVsZT0nZW5jb2RpbmcnPgorICAgICAgPGluZm8+R2VuZXJpYyBmcm9udC1lbmQgZm9yIHRoZSBlbmNvZGluZyBoYW5kbGVyIGlucHV0IGZ1bmN0aW9uPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J3RoZSBudW1iZXIgb2YgYnl0ZSB3cml0dGVuIGlmIHN1Y2Nlc3MsIG9yIC0xIGdlbmVyYWwgZXJyb3IgLTIgaWYgdGhlIHRyYW5zY29kaW5nIGZhaWxzIChmb3IgKmluIGlzIG5vdCB2YWxpZCB1dGY4IHN0cmluZyBvciB0aGUgcmVzdWx0IG9mIHRyYW5zZm9ybWF0aW9uIGNhbiZhcG9zO3QgZml0IGludG8gdGhlIGVuY29kaW5nIHdlIHdhbnQpLCBvcicvPgorICAgICAgPGFyZyBuYW1lPSdoYW5kbGVyJyB0eXBlPSd4bWxDaGFyRW5jb2RpbmdIYW5kbGVyIConIGluZm89J2NoYXIgZW5jb2RpbmcgdHJhbnNmb3JtYXRpb24gZGF0YSBzdHJ1Y3R1cmUnLz4KKyAgICAgIDxhcmcgbmFtZT0nb3V0JyB0eXBlPSd4bWxCdWZmZXJQdHInIGluZm89J2FuIHhtbEJ1ZmZlciBmb3IgdGhlIG91dHB1dC4nLz4KKyAgICAgIDxhcmcgbmFtZT0naW4nIHR5cGU9J3htbEJ1ZmZlclB0cicgaW5mbz0nYW4geG1sQnVmZmVyIGZvciB0aGUgaW5wdXQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxDaGFyRW5jT3V0RnVuYycgZmlsZT0nZW5jb2RpbmcnIG1vZHVsZT0nZW5jb2RpbmcnPgorICAgICAgPGluZm8+R2VuZXJpYyBmcm9udC1lbmQgZm9yIHRoZSBlbmNvZGluZyBoYW5kbGVyIG91dHB1dCBmdW5jdGlvbiBhIGZpcnN0IGNhbGwgd2l0aCBAaW4gPT0gTlVMTCBoYXMgdG8gYmUgbWFkZSBmaXJzIHRvIGluaXRpYXRlIHRoZSBvdXRwdXQgaW4gY2FzZSBvZiBub24tc3RhdGVsZXNzIGVuY29kaW5nIG5lZWRpbmcgdG8gaW5pdGlhdGUgdGhlaXIgc3RhdGUgb3IgdGhlIG91dHB1dCAobGlrZSB0aGUgQk9NIGluIFVURjE2KS4gSW4gY2FzZSBvZiBVVEY4IHNlcXVlbmNlIGNvbnZlcnNpb24gZXJyb3JzIGZvciB0aGUgZ2l2ZW4gZW5jb2RlciwgdGhlIGNvbnRlbnQgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IHJlbWFwcGVkIHRvIGEgQ2hhclJlZiBzZXF1ZW5jZS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndGhlIG51bWJlciBvZiBieXRlIHdyaXR0ZW4gaWYgc3VjY2Vzcywgb3IgLTEgZ2VuZXJhbCBlcnJvciAtMiBpZiB0aGUgdHJhbnNjb2RpbmcgZmFpbHMgKGZvciAqaW4gaXMgbm90IHZhbGlkIHV0Zjggc3RyaW5nIG9yIHRoZSByZXN1bHQgb2YgdHJhbnNmb3JtYXRpb24gY2FuJmFwb3M7dCBmaXQgaW50byB0aGUgZW5jb2Rpbmcgd2Ugd2FudCksIG9yJy8+CisgICAgICA8YXJnIG5hbWU9J2hhbmRsZXInIHR5cGU9J3htbENoYXJFbmNvZGluZ0hhbmRsZXIgKicgaW5mbz0nY2hhciBlbmNvbmRpbmcgdHJhbnNmb3JtYXRpb24gZGF0YSBzdHJ1Y3R1cmUnLz4KKyAgICAgIDxhcmcgbmFtZT0nb3V0JyB0eXBlPSd4bWxCdWZmZXJQdHInIGluZm89J2FuIHhtbEJ1ZmZlciBmb3IgdGhlIG91dHB1dC4nLz4KKyAgICAgIDxhcmcgbmFtZT0naW4nIHR5cGU9J3htbEJ1ZmZlclB0cicgaW5mbz0nYW4geG1sQnVmZmVyIGZvciB0aGUgaW5wdXQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdHlwZSBuYW1lPSd4bWxDaGFyRW5jb2RpbmdJbnB1dEZ1bmMnIGZpbGU9J2VuY29kaW5nJyBtb2R1bGU9J2VuY29kaW5nJz4KKyAgICAgIDxpbmZvPlRha2UgYSBibG9jayBvZiBjaGFycyBpbiB0aGUgb3JpZ2luYWwgZW5jb2RpbmcgYW5kIHRyeSB0byBjb252ZXJ0IGl0IHRvIGFuIFVURi04IGJsb2NrIG9mIGNoYXJzIG91dC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndGhlIG51bWJlciBvZiBieXRlcyB3cml0dGVuLCAtMSBpZiBsYWNrIG9mIHNwYWNlLCBvciAtMiBpZiB0aGUgdHJhbnNjb2RpbmcgZmFpbGVkLiBUaGUgdmFsdWUgb2YgQGlubGVuIGFmdGVyIHJldHVybiBpcyB0aGUgbnVtYmVyIG9mIG9jdGV0cyBjb25zdW1lZCBpZiB0aGUgcmV0dXJuIHZhbHVlIGlzIHBvc2l0aXZlLCBlbHNlIHVucHJlZGljdGlhYmxlLiBUaGUgdmFsdWUgb2YgQG91dGxlbiBhZnRlciByZXR1cm4gaXMgdGhlIG51bWJlciBvZiBvY3RldHMgY29uc3VtZWQuJy8+CisgICAgICA8YXJnIG5hbWU9J291dCcgdHlwZT0ndW5zaWduZWQgY2hhciAqJyBpbmZvPSdhIHBvaW50ZXIgdG8gYW4gYXJyYXkgb2YgYnl0ZXMgdG8gc3RvcmUgdGhlIFVURi04IHJlc3VsdCcvPgorICAgICAgPGFyZyBuYW1lPSdvdXRsZW4nIHR5cGU9J2ludCAqJyBpbmZvPSd0aGUgbGVuZ3RoIG9mIEBvdXQnLz4KKyAgICAgIDxhcmcgbmFtZT0naW4nIHR5cGU9J2NvbnN0IHVuc2lnbmVkIGNoYXIgKicgaW5mbz0nYSBwb2ludGVyIHRvIGFuIGFycmF5IG9mIGNoYXJzIGluIHRoZSBvcmlnaW5hbCBlbmNvZGluZycvPgorICAgICAgPGFyZyBuYW1lPSdpbmxlbicgdHlwZT0naW50IConIGluZm89J3RoZSBsZW5ndGggb2YgQGluJy8+CisgICAgPC9mdW5jdHlwZT4KKyAgICA8ZnVuY3R5cGUgbmFtZT0neG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYycgZmlsZT0nZW5jb2RpbmcnIG1vZHVsZT0nZW5jb2RpbmcnPgorICAgICAgPGluZm8+VGFrZSBhIGJsb2NrIG9mIFVURi04IGNoYXJzIGluIGFuZCB0cnkgdG8gY29udmVydCBpdCB0byBhbm90aGVyIGVuY29kaW5nLiBOb3RlOiBhIGZpcnN0IGNhbGwgZGVzaWduZWQgdG8gcHJvZHVjZSBoZWFkaW5nIGluZm8gaXMgY2FsbGVkIHdpdGggaW4gPSBOVUxMLiBJZiBzdGF0ZWZ1bCB0aGlzIHNob3VsZCBhbHNvIGluaXRpYWxpemUgdGhlIGVuY29kZXIgc3RhdGUuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J3RoZSBudW1iZXIgb2YgYnl0ZXMgd3JpdHRlbiwgLTEgaWYgbGFjayBvZiBzcGFjZSwgb3IgLTIgaWYgdGhlIHRyYW5zY29kaW5nIGZhaWxlZC4gVGhlIHZhbHVlIG9mIEBpbmxlbiBhZnRlciByZXR1cm4gaXMgdGhlIG51bWJlciBvZiBvY3RldHMgY29uc3VtZWQgaWYgdGhlIHJldHVybiB2YWx1ZSBpcyBwb3NpdGl2ZSwgZWxzZSB1bnByZWRpY3RpYWJsZS4gVGhlIHZhbHVlIG9mIEBvdXRsZW4gYWZ0ZXIgcmV0dXJuIGlzIHRoZSBudW1iZXIgb2Ygb2N0ZXRzIHByb2R1Y2VkLicvPgorICAgICAgPGFyZyBuYW1lPSdvdXQnIHR5cGU9J3Vuc2lnbmVkIGNoYXIgKicgaW5mbz0nYSBwb2ludGVyIHRvIGFuIGFycmF5IG9mIGJ5dGVzIHRvIHN0b3JlIHRoZSByZXN1bHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nb3V0bGVuJyB0eXBlPSdpbnQgKicgaW5mbz0ndGhlIGxlbmd0aCBvZiBAb3V0Jy8+CisgICAgICA8YXJnIG5hbWU9J2luJyB0eXBlPSdjb25zdCB1bnNpZ25lZCBjaGFyIConIGluZm89J2EgcG9pbnRlciB0byBhbiBhcnJheSBvZiBVVEYtOCBjaGFycycvPgorICAgICAgPGFyZyBuYW1lPSdpbmxlbicgdHlwZT0naW50IConIGluZm89J3RoZSBsZW5ndGggb2YgQGluJy8+CisgICAgPC9mdW5jdHlwZT4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sQ2hhckluUmFuZ2UnIGZpbGU9J2NodmFsaWQnIG1vZHVsZT0nY2h2YWxpZCc+CisgICAgICA8aW5mbz5Eb2VzIGEgYmluYXJ5IHNlYXJjaCBvZiB0aGUgcmFuZ2UgdGFibGUgdG8gZGV0ZXJtaW5lIGlmIGNoYXIgaXMgdmFsaWQ8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndHJ1ZSBpZiBjaGFyYWN0ZXIgdmFsaWQsIGZhbHNlIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSd2YWwnIHR5cGU9J3Vuc2lnbmVkIGludCcgaW5mbz0nY2hhcmFjdGVyIHRvIGJlIHZhbGlkYXRlZCcvPgorICAgICAgPGFyZyBuYW1lPSdycHRyJyB0eXBlPSdjb25zdCB4bWxDaFJhbmdlR3JvdXAgKicgaW5mbz0ncG9pbnRlciB0byByYW5nZSB0byBiZSB1c2VkIHRvIHZhbGlkYXRlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sQ2hhclN0cmR1cCcgZmlsZT0neG1sc3RyaW5nJyBtb2R1bGU9J3htbHN0cmluZyc+CisgICAgICA8aW5mbz5hIHN0cmR1cCBmb3IgY2hhciZhcG9zO3MgdG8geG1sQ2hhciZhcG9zO3M8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbENoYXIgKicgaW5mbz0nYSBuZXcgeG1sQ2hhciAqIG9yIE5VTEwnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3VyJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBpbnB1dCBjaGFyIConLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxDaGFyU3RybmR1cCcgZmlsZT0neG1sc3RyaW5nJyBtb2R1bGU9J3htbHN0cmluZyc+CisgICAgICA8aW5mbz5hIHN0cm5kdXAgZm9yIGNoYXImYXBvcztzIHRvIHhtbENoYXImYXBvcztzPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxDaGFyIConIGluZm89J2EgbmV3IHhtbENoYXIgKiBvciBOVUxMJy8+CisgICAgICA8YXJnIG5hbWU9J2N1cicgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSd0aGUgaW5wdXQgY2hhciAqJy8+CisgICAgICA8YXJnIG5hbWU9J2xlbicgdHlwZT0naW50JyBpbmZvPSd0aGUgbGVuIG9mIEBjdXInLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxDaGVja0ZpbGVuYW1lJyBmaWxlPSd4bWxJTycgbW9kdWxlPSd4bWxJTyc+CisgICAgICA8aW5mbz5mdW5jdGlvbiBjaGVja3MgdG8gc2VlIGlmIEBwYXRoIGlzIGEgdmFsaWQgc291cmNlIChmaWxlLCBzb2NrZXQuLi4pIGZvciBYTUwuICBpZiBzdGF0IGlzIG5vdCBhdmFpbGFibGUgb24gdGhlIHRhcmdldCBtYWNoaW5lLDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxLiAgaWYgc3RhdCBmYWlscywgcmV0dXJucyAwIChpZiBjYWxsaW5nIHN0YXQgb24gdGhlIGZpbGVuYW1lIGZhaWxzLCBpdCBjYW4mYXBvczt0IGJlIHJpZ2h0KS4gaWYgc3RhdCBzdWNjZWVkcyBhbmQgdGhlIGZpbGUgaXMgYSBkaXJlY3RvcnksIHJldHVybnMgMi4gIG90aGVyd2lzZSByZXR1cm5zIDEuJy8+CisgICAgICA8YXJnIG5hbWU9J3BhdGgnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIHBhdGggdG8gY2hlY2snLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxDaGVja0hUVFBJbnB1dCcgZmlsZT0neG1sSU8nIG1vZHVsZT0neG1sSU8nPgorICAgICAgPGluZm8+Q2hlY2sgYW4gaW5wdXQgaW4gY2FzZSBpdCB3YXMgY3JlYXRlZCBmcm9tIGFuIEhUVFAgc3RyZWFtLCBpbiB0aGF0IGNhc2UgaXQgd2lsbCBoYW5kbGUgZW5jb2RpbmcgYW5kIHVwZGF0ZSBvZiB0aGUgYmFzZSBVUkwgaW4gY2FzZSBvZiByZWRpcmVjdGlvbi4gSXQgYWxzbyBjaGVja3MgZm9yIEhUVFAgZXJyb3JzIGluIHdoaWNoIGNhc2UgdGhlIGlucHV0IGlzIGNsZWFubHkgZnJlZWQgdXAgYW5kIGFuIGFwcHJvcHJpYXRlIGVycm9yIGlzIHJhaXNlZCBpbiBjb250ZXh0PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxQYXJzZXJJbnB1dFB0cicgaW5mbz0ndGhlIGlucHV0IG9yIE5VTEwgaW4gY2FzZSBvZiBIVFRQIGVycm9yLicvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxQYXJzZXJDdHh0UHRyJyBpbmZvPSdhbiBYTUwgcGFyc2VyIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0ncmV0JyB0eXBlPSd4bWxQYXJzZXJJbnB1dFB0cicgaW5mbz0nYW4gWE1MIHBhcnNlciBpbnB1dCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbENoZWNrTGFuZ3VhZ2VJRCcgZmlsZT0ncGFyc2VySW50ZXJuYWxzJyBtb2R1bGU9J3BhcnNlcic+CisgICAgICA8aW5mbz5DaGVja3MgdGhhdCB0aGUgdmFsdWUgY29uZm9ybXMgdG8gdGhlIExhbmd1YWdlSUQgcHJvZHVjdGlvbjogIE5PVEU6IHRoaXMgaXMgc29tZXdoYXQgZGVwcmVjYXRlZCwgdGhvc2UgcHJvZHVjdGlvbnMgd2VyZSByZW1vdmVkIGZyb20gdGhlIFhNTCBTZWNvbmQgZWRpdGlvbi4gIFszM10gTGFuZ3VhZ2VJRCA6Oj0gTGFuZ2NvZGUgKCZhcG9zOy0mYXBvczsgU3ViY29kZSkqIFszNF0gTGFuZ2NvZGUgOjo9IElTTzYzOUNvZGUgfCAgSWFuYUNvZGUgfCAgVXNlckNvZGUgWzM1XSBJU082MzlDb2RlIDo6PSAoW2Etel0gfCBbQS1aXSkgKFthLXpdIHwgW0EtWl0pIFszNl0gSWFuYUNvZGUgOjo9ICgmYXBvcztpJmFwb3M7IHwgJmFwb3M7SSZhcG9zOykgJmFwb3M7LSZhcG9zOyAoW2Etel0gfCBbQS1aXSkrIFszN10gVXNlckNvZGUgOjo9ICgmYXBvczt4JmFwb3M7IHwgJmFwb3M7WCZhcG9zOykgJmFwb3M7LSZhcG9zOyAoW2Etel0gfCBbQS1aXSkrIFszOF0gU3ViY29kZSA6Oj0gKFthLXpdIHwgW0EtWl0pKyAgVGhlIGN1cnJlbnQgUkVDIHJlZmVyZW5jZSB0aGUgc3VjZXNzb3JzIG9mIFJGQyAxNzY2LCBjdXJyZW50bHkgNTY0NiAgaHR0cDovL3d3dy5yZmMtZWRpdG9yLm9yZy9yZmMvcmZjNTY0Ni50eHQgbGFuZ3RhZyAgICAgICA9IGxhbmd1YWdlIFsmcXVvdDstJnF1b3Q7IHNjcmlwdF0gWyZxdW90Oy0mcXVvdDsgcmVnaW9uXSAqKCZxdW90Oy0mcXVvdDsgdmFyaWFudCkgKigmcXVvdDstJnF1b3Q7IGV4dGVuc2lvbikgWyZxdW90Oy0mcXVvdDsgcHJpdmF0ZXVzZV0gbGFuZ3VhZ2UgICAgICA9IDIqM0FMUEhBICAgICAgICAgICAgOyBzaG9ydGVzdCBJU08gNjM5IGNvZGUgWyZxdW90Oy0mcXVvdDsgZXh0bGFuZ10gICAgICAgOyBzb21ldGltZXMgZm9sbG93ZWQgYnkgOyBleHRlbmRlZCBsYW5ndWFnZSBzdWJ0YWdzIC8gNEFMUEhBICAgICAgICAgICAgICA7IG9yIHJlc2VydmVkIGZvciBmdXR1cmUgdXNlIC8gNSo4QUxQSEEgICAgICAgICAgICA7IG9yIHJlZ2lzdGVyZWQgbGFuZ3VhZ2Ugc3VidGFnICBleHRsYW5nICAgICAgID0gM0FMUEhBICAgICAgICAgICAgICA7IHNlbGVjdGVkIElTTyA2MzkgY29kZXMgKjIoJnF1b3Q7LSZxdW90OyAzQUxQSEEpICAgICAgOyBwZXJtYW5lbnRseSByZXNlcnZlZCAgc2NyaXB0ICAgICAgICA9IDRBTFBIQSAgICAgICAgICAgICAgOyBJU08gMTU5MjQgY29kZSAgcmVnaW9uICAgICAgICA9IDJBTFBIQSAgICAgICAgICAgICAgOyBJU08gMzE2Ni0xIGNvZGUgLyAzRElHSVQgICAgICAgICAgICAgIDsgVU4gTS40OSBjb2RlICB2YXJpYW50ICAgICAgID0gNSo4YWxwaGFudW0gICAgICAgICA7IHJlZ2lzdGVyZWQgdmFyaWFudHMgLyAoRElHSVQgM2FscGhhbnVtKSAgZXh0ZW5zaW9uICAgICA9IHNpbmdsZXRvbiAxKigmcXVvdDstJnF1b3Q7ICgyKjhhbHBoYW51bSkpICA7IFNpbmdsZSBhbHBoYW51bWVyaWNzIDsgJnF1b3Q7eCZxdW90OyByZXNlcnZlZCBmb3IgcHJpdmF0ZSB1c2Ugc2luZ2xldG9uICAgICA9IERJR0lUICAgICAgICAgICAgICAgOyAwIC0gOSAvICV4NDEtNTcgICAgICAgICAgICAgOyBBIC0gVyAvICV4NTktNUEgICAgICAgICAgICAgOyBZIC0gWiAvICV4NjEtNzcgICAgICAgICAgICAgOyBhIC0gdyAvICV4NzktN0EgICAgICAgICAgICAgOyB5IC0geiAgaXQgc291bmRzIHJpZ2h0IHRvIHN0aWxsIGFsbG93IElycmVndWxhciBpLXh4eCBJQU5BIGFuZCB1c2VyIGNvZGVzIHRvbyBUaGUgcGFyc2VyIGJlbG93IGRvZXNuJmFwb3M7dCB0cnkgdG8gY29wZSB3aXRoIGV4dGVuc2lvbiBvciBwcml2YXRldXNlIHRoYXQgY291bGQgYmUgYWRkZWQgYnV0IHRoYXQmYXBvcztzIG5vdCBpbnRlcm9wZXJhYmxlIGFueXdheTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIGNvcnJlY3QgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nbGFuZycgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSdwb2ludGVyIHRvIHRoZSBzdHJpbmcgdmFsdWUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxDaGVja1VURjgnIGZpbGU9J3htbHN0cmluZycgbW9kdWxlPSd4bWxzdHJpbmcnPgorICAgICAgPGluZm8+Q2hlY2tzIEB1dGYgZm9yIGJlaW5nIHZhbGlkIFVURi04LiBAdXRmIGlzIGFzc3VtZWQgdG8gYmUgbnVsbC10ZXJtaW5hdGVkLiBUaGlzIGZ1bmN0aW9uIGlzIG5vdCBzdXBlci1zdHJpY3QsIGFzIGl0IHdpbGwgYWxsb3cgbG9uZ2VyIFVURi04IHNlcXVlbmNlcyB0aGFuIG5lY2Vzc2FyeS4gTm90ZSB0aGF0IEphdmEgaXMgY2FwYWJsZSBvZiBwcm9kdWNpbmcgdGhlc2Ugc2VxdWVuY2VzIGlmIHByb3Zva2VkLiBBbHNvIG5vdGUsIHRoaXMgcm91dGluZSBjaGVja3MgZm9yIHRoZSA0LWJ5dGUgbWF4aW11bSBzaXplLCBidXQgZG9lcyBub3QgY2hlY2sgZm9yIDB4MTBmZmZmIG1heGltdW0gdmFsdWUuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J3ZhbHVlOiB0cnVlIGlmIEB1dGYgaXMgdmFsaWQuJy8+CisgICAgICA8YXJnIG5hbWU9J3V0ZicgdHlwZT0nY29uc3QgdW5zaWduZWQgY2hhciAqJyBpbmZvPSdQb2ludGVyIHRvIHB1dGF0aXZlIFVURi04IGVuY29kZWQgc3RyaW5nLicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbENoZWNrVmVyc2lvbicgZmlsZT0neG1sdmVyc2lvbicgbW9kdWxlPSdwYXJzZXJJbnRlcm5hbHMnPgorICAgICAgPGluZm8+Y2hlY2sgdGhlIGNvbXBpbGVkIGxpYiB2ZXJzaW9uIGFnYWluc3QgdGhlIGluY2x1ZGUgb25lLiBUaGlzIGNhbiB3YXJuIG9yIGltbWVkaWF0ZWx5IGtpbGwgdGhlIGFwcGxpY2F0aW9uPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J3ZlcnNpb24nIHR5cGU9J2ludCcgaW5mbz0ndGhlIGluY2x1ZGUgdmVyc2lvbiBudW1iZXInLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxDaGlsZEVsZW1lbnRDb3VudCcgZmlsZT0ndHJlZScgbW9kdWxlPSd0cmVlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5GaW5kcyB0aGUgY3VycmVudCBudW1iZXIgb2YgY2hpbGQgbm9kZXMgb2YgdGhhdCBlbGVtZW50IHdoaWNoIGFyZSBlbGVtZW50IG5vZGVzLiBOb3RlIHRoZSBoYW5kbGluZyBvZiBlbnRpdGllcyByZWZlcmVuY2VzIGlzIGRpZmZlcmVudCB0aGFuIGluIHRoZSBXM0MgRE9NIGVsZW1lbnQgdHJhdmVyc2FsIHNwZWMgc2luY2Ugd2UgZG9uJmFwb3M7dCBoYXZlIGJhY2sgcmVmZXJlbmNlIGZyb20gZW50aXRpZXMgY29udGVudCB0byBlbnRpdGllcyByZWZlcmVuY2VzLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndW5zaWduZWQgbG9uZycgaW5mbz0ndGhlIGNvdW50IG9mIGVsZW1lbnQgY2hpbGQgb3IgMCBpZiBub3QgYXZhaWxhYmxlJy8+CisgICAgICA8YXJnIG5hbWU9J3BhcmVudCcgdHlwZT0neG1sTm9kZVB0cicgaW5mbz0ndGhlIHBhcmVudCBub2RlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sQ2xlYW51cENoYXJFbmNvZGluZ0hhbmRsZXJzJyBmaWxlPSdlbmNvZGluZycgbW9kdWxlPSdlbmNvZGluZyc+CisgICAgICA8aW5mbz5DbGVhbnVwIHRoZSBtZW1vcnkgYWxsb2NhdGVkIGZvciB0aGUgY2hhciBlbmNvZGluZyBzdXBwb3J0LCBpdCB1bnJlZ2lzdGVycyBhbGwgdGhlIGVuY29kaW5nIGhhbmRsZXJzIGFuZCB0aGUgYWxpYXNlcy48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxDbGVhbnVwRW5jb2RpbmdBbGlhc2VzJyBmaWxlPSdlbmNvZGluZycgbW9kdWxlPSdlbmNvZGluZyc+CisgICAgICA8aW5mbz5VbnJlZ2lzdGVycyBhbGwgYWxpYXNlczwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbENsZWFudXBHbG9iYWxzJyBmaWxlPSdnbG9iYWxzJyBtb2R1bGU9J2dsb2JhbHMnPgorICAgICAgPGluZm8+QWRkaXRpb25hbCBjbGVhbnVwIGZvciBtdWx0aS10aHJlYWRpbmc8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxDbGVhbnVwSW5wdXRDYWxsYmFja3MnIGZpbGU9J3htbElPJyBtb2R1bGU9J3htbElPJz4KKyAgICAgIDxpbmZvPmNsZWFycyB0aGUgZW50aXJlIGlucHV0IGNhbGxiYWNrIHRhYmxlLiB0aGlzIGluY2x1ZGVzIHRoZSBjb21waWxlZC1pbiBJL08uPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sQ2xlYW51cE1lbW9yeScgZmlsZT0neG1sbWVtb3J5JyBtb2R1bGU9J3htbG1lbW9yeSc+CisgICAgICA8aW5mbz5GcmVlIHVwIGFsbCB0aGUgbWVtb3J5IGFsbG9jYXRlZCBieSB0aGUgbGlicmFyeSBmb3IgaXRzIG93biB1c2UuIFRoaXMgc2hvdWxkIG5vdCBiZSBjYWxsZWQgYnkgdXNlciBsZXZlbCBjb2RlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbENsZWFudXBPdXRwdXRDYWxsYmFja3MnIGZpbGU9J3htbElPJyBtb2R1bGU9J3htbElPJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPmNsZWFycyB0aGUgZW50aXJlIG91dHB1dCBjYWxsYmFjayB0YWJsZS4gdGhpcyBpbmNsdWRlcyB0aGUgY29tcGlsZWQtaW4gSS9PIGNhbGxiYWNrcy48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxDbGVhbnVwUGFyc2VyJyBmaWxlPSdwYXJzZXInIG1vZHVsZT0ncGFyc2VyJz4KKyAgICAgIDxpbmZvPlRoaXMgZnVuY3Rpb24gbmFtZSBpcyBzb21ld2hhdCBtaXNsZWFkaW5nLiBJdCBkb2VzIG5vdCBjbGVhbiB1cCBwYXJzZXIgc3RhdGUsIGl0IGNsZWFucyB1cCBtZW1vcnkgYWxsb2NhdGVkIGJ5IHRoZSBsaWJyYXJ5IGl0c2VsZi4gSXQgaXMgYSBjbGVhbnVwIGZ1bmN0aW9uIGZvciB0aGUgWE1MIGxpYnJhcnkuIEl0IHRyaWVzIHRvIHJlY2xhaW0gYWxsIHJlbGF0ZWQgZ2xvYmFsIG1lbW9yeSBhbGxvY2F0ZWQgZm9yIHRoZSBsaWJyYXJ5IHByb2Nlc3NpbmcuIEl0IGRvZXNuJmFwb3M7dCBkZWFsbG9jYXRlIGFueSBkb2N1bWVudCByZWxhdGVkIG1lbW9yeS4gT25lIHNob3VsZCBjYWxsIHhtbENsZWFudXBQYXJzZXIoKSBvbmx5IHdoZW4gdGhlIHByb2Nlc3MgaGFzIGZpbmlzaGVkIHVzaW5nIHRoZSBsaWJyYXJ5IGFuZCBhbGwgWE1ML0hUTUwgZG9jdW1lbnRzIGJ1aWx0IHdpdGggaXQuIFNlZSBhbHNvIHhtbEluaXRQYXJzZXIoKSB3aGljaCBoYXMgdGhlIG9wcG9zaXRlIGZ1bmN0aW9uIG9mIHByZXBhcmluZyB0aGUgbGlicmFyeSBmb3Igb3BlcmF0aW9ucy4gIFdBUk5JTkc6IGlmIHlvdXIgYXBwbGljYXRpb24gaXMgbXVsdGl0aHJlYWRlZCBvciBoYXMgcGx1Z2luIHN1cHBvcnQgY2FsbGluZyB0aGlzIG1heSBjcmFzaCB0aGUgYXBwbGljYXRpb24gaWYgYW5vdGhlciB0aHJlYWQgb3IgYSBwbHVnaW4gaXMgc3RpbGwgdXNpbmcgbGlieG1sMi4gSXQmYXBvcztzIHNvbWV0aW1lcyB2ZXJ5IGhhcmQgdG8gZ3Vlc3MgaWYgbGlieG1sMiBpcyBpbiB1c2UgaW4gdGhlIGFwcGxpY2F0aW9uLCBzb21lIGxpYnJhcmllcyBvciBwbHVnaW5zIG1heSB1c2UgaXQgd2l0aG91dCBub3RpY2UuIEluIGNhc2Ugb2YgZG91YnQgYWJzdGFpbiBmcm9tIGNhbGxpbmcgdGhpcyBmdW5jdGlvbiBvciBkbyBpdCBqdXN0IGJlZm9yZSBjYWxsaW5nIGV4aXQoKSB0byBhdm9pZCBsZWFrIHJlcG9ydHMgZnJvbSB2YWxncmluZCAhPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sQ2xlYW51cFByZWRlZmluZWRFbnRpdGllcycgZmlsZT0nZW50aXRpZXMnIG1vZHVsZT0nbGVnYWN5Jz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0xFR0FDWV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNsZWFudXAgdXAgdGhlIHByZWRlZmluZWQgZW50aXRpZXMgdGFibGUuIERlcHJlY2F0ZWQgY2FsbDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbENsZWFudXBUaHJlYWRzJyBmaWxlPSd0aHJlYWRzJyBtb2R1bGU9J3RocmVhZHMnPgorICAgICAgPGluZm8+eG1sQ2xlYW51cFRocmVhZHMoKSBpcyB1c2VkIHRvIHRvIGNsZWFudXAgYWxsIHRoZSB0aHJlYWQgcmVsYXRlZCBkYXRhIG9mIHRoZSBsaWJ4bWwyIGxpYnJhcnkgb25jZSBwcm9jZXNzaW5nIGhhcyBlbmRlZC4gIFdBUk5JTkc6IGlmIHlvdXIgYXBwbGljYXRpb24gaXMgbXVsdGl0aHJlYWRlZCBvciBoYXMgcGx1Z2luIHN1cHBvcnQgY2FsbGluZyB0aGlzIG1heSBjcmFzaCB0aGUgYXBwbGljYXRpb24gaWYgYW5vdGhlciB0aHJlYWQgb3IgYSBwbHVnaW4gaXMgc3RpbGwgdXNpbmcgbGlieG1sMi4gSXQmYXBvcztzIHNvbWV0aW1lcyB2ZXJ5IGhhcmQgdG8gZ3Vlc3MgaWYgbGlieG1sMiBpcyBpbiB1c2UgaW4gdGhlIGFwcGxpY2F0aW9uLCBzb21lIGxpYnJhcmllcyBvciBwbHVnaW5zIG1heSB1c2UgaXQgd2l0aG91dCBub3RpY2UuIEluIGNhc2Ugb2YgZG91YnQgYWJzdGFpbiBmcm9tIGNhbGxpbmcgdGhpcyBmdW5jdGlvbiBvciBkbyBpdCBqdXN0IGJlZm9yZSBjYWxsaW5nIGV4aXQoKSB0byBhdm9pZCBsZWFrIHJlcG9ydHMgZnJvbSB2YWxncmluZCAhPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sQ2xlYXJOb2RlSW5mb1NlcScgZmlsZT0ncGFyc2VyJyBtb2R1bGU9J3BhcnNlckludGVybmFscyc+CisgICAgICA8aW5mbz4tLSBDbGVhciAocmVsZWFzZSBtZW1vcnkgYW5kIHJlaW5pdGlhbGl6ZSkgbm9kZSBpbmZvIHNlcXVlbmNlPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J3NlcScgdHlwZT0neG1sUGFyc2VyTm9kZUluZm9TZXFQdHInIGluZm89J2Egbm9kZSBpbmZvIHNlcXVlbmNlIHBvaW50ZXInLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxDbGVhclBhcnNlckN0eHQnIGZpbGU9J3BhcnNlcicgbW9kdWxlPSdwYXJzZXJJbnRlcm5hbHMnPgorICAgICAgPGluZm8+Q2xlYXIgKHJlbGVhc2Ugb3duZWQgcmVzb3VyY2VzKSBhbmQgcmVpbml0aWFsaXplIGEgcGFyc2VyIGNvbnRleHQ8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sUGFyc2VyQ3R4dFB0cicgaW5mbz0nYW4gWE1MIHBhcnNlciBjb250ZXh0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sQ29udmVydFNHTUxDYXRhbG9nJyBmaWxlPSdjYXRhbG9nJyBtb2R1bGU9J2NhdGFsb2cnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfQ0FUQUxPR19FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNvbnZlcnQgYWxsIHRoZSBTR01MIGNhdGFsb2cgZW50cmllcyBhcyBYTUwgb25lczwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgbnVtYmVyIG9mIGVudHJpZXMgY29udmVydGVkIGlmIHN1Y2Nlc3NmdWwsIC0xIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdjYXRhbCcgdHlwZT0neG1sQ2F0YWxvZ1B0cicgaW5mbz0ndGhlIGNhdGFsb2cnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxDb3B5QXR0cmlidXRlVGFibGUnIGZpbGU9J3ZhbGlkJyBtb2R1bGU9J3ZhbGlkJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5CdWlsZCBhIGNvcHkgb2YgYW4gYXR0cmlidXRlIHRhYmxlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sQXR0cmlidXRlVGFibGVQdHInIGluZm89J3RoZSBuZXcgeG1sQXR0cmlidXRlVGFibGVQdHIgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLicvPgorICAgICAgPGFyZyBuYW1lPSd0YWJsZScgdHlwZT0neG1sQXR0cmlidXRlVGFibGVQdHInIGluZm89J0FuIGF0dHJpYnV0ZSB0YWJsZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbENvcHlDaGFyJyBmaWxlPSdwYXJzZXJJbnRlcm5hbHMnIG1vZHVsZT0ncGFyc2VySW50ZXJuYWxzJz4KKyAgICAgIDxpbmZvPmFwcGVuZCB0aGUgY2hhciB2YWx1ZSBpbiB0aGUgYXJyYXk8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndGhlIG51bWJlciBvZiB4bWxDaGFyIHdyaXR0ZW4nLz4KKyAgICAgIDxhcmcgbmFtZT0nbGVuJyB0eXBlPSdpbnQnIGluZm89J0lnbm9yZWQsIGNvbXBhdGliaWxpdHknLz4KKyAgICAgIDxhcmcgbmFtZT0nb3V0JyB0eXBlPSd4bWxDaGFyIConIGluZm89J3BvaW50ZXIgdG8gYW4gYXJyYXkgb2YgeG1sQ2hhcicvPgorICAgICAgPGFyZyBuYW1lPSd2YWwnIHR5cGU9J2ludCcgaW5mbz0ndGhlIGNoYXIgdmFsdWUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxDb3B5Q2hhck11bHRpQnl0ZScgZmlsZT0ncGFyc2VySW50ZXJuYWxzJyBtb2R1bGU9J3BhcnNlckludGVybmFscyc+CisgICAgICA8aW5mbz5hcHBlbmQgdGhlIGNoYXIgdmFsdWUgaW4gdGhlIGFycmF5PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J3RoZSBudW1iZXIgb2YgeG1sQ2hhciB3cml0dGVuJy8+CisgICAgICA8YXJnIG5hbWU9J291dCcgdHlwZT0neG1sQ2hhciAqJyBpbmZvPSdwb2ludGVyIHRvIGFuIGFycmF5IG9mIHhtbENoYXInLz4KKyAgICAgIDxhcmcgbmFtZT0ndmFsJyB0eXBlPSdpbnQnIGluZm89J3RoZSBjaGFyIHZhbHVlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sQ29weURvYycgZmlsZT0ndHJlZScgbW9kdWxlPSd0cmVlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkRvIGEgY29weSBvZiB0aGUgZG9jdW1lbnQgaW5mby4gSWYgcmVjdXJzaXZlLCB0aGUgY29udGVudCB0cmVlIHdpbGwgYmUgY29waWVkIHRvbyBhcyB3ZWxsIGFzIERURCwgbmFtZXNwYWNlcyBhbmQgZW50aXRpZXMuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxEb2NQdHInIGluZm89J2EgbmV3ICN4bWxEb2NQdHIsIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci4nLz4KKyAgICAgIDxhcmcgbmFtZT0nZG9jJyB0eXBlPSd4bWxEb2NQdHInIGluZm89J3RoZSBkb2N1bWVudCcvPgorICAgICAgPGFyZyBuYW1lPSdyZWN1cnNpdmUnIHR5cGU9J2ludCcgaW5mbz0naWYgbm90IHplcm8gZG8gYSByZWN1cnNpdmUgY29weS4nLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxDb3B5RG9jRWxlbWVudENvbnRlbnQnIGZpbGU9J3ZhbGlkJyBtb2R1bGU9J3ZhbGlkJz4KKyAgICAgIDxpbmZvPkJ1aWxkIGEgY29weSBvZiBhbiBlbGVtZW50IGNvbnRlbnQgZGVzY3JpcHRpb24uPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxFbGVtZW50Q29udGVudFB0cicgaW5mbz0ndGhlIG5ldyB4bWxFbGVtZW50Q29udGVudFB0ciBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuJy8+CisgICAgICA8YXJnIG5hbWU9J2RvYycgdHlwZT0neG1sRG9jUHRyJyBpbmZvPSd0aGUgZG9jdW1lbnQgb3duaW5nIHRoZSBlbGVtZW50IGRlY2xhcmF0aW9uJy8+CisgICAgICA8YXJnIG5hbWU9J2N1cicgdHlwZT0neG1sRWxlbWVudENvbnRlbnRQdHInIGluZm89J0FuIGVsZW1lbnQgY29udGVudCBwb2ludGVyLicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbENvcHlEdGQnIGZpbGU9J3RyZWUnIG1vZHVsZT0ndHJlZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+RG8gYSBjb3B5IG9mIHRoZSBkdGQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxEdGRQdHInIGluZm89J2EgbmV3ICN4bWxEdGRQdHIsIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci4nLz4KKyAgICAgIDxhcmcgbmFtZT0nZHRkJyB0eXBlPSd4bWxEdGRQdHInIGluZm89J3RoZSBkdGQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxDb3B5RWxlbWVudENvbnRlbnQnIGZpbGU9J3ZhbGlkJyBtb2R1bGU9J3ZhbGlkJz4KKyAgICAgIDxpbmZvPkJ1aWxkIGEgY29weSBvZiBhbiBlbGVtZW50IGNvbnRlbnQgZGVzY3JpcHRpb24uIERlcHJlY2F0ZWQsIHVzZSB4bWxDb3B5RG9jRWxlbWVudENvbnRlbnQgaW5zdGVhZDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sRWxlbWVudENvbnRlbnRQdHInIGluZm89J3RoZSBuZXcgeG1sRWxlbWVudENvbnRlbnRQdHIgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLicvPgorICAgICAgPGFyZyBuYW1lPSdjdXInIHR5cGU9J3htbEVsZW1lbnRDb250ZW50UHRyJyBpbmZvPSdBbiBlbGVtZW50IGNvbnRlbnQgcG9pbnRlci4nLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxDb3B5RWxlbWVudFRhYmxlJyBmaWxlPSd2YWxpZCcgbW9kdWxlPSd2YWxpZCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+QnVpbGQgYSBjb3B5IG9mIGFuIGVsZW1lbnQgdGFibGUuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxFbGVtZW50VGFibGVQdHInIGluZm89J3RoZSBuZXcgeG1sRWxlbWVudFRhYmxlUHRyIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci4nLz4KKyAgICAgIDxhcmcgbmFtZT0ndGFibGUnIHR5cGU9J3htbEVsZW1lbnRUYWJsZVB0cicgaW5mbz0nQW4gZWxlbWVudCB0YWJsZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbENvcHlFbnRpdGllc1RhYmxlJyBmaWxlPSdlbnRpdGllcycgbW9kdWxlPSdlbnRpdGllcyc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+QnVpbGQgYSBjb3B5IG9mIGFuIGVudGl0eSB0YWJsZS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbEVudGl0aWVzVGFibGVQdHInIGluZm89J3RoZSBuZXcgeG1sRW50aXRpZXNUYWJsZVB0ciBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuJy8+CisgICAgICA8YXJnIG5hbWU9J3RhYmxlJyB0eXBlPSd4bWxFbnRpdGllc1RhYmxlUHRyJyBpbmZvPSdBbiBlbnRpdHkgdGFibGUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxDb3B5RW51bWVyYXRpb24nIGZpbGU9J3ZhbGlkJyBtb2R1bGU9J3ZhbGlkJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5Db3B5IGFuIGVudW1lcmF0aW9uIGF0dHJpYnV0ZSBub2RlIChyZWN1cnNpdmUpLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sRW51bWVyYXRpb25QdHInIGluZm89J3RoZSB4bWxFbnVtZXJhdGlvblB0ciBqdXN0IGNyZWF0ZWQgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLicvPgorICAgICAgPGFyZyBuYW1lPSdjdXInIHR5cGU9J3htbEVudW1lcmF0aW9uUHRyJyBpbmZvPSd0aGUgdHJlZSB0byBjb3B5LicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbENvcHlFcnJvcicgZmlsZT0neG1sZXJyb3InIG1vZHVsZT0nZXJyb3InPgorICAgICAgPGluZm8+U2F2ZSB0aGUgb3JpZ2luYWwgZXJyb3IgdG8gdGhlIG5ldyBwbGFjZS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMCBpbiBjYXNlIG9mIHN1Y2Nlc3MgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3IuJy8+CisgICAgICA8YXJnIG5hbWU9J2Zyb20nIHR5cGU9J3htbEVycm9yUHRyJyBpbmZvPSdhIHNvdXJjZSBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSd0bycgdHlwZT0neG1sRXJyb3JQdHInIGluZm89J2EgdGFyZ2V0IGVycm9yJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sQ29weU5hbWVzcGFjZScgZmlsZT0ndHJlZScgbW9kdWxlPSd0cmVlJz4KKyAgICAgIDxpbmZvPkRvIGEgY29weSBvZiB0aGUgbmFtZXNwYWNlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sTnNQdHInIGluZm89J2EgbmV3ICN4bWxOc1B0ciwgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLicvPgorICAgICAgPGFyZyBuYW1lPSdjdXInIHR5cGU9J3htbE5zUHRyJyBpbmZvPSd0aGUgbmFtZXNwYWNlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sQ29weU5hbWVzcGFjZUxpc3QnIGZpbGU9J3RyZWUnIG1vZHVsZT0ndHJlZSc+CisgICAgICA8aW5mbz5EbyBhIGNvcHkgb2YgYW4gbmFtZXNwYWNlIGxpc3QuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxOc1B0cicgaW5mbz0nYSBuZXcgI3htbE5zUHRyLCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuJy8+CisgICAgICA8YXJnIG5hbWU9J2N1cicgdHlwZT0neG1sTnNQdHInIGluZm89J3RoZSBmaXJzdCBuYW1lc3BhY2UnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxDb3B5Tm9kZScgZmlsZT0ndHJlZScgbW9kdWxlPSd0cmVlJz4KKyAgICAgIDxpbmZvPkRvIGEgY29weSBvZiB0aGUgbm9kZS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbE5vZGVQdHInIGluZm89J2EgbmV3ICN4bWxOb2RlUHRyLCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuJy8+CisgICAgICA8YXJnIG5hbWU9J25vZGUnIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3RoZSBub2RlJy8+CisgICAgICA8YXJnIG5hbWU9J2V4dGVuZGVkJyB0eXBlPSdpbnQnIGluZm89J2lmIDEgZG8gYSByZWN1cnNpdmUgY29weSAocHJvcGVydGllcywgbmFtZXNwYWNlcyBhbmQgY2hpbGRyZW4gd2hlbiBhcHBsaWNhYmxlKSBpZiAyIGNvcHkgcHJvcGVydGllcyBhbmQgbmFtZXNwYWNlcyAod2hlbiBhcHBsaWNhYmxlKScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbENvcHlOb2RlTGlzdCcgZmlsZT0ndHJlZScgbW9kdWxlPSd0cmVlJz4KKyAgICAgIDxpbmZvPkRvIGEgcmVjdXJzaXZlIGNvcHkgb2YgdGhlIG5vZGUgbGlzdC4gVXNlIHhtbERvY0NvcHlOb2RlTGlzdCgpIGlmIHBvc3NpYmxlIHRvIGVuc3VyZSBzdHJpbmcgaW50ZXJuaW5nLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sTm9kZVB0cicgaW5mbz0nYSBuZXcgI3htbE5vZGVQdHIsIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci4nLz4KKyAgICAgIDxhcmcgbmFtZT0nbm9kZScgdHlwZT0neG1sTm9kZVB0cicgaW5mbz0ndGhlIGZpcnN0IG5vZGUgaW4gdGhlIGxpc3QuJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sQ29weU5vdGF0aW9uVGFibGUnIGZpbGU9J3ZhbGlkJyBtb2R1bGU9J3ZhbGlkJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5CdWlsZCBhIGNvcHkgb2YgYSBub3RhdGlvbiB0YWJsZS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbE5vdGF0aW9uVGFibGVQdHInIGluZm89J3RoZSBuZXcgeG1sTm90YXRpb25UYWJsZVB0ciBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuJy8+CisgICAgICA8YXJnIG5hbWU9J3RhYmxlJyB0eXBlPSd4bWxOb3RhdGlvblRhYmxlUHRyJyBpbmZvPSdBIG5vdGF0aW9uIHRhYmxlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sQ29weVByb3AnIGZpbGU9J3RyZWUnIG1vZHVsZT0ndHJlZSc+CisgICAgICA8aW5mbz5EbyBhIGNvcHkgb2YgdGhlIGF0dHJpYnV0ZS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbEF0dHJQdHInIGluZm89J2EgbmV3ICN4bWxBdHRyUHRyLCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuJy8+CisgICAgICA8YXJnIG5hbWU9J3RhcmdldCcgdHlwZT0neG1sTm9kZVB0cicgaW5mbz0ndGhlIGVsZW1lbnQgd2hlcmUgdGhlIGF0dHJpYnV0ZSB3aWxsIGJlIGdyYWZ0ZWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3VyJyB0eXBlPSd4bWxBdHRyUHRyJyBpbmZvPSd0aGUgYXR0cmlidXRlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sQ29weVByb3BMaXN0JyBmaWxlPSd0cmVlJyBtb2R1bGU9J3RyZWUnPgorICAgICAgPGluZm8+RG8gYSBjb3B5IG9mIGFuIGF0dHJpYnV0ZSBsaXN0LjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sQXR0clB0cicgaW5mbz0nYSBuZXcgI3htbEF0dHJQdHIsIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci4nLz4KKyAgICAgIDxhcmcgbmFtZT0ndGFyZ2V0JyB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSd0aGUgZWxlbWVudCB3aGVyZSB0aGUgYXR0cmlidXRlcyB3aWxsIGJlIGdyYWZ0ZWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3VyJyB0eXBlPSd4bWxBdHRyUHRyJyBpbmZvPSd0aGUgZmlyc3QgYXR0cmlidXRlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sQ3JlYXRlRG9jUGFyc2VyQ3R4dCcgZmlsZT0ncGFyc2VyJyBtb2R1bGU9J3BhcnNlcic+CisgICAgICA8aW5mbz5DcmVhdGVzIGEgcGFyc2VyIGNvbnRleHQgZm9yIGFuIFhNTCBpbi1tZW1vcnkgZG9jdW1lbnQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxQYXJzZXJDdHh0UHRyJyBpbmZvPSd0aGUgbmV3IHBhcnNlciBjb250ZXh0IG9yIE5VTEwnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3VyJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J2EgcG9pbnRlciB0byBhbiBhcnJheSBvZiB4bWxDaGFyJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sQ3JlYXRlRW50aXRpZXNUYWJsZScgZmlsZT0nZW50aXRpZXMnIG1vZHVsZT0nZW50aXRpZXMnPgorICAgICAgPGluZm8+Y3JlYXRlIGFuZCBpbml0aWFsaXplIGFuIGVtcHR5IGVudGl0aWVzIGhhc2ggdGFibGUuIFRoaXMgcmVhbGx5IGRvZXNuJmFwb3M7dCBtYWtlIHNlbnNlIGFuZCBzaG91bGQgYmUgZGVwcmVjYXRlZDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sRW50aXRpZXNUYWJsZVB0cicgaW5mbz0ndGhlIHhtbEVudGl0aWVzVGFibGVQdHIganVzdCBjcmVhdGVkIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci4nLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxDcmVhdGVFbnRpdHlQYXJzZXJDdHh0JyBmaWxlPSdwYXJzZXJJbnRlcm5hbHMnIG1vZHVsZT0ncGFyc2VyJz4KKyAgICAgIDxpbmZvPkNyZWF0ZSBhIHBhcnNlciBjb250ZXh0IGZvciBhbiBleHRlcm5hbCBlbnRpdHkgQXV0b21hdGljIHN1cHBvcnQgZm9yIFpMSUIvQ29tcHJlc3MgY29tcHJlc3NlZCBkb2N1bWVudCBpcyBwcm92aWRlZCBieSBkZWZhdWx0IGlmIGZvdW5kIGF0IGNvbXBpbGUtdGltZS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbFBhcnNlckN0eHRQdHInIGluZm89J3RoZSBuZXcgcGFyc2VyIGNvbnRleHQgb3IgTlVMTCcvPgorICAgICAgPGFyZyBuYW1lPSdVUkwnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIGVudGl0eSBVUkwnLz4KKyAgICAgIDxhcmcgbmFtZT0nSUQnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIGVudGl0eSBQVUJMSUMgSUQnLz4KKyAgICAgIDxhcmcgbmFtZT0nYmFzZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSdhIHBvc3NpYmxlIGJhc2UgZm9yIHRoZSB0YXJnZXQgVVJJJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sQ3JlYXRlRW51bWVyYXRpb24nIGZpbGU9J3ZhbGlkJyBtb2R1bGU9J3ZhbGlkJz4KKyAgICAgIDxpbmZvPmNyZWF0ZSBhbmQgaW5pdGlhbGl6ZSBhbiBlbnVtZXJhdGlvbiBhdHRyaWJ1dGUgbm9kZS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbEVudW1lcmF0aW9uUHRyJyBpbmZvPSd0aGUgeG1sRW51bWVyYXRpb25QdHIganVzdCBjcmVhdGVkIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci4nLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFtZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgZW51bWVyYXRpb24gbmFtZSBvciBOVUxMJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sQ3JlYXRlRmlsZVBhcnNlckN0eHQnIGZpbGU9J3BhcnNlckludGVybmFscycgbW9kdWxlPSdwYXJzZXInPgorICAgICAgPGluZm8+Q3JlYXRlIGEgcGFyc2VyIGNvbnRleHQgZm9yIGEgZmlsZSBjb250ZW50LiBBdXRvbWF0aWMgc3VwcG9ydCBmb3IgWkxJQi9Db21wcmVzcyBjb21wcmVzc2VkIGRvY3VtZW50IGlzIHByb3ZpZGVkIGJ5IGRlZmF1bHQgaWYgZm91bmQgYXQgY29tcGlsZS10aW1lLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sUGFyc2VyQ3R4dFB0cicgaW5mbz0ndGhlIG5ldyBwYXJzZXIgY29udGV4dCBvciBOVUxMJy8+CisgICAgICA8YXJnIG5hbWU9J2ZpbGVuYW1lJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBmaWxlbmFtZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbENyZWF0ZUlPUGFyc2VyQ3R4dCcgZmlsZT0ncGFyc2VyJyBtb2R1bGU9J3BhcnNlcic+CisgICAgICA8aW5mbz5DcmVhdGUgYSBwYXJzZXIgY29udGV4dCBmb3IgdXNpbmcgdGhlIFhNTCBwYXJzZXIgd2l0aCBhbiBleGlzdGluZyBJL08gc3RyZWFtPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxQYXJzZXJDdHh0UHRyJyBpbmZvPSd0aGUgbmV3IHBhcnNlciBjb250ZXh0IG9yIE5VTEwnLz4KKyAgICAgIDxhcmcgbmFtZT0nc2F4JyB0eXBlPSd4bWxTQVhIYW5kbGVyUHRyJyBpbmZvPSdhIFNBWCBoYW5kbGVyJy8+CisgICAgICA8YXJnIG5hbWU9J3VzZXJfZGF0YScgdHlwZT0ndm9pZCAqJyBpbmZvPSdUaGUgdXNlciBkYXRhIHJldHVybmVkIG9uIFNBWCBjYWxsYmFja3MnLz4KKyAgICAgIDxhcmcgbmFtZT0naW9yZWFkJyB0eXBlPSd4bWxJbnB1dFJlYWRDYWxsYmFjaycgaW5mbz0nYW4gSS9PIHJlYWQgZnVuY3Rpb24nLz4KKyAgICAgIDxhcmcgbmFtZT0naW9jbG9zZScgdHlwZT0neG1sSW5wdXRDbG9zZUNhbGxiYWNrJyBpbmZvPSdhbiBJL08gY2xvc2UgZnVuY3Rpb24nLz4KKyAgICAgIDxhcmcgbmFtZT0naW9jdHgnIHR5cGU9J3ZvaWQgKicgaW5mbz0nYW4gSS9PIGhhbmRsZXInLz4KKyAgICAgIDxhcmcgbmFtZT0nZW5jJyB0eXBlPSd4bWxDaGFyRW5jb2RpbmcnIGluZm89J3RoZSBjaGFyc2V0IGVuY29kaW5nIGlmIGtub3duJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sQ3JlYXRlSW50U3Vic2V0JyBmaWxlPSd0cmVlJyBtb2R1bGU9J3RyZWUnPgorICAgICAgPGluZm8+Q3JlYXRlIHRoZSBpbnRlcm5hbCBzdWJzZXQgb2YgYSBkb2N1bWVudDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sRHRkUHRyJyBpbmZvPSdhIHBvaW50ZXIgdG8gdGhlIG5ldyBEVEQgc3RydWN0dXJlJy8+CisgICAgICA8YXJnIG5hbWU9J2RvYycgdHlwZT0neG1sRG9jUHRyJyBpbmZvPSd0aGUgZG9jdW1lbnQgcG9pbnRlcicvPgorICAgICAgPGFyZyBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBEVEQgbmFtZScvPgorICAgICAgPGFyZyBuYW1lPSdFeHRlcm5hbElEJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBleHRlcm5hbCAoUFVCTElDKSBJRCcvPgorICAgICAgPGFyZyBuYW1lPSdTeXN0ZW1JRCcgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgc3lzdGVtIElEJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sQ3JlYXRlTWVtb3J5UGFyc2VyQ3R4dCcgZmlsZT0ncGFyc2VySW50ZXJuYWxzJyBtb2R1bGU9J3BhcnNlcic+CisgICAgICA8aW5mbz5DcmVhdGUgYSBwYXJzZXIgY29udGV4dCBmb3IgYW4gWE1MIGluLW1lbW9yeSBkb2N1bWVudC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbFBhcnNlckN0eHRQdHInIGluZm89J3RoZSBuZXcgcGFyc2VyIGNvbnRleHQgb3IgTlVMTCcvPgorICAgICAgPGFyZyBuYW1lPSdidWZmZXInIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0nYSBwb2ludGVyIHRvIGEgY2hhciBhcnJheScvPgorICAgICAgPGFyZyBuYW1lPSdzaXplJyB0eXBlPSdpbnQnIGluZm89J3RoZSBzaXplIG9mIHRoZSBhcnJheScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbENyZWF0ZVB1c2hQYXJzZXJDdHh0JyBmaWxlPSdwYXJzZXInIG1vZHVsZT0ncGFyc2VyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1BVU0hfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DcmVhdGUgYSBwYXJzZXIgY29udGV4dCBmb3IgdXNpbmcgdGhlIFhNTCBwYXJzZXIgaW4gcHVzaCBtb2RlLiBJZiBAYnVmZmVyIGFuZCBAc2l6ZSBhcmUgbm9uLU5VTEwsIHRoZSBkYXRhIGlzIHVzZWQgdG8gZGV0ZWN0IHRoZSBlbmNvZGluZy4gIFRoZSByZW1haW5pbmcgY2hhcmFjdGVycyB3aWxsIGJlIHBhcnNlZCBzbyB0aGV5IGRvbiZhcG9zO3QgbmVlZCB0byBiZSBmZWQgaW4gYWdhaW4gdGhyb3VnaCB4bWxQYXJzZUNodW5rLiBUbyBhbGxvdyBjb250ZW50IGVuY29kaW5nIGRldGVjdGlvbiwgQHNpemUgc2hvdWxkIGJlICZndDs9IDQgVGhlIHZhbHVlIG9mIEBmaWxlbmFtZSBpcyB1c2VkIGZvciBmZXRjaGluZyBleHRlcm5hbCBlbnRpdGllcyBhbmQgZXJyb3Ivd2FybmluZyByZXBvcnRzLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sUGFyc2VyQ3R4dFB0cicgaW5mbz0ndGhlIG5ldyBwYXJzZXIgY29udGV4dCBvciBOVUxMJy8+CisgICAgICA8YXJnIG5hbWU9J3NheCcgdHlwZT0neG1sU0FYSGFuZGxlclB0cicgaW5mbz0nYSBTQVggaGFuZGxlcicvPgorICAgICAgPGFyZyBuYW1lPSd1c2VyX2RhdGEnIHR5cGU9J3ZvaWQgKicgaW5mbz0nVGhlIHVzZXIgZGF0YSByZXR1cm5lZCBvbiBTQVggY2FsbGJhY2tzJy8+CisgICAgICA8YXJnIG5hbWU9J2NodW5rJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J2EgcG9pbnRlciB0byBhbiBhcnJheSBvZiBjaGFycycvPgorICAgICAgPGFyZyBuYW1lPSdzaXplJyB0eXBlPSdpbnQnIGluZm89J251bWJlciBvZiBjaGFycyBpbiB0aGUgYXJyYXknLz4KKyAgICAgIDxhcmcgbmFtZT0nZmlsZW5hbWUnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0nYW4gb3B0aW9uYWwgZmlsZSBuYW1lIG9yIFVSSScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbENyZWF0ZVVSSScgZmlsZT0ndXJpJyBtb2R1bGU9J3VyaSc+CisgICAgICA8aW5mbz5TaW1wbHkgY3JlYXRlcyBhbiBlbXB0eSB4bWxVUkk8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbFVSSVB0cicgaW5mbz0ndGhlIG5ldyBzdHJ1Y3R1cmUgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sQ3JlYXRlVVJMUGFyc2VyQ3R4dCcgZmlsZT0ncGFyc2VySW50ZXJuYWxzJyBtb2R1bGU9J3BhcnNlcic+CisgICAgICA8aW5mbz5DcmVhdGUgYSBwYXJzZXIgY29udGV4dCBmb3IgYSBmaWxlIG9yIFVSTCBjb250ZW50LiBBdXRvbWF0aWMgc3VwcG9ydCBmb3IgWkxJQi9Db21wcmVzcyBjb21wcmVzc2VkIGRvY3VtZW50IGlzIHByb3ZpZGVkIGJ5IGRlZmF1bHQgaWYgZm91bmQgYXQgY29tcGlsZS10aW1lIGFuZCBmb3IgZmlsZSBhY2Nlc3NlczwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sUGFyc2VyQ3R4dFB0cicgaW5mbz0ndGhlIG5ldyBwYXJzZXIgY29udGV4dCBvciBOVUxMJy8+CisgICAgICA8YXJnIG5hbWU9J2ZpbGVuYW1lJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBmaWxlbmFtZSBvciBVUkwnLz4KKyAgICAgIDxhcmcgbmFtZT0nb3B0aW9ucycgdHlwZT0naW50JyBpbmZvPSdhIGNvbWJpbmF0aW9uIG9mIHhtbFBhcnNlck9wdGlvbicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEN0eHRHZXRMYXN0RXJyb3InIGZpbGU9J3htbGVycm9yJyBtb2R1bGU9J2Vycm9yJz4KKyAgICAgIDxpbmZvPkdldCB0aGUgbGFzdCBwYXJzaW5nIGVycm9yIHJlZ2lzdGVyZWQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxFcnJvclB0cicgaW5mbz0nTlVMTCBpZiBubyBlcnJvciBvY2N1cmVkIG9yIGEgcG9pbnRlciB0byB0aGUgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4JyB0eXBlPSd2b2lkIConIGluZm89J2FuIFhNTCBwYXJzZXIgY29udGV4dCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEN0eHRSZWFkRG9jJyBmaWxlPSdwYXJzZXInIG1vZHVsZT0ncGFyc2VyJz4KKyAgICAgIDxpbmZvPnBhcnNlIGFuIFhNTCBpbi1tZW1vcnkgZG9jdW1lbnQgYW5kIGJ1aWxkIGEgdHJlZS4gVGhpcyByZXVzZXMgdGhlIGV4aXN0aW5nIEBjdHh0IHBhcnNlciBjb250ZXh0PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxEb2NQdHInIGluZm89J3RoZSByZXN1bHRpbmcgZG9jdW1lbnQgdHJlZScvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxQYXJzZXJDdHh0UHRyJyBpbmZvPSdhbiBYTUwgcGFyc2VyIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3VyJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J2EgcG9pbnRlciB0byBhIHplcm8gdGVybWluYXRlZCBzdHJpbmcnLz4KKyAgICAgIDxhcmcgbmFtZT0nVVJMJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBiYXNlIFVSTCB0byB1c2UgZm9yIHRoZSBkb2N1bWVudCcvPgorICAgICAgPGFyZyBuYW1lPSdlbmNvZGluZycgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSd0aGUgZG9jdW1lbnQgZW5jb2RpbmcsIG9yIE5VTEwnLz4KKyAgICAgIDxhcmcgbmFtZT0nb3B0aW9ucycgdHlwZT0naW50JyBpbmZvPSdhIGNvbWJpbmF0aW9uIG9mIHhtbFBhcnNlck9wdGlvbicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEN0eHRSZWFkRmQnIGZpbGU9J3BhcnNlcicgbW9kdWxlPSdwYXJzZXInPgorICAgICAgPGluZm8+cGFyc2UgYW4gWE1MIGZyb20gYSBmaWxlIGRlc2NyaXB0b3IgYW5kIGJ1aWxkIGEgdHJlZS4gVGhpcyByZXVzZXMgdGhlIGV4aXN0aW5nIEBjdHh0IHBhcnNlciBjb250ZXh0IE5PVEUgdGhhdCB0aGUgZmlsZSBkZXNjcmlwdG9yIHdpbGwgbm90IGJlIGNsb3NlZCB3aGVuIHRoZSByZWFkZXIgaXMgY2xvc2VkIG9yIHJlc2V0LjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sRG9jUHRyJyBpbmZvPSd0aGUgcmVzdWx0aW5nIGRvY3VtZW50IHRyZWUnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sUGFyc2VyQ3R4dFB0cicgaW5mbz0nYW4gWE1MIHBhcnNlciBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J2ZkJyB0eXBlPSdpbnQnIGluZm89J2FuIG9wZW4gZmlsZSBkZXNjcmlwdG9yJy8+CisgICAgICA8YXJnIG5hbWU9J1VSTCcgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSd0aGUgYmFzZSBVUkwgdG8gdXNlIGZvciB0aGUgZG9jdW1lbnQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZW5jb2RpbmcnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIGRvY3VtZW50IGVuY29kaW5nLCBvciBOVUxMJy8+CisgICAgICA8YXJnIG5hbWU9J29wdGlvbnMnIHR5cGU9J2ludCcgaW5mbz0nYSBjb21iaW5hdGlvbiBvZiB4bWxQYXJzZXJPcHRpb24nLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxDdHh0UmVhZEZpbGUnIGZpbGU9J3BhcnNlcicgbW9kdWxlPSdwYXJzZXInPgorICAgICAgPGluZm8+cGFyc2UgYW4gWE1MIGZpbGUgZnJvbSB0aGUgZmlsZXN5c3RlbSBvciB0aGUgbmV0d29yay4gVGhpcyByZXVzZXMgdGhlIGV4aXN0aW5nIEBjdHh0IHBhcnNlciBjb250ZXh0PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxEb2NQdHInIGluZm89J3RoZSByZXN1bHRpbmcgZG9jdW1lbnQgdHJlZScvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxQYXJzZXJDdHh0UHRyJyBpbmZvPSdhbiBYTUwgcGFyc2VyIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZmlsZW5hbWUnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0nYSBmaWxlIG9yIFVSTCcvPgorICAgICAgPGFyZyBuYW1lPSdlbmNvZGluZycgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSd0aGUgZG9jdW1lbnQgZW5jb2RpbmcsIG9yIE5VTEwnLz4KKyAgICAgIDxhcmcgbmFtZT0nb3B0aW9ucycgdHlwZT0naW50JyBpbmZvPSdhIGNvbWJpbmF0aW9uIG9mIHhtbFBhcnNlck9wdGlvbicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEN0eHRSZWFkSU8nIGZpbGU9J3BhcnNlcicgbW9kdWxlPSdwYXJzZXInPgorICAgICAgPGluZm8+cGFyc2UgYW4gWE1MIGRvY3VtZW50IGZyb20gSS9PIGZ1bmN0aW9ucyBhbmQgc291cmNlIGFuZCBidWlsZCBhIHRyZWUuIFRoaXMgcmV1c2VzIHRoZSBleGlzdGluZyBAY3R4dCBwYXJzZXIgY29udGV4dDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sRG9jUHRyJyBpbmZvPSd0aGUgcmVzdWx0aW5nIGRvY3VtZW50IHRyZWUnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sUGFyc2VyQ3R4dFB0cicgaW5mbz0nYW4gWE1MIHBhcnNlciBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J2lvcmVhZCcgdHlwZT0neG1sSW5wdXRSZWFkQ2FsbGJhY2snIGluZm89J2FuIEkvTyByZWFkIGZ1bmN0aW9uJy8+CisgICAgICA8YXJnIG5hbWU9J2lvY2xvc2UnIHR5cGU9J3htbElucHV0Q2xvc2VDYWxsYmFjaycgaW5mbz0nYW4gSS9PIGNsb3NlIGZ1bmN0aW9uJy8+CisgICAgICA8YXJnIG5hbWU9J2lvY3R4JyB0eXBlPSd2b2lkIConIGluZm89J2FuIEkvTyBoYW5kbGVyJy8+CisgICAgICA8YXJnIG5hbWU9J1VSTCcgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSd0aGUgYmFzZSBVUkwgdG8gdXNlIGZvciB0aGUgZG9jdW1lbnQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZW5jb2RpbmcnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIGRvY3VtZW50IGVuY29kaW5nLCBvciBOVUxMJy8+CisgICAgICA8YXJnIG5hbWU9J29wdGlvbnMnIHR5cGU9J2ludCcgaW5mbz0nYSBjb21iaW5hdGlvbiBvZiB4bWxQYXJzZXJPcHRpb24nLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxDdHh0UmVhZE1lbW9yeScgZmlsZT0ncGFyc2VyJyBtb2R1bGU9J3BhcnNlcic+CisgICAgICA8aW5mbz5wYXJzZSBhbiBYTUwgaW4tbWVtb3J5IGRvY3VtZW50IGFuZCBidWlsZCBhIHRyZWUuIFRoaXMgcmV1c2VzIHRoZSBleGlzdGluZyBAY3R4dCBwYXJzZXIgY29udGV4dDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sRG9jUHRyJyBpbmZvPSd0aGUgcmVzdWx0aW5nIGRvY3VtZW50IHRyZWUnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sUGFyc2VyQ3R4dFB0cicgaW5mbz0nYW4gWE1MIHBhcnNlciBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J2J1ZmZlcicgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSdhIHBvaW50ZXIgdG8gYSBjaGFyIGFycmF5Jy8+CisgICAgICA8YXJnIG5hbWU9J3NpemUnIHR5cGU9J2ludCcgaW5mbz0ndGhlIHNpemUgb2YgdGhlIGFycmF5Jy8+CisgICAgICA8YXJnIG5hbWU9J1VSTCcgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSd0aGUgYmFzZSBVUkwgdG8gdXNlIGZvciB0aGUgZG9jdW1lbnQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZW5jb2RpbmcnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIGRvY3VtZW50IGVuY29kaW5nLCBvciBOVUxMJy8+CisgICAgICA8YXJnIG5hbWU9J29wdGlvbnMnIHR5cGU9J2ludCcgaW5mbz0nYSBjb21iaW5hdGlvbiBvZiB4bWxQYXJzZXJPcHRpb24nLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxDdHh0UmVzZXQnIGZpbGU9J3BhcnNlcicgbW9kdWxlPSdwYXJzZXInPgorICAgICAgPGluZm8+UmVzZXQgYSBwYXJzZXIgY29udGV4dDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxQYXJzZXJDdHh0UHRyJyBpbmZvPSdhbiBYTUwgcGFyc2VyIGNvbnRleHQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxDdHh0UmVzZXRMYXN0RXJyb3InIGZpbGU9J3htbGVycm9yJyBtb2R1bGU9J2Vycm9yJz4KKyAgICAgIDxpbmZvPkNsZWFudXAgdGhlIGxhc3QgZ2xvYmFsIGVycm9yIHJlZ2lzdGVyZWQuIEZvciBwYXJzaW5nIGVycm9yIHRoaXMgZG9lcyBub3QgY2hhbmdlIHRoZSB3ZWxsLWZvcm1lZG5lc3MgcmVzdWx0LjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHgnIHR5cGU9J3ZvaWQgKicgaW5mbz0nYW4gWE1MIHBhcnNlciBjb250ZXh0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sQ3R4dFJlc2V0UHVzaCcgZmlsZT0ncGFyc2VyJyBtb2R1bGU9J3BhcnNlcic+CisgICAgICA8aW5mbz5SZXNldCBhIHB1c2ggcGFyc2VyIGNvbnRleHQ8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMCBpbiBjYXNlIG9mIHN1Y2Nlc3MgYW5kIDEgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxQYXJzZXJDdHh0UHRyJyBpbmZvPSdhbiBYTUwgcGFyc2VyIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY2h1bmsnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0nYSBwb2ludGVyIHRvIGFuIGFycmF5IG9mIGNoYXJzJy8+CisgICAgICA8YXJnIG5hbWU9J3NpemUnIHR5cGU9J2ludCcgaW5mbz0nbnVtYmVyIG9mIGNoYXJzIGluIHRoZSBhcnJheScvPgorICAgICAgPGFyZyBuYW1lPSdmaWxlbmFtZScgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSdhbiBvcHRpb25hbCBmaWxlIG5hbWUgb3IgVVJJJy8+CisgICAgICA8YXJnIG5hbWU9J2VuY29kaW5nJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEN0eHRVc2VPcHRpb25zJyBmaWxlPSdwYXJzZXInIG1vZHVsZT0ncGFyc2VyJz4KKyAgICAgIDxpbmZvPkFwcGxpZXMgdGhlIG9wdGlvbnMgdG8gdGhlIHBhcnNlciBjb250ZXh0PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzAgaW4gY2FzZSBvZiBzdWNjZXNzLCB0aGUgc2V0IG9mIHVua25vd24gb3IgdW5pbXBsZW1lbnRlZCBvcHRpb25zIGluIGNhc2Ugb2YgZXJyb3IuJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFBhcnNlckN0eHRQdHInIGluZm89J2FuIFhNTCBwYXJzZXIgY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdvcHRpb25zJyB0eXBlPSdpbnQnIGluZm89J2EgY29tYmluYXRpb24gb2YgeG1sUGFyc2VyT3B0aW9uJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sQ3VycmVudENoYXInIGZpbGU9J3BhcnNlckludGVybmFscycgbW9kdWxlPSdwYXJzZXJJbnRlcm5hbHMnPgorICAgICAgPGluZm8+VGhlIGN1cnJlbnQgY2hhciB2YWx1ZSwgaWYgdXNpbmcgVVRGLTggdGhpcyBtYXkgYWN0dWFsbHkgc3BhbiBtdWx0aXBsZSBieXRlcyBpbiB0aGUgaW5wdXQgYnVmZmVyLiBJbXBsZW1lbnQgdGhlIGVuZCBvZiBsaW5lIG5vcm1hbGl6YXRpb246IDIuMTEgRW5kLW9mLUxpbmUgSGFuZGxpbmcgV2hlcmV2ZXIgYW4gZXh0ZXJuYWwgcGFyc2VkIGVudGl0eSBvciB0aGUgbGl0ZXJhbCBlbnRpdHkgdmFsdWUgb2YgYW4gaW50ZXJuYWwgcGFyc2VkIGVudGl0eSBjb250YWlucyBlaXRoZXIgdGhlIGxpdGVyYWwgdHdvLWNoYXJhY3RlciBzZXF1ZW5jZSAmcXVvdDsjeEQjeEEmcXVvdDsgb3IgYSBzdGFuZGFsb25lIGxpdGVyYWwgI3hELCBhbiBYTUwgcHJvY2Vzc29yIG11c3QgcGFzcyB0byB0aGUgYXBwbGljYXRpb24gdGhlIHNpbmdsZSBjaGFyYWN0ZXIgI3hBLiBUaGlzIGJlaGF2aW9yIGNhbiBjb252ZW5pZW50bHkgYmUgcHJvZHVjZWQgYnkgbm9ybWFsaXppbmcgYWxsIGxpbmUgYnJlYWtzIHRvICN4QSBvbiBpbnB1dCwgYmVmb3JlIHBhcnNpbmcuKTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgY3VycmVudCBjaGFyIHZhbHVlIGFuZCBpdHMgbGVuZ3RoJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFBhcnNlckN0eHRQdHInIGluZm89J3RoZSBYTUwgcGFyc2VyIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbGVuJyB0eXBlPSdpbnQgKicgaW5mbz0ncG9pbnRlciB0byB0aGUgbGVuZ3RoIG9mIHRoZSBjaGFyIHJlYWQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdHlwZSBuYW1lPSd4bWxET01XcmFwQWNxdWlyZU5zRnVuY3Rpb24nIGZpbGU9J3RyZWUnIG1vZHVsZT0ndHJlZSc+CisgICAgICA8aW5mbz5BIGZ1bmN0aW9uIGNhbGxlZCB0byBhY3F1aXJlIG5hbWVzcGFjZXMgKHhtbE5zKSBmcm9tIHRoZSB3cmFwcGVyLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sTnNQdHInIGluZm89J2FuIHhtbE5zUHRyIG9yIE5VTEwgaW4gY2FzZSBvZiBhbiBlcnJvci4nLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sRE9NV3JhcEN0eHRQdHInIGluZm89J2EgRE9NIHdyYXBwZXIgY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdub2RlJyB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSd0aGUgY29udGV4dCBub2RlIChlbGVtZW50IG9yIGF0dHJpYnV0ZSknLz4KKyAgICAgIDxhcmcgbmFtZT0nbnNOYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSByZXF1ZXN0ZWQgbmFtZXNwYWNlIG5hbWUnLz4KKyAgICAgIDxhcmcgbmFtZT0nbnNQcmVmaXgnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIHJlcXVlc3RlZCBuYW1lc3BhY2UgcHJlZml4Jy8+CisgICAgPC9mdW5jdHlwZT4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sRE9NV3JhcEFkb3B0Tm9kZScgZmlsZT0ndHJlZScgbW9kdWxlPSd0cmVlJz4KKyAgICAgIDxpbmZvPlJlZmVyZW5jZXMgb2Ygb3V0LW9mIHNjb3BlIG5zLWRlY2xzIGFyZSByZW1hcHBlZCB0byBwb2ludCB0byBAZGVzdERvYzogMSkgSWYgQGRlc3RQYXJlbnQgaXMgZ2l2ZW4sIHRoZW4gbnNEZWYgZW50cmllcyBvbiBlbGVtZW50LW5vZGVzIGFyZSB1c2VkIDIpIElmICpubyogQGRlc3RQYXJlbnQgaXMgZ2l2ZW4sIHRoZW4gQGRlc3REb2MtJmd0O29sZE5zIGVudHJpZXMgYXJlIHVzZWQgVGhpcyBpcyB0aGUgY2FzZSB3aGVuIHlvdSBoYXZlIGFuIHVubGlua2VkIG5vZGUgYW5kIGp1c3Qgd2FudCB0byBtb3ZlIGl0IHRvIHRoZSBjb250ZXh0IG9mICBJZiBAZGVzdFBhcmVudCBpcyBnaXZlbiwgaXQgZW5zdXJlcyB0aGF0IHRoZSB0cmVlIGlzIG5hbWVzcGFjZSB3ZWxsZm9ybWVkIGJ5IGNyZWF0aW5nIGFkZGl0aW9uYWwgbnMtZGVjbHMgd2hlcmUgbmVlZGVkLiBOb3RlIHRoYXQsIHNpbmNlIHByZWZpeGVzIG9mIGFscmVhZHkgZXhpc3RlbnQgbnMtZGVjbHMgY2FuIGJlIHNoYWRvd2VkIGJ5IHRoaXMgcHJvY2VzcywgaXQgY291bGQgYnJlYWsgUU5hbWVzIGluIGF0dHJpYnV0ZSB2YWx1ZXMgb3IgZWxlbWVudCBjb250ZW50LiBOT1RFOiBUaGlzIGZ1bmN0aW9uIHdhcyBub3QgaW50ZW5zaXZlbHkgdGVzdGVkLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScwIGlmIHRoZSBvcGVyYXRpb24gc3VjY2VlZGVkLCAxIGlmIGEgbm9kZSBvZiB1bnN1cHBvcnRlZCB0eXBlIHdhcyBnaXZlbiwgMiBpZiBhIG5vZGUgb2Ygbm90IHlldCBzdXBwb3J0ZWQgdHlwZSB3YXMgZ2l2ZW4gYW5kIC0xIG9uIEFQSS9pbnRlcm5hbCBlcnJvcnMuJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbERPTVdyYXBDdHh0UHRyJyBpbmZvPSd0aGUgb3B0aW9uYWwgY29udGV4dCBmb3IgY3VzdG9tIHByb2Nlc3NpbmcnLz4KKyAgICAgIDxhcmcgbmFtZT0nc291cmNlRG9jJyB0eXBlPSd4bWxEb2NQdHInIGluZm89J3RoZSBvcHRpb25hbCBzb3VyY2VEb2MnLz4KKyAgICAgIDxhcmcgbmFtZT0nbm9kZScgdHlwZT0neG1sTm9kZVB0cicgaW5mbz0ndGhlIG5vZGUgdG8gc3RhcnQgd2l0aCcvPgorICAgICAgPGFyZyBuYW1lPSdkZXN0RG9jJyB0eXBlPSd4bWxEb2NQdHInIGluZm89J3RoZSBkZXN0aW5hdGlvbiBkb2MnLz4KKyAgICAgIDxhcmcgbmFtZT0nZGVzdFBhcmVudCcgdHlwZT0neG1sTm9kZVB0cicgaW5mbz0ndGhlIG9wdGlvbmFsIG5ldyBwYXJlbnQgb2YgQG5vZGUgaW4gQGRlc3REb2MnLz4KKyAgICAgIDxhcmcgbmFtZT0nb3B0aW9ucycgdHlwZT0naW50JyBpbmZvPSdvcHRpb24gZmxhZ3MnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxET01XcmFwQ2xvbmVOb2RlJyBmaWxlPSd0cmVlJyBtb2R1bGU9J3RyZWUnPgorICAgICAgPGluZm8+UmVmZXJlbmNlcyBvZiBvdXQtb2Ygc2NvcGUgbnMtZGVjbHMgYXJlIHJlbWFwcGVkIHRvIHBvaW50IHRvIEBkZXN0RG9jOiAxKSBJZiBAZGVzdFBhcmVudCBpcyBnaXZlbiwgdGhlbiBuc0RlZiBlbnRyaWVzIG9uIGVsZW1lbnQtbm9kZXMgYXJlIHVzZWQgMikgSWYgKm5vKiBAZGVzdFBhcmVudCBpcyBnaXZlbiwgdGhlbiBAZGVzdERvYy0mZ3Q7b2xkTnMgZW50cmllcyBhcmUgdXNlZC4gVGhpcyBpcyB0aGUgY2FzZSB3aGVuIHlvdSBkb24mYXBvczt0IGtub3cgYWxyZWFkeSB3aGVyZSB0aGUgY2xvbmVkIGJyYW5jaCB3aWxsIGJlIGFkZGVkIHRvLiAgSWYgQGRlc3RQYXJlbnQgaXMgZ2l2ZW4sIGl0IGVuc3VyZXMgdGhhdCB0aGUgdHJlZSBpcyBuYW1lc3BhY2Ugd2VsbGZvcm1lZCBieSBjcmVhdGluZyBhZGRpdGlvbmFsIG5zLWRlY2xzIHdoZXJlIG5lZWRlZC4gTm90ZSB0aGF0LCBzaW5jZSBwcmVmaXhlcyBvZiBhbHJlYWR5IGV4aXN0ZW50IG5zLWRlY2xzIGNhbiBiZSBzaGFkb3dlZCBieSB0aGlzIHByb2Nlc3MsIGl0IGNvdWxkIGJyZWFrIFFOYW1lcyBpbiBhdHRyaWJ1dGUgdmFsdWVzIG9yIGVsZW1lbnQgY29udGVudC4gVE9ETzogMSkgV2hhdCB0byBkbyB3aXRoIFhJbmNsdWRlPyBDdXJyZW50bHkgdGhpcyByZXR1cm5zIGFuIGVycm9yIGZvciBYSW5jbHVkZS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMCBpZiB0aGUgb3BlcmF0aW9uIHN1Y2NlZWRlZCwgMSBpZiBhIG5vZGUgb2YgdW5zdXBwb3J0ZWQgKG9yIG5vdCB5ZXQgc3VwcG9ydGVkKSB0eXBlIHdhcyBnaXZlbiwgLTEgb24gQVBJL2ludGVybmFsIGVycm9ycy4nLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sRE9NV3JhcEN0eHRQdHInIGluZm89J3RoZSBvcHRpb25hbCBjb250ZXh0IGZvciBjdXN0b20gcHJvY2Vzc2luZycvPgorICAgICAgPGFyZyBuYW1lPSdzb3VyY2VEb2MnIHR5cGU9J3htbERvY1B0cicgaW5mbz0ndGhlIG9wdGlvbmFsIHNvdXJjZURvYycvPgorICAgICAgPGFyZyBuYW1lPSdub2RlJyB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSd0aGUgbm9kZSB0byBzdGFydCB3aXRoJy8+CisgICAgICA8YXJnIG5hbWU9J3Jlc05vZGUnIHR5cGU9J3htbE5vZGVQdHIgKicgaW5mbz0ndGhlIGNsb25lIG9mIHRoZSBnaXZlbiBAbm9kZScvPgorICAgICAgPGFyZyBuYW1lPSdkZXN0RG9jJyB0eXBlPSd4bWxEb2NQdHInIGluZm89J3RoZSBkZXN0aW5hdGlvbiBkb2MnLz4KKyAgICAgIDxhcmcgbmFtZT0nZGVzdFBhcmVudCcgdHlwZT0neG1sTm9kZVB0cicgaW5mbz0ndGhlIG9wdGlvbmFsIG5ldyBwYXJlbnQgb2YgQG5vZGUgaW4gQGRlc3REb2MnLz4KKyAgICAgIDxhcmcgbmFtZT0nZGVlcCcgdHlwZT0naW50JyBpbmZvPSdkZXNjZW5kIGludG8gY2hpbGQgaWYgc2V0Jy8+CisgICAgICA8YXJnIG5hbWU9J29wdGlvbnMnIHR5cGU9J2ludCcgaW5mbz0nb3B0aW9uIGZsYWdzJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sRE9NV3JhcEZyZWVDdHh0JyBmaWxlPSd0cmVlJyBtb2R1bGU9J3RyZWUnPgorICAgICAgPGluZm8+RnJlZXMgdGhlIERPTS13cmFwcGVyIGNvbnRleHQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbERPTVdyYXBDdHh0UHRyJyBpbmZvPSd0aGUgRE9NLXdyYXBwZXIgY29udGV4dCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbERPTVdyYXBOZXdDdHh0JyBmaWxlPSd0cmVlJyBtb2R1bGU9J3RyZWUnPgorICAgICAgPGluZm8+QWxsb2NhdGVzIGFuZCBpbml0aWFsaXplcyBhIG5ldyBET00td3JhcHBlciBjb250ZXh0LjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sRE9NV3JhcEN0eHRQdHInIGluZm89J3RoZSB4bWxET01XcmFwQ3R4dFB0ciBvciBOVUxMIGluIGNhc2Ugb2YgYW4gaW50ZXJuYWwgZXJyb3IuJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sRE9NV3JhcFJlY29uY2lsZU5hbWVzcGFjZXMnIGZpbGU9J3RyZWUnIG1vZHVsZT0ndHJlZSc+CisgICAgICA8aW5mbz5FbnN1cmVzIHRoYXQgbnMtcmVmZXJlbmNlcyBwb2ludCB0byBucy1kZWNscyBob2xkIG9uIGVsZW1lbnQtbm9kZXMuIEVuc3VyZXMgdGhhdCB0aGUgdHJlZSBpcyBuYW1lc3BhY2Ugd2VsbGZvcm1lZCBieSBjcmVhdGluZyBhZGRpdGlvbmFsIG5zLWRlY2xzIHdoZXJlIG5lZWRlZC4gTm90ZSB0aGF0LCBzaW5jZSBwcmVmaXhlcyBvZiBhbHJlYWR5IGV4aXN0ZW50IG5zLWRlY2xzIGNhbiBiZSBzaGFkb3dlZCBieSB0aGlzIHByb2Nlc3MsIGl0IGNvdWxkIGJyZWFrIFFOYW1lcyBpbiBhdHRyaWJ1dGUgdmFsdWVzIG9yIGVsZW1lbnQgY29udGVudC4gIE5PVEU6IFRoaXMgZnVuY3Rpb24gd2FzIG5vdCBpbnRlbnNpdmVseSB0ZXN0ZWQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzAgaWYgc3VjY2VlZGVkLCAtMSBvdGhlcndpc2UgYW5kIG9uIEFQSS9pbnRlcm5hbCBlcnJvcnMuJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbERPTVdyYXBDdHh0UHRyJyBpbmZvPSdET00gd3JhcHBlciBjb250ZXh0LCB1bnVzZWQgYXQgdGhlIG1vbWVudCcvPgorICAgICAgPGFyZyBuYW1lPSdlbGVtJyB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSd0aGUgZWxlbWVudC1ub2RlJy8+CisgICAgICA8YXJnIG5hbWU9J29wdGlvbnMnIHR5cGU9J2ludCcgaW5mbz0nb3B0aW9uIGZsYWdzJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sRE9NV3JhcFJlbW92ZU5vZGUnIGZpbGU9J3RyZWUnIG1vZHVsZT0ndHJlZSc+CisgICAgICA8aW5mbz5VbmxpbmtzIHRoZSBnaXZlbiBub2RlIGZyb20gaXRzIG93bmVyLiBUaGlzIHdpbGwgc3Vic3RpdHV0ZSBucy1yZWZlcmVuY2VzIHRvIG5vZGUtJmd0O25zRGVmIGZvciBucy1yZWZlcmVuY2VzIHRvIGRvYy0mZ3Q7b2xkTnMsIHRodXMgZW5zdXJpbmcgdGhlIHJlbW92ZWQgYnJhbmNoIHRvIGJlIGF1dGFyayB3cnQgbnMtcmVmZXJlbmNlcy4gIE5PVEU6IFRoaXMgZnVuY3Rpb24gd2FzIG5vdCBpbnRlbnNpdmVseSB0ZXN0ZWQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzAgb24gc3VjY2VzcywgMSBpZiB0aGUgbm9kZSBpcyBub3Qgc3VwcG9ydGVkLCAtMSBvbiBBUEkgYW5kIGludGVybmFsIGVycm9ycy4nLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sRE9NV3JhcEN0eHRQdHInIGluZm89J2EgRE9NIHdyYXBwZXIgY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdkb2MnIHR5cGU9J3htbERvY1B0cicgaW5mbz0ndGhlIGRvYycvPgorICAgICAgPGFyZyBuYW1lPSdub2RlJyB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSd0aGUgbm9kZSB0byBiZSByZW1vdmVkLicvPgorICAgICAgPGFyZyBuYW1lPSdvcHRpb25zJyB0eXBlPSdpbnQnIGluZm89J3NldCBvZiBvcHRpb25zLCB1bnVzZWQgYXQgdGhlIG1vbWVudCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbERlYnVnQ2hlY2tEb2N1bWVudCcgZmlsZT0nZGVidWdYTUwnIG1vZHVsZT0nZGVidWdYTUwnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfREVCVUdfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DaGVjayB0aGUgZG9jdW1lbnQgZm9yIHBvdGVudGlhbCBjb250ZW50IHByb2JsZW1zLCBhbmQgb3V0cHV0IHRoZSBlcnJvcnMgdG8gQG91dHB1dDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgbnVtYmVyIG9mIGVycm9ycyBmb3VuZCcvPgorICAgICAgPGFyZyBuYW1lPSdvdXRwdXQnIHR5cGU9J0ZJTEUgKicgaW5mbz0ndGhlIEZJTEUgKiBmb3IgdGhlIG91dHB1dCcvPgorICAgICAgPGFyZyBuYW1lPSdkb2MnIHR5cGU9J3htbERvY1B0cicgaW5mbz0ndGhlIGRvY3VtZW50Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sRGVidWdEdW1wQXR0cicgZmlsZT0nZGVidWdYTUwnIG1vZHVsZT0nZGVidWdYTUwnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfREVCVUdfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5EdW1wcyBkZWJ1ZyBpbmZvcm1hdGlvbiBmb3IgdGhlIGF0dHJpYnV0ZTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdvdXRwdXQnIHR5cGU9J0ZJTEUgKicgaW5mbz0ndGhlIEZJTEUgKiBmb3IgdGhlIG91dHB1dCcvPgorICAgICAgPGFyZyBuYW1lPSdhdHRyJyB0eXBlPSd4bWxBdHRyUHRyJyBpbmZvPSd0aGUgYXR0cmlidXRlJy8+CisgICAgICA8YXJnIG5hbWU9J2RlcHRoJyB0eXBlPSdpbnQnIGluZm89J3RoZSBpbmRlbnRhdGlvbiBsZXZlbC4nLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxEZWJ1Z0R1bXBBdHRyTGlzdCcgZmlsZT0nZGVidWdYTUwnIG1vZHVsZT0nZGVidWdYTUwnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfREVCVUdfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5EdW1wcyBkZWJ1ZyBpbmZvcm1hdGlvbiBmb3IgdGhlIGF0dHJpYnV0ZSBsaXN0PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J291dHB1dCcgdHlwZT0nRklMRSAqJyBpbmZvPSd0aGUgRklMRSAqIGZvciB0aGUgb3V0cHV0Jy8+CisgICAgICA8YXJnIG5hbWU9J2F0dHInIHR5cGU9J3htbEF0dHJQdHInIGluZm89J3RoZSBhdHRyaWJ1dGUgbGlzdCcvPgorICAgICAgPGFyZyBuYW1lPSdkZXB0aCcgdHlwZT0naW50JyBpbmZvPSd0aGUgaW5kZW50YXRpb24gbGV2ZWwuJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sRGVidWdEdW1wRFREJyBmaWxlPSdkZWJ1Z1hNTCcgbW9kdWxlPSdkZWJ1Z1hNTCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9ERUJVR19FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkR1bXBzIGRlYnVnIGluZm9ybWF0aW9uIGZvciB0aGUgRFREPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J291dHB1dCcgdHlwZT0nRklMRSAqJyBpbmZvPSd0aGUgRklMRSAqIGZvciB0aGUgb3V0cHV0Jy8+CisgICAgICA8YXJnIG5hbWU9J2R0ZCcgdHlwZT0neG1sRHRkUHRyJyBpbmZvPSd0aGUgRFREJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sRGVidWdEdW1wRG9jdW1lbnQnIGZpbGU9J2RlYnVnWE1MJyBtb2R1bGU9J2RlYnVnWE1MJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0RFQlVHX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+RHVtcHMgZGVidWcgaW5mb3JtYXRpb24gZm9yIHRoZSBkb2N1bWVudCwgaXQmYXBvcztzIHJlY3Vyc2l2ZTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdvdXRwdXQnIHR5cGU9J0ZJTEUgKicgaW5mbz0ndGhlIEZJTEUgKiBmb3IgdGhlIG91dHB1dCcvPgorICAgICAgPGFyZyBuYW1lPSdkb2MnIHR5cGU9J3htbERvY1B0cicgaW5mbz0ndGhlIGRvY3VtZW50Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sRGVidWdEdW1wRG9jdW1lbnRIZWFkJyBmaWxlPSdkZWJ1Z1hNTCcgbW9kdWxlPSdkZWJ1Z1hNTCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9ERUJVR19FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkR1bXBzIGRlYnVnIGluZm9ybWF0aW9uIGNuY2VybmluZyB0aGUgZG9jdW1lbnQsIG5vdCByZWN1cnNpdmU8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nb3V0cHV0JyB0eXBlPSdGSUxFIConIGluZm89J3RoZSBGSUxFICogZm9yIHRoZSBvdXRwdXQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZG9jJyB0eXBlPSd4bWxEb2NQdHInIGluZm89J3RoZSBkb2N1bWVudCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbERlYnVnRHVtcEVudGl0aWVzJyBmaWxlPSdkZWJ1Z1hNTCcgbW9kdWxlPSdkZWJ1Z1hNTCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9ERUJVR19FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkR1bXBzIGRlYnVnIGluZm9ybWF0aW9uIGZvciBhbGwgdGhlIGVudGl0aWVzIGluIHVzZSBieSB0aGUgZG9jdW1lbnQ8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nb3V0cHV0JyB0eXBlPSdGSUxFIConIGluZm89J3RoZSBGSUxFICogZm9yIHRoZSBvdXRwdXQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZG9jJyB0eXBlPSd4bWxEb2NQdHInIGluZm89J3RoZSBkb2N1bWVudCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbERlYnVnRHVtcE5vZGUnIGZpbGU9J2RlYnVnWE1MJyBtb2R1bGU9J2RlYnVnWE1MJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0RFQlVHX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+RHVtcHMgZGVidWcgaW5mb3JtYXRpb24gZm9yIHRoZSBlbGVtZW50IG5vZGUsIGl0IGlzIHJlY3Vyc2l2ZTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdvdXRwdXQnIHR5cGU9J0ZJTEUgKicgaW5mbz0ndGhlIEZJTEUgKiBmb3IgdGhlIG91dHB1dCcvPgorICAgICAgPGFyZyBuYW1lPSdub2RlJyB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSd0aGUgbm9kZScvPgorICAgICAgPGFyZyBuYW1lPSdkZXB0aCcgdHlwZT0naW50JyBpbmZvPSd0aGUgaW5kZW50YXRpb24gbGV2ZWwuJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sRGVidWdEdW1wTm9kZUxpc3QnIGZpbGU9J2RlYnVnWE1MJyBtb2R1bGU9J2RlYnVnWE1MJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0RFQlVHX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+RHVtcHMgZGVidWcgaW5mb3JtYXRpb24gZm9yIHRoZSBsaXN0IG9mIGVsZW1lbnQgbm9kZSwgaXQgaXMgcmVjdXJzaXZlPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J291dHB1dCcgdHlwZT0nRklMRSAqJyBpbmZvPSd0aGUgRklMRSAqIGZvciB0aGUgb3V0cHV0Jy8+CisgICAgICA8YXJnIG5hbWU9J25vZGUnIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3RoZSBub2RlIGxpc3QnLz4KKyAgICAgIDxhcmcgbmFtZT0nZGVwdGgnIHR5cGU9J2ludCcgaW5mbz0ndGhlIGluZGVudGF0aW9uIGxldmVsLicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbERlYnVnRHVtcE9uZU5vZGUnIGZpbGU9J2RlYnVnWE1MJyBtb2R1bGU9J2RlYnVnWE1MJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0RFQlVHX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+RHVtcHMgZGVidWcgaW5mb3JtYXRpb24gZm9yIHRoZSBlbGVtZW50IG5vZGUsIGl0IGlzIG5vdCByZWN1cnNpdmU8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nb3V0cHV0JyB0eXBlPSdGSUxFIConIGluZm89J3RoZSBGSUxFICogZm9yIHRoZSBvdXRwdXQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbm9kZScgdHlwZT0neG1sTm9kZVB0cicgaW5mbz0ndGhlIG5vZGUnLz4KKyAgICAgIDxhcmcgbmFtZT0nZGVwdGgnIHR5cGU9J2ludCcgaW5mbz0ndGhlIGluZGVudGF0aW9uIGxldmVsLicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbERlYnVnRHVtcFN0cmluZycgZmlsZT0nZGVidWdYTUwnIG1vZHVsZT0nZGVidWdYTUwnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfREVCVUdfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5EdW1wcyBpbmZvcm1hdGlvbnMgYWJvdXQgdGhlIHN0cmluZywgc2hvcnRlbiBpdCBpZiBuZWNlc3Nhcnk8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nb3V0cHV0JyB0eXBlPSdGSUxFIConIGluZm89J3RoZSBGSUxFICogZm9yIHRoZSBvdXRwdXQnLz4KKyAgICAgIDxhcmcgbmFtZT0nc3RyJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBzdHJpbmcnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxEZWNvZGVFbnRpdGllcycgZmlsZT0ncGFyc2VySW50ZXJuYWxzJyBtb2R1bGU9J2xlZ2FjeSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9MRUdBQ1lfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5UaGlzIGZ1bmN0aW9uIGlzIGRlcHJlY2F0ZWQsIHdlIG5vdyBhbHdheXMgcHJvY2VzcyBlbnRpdGllcyBjb250ZW50IHRocm91Z2ggeG1sU3RyaW5nRGVjb2RlRW50aXRpZXMgIFRPRE86IHJlbW92ZSBpdCBpbiBuZXh0IG1ham9yIHJlbGVhc2UuICBbNjddIFJlZmVyZW5jZSA6Oj0gRW50aXR5UmVmIHwgQ2hhclJlZiAgWzY5XSBQRVJlZmVyZW5jZSA6Oj0gJmFwb3M7JSZhcG9zOyBOYW1lICZhcG9zOzsmYXBvczs8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbENoYXIgKicgaW5mbz0nQSBuZXdseSBhbGxvY2F0ZWQgc3RyaW5nIHdpdGggdGhlIHN1YnN0aXR1dGlvbiBkb25lLiBUaGUgY2FsbGVyIG11c3QgZGVhbGxvY2F0ZSBpdCAhJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFBhcnNlckN0eHRQdHInIGluZm89J3RoZSBwYXJzZXIgY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdsZW4nIHR5cGU9J2ludCcgaW5mbz0ndGhlIGxlbiB0byBkZWNvZGUgKGluIGJ5dGVzICEpLCAtMSBmb3Igbm8gc2l6ZSBsaW1pdCcvPgorICAgICAgPGFyZyBuYW1lPSd3aGF0JyB0eXBlPSdpbnQnIGluZm89J2NvbWJpbmF0aW9uIG9mIFhNTF9TVUJTVElUVVRFX1JFRiBhbmQgWE1MX1NVQlNUSVRVVEVfUEVSRUYnLz4KKyAgICAgIDxhcmcgbmFtZT0nZW5kJyB0eXBlPSd4bWxDaGFyJyBpbmZvPSdhbiBlbmQgbWFya2VyIHhtbENoYXIsIDAgaWYgbm9uZScvPgorICAgICAgPGFyZyBuYW1lPSdlbmQyJyB0eXBlPSd4bWxDaGFyJyBpbmZvPSdhbiBlbmQgbWFya2VyIHhtbENoYXIsIDAgaWYgbm9uZScvPgorICAgICAgPGFyZyBuYW1lPSdlbmQzJyB0eXBlPSd4bWxDaGFyJyBpbmZvPSdhbiBlbmQgbWFya2VyIHhtbENoYXIsIDAgaWYgbm9uZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbERlZmF1bHRTQVhIYW5kbGVySW5pdCcgZmlsZT0nU0FYMicgbW9kdWxlPSdTQVgyJz4KKyAgICAgIDxpbmZvPkluaXRpYWxpemUgdGhlIGRlZmF1bHQgU0FYMiBoYW5kbGVyPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sRGVsRW5jb2RpbmdBbGlhcycgZmlsZT0nZW5jb2RpbmcnIG1vZHVsZT0nZW5jb2RpbmcnPgorICAgICAgPGluZm8+VW5yZWdpc3RlcnMgYW4gZW5jb2RpbmcgYWxpYXMgQGFsaWFzPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzAgaW4gY2FzZSBvZiBzdWNjZXNzLCAtMSBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J2FsaWFzJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBhbGlhcyBuYW1lIGFzIHBhcnNlZCwgaW4gVVRGLTggZm9ybWF0IChBU0NJSSBhY3R1YWxseSknLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxEZXJlZ2lzdGVyTm9kZURlZmF1bHQnIGZpbGU9J2dsb2JhbHMnIG1vZHVsZT0nZ2xvYmFscyc+CisgICAgICA8aW5mbz5SZWdpc3RlcnMgYSBjYWxsYmFjayBmb3Igbm9kZSBkZXN0cnVjdGlvbjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sRGVyZWdpc3Rlck5vZGVGdW5jJyBpbmZvPSd0aGUgcHJldmlvdXMgdmFsdWUgb2YgdGhlIGRlcmVnaXN0cmF0aW9uIGZ1bmN0aW9uJy8+CisgICAgICA8YXJnIG5hbWU9J2Z1bmMnIHR5cGU9J3htbERlcmVnaXN0ZXJOb2RlRnVuYycgaW5mbz0nZnVuY3Rpb24gcG9pbnRlciB0byB0aGUgbmV3IERlcmVnaXN0ZXJOb2RlRnVuYycvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0eXBlIG5hbWU9J3htbERlcmVnaXN0ZXJOb2RlRnVuYycgZmlsZT0nZ2xvYmFscycgbW9kdWxlPSdnbG9iYWxzJz4KKyAgICAgIDxpbmZvPlNpZ25hdHVyZSBmb3IgdGhlIGRlcmVnaXN0cmF0aW9uIGNhbGxiYWNrIG9mIGEgZGlzY2FyZGVkIG5vZGU8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbm9kZScgdHlwZT0neG1sTm9kZVB0cicgaW5mbz0ndGhlIGN1cnJlbnQgbm9kZScvPgorICAgIDwvZnVuY3R5cGU+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbERldGVjdENoYXJFbmNvZGluZycgZmlsZT0nZW5jb2RpbmcnIG1vZHVsZT0nZW5jb2RpbmcnPgorICAgICAgPGluZm8+R3Vlc3MgdGhlIGVuY29kaW5nIG9mIHRoZSBlbnRpdHkgdXNpbmcgdGhlIGZpcnN0IGJ5dGVzIG9mIHRoZSBlbnRpdHkgY29udGVudCBhY2NvcmRpbmcgdG8gdGhlIG5vbi1ub3JtYXRpdmUgYXBwZW5kaXggRiBvZiB0aGUgWE1MLTEuMCByZWNvbW1lbmRhdGlvbi48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbENoYXJFbmNvZGluZycgaW5mbz0nb25lIG9mIHRoZSBYTUxfQ0hBUl9FTkNPRElOR18uLi4gdmFsdWVzLicvPgorICAgICAgPGFyZyBuYW1lPSdpbicgdHlwZT0nY29uc3QgdW5zaWduZWQgY2hhciAqJyBpbmZvPSdhIHBvaW50ZXIgdG8gdGhlIGZpcnN0IGJ5dGVzIG9mIHRoZSBYTUwgZW50aXR5LCBtdXN0IGJlIGF0IGxlYXN0IDIgYnl0ZXMgbG9uZyAoYXQgbGVhc3QgNCBpZiBlbmNvZGluZyBpcyBVVEY0IHZhcmlhbnQpLicvPgorICAgICAgPGFyZyBuYW1lPSdsZW4nIHR5cGU9J2ludCcgaW5mbz0ncG9pbnRlciB0byB0aGUgbGVuZ3RoIG9mIHRoZSBidWZmZXInLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxEaWN0Q2xlYW51cCcgZmlsZT0nZGljdCcgbW9kdWxlPSdkaWN0Jz4KKyAgICAgIDxpbmZvPkZyZWUgdGhlIGRpY3Rpb25hcnkgbXV0ZXguIERvIG5vdCBjYWxsIHVubGVzcyBzdXJlIHRoZSBsaWJyYXJ5IGlzIG5vdCBpbiB1c2UgYW55bW9yZSAhPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sRGljdENyZWF0ZScgZmlsZT0nZGljdCcgbW9kdWxlPSdkaWN0Jz4KKyAgICAgIDxpbmZvPkNyZWF0ZSBhIG5ldyBkaWN0aW9uYXJ5PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxEaWN0UHRyJyBpbmZvPSd0aGUgbmV3bHkgY3JlYXRlZCBkaWN0aW9ubmFyeSwgb3IgTlVMTCBpZiBhbiBlcnJvciBvY2N1cmVkLicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbERpY3RDcmVhdGVTdWInIGZpbGU9J2RpY3QnIG1vZHVsZT0nZGljdCc+CisgICAgICA8aW5mbz5DcmVhdGUgYSBuZXcgZGljdGlvbmFyeSwgaW5oZXJpdGluZyBzdHJpbmdzIGZyb20gdGhlIHJlYWQtb25seSBkaWN0aW9ubmFyeSBAc3ViLiBPbiBsb29rdXAsIHN0cmluZ3MgYXJlIGZpcnN0IHNlYXJjaGVkIGluIHRoZSBuZXcgZGljdGlvbm5hcnksIHRoZW4gaW4gQHN1YiwgYW5kIGlmIG5vdCBmb3VuZCBhcmUgY3JlYXRlZCBpbiB0aGUgbmV3IGRpY3Rpb25uYXJ5LjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sRGljdFB0cicgaW5mbz0ndGhlIG5ld2x5IGNyZWF0ZWQgZGljdGlvbm5hcnksIG9yIE5VTEwgaWYgYW4gZXJyb3Igb2NjdXJlZC4nLz4KKyAgICAgIDxhcmcgbmFtZT0nc3ViJyB0eXBlPSd4bWxEaWN0UHRyJyBpbmZvPSdhbiBleGlzdGluZyBkaWN0aW9ubmFyeScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbERpY3RFeGlzdHMnIGZpbGU9J2RpY3QnIG1vZHVsZT0nZGljdCc+CisgICAgICA8aW5mbz5DaGVjayBpZiB0aGUgQG5hbWUgZXhpc3RzIGluIHRoZSBkaWN0aW9ubmFyeSBAZGljdC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIGludGVybmFsIGNvcHkgb2YgdGhlIG5hbWUgb3IgTlVMTCBpZiBub3QgZm91bmQuJy8+CisgICAgICA8YXJnIG5hbWU9J2RpY3QnIHR5cGU9J3htbERpY3RQdHInIGluZm89J3RoZSBkaWN0aW9ubmFyeScvPgorICAgICAgPGFyZyBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBuYW1lIG9mIHRoZSB1c2VyZGF0YScvPgorICAgICAgPGFyZyBuYW1lPSdsZW4nIHR5cGU9J2ludCcgaW5mbz0ndGhlIGxlbmd0aCBvZiB0aGUgbmFtZSwgaWYgLTEgaXQgaXMgcmVjb21wdXRlZCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbERpY3RGcmVlJyBmaWxlPSdkaWN0JyBtb2R1bGU9J2RpY3QnPgorICAgICAgPGluZm8+RnJlZSB0aGUgaGFzaCBAZGljdCBhbmQgaXRzIGNvbnRlbnRzLiBUaGUgdXNlcmRhdGEgaXMgZGVhbGxvY2F0ZWQgd2l0aCBAZiBpZiBwcm92aWRlZC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZGljdCcgdHlwZT0neG1sRGljdFB0cicgaW5mbz0ndGhlIGRpY3Rpb25uYXJ5Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sRGljdEdldFVzYWdlJyBmaWxlPSdkaWN0JyBtb2R1bGU9J2RpY3QnPgorICAgICAgPGluZm8+R2V0IGhvdyBtdWNoIG1lbW9yeSBpcyB1c2VkIGJ5IGEgZGljdGlvbmFyeSBmb3Igc3RyaW5ncyBBZGRlZCBpbiAyLjkuMDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0nc2l6ZV90JyBpbmZvPSd0aGUgYW1vdW50IG9mIHN0cmluZ3MgYWxsb2NhdGVkJy8+CisgICAgICA8YXJnIG5hbWU9J2RpY3QnIHR5cGU9J3htbERpY3RQdHInIGluZm89J3RoZSBkaWN0aW9ubmFyeScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbERpY3RMb29rdXAnIGZpbGU9J2RpY3QnIG1vZHVsZT0nZGljdCc+CisgICAgICA8aW5mbz5BZGQgdGhlIEBuYW1lIHRvIHRoZSBkaWN0aW9ubmFyeSBAZGljdCBpZiBub3QgcHJlc2VudC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIGludGVybmFsIGNvcHkgb2YgdGhlIG5hbWUgb3IgTlVMTCBpbiBjYXNlIG9mIGludGVybmFsIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J2RpY3QnIHR5cGU9J3htbERpY3RQdHInIGluZm89J3RoZSBkaWN0aW9ubmFyeScvPgorICAgICAgPGFyZyBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBuYW1lIG9mIHRoZSB1c2VyZGF0YScvPgorICAgICAgPGFyZyBuYW1lPSdsZW4nIHR5cGU9J2ludCcgaW5mbz0ndGhlIGxlbmd0aCBvZiB0aGUgbmFtZSwgaWYgLTEgaXQgaXMgcmVjb21wdXRlZCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbERpY3RPd25zJyBmaWxlPSdkaWN0JyBtb2R1bGU9J2RpY3QnPgorICAgICAgPGluZm8+Y2hlY2sgaWYgYSBzdHJpbmcgaXMgb3duZWQgYnkgdGhlIGRpc2N0aW9uYXJ5PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgdHJ1ZSwgMCBpZiBmYWxzZSBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvciAtMSBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J2RpY3QnIHR5cGU9J3htbERpY3RQdHInIGluZm89J3RoZSBkaWN0aW9ubmFyeScvPgorICAgICAgPGFyZyBuYW1lPSdzdHInIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIHN0cmluZycvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbERpY3RRTG9va3VwJyBmaWxlPSdkaWN0JyBtb2R1bGU9J2RpY3QnPgorICAgICAgPGluZm8+QWRkIHRoZSBRTmFtZSBAcHJlZml4OkBuYW1lIHRvIHRoZSBoYXNoIEBkaWN0IGlmIG5vdCBwcmVzZW50LjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgaW50ZXJuYWwgY29weSBvZiB0aGUgUU5hbWUgb3IgTlVMTCBpbiBjYXNlIG9mIGludGVybmFsIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J2RpY3QnIHR5cGU9J3htbERpY3RQdHInIGluZm89J3RoZSBkaWN0aW9ubmFyeScvPgorICAgICAgPGFyZyBuYW1lPSdwcmVmaXgnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIHByZWZpeCcvPgorICAgICAgPGFyZyBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBuYW1lJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sRGljdFJlZmVyZW5jZScgZmlsZT0nZGljdCcgbW9kdWxlPSdkaWN0Jz4KKyAgICAgIDxpbmZvPkluY3JlbWVudCB0aGUgcmVmZXJlbmNlIGNvdW50ZXIgb2YgYSBkaWN0aW9uYXJ5PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzAgaW4gY2FzZSBvZiBzdWNjZXNzIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J2RpY3QnIHR5cGU9J3htbERpY3RQdHInIGluZm89J3RoZSBkaWN0aW9ubmFyeScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbERpY3RTZXRMaW1pdCcgZmlsZT0nZGljdCcgbW9kdWxlPSdkaWN0Jz4KKyAgICAgIDxpbmZvPlNldCBhIHNpemUgbGltaXQgZm9yIHRoZSBkaWN0aW9uYXJ5IEFkZGVkIGluIDIuOS4wPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdzaXplX3QnIGluZm89J3RoZSBwcmV2aW91cyBsaW1pdCBvZiB0aGUgZGljdGlvbmFyeSBvciAwJy8+CisgICAgICA8YXJnIG5hbWU9J2RpY3QnIHR5cGU9J3htbERpY3RQdHInIGluZm89J3RoZSBkaWN0aW9ubmFyeScvPgorICAgICAgPGFyZyBuYW1lPSdsaW1pdCcgdHlwZT0nc2l6ZV90JyBpbmZvPSd0aGUgbGltaXQgaW4gYnl0ZXMnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxEaWN0U2l6ZScgZmlsZT0nZGljdCcgbW9kdWxlPSdkaWN0Jz4KKyAgICAgIDxpbmZvPlF1ZXJ5IHRoZSBudW1iZXIgb2YgZWxlbWVudHMgaW5zdGFsbGVkIGluIHRoZSBoYXNoIEBkaWN0LjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgbnVtYmVyIG9mIGVsZW1lbnRzIGluIHRoZSBkaWN0aW9ubmFyeSBvciAtMSBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J2RpY3QnIHR5cGU9J3htbERpY3RQdHInIGluZm89J3RoZSBkaWN0aW9ubmFyeScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbERsbE1haW4nIGZpbGU9J3RocmVhZHMnIG1vZHVsZT0ndGhyZWFkcyc+CisgICAgICA8aW5mbz48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nJy8+CisgICAgICA8YXJnIG5hbWU9J2hpbnN0RExMJyB0eXBlPSd2b2lkIConIGluZm89JycvPgorICAgICAgPGFyZyBuYW1lPSdmZHdSZWFzb24nIHR5cGU9J3Vuc2lnbmVkIGxvbmcnIGluZm89JycvPgorICAgICAgPGFyZyBuYW1lPSdscHZSZXNlcnZlZCcgdHlwZT0ndm9pZCAqJyBpbmZvPScnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxEb2NDb3B5Tm9kZScgZmlsZT0ndHJlZScgbW9kdWxlPSd0cmVlJz4KKyAgICAgIDxpbmZvPkRvIGEgY29weSBvZiB0aGUgbm9kZSB0byBhIGdpdmVuIGRvY3VtZW50LjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sTm9kZVB0cicgaW5mbz0nYSBuZXcgI3htbE5vZGVQdHIsIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci4nLz4KKyAgICAgIDxhcmcgbmFtZT0nbm9kZScgdHlwZT0neG1sTm9kZVB0cicgaW5mbz0ndGhlIG5vZGUnLz4KKyAgICAgIDxhcmcgbmFtZT0nZG9jJyB0eXBlPSd4bWxEb2NQdHInIGluZm89J3RoZSBkb2N1bWVudCcvPgorICAgICAgPGFyZyBuYW1lPSdleHRlbmRlZCcgdHlwZT0naW50JyBpbmZvPSdpZiAxIGRvIGEgcmVjdXJzaXZlIGNvcHkgKHByb3BlcnRpZXMsIG5hbWVzcGFjZXMgYW5kIGNoaWxkcmVuIHdoZW4gYXBwbGljYWJsZSkgaWYgMiBjb3B5IHByb3BlcnRpZXMgYW5kIG5hbWVzcGFjZXMgKHdoZW4gYXBwbGljYWJsZSknLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxEb2NDb3B5Tm9kZUxpc3QnIGZpbGU9J3RyZWUnIG1vZHVsZT0ndHJlZSc+CisgICAgICA8aW5mbz5EbyBhIHJlY3Vyc2l2ZSBjb3B5IG9mIHRoZSBub2RlIGxpc3QuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSdhIG5ldyAjeG1sTm9kZVB0ciwgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLicvPgorICAgICAgPGFyZyBuYW1lPSdkb2MnIHR5cGU9J3htbERvY1B0cicgaW5mbz0ndGhlIHRhcmdldCBkb2N1bWVudCcvPgorICAgICAgPGFyZyBuYW1lPSdub2RlJyB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSd0aGUgZmlyc3Qgbm9kZSBpbiB0aGUgbGlzdC4nLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxEb2NEdW1wJyBmaWxlPSd0cmVlJyBtb2R1bGU9J3htbHNhdmUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+RHVtcCBhbiBYTUwgZG9jdW1lbnQgdG8gYW4gb3BlbiBGSUxFLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgbnVtYmVyIG9mIGJ5dGVzIHdyaXR0ZW4gb3IgLTEgaW4gY2FzZSBvZiBmYWlsdXJlLicvPgorICAgICAgPGFyZyBuYW1lPSdmJyB0eXBlPSdGSUxFIConIGluZm89J3RoZSBGSUxFKicvPgorICAgICAgPGFyZyBuYW1lPSdjdXInIHR5cGU9J3htbERvY1B0cicgaW5mbz0ndGhlIGRvY3VtZW50Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sRG9jRHVtcEZvcm1hdE1lbW9yeScgZmlsZT0ndHJlZScgbW9kdWxlPSd4bWxzYXZlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkR1bXAgYW4gWE1MIGRvY3VtZW50IGluIG1lbW9yeSBhbmQgcmV0dXJuIHRoZSAjeG1sQ2hhciAqIGFuZCBpdCZhcG9zO3Mgc2l6ZS4gSXQmYXBvcztzIHVwIHRvIHRoZSBjYWxsZXIgdG8gZnJlZSB0aGUgbWVtb3J5IHdpdGggeG1sRnJlZSgpLiBOb3RlIHRoYXQgQGZvcm1hdCA9IDEgcHJvdmlkZSBub2RlIGluZGVudGluZyBvbmx5IGlmIHhtbEluZGVudFRyZWVPdXRwdXQgPSAxIG9yIHhtbEtlZXBCbGFua3NEZWZhdWx0KDApIHdhcyBjYWxsZWQ8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3VyJyB0eXBlPSd4bWxEb2NQdHInIGluZm89J3RoZSBkb2N1bWVudCcvPgorICAgICAgPGFyZyBuYW1lPSdtZW0nIHR5cGU9J3htbENoYXIgKionIGluZm89J09VVDogdGhlIG1lbW9yeSBwb2ludGVyJy8+CisgICAgICA8YXJnIG5hbWU9J3NpemUnIHR5cGU9J2ludCAqJyBpbmZvPSdPVVQ6IHRoZSBtZW1vcnkgbGVuZ3RoJy8+CisgICAgICA8YXJnIG5hbWU9J2Zvcm1hdCcgdHlwZT0naW50JyBpbmZvPSdzaG91bGQgZm9ybWF0dGluZyBzcGFjZXMgYmVlbiBhZGRlZCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbERvY0R1bXBGb3JtYXRNZW1vcnlFbmMnIGZpbGU9J3RyZWUnIG1vZHVsZT0neG1sc2F2ZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5EdW1wIHRoZSBjdXJyZW50IERPTSB0cmVlIGludG8gbWVtb3J5IHVzaW5nIHRoZSBjaGFyYWN0ZXIgZW5jb2Rpbmcgc3BlY2lmaWVkIGJ5IHRoZSBjYWxsZXIuICBOb3RlIGl0IGlzIHVwIHRvIHRoZSBjYWxsZXIgb2YgdGhpcyBmdW5jdGlvbiB0byBmcmVlIHRoZSBhbGxvY2F0ZWQgbWVtb3J5IHdpdGggeG1sRnJlZSgpLiBOb3RlIHRoYXQgQGZvcm1hdCA9IDEgcHJvdmlkZSBub2RlIGluZGVudGluZyBvbmx5IGlmIHhtbEluZGVudFRyZWVPdXRwdXQgPSAxIG9yIHhtbEtlZXBCbGFua3NEZWZhdWx0KDApIHdhcyBjYWxsZWQ8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nb3V0X2RvYycgdHlwZT0neG1sRG9jUHRyJyBpbmZvPSdEb2N1bWVudCB0byBnZW5lcmF0ZSBYTUwgdGV4dCBmcm9tJy8+CisgICAgICA8YXJnIG5hbWU9J2RvY190eHRfcHRyJyB0eXBlPSd4bWxDaGFyICoqJyBpbmZvPSdNZW1vcnkgcG9pbnRlciBmb3IgYWxsb2NhdGVkIFhNTCB0ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J2RvY190eHRfbGVuJyB0eXBlPSdpbnQgKicgaW5mbz0nTGVuZ3RoIG9mIHRoZSBnZW5lcmF0ZWQgWE1MIHRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0ndHh0X2VuY29kaW5nJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J0NoYXJhY3RlciBlbmNvZGluZyB0byB1c2Ugd2hlbiBnZW5lcmF0aW5nIFhNTCB0ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J2Zvcm1hdCcgdHlwZT0naW50JyBpbmZvPSdzaG91bGQgZm9ybWF0dGluZyBzcGFjZXMgYmVlbiBhZGRlZCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbERvY0R1bXBNZW1vcnknIGZpbGU9J3RyZWUnIG1vZHVsZT0neG1sc2F2ZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5EdW1wIGFuIFhNTCBkb2N1bWVudCBpbiBtZW1vcnkgYW5kIHJldHVybiB0aGUgI3htbENoYXIgKiBhbmQgaXQmYXBvcztzIHNpemUgaW4gYnl0ZXMuIEl0JmFwb3M7cyB1cCB0byB0aGUgY2FsbGVyIHRvIGZyZWUgdGhlIG1lbW9yeSB3aXRoIHhtbEZyZWUoKS4gVGhlIHJlc3VsdGluZyBieXRlIGFycmF5IGlzIHplcm8gdGVybWluYXRlZCwgdGhvdWdoIHRoZSBsYXN0IDAgaXMgbm90IGluY2x1ZGVkIGluIHRoZSByZXR1cm5lZCBzaXplLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdXInIHR5cGU9J3htbERvY1B0cicgaW5mbz0ndGhlIGRvY3VtZW50Jy8+CisgICAgICA8YXJnIG5hbWU9J21lbScgdHlwZT0neG1sQ2hhciAqKicgaW5mbz0nT1VUOiB0aGUgbWVtb3J5IHBvaW50ZXInLz4KKyAgICAgIDxhcmcgbmFtZT0nc2l6ZScgdHlwZT0naW50IConIGluZm89J09VVDogdGhlIG1lbW9yeSBsZW5ndGgnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxEb2NEdW1wTWVtb3J5RW5jJyBmaWxlPSd0cmVlJyBtb2R1bGU9J3htbHNhdmUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+RHVtcCB0aGUgY3VycmVudCBET00gdHJlZSBpbnRvIG1lbW9yeSB1c2luZyB0aGUgY2hhcmFjdGVyIGVuY29kaW5nIHNwZWNpZmllZCBieSB0aGUgY2FsbGVyLiAgTm90ZSBpdCBpcyB1cCB0byB0aGUgY2FsbGVyIG9mIHRoaXMgZnVuY3Rpb24gdG8gZnJlZSB0aGUgYWxsb2NhdGVkIG1lbW9yeSB3aXRoIHhtbEZyZWUoKS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nb3V0X2RvYycgdHlwZT0neG1sRG9jUHRyJyBpbmZvPSdEb2N1bWVudCB0byBnZW5lcmF0ZSBYTUwgdGV4dCBmcm9tJy8+CisgICAgICA8YXJnIG5hbWU9J2RvY190eHRfcHRyJyB0eXBlPSd4bWxDaGFyICoqJyBpbmZvPSdNZW1vcnkgcG9pbnRlciBmb3IgYWxsb2NhdGVkIFhNTCB0ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J2RvY190eHRfbGVuJyB0eXBlPSdpbnQgKicgaW5mbz0nTGVuZ3RoIG9mIHRoZSBnZW5lcmF0ZWQgWE1MIHRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0ndHh0X2VuY29kaW5nJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J0NoYXJhY3RlciBlbmNvZGluZyB0byB1c2Ugd2hlbiBnZW5lcmF0aW5nIFhNTCB0ZXh0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sRG9jRm9ybWF0RHVtcCcgZmlsZT0ndHJlZScgbW9kdWxlPSd4bWxzYXZlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkR1bXAgYW4gWE1MIGRvY3VtZW50IHRvIGFuIG9wZW4gRklMRS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndGhlIG51bWJlciBvZiBieXRlcyB3cml0dGVuIG9yIC0xIGluIGNhc2Ugb2YgZmFpbHVyZS4gTm90ZSB0aGF0IEBmb3JtYXQgPSAxIHByb3ZpZGUgbm9kZSBpbmRlbnRpbmcgb25seSBpZiB4bWxJbmRlbnRUcmVlT3V0cHV0ID0gMSBvciB4bWxLZWVwQmxhbmtzRGVmYXVsdCgwKSB3YXMgY2FsbGVkJy8+CisgICAgICA8YXJnIG5hbWU9J2YnIHR5cGU9J0ZJTEUgKicgaW5mbz0ndGhlIEZJTEUqJy8+CisgICAgICA8YXJnIG5hbWU9J2N1cicgdHlwZT0neG1sRG9jUHRyJyBpbmZvPSd0aGUgZG9jdW1lbnQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZm9ybWF0JyB0eXBlPSdpbnQnIGluZm89J3Nob3VsZCBmb3JtYXR0aW5nIHNwYWNlcyBiZWVuIGFkZGVkJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sRG9jR2V0Um9vdEVsZW1lbnQnIGZpbGU9J3RyZWUnIG1vZHVsZT0ndHJlZSc+CisgICAgICA8aW5mbz5HZXQgdGhlIHJvb3QgZWxlbWVudCBvZiB0aGUgZG9jdW1lbnQgKGRvYy0mZ3Q7Y2hpbGRyZW4gaXMgYSBsaXN0IGNvbnRhaW5pbmcgcG9zc2libHkgY29tbWVudHMsIFBJcywgZXRjIC4uLikuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSd0aGUgI3htbE5vZGVQdHIgZm9yIHRoZSByb290IG9yIE5VTEwnLz4KKyAgICAgIDxhcmcgbmFtZT0nZG9jJyB0eXBlPSdjb25zdCB4bWxEb2MgKicgaW5mbz0ndGhlIGRvY3VtZW50Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sRG9jU2V0Um9vdEVsZW1lbnQnIGZpbGU9J3RyZWUnIG1vZHVsZT0ndHJlZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlNldCB0aGUgcm9vdCBlbGVtZW50IG9mIHRoZSBkb2N1bWVudCAoZG9jLSZndDtjaGlsZHJlbiBpcyBhIGxpc3QgY29udGFpbmluZyBwb3NzaWJseSBjb21tZW50cywgUElzLCBldGMgLi4uKS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3RoZSBvbGQgcm9vdCBlbGVtZW50IGlmIGFueSB3YXMgZm91bmQsIE5VTEwgaWYgcm9vdCB3YXMgTlVMTCcvPgorICAgICAgPGFyZyBuYW1lPSdkb2MnIHR5cGU9J3htbERvY1B0cicgaW5mbz0ndGhlIGRvY3VtZW50Jy8+CisgICAgICA8YXJnIG5hbWU9J3Jvb3QnIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3RoZSBuZXcgZG9jdW1lbnQgcm9vdCBlbGVtZW50LCBpZiByb290IGlzIE5VTEwgbm8gYWN0aW9uIGlzIHRha2VuLCB0byByZW1vdmUgYSBub2RlIGZyb20gYSBkb2N1bWVudCB1c2UgeG1sVW5saW5rTm9kZShyb290KSBpbnN0ZWFkLicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbER1bXBBdHRyaWJ1dGVEZWNsJyBmaWxlPSd2YWxpZCcgbW9kdWxlPSd2YWxpZCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5UaGlzIHdpbGwgZHVtcCB0aGUgY29udGVudCBvZiB0aGUgYXR0cmlidXRlIGRlY2xhcmF0aW9uIGFzIGFuIFhNTCBEVEQgZGVmaW5pdGlvbjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdidWYnIHR5cGU9J3htbEJ1ZmZlclB0cicgaW5mbz0ndGhlIFhNTCBidWZmZXIgb3V0cHV0Jy8+CisgICAgICA8YXJnIG5hbWU9J2F0dHInIHR5cGU9J3htbEF0dHJpYnV0ZVB0cicgaW5mbz0nQW4gYXR0cmlidXRlIGRlY2xhcmF0aW9uJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sRHVtcEF0dHJpYnV0ZVRhYmxlJyBmaWxlPSd2YWxpZCcgbW9kdWxlPSd2YWxpZCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5UaGlzIHdpbGwgZHVtcCB0aGUgY29udGVudCBvZiB0aGUgYXR0cmlidXRlIHRhYmxlIGFzIGFuIFhNTCBEVEQgZGVmaW5pdGlvbjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdidWYnIHR5cGU9J3htbEJ1ZmZlclB0cicgaW5mbz0ndGhlIFhNTCBidWZmZXIgb3V0cHV0Jy8+CisgICAgICA8YXJnIG5hbWU9J3RhYmxlJyB0eXBlPSd4bWxBdHRyaWJ1dGVUYWJsZVB0cicgaW5mbz0nQW4gYXR0cmlidXRlIHRhYmxlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sRHVtcEVsZW1lbnREZWNsJyBmaWxlPSd2YWxpZCcgbW9kdWxlPSd2YWxpZCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5UaGlzIHdpbGwgZHVtcCB0aGUgY29udGVudCBvZiB0aGUgZWxlbWVudCBkZWNsYXJhdGlvbiBhcyBhbiBYTUwgRFREIGRlZmluaXRpb248L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nYnVmJyB0eXBlPSd4bWxCdWZmZXJQdHInIGluZm89J3RoZSBYTUwgYnVmZmVyIG91dHB1dCcvPgorICAgICAgPGFyZyBuYW1lPSdlbGVtJyB0eXBlPSd4bWxFbGVtZW50UHRyJyBpbmZvPSdBbiBlbGVtZW50IHRhYmxlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sRHVtcEVsZW1lbnRUYWJsZScgZmlsZT0ndmFsaWQnIG1vZHVsZT0ndmFsaWQnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+VGhpcyB3aWxsIGR1bXAgdGhlIGNvbnRlbnQgb2YgdGhlIGVsZW1lbnQgdGFibGUgYXMgYW4gWE1MIERURCBkZWZpbml0aW9uPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2J1ZicgdHlwZT0neG1sQnVmZmVyUHRyJyBpbmZvPSd0aGUgWE1MIGJ1ZmZlciBvdXRwdXQnLz4KKyAgICAgIDxhcmcgbmFtZT0ndGFibGUnIHR5cGU9J3htbEVsZW1lbnRUYWJsZVB0cicgaW5mbz0nQW4gZWxlbWVudCB0YWJsZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbER1bXBFbnRpdGllc1RhYmxlJyBmaWxlPSdlbnRpdGllcycgbW9kdWxlPSdlbnRpdGllcyc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5UaGlzIHdpbGwgZHVtcCB0aGUgY29udGVudCBvZiB0aGUgZW50aXR5IHRhYmxlIGFzIGFuIFhNTCBEVEQgZGVmaW5pdGlvbjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdidWYnIHR5cGU9J3htbEJ1ZmZlclB0cicgaW5mbz0nQW4gWE1MIGJ1ZmZlci4nLz4KKyAgICAgIDxhcmcgbmFtZT0ndGFibGUnIHR5cGU9J3htbEVudGl0aWVzVGFibGVQdHInIGluZm89J0FuIGVudGl0eSB0YWJsZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbER1bXBFbnRpdHlEZWNsJyBmaWxlPSdlbnRpdGllcycgbW9kdWxlPSdlbnRpdGllcyc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5UaGlzIHdpbGwgZHVtcCB0aGUgY29udGVudCBvZiB0aGUgZW50aXR5IHRhYmxlIGFzIGFuIFhNTCBEVEQgZGVmaW5pdGlvbjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdidWYnIHR5cGU9J3htbEJ1ZmZlclB0cicgaW5mbz0nQW4gWE1MIGJ1ZmZlci4nLz4KKyAgICAgIDxhcmcgbmFtZT0nZW50JyB0eXBlPSd4bWxFbnRpdHlQdHInIGluZm89J0FuIGVudGl0eSB0YWJsZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbER1bXBOb3RhdGlvbkRlY2wnIGZpbGU9J3ZhbGlkJyBtb2R1bGU9J3ZhbGlkJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlRoaXMgd2lsbCBkdW1wIHRoZSBjb250ZW50IHRoZSBub3RhdGlvbiBkZWNsYXJhdGlvbiBhcyBhbiBYTUwgRFREIGRlZmluaXRpb248L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nYnVmJyB0eXBlPSd4bWxCdWZmZXJQdHInIGluZm89J3RoZSBYTUwgYnVmZmVyIG91dHB1dCcvPgorICAgICAgPGFyZyBuYW1lPSdub3RhJyB0eXBlPSd4bWxOb3RhdGlvblB0cicgaW5mbz0nQSBub3RhdGlvbiBkZWNsYXJhdGlvbicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbER1bXBOb3RhdGlvblRhYmxlJyBmaWxlPSd2YWxpZCcgbW9kdWxlPSd2YWxpZCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5UaGlzIHdpbGwgZHVtcCB0aGUgY29udGVudCBvZiB0aGUgbm90YXRpb24gdGFibGUgYXMgYW4gWE1MIERURCBkZWZpbml0aW9uPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2J1ZicgdHlwZT0neG1sQnVmZmVyUHRyJyBpbmZvPSd0aGUgWE1MIGJ1ZmZlciBvdXRwdXQnLz4KKyAgICAgIDxhcmcgbmFtZT0ndGFibGUnIHR5cGU9J3htbE5vdGF0aW9uVGFibGVQdHInIGluZm89J0Egbm90YXRpb24gdGFibGUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxFbGVtRHVtcCcgZmlsZT0ndHJlZScgbW9kdWxlPSd4bWxzYXZlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkR1bXAgYW4gWE1ML0hUTUwgbm9kZSwgcmVjdXJzaXZlIGJlaGF2aW91ciwgY2hpbGRyZW4gYXJlIHByaW50ZWQgdG9vLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdmJyB0eXBlPSdGSUxFIConIGluZm89J3RoZSBGSUxFICogZm9yIHRoZSBvdXRwdXQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZG9jJyB0eXBlPSd4bWxEb2NQdHInIGluZm89J3RoZSBkb2N1bWVudCcvPgorICAgICAgPGFyZyBuYW1lPSdjdXInIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3RoZSBjdXJyZW50IG5vZGUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxFbmNvZGVFbnRpdGllcycgZmlsZT0nZW50aXRpZXMnIG1vZHVsZT0nbGVnYWN5Jz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0xFR0FDWV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlRPRE86IHJlbW92ZSB4bWxFbmNvZGVFbnRpdGllcywgb25jZSB3ZSBhcmUgbm90IGFmcmFpZCBvZiBicmVha2luZyBiaW5hcnkgY29tcGF0aWJpbGl0eSAgUGVvcGxlIG11c3QgbWlncmF0ZSB0aGVpciBjb2RlIHRvIHhtbEVuY29kZUVudGl0aWVzUmVlbnRyYW50ICEgVGhpcyByb3V0aW5lIHdpbGwgaXNzdWUgYSB3YXJuaW5nIHdoZW4gZW5jb3VudGVyZWQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J05VTEwnLz4KKyAgICAgIDxhcmcgbmFtZT0nZG9jJyB0eXBlPSd4bWxEb2NQdHInIGluZm89J3RoZSBkb2N1bWVudCBjb250YWluaW5nIHRoZSBzdHJpbmcnLz4KKyAgICAgIDxhcmcgbmFtZT0naW5wdXQnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nQSBzdHJpbmcgdG8gY29udmVydCB0byBYTUwuJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sRW5jb2RlRW50aXRpZXNSZWVudHJhbnQnIGZpbGU9J2VudGl0aWVzJyBtb2R1bGU9J2VudGl0aWVzJz4KKyAgICAgIDxpbmZvPkRvIGEgZ2xvYmFsIGVuY29kaW5nIG9mIGEgc3RyaW5nLCByZXBsYWNpbmcgdGhlIHByZWRlZmluZWQgZW50aXRpZXMgYW5kIG5vbiBBU0NJSSB2YWx1ZXMgd2l0aCB0aGVpciBlbnRpdGllcyBhbmQgQ2hhclJlZiBjb3VudGVycGFydHMuIENvbnRyYXJ5IHRvIHhtbEVuY29kZUVudGl0aWVzLCB0aGlzIHJvdXRpbmUgaXMgcmVlbnRyYW50LCBhbmQgcmVzdWx0IG11c3QgYmUgZGVhbGxvY2F0ZWQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxDaGFyIConIGluZm89J0EgbmV3bHkgYWxsb2NhdGVkIHN0cmluZyB3aXRoIHRoZSBzdWJzdGl0dXRpb24gZG9uZS4nLz4KKyAgICAgIDxhcmcgbmFtZT0nZG9jJyB0eXBlPSd4bWxEb2NQdHInIGluZm89J3RoZSBkb2N1bWVudCBjb250YWluaW5nIHRoZSBzdHJpbmcnLz4KKyAgICAgIDxhcmcgbmFtZT0naW5wdXQnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nQSBzdHJpbmcgdG8gY29udmVydCB0byBYTUwuJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sRW5jb2RlU3BlY2lhbENoYXJzJyBmaWxlPSdlbnRpdGllcycgbW9kdWxlPSdlbnRpdGllcyc+CisgICAgICA8aW5mbz5EbyBhIGdsb2JhbCBlbmNvZGluZyBvZiBhIHN0cmluZywgcmVwbGFjaW5nIHRoZSBwcmVkZWZpbmVkIGVudGl0aWVzIHRoaXMgcm91dGluZSBpcyByZWVudHJhbnQsIGFuZCByZXN1bHQgbXVzdCBiZSBkZWFsbG9jYXRlZC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbENoYXIgKicgaW5mbz0nQSBuZXdseSBhbGxvY2F0ZWQgc3RyaW5nIHdpdGggdGhlIHN1YnN0aXR1dGlvbiBkb25lLicvPgorICAgICAgPGFyZyBuYW1lPSdkb2MnIHR5cGU9J2NvbnN0IHhtbERvYyAqJyBpbmZvPSd0aGUgZG9jdW1lbnQgY29udGFpbmluZyB0aGUgc3RyaW5nJy8+CisgICAgICA8YXJnIG5hbWU9J2lucHV0JyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J0Egc3RyaW5nIHRvIGNvbnZlcnQgdG8gWE1MLicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0eXBlIG5hbWU9J3htbEVudGl0eVJlZmVyZW5jZUZ1bmMnIGZpbGU9J3BhcnNlckludGVybmFscycgbW9kdWxlPSdwYXJzZXJJbnRlcm5hbHMnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfTEVHQUNZX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2FsbGJhY2sgZnVuY3Rpb24gdXNlZCB3aGVuIG9uZSBuZWVkcyB0byBiZSBhYmxlIHRvIHRyYWNrIGJhY2sgdGhlIHByb3ZlbmFuY2Ugb2YgYSBjaHVuayBvZiBub2RlcyBpbmhlcml0ZWQgZnJvbSBhbiBlbnRpdHkgcmVwbGFjZW1lbnQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2VudCcgdHlwZT0neG1sRW50aXR5UHRyJyBpbmZvPSd0aGUgZW50aXR5Jy8+CisgICAgICA8YXJnIG5hbWU9J2ZpcnN0Tm9kZScgdHlwZT0neG1sTm9kZVB0cicgaW5mbz0ndGhlIGZpc3Qgbm9kZSBpbiB0aGUgY2h1bmsnLz4KKyAgICAgIDxhcmcgbmFtZT0nbGFzdE5vZGUnIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3RoZSBsYXN0IG5vZCBpbiB0aGUgY2h1bmsnLz4KKyAgICA8L2Z1bmN0eXBlPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxFcnJNZW1vcnknIGZpbGU9J3BhcnNlckludGVybmFscycgbW9kdWxlPSdwYXJzZXJJbnRlcm5hbHMnPgorICAgICAgPGluZm8+SGFuZGxlIGEgcmVkZWZpbml0aW9uIG9mIGF0dHJpYnV0ZSBlcnJvcjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxQYXJzZXJDdHh0UHRyJyBpbmZvPSdhbiBYTUwgcGFyc2VyIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZXh0cmEnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0nZXh0cmEgaW5mb3JtYXRpb25zJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sRXhwQ3R4dE5iQ29ucycgZmlsZT0neG1scmVnZXhwJyBtb2R1bGU9J3htbHJlZ2V4cCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9SRUdFWFBfRU5BQkxFRCkgJmFtcDsmYW1wOyBkZWZpbmVkKExJQlhNTF9FWFBSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+RGVidWdnaW5nIGZhY2lsaXR5IHByb3ZpZGVzIHRoZSBudW1iZXIgb2YgYWxsb2NhdGVkIG5vZGVzIG92ZXIgbGlmZXRpbWU8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndGhlIG51bWJlciBvZiBub2RlcyBldmVyIGFsbG9jYXRlZCBvciAtMSBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbEV4cEN0eHRQdHInIGluZm89J2FuIGV4cHJlc3Npb24gY29udGV4dCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEV4cEN0eHROYk5vZGVzJyBmaWxlPSd4bWxyZWdleHAnIG1vZHVsZT0neG1scmVnZXhwJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1JFR0VYUF9FTkFCTEVEKSAmYW1wOyZhbXA7IGRlZmluZWQoTElCWE1MX0VYUFJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5EZWJ1Z2dpbmcgZmFjaWxpdHkgcHJvdmlkZXMgdGhlIG51bWJlciBvZiBhbGxvY2F0ZWQgbm9kZXMgYXQgYSB0aGF0IHBvaW50PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J3RoZSBudW1iZXIgb2Ygbm9kZXMgaW4gdXNlIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sRXhwQ3R4dFB0cicgaW5mbz0nYW4gZXhwcmVzc2lvbiBjb250ZXh0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sRXhwRHVtcCcgZmlsZT0neG1scmVnZXhwJyBtb2R1bGU9J3htbHJlZ2V4cCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9SRUdFWFBfRU5BQkxFRCkgJmFtcDsmYW1wOyBkZWZpbmVkKExJQlhNTF9FWFBSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+U2VyaWFsaXplIHRoZSBleHByZXNzaW9uIGFzIGNvbXBpbGVkIHRvIHRoZSBidWZmZXI8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nYnVmJyB0eXBlPSd4bWxCdWZmZXJQdHInIGluZm89J2EgYnVmZmVyIHRvIHJlY2VpdmUgdGhlIG91dHB1dCcvPgorICAgICAgPGFyZyBuYW1lPSdleHByJyB0eXBlPSd4bWxFeHBOb2RlUHRyJyBpbmZvPSd0aGUgY29tcGlsZWQgZXhwcmVzc2lvbicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEV4cEV4cERlcml2ZScgZmlsZT0neG1scmVnZXhwJyBtb2R1bGU9J3htbHJlZ2V4cCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9SRUdFWFBfRU5BQkxFRCkgJmFtcDsmYW1wOyBkZWZpbmVkKExJQlhNTF9FWFBSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+RXZhbHVhdGVzIHRoZSBleHByZXNzaW9uIHJlc3VsdGluZyBmcm9tIEBleHAgY29uc3VtaW5nIGEgc3ViIGV4cHJlc3Npb24gQHN1YiBCYXNlZCBvbiBhbGdlYnJhaWMgZGVyaXZhdGlvbiBhbmQgc29tZXRpbWVzIGRpcmVjdCBCcnpvem93c2tpIGRlcml2YXRpb24gaXQgdXN1YWxseSB0YXRrZXMgbGVzcyB0aGFuIGxpbmVhciB0aW1lIGFuZCBjYW4gaGFuZGxlIGV4cHJlc3Npb25zIGdlbmVyYXRpbmcgaW5maW5pdGUgbGFuZ3VhZ2VzLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sRXhwTm9kZVB0cicgaW5mbz0ndGhlIHJlc3VsdGluZyBleHByZXNzaW9uIG9yIE5VTEwgaW4gY2FzZSBvZiBpbnRlcm5hbCBlcnJvciwgdGhlIHJlc3VsdCBtdXN0IGJlIGZyZWVkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbEV4cEN0eHRQdHInIGluZm89J3RoZSBleHByZXNzaW9ucyBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J2V4cCcgdHlwZT0neG1sRXhwTm9kZVB0cicgaW5mbz0ndGhlIGVuZ2xvYmluZyBleHByZXNzaW9uJy8+CisgICAgICA8YXJnIG5hbWU9J3N1YicgdHlwZT0neG1sRXhwTm9kZVB0cicgaW5mbz0ndGhlIHN1YmV4cHJlc3Npb24nLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxFeHBGcmVlJyBmaWxlPSd4bWxyZWdleHAnIG1vZHVsZT0neG1scmVnZXhwJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1JFR0VYUF9FTkFCTEVEKSAmYW1wOyZhbXA7IGRlZmluZWQoTElCWE1MX0VYUFJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5EZXJlZmVyZW5jZSB0aGUgZXhwcmVzc2lvbjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxFeHBDdHh0UHRyJyBpbmZvPSd0aGUgZXhwcmVzc2lvbiBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J2V4cCcgdHlwZT0neG1sRXhwTm9kZVB0cicgaW5mbz0ndGhlIGV4cHJlc3Npb24nLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxFeHBGcmVlQ3R4dCcgZmlsZT0neG1scmVnZXhwJyBtb2R1bGU9J3htbHJlZ2V4cCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9SRUdFWFBfRU5BQkxFRCkgJmFtcDsmYW1wOyBkZWZpbmVkKExJQlhNTF9FWFBSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+RnJlZSBhbiBleHByZXNzaW9uIGNvbnRleHQ8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sRXhwQ3R4dFB0cicgaW5mbz0nYW4gZXhwcmVzc2lvbiBjb250ZXh0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sRXhwR2V0TGFuZ3VhZ2UnIGZpbGU9J3htbHJlZ2V4cCcgbW9kdWxlPSd4bWxyZWdleHAnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfUkVHRVhQX0VOQUJMRUQpICZhbXA7JmFtcDsgZGVmaW5lZChMSUJYTUxfRVhQUl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkZpbmQgYWxsIHRoZSBzdHJpbmdzIHVzZWQgaW4gQGV4cCBhbmQgc3RvcmUgdGhlbSBpbiBAbGlzdDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgbnVtYmVyIG9mIHVuaXF1ZSBzdHJpbmdzIGZvdW5kLCAtMSBpbiBjYXNlIG9mIGVycm9ycyBhbmQgLTIgaWYgdGhlcmUgaXMgbW9yZSB0aGFuIEBsZW4gc3RyaW5ncycvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxFeHBDdHh0UHRyJyBpbmZvPSd0aGUgZXhwcmVzc2lvbiBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J2V4cCcgdHlwZT0neG1sRXhwTm9kZVB0cicgaW5mbz0ndGhlIGV4cHJlc3Npb24nLz4KKyAgICAgIDxhcmcgbmFtZT0nbGFuZ0xpc3QnIHR5cGU9J2NvbnN0IHhtbENoYXIgKionIGluZm89J3doZXJlIHRvIHN0b3JlIHRoZSB0b2tlbnMnLz4KKyAgICAgIDxhcmcgbmFtZT0nbGVuJyB0eXBlPSdpbnQnIGluZm89J3RoZSBhbGxvY2F0ZWQgbGVuZ3RoIG9mIEBsaXN0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sRXhwR2V0U3RhcnQnIGZpbGU9J3htbHJlZ2V4cCcgbW9kdWxlPSd4bWxyZWdleHAnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfUkVHRVhQX0VOQUJMRUQpICZhbXA7JmFtcDsgZGVmaW5lZChMSUJYTUxfRVhQUl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkZpbmQgYWxsIHRoZSBzdHJpbmdzIHRoYXQgYXBwZWFycyBhdCB0aGUgc3RhcnQgb2YgdGhlIGxhbmd1YWdlcyBhY2NlcHRlZCBieSBAZXhwIGFuZCBzdG9yZSB0aGVtIGluIEBsaXN0LiBFLmcuIGZvciAoYSwgYikgfCBjIGl0IHdpbGwgcmV0dXJuIHRoZSBsaXN0IFthLCBjXTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgbnVtYmVyIG9mIHVuaXF1ZSBzdHJpbmdzIGZvdW5kLCAtMSBpbiBjYXNlIG9mIGVycm9ycyBhbmQgLTIgaWYgdGhlcmUgaXMgbW9yZSB0aGFuIEBsZW4gc3RyaW5ncycvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxFeHBDdHh0UHRyJyBpbmZvPSd0aGUgZXhwcmVzc2lvbiBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J2V4cCcgdHlwZT0neG1sRXhwTm9kZVB0cicgaW5mbz0ndGhlIGV4cHJlc3Npb24nLz4KKyAgICAgIDxhcmcgbmFtZT0ndG9rTGlzdCcgdHlwZT0nY29uc3QgeG1sQ2hhciAqKicgaW5mbz0nd2hlcmUgdG8gc3RvcmUgdGhlIHRva2VucycvPgorICAgICAgPGFyZyBuYW1lPSdsZW4nIHR5cGU9J2ludCcgaW5mbz0ndGhlIGFsbG9jYXRlZCBsZW5ndGggb2YgQGxpc3QnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxFeHBJc05pbGxhYmxlJyBmaWxlPSd4bWxyZWdleHAnIG1vZHVsZT0neG1scmVnZXhwJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1JFR0VYUF9FTkFCTEVEKSAmYW1wOyZhbXA7IGRlZmluZWQoTElCWE1MX0VYUFJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5GaW5kcyBpZiB0aGUgZXhwcmVzc2lvbiBpcyBuaWxsYWJsZSwgaS5lLiBpZiBpdCBhY2NlcHRzIHRoZSBlbXB0eSBzZXF1cW5jZTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIG5pbGxhYmxlLCAwIGlmIG5vdCBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSdleHAnIHR5cGU9J3htbEV4cE5vZGVQdHInIGluZm89J3RoZSBleHByZXNzaW9uJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sRXhwTWF4VG9rZW4nIGZpbGU9J3htbHJlZ2V4cCcgbW9kdWxlPSd4bWxyZWdleHAnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfUkVHRVhQX0VOQUJMRUQpICZhbXA7JmFtcDsgZGVmaW5lZChMSUJYTUxfRVhQUl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkluZGljYXRlIHRoZSBtYXhpbXVtIG51bWJlciBvZiBpbnB1dCBhIGV4cHJlc3Npb24gY2FuIGFjY2VwdDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgbWF4aW11bSBsZW5ndGggb3IgLTEgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSdleHByJyB0eXBlPSd4bWxFeHBOb2RlUHRyJyBpbmZvPSdhIGNvbXBpbGVkIGV4cHJlc3Npb24nLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxFeHBOZXdBdG9tJyBmaWxlPSd4bWxyZWdleHAnIG1vZHVsZT0neG1scmVnZXhwJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1JFR0VYUF9FTkFCTEVEKSAmYW1wOyZhbXA7IGRlZmluZWQoTElCWE1MX0VYUFJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5HZXQgdGhlIGF0b20gYXNzb2NpYXRlZCB0byB0aGlzIG5hbWUgZnJvbSB0aGF0IGNvbnRleHQ8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbEV4cE5vZGVQdHInIGluZm89J3RoZSBub2RlIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxFeHBDdHh0UHRyJyBpbmZvPSd0aGUgZXhwcmVzc2lvbiBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J25hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIGF0b20gbmFtZScvPgorICAgICAgPGFyZyBuYW1lPSdsZW4nIHR5cGU9J2ludCcgaW5mbz0ndGhlIGF0b20gbmFtZSBsZW5ndGggaW4gYnl0ZSAob3IgLTEpOycvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEV4cE5ld0N0eHQnIGZpbGU9J3htbHJlZ2V4cCcgbW9kdWxlPSd4bWxyZWdleHAnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfUkVHRVhQX0VOQUJMRUQpICZhbXA7JmFtcDsgZGVmaW5lZChMSUJYTUxfRVhQUl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNyZWF0ZXMgYSBuZXcgY29udGV4dCBmb3IgbWFuaXB1bGF0aW5nIGV4cHJlc3Npb25zPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxFeHBDdHh0UHRyJyBpbmZvPSd0aGUgY29udGV4dCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0nbWF4Tm9kZXMnIHR5cGU9J2ludCcgaW5mbz0ndGhlIG1heGltdW0gbnVtYmVyIG9mIG5vZGVzJy8+CisgICAgICA8YXJnIG5hbWU9J2RpY3QnIHR5cGU9J3htbERpY3RQdHInIGluZm89J29wdGlvbmFsIGRpY3Rpb25uYXJ5IHRvIHVzZSBpbnRlcm5hbGx5Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sRXhwTmV3T3InIGZpbGU9J3htbHJlZ2V4cCcgbW9kdWxlPSd4bWxyZWdleHAnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfUkVHRVhQX0VOQUJMRUQpICZhbXA7JmFtcDsgZGVmaW5lZChMSUJYTUxfRVhQUl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkdldCB0aGUgYXRvbSBhc3NvY2lhdGVkIHRvIHRoZSBjaG9pY2UgQGxlZnQgfCBAcmlnaHQgTm90ZSB0aGF0IEBsZWZ0IGFuZCBAcmlnaHQgYXJlIGNvbnN1bWVkIGluIHRoZSBvcGVyYXRpb24sIHRvIGtlZXAgYW4gaGFuZGxlIG9uIHRoZW0gdXNlIHhtbEV4cFJlZigpIGFuZCB1c2UgeG1sRXhwRnJlZSgpIHRvIHJlbGVhc2UgdGhlbSwgdGhpcyBpcyB0cnVlIGV2ZW4gaW4gY2FzZSBvZiBmYWlsdXJlICh1bmxlc3MgY3R4dCA9PSBOVUxMKS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbEV4cE5vZGVQdHInIGluZm89J3RoZSBub2RlIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxFeHBDdHh0UHRyJyBpbmZvPSd0aGUgZXhwcmVzc2lvbiBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J2xlZnQnIHR5cGU9J3htbEV4cE5vZGVQdHInIGluZm89J2xlZnQgZXhwcmVzc2lvbicvPgorICAgICAgPGFyZyBuYW1lPSdyaWdodCcgdHlwZT0neG1sRXhwTm9kZVB0cicgaW5mbz0ncmlnaHQgZXhwcmVzc2lvbicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEV4cE5ld1JhbmdlJyBmaWxlPSd4bWxyZWdleHAnIG1vZHVsZT0neG1scmVnZXhwJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1JFR0VYUF9FTkFCTEVEKSAmYW1wOyZhbXA7IGRlZmluZWQoTElCWE1MX0VYUFJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5HZXQgdGhlIGF0b20gYXNzb2NpYXRlZCB0byB0aGUgcmFuZ2UgKEBzdWJzZXQpe0BtaW4sIEBtYXh9IE5vdGUgdGhhdCBAc3Vic2V0IGlzIGNvbnN1bWVkIGluIHRoZSBvcGVyYXRpb24sIHRvIGtlZXAgYW4gaGFuZGxlIG9uIGl0IHVzZSB4bWxFeHBSZWYoKSBhbmQgdXNlIHhtbEV4cEZyZWUoKSB0byByZWxlYXNlIGl0LCB0aGlzIGlzIHRydWUgZXZlbiBpbiBjYXNlIG9mIGZhaWx1cmUgKHVubGVzcyBjdHh0ID09IE5VTEwpLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sRXhwTm9kZVB0cicgaW5mbz0ndGhlIG5vZGUgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbEV4cEN0eHRQdHInIGluZm89J3RoZSBleHByZXNzaW9uIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nc3Vic2V0JyB0eXBlPSd4bWxFeHBOb2RlUHRyJyBpbmZvPSd0aGUgZXhwcmVzc2lvbiB0byBiZSByZXBlYXRlZCcvPgorICAgICAgPGFyZyBuYW1lPSdtaW4nIHR5cGU9J2ludCcgaW5mbz0ndGhlIGxvd2VyIGJvdW5kIGZvciB0aGUgcmVwZXRpdGlvbicvPgorICAgICAgPGFyZyBuYW1lPSdtYXgnIHR5cGU9J2ludCcgaW5mbz0ndGhlIHVwcGVyIGJvdW5kIGZvciB0aGUgcmVwZXRpdGlvbiwgLTEgbWVhbnMgaW5maW5pdGUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxFeHBOZXdTZXEnIGZpbGU9J3htbHJlZ2V4cCcgbW9kdWxlPSd4bWxyZWdleHAnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfUkVHRVhQX0VOQUJMRUQpICZhbXA7JmFtcDsgZGVmaW5lZChMSUJYTUxfRVhQUl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkdldCB0aGUgYXRvbSBhc3NvY2lhdGVkIHRvIHRoZSBzZXF1ZW5jZSBAbGVmdCAsIEByaWdodCBOb3RlIHRoYXQgQGxlZnQgYW5kIEByaWdodCBhcmUgY29uc3VtZWQgaW4gdGhlIG9wZXJhdGlvbiwgdG8ga2VlcCBhbiBoYW5kbGUgb24gdGhlbSB1c2UgeG1sRXhwUmVmKCkgYW5kIHVzZSB4bWxFeHBGcmVlKCkgdG8gcmVsZWFzZSB0aGVtLCB0aGlzIGlzIHRydWUgZXZlbiBpbiBjYXNlIG9mIGZhaWx1cmUgKHVubGVzcyBjdHh0ID09IE5VTEwpLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sRXhwTm9kZVB0cicgaW5mbz0ndGhlIG5vZGUgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbEV4cEN0eHRQdHInIGluZm89J3RoZSBleHByZXNzaW9uIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbGVmdCcgdHlwZT0neG1sRXhwTm9kZVB0cicgaW5mbz0nbGVmdCBleHByZXNzaW9uJy8+CisgICAgICA8YXJnIG5hbWU9J3JpZ2h0JyB0eXBlPSd4bWxFeHBOb2RlUHRyJyBpbmZvPSdyaWdodCBleHByZXNzaW9uJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sRXhwUGFyc2UnIGZpbGU9J3htbHJlZ2V4cCcgbW9kdWxlPSd4bWxyZWdleHAnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfUkVHRVhQX0VOQUJMRUQpICZhbXA7JmFtcDsgZGVmaW5lZChMSUJYTUxfRVhQUl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPk1pbmltYWwgcGFyc2VyIGZvciByZWdleHBzLCBpdCB1bmRlcnN0YW5kIHRoZSBmb2xsb3dpbmcgY29uc3RydWN0cyAtIHN0cmluZyB0ZXJtaW5hbHMgLSBjaG9pY2Ugb3BlcmF0b3IgfCAtIHNlcXVlbmNlIG9wZXJhdG9yICwgLSBzdWJleHByZXNzaW9ucyAoLi4uKSAtIHVzdWFsIGNhcmRpbmFsaXR5IG9wZXJhdG9ycyArICogYW5kID8gLSBmaW5pdGUgc2VxdWVuY2VzICB7IG1pbiwgbWF4IH0gLSBpbmZpbml0ZSBzZXF1ZW5jZXMgeyBtaW4sICogfSBUaGVyZSBpcyBtaW5pbWFsIGNoZWNraW5ncyBtYWRlIGVzcGVjaWFsbHkgbm8gY2hlY2tpbmcgb24gc3RyaW5ncyB2YWx1ZXM8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbEV4cE5vZGVQdHInIGluZm89J2EgbmV3IGV4cHJlc3Npb24gb3IgTlVMTCBpbiBjYXNlIG9mIGZhaWx1cmUnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sRXhwQ3R4dFB0cicgaW5mbz0ndGhlIGV4cHJlc3Npb25zIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZXhwcicgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSd0aGUgMCB0ZXJtaW5hdGVkIHN0cmluZycvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEV4cFJlZicgZmlsZT0neG1scmVnZXhwJyBtb2R1bGU9J3htbHJlZ2V4cCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9SRUdFWFBfRU5BQkxFRCkgJmFtcDsmYW1wOyBkZWZpbmVkKExJQlhNTF9FWFBSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+SW5jcmVhc2UgdGhlIHJlZmVyZW5jZSBjb3VudCBvZiB0aGUgZXhwcmVzc2lvbjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdleHAnIHR5cGU9J3htbEV4cE5vZGVQdHInIGluZm89J3RoZSBleHByZXNzaW9uJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sRXhwU3RyaW5nRGVyaXZlJyBmaWxlPSd4bWxyZWdleHAnIG1vZHVsZT0neG1scmVnZXhwJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1JFR0VYUF9FTkFCTEVEKSAmYW1wOyZhbXA7IGRlZmluZWQoTElCWE1MX0VYUFJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5EbyBvbmUgc3RlcCBvZiBCcnpvem93c2tpIGRlcml2YXRpb24gb2YgdGhlIGV4cHJlc3Npb24gQGV4cCB3aXRoIHJlc3BlY3QgdG8gdGhlIGlucHV0IHN0cmluZzwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sRXhwTm9kZVB0cicgaW5mbz0ndGhlIHJlc3VsdGluZyBleHByZXNzaW9uIG9yIE5VTEwgaW4gY2FzZSBvZiBpbnRlcm5hbCBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxFeHBDdHh0UHRyJyBpbmZvPSd0aGUgZXhwcmVzc2lvbiBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J2V4cCcgdHlwZT0neG1sRXhwTm9kZVB0cicgaW5mbz0ndGhlIGV4cHJlc3Npb24nLz4KKyAgICAgIDxhcmcgbmFtZT0nc3RyJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBzdHJpbmcnLz4KKyAgICAgIDxhcmcgbmFtZT0nbGVuJyB0eXBlPSdpbnQnIGluZm89J3RoZSBzdHJpbmcgbGVuIGluIGJ5dGVzIGlmIGF2YWlsYWJsZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEV4cFN1YnN1bWUnIGZpbGU9J3htbHJlZ2V4cCcgbW9kdWxlPSd4bWxyZWdleHAnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfUkVHRVhQX0VOQUJMRUQpICZhbXA7JmFtcDsgZGVmaW5lZChMSUJYTUxfRVhQUl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNoZWNrIHdoZXRoZXIgQGV4cCBhY2NlcHRzIGFsbCB0aGUgbGFuZ3VhZ2VzIGFjY2V4cHRlZCBieSBAc3ViIHRoZSBpbnB1dCBiZWluZyBhIHN1YmV4cHJlc3Npb24uPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgdHJ1ZSAwIGlmIGZhbHNlIGFuZCAtMSBpbiBjYXNlIG9mIGZhaWx1cmUuJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbEV4cEN0eHRQdHInIGluZm89J3RoZSBleHByZXNzaW9ucyBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J2V4cCcgdHlwZT0neG1sRXhwTm9kZVB0cicgaW5mbz0ndGhlIGVuZ2xvYmluZyBleHByZXNzaW9uJy8+CisgICAgICA8YXJnIG5hbWU9J3N1YicgdHlwZT0neG1sRXhwTm9kZVB0cicgaW5mbz0ndGhlIHN1YmV4cHJlc3Npb24nLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdHlwZSBuYW1lPSd4bWxFeHRlcm5hbEVudGl0eUxvYWRlcicgZmlsZT0ncGFyc2VyJyBtb2R1bGU9J3BhcnNlcic+CisgICAgICA8aW5mbz5FeHRlcm5hbCBlbnRpdHkgbG9hZGVycyB0eXBlcy48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbFBhcnNlcklucHV0UHRyJyBpbmZvPSd0aGUgZW50aXR5IGlucHV0IHBhcnNlci4nLz4KKyAgICAgIDxhcmcgbmFtZT0nVVJMJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J1RoZSBTeXN0ZW0gSUQgb2YgdGhlIHJlc291cmNlIHJlcXVlc3RlZCcvPgorICAgICAgPGFyZyBuYW1lPSdJRCcgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSdUaGUgUHVibGljIElEIG9mIHRoZSByZXNvdXJjZSByZXF1ZXN0ZWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29udGV4dCcgdHlwZT0neG1sUGFyc2VyQ3R4dFB0cicgaW5mbz0ndGhlIFhNTCBwYXJzZXIgY29udGV4dCcvPgorICAgIDwvZnVuY3R5cGU+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEZpbGVDbG9zZScgZmlsZT0neG1sSU8nIG1vZHVsZT0neG1sSU8nPgorICAgICAgPGluZm8+Q2xvc2UgYW4gSS9PIGNoYW5uZWw8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMCBvciAtMSBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J2NvbnRleHQnIHR5cGU9J3ZvaWQgKicgaW5mbz0ndGhlIEkvTyBjb250ZXh0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sRmlsZU1hdGNoJyBmaWxlPSd4bWxJTycgbW9kdWxlPSd4bWxJTyc+CisgICAgICA8aW5mbz5pbnB1dCBmcm9tIEZJTEUgKjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIG1hdGNoZXMsIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2ZpbGVuYW1lJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBVUkkgZm9yIG1hdGNoaW5nJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sRmlsZU9wZW4nIGZpbGU9J3htbElPJyBtb2R1bGU9J3htbElPJz4KKyAgICAgIDxpbmZvPldyYXBwZXIgYXJvdW5kIHhtbEZpbGVPcGVuX3JlYWwgdGhhdCB0cnkgaXQgd2l0aCBhbiB1bmVzY2FwZWQgdmVyc2lvbiBvZiBAZmlsZW5hbWUsIGlmIHRoaXMgZmFpbHMgZmFsbGJhY2sgdG8gQGZpbGVuYW1lPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkIConIGluZm89J2EgaGFuZGxlciBvciBOVUxMIGluIGNhc2Ugb3IgZmFpbHVyZScvPgorICAgICAgPGFyZyBuYW1lPSdmaWxlbmFtZScgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSd0aGUgVVJJIGZvciBtYXRjaGluZycvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEZpbGVSZWFkJyBmaWxlPSd4bWxJTycgbW9kdWxlPSd4bWxJTyc+CisgICAgICA8aW5mbz5SZWFkIEBsZW4gYnl0ZXMgdG8gQGJ1ZmZlciBmcm9tIHRoZSBJL08gY2hhbm5lbC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndGhlIG51bWJlciBvZiBieXRlcyB3cml0dGVuIG9yICZsdDsgMCBpbiBjYXNlIG9mIGZhaWx1cmUnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29udGV4dCcgdHlwZT0ndm9pZCAqJyBpbmZvPSd0aGUgSS9PIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nYnVmZmVyJyB0eXBlPSdjaGFyIConIGluZm89J3doZXJlIHRvIGRyb3AgZGF0YScvPgorICAgICAgPGFyZyBuYW1lPSdsZW4nIHR5cGU9J2ludCcgaW5mbz0nbnVtYmVyIG9mIGJ5dGVzIHRvIHdyaXRlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sRmluZENoYXJFbmNvZGluZ0hhbmRsZXInIGZpbGU9J2VuY29kaW5nJyBtb2R1bGU9J2VuY29kaW5nJz4KKyAgICAgIDxpbmZvPlNlYXJjaCBpbiB0aGUgcmVnaXN0ZXJlZCBzZXQgdGhlIGhhbmRsZXIgYWJsZSB0byByZWFkL3dyaXRlIHRoYXQgZW5jb2RpbmcuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyJyBpbmZvPSd0aGUgaGFuZGxlciBvciBOVUxMIGlmIG5vdCBmb3VuZCcvPgorICAgICAgPGFyZyBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J2Egc3RyaW5nIGRlc2NyaWJpbmcgdGhlIGNoYXIgZW5jb2RpbmcuJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sRmlyc3RFbGVtZW50Q2hpbGQnIGZpbGU9J3RyZWUnIG1vZHVsZT0ndHJlZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+RmluZHMgdGhlIGZpcnN0IGNoaWxkIG5vZGUgb2YgdGhhdCBlbGVtZW50IHdoaWNoIGlzIGEgRWxlbWVudCBub2RlIE5vdGUgdGhlIGhhbmRsaW5nIG9mIGVudGl0aWVzIHJlZmVyZW5jZXMgaXMgZGlmZmVyZW50IHRoYW4gaW4gdGhlIFczQyBET00gZWxlbWVudCB0cmF2ZXJzYWwgc3BlYyBzaW5jZSB3ZSBkb24mYXBvczt0IGhhdmUgYmFjayByZWZlcmVuY2UgZnJvbSBlbnRpdGllcyBjb250ZW50IHRvIGVudGl0aWVzIHJlZmVyZW5jZXMuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSd0aGUgZmlyc3QgZWxlbWVudCBjaGlsZCBvciBOVUxMIGlmIG5vdCBhdmFpbGFibGUnLz4KKyAgICAgIDxhcmcgbmFtZT0ncGFyZW50JyB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSd0aGUgcGFyZW50IG5vZGUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxGcmVlQXR0cmlidXRlVGFibGUnIGZpbGU9J3ZhbGlkJyBtb2R1bGU9J3ZhbGlkJz4KKyAgICAgIDxpbmZvPkRlYWxsb2NhdGUgdGhlIG1lbW9yeSB1c2VkIGJ5IGFuIGVudGl0aWVzIGhhc2ggdGFibGUuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J3RhYmxlJyB0eXBlPSd4bWxBdHRyaWJ1dGVUYWJsZVB0cicgaW5mbz0nQW4gYXR0cmlidXRlIHRhYmxlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sRnJlZUF1dG9tYXRhJyBmaWxlPSd4bWxhdXRvbWF0YScgbW9kdWxlPSd4bWxyZWdleHAnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfUkVHRVhQX0VOQUJMRUQpICZhbXA7JmFtcDsgZGVmaW5lZChMSUJYTUxfQVVUT01BVEFfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5GcmVlIGFuIGF1dG9tYXRhPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2FtJyB0eXBlPSd4bWxBdXRvbWF0YVB0cicgaW5mbz0nYW4gYXV0b21hdGEnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxGcmVlQ2F0YWxvZycgZmlsZT0nY2F0YWxvZycgbW9kdWxlPSdjYXRhbG9nJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0NBVEFMT0dfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5GcmVlIHRoZSBtZW1vcnkgYWxsb2NhdGVkIHRvIGEgQ2F0YWxvZzwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjYXRhbCcgdHlwZT0neG1sQ2F0YWxvZ1B0cicgaW5mbz0nYSBDYXRhbG9nJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sRnJlZURvYycgZmlsZT0ndHJlZScgbW9kdWxlPSd0cmVlJz4KKyAgICAgIDxpbmZvPkZyZWUgdXAgYWxsIHRoZSBzdHJ1Y3R1cmVzIHVzZWQgYnkgYSBkb2N1bWVudCwgdHJlZSBpbmNsdWRlZC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3VyJyB0eXBlPSd4bWxEb2NQdHInIGluZm89J3BvaW50ZXIgdG8gdGhlIGRvY3VtZW50Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sRnJlZURvY0VsZW1lbnRDb250ZW50JyBmaWxlPSd2YWxpZCcgbW9kdWxlPSd2YWxpZCc+CisgICAgICA8aW5mbz5GcmVlIGFuIGVsZW1lbnQgY29udGVudCBzdHJ1Y3R1cmUuIFRoZSB3aG9sZSBzdWJ0cmVlIGlzIHJlbW92ZWQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2RvYycgdHlwZT0neG1sRG9jUHRyJyBpbmZvPSd0aGUgZG9jdW1lbnQgb3duaW5nIHRoZSBlbGVtZW50IGRlY2xhcmF0aW9uJy8+CisgICAgICA8YXJnIG5hbWU9J2N1cicgdHlwZT0neG1sRWxlbWVudENvbnRlbnRQdHInIGluZm89J3RoZSBlbGVtZW50IGNvbnRlbnQgdHJlZSB0byBmcmVlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sRnJlZUR0ZCcgZmlsZT0ndHJlZScgbW9kdWxlPSd0cmVlJz4KKyAgICAgIDxpbmZvPkZyZWUgYSBEVEQgc3RydWN0dXJlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdXInIHR5cGU9J3htbER0ZFB0cicgaW5mbz0ndGhlIERURCBzdHJ1Y3R1cmUgdG8gZnJlZSB1cCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEZyZWVFbGVtZW50Q29udGVudCcgZmlsZT0ndmFsaWQnIG1vZHVsZT0ndmFsaWQnPgorICAgICAgPGluZm8+RnJlZSBhbiBlbGVtZW50IGNvbnRlbnQgc3RydWN0dXJlLiBUaGUgd2hvbGUgc3VidHJlZSBpcyByZW1vdmVkLiBEZXByZWNhdGVkLCB1c2UgeG1sRnJlZURvY0VsZW1lbnRDb250ZW50IGluc3RlYWQ8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3VyJyB0eXBlPSd4bWxFbGVtZW50Q29udGVudFB0cicgaW5mbz0ndGhlIGVsZW1lbnQgY29udGVudCB0cmVlIHRvIGZyZWUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxGcmVlRWxlbWVudFRhYmxlJyBmaWxlPSd2YWxpZCcgbW9kdWxlPSd2YWxpZCc+CisgICAgICA8aW5mbz5EZWFsbG9jYXRlIHRoZSBtZW1vcnkgdXNlZCBieSBhbiBlbGVtZW50IGhhc2ggdGFibGUuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J3RhYmxlJyB0eXBlPSd4bWxFbGVtZW50VGFibGVQdHInIGluZm89J0FuIGVsZW1lbnQgdGFibGUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxGcmVlRW50aXRpZXNUYWJsZScgZmlsZT0nZW50aXRpZXMnIG1vZHVsZT0nZW50aXRpZXMnPgorICAgICAgPGluZm8+RGVhbGxvY2F0ZSB0aGUgbWVtb3J5IHVzZWQgYnkgYW4gZW50aXRpZXMgaGFzaCB0YWJsZS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0ndGFibGUnIHR5cGU9J3htbEVudGl0aWVzVGFibGVQdHInIGluZm89J0FuIGVudGl0eSB0YWJsZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEZyZWVFbnVtZXJhdGlvbicgZmlsZT0ndmFsaWQnIG1vZHVsZT0ndmFsaWQnPgorICAgICAgPGluZm8+ZnJlZSBhbiBlbnVtZXJhdGlvbiBhdHRyaWJ1dGUgbm9kZSAocmVjdXJzaXZlKS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3VyJyB0eXBlPSd4bWxFbnVtZXJhdGlvblB0cicgaW5mbz0ndGhlIHRyZWUgdG8gZnJlZS4nLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdHlwZSBuYW1lPSd4bWxGcmVlRnVuYycgZmlsZT0neG1sbWVtb3J5JyBtb2R1bGU9J3htbG1lbW9yeSc+CisgICAgICA8aW5mbz5TaWduYXR1cmUgZm9yIGEgZnJlZSgpIGltcGxlbWVudGF0aW9uLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdtZW0nIHR5cGU9J3ZvaWQgKicgaW5mbz0nYW4gYWxyZWFkeSBhbGxvY2F0ZWQgYmxvY2sgb2YgbWVtb3J5Jy8+CisgICAgPC9mdW5jdHlwZT4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sRnJlZUlEVGFibGUnIGZpbGU9J3ZhbGlkJyBtb2R1bGU9J3ZhbGlkJz4KKyAgICAgIDxpbmZvPkRlYWxsb2NhdGUgdGhlIG1lbW9yeSB1c2VkIGJ5IGFuIElEIGhhc2ggdGFibGUuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J3RhYmxlJyB0eXBlPSd4bWxJRFRhYmxlUHRyJyBpbmZvPSdBbiBpZCB0YWJsZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEZyZWVJbnB1dFN0cmVhbScgZmlsZT0ncGFyc2VySW50ZXJuYWxzJyBtb2R1bGU9J3BhcnNlckludGVybmFscyc+CisgICAgICA8aW5mbz5GcmVlIHVwIGFuIGlucHV0IHN0cmVhbS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0naW5wdXQnIHR5cGU9J3htbFBhcnNlcklucHV0UHRyJyBpbmZvPSdhbiB4bWxQYXJzZXJJbnB1dFB0cicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEZyZWVNdXRleCcgZmlsZT0ndGhyZWFkcycgbW9kdWxlPSd0aHJlYWRzJz4KKyAgICAgIDxpbmZvPnhtbEZyZWVNdXRleCgpIGlzIHVzZWQgdG8gcmVjbGFpbSByZXNvdXJjZXMgYXNzb2NpYXRlZCB3aXRoIGEgbGlieG1sMiB0b2tlbiBzdHJ1Y3QuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J3RvaycgdHlwZT0neG1sTXV0ZXhQdHInIGluZm89J3RoZSBzaW1wbGUgbXV0ZXgnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxGcmVlTm9kZScgZmlsZT0ndHJlZScgbW9kdWxlPSd0cmVlJz4KKyAgICAgIDxpbmZvPkZyZWUgYSBub2RlLCB0aGlzIGlzIGEgcmVjdXJzaXZlIGJlaGF2aW91ciwgYWxsIHRoZSBjaGlsZHJlbiBhcmUgZnJlZWQgdG9vLiBUaGlzIGRvZXNuJmFwb3M7dCB1bmxpbmsgdGhlIGNoaWxkIGZyb20gdGhlIGxpc3QsIHVzZSB4bWxVbmxpbmtOb2RlKCkgZmlyc3QuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N1cicgdHlwZT0neG1sTm9kZVB0cicgaW5mbz0ndGhlIG5vZGUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxGcmVlTm9kZUxpc3QnIGZpbGU9J3RyZWUnIG1vZHVsZT0ndHJlZSc+CisgICAgICA8aW5mbz5GcmVlIGEgbm9kZSBhbmQgYWxsIGl0cyBzaWJsaW5ncywgdGhpcyBpcyBhIHJlY3Vyc2l2ZSBiZWhhdmlvdXIsIGFsbCB0aGUgY2hpbGRyZW4gYXJlIGZyZWVkIHRvby48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3VyJyB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSd0aGUgZmlyc3Qgbm9kZSBpbiB0aGUgbGlzdCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEZyZWVOb3RhdGlvblRhYmxlJyBmaWxlPSd2YWxpZCcgbW9kdWxlPSd2YWxpZCc+CisgICAgICA8aW5mbz5EZWFsbG9jYXRlIHRoZSBtZW1vcnkgdXNlZCBieSBhbiBlbnRpdGllcyBoYXNoIHRhYmxlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSd0YWJsZScgdHlwZT0neG1sTm90YXRpb25UYWJsZVB0cicgaW5mbz0nQW4gbm90YXRpb24gdGFibGUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxGcmVlTnMnIGZpbGU9J3RyZWUnIG1vZHVsZT0ndHJlZSc+CisgICAgICA8aW5mbz5GcmVlIHVwIHRoZSBzdHJ1Y3R1cmVzIGFzc29jaWF0ZWQgdG8gYSBuYW1lc3BhY2U8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3VyJyB0eXBlPSd4bWxOc1B0cicgaW5mbz0ndGhlIG5hbWVzcGFjZSBwb2ludGVyJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sRnJlZU5zTGlzdCcgZmlsZT0ndHJlZScgbW9kdWxlPSd0cmVlJz4KKyAgICAgIDxpbmZvPkZyZWUgdXAgYWxsIHRoZSBzdHJ1Y3R1cmVzIGFzc29jaWF0ZWQgdG8gdGhlIGNoYWluZWQgbmFtZXNwYWNlcy48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3VyJyB0eXBlPSd4bWxOc1B0cicgaW5mbz0ndGhlIGZpcnN0IG5hbWVzcGFjZSBwb2ludGVyJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sRnJlZVBhcnNlckN0eHQnIGZpbGU9J3BhcnNlcicgbW9kdWxlPSdwYXJzZXJJbnRlcm5hbHMnPgorICAgICAgPGluZm8+RnJlZSBhbGwgdGhlIG1lbW9yeSB1c2VkIGJ5IGEgcGFyc2VyIGNvbnRleHQuIEhvd2V2ZXIgdGhlIHBhcnNlZCBkb2N1bWVudCBpbiBjdHh0LSZndDtteURvYyBpcyBub3QgZnJlZWQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFBhcnNlckN0eHRQdHInIGluZm89J2FuIFhNTCBwYXJzZXIgY29udGV4dCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEZyZWVQYXJzZXJJbnB1dEJ1ZmZlcicgZmlsZT0neG1sSU8nIG1vZHVsZT0neG1sSU8nPgorICAgICAgPGluZm8+RnJlZSB1cCB0aGUgbWVtb3J5IHVzZWQgYnkgYSBidWZmZXJlZCBwYXJzZXIgaW5wdXQ8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0naW4nIHR5cGU9J3htbFBhcnNlcklucHV0QnVmZmVyUHRyJyBpbmZvPSdhIGJ1ZmZlcmVkIHBhcnNlciBpbnB1dCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEZyZWVQYXR0ZXJuJyBmaWxlPSdwYXR0ZXJuJyBtb2R1bGU9J3BhdHRlcm4nPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfUEFUVEVSTl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkZyZWUgdXAgdGhlIG1lbW9yeSBhbGxvY2F0ZWQgYnkgQGNvbXA8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29tcCcgdHlwZT0neG1sUGF0dGVyblB0cicgaW5mbz0nYW4gWFNMVCBjb21wJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sRnJlZVBhdHRlcm5MaXN0JyBmaWxlPSdwYXR0ZXJuJyBtb2R1bGU9J3BhdHRlcm4nPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfUEFUVEVSTl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkZyZWUgdXAgdGhlIG1lbW9yeSBhbGxvY2F0ZWQgYnkgYWxsIHRoZSBlbGVtZW50cyBvZiBAY29tcDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjb21wJyB0eXBlPSd4bWxQYXR0ZXJuUHRyJyBpbmZvPSdhbiBYU0xUIGNvbXAgbGlzdCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEZyZWVQcm9wJyBmaWxlPSd0cmVlJyBtb2R1bGU9J3RyZWUnPgorICAgICAgPGluZm8+RnJlZSBvbmUgYXR0cmlidXRlLCBhbGwgdGhlIGNvbnRlbnQgaXMgZnJlZWQgdG9vPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N1cicgdHlwZT0neG1sQXR0clB0cicgaW5mbz0nYW4gYXR0cmlidXRlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sRnJlZVByb3BMaXN0JyBmaWxlPSd0cmVlJyBtb2R1bGU9J3RyZWUnPgorICAgICAgPGluZm8+RnJlZSBhIHByb3BlcnR5IGFuZCBhbGwgaXRzIHNpYmxpbmdzLCBhbGwgdGhlIGNoaWxkcmVuIGFyZSBmcmVlZCB0b28uPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N1cicgdHlwZT0neG1sQXR0clB0cicgaW5mbz0ndGhlIGZpcnN0IHByb3BlcnR5IGluIHRoZSBsaXN0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sRnJlZVJNdXRleCcgZmlsZT0ndGhyZWFkcycgbW9kdWxlPSd0aHJlYWRzJz4KKyAgICAgIDxpbmZvPnhtbFJGcmVlTXV0ZXgoKSBpcyB1c2VkIHRvIHJlY2xhaW0gcmVzb3VyY2VzIGFzc29jaWF0ZWQgd2l0aCBhIHJlZW50cmFudCBtdXRleC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0ndG9rJyB0eXBlPSd4bWxSTXV0ZXhQdHInIGluZm89J3RoZSByZWVudHJhbnQgbXV0ZXgnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxGcmVlUmVmVGFibGUnIGZpbGU9J3ZhbGlkJyBtb2R1bGU9J3ZhbGlkJz4KKyAgICAgIDxpbmZvPkRlYWxsb2NhdGUgdGhlIG1lbW9yeSB1c2VkIGJ5IGFuIFJlZiBoYXNoIHRhYmxlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSd0YWJsZScgdHlwZT0neG1sUmVmVGFibGVQdHInIGluZm89J0FuIHJlZiB0YWJsZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEZyZWVTdHJlYW1DdHh0JyBmaWxlPSdwYXR0ZXJuJyBtb2R1bGU9J3BhdHRlcm4nPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfUEFUVEVSTl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkZyZWUgdGhlIHN0cmVhbSBjb250ZXh0PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J3N0cmVhbScgdHlwZT0neG1sU3RyZWFtQ3R4dFB0cicgaW5mbz0ndGhlIHN0cmVhbSBjb250ZXh0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sRnJlZVRleHRSZWFkZXInIGZpbGU9J3htbHJlYWRlcicgbW9kdWxlPSd4bWxyZWFkZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+RGVhbGxvY2F0ZSBhbGwgdGhlIHJlc291cmNlcyBhc3NvY2lhdGVkIHRvIHRoZSByZWFkZXI8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0ncmVhZGVyJyB0eXBlPSd4bWxUZXh0UmVhZGVyUHRyJyBpbmZvPSd0aGUgeG1sVGV4dFJlYWRlclB0cicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEZyZWVUZXh0V3JpdGVyJyBmaWxlPSd4bWx3cml0ZXInIG1vZHVsZT0neG1sd3JpdGVyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkRlYWxsb2NhdGUgYWxsIHRoZSByZXNvdXJjZXMgYXNzb2NpYXRlZCB0byB0aGUgd3JpdGVyPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J3dyaXRlcicgdHlwZT0neG1sVGV4dFdyaXRlclB0cicgaW5mbz0ndGhlIHhtbFRleHRXcml0ZXJQdHInLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxGcmVlVVJJJyBmaWxlPSd1cmknIG1vZHVsZT0ndXJpJz4KKyAgICAgIDxpbmZvPkZyZWUgdXAgdGhlIHhtbFVSSSBzdHJ1Y3Q8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0ndXJpJyB0eXBlPSd4bWxVUklQdHInIGluZm89J3BvaW50ZXIgdG8gYW4geG1sVVJJJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sRnJlZVZhbGlkQ3R4dCcgZmlsZT0ndmFsaWQnIG1vZHVsZT0ndmFsaWQnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfVkFMSURfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5GcmVlIGEgdmFsaWRhdGlvbiBjb250ZXh0IHN0cnVjdHVyZS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3VyJyB0eXBlPSd4bWxWYWxpZEN0eHRQdHInIGluZm89J3RoZSB2YWxpZGF0aW9uIGNvbnRleHQgdG8gZnJlZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEdjTWVtR2V0JyBmaWxlPSd4bWxtZW1vcnknIG1vZHVsZT0neG1sbWVtb3J5Jz4KKyAgICAgIDxpbmZvPlByb3ZpZGVzIHRoZSBtZW1vcnkgYWNjZXNzIGZ1bmN0aW9ucyBzZXQgY3VycmVudGx5IGluIHVzZSBUaGUgbWFsbG9jQXRvbWljRnVuYyBpcyBzcGVjaWFsaXplZCBmb3IgYXRvbWljIGJsb2NrIGFsbG9jYXRpb25zIChpLmUuIG9mIGFyZWFzICB1c2VmdWwgZm9yIGdhcmJhZ2UgY29sbGVjdGVkIG1lbW9yeSBhbGxvY2F0b3JzPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzAgb24gc3VjY2VzcycvPgorICAgICAgPGFyZyBuYW1lPSdmcmVlRnVuYycgdHlwZT0neG1sRnJlZUZ1bmMgKicgaW5mbz0ncGxhY2UgdG8gc2F2ZSB0aGUgZnJlZSgpIGZ1bmN0aW9uIGluIHVzZScvPgorICAgICAgPGFyZyBuYW1lPSdtYWxsb2NGdW5jJyB0eXBlPSd4bWxNYWxsb2NGdW5jIConIGluZm89J3BsYWNlIHRvIHNhdmUgdGhlIG1hbGxvYygpIGZ1bmN0aW9uIGluIHVzZScvPgorICAgICAgPGFyZyBuYW1lPSdtYWxsb2NBdG9taWNGdW5jJyB0eXBlPSd4bWxNYWxsb2NGdW5jIConIGluZm89J3BsYWNlIHRvIHNhdmUgdGhlIGF0b21pYyBtYWxsb2MoKSBmdW5jdGlvbiBpbiB1c2UnLz4KKyAgICAgIDxhcmcgbmFtZT0ncmVhbGxvY0Z1bmMnIHR5cGU9J3htbFJlYWxsb2NGdW5jIConIGluZm89J3BsYWNlIHRvIHNhdmUgdGhlIHJlYWxsb2MoKSBmdW5jdGlvbiBpbiB1c2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nc3RyZHVwRnVuYycgdHlwZT0neG1sU3RyZHVwRnVuYyAqJyBpbmZvPSdwbGFjZSB0byBzYXZlIHRoZSBzdHJkdXAoKSBmdW5jdGlvbiBpbiB1c2UnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxHY01lbVNldHVwJyBmaWxlPSd4bWxtZW1vcnknIG1vZHVsZT0neG1sbWVtb3J5Jz4KKyAgICAgIDxpbmZvPk92ZXJyaWRlIHRoZSBkZWZhdWx0IG1lbW9yeSBhY2Nlc3MgZnVuY3Rpb25zIHdpdGggYSBuZXcgc2V0IFRoaXMgaGFzIHRvIGJlIGNhbGxlZCBiZWZvcmUgYW55IG90aGVyIGxpYnhtbCByb3V0aW5lcyAhIFRoZSBtYWxsb2NBdG9taWNGdW5jIGlzIHNwZWNpYWxpemVkIGZvciBhdG9taWMgYmxvY2sgYWxsb2NhdGlvbnMgKGkuZS4gb2YgYXJlYXMgIHVzZWZ1bCBmb3IgZ2FyYmFnZSBjb2xsZWN0ZWQgbWVtb3J5IGFsbG9jYXRvcnMgIFNob3VsZCB0aGlzIGJlIGJsb2NrZWQgaWYgdGhlcmUgd2FzIGFscmVhZHkgc29tZSBhbGxvY2F0aW9ucyBkb25lID88L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMCBvbiBzdWNjZXNzJy8+CisgICAgICA8YXJnIG5hbWU9J2ZyZWVGdW5jJyB0eXBlPSd4bWxGcmVlRnVuYycgaW5mbz0ndGhlIGZyZWUoKSBmdW5jdGlvbiB0byB1c2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nbWFsbG9jRnVuYycgdHlwZT0neG1sTWFsbG9jRnVuYycgaW5mbz0ndGhlIG1hbGxvYygpIGZ1bmN0aW9uIHRvIHVzZScvPgorICAgICAgPGFyZyBuYW1lPSdtYWxsb2NBdG9taWNGdW5jJyB0eXBlPSd4bWxNYWxsb2NGdW5jJyBpbmZvPSd0aGUgbWFsbG9jKCkgZnVuY3Rpb24gdG8gdXNlIGZvciBhdG9taWMgYWxsb2NhdGlvbnMnLz4KKyAgICAgIDxhcmcgbmFtZT0ncmVhbGxvY0Z1bmMnIHR5cGU9J3htbFJlYWxsb2NGdW5jJyBpbmZvPSd0aGUgcmVhbGxvYygpIGZ1bmN0aW9uIHRvIHVzZScvPgorICAgICAgPGFyZyBuYW1lPSdzdHJkdXBGdW5jJyB0eXBlPSd4bWxTdHJkdXBGdW5jJyBpbmZvPSd0aGUgc3RyZHVwKCkgZnVuY3Rpb24gdG8gdXNlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3R5cGUgbmFtZT0neG1sR2VuZXJpY0Vycm9yRnVuYycgZmlsZT0neG1sZXJyb3InIG1vZHVsZT0neG1sZXJyb3InPgorICAgICAgPGluZm8+U2lnbmF0dXJlIG9mIHRoZSBmdW5jdGlvbiB0byB1c2Ugd2hlbiB0aGVyZSBpcyBhbiBlcnJvciBhbmQgbm8gcGFyc2luZyBvciB2YWxpZGl0eSBjb250ZXh0IGF2YWlsYWJsZSAuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eCcgdHlwZT0ndm9pZCAqJyBpbmZvPSdhIHBhcnNpbmcgY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdtc2cnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIG1lc3NhZ2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nLi4uJyB0eXBlPScuLi4nIGluZm89J3RoZSBleHRyYSBhcmd1bWVudHMgb2YgdGhlIHZhcmFncyB0byBmb3JtYXQgdGhlIG1lc3NhZ2UnLz4KKyAgICA8L2Z1bmN0eXBlPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxHZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lJyBmaWxlPSd0cmVlJyBtb2R1bGU9J3RyZWUnPgorICAgICAgPGluZm8+VHlwZXMgYXJlIFhNTF9CVUZGRVJfQUxMT0NfRVhBQ1QgLSB1c2UgZXhhY3Qgc2l6ZXMsIGtlZXBzIG1lbW9yeSB1c2FnZSBkb3duIFhNTF9CVUZGRVJfQUxMT0NfRE9VQkxFSVQgLSBkb3VibGUgYnVmZmVyIHdoZW4gZXh0cmEgbmVlZGVkLCBpbXByb3ZlcyBwZXJmb3JtYW5jZSBYTUxfQlVGRkVSX0FMTE9DX0hZQlJJRCAtIHVzZSBleGFjdCBzaXplcyBvbiBzbWFsbCBzdHJpbmdzIHRvIGtlZXAgbWVtb3J5IHVzYWdlIHRpZ2h0IGluIG5vcm1hbCB1c2FnZSwgYW5kIGRvdWJsZWl0IG9uIGxhcmdlIHN0cmluZ3MgdG8gYXZvaWQgcGF0aG9sb2dpY2FsIHBlcmZvcm1hbmNlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sQnVmZmVyQWxsb2NhdGlvblNjaGVtZScgaW5mbz0ndGhlIGN1cnJlbnQgYWxsb2NhdGlvbiBzY2hlbWUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxHZXRDaGFyRW5jb2RpbmdIYW5kbGVyJyBmaWxlPSdlbmNvZGluZycgbW9kdWxlPSdlbmNvZGluZyc+CisgICAgICA8aW5mbz5TZWFyY2ggaW4gdGhlIHJlZ2lzdGVyZWQgc2V0IHRoZSBoYW5kbGVyIGFibGUgdG8gcmVhZC93cml0ZSB0aGF0IGVuY29kaW5nLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sQ2hhckVuY29kaW5nSGFuZGxlclB0cicgaW5mbz0ndGhlIGhhbmRsZXIgb3IgTlVMTCBpZiBub3QgZm91bmQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZW5jJyB0eXBlPSd4bWxDaGFyRW5jb2RpbmcnIGluZm89J2FuIHhtbENoYXJFbmNvZGluZyB2YWx1ZS4nLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxHZXRDaGFyRW5jb2RpbmdOYW1lJyBmaWxlPSdlbmNvZGluZycgbW9kdWxlPSdlbmNvZGluZyc+CisgICAgICA8aW5mbz5UaGUgJnF1b3Q7Y2Fub25pY2FsJnF1b3Q7IG5hbWUgZm9yIFhNTCBlbmNvZGluZy4gQy5mLiBodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMteG1sI2NoYXJlbmNvZGluZyBTZWN0aW9uIDQuMy4zICBDaGFyYWN0ZXIgRW5jb2RpbmcgaW4gRW50aXRpZXM8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIGNhbm9uaWNhbCBuYW1lIGZvciB0aGUgZ2l2ZW4gZW5jb2RpbmcnLz4KKyAgICAgIDxhcmcgbmFtZT0nZW5jJyB0eXBlPSd4bWxDaGFyRW5jb2RpbmcnIGluZm89J3RoZSBlbmNvZGluZycvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEdldENvbXByZXNzTW9kZScgZmlsZT0ndHJlZScgbW9kdWxlPSd0cmVlJz4KKyAgICAgIDxpbmZvPmdldCB0aGUgZGVmYXVsdCBjb21wcmVzc2lvbiBtb2RlIHVzZWQsIFpMSUIgYmFzZWQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzAgKHVuY29tcHJlc3NlZCkgdG8gOSAobWF4IGNvbXByZXNzaW9uKScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEdldERvY0NvbXByZXNzTW9kZScgZmlsZT0ndHJlZScgbW9kdWxlPSd0cmVlJz4KKyAgICAgIDxpbmZvPmdldCB0aGUgY29tcHJlc3Npb24gcmF0aW8gZm9yIGEgZG9jdW1lbnQsIFpMSUIgYmFzZWQ8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMCAodW5jb21wcmVzc2VkKSB0byA5IChtYXggY29tcHJlc3Npb24pJy8+CisgICAgICA8YXJnIG5hbWU9J2RvYycgdHlwZT0nY29uc3QgeG1sRG9jIConIGluZm89J3RoZSBkb2N1bWVudCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEdldERvY0VudGl0eScgZmlsZT0nZW50aXRpZXMnIG1vZHVsZT0nZW50aXRpZXMnPgorICAgICAgPGluZm8+RG8gYW4gZW50aXR5IGxvb2t1cCBpbiB0aGUgZG9jdW1lbnQgZW50aXR5IGhhc2ggdGFibGUgYW5kPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxFbnRpdHlQdHInIGluZm89J3RoZSBjb3JyZXNwb25kaW5nIGVudGl0eSwgb3RoZXJ3aXNlIGEgbG9va3VwIGlzIGRvbmUgaW4gdGhlIHByZWRlZmluZWQgZW50aXRpZXMgdG9vLiAgUmV0dXJucyBBIHBvaW50ZXIgdG8gdGhlIGVudGl0eSBzdHJ1Y3R1cmUgb3IgTlVMTCBpZiBub3QgZm91bmQuJy8+CisgICAgICA8YXJnIG5hbWU9J2RvYycgdHlwZT0nY29uc3QgeG1sRG9jIConIGluZm89J3RoZSBkb2N1bWVudCByZWZlcmVuY2luZyB0aGUgZW50aXR5Jy8+CisgICAgICA8YXJnIG5hbWU9J25hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIGVudGl0eSBuYW1lJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sR2V0RHRkQXR0ckRlc2MnIGZpbGU9J3ZhbGlkJyBtb2R1bGU9J3ZhbGlkJz4KKyAgICAgIDxpbmZvPlNlYXJjaCB0aGUgRFREIGZvciB0aGUgZGVzY3JpcHRpb24gb2YgdGhpcyBhdHRyaWJ1dGUgb24gdGhpcyBlbGVtZW50LjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sQXR0cmlidXRlUHRyJyBpbmZvPSd0aGUgeG1sQXR0cmlidXRlUHRyIGlmIGZvdW5kIG9yIE5VTEwnLz4KKyAgICAgIDxhcmcgbmFtZT0nZHRkJyB0eXBlPSd4bWxEdGRQdHInIGluZm89J2EgcG9pbnRlciB0byB0aGUgRHREIHRvIHNlYXJjaCcvPgorICAgICAgPGFyZyBuYW1lPSdlbGVtJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBlbGVtZW50IG5hbWUnLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFtZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgYXR0cmlidXRlIG5hbWUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxHZXREdGRFbGVtZW50RGVzYycgZmlsZT0ndmFsaWQnIG1vZHVsZT0ndmFsaWQnPgorICAgICAgPGluZm8+U2VhcmNoIHRoZSBEVEQgZm9yIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGlzIGVsZW1lbnQ8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbEVsZW1lbnRQdHInIGluZm89J3RoZSB4bWxFbGVtZW50UHRyIGlmIGZvdW5kIG9yIE5VTEwnLz4KKyAgICAgIDxhcmcgbmFtZT0nZHRkJyB0eXBlPSd4bWxEdGRQdHInIGluZm89J2EgcG9pbnRlciB0byB0aGUgRHREIHRvIHNlYXJjaCcvPgorICAgICAgPGFyZyBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBlbGVtZW50IG5hbWUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxHZXREdGRFbnRpdHknIGZpbGU9J2VudGl0aWVzJyBtb2R1bGU9J2VudGl0aWVzJz4KKyAgICAgIDxpbmZvPkRvIGFuIGVudGl0eSBsb29rdXAgaW4gdGhlIERURCBlbnRpdHkgaGFzaCB0YWJsZSBhbmQ8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbEVudGl0eVB0cicgaW5mbz0ndGhlIGNvcnJlc3BvbmRpbmcgZW50aXR5LCBpZiBmb3VuZC4gTm90ZTogdGhlIGZpcnN0IGFyZ3VtZW50IGlzIHRoZSBkb2N1bWVudCBub2RlLCBub3QgdGhlIERURCBub2RlLiAgUmV0dXJucyBBIHBvaW50ZXIgdG8gdGhlIGVudGl0eSBzdHJ1Y3R1cmUgb3IgTlVMTCBpZiBub3QgZm91bmQuJy8+CisgICAgICA8YXJnIG5hbWU9J2RvYycgdHlwZT0neG1sRG9jUHRyJyBpbmZvPSd0aGUgZG9jdW1lbnQgcmVmZXJlbmNpbmcgdGhlIGVudGl0eScvPgorICAgICAgPGFyZyBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBlbnRpdHkgbmFtZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEdldER0ZE5vdGF0aW9uRGVzYycgZmlsZT0ndmFsaWQnIG1vZHVsZT0ndmFsaWQnPgorICAgICAgPGluZm8+U2VhcmNoIHRoZSBEVEQgZm9yIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGlzIG5vdGF0aW9uPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxOb3RhdGlvblB0cicgaW5mbz0ndGhlIHhtbE5vdGF0aW9uUHRyIGlmIGZvdW5kIG9yIE5VTEwnLz4KKyAgICAgIDxhcmcgbmFtZT0nZHRkJyB0eXBlPSd4bWxEdGRQdHInIGluZm89J2EgcG9pbnRlciB0byB0aGUgRHREIHRvIHNlYXJjaCcvPgorICAgICAgPGFyZyBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBub3RhdGlvbiBuYW1lJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sR2V0RHRkUUF0dHJEZXNjJyBmaWxlPSd2YWxpZCcgbW9kdWxlPSd2YWxpZCc+CisgICAgICA8aW5mbz5TZWFyY2ggdGhlIERURCBmb3IgdGhlIGRlc2NyaXB0aW9uIG9mIHRoaXMgcXVhbGlmaWVkIGF0dHJpYnV0ZSBvbiB0aGlzIGVsZW1lbnQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxBdHRyaWJ1dGVQdHInIGluZm89J3RoZSB4bWxBdHRyaWJ1dGVQdHIgaWYgZm91bmQgb3IgTlVMTCcvPgorICAgICAgPGFyZyBuYW1lPSdkdGQnIHR5cGU9J3htbER0ZFB0cicgaW5mbz0nYSBwb2ludGVyIHRvIHRoZSBEdEQgdG8gc2VhcmNoJy8+CisgICAgICA8YXJnIG5hbWU9J2VsZW0nIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIGVsZW1lbnQgbmFtZScvPgorICAgICAgPGFyZyBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBhdHRyaWJ1dGUgbmFtZScvPgorICAgICAgPGFyZyBuYW1lPSdwcmVmaXgnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIGF0dHJpYnV0ZSBuYW1lc3BhY2UgcHJlZml4Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sR2V0RHRkUUVsZW1lbnREZXNjJyBmaWxlPSd2YWxpZCcgbW9kdWxlPSd2YWxpZCc+CisgICAgICA8aW5mbz5TZWFyY2ggdGhlIERURCBmb3IgdGhlIGRlc2NyaXB0aW9uIG9mIHRoaXMgZWxlbWVudDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sRWxlbWVudFB0cicgaW5mbz0ndGhlIHhtbEVsZW1lbnRQdHIgaWYgZm91bmQgb3IgTlVMTCcvPgorICAgICAgPGFyZyBuYW1lPSdkdGQnIHR5cGU9J3htbER0ZFB0cicgaW5mbz0nYSBwb2ludGVyIHRvIHRoZSBEdEQgdG8gc2VhcmNoJy8+CisgICAgICA8YXJnIG5hbWU9J25hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIGVsZW1lbnQgbmFtZScvPgorICAgICAgPGFyZyBuYW1lPSdwcmVmaXgnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIGVsZW1lbnQgbmFtZXNwYWNlIHByZWZpeCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEdldEVuY29kaW5nQWxpYXMnIGZpbGU9J2VuY29kaW5nJyBtb2R1bGU9J2VuY29kaW5nJz4KKyAgICAgIDxpbmZvPkxvb2t1cCBhbiBlbmNvZGluZyBuYW1lIGZvciB0aGUgZ2l2ZW4gYWxpYXMuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J05VTEwgaWYgbm90IGZvdW5kLCBvdGhlcndpc2UgdGhlIG9yaWdpbmFsIG5hbWUnLz4KKyAgICAgIDxhcmcgbmFtZT0nYWxpYXMnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIGFsaWFzIG5hbWUgYXMgcGFyc2VkLCBpbiBVVEYtOCBmb3JtYXQgKEFTQ0lJIGFjdHVhbGx5KScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEdldEV4dGVybmFsRW50aXR5TG9hZGVyJyBmaWxlPSdwYXJzZXInIG1vZHVsZT0neG1sSU8nPgorICAgICAgPGluZm8+R2V0IHRoZSBkZWZhdWx0IGV4dGVybmFsIGVudGl0eSByZXNvbHZlciBmdW5jdGlvbiBmb3IgdGhlIGFwcGxpY2F0aW9uPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxFeHRlcm5hbEVudGl0eUxvYWRlcicgaW5mbz0ndGhlIHhtbEV4dGVybmFsRW50aXR5TG9hZGVyIGZ1bmN0aW9uIHBvaW50ZXInLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxHZXRGZWF0dXJlJyBmaWxlPSdwYXJzZXInIG1vZHVsZT0nbGVnYWN5Jz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0xFR0FDWV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlJlYWQgdGhlIGN1cnJlbnQgdmFsdWUgb2Ygb25lIGZlYXR1cmUgb2YgdGhpcyBwYXJzZXIgaW5zdGFuY2U8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nLTEgaW4gY2FzZSBvciBlcnJvciwgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sUGFyc2VyQ3R4dFB0cicgaW5mbz0nYW4gWE1ML0hUTUwgcGFyc2VyIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFtZScgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSd0aGUgZmVhdHVyZSBuYW1lJy8+CisgICAgICA8YXJnIG5hbWU9J3Jlc3VsdCcgdHlwZT0ndm9pZCAqJyBpbmZvPSdsb2NhdGlvbiB0byBzdG9yZSB0aGUgcmVzdWx0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sR2V0RmVhdHVyZXNMaXN0JyBmaWxlPSdwYXJzZXInIG1vZHVsZT0nbGVnYWN5Jz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0xFR0FDWV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNvcHkgYXQgbW9zdCAqQGxlbiBmZWF0dXJlIG5hbWVzIGludG8gdGhlIEByZXN1bHQgYXJyYXk8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nLTEgaW4gY2FzZSBvciBlcnJvciwgb3IgdGhlIHRvdGFsIG51bWJlciBvZiBmZWF0dXJlcywgbGVuIGlzIHVwZGF0ZWQgd2l0aCB0aGUgbnVtYmVyIG9mIHN0cmluZ3MgY29waWVkLCBzdHJpbmdzIG11c3Qgbm90IGJlIGRlYWxsb2NhdGVkJy8+CisgICAgICA8YXJnIG5hbWU9J2xlbicgdHlwZT0naW50IConIGluZm89J3RoZSBsZW5ndGggb2YgdGhlIGZlYXR1cmVzIG5hbWUgYXJyYXkgKGlucHV0L291dHB1dCknLz4KKyAgICAgIDxhcmcgbmFtZT0ncmVzdWx0JyB0eXBlPSdjb25zdCBjaGFyICoqJyBpbmZvPSdhbiBhcnJheSBvZiBzdHJpbmcgdG8gYmUgZmlsbGVkIHdpdGggdGhlIGZlYXR1cmVzIG5hbWUuJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sR2V0R2xvYmFsU3RhdGUnIGZpbGU9J3RocmVhZHMnIG1vZHVsZT0ndGhyZWFkcyc+CisgICAgICA8aW5mbz54bWxHZXRHbG9iYWxTdGF0ZSgpIGlzIGNhbGxlZCB0byByZXRyaWV2ZSB0aGUgZ2xvYmFsIHN0YXRlIGZvciBhIHRocmVhZC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbEdsb2JhbFN0YXRlUHRyJyBpbmZvPSd0aGUgdGhyZWFkIGdsb2JhbCBzdGF0ZSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxHZXRJRCcgZmlsZT0ndmFsaWQnIG1vZHVsZT0ndmFsaWQnPgorICAgICAgPGluZm8+U2VhcmNoIHRoZSBhdHRyaWJ1dGUgZGVjbGFyaW5nIHRoZSBnaXZlbiBJRDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sQXR0clB0cicgaW5mbz0nTlVMTCBpZiBub3QgZm91bmQsIG90aGVyd2lzZSB0aGUgeG1sQXR0clB0ciBkZWZpbmluZyB0aGUgSUQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZG9jJyB0eXBlPSd4bWxEb2NQdHInIGluZm89J3BvaW50ZXIgdG8gdGhlIGRvY3VtZW50Jy8+CisgICAgICA8YXJnIG5hbWU9J0lEJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBJRCB2YWx1ZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEdldEludFN1YnNldCcgZmlsZT0ndHJlZScgbW9kdWxlPSd0cmVlJz4KKyAgICAgIDxpbmZvPkdldCB0aGUgaW50ZXJuYWwgc3Vic2V0IG9mIGEgZG9jdW1lbnQ8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbER0ZFB0cicgaW5mbz0nYSBwb2ludGVyIHRvIHRoZSBEVEQgc3RydWN0dXJlIG9yIE5VTEwgaWYgbm90IGZvdW5kJy8+CisgICAgICA8YXJnIG5hbWU9J2RvYycgdHlwZT0nY29uc3QgeG1sRG9jIConIGluZm89J3RoZSBkb2N1bWVudCBwb2ludGVyJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sR2V0TGFzdENoaWxkJyBmaWxlPSd0cmVlJyBtb2R1bGU9J3RyZWUnPgorICAgICAgPGluZm8+U2VhcmNoIHRoZSBsYXN0IGNoaWxkIG9mIGEgbm9kZS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3RoZSBsYXN0IGNoaWxkIG9yIE5VTEwgaWYgbm9uZS4nLz4KKyAgICAgIDxhcmcgbmFtZT0ncGFyZW50JyB0eXBlPSdjb25zdCB4bWxOb2RlIConIGluZm89J3RoZSBwYXJlbnQgbm9kZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEdldExhc3RFcnJvcicgZmlsZT0neG1sZXJyb3InIG1vZHVsZT0nZXJyb3InPgorICAgICAgPGluZm8+R2V0IHRoZSBsYXN0IGdsb2JhbCBlcnJvciByZWdpc3RlcmVkLiBUaGlzIGlzIHBlciB0aHJlYWQgaWYgY29tcGlsZWQgd2l0aCB0aHJlYWQgc3VwcG9ydC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbEVycm9yUHRyJyBpbmZvPSdOVUxMIGlmIG5vIGVycm9yIG9jY3VyZWQgb3IgYSBwb2ludGVyIHRvIHRoZSBlcnJvcicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEdldExpbmVObycgZmlsZT0ndHJlZScgbW9kdWxlPSd0cmVlJz4KKyAgICAgIDxpbmZvPkdldCBsaW5lIG51bWJlciBvZiBAbm9kZS4gVHJ5IHRvIG92ZXJyaWRlIHRoZSBsaW1pdGF0aW9uIG9mIGxpbmVzIGJlaW5nIHN0b3JlIGluIDE2IGJpdHMgaW50cyBpZiBYTUxfUEFSU0VfQklHX0xJTkVTIHBhcnNlciBvcHRpb24gd2FzIHVzZWQ8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2xvbmcnIGluZm89J3RoZSBsaW5lIG51bWJlciBpZiBzdWNjZXNzZnVsLCAtMSBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nbm9kZScgdHlwZT0nY29uc3QgeG1sTm9kZSAqJyBpbmZvPSd2YWxpZCBub2RlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sR2V0Tm9Oc1Byb3AnIGZpbGU9J3RyZWUnIG1vZHVsZT0ndHJlZSc+CisgICAgICA8aW5mbz5TZWFyY2ggYW5kIGdldCB0aGUgdmFsdWUgb2YgYW4gYXR0cmlidXRlIGFzc29jaWF0ZWQgdG8gYSBub2RlIFRoaXMgZG9lcyB0aGUgZW50aXR5IHN1YnN0aXR1dGlvbi4gVGhpcyBmdW5jdGlvbiBsb29rcyBpbiBEVEQgYXR0cmlidXRlIGRlY2xhcmF0aW9uIGZvciAjRklYRUQgb3IgZGVmYXVsdCBkZWNsYXJhdGlvbiB2YWx1ZXMgdW5sZXNzIERURCB1c2UgaGFzIGJlZW4gdHVybmVkIG9mZi4gVGhpcyBmdW5jdGlvbiBpcyBzaW1pbGFyIHRvIHhtbEdldFByb3AgZXhjZXB0IGl0IHdpbGwgYWNjZXB0IG9ubHkgYW4gYXR0cmlidXRlIGluIG5vIG5hbWVzcGFjZS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbENoYXIgKicgaW5mbz0ndGhlIGF0dHJpYnV0ZSB2YWx1ZSBvciBOVUxMIGlmIG5vdCBmb3VuZC4gSXQmYXBvcztzIHVwIHRvIHRoZSBjYWxsZXIgdG8gZnJlZSB0aGUgbWVtb3J5IHdpdGggeG1sRnJlZSgpLicvPgorICAgICAgPGFyZyBuYW1lPSdub2RlJyB0eXBlPSdjb25zdCB4bWxOb2RlIConIGluZm89J3RoZSBub2RlJy8+CisgICAgICA8YXJnIG5hbWU9J25hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIGF0dHJpYnV0ZSBuYW1lJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sR2V0Tm9kZVBhdGgnIGZpbGU9J3RyZWUnIG1vZHVsZT0ndHJlZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX0RFQlVHX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+QnVpbGQgYSBzdHJ1Y3R1cmUgYmFzZWQgUGF0aCBmb3IgdGhlIGdpdmVuIG5vZGU8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbENoYXIgKicgaW5mbz0ndGhlIG5ldyBwYXRoIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci4gVGhlIGNhbGxlciBtdXN0IGZyZWUgdGhlIHJldHVybmVkIHN0cmluZycvPgorICAgICAgPGFyZyBuYW1lPSdub2RlJyB0eXBlPSdjb25zdCB4bWxOb2RlIConIGluZm89J2Egbm9kZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEdldE5zTGlzdCcgZmlsZT0ndHJlZScgbW9kdWxlPSd0cmVlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlNlYXJjaCBhbGwgdGhlIG5hbWVzcGFjZSBhcHBseWluZyB0byBhIGdpdmVuIGVsZW1lbnQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxOc1B0ciAqJyBpbmZvPSdhbiBOVUxMIHRlcm1pbmF0ZWQgYXJyYXkgb2YgYWxsIHRoZSAjeG1sTnNQdHIgZm91bmQgdGhhdCBuZWVkIHRvIGJlIGZyZWVkIGJ5IHRoZSBjYWxsZXIgb3IgTlVMTCBpZiBubyBuYW1lc3BhY2UgaWYgZGVmaW5lZCcvPgorICAgICAgPGFyZyBuYW1lPSdkb2MnIHR5cGU9J2NvbnN0IHhtbERvYyAqJyBpbmZvPSd0aGUgZG9jdW1lbnQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbm9kZScgdHlwZT0nY29uc3QgeG1sTm9kZSAqJyBpbmZvPSd0aGUgY3VycmVudCBub2RlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sR2V0TnNQcm9wJyBmaWxlPSd0cmVlJyBtb2R1bGU9J3RyZWUnPgorICAgICAgPGluZm8+U2VhcmNoIGFuZCBnZXQgdGhlIHZhbHVlIG9mIGFuIGF0dHJpYnV0ZSBhc3NvY2lhdGVkIHRvIGEgbm9kZSBUaGlzIGF0dHJpYnV0ZSBoYXMgdG8gYmUgYW5jaG9yZWQgaW4gdGhlIG5hbWVzcGFjZSBzcGVjaWZpZWQuIFRoaXMgZG9lcyB0aGUgZW50aXR5IHN1YnN0aXR1dGlvbi4gVGhpcyBmdW5jdGlvbiBsb29rcyBpbiBEVEQgYXR0cmlidXRlIGRlY2xhcmF0aW9uIGZvciAjRklYRUQgb3IgZGVmYXVsdCBkZWNsYXJhdGlvbiB2YWx1ZXMgdW5sZXNzIERURCB1c2UgaGFzIGJlZW4gdHVybmVkIG9mZi48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbENoYXIgKicgaW5mbz0ndGhlIGF0dHJpYnV0ZSB2YWx1ZSBvciBOVUxMIGlmIG5vdCBmb3VuZC4gSXQmYXBvcztzIHVwIHRvIHRoZSBjYWxsZXIgdG8gZnJlZSB0aGUgbWVtb3J5IHdpdGggeG1sRnJlZSgpLicvPgorICAgICAgPGFyZyBuYW1lPSdub2RlJyB0eXBlPSdjb25zdCB4bWxOb2RlIConIGluZm89J3RoZSBub2RlJy8+CisgICAgICA8YXJnIG5hbWU9J25hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIGF0dHJpYnV0ZSBuYW1lJy8+CisgICAgICA8YXJnIG5hbWU9J25hbWVTcGFjZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgVVJJIG9mIHRoZSBuYW1lc3BhY2UnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxHZXRQYXJhbWV0ZXJFbnRpdHknIGZpbGU9J2VudGl0aWVzJyBtb2R1bGU9J2VudGl0aWVzJz4KKyAgICAgIDxpbmZvPkRvIGFuIGVudGl0eSBsb29rdXAgaW4gdGhlIGludGVybmFsIGFuZCBleHRlcm5hbCBzdWJzZXRzIGFuZDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sRW50aXR5UHRyJyBpbmZvPSd0aGUgY29ycmVzcG9uZGluZyBwYXJhbWV0ZXIgZW50aXR5LCBpZiBmb3VuZC4gIFJldHVybnMgQSBwb2ludGVyIHRvIHRoZSBlbnRpdHkgc3RydWN0dXJlIG9yIE5VTEwgaWYgbm90IGZvdW5kLicvPgorICAgICAgPGFyZyBuYW1lPSdkb2MnIHR5cGU9J3htbERvY1B0cicgaW5mbz0ndGhlIGRvY3VtZW50IHJlZmVyZW5jaW5nIHRoZSBlbnRpdHknLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFtZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgZW50aXR5IG5hbWUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxHZXRQcmVkZWZpbmVkRW50aXR5JyBmaWxlPSdlbnRpdGllcycgbW9kdWxlPSdlbnRpdGllcyc+CisgICAgICA8aW5mbz5DaGVjayB3aGV0aGVyIHRoaXMgbmFtZSBpcyBhbiBwcmVkZWZpbmVkIGVudGl0eS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbEVudGl0eVB0cicgaW5mbz0nTlVMTCBpZiBub3QsIG90aGVyd2lzZSB0aGUgZW50aXR5Jy8+CisgICAgICA8YXJnIG5hbWU9J25hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIGVudGl0eSBuYW1lJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sR2V0UHJvcCcgZmlsZT0ndHJlZScgbW9kdWxlPSd0cmVlJz4KKyAgICAgIDxpbmZvPlNlYXJjaCBhbmQgZ2V0IHRoZSB2YWx1ZSBvZiBhbiBhdHRyaWJ1dGUgYXNzb2NpYXRlZCB0byBhIG5vZGUgVGhpcyBkb2VzIHRoZSBlbnRpdHkgc3Vic3RpdHV0aW9uLiBUaGlzIGZ1bmN0aW9uIGxvb2tzIGluIERURCBhdHRyaWJ1dGUgZGVjbGFyYXRpb24gZm9yICNGSVhFRCBvciBkZWZhdWx0IGRlY2xhcmF0aW9uIHZhbHVlcyB1bmxlc3MgRFREIHVzZSBoYXMgYmVlbiB0dXJuZWQgb2ZmLiBOT1RFOiB0aGlzIGZ1bmN0aW9uIGFjdHMgaW5kZXBlbmRlbnRseSBvZiBuYW1lc3BhY2VzIGFzc29jaWF0ZWQgdG8gdGhlIGF0dHJpYnV0ZS4gVXNlIHhtbEdldE5zUHJvcCgpIG9yIHhtbEdldE5vTnNQcm9wKCkgZm9yIG5hbWVzcGFjZSBhd2FyZSBwcm9jZXNzaW5nLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sQ2hhciAqJyBpbmZvPSd0aGUgYXR0cmlidXRlIHZhbHVlIG9yIE5VTEwgaWYgbm90IGZvdW5kLiBJdCZhcG9zO3MgdXAgdG8gdGhlIGNhbGxlciB0byBmcmVlIHRoZSBtZW1vcnkgd2l0aCB4bWxGcmVlKCkuJy8+CisgICAgICA8YXJnIG5hbWU9J25vZGUnIHR5cGU9J2NvbnN0IHhtbE5vZGUgKicgaW5mbz0ndGhlIG5vZGUnLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFtZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgYXR0cmlidXRlIG5hbWUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxHZXRSZWZzJyBmaWxlPSd2YWxpZCcgbW9kdWxlPSd2YWxpZCc+CisgICAgICA8aW5mbz5GaW5kIHRoZSBzZXQgb2YgcmVmZXJlbmNlcyBmb3IgdGhlIHN1cHBsaWVkIElELjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sTGlzdFB0cicgaW5mbz0nTlVMTCBpZiBub3QgZm91bmQsIG90aGVyd2lzZSBub2RlIHNldCBmb3IgdGhlIElELicvPgorICAgICAgPGFyZyBuYW1lPSdkb2MnIHR5cGU9J3htbERvY1B0cicgaW5mbz0ncG9pbnRlciB0byB0aGUgZG9jdW1lbnQnLz4KKyAgICAgIDxhcmcgbmFtZT0nSUQnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIElEIHZhbHVlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sR2V0VGhyZWFkSWQnIGZpbGU9J3RocmVhZHMnIG1vZHVsZT0ndGhyZWFkcyc+CisgICAgICA8aW5mbz54bWxHZXRUaHJlYWRJZCgpIGZpbmQgdGhlIGN1cnJlbnQgdGhyZWFkIElEIG51bWJlciBOb3RlIHRoYXQgdGhpcyBpcyBsaWtlbHkgdG8gYmUgYnJva2VuIG9uIHNvbWUgcGxhdGZvcm1zIHVzaW5nIHB0aHJlYWRzIGFzIHRoZSBzcGVjaWZpY2F0aW9uIGRvZXNuJmFwb3M7dCBtYW5kYXRlIHB0aHJlYWRfdCB0byBiZSBhbiBpbnRlZ2VyIHR5cGU8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndGhlIGN1cnJlbnQgdGhyZWFkIElEIG51bWJlcicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEdldFVURjhDaGFyJyBmaWxlPSd4bWxzdHJpbmcnIG1vZHVsZT0neG1sc3RyaW5nJz4KKyAgICAgIDxpbmZvPlJlYWQgdGhlIGZpcnN0IFVURjggY2hhcmFjdGVyIGZyb20gQHV0ZjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgY2hhciB2YWx1ZSBvciAtMSBpbiBjYXNlIG9mIGVycm9yLCBhbmQgc2V0cyAqbGVuIHRvIHRoZSBhY3R1YWwgbnVtYmVyIG9mIGJ5dGVzIGNvbnN1bWVkICgwIGluIGNhc2Ugb2YgZXJyb3IpJy8+CisgICAgICA8YXJnIG5hbWU9J3V0ZicgdHlwZT0nY29uc3QgdW5zaWduZWQgY2hhciAqJyBpbmZvPSdhIHNlcXVlbmNlIG9mIFVURi04IGVuY29kZWQgYnl0ZXMnLz4KKyAgICAgIDxhcmcgbmFtZT0nbGVuJyB0eXBlPSdpbnQgKicgaW5mbz0nYSBwb2ludGVyIHRvIHRoZSBtaW5pbXVtIG51bWJlciBvZiBieXRlcyBwcmVzZW50IGluIHRoZSBzZXF1ZW5jZS4gIFRoaXMgaXMgdXNlZCB0byBhc3N1cmUgdGhlIG5leHQgY2hhcmFjdGVyIGlzIGNvbXBsZXRlbHkgY29udGFpbmVkIHdpdGhpbiB0aGUgc2VxdWVuY2UuJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sSGFuZGxlRW50aXR5JyBmaWxlPSdwYXJzZXJJbnRlcm5hbHMnIG1vZHVsZT0nbGVnYWN5Jz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0xFR0FDWV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkRlZmF1bHQgaGFuZGxpbmcgb2YgZGVmaW5lZCBlbnRpdGllcywgd2hlbiBzaG91bGQgd2UgZGVmaW5lIGEgbmV3IGlucHV0IHN0cmVhbSA/IFdoZW4gZG8gd2UganVzdCBoYW5kbGUgdGhhdCBhcyBhIHNldCBvZiBjaGFycyA/ICBPQlNPTEVURTogdG8gYmUgcmVtb3ZlZCBhdCBzb21lIHBvaW50LjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxQYXJzZXJDdHh0UHRyJyBpbmZvPSdhbiBYTUwgcGFyc2VyIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZW50aXR5JyB0eXBlPSd4bWxFbnRpdHlQdHInIGluZm89J2FuIFhNTCBlbnRpdHkgcG9pbnRlci4nLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxIYXNGZWF0dXJlJyBmaWxlPSdwYXJzZXInIG1vZHVsZT0ncGFyc2VyJz4KKyAgICAgIDxpbmZvPkV4YW1pbmVzIGlmIHRoZSBsaWJyYXJ5IGhhcyBiZWVuIGNvbXBpbGVkIHdpdGggYSBnaXZlbiBmZWF0dXJlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSdhIG5vbi16ZXJvIHZhbHVlIGlmIHRoZSBmZWF0dXJlIGV4aXN0LCBvdGhlcndpc2UgemVyby4gUmV0dXJucyB6ZXJvICgwKSBpZiB0aGUgZmVhdHVyZSBkb2VzIG5vdCBleGlzdCBvciBhbiB1bmtub3duIHVua25vd24gZmVhdHVyZSBpcyByZXF1ZXN0ZWQsIG5vbi16ZXJvIG90aGVyd2lzZS4nLz4KKyAgICAgIDxhcmcgbmFtZT0nZmVhdHVyZScgdHlwZT0neG1sRmVhdHVyZScgaW5mbz0ndGhlIGZlYXR1cmUgdG8gYmUgZXhhbWluZWQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxIYXNOc1Byb3AnIGZpbGU9J3RyZWUnIG1vZHVsZT0ndHJlZSc+CisgICAgICA8aW5mbz5TZWFyY2ggZm9yIGFuIGF0dHJpYnV0ZSBhc3NvY2lhdGVkIHRvIGEgbm9kZSBUaGlzIGF0dHJpYnV0ZSBoYXMgdG8gYmUgYW5jaG9yZWQgaW4gdGhlIG5hbWVzcGFjZSBzcGVjaWZpZWQuIFRoaXMgZG9lcyB0aGUgZW50aXR5IHN1YnN0aXR1dGlvbi4gVGhpcyBmdW5jdGlvbiBsb29rcyBpbiBEVEQgYXR0cmlidXRlIGRlY2xhcmF0aW9uIGZvciAjRklYRUQgb3IgZGVmYXVsdCBkZWNsYXJhdGlvbiB2YWx1ZXMgdW5sZXNzIERURCB1c2UgaGFzIGJlZW4gdHVybmVkIG9mZi4gTm90ZSB0aGF0IGEgbmFtZXNwYWNlIG9mIE5VTEwgaW5kaWNhdGVzIHRvIHVzZSB0aGUgZGVmYXVsdCBuYW1lc3BhY2UuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxBdHRyUHRyJyBpbmZvPSd0aGUgYXR0cmlidXRlIG9yIHRoZSBhdHRyaWJ1dGUgZGVjbGFyYXRpb24gb3IgTlVMTCBpZiBuZWl0aGVyIHdhcyBmb3VuZC4nLz4KKyAgICAgIDxhcmcgbmFtZT0nbm9kZScgdHlwZT0nY29uc3QgeG1sTm9kZSAqJyBpbmZvPSd0aGUgbm9kZScvPgorICAgICAgPGFyZyBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBhdHRyaWJ1dGUgbmFtZScvPgorICAgICAgPGFyZyBuYW1lPSduYW1lU3BhY2UnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIFVSSSBvZiB0aGUgbmFtZXNwYWNlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sSGFzUHJvcCcgZmlsZT0ndHJlZScgbW9kdWxlPSd0cmVlJz4KKyAgICAgIDxpbmZvPlNlYXJjaCBhbiBhdHRyaWJ1dGUgYXNzb2NpYXRlZCB0byBhIG5vZGUgVGhpcyBmdW5jdGlvbiBhbHNvIGxvb2tzIGluIERURCBhdHRyaWJ1dGUgZGVjbGFyYXRpb24gZm9yICNGSVhFRCBvciBkZWZhdWx0IGRlY2xhcmF0aW9uIHZhbHVlcyB1bmxlc3MgRFREIHVzZSBoYXMgYmVlbiB0dXJuZWQgb2ZmLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sQXR0clB0cicgaW5mbz0ndGhlIGF0dHJpYnV0ZSBvciB0aGUgYXR0cmlidXRlIGRlY2xhcmF0aW9uIG9yIE5VTEwgaWYgbmVpdGhlciB3YXMgZm91bmQuJy8+CisgICAgICA8YXJnIG5hbWU9J25vZGUnIHR5cGU9J2NvbnN0IHhtbE5vZGUgKicgaW5mbz0ndGhlIG5vZGUnLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFtZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgYXR0cmlidXRlIG5hbWUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxIYXNoQWRkRW50cnknIGZpbGU9J2hhc2gnIG1vZHVsZT0naGFzaCc+CisgICAgICA8aW5mbz5BZGQgdGhlIEB1c2VyZGF0YSB0byB0aGUgaGFzaCBAdGFibGUuIFRoaXMgY2FuIGxhdGVyIGJlIHJldHJpZXZlZCBieSB1c2luZyB0aGUgQG5hbWUuIER1cGxpY2F0ZSBuYW1lcyBnZW5lcmF0ZSBlcnJvcnMuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzAgdGhlIGFkZGl0aW9uIHN1Y2NlZWRlZCBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvci4nLz4KKyAgICAgIDxhcmcgbmFtZT0ndGFibGUnIHR5cGU9J3htbEhhc2hUYWJsZVB0cicgaW5mbz0ndGhlIGhhc2ggdGFibGUnLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFtZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgbmFtZSBvZiB0aGUgdXNlcmRhdGEnLz4KKyAgICAgIDxhcmcgbmFtZT0ndXNlcmRhdGEnIHR5cGU9J3ZvaWQgKicgaW5mbz0nYSBwb2ludGVyIHRvIHRoZSB1c2VyZGF0YScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEhhc2hBZGRFbnRyeTInIGZpbGU9J2hhc2gnIG1vZHVsZT0naGFzaCc+CisgICAgICA8aW5mbz5BZGQgdGhlIEB1c2VyZGF0YSB0byB0aGUgaGFzaCBAdGFibGUuIFRoaXMgY2FuIGxhdGVyIGJlIHJldHJpZXZlZCBieSB1c2luZyB0aGUgKEBuYW1lLCBAbmFtZTIpIHR1cGxlLiBEdXBsaWNhdGUgdHVwbGVzIGdlbmVyYXRlIGVycm9ycy48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMCB0aGUgYWRkaXRpb24gc3VjY2VlZGVkIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yLicvPgorICAgICAgPGFyZyBuYW1lPSd0YWJsZScgdHlwZT0neG1sSGFzaFRhYmxlUHRyJyBpbmZvPSd0aGUgaGFzaCB0YWJsZScvPgorICAgICAgPGFyZyBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBuYW1lIG9mIHRoZSB1c2VyZGF0YScvPgorICAgICAgPGFyZyBuYW1lPSduYW1lMicgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSdhIHNlY29uZCBuYW1lIG9mIHRoZSB1c2VyZGF0YScvPgorICAgICAgPGFyZyBuYW1lPSd1c2VyZGF0YScgdHlwZT0ndm9pZCAqJyBpbmZvPSdhIHBvaW50ZXIgdG8gdGhlIHVzZXJkYXRhJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sSGFzaEFkZEVudHJ5MycgZmlsZT0naGFzaCcgbW9kdWxlPSdoYXNoJz4KKyAgICAgIDxpbmZvPkFkZCB0aGUgQHVzZXJkYXRhIHRvIHRoZSBoYXNoIEB0YWJsZS4gVGhpcyBjYW4gbGF0ZXIgYmUgcmV0cmlldmVkIGJ5IHVzaW5nIHRoZSB0dXBsZSAoQG5hbWUsIEBuYW1lMiwgQG5hbWUzKS4gRHVwbGljYXRlIGVudHJpZXMgZ2VuZXJhdGUgZXJyb3JzLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScwIHRoZSBhZGRpdGlvbiBzdWNjZWVkZWQgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3IuJy8+CisgICAgICA8YXJnIG5hbWU9J3RhYmxlJyB0eXBlPSd4bWxIYXNoVGFibGVQdHInIGluZm89J3RoZSBoYXNoIHRhYmxlJy8+CisgICAgICA8YXJnIG5hbWU9J25hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIG5hbWUgb2YgdGhlIHVzZXJkYXRhJy8+CisgICAgICA8YXJnIG5hbWU9J25hbWUyJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J2Egc2Vjb25kIG5hbWUgb2YgdGhlIHVzZXJkYXRhJy8+CisgICAgICA8YXJnIG5hbWU9J25hbWUzJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J2EgdGhpcmQgbmFtZSBvZiB0aGUgdXNlcmRhdGEnLz4KKyAgICAgIDxhcmcgbmFtZT0ndXNlcmRhdGEnIHR5cGU9J3ZvaWQgKicgaW5mbz0nYSBwb2ludGVyIHRvIHRoZSB1c2VyZGF0YScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0eXBlIG5hbWU9J3htbEhhc2hDb3BpZXInIGZpbGU9J2hhc2gnIG1vZHVsZT0naGFzaCc+CisgICAgICA8aW5mbz5DYWxsYmFjayB0byBjb3B5IGRhdGEgZnJvbSBhIGhhc2guPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkIConIGluZm89J2EgY29weSBvZiB0aGUgZGF0YSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuJy8+CisgICAgICA8YXJnIG5hbWU9J3BheWxvYWQnIHR5cGU9J3ZvaWQgKicgaW5mbz0ndGhlIGRhdGEgaW4gdGhlIGhhc2gnLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFtZScgdHlwZT0neG1sQ2hhciAqJyBpbmZvPSd0aGUgbmFtZSBhc3NvY2lhdGVkJy8+CisgICAgPC9mdW5jdHlwZT4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sSGFzaENvcHknIGZpbGU9J2hhc2gnIG1vZHVsZT0naGFzaCc+CisgICAgICA8aW5mbz5TY2FuIHRoZSBoYXNoIEB0YWJsZSBhbmQgYXBwbGllZCBAZiB0byBlYWNoIHZhbHVlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sSGFzaFRhYmxlUHRyJyBpbmZvPSd0aGUgbmV3IHRhYmxlIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci4nLz4KKyAgICAgIDxhcmcgbmFtZT0ndGFibGUnIHR5cGU9J3htbEhhc2hUYWJsZVB0cicgaW5mbz0ndGhlIGhhc2ggdGFibGUnLz4KKyAgICAgIDxhcmcgbmFtZT0nZicgdHlwZT0neG1sSGFzaENvcGllcicgaW5mbz0ndGhlIGNvcGllciBmdW5jdGlvbiBmb3IgaXRlbXMgaW4gdGhlIGhhc2gnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxIYXNoQ3JlYXRlJyBmaWxlPSdoYXNoJyBtb2R1bGU9J2hhc2gnPgorICAgICAgPGluZm8+Q3JlYXRlIGEgbmV3IHhtbEhhc2hUYWJsZVB0ci48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbEhhc2hUYWJsZVB0cicgaW5mbz0ndGhlIG5ld2x5IGNyZWF0ZWQgb2JqZWN0LCBvciBOVUxMIGlmIGFuIGVycm9yIG9jY3VyZWQuJy8+CisgICAgICA8YXJnIG5hbWU9J3NpemUnIHR5cGU9J2ludCcgaW5mbz0ndGhlIHNpemUgb2YgdGhlIGhhc2ggdGFibGUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxIYXNoQ3JlYXRlRGljdCcgZmlsZT0naGFzaCcgbW9kdWxlPSdoYXNoJz4KKyAgICAgIDxpbmZvPkNyZWF0ZSBhIG5ldyB4bWxIYXNoVGFibGVQdHIgd2hpY2ggd2lsbCB1c2UgQGRpY3QgYXMgdGhlIGludGVybmFsIGRpY3Rpb25hcnk8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbEhhc2hUYWJsZVB0cicgaW5mbz0ndGhlIG5ld2x5IGNyZWF0ZWQgb2JqZWN0LCBvciBOVUxMIGlmIGFuIGVycm9yIG9jY3VyZWQuJy8+CisgICAgICA8YXJnIG5hbWU9J3NpemUnIHR5cGU9J2ludCcgaW5mbz0ndGhlIHNpemUgb2YgdGhlIGhhc2ggdGFibGUnLz4KKyAgICAgIDxhcmcgbmFtZT0nZGljdCcgdHlwZT0neG1sRGljdFB0cicgaW5mbz0nYSBkaWN0aW9uYXJ5IHRvIHVzZSBmb3IgdGhlIGhhc2gnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdHlwZSBuYW1lPSd4bWxIYXNoRGVhbGxvY2F0b3InIGZpbGU9J2hhc2gnIG1vZHVsZT0naGFzaCc+CisgICAgICA8aW5mbz5DYWxsYmFjayB0byBmcmVlIGRhdGEgZnJvbSBhIGhhc2guPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J3BheWxvYWQnIHR5cGU9J3ZvaWQgKicgaW5mbz0ndGhlIGRhdGEgaW4gdGhlIGhhc2gnLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFtZScgdHlwZT0neG1sQ2hhciAqJyBpbmZvPSd0aGUgbmFtZSBhc3NvY2lhdGVkJy8+CisgICAgPC9mdW5jdHlwZT4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sSGFzaEZyZWUnIGZpbGU9J2hhc2gnIG1vZHVsZT0naGFzaCc+CisgICAgICA8aW5mbz5GcmVlIHRoZSBoYXNoIEB0YWJsZSBhbmQgaXRzIGNvbnRlbnRzLiBUaGUgdXNlcmRhdGEgaXMgZGVhbGxvY2F0ZWQgd2l0aCBAZiBpZiBwcm92aWRlZC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0ndGFibGUnIHR5cGU9J3htbEhhc2hUYWJsZVB0cicgaW5mbz0ndGhlIGhhc2ggdGFibGUnLz4KKyAgICAgIDxhcmcgbmFtZT0nZicgdHlwZT0neG1sSGFzaERlYWxsb2NhdG9yJyBpbmZvPSd0aGUgZGVhbGxvY2F0b3IgZnVuY3Rpb24gZm9yIGl0ZW1zIGluIHRoZSBoYXNoJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sSGFzaExvb2t1cCcgZmlsZT0naGFzaCcgbW9kdWxlPSdoYXNoJz4KKyAgICAgIDxpbmZvPkZpbmQgdGhlIHVzZXJkYXRhIHNwZWNpZmllZCBieSB0aGUgQG5hbWUuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkIConIGluZm89J3RoZSBwb2ludGVyIHRvIHRoZSB1c2VyZGF0YScvPgorICAgICAgPGFyZyBuYW1lPSd0YWJsZScgdHlwZT0neG1sSGFzaFRhYmxlUHRyJyBpbmZvPSd0aGUgaGFzaCB0YWJsZScvPgorICAgICAgPGFyZyBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBuYW1lIG9mIHRoZSB1c2VyZGF0YScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEhhc2hMb29rdXAyJyBmaWxlPSdoYXNoJyBtb2R1bGU9J2hhc2gnPgorICAgICAgPGluZm8+RmluZCB0aGUgdXNlcmRhdGEgc3BlY2lmaWVkIGJ5IHRoZSAoQG5hbWUsIEBuYW1lMikgdHVwbGUuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkIConIGluZm89J3RoZSBwb2ludGVyIHRvIHRoZSB1c2VyZGF0YScvPgorICAgICAgPGFyZyBuYW1lPSd0YWJsZScgdHlwZT0neG1sSGFzaFRhYmxlUHRyJyBpbmZvPSd0aGUgaGFzaCB0YWJsZScvPgorICAgICAgPGFyZyBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBuYW1lIG9mIHRoZSB1c2VyZGF0YScvPgorICAgICAgPGFyZyBuYW1lPSduYW1lMicgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSdhIHNlY29uZCBuYW1lIG9mIHRoZSB1c2VyZGF0YScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEhhc2hMb29rdXAzJyBmaWxlPSdoYXNoJyBtb2R1bGU9J2hhc2gnPgorICAgICAgPGluZm8+RmluZCB0aGUgdXNlcmRhdGEgc3BlY2lmaWVkIGJ5IHRoZSAoQG5hbWUsIEBuYW1lMiwgQG5hbWUzKSB0dXBsZS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQgKicgaW5mbz0ndGhlIGEgcG9pbnRlciB0byB0aGUgdXNlcmRhdGEnLz4KKyAgICAgIDxhcmcgbmFtZT0ndGFibGUnIHR5cGU9J3htbEhhc2hUYWJsZVB0cicgaW5mbz0ndGhlIGhhc2ggdGFibGUnLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFtZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgbmFtZSBvZiB0aGUgdXNlcmRhdGEnLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFtZTInIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nYSBzZWNvbmQgbmFtZSBvZiB0aGUgdXNlcmRhdGEnLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFtZTMnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nYSB0aGlyZCBuYW1lIG9mIHRoZSB1c2VyZGF0YScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEhhc2hRTG9va3VwJyBmaWxlPSdoYXNoJyBtb2R1bGU9J2hhc2gnPgorICAgICAgPGluZm8+RmluZCB0aGUgdXNlcmRhdGEgc3BlY2lmaWVkIGJ5IHRoZSBRTmFtZSBAcHJlZml4OkBuYW1lL0BuYW1lLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCAqJyBpbmZvPSd0aGUgcG9pbnRlciB0byB0aGUgdXNlcmRhdGEnLz4KKyAgICAgIDxhcmcgbmFtZT0ndGFibGUnIHR5cGU9J3htbEhhc2hUYWJsZVB0cicgaW5mbz0ndGhlIGhhc2ggdGFibGUnLz4KKyAgICAgIDxhcmcgbmFtZT0ncHJlZml4JyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBwcmVmaXggb2YgdGhlIHVzZXJkYXRhJy8+CisgICAgICA8YXJnIG5hbWU9J25hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIG5hbWUgb2YgdGhlIHVzZXJkYXRhJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sSGFzaFFMb29rdXAyJyBmaWxlPSdoYXNoJyBtb2R1bGU9J2hhc2gnPgorICAgICAgPGluZm8+RmluZCB0aGUgdXNlcmRhdGEgc3BlY2lmaWVkIGJ5IHRoZSBRTmFtZXMgdHVwbGU8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQgKicgaW5mbz0ndGhlIHBvaW50ZXIgdG8gdGhlIHVzZXJkYXRhJy8+CisgICAgICA8YXJnIG5hbWU9J3RhYmxlJyB0eXBlPSd4bWxIYXNoVGFibGVQdHInIGluZm89J3RoZSBoYXNoIHRhYmxlJy8+CisgICAgICA8YXJnIG5hbWU9J3ByZWZpeCcgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgcHJlZml4IG9mIHRoZSB1c2VyZGF0YScvPgorICAgICAgPGFyZyBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBuYW1lIG9mIHRoZSB1c2VyZGF0YScvPgorICAgICAgPGFyZyBuYW1lPSdwcmVmaXgyJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBzZWNvbmQgcHJlZml4IG9mIHRoZSB1c2VyZGF0YScvPgorICAgICAgPGFyZyBuYW1lPSduYW1lMicgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSdhIHNlY29uZCBuYW1lIG9mIHRoZSB1c2VyZGF0YScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEhhc2hRTG9va3VwMycgZmlsZT0naGFzaCcgbW9kdWxlPSdoYXNoJz4KKyAgICAgIDxpbmZvPkZpbmQgdGhlIHVzZXJkYXRhIHNwZWNpZmllZCBieSB0aGUgKEBuYW1lLCBAbmFtZTIsIEBuYW1lMykgdHVwbGUuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkIConIGluZm89J3RoZSBhIHBvaW50ZXIgdG8gdGhlIHVzZXJkYXRhJy8+CisgICAgICA8YXJnIG5hbWU9J3RhYmxlJyB0eXBlPSd4bWxIYXNoVGFibGVQdHInIGluZm89J3RoZSBoYXNoIHRhYmxlJy8+CisgICAgICA8YXJnIG5hbWU9J3ByZWZpeCcgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgcHJlZml4IG9mIHRoZSB1c2VyZGF0YScvPgorICAgICAgPGFyZyBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBuYW1lIG9mIHRoZSB1c2VyZGF0YScvPgorICAgICAgPGFyZyBuYW1lPSdwcmVmaXgyJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBzZWNvbmQgcHJlZml4IG9mIHRoZSB1c2VyZGF0YScvPgorICAgICAgPGFyZyBuYW1lPSduYW1lMicgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSdhIHNlY29uZCBuYW1lIG9mIHRoZSB1c2VyZGF0YScvPgorICAgICAgPGFyZyBuYW1lPSdwcmVmaXgzJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSB0aGlyZCBwcmVmaXggb2YgdGhlIHVzZXJkYXRhJy8+CisgICAgICA8YXJnIG5hbWU9J25hbWUzJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J2EgdGhpcmQgbmFtZSBvZiB0aGUgdXNlcmRhdGEnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxIYXNoUmVtb3ZlRW50cnknIGZpbGU9J2hhc2gnIG1vZHVsZT0naGFzaCc+CisgICAgICA8aW5mbz5GaW5kIHRoZSB1c2VyZGF0YSBzcGVjaWZpZWQgYnkgdGhlIEBuYW1lIGFuZCByZW1vdmUgaXQgZnJvbSB0aGUgaGFzaCBAdGFibGUuIEV4aXN0aW5nIHVzZXJkYXRhIGZvciB0aGlzIHR1cGxlIHdpbGwgYmUgcmVtb3ZlZCBhbmQgZnJlZWQgd2l0aCBAZi48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMCBpZiB0aGUgcmVtb3ZhbCBzdWNjZWVkZWQgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3Igb3Igbm90IGZvdW5kLicvPgorICAgICAgPGFyZyBuYW1lPSd0YWJsZScgdHlwZT0neG1sSGFzaFRhYmxlUHRyJyBpbmZvPSd0aGUgaGFzaCB0YWJsZScvPgorICAgICAgPGFyZyBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBuYW1lIG9mIHRoZSB1c2VyZGF0YScvPgorICAgICAgPGFyZyBuYW1lPSdmJyB0eXBlPSd4bWxIYXNoRGVhbGxvY2F0b3InIGluZm89J3RoZSBkZWFsbG9jYXRvciBmdW5jdGlvbiBmb3IgcmVtb3ZlZCBpdGVtIChpZiBhbnkpJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sSGFzaFJlbW92ZUVudHJ5MicgZmlsZT0naGFzaCcgbW9kdWxlPSdoYXNoJz4KKyAgICAgIDxpbmZvPkZpbmQgdGhlIHVzZXJkYXRhIHNwZWNpZmllZCBieSB0aGUgKEBuYW1lLCBAbmFtZTIpIHR1cGxlIGFuZCByZW1vdmUgaXQgZnJvbSB0aGUgaGFzaCBAdGFibGUuIEV4aXN0aW5nIHVzZXJkYXRhIGZvciB0aGlzIHR1cGxlIHdpbGwgYmUgcmVtb3ZlZCBhbmQgZnJlZWQgd2l0aCBAZi48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMCBpZiB0aGUgcmVtb3ZhbCBzdWNjZWVkZWQgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3Igb3Igbm90IGZvdW5kLicvPgorICAgICAgPGFyZyBuYW1lPSd0YWJsZScgdHlwZT0neG1sSGFzaFRhYmxlUHRyJyBpbmZvPSd0aGUgaGFzaCB0YWJsZScvPgorICAgICAgPGFyZyBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBuYW1lIG9mIHRoZSB1c2VyZGF0YScvPgorICAgICAgPGFyZyBuYW1lPSduYW1lMicgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSdhIHNlY29uZCBuYW1lIG9mIHRoZSB1c2VyZGF0YScvPgorICAgICAgPGFyZyBuYW1lPSdmJyB0eXBlPSd4bWxIYXNoRGVhbGxvY2F0b3InIGluZm89J3RoZSBkZWFsbG9jYXRvciBmdW5jdGlvbiBmb3IgcmVtb3ZlZCBpdGVtIChpZiBhbnkpJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sSGFzaFJlbW92ZUVudHJ5MycgZmlsZT0naGFzaCcgbW9kdWxlPSdoYXNoJz4KKyAgICAgIDxpbmZvPkZpbmQgdGhlIHVzZXJkYXRhIHNwZWNpZmllZCBieSB0aGUgKEBuYW1lLCBAbmFtZTIsIEBuYW1lMykgdHVwbGUgYW5kIHJlbW92ZSBpdCBmcm9tIHRoZSBoYXNoIEB0YWJsZS4gRXhpc3RpbmcgdXNlcmRhdGEgZm9yIHRoaXMgdHVwbGUgd2lsbCBiZSByZW1vdmVkIGFuZCBmcmVlZCB3aXRoIEBmLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScwIGlmIHRoZSByZW1vdmFsIHN1Y2NlZWRlZCBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvciBvciBub3QgZm91bmQuJy8+CisgICAgICA8YXJnIG5hbWU9J3RhYmxlJyB0eXBlPSd4bWxIYXNoVGFibGVQdHInIGluZm89J3RoZSBoYXNoIHRhYmxlJy8+CisgICAgICA8YXJnIG5hbWU9J25hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIG5hbWUgb2YgdGhlIHVzZXJkYXRhJy8+CisgICAgICA8YXJnIG5hbWU9J25hbWUyJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J2Egc2Vjb25kIG5hbWUgb2YgdGhlIHVzZXJkYXRhJy8+CisgICAgICA8YXJnIG5hbWU9J25hbWUzJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J2EgdGhpcmQgbmFtZSBvZiB0aGUgdXNlcmRhdGEnLz4KKyAgICAgIDxhcmcgbmFtZT0nZicgdHlwZT0neG1sSGFzaERlYWxsb2NhdG9yJyBpbmZvPSd0aGUgZGVhbGxvY2F0b3IgZnVuY3Rpb24gZm9yIHJlbW92ZWQgaXRlbSAoaWYgYW55KScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEhhc2hTY2FuJyBmaWxlPSdoYXNoJyBtb2R1bGU9J2hhc2gnPgorICAgICAgPGluZm8+U2NhbiB0aGUgaGFzaCBAdGFibGUgYW5kIGFwcGxpZWQgQGYgdG8gZWFjaCB2YWx1ZS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0ndGFibGUnIHR5cGU9J3htbEhhc2hUYWJsZVB0cicgaW5mbz0ndGhlIGhhc2ggdGFibGUnLz4KKyAgICAgIDxhcmcgbmFtZT0nZicgdHlwZT0neG1sSGFzaFNjYW5uZXInIGluZm89J3RoZSBzY2FubmVyIGZ1bmN0aW9uIGZvciBpdGVtcyBpbiB0aGUgaGFzaCcvPgorICAgICAgPGFyZyBuYW1lPSdkYXRhJyB0eXBlPSd2b2lkIConIGluZm89J2V4dHJhIGRhdGEgcGFzc2VkIHRvIGYnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxIYXNoU2NhbjMnIGZpbGU9J2hhc2gnIG1vZHVsZT0naGFzaCc+CisgICAgICA8aW5mbz5TY2FuIHRoZSBoYXNoIEB0YWJsZSBhbmQgYXBwbGllZCBAZiB0byBlYWNoIHZhbHVlIG1hdGNoaW5nIChAbmFtZSwgQG5hbWUyLCBAbmFtZTMpIHR1cGxlLiBJZiBvbmUgb2YgdGhlIG5hbWVzIGlzIG51bGwsIHRoZSBjb21wYXJpc29uIGlzIGNvbnNpZGVyZWQgdG8gbWF0Y2guPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J3RhYmxlJyB0eXBlPSd4bWxIYXNoVGFibGVQdHInIGluZm89J3RoZSBoYXNoIHRhYmxlJy8+CisgICAgICA8YXJnIG5hbWU9J25hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIG5hbWUgb2YgdGhlIHVzZXJkYXRhIG9yIE5VTEwnLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFtZTInIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nYSBzZWNvbmQgbmFtZSBvZiB0aGUgdXNlcmRhdGEgb3IgTlVMTCcvPgorICAgICAgPGFyZyBuYW1lPSduYW1lMycgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSdhIHRoaXJkIG5hbWUgb2YgdGhlIHVzZXJkYXRhIG9yIE5VTEwnLz4KKyAgICAgIDxhcmcgbmFtZT0nZicgdHlwZT0neG1sSGFzaFNjYW5uZXInIGluZm89J3RoZSBzY2FubmVyIGZ1bmN0aW9uIGZvciBpdGVtcyBpbiB0aGUgaGFzaCcvPgorICAgICAgPGFyZyBuYW1lPSdkYXRhJyB0eXBlPSd2b2lkIConIGluZm89J2V4dHJhIGRhdGEgcGFzc2VkIHRvIGYnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxIYXNoU2NhbkZ1bGwnIGZpbGU9J2hhc2gnIG1vZHVsZT0naGFzaCc+CisgICAgICA8aW5mbz5TY2FuIHRoZSBoYXNoIEB0YWJsZSBhbmQgYXBwbGllZCBAZiB0byBlYWNoIHZhbHVlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSd0YWJsZScgdHlwZT0neG1sSGFzaFRhYmxlUHRyJyBpbmZvPSd0aGUgaGFzaCB0YWJsZScvPgorICAgICAgPGFyZyBuYW1lPSdmJyB0eXBlPSd4bWxIYXNoU2Nhbm5lckZ1bGwnIGluZm89J3RoZSBzY2FubmVyIGZ1bmN0aW9uIGZvciBpdGVtcyBpbiB0aGUgaGFzaCcvPgorICAgICAgPGFyZyBuYW1lPSdkYXRhJyB0eXBlPSd2b2lkIConIGluZm89J2V4dHJhIGRhdGEgcGFzc2VkIHRvIGYnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxIYXNoU2NhbkZ1bGwzJyBmaWxlPSdoYXNoJyBtb2R1bGU9J2hhc2gnPgorICAgICAgPGluZm8+U2NhbiB0aGUgaGFzaCBAdGFibGUgYW5kIGFwcGxpZWQgQGYgdG8gZWFjaCB2YWx1ZSBtYXRjaGluZyAoQG5hbWUsIEBuYW1lMiwgQG5hbWUzKSB0dXBsZS4gSWYgb25lIG9mIHRoZSBuYW1lcyBpcyBudWxsLCB0aGUgY29tcGFyaXNvbiBpcyBjb25zaWRlcmVkIHRvIG1hdGNoLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSd0YWJsZScgdHlwZT0neG1sSGFzaFRhYmxlUHRyJyBpbmZvPSd0aGUgaGFzaCB0YWJsZScvPgorICAgICAgPGFyZyBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBuYW1lIG9mIHRoZSB1c2VyZGF0YSBvciBOVUxMJy8+CisgICAgICA8YXJnIG5hbWU9J25hbWUyJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J2Egc2Vjb25kIG5hbWUgb2YgdGhlIHVzZXJkYXRhIG9yIE5VTEwnLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFtZTMnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nYSB0aGlyZCBuYW1lIG9mIHRoZSB1c2VyZGF0YSBvciBOVUxMJy8+CisgICAgICA8YXJnIG5hbWU9J2YnIHR5cGU9J3htbEhhc2hTY2FubmVyRnVsbCcgaW5mbz0ndGhlIHNjYW5uZXIgZnVuY3Rpb24gZm9yIGl0ZW1zIGluIHRoZSBoYXNoJy8+CisgICAgICA8YXJnIG5hbWU9J2RhdGEnIHR5cGU9J3ZvaWQgKicgaW5mbz0nZXh0cmEgZGF0YSBwYXNzZWQgdG8gZicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0eXBlIG5hbWU9J3htbEhhc2hTY2FubmVyJyBmaWxlPSdoYXNoJyBtb2R1bGU9J2hhc2gnPgorICAgICAgPGluZm8+Q2FsbGJhY2sgd2hlbiBzY2FubmluZyBkYXRhIGluIGEgaGFzaCB3aXRoIHRoZSBzaW1wbGUgc2Nhbm5lci48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0ncGF5bG9hZCcgdHlwZT0ndm9pZCAqJyBpbmZvPSd0aGUgZGF0YSBpbiB0aGUgaGFzaCcvPgorICAgICAgPGFyZyBuYW1lPSdkYXRhJyB0eXBlPSd2b2lkIConIGluZm89J2V4dHJhIHNjYW5ubmVyIGRhdGEnLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFtZScgdHlwZT0neG1sQ2hhciAqJyBpbmZvPSd0aGUgbmFtZSBhc3NvY2lhdGVkJy8+CisgICAgPC9mdW5jdHlwZT4KKyAgICA8ZnVuY3R5cGUgbmFtZT0neG1sSGFzaFNjYW5uZXJGdWxsJyBmaWxlPSdoYXNoJyBtb2R1bGU9J2hhc2gnPgorICAgICAgPGluZm8+Q2FsbGJhY2sgd2hlbiBzY2FubmluZyBkYXRhIGluIGEgaGFzaCB3aXRoIHRoZSBmdWxsIHNjYW5uZXIuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J3BheWxvYWQnIHR5cGU9J3ZvaWQgKicgaW5mbz0ndGhlIGRhdGEgaW4gdGhlIGhhc2gnLz4KKyAgICAgIDxhcmcgbmFtZT0nZGF0YScgdHlwZT0ndm9pZCAqJyBpbmZvPSdleHRyYSBzY2Fubm5lciBkYXRhJy8+CisgICAgICA8YXJnIG5hbWU9J25hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIG5hbWUgYXNzb2NpYXRlZCcvPgorICAgICAgPGFyZyBuYW1lPSduYW1lMicgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgc2Vjb25kIG5hbWUgYXNzb2NpYXRlZCcvPgorICAgICAgPGFyZyBuYW1lPSduYW1lMycgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgdGhpcmQgbmFtZSBhc3NvY2lhdGVkJy8+CisgICAgPC9mdW5jdHlwZT4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sSGFzaFNpemUnIGZpbGU9J2hhc2gnIG1vZHVsZT0naGFzaCc+CisgICAgICA8aW5mbz5RdWVyeSB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzIGluc3RhbGxlZCBpbiB0aGUgaGFzaCBAdGFibGUuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J3RoZSBudW1iZXIgb2YgZWxlbWVudHMgaW4gdGhlIGhhc2ggdGFibGUgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSd0YWJsZScgdHlwZT0neG1sSGFzaFRhYmxlUHRyJyBpbmZvPSd0aGUgaGFzaCB0YWJsZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEhhc2hVcGRhdGVFbnRyeScgZmlsZT0naGFzaCcgbW9kdWxlPSdoYXNoJz4KKyAgICAgIDxpbmZvPkFkZCB0aGUgQHVzZXJkYXRhIHRvIHRoZSBoYXNoIEB0YWJsZS4gVGhpcyBjYW4gbGF0ZXIgYmUgcmV0cmlldmVkIGJ5IHVzaW5nIHRoZSBAbmFtZS4gRXhpc3RpbmcgZW50cnkgZm9yIHRoaXMgQG5hbWUgd2lsbCBiZSByZW1vdmVkIGFuZCBmcmVlZCB3aXRoIEBmIGlmIGZvdW5kLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScwIHRoZSBhZGRpdGlvbiBzdWNjZWVkZWQgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3IuJy8+CisgICAgICA8YXJnIG5hbWU9J3RhYmxlJyB0eXBlPSd4bWxIYXNoVGFibGVQdHInIGluZm89J3RoZSBoYXNoIHRhYmxlJy8+CisgICAgICA8YXJnIG5hbWU9J25hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIG5hbWUgb2YgdGhlIHVzZXJkYXRhJy8+CisgICAgICA8YXJnIG5hbWU9J3VzZXJkYXRhJyB0eXBlPSd2b2lkIConIGluZm89J2EgcG9pbnRlciB0byB0aGUgdXNlcmRhdGEnLz4KKyAgICAgIDxhcmcgbmFtZT0nZicgdHlwZT0neG1sSGFzaERlYWxsb2NhdG9yJyBpbmZvPSd0aGUgZGVhbGxvY2F0b3IgZnVuY3Rpb24gZm9yIHJlcGxhY2VkIGl0ZW0gKGlmIGFueSknLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxIYXNoVXBkYXRlRW50cnkyJyBmaWxlPSdoYXNoJyBtb2R1bGU9J2hhc2gnPgorICAgICAgPGluZm8+QWRkIHRoZSBAdXNlcmRhdGEgdG8gdGhlIGhhc2ggQHRhYmxlLiBUaGlzIGNhbiBsYXRlciBiZSByZXRyaWV2ZWQgYnkgdXNpbmcgdGhlIChAbmFtZSwgQG5hbWUyKSB0dXBsZS4gRXhpc3RpbmcgZW50cnkgZm9yIHRoaXMgdHVwbGUgd2lsbCBiZSByZW1vdmVkIGFuZCBmcmVlZCB3aXRoIEBmIGlmIGZvdW5kLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScwIHRoZSBhZGRpdGlvbiBzdWNjZWVkZWQgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3IuJy8+CisgICAgICA8YXJnIG5hbWU9J3RhYmxlJyB0eXBlPSd4bWxIYXNoVGFibGVQdHInIGluZm89J3RoZSBoYXNoIHRhYmxlJy8+CisgICAgICA8YXJnIG5hbWU9J25hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIG5hbWUgb2YgdGhlIHVzZXJkYXRhJy8+CisgICAgICA8YXJnIG5hbWU9J25hbWUyJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J2Egc2Vjb25kIG5hbWUgb2YgdGhlIHVzZXJkYXRhJy8+CisgICAgICA8YXJnIG5hbWU9J3VzZXJkYXRhJyB0eXBlPSd2b2lkIConIGluZm89J2EgcG9pbnRlciB0byB0aGUgdXNlcmRhdGEnLz4KKyAgICAgIDxhcmcgbmFtZT0nZicgdHlwZT0neG1sSGFzaERlYWxsb2NhdG9yJyBpbmZvPSd0aGUgZGVhbGxvY2F0b3IgZnVuY3Rpb24gZm9yIHJlcGxhY2VkIGl0ZW0gKGlmIGFueSknLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxIYXNoVXBkYXRlRW50cnkzJyBmaWxlPSdoYXNoJyBtb2R1bGU9J2hhc2gnPgorICAgICAgPGluZm8+QWRkIHRoZSBAdXNlcmRhdGEgdG8gdGhlIGhhc2ggQHRhYmxlLiBUaGlzIGNhbiBsYXRlciBiZSByZXRyaWV2ZWQgYnkgdXNpbmcgdGhlIHR1cGxlIChAbmFtZSwgQG5hbWUyLCBAbmFtZTMpLiBFeGlzdGluZyBlbnRyeSBmb3IgdGhpcyB0dXBsZSB3aWxsIGJlIHJlbW92ZWQgYW5kIGZyZWVkIHdpdGggQGYgaWYgZm91bmQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzAgdGhlIGFkZGl0aW9uIHN1Y2NlZWRlZCBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvci4nLz4KKyAgICAgIDxhcmcgbmFtZT0ndGFibGUnIHR5cGU9J3htbEhhc2hUYWJsZVB0cicgaW5mbz0ndGhlIGhhc2ggdGFibGUnLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFtZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgbmFtZSBvZiB0aGUgdXNlcmRhdGEnLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFtZTInIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nYSBzZWNvbmQgbmFtZSBvZiB0aGUgdXNlcmRhdGEnLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFtZTMnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nYSB0aGlyZCBuYW1lIG9mIHRoZSB1c2VyZGF0YScvPgorICAgICAgPGFyZyBuYW1lPSd1c2VyZGF0YScgdHlwZT0ndm9pZCAqJyBpbmZvPSdhIHBvaW50ZXIgdG8gdGhlIHVzZXJkYXRhJy8+CisgICAgICA8YXJnIG5hbWU9J2YnIHR5cGU9J3htbEhhc2hEZWFsbG9jYXRvcicgaW5mbz0ndGhlIGRlYWxsb2NhdG9yIGZ1bmN0aW9uIGZvciByZXBsYWNlZCBpdGVtIChpZiBhbnkpJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sSU9GVFBDbG9zZScgZmlsZT0neG1sSU8nIG1vZHVsZT0neG1sSU8nPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfRlRQX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2xvc2UgYW4gRlRQIEkvTyBjaGFubmVsPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzAnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29udGV4dCcgdHlwZT0ndm9pZCAqJyBpbmZvPSd0aGUgSS9PIGNvbnRleHQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxJT0ZUUE1hdGNoJyBmaWxlPSd4bWxJTycgbW9kdWxlPSd4bWxJTyc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9GVFBfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5jaGVjayBpZiB0aGUgVVJJIG1hdGNoZXMgYW4gRlRQIG9uZTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIG1hdGNoZXMsIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2ZpbGVuYW1lJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBVUkkgZm9yIG1hdGNoaW5nJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sSU9GVFBPcGVuJyBmaWxlPSd4bWxJTycgbW9kdWxlPSd4bWxJTyc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9GVFBfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5vcGVuIGFuIEZUUCBJL08gY2hhbm5lbDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCAqJyBpbmZvPSdhbiBJL08gY29udGV4dCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0nZmlsZW5hbWUnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIFVSSSBmb3IgbWF0Y2hpbmcnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxJT0ZUUFJlYWQnIGZpbGU9J3htbElPJyBtb2R1bGU9J3htbElPJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0ZUUF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlJlYWQgQGxlbiBieXRlcyB0byBAYnVmZmVyIGZyb20gdGhlIEkvTyBjaGFubmVsLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgbnVtYmVyIG9mIGJ5dGVzIHdyaXR0ZW4nLz4KKyAgICAgIDxhcmcgbmFtZT0nY29udGV4dCcgdHlwZT0ndm9pZCAqJyBpbmZvPSd0aGUgSS9PIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nYnVmZmVyJyB0eXBlPSdjaGFyIConIGluZm89J3doZXJlIHRvIGRyb3AgZGF0YScvPgorICAgICAgPGFyZyBuYW1lPSdsZW4nIHR5cGU9J2ludCcgaW5mbz0nbnVtYmVyIG9mIGJ5dGVzIHRvIHdyaXRlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sSU9IVFRQQ2xvc2UnIGZpbGU9J3htbElPJyBtb2R1bGU9J3htbElPJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0hUVFBfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DbG9zZSBhbiBIVFRQIEkvTyBjaGFubmVsPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzAnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29udGV4dCcgdHlwZT0ndm9pZCAqJyBpbmZvPSd0aGUgSS9PIGNvbnRleHQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxJT0hUVFBNYXRjaCcgZmlsZT0neG1sSU8nIG1vZHVsZT0neG1sSU8nPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfSFRUUF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPmNoZWNrIGlmIHRoZSBVUkkgbWF0Y2hlcyBhbiBIVFRQIG9uZTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIG1hdGNoZXMsIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2ZpbGVuYW1lJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBVUkkgZm9yIG1hdGNoaW5nJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sSU9IVFRQT3BlbicgZmlsZT0neG1sSU8nIG1vZHVsZT0neG1sSU8nPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfSFRUUF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPm9wZW4gYW4gSFRUUCBJL08gY2hhbm5lbDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCAqJyBpbmZvPSdhbiBJL08gY29udGV4dCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0nZmlsZW5hbWUnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIFVSSSBmb3IgbWF0Y2hpbmcnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxJT0hUVFBPcGVuVycgZmlsZT0neG1sSU8nIG1vZHVsZT0neG1sSU8nPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfSFRUUF9FTkFCTEVEKSAmYW1wOyZhbXA7IGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPk9wZW4gYSB0ZW1wb3JhcnkgYnVmZmVyIHRvIGNvbGxlY3QgdGhlIGRvY3VtZW50IGZvciBhIHN1YnNlcXVlbnQgSFRUUCBQT1NUIHJlcXVlc3QuICBOb24tc3RhdGljIGFzIGlzIGNhbGxlZCBmcm9tIHRoZSBvdXRwdXQgYnVmZmVyIGNyZWF0aW9uIHJvdXRpbmUuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkIConIGluZm89J2FuIEkvTyBjb250ZXh0IG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci4nLz4KKyAgICAgIDxhcmcgbmFtZT0ncG9zdF91cmknIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0nVGhlIGRlc3RpbmF0aW9uIFVSSSBmb3IgdGhlIGRvY3VtZW50Jy8+CisgICAgICA8YXJnIG5hbWU9J2NvbXByZXNzaW9uJyB0eXBlPSdpbnQnIGluZm89J1RoZSBjb21wcmVzc2lvbiBkZXNpcmVkIGZvciB0aGUgZG9jdW1lbnQuJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sSU9IVFRQUmVhZCcgZmlsZT0neG1sSU8nIG1vZHVsZT0neG1sSU8nPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfSFRUUF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlJlYWQgQGxlbiBieXRlcyB0byBAYnVmZmVyIGZyb20gdGhlIEkvTyBjaGFubmVsLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgbnVtYmVyIG9mIGJ5dGVzIHdyaXR0ZW4nLz4KKyAgICAgIDxhcmcgbmFtZT0nY29udGV4dCcgdHlwZT0ndm9pZCAqJyBpbmZvPSd0aGUgSS9PIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nYnVmZmVyJyB0eXBlPSdjaGFyIConIGluZm89J3doZXJlIHRvIGRyb3AgZGF0YScvPgorICAgICAgPGFyZyBuYW1lPSdsZW4nIHR5cGU9J2ludCcgaW5mbz0nbnVtYmVyIG9mIGJ5dGVzIHRvIHdyaXRlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sSU9QYXJzZURURCcgZmlsZT0ncGFyc2VyJyBtb2R1bGU9J3BhcnNlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9WQUxJRF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkxvYWQgYW5kIHBhcnNlIGEgRFREPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxEdGRQdHInIGluZm89J3RoZSByZXN1bHRpbmcgeG1sRHRkUHRyIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci4gQGlucHV0IHdpbGwgYmUgZnJlZWQgYnkgdGhlIGZ1bmN0aW9uIGluIGFueSBjYXNlLicvPgorICAgICAgPGFyZyBuYW1lPSdzYXgnIHR5cGU9J3htbFNBWEhhbmRsZXJQdHInIGluZm89J3RoZSBTQVggaGFuZGxlciBibG9jayBvciBOVUxMJy8+CisgICAgICA8YXJnIG5hbWU9J2lucHV0JyB0eXBlPSd4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cicgaW5mbz0nYW4gSW5wdXQgQnVmZmVyJy8+CisgICAgICA8YXJnIG5hbWU9J2VuYycgdHlwZT0neG1sQ2hhckVuY29kaW5nJyBpbmZvPSd0aGUgY2hhcnNldCBlbmNvZGluZyBpZiBrbm93bicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEluaXRDaGFyRW5jb2RpbmdIYW5kbGVycycgZmlsZT0nZW5jb2RpbmcnIG1vZHVsZT0nZW5jb2RpbmcnPgorICAgICAgPGluZm8+SW5pdGlhbGl6ZSB0aGUgY2hhciBlbmNvZGluZyBzdXBwb3J0LCBpdCByZWdpc3RlcnMgdGhlIGRlZmF1bHQgZW5jb2Rpbmcgc3VwcG9ydGVkLiBOT1RFOiB3aGlsZSBwdWJsaWMsIHRoaXMgZnVuY3Rpb24gdXN1YWxseSBkb2VzbiZhcG9zO3QgbmVlZCB0byBiZSBjYWxsZWQgaW4gbm9ybWFsIHByb2Nlc3NpbmcuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sSW5pdEdsb2JhbHMnIGZpbGU9J2dsb2JhbHMnIG1vZHVsZT0nZ2xvYmFscyc+CisgICAgICA8aW5mbz5BZGRpdGlvbmFsIGluaXRpYWxpc2F0aW9uIGZvciBtdWx0aS10aHJlYWRpbmc8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxJbml0TWVtb3J5JyBmaWxlPSd4bWxtZW1vcnknIG1vZHVsZT0neG1sbWVtb3J5Jz4KKyAgICAgIDxpbmZvPkluaXRpYWxpemUgdGhlIG1lbW9yeSBsYXllci48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMCBvbiBzdWNjZXNzJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sSW5pdE5vZGVJbmZvU2VxJyBmaWxlPSdwYXJzZXInIG1vZHVsZT0ncGFyc2VySW50ZXJuYWxzJz4KKyAgICAgIDxpbmZvPi0tIEluaXRpYWxpemUgKHNldCB0byBpbml0aWFsIHN0YXRlKSBub2RlIGluZm8gc2VxdWVuY2U8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nc2VxJyB0eXBlPSd4bWxQYXJzZXJOb2RlSW5mb1NlcVB0cicgaW5mbz0nYSBub2RlIGluZm8gc2VxdWVuY2UgcG9pbnRlcicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEluaXRQYXJzZXInIGZpbGU9J3BhcnNlcicgbW9kdWxlPSdwYXJzZXInPgorICAgICAgPGluZm8+SW5pdGlhbGl6YXRpb24gZnVuY3Rpb24gZm9yIHRoZSBYTUwgcGFyc2VyLiBUaGlzIGlzIG5vdCByZWVudHJhbnQuIENhbGwgb25jZSBiZWZvcmUgcHJvY2Vzc2luZyBpbiBjYXNlIG9mIHVzZSBpbiBtdWx0aXRocmVhZGVkIHByb2dyYW1zLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEluaXRQYXJzZXJDdHh0JyBmaWxlPSdwYXJzZXInIG1vZHVsZT0ncGFyc2VySW50ZXJuYWxzJz4KKyAgICAgIDxpbmZvPkluaXRpYWxpemUgYSBwYXJzZXIgY29udGV4dDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScwIGluIGNhc2Ugb2Ygc3VjY2VzcyBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxQYXJzZXJDdHh0UHRyJyBpbmZvPSdhbiBYTUwgcGFyc2VyIGNvbnRleHQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxJbml0VGhyZWFkcycgZmlsZT0ndGhyZWFkcycgbW9kdWxlPSd0aHJlYWRzJz4KKyAgICAgIDxpbmZvPnhtbEluaXRUaHJlYWRzKCkgaXMgdXNlZCB0byB0byBpbml0aWFsaXplIGFsbCB0aGUgdGhyZWFkIHJlbGF0ZWQgZGF0YSBvZiB0aGUgbGlieG1sMiBsaWJyYXJ5LjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEluaXRpYWxpemVDYXRhbG9nJyBmaWxlPSdjYXRhbG9nJyBtb2R1bGU9J2NhdGFsb2cnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfQ0FUQUxPR19FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkRvIHRoZSBjYXRhbG9nIGluaXRpYWxpemF0aW9uLiB0aGlzIGZ1bmN0aW9uIGlzIG5vdCB0aHJlYWQgc2FmZSwgY2F0YWxvZyBpbml0aWFsaXphdGlvbiBzaG91bGQgcHJlZmVyYWJseSBiZSBkb25lIG9uY2UgYXQgc3RhcnR1cDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEluaXRpYWxpemVEaWN0JyBmaWxlPSdkaWN0JyBtb2R1bGU9J2RpY3QnPgorICAgICAgPGluZm8+RG8gdGhlIGRpY3Rpb25hcnkgbXV0ZXggaW5pdGlhbGl6YXRpb24uIHRoaXMgZnVuY3Rpb24gaXMgZGVwcmVjYXRlZDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScwIGlmIGluaXRpYWxpemF0aW9uIHdhcyBhbHJlYWR5IGRvbmUsIGFuZCAxIGlmIHRoYXQgY2FsbCBsZWQgdG8gdGhlIGluaXRpYWxpemF0aW9uJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sSW5pdGlhbGl6ZUdsb2JhbFN0YXRlJyBmaWxlPSdnbG9iYWxzJyBtb2R1bGU9J2dsb2JhbHMnPgorICAgICAgPGluZm8+eG1sSW5pdGlhbGl6ZUdsb2JhbFN0YXRlKCkgaW5pdGlhbGl6ZSBhIGdsb2JhbCBzdGF0ZSB3aXRoIGFsbCB0aGUgZGVmYXVsdCB2YWx1ZXMgb2YgdGhlIGxpYnJhcnkuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2dzJyB0eXBlPSd4bWxHbG9iYWxTdGF0ZVB0cicgaW5mbz0nYSBwb2ludGVyIHRvIGEgbmV3bHkgYWxsb2NhdGVkIGdsb2JhbCBzdGF0ZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEluaXRpYWxpemVQcmVkZWZpbmVkRW50aXRpZXMnIGZpbGU9J2VudGl0aWVzJyBtb2R1bGU9J2xlZ2FjeSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9MRUdBQ1lfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5TZXQgdXAgdGhlIHByZWRlZmluZWQgZW50aXRpZXMuIERlcHJlY2F0ZWQgY2FsbDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0eXBlIG5hbWU9J3htbElucHV0Q2xvc2VDYWxsYmFjaycgZmlsZT0neG1sSU8nIG1vZHVsZT0neG1sSU8nPgorICAgICAgPGluZm8+Q2FsbGJhY2sgdXNlZCBpbiB0aGUgSS9PIElucHV0IEFQSSB0byBjbG9zZSB0aGUgcmVzb3VyY2U8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMCBvciAtMSBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J2NvbnRleHQnIHR5cGU9J3ZvaWQgKicgaW5mbz0nYW4gSW5wdXQgY29udGV4dCcvPgorICAgIDwvZnVuY3R5cGU+CisgICAgPGZ1bmN0eXBlIG5hbWU9J3htbElucHV0TWF0Y2hDYWxsYmFjaycgZmlsZT0neG1sSU8nIG1vZHVsZT0neG1sSU8nPgorICAgICAgPGluZm8+Q2FsbGJhY2sgdXNlZCBpbiB0aGUgSS9PIElucHV0IEFQSSB0byBkZXRlY3QgaWYgdGhlIGN1cnJlbnQgaGFuZGxlciBjYW4gcHJvdmlkZSBpbnB1dCBmb25jdGlvbm5hbGl0aWVzIGZvciB0aGlzIHJlc291cmNlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHllcyBhbmQgMCBpZiBhbm90aGVyIElucHV0IG1vZHVsZSBzaG91bGQgYmUgdXNlZCcvPgorICAgICAgPGFyZyBuYW1lPSdmaWxlbmFtZScgdHlwZT0nY2hhciBjb25zdCAqJyBpbmZvPSd0aGUgZmlsZW5hbWUgb3IgVVJJJy8+CisgICAgPC9mdW5jdHlwZT4KKyAgICA8ZnVuY3R5cGUgbmFtZT0neG1sSW5wdXRPcGVuQ2FsbGJhY2snIGZpbGU9J3htbElPJyBtb2R1bGU9J3htbElPJz4KKyAgICAgIDxpbmZvPkNhbGxiYWNrIHVzZWQgaW4gdGhlIEkvTyBJbnB1dCBBUEkgdG8gb3BlbiB0aGUgcmVzb3VyY2U8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQgKicgaW5mbz0nYW4gSW5wdXQgY29udGV4dCBvciBOVUxMIGluIGNhc2Ugb3IgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0nZmlsZW5hbWUnIHR5cGU9J2NoYXIgY29uc3QgKicgaW5mbz0ndGhlIGZpbGVuYW1lIG9yIFVSSScvPgorICAgIDwvZnVuY3R5cGU+CisgICAgPGZ1bmN0eXBlIG5hbWU9J3htbElucHV0UmVhZENhbGxiYWNrJyBmaWxlPSd4bWxJTycgbW9kdWxlPSd4bWxJTyc+CisgICAgICA8aW5mbz5DYWxsYmFjayB1c2VkIGluIHRoZSBJL08gSW5wdXQgQVBJIHRvIHJlYWQgdGhlIHJlc291cmNlPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J3RoZSBudW1iZXIgb2YgYnl0ZXMgcmVhZCBvciAtMSBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J2NvbnRleHQnIHR5cGU9J3ZvaWQgKicgaW5mbz0nYW4gSW5wdXQgY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdidWZmZXInIHR5cGU9J2NoYXIgKicgaW5mbz0ndGhlIGJ1ZmZlciB0byBzdG9yZSBkYXRhIHJlYWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbGVuJyB0eXBlPSdpbnQnIGluZm89J3RoZSBsZW5ndGggb2YgdGhlIGJ1ZmZlciBpbiBieXRlcycvPgorICAgIDwvZnVuY3R5cGU+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbElzQmFzZUNoYXInIGZpbGU9J2NodmFsaWQnIG1vZHVsZT0nY2h2YWxpZCc+CisgICAgICA8aW5mbz5UaGlzIGZ1bmN0aW9uIGlzIERFUFJFQ0FURUQuIFVzZSB4bWxJc0Jhc2VDaGFyX2NoIG9yIHhtbElzQmFzZUNoYXJRIGluc3RlYWQ8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndHJ1ZSBpZiBhcmd1bWVudCB2YWxpZCwgZmFsc2Ugb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2NoJyB0eXBlPSd1bnNpZ25lZCBpbnQnIGluZm89J2NoYXJhY3RlciB0byB2YWxpZGF0ZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbElzQmxhbmsnIGZpbGU9J2NodmFsaWQnIG1vZHVsZT0nY2h2YWxpZCc+CisgICAgICA8aW5mbz5UaGlzIGZ1bmN0aW9uIGlzIERFUFJFQ0FURUQuIFVzZSB4bWxJc0JsYW5rX2NoIG9yIHhtbElzQmxhbmtRIGluc3RlYWQ8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndHJ1ZSBpZiBhcmd1bWVudCB2YWxpZCwgZmFsc2Ugb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2NoJyB0eXBlPSd1bnNpZ25lZCBpbnQnIGluZm89J2NoYXJhY3RlciB0byB2YWxpZGF0ZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbElzQmxhbmtOb2RlJyBmaWxlPSd0cmVlJyBtb2R1bGU9J3RyZWUnPgorICAgICAgPGluZm8+Q2hlY2tzIHdoZXRoZXIgdGhpcyBub2RlIGlzIGFuIGVtcHR5IG9yIHdoaXRlc3BhY2Ugb25seSAoYW5kIHBvc3NpYmx5IGlnbm9yYWJsZSkgdGV4dC1ub2RlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIHllcywgMCBubycvPgorICAgICAgPGFyZyBuYW1lPSdub2RlJyB0eXBlPSdjb25zdCB4bWxOb2RlIConIGluZm89J3RoZSBub2RlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sSXNDaGFyJyBmaWxlPSdjaHZhbGlkJyBtb2R1bGU9J2NodmFsaWQnPgorICAgICAgPGluZm8+VGhpcyBmdW5jdGlvbiBpcyBERVBSRUNBVEVELiBVc2UgeG1sSXNDaGFyX2NoIG9yIHhtbElzQ2hhclEgaW5zdGVhZDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0cnVlIGlmIGFyZ3VtZW50IHZhbGlkLCBmYWxzZSBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY2gnIHR5cGU9J3Vuc2lnbmVkIGludCcgaW5mbz0nY2hhcmFjdGVyIHRvIHZhbGlkYXRlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sSXNDb21iaW5pbmcnIGZpbGU9J2NodmFsaWQnIG1vZHVsZT0nY2h2YWxpZCc+CisgICAgICA8aW5mbz5UaGlzIGZ1bmN0aW9uIGlzIERFUFJFQ0FURUQuIFVzZSB4bWxJc0NvbWJpbmluZ1EgaW5zdGVhZDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0cnVlIGlmIGFyZ3VtZW50IHZhbGlkLCBmYWxzZSBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY2gnIHR5cGU9J3Vuc2lnbmVkIGludCcgaW5mbz0nY2hhcmFjdGVyIHRvIHZhbGlkYXRlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sSXNEaWdpdCcgZmlsZT0nY2h2YWxpZCcgbW9kdWxlPSdjaHZhbGlkJz4KKyAgICAgIDxpbmZvPlRoaXMgZnVuY3Rpb24gaXMgREVQUkVDQVRFRC4gVXNlIHhtbElzRGlnaXRfY2ggb3IgeG1sSXNEaWdpdFEgaW5zdGVhZDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0cnVlIGlmIGFyZ3VtZW50IHZhbGlkLCBmYWxzZSBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY2gnIHR5cGU9J3Vuc2lnbmVkIGludCcgaW5mbz0nY2hhcmFjdGVyIHRvIHZhbGlkYXRlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sSXNFeHRlbmRlcicgZmlsZT0nY2h2YWxpZCcgbW9kdWxlPSdjaHZhbGlkJz4KKyAgICAgIDxpbmZvPlRoaXMgZnVuY3Rpb24gaXMgREVQUkVDQVRFRC4gVXNlIHhtbElzRXh0ZW5kZXJfY2ggb3IgeG1sSXNFeHRlbmRlclEgaW5zdGVhZDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0cnVlIGlmIGFyZ3VtZW50IHZhbGlkLCBmYWxzZSBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY2gnIHR5cGU9J3Vuc2lnbmVkIGludCcgaW5mbz0nY2hhcmFjdGVyIHRvIHZhbGlkYXRlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sSXNJRCcgZmlsZT0ndmFsaWQnIG1vZHVsZT0ndmFsaWQnPgorICAgICAgPGluZm8+RGV0ZXJtaW5lIHdoZXRoZXIgYW4gYXR0cmlidXRlIGlzIG9mIHR5cGUgSUQuIEluIGNhc2Ugd2UgaGF2ZSBEVEQocykgdGhlbiB0aGlzIGlzIGRvbmUgaWYgRFREIGxvYWRpbmcgaGFzIGJlZW4gcmVxdWVzdGVkLiBJbiB0aGUgY2FzZSBvZiBIVE1MIGRvY3VtZW50cyBwYXJzZWQgd2l0aCB0aGUgSFRNTCBwYXJzZXIsIHRoZW4gSUQgZGV0ZWN0aW9uIGlzIGRvbmUgc3lzdGVtYXRpY2FsbHkuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzAgb3IgMSBkZXBlbmRpbmcgb24gdGhlIGxvb2t1cCByZXN1bHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZG9jJyB0eXBlPSd4bWxEb2NQdHInIGluZm89J3RoZSBkb2N1bWVudCcvPgorICAgICAgPGFyZyBuYW1lPSdlbGVtJyB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSd0aGUgZWxlbWVudCBjYXJyeWluZyB0aGUgYXR0cmlidXRlJy8+CisgICAgICA8YXJnIG5hbWU9J2F0dHInIHR5cGU9J3htbEF0dHJQdHInIGluZm89J3RoZSBhdHRyaWJ1dGUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxJc0lkZW9ncmFwaGljJyBmaWxlPSdjaHZhbGlkJyBtb2R1bGU9J2NodmFsaWQnPgorICAgICAgPGluZm8+VGhpcyBmdW5jdGlvbiBpcyBERVBSRUNBVEVELiBVc2UgeG1sSXNJZGVvZ3JhcGhpY1EgaW5zdGVhZDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0cnVlIGlmIGFyZ3VtZW50IHZhbGlkLCBmYWxzZSBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY2gnIHR5cGU9J3Vuc2lnbmVkIGludCcgaW5mbz0nY2hhcmFjdGVyIHRvIHZhbGlkYXRlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sSXNMZXR0ZXInIGZpbGU9J3BhcnNlckludGVybmFscycgbW9kdWxlPSdwYXJzZXJJbnRlcm5hbHMnPgorICAgICAgPGluZm8+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIGFsbG93ZWQgYnkgdGhlIHByb2R1Y3Rpb24gWzg0XSBMZXR0ZXIgOjo9IEJhc2VDaGFyIHwgSWRlb2dyYXBoaWM8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMCBpZiBub3QsIG5vbi16ZXJvIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdjJyB0eXBlPSdpbnQnIGluZm89J2FuIHVuaWNvZGUgY2hhcmFjdGVyIChpbnQpJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sSXNNYWluVGhyZWFkJyBmaWxlPSd0aHJlYWRzJyBtb2R1bGU9J3RocmVhZHMnPgorICAgICAgPGluZm8+eG1sSXNNYWluVGhyZWFkKCkgY2hlY2sgd2hldGhlciB0aGUgY3VycmVudCB0aHJlYWQgaXMgdGhlIG1haW4gdGhyZWFkLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRoZSBjdXJyZW50IHRocmVhZCBpcyB0aGUgbWFpbiB0aHJlYWQsIDAgb3RoZXJ3aXNlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sSXNNaXhlZEVsZW1lbnQnIGZpbGU9J3ZhbGlkJyBtb2R1bGU9J3ZhbGlkJz4KKyAgICAgIDxpbmZvPlNlYXJjaCBpbiB0aGUgRHREcyB3aGV0aGVyIGFuIGVsZW1lbnQgYWNjZXB0IE1peGVkIGNvbnRlbnQgKG9yIEFOWSkgYmFzaWNhbGx5IGlmIGl0IGlzIHN1cHBvc2VkIHRvIGFjY2VwdCB0ZXh0IGNoaWxkczwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScwIGlmIG5vLCAxIGlmIHllcywgYW5kIC0xIGlmIG5vIGVsZW1lbnQgZGVzY3JpcHRpb24gaXMgYXZhaWxhYmxlJy8+CisgICAgICA8YXJnIG5hbWU9J2RvYycgdHlwZT0neG1sRG9jUHRyJyBpbmZvPSd0aGUgZG9jdW1lbnQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFtZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgZWxlbWVudCBuYW1lJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sSXNQdWJpZENoYXInIGZpbGU9J2NodmFsaWQnIG1vZHVsZT0nY2h2YWxpZCc+CisgICAgICA8aW5mbz5UaGlzIGZ1bmN0aW9uIGlzIERFUFJFQ0FURUQuIFVzZSB4bWxJc1B1YmlkQ2hhcl9jaCBvciB4bWxJc1B1YmlkQ2hhclEgaW5zdGVhZDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0cnVlIGlmIGFyZ3VtZW50IHZhbGlkLCBmYWxzZSBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY2gnIHR5cGU9J3Vuc2lnbmVkIGludCcgaW5mbz0nY2hhcmFjdGVyIHRvIHZhbGlkYXRlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sSXNSZWYnIGZpbGU9J3ZhbGlkJyBtb2R1bGU9J3ZhbGlkJz4KKyAgICAgIDxpbmZvPkRldGVybWluZSB3aGV0aGVyIGFuIGF0dHJpYnV0ZSBpcyBvZiB0eXBlIFJlZi4gSW4gY2FzZSB3ZSBoYXZlIERURChzKSB0aGVuIHRoaXMgaXMgc2ltcGxlLCBvdGhlcndpc2Ugd2UgdXNlIGFuIGhldXJpc3RpYzogbmFtZSBSZWYgKHVwcGVyIG9yIGxvd2VyY2FzZSkuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzAgb3IgMSBkZXBlbmRpbmcgb24gdGhlIGxvb2t1cCByZXN1bHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZG9jJyB0eXBlPSd4bWxEb2NQdHInIGluZm89J3RoZSBkb2N1bWVudCcvPgorICAgICAgPGFyZyBuYW1lPSdlbGVtJyB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSd0aGUgZWxlbWVudCBjYXJyeWluZyB0aGUgYXR0cmlidXRlJy8+CisgICAgICA8YXJnIG5hbWU9J2F0dHInIHR5cGU9J3htbEF0dHJQdHInIGluZm89J3RoZSBhdHRyaWJ1dGUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxJc1hIVE1MJyBmaWxlPSd0cmVlJyBtb2R1bGU9J3htbHNhdmUnPgorICAgICAgPGluZm8+VHJ5IHRvIGZpbmQgaWYgdGhlIGRvY3VtZW50IGNvcnJlc3BvbmQgdG8gYW4gWEhUTUwgRFREPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgdHJ1ZSwgMCBpZiBub3QgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0nc3lzdGVtSUQnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIHN5c3RlbSBpZGVudGlmaWVyJy8+CisgICAgICA8YXJnIG5hbWU9J3B1YmxpY0lEJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBwdWJsaWMgaWRlbnRpZmllcicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEtlZXBCbGFua3NEZWZhdWx0JyBmaWxlPSdwYXJzZXInIG1vZHVsZT0ncGFyc2VySW50ZXJuYWxzJz4KKyAgICAgIDxpbmZvPlNldCBhbmQgcmV0dXJuIHRoZSBwcmV2aW91cyB2YWx1ZSBmb3IgZGVmYXVsdCBibGFua3MgdGV4dCBub2RlcyBzdXBwb3J0LiBUaGUgMS54IHZlcnNpb24gb2YgdGhlIHBhcnNlciB1c2VkIGFuIGhldXJpc3RpYyB0byB0cnkgdG8gZGV0ZWN0IGlnbm9yYWJsZSB3aGl0ZSBzcGFjZXMuIEFzIGEgcmVzdWx0IHRoZSBTQVggY2FsbGJhY2sgd2FzIGdlbmVyYXRpbmcgeG1sU0FYMklnbm9yYWJsZVdoaXRlc3BhY2UoKSBjYWxsYmFja3MgaW5zdGVhZCBvZiBjaGFyYWN0ZXJzKCkgb25lLCBhbmQgd2hlbiB1c2luZyB0aGUgRE9NIG91dHB1dCB0ZXh0IG5vZGVzIGNvbnRhaW5pbmcgdGhvc2UgYmxhbmtzIHdlcmUgbm90IGdlbmVyYXRlZC4gVGhlIDIueCBhbmQgbGF0ZXIgdmVyc2lvbiB3aWxsIHN3aXRjaCB0byB0aGUgWE1MIHN0YW5kYXJkIHdheSBhbmQgaWdub3JhYmxlV2hpdGVzcGFjZSgpIGFyZSBvbmx5IGdlbmVyYXRlZCB3aGVuIHJ1bm5pbmcgdGhlIHBhcnNlciBpbiB2YWxpZGF0aW5nIG1vZGUgYW5kIHdoZW4gdGhlIGN1cnJlbnQgZWxlbWVudCBkb2VzbiZhcG9zO3QgYWxsb3cgQ0RBVEEgb3IgbWl4ZWQgY29udGVudC4gVGhpcyBmdW5jdGlvbiBpcyBwcm92aWRlZCBhcyBhIHdheSB0byBmb3JjZSB0aGUgc3RhbmRhcmQgYmVoYXZpb3Igb24gMS5YIGxpYnMgYW5kIHRvIHN3aXRjaCBiYWNrIHRvIHRoZSBvbGQgbW9kZSBmb3IgY29tcGF0aWJpbGl0eSB3aGVuIHJ1bm5pbmcgMS5YIGNsaWVudCBjb2RlIG9uIDIuWCAuIFVwZ3JhZGUgb2YgMS5YIGNvZGUgc2hvdWxkIGJlIGRvbmUgYnkgdXNpbmcgeG1sSXNCbGFua05vZGUoKSBjb21tb2RpdHkgZnVuY3Rpb24gdG8gZGV0ZWN0IHRoZSAmcXVvdDtlbXB0eSZxdW90OyBub2RlcyBnZW5lcmF0ZWQuIFRoaXMgdmFsdWUgYWxzbyBhZmZlY3QgYXV0b2dlbmVyYXRpb24gb2YgaW5kZW50YXRpb24gd2hlbiBzYXZpbmcgY29kZSBpZiBibGFua3Mgc2VjdGlvbnMgYXJlIGtlcHQsIGluZGVudGF0aW9uIGlzIG5vdCBnZW5lcmF0ZWQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J3RoZSBsYXN0IHZhbHVlIGZvciAwIGZvciBubyBzdWJzdGl0dXRpb24sIDEgZm9yIHN1YnN0aXR1dGlvbi4nLz4KKyAgICAgIDxhcmcgbmFtZT0ndmFsJyB0eXBlPSdpbnQnIGluZm89J2ludCAwIG9yIDEnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxMYXN0RWxlbWVudENoaWxkJyBmaWxlPSd0cmVlJyBtb2R1bGU9J3RyZWUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfVFJFRV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkZpbmRzIHRoZSBsYXN0IGNoaWxkIG5vZGUgb2YgdGhhdCBlbGVtZW50IHdoaWNoIGlzIGEgRWxlbWVudCBub2RlIE5vdGUgdGhlIGhhbmRsaW5nIG9mIGVudGl0aWVzIHJlZmVyZW5jZXMgaXMgZGlmZmVyZW50IHRoYW4gaW4gdGhlIFczQyBET00gZWxlbWVudCB0cmF2ZXJzYWwgc3BlYyBzaW5jZSB3ZSBkb24mYXBvczt0IGhhdmUgYmFjayByZWZlcmVuY2UgZnJvbSBlbnRpdGllcyBjb250ZW50IHRvIGVudGl0aWVzIHJlZmVyZW5jZXMuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSd0aGUgbGFzdCBlbGVtZW50IGNoaWxkIG9yIE5VTEwgaWYgbm90IGF2YWlsYWJsZScvPgorICAgICAgPGFyZyBuYW1lPSdwYXJlbnQnIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3RoZSBwYXJlbnQgbm9kZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbExpbmVOdW1iZXJzRGVmYXVsdCcgZmlsZT0ncGFyc2VyJyBtb2R1bGU9J3BhcnNlckludGVybmFscyc+CisgICAgICA8aW5mbz5TZXQgYW5kIHJldHVybiB0aGUgcHJldmlvdXMgdmFsdWUgZm9yIGVuYWJsaW5nIGxpbmUgbnVtYmVycyBpbiBlbGVtZW50cyBjb250ZW50cy4gVGhpcyBtYXkgYnJlYWsgb24gb2xkIGFwcGxpY2F0aW9uIGFuZCBpcyB0dXJuZWQgb2ZmIGJ5IGRlZmF1bHQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J3RoZSBsYXN0IHZhbHVlIGZvciAwIGZvciBubyBzdWJzdGl0dXRpb24sIDEgZm9yIHN1YnN0aXR1dGlvbi4nLz4KKyAgICAgIDxhcmcgbmFtZT0ndmFsJyB0eXBlPSdpbnQnIGluZm89J2ludCAwIG9yIDEnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxMaW5rR2V0RGF0YScgZmlsZT0nbGlzdCcgbW9kdWxlPSdsaXN0Jz4KKyAgICAgIDxpbmZvPlNlZSBSZXR1cm5zLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCAqJyBpbmZvPSdhIHBvaW50ZXIgdG8gdGhlIGRhdGEgcmVmZXJlbmNlZCBmcm9tIHRoaXMgbGluaycvPgorICAgICAgPGFyZyBuYW1lPSdsaycgdHlwZT0neG1sTGlua1B0cicgaW5mbz0nYSBsaW5rJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sTGlzdEFwcGVuZCcgZmlsZT0nbGlzdCcgbW9kdWxlPSdsaXN0Jz4KKyAgICAgIDxpbmZvPkluc2VydCBkYXRhIGluIHRoZSBvcmRlcmVkIGxpc3QgYXQgdGhlIGVuZCBmb3IgdGhpcyB2YWx1ZTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScwIGluIGNhc2Ugb2Ygc3VjY2VzcywgMSBpbiBjYXNlIG9mIGZhaWx1cmUnLz4KKyAgICAgIDxhcmcgbmFtZT0nbCcgdHlwZT0neG1sTGlzdFB0cicgaW5mbz0nYSBsaXN0Jy8+CisgICAgICA8YXJnIG5hbWU9J2RhdGEnIHR5cGU9J3ZvaWQgKicgaW5mbz0ndGhlIGRhdGEnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxMaXN0Q2xlYXInIGZpbGU9J2xpc3QnIG1vZHVsZT0nbGlzdCc+CisgICAgICA8aW5mbz5SZW1vdmUgdGhlIGFsbCBkYXRhIGluIHRoZSBsaXN0PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2wnIHR5cGU9J3htbExpc3RQdHInIGluZm89J2EgbGlzdCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbExpc3RDb3B5JyBmaWxlPSdsaXN0JyBtb2R1bGU9J2xpc3QnPgorICAgICAgPGluZm8+TW92ZSBhbGwgdGhlIGVsZW1lbnQgZnJvbSB0aGUgb2xkIGxpc3QgaW4gdGhlIG5ldyBsaXN0PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzAgaW4gY2FzZSBvZiBzdWNjZXNzIDEgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSdjdXInIHR5cGU9J3htbExpc3RQdHInIGluZm89J3RoZSBuZXcgbGlzdCcvPgorICAgICAgPGFyZyBuYW1lPSdvbGQnIHR5cGU9J2NvbnN0IHhtbExpc3RQdHInIGluZm89J3RoZSBvbGQgbGlzdCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbExpc3RDcmVhdGUnIGZpbGU9J2xpc3QnIG1vZHVsZT0nbGlzdCc+CisgICAgICA8aW5mbz5DcmVhdGUgYSBuZXcgbGlzdDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sTGlzdFB0cicgaW5mbz0ndGhlIG5ldyBsaXN0IG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSdkZWFsbG9jYXRvcicgdHlwZT0neG1sTGlzdERlYWxsb2NhdG9yJyBpbmZvPSdhbiBvcHRpb25hbCBkZWFsbG9jYXRvciBmdW5jdGlvbicvPgorICAgICAgPGFyZyBuYW1lPSdjb21wYXJlJyB0eXBlPSd4bWxMaXN0RGF0YUNvbXBhcmUnIGluZm89J2FuIG9wdGlvbmFsIGNvbXBhcmlzb24gZnVuY3Rpb24nLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdHlwZSBuYW1lPSd4bWxMaXN0RGF0YUNvbXBhcmUnIGZpbGU9J2xpc3QnIG1vZHVsZT0nbGlzdCc+CisgICAgICA8aW5mbz5DYWxsYmFjayBmdW5jdGlvbiB1c2VkIHRvIGNvbXBhcmUgMiBkYXRhLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScwIGlzIGVxdWFsaXR5LCAtMSBvciAxIG90aGVyd2lzZSBkZXBlbmRpbmcgb24gdGhlIG9yZGVyaW5nLicvPgorICAgICAgPGFyZyBuYW1lPSdkYXRhMCcgdHlwZT0nY29uc3Qgdm9pZCAqJyBpbmZvPSd0aGUgZmlyc3QgZGF0YScvPgorICAgICAgPGFyZyBuYW1lPSdkYXRhMScgdHlwZT0nY29uc3Qgdm9pZCAqJyBpbmZvPSd0aGUgc2Vjb25kIGRhdGEnLz4KKyAgICA8L2Z1bmN0eXBlPgorICAgIDxmdW5jdHlwZSBuYW1lPSd4bWxMaXN0RGVhbGxvY2F0b3InIGZpbGU9J2xpc3QnIG1vZHVsZT0nbGlzdCc+CisgICAgICA8aW5mbz5DYWxsYmFjayBmdW5jdGlvbiB1c2VkIHRvIGZyZWUgZGF0YSBmcm9tIGEgbGlzdC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbGsnIHR5cGU9J3htbExpbmtQdHInIGluZm89J3RoZSBkYXRhIHRvIGRlYWxsb2NhdGUnLz4KKyAgICA8L2Z1bmN0eXBlPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxMaXN0RGVsZXRlJyBmaWxlPSdsaXN0JyBtb2R1bGU9J2xpc3QnPgorICAgICAgPGluZm8+RGVsZXRlcyB0aGUgbGlzdCBhbmQgaXRzIGFzc29jaWF0ZWQgZGF0YTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdsJyB0eXBlPSd4bWxMaXN0UHRyJyBpbmZvPSdhIGxpc3QnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxMaXN0RHVwJyBmaWxlPSdsaXN0JyBtb2R1bGU9J2xpc3QnPgorICAgICAgPGluZm8+RHVwbGljYXRlIHRoZSBsaXN0PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxMaXN0UHRyJyBpbmZvPSdhIG5ldyBjb3B5IG9mIHRoZSBsaXN0IG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSdvbGQnIHR5cGU9J2NvbnN0IHhtbExpc3RQdHInIGluZm89J3RoZSBsaXN0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sTGlzdEVtcHR5JyBmaWxlPSdsaXN0JyBtb2R1bGU9J2xpc3QnPgorICAgICAgPGluZm8+SXMgdGhlIGxpc3QgZW1wdHkgPzwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRoZSBsaXN0IGlzIGVtcHR5LCAwIGlmIG5vdCBlbXB0eSBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSdsJyB0eXBlPSd4bWxMaXN0UHRyJyBpbmZvPSdhIGxpc3QnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxMaXN0RW5kJyBmaWxlPSdsaXN0JyBtb2R1bGU9J2xpc3QnPgorICAgICAgPGluZm8+R2V0IHRoZSBsYXN0IGVsZW1lbnQgaW4gdGhlIGxpc3Q8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbExpbmtQdHInIGluZm89J3RoZSBsYXN0IGVsZW1lbnQgaW4gdGhlIGxpc3QsIG9yIE5VTEwnLz4KKyAgICAgIDxhcmcgbmFtZT0nbCcgdHlwZT0neG1sTGlzdFB0cicgaW5mbz0nYSBsaXN0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sTGlzdEZyb250JyBmaWxlPSdsaXN0JyBtb2R1bGU9J2xpc3QnPgorICAgICAgPGluZm8+R2V0IHRoZSBmaXJzdCBlbGVtZW50IGluIHRoZSBsaXN0PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxMaW5rUHRyJyBpbmZvPSd0aGUgZmlyc3QgZWxlbWVudCBpbiB0aGUgbGlzdCwgb3IgTlVMTCcvPgorICAgICAgPGFyZyBuYW1lPSdsJyB0eXBlPSd4bWxMaXN0UHRyJyBpbmZvPSdhIGxpc3QnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxMaXN0SW5zZXJ0JyBmaWxlPSdsaXN0JyBtb2R1bGU9J2xpc3QnPgorICAgICAgPGluZm8+SW5zZXJ0IGRhdGEgaW4gdGhlIG9yZGVyZWQgbGlzdCBhdCB0aGUgYmVnaW5uaW5nIGZvciB0aGlzIHZhbHVlPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzAgaW4gY2FzZSBvZiBzdWNjZXNzLCAxIGluIGNhc2Ugb2YgZmFpbHVyZScvPgorICAgICAgPGFyZyBuYW1lPSdsJyB0eXBlPSd4bWxMaXN0UHRyJyBpbmZvPSdhIGxpc3QnLz4KKyAgICAgIDxhcmcgbmFtZT0nZGF0YScgdHlwZT0ndm9pZCAqJyBpbmZvPSd0aGUgZGF0YScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbExpc3RNZXJnZScgZmlsZT0nbGlzdCcgbW9kdWxlPSdsaXN0Jz4KKyAgICAgIDxpbmZvPmluY2x1ZGUgYWxsIHRoZSBlbGVtZW50cyBvZiB0aGUgc2Vjb25kIGxpc3QgaW4gdGhlIGZpcnN0IG9uZSBhbmQgY2xlYXIgdGhlIHNlY29uZCBsaXN0PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2wxJyB0eXBlPSd4bWxMaXN0UHRyJyBpbmZvPSd0aGUgb3JpZ2luYWwgbGlzdCcvPgorICAgICAgPGFyZyBuYW1lPSdsMicgdHlwZT0neG1sTGlzdFB0cicgaW5mbz0ndGhlIG5ldyBsaXN0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sTGlzdFBvcEJhY2snIGZpbGU9J2xpc3QnIG1vZHVsZT0nbGlzdCc+CisgICAgICA8aW5mbz5SZW1vdmVzIHRoZSBsYXN0IGVsZW1lbnQgaW4gdGhlIGxpc3Q8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbCcgdHlwZT0neG1sTGlzdFB0cicgaW5mbz0nYSBsaXN0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sTGlzdFBvcEZyb250JyBmaWxlPSdsaXN0JyBtb2R1bGU9J2xpc3QnPgorICAgICAgPGluZm8+UmVtb3ZlcyB0aGUgZmlyc3QgZWxlbWVudCBpbiB0aGUgbGlzdDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdsJyB0eXBlPSd4bWxMaXN0UHRyJyBpbmZvPSdhIGxpc3QnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxMaXN0UHVzaEJhY2snIGZpbGU9J2xpc3QnIG1vZHVsZT0nbGlzdCc+CisgICAgICA8aW5mbz5hZGQgdGhlIG5ldyBkYXRhIGF0IHRoZSBlbmQgb2YgdGhlIGxpc3Q8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiBzdWNjZXNzZnVsLCAwIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdsJyB0eXBlPSd4bWxMaXN0UHRyJyBpbmZvPSdhIGxpc3QnLz4KKyAgICAgIDxhcmcgbmFtZT0nZGF0YScgdHlwZT0ndm9pZCAqJyBpbmZvPSduZXcgZGF0YScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbExpc3RQdXNoRnJvbnQnIGZpbGU9J2xpc3QnIG1vZHVsZT0nbGlzdCc+CisgICAgICA8aW5mbz5hZGQgdGhlIG5ldyBkYXRhIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGxpc3Q8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiBzdWNjZXNzZnVsLCAwIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdsJyB0eXBlPSd4bWxMaXN0UHRyJyBpbmZvPSdhIGxpc3QnLz4KKyAgICAgIDxhcmcgbmFtZT0nZGF0YScgdHlwZT0ndm9pZCAqJyBpbmZvPSduZXcgZGF0YScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbExpc3RSZW1vdmVBbGwnIGZpbGU9J2xpc3QnIG1vZHVsZT0nbGlzdCc+CisgICAgICA8aW5mbz5SZW1vdmUgdGhlIGFsbCBpbnN0YW5jZSBhc3NvY2lhdGVkIHRvIGRhdGEgaW4gdGhlIGxpc3Q8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndGhlIG51bWJlciBvZiBkZWFsbG9jYXRpb24sIG9yIDAgaWYgbm90IGZvdW5kJy8+CisgICAgICA8YXJnIG5hbWU9J2wnIHR5cGU9J3htbExpc3RQdHInIGluZm89J2EgbGlzdCcvPgorICAgICAgPGFyZyBuYW1lPSdkYXRhJyB0eXBlPSd2b2lkIConIGluZm89J2xpc3QgZGF0YScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbExpc3RSZW1vdmVGaXJzdCcgZmlsZT0nbGlzdCcgbW9kdWxlPSdsaXN0Jz4KKyAgICAgIDxpbmZvPlJlbW92ZSB0aGUgZmlyc3QgaW5zdGFuY2UgYXNzb2NpYXRlZCB0byBkYXRhIGluIHRoZSBsaXN0PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgYSBkZWFsbG9jYXRpb24gb2NjdXJlZCwgb3IgMCBpZiBub3QgZm91bmQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbCcgdHlwZT0neG1sTGlzdFB0cicgaW5mbz0nYSBsaXN0Jy8+CisgICAgICA8YXJnIG5hbWU9J2RhdGEnIHR5cGU9J3ZvaWQgKicgaW5mbz0nbGlzdCBkYXRhJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sTGlzdFJlbW92ZUxhc3QnIGZpbGU9J2xpc3QnIG1vZHVsZT0nbGlzdCc+CisgICAgICA8aW5mbz5SZW1vdmUgdGhlIGxhc3QgaW5zdGFuY2UgYXNzb2NpYXRlZCB0byBkYXRhIGluIHRoZSBsaXN0PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgYSBkZWFsbG9jYXRpb24gb2NjdXJlZCwgb3IgMCBpZiBub3QgZm91bmQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbCcgdHlwZT0neG1sTGlzdFB0cicgaW5mbz0nYSBsaXN0Jy8+CisgICAgICA8YXJnIG5hbWU9J2RhdGEnIHR5cGU9J3ZvaWQgKicgaW5mbz0nbGlzdCBkYXRhJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sTGlzdFJldmVyc2UnIGZpbGU9J2xpc3QnIG1vZHVsZT0nbGlzdCc+CisgICAgICA8aW5mbz5SZXZlcnNlIHRoZSBvcmRlciBvZiB0aGUgZWxlbWVudHMgaW4gdGhlIGxpc3Q8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbCcgdHlwZT0neG1sTGlzdFB0cicgaW5mbz0nYSBsaXN0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sTGlzdFJldmVyc2VTZWFyY2gnIGZpbGU9J2xpc3QnIG1vZHVsZT0nbGlzdCc+CisgICAgICA8aW5mbz5TZWFyY2ggdGhlIGxpc3QgaW4gcmV2ZXJzZSBvcmRlciBmb3IgYW4gZXhpc3RpbmcgdmFsdWUgb2YgQGRhdGE8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQgKicgaW5mbz0ndGhlIHZhbHVlIGFzc29jaWF0ZWQgdG8gQGRhdGEgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J2wnIHR5cGU9J3htbExpc3RQdHInIGluZm89J2EgbGlzdCcvPgorICAgICAgPGFyZyBuYW1lPSdkYXRhJyB0eXBlPSd2b2lkIConIGluZm89J2Egc2VhcmNoIHZhbHVlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sTGlzdFJldmVyc2VXYWxrJyBmaWxlPSdsaXN0JyBtb2R1bGU9J2xpc3QnPgorICAgICAgPGluZm8+V2FsayBhbGwgdGhlIGVsZW1lbnQgb2YgdGhlIGxpc3QgaW4gcmV2ZXJzZSBvcmRlciBhbmQgYXBwbHkgdGhlIHdhbGtlciBmdW5jdGlvbiB0byBpdDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdsJyB0eXBlPSd4bWxMaXN0UHRyJyBpbmZvPSdhIGxpc3QnLz4KKyAgICAgIDxhcmcgbmFtZT0nd2Fsa2VyJyB0eXBlPSd4bWxMaXN0V2Fsa2VyJyBpbmZvPSdhIHByb2Nlc3NpbmcgZnVuY3Rpb24nLz4KKyAgICAgIDxhcmcgbmFtZT0ndXNlcicgdHlwZT0nY29uc3Qgdm9pZCAqJyBpbmZvPSdhIHVzZXIgcGFyYW1ldGVyIHBhc3NlZCB0byB0aGUgd2Fsa2VyIGZ1bmN0aW9uJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sTGlzdFNlYXJjaCcgZmlsZT0nbGlzdCcgbW9kdWxlPSdsaXN0Jz4KKyAgICAgIDxpbmZvPlNlYXJjaCB0aGUgbGlzdCBmb3IgYW4gZXhpc3RpbmcgdmFsdWUgb2YgQGRhdGE8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQgKicgaW5mbz0ndGhlIHZhbHVlIGFzc29jaWF0ZWQgdG8gQGRhdGEgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J2wnIHR5cGU9J3htbExpc3RQdHInIGluZm89J2EgbGlzdCcvPgorICAgICAgPGFyZyBuYW1lPSdkYXRhJyB0eXBlPSd2b2lkIConIGluZm89J2Egc2VhcmNoIHZhbHVlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sTGlzdFNpemUnIGZpbGU9J2xpc3QnIG1vZHVsZT0nbGlzdCc+CisgICAgICA8aW5mbz5HZXQgdGhlIG51bWJlciBvZiBlbGVtZW50cyBpbiB0aGUgbGlzdDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgbnVtYmVyIG9mIGVsZW1lbnRzIGluIHRoZSBsaXN0IG9yIC0xIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0nbCcgdHlwZT0neG1sTGlzdFB0cicgaW5mbz0nYSBsaXN0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sTGlzdFNvcnQnIGZpbGU9J2xpc3QnIG1vZHVsZT0nbGlzdCc+CisgICAgICA8aW5mbz5Tb3J0IGFsbCB0aGUgZWxlbWVudHMgaW4gdGhlIGxpc3Q8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbCcgdHlwZT0neG1sTGlzdFB0cicgaW5mbz0nYSBsaXN0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sTGlzdFdhbGsnIGZpbGU9J2xpc3QnIG1vZHVsZT0nbGlzdCc+CisgICAgICA8aW5mbz5XYWxrIGFsbCB0aGUgZWxlbWVudCBvZiB0aGUgZmlyc3QgZnJvbSBmaXJzdCB0byBsYXN0IGFuZCBhcHBseSB0aGUgd2Fsa2VyIGZ1bmN0aW9uIHRvIGl0PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2wnIHR5cGU9J3htbExpc3RQdHInIGluZm89J2EgbGlzdCcvPgorICAgICAgPGFyZyBuYW1lPSd3YWxrZXInIHR5cGU9J3htbExpc3RXYWxrZXInIGluZm89J2EgcHJvY2Vzc2luZyBmdW5jdGlvbicvPgorICAgICAgPGFyZyBuYW1lPSd1c2VyJyB0eXBlPSdjb25zdCB2b2lkIConIGluZm89J2EgdXNlciBwYXJhbWV0ZXIgcGFzc2VkIHRvIHRoZSB3YWxrZXIgZnVuY3Rpb24nLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdHlwZSBuYW1lPSd4bWxMaXN0V2Fsa2VyJyBmaWxlPSdsaXN0JyBtb2R1bGU9J2xpc3QnPgorICAgICAgPGluZm8+Q2FsbGJhY2sgZnVuY3Rpb24gdXNlZCB3aGVuIHdhbGtpbmcgYSBsaXN0IHdpdGggeG1sTGlzdFdhbGsoKS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMCB0byBzdG9wIHdhbGtpbmcgdGhlIGxpc3QsIDEgb3RoZXJ3aXNlLicvPgorICAgICAgPGFyZyBuYW1lPSdkYXRhJyB0eXBlPSdjb25zdCB2b2lkIConIGluZm89J3RoZSBkYXRhIGZvdW5kIGluIHRoZSBsaXN0Jy8+CisgICAgICA8YXJnIG5hbWU9J3VzZXInIHR5cGU9J2NvbnN0IHZvaWQgKicgaW5mbz0nZXh0cmEgdXNlciBwcm92aWRlZCBkYXRhIHRvIHRoZSB3YWxrZXInLz4KKyAgICA8L2Z1bmN0eXBlPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxMb2FkQUNhdGFsb2cnIGZpbGU9J2NhdGFsb2cnIG1vZHVsZT0nY2F0YWxvZyc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9DQVRBTE9HX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+TG9hZCB0aGUgY2F0YWxvZyBhbmQgYnVpbGQgdGhlIGFzc29jaWF0ZWQgZGF0YSBzdHJ1Y3R1cmVzLiBUaGlzIGNhbiBiZSBlaXRoZXIgYW4gWE1MIENhdGFsb2cgb3IgYW4gU0dNTCBDYXRhbG9nIEl0IHdpbGwgcmVjdXJzZSBpbiBTR01MIENBVEFMT0cgZW50cmllcy4gT24gdGhlIG90aGVyIGhhbmQgWE1MIENhdGFsb2dzIGFyZSBub3QgaGFuZGxlZCByZWN1cnNpdmVseS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbENhdGFsb2dQdHInIGluZm89J3RoZSBjYXRhbG9nIHBhcnNlZCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0nZmlsZW5hbWUnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0nYSBmaWxlIHBhdGgnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxMb2FkQ2F0YWxvZycgZmlsZT0nY2F0YWxvZycgbW9kdWxlPSdjYXRhbG9nJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0NBVEFMT0dfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5Mb2FkIHRoZSBjYXRhbG9nIGFuZCBtYWtlcyBpdHMgZGVmaW5pdGlvbnMgZWZmZWN0aXZlIGZvciB0aGUgZGVmYXVsdCBleHRlcm5hbCBlbnRpdHkgbG9hZGVyLiBJdCB3aWxsIHJlY3Vyc2UgaW4gU0dNTCBDQVRBTE9HIGVudHJpZXMuIHRoaXMgZnVuY3Rpb24gaXMgbm90IHRocmVhZCBzYWZlLCBjYXRhbG9nIGluaXRpYWxpemF0aW9uIHNob3VsZCBwcmVmZXJhYmx5IGJlIGRvbmUgb25jZSBhdCBzdGFydHVwPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzAgaW4gY2FzZSBvZiBzdWNjZXNzIC0xIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0nZmlsZW5hbWUnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0nYSBmaWxlIHBhdGgnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxMb2FkQ2F0YWxvZ3MnIGZpbGU9J2NhdGFsb2cnIG1vZHVsZT0nY2F0YWxvZyc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9DQVRBTE9HX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+TG9hZCB0aGUgY2F0YWxvZ3MgYW5kIG1ha2VzIHRoZWlyIGRlZmluaXRpb25zIGVmZmVjdGl2ZSBmb3IgdGhlIGRlZmF1bHQgZXh0ZXJuYWwgZW50aXR5IGxvYWRlci4gdGhpcyBmdW5jdGlvbiBpcyBub3QgdGhyZWFkIHNhZmUsIGNhdGFsb2cgaW5pdGlhbGl6YXRpb24gc2hvdWxkIHByZWZlcmFibHkgYmUgZG9uZSBvbmNlIGF0IHN0YXJ0dXA8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0ncGF0aHNzJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J2EgbGlzdCBvZiBkaXJlY3RvcmllcyBzZXBhcmF0ZWQgYnkgYSBjb2xvbiBvciBhIHNwYWNlLicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbExvYWRFeHRlcm5hbEVudGl0eScgZmlsZT0ncGFyc2VyJyBtb2R1bGU9J3htbElPJz4KKyAgICAgIDxpbmZvPkxvYWQgYW4gZXh0ZXJuYWwgZW50aXR5LCBub3RlIHRoYXQgdGhlIHVzZSBvZiB0aGlzIGZ1bmN0aW9uIGZvciB1bnBhcnNlZCBlbnRpdGllcyBtYXkgZ2VuZXJhdGUgcHJvYmxlbXM8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbFBhcnNlcklucHV0UHRyJyBpbmZvPSd0aGUgeG1sUGFyc2VySW5wdXRQdHIgb3IgTlVMTCcvPgorICAgICAgPGFyZyBuYW1lPSdVUkwnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIFVSTCBmb3IgdGhlIGVudGl0eSB0byBsb2FkJy8+CisgICAgICA8YXJnIG5hbWU9J0lEJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBQdWJsaWMgSUQgZm9yIHRoZSBlbnRpdHkgdG8gbG9hZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxQYXJzZXJDdHh0UHRyJyBpbmZvPSd0aGUgY29udGV4dCBpbiB3aGljaCB0aGUgZW50aXR5IGlzIGNhbGxlZCBvciBOVUxMJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sTG9hZFNHTUxTdXBlckNhdGFsb2cnIGZpbGU9J2NhdGFsb2cnIG1vZHVsZT0nY2F0YWxvZyc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9DQVRBTE9HX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+TG9hZCBhbiBTR01MIHN1cGVyIGNhdGFsb2cuIEl0IHdvbiZhcG9zO3QgZXhwYW5kIENBVEFMT0cgb3IgREVMRUdBVEUgcmVmZXJlbmNlcy4gVGhpcyBpcyBvbmx5IG5lZWRlZCBmb3IgbWFuaXB1bGF0aW5nIFNHTUwgU3VwZXIgQ2F0YWxvZ3MgbGlrZSBhZGRpbmcgYW5kIHJlbW92aW5nIENBVEFMT0cgb3IgREVMRUdBVEUgZW50cmllcy48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbENhdGFsb2dQdHInIGluZm89J3RoZSBjYXRhbG9nIHBhcnNlZCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0nZmlsZW5hbWUnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0nYSBmaWxlIHBhdGgnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxMb2NrTGlicmFyeScgZmlsZT0ndGhyZWFkcycgbW9kdWxlPSd0aHJlYWRzJz4KKyAgICAgIDxpbmZvPnhtbExvY2tMaWJyYXJ5KCkgaXMgdXNlZCB0byB0YWtlIG91dCBhIHJlLWVudHJhbnQgbG9jayBvbiB0aGUgbGlieG1sMiBsaWJyYXJ5LjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbExzQ291bnROb2RlJyBmaWxlPSdkZWJ1Z1hNTCcgbW9kdWxlPSdkZWJ1Z1hNTCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9ERUJVR19FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNvdW50IHRoZSBjaGlsZHJlbiBvZiBAbm9kZS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndGhlIG51bWJlciBvZiBjaGlsZHJlbiBvZiBAbm9kZS4nLz4KKyAgICAgIDxhcmcgbmFtZT0nbm9kZScgdHlwZT0neG1sTm9kZVB0cicgaW5mbz0ndGhlIG5vZGUgdG8gY291bnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxMc09uZU5vZGUnIGZpbGU9J2RlYnVnWE1MJyBtb2R1bGU9J2RlYnVnWE1MJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0RFQlVHX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+RHVtcCB0byBAb3V0cHV0IHRoZSB0eXBlIGFuZCBuYW1lIG9mIEBub2RlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdvdXRwdXQnIHR5cGU9J0ZJTEUgKicgaW5mbz0ndGhlIEZJTEUgKiBmb3IgdGhlIG91dHB1dCcvPgorICAgICAgPGFyZyBuYW1lPSdub2RlJyB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSd0aGUgbm9kZSB0byBkdW1wJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sTWFsbG9jQXRvbWljTG9jJyBmaWxlPSd4bWxtZW1vcnknIG1vZHVsZT0neG1sbWVtb3J5Jz4KKyAgICAgIDxpbmZvPmEgbWFsbG9jKCkgZXF1aXZhbGVudCwgd2l0aCBsb2dnaW5nIG9mIHRoZSBhbGxvY2F0aW9uIGluZm8uPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkIConIGluZm89J2EgcG9pbnRlciB0byB0aGUgYWxsb2NhdGVkIGFyZWEgb3IgTlVMTCBpbiBjYXNlIG9mIGxhY2sgb2YgbWVtb3J5LicvPgorICAgICAgPGFyZyBuYW1lPSdzaXplJyB0eXBlPSdzaXplX3QnIGluZm89J2FuIGludCBzcGVjaWZ5aW5nIHRoZSBzaXplIGluIGJ5dGUgdG8gYWxsb2NhdGUuJy8+CisgICAgICA8YXJnIG5hbWU9J2ZpbGUnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIGZpbGUgbmFtZSBvciBOVUxMJy8+CisgICAgICA8YXJnIG5hbWU9J2xpbmUnIHR5cGU9J2ludCcgaW5mbz0ndGhlIGxpbmUgbnVtYmVyJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3R5cGUgbmFtZT0neG1sTWFsbG9jRnVuYycgZmlsZT0neG1sbWVtb3J5JyBtb2R1bGU9J3htbG1lbW9yeSc+CisgICAgICA8aW5mbz5TaWduYXR1cmUgZm9yIGEgbWFsbG9jKCkgaW1wbGVtZW50YXRpb24uPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkIConIGluZm89J2EgcG9pbnRlciB0byB0aGUgbmV3bHkgYWxsb2NhdGVkIGJsb2NrIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci4nLz4KKyAgICAgIDxhcmcgbmFtZT0nc2l6ZScgdHlwZT0nc2l6ZV90JyBpbmZvPSd0aGUgc2l6ZSByZXF1ZXN0ZWQgaW4gYnl0ZXMnLz4KKyAgICA8L2Z1bmN0eXBlPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxNYWxsb2NMb2MnIGZpbGU9J3htbG1lbW9yeScgbW9kdWxlPSd4bWxtZW1vcnknPgorICAgICAgPGluZm8+YSBtYWxsb2MoKSBlcXVpdmFsZW50LCB3aXRoIGxvZ2dpbmcgb2YgdGhlIGFsbG9jYXRpb24gaW5mby48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQgKicgaW5mbz0nYSBwb2ludGVyIHRvIHRoZSBhbGxvY2F0ZWQgYXJlYSBvciBOVUxMIGluIGNhc2Ugb2YgbGFjayBvZiBtZW1vcnkuJy8+CisgICAgICA8YXJnIG5hbWU9J3NpemUnIHR5cGU9J3NpemVfdCcgaW5mbz0nYW4gaW50IHNwZWNpZnlpbmcgdGhlIHNpemUgaW4gYnl0ZSB0byBhbGxvY2F0ZS4nLz4KKyAgICAgIDxhcmcgbmFtZT0nZmlsZScgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSd0aGUgZmlsZSBuYW1lIG9yIE5VTEwnLz4KKyAgICAgIDxhcmcgbmFtZT0nbGluZScgdHlwZT0naW50JyBpbmZvPSd0aGUgbGluZSBudW1iZXInLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxNZW1CbG9ja3MnIGZpbGU9J3htbG1lbW9yeScgbW9kdWxlPSd4bWxtZW1vcnknPgorICAgICAgPGluZm8+UHJvdmlkZXMgdGhlIG51bWJlciBvZiBtZW1vcnkgYXJlYXMgY3VycmVudGx5IGFsbG9jYXRlZDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSdhbiBpbnQgcmVwcmVzZW50aW5nIHRoZSBudW1iZXIgb2YgYmxvY2tzJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sTWVtRGlzcGxheScgZmlsZT0neG1sbWVtb3J5JyBtb2R1bGU9J3htbG1lbW9yeSc+CisgICAgICA8aW5mbz5zaG93IGluLWV4dGVuc28gdGhlIG1lbW9yeSBibG9ja3MgYWxsb2NhdGVkPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2ZwJyB0eXBlPSdGSUxFIConIGluZm89J2EgRklMRSBkZXNjcmlwdG9yIHVzZWQgYXMgdGhlIG91dHB1dCBmaWxlLCBpZiBOVUxMLCB0aGUgcmVzdWx0IGlzIHdyaXR0ZW4gdG8gdGhlIGZpbGUgLm1lbW9yeWxpc3QnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxNZW1EaXNwbGF5TGFzdCcgZmlsZT0neG1sbWVtb3J5JyBtb2R1bGU9J3htbG1lbW9yeSc+CisgICAgICA8aW5mbz50aGUgbGFzdCBuYkJ5dGVzIG9mIG1lbW9yeSBhbGxvY2F0ZWQgYW5kIG5vdCBmcmVlZCwgdXNlZnVsIGZvciBkdW1waW5nIHRoZSBtZW1vcnkgbGVmdCBhbGxvY2F0ZWQgYmV0d2VlbiB0d28gcGxhY2VzIGF0IHJ1bnRpbWUuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2ZwJyB0eXBlPSdGSUxFIConIGluZm89J2EgRklMRSBkZXNjcmlwdG9yIHVzZWQgYXMgdGhlIG91dHB1dCBmaWxlLCBpZiBOVUxMLCB0aGUgcmVzdWx0IGlzIHdyaXR0ZW4gdG8gdGhlIGZpbGUgLm1lbW9yeWxpc3QnLz4KKyAgICAgIDxhcmcgbmFtZT0nbmJCeXRlcycgdHlwZT0nbG9uZycgaW5mbz0ndGhlIGFtb3VudCBvZiBtZW1vcnkgdG8gZHVtcCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbE1lbUZyZWUnIGZpbGU9J3htbG1lbW9yeScgbW9kdWxlPSd4bWxtZW1vcnknPgorICAgICAgPGluZm8+YSBmcmVlKCkgZXF1aXZhbGVudCwgd2l0aCBlcnJvciBjaGVja2luZy48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0ncHRyJyB0eXBlPSd2b2lkIConIGluZm89J3RoZSBtZW1vcnkgYmxvY2sgcG9pbnRlcicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbE1lbUdldCcgZmlsZT0neG1sbWVtb3J5JyBtb2R1bGU9J3htbG1lbW9yeSc+CisgICAgICA8aW5mbz5Qcm92aWRlcyB0aGUgbWVtb3J5IGFjY2VzcyBmdW5jdGlvbnMgc2V0IGN1cnJlbnRseSBpbiB1c2U8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMCBvbiBzdWNjZXNzJy8+CisgICAgICA8YXJnIG5hbWU9J2ZyZWVGdW5jJyB0eXBlPSd4bWxGcmVlRnVuYyAqJyBpbmZvPSdwbGFjZSB0byBzYXZlIHRoZSBmcmVlKCkgZnVuY3Rpb24gaW4gdXNlJy8+CisgICAgICA8YXJnIG5hbWU9J21hbGxvY0Z1bmMnIHR5cGU9J3htbE1hbGxvY0Z1bmMgKicgaW5mbz0ncGxhY2UgdG8gc2F2ZSB0aGUgbWFsbG9jKCkgZnVuY3Rpb24gaW4gdXNlJy8+CisgICAgICA8YXJnIG5hbWU9J3JlYWxsb2NGdW5jJyB0eXBlPSd4bWxSZWFsbG9jRnVuYyAqJyBpbmZvPSdwbGFjZSB0byBzYXZlIHRoZSByZWFsbG9jKCkgZnVuY3Rpb24gaW4gdXNlJy8+CisgICAgICA8YXJnIG5hbWU9J3N0cmR1cEZ1bmMnIHR5cGU9J3htbFN0cmR1cEZ1bmMgKicgaW5mbz0ncGxhY2UgdG8gc2F2ZSB0aGUgc3RyZHVwKCkgZnVuY3Rpb24gaW4gdXNlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sTWVtTWFsbG9jJyBmaWxlPSd4bWxtZW1vcnknIG1vZHVsZT0neG1sbWVtb3J5Jz4KKyAgICAgIDxpbmZvPmEgbWFsbG9jKCkgZXF1aXZhbGVudCwgd2l0aCBsb2dnaW5nIG9mIHRoZSBhbGxvY2F0aW9uIGluZm8uPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkIConIGluZm89J2EgcG9pbnRlciB0byB0aGUgYWxsb2NhdGVkIGFyZWEgb3IgTlVMTCBpbiBjYXNlIG9mIGxhY2sgb2YgbWVtb3J5LicvPgorICAgICAgPGFyZyBuYW1lPSdzaXplJyB0eXBlPSdzaXplX3QnIGluZm89J2FuIGludCBzcGVjaWZ5aW5nIHRoZSBzaXplIGluIGJ5dGUgdG8gYWxsb2NhdGUuJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sTWVtUmVhbGxvYycgZmlsZT0neG1sbWVtb3J5JyBtb2R1bGU9J3htbG1lbW9yeSc+CisgICAgICA8aW5mbz5hIHJlYWxsb2MoKSBlcXVpdmFsZW50LCB3aXRoIGxvZ2dpbmcgb2YgdGhlIGFsbG9jYXRpb24gaW5mby48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQgKicgaW5mbz0nYSBwb2ludGVyIHRvIHRoZSBhbGxvY2F0ZWQgYXJlYSBvciBOVUxMIGluIGNhc2Ugb2YgbGFjayBvZiBtZW1vcnkuJy8+CisgICAgICA8YXJnIG5hbWU9J3B0cicgdHlwZT0ndm9pZCAqJyBpbmZvPSd0aGUgaW5pdGlhbCBtZW1vcnkgYmxvY2sgcG9pbnRlcicvPgorICAgICAgPGFyZyBuYW1lPSdzaXplJyB0eXBlPSdzaXplX3QnIGluZm89J2FuIGludCBzcGVjaWZ5aW5nIHRoZSBzaXplIGluIGJ5dGUgdG8gYWxsb2NhdGUuJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sTWVtU2V0dXAnIGZpbGU9J3htbG1lbW9yeScgbW9kdWxlPSd4bWxtZW1vcnknPgorICAgICAgPGluZm8+T3ZlcnJpZGUgdGhlIGRlZmF1bHQgbWVtb3J5IGFjY2VzcyBmdW5jdGlvbnMgd2l0aCBhIG5ldyBzZXQgVGhpcyBoYXMgdG8gYmUgY2FsbGVkIGJlZm9yZSBhbnkgb3RoZXIgbGlieG1sIHJvdXRpbmVzICEgIFNob3VsZCB0aGlzIGJlIGJsb2NrZWQgaWYgdGhlcmUgd2FzIGFscmVhZHkgc29tZSBhbGxvY2F0aW9ucyBkb25lID88L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMCBvbiBzdWNjZXNzJy8+CisgICAgICA8YXJnIG5hbWU9J2ZyZWVGdW5jJyB0eXBlPSd4bWxGcmVlRnVuYycgaW5mbz0ndGhlIGZyZWUoKSBmdW5jdGlvbiB0byB1c2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nbWFsbG9jRnVuYycgdHlwZT0neG1sTWFsbG9jRnVuYycgaW5mbz0ndGhlIG1hbGxvYygpIGZ1bmN0aW9uIHRvIHVzZScvPgorICAgICAgPGFyZyBuYW1lPSdyZWFsbG9jRnVuYycgdHlwZT0neG1sUmVhbGxvY0Z1bmMnIGluZm89J3RoZSByZWFsbG9jKCkgZnVuY3Rpb24gdG8gdXNlJy8+CisgICAgICA8YXJnIG5hbWU9J3N0cmR1cEZ1bmMnIHR5cGU9J3htbFN0cmR1cEZ1bmMnIGluZm89J3RoZSBzdHJkdXAoKSBmdW5jdGlvbiB0byB1c2UnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxNZW1TaG93JyBmaWxlPSd4bWxtZW1vcnknIG1vZHVsZT0neG1sbWVtb3J5Jz4KKyAgICAgIDxpbmZvPnNob3cgYSBzaG93IGRpc3BsYXkgb2YgdGhlIG1lbW9yeSBhbGxvY2F0ZWQsIGFuZCBkdW1wIHRoZSBAbnIgbGFzdCBhbGxvY2F0ZWQgYXJlYXMgd2hpY2ggd2VyZSBub3QgZnJlZWQ8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZnAnIHR5cGU9J0ZJTEUgKicgaW5mbz0nYSBGSUxFIGRlc2NyaXB0b3IgdXNlZCBhcyB0aGUgb3V0cHV0IGZpbGUnLz4KKyAgICAgIDxhcmcgbmFtZT0nbnInIHR5cGU9J2ludCcgaW5mbz0nbnVtYmVyIG9mIGVudHJpZXMgdG8gZHVtcCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbE1lbVN0cmR1cExvYycgZmlsZT0neG1sbWVtb3J5JyBtb2R1bGU9J3htbG1lbW9yeSc+CisgICAgICA8aW5mbz5hIHN0cmR1cCgpIGVxdWl2YWxlbnQsIHdpdGggbG9nZ2luZyBvZiB0aGUgYWxsb2NhdGlvbiBpbmZvLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0nY2hhciAqJyBpbmZvPSdhIHBvaW50ZXIgdG8gdGhlIG5ldyBzdHJpbmcgb3IgTlVMTCBpZiBhbGxvY2F0aW9uIGVycm9yIG9jY3VycmVkLicvPgorICAgICAgPGFyZyBuYW1lPSdzdHInIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIGluaXRpYWwgc3RyaW5nIHBvaW50ZXInLz4KKyAgICAgIDxhcmcgbmFtZT0nZmlsZScgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSd0aGUgZmlsZSBuYW1lIG9yIE5VTEwnLz4KKyAgICAgIDxhcmcgbmFtZT0nbGluZScgdHlwZT0naW50JyBpbmZvPSd0aGUgbGluZSBudW1iZXInLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxNZW1Vc2VkJyBmaWxlPSd4bWxtZW1vcnknIG1vZHVsZT0neG1sbWVtb3J5Jz4KKyAgICAgIDxpbmZvPlByb3ZpZGVzIHRoZSBhbW91bnQgb2YgbWVtb3J5IGN1cnJlbnRseSBhbGxvY2F0ZWQ8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nYW4gaW50IHJlcHJlc2VudGluZyB0aGUgYW1vdW50IG9mIG1lbW9yeSBhbGxvY2F0ZWQuJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sTWVtb3J5RHVtcCcgZmlsZT0neG1sbWVtb3J5JyBtb2R1bGU9J3htbG1lbW9yeSc+CisgICAgICA8aW5mbz5EdW1wIGluLWV4dGVuc28gdGhlIG1lbW9yeSBibG9ja3MgYWxsb2NhdGVkIHRvIHRoZSBmaWxlIC5tZW1vcnlsaXN0PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sTWVtb3J5U3RyZHVwJyBmaWxlPSd4bWxtZW1vcnknIG1vZHVsZT0neG1sbWVtb3J5Jz4KKyAgICAgIDxpbmZvPmEgc3RyZHVwKCkgZXF1aXZhbGVudCwgd2l0aCBsb2dnaW5nIG9mIHRoZSBhbGxvY2F0aW9uIGluZm8uPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdjaGFyIConIGluZm89J2EgcG9pbnRlciB0byB0aGUgbmV3IHN0cmluZyBvciBOVUxMIGlmIGFsbG9jYXRpb24gZXJyb3Igb2NjdXJyZWQuJy8+CisgICAgICA8YXJnIG5hbWU9J3N0cicgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSd0aGUgaW5pdGlhbCBzdHJpbmcgcG9pbnRlcicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbE1vZHVsZUNsb3NlJyBmaWxlPSd4bWxtb2R1bGUnIG1vZHVsZT0neG1sbW9kdWxlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX01PRFVMRVNfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5UaGUgY2xvc2Ugb3BlcmF0aW9ucyB1bmxvYWQgdGhlIGFzc29jaWF0ZWQgbW9kdWxlIGFuZCBmcmVlIHRoZSBkYXRhIGFzc29jaWF0ZWQgdG8gdGhlIG1vZHVsZS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMCBpbiBjYXNlIG9mIHN1Y2Nlc3MsIC0xIGluIGNhc2Ugb2YgYXJndW1lbnQgZXJyb3IgYW5kIC0yIGlmIHRoZSBtb2R1bGUgY291bGQgbm90IGJlIGNsb3NlZC91bmxvYWRlZC4nLz4KKyAgICAgIDxhcmcgbmFtZT0nbW9kdWxlJyB0eXBlPSd4bWxNb2R1bGVQdHInIGluZm89J3RoZSBtb2R1bGUgaGFuZGxlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sTW9kdWxlRnJlZScgZmlsZT0neG1sbW9kdWxlJyBtb2R1bGU9J3htbG1vZHVsZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9NT0RVTEVTX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+VGhlIGZyZWUgb3BlcmF0aW9ucyBmcmVlIHRoZSBkYXRhIGFzc29jaWF0ZWQgdG8gdGhlIG1vZHVsZSBidXQgZG9lcyBub3QgdW5sb2FkIHRoZSBhc3NvY2lhdGVkIHNoYXJlZCBsaWJyYXJ5IHdoaWNoIG1heSBzdGlsbCBiZSBpbiB1c2UuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzAgaW4gY2FzZSBvZiBzdWNjZXNzLCAtMSBpbiBjYXNlIG9mIGFyZ3VtZW50IGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J21vZHVsZScgdHlwZT0neG1sTW9kdWxlUHRyJyBpbmZvPSd0aGUgbW9kdWxlIGhhbmRsZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbE1vZHVsZU9wZW4nIGZpbGU9J3htbG1vZHVsZScgbW9kdWxlPSd4bWxtb2R1bGUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfTU9EVUxFU19FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPk9wZW5zIGEgbW9kdWxlL3NoYXJlZCBsaWJyYXJ5IGdpdmVuIGl0cyBuYW1lIG9yIHBhdGggTk9URTogdGhhdCBkdWUgdG8gcG9ydGFiaWxpdHkgaXNzdWVzLCBiZWhhdmlvdXIgY2FuIG9ubHkgYmUgZ3VhcmFudGVlZCB3aXRoIEBuYW1lIHVzaW5nIEFTQ0lJLiBXZSBjYW5vdCBndWFyYW50ZWUgdGhhdCBhbiBVVEYtOCBzdHJpbmcgd291bGQgd29yaywgd2hpY2ggaXMgd2h5IG5hbWUgaXMgYSBjb25zdCBjaGFyICogYW5kIG5vdCBhIGNvbnN0IHhtbENoYXIgKiAuIFRPRE86IG9wdGlvbnMgYXJlIG5vdCB5ZXQgaW1wbGVtZW50ZWQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxNb2R1bGVQdHInIGluZm89J2EgaGFuZGxlIGZvciB0aGUgbW9kdWxlIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBtb2R1bGUgbmFtZScvPgorICAgICAgPGFyZyBuYW1lPSdvcHRpb25zJyB0eXBlPSdpbnQnIGluZm89J2Egc2V0IG9mIHhtbE1vZHVsZU9wdGlvbicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbE1vZHVsZVN5bWJvbCcgZmlsZT0neG1sbW9kdWxlJyBtb2R1bGU9J3htbG1vZHVsZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9NT0RVTEVTX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+TG9va3VwIGZvciBhIHN5bWJvbCBhZGRyZXNzIGluIHRoZSBnaXZlbiBtb2R1bGUgTk9URTogdGhhdCBkdWUgdG8gcG9ydGFiaWxpdHkgaXNzdWVzLCBiZWhhdmlvdXIgY2FuIG9ubHkgYmUgZ3VhcmFudGVlZCB3aXRoIEBuYW1lIHVzaW5nIEFTQ0lJLiBXZSBjYW5vdCBndWFyYW50ZWUgdGhhdCBhbiBVVEYtOCBzdHJpbmcgd291bGQgd29yaywgd2hpY2ggaXMgd2h5IG5hbWUgaXMgYSBjb25zdCBjaGFyICogYW5kIG5vdCBhIGNvbnN0IHhtbENoYXIgKiAuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzAgaWYgdGhlIHN5bWJvbCB3YXMgZm91bmQsIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0nbW9kdWxlJyB0eXBlPSd4bWxNb2R1bGVQdHInIGluZm89J3RoZSBtb2R1bGUnLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFtZScgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSd0aGUgbmFtZSBvZiB0aGUgc3ltYm9sJy8+CisgICAgICA8YXJnIG5hbWU9J3N5bWJvbCcgdHlwZT0ndm9pZCAqKicgaW5mbz0ndGhlIHJlc3VsdGluZyBzeW1ib2wgYWRkcmVzcycvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbE11dGV4TG9jaycgZmlsZT0ndGhyZWFkcycgbW9kdWxlPSd0aHJlYWRzJz4KKyAgICAgIDxpbmZvPnhtbE11dGV4TG9jaygpIGlzIHVzZWQgdG8gbG9jayBhIGxpYnhtbDIgdG9rZW4uPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J3RvaycgdHlwZT0neG1sTXV0ZXhQdHInIGluZm89J3RoZSBzaW1wbGUgbXV0ZXgnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxNdXRleFVubG9jaycgZmlsZT0ndGhyZWFkcycgbW9kdWxlPSd0aHJlYWRzJz4KKyAgICAgIDxpbmZvPnhtbE11dGV4VW5sb2NrKCkgaXMgdXNlZCB0byB1bmxvY2sgYSBsaWJ4bWwyIHRva2VuLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSd0b2snIHR5cGU9J3htbE11dGV4UHRyJyBpbmZvPSd0aGUgc2ltcGxlIG11dGV4Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sTmFtZXNwYWNlUGFyc2VOQ05hbWUnIGZpbGU9J3BhcnNlckludGVybmFscycgbW9kdWxlPSdsZWdhY3knPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfTEVHQUNZX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+cGFyc2UgYW4gWE1MIG5hbWVzcGFjZSBuYW1lLiAgVE9ETzogdGhpcyBzZWVtcyBub3QgaW4gdXNlIGFueW1vcmUsIHRoZSBuYW1lc3BhY2UgaGFuZGxpbmcgaXMgZG9uZSBvbiB0b3Agb2YgdGhlIFNBWCBpbnRlcmZhY2VzLCBpLmUuIG5vdCBvbiByYXcgaW5wdXQuICBbTlMgM10gTkNOYW1lIDo6PSAoTGV0dGVyIHwgJmFwb3M7XyZhcG9zOykgKE5DTmFtZUNoYXIpKiAgW05TIDRdIE5DTmFtZUNoYXIgOjo9IExldHRlciB8IERpZ2l0IHwgJmFwb3M7LiZhcG9zOyB8ICZhcG9zOy0mYXBvczsgfCAmYXBvcztfJmFwb3M7IHwgQ29tYmluaW5nQ2hhciB8IEV4dGVuZGVyPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxDaGFyIConIGluZm89J3RoZSBuYW1lc3BhY2UgbmFtZSBvciBOVUxMJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFBhcnNlckN0eHRQdHInIGluZm89J2FuIFhNTCBwYXJzZXIgY29udGV4dCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbE5hbWVzcGFjZVBhcnNlTlNEZWYnIGZpbGU9J3BhcnNlckludGVybmFscycgbW9kdWxlPSdsZWdhY3knPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfTEVHQUNZX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+cGFyc2UgYSBuYW1lc3BhY2UgcHJlZml4IGRlY2xhcmF0aW9uICBUT0RPOiB0aGlzIHNlZW1zIG5vdCBpbiB1c2UgYW55bW9yZSwgdGhlIG5hbWVzcGFjZSBoYW5kbGluZyBpcyBkb25lIG9uIHRvcCBvZiB0aGUgU0FYIGludGVyZmFjZXMsIGkuZS4gbm90IG9uIHJhdyBpbnB1dC4gIFtOUyAxXSBOU0RlZiA6Oj0gUHJlZml4RGVmIEVxIFN5c3RlbUxpdGVyYWwgIFtOUyAyXSBQcmVmaXhEZWYgOjo9ICZhcG9zO3htbG5zJmFwb3M7ICgmYXBvczs6JmFwb3M7IE5DTmFtZSk/PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxDaGFyIConIGluZm89J3RoZSBuYW1lc3BhY2UgbmFtZScvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxQYXJzZXJDdHh0UHRyJyBpbmZvPSdhbiBYTUwgcGFyc2VyIGNvbnRleHQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxOYW1lc3BhY2VQYXJzZVFOYW1lJyBmaWxlPSdwYXJzZXJJbnRlcm5hbHMnIG1vZHVsZT0nbGVnYWN5Jz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0xFR0FDWV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlRPRE86IHRoaXMgc2VlbXMgbm90IGluIHVzZSBhbnltb3JlLCB0aGUgbmFtZXNwYWNlIGhhbmRsaW5nIGlzIGRvbmUgb24gdG9wIG9mIHRoZSBTQVggaW50ZXJmYWNlcywgaS5lLiBub3Qgb24gcmF3IGlucHV0LiAgcGFyc2UgYW4gWE1MIHF1YWxpZmllZCBuYW1lICBbTlMgNV0gUU5hbWUgOjo9IChQcmVmaXggJmFwb3M7OiZhcG9zOyk/IExvY2FsUGFydCAgW05TIDZdIFByZWZpeCA6Oj0gTkNOYW1lICBbTlMgN10gTG9jYWxQYXJ0IDo6PSBOQ05hbWU8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbENoYXIgKicgaW5mbz0ndGhlIGxvY2FsIHBhcnQsIGFuZCBwcmVmaXggaXMgdXBkYXRlZCB0byBnZXQgdGhlIFByZWZpeCBpZiBhbnkuJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFBhcnNlckN0eHRQdHInIGluZm89J2FuIFhNTCBwYXJzZXIgY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdwcmVmaXgnIHR5cGU9J3htbENoYXIgKionIGluZm89J2EgeG1sQ2hhciAqKicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbE5hbm9GVFBDaGVja1Jlc3BvbnNlJyBmaWxlPSduYW5vZnRwJyBtb2R1bGU9J25hbm9mdHAnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfRlRQX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgaWYgdGhlcmUgaXMgYSByZXNwb25zZSBmcm9tIHRoZSBGVFAgc2VydmVyIGFmdGVyIGEgY29tbWFuZC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndGhlIGNvZGUgbnVtYmVyLCBvciAwJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eCcgdHlwZT0ndm9pZCAqJyBpbmZvPSdhbiBGVFAgY29udGV4dCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbE5hbm9GVFBDbGVhbnVwJyBmaWxlPSduYW5vZnRwJyBtb2R1bGU9J25hbm9mdHAnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfRlRQX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2xlYW51cCB0aGUgRlRQIHByb3RvY29sIGxheWVyLiBUaGlzIGNsZWFudXAgcHJveHkgaW5mb3JtYXRpb25zLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbE5hbm9GVFBDbG9zZScgZmlsZT0nbmFub2Z0cCcgbW9kdWxlPSduYW5vZnRwJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0ZUUF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNsb3NlIHRoZSBjb25uZWN0aW9uIGFuZCBib3RoIGNvbnRyb2wgYW5kIHRyYW5zcG9ydDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSctMSBpbmNhc2Ugb2YgZXJyb3IsIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eCcgdHlwZT0ndm9pZCAqJyBpbmZvPSdhbiBGVFAgY29udGV4dCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbE5hbm9GVFBDbG9zZUNvbm5lY3Rpb24nIGZpbGU9J25hbm9mdHAnIG1vZHVsZT0nbmFub2Z0cCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9GVFBfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DbG9zZSB0aGUgZGF0YSBjb25uZWN0aW9uIGZyb20gdGhlIHNlcnZlcjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSctMSBpbmNhc2Ugb2YgZXJyb3IsIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eCcgdHlwZT0ndm9pZCAqJyBpbmZvPSdhbiBGVFAgY29udGV4dCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbE5hbm9GVFBDb25uZWN0JyBmaWxlPSduYW5vZnRwJyBtb2R1bGU9J25hbm9mdHAnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfRlRQX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+VHJpZXMgdG8gb3BlbiBhIGNvbnRyb2wgY29ubmVjdGlvbjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSctMSBpbiBjYXNlIG9mIGVycm9yLCAwIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdjdHgnIHR5cGU9J3ZvaWQgKicgaW5mbz0nYW4gRlRQIGNvbnRleHQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxOYW5vRlRQQ29ubmVjdFRvJyBmaWxlPSduYW5vZnRwJyBtb2R1bGU9J25hbm9mdHAnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfRlRQX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+VHJpZXMgdG8gb3BlbiBhIGNvbnRyb2wgY29ubmVjdGlvbiB0byB0aGUgZ2l2ZW4gc2VydmVyL3BvcnQ8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQgKicgaW5mbz0nYW4gZlRQIGNvbnRleHQgb3IgTlVMTCBpZiBpdCBmYWlsZWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nc2VydmVyJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J2FuIEZUUCBzZXJ2ZXIgbmFtZScvPgorICAgICAgPGFyZyBuYW1lPSdwb3J0JyB0eXBlPSdpbnQnIGluZm89J3RoZSBwb3J0ICh1c2UgMjEgaWYgMCknLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxOYW5vRlRQQ3dkJyBmaWxlPSduYW5vZnRwJyBtb2R1bGU9J25hbm9mdHAnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfRlRQX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+VHJpZXMgdG8gY2hhbmdlIHRoZSByZW1vdGUgZGlyZWN0b3J5PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89Jy0xIGluY2FzZSBvZiBlcnJvciwgMSBpZiBDV0Qgd29ya2VkLCAwIGlmIGl0IGZhaWxlZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHgnIHR5cGU9J3ZvaWQgKicgaW5mbz0nYW4gRlRQIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZGlyZWN0b3J5JyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J2EgZGlyZWN0b3J5IG9uIHRoZSBzZXJ2ZXInLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxOYW5vRlRQRGVsZScgZmlsZT0nbmFub2Z0cCcgbW9kdWxlPSduYW5vZnRwJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0ZUUF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlRyaWVzIHRvIGRlbGV0ZSBhbiBpdGVtIChmaWxlIG9yIGRpcmVjdG9yeSkgZnJvbSBzZXJ2ZXI8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nLTEgaW5jYXNlIG9mIGVycm9yLCAxIGlmIERFTEUgd29ya2VkLCAwIGlmIGl0IGZhaWxlZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHgnIHR5cGU9J3ZvaWQgKicgaW5mbz0nYW4gRlRQIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZmlsZScgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSdhIGZpbGUgb3IgZGlyZWN0b3J5IG9uIHRoZSBzZXJ2ZXInLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxOYW5vRlRQRnJlZUN0eHQnIGZpbGU9J25hbm9mdHAnIG1vZHVsZT0nbmFub2Z0cCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9GVFBfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5GcmVlcyB0aGUgY29udGV4dCBhZnRlciBjbG9zaW5nIHRoZSBjb25uZWN0aW9uLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHgnIHR5cGU9J3ZvaWQgKicgaW5mbz0nYW4gRlRQIGNvbnRleHQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxOYW5vRlRQR2V0JyBmaWxlPSduYW5vZnRwJyBtb2R1bGU9J25hbm9mdHAnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfRlRQX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+RmV0Y2ggdGhlIGdpdmVuIGZpbGUgZnJvbSB0aGUgc2VydmVyLiBBbGwgZGF0YSBhcmUgcGFzc2VkIGJhY2sgaW4gdGhlIGNhbGxiYWNrcy4gVGhlIGxhc3QgY2FsbGJhY2sgaGFzIGEgc2l6ZSBvZiAwIGJsb2NrLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSctMSBpbmNhc2Ugb2YgZXJyb3IsIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eCcgdHlwZT0ndm9pZCAqJyBpbmZvPSdhbiBGVFAgY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdjYWxsYmFjaycgdHlwZT0nZnRwRGF0YUNhbGxiYWNrJyBpbmZvPSd0aGUgdXNlciBjYWxsYmFjaycvPgorICAgICAgPGFyZyBuYW1lPSd1c2VyRGF0YScgdHlwZT0ndm9pZCAqJyBpbmZvPSd0aGUgdXNlciBjYWxsYmFjayBkYXRhJy8+CisgICAgICA8YXJnIG5hbWU9J2ZpbGVuYW1lJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBmaWxlIHRvIHJldHJpZXZlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sTmFub0ZUUEdldENvbm5lY3Rpb24nIGZpbGU9J25hbm9mdHAnIG1vZHVsZT0nbmFub2Z0cCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9GVFBfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5UcnkgdG8gb3BlbiBhIGRhdGEgY29ubmVjdGlvbiB0byB0aGUgc2VydmVyLiBDdXJyZW50bHkgb25seSBwYXNzaXZlIG1vZGUgaXMgc3VwcG9ydGVkLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0nU09DS0VUJyBpbmZvPSctMSBpbmNhc2Ugb2YgZXJyb3IsIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eCcgdHlwZT0ndm9pZCAqJyBpbmZvPSdhbiBGVFAgY29udGV4dCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbE5hbm9GVFBHZXRSZXNwb25zZScgZmlsZT0nbmFub2Z0cCcgbW9kdWxlPSduYW5vZnRwJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0ZUUF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkdldCB0aGUgcmVzcG9uc2UgZnJvbSB0aGUgRlRQIHNlcnZlciBhZnRlciBhIGNvbW1hbmQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J3RoZSBjb2RlIG51bWJlcicvPgorICAgICAgPGFyZyBuYW1lPSdjdHgnIHR5cGU9J3ZvaWQgKicgaW5mbz0nYW4gRlRQIGNvbnRleHQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxOYW5vRlRQR2V0U29ja2V0JyBmaWxlPSduYW5vZnRwJyBtb2R1bGU9J25hbm9mdHAnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfRlRQX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+SW5pdGlhdGUgZmV0Y2ggb2YgdGhlIGdpdmVuIGZpbGUgZnJvbSB0aGUgc2VydmVyLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0nU09DS0VUJyBpbmZvPSd0aGUgc29ja2V0IGZvciB0aGUgZGF0YSBjb25uZWN0aW9uLCBvciAmbHQ7MCBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eCcgdHlwZT0ndm9pZCAqJyBpbmZvPSdhbiBGVFAgY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdmaWxlbmFtZScgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSd0aGUgZmlsZSB0byByZXRyaWV2ZSAob3IgTlVMTCBpZiBwYXRoIGlzIGluIGNvbnRleHQpLicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbE5hbm9GVFBJbml0JyBmaWxlPSduYW5vZnRwJyBtb2R1bGU9J25hbm9mdHAnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfRlRQX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+SW5pdGlhbGl6ZSB0aGUgRlRQIHByb3RvY29sIGxheWVyLiBDdXJyZW50bHkgaXQganVzdCBjaGVja3MgZm9yIHByb3h5IGluZm9ybWF0aW9ucywgYW5kIGdldCB0aGUgaG9zdG5hbWU8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxOYW5vRlRQTGlzdCcgZmlsZT0nbmFub2Z0cCcgbW9kdWxlPSduYW5vZnRwJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0ZUUF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkRvIGEgbGlzdGluZyBvbiB0aGUgc2VydmVyLiBBbGwgZmlsZXMgaW5mbyBhcmUgcGFzc2VkIGJhY2sgaW4gdGhlIGNhbGxiYWNrcy48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nLTEgaW5jYXNlIG9mIGVycm9yLCAwIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdjdHgnIHR5cGU9J3ZvaWQgKicgaW5mbz0nYW4gRlRQIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY2FsbGJhY2snIHR5cGU9J2Z0cExpc3RDYWxsYmFjaycgaW5mbz0ndGhlIHVzZXIgY2FsbGJhY2snLz4KKyAgICAgIDxhcmcgbmFtZT0ndXNlckRhdGEnIHR5cGU9J3ZvaWQgKicgaW5mbz0ndGhlIHVzZXIgY2FsbGJhY2sgZGF0YScvPgorICAgICAgPGFyZyBuYW1lPSdmaWxlbmFtZScgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSdvcHRpb25hbCBmaWxlcyB0byBsaXN0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sTmFub0ZUUE5ld0N0eHQnIGZpbGU9J25hbm9mdHAnIG1vZHVsZT0nbmFub2Z0cCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9GVFBfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5BbGxvY2F0ZSBhbmQgaW5pdGlhbGl6ZSBhIG5ldyBGVFAgY29udGV4dC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQgKicgaW5mbz0nYW4gRlRQIGNvbnRleHQgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLicvPgorICAgICAgPGFyZyBuYW1lPSdVUkwnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0nVGhlIFVSTCB1c2VkIHRvIGluaXRpYWxpemUgdGhlIGNvbnRleHQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxOYW5vRlRQT3BlbicgZmlsZT0nbmFub2Z0cCcgbW9kdWxlPSduYW5vZnRwJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0ZUUF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlN0YXJ0IHRvIGZldGNoIHRoZSBnaXZlbiBmdHA6Ly8gcmVzb3VyY2U8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQgKicgaW5mbz0nYW4gRlRQIGNvbnRleHQsIG9yIE5VTEwnLz4KKyAgICAgIDxhcmcgbmFtZT0nVVJMJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBVUkwgdG8gdGhlIHJlc291cmNlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sTmFub0ZUUFByb3h5JyBmaWxlPSduYW5vZnRwJyBtb2R1bGU9J25hbm9mdHAnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfRlRQX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+U2V0dXAgdGhlIEZUUCBwcm94eSBpbmZvcm1hdGlvbnMuIFRoaXMgY2FuIGFsc28gYmUgZG9uZSBieSB1c2luZyBmdHBfcHJveHkgZnRwX3Byb3h5X3VzZXIgYW5kIGZ0cF9wcm94eV9wYXNzd29yZCBlbnZpcm9ubWVudCB2YXJpYWJsZXMuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2hvc3QnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIHByb3h5IGhvc3QgbmFtZScvPgorICAgICAgPGFyZyBuYW1lPSdwb3J0JyB0eXBlPSdpbnQnIGluZm89J3RoZSBwcm94eSBwb3J0Jy8+CisgICAgICA8YXJnIG5hbWU9J3VzZXInIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIHByb3h5IHVzZXIgbmFtZScvPgorICAgICAgPGFyZyBuYW1lPSdwYXNzd2QnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIHByb3h5IHBhc3N3b3JkJy8+CisgICAgICA8YXJnIG5hbWU9J3R5cGUnIHR5cGU9J2ludCcgaW5mbz0ndGhlIHR5cGUgb2YgcHJveHkgMSBmb3IgdXNpbmcgU0lURSwgMiBmb3IgVVNFUiBhQGInLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxOYW5vRlRQUXVpdCcgZmlsZT0nbmFub2Z0cCcgbW9kdWxlPSduYW5vZnRwJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0ZUUF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlNlbmQgYSBRVUlUIGNvbW1hbmQgdG8gdGhlIHNlcnZlcjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSctMSBpbiBjYXNlIG9mIGVycm9yLCAwIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdjdHgnIHR5cGU9J3ZvaWQgKicgaW5mbz0nYW4gRlRQIGNvbnRleHQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxOYW5vRlRQUmVhZCcgZmlsZT0nbmFub2Z0cCcgbW9kdWxlPSduYW5vZnRwJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0ZUUF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlRoaXMgZnVuY3Rpb24gdHJpZXMgdG8gcmVhZCBAbGVuIGJ5dGVzIGZyb20gdGhlIGV4aXN0aW5nIEZUUCBjb25uZWN0aW9uIGFuZCBzYXZlcyB0aGVtIGluIEBkZXN0LiBUaGlzIGlzIGEgYmxvY2tpbmcgY2FsbC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndGhlIG51bWJlciBvZiBieXRlIHJlYWQuIDAgaXMgYW4gaW5kaWNhdGlvbiBvZiBhbiBlbmQgb2YgY29ubmVjdGlvbi4gLTEgaW5kaWNhdGVzIGEgcGFyYW1ldGVyIGVycm9yLicvPgorICAgICAgPGFyZyBuYW1lPSdjdHgnIHR5cGU9J3ZvaWQgKicgaW5mbz0ndGhlIEZUUCBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J2Rlc3QnIHR5cGU9J3ZvaWQgKicgaW5mbz0nYSBidWZmZXInLz4KKyAgICAgIDxhcmcgbmFtZT0nbGVuJyB0eXBlPSdpbnQnIGluZm89J3RoZSBidWZmZXIgbGVuZ3RoJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sTmFub0ZUUFNjYW5Qcm94eScgZmlsZT0nbmFub2Z0cCcgbW9kdWxlPSduYW5vZnRwJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0ZUUF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPihSZSlJbml0aWFsaXplIHRoZSBGVFAgUHJveHkgY29udGV4dCBieSBwYXJzaW5nIHRoZSBVUkwgYW5kIGZpbmRpbmcgdGhlIHByb3RvY29sIGhvc3QgcG9ydCBpdCBpbmRpY2F0ZXMuIFNob3VsZCBiZSBsaWtlIGZ0cDovL215cHJveHkvIG9yIGZ0cDovL215cHJveHk6MzEyOC8gQSBOVUxMIFVSTCBjbGVhbnMgdXAgcHJveHkgaW5mb3JtYXRpb25zLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdVUkwnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0nVGhlIHByb3h5IFVSTCB1c2VkIHRvIGluaXRpYWxpemUgdGhlIHByb3h5IGNvbnRleHQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxOYW5vRlRQVXBkYXRlVVJMJyBmaWxlPSduYW5vZnRwJyBtb2R1bGU9J25hbm9mdHAnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfRlRQX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+VXBkYXRlIGFuIEZUUCBjb250ZXh0IGJ5IHBhcnNpbmcgdGhlIFVSTCBhbmQgZmluZGluZyBuZXcgcGF0aCBpdCBpbmRpY2F0ZXMuIElmIHRoZXJlIGlzIGFuIGVycm9yIGluIHRoZSBwcm90b2NvbCwgaG9zdG5hbWUsIHBvcnQgb3Igb3RoZXIgaW5mb3JtYXRpb24sIHRoZSBlcnJvciBpcyByYWlzZWQuIEl0IGluZGljYXRlcyBhIG5ldyBjb25uZWN0aW9uIGhhcyB0byBiZSBlc3RhYmxpc2hlZC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMCBpZiBPaywgLTEgaW4gY2FzZSBvZiBlcnJvciAob3RoZXIgaG9zdCkuJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eCcgdHlwZT0ndm9pZCAqJyBpbmZvPSdhbiBGVFAgY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdVUkwnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0nVGhlIFVSTCB1c2VkIHRvIHVwZGF0ZSB0aGUgY29udGV4dCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbE5hbm9IVFRQQXV0aEhlYWRlcicgZmlsZT0nbmFub2h0dHAnIG1vZHVsZT0nbmFub2h0dHAnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfSFRUUF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkdldCB0aGUgYXV0aGVudGljYXRpb24gaGVhZGVyIG9mIGFuIEhUVFAgY29udGV4dDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSd0aGUgc3Rhc2hlZCB2YWx1ZSBvZiB0aGUgV1dXLUF1dGhlbnRpY2F0ZSBvciBQcm94eS1BdXRoZW50aWNhdGUgaGVhZGVyLicvPgorICAgICAgPGFyZyBuYW1lPSdjdHgnIHR5cGU9J3ZvaWQgKicgaW5mbz0ndGhlIEhUVFAgY29udGV4dCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbE5hbm9IVFRQQ2xlYW51cCcgZmlsZT0nbmFub2h0dHAnIG1vZHVsZT0nbmFub2h0dHAnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfSFRUUF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNsZWFudXAgdGhlIEhUVFAgcHJvdG9jb2wgbGF5ZXIuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sTmFub0hUVFBDbG9zZScgZmlsZT0nbmFub2h0dHAnIG1vZHVsZT0nbmFub2h0dHAnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfSFRUUF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlRoaXMgZnVuY3Rpb24gY2xvc2VzIGFuIEhUVFAgY29udGV4dCwgaXQgZW5kcyB1cCB0aGUgY29ubmVjdGlvbiBhbmQgZnJlZSBhbGwgZGF0YSByZWxhdGVkIHRvIGl0LjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHgnIHR5cGU9J3ZvaWQgKicgaW5mbz0ndGhlIEhUVFAgY29udGV4dCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbE5hbm9IVFRQQ29udGVudExlbmd0aCcgZmlsZT0nbmFub2h0dHAnIG1vZHVsZT0nbmFub2h0dHAnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfSFRUUF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlByb3ZpZGVzIHRoZSBzcGVjaWZpZWQgY29udGVudCBsZW5ndGggZnJvbSB0aGUgSFRUUCBoZWFkZXIuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J3RoZSBzcGVjaWZpZWQgY29udGVudCBsZW5ndGggZnJvbSB0aGUgSFRUUCBoZWFkZXIuICBOb3RlIHRoYXQgYSB2YWx1ZSBvZiAtMSBpbmRpY2F0ZXMgdGhhdCB0aGUgY29udGVudCBsZW5ndGggZWxlbWVudCB3YXMgbm90IGluY2x1ZGVkIGluIHRoZSByZXNwb25zZSBoZWFkZXIuJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eCcgdHlwZT0ndm9pZCAqJyBpbmZvPSd0aGUgSFRUUCBjb250ZXh0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sTmFub0hUVFBFbmNvZGluZycgZmlsZT0nbmFub2h0dHAnIG1vZHVsZT0nbmFub2h0dHAnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfSFRUUF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlByb3ZpZGVzIHRoZSBzcGVjaWZpZWQgZW5jb2RpbmcgaWYgc3BlY2lmaWVkIGluIHRoZSBIVFRQIGhlYWRlcnMuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBzcGVjaWZpZWQgZW5jb2Rpbmcgb3IgTlVMTCBpZiBub3QgYXZhaWxhYmxlJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eCcgdHlwZT0ndm9pZCAqJyBpbmZvPSd0aGUgSFRUUCBjb250ZXh0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sTmFub0hUVFBGZXRjaCcgZmlsZT0nbmFub2h0dHAnIG1vZHVsZT0nbmFub2h0dHAnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfSFRUUF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlRoaXMgZnVuY3Rpb24gdHJ5IHRvIGZldGNoIHRoZSBpbmRpY2F0ZWQgcmVzb3VyY2UgdmlhIEhUVFAgR0VUIGFuZCBzYXZlIGl0JmFwb3M7cyBjb250ZW50IGluIHRoZSBmaWxlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSctMSBpbiBjYXNlIG9mIGZhaWx1cmUsIDAgaW5jYXNlIG9mIHN1Y2Nlc3MuIFRoZSBjb250ZW50VHlwZSwgaWYgcHJvdmlkZWQgbXVzdCBiZSBmcmVlZCBieSB0aGUgY2FsbGVyJy8+CisgICAgICA8YXJnIG5hbWU9J1VSTCcgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSdUaGUgVVJMIHRvIGxvYWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZmlsZW5hbWUnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIGZpbGVuYW1lIHdoZXJlIHRoZSBjb250ZW50IHNob3VsZCBiZSBzYXZlZCcvPgorICAgICAgPGFyZyBuYW1lPSdjb250ZW50VHlwZScgdHlwZT0nY2hhciAqKicgaW5mbz0naWYgYXZhaWxhYmxlIHRoZSBDb250ZW50LVR5cGUgaW5mb3JtYXRpb24gd2lsbCBiZSByZXR1cm5lZCBhdCB0aGF0IGxvY2F0aW9uJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sTmFub0hUVFBJbml0JyBmaWxlPSduYW5vaHR0cCcgbW9kdWxlPSduYW5vaHR0cCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9IVFRQX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+SW5pdGlhbGl6ZSB0aGUgSFRUUCBwcm90b2NvbCBsYXllci4gQ3VycmVudGx5IGl0IGp1c3QgY2hlY2tzIGZvciBwcm94eSBpbmZvcm1hdGlvbnM8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxOYW5vSFRUUE1ldGhvZCcgZmlsZT0nbmFub2h0dHAnIG1vZHVsZT0nbmFub2h0dHAnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfSFRUUF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlRoaXMgZnVuY3Rpb24gdHJ5IHRvIG9wZW4gYSBjb25uZWN0aW9uIHRvIHRoZSBpbmRpY2F0ZWQgcmVzb3VyY2UgdmlhIEhUVFAgdXNpbmcgdGhlIGdpdmVuIEBtZXRob2QsIGFkZGluZyB0aGUgZ2l2ZW4gZXh0cmEgaGVhZGVycyBhbmQgdGhlIGlucHV0IGJ1ZmZlciBmb3IgdGhlIHJlcXVlc3QgY29udGVudC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQgKicgaW5mbz0nTlVMTCBpbiBjYXNlIG9mIGZhaWx1cmUsIG90aGVyd2lzZSBhIHJlcXVlc3QgaGFuZGxlci4gVGhlIGNvbnRlbnRUeXBlLCBpZiBwcm92aWRlZCBtdXN0IGJlIGZyZWVkIGJ5IHRoZSBjYWxsZXInLz4KKyAgICAgIDxhcmcgbmFtZT0nVVJMJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J1RoZSBVUkwgdG8gbG9hZCcvPgorICAgICAgPGFyZyBuYW1lPSdtZXRob2QnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIEhUVFAgbWV0aG9kIHRvIHVzZScvPgorICAgICAgPGFyZyBuYW1lPSdpbnB1dCcgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSd0aGUgaW5wdXQgc3RyaW5nIGlmIGFueScvPgorICAgICAgPGFyZyBuYW1lPSdjb250ZW50VHlwZScgdHlwZT0nY2hhciAqKicgaW5mbz0ndGhlIENvbnRlbnQtVHlwZSBpbmZvcm1hdGlvbiBJTiBhbmQgT1VUJy8+CisgICAgICA8YXJnIG5hbWU9J2hlYWRlcnMnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIGV4dHJhIGhlYWRlcnMnLz4KKyAgICAgIDxhcmcgbmFtZT0naWxlbicgdHlwZT0naW50JyBpbmZvPSdpbnB1dCBsZW5ndGgnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxOYW5vSFRUUE1ldGhvZFJlZGlyJyBmaWxlPSduYW5vaHR0cCcgbW9kdWxlPSduYW5vaHR0cCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9IVFRQX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+VGhpcyBmdW5jdGlvbiB0cnkgdG8gb3BlbiBhIGNvbm5lY3Rpb24gdG8gdGhlIGluZGljYXRlZCByZXNvdXJjZSB2aWEgSFRUUCB1c2luZyB0aGUgZ2l2ZW4gQG1ldGhvZCwgYWRkaW5nIHRoZSBnaXZlbiBleHRyYSBoZWFkZXJzIGFuZCB0aGUgaW5wdXQgYnVmZmVyIGZvciB0aGUgcmVxdWVzdCBjb250ZW50LjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCAqJyBpbmZvPSdOVUxMIGluIGNhc2Ugb2YgZmFpbHVyZSwgb3RoZXJ3aXNlIGEgcmVxdWVzdCBoYW5kbGVyLiBUaGUgY29udGVudFR5cGUsIG9yIHJlZGlyLCBpZiBwcm92aWRlZCBtdXN0IGJlIGZyZWVkIGJ5IHRoZSBjYWxsZXInLz4KKyAgICAgIDxhcmcgbmFtZT0nVVJMJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J1RoZSBVUkwgdG8gbG9hZCcvPgorICAgICAgPGFyZyBuYW1lPSdtZXRob2QnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIEhUVFAgbWV0aG9kIHRvIHVzZScvPgorICAgICAgPGFyZyBuYW1lPSdpbnB1dCcgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSd0aGUgaW5wdXQgc3RyaW5nIGlmIGFueScvPgorICAgICAgPGFyZyBuYW1lPSdjb250ZW50VHlwZScgdHlwZT0nY2hhciAqKicgaW5mbz0ndGhlIENvbnRlbnQtVHlwZSBpbmZvcm1hdGlvbiBJTiBhbmQgT1VUJy8+CisgICAgICA8YXJnIG5hbWU9J3JlZGlyJyB0eXBlPSdjaGFyICoqJyBpbmZvPSd0aGUgcmVkaXJlY3RlZCBVUkwgT1VUJy8+CisgICAgICA8YXJnIG5hbWU9J2hlYWRlcnMnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIGV4dHJhIGhlYWRlcnMnLz4KKyAgICAgIDxhcmcgbmFtZT0naWxlbicgdHlwZT0naW50JyBpbmZvPSdpbnB1dCBsZW5ndGgnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxOYW5vSFRUUE1pbWVUeXBlJyBmaWxlPSduYW5vaHR0cCcgbW9kdWxlPSduYW5vaHR0cCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9IVFRQX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+UHJvdmlkZXMgdGhlIHNwZWNpZmllZCBNaW1lLVR5cGUgaWYgc3BlY2lmaWVkIGluIHRoZSBIVFRQIGhlYWRlcnMuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBzcGVjaWZpZWQgTWltZS1UeXBlIG9yIE5VTEwgaWYgbm90IGF2YWlsYWJsZScvPgorICAgICAgPGFyZyBuYW1lPSdjdHgnIHR5cGU9J3ZvaWQgKicgaW5mbz0ndGhlIEhUVFAgY29udGV4dCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbE5hbm9IVFRQT3BlbicgZmlsZT0nbmFub2h0dHAnIG1vZHVsZT0nbmFub2h0dHAnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfSFRUUF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlRoaXMgZnVuY3Rpb24gdHJ5IHRvIG9wZW4gYSBjb25uZWN0aW9uIHRvIHRoZSBpbmRpY2F0ZWQgcmVzb3VyY2UgdmlhIEhUVFAgR0VULjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCAqJyBpbmZvPSdOVUxMIGluIGNhc2Ugb2YgZmFpbHVyZSwgb3RoZXJ3aXNlIGEgcmVxdWVzdCBoYW5kbGVyLiBUaGUgY29udGVudFR5cGUsIGlmIHByb3ZpZGVkIG11c3QgYmUgZnJlZWQgYnkgdGhlIGNhbGxlcicvPgorICAgICAgPGFyZyBuYW1lPSdVUkwnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0nVGhlIFVSTCB0byBsb2FkJy8+CisgICAgICA8YXJnIG5hbWU9J2NvbnRlbnRUeXBlJyB0eXBlPSdjaGFyICoqJyBpbmZvPSdpZiBhdmFpbGFibGUgdGhlIENvbnRlbnQtVHlwZSBpbmZvcm1hdGlvbiB3aWxsIGJlIHJldHVybmVkIGF0IHRoYXQgbG9jYXRpb24nLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxOYW5vSFRUUE9wZW5SZWRpcicgZmlsZT0nbmFub2h0dHAnIG1vZHVsZT0nbmFub2h0dHAnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfSFRUUF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlRoaXMgZnVuY3Rpb24gdHJ5IHRvIG9wZW4gYSBjb25uZWN0aW9uIHRvIHRoZSBpbmRpY2F0ZWQgcmVzb3VyY2UgdmlhIEhUVFAgR0VULjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCAqJyBpbmZvPSdOVUxMIGluIGNhc2Ugb2YgZmFpbHVyZSwgb3RoZXJ3aXNlIGEgcmVxdWVzdCBoYW5kbGVyLiBUaGUgY29udGVudFR5cGUsIGlmIHByb3ZpZGVkIG11c3QgYmUgZnJlZWQgYnkgdGhlIGNhbGxlcicvPgorICAgICAgPGFyZyBuYW1lPSdVUkwnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0nVGhlIFVSTCB0byBsb2FkJy8+CisgICAgICA8YXJnIG5hbWU9J2NvbnRlbnRUeXBlJyB0eXBlPSdjaGFyICoqJyBpbmZvPSdpZiBhdmFpbGFibGUgdGhlIENvbnRlbnQtVHlwZSBpbmZvcm1hdGlvbiB3aWxsIGJlIHJldHVybmVkIGF0IHRoYXQgbG9jYXRpb24nLz4KKyAgICAgIDxhcmcgbmFtZT0ncmVkaXInIHR5cGU9J2NoYXIgKionIGluZm89J2lmIGF2YWlsYWJsZSB0aGUgcmVkaXJlY3RlZCBVUkwgd2lsbCBiZSByZXR1cm5lZCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbE5hbm9IVFRQUmVhZCcgZmlsZT0nbmFub2h0dHAnIG1vZHVsZT0nbmFub2h0dHAnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfSFRUUF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlRoaXMgZnVuY3Rpb24gdHJpZXMgdG8gcmVhZCBAbGVuIGJ5dGVzIGZyb20gdGhlIGV4aXN0aW5nIEhUVFAgY29ubmVjdGlvbiBhbmQgc2F2ZXMgdGhlbSBpbiBAZGVzdC4gVGhpcyBpcyBhIGJsb2NraW5nIGNhbGwuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J3RoZSBudW1iZXIgb2YgYnl0ZSByZWFkLiAwIGlzIGFuIGluZGljYXRpb24gb2YgYW4gZW5kIG9mIGNvbm5lY3Rpb24uIC0xIGluZGljYXRlcyBhIHBhcmFtZXRlciBlcnJvci4nLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4JyB0eXBlPSd2b2lkIConIGluZm89J3RoZSBIVFRQIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZGVzdCcgdHlwZT0ndm9pZCAqJyBpbmZvPSdhIGJ1ZmZlcicvPgorICAgICAgPGFyZyBuYW1lPSdsZW4nIHR5cGU9J2ludCcgaW5mbz0ndGhlIGJ1ZmZlciBsZW5ndGgnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxOYW5vSFRUUFJlZGlyJyBmaWxlPSduYW5vaHR0cCcgbW9kdWxlPSduYW5vaHR0cCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9IVFRQX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+UHJvdmlkZXMgdGhlIHNwZWNpZmllZCByZWRpcmVjdGlvbiBVUkwgaWYgYXZhaWxhYmxlIGZyb20gdGhlIEhUVFAgaGVhZGVyLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSd0aGUgc3BlY2lmaWVkIHJlZGlyZWN0aW9uIFVSTCBvciBOVUxMIGlmIG5vdCByZWRpcmVjdGVkLicvPgorICAgICAgPGFyZyBuYW1lPSdjdHgnIHR5cGU9J3ZvaWQgKicgaW5mbz0ndGhlIEhUVFAgY29udGV4dCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbE5hbm9IVFRQUmV0dXJuQ29kZScgZmlsZT0nbmFub2h0dHAnIG1vZHVsZT0nbmFub2h0dHAnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfSFRUUF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkdldCB0aGUgbGF0ZXN0IEhUVFAgcmV0dXJuIGNvZGUgcmVjZWl2ZWQ8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndGhlIEhUVFAgcmV0dXJuIGNvZGUgZm9yIHRoZSByZXF1ZXN0LicvPgorICAgICAgPGFyZyBuYW1lPSdjdHgnIHR5cGU9J3ZvaWQgKicgaW5mbz0ndGhlIEhUVFAgY29udGV4dCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbE5hbm9IVFRQU2F2ZScgZmlsZT0nbmFub2h0dHAnIG1vZHVsZT0nbmFub2h0dHAnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfSFRUUF9FTkFCTEVEKSAmYW1wOyZhbXA7IGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlRoaXMgZnVuY3Rpb24gc2F2ZXMgdGhlIG91dHB1dCBvZiB0aGUgSFRUUCB0cmFuc2FjdGlvbiB0byBhIGZpbGUgSXQgY2xvc2VzIGFuZCBmcmVlIHRoZSBjb250ZXh0IGF0IHRoZSBlbmQ8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nLTEgaW4gY2FzZSBvZiBmYWlsdXJlLCAwIGluY2FzZSBvZiBzdWNjZXNzLicvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd2b2lkIConIGluZm89J3RoZSBIVFRQIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZmlsZW5hbWUnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIGZpbGVuYW1lIHdoZXJlIHRoZSBjb250ZW50IHNob3VsZCBiZSBzYXZlZCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbE5hbm9IVFRQU2NhblByb3h5JyBmaWxlPSduYW5vaHR0cCcgbW9kdWxlPSduYW5vaHR0cCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9IVFRQX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+KFJlKUluaXRpYWxpemUgdGhlIEhUVFAgUHJveHkgY29udGV4dCBieSBwYXJzaW5nIHRoZSBVUkwgYW5kIGZpbmRpbmcgdGhlIHByb3RvY29sIGhvc3QgcG9ydCBpdCBpbmRpY2F0ZXMuIFNob3VsZCBiZSBsaWtlIGh0dHA6Ly9teXByb3h5LyBvciBodHRwOi8vbXlwcm94eTozMTI4LyBBIE5VTEwgVVJMIGNsZWFucyB1cCBwcm94eSBpbmZvcm1hdGlvbnMuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J1VSTCcgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSdUaGUgcHJveHkgVVJMIHVzZWQgdG8gaW5pdGlhbGl6ZSB0aGUgcHJveHkgY29udGV4dCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbE5ld0F1dG9tYXRhJyBmaWxlPSd4bWxhdXRvbWF0YScgbW9kdWxlPSd4bWxyZWdleHAnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfUkVHRVhQX0VOQUJMRUQpICZhbXA7JmFtcDsgZGVmaW5lZChMSUJYTUxfQVVUT01BVEFfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DcmVhdGUgYSBuZXcgYXV0b21hdGE8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbEF1dG9tYXRhUHRyJyBpbmZvPSd0aGUgbmV3IG9iamVjdCBvciBOVUxMIGluIGNhc2Ugb2YgZmFpbHVyZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbE5ld0NEYXRhQmxvY2snIGZpbGU9J3RyZWUnIG1vZHVsZT0ndHJlZSc+CisgICAgICA8aW5mbz5DcmVhdGlvbiBvZiBhIG5ldyBub2RlIGNvbnRhaW5pbmcgYSBDREFUQSBibG9jay48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbE5vZGVQdHInIGluZm89J2EgcG9pbnRlciB0byB0aGUgbmV3IG5vZGUgb2JqZWN0LicvPgorICAgICAgPGFyZyBuYW1lPSdkb2MnIHR5cGU9J3htbERvY1B0cicgaW5mbz0ndGhlIGRvY3VtZW50Jy8+CisgICAgICA8YXJnIG5hbWU9J2NvbnRlbnQnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIENEQVRBIGJsb2NrIGNvbnRlbnQgY29udGVudCcvPgorICAgICAgPGFyZyBuYW1lPSdsZW4nIHR5cGU9J2ludCcgaW5mbz0ndGhlIGxlbmd0aCBvZiB0aGUgYmxvY2snLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxOZXdDYXRhbG9nJyBmaWxlPSdjYXRhbG9nJyBtb2R1bGU9J2NhdGFsb2cnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfQ0FUQUxPR19FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPmNyZWF0ZSBhIG5ldyBDYXRhbG9nLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sQ2F0YWxvZ1B0cicgaW5mbz0ndGhlIHhtbENhdGFsb2dQdHIgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J3NnbWwnIHR5cGU9J2ludCcgaW5mbz0nc2hvdWxkIHRoaXMgY3JlYXRlIGFuIFNHTUwgY2F0YWxvZycvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbE5ld0NoYXJFbmNvZGluZ0hhbmRsZXInIGZpbGU9J2VuY29kaW5nJyBtb2R1bGU9J2VuY29kaW5nJz4KKyAgICAgIDxpbmZvPkNyZWF0ZSBhbmQgcmVnaXN0ZXJzIGFuIHhtbENoYXJFbmNvZGluZ0hhbmRsZXIuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyJyBpbmZvPSd0aGUgeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0ciBjcmVhdGVkIChvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IpLicvPgorICAgICAgPGFyZyBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBlbmNvZGluZyBuYW1lLCBpbiBVVEYtOCBmb3JtYXQgKEFTQ0lJIGFjdHVhbGx5KScvPgorICAgICAgPGFyZyBuYW1lPSdpbnB1dCcgdHlwZT0neG1sQ2hhckVuY29kaW5nSW5wdXRGdW5jJyBpbmZvPSd0aGUgeG1sQ2hhckVuY29kaW5nSW5wdXRGdW5jIHRvIHJlYWQgdGhhdCBlbmNvZGluZycvPgorICAgICAgPGFyZyBuYW1lPSdvdXRwdXQnIHR5cGU9J3htbENoYXJFbmNvZGluZ091dHB1dEZ1bmMnIGluZm89J3RoZSB4bWxDaGFyRW5jb2RpbmdPdXRwdXRGdW5jIHRvIHdyaXRlIHRoYXQgZW5jb2RpbmcnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxOZXdDaGFyUmVmJyBmaWxlPSd0cmVlJyBtb2R1bGU9J3RyZWUnPgorICAgICAgPGluZm8+Q3JlYXRpb24gb2YgYSBuZXcgY2hhcmFjdGVyIHJlZmVyZW5jZSBub2RlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sTm9kZVB0cicgaW5mbz0nYSBwb2ludGVyIHRvIHRoZSBuZXcgbm9kZSBvYmplY3QuJy8+CisgICAgICA8YXJnIG5hbWU9J2RvYycgdHlwZT0neG1sRG9jUHRyJyBpbmZvPSd0aGUgZG9jdW1lbnQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFtZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgY2hhciByZWYgc3RyaW5nLCBzdGFydGluZyB3aXRoICMgb3IgJnF1b3Q7JmFtcDsjIC4uLiA7JnF1b3Q7Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sTmV3Q2hpbGQnIGZpbGU9J3RyZWUnIG1vZHVsZT0ndHJlZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DcmVhdGlvbiBvZiBhIG5ldyBjaGlsZCBlbGVtZW50LCBhZGRlZCBhdCB0aGUgZW5kIG9mIEBwYXJlbnQgY2hpbGRyZW4gbGlzdC4gQG5zIGFuZCBAY29udGVudCBwYXJhbWV0ZXJzIGFyZSBvcHRpb25hbCAoTlVMTCkuIElmIEBucyBpcyBOVUxMLCB0aGUgbmV3bHkgY3JlYXRlZCBlbGVtZW50IGluaGVyaXRzIHRoZSBuYW1lc3BhY2Ugb2YgQHBhcmVudC4gSWYgQGNvbnRlbnQgaXMgbm9uIE5VTEwsIGEgY2hpbGQgbGlzdCBjb250YWluaW5nIHRoZSBURVhUcyBhbmQgRU5USVRZX1JFRnMgbm9kZSB3aWxsIGJlIGNyZWF0ZWQuIE5PVEU6IEBjb250ZW50IGlzIHN1cHBvc2VkIHRvIGJlIGEgcGllY2Ugb2YgWE1MIENEQVRBLCBzbyBpdCBhbGxvd3MgZW50aXR5IHJlZmVyZW5jZXMuIFhNTCBzcGVjaWFsIGNoYXJzIG11c3QgYmUgZXNjYXBlZCBmaXJzdCBieSB1c2luZyB4bWxFbmNvZGVFbnRpdGllc1JlZW50cmFudCgpLCBvciB4bWxOZXdUZXh0Q2hpbGQoKSBzaG91bGQgYmUgdXNlZC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbE5vZGVQdHInIGluZm89J2EgcG9pbnRlciB0byB0aGUgbmV3IG5vZGUgb2JqZWN0LicvPgorICAgICAgPGFyZyBuYW1lPSdwYXJlbnQnIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3RoZSBwYXJlbnQgbm9kZScvPgorICAgICAgPGFyZyBuYW1lPSducycgdHlwZT0neG1sTnNQdHInIGluZm89J2EgbmFtZXNwYWNlIGlmIGFueScvPgorICAgICAgPGFyZyBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBuYW1lIG9mIHRoZSBjaGlsZCcvPgorICAgICAgPGFyZyBuYW1lPSdjb250ZW50JyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBYTUwgY29udGVudCBvZiB0aGUgY2hpbGQgaWYgYW55LicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbE5ld0NvbW1lbnQnIGZpbGU9J3RyZWUnIG1vZHVsZT0ndHJlZSc+CisgICAgICA8aW5mbz5DcmVhdGlvbiBvZiBhIG5ldyBub2RlIGNvbnRhaW5pbmcgYSBjb21tZW50LjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sTm9kZVB0cicgaW5mbz0nYSBwb2ludGVyIHRvIHRoZSBuZXcgbm9kZSBvYmplY3QuJy8+CisgICAgICA8YXJnIG5hbWU9J2NvbnRlbnQnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIGNvbW1lbnQgY29udGVudCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbE5ld0RvYycgZmlsZT0ndHJlZScgbW9kdWxlPSd0cmVlJz4KKyAgICAgIDxpbmZvPkNyZWF0ZXMgYSBuZXcgWE1MIGRvY3VtZW50PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxEb2NQdHInIGluZm89J2EgbmV3IGRvY3VtZW50Jy8+CisgICAgICA8YXJnIG5hbWU9J3ZlcnNpb24nIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0neG1sQ2hhciBzdHJpbmcgZ2l2aW5nIHRoZSB2ZXJzaW9uIG9mIFhNTCAmcXVvdDsxLjAmcXVvdDsnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxOZXdEb2NDb21tZW50JyBmaWxlPSd0cmVlJyBtb2R1bGU9J3RyZWUnPgorICAgICAgPGluZm8+Q3JlYXRpb24gb2YgYSBuZXcgbm9kZSBjb250YWluaW5nIGEgY29tbWVudCB3aXRoaW4gYSBkb2N1bWVudC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbE5vZGVQdHInIGluZm89J2EgcG9pbnRlciB0byB0aGUgbmV3IG5vZGUgb2JqZWN0LicvPgorICAgICAgPGFyZyBuYW1lPSdkb2MnIHR5cGU9J3htbERvY1B0cicgaW5mbz0ndGhlIGRvY3VtZW50Jy8+CisgICAgICA8YXJnIG5hbWU9J2NvbnRlbnQnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIGNvbW1lbnQgY29udGVudCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbE5ld0RvY0VsZW1lbnRDb250ZW50JyBmaWxlPSd2YWxpZCcgbW9kdWxlPSd2YWxpZCc+CisgICAgICA8aW5mbz5BbGxvY2F0ZSBhbiBlbGVtZW50IGNvbnRlbnQgc3RydWN0dXJlIGZvciB0aGUgZG9jdW1lbnQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxFbGVtZW50Q29udGVudFB0cicgaW5mbz0nTlVMTCBpZiBub3QsIG90aGVyd2lzZSB0aGUgbmV3IGVsZW1lbnQgY29udGVudCBzdHJ1Y3R1cmUnLz4KKyAgICAgIDxhcmcgbmFtZT0nZG9jJyB0eXBlPSd4bWxEb2NQdHInIGluZm89J3RoZSBkb2N1bWVudCcvPgorICAgICAgPGFyZyBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBzdWJlbGVtZW50IG5hbWUgb3IgTlVMTCcvPgorICAgICAgPGFyZyBuYW1lPSd0eXBlJyB0eXBlPSd4bWxFbGVtZW50Q29udGVudFR5cGUnIGluZm89J3RoZSB0eXBlIG9mIGVsZW1lbnQgY29udGVudCBkZWNsJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sTmV3RG9jRnJhZ21lbnQnIGZpbGU9J3RyZWUnIG1vZHVsZT0ndHJlZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q3JlYXRpb24gb2YgYSBuZXcgRnJhZ21lbnQgbm9kZS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbE5vZGVQdHInIGluZm89J2EgcG9pbnRlciB0byB0aGUgbmV3IG5vZGUgb2JqZWN0LicvPgorICAgICAgPGFyZyBuYW1lPSdkb2MnIHR5cGU9J3htbERvY1B0cicgaW5mbz0ndGhlIGRvY3VtZW50IG93bmluZyB0aGUgZnJhZ21lbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxOZXdEb2NOb2RlJyBmaWxlPSd0cmVlJyBtb2R1bGU9J3RyZWUnPgorICAgICAgPGluZm8+Q3JlYXRpb24gb2YgYSBuZXcgbm9kZSBlbGVtZW50IHdpdGhpbiBhIGRvY3VtZW50LiBAbnMgYW5kIEBjb250ZW50IGFyZSBvcHRpb25hbCAoTlVMTCkuIE5PVEU6IEBjb250ZW50IGlzIHN1cHBvc2VkIHRvIGJlIGEgcGllY2Ugb2YgWE1MIENEQVRBLCBzbyBpdCBhbGxvdyBlbnRpdGllcyByZWZlcmVuY2VzLCBidXQgWE1MIHNwZWNpYWwgY2hhcnMgbmVlZCB0byBiZSBlc2NhcGVkIGZpcnN0IGJ5IHVzaW5nIHhtbEVuY29kZUVudGl0aWVzUmVlbnRyYW50KCkuIFVzZSB4bWxOZXdEb2NSYXdOb2RlKCkgaWYgeW91IGRvbiZhcG9zO3QgbmVlZCBlbnRpdGllcyBzdXBwb3J0LjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sTm9kZVB0cicgaW5mbz0nYSBwb2ludGVyIHRvIHRoZSBuZXcgbm9kZSBvYmplY3QuJy8+CisgICAgICA8YXJnIG5hbWU9J2RvYycgdHlwZT0neG1sRG9jUHRyJyBpbmZvPSd0aGUgZG9jdW1lbnQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbnMnIHR5cGU9J3htbE5zUHRyJyBpbmZvPSduYW1lc3BhY2UgaWYgYW55Jy8+CisgICAgICA8YXJnIG5hbWU9J25hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIG5vZGUgbmFtZScvPgorICAgICAgPGFyZyBuYW1lPSdjb250ZW50JyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBYTUwgdGV4dCBjb250ZW50IGlmIGFueScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbE5ld0RvY05vZGVFYXROYW1lJyBmaWxlPSd0cmVlJyBtb2R1bGU9J3RyZWUnPgorICAgICAgPGluZm8+Q3JlYXRpb24gb2YgYSBuZXcgbm9kZSBlbGVtZW50IHdpdGhpbiBhIGRvY3VtZW50LiBAbnMgYW5kIEBjb250ZW50IGFyZSBvcHRpb25hbCAoTlVMTCkuIE5PVEU6IEBjb250ZW50IGlzIHN1cHBvc2VkIHRvIGJlIGEgcGllY2Ugb2YgWE1MIENEQVRBLCBzbyBpdCBhbGxvdyBlbnRpdGllcyByZWZlcmVuY2VzLCBidXQgWE1MIHNwZWNpYWwgY2hhcnMgbmVlZCB0byBiZSBlc2NhcGVkIGZpcnN0IGJ5IHVzaW5nIHhtbEVuY29kZUVudGl0aWVzUmVlbnRyYW50KCkuIFVzZSB4bWxOZXdEb2NSYXdOb2RlKCkgaWYgeW91IGRvbiZhcG9zO3QgbmVlZCBlbnRpdGllcyBzdXBwb3J0LjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sTm9kZVB0cicgaW5mbz0nYSBwb2ludGVyIHRvIHRoZSBuZXcgbm9kZSBvYmplY3QuJy8+CisgICAgICA8YXJnIG5hbWU9J2RvYycgdHlwZT0neG1sRG9jUHRyJyBpbmZvPSd0aGUgZG9jdW1lbnQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbnMnIHR5cGU9J3htbE5zUHRyJyBpbmZvPSduYW1lc3BhY2UgaWYgYW55Jy8+CisgICAgICA8YXJnIG5hbWU9J25hbWUnIHR5cGU9J3htbENoYXIgKicgaW5mbz0ndGhlIG5vZGUgbmFtZScvPgorICAgICAgPGFyZyBuYW1lPSdjb250ZW50JyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBYTUwgdGV4dCBjb250ZW50IGlmIGFueScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbE5ld0RvY1BJJyBmaWxlPSd0cmVlJyBtb2R1bGU9J3RyZWUnPgorICAgICAgPGluZm8+Q3JlYXRpb24gb2YgYSBwcm9jZXNzaW5nIGluc3RydWN0aW9uIGVsZW1lbnQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSdhIHBvaW50ZXIgdG8gdGhlIG5ldyBub2RlIG9iamVjdC4nLz4KKyAgICAgIDxhcmcgbmFtZT0nZG9jJyB0eXBlPSd4bWxEb2NQdHInIGluZm89J3RoZSB0YXJnZXQgZG9jdW1lbnQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFtZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgcHJvY2Vzc2luZyBpbnN0cnVjdGlvbiBuYW1lJy8+CisgICAgICA8YXJnIG5hbWU9J2NvbnRlbnQnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIFBJIGNvbnRlbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxOZXdEb2NQcm9wJyBmaWxlPSd0cmVlJyBtb2R1bGU9J3RyZWUnPgorICAgICAgPGluZm8+Q3JlYXRlIGEgbmV3IHByb3BlcnR5IGNhcnJpZWQgYnkgYSBkb2N1bWVudC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbEF0dHJQdHInIGluZm89J2EgcG9pbnRlciB0byB0aGUgYXR0cmlidXRlJy8+CisgICAgICA8YXJnIG5hbWU9J2RvYycgdHlwZT0neG1sRG9jUHRyJyBpbmZvPSd0aGUgZG9jdW1lbnQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFtZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgbmFtZSBvZiB0aGUgYXR0cmlidXRlJy8+CisgICAgICA8YXJnIG5hbWU9J3ZhbHVlJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSB2YWx1ZSBvZiB0aGUgYXR0cmlidXRlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sTmV3RG9jUmF3Tm9kZScgZmlsZT0ndHJlZScgbW9kdWxlPSd0cmVlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DcmVhdGlvbiBvZiBhIG5ldyBub2RlIGVsZW1lbnQgd2l0aGluIGEgZG9jdW1lbnQuIEBucyBhbmQgQGNvbnRlbnQgYXJlIG9wdGlvbmFsIChOVUxMKS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbE5vZGVQdHInIGluZm89J2EgcG9pbnRlciB0byB0aGUgbmV3IG5vZGUgb2JqZWN0LicvPgorICAgICAgPGFyZyBuYW1lPSdkb2MnIHR5cGU9J3htbERvY1B0cicgaW5mbz0ndGhlIGRvY3VtZW50Jy8+CisgICAgICA8YXJnIG5hbWU9J25zJyB0eXBlPSd4bWxOc1B0cicgaW5mbz0nbmFtZXNwYWNlIGlmIGFueScvPgorICAgICAgPGFyZyBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBub2RlIG5hbWUnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29udGVudCcgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgdGV4dCBjb250ZW50IGlmIGFueScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbE5ld0RvY1RleHQnIGZpbGU9J3RyZWUnIG1vZHVsZT0ndHJlZSc+CisgICAgICA8aW5mbz5DcmVhdGlvbiBvZiBhIG5ldyB0ZXh0IG5vZGUgd2l0aGluIGEgZG9jdW1lbnQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSdhIHBvaW50ZXIgdG8gdGhlIG5ldyBub2RlIG9iamVjdC4nLz4KKyAgICAgIDxhcmcgbmFtZT0nZG9jJyB0eXBlPSdjb25zdCB4bWxEb2MgKicgaW5mbz0ndGhlIGRvY3VtZW50Jy8+CisgICAgICA8YXJnIG5hbWU9J2NvbnRlbnQnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIHRleHQgY29udGVudCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbE5ld0RvY1RleHRMZW4nIGZpbGU9J3RyZWUnIG1vZHVsZT0ndHJlZSc+CisgICAgICA8aW5mbz5DcmVhdGlvbiBvZiBhIG5ldyB0ZXh0IG5vZGUgd2l0aCBhbiBleHRyYSBjb250ZW50IGxlbmd0aCBwYXJhbWV0ZXIuIFRoZSB0ZXh0IG5vZGUgcGVydGFpbiB0byBhIGdpdmVuIGRvY3VtZW50LjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sTm9kZVB0cicgaW5mbz0nYSBwb2ludGVyIHRvIHRoZSBuZXcgbm9kZSBvYmplY3QuJy8+CisgICAgICA8YXJnIG5hbWU9J2RvYycgdHlwZT0neG1sRG9jUHRyJyBpbmZvPSd0aGUgZG9jdW1lbnQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29udGVudCcgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgdGV4dCBjb250ZW50Jy8+CisgICAgICA8YXJnIG5hbWU9J2xlbicgdHlwZT0naW50JyBpbmZvPSd0aGUgdGV4dCBsZW4uJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sTmV3RHRkJyBmaWxlPSd0cmVlJyBtb2R1bGU9J3RyZWUnPgorICAgICAgPGluZm8+Q3JlYXRpb24gb2YgYSBuZXcgRFREIGZvciB0aGUgZXh0ZXJuYWwgc3Vic2V0LiBUbyBjcmVhdGUgYW4gaW50ZXJuYWwgc3Vic2V0LCB1c2UgeG1sQ3JlYXRlSW50U3Vic2V0KCkuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxEdGRQdHInIGluZm89J2EgcG9pbnRlciB0byB0aGUgbmV3IERURCBzdHJ1Y3R1cmUnLz4KKyAgICAgIDxhcmcgbmFtZT0nZG9jJyB0eXBlPSd4bWxEb2NQdHInIGluZm89J3RoZSBkb2N1bWVudCBwb2ludGVyJy8+CisgICAgICA8YXJnIG5hbWU9J25hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIERURCBuYW1lJy8+CisgICAgICA8YXJnIG5hbWU9J0V4dGVybmFsSUQnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIGV4dGVybmFsIElEJy8+CisgICAgICA8YXJnIG5hbWU9J1N5c3RlbUlEJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBzeXN0ZW0gSUQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxOZXdFbGVtZW50Q29udGVudCcgZmlsZT0ndmFsaWQnIG1vZHVsZT0ndmFsaWQnPgorICAgICAgPGluZm8+QWxsb2NhdGUgYW4gZWxlbWVudCBjb250ZW50IHN0cnVjdHVyZS4gRGVwcmVjYXRlZCBpbiBmYXZvciBvZiB4bWxOZXdEb2NFbGVtZW50Q29udGVudDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sRWxlbWVudENvbnRlbnRQdHInIGluZm89J05VTEwgaWYgbm90LCBvdGhlcndpc2UgdGhlIG5ldyBlbGVtZW50IGNvbnRlbnQgc3RydWN0dXJlJy8+CisgICAgICA8YXJnIG5hbWU9J25hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIHN1YmVsZW1lbnQgbmFtZSBvciBOVUxMJy8+CisgICAgICA8YXJnIG5hbWU9J3R5cGUnIHR5cGU9J3htbEVsZW1lbnRDb250ZW50VHlwZScgaW5mbz0ndGhlIHR5cGUgb2YgZWxlbWVudCBjb250ZW50IGRlY2wnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxOZXdFbnRpdHknIGZpbGU9J2VudGl0aWVzJyBtb2R1bGU9J2VudGl0aWVzJz4KKyAgICAgIDxpbmZvPkNyZWF0ZSBhIG5ldyBlbnRpdHksIHRoaXMgZGlmZmVycyBmcm9tIHhtbEFkZERvY0VudGl0eSgpIHRoYXQgaWYgdGhlIGRvY3VtZW50IGlzIE5VTEwgb3IgaGFzIG5vIGludGVybmFsIHN1YnNldCBkZWZpbmVkLCB0aGVuIGFuIHVubGlua2VkIGVudGl0eSBzdHJ1Y3R1cmUgd2lsbCBiZSByZXR1cm5lZCwgaXQgaXMgdGhlbiB0aGUgcmVzcG9uc2FiaWxpdHkgb2YgdGhlIGNhbGxlciB0byBsaW5rIGl0IHRvIHRoZSBkb2N1bWVudCBsYXRlciBvciBmcmVlIGl0IHdoZW4gbm90IG5lZWRlZCBhbnltb3JlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sRW50aXR5UHRyJyBpbmZvPSdhIHBvaW50ZXIgdG8gdGhlIGVudGl0eSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0nZG9jJyB0eXBlPSd4bWxEb2NQdHInIGluZm89J3RoZSBkb2N1bWVudCcvPgorICAgICAgPGFyZyBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBlbnRpdHkgbmFtZScvPgorICAgICAgPGFyZyBuYW1lPSd0eXBlJyB0eXBlPSdpbnQnIGluZm89J3RoZSBlbnRpdHkgdHlwZSBYTUxfeHh4X3l5eV9FTlRJVFknLz4KKyAgICAgIDxhcmcgbmFtZT0nRXh0ZXJuYWxJRCcgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgZW50aXR5IGV4dGVybmFsIElEIGlmIGF2YWlsYWJsZScvPgorICAgICAgPGFyZyBuYW1lPSdTeXN0ZW1JRCcgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgZW50aXR5IHN5c3RlbSBJRCBpZiBhdmFpbGFibGUnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29udGVudCcgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgZW50aXR5IGNvbnRlbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxOZXdFbnRpdHlJbnB1dFN0cmVhbScgZmlsZT0ncGFyc2VySW50ZXJuYWxzJyBtb2R1bGU9J3BhcnNlckludGVybmFscyc+CisgICAgICA8aW5mbz5DcmVhdGUgYSBuZXcgaW5wdXQgc3RyZWFtIGJhc2VkIG9uIGFuIHhtbEVudGl0eVB0cjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sUGFyc2VySW5wdXRQdHInIGluZm89J3RoZSBuZXcgaW5wdXQgc3RyZWFtIG9yIE5VTEwnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sUGFyc2VyQ3R4dFB0cicgaW5mbz0nYW4gWE1MIHBhcnNlciBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J2VudGl0eScgdHlwZT0neG1sRW50aXR5UHRyJyBpbmZvPSdhbiBFbnRpdHkgcG9pbnRlcicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbE5ld0dsb2JhbE5zJyBmaWxlPSd0cmVlJyBtb2R1bGU9J2xlZ2FjeSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9MRUdBQ1lfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DcmVhdGlvbiBvZiBhIE5hbWVzcGFjZSwgdGhlIG9sZCB3YXkgdXNpbmcgUEkgYW5kIHdpdGhvdXQgc2NvcGluZyBERVBSRUNBVEVEICEhITwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sTnNQdHInIGluZm89J05VTEwgdGhpcyBmdW5jdGlvbmFsaXR5IGhhZCBiZWVuIHJlbW92ZWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZG9jJyB0eXBlPSd4bWxEb2NQdHInIGluZm89J3RoZSBkb2N1bWVudCBjYXJyeWluZyB0aGUgbmFtZXNwYWNlJy8+CisgICAgICA8YXJnIG5hbWU9J2hyZWYnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIFVSSSBhc3NvY2lhdGVkJy8+CisgICAgICA8YXJnIG5hbWU9J3ByZWZpeCcgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgcHJlZml4IGZvciB0aGUgbmFtZXNwYWNlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sTmV3SU9JbnB1dFN0cmVhbScgZmlsZT0ncGFyc2VyJyBtb2R1bGU9J3BhcnNlckludGVybmFscyc+CisgICAgICA8aW5mbz5DcmVhdGUgYSBuZXcgaW5wdXQgc3RyZWFtIHN0cnVjdHVyZSBlbmNhcHN1bGF0aW5nIHRoZSBAaW5wdXQgaW50byBhIHN0cmVhbSBzdWl0YWJsZSBmb3IgdGhlIHBhcnNlci48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbFBhcnNlcklucHV0UHRyJyBpbmZvPSd0aGUgbmV3IGlucHV0IHN0cmVhbSBvciBOVUxMJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFBhcnNlckN0eHRQdHInIGluZm89J2FuIFhNTCBwYXJzZXIgY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdpbnB1dCcgdHlwZT0neG1sUGFyc2VySW5wdXRCdWZmZXJQdHInIGluZm89J2FuIEkvTyBJbnB1dCcvPgorICAgICAgPGFyZyBuYW1lPSdlbmMnIHR5cGU9J3htbENoYXJFbmNvZGluZycgaW5mbz0ndGhlIGNoYXJzZXQgZW5jb2RpbmcgaWYga25vd24nLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxOZXdJbnB1dEZyb21GaWxlJyBmaWxlPSdwYXJzZXJJbnRlcm5hbHMnIG1vZHVsZT0ncGFyc2VySW50ZXJuYWxzJz4KKyAgICAgIDxpbmZvPkNyZWF0ZSBhIG5ldyBpbnB1dCBzdHJlYW0gYmFzZWQgb24gYSBmaWxlIG9yIGFuIFVSTC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbFBhcnNlcklucHV0UHRyJyBpbmZvPSd0aGUgbmV3IGlucHV0IHN0cmVhbSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sUGFyc2VyQ3R4dFB0cicgaW5mbz0nYW4gWE1MIHBhcnNlciBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J2ZpbGVuYW1lJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBmaWxlbmFtZSB0byB1c2UgYXMgZW50aXR5Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sTmV3SW5wdXRTdHJlYW0nIGZpbGU9J3BhcnNlckludGVybmFscycgbW9kdWxlPSdwYXJzZXJJbnRlcm5hbHMnPgorICAgICAgPGluZm8+Q3JlYXRlIGEgbmV3IGlucHV0IHN0cmVhbSBzdHJ1Y3R1cmUuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxQYXJzZXJJbnB1dFB0cicgaW5mbz0ndGhlIG5ldyBpbnB1dCBzdHJlYW0gb3IgTlVMTCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxQYXJzZXJDdHh0UHRyJyBpbmZvPSdhbiBYTUwgcGFyc2VyIGNvbnRleHQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxOZXdNdXRleCcgZmlsZT0ndGhyZWFkcycgbW9kdWxlPSd0aHJlYWRzJz4KKyAgICAgIDxpbmZvPnhtbE5ld011dGV4KCkgaXMgdXNlZCB0byBhbGxvY2F0ZSBhIGxpYnhtbDIgdG9rZW4gc3RydWN0IGZvciB1c2UgaW4gc3luY2hyb25pemluZyBhY2Nlc3MgdG8gZGF0YS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbE11dGV4UHRyJyBpbmZvPSdhIG5ldyBzaW1wbGUgbXV0ZXggcG9pbnRlciBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxOZXdOb2RlJyBmaWxlPSd0cmVlJyBtb2R1bGU9J3RyZWUnPgorICAgICAgPGluZm8+Q3JlYXRpb24gb2YgYSBuZXcgbm9kZSBlbGVtZW50LiBAbnMgaXMgb3B0aW9uYWwgKE5VTEwpLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sTm9kZVB0cicgaW5mbz0nYSBwb2ludGVyIHRvIHRoZSBuZXcgbm9kZSBvYmplY3QuIFVzZXMgeG1sU3RyZHVwKCkgdG8gbWFrZSBjb3B5IG9mIEBuYW1lLicvPgorICAgICAgPGFyZyBuYW1lPSducycgdHlwZT0neG1sTnNQdHInIGluZm89J25hbWVzcGFjZSBpZiBhbnknLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFtZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgbm9kZSBuYW1lJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sTmV3Tm9kZUVhdE5hbWUnIGZpbGU9J3RyZWUnIG1vZHVsZT0ndHJlZSc+CisgICAgICA8aW5mbz5DcmVhdGlvbiBvZiBhIG5ldyBub2RlIGVsZW1lbnQuIEBucyBpcyBvcHRpb25hbCAoTlVMTCkuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSdhIHBvaW50ZXIgdG8gdGhlIG5ldyBub2RlIG9iamVjdCwgd2l0aCBwb2ludGVyIEBuYW1lIGFzIG5ldyBub2RlJmFwb3M7cyBuYW1lLiBVc2UgeG1sTmV3Tm9kZSgpIGlmIGEgY29weSBvZiBAbmFtZSBzdHJpbmcgaXMgaXMgbmVlZGVkIGFzIG5ldyBub2RlJmFwb3M7cyBuYW1lLicvPgorICAgICAgPGFyZyBuYW1lPSducycgdHlwZT0neG1sTnNQdHInIGluZm89J25hbWVzcGFjZSBpZiBhbnknLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFtZScgdHlwZT0neG1sQ2hhciAqJyBpbmZvPSd0aGUgbm9kZSBuYW1lJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sTmV3TnMnIGZpbGU9J3RyZWUnIG1vZHVsZT0ndHJlZSc+CisgICAgICA8aW5mbz5DcmVhdGlvbiBvZiBhIG5ldyBOYW1lc3BhY2UuIFRoaXMgZnVuY3Rpb24gd2lsbCByZWZ1c2UgdG8gY3JlYXRlIGEgbmFtZXNwYWNlIHdpdGggYSBzaW1pbGFyIHByZWZpeCB0aGFuIGFuIGV4aXN0aW5nIG9uZSBwcmVzZW50IG9uIHRoaXMgbm9kZS4gTm90ZSB0aGF0IGZvciBhIGRlZmF1bHQgbmFtZXNwYWNlLCBAcHJlZml4IHNob3VsZCBiZSBOVUxMLiAgV2UgdXNlIGhyZWY9PU5VTEwgaW4gdGhlIGNhc2Ugb2YgYW4gZWxlbWVudCBjcmVhdGlvbiB3aGVyZSB0aGUgbmFtZXNwYWNlIHdhcyBub3QgZGVmaW5lZC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbE5zUHRyJyBpbmZvPSdhIG5ldyBuYW1lc3BhY2UgcG9pbnRlciBvciBOVUxMJy8+CisgICAgICA8YXJnIG5hbWU9J25vZGUnIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3RoZSBlbGVtZW50IGNhcnJ5aW5nIHRoZSBuYW1lc3BhY2UnLz4KKyAgICAgIDxhcmcgbmFtZT0naHJlZicgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgVVJJIGFzc29jaWF0ZWQnLz4KKyAgICAgIDxhcmcgbmFtZT0ncHJlZml4JyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBwcmVmaXggZm9yIHRoZSBuYW1lc3BhY2UnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxOZXdOc1Byb3AnIGZpbGU9J3RyZWUnIG1vZHVsZT0ndHJlZSc+CisgICAgICA8aW5mbz5DcmVhdGUgYSBuZXcgcHJvcGVydHkgdGFnZ2VkIHdpdGggYSBuYW1lc3BhY2UgYW5kIGNhcnJpZWQgYnkgYSBub2RlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sQXR0clB0cicgaW5mbz0nYSBwb2ludGVyIHRvIHRoZSBhdHRyaWJ1dGUnLz4KKyAgICAgIDxhcmcgbmFtZT0nbm9kZScgdHlwZT0neG1sTm9kZVB0cicgaW5mbz0ndGhlIGhvbGRpbmcgbm9kZScvPgorICAgICAgPGFyZyBuYW1lPSducycgdHlwZT0neG1sTnNQdHInIGluZm89J3RoZSBuYW1lc3BhY2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFtZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgbmFtZSBvZiB0aGUgYXR0cmlidXRlJy8+CisgICAgICA8YXJnIG5hbWU9J3ZhbHVlJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSB2YWx1ZSBvZiB0aGUgYXR0cmlidXRlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sTmV3TnNQcm9wRWF0TmFtZScgZmlsZT0ndHJlZScgbW9kdWxlPSd0cmVlJz4KKyAgICAgIDxpbmZvPkNyZWF0ZSBhIG5ldyBwcm9wZXJ0eSB0YWdnZWQgd2l0aCBhIG5hbWVzcGFjZSBhbmQgY2FycmllZCBieSBhIG5vZGUuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxBdHRyUHRyJyBpbmZvPSdhIHBvaW50ZXIgdG8gdGhlIGF0dHJpYnV0ZScvPgorICAgICAgPGFyZyBuYW1lPSdub2RlJyB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSd0aGUgaG9sZGluZyBub2RlJy8+CisgICAgICA8YXJnIG5hbWU9J25zJyB0eXBlPSd4bWxOc1B0cicgaW5mbz0ndGhlIG5hbWVzcGFjZScvPgorICAgICAgPGFyZyBuYW1lPSduYW1lJyB0eXBlPSd4bWxDaGFyIConIGluZm89J3RoZSBuYW1lIG9mIHRoZSBhdHRyaWJ1dGUnLz4KKyAgICAgIDxhcmcgbmFtZT0ndmFsdWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIHZhbHVlIG9mIHRoZSBhdHRyaWJ1dGUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxOZXdQSScgZmlsZT0ndHJlZScgbW9kdWxlPSd0cmVlJz4KKyAgICAgIDxpbmZvPkNyZWF0aW9uIG9mIGEgcHJvY2Vzc2luZyBpbnN0cnVjdGlvbiBlbGVtZW50LiBVc2UgeG1sRG9jTmV3UEkgcHJlZmVyYWJseSB0byBnZXQgc3RyaW5nIGludGVybmluZzwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sTm9kZVB0cicgaW5mbz0nYSBwb2ludGVyIHRvIHRoZSBuZXcgbm9kZSBvYmplY3QuJy8+CisgICAgICA8YXJnIG5hbWU9J25hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIHByb2Nlc3NpbmcgaW5zdHJ1Y3Rpb24gbmFtZScvPgorICAgICAgPGFyZyBuYW1lPSdjb250ZW50JyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBQSSBjb250ZW50Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sTmV3UGFyc2VyQ3R4dCcgZmlsZT0ncGFyc2VyJyBtb2R1bGU9J3BhcnNlckludGVybmFscyc+CisgICAgICA8aW5mbz5BbGxvY2F0ZSBhbmQgaW5pdGlhbGl6ZSBhIG5ldyBwYXJzZXIgY29udGV4dC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbFBhcnNlckN0eHRQdHInIGluZm89J3RoZSB4bWxQYXJzZXJDdHh0UHRyIG9yIE5VTEwnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxOZXdQcm9wJyBmaWxlPSd0cmVlJyBtb2R1bGU9J3RyZWUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfVFJFRV9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DcmVhdGUgYSBuZXcgcHJvcGVydHkgY2FycmllZCBieSBhIG5vZGUuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxBdHRyUHRyJyBpbmZvPSdhIHBvaW50ZXIgdG8gdGhlIGF0dHJpYnV0ZScvPgorICAgICAgPGFyZyBuYW1lPSdub2RlJyB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSd0aGUgaG9sZGluZyBub2RlJy8+CisgICAgICA8YXJnIG5hbWU9J25hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIG5hbWUgb2YgdGhlIGF0dHJpYnV0ZScvPgorICAgICAgPGFyZyBuYW1lPSd2YWx1ZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgdmFsdWUgb2YgdGhlIGF0dHJpYnV0ZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbE5ld1JNdXRleCcgZmlsZT0ndGhyZWFkcycgbW9kdWxlPSd0aHJlYWRzJz4KKyAgICAgIDxpbmZvPnhtbFJOZXdNdXRleCgpIGlzIHVzZWQgdG8gYWxsb2NhdGUgYSByZWVudHJhbnQgbXV0ZXggZm9yIHVzZSBpbiBzeW5jaHJvbml6aW5nIGFjY2VzcyB0byBkYXRhLiB0b2tlbl9yIGlzIGEgcmUtZW50cmFudCBsb2NrIGFuZCB0aHVzIHVzZWZ1bCBmb3Igc3luY2hyb25pemluZyBhY2Nlc3MgdG8gZGF0YSBzdHJ1Y3R1cmVzIHRoYXQgbWF5IGJlIG1hbmlwdWxhdGVkIGluIGEgcmVjdXJzaXZlIGZhc2hpb24uPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxSTXV0ZXhQdHInIGluZm89J3RoZSBuZXcgcmVlbnRyYW50IG11dGV4IHBvaW50ZXIgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sTmV3UmVmZXJlbmNlJyBmaWxlPSd0cmVlJyBtb2R1bGU9J3RyZWUnPgorICAgICAgPGluZm8+Q3JlYXRpb24gb2YgYSBuZXcgcmVmZXJlbmNlIG5vZGUuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSdhIHBvaW50ZXIgdG8gdGhlIG5ldyBub2RlIG9iamVjdC4nLz4KKyAgICAgIDxhcmcgbmFtZT0nZG9jJyB0eXBlPSdjb25zdCB4bWxEb2MgKicgaW5mbz0ndGhlIGRvY3VtZW50Jy8+CisgICAgICA8YXJnIG5hbWU9J25hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIHJlZmVyZW5jZSBuYW1lLCBvciB0aGUgcmVmZXJlbmNlIHN0cmluZyB3aXRoICZhbXA7IGFuZCA7Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sTmV3U3RyaW5nSW5wdXRTdHJlYW0nIGZpbGU9J3BhcnNlckludGVybmFscycgbW9kdWxlPSdwYXJzZXJJbnRlcm5hbHMnPgorICAgICAgPGluZm8+Q3JlYXRlIGEgbmV3IGlucHV0IHN0cmVhbSBiYXNlZCBvbiBhIG1lbW9yeSBidWZmZXIuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxQYXJzZXJJbnB1dFB0cicgaW5mbz0ndGhlIG5ldyBpbnB1dCBzdHJlYW0nLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sUGFyc2VyQ3R4dFB0cicgaW5mbz0nYW4gWE1MIHBhcnNlciBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J2J1ZmZlcicgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSdhbiBtZW1vcnkgYnVmZmVyJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sTmV3VGV4dCcgZmlsZT0ndHJlZScgbW9kdWxlPSd0cmVlJz4KKyAgICAgIDxpbmZvPkNyZWF0aW9uIG9mIGEgbmV3IHRleHQgbm9kZS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbE5vZGVQdHInIGluZm89J2EgcG9pbnRlciB0byB0aGUgbmV3IG5vZGUgb2JqZWN0LicvPgorICAgICAgPGFyZyBuYW1lPSdjb250ZW50JyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSB0ZXh0IGNvbnRlbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxOZXdUZXh0Q2hpbGQnIGZpbGU9J3RyZWUnIG1vZHVsZT0ndHJlZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q3JlYXRpb24gb2YgYSBuZXcgY2hpbGQgZWxlbWVudCwgYWRkZWQgYXQgdGhlIGVuZCBvZiBAcGFyZW50IGNoaWxkcmVuIGxpc3QuIEBucyBhbmQgQGNvbnRlbnQgcGFyYW1ldGVycyBhcmUgb3B0aW9uYWwgKE5VTEwpLiBJZiBAbnMgaXMgTlVMTCwgdGhlIG5ld2x5IGNyZWF0ZWQgZWxlbWVudCBpbmhlcml0cyB0aGUgbmFtZXNwYWNlIG9mIEBwYXJlbnQuIElmIEBjb250ZW50IGlzIG5vbiBOVUxMLCBhIGNoaWxkIFRFWFQgbm9kZSB3aWxsIGJlIGNyZWF0ZWQgY29udGFpbmluZyB0aGUgc3RyaW5nIEBjb250ZW50LiBOT1RFOiBVc2UgeG1sTmV3Q2hpbGQoKSBpZiBAY29udGVudCB3aWxsIGNvbnRhaW4gZW50aXRpZXMgdGhhdCBuZWVkIHRvIGJlIHByZXNlcnZlZC4gVXNlIHRoaXMgZnVuY3Rpb24sIHhtbE5ld1RleHRDaGlsZCgpLCBpZiB5b3UgbmVlZCB0byBlbnN1cmUgdGhhdCByZXNlcnZlZCBYTUwgY2hhcnMgdGhhdCBtaWdodCBhcHBlYXIgaW4gQGNvbnRlbnQsIHN1Y2ggYXMgdGhlIGFtcGVyc2FuZCwgZ3JlYXRlci10aGFuIG9yIGxlc3MtdGhhbiBzaWducywgYXJlIGF1dG9tYXRpY2FsbHkgcmVwbGFjZWQgYnkgdGhlaXIgWE1MIGVzY2FwZWQgZW50aXR5IHJlcHJlc2VudGF0aW9ucy48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbE5vZGVQdHInIGluZm89J2EgcG9pbnRlciB0byB0aGUgbmV3IG5vZGUgb2JqZWN0LicvPgorICAgICAgPGFyZyBuYW1lPSdwYXJlbnQnIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3RoZSBwYXJlbnQgbm9kZScvPgorICAgICAgPGFyZyBuYW1lPSducycgdHlwZT0neG1sTnNQdHInIGluZm89J2EgbmFtZXNwYWNlIGlmIGFueScvPgorICAgICAgPGFyZyBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBuYW1lIG9mIHRoZSBjaGlsZCcvPgorICAgICAgPGFyZyBuYW1lPSdjb250ZW50JyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSB0ZXh0IGNvbnRlbnQgb2YgdGhlIGNoaWxkIGlmIGFueS4nLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxOZXdUZXh0TGVuJyBmaWxlPSd0cmVlJyBtb2R1bGU9J3RyZWUnPgorICAgICAgPGluZm8+Q3JlYXRpb24gb2YgYSBuZXcgdGV4dCBub2RlIHdpdGggYW4gZXh0cmEgcGFyYW1ldGVyIGZvciB0aGUgY29udGVudCZhcG9zO3MgbGVuZ3RoPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSdhIHBvaW50ZXIgdG8gdGhlIG5ldyBub2RlIG9iamVjdC4nLz4KKyAgICAgIDxhcmcgbmFtZT0nY29udGVudCcgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgdGV4dCBjb250ZW50Jy8+CisgICAgICA8YXJnIG5hbWU9J2xlbicgdHlwZT0naW50JyBpbmZvPSd0aGUgdGV4dCBsZW4uJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sTmV3VGV4dFJlYWRlcicgZmlsZT0neG1scmVhZGVyJyBtb2R1bGU9J3htbHJlYWRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DcmVhdGUgYW4geG1sVGV4dFJlYWRlciBzdHJ1Y3R1cmUgZmVkIHdpdGggQGlucHV0PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxUZXh0UmVhZGVyUHRyJyBpbmZvPSd0aGUgbmV3IHhtbFRleHRSZWFkZXJQdHIgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J2lucHV0JyB0eXBlPSd4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cicgaW5mbz0ndGhlIHhtbFBhcnNlcklucHV0QnVmZmVyUHRyIHVzZWQgdG8gcmVhZCBkYXRhJy8+CisgICAgICA8YXJnIG5hbWU9J1VSSScgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSd0aGUgVVJJIGluZm9ybWF0aW9uIGZvciB0aGUgc291cmNlIGlmIGF2YWlsYWJsZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbE5ld1RleHRSZWFkZXJGaWxlbmFtZScgZmlsZT0neG1scmVhZGVyJyBtb2R1bGU9J3htbHJlYWRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DcmVhdGUgYW4geG1sVGV4dFJlYWRlciBzdHJ1Y3R1cmUgZmVkIHdpdGggdGhlIHJlc291cmNlIGF0IEBVUkk8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbFRleHRSZWFkZXJQdHInIGluZm89J3RoZSBuZXcgeG1sVGV4dFJlYWRlclB0ciBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0nVVJJJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBVUkkgb2YgdGhlIHJlc291cmNlIHRvIHByb2Nlc3MnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxOZXdUZXh0V3JpdGVyJyBmaWxlPSd4bWx3cml0ZXInIG1vZHVsZT0neG1sd3JpdGVyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNyZWF0ZSBhIG5ldyB4bWxOZXdUZXh0V3JpdGVyIHN0cnVjdHVyZSB1c2luZyBhbiB4bWxPdXRwdXRCdWZmZXJQdHIgTk9URTogdGhlIEBvdXQgcGFyYW1ldGVyIHdpbGwgYmUgZGVhbGxvY2F0ZWQgd2hlbiB0aGUgd3JpdGVyIGlzIGNsb3NlZCAoaWYgdGhlIGNhbGwgc3VjY2VlZC4pPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxUZXh0V3JpdGVyUHRyJyBpbmZvPSd0aGUgbmV3IHhtbFRleHRXcml0ZXJQdHIgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J291dCcgdHlwZT0neG1sT3V0cHV0QnVmZmVyUHRyJyBpbmZvPSdhbiB4bWxPdXRwdXRCdWZmZXJQdHInLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxOZXdUZXh0V3JpdGVyRG9jJyBmaWxlPSd4bWx3cml0ZXInIG1vZHVsZT0neG1sd3JpdGVyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNyZWF0ZSBhIG5ldyB4bWxOZXdUZXh0V3JpdGVyIHN0cnVjdHVyZSB3aXRoIEAqZG9jIGFzIG91dHB1dDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sVGV4dFdyaXRlclB0cicgaW5mbz0ndGhlIG5ldyB4bWxUZXh0V3JpdGVyUHRyIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSdkb2MnIHR5cGU9J3htbERvY1B0ciAqJyBpbmZvPSdhZGRyZXNzIG9mIGEgeG1sRG9jUHRyIHRvIGhvbGQgdGhlIG5ldyBYTUwgZG9jdW1lbnQgdHJlZScvPgorICAgICAgPGFyZyBuYW1lPSdjb21wcmVzc2lvbicgdHlwZT0naW50JyBpbmZvPSdjb21wcmVzcyB0aGUgb3V0cHV0PycvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbE5ld1RleHRXcml0ZXJGaWxlbmFtZScgZmlsZT0neG1sd3JpdGVyJyBtb2R1bGU9J3htbHdyaXRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DcmVhdGUgYSBuZXcgeG1sTmV3VGV4dFdyaXRlciBzdHJ1Y3R1cmUgd2l0aCBAdXJpIGFzIG91dHB1dDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sVGV4dFdyaXRlclB0cicgaW5mbz0ndGhlIG5ldyB4bWxUZXh0V3JpdGVyUHRyIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSd1cmknIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIFVSSSBvZiB0aGUgcmVzb3VyY2UgZm9yIHRoZSBvdXRwdXQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29tcHJlc3Npb24nIHR5cGU9J2ludCcgaW5mbz0nY29tcHJlc3MgdGhlIG91dHB1dD8nLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxOZXdUZXh0V3JpdGVyTWVtb3J5JyBmaWxlPSd4bWx3cml0ZXInIG1vZHVsZT0neG1sd3JpdGVyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNyZWF0ZSBhIG5ldyB4bWxOZXdUZXh0V3JpdGVyIHN0cnVjdHVyZSB3aXRoIEBidWYgYXMgb3V0cHV0IFRPRE86IGhhbmRsZSBjb21wcmVzc2lvbjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sVGV4dFdyaXRlclB0cicgaW5mbz0ndGhlIG5ldyB4bWxUZXh0V3JpdGVyUHRyIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSdidWYnIHR5cGU9J3htbEJ1ZmZlclB0cicgaW5mbz0neG1sQnVmZmVyUHRyJy8+CisgICAgICA8YXJnIG5hbWU9J2NvbXByZXNzaW9uJyB0eXBlPSdpbnQnIGluZm89J2NvbXByZXNzIHRoZSBvdXRwdXQ/Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sTmV3VGV4dFdyaXRlclB1c2hQYXJzZXInIGZpbGU9J3htbHdyaXRlcicgbW9kdWxlPSd4bWx3cml0ZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q3JlYXRlIGEgbmV3IHhtbE5ld1RleHRXcml0ZXIgc3RydWN0dXJlIHdpdGggQGN0eHQgYXMgb3V0cHV0IE5PVEU6IHRoZSBAY3R4dCBjb250ZXh0IHdpbGwgYmUgZnJlZWQgd2l0aCB0aGUgcmVzdWx0aW5nIHdyaXRlciAoaWYgdGhlIGNhbGwgc3VjY2VlZHMpLiBUT0RPOiBoYW5kbGUgY29tcHJlc3Npb248L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbFRleHRXcml0ZXJQdHInIGluZm89J3RoZSBuZXcgeG1sVGV4dFdyaXRlclB0ciBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sUGFyc2VyQ3R4dFB0cicgaW5mbz0neG1sUGFyc2VyQ3R4dFB0ciB0byBob2xkIHRoZSBuZXcgWE1MIGRvY3VtZW50IHRyZWUnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29tcHJlc3Npb24nIHR5cGU9J2ludCcgaW5mbz0nY29tcHJlc3MgdGhlIG91dHB1dD8nLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxOZXdUZXh0V3JpdGVyVHJlZScgZmlsZT0neG1sd3JpdGVyJyBtb2R1bGU9J3htbHdyaXRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DcmVhdGUgYSBuZXcgeG1sTmV3VGV4dFdyaXRlciBzdHJ1Y3R1cmUgd2l0aCBAZG9jIGFzIG91dHB1dCBzdGFydGluZyBhdCBAbm9kZTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sVGV4dFdyaXRlclB0cicgaW5mbz0ndGhlIG5ldyB4bWxUZXh0V3JpdGVyUHRyIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSdkb2MnIHR5cGU9J3htbERvY1B0cicgaW5mbz0neG1sRG9jUHRyJy8+CisgICAgICA8YXJnIG5hbWU9J25vZGUnIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3htbE5vZGVQdHIgb3IgTlVMTCBmb3IgZG9jLSZndDtjaGlsZHJlbicvPgorICAgICAgPGFyZyBuYW1lPSdjb21wcmVzc2lvbicgdHlwZT0naW50JyBpbmZvPSdjb21wcmVzcyB0aGUgb3V0cHV0PycvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbE5ld1ZhbGlkQ3R4dCcgZmlsZT0ndmFsaWQnIG1vZHVsZT0ndmFsaWQnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfVkFMSURfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5BbGxvY2F0ZSBhIHZhbGlkYXRpb24gY29udGV4dCBzdHJ1Y3R1cmUuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxWYWxpZEN0eHRQdHInIGluZm89J05VTEwgaWYgbm90LCBvdGhlcndpc2UgdGhlIG5ldyB2YWxpZGF0aW9uIGNvbnRleHQgc3RydWN0dXJlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sTmV4dENoYXInIGZpbGU9J3BhcnNlckludGVybmFscycgbW9kdWxlPSdwYXJzZXJJbnRlcm5hbHMnPgorICAgICAgPGluZm8+U2tpcCB0byB0aGUgbmV4dCBjaGFyIGlucHV0IGNoYXIuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFBhcnNlckN0eHRQdHInIGluZm89J3RoZSBYTUwgcGFyc2VyIGNvbnRleHQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxOZXh0RWxlbWVudFNpYmxpbmcnIGZpbGU9J3RyZWUnIG1vZHVsZT0ndHJlZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+RmluZHMgdGhlIGZpcnN0IGNsb3Nlc3QgbmV4dCBzaWJsaW5nIG9mIHRoZSBub2RlIHdoaWNoIGlzIGFuIGVsZW1lbnQgbm9kZS4gTm90ZSB0aGUgaGFuZGxpbmcgb2YgZW50aXRpZXMgcmVmZXJlbmNlcyBpcyBkaWZmZXJlbnQgdGhhbiBpbiB0aGUgVzNDIERPTSBlbGVtZW50IHRyYXZlcnNhbCBzcGVjIHNpbmNlIHdlIGRvbiZhcG9zO3QgaGF2ZSBiYWNrIHJlZmVyZW5jZSBmcm9tIGVudGl0aWVzIGNvbnRlbnQgdG8gZW50aXRpZXMgcmVmZXJlbmNlcy48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3RoZSBuZXh0IGVsZW1lbnQgc2libGluZyBvciBOVUxMIGlmIG5vdCBhdmFpbGFibGUnLz4KKyAgICAgIDxhcmcgbmFtZT0nbm9kZScgdHlwZT0neG1sTm9kZVB0cicgaW5mbz0ndGhlIGN1cnJlbnQgbm9kZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbE5vTmV0RXh0ZXJuYWxFbnRpdHlMb2FkZXInIGZpbGU9J3htbElPJyBtb2R1bGU9J3htbElPJz4KKyAgICAgIDxpbmZvPkEgc3BlY2lmaWMgZW50aXR5IGxvYWRlciBkaXNhYmxpbmcgbmV0d29yayBhY2Nlc3NlcywgdGhvdWdoIHN0aWxsIGFsbG93aW5nIGxvY2FsIGNhdGFsb2cgYWNjZXNzZXMgZm9yIHJlc29sdXRpb24uPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxQYXJzZXJJbnB1dFB0cicgaW5mbz0nYSBuZXcgYWxsb2NhdGVkIHhtbFBhcnNlcklucHV0UHRyLCBvciBOVUxMLicvPgorICAgICAgPGFyZyBuYW1lPSdVUkwnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIFVSTCBmb3IgdGhlIGVudGl0eSB0byBsb2FkJy8+CisgICAgICA8YXJnIG5hbWU9J0lEJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBTeXN0ZW0gSUQgZm9yIHRoZSBlbnRpdHkgdG8gbG9hZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxQYXJzZXJDdHh0UHRyJyBpbmZvPSd0aGUgY29udGV4dCBpbiB3aGljaCB0aGUgZW50aXR5IGlzIGNhbGxlZCBvciBOVUxMJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sTm9kZUFkZENvbnRlbnQnIGZpbGU9J3RyZWUnIG1vZHVsZT0ndHJlZSc+CisgICAgICA8aW5mbz5BcHBlbmQgdGhlIGV4dHJhIHN1YnN0cmluZyB0byB0aGUgbm9kZSBjb250ZW50LiBOT1RFOiBJbiBjb250cmFzdCB0byB4bWxOb2RlU2V0Q29udGVudCgpLCBAY29udGVudCBpcyBzdXBwb3NlZCB0byBiZSByYXcgdGV4dCwgc28gdW5lc2NhcGVkIFhNTCBzcGVjaWFsIGNoYXJzIGFyZSBhbGxvd2VkLCBlbnRpdHkgcmVmZXJlbmNlcyBhcmUgbm90IHN1cHBvcnRlZC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3VyJyB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSd0aGUgbm9kZSBiZWluZyBtb2RpZmllZCcvPgorICAgICAgPGFyZyBuYW1lPSdjb250ZW50JyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J2V4dHJhIGNvbnRlbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxOb2RlQWRkQ29udGVudExlbicgZmlsZT0ndHJlZScgbW9kdWxlPSd0cmVlJz4KKyAgICAgIDxpbmZvPkFwcGVuZCB0aGUgZXh0cmEgc3Vic3RyaW5nIHRvIHRoZSBub2RlIGNvbnRlbnQuIE5PVEU6IEluIGNvbnRyYXN0IHRvIHhtbE5vZGVTZXRDb250ZW50TGVuKCksIEBjb250ZW50IGlzIHN1cHBvc2VkIHRvIGJlIHJhdyB0ZXh0LCBzbyB1bmVzY2FwZWQgWE1MIHNwZWNpYWwgY2hhcnMgYXJlIGFsbG93ZWQsIGVudGl0eSByZWZlcmVuY2VzIGFyZSBub3Qgc3VwcG9ydGVkLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdXInIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3RoZSBub2RlIGJlaW5nIG1vZGlmaWVkJy8+CisgICAgICA8YXJnIG5hbWU9J2NvbnRlbnQnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nZXh0cmEgY29udGVudCcvPgorICAgICAgPGFyZyBuYW1lPSdsZW4nIHR5cGU9J2ludCcgaW5mbz0ndGhlIHNpemUgb2YgQGNvbnRlbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxOb2RlQnVmR2V0Q29udGVudCcgZmlsZT0ndHJlZScgbW9kdWxlPSd0cmVlJz4KKyAgICAgIDxpbmZvPlJlYWQgdGhlIHZhbHVlIG9mIGEgbm9kZSBAY3VyLCB0aGlzIGNhbiBiZSBlaXRoZXIgdGhlIHRleHQgY2FycmllZCBkaXJlY3RseSBieSB0aGlzIG5vZGUgaWYgaXQmYXBvcztzIGEgVEVYVCBub2RlIG9yIHRoZSBhZ2dyZWdhdGUgc3RyaW5nIG9mIHRoZSB2YWx1ZXMgY2FycmllZCBieSB0aGlzIG5vZGUgY2hpbGQmYXBvcztzIChURVhUIGFuZCBFTlRJVFlfUkVGKS4gRW50aXR5IHJlZmVyZW5jZXMgYXJlIHN1YnN0aXR1dGVkLiBGaWxscyB1cCB0aGUgYnVmZmVyIEBidWZmZXIgd2l0aCB0aGlzIHZhbHVlPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzAgaW4gY2FzZSBvZiBzdWNjZXNzIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yLicvPgorICAgICAgPGFyZyBuYW1lPSdidWZmZXInIHR5cGU9J3htbEJ1ZmZlclB0cicgaW5mbz0nYSBidWZmZXInLz4KKyAgICAgIDxhcmcgbmFtZT0nY3VyJyB0eXBlPSdjb25zdCB4bWxOb2RlIConIGluZm89J3RoZSBub2RlIGJlaW5nIHJlYWQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxOb2RlRHVtcCcgZmlsZT0ndHJlZScgbW9kdWxlPSd4bWxzYXZlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkR1bXAgYW4gWE1MIG5vZGUsIHJlY3Vyc2l2ZSBiZWhhdmlvdXIsY2hpbGRyZW4gYXJlIHByaW50ZWQgdG9vLiBOb3RlIHRoYXQgQGZvcm1hdCA9IDEgcHJvdmlkZSBub2RlIGluZGVudGluZyBvbmx5IGlmIHhtbEluZGVudFRyZWVPdXRwdXQgPSAxIG9yIHhtbEtlZXBCbGFua3NEZWZhdWx0KDApIHdhcyBjYWxsZWQgU2luY2UgdGhpcyBpcyB1c2luZyB4bWxCdWZmZXIgc3RydWN0dXJlcyBpdCBpcyBsaW1pdGVkIHRvIDJHQiBhbmQgc29tZWhvdyBkZXByZWNhdGVkLCB1c2UgeG1sQnVmTm9kZUR1bXAoKSBpbnN0ZWFkLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgbnVtYmVyIG9mIGJ5dGVzIHdyaXR0ZW4gdG8gdGhlIGJ1ZmZlciBvciAtMSBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J2J1ZicgdHlwZT0neG1sQnVmZmVyUHRyJyBpbmZvPSd0aGUgWE1MIGJ1ZmZlciBvdXRwdXQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZG9jJyB0eXBlPSd4bWxEb2NQdHInIGluZm89J3RoZSBkb2N1bWVudCcvPgorICAgICAgPGFyZyBuYW1lPSdjdXInIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3RoZSBjdXJyZW50IG5vZGUnLz4KKyAgICAgIDxhcmcgbmFtZT0nbGV2ZWwnIHR5cGU9J2ludCcgaW5mbz0ndGhlIGltYnJpY2F0aW9uIGxldmVsIGZvciBpbmRlbnRpbmcnLz4KKyAgICAgIDxhcmcgbmFtZT0nZm9ybWF0JyB0eXBlPSdpbnQnIGluZm89J2lzIGZvcm1hdHRpbmcgYWxsb3dlZCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbE5vZGVEdW1wT3V0cHV0JyBmaWxlPSd0cmVlJyBtb2R1bGU9J3htbHNhdmUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+RHVtcCBhbiBYTUwgbm9kZSwgcmVjdXJzaXZlIGJlaGF2aW91ciwgY2hpbGRyZW4gYXJlIHByaW50ZWQgdG9vLiBOb3RlIHRoYXQgQGZvcm1hdCA9IDEgcHJvdmlkZSBub2RlIGluZGVudGluZyBvbmx5IGlmIHhtbEluZGVudFRyZWVPdXRwdXQgPSAxIG9yIHhtbEtlZXBCbGFua3NEZWZhdWx0KDApIHdhcyBjYWxsZWQ8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nYnVmJyB0eXBlPSd4bWxPdXRwdXRCdWZmZXJQdHInIGluZm89J3RoZSBYTUwgYnVmZmVyIG91dHB1dCcvPgorICAgICAgPGFyZyBuYW1lPSdkb2MnIHR5cGU9J3htbERvY1B0cicgaW5mbz0ndGhlIGRvY3VtZW50Jy8+CisgICAgICA8YXJnIG5hbWU9J2N1cicgdHlwZT0neG1sTm9kZVB0cicgaW5mbz0ndGhlIGN1cnJlbnQgbm9kZScvPgorICAgICAgPGFyZyBuYW1lPSdsZXZlbCcgdHlwZT0naW50JyBpbmZvPSd0aGUgaW1icmljYXRpb24gbGV2ZWwgZm9yIGluZGVudGluZycvPgorICAgICAgPGFyZyBuYW1lPSdmb3JtYXQnIHR5cGU9J2ludCcgaW5mbz0naXMgZm9ybWF0dGluZyBhbGxvd2VkJy8+CisgICAgICA8YXJnIG5hbWU9J2VuY29kaW5nJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J2FuIG9wdGlvbmFsIGVuY29kaW5nIHN0cmluZycvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbE5vZGVHZXRCYXNlJyBmaWxlPSd0cmVlJyBtb2R1bGU9J3RyZWUnPgorICAgICAgPGluZm8+U2VhcmNoZXMgZm9yIHRoZSBCQVNFIFVSTC4gVGhlIGNvZGUgc2hvdWxkIHdvcmsgb24gYm90aCBYTUwgYW5kIEhUTUwgZG9jdW1lbnQgZXZlbiBpZiBiYXNlIG1lY2hhbmlzbXMgYXJlIGNvbXBsZXRlbHkgZGlmZmVyZW50LiBJdCByZXR1cm5zIHRoZSBiYXNlIGFzIGRlZmluZWQgaW4gUkZDIDIzOTYgc2VjdGlvbnMgNS4xLjEuIEJhc2UgVVJJIHdpdGhpbiBEb2N1bWVudCBDb250ZW50IGFuZCA1LjEuMi4gQmFzZSBVUkkgZnJvbSB0aGUgRW5jYXBzdWxhdGluZyBFbnRpdHkgSG93ZXZlciBpdCBkb2VzIG5vdCByZXR1cm4gdGhlIGRvY3VtZW50IGJhc2UgKDUuMS4zKSwgdXNlIGRvYy0mZ3Q7VVJMIGluIHRoaXMgY2FzZTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sQ2hhciAqJyBpbmZvPSdhIHBvaW50ZXIgdG8gdGhlIGJhc2UgVVJMLCBvciBOVUxMIGlmIG5vdCBmb3VuZCBJdCZhcG9zO3MgdXAgdG8gdGhlIGNhbGxlciB0byBmcmVlIHRoZSBtZW1vcnkgd2l0aCB4bWxGcmVlKCkuJy8+CisgICAgICA8YXJnIG5hbWU9J2RvYycgdHlwZT0nY29uc3QgeG1sRG9jIConIGluZm89J3RoZSBkb2N1bWVudCB0aGUgbm9kZSBwZXJ0YWlucyB0bycvPgorICAgICAgPGFyZyBuYW1lPSdjdXInIHR5cGU9J2NvbnN0IHhtbE5vZGUgKicgaW5mbz0ndGhlIG5vZGUgYmVpbmcgY2hlY2tlZCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbE5vZGVHZXRDb250ZW50JyBmaWxlPSd0cmVlJyBtb2R1bGU9J3RyZWUnPgorICAgICAgPGluZm8+UmVhZCB0aGUgdmFsdWUgb2YgYSBub2RlLCB0aGlzIGNhbiBiZSBlaXRoZXIgdGhlIHRleHQgY2FycmllZCBkaXJlY3RseSBieSB0aGlzIG5vZGUgaWYgaXQmYXBvcztzIGEgVEVYVCBub2RlIG9yIHRoZSBhZ2dyZWdhdGUgc3RyaW5nIG9mIHRoZSB2YWx1ZXMgY2FycmllZCBieSB0aGlzIG5vZGUgY2hpbGQmYXBvcztzIChURVhUIGFuZCBFTlRJVFlfUkVGKS4gRW50aXR5IHJlZmVyZW5jZXMgYXJlIHN1YnN0aXR1dGVkLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sQ2hhciAqJyBpbmZvPSdhIG5ldyAjeG1sQ2hhciAqIG9yIE5VTEwgaWYgbm8gY29udGVudCBpcyBhdmFpbGFibGUuIEl0JmFwb3M7cyB1cCB0byB0aGUgY2FsbGVyIHRvIGZyZWUgdGhlIG1lbW9yeSB3aXRoIHhtbEZyZWUoKS4nLz4KKyAgICAgIDxhcmcgbmFtZT0nY3VyJyB0eXBlPSdjb25zdCB4bWxOb2RlIConIGluZm89J3RoZSBub2RlIGJlaW5nIHJlYWQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxOb2RlR2V0TGFuZycgZmlsZT0ndHJlZScgbW9kdWxlPSd0cmVlJz4KKyAgICAgIDxpbmZvPlNlYXJjaGVzIHRoZSBsYW5ndWFnZSBvZiBhIG5vZGUsIGkuZS4gdGhlIHZhbHVlcyBvZiB0aGUgeG1sOmxhbmcgYXR0cmlidXRlIG9yIHRoZSBvbmUgY2FycmllZCBieSB0aGUgbmVhcmVzdCBhbmNlc3Rvci48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbENoYXIgKicgaW5mbz0nYSBwb2ludGVyIHRvIHRoZSBsYW5nIHZhbHVlLCBvciBOVUxMIGlmIG5vdCBmb3VuZCBJdCZhcG9zO3MgdXAgdG8gdGhlIGNhbGxlciB0byBmcmVlIHRoZSBtZW1vcnkgd2l0aCB4bWxGcmVlKCkuJy8+CisgICAgICA8YXJnIG5hbWU9J2N1cicgdHlwZT0nY29uc3QgeG1sTm9kZSAqJyBpbmZvPSd0aGUgbm9kZSBiZWluZyBjaGVja2VkJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sTm9kZUdldFNwYWNlUHJlc2VydmUnIGZpbGU9J3RyZWUnIG1vZHVsZT0ndHJlZSc+CisgICAgICA8aW5mbz5TZWFyY2hlcyB0aGUgc3BhY2UgcHJlc2VydmluZyBiZWhhdmlvdXIgb2YgYSBub2RlLCBpLmUuIHRoZSB2YWx1ZXMgb2YgdGhlIHhtbDpzcGFjZSBhdHRyaWJ1dGUgb3IgdGhlIG9uZSBjYXJyaWVkIGJ5IHRoZSBuZWFyZXN0IGFuY2VzdG9yLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSctMSBpZiB4bWw6c3BhY2UgaXMgbm90IGluaGVyaXRlZCwgMCBpZiAmcXVvdDtkZWZhdWx0JnF1b3Q7LCAxIGlmICZxdW90O3ByZXNlcnZlJnF1b3Q7Jy8+CisgICAgICA8YXJnIG5hbWU9J2N1cicgdHlwZT0nY29uc3QgeG1sTm9kZSAqJyBpbmZvPSd0aGUgbm9kZSBiZWluZyBjaGVja2VkJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sTm9kZUlzVGV4dCcgZmlsZT0ndHJlZScgbW9kdWxlPSd0cmVlJz4KKyAgICAgIDxpbmZvPklzIHRoaXMgbm9kZSBhIFRleHQgbm9kZSA/PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgeWVzLCAwIG5vJy8+CisgICAgICA8YXJnIG5hbWU9J25vZGUnIHR5cGU9J2NvbnN0IHhtbE5vZGUgKicgaW5mbz0ndGhlIG5vZGUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxOb2RlTGlzdEdldFJhd1N0cmluZycgZmlsZT0ndHJlZScgbW9kdWxlPSd0cmVlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5CdWlsZHMgdGhlIHN0cmluZyBlcXVpdmFsZW50IHRvIHRoZSB0ZXh0IGNvbnRhaW5lZCBpbiB0aGUgTm9kZSBsaXN0IG1hZGUgb2YgVEVYVHMgYW5kIEVOVElUWV9SRUZzLCBjb250cmFyeSB0byB4bWxOb2RlTGlzdEdldFN0cmluZygpIHRoaXMgZnVuY3Rpb24gZG9lc24mYXBvczt0IGRvIGFueSBjaGFyYWN0ZXIgZW5jb2RpbmcgaGFuZGxpbmcuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxDaGFyIConIGluZm89J2EgcG9pbnRlciB0byB0aGUgc3RyaW5nIGNvcHksIHRoZSBjYWxsZXIgbXVzdCBmcmVlIGl0IHdpdGggeG1sRnJlZSgpLicvPgorICAgICAgPGFyZyBuYW1lPSdkb2MnIHR5cGU9J2NvbnN0IHhtbERvYyAqJyBpbmZvPSd0aGUgZG9jdW1lbnQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbGlzdCcgdHlwZT0nY29uc3QgeG1sTm9kZSAqJyBpbmZvPSdhIE5vZGUgbGlzdCcvPgorICAgICAgPGFyZyBuYW1lPSdpbkxpbmUnIHR5cGU9J2ludCcgaW5mbz0nc2hvdWxkIHdlIHJlcGxhY2UgZW50aXR5IGNvbnRlbnRzIG9yIHNob3cgdGhlaXIgZXh0ZXJuYWwgZm9ybScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbE5vZGVMaXN0R2V0U3RyaW5nJyBmaWxlPSd0cmVlJyBtb2R1bGU9J3RyZWUnPgorICAgICAgPGluZm8+QnVpbGQgdGhlIHN0cmluZyBlcXVpdmFsZW50IHRvIHRoZSB0ZXh0IGNvbnRhaW5lZCBpbiB0aGUgTm9kZSBsaXN0IG1hZGUgb2YgVEVYVHMgYW5kIEVOVElUWV9SRUZzPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxDaGFyIConIGluZm89J2EgcG9pbnRlciB0byB0aGUgc3RyaW5nIGNvcHksIHRoZSBjYWxsZXIgbXVzdCBmcmVlIGl0IHdpdGggeG1sRnJlZSgpLicvPgorICAgICAgPGFyZyBuYW1lPSdkb2MnIHR5cGU9J3htbERvY1B0cicgaW5mbz0ndGhlIGRvY3VtZW50Jy8+CisgICAgICA8YXJnIG5hbWU9J2xpc3QnIHR5cGU9J2NvbnN0IHhtbE5vZGUgKicgaW5mbz0nYSBOb2RlIGxpc3QnLz4KKyAgICAgIDxhcmcgbmFtZT0naW5MaW5lJyB0eXBlPSdpbnQnIGluZm89J3Nob3VsZCB3ZSByZXBsYWNlIGVudGl0eSBjb250ZW50cyBvciBzaG93IHRoZWlyIGV4dGVybmFsIGZvcm0nLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxOb2RlU2V0QmFzZScgZmlsZT0ndHJlZScgbW9kdWxlPSd0cmVlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfWElOQ0xVREVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5TZXQgKG9yIHJlc2V0KSB0aGUgYmFzZSBVUkkgb2YgYSBub2RlLCBpLmUuIHRoZSB2YWx1ZSBvZiB0aGUgeG1sOmJhc2UgYXR0cmlidXRlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdXInIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3RoZSBub2RlIGJlaW5nIGNoYW5nZWQnLz4KKyAgICAgIDxhcmcgbmFtZT0ndXJpJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBuZXcgYmFzZSBVUkknLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxOb2RlU2V0Q29udGVudCcgZmlsZT0ndHJlZScgbW9kdWxlPSd0cmVlJz4KKyAgICAgIDxpbmZvPlJlcGxhY2UgdGhlIGNvbnRlbnQgb2YgYSBub2RlLiBOT1RFOiBAY29udGVudCBpcyBzdXBwb3NlZCB0byBiZSBhIHBpZWNlIG9mIFhNTCBDREFUQSwgc28gaXQgYWxsb3dzIGVudGl0eSByZWZlcmVuY2VzLCBidXQgWE1MIHNwZWNpYWwgY2hhcnMgbmVlZCB0byBiZSBlc2NhcGVkIGZpcnN0IGJ5IHVzaW5nIHhtbEVuY29kZUVudGl0aWVzUmVlbnRyYW50KCkgcmVzcC4geG1sRW5jb2RlU3BlY2lhbENoYXJzKCkuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N1cicgdHlwZT0neG1sTm9kZVB0cicgaW5mbz0ndGhlIG5vZGUgYmVpbmcgbW9kaWZpZWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29udGVudCcgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgbmV3IHZhbHVlIG9mIHRoZSBjb250ZW50Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sTm9kZVNldENvbnRlbnRMZW4nIGZpbGU9J3RyZWUnIG1vZHVsZT0ndHJlZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+UmVwbGFjZSB0aGUgY29udGVudCBvZiBhIG5vZGUuIE5PVEU6IEBjb250ZW50IGlzIHN1cHBvc2VkIHRvIGJlIGEgcGllY2Ugb2YgWE1MIENEQVRBLCBzbyBpdCBhbGxvd3MgZW50aXR5IHJlZmVyZW5jZXMsIGJ1dCBYTUwgc3BlY2lhbCBjaGFycyBuZWVkIHRvIGJlIGVzY2FwZWQgZmlyc3QgYnkgdXNpbmcgeG1sRW5jb2RlRW50aXRpZXNSZWVudHJhbnQoKSByZXNwLiB4bWxFbmNvZGVTcGVjaWFsQ2hhcnMoKS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3VyJyB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSd0aGUgbm9kZSBiZWluZyBtb2RpZmllZCcvPgorICAgICAgPGFyZyBuYW1lPSdjb250ZW50JyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBuZXcgdmFsdWUgb2YgdGhlIGNvbnRlbnQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbGVuJyB0eXBlPSdpbnQnIGluZm89J3RoZSBzaXplIG9mIEBjb250ZW50Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sTm9kZVNldExhbmcnIGZpbGU9J3RyZWUnIG1vZHVsZT0ndHJlZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+U2V0IHRoZSBsYW5ndWFnZSBvZiBhIG5vZGUsIGkuZS4gdGhlIHZhbHVlcyBvZiB0aGUgeG1sOmxhbmcgYXR0cmlidXRlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdXInIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3RoZSBub2RlIGJlaW5nIGNoYW5nZWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbGFuZycgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgbGFuZ3VhZ2UgZGVzY3JpcHRpb24nLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxOb2RlU2V0TmFtZScgZmlsZT0ndHJlZScgbW9kdWxlPSd0cmVlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5TZXQgKG9yIHJlc2V0KSB0aGUgbmFtZSBvZiBhIG5vZGUuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N1cicgdHlwZT0neG1sTm9kZVB0cicgaW5mbz0ndGhlIG5vZGUgYmVpbmcgY2hhbmdlZCcvPgorICAgICAgPGFyZyBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBuZXcgdGFnIG5hbWUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxOb2RlU2V0U3BhY2VQcmVzZXJ2ZScgZmlsZT0ndHJlZScgbW9kdWxlPSd0cmVlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5TZXQgKG9yIHJlc2V0KSB0aGUgc3BhY2UgcHJlc2VydmluZyBiZWhhdmlvdXIgb2YgYSBub2RlLCBpLmUuIHRoZSB2YWx1ZSBvZiB0aGUgeG1sOnNwYWNlIGF0dHJpYnV0ZS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3VyJyB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSd0aGUgbm9kZSBiZWluZyBjaGFuZ2VkJy8+CisgICAgICA8YXJnIG5hbWU9J3ZhbCcgdHlwZT0naW50JyBpbmZvPSd0aGUgeG1sOnNwYWNlIHZhbHVlICgmcXVvdDswJnF1b3Q7OiBkZWZhdWx0LCAxOiAmcXVvdDtwcmVzZXJ2ZSZxdW90OyknLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxOb3JtYWxpemVVUklQYXRoJyBmaWxlPSd1cmknIG1vZHVsZT0ndXJpJz4KKyAgICAgIDxpbmZvPkFwcGxpZXMgdGhlIDUgbm9ybWFsaXphdGlvbiBzdGVwcyB0byBhIHBhdGggc3RyaW5nLS10aGF0IGlzLCBSRkMgMjM5NiBTZWN0aW9uIDUuMiwgc3RlcHMgNi5jIHRocm91Z2ggNi5nLiAgTm9ybWFsaXphdGlvbiBvY2N1cnMgZGlyZWN0bHkgb24gdGhlIHN0cmluZywgbm8gbmV3IGFsbG9jYXRpb24gaXMgZG9uZTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScwIG9yIGFuIGVycm9yIGNvZGUnLz4KKyAgICAgIDxhcmcgbmFtZT0ncGF0aCcgdHlwZT0nY2hhciAqJyBpbmZvPSdwb2ludGVyIHRvIHRoZSBwYXRoIHN0cmluZycvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbE5vcm1hbGl6ZVdpbmRvd3NQYXRoJyBmaWxlPSd4bWxJTycgbW9kdWxlPSd4bWxJTyc+CisgICAgICA8aW5mbz5UaGlzIGZ1bmN0aW9uIGlzIG9ic29sZXRlLiBQbGVhc2Ugc2VlIHhtbFVSSUZyb21QYXRoIGluIHVyaS5jIGZvciBhIGJldHRlciBzb2x1dGlvbi48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbENoYXIgKicgaW5mbz0nYSBjYW5vbmljYWxpemVkIHZlcnNpb24gb2YgdGhlIHBhdGgnLz4KKyAgICAgIDxhcmcgbmFtZT0ncGF0aCcgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgaW5wdXQgZmlsZSBwYXRoJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sT3V0cHV0QnVmZmVyQ2xvc2UnIGZpbGU9J3htbElPJyBtb2R1bGU9J3htbElPJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPmZsdXNoZXMgYW5kIGNsb3NlIHRoZSBvdXRwdXQgSS9PIGNoYW5uZWwgYW5kIGZyZWUgdXAgYWxsIHRoZSBhc3NvY2lhdGVkIHJlc291cmNlczwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgbnVtYmVyIG9mIGJ5dGUgd3JpdHRlbiBvciAtMSBpbiBjYXNlIG9mIGVycm9yLicvPgorICAgICAgPGFyZyBuYW1lPSdvdXQnIHR5cGU9J3htbE91dHB1dEJ1ZmZlclB0cicgaW5mbz0nYSBidWZmZXJlZCBvdXRwdXQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxPdXRwdXRCdWZmZXJDcmVhdGVCdWZmZXInIGZpbGU9J3htbElPJyBtb2R1bGU9J3htbElPJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNyZWF0ZSBhIGJ1ZmZlcmVkIG91dHB1dCBmb3IgdGhlIHByb2dyZXNzaXZlIHNhdmluZyB0byBhIHhtbEJ1ZmZlcjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sT3V0cHV0QnVmZmVyUHRyJyBpbmZvPSd0aGUgbmV3IHBhcnNlciBvdXRwdXQgb3IgTlVMTCcvPgorICAgICAgPGFyZyBuYW1lPSdidWZmZXInIHR5cGU9J3htbEJ1ZmZlclB0cicgaW5mbz0nYSB4bWxCdWZmZXJQdHInLz4KKyAgICAgIDxhcmcgbmFtZT0nZW5jb2RlcicgdHlwZT0neG1sQ2hhckVuY29kaW5nSGFuZGxlclB0cicgaW5mbz0ndGhlIGVuY29kaW5nIGNvbnZlcnRlciBvciBOVUxMJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmQnIGZpbGU9J3htbElPJyBtb2R1bGU9J3htbElPJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNyZWF0ZSBhIGJ1ZmZlcmVkIG91dHB1dCBmb3IgdGhlIHByb2dyZXNzaXZlIHNhdmluZyB0byBhIGZpbGUgZGVzY3JpcHRvcjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sT3V0cHV0QnVmZmVyUHRyJyBpbmZvPSd0aGUgbmV3IHBhcnNlciBvdXRwdXQgb3IgTlVMTCcvPgorICAgICAgPGFyZyBuYW1lPSdmZCcgdHlwZT0naW50JyBpbmZvPSdhIGZpbGUgZGVzY3JpcHRvciBudW1iZXInLz4KKyAgICAgIDxhcmcgbmFtZT0nZW5jb2RlcicgdHlwZT0neG1sQ2hhckVuY29kaW5nSGFuZGxlclB0cicgaW5mbz0ndGhlIGVuY29kaW5nIGNvbnZlcnRlciBvciBOVUxMJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZScgZmlsZT0neG1sSU8nIG1vZHVsZT0neG1sSU8nPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q3JlYXRlIGEgYnVmZmVyZWQgb3V0cHV0IGZvciB0aGUgcHJvZ3Jlc3NpdmUgc2F2aW5nIHRvIGEgRklMRSAqIGJ1ZmZlcmVkIEMgSS9PPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxPdXRwdXRCdWZmZXJQdHInIGluZm89J3RoZSBuZXcgcGFyc2VyIG91dHB1dCBvciBOVUxMJy8+CisgICAgICA8YXJnIG5hbWU9J2ZpbGUnIHR5cGU9J0ZJTEUgKicgaW5mbz0nYSBGSUxFKicvPgorICAgICAgPGFyZyBuYW1lPSdlbmNvZGVyJyB0eXBlPSd4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyJyBpbmZvPSd0aGUgZW5jb2RpbmcgY29udmVydGVyIG9yIE5VTEwnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZScgZmlsZT0neG1sSU8nIG1vZHVsZT0neG1sSU8nPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q3JlYXRlIGEgYnVmZmVyZWQgIG91dHB1dCBmb3IgdGhlIHByb2dyZXNzaXZlIHNhdmluZyBvZiBhIGZpbGUgSWYgZmlsZW5hbWUgaXMgJnF1b3Q7LSZhcG9zOyB0aGVuIHdlIHVzZSBzdGRvdXQgYXMgdGhlIG91dHB1dC4gQXV0b21hdGljIHN1cHBvcnQgZm9yIFpMSUIvQ29tcHJlc3MgY29tcHJlc3NlZCBkb2N1bWVudCBpcyBwcm92aWRlZCBieSBkZWZhdWx0IGlmIGZvdW5kIGF0IGNvbXBpbGUtdGltZS4gVE9ETzogY3VycmVudGx5IGlmIGNvbXByZXNzaW9uIGlzIHNldCwgdGhlIGxpYnJhcnkgb25seSBzdXBwb3J0IHdyaXRpbmcgdG8gYSBsb2NhbCBmaWxlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sT3V0cHV0QnVmZmVyUHRyJyBpbmZvPSd0aGUgbmV3IG91dHB1dCBvciBOVUxMJy8+CisgICAgICA8YXJnIG5hbWU9J1VSSScgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSdhIEMgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIFVSSSBvciBmaWxlbmFtZScvPgorICAgICAgPGFyZyBuYW1lPSdlbmNvZGVyJyB0eXBlPSd4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyJyBpbmZvPSd0aGUgZW5jb2RpbmcgY29udmVydGVyIG9yIE5VTEwnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29tcHJlc3Npb24nIHR5cGU9J2ludCcgaW5mbz0ndGhlIGNvbXByZXNzaW9uIHJhdGlvbiAoMCBub25lLCA5IG1heCkuJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0JyBmaWxlPSdnbG9iYWxzJyBtb2R1bGU9J3htbElPJz4KKyAgICAgIDxpbmZvPlJlZ2lzdGVycyBhIGNhbGxiYWNrIGZvciBVUkkgb3V0cHV0IGZpbGUgaGFuZGxpbmc8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYycgaW5mbz0ndGhlIG9sZCB2YWx1ZSBvZiB0aGUgcmVnaXN0cmF0aW9uIGZ1bmN0aW9uJy8+CisgICAgICA8YXJnIG5hbWU9J2Z1bmMnIHR5cGU9J3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYycgaW5mbz0nZnVuY3Rpb24gcG9pbnRlciB0byB0aGUgbmV3IE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYycvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0eXBlIG5hbWU9J3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYycgZmlsZT0nZ2xvYmFscycgbW9kdWxlPSdnbG9iYWxzJz4KKyAgICAgIDxpbmZvPlNpZ25hdHVyZSBmb3IgdGhlIGZ1bmN0aW9uIGRvaW5nIHRoZSBsb29rdXAgZm9yIGEgc3VpdGFibGUgb3V0cHV0IG1ldGhvZCBjb3JyZXNwb25kaW5nIHRvIGFuIFVSSS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbE91dHB1dEJ1ZmZlclB0cicgaW5mbz0ndGhlIG5ldyB4bWxPdXRwdXRCdWZmZXJQdHIgaW4gY2FzZSBvZiBzdWNjZXNzIG9yIE5VTEwgaWYgbm8gbWV0aG9kIHdhcyBmb3VuZC4nLz4KKyAgICAgIDxhcmcgbmFtZT0nVVJJJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBVUkkgdG8gd3JpdGUgdG8nLz4KKyAgICAgIDxhcmcgbmFtZT0nZW5jb2RlcicgdHlwZT0neG1sQ2hhckVuY29kaW5nSGFuZGxlclB0cicgaW5mbz0nJy8+CisgICAgICA8YXJnIG5hbWU9J2NvbXByZXNzaW9uJyB0eXBlPSdpbnQnIGluZm89JycvPgorICAgIDwvZnVuY3R5cGU+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbE91dHB1dEJ1ZmZlckNyZWF0ZUlPJyBmaWxlPSd4bWxJTycgbW9kdWxlPSd4bWxJTyc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DcmVhdGUgYSBidWZmZXJlZCBvdXRwdXQgZm9yIHRoZSBwcm9ncmVzc2l2ZSBzYXZpbmcgdG8gYW4gSS9PIGhhbmRsZXI8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbE91dHB1dEJ1ZmZlclB0cicgaW5mbz0ndGhlIG5ldyBwYXJzZXIgb3V0cHV0IG9yIE5VTEwnLz4KKyAgICAgIDxhcmcgbmFtZT0naW93cml0ZScgdHlwZT0neG1sT3V0cHV0V3JpdGVDYWxsYmFjaycgaW5mbz0nYW4gSS9PIHdyaXRlIGZ1bmN0aW9uJy8+CisgICAgICA8YXJnIG5hbWU9J2lvY2xvc2UnIHR5cGU9J3htbE91dHB1dENsb3NlQ2FsbGJhY2snIGluZm89J2FuIEkvTyBjbG9zZSBmdW5jdGlvbicvPgorICAgICAgPGFyZyBuYW1lPSdpb2N0eCcgdHlwZT0ndm9pZCAqJyBpbmZvPSdhbiBJL08gaGFuZGxlcicvPgorICAgICAgPGFyZyBuYW1lPSdlbmNvZGVyJyB0eXBlPSd4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyJyBpbmZvPSd0aGUgY2hhcnNldCBlbmNvZGluZyBpZiBrbm93bicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbE91dHB1dEJ1ZmZlckZsdXNoJyBmaWxlPSd4bWxJTycgbW9kdWxlPSd4bWxJTyc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5mbHVzaGVzIHRoZSBvdXRwdXQgSS9PIGNoYW5uZWw8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndGhlIG51bWJlciBvZiBieXRlIHdyaXR0ZW4gb3IgLTEgaW4gY2FzZSBvZiBlcnJvci4nLz4KKyAgICAgIDxhcmcgbmFtZT0nb3V0JyB0eXBlPSd4bWxPdXRwdXRCdWZmZXJQdHInIGluZm89J2EgYnVmZmVyZWQgb3V0cHV0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sT3V0cHV0QnVmZmVyR2V0Q29udGVudCcgZmlsZT0neG1sSU8nIG1vZHVsZT0neG1sSU8nPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+R2l2ZXMgYSBwb2ludGVyIHRvIHRoZSBkYXRhIGN1cnJlbnRseSBoZWxkIGluIHRoZSBvdXRwdXQgYnVmZmVyPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J2EgcG9pbnRlciB0byB0aGUgZGF0YSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0nb3V0JyB0eXBlPSd4bWxPdXRwdXRCdWZmZXJQdHInIGluZm89J2FuIHhtbE91dHB1dEJ1ZmZlclB0cicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbE91dHB1dEJ1ZmZlckdldFNpemUnIGZpbGU9J3htbElPJyBtb2R1bGU9J3htbElPJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkdpdmVzIHRoZSBsZW5ndGggb2YgdGhlIGRhdGEgY3VycmVudGx5IGhlbGQgaW4gdGhlIG91dHB1dCBidWZmZXI8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3NpemVfdCcgaW5mbz0nMCBpbiBjYXNlIG9yIGVycm9yIG9yIG5vIGRhdGEgaXMgaGVsZCwgdGhlIHNpemUgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J291dCcgdHlwZT0neG1sT3V0cHV0QnVmZmVyUHRyJyBpbmZvPSdhbiB4bWxPdXRwdXRCdWZmZXJQdHInLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxPdXRwdXRCdWZmZXJXcml0ZScgZmlsZT0neG1sSU8nIG1vZHVsZT0neG1sSU8nPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+V3JpdGUgdGhlIGNvbnRlbnQgb2YgdGhlIGFycmF5IGluIHRoZSBvdXRwdXQgSS9PIGJ1ZmZlciBUaGlzIHJvdXRpbmUgaGFuZGxlIHRoZSBJMThOIHRyYW5zY29kaW5nIGZyb20gaW50ZXJuYWwgVVRGLTggVGhlIGJ1ZmZlciBpcyBsb3NzbGVzcywgaS5lLiB3aWxsIHN0b3JlIGluIGNhc2Ugb2YgcGFydGlhbCBvciBkZWxheWVkIHdyaXRlcy48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndGhlIG51bWJlciBvZiBjaGFycyBpbW1lZGlhdGVseSB3cml0dGVuLCBvciAtMSBpbiBjYXNlIG9mIGVycm9yLicvPgorICAgICAgPGFyZyBuYW1lPSdvdXQnIHR5cGU9J3htbE91dHB1dEJ1ZmZlclB0cicgaW5mbz0nYSBidWZmZXJlZCBwYXJzZXIgb3V0cHV0Jy8+CisgICAgICA8YXJnIG5hbWU9J2xlbicgdHlwZT0naW50JyBpbmZvPSd0aGUgc2l6ZSBpbiBieXRlcyBvZiB0aGUgYXJyYXkuJy8+CisgICAgICA8YXJnIG5hbWU9J2J1ZicgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSdhbiBjaGFyIGFycmF5Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sT3V0cHV0QnVmZmVyV3JpdGVFc2NhcGUnIGZpbGU9J3htbElPJyBtb2R1bGU9J3htbElPJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPldyaXRlIHRoZSBjb250ZW50IG9mIHRoZSBzdHJpbmcgaW4gdGhlIG91dHB1dCBJL08gYnVmZmVyIFRoaXMgcm91dGluZSBlc2NhcGVzIHRoZSBjYXJhY3RlcnMgYW5kIHRoZW4gaGFuZGxlIHRoZSBJMThOIHRyYW5zY29kaW5nIGZyb20gaW50ZXJuYWwgVVRGLTggVGhlIGJ1ZmZlciBpcyBsb3NzbGVzcywgaS5lLiB3aWxsIHN0b3JlIGluIGNhc2Ugb2YgcGFydGlhbCBvciBkZWxheWVkIHdyaXRlcy48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndGhlIG51bWJlciBvZiBjaGFycyBpbW1lZGlhdGVseSB3cml0dGVuLCBvciAtMSBpbiBjYXNlIG9mIGVycm9yLicvPgorICAgICAgPGFyZyBuYW1lPSdvdXQnIHR5cGU9J3htbE91dHB1dEJ1ZmZlclB0cicgaW5mbz0nYSBidWZmZXJlZCBwYXJzZXIgb3V0cHV0Jy8+CisgICAgICA8YXJnIG5hbWU9J3N0cicgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSdhIHplcm8gdGVybWluYXRlZCBVVEYtOCBzdHJpbmcnLz4KKyAgICAgIDxhcmcgbmFtZT0nZXNjYXBpbmcnIHR5cGU9J3htbENoYXJFbmNvZGluZ091dHB1dEZ1bmMnIGluZm89J2FuIG9wdGlvbmFsIGVzY2FwaW5nIGZ1bmN0aW9uIChvciBOVUxMKScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nJyBmaWxlPSd4bWxJTycgbW9kdWxlPSd4bWxJTyc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5Xcml0ZSB0aGUgY29udGVudCBvZiB0aGUgc3RyaW5nIGluIHRoZSBvdXRwdXQgSS9PIGJ1ZmZlciBUaGlzIHJvdXRpbmUgaGFuZGxlIHRoZSBJMThOIHRyYW5zY29kaW5nIGZyb20gaW50ZXJuYWwgVVRGLTggVGhlIGJ1ZmZlciBpcyBsb3NzbGVzcywgaS5lLiB3aWxsIHN0b3JlIGluIGNhc2Ugb2YgcGFydGlhbCBvciBkZWxheWVkIHdyaXRlcy48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndGhlIG51bWJlciBvZiBjaGFycyBpbW1lZGlhdGVseSB3cml0dGVuLCBvciAtMSBpbiBjYXNlIG9mIGVycm9yLicvPgorICAgICAgPGFyZyBuYW1lPSdvdXQnIHR5cGU9J3htbE91dHB1dEJ1ZmZlclB0cicgaW5mbz0nYSBidWZmZXJlZCBwYXJzZXIgb3V0cHV0Jy8+CisgICAgICA8YXJnIG5hbWU9J3N0cicgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSdhIHplcm8gdGVybWluYXRlZCBDIHN0cmluZycvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0eXBlIG5hbWU9J3htbE91dHB1dENsb3NlQ2FsbGJhY2snIGZpbGU9J3htbElPJyBtb2R1bGU9J3htbElPJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNhbGxiYWNrIHVzZWQgaW4gdGhlIEkvTyBPdXRwdXQgQVBJIHRvIGNsb3NlIHRoZSByZXNvdXJjZTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScwIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0nY29udGV4dCcgdHlwZT0ndm9pZCAqJyBpbmZvPSdhbiBPdXRwdXQgY29udGV4dCcvPgorICAgIDwvZnVuY3R5cGU+CisgICAgPGZ1bmN0eXBlIG5hbWU9J3htbE91dHB1dE1hdGNoQ2FsbGJhY2snIGZpbGU9J3htbElPJyBtb2R1bGU9J3htbElPJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNhbGxiYWNrIHVzZWQgaW4gdGhlIEkvTyBPdXRwdXQgQVBJIHRvIGRldGVjdCBpZiB0aGUgY3VycmVudCBoYW5kbGVyIGNhbiBwcm92aWRlIG91dHB1dCBmb25jdGlvbm5hbGl0aWVzIGZvciB0aGlzIHJlc291cmNlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHllcyBhbmQgMCBpZiBhbm90aGVyIE91dHB1dCBtb2R1bGUgc2hvdWxkIGJlIHVzZWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZmlsZW5hbWUnIHR5cGU9J2NoYXIgY29uc3QgKicgaW5mbz0ndGhlIGZpbGVuYW1lIG9yIFVSSScvPgorICAgIDwvZnVuY3R5cGU+CisgICAgPGZ1bmN0eXBlIG5hbWU9J3htbE91dHB1dE9wZW5DYWxsYmFjaycgZmlsZT0neG1sSU8nIG1vZHVsZT0neG1sSU8nPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2FsbGJhY2sgdXNlZCBpbiB0aGUgSS9PIE91dHB1dCBBUEkgdG8gb3BlbiB0aGUgcmVzb3VyY2U8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQgKicgaW5mbz0nYW4gT3V0cHV0IGNvbnRleHQgb3IgTlVMTCBpbiBjYXNlIG9yIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J2ZpbGVuYW1lJyB0eXBlPSdjaGFyIGNvbnN0IConIGluZm89J3RoZSBmaWxlbmFtZSBvciBVUkknLz4KKyAgICA8L2Z1bmN0eXBlPgorICAgIDxmdW5jdHlwZSBuYW1lPSd4bWxPdXRwdXRXcml0ZUNhbGxiYWNrJyBmaWxlPSd4bWxJTycgbW9kdWxlPSd4bWxJTyc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DYWxsYmFjayB1c2VkIGluIHRoZSBJL08gT3V0cHV0IEFQSSB0byB3cml0ZSB0byB0aGUgcmVzb3VyY2U8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndGhlIG51bWJlciBvZiBieXRlcyB3cml0dGVuIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0nY29udGV4dCcgdHlwZT0ndm9pZCAqJyBpbmZvPSdhbiBPdXRwdXQgY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdidWZmZXInIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIGJ1ZmZlciBvZiBkYXRhIHRvIHdyaXRlJy8+CisgICAgICA8YXJnIG5hbWU9J2xlbicgdHlwZT0naW50JyBpbmZvPSd0aGUgbGVuZ3RoIG9mIHRoZSBidWZmZXIgaW4gYnl0ZXMnLz4KKyAgICA8L2Z1bmN0eXBlPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxQYXJzZUF0dFZhbHVlJyBmaWxlPSdwYXJzZXJJbnRlcm5hbHMnIG1vZHVsZT0ncGFyc2VyJz4KKyAgICAgIDxpbmZvPnBhcnNlIGEgdmFsdWUgZm9yIGFuIGF0dHJpYnV0ZSBOb3RlOiB0aGUgcGFyc2VyIHdvbiZhcG9zO3QgZG8gc3Vic3RpdHV0aW9uIG9mIGVudGl0aWVzIGhlcmUsIHRoaXMgd2lsbCBiZSBoYW5kbGVkIGxhdGVyIGluIHhtbFN0cmluZ0dldE5vZGVMaXN0ICBbMTBdIEF0dFZhbHVlIDo6PSAmYXBvczsmcXVvdDsmYXBvczsgKFteJmx0OyZhbXA7JnF1b3Q7XSB8IFJlZmVyZW5jZSkqICZhcG9zOyZxdW90OyZhcG9zOyB8ICZxdW90OyZhcG9zOyZxdW90OyAoW14mbHQ7JmFtcDsmYXBvcztdIHwgUmVmZXJlbmNlKSogJnF1b3Q7JmFwb3M7JnF1b3Q7ICAzLjMuMyBBdHRyaWJ1dGUtVmFsdWUgTm9ybWFsaXphdGlvbjogQmVmb3JlIHRoZSB2YWx1ZSBvZiBhbiBhdHRyaWJ1dGUgaXMgcGFzc2VkIHRvIHRoZSBhcHBsaWNhdGlvbiBvciBjaGVja2VkIGZvciB2YWxpZGl0eSwgdGhlIFhNTCBwcm9jZXNzb3IgbXVzdCBub3JtYWxpemUgaXQgYXMgZm9sbG93czogLSBhIGNoYXJhY3RlciByZWZlcmVuY2UgaXMgcHJvY2Vzc2VkIGJ5IGFwcGVuZGluZyB0aGUgcmVmZXJlbmNlZCBjaGFyYWN0ZXIgdG8gdGhlIGF0dHJpYnV0ZSB2YWx1ZSAtIGFuIGVudGl0eSByZWZlcmVuY2UgaXMgcHJvY2Vzc2VkIGJ5IHJlY3Vyc2l2ZWx5IHByb2Nlc3NpbmcgdGhlIHJlcGxhY2VtZW50IHRleHQgb2YgdGhlIGVudGl0eSAtIGEgd2hpdGVzcGFjZSBjaGFyYWN0ZXIgKCN4MjAsICN4RCwgI3hBLCAjeDkpIGlzIHByb2Nlc3NlZCBieSBhcHBlbmRpbmcgI3gyMCB0byB0aGUgbm9ybWFsaXplZCB2YWx1ZSwgZXhjZXB0IHRoYXQgb25seSBhIHNpbmdsZSAjeDIwIGlzIGFwcGVuZGVkIGZvciBhICZxdW90OyN4RCN4QSZxdW90OyBzZXF1ZW5jZSB0aGF0IGlzIHBhcnQgb2YgYW4gZXh0ZXJuYWwgcGFyc2VkIGVudGl0eSBvciB0aGUgbGl0ZXJhbCBlbnRpdHkgdmFsdWUgb2YgYW4gaW50ZXJuYWwgcGFyc2VkIGVudGl0eSAtIG90aGVyIGNoYXJhY3RlcnMgYXJlIHByb2Nlc3NlZCBieSBhcHBlbmRpbmcgdGhlbSB0byB0aGUgbm9ybWFsaXplZCB2YWx1ZSBJZiB0aGUgZGVjbGFyZWQgdmFsdWUgaXMgbm90IENEQVRBLCB0aGVuIHRoZSBYTUwgcHJvY2Vzc29yIG11c3QgZnVydGhlciBwcm9jZXNzIHRoZSBub3JtYWxpemVkIGF0dHJpYnV0ZSB2YWx1ZSBieSBkaXNjYXJkaW5nIGFueSBsZWFkaW5nIGFuZCB0cmFpbGluZyBzcGFjZSAoI3gyMCkgY2hhcmFjdGVycywgYW5kIGJ5IHJlcGxhY2luZyBzZXF1ZW5jZXMgb2Ygc3BhY2UgKCN4MjApIGNoYXJhY3RlcnMgYnkgYSBzaW5nbGUgc3BhY2UgKCN4MjApIGNoYXJhY3Rlci4gQWxsIGF0dHJpYnV0ZXMgZm9yIHdoaWNoIG5vIGRlY2xhcmF0aW9uIGhhcyBiZWVuIHJlYWQgc2hvdWxkIGJlIHRyZWF0ZWQgYnkgYSBub24tdmFsaWRhdGluZyBwYXJzZXIgYXMgaWYgZGVjbGFyZWQgQ0RBVEEuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxDaGFyIConIGluZm89J3RoZSBBdHRWYWx1ZSBwYXJzZWQgb3IgTlVMTC4gVGhlIHZhbHVlIGhhcyB0byBiZSBmcmVlZCBieSB0aGUgY2FsbGVyLicvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxQYXJzZXJDdHh0UHRyJyBpbmZvPSdhbiBYTUwgcGFyc2VyIGNvbnRleHQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxQYXJzZUF0dHJpYnV0ZScgZmlsZT0ncGFyc2VySW50ZXJuYWxzJyBtb2R1bGU9J3BhcnNlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9TQVgxX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+cGFyc2UgYW4gYXR0cmlidXRlICBbNDFdIEF0dHJpYnV0ZSA6Oj0gTmFtZSBFcSBBdHRWYWx1ZSAgWyBXRkM6IE5vIEV4dGVybmFsIEVudGl0eSBSZWZlcmVuY2VzIF0gQXR0cmlidXRlIHZhbHVlcyBjYW5ub3QgY29udGFpbiBkaXJlY3Qgb3IgaW5kaXJlY3QgZW50aXR5IHJlZmVyZW5jZXMgdG8gZXh0ZXJuYWwgZW50aXRpZXMuICBbIFdGQzogTm8gJmx0OyBpbiBBdHRyaWJ1dGUgVmFsdWVzIF0gVGhlIHJlcGxhY2VtZW50IHRleHQgb2YgYW55IGVudGl0eSByZWZlcnJlZCB0byBkaXJlY3RseSBvciBpbmRpcmVjdGx5IGluIGFuIGF0dHJpYnV0ZSB2YWx1ZSAob3RoZXIgdGhhbiAmcXVvdDsmYW1wO2x0OyZxdW90OykgbXVzdCBub3QgY29udGFpbiBhICZsdDsuICBbIFZDOiBBdHRyaWJ1dGUgVmFsdWUgVHlwZSBdIFRoZSBhdHRyaWJ1dGUgbXVzdCBoYXZlIGJlZW4gZGVjbGFyZWQ7IHRoZSB2YWx1ZSBtdXN0IGJlIG9mIHRoZSB0eXBlIGRlY2xhcmVkIGZvciBpdC4gIFsyNV0gRXEgOjo9IFM/ICZhcG9zOz0mYXBvczsgUz8gIFdpdGggbmFtZXNwYWNlOiAgW05TIDExXSBBdHRyaWJ1dGUgOjo9IFFOYW1lIEVxIEF0dFZhbHVlICBBbHNvIHRoZSBjYXNlIFFOYW1lID09IHhtbG5zOj8/PyBpcyBoYW5kbGVkIGluZGVwZW5kZW50bHkgYXMgYSBuYW1lc3BhY2UgZGVmaW5pdGlvbi48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIGF0dHJpYnV0ZSBuYW1lLCBhbmQgdGhlIHZhbHVlIGluICp2YWx1ZS4nLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sUGFyc2VyQ3R4dFB0cicgaW5mbz0nYW4gWE1MIHBhcnNlciBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J3ZhbHVlJyB0eXBlPSd4bWxDaGFyICoqJyBpbmZvPSdhIHhtbENoYXIgKiogdXNlZCB0byBzdG9yZSB0aGUgdmFsdWUgb2YgdGhlIGF0dHJpYnV0ZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFBhcnNlQXR0cmlidXRlTGlzdERlY2wnIGZpbGU9J3BhcnNlckludGVybmFscycgbW9kdWxlPSdwYXJzZXInPgorICAgICAgPGluZm8+OiBwYXJzZSB0aGUgQXR0cmlidXRlIGxpc3QgZGVmIGZvciBhbiBlbGVtZW50ICBbNTJdIEF0dGxpc3REZWNsIDo6PSAmYXBvczsmbHQ7IUFUVExJU1QmYXBvczsgUyBOYW1lIEF0dERlZiogUz8gJmFwb3M7Jmd0OyZhcG9zOyAgWzUzXSBBdHREZWYgOjo9IFMgTmFtZSBTIEF0dFR5cGUgUyBEZWZhdWx0RGVjbDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxQYXJzZXJDdHh0UHRyJyBpbmZvPSdhbiBYTUwgcGFyc2VyIGNvbnRleHQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxQYXJzZUF0dHJpYnV0ZVR5cGUnIGZpbGU9J3BhcnNlckludGVybmFscycgbW9kdWxlPSdwYXJzZXInPgorICAgICAgPGluZm8+cGFyc2UgdGhlIEF0dHJpYnV0ZSBsaXN0IGRlZiBmb3IgYW4gZWxlbWVudCAgWzU0XSBBdHRUeXBlIDo6PSBTdHJpbmdUeXBlIHwgVG9rZW5pemVkVHlwZSB8IEVudW1lcmF0ZWRUeXBlICBbNTVdIFN0cmluZ1R5cGUgOjo9ICZhcG9zO0NEQVRBJmFwb3M7ICBbNTZdIFRva2VuaXplZFR5cGUgOjo9ICZhcG9zO0lEJmFwb3M7IHwgJmFwb3M7SURSRUYmYXBvczsgfCAmYXBvcztJRFJFRlMmYXBvczsgfCAmYXBvcztFTlRJVFkmYXBvczsgfCAmYXBvcztFTlRJVElFUyZhcG9zOyB8ICZhcG9zO05NVE9LRU4mYXBvczsgfCAmYXBvcztOTVRPS0VOUyZhcG9zOyAgVmFsaWRpdHkgY29uc3RyYWludHMgZm9yIGF0dHJpYnV0ZSB2YWx1ZXMgc3ludGF4IGFyZSBjaGVja2VkIGluIHhtbFZhbGlkYXRlQXR0cmlidXRlVmFsdWUoKSAgWyBWQzogSUQgXSBWYWx1ZXMgb2YgdHlwZSBJRCBtdXN0IG1hdGNoIHRoZSBOYW1lIHByb2R1Y3Rpb24uIEEgbmFtZSBtdXN0IG5vdCBhcHBlYXIgbW9yZSB0aGFuIG9uY2UgaW4gYW4gWE1MIGRvY3VtZW50IGFzIGEgdmFsdWUgb2YgdGhpcyB0eXBlOyBpLmUuLCBJRCB2YWx1ZXMgbXVzdCB1bmlxdWVseSBpZGVudGlmeSB0aGUgZWxlbWVudHMgd2hpY2ggYmVhciB0aGVtLiAgWyBWQzogT25lIElEIHBlciBFbGVtZW50IFR5cGUgXSBObyBlbGVtZW50IHR5cGUgbWF5IGhhdmUgbW9yZSB0aGFuIG9uZSBJRCBhdHRyaWJ1dGUgc3BlY2lmaWVkLiAgWyBWQzogSUQgQXR0cmlidXRlIERlZmF1bHQgXSBBbiBJRCBhdHRyaWJ1dGUgbXVzdCBoYXZlIGEgZGVjbGFyZWQgZGVmYXVsdCBvZiAjSU1QTElFRCBvciAjUkVRVUlSRUQuICBbIFZDOiBJRFJFRiBdIFZhbHVlcyBvZiB0eXBlIElEUkVGIG11c3QgbWF0Y2ggdGhlIE5hbWUgcHJvZHVjdGlvbiwgYW5kIHZhbHVlcyBvZiB0eXBlIElEUkVGUyBtdXN0IG1hdGNoIE5hbWVzOyBlYWNoIElEUkVGIE5hbWUgbXVzdCBtYXRjaCB0aGUgdmFsdWUgb2YgYW4gSUQgYXR0cmlidXRlIG9uIHNvbWUgZWxlbWVudCBpbiB0aGUgWE1MIGRvY3VtZW50OyBpLmUuIElEUkVGIHZhbHVlcyBtdXN0IG1hdGNoIHRoZSB2YWx1ZSBvZiBzb21lIElEIGF0dHJpYnV0ZS4gIFsgVkM6IEVudGl0eSBOYW1lIF0gVmFsdWVzIG9mIHR5cGUgRU5USVRZIG11c3QgbWF0Y2ggdGhlIE5hbWUgcHJvZHVjdGlvbiwgdmFsdWVzIG9mIHR5cGUgRU5USVRJRVMgbXVzdCBtYXRjaCBOYW1lczsgZWFjaCBFbnRpdHkgTmFtZSBtdXN0IG1hdGNoIHRoZSBuYW1lIG9mIGFuIHVucGFyc2VkIGVudGl0eSBkZWNsYXJlZCBpbiB0aGUgRFRELiAgWyBWQzogTmFtZSBUb2tlbiBdIFZhbHVlcyBvZiB0eXBlIE5NVE9LRU4gbXVzdCBtYXRjaCB0aGUgTm10b2tlbiBwcm9kdWN0aW9uOyB2YWx1ZXMgb2YgdHlwZSBOTVRPS0VOUyBtdXN0IG1hdGNoIE5tdG9rZW5zLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgYXR0cmlidXRlIHR5cGUnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sUGFyc2VyQ3R4dFB0cicgaW5mbz0nYW4gWE1MIHBhcnNlciBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J3RyZWUnIHR5cGU9J3htbEVudW1lcmF0aW9uUHRyIConIGluZm89J3RoZSBlbnVtZXJhdGlvbiB0cmVlIGJ1aWx0IHdoaWxlIHBhcnNpbmcnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnknIGZpbGU9J3BhcnNlcicgbW9kdWxlPSdwYXJzZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfU0FYMV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlBhcnNlIGEgd2VsbC1iYWxhbmNlZCBjaHVuayBvZiBhbiBYTUwgZG9jdW1lbnQgY2FsbGVkIGJ5IHRoZSBwYXJzZXIgVGhlIGFsbG93ZWQgc2VxdWVuY2UgZm9yIHRoZSBXZWxsIEJhbGFuY2VkIENodW5rIGlzIHRoZSBvbmUgZGVmaW5lZCBieSB0aGUgY29udGVudCBwcm9kdWN0aW9uIGluIHRoZSBYTUwgZ3JhbW1hcjogIFs0M10gY29udGVudCA6Oj0gKGVsZW1lbnQgfCBDaGFyRGF0YSB8IFJlZmVyZW5jZSB8IENEU2VjdCB8IFBJIHwgQ29tbWVudCkqPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzAgaWYgdGhlIGNodW5rIGlzIHdlbGwgYmFsYW5jZWQsIC0xIGluIGNhc2Ugb2YgYXJncyBwcm9ibGVtIGFuZCB0aGUgcGFyc2VyIGVycm9yIGNvZGUgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2RvYycgdHlwZT0neG1sRG9jUHRyJyBpbmZvPSd0aGUgZG9jdW1lbnQgdGhlIGNodW5rIHBlcnRhaW5zIHRvJy8+CisgICAgICA8YXJnIG5hbWU9J3NheCcgdHlwZT0neG1sU0FYSGFuZGxlclB0cicgaW5mbz0ndGhlIFNBWCBoYW5kbGVyIGJsb2MgKHBvc3NpYmx5IE5VTEwpJy8+CisgICAgICA8YXJnIG5hbWU9J3VzZXJfZGF0YScgdHlwZT0ndm9pZCAqJyBpbmZvPSdUaGUgdXNlciBkYXRhIHJldHVybmVkIG9uIFNBWCBjYWxsYmFja3MgKHBvc3NpYmx5IE5VTEwpJy8+CisgICAgICA8YXJnIG5hbWU9J2RlcHRoJyB0eXBlPSdpbnQnIGluZm89J1VzZWQgZm9yIGxvb3AgZGV0ZWN0aW9uLCB1c2UgMCcvPgorICAgICAgPGFyZyBuYW1lPSdzdHJpbmcnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIGlucHV0IHN0cmluZyBpbiBVVEY4IG9yIElTTy1MYXRpbiAoemVybyB0ZXJtaW5hdGVkKScvPgorICAgICAgPGFyZyBuYW1lPSdsc3QnIHR5cGU9J3htbE5vZGVQdHIgKicgaW5mbz0ndGhlIHJldHVybiB2YWx1ZSBmb3IgdGhlIHNldCBvZiBwYXJzZWQgbm9kZXMnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlSZWNvdmVyJyBmaWxlPSdwYXJzZXInIG1vZHVsZT0ncGFyc2VyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1NBWDFfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5QYXJzZSBhIHdlbGwtYmFsYW5jZWQgY2h1bmsgb2YgYW4gWE1MIGRvY3VtZW50IGNhbGxlZCBieSB0aGUgcGFyc2VyIFRoZSBhbGxvd2VkIHNlcXVlbmNlIGZvciB0aGUgV2VsbCBCYWxhbmNlZCBDaHVuayBpcyB0aGUgb25lIGRlZmluZWQgYnkgdGhlIGNvbnRlbnQgcHJvZHVjdGlvbiBpbiB0aGUgWE1MIGdyYW1tYXI6ICBbNDNdIGNvbnRlbnQgOjo9IChlbGVtZW50IHwgQ2hhckRhdGEgfCBSZWZlcmVuY2UgfCBDRFNlY3QgfCBQSSB8IENvbW1lbnQpKjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScwIGlmIHRoZSBjaHVuayBpcyB3ZWxsIGJhbGFuY2VkLCAtMSBpbiBjYXNlIG9mIGFyZ3MgcHJvYmxlbSBhbmQgdGhlIHBhcnNlciBlcnJvciBjb2RlIG90aGVyd2lzZSAgSW4gY2FzZSByZWNvdmVyIGlzIHNldCB0byAxLCB0aGUgbm9kZWxpc3Qgd2lsbCBub3QgYmUgZW1wdHkgZXZlbiBpZiB0aGUgcGFyc2VkIGNodW5rIGlzIG5vdCB3ZWxsIGJhbGFuY2VkLCBhc3N1bWluZyB0aGUgcGFyc2luZyBzdWNjZWVkZWQgdG8gc29tZSBleHRlbnQuJy8+CisgICAgICA8YXJnIG5hbWU9J2RvYycgdHlwZT0neG1sRG9jUHRyJyBpbmZvPSd0aGUgZG9jdW1lbnQgdGhlIGNodW5rIHBlcnRhaW5zIHRvJy8+CisgICAgICA8YXJnIG5hbWU9J3NheCcgdHlwZT0neG1sU0FYSGFuZGxlclB0cicgaW5mbz0ndGhlIFNBWCBoYW5kbGVyIGJsb2MgKHBvc3NpYmx5IE5VTEwpJy8+CisgICAgICA8YXJnIG5hbWU9J3VzZXJfZGF0YScgdHlwZT0ndm9pZCAqJyBpbmZvPSdUaGUgdXNlciBkYXRhIHJldHVybmVkIG9uIFNBWCBjYWxsYmFja3MgKHBvc3NpYmx5IE5VTEwpJy8+CisgICAgICA8YXJnIG5hbWU9J2RlcHRoJyB0eXBlPSdpbnQnIGluZm89J1VzZWQgZm9yIGxvb3AgZGV0ZWN0aW9uLCB1c2UgMCcvPgorICAgICAgPGFyZyBuYW1lPSdzdHJpbmcnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIGlucHV0IHN0cmluZyBpbiBVVEY4IG9yIElTTy1MYXRpbiAoemVybyB0ZXJtaW5hdGVkKScvPgorICAgICAgPGFyZyBuYW1lPSdsc3QnIHR5cGU9J3htbE5vZGVQdHIgKicgaW5mbz0ndGhlIHJldHVybiB2YWx1ZSBmb3IgdGhlIHNldCBvZiBwYXJzZWQgbm9kZXMnLz4KKyAgICAgIDxhcmcgbmFtZT0ncmVjb3ZlcicgdHlwZT0naW50JyBpbmZvPSdyZXR1cm4gbm9kZXMgZXZlbiBpZiB0aGUgZGF0YSBpcyBicm9rZW4gKHVzZSAwKScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFBhcnNlQ0RTZWN0JyBmaWxlPSdwYXJzZXJJbnRlcm5hbHMnIG1vZHVsZT0ncGFyc2VyJz4KKyAgICAgIDxpbmZvPlBhcnNlIGVzY2FwZWQgcHVyZSByYXcgY29udGVudC4gIFsxOF0gQ0RTZWN0IDo6PSBDRFN0YXJ0IENEYXRhIENERW5kICBbMTldIENEU3RhcnQgOjo9ICZhcG9zOyZsdDshW0NEQVRBWyZhcG9zOyAgWzIwXSBEYXRhIDo6PSAoQ2hhciogLSAoQ2hhciogJmFwb3M7XV0mZ3Q7JmFwb3M7IENoYXIqKSkgIFsyMV0gQ0RFbmQgOjo9ICZhcG9zO11dJmd0OyZhcG9zOzwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxQYXJzZXJDdHh0UHRyJyBpbmZvPSdhbiBYTUwgcGFyc2VyIGNvbnRleHQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxQYXJzZUNhdGFsb2dGaWxlJyBmaWxlPSdjYXRhbG9nJyBtb2R1bGU9J2NhdGFsb2cnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfQ0FUQUxPR19FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPnBhcnNlIGFuIFhNTCBmaWxlIGFuZCBidWlsZCBhIHRyZWUuIEl0JmFwb3M7cyBsaWtlIHhtbFBhcnNlRmlsZSgpIGV4Y2VwdCBpdCBieXBhc3MgYWxsIGNhdGFsb2cgbG9va3Vwcy48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbERvY1B0cicgaW5mbz0ndGhlIHJlc3VsdGluZyBkb2N1bWVudCB0cmVlIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSdmaWxlbmFtZScgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSd0aGUgZmlsZW5hbWUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxQYXJzZUNoYXJEYXRhJyBmaWxlPSdwYXJzZXJJbnRlcm5hbHMnIG1vZHVsZT0ncGFyc2VyJz4KKyAgICAgIDxpbmZvPnBhcnNlIGEgQ2hhckRhdGEgc2VjdGlvbi4gaWYgd2UgYXJlIHdpdGhpbiBhIENEQVRBIHNlY3Rpb24gJmFwb3M7XV0mZ3Q7JmFwb3M7IG1hcmtzIGFuIGVuZCBvZiBzZWN0aW9uLiAgVGhlIHJpZ2h0IGFuZ2xlIGJyYWNrZXQgKCZndDspIG1heSBiZSByZXByZXNlbnRlZCB1c2luZyB0aGUgc3RyaW5nICZxdW90OyZhbXA7Z3Q7JnF1b3Q7LCBhbmQgbXVzdCwgZm9yIGNvbXBhdGliaWxpdHksIGJlIGVzY2FwZWQgdXNpbmcgJnF1b3Q7JmFtcDtndDsmcXVvdDsgb3IgYSBjaGFyYWN0ZXIgcmVmZXJlbmNlIHdoZW4gaXQgYXBwZWFycyBpbiB0aGUgc3RyaW5nICZxdW90O11dJmd0OyZxdW90OyBpbiBjb250ZW50LCB3aGVuIHRoYXQgc3RyaW5nIGlzIG5vdCBtYXJraW5nIHRoZSBlbmQgb2YgYSBDREFUQSBzZWN0aW9uLiAgWzE0XSBDaGFyRGF0YSA6Oj0gW14mbHQ7JmFtcDtdKiAtIChbXiZsdDsmYW1wO10qICZhcG9zO11dJmd0OyZhcG9zOyBbXiZsdDsmYW1wO10qKTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxQYXJzZXJDdHh0UHRyJyBpbmZvPSdhbiBYTUwgcGFyc2VyIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY2RhdGEnIHR5cGU9J2ludCcgaW5mbz0naW50IGluZGljYXRpbmcgd2hldGhlciB3ZSBhcmUgd2l0aGluIGEgQ0RBVEEgc2VjdGlvbicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFBhcnNlQ2hhckVuY29kaW5nJyBmaWxlPSdlbmNvZGluZycgbW9kdWxlPSdlbmNvZGluZyc+CisgICAgICA8aW5mbz5Db21wYXJlIHRoZSBzdHJpbmcgdG8gdGhlIGVuY29kaW5nIHNjaGVtZXMgYWxyZWFkeSBrbm93bi4gTm90ZSB0aGF0IHRoZSBjb21wYXJpc29uIGlzIGNhc2UgaW5zZW5zaXRpdmUgYWNjb3JkaW5nbHkgdG8gdGhlIHNlY3Rpb24gW1hNTF0gNC4zLjMgQ2hhcmFjdGVyIEVuY29kaW5nIGluIEVudGl0aWVzLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sQ2hhckVuY29kaW5nJyBpbmZvPSdvbmUgb2YgdGhlIFhNTF9DSEFSX0VOQ09ESU5HXy4uLiB2YWx1ZXMgb3IgWE1MX0NIQVJfRU5DT0RJTkdfTk9ORSBpZiBub3QgcmVjb2duaXplZC4nLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFtZScgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSd0aGUgZW5jb2RpbmcgbmFtZSBhcyBwYXJzZWQsIGluIFVURi04IGZvcm1hdCAoQVNDSUkgYWN0dWFsbHkpJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sUGFyc2VDaGFyUmVmJyBmaWxlPSdwYXJzZXJJbnRlcm5hbHMnIG1vZHVsZT0ncGFyc2VyJz4KKyAgICAgIDxpbmZvPnBhcnNlIFJlZmVyZW5jZSBkZWNsYXJhdGlvbnMgIFs2Nl0gQ2hhclJlZiA6Oj0gJmFwb3M7JmFtcDsjJmFwb3M7IFswLTldKyAmYXBvczs7JmFwb3M7IHwgJmFwb3M7JmFtcDsjeCZhcG9zOyBbMC05YS1mQS1GXSsgJmFwb3M7OyZhcG9zOyAgWyBXRkM6IExlZ2FsIENoYXJhY3RlciBdIENoYXJhY3RlcnMgcmVmZXJyZWQgdG8gdXNpbmcgY2hhcmFjdGVyIHJlZmVyZW5jZXMgbXVzdCBtYXRjaCB0aGUgcHJvZHVjdGlvbiBmb3IgQ2hhci48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndGhlIHZhbHVlIHBhcnNlZCAoYXMgYW4gaW50KSwgMCBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFBhcnNlckN0eHRQdHInIGluZm89J2FuIFhNTCBwYXJzZXIgY29udGV4dCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFBhcnNlQ2h1bmsnIGZpbGU9J3BhcnNlcicgbW9kdWxlPSdwYXJzZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfUFVTSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlBhcnNlIGEgQ2h1bmsgb2YgbWVtb3J5PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J3plcm8gaWYgbm8gZXJyb3IsIHRoZSB4bWxQYXJzZXJFcnJvcnMgb3RoZXJ3aXNlLicvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxQYXJzZXJDdHh0UHRyJyBpbmZvPSdhbiBYTUwgcGFyc2VyIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY2h1bmsnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0nYW4gY2hhciBhcnJheScvPgorICAgICAgPGFyZyBuYW1lPSdzaXplJyB0eXBlPSdpbnQnIGluZm89J3RoZSBzaXplIGluIGJ5dGUgb2YgdGhlIGNodW5rJy8+CisgICAgICA8YXJnIG5hbWU9J3Rlcm1pbmF0ZScgdHlwZT0naW50JyBpbmZvPSdsYXN0IGNodW5rIGluZGljYXRvcicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFBhcnNlQ29tbWVudCcgZmlsZT0ncGFyc2VySW50ZXJuYWxzJyBtb2R1bGU9J3BhcnNlcic+CisgICAgICA8aW5mbz5Ta2lwIGFuIFhNTCAoU0dNTCkgY29tbWVudCAmbHQ7IS0tIC4uLi4gLS0mZ3Q7IFRoZSBzcGVjIHNheXMgdGhhdCAmcXVvdDtGb3IgY29tcGF0aWJpbGl0eSwgdGhlIHN0cmluZyAmcXVvdDstLSZxdW90OyAoZG91YmxlLWh5cGhlbikgbXVzdCBub3Qgb2NjdXIgd2l0aGluIGNvbW1lbnRzLiAmcXVvdDsgIFsxNV0gQ29tbWVudCA6Oj0gJmFwb3M7Jmx0OyEtLSZhcG9zOyAoKENoYXIgLSAmYXBvczstJmFwb3M7KSB8ICgmYXBvczstJmFwb3M7IChDaGFyIC0gJmFwb3M7LSZhcG9zOykpKSogJmFwb3M7LS0mZ3Q7JmFwb3M7PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFBhcnNlckN0eHRQdHInIGluZm89J2FuIFhNTCBwYXJzZXIgY29udGV4dCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFBhcnNlQ29udGVudCcgZmlsZT0ncGFyc2VySW50ZXJuYWxzJyBtb2R1bGU9J3BhcnNlcic+CisgICAgICA8aW5mbz5QYXJzZSBhIGNvbnRlbnQ6ICBbNDNdIGNvbnRlbnQgOjo9IChlbGVtZW50IHwgQ2hhckRhdGEgfCBSZWZlcmVuY2UgfCBDRFNlY3QgfCBQSSB8IENvbW1lbnQpKjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxQYXJzZXJDdHh0UHRyJyBpbmZvPSdhbiBYTUwgcGFyc2VyIGNvbnRleHQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxQYXJzZUN0eHRFeHRlcm5hbEVudGl0eScgZmlsZT0ncGFyc2VyJyBtb2R1bGU9J3BhcnNlcic+CisgICAgICA8aW5mbz5QYXJzZSBhbiBleHRlcm5hbCBnZW5lcmFsIGVudGl0eSB3aXRoaW4gYW4gZXhpc3RpbmcgcGFyc2luZyBjb250ZXh0IEFuIGV4dGVybmFsIGdlbmVyYWwgcGFyc2VkIGVudGl0eSBpcyB3ZWxsLWZvcm1lZCBpZiBpdCBtYXRjaGVzIHRoZSBwcm9kdWN0aW9uIGxhYmVsZWQgZXh0UGFyc2VkRW50LiAgWzc4XSBleHRQYXJzZWRFbnQgOjo9IFRleHREZWNsPyBjb250ZW50PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzAgaWYgdGhlIGVudGl0eSBpcyB3ZWxsIGZvcm1lZCwgLTEgaW4gY2FzZSBvZiBhcmdzIHByb2JsZW0gYW5kIHRoZSBwYXJzZXIgZXJyb3IgY29kZSBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4JyB0eXBlPSd4bWxQYXJzZXJDdHh0UHRyJyBpbmZvPSd0aGUgZXhpc3RpbmcgcGFyc2luZyBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J1VSTCcgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgVVJMIGZvciB0aGUgZW50aXR5IHRvIGxvYWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nSUQnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIFN5c3RlbSBJRCBmb3IgdGhlIGVudGl0eSB0byBsb2FkJy8+CisgICAgICA8YXJnIG5hbWU9J2xzdCcgdHlwZT0neG1sTm9kZVB0ciAqJyBpbmZvPSd0aGUgcmV0dXJuIHZhbHVlIGZvciB0aGUgc2V0IG9mIHBhcnNlZCBub2RlcycvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFBhcnNlRFREJyBmaWxlPSdwYXJzZXInIG1vZHVsZT0ncGFyc2VyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1ZBTElEX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+TG9hZCBhbmQgcGFyc2UgYW4gZXh0ZXJuYWwgc3Vic2V0LjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sRHRkUHRyJyBpbmZvPSd0aGUgcmVzdWx0aW5nIHhtbER0ZFB0ciBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuJy8+CisgICAgICA8YXJnIG5hbWU9J0V4dGVybmFsSUQnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nYSBOQU1FKiBjb250YWluaW5nIHRoZSBFeHRlcm5hbCBJRCBvZiB0aGUgRFREJy8+CisgICAgICA8YXJnIG5hbWU9J1N5c3RlbUlEJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J2EgTkFNRSogY29udGFpbmluZyB0aGUgVVJMIHRvIHRoZSBEVEQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxQYXJzZURlZmF1bHREZWNsJyBmaWxlPSdwYXJzZXJJbnRlcm5hbHMnIG1vZHVsZT0ncGFyc2VyJz4KKyAgICAgIDxpbmZvPlBhcnNlIGFuIGF0dHJpYnV0ZSBkZWZhdWx0IGRlY2xhcmF0aW9uICBbNjBdIERlZmF1bHREZWNsIDo6PSAmYXBvczsjUkVRVUlSRUQmYXBvczsgfCAmYXBvczsjSU1QTElFRCZhcG9zOyB8ICgoJmFwb3M7I0ZJWEVEJmFwb3M7IFMpPyBBdHRWYWx1ZSkgIFsgVkM6IFJlcXVpcmVkIEF0dHJpYnV0ZSBdIGlmIHRoZSBkZWZhdWx0IGRlY2xhcmF0aW9uIGlzIHRoZSBrZXl3b3JkICNSRVFVSVJFRCwgdGhlbiB0aGUgYXR0cmlidXRlIG11c3QgYmUgc3BlY2lmaWVkIGZvciBhbGwgZWxlbWVudHMgb2YgdGhlIHR5cGUgaW4gdGhlIGF0dHJpYnV0ZS1saXN0IGRlY2xhcmF0aW9uLiAgWyBWQzogQXR0cmlidXRlIERlZmF1bHQgTGVnYWwgXSBUaGUgZGVjbGFyZWQgZGVmYXVsdCB2YWx1ZSBtdXN0IG1lZXQgdGhlIGxleGljYWwgY29uc3RyYWludHMgb2YgdGhlIGRlY2xhcmVkIGF0dHJpYnV0ZSB0eXBlIGMuZi4geG1sVmFsaWRhdGVBdHRyaWJ1dGVEZWNsKCkgIFsgVkM6IEZpeGVkIEF0dHJpYnV0ZSBEZWZhdWx0IF0gaWYgYW4gYXR0cmlidXRlIGhhcyBhIGRlZmF1bHQgdmFsdWUgZGVjbGFyZWQgd2l0aCB0aGUgI0ZJWEVEIGtleXdvcmQsIGluc3RhbmNlcyBvZiB0aGF0IGF0dHJpYnV0ZSBtdXN0IG1hdGNoIHRoZSBkZWZhdWx0IHZhbHVlLiAgWyBXRkM6IE5vICZsdDsgaW4gQXR0cmlidXRlIFZhbHVlcyBdIGhhbmRsZWQgaW4geG1sUGFyc2VBdHRWYWx1ZSgpPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J1hNTF9BVFRSSUJVVEVfTk9ORSwgWE1MX0FUVFJJQlVURV9SRVFVSVJFRCwgWE1MX0FUVFJJQlVURV9JTVBMSUVEIG9yIFhNTF9BVFRSSUJVVEVfRklYRUQuJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFBhcnNlckN0eHRQdHInIGluZm89J2FuIFhNTCBwYXJzZXIgY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSd2YWx1ZScgdHlwZT0neG1sQ2hhciAqKicgaW5mbz0nUmVjZWl2ZSBhIHBvc3NpYmxlIGZpeGVkIGRlZmF1bHQgdmFsdWUgZm9yIHRoZSBhdHRyaWJ1dGUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxQYXJzZURvYycgZmlsZT0ncGFyc2VyJyBtb2R1bGU9J3BhcnNlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9TQVgxX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+cGFyc2UgYW4gWE1MIGluLW1lbW9yeSBkb2N1bWVudCBhbmQgYnVpbGQgYSB0cmVlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sRG9jUHRyJyBpbmZvPSd0aGUgcmVzdWx0aW5nIGRvY3VtZW50IHRyZWUnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3VyJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J2EgcG9pbnRlciB0byBhbiBhcnJheSBvZiB4bWxDaGFyJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sUGFyc2VEb2NUeXBlRGVjbCcgZmlsZT0ncGFyc2VySW50ZXJuYWxzJyBtb2R1bGU9J3BhcnNlcic+CisgICAgICA8aW5mbz5wYXJzZSBhIERPQ1RZUEUgZGVjbGFyYXRpb24gIFsyOF0gZG9jdHlwZWRlY2wgOjo9ICZhcG9zOyZsdDshRE9DVFlQRSZhcG9zOyBTIE5hbWUgKFMgRXh0ZXJuYWxJRCk/IFM/ICgmYXBvcztbJmFwb3M7IChtYXJrdXBkZWNsIHwgUEVSZWZlcmVuY2UgfCBTKSogJmFwb3M7XSZhcG9zOyBTPyk/ICZhcG9zOyZndDsmYXBvczsgIFsgVkM6IFJvb3QgRWxlbWVudCBUeXBlIF0gVGhlIE5hbWUgaW4gdGhlIGRvY3VtZW50IHR5cGUgZGVjbGFyYXRpb24gbXVzdCBtYXRjaCB0aGUgZWxlbWVudCB0eXBlIG9mIHRoZSByb290IGVsZW1lbnQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFBhcnNlckN0eHRQdHInIGluZm89J2FuIFhNTCBwYXJzZXIgY29udGV4dCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFBhcnNlRG9jdW1lbnQnIGZpbGU9J3BhcnNlcicgbW9kdWxlPSdwYXJzZXInPgorICAgICAgPGluZm8+cGFyc2UgYW4gWE1MIGRvY3VtZW50IChhbmQgYnVpbGQgYSB0cmVlIGlmIHVzaW5nIHRoZSBzdGFuZGFyZCBTQVggaW50ZXJmYWNlKS4gIFsxXSBkb2N1bWVudCA6Oj0gcHJvbG9nIGVsZW1lbnQgTWlzYyogIFsyMl0gcHJvbG9nIDo6PSBYTUxEZWNsPyBNaXNjKiAoZG9jdHlwZWRlY2wgTWlzYyopPzwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScwLCAtMSBpbiBjYXNlIG9mIGVycm9yLiB0aGUgcGFyc2VyIGNvbnRleHQgaXMgYXVnbWVudGVkIGFzIGEgcmVzdWx0IG9mIHRoZSBwYXJzaW5nLicvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxQYXJzZXJDdHh0UHRyJyBpbmZvPSdhbiBYTUwgcGFyc2VyIGNvbnRleHQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxQYXJzZUVsZW1lbnQnIGZpbGU9J3BhcnNlckludGVybmFscycgbW9kdWxlPSdwYXJzZXInPgorICAgICAgPGluZm8+cGFyc2UgYW4gWE1MIGVsZW1lbnQsIHRoaXMgaXMgaGlnaGx5IHJlY3Vyc2l2ZSAgWzM5XSBlbGVtZW50IDo6PSBFbXB0eUVsZW1UYWcgfCBTVGFnIGNvbnRlbnQgRVRhZyAgWyBXRkM6IEVsZW1lbnQgVHlwZSBNYXRjaCBdIFRoZSBOYW1lIGluIGFuIGVsZW1lbnQmYXBvcztzIGVuZC10YWcgbXVzdCBtYXRjaCB0aGUgZWxlbWVudCB0eXBlIGluIHRoZSBzdGFydC10YWcuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFBhcnNlckN0eHRQdHInIGluZm89J2FuIFhNTCBwYXJzZXIgY29udGV4dCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2wnIGZpbGU9J3BhcnNlckludGVybmFscycgbW9kdWxlPSdwYXJzZXInPgorICAgICAgPGluZm8+cGFyc2UgdGhlIGRlY2xhcmF0aW9uIGZvciBhIE1peGVkIEVsZW1lbnQgY29udGVudCBUaGUgbGVhZGluZyAmYXBvczsoJmFwb3M7IGFuZCBzcGFjZXMgaGF2ZSBiZWVuIHNraXBwZWQgaW4geG1sUGFyc2VFbGVtZW50Q29udGVudERlY2wgIFs0N10gY2hpbGRyZW4gOjo9IChjaG9pY2UgfCBzZXEpICgmYXBvczs/JmFwb3M7IHwgJmFwb3M7KiZhcG9zOyB8ICZhcG9zOysmYXBvczspPyAgWzQ4XSBjcCA6Oj0gKE5hbWUgfCBjaG9pY2UgfCBzZXEpICgmYXBvczs/JmFwb3M7IHwgJmFwb3M7KiZhcG9zOyB8ICZhcG9zOysmYXBvczspPyAgWzQ5XSBjaG9pY2UgOjo9ICZhcG9zOygmYXBvczsgUz8gY3AgKCBTPyAmYXBvczt8JmFwb3M7IFM/IGNwICkqIFM/ICZhcG9zOykmYXBvczsgIFs1MF0gc2VxIDo6PSAmYXBvczsoJmFwb3M7IFM/IGNwICggUz8gJmFwb3M7LCZhcG9zOyBTPyBjcCApKiBTPyAmYXBvczspJmFwb3M7ICBbIFZDOiBQcm9wZXIgR3JvdXAvUEUgTmVzdGluZyBdIGFwcGxpZXMgdG8gWzQ5XSBhbmQgWzUwXSBUT0RPIFBhcmFtZXRlci1lbnRpdHkgcmVwbGFjZW1lbnQgdGV4dCBtdXN0IGJlIHByb3Blcmx5IG5lc3RlZCB3aXRoIHBhcmVudGhlc2l6ZWQgZ3JvdXBzLiBUaGF0IGlzIHRvIHNheSwgaWYgZWl0aGVyIG9mIHRoZSBvcGVuaW5nIG9yIGNsb3NpbmcgcGFyZW50aGVzZXMgaW4gYSBjaG9pY2UsIHNlcSwgb3IgTWl4ZWQgY29uc3RydWN0IGlzIGNvbnRhaW5lZCBpbiB0aGUgcmVwbGFjZW1lbnQgdGV4dCBmb3IgYSBwYXJhbWV0ZXIgZW50aXR5LCBib3RoIG11c3QgYmUgY29udGFpbmVkIGluIHRoZSBzYW1lIHJlcGxhY2VtZW50IHRleHQuIEZvciBpbnRlcm9wZXJhYmlsaXR5LCBpZiBhIHBhcmFtZXRlci1lbnRpdHkgcmVmZXJlbmNlIGFwcGVhcnMgaW4gYSBjaG9pY2UsIHNlcSwgb3IgTWl4ZWQgY29uc3RydWN0LCBpdHMgcmVwbGFjZW1lbnQgdGV4dCBzaG91bGQgbm90IGJlIGVtcHR5LCBhbmQgbmVpdGhlciB0aGUgZmlyc3Qgbm9yIGxhc3Qgbm9uLWJsYW5rIGNoYXJhY3RlciBvZiB0aGUgcmVwbGFjZW1lbnQgdGV4dCBzaG91bGQgYmUgYSBjb25uZWN0b3IgKHwgb3IgLCkuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxFbGVtZW50Q29udGVudFB0cicgaW5mbz0ndGhlIHRyZWUgb2YgeG1sRWxlbWVudENvbnRlbnRQdHIgZGVzY3JpYmluZyB0aGUgZWxlbWVudCBoaWVyYXJjaHkuJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFBhcnNlckN0eHRQdHInIGluZm89J2FuIFhNTCBwYXJzZXIgY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdpbnB1dGNoaycgdHlwZT0naW50JyBpbmZvPSd0aGUgaW5wdXQgdXNlZCBmb3IgdGhlIGN1cnJlbnQgZW50aXR5LCBuZWVkZWQgZm9yIGJvdW5kYXJ5IGNoZWNrcycvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFBhcnNlRWxlbWVudENvbnRlbnREZWNsJyBmaWxlPSdwYXJzZXJJbnRlcm5hbHMnIG1vZHVsZT0ncGFyc2VyJz4KKyAgICAgIDxpbmZvPnBhcnNlIHRoZSBkZWNsYXJhdGlvbiBmb3IgYW4gRWxlbWVudCBjb250ZW50IGVpdGhlciBNaXhlZCBvciBDaGlsZHJlbiwgdGhlIGNhc2VzIEVNUFRZIGFuZCBBTlkgYXJlIGhhbmRsZWQgZGlyZWN0bHkgaW4geG1sUGFyc2VFbGVtZW50RGVjbCAgWzQ2XSBjb250ZW50c3BlYyA6Oj0gJmFwb3M7RU1QVFkmYXBvczsgfCAmYXBvcztBTlkmYXBvczsgfCBNaXhlZCB8IGNoaWxkcmVuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J3RoZSB0eXBlIG9mIGVsZW1lbnQgY29udGVudCBYTUxfRUxFTUVOVF9UWVBFX3h4eCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxQYXJzZXJDdHh0UHRyJyBpbmZvPSdhbiBYTUwgcGFyc2VyIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFtZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgbmFtZSBvZiB0aGUgZWxlbWVudCBiZWluZyBkZWZpbmVkLicvPgorICAgICAgPGFyZyBuYW1lPSdyZXN1bHQnIHR5cGU9J3htbEVsZW1lbnRDb250ZW50UHRyIConIGluZm89J3RoZSBFbGVtZW50IENvbnRlbnQgcG9pbnRlciB3aWxsIGJlIHN0b3JlZCBoZXJlIGlmIGFueScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFBhcnNlRWxlbWVudERlY2wnIGZpbGU9J3BhcnNlckludGVybmFscycgbW9kdWxlPSdwYXJzZXInPgorICAgICAgPGluZm8+cGFyc2UgYW4gRWxlbWVudCBkZWNsYXJhdGlvbi4gIFs0NV0gZWxlbWVudGRlY2wgOjo9ICZhcG9zOyZsdDshRUxFTUVOVCZhcG9zOyBTIE5hbWUgUyBjb250ZW50c3BlYyBTPyAmYXBvczsmZ3Q7JmFwb3M7ICBbIFZDOiBVbmlxdWUgRWxlbWVudCBUeXBlIERlY2xhcmF0aW9uIF0gTm8gZWxlbWVudCB0eXBlIG1heSBiZSBkZWNsYXJlZCBtb3JlIHRoYW4gb25jZTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgdHlwZSBvZiB0aGUgZWxlbWVudCwgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxQYXJzZXJDdHh0UHRyJyBpbmZvPSdhbiBYTUwgcGFyc2VyIGNvbnRleHQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxQYXJzZUVsZW1lbnRNaXhlZENvbnRlbnREZWNsJyBmaWxlPSdwYXJzZXJJbnRlcm5hbHMnIG1vZHVsZT0ncGFyc2VyJz4KKyAgICAgIDxpbmZvPnBhcnNlIHRoZSBkZWNsYXJhdGlvbiBmb3IgYSBNaXhlZCBFbGVtZW50IGNvbnRlbnQgVGhlIGxlYWRpbmcgJmFwb3M7KCZhcG9zOyBhbmQgc3BhY2VzIGhhdmUgYmVlbiBza2lwcGVkIGluIHhtbFBhcnNlRWxlbWVudENvbnRlbnREZWNsICBbNTFdIE1peGVkIDo6PSAmYXBvczsoJmFwb3M7IFM/ICZhcG9zOyNQQ0RBVEEmYXBvczsgKFM/ICZhcG9zO3wmYXBvczsgUz8gTmFtZSkqIFM/ICZhcG9zOykqJmFwb3M7IHwgJmFwb3M7KCZhcG9zOyBTPyAmYXBvczsjUENEQVRBJmFwb3M7IFM/ICZhcG9zOykmYXBvczsgIFsgVkM6IFByb3BlciBHcm91cC9QRSBOZXN0aW5nIF0gYXBwbGllcyB0byBbNTFdIHRvbyAoc2VlIFs0OV0pICBbIFZDOiBObyBEdXBsaWNhdGUgVHlwZXMgXSBUaGUgc2FtZSBuYW1lIG11c3Qgbm90IGFwcGVhciBtb3JlIHRoYW4gb25jZSBpbiBhIHNpbmdsZSBtaXhlZC1jb250ZW50IGRlY2xhcmF0aW9uLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sRWxlbWVudENvbnRlbnRQdHInIGluZm89J3RoZSBsaXN0IG9mIHRoZSB4bWxFbGVtZW50Q29udGVudFB0ciBkZXNjcmliaW5nIHRoZSBlbGVtZW50IGNob2ljZXMnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sUGFyc2VyQ3R4dFB0cicgaW5mbz0nYW4gWE1MIHBhcnNlciBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J2lucHV0Y2hrJyB0eXBlPSdpbnQnIGluZm89J3RoZSBpbnB1dCB1c2VkIGZvciB0aGUgY3VycmVudCBlbnRpdHksIG5lZWRlZCBmb3IgYm91bmRhcnkgY2hlY2tzJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sUGFyc2VFbmNOYW1lJyBmaWxlPSdwYXJzZXJJbnRlcm5hbHMnIG1vZHVsZT0ncGFyc2VyJz4KKyAgICAgIDxpbmZvPnBhcnNlIHRoZSBYTUwgZW5jb2RpbmcgbmFtZSAgWzgxXSBFbmNOYW1lIDo6PSBbQS1aYS16XSAoW0EtWmEtejAtOS5fXSB8ICZhcG9zOy0mYXBvczspKjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sQ2hhciAqJyBpbmZvPSd0aGUgZW5jb2RpbmcgbmFtZSB2YWx1ZSBvciBOVUxMJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFBhcnNlckN0eHRQdHInIGluZm89J2FuIFhNTCBwYXJzZXIgY29udGV4dCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFBhcnNlRW5jb2RpbmdEZWNsJyBmaWxlPSdwYXJzZXJJbnRlcm5hbHMnIG1vZHVsZT0ncGFyc2VyJz4KKyAgICAgIDxpbmZvPnBhcnNlIHRoZSBYTUwgZW5jb2RpbmcgZGVjbGFyYXRpb24gIFs4MF0gRW5jb2RpbmdEZWNsIDo6PSBTICZhcG9zO2VuY29kaW5nJmFwb3M7IEVxICgmYXBvczsmcXVvdDsmYXBvczsgRW5jTmFtZSAmYXBvczsmcXVvdDsmYXBvczsgfCAgJnF1b3Q7JmFwb3M7JnF1b3Q7IEVuY05hbWUgJnF1b3Q7JmFwb3M7JnF1b3Q7KSAgdGhpcyBzZXR1cHMgdGhlIGNvbnZlcnNpb24gZmlsdGVycy48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIGVuY29kaW5nIHZhbHVlIG9yIE5VTEwnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sUGFyc2VyQ3R4dFB0cicgaW5mbz0nYW4gWE1MIHBhcnNlciBjb250ZXh0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sUGFyc2VFbmRUYWcnIGZpbGU9J3BhcnNlckludGVybmFscycgbW9kdWxlPSdwYXJzZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfU0FYMV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPnBhcnNlIGFuIGVuZCBvZiB0YWcgIFs0Ml0gRVRhZyA6Oj0gJmFwb3M7Jmx0Oy8mYXBvczsgTmFtZSBTPyAmYXBvczsmZ3Q7JmFwb3M7ICBXaXRoIG5hbWVzcGFjZSAgW05TIDldIEVUYWcgOjo9ICZhcG9zOyZsdDsvJmFwb3M7IFFOYW1lIFM/ICZhcG9zOyZndDsmYXBvczs8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sUGFyc2VyQ3R4dFB0cicgaW5mbz0nYW4gWE1MIHBhcnNlciBjb250ZXh0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sUGFyc2VFbnRpdHknIGZpbGU9J3BhcnNlcicgbW9kdWxlPSdwYXJzZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfU0FYMV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPnBhcnNlIGFuIFhNTCBleHRlcm5hbCBlbnRpdHkgb3V0IG9mIGNvbnRleHQgYW5kIGJ1aWxkIGEgdHJlZS4gIFs3OF0gZXh0UGFyc2VkRW50IDo6PSBUZXh0RGVjbD8gY29udGVudCAgVGhpcyBjb3JyZXNwb25kIHRvIGEgJnF1b3Q7V2VsbCBCYWxhbmNlZCZxdW90OyBjaHVuazwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sRG9jUHRyJyBpbmZvPSd0aGUgcmVzdWx0aW5nIGRvY3VtZW50IHRyZWUnLz4KKyAgICAgIDxhcmcgbmFtZT0nZmlsZW5hbWUnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIGZpbGVuYW1lJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sUGFyc2VFbnRpdHlEZWNsJyBmaWxlPSdwYXJzZXJJbnRlcm5hbHMnIG1vZHVsZT0ncGFyc2VyJz4KKyAgICAgIDxpbmZvPnBhcnNlICZsdDshRU5USVRZIGRlY2xhcmF0aW9ucyAgWzcwXSBFbnRpdHlEZWNsIDo6PSBHRURlY2wgfCBQRURlY2wgIFs3MV0gR0VEZWNsIDo6PSAmYXBvczsmbHQ7IUVOVElUWSZhcG9zOyBTIE5hbWUgUyBFbnRpdHlEZWYgUz8gJmFwb3M7Jmd0OyZhcG9zOyAgWzcyXSBQRURlY2wgOjo9ICZhcG9zOyZsdDshRU5USVRZJmFwb3M7IFMgJmFwb3M7JSZhcG9zOyBTIE5hbWUgUyBQRURlZiBTPyAmYXBvczsmZ3Q7JmFwb3M7ICBbNzNdIEVudGl0eURlZiA6Oj0gRW50aXR5VmFsdWUgfCAoRXh0ZXJuYWxJRCBORGF0YURlY2w/KSAgWzc0XSBQRURlZiA6Oj0gRW50aXR5VmFsdWUgfCBFeHRlcm5hbElEICBbNzZdIE5EYXRhRGVjbCA6Oj0gUyAmYXBvcztOREFUQSZhcG9zOyBTIE5hbWUgIFsgVkM6IE5vdGF0aW9uIERlY2xhcmVkIF0gVGhlIE5hbWUgbXVzdCBtYXRjaCB0aGUgZGVjbGFyZWQgbmFtZSBvZiBhIG5vdGF0aW9uLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxQYXJzZXJDdHh0UHRyJyBpbmZvPSdhbiBYTUwgcGFyc2VyIGNvbnRleHQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxQYXJzZUVudGl0eVJlZicgZmlsZT0ncGFyc2VySW50ZXJuYWxzJyBtb2R1bGU9J3BhcnNlcic+CisgICAgICA8aW5mbz5wYXJzZSBFTlRJVFkgcmVmZXJlbmNlcyBkZWNsYXJhdGlvbnMgIFs2OF0gRW50aXR5UmVmIDo6PSAmYXBvczsmYW1wOyZhcG9zOyBOYW1lICZhcG9zOzsmYXBvczsgIFsgV0ZDOiBFbnRpdHkgRGVjbGFyZWQgXSBJbiBhIGRvY3VtZW50IHdpdGhvdXQgYW55IERURCwgYSBkb2N1bWVudCB3aXRoIG9ubHkgYW4gaW50ZXJuYWwgRFREIHN1YnNldCB3aGljaCBjb250YWlucyBubyBwYXJhbWV0ZXIgZW50aXR5IHJlZmVyZW5jZXMsIG9yIGEgZG9jdW1lbnQgd2l0aCAmcXVvdDtzdGFuZGFsb25lPSZhcG9zO3llcyZhcG9zOyZxdW90OywgdGhlIE5hbWUgZ2l2ZW4gaW4gdGhlIGVudGl0eSByZWZlcmVuY2UgbXVzdCBtYXRjaCB0aGF0IGluIGFuIGVudGl0eSBkZWNsYXJhdGlvbiwgZXhjZXB0IHRoYXQgd2VsbC1mb3JtZWQgZG9jdW1lbnRzIG5lZWQgbm90IGRlY2xhcmUgYW55IG9mIHRoZSBmb2xsb3dpbmcgZW50aXRpZXM6IGFtcCwgbHQsIGd0LCBhcG9zLCBxdW90LiAgVGhlIGRlY2xhcmF0aW9uIG9mIGEgcGFyYW1ldGVyIGVudGl0eSBtdXN0IHByZWNlZGUgYW55IHJlZmVyZW5jZSB0byBpdC4gIFNpbWlsYXJseSwgdGhlIGRlY2xhcmF0aW9uIG9mIGEgZ2VuZXJhbCBlbnRpdHkgbXVzdCBwcmVjZWRlIGFueSByZWZlcmVuY2UgdG8gaXQgd2hpY2ggYXBwZWFycyBpbiBhIGRlZmF1bHQgdmFsdWUgaW4gYW4gYXR0cmlidXRlLWxpc3QgZGVjbGFyYXRpb24uIE5vdGUgdGhhdCBpZiBlbnRpdGllcyBhcmUgZGVjbGFyZWQgaW4gdGhlIGV4dGVybmFsIHN1YnNldCBvciBpbiBleHRlcm5hbCBwYXJhbWV0ZXIgZW50aXRpZXMsIGEgbm9uLXZhbGlkYXRpbmcgcHJvY2Vzc29yIGlzIG5vdCBvYmxpZ2F0ZWQgdG8gcmVhZCBhbmQgcHJvY2VzcyB0aGVpciBkZWNsYXJhdGlvbnM7IGZvciBzdWNoIGRvY3VtZW50cywgdGhlIHJ1bGUgdGhhdCBhbiBlbnRpdHkgbXVzdCBiZSBkZWNsYXJlZCBpcyBhIHdlbGwtZm9ybWVkbmVzcyBjb25zdHJhaW50IG9ubHkgaWYgc3RhbmRhbG9uZT0mYXBvczt5ZXMmYXBvczsuICBbIFdGQzogUGFyc2VkIEVudGl0eSBdIEFuIGVudGl0eSByZWZlcmVuY2UgbXVzdCBub3QgY29udGFpbiB0aGUgbmFtZSBvZiBhbiB1bnBhcnNlZCBlbnRpdHk8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbEVudGl0eVB0cicgaW5mbz0ndGhlIHhtbEVudGl0eVB0ciBpZiBmb3VuZCwgb3IgTlVMTCBvdGhlcndpc2UuJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFBhcnNlckN0eHRQdHInIGluZm89J2FuIFhNTCBwYXJzZXIgY29udGV4dCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFBhcnNlRW50aXR5VmFsdWUnIGZpbGU9J3BhcnNlckludGVybmFscycgbW9kdWxlPSdwYXJzZXInPgorICAgICAgPGluZm8+cGFyc2UgYSB2YWx1ZSBmb3IgRU5USVRZIGRlY2xhcmF0aW9ucyAgWzldIEVudGl0eVZhbHVlIDo6PSAmYXBvczsmcXVvdDsmYXBvczsgKFteJSZhbXA7JnF1b3Q7XSB8IFBFUmVmZXJlbmNlIHwgUmVmZXJlbmNlKSogJmFwb3M7JnF1b3Q7JmFwb3M7IHwgJnF1b3Q7JmFwb3M7JnF1b3Q7IChbXiUmYW1wOyZhcG9zO10gfCBQRVJlZmVyZW5jZSB8IFJlZmVyZW5jZSkqICZxdW90OyZhcG9zOyZxdW90OzwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sQ2hhciAqJyBpbmZvPSd0aGUgRW50aXR5VmFsdWUgcGFyc2VkIHdpdGggcmVmZXJlbmNlIHN1YnN0aXR1dGVkIG9yIE5VTEwnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sUGFyc2VyQ3R4dFB0cicgaW5mbz0nYW4gWE1MIHBhcnNlciBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J29yaWcnIHR5cGU9J3htbENoYXIgKionIGluZm89J2lmIG5vbi1OVUxMIHN0b3JlIGEgY29weSBvZiB0aGUgb3JpZ2luYWwgZW50aXR5IHZhbHVlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sUGFyc2VFbnVtZXJhdGVkVHlwZScgZmlsZT0ncGFyc2VySW50ZXJuYWxzJyBtb2R1bGU9J3BhcnNlcic+CisgICAgICA8aW5mbz5wYXJzZSBhbiBFbnVtZXJhdGVkIGF0dHJpYnV0ZSB0eXBlLiAgWzU3XSBFbnVtZXJhdGVkVHlwZSA6Oj0gTm90YXRpb25UeXBlIHwgRW51bWVyYXRpb24gIFs1OF0gTm90YXRpb25UeXBlIDo6PSAmYXBvcztOT1RBVElPTiZhcG9zOyBTICZhcG9zOygmYXBvczsgUz8gTmFtZSAoUz8gJmFwb3M7fCZhcG9zOyBTPyBOYW1lKSogUz8gJmFwb3M7KSZhcG9zOzwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSdYTUxfQVRUUklCVVRFX0VOVU1FUkFUSU9OIG9yIFhNTF9BVFRSSUJVVEVfTk9UQVRJT04nLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sUGFyc2VyQ3R4dFB0cicgaW5mbz0nYW4gWE1MIHBhcnNlciBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J3RyZWUnIHR5cGU9J3htbEVudW1lcmF0aW9uUHRyIConIGluZm89J3RoZSBlbnVtZXJhdGlvbiB0cmVlIGJ1aWx0IHdoaWxlIHBhcnNpbmcnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxQYXJzZUVudW1lcmF0aW9uVHlwZScgZmlsZT0ncGFyc2VySW50ZXJuYWxzJyBtb2R1bGU9J3BhcnNlcic+CisgICAgICA8aW5mbz5wYXJzZSBhbiBFbnVtZXJhdGlvbiBhdHRyaWJ1dGUgdHlwZS4gIFs1OV0gRW51bWVyYXRpb24gOjo9ICZhcG9zOygmYXBvczsgUz8gTm10b2tlbiAoUz8gJmFwb3M7fCZhcG9zOyBTPyBObXRva2VuKSogUz8gJmFwb3M7KSZhcG9zOyAgWyBWQzogRW51bWVyYXRpb24gXSBWYWx1ZXMgb2YgdGhpcyB0eXBlIG11c3QgbWF0Y2ggb25lIG9mIHRoZSBObXRva2VuIHRva2VucyBpbiB0aGUgZGVjbGFyYXRpb248L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbEVudW1lcmF0aW9uUHRyJyBpbmZvPSd0aGUgZW51bWVyYXRpb24gYXR0cmlidXRlIHRyZWUgYnVpbHQgd2hpbGUgcGFyc2luZycvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxQYXJzZXJDdHh0UHRyJyBpbmZvPSdhbiBYTUwgcGFyc2VyIGNvbnRleHQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxQYXJzZUV4dFBhcnNlZEVudCcgZmlsZT0ncGFyc2VyJyBtb2R1bGU9J3BhcnNlcic+CisgICAgICA8aW5mbz5wYXJzZSBhIGdlbmVyYWwgcGFyc2VkIGVudGl0eSBBbiBleHRlcm5hbCBnZW5lcmFsIHBhcnNlZCBlbnRpdHkgaXMgd2VsbC1mb3JtZWQgaWYgaXQgbWF0Y2hlcyB0aGUgcHJvZHVjdGlvbiBsYWJlbGVkIGV4dFBhcnNlZEVudC4gIFs3OF0gZXh0UGFyc2VkRW50IDo6PSBUZXh0RGVjbD8gY29udGVudDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScwLCAtMSBpbiBjYXNlIG9mIGVycm9yLiB0aGUgcGFyc2VyIGNvbnRleHQgaXMgYXVnbWVudGVkIGFzIGEgcmVzdWx0IG9mIHRoZSBwYXJzaW5nLicvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxQYXJzZXJDdHh0UHRyJyBpbmZvPSdhbiBYTUwgcGFyc2VyIGNvbnRleHQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxQYXJzZUV4dGVybmFsRW50aXR5JyBmaWxlPSdwYXJzZXInIG1vZHVsZT0ncGFyc2VyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1NBWDFfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5QYXJzZSBhbiBleHRlcm5hbCBnZW5lcmFsIGVudGl0eSBBbiBleHRlcm5hbCBnZW5lcmFsIHBhcnNlZCBlbnRpdHkgaXMgd2VsbC1mb3JtZWQgaWYgaXQgbWF0Y2hlcyB0aGUgcHJvZHVjdGlvbiBsYWJlbGVkIGV4dFBhcnNlZEVudC4gIFs3OF0gZXh0UGFyc2VkRW50IDo6PSBUZXh0RGVjbD8gY29udGVudDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScwIGlmIHRoZSBlbnRpdHkgaXMgd2VsbCBmb3JtZWQsIC0xIGluIGNhc2Ugb2YgYXJncyBwcm9ibGVtIGFuZCB0aGUgcGFyc2VyIGVycm9yIGNvZGUgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2RvYycgdHlwZT0neG1sRG9jUHRyJyBpbmZvPSd0aGUgZG9jdW1lbnQgdGhlIGNodW5rIHBlcnRhaW5zIHRvJy8+CisgICAgICA8YXJnIG5hbWU9J3NheCcgdHlwZT0neG1sU0FYSGFuZGxlclB0cicgaW5mbz0ndGhlIFNBWCBoYW5kbGVyIGJsb2MgKHBvc3NpYmx5IE5VTEwpJy8+CisgICAgICA8YXJnIG5hbWU9J3VzZXJfZGF0YScgdHlwZT0ndm9pZCAqJyBpbmZvPSdUaGUgdXNlciBkYXRhIHJldHVybmVkIG9uIFNBWCBjYWxsYmFja3MgKHBvc3NpYmx5IE5VTEwpJy8+CisgICAgICA8YXJnIG5hbWU9J2RlcHRoJyB0eXBlPSdpbnQnIGluZm89J1VzZWQgZm9yIGxvb3AgZGV0ZWN0aW9uLCB1c2UgMCcvPgorICAgICAgPGFyZyBuYW1lPSdVUkwnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIFVSTCBmb3IgdGhlIGVudGl0eSB0byBsb2FkJy8+CisgICAgICA8YXJnIG5hbWU9J0lEJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBTeXN0ZW0gSUQgZm9yIHRoZSBlbnRpdHkgdG8gbG9hZCcvPgorICAgICAgPGFyZyBuYW1lPSdsc3QnIHR5cGU9J3htbE5vZGVQdHIgKicgaW5mbz0ndGhlIHJldHVybiB2YWx1ZSBmb3IgdGhlIHNldCBvZiBwYXJzZWQgbm9kZXMnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxQYXJzZUV4dGVybmFsSUQnIGZpbGU9J3BhcnNlckludGVybmFscycgbW9kdWxlPSdwYXJzZXInPgorICAgICAgPGluZm8+UGFyc2UgYW4gRXh0ZXJuYWwgSUQgb3IgYSBQdWJsaWMgSUQgIE5PVEU6IFByb2R1Y3Rpb25zIFs3NV0gYW5kIFs4M10gaW50ZXJhY3QgYmFkbHkgc2luY2UgWzc1XSBjYW4gZ2VuZXJhdGUgJmFwb3M7UFVCTElDJmFwb3M7IFMgUHViaWRMaXRlcmFsIFMgU3lzdGVtTGl0ZXJhbCAgWzc1XSBFeHRlcm5hbElEIDo6PSAmYXBvcztTWVNURU0mYXBvczsgUyBTeXN0ZW1MaXRlcmFsIHwgJmFwb3M7UFVCTElDJmFwb3M7IFMgUHViaWRMaXRlcmFsIFMgU3lzdGVtTGl0ZXJhbCAgWzgzXSBQdWJsaWNJRCA6Oj0gJmFwb3M7UFVCTElDJmFwb3M7IFMgUHViaWRMaXRlcmFsPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxDaGFyIConIGluZm89J3RoZSBmdW5jdGlvbiByZXR1cm5zIFN5c3RlbUxpdGVyYWwgYW5kIGluIHRoZSBzZWNvbmQgY2FzZSBwdWJsaWNJRCByZWNlaXZlcyBQdWJpZExpdGVyYWwsIGlzIHN0cmljdCBpcyBvZmYgaXQgaXMgcG9zc2libGUgdG8gcmV0dXJuIE5VTEwgYW5kIGhhdmUgcHVibGljSUQgc2V0LicvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxQYXJzZXJDdHh0UHRyJyBpbmZvPSdhbiBYTUwgcGFyc2VyIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0ncHVibGljSUQnIHR5cGU9J3htbENoYXIgKionIGluZm89J2EgeG1sQ2hhcioqIHJlY2VpdmluZyBQdWJpZExpdGVyYWwnLz4KKyAgICAgIDxhcmcgbmFtZT0nc3RyaWN0JyB0eXBlPSdpbnQnIGluZm89J2luZGljYXRlIHdoZXRoZXIgd2Ugc2hvdWxkIHJlc3RyaWN0IHBhcnNpbmcgdG8gb25seSBwcm9kdWN0aW9uIFs3NV0sIHNlZSBOT1RFIGJlbG93Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sUGFyc2VFeHRlcm5hbFN1YnNldCcgZmlsZT0ncGFyc2VySW50ZXJuYWxzJyBtb2R1bGU9J3BhcnNlcic+CisgICAgICA8aW5mbz5wYXJzZSBNYXJrdXAgZGVjbGFyYXRpb25zIGZyb20gYW4gZXh0ZXJuYWwgc3Vic2V0ICBbMzBdIGV4dFN1YnNldCA6Oj0gdGV4dERlY2w/IGV4dFN1YnNldERlY2wgIFszMV0gZXh0U3Vic2V0RGVjbCA6Oj0gKG1hcmt1cGRlY2wgfCBjb25kaXRpb25hbFNlY3QgfCBQRVJlZmVyZW5jZSB8IFMpICo8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sUGFyc2VyQ3R4dFB0cicgaW5mbz0nYW4gWE1MIHBhcnNlciBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J0V4dGVybmFsSUQnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIGV4dGVybmFsIGlkZW50aWZpZXInLz4KKyAgICAgIDxhcmcgbmFtZT0nU3lzdGVtSUQnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIHN5c3RlbSBpZGVudGlmaWVyIChvciBVUkwpJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sUGFyc2VGaWxlJyBmaWxlPSdwYXJzZXInIG1vZHVsZT0ncGFyc2VyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1NBWDFfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5wYXJzZSBhbiBYTUwgZmlsZSBhbmQgYnVpbGQgYSB0cmVlLiBBdXRvbWF0aWMgc3VwcG9ydCBmb3IgWkxJQi9Db21wcmVzcyBjb21wcmVzc2VkIGRvY3VtZW50IGlzIHByb3ZpZGVkIGJ5IGRlZmF1bHQgaWYgZm91bmQgYXQgY29tcGlsZS10aW1lLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sRG9jUHRyJyBpbmZvPSd0aGUgcmVzdWx0aW5nIGRvY3VtZW50IHRyZWUgaWYgdGhlIGZpbGUgd2FzIHdlbGxmb3JtZWQsIE5VTEwgb3RoZXJ3aXNlLicvPgorICAgICAgPGFyZyBuYW1lPSdmaWxlbmFtZScgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSd0aGUgZmlsZW5hbWUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxQYXJzZUluTm9kZUNvbnRleHQnIGZpbGU9J3BhcnNlcicgbW9kdWxlPSdwYXJzZXInPgorICAgICAgPGluZm8+UGFyc2UgYSB3ZWxsLWJhbGFuY2VkIGNodW5rIG9mIGFuIFhNTCBkb2N1bWVudCB3aXRoaW4gdGhlIGNvbnRleHQgKERURCwgbmFtZXNwYWNlcywgZXRjIC4uLikgb2YgdGhlIGdpdmVuIG5vZGUuICBUaGUgYWxsb3dlZCBzZXF1ZW5jZSBmb3IgdGhlIGRhdGEgaXMgYSBXZWxsIEJhbGFuY2VkIENodW5rIGRlZmluZWQgYnkgdGhlIGNvbnRlbnQgcHJvZHVjdGlvbiBpbiB0aGUgWE1MIGdyYW1tYXI6ICBbNDNdIGNvbnRlbnQgOjo9IChlbGVtZW50IHwgQ2hhckRhdGEgfCBSZWZlcmVuY2UgfCBDRFNlY3QgfCBQSSB8IENvbW1lbnQpKjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sUGFyc2VyRXJyb3JzJyBpbmZvPSdYTUxfRVJSX09LIGlmIHRoZSBjaHVuayBpcyB3ZWxsIGJhbGFuY2VkLCBhbmQgdGhlIHBhcnNlciBlcnJvciBjb2RlIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdub2RlJyB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSd0aGUgY29udGV4dCBub2RlJy8+CisgICAgICA8YXJnIG5hbWU9J2RhdGEnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIGlucHV0IHN0cmluZycvPgorICAgICAgPGFyZyBuYW1lPSdkYXRhbGVuJyB0eXBlPSdpbnQnIGluZm89J3RoZSBpbnB1dCBzdHJpbmcgbGVuZ3RoIGluIGJ5dGVzJy8+CisgICAgICA8YXJnIG5hbWU9J29wdGlvbnMnIHR5cGU9J2ludCcgaW5mbz0nYSBjb21iaW5hdGlvbiBvZiB4bWxQYXJzZXJPcHRpb24nLz4KKyAgICAgIDxhcmcgbmFtZT0nbHN0JyB0eXBlPSd4bWxOb2RlUHRyIConIGluZm89J3RoZSByZXR1cm4gdmFsdWUgZm9yIHRoZSBzZXQgb2YgcGFyc2VkIG5vZGVzJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sUGFyc2VNYXJrdXBEZWNsJyBmaWxlPSdwYXJzZXJJbnRlcm5hbHMnIG1vZHVsZT0ncGFyc2VyJz4KKyAgICAgIDxpbmZvPnBhcnNlIE1hcmt1cCBkZWNsYXJhdGlvbnMgIFsyOV0gbWFya3VwZGVjbCA6Oj0gZWxlbWVudGRlY2wgfCBBdHRsaXN0RGVjbCB8IEVudGl0eURlY2wgfCBOb3RhdGlvbkRlY2wgfCBQSSB8IENvbW1lbnQgIFsgVkM6IFByb3BlciBEZWNsYXJhdGlvbi9QRSBOZXN0aW5nIF0gUGFyYW1ldGVyLWVudGl0eSByZXBsYWNlbWVudCB0ZXh0IG11c3QgYmUgcHJvcGVybHkgbmVzdGVkIHdpdGggbWFya3VwIGRlY2xhcmF0aW9ucy4gVGhhdCBpcyB0byBzYXksIGlmIGVpdGhlciB0aGUgZmlyc3QgY2hhcmFjdGVyIG9yIHRoZSBsYXN0IGNoYXJhY3RlciBvZiBhIG1hcmt1cCBkZWNsYXJhdGlvbiAobWFya3VwZGVjbCBhYm92ZSkgaXMgY29udGFpbmVkIGluIHRoZSByZXBsYWNlbWVudCB0ZXh0IGZvciBhIHBhcmFtZXRlci1lbnRpdHkgcmVmZXJlbmNlLCBib3RoIG11c3QgYmUgY29udGFpbmVkIGluIHRoZSBzYW1lIHJlcGxhY2VtZW50IHRleHQuICBbIFdGQzogUEVzIGluIEludGVybmFsIFN1YnNldCBdIEluIHRoZSBpbnRlcm5hbCBEVEQgc3Vic2V0LCBwYXJhbWV0ZXItZW50aXR5IHJlZmVyZW5jZXMgY2FuIG9jY3VyIG9ubHkgd2hlcmUgbWFya3VwIGRlY2xhcmF0aW9ucyBjYW4gb2NjdXIsIG5vdCB3aXRoaW4gbWFya3VwIGRlY2xhcmF0aW9ucy4gKFRoaXMgZG9lcyBub3QgYXBwbHkgdG8gcmVmZXJlbmNlcyB0aGF0IG9jY3VyIGluIGV4dGVybmFsIHBhcmFtZXRlciBlbnRpdGllcyBvciB0byB0aGUgZXh0ZXJuYWwgc3Vic2V0Lik8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sUGFyc2VyQ3R4dFB0cicgaW5mbz0nYW4gWE1MIHBhcnNlciBjb250ZXh0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sUGFyc2VNZW1vcnknIGZpbGU9J3BhcnNlcicgbW9kdWxlPSdwYXJzZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfU0FYMV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPnBhcnNlIGFuIFhNTCBpbi1tZW1vcnkgYmxvY2sgYW5kIGJ1aWxkIGEgdHJlZS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbERvY1B0cicgaW5mbz0ndGhlIHJlc3VsdGluZyBkb2N1bWVudCB0cmVlJy8+CisgICAgICA8YXJnIG5hbWU9J2J1ZmZlcicgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSdhbiBwb2ludGVyIHRvIGEgY2hhciBhcnJheScvPgorICAgICAgPGFyZyBuYW1lPSdzaXplJyB0eXBlPSdpbnQnIGluZm89J3RoZSBzaXplIG9mIHRoZSBhcnJheScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFBhcnNlTWlzYycgZmlsZT0ncGFyc2VySW50ZXJuYWxzJyBtb2R1bGU9J3BhcnNlcic+CisgICAgICA8aW5mbz5wYXJzZSBhbiBYTUwgTWlzYyogb3B0aW9uYWwgZmllbGQuICBbMjddIE1pc2MgOjo9IENvbW1lbnQgfCBQSSB8ICBTPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFBhcnNlckN0eHRQdHInIGluZm89J2FuIFhNTCBwYXJzZXIgY29udGV4dCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFBhcnNlTmFtZScgZmlsZT0ncGFyc2VySW50ZXJuYWxzJyBtb2R1bGU9J3BhcnNlcic+CisgICAgICA8aW5mbz5wYXJzZSBhbiBYTUwgbmFtZS4gIFs0XSBOYW1lQ2hhciA6Oj0gTGV0dGVyIHwgRGlnaXQgfCAmYXBvczsuJmFwb3M7IHwgJmFwb3M7LSZhcG9zOyB8ICZhcG9zO18mYXBvczsgfCAmYXBvczs6JmFwb3M7IHwgQ29tYmluaW5nQ2hhciB8IEV4dGVuZGVyICBbNV0gTmFtZSA6Oj0gKExldHRlciB8ICZhcG9zO18mYXBvczsgfCAmYXBvczs6JmFwb3M7KSAoTmFtZUNoYXIpKiAgWzZdIE5hbWVzIDo6PSBOYW1lICgjeDIwIE5hbWUpKjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgTmFtZSBwYXJzZWQgb3IgTlVMTCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxQYXJzZXJDdHh0UHRyJyBpbmZvPSdhbiBYTUwgcGFyc2VyIGNvbnRleHQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxQYXJzZU5hbWVzcGFjZScgZmlsZT0ncGFyc2VySW50ZXJuYWxzJyBtb2R1bGU9J2xlZ2FjeSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9MRUdBQ1lfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz54bWxQYXJzZU5hbWVzcGFjZTogcGFyc2Ugc3BlY2lmaWMgUEkgJmFwb3M7Jmx0Oz9uYW1lc3BhY2UgLi4uJmFwb3M7IGNvbnN0cnVjdHMuICBUaGlzIGlzIHdoYXQgdGhlIG9sZGVyIHhtbC1uYW1lIFdvcmtpbmcgRHJhZnQgc3BlY2lmaWVkLCBhIGJ1bmNoIG9mIG90aGVyIHN0dWZmIG1heSBzdGlsbCByZWx5IG9uIGl0LCBzbyBzdXBwb3J0IGlzIHN0aWxsIGhlcmUgYXMgaWYgaXQgd2FzIGRlY2xhcmVkIG9uIHRoZSByb290IG9mIHRoZSBUcmVlOi0oICBUT0RPOiByZW1vdmUgZnJvbSBsaWJyYXJ5ICBUbyBiZSByZW1vdmVkIGF0IG5leHQgZHJvcCBvZiBiaW5hcnkgY29tcGF0aWJpbGl0eTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxQYXJzZXJDdHh0UHRyJyBpbmZvPSdhbiBYTUwgcGFyc2VyIGNvbnRleHQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxQYXJzZU5tdG9rZW4nIGZpbGU9J3BhcnNlckludGVybmFscycgbW9kdWxlPSdwYXJzZXInPgorICAgICAgPGluZm8+cGFyc2UgYW4gWE1MIE5tdG9rZW4uICBbN10gTm10b2tlbiA6Oj0gKE5hbWVDaGFyKSsgIFs4XSBObXRva2VucyA6Oj0gTm10b2tlbiAoI3gyMCBObXRva2VuKSo8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbENoYXIgKicgaW5mbz0ndGhlIE5tdG9rZW4gcGFyc2VkIG9yIE5VTEwnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sUGFyc2VyQ3R4dFB0cicgaW5mbz0nYW4gWE1MIHBhcnNlciBjb250ZXh0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sUGFyc2VOb3RhdGlvbkRlY2wnIGZpbGU9J3BhcnNlckludGVybmFscycgbW9kdWxlPSdwYXJzZXInPgorICAgICAgPGluZm8+cGFyc2UgYSBub3RhdGlvbiBkZWNsYXJhdGlvbiAgWzgyXSBOb3RhdGlvbkRlY2wgOjo9ICZhcG9zOyZsdDshTk9UQVRJT04mYXBvczsgUyBOYW1lIFMgKEV4dGVybmFsSUQgfCAgUHVibGljSUQpIFM/ICZhcG9zOyZndDsmYXBvczsgIEhlbmNlIHRoZXJlIGlzIGFjdHVhbGx5IDMgY2hvaWNlczogJmFwb3M7UFVCTElDJmFwb3M7IFMgUHViaWRMaXRlcmFsICZhcG9zO1BVQkxJQyZhcG9zOyBTIFB1YmlkTGl0ZXJhbCBTIFN5c3RlbUxpdGVyYWwgYW5kICZhcG9zO1NZU1RFTSZhcG9zOyBTIFN5c3RlbUxpdGVyYWwgIFNlZSB0aGUgTk9URSBvbiB4bWxQYXJzZUV4dGVybmFsSUQoKS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sUGFyc2VyQ3R4dFB0cicgaW5mbz0nYW4gWE1MIHBhcnNlciBjb250ZXh0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sUGFyc2VOb3RhdGlvblR5cGUnIGZpbGU9J3BhcnNlckludGVybmFscycgbW9kdWxlPSdwYXJzZXInPgorICAgICAgPGluZm8+cGFyc2UgYW4gTm90YXRpb24gYXR0cmlidXRlIHR5cGUuICBOb3RlOiB0aGUgbGVhZGluZyAmYXBvcztOT1RBVElPTiZhcG9zOyBTIHBhcnQgaGFzIGFscmVhZHkgYmVpbmcgcGFyc2VkLi4uICBbNThdIE5vdGF0aW9uVHlwZSA6Oj0gJmFwb3M7Tk9UQVRJT04mYXBvczsgUyAmYXBvczsoJmFwb3M7IFM/IE5hbWUgKFM/ICZhcG9zO3wmYXBvczsgUz8gTmFtZSkqIFM/ICZhcG9zOykmYXBvczsgIFsgVkM6IE5vdGF0aW9uIEF0dHJpYnV0ZXMgXSBWYWx1ZXMgb2YgdGhpcyB0eXBlIG11c3QgbWF0Y2ggb25lIG9mIHRoZSBub3RhdGlvbiBuYW1lcyBpbmNsdWRlZCBpbiB0aGUgZGVjbGFyYXRpb247IGFsbCBub3RhdGlvbiBuYW1lcyBpbiB0aGUgZGVjbGFyYXRpb24gbXVzdCBiZSBkZWNsYXJlZC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbEVudW1lcmF0aW9uUHRyJyBpbmZvPSd0aGUgbm90YXRpb24gYXR0cmlidXRlIHRyZWUgYnVpbHQgd2hpbGUgcGFyc2luZycvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxQYXJzZXJDdHh0UHRyJyBpbmZvPSdhbiBYTUwgcGFyc2VyIGNvbnRleHQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxQYXJzZVBFUmVmZXJlbmNlJyBmaWxlPSdwYXJzZXJJbnRlcm5hbHMnIG1vZHVsZT0ncGFyc2VyJz4KKyAgICAgIDxpbmZvPnBhcnNlIFBFUmVmZXJlbmNlIGRlY2xhcmF0aW9ucyBUaGUgZW50aXR5IGNvbnRlbnQgaXMgaGFuZGxlZCBkaXJlY3RseSBieSBwdXNoaW5nIGl0JmFwb3M7cyBjb250ZW50IGFzIGEgbmV3IGlucHV0IHN0cmVhbS4gIFs2OV0gUEVSZWZlcmVuY2UgOjo9ICZhcG9zOyUmYXBvczsgTmFtZSAmYXBvczs7JmFwb3M7ICBbIFdGQzogTm8gUmVjdXJzaW9uIF0gQSBwYXJzZWQgZW50aXR5IG11c3Qgbm90IGNvbnRhaW4gYSByZWN1cnNpdmUgcmVmZXJlbmNlIHRvIGl0c2VsZiwgZWl0aGVyIGRpcmVjdGx5IG9yIGluZGlyZWN0bHkuICBbIFdGQzogRW50aXR5IERlY2xhcmVkIF0gSW4gYSBkb2N1bWVudCB3aXRob3V0IGFueSBEVEQsIGEgZG9jdW1lbnQgd2l0aCBvbmx5IGFuIGludGVybmFsIERURCBzdWJzZXQgd2hpY2ggY29udGFpbnMgbm8gcGFyYW1ldGVyIGVudGl0eSByZWZlcmVuY2VzLCBvciBhIGRvY3VtZW50IHdpdGggJnF1b3Q7c3RhbmRhbG9uZT0mYXBvczt5ZXMmYXBvczsmcXVvdDssIC4uLiAgLi4uIFRoZSBkZWNsYXJhdGlvbiBvZiBhIHBhcmFtZXRlciBlbnRpdHkgbXVzdCBwcmVjZWRlIGFueSByZWZlcmVuY2UgdG8gaXQuLi4gIFsgVkM6IEVudGl0eSBEZWNsYXJlZCBdIEluIGEgZG9jdW1lbnQgd2l0aCBhbiBleHRlcm5hbCBzdWJzZXQgb3IgZXh0ZXJuYWwgcGFyYW1ldGVyIGVudGl0aWVzIHdpdGggJnF1b3Q7c3RhbmRhbG9uZT0mYXBvcztubyZhcG9zOyZxdW90OywgLi4uICAuLi4gVGhlIGRlY2xhcmF0aW9uIG9mIGEgcGFyYW1ldGVyIGVudGl0eSBtdXN0IHByZWNlZGUgYW55IHJlZmVyZW5jZSB0byBpdC4uLiAgWyBXRkM6IEluIERURCBdIFBhcmFtZXRlci1lbnRpdHkgcmVmZXJlbmNlcyBtYXkgb25seSBhcHBlYXIgaW4gdGhlIERURC4gTk9URTogbWlzbGVhZGluZyBidXQgdGhpcyBpcyBoYW5kbGVkLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxQYXJzZXJDdHh0UHRyJyBpbmZvPSdhbiBYTUwgcGFyc2VyIGNvbnRleHQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxQYXJzZVBJJyBmaWxlPSdwYXJzZXJJbnRlcm5hbHMnIG1vZHVsZT0ncGFyc2VyJz4KKyAgICAgIDxpbmZvPnBhcnNlIGFuIFhNTCBQcm9jZXNzaW5nIEluc3RydWN0aW9uLiAgWzE2XSBQSSA6Oj0gJmFwb3M7Jmx0Oz8mYXBvczsgUElUYXJnZXQgKFMgKENoYXIqIC0gKENoYXIqICZhcG9zOz8mZ3Q7JmFwb3M7IENoYXIqKSkpPyAmYXBvczs/Jmd0OyZhcG9zOyAgVGhlIHByb2Nlc3NpbmcgaXMgdHJhbnNmZXJlZCB0byBTQVggb25jZSBwYXJzZWQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFBhcnNlckN0eHRQdHInIGluZm89J2FuIFhNTCBwYXJzZXIgY29udGV4dCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFBhcnNlUElUYXJnZXQnIGZpbGU9J3BhcnNlckludGVybmFscycgbW9kdWxlPSdwYXJzZXInPgorICAgICAgPGluZm8+cGFyc2UgdGhlIG5hbWUgb2YgYSBQSSAgWzE3XSBQSVRhcmdldCA6Oj0gTmFtZSAtICgoJmFwb3M7WCZhcG9zOyB8ICZhcG9zO3gmYXBvczspICgmYXBvcztNJmFwb3M7IHwgJmFwb3M7bSZhcG9zOykgKCZhcG9zO0wmYXBvczsgfCAmYXBvcztsJmFwb3M7KSk8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIFBJVGFyZ2V0IG5hbWUgb3IgTlVMTCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxQYXJzZXJDdHh0UHRyJyBpbmZvPSdhbiBYTUwgcGFyc2VyIGNvbnRleHQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxQYXJzZVB1YmlkTGl0ZXJhbCcgZmlsZT0ncGFyc2VySW50ZXJuYWxzJyBtb2R1bGU9J3BhcnNlcic+CisgICAgICA8aW5mbz5wYXJzZSBhbiBYTUwgcHVibGljIGxpdGVyYWwgIFsxMl0gUHViaWRMaXRlcmFsIDo6PSAmYXBvczsmcXVvdDsmYXBvczsgUHViaWRDaGFyKiAmYXBvczsmcXVvdDsmYXBvczsgfCAmcXVvdDsmYXBvczsmcXVvdDsgKFB1YmlkQ2hhciAtICZxdW90OyZhcG9zOyZxdW90OykqICZxdW90OyZhcG9zOyZxdW90OzwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sQ2hhciAqJyBpbmZvPSd0aGUgUHViaWRMaXRlcmFsIHBhcnNlZCBvciBOVUxMLicvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxQYXJzZXJDdHh0UHRyJyBpbmZvPSdhbiBYTUwgcGFyc2VyIGNvbnRleHQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxQYXJzZVF1b3RlZFN0cmluZycgZmlsZT0ncGFyc2VySW50ZXJuYWxzJyBtb2R1bGU9J2xlZ2FjeSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9MRUdBQ1lfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5QYXJzZSBhbmQgcmV0dXJuIGEgc3RyaW5nIGJldHdlZW4gcXVvdGVzIG9yIGRvdWJsZXF1b3RlcyAgVE9ETzogRGVwcmVjYXRlZCwgdG8gIGJlIHJlbW92ZWQgYXQgbmV4dCBkcm9wIG9mIGJpbmFyeSBjb21wYXRpYmlsaXR5PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxDaGFyIConIGluZm89J3RoZSBzdHJpbmcgcGFyc2VyIG9yIE5VTEwuJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFBhcnNlckN0eHRQdHInIGluZm89J2FuIFhNTCBwYXJzZXIgY29udGV4dCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFBhcnNlUmVmZXJlbmNlJyBmaWxlPSdwYXJzZXJJbnRlcm5hbHMnIG1vZHVsZT0ncGFyc2VyJz4KKyAgICAgIDxpbmZvPnBhcnNlIGFuZCBoYW5kbGUgZW50aXR5IHJlZmVyZW5jZXMgaW4gY29udGVudCwgZGVwZW5kaW5nIG9uIHRoZSBTQVggaW50ZXJmYWNlLCB0aGlzIG1heSBlbmQtdXAgaW4gYSBjYWxsIHRvIGNoYXJhY3RlcigpIGlmIHRoaXMgaXMgYSBDaGFyUmVmLCBhIHByZWRlZmluZWQgZW50aXR5LCBpZiB0aGVyZSBpcyBubyByZWZlcmVuY2UoKSBjYWxsYmFjay4gb3IgaWYgdGhlIHBhcnNlciB3YXMgYXNrZWQgdG8gc3dpdGNoIHRvIHRoYXQgbW9kZS4gIFs2N10gUmVmZXJlbmNlIDo6PSBFbnRpdHlSZWYgfCBDaGFyUmVmPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFBhcnNlckN0eHRQdHInIGluZm89J2FuIFhNTCBwYXJzZXIgY29udGV4dCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFBhcnNlU0REZWNsJyBmaWxlPSdwYXJzZXJJbnRlcm5hbHMnIG1vZHVsZT0ncGFyc2VyJz4KKyAgICAgIDxpbmZvPnBhcnNlIHRoZSBYTUwgc3RhbmRhbG9uZSBkZWNsYXJhdGlvbiAgWzMyXSBTRERlY2wgOjo9IFMgJmFwb3M7c3RhbmRhbG9uZSZhcG9zOyBFcSAoKCZxdW90OyZhcG9zOyZxdW90OyAoJmFwb3M7eWVzJmFwb3M7IHwgJmFwb3M7bm8mYXBvczspICZxdW90OyZhcG9zOyZxdW90OykgfCAoJmFwb3M7JnF1b3Q7JmFwb3M7ICgmYXBvczt5ZXMmYXBvczsgfCAmYXBvcztubyZhcG9zOykmYXBvczsmcXVvdDsmYXBvczspKSAgWyBWQzogU3RhbmRhbG9uZSBEb2N1bWVudCBEZWNsYXJhdGlvbiBdIFRPRE8gVGhlIHN0YW5kYWxvbmUgZG9jdW1lbnQgZGVjbGFyYXRpb24gbXVzdCBoYXZlIHRoZSB2YWx1ZSAmcXVvdDtubyZxdW90OyBpZiBhbnkgZXh0ZXJuYWwgbWFya3VwIGRlY2xhcmF0aW9ucyBjb250YWluIGRlY2xhcmF0aW9ucyBvZjogLSBhdHRyaWJ1dGVzIHdpdGggZGVmYXVsdCB2YWx1ZXMsIGlmIGVsZW1lbnRzIHRvIHdoaWNoIHRoZXNlIGF0dHJpYnV0ZXMgYXBwbHkgYXBwZWFyIGluIHRoZSBkb2N1bWVudCB3aXRob3V0IHNwZWNpZmljYXRpb25zIG9mIHZhbHVlcyBmb3IgdGhlc2UgYXR0cmlidXRlcywgb3IgLSBlbnRpdGllcyAob3RoZXIgdGhhbiBhbXAsIGx0LCBndCwgYXBvcywgcXVvdCksIGlmIHJlZmVyZW5jZXMgdG8gdGhvc2UgZW50aXRpZXMgYXBwZWFyIGluIHRoZSBkb2N1bWVudCwgb3IgLSBhdHRyaWJ1dGVzIHdpdGggdmFsdWVzIHN1YmplY3QgdG8gbm9ybWFsaXphdGlvbiwgd2hlcmUgdGhlIGF0dHJpYnV0ZSBhcHBlYXJzIGluIHRoZSBkb2N1bWVudCB3aXRoIGEgdmFsdWUgd2hpY2ggd2lsbCBjaGFuZ2UgYXMgYSByZXN1bHQgb2Ygbm9ybWFsaXphdGlvbiwgb3IgLSBlbGVtZW50IHR5cGVzIHdpdGggZWxlbWVudCBjb250ZW50LCBpZiB3aGl0ZSBzcGFjZSBvY2N1cnMgZGlyZWN0bHkgd2l0aGluIGFueSBpbnN0YW5jZSBvZiB0aG9zZSB0eXBlcy48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiBzdGFuZGFsb25lPSZxdW90O3llcyZxdW90OyAwIGlmIHN0YW5kYWxvbmU9JnF1b3Q7bm8mcXVvdDsgLTIgaWYgc3RhbmRhbG9uZSBhdHRyaWJ1dGUgaXMgbWlzc2luZyBvciBpbnZhbGlkIChBIHN0YW5kYWxvbmUgdmFsdWUgb2YgLTIgbWVhbnMgdGhhdCB0aGUgWE1MIGRlY2xhcmF0aW9uIHdhcyBmb3VuZCwgYnV0IG5vIHZhbHVlIHdhcyBzcGVjaWZpZWQgZm9yIHRoZSBzdGFuZGFsb25lIGF0dHJpYnV0ZSkuJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFBhcnNlckN0eHRQdHInIGluZm89J2FuIFhNTCBwYXJzZXIgY29udGV4dCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFBhcnNlU3RhcnRUYWcnIGZpbGU9J3BhcnNlckludGVybmFscycgbW9kdWxlPSdwYXJzZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfU0FYMV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPnBhcnNlIGEgc3RhcnQgb2YgdGFnIGVpdGhlciBmb3IgcnVsZSBlbGVtZW50IG9yIEVtcHR5RWxlbWVudC4gSW4gYm90aCBjYXNlIHdlIGRvbiZhcG9zO3QgcGFyc2UgdGhlIHRhZyBjbG9zaW5nIGNoYXJzLiAgWzQwXSBTVGFnIDo6PSAmYXBvczsmbHQ7JmFwb3M7IE5hbWUgKFMgQXR0cmlidXRlKSogUz8gJmFwb3M7Jmd0OyZhcG9zOyAgWyBXRkM6IFVuaXF1ZSBBdHQgU3BlYyBdIE5vIGF0dHJpYnV0ZSBuYW1lIG1heSBhcHBlYXIgbW9yZSB0aGFuIG9uY2UgaW4gdGhlIHNhbWUgc3RhcnQtdGFnIG9yIGVtcHR5LWVsZW1lbnQgdGFnLiAgWzQ0XSBFbXB0eUVsZW1UYWcgOjo9ICZhcG9zOyZsdDsmYXBvczsgTmFtZSAoUyBBdHRyaWJ1dGUpKiBTPyAmYXBvczsvJmd0OyZhcG9zOyAgWyBXRkM6IFVuaXF1ZSBBdHQgU3BlYyBdIE5vIGF0dHJpYnV0ZSBuYW1lIG1heSBhcHBlYXIgbW9yZSB0aGFuIG9uY2UgaW4gdGhlIHNhbWUgc3RhcnQtdGFnIG9yIGVtcHR5LWVsZW1lbnQgdGFnLiAgV2l0aCBuYW1lc3BhY2U6ICBbTlMgOF0gU1RhZyA6Oj0gJmFwb3M7Jmx0OyZhcG9zOyBRTmFtZSAoUyBBdHRyaWJ1dGUpKiBTPyAmYXBvczsmZ3Q7JmFwb3M7ICBbTlMgMTBdIEVtcHR5RWxlbWVudCA6Oj0gJmFwb3M7Jmx0OyZhcG9zOyBRTmFtZSAoUyBBdHRyaWJ1dGUpKiBTPyAmYXBvczsvJmd0OyZhcG9zOzwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgZWxlbWVudCBuYW1lIHBhcnNlZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxQYXJzZXJDdHh0UHRyJyBpbmZvPSdhbiBYTUwgcGFyc2VyIGNvbnRleHQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxQYXJzZVN5c3RlbUxpdGVyYWwnIGZpbGU9J3BhcnNlckludGVybmFscycgbW9kdWxlPSdwYXJzZXInPgorICAgICAgPGluZm8+cGFyc2UgYW4gWE1MIExpdGVyYWwgIFsxMV0gU3lzdGVtTGl0ZXJhbCA6Oj0gKCZhcG9zOyZxdW90OyZhcG9zOyBbXiZxdW90O10qICZhcG9zOyZxdW90OyZhcG9zOykgfCAoJnF1b3Q7JmFwb3M7JnF1b3Q7IFteJmFwb3M7XSogJnF1b3Q7JmFwb3M7JnF1b3Q7KTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sQ2hhciAqJyBpbmZvPSd0aGUgU3lzdGVtTGl0ZXJhbCBwYXJzZWQgb3IgTlVMTCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxQYXJzZXJDdHh0UHRyJyBpbmZvPSdhbiBYTUwgcGFyc2VyIGNvbnRleHQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxQYXJzZVRleHREZWNsJyBmaWxlPSdwYXJzZXJJbnRlcm5hbHMnIG1vZHVsZT0ncGFyc2VyJz4KKyAgICAgIDxpbmZvPnBhcnNlIGFuIFhNTCBkZWNsYXJhdGlvbiBoZWFkZXIgZm9yIGV4dGVybmFsIGVudGl0aWVzICBbNzddIFRleHREZWNsIDo6PSAmYXBvczsmbHQ7P3htbCZhcG9zOyBWZXJzaW9uSW5mbz8gRW5jb2RpbmdEZWNsIFM/ICZhcG9zOz8mZ3Q7JmFwb3M7PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFBhcnNlckN0eHRQdHInIGluZm89J2FuIFhNTCBwYXJzZXIgY29udGV4dCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFBhcnNlVVJJJyBmaWxlPSd1cmknIG1vZHVsZT0ndXJpJz4KKyAgICAgIDxpbmZvPlBhcnNlIGFuIFVSSSBiYXNlZCBvbiBSRkMgMzk4NiAgVVJJLXJlZmVyZW5jZSA9IFsgYWJzb2x1dGVVUkkgfCByZWxhdGl2ZVVSSSBdIFsgJnF1b3Q7IyZxdW90OyBmcmFnbWVudCBdPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxVUklQdHInIGluZm89J2EgbmV3bHkgYnVpbHQgeG1sVVJJUHRyIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSdzdHInIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIFVSSSBzdHJpbmcgdG8gYW5hbHl6ZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFBhcnNlVVJJUmF3JyBmaWxlPSd1cmknIG1vZHVsZT0ndXJpJz4KKyAgICAgIDxpbmZvPlBhcnNlIGFuIFVSSSBidXQgYWxsb3dzIHRvIGtlZXAgaW50YWN0IHRoZSBvcmlnaW5hbCBmcmFnbWVudHMuICBVUkktcmVmZXJlbmNlID0gVVJJIC8gcmVsYXRpdmUtcmVmPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxVUklQdHInIGluZm89J2EgbmV3bHkgYnVpbHQgeG1sVVJJUHRyIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSdzdHInIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIFVSSSBzdHJpbmcgdG8gYW5hbHl6ZScvPgorICAgICAgPGFyZyBuYW1lPSdyYXcnIHR5cGU9J2ludCcgaW5mbz0naWYgMSB1bmVzY2FwaW5nIG9mIFVSSSBwaWVjZXMgYXJlIGRpc2FibGVkJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sUGFyc2VVUklSZWZlcmVuY2UnIGZpbGU9J3VyaScgbW9kdWxlPSd1cmknPgorICAgICAgPGluZm8+UGFyc2UgYW4gVVJJIHJlZmVyZW5jZSBzdHJpbmcgYmFzZWQgb24gUkZDIDM5ODYgYW5kIGZpbGxzIGluIHRoZSBhcHByb3ByaWF0ZSBmaWVsZHMgb2YgdGhlIEB1cmkgc3RydWN0dXJlICBVUkktcmVmZXJlbmNlID0gVVJJIC8gcmVsYXRpdmUtcmVmPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzAgb3IgdGhlIGVycm9yIGNvZGUnLz4KKyAgICAgIDxhcmcgbmFtZT0ndXJpJyB0eXBlPSd4bWxVUklQdHInIGluZm89J3BvaW50ZXIgdG8gYW4gVVJJIHN0cnVjdHVyZScvPgorICAgICAgPGFyZyBuYW1lPSdzdHInIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIHN0cmluZyB0byBhbmFseXplJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sUGFyc2VWZXJzaW9uSW5mbycgZmlsZT0ncGFyc2VySW50ZXJuYWxzJyBtb2R1bGU9J3BhcnNlcic+CisgICAgICA8aW5mbz5wYXJzZSB0aGUgWE1MIHZlcnNpb24uICBbMjRdIFZlcnNpb25JbmZvIDo6PSBTICZhcG9zO3ZlcnNpb24mYXBvczsgRXEgKCZhcG9zOyBWZXJzaW9uTnVtICZhcG9zOyB8ICZxdW90OyBWZXJzaW9uTnVtICZxdW90OykgIFsyNV0gRXEgOjo9IFM/ICZhcG9zOz0mYXBvczsgUz88L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbENoYXIgKicgaW5mbz0ndGhlIHZlcnNpb24gc3RyaW5nLCBlLmcuICZxdW90OzEuMCZxdW90OycvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxQYXJzZXJDdHh0UHRyJyBpbmZvPSdhbiBYTUwgcGFyc2VyIGNvbnRleHQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxQYXJzZVZlcnNpb25OdW0nIGZpbGU9J3BhcnNlckludGVybmFscycgbW9kdWxlPSdwYXJzZXInPgorICAgICAgPGluZm8+cGFyc2UgdGhlIFhNTCB2ZXJzaW9uIHZhbHVlLiAgWzI2XSBWZXJzaW9uTnVtIDo6PSAmYXBvczsxLiZhcG9zOyBbMC05XSsgIEluIHByYWN0aWNlIGFsbG93IFswLTldLlswLTldKyBhdCB0aGF0IGxldmVsPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxDaGFyIConIGluZm89J3RoZSBzdHJpbmcgZ2l2aW5nIHRoZSBYTUwgdmVyc2lvbiBudW1iZXIsIG9yIE5VTEwnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sUGFyc2VyQ3R4dFB0cicgaW5mbz0nYW4gWE1MIHBhcnNlciBjb250ZXh0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sUGFyc2VYTUxEZWNsJyBmaWxlPSdwYXJzZXJJbnRlcm5hbHMnIG1vZHVsZT0ncGFyc2VyJz4KKyAgICAgIDxpbmZvPnBhcnNlIGFuIFhNTCBkZWNsYXJhdGlvbiBoZWFkZXIgIFsyM10gWE1MRGVjbCA6Oj0gJmFwb3M7Jmx0Oz94bWwmYXBvczsgVmVyc2lvbkluZm8gRW5jb2RpbmdEZWNsPyBTRERlY2w/IFM/ICZhcG9zOz8mZ3Q7JmFwb3M7PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFBhcnNlckN0eHRQdHInIGluZm89J2FuIFhNTCBwYXJzZXIgY29udGV4dCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFBhcnNlckFkZE5vZGVJbmZvJyBmaWxlPSdwYXJzZXInIG1vZHVsZT0ncGFyc2VySW50ZXJuYWxzJz4KKyAgICAgIDxpbmZvPkluc2VydCBub2RlIGluZm8gcmVjb3JkIGludG8gdGhlIHNvcnRlZCBzZXF1ZW5jZTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxQYXJzZXJDdHh0UHRyJyBpbmZvPSdhbiBYTUwgcGFyc2VyIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0naW5mbycgdHlwZT0nY29uc3QgeG1sUGFyc2VyTm9kZUluZm9QdHInIGluZm89J2Egbm9kZSBpbmZvIHNlcXVlbmNlIHBvaW50ZXInLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxQYXJzZXJFcnJvcicgZmlsZT0neG1sZXJyb3InIG1vZHVsZT0nZXJyb3InPgorICAgICAgPGluZm8+RGlzcGxheSBhbmQgZm9ybWF0IGFuIGVycm9yIG1lc3NhZ2VzLCBnaXZlcyBmaWxlLCBsaW5lLCBwb3NpdGlvbiBhbmQgZXh0cmEgcGFyYW1ldGVycy48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4JyB0eXBlPSd2b2lkIConIGluZm89J2FuIFhNTCBwYXJzZXIgY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdtc2cnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIG1lc3NhZ2UgdG8gZGlzcGxheS90cmFuc21pdCcvPgorICAgICAgPGFyZyBuYW1lPScuLi4nIHR5cGU9Jy4uLicgaW5mbz0nZXh0cmEgcGFyYW1ldGVycyBmb3IgdGhlIG1lc3NhZ2UgZGlzcGxheScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFBhcnNlckZpbmROb2RlSW5mbycgZmlsZT0ncGFyc2VyJyBtb2R1bGU9J3BhcnNlckludGVybmFscyc+CisgICAgICA8aW5mbz5GaW5kIHRoZSBwYXJzZXIgbm9kZSBpbmZvIHN0cnVjdCBmb3IgYSBnaXZlbiBub2RlPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdjb25zdCB4bWxQYXJzZXJOb2RlSW5mbyAqJyBpbmZvPSdhbiB4bWxQYXJzZXJOb2RlSW5mbyBibG9jayBwb2ludGVyIG9yIE5VTEwnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4JyB0eXBlPSdjb25zdCB4bWxQYXJzZXJDdHh0UHRyJyBpbmZvPSdhbiBYTUwgcGFyc2VyIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbm9kZScgdHlwZT0nY29uc3QgeG1sTm9kZVB0cicgaW5mbz0nYW4gWE1MIG5vZGUgd2l0aGluIHRoZSB0cmVlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sUGFyc2VyRmluZE5vZGVJbmZvSW5kZXgnIGZpbGU9J3BhcnNlcicgbW9kdWxlPSdwYXJzZXJJbnRlcm5hbHMnPgorICAgICAgPGluZm8+eG1sUGFyc2VyRmluZE5vZGVJbmZvSW5kZXggOiBGaW5kIHRoZSBpbmRleCB0aGF0IHRoZSBpbmZvIHJlY29yZCBmb3IgdGhlIGdpdmVuIG5vZGUgaXMgb3Igc2hvdWxkIGJlIGF0IGluIGEgc29ydGVkIHNlcXVlbmNlPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd1bnNpZ25lZCBsb25nJyBpbmZvPSdhIGxvbmcgaW5kaWNhdGluZyB0aGUgcG9zaXRpb24gb2YgdGhlIHJlY29yZCcvPgorICAgICAgPGFyZyBuYW1lPSdzZXEnIHR5cGU9J2NvbnN0IHhtbFBhcnNlck5vZGVJbmZvU2VxUHRyJyBpbmZvPSdhIG5vZGUgaW5mbyBzZXF1ZW5jZSBwb2ludGVyJy8+CisgICAgICA8YXJnIG5hbWU9J25vZGUnIHR5cGU9J2NvbnN0IHhtbE5vZGVQdHInIGluZm89J2FuIFhNTCBub2RlIHBvaW50ZXInLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxQYXJzZXJHZXREaXJlY3RvcnknIGZpbGU9J3htbElPJyBtb2R1bGU9J3htbElPJz4KKyAgICAgIDxpbmZvPmxvb2t1cCB0aGUgZGlyZWN0b3J5IGZvciB0aGF0IGZpbGU8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2NoYXIgKicgaW5mbz0nYSBuZXcgYWxsb2NhdGVkIHN0cmluZyBjb250YWluaW5nIHRoZSBkaXJlY3RvcnksIG9yIE5VTEwuJy8+CisgICAgICA8YXJnIG5hbWU9J2ZpbGVuYW1lJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBwYXRoIHRvIGEgZmlsZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFBhcnNlckhhbmRsZVBFUmVmZXJlbmNlJyBmaWxlPSdwYXJzZXJJbnRlcm5hbHMnIG1vZHVsZT0ncGFyc2VyJz4KKyAgICAgIDxpbmZvPls2OV0gUEVSZWZlcmVuY2UgOjo9ICZhcG9zOyUmYXBvczsgTmFtZSAmYXBvczs7JmFwb3M7ICBbIFdGQzogTm8gUmVjdXJzaW9uIF0gQSBwYXJzZWQgZW50aXR5IG11c3Qgbm90IGNvbnRhaW4gYSByZWN1cnNpdmUgcmVmZXJlbmNlIHRvIGl0c2VsZiwgZWl0aGVyIGRpcmVjdGx5IG9yIGluZGlyZWN0bHkuICBbIFdGQzogRW50aXR5IERlY2xhcmVkIF0gSW4gYSBkb2N1bWVudCB3aXRob3V0IGFueSBEVEQsIGEgZG9jdW1lbnQgd2l0aCBvbmx5IGFuIGludGVybmFsIERURCBzdWJzZXQgd2hpY2ggY29udGFpbnMgbm8gcGFyYW1ldGVyIGVudGl0eSByZWZlcmVuY2VzLCBvciBhIGRvY3VtZW50IHdpdGggJnF1b3Q7c3RhbmRhbG9uZT0mYXBvczt5ZXMmYXBvczsmcXVvdDssIC4uLiAgLi4uIFRoZSBkZWNsYXJhdGlvbiBvZiBhIHBhcmFtZXRlciBlbnRpdHkgbXVzdCBwcmVjZWRlIGFueSByZWZlcmVuY2UgdG8gaXQuLi4gIFsgVkM6IEVudGl0eSBEZWNsYXJlZCBdIEluIGEgZG9jdW1lbnQgd2l0aCBhbiBleHRlcm5hbCBzdWJzZXQgb3IgZXh0ZXJuYWwgcGFyYW1ldGVyIGVudGl0aWVzIHdpdGggJnF1b3Q7c3RhbmRhbG9uZT0mYXBvcztubyZhcG9zOyZxdW90OywgLi4uICAuLi4gVGhlIGRlY2xhcmF0aW9uIG9mIGEgcGFyYW1ldGVyIGVudGl0eSBtdXN0IHByZWNlZGUgYW55IHJlZmVyZW5jZSB0byBpdC4uLiAgWyBXRkM6IEluIERURCBdIFBhcmFtZXRlci1lbnRpdHkgcmVmZXJlbmNlcyBtYXkgb25seSBhcHBlYXIgaW4gdGhlIERURC4gTk9URTogbWlzbGVhZGluZyBidXQgdGhpcyBpcyBoYW5kbGVkLiAgQSBQRVJlZmVyZW5jZSBtYXkgaGF2ZSBiZWVuIGRldGVjdGVkIGluIHRoZSBjdXJyZW50IGlucHV0IHN0cmVhbSB0aGUgaGFuZGxpbmcgaXMgZG9uZSBhY2NvcmRpbmdseSB0byBodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMteG1sI2VudHByb2MgaS5lLiAtIEluY2x1ZGVkIGluIGxpdGVyYWwgaW4gZW50aXR5IHZhbHVlcyAtIEluY2x1ZGVkIGFzIFBhcmFtZXRlciBFbnRpdHkgcmVmZXJlbmNlIHdpdGhpbiBEVERzPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFBhcnNlckN0eHRQdHInIGluZm89J3RoZSBwYXJzZXIgY29udGV4dCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFBhcnNlckhhbmRsZVJlZmVyZW5jZScgZmlsZT0ncGFyc2VySW50ZXJuYWxzJyBtb2R1bGU9J2xlZ2FjeSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9MRUdBQ1lfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5UT0RPOiBSZW1vdmUsIG5vdyBkZXByZWNhdGVkIC4uLiB0aGUgdGVzdCBpcyBkb25lIGRpcmVjdGx5IGluIHRoZSBjb250ZW50IHBhcnNpbmcgcm91dGluZXMuICBbNjddIFJlZmVyZW5jZSA6Oj0gRW50aXR5UmVmIHwgQ2hhclJlZiAgWzY4XSBFbnRpdHlSZWYgOjo9ICZhcG9zOyZhbXA7JmFwb3M7IE5hbWUgJmFwb3M7OyZhcG9zOyAgWyBXRkM6IEVudGl0eSBEZWNsYXJlZCBdIHRoZSBOYW1lIGdpdmVuIGluIHRoZSBlbnRpdHkgcmVmZXJlbmNlIG11c3QgbWF0Y2ggdGhhdCBpbiBhbiBlbnRpdHkgZGVjbGFyYXRpb24sIGV4Y2VwdCB0aGF0IHdlbGwtZm9ybWVkIGRvY3VtZW50cyBuZWVkIG5vdCBkZWNsYXJlIGFueSBvZiB0aGUgZm9sbG93aW5nIGVudGl0aWVzOiBhbXAsIGx0LCBndCwgYXBvcywgcXVvdC4gIFsgV0ZDOiBQYXJzZWQgRW50aXR5IF0gQW4gZW50aXR5IHJlZmVyZW5jZSBtdXN0IG5vdCBjb250YWluIHRoZSBuYW1lIG9mIGFuIHVucGFyc2VkIGVudGl0eSAgWzY2XSBDaGFyUmVmIDo6PSAmYXBvczsmYW1wOyMmYXBvczsgWzAtOV0rICZhcG9zOzsmYXBvczsgfCAmYXBvczsmYW1wOyN4JmFwb3M7IFswLTlhLWZBLUZdKyAmYXBvczs7JmFwb3M7ICBBIFBFUmVmZXJlbmNlIG1heSBoYXZlIGJlZW4gZGV0ZWN0ZWQgaW4gdGhlIGN1cnJlbnQgaW5wdXQgc3RyZWFtIHRoZSBoYW5kbGluZyBpcyBkb25lIGFjY29yZGluZ2x5IHRvIGh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy14bWwjZW50cHJvYzwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxQYXJzZXJDdHh0UHRyJyBpbmZvPSd0aGUgcGFyc2VyIGNvbnRleHQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZkJyBmaWxlPSd4bWxJTycgbW9kdWxlPSd4bWxJTyc+CisgICAgICA8aW5mbz5DcmVhdGUgYSBidWZmZXJlZCBwYXJzZXIgaW5wdXQgZm9yIHRoZSBwcm9ncmVzc2l2ZSBwYXJzaW5nIGZvciB0aGUgaW5wdXQgZnJvbSBhIGZpbGUgZGVzY3JpcHRvcjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sUGFyc2VySW5wdXRCdWZmZXJQdHInIGluZm89J3RoZSBuZXcgcGFyc2VyIGlucHV0IG9yIE5VTEwnLz4KKyAgICAgIDxhcmcgbmFtZT0nZmQnIHR5cGU9J2ludCcgaW5mbz0nYSBmaWxlIGRlc2NyaXB0b3IgbnVtYmVyJy8+CisgICAgICA8YXJnIG5hbWU9J2VuYycgdHlwZT0neG1sQ2hhckVuY29kaW5nJyBpbmZvPSd0aGUgY2hhcnNldCBlbmNvZGluZyBpZiBrbm93bicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZScgZmlsZT0neG1sSU8nIG1vZHVsZT0neG1sSU8nPgorICAgICAgPGluZm8+Q3JlYXRlIGEgYnVmZmVyZWQgcGFyc2VyIGlucHV0IGZvciB0aGUgcHJvZ3Jlc3NpdmUgcGFyc2luZyBvZiBhIEZJTEUgKiBidWZmZXJlZCBDIEkvTzwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sUGFyc2VySW5wdXRCdWZmZXJQdHInIGluZm89J3RoZSBuZXcgcGFyc2VyIGlucHV0IG9yIE5VTEwnLz4KKyAgICAgIDxhcmcgbmFtZT0nZmlsZScgdHlwZT0nRklMRSAqJyBpbmZvPSdhIEZJTEUqJy8+CisgICAgICA8YXJnIG5hbWU9J2VuYycgdHlwZT0neG1sQ2hhckVuY29kaW5nJyBpbmZvPSd0aGUgY2hhcnNldCBlbmNvZGluZyBpZiBrbm93bicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWUnIGZpbGU9J3htbElPJyBtb2R1bGU9J3htbElPJz4KKyAgICAgIDxpbmZvPkNyZWF0ZSBhIGJ1ZmZlcmVkIHBhcnNlciBpbnB1dCBmb3IgdGhlIHByb2dyZXNzaXZlIHBhcnNpbmcgb2YgYSBmaWxlIElmIGZpbGVuYW1lIGlzICZxdW90Oy0mYXBvczsgdGhlbiB3ZSB1c2Ugc3RkaW4gYXMgdGhlIGlucHV0LiBBdXRvbWF0aWMgc3VwcG9ydCBmb3IgWkxJQi9Db21wcmVzcyBjb21wcmVzc2VkIGRvY3VtZW50IGlzIHByb3ZpZGVkIGJ5IGRlZmF1bHQgaWYgZm91bmQgYXQgY29tcGlsZS10aW1lLiBEbyBhbiBlbmNvZGluZyBjaGVjayBpZiBlbmMgPT0gWE1MX0NIQVJfRU5DT0RJTkdfTk9ORTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sUGFyc2VySW5wdXRCdWZmZXJQdHInIGluZm89J3RoZSBuZXcgcGFyc2VyIGlucHV0IG9yIE5VTEwnLz4KKyAgICAgIDxhcmcgbmFtZT0nVVJJJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J2EgQyBzdHJpbmcgY29udGFpbmluZyB0aGUgVVJJIG9yIGZpbGVuYW1lJy8+CisgICAgICA8YXJnIG5hbWU9J2VuYycgdHlwZT0neG1sQ2hhckVuY29kaW5nJyBpbmZvPSd0aGUgY2hhcnNldCBlbmNvZGluZyBpZiBrbm93bicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0JyBmaWxlPSdnbG9iYWxzJyBtb2R1bGU9J3htbElPJz4KKyAgICAgIDxpbmZvPlJlZ2lzdGVycyBhIGNhbGxiYWNrIGZvciBVUkkgaW5wdXQgZmlsZSBoYW5kbGluZzwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmMnIGluZm89J3RoZSBvbGQgdmFsdWUgb2YgdGhlIHJlZ2lzdHJhdGlvbiBmdW5jdGlvbicvPgorICAgICAgPGFyZyBuYW1lPSdmdW5jJyB0eXBlPSd4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYycgaW5mbz0nZnVuY3Rpb24gcG9pbnRlciB0byB0aGUgbmV3IFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3R5cGUgbmFtZT0neG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmMnIGZpbGU9J2dsb2JhbHMnIG1vZHVsZT0nZ2xvYmFscyc+CisgICAgICA8aW5mbz5TaWduYXR1cmUgZm9yIHRoZSBmdW5jdGlvbiBkb2luZyB0aGUgbG9va3VwIGZvciBhIHN1aXRhYmxlIGlucHV0IG1ldGhvZCBjb3JyZXNwb25kaW5nIHRvIGFuIFVSSS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbFBhcnNlcklucHV0QnVmZmVyUHRyJyBpbmZvPSd0aGUgbmV3IHhtbFBhcnNlcklucHV0QnVmZmVyUHRyIGluIGNhc2Ugb2Ygc3VjY2VzcyBvciBOVUxMIGlmIG5vIG1ldGhvZCB3YXMgZm91bmQuJy8+CisgICAgICA8YXJnIG5hbWU9J1VSSScgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSd0aGUgVVJJIHRvIHJlYWQgZnJvbScvPgorICAgICAgPGFyZyBuYW1lPSdlbmMnIHR5cGU9J3htbENoYXJFbmNvZGluZycgaW5mbz0ndGhlIHJlcXVlc3RlZCBzb3VyY2UgZW5jb2RpbmcnLz4KKyAgICA8L2Z1bmN0eXBlPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUlPJyBmaWxlPSd4bWxJTycgbW9kdWxlPSd4bWxJTyc+CisgICAgICA8aW5mbz5DcmVhdGUgYSBidWZmZXJlZCBwYXJzZXIgaW5wdXQgZm9yIHRoZSBwcm9ncmVzc2l2ZSBwYXJzaW5nIGZvciB0aGUgaW5wdXQgZnJvbSBhbiBJL08gaGFuZGxlcjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sUGFyc2VySW5wdXRCdWZmZXJQdHInIGluZm89J3RoZSBuZXcgcGFyc2VyIGlucHV0IG9yIE5VTEwnLz4KKyAgICAgIDxhcmcgbmFtZT0naW9yZWFkJyB0eXBlPSd4bWxJbnB1dFJlYWRDYWxsYmFjaycgaW5mbz0nYW4gSS9PIHJlYWQgZnVuY3Rpb24nLz4KKyAgICAgIDxhcmcgbmFtZT0naW9jbG9zZScgdHlwZT0neG1sSW5wdXRDbG9zZUNhbGxiYWNrJyBpbmZvPSdhbiBJL08gY2xvc2UgZnVuY3Rpb24nLz4KKyAgICAgIDxhcmcgbmFtZT0naW9jdHgnIHR5cGU9J3ZvaWQgKicgaW5mbz0nYW4gSS9PIGhhbmRsZXInLz4KKyAgICAgIDxhcmcgbmFtZT0nZW5jJyB0eXBlPSd4bWxDaGFyRW5jb2RpbmcnIGluZm89J3RoZSBjaGFyc2V0IGVuY29kaW5nIGlmIGtub3duJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVNZW0nIGZpbGU9J3htbElPJyBtb2R1bGU9J3htbElPJz4KKyAgICAgIDxpbmZvPkNyZWF0ZSBhIGJ1ZmZlcmVkIHBhcnNlciBpbnB1dCBmb3IgdGhlIHByb2dyZXNzaXZlIHBhcnNpbmcgZm9yIHRoZSBpbnB1dCBmcm9tIGEgbWVtb3J5IGFyZWEuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cicgaW5mbz0ndGhlIG5ldyBwYXJzZXIgaW5wdXQgb3IgTlVMTCcvPgorICAgICAgPGFyZyBuYW1lPSdtZW0nIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIG1lbW9yeSBpbnB1dCcvPgorICAgICAgPGFyZyBuYW1lPSdzaXplJyB0eXBlPSdpbnQnIGluZm89J3RoZSBsZW5ndGggb2YgdGhlIG1lbW9yeSBibG9jaycvPgorICAgICAgPGFyZyBuYW1lPSdlbmMnIHR5cGU9J3htbENoYXJFbmNvZGluZycgaW5mbz0ndGhlIGNoYXJzZXQgZW5jb2RpbmcgaWYga25vd24nLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZVN0YXRpYycgZmlsZT0neG1sSU8nIG1vZHVsZT0neG1sSU8nPgorICAgICAgPGluZm8+Q3JlYXRlIGEgYnVmZmVyZWQgcGFyc2VyIGlucHV0IGZvciB0aGUgcHJvZ3Jlc3NpdmUgcGFyc2luZyBmb3IgdGhlIGlucHV0IGZyb20gYW4gaW1tdXRhYmxlIG1lbW9yeSBhcmVhLiBUaGlzIHdpbGwgbm90IGNvcHkgdGhlIG1lbW9yeSBhcmVhIHRvIHRoZSBidWZmZXIsIGJ1dCB0aGUgbWVtb3J5IGlzIGV4cGVjdGVkIHRvIGJlIGF2YWlsYWJsZSB1bnRpbCB0aGUgZW5kIG9mIHRoZSBwYXJzaW5nLCB0aGlzIGlzIHVzZWZ1bCBmb3IgZXhhbXBsZSB3aGVuIHVzaW5nIG1tYXAmYXBvcztlZCBmaWxlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sUGFyc2VySW5wdXRCdWZmZXJQdHInIGluZm89J3RoZSBuZXcgcGFyc2VyIGlucHV0IG9yIE5VTEwnLz4KKyAgICAgIDxhcmcgbmFtZT0nbWVtJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBtZW1vcnkgaW5wdXQnLz4KKyAgICAgIDxhcmcgbmFtZT0nc2l6ZScgdHlwZT0naW50JyBpbmZvPSd0aGUgbGVuZ3RoIG9mIHRoZSBtZW1vcnkgYmxvY2snLz4KKyAgICAgIDxhcmcgbmFtZT0nZW5jJyB0eXBlPSd4bWxDaGFyRW5jb2RpbmcnIGluZm89J3RoZSBjaGFyc2V0IGVuY29kaW5nIGlmIGtub3duJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sUGFyc2VySW5wdXRCdWZmZXJHcm93JyBmaWxlPSd4bWxJTycgbW9kdWxlPSd4bWxJTyc+CisgICAgICA8aW5mbz5Hcm93IHVwIHRoZSBjb250ZW50IG9mIHRoZSBpbnB1dCBidWZmZXIsIHRoZSBvbGQgZGF0YSBhcmUgcHJlc2VydmVkIFRoaXMgcm91dGluZSBoYW5kbGUgdGhlIEkxOE4gdHJhbnNjb2RpbmcgdG8gaW50ZXJuYWwgVVRGLTggVGhpcyByb3V0aW5lIGlzIHVzZWQgd2hlbiBvcGVyYXRpbmcgdGhlIHBhcnNlciBpbiBub3JtYWwgKHB1bGwpIG1vZGUgIFRPRE86IG9uZSBzaG91bGQgYmUgYWJsZSB0byByZW1vdmUgb25lIGV4dHJhIGNvcHkgYnkgY29weWluZyBkaXJlY3RseSBvbnRvIGluLSZndDtidWZmZXIgb3IgaW4tJmd0O3JhdzwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgbnVtYmVyIG9mIGNoYXJzIHJlYWQgYW5kIHN0b3JlZCBpbiB0aGUgYnVmZmVyLCBvciAtMSBpbiBjYXNlIG9mIGVycm9yLicvPgorICAgICAgPGFyZyBuYW1lPSdpbicgdHlwZT0neG1sUGFyc2VySW5wdXRCdWZmZXJQdHInIGluZm89J2EgYnVmZmVyZWQgcGFyc2VyIGlucHV0Jy8+CisgICAgICA8YXJnIG5hbWU9J2xlbicgdHlwZT0naW50JyBpbmZvPSdpbmRpY2F0aXZlIHZhbHVlIG9mIHRoZSBhbW91bnQgb2YgY2hhcnMgdG8gcmVhZCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyUHVzaCcgZmlsZT0neG1sSU8nIG1vZHVsZT0neG1sSU8nPgorICAgICAgPGluZm8+UHVzaCB0aGUgY29udGVudCBvZiB0aGUgYXJyeSBpbiB0aGUgaW5wdXQgYnVmZmVyIFRoaXMgcm91dGluZSBoYW5kbGUgdGhlIEkxOE4gdHJhbnNjb2RpbmcgdG8gaW50ZXJuYWwgVVRGLTggVGhpcyBpcyB1c2VkIHdoZW4gb3BlcmF0aW5nIHRoZSBwYXJzZXIgaW4gcHJvZ3Jlc3NpdmUgKHB1c2gpIG1vZGUuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J3RoZSBudW1iZXIgb2YgY2hhcnMgcmVhZCBhbmQgc3RvcmVkIGluIHRoZSBidWZmZXIsIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IuJy8+CisgICAgICA8YXJnIG5hbWU9J2luJyB0eXBlPSd4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cicgaW5mbz0nYSBidWZmZXJlZCBwYXJzZXIgaW5wdXQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbGVuJyB0eXBlPSdpbnQnIGluZm89J3RoZSBzaXplIGluIGJ5dGVzIG9mIHRoZSBhcnJheS4nLz4KKyAgICAgIDxhcmcgbmFtZT0nYnVmJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J2FuIGNoYXIgYXJyYXknLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxQYXJzZXJJbnB1dEJ1ZmZlclJlYWQnIGZpbGU9J3htbElPJyBtb2R1bGU9J3htbElPJz4KKyAgICAgIDxpbmZvPlJlZnJlc2ggdGhlIGNvbnRlbnQgb2YgdGhlIGlucHV0IGJ1ZmZlciwgdGhlIG9sZCBkYXRhIGFyZSBjb25zaWRlcmVkIGNvbnN1bWVkIFRoaXMgcm91dGluZSBoYW5kbGUgdGhlIEkxOE4gdHJhbnNjb2RpbmcgdG8gaW50ZXJuYWwgVVRGLTg8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndGhlIG51bWJlciBvZiBjaGFycyByZWFkIGFuZCBzdG9yZWQgaW4gdGhlIGJ1ZmZlciwgb3IgLTEgaW4gY2FzZSBvZiBlcnJvci4nLz4KKyAgICAgIDxhcmcgbmFtZT0naW4nIHR5cGU9J3htbFBhcnNlcklucHV0QnVmZmVyUHRyJyBpbmZvPSdhIGJ1ZmZlcmVkIHBhcnNlciBpbnB1dCcvPgorICAgICAgPGFyZyBuYW1lPSdsZW4nIHR5cGU9J2ludCcgaW5mbz0naW5kaWNhdGl2ZSB2YWx1ZSBvZiB0aGUgYW1vdW50IG9mIGNoYXJzIHRvIHJlYWQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdHlwZSBuYW1lPSd4bWxQYXJzZXJJbnB1dERlYWxsb2NhdGUnIGZpbGU9J3BhcnNlcicgbW9kdWxlPSdwYXJzZXInPgorICAgICAgPGluZm8+Q2FsbGJhY2sgZm9yIGZyZWVpbmcgc29tZSBwYXJzZXIgaW5wdXQgYWxsb2NhdGlvbnMuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J3N0cicgdHlwZT0neG1sQ2hhciAqJyBpbmZvPSd0aGUgc3RyaW5nIHRvIGRlYWxsb2NhdGUnLz4KKyAgICA8L2Z1bmN0eXBlPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxQYXJzZXJJbnB1dEdyb3cnIGZpbGU9J3BhcnNlcicgbW9kdWxlPSdwYXJzZXJJbnRlcm5hbHMnPgorICAgICAgPGluZm8+VGhpcyBmdW5jdGlvbiBpbmNyZWFzZSB0aGUgaW5wdXQgZm9yIHRoZSBwYXJzZXIuIEl0IHRyaWVzIHRvIHByZXNlcnZlIHBvaW50ZXJzIHRvIHRoZSBpbnB1dCBidWZmZXIsIGFuZCBrZWVwIGFscmVhZHkgcmVhZCBkYXRhPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J3RoZSBhbW91bnQgb2YgY2hhciByZWFkLCBvciAtMSBpbiBjYXNlIG9mIGVycm9yLCAwIGluZGljYXRlIHRoZSBlbmQgb2YgdGhpcyBlbnRpdHknLz4KKyAgICAgIDxhcmcgbmFtZT0naW4nIHR5cGU9J3htbFBhcnNlcklucHV0UHRyJyBpbmZvPSdhbiBYTUwgcGFyc2VyIGlucHV0Jy8+CisgICAgICA8YXJnIG5hbWU9J2xlbicgdHlwZT0naW50JyBpbmZvPSdhbiBpbmRpY2F0aXZlIHNpemUgZm9yIHRoZSBsb29rYWhlYWQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxQYXJzZXJJbnB1dFJlYWQnIGZpbGU9J3BhcnNlcicgbW9kdWxlPSdwYXJzZXJJbnRlcm5hbHMnPgorICAgICAgPGluZm8+VGhpcyBmdW5jdGlvbiB3YXMgaW50ZXJuYWwgYW5kIGlzIGRlcHJlY2F0ZWQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89Jy0xIGFzIHRoaXMgaXMgYW4gZXJyb3IgdG8gdXNlIGl0LicvPgorICAgICAgPGFyZyBuYW1lPSdpbicgdHlwZT0neG1sUGFyc2VySW5wdXRQdHInIGluZm89J2FuIFhNTCBwYXJzZXIgaW5wdXQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbGVuJyB0eXBlPSdpbnQnIGluZm89J2FuIGluZGljYXRpdmUgc2l6ZSBmb3IgdGhlIGxvb2thaGVhZCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFBhcnNlcklucHV0U2hyaW5rJyBmaWxlPSdwYXJzZXJJbnRlcm5hbHMnIG1vZHVsZT0ncGFyc2VySW50ZXJuYWxzJz4KKyAgICAgIDxpbmZvPlRoaXMgZnVuY3Rpb24gcmVtb3ZlcyB1c2VkIGlucHV0IGZvciB0aGUgcGFyc2VyLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdpbicgdHlwZT0neG1sUGFyc2VySW5wdXRQdHInIGluZm89J2FuIFhNTCBwYXJzZXIgaW5wdXQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxQYXJzZXJQcmludEZpbGVDb250ZXh0JyBmaWxlPSd4bWxlcnJvcicgbW9kdWxlPSdlcnJvcic+CisgICAgICA8aW5mbz5EaXNwbGF5cyBjdXJyZW50IGNvbnRleHQgd2l0aGluIHRoZSBpbnB1dCBjb250ZW50IGZvciBlcnJvciB0cmFja2luZzwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdpbnB1dCcgdHlwZT0neG1sUGFyc2VySW5wdXRQdHInIGluZm89J2FuIHhtbFBhcnNlcklucHV0UHRyIGlucHV0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sUGFyc2VyUHJpbnRGaWxlSW5mbycgZmlsZT0neG1sZXJyb3InIG1vZHVsZT0nZXJyb3InPgorICAgICAgPGluZm8+RGlzcGxheXMgdGhlIGFzc29jaWF0ZWQgZmlsZSBhbmQgbGluZSBpbmZvcm1hdGlvbnMgZm9yIHRoZSBjdXJyZW50IGlucHV0PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2lucHV0JyB0eXBlPSd4bWxQYXJzZXJJbnB1dFB0cicgaW5mbz0nYW4geG1sUGFyc2VySW5wdXRQdHIgaW5wdXQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxQYXJzZXJWYWxpZGl0eUVycm9yJyBmaWxlPSd4bWxlcnJvcicgbW9kdWxlPSdlcnJvcic+CisgICAgICA8aW5mbz5EaXNwbGF5IGFuZCBmb3JtYXQgYW4gdmFsaWRpdHkgZXJyb3IgbWVzc2FnZXMsIGdpdmVzIGZpbGUsIGxpbmUsIHBvc2l0aW9uIGFuZCBleHRyYSBwYXJhbWV0ZXJzLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHgnIHR5cGU9J3ZvaWQgKicgaW5mbz0nYW4gWE1MIHBhcnNlciBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J21zZycgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSd0aGUgbWVzc2FnZSB0byBkaXNwbGF5L3RyYW5zbWl0Jy8+CisgICAgICA8YXJnIG5hbWU9Jy4uLicgdHlwZT0nLi4uJyBpbmZvPSdleHRyYSBwYXJhbWV0ZXJzIGZvciB0aGUgbWVzc2FnZSBkaXNwbGF5Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sUGFyc2VyVmFsaWRpdHlXYXJuaW5nJyBmaWxlPSd4bWxlcnJvcicgbW9kdWxlPSdlcnJvcic+CisgICAgICA8aW5mbz5EaXNwbGF5IGFuZCBmb3JtYXQgYSB2YWxpZGl0eSB3YXJuaW5nIG1lc3NhZ2VzLCBnaXZlcyBmaWxlLCBsaW5lLCBwb3NpdGlvbiBhbmQgZXh0cmEgcGFyYW1ldGVycy48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4JyB0eXBlPSd2b2lkIConIGluZm89J2FuIFhNTCBwYXJzZXIgY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdtc2cnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIG1lc3NhZ2UgdG8gZGlzcGxheS90cmFuc21pdCcvPgorICAgICAgPGFyZyBuYW1lPScuLi4nIHR5cGU9Jy4uLicgaW5mbz0nZXh0cmEgcGFyYW1ldGVycyBmb3IgdGhlIG1lc3NhZ2UgZGlzcGxheScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFBhcnNlcldhcm5pbmcnIGZpbGU9J3htbGVycm9yJyBtb2R1bGU9J2Vycm9yJz4KKyAgICAgIDxpbmZvPkRpc3BsYXkgYW5kIGZvcm1hdCBhIHdhcm5pbmcgbWVzc2FnZXMsIGdpdmVzIGZpbGUsIGxpbmUsIHBvc2l0aW9uIGFuZCBleHRyYSBwYXJhbWV0ZXJzLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHgnIHR5cGU9J3ZvaWQgKicgaW5mbz0nYW4gWE1MIHBhcnNlciBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J21zZycgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSd0aGUgbWVzc2FnZSB0byBkaXNwbGF5L3RyYW5zbWl0Jy8+CisgICAgICA8YXJnIG5hbWU9Jy4uLicgdHlwZT0nLi4uJyBpbmZvPSdleHRyYSBwYXJhbWV0ZXJzIGZvciB0aGUgbWVzc2FnZSBkaXNwbGF5Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sUGF0aFRvVVJJJyBmaWxlPSd1cmknIG1vZHVsZT0ndXJpJz4KKyAgICAgIDxpbmZvPkNvbnN0cnVjdHMgYW4gVVJJIGV4cHJlc3NpbmcgdGhlIGV4aXN0aW5nIHBhdGg8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbENoYXIgKicgaW5mbz0nYSBuZXcgVVJJLCBvciBhIGR1cGxpY2F0ZSBvZiB0aGUgcGF0aCBwYXJhbWV0ZXIgaWYgdGhlIGNvbnN0cnVjdGlvbiBmYWlscy4gVGhlIGNhbGxlciBpcyByZXNwb25zaWJsZSBmb3IgZnJlZWluZyB0aGUgbWVtb3J5IG9jY3VwaWVkIGJ5IHRoZSByZXR1cm5lZCBzdHJpbmcuIElmIHRoZXJlIGlzIGluc3VmZmljaWVudCBtZW1vcnkgYXZhaWxhYmxlLCBvciB0aGUgYXJndW1lbnQgaXMgTlVMTCwgdGhlIGZ1bmN0aW9uIHJldHVybnMgTlVMTC4nLz4KKyAgICAgIDxhcmcgbmFtZT0ncGF0aCcgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgcmVzb3VyY2UgbG9jYXRvciBpbiBhIGZpbGVzeXN0ZW0gbm90YXRpb24nLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxQYXR0ZXJuRnJvbVJvb3QnIGZpbGU9J3BhdHRlcm4nIG1vZHVsZT0ncGF0dGVybic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9QQVRURVJOX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgaWYgdGhlIHBhdHRlcm4gbXVzdCBiZSBsb29rZWQgYXQgZnJvbSB0aGUgcm9vdC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB0cnVlLCAwIGlmIGZhbHNlIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J2NvbXAnIHR5cGU9J3htbFBhdHRlcm5QdHInIGluZm89J3RoZSBwcmVjb21waWxlZCBwYXR0ZXJuJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sUGF0dGVybkdldFN0cmVhbUN0eHQnIGZpbGU9J3BhdHRlcm4nIG1vZHVsZT0ncGF0dGVybic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9QQVRURVJOX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+R2V0IGEgc3RyZWFtaW5nIGNvbnRleHQgZm9yIHRoYXQgcGF0dGVybiBVc2UgeG1sRnJlZVN0cmVhbUN0eHQgdG8gZnJlZSB0aGUgY29udGV4dC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbFN0cmVhbUN0eHRQdHInIGluZm89J2EgcG9pbnRlciB0byB0aGUgY29udGV4dCBvciBOVUxMIGluIGNhc2Ugb2YgZmFpbHVyZScvPgorICAgICAgPGFyZyBuYW1lPSdjb21wJyB0eXBlPSd4bWxQYXR0ZXJuUHRyJyBpbmZvPSd0aGUgcHJlY29tcGlsZWQgcGF0dGVybicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFBhdHRlcm5NYXRjaCcgZmlsZT0ncGF0dGVybicgbW9kdWxlPSdwYXR0ZXJuJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1BBVFRFUk5fRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5UZXN0IHdoZXRoZXIgdGhlIG5vZGUgbWF0Y2hlcyB0aGUgcGF0dGVybjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIGl0IG1hdGNoZXMsIDAgaWYgaXQgZG9lc24mYXBvczt0IGFuZCAtMSBpbiBjYXNlIG9mIGZhaWx1cmUnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29tcCcgdHlwZT0neG1sUGF0dGVyblB0cicgaW5mbz0ndGhlIHByZWNvbXBpbGVkIHBhdHRlcm4nLz4KKyAgICAgIDxhcmcgbmFtZT0nbm9kZScgdHlwZT0neG1sTm9kZVB0cicgaW5mbz0nYSBub2RlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sUGF0dGVybk1heERlcHRoJyBmaWxlPSdwYXR0ZXJuJyBtb2R1bGU9J3BhdHRlcm4nPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfUEFUVEVSTl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNoZWNrIHRoZSBtYXhpbXVtIGRlcHRoIHJlYWNoYWJsZSBieSBhIHBhdHRlcm48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nLTIgaWYgbm8gbGltaXQgKHVzaW5nIC8vKSwgb3RoZXJ3aXNlIHRoZSBkZXB0aCwgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0nY29tcCcgdHlwZT0neG1sUGF0dGVyblB0cicgaW5mbz0ndGhlIHByZWNvbXBpbGVkIHBhdHRlcm4nLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxQYXR0ZXJuTWluRGVwdGgnIGZpbGU9J3BhdHRlcm4nIG1vZHVsZT0ncGF0dGVybic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9QQVRURVJOX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgdGhlIG1pbmltdW0gZGVwdGggcmVhY2hhYmxlIGJ5IGEgcGF0dGVybiwgMCBtZWFuIHRoZSAvIG9yIC4gYXJlIHBhcnQgb2YgdGhlIHNldC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nLTEgaW4gY2FzZSBvZiBlcnJvciBvdGhlcndpc2UgdGhlIGRlcHRoLCcvPgorICAgICAgPGFyZyBuYW1lPSdjb21wJyB0eXBlPSd4bWxQYXR0ZXJuUHRyJyBpbmZvPSd0aGUgcHJlY29tcGlsZWQgcGF0dGVybicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFBhdHRlcm5TdHJlYW1hYmxlJyBmaWxlPSdwYXR0ZXJuJyBtb2R1bGU9J3BhdHRlcm4nPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfUEFUVEVSTl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNoZWNrIGlmIHRoZSBwYXR0ZXJuIGlzIHN0cmVhbWFibGUgaS5lLiB4bWxQYXR0ZXJuR2V0U3RyZWFtQ3R4dCgpIHNob3VsZCB3b3JrLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHN0cmVhbWFibGUsIDAgaWYgbm90IGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yLicvPgorICAgICAgPGFyZyBuYW1lPSdjb21wJyB0eXBlPSd4bWxQYXR0ZXJuUHRyJyBpbmZvPSd0aGUgcHJlY29tcGlsZWQgcGF0dGVybicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFBhdHRlcm5jb21waWxlJyBmaWxlPSdwYXR0ZXJuJyBtb2R1bGU9J3BhdHRlcm4nPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfUEFUVEVSTl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNvbXBpbGUgYSBwYXR0ZXJuLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sUGF0dGVyblB0cicgaW5mbz0ndGhlIGNvbXBpbGVkIGZvcm0gb2YgdGhlIHBhdHRlcm4gb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J3BhdHRlcm4nIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIHBhdHRlcm4gdG8gY29tcGlsZScvPgorICAgICAgPGFyZyBuYW1lPSdkaWN0JyB0eXBlPSd4bWxEaWN0IConIGluZm89J2FuIG9wdGlvbmFsIGRpY3Rpb25hcnkgZm9yIGludGVybmVkIHN0cmluZ3MnLz4KKyAgICAgIDxhcmcgbmFtZT0nZmxhZ3MnIHR5cGU9J2ludCcgaW5mbz0nY29tcGlsYXRpb24gZmxhZ3MsIHNlZSB4bWxQYXR0ZXJuRmxhZ3MnLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFtZXNwYWNlcycgdHlwZT0nY29uc3QgeG1sQ2hhciAqKicgaW5mbz0ndGhlIHByZWZpeCBkZWZpbml0aW9ucywgYXJyYXkgb2YgW1VSSSwgcHJlZml4XSBvciBOVUxMJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sUGVkYW50aWNQYXJzZXJEZWZhdWx0JyBmaWxlPSdwYXJzZXInIG1vZHVsZT0ncGFyc2VySW50ZXJuYWxzJz4KKyAgICAgIDxpbmZvPlNldCBhbmQgcmV0dXJuIHRoZSBwcmV2aW91cyB2YWx1ZSBmb3IgZW5hYmxpbmcgcGVkYW50aWMgd2FybmluZ3MuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J3RoZSBsYXN0IHZhbHVlIGZvciAwIGZvciBubyBzdWJzdGl0dXRpb24sIDEgZm9yIHN1YnN0aXR1dGlvbi4nLz4KKyAgICAgIDxhcmcgbmFtZT0ndmFsJyB0eXBlPSdpbnQnIGluZm89J2ludCAwIG9yIDEnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxQb3BJbnB1dCcgZmlsZT0ncGFyc2VySW50ZXJuYWxzJyBtb2R1bGU9J3BhcnNlcic+CisgICAgICA8aW5mbz54bWxQb3BJbnB1dDogdGhlIGN1cnJlbnQgaW5wdXQgcG9pbnRlZCBieSBjdHh0LSZndDtpbnB1dCBjYW1lIHRvIGFuIGVuZCBwb3AgaXQgYW5kIHJldHVybiB0aGUgbmV4dCBjaGFyLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sQ2hhcicgaW5mbz0ndGhlIGN1cnJlbnQgeG1sQ2hhciBpbiB0aGUgcGFyc2VyIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sUGFyc2VyQ3R4dFB0cicgaW5mbz0nYW4gWE1MIHBhcnNlciBjb250ZXh0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sUG9wSW5wdXRDYWxsYmFja3MnIGZpbGU9J3htbElPJyBtb2R1bGU9J3htbElPJz4KKyAgICAgIDxpbmZvPkNsZWFyIHRoZSB0b3AgaW5wdXQgY2FsbGJhY2sgZnJvbSB0aGUgaW5wdXQgc3RhY2suIHRoaXMgaW5jbHVkZXMgdGhlIGNvbXBpbGVkLWluIEkvTy48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndGhlIG51bWJlciBvZiBpbnB1dCBjYWxsYmFjayByZWdpc3RlcmVkIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IuJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sUHJldmlvdXNFbGVtZW50U2libGluZycgZmlsZT0ndHJlZScgbW9kdWxlPSd0cmVlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5GaW5kcyB0aGUgZmlyc3QgY2xvc2VzdCBwcmV2aW91cyBzaWJsaW5nIG9mIHRoZSBub2RlIHdoaWNoIGlzIGFuIGVsZW1lbnQgbm9kZS4gTm90ZSB0aGUgaGFuZGxpbmcgb2YgZW50aXRpZXMgcmVmZXJlbmNlcyBpcyBkaWZmZXJlbnQgdGhhbiBpbiB0aGUgVzNDIERPTSBlbGVtZW50IHRyYXZlcnNhbCBzcGVjIHNpbmNlIHdlIGRvbiZhcG9zO3QgaGF2ZSBiYWNrIHJlZmVyZW5jZSBmcm9tIGVudGl0aWVzIGNvbnRlbnQgdG8gZW50aXRpZXMgcmVmZXJlbmNlcy48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3RoZSBwcmV2aW91cyBlbGVtZW50IHNpYmxpbmcgb3IgTlVMTCBpZiBub3QgYXZhaWxhYmxlJy8+CisgICAgICA8YXJnIG5hbWU9J25vZGUnIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3RoZSBjdXJyZW50IG5vZGUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxQcmludFVSSScgZmlsZT0ndXJpJyBtb2R1bGU9J3VyaSc+CisgICAgICA8aW5mbz5QcmludHMgdGhlIFVSSSBpbiB0aGUgc3RyZWFtIEBzdHJlYW0uPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J3N0cmVhbScgdHlwZT0nRklMRSAqJyBpbmZvPSdhIEZJTEUqIGZvciB0aGUgb3V0cHV0Jy8+CisgICAgICA8YXJnIG5hbWU9J3VyaScgdHlwZT0neG1sVVJJUHRyJyBpbmZvPSdwb2ludGVyIHRvIGFuIHhtbFVSSScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFB1c2hJbnB1dCcgZmlsZT0ncGFyc2VySW50ZXJuYWxzJyBtb2R1bGU9J3BhcnNlcic+CisgICAgICA8aW5mbz54bWxQdXNoSW5wdXQ6IHN3aXRjaCB0byBhIG5ldyBpbnB1dCBzdHJlYW0gd2hpY2ggaXMgc3RhY2tlZCBvbiB0b3Agb2YgdGhlIHByZXZpb3VzIG9uZShzKS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nLTEgaW4gY2FzZSBvZiBlcnJvciBvciB0aGUgaW5kZXggaW4gdGhlIGlucHV0IHN0YWNrJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFBhcnNlckN0eHRQdHInIGluZm89J2FuIFhNTCBwYXJzZXIgY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdpbnB1dCcgdHlwZT0neG1sUGFyc2VySW5wdXRQdHInIGluZm89J2FuIFhNTCBwYXJzZXIgaW5wdXQgZnJhZ21lbnQgKGVudGl0eSwgWE1MIGZyYWdtZW50IC4uLikuJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sUk11dGV4TG9jaycgZmlsZT0ndGhyZWFkcycgbW9kdWxlPSd0aHJlYWRzJz4KKyAgICAgIDxpbmZvPnhtbFJNdXRleExvY2soKSBpcyB1c2VkIHRvIGxvY2sgYSBsaWJ4bWwyIHRva2VuX3IuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J3RvaycgdHlwZT0neG1sUk11dGV4UHRyJyBpbmZvPSd0aGUgcmVlbnRyYW50IG11dGV4Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sUk11dGV4VW5sb2NrJyBmaWxlPSd0aHJlYWRzJyBtb2R1bGU9J3RocmVhZHMnPgorICAgICAgPGluZm8+eG1sUk11dGV4VW5sb2NrKCkgaXMgdXNlZCB0byB1bmxvY2sgYSBsaWJ4bWwyIHRva2VuX3IuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J3RvaycgdHlwZT0neG1sUk11dGV4UHRyJyBpbmZvPSd0aGUgcmVlbnRyYW50IG11dGV4Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sUmVhZERvYycgZmlsZT0ncGFyc2VyJyBtb2R1bGU9J3BhcnNlcic+CisgICAgICA8aW5mbz5wYXJzZSBhbiBYTUwgaW4tbWVtb3J5IGRvY3VtZW50IGFuZCBidWlsZCBhIHRyZWUuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxEb2NQdHInIGluZm89J3RoZSByZXN1bHRpbmcgZG9jdW1lbnQgdHJlZScvPgorICAgICAgPGFyZyBuYW1lPSdjdXInIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nYSBwb2ludGVyIHRvIGEgemVybyB0ZXJtaW5hdGVkIHN0cmluZycvPgorICAgICAgPGFyZyBuYW1lPSdVUkwnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIGJhc2UgVVJMIHRvIHVzZSBmb3IgdGhlIGRvY3VtZW50Jy8+CisgICAgICA8YXJnIG5hbWU9J2VuY29kaW5nJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTCcvPgorICAgICAgPGFyZyBuYW1lPSdvcHRpb25zJyB0eXBlPSdpbnQnIGluZm89J2EgY29tYmluYXRpb24gb2YgeG1sUGFyc2VyT3B0aW9uJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sUmVhZEZkJyBmaWxlPSdwYXJzZXInIG1vZHVsZT0ncGFyc2VyJz4KKyAgICAgIDxpbmZvPnBhcnNlIGFuIFhNTCBmcm9tIGEgZmlsZSBkZXNjcmlwdG9yIGFuZCBidWlsZCBhIHRyZWUuIE5PVEUgdGhhdCB0aGUgZmlsZSBkZXNjcmlwdG9yIHdpbGwgbm90IGJlIGNsb3NlZCB3aGVuIHRoZSByZWFkZXIgaXMgY2xvc2VkIG9yIHJlc2V0LjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sRG9jUHRyJyBpbmZvPSd0aGUgcmVzdWx0aW5nIGRvY3VtZW50IHRyZWUnLz4KKyAgICAgIDxhcmcgbmFtZT0nZmQnIHR5cGU9J2ludCcgaW5mbz0nYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3InLz4KKyAgICAgIDxhcmcgbmFtZT0nVVJMJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBiYXNlIFVSTCB0byB1c2UgZm9yIHRoZSBkb2N1bWVudCcvPgorICAgICAgPGFyZyBuYW1lPSdlbmNvZGluZycgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSd0aGUgZG9jdW1lbnQgZW5jb2RpbmcsIG9yIE5VTEwnLz4KKyAgICAgIDxhcmcgbmFtZT0nb3B0aW9ucycgdHlwZT0naW50JyBpbmZvPSdhIGNvbWJpbmF0aW9uIG9mIHhtbFBhcnNlck9wdGlvbicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFJlYWRGaWxlJyBmaWxlPSdwYXJzZXInIG1vZHVsZT0ncGFyc2VyJz4KKyAgICAgIDxpbmZvPnBhcnNlIGFuIFhNTCBmaWxlIGZyb20gdGhlIGZpbGVzeXN0ZW0gb3IgdGhlIG5ldHdvcmsuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxEb2NQdHInIGluZm89J3RoZSByZXN1bHRpbmcgZG9jdW1lbnQgdHJlZScvPgorICAgICAgPGFyZyBuYW1lPSdmaWxlbmFtZScgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSdhIGZpbGUgb3IgVVJMJy8+CisgICAgICA8YXJnIG5hbWU9J2VuY29kaW5nJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTCcvPgorICAgICAgPGFyZyBuYW1lPSdvcHRpb25zJyB0eXBlPSdpbnQnIGluZm89J2EgY29tYmluYXRpb24gb2YgeG1sUGFyc2VyT3B0aW9uJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sUmVhZElPJyBmaWxlPSdwYXJzZXInIG1vZHVsZT0ncGFyc2VyJz4KKyAgICAgIDxpbmZvPnBhcnNlIGFuIFhNTCBkb2N1bWVudCBmcm9tIEkvTyBmdW5jdGlvbnMgYW5kIHNvdXJjZSBhbmQgYnVpbGQgYSB0cmVlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sRG9jUHRyJyBpbmZvPSd0aGUgcmVzdWx0aW5nIGRvY3VtZW50IHRyZWUnLz4KKyAgICAgIDxhcmcgbmFtZT0naW9yZWFkJyB0eXBlPSd4bWxJbnB1dFJlYWRDYWxsYmFjaycgaW5mbz0nYW4gSS9PIHJlYWQgZnVuY3Rpb24nLz4KKyAgICAgIDxhcmcgbmFtZT0naW9jbG9zZScgdHlwZT0neG1sSW5wdXRDbG9zZUNhbGxiYWNrJyBpbmZvPSdhbiBJL08gY2xvc2UgZnVuY3Rpb24nLz4KKyAgICAgIDxhcmcgbmFtZT0naW9jdHgnIHR5cGU9J3ZvaWQgKicgaW5mbz0nYW4gSS9PIGhhbmRsZXInLz4KKyAgICAgIDxhcmcgbmFtZT0nVVJMJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBiYXNlIFVSTCB0byB1c2UgZm9yIHRoZSBkb2N1bWVudCcvPgorICAgICAgPGFyZyBuYW1lPSdlbmNvZGluZycgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSd0aGUgZG9jdW1lbnQgZW5jb2RpbmcsIG9yIE5VTEwnLz4KKyAgICAgIDxhcmcgbmFtZT0nb3B0aW9ucycgdHlwZT0naW50JyBpbmZvPSdhIGNvbWJpbmF0aW9uIG9mIHhtbFBhcnNlck9wdGlvbicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFJlYWRNZW1vcnknIGZpbGU9J3BhcnNlcicgbW9kdWxlPSdwYXJzZXInPgorICAgICAgPGluZm8+cGFyc2UgYW4gWE1MIGluLW1lbW9yeSBkb2N1bWVudCBhbmQgYnVpbGQgYSB0cmVlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sRG9jUHRyJyBpbmZvPSd0aGUgcmVzdWx0aW5nIGRvY3VtZW50IHRyZWUnLz4KKyAgICAgIDxhcmcgbmFtZT0nYnVmZmVyJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J2EgcG9pbnRlciB0byBhIGNoYXIgYXJyYXknLz4KKyAgICAgIDxhcmcgbmFtZT0nc2l6ZScgdHlwZT0naW50JyBpbmZvPSd0aGUgc2l6ZSBvZiB0aGUgYXJyYXknLz4KKyAgICAgIDxhcmcgbmFtZT0nVVJMJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBiYXNlIFVSTCB0byB1c2UgZm9yIHRoZSBkb2N1bWVudCcvPgorICAgICAgPGFyZyBuYW1lPSdlbmNvZGluZycgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSd0aGUgZG9jdW1lbnQgZW5jb2RpbmcsIG9yIE5VTEwnLz4KKyAgICAgIDxhcmcgbmFtZT0nb3B0aW9ucycgdHlwZT0naW50JyBpbmZvPSdhIGNvbWJpbmF0aW9uIG9mIHhtbFBhcnNlck9wdGlvbicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFJlYWRlckZvckRvYycgZmlsZT0neG1scmVhZGVyJyBtb2R1bGU9J3htbHJlYWRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DcmVhdGUgYW4geG1sdGV4dFJlYWRlciBmb3IgYW4gWE1MIGluLW1lbW9yeSBkb2N1bWVudC4gVGhlIHBhcnNpbmcgZmxhZ3MgQG9wdGlvbnMgYXJlIGEgY29tYmluYXRpb24gb2YgeG1sUGFyc2VyT3B0aW9uLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sVGV4dFJlYWRlclB0cicgaW5mbz0ndGhlIG5ldyByZWFkZXIgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLicvPgorICAgICAgPGFyZyBuYW1lPSdjdXInIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nYSBwb2ludGVyIHRvIGEgemVybyB0ZXJtaW5hdGVkIHN0cmluZycvPgorICAgICAgPGFyZyBuYW1lPSdVUkwnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIGJhc2UgVVJMIHRvIHVzZSBmb3IgdGhlIGRvY3VtZW50Jy8+CisgICAgICA8YXJnIG5hbWU9J2VuY29kaW5nJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTCcvPgorICAgICAgPGFyZyBuYW1lPSdvcHRpb25zJyB0eXBlPSdpbnQnIGluZm89J2EgY29tYmluYXRpb24gb2YgeG1sUGFyc2VyT3B0aW9uJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sUmVhZGVyRm9yRmQnIGZpbGU9J3htbHJlYWRlcicgbW9kdWxlPSd4bWxyZWFkZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q3JlYXRlIGFuIHhtbHRleHRSZWFkZXIgZm9yIGFuIFhNTCBmcm9tIGEgZmlsZSBkZXNjcmlwdG9yLiBUaGUgcGFyc2luZyBmbGFncyBAb3B0aW9ucyBhcmUgYSBjb21iaW5hdGlvbiBvZiB4bWxQYXJzZXJPcHRpb24uIE5PVEUgdGhhdCB0aGUgZmlsZSBkZXNjcmlwdG9yIHdpbGwgbm90IGJlIGNsb3NlZCB3aGVuIHRoZSByZWFkZXIgaXMgY2xvc2VkIG9yIHJlc2V0LjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sVGV4dFJlYWRlclB0cicgaW5mbz0ndGhlIG5ldyByZWFkZXIgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLicvPgorICAgICAgPGFyZyBuYW1lPSdmZCcgdHlwZT0naW50JyBpbmZvPSdhbiBvcGVuIGZpbGUgZGVzY3JpcHRvcicvPgorICAgICAgPGFyZyBuYW1lPSdVUkwnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIGJhc2UgVVJMIHRvIHVzZSBmb3IgdGhlIGRvY3VtZW50Jy8+CisgICAgICA8YXJnIG5hbWU9J2VuY29kaW5nJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTCcvPgorICAgICAgPGFyZyBuYW1lPSdvcHRpb25zJyB0eXBlPSdpbnQnIGluZm89J2EgY29tYmluYXRpb24gb2YgeG1sUGFyc2VyT3B0aW9uJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sUmVhZGVyRm9yRmlsZScgZmlsZT0neG1scmVhZGVyJyBtb2R1bGU9J3htbHJlYWRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5wYXJzZSBhbiBYTUwgZmlsZSBmcm9tIHRoZSBmaWxlc3lzdGVtIG9yIHRoZSBuZXR3b3JrLiBUaGUgcGFyc2luZyBmbGFncyBAb3B0aW9ucyBhcmUgYSBjb21iaW5hdGlvbiBvZiB4bWxQYXJzZXJPcHRpb24uPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxUZXh0UmVhZGVyUHRyJyBpbmZvPSd0aGUgbmV3IHJlYWRlciBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuJy8+CisgICAgICA8YXJnIG5hbWU9J2ZpbGVuYW1lJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J2EgZmlsZSBvciBVUkwnLz4KKyAgICAgIDxhcmcgbmFtZT0nZW5jb2RpbmcnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIGRvY3VtZW50IGVuY29kaW5nLCBvciBOVUxMJy8+CisgICAgICA8YXJnIG5hbWU9J29wdGlvbnMnIHR5cGU9J2ludCcgaW5mbz0nYSBjb21iaW5hdGlvbiBvZiB4bWxQYXJzZXJPcHRpb24nLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxSZWFkZXJGb3JJTycgZmlsZT0neG1scmVhZGVyJyBtb2R1bGU9J3htbHJlYWRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DcmVhdGUgYW4geG1sdGV4dFJlYWRlciBmb3IgYW4gWE1MIGRvY3VtZW50IGZyb20gSS9PIGZ1bmN0aW9ucyBhbmQgc291cmNlLiBUaGUgcGFyc2luZyBmbGFncyBAb3B0aW9ucyBhcmUgYSBjb21iaW5hdGlvbiBvZiB4bWxQYXJzZXJPcHRpb24uPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxUZXh0UmVhZGVyUHRyJyBpbmZvPSd0aGUgbmV3IHJlYWRlciBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuJy8+CisgICAgICA8YXJnIG5hbWU9J2lvcmVhZCcgdHlwZT0neG1sSW5wdXRSZWFkQ2FsbGJhY2snIGluZm89J2FuIEkvTyByZWFkIGZ1bmN0aW9uJy8+CisgICAgICA8YXJnIG5hbWU9J2lvY2xvc2UnIHR5cGU9J3htbElucHV0Q2xvc2VDYWxsYmFjaycgaW5mbz0nYW4gSS9PIGNsb3NlIGZ1bmN0aW9uJy8+CisgICAgICA8YXJnIG5hbWU9J2lvY3R4JyB0eXBlPSd2b2lkIConIGluZm89J2FuIEkvTyBoYW5kbGVyJy8+CisgICAgICA8YXJnIG5hbWU9J1VSTCcgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSd0aGUgYmFzZSBVUkwgdG8gdXNlIGZvciB0aGUgZG9jdW1lbnQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZW5jb2RpbmcnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIGRvY3VtZW50IGVuY29kaW5nLCBvciBOVUxMJy8+CisgICAgICA8YXJnIG5hbWU9J29wdGlvbnMnIHR5cGU9J2ludCcgaW5mbz0nYSBjb21iaW5hdGlvbiBvZiB4bWxQYXJzZXJPcHRpb24nLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxSZWFkZXJGb3JNZW1vcnknIGZpbGU9J3htbHJlYWRlcicgbW9kdWxlPSd4bWxyZWFkZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q3JlYXRlIGFuIHhtbHRleHRSZWFkZXIgZm9yIGFuIFhNTCBpbi1tZW1vcnkgZG9jdW1lbnQuIFRoZSBwYXJzaW5nIGZsYWdzIEBvcHRpb25zIGFyZSBhIGNvbWJpbmF0aW9uIG9mIHhtbFBhcnNlck9wdGlvbi48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbFRleHRSZWFkZXJQdHInIGluZm89J3RoZSBuZXcgcmVhZGVyIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci4nLz4KKyAgICAgIDxhcmcgbmFtZT0nYnVmZmVyJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J2EgcG9pbnRlciB0byBhIGNoYXIgYXJyYXknLz4KKyAgICAgIDxhcmcgbmFtZT0nc2l6ZScgdHlwZT0naW50JyBpbmZvPSd0aGUgc2l6ZSBvZiB0aGUgYXJyYXknLz4KKyAgICAgIDxhcmcgbmFtZT0nVVJMJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBiYXNlIFVSTCB0byB1c2UgZm9yIHRoZSBkb2N1bWVudCcvPgorICAgICAgPGFyZyBuYW1lPSdlbmNvZGluZycgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSd0aGUgZG9jdW1lbnQgZW5jb2RpbmcsIG9yIE5VTEwnLz4KKyAgICAgIDxhcmcgbmFtZT0nb3B0aW9ucycgdHlwZT0naW50JyBpbmZvPSdhIGNvbWJpbmF0aW9uIG9mIHhtbFBhcnNlck9wdGlvbicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFJlYWRlck5ld0RvYycgZmlsZT0neG1scmVhZGVyJyBtb2R1bGU9J3htbHJlYWRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5TZXR1cCBhbiB4bWx0ZXh0UmVhZGVyIHRvIHBhcnNlIGFuIFhNTCBpbi1tZW1vcnkgZG9jdW1lbnQuIFRoZSBwYXJzaW5nIGZsYWdzIEBvcHRpb25zIGFyZSBhIGNvbWJpbmF0aW9uIG9mIHhtbFBhcnNlck9wdGlvbi4gVGhpcyByZXVzZXMgdGhlIGV4aXN0aW5nIEByZWFkZXIgeG1sVGV4dFJlYWRlci48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMCBpbiBjYXNlIG9mIHN1Y2Nlc3MgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0ncmVhZGVyJyB0eXBlPSd4bWxUZXh0UmVhZGVyUHRyJyBpbmZvPSdhbiBYTUwgcmVhZGVyJy8+CisgICAgICA8YXJnIG5hbWU9J2N1cicgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSdhIHBvaW50ZXIgdG8gYSB6ZXJvIHRlcm1pbmF0ZWQgc3RyaW5nJy8+CisgICAgICA8YXJnIG5hbWU9J1VSTCcgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSd0aGUgYmFzZSBVUkwgdG8gdXNlIGZvciB0aGUgZG9jdW1lbnQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZW5jb2RpbmcnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIGRvY3VtZW50IGVuY29kaW5nLCBvciBOVUxMJy8+CisgICAgICA8YXJnIG5hbWU9J29wdGlvbnMnIHR5cGU9J2ludCcgaW5mbz0nYSBjb21iaW5hdGlvbiBvZiB4bWxQYXJzZXJPcHRpb24nLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxSZWFkZXJOZXdGZCcgZmlsZT0neG1scmVhZGVyJyBtb2R1bGU9J3htbHJlYWRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5TZXR1cCBhbiB4bWx0ZXh0UmVhZGVyIHRvIHBhcnNlIGFuIFhNTCBmcm9tIGEgZmlsZSBkZXNjcmlwdG9yLiBOT1RFIHRoYXQgdGhlIGZpbGUgZGVzY3JpcHRvciB3aWxsIG5vdCBiZSBjbG9zZWQgd2hlbiB0aGUgcmVhZGVyIGlzIGNsb3NlZCBvciByZXNldC4gVGhlIHBhcnNpbmcgZmxhZ3MgQG9wdGlvbnMgYXJlIGEgY29tYmluYXRpb24gb2YgeG1sUGFyc2VyT3B0aW9uLiBUaGlzIHJldXNlcyB0aGUgZXhpc3RpbmcgQHJlYWRlciB4bWxUZXh0UmVhZGVyLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScwIGluIGNhc2Ugb2Ygc3VjY2VzcyBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSdyZWFkZXInIHR5cGU9J3htbFRleHRSZWFkZXJQdHInIGluZm89J2FuIFhNTCByZWFkZXInLz4KKyAgICAgIDxhcmcgbmFtZT0nZmQnIHR5cGU9J2ludCcgaW5mbz0nYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3InLz4KKyAgICAgIDxhcmcgbmFtZT0nVVJMJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBiYXNlIFVSTCB0byB1c2UgZm9yIHRoZSBkb2N1bWVudCcvPgorICAgICAgPGFyZyBuYW1lPSdlbmNvZGluZycgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSd0aGUgZG9jdW1lbnQgZW5jb2RpbmcsIG9yIE5VTEwnLz4KKyAgICAgIDxhcmcgbmFtZT0nb3B0aW9ucycgdHlwZT0naW50JyBpbmZvPSdhIGNvbWJpbmF0aW9uIG9mIHhtbFBhcnNlck9wdGlvbicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFJlYWRlck5ld0ZpbGUnIGZpbGU9J3htbHJlYWRlcicgbW9kdWxlPSd4bWxyZWFkZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+cGFyc2UgYW4gWE1MIGZpbGUgZnJvbSB0aGUgZmlsZXN5c3RlbSBvciB0aGUgbmV0d29yay4gVGhlIHBhcnNpbmcgZmxhZ3MgQG9wdGlvbnMgYXJlIGEgY29tYmluYXRpb24gb2YgeG1sUGFyc2VyT3B0aW9uLiBUaGlzIHJldXNlcyB0aGUgZXhpc3RpbmcgQHJlYWRlciB4bWxUZXh0UmVhZGVyLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScwIGluIGNhc2Ugb2Ygc3VjY2VzcyBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSdyZWFkZXInIHR5cGU9J3htbFRleHRSZWFkZXJQdHInIGluZm89J2FuIFhNTCByZWFkZXInLz4KKyAgICAgIDxhcmcgbmFtZT0nZmlsZW5hbWUnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0nYSBmaWxlIG9yIFVSTCcvPgorICAgICAgPGFyZyBuYW1lPSdlbmNvZGluZycgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSd0aGUgZG9jdW1lbnQgZW5jb2RpbmcsIG9yIE5VTEwnLz4KKyAgICAgIDxhcmcgbmFtZT0nb3B0aW9ucycgdHlwZT0naW50JyBpbmZvPSdhIGNvbWJpbmF0aW9uIG9mIHhtbFBhcnNlck9wdGlvbicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFJlYWRlck5ld0lPJyBmaWxlPSd4bWxyZWFkZXInIG1vZHVsZT0neG1scmVhZGVyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlNldHVwIGFuIHhtbHRleHRSZWFkZXIgdG8gcGFyc2UgYW4gWE1MIGRvY3VtZW50IGZyb20gSS9PIGZ1bmN0aW9ucyBhbmQgc291cmNlLiBUaGUgcGFyc2luZyBmbGFncyBAb3B0aW9ucyBhcmUgYSBjb21iaW5hdGlvbiBvZiB4bWxQYXJzZXJPcHRpb24uIFRoaXMgcmV1c2VzIHRoZSBleGlzdGluZyBAcmVhZGVyIHhtbFRleHRSZWFkZXIuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzAgaW4gY2FzZSBvZiBzdWNjZXNzIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J3JlYWRlcicgdHlwZT0neG1sVGV4dFJlYWRlclB0cicgaW5mbz0nYW4gWE1MIHJlYWRlcicvPgorICAgICAgPGFyZyBuYW1lPSdpb3JlYWQnIHR5cGU9J3htbElucHV0UmVhZENhbGxiYWNrJyBpbmZvPSdhbiBJL08gcmVhZCBmdW5jdGlvbicvPgorICAgICAgPGFyZyBuYW1lPSdpb2Nsb3NlJyB0eXBlPSd4bWxJbnB1dENsb3NlQ2FsbGJhY2snIGluZm89J2FuIEkvTyBjbG9zZSBmdW5jdGlvbicvPgorICAgICAgPGFyZyBuYW1lPSdpb2N0eCcgdHlwZT0ndm9pZCAqJyBpbmZvPSdhbiBJL08gaGFuZGxlcicvPgorICAgICAgPGFyZyBuYW1lPSdVUkwnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIGJhc2UgVVJMIHRvIHVzZSBmb3IgdGhlIGRvY3VtZW50Jy8+CisgICAgICA8YXJnIG5hbWU9J2VuY29kaW5nJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTCcvPgorICAgICAgPGFyZyBuYW1lPSdvcHRpb25zJyB0eXBlPSdpbnQnIGluZm89J2EgY29tYmluYXRpb24gb2YgeG1sUGFyc2VyT3B0aW9uJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sUmVhZGVyTmV3TWVtb3J5JyBmaWxlPSd4bWxyZWFkZXInIG1vZHVsZT0neG1scmVhZGVyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlNldHVwIGFuIHhtbHRleHRSZWFkZXIgdG8gcGFyc2UgYW4gWE1MIGluLW1lbW9yeSBkb2N1bWVudC4gVGhlIHBhcnNpbmcgZmxhZ3MgQG9wdGlvbnMgYXJlIGEgY29tYmluYXRpb24gb2YgeG1sUGFyc2VyT3B0aW9uLiBUaGlzIHJldXNlcyB0aGUgZXhpc3RpbmcgQHJlYWRlciB4bWxUZXh0UmVhZGVyLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScwIGluIGNhc2Ugb2Ygc3VjY2VzcyBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSdyZWFkZXInIHR5cGU9J3htbFRleHRSZWFkZXJQdHInIGluZm89J2FuIFhNTCByZWFkZXInLz4KKyAgICAgIDxhcmcgbmFtZT0nYnVmZmVyJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J2EgcG9pbnRlciB0byBhIGNoYXIgYXJyYXknLz4KKyAgICAgIDxhcmcgbmFtZT0nc2l6ZScgdHlwZT0naW50JyBpbmZvPSd0aGUgc2l6ZSBvZiB0aGUgYXJyYXknLz4KKyAgICAgIDxhcmcgbmFtZT0nVVJMJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBiYXNlIFVSTCB0byB1c2UgZm9yIHRoZSBkb2N1bWVudCcvPgorICAgICAgPGFyZyBuYW1lPSdlbmNvZGluZycgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSd0aGUgZG9jdW1lbnQgZW5jb2RpbmcsIG9yIE5VTEwnLz4KKyAgICAgIDxhcmcgbmFtZT0nb3B0aW9ucycgdHlwZT0naW50JyBpbmZvPSdhIGNvbWJpbmF0aW9uIG9mIHhtbFBhcnNlck9wdGlvbicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFJlYWRlck5ld1dhbGtlcicgZmlsZT0neG1scmVhZGVyJyBtb2R1bGU9J3htbHJlYWRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5TZXR1cCBhbiB4bWx0ZXh0UmVhZGVyIHRvIHBhcnNlIGEgcHJlcGFyc2VkIFhNTCBkb2N1bWVudC4gVGhpcyByZXVzZXMgdGhlIGV4aXN0aW5nIEByZWFkZXIgeG1sVGV4dFJlYWRlci48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMCBpbiBjYXNlIG9mIHN1Y2Nlc3MgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0ncmVhZGVyJyB0eXBlPSd4bWxUZXh0UmVhZGVyUHRyJyBpbmZvPSdhbiBYTUwgcmVhZGVyJy8+CisgICAgICA8YXJnIG5hbWU9J2RvYycgdHlwZT0neG1sRG9jUHRyJyBpbmZvPSdhIHByZXBhcnNlZCBkb2N1bWVudCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFJlYWRlcldhbGtlcicgZmlsZT0neG1scmVhZGVyJyBtb2R1bGU9J3htbHJlYWRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DcmVhdGUgYW4geG1sdGV4dFJlYWRlciBmb3IgYSBwcmVwYXJzZWQgZG9jdW1lbnQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxUZXh0UmVhZGVyUHRyJyBpbmZvPSd0aGUgbmV3IHJlYWRlciBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuJy8+CisgICAgICA8YXJnIG5hbWU9J2RvYycgdHlwZT0neG1sRG9jUHRyJyBpbmZvPSdhIHByZXBhcnNlZCBkb2N1bWVudCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0eXBlIG5hbWU9J3htbFJlYWxsb2NGdW5jJyBmaWxlPSd4bWxtZW1vcnknIG1vZHVsZT0neG1sbWVtb3J5Jz4KKyAgICAgIDxpbmZvPlNpZ25hdHVyZSBmb3IgYSByZWFsbG9jKCkgaW1wbGVtZW50YXRpb24uPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkIConIGluZm89J2EgcG9pbnRlciB0byB0aGUgbmV3bHkgcmVhbGxvY2F0ZWQgYmxvY2sgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLicvPgorICAgICAgPGFyZyBuYW1lPSdtZW0nIHR5cGU9J3ZvaWQgKicgaW5mbz0nYW4gYWxyZWFkeSBhbGxvY2F0ZWQgYmxvY2sgb2YgbWVtb3J5Jy8+CisgICAgICA8YXJnIG5hbWU9J3NpemUnIHR5cGU9J3NpemVfdCcgaW5mbz0ndGhlIG5ldyBzaXplIHJlcXVlc3RlZCBpbiBieXRlcycvPgorICAgIDwvZnVuY3R5cGU+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFJlYWxsb2NMb2MnIGZpbGU9J3htbG1lbW9yeScgbW9kdWxlPSd4bWxtZW1vcnknPgorICAgICAgPGluZm8+YSByZWFsbG9jKCkgZXF1aXZhbGVudCwgd2l0aCBsb2dnaW5nIG9mIHRoZSBhbGxvY2F0aW9uIGluZm8uPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkIConIGluZm89J2EgcG9pbnRlciB0byB0aGUgYWxsb2NhdGVkIGFyZWEgb3IgTlVMTCBpbiBjYXNlIG9mIGxhY2sgb2YgbWVtb3J5LicvPgorICAgICAgPGFyZyBuYW1lPSdwdHInIHR5cGU9J3ZvaWQgKicgaW5mbz0ndGhlIGluaXRpYWwgbWVtb3J5IGJsb2NrIHBvaW50ZXInLz4KKyAgICAgIDxhcmcgbmFtZT0nc2l6ZScgdHlwZT0nc2l6ZV90JyBpbmZvPSdhbiBpbnQgc3BlY2lmeWluZyB0aGUgc2l6ZSBpbiBieXRlIHRvIGFsbG9jYXRlLicvPgorICAgICAgPGFyZyBuYW1lPSdmaWxlJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBmaWxlIG5hbWUgb3IgTlVMTCcvPgorICAgICAgPGFyZyBuYW1lPSdsaW5lJyB0eXBlPSdpbnQnIGluZm89J3RoZSBsaW5lIG51bWJlcicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFJlY29uY2lsaWF0ZU5zJyBmaWxlPSd0cmVlJyBtb2R1bGU9J3RyZWUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfVFJFRV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlRoaXMgZnVuY3Rpb24gY2hlY2tzIHRoYXQgYWxsIHRoZSBuYW1lc3BhY2VzIGRlY2xhcmVkIHdpdGhpbiB0aGUgZ2l2ZW4gdHJlZSBhcmUgcHJvcGVybHkgZGVjbGFyZWQuIFRoaXMgaXMgbmVlZGVkIGZvciBleGFtcGxlIGFmdGVyIENvcHkgb3IgQ3V0IGFuZCB0aGVuIHBhc3RlIG9wZXJhdGlvbnMuIFRoZSBzdWJ0cmVlIG1heSBzdGlsbCBob2xkIHBvaW50ZXJzIHRvIG5hbWVzcGFjZSBkZWNsYXJhdGlvbnMgb3V0c2lkZSB0aGUgc3VidHJlZSBvciBpbnZhbGlkL21hc2tlZC4gQXMgbXVjaCBhcyBwb3NzaWJsZSB0aGUgZnVuY3Rpb24gdHJ5IHRvIHJldXNlIHRoZSBleGlzdGluZyBuYW1lc3BhY2VzIGZvdW5kIGluIHRoZSBuZXcgZW52aXJvbm1lbnQuIElmIG5vdCBwb3NzaWJsZSB0aGUgbmV3IG5hbWVzcGFjZXMgYXJlIHJlZGVjbGFyZWQgb24gQHRyZWUgYXQgdGhlIHRvcCBvZiB0aGUgZ2l2ZW4gc3VidHJlZS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndGhlIG51bWJlciBvZiBuYW1lc3BhY2UgZGVjbGFyYXRpb25zIGNyZWF0ZWQgb3IgLTEgaW4gY2FzZSBvZiBlcnJvci4nLz4KKyAgICAgIDxhcmcgbmFtZT0nZG9jJyB0eXBlPSd4bWxEb2NQdHInIGluZm89J3RoZSBkb2N1bWVudCcvPgorICAgICAgPGFyZyBuYW1lPSd0cmVlJyB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSdhIG5vZGUgZGVmaW5pbmcgdGhlIHN1YnRyZWUgdG8gcmVjb25jaWxpYXRlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sUmVjb3ZlckRvYycgZmlsZT0ncGFyc2VyJyBtb2R1bGU9J3BhcnNlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9TQVgxX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+cGFyc2UgYW4gWE1MIGluLW1lbW9yeSBkb2N1bWVudCBhbmQgYnVpbGQgYSB0cmVlLiBJbiB0aGUgY2FzZSB0aGUgZG9jdW1lbnQgaXMgbm90IFdlbGwgRm9ybWVkLCBhIGF0dGVtcHQgdG8gYnVpbGQgYSB0cmVlIGlzIHRyaWVkIGFueXdheTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sRG9jUHRyJyBpbmZvPSd0aGUgcmVzdWx0aW5nIGRvY3VtZW50IHRyZWUgb3IgTlVMTCBpbiBjYXNlIG9mIGZhaWx1cmUnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3VyJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J2EgcG9pbnRlciB0byBhbiBhcnJheSBvZiB4bWxDaGFyJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sUmVjb3ZlckZpbGUnIGZpbGU9J3BhcnNlcicgbW9kdWxlPSdwYXJzZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfU0FYMV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPnBhcnNlIGFuIFhNTCBmaWxlIGFuZCBidWlsZCBhIHRyZWUuIEF1dG9tYXRpYyBzdXBwb3J0IGZvciBaTElCL0NvbXByZXNzIGNvbXByZXNzZWQgZG9jdW1lbnQgaXMgcHJvdmlkZWQgYnkgZGVmYXVsdCBpZiBmb3VuZCBhdCBjb21waWxlLXRpbWUuIEluIHRoZSBjYXNlIHRoZSBkb2N1bWVudCBpcyBub3QgV2VsbCBGb3JtZWQsIGl0IGF0dGVtcHRzIHRvIGJ1aWxkIGEgdHJlZSBhbnl3YXk8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbERvY1B0cicgaW5mbz0ndGhlIHJlc3VsdGluZyBkb2N1bWVudCB0cmVlIG9yIE5VTEwgaW4gY2FzZSBvZiBmYWlsdXJlJy8+CisgICAgICA8YXJnIG5hbWU9J2ZpbGVuYW1lJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBmaWxlbmFtZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFJlY292ZXJNZW1vcnknIGZpbGU9J3BhcnNlcicgbW9kdWxlPSdwYXJzZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfU0FYMV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPnBhcnNlIGFuIFhNTCBpbi1tZW1vcnkgYmxvY2sgYW5kIGJ1aWxkIGEgdHJlZS4gSW4gdGhlIGNhc2UgdGhlIGRvY3VtZW50IGlzIG5vdCBXZWxsIEZvcm1lZCwgYW4gYXR0ZW1wdCB0byBidWlsZCBhIHRyZWUgaXMgdHJpZWQgYW55d2F5PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxEb2NQdHInIGluZm89J3RoZSByZXN1bHRpbmcgZG9jdW1lbnQgdHJlZSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0nYnVmZmVyJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J2FuIHBvaW50ZXIgdG8gYSBjaGFyIGFycmF5Jy8+CisgICAgICA8YXJnIG5hbWU9J3NpemUnIHR5cGU9J2ludCcgaW5mbz0ndGhlIHNpemUgb2YgdGhlIGFycmF5Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3R5cGUgbmFtZT0neG1sUmVnRXhlY0NhbGxiYWNrcycgZmlsZT0neG1scmVnZXhwJyBtb2R1bGU9J3htbHJlZ2V4cCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9SRUdFWFBfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DYWxsYmFjayBmdW5jdGlvbiB3aGVuIGRvaW5nIGEgdHJhbnNpdGlvbiBpbiB0aGUgYXV0b21hdGE8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZXhlYycgdHlwZT0neG1sUmVnRXhlY0N0eHRQdHInIGluZm89J3RoZSByZWd1bGFyIGV4cHJlc3Npb24gY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSd0b2tlbicgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgY3VycmVudCB0b2tlbiBzdHJpbmcnLz4KKyAgICAgIDxhcmcgbmFtZT0ndHJhbnNkYXRhJyB0eXBlPSd2b2lkIConIGluZm89J3RyYW5zaXRpb24gZGF0YScvPgorICAgICAgPGFyZyBuYW1lPSdpbnB1dGRhdGEnIHR5cGU9J3ZvaWQgKicgaW5mbz0naW5wdXQgZGF0YScvPgorICAgIDwvZnVuY3R5cGU+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFJlZ0V4ZWNFcnJJbmZvJyBmaWxlPSd4bWxyZWdleHAnIG1vZHVsZT0neG1scmVnZXhwJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1JFR0VYUF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkV4dHJhY3QgZXJyb3IgaW5mb3JtYXRpb25zIGZyb20gdGhlIHJlZ2V4cCBleGVjdXRpb24sIHRoZSBwYXJhbWV0ZXIgQHN0cmluZyB3aWxsIGJlIHVwZGF0ZWQgd2l0aCB0aGUgdmFsdWUgcHVzaGVkIGFuZCBub3QgYWNjZXB0ZWQsIHRoZSBwYXJhbWV0ZXIgQHZhbHVlcyBtdXN0IHBvaW50IHRvIGFuIGFycmF5IG9mIEBuYnZhbCBzdHJpbmcgcG9pbnRlcnMgb24gcmV0dXJuIG5idmFsIHdpbGwgY29udGFpbiB0aGUgbnVtYmVyIG9mIHBvc3NpYmxlIHN0cmluZ3MgaW4gdGhhdCBzdGF0ZSBhbmQgdGhlIEB2YWx1ZXMgYXJyYXkgd2lsbCBiZSB1cGRhdGVkIHdpdGggdGhlbS4gVGhlIHN0cmluZyB2YWx1ZXM8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nd2lsbCBiZSBmcmVlZCB3aXRoIHRoZSBAZXhlYyBjb250ZXh0IGFuZCBkb24mYXBvczt0IG5lZWQgdG8gYmUgZGVhbGxvY2F0ZWQuICBSZXR1cm5zOiAwIGluIGNhc2Ugb2Ygc3VjY2VzcyBvciAtMSBpbiBjYXNlIG9mIGVycm9yLicvPgorICAgICAgPGFyZyBuYW1lPSdleGVjJyB0eXBlPSd4bWxSZWdFeGVjQ3R4dFB0cicgaW5mbz0nYSByZWdleHAgZXhlY3V0aW9uIGNvbnRleHQgZ2VuZXJhdGluZyBhbiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSdzdHJpbmcnIHR5cGU9J2NvbnN0IHhtbENoYXIgKionIGluZm89J3JldHVybiB2YWx1ZSBmb3IgdGhlIGVycm9yIHN0cmluZycvPgorICAgICAgPGFyZyBuYW1lPSduYnZhbCcgdHlwZT0naW50IConIGluZm89J3BvaW50ZXIgdG8gdGhlIG51bWJlciBvZiBhY2NlcHRlZCB2YWx1ZXMgSU4vT1VUJy8+CisgICAgICA8YXJnIG5hbWU9J25ibmVnJyB0eXBlPSdpbnQgKicgaW5mbz0ncmV0dXJuIG51bWJlciBvZiBuZWdhdGl2ZSB0cmFuc2l0aW9ucycvPgorICAgICAgPGFyZyBuYW1lPSd2YWx1ZXMnIHR5cGU9J3htbENoYXIgKionIGluZm89J3BvaW50ZXIgdG8gdGhlIGFycmF5IG9mIGFjY2VwdGFibGUgdmFsdWVzJy8+CisgICAgICA8YXJnIG5hbWU9J3Rlcm1pbmFsJyB0eXBlPSdpbnQgKicgaW5mbz0ncmV0dXJuIHZhbHVlIGlmIHRoaXMgd2FzIGEgdGVybWluYWwgc3RhdGUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxSZWdFeGVjTmV4dFZhbHVlcycgZmlsZT0neG1scmVnZXhwJyBtb2R1bGU9J3htbHJlZ2V4cCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9SRUdFWFBfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5FeHRyYWN0IGluZm9ybWF0aW9ucyBmcm9tIHRoZSByZWdleHAgZXhlY3V0aW9uLCB0aGUgcGFyYW1ldGVyIEB2YWx1ZXMgbXVzdCBwb2ludCB0byBhbiBhcnJheSBvZiBAbmJ2YWwgc3RyaW5nIHBvaW50ZXJzIG9uIHJldHVybiBuYnZhbCB3aWxsIGNvbnRhaW4gdGhlIG51bWJlciBvZiBwb3NzaWJsZSBzdHJpbmdzIGluIHRoYXQgc3RhdGUgYW5kIHRoZSBAdmFsdWVzIGFycmF5IHdpbGwgYmUgdXBkYXRlZCB3aXRoIHRoZW0uIFRoZSBzdHJpbmcgdmFsdWVzPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J3dpbGwgYmUgZnJlZWQgd2l0aCB0aGUgQGV4ZWMgY29udGV4dCBhbmQgZG9uJmFwb3M7dCBuZWVkIHRvIGJlIGRlYWxsb2NhdGVkLiAgUmV0dXJuczogMCBpbiBjYXNlIG9mIHN1Y2Nlc3Mgb3IgLTEgaW4gY2FzZSBvZiBlcnJvci4nLz4KKyAgICAgIDxhcmcgbmFtZT0nZXhlYycgdHlwZT0neG1sUmVnRXhlY0N0eHRQdHInIGluZm89J2EgcmVnZXhwIGV4ZWN1dGlvbiBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J25idmFsJyB0eXBlPSdpbnQgKicgaW5mbz0ncG9pbnRlciB0byB0aGUgbnVtYmVyIG9mIGFjY2VwdGVkIHZhbHVlcyBJTi9PVVQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbmJuZWcnIHR5cGU9J2ludCAqJyBpbmZvPSdyZXR1cm4gbnVtYmVyIG9mIG5lZ2F0aXZlIHRyYW5zaXRpb25zJy8+CisgICAgICA8YXJnIG5hbWU9J3ZhbHVlcycgdHlwZT0neG1sQ2hhciAqKicgaW5mbz0ncG9pbnRlciB0byB0aGUgYXJyYXkgb2YgYWNjZXB0YWJsZSB2YWx1ZXMnLz4KKyAgICAgIDxhcmcgbmFtZT0ndGVybWluYWwnIHR5cGU9J2ludCAqJyBpbmZvPSdyZXR1cm4gdmFsdWUgaWYgdGhpcyB3YXMgYSB0ZXJtaW5hbCBzdGF0ZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFJlZ0V4ZWNQdXNoU3RyaW5nJyBmaWxlPSd4bWxyZWdleHAnIG1vZHVsZT0neG1scmVnZXhwJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1JFR0VYUF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlB1c2ggb25lIGlucHV0IHRva2VuIGluIHRoZSBleGVjdXRpb24gY29udGV4dDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRoZSByZWdleHAgcmVhY2hlZCBhIGZpbmFsIHN0YXRlLCAwIGlmIG5vbi1maW5hbCwgYW5kIGEgbmVnYXRpdmUgdmFsdWUgaW4gY2FzZSBvZiBlcnJvci4nLz4KKyAgICAgIDxhcmcgbmFtZT0nZXhlYycgdHlwZT0neG1sUmVnRXhlY0N0eHRQdHInIGluZm89J2EgcmVnZXhwIGV4ZWN1dGlvbiBjb250ZXh0IG9yIE5VTEwgdG8gaW5kaWNhdGUgdGhlIGVuZCcvPgorICAgICAgPGFyZyBuYW1lPSd2YWx1ZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSdhIHN0cmluZyB0b2tlbiBpbnB1dCcvPgorICAgICAgPGFyZyBuYW1lPSdkYXRhJyB0eXBlPSd2b2lkIConIGluZm89J2RhdGEgYXNzb2NpYXRlZCB0byB0aGUgdG9rZW4gdG8gcmV1c2UgaW4gY2FsbGJhY2tzJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sUmVnRXhlY1B1c2hTdHJpbmcyJyBmaWxlPSd4bWxyZWdleHAnIG1vZHVsZT0neG1scmVnZXhwJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1JFR0VYUF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlB1c2ggb25lIGlucHV0IHRva2VuIGluIHRoZSBleGVjdXRpb24gY29udGV4dDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRoZSByZWdleHAgcmVhY2hlZCBhIGZpbmFsIHN0YXRlLCAwIGlmIG5vbi1maW5hbCwgYW5kIGEgbmVnYXRpdmUgdmFsdWUgaW4gY2FzZSBvZiBlcnJvci4nLz4KKyAgICAgIDxhcmcgbmFtZT0nZXhlYycgdHlwZT0neG1sUmVnRXhlY0N0eHRQdHInIGluZm89J2EgcmVnZXhwIGV4ZWN1dGlvbiBjb250ZXh0IG9yIE5VTEwgdG8gaW5kaWNhdGUgdGhlIGVuZCcvPgorICAgICAgPGFyZyBuYW1lPSd2YWx1ZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgZmlyc3Qgc3RyaW5nIHRva2VuIGlucHV0Jy8+CisgICAgICA8YXJnIG5hbWU9J3ZhbHVlMicgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgc2Vjb25kIHN0cmluZyB0b2tlbiBpbnB1dCcvPgorICAgICAgPGFyZyBuYW1lPSdkYXRhJyB0eXBlPSd2b2lkIConIGluZm89J2RhdGEgYXNzb2NpYXRlZCB0byB0aGUgdG9rZW4gdG8gcmV1c2UgaW4gY2FsbGJhY2tzJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sUmVnRnJlZUV4ZWNDdHh0JyBmaWxlPSd4bWxyZWdleHAnIG1vZHVsZT0neG1scmVnZXhwJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1JFR0VYUF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkZyZWUgdGhlIHN0cnVjdHVyZXMgYXNzb2NpYXRlZCB0byBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBldmF1bGF0aW9uIGNvbnRleHQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2V4ZWMnIHR5cGU9J3htbFJlZ0V4ZWNDdHh0UHRyJyBpbmZvPSdhIHJlZ3VsYXIgZXhwcmVzc2lvbiBldmF1bGF0aW9uIGNvbnRleHQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxSZWdGcmVlUmVnZXhwJyBmaWxlPSd4bWxyZWdleHAnIG1vZHVsZT0neG1scmVnZXhwJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1JFR0VYUF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkZyZWUgYSByZWdleHA8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0ncmVnZXhwJyB0eXBlPSd4bWxSZWdleHBQdHInIGluZm89J3RoZSByZWdleHAnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxSZWdOZXdFeGVjQ3R4dCcgZmlsZT0neG1scmVnZXhwJyBtb2R1bGU9J3htbHJlZ2V4cCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9SRUdFWFBfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5CdWlsZCBhIGNvbnRleHQgdXNlZCBmb3IgcHJvZ3Jlc3NpdmUgZXZhbHVhdGlvbiBvZiBhIHJlZ2V4cC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbFJlZ0V4ZWNDdHh0UHRyJyBpbmZvPSd0aGUgbmV3IGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29tcCcgdHlwZT0neG1sUmVnZXhwUHRyJyBpbmZvPSdhIHByZWNvbXBpbGVkIHJlZ3VsYXIgZXhwcmVzc2lvbicvPgorICAgICAgPGFyZyBuYW1lPSdjYWxsYmFjaycgdHlwZT0neG1sUmVnRXhlY0NhbGxiYWNrcycgaW5mbz0nYSBjYWxsYmFjayBmdW5jdGlvbiB1c2VkIGZvciBoYW5kbGluZyBwcm9ncmVzc2VzIGluIHRoZSBhdXRvbWF0YSBtYXRjaGluZyBwaGFzZScvPgorICAgICAgPGFyZyBuYW1lPSdkYXRhJyB0eXBlPSd2b2lkIConIGluZm89J3RoZSBjb250ZXh0IGRhdGEgYXNzb2NpYXRlZCB0byB0aGUgY2FsbGJhY2sgaW4gdGhpcyBjb250ZXh0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sUmVnZXhwQ29tcGlsZScgZmlsZT0neG1scmVnZXhwJyBtb2R1bGU9J3htbHJlZ2V4cCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9SRUdFWFBfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5QYXJzZXMgYSByZWd1bGFyIGV4cHJlc3Npb24gY29uZm9ybWluZyB0byBYTUwgU2NoZW1hcyBQYXJ0IDIgRGF0YXR5cGUgQXBwZW5kaXggRiBhbmQgYnVpbGRzIGFuIGF1dG9tYXRhIHN1aXRhYmxlIGZvciB0ZXN0aW5nIHN0cmluZ3MgYWdhaW5zdCB0aGF0IHJlZ3VsYXIgZXhwcmVzc2lvbjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sUmVnZXhwUHRyJyBpbmZvPSd0aGUgY29tcGlsZWQgZXhwcmVzc2lvbiBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0ncmVnZXhwJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J2EgcmVndWxhciBleHByZXNzaW9uIHN0cmluZycvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFJlZ2V4cEV4ZWMnIGZpbGU9J3htbHJlZ2V4cCcgbW9kdWxlPSd4bWxyZWdleHAnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfUkVHRVhQX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgaWYgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBnZW5lcmF0ZXMgdGhlIHZhbHVlPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgaXQgbWF0Y2hlcywgMCBpZiBub3QgYW5kIGEgbmVnYXRpdmUgdmFsdWUgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSdjb21wJyB0eXBlPSd4bWxSZWdleHBQdHInIGluZm89J3RoZSBjb21waWxlZCByZWd1bGFyIGV4cHJlc3Npb24nLz4KKyAgICAgIDxhcmcgbmFtZT0nY29udGVudCcgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgdmFsdWUgdG8gY2hlY2sgYWdhaW5zdCB0aGUgcmVndWxhciBleHByZXNzaW9uJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sUmVnZXhwSXNEZXRlcm1pbmlzdCcgZmlsZT0neG1scmVnZXhwJyBtb2R1bGU9J3htbHJlZ2V4cCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9SRUdFWFBfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DaGVjayBpZiB0aGUgcmVndWxhciBleHByZXNzaW9uIGlzIGRldGVybWluaXN0PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgaXQgeWVzLCAwIGlmIG5vdCBhbmQgYSBuZWdhdGl2ZSB2YWx1ZSBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J2NvbXAnIHR5cGU9J3htbFJlZ2V4cFB0cicgaW5mbz0ndGhlIGNvbXBpbGVkIHJlZ3VsYXIgZXhwcmVzc2lvbicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFJlZ2V4cFByaW50JyBmaWxlPSd4bWxyZWdleHAnIG1vZHVsZT0neG1scmVnZXhwJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1JFR0VYUF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlByaW50IHRoZSBjb250ZW50IG9mIHRoZSBjb21waWxlZCByZWd1bGFyIGV4cHJlc3Npb248L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nb3V0cHV0JyB0eXBlPSdGSUxFIConIGluZm89J3RoZSBmaWxlIGZvciB0aGUgb3V0cHV0IGRlYnVnJy8+CisgICAgICA8YXJnIG5hbWU9J3JlZ2V4cCcgdHlwZT0neG1sUmVnZXhwUHRyJyBpbmZvPSd0aGUgY29tcGlsZWQgcmVnZXhwJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sUmVnaXN0ZXJDaGFyRW5jb2RpbmdIYW5kbGVyJyBmaWxlPSdlbmNvZGluZycgbW9kdWxlPSdlbmNvZGluZyc+CisgICAgICA8aW5mbz5SZWdpc3RlciB0aGUgY2hhciBlbmNvZGluZyBoYW5kbGVyLCBzdXJwcmlzaW5nLCBpc24mYXBvczt0IGl0ID88L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0naGFuZGxlcicgdHlwZT0neG1sQ2hhckVuY29kaW5nSGFuZGxlclB0cicgaW5mbz0ndGhlIHhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIgaGFuZGxlciBibG9jaycvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFJlZ2lzdGVyRGVmYXVsdElucHV0Q2FsbGJhY2tzJyBmaWxlPSd4bWxJTycgbW9kdWxlPSd4bWxJTyc+CisgICAgICA8aW5mbz5SZWdpc3RlcnMgdGhlIGRlZmF1bHQgY29tcGlsZWQtaW4gSS9PIGhhbmRsZXJzLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFJlZ2lzdGVyRGVmYXVsdE91dHB1dENhbGxiYWNrcycgZmlsZT0neG1sSU8nIG1vZHVsZT0neG1sSU8nPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+UmVnaXN0ZXJzIHRoZSBkZWZhdWx0IGNvbXBpbGVkLWluIEkvTyBoYW5kbGVycy48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxSZWdpc3RlckhUVFBQb3N0Q2FsbGJhY2tzJyBmaWxlPSd4bWxJTycgbW9kdWxlPSd4bWxJTyc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkgJmFtcDsmYW1wOyBkZWZpbmVkKExJQlhNTF9IVFRQX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+QnkgZGVmYXVsdCwgbGlieG1sIHN1Ym1pdHMgSFRUUCBvdXRwdXQgcmVxdWVzdHMgdXNpbmcgdGhlICZxdW90O1BVVCZxdW90OyBtZXRob2QuIENhbGxpbmcgdGhpcyBtZXRob2QgY2hhbmdlcyB0aGUgSFRUUCBvdXRwdXQgbWV0aG9kIHRvIHVzZSB0aGUgJnF1b3Q7UE9TVCZxdW90OyBtZXRob2QgaW5zdGVhZC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxSZWdpc3RlcklucHV0Q2FsbGJhY2tzJyBmaWxlPSd4bWxJTycgbW9kdWxlPSd4bWxJTyc+CisgICAgICA8aW5mbz5SZWdpc3RlciBhIG5ldyBzZXQgb2YgSS9PIGNhbGxiYWNrIGZvciBoYW5kbGluZyBwYXJzZXIgaW5wdXQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J3RoZSByZWdpc3RlcmVkIGhhbmRsZXIgbnVtYmVyIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0nbWF0Y2hGdW5jJyB0eXBlPSd4bWxJbnB1dE1hdGNoQ2FsbGJhY2snIGluZm89J3RoZSB4bWxJbnB1dE1hdGNoQ2FsbGJhY2snLz4KKyAgICAgIDxhcmcgbmFtZT0nb3BlbkZ1bmMnIHR5cGU9J3htbElucHV0T3BlbkNhbGxiYWNrJyBpbmZvPSd0aGUgeG1sSW5wdXRPcGVuQ2FsbGJhY2snLz4KKyAgICAgIDxhcmcgbmFtZT0ncmVhZEZ1bmMnIHR5cGU9J3htbElucHV0UmVhZENhbGxiYWNrJyBpbmZvPSd0aGUgeG1sSW5wdXRSZWFkQ2FsbGJhY2snLz4KKyAgICAgIDxhcmcgbmFtZT0nY2xvc2VGdW5jJyB0eXBlPSd4bWxJbnB1dENsb3NlQ2FsbGJhY2snIGluZm89J3RoZSB4bWxJbnB1dENsb3NlQ2FsbGJhY2snLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxSZWdpc3Rlck5vZGVEZWZhdWx0JyBmaWxlPSdnbG9iYWxzJyBtb2R1bGU9J2dsb2JhbHMnPgorICAgICAgPGluZm8+UmVnaXN0ZXJzIGEgY2FsbGJhY2sgZm9yIG5vZGUgY3JlYXRpb248L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbFJlZ2lzdGVyTm9kZUZ1bmMnIGluZm89J3RoZSBvbGQgdmFsdWUgb2YgdGhlIHJlZ2lzdHJhdGlvbiBmdW5jdGlvbicvPgorICAgICAgPGFyZyBuYW1lPSdmdW5jJyB0eXBlPSd4bWxSZWdpc3Rlck5vZGVGdW5jJyBpbmZvPSdmdW5jdGlvbiBwb2ludGVyIHRvIHRoZSBuZXcgUmVnaXN0ZXJOb2RlRnVuYycvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0eXBlIG5hbWU9J3htbFJlZ2lzdGVyTm9kZUZ1bmMnIGZpbGU9J2dsb2JhbHMnIG1vZHVsZT0nZ2xvYmFscyc+CisgICAgICA8aW5mbz5TaWduYXR1cmUgZm9yIHRoZSByZWdpc3RyYXRpb24gY2FsbGJhY2sgb2YgYSBjcmVhdGVkIG5vZGU8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbm9kZScgdHlwZT0neG1sTm9kZVB0cicgaW5mbz0ndGhlIGN1cnJlbnQgbm9kZScvPgorICAgIDwvZnVuY3R5cGU+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFJlZ2lzdGVyT3V0cHV0Q2FsbGJhY2tzJyBmaWxlPSd4bWxJTycgbW9kdWxlPSd4bWxJTyc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5SZWdpc3RlciBhIG5ldyBzZXQgb2YgSS9PIGNhbGxiYWNrIGZvciBoYW5kbGluZyBvdXRwdXQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J3RoZSByZWdpc3RlcmVkIGhhbmRsZXIgbnVtYmVyIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0nbWF0Y2hGdW5jJyB0eXBlPSd4bWxPdXRwdXRNYXRjaENhbGxiYWNrJyBpbmZvPSd0aGUgeG1sT3V0cHV0TWF0Y2hDYWxsYmFjaycvPgorICAgICAgPGFyZyBuYW1lPSdvcGVuRnVuYycgdHlwZT0neG1sT3V0cHV0T3BlbkNhbGxiYWNrJyBpbmZvPSd0aGUgeG1sT3V0cHV0T3BlbkNhbGxiYWNrJy8+CisgICAgICA8YXJnIG5hbWU9J3dyaXRlRnVuYycgdHlwZT0neG1sT3V0cHV0V3JpdGVDYWxsYmFjaycgaW5mbz0ndGhlIHhtbE91dHB1dFdyaXRlQ2FsbGJhY2snLz4KKyAgICAgIDxhcmcgbmFtZT0nY2xvc2VGdW5jJyB0eXBlPSd4bWxPdXRwdXRDbG9zZUNhbGxiYWNrJyBpbmZvPSd0aGUgeG1sT3V0cHV0Q2xvc2VDYWxsYmFjaycvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFJlbGF4TkdDbGVhbnVwVHlwZXMnIGZpbGU9J3JlbGF4bmcnIG1vZHVsZT0ncmVsYXhuZyc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2xlYW51cCB0aGUgZGVmYXVsdCBTY2hlbWFzIHR5cGUgbGlicmFyeSBhc3NvY2lhdGVkIHRvIFJlbGF4Tkc8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxSZWxheE5HRHVtcCcgZmlsZT0ncmVsYXhuZycgbW9kdWxlPSdyZWxheG5nJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkgJmFtcDsmYW1wOyBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5EdW1wIGEgUmVsYXhORyBzdHJ1Y3R1cmUgYmFjazwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdvdXRwdXQnIHR5cGU9J0ZJTEUgKicgaW5mbz0ndGhlIGZpbGUgb3V0cHV0Jy8+CisgICAgICA8YXJnIG5hbWU9J3NjaGVtYScgdHlwZT0neG1sUmVsYXhOR1B0cicgaW5mbz0nYSBzY2hlbWEgc3RydWN0dXJlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sUmVsYXhOR0R1bXBUcmVlJyBmaWxlPSdyZWxheG5nJyBtb2R1bGU9J3JlbGF4bmcnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKSAmYW1wOyZhbXA7IGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkR1bXAgdGhlIHRyYW5zZm9ybWVkIFJlbGF4TkcgdHJlZS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nb3V0cHV0JyB0eXBlPSdGSUxFIConIGluZm89J3RoZSBmaWxlIG91dHB1dCcvPgorICAgICAgPGFyZyBuYW1lPSdzY2hlbWEnIHR5cGU9J3htbFJlbGF4TkdQdHInIGluZm89J2Egc2NoZW1hIHN0cnVjdHVyZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFJlbGF4TkdGcmVlJyBmaWxlPSdyZWxheG5nJyBtb2R1bGU9J3JlbGF4bmcnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkRlYWxsb2NhdGUgYSBSZWxheE5HIHN0cnVjdHVyZS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nc2NoZW1hJyB0eXBlPSd4bWxSZWxheE5HUHRyJyBpbmZvPSdhIHNjaGVtYSBzdHJ1Y3R1cmUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxSZWxheE5HRnJlZVBhcnNlckN0eHQnIGZpbGU9J3JlbGF4bmcnIG1vZHVsZT0ncmVsYXhuZyc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+RnJlZSB0aGUgcmVzb3VyY2VzIGFzc29jaWF0ZWQgdG8gdGhlIHNjaGVtYSBwYXJzZXIgY29udGV4dDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxSZWxheE5HUGFyc2VyQ3R4dFB0cicgaW5mbz0ndGhlIHNjaGVtYSBwYXJzZXIgY29udGV4dCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFJlbGF4TkdGcmVlVmFsaWRDdHh0JyBmaWxlPSdyZWxheG5nJyBtb2R1bGU9J3JlbGF4bmcnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkZyZWUgdGhlIHJlc291cmNlcyBhc3NvY2lhdGVkIHRvIHRoZSBzY2hlbWEgdmFsaWRhdGlvbiBjb250ZXh0PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFJlbGF4TkdWYWxpZEN0eHRQdHInIGluZm89J3RoZSBzY2hlbWEgdmFsaWRhdGlvbiBjb250ZXh0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sUmVsYXhOR0dldFBhcnNlckVycm9ycycgZmlsZT0ncmVsYXhuZycgbW9kdWxlPSdyZWxheG5nJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5HZXQgdGhlIGNhbGxiYWNrIGluZm9ybWF0aW9uIHVzZWQgdG8gaGFuZGxlIGVycm9ycyBmb3IgYSB2YWxpZGF0aW9uIGNvbnRleHQ8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nLTEgaW4gY2FzZSBvZiBmYWlsdXJlLCAwIG90aGVyd2lzZS4nLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sUmVsYXhOR1BhcnNlckN0eHRQdHInIGluZm89J2EgUmVsYXgtTkcgdmFsaWRhdGlvbiBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J2VycicgdHlwZT0neG1sUmVsYXhOR1ZhbGlkaXR5RXJyb3JGdW5jIConIGluZm89J3RoZSBlcnJvciBjYWxsYmFjayByZXN1bHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nd2FybicgdHlwZT0neG1sUmVsYXhOR1ZhbGlkaXR5V2FybmluZ0Z1bmMgKicgaW5mbz0ndGhlIHdhcm5pbmcgY2FsbGJhY2sgcmVzdWx0Jy8+CisgICAgICA8YXJnIG5hbWU9J2N0eCcgdHlwZT0ndm9pZCAqKicgaW5mbz0nY29udGV4dHVhbCBkYXRhIGZvciB0aGUgY2FsbGJhY2tzIHJlc3VsdCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFJlbGF4TkdHZXRWYWxpZEVycm9ycycgZmlsZT0ncmVsYXhuZycgbW9kdWxlPSdyZWxheG5nJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5HZXQgdGhlIGVycm9yIGFuZCB3YXJuaW5nIGNhbGxiYWNrIGluZm9ybWF0aW9uczwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSctMSBpbiBjYXNlIG9mIGVycm9yIGFuZCAwIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxSZWxheE5HVmFsaWRDdHh0UHRyJyBpbmZvPSdhIFJlbGF4LU5HIHZhbGlkYXRpb24gY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdlcnInIHR5cGU9J3htbFJlbGF4TkdWYWxpZGl0eUVycm9yRnVuYyAqJyBpbmZvPSd0aGUgZXJyb3IgZnVuY3Rpb24gcmVzdWx0Jy8+CisgICAgICA8YXJnIG5hbWU9J3dhcm4nIHR5cGU9J3htbFJlbGF4TkdWYWxpZGl0eVdhcm5pbmdGdW5jIConIGluZm89J3RoZSB3YXJuaW5nIGZ1bmN0aW9uIHJlc3VsdCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHgnIHR5cGU9J3ZvaWQgKionIGluZm89J3RoZSBmdW5jdGlvbnMgY29udGV4dCByZXN1bHQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxSZWxheE5HSW5pdFR5cGVzJyBmaWxlPSdyZWxheG5nJyBtb2R1bGU9J3JlbGF4bmcnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkluaXRpbGl6ZSB0aGUgZGVmYXVsdCB0eXBlIGxpYnJhcmllcy48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMCBpbiBjYXNlIG9mIHN1Y2Nlc3MgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3IuJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sUmVsYXhOR05ld0RvY1BhcnNlckN0eHQnIGZpbGU9J3JlbGF4bmcnIG1vZHVsZT0ncmVsYXhuZyc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q3JlYXRlIGFuIFhNTCBSZWxheE5HcyBwYXJzZXIgY29udGV4dCBmb3IgdGhhdCBkb2N1bWVudC4gTm90ZTogc2luY2UgdGhlIHByb2Nlc3Mgb2YgY29tcGlsaW5nIGEgUmVsYXhORyBzY2hlbWFzIG1vZGlmaWVzIHRoZSBkb2N1bWVudCwgdGhlIEBkb2MgcGFyYW1ldGVyIGlzIGR1cGxpY2F0ZWQgaW50ZXJuYWxseS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbFJlbGF4TkdQYXJzZXJDdHh0UHRyJyBpbmZvPSd0aGUgcGFyc2VyIGNvbnRleHQgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J2RvYycgdHlwZT0neG1sRG9jUHRyJyBpbmZvPSdhIHByZXBhcnNlZCBkb2N1bWVudCB0cmVlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sUmVsYXhOR05ld01lbVBhcnNlckN0eHQnIGZpbGU9J3JlbGF4bmcnIG1vZHVsZT0ncmVsYXhuZyc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q3JlYXRlIGFuIFhNTCBSZWxheE5HcyBwYXJzZSBjb250ZXh0IGZvciB0aGF0IG1lbW9yeSBidWZmZXIgZXhwZWN0ZWQgdG8gY29udGFpbiBhbiBYTUwgUmVsYXhOR3MgZmlsZS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbFJlbGF4TkdQYXJzZXJDdHh0UHRyJyBpbmZvPSd0aGUgcGFyc2VyIGNvbnRleHQgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J2J1ZmZlcicgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSdhIHBvaW50ZXIgdG8gYSBjaGFyIGFycmF5IGNvbnRhaW5pbmcgdGhlIHNjaGVtYXMnLz4KKyAgICAgIDxhcmcgbmFtZT0nc2l6ZScgdHlwZT0naW50JyBpbmZvPSd0aGUgc2l6ZSBvZiB0aGUgYXJyYXknLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxSZWxheE5HTmV3UGFyc2VyQ3R4dCcgZmlsZT0ncmVsYXhuZycgbW9kdWxlPSdyZWxheG5nJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DcmVhdGUgYW4gWE1MIFJlbGF4TkdzIHBhcnNlIGNvbnRleHQgZm9yIHRoYXQgZmlsZS9yZXNvdXJjZSBleHBlY3RlZCB0byBjb250YWluIGFuIFhNTCBSZWxheE5HcyBmaWxlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sUmVsYXhOR1BhcnNlckN0eHRQdHInIGluZm89J3RoZSBwYXJzZXIgY29udGV4dCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0nVVJMJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBsb2NhdGlvbiBvZiB0aGUgc2NoZW1hJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sUmVsYXhOR05ld1ZhbGlkQ3R4dCcgZmlsZT0ncmVsYXhuZycgbW9kdWxlPSdyZWxheG5nJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DcmVhdGUgYW4gWE1MIFJlbGF4TkdzIHZhbGlkYXRpb24gY29udGV4dCBiYXNlZCBvbiB0aGUgZ2l2ZW4gc2NoZW1hPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxSZWxheE5HVmFsaWRDdHh0UHRyJyBpbmZvPSd0aGUgdmFsaWRhdGlvbiBjb250ZXh0IG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSdzY2hlbWEnIHR5cGU9J3htbFJlbGF4TkdQdHInIGluZm89J2EgcHJlY29tcGlsZWQgWE1MIFJlbGF4TkdzJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sUmVsYXhOR1BhcnNlJyBmaWxlPSdyZWxheG5nJyBtb2R1bGU9J3JlbGF4bmcnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPnBhcnNlIGEgc2NoZW1hIGRlZmluaXRpb24gcmVzb3VyY2UgYW5kIGJ1aWxkIGFuIGludGVybmFsIFhNTCBTaGVtYSBzdHJ1dHVyZSB3aGljaCBjYW4gYmUgdXNlZCB0byB2YWxpZGF0ZSBpbnN0YW5jZXMuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxSZWxheE5HUHRyJyBpbmZvPSd0aGUgaW50ZXJuYWwgWE1MIFJlbGF4Tkcgc3RydWN0dXJlIGJ1aWx0IGZyb20gdGhlIHJlc291cmNlIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxSZWxheE5HUGFyc2VyQ3R4dFB0cicgaW5mbz0nYSBSZWxheC1ORyBwYXJzZXIgY29udGV4dCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFJlbGF4TkdTZXRQYXJzZXJFcnJvcnMnIGZpbGU9J3JlbGF4bmcnIG1vZHVsZT0ncmVsYXhuZyc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+U2V0IHRoZSBjYWxsYmFjayBmdW5jdGlvbnMgdXNlZCB0byBoYW5kbGUgZXJyb3JzIGZvciBhIHZhbGlkYXRpb24gY29udGV4dDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxSZWxheE5HUGFyc2VyQ3R4dFB0cicgaW5mbz0nYSBSZWxheC1ORyB2YWxpZGF0aW9uIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZXJyJyB0eXBlPSd4bWxSZWxheE5HVmFsaWRpdHlFcnJvckZ1bmMnIGluZm89J3RoZSBlcnJvciBjYWxsYmFjaycvPgorICAgICAgPGFyZyBuYW1lPSd3YXJuJyB0eXBlPSd4bWxSZWxheE5HVmFsaWRpdHlXYXJuaW5nRnVuYycgaW5mbz0ndGhlIHdhcm5pbmcgY2FsbGJhY2snLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4JyB0eXBlPSd2b2lkIConIGluZm89J2NvbnRleHR1YWwgZGF0YSBmb3IgdGhlIGNhbGxiYWNrcycvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFJlbGF4TkdTZXRQYXJzZXJTdHJ1Y3R1cmVkRXJyb3JzJyBmaWxlPSdyZWxheG5nJyBtb2R1bGU9J3JlbGF4bmcnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlNldCB0aGUgY2FsbGJhY2sgZnVuY3Rpb25zIHVzZWQgdG8gaGFuZGxlIGVycm9ycyBmb3IgYSBwYXJzaW5nIGNvbnRleHQ8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sUmVsYXhOR1BhcnNlckN0eHRQdHInIGluZm89J2EgUmVsYXgtTkcgcGFyc2VyIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nc2Vycm9yJyB0eXBlPSd4bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jJyBpbmZvPSd0aGUgZXJyb3IgY2FsbGJhY2snLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4JyB0eXBlPSd2b2lkIConIGluZm89J2NvbnRleHR1YWwgZGF0YSBmb3IgdGhlIGNhbGxiYWNrcycvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFJlbGF4TkdTZXRWYWxpZEVycm9ycycgZmlsZT0ncmVsYXhuZycgbW9kdWxlPSdyZWxheG5nJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5TZXQgdGhlIGVycm9yIGFuZCB3YXJuaW5nIGNhbGxiYWNrIGluZm9ybWF0aW9uczwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxSZWxheE5HVmFsaWRDdHh0UHRyJyBpbmZvPSdhIFJlbGF4LU5HIHZhbGlkYXRpb24gY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdlcnInIHR5cGU9J3htbFJlbGF4TkdWYWxpZGl0eUVycm9yRnVuYycgaW5mbz0ndGhlIGVycm9yIGZ1bmN0aW9uJy8+CisgICAgICA8YXJnIG5hbWU9J3dhcm4nIHR5cGU9J3htbFJlbGF4TkdWYWxpZGl0eVdhcm5pbmdGdW5jJyBpbmZvPSd0aGUgd2FybmluZyBmdW5jdGlvbicvPgorICAgICAgPGFyZyBuYW1lPSdjdHgnIHR5cGU9J3ZvaWQgKicgaW5mbz0ndGhlIGZ1bmN0aW9ucyBjb250ZXh0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sUmVsYXhOR1NldFZhbGlkU3RydWN0dXJlZEVycm9ycycgZmlsZT0ncmVsYXhuZycgbW9kdWxlPSdyZWxheG5nJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5TZXQgdGhlIHN0cnVjdHVyZWQgZXJyb3IgY2FsbGJhY2s8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sUmVsYXhOR1ZhbGlkQ3R4dFB0cicgaW5mbz0nYSBSZWxheC1ORyB2YWxpZGF0aW9uIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nc2Vycm9yJyB0eXBlPSd4bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jJyBpbmZvPSd0aGUgc3RydWN0dXJlZCBlcnJvciBmdW5jdGlvbicvPgorICAgICAgPGFyZyBuYW1lPSdjdHgnIHR5cGU9J3ZvaWQgKicgaW5mbz0ndGhlIGZ1bmN0aW9ucyBjb250ZXh0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sUmVsYXhOR1ZhbGlkYXRlRG9jJyBmaWxlPSdyZWxheG5nJyBtb2R1bGU9J3JlbGF4bmcnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlZhbGlkYXRlIGEgZG9jdW1lbnQgdHJlZSBpbiBtZW1vcnkuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzAgaWYgdGhlIGRvY3VtZW50IGlzIHZhbGlkLCBhIHBvc2l0aXZlIGVycm9yIGNvZGUgbnVtYmVyIG90aGVyd2lzZSBhbmQgLTEgaW4gY2FzZSBvZiBpbnRlcm5hbCBvciBBUEkgZXJyb3IuJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFJlbGF4TkdWYWxpZEN0eHRQdHInIGluZm89J2EgUmVsYXgtTkcgdmFsaWRhdGlvbiBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J2RvYycgdHlwZT0neG1sRG9jUHRyJyBpbmZvPSdhIHBhcnNlZCBkb2N1bWVudCB0cmVlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sUmVsYXhOR1ZhbGlkYXRlRnVsbEVsZW1lbnQnIGZpbGU9J3JlbGF4bmcnIG1vZHVsZT0ncmVsYXhuZyc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+VmFsaWRhdGUgYSBmdWxsIHN1YnRyZWUgd2hlbiB4bWxSZWxheE5HVmFsaWRhdGVQdXNoRWxlbWVudCgpIHJldHVybmVkIDAgYW5kIHRoZSBjb250ZW50IG9mIHRoZSBub2RlIGhhcyBiZWVuIGV4cGFuZGVkLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIG5vIHZhbGlkYXRpb24gcHJvYmxlbSB3YXMgZm91bmQgb3IgLTEgaW4gY2FzZSBvZiBlcnJvci4nLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sUmVsYXhOR1ZhbGlkQ3R4dFB0cicgaW5mbz0ndGhlIHZhbGlkYXRpb24gY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdkb2MnIHR5cGU9J3htbERvY1B0cicgaW5mbz0nYSBkb2N1bWVudCBpbnN0YW5jZScvPgorICAgICAgPGFyZyBuYW1lPSdlbGVtJyB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSdhbiBlbGVtZW50IGluc3RhbmNlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sUmVsYXhOR1ZhbGlkYXRlUG9wRWxlbWVudCcgZmlsZT0ncmVsYXhuZycgbW9kdWxlPSdyZWxheG5nJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5Qb3AgdGhlIGVsZW1lbnQgZW5kIGZyb20gdGhlIFJlbGF4TkcgdmFsaWRhdGlvbiBzdGFjay48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiBubyB2YWxpZGF0aW9uIHByb2JsZW0gd2FzIGZvdW5kIG9yIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFJlbGF4TkdWYWxpZEN0eHRQdHInIGluZm89J3RoZSBSZWxheE5HIHZhbGlkYXRpb24gY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdkb2MnIHR5cGU9J3htbERvY1B0cicgaW5mbz0nYSBkb2N1bWVudCBpbnN0YW5jZScvPgorICAgICAgPGFyZyBuYW1lPSdlbGVtJyB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSdhbiBlbGVtZW50IGluc3RhbmNlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sUmVsYXhOR1ZhbGlkYXRlUHVzaENEYXRhJyBmaWxlPSdyZWxheG5nJyBtb2R1bGU9J3JlbGF4bmcnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPmNoZWNrIHRoZSBDRGF0YSBwYXJzZWQgZm9yIHZhbGlkYXRpb24gaW4gdGhlIGN1cnJlbnQgc3RhY2s8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiBubyB2YWxpZGF0aW9uIHByb2JsZW0gd2FzIGZvdW5kIG9yIC0xIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxSZWxheE5HVmFsaWRDdHh0UHRyJyBpbmZvPSd0aGUgUmVsYXhORyB2YWxpZGF0aW9uIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZGF0YScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSdzb21lIGNoYXJhY3RlciBkYXRhIHJlYWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbGVuJyB0eXBlPSdpbnQnIGluZm89J3RoZSBsZW5ndGggb2YgdGhlIGRhdGEnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxSZWxheE5HVmFsaWRhdGVQdXNoRWxlbWVudCcgZmlsZT0ncmVsYXhuZycgbW9kdWxlPSdyZWxheG5nJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5QdXNoIGEgbmV3IGVsZW1lbnQgc3RhcnQgb24gdGhlIFJlbGF4TkcgdmFsaWRhdGlvbiBzdGFjay48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiBubyB2YWxpZGF0aW9uIHByb2JsZW0gd2FzIGZvdW5kIG9yIDAgaWYgdmFsaWRhdGluZyB0aGUgZWxlbWVudCByZXF1aXJlcyBhIGZ1bGwgbm9kZSwgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3IuJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFJlbGF4TkdWYWxpZEN0eHRQdHInIGluZm89J3RoZSB2YWxpZGF0aW9uIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZG9jJyB0eXBlPSd4bWxEb2NQdHInIGluZm89J2EgZG9jdW1lbnQgaW5zdGFuY2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nZWxlbScgdHlwZT0neG1sTm9kZVB0cicgaW5mbz0nYW4gZWxlbWVudCBpbnN0YW5jZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0eXBlIG5hbWU9J3htbFJlbGF4TkdWYWxpZGl0eUVycm9yRnVuYycgZmlsZT0ncmVsYXhuZycgbW9kdWxlPSdyZWxheG5nJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5TaWduYXR1cmUgb2YgYW4gZXJyb3IgY2FsbGJhY2sgZnJvbSBhIFJlbGF4LU5HIHZhbGlkYXRpb248L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4JyB0eXBlPSd2b2lkIConIGluZm89J3RoZSB2YWxpZGF0aW9uIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbXNnJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBtZXNzYWdlJy8+CisgICAgICA8YXJnIG5hbWU9Jy4uLicgdHlwZT0nLi4uJyBpbmZvPSdleHRyYSBhcmd1bWVudHMnLz4KKyAgICA8L2Z1bmN0eXBlPgorICAgIDxmdW5jdHlwZSBuYW1lPSd4bWxSZWxheE5HVmFsaWRpdHlXYXJuaW5nRnVuYycgZmlsZT0ncmVsYXhuZycgbW9kdWxlPSdyZWxheG5nJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5TaWduYXR1cmUgb2YgYSB3YXJuaW5nIGNhbGxiYWNrIGZyb20gYSBSZWxheC1ORyB2YWxpZGF0aW9uPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eCcgdHlwZT0ndm9pZCAqJyBpbmZvPSd0aGUgdmFsaWRhdGlvbiBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J21zZycgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSd0aGUgbWVzc2FnZScvPgorICAgICAgPGFyZyBuYW1lPScuLi4nIHR5cGU9Jy4uLicgaW5mbz0nZXh0cmEgYXJndW1lbnRzJy8+CisgICAgPC9mdW5jdHlwZT4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sUmVsYXhQYXJzZXJTZXRGbGFnJyBmaWxlPSdyZWxheG5nJyBtb2R1bGU9J3JlbGF4bmcnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlNlbWkgcHJpdmF0ZSBmdW5jdGlvbiB1c2VkIHRvIHBhc3MgaW5mb3JtYXRpb25zIHRvIGEgcGFyc2VyIGNvbnRleHQgd2hpY2ggYXJlIGEgY29tYmluYXRpb24gb2YgeG1sUmVsYXhOR1BhcnNlckZsYWcgLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScwIGlmIHN1Y2Nlc3MgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sUmVsYXhOR1BhcnNlckN0eHRQdHInIGluZm89J2EgUmVsYXhORyBwYXJzZXIgY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdmbGFncycgdHlwZT0naW50JyBpbmZvPSdhIHNldCBvZiBmbGFncyB2YWx1ZXMnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxSZW1vdmVJRCcgZmlsZT0ndmFsaWQnIG1vZHVsZT0ndmFsaWQnPgorICAgICAgPGluZm8+UmVtb3ZlIHRoZSBnaXZlbiBhdHRyaWJ1dGUgZnJvbSB0aGUgSUQgdGFibGUgbWFpbnRhaW5lZCBpbnRlcm5hbGx5LjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSctMSBpZiB0aGUgbG9va3VwIGZhaWxlZCBhbmQgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nZG9jJyB0eXBlPSd4bWxEb2NQdHInIGluZm89J3RoZSBkb2N1bWVudCcvPgorICAgICAgPGFyZyBuYW1lPSdhdHRyJyB0eXBlPSd4bWxBdHRyUHRyJyBpbmZvPSd0aGUgYXR0cmlidXRlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sUmVtb3ZlUHJvcCcgZmlsZT0ndHJlZScgbW9kdWxlPSd0cmVlJz4KKyAgICAgIDxpbmZvPlVubGluayBhbmQgZnJlZSBvbmUgYXR0cmlidXRlLCBhbGwgdGhlIGNvbnRlbnQgaXMgZnJlZWQgdG9vIE5vdGUgdGhpcyBkb2VzbiZhcG9zO3Qgd29yayBmb3IgbmFtZXNwYWNlIGRlZmluaXRpb24gYXR0cmlidXRlczwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScwIGlmIHN1Y2Nlc3MgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3IuJy8+CisgICAgICA8YXJnIG5hbWU9J2N1cicgdHlwZT0neG1sQXR0clB0cicgaW5mbz0nYW4gYXR0cmlidXRlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sUmVtb3ZlUmVmJyBmaWxlPSd2YWxpZCcgbW9kdWxlPSd2YWxpZCc+CisgICAgICA8aW5mbz5SZW1vdmUgdGhlIGdpdmVuIGF0dHJpYnV0ZSBmcm9tIHRoZSBSZWYgdGFibGUgbWFpbnRhaW5lZCBpbnRlcm5hbGx5LjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSctMSBpZiB0aGUgbG9va3VwIGZhaWxlZCBhbmQgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nZG9jJyB0eXBlPSd4bWxEb2NQdHInIGluZm89J3RoZSBkb2N1bWVudCcvPgorICAgICAgPGFyZyBuYW1lPSdhdHRyJyB0eXBlPSd4bWxBdHRyUHRyJyBpbmZvPSd0aGUgYXR0cmlidXRlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sUmVwbGFjZU5vZGUnIGZpbGU9J3RyZWUnIG1vZHVsZT0ndHJlZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlVubGluayB0aGUgb2xkIG5vZGUgZnJvbSBpdHMgY3VycmVudCBjb250ZXh0LCBwcnVuZSB0aGUgbmV3IG9uZSBhdCB0aGUgc2FtZSBwbGFjZS4gSWYgQGN1ciB3YXMgYWxyZWFkeSBpbnNlcnRlZCBpbiBhIGRvY3VtZW50IGl0IGlzIGZpcnN0IHVubGlua2VkIGZyb20gaXRzIGV4aXN0aW5nIGNvbnRleHQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSd0aGUgQG9sZCBub2RlJy8+CisgICAgICA8YXJnIG5hbWU9J29sZCcgdHlwZT0neG1sTm9kZVB0cicgaW5mbz0ndGhlIG9sZCBub2RlJy8+CisgICAgICA8YXJnIG5hbWU9J2N1cicgdHlwZT0neG1sTm9kZVB0cicgaW5mbz0ndGhlIG5vZGUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxSZXNldEVycm9yJyBmaWxlPSd4bWxlcnJvcicgbW9kdWxlPSdlcnJvcic+CisgICAgICA8aW5mbz5DbGVhbnVwIHRoZSBlcnJvci48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZXJyJyB0eXBlPSd4bWxFcnJvclB0cicgaW5mbz0ncG9pbnRlciB0byB0aGUgZXJyb3IuJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sUmVzZXRMYXN0RXJyb3InIGZpbGU9J3htbGVycm9yJyBtb2R1bGU9J2Vycm9yJz4KKyAgICAgIDxpbmZvPkNsZWFudXAgdGhlIGxhc3QgZ2xvYmFsIGVycm9yIHJlZ2lzdGVyZWQuIEZvciBwYXJzaW5nIGVycm9yIHRoaXMgZG9lcyBub3QgY2hhbmdlIHRoZSB3ZWxsLWZvcm1lZG5lc3MgcmVzdWx0LjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFNBWDJBdHRyaWJ1dGVEZWNsJyBmaWxlPSdTQVgyJyBtb2R1bGU9J1NBWDInPgorICAgICAgPGluZm8+QW4gYXR0cmlidXRlIGRlZmluaXRpb24gaGFzIGJlZW4gcGFyc2VkPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eCcgdHlwZT0ndm9pZCAqJyBpbmZvPSd0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpJy8+CisgICAgICA8YXJnIG5hbWU9J2VsZW0nIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIG5hbWUgb2YgdGhlIGVsZW1lbnQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZnVsbG5hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIGF0dHJpYnV0ZSBuYW1lJy8+CisgICAgICA8YXJnIG5hbWU9J3R5cGUnIHR5cGU9J2ludCcgaW5mbz0ndGhlIGF0dHJpYnV0ZSB0eXBlJy8+CisgICAgICA8YXJnIG5hbWU9J2RlZicgdHlwZT0naW50JyBpbmZvPSd0aGUgdHlwZSBvZiBkZWZhdWx0IHZhbHVlJy8+CisgICAgICA8YXJnIG5hbWU9J2RlZmF1bHRWYWx1ZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgYXR0cmlidXRlIGRlZmF1bHQgdmFsdWUnLz4KKyAgICAgIDxhcmcgbmFtZT0ndHJlZScgdHlwZT0neG1sRW51bWVyYXRpb25QdHInIGluZm89J3RoZSB0cmVlIG9mIGVudW1lcmF0ZWQgdmFsdWUgc2V0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sU0FYMkNEYXRhQmxvY2snIGZpbGU9J1NBWDInIG1vZHVsZT0nU0FYMic+CisgICAgICA8aW5mbz5jYWxsZWQgd2hlbiBhIHBjZGF0YSBibG9jayBoYXMgYmVlbiBwYXJzZWQ8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4JyB0eXBlPSd2b2lkIConIGluZm89J3RoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCknLz4KKyAgICAgIDxhcmcgbmFtZT0ndmFsdWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nVGhlIHBjZGF0YSBjb250ZW50Jy8+CisgICAgICA8YXJnIG5hbWU9J2xlbicgdHlwZT0naW50JyBpbmZvPSd0aGUgYmxvY2sgbGVuZ3RoJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sU0FYMkNoYXJhY3RlcnMnIGZpbGU9J1NBWDInIG1vZHVsZT0nU0FYMic+CisgICAgICA8aW5mbz5yZWNlaXZpbmcgc29tZSBjaGFycyBmcm9tIHRoZSBwYXJzZXIuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eCcgdHlwZT0ndm9pZCAqJyBpbmZvPSd0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpJy8+CisgICAgICA8YXJnIG5hbWU9J2NoJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J2EgeG1sQ2hhciBzdHJpbmcnLz4KKyAgICAgIDxhcmcgbmFtZT0nbGVuJyB0eXBlPSdpbnQnIGluZm89J3RoZSBudW1iZXIgb2YgeG1sQ2hhcicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFNBWDJDb21tZW50JyBmaWxlPSdTQVgyJyBtb2R1bGU9J1NBWDInPgorICAgICAgPGluZm8+QSB4bWxTQVgyQ29tbWVudCBoYXMgYmVlbiBwYXJzZWQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eCcgdHlwZT0ndm9pZCAqJyBpbmZvPSd0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpJy8+CisgICAgICA8YXJnIG5hbWU9J3ZhbHVlJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSB4bWxTQVgyQ29tbWVudCBjb250ZW50Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sU0FYMkVsZW1lbnREZWNsJyBmaWxlPSdTQVgyJyBtb2R1bGU9J1NBWDInPgorICAgICAgPGluZm8+QW4gZWxlbWVudCBkZWZpbml0aW9uIGhhcyBiZWVuIHBhcnNlZDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHgnIHR5cGU9J3ZvaWQgKicgaW5mbz0ndGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KScvPgorICAgICAgPGFyZyBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBlbGVtZW50IG5hbWUnLz4KKyAgICAgIDxhcmcgbmFtZT0ndHlwZScgdHlwZT0naW50JyBpbmZvPSd0aGUgZWxlbWVudCB0eXBlJy8+CisgICAgICA8YXJnIG5hbWU9J2NvbnRlbnQnIHR5cGU9J3htbEVsZW1lbnRDb250ZW50UHRyJyBpbmZvPSd0aGUgZWxlbWVudCB2YWx1ZSB0cmVlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sU0FYMkVuZERvY3VtZW50JyBmaWxlPSdTQVgyJyBtb2R1bGU9J1NBWDInPgorICAgICAgPGluZm8+Y2FsbGVkIHdoZW4gdGhlIGRvY3VtZW50IGVuZCBoYXMgYmVlbiBkZXRlY3RlZC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4JyB0eXBlPSd2b2lkIConIGluZm89J3RoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCknLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTQVgyRW5kRWxlbWVudCcgZmlsZT0nU0FYMicgbW9kdWxlPSdTQVgyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1NBWDFfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfRE9DQl9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9MRUdBQ1lfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5jYWxsZWQgd2hlbiB0aGUgZW5kIG9mIGFuIGVsZW1lbnQgaGFzIGJlZW4gZGV0ZWN0ZWQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eCcgdHlwZT0ndm9pZCAqJyBpbmZvPSd0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpJy8+CisgICAgICA8YXJnIG5hbWU9J25hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nVGhlIGVsZW1lbnQgbmFtZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFNBWDJFbmRFbGVtZW50TnMnIGZpbGU9J1NBWDInIG1vZHVsZT0nU0FYMic+CisgICAgICA8aW5mbz5TQVgyIGNhbGxiYWNrIHdoZW4gYW4gZWxlbWVudCBlbmQgaGFzIGJlZW4gZGV0ZWN0ZWQgYnkgdGhlIHBhcnNlci4gSXQgcHJvdmlkZXMgdGhlIG5hbWVzcGFjZSBpbmZvcm1hdGlvbnMgZm9yIHRoZSBlbGVtZW50LjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHgnIHR5cGU9J3ZvaWQgKicgaW5mbz0ndGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KScvPgorICAgICAgPGFyZyBuYW1lPSdsb2NhbG5hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIGxvY2FsIG5hbWUgb2YgdGhlIGVsZW1lbnQnLz4KKyAgICAgIDxhcmcgbmFtZT0ncHJlZml4JyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBlbGVtZW50IG5hbWVzcGFjZSBwcmVmaXggaWYgYXZhaWxhYmxlJy8+CisgICAgICA8YXJnIG5hbWU9J1VSSScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgZWxlbWVudCBuYW1lc3BhY2UgbmFtZSBpZiBhdmFpbGFibGUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTQVgyRW50aXR5RGVjbCcgZmlsZT0nU0FYMicgbW9kdWxlPSdTQVgyJz4KKyAgICAgIDxpbmZvPkFuIGVudGl0eSBkZWZpbml0aW9uIGhhcyBiZWVuIHBhcnNlZDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHgnIHR5cGU9J3ZvaWQgKicgaW5mbz0ndGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KScvPgorICAgICAgPGFyZyBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBlbnRpdHkgbmFtZScvPgorICAgICAgPGFyZyBuYW1lPSd0eXBlJyB0eXBlPSdpbnQnIGluZm89J3RoZSBlbnRpdHkgdHlwZScvPgorICAgICAgPGFyZyBuYW1lPSdwdWJsaWNJZCcgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSdUaGUgcHVibGljIElEIG9mIHRoZSBlbnRpdHknLz4KKyAgICAgIDxhcmcgbmFtZT0nc3lzdGVtSWQnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nVGhlIHN5c3RlbSBJRCBvZiB0aGUgZW50aXR5Jy8+CisgICAgICA8YXJnIG5hbWU9J2NvbnRlbnQnIHR5cGU9J3htbENoYXIgKicgaW5mbz0ndGhlIGVudGl0eSB2YWx1ZSAod2l0aG91dCBwcm9jZXNzaW5nKS4nLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTQVgyRXh0ZXJuYWxTdWJzZXQnIGZpbGU9J1NBWDInIG1vZHVsZT0nU0FYMic+CisgICAgICA8aW5mbz5DYWxsYmFjayBvbiBleHRlcm5hbCBzdWJzZXQgZGVjbGFyYXRpb24uPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eCcgdHlwZT0ndm9pZCAqJyBpbmZvPSd0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpJy8+CisgICAgICA8YXJnIG5hbWU9J25hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIHJvb3QgZWxlbWVudCBuYW1lJy8+CisgICAgICA8YXJnIG5hbWU9J0V4dGVybmFsSUQnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIGV4dGVybmFsIElEJy8+CisgICAgICA8YXJnIG5hbWU9J1N5c3RlbUlEJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBTWVNURU0gSUQgKGUuZy4gZmlsZW5hbWUgb3IgVVJMKScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFNBWDJHZXRDb2x1bW5OdW1iZXInIGZpbGU9J1NBWDInIG1vZHVsZT0nU0FYMic+CisgICAgICA8aW5mbz5Qcm92aWRlIHRoZSBjb2x1bW4gbnVtYmVyIG9mIHRoZSBjdXJyZW50IHBhcnNpbmcgcG9pbnQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J2FuIGludCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHgnIHR5cGU9J3ZvaWQgKicgaW5mbz0ndGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFNBWDJHZXRFbnRpdHknIGZpbGU9J1NBWDInIG1vZHVsZT0nU0FYMic+CisgICAgICA8aW5mbz5HZXQgYW4gZW50aXR5IGJ5IG5hbWU8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbEVudGl0eVB0cicgaW5mbz0ndGhlIHhtbEVudGl0eVB0ciBpZiBmb3VuZC4nLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4JyB0eXBlPSd2b2lkIConIGluZm89J3RoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCknLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFtZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSdUaGUgZW50aXR5IG5hbWUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTQVgyR2V0TGluZU51bWJlcicgZmlsZT0nU0FYMicgbW9kdWxlPSdTQVgyJz4KKyAgICAgIDxpbmZvPlByb3ZpZGUgdGhlIGxpbmUgbnVtYmVyIG9mIHRoZSBjdXJyZW50IHBhcnNpbmcgcG9pbnQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J2FuIGludCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHgnIHR5cGU9J3ZvaWQgKicgaW5mbz0ndGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFNBWDJHZXRQYXJhbWV0ZXJFbnRpdHknIGZpbGU9J1NBWDInIG1vZHVsZT0nU0FYMic+CisgICAgICA8aW5mbz5HZXQgYSBwYXJhbWV0ZXIgZW50aXR5IGJ5IG5hbWU8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbEVudGl0eVB0cicgaW5mbz0ndGhlIHhtbEVudGl0eVB0ciBpZiBmb3VuZC4nLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4JyB0eXBlPSd2b2lkIConIGluZm89J3RoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCknLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFtZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSdUaGUgZW50aXR5IG5hbWUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTQVgyR2V0UHVibGljSWQnIGZpbGU9J1NBWDInIG1vZHVsZT0nU0FYMic+CisgICAgICA8aW5mbz5Qcm92aWRlcyB0aGUgcHVibGljIElEIGUuZy4gJnF1b3Q7LS8vU0dNTFNPVVJDRS8vRFREIERFTU8vL0VOJnF1b3Q7PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J2EgeG1sQ2hhciAqJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eCcgdHlwZT0ndm9pZCAqJyBpbmZvPSd0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sU0FYMkdldFN5c3RlbUlkJyBmaWxlPSdTQVgyJyBtb2R1bGU9J1NBWDInPgorICAgICAgPGluZm8+UHJvdmlkZXMgdGhlIHN5c3RlbSBJRCwgYmFzaWNhbGx5IFVSTCBvciBmaWxlbmFtZSBlLmcuIGh0dHA6Ly93d3cuc2dtbHNvdXJjZS5jb20vZHRkcy9tZW1vLmR0ZDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSdhIHhtbENoYXIgKicvPgorICAgICAgPGFyZyBuYW1lPSdjdHgnIHR5cGU9J3ZvaWQgKicgaW5mbz0ndGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFNBWDJIYXNFeHRlcm5hbFN1YnNldCcgZmlsZT0nU0FYMicgbW9kdWxlPSdTQVgyJz4KKyAgICAgIDxpbmZvPkRvZXMgdGhpcyBkb2N1bWVudCBoYXMgYW4gZXh0ZXJuYWwgc3Vic2V0PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgdHJ1ZScvPgorICAgICAgPGFyZyBuYW1lPSdjdHgnIHR5cGU9J3ZvaWQgKicgaW5mbz0ndGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFNBWDJIYXNJbnRlcm5hbFN1YnNldCcgZmlsZT0nU0FYMicgbW9kdWxlPSdTQVgyJz4KKyAgICAgIDxpbmZvPkRvZXMgdGhpcyBkb2N1bWVudCBoYXMgYW4gaW50ZXJuYWwgc3Vic2V0PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgdHJ1ZScvPgorICAgICAgPGFyZyBuYW1lPSdjdHgnIHR5cGU9J3ZvaWQgKicgaW5mbz0ndGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFNBWDJJZ25vcmFibGVXaGl0ZXNwYWNlJyBmaWxlPSdTQVgyJyBtb2R1bGU9J1NBWDInPgorICAgICAgPGluZm8+cmVjZWl2aW5nIHNvbWUgaWdub3JhYmxlIHdoaXRlc3BhY2VzIGZyb20gdGhlIHBhcnNlci4gVU5VU0VEOiBieSBkZWZhdWx0IHRoZSBET00gYnVpbGRpbmcgd2lsbCB1c2UgeG1sU0FYMkNoYXJhY3RlcnM8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4JyB0eXBlPSd2b2lkIConIGluZm89J3RoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCknLz4KKyAgICAgIDxhcmcgbmFtZT0nY2gnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nYSB4bWxDaGFyIHN0cmluZycvPgorICAgICAgPGFyZyBuYW1lPSdsZW4nIHR5cGU9J2ludCcgaW5mbz0ndGhlIG51bWJlciBvZiB4bWxDaGFyJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sU0FYMkluaXREZWZhdWx0U0FYSGFuZGxlcicgZmlsZT0nU0FYMicgbW9kdWxlPSdTQVgyJz4KKyAgICAgIDxpbmZvPkluaXRpYWxpemUgdGhlIGRlZmF1bHQgWE1MIFNBWDIgaGFuZGxlcjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdoZGxyJyB0eXBlPSd4bWxTQVhIYW5kbGVyIConIGluZm89J3RoZSBTQVggaGFuZGxlcicvPgorICAgICAgPGFyZyBuYW1lPSd3YXJuaW5nJyB0eXBlPSdpbnQnIGluZm89J2ZsYWcgaWYgbm9uLXplcm8gc2V0cyB0aGUgaGFuZGxlciB3YXJuaW5nIHByb2NlZHVyZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFNBWDJJbml0RG9jYkRlZmF1bHRTQVhIYW5kbGVyJyBmaWxlPSdTQVgyJyBtb2R1bGU9J1NBWDInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfRE9DQl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkluaXRpYWxpemUgdGhlIGRlZmF1bHQgRG9jQm9vayBTQVgyIGhhbmRsZXI8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0naGRscicgdHlwZT0neG1sU0FYSGFuZGxlciAqJyBpbmZvPSd0aGUgU0FYIGhhbmRsZXInLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTQVgySW5pdEh0bWxEZWZhdWx0U0FYSGFuZGxlcicgZmlsZT0nU0FYMicgbW9kdWxlPSdTQVgyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0hUTUxfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5Jbml0aWFsaXplIHRoZSBkZWZhdWx0IEhUTUwgU0FYMiBoYW5kbGVyPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2hkbHInIHR5cGU9J3htbFNBWEhhbmRsZXIgKicgaW5mbz0ndGhlIFNBWCBoYW5kbGVyJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sU0FYMkludGVybmFsU3Vic2V0JyBmaWxlPSdTQVgyJyBtb2R1bGU9J1NBWDInPgorICAgICAgPGluZm8+Q2FsbGJhY2sgb24gaW50ZXJuYWwgc3Vic2V0IGRlY2xhcmF0aW9uLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHgnIHR5cGU9J3ZvaWQgKicgaW5mbz0ndGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KScvPgorICAgICAgPGFyZyBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSByb290IGVsZW1lbnQgbmFtZScvPgorICAgICAgPGFyZyBuYW1lPSdFeHRlcm5hbElEJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBleHRlcm5hbCBJRCcvPgorICAgICAgPGFyZyBuYW1lPSdTeXN0ZW1JRCcgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgU1lTVEVNIElEIChlLmcuIGZpbGVuYW1lIG9yIFVSTCknLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTQVgySXNTdGFuZGFsb25lJyBmaWxlPSdTQVgyJyBtb2R1bGU9J1NBWDInPgorICAgICAgPGluZm8+SXMgdGhpcyBkb2N1bWVudCB0YWdnZWQgc3RhbmRhbG9uZSA/PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgdHJ1ZScvPgorICAgICAgPGFyZyBuYW1lPSdjdHgnIHR5cGU9J3ZvaWQgKicgaW5mbz0ndGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFNBWDJOb3RhdGlvbkRlY2wnIGZpbGU9J1NBWDInIG1vZHVsZT0nU0FYMic+CisgICAgICA8aW5mbz5XaGF0IHRvIGRvIHdoZW4gYSBub3RhdGlvbiBkZWNsYXJhdGlvbiBoYXMgYmVlbiBwYXJzZWQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eCcgdHlwZT0ndm9pZCAqJyBpbmZvPSd0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpJy8+CisgICAgICA8YXJnIG5hbWU9J25hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nVGhlIG5hbWUgb2YgdGhlIG5vdGF0aW9uJy8+CisgICAgICA8YXJnIG5hbWU9J3B1YmxpY0lkJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J1RoZSBwdWJsaWMgSUQgb2YgdGhlIGVudGl0eScvPgorICAgICAgPGFyZyBuYW1lPSdzeXN0ZW1JZCcgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSdUaGUgc3lzdGVtIElEIG9mIHRoZSBlbnRpdHknLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTQVgyUHJvY2Vzc2luZ0luc3RydWN0aW9uJyBmaWxlPSdTQVgyJyBtb2R1bGU9J1NBWDInPgorICAgICAgPGluZm8+QSBwcm9jZXNzaW5nIGluc3RydWN0aW9uIGhhcyBiZWVuIHBhcnNlZC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4JyB0eXBlPSd2b2lkIConIGluZm89J3RoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCknLz4KKyAgICAgIDxhcmcgbmFtZT0ndGFyZ2V0JyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSB0YXJnZXQgbmFtZScvPgorICAgICAgPGFyZyBuYW1lPSdkYXRhJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBQSSBkYXRhJmFwb3M7cycvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFNBWDJSZWZlcmVuY2UnIGZpbGU9J1NBWDInIG1vZHVsZT0nU0FYMic+CisgICAgICA8aW5mbz5jYWxsZWQgd2hlbiBhbiBlbnRpdHkgeG1sU0FYMlJlZmVyZW5jZSBpcyBkZXRlY3RlZC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4JyB0eXBlPSd2b2lkIConIGluZm89J3RoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCknLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFtZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSdUaGUgZW50aXR5IG5hbWUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTQVgyUmVzb2x2ZUVudGl0eScgZmlsZT0nU0FYMicgbW9kdWxlPSdTQVgyJz4KKyAgICAgIDxpbmZvPlRoZSBlbnRpdHkgbG9hZGVyLCB0byBjb250cm9sIHRoZSBsb2FkaW5nIG9mIGV4dGVybmFsIGVudGl0aWVzLCB0aGUgYXBwbGljYXRpb24gY2FuIGVpdGhlcjogLSBvdmVycmlkZSB0aGlzIHhtbFNBWDJSZXNvbHZlRW50aXR5KCkgY2FsbGJhY2sgaW4gdGhlIFNBWCBibG9jayAtIG9yIGJldHRlciB1c2UgdGhlIHhtbFNldEV4dGVybmFsRW50aXR5TG9hZGVyKCkgZnVuY3Rpb24gdG8gc2V0IHVwIGl0JmFwb3M7cyBvd24gZW50aXR5IHJlc29sdXRpb24gcm91dGluZTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sUGFyc2VySW5wdXRQdHInIGluZm89J3RoZSB4bWxQYXJzZXJJbnB1dFB0ciBpZiBpbmxpbmVkIG9yIE5VTEwgZm9yIERPTSBiZWhhdmlvdXIuJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eCcgdHlwZT0ndm9pZCAqJyBpbmZvPSd0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpJy8+CisgICAgICA8YXJnIG5hbWU9J3B1YmxpY0lkJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J1RoZSBwdWJsaWMgSUQgb2YgdGhlIGVudGl0eScvPgorICAgICAgPGFyZyBuYW1lPSdzeXN0ZW1JZCcgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSdUaGUgc3lzdGVtIElEIG9mIHRoZSBlbnRpdHknLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTQVgyU2V0RG9jdW1lbnRMb2NhdG9yJyBmaWxlPSdTQVgyJyBtb2R1bGU9J1NBWDInPgorICAgICAgPGluZm8+UmVjZWl2ZSB0aGUgZG9jdW1lbnQgbG9jYXRvciBhdCBzdGFydHVwLCBhY3R1YWxseSB4bWxEZWZhdWx0U0FYTG9jYXRvciBFdmVyeXRoaW5nIGlzIGF2YWlsYWJsZSBvbiB0aGUgY29udGV4dCwgc28gdGhpcyBpcyB1c2VsZXNzIGluIG91ciBjYXNlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHgnIHR5cGU9J3ZvaWQgKicgaW5mbz0ndGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KScvPgorICAgICAgPGFyZyBuYW1lPSdsb2MnIHR5cGU9J3htbFNBWExvY2F0b3JQdHInIGluZm89J0EgU0FYIExvY2F0b3InLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTQVgyU3RhcnREb2N1bWVudCcgZmlsZT0nU0FYMicgbW9kdWxlPSdTQVgyJz4KKyAgICAgIDxpbmZvPmNhbGxlZCB3aGVuIHRoZSBkb2N1bWVudCBzdGFydCBiZWluZyBwcm9jZXNzZWQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eCcgdHlwZT0ndm9pZCAqJyBpbmZvPSd0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sU0FYMlN0YXJ0RWxlbWVudCcgZmlsZT0nU0FYMicgbW9kdWxlPSdTQVgyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1NBWDFfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfRE9DQl9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9MRUdBQ1lfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5jYWxsZWQgd2hlbiBhbiBvcGVuaW5nIHRhZyBoYXMgYmVlbiBwcm9jZXNzZWQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eCcgdHlwZT0ndm9pZCAqJyBpbmZvPSd0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpJy8+CisgICAgICA8YXJnIG5hbWU9J2Z1bGxuYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J1RoZSBlbGVtZW50IG5hbWUsIGluY2x1ZGluZyBuYW1lc3BhY2UgcHJlZml4Jy8+CisgICAgICA8YXJnIG5hbWU9J2F0dHMnIHR5cGU9J2NvbnN0IHhtbENoYXIgKionIGluZm89J0FuIGFycmF5IG9mIG5hbWUvdmFsdWUgYXR0cmlidXRlcyBwYWlycywgTlVMTCB0ZXJtaW5hdGVkJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sU0FYMlN0YXJ0RWxlbWVudE5zJyBmaWxlPSdTQVgyJyBtb2R1bGU9J1NBWDInPgorICAgICAgPGluZm8+U0FYMiBjYWxsYmFjayB3aGVuIGFuIGVsZW1lbnQgc3RhcnQgaGFzIGJlZW4gZGV0ZWN0ZWQgYnkgdGhlIHBhcnNlci4gSXQgcHJvdmlkZXMgdGhlIG5hbWVzcGFjZSBpbmZvcm1hdGlvbnMgZm9yIHRoZSBlbGVtZW50LCBhcyB3ZWxsIGFzIHRoZSBuZXcgbmFtZXNwYWNlIGRlY2xhcmF0aW9ucyBvbiB0aGUgZWxlbWVudC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4JyB0eXBlPSd2b2lkIConIGluZm89J3RoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCknLz4KKyAgICAgIDxhcmcgbmFtZT0nbG9jYWxuYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBsb2NhbCBuYW1lIG9mIHRoZSBlbGVtZW50Jy8+CisgICAgICA8YXJnIG5hbWU9J3ByZWZpeCcgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgZWxlbWVudCBuYW1lc3BhY2UgcHJlZml4IGlmIGF2YWlsYWJsZScvPgorICAgICAgPGFyZyBuYW1lPSdVUkknIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIGVsZW1lbnQgbmFtZXNwYWNlIG5hbWUgaWYgYXZhaWxhYmxlJy8+CisgICAgICA8YXJnIG5hbWU9J25iX25hbWVzcGFjZXMnIHR5cGU9J2ludCcgaW5mbz0nbnVtYmVyIG9mIG5hbWVzcGFjZSBkZWZpbml0aW9ucyBvbiB0aGF0IG5vZGUnLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFtZXNwYWNlcycgdHlwZT0nY29uc3QgeG1sQ2hhciAqKicgaW5mbz0ncG9pbnRlciB0byB0aGUgYXJyYXkgb2YgcHJlZml4L1VSSSBwYWlycyBuYW1lc3BhY2UgZGVmaW5pdGlvbnMnLz4KKyAgICAgIDxhcmcgbmFtZT0nbmJfYXR0cmlidXRlcycgdHlwZT0naW50JyBpbmZvPSd0aGUgbnVtYmVyIG9mIGF0dHJpYnV0ZXMgb24gdGhhdCBub2RlJy8+CisgICAgICA8YXJnIG5hbWU9J25iX2RlZmF1bHRlZCcgdHlwZT0naW50JyBpbmZvPSd0aGUgbnVtYmVyIG9mIGRlZmF1bHRlZCBhdHRyaWJ1dGVzLicvPgorICAgICAgPGFyZyBuYW1lPSdhdHRyaWJ1dGVzJyB0eXBlPSdjb25zdCB4bWxDaGFyICoqJyBpbmZvPSdwb2ludGVyIHRvIHRoZSBhcnJheSBvZiAobG9jYWxuYW1lL3ByZWZpeC9VUkkvdmFsdWUvZW5kKSBhdHRyaWJ1dGUgdmFsdWVzLicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFNBWDJVbnBhcnNlZEVudGl0eURlY2wnIGZpbGU9J1NBWDInIG1vZHVsZT0nU0FYMic+CisgICAgICA8aW5mbz5XaGF0IHRvIGRvIHdoZW4gYW4gdW5wYXJzZWQgZW50aXR5IGRlY2xhcmF0aW9uIGlzIHBhcnNlZDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHgnIHR5cGU9J3ZvaWQgKicgaW5mbz0ndGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KScvPgorICAgICAgPGFyZyBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J1RoZSBuYW1lIG9mIHRoZSBlbnRpdHknLz4KKyAgICAgIDxhcmcgbmFtZT0ncHVibGljSWQnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nVGhlIHB1YmxpYyBJRCBvZiB0aGUgZW50aXR5Jy8+CisgICAgICA8YXJnIG5hbWU9J3N5c3RlbUlkJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J1RoZSBzeXN0ZW0gSUQgb2YgdGhlIGVudGl0eScvPgorICAgICAgPGFyZyBuYW1lPSdub3RhdGlvbk5hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIG5hbWUgb2YgdGhlIG5vdGF0aW9uJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sU0FYRGVmYXVsdFZlcnNpb24nIGZpbGU9J1NBWDInIG1vZHVsZT0nU0FYMic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9TQVgxX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+U2V0IHRoZSBkZWZhdWx0IHZlcnNpb24gb2YgU0FYIHVzZWQgZ2xvYmFsbHkgYnkgdGhlIGxpYnJhcnkuIEJ5IGRlZmF1bHQsIGR1cmluZyBpbml0aWFsaXphdGlvbiB0aGUgZGVmYXVsdCBpcyBzZXQgdG8gMi4gTm90ZSB0aGF0IGl0IGlzIGdlbmVyYWxseSBhIGJldHRlciBjb2Rpbmcgc3R5bGUgdG8gdXNlIHhtbFNBWFZlcnNpb24oKSB0byBzZXQgdXAgdGhlIHZlcnNpb24gZXhwbGljaXRseSBmb3IgYSBnaXZlbiBwYXJzaW5nIGNvbnRleHQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J3RoZSBwcmV2aW91cyB2YWx1ZSBpbiBjYXNlIG9mIHN1Y2Nlc3MgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3IuJy8+CisgICAgICA8YXJnIG5hbWU9J3ZlcnNpb24nIHR5cGU9J2ludCcgaW5mbz0ndGhlIHZlcnNpb24sIDEgb3IgMicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFNBWFBhcnNlRFREJyBmaWxlPSdwYXJzZXInIG1vZHVsZT0ncGFyc2VyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1ZBTElEX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+TG9hZCBhbmQgcGFyc2UgYW4gZXh0ZXJuYWwgc3Vic2V0LjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sRHRkUHRyJyBpbmZvPSd0aGUgcmVzdWx0aW5nIHhtbER0ZFB0ciBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuJy8+CisgICAgICA8YXJnIG5hbWU9J3NheCcgdHlwZT0neG1sU0FYSGFuZGxlclB0cicgaW5mbz0ndGhlIFNBWCBoYW5kbGVyIGJsb2NrJy8+CisgICAgICA8YXJnIG5hbWU9J0V4dGVybmFsSUQnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nYSBOQU1FKiBjb250YWluaW5nIHRoZSBFeHRlcm5hbCBJRCBvZiB0aGUgRFREJy8+CisgICAgICA8YXJnIG5hbWU9J1N5c3RlbUlEJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J2EgTkFNRSogY29udGFpbmluZyB0aGUgVVJMIHRvIHRoZSBEVEQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTQVhQYXJzZURvYycgZmlsZT0ncGFyc2VyJyBtb2R1bGU9J3BhcnNlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9TQVgxX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+cGFyc2UgYW4gWE1MIGluLW1lbW9yeSBkb2N1bWVudCBhbmQgYnVpbGQgYSB0cmVlLiBJdCB1c2UgdGhlIGdpdmVuIFNBWCBmdW5jdGlvbiBibG9jayB0byBoYW5kbGUgdGhlIHBhcnNpbmcgY2FsbGJhY2suIElmIHNheCBpcyBOVUxMLCBmYWxsYmFjayB0byB0aGUgZGVmYXVsdCBET00gdHJlZSBidWlsZGluZyByb3V0aW5lcy48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbERvY1B0cicgaW5mbz0ndGhlIHJlc3VsdGluZyBkb2N1bWVudCB0cmVlJy8+CisgICAgICA8YXJnIG5hbWU9J3NheCcgdHlwZT0neG1sU0FYSGFuZGxlclB0cicgaW5mbz0ndGhlIFNBWCBoYW5kbGVyIGJsb2NrJy8+CisgICAgICA8YXJnIG5hbWU9J2N1cicgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSdhIHBvaW50ZXIgdG8gYW4gYXJyYXkgb2YgeG1sQ2hhcicvPgorICAgICAgPGFyZyBuYW1lPSdyZWNvdmVyeScgdHlwZT0naW50JyBpbmZvPSd3b3JrIGluIHJlY292ZXJ5IG1vZGUsIGkuZS4gdHJpZXMgdG8gcmVhZCBubyBXZWxsIEZvcm1lZCBkb2N1bWVudHMnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTQVhQYXJzZUVudGl0eScgZmlsZT0ncGFyc2VyJyBtb2R1bGU9J3BhcnNlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9TQVgxX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+cGFyc2UgYW4gWE1MIGV4dGVybmFsIGVudGl0eSBvdXQgb2YgY29udGV4dCBhbmQgYnVpbGQgYSB0cmVlLiBJdCB1c2UgdGhlIGdpdmVuIFNBWCBmdW5jdGlvbiBibG9jayB0byBoYW5kbGUgdGhlIHBhcnNpbmcgY2FsbGJhY2suIElmIHNheCBpcyBOVUxMLCBmYWxsYmFjayB0byB0aGUgZGVmYXVsdCBET00gdHJlZSBidWlsZGluZyByb3V0aW5lcy4gIFs3OF0gZXh0UGFyc2VkRW50IDo6PSBUZXh0RGVjbD8gY29udGVudCAgVGhpcyBjb3JyZXNwb25kIHRvIGEgJnF1b3Q7V2VsbCBCYWxhbmNlZCZxdW90OyBjaHVuazwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sRG9jUHRyJyBpbmZvPSd0aGUgcmVzdWx0aW5nIGRvY3VtZW50IHRyZWUnLz4KKyAgICAgIDxhcmcgbmFtZT0nc2F4JyB0eXBlPSd4bWxTQVhIYW5kbGVyUHRyJyBpbmZvPSd0aGUgU0FYIGhhbmRsZXIgYmxvY2snLz4KKyAgICAgIDxhcmcgbmFtZT0nZmlsZW5hbWUnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIGZpbGVuYW1lJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sU0FYUGFyc2VGaWxlJyBmaWxlPSdwYXJzZXInIG1vZHVsZT0ncGFyc2VyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1NBWDFfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5wYXJzZSBhbiBYTUwgZmlsZSBhbmQgYnVpbGQgYSB0cmVlLiBBdXRvbWF0aWMgc3VwcG9ydCBmb3IgWkxJQi9Db21wcmVzcyBjb21wcmVzc2VkIGRvY3VtZW50IGlzIHByb3ZpZGVkIGJ5IGRlZmF1bHQgaWYgZm91bmQgYXQgY29tcGlsZS10aW1lLiBJdCB1c2UgdGhlIGdpdmVuIFNBWCBmdW5jdGlvbiBibG9jayB0byBoYW5kbGUgdGhlIHBhcnNpbmcgY2FsbGJhY2suIElmIHNheCBpcyBOVUxMLCBmYWxsYmFjayB0byB0aGUgZGVmYXVsdCBET00gdHJlZSBidWlsZGluZyByb3V0aW5lcy48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbERvY1B0cicgaW5mbz0ndGhlIHJlc3VsdGluZyBkb2N1bWVudCB0cmVlJy8+CisgICAgICA8YXJnIG5hbWU9J3NheCcgdHlwZT0neG1sU0FYSGFuZGxlclB0cicgaW5mbz0ndGhlIFNBWCBoYW5kbGVyIGJsb2NrJy8+CisgICAgICA8YXJnIG5hbWU9J2ZpbGVuYW1lJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBmaWxlbmFtZScvPgorICAgICAgPGFyZyBuYW1lPSdyZWNvdmVyeScgdHlwZT0naW50JyBpbmZvPSd3b3JrIGluIHJlY292ZXJ5IG1vZGUsIGkuZS4gdHJpZXMgdG8gcmVhZCBubyBXZWxsIEZvcm1lZCBkb2N1bWVudHMnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTQVhQYXJzZUZpbGVXaXRoRGF0YScgZmlsZT0ncGFyc2VyJyBtb2R1bGU9J3BhcnNlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9TQVgxX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+cGFyc2UgYW4gWE1MIGZpbGUgYW5kIGJ1aWxkIGEgdHJlZS4gQXV0b21hdGljIHN1cHBvcnQgZm9yIFpMSUIvQ29tcHJlc3MgY29tcHJlc3NlZCBkb2N1bWVudCBpcyBwcm92aWRlZCBieSBkZWZhdWx0IGlmIGZvdW5kIGF0IGNvbXBpbGUtdGltZS4gSXQgdXNlIHRoZSBnaXZlbiBTQVggZnVuY3Rpb24gYmxvY2sgdG8gaGFuZGxlIHRoZSBwYXJzaW5nIGNhbGxiYWNrLiBJZiBzYXggaXMgTlVMTCwgZmFsbGJhY2sgdG8gdGhlIGRlZmF1bHQgRE9NIHRyZWUgYnVpbGRpbmcgcm91dGluZXMuICBVc2VyIGRhdGEgKHZvaWQgKikgaXMgc3RvcmVkIHdpdGhpbiB0aGUgcGFyc2VyIGNvbnRleHQgaW4gdGhlIGNvbnRleHQmYXBvcztzIF9wcml2YXRlIG1lbWJlciwgc28gaXQgaXMgYXZhaWxhYmxlIG5lYXJseSBldmVyeXdoZXJlIGluIGxpYnhtbDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sRG9jUHRyJyBpbmZvPSd0aGUgcmVzdWx0aW5nIGRvY3VtZW50IHRyZWUnLz4KKyAgICAgIDxhcmcgbmFtZT0nc2F4JyB0eXBlPSd4bWxTQVhIYW5kbGVyUHRyJyBpbmZvPSd0aGUgU0FYIGhhbmRsZXIgYmxvY2snLz4KKyAgICAgIDxhcmcgbmFtZT0nZmlsZW5hbWUnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIGZpbGVuYW1lJy8+CisgICAgICA8YXJnIG5hbWU9J3JlY292ZXJ5JyB0eXBlPSdpbnQnIGluZm89J3dvcmsgaW4gcmVjb3ZlcnkgbW9kZSwgaS5lLiB0cmllcyB0byByZWFkIG5vIFdlbGwgRm9ybWVkIGRvY3VtZW50cycvPgorICAgICAgPGFyZyBuYW1lPSdkYXRhJyB0eXBlPSd2b2lkIConIGluZm89J3RoZSB1c2VyZGF0YScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFNBWFBhcnNlTWVtb3J5JyBmaWxlPSdwYXJzZXInIG1vZHVsZT0ncGFyc2VyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1NBWDFfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5wYXJzZSBhbiBYTUwgaW4tbWVtb3J5IGJsb2NrIGFuZCB1c2UgdGhlIGdpdmVuIFNBWCBmdW5jdGlvbiBibG9jayB0byBoYW5kbGUgdGhlIHBhcnNpbmcgY2FsbGJhY2suIElmIHNheCBpcyBOVUxMLCBmYWxsYmFjayB0byB0aGUgZGVmYXVsdCBET00gdHJlZSBidWlsZGluZyByb3V0aW5lcy48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbERvY1B0cicgaW5mbz0ndGhlIHJlc3VsdGluZyBkb2N1bWVudCB0cmVlJy8+CisgICAgICA8YXJnIG5hbWU9J3NheCcgdHlwZT0neG1sU0FYSGFuZGxlclB0cicgaW5mbz0ndGhlIFNBWCBoYW5kbGVyIGJsb2NrJy8+CisgICAgICA8YXJnIG5hbWU9J2J1ZmZlcicgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSdhbiBwb2ludGVyIHRvIGEgY2hhciBhcnJheScvPgorICAgICAgPGFyZyBuYW1lPSdzaXplJyB0eXBlPSdpbnQnIGluZm89J3RoZSBzaXplIG9mIHRoZSBhcnJheScvPgorICAgICAgPGFyZyBuYW1lPSdyZWNvdmVyeScgdHlwZT0naW50JyBpbmZvPSd3b3JrIGluIHJlY292ZXJ5IG1vZGUsIGkuZS4gdHJpZXMgdG8gcmVhZCBub3QgV2VsbCBGb3JtZWQgZG9jdW1lbnRzJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sU0FYUGFyc2VNZW1vcnlXaXRoRGF0YScgZmlsZT0ncGFyc2VyJyBtb2R1bGU9J3BhcnNlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9TQVgxX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+cGFyc2UgYW4gWE1MIGluLW1lbW9yeSBibG9jayBhbmQgdXNlIHRoZSBnaXZlbiBTQVggZnVuY3Rpb24gYmxvY2sgdG8gaGFuZGxlIHRoZSBwYXJzaW5nIGNhbGxiYWNrLiBJZiBzYXggaXMgTlVMTCwgZmFsbGJhY2sgdG8gdGhlIGRlZmF1bHQgRE9NIHRyZWUgYnVpbGRpbmcgcm91dGluZXMuICBVc2VyIGRhdGEgKHZvaWQgKikgaXMgc3RvcmVkIHdpdGhpbiB0aGUgcGFyc2VyIGNvbnRleHQgaW4gdGhlIGNvbnRleHQmYXBvcztzIF9wcml2YXRlIG1lbWJlciwgc28gaXQgaXMgYXZhaWxhYmxlIG5lYXJseSBldmVyeXdoZXJlIGluIGxpYnhtbDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sRG9jUHRyJyBpbmZvPSd0aGUgcmVzdWx0aW5nIGRvY3VtZW50IHRyZWUnLz4KKyAgICAgIDxhcmcgbmFtZT0nc2F4JyB0eXBlPSd4bWxTQVhIYW5kbGVyUHRyJyBpbmZvPSd0aGUgU0FYIGhhbmRsZXIgYmxvY2snLz4KKyAgICAgIDxhcmcgbmFtZT0nYnVmZmVyJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J2FuIHBvaW50ZXIgdG8gYSBjaGFyIGFycmF5Jy8+CisgICAgICA8YXJnIG5hbWU9J3NpemUnIHR5cGU9J2ludCcgaW5mbz0ndGhlIHNpemUgb2YgdGhlIGFycmF5Jy8+CisgICAgICA8YXJnIG5hbWU9J3JlY292ZXJ5JyB0eXBlPSdpbnQnIGluZm89J3dvcmsgaW4gcmVjb3ZlcnkgbW9kZSwgaS5lLiB0cmllcyB0byByZWFkIG5vIFdlbGwgRm9ybWVkIGRvY3VtZW50cycvPgorICAgICAgPGFyZyBuYW1lPSdkYXRhJyB0eXBlPSd2b2lkIConIGluZm89J3RoZSB1c2VyZGF0YScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFNBWFVzZXJQYXJzZUZpbGUnIGZpbGU9J3BhcnNlcicgbW9kdWxlPSdwYXJzZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfU0FYMV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPnBhcnNlIGFuIFhNTCBmaWxlIGFuZCBjYWxsIHRoZSBnaXZlbiBTQVggaGFuZGxlciByb3V0aW5lcy4gQXV0b21hdGljIHN1cHBvcnQgZm9yIFpMSUIvQ29tcHJlc3MgY29tcHJlc3NlZCBkb2N1bWVudCBpcyBwcm92aWRlZDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScwIGluIGNhc2Ugb2Ygc3VjY2VzcyBvciBhIGVycm9yIG51bWJlciBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nc2F4JyB0eXBlPSd4bWxTQVhIYW5kbGVyUHRyJyBpbmZvPSdhIFNBWCBoYW5kbGVyJy8+CisgICAgICA8YXJnIG5hbWU9J3VzZXJfZGF0YScgdHlwZT0ndm9pZCAqJyBpbmZvPSdUaGUgdXNlciBkYXRhIHJldHVybmVkIG9uIFNBWCBjYWxsYmFja3MnLz4KKyAgICAgIDxhcmcgbmFtZT0nZmlsZW5hbWUnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0nYSBmaWxlIG5hbWUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTQVhVc2VyUGFyc2VNZW1vcnknIGZpbGU9J3BhcnNlcicgbW9kdWxlPSdwYXJzZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfU0FYMV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkEgYmV0dGVyIFNBWCBwYXJzaW5nIHJvdXRpbmUuIHBhcnNlIGFuIFhNTCBpbi1tZW1vcnkgYnVmZmVyIGFuZCBjYWxsIHRoZSBnaXZlbiBTQVggaGFuZGxlciByb3V0aW5lcy48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMCBpbiBjYXNlIG9mIHN1Y2Nlc3Mgb3IgYSBlcnJvciBudW1iZXIgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J3NheCcgdHlwZT0neG1sU0FYSGFuZGxlclB0cicgaW5mbz0nYSBTQVggaGFuZGxlcicvPgorICAgICAgPGFyZyBuYW1lPSd1c2VyX2RhdGEnIHR5cGU9J3ZvaWQgKicgaW5mbz0nVGhlIHVzZXIgZGF0YSByZXR1cm5lZCBvbiBTQVggY2FsbGJhY2tzJy8+CisgICAgICA8YXJnIG5hbWU9J2J1ZmZlcicgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSdhbiBpbi1tZW1vcnkgWE1MIGRvY3VtZW50IGlucHV0Jy8+CisgICAgICA8YXJnIG5hbWU9J3NpemUnIHR5cGU9J2ludCcgaW5mbz0ndGhlIGxlbmd0aCBvZiB0aGUgWE1MIGRvY3VtZW50IGluIGJ5dGVzJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sU0FYVmVyc2lvbicgZmlsZT0nU0FYMicgbW9kdWxlPSdTQVgyJz4KKyAgICAgIDxpbmZvPkluaXRpYWxpemUgdGhlIGRlZmF1bHQgWE1MIFNBWCBoYW5kbGVyIGFjY29yZGluZyB0byB0aGUgdmVyc2lvbjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScwIGluIGNhc2Ugb2Ygc3VjY2VzcyBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvci4nLz4KKyAgICAgIDxhcmcgbmFtZT0naGRscicgdHlwZT0neG1sU0FYSGFuZGxlciAqJyBpbmZvPSd0aGUgU0FYIGhhbmRsZXInLz4KKyAgICAgIDxhcmcgbmFtZT0ndmVyc2lvbicgdHlwZT0naW50JyBpbmZvPSd0aGUgdmVyc2lvbiwgMSBvciAyJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sU2F2ZUNsb3NlJyBmaWxlPSd4bWxzYXZlJyBtb2R1bGU9J3htbHNhdmUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2xvc2UgYSBkb2N1bWVudCBzYXZpbmcgY29udGV4dCwgaS5lLiBtYWtlIHN1cmUgdGhhdCBhbGwgYnl0ZXMgaGF2ZSBiZWVuIG91dHB1dCBhbmQgZnJlZSB0aGUgYXNzb2NpYXRlZCBkYXRhLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgbnVtYmVyIG9mIGJ5dGUgd3JpdHRlbiBvciAtMSBpbiBjYXNlIG9mIGVycm9yLicvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxTYXZlQ3R4dFB0cicgaW5mbz0nYSBkb2N1bWVudCBzYXZpbmcgY29udGV4dCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFNhdmVEb2MnIGZpbGU9J3htbHNhdmUnIG1vZHVsZT0neG1sc2F2ZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5TYXZlIGEgZnVsbCBkb2N1bWVudCB0byBhIHNhdmluZyBjb250ZXh0IFRPRE86IFRoZSBmdW5jdGlvbiBpcyBub3QgZnVsbHkgaW1wbGVtZW50ZWQgeWV0IGFzIGl0IGRvZXMgbm90IHJldHVybiB0aGUgYnl0ZSBjb3VudCBidXQgMCBpbnN0ZWFkPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdsb25nJyBpbmZvPSd0aGUgbnVtYmVyIG9mIGJ5dGUgd3JpdHRlbiBvciAtMSBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFNhdmVDdHh0UHRyJyBpbmZvPSdhIGRvY3VtZW50IHNhdmluZyBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J2RvYycgdHlwZT0neG1sRG9jUHRyJyBpbmZvPSdhIGRvY3VtZW50Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sU2F2ZUZpbGUnIGZpbGU9J3RyZWUnIG1vZHVsZT0neG1sc2F2ZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5EdW1wIGFuIFhNTCBkb2N1bWVudCB0byBhIGZpbGUuIFdpbGwgdXNlIGNvbXByZXNzaW9uIGlmIGNvbXBpbGVkIGluIGFuZCBlbmFibGVkLiBJZiBAZmlsZW5hbWUgaXMgJnF1b3Q7LSZxdW90OyB0aGUgc3Rkb3V0IGZpbGUgaXMgdXNlZC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndGhlIG51bWJlciBvZiBieXRlcyB3cml0dGVuIG9yIC0xIGluIGNhc2Ugb2YgZmFpbHVyZS4nLz4KKyAgICAgIDxhcmcgbmFtZT0nZmlsZW5hbWUnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIGZpbGVuYW1lIChvciBVUkwpJy8+CisgICAgICA8YXJnIG5hbWU9J2N1cicgdHlwZT0neG1sRG9jUHRyJyBpbmZvPSd0aGUgZG9jdW1lbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTYXZlRmlsZUVuYycgZmlsZT0ndHJlZScgbW9kdWxlPSd4bWxzYXZlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkR1bXAgYW4gWE1MIGRvY3VtZW50LCBjb252ZXJ0aW5nIGl0IHRvIHRoZSBnaXZlbiBlbmNvZGluZzwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgbnVtYmVyIG9mIGJ5dGVzIHdyaXR0ZW4gb3IgLTEgaW4gY2FzZSBvZiBmYWlsdXJlLicvPgorICAgICAgPGFyZyBuYW1lPSdmaWxlbmFtZScgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSd0aGUgZmlsZW5hbWUgKG9yIFVSTCknLz4KKyAgICAgIDxhcmcgbmFtZT0nY3VyJyB0eXBlPSd4bWxEb2NQdHInIGluZm89J3RoZSBkb2N1bWVudCcvPgorICAgICAgPGFyZyBuYW1lPSdlbmNvZGluZycgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSd0aGUgbmFtZSBvZiBhbiBlbmNvZGluZyAob3IgTlVMTCknLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTYXZlRmlsZVRvJyBmaWxlPSd0cmVlJyBtb2R1bGU9J3htbHNhdmUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+RHVtcCBhbiBYTUwgZG9jdW1lbnQgdG8gYW4gSS9PIGJ1ZmZlci4gV2FybmluZyAhIFRoaXMgY2FsbCB4bWxPdXRwdXRCdWZmZXJDbG9zZSgpIG9uIGJ1ZiB3aGljaCBpcyBub3QgYXZhaWxhYmxlIGFmdGVyIHRoaXMgY2FsbC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndGhlIG51bWJlciBvZiBieXRlcyB3cml0dGVuIG9yIC0xIGluIGNhc2Ugb2YgZmFpbHVyZS4nLz4KKyAgICAgIDxhcmcgbmFtZT0nYnVmJyB0eXBlPSd4bWxPdXRwdXRCdWZmZXJQdHInIGluZm89J2FuIG91dHB1dCBJL08gYnVmZmVyJy8+CisgICAgICA8YXJnIG5hbWU9J2N1cicgdHlwZT0neG1sRG9jUHRyJyBpbmZvPSd0aGUgZG9jdW1lbnQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZW5jb2RpbmcnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIGVuY29kaW5nIGlmIGFueSBhc3N1bWluZyB0aGUgSS9PIGxheWVyIGhhbmRsZXMgdGhlIHRyYW5jb2RpbmcnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTYXZlRmx1c2gnIGZpbGU9J3htbHNhdmUnIG1vZHVsZT0neG1sc2F2ZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5GbHVzaCBhIGRvY3VtZW50IHNhdmluZyBjb250ZXh0LCBpLmUuIG1ha2Ugc3VyZSB0aGF0IGFsbCBieXRlcyBoYXZlIGJlZW4gb3V0cHV0LjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgbnVtYmVyIG9mIGJ5dGUgd3JpdHRlbiBvciAtMSBpbiBjYXNlIG9mIGVycm9yLicvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxTYXZlQ3R4dFB0cicgaW5mbz0nYSBkb2N1bWVudCBzYXZpbmcgY29udGV4dCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFNhdmVGb3JtYXRGaWxlJyBmaWxlPSd0cmVlJyBtb2R1bGU9J3htbHNhdmUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+RHVtcCBhbiBYTUwgZG9jdW1lbnQgdG8gYSBmaWxlLiBXaWxsIHVzZSBjb21wcmVzc2lvbiBpZiBjb21waWxlZCBpbiBhbmQgZW5hYmxlZC4gSWYgQGZpbGVuYW1lIGlzICZxdW90Oy0mcXVvdDsgdGhlIHN0ZG91dCBmaWxlIGlzIHVzZWQuIElmIEBmb3JtYXQgaXMgc2V0IHRoZW4gdGhlIGRvY3VtZW50IHdpbGwgYmUgaW5kZW50ZWQgb24gb3V0cHV0LiBOb3RlIHRoYXQgQGZvcm1hdCA9IDEgcHJvdmlkZSBub2RlIGluZGVudGluZyBvbmx5IGlmIHhtbEluZGVudFRyZWVPdXRwdXQgPSAxIG9yIHhtbEtlZXBCbGFua3NEZWZhdWx0KDApIHdhcyBjYWxsZWQ8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndGhlIG51bWJlciBvZiBieXRlcyB3cml0dGVuIG9yIC0xIGluIGNhc2Ugb2YgZmFpbHVyZS4nLz4KKyAgICAgIDxhcmcgbmFtZT0nZmlsZW5hbWUnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIGZpbGVuYW1lIChvciBVUkwpJy8+CisgICAgICA8YXJnIG5hbWU9J2N1cicgdHlwZT0neG1sRG9jUHRyJyBpbmZvPSd0aGUgZG9jdW1lbnQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZm9ybWF0JyB0eXBlPSdpbnQnIGluZm89J3Nob3VsZCBmb3JtYXR0aW5nIHNwYWNlcyBiZWVuIGFkZGVkJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sU2F2ZUZvcm1hdEZpbGVFbmMnIGZpbGU9J3RyZWUnIG1vZHVsZT0neG1sc2F2ZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5EdW1wIGFuIFhNTCBkb2N1bWVudCB0byBhIGZpbGUgb3IgYW4gVVJMLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgbnVtYmVyIG9mIGJ5dGVzIHdyaXR0ZW4gb3IgLTEgaW4gY2FzZSBvZiBlcnJvci4gTm90ZSB0aGF0IEBmb3JtYXQgPSAxIHByb3ZpZGUgbm9kZSBpbmRlbnRpbmcgb25seSBpZiB4bWxJbmRlbnRUcmVlT3V0cHV0ID0gMSBvciB4bWxLZWVwQmxhbmtzRGVmYXVsdCgwKSB3YXMgY2FsbGVkJy8+CisgICAgICA8YXJnIG5hbWU9J2ZpbGVuYW1lJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBmaWxlbmFtZSBvciBVUkwgdG8gb3V0cHV0Jy8+CisgICAgICA8YXJnIG5hbWU9J2N1cicgdHlwZT0neG1sRG9jUHRyJyBpbmZvPSd0aGUgZG9jdW1lbnQgYmVpbmcgc2F2ZWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZW5jb2RpbmcnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIG5hbWUgb2YgdGhlIGVuY29kaW5nIHRvIHVzZSBvciBOVUxMLicvPgorICAgICAgPGFyZyBuYW1lPSdmb3JtYXQnIHR5cGU9J2ludCcgaW5mbz0nc2hvdWxkIGZvcm1hdHRpbmcgc3BhY2VzIGJlIGFkZGVkLicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFNhdmVGb3JtYXRGaWxlVG8nIGZpbGU9J3RyZWUnIG1vZHVsZT0neG1sc2F2ZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5EdW1wIGFuIFhNTCBkb2N1bWVudCB0byBhbiBJL08gYnVmZmVyLiBXYXJuaW5nICEgVGhpcyBjYWxsIHhtbE91dHB1dEJ1ZmZlckNsb3NlKCkgb24gYnVmIHdoaWNoIGlzIG5vdCBhdmFpbGFibGUgYWZ0ZXIgdGhpcyBjYWxsLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgbnVtYmVyIG9mIGJ5dGVzIHdyaXR0ZW4gb3IgLTEgaW4gY2FzZSBvZiBmYWlsdXJlLicvPgorICAgICAgPGFyZyBuYW1lPSdidWYnIHR5cGU9J3htbE91dHB1dEJ1ZmZlclB0cicgaW5mbz0nYW4gb3V0cHV0IEkvTyBidWZmZXInLz4KKyAgICAgIDxhcmcgbmFtZT0nY3VyJyB0eXBlPSd4bWxEb2NQdHInIGluZm89J3RoZSBkb2N1bWVudCcvPgorICAgICAgPGFyZyBuYW1lPSdlbmNvZGluZycgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSd0aGUgZW5jb2RpbmcgaWYgYW55IGFzc3VtaW5nIHRoZSBJL08gbGF5ZXIgaGFuZGxlcyB0aGUgdHJhbmNvZGluZycvPgorICAgICAgPGFyZyBuYW1lPSdmb3JtYXQnIHR5cGU9J2ludCcgaW5mbz0nc2hvdWxkIGZvcm1hdHRpbmcgc3BhY2VzIGJlZW4gYWRkZWQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTYXZlU2V0QXR0ckVzY2FwZScgZmlsZT0neG1sc2F2ZScgbW9kdWxlPSd4bWxzYXZlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlNldCBhIGN1c3RvbSBlc2NhcGluZyBmdW5jdGlvbiB0byBiZSB1c2VkIGZvciB0ZXh0IGluIGF0dHJpYnV0ZSBjb250ZW50PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzAgaWYgc3VjY2Vzc2Z1bCBvciAtMSBpbiBjYXNlIG9mIGVycm9yLicvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxTYXZlQ3R4dFB0cicgaW5mbz0nYSBkb2N1bWVudCBzYXZpbmcgY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdlc2NhcGUnIHR5cGU9J3htbENoYXJFbmNvZGluZ091dHB1dEZ1bmMnIGluZm89J3RoZSBlc2NhcGluZyBmdW5jdGlvbicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFNhdmVTZXRFc2NhcGUnIGZpbGU9J3htbHNhdmUnIG1vZHVsZT0neG1sc2F2ZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5TZXQgYSBjdXN0b20gZXNjYXBpbmcgZnVuY3Rpb24gdG8gYmUgdXNlZCBmb3IgdGV4dCBpbiBlbGVtZW50IGNvbnRlbnQ8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMCBpZiBzdWNjZXNzZnVsIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IuJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFNhdmVDdHh0UHRyJyBpbmZvPSdhIGRvY3VtZW50IHNhdmluZyBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J2VzY2FwZScgdHlwZT0neG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYycgaW5mbz0ndGhlIGVzY2FwaW5nIGZ1bmN0aW9uJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sU2F2ZVRvQnVmZmVyJyBmaWxlPSd4bWxzYXZlJyBtb2R1bGU9J3htbHNhdmUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q3JlYXRlIGEgZG9jdW1lbnQgc2F2aW5nIGNvbnRleHQgc2VyaWFsaXppbmcgdG8gYSBidWZmZXIgd2l0aCB0aGUgZW5jb2RpbmcgYW5kIHRoZSBvcHRpb25zIGdpdmVuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxTYXZlQ3R4dFB0cicgaW5mbz0nYSBuZXcgc2VyaWFsaXphdGlvbiBjb250ZXh0IG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci4nLz4KKyAgICAgIDxhcmcgbmFtZT0nYnVmZmVyJyB0eXBlPSd4bWxCdWZmZXJQdHInIGluZm89J2EgYnVmZmVyJy8+CisgICAgICA8YXJnIG5hbWU9J2VuY29kaW5nJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBlbmNvZGluZyBuYW1lIHRvIHVzZSBvciBOVUxMJy8+CisgICAgICA8YXJnIG5hbWU9J29wdGlvbnMnIHR5cGU9J2ludCcgaW5mbz0nYSBzZXQgb2YgeG1sU2F2ZU9wdGlvbnMnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTYXZlVG9GZCcgZmlsZT0neG1sc2F2ZScgbW9kdWxlPSd4bWxzYXZlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNyZWF0ZSBhIGRvY3VtZW50IHNhdmluZyBjb250ZXh0IHNlcmlhbGl6aW5nIHRvIGEgZmlsZSBkZXNjcmlwdG9yIHdpdGggdGhlIGVuY29kaW5nIGFuZCB0aGUgb3B0aW9ucyBnaXZlbi48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbFNhdmVDdHh0UHRyJyBpbmZvPSdhIG5ldyBzZXJpYWxpemF0aW9uIGNvbnRleHQgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLicvPgorICAgICAgPGFyZyBuYW1lPSdmZCcgdHlwZT0naW50JyBpbmZvPSdhIGZpbGUgZGVzY3JpcHRvciBudW1iZXInLz4KKyAgICAgIDxhcmcgbmFtZT0nZW5jb2RpbmcnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIGVuY29kaW5nIG5hbWUgdG8gdXNlIG9yIE5VTEwnLz4KKyAgICAgIDxhcmcgbmFtZT0nb3B0aW9ucycgdHlwZT0naW50JyBpbmZvPSdhIHNldCBvZiB4bWxTYXZlT3B0aW9ucycvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFNhdmVUb0ZpbGVuYW1lJyBmaWxlPSd4bWxzYXZlJyBtb2R1bGU9J3htbHNhdmUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q3JlYXRlIGEgZG9jdW1lbnQgc2F2aW5nIGNvbnRleHQgc2VyaWFsaXppbmcgdG8gYSBmaWxlbmFtZSBvciBwb3NzaWJseSB0byBhbiBVUkwgKGJ1dCB0aGlzIGlzIGxlc3MgcmVsaWFibGUpIHdpdGggdGhlIGVuY29kaW5nIGFuZCB0aGUgb3B0aW9ucyBnaXZlbi48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbFNhdmVDdHh0UHRyJyBpbmZvPSdhIG5ldyBzZXJpYWxpemF0aW9uIGNvbnRleHQgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLicvPgorICAgICAgPGFyZyBuYW1lPSdmaWxlbmFtZScgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSdhIGZpbGUgbmFtZSBvciBhbiBVUkwnLz4KKyAgICAgIDxhcmcgbmFtZT0nZW5jb2RpbmcnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIGVuY29kaW5nIG5hbWUgdG8gdXNlIG9yIE5VTEwnLz4KKyAgICAgIDxhcmcgbmFtZT0nb3B0aW9ucycgdHlwZT0naW50JyBpbmZvPSdhIHNldCBvZiB4bWxTYXZlT3B0aW9ucycvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFNhdmVUb0lPJyBmaWxlPSd4bWxzYXZlJyBtb2R1bGU9J3htbHNhdmUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q3JlYXRlIGEgZG9jdW1lbnQgc2F2aW5nIGNvbnRleHQgc2VyaWFsaXppbmcgdG8gYSBmaWxlIGRlc2NyaXB0b3Igd2l0aCB0aGUgZW5jb2RpbmcgYW5kIHRoZSBvcHRpb25zIGdpdmVuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxTYXZlQ3R4dFB0cicgaW5mbz0nYSBuZXcgc2VyaWFsaXphdGlvbiBjb250ZXh0IG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci4nLz4KKyAgICAgIDxhcmcgbmFtZT0naW93cml0ZScgdHlwZT0neG1sT3V0cHV0V3JpdGVDYWxsYmFjaycgaW5mbz0nYW4gSS9PIHdyaXRlIGZ1bmN0aW9uJy8+CisgICAgICA8YXJnIG5hbWU9J2lvY2xvc2UnIHR5cGU9J3htbE91dHB1dENsb3NlQ2FsbGJhY2snIGluZm89J2FuIEkvTyBjbG9zZSBmdW5jdGlvbicvPgorICAgICAgPGFyZyBuYW1lPSdpb2N0eCcgdHlwZT0ndm9pZCAqJyBpbmZvPSdhbiBJL08gaGFuZGxlcicvPgorICAgICAgPGFyZyBuYW1lPSdlbmNvZGluZycgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSd0aGUgZW5jb2RpbmcgbmFtZSB0byB1c2Ugb3IgTlVMTCcvPgorICAgICAgPGFyZyBuYW1lPSdvcHRpb25zJyB0eXBlPSdpbnQnIGluZm89J2Egc2V0IG9mIHhtbFNhdmVPcHRpb25zJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sU2F2ZVRyZWUnIGZpbGU9J3htbHNhdmUnIG1vZHVsZT0neG1sc2F2ZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5TYXZlIGEgc3VidHJlZSBzdGFydGluZyBhdCB0aGUgbm9kZSBwYXJhbWV0ZXIgdG8gYSBzYXZpbmcgY29udGV4dCBUT0RPOiBUaGUgZnVuY3Rpb24gaXMgbm90IGZ1bGx5IGltcGxlbWVudGVkIHlldCBhcyBpdCBkb2VzIG5vdCByZXR1cm4gdGhlIGJ5dGUgY291bnQgYnV0IDAgaW5zdGVhZDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0nbG9uZycgaW5mbz0ndGhlIG51bWJlciBvZiBieXRlIHdyaXR0ZW4gb3IgLTEgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxTYXZlQ3R4dFB0cicgaW5mbz0nYSBkb2N1bWVudCBzYXZpbmcgY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdub2RlJyB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSd0aGUgdG9wIG5vZGUgb2YgdGhlIHN1YnRyZWUgdG8gc2F2ZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFNhdmVVcmknIGZpbGU9J3VyaScgbW9kdWxlPSd1cmknPgorICAgICAgPGluZm8+U2F2ZSB0aGUgVVJJIGFzIGFuIGVzY2FwZWQgc3RyaW5nPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxDaGFyIConIGluZm89J2EgbmV3IHN0cmluZyAodG8gYmUgZGVhbGxvY2F0ZWQgYnkgY2FsbGVyKScvPgorICAgICAgPGFyZyBuYW1lPSd1cmknIHR5cGU9J3htbFVSSVB0cicgaW5mbz0ncG9pbnRlciB0byBhbiB4bWxVUkknLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTY2FuTmFtZScgZmlsZT0ncGFyc2VySW50ZXJuYWxzJyBtb2R1bGU9J2xlZ2FjeSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9MRUdBQ1lfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5Ucmlja2VyeTogcGFyc2UgYW4gWE1MIG5hbWUgYnV0IHdpdGhvdXQgY29uc3VtaW5nIHRoZSBpbnB1dCBmbG93IE5lZWRlZCBmb3Igcm9sbGJhY2sgY2FzZXMuIFVzZWQgb25seSB3aGVuIHBhcnNpbmcgZW50aXRpZXMgcmVmZXJlbmNlcy4gIFRPRE86IHNlZW1zIGRlcHJlY2F0ZWQgbm93LCBvbmx5IHVzZWQgaW4gdGhlIGRlZmF1bHQgcGFydCBvZiB4bWxQYXJzZXJIYW5kbGVSZWZlcmVuY2UgIFs0XSBOYW1lQ2hhciA6Oj0gTGV0dGVyIHwgRGlnaXQgfCAmYXBvczsuJmFwb3M7IHwgJmFwb3M7LSZhcG9zOyB8ICZhcG9zO18mYXBvczsgfCAmYXBvczs6JmFwb3M7IHwgQ29tYmluaW5nQ2hhciB8IEV4dGVuZGVyICBbNV0gTmFtZSA6Oj0gKExldHRlciB8ICZhcG9zO18mYXBvczsgfCAmYXBvczs6JmFwb3M7KSAoTmFtZUNoYXIpKiAgWzZdIE5hbWVzIDo6PSBOYW1lIChTIE5hbWUpKjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sQ2hhciAqJyBpbmZvPSd0aGUgTmFtZSBwYXJzZWQgb3IgTlVMTCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxQYXJzZXJDdHh0UHRyJyBpbmZvPSdhbiBYTUwgcGFyc2VyIGNvbnRleHQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTY2hlbWFDaGVja0ZhY2V0JyBmaWxlPSd4bWxzY2hlbWFzdHlwZXMnIG1vZHVsZT0neG1sc2NoZW1hcyc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2tzIGFuZCBjb21wdXRlcyB0aGUgdmFsdWVzIG9mIGZhY2V0cy48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMCBpZiB2YWxpZCwgYSBwb3NpdGl2ZSBlcnJvciBjb2RlIGlmIG5vdCB2YWxpZCBhbmQgLTEgaW4gY2FzZSBvZiBhbiBpbnRlcm5hbCBvciBBUEkgZXJyb3IuJy8+CisgICAgICA8YXJnIG5hbWU9J2ZhY2V0JyB0eXBlPSd4bWxTY2hlbWFGYWNldFB0cicgaW5mbz0ndGhlIGZhY2V0Jy8+CisgICAgICA8YXJnIG5hbWU9J3R5cGVEZWNsJyB0eXBlPSd4bWxTY2hlbWFUeXBlUHRyJyBpbmZvPSd0aGUgc2NoZW1hIHR5cGUgZGVmaW5pdGlvbicvPgorICAgICAgPGFyZyBuYW1lPSdwY3R4dCcgdHlwZT0neG1sU2NoZW1hUGFyc2VyQ3R4dFB0cicgaW5mbz0ndGhlIHNjaGVtYSBwYXJzZXIgY29udGV4dCBvciBOVUxMJy8+CisgICAgICA8YXJnIG5hbWU9J25hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIG9wdGlvbmFsIG5hbWUgb2YgdGhlIHR5cGUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTY2hlbWFDbGVhbnVwVHlwZXMnIGZpbGU9J3htbHNjaGVtYXN0eXBlcycgbW9kdWxlPSd4bWxzY2hlbWFzdHlwZXMnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNsZWFudXAgdGhlIGRlZmF1bHQgWE1MIFNjaGVtYXMgdHlwZSBsaWJyYXJ5PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sU2NoZW1hQ29sbGFwc2VTdHJpbmcnIGZpbGU9J3htbHNjaGVtYXN0eXBlcycgbW9kdWxlPSd4bWxzY2hlbWFzdHlwZXMnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlJlbW92ZXMgYW5kIG5vcm1hbGl6ZSB3aGl0ZSBzcGFjZXMgaW4gdGhlIHN0cmluZzwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sQ2hhciAqJyBpbmZvPSd0aGUgbmV3IHN0cmluZyBvciBOVUxMIGlmIG5vIGNoYW5nZSB3YXMgcmVxdWlyZWQuJy8+CisgICAgICA8YXJnIG5hbWU9J3ZhbHVlJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J2EgdmFsdWUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTY2hlbWFDb21wYXJlVmFsdWVzJyBmaWxlPSd4bWxzY2hlbWFzdHlwZXMnIG1vZHVsZT0neG1sc2NoZW1hc3R5cGVzJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5Db21wYXJlIDIgdmFsdWVzPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89Jy0xIGlmIHggJmx0OyB5LCAwIGlmIHggPT0geSwgMSBpZiB4ICZndDsgeSwgMiBpZiB4ICZsdDsmZ3Q7IHksIGFuZCAtMiBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J3gnIHR5cGU9J3htbFNjaGVtYVZhbFB0cicgaW5mbz0nYSBmaXJzdCB2YWx1ZScvPgorICAgICAgPGFyZyBuYW1lPSd5JyB0eXBlPSd4bWxTY2hlbWFWYWxQdHInIGluZm89J2Egc2Vjb25kIHZhbHVlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sU2NoZW1hQ29tcGFyZVZhbHVlc1dodHNwJyBmaWxlPSd4bWxzY2hlbWFzdHlwZXMnIG1vZHVsZT0neG1sc2NoZW1hc3R5cGVzJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5Db21wYXJlIDIgdmFsdWVzPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89Jy0xIGlmIHggJmx0OyB5LCAwIGlmIHggPT0geSwgMSBpZiB4ICZndDsgeSwgMiBpZiB4ICZsdDsmZ3Q7IHksIGFuZCAtMiBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J3gnIHR5cGU9J3htbFNjaGVtYVZhbFB0cicgaW5mbz0nYSBmaXJzdCB2YWx1ZScvPgorICAgICAgPGFyZyBuYW1lPSd4d3MnIHR5cGU9J3htbFNjaGVtYVdoaXRlc3BhY2VWYWx1ZVR5cGUnIGluZm89J3RoZSB3aGl0ZXNwYWNlIHZhbHVlIG9mIHgnLz4KKyAgICAgIDxhcmcgbmFtZT0neScgdHlwZT0neG1sU2NoZW1hVmFsUHRyJyBpbmZvPSdhIHNlY29uZCB2YWx1ZScvPgorICAgICAgPGFyZyBuYW1lPSd5d3MnIHR5cGU9J3htbFNjaGVtYVdoaXRlc3BhY2VWYWx1ZVR5cGUnIGluZm89J3RoZSB3aGl0ZXNwYWNlIHZhbHVlIG9mIHknLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTY2hlbWFDb3B5VmFsdWUnIGZpbGU9J3htbHNjaGVtYXN0eXBlcycgbW9kdWxlPSd4bWxzY2hlbWFzdHlwZXMnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNvcGllcyB0aGUgcHJlY29tcHV0ZWQgdmFsdWUuIFRoaXMgZHVwbGljYXRlcyBhbnkgc3RyaW5nIHdpdGhpbi48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbFNjaGVtYVZhbFB0cicgaW5mbz0ndGhlIGNvcHkgb3IgTlVMTCBpZiBhIGNvcHkgZm9yIGEgZGF0YS10eXBlIGlzIG5vdCBpbXBsZW1lbnRlZC4nLz4KKyAgICAgIDxhcmcgbmFtZT0ndmFsJyB0eXBlPSd4bWxTY2hlbWFWYWxQdHInIGluZm89J3RoZSBwcmVjb21wdXRlZCB2YWx1ZSB0byBiZSBjb3BpZWQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTY2hlbWFEdW1wJyBmaWxlPSd4bWxzY2hlbWFzJyBtb2R1bGU9J3htbHNjaGVtYXMnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKSAmYW1wOyZhbXA7IGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkR1bXAgYSBTY2hlbWEgc3RydWN0dXJlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdvdXRwdXQnIHR5cGU9J0ZJTEUgKicgaW5mbz0ndGhlIGZpbGUgb3V0cHV0Jy8+CisgICAgICA8YXJnIG5hbWU9J3NjaGVtYScgdHlwZT0neG1sU2NoZW1hUHRyJyBpbmZvPSdhIHNjaGVtYSBzdHJ1Y3R1cmUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTY2hlbWFGcmVlJyBmaWxlPSd4bWxzY2hlbWFzJyBtb2R1bGU9J3htbHNjaGVtYXMnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkRlYWxsb2NhdGUgYSBTY2hlbWEgc3RydWN0dXJlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdzY2hlbWEnIHR5cGU9J3htbFNjaGVtYVB0cicgaW5mbz0nYSBzY2hlbWEgc3RydWN0dXJlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sU2NoZW1hRnJlZUZhY2V0JyBmaWxlPSd4bWxzY2hlbWFzdHlwZXMnIG1vZHVsZT0neG1sc2NoZW1hcyc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+RGVhbGxvY2F0ZSBhIFNjaGVtYSBGYWNldCBzdHJ1Y3R1cmUuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2ZhY2V0JyB0eXBlPSd4bWxTY2hlbWFGYWNldFB0cicgaW5mbz0nYSBzY2hlbWEgZmFjZXQgc3RydWN0dXJlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sU2NoZW1hRnJlZVBhcnNlckN0eHQnIGZpbGU9J3htbHNjaGVtYXMnIG1vZHVsZT0neG1sc2NoZW1hcyc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+RnJlZSB0aGUgcmVzb3VyY2VzIGFzc29jaWF0ZWQgdG8gdGhlIHNjaGVtYSBwYXJzZXIgY29udGV4dDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxTY2hlbWFQYXJzZXJDdHh0UHRyJyBpbmZvPSd0aGUgc2NoZW1hIHBhcnNlciBjb250ZXh0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sU2NoZW1hRnJlZVR5cGUnIGZpbGU9J3NjaGVtYXNJbnRlcm5hbHMnIG1vZHVsZT0neG1sc2NoZW1hcyc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+RGVhbGxvY2F0ZSBhIFNjaGVtYSBUeXBlIHN0cnVjdHVyZS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0ndHlwZScgdHlwZT0neG1sU2NoZW1hVHlwZVB0cicgaW5mbz0nYSBzY2hlbWEgdHlwZSBzdHJ1Y3R1cmUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTY2hlbWFGcmVlVmFsaWRDdHh0JyBmaWxlPSd4bWxzY2hlbWFzJyBtb2R1bGU9J3htbHNjaGVtYXMnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkZyZWUgdGhlIHJlc291cmNlcyBhc3NvY2lhdGVkIHRvIHRoZSBzY2hlbWEgdmFsaWRhdGlvbiBjb250ZXh0PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFNjaGVtYVZhbGlkQ3R4dFB0cicgaW5mbz0ndGhlIHNjaGVtYSB2YWxpZGF0aW9uIGNvbnRleHQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTY2hlbWFGcmVlVmFsdWUnIGZpbGU9J3htbHNjaGVtYXN0eXBlcycgbW9kdWxlPSd4bWxzY2hlbWFzdHlwZXMnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNsZWFudXAgdGhlIGRlZmF1bHQgWE1MIFNjaGVtYXMgdHlwZSBsaWJyYXJ5PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J3ZhbHVlJyB0eXBlPSd4bWxTY2hlbWFWYWxQdHInIGluZm89J3RoZSB2YWx1ZSB0byBmcmVlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sU2NoZW1hRnJlZVdpbGRjYXJkJyBmaWxlPSdzY2hlbWFzSW50ZXJuYWxzJyBtb2R1bGU9J3htbHNjaGVtYXMnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkRlYWxsb2NhdGVzIGEgd2lsZGNhcmQgc3RydWN0dXJlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSd3aWxkY2FyZCcgdHlwZT0neG1sU2NoZW1hV2lsZGNhcmRQdHInIGluZm89J2Egd2lsZGNhcmQgc3RydWN0dXJlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sU2NoZW1hR2V0QnVpbHRJbkxpc3RTaW1wbGVUeXBlSXRlbVR5cGUnIGZpbGU9J3htbHNjaGVtYXN0eXBlcycgbW9kdWxlPSd4bWxzY2hlbWFzdHlwZXMnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkxvb2t1cCBmdW5jdGlvbjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sU2NoZW1hVHlwZVB0cicgaW5mbz0ndGhlIGl0ZW0gdHlwZSBvZiBAdHlwZSBhcyBkZWZpbmVkIGJ5IHRoZSBidWlsdC1pbiBkYXRhdHlwZSBoaWVyYXJjaHkgb2YgWE1MIFNjaGVtYSBQYXJ0IDI6IERhdGF0eXBlcywgb3IgTlVMTCBpbiBjYXNlIG9mIGFuIGVycm9yLicvPgorICAgICAgPGFyZyBuYW1lPSd0eXBlJyB0eXBlPSd4bWxTY2hlbWFUeXBlUHRyJyBpbmZvPSd0aGUgYnVpbHQtaW4gc2ltcGxlIHR5cGUuJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sU2NoZW1hR2V0QnVpbHRJblR5cGUnIGZpbGU9J3htbHNjaGVtYXN0eXBlcycgbW9kdWxlPSd4bWxzY2hlbWFzdHlwZXMnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkdpdmVzIHlvdSB0aGUgdHlwZSBzdHJ1Y3QgZm9yIGEgYnVpbHQtaW4gdHlwZSBieSBpdHMgdHlwZSBpZC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbFNjaGVtYVR5cGVQdHInIGluZm89J3RoZSB0eXBlIGlmIGZvdW5kLCBOVUxMIG90aGVyd2lzZS4nLz4KKyAgICAgIDxhcmcgbmFtZT0ndHlwZScgdHlwZT0neG1sU2NoZW1hVmFsVHlwZScgaW5mbz0ndGhlIHR5cGUgb2YgdGhlIGJ1aWx0IGluIHR5cGUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTY2hlbWFHZXRDYW5vblZhbHVlJyBmaWxlPSd4bWxzY2hlbWFzdHlwZXMnIG1vZHVsZT0neG1sc2NoZW1hc3R5cGVzJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5HZXQgdGhlIGNhbm9uaWNhbCBsZXhpY2FsIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB2YWx1ZS4gVGhlIGNhbGxlciBoYXMgdG8gRlJFRSB0aGUgcmV0dXJuZWQgcmV0VmFsdWUuICBXQVJOSU5HOiBTb21lIHZhbHVlIHR5cGVzIGFyZSBub3Qgc3VwcG9ydGVkIHlldCwgcmVzdWx0aW5nIGluIGEgQHJldFZhbHVlIG9mICZxdW90Oz8/PyZxdW90Oy4gIFRPRE86IFhNTCBTY2hlbWEgMS4wIGRvZXMgbm90IGRlZmluZSBjYW5vbmljYWwgcmVwcmVzZW50YXRpb25zIGZvcjogZHVyYXRpb24sIGdZZWFyTW9udGgsIGdZZWFyLCBnTW9udGhEYXksIGdNb250aCwgZ0RheSwgYW55VVJJLCBRTmFtZSwgTk9UQVRJT04uIFRoaXMgd2lsbCBiZSBmaXhlZCBpbiBYTUwgU2NoZW1hIDEuMS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMCBpZiB0aGUgdmFsdWUgY291bGQgYmUgYnVpbHQsIDEgaWYgdGhlIHZhbHVlIHR5cGUgaXMgbm90IHN1cHBvcnRlZCB5ZXQgYW5kIC0xIGluIGNhc2Ugb2YgQVBJIGVycm9ycy4nLz4KKyAgICAgIDxhcmcgbmFtZT0ndmFsJyB0eXBlPSd4bWxTY2hlbWFWYWxQdHInIGluZm89J3RoZSBwcmVjb21wdXRlZCB2YWx1ZScvPgorICAgICAgPGFyZyBuYW1lPSdyZXRWYWx1ZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqKicgaW5mbz0ndGhlIHJldHVybmVkIHZhbHVlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sU2NoZW1hR2V0Q2Fub25WYWx1ZVdodHNwJyBmaWxlPSd4bWxzY2hlbWFzdHlwZXMnIG1vZHVsZT0neG1sc2NoZW1hc3R5cGVzJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5HZXQgdGhlIGNhbm9uaWNhbCByZXByZXNlbnRhdGlvbiBvZiB0aGUgdmFsdWUuIFRoZSBjYWxsZXIgaGFzIHRvIGZyZWUgdGhlIHJldHVybmVkIEByZXRWYWx1ZS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMCBpZiB0aGUgdmFsdWUgY291bGQgYmUgYnVpbHQsIDEgaWYgdGhlIHZhbHVlIHR5cGUgaXMgbm90IHN1cHBvcnRlZCB5ZXQgYW5kIC0xIGluIGNhc2Ugb2YgQVBJIGVycm9ycy4nLz4KKyAgICAgIDxhcmcgbmFtZT0ndmFsJyB0eXBlPSd4bWxTY2hlbWFWYWxQdHInIGluZm89J3RoZSBwcmVjb21wdXRlZCB2YWx1ZScvPgorICAgICAgPGFyZyBuYW1lPSdyZXRWYWx1ZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqKicgaW5mbz0ndGhlIHJldHVybmVkIHZhbHVlJy8+CisgICAgICA8YXJnIG5hbWU9J3dzJyB0eXBlPSd4bWxTY2hlbWFXaGl0ZXNwYWNlVmFsdWVUeXBlJyBpbmZvPSd0aGUgd2hpdGVzcGFjZSB0eXBlIG9mIHRoZSB2YWx1ZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFNjaGVtYUdldEZhY2V0VmFsdWVBc1VMb25nJyBmaWxlPSd4bWxzY2hlbWFzdHlwZXMnIG1vZHVsZT0neG1sc2NoZW1hc3R5cGVzJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5FeHRyYWN0IHRoZSB2YWx1ZSBvZiBhIGZhY2V0PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd1bnNpZ25lZCBsb25nJyBpbmZvPSd0aGUgdmFsdWUgYXMgYSBsb25nJy8+CisgICAgICA8YXJnIG5hbWU9J2ZhY2V0JyB0eXBlPSd4bWxTY2hlbWFGYWNldFB0cicgaW5mbz0nYW4gc2NoZW1hcyB0eXBlIGZhY2V0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sU2NoZW1hR2V0UGFyc2VyRXJyb3JzJyBmaWxlPSd4bWxzY2hlbWFzJyBtb2R1bGU9J3htbHNjaGVtYXMnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkdldCB0aGUgY2FsbGJhY2sgaW5mb3JtYXRpb24gdXNlZCB0byBoYW5kbGUgZXJyb3JzIGZvciBhIHBhcnNlciBjb250ZXh0PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89Jy0xIGluIGNhc2Ugb2YgZmFpbHVyZSwgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sU2NoZW1hUGFyc2VyQ3R4dFB0cicgaW5mbz0nYSBYTWwtU2NoZW1hIHBhcnNlciBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J2VycicgdHlwZT0neG1sU2NoZW1hVmFsaWRpdHlFcnJvckZ1bmMgKicgaW5mbz0ndGhlIGVycm9yIGNhbGxiYWNrIHJlc3VsdCcvPgorICAgICAgPGFyZyBuYW1lPSd3YXJuJyB0eXBlPSd4bWxTY2hlbWFWYWxpZGl0eVdhcm5pbmdGdW5jIConIGluZm89J3RoZSB3YXJuaW5nIGNhbGxiYWNrIHJlc3VsdCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHgnIHR5cGU9J3ZvaWQgKionIGluZm89J2NvbnRleHR1YWwgZGF0YSBmb3IgdGhlIGNhbGxiYWNrcyByZXN1bHQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTY2hlbWFHZXRQcmVkZWZpbmVkVHlwZScgZmlsZT0neG1sc2NoZW1hc3R5cGVzJyBtb2R1bGU9J3htbHNjaGVtYXN0eXBlcyc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+TG9va3VwIGEgdHlwZSBpbiB0aGUgZGVmYXVsdCBYTUwgU2NoZW1hcyB0eXBlIGxpYnJhcnk8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbFNjaGVtYVR5cGVQdHInIGluZm89J3RoZSB0eXBlIGlmIGZvdW5kLCBOVUxMIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSB0eXBlIG5hbWUnLz4KKyAgICAgIDxhcmcgbmFtZT0nbnMnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIFVSSSBvZiB0aGUgbmFtZXNwYWNlIHVzdWFsbHkgJnF1b3Q7aHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEmcXVvdDsnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTY2hlbWFHZXRWYWxUeXBlJyBmaWxlPSd4bWxzY2hlbWFzdHlwZXMnIG1vZHVsZT0neG1sc2NoZW1hc3R5cGVzJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5BY2Nlc3NvciBmb3IgdGhlIHR5cGUgb2YgYSB2YWx1ZTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sU2NoZW1hVmFsVHlwZScgaW5mbz0ndGhlIHhtbFNjaGVtYVZhbFR5cGUgb2YgdGhlIHZhbHVlJy8+CisgICAgICA8YXJnIG5hbWU9J3ZhbCcgdHlwZT0neG1sU2NoZW1hVmFsUHRyJyBpbmZvPSdhIHNjaGVtYXMgdmFsdWUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTY2hlbWFHZXRWYWxpZEVycm9ycycgZmlsZT0neG1sc2NoZW1hcycgbW9kdWxlPSd4bWxzY2hlbWFzJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5HZXQgdGhlIGVycm9yIGFuZCB3YXJuaW5nIGNhbGxiYWNrIGluZm9ybWF0aW9uczwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSctMSBpbiBjYXNlIG9mIGVycm9yIGFuZCAwIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxTY2hlbWFWYWxpZEN0eHRQdHInIGluZm89J2EgWE1MLVNjaGVtYSB2YWxpZGF0aW9uIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZXJyJyB0eXBlPSd4bWxTY2hlbWFWYWxpZGl0eUVycm9yRnVuYyAqJyBpbmZvPSd0aGUgZXJyb3IgZnVuY3Rpb24gcmVzdWx0Jy8+CisgICAgICA8YXJnIG5hbWU9J3dhcm4nIHR5cGU9J3htbFNjaGVtYVZhbGlkaXR5V2FybmluZ0Z1bmMgKicgaW5mbz0ndGhlIHdhcm5pbmcgZnVuY3Rpb24gcmVzdWx0Jy8+CisgICAgICA8YXJnIG5hbWU9J2N0eCcgdHlwZT0ndm9pZCAqKicgaW5mbz0ndGhlIGZ1bmN0aW9ucyBjb250ZXh0IHJlc3VsdCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFNjaGVtYUluaXRUeXBlcycgZmlsZT0neG1sc2NoZW1hc3R5cGVzJyBtb2R1bGU9J3htbHNjaGVtYXN0eXBlcyc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+SW5pdGlhbGl6ZSB0aGUgZGVmYXVsdCBYTUwgU2NoZW1hcyB0eXBlIGxpYnJhcnk8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTY2hlbWFJc0J1aWx0SW5UeXBlRmFjZXQnIGZpbGU9J3htbHNjaGVtYXN0eXBlcycgbW9kdWxlPSd4bWxzY2hlbWFzdHlwZXMnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkV2YWx1YXRlcyBpZiBhIHNwZWNpZmljIGZhY2V0IGNhbiBiZSB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggYSB0eXBlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRoZSBmYWNldCBjYW4gYmUgdXNlZCB3aXRoIHRoZSBnaXZlbiBidWlsdC1pbiB0eXBlLCAwIG90aGVyd2lzZSBhbmQgLTEgaW4gY2FzZSB0aGUgdHlwZSBpcyBub3QgYSBidWlsdC1pbiB0eXBlLicvPgorICAgICAgPGFyZyBuYW1lPSd0eXBlJyB0eXBlPSd4bWxTY2hlbWFUeXBlUHRyJyBpbmZvPSd0aGUgYnVpbHQtaW4gdHlwZScvPgorICAgICAgPGFyZyBuYW1lPSdmYWNldFR5cGUnIHR5cGU9J2ludCcgaW5mbz0ndGhlIGZhY2V0IHR5cGUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTY2hlbWFJc1ZhbGlkJyBmaWxlPSd4bWxzY2hlbWFzJyBtb2R1bGU9J3htbHNjaGVtYXMnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNoZWNrIGlmIGFueSBlcnJvciB3YXMgZGV0ZWN0ZWQgZHVyaW5nIHZhbGlkYXRpb24uPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgdmFsaWQgc28gZmFyLCAwIGlmIGVycm9ycyB3ZXJlIGRldGVjdGVkLCBhbmQgLTEgaW4gY2FzZSBvZiBpbnRlcm5hbCBlcnJvci4nLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sU2NoZW1hVmFsaWRDdHh0UHRyJyBpbmZvPSd0aGUgc2NoZW1hIHZhbGlkYXRpb24gY29udGV4dCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFNjaGVtYU5ld0RvY1BhcnNlckN0eHQnIGZpbGU9J3htbHNjaGVtYXMnIG1vZHVsZT0neG1sc2NoZW1hcyc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q3JlYXRlIGFuIFhNTCBTY2hlbWFzIHBhcnNlIGNvbnRleHQgZm9yIHRoYXQgZG9jdW1lbnQuIE5CLiBUaGUgZG9jdW1lbnQgbWF5IGJlIG1vZGlmaWVkIGR1cmluZyB0aGUgcGFyc2luZyBwcm9jZXNzLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sU2NoZW1hUGFyc2VyQ3R4dFB0cicgaW5mbz0ndGhlIHBhcnNlciBjb250ZXh0IG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSdkb2MnIHR5cGU9J3htbERvY1B0cicgaW5mbz0nYSBwcmVwYXJzZWQgZG9jdW1lbnQgdHJlZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFNjaGVtYU5ld0ZhY2V0JyBmaWxlPSd4bWxzY2hlbWFzdHlwZXMnIG1vZHVsZT0neG1sc2NoZW1hcyc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+QWxsb2NhdGUgYSBuZXcgRmFjZXQgc3RydWN0dXJlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sU2NoZW1hRmFjZXRQdHInIGluZm89J3RoZSBuZXdseSBhbGxvY2F0ZWQgc3RydWN0dXJlIG9yIE5VTEwgaW4gY2FzZSBvciBlcnJvcicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFNjaGVtYU5ld01lbVBhcnNlckN0eHQnIGZpbGU9J3htbHNjaGVtYXMnIG1vZHVsZT0neG1sc2NoZW1hcyc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q3JlYXRlIGFuIFhNTCBTY2hlbWFzIHBhcnNlIGNvbnRleHQgZm9yIHRoYXQgbWVtb3J5IGJ1ZmZlciBleHBlY3RlZCB0byBjb250YWluIGFuIFhNTCBTY2hlbWFzIGZpbGUuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxTY2hlbWFQYXJzZXJDdHh0UHRyJyBpbmZvPSd0aGUgcGFyc2VyIGNvbnRleHQgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J2J1ZmZlcicgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSdhIHBvaW50ZXIgdG8gYSBjaGFyIGFycmF5IGNvbnRhaW5pbmcgdGhlIHNjaGVtYXMnLz4KKyAgICAgIDxhcmcgbmFtZT0nc2l6ZScgdHlwZT0naW50JyBpbmZvPSd0aGUgc2l6ZSBvZiB0aGUgYXJyYXknLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTY2hlbWFOZXdOT1RBVElPTlZhbHVlJyBmaWxlPSd4bWxzY2hlbWFzdHlwZXMnIG1vZHVsZT0neG1sc2NoZW1hc3R5cGVzJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5BbGxvY2F0ZSBhIG5ldyBOT1RBVElPTiB2YWx1ZS4gVGhlIGdpdmVuIHZhbHVlcyBhcmUgY29uc3VtZWQgYW5kIGZyZWVkIHdpdGggdGhlIHN0cnVjdC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbFNjaGVtYVZhbFB0cicgaW5mbz0nYSBwb2ludGVyIHRvIHRoZSBuZXcgdmFsdWUgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J25hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIG5vdGF0aW9uIG5hbWUnLz4KKyAgICAgIDxhcmcgbmFtZT0nbnMnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIG5vdGF0aW9uIG5hbWVzcGFjZSBuYW1lIG9yIE5VTEwnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTY2hlbWFOZXdQYXJzZXJDdHh0JyBmaWxlPSd4bWxzY2hlbWFzJyBtb2R1bGU9J3htbHNjaGVtYXMnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNyZWF0ZSBhbiBYTUwgU2NoZW1hcyBwYXJzZSBjb250ZXh0IGZvciB0aGF0IGZpbGUvcmVzb3VyY2UgZXhwZWN0ZWQgdG8gY29udGFpbiBhbiBYTUwgU2NoZW1hcyBmaWxlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sU2NoZW1hUGFyc2VyQ3R4dFB0cicgaW5mbz0ndGhlIHBhcnNlciBjb250ZXh0IG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSdVUkwnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIGxvY2F0aW9uIG9mIHRoZSBzY2hlbWEnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTY2hlbWFOZXdRTmFtZVZhbHVlJyBmaWxlPSd4bWxzY2hlbWFzdHlwZXMnIG1vZHVsZT0neG1sc2NoZW1hc3R5cGVzJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5BbGxvY2F0ZSBhIG5ldyBRTmFtZSB2YWx1ZS4gVGhlIGdpdmVuIHZhbHVlcyBhcmUgY29uc3VtZWQgYW5kIGZyZWVkIHdpdGggdGhlIHN0cnVjdC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbFNjaGVtYVZhbFB0cicgaW5mbz0nYSBwb2ludGVyIHRvIHRoZSBuZXcgdmFsdWUgb3IgTlVMTCBpbiBjYXNlIG9mIGFuIGVycm9yLicvPgorICAgICAgPGFyZyBuYW1lPSduYW1lc3BhY2VOYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBuYW1lc3BhY2UgbmFtZScvPgorICAgICAgPGFyZyBuYW1lPSdsb2NhbE5hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIGxvY2FsIG5hbWUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTY2hlbWFOZXdTdHJpbmdWYWx1ZScgZmlsZT0neG1sc2NoZW1hc3R5cGVzJyBtb2R1bGU9J3htbHNjaGVtYXN0eXBlcyc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+QWxsb2NhdGUgYSBuZXcgc2ltcGxlIHR5cGUgdmFsdWUuIFRoZSB0eXBlIGNhbiBiZSBvZiBYTUxfU0NIRU1BU19TVFJJTkcuIFdBUk5JTkc6IFRoaXMgb25lIGlzIGludGVuZGVkIHRvIGJlIGV4cGFuZGVkIGZvciBvdGhlciBzdHJpbmcgYmFzZWQgdHlwZXMuIFdlIG5lZWQgdGhpcyBmb3IgYW55U2ltcGxlVHlwZSBhcyB3ZWxsLiBUaGUgZ2l2ZW4gdmFsdWUgaXMgY29uc3VtZWQgYW5kIGZyZWVkIHdpdGggdGhlIHN0cnVjdC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbFNjaGVtYVZhbFB0cicgaW5mbz0nYSBwb2ludGVyIHRvIHRoZSBuZXcgdmFsdWUgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J3R5cGUnIHR5cGU9J3htbFNjaGVtYVZhbFR5cGUnIGluZm89J3RoZSB2YWx1ZSB0eXBlJy8+CisgICAgICA8YXJnIG5hbWU9J3ZhbHVlJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSB2YWx1ZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFNjaGVtYU5ld1ZhbGlkQ3R4dCcgZmlsZT0neG1sc2NoZW1hcycgbW9kdWxlPSd4bWxzY2hlbWFzJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DcmVhdGUgYW4gWE1MIFNjaGVtYXMgdmFsaWRhdGlvbiBjb250ZXh0IGJhc2VkIG9uIHRoZSBnaXZlbiBzY2hlbWEuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxTY2hlbWFWYWxpZEN0eHRQdHInIGluZm89J3RoZSB2YWxpZGF0aW9uIGNvbnRleHQgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J3NjaGVtYScgdHlwZT0neG1sU2NoZW1hUHRyJyBpbmZvPSdhIHByZWNvbXBpbGVkIFhNTCBTY2hlbWFzJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sU2NoZW1hUGFyc2UnIGZpbGU9J3htbHNjaGVtYXMnIG1vZHVsZT0neG1sc2NoZW1hcyc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+cGFyc2UgYSBzY2hlbWEgZGVmaW5pdGlvbiByZXNvdXJjZSBhbmQgYnVpbGQgYW4gaW50ZXJuYWwgWE1MIFNoZW1hIHN0cnV0dXJlIHdoaWNoIGNhbiBiZSB1c2VkIHRvIHZhbGlkYXRlIGluc3RhbmNlcy48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbFNjaGVtYVB0cicgaW5mbz0ndGhlIGludGVybmFsIFhNTCBTY2hlbWEgc3RydWN0dXJlIGJ1aWx0IGZyb20gdGhlIHJlc291cmNlIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxTY2hlbWFQYXJzZXJDdHh0UHRyJyBpbmZvPSdhIHNjaGVtYSB2YWxpZGF0aW9uIGNvbnRleHQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTY2hlbWFTQVhQbHVnJyBmaWxlPSd4bWxzY2hlbWFzJyBtb2R1bGU9J3htbHNjaGVtYXMnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlBsdWcgYSBTQVggYmFzZWQgdmFsaWRhdGlvbiBsYXllciBpbiBhIFNBWCBwYXJzaW5nIGV2ZW50IGZsb3cuIFRoZSBvcmlnaW5hbCBAc2F4cHRyIGFuZCBAZGF0YXB0ciBkYXRhIGFyZSByZXBsYWNlZCBieSBuZXcgcG9pbnRlcnMgYnV0IHRoZSBjYWxscyB0byB0aGUgb3JpZ2luYWwgd2lsbCBiZSBtYWludGFpbmVkLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sU2NoZW1hU0FYUGx1Z1B0cicgaW5mbz0nYSBwb2ludGVyIHRvIGEgZGF0YSBzdHJ1Y3R1cmUgbmVlZGVkIHRvIHVucGx1ZyB0aGUgdmFsaWRhdGlvbiBsYXllciBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3JzLicvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxTY2hlbWFWYWxpZEN0eHRQdHInIGluZm89J2Egc2NoZW1hIHZhbGlkYXRpb24gY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdzYXgnIHR5cGU9J3htbFNBWEhhbmRsZXJQdHIgKicgaW5mbz0nYSBwb2ludGVyIHRvIHRoZSBvcmlnaW5hbCB4bWxTQVhIYW5kbGVyUHRyJy8+CisgICAgICA8YXJnIG5hbWU9J3VzZXJfZGF0YScgdHlwZT0ndm9pZCAqKicgaW5mbz0nYSBwb2ludGVyIHRvIHRoZSBvcmlnaW5hbCBTQVggdXNlciBkYXRhIHBvaW50ZXInLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTY2hlbWFTQVhVbnBsdWcnIGZpbGU9J3htbHNjaGVtYXMnIG1vZHVsZT0neG1sc2NoZW1hcyc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+VW5wbHVnIGEgU0FYIGJhc2VkIHZhbGlkYXRpb24gbGF5ZXIgaW4gYSBTQVggcGFyc2luZyBldmVudCBmbG93LiBUaGUgb3JpZ2luYWwgcG9pbnRlcnMgdXNlZCBpbiB0aGUgY2FsbCBhcmUgcmVzdG9yZWQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzAgaW4gY2FzZSBvZiBzdWNjZXNzIGFuZCAtMSBpbiBjYXNlIG9mIGZhaWx1cmUuJy8+CisgICAgICA8YXJnIG5hbWU9J3BsdWcnIHR5cGU9J3htbFNjaGVtYVNBWFBsdWdQdHInIGluZm89J2EgZGF0YSBzdHJ1Y3R1cmUgcmV0dXJuZWQgYnkgeG1sU2NoZW1hU0FYUGx1ZycvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFNjaGVtYVNldFBhcnNlckVycm9ycycgZmlsZT0neG1sc2NoZW1hcycgbW9kdWxlPSd4bWxzY2hlbWFzJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5TZXQgdGhlIGNhbGxiYWNrIGZ1bmN0aW9ucyB1c2VkIHRvIGhhbmRsZSBlcnJvcnMgZm9yIGEgdmFsaWRhdGlvbiBjb250ZXh0PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFNjaGVtYVBhcnNlckN0eHRQdHInIGluZm89J2Egc2NoZW1hIHZhbGlkYXRpb24gY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdlcnInIHR5cGU9J3htbFNjaGVtYVZhbGlkaXR5RXJyb3JGdW5jJyBpbmZvPSd0aGUgZXJyb3IgY2FsbGJhY2snLz4KKyAgICAgIDxhcmcgbmFtZT0nd2FybicgdHlwZT0neG1sU2NoZW1hVmFsaWRpdHlXYXJuaW5nRnVuYycgaW5mbz0ndGhlIHdhcm5pbmcgY2FsbGJhY2snLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4JyB0eXBlPSd2b2lkIConIGluZm89J2NvbnRleHR1YWwgZGF0YSBmb3IgdGhlIGNhbGxiYWNrcycvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFNjaGVtYVNldFBhcnNlclN0cnVjdHVyZWRFcnJvcnMnIGZpbGU9J3htbHNjaGVtYXMnIG1vZHVsZT0neG1sc2NoZW1hcyc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+U2V0IHRoZSBzdHJ1Y3R1cmVkIGVycm9yIGNhbGxiYWNrPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFNjaGVtYVBhcnNlckN0eHRQdHInIGluZm89J2Egc2NoZW1hIHBhcnNlciBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J3NlcnJvcicgdHlwZT0neG1sU3RydWN0dXJlZEVycm9yRnVuYycgaW5mbz0ndGhlIHN0cnVjdHVyZWQgZXJyb3IgZnVuY3Rpb24nLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4JyB0eXBlPSd2b2lkIConIGluZm89J3RoZSBmdW5jdGlvbnMgY29udGV4dCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFNjaGVtYVNldFZhbGlkRXJyb3JzJyBmaWxlPSd4bWxzY2hlbWFzJyBtb2R1bGU9J3htbHNjaGVtYXMnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlNldCB0aGUgZXJyb3IgYW5kIHdhcm5pbmcgY2FsbGJhY2sgaW5mb3JtYXRpb25zPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFNjaGVtYVZhbGlkQ3R4dFB0cicgaW5mbz0nYSBzY2hlbWEgdmFsaWRhdGlvbiBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J2VycicgdHlwZT0neG1sU2NoZW1hVmFsaWRpdHlFcnJvckZ1bmMnIGluZm89J3RoZSBlcnJvciBmdW5jdGlvbicvPgorICAgICAgPGFyZyBuYW1lPSd3YXJuJyB0eXBlPSd4bWxTY2hlbWFWYWxpZGl0eVdhcm5pbmdGdW5jJyBpbmZvPSd0aGUgd2FybmluZyBmdW5jdGlvbicvPgorICAgICAgPGFyZyBuYW1lPSdjdHgnIHR5cGU9J3ZvaWQgKicgaW5mbz0ndGhlIGZ1bmN0aW9ucyBjb250ZXh0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sU2NoZW1hU2V0VmFsaWRPcHRpb25zJyBmaWxlPSd4bWxzY2hlbWFzJyBtb2R1bGU9J3htbHNjaGVtYXMnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlNldHMgdGhlIG9wdGlvbnMgdG8gYmUgdXNlZCBkdXJpbmcgdGhlIHZhbGlkYXRpb24uPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzAgaW4gY2FzZSBvZiBzdWNjZXNzLCAtMSBpbiBjYXNlIG9mIGFuIEFQSSBlcnJvci4nLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sU2NoZW1hVmFsaWRDdHh0UHRyJyBpbmZvPSdhIHNjaGVtYSB2YWxpZGF0aW9uIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nb3B0aW9ucycgdHlwZT0naW50JyBpbmZvPSdhIGNvbWJpbmF0aW9uIG9mIHhtbFNjaGVtYVZhbGlkT3B0aW9uJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sU2NoZW1hU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzJyBmaWxlPSd4bWxzY2hlbWFzJyBtb2R1bGU9J3htbHNjaGVtYXMnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlNldCB0aGUgc3RydWN0dXJlZCBlcnJvciBjYWxsYmFjazwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxTY2hlbWFWYWxpZEN0eHRQdHInIGluZm89J2Egc2NoZW1hIHZhbGlkYXRpb24gY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdzZXJyb3InIHR5cGU9J3htbFN0cnVjdHVyZWRFcnJvckZ1bmMnIGluZm89J3RoZSBzdHJ1Y3R1cmVkIGVycm9yIGZ1bmN0aW9uJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eCcgdHlwZT0ndm9pZCAqJyBpbmZvPSd0aGUgZnVuY3Rpb25zIGNvbnRleHQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTY2hlbWFWYWxQcmVkZWZUeXBlTm9kZScgZmlsZT0neG1sc2NoZW1hc3R5cGVzJyBtb2R1bGU9J3htbHNjaGVtYXN0eXBlcyc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgdGhhdCBhIHZhbHVlIGNvbmZvcm1zIHRvIHRoZSBsZXhpY2FsIHNwYWNlIG9mIHRoZSBwcmVkZWZpbmVkIHR5cGUuIGlmIHRydWUgYSB2YWx1ZSBpcyBjb21wdXRlZCBhbmQgcmV0dXJuZWQgaW4gQHZhbC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMCBpZiB0aGlzIHZhbGlkYXRlcywgYSBwb3NpdGl2ZSBlcnJvciBjb2RlIG51bWJlciBvdGhlcndpc2UgYW5kIC0xIGluIGNhc2Ugb2YgaW50ZXJuYWwgb3IgQVBJIGVycm9yLicvPgorICAgICAgPGFyZyBuYW1lPSd0eXBlJyB0eXBlPSd4bWxTY2hlbWFUeXBlUHRyJyBpbmZvPSd0aGUgcHJlZGVmaW5lZCB0eXBlJy8+CisgICAgICA8YXJnIG5hbWU9J3ZhbHVlJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSB2YWx1ZSB0byBjaGVjaycvPgorICAgICAgPGFyZyBuYW1lPSd2YWwnIHR5cGU9J3htbFNjaGVtYVZhbFB0ciAqJyBpbmZvPSd0aGUgcmV0dXJuIGNvbXB1dGVkIHZhbHVlJy8+CisgICAgICA8YXJnIG5hbWU9J25vZGUnIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3RoZSBub2RlIGNvbnRhaW5pbmcgdGhlIHZhbHVlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sU2NoZW1hVmFsUHJlZGVmVHlwZU5vZGVOb05vcm0nIGZpbGU9J3htbHNjaGVtYXN0eXBlcycgbW9kdWxlPSd4bWxzY2hlbWFzdHlwZXMnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNoZWNrIHRoYXQgYSB2YWx1ZSBjb25mb3JtcyB0byB0aGUgbGV4aWNhbCBzcGFjZSBvZiB0aGUgcHJlZGVmaW5lZCB0eXBlLiBpZiB0cnVlIGEgdmFsdWUgaXMgY29tcHV0ZWQgYW5kIHJldHVybmVkIGluIEB2YWwuIFRoaXMgb25lIGRvZXMgYXBwbHkgYW55IG5vcm1hbGl6YXRpb24gdG8gdGhlIHZhbHVlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScwIGlmIHRoaXMgdmFsaWRhdGVzLCBhIHBvc2l0aXZlIGVycm9yIGNvZGUgbnVtYmVyIG90aGVyd2lzZSBhbmQgLTEgaW4gY2FzZSBvZiBpbnRlcm5hbCBvciBBUEkgZXJyb3IuJy8+CisgICAgICA8YXJnIG5hbWU9J3R5cGUnIHR5cGU9J3htbFNjaGVtYVR5cGVQdHInIGluZm89J3RoZSBwcmVkZWZpbmVkIHR5cGUnLz4KKyAgICAgIDxhcmcgbmFtZT0ndmFsdWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIHZhbHVlIHRvIGNoZWNrJy8+CisgICAgICA8YXJnIG5hbWU9J3ZhbCcgdHlwZT0neG1sU2NoZW1hVmFsUHRyIConIGluZm89J3RoZSByZXR1cm4gY29tcHV0ZWQgdmFsdWUnLz4KKyAgICAgIDxhcmcgbmFtZT0nbm9kZScgdHlwZT0neG1sTm9kZVB0cicgaW5mbz0ndGhlIG5vZGUgY29udGFpbmluZyB0aGUgdmFsdWUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTY2hlbWFWYWxpZEN0eHRHZXRPcHRpb25zJyBmaWxlPSd4bWxzY2hlbWFzJyBtb2R1bGU9J3htbHNjaGVtYXMnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkdldCB0aGUgdmFsaWRhdGlvbiBjb250ZXh0IG9wdGlvbnMuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J3RoZSBvcHRpb24gY29tYmluYXRpb24gb3IgLTEgb24gZXJyb3IuJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFNjaGVtYVZhbGlkQ3R4dFB0cicgaW5mbz0nYSBzY2hlbWEgdmFsaWRhdGlvbiBjb250ZXh0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sU2NoZW1hVmFsaWRDdHh0R2V0UGFyc2VyQ3R4dCcgZmlsZT0neG1sc2NoZW1hcycgbW9kdWxlPSd4bWxzY2hlbWFzJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5hbGxvdyBhY2Nlc3MgdG8gdGhlIHBhcnNlciBjb250ZXh0IG9mIHRoZSBzY2hlbWEgdmFsaWRhdGlvbiBjb250ZXh0PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxQYXJzZXJDdHh0UHRyJyBpbmZvPSd0aGUgcGFyc2VyIGNvbnRleHQgb2YgdGhlIHNjaGVtYSB2YWxpZGF0aW9uIGNvbnRleHQgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLicvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxTY2hlbWFWYWxpZEN0eHRQdHInIGluZm89J2Egc2NoZW1hIHZhbGlkYXRpb24gY29udGV4dCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFNjaGVtYVZhbGlkYXRlRG9jJyBmaWxlPSd4bWxzY2hlbWFzJyBtb2R1bGU9J3htbHNjaGVtYXMnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlZhbGlkYXRlIGEgZG9jdW1lbnQgdHJlZSBpbiBtZW1vcnkuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzAgaWYgdGhlIGRvY3VtZW50IGlzIHNjaGVtYXMgdmFsaWQsIGEgcG9zaXRpdmUgZXJyb3IgY29kZSBudW1iZXIgb3RoZXJ3aXNlIGFuZCAtMSBpbiBjYXNlIG9mIGludGVybmFsIG9yIEFQSSBlcnJvci4nLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sU2NoZW1hVmFsaWRDdHh0UHRyJyBpbmZvPSdhIHNjaGVtYSB2YWxpZGF0aW9uIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZG9jJyB0eXBlPSd4bWxEb2NQdHInIGluZm89J2EgcGFyc2VkIGRvY3VtZW50IHRyZWUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0JyBmaWxlPSd4bWxzY2hlbWFzdHlwZXMnIG1vZHVsZT0neG1sc2NoZW1hc3R5cGVzJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DaGVjayBhIHZhbHVlIGFnYWluc3QgYSBmYWNldCBjb25kaXRpb248L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMCBpZiB0aGUgZWxlbWVudCBpcyBzY2hlbWFzIHZhbGlkLCBhIHBvc2l0aXZlIGVycm9yIGNvZGUgbnVtYmVyIG90aGVyd2lzZSBhbmQgLTEgaW4gY2FzZSBvZiBpbnRlcm5hbCBvciBBUEkgZXJyb3IuJy8+CisgICAgICA8YXJnIG5hbWU9J2Jhc2UnIHR5cGU9J3htbFNjaGVtYVR5cGVQdHInIGluZm89J3RoZSBiYXNlIHR5cGUnLz4KKyAgICAgIDxhcmcgbmFtZT0nZmFjZXQnIHR5cGU9J3htbFNjaGVtYUZhY2V0UHRyJyBpbmZvPSd0aGUgZmFjZXQgdG8gY2hlY2snLz4KKyAgICAgIDxhcmcgbmFtZT0ndmFsdWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIGxleGljYWwgcmVwciBvZiB0aGUgdmFsdWUgdG8gdmFsaWRhdGUnLz4KKyAgICAgIDxhcmcgbmFtZT0ndmFsJyB0eXBlPSd4bWxTY2hlbWFWYWxQdHInIGluZm89J3RoZSBwcmVjb21wdXRlZCB2YWx1ZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFNjaGVtYVZhbGlkYXRlRmFjZXRXaHRzcCcgZmlsZT0neG1sc2NoZW1hc3R5cGVzJyBtb2R1bGU9J3htbHNjaGVtYXN0eXBlcyc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgYSB2YWx1ZSBhZ2FpbnN0IGEgZmFjZXQgY29uZGl0aW9uLiBUaGlzIHRha2VzIHZhbHVlIG5vcm1hbGl6YXRpb24gYWNjb3JkaW5nIHRvIHRoZSBzcGVjaWZpZWQgd2hpdGVzcGFjZSB0eXBlcyBpbnRvIGFjY291bnQuIE5vdGUgdGhhdCBAdmFsdWUgbmVlZHMgdG8gYmUgdGhlICpub3JtYWxpemVkKiB2YWx1ZSBpZiB0aGUgZmFjZXQgaXMgb2YgdHlwZSAmcXVvdDtwYXR0ZXJuJnF1b3Q7LjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScwIGlmIHRoZSBlbGVtZW50IGlzIHNjaGVtYXMgdmFsaWQsIGEgcG9zaXRpdmUgZXJyb3IgY29kZSBudW1iZXIgb3RoZXJ3aXNlIGFuZCAtMSBpbiBjYXNlIG9mIGludGVybmFsIG9yIEFQSSBlcnJvci4nLz4KKyAgICAgIDxhcmcgbmFtZT0nZmFjZXQnIHR5cGU9J3htbFNjaGVtYUZhY2V0UHRyJyBpbmZvPSd0aGUgZmFjZXQgdG8gY2hlY2snLz4KKyAgICAgIDxhcmcgbmFtZT0nZndzJyB0eXBlPSd4bWxTY2hlbWFXaGl0ZXNwYWNlVmFsdWVUeXBlJyBpbmZvPSd0aGUgd2hpdGVzcGFjZSB0eXBlIG9mIHRoZSBmYWNldCZhcG9zO3MgdmFsdWUnLz4KKyAgICAgIDxhcmcgbmFtZT0ndmFsVHlwZScgdHlwZT0neG1sU2NoZW1hVmFsVHlwZScgaW5mbz0ndGhlIGJ1aWx0LWluIHR5cGUgb2YgdGhlIHZhbHVlJy8+CisgICAgICA8YXJnIG5hbWU9J3ZhbHVlJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBsZXhpY2FsIChvciBub3JtYWxpemVkIGZvciBwYXR0ZXJuKSByZXByIG9mIHRoZSB2YWx1ZSB0byB2YWxpZGF0ZScvPgorICAgICAgPGFyZyBuYW1lPSd2YWwnIHR5cGU9J3htbFNjaGVtYVZhbFB0cicgaW5mbz0ndGhlIHByZWNvbXB1dGVkIHZhbHVlJy8+CisgICAgICA8YXJnIG5hbWU9J3dzJyB0eXBlPSd4bWxTY2hlbWFXaGl0ZXNwYWNlVmFsdWVUeXBlJyBpbmZvPSd0aGUgd2hpdGVzcGFjZSB0eXBlIG9mIHRoZSB2YWx1ZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFNjaGVtYVZhbGlkYXRlRmlsZScgZmlsZT0neG1sc2NoZW1hcycgbW9kdWxlPSd4bWxzY2hlbWFzJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5EbyBhIHNjaGVtYXMgdmFsaWRhdGlvbiBvZiB0aGUgZ2l2ZW4gcmVzb3VyY2UsIGl0IHdpbGwgdXNlIHRoZSBTQVggc3RyZWFtYWJsZSB2YWxpZGF0aW9uIGludGVybmFsbHkuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzAgaWYgdGhlIGRvY3VtZW50IGlzIHZhbGlkLCBhIHBvc2l0aXZlIGVycm9yIGNvZGUgbnVtYmVyIG90aGVyd2lzZSBhbmQgLTEgaW4gY2FzZSBvZiBhbiBpbnRlcm5hbCBvciBBUEkgZXJyb3IuJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFNjaGVtYVZhbGlkQ3R4dFB0cicgaW5mbz0nYSBzY2hlbWEgdmFsaWRhdGlvbiBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J2ZpbGVuYW1lJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBVUkkgb2YgdGhlIGluc3RhbmNlJy8+CisgICAgICA8YXJnIG5hbWU9J29wdGlvbnMnIHR5cGU9J2ludCcgaW5mbz0nYSBmdXR1cmUgc2V0IG9mIG9wdGlvbnMsIGN1cnJlbnRseSB1bnVzZWQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZUxlbmd0aEZhY2V0JyBmaWxlPSd4bWxzY2hlbWFzdHlwZXMnIG1vZHVsZT0neG1sc2NoZW1hc3R5cGVzJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DaGVja2EgYSB2YWx1ZSBhZ2FpbnN0IGEgJnF1b3Q7bGVuZ3RoJnF1b3Q7LCAmcXVvdDttaW5MZW5ndGgmcXVvdDsgYW5kICZxdW90O21heExlbmd0aCZxdW90OyBmYWNldDsgc2V0cyBAbGVuZ3RoIHRvIHRoZSBjb21wdXRlZCBsZW5ndGggb2YgQHZhbHVlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScwIGlmIHRoZSB2YWx1ZSBpcyB2YWxpZCwgYSBwb3NpdGl2ZSBlcnJvciBjb2RlIG90aGVyd2lzZSBhbmQgLTEgaW4gY2FzZSBvZiBhbiBpbnRlcm5hbCBvciBBUEkgZXJyb3IuJy8+CisgICAgICA8YXJnIG5hbWU9J3R5cGUnIHR5cGU9J3htbFNjaGVtYVR5cGVQdHInIGluZm89J3RoZSBidWlsdC1pbiB0eXBlJy8+CisgICAgICA8YXJnIG5hbWU9J2ZhY2V0JyB0eXBlPSd4bWxTY2hlbWFGYWNldFB0cicgaW5mbz0ndGhlIGZhY2V0IHRvIGNoZWNrJy8+CisgICAgICA8YXJnIG5hbWU9J3ZhbHVlJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBsZXhpY2FsIHJlcHIuIG9mIHRoZSB2YWx1ZSB0byBiZSB2YWxpZGF0ZWQnLz4KKyAgICAgIDxhcmcgbmFtZT0ndmFsJyB0eXBlPSd4bWxTY2hlbWFWYWxQdHInIGluZm89J3RoZSBwcmVjb21wdXRlZCB2YWx1ZScvPgorICAgICAgPGFyZyBuYW1lPSdsZW5ndGgnIHR5cGU9J3Vuc2lnbmVkIGxvbmcgKicgaW5mbz0ndGhlIGFjdHVhbCBsZW5ndGggb2YgdGhlIHZhbHVlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldFdodHNwJyBmaWxlPSd4bWxzY2hlbWFzdHlwZXMnIG1vZHVsZT0neG1sc2NoZW1hc3R5cGVzJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DaGVja2EgYSB2YWx1ZSBhZ2FpbnN0IGEgJnF1b3Q7bGVuZ3RoJnF1b3Q7LCAmcXVvdDttaW5MZW5ndGgmcXVvdDsgYW5kICZxdW90O21heExlbmd0aCZxdW90OyBmYWNldDsgc2V0cyBAbGVuZ3RoIHRvIHRoZSBjb21wdXRlZCBsZW5ndGggb2YgQHZhbHVlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScwIGlmIHRoZSB2YWx1ZSBpcyB2YWxpZCwgYSBwb3NpdGl2ZSBlcnJvciBjb2RlIG90aGVyd2lzZSBhbmQgLTEgaW4gY2FzZSBvZiBhbiBpbnRlcm5hbCBvciBBUEkgZXJyb3IuJy8+CisgICAgICA8YXJnIG5hbWU9J2ZhY2V0JyB0eXBlPSd4bWxTY2hlbWFGYWNldFB0cicgaW5mbz0ndGhlIGZhY2V0IHRvIGNoZWNrJy8+CisgICAgICA8YXJnIG5hbWU9J3ZhbFR5cGUnIHR5cGU9J3htbFNjaGVtYVZhbFR5cGUnIGluZm89J3RoZSBidWlsdC1pbiB0eXBlJy8+CisgICAgICA8YXJnIG5hbWU9J3ZhbHVlJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBsZXhpY2FsIHJlcHIuIG9mIHRoZSB2YWx1ZSB0byBiZSB2YWxpZGF0ZWQnLz4KKyAgICAgIDxhcmcgbmFtZT0ndmFsJyB0eXBlPSd4bWxTY2hlbWFWYWxQdHInIGluZm89J3RoZSBwcmVjb21wdXRlZCB2YWx1ZScvPgorICAgICAgPGFyZyBuYW1lPSdsZW5ndGgnIHR5cGU9J3Vuc2lnbmVkIGxvbmcgKicgaW5mbz0ndGhlIGFjdHVhbCBsZW5ndGggb2YgdGhlIHZhbHVlJy8+CisgICAgICA8YXJnIG5hbWU9J3dzJyB0eXBlPSd4bWxTY2hlbWFXaGl0ZXNwYWNlVmFsdWVUeXBlJyBpbmZvPSd0aGUgd2hpdGVzcGFjZSB0eXBlIG9mIHRoZSB2YWx1ZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFNjaGVtYVZhbGlkYXRlTGlzdFNpbXBsZVR5cGVGYWNldCcgZmlsZT0neG1sc2NoZW1hc3R5cGVzJyBtb2R1bGU9J3htbHNjaGVtYXN0eXBlcyc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2tzIHRoZSB2YWx1ZSBvZiBhIGxpc3Qgc2ltcGxlIHR5cGUgYWdhaW5zdCBhIGZhY2V0LjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScwIGlmIHRoZSB2YWx1ZSBpcyB2YWxpZCwgYSBwb3NpdGl2ZSBlcnJvciBjb2RlIG51bWJlciBvdGhlcndpc2UgYW5kIC0xIGluIGNhc2Ugb2YgYW4gaW50ZXJuYWwgZXJyb3IuJy8+CisgICAgICA8YXJnIG5hbWU9J2ZhY2V0JyB0eXBlPSd4bWxTY2hlbWFGYWNldFB0cicgaW5mbz0ndGhlIGZhY2V0IHRvIGNoZWNrJy8+CisgICAgICA8YXJnIG5hbWU9J3ZhbHVlJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBsZXhpY2FsIHJlcHIgb2YgdGhlIHZhbHVlIHRvIHZhbGlkYXRlJy8+CisgICAgICA8YXJnIG5hbWU9J2FjdHVhbExlbicgdHlwZT0ndW5zaWduZWQgbG9uZycgaW5mbz0ndGhlIG51bWJlciBvZiBsaXN0IGl0ZW1zJy8+CisgICAgICA8YXJnIG5hbWU9J2V4cGVjdGVkTGVuJyB0eXBlPSd1bnNpZ25lZCBsb25nIConIGluZm89J3RoZSByZXN1bHRpbmcgZXhwZWN0ZWQgbnVtYmVyIG9mIGxpc3QgaXRlbXMnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZU9uZUVsZW1lbnQnIGZpbGU9J3htbHNjaGVtYXMnIG1vZHVsZT0neG1sc2NoZW1hcyc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+VmFsaWRhdGUgYSBicmFuY2ggb2YgYSB0cmVlLCBzdGFydGluZyB3aXRoIHRoZSBnaXZlbiBAZWxlbS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMCBpZiB0aGUgZWxlbWVudCBhbmQgaXRzIHN1YnRyZWUgaXMgdmFsaWQsIGEgcG9zaXRpdmUgZXJyb3IgY29kZSBudW1iZXIgb3RoZXJ3aXNlIGFuZCAtMSBpbiBjYXNlIG9mIGFuIGludGVybmFsIG9yIEFQSSBlcnJvci4nLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sU2NoZW1hVmFsaWRDdHh0UHRyJyBpbmZvPSdhIHNjaGVtYSB2YWxpZGF0aW9uIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZWxlbScgdHlwZT0neG1sTm9kZVB0cicgaW5mbz0nYW4gZWxlbWVudCBub2RlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sU2NoZW1hVmFsaWRhdGVQcmVkZWZpbmVkVHlwZScgZmlsZT0neG1sc2NoZW1hc3R5cGVzJyBtb2R1bGU9J3htbHNjaGVtYXN0eXBlcyc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgdGhhdCBhIHZhbHVlIGNvbmZvcm1zIHRvIHRoZSBsZXhpY2FsIHNwYWNlIG9mIHRoZSBwcmVkZWZpbmVkIHR5cGUuIGlmIHRydWUgYSB2YWx1ZSBpcyBjb21wdXRlZCBhbmQgcmV0dXJuZWQgaW4gQHZhbC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMCBpZiB0aGlzIHZhbGlkYXRlcywgYSBwb3NpdGl2ZSBlcnJvciBjb2RlIG51bWJlciBvdGhlcndpc2UgYW5kIC0xIGluIGNhc2Ugb2YgaW50ZXJuYWwgb3IgQVBJIGVycm9yLicvPgorICAgICAgPGFyZyBuYW1lPSd0eXBlJyB0eXBlPSd4bWxTY2hlbWFUeXBlUHRyJyBpbmZvPSd0aGUgcHJlZGVmaW5lZCB0eXBlJy8+CisgICAgICA8YXJnIG5hbWU9J3ZhbHVlJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSB2YWx1ZSB0byBjaGVjaycvPgorICAgICAgPGFyZyBuYW1lPSd2YWwnIHR5cGU9J3htbFNjaGVtYVZhbFB0ciAqJyBpbmZvPSd0aGUgcmV0dXJuIGNvbXB1dGVkIHZhbHVlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sU2NoZW1hVmFsaWRhdGVTZXRGaWxlbmFtZScgZmlsZT0neG1sc2NoZW1hcycgbW9kdWxlPSd4bWxzY2hlbWFzJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5Xb3JrYXJvdW5kIHRvIHByb3ZpZGUgZmlsZSBlcnJvciByZXBvcnRpbmcgaW5mb3JtYXRpb24gd2hlbiB0aGlzIGlzIG5vdCBwcm92aWRlZCBieSBjdXJyZW50IEFQSXM8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0ndmN0eHQnIHR5cGU9J3htbFNjaGVtYVZhbGlkQ3R4dFB0cicgaW5mbz0ndGhlIHNjaGVtYSB2YWxpZGF0aW9uIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZmlsZW5hbWUnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIGZpbGUgbmFtZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFNjaGVtYVZhbGlkYXRlU2V0TG9jYXRvcicgZmlsZT0neG1sc2NoZW1hcycgbW9kdWxlPSd4bWxzY2hlbWFzJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5BbGxvd3MgdG8gc2V0IGEgbG9jYXRvciBmdW5jdGlvbiB0byB0aGUgdmFsaWRhdGlvbiBjb250ZXh0LCB3aGljaCB3aWxsIGJlIHVzZWQgdG8gcHJvdmlkZSBmaWxlIGFuZCBsaW5lIGluZm9ybWF0aW9uIHNpbmNlIHRob3NlIGFyZSBub3QgcHJvdmlkZWQgYXMgcGFydCBvZiB0aGUgU0FYIHZhbGlkYXRpb24gZmxvdyBTZXR0aW5nIEBmIHRvIE5VTEwgZGlzYWJsZSB0aGUgbG9jYXRvci48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0ndmN0eHQnIHR5cGU9J3htbFNjaGVtYVZhbGlkQ3R4dFB0cicgaW5mbz0nYSBzY2hlbWEgdmFsaWRhdGlvbiBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J2YnIHR5cGU9J3htbFNjaGVtYVZhbGlkaXR5TG9jYXRvckZ1bmMnIGluZm89J3RoZSBsb2NhdG9yIGZ1bmN0aW9uIHBvaW50ZXInLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0ndm9pZCAqJyBpbmZvPSd0aGUgbG9jYXRvciBjb250ZXh0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sU2NoZW1hVmFsaWRhdGVTdHJlYW0nIGZpbGU9J3htbHNjaGVtYXMnIG1vZHVsZT0neG1sc2NoZW1hcyc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+VmFsaWRhdGUgYW4gaW5wdXQgYmFzZWQgb24gYSBmbG93IG9mIFNBWCBldmVudCBmcm9tIHRoZSBwYXJzZXIgYW5kIGZvcndhcmQgdGhlIGV2ZW50cyB0byB0aGUgQHNheCBoYW5kbGVyIHdpdGggdGhlIHByb3ZpZGVkIEB1c2VyX2RhdGEgdGhlIHVzZXIgcHJvdmlkZWQgQHNheCBoYW5kbGVyIG11c3QgYmUgYSBTQVgyIG9uZS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMCBpZiB0aGUgZG9jdW1lbnQgaXMgc2NoZW1hcyB2YWxpZCwgYSBwb3NpdGl2ZSBlcnJvciBjb2RlIG51bWJlciBvdGhlcndpc2UgYW5kIC0xIGluIGNhc2Ugb2YgaW50ZXJuYWwgb3IgQVBJIGVycm9yLicvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxTY2hlbWFWYWxpZEN0eHRQdHInIGluZm89J2Egc2NoZW1hIHZhbGlkYXRpb24gY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdpbnB1dCcgdHlwZT0neG1sUGFyc2VySW5wdXRCdWZmZXJQdHInIGluZm89J3RoZSBpbnB1dCB0byB1c2UgZm9yIHJlYWRpbmcgdGhlIGRhdGEnLz4KKyAgICAgIDxhcmcgbmFtZT0nZW5jJyB0eXBlPSd4bWxDaGFyRW5jb2RpbmcnIGluZm89J2FuIG9wdGlvbmFsIGVuY29kaW5nIGluZm9ybWF0aW9uJy8+CisgICAgICA8YXJnIG5hbWU9J3NheCcgdHlwZT0neG1sU0FYSGFuZGxlclB0cicgaW5mbz0nYSBTQVggaGFuZGxlciBmb3IgdGhlIHJlc3VsdGluZyBldmVudHMnLz4KKyAgICAgIDxhcmcgbmFtZT0ndXNlcl9kYXRhJyB0eXBlPSd2b2lkIConIGluZm89J3RoZSBjb250ZXh0IHRvIHByb3ZpZGUgdG8gdGhlIFNBWCBoYW5kbGVyLicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0eXBlIG5hbWU9J3htbFNjaGVtYVZhbGlkaXR5RXJyb3JGdW5jJyBmaWxlPSd4bWxzY2hlbWFzJyBtb2R1bGU9J3htbHNjaGVtYXMnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlNpZ25hdHVyZSBvZiBhbiBlcnJvciBjYWxsYmFjayBmcm9tIGFuIFhTRCB2YWxpZGF0aW9uPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eCcgdHlwZT0ndm9pZCAqJyBpbmZvPSd0aGUgdmFsaWRhdGlvbiBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J21zZycgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSd0aGUgbWVzc2FnZScvPgorICAgICAgPGFyZyBuYW1lPScuLi4nIHR5cGU9Jy4uLicgaW5mbz0nZXh0cmEgYXJndW1lbnRzJy8+CisgICAgPC9mdW5jdHlwZT4KKyAgICA8ZnVuY3R5cGUgbmFtZT0neG1sU2NoZW1hVmFsaWRpdHlMb2NhdG9yRnVuYycgZmlsZT0neG1sc2NoZW1hcycgbW9kdWxlPSd4bWxzY2hlbWFzJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5BIHNjaGVtYXMgdmFsaWRhdGlvbiBsb2NhdG9yLCBhIGNhbGxiYWNrIGNhbGxlZCBieSB0aGUgdmFsaWRhdG9yLiBUaGlzIGlzIHVzZWQgd2hlbiBmaWxlIG9yIG5vZGUgaW5mb3JtYXRpb25zIGFyZSBub3QgYXZhaWxhYmxlIHRvIGZpbmQgb3V0IHdoYXQgZmlsZSBhbmQgbGluZSBudW1iZXIgYXJlIGFmZmVjdGVkPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzAgaW4gY2FzZSBvZiBzdWNjZXNzIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eCcgdHlwZT0ndm9pZCAqJyBpbmZvPSd1c2VyIHByb3ZpZGVkIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZmlsZScgdHlwZT0nY29uc3QgY2hhciAqKicgaW5mbz0ncmV0dXJuZWQgZmlsZSBpbmZvcm1hdGlvbicvPgorICAgICAgPGFyZyBuYW1lPSdsaW5lJyB0eXBlPSd1bnNpZ25lZCBsb25nIConIGluZm89J3JldHVybmVkIGxpbmUgaW5mb3JtYXRpb24nLz4KKyAgICA8L2Z1bmN0eXBlPgorICAgIDxmdW5jdHlwZSBuYW1lPSd4bWxTY2hlbWFWYWxpZGl0eVdhcm5pbmdGdW5jJyBmaWxlPSd4bWxzY2hlbWFzJyBtb2R1bGU9J3htbHNjaGVtYXMnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlNpZ25hdHVyZSBvZiBhIHdhcm5pbmcgY2FsbGJhY2sgZnJvbSBhbiBYU0QgdmFsaWRhdGlvbjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHgnIHR5cGU9J3ZvaWQgKicgaW5mbz0ndGhlIHZhbGlkYXRpb24gY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdtc2cnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIG1lc3NhZ2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nLi4uJyB0eXBlPScuLi4nIGluZm89J2V4dHJhIGFyZ3VtZW50cycvPgorICAgIDwvZnVuY3R5cGU+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFNjaGVtYVZhbHVlQXBwZW5kJyBmaWxlPSd4bWxzY2hlbWFzdHlwZXMnIG1vZHVsZT0neG1sc2NoZW1hc3R5cGVzJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5BcHBlbmRzIGEgbmV4dCBzaWJsaW5nIHRvIGEgbGlzdCBvZiBjb21wdXRlZCB2YWx1ZXMuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzAgaWYgc3VjY2VlZGVkIGFuZCAtMSBvbiBBUEkgZXJyb3JzLicvPgorICAgICAgPGFyZyBuYW1lPSdwcmV2JyB0eXBlPSd4bWxTY2hlbWFWYWxQdHInIGluZm89J3RoZSB2YWx1ZScvPgorICAgICAgPGFyZyBuYW1lPSdjdXInIHR5cGU9J3htbFNjaGVtYVZhbFB0cicgaW5mbz0ndGhlIHZhbHVlIHRvIGJlIGFwcGVuZGVkJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sU2NoZW1hVmFsdWVHZXRBc0Jvb2xlYW4nIGZpbGU9J3htbHNjaGVtYXN0eXBlcycgbW9kdWxlPSd4bWxzY2hlbWFzdHlwZXMnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkFjY2Vzc29yIGZvciB0aGUgYm9vbGVhbiB2YWx1ZSBvZiBhIGNvbXB1dGVkIHZhbHVlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRydWUgYW5kIDAgaWYgZmFsc2UsIG9yIGluIGNhc2Ugb2YgYW4gZXJyb3IuIEhtbS4nLz4KKyAgICAgIDxhcmcgbmFtZT0ndmFsJyB0eXBlPSd4bWxTY2hlbWFWYWxQdHInIGluZm89J3RoZSB2YWx1ZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFNjaGVtYVZhbHVlR2V0QXNTdHJpbmcnIGZpbGU9J3htbHNjaGVtYXN0eXBlcycgbW9kdWxlPSd4bWxzY2hlbWFzdHlwZXMnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkFjY2Vzc29yIGZvciB0aGUgc3RyaW5nIHZhbHVlIG9mIGEgY29tcHV0ZWQgdmFsdWUuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBzdHJpbmcgdmFsdWUgb3IgTlVMTCBpZiB0aGVyZSB3YXMgbm9uZSwgb3Igb24gQVBJIGVycm9ycy4nLz4KKyAgICAgIDxhcmcgbmFtZT0ndmFsJyB0eXBlPSd4bWxTY2hlbWFWYWxQdHInIGluZm89J3RoZSB2YWx1ZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFNjaGVtYVZhbHVlR2V0TmV4dCcgZmlsZT0neG1sc2NoZW1hc3R5cGVzJyBtb2R1bGU9J3htbHNjaGVtYXN0eXBlcyc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+QWNjZXNzb3IgZm9yIHRoZSBuZXh0IHNpYmxpbmcgb2YgYSBsaXN0IG9mIGNvbXB1dGVkIHZhbHVlcy48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbFNjaGVtYVZhbFB0cicgaW5mbz0ndGhlIG5leHQgdmFsdWUgb3IgTlVMTCBpZiB0aGVyZSB3YXMgbm9uZSwgb3Igb24gQVBJIGVycm9ycy4nLz4KKyAgICAgIDxhcmcgbmFtZT0nY3VyJyB0eXBlPSd4bWxTY2hlbWFWYWxQdHInIGluZm89J3RoZSB2YWx1ZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFNjaGVtYVdoaXRlU3BhY2VSZXBsYWNlJyBmaWxlPSd4bWxzY2hlbWFzdHlwZXMnIG1vZHVsZT0neG1sc2NoZW1hc3R5cGVzJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5SZXBsYWNlcyAweGQsIDB4OSBhbmQgMHhhIHdpdGggYSBzcGFjZS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbENoYXIgKicgaW5mbz0ndGhlIG5ldyBzdHJpbmcgb3IgTlVMTCBpZiBubyBjaGFuZ2Ugd2FzIHJlcXVpcmVkLicvPgorICAgICAgPGFyZyBuYW1lPSd2YWx1ZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSdhIHZhbHVlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sU2NoZW1hdHJvbkZyZWUnIGZpbGU9J3NjaGVtYXRyb24nIG1vZHVsZT0nc2NoZW1hdHJvbic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9TQ0hFTUFUUk9OX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+RGVhbGxvY2F0ZSBhIFNjaGVtYXRyb24gc3RydWN0dXJlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdzY2hlbWEnIHR5cGU9J3htbFNjaGVtYXRyb25QdHInIGluZm89J2Egc2NoZW1hIHN0cnVjdHVyZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFNjaGVtYXRyb25GcmVlUGFyc2VyQ3R4dCcgZmlsZT0nc2NoZW1hdHJvbicgbW9kdWxlPSdzY2hlbWF0cm9uJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1NDSEVNQVRST05fRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5GcmVlIHRoZSByZXNvdXJjZXMgYXNzb2NpYXRlZCB0byB0aGUgc2NoZW1hIHBhcnNlciBjb250ZXh0PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFNjaGVtYXRyb25QYXJzZXJDdHh0UHRyJyBpbmZvPSd0aGUgc2NoZW1hIHBhcnNlciBjb250ZXh0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sU2NoZW1hdHJvbkZyZWVWYWxpZEN0eHQnIGZpbGU9J3NjaGVtYXRyb24nIG1vZHVsZT0nc2NoZW1hdHJvbic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9TQ0hFTUFUUk9OX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+RnJlZSB0aGUgcmVzb3VyY2VzIGFzc29jaWF0ZWQgdG8gdGhlIHNjaGVtYSB2YWxpZGF0aW9uIGNvbnRleHQ8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sU2NoZW1hdHJvblZhbGlkQ3R4dFB0cicgaW5mbz0ndGhlIHNjaGVtYSB2YWxpZGF0aW9uIGNvbnRleHQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTY2hlbWF0cm9uTmV3RG9jUGFyc2VyQ3R4dCcgZmlsZT0nc2NoZW1hdHJvbicgbW9kdWxlPSdzY2hlbWF0cm9uJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1NDSEVNQVRST05fRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DcmVhdGUgYW4gWE1MIFNjaGVtYXRyb25zIHBhcnNlIGNvbnRleHQgZm9yIHRoYXQgZG9jdW1lbnQuIE5CLiBUaGUgZG9jdW1lbnQgbWF5IGJlIG1vZGlmaWVkIGR1cmluZyB0aGUgcGFyc2luZyBwcm9jZXNzLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sU2NoZW1hdHJvblBhcnNlckN0eHRQdHInIGluZm89J3RoZSBwYXJzZXIgY29udGV4dCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0nZG9jJyB0eXBlPSd4bWxEb2NQdHInIGluZm89J2EgcHJlcGFyc2VkIGRvY3VtZW50IHRyZWUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTY2hlbWF0cm9uTmV3TWVtUGFyc2VyQ3R4dCcgZmlsZT0nc2NoZW1hdHJvbicgbW9kdWxlPSdzY2hlbWF0cm9uJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1NDSEVNQVRST05fRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DcmVhdGUgYW4gWE1MIFNjaGVtYXRyb25zIHBhcnNlIGNvbnRleHQgZm9yIHRoYXQgbWVtb3J5IGJ1ZmZlciBleHBlY3RlZCB0byBjb250YWluIGFuIFhNTCBTY2hlbWF0cm9ucyBmaWxlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sU2NoZW1hdHJvblBhcnNlckN0eHRQdHInIGluZm89J3RoZSBwYXJzZXIgY29udGV4dCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0nYnVmZmVyJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J2EgcG9pbnRlciB0byBhIGNoYXIgYXJyYXkgY29udGFpbmluZyB0aGUgc2NoZW1hcycvPgorICAgICAgPGFyZyBuYW1lPSdzaXplJyB0eXBlPSdpbnQnIGluZm89J3RoZSBzaXplIG9mIHRoZSBhcnJheScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFNjaGVtYXRyb25OZXdQYXJzZXJDdHh0JyBmaWxlPSdzY2hlbWF0cm9uJyBtb2R1bGU9J3NjaGVtYXRyb24nPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfU0NIRU1BVFJPTl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNyZWF0ZSBhbiBYTUwgU2NoZW1hdHJvbnMgcGFyc2UgY29udGV4dCBmb3IgdGhhdCBmaWxlL3Jlc291cmNlIGV4cGVjdGVkIHRvIGNvbnRhaW4gYW4gWE1MIFNjaGVtYXRyb25zIGZpbGUuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxTY2hlbWF0cm9uUGFyc2VyQ3R4dFB0cicgaW5mbz0ndGhlIHBhcnNlciBjb250ZXh0IG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSdVUkwnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIGxvY2F0aW9uIG9mIHRoZSBzY2hlbWEnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTY2hlbWF0cm9uTmV3VmFsaWRDdHh0JyBmaWxlPSdzY2hlbWF0cm9uJyBtb2R1bGU9J3NjaGVtYXRyb24nPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfU0NIRU1BVFJPTl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNyZWF0ZSBhbiBYTUwgU2NoZW1hdHJvbnMgdmFsaWRhdGlvbiBjb250ZXh0IGJhc2VkIG9uIHRoZSBnaXZlbiBzY2hlbWEuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxTY2hlbWF0cm9uVmFsaWRDdHh0UHRyJyBpbmZvPSd0aGUgdmFsaWRhdGlvbiBjb250ZXh0IG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSdzY2hlbWEnIHR5cGU9J3htbFNjaGVtYXRyb25QdHInIGluZm89J2EgcHJlY29tcGlsZWQgWE1MIFNjaGVtYXRyb25zJy8+CisgICAgICA8YXJnIG5hbWU9J29wdGlvbnMnIHR5cGU9J2ludCcgaW5mbz0nYSBzZXQgb2YgeG1sU2NoZW1hdHJvblZhbGlkT3B0aW9ucycvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFNjaGVtYXRyb25QYXJzZScgZmlsZT0nc2NoZW1hdHJvbicgbW9kdWxlPSdzY2hlbWF0cm9uJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1NDSEVNQVRST05fRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5wYXJzZSBhIHNjaGVtYSBkZWZpbml0aW9uIHJlc291cmNlIGFuZCBidWlsZCBhbiBpbnRlcm5hbCBYTUwgU2hlbWEgc3RydXR1cmUgd2hpY2ggY2FuIGJlIHVzZWQgdG8gdmFsaWRhdGUgaW5zdGFuY2VzLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sU2NoZW1hdHJvblB0cicgaW5mbz0ndGhlIGludGVybmFsIFhNTCBTY2hlbWF0cm9uIHN0cnVjdHVyZSBidWlsdCBmcm9tIHRoZSByZXNvdXJjZSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sU2NoZW1hdHJvblBhcnNlckN0eHRQdHInIGluZm89J2Egc2NoZW1hIHZhbGlkYXRpb24gY29udGV4dCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFNjaGVtYXRyb25TZXRWYWxpZFN0cnVjdHVyZWRFcnJvcnMnIGZpbGU9J3NjaGVtYXRyb24nIG1vZHVsZT0nc2NoZW1hdHJvbic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9TQ0hFTUFUUk9OX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+U2V0IHRoZSBzdHJ1Y3R1cmVkIGVycm9yIGNhbGxiYWNrPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFNjaGVtYXRyb25WYWxpZEN0eHRQdHInIGluZm89J2EgU2NoZW1hdHJvbiB2YWxpZGF0aW9uIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nc2Vycm9yJyB0eXBlPSd4bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jJyBpbmZvPSd0aGUgc3RydWN0dXJlZCBlcnJvciBmdW5jdGlvbicvPgorICAgICAgPGFyZyBuYW1lPSdjdHgnIHR5cGU9J3ZvaWQgKicgaW5mbz0ndGhlIGZ1bmN0aW9ucyBjb250ZXh0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sU2NoZW1hdHJvblZhbGlkYXRlRG9jJyBmaWxlPSdzY2hlbWF0cm9uJyBtb2R1bGU9J3NjaGVtYXRyb24nPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfU0NIRU1BVFJPTl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlZhbGlkYXRlIGEgdHJlZSBpbnN0YW5jZSBhZ2FpbnN0IHRoZSBzY2hlbWF0cm9uPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzAgaW4gY2FzZSBvZiBzdWNjZXNzLCAtMSBpbiBjYXNlIG9mIGludGVybmFsIGVycm9yIGFuZCBhbiBlcnJvciBjb3VudCBvdGhlcndpc2UuJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFNjaGVtYXRyb25WYWxpZEN0eHRQdHInIGluZm89J3RoZSBzY2hlbWEgdmFsaWRhdGlvbiBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J2luc3RhbmNlJyB0eXBlPSd4bWxEb2NQdHInIGluZm89J3RoZSBkb2N1bWVudCBpbnN0YWNlIHRyZWUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdHlwZSBuYW1lPSd4bWxTY2hlbWF0cm9uVmFsaWRpdHlFcnJvckZ1bmMnIGZpbGU9J3NjaGVtYXRyb24nIG1vZHVsZT0nc2NoZW1hdHJvbic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9TQ0hFTUFUUk9OX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+U2lnbmF0dXJlIG9mIGFuIGVycm9yIGNhbGxiYWNrIGZyb20gYSBTY2hlbWF0cm9uIHZhbGlkYXRpb248L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4JyB0eXBlPSd2b2lkIConIGluZm89J3RoZSB2YWxpZGF0aW9uIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbXNnJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBtZXNzYWdlJy8+CisgICAgICA8YXJnIG5hbWU9Jy4uLicgdHlwZT0nLi4uJyBpbmZvPSdleHRyYSBhcmd1bWVudHMnLz4KKyAgICA8L2Z1bmN0eXBlPgorICAgIDxmdW5jdHlwZSBuYW1lPSd4bWxTY2hlbWF0cm9uVmFsaWRpdHlXYXJuaW5nRnVuYycgZmlsZT0nc2NoZW1hdHJvbicgbW9kdWxlPSdzY2hlbWF0cm9uJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1NDSEVNQVRST05fRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5TaWduYXR1cmUgb2YgYSB3YXJuaW5nIGNhbGxiYWNrIGZyb20gYSBTY2hlbWF0cm9uIHZhbGlkYXRpb248L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4JyB0eXBlPSd2b2lkIConIGluZm89J3RoZSB2YWxpZGF0aW9uIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbXNnJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBtZXNzYWdlJy8+CisgICAgICA8YXJnIG5hbWU9Jy4uLicgdHlwZT0nLi4uJyBpbmZvPSdleHRyYSBhcmd1bWVudHMnLz4KKyAgICA8L2Z1bmN0eXBlPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTZWFyY2hOcycgZmlsZT0ndHJlZScgbW9kdWxlPSd0cmVlJz4KKyAgICAgIDxpbmZvPlNlYXJjaCBhIE5zIHJlZ2lzdGVyZWQgdW5kZXIgYSBnaXZlbiBuYW1lIHNwYWNlIGZvciBhIGRvY3VtZW50LiByZWN1cnNlIG9uIHRoZSBwYXJlbnRzIHVudGlsIGl0IGZpbmRzIHRoZSBkZWZpbmVkIG5hbWVzcGFjZSBvciByZXR1cm4gTlVMTCBvdGhlcndpc2UuIEBuYW1lU3BhY2UgY2FuIGJlIE5VTEwsIHRoaXMgaXMgYSBzZWFyY2ggZm9yIHRoZSBkZWZhdWx0IG5hbWVzcGFjZS4gV2UgZG9uJmFwb3M7dCBhbGxvdyB0byBjcm9zcyBlbnRpdGllcyBib3VuZGFyaWVzLiBJZiB5b3UgZG9uJmFwb3M7dCBkZWNsYXJlIHRoZSBuYW1lc3BhY2Ugd2l0aGluIHRob3NlIHlvdSB3aWxsIGJlIGluIHRyb3VibGVzICEhISBBIHdhcm5pbmcgaXMgZ2VuZXJhdGVkIHRvIGNvdmVyIHRoaXMgY2FzZS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbE5zUHRyJyBpbmZvPSd0aGUgbmFtZXNwYWNlIHBvaW50ZXIgb3IgTlVMTC4nLz4KKyAgICAgIDxhcmcgbmFtZT0nZG9jJyB0eXBlPSd4bWxEb2NQdHInIGluZm89J3RoZSBkb2N1bWVudCcvPgorICAgICAgPGFyZyBuYW1lPSdub2RlJyB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSd0aGUgY3VycmVudCBub2RlJy8+CisgICAgICA8YXJnIG5hbWU9J25hbWVTcGFjZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgbmFtZXNwYWNlIHByZWZpeCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFNlYXJjaE5zQnlIcmVmJyBmaWxlPSd0cmVlJyBtb2R1bGU9J3RyZWUnPgorICAgICAgPGluZm8+U2VhcmNoIGEgTnMgYWxpYXNpbmcgYSBnaXZlbiBVUkkuIFJlY3Vyc2Ugb24gdGhlIHBhcmVudHMgdW50aWwgaXQgZmluZHMgdGhlIGRlZmluZWQgbmFtZXNwYWNlIG9yIHJldHVybiBOVUxMIG90aGVyd2lzZS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbE5zUHRyJyBpbmZvPSd0aGUgbmFtZXNwYWNlIHBvaW50ZXIgb3IgTlVMTC4nLz4KKyAgICAgIDxhcmcgbmFtZT0nZG9jJyB0eXBlPSd4bWxEb2NQdHInIGluZm89J3RoZSBkb2N1bWVudCcvPgorICAgICAgPGFyZyBuYW1lPSdub2RlJyB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSd0aGUgY3VycmVudCBub2RlJy8+CisgICAgICA8YXJnIG5hbWU9J2hyZWYnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIG5hbWVzcGFjZSB2YWx1ZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFNldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUnIGZpbGU9J3RyZWUnIG1vZHVsZT0ndHJlZSc+CisgICAgICA8aW5mbz5TZXQgdGhlIGJ1ZmZlciBhbGxvY2F0aW9uIG1ldGhvZC4gIFR5cGVzIGFyZSBYTUxfQlVGRkVSX0FMTE9DX0VYQUNUIC0gdXNlIGV4YWN0IHNpemVzLCBrZWVwcyBtZW1vcnkgdXNhZ2UgZG93biBYTUxfQlVGRkVSX0FMTE9DX0RPVUJMRUlUIC0gZG91YmxlIGJ1ZmZlciB3aGVuIGV4dHJhIG5lZWRlZCwgaW1wcm92ZXMgcGVyZm9ybWFuY2U8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nc2NoZW1lJyB0eXBlPSd4bWxCdWZmZXJBbGxvY2F0aW9uU2NoZW1lJyBpbmZvPSdhbGxvY2F0aW9uIG1ldGhvZCB0byB1c2UnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTZXRDb21wcmVzc01vZGUnIGZpbGU9J3RyZWUnIG1vZHVsZT0ndHJlZSc+CisgICAgICA8aW5mbz5zZXQgdGhlIGRlZmF1bHQgY29tcHJlc3Npb24gbW9kZSB1c2VkLCBaTElCIGJhc2VkIENvcnJlY3QgdmFsdWVzOiAwICh1bmNvbXByZXNzZWQpIHRvIDkgKG1heCBjb21wcmVzc2lvbik8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbW9kZScgdHlwZT0naW50JyBpbmZvPSd0aGUgY29tcHJlc3Npb24gcmF0aW8nLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTZXREb2NDb21wcmVzc01vZGUnIGZpbGU9J3RyZWUnIG1vZHVsZT0ndHJlZSc+CisgICAgICA8aW5mbz5zZXQgdGhlIGNvbXByZXNzaW9uIHJhdGlvIGZvciBhIGRvY3VtZW50LCBaTElCIGJhc2VkIENvcnJlY3QgdmFsdWVzOiAwICh1bmNvbXByZXNzZWQpIHRvIDkgKG1heCBjb21wcmVzc2lvbik8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZG9jJyB0eXBlPSd4bWxEb2NQdHInIGluZm89J3RoZSBkb2N1bWVudCcvPgorICAgICAgPGFyZyBuYW1lPSdtb2RlJyB0eXBlPSdpbnQnIGluZm89J3RoZSBjb21wcmVzc2lvbiByYXRpbycvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFNldEVudGl0eVJlZmVyZW5jZUZ1bmMnIGZpbGU9J3BhcnNlckludGVybmFscycgbW9kdWxlPSdwYXJzZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfTEVHQUNZX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+U2V0IHRoZSBmdW5jdGlvbiB0byBjYWxsIGNhbGwgYmFjayB3aGVuIGEgeG1sIHJlZmVyZW5jZSBoYXMgYmVlbiBtYWRlPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2Z1bmMnIHR5cGU9J3htbEVudGl0eVJlZmVyZW5jZUZ1bmMnIGluZm89J0EgdmFsaWQgZnVuY3Rpb24nLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTZXRFeHRlcm5hbEVudGl0eUxvYWRlcicgZmlsZT0ncGFyc2VyJyBtb2R1bGU9J3htbElPJz4KKyAgICAgIDxpbmZvPkNoYW5nZXMgdGhlIGRlZmF1bHRleHRlcm5hbCBlbnRpdHkgcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBhcHBsaWNhdGlvbjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdmJyB0eXBlPSd4bWxFeHRlcm5hbEVudGl0eUxvYWRlcicgaW5mbz0ndGhlIG5ldyBlbnRpdHkgcmVzb2x2ZXIgZnVuY3Rpb24nLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTZXRGZWF0dXJlJyBmaWxlPSdwYXJzZXInIG1vZHVsZT0nbGVnYWN5Jz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0xFR0FDWV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNoYW5nZSB0aGUgY3VycmVudCB2YWx1ZSBvZiBvbmUgZmVhdHVyZSBvZiB0aGlzIHBhcnNlciBpbnN0YW5jZTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSctMSBpbiBjYXNlIG9yIGVycm9yLCAwIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxQYXJzZXJDdHh0UHRyJyBpbmZvPSdhbiBYTUwvSFRNTCBwYXJzZXIgY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBmZWF0dXJlIG5hbWUnLz4KKyAgICAgIDxhcmcgbmFtZT0ndmFsdWUnIHR5cGU9J3ZvaWQgKicgaW5mbz0ncG9pbnRlciB0byB0aGUgbG9jYXRpb24gb2YgdGhlIG5ldyB2YWx1ZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFNldEdlbmVyaWNFcnJvckZ1bmMnIGZpbGU9J3htbGVycm9yJyBtb2R1bGU9J2Vycm9yJz4KKyAgICAgIDxpbmZvPkZ1bmN0aW9uIHRvIHJlc2V0IHRoZSBoYW5kbGVyIGFuZCB0aGUgZXJyb3IgY29udGV4dCBmb3Igb3V0IG9mIGNvbnRleHQgZXJyb3IgbWVzc2FnZXMuIFRoaXMgc2ltcGx5IG1lYW5zIHRoYXQgQGhhbmRsZXIgd2lsbCBiZSBjYWxsZWQgZm9yIHN1YnNlcXVlbnQgZXJyb3IgbWVzc2FnZXMgd2hpbGUgbm90IHBhcnNpbmcgbm9yIHZhbGlkYXRpbmcuIEFuZCBAY3R4IHdpbGwgYmUgcGFzc2VkIGFzIGZpcnN0IGFyZ3VtZW50IHRvIEBoYW5kbGVyIE9uZSBjYW4gc2ltcGx5IGZvcmNlIG1lc3NhZ2VzIHRvIGJlIGVtaXR0ZWQgdG8gYW5vdGhlciBGSUxFICogdGhhbiBzdGRlcnIgYnkgc2V0dGluZyBAY3R4IHRvIHRoaXMgZmlsZSBoYW5kbGUgYW5kIEBoYW5kbGVyIHRvIE5VTEwuIEZvciBtdWx0aS10aHJlYWRlZCBhcHBsaWNhdGlvbnMsIHRoaXMgbXVzdCBiZSBzZXQgc2VwYXJhdGVseSBmb3IgZWFjaCB0aHJlYWQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eCcgdHlwZT0ndm9pZCAqJyBpbmZvPSd0aGUgbmV3IGVycm9yIGhhbmRsaW5nIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0naGFuZGxlcicgdHlwZT0neG1sR2VuZXJpY0Vycm9yRnVuYycgaW5mbz0ndGhlIG5ldyBoYW5kbGVyIGZ1bmN0aW9uJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sU2V0TGlzdERvYycgZmlsZT0ndHJlZScgbW9kdWxlPSd0cmVlJz4KKyAgICAgIDxpbmZvPnVwZGF0ZSBhbGwgbm9kZXMgaW4gdGhlIGxpc3QgdG8gcG9pbnQgdG8gdGhlIHJpZ2h0IGRvY3VtZW50PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2xpc3QnIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3RoZSBmaXJzdCBlbGVtZW50Jy8+CisgICAgICA8YXJnIG5hbWU9J2RvYycgdHlwZT0neG1sRG9jUHRyJyBpbmZvPSd0aGUgZG9jdW1lbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTZXROcycgZmlsZT0ndHJlZScgbW9kdWxlPSd0cmVlJz4KKyAgICAgIDxpbmZvPkFzc29jaWF0ZSBhIG5hbWVzcGFjZSB0byBhIG5vZGUsIGEgcG9zdGVyaW9yaS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbm9kZScgdHlwZT0neG1sTm9kZVB0cicgaW5mbz0nYSBub2RlIGluIHRoZSBkb2N1bWVudCcvPgorICAgICAgPGFyZyBuYW1lPSducycgdHlwZT0neG1sTnNQdHInIGluZm89J2EgbmFtZXNwYWNlIHBvaW50ZXInLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTZXROc1Byb3AnIGZpbGU9J3RyZWUnIG1vZHVsZT0ndHJlZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX1hJTkNMVURFX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlNldCAob3IgcmVzZXQpIGFuIGF0dHJpYnV0ZSBjYXJyaWVkIGJ5IGEgbm9kZS4gVGhlIG5zIHN0cnVjdHVyZSBtdXN0IGJlIGluIHNjb3BlLCB0aGlzIGlzIG5vdCBjaGVja2VkPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxBdHRyUHRyJyBpbmZvPSd0aGUgYXR0cmlidXRlIHBvaW50ZXIuJy8+CisgICAgICA8YXJnIG5hbWU9J25vZGUnIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3RoZSBub2RlJy8+CisgICAgICA8YXJnIG5hbWU9J25zJyB0eXBlPSd4bWxOc1B0cicgaW5mbz0ndGhlIG5hbWVzcGFjZSBkZWZpbml0aW9uJy8+CisgICAgICA8YXJnIG5hbWU9J25hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIGF0dHJpYnV0ZSBuYW1lJy8+CisgICAgICA8YXJnIG5hbWU9J3ZhbHVlJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBhdHRyaWJ1dGUgdmFsdWUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTZXRQcm9wJyBmaWxlPSd0cmVlJyBtb2R1bGU9J3RyZWUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfVFJFRV9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9YSU5DTFVERV9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX0hUTUxfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5TZXQgKG9yIHJlc2V0KSBhbiBhdHRyaWJ1dGUgY2FycmllZCBieSBhIG5vZGUuIElmIEBuYW1lIGhhcyBhIHByZWZpeCwgdGhlbiB0aGUgY29ycmVzcG9uZGluZyBuYW1lc3BhY2UtYmluZGluZyB3aWxsIGJlIHVzZWQsIGlmIGluIHNjb3BlOyBpdCBpcyBhbiBlcnJvciBpdCB0aGVyZSZhcG9zO3Mgbm8gc3VjaCBucy1iaW5kaW5nIGZvciB0aGUgcHJlZml4IGluIHNjb3BlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sQXR0clB0cicgaW5mbz0ndGhlIGF0dHJpYnV0ZSBwb2ludGVyLicvPgorICAgICAgPGFyZyBuYW1lPSdub2RlJyB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSd0aGUgbm9kZScvPgorICAgICAgPGFyZyBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBhdHRyaWJ1dGUgbmFtZSAoYSBRTmFtZSknLz4KKyAgICAgIDxhcmcgbmFtZT0ndmFsdWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIGF0dHJpYnV0ZSB2YWx1ZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFNldFN0cnVjdHVyZWRFcnJvckZ1bmMnIGZpbGU9J3htbGVycm9yJyBtb2R1bGU9J2Vycm9yJz4KKyAgICAgIDxpbmZvPkZ1bmN0aW9uIHRvIHJlc2V0IHRoZSBoYW5kbGVyIGFuZCB0aGUgZXJyb3IgY29udGV4dCBmb3Igb3V0IG9mIGNvbnRleHQgc3RydWN0dXJlZCBlcnJvciBtZXNzYWdlcy4gVGhpcyBzaW1wbHkgbWVhbnMgdGhhdCBAaGFuZGxlciB3aWxsIGJlIGNhbGxlZCBmb3Igc3Vic2VxdWVudCBlcnJvciBtZXNzYWdlcyB3aGlsZSBub3QgcGFyc2luZyBub3IgdmFsaWRhdGluZy4gQW5kIEBjdHggd2lsbCBiZSBwYXNzZWQgYXMgZmlyc3QgYXJndW1lbnQgdG8gQGhhbmRsZXIgRm9yIG11bHRpLXRocmVhZGVkIGFwcGxpY2F0aW9ucywgdGhpcyBtdXN0IGJlIHNldCBzZXBhcmF0ZWx5IGZvciBlYWNoIHRocmVhZC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4JyB0eXBlPSd2b2lkIConIGluZm89J3RoZSBuZXcgZXJyb3IgaGFuZGxpbmcgY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdoYW5kbGVyJyB0eXBlPSd4bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jJyBpbmZvPSd0aGUgbmV3IGhhbmRsZXIgZnVuY3Rpb24nLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTZXRUcmVlRG9jJyBmaWxlPSd0cmVlJyBtb2R1bGU9J3RyZWUnPgorICAgICAgPGluZm8+dXBkYXRlIGFsbCBub2RlcyB1bmRlciB0aGUgdHJlZSB0byBwb2ludCB0byB0aGUgcmlnaHQgZG9jdW1lbnQ8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0ndHJlZScgdHlwZT0neG1sTm9kZVB0cicgaW5mbz0ndGhlIHRvcCBlbGVtZW50Jy8+CisgICAgICA8YXJnIG5hbWU9J2RvYycgdHlwZT0neG1sRG9jUHRyJyBpbmZvPSd0aGUgZG9jdW1lbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTZXR1cFBhcnNlckZvckJ1ZmZlcicgZmlsZT0ncGFyc2VyJyBtb2R1bGU9J3BhcnNlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9TQVgxX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+U2V0dXAgdGhlIHBhcnNlciBjb250ZXh0IHRvIHBhcnNlIGEgbmV3IGJ1ZmZlcjsgQ2xlYXJzIGFueSBwcmlvciBjb250ZW50cyBmcm9tIHRoZSBwYXJzZXIgY29udGV4dC4gVGhlIGJ1ZmZlciBwYXJhbWV0ZXIgbXVzdCBub3QgYmUgTlVMTCwgYnV0IHRoZSBmaWxlbmFtZSBwYXJhbWV0ZXIgY2FuIGJlPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFBhcnNlckN0eHRQdHInIGluZm89J2FuIFhNTCBwYXJzZXIgY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdidWZmZXInIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nYSB4bWxDaGFyICogYnVmZmVyJy8+CisgICAgICA8YXJnIG5hbWU9J2ZpbGVuYW1lJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J2EgZmlsZSBuYW1lJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sU2hlbGwnIGZpbGU9J2RlYnVnWE1MJyBtb2R1bGU9J2RlYnVnWE1MJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0RFQlVHX0VOQUJMRUQpICZhbXA7JmFtcDsgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5JbXBsZW1lbnRzIHRoZSBYTUwgc2hlbGwgVGhpcyBhbGxvdyB0byBsb2FkLCB2YWxpZGF0ZSwgdmlldywgbW9kaWZ5IGFuZCBzYXZlIGEgZG9jdW1lbnQgdXNpbmcgYSBlbnZpcm9ubWVudCBzaW1pbGFyIHRvIGEgVU5JWCBjb21tYW5kbGluZS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZG9jJyB0eXBlPSd4bWxEb2NQdHInIGluZm89J3RoZSBpbml0aWFsIGRvY3VtZW50Jy8+CisgICAgICA8YXJnIG5hbWU9J2ZpbGVuYW1lJyB0eXBlPSdjaGFyIConIGluZm89J3RoZSBvdXRwdXQgYnVmZmVyJy8+CisgICAgICA8YXJnIG5hbWU9J2lucHV0JyB0eXBlPSd4bWxTaGVsbFJlYWRsaW5lRnVuYycgaW5mbz0ndGhlIGxpbmUgcmVhZGluZyBmdW5jdGlvbicvPgorICAgICAgPGFyZyBuYW1lPSdvdXRwdXQnIHR5cGU9J0ZJTEUgKicgaW5mbz0ndGhlIG91dHB1dCBGSUxFKiwgZGVmYXVsdHMgdG8gc3Rkb3V0IGlmIE5VTEwnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTaGVsbEJhc2UnIGZpbGU9J2RlYnVnWE1MJyBtb2R1bGU9J2RlYnVnWE1MJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0RFQlVHX0VOQUJMRUQpICZhbXA7JmFtcDsgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5JbXBsZW1lbnRzIHRoZSBYTUwgc2hlbGwgZnVuY3Rpb24gJnF1b3Q7YmFzZSZxdW90OyBkdW1wcyB0aGUgY3VycmVudCBYTUwgYmFzZSBvZiB0aGUgbm9kZTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScwJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFNoZWxsQ3R4dFB0cicgaW5mbz0ndGhlIHNoZWxsIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nYXJnJyB0eXBlPSdjaGFyIConIGluZm89J3VudXNlZCcvPgorICAgICAgPGFyZyBuYW1lPSdub2RlJyB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSdhIG5vZGUnLz4KKyAgICAgIDxhcmcgbmFtZT0nbm9kZTInIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3VudXNlZCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFNoZWxsQ2F0JyBmaWxlPSdkZWJ1Z1hNTCcgbW9kdWxlPSdkZWJ1Z1hNTCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9ERUJVR19FTkFCTEVEKSAmYW1wOyZhbXA7IGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpICZhbXA7JmFtcDsgZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+SW1wbGVtZW50cyB0aGUgWE1MIHNoZWxsIGZ1bmN0aW9uICZxdW90O2NhdCZxdW90OyBkdW1wcyB0aGUgc2VyaWFsaXphdGlvbiBub2RlIGNvbnRlbnQgKFhNTCBvciBIVE1MKS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxTaGVsbEN0eHRQdHInIGluZm89J3RoZSBzaGVsbCBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J2FyZycgdHlwZT0nY2hhciAqJyBpbmZvPSd1bnVzZWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbm9kZScgdHlwZT0neG1sTm9kZVB0cicgaW5mbz0nYSBub2RlJy8+CisgICAgICA8YXJnIG5hbWU9J25vZGUyJyB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSd1bnVzZWQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdHlwZSBuYW1lPSd4bWxTaGVsbENtZCcgZmlsZT0nZGVidWdYTUwnIG1vZHVsZT0nZGVidWdYTUwnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfREVCVUdfRU5BQkxFRCkgJmFtcDsmYW1wOyBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlRoaXMgaXMgYSBnZW5lcmljIHNpZ25hdHVyZSBmb3IgdGhlIFhNTCBzaGVsbCBmdW5jdGlvbnMuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J2FuIGludCwgbmVnYXRpdmUgcmV0dXJucyBpbmRpY2F0aW5nIGVycm9ycy4nLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sU2hlbGxDdHh0UHRyJyBpbmZvPSdhIHNoZWxsIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nYXJnJyB0eXBlPSdjaGFyIConIGluZm89J2Egc3RyaW5nIGFyZ3VtZW50Jy8+CisgICAgICA8YXJnIG5hbWU9J25vZGUnIHR5cGU9J3htbE5vZGVQdHInIGluZm89J2EgZmlyc3Qgbm9kZScvPgorICAgICAgPGFyZyBuYW1lPSdub2RlMicgdHlwZT0neG1sTm9kZVB0cicgaW5mbz0nYSBzZWNvbmQgbm9kZScvPgorICAgIDwvZnVuY3R5cGU+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFNoZWxsRGlyJyBmaWxlPSdkZWJ1Z1hNTCcgbW9kdWxlPSdkZWJ1Z1hNTCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9ERUJVR19FTkFCTEVEKSAmYW1wOyZhbXA7IGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+SW1wbGVtZW50cyB0aGUgWE1MIHNoZWxsIGZ1bmN0aW9uICZxdW90O2RpciZxdW90OyBkdW1wcyBpbmZvcm1hdGlvbnMgYWJvdXQgdGhlIG5vZGUgKG5hbWVzcGFjZSwgYXR0cmlidXRlcywgY29udGVudCkuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzAnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sU2hlbGxDdHh0UHRyJyBpbmZvPSd0aGUgc2hlbGwgY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdhcmcnIHR5cGU9J2NoYXIgKicgaW5mbz0ndW51c2VkJy8+CisgICAgICA8YXJnIG5hbWU9J25vZGUnIHR5cGU9J3htbE5vZGVQdHInIGluZm89J2Egbm9kZScvPgorICAgICAgPGFyZyBuYW1lPSdub2RlMicgdHlwZT0neG1sTm9kZVB0cicgaW5mbz0ndW51c2VkJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sU2hlbGxEdScgZmlsZT0nZGVidWdYTUwnIG1vZHVsZT0nZGVidWdYTUwnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfREVCVUdfRU5BQkxFRCkgJmFtcDsmYW1wOyBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkltcGxlbWVudHMgdGhlIFhNTCBzaGVsbCBmdW5jdGlvbiAmcXVvdDtkdSZxdW90OyBzaG93IHRoZSBzdHJ1Y3R1cmUgb2YgdGhlIHN1YnRyZWUgdW5kZXIgbm9kZSBAdHJlZSBJZiBAdHJlZSBpcyBudWxsLCB0aGUgY29tbWFuZCB3b3JrcyBvbiB0aGUgY3VycmVudCBub2RlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScwIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sU2hlbGxDdHh0UHRyJyBpbmZvPSd0aGUgc2hlbGwgY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdhcmcnIHR5cGU9J2NoYXIgKicgaW5mbz0ndW51c2VkJy8+CisgICAgICA8YXJnIG5hbWU9J3RyZWUnIHR5cGU9J3htbE5vZGVQdHInIGluZm89J2Egbm9kZSBkZWZpbmluZyBhIHN1YnRyZWUnLz4KKyAgICAgIDxhcmcgbmFtZT0nbm9kZTInIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3VudXNlZCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFNoZWxsTGlzdCcgZmlsZT0nZGVidWdYTUwnIG1vZHVsZT0nZGVidWdYTUwnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfREVCVUdfRU5BQkxFRCkgJmFtcDsmYW1wOyBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkltcGxlbWVudHMgdGhlIFhNTCBzaGVsbCBmdW5jdGlvbiAmcXVvdDtscyZxdW90OyBEb2VzIGFuIFVuaXggbGlrZSBsaXN0aW5nIG9mIHRoZSBnaXZlbiBub2RlIChsaWtlIGEgZGlyZWN0b3J5KTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScwJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFNoZWxsQ3R4dFB0cicgaW5mbz0ndGhlIHNoZWxsIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nYXJnJyB0eXBlPSdjaGFyIConIGluZm89J3VudXNlZCcvPgorICAgICAgPGFyZyBuYW1lPSdub2RlJyB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSdhIG5vZGUnLz4KKyAgICAgIDxhcmcgbmFtZT0nbm9kZTInIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3VudXNlZCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFNoZWxsTG9hZCcgZmlsZT0nZGVidWdYTUwnIG1vZHVsZT0nZGVidWdYTUwnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfREVCVUdfRU5BQkxFRCkgJmFtcDsmYW1wOyBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkltcGxlbWVudHMgdGhlIFhNTCBzaGVsbCBmdW5jdGlvbiAmcXVvdDtsb2FkJnF1b3Q7IGxvYWRzIGEgbmV3IGRvY3VtZW50IHNwZWNpZmllZCBieSB0aGUgZmlsZW5hbWU8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMCBvciAtMSBpZiBsb2FkaW5nIGZhaWxlZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxTaGVsbEN0eHRQdHInIGluZm89J3RoZSBzaGVsbCBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J2ZpbGVuYW1lJyB0eXBlPSdjaGFyIConIGluZm89J3RoZSBmaWxlIG5hbWUnLz4KKyAgICAgIDxhcmcgbmFtZT0nbm9kZScgdHlwZT0neG1sTm9kZVB0cicgaW5mbz0ndW51c2VkJy8+CisgICAgICA8YXJnIG5hbWU9J25vZGUyJyB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSd1bnVzZWQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTaGVsbFByaW50Tm9kZScgZmlsZT0nZGVidWdYTUwnIG1vZHVsZT0nZGVidWdYTUwnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfREVCVUdfRU5BQkxFRCkgJmFtcDsmYW1wOyBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKSAmYW1wOyZhbXA7IGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlByaW50IG5vZGUgdG8gdGhlIG91dHB1dCBGSUxFPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J25vZGUnIHR5cGU9J3htbE5vZGVQdHInIGluZm89J2Egbm9uLW51bGwgbm9kZSB0byBwcmludCB0byB0aGUgb3V0cHV0IEZJTEUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTaGVsbFByaW50WFBhdGhFcnJvcicgZmlsZT0nZGVidWdYTUwnIG1vZHVsZT0nZGVidWdYTUwnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfREVCVUdfRU5BQkxFRCkgJmFtcDsmYW1wOyBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlByaW50IHRoZSB4cGF0aCBlcnJvciB0byBsaWJ4bWwgZGVmYXVsdCBlcnJvciBjaGFubmVsPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2Vycm9yVHlwZScgdHlwZT0naW50JyBpbmZvPSd2YWxpZCB4cGF0aCBlcnJvciBpZCcvPgorICAgICAgPGFyZyBuYW1lPSdhcmcnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIGFyZ3VtZW50IHRoYXQgY2F1c2UgeHBhdGggdG8gZmFpbCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFNoZWxsUHJpbnRYUGF0aFJlc3VsdCcgZmlsZT0nZGVidWdYTUwnIG1vZHVsZT0nZGVidWdYTUwnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfREVCVUdfRU5BQkxFRCkgJmFtcDsmYW1wOyBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlByaW50cyByZXN1bHQgdG8gdGhlIG91dHB1dCBGSUxFPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2xpc3QnIHR5cGU9J3htbFhQYXRoT2JqZWN0UHRyJyBpbmZvPSdhIHZhbGlkIHJlc3VsdCBnZW5lcmF0ZWQgYnkgYW4geHBhdGggZXZhbHVhdGlvbicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFNoZWxsUHdkJyBmaWxlPSdkZWJ1Z1hNTCcgbW9kdWxlPSdkZWJ1Z1hNTCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9ERUJVR19FTkFCTEVEKSAmYW1wOyZhbXA7IGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+SW1wbGVtZW50cyB0aGUgWE1MIHNoZWxsIGZ1bmN0aW9uICZxdW90O3B3ZCZxdW90OyBTaG93IHRoZSBmdWxsIHBhdGggZnJvbSB0aGUgcm9vdCB0byB0aGUgbm9kZSwgaWYgbmVlZGVkIGJ1aWxkaW5nIHRodW1ibGVycyB3aGVuIHNpbWlsYXIgZWxlbWVudHMgZXhpc3RzIGF0IGEgZ2l2ZW4gYW5jZXN0b3IgbGV2ZWwuIFRoZSBvdXRwdXQgaXMgY29tcGF0aWJsZSB3aXRoIFhQYXRoIGNvbW1hbmRzLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScwIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sU2hlbGxDdHh0UHRyJyBpbmZvPSd0aGUgc2hlbGwgY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdidWZmZXInIHR5cGU9J2NoYXIgKicgaW5mbz0ndGhlIG91dHB1dCBidWZmZXInLz4KKyAgICAgIDxhcmcgbmFtZT0nbm9kZScgdHlwZT0neG1sTm9kZVB0cicgaW5mbz0nYSBub2RlJy8+CisgICAgICA8YXJnIG5hbWU9J25vZGUyJyB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSd1bnVzZWQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdHlwZSBuYW1lPSd4bWxTaGVsbFJlYWRsaW5lRnVuYycgZmlsZT0nZGVidWdYTUwnIG1vZHVsZT0nZGVidWdYTUwnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfREVCVUdfRU5BQkxFRCkgJmFtcDsmYW1wOyBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlRoaXMgaXMgYSBnZW5lcmljIHNpZ25hdHVyZSBmb3IgdGhlIFhNTCBzaGVsbCBpbnB1dCBmdW5jdGlvbi48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2NoYXIgKicgaW5mbz0nYSBzdHJpbmcgd2hpY2ggd2lsbCBiZSBmcmVlZCBieSB0aGUgU2hlbGwuJy8+CisgICAgICA8YXJnIG5hbWU9J3Byb21wdCcgdHlwZT0nY2hhciAqJyBpbmZvPSdhIHN0cmluZyBwcm9tcHQnLz4KKyAgICA8L2Z1bmN0eXBlPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTaGVsbFNhdmUnIGZpbGU9J2RlYnVnWE1MJyBtb2R1bGU9J2RlYnVnWE1MJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0RFQlVHX0VOQUJMRUQpICZhbXA7JmFtcDsgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkgJmFtcDsmYW1wOyBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5JbXBsZW1lbnRzIHRoZSBYTUwgc2hlbGwgZnVuY3Rpb24gJnF1b3Q7c2F2ZSZxdW90OyBXcml0ZSB0aGUgY3VycmVudCBkb2N1bWVudCB0byB0aGUgZmlsZW5hbWUsIG9yIGl0JmFwb3M7cyBvcmlnaW5hbCBuYW1lPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzAgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxTaGVsbEN0eHRQdHInIGluZm89J3RoZSBzaGVsbCBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J2ZpbGVuYW1lJyB0eXBlPSdjaGFyIConIGluZm89J3RoZSBmaWxlIG5hbWUgKG9wdGlvbmFsKScvPgorICAgICAgPGFyZyBuYW1lPSdub2RlJyB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSd1bnVzZWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbm9kZTInIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3VudXNlZCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFNoZWxsVmFsaWRhdGUnIGZpbGU9J2RlYnVnWE1MJyBtb2R1bGU9J2RlYnVnWE1MJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX0RFQlVHX0VOQUJMRUQpICZhbXA7JmFtcDsgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkgJmFtcDsmYW1wOyBkZWZpbmVkKExJQlhNTF9WQUxJRF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkltcGxlbWVudHMgdGhlIFhNTCBzaGVsbCBmdW5jdGlvbiAmcXVvdDt2YWxpZGF0ZSZxdW90OyBWYWxpZGF0ZSB0aGUgZG9jdW1lbnQsIGlmIGEgRFREIHBhdGggaXMgcHJvdmlkZWQsIHRoZW4gdGhlIHZhbGlkYXRpb24gaXMgZG9uZSBhZ2FpbnN0IHRoZSBnaXZlbiBEVEQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzAgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxTaGVsbEN0eHRQdHInIGluZm89J3RoZSBzaGVsbCBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J2R0ZCcgdHlwZT0nY2hhciAqJyBpbmZvPSd0aGUgRFREIFVSSSAob3B0aW9uYWwpJy8+CisgICAgICA8YXJnIG5hbWU9J25vZGUnIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3VudXNlZCcvPgorICAgICAgPGFyZyBuYW1lPSdub2RlMicgdHlwZT0neG1sTm9kZVB0cicgaW5mbz0ndW51c2VkJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sU2hlbGxXcml0ZScgZmlsZT0nZGVidWdYTUwnIG1vZHVsZT0nZGVidWdYTUwnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfREVCVUdfRU5BQkxFRCkgJmFtcDsmYW1wOyBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKSAmYW1wOyZhbXA7IGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkltcGxlbWVudHMgdGhlIFhNTCBzaGVsbCBmdW5jdGlvbiAmcXVvdDt3cml0ZSZxdW90OyBXcml0ZSB0aGUgY3VycmVudCBub2RlIHRvIHRoZSBmaWxlbmFtZSwgaXQgc2F2ZXMgdGhlIHNlcmlhbGl6YXRpb24gb2YgdGhlIHN1YnRyZWUgdW5kZXIgdGhlIEBub2RlIHNwZWNpZmllZDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScwIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sU2hlbGxDdHh0UHRyJyBpbmZvPSd0aGUgc2hlbGwgY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdmaWxlbmFtZScgdHlwZT0nY2hhciAqJyBpbmZvPSd0aGUgZmlsZSBuYW1lJy8+CisgICAgICA8YXJnIG5hbWU9J25vZGUnIHR5cGU9J3htbE5vZGVQdHInIGluZm89J2Egbm9kZSBpbiB0aGUgdHJlZScvPgorICAgICAgPGFyZyBuYW1lPSdub2RlMicgdHlwZT0neG1sTm9kZVB0cicgaW5mbz0ndW51c2VkJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sU2tpcEJsYW5rQ2hhcnMnIGZpbGU9J3BhcnNlckludGVybmFscycgbW9kdWxlPSdwYXJzZXInPgorICAgICAgPGluZm8+c2tpcCBhbGwgYmxhbmtzIGNoYXJhY3RlciBmb3VuZCBhdCB0aGF0IHBvaW50IGluIHRoZSBpbnB1dCBzdHJlYW1zLiBJdCBwb3BzIHVwIGZpbmlzaGVkIGVudGl0aWVzIGluIHRoZSBwcm9jZXNzIGlmIGFsbG93YWJsZSBhdCB0aGF0IHBvaW50LjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgbnVtYmVyIG9mIHNwYWNlIGNoYXJzIHNraXBwZWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sUGFyc2VyQ3R4dFB0cicgaW5mbz0ndGhlIFhNTCBwYXJzZXIgY29udGV4dCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFNucHJpbnRmRWxlbWVudENvbnRlbnQnIGZpbGU9J3ZhbGlkJyBtb2R1bGU9J3ZhbGlkJz4KKyAgICAgIDxpbmZvPlRoaXMgd2lsbCBkdW1wIHRoZSBjb250ZW50IG9mIHRoZSBlbGVtZW50IGNvbnRlbnQgZGVmaW5pdGlvbiBJbnRlbmRlZCBqdXN0IGZvciB0aGUgZGVidWcgcm91dGluZTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdidWYnIHR5cGU9J2NoYXIgKicgaW5mbz0nYW4gb3V0cHV0IGJ1ZmZlcicvPgorICAgICAgPGFyZyBuYW1lPSdzaXplJyB0eXBlPSdpbnQnIGluZm89J3RoZSBidWZmZXIgc2l6ZScvPgorICAgICAgPGFyZyBuYW1lPSdjb250ZW50JyB0eXBlPSd4bWxFbGVtZW50Q29udGVudFB0cicgaW5mbz0nQW4gZWxlbWVudCB0YWJsZScvPgorICAgICAgPGFyZyBuYW1lPSdlbmdsb2InIHR5cGU9J2ludCcgaW5mbz0nMSBpZiBvbmUgbXVzdCBwcmludCB0aGUgZW5nbG9iaW5nIHBhcmVudGhlc2lzLCAwIG90aGVyd2lzZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFNwbGl0UU5hbWUnIGZpbGU9J3BhcnNlckludGVybmFscycgbW9kdWxlPSdwYXJzZXInPgorICAgICAgPGluZm8+cGFyc2UgYW4gVVRGOCBlbmNvZGVkIFhNTCBxdWFsaWZpZWQgbmFtZSBzdHJpbmcgIFtOUyA1XSBRTmFtZSA6Oj0gKFByZWZpeCAmYXBvczs6JmFwb3M7KT8gTG9jYWxQYXJ0ICBbTlMgNl0gUHJlZml4IDo6PSBOQ05hbWUgIFtOUyA3XSBMb2NhbFBhcnQgOjo9IE5DTmFtZTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sQ2hhciAqJyBpbmZvPSd0aGUgbG9jYWwgcGFydCwgYW5kIHByZWZpeCBpcyB1cGRhdGVkIHRvIGdldCB0aGUgUHJlZml4IGlmIGFueS4nLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sUGFyc2VyQ3R4dFB0cicgaW5mbz0nYW4gWE1MIHBhcnNlciBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J25hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nYW4gWE1MIHBhcnNlciBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J3ByZWZpeCcgdHlwZT0neG1sQ2hhciAqKicgaW5mbz0nYSB4bWxDaGFyICoqJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sU3BsaXRRTmFtZTInIGZpbGU9J3RyZWUnIG1vZHVsZT0ndHJlZSc+CisgICAgICA8aW5mbz5wYXJzZSBhbiBYTUwgcXVhbGlmaWVkIG5hbWUgc3RyaW5nICBbTlMgNV0gUU5hbWUgOjo9IChQcmVmaXggJmFwb3M7OiZhcG9zOyk/IExvY2FsUGFydCAgW05TIDZdIFByZWZpeCA6Oj0gTkNOYW1lICBbTlMgN10gTG9jYWxQYXJ0IDo6PSBOQ05hbWU8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbENoYXIgKicgaW5mbz0nTlVMTCBpZiBub3QgYSBRTmFtZSwgb3RoZXJ3aXNlIHRoZSBsb2NhbCBwYXJ0LCBhbmQgcHJlZml4IGlzIHVwZGF0ZWQgdG8gZ2V0IHRoZSBQcmVmaXggaWYgYW55LicvPgorICAgICAgPGFyZyBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBmdWxsIFFOYW1lJy8+CisgICAgICA8YXJnIG5hbWU9J3ByZWZpeCcgdHlwZT0neG1sQ2hhciAqKicgaW5mbz0nYSB4bWxDaGFyICoqJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sU3BsaXRRTmFtZTMnIGZpbGU9J3RyZWUnIG1vZHVsZT0ndHJlZSc+CisgICAgICA8aW5mbz5wYXJzZSBhbiBYTUwgcXVhbGlmaWVkIG5hbWUgc3RyaW5nLGk8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nTlVMTCBpZiBpdCBpcyBub3QgYSBRdWFsaWZpZWQgTmFtZSwgb3RoZXJ3aXNlLCB1cGRhdGUgbGVuIHdpdGggdGhlIGxlbmd0aCBpbiBieXRlIG9mIHRoZSBwcmVmaXggYW5kIHJldHVybiBhIHBvaW50ZXIgdG8gdGhlIHN0YXJ0IG9mIHRoZSBuYW1lIHdpdGhvdXQgdGhlIHByZWZpeCcvPgorICAgICAgPGFyZyBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBmdWxsIFFOYW1lJy8+CisgICAgICA8YXJnIG5hbWU9J2xlbicgdHlwZT0naW50IConIGluZm89J2FuIGludCAqJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sU3ByaW50ZkVsZW1lbnRDb250ZW50JyBmaWxlPSd2YWxpZCcgbW9kdWxlPSd2YWxpZCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5EZXByZWNhdGVkLCB1bnNhZmUsIHVzZSB4bWxTbnByaW50ZkVsZW1lbnRDb250ZW50PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2J1ZicgdHlwZT0nY2hhciAqJyBpbmZvPSdhbiBvdXRwdXQgYnVmZmVyJy8+CisgICAgICA8YXJnIG5hbWU9J2NvbnRlbnQnIHR5cGU9J3htbEVsZW1lbnRDb250ZW50UHRyJyBpbmZvPSdBbiBlbGVtZW50IHRhYmxlJy8+CisgICAgICA8YXJnIG5hbWU9J2VuZ2xvYicgdHlwZT0naW50JyBpbmZvPScxIGlmIG9uZSBtdXN0IHByaW50IHRoZSBlbmdsb2JpbmcgcGFyZW50aGVzaXMsIDAgb3RoZXJ3aXNlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sU3RvcFBhcnNlcicgZmlsZT0ncGFyc2VyJyBtb2R1bGU9J3BhcnNlcic+CisgICAgICA8aW5mbz5CbG9ja3MgZnVydGhlciBwYXJzZXIgcHJvY2Vzc2luZzwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxQYXJzZXJDdHh0UHRyJyBpbmZvPSdhbiBYTUwgcGFyc2VyIGNvbnRleHQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTdHJFcXVhbCcgZmlsZT0neG1sc3RyaW5nJyBtb2R1bGU9J3htbHN0cmluZyc+CisgICAgICA8aW5mbz5DaGVjayBpZiBib3RoIHN0cmluZ3MgYXJlIGVxdWFsIG9mIGhhdmUgc2FtZSBjb250ZW50LiBTaG91bGQgYmUgYSBiaXQgbW9yZSByZWFkYWJsZSBhbmQgZmFzdGVyIHRoYW4geG1sU3RyY21wKCk8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB0aGV5IGFyZSBlcXVhbCwgMCBpZiB0aGV5IGFyZSBkaWZmZXJlbnQnLz4KKyAgICAgIDxhcmcgbmFtZT0nc3RyMScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgZmlyc3QgeG1sQ2hhciAqJy8+CisgICAgICA8YXJnIG5hbWU9J3N0cjInIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIHNlY29uZCB4bWxDaGFyIConLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTdHJQcmludGYnIGZpbGU9J3htbHN0cmluZycgbW9kdWxlPSd4bWxzdHJpbmcnPgorICAgICAgPGluZm8+Rm9ybWF0cyBAbXNnIGFuZCBwbGFjZXMgcmVzdWx0IGludG8gQGJ1Zi48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndGhlIG51bWJlciBvZiBjaGFyYWN0ZXJzIHdyaXR0ZW4gdG8gQGJ1ZiBvciAtMSBpZiBhbiBlcnJvciBvY2N1cnMuJy8+CisgICAgICA8YXJnIG5hbWU9J2J1ZicgdHlwZT0neG1sQ2hhciAqJyBpbmZvPSd0aGUgcmVzdWx0IGJ1ZmZlci4nLz4KKyAgICAgIDxhcmcgbmFtZT0nbGVuJyB0eXBlPSdpbnQnIGluZm89J3RoZSByZXN1bHQgYnVmZmVyIGxlbmd0aC4nLz4KKyAgICAgIDxhcmcgbmFtZT0nbXNnJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBtZXNzYWdlIHdpdGggcHJpbnRmIGZvcm1hdHRpbmcuJy8+CisgICAgICA8YXJnIG5hbWU9Jy4uLicgdHlwZT0nLi4uJyBpbmZvPSdleHRyYSBwYXJhbWV0ZXJzIGZvciB0aGUgbWVzc2FnZS4nLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTdHJRRXF1YWwnIGZpbGU9J3htbHN0cmluZycgbW9kdWxlPSd4bWxzdHJpbmcnPgorICAgICAgPGluZm8+Q2hlY2sgaWYgYSBRTmFtZSBpcyBFcXVhbCB0byBhIGdpdmVuIHN0cmluZzwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRoZXkgYXJlIGVxdWFsLCAwIGlmIHRoZXkgYXJlIGRpZmZlcmVudCcvPgorICAgICAgPGFyZyBuYW1lPSdwcmVmJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBwcmVmaXggb2YgdGhlIFFOYW1lJy8+CisgICAgICA8YXJnIG5hbWU9J25hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIGxvY2FsbmFtZSBvZiB0aGUgUU5hbWUnLz4KKyAgICAgIDxhcmcgbmFtZT0nc3RyJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBzZWNvbmQgeG1sQ2hhciAqJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sU3RyVlByaW50ZicgZmlsZT0neG1sc3RyaW5nJyBtb2R1bGU9J3htbHN0cmluZyc+CisgICAgICA8aW5mbz5Gb3JtYXRzIEBtc2cgYW5kIHBsYWNlcyByZXN1bHQgaW50byBAYnVmLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgbnVtYmVyIG9mIGNoYXJhY3RlcnMgd3JpdHRlbiB0byBAYnVmIG9yIC0xIGlmIGFuIGVycm9yIG9jY3Vycy4nLz4KKyAgICAgIDxhcmcgbmFtZT0nYnVmJyB0eXBlPSd4bWxDaGFyIConIGluZm89J3RoZSByZXN1bHQgYnVmZmVyLicvPgorICAgICAgPGFyZyBuYW1lPSdsZW4nIHR5cGU9J2ludCcgaW5mbz0ndGhlIHJlc3VsdCBidWZmZXIgbGVuZ3RoLicvPgorICAgICAgPGFyZyBuYW1lPSdtc2cnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIG1lc3NhZ2Ugd2l0aCBwcmludGYgZm9ybWF0dGluZy4nLz4KKyAgICAgIDxhcmcgbmFtZT0nYXAnIHR5cGU9J3ZhX2xpc3QnIGluZm89J2V4dHJhIHBhcmFtZXRlcnMgZm9yIHRoZSBtZXNzYWdlLicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFN0cmNhc2VjbXAnIGZpbGU9J3htbHN0cmluZycgbW9kdWxlPSd4bWxzdHJpbmcnPgorICAgICAgPGluZm8+YSBzdHJjYXNlY21wIGZvciB4bWxDaGFyJmFwb3M7czwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgaW50ZWdlciByZXN1bHQgb2YgdGhlIGNvbXBhcmlzb24nLz4KKyAgICAgIDxhcmcgbmFtZT0nc3RyMScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgZmlyc3QgeG1sQ2hhciAqJy8+CisgICAgICA8YXJnIG5hbWU9J3N0cjInIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIHNlY29uZCB4bWxDaGFyIConLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTdHJjYXNlc3RyJyBmaWxlPSd4bWxzdHJpbmcnIG1vZHVsZT0neG1sc3RyaW5nJz4KKyAgICAgIDxpbmZvPmEgY2FzZS1pZ25vcmluZyBzdHJzdHIgZm9yIHhtbENoYXImYXBvcztzPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSB4bWxDaGFyICogZm9yIHRoZSBmaXJzdCBvY2N1cnJlbmNlIG9yIE5VTEwuJy8+CisgICAgICA8YXJnIG5hbWU9J3N0cicgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgeG1sQ2hhciAqIGFycmF5IChoYXlzdGFjayknLz4KKyAgICAgIDxhcmcgbmFtZT0ndmFsJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSB4bWxDaGFyIHRvIHNlYXJjaCAobmVlZGxlKScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFN0cmNhdCcgZmlsZT0neG1sc3RyaW5nJyBtb2R1bGU9J3htbHN0cmluZyc+CisgICAgICA8aW5mbz5hIHN0cmNhdCBmb3IgYXJyYXkgb2YgeG1sQ2hhciZhcG9zO3MuIFNpbmNlIHRoZXkgYXJlIHN1cHBvc2VkIHRvIGJlIGVuY29kZWQgaW4gVVRGLTggb3IgYW4gZW5jb2Rpbmcgd2l0aCA4Yml0IGJhc2VkIGNoYXJzLCB3ZSBhc3N1bWUgYSB0ZXJtaW5hdGlvbiBtYXJrIG9mICZhcG9zOzAmYXBvczsuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxDaGFyIConIGluZm89J2EgbmV3IHhtbENoYXIgKiBjb250YWluaW5nIHRoZSBjb25jYXRlbmF0ZWQgc3RyaW5nLicvPgorICAgICAgPGFyZyBuYW1lPSdjdXInIHR5cGU9J3htbENoYXIgKicgaW5mbz0ndGhlIG9yaWdpbmFsIHhtbENoYXIgKiBhcnJheScvPgorICAgICAgPGFyZyBuYW1lPSdhZGQnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIHhtbENoYXIgKiBhcnJheSBhZGRlZCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFN0cmNocicgZmlsZT0neG1sc3RyaW5nJyBtb2R1bGU9J3htbHN0cmluZyc+CisgICAgICA8aW5mbz5hIHN0cmNociBmb3IgeG1sQ2hhciZhcG9zO3M8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIHhtbENoYXIgKiBmb3IgdGhlIGZpcnN0IG9jY3VycmVuY2Ugb3IgTlVMTC4nLz4KKyAgICAgIDxhcmcgbmFtZT0nc3RyJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSB4bWxDaGFyICogYXJyYXknLz4KKyAgICAgIDxhcmcgbmFtZT0ndmFsJyB0eXBlPSd4bWxDaGFyJyBpbmZvPSd0aGUgeG1sQ2hhciB0byBzZWFyY2gnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTdHJjbXAnIGZpbGU9J3htbHN0cmluZycgbW9kdWxlPSd4bWxzdHJpbmcnPgorICAgICAgPGluZm8+YSBzdHJjbXAgZm9yIHhtbENoYXImYXBvcztzPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J3RoZSBpbnRlZ2VyIHJlc3VsdCBvZiB0aGUgY29tcGFyaXNvbicvPgorICAgICAgPGFyZyBuYW1lPSdzdHIxJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBmaXJzdCB4bWxDaGFyIConLz4KKyAgICAgIDxhcmcgbmFtZT0nc3RyMicgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgc2Vjb25kIHhtbENoYXIgKicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFN0cmR1cCcgZmlsZT0neG1sc3RyaW5nJyBtb2R1bGU9J3htbHN0cmluZyc+CisgICAgICA8aW5mbz5hIHN0cmR1cCBmb3IgYXJyYXkgb2YgeG1sQ2hhciZhcG9zO3MuIFNpbmNlIHRoZXkgYXJlIHN1cHBvc2VkIHRvIGJlIGVuY29kZWQgaW4gVVRGLTggb3IgYW4gZW5jb2Rpbmcgd2l0aCA4Yml0IGJhc2VkIGNoYXJzLCB3ZSBhc3N1bWUgYSB0ZXJtaW5hdGlvbiBtYXJrIG9mICZhcG9zOzAmYXBvczsuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxDaGFyIConIGluZm89J2EgbmV3IHhtbENoYXIgKiBvciBOVUxMJy8+CisgICAgICA8YXJnIG5hbWU9J2N1cicgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgaW5wdXQgeG1sQ2hhciAqJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3R5cGUgbmFtZT0neG1sU3RyZHVwRnVuYycgZmlsZT0neG1sbWVtb3J5JyBtb2R1bGU9J3htbG1lbW9yeSc+CisgICAgICA8aW5mbz5TaWduYXR1cmUgZm9yIGFuIHN0cmR1cCgpIGltcGxlbWVudGF0aW9uLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0nY2hhciAqJyBpbmZvPSd0aGUgY29weSBvZiB0aGUgc3RyaW5nIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci4nLz4KKyAgICAgIDxhcmcgbmFtZT0nc3RyJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J2EgemVybyB0ZXJtaW5hdGVkIHN0cmluZycvPgorICAgIDwvZnVuY3R5cGU+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFN0cmVhbVBvcCcgZmlsZT0ncGF0dGVybicgbW9kdWxlPSdwYXR0ZXJuJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1BBVFRFUk5fRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5wdXNoIG9uZSBsZXZlbCBmcm9tIHRoZSBzdHJlYW0uPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89Jy0xIGluIGNhc2Ugb2YgZXJyb3IsIDAgb3RoZXJ3aXNlLicvPgorICAgICAgPGFyZyBuYW1lPSdzdHJlYW0nIHR5cGU9J3htbFN0cmVhbUN0eHRQdHInIGluZm89J3RoZSBzdHJlYW0gY29udGV4dCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFN0cmVhbVB1c2gnIGZpbGU9J3BhdHRlcm4nIG1vZHVsZT0ncGF0dGVybic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9QQVRURVJOX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+UHVzaCBuZXcgZGF0YSBvbnRvIHRoZSBzdHJlYW0uIE5PVEU6IGlmIHRoZSBjYWxsIHhtbFBhdHRlcm5jb21waWxlKCkgaW5kaWNhdGVkIGEgZGljdGlvbmFyeSwgdGhlbiBzdHJpbmdzIGZvciBuYW1lIGFuZCBucyB3aWxsIGJlIGV4cGVjdGVkIHRvIGNvbWUgZnJvbSB0aGUgZGljdGlvbmFyeS4gQm90aCBAbmFtZSBhbmQgQG5zIGJlaW5nIE5VTEwgbWVhbnMgdGhlIC8gaS5lLiB0aGUgcm9vdCBvZiB0aGUgZG9jdW1lbnQuIFRoaXMgY2FuIGFsc28gYWN0IGFzIGEgcmVzZXQuIE90aGVyd2lzZSB0aGUgZnVuY3Rpb24gd2lsbCBhY3QgYXMgaWYgaXQgaGFzIGJlZW4gZ2l2ZW4gYW4gZWxlbWVudC1ub2RlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSctMSBpbiBjYXNlIG9mIGVycm9yLCAxIGlmIHRoZSBjdXJyZW50IHN0YXRlIGluIHRoZSBzdHJlYW0gaXMgYSBtYXRjaCBhbmQgMCBvdGhlcndpc2UuJy8+CisgICAgICA8YXJnIG5hbWU9J3N0cmVhbScgdHlwZT0neG1sU3RyZWFtQ3R4dFB0cicgaW5mbz0ndGhlIHN0cmVhbSBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J25hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIGN1cnJlbnQgbmFtZScvPgorICAgICAgPGFyZyBuYW1lPSducycgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgbmFtZXNwYWNlIG5hbWUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTdHJlYW1QdXNoQXR0cicgZmlsZT0ncGF0dGVybicgbW9kdWxlPSdwYXR0ZXJuJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1BBVFRFUk5fRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5QdXNoIG5ldyBhdHRyaWJ1dGUgZGF0YSBvbnRvIHRoZSBzdHJlYW0uIE5PVEU6IGlmIHRoZSBjYWxsIHhtbFBhdHRlcm5jb21waWxlKCkgaW5kaWNhdGVkIGEgZGljdGlvbmFyeSwgdGhlbiBzdHJpbmdzIGZvciBuYW1lIGFuZCBucyB3aWxsIGJlIGV4cGVjdGVkIHRvIGNvbWUgZnJvbSB0aGUgZGljdGlvbmFyeS4gQm90aCBAbmFtZSBhbmQgQG5zIGJlaW5nIE5VTEwgbWVhbnMgdGhlIC8gaS5lLiB0aGUgcm9vdCBvZiB0aGUgZG9jdW1lbnQuIFRoaXMgY2FuIGFsc28gYWN0IGFzIGEgcmVzZXQuIE90aGVyd2lzZSB0aGUgZnVuY3Rpb24gd2lsbCBhY3QgYXMgaWYgaXQgaGFzIGJlZW4gZ2l2ZW4gYW4gYXR0cmlidXRlLW5vZGUuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89Jy0xIGluIGNhc2Ugb2YgZXJyb3IsIDEgaWYgdGhlIGN1cnJlbnQgc3RhdGUgaW4gdGhlIHN0cmVhbSBpcyBhIG1hdGNoIGFuZCAwIG90aGVyd2lzZS4nLz4KKyAgICAgIDxhcmcgbmFtZT0nc3RyZWFtJyB0eXBlPSd4bWxTdHJlYW1DdHh0UHRyJyBpbmZvPSd0aGUgc3RyZWFtIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFtZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgY3VycmVudCBuYW1lJy8+CisgICAgICA8YXJnIG5hbWU9J25zJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBuYW1lc3BhY2UgbmFtZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFN0cmVhbVB1c2hOb2RlJyBmaWxlPSdwYXR0ZXJuJyBtb2R1bGU9J3BhdHRlcm4nPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfUEFUVEVSTl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlB1c2ggbmV3IGRhdGEgb250byB0aGUgc3RyZWFtLiBOT1RFOiBpZiB0aGUgY2FsbCB4bWxQYXR0ZXJuY29tcGlsZSgpIGluZGljYXRlZCBhIGRpY3Rpb25hcnksIHRoZW4gc3RyaW5ncyBmb3IgbmFtZSBhbmQgbnMgd2lsbCBiZSBleHBlY3RlZCB0byBjb21lIGZyb20gdGhlIGRpY3Rpb25hcnkuIEJvdGggQG5hbWUgYW5kIEBucyBiZWluZyBOVUxMIG1lYW5zIHRoZSAvIGkuZS4gdGhlIHJvb3Qgb2YgdGhlIGRvY3VtZW50LiBUaGlzIGNhbiBhbHNvIGFjdCBhcyBhIHJlc2V0LiBEaWZmZXJlbnQgZnJvbSB4bWxTdHJlYW1QdXNoKCkgdGhpcyBmdW5jdGlvbiBjYW4gYmUgZmVkIHdpdGggbm9kZXMgb2YgdHlwZTogZWxlbWVudC0sIGF0dHJpYnV0ZS0sIHRleHQtLCBjZGF0YS1zZWN0aW9uLSwgY29tbWVudC0gYW5kIHByb2Nlc3NpbmctaW5zdHJ1Y3Rpb24tbm9kZS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nLTEgaW4gY2FzZSBvZiBlcnJvciwgMSBpZiB0aGUgY3VycmVudCBzdGF0ZSBpbiB0aGUgc3RyZWFtIGlzIGEgbWF0Y2ggYW5kIDAgb3RoZXJ3aXNlLicvPgorICAgICAgPGFyZyBuYW1lPSdzdHJlYW0nIHR5cGU9J3htbFN0cmVhbUN0eHRQdHInIGluZm89J3RoZSBzdHJlYW0gY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBjdXJyZW50IG5hbWUnLz4KKyAgICAgIDxhcmcgbmFtZT0nbnMnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIG5hbWVzcGFjZSBuYW1lJy8+CisgICAgICA8YXJnIG5hbWU9J25vZGVUeXBlJyB0eXBlPSdpbnQnIGluZm89J3RoZSB0eXBlIG9mIHRoZSBub2RlIGJlaW5nIHB1c2hlZCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFN0cmVhbVdhbnRzQW55Tm9kZScgZmlsZT0ncGF0dGVybicgbW9kdWxlPSdwYXR0ZXJuJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1BBVFRFUk5fRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5RdWVyeSBpZiB0aGUgc3RyZWFtaW5nIHBhdHRlcm4gYWRkaXRpb25hbGx5IG5lZWRzIHRvIGJlIGZlZCB3aXRoIHRleHQtLCBjZGF0YS1zZWN0aW9uLSwgY29tbWVudC0gYW5kIHByb2Nlc3NpbmctaW5zdHJ1Y3Rpb24tbm9kZXMuIElmIHRoZSByZXN1bHQgaXMgMCB0aGVuIG9ubHkgZWxlbWVudC1ub2RlcyBhbmQgYXR0cmlidXRlLW5vZGVzIG5lZWQgdG8gYmUgcHVzaGVkLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGluIGNhc2Ugb2YgbmVlZCBvZiBub2RlcyBvZiB0aGUgYWJvdmUgZGVzY3JpYmVkIHR5cGVzLCAwIG90aGVyd2lzZS4gLTEgb24gQVBJIGVycm9ycy4nLz4KKyAgICAgIDxhcmcgbmFtZT0nc3RyZWFtQ3R4dCcgdHlwZT0neG1sU3RyZWFtQ3R4dFB0cicgaW5mbz0ndGhlIHN0cmVhbSBjb250ZXh0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sU3RyaW5nQ3VycmVudENoYXInIGZpbGU9J3BhcnNlckludGVybmFscycgbW9kdWxlPSdwYXJzZXJJbnRlcm5hbHMnPgorICAgICAgPGluZm8+VGhlIGN1cnJlbnQgY2hhciB2YWx1ZSwgaWYgdXNpbmcgVVRGLTggdGhpcyBtYXkgYWN0dWFsbHkgc3BhbiBtdWx0aXBsZSBieXRlcyBpbiB0aGUgaW5wdXQgYnVmZmVyLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgY3VycmVudCBjaGFyIHZhbHVlIGFuZCBpdHMgbGVuZ3RoJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFBhcnNlckN0eHRQdHInIGluZm89J3RoZSBYTUwgcGFyc2VyIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3VyJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3BvaW50ZXIgdG8gdGhlIGJlZ2lubmluZyBvZiB0aGUgY2hhcicvPgorICAgICAgPGFyZyBuYW1lPSdsZW4nIHR5cGU9J2ludCAqJyBpbmZvPSdwb2ludGVyIHRvIHRoZSBsZW5ndGggb2YgdGhlIGNoYXIgcmVhZCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFN0cmluZ0RlY29kZUVudGl0aWVzJyBmaWxlPSdwYXJzZXJJbnRlcm5hbHMnIG1vZHVsZT0ncGFyc2VyJz4KKyAgICAgIDxpbmZvPlRha2VzIGEgZW50aXR5IHN0cmluZyBjb250ZW50IGFuZCBwcm9jZXNzIHRvIGRvIHRoZSBhZGVxdWF0ZSBzdWJzdGl0dXRpb25zLiAgWzY3XSBSZWZlcmVuY2UgOjo9IEVudGl0eVJlZiB8IENoYXJSZWYgIFs2OV0gUEVSZWZlcmVuY2UgOjo9ICZhcG9zOyUmYXBvczsgTmFtZSAmYXBvczs7JmFwb3M7PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxDaGFyIConIGluZm89J0EgbmV3bHkgYWxsb2NhdGVkIHN0cmluZyB3aXRoIHRoZSBzdWJzdGl0dXRpb24gZG9uZS4gVGhlIGNhbGxlciBtdXN0IGRlYWxsb2NhdGUgaXQgIScvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxQYXJzZXJDdHh0UHRyJyBpbmZvPSd0aGUgcGFyc2VyIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nc3RyJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBpbnB1dCBzdHJpbmcnLz4KKyAgICAgIDxhcmcgbmFtZT0nd2hhdCcgdHlwZT0naW50JyBpbmZvPSdjb21iaW5hdGlvbiBvZiBYTUxfU1VCU1RJVFVURV9SRUYgYW5kIFhNTF9TVUJTVElUVVRFX1BFUkVGJy8+CisgICAgICA8YXJnIG5hbWU9J2VuZCcgdHlwZT0neG1sQ2hhcicgaW5mbz0nYW4gZW5kIG1hcmtlciB4bWxDaGFyLCAwIGlmIG5vbmUnLz4KKyAgICAgIDxhcmcgbmFtZT0nZW5kMicgdHlwZT0neG1sQ2hhcicgaW5mbz0nYW4gZW5kIG1hcmtlciB4bWxDaGFyLCAwIGlmIG5vbmUnLz4KKyAgICAgIDxhcmcgbmFtZT0nZW5kMycgdHlwZT0neG1sQ2hhcicgaW5mbz0nYW4gZW5kIG1hcmtlciB4bWxDaGFyLCAwIGlmIG5vbmUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTdHJpbmdHZXROb2RlTGlzdCcgZmlsZT0ndHJlZScgbW9kdWxlPSd0cmVlJz4KKyAgICAgIDxpbmZvPlBhcnNlIHRoZSB2YWx1ZSBzdHJpbmcgYW5kIGJ1aWxkIHRoZSBub2RlIGxpc3QgYXNzb2NpYXRlZC4gU2hvdWxkIHByb2R1Y2UgYSBmbGF0IHRyZWUgd2l0aCBvbmx5IFRFWFRzIGFuZCBFTlRJVFlfUkVGcy48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbE5vZGVQdHInIGluZm89J2EgcG9pbnRlciB0byB0aGUgZmlyc3QgY2hpbGQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZG9jJyB0eXBlPSdjb25zdCB4bWxEb2MgKicgaW5mbz0ndGhlIGRvY3VtZW50Jy8+CisgICAgICA8YXJnIG5hbWU9J3ZhbHVlJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSB2YWx1ZSBvZiB0aGUgYXR0cmlidXRlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sU3RyaW5nTGVuRGVjb2RlRW50aXRpZXMnIGZpbGU9J3BhcnNlckludGVybmFscycgbW9kdWxlPSdwYXJzZXInPgorICAgICAgPGluZm8+VGFrZXMgYSBlbnRpdHkgc3RyaW5nIGNvbnRlbnQgYW5kIHByb2Nlc3MgdG8gZG8gdGhlIGFkZXF1YXRlIHN1YnN0aXR1dGlvbnMuICBbNjddIFJlZmVyZW5jZSA6Oj0gRW50aXR5UmVmIHwgQ2hhclJlZiAgWzY5XSBQRVJlZmVyZW5jZSA6Oj0gJmFwb3M7JSZhcG9zOyBOYW1lICZhcG9zOzsmYXBvczs8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbENoYXIgKicgaW5mbz0nQSBuZXdseSBhbGxvY2F0ZWQgc3RyaW5nIHdpdGggdGhlIHN1YnN0aXR1dGlvbiBkb25lLiBUaGUgY2FsbGVyIG11c3QgZGVhbGxvY2F0ZSBpdCAhJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFBhcnNlckN0eHRQdHInIGluZm89J3RoZSBwYXJzZXIgY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdzdHInIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIGlucHV0IHN0cmluZycvPgorICAgICAgPGFyZyBuYW1lPSdsZW4nIHR5cGU9J2ludCcgaW5mbz0ndGhlIHN0cmluZyBsZW5ndGgnLz4KKyAgICAgIDxhcmcgbmFtZT0nd2hhdCcgdHlwZT0naW50JyBpbmZvPSdjb21iaW5hdGlvbiBvZiBYTUxfU1VCU1RJVFVURV9SRUYgYW5kIFhNTF9TVUJTVElUVVRFX1BFUkVGJy8+CisgICAgICA8YXJnIG5hbWU9J2VuZCcgdHlwZT0neG1sQ2hhcicgaW5mbz0nYW4gZW5kIG1hcmtlciB4bWxDaGFyLCAwIGlmIG5vbmUnLz4KKyAgICAgIDxhcmcgbmFtZT0nZW5kMicgdHlwZT0neG1sQ2hhcicgaW5mbz0nYW4gZW5kIG1hcmtlciB4bWxDaGFyLCAwIGlmIG5vbmUnLz4KKyAgICAgIDxhcmcgbmFtZT0nZW5kMycgdHlwZT0neG1sQ2hhcicgaW5mbz0nYW4gZW5kIG1hcmtlciB4bWxDaGFyLCAwIGlmIG5vbmUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTdHJpbmdMZW5HZXROb2RlTGlzdCcgZmlsZT0ndHJlZScgbW9kdWxlPSd0cmVlJz4KKyAgICAgIDxpbmZvPlBhcnNlIHRoZSB2YWx1ZSBzdHJpbmcgYW5kIGJ1aWxkIHRoZSBub2RlIGxpc3QgYXNzb2NpYXRlZC4gU2hvdWxkIHByb2R1Y2UgYSBmbGF0IHRyZWUgd2l0aCBvbmx5IFRFWFRzIGFuZCBFTlRJVFlfUkVGcy48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbE5vZGVQdHInIGluZm89J2EgcG9pbnRlciB0byB0aGUgZmlyc3QgY2hpbGQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZG9jJyB0eXBlPSdjb25zdCB4bWxEb2MgKicgaW5mbz0ndGhlIGRvY3VtZW50Jy8+CisgICAgICA8YXJnIG5hbWU9J3ZhbHVlJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSB2YWx1ZSBvZiB0aGUgdGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdsZW4nIHR5cGU9J2ludCcgaW5mbz0ndGhlIGxlbmd0aCBvZiB0aGUgc3RyaW5nIHZhbHVlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sU3RybGVuJyBmaWxlPSd4bWxzdHJpbmcnIG1vZHVsZT0neG1sc3RyaW5nJz4KKyAgICAgIDxpbmZvPmxlbmd0aCBvZiBhIHhtbENoYXImYXBvcztzIHN0cmluZzwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgbnVtYmVyIG9mIHhtbENoYXIgY29udGFpbmVkIGluIHRoZSBBUlJBWS4nLz4KKyAgICAgIDxhcmcgbmFtZT0nc3RyJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSB4bWxDaGFyICogYXJyYXknLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTdHJuY2FzZWNtcCcgZmlsZT0neG1sc3RyaW5nJyBtb2R1bGU9J3htbHN0cmluZyc+CisgICAgICA8aW5mbz5hIHN0cm5jYXNlY21wIGZvciB4bWxDaGFyJmFwb3M7czwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgaW50ZWdlciByZXN1bHQgb2YgdGhlIGNvbXBhcmlzb24nLz4KKyAgICAgIDxhcmcgbmFtZT0nc3RyMScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgZmlyc3QgeG1sQ2hhciAqJy8+CisgICAgICA8YXJnIG5hbWU9J3N0cjInIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIHNlY29uZCB4bWxDaGFyIConLz4KKyAgICAgIDxhcmcgbmFtZT0nbGVuJyB0eXBlPSdpbnQnIGluZm89J3RoZSBtYXggY29tcGFyaXNvbiBsZW5ndGgnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTdHJuY2F0JyBmaWxlPSd4bWxzdHJpbmcnIG1vZHVsZT0neG1sc3RyaW5nJz4KKyAgICAgIDxpbmZvPmEgc3RybmNhdCBmb3IgYXJyYXkgb2YgeG1sQ2hhciZhcG9zO3MsIGl0IHdpbGwgZXh0ZW5kIEBjdXIgd2l0aCB0aGUgbGVuIGZpcnN0IGJ5dGVzIG9mIEBhZGQuIE5vdGUgdGhhdCBpZiBAbGVuICZsdDsgMCB0aGVuIHRoaXMgaXMgYW4gQVBJIGVycm9yIGFuZCBOVUxMIHdpbGwgYmUgcmV0dXJuZWQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxDaGFyIConIGluZm89J2EgbmV3IHhtbENoYXIgKiwgdGhlIG9yaWdpbmFsIEBjdXIgaXMgcmVhbGxvY2F0ZWQgaWYgbmVlZGVkIGFuZCBzaG91bGQgbm90IGJlIGZyZWVkJy8+CisgICAgICA8YXJnIG5hbWU9J2N1cicgdHlwZT0neG1sQ2hhciAqJyBpbmZvPSd0aGUgb3JpZ2luYWwgeG1sQ2hhciAqIGFycmF5Jy8+CisgICAgICA8YXJnIG5hbWU9J2FkZCcgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgeG1sQ2hhciAqIGFycmF5IGFkZGVkJy8+CisgICAgICA8YXJnIG5hbWU9J2xlbicgdHlwZT0naW50JyBpbmZvPSd0aGUgbGVuZ3RoIG9mIEBhZGQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTdHJuY2F0TmV3JyBmaWxlPSd4bWxzdHJpbmcnIG1vZHVsZT0neG1sc3RyaW5nJz4KKyAgICAgIDxpbmZvPnNhbWUgYXMgeG1sU3RybmNhdCwgYnV0IGNyZWF0ZXMgYSBuZXcgc3RyaW5nLiAgVGhlIG9yaWdpbmFsIHR3byBzdHJpbmdzIGFyZSBub3QgZnJlZWQuIElmIEBsZW4gaXMgJmx0OyAwIHRoZW4gdGhlIGxlbmd0aCB3aWxsIGJlIGNhbGN1bGF0ZWQgYXV0b21hdGljYWxseS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbENoYXIgKicgaW5mbz0nYSBuZXcgeG1sQ2hhciAqIG9yIE5VTEwnLz4KKyAgICAgIDxhcmcgbmFtZT0nc3RyMScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSdmaXJzdCB4bWxDaGFyIHN0cmluZycvPgorICAgICAgPGFyZyBuYW1lPSdzdHIyJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3NlY29uZCB4bWxDaGFyIHN0cmluZycvPgorICAgICAgPGFyZyBuYW1lPSdsZW4nIHR5cGU9J2ludCcgaW5mbz0ndGhlIGxlbiBvZiBAc3RyMiBvciAmbHQ7IDAnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTdHJuY21wJyBmaWxlPSd4bWxzdHJpbmcnIG1vZHVsZT0neG1sc3RyaW5nJz4KKyAgICAgIDxpbmZvPmEgc3RybmNtcCBmb3IgeG1sQ2hhciZhcG9zO3M8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndGhlIGludGVnZXIgcmVzdWx0IG9mIHRoZSBjb21wYXJpc29uJy8+CisgICAgICA8YXJnIG5hbWU9J3N0cjEnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIGZpcnN0IHhtbENoYXIgKicvPgorICAgICAgPGFyZyBuYW1lPSdzdHIyJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBzZWNvbmQgeG1sQ2hhciAqJy8+CisgICAgICA8YXJnIG5hbWU9J2xlbicgdHlwZT0naW50JyBpbmZvPSd0aGUgbWF4IGNvbXBhcmlzb24gbGVuZ3RoJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sU3RybmR1cCcgZmlsZT0neG1sc3RyaW5nJyBtb2R1bGU9J3htbHN0cmluZyc+CisgICAgICA8aW5mbz5hIHN0cm5kdXAgZm9yIGFycmF5IG9mIHhtbENoYXImYXBvcztzPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxDaGFyIConIGluZm89J2EgbmV3IHhtbENoYXIgKiBvciBOVUxMJy8+CisgICAgICA8YXJnIG5hbWU9J2N1cicgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgaW5wdXQgeG1sQ2hhciAqJy8+CisgICAgICA8YXJnIG5hbWU9J2xlbicgdHlwZT0naW50JyBpbmZvPSd0aGUgbGVuIG9mIEBjdXInLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxTdHJzdHInIGZpbGU9J3htbHN0cmluZycgbW9kdWxlPSd4bWxzdHJpbmcnPgorICAgICAgPGluZm8+YSBzdHJzdHIgZm9yIHhtbENoYXImYXBvcztzPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSB4bWxDaGFyICogZm9yIHRoZSBmaXJzdCBvY2N1cnJlbmNlIG9yIE5VTEwuJy8+CisgICAgICA8YXJnIG5hbWU9J3N0cicgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgeG1sQ2hhciAqIGFycmF5IChoYXlzdGFjayknLz4KKyAgICAgIDxhcmcgbmFtZT0ndmFsJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSB4bWxDaGFyIHRvIHNlYXJjaCAobmVlZGxlKScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFN0cnN1YicgZmlsZT0neG1sc3RyaW5nJyBtb2R1bGU9J3htbHN0cmluZyc+CisgICAgICA8aW5mbz5FeHRyYWN0IGEgc3Vic3RyaW5nIG9mIGEgZ2l2ZW4gc3RyaW5nPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxDaGFyIConIGluZm89J3RoZSB4bWxDaGFyICogZm9yIHRoZSBmaXJzdCBvY2N1cnJlbmNlIG9yIE5VTEwuJy8+CisgICAgICA8YXJnIG5hbWU9J3N0cicgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgeG1sQ2hhciAqIGFycmF5IChoYXlzdGFjayknLz4KKyAgICAgIDxhcmcgbmFtZT0nc3RhcnQnIHR5cGU9J2ludCcgaW5mbz0ndGhlIGluZGV4IG9mIHRoZSBmaXJzdCBjaGFyICh6ZXJvIGJhc2VkKScvPgorICAgICAgPGFyZyBuYW1lPSdsZW4nIHR5cGU9J2ludCcgaW5mbz0ndGhlIGxlbmd0aCBvZiB0aGUgc3Vic3RyaW5nJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3R5cGUgbmFtZT0neG1sU3RydWN0dXJlZEVycm9yRnVuYycgZmlsZT0neG1sZXJyb3InIG1vZHVsZT0neG1sZXJyb3InPgorICAgICAgPGluZm8+U2lnbmF0dXJlIG9mIHRoZSBmdW5jdGlvbiB0byB1c2Ugd2hlbiB0aGVyZSBpcyBhbiBlcnJvciBhbmQgdGhlIG1vZHVsZSBoYW5kbGVzIHRoZSBuZXcgZXJyb3IgcmVwb3J0aW5nIG1lY2hhbmlzbS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0ndXNlckRhdGEnIHR5cGU9J3ZvaWQgKicgaW5mbz0ndXNlciBwcm92aWRlZCBkYXRhIGZvciB0aGUgZXJyb3IgY2FsbGJhY2snLz4KKyAgICAgIDxhcmcgbmFtZT0nZXJyb3InIHR5cGU9J3htbEVycm9yUHRyJyBpbmZvPSd0aGUgZXJyb3IgYmVpbmcgcmFpc2VkLicvPgorICAgIDwvZnVuY3R5cGU+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHQnIGZpbGU9J3BhcnNlcicgbW9kdWxlPSdwYXJzZXJJbnRlcm5hbHMnPgorICAgICAgPGluZm8+U2V0IGFuZCByZXR1cm4gdGhlIHByZXZpb3VzIHZhbHVlIGZvciBkZWZhdWx0IGVudGl0eSBzdXBwb3J0LiBJbml0aWFsbHkgdGhlIHBhcnNlciBhbHdheXMga2VlcCBlbnRpdHkgcmVmZXJlbmNlcyBpbnN0ZWFkIG9mIHN1YnN0aXR1dGluZyBlbnRpdHkgdmFsdWVzIGluIHRoZSBvdXRwdXQuIFRoaXMgZnVuY3Rpb24gaGFzIHRvIGJlIHVzZWQgdG8gY2hhbmdlIHRoZSBkZWZhdWx0IHBhcnNlciBiZWhhdmlvciBTQVg6OnN1YnN0aXR1dGVFbnRpdGllcygpIGhhcyB0byBiZSB1c2VkIGZvciBjaGFuZ2luZyB0aGF0IG9uIGEgZmlsZSBieSBmaWxlIGJhc2lzLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgbGFzdCB2YWx1ZSBmb3IgMCBmb3Igbm8gc3Vic3RpdHV0aW9uLCAxIGZvciBzdWJzdGl0dXRpb24uJy8+CisgICAgICA8YXJnIG5hbWU9J3ZhbCcgdHlwZT0naW50JyBpbmZvPSdpbnQgMCBvciAxJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sU3dpdGNoRW5jb2RpbmcnIGZpbGU9J3BhcnNlckludGVybmFscycgbW9kdWxlPSdwYXJzZXJJbnRlcm5hbHMnPgorICAgICAgPGluZm8+Y2hhbmdlIHRoZSBpbnB1dCBmdW5jdGlvbnMgd2hlbiBkaXNjb3ZlcmluZyB0aGUgY2hhcmFjdGVyIGVuY29kaW5nIG9mIGEgZ2l2ZW4gZW50aXR5LjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScwIGluIGNhc2Ugb2Ygc3VjY2VzcywgLTEgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFBhcnNlckN0eHRQdHInIGluZm89J3RoZSBwYXJzZXIgY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdlbmMnIHR5cGU9J3htbENoYXJFbmNvZGluZycgaW5mbz0ndGhlIGVuY29kaW5nIHZhbHVlIChudW1iZXIpJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sU3dpdGNoSW5wdXRFbmNvZGluZycgZmlsZT0ncGFyc2VySW50ZXJuYWxzJyBtb2R1bGU9J3BhcnNlckludGVybmFscyc+CisgICAgICA8aW5mbz5jaGFuZ2UgdGhlIGlucHV0IGZ1bmN0aW9ucyB3aGVuIGRpc2NvdmVyaW5nIHRoZSBjaGFyYWN0ZXIgZW5jb2Rpbmcgb2YgYSBnaXZlbiBlbnRpdHkuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzAgaW4gY2FzZSBvZiBzdWNjZXNzLCAtMSBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sUGFyc2VyQ3R4dFB0cicgaW5mbz0ndGhlIHBhcnNlciBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J2lucHV0JyB0eXBlPSd4bWxQYXJzZXJJbnB1dFB0cicgaW5mbz0ndGhlIGlucHV0IHN0cmVhbScvPgorICAgICAgPGFyZyBuYW1lPSdoYW5kbGVyJyB0eXBlPSd4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyJyBpbmZvPSd0aGUgZW5jb2RpbmcgaGFuZGxlcicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFN3aXRjaFRvRW5jb2RpbmcnIGZpbGU9J3BhcnNlckludGVybmFscycgbW9kdWxlPSdwYXJzZXJJbnRlcm5hbHMnPgorICAgICAgPGluZm8+Y2hhbmdlIHRoZSBpbnB1dCBmdW5jdGlvbnMgd2hlbiBkaXNjb3ZlcmluZyB0aGUgY2hhcmFjdGVyIGVuY29kaW5nIG9mIGEgZ2l2ZW4gZW50aXR5LjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScwIGluIGNhc2Ugb2Ygc3VjY2VzcywgLTEgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFBhcnNlckN0eHRQdHInIGluZm89J3RoZSBwYXJzZXIgY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdoYW5kbGVyJyB0eXBlPSd4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyJyBpbmZvPSd0aGUgZW5jb2RpbmcgaGFuZGxlcicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFRleHRDb25jYXQnIGZpbGU9J3RyZWUnIG1vZHVsZT0ndHJlZSc+CisgICAgICA8aW5mbz5Db25jYXQgdGhlIGdpdmVuIHN0cmluZyBhdCB0aGUgZW5kIG9mIHRoZSBleGlzdGluZyBub2RlIGNvbnRlbnQ8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nLTEgaW4gY2FzZSBvZiBlcnJvciwgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nbm9kZScgdHlwZT0neG1sTm9kZVB0cicgaW5mbz0ndGhlIG5vZGUnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29udGVudCcgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgY29udGVudCcvPgorICAgICAgPGFyZyBuYW1lPSdsZW4nIHR5cGU9J2ludCcgaW5mbz0nQGNvbnRlbnQgbGVuZ3RoJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVGV4dE1lcmdlJyBmaWxlPSd0cmVlJyBtb2R1bGU9J3RyZWUnPgorICAgICAgPGluZm8+TWVyZ2UgdHdvIHRleHQgbm9kZXMgaW50byBvbmU8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3RoZSBmaXJzdCB0ZXh0IG5vZGUgYXVnbWVudGVkJy8+CisgICAgICA8YXJnIG5hbWU9J2ZpcnN0JyB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSd0aGUgZmlyc3QgdGV4dCBub2RlJy8+CisgICAgICA8YXJnIG5hbWU9J3NlY29uZCcgdHlwZT0neG1sTm9kZVB0cicgaW5mbz0ndGhlIHNlY29uZCB0ZXh0IG5vZGUgYmVpbmcgbWVyZ2VkJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVGV4dFJlYWRlckF0dHJpYnV0ZUNvdW50JyBmaWxlPSd4bWxyZWFkZXInIG1vZHVsZT0neG1scmVhZGVyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlByb3ZpZGVzIHRoZSBudW1iZXIgb2YgYXR0cmlidXRlcyBvZiB0aGUgY3VycmVudCBub2RlPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzAgaSBubyBhdHRyaWJ1dGVzLCAtMSBpbiBjYXNlIG9mIGVycm9yIG9yIHRoZSBhdHRyaWJ1dGUgY291bnQnLz4KKyAgICAgIDxhcmcgbmFtZT0ncmVhZGVyJyB0eXBlPSd4bWxUZXh0UmVhZGVyUHRyJyBpbmZvPSd0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVGV4dFJlYWRlckJhc2VVcmknIGZpbGU9J3htbHJlYWRlcicgbW9kdWxlPSd4bWxyZWFkZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+VGhlIGJhc2UgVVJJIG9mIHRoZSBub2RlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sQ2hhciAqJyBpbmZvPSd0aGUgYmFzZSBVUkkgb3IgTlVMTCBpZiBub3QgYXZhaWxhYmxlLCBpZiBub24gTlVMTCBpdCBuZWVkIHRvIGJlIGZyZWVkIGJ5IHRoZSBjYWxsZXIuJy8+CisgICAgICA8YXJnIG5hbWU9J3JlYWRlcicgdHlwZT0neG1sVGV4dFJlYWRlclB0cicgaW5mbz0ndGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFRleHRSZWFkZXJCeXRlQ29uc3VtZWQnIGZpbGU9J3htbHJlYWRlcicgbW9kdWxlPSd4bWxyZWFkZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+VGhpcyBmdW5jdGlvbiBwcm92aWRlcyB0aGUgY3VycmVudCBpbmRleCBvZiB0aGUgcGFyc2VyIHVzZWQgYnkgdGhlIHJlYWRlciwgcmVsYXRpdmUgdG8gdGhlIHN0YXJ0IG9mIHRoZSBjdXJyZW50IGVudGl0eS4gVGhpcyBmdW5jdGlvbiBhY3R1YWxseSBqdXN0IHdyYXBzIGEgY2FsbCB0byB4bWxCeXRlc0NvbnN1bWVkKCkgZm9yIHRoZSBwYXJzZXIgY29udGV4dCBhc3NvY2lhdGVkIHdpdGggdGhlIHJlYWRlci4gU2VlIHhtbEJ5dGVzQ29uc3VtZWQoKSBmb3IgbW9yZSBpbmZvcm1hdGlvbi48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2xvbmcnIGluZm89J3RoZSBpbmRleCBpbiBieXRlcyBmcm9tIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGVudGl0eSBvciAtMSBpbiBjYXNlIHRoZSBpbmRleCBjb3VsZCBub3QgYmUgY29tcHV0ZWQuJy8+CisgICAgICA8YXJnIG5hbWU9J3JlYWRlcicgdHlwZT0neG1sVGV4dFJlYWRlclB0cicgaW5mbz0nYW4gWE1MIHJlYWRlcicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFRleHRSZWFkZXJDbG9zZScgZmlsZT0neG1scmVhZGVyJyBtb2R1bGU9J3htbHJlYWRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5UaGlzIG1ldGhvZCByZWxlYXNlcyBhbnkgcmVzb3VyY2VzIGFsbG9jYXRlZCBieSB0aGUgY3VycmVudCBpbnN0YW5jZSBjaGFuZ2VzIHRoZSBzdGF0ZSB0byBDbG9zZWQgYW5kIGNsb3NlIGFueSB1bmRlcmx5aW5nIGlucHV0LjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScwIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0ncmVhZGVyJyB0eXBlPSd4bWxUZXh0UmVhZGVyUHRyJyBpbmZvPSd0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVGV4dFJlYWRlckNvbnN0QmFzZVVyaScgZmlsZT0neG1scmVhZGVyJyBtb2R1bGU9J3htbHJlYWRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5UaGUgYmFzZSBVUkkgb2YgdGhlIG5vZGUuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBiYXNlIFVSSSBvciBOVUxMIGlmIG5vdCBhdmFpbGFibGUsIHRoZSBzdHJpbmcgd2lsbCBiZSBkZWFsbG9jYXRlZCB3aXRoIHRoZSByZWFkZXInLz4KKyAgICAgIDxhcmcgbmFtZT0ncmVhZGVyJyB0eXBlPSd4bWxUZXh0UmVhZGVyUHRyJyBpbmZvPSd0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVGV4dFJlYWRlckNvbnN0RW5jb2RpbmcnIGZpbGU9J3htbHJlYWRlcicgbW9kdWxlPSd4bWxyZWFkZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+RGV0ZXJtaW5lIHRoZSBlbmNvZGluZyBvZiB0aGUgZG9jdW1lbnQgYmVpbmcgcmVhZC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nYSBzdHJpbmcgY29udGFpbmluZyB0aGUgZW5jb2Rpbmcgb2YgdGhlIGRvY3VtZW50IG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci4gIFRoZSBzdHJpbmcgaXMgZGVhbGxvY2F0ZWQgd2l0aCB0aGUgcmVhZGVyLicvPgorICAgICAgPGFyZyBuYW1lPSdyZWFkZXInIHR5cGU9J3htbFRleHRSZWFkZXJQdHInIGluZm89J3RoZSB4bWxUZXh0UmVhZGVyUHRyIHVzZWQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxUZXh0UmVhZGVyQ29uc3RMb2NhbE5hbWUnIGZpbGU9J3htbHJlYWRlcicgbW9kdWxlPSd4bWxyZWFkZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+VGhlIGxvY2FsIG5hbWUgb2YgdGhlIG5vZGUuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBsb2NhbCBuYW1lIG9yIE5VTEwgaWYgbm90IGF2YWlsYWJsZSwgdGhlIHN0cmluZyB3aWxsIGJlIGRlYWxsb2NhdGVkIHdpdGggdGhlIHJlYWRlci4nLz4KKyAgICAgIDxhcmcgbmFtZT0ncmVhZGVyJyB0eXBlPSd4bWxUZXh0UmVhZGVyUHRyJyBpbmZvPSd0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVGV4dFJlYWRlckNvbnN0TmFtZScgZmlsZT0neG1scmVhZGVyJyBtb2R1bGU9J3htbHJlYWRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5UaGUgcXVhbGlmaWVkIG5hbWUgb2YgdGhlIG5vZGUsIGVxdWFsIHRvIFByZWZpeCA6TG9jYWxOYW1lLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgbG9jYWwgbmFtZSBvciBOVUxMIGlmIG5vdCBhdmFpbGFibGUsIHRoZSBzdHJpbmcgaXMgZGVhbGxvY2F0ZWQgd2l0aCB0aGUgcmVhZGVyLicvPgorICAgICAgPGFyZyBuYW1lPSdyZWFkZXInIHR5cGU9J3htbFRleHRSZWFkZXJQdHInIGluZm89J3RoZSB4bWxUZXh0UmVhZGVyUHRyIHVzZWQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxUZXh0UmVhZGVyQ29uc3ROYW1lc3BhY2VVcmknIGZpbGU9J3htbHJlYWRlcicgbW9kdWxlPSd4bWxyZWFkZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+VGhlIFVSSSBkZWZpbmluZyB0aGUgbmFtZXNwYWNlIGFzc29jaWF0ZWQgd2l0aCB0aGUgbm9kZS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIG5hbWVzcGFjZSBVUkkgb3IgTlVMTCBpZiBub3QgYXZhaWxhYmxlLCB0aGUgc3RyaW5nIHdpbGwgYmUgZGVhbGxvY2F0ZWQgd2l0aCB0aGUgcmVhZGVyJy8+CisgICAgICA8YXJnIG5hbWU9J3JlYWRlcicgdHlwZT0neG1sVGV4dFJlYWRlclB0cicgaW5mbz0ndGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFRleHRSZWFkZXJDb25zdFByZWZpeCcgZmlsZT0neG1scmVhZGVyJyBtb2R1bGU9J3htbHJlYWRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5BIHNob3J0aGFuZCByZWZlcmVuY2UgdG8gdGhlIG5hbWVzcGFjZSBhc3NvY2lhdGVkIHdpdGggdGhlIG5vZGUuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBwcmVmaXggb3IgTlVMTCBpZiBub3QgYXZhaWxhYmxlLCB0aGUgc3RyaW5nIGlzIGRlYWxsb2NhdGVkIHdpdGggdGhlIHJlYWRlci4nLz4KKyAgICAgIDxhcmcgbmFtZT0ncmVhZGVyJyB0eXBlPSd4bWxUZXh0UmVhZGVyUHRyJyBpbmZvPSd0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVGV4dFJlYWRlckNvbnN0U3RyaW5nJyBmaWxlPSd4bWxyZWFkZXInIG1vZHVsZT0neG1scmVhZGVyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkdldCBhbiBpbnRlcm5lZCBzdHJpbmcgZnJvbSB0aGUgcmVhZGVyLCBhbGxvd3MgZm9yIGV4YW1wbGUgdG8gc3BlZWR1cCBzdHJpbmcgbmFtZSBjb21wYXJpc29uczwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSdhbiBpbnRlcm5lZCBjb3B5IG9mIHRoZSBzdHJpbmcgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLiBUaGUgc3RyaW5nIHdpbGwgYmUgZGVhbGxvY2F0ZWQgd2l0aCB0aGUgcmVhZGVyLicvPgorICAgICAgPGFyZyBuYW1lPSdyZWFkZXInIHR5cGU9J3htbFRleHRSZWFkZXJQdHInIGluZm89J3RoZSB4bWxUZXh0UmVhZGVyUHRyIHVzZWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nc3RyJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBzdHJpbmcgdG8gaW50ZXJuLicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFRleHRSZWFkZXJDb25zdFZhbHVlJyBmaWxlPSd4bWxyZWFkZXInIG1vZHVsZT0neG1scmVhZGVyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlByb3ZpZGVzIHRoZSB0ZXh0IHZhbHVlIG9mIHRoZSBub2RlIGlmIHByZXNlbnQ8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIHN0cmluZyBvciBOVUxMIGlmIG5vdCBhdmFpbGFibGUuIFRoZSByZXN1bHQgd2lsbCBiZSBkZWFsbG9jYXRlZCBvbiB0aGUgbmV4dCBSZWFkKCkgb3BlcmF0aW9uLicvPgorICAgICAgPGFyZyBuYW1lPSdyZWFkZXInIHR5cGU9J3htbFRleHRSZWFkZXJQdHInIGluZm89J3RoZSB4bWxUZXh0UmVhZGVyUHRyIHVzZWQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxUZXh0UmVhZGVyQ29uc3RYbWxMYW5nJyBmaWxlPSd4bWxyZWFkZXInIG1vZHVsZT0neG1scmVhZGVyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlRoZSB4bWw6bGFuZyBzY29wZSB3aXRoaW4gd2hpY2ggdGhlIG5vZGUgcmVzaWRlcy48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIHhtbDpsYW5nIHZhbHVlIG9yIE5VTEwgaWYgbm9uZSBleGlzdHMuJy8+CisgICAgICA8YXJnIG5hbWU9J3JlYWRlcicgdHlwZT0neG1sVGV4dFJlYWRlclB0cicgaW5mbz0ndGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFRleHRSZWFkZXJDb25zdFhtbFZlcnNpb24nIGZpbGU9J3htbHJlYWRlcicgbW9kdWxlPSd4bWxyZWFkZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+RGV0ZXJtaW5lIHRoZSBYTUwgdmVyc2lvbiBvZiB0aGUgZG9jdW1lbnQgYmVpbmcgcmVhZC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nYSBzdHJpbmcgY29udGFpbmluZyB0aGUgWE1MIHZlcnNpb24gb2YgdGhlIGRvY3VtZW50IG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci4gIFRoZSBzdHJpbmcgaXMgZGVhbGxvY2F0ZWQgd2l0aCB0aGUgcmVhZGVyLicvPgorICAgICAgPGFyZyBuYW1lPSdyZWFkZXInIHR5cGU9J3htbFRleHRSZWFkZXJQdHInIGluZm89J3RoZSB4bWxUZXh0UmVhZGVyUHRyIHVzZWQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxUZXh0UmVhZGVyQ3VycmVudERvYycgZmlsZT0neG1scmVhZGVyJyBtb2R1bGU9J3htbHJlYWRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5IYWNraW5nIGludGVyZmFjZSBhbGxvd2luZyB0byBnZXQgdGhlIHhtbERvY1B0ciBjb3JyZXBvbmRpbmcgdG8gdGhlIGN1cnJlbnQgZG9jdW1lbnQgYmVpbmcgYWNjZXNzZWQgYnkgdGhlIHhtbFRleHRSZWFkZXIuIE5PVEU6IGFzIGEgcmVzdWx0IG9mIHRoaXMgY2FsbCwgdGhlIHJlYWRlciB3aWxsIG5vdCBkZXN0cm95IHRoZSBhc3NvY2lhdGVkIFhNTCBkb2N1bWVudCBhbmQgY2FsbGluZyB4bWxGcmVlRG9jKCkgb24gdGhlIHJlc3VsdCBpcyBuZWVkZWQgb25jZSB0aGUgcmVhZGVyIHBhcnNpbmcgaGFzIGZpbmlzaGVkLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sRG9jUHRyJyBpbmZvPSd0aGUgeG1sRG9jUHRyIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci4nLz4KKyAgICAgIDxhcmcgbmFtZT0ncmVhZGVyJyB0eXBlPSd4bWxUZXh0UmVhZGVyUHRyJyBpbmZvPSd0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVGV4dFJlYWRlckN1cnJlbnROb2RlJyBmaWxlPSd4bWxyZWFkZXInIG1vZHVsZT0neG1scmVhZGVyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkhhY2tpbmcgaW50ZXJmYWNlIGFsbG93aW5nIHRvIGdldCB0aGUgeG1sTm9kZVB0ciBjb3JyZXBvbmRpbmcgdG8gdGhlIGN1cnJlbnQgbm9kZSBiZWluZyBhY2Nlc3NlZCBieSB0aGUgeG1sVGV4dFJlYWRlci4gVGhpcyBpcyBkYW5nZXJvdXMgYmVjYXVzZSB0aGUgdW5kZXJseWluZyBub2RlIG1heSBiZSBkZXN0cm95ZWQgb24gdGhlIG5leHQgUmVhZHMuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSd0aGUgeG1sTm9kZVB0ciBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuJy8+CisgICAgICA8YXJnIG5hbWU9J3JlYWRlcicgdHlwZT0neG1sVGV4dFJlYWRlclB0cicgaW5mbz0ndGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFRleHRSZWFkZXJEZXB0aCcgZmlsZT0neG1scmVhZGVyJyBtb2R1bGU9J3htbHJlYWRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5UaGUgZGVwdGggb2YgdGhlIG5vZGUgaW4gdGhlIHRyZWUuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J3RoZSBkZXB0aCBvciAtMSBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J3JlYWRlcicgdHlwZT0neG1sVGV4dFJlYWRlclB0cicgaW5mbz0ndGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0eXBlIG5hbWU9J3htbFRleHRSZWFkZXJFcnJvckZ1bmMnIGZpbGU9J3htbHJlYWRlcicgbW9kdWxlPSd4bWxyZWFkZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+U2lnbmF0dXJlIG9mIGFuIGVycm9yIGNhbGxiYWNrIGZyb20gYSByZWFkZXIgcGFyc2VyPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2FyZycgdHlwZT0ndm9pZCAqJyBpbmZvPSd0aGUgdXNlciBhcmd1bWVudCcvPgorICAgICAgPGFyZyBuYW1lPSdtc2cnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIG1lc3NhZ2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nc2V2ZXJpdHknIHR5cGU9J3htbFBhcnNlclNldmVyaXRpZXMnIGluZm89J3RoZSBzZXZlcml0eSBvZiB0aGUgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0nbG9jYXRvcicgdHlwZT0neG1sVGV4dFJlYWRlckxvY2F0b3JQdHInIGluZm89J2EgbG9jYXRvciBpbmRpY2F0aW5nIHdoZXJlIHRoZSBlcnJvciBvY2N1cmVkJy8+CisgICAgPC9mdW5jdHlwZT4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVGV4dFJlYWRlckV4cGFuZCcgZmlsZT0neG1scmVhZGVyJyBtb2R1bGU9J3htbHJlYWRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5SZWFkcyB0aGUgY29udGVudHMgb2YgdGhlIGN1cnJlbnQgbm9kZSBhbmQgdGhlIGZ1bGwgc3VidHJlZS4gSXQgdGhlbiBtYWtlcyB0aGUgc3VidHJlZSBhdmFpbGFibGUgdW50aWwgdGhlIG5leHQgeG1sVGV4dFJlYWRlclJlYWQoKSBjYWxsPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSdhIG5vZGUgcG9pbnRlciB2YWxpZCB1bnRpbCB0aGUgbmV4dCB4bWxUZXh0UmVhZGVyUmVhZCgpIGNhbGwgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLicvPgorICAgICAgPGFyZyBuYW1lPSdyZWFkZXInIHR5cGU9J3htbFRleHRSZWFkZXJQdHInIGluZm89J3RoZSB4bWxUZXh0UmVhZGVyUHRyIHVzZWQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlJyBmaWxlPSd4bWxyZWFkZXInIG1vZHVsZT0neG1scmVhZGVyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlByb3ZpZGVzIHRoZSB2YWx1ZSBvZiB0aGUgYXR0cmlidXRlIHdpdGggdGhlIHNwZWNpZmllZCBxdWFsaWZpZWQgbmFtZS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbENoYXIgKicgaW5mbz0nYSBzdHJpbmcgY29udGFpbmluZyB0aGUgdmFsdWUgb2YgdGhlIHNwZWNpZmllZCBhdHRyaWJ1dGUsIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci4gVGhlIHN0cmluZyBtdXN0IGJlIGRlYWxsb2NhdGVkIGJ5IHRoZSBjYWxsZXIuJy8+CisgICAgICA8YXJnIG5hbWU9J3JlYWRlcicgdHlwZT0neG1sVGV4dFJlYWRlclB0cicgaW5mbz0ndGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZCcvPgorICAgICAgPGFyZyBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBxdWFsaWZpZWQgbmFtZSBvZiB0aGUgYXR0cmlidXRlLicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFRleHRSZWFkZXJHZXRBdHRyaWJ1dGVObycgZmlsZT0neG1scmVhZGVyJyBtb2R1bGU9J3htbHJlYWRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5Qcm92aWRlcyB0aGUgdmFsdWUgb2YgdGhlIGF0dHJpYnV0ZSB3aXRoIHRoZSBzcGVjaWZpZWQgaW5kZXggcmVsYXRpdmUgdG8gdGhlIGNvbnRhaW5pbmcgZWxlbWVudC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbENoYXIgKicgaW5mbz0nYSBzdHJpbmcgY29udGFpbmluZyB0aGUgdmFsdWUgb2YgdGhlIHNwZWNpZmllZCBhdHRyaWJ1dGUsIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci4gVGhlIHN0cmluZyBtdXN0IGJlIGRlYWxsb2NhdGVkIGJ5IHRoZSBjYWxsZXIuJy8+CisgICAgICA8YXJnIG5hbWU9J3JlYWRlcicgdHlwZT0neG1sVGV4dFJlYWRlclB0cicgaW5mbz0ndGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZCcvPgorICAgICAgPGFyZyBuYW1lPSdubycgdHlwZT0naW50JyBpbmZvPSd0aGUgemVyby1iYXNlZCBpbmRleCBvZiB0aGUgYXR0cmlidXRlIHJlbGF0aXZlIHRvIHRoZSBjb250YWluaW5nIGVsZW1lbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlTnMnIGZpbGU9J3htbHJlYWRlcicgbW9kdWxlPSd4bWxyZWFkZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+UHJvdmlkZXMgdGhlIHZhbHVlIG9mIHRoZSBzcGVjaWZpZWQgYXR0cmlidXRlPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxDaGFyIConIGluZm89J2Egc3RyaW5nIGNvbnRhaW5pbmcgdGhlIHZhbHVlIG9mIHRoZSBzcGVjaWZpZWQgYXR0cmlidXRlLCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuIFRoZSBzdHJpbmcgbXVzdCBiZSBkZWFsbG9jYXRlZCBieSB0aGUgY2FsbGVyLicvPgorICAgICAgPGFyZyBuYW1lPSdyZWFkZXInIHR5cGU9J3htbFRleHRSZWFkZXJQdHInIGluZm89J3RoZSB4bWxUZXh0UmVhZGVyUHRyIHVzZWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbG9jYWxOYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBsb2NhbCBuYW1lIG9mIHRoZSBhdHRyaWJ1dGUuJy8+CisgICAgICA8YXJnIG5hbWU9J25hbWVzcGFjZVVSSScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgbmFtZXNwYWNlIFVSSSBvZiB0aGUgYXR0cmlidXRlLicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFRleHRSZWFkZXJHZXRFcnJvckhhbmRsZXInIGZpbGU9J3htbHJlYWRlcicgbW9kdWxlPSd4bWxyZWFkZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+UmV0cmlldmUgdGhlIGVycm9yIGNhbGxiYWNrIGZ1bmN0aW9uIGFuZCB1c2VyIGFyZ3VtZW50LjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdyZWFkZXInIHR5cGU9J3htbFRleHRSZWFkZXJQdHInIGluZm89J3RoZSB4bWxUZXh0UmVhZGVyUHRyIHVzZWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZicgdHlwZT0neG1sVGV4dFJlYWRlckVycm9yRnVuYyAqJyBpbmZvPSd0aGUgY2FsbGJhY2sgZnVuY3Rpb24gb3IgTlVMTCBpcyBubyBjYWxsYmFjayBoYXMgYmVlbiByZWdpc3RlcmVkJy8+CisgICAgICA8YXJnIG5hbWU9J2FyZycgdHlwZT0ndm9pZCAqKicgaW5mbz0nYSB1c2VyIGFyZ3VtZW50Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVGV4dFJlYWRlckdldFBhcnNlckNvbHVtbk51bWJlcicgZmlsZT0neG1scmVhZGVyJyBtb2R1bGU9J3htbHJlYWRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5Qcm92aWRlIHRoZSBjb2x1bW4gbnVtYmVyIG9mIHRoZSBjdXJyZW50IHBhcnNpbmcgcG9pbnQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J2FuIGludCBvciAwIGlmIG5vdCBhdmFpbGFibGUnLz4KKyAgICAgIDxhcmcgbmFtZT0ncmVhZGVyJyB0eXBlPSd4bWxUZXh0UmVhZGVyUHRyJyBpbmZvPSd0aGUgdXNlciBkYXRhIChYTUwgcmVhZGVyIGNvbnRleHQpJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVGV4dFJlYWRlckdldFBhcnNlckxpbmVOdW1iZXInIGZpbGU9J3htbHJlYWRlcicgbW9kdWxlPSd4bWxyZWFkZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+UHJvdmlkZSB0aGUgbGluZSBudW1iZXIgb2YgdGhlIGN1cnJlbnQgcGFyc2luZyBwb2ludC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nYW4gaW50IG9yIDAgaWYgbm90IGF2YWlsYWJsZScvPgorICAgICAgPGFyZyBuYW1lPSdyZWFkZXInIHR5cGU9J3htbFRleHRSZWFkZXJQdHInIGluZm89J3RoZSB1c2VyIGRhdGEgKFhNTCByZWFkZXIgY29udGV4dCknLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxUZXh0UmVhZGVyR2V0UGFyc2VyUHJvcCcgZmlsZT0neG1scmVhZGVyJyBtb2R1bGU9J3htbHJlYWRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5SZWFkIHRoZSBwYXJzZXIgaW50ZXJuYWwgcHJvcGVydHkuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J3RoZSB2YWx1ZSwgdXN1YWxseSAwIG9yIDEsIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IuJy8+CisgICAgICA8YXJnIG5hbWU9J3JlYWRlcicgdHlwZT0neG1sVGV4dFJlYWRlclB0cicgaW5mbz0ndGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZCcvPgorICAgICAgPGFyZyBuYW1lPSdwcm9wJyB0eXBlPSdpbnQnIGluZm89J3RoZSB4bWxQYXJzZXJQcm9wZXJ0aWVzIHRvIGdldCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFRleHRSZWFkZXJHZXRSZW1haW5kZXInIGZpbGU9J3htbHJlYWRlcicgbW9kdWxlPSd4bWxyZWFkZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+TWV0aG9kIHRvIGdldCB0aGUgcmVtYWluZGVyIG9mIHRoZSBidWZmZXJlZCBYTUwuIHRoaXMgbWV0aG9kIHN0b3BzIHRoZSBwYXJzZXIsIHNldCBpdHMgc3RhdGUgdG8gRW5kIE9mIEZpbGUgYW5kIHJldHVybiB0aGUgaW5wdXQgc3RyZWFtIHdpdGggd2hhdCBpcyBsZWZ0IHRoYXQgdGhlIHBhcnNlciBkaWQgbm90IHVzZS4gIFRoZSBpbXBsZW1lbnRhdGlvbiBpcyBub3QgZ29vZCwgdGhlIHBhcnNlciBjZXJ0YWlubHkgcHJvY2dyZXNzZWQgcGFzdCB3aGF0JmFwb3M7cyBsZWZ0IGluIHJlYWRlci0mZ3Q7aW5wdXQsIGFuZCB0aGVyZSBpcyBhbiBhbGxvY2F0aW9uIHByb2JsZW0uIEJlc3Qgd291bGQgYmUgdG8gcmV3cml0ZSBpdCBkaWZmZXJlbnRseS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbFBhcnNlcklucHV0QnVmZmVyUHRyJyBpbmZvPSd0aGUgeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIgYXR0YWNoZWQgdG8gdGhlIFhNTCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuJy8+CisgICAgICA8YXJnIG5hbWU9J3JlYWRlcicgdHlwZT0neG1sVGV4dFJlYWRlclB0cicgaW5mbz0ndGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFRleHRSZWFkZXJIYXNBdHRyaWJ1dGVzJyBmaWxlPSd4bWxyZWFkZXInIG1vZHVsZT0neG1scmVhZGVyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPldoZXRoZXIgdGhlIG5vZGUgaGFzIGF0dHJpYnV0ZXMuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgdHJ1ZSwgMCBpZiBmYWxzZSwgYW5kIC0xIGluIGNhc2Ugb3IgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0ncmVhZGVyJyB0eXBlPSd4bWxUZXh0UmVhZGVyUHRyJyBpbmZvPSd0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVGV4dFJlYWRlckhhc1ZhbHVlJyBmaWxlPSd4bWxyZWFkZXInIG1vZHVsZT0neG1scmVhZGVyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPldoZXRoZXIgdGhlIG5vZGUgY2FuIGhhdmUgYSB0ZXh0IHZhbHVlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRydWUsIDAgaWYgZmFsc2UsIGFuZCAtMSBpbiBjYXNlIG9yIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J3JlYWRlcicgdHlwZT0neG1sVGV4dFJlYWRlclB0cicgaW5mbz0ndGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFRleHRSZWFkZXJJc0RlZmF1bHQnIGZpbGU9J3htbHJlYWRlcicgbW9kdWxlPSd4bWxyZWFkZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+V2hldGhlciBhbiBBdHRyaWJ1dGUgIG5vZGUgd2FzIGdlbmVyYXRlZCBmcm9tIHRoZSBkZWZhdWx0IHZhbHVlIGRlZmluZWQgaW4gdGhlIERURCBvciBzY2hlbWEuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzAgaWYgbm90IGRlZmF1bHRlZCwgMSBpZiBkZWZhdWx0ZWQsIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J3JlYWRlcicgdHlwZT0neG1sVGV4dFJlYWRlclB0cicgaW5mbz0ndGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFRleHRSZWFkZXJJc0VtcHR5RWxlbWVudCcgZmlsZT0neG1scmVhZGVyJyBtb2R1bGU9J3htbHJlYWRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DaGVjayBpZiB0aGUgY3VycmVudCBub2RlIGlzIGVtcHR5PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgZW1wdHksIDAgaWYgbm90IGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J3JlYWRlcicgdHlwZT0neG1sVGV4dFJlYWRlclB0cicgaW5mbz0ndGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFRleHRSZWFkZXJJc05hbWVzcGFjZURlY2wnIGZpbGU9J3htbHJlYWRlcicgbW9kdWxlPSd4bWxyZWFkZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+RGV0ZXJtaW5lIHdoZXRoZXIgdGhlIGN1cnJlbnQgbm9kZSBpcyBhIG5hbWVzcGFjZSBkZWNsYXJhdGlvbiByYXRoZXIgdGhhbiBhIHJlZ3VsYXIgYXR0cmlidXRlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRoZSBjdXJyZW50IG5vZGUgaXMgYSBuYW1lc3BhY2UgZGVjbGFyYXRpb24sIDAgaWYgaXQgaXMgYSByZWd1bGFyIGF0dHJpYnV0ZSBvciBvdGhlciB0eXBlIG9mIG5vZGUsIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IuJy8+CisgICAgICA8YXJnIG5hbWU9J3JlYWRlcicgdHlwZT0neG1sVGV4dFJlYWRlclB0cicgaW5mbz0ndGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFRleHRSZWFkZXJJc1ZhbGlkJyBmaWxlPSd4bWxyZWFkZXInIG1vZHVsZT0neG1scmVhZGVyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlJldHJpZXZlIHRoZSB2YWxpZGl0eSBzdGF0dXMgZnJvbSB0aGUgcGFyc2VyIGNvbnRleHQ8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndGhlIGZsYWcgdmFsdWUgMSBpZiB2YWxpZCwgMCBpZiBubywgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0ncmVhZGVyJyB0eXBlPSd4bWxUZXh0UmVhZGVyUHRyJyBpbmZvPSd0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVGV4dFJlYWRlckxvY2FsTmFtZScgZmlsZT0neG1scmVhZGVyJyBtb2R1bGU9J3htbHJlYWRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5UaGUgbG9jYWwgbmFtZSBvZiB0aGUgbm9kZS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbENoYXIgKicgaW5mbz0ndGhlIGxvY2FsIG5hbWUgb3IgTlVMTCBpZiBub3QgYXZhaWxhYmxlLCBpZiBub24gTlVMTCBpdCBuZWVkIHRvIGJlIGZyZWVkIGJ5IHRoZSBjYWxsZXIuJy8+CisgICAgICA8YXJnIG5hbWU9J3JlYWRlcicgdHlwZT0neG1sVGV4dFJlYWRlclB0cicgaW5mbz0ndGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFRleHRSZWFkZXJMb2NhdG9yQmFzZVVSSScgZmlsZT0neG1scmVhZGVyJyBtb2R1bGU9J3htbHJlYWRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5PYnRhaW4gdGhlIGJhc2UgVVJJIGZvciB0aGUgZ2l2ZW4gbG9jYXRvci48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbENoYXIgKicgaW5mbz0ndGhlIGJhc2UgVVJJIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvciwgaWYgbm9uIE5VTEwgaXQgbmVlZCB0byBiZSBmcmVlZCBieSB0aGUgY2FsbGVyLicvPgorICAgICAgPGFyZyBuYW1lPSdsb2NhdG9yJyB0eXBlPSd4bWxUZXh0UmVhZGVyTG9jYXRvclB0cicgaW5mbz0ndGhlIHhtbFRleHRSZWFkZXJMb2NhdG9yUHRyIHVzZWQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxUZXh0UmVhZGVyTG9jYXRvckxpbmVOdW1iZXInIGZpbGU9J3htbHJlYWRlcicgbW9kdWxlPSd4bWxyZWFkZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+T2J0YWluIHRoZSBsaW5lIG51bWJlciBmb3IgdGhlIGdpdmVuIGxvY2F0b3IuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J3RoZSBsaW5lIG51bWJlciBvciAtMSBpbiBjYXNlIG9mIGVycm9yLicvPgorICAgICAgPGFyZyBuYW1lPSdsb2NhdG9yJyB0eXBlPSd4bWxUZXh0UmVhZGVyTG9jYXRvclB0cicgaW5mbz0ndGhlIHhtbFRleHRSZWFkZXJMb2NhdG9yUHRyIHVzZWQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxUZXh0UmVhZGVyTG9va3VwTmFtZXNwYWNlJyBmaWxlPSd4bWxyZWFkZXInIG1vZHVsZT0neG1scmVhZGVyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlJlc29sdmVzIGEgbmFtZXNwYWNlIHByZWZpeCBpbiB0aGUgc2NvcGUgb2YgdGhlIGN1cnJlbnQgZWxlbWVudC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbENoYXIgKicgaW5mbz0nYSBzdHJpbmcgY29udGFpbmluZyB0aGUgbmFtZXNwYWNlIFVSSSB0byB3aGljaCB0aGUgcHJlZml4IG1hcHMgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLiBUaGUgc3RyaW5nIG11c3QgYmUgZGVhbGxvY2F0ZWQgYnkgdGhlIGNhbGxlci4nLz4KKyAgICAgIDxhcmcgbmFtZT0ncmVhZGVyJyB0eXBlPSd4bWxUZXh0UmVhZGVyUHRyJyBpbmZvPSd0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkJy8+CisgICAgICA8YXJnIG5hbWU9J3ByZWZpeCcgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgcHJlZml4IHdob3NlIG5hbWVzcGFjZSBVUkkgaXMgdG8gYmUgcmVzb2x2ZWQuIFRvIHJldHVybiB0aGUgZGVmYXVsdCBuYW1lc3BhY2UsIHNwZWNpZnkgTlVMTCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFRleHRSZWFkZXJNb3ZlVG9BdHRyaWJ1dGUnIGZpbGU9J3htbHJlYWRlcicgbW9kdWxlPSd4bWxyZWFkZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+TW92ZXMgdGhlIHBvc2l0aW9uIG9mIHRoZSBjdXJyZW50IGluc3RhbmNlIHRvIHRoZSBhdHRyaWJ1dGUgd2l0aCB0aGUgc3BlY2lmaWVkIHF1YWxpZmllZCBuYW1lLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGluIGNhc2Ugb2Ygc3VjY2VzcywgLTEgaW4gY2FzZSBvZiBlcnJvciwgMCBpZiBub3QgZm91bmQnLz4KKyAgICAgIDxhcmcgbmFtZT0ncmVhZGVyJyB0eXBlPSd4bWxUZXh0UmVhZGVyUHRyJyBpbmZvPSd0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkJy8+CisgICAgICA8YXJnIG5hbWU9J25hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIHF1YWxpZmllZCBuYW1lIG9mIHRoZSBhdHRyaWJ1dGUuJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVGV4dFJlYWRlck1vdmVUb0F0dHJpYnV0ZU5vJyBmaWxlPSd4bWxyZWFkZXInIG1vZHVsZT0neG1scmVhZGVyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPk1vdmVzIHRoZSBwb3NpdGlvbiBvZiB0aGUgY3VycmVudCBpbnN0YW5jZSB0byB0aGUgYXR0cmlidXRlIHdpdGggdGhlIHNwZWNpZmllZCBpbmRleCByZWxhdGl2ZSB0byB0aGUgY29udGFpbmluZyBlbGVtZW50LjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGluIGNhc2Ugb2Ygc3VjY2VzcywgLTEgaW4gY2FzZSBvZiBlcnJvciwgMCBpZiBub3QgZm91bmQnLz4KKyAgICAgIDxhcmcgbmFtZT0ncmVhZGVyJyB0eXBlPSd4bWxUZXh0UmVhZGVyUHRyJyBpbmZvPSd0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkJy8+CisgICAgICA8YXJnIG5hbWU9J25vJyB0eXBlPSdpbnQnIGluZm89J3RoZSB6ZXJvLWJhc2VkIGluZGV4IG9mIHRoZSBhdHRyaWJ1dGUgcmVsYXRpdmUgdG8gdGhlIGNvbnRhaW5pbmcgZWxlbWVudC4nLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxUZXh0UmVhZGVyTW92ZVRvQXR0cmlidXRlTnMnIGZpbGU9J3htbHJlYWRlcicgbW9kdWxlPSd4bWxyZWFkZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+TW92ZXMgdGhlIHBvc2l0aW9uIG9mIHRoZSBjdXJyZW50IGluc3RhbmNlIHRvIHRoZSBhdHRyaWJ1dGUgd2l0aCB0aGUgc3BlY2lmaWVkIGxvY2FsIG5hbWUgYW5kIG5hbWVzcGFjZSBVUkkuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaW4gY2FzZSBvZiBzdWNjZXNzLCAtMSBpbiBjYXNlIG9mIGVycm9yLCAwIGlmIG5vdCBmb3VuZCcvPgorICAgICAgPGFyZyBuYW1lPSdyZWFkZXInIHR5cGU9J3htbFRleHRSZWFkZXJQdHInIGluZm89J3RoZSB4bWxUZXh0UmVhZGVyUHRyIHVzZWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbG9jYWxOYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBsb2NhbCBuYW1lIG9mIHRoZSBhdHRyaWJ1dGUuJy8+CisgICAgICA8YXJnIG5hbWU9J25hbWVzcGFjZVVSSScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgbmFtZXNwYWNlIFVSSSBvZiB0aGUgYXR0cmlidXRlLicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFRleHRSZWFkZXJNb3ZlVG9FbGVtZW50JyBmaWxlPSd4bWxyZWFkZXInIG1vZHVsZT0neG1scmVhZGVyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPk1vdmVzIHRoZSBwb3NpdGlvbiBvZiB0aGUgY3VycmVudCBpbnN0YW5jZSB0byB0aGUgbm9kZSB0aGF0IGNvbnRhaW5zIHRoZSBjdXJyZW50IEF0dHJpYnV0ZSAgbm9kZS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpbiBjYXNlIG9mIHN1Y2Nlc3MsIC0xIGluIGNhc2Ugb2YgZXJyb3IsIDAgaWYgbm90IG1vdmVkJy8+CisgICAgICA8YXJnIG5hbWU9J3JlYWRlcicgdHlwZT0neG1sVGV4dFJlYWRlclB0cicgaW5mbz0ndGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFRleHRSZWFkZXJNb3ZlVG9GaXJzdEF0dHJpYnV0ZScgZmlsZT0neG1scmVhZGVyJyBtb2R1bGU9J3htbHJlYWRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5Nb3ZlcyB0aGUgcG9zaXRpb24gb2YgdGhlIGN1cnJlbnQgaW5zdGFuY2UgdG8gdGhlIGZpcnN0IGF0dHJpYnV0ZSBhc3NvY2lhdGVkIHdpdGggdGhlIGN1cnJlbnQgbm9kZS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpbiBjYXNlIG9mIHN1Y2Nlc3MsIC0xIGluIGNhc2Ugb2YgZXJyb3IsIDAgaWYgbm90IGZvdW5kJy8+CisgICAgICA8YXJnIG5hbWU9J3JlYWRlcicgdHlwZT0neG1sVGV4dFJlYWRlclB0cicgaW5mbz0ndGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFRleHRSZWFkZXJNb3ZlVG9OZXh0QXR0cmlidXRlJyBmaWxlPSd4bWxyZWFkZXInIG1vZHVsZT0neG1scmVhZGVyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPk1vdmVzIHRoZSBwb3NpdGlvbiBvZiB0aGUgY3VycmVudCBpbnN0YW5jZSB0byB0aGUgbmV4dCBhdHRyaWJ1dGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBjdXJyZW50IG5vZGUuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaW4gY2FzZSBvZiBzdWNjZXNzLCAtMSBpbiBjYXNlIG9mIGVycm9yLCAwIGlmIG5vdCBmb3VuZCcvPgorICAgICAgPGFyZyBuYW1lPSdyZWFkZXInIHR5cGU9J3htbFRleHRSZWFkZXJQdHInIGluZm89J3RoZSB4bWxUZXh0UmVhZGVyUHRyIHVzZWQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxUZXh0UmVhZGVyTmFtZScgZmlsZT0neG1scmVhZGVyJyBtb2R1bGU9J3htbHJlYWRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5UaGUgcXVhbGlmaWVkIG5hbWUgb2YgdGhlIG5vZGUsIGVxdWFsIHRvIFByZWZpeCA6TG9jYWxOYW1lLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sQ2hhciAqJyBpbmZvPSd0aGUgbG9jYWwgbmFtZSBvciBOVUxMIGlmIG5vdCBhdmFpbGFibGUsIGlmIG5vbiBOVUxMIGl0IG5lZWQgdG8gYmUgZnJlZWQgYnkgdGhlIGNhbGxlci4nLz4KKyAgICAgIDxhcmcgbmFtZT0ncmVhZGVyJyB0eXBlPSd4bWxUZXh0UmVhZGVyUHRyJyBpbmZvPSd0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVGV4dFJlYWRlck5hbWVzcGFjZVVyaScgZmlsZT0neG1scmVhZGVyJyBtb2R1bGU9J3htbHJlYWRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5UaGUgVVJJIGRlZmluaW5nIHRoZSBuYW1lc3BhY2UgYXNzb2NpYXRlZCB3aXRoIHRoZSBub2RlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sQ2hhciAqJyBpbmZvPSd0aGUgbmFtZXNwYWNlIFVSSSBvciBOVUxMIGlmIG5vdCBhdmFpbGFibGUsIGlmIG5vbiBOVUxMIGl0IG5lZWQgdG8gYmUgZnJlZWQgYnkgdGhlIGNhbGxlci4nLz4KKyAgICAgIDxhcmcgbmFtZT0ncmVhZGVyJyB0eXBlPSd4bWxUZXh0UmVhZGVyUHRyJyBpbmZvPSd0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVGV4dFJlYWRlck5leHQnIGZpbGU9J3htbHJlYWRlcicgbW9kdWxlPSd4bWxyZWFkZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+U2tpcCB0byB0aGUgbm9kZSBmb2xsb3dpbmcgdGhlIGN1cnJlbnQgb25lIGluIGRvY3VtZW50IG9yZGVyIHdoaWxlIGF2b2lkaW5nIHRoZSBzdWJ0cmVlIGlmIGFueS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB0aGUgbm9kZSB3YXMgcmVhZCBzdWNjZXNzZnVsbHksIDAgaWYgdGhlcmUgaXMgbm8gbW9yZSBub2RlcyB0byByZWFkLCBvciAtMSBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J3JlYWRlcicgdHlwZT0neG1sVGV4dFJlYWRlclB0cicgaW5mbz0ndGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFRleHRSZWFkZXJOZXh0U2libGluZycgZmlsZT0neG1scmVhZGVyJyBtb2R1bGU9J3htbHJlYWRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5Ta2lwIHRvIHRoZSBub2RlIGZvbGxvd2luZyB0aGUgY3VycmVudCBvbmUgaW4gZG9jdW1lbnQgb3JkZXIgd2hpbGUgYXZvaWRpbmcgdGhlIHN1YnRyZWUgaWYgYW55LiBDdXJyZW50bHkgaW1wbGVtZW50ZWQgb25seSBmb3IgUmVhZGVycyBidWlsdCBvbiBhIGRvY3VtZW50PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgdGhlIG5vZGUgd2FzIHJlYWQgc3VjY2Vzc2Z1bGx5LCAwIGlmIHRoZXJlIGlzIG5vIG1vcmUgbm9kZXMgdG8gcmVhZCwgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSdyZWFkZXInIHR5cGU9J3htbFRleHRSZWFkZXJQdHInIGluZm89J3RoZSB4bWxUZXh0UmVhZGVyUHRyIHVzZWQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxUZXh0UmVhZGVyTm9kZVR5cGUnIGZpbGU9J3htbHJlYWRlcicgbW9kdWxlPSd4bWxyZWFkZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+R2V0IHRoZSBub2RlIHR5cGUgb2YgdGhlIGN1cnJlbnQgbm9kZSBSZWZlcmVuY2U6IGh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9kb3RnbnUvcG5ldGxpYi1kb2MvU3lzdGVtL1htbC9YbWxOb2RlVHlwZS5odG1sPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J3RoZSB4bWxOb2RlVHlwZSBvZiB0aGUgY3VycmVudCBub2RlIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0ncmVhZGVyJyB0eXBlPSd4bWxUZXh0UmVhZGVyUHRyJyBpbmZvPSd0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVGV4dFJlYWRlck5vcm1hbGl6YXRpb24nIGZpbGU9J3htbHJlYWRlcicgbW9kdWxlPSd4bWxyZWFkZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+VGhlIHZhbHVlIGluZGljYXRpbmcgd2hldGhlciB0byBub3JtYWxpemUgd2hpdGUgc3BhY2UgYW5kIGF0dHJpYnV0ZSB2YWx1ZXMuIFNpbmNlIGF0dHJpYnV0ZSB2YWx1ZSBhbmQgZW5kIG9mIGxpbmUgbm9ybWFsaXphdGlvbnMgYXJlIGEgTVVTVCBpbiB0aGUgWE1MIHNwZWNpZmljYXRpb24gb25seSB0aGUgdmFsdWUgdHJ1ZSBpcyBhY2NlcHRlZC4gVGhlIGJyb2tlbiBiYWhhdmlvdXIgb2YgYWNjZXB0aW5nIG91dCBvZiByYW5nZSBjaGFyYWN0ZXIgZW50aXRpZXMgbGlrZSAmYW1wOyMwOyBpcyBvZiBjb3Vyc2Ugbm90IHN1cHBvcnRlZCBlaXRoZXIuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgb3IgLTEgaW4gY2FzZSBvZiBlcnJvci4nLz4KKyAgICAgIDxhcmcgbmFtZT0ncmVhZGVyJyB0eXBlPSd4bWxUZXh0UmVhZGVyUHRyJyBpbmZvPSd0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVGV4dFJlYWRlclByZWZpeCcgZmlsZT0neG1scmVhZGVyJyBtb2R1bGU9J3htbHJlYWRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5BIHNob3J0aGFuZCByZWZlcmVuY2UgdG8gdGhlIG5hbWVzcGFjZSBhc3NvY2lhdGVkIHdpdGggdGhlIG5vZGUuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxDaGFyIConIGluZm89J3RoZSBwcmVmaXggb3IgTlVMTCBpZiBub3QgYXZhaWxhYmxlLCBpZiBub24gTlVMTCBpdCBuZWVkIHRvIGJlIGZyZWVkIGJ5IHRoZSBjYWxsZXIuJy8+CisgICAgICA8YXJnIG5hbWU9J3JlYWRlcicgdHlwZT0neG1sVGV4dFJlYWRlclB0cicgaW5mbz0ndGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFRleHRSZWFkZXJQcmVzZXJ2ZScgZmlsZT0neG1scmVhZGVyJyBtb2R1bGU9J3htbHJlYWRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5UaGlzIHRlbGxzIHRoZSBYTUwgUmVhZGVyIHRvIHByZXNlcnZlIHRoZSBjdXJyZW50IG5vZGUuIFRoZSBjYWxsZXIgbXVzdCBhbHNvIHVzZSB4bWxUZXh0UmVhZGVyQ3VycmVudERvYygpIHRvIGtlZXAgYW4gaGFuZGxlIG9uIHRoZSByZXN1bHRpbmcgZG9jdW1lbnQgb25jZSBwYXJzaW5nIGhhcyBmaW5pc2hlZDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sTm9kZVB0cicgaW5mbz0ndGhlIHhtbE5vZGVQdHIgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLicvPgorICAgICAgPGFyZyBuYW1lPSdyZWFkZXInIHR5cGU9J3htbFRleHRSZWFkZXJQdHInIGluZm89J3RoZSB4bWxUZXh0UmVhZGVyUHRyIHVzZWQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxUZXh0UmVhZGVyUHJlc2VydmVQYXR0ZXJuJyBmaWxlPSd4bWxyZWFkZXInIG1vZHVsZT0neG1scmVhZGVyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKSAmYW1wOyZhbXA7IGRlZmluZWQoTElCWE1MX1BBVFRFUk5fRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5UaGlzIHRlbGxzIHRoZSBYTUwgUmVhZGVyIHRvIHByZXNlcnZlIGFsbCBub2RlcyBtYXRjaGVkIGJ5IHRoZSBwYXR0ZXJuLiBUaGUgY2FsbGVyIG11c3QgYWxzbyB1c2UgeG1sVGV4dFJlYWRlckN1cnJlbnREb2MoKSB0byBrZWVwIGFuIGhhbmRsZSBvbiB0aGUgcmVzdWx0aW5nIGRvY3VtZW50IG9uY2UgcGFyc2luZyBoYXMgZmluaXNoZWQ8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nYSBwb3NpdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBzdWNjZXNzIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J3JlYWRlcicgdHlwZT0neG1sVGV4dFJlYWRlclB0cicgaW5mbz0ndGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZCcvPgorICAgICAgPGFyZyBuYW1lPSdwYXR0ZXJuJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J2FuIFhQYXRoIHN1YnNldCBwYXR0ZXJuJy8+CisgICAgICA8YXJnIG5hbWU9J25hbWVzcGFjZXMnIHR5cGU9J2NvbnN0IHhtbENoYXIgKionIGluZm89J3RoZSBwcmVmaXggZGVmaW5pdGlvbnMsIGFycmF5IG9mIFtVUkksIHByZWZpeF0gb3IgTlVMTCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFRleHRSZWFkZXJRdW90ZUNoYXInIGZpbGU9J3htbHJlYWRlcicgbW9kdWxlPSd4bWxyZWFkZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+VGhlIHF1b3RhdGlvbiBtYXJrIGNoYXJhY3RlciB1c2VkIHRvIGVuY2xvc2UgdGhlIHZhbHVlIG9mIGFuIGF0dHJpYnV0ZS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nJnF1b3Q7IG9yICZhcG9zOyBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSdyZWFkZXInIHR5cGU9J3htbFRleHRSZWFkZXJQdHInIGluZm89J3RoZSB4bWxUZXh0UmVhZGVyUHRyIHVzZWQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxUZXh0UmVhZGVyUmVhZCcgZmlsZT0neG1scmVhZGVyJyBtb2R1bGU9J3htbHJlYWRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5Nb3ZlcyB0aGUgcG9zaXRpb24gb2YgdGhlIGN1cnJlbnQgaW5zdGFuY2UgdG8gdGhlIG5leHQgbm9kZSBpbiB0aGUgc3RyZWFtLCBleHBvc2luZyBpdHMgcHJvcGVydGllcy48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB0aGUgbm9kZSB3YXMgcmVhZCBzdWNjZXNzZnVsbHksIDAgaWYgdGhlcmUgaXMgbm8gbW9yZSBub2RlcyB0byByZWFkLCBvciAtMSBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J3JlYWRlcicgdHlwZT0neG1sVGV4dFJlYWRlclB0cicgaW5mbz0ndGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFRleHRSZWFkZXJSZWFkQXR0cmlidXRlVmFsdWUnIGZpbGU9J3htbHJlYWRlcicgbW9kdWxlPSd4bWxyZWFkZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+UGFyc2VzIGFuIGF0dHJpYnV0ZSB2YWx1ZSBpbnRvIG9uZSBvciBtb3JlIFRleHQgYW5kIEVudGl0eVJlZmVyZW5jZSBub2Rlcy48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpbiBjYXNlIG9mIHN1Y2Nlc3MsIDAgaWYgdGhlIHJlYWRlciB3YXMgbm90IHBvc2l0aW9ubmVkIG9uIGFuIHR0cmlidXRlIG5vZGUgb3IgYWxsIHRoZSBhdHRyaWJ1dGUgdmFsdWVzIGhhdmUgYmVlbiByZWFkLCBvciAtMSBpbiBjYXNlIG9mIGVycm9yLicvPgorICAgICAgPGFyZyBuYW1lPSdyZWFkZXInIHR5cGU9J3htbFRleHRSZWFkZXJQdHInIGluZm89J3RoZSB4bWxUZXh0UmVhZGVyUHRyIHVzZWQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxUZXh0UmVhZGVyUmVhZElubmVyWG1sJyBmaWxlPSd4bWxyZWFkZXInIG1vZHVsZT0neG1scmVhZGVyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKSAmYW1wOyZhbXA7IGRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlJlYWRzIHRoZSBjb250ZW50cyBvZiB0aGUgY3VycmVudCBub2RlLCBpbmNsdWRpbmcgY2hpbGQgbm9kZXMgYW5kIG1hcmt1cC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbENoYXIgKicgaW5mbz0nYSBzdHJpbmcgY29udGFpbmluZyB0aGUgWE1MIGNvbnRlbnQsIG9yIE5VTEwgaWYgdGhlIGN1cnJlbnQgbm9kZSBpcyBuZWl0aGVyIGFuIGVsZW1lbnQgbm9yIGF0dHJpYnV0ZSwgb3IgaGFzIG5vIGNoaWxkIG5vZGVzLiBUaGUgc3RyaW5nIG11c3QgYmUgZGVhbGxvY2F0ZWQgYnkgdGhlIGNhbGxlci4nLz4KKyAgICAgIDxhcmcgbmFtZT0ncmVhZGVyJyB0eXBlPSd4bWxUZXh0UmVhZGVyUHRyJyBpbmZvPSd0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVGV4dFJlYWRlclJlYWRPdXRlclhtbCcgZmlsZT0neG1scmVhZGVyJyBtb2R1bGU9J3htbHJlYWRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCkgJmFtcDsmYW1wOyBkZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5SZWFkcyB0aGUgY29udGVudHMgb2YgdGhlIGN1cnJlbnQgbm9kZSwgaW5jbHVkaW5nIGNoaWxkIG5vZGVzIGFuZCBtYXJrdXAuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxDaGFyIConIGluZm89J2Egc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG5vZGUgYW5kIGFueSBYTUwgY29udGVudCwgb3IgTlVMTCBpZiB0aGUgY3VycmVudCBub2RlIGNhbm5vdCBiZSBzZXJpYWxpemVkLiBUaGUgc3RyaW5nIG11c3QgYmUgZGVhbGxvY2F0ZWQgYnkgdGhlIGNhbGxlci4nLz4KKyAgICAgIDxhcmcgbmFtZT0ncmVhZGVyJyB0eXBlPSd4bWxUZXh0UmVhZGVyUHRyJyBpbmZvPSd0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVGV4dFJlYWRlclJlYWRTdGF0ZScgZmlsZT0neG1scmVhZGVyJyBtb2R1bGU9J3htbHJlYWRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5HZXRzIHRoZSByZWFkIHN0YXRlIG9mIHRoZSByZWFkZXIuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J3RoZSBzdGF0ZSB2YWx1ZSwgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSdyZWFkZXInIHR5cGU9J3htbFRleHRSZWFkZXJQdHInIGluZm89J3RoZSB4bWxUZXh0UmVhZGVyUHRyIHVzZWQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxUZXh0UmVhZGVyUmVhZFN0cmluZycgZmlsZT0neG1scmVhZGVyJyBtb2R1bGU9J3htbHJlYWRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5SZWFkcyB0aGUgY29udGVudHMgb2YgYW4gZWxlbWVudCBvciBhIHRleHQgbm9kZSBhcyBhIHN0cmluZy48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbENoYXIgKicgaW5mbz0nYSBzdHJpbmcgY29udGFpbmluZyB0aGUgY29udGVudHMgb2YgdGhlIEVsZW1lbnQgb3IgVGV4dCBub2RlLCBvciBOVUxMIGlmIHRoZSByZWFkZXIgaXMgcG9zaXRpb25lZCBvbiBhbnkgb3RoZXIgdHlwZSBvZiBub2RlLiBUaGUgc3RyaW5nIG11c3QgYmUgZGVhbGxvY2F0ZWQgYnkgdGhlIGNhbGxlci4nLz4KKyAgICAgIDxhcmcgbmFtZT0ncmVhZGVyJyB0eXBlPSd4bWxUZXh0UmVhZGVyUHRyJyBpbmZvPSd0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVGV4dFJlYWRlclJlbGF4TkdTZXRTY2hlbWEnIGZpbGU9J3htbHJlYWRlcicgbW9kdWxlPSd4bWxyZWFkZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpICZhbXA7JmFtcDsgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlVzZSBSZWxheE5HIHRvIHZhbGlkYXRlIHRoZSBkb2N1bWVudCBhcyBpdCBpcyBwcm9jZXNzZWQuIEFjdGl2YXRpb24gaXMgb25seSBwb3NzaWJsZSBiZWZvcmUgdGhlIGZpcnN0IFJlYWQoKS4gaWYgQHNjaGVtYSBpcyBOVUxMLCB0aGVuIFJlbGF4TkcgdmFsaWRhdGlvbiBpcyBkZXNhY3RpdmF0ZWQuIEAgVGhlIEBzY2hlbWEgc2hvdWxkIG5vdCBiZSBmcmVlZCB1bnRpbCB0aGUgcmVhZGVyIGlzIGRlYWxsb2NhdGVkIG9yIGl0cyB1c2UgaGFzIGJlZW4gZGVhY3RpdmF0ZWQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzAgaW4gY2FzZSB0aGUgUmVsYXhORyB2YWxpZGF0aW9uIGNvdWxkIGJlIChkZXMpYWN0aXZhdGVkIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yLicvPgorICAgICAgPGFyZyBuYW1lPSdyZWFkZXInIHR5cGU9J3htbFRleHRSZWFkZXJQdHInIGluZm89J3RoZSB4bWxUZXh0UmVhZGVyUHRyIHVzZWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nc2NoZW1hJyB0eXBlPSd4bWxSZWxheE5HUHRyJyBpbmZvPSdhIHByZWNvbXBpbGVkIFJlbGF4Tkcgc2NoZW1hJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZScgZmlsZT0neG1scmVhZGVyJyBtb2R1bGU9J3htbHJlYWRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCkgJmFtcDsmYW1wOyBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+VXNlIFJlbGF4Tkcgc2NoZW1hIHRvIHZhbGlkYXRlIHRoZSBkb2N1bWVudCBhcyBpdCBpcyBwcm9jZXNzZWQuIEFjdGl2YXRpb24gaXMgb25seSBwb3NzaWJsZSBiZWZvcmUgdGhlIGZpcnN0IFJlYWQoKS4gSWYgQHJuZyBpcyBOVUxMLCB0aGVuIFJlbGF4Tkcgc2NoZW1hIHZhbGlkYXRpb24gaXMgZGVhY3RpdmF0ZWQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzAgaW4gY2FzZSB0aGUgc2NoZW1hcyB2YWxpZGF0aW9uIGNvdWxkIGJlIChkZSlhY3RpdmF0ZWQgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3IuJy8+CisgICAgICA8YXJnIG5hbWU9J3JlYWRlcicgdHlwZT0neG1sVGV4dFJlYWRlclB0cicgaW5mbz0ndGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZCcvPgorICAgICAgPGFyZyBuYW1lPSdybmcnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIHBhdGggdG8gYSBSZWxheE5HIHNjaGVtYSBvciBOVUxMJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZUN0eHQnIGZpbGU9J3htbHJlYWRlcicgbW9kdWxlPSd4bWxyZWFkZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpICZhbXA7JmFtcDsgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlVzZSBSZWxheE5HIHNjaGVtYSBjb250ZXh0IHRvIHZhbGlkYXRlIHRoZSBkb2N1bWVudCBhcyBpdCBpcyBwcm9jZXNzZWQuIEFjdGl2YXRpb24gaXMgb25seSBwb3NzaWJsZSBiZWZvcmUgdGhlIGZpcnN0IFJlYWQoKS4gSWYgQGN0eHQgaXMgTlVMTCwgdGhlbiBSZWxheE5HIHNjaGVtYSB2YWxpZGF0aW9uIGlzIGRlYWN0aXZhdGVkLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScwIGluIGNhc2UgdGhlIHNjaGVtYXMgdmFsaWRhdGlvbiBjb3VsZCBiZSAoZGUpYWN0aXZhdGVkIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yLicvPgorICAgICAgPGFyZyBuYW1lPSdyZWFkZXInIHR5cGU9J3htbFRleHRSZWFkZXJQdHInIGluZm89J3RoZSB4bWxUZXh0UmVhZGVyUHRyIHVzZWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sUmVsYXhOR1ZhbGlkQ3R4dFB0cicgaW5mbz0ndGhlIFJlbGF4Tkcgc2NoZW1hIHZhbGlkYXRpb24gY29udGV4dCBvciBOVUxMJy8+CisgICAgICA8YXJnIG5hbWU9J29wdGlvbnMnIHR5cGU9J2ludCcgaW5mbz0nb3B0aW9ucyAobm90IHVzZWQgeWV0KScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZScgZmlsZT0neG1scmVhZGVyJyBtb2R1bGU9J3htbHJlYWRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCkgJmFtcDsmYW1wOyBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+VXNlIFczQyBYU0Qgc2NoZW1hIHRvIHZhbGlkYXRlIHRoZSBkb2N1bWVudCBhcyBpdCBpcyBwcm9jZXNzZWQuIEFjdGl2YXRpb24gaXMgb25seSBwb3NzaWJsZSBiZWZvcmUgdGhlIGZpcnN0IFJlYWQoKS4gSWYgQHhzZCBpcyBOVUxMLCB0aGVuIFhNTCBTY2hlbWEgdmFsaWRhdGlvbiBpcyBkZWFjdGl2YXRlZC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMCBpbiBjYXNlIHRoZSBzY2hlbWFzIHZhbGlkYXRpb24gY291bGQgYmUgKGRlKWFjdGl2YXRlZCBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvci4nLz4KKyAgICAgIDxhcmcgbmFtZT0ncmVhZGVyJyB0eXBlPSd4bWxUZXh0UmVhZGVyUHRyJyBpbmZvPSd0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkJy8+CisgICAgICA8YXJnIG5hbWU9J3hzZCcgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSd0aGUgcGF0aCB0byBhIFczQyBYU0Qgc2NoZW1hIG9yIE5VTEwnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxUZXh0UmVhZGVyU2NoZW1hVmFsaWRhdGVDdHh0JyBmaWxlPSd4bWxyZWFkZXInIG1vZHVsZT0neG1scmVhZGVyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKSAmYW1wOyZhbXA7IGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5Vc2UgVzNDIFhTRCBzY2hlbWEgY29udGV4dCB0byB2YWxpZGF0ZSB0aGUgZG9jdW1lbnQgYXMgaXQgaXMgcHJvY2Vzc2VkLiBBY3RpdmF0aW9uIGlzIG9ubHkgcG9zc2libGUgYmVmb3JlIHRoZSBmaXJzdCBSZWFkKCkuIElmIEBjdHh0IGlzIE5VTEwsIHRoZW4gWE1MIFNjaGVtYSB2YWxpZGF0aW9uIGlzIGRlYWN0aXZhdGVkLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScwIGluIGNhc2UgdGhlIHNjaGVtYXMgdmFsaWRhdGlvbiBjb3VsZCBiZSAoZGUpYWN0aXZhdGVkIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yLicvPgorICAgICAgPGFyZyBuYW1lPSdyZWFkZXInIHR5cGU9J3htbFRleHRSZWFkZXJQdHInIGluZm89J3RoZSB4bWxUZXh0UmVhZGVyUHRyIHVzZWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sU2NoZW1hVmFsaWRDdHh0UHRyJyBpbmZvPSd0aGUgWE1MIFNjaGVtYSB2YWxpZGF0aW9uIGNvbnRleHQgb3IgTlVMTCcvPgorICAgICAgPGFyZyBuYW1lPSdvcHRpb25zJyB0eXBlPSdpbnQnIGluZm89J29wdGlvbnMgKG5vdCB1c2VkIHlldCknLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxUZXh0UmVhZGVyU2V0RXJyb3JIYW5kbGVyJyBmaWxlPSd4bWxyZWFkZXInIG1vZHVsZT0neG1scmVhZGVyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlJlZ2lzdGVyIGEgY2FsbGJhY2sgZnVuY3Rpb24gdGhhdCB3aWxsIGJlIGNhbGxlZCBvbiBlcnJvciBhbmQgd2FybmluZ3MuICBJZiBAZiBpcyBOVUxMLCB0aGUgZGVmYXVsdCBlcnJvciBhbmQgd2FybmluZyBoYW5kbGVycyBhcmUgcmVzdG9yZWQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J3JlYWRlcicgdHlwZT0neG1sVGV4dFJlYWRlclB0cicgaW5mbz0ndGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZCcvPgorICAgICAgPGFyZyBuYW1lPSdmJyB0eXBlPSd4bWxUZXh0UmVhZGVyRXJyb3JGdW5jJyBpbmZvPSd0aGUgY2FsbGJhY2sgZnVuY3Rpb24gdG8gY2FsbCBvbiBlcnJvciBhbmQgd2FybmluZ3MnLz4KKyAgICAgIDxhcmcgbmFtZT0nYXJnJyB0eXBlPSd2b2lkIConIGluZm89J2EgdXNlciBhcmd1bWVudCB0byBwYXNzIHRvIHRoZSBjYWxsYmFjayBmdW5jdGlvbicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFRleHRSZWFkZXJTZXRQYXJzZXJQcm9wJyBmaWxlPSd4bWxyZWFkZXInIG1vZHVsZT0neG1scmVhZGVyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNoYW5nZSB0aGUgcGFyc2VyIHByb2Nlc3NpbmcgYmVoYXZpb3VyIGJ5IGNoYW5naW5nIHNvbWUgb2YgaXRzIGludGVybmFsIHByb3BlcnRpZXMuIE5vdGUgdGhhdCBzb21lIHByb3BlcnRpZXMgY2FuIG9ubHkgYmUgY2hhbmdlZCBiZWZvcmUgYW55IHJlYWQgaGFzIGJlZW4gZG9uZS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMCBpZiB0aGUgY2FsbCB3YXMgc3VjY2Vzc2Z1bCwgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSdyZWFkZXInIHR5cGU9J3htbFRleHRSZWFkZXJQdHInIGluZm89J3RoZSB4bWxUZXh0UmVhZGVyUHRyIHVzZWQnLz4KKyAgICAgIDxhcmcgbmFtZT0ncHJvcCcgdHlwZT0naW50JyBpbmZvPSd0aGUgeG1sUGFyc2VyUHJvcGVydGllcyB0byBzZXQnLz4KKyAgICAgIDxhcmcgbmFtZT0ndmFsdWUnIHR5cGU9J2ludCcgaW5mbz0ndXN1YWxseSAwIG9yIDEgdG8gKGRlKWFjdGl2YXRlIGl0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVGV4dFJlYWRlclNldFNjaGVtYScgZmlsZT0neG1scmVhZGVyJyBtb2R1bGU9J3htbHJlYWRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCkgJmFtcDsmYW1wOyBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+VXNlIFhTRCBTY2hlbWEgdG8gdmFsaWRhdGUgdGhlIGRvY3VtZW50IGFzIGl0IGlzIHByb2Nlc3NlZC4gQWN0aXZhdGlvbiBpcyBvbmx5IHBvc3NpYmxlIGJlZm9yZSB0aGUgZmlyc3QgUmVhZCgpLiBpZiBAc2NoZW1hIGlzIE5VTEwsIHRoZW4gU2NoZW1hIHZhbGlkYXRpb24gaXMgZGVzYWN0aXZhdGVkLiBAIFRoZSBAc2NoZW1hIHNob3VsZCBub3QgYmUgZnJlZWQgdW50aWwgdGhlIHJlYWRlciBpcyBkZWFsbG9jYXRlZCBvciBpdHMgdXNlIGhhcyBiZWVuIGRlYWN0aXZhdGVkLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScwIGluIGNhc2UgdGhlIFNjaGVtYSB2YWxpZGF0aW9uIGNvdWxkIGJlIChkZXMpYWN0aXZhdGVkIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yLicvPgorICAgICAgPGFyZyBuYW1lPSdyZWFkZXInIHR5cGU9J3htbFRleHRSZWFkZXJQdHInIGluZm89J3RoZSB4bWxUZXh0UmVhZGVyUHRyIHVzZWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nc2NoZW1hJyB0eXBlPSd4bWxTY2hlbWFQdHInIGluZm89J2EgcHJlY29tcGlsZWQgU2NoZW1hIHNjaGVtYScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFRleHRSZWFkZXJTZXRTdHJ1Y3R1cmVkRXJyb3JIYW5kbGVyJyBmaWxlPSd4bWxyZWFkZXInIG1vZHVsZT0neG1scmVhZGVyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlJlZ2lzdGVyIGEgY2FsbGJhY2sgZnVuY3Rpb24gdGhhdCB3aWxsIGJlIGNhbGxlZCBvbiBlcnJvciBhbmQgd2FybmluZ3MuICBJZiBAZiBpcyBOVUxMLCB0aGUgZGVmYXVsdCBlcnJvciBhbmQgd2FybmluZyBoYW5kbGVycyBhcmUgcmVzdG9yZWQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J3JlYWRlcicgdHlwZT0neG1sVGV4dFJlYWRlclB0cicgaW5mbz0ndGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZCcvPgorICAgICAgPGFyZyBuYW1lPSdmJyB0eXBlPSd4bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jJyBpbmZvPSd0aGUgY2FsbGJhY2sgZnVuY3Rpb24gdG8gY2FsbCBvbiBlcnJvciBhbmQgd2FybmluZ3MnLz4KKyAgICAgIDxhcmcgbmFtZT0nYXJnJyB0eXBlPSd2b2lkIConIGluZm89J2EgdXNlciBhcmd1bWVudCB0byBwYXNzIHRvIHRoZSBjYWxsYmFjayBmdW5jdGlvbicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFRleHRSZWFkZXJTZXR1cCcgZmlsZT0neG1scmVhZGVyJyBtb2R1bGU9J3htbHJlYWRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5TZXR1cCBhbiBYTUwgcmVhZGVyIHdpdGggbmV3IG9wdGlvbnM8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMCBpbiBjYXNlIG9mIHN1Y2Nlc3MgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3IuJy8+CisgICAgICA8YXJnIG5hbWU9J3JlYWRlcicgdHlwZT0neG1sVGV4dFJlYWRlclB0cicgaW5mbz0nYW4gWE1MIHJlYWRlcicvPgorICAgICAgPGFyZyBuYW1lPSdpbnB1dCcgdHlwZT0neG1sUGFyc2VySW5wdXRCdWZmZXJQdHInIGluZm89J3htbFBhcnNlcklucHV0QnVmZmVyUHRyIHVzZWQgdG8gZmVlZCB0aGUgcmVhZGVyLCB3aWxsIGJlIGRlc3Ryb3llZCB3aXRoIGl0LicvPgorICAgICAgPGFyZyBuYW1lPSdVUkwnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIGJhc2UgVVJMIHRvIHVzZSBmb3IgdGhlIGRvY3VtZW50Jy8+CisgICAgICA8YXJnIG5hbWU9J2VuY29kaW5nJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTCcvPgorICAgICAgPGFyZyBuYW1lPSdvcHRpb25zJyB0eXBlPSdpbnQnIGluZm89J2EgY29tYmluYXRpb24gb2YgeG1sUGFyc2VyT3B0aW9uJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVGV4dFJlYWRlclN0YW5kYWxvbmUnIGZpbGU9J3htbHJlYWRlcicgbW9kdWxlPSd4bWxyZWFkZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+RGV0ZXJtaW5lIHRoZSBzdGFuZGFsb25lIHN0YXR1cyBvZiB0aGUgZG9jdW1lbnQgYmVpbmcgcmVhZC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB0aGUgZG9jdW1lbnQgd2FzIGRlY2xhcmVkIHRvIGJlIHN0YW5kYWxvbmUsIDAgaWYgaXQgd2FzIGRlY2xhcmVkIHRvIGJlIG5vdCBzdGFuZGFsb25lLCBvciAtMSBpZiB0aGUgZG9jdW1lbnQgZGlkIG5vdCBzcGVjaWZ5IGl0cyBzdGFuZGFsb25lIHN0YXR1cyBvciBpbiBjYXNlIG9mIGVycm9yLicvPgorICAgICAgPGFyZyBuYW1lPSdyZWFkZXInIHR5cGU9J3htbFRleHRSZWFkZXJQdHInIGluZm89J3RoZSB4bWxUZXh0UmVhZGVyUHRyIHVzZWQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxUZXh0UmVhZGVyVmFsdWUnIGZpbGU9J3htbHJlYWRlcicgbW9kdWxlPSd4bWxyZWFkZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+UHJvdmlkZXMgdGhlIHRleHQgdmFsdWUgb2YgdGhlIG5vZGUgaWYgcHJlc2VudDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sQ2hhciAqJyBpbmZvPSd0aGUgc3RyaW5nIG9yIE5VTEwgaWYgbm90IGF2YWlsYWJsZS4gVGhlIHJlc3VsdCBtdXN0IGJlIGRlYWxsb2NhdGVkIHdpdGggeG1sRnJlZSgpJy8+CisgICAgICA8YXJnIG5hbWU9J3JlYWRlcicgdHlwZT0neG1sVGV4dFJlYWRlclB0cicgaW5mbz0ndGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFRleHRSZWFkZXJYbWxMYW5nJyBmaWxlPSd4bWxyZWFkZXInIG1vZHVsZT0neG1scmVhZGVyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlRoZSB4bWw6bGFuZyBzY29wZSB3aXRoaW4gd2hpY2ggdGhlIG5vZGUgcmVzaWRlcy48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbENoYXIgKicgaW5mbz0ndGhlIHhtbDpsYW5nIHZhbHVlIG9yIE5VTEwgaWYgbm9uZSBleGlzdHMuLCBpZiBub24gTlVMTCBpdCBuZWVkIHRvIGJlIGZyZWVkIGJ5IHRoZSBjYWxsZXIuJy8+CisgICAgICA8YXJnIG5hbWU9J3JlYWRlcicgdHlwZT0neG1sVGV4dFJlYWRlclB0cicgaW5mbz0ndGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFRleHRXcml0ZXJFbmRBdHRyaWJ1dGUnIGZpbGU9J3htbHdyaXRlcicgbW9kdWxlPSd4bWx3cml0ZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+RW5kIHRoZSBjdXJyZW50IHhtbCBlbGVtZW50LjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0nd3JpdGVyJyB0eXBlPSd4bWxUZXh0V3JpdGVyUHRyJyBpbmZvPSd0aGUgeG1sVGV4dFdyaXRlclB0cicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFRleHRXcml0ZXJFbmRDREFUQScgZmlsZT0neG1sd3JpdGVyJyBtb2R1bGU9J3htbHdyaXRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5FbmQgYW4geG1sIENEQVRBIHNlY3Rpb24uPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J3RoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSd3cml0ZXInIHR5cGU9J3htbFRleHRXcml0ZXJQdHInIGluZm89J3RoZSB4bWxUZXh0V3JpdGVyUHRyJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVGV4dFdyaXRlckVuZENvbW1lbnQnIGZpbGU9J3htbHdyaXRlcicgbW9kdWxlPSd4bWx3cml0ZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+RW5kIHRoZSBjdXJyZW50IHhtbCBjb21lbnQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J3RoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSd3cml0ZXInIHR5cGU9J3htbFRleHRXcml0ZXJQdHInIGluZm89J3RoZSB4bWxUZXh0V3JpdGVyUHRyJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVGV4dFdyaXRlckVuZERURCcgZmlsZT0neG1sd3JpdGVyJyBtb2R1bGU9J3htbHdyaXRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5FbmQgYW4geG1sIERURC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J3dyaXRlcicgdHlwZT0neG1sVGV4dFdyaXRlclB0cicgaW5mbz0ndGhlIHhtbFRleHRXcml0ZXJQdHInLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxUZXh0V3JpdGVyRW5kRFREQXR0bGlzdCcgZmlsZT0neG1sd3JpdGVyJyBtb2R1bGU9J3htbHdyaXRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5FbmQgYW4geG1sIERURCBhdHRyaWJ1dGUgbGlzdC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J3dyaXRlcicgdHlwZT0neG1sVGV4dFdyaXRlclB0cicgaW5mbz0ndGhlIHhtbFRleHRXcml0ZXJQdHInLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxUZXh0V3JpdGVyRW5kRFRERWxlbWVudCcgZmlsZT0neG1sd3JpdGVyJyBtb2R1bGU9J3htbHdyaXRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5FbmQgYW4geG1sIERURCBlbGVtZW50LjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0nd3JpdGVyJyB0eXBlPSd4bWxUZXh0V3JpdGVyUHRyJyBpbmZvPSd0aGUgeG1sVGV4dFdyaXRlclB0cicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFRleHRXcml0ZXJFbmREVERFbnRpdHknIGZpbGU9J3htbHdyaXRlcicgbW9kdWxlPSd4bWx3cml0ZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+RW5kIGFuIHhtbCBEVEQgZW50aXR5LjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0nd3JpdGVyJyB0eXBlPSd4bWxUZXh0V3JpdGVyUHRyJyBpbmZvPSd0aGUgeG1sVGV4dFdyaXRlclB0cicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFRleHRXcml0ZXJFbmREb2N1bWVudCcgZmlsZT0neG1sd3JpdGVyJyBtb2R1bGU9J3htbHdyaXRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5FbmQgYW4geG1sIGRvY3VtZW50LiBBbGwgb3BlbiBlbGVtZW50cyBhcmUgY2xvc2VkLCBhbmQgdGhlIGNvbnRlbnQgaXMgZmx1c2hlZCB0byB0aGUgb3V0cHV0LjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgYnl0ZXMgd3JpdHRlbiBvciAtMSBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J3dyaXRlcicgdHlwZT0neG1sVGV4dFdyaXRlclB0cicgaW5mbz0ndGhlIHhtbFRleHRXcml0ZXJQdHInLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxUZXh0V3JpdGVyRW5kRWxlbWVudCcgZmlsZT0neG1sd3JpdGVyJyBtb2R1bGU9J3htbHdyaXRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5FbmQgdGhlIGN1cnJlbnQgeG1sIGVsZW1lbnQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J3RoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSd3cml0ZXInIHR5cGU9J3htbFRleHRXcml0ZXJQdHInIGluZm89J3RoZSB4bWxUZXh0V3JpdGVyUHRyJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVGV4dFdyaXRlckVuZFBJJyBmaWxlPSd4bWx3cml0ZXInIG1vZHVsZT0neG1sd3JpdGVyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkVuZCB0aGUgY3VycmVudCB4bWwgUEkuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J3RoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSd3cml0ZXInIHR5cGU9J3htbFRleHRXcml0ZXJQdHInIGluZm89J3RoZSB4bWxUZXh0V3JpdGVyUHRyJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVGV4dFdyaXRlckZsdXNoJyBmaWxlPSd4bWx3cml0ZXInIG1vZHVsZT0neG1sd3JpdGVyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkZsdXNoIHRoZSBvdXRwdXQgYnVmZmVyLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0nd3JpdGVyJyB0eXBlPSd4bWxUZXh0V3JpdGVyUHRyJyBpbmZvPSd0aGUgeG1sVGV4dFdyaXRlclB0cicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFRleHRXcml0ZXJGdWxsRW5kRWxlbWVudCcgZmlsZT0neG1sd3JpdGVyJyBtb2R1bGU9J3htbHdyaXRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5FbmQgdGhlIGN1cnJlbnQgeG1sIGVsZW1lbnQuIFdyaXRlcyBhbiBlbmQgdGFnIGV2ZW4gaWYgdGhlIGVsZW1lbnQgaXMgZW1wdHk8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J3dyaXRlcicgdHlwZT0neG1sVGV4dFdyaXRlclB0cicgaW5mbz0ndGhlIHhtbFRleHRXcml0ZXJQdHInLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxUZXh0V3JpdGVyU2V0SW5kZW50JyBmaWxlPSd4bWx3cml0ZXInIG1vZHVsZT0neG1sd3JpdGVyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlNldCBpbmRlbnRhdGlvbiBvdXRwdXQuIGluZGVudCA9IDAgZG8gbm90IGluZGVudGF0aW9uLiBpbmRlbnQgJmd0OyAwIGRvIGluZGVudGF0aW9uLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSctMSBvbiBlcnJvciBvciAwIG90aGVyd2lzZS4nLz4KKyAgICAgIDxhcmcgbmFtZT0nd3JpdGVyJyB0eXBlPSd4bWxUZXh0V3JpdGVyUHRyJyBpbmZvPSd0aGUgeG1sVGV4dFdyaXRlclB0cicvPgorICAgICAgPGFyZyBuYW1lPSdpbmRlbnQnIHR5cGU9J2ludCcgaW5mbz0nZG8gaW5kZW50YXRpb24/Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVGV4dFdyaXRlclNldEluZGVudFN0cmluZycgZmlsZT0neG1sd3JpdGVyJyBtb2R1bGU9J3htbHdyaXRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5TZXQgc3RyaW5nIGluZGVudGF0aW9uLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSctMSBvbiBlcnJvciBvciAwIG90aGVyd2lzZS4nLz4KKyAgICAgIDxhcmcgbmFtZT0nd3JpdGVyJyB0eXBlPSd4bWxUZXh0V3JpdGVyUHRyJyBpbmZvPSd0aGUgeG1sVGV4dFdyaXRlclB0cicvPgorICAgICAgPGFyZyBuYW1lPSdzdHInIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIHhtbENoYXIgc3RyaW5nJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVGV4dFdyaXRlclNldFF1b3RlQ2hhcicgZmlsZT0neG1sd3JpdGVyJyBtb2R1bGU9J3htbHdyaXRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5TZXQgdGhlIGNoYXJhY3RlciB1c2VkIGZvciBxdW90aW5nIGF0dHJpYnV0ZXMuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89Jy0xIG9uIGVycm9yIG9yIDAgb3RoZXJ3aXNlLicvPgorICAgICAgPGFyZyBuYW1lPSd3cml0ZXInIHR5cGU9J3htbFRleHRXcml0ZXJQdHInIGluZm89J3RoZSB4bWxUZXh0V3JpdGVyUHRyJy8+CisgICAgICA8YXJnIG5hbWU9J3F1b3RlY2hhcicgdHlwZT0neG1sQ2hhcicgaW5mbz0ndGhlIHF1b3RlIGNoYXJhY3RlcicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFRleHRXcml0ZXJTdGFydEF0dHJpYnV0ZScgZmlsZT0neG1sd3JpdGVyJyBtb2R1bGU9J3htbHdyaXRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5TdGFydCBhbiB4bWwgYXR0cmlidXRlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0nd3JpdGVyJyB0eXBlPSd4bWxUZXh0V3JpdGVyUHRyJyBpbmZvPSd0aGUgeG1sVGV4dFdyaXRlclB0cicvPgorICAgICAgPGFyZyBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J2VsZW1lbnQgbmFtZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFRleHRXcml0ZXJTdGFydEF0dHJpYnV0ZU5TJyBmaWxlPSd4bWx3cml0ZXInIG1vZHVsZT0neG1sd3JpdGVyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlN0YXJ0IGFuIHhtbCBhdHRyaWJ1dGUgd2l0aCBuYW1lc3BhY2Ugc3VwcG9ydC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J3dyaXRlcicgdHlwZT0neG1sVGV4dFdyaXRlclB0cicgaW5mbz0ndGhlIHhtbFRleHRXcml0ZXJQdHInLz4KKyAgICAgIDxhcmcgbmFtZT0ncHJlZml4JyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J25hbWVzcGFjZSBwcmVmaXggb3IgTlVMTCcvPgorICAgICAgPGFyZyBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J2VsZW1lbnQgbG9jYWwgbmFtZScvPgorICAgICAgPGFyZyBuYW1lPSduYW1lc3BhY2VVUkknIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nbmFtZXNwYWNlIFVSSSBvciBOVUxMJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVGV4dFdyaXRlclN0YXJ0Q0RBVEEnIGZpbGU9J3htbHdyaXRlcicgbW9kdWxlPSd4bWx3cml0ZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+U3RhcnQgYW4geG1sIENEQVRBIHNlY3Rpb24uPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J3RoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSd3cml0ZXInIHR5cGU9J3htbFRleHRXcml0ZXJQdHInIGluZm89J3RoZSB4bWxUZXh0V3JpdGVyUHRyJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVGV4dFdyaXRlclN0YXJ0Q29tbWVudCcgZmlsZT0neG1sd3JpdGVyJyBtb2R1bGU9J3htbHdyaXRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5TdGFydCBhbiB4bWwgY29tbWVudC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J3dyaXRlcicgdHlwZT0neG1sVGV4dFdyaXRlclB0cicgaW5mbz0ndGhlIHhtbFRleHRXcml0ZXJQdHInLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxUZXh0V3JpdGVyU3RhcnREVEQnIGZpbGU9J3htbHdyaXRlcicgbW9kdWxlPSd4bWx3cml0ZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+U3RhcnQgYW4geG1sIERURC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J3dyaXRlcicgdHlwZT0neG1sVGV4dFdyaXRlclB0cicgaW5mbz0ndGhlIHhtbFRleHRXcml0ZXJQdHInLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFtZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgbmFtZSBvZiB0aGUgRFREJy8+CisgICAgICA8YXJnIG5hbWU9J3B1YmlkJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBwdWJsaWMgaWRlbnRpZmllciwgd2hpY2ggaXMgYW4gYWx0ZXJuYXRpdmUgdG8gdGhlIHN5c3RlbSBpZGVudGlmaWVyJy8+CisgICAgICA8YXJnIG5hbWU9J3N5c2lkJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBzeXN0ZW0gaWRlbnRpZmllciwgd2hpY2ggaXMgdGhlIFVSSSBvZiB0aGUgRFREJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVGV4dFdyaXRlclN0YXJ0RFREQXR0bGlzdCcgZmlsZT0neG1sd3JpdGVyJyBtb2R1bGU9J3htbHdyaXRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5TdGFydCBhbiB4bWwgRFREIEFUVExJU1QuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J3RoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSd3cml0ZXInIHR5cGU9J3htbFRleHRXcml0ZXJQdHInIGluZm89J3RoZSB4bWxUZXh0V3JpdGVyUHRyJy8+CisgICAgICA8YXJnIG5hbWU9J25hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIG5hbWUgb2YgdGhlIERURCBBVFRMSVNUJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVGV4dFdyaXRlclN0YXJ0RFRERWxlbWVudCcgZmlsZT0neG1sd3JpdGVyJyBtb2R1bGU9J3htbHdyaXRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5TdGFydCBhbiB4bWwgRFREIGVsZW1lbnQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J3RoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSd3cml0ZXInIHR5cGU9J3htbFRleHRXcml0ZXJQdHInIGluZm89J3RoZSB4bWxUZXh0V3JpdGVyUHRyJy8+CisgICAgICA8YXJnIG5hbWU9J25hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIG5hbWUgb2YgdGhlIERURCBlbGVtZW50Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVGV4dFdyaXRlclN0YXJ0RFRERW50aXR5JyBmaWxlPSd4bWx3cml0ZXInIG1vZHVsZT0neG1sd3JpdGVyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlN0YXJ0IGFuIHhtbCBEVEQgQVRUTElTVC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J3dyaXRlcicgdHlwZT0neG1sVGV4dFdyaXRlclB0cicgaW5mbz0ndGhlIHhtbFRleHRXcml0ZXJQdHInLz4KKyAgICAgIDxhcmcgbmFtZT0ncGUnIHR5cGU9J2ludCcgaW5mbz0nVFJVRSBpZiB0aGlzIGlzIGEgcGFyYW1ldGVyIGVudGl0eSwgRkFMU0UgaWYgbm90Jy8+CisgICAgICA8YXJnIG5hbWU9J25hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIG5hbWUgb2YgdGhlIERURCBBVFRMSVNUJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVGV4dFdyaXRlclN0YXJ0RG9jdW1lbnQnIGZpbGU9J3htbHdyaXRlcicgbW9kdWxlPSd4bWx3cml0ZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+U3RhcnQgYSBuZXcgeG1sIGRvY3VtZW50PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J3RoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSd3cml0ZXInIHR5cGU9J3htbFRleHRXcml0ZXJQdHInIGluZm89J3RoZSB4bWxUZXh0V3JpdGVyUHRyJy8+CisgICAgICA8YXJnIG5hbWU9J3ZlcnNpb24nIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIHhtbCB2ZXJzaW9uICgmcXVvdDsxLjAmcXVvdDspIG9yIE5VTEwgZm9yIGRlZmF1bHQgKCZxdW90OzEuMCZxdW90OyknLz4KKyAgICAgIDxhcmcgbmFtZT0nZW5jb2RpbmcnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIGVuY29kaW5nIG9yIE5VTEwgZm9yIGRlZmF1bHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nc3RhbmRhbG9uZScgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPScmcXVvdDt5ZXMmcXVvdDsgb3IgJnF1b3Q7bm8mcXVvdDsgb3IgTlVMTCBmb3IgZGVmYXVsdCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFRleHRXcml0ZXJTdGFydEVsZW1lbnQnIGZpbGU9J3htbHdyaXRlcicgbW9kdWxlPSd4bWx3cml0ZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+U3RhcnQgYW4geG1sIGVsZW1lbnQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J3RoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSd3cml0ZXInIHR5cGU9J3htbFRleHRXcml0ZXJQdHInIGluZm89J3RoZSB4bWxUZXh0V3JpdGVyUHRyJy8+CisgICAgICA8YXJnIG5hbWU9J25hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nZWxlbWVudCBuYW1lJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVGV4dFdyaXRlclN0YXJ0RWxlbWVudE5TJyBmaWxlPSd4bWx3cml0ZXInIG1vZHVsZT0neG1sd3JpdGVyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlN0YXJ0IGFuIHhtbCBlbGVtZW50IHdpdGggbmFtZXNwYWNlIHN1cHBvcnQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J3RoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSd3cml0ZXInIHR5cGU9J3htbFRleHRXcml0ZXJQdHInIGluZm89J3RoZSB4bWxUZXh0V3JpdGVyUHRyJy8+CisgICAgICA8YXJnIG5hbWU9J3ByZWZpeCcgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSduYW1lc3BhY2UgcHJlZml4IG9yIE5VTEwnLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFtZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSdlbGVtZW50IGxvY2FsIG5hbWUnLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFtZXNwYWNlVVJJJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J25hbWVzcGFjZSBVUkkgb3IgTlVMTCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFRleHRXcml0ZXJTdGFydFBJJyBmaWxlPSd4bWx3cml0ZXInIG1vZHVsZT0neG1sd3JpdGVyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlN0YXJ0IGFuIHhtbCBQSS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J3dyaXRlcicgdHlwZT0neG1sVGV4dFdyaXRlclB0cicgaW5mbz0ndGhlIHhtbFRleHRXcml0ZXJQdHInLz4KKyAgICAgIDxhcmcgbmFtZT0ndGFyZ2V0JyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J1BJIHRhcmdldCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZUF0dHJpYnV0ZScgZmlsZT0neG1sd3JpdGVyJyBtb2R1bGU9J3htbHdyaXRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5Xcml0ZSBhbiB4bWwgYXR0cmlidXRlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0nd3JpdGVyJyB0eXBlPSd4bWxUZXh0V3JpdGVyUHRyJyBpbmZvPSd0aGUgeG1sVGV4dFdyaXRlclB0cicvPgorICAgICAgPGFyZyBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J2F0dHJpYnV0ZSBuYW1lJy8+CisgICAgICA8YXJnIG5hbWU9J2NvbnRlbnQnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nYXR0cmlidXRlIGNvbnRlbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVBdHRyaWJ1dGVOUycgZmlsZT0neG1sd3JpdGVyJyBtb2R1bGU9J3htbHdyaXRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5Xcml0ZSBhbiB4bWwgYXR0cmlidXRlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0nd3JpdGVyJyB0eXBlPSd4bWxUZXh0V3JpdGVyUHRyJyBpbmZvPSd0aGUgeG1sVGV4dFdyaXRlclB0cicvPgorICAgICAgPGFyZyBuYW1lPSdwcmVmaXgnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nbmFtZXNwYWNlIHByZWZpeCcvPgorICAgICAgPGFyZyBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J2F0dHJpYnV0ZSBsb2NhbCBuYW1lJy8+CisgICAgICA8YXJnIG5hbWU9J25hbWVzcGFjZVVSSScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSduYW1lc3BhY2UgVVJJJy8+CisgICAgICA8YXJnIG5hbWU9J2NvbnRlbnQnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nYXR0cmlidXRlIGNvbnRlbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVCYXNlNjQnIGZpbGU9J3htbHdyaXRlcicgbW9kdWxlPSd4bWx3cml0ZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+V3JpdGUgYW4gYmFzZTY0IGVuY29kZWQgeG1sIHRleHQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J3RoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSd3cml0ZXInIHR5cGU9J3htbFRleHRXcml0ZXJQdHInIGluZm89J3RoZSB4bWxUZXh0V3JpdGVyUHRyJy8+CisgICAgICA8YXJnIG5hbWU9J2RhdGEnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0nYmluYXJ5IGRhdGEnLz4KKyAgICAgIDxhcmcgbmFtZT0nc3RhcnQnIHR5cGU9J2ludCcgaW5mbz0ndGhlIHBvc2l0aW9uIHdpdGhpbiB0aGUgZGF0YSBvZiB0aGUgZmlyc3QgYnl0ZSB0byBlbmNvZGUnLz4KKyAgICAgIDxhcmcgbmFtZT0nbGVuJyB0eXBlPSdpbnQnIGluZm89J3RoZSBudW1iZXIgb2YgYnl0ZXMgdG8gZW5jb2RlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlQmluSGV4JyBmaWxlPSd4bWx3cml0ZXInIG1vZHVsZT0neG1sd3JpdGVyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPldyaXRlIGEgQmluSGV4IGVuY29kZWQgeG1sIHRleHQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J3RoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSd3cml0ZXInIHR5cGU9J3htbFRleHRXcml0ZXJQdHInIGluZm89J3RoZSB4bWxUZXh0V3JpdGVyUHRyJy8+CisgICAgICA8YXJnIG5hbWU9J2RhdGEnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0nYmluYXJ5IGRhdGEnLz4KKyAgICAgIDxhcmcgbmFtZT0nc3RhcnQnIHR5cGU9J2ludCcgaW5mbz0ndGhlIHBvc2l0aW9uIHdpdGhpbiB0aGUgZGF0YSBvZiB0aGUgZmlyc3QgYnl0ZSB0byBlbmNvZGUnLz4KKyAgICAgIDxhcmcgbmFtZT0nbGVuJyB0eXBlPSdpbnQnIGluZm89J3RoZSBudW1iZXIgb2YgYnl0ZXMgdG8gZW5jb2RlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlQ0RBVEEnIGZpbGU9J3htbHdyaXRlcicgbW9kdWxlPSd4bWx3cml0ZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+V3JpdGUgYW4geG1sIENEQVRBLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0nd3JpdGVyJyB0eXBlPSd4bWxUZXh0V3JpdGVyUHRyJyBpbmZvPSd0aGUgeG1sVGV4dFdyaXRlclB0cicvPgorICAgICAgPGFyZyBuYW1lPSdjb250ZW50JyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J0NEQVRBIGNvbnRlbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVDb21tZW50JyBmaWxlPSd4bWx3cml0ZXInIG1vZHVsZT0neG1sd3JpdGVyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPldyaXRlIGFuIHhtbCBjb21tZW50LjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0nd3JpdGVyJyB0eXBlPSd4bWxUZXh0V3JpdGVyUHRyJyBpbmZvPSd0aGUgeG1sVGV4dFdyaXRlclB0cicvPgorICAgICAgPGFyZyBuYW1lPSdjb250ZW50JyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J2NvbW1lbnQgc3RyaW5nJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRFREJyBmaWxlPSd4bWx3cml0ZXInIG1vZHVsZT0neG1sd3JpdGVyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPldyaXRlIGEgRFRELjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0nd3JpdGVyJyB0eXBlPSd4bWxUZXh0V3JpdGVyUHRyJyBpbmZvPSd0aGUgeG1sVGV4dFdyaXRlclB0cicvPgorICAgICAgPGFyZyBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBuYW1lIG9mIHRoZSBEVEQnLz4KKyAgICAgIDxhcmcgbmFtZT0ncHViaWQnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIHB1YmxpYyBpZGVudGlmaWVyLCB3aGljaCBpcyBhbiBhbHRlcm5hdGl2ZSB0byB0aGUgc3lzdGVtIGlkZW50aWZpZXInLz4KKyAgICAgIDxhcmcgbmFtZT0nc3lzaWQnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIHN5c3RlbSBpZGVudGlmaWVyLCB3aGljaCBpcyB0aGUgVVJJIG9mIHRoZSBEVEQnLz4KKyAgICAgIDxhcmcgbmFtZT0nc3Vic2V0JyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3N0cmluZyBjb250ZW50IG9mIHRoZSBEVEQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVEVERBdHRsaXN0JyBmaWxlPSd4bWx3cml0ZXInIG1vZHVsZT0neG1sd3JpdGVyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPldyaXRlIGEgRFREIEFUVExJU1QuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J3RoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSd3cml0ZXInIHR5cGU9J3htbFRleHRXcml0ZXJQdHInIGluZm89J3RoZSB4bWxUZXh0V3JpdGVyUHRyJy8+CisgICAgICA8YXJnIG5hbWU9J25hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIG5hbWUgb2YgdGhlIERURCBBVFRMSVNUJy8+CisgICAgICA8YXJnIG5hbWU9J2NvbnRlbnQnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nY29udGVudCBvZiB0aGUgQVRUTElTVCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZURUREVsZW1lbnQnIGZpbGU9J3htbHdyaXRlcicgbW9kdWxlPSd4bWx3cml0ZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+V3JpdGUgYSBEVEQgZWxlbWVudC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J3dyaXRlcicgdHlwZT0neG1sVGV4dFdyaXRlclB0cicgaW5mbz0ndGhlIHhtbFRleHRXcml0ZXJQdHInLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFtZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgbmFtZSBvZiB0aGUgRFREIGVsZW1lbnQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29udGVudCcgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSdjb250ZW50IG9mIHRoZSBlbGVtZW50Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRFRERW50aXR5JyBmaWxlPSd4bWx3cml0ZXInIG1vZHVsZT0neG1sd3JpdGVyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPldyaXRlIGEgRFREIGVudGl0eS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J3dyaXRlcicgdHlwZT0neG1sVGV4dFdyaXRlclB0cicgaW5mbz0ndGhlIHhtbFRleHRXcml0ZXJQdHInLz4KKyAgICAgIDxhcmcgbmFtZT0ncGUnIHR5cGU9J2ludCcgaW5mbz0nVFJVRSBpZiB0aGlzIGlzIGEgcGFyYW1ldGVyIGVudGl0eSwgRkFMU0UgaWYgbm90Jy8+CisgICAgICA8YXJnIG5hbWU9J25hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIG5hbWUgb2YgdGhlIERURCBlbnRpdHknLz4KKyAgICAgIDxhcmcgbmFtZT0ncHViaWQnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIHB1YmxpYyBpZGVudGlmaWVyLCB3aGljaCBpcyBhbiBhbHRlcm5hdGl2ZSB0byB0aGUgc3lzdGVtIGlkZW50aWZpZXInLz4KKyAgICAgIDxhcmcgbmFtZT0nc3lzaWQnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIHN5c3RlbSBpZGVudGlmaWVyLCB3aGljaCBpcyB0aGUgVVJJIG9mIHRoZSBEVEQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbmRhdGFpZCcgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgeG1sIG5vdGF0aW9uIG5hbWUuJy8+CisgICAgICA8YXJnIG5hbWU9J2NvbnRlbnQnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nY29udGVudCBvZiB0aGUgZW50aXR5Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRFRERXh0ZXJuYWxFbnRpdHknIGZpbGU9J3htbHdyaXRlcicgbW9kdWxlPSd4bWx3cml0ZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+V3JpdGUgYSBEVEQgZXh0ZXJuYWwgZW50aXR5LiBUaGUgZW50aXR5IG11c3QgaGF2ZSBiZWVuIHN0YXJ0ZWQgd2l0aCB4bWxUZXh0V3JpdGVyU3RhcnREVERFbnRpdHk8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J3dyaXRlcicgdHlwZT0neG1sVGV4dFdyaXRlclB0cicgaW5mbz0ndGhlIHhtbFRleHRXcml0ZXJQdHInLz4KKyAgICAgIDxhcmcgbmFtZT0ncGUnIHR5cGU9J2ludCcgaW5mbz0nVFJVRSBpZiB0aGlzIGlzIGEgcGFyYW1ldGVyIGVudGl0eSwgRkFMU0UgaWYgbm90Jy8+CisgICAgICA8YXJnIG5hbWU9J25hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIG5hbWUgb2YgdGhlIERURCBlbnRpdHknLz4KKyAgICAgIDxhcmcgbmFtZT0ncHViaWQnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIHB1YmxpYyBpZGVudGlmaWVyLCB3aGljaCBpcyBhbiBhbHRlcm5hdGl2ZSB0byB0aGUgc3lzdGVtIGlkZW50aWZpZXInLz4KKyAgICAgIDxhcmcgbmFtZT0nc3lzaWQnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIHN5c3RlbSBpZGVudGlmaWVyLCB3aGljaCBpcyB0aGUgVVJJIG9mIHRoZSBEVEQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbmRhdGFpZCcgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgeG1sIG5vdGF0aW9uIG5hbWUuJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRFRERXh0ZXJuYWxFbnRpdHlDb250ZW50cycgZmlsZT0neG1sd3JpdGVyJyBtb2R1bGU9J3htbHdyaXRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5Xcml0ZSB0aGUgY29udGVudHMgb2YgYSBEVEQgZXh0ZXJuYWwgZW50aXR5LjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0nd3JpdGVyJyB0eXBlPSd4bWxUZXh0V3JpdGVyUHRyJyBpbmZvPSd0aGUgeG1sVGV4dFdyaXRlclB0cicvPgorICAgICAgPGFyZyBuYW1lPSdwdWJpZCcgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgcHVibGljIGlkZW50aWZpZXIsIHdoaWNoIGlzIGFuIGFsdGVybmF0aXZlIHRvIHRoZSBzeXN0ZW0gaWRlbnRpZmllcicvPgorICAgICAgPGFyZyBuYW1lPSdzeXNpZCcgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgc3lzdGVtIGlkZW50aWZpZXIsIHdoaWNoIGlzIHRoZSBVUkkgb2YgdGhlIERURCcvPgorICAgICAgPGFyZyBuYW1lPSduZGF0YWlkJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSB4bWwgbm90YXRpb24gbmFtZS4nLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVEVERJbnRlcm5hbEVudGl0eScgZmlsZT0neG1sd3JpdGVyJyBtb2R1bGU9J3htbHdyaXRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5Xcml0ZSBhIERURCBpbnRlcm5hbCBlbnRpdHkuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J3RoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSd3cml0ZXInIHR5cGU9J3htbFRleHRXcml0ZXJQdHInIGluZm89J3RoZSB4bWxUZXh0V3JpdGVyUHRyJy8+CisgICAgICA8YXJnIG5hbWU9J3BlJyB0eXBlPSdpbnQnIGluZm89J1RSVUUgaWYgdGhpcyBpcyBhIHBhcmFtZXRlciBlbnRpdHksIEZBTFNFIGlmIG5vdCcvPgorICAgICAgPGFyZyBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBuYW1lIG9mIHRoZSBEVEQgZW50aXR5Jy8+CisgICAgICA8YXJnIG5hbWU9J2NvbnRlbnQnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nY29udGVudCBvZiB0aGUgZW50aXR5Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRFRETm90YXRpb24nIGZpbGU9J3htbHdyaXRlcicgbW9kdWxlPSd4bWx3cml0ZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+V3JpdGUgYSBEVEQgZW50aXR5LjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0nd3JpdGVyJyB0eXBlPSd4bWxUZXh0V3JpdGVyUHRyJyBpbmZvPSd0aGUgeG1sVGV4dFdyaXRlclB0cicvPgorICAgICAgPGFyZyBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBuYW1lIG9mIHRoZSB4bWwgbm90YXRpb24nLz4KKyAgICAgIDxhcmcgbmFtZT0ncHViaWQnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIHB1YmxpYyBpZGVudGlmaWVyLCB3aGljaCBpcyBhbiBhbHRlcm5hdGl2ZSB0byB0aGUgc3lzdGVtIGlkZW50aWZpZXInLz4KKyAgICAgIDxhcmcgbmFtZT0nc3lzaWQnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIHN5c3RlbSBpZGVudGlmaWVyLCB3aGljaCBpcyB0aGUgVVJJIG9mIHRoZSBEVEQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVFbGVtZW50JyBmaWxlPSd4bWx3cml0ZXInIG1vZHVsZT0neG1sd3JpdGVyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPldyaXRlIGFuIHhtbCBlbGVtZW50LjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0nd3JpdGVyJyB0eXBlPSd4bWxUZXh0V3JpdGVyUHRyJyBpbmZvPSd0aGUgeG1sVGV4dFdyaXRlclB0cicvPgorICAgICAgPGFyZyBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J2VsZW1lbnQgbmFtZScvPgorICAgICAgPGFyZyBuYW1lPSdjb250ZW50JyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J2VsZW1lbnQgY29udGVudCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZUVsZW1lbnROUycgZmlsZT0neG1sd3JpdGVyJyBtb2R1bGU9J3htbHdyaXRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5Xcml0ZSBhbiB4bWwgZWxlbWVudCB3aXRoIG5hbWVzcGFjZSBzdXBwb3J0LjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0nd3JpdGVyJyB0eXBlPSd4bWxUZXh0V3JpdGVyUHRyJyBpbmZvPSd0aGUgeG1sVGV4dFdyaXRlclB0cicvPgorICAgICAgPGFyZyBuYW1lPSdwcmVmaXgnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nbmFtZXNwYWNlIHByZWZpeCcvPgorICAgICAgPGFyZyBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J2VsZW1lbnQgbG9jYWwgbmFtZScvPgorICAgICAgPGFyZyBuYW1lPSduYW1lc3BhY2VVUkknIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nbmFtZXNwYWNlIFVSSScvPgorICAgICAgPGFyZyBuYW1lPSdjb250ZW50JyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J2VsZW1lbnQgY29udGVudCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdEF0dHJpYnV0ZScgZmlsZT0neG1sd3JpdGVyJyBtb2R1bGU9J3htbHdyaXRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5Xcml0ZSBhIGZvcm1hdHRlZCB4bWwgYXR0cmlidXRlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0nd3JpdGVyJyB0eXBlPSd4bWxUZXh0V3JpdGVyUHRyJyBpbmZvPSd0aGUgeG1sVGV4dFdyaXRlclB0cicvPgorICAgICAgPGFyZyBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J2F0dHJpYnV0ZSBuYW1lJy8+CisgICAgICA8YXJnIG5hbWU9J2Zvcm1hdCcgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSdmb3JtYXQgc3RyaW5nIChzZWUgcHJpbnRmKScvPgorICAgICAgPGFyZyBuYW1lPScuLi4nIHR5cGU9Jy4uLicgaW5mbz0nZXh0cmEgcGFyYW1ldGVycyBmb3IgdGhlIGZvcm1hdCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdEF0dHJpYnV0ZU5TJyBmaWxlPSd4bWx3cml0ZXInIG1vZHVsZT0neG1sd3JpdGVyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPldyaXRlIGEgZm9ybWF0dGVkIHhtbCBhdHRyaWJ1dGUud2l0aCBuYW1lc3BhY2Ugc3VwcG9ydDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0nd3JpdGVyJyB0eXBlPSd4bWxUZXh0V3JpdGVyUHRyJyBpbmZvPSd0aGUgeG1sVGV4dFdyaXRlclB0cicvPgorICAgICAgPGFyZyBuYW1lPSdwcmVmaXgnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nbmFtZXNwYWNlIHByZWZpeCcvPgorICAgICAgPGFyZyBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J2F0dHJpYnV0ZSBsb2NhbCBuYW1lJy8+CisgICAgICA8YXJnIG5hbWU9J25hbWVzcGFjZVVSSScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSduYW1lc3BhY2UgVVJJJy8+CisgICAgICA8YXJnIG5hbWU9J2Zvcm1hdCcgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSdmb3JtYXQgc3RyaW5nIChzZWUgcHJpbnRmKScvPgorICAgICAgPGFyZyBuYW1lPScuLi4nIHR5cGU9Jy4uLicgaW5mbz0nZXh0cmEgcGFyYW1ldGVycyBmb3IgdGhlIGZvcm1hdCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdENEQVRBJyBmaWxlPSd4bWx3cml0ZXInIG1vZHVsZT0neG1sd3JpdGVyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPldyaXRlIGEgZm9ybWF0dGVkIHhtbCBDREFUQS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J3dyaXRlcicgdHlwZT0neG1sVGV4dFdyaXRlclB0cicgaW5mbz0ndGhlIHhtbFRleHRXcml0ZXJQdHInLz4KKyAgICAgIDxhcmcgbmFtZT0nZm9ybWF0JyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J2Zvcm1hdCBzdHJpbmcgKHNlZSBwcmludGYpJy8+CisgICAgICA8YXJnIG5hbWU9Jy4uLicgdHlwZT0nLi4uJyBpbmZvPSdleHRyYSBwYXJhbWV0ZXJzIGZvciB0aGUgZm9ybWF0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0Q29tbWVudCcgZmlsZT0neG1sd3JpdGVyJyBtb2R1bGU9J3htbHdyaXRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5Xcml0ZSBhbiB4bWwgY29tbWVudC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J3dyaXRlcicgdHlwZT0neG1sVGV4dFdyaXRlclB0cicgaW5mbz0ndGhlIHhtbFRleHRXcml0ZXJQdHInLz4KKyAgICAgIDxhcmcgbmFtZT0nZm9ybWF0JyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J2Zvcm1hdCBzdHJpbmcgKHNlZSBwcmludGYpJy8+CisgICAgICA8YXJnIG5hbWU9Jy4uLicgdHlwZT0nLi4uJyBpbmZvPSdleHRyYSBwYXJhbWV0ZXJzIGZvciB0aGUgZm9ybWF0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFREJyBmaWxlPSd4bWx3cml0ZXInIG1vZHVsZT0neG1sd3JpdGVyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPldyaXRlIGEgRFREIHdpdGggYSBmb3JtYXR0ZWQgbWFya3VwIGRlY2xhcmF0aW9ucyBwYXJ0LjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0nd3JpdGVyJyB0eXBlPSd4bWxUZXh0V3JpdGVyUHRyJyBpbmZvPSd0aGUgeG1sVGV4dFdyaXRlclB0cicvPgorICAgICAgPGFyZyBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBuYW1lIG9mIHRoZSBEVEQnLz4KKyAgICAgIDxhcmcgbmFtZT0ncHViaWQnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIHB1YmxpYyBpZGVudGlmaWVyLCB3aGljaCBpcyBhbiBhbHRlcm5hdGl2ZSB0byB0aGUgc3lzdGVtIGlkZW50aWZpZXInLz4KKyAgICAgIDxhcmcgbmFtZT0nc3lzaWQnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIHN5c3RlbSBpZGVudGlmaWVyLCB3aGljaCBpcyB0aGUgVVJJIG9mIHRoZSBEVEQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZm9ybWF0JyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J2Zvcm1hdCBzdHJpbmcgKHNlZSBwcmludGYpJy8+CisgICAgICA8YXJnIG5hbWU9Jy4uLicgdHlwZT0nLi4uJyBpbmZvPSdleHRyYSBwYXJhbWV0ZXJzIGZvciB0aGUgZm9ybWF0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFREQXR0bGlzdCcgZmlsZT0neG1sd3JpdGVyJyBtb2R1bGU9J3htbHdyaXRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5Xcml0ZSBhIGZvcm1hdHRlZCBEVEQgQVRUTElTVC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J3dyaXRlcicgdHlwZT0neG1sVGV4dFdyaXRlclB0cicgaW5mbz0ndGhlIHhtbFRleHRXcml0ZXJQdHInLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFtZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgbmFtZSBvZiB0aGUgRFREIEFUVExJU1QnLz4KKyAgICAgIDxhcmcgbmFtZT0nZm9ybWF0JyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J2Zvcm1hdCBzdHJpbmcgKHNlZSBwcmludGYpJy8+CisgICAgICA8YXJnIG5hbWU9Jy4uLicgdHlwZT0nLi4uJyBpbmZvPSdleHRyYSBwYXJhbWV0ZXJzIGZvciB0aGUgZm9ybWF0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFRERWxlbWVudCcgZmlsZT0neG1sd3JpdGVyJyBtb2R1bGU9J3htbHdyaXRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5Xcml0ZSBhIGZvcm1hdHRlZCBEVEQgZWxlbWVudC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J3dyaXRlcicgdHlwZT0neG1sVGV4dFdyaXRlclB0cicgaW5mbz0ndGhlIHhtbFRleHRXcml0ZXJQdHInLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFtZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgbmFtZSBvZiB0aGUgRFREIGVsZW1lbnQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZm9ybWF0JyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J2Zvcm1hdCBzdHJpbmcgKHNlZSBwcmludGYpJy8+CisgICAgICA8YXJnIG5hbWU9Jy4uLicgdHlwZT0nLi4uJyBpbmZvPSdleHRyYSBwYXJhbWV0ZXJzIGZvciB0aGUgZm9ybWF0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFRESW50ZXJuYWxFbnRpdHknIGZpbGU9J3htbHdyaXRlcicgbW9kdWxlPSd4bWx3cml0ZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+V3JpdGUgYSBmb3JtYXR0ZWQgRFREIGludGVybmFsIGVudGl0eS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J3dyaXRlcicgdHlwZT0neG1sVGV4dFdyaXRlclB0cicgaW5mbz0ndGhlIHhtbFRleHRXcml0ZXJQdHInLz4KKyAgICAgIDxhcmcgbmFtZT0ncGUnIHR5cGU9J2ludCcgaW5mbz0nVFJVRSBpZiB0aGlzIGlzIGEgcGFyYW1ldGVyIGVudGl0eSwgRkFMU0UgaWYgbm90Jy8+CisgICAgICA8YXJnIG5hbWU9J25hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIG5hbWUgb2YgdGhlIERURCBlbnRpdHknLz4KKyAgICAgIDxhcmcgbmFtZT0nZm9ybWF0JyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J2Zvcm1hdCBzdHJpbmcgKHNlZSBwcmludGYpJy8+CisgICAgICA8YXJnIG5hbWU9Jy4uLicgdHlwZT0nLi4uJyBpbmZvPSdleHRyYSBwYXJhbWV0ZXJzIGZvciB0aGUgZm9ybWF0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RWxlbWVudCcgZmlsZT0neG1sd3JpdGVyJyBtb2R1bGU9J3htbHdyaXRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5Xcml0ZSBhIGZvcm1hdHRlZCB4bWwgZWxlbWVudC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J3dyaXRlcicgdHlwZT0neG1sVGV4dFdyaXRlclB0cicgaW5mbz0ndGhlIHhtbFRleHRXcml0ZXJQdHInLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFtZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSdlbGVtZW50IG5hbWUnLz4KKyAgICAgIDxhcmcgbmFtZT0nZm9ybWF0JyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J2Zvcm1hdCBzdHJpbmcgKHNlZSBwcmludGYpJy8+CisgICAgICA8YXJnIG5hbWU9Jy4uLicgdHlwZT0nLi4uJyBpbmZvPSdleHRyYSBwYXJhbWV0ZXJzIGZvciB0aGUgZm9ybWF0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RWxlbWVudE5TJyBmaWxlPSd4bWx3cml0ZXInIG1vZHVsZT0neG1sd3JpdGVyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPldyaXRlIGEgZm9ybWF0dGVkIHhtbCBlbGVtZW50IHdpdGggbmFtZXNwYWNlIHN1cHBvcnQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J3RoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSd3cml0ZXInIHR5cGU9J3htbFRleHRXcml0ZXJQdHInIGluZm89J3RoZSB4bWxUZXh0V3JpdGVyUHRyJy8+CisgICAgICA8YXJnIG5hbWU9J3ByZWZpeCcgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSduYW1lc3BhY2UgcHJlZml4Jy8+CisgICAgICA8YXJnIG5hbWU9J25hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nZWxlbWVudCBsb2NhbCBuYW1lJy8+CisgICAgICA8YXJnIG5hbWU9J25hbWVzcGFjZVVSSScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSduYW1lc3BhY2UgVVJJJy8+CisgICAgICA8YXJnIG5hbWU9J2Zvcm1hdCcgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSdmb3JtYXQgc3RyaW5nIChzZWUgcHJpbnRmKScvPgorICAgICAgPGFyZyBuYW1lPScuLi4nIHR5cGU9Jy4uLicgaW5mbz0nZXh0cmEgcGFyYW1ldGVycyBmb3IgdGhlIGZvcm1hdCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdFBJJyBmaWxlPSd4bWx3cml0ZXInIG1vZHVsZT0neG1sd3JpdGVyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPldyaXRlIGEgZm9ybWF0dGVkIFBJLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0nd3JpdGVyJyB0eXBlPSd4bWxUZXh0V3JpdGVyUHRyJyBpbmZvPSd0aGUgeG1sVGV4dFdyaXRlclB0cicvPgorICAgICAgPGFyZyBuYW1lPSd0YXJnZXQnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nUEkgdGFyZ2V0Jy8+CisgICAgICA8YXJnIG5hbWU9J2Zvcm1hdCcgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSdmb3JtYXQgc3RyaW5nIChzZWUgcHJpbnRmKScvPgorICAgICAgPGFyZyBuYW1lPScuLi4nIHR5cGU9Jy4uLicgaW5mbz0nZXh0cmEgcGFyYW1ldGVycyBmb3IgdGhlIGZvcm1hdCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdFJhdycgZmlsZT0neG1sd3JpdGVyJyBtb2R1bGU9J3htbHdyaXRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5Xcml0ZSBhIGZvcm1hdHRlZCByYXcgeG1sIHRleHQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J3RoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSd3cml0ZXInIHR5cGU9J3htbFRleHRXcml0ZXJQdHInIGluZm89J3RoZSB4bWxUZXh0V3JpdGVyUHRyJy8+CisgICAgICA8YXJnIG5hbWU9J2Zvcm1hdCcgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSdmb3JtYXQgc3RyaW5nIChzZWUgcHJpbnRmKScvPgorICAgICAgPGFyZyBuYW1lPScuLi4nIHR5cGU9Jy4uLicgaW5mbz0nZXh0cmEgcGFyYW1ldGVycyBmb3IgdGhlIGZvcm1hdCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdFN0cmluZycgZmlsZT0neG1sd3JpdGVyJyBtb2R1bGU9J3htbHdyaXRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5Xcml0ZSBhIGZvcm1hdHRlZCB4bWwgdGV4dC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J3dyaXRlcicgdHlwZT0neG1sVGV4dFdyaXRlclB0cicgaW5mbz0ndGhlIHhtbFRleHRXcml0ZXJQdHInLz4KKyAgICAgIDxhcmcgbmFtZT0nZm9ybWF0JyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J2Zvcm1hdCBzdHJpbmcgKHNlZSBwcmludGYpJy8+CisgICAgICA8YXJnIG5hbWU9Jy4uLicgdHlwZT0nLi4uJyBpbmZvPSdleHRyYSBwYXJhbWV0ZXJzIGZvciB0aGUgZm9ybWF0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlUEknIGZpbGU9J3htbHdyaXRlcicgbW9kdWxlPSd4bWx3cml0ZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+V3JpdGUgYW4geG1sIFBJLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0nd3JpdGVyJyB0eXBlPSd4bWxUZXh0V3JpdGVyUHRyJyBpbmZvPSd0aGUgeG1sVGV4dFdyaXRlclB0cicvPgorICAgICAgPGFyZyBuYW1lPSd0YXJnZXQnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nUEkgdGFyZ2V0Jy8+CisgICAgICA8YXJnIG5hbWU9J2NvbnRlbnQnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nUEkgY29udGVudCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZVJhdycgZmlsZT0neG1sd3JpdGVyJyBtb2R1bGU9J3htbHdyaXRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5Xcml0ZSBhIHJhdyB4bWwgdGV4dC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J3dyaXRlcicgdHlwZT0neG1sVGV4dFdyaXRlclB0cicgaW5mbz0ndGhlIHhtbFRleHRXcml0ZXJQdHInLz4KKyAgICAgIDxhcmcgbmFtZT0nY29udGVudCcgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0ZXh0IHN0cmluZycvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZVJhd0xlbicgZmlsZT0neG1sd3JpdGVyJyBtb2R1bGU9J3htbHdyaXRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5Xcml0ZSBhbiB4bWwgdGV4dC4gVE9ETzogd2hhdCBhYm91dCBlbnRpdGllcyBhbmQgc3BlY2lhbCBjaGFycz8/PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J3RoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSd3cml0ZXInIHR5cGU9J3htbFRleHRXcml0ZXJQdHInIGluZm89J3RoZSB4bWxUZXh0V3JpdGVyUHRyJy8+CisgICAgICA8YXJnIG5hbWU9J2NvbnRlbnQnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGV4dCBzdHJpbmcnLz4KKyAgICAgIDxhcmcgbmFtZT0nbGVuJyB0eXBlPSdpbnQnIGluZm89J2xlbmd0aCBvZiB0aGUgdGV4dCBzdHJpbmcnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVTdHJpbmcnIGZpbGU9J3htbHdyaXRlcicgbW9kdWxlPSd4bWx3cml0ZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+V3JpdGUgYW4geG1sIHRleHQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J3RoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSd3cml0ZXInIHR5cGU9J3htbFRleHRXcml0ZXJQdHInIGluZm89J3RoZSB4bWxUZXh0V3JpdGVyUHRyJy8+CisgICAgICA8YXJnIG5hbWU9J2NvbnRlbnQnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGV4dCBzdHJpbmcnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0QXR0cmlidXRlJyBmaWxlPSd4bWx3cml0ZXInIG1vZHVsZT0neG1sd3JpdGVyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPldyaXRlIGEgZm9ybWF0dGVkIHhtbCBhdHRyaWJ1dGUuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J3RoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSd3cml0ZXInIHR5cGU9J3htbFRleHRXcml0ZXJQdHInIGluZm89J3RoZSB4bWxUZXh0V3JpdGVyUHRyJy8+CisgICAgICA8YXJnIG5hbWU9J25hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nYXR0cmlidXRlIG5hbWUnLz4KKyAgICAgIDxhcmcgbmFtZT0nZm9ybWF0JyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J2Zvcm1hdCBzdHJpbmcgKHNlZSBwcmludGYpJy8+CisgICAgICA8YXJnIG5hbWU9J2FyZ3B0cicgdHlwZT0ndmFfbGlzdCcgaW5mbz0ncG9pbnRlciB0byB0aGUgZmlyc3QgbWVtYmVyIG9mIHRoZSB2YXJpYWJsZSBhcmd1bWVudCBsaXN0LicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRBdHRyaWJ1dGVOUycgZmlsZT0neG1sd3JpdGVyJyBtb2R1bGU9J3htbHdyaXRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5Xcml0ZSBhIGZvcm1hdHRlZCB4bWwgYXR0cmlidXRlLndpdGggbmFtZXNwYWNlIHN1cHBvcnQ8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J3dyaXRlcicgdHlwZT0neG1sVGV4dFdyaXRlclB0cicgaW5mbz0ndGhlIHhtbFRleHRXcml0ZXJQdHInLz4KKyAgICAgIDxhcmcgbmFtZT0ncHJlZml4JyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J25hbWVzcGFjZSBwcmVmaXgnLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFtZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSdhdHRyaWJ1dGUgbG9jYWwgbmFtZScvPgorICAgICAgPGFyZyBuYW1lPSduYW1lc3BhY2VVUkknIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nbmFtZXNwYWNlIFVSSScvPgorICAgICAgPGFyZyBuYW1lPSdmb3JtYXQnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0nZm9ybWF0IHN0cmluZyAoc2VlIHByaW50ZiknLz4KKyAgICAgIDxhcmcgbmFtZT0nYXJncHRyJyB0eXBlPSd2YV9saXN0JyBpbmZvPSdwb2ludGVyIHRvIHRoZSBmaXJzdCBtZW1iZXIgb2YgdGhlIHZhcmlhYmxlIGFyZ3VtZW50IGxpc3QuJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdENEQVRBJyBmaWxlPSd4bWx3cml0ZXInIG1vZHVsZT0neG1sd3JpdGVyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPldyaXRlIGEgZm9ybWF0dGVkIHhtbCBDREFUQS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J3dyaXRlcicgdHlwZT0neG1sVGV4dFdyaXRlclB0cicgaW5mbz0ndGhlIHhtbFRleHRXcml0ZXJQdHInLz4KKyAgICAgIDxhcmcgbmFtZT0nZm9ybWF0JyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J2Zvcm1hdCBzdHJpbmcgKHNlZSBwcmludGYpJy8+CisgICAgICA8YXJnIG5hbWU9J2FyZ3B0cicgdHlwZT0ndmFfbGlzdCcgaW5mbz0ncG9pbnRlciB0byB0aGUgZmlyc3QgbWVtYmVyIG9mIHRoZSB2YXJpYWJsZSBhcmd1bWVudCBsaXN0LicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRDb21tZW50JyBmaWxlPSd4bWx3cml0ZXInIG1vZHVsZT0neG1sd3JpdGVyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPldyaXRlIGFuIHhtbCBjb21tZW50LjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0nd3JpdGVyJyB0eXBlPSd4bWxUZXh0V3JpdGVyUHRyJyBpbmZvPSd0aGUgeG1sVGV4dFdyaXRlclB0cicvPgorICAgICAgPGFyZyBuYW1lPSdmb3JtYXQnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0nZm9ybWF0IHN0cmluZyAoc2VlIHByaW50ZiknLz4KKyAgICAgIDxhcmcgbmFtZT0nYXJncHRyJyB0eXBlPSd2YV9saXN0JyBpbmZvPSdwb2ludGVyIHRvIHRoZSBmaXJzdCBtZW1iZXIgb2YgdGhlIHZhcmlhYmxlIGFyZ3VtZW50IGxpc3QuJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERURCcgZmlsZT0neG1sd3JpdGVyJyBtb2R1bGU9J3htbHdyaXRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5Xcml0ZSBhIERURCB3aXRoIGEgZm9ybWF0dGVkIG1hcmt1cCBkZWNsYXJhdGlvbnMgcGFydC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J3dyaXRlcicgdHlwZT0neG1sVGV4dFdyaXRlclB0cicgaW5mbz0ndGhlIHhtbFRleHRXcml0ZXJQdHInLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFtZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgbmFtZSBvZiB0aGUgRFREJy8+CisgICAgICA8YXJnIG5hbWU9J3B1YmlkJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBwdWJsaWMgaWRlbnRpZmllciwgd2hpY2ggaXMgYW4gYWx0ZXJuYXRpdmUgdG8gdGhlIHN5c3RlbSBpZGVudGlmaWVyJy8+CisgICAgICA8YXJnIG5hbWU9J3N5c2lkJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBzeXN0ZW0gaWRlbnRpZmllciwgd2hpY2ggaXMgdGhlIFVSSSBvZiB0aGUgRFREJy8+CisgICAgICA8YXJnIG5hbWU9J2Zvcm1hdCcgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSdmb3JtYXQgc3RyaW5nIChzZWUgcHJpbnRmKScvPgorICAgICAgPGFyZyBuYW1lPSdhcmdwdHInIHR5cGU9J3ZhX2xpc3QnIGluZm89J3BvaW50ZXIgdG8gdGhlIGZpcnN0IG1lbWJlciBvZiB0aGUgdmFyaWFibGUgYXJndW1lbnQgbGlzdC4nLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFREQXR0bGlzdCcgZmlsZT0neG1sd3JpdGVyJyBtb2R1bGU9J3htbHdyaXRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5Xcml0ZSBhIGZvcm1hdHRlZCBEVEQgQVRUTElTVC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J3dyaXRlcicgdHlwZT0neG1sVGV4dFdyaXRlclB0cicgaW5mbz0ndGhlIHhtbFRleHRXcml0ZXJQdHInLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFtZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgbmFtZSBvZiB0aGUgRFREIEFUVExJU1QnLz4KKyAgICAgIDxhcmcgbmFtZT0nZm9ybWF0JyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J2Zvcm1hdCBzdHJpbmcgKHNlZSBwcmludGYpJy8+CisgICAgICA8YXJnIG5hbWU9J2FyZ3B0cicgdHlwZT0ndmFfbGlzdCcgaW5mbz0ncG9pbnRlciB0byB0aGUgZmlyc3QgbWVtYmVyIG9mIHRoZSB2YXJpYWJsZSBhcmd1bWVudCBsaXN0LicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVERFbGVtZW50JyBmaWxlPSd4bWx3cml0ZXInIG1vZHVsZT0neG1sd3JpdGVyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPldyaXRlIGEgZm9ybWF0dGVkIERURCBlbGVtZW50LjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0nd3JpdGVyJyB0eXBlPSd4bWxUZXh0V3JpdGVyUHRyJyBpbmZvPSd0aGUgeG1sVGV4dFdyaXRlclB0cicvPgorICAgICAgPGFyZyBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBuYW1lIG9mIHRoZSBEVEQgZWxlbWVudCcvPgorICAgICAgPGFyZyBuYW1lPSdmb3JtYXQnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0nZm9ybWF0IHN0cmluZyAoc2VlIHByaW50ZiknLz4KKyAgICAgIDxhcmcgbmFtZT0nYXJncHRyJyB0eXBlPSd2YV9saXN0JyBpbmZvPSdwb2ludGVyIHRvIHRoZSBmaXJzdCBtZW1iZXIgb2YgdGhlIHZhcmlhYmxlIGFyZ3VtZW50IGxpc3QuJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREludGVybmFsRW50aXR5JyBmaWxlPSd4bWx3cml0ZXInIG1vZHVsZT0neG1sd3JpdGVyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPldyaXRlIGEgZm9ybWF0dGVkIERURCBpbnRlcm5hbCBlbnRpdHkuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J3RoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSd3cml0ZXInIHR5cGU9J3htbFRleHRXcml0ZXJQdHInIGluZm89J3RoZSB4bWxUZXh0V3JpdGVyUHRyJy8+CisgICAgICA8YXJnIG5hbWU9J3BlJyB0eXBlPSdpbnQnIGluZm89J1RSVUUgaWYgdGhpcyBpcyBhIHBhcmFtZXRlciBlbnRpdHksIEZBTFNFIGlmIG5vdCcvPgorICAgICAgPGFyZyBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBuYW1lIG9mIHRoZSBEVEQgZW50aXR5Jy8+CisgICAgICA8YXJnIG5hbWU9J2Zvcm1hdCcgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSdmb3JtYXQgc3RyaW5nIChzZWUgcHJpbnRmKScvPgorICAgICAgPGFyZyBuYW1lPSdhcmdwdHInIHR5cGU9J3ZhX2xpc3QnIGluZm89J3BvaW50ZXIgdG8gdGhlIGZpcnN0IG1lbWJlciBvZiB0aGUgdmFyaWFibGUgYXJndW1lbnQgbGlzdC4nLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RWxlbWVudCcgZmlsZT0neG1sd3JpdGVyJyBtb2R1bGU9J3htbHdyaXRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5Xcml0ZSBhIGZvcm1hdHRlZCB4bWwgZWxlbWVudC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J3dyaXRlcicgdHlwZT0neG1sVGV4dFdyaXRlclB0cicgaW5mbz0ndGhlIHhtbFRleHRXcml0ZXJQdHInLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFtZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSdlbGVtZW50IG5hbWUnLz4KKyAgICAgIDxhcmcgbmFtZT0nZm9ybWF0JyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J2Zvcm1hdCBzdHJpbmcgKHNlZSBwcmludGYpJy8+CisgICAgICA8YXJnIG5hbWU9J2FyZ3B0cicgdHlwZT0ndmFfbGlzdCcgaW5mbz0ncG9pbnRlciB0byB0aGUgZmlyc3QgbWVtYmVyIG9mIHRoZSB2YXJpYWJsZSBhcmd1bWVudCBsaXN0LicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRFbGVtZW50TlMnIGZpbGU9J3htbHdyaXRlcicgbW9kdWxlPSd4bWx3cml0ZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+V3JpdGUgYSBmb3JtYXR0ZWQgeG1sIGVsZW1lbnQgd2l0aCBuYW1lc3BhY2Ugc3VwcG9ydC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J3dyaXRlcicgdHlwZT0neG1sVGV4dFdyaXRlclB0cicgaW5mbz0ndGhlIHhtbFRleHRXcml0ZXJQdHInLz4KKyAgICAgIDxhcmcgbmFtZT0ncHJlZml4JyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J25hbWVzcGFjZSBwcmVmaXgnLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFtZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSdlbGVtZW50IGxvY2FsIG5hbWUnLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFtZXNwYWNlVVJJJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J25hbWVzcGFjZSBVUkknLz4KKyAgICAgIDxhcmcgbmFtZT0nZm9ybWF0JyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J2Zvcm1hdCBzdHJpbmcgKHNlZSBwcmludGYpJy8+CisgICAgICA8YXJnIG5hbWU9J2FyZ3B0cicgdHlwZT0ndmFfbGlzdCcgaW5mbz0ncG9pbnRlciB0byB0aGUgZmlyc3QgbWVtYmVyIG9mIHRoZSB2YXJpYWJsZSBhcmd1bWVudCBsaXN0LicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRQSScgZmlsZT0neG1sd3JpdGVyJyBtb2R1bGU9J3htbHdyaXRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5Xcml0ZSBhIGZvcm1hdHRlZCB4bWwgUEkuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J3RoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSd3cml0ZXInIHR5cGU9J3htbFRleHRXcml0ZXJQdHInIGluZm89J3RoZSB4bWxUZXh0V3JpdGVyUHRyJy8+CisgICAgICA8YXJnIG5hbWU9J3RhcmdldCcgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSdQSSB0YXJnZXQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZm9ybWF0JyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J2Zvcm1hdCBzdHJpbmcgKHNlZSBwcmludGYpJy8+CisgICAgICA8YXJnIG5hbWU9J2FyZ3B0cicgdHlwZT0ndmFfbGlzdCcgaW5mbz0ncG9pbnRlciB0byB0aGUgZmlyc3QgbWVtYmVyIG9mIHRoZSB2YXJpYWJsZSBhcmd1bWVudCBsaXN0LicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRSYXcnIGZpbGU9J3htbHdyaXRlcicgbW9kdWxlPSd4bWx3cml0ZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+V3JpdGUgYSBmb3JtYXR0ZWQgcmF3IHhtbCB0ZXh0LjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0nd3JpdGVyJyB0eXBlPSd4bWxUZXh0V3JpdGVyUHRyJyBpbmZvPSd0aGUgeG1sVGV4dFdyaXRlclB0cicvPgorICAgICAgPGFyZyBuYW1lPSdmb3JtYXQnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0nZm9ybWF0IHN0cmluZyAoc2VlIHByaW50ZiknLz4KKyAgICAgIDxhcmcgbmFtZT0nYXJncHRyJyB0eXBlPSd2YV9saXN0JyBpbmZvPSdwb2ludGVyIHRvIHRoZSBmaXJzdCBtZW1iZXIgb2YgdGhlIHZhcmlhYmxlIGFyZ3VtZW50IGxpc3QuJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdFN0cmluZycgZmlsZT0neG1sd3JpdGVyJyBtb2R1bGU9J3htbHdyaXRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5Xcml0ZSBhIGZvcm1hdHRlZCB4bWwgdGV4dC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J3dyaXRlcicgdHlwZT0neG1sVGV4dFdyaXRlclB0cicgaW5mbz0ndGhlIHhtbFRleHRXcml0ZXJQdHInLz4KKyAgICAgIDxhcmcgbmFtZT0nZm9ybWF0JyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J2Zvcm1hdCBzdHJpbmcgKHNlZSBwcmludGYpJy8+CisgICAgICA8YXJnIG5hbWU9J2FyZ3B0cicgdHlwZT0ndmFfbGlzdCcgaW5mbz0ncG9pbnRlciB0byB0aGUgZmlyc3QgbWVtYmVyIG9mIHRoZSB2YXJpYWJsZSBhcmd1bWVudCBsaXN0LicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFRockRlZkJ1ZmZlckFsbG9jU2NoZW1lJyBmaWxlPSdnbG9iYWxzJyBtb2R1bGU9J2dsb2JhbHMnPgorICAgICAgPGluZm8+PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxCdWZmZXJBbGxvY2F0aW9uU2NoZW1lJyBpbmZvPScnLz4KKyAgICAgIDxhcmcgbmFtZT0ndicgdHlwZT0neG1sQnVmZmVyQWxsb2NhdGlvblNjaGVtZScgaW5mbz0nJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVGhyRGVmRGVmYXVsdEJ1ZmZlclNpemUnIGZpbGU9J2dsb2JhbHMnIG1vZHVsZT0nZ2xvYmFscyc+CisgICAgICA8aW5mbz48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nJy8+CisgICAgICA8YXJnIG5hbWU9J3YnIHR5cGU9J2ludCcgaW5mbz0nJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVGhyRGVmRGVyZWdpc3Rlck5vZGVEZWZhdWx0JyBmaWxlPSdnbG9iYWxzJyBtb2R1bGU9J2dsb2JhbHMnPgorICAgICAgPGluZm8+PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxEZXJlZ2lzdGVyTm9kZUZ1bmMnIGluZm89JycvPgorICAgICAgPGFyZyBuYW1lPSdmdW5jJyB0eXBlPSd4bWxEZXJlZ2lzdGVyTm9kZUZ1bmMnIGluZm89JycvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFRockRlZkRvVmFsaWRpdHlDaGVja2luZ0RlZmF1bHRWYWx1ZScgZmlsZT0nZ2xvYmFscycgbW9kdWxlPSdnbG9iYWxzJz4KKyAgICAgIDxpbmZvPjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScnLz4KKyAgICAgIDxhcmcgbmFtZT0ndicgdHlwZT0naW50JyBpbmZvPScnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxUaHJEZWZHZXRXYXJuaW5nc0RlZmF1bHRWYWx1ZScgZmlsZT0nZ2xvYmFscycgbW9kdWxlPSdnbG9iYWxzJz4KKyAgICAgIDxpbmZvPjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScnLz4KKyAgICAgIDxhcmcgbmFtZT0ndicgdHlwZT0naW50JyBpbmZvPScnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxUaHJEZWZJbmRlbnRUcmVlT3V0cHV0JyBmaWxlPSdnbG9iYWxzJyBtb2R1bGU9J2dsb2JhbHMnPgorICAgICAgPGluZm8+PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JycvPgorICAgICAgPGFyZyBuYW1lPSd2JyB0eXBlPSdpbnQnIGluZm89JycvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFRockRlZktlZXBCbGFua3NEZWZhdWx0VmFsdWUnIGZpbGU9J2dsb2JhbHMnIG1vZHVsZT0nZ2xvYmFscyc+CisgICAgICA8aW5mbz48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nJy8+CisgICAgICA8YXJnIG5hbWU9J3YnIHR5cGU9J2ludCcgaW5mbz0nJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVGhyRGVmTGluZU51bWJlcnNEZWZhdWx0VmFsdWUnIGZpbGU9J2dsb2JhbHMnIG1vZHVsZT0nZ2xvYmFscyc+CisgICAgICA8aW5mbz48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nJy8+CisgICAgICA8YXJnIG5hbWU9J3YnIHR5cGU9J2ludCcgaW5mbz0nJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVGhyRGVmTG9hZEV4dER0ZERlZmF1bHRWYWx1ZScgZmlsZT0nZ2xvYmFscycgbW9kdWxlPSdnbG9iYWxzJz4KKyAgICAgIDxpbmZvPjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScnLz4KKyAgICAgIDxhcmcgbmFtZT0ndicgdHlwZT0naW50JyBpbmZvPScnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxUaHJEZWZPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQnIGZpbGU9J2dsb2JhbHMnIG1vZHVsZT0nZ2xvYmFscyc+CisgICAgICA8aW5mbz48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYycgaW5mbz0nJy8+CisgICAgICA8YXJnIG5hbWU9J2Z1bmMnIHR5cGU9J3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYycgaW5mbz0nJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVGhyRGVmUGFyc2VyRGVidWdFbnRpdGllcycgZmlsZT0nZ2xvYmFscycgbW9kdWxlPSdnbG9iYWxzJz4KKyAgICAgIDxpbmZvPjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScnLz4KKyAgICAgIDxhcmcgbmFtZT0ndicgdHlwZT0naW50JyBpbmZvPScnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxUaHJEZWZQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRGVmYXVsdCcgZmlsZT0nZ2xvYmFscycgbW9kdWxlPSdnbG9iYWxzJz4KKyAgICAgIDxpbmZvPjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmMnIGluZm89JycvPgorICAgICAgPGFyZyBuYW1lPSdmdW5jJyB0eXBlPSd4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYycgaW5mbz0nJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVGhyRGVmUGVkYW50aWNQYXJzZXJEZWZhdWx0VmFsdWUnIGZpbGU9J2dsb2JhbHMnIG1vZHVsZT0nZ2xvYmFscyc+CisgICAgICA8aW5mbz48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nJy8+CisgICAgICA8YXJnIG5hbWU9J3YnIHR5cGU9J2ludCcgaW5mbz0nJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVGhyRGVmUmVnaXN0ZXJOb2RlRGVmYXVsdCcgZmlsZT0nZ2xvYmFscycgbW9kdWxlPSdnbG9iYWxzJz4KKyAgICAgIDxpbmZvPjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sUmVnaXN0ZXJOb2RlRnVuYycgaW5mbz0nJy8+CisgICAgICA8YXJnIG5hbWU9J2Z1bmMnIHR5cGU9J3htbFJlZ2lzdGVyTm9kZUZ1bmMnIGluZm89JycvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFRockRlZlNhdmVOb0VtcHR5VGFncycgZmlsZT0nZ2xvYmFscycgbW9kdWxlPSdnbG9iYWxzJz4KKyAgICAgIDxpbmZvPjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScnLz4KKyAgICAgIDxhcmcgbmFtZT0ndicgdHlwZT0naW50JyBpbmZvPScnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxUaHJEZWZTZXRHZW5lcmljRXJyb3JGdW5jJyBmaWxlPSdnbG9iYWxzJyBtb2R1bGU9J2dsb2JhbHMnPgorICAgICAgPGluZm8+PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eCcgdHlwZT0ndm9pZCAqJyBpbmZvPScnLz4KKyAgICAgIDxhcmcgbmFtZT0naGFuZGxlcicgdHlwZT0neG1sR2VuZXJpY0Vycm9yRnVuYycgaW5mbz0nJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVGhyRGVmU2V0U3RydWN0dXJlZEVycm9yRnVuYycgZmlsZT0nZ2xvYmFscycgbW9kdWxlPSdnbG9iYWxzJz4KKyAgICAgIDxpbmZvPjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHgnIHR5cGU9J3ZvaWQgKicgaW5mbz0nJy8+CisgICAgICA8YXJnIG5hbWU9J2hhbmRsZXInIHR5cGU9J3htbFN0cnVjdHVyZWRFcnJvckZ1bmMnIGluZm89JycvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFRockRlZlN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHRWYWx1ZScgZmlsZT0nZ2xvYmFscycgbW9kdWxlPSdnbG9iYWxzJz4KKyAgICAgIDxpbmZvPjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScnLz4KKyAgICAgIDxhcmcgbmFtZT0ndicgdHlwZT0naW50JyBpbmZvPScnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxUaHJEZWZUcmVlSW5kZW50U3RyaW5nJyBmaWxlPSdnbG9iYWxzJyBtb2R1bGU9J2dsb2JhbHMnPgorICAgICAgPGluZm8+PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdjb25zdCBjaGFyIConIGluZm89JycvPgorICAgICAgPGFyZyBuYW1lPSd2JyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89JycvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVDU0lzQWVnZWFuTnVtYmVycycgZmlsZT0neG1sdW5pY29kZScgbW9kdWxlPSd4bWx1bmljb2RlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBBZWdlYW5OdW1iZXJzIFVDUyBCbG9jazwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRydWUgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29kZScgdHlwZT0naW50JyBpbmZvPSdVQ1MgY29kZSBwb2ludCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVDU0lzQWxwaGFiZXRpY1ByZXNlbnRhdGlvbkZvcm1zJyBmaWxlPSd4bWx1bmljb2RlJyBtb2R1bGU9J3htbHVuaWNvZGUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEFscGhhYmV0aWNQcmVzZW50YXRpb25Gb3JtcyBVQ1MgQmxvY2s8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB0cnVlIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2NvZGUnIHR5cGU9J2ludCcgaW5mbz0nVUNTIGNvZGUgcG9pbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxVQ1NJc0FyYWJpYycgZmlsZT0neG1sdW5pY29kZScgbW9kdWxlPSd4bWx1bmljb2RlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBBcmFiaWMgVUNTIEJsb2NrPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgdHJ1ZSAwIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdjb2RlJyB0eXBlPSdpbnQnIGluZm89J1VDUyBjb2RlIHBvaW50Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVUNTSXNBcmFiaWNQcmVzZW50YXRpb25Gb3Jtc0EnIGZpbGU9J3htbHVuaWNvZGUnIG1vZHVsZT0neG1sdW5pY29kZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgQXJhYmljUHJlc2VudGF0aW9uRm9ybXMtQSBVQ1MgQmxvY2s8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB0cnVlIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2NvZGUnIHR5cGU9J2ludCcgaW5mbz0nVUNTIGNvZGUgcG9pbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxVQ1NJc0FyYWJpY1ByZXNlbnRhdGlvbkZvcm1zQicgZmlsZT0neG1sdW5pY29kZScgbW9kdWxlPSd4bWx1bmljb2RlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBBcmFiaWNQcmVzZW50YXRpb25Gb3Jtcy1CIFVDUyBCbG9jazwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRydWUgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29kZScgdHlwZT0naW50JyBpbmZvPSdVQ1MgY29kZSBwb2ludCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVDU0lzQXJtZW5pYW4nIGZpbGU9J3htbHVuaWNvZGUnIG1vZHVsZT0neG1sdW5pY29kZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgQXJtZW5pYW4gVUNTIEJsb2NrPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgdHJ1ZSAwIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdjb2RlJyB0eXBlPSdpbnQnIGluZm89J1VDUyBjb2RlIHBvaW50Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVUNTSXNBcnJvd3MnIGZpbGU9J3htbHVuaWNvZGUnIG1vZHVsZT0neG1sdW5pY29kZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgQXJyb3dzIFVDUyBCbG9jazwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRydWUgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29kZScgdHlwZT0naW50JyBpbmZvPSdVQ1MgY29kZSBwb2ludCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVDU0lzQmFzaWNMYXRpbicgZmlsZT0neG1sdW5pY29kZScgbW9kdWxlPSd4bWx1bmljb2RlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBCYXNpY0xhdGluIFVDUyBCbG9jazwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRydWUgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29kZScgdHlwZT0naW50JyBpbmZvPSdVQ1MgY29kZSBwb2ludCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVDU0lzQmVuZ2FsaScgZmlsZT0neG1sdW5pY29kZScgbW9kdWxlPSd4bWx1bmljb2RlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBCZW5nYWxpIFVDUyBCbG9jazwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRydWUgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29kZScgdHlwZT0naW50JyBpbmZvPSdVQ1MgY29kZSBwb2ludCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVDU0lzQmxvY2snIGZpbGU9J3htbHVuaWNvZGUnIG1vZHVsZT0neG1sdW5pY29kZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgdGhlIFVDUyBCbG9jazwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRydWUsIDAgaWYgZmFsc2UgYW5kIC0xIG9uIHVua25vd24gYmxvY2snLz4KKyAgICAgIDxhcmcgbmFtZT0nY29kZScgdHlwZT0naW50JyBpbmZvPSdVQ1MgY29kZSBwb2ludCcvPgorICAgICAgPGFyZyBuYW1lPSdibG9jaycgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSdVQ1MgYmxvY2sgbmFtZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVDU0lzQmxvY2tFbGVtZW50cycgZmlsZT0neG1sdW5pY29kZScgbW9kdWxlPSd4bWx1bmljb2RlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBCbG9ja0VsZW1lbnRzIFVDUyBCbG9jazwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRydWUgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29kZScgdHlwZT0naW50JyBpbmZvPSdVQ1MgY29kZSBwb2ludCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVDU0lzQm9wb21vZm8nIGZpbGU9J3htbHVuaWNvZGUnIG1vZHVsZT0neG1sdW5pY29kZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgQm9wb21vZm8gVUNTIEJsb2NrPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgdHJ1ZSAwIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdjb2RlJyB0eXBlPSdpbnQnIGluZm89J1VDUyBjb2RlIHBvaW50Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVUNTSXNCb3BvbW9mb0V4dGVuZGVkJyBmaWxlPSd4bWx1bmljb2RlJyBtb2R1bGU9J3htbHVuaWNvZGUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEJvcG9tb2ZvRXh0ZW5kZWQgVUNTIEJsb2NrPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgdHJ1ZSAwIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdjb2RlJyB0eXBlPSdpbnQnIGluZm89J1VDUyBjb2RlIHBvaW50Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVUNTSXNCb3hEcmF3aW5nJyBmaWxlPSd4bWx1bmljb2RlJyBtb2R1bGU9J3htbHVuaWNvZGUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEJveERyYXdpbmcgVUNTIEJsb2NrPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgdHJ1ZSAwIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdjb2RlJyB0eXBlPSdpbnQnIGluZm89J1VDUyBjb2RlIHBvaW50Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVUNTSXNCcmFpbGxlUGF0dGVybnMnIGZpbGU9J3htbHVuaWNvZGUnIG1vZHVsZT0neG1sdW5pY29kZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgQnJhaWxsZVBhdHRlcm5zIFVDUyBCbG9jazwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRydWUgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29kZScgdHlwZT0naW50JyBpbmZvPSdVQ1MgY29kZSBwb2ludCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVDU0lzQnVoaWQnIGZpbGU9J3htbHVuaWNvZGUnIG1vZHVsZT0neG1sdW5pY29kZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgQnVoaWQgVUNTIEJsb2NrPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgdHJ1ZSAwIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdjb2RlJyB0eXBlPSdpbnQnIGluZm89J1VDUyBjb2RlIHBvaW50Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVUNTSXNCeXphbnRpbmVNdXNpY2FsU3ltYm9scycgZmlsZT0neG1sdW5pY29kZScgbW9kdWxlPSd4bWx1bmljb2RlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBCeXphbnRpbmVNdXNpY2FsU3ltYm9scyBVQ1MgQmxvY2s8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB0cnVlIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2NvZGUnIHR5cGU9J2ludCcgaW5mbz0nVUNTIGNvZGUgcG9pbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHknIGZpbGU9J3htbHVuaWNvZGUnIG1vZHVsZT0neG1sdW5pY29kZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgQ0pLQ29tcGF0aWJpbGl0eSBVQ1MgQmxvY2s8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB0cnVlIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2NvZGUnIHR5cGU9J2ludCcgaW5mbz0nVUNTIGNvZGUgcG9pbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHlGb3JtcycgZmlsZT0neG1sdW5pY29kZScgbW9kdWxlPSd4bWx1bmljb2RlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBDSktDb21wYXRpYmlsaXR5Rm9ybXMgVUNTIEJsb2NrPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgdHJ1ZSAwIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdjb2RlJyB0eXBlPSdpbnQnIGluZm89J1VDUyBjb2RlIHBvaW50Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVUNTSXNDSktDb21wYXRpYmlsaXR5SWRlb2dyYXBocycgZmlsZT0neG1sdW5pY29kZScgbW9kdWxlPSd4bWx1bmljb2RlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBDSktDb21wYXRpYmlsaXR5SWRlb2dyYXBocyBVQ1MgQmxvY2s8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB0cnVlIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2NvZGUnIHR5cGU9J2ludCcgaW5mbz0nVUNTIGNvZGUgcG9pbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHlJZGVvZ3JhcGhzU3VwcGxlbWVudCcgZmlsZT0neG1sdW5pY29kZScgbW9kdWxlPSd4bWx1bmljb2RlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBDSktDb21wYXRpYmlsaXR5SWRlb2dyYXBoc1N1cHBsZW1lbnQgVUNTIEJsb2NrPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgdHJ1ZSAwIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdjb2RlJyB0eXBlPSdpbnQnIGluZm89J1VDUyBjb2RlIHBvaW50Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVUNTSXNDSktSYWRpY2Fsc1N1cHBsZW1lbnQnIGZpbGU9J3htbHVuaWNvZGUnIG1vZHVsZT0neG1sdW5pY29kZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgQ0pLUmFkaWNhbHNTdXBwbGVtZW50IFVDUyBCbG9jazwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRydWUgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29kZScgdHlwZT0naW50JyBpbmZvPSdVQ1MgY29kZSBwb2ludCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVDU0lzQ0pLU3ltYm9sc2FuZFB1bmN0dWF0aW9uJyBmaWxlPSd4bWx1bmljb2RlJyBtb2R1bGU9J3htbHVuaWNvZGUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIENKS1N5bWJvbHNhbmRQdW5jdHVhdGlvbiBVQ1MgQmxvY2s8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB0cnVlIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2NvZGUnIHR5cGU9J2ludCcgaW5mbz0nVUNTIGNvZGUgcG9pbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxVQ1NJc0NKS1VuaWZpZWRJZGVvZ3JhcGhzJyBmaWxlPSd4bWx1bmljb2RlJyBtb2R1bGU9J3htbHVuaWNvZGUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIENKS1VuaWZpZWRJZGVvZ3JhcGhzIFVDUyBCbG9jazwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRydWUgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29kZScgdHlwZT0naW50JyBpbmZvPSdVQ1MgY29kZSBwb2ludCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVDU0lzQ0pLVW5pZmllZElkZW9ncmFwaHNFeHRlbnNpb25BJyBmaWxlPSd4bWx1bmljb2RlJyBtb2R1bGU9J3htbHVuaWNvZGUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIENKS1VuaWZpZWRJZGVvZ3JhcGhzRXh0ZW5zaW9uQSBVQ1MgQmxvY2s8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB0cnVlIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2NvZGUnIHR5cGU9J2ludCcgaW5mbz0nVUNTIGNvZGUgcG9pbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxVQ1NJc0NKS1VuaWZpZWRJZGVvZ3JhcGhzRXh0ZW5zaW9uQicgZmlsZT0neG1sdW5pY29kZScgbW9kdWxlPSd4bWx1bmljb2RlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBDSktVbmlmaWVkSWRlb2dyYXBoc0V4dGVuc2lvbkIgVUNTIEJsb2NrPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgdHJ1ZSAwIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdjb2RlJyB0eXBlPSdpbnQnIGluZm89J1VDUyBjb2RlIHBvaW50Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVUNTSXNDYXQnIGZpbGU9J3htbHVuaWNvZGUnIG1vZHVsZT0neG1sdW5pY29kZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgdGhlIFVDUyBDYXRlZ29yeTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRydWUsIDAgaWYgZmFsc2UgYW5kIC0xIG9uIHVua25vd24gY2F0ZWdvcnknLz4KKyAgICAgIDxhcmcgbmFtZT0nY29kZScgdHlwZT0naW50JyBpbmZvPSdVQ1MgY29kZSBwb2ludCcvPgorICAgICAgPGFyZyBuYW1lPSdjYXQnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0nVUNTIENhdGVnb3J5IG5hbWUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxVQ1NJc0NhdEMnIGZpbGU9J3htbHVuaWNvZGUnIG1vZHVsZT0neG1sdW5pY29kZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgQyBVQ1MgQ2F0ZWdvcnk8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB0cnVlIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2NvZGUnIHR5cGU9J2ludCcgaW5mbz0nVUNTIGNvZGUgcG9pbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxVQ1NJc0NhdENjJyBmaWxlPSd4bWx1bmljb2RlJyBtb2R1bGU9J3htbHVuaWNvZGUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIENjIFVDUyBDYXRlZ29yeTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRydWUgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29kZScgdHlwZT0naW50JyBpbmZvPSdVQ1MgY29kZSBwb2ludCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVDU0lzQ2F0Q2YnIGZpbGU9J3htbHVuaWNvZGUnIG1vZHVsZT0neG1sdW5pY29kZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgQ2YgVUNTIENhdGVnb3J5PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgdHJ1ZSAwIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdjb2RlJyB0eXBlPSdpbnQnIGluZm89J1VDUyBjb2RlIHBvaW50Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVUNTSXNDYXRDbycgZmlsZT0neG1sdW5pY29kZScgbW9kdWxlPSd4bWx1bmljb2RlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBDbyBVQ1MgQ2F0ZWdvcnk8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB0cnVlIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2NvZGUnIHR5cGU9J2ludCcgaW5mbz0nVUNTIGNvZGUgcG9pbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxVQ1NJc0NhdENzJyBmaWxlPSd4bWx1bmljb2RlJyBtb2R1bGU9J3htbHVuaWNvZGUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIENzIFVDUyBDYXRlZ29yeTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRydWUgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29kZScgdHlwZT0naW50JyBpbmZvPSdVQ1MgY29kZSBwb2ludCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVDU0lzQ2F0TCcgZmlsZT0neG1sdW5pY29kZScgbW9kdWxlPSd4bWx1bmljb2RlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBMIFVDUyBDYXRlZ29yeTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRydWUgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29kZScgdHlwZT0naW50JyBpbmZvPSdVQ1MgY29kZSBwb2ludCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVDU0lzQ2F0TGwnIGZpbGU9J3htbHVuaWNvZGUnIG1vZHVsZT0neG1sdW5pY29kZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgTGwgVUNTIENhdGVnb3J5PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgdHJ1ZSAwIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdjb2RlJyB0eXBlPSdpbnQnIGluZm89J1VDUyBjb2RlIHBvaW50Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVUNTSXNDYXRMbScgZmlsZT0neG1sdW5pY29kZScgbW9kdWxlPSd4bWx1bmljb2RlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBMbSBVQ1MgQ2F0ZWdvcnk8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB0cnVlIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2NvZGUnIHR5cGU9J2ludCcgaW5mbz0nVUNTIGNvZGUgcG9pbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxVQ1NJc0NhdExvJyBmaWxlPSd4bWx1bmljb2RlJyBtb2R1bGU9J3htbHVuaWNvZGUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIExvIFVDUyBDYXRlZ29yeTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRydWUgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29kZScgdHlwZT0naW50JyBpbmZvPSdVQ1MgY29kZSBwb2ludCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVDU0lzQ2F0THQnIGZpbGU9J3htbHVuaWNvZGUnIG1vZHVsZT0neG1sdW5pY29kZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgTHQgVUNTIENhdGVnb3J5PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgdHJ1ZSAwIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdjb2RlJyB0eXBlPSdpbnQnIGluZm89J1VDUyBjb2RlIHBvaW50Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVUNTSXNDYXRMdScgZmlsZT0neG1sdW5pY29kZScgbW9kdWxlPSd4bWx1bmljb2RlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBMdSBVQ1MgQ2F0ZWdvcnk8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB0cnVlIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2NvZGUnIHR5cGU9J2ludCcgaW5mbz0nVUNTIGNvZGUgcG9pbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxVQ1NJc0NhdE0nIGZpbGU9J3htbHVuaWNvZGUnIG1vZHVsZT0neG1sdW5pY29kZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgTSBVQ1MgQ2F0ZWdvcnk8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB0cnVlIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2NvZGUnIHR5cGU9J2ludCcgaW5mbz0nVUNTIGNvZGUgcG9pbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxVQ1NJc0NhdE1jJyBmaWxlPSd4bWx1bmljb2RlJyBtb2R1bGU9J3htbHVuaWNvZGUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIE1jIFVDUyBDYXRlZ29yeTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRydWUgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29kZScgdHlwZT0naW50JyBpbmZvPSdVQ1MgY29kZSBwb2ludCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVDU0lzQ2F0TWUnIGZpbGU9J3htbHVuaWNvZGUnIG1vZHVsZT0neG1sdW5pY29kZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgTWUgVUNTIENhdGVnb3J5PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgdHJ1ZSAwIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdjb2RlJyB0eXBlPSdpbnQnIGluZm89J1VDUyBjb2RlIHBvaW50Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVUNTSXNDYXRNbicgZmlsZT0neG1sdW5pY29kZScgbW9kdWxlPSd4bWx1bmljb2RlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBNbiBVQ1MgQ2F0ZWdvcnk8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB0cnVlIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2NvZGUnIHR5cGU9J2ludCcgaW5mbz0nVUNTIGNvZGUgcG9pbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxVQ1NJc0NhdE4nIGZpbGU9J3htbHVuaWNvZGUnIG1vZHVsZT0neG1sdW5pY29kZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgTiBVQ1MgQ2F0ZWdvcnk8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB0cnVlIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2NvZGUnIHR5cGU9J2ludCcgaW5mbz0nVUNTIGNvZGUgcG9pbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxVQ1NJc0NhdE5kJyBmaWxlPSd4bWx1bmljb2RlJyBtb2R1bGU9J3htbHVuaWNvZGUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIE5kIFVDUyBDYXRlZ29yeTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRydWUgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29kZScgdHlwZT0naW50JyBpbmZvPSdVQ1MgY29kZSBwb2ludCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVDU0lzQ2F0TmwnIGZpbGU9J3htbHVuaWNvZGUnIG1vZHVsZT0neG1sdW5pY29kZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgTmwgVUNTIENhdGVnb3J5PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgdHJ1ZSAwIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdjb2RlJyB0eXBlPSdpbnQnIGluZm89J1VDUyBjb2RlIHBvaW50Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVUNTSXNDYXRObycgZmlsZT0neG1sdW5pY29kZScgbW9kdWxlPSd4bWx1bmljb2RlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBObyBVQ1MgQ2F0ZWdvcnk8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB0cnVlIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2NvZGUnIHR5cGU9J2ludCcgaW5mbz0nVUNTIGNvZGUgcG9pbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxVQ1NJc0NhdFAnIGZpbGU9J3htbHVuaWNvZGUnIG1vZHVsZT0neG1sdW5pY29kZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgUCBVQ1MgQ2F0ZWdvcnk8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB0cnVlIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2NvZGUnIHR5cGU9J2ludCcgaW5mbz0nVUNTIGNvZGUgcG9pbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxVQ1NJc0NhdFBjJyBmaWxlPSd4bWx1bmljb2RlJyBtb2R1bGU9J3htbHVuaWNvZGUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFBjIFVDUyBDYXRlZ29yeTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRydWUgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29kZScgdHlwZT0naW50JyBpbmZvPSdVQ1MgY29kZSBwb2ludCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVDU0lzQ2F0UGQnIGZpbGU9J3htbHVuaWNvZGUnIG1vZHVsZT0neG1sdW5pY29kZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgUGQgVUNTIENhdGVnb3J5PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgdHJ1ZSAwIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdjb2RlJyB0eXBlPSdpbnQnIGluZm89J1VDUyBjb2RlIHBvaW50Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVUNTSXNDYXRQZScgZmlsZT0neG1sdW5pY29kZScgbW9kdWxlPSd4bWx1bmljb2RlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBQZSBVQ1MgQ2F0ZWdvcnk8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB0cnVlIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2NvZGUnIHR5cGU9J2ludCcgaW5mbz0nVUNTIGNvZGUgcG9pbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxVQ1NJc0NhdFBmJyBmaWxlPSd4bWx1bmljb2RlJyBtb2R1bGU9J3htbHVuaWNvZGUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFBmIFVDUyBDYXRlZ29yeTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRydWUgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29kZScgdHlwZT0naW50JyBpbmZvPSdVQ1MgY29kZSBwb2ludCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVDU0lzQ2F0UGknIGZpbGU9J3htbHVuaWNvZGUnIG1vZHVsZT0neG1sdW5pY29kZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgUGkgVUNTIENhdGVnb3J5PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgdHJ1ZSAwIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdjb2RlJyB0eXBlPSdpbnQnIGluZm89J1VDUyBjb2RlIHBvaW50Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVUNTSXNDYXRQbycgZmlsZT0neG1sdW5pY29kZScgbW9kdWxlPSd4bWx1bmljb2RlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBQbyBVQ1MgQ2F0ZWdvcnk8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB0cnVlIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2NvZGUnIHR5cGU9J2ludCcgaW5mbz0nVUNTIGNvZGUgcG9pbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxVQ1NJc0NhdFBzJyBmaWxlPSd4bWx1bmljb2RlJyBtb2R1bGU9J3htbHVuaWNvZGUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFBzIFVDUyBDYXRlZ29yeTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRydWUgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29kZScgdHlwZT0naW50JyBpbmZvPSdVQ1MgY29kZSBwb2ludCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVDU0lzQ2F0UycgZmlsZT0neG1sdW5pY29kZScgbW9kdWxlPSd4bWx1bmljb2RlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBTIFVDUyBDYXRlZ29yeTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRydWUgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29kZScgdHlwZT0naW50JyBpbmZvPSdVQ1MgY29kZSBwb2ludCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVDU0lzQ2F0U2MnIGZpbGU9J3htbHVuaWNvZGUnIG1vZHVsZT0neG1sdW5pY29kZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgU2MgVUNTIENhdGVnb3J5PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgdHJ1ZSAwIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdjb2RlJyB0eXBlPSdpbnQnIGluZm89J1VDUyBjb2RlIHBvaW50Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVUNTSXNDYXRTaycgZmlsZT0neG1sdW5pY29kZScgbW9kdWxlPSd4bWx1bmljb2RlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBTayBVQ1MgQ2F0ZWdvcnk8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB0cnVlIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2NvZGUnIHR5cGU9J2ludCcgaW5mbz0nVUNTIGNvZGUgcG9pbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxVQ1NJc0NhdFNtJyBmaWxlPSd4bWx1bmljb2RlJyBtb2R1bGU9J3htbHVuaWNvZGUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFNtIFVDUyBDYXRlZ29yeTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRydWUgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29kZScgdHlwZT0naW50JyBpbmZvPSdVQ1MgY29kZSBwb2ludCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVDU0lzQ2F0U28nIGZpbGU9J3htbHVuaWNvZGUnIG1vZHVsZT0neG1sdW5pY29kZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgU28gVUNTIENhdGVnb3J5PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgdHJ1ZSAwIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdjb2RlJyB0eXBlPSdpbnQnIGluZm89J1VDUyBjb2RlIHBvaW50Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVUNTSXNDYXRaJyBmaWxlPSd4bWx1bmljb2RlJyBtb2R1bGU9J3htbHVuaWNvZGUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFogVUNTIENhdGVnb3J5PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgdHJ1ZSAwIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdjb2RlJyB0eXBlPSdpbnQnIGluZm89J1VDUyBjb2RlIHBvaW50Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVUNTSXNDYXRabCcgZmlsZT0neG1sdW5pY29kZScgbW9kdWxlPSd4bWx1bmljb2RlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBabCBVQ1MgQ2F0ZWdvcnk8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB0cnVlIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2NvZGUnIHR5cGU9J2ludCcgaW5mbz0nVUNTIGNvZGUgcG9pbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxVQ1NJc0NhdFpwJyBmaWxlPSd4bWx1bmljb2RlJyBtb2R1bGU9J3htbHVuaWNvZGUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFpwIFVDUyBDYXRlZ29yeTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRydWUgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29kZScgdHlwZT0naW50JyBpbmZvPSdVQ1MgY29kZSBwb2ludCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVDU0lzQ2F0WnMnIGZpbGU9J3htbHVuaWNvZGUnIG1vZHVsZT0neG1sdW5pY29kZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgWnMgVUNTIENhdGVnb3J5PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgdHJ1ZSAwIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdjb2RlJyB0eXBlPSdpbnQnIGluZm89J1VDUyBjb2RlIHBvaW50Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVUNTSXNDaGVyb2tlZScgZmlsZT0neG1sdW5pY29kZScgbW9kdWxlPSd4bWx1bmljb2RlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBDaGVyb2tlZSBVQ1MgQmxvY2s8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB0cnVlIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2NvZGUnIHR5cGU9J2ludCcgaW5mbz0nVUNTIGNvZGUgcG9pbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxVQ1NJc0NvbWJpbmluZ0RpYWNyaXRpY2FsTWFya3MnIGZpbGU9J3htbHVuaWNvZGUnIG1vZHVsZT0neG1sdW5pY29kZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgQ29tYmluaW5nRGlhY3JpdGljYWxNYXJrcyBVQ1MgQmxvY2s8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB0cnVlIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2NvZGUnIHR5cGU9J2ludCcgaW5mbz0nVUNTIGNvZGUgcG9pbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxVQ1NJc0NvbWJpbmluZ0RpYWNyaXRpY2FsTWFya3Nmb3JTeW1ib2xzJyBmaWxlPSd4bWx1bmljb2RlJyBtb2R1bGU9J3htbHVuaWNvZGUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIENvbWJpbmluZ0RpYWNyaXRpY2FsTWFya3Nmb3JTeW1ib2xzIFVDUyBCbG9jazwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRydWUgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29kZScgdHlwZT0naW50JyBpbmZvPSdVQ1MgY29kZSBwb2ludCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVDU0lzQ29tYmluaW5nSGFsZk1hcmtzJyBmaWxlPSd4bWx1bmljb2RlJyBtb2R1bGU9J3htbHVuaWNvZGUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIENvbWJpbmluZ0hhbGZNYXJrcyBVQ1MgQmxvY2s8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB0cnVlIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2NvZGUnIHR5cGU9J2ludCcgaW5mbz0nVUNTIGNvZGUgcG9pbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxVQ1NJc0NvbWJpbmluZ01hcmtzZm9yU3ltYm9scycgZmlsZT0neG1sdW5pY29kZScgbW9kdWxlPSd4bWx1bmljb2RlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBDb21iaW5pbmdNYXJrc2ZvclN5bWJvbHMgVUNTIEJsb2NrPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgdHJ1ZSAwIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdjb2RlJyB0eXBlPSdpbnQnIGluZm89J1VDUyBjb2RlIHBvaW50Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVUNTSXNDb250cm9sUGljdHVyZXMnIGZpbGU9J3htbHVuaWNvZGUnIG1vZHVsZT0neG1sdW5pY29kZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgQ29udHJvbFBpY3R1cmVzIFVDUyBCbG9jazwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRydWUgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29kZScgdHlwZT0naW50JyBpbmZvPSdVQ1MgY29kZSBwb2ludCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVDU0lzQ3VycmVuY3lTeW1ib2xzJyBmaWxlPSd4bWx1bmljb2RlJyBtb2R1bGU9J3htbHVuaWNvZGUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEN1cnJlbmN5U3ltYm9scyBVQ1MgQmxvY2s8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB0cnVlIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2NvZGUnIHR5cGU9J2ludCcgaW5mbz0nVUNTIGNvZGUgcG9pbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxVQ1NJc0N5cHJpb3RTeWxsYWJhcnknIGZpbGU9J3htbHVuaWNvZGUnIG1vZHVsZT0neG1sdW5pY29kZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgQ3lwcmlvdFN5bGxhYmFyeSBVQ1MgQmxvY2s8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB0cnVlIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2NvZGUnIHR5cGU9J2ludCcgaW5mbz0nVUNTIGNvZGUgcG9pbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxVQ1NJc0N5cmlsbGljJyBmaWxlPSd4bWx1bmljb2RlJyBtb2R1bGU9J3htbHVuaWNvZGUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEN5cmlsbGljIFVDUyBCbG9jazwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRydWUgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29kZScgdHlwZT0naW50JyBpbmZvPSdVQ1MgY29kZSBwb2ludCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVDU0lzQ3lyaWxsaWNTdXBwbGVtZW50JyBmaWxlPSd4bWx1bmljb2RlJyBtb2R1bGU9J3htbHVuaWNvZGUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEN5cmlsbGljU3VwcGxlbWVudCBVQ1MgQmxvY2s8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB0cnVlIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2NvZGUnIHR5cGU9J2ludCcgaW5mbz0nVUNTIGNvZGUgcG9pbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxVQ1NJc0Rlc2VyZXQnIGZpbGU9J3htbHVuaWNvZGUnIG1vZHVsZT0neG1sdW5pY29kZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgRGVzZXJldCBVQ1MgQmxvY2s8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB0cnVlIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2NvZGUnIHR5cGU9J2ludCcgaW5mbz0nVUNTIGNvZGUgcG9pbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxVQ1NJc0RldmFuYWdhcmknIGZpbGU9J3htbHVuaWNvZGUnIG1vZHVsZT0neG1sdW5pY29kZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgRGV2YW5hZ2FyaSBVQ1MgQmxvY2s8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB0cnVlIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2NvZGUnIHR5cGU9J2ludCcgaW5mbz0nVUNTIGNvZGUgcG9pbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxVQ1NJc0RpbmdiYXRzJyBmaWxlPSd4bWx1bmljb2RlJyBtb2R1bGU9J3htbHVuaWNvZGUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIERpbmdiYXRzIFVDUyBCbG9jazwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRydWUgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29kZScgdHlwZT0naW50JyBpbmZvPSdVQ1MgY29kZSBwb2ludCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVDU0lzRW5jbG9zZWRBbHBoYW51bWVyaWNzJyBmaWxlPSd4bWx1bmljb2RlJyBtb2R1bGU9J3htbHVuaWNvZGUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEVuY2xvc2VkQWxwaGFudW1lcmljcyBVQ1MgQmxvY2s8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB0cnVlIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2NvZGUnIHR5cGU9J2ludCcgaW5mbz0nVUNTIGNvZGUgcG9pbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxVQ1NJc0VuY2xvc2VkQ0pLTGV0dGVyc2FuZE1vbnRocycgZmlsZT0neG1sdW5pY29kZScgbW9kdWxlPSd4bWx1bmljb2RlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBFbmNsb3NlZENKS0xldHRlcnNhbmRNb250aHMgVUNTIEJsb2NrPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgdHJ1ZSAwIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdjb2RlJyB0eXBlPSdpbnQnIGluZm89J1VDUyBjb2RlIHBvaW50Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVUNTSXNFdGhpb3BpYycgZmlsZT0neG1sdW5pY29kZScgbW9kdWxlPSd4bWx1bmljb2RlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBFdGhpb3BpYyBVQ1MgQmxvY2s8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB0cnVlIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2NvZGUnIHR5cGU9J2ludCcgaW5mbz0nVUNTIGNvZGUgcG9pbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxVQ1NJc0dlbmVyYWxQdW5jdHVhdGlvbicgZmlsZT0neG1sdW5pY29kZScgbW9kdWxlPSd4bWx1bmljb2RlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBHZW5lcmFsUHVuY3R1YXRpb24gVUNTIEJsb2NrPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgdHJ1ZSAwIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdjb2RlJyB0eXBlPSdpbnQnIGluZm89J1VDUyBjb2RlIHBvaW50Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVUNTSXNHZW9tZXRyaWNTaGFwZXMnIGZpbGU9J3htbHVuaWNvZGUnIG1vZHVsZT0neG1sdW5pY29kZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgR2VvbWV0cmljU2hhcGVzIFVDUyBCbG9jazwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRydWUgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29kZScgdHlwZT0naW50JyBpbmZvPSdVQ1MgY29kZSBwb2ludCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVDU0lzR2VvcmdpYW4nIGZpbGU9J3htbHVuaWNvZGUnIG1vZHVsZT0neG1sdW5pY29kZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgR2VvcmdpYW4gVUNTIEJsb2NrPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgdHJ1ZSAwIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdjb2RlJyB0eXBlPSdpbnQnIGluZm89J1VDUyBjb2RlIHBvaW50Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVUNTSXNHb3RoaWMnIGZpbGU9J3htbHVuaWNvZGUnIG1vZHVsZT0neG1sdW5pY29kZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgR290aGljIFVDUyBCbG9jazwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRydWUgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29kZScgdHlwZT0naW50JyBpbmZvPSdVQ1MgY29kZSBwb2ludCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVDU0lzR3JlZWsnIGZpbGU9J3htbHVuaWNvZGUnIG1vZHVsZT0neG1sdW5pY29kZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgR3JlZWsgVUNTIEJsb2NrPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgdHJ1ZSAwIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdjb2RlJyB0eXBlPSdpbnQnIGluZm89J1VDUyBjb2RlIHBvaW50Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVUNTSXNHcmVla0V4dGVuZGVkJyBmaWxlPSd4bWx1bmljb2RlJyBtb2R1bGU9J3htbHVuaWNvZGUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEdyZWVrRXh0ZW5kZWQgVUNTIEJsb2NrPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgdHJ1ZSAwIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdjb2RlJyB0eXBlPSdpbnQnIGluZm89J1VDUyBjb2RlIHBvaW50Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVUNTSXNHcmVla2FuZENvcHRpYycgZmlsZT0neG1sdW5pY29kZScgbW9kdWxlPSd4bWx1bmljb2RlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBHcmVla2FuZENvcHRpYyBVQ1MgQmxvY2s8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB0cnVlIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2NvZGUnIHR5cGU9J2ludCcgaW5mbz0nVUNTIGNvZGUgcG9pbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxVQ1NJc0d1amFyYXRpJyBmaWxlPSd4bWx1bmljb2RlJyBtb2R1bGU9J3htbHVuaWNvZGUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEd1amFyYXRpIFVDUyBCbG9jazwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRydWUgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29kZScgdHlwZT0naW50JyBpbmZvPSdVQ1MgY29kZSBwb2ludCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVDU0lzR3VybXVraGknIGZpbGU9J3htbHVuaWNvZGUnIG1vZHVsZT0neG1sdW5pY29kZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgR3VybXVraGkgVUNTIEJsb2NrPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgdHJ1ZSAwIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdjb2RlJyB0eXBlPSdpbnQnIGluZm89J1VDUyBjb2RlIHBvaW50Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVUNTSXNIYWxmd2lkdGhhbmRGdWxsd2lkdGhGb3JtcycgZmlsZT0neG1sdW5pY29kZScgbW9kdWxlPSd4bWx1bmljb2RlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBIYWxmd2lkdGhhbmRGdWxsd2lkdGhGb3JtcyBVQ1MgQmxvY2s8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB0cnVlIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2NvZGUnIHR5cGU9J2ludCcgaW5mbz0nVUNTIGNvZGUgcG9pbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxVQ1NJc0hhbmd1bENvbXBhdGliaWxpdHlKYW1vJyBmaWxlPSd4bWx1bmljb2RlJyBtb2R1bGU9J3htbHVuaWNvZGUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEhhbmd1bENvbXBhdGliaWxpdHlKYW1vIFVDUyBCbG9jazwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRydWUgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29kZScgdHlwZT0naW50JyBpbmZvPSdVQ1MgY29kZSBwb2ludCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVDU0lzSGFuZ3VsSmFtbycgZmlsZT0neG1sdW5pY29kZScgbW9kdWxlPSd4bWx1bmljb2RlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBIYW5ndWxKYW1vIFVDUyBCbG9jazwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRydWUgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29kZScgdHlwZT0naW50JyBpbmZvPSdVQ1MgY29kZSBwb2ludCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVDU0lzSGFuZ3VsU3lsbGFibGVzJyBmaWxlPSd4bWx1bmljb2RlJyBtb2R1bGU9J3htbHVuaWNvZGUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEhhbmd1bFN5bGxhYmxlcyBVQ1MgQmxvY2s8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB0cnVlIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2NvZGUnIHR5cGU9J2ludCcgaW5mbz0nVUNTIGNvZGUgcG9pbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxVQ1NJc0hhbnVub28nIGZpbGU9J3htbHVuaWNvZGUnIG1vZHVsZT0neG1sdW5pY29kZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgSGFudW5vbyBVQ1MgQmxvY2s8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB0cnVlIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2NvZGUnIHR5cGU9J2ludCcgaW5mbz0nVUNTIGNvZGUgcG9pbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxVQ1NJc0hlYnJldycgZmlsZT0neG1sdW5pY29kZScgbW9kdWxlPSd4bWx1bmljb2RlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBIZWJyZXcgVUNTIEJsb2NrPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgdHJ1ZSAwIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdjb2RlJyB0eXBlPSdpbnQnIGluZm89J1VDUyBjb2RlIHBvaW50Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVUNTSXNIaWdoUHJpdmF0ZVVzZVN1cnJvZ2F0ZXMnIGZpbGU9J3htbHVuaWNvZGUnIG1vZHVsZT0neG1sdW5pY29kZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgSGlnaFByaXZhdGVVc2VTdXJyb2dhdGVzIFVDUyBCbG9jazwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRydWUgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29kZScgdHlwZT0naW50JyBpbmZvPSdVQ1MgY29kZSBwb2ludCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVDU0lzSGlnaFN1cnJvZ2F0ZXMnIGZpbGU9J3htbHVuaWNvZGUnIG1vZHVsZT0neG1sdW5pY29kZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgSGlnaFN1cnJvZ2F0ZXMgVUNTIEJsb2NrPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgdHJ1ZSAwIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdjb2RlJyB0eXBlPSdpbnQnIGluZm89J1VDUyBjb2RlIHBvaW50Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVUNTSXNIaXJhZ2FuYScgZmlsZT0neG1sdW5pY29kZScgbW9kdWxlPSd4bWx1bmljb2RlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBIaXJhZ2FuYSBVQ1MgQmxvY2s8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB0cnVlIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2NvZGUnIHR5cGU9J2ludCcgaW5mbz0nVUNTIGNvZGUgcG9pbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxVQ1NJc0lQQUV4dGVuc2lvbnMnIGZpbGU9J3htbHVuaWNvZGUnIG1vZHVsZT0neG1sdW5pY29kZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgSVBBRXh0ZW5zaW9ucyBVQ1MgQmxvY2s8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB0cnVlIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2NvZGUnIHR5cGU9J2ludCcgaW5mbz0nVUNTIGNvZGUgcG9pbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxVQ1NJc0lkZW9ncmFwaGljRGVzY3JpcHRpb25DaGFyYWN0ZXJzJyBmaWxlPSd4bWx1bmljb2RlJyBtb2R1bGU9J3htbHVuaWNvZGUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIElkZW9ncmFwaGljRGVzY3JpcHRpb25DaGFyYWN0ZXJzIFVDUyBCbG9jazwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRydWUgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29kZScgdHlwZT0naW50JyBpbmZvPSdVQ1MgY29kZSBwb2ludCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVDU0lzS2FuYnVuJyBmaWxlPSd4bWx1bmljb2RlJyBtb2R1bGU9J3htbHVuaWNvZGUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEthbmJ1biBVQ1MgQmxvY2s8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB0cnVlIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2NvZGUnIHR5cGU9J2ludCcgaW5mbz0nVUNTIGNvZGUgcG9pbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxVQ1NJc0thbmd4aVJhZGljYWxzJyBmaWxlPSd4bWx1bmljb2RlJyBtb2R1bGU9J3htbHVuaWNvZGUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEthbmd4aVJhZGljYWxzIFVDUyBCbG9jazwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRydWUgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29kZScgdHlwZT0naW50JyBpbmZvPSdVQ1MgY29kZSBwb2ludCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVDU0lzS2FubmFkYScgZmlsZT0neG1sdW5pY29kZScgbW9kdWxlPSd4bWx1bmljb2RlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBLYW5uYWRhIFVDUyBCbG9jazwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRydWUgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29kZScgdHlwZT0naW50JyBpbmZvPSdVQ1MgY29kZSBwb2ludCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVDU0lzS2F0YWthbmEnIGZpbGU9J3htbHVuaWNvZGUnIG1vZHVsZT0neG1sdW5pY29kZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgS2F0YWthbmEgVUNTIEJsb2NrPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgdHJ1ZSAwIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdjb2RlJyB0eXBlPSdpbnQnIGluZm89J1VDUyBjb2RlIHBvaW50Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVUNTSXNLYXRha2FuYVBob25ldGljRXh0ZW5zaW9ucycgZmlsZT0neG1sdW5pY29kZScgbW9kdWxlPSd4bWx1bmljb2RlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBLYXRha2FuYVBob25ldGljRXh0ZW5zaW9ucyBVQ1MgQmxvY2s8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB0cnVlIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2NvZGUnIHR5cGU9J2ludCcgaW5mbz0nVUNTIGNvZGUgcG9pbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxVQ1NJc0tobWVyJyBmaWxlPSd4bWx1bmljb2RlJyBtb2R1bGU9J3htbHVuaWNvZGUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEtobWVyIFVDUyBCbG9jazwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRydWUgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29kZScgdHlwZT0naW50JyBpbmZvPSdVQ1MgY29kZSBwb2ludCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVDU0lzS2htZXJTeW1ib2xzJyBmaWxlPSd4bWx1bmljb2RlJyBtb2R1bGU9J3htbHVuaWNvZGUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEtobWVyU3ltYm9scyBVQ1MgQmxvY2s8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB0cnVlIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2NvZGUnIHR5cGU9J2ludCcgaW5mbz0nVUNTIGNvZGUgcG9pbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxVQ1NJc0xhbycgZmlsZT0neG1sdW5pY29kZScgbW9kdWxlPSd4bWx1bmljb2RlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBMYW8gVUNTIEJsb2NrPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgdHJ1ZSAwIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdjb2RlJyB0eXBlPSdpbnQnIGluZm89J1VDUyBjb2RlIHBvaW50Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVUNTSXNMYXRpbjFTdXBwbGVtZW50JyBmaWxlPSd4bWx1bmljb2RlJyBtb2R1bGU9J3htbHVuaWNvZGUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIExhdGluLTFTdXBwbGVtZW50IFVDUyBCbG9jazwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRydWUgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29kZScgdHlwZT0naW50JyBpbmZvPSdVQ1MgY29kZSBwb2ludCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVDU0lzTGF0aW5FeHRlbmRlZEEnIGZpbGU9J3htbHVuaWNvZGUnIG1vZHVsZT0neG1sdW5pY29kZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgTGF0aW5FeHRlbmRlZC1BIFVDUyBCbG9jazwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRydWUgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29kZScgdHlwZT0naW50JyBpbmZvPSdVQ1MgY29kZSBwb2ludCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVDU0lzTGF0aW5FeHRlbmRlZEFkZGl0aW9uYWwnIGZpbGU9J3htbHVuaWNvZGUnIG1vZHVsZT0neG1sdW5pY29kZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgTGF0aW5FeHRlbmRlZEFkZGl0aW9uYWwgVUNTIEJsb2NrPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgdHJ1ZSAwIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdjb2RlJyB0eXBlPSdpbnQnIGluZm89J1VDUyBjb2RlIHBvaW50Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVUNTSXNMYXRpbkV4dGVuZGVkQicgZmlsZT0neG1sdW5pY29kZScgbW9kdWxlPSd4bWx1bmljb2RlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBMYXRpbkV4dGVuZGVkLUIgVUNTIEJsb2NrPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgdHJ1ZSAwIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdjb2RlJyB0eXBlPSdpbnQnIGluZm89J1VDUyBjb2RlIHBvaW50Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVUNTSXNMZXR0ZXJsaWtlU3ltYm9scycgZmlsZT0neG1sdW5pY29kZScgbW9kdWxlPSd4bWx1bmljb2RlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBMZXR0ZXJsaWtlU3ltYm9scyBVQ1MgQmxvY2s8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB0cnVlIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2NvZGUnIHR5cGU9J2ludCcgaW5mbz0nVUNTIGNvZGUgcG9pbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxVQ1NJc0xpbWJ1JyBmaWxlPSd4bWx1bmljb2RlJyBtb2R1bGU9J3htbHVuaWNvZGUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIExpbWJ1IFVDUyBCbG9jazwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRydWUgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29kZScgdHlwZT0naW50JyBpbmZvPSdVQ1MgY29kZSBwb2ludCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVDU0lzTGluZWFyQklkZW9ncmFtcycgZmlsZT0neG1sdW5pY29kZScgbW9kdWxlPSd4bWx1bmljb2RlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBMaW5lYXJCSWRlb2dyYW1zIFVDUyBCbG9jazwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRydWUgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29kZScgdHlwZT0naW50JyBpbmZvPSdVQ1MgY29kZSBwb2ludCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVDU0lzTGluZWFyQlN5bGxhYmFyeScgZmlsZT0neG1sdW5pY29kZScgbW9kdWxlPSd4bWx1bmljb2RlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBMaW5lYXJCU3lsbGFiYXJ5IFVDUyBCbG9jazwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRydWUgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29kZScgdHlwZT0naW50JyBpbmZvPSdVQ1MgY29kZSBwb2ludCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVDU0lzTG93U3Vycm9nYXRlcycgZmlsZT0neG1sdW5pY29kZScgbW9kdWxlPSd4bWx1bmljb2RlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBMb3dTdXJyb2dhdGVzIFVDUyBCbG9jazwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRydWUgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29kZScgdHlwZT0naW50JyBpbmZvPSdVQ1MgY29kZSBwb2ludCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVDU0lzTWFsYXlhbGFtJyBmaWxlPSd4bWx1bmljb2RlJyBtb2R1bGU9J3htbHVuaWNvZGUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIE1hbGF5YWxhbSBVQ1MgQmxvY2s8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB0cnVlIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2NvZGUnIHR5cGU9J2ludCcgaW5mbz0nVUNTIGNvZGUgcG9pbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxVQ1NJc01hdGhlbWF0aWNhbEFscGhhbnVtZXJpY1N5bWJvbHMnIGZpbGU9J3htbHVuaWNvZGUnIG1vZHVsZT0neG1sdW5pY29kZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgTWF0aGVtYXRpY2FsQWxwaGFudW1lcmljU3ltYm9scyBVQ1MgQmxvY2s8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB0cnVlIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2NvZGUnIHR5cGU9J2ludCcgaW5mbz0nVUNTIGNvZGUgcG9pbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxVQ1NJc01hdGhlbWF0aWNhbE9wZXJhdG9ycycgZmlsZT0neG1sdW5pY29kZScgbW9kdWxlPSd4bWx1bmljb2RlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBNYXRoZW1hdGljYWxPcGVyYXRvcnMgVUNTIEJsb2NrPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgdHJ1ZSAwIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdjb2RlJyB0eXBlPSdpbnQnIGluZm89J1VDUyBjb2RlIHBvaW50Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVUNTSXNNaXNjZWxsYW5lb3VzTWF0aGVtYXRpY2FsU3ltYm9sc0EnIGZpbGU9J3htbHVuaWNvZGUnIG1vZHVsZT0neG1sdW5pY29kZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgTWlzY2VsbGFuZW91c01hdGhlbWF0aWNhbFN5bWJvbHMtQSBVQ1MgQmxvY2s8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB0cnVlIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2NvZGUnIHR5cGU9J2ludCcgaW5mbz0nVUNTIGNvZGUgcG9pbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxVQ1NJc01pc2NlbGxhbmVvdXNNYXRoZW1hdGljYWxTeW1ib2xzQicgZmlsZT0neG1sdW5pY29kZScgbW9kdWxlPSd4bWx1bmljb2RlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBNaXNjZWxsYW5lb3VzTWF0aGVtYXRpY2FsU3ltYm9scy1CIFVDUyBCbG9jazwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRydWUgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29kZScgdHlwZT0naW50JyBpbmZvPSdVQ1MgY29kZSBwb2ludCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVDU0lzTWlzY2VsbGFuZW91c1N5bWJvbHMnIGZpbGU9J3htbHVuaWNvZGUnIG1vZHVsZT0neG1sdW5pY29kZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgTWlzY2VsbGFuZW91c1N5bWJvbHMgVUNTIEJsb2NrPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgdHJ1ZSAwIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdjb2RlJyB0eXBlPSdpbnQnIGluZm89J1VDUyBjb2RlIHBvaW50Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVUNTSXNNaXNjZWxsYW5lb3VzU3ltYm9sc2FuZEFycm93cycgZmlsZT0neG1sdW5pY29kZScgbW9kdWxlPSd4bWx1bmljb2RlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBNaXNjZWxsYW5lb3VzU3ltYm9sc2FuZEFycm93cyBVQ1MgQmxvY2s8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB0cnVlIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2NvZGUnIHR5cGU9J2ludCcgaW5mbz0nVUNTIGNvZGUgcG9pbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxVQ1NJc01pc2NlbGxhbmVvdXNUZWNobmljYWwnIGZpbGU9J3htbHVuaWNvZGUnIG1vZHVsZT0neG1sdW5pY29kZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgTWlzY2VsbGFuZW91c1RlY2huaWNhbCBVQ1MgQmxvY2s8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB0cnVlIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2NvZGUnIHR5cGU9J2ludCcgaW5mbz0nVUNTIGNvZGUgcG9pbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxVQ1NJc01vbmdvbGlhbicgZmlsZT0neG1sdW5pY29kZScgbW9kdWxlPSd4bWx1bmljb2RlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBNb25nb2xpYW4gVUNTIEJsb2NrPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgdHJ1ZSAwIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdjb2RlJyB0eXBlPSdpbnQnIGluZm89J1VDUyBjb2RlIHBvaW50Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVUNTSXNNdXNpY2FsU3ltYm9scycgZmlsZT0neG1sdW5pY29kZScgbW9kdWxlPSd4bWx1bmljb2RlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBNdXNpY2FsU3ltYm9scyBVQ1MgQmxvY2s8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB0cnVlIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2NvZGUnIHR5cGU9J2ludCcgaW5mbz0nVUNTIGNvZGUgcG9pbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxVQ1NJc015YW5tYXInIGZpbGU9J3htbHVuaWNvZGUnIG1vZHVsZT0neG1sdW5pY29kZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgTXlhbm1hciBVQ1MgQmxvY2s8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB0cnVlIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2NvZGUnIHR5cGU9J2ludCcgaW5mbz0nVUNTIGNvZGUgcG9pbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxVQ1NJc051bWJlckZvcm1zJyBmaWxlPSd4bWx1bmljb2RlJyBtb2R1bGU9J3htbHVuaWNvZGUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIE51bWJlckZvcm1zIFVDUyBCbG9jazwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRydWUgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29kZScgdHlwZT0naW50JyBpbmZvPSdVQ1MgY29kZSBwb2ludCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVDU0lzT2doYW0nIGZpbGU9J3htbHVuaWNvZGUnIG1vZHVsZT0neG1sdW5pY29kZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgT2doYW0gVUNTIEJsb2NrPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgdHJ1ZSAwIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdjb2RlJyB0eXBlPSdpbnQnIGluZm89J1VDUyBjb2RlIHBvaW50Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVUNTSXNPbGRJdGFsaWMnIGZpbGU9J3htbHVuaWNvZGUnIG1vZHVsZT0neG1sdW5pY29kZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgT2xkSXRhbGljIFVDUyBCbG9jazwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRydWUgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29kZScgdHlwZT0naW50JyBpbmZvPSdVQ1MgY29kZSBwb2ludCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVDU0lzT3B0aWNhbENoYXJhY3RlclJlY29nbml0aW9uJyBmaWxlPSd4bWx1bmljb2RlJyBtb2R1bGU9J3htbHVuaWNvZGUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIE9wdGljYWxDaGFyYWN0ZXJSZWNvZ25pdGlvbiBVQ1MgQmxvY2s8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB0cnVlIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2NvZGUnIHR5cGU9J2ludCcgaW5mbz0nVUNTIGNvZGUgcG9pbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxVQ1NJc09yaXlhJyBmaWxlPSd4bWx1bmljb2RlJyBtb2R1bGU9J3htbHVuaWNvZGUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIE9yaXlhIFVDUyBCbG9jazwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRydWUgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29kZScgdHlwZT0naW50JyBpbmZvPSdVQ1MgY29kZSBwb2ludCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVDU0lzT3NtYW55YScgZmlsZT0neG1sdW5pY29kZScgbW9kdWxlPSd4bWx1bmljb2RlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBPc21hbnlhIFVDUyBCbG9jazwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRydWUgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29kZScgdHlwZT0naW50JyBpbmZvPSdVQ1MgY29kZSBwb2ludCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVDU0lzUGhvbmV0aWNFeHRlbnNpb25zJyBmaWxlPSd4bWx1bmljb2RlJyBtb2R1bGU9J3htbHVuaWNvZGUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFBob25ldGljRXh0ZW5zaW9ucyBVQ1MgQmxvY2s8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB0cnVlIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2NvZGUnIHR5cGU9J2ludCcgaW5mbz0nVUNTIGNvZGUgcG9pbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxVQ1NJc1ByaXZhdGVVc2UnIGZpbGU9J3htbHVuaWNvZGUnIG1vZHVsZT0neG1sdW5pY29kZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgUHJpdmF0ZVVzZSBVQ1MgQmxvY2s8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB0cnVlIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2NvZGUnIHR5cGU9J2ludCcgaW5mbz0nVUNTIGNvZGUgcG9pbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxVQ1NJc1ByaXZhdGVVc2VBcmVhJyBmaWxlPSd4bWx1bmljb2RlJyBtb2R1bGU9J3htbHVuaWNvZGUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFByaXZhdGVVc2VBcmVhIFVDUyBCbG9jazwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRydWUgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29kZScgdHlwZT0naW50JyBpbmZvPSdVQ1MgY29kZSBwb2ludCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVDU0lzUnVuaWMnIGZpbGU9J3htbHVuaWNvZGUnIG1vZHVsZT0neG1sdW5pY29kZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgUnVuaWMgVUNTIEJsb2NrPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgdHJ1ZSAwIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdjb2RlJyB0eXBlPSdpbnQnIGluZm89J1VDUyBjb2RlIHBvaW50Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVUNTSXNTaGF2aWFuJyBmaWxlPSd4bWx1bmljb2RlJyBtb2R1bGU9J3htbHVuaWNvZGUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFNoYXZpYW4gVUNTIEJsb2NrPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgdHJ1ZSAwIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdjb2RlJyB0eXBlPSdpbnQnIGluZm89J1VDUyBjb2RlIHBvaW50Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVUNTSXNTaW5oYWxhJyBmaWxlPSd4bWx1bmljb2RlJyBtb2R1bGU9J3htbHVuaWNvZGUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFNpbmhhbGEgVUNTIEJsb2NrPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgdHJ1ZSAwIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdjb2RlJyB0eXBlPSdpbnQnIGluZm89J1VDUyBjb2RlIHBvaW50Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVUNTSXNTbWFsbEZvcm1WYXJpYW50cycgZmlsZT0neG1sdW5pY29kZScgbW9kdWxlPSd4bWx1bmljb2RlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBTbWFsbEZvcm1WYXJpYW50cyBVQ1MgQmxvY2s8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB0cnVlIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2NvZGUnIHR5cGU9J2ludCcgaW5mbz0nVUNTIGNvZGUgcG9pbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxVQ1NJc1NwYWNpbmdNb2RpZmllckxldHRlcnMnIGZpbGU9J3htbHVuaWNvZGUnIG1vZHVsZT0neG1sdW5pY29kZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgU3BhY2luZ01vZGlmaWVyTGV0dGVycyBVQ1MgQmxvY2s8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB0cnVlIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2NvZGUnIHR5cGU9J2ludCcgaW5mbz0nVUNTIGNvZGUgcG9pbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxVQ1NJc1NwZWNpYWxzJyBmaWxlPSd4bWx1bmljb2RlJyBtb2R1bGU9J3htbHVuaWNvZGUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFNwZWNpYWxzIFVDUyBCbG9jazwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRydWUgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29kZScgdHlwZT0naW50JyBpbmZvPSdVQ1MgY29kZSBwb2ludCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVDU0lzU3VwZXJzY3JpcHRzYW5kU3Vic2NyaXB0cycgZmlsZT0neG1sdW5pY29kZScgbW9kdWxlPSd4bWx1bmljb2RlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBTdXBlcnNjcmlwdHNhbmRTdWJzY3JpcHRzIFVDUyBCbG9jazwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRydWUgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29kZScgdHlwZT0naW50JyBpbmZvPSdVQ1MgY29kZSBwb2ludCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVDU0lzU3VwcGxlbWVudGFsQXJyb3dzQScgZmlsZT0neG1sdW5pY29kZScgbW9kdWxlPSd4bWx1bmljb2RlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBTdXBwbGVtZW50YWxBcnJvd3MtQSBVQ1MgQmxvY2s8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB0cnVlIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2NvZGUnIHR5cGU9J2ludCcgaW5mbz0nVUNTIGNvZGUgcG9pbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxVQ1NJc1N1cHBsZW1lbnRhbEFycm93c0InIGZpbGU9J3htbHVuaWNvZGUnIG1vZHVsZT0neG1sdW5pY29kZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgU3VwcGxlbWVudGFsQXJyb3dzLUIgVUNTIEJsb2NrPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgdHJ1ZSAwIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdjb2RlJyB0eXBlPSdpbnQnIGluZm89J1VDUyBjb2RlIHBvaW50Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVUNTSXNTdXBwbGVtZW50YWxNYXRoZW1hdGljYWxPcGVyYXRvcnMnIGZpbGU9J3htbHVuaWNvZGUnIG1vZHVsZT0neG1sdW5pY29kZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgU3VwcGxlbWVudGFsTWF0aGVtYXRpY2FsT3BlcmF0b3JzIFVDUyBCbG9jazwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRydWUgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29kZScgdHlwZT0naW50JyBpbmZvPSdVQ1MgY29kZSBwb2ludCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVDU0lzU3VwcGxlbWVudGFyeVByaXZhdGVVc2VBcmVhQScgZmlsZT0neG1sdW5pY29kZScgbW9kdWxlPSd4bWx1bmljb2RlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBTdXBwbGVtZW50YXJ5UHJpdmF0ZVVzZUFyZWEtQSBVQ1MgQmxvY2s8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB0cnVlIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2NvZGUnIHR5cGU9J2ludCcgaW5mbz0nVUNTIGNvZGUgcG9pbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxVQ1NJc1N1cHBsZW1lbnRhcnlQcml2YXRlVXNlQXJlYUInIGZpbGU9J3htbHVuaWNvZGUnIG1vZHVsZT0neG1sdW5pY29kZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgU3VwcGxlbWVudGFyeVByaXZhdGVVc2VBcmVhLUIgVUNTIEJsb2NrPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgdHJ1ZSAwIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdjb2RlJyB0eXBlPSdpbnQnIGluZm89J1VDUyBjb2RlIHBvaW50Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVUNTSXNTeXJpYWMnIGZpbGU9J3htbHVuaWNvZGUnIG1vZHVsZT0neG1sdW5pY29kZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgU3lyaWFjIFVDUyBCbG9jazwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRydWUgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29kZScgdHlwZT0naW50JyBpbmZvPSdVQ1MgY29kZSBwb2ludCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVDU0lzVGFnYWxvZycgZmlsZT0neG1sdW5pY29kZScgbW9kdWxlPSd4bWx1bmljb2RlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBUYWdhbG9nIFVDUyBCbG9jazwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRydWUgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29kZScgdHlwZT0naW50JyBpbmZvPSdVQ1MgY29kZSBwb2ludCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVDU0lzVGFnYmFud2EnIGZpbGU9J3htbHVuaWNvZGUnIG1vZHVsZT0neG1sdW5pY29kZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgVGFnYmFud2EgVUNTIEJsb2NrPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgdHJ1ZSAwIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdjb2RlJyB0eXBlPSdpbnQnIGluZm89J1VDUyBjb2RlIHBvaW50Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVUNTSXNUYWdzJyBmaWxlPSd4bWx1bmljb2RlJyBtb2R1bGU9J3htbHVuaWNvZGUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFRhZ3MgVUNTIEJsb2NrPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgdHJ1ZSAwIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdjb2RlJyB0eXBlPSdpbnQnIGluZm89J1VDUyBjb2RlIHBvaW50Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVUNTSXNUYWlMZScgZmlsZT0neG1sdW5pY29kZScgbW9kdWxlPSd4bWx1bmljb2RlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBUYWlMZSBVQ1MgQmxvY2s8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB0cnVlIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2NvZGUnIHR5cGU9J2ludCcgaW5mbz0nVUNTIGNvZGUgcG9pbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxVQ1NJc1RhaVh1YW5KaW5nU3ltYm9scycgZmlsZT0neG1sdW5pY29kZScgbW9kdWxlPSd4bWx1bmljb2RlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBUYWlYdWFuSmluZ1N5bWJvbHMgVUNTIEJsb2NrPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgdHJ1ZSAwIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdjb2RlJyB0eXBlPSdpbnQnIGluZm89J1VDUyBjb2RlIHBvaW50Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVUNTSXNUYW1pbCcgZmlsZT0neG1sdW5pY29kZScgbW9kdWxlPSd4bWx1bmljb2RlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBUYW1pbCBVQ1MgQmxvY2s8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB0cnVlIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2NvZGUnIHR5cGU9J2ludCcgaW5mbz0nVUNTIGNvZGUgcG9pbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxVQ1NJc1RlbHVndScgZmlsZT0neG1sdW5pY29kZScgbW9kdWxlPSd4bWx1bmljb2RlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBUZWx1Z3UgVUNTIEJsb2NrPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgdHJ1ZSAwIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdjb2RlJyB0eXBlPSdpbnQnIGluZm89J1VDUyBjb2RlIHBvaW50Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVUNTSXNUaGFhbmEnIGZpbGU9J3htbHVuaWNvZGUnIG1vZHVsZT0neG1sdW5pY29kZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgVGhhYW5hIFVDUyBCbG9jazwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRydWUgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29kZScgdHlwZT0naW50JyBpbmZvPSdVQ1MgY29kZSBwb2ludCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVDU0lzVGhhaScgZmlsZT0neG1sdW5pY29kZScgbW9kdWxlPSd4bWx1bmljb2RlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBUaGFpIFVDUyBCbG9jazwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRydWUgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29kZScgdHlwZT0naW50JyBpbmZvPSdVQ1MgY29kZSBwb2ludCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVDU0lzVGliZXRhbicgZmlsZT0neG1sdW5pY29kZScgbW9kdWxlPSd4bWx1bmljb2RlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBUaWJldGFuIFVDUyBCbG9jazwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRydWUgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29kZScgdHlwZT0naW50JyBpbmZvPSdVQ1MgY29kZSBwb2ludCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVDU0lzVWdhcml0aWMnIGZpbGU9J3htbHVuaWNvZGUnIG1vZHVsZT0neG1sdW5pY29kZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgVWdhcml0aWMgVUNTIEJsb2NrPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgdHJ1ZSAwIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdjb2RlJyB0eXBlPSdpbnQnIGluZm89J1VDUyBjb2RlIHBvaW50Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVUNTSXNVbmlmaWVkQ2FuYWRpYW5BYm9yaWdpbmFsU3lsbGFiaWNzJyBmaWxlPSd4bWx1bmljb2RlJyBtb2R1bGU9J3htbHVuaWNvZGUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFVuaWZpZWRDYW5hZGlhbkFib3JpZ2luYWxTeWxsYWJpY3MgVUNTIEJsb2NrPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgdHJ1ZSAwIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdjb2RlJyB0eXBlPSdpbnQnIGluZm89J1VDUyBjb2RlIHBvaW50Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVUNTSXNWYXJpYXRpb25TZWxlY3RvcnMnIGZpbGU9J3htbHVuaWNvZGUnIG1vZHVsZT0neG1sdW5pY29kZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgVmFyaWF0aW9uU2VsZWN0b3JzIFVDUyBCbG9jazwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRydWUgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29kZScgdHlwZT0naW50JyBpbmZvPSdVQ1MgY29kZSBwb2ludCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVDU0lzVmFyaWF0aW9uU2VsZWN0b3JzU3VwcGxlbWVudCcgZmlsZT0neG1sdW5pY29kZScgbW9kdWxlPSd4bWx1bmljb2RlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBWYXJpYXRpb25TZWxlY3RvcnNTdXBwbGVtZW50IFVDUyBCbG9jazwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRydWUgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29kZScgdHlwZT0naW50JyBpbmZvPSdVQ1MgY29kZSBwb2ludCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVDU0lzWWlSYWRpY2FscycgZmlsZT0neG1sdW5pY29kZScgbW9kdWxlPSd4bWx1bmljb2RlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBZaVJhZGljYWxzIFVDUyBCbG9jazwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRydWUgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29kZScgdHlwZT0naW50JyBpbmZvPSdVQ1MgY29kZSBwb2ludCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVDU0lzWWlTeWxsYWJsZXMnIGZpbGU9J3htbHVuaWNvZGUnIG1vZHVsZT0neG1sdW5pY29kZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgWWlTeWxsYWJsZXMgVUNTIEJsb2NrPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgdHJ1ZSAwIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdjb2RlJyB0eXBlPSdpbnQnIGluZm89J1VDUyBjb2RlIHBvaW50Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVUNTSXNZaWppbmdIZXhhZ3JhbVN5bWJvbHMnIGZpbGU9J3htbHVuaWNvZGUnIG1vZHVsZT0neG1sdW5pY29kZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgWWlqaW5nSGV4YWdyYW1TeW1ib2xzIFVDUyBCbG9jazwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRydWUgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29kZScgdHlwZT0naW50JyBpbmZvPSdVQ1MgY29kZSBwb2ludCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVSSUVzY2FwZScgZmlsZT0ndXJpJyBtb2R1bGU9J3VyaSc+CisgICAgICA8aW5mbz5Fc2NhcGluZyByb3V0aW5lLCBkb2VzIG5vdCBkbyB2YWxpZGl0eSBjaGVja3MgISBJdCB3aWxsIHRyeSB0byBlc2NhcGUgdGhlIGNoYXJzIG5lZWRpbmcgdGhpcywgYnV0IHRoaXMgaXMgaGV1cmlzdGljIGJhc2VkIGl0JmFwb3M7cyBpbXBvc3NpYmxlIHRvIGJlIHN1cmUuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxDaGFyIConIGluZm89J2FuIGNvcHkgb2YgdGhlIHN0cmluZywgYnV0IGVzY2FwZWQgIDI1IE1heSAyMDAxIFVzZXMgeG1sUGFyc2VVUkkgYW5kIHhtbFVSSUVzY2FwZVN0ciB0byB0cnkgdG8gZXNjYXBlIGNvcnJlY3RseSBhY2NvcmRpbmcgdG8gUkZDMjM5Ni4gLSBDYXJsIERvdWdsYXMnLz4KKyAgICAgIDxhcmcgbmFtZT0nc3RyJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBzdHJpbmcgb2YgdGhlIFVSSSB0byBlc2NhcGUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxVUklFc2NhcGVTdHInIGZpbGU9J3VyaScgbW9kdWxlPSd1cmknPgorICAgICAgPGluZm8+VGhpcyByb3V0aW5lIGVzY2FwZXMgYSBzdHJpbmcgdG8gaGV4LCBpZ25vcmluZyByZXNlcnZlZCBjaGFyYWN0ZXJzIChhLXopIGFuZCB0aGUgY2hhcmFjdGVycyBpbiB0aGUgZXhjZXB0aW9uIGxpc3QuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxDaGFyIConIGluZm89J2EgbmV3IGVzY2FwZWQgc3RyaW5nIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci4nLz4KKyAgICAgIDxhcmcgbmFtZT0nc3RyJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3N0cmluZyB0byBlc2NhcGUnLz4KKyAgICAgIDxhcmcgbmFtZT0nbGlzdCcgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSdleGNlcHRpb24gbGlzdCBzdHJpbmcgb2YgY2hhcnMgbm90IHRvIGVzY2FwZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVSSVVuZXNjYXBlU3RyaW5nJyBmaWxlPSd1cmknIG1vZHVsZT0ndXJpJz4KKyAgICAgIDxpbmZvPlVuZXNjYXBpbmcgcm91dGluZSwgYnV0IGRvZXMgbm90IGNoZWNrIHRoYXQgdGhlIHN0cmluZyBpcyBhbiBVUkkuIFRoZSBvdXRwdXQgaXMgYSBkaXJlY3QgdW5zaWduZWQgY2hhciB0cmFuc2xhdGlvbiBvZiAlWFggdmFsdWVzIChubyBlbmNvZGluZykgTm90ZSB0aGF0IHRoZSBsZW5ndGggb2YgdGhlIHJlc3VsdCBjYW4gb25seSBiZSBzbWFsbGVyIG9yIHNhbWUgc2l6ZSBhcyB0aGUgaW5wdXQgc3RyaW5nLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0nY2hhciAqJyBpbmZvPSdhIGNvcHkgb2YgdGhlIHN0cmluZywgYnV0IHVuZXNjYXBlZCwgd2lsbCByZXR1cm4gTlVMTCBvbmx5IGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0nc3RyJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBzdHJpbmcgdG8gdW5lc2NhcGUnLz4KKyAgICAgIDxhcmcgbmFtZT0nbGVuJyB0eXBlPSdpbnQnIGluZm89J3RoZSBsZW5ndGggaW4gYnl0ZXMgdG8gdW5lc2NhcGUgKG9yICZsdDs9IDAgdG8gaW5kaWNhdGUgZnVsbCBzdHJpbmcpJy8+CisgICAgICA8YXJnIG5hbWU9J3RhcmdldCcgdHlwZT0nY2hhciAqJyBpbmZvPSdvcHRpb25hbCBkZXN0aW5hdGlvbiBidWZmZXInLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxVVEY4Q2hhcmNtcCcgZmlsZT0neG1sc3RyaW5nJyBtb2R1bGU9J3htbHN0cmluZyc+CisgICAgICA8aW5mbz5jb21wYXJlcyB0aGUgdHdvIFVDUzQgdmFsdWVzPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J3Jlc3VsdCBvZiB0aGUgY29tcGFyZSBhcyB3aXRoIHhtbFN0cm5jbXAnLz4KKyAgICAgIDxhcmcgbmFtZT0ndXRmMScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSdwb2ludGVyIHRvIGZpcnN0IFVURjggY2hhcicvPgorICAgICAgPGFyZyBuYW1lPSd1dGYyJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3BvaW50ZXIgdG8gc2Vjb25kIFVURjggY2hhcicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVURjhTaXplJyBmaWxlPSd4bWxzdHJpbmcnIG1vZHVsZT0neG1sc3RyaW5nJz4KKyAgICAgIDxpbmZvPmNhbGN1bGF0ZXMgdGhlIGludGVybmFsIHNpemUgb2YgYSBVVEY4IGNoYXJhY3RlcjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgbnVtYmVycyBvZiBieXRlcyBpbiB0aGUgY2hhcmFjdGVyLCAtMSBvbiBmb3JtYXQgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0ndXRmJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3BvaW50ZXIgdG8gdGhlIFVURjggY2hhcmFjdGVyJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVVRGOFN0cmxlbicgZmlsZT0neG1sc3RyaW5nJyBtb2R1bGU9J3htbHN0cmluZyc+CisgICAgICA8aW5mbz5jb21wdXRlIHRoZSBsZW5ndGggb2YgYW4gVVRGOCBzdHJpbmcsIGl0IGRvZXNuJmFwb3M7dCBkbyBhIGZ1bGwgVVRGOCBjaGVja2luZyBvZiB0aGUgY29udGVudCBvZiB0aGUgc3RyaW5nLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgbnVtYmVyIG9mIGNoYXJhY3RlcnMgaW4gdGhlIHN0cmluZyBvciAtMSBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J3V0ZicgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSdhIHNlcXVlbmNlIG9mIFVURi04IGVuY29kZWQgYnl0ZXMnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxVVEY4U3RybG9jJyBmaWxlPSd4bWxzdHJpbmcnIG1vZHVsZT0neG1sc3RyaW5nJz4KKyAgICAgIDxpbmZvPmEgZnVuY3Rpb24gdG8gcHJvdmlkZSB0aGUgcmVsYXRpdmUgbG9jYXRpb24gb2YgYSBVVEY4IGNoYXI8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndGhlIHJlbGF0aXZlIGNoYXJhY3RlciBwb3NpdGlvbiBvZiB0aGUgZGVzaXJlZCBjaGFyIG9yIC0xIGlmIG5vdCBmb3VuZCcvPgorICAgICAgPGFyZyBuYW1lPSd1dGYnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIGlucHV0IFVURjggKicvPgorICAgICAgPGFyZyBuYW1lPSd1dGZjaGFyJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBVVEY4IGNoYXJhY3RlciB0byBiZSBmb3VuZCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVURjhTdHJuZHVwJyBmaWxlPSd4bWxzdHJpbmcnIG1vZHVsZT0neG1sc3RyaW5nJz4KKyAgICAgIDxpbmZvPmEgc3RybmR1cCBmb3IgYXJyYXkgb2YgVVRGOCZhcG9zO3M8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbENoYXIgKicgaW5mbz0nYSBuZXcgVVRGOCAqIG9yIE5VTEwnLz4KKyAgICAgIDxhcmcgbmFtZT0ndXRmJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBpbnB1dCBVVEY4IConLz4KKyAgICAgIDxhcmcgbmFtZT0nbGVuJyB0eXBlPSdpbnQnIGluZm89J3RoZSBsZW4gb2YgQHV0ZiAoaW4gY2hhcnMpJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVVRGOFN0cnBvcycgZmlsZT0neG1sc3RyaW5nJyBtb2R1bGU9J3htbHN0cmluZyc+CisgICAgICA8aW5mbz5hIGZ1bmN0aW9uIHRvIHByb3ZpZGUgdGhlIGVxdWl2YWxlbnQgb2YgZmV0Y2hpbmcgYSBjaGFyYWN0ZXIgZnJvbSBhIHN0cmluZyBhcnJheTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSdhIHBvaW50ZXIgdG8gdGhlIFVURjggY2hhcmFjdGVyIG9yIE5VTEwnLz4KKyAgICAgIDxhcmcgbmFtZT0ndXRmJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBpbnB1dCBVVEY4IConLz4KKyAgICAgIDxhcmcgbmFtZT0ncG9zJyB0eXBlPSdpbnQnIGluZm89J3RoZSBwb3NpdGlvbiBvZiB0aGUgZGVzaXJlZCBVVEY4IGNoYXIgKGluIGNoYXJzKScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVURjhTdHJzaXplJyBmaWxlPSd4bWxzdHJpbmcnIG1vZHVsZT0neG1sc3RyaW5nJz4KKyAgICAgIDxpbmZvPnN0b3JhZ2Ugc2l6ZSBvZiBhbiBVVEY4IHN0cmluZyB0aGUgYmVoYXZpb3VyIGlzIG5vdCBnYXJhbnRlZWQgaWYgdGhlIGlucHV0IHN0cmluZyBpcyBub3QgVVRGLTg8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndGhlIHN0b3JhZ2Ugc2l6ZSBvZiB0aGUgZmlyc3QgJmFwb3M7bGVuJmFwb3M7IGNoYXJhY3RlcnMgb2YgQVJSQVknLz4KKyAgICAgIDxhcmcgbmFtZT0ndXRmJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J2Egc2VxdWVuY2Ugb2YgVVRGLTggZW5jb2RlZCBieXRlcycvPgorICAgICAgPGFyZyBuYW1lPSdsZW4nIHR5cGU9J2ludCcgaW5mbz0ndGhlIG51bWJlciBvZiBjaGFyYWN0ZXJzIGluIHRoZSBhcnJheScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVURjhTdHJzdWInIGZpbGU9J3htbHN0cmluZycgbW9kdWxlPSd4bWxzdHJpbmcnPgorICAgICAgPGluZm8+Q3JlYXRlIGEgc3Vic3RyaW5nIGZyb20gYSBnaXZlbiBVVEYtOCBzdHJpbmcgTm90ZTogIHBvc2l0aW9ucyBhcmUgZ2l2ZW4gaW4gdW5pdHMgb2YgVVRGLTggY2hhcnM8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbENoYXIgKicgaW5mbz0nYSBwb2ludGVyIHRvIGEgbmV3bHkgY3JlYXRlZCBzdHJpbmcgb3IgTlVMTCBpZiBhbnkgcHJvYmxlbScvPgorICAgICAgPGFyZyBuYW1lPSd1dGYnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nYSBzZXF1ZW5jZSBvZiBVVEYtOCBlbmNvZGVkIGJ5dGVzJy8+CisgICAgICA8YXJnIG5hbWU9J3N0YXJ0JyB0eXBlPSdpbnQnIGluZm89J3JlbGF0aXZlIHBvcyBvZiBmaXJzdCBjaGFyJy8+CisgICAgICA8YXJnIG5hbWU9J2xlbicgdHlwZT0naW50JyBpbmZvPSd0b3RhbCBudW1iZXIgdG8gY29weScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVubGlua05vZGUnIGZpbGU9J3RyZWUnIG1vZHVsZT0ndHJlZSc+CisgICAgICA8aW5mbz5VbmxpbmsgYSBub2RlIGZyb20gaXQmYXBvcztzIGN1cnJlbnQgY29udGV4dCwgdGhlIG5vZGUgaXMgbm90IGZyZWVkIElmIG9uZSBuZWVkIHRvIGZyZWUgdGhlIG5vZGUsIHVzZSB4bWxGcmVlTm9kZSgpIHJvdXRpbmUgYWZ0ZXIgdGhlIHVubGluayB0byBkaXNjYXJkIGl0LiBOb3RlIHRoYXQgbmFtZXNwYWNlIG5vZGVzIGNhbiZhcG9zO3QgYmUgdW5saW5rZWQgYXMgdGhleSBkbyBub3QgaGF2ZSBwb2ludGVyIHRvIHRoZWlyIHBhcmVudC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3VyJyB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSd0aGUgbm9kZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVubG9ja0xpYnJhcnknIGZpbGU9J3RocmVhZHMnIG1vZHVsZT0ndGhyZWFkcyc+CisgICAgICA8aW5mbz54bWxVbmxvY2tMaWJyYXJ5KCkgaXMgdXNlZCB0byByZWxlYXNlIGEgcmUtZW50cmFudCBsb2NrIG9uIHRoZSBsaWJ4bWwyIGxpYnJhcnkuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVW5zZXROc1Byb3AnIGZpbGU9J3RyZWUnIG1vZHVsZT0ndHJlZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5SZW1vdmUgYW4gYXR0cmlidXRlIGNhcnJpZWQgYnkgYSBub2RlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScwIGlmIHN1Y2Nlc3NmdWwsIC0xIGlmIG5vdCBmb3VuZCcvPgorICAgICAgPGFyZyBuYW1lPSdub2RlJyB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSd0aGUgbm9kZScvPgorICAgICAgPGFyZyBuYW1lPSducycgdHlwZT0neG1sTnNQdHInIGluZm89J3RoZSBuYW1lc3BhY2UgZGVmaW5pdGlvbicvPgorICAgICAgPGFyZyBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBhdHRyaWJ1dGUgbmFtZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVuc2V0UHJvcCcgZmlsZT0ndHJlZScgbW9kdWxlPSd0cmVlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlJlbW92ZSBhbiBhdHRyaWJ1dGUgY2FycmllZCBieSBhIG5vZGUuIFRoaXMgaGFuZGxlcyBvbmx5IGF0dHJpYnV0ZXMgaW4gbm8gbmFtZXNwYWNlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScwIGlmIHN1Y2Nlc3NmdWwsIC0xIGlmIG5vdCBmb3VuZCcvPgorICAgICAgPGFyZyBuYW1lPSdub2RlJyB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSd0aGUgbm9kZScvPgorICAgICAgPGFyZyBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBhdHRyaWJ1dGUgbmFtZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFZhbGlkQnVpbGRDb250ZW50TW9kZWwnIGZpbGU9J3ZhbGlkJyBtb2R1bGU9J3ZhbGlkJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1ZBTElEX0VOQUJMRUQpICZhbXA7JmFtcDsgZGVmaW5lZChMSUJYTUxfUkVHRVhQX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+KFJlKUJ1aWxkIHRoZSBhdXRvbWF0YSBhc3NvY2lhdGVkIHRvIHRoZSBjb250ZW50IG1vZGVsIG9mIHRoaXMgZWxlbWVudDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGluIGNhc2Ugb2Ygc3VjY2VzcywgMCBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFZhbGlkQ3R4dFB0cicgaW5mbz0nYSB2YWxpZGF0aW9uIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZWxlbScgdHlwZT0neG1sRWxlbWVudFB0cicgaW5mbz0nYW4gZWxlbWVudCBkZWNsYXJhdGlvbiBub2RlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVmFsaWRDdHh0Tm9ybWFsaXplQXR0cmlidXRlVmFsdWUnIGZpbGU9J3ZhbGlkJyBtb2R1bGU9J3ZhbGlkJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1ZBTElEX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+RG9lcyB0aGUgdmFsaWRhdGlvbiByZWxhdGVkIGV4dHJhIHN0ZXAgb2YgdGhlIG5vcm1hbGl6YXRpb24gb2YgYXR0cmlidXRlIHZhbHVlczogIElmIHRoZSBkZWNsYXJlZCB2YWx1ZSBpcyBub3QgQ0RBVEEsIHRoZW4gdGhlIFhNTCBwcm9jZXNzb3IgbXVzdCBmdXJ0aGVyIHByb2Nlc3MgdGhlIG5vcm1hbGl6ZWQgYXR0cmlidXRlIHZhbHVlIGJ5IGRpc2NhcmRpbmcgYW55IGxlYWRpbmcgYW5kIHRyYWlsaW5nIHNwYWNlICgjeDIwKSBjaGFyYWN0ZXJzLCBhbmQgYnkgcmVwbGFjaW5nIHNlcXVlbmNlcyBvZiBzcGFjZSAoI3gyMCkgY2hhcmFjdGVycyBieSBzaW5nbGUgc3BhY2UgKCN4MjApIGNoYXJhY3Rlci4gIEFsc28gIGNoZWNrIFZDOiBTdGFuZGFsb25lIERvY3VtZW50IERlY2xhcmF0aW9uIGluIFAzMiwgYW5kIHVwZGF0ZSBjdHh0LSZndDt2YWxpZCBhY2NvcmRpbmdseTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sQ2hhciAqJyBpbmZvPSdhIG5ldyBub3JtYWxpemVkIHN0cmluZyBpZiBub3JtYWxpemF0aW9uIGlzIG5lZWRlZCwgTlVMTCBvdGhlcndpc2UgdGhlIGNhbGxlciBtdXN0IGZyZWUgdGhlIHJldHVybmVkIHZhbHVlLicvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxWYWxpZEN0eHRQdHInIGluZm89J3RoZSB2YWxpZGF0aW9uIGNvbnRleHQgb3IgTlVMTCcvPgorICAgICAgPGFyZyBuYW1lPSdkb2MnIHR5cGU9J3htbERvY1B0cicgaW5mbz0ndGhlIGRvY3VtZW50Jy8+CisgICAgICA8YXJnIG5hbWU9J2VsZW0nIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3RoZSBwYXJlbnQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFtZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgYXR0cmlidXRlIG5hbWUnLz4KKyAgICAgIDxhcmcgbmFtZT0ndmFsdWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIGF0dHJpYnV0ZSB2YWx1ZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFZhbGlkR2V0UG90ZW50aWFsQ2hpbGRyZW4nIGZpbGU9J3ZhbGlkJyBtb2R1bGU9J3ZhbGlkJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1ZBTElEX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+QnVpbGQvZXh0ZW5kIGEgbGlzdCBvZiAgcG90ZW50aWFsIGNoaWxkcmVuIGFsbG93ZWQgYnkgdGhlIGNvbnRlbnQgdHJlZTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgbnVtYmVyIG9mIGVsZW1lbnQgaW4gdGhlIGxpc3QsIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IuJy8+CisgICAgICA8YXJnIG5hbWU9J2N0cmVlJyB0eXBlPSd4bWxFbGVtZW50Q29udGVudCAqJyBpbmZvPSdhbiBlbGVtZW50IGNvbnRlbnQgdHJlZScvPgorICAgICAgPGFyZyBuYW1lPSduYW1lcycgdHlwZT0nY29uc3QgeG1sQ2hhciAqKicgaW5mbz0nYW4gYXJyYXkgdG8gc3RvcmUgdGhlIGxpc3Qgb2YgY2hpbGQgbmFtZXMnLz4KKyAgICAgIDxhcmcgbmFtZT0nbGVuJyB0eXBlPSdpbnQgKicgaW5mbz0nYSBwb2ludGVyIHRvIHRoZSBudW1iZXIgb2YgZWxlbWVudCBpbiB0aGUgbGlzdCcvPgorICAgICAgPGFyZyBuYW1lPSdtYXgnIHR5cGU9J2ludCcgaW5mbz0ndGhlIHNpemUgb2YgdGhlIGFycmF5Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzJyBmaWxlPSd2YWxpZCcgbW9kdWxlPSd2YWxpZCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9WQUxJRF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlRoaXMgZnVuY3Rpb24gcmV0dXJucyB0aGUgbGlzdCBvZiBhdXRob3JpemVkIGNoaWxkcmVuIHRvIGluc2VydCB3aXRoaW4gYW4gZXhpc3RpbmcgdHJlZSB3aGlsZSByZXNwZWN0aW5nIHRoZSB2YWxpZGl0eSBjb25zdHJhaW50cyBmb3JjZWQgYnkgdGhlIER0ZC4gVGhlIGluc2VydGlvbiBwb2ludCBpcyBkZWZpbmVkIHVzaW5nIEBwcmV2IGFuZCBAbmV4dCBpbiB0aGUgZm9sbG93aW5nIHdheXM6IHRvIGluc2VydCBiZWZvcmUgJmFwb3M7bm9kZSZhcG9zOzogeG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzKG5vZGUtJmd0O3ByZXYsIG5vZGUsIC4uLiB0byBpbnNlcnQgbmV4dCAmYXBvcztub2RlJmFwb3M7OiB4bWxWYWxpZEdldFZhbGlkRWxlbWVudHMobm9kZSwgbm9kZS0mZ3Q7bmV4dCwgLi4uIHRvIHJlcGxhY2UgJmFwb3M7bm9kZSZhcG9zOzogeG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzKG5vZGUtJmd0O3ByZXYsIG5vZGUtJmd0O25leHQsIC4uLiB0byBwcmVwZW5kIGEgY2hpbGQgdG8gJmFwb3M7bm9kZSZhcG9zOzogeG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzKE5VTEwsIG5vZGUtJmd0O2NoaWxkcywgdG8gYXBwZW5kIGEgY2hpbGQgdG8gJmFwb3M7bm9kZSZhcG9zOzogeG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzKG5vZGUtJmd0O2xhc3QsIE5VTEwsIC4uLiAgcG9pbnRlcnMgdG8gdGhlIGVsZW1lbnQgbmFtZXMgYXJlIGluc2VydGVkIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGFycmF5IGFuZCBkbyBub3QgbmVlZCB0byBiZSBmcmVlZC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0ndGhlIG51bWJlciBvZiBlbGVtZW50IGluIHRoZSBsaXN0LCBvciAtMSBpbiBjYXNlIG9mIGVycm9yLiBJZiB0aGUgZnVuY3Rpb24gcmV0dXJucyB0aGUgdmFsdWUgQG1heCB0aGUgY2FsbGVyIGlzIGludml0ZWQgdG8gZ3JvdyB0aGUgcmVjZWl2aW5nIGFycmF5IGFuZCByZXRyeS4nLz4KKyAgICAgIDxhcmcgbmFtZT0ncHJldicgdHlwZT0neG1sTm9kZSAqJyBpbmZvPSdhbiBlbGVtZW50IHRvIGluc2VydCBhZnRlcicvPgorICAgICAgPGFyZyBuYW1lPSduZXh0JyB0eXBlPSd4bWxOb2RlIConIGluZm89J2FuIGVsZW1lbnQgdG8gaW5zZXJ0IG5leHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFtZXMnIHR5cGU9J2NvbnN0IHhtbENoYXIgKionIGluZm89J2FuIGFycmF5IHRvIHN0b3JlIHRoZSBsaXN0IG9mIGNoaWxkIG5hbWVzJy8+CisgICAgICA8YXJnIG5hbWU9J21heCcgdHlwZT0naW50JyBpbmZvPSd0aGUgc2l6ZSBvZiB0aGUgYXJyYXknLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxWYWxpZE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlJyBmaWxlPSd2YWxpZCcgbW9kdWxlPSd2YWxpZCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9WQUxJRF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkRvZXMgdGhlIHZhbGlkYXRpb24gcmVsYXRlZCBleHRyYSBzdGVwIG9mIHRoZSBub3JtYWxpemF0aW9uIG9mIGF0dHJpYnV0ZSB2YWx1ZXM6ICBJZiB0aGUgZGVjbGFyZWQgdmFsdWUgaXMgbm90IENEQVRBLCB0aGVuIHRoZSBYTUwgcHJvY2Vzc29yIG11c3QgZnVydGhlciBwcm9jZXNzIHRoZSBub3JtYWxpemVkIGF0dHJpYnV0ZSB2YWx1ZSBieSBkaXNjYXJkaW5nIGFueSBsZWFkaW5nIGFuZCB0cmFpbGluZyBzcGFjZSAoI3gyMCkgY2hhcmFjdGVycywgYW5kIGJ5IHJlcGxhY2luZyBzZXF1ZW5jZXMgb2Ygc3BhY2UgKCN4MjApIGNoYXJhY3RlcnMgYnkgc2luZ2xlIHNwYWNlICgjeDIwKSBjaGFyYWN0ZXIuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxDaGFyIConIGluZm89J2EgbmV3IG5vcm1hbGl6ZWQgc3RyaW5nIGlmIG5vcm1hbGl6YXRpb24gaXMgbmVlZGVkLCBOVUxMIG90aGVyd2lzZSB0aGUgY2FsbGVyIG11c3QgZnJlZSB0aGUgcmV0dXJuZWQgdmFsdWUuJy8+CisgICAgICA8YXJnIG5hbWU9J2RvYycgdHlwZT0neG1sRG9jUHRyJyBpbmZvPSd0aGUgZG9jdW1lbnQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZWxlbScgdHlwZT0neG1sTm9kZVB0cicgaW5mbz0ndGhlIHBhcmVudCcvPgorICAgICAgPGFyZyBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBhdHRyaWJ1dGUgbmFtZScvPgorICAgICAgPGFyZyBuYW1lPSd2YWx1ZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgYXR0cmlidXRlIHZhbHVlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVmFsaWRhdGVBdHRyaWJ1dGVEZWNsJyBmaWxlPSd2YWxpZCcgbW9kdWxlPSd2YWxpZCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9WQUxJRF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlRyeSB0byB2YWxpZGF0ZSBhIHNpbmdsZSBhdHRyaWJ1dGUgZGVmaW5pdGlvbiBiYXNpY2FsbHkgaXQgZG9lcyB0aGUgZm9sbG93aW5nIGNoZWNrcyBhcyBkZXNjcmliZWQgYnkgdGhlIFhNTC0xLjAgcmVjb21tZW5kYXRpb246IC0gWyBWQzogQXR0cmlidXRlIERlZmF1bHQgTGVnYWwgXSAtIFsgVkM6IEVudW1lcmF0aW9uIF0gLSBbIFZDOiBJRCBBdHRyaWJ1dGUgRGVmYXVsdCBdICBUaGUgSUQvSURSRUYgdW5pcXVlbmVzcyBhbmQgbWF0Y2hpbmcgYXJlIGRvbmUgc2VwYXJhdGVseTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHZhbGlkIG9yIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFZhbGlkQ3R4dFB0cicgaW5mbz0ndGhlIHZhbGlkYXRpb24gY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdkb2MnIHR5cGU9J3htbERvY1B0cicgaW5mbz0nYSBkb2N1bWVudCBpbnN0YW5jZScvPgorICAgICAgPGFyZyBuYW1lPSdhdHRyJyB0eXBlPSd4bWxBdHRyaWJ1dGVQdHInIGluZm89J2FuIGF0dHJpYnV0ZSBkZWZpbml0aW9uJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVmFsaWRhdGVBdHRyaWJ1dGVWYWx1ZScgZmlsZT0ndmFsaWQnIG1vZHVsZT0ndmFsaWQnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfVkFMSURfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5WYWxpZGF0ZSB0aGF0IHRoZSBnaXZlbiBhdHRyaWJ1dGUgdmFsdWUgbWF0Y2ggIHRoZSBwcm9wZXIgcHJvZHVjdGlvbiAgWyBWQzogSUQgXSBWYWx1ZXMgb2YgdHlwZSBJRCBtdXN0IG1hdGNoIHRoZSBOYW1lIHByb2R1Y3Rpb24uLi4uICBbIFZDOiBJRFJFRiBdIFZhbHVlcyBvZiB0eXBlIElEUkVGIG11c3QgbWF0Y2ggdGhlIE5hbWUgcHJvZHVjdGlvbiwgYW5kIHZhbHVlcyBvZiB0eXBlIElEUkVGUyBtdXN0IG1hdGNoIE5hbWVzIC4uLiAgWyBWQzogRW50aXR5IE5hbWUgXSBWYWx1ZXMgb2YgdHlwZSBFTlRJVFkgbXVzdCBtYXRjaCB0aGUgTmFtZSBwcm9kdWN0aW9uLCB2YWx1ZXMgb2YgdHlwZSBFTlRJVElFUyBtdXN0IG1hdGNoIE5hbWVzIC4uLiAgWyBWQzogTmFtZSBUb2tlbiBdIFZhbHVlcyBvZiB0eXBlIE5NVE9LRU4gbXVzdCBtYXRjaCB0aGUgTm10b2tlbiBwcm9kdWN0aW9uOyB2YWx1ZXMgb2YgdHlwZSBOTVRPS0VOUyBtdXN0IG1hdGNoIE5tdG9rZW5zLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHZhbGlkIG9yIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J3R5cGUnIHR5cGU9J3htbEF0dHJpYnV0ZVR5cGUnIGluZm89J2FuIGF0dHJpYnV0ZSB0eXBlJy8+CisgICAgICA8YXJnIG5hbWU9J3ZhbHVlJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J2FuIGF0dHJpYnV0ZSB2YWx1ZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFZhbGlkYXRlRG9jdW1lbnQnIGZpbGU9J3ZhbGlkJyBtb2R1bGU9J3ZhbGlkJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1ZBTElEX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+VHJ5IHRvIHZhbGlkYXRlIHRoZSBkb2N1bWVudCBpbnN0YW5jZSAgYmFzaWNhbGx5IGl0IGRvZXMgdGhlIGFsbCB0aGUgY2hlY2tzIGRlc2NyaWJlZCBieSB0aGUgWE1MIFJlYyBpLmUuIHZhbGlkYXRlcyB0aGUgaW50ZXJuYWwgYW5kIGV4dGVybmFsIHN1YnNldCAoaWYgcHJlc2VudCkgYW5kIHZhbGlkYXRlIHRoZSBkb2N1bWVudCB0cmVlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHZhbGlkIG9yIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFZhbGlkQ3R4dFB0cicgaW5mbz0ndGhlIHZhbGlkYXRpb24gY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdkb2MnIHR5cGU9J3htbERvY1B0cicgaW5mbz0nYSBkb2N1bWVudCBpbnN0YW5jZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFZhbGlkYXRlRG9jdW1lbnRGaW5hbCcgZmlsZT0ndmFsaWQnIG1vZHVsZT0ndmFsaWQnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfVkFMSURfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5Eb2VzIHRoZSBmaW5hbCBzdGVwIGZvciB0aGUgZG9jdW1lbnQgdmFsaWRhdGlvbiBvbmNlIGFsbCB0aGUgaW5jcmVtZW50YWwgdmFsaWRhdGlvbiBzdGVwcyBoYXZlIGJlZW4gY29tcGxldGVkICBiYXNpY2FsbHkgaXQgZG9lcyB0aGUgZm9sbG93aW5nIGNoZWNrcyBkZXNjcmliZWQgYnkgdGhlIFhNTCBSZWMgIENoZWNrIGFsbCB0aGUgSURSRUYvSURSRUZTIGF0dHJpYnV0ZXMgZGVmaW5pdGlvbiBmb3IgdmFsaWRpdHk8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB2YWxpZCBvciAwIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxWYWxpZEN0eHRQdHInIGluZm89J3RoZSB2YWxpZGF0aW9uIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZG9jJyB0eXBlPSd4bWxEb2NQdHInIGluZm89J2EgZG9jdW1lbnQgaW5zdGFuY2UnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxWYWxpZGF0ZUR0ZCcgZmlsZT0ndmFsaWQnIG1vZHVsZT0ndmFsaWQnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfVkFMSURfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5UcnkgdG8gdmFsaWRhdGUgdGhlIGRvY3VtZW50IGFnYWluc3QgdGhlIGR0ZCBpbnN0YW5jZSAgQmFzaWNhbGx5IGl0IGRvZXMgY2hlY2sgYWxsIHRoZSBkZWZpbml0aW9ucyBpbiB0aGUgRHRELiBOb3RlIHRoZSB0aGUgaW50ZXJuYWwgc3Vic2V0IChpZiBwcmVzZW50KSBpcyBkZS1jb3VwbGVkIChpLmUuIG5vdCB1c2VkKSwgd2hpY2ggY291bGQgZ2l2ZSBwcm9ibGVtcyBpZiBJRCBvciBJRFJFRiBpcyBwcmVzZW50LjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHZhbGlkIG9yIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFZhbGlkQ3R4dFB0cicgaW5mbz0ndGhlIHZhbGlkYXRpb24gY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdkb2MnIHR5cGU9J3htbERvY1B0cicgaW5mbz0nYSBkb2N1bWVudCBpbnN0YW5jZScvPgorICAgICAgPGFyZyBuYW1lPSdkdGQnIHR5cGU9J3htbER0ZFB0cicgaW5mbz0nYSBkdGQgaW5zdGFuY2UnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxWYWxpZGF0ZUR0ZEZpbmFsJyBmaWxlPSd2YWxpZCcgbW9kdWxlPSd2YWxpZCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9WQUxJRF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkRvZXMgdGhlIGZpbmFsIHN0ZXAgZm9yIHRoZSBkdGRzIHZhbGlkYXRpb24gb25jZSBhbGwgdGhlIHN1YnNldHMgaGF2ZSBiZWVuIHBhcnNlZCAgYmFzaWNhbGx5IGl0IGRvZXMgdGhlIGZvbGxvd2luZyBjaGVja3MgZGVzY3JpYmVkIGJ5IHRoZSBYTUwgUmVjIC0gY2hlY2sgdGhhdCBFTlRJVFkgYW5kIEVOVElUSUVTIHR5cGUgYXR0cmlidXRlcyBkZWZhdWx0IG9yIHBvc3NpYmxlIHZhbHVlcyBtYXRjaGVzIG9uZSBvZiB0aGUgZGVmaW5lZCBlbnRpdGllcy4gLSBjaGVjayB0aGF0IE5PVEFUSU9OIHR5cGUgYXR0cmlidXRlcyBkZWZhdWx0IG9yIHBvc3NpYmxlIHZhbHVlcyBtYXRjaGVzIG9uZSBvZiB0aGUgZGVmaW5lZCBub3RhdGlvbnMuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgdmFsaWQgb3IgMCBpZiBpbnZhbGlkIGFuZCAtMSBpZiBub3Qgd2VsbC1mb3JtZWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sVmFsaWRDdHh0UHRyJyBpbmZvPSd0aGUgdmFsaWRhdGlvbiBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J2RvYycgdHlwZT0neG1sRG9jUHRyJyBpbmZvPSdhIGRvY3VtZW50IGluc3RhbmNlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVmFsaWRhdGVFbGVtZW50JyBmaWxlPSd2YWxpZCcgbW9kdWxlPSd2YWxpZCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9WQUxJRF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlRyeSB0byB2YWxpZGF0ZSB0aGUgc3VidHJlZSB1bmRlciBhbiBlbGVtZW50PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgdmFsaWQgb3IgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sVmFsaWRDdHh0UHRyJyBpbmZvPSd0aGUgdmFsaWRhdGlvbiBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J2RvYycgdHlwZT0neG1sRG9jUHRyJyBpbmZvPSdhIGRvY3VtZW50IGluc3RhbmNlJy8+CisgICAgICA8YXJnIG5hbWU9J2VsZW0nIHR5cGU9J3htbE5vZGVQdHInIGluZm89J2FuIGVsZW1lbnQgaW5zdGFuY2UnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxWYWxpZGF0ZUVsZW1lbnREZWNsJyBmaWxlPSd2YWxpZCcgbW9kdWxlPSd2YWxpZCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9WQUxJRF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlRyeSB0byB2YWxpZGF0ZSBhIHNpbmdsZSBlbGVtZW50IGRlZmluaXRpb24gYmFzaWNhbGx5IGl0IGRvZXMgdGhlIGZvbGxvd2luZyBjaGVja3MgYXMgZGVzY3JpYmVkIGJ5IHRoZSBYTUwtMS4wIHJlY29tbWVuZGF0aW9uOiAtIFsgVkM6IE9uZSBJRCBwZXIgRWxlbWVudCBUeXBlIF0gLSBbIFZDOiBObyBEdXBsaWNhdGUgVHlwZXMgXSAtIFsgVkM6IFVuaXF1ZSBFbGVtZW50IFR5cGUgRGVjbGFyYXRpb24gXTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHZhbGlkIG9yIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFZhbGlkQ3R4dFB0cicgaW5mbz0ndGhlIHZhbGlkYXRpb24gY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdkb2MnIHR5cGU9J3htbERvY1B0cicgaW5mbz0nYSBkb2N1bWVudCBpbnN0YW5jZScvPgorICAgICAgPGFyZyBuYW1lPSdlbGVtJyB0eXBlPSd4bWxFbGVtZW50UHRyJyBpbmZvPSdhbiBlbGVtZW50IGRlZmluaXRpb24nLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxWYWxpZGF0ZU5DTmFtZScgZmlsZT0ndHJlZScgbW9kdWxlPSd0cmVlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9ERUJVR19FTkFCTEVEKSB8fCBkZWZpbmVkIChMSUJYTUxfSFRNTF9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9TQVgxX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX0hUTUxfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX0RPQ0JfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfTEVHQUNZX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgdGhhdCBhIHZhbHVlIGNvbmZvcm1zIHRvIHRoZSBsZXhpY2FsIHNwYWNlIG9mIE5DTmFtZTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScwIGlmIHRoaXMgdmFsaWRhdGVzLCBhIHBvc2l0aXZlIGVycm9yIGNvZGUgbnVtYmVyIG90aGVyd2lzZSBhbmQgLTEgaW4gY2FzZSBvZiBpbnRlcm5hbCBvciBBUEkgZXJyb3IuJy8+CisgICAgICA8YXJnIG5hbWU9J3ZhbHVlJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSB2YWx1ZSB0byBjaGVjaycvPgorICAgICAgPGFyZyBuYW1lPSdzcGFjZScgdHlwZT0naW50JyBpbmZvPSdhbGxvdyBzcGFjZXMgaW4gZnJvbnQgYW5kIGVuZCBvZiB0aGUgc3RyaW5nJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVmFsaWRhdGVOTVRva2VuJyBmaWxlPSd0cmVlJyBtb2R1bGU9J3RyZWUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfVFJFRV9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgdGhhdCBhIHZhbHVlIGNvbmZvcm1zIHRvIHRoZSBsZXhpY2FsIHNwYWNlIG9mIE5NVG9rZW48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMCBpZiB0aGlzIHZhbGlkYXRlcywgYSBwb3NpdGl2ZSBlcnJvciBjb2RlIG51bWJlciBvdGhlcndpc2UgYW5kIC0xIGluIGNhc2Ugb2YgaW50ZXJuYWwgb3IgQVBJIGVycm9yLicvPgorICAgICAgPGFyZyBuYW1lPSd2YWx1ZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgdmFsdWUgdG8gY2hlY2snLz4KKyAgICAgIDxhcmcgbmFtZT0nc3BhY2UnIHR5cGU9J2ludCcgaW5mbz0nYWxsb3cgc3BhY2VzIGluIGZyb250IGFuZCBlbmQgb2YgdGhlIHN0cmluZycvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFZhbGlkYXRlTmFtZScgZmlsZT0ndHJlZScgbW9kdWxlPSd0cmVlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNoZWNrIHRoYXQgYSB2YWx1ZSBjb25mb3JtcyB0byB0aGUgbGV4aWNhbCBzcGFjZSBvZiBOYW1lPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzAgaWYgdGhpcyB2YWxpZGF0ZXMsIGEgcG9zaXRpdmUgZXJyb3IgY29kZSBudW1iZXIgb3RoZXJ3aXNlIGFuZCAtMSBpbiBjYXNlIG9mIGludGVybmFsIG9yIEFQSSBlcnJvci4nLz4KKyAgICAgIDxhcmcgbmFtZT0ndmFsdWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIHZhbHVlIHRvIGNoZWNrJy8+CisgICAgICA8YXJnIG5hbWU9J3NwYWNlJyB0eXBlPSdpbnQnIGluZm89J2FsbG93IHNwYWNlcyBpbiBmcm9udCBhbmQgZW5kIG9mIHRoZSBzdHJpbmcnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxWYWxpZGF0ZU5hbWVWYWx1ZScgZmlsZT0ndmFsaWQnIG1vZHVsZT0ndmFsaWQnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfVkFMSURfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5WYWxpZGF0ZSB0aGF0IHRoZSBnaXZlbiB2YWx1ZSBtYXRjaCBOYW1lIHByb2R1Y3Rpb248L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB2YWxpZCBvciAwIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSd2YWx1ZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSdhbiBOYW1lIHZhbHVlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVmFsaWRhdGVOYW1lc1ZhbHVlJyBmaWxlPSd2YWxpZCcgbW9kdWxlPSd2YWxpZCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9WQUxJRF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlZhbGlkYXRlIHRoYXQgdGhlIGdpdmVuIHZhbHVlIG1hdGNoIE5hbWVzIHByb2R1Y3Rpb248L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB2YWxpZCBvciAwIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSd2YWx1ZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSdhbiBOYW1lcyB2YWx1ZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFZhbGlkYXRlTm10b2tlblZhbHVlJyBmaWxlPSd2YWxpZCcgbW9kdWxlPSd2YWxpZCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9WQUxJRF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlZhbGlkYXRlIHRoYXQgdGhlIGdpdmVuIHZhbHVlIG1hdGNoIE5tdG9rZW4gcHJvZHVjdGlvbiAgWyBWQzogTmFtZSBUb2tlbiBdPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgdmFsaWQgb3IgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0ndmFsdWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nYW4gTm10b2tlbiB2YWx1ZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFZhbGlkYXRlTm10b2tlbnNWYWx1ZScgZmlsZT0ndmFsaWQnIG1vZHVsZT0ndmFsaWQnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfVkFMSURfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5WYWxpZGF0ZSB0aGF0IHRoZSBnaXZlbiB2YWx1ZSBtYXRjaCBObXRva2VucyBwcm9kdWN0aW9uICBbIFZDOiBOYW1lIFRva2VuIF08L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB2YWxpZCBvciAwIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSd2YWx1ZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSdhbiBObXRva2VucyB2YWx1ZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFZhbGlkYXRlTm90YXRpb25EZWNsJyBmaWxlPSd2YWxpZCcgbW9kdWxlPSd2YWxpZCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9WQUxJRF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlRyeSB0byB2YWxpZGF0ZSBhIHNpbmdsZSBub3RhdGlvbiBkZWZpbml0aW9uIGJhc2ljYWxseSBpdCBkb2VzIHRoZSBmb2xsb3dpbmcgY2hlY2tzIGFzIGRlc2NyaWJlZCBieSB0aGUgWE1MLTEuMCByZWNvbW1lbmRhdGlvbjogLSBpdCBzZWVtcyB0aGF0IG5vIHZhbGlkaXR5IGNvbnN0cmFpbnQgZXhpc3RzIG9uIG5vdGF0aW9uIGRlY2xhcmF0aW9ucyBCdXQgdGhpcyBmdW5jdGlvbiBnZXQgY2FsbGVkIGFueXdheSAuLi48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB2YWxpZCBvciAwIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxWYWxpZEN0eHRQdHInIGluZm89J3RoZSB2YWxpZGF0aW9uIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZG9jJyB0eXBlPSd4bWxEb2NQdHInIGluZm89J2EgZG9jdW1lbnQgaW5zdGFuY2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nbm90YScgdHlwZT0neG1sTm90YXRpb25QdHInIGluZm89J2Egbm90YXRpb24gZGVmaW5pdGlvbicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFZhbGlkYXRlTm90YXRpb25Vc2UnIGZpbGU9J3ZhbGlkJyBtb2R1bGU9J3ZhbGlkJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1ZBTElEX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5WYWxpZGF0ZSB0aGF0IHRoZSBnaXZlbiBuYW1lIG1hdGNoIGEgbm90YXRpb24gZGVjbGFyYXRpb24uIC0gWyBWQzogTm90YXRpb24gRGVjbGFyZWQgXTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHZhbGlkIG9yIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFZhbGlkQ3R4dFB0cicgaW5mbz0ndGhlIHZhbGlkYXRpb24gY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdkb2MnIHR5cGU9J3htbERvY1B0cicgaW5mbz0ndGhlIGRvY3VtZW50Jy8+CisgICAgICA8YXJnIG5hbWU9J25vdGF0aW9uTmFtZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgbm90YXRpb24gbmFtZSB0byBjaGVjaycvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFZhbGlkYXRlT25lQXR0cmlidXRlJyBmaWxlPSd2YWxpZCcgbW9kdWxlPSd2YWxpZCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9WQUxJRF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlRyeSB0byB2YWxpZGF0ZSBhIHNpbmdsZSBhdHRyaWJ1dGUgZm9yIGFuIGVsZW1lbnQgYmFzaWNhbGx5IGl0IGRvZXMgdGhlIGZvbGxvd2luZyBjaGVja3MgYXMgZGVzY3JpYmVkIGJ5IHRoZSBYTUwtMS4wIHJlY29tbWVuZGF0aW9uOiAtIFsgVkM6IEF0dHJpYnV0ZSBWYWx1ZSBUeXBlIF0gLSBbIFZDOiBGaXhlZCBBdHRyaWJ1dGUgRGVmYXVsdCBdIC0gWyBWQzogRW50aXR5IE5hbWUgXSAtIFsgVkM6IE5hbWUgVG9rZW4gXSAtIFsgVkM6IElEIF0gLSBbIFZDOiBJRFJFRiBdIC0gWyBWQzogRW50aXR5IE5hbWUgXSAtIFsgVkM6IE5vdGF0aW9uIEF0dHJpYnV0ZXMgXSAgVGhlIElEL0lEUkVGIHVuaXF1ZW5lc3MgYW5kIG1hdGNoaW5nIGFyZSBkb25lIHNlcGFyYXRlbHk8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB2YWxpZCBvciAwIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxWYWxpZEN0eHRQdHInIGluZm89J3RoZSB2YWxpZGF0aW9uIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZG9jJyB0eXBlPSd4bWxEb2NQdHInIGluZm89J2EgZG9jdW1lbnQgaW5zdGFuY2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nZWxlbScgdHlwZT0neG1sTm9kZVB0cicgaW5mbz0nYW4gZWxlbWVudCBpbnN0YW5jZScvPgorICAgICAgPGFyZyBuYW1lPSdhdHRyJyB0eXBlPSd4bWxBdHRyUHRyJyBpbmZvPSdhbiBhdHRyaWJ1dGUgaW5zdGFuY2UnLz4KKyAgICAgIDxhcmcgbmFtZT0ndmFsdWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIGF0dHJpYnV0ZSB2YWx1ZSAod2l0aG91dCBlbnRpdGllcyBwcm9jZXNzaW5nKScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFZhbGlkYXRlT25lRWxlbWVudCcgZmlsZT0ndmFsaWQnIG1vZHVsZT0ndmFsaWQnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfVkFMSURfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5UcnkgdG8gdmFsaWRhdGUgYSBzaW5nbGUgZWxlbWVudCBhbmQgaXQmYXBvcztzIGF0dHJpYnV0ZXMsIGJhc2ljYWxseSBpdCBkb2VzIHRoZSBmb2xsb3dpbmcgY2hlY2tzIGFzIGRlc2NyaWJlZCBieSB0aGUgWE1MLTEuMCByZWNvbW1lbmRhdGlvbjogLSBbIFZDOiBFbGVtZW50IFZhbGlkIF0gLSBbIFZDOiBSZXF1aXJlZCBBdHRyaWJ1dGUgXSBUaGVuIGNhbGwgeG1sVmFsaWRhdGVPbmVBdHRyaWJ1dGUoKSBmb3IgZWFjaCBhdHRyaWJ1dGUgcHJlc2VudC4gIFRoZSBJRC9JRFJFRiBjaGVja2luZ3MgYXJlIGRvbmUgc2VwYXJhdGVseTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHZhbGlkIG9yIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFZhbGlkQ3R4dFB0cicgaW5mbz0ndGhlIHZhbGlkYXRpb24gY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdkb2MnIHR5cGU9J3htbERvY1B0cicgaW5mbz0nYSBkb2N1bWVudCBpbnN0YW5jZScvPgorICAgICAgPGFyZyBuYW1lPSdlbGVtJyB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSdhbiBlbGVtZW50IGluc3RhbmNlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVmFsaWRhdGVPbmVOYW1lc3BhY2UnIGZpbGU9J3ZhbGlkJyBtb2R1bGU9J3ZhbGlkJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1ZBTElEX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+VHJ5IHRvIHZhbGlkYXRlIGEgc2luZ2xlIG5hbWVzcGFjZSBkZWNsYXJhdGlvbiBmb3IgYW4gZWxlbWVudCBiYXNpY2FsbHkgaXQgZG9lcyB0aGUgZm9sbG93aW5nIGNoZWNrcyBhcyBkZXNjcmliZWQgYnkgdGhlIFhNTC0xLjAgcmVjb21tZW5kYXRpb246IC0gWyBWQzogQXR0cmlidXRlIFZhbHVlIFR5cGUgXSAtIFsgVkM6IEZpeGVkIEF0dHJpYnV0ZSBEZWZhdWx0IF0gLSBbIFZDOiBFbnRpdHkgTmFtZSBdIC0gWyBWQzogTmFtZSBUb2tlbiBdIC0gWyBWQzogSUQgXSAtIFsgVkM6IElEUkVGIF0gLSBbIFZDOiBFbnRpdHkgTmFtZSBdIC0gWyBWQzogTm90YXRpb24gQXR0cmlidXRlcyBdICBUaGUgSUQvSURSRUYgdW5pcXVlbmVzcyBhbmQgbWF0Y2hpbmcgYXJlIGRvbmUgc2VwYXJhdGVseTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHZhbGlkIG9yIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFZhbGlkQ3R4dFB0cicgaW5mbz0ndGhlIHZhbGlkYXRpb24gY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdkb2MnIHR5cGU9J3htbERvY1B0cicgaW5mbz0nYSBkb2N1bWVudCBpbnN0YW5jZScvPgorICAgICAgPGFyZyBuYW1lPSdlbGVtJyB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSdhbiBlbGVtZW50IGluc3RhbmNlJy8+CisgICAgICA8YXJnIG5hbWU9J3ByZWZpeCcgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgbmFtZXNwYWNlIHByZWZpeCcvPgorICAgICAgPGFyZyBuYW1lPSducycgdHlwZT0neG1sTnNQdHInIGluZm89J2FuIG5hbWVzcGFjZSBkZWNsYXJhdGlvbiBpbnN0YW5jZScvPgorICAgICAgPGFyZyBuYW1lPSd2YWx1ZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgYXR0cmlidXRlIHZhbHVlICh3aXRob3V0IGVudGl0aWVzIHByb2Nlc3NpbmcpJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVmFsaWRhdGVQb3BFbGVtZW50JyBmaWxlPSd2YWxpZCcgbW9kdWxlPSd2YWxpZCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9WQUxJRF9FTkFCTEVEKSAmYW1wOyZhbXA7IGRlZmluZWQoTElCWE1MX1JFR0VYUF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlBvcCB0aGUgZWxlbWVudCBlbmQgZnJvbSB0aGUgdmFsaWRhdGlvbiBzdGFjay48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiBubyB2YWxpZGF0aW9uIHByb2JsZW0gd2FzIGZvdW5kIG9yIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFZhbGlkQ3R4dFB0cicgaW5mbz0ndGhlIHZhbGlkYXRpb24gY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdkb2MnIHR5cGU9J3htbERvY1B0cicgaW5mbz0nYSBkb2N1bWVudCBpbnN0YW5jZScvPgorICAgICAgPGFyZyBuYW1lPSdlbGVtJyB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSdhbiBlbGVtZW50IGluc3RhbmNlJy8+CisgICAgICA8YXJnIG5hbWU9J3FuYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBxdWFsaWZpZWQgbmFtZSBhcyBhcHBlYXJpbmcgaW4gdGhlIHNlcmlhbGl6YXRpb24nLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxWYWxpZGF0ZVB1c2hDRGF0YScgZmlsZT0ndmFsaWQnIG1vZHVsZT0ndmFsaWQnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfVkFMSURfRU5BQkxFRCkgJmFtcDsmYW1wOyBkZWZpbmVkKExJQlhNTF9SRUdFWFBfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5jaGVjayB0aGUgQ0RhdGEgcGFyc2VkIGZvciB2YWxpZGF0aW9uIGluIHRoZSBjdXJyZW50IHN0YWNrPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgbm8gdmFsaWRhdGlvbiBwcm9ibGVtIHdhcyBmb3VuZCBvciAwIG90aGVyd2lzZScvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxWYWxpZEN0eHRQdHInIGluZm89J3RoZSB2YWxpZGF0aW9uIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZGF0YScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSdzb21lIGNoYXJhY3RlciBkYXRhIHJlYWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbGVuJyB0eXBlPSdpbnQnIGluZm89J3RoZSBsZW5ndGggb2YgdGhlIGRhdGEnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxWYWxpZGF0ZVB1c2hFbGVtZW50JyBmaWxlPSd2YWxpZCcgbW9kdWxlPSd2YWxpZCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9WQUxJRF9FTkFCTEVEKSAmYW1wOyZhbXA7IGRlZmluZWQoTElCWE1MX1JFR0VYUF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlB1c2ggYSBuZXcgZWxlbWVudCBzdGFydCBvbiB0aGUgdmFsaWRhdGlvbiBzdGFjay48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiBubyB2YWxpZGF0aW9uIHByb2JsZW0gd2FzIGZvdW5kIG9yIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFZhbGlkQ3R4dFB0cicgaW5mbz0ndGhlIHZhbGlkYXRpb24gY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdkb2MnIHR5cGU9J3htbERvY1B0cicgaW5mbz0nYSBkb2N1bWVudCBpbnN0YW5jZScvPgorICAgICAgPGFyZyBuYW1lPSdlbGVtJyB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSdhbiBlbGVtZW50IGluc3RhbmNlJy8+CisgICAgICA8YXJnIG5hbWU9J3FuYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBxdWFsaWZpZWQgbmFtZSBhcyBhcHBlYXJpbmcgaW4gdGhlIHNlcmlhbGl6YXRpb24nLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxWYWxpZGF0ZVFOYW1lJyBmaWxlPSd0cmVlJyBtb2R1bGU9J3RyZWUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfVFJFRV9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q2hlY2sgdGhhdCBhIHZhbHVlIGNvbmZvcm1zIHRvIHRoZSBsZXhpY2FsIHNwYWNlIG9mIFFOYW1lPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzAgaWYgdGhpcyB2YWxpZGF0ZXMsIGEgcG9zaXRpdmUgZXJyb3IgY29kZSBudW1iZXIgb3RoZXJ3aXNlIGFuZCAtMSBpbiBjYXNlIG9mIGludGVybmFsIG9yIEFQSSBlcnJvci4nLz4KKyAgICAgIDxhcmcgbmFtZT0ndmFsdWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIHZhbHVlIHRvIGNoZWNrJy8+CisgICAgICA8YXJnIG5hbWU9J3NwYWNlJyB0eXBlPSdpbnQnIGluZm89J2FsbG93IHNwYWNlcyBpbiBmcm9udCBhbmQgZW5kIG9mIHRoZSBzdHJpbmcnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxWYWxpZGF0ZVJvb3QnIGZpbGU9J3ZhbGlkJyBtb2R1bGU9J3ZhbGlkJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1ZBTElEX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+VHJ5IHRvIHZhbGlkYXRlIGEgdGhlIHJvb3QgZWxlbWVudCBiYXNpY2FsbHkgaXQgZG9lcyB0aGUgZm9sbG93aW5nIGNoZWNrIGFzIGRlc2NyaWJlZCBieSB0aGUgWE1MLTEuMCByZWNvbW1lbmRhdGlvbjogLSBbIFZDOiBSb290IEVsZW1lbnQgVHlwZSBdIGl0IGRvZXNuJmFwb3M7dCB0cnkgdG8gcmVjdXJzZSBvciBhcHBseSBvdGhlciBjaGVjayB0byB0aGUgZWxlbWVudDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHZhbGlkIG9yIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFZhbGlkQ3R4dFB0cicgaW5mbz0ndGhlIHZhbGlkYXRpb24gY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdkb2MnIHR5cGU9J3htbERvY1B0cicgaW5mbz0nYSBkb2N1bWVudCBpbnN0YW5jZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0eXBlIG5hbWU9J3htbFZhbGlkaXR5RXJyb3JGdW5jJyBmaWxlPSd2YWxpZCcgbW9kdWxlPSd2YWxpZCc+CisgICAgICA8aW5mbz5DYWxsYmFjayBjYWxsZWQgd2hlbiBhIHZhbGlkaXR5IGVycm9yIGlzIGZvdW5kLiBUaGlzIGlzIGEgbWVzc2FnZSBvcmllbnRlZCBmdW5jdGlvbiBzaW1pbGFyIHRvIGFuICpwcmludGYgZnVuY3Rpb24uPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eCcgdHlwZT0ndm9pZCAqJyBpbmZvPSd1c3VhbGx5IGFuIHhtbFZhbGlkQ3R4dFB0ciB0byBhIHZhbGlkaXR5IGVycm9yIGNvbnRleHQsIGJ1dCBjb21lcyBmcm9tIGN0eHQtJmd0O3VzZXJEYXRhICh3aGljaCBub3JtYWxseSBjb250YWlucyBzdWNoIGEgcG9pbnRlcik7IGN0eHQtJmd0O3VzZXJEYXRhIGNhbiBiZSBjaGFuZ2VkIGJ5IHRoZSB1c2VyLicvPgorICAgICAgPGFyZyBuYW1lPSdtc2cnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIHN0cmluZyB0byBmb3JtYXQgKnByaW50ZiBsaWtlIHZhcmFyZycvPgorICAgICAgPGFyZyBuYW1lPScuLi4nIHR5cGU9Jy4uLicgaW5mbz0ncmVtYWluaW5nIGFyZ3VtZW50cyB0byB0aGUgZm9ybWF0Jy8+CisgICAgPC9mdW5jdHlwZT4KKyAgICA8ZnVuY3R5cGUgbmFtZT0neG1sVmFsaWRpdHlXYXJuaW5nRnVuYycgZmlsZT0ndmFsaWQnIG1vZHVsZT0ndmFsaWQnPgorICAgICAgPGluZm8+Q2FsbGJhY2sgY2FsbGVkIHdoZW4gYSB2YWxpZGl0eSB3YXJuaW5nIGlzIGZvdW5kLiBUaGlzIGlzIGEgbWVzc2FnZSBvcmllbnRlZCBmdW5jdGlvbiBzaW1pbGFyIHRvIGFuICpwcmludGYgZnVuY3Rpb24uPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eCcgdHlwZT0ndm9pZCAqJyBpbmZvPSd1c3VhbGx5IGFuIHhtbFZhbGlkQ3R4dFB0ciB0byBhIHZhbGlkaXR5IGVycm9yIGNvbnRleHQsIGJ1dCBjb21lcyBmcm9tIGN0eHQtJmd0O3VzZXJEYXRhICh3aGljaCBub3JtYWxseSBjb250YWlucyBzdWNoIGEgcG9pbnRlcik7IGN0eHQtJmd0O3VzZXJEYXRhIGNhbiBiZSBjaGFuZ2VkIGJ5IHRoZSB1c2VyLicvPgorICAgICAgPGFyZyBuYW1lPSdtc2cnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0ndGhlIHN0cmluZyB0byBmb3JtYXQgKnByaW50ZiBsaWtlIHZhcmFyZycvPgorICAgICAgPGFyZyBuYW1lPScuLi4nIHR5cGU9Jy4uLicgaW5mbz0ncmVtYWluaW5nIGFyZ3VtZW50cyB0byB0aGUgZm9ybWF0Jy8+CisgICAgPC9mdW5jdHlwZT4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sWEluY2x1ZGVGcmVlQ29udGV4dCcgZmlsZT0neGluY2x1ZGUnIG1vZHVsZT0neGluY2x1ZGUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfWElOQ0xVREVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5GcmVlIGFuIFhJbmNsdWRlIGNvbnRleHQ8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sWEluY2x1ZGVDdHh0UHRyJyBpbmZvPSd0aGUgWEluY2x1ZGUgY29udGV4dCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhJbmNsdWRlTmV3Q29udGV4dCcgZmlsZT0neGluY2x1ZGUnIG1vZHVsZT0neGluY2x1ZGUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfWElOQ0xVREVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DcmVhdGVzIGEgbmV3IFhJbmNsdWRlIGNvbnRleHQ8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbFhJbmNsdWRlQ3R4dFB0cicgaW5mbz0ndGhlIG5ldyBzZXQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZG9jJyB0eXBlPSd4bWxEb2NQdHInIGluZm89J2FuIFhNTCBEb2N1bWVudCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhJbmNsdWRlUHJvY2VzcycgZmlsZT0neGluY2x1ZGUnIG1vZHVsZT0neGluY2x1ZGUnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfWElOQ0xVREVfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5JbXBsZW1lbnQgdGhlIFhJbmNsdWRlIHN1YnN0aXR1dGlvbiBvbiB0aGUgWE1MIGRvY3VtZW50IEBkb2M8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMCBpZiBubyBzdWJzdGl0dXRpb24gd2VyZSBkb25lLCAtMSBpZiBzb21lIHByb2Nlc3NpbmcgZmFpbGVkIG9yIHRoZSBudW1iZXIgb2Ygc3Vic3RpdHV0aW9ucyBkb25lLicvPgorICAgICAgPGFyZyBuYW1lPSdkb2MnIHR5cGU9J3htbERvY1B0cicgaW5mbz0nYW4gWE1MIGRvY3VtZW50Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sWEluY2x1ZGVQcm9jZXNzRmxhZ3MnIGZpbGU9J3hpbmNsdWRlJyBtb2R1bGU9J3hpbmNsdWRlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1hJTkNMVURFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+SW1wbGVtZW50IHRoZSBYSW5jbHVkZSBzdWJzdGl0dXRpb24gb24gdGhlIFhNTCBkb2N1bWVudCBAZG9jPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzAgaWYgbm8gc3Vic3RpdHV0aW9uIHdlcmUgZG9uZSwgLTEgaWYgc29tZSBwcm9jZXNzaW5nIGZhaWxlZCBvciB0aGUgbnVtYmVyIG9mIHN1YnN0aXR1dGlvbnMgZG9uZS4nLz4KKyAgICAgIDxhcmcgbmFtZT0nZG9jJyB0eXBlPSd4bWxEb2NQdHInIGluZm89J2FuIFhNTCBkb2N1bWVudCcvPgorICAgICAgPGFyZyBuYW1lPSdmbGFncycgdHlwZT0naW50JyBpbmZvPSdhIHNldCBvZiB4bWxQYXJzZXJPcHRpb24gdXNlZCBmb3IgcGFyc2luZyBYTUwgaW5jbHVkZXMnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxYSW5jbHVkZVByb2Nlc3NGbGFnc0RhdGEnIGZpbGU9J3hpbmNsdWRlJyBtb2R1bGU9J3hpbmNsdWRlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1hJTkNMVURFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+SW1wbGVtZW50IHRoZSBYSW5jbHVkZSBzdWJzdGl0dXRpb24gb24gdGhlIFhNTCBkb2N1bWVudCBAZG9jPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzAgaWYgbm8gc3Vic3RpdHV0aW9uIHdlcmUgZG9uZSwgLTEgaWYgc29tZSBwcm9jZXNzaW5nIGZhaWxlZCBvciB0aGUgbnVtYmVyIG9mIHN1YnN0aXR1dGlvbnMgZG9uZS4nLz4KKyAgICAgIDxhcmcgbmFtZT0nZG9jJyB0eXBlPSd4bWxEb2NQdHInIGluZm89J2FuIFhNTCBkb2N1bWVudCcvPgorICAgICAgPGFyZyBuYW1lPSdmbGFncycgdHlwZT0naW50JyBpbmZvPSdhIHNldCBvZiB4bWxQYXJzZXJPcHRpb24gdXNlZCBmb3IgcGFyc2luZyBYTUwgaW5jbHVkZXMnLz4KKyAgICAgIDxhcmcgbmFtZT0nZGF0YScgdHlwZT0ndm9pZCAqJyBpbmZvPSdhcHBsaWNhdGlvbiBkYXRhIHRoYXQgd2lsbCBiZSBwYXNzZWQgdG8gdGhlIHBhcnNlciBjb250ZXh0IGluIHRoZSBfcHJpdmF0ZSBmaWVsZCBvZiB0aGUgcGFyc2VyIGNvbnRleHQocyknLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxYSW5jbHVkZVByb2Nlc3NOb2RlJyBmaWxlPSd4aW5jbHVkZScgbW9kdWxlPSd4aW5jbHVkZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YSU5DTFVERV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkltcGxlbWVudCB0aGUgWEluY2x1ZGUgc3Vic3RpdHV0aW9uIGZvciB0aGUgZ2l2ZW4gc3VidHJlZSByZXVzaW5nIHRoZSBpbmZvcm1hdGlvbnMgYW5kIGRhdGEgY29taW5nIGZyb20gdGhlIGdpdmVuIGNvbnRleHQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzAgaWYgbm8gc3Vic3RpdHV0aW9uIHdlcmUgZG9uZSwgLTEgaWYgc29tZSBwcm9jZXNzaW5nIGZhaWxlZCBvciB0aGUgbnVtYmVyIG9mIHN1YnN0aXR1dGlvbnMgZG9uZS4nLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sWEluY2x1ZGVDdHh0UHRyJyBpbmZvPSdhbiBleGlzdGluZyBYSW5jbHVkZSBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J25vZGUnIHR5cGU9J3htbE5vZGVQdHInIGluZm89J2Egbm9kZSBpbiBhbiBYTUwgZG9jdW1lbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxYSW5jbHVkZVByb2Nlc3NUcmVlJyBmaWxlPSd4aW5jbHVkZScgbW9kdWxlPSd4aW5jbHVkZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YSU5DTFVERV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkltcGxlbWVudCB0aGUgWEluY2x1ZGUgc3Vic3RpdHV0aW9uIGZvciB0aGUgZ2l2ZW4gc3VidHJlZTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScwIGlmIG5vIHN1YnN0aXR1dGlvbiB3ZXJlIGRvbmUsIC0xIGlmIHNvbWUgcHJvY2Vzc2luZyBmYWlsZWQgb3IgdGhlIG51bWJlciBvZiBzdWJzdGl0dXRpb25zIGRvbmUuJy8+CisgICAgICA8YXJnIG5hbWU9J3RyZWUnIHR5cGU9J3htbE5vZGVQdHInIGluZm89J2Egbm9kZSBpbiBhbiBYTUwgZG9jdW1lbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxYSW5jbHVkZVByb2Nlc3NUcmVlRmxhZ3MnIGZpbGU9J3hpbmNsdWRlJyBtb2R1bGU9J3hpbmNsdWRlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1hJTkNMVURFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+SW1wbGVtZW50IHRoZSBYSW5jbHVkZSBzdWJzdGl0dXRpb24gZm9yIHRoZSBnaXZlbiBzdWJ0cmVlPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzAgaWYgbm8gc3Vic3RpdHV0aW9uIHdlcmUgZG9uZSwgLTEgaWYgc29tZSBwcm9jZXNzaW5nIGZhaWxlZCBvciB0aGUgbnVtYmVyIG9mIHN1YnN0aXR1dGlvbnMgZG9uZS4nLz4KKyAgICAgIDxhcmcgbmFtZT0ndHJlZScgdHlwZT0neG1sTm9kZVB0cicgaW5mbz0nYSBub2RlIGluIGFuIFhNTCBkb2N1bWVudCcvPgorICAgICAgPGFyZyBuYW1lPSdmbGFncycgdHlwZT0naW50JyBpbmZvPSdhIHNldCBvZiB4bWxQYXJzZXJPcHRpb24gdXNlZCBmb3IgcGFyc2luZyBYTUwgaW5jbHVkZXMnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxYSW5jbHVkZVByb2Nlc3NUcmVlRmxhZ3NEYXRhJyBmaWxlPSd4aW5jbHVkZScgbW9kdWxlPSd4aW5jbHVkZSc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YSU5DTFVERV9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkltcGxlbWVudCB0aGUgWEluY2x1ZGUgc3Vic3RpdHV0aW9uIG9uIHRoZSBYTUwgbm9kZSBAdHJlZTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScwIGlmIG5vIHN1YnN0aXR1dGlvbiB3ZXJlIGRvbmUsIC0xIGlmIHNvbWUgcHJvY2Vzc2luZyBmYWlsZWQgb3IgdGhlIG51bWJlciBvZiBzdWJzdGl0dXRpb25zIGRvbmUuJy8+CisgICAgICA8YXJnIG5hbWU9J3RyZWUnIHR5cGU9J3htbE5vZGVQdHInIGluZm89J2FuIFhNTCBub2RlJy8+CisgICAgICA8YXJnIG5hbWU9J2ZsYWdzJyB0eXBlPSdpbnQnIGluZm89J2Egc2V0IG9mIHhtbFBhcnNlck9wdGlvbiB1c2VkIGZvciBwYXJzaW5nIFhNTCBpbmNsdWRlcycvPgorICAgICAgPGFyZyBuYW1lPSdkYXRhJyB0eXBlPSd2b2lkIConIGluZm89J2FwcGxpY2F0aW9uIGRhdGEgdGhhdCB3aWxsIGJlIHBhc3NlZCB0byB0aGUgcGFyc2VyIGNvbnRleHQgaW4gdGhlIF9wcml2YXRlIGZpZWxkIG9mIHRoZSBwYXJzZXIgY29udGV4dChzKScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhJbmNsdWRlU2V0RmxhZ3MnIGZpbGU9J3hpbmNsdWRlJyBtb2R1bGU9J3hpbmNsdWRlJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1hJTkNMVURFX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+U2V0IHRoZSBmbGFncyB1c2VkIGZvciBmdXJ0aGVyIHByb2Nlc3Npbmcgb2YgWE1MIHJlc291cmNlcy48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMCBpbiBjYXNlIG9mIHN1Y2Nlc3MgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3IuJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFhJbmNsdWRlQ3R4dFB0cicgaW5mbz0nYW4gWEluY2x1ZGUgcHJvY2Vzc2luZyBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J2ZsYWdzJyB0eXBlPSdpbnQnIGluZm89J2Egc2V0IG9mIHhtbFBhcnNlck9wdGlvbiB1c2VkIGZvciBwYXJzaW5nIFhNTCBpbmNsdWRlcycvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQYXRoQWRkVmFsdWVzJyBmaWxlPSd4cGF0aEludGVybmFscycgbW9kdWxlPSd4cGF0aCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkltcGxlbWVudCB0aGUgYWRkIG9wZXJhdGlvbiBvbiBYUGF0aCBvYmplY3RzOiBUaGUgbnVtZXJpYyBvcGVyYXRvcnMgY29udmVydCB0aGVpciBvcGVyYW5kcyB0byBudW1iZXJzIGFzIGlmIGJ5IGNhbGxpbmcgdGhlIG51bWJlciBmdW5jdGlvbi48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyJyBpbmZvPSd0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdHlwZSBuYW1lPSd4bWxYUGF0aEF4aXNGdW5jJyBmaWxlPSd4cGF0aCcgbW9kdWxlPSd4cGF0aCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkFuIGF4aXMgdHJhdmVyc2FsIGZ1bmN0aW9uLiBUbyB0cmF2ZXJzZSBhbiBheGlzLCB0aGUgZW5naW5lIGNhbGxzIHRoZSBmaXJzdCB0aW1lIHdpdGggY3VyID09IE5VTEwgYW5kIHJlcGVhdCB1bnRpbCB0aGUgZnVuY3Rpb24gcmV0dXJucyBOVUxMIGluZGljYXRpbmcgdGhlIGVuZCBvZiB0aGUgYXhpcyB0cmF2ZXJzYWwuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxYUGF0aE9iamVjdFB0cicgaW5mbz0ndGhlIG5leHQgbm9kZSBpbiB0aGF0IGF4aXMgb3IgTlVMTCBpZiBhdCB0aGUgZW5kIG9mIHRoZSBheGlzLicvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxYUGF0aFBhcnNlckNvbnRleHRQdHInIGluZm89J3RoZSBYUGF0aCBpbnRlcnByZXRlciBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J2N1cicgdHlwZT0neG1sWFBhdGhPYmplY3RQdHInIGluZm89J3RoZSBwcmV2aW91cyBub2RlIGJlaW5nIGV4cGxvcmVkIG9uIHRoYXQgYXhpcycvPgorICAgIDwvZnVuY3R5cGU+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQYXRoQm9vbGVhbkZ1bmN0aW9uJyBmaWxlPSd4cGF0aEludGVybmFscycgbW9kdWxlPSd4cGF0aCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkltcGxlbWVudCB0aGUgYm9vbGVhbigpIFhQYXRoIGZ1bmN0aW9uIGJvb2xlYW4gYm9vbGVhbihvYmplY3QpIFRoZSBib29sZWFuIGZ1bmN0aW9uIGNvbnZlcnRzIGl0cyBhcmd1bWVudCB0byBhIGJvb2xlYW4gYXMgZm9sbG93czogLSBhIG51bWJlciBpcyB0cnVlIGlmIGFuZCBvbmx5IGlmIGl0IGlzIG5laXRoZXIgcG9zaXRpdmUgb3IgbmVnYXRpdmUgemVybyBub3IgTmFOIC0gYSBub2RlLXNldCBpcyB0cnVlIGlmIGFuZCBvbmx5IGlmIGl0IGlzIG5vbi1lbXB0eSAtIGEgc3RyaW5nIGlzIHRydWUgaWYgYW5kIG9ubHkgaWYgaXRzIGxlbmd0aCBpcyBub24temVybzwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxYUGF0aFBhcnNlckNvbnRleHRQdHInIGluZm89J3RoZSBYUGF0aCBQYXJzZXIgY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSduYXJncycgdHlwZT0naW50JyBpbmZvPSd0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cycvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQYXRoQ2FzdEJvb2xlYW5Ub051bWJlcicgZmlsZT0neHBhdGgnIG1vZHVsZT0neHBhdGgnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5Db252ZXJ0cyBhIGJvb2xlYW4gdG8gaXRzIG51bWJlciB2YWx1ZTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0nZG91YmxlJyBpbmZvPSd0aGUgbnVtYmVyIHZhbHVlJy8+CisgICAgICA8YXJnIG5hbWU9J3ZhbCcgdHlwZT0naW50JyBpbmZvPSdhIGJvb2xlYW4nLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxYUGF0aENhc3RCb29sZWFuVG9TdHJpbmcnIGZpbGU9J3hwYXRoJyBtb2R1bGU9J3hwYXRoJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q29udmVydHMgYSBib29sZWFuIHRvIGl0cyBzdHJpbmcgdmFsdWUuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxDaGFyIConIGluZm89J2EgbmV3bHkgYWxsb2NhdGVkIHN0cmluZy4nLz4KKyAgICAgIDxhcmcgbmFtZT0ndmFsJyB0eXBlPSdpbnQnIGluZm89J2EgYm9vbGVhbicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQYXRoQ2FzdE5vZGVTZXRUb0Jvb2xlYW4nIGZpbGU9J3hwYXRoJyBtb2R1bGU9J3hwYXRoJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q29udmVydHMgYSBub2RlLXNldCB0byBpdHMgYm9vbGVhbiB2YWx1ZTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0aGUgYm9vbGVhbiB2YWx1ZScvPgorICAgICAgPGFyZyBuYW1lPSducycgdHlwZT0neG1sTm9kZVNldFB0cicgaW5mbz0nYSBub2RlLXNldCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQYXRoQ2FzdE5vZGVTZXRUb051bWJlcicgZmlsZT0neHBhdGgnIG1vZHVsZT0neHBhdGgnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5Db252ZXJ0cyBhIG5vZGUtc2V0IHRvIGl0cyBudW1iZXIgdmFsdWU8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2RvdWJsZScgaW5mbz0ndGhlIG51bWJlciB2YWx1ZScvPgorICAgICAgPGFyZyBuYW1lPSducycgdHlwZT0neG1sTm9kZVNldFB0cicgaW5mbz0nYSBub2RlLXNldCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQYXRoQ2FzdE5vZGVTZXRUb1N0cmluZycgZmlsZT0neHBhdGgnIG1vZHVsZT0neHBhdGgnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5Db252ZXJ0cyBhIG5vZGUtc2V0IHRvIGl0cyBzdHJpbmcgdmFsdWUuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxDaGFyIConIGluZm89J2EgbmV3bHkgYWxsb2NhdGVkIHN0cmluZy4nLz4KKyAgICAgIDxhcmcgbmFtZT0nbnMnIHR5cGU9J3htbE5vZGVTZXRQdHInIGluZm89J2Egbm9kZS1zZXQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxYUGF0aENhc3ROb2RlVG9OdW1iZXInIGZpbGU9J3hwYXRoJyBtb2R1bGU9J3hwYXRoJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q29udmVydHMgYSBub2RlIHRvIGl0cyBudW1iZXIgdmFsdWU8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2RvdWJsZScgaW5mbz0ndGhlIG51bWJlciB2YWx1ZScvPgorICAgICAgPGFyZyBuYW1lPSdub2RlJyB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSdhIG5vZGUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxYUGF0aENhc3ROb2RlVG9TdHJpbmcnIGZpbGU9J3hwYXRoJyBtb2R1bGU9J3hwYXRoJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q29udmVydHMgYSBub2RlIHRvIGl0cyBzdHJpbmcgdmFsdWUuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxDaGFyIConIGluZm89J2EgbmV3bHkgYWxsb2NhdGVkIHN0cmluZy4nLz4KKyAgICAgIDxhcmcgbmFtZT0nbm9kZScgdHlwZT0neG1sTm9kZVB0cicgaW5mbz0nYSBub2RlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sWFBhdGhDYXN0TnVtYmVyVG9Cb29sZWFuJyBmaWxlPSd4cGF0aCcgbW9kdWxlPSd4cGF0aCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNvbnZlcnRzIGEgbnVtYmVyIHRvIGl0cyBib29sZWFuIHZhbHVlPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J3RoZSBib29sZWFuIHZhbHVlJy8+CisgICAgICA8YXJnIG5hbWU9J3ZhbCcgdHlwZT0nZG91YmxlJyBpbmZvPSdhIG51bWJlcicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQYXRoQ2FzdE51bWJlclRvU3RyaW5nJyBmaWxlPSd4cGF0aCcgbW9kdWxlPSd4cGF0aCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNvbnZlcnRzIGEgbnVtYmVyIHRvIGl0cyBzdHJpbmcgdmFsdWUuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxDaGFyIConIGluZm89J2EgbmV3bHkgYWxsb2NhdGVkIHN0cmluZy4nLz4KKyAgICAgIDxhcmcgbmFtZT0ndmFsJyB0eXBlPSdkb3VibGUnIGluZm89J2EgbnVtYmVyJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sWFBhdGhDYXN0U3RyaW5nVG9Cb29sZWFuJyBmaWxlPSd4cGF0aCcgbW9kdWxlPSd4cGF0aCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNvbnZlcnRzIGEgc3RyaW5nIHRvIGl0cyBib29sZWFuIHZhbHVlPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J3RoZSBib29sZWFuIHZhbHVlJy8+CisgICAgICA8YXJnIG5hbWU9J3ZhbCcgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSdhIHN0cmluZycvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQYXRoQ2FzdFN0cmluZ1RvTnVtYmVyJyBmaWxlPSd4cGF0aCcgbW9kdWxlPSd4cGF0aCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNvbnZlcnRzIGEgc3RyaW5nIHRvIGl0cyBudW1iZXIgdmFsdWU8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2RvdWJsZScgaW5mbz0ndGhlIG51bWJlciB2YWx1ZScvPgorICAgICAgPGFyZyBuYW1lPSd2YWwnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nYSBzdHJpbmcnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxYUGF0aENhc3RUb0Jvb2xlYW4nIGZpbGU9J3hwYXRoJyBtb2R1bGU9J3hwYXRoJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q29udmVydHMgYW4gWFBhdGggb2JqZWN0IHRvIGl0cyBib29sZWFuIHZhbHVlPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J3RoZSBib29sZWFuIHZhbHVlJy8+CisgICAgICA8YXJnIG5hbWU9J3ZhbCcgdHlwZT0neG1sWFBhdGhPYmplY3RQdHInIGluZm89J2FuIFhQYXRoIG9iamVjdCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQYXRoQ2FzdFRvTnVtYmVyJyBmaWxlPSd4cGF0aCcgbW9kdWxlPSd4cGF0aCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNvbnZlcnRzIGFuIFhQYXRoIG9iamVjdCB0byBpdHMgbnVtYmVyIHZhbHVlPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdkb3VibGUnIGluZm89J3RoZSBudW1iZXIgdmFsdWUnLz4KKyAgICAgIDxhcmcgbmFtZT0ndmFsJyB0eXBlPSd4bWxYUGF0aE9iamVjdFB0cicgaW5mbz0nYW4gWFBhdGggb2JqZWN0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sWFBhdGhDYXN0VG9TdHJpbmcnIGZpbGU9J3hwYXRoJyBtb2R1bGU9J3hwYXRoJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q29udmVydHMgYW4gZXhpc3Rpbmcgb2JqZWN0IHRvIGl0cyBzdHJpbmcoKSBlcXVpdmFsZW50PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxDaGFyIConIGluZm89J3RoZSBhbGxvY2F0ZWQgc3RyaW5nIHZhbHVlIG9mIHRoZSBvYmplY3QsIE5VTEwgaW4gY2FzZSBvZiBlcnJvci4gSXQmYXBvcztzIHVwIHRvIHRoZSBjYWxsZXIgdG8gZnJlZSB0aGUgc3RyaW5nIG1lbW9yeSB3aXRoIHhtbEZyZWUoKS4nLz4KKyAgICAgIDxhcmcgbmFtZT0ndmFsJyB0eXBlPSd4bWxYUGF0aE9iamVjdFB0cicgaW5mbz0nYW4gWFBhdGggb2JqZWN0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sWFBhdGhDZWlsaW5nRnVuY3Rpb24nIGZpbGU9J3hwYXRoSW50ZXJuYWxzJyBtb2R1bGU9J3hwYXRoJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+SW1wbGVtZW50IHRoZSBjZWlsaW5nKCkgWFBhdGggZnVuY3Rpb24gbnVtYmVyIGNlaWxpbmcobnVtYmVyKSBUaGUgY2VpbGluZyBmdW5jdGlvbiByZXR1cm5zIHRoZSBzbWFsbGVzdCAoY2xvc2VzdCB0byBuZWdhdGl2ZSBpbmZpbml0eSkgbnVtYmVyIHRoYXQgaXMgbm90IGxlc3MgdGhhbiB0aGUgYXJndW1lbnQgYW5kIHRoYXQgaXMgYW4gaW50ZWdlci48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyJyBpbmZvPSd0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFyZ3MnIHR5cGU9J2ludCcgaW5mbz0ndGhlIG51bWJlciBvZiBhcmd1bWVudHMnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxYUGF0aENtcE5vZGVzJyBmaWxlPSd4cGF0aCcgbW9kdWxlPSd4cGF0aCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNvbXBhcmUgdHdvIG5vZGVzIHcuci50IGRvY3VtZW50IG9yZGVyPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89Jy0yIGluIGNhc2Ugb2YgZXJyb3IgMSBpZiBmaXJzdCBwb2ludCAmbHQ7IHNlY29uZCBwb2ludCwgMCBpZiBpdCZhcG9zO3MgdGhlIHNhbWUgbm9kZSwgLTEgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J25vZGUxJyB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSd0aGUgZmlyc3Qgbm9kZScvPgorICAgICAgPGFyZyBuYW1lPSdub2RlMicgdHlwZT0neG1sTm9kZVB0cicgaW5mbz0ndGhlIHNlY29uZCBub2RlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sWFBhdGhDb21wYXJlVmFsdWVzJyBmaWxlPSd4cGF0aEludGVybmFscycgbW9kdWxlPSd4cGF0aCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkltcGxlbWVudCB0aGUgY29tcGFyZSBvcGVyYXRpb24gb24gWFBhdGggb2JqZWN0czogQGFyZzEgJmx0OyBAYXJnMiAgICAoMSwgMSwgLi4uIEBhcmcxICZsdDs9IEBhcmcyICAgKDEsIDAsIC4uLiBAYXJnMSAmZ3Q7IEBhcmcyICAgICgwLCAxLCAuLi4gQGFyZzEgJmd0Oz0gQGFyZzIgICAoMCwgMCwgLi4uICBXaGVuIG5laXRoZXIgb2JqZWN0IHRvIGJlIGNvbXBhcmVkIGlzIGEgbm9kZS1zZXQgYW5kIHRoZSBvcGVyYXRvciBpcyAmbHQ7PSwgJmx0OywgJmd0Oz0sICZndDssIHRoZW4gdGhlIG9iamVjdHMgYXJlIGNvbXBhcmVkIGJ5IGNvbnZlcnRlZCBib3RoIG9iamVjdHMgdG8gbnVtYmVycyBhbmQgY29tcGFyaW5nIHRoZSBudW1iZXJzIGFjY29yZGluZyB0byBJRUVFIDc1NC4gVGhlICZsdDsgY29tcGFyaXNvbiB3aWxsIGJlIHRydWUgaWYgYW5kIG9ubHkgaWYgdGhlIGZpcnN0IG51bWJlciBpcyBsZXNzIHRoYW4gdGhlIHNlY29uZCBudW1iZXIuIFRoZSAmbHQ7PSBjb21wYXJpc29uIHdpbGwgYmUgdHJ1ZSBpZiBhbmQgb25seSBpZiB0aGUgZmlyc3QgbnVtYmVyIGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byB0aGUgc2Vjb25kIG51bWJlci4gVGhlICZndDsgY29tcGFyaXNvbiB3aWxsIGJlIHRydWUgaWYgYW5kIG9ubHkgaWYgdGhlIGZpcnN0IG51bWJlciBpcyBncmVhdGVyIHRoYW4gdGhlIHNlY29uZCBudW1iZXIuIFRoZSAmZ3Q7PSBjb21wYXJpc29uIHdpbGwgYmUgdHJ1ZSBpZiBhbmQgb25seSBpZiB0aGUgZmlyc3QgbnVtYmVyIGlzIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byB0aGUgc2Vjb25kIG51bWJlci48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB0aGUgY29tcGFyaXNvbiBzdWNjZWVkZWQsIDAgaWYgaXQgZmFpbGVkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cicgaW5mbz0ndGhlIFhQYXRoIFBhcnNlciBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J2luZicgdHlwZT0naW50JyBpbmZvPSdsZXNzIHRoYW4gKDEpIG9yIGdyZWF0ZXIgdGhhbiAoMCknLz4KKyAgICAgIDxhcmcgbmFtZT0nc3RyaWN0JyB0eXBlPSdpbnQnIGluZm89J2lzIHRoZSBjb21wYXJpc29uIHN0cmljdCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQYXRoQ29tcGlsZScgZmlsZT0neHBhdGgnIG1vZHVsZT0neHBhdGgnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5Db21waWxlIGFuIFhQYXRoIGV4cHJlc3Npb248L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbFhQYXRoQ29tcEV4cHJQdHInIGluZm89J3RoZSB4bWxYUGF0aENvbXBFeHByUHRyIHJlc3VsdGluZyBmcm9tIHRoZSBjb21waWxhdGlvbiBvciBOVUxMLiB0aGUgY2FsbGVyIGhhcyB0byBmcmVlIHRoZSBvYmplY3QuJy8+CisgICAgICA8YXJnIG5hbWU9J3N0cicgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgWFBhdGggZXhwcmVzc2lvbicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQYXRoQ29tcGlsZWRFdmFsJyBmaWxlPSd4cGF0aCcgbW9kdWxlPSd4cGF0aCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkV2YWx1YXRlIHRoZSBQcmVjb21waWxlZCBYUGF0aCBleHByZXNzaW9uIGluIHRoZSBnaXZlbiBjb250ZXh0LjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sWFBhdGhPYmplY3RQdHInIGluZm89J3RoZSB4bWxYUGF0aE9iamVjdFB0ciByZXN1bHRpbmcgZnJvbSB0aGUgZXZhbHVhdGlvbiBvciBOVUxMLiB0aGUgY2FsbGVyIGhhcyB0byBmcmVlIHRoZSBvYmplY3QuJy8+CisgICAgICA8YXJnIG5hbWU9J2NvbXAnIHR5cGU9J3htbFhQYXRoQ29tcEV4cHJQdHInIGluZm89J3RoZSBjb21waWxlZCBYUGF0aCBleHByZXNzaW9uJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eCcgdHlwZT0neG1sWFBhdGhDb250ZXh0UHRyJyBpbmZvPSd0aGUgWFBhdGggY29udGV4dCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQYXRoQ29tcGlsZWRFdmFsVG9Cb29sZWFuJyBmaWxlPSd4cGF0aCcgbW9kdWxlPSd4cGF0aCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkFwcGxpZXMgdGhlIFhQYXRoIGJvb2xlYW4oKSBmdW5jdGlvbiBvbiB0aGUgcmVzdWx0IG9mIHRoZSBnaXZlbiBjb21waWxlZCBleHByZXNzaW9uLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRoZSBleHByZXNzaW9uIGV2YWx1YXRlZCB0byB0cnVlLCAwIGlmIHRvIGZhbHNlIGFuZCAtMSBpbiBBUEkgYW5kIGludGVybmFsIGVycm9ycy4nLz4KKyAgICAgIDxhcmcgbmFtZT0nY29tcCcgdHlwZT0neG1sWFBhdGhDb21wRXhwclB0cicgaW5mbz0ndGhlIGNvbXBpbGVkIFhQYXRoIGV4cHJlc3Npb24nLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sWFBhdGhDb250ZXh0UHRyJyBpbmZvPSd0aGUgWFBhdGggY29udGV4dCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQYXRoQ29uY2F0RnVuY3Rpb24nIGZpbGU9J3hwYXRoSW50ZXJuYWxzJyBtb2R1bGU9J3hwYXRoJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+SW1wbGVtZW50IHRoZSBjb25jYXQoKSBYUGF0aCBmdW5jdGlvbiBzdHJpbmcgY29uY2F0KHN0cmluZywgc3RyaW5nLCBzdHJpbmcqKSBUaGUgY29uY2F0IGZ1bmN0aW9uIHJldHVybnMgdGhlIGNvbmNhdGVuYXRpb24gb2YgaXRzIGFyZ3VtZW50cy48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyJyBpbmZvPSd0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFyZ3MnIHR5cGU9J2ludCcgaW5mbz0ndGhlIG51bWJlciBvZiBhcmd1bWVudHMnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxYUGF0aENvbnRhaW5zRnVuY3Rpb24nIGZpbGU9J3hwYXRoSW50ZXJuYWxzJyBtb2R1bGU9J3hwYXRoJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+SW1wbGVtZW50IHRoZSBjb250YWlucygpIFhQYXRoIGZ1bmN0aW9uIGJvb2xlYW4gY29udGFpbnMoc3RyaW5nLCBzdHJpbmcpIFRoZSBjb250YWlucyBmdW5jdGlvbiByZXR1cm5zIHRydWUgaWYgdGhlIGZpcnN0IGFyZ3VtZW50IHN0cmluZyBjb250YWlucyB0aGUgc2Vjb25kIGFyZ3VtZW50IHN0cmluZywgYW5kIG90aGVyd2lzZSByZXR1cm5zIGZhbHNlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxYUGF0aFBhcnNlckNvbnRleHRQdHInIGluZm89J3RoZSBYUGF0aCBQYXJzZXIgY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSduYXJncycgdHlwZT0naW50JyBpbmZvPSd0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cycvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQYXRoQ29udGV4dFNldENhY2hlJyBmaWxlPSd4cGF0aCcgbW9kdWxlPSd4cGF0aCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNyZWF0ZXMvZnJlZXMgYW4gb2JqZWN0IGNhY2hlIG9uIHRoZSBYUGF0aCBjb250ZXh0LiBJZiBhY3RpdmF0ZXMgWFBhdGggb2JqZWN0cyAoeG1sWFBhdGhPYmplY3QpIHdpbGwgYmUgY2FjaGVkIGludGVybmFsbHkgdG8gYmUgcmV1c2VkLiBAb3B0aW9uczogMDogVGhpcyB3aWxsIHNldCB0aGUgWFBhdGggb2JqZWN0IGNhY2hpbmc6IEB2YWx1ZTogVGhpcyB3aWxsIHNldCB0aGUgbWF4aW11bSBudW1iZXIgb2YgWFBhdGggb2JqZWN0cyB0byBiZSBjYWNoZWQgcGVyIHNsb3QgVGhlcmUgYXJlIDUgc2xvdHMgZm9yOiBub2RlLXNldCwgc3RyaW5nLCBudW1iZXIsIGJvb2xlYW4sIGFuZCBtaXNjIG9iamVjdHMuIFVzZSAmbHQ7MCBmb3IgdGhlIGRlZmF1bHQgbnVtYmVyICgxMDApLiBPdGhlciB2YWx1ZXMgZm9yIEBvcHRpb25zIGhhdmUgY3VycmVudGx5IG5vIGVmZmVjdC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMCBpZiB0aGUgc2V0dGluZyBzdWNjZWVkZWQsIGFuZCAtMSBvbiBBUEkgb3IgaW50ZXJuYWwgZXJyb3JzLicvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxYUGF0aENvbnRleHRQdHInIGluZm89J3RoZSBYUGF0aCBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J2FjdGl2ZScgdHlwZT0naW50JyBpbmZvPSdlbmFibGVzL2Rpc2FibGVzIChjcmVhdGVzL2ZyZWVzKSB0aGUgY2FjaGUnLz4KKyAgICAgIDxhcmcgbmFtZT0ndmFsdWUnIHR5cGU9J2ludCcgaW5mbz0nYSB2YWx1ZSB3aXRoIHNlbWFudGljcyBkZXBlbmRhbnQgb24gQG9wdGlvbnMnLz4KKyAgICAgIDxhcmcgbmFtZT0nb3B0aW9ucycgdHlwZT0naW50JyBpbmZvPSdvcHRpb25zIChjdXJyZW50bHkgb25seSB0aGUgdmFsdWUgMCBpcyB1c2VkKScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQYXRoQ29udmVydEJvb2xlYW4nIGZpbGU9J3hwYXRoJyBtb2R1bGU9J3hwYXRoJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q29udmVydHMgYW4gZXhpc3Rpbmcgb2JqZWN0IHRvIGl0cyBib29sZWFuKCkgZXF1aXZhbGVudDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sWFBhdGhPYmplY3RQdHInIGluZm89J3RoZSBuZXcgb2JqZWN0LCB0aGUgb2xkIG9uZSBpcyBmcmVlZCAob3IgdGhlIG9wZXJhdGlvbiBpcyBkb25lIGRpcmVjdGx5IG9uIEB2YWwpJy8+CisgICAgICA8YXJnIG5hbWU9J3ZhbCcgdHlwZT0neG1sWFBhdGhPYmplY3RQdHInIGluZm89J2FuIFhQYXRoIG9iamVjdCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0eXBlIG5hbWU9J3htbFhQYXRoQ29udmVydEZ1bmMnIGZpbGU9J3hwYXRoJyBtb2R1bGU9J3hwYXRoJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+QSBjb252ZXJzaW9uIGZ1bmN0aW9uIGlzIGFzc29jaWF0ZWQgdG8gYSB0eXBlIGFuZCB1c2VkIHRvIGNhc3QgdGhlIG5ldyB0eXBlIHRvIHByaW1pdGl2ZSB2YWx1ZXMuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89Jy0xIGluIGNhc2Ugb2YgZXJyb3IsIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J29iaicgdHlwZT0neG1sWFBhdGhPYmplY3RQdHInIGluZm89J2FuIFhQYXRoIG9iamVjdCcvPgorICAgICAgPGFyZyBuYW1lPSd0eXBlJyB0eXBlPSdpbnQnIGluZm89J3RoZSBudW1iZXIgb2YgdGhlIHRhcmdldCB0eXBlJy8+CisgICAgPC9mdW5jdHlwZT4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sWFBhdGhDb252ZXJ0TnVtYmVyJyBmaWxlPSd4cGF0aCcgbW9kdWxlPSd4cGF0aCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNvbnZlcnRzIGFuIGV4aXN0aW5nIG9iamVjdCB0byBpdHMgbnVtYmVyKCkgZXF1aXZhbGVudDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sWFBhdGhPYmplY3RQdHInIGluZm89J3RoZSBuZXcgb2JqZWN0LCB0aGUgb2xkIG9uZSBpcyBmcmVlZCAob3IgdGhlIG9wZXJhdGlvbiBpcyBkb25lIGRpcmVjdGx5IG9uIEB2YWwpJy8+CisgICAgICA8YXJnIG5hbWU9J3ZhbCcgdHlwZT0neG1sWFBhdGhPYmplY3RQdHInIGluZm89J2FuIFhQYXRoIG9iamVjdCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQYXRoQ29udmVydFN0cmluZycgZmlsZT0neHBhdGgnIG1vZHVsZT0neHBhdGgnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5Db252ZXJ0cyBhbiBleGlzdGluZyBvYmplY3QgdG8gaXRzIHN0cmluZygpIGVxdWl2YWxlbnQ8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbFhQYXRoT2JqZWN0UHRyJyBpbmZvPSd0aGUgbmV3IG9iamVjdCwgdGhlIG9sZCBvbmUgaXMgZnJlZWQgKG9yIHRoZSBvcGVyYXRpb24gaXMgZG9uZSBkaXJlY3RseSBvbiBAdmFsKScvPgorICAgICAgPGFyZyBuYW1lPSd2YWwnIHR5cGU9J3htbFhQYXRoT2JqZWN0UHRyJyBpbmZvPSdhbiBYUGF0aCBvYmplY3QnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxYUGF0aENvdW50RnVuY3Rpb24nIGZpbGU9J3hwYXRoSW50ZXJuYWxzJyBtb2R1bGU9J3hwYXRoJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+SW1wbGVtZW50IHRoZSBjb3VudCgpIFhQYXRoIGZ1bmN0aW9uIG51bWJlciBjb3VudChub2RlLXNldCk8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyJyBpbmZvPSd0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFyZ3MnIHR5cGU9J2ludCcgaW5mbz0ndGhlIG51bWJlciBvZiBhcmd1bWVudHMnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxYUGF0aEN0eHRDb21waWxlJyBmaWxlPSd4cGF0aCcgbW9kdWxlPSd4cGF0aCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNvbXBpbGUgYW4gWFBhdGggZXhwcmVzc2lvbjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sWFBhdGhDb21wRXhwclB0cicgaW5mbz0ndGhlIHhtbFhQYXRoQ29tcEV4cHJQdHIgcmVzdWx0aW5nIGZyb20gdGhlIGNvbXBpbGF0aW9uIG9yIE5VTEwuIHRoZSBjYWxsZXIgaGFzIHRvIGZyZWUgdGhlIG9iamVjdC4nLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sWFBhdGhDb250ZXh0UHRyJyBpbmZvPSdhbiBYUGF0aCBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J3N0cicgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgWFBhdGggZXhwcmVzc2lvbicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQYXRoRGVidWdEdW1wQ29tcEV4cHInIGZpbGU9J3hwYXRoSW50ZXJuYWxzJyBtb2R1bGU9J3hwYXRoJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpICZhbXA7JmFtcDsgZGVmaW5lZChMSUJYTUxfREVCVUdfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5EdW1wcyB0aGUgdHJlZSBvZiB0aGUgY29tcGlsZWQgWFBhdGggZXhwcmVzc2lvbi48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nb3V0cHV0JyB0eXBlPSdGSUxFIConIGluZm89J3RoZSBGSUxFICogZm9yIHRoZSBvdXRwdXQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY29tcCcgdHlwZT0neG1sWFBhdGhDb21wRXhwclB0cicgaW5mbz0ndGhlIHByZWNvbXBpbGVkIFhQYXRoIGV4cHJlc3Npb24nLz4KKyAgICAgIDxhcmcgbmFtZT0nZGVwdGgnIHR5cGU9J2ludCcgaW5mbz0ndGhlIGluZGVudGF0aW9uIGxldmVsLicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQYXRoRGVidWdEdW1wT2JqZWN0JyBmaWxlPSd4cGF0aEludGVybmFscycgbW9kdWxlPSd4cGF0aCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKSAmYW1wOyZhbXA7IGRlZmluZWQoTElCWE1MX0RFQlVHX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+RHVtcCB0aGUgY29udGVudCBvZiB0aGUgb2JqZWN0IGZvciBkZWJ1Z2dpbmcgcHVycG9zZXM8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nb3V0cHV0JyB0eXBlPSdGSUxFIConIGluZm89J3RoZSBGSUxFICogdG8gZHVtcCB0aGUgb3V0cHV0Jy8+CisgICAgICA8YXJnIG5hbWU9J2N1cicgdHlwZT0neG1sWFBhdGhPYmplY3RQdHInIGluZm89J3RoZSBvYmplY3QgdG8gaW5zcGVjdCcvPgorICAgICAgPGFyZyBuYW1lPSdkZXB0aCcgdHlwZT0naW50JyBpbmZvPSdpbmRlbnRhdGlvbiBsZXZlbCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQYXRoRGlmZmVyZW5jZScgZmlsZT0neHBhdGhJbnRlcm5hbHMnIG1vZHVsZT0neHBhdGgnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5JbXBsZW1lbnRzIHRoZSBFWFNMVCAtIFNldHMgZGlmZmVyZW5jZSgpIGZ1bmN0aW9uOiBub2RlLXNldCBzZXQ6ZGlmZmVyZW5jZSAobm9kZS1zZXQsIG5vZGUtc2V0KTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sTm9kZVNldFB0cicgaW5mbz0ndGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgdHdvIG5vZGUgc2V0cywgb3Igbm9kZXMxIGlmIG5vZGVzMiBpcyBlbXB0eScvPgorICAgICAgPGFyZyBuYW1lPSdub2RlczEnIHR5cGU9J3htbE5vZGVTZXRQdHInIGluZm89J2Egbm9kZS1zZXQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbm9kZXMyJyB0eXBlPSd4bWxOb2RlU2V0UHRyJyBpbmZvPSdhIG5vZGUtc2V0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sWFBhdGhEaXN0aW5jdCcgZmlsZT0neHBhdGhJbnRlcm5hbHMnIG1vZHVsZT0neHBhdGgnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5JbXBsZW1lbnRzIHRoZSBFWFNMVCAtIFNldHMgZGlzdGluY3QoKSBmdW5jdGlvbjogbm9kZS1zZXQgc2V0OmRpc3RpbmN0IChub2RlLXNldCkgQG5vZGVzIGlzIHNvcnRlZCBieSBkb2N1bWVudCBvcmRlciwgdGhlbiAjZXhzbFNldHNEaXN0aW5jdFNvcnRlZCBpcyBjYWxsZWQgd2l0aCB0aGUgc29ydGVkIG5vZGUtc2V0PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxOb2RlU2V0UHRyJyBpbmZvPSdhIHN1YnNldCBvZiB0aGUgbm9kZXMgY29udGFpbmVkIGluIEBub2Rlcywgb3IgQG5vZGVzIGlmIGl0IGlzIGVtcHR5Jy8+CisgICAgICA8YXJnIG5hbWU9J25vZGVzJyB0eXBlPSd4bWxOb2RlU2V0UHRyJyBpbmZvPSdhIG5vZGUtc2V0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sWFBhdGhEaXN0aW5jdFNvcnRlZCcgZmlsZT0neHBhdGhJbnRlcm5hbHMnIG1vZHVsZT0neHBhdGgnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5JbXBsZW1lbnRzIHRoZSBFWFNMVCAtIFNldHMgZGlzdGluY3QoKSBmdW5jdGlvbjogbm9kZS1zZXQgc2V0OmRpc3RpbmN0IChub2RlLXNldCk8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbE5vZGVTZXRQdHInIGluZm89J2Egc3Vic2V0IG9mIHRoZSBub2RlcyBjb250YWluZWQgaW4gQG5vZGVzLCBvciBAbm9kZXMgaWYgaXQgaXMgZW1wdHknLz4KKyAgICAgIDxhcmcgbmFtZT0nbm9kZXMnIHR5cGU9J3htbE5vZGVTZXRQdHInIGluZm89J2Egbm9kZS1zZXQsIHNvcnRlZCBieSBkb2N1bWVudCBvcmRlcicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQYXRoRGl2VmFsdWVzJyBmaWxlPSd4cGF0aEludGVybmFscycgbW9kdWxlPSd4cGF0aCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkltcGxlbWVudCB0aGUgZGl2IG9wZXJhdGlvbiBvbiBYUGF0aCBvYmplY3RzIEBhcmcxIC8gQGFyZzI6IFRoZSBudW1lcmljIG9wZXJhdG9ycyBjb252ZXJ0IHRoZWlyIG9wZXJhbmRzIHRvIG51bWJlcnMgYXMgaWYgYnkgY2FsbGluZyB0aGUgbnVtYmVyIGZ1bmN0aW9uLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxYUGF0aFBhcnNlckNvbnRleHRQdHInIGluZm89J3RoZSBYUGF0aCBQYXJzZXIgY29udGV4dCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQYXRoRXF1YWxWYWx1ZXMnIGZpbGU9J3hwYXRoSW50ZXJuYWxzJyBtb2R1bGU9J3hwYXRoJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+SW1wbGVtZW50IHRoZSBlcXVhbCBvcGVyYXRpb24gb24gWFBhdGggb2JqZWN0cyBjb250ZW50OiBAYXJnMSA9PSBAYXJnMjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScwIG9yIDEgZGVwZW5kaW5nIG9uIHRoZSByZXN1bHRzIG9mIHRoZSB0ZXN0LicvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxYUGF0aFBhcnNlckNvbnRleHRQdHInIGluZm89J3RoZSBYUGF0aCBQYXJzZXIgY29udGV4dCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQYXRoRXJyJyBmaWxlPSd4cGF0aEludGVybmFscycgbW9kdWxlPSd4cGF0aCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkhhbmRsZSBhbiBYUGF0aCBlcnJvcjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxYUGF0aFBhcnNlckNvbnRleHRQdHInIGluZm89J2EgWFBhdGggcGFyc2VyIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZXJyb3InIHR5cGU9J2ludCcgaW5mbz0ndGhlIGVycm9yIGNvZGUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxYUGF0aEV2YWwnIGZpbGU9J3hwYXRoJyBtb2R1bGU9J3hwYXRoJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+RXZhbHVhdGUgdGhlIFhQYXRoIExvY2F0aW9uIFBhdGggaW4gdGhlIGdpdmVuIGNvbnRleHQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxYUGF0aE9iamVjdFB0cicgaW5mbz0ndGhlIHhtbFhQYXRoT2JqZWN0UHRyIHJlc3VsdGluZyBmcm9tIHRoZSBldmFsdWF0aW9uIG9yIE5VTEwuIHRoZSBjYWxsZXIgaGFzIHRvIGZyZWUgdGhlIG9iamVjdC4nLz4KKyAgICAgIDxhcmcgbmFtZT0nc3RyJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBYUGF0aCBleHByZXNzaW9uJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eCcgdHlwZT0neG1sWFBhdGhDb250ZXh0UHRyJyBpbmZvPSd0aGUgWFBhdGggY29udGV4dCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQYXRoRXZhbEV4cHInIGZpbGU9J3hwYXRoSW50ZXJuYWxzJyBtb2R1bGU9J3hwYXRoJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+UGFyc2UgYW5kIGV2YWx1YXRlIGFuIFhQYXRoIGV4cHJlc3Npb24gaW4gdGhlIGdpdmVuIGNvbnRleHQsIHRoZW4gcHVzaCB0aGUgcmVzdWx0IG9uIHRoZSBjb250ZXh0IHN0YWNrPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cicgaW5mbz0ndGhlIFhQYXRoIFBhcnNlciBjb250ZXh0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sWFBhdGhFdmFsRXhwcmVzc2lvbicgZmlsZT0neHBhdGgnIG1vZHVsZT0neHBhdGgnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5FdmFsdWF0ZSB0aGUgWFBhdGggZXhwcmVzc2lvbiBpbiB0aGUgZ2l2ZW4gY29udGV4dC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbFhQYXRoT2JqZWN0UHRyJyBpbmZvPSd0aGUgeG1sWFBhdGhPYmplY3RQdHIgcmVzdWx0aW5nIGZyb20gdGhlIGV2YWx1YXRpb24gb3IgTlVMTC4gdGhlIGNhbGxlciBoYXMgdG8gZnJlZSB0aGUgb2JqZWN0LicvPgorICAgICAgPGFyZyBuYW1lPSdzdHInIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIFhQYXRoIGV4cHJlc3Npb24nLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sWFBhdGhDb250ZXh0UHRyJyBpbmZvPSd0aGUgWFBhdGggY29udGV4dCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0eXBlIG5hbWU9J3htbFhQYXRoRXZhbEZ1bmMnIGZpbGU9J3hwYXRoJyBtb2R1bGU9J3hwYXRoJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+QW4gWFBhdGggZXZhbHVhdGlvbiBmdW5jdGlvbiwgdGhlIHBhcmFtZXRlcnMgYXJlIG9uIHRoZSBYUGF0aCBjb250ZXh0IHN0YWNrLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxYUGF0aFBhcnNlckNvbnRleHRQdHInIGluZm89J2FuIFhQYXRoIHBhcnNlciBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J25hcmdzJyB0eXBlPSdpbnQnIGluZm89J3RoZSBudW1iZXIgb2YgYXJndW1lbnRzIHBhc3NlZCB0byB0aGUgZnVuY3Rpb24nLz4KKyAgICA8L2Z1bmN0eXBlPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxYUGF0aEV2YWxQcmVkaWNhdGUnIGZpbGU9J3hwYXRoJyBtb2R1bGU9J3hwYXRoJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+RXZhbHVhdGUgYSBwcmVkaWNhdGUgcmVzdWx0IGZvciB0aGUgY3VycmVudCBub2RlLiBBIFByZWRpY2F0ZUV4cHIgaXMgZXZhbHVhdGVkIGJ5IGV2YWx1YXRpbmcgdGhlIEV4cHIgYW5kIGNvbnZlcnRpbmcgdGhlIHJlc3VsdCB0byBhIGJvb2xlYW4uIElmIHRoZSByZXN1bHQgaXMgYSBudW1iZXIsIHRoZSByZXN1bHQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gdHJ1ZSBpZiB0aGUgbnVtYmVyIGlzIGVxdWFsIHRvIHRoZSBwb3NpdGlvbiBvZiB0aGUgY29udGV4dCBub2RlIGluIHRoZSBjb250ZXh0IG5vZGUgbGlzdCAoYXMgcmV0dXJuZWQgYnkgdGhlIHBvc2l0aW9uIGZ1bmN0aW9uKSBhbmQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gZmFsc2Ugb3RoZXJ3aXNlOyBpZiB0aGUgcmVzdWx0IGlzIG5vdCBhIG51bWJlciwgdGhlbiB0aGUgcmVzdWx0IHdpbGwgYmUgY29udmVydGVkIGFzIGlmIGJ5IGEgY2FsbCB0byB0aGUgYm9vbGVhbiBmdW5jdGlvbi48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiBwcmVkaWNhdGUgaXMgdHJ1ZSwgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sWFBhdGhDb250ZXh0UHRyJyBpbmZvPSd0aGUgWFBhdGggY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdyZXMnIHR5cGU9J3htbFhQYXRoT2JqZWN0UHRyJyBpbmZvPSd0aGUgUHJlZGljYXRlIEV4cHJlc3Npb24gZXZhbHVhdGlvbiByZXN1bHQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxYUGF0aEV2YWx1YXRlUHJlZGljYXRlUmVzdWx0JyBmaWxlPSd4cGF0aEludGVybmFscycgbW9kdWxlPSd4cGF0aCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkV2YWx1YXRlIGEgcHJlZGljYXRlIHJlc3VsdCBmb3IgdGhlIGN1cnJlbnQgbm9kZS4gQSBQcmVkaWNhdGVFeHByIGlzIGV2YWx1YXRlZCBieSBldmFsdWF0aW5nIHRoZSBFeHByIGFuZCBjb252ZXJ0aW5nIHRoZSByZXN1bHQgdG8gYSBib29sZWFuLiBJZiB0aGUgcmVzdWx0IGlzIGEgbnVtYmVyLCB0aGUgcmVzdWx0IHdpbGwgYmUgY29udmVydGVkIHRvIHRydWUgaWYgdGhlIG51bWJlciBpcyBlcXVhbCB0byB0aGUgcG9zaXRpb24gb2YgdGhlIGNvbnRleHQgbm9kZSBpbiB0aGUgY29udGV4dCBub2RlIGxpc3QgKGFzIHJldHVybmVkIGJ5IHRoZSBwb3NpdGlvbiBmdW5jdGlvbikgYW5kIHdpbGwgYmUgY29udmVydGVkIHRvIGZhbHNlIG90aGVyd2lzZTsgaWYgdGhlIHJlc3VsdCBpcyBub3QgYSBudW1iZXIsIHRoZW4gdGhlIHJlc3VsdCB3aWxsIGJlIGNvbnZlcnRlZCBhcyBpZiBieSBhIGNhbGwgdG8gdGhlIGJvb2xlYW4gZnVuY3Rpb24uPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzEgaWYgcHJlZGljYXRlIGlzIHRydWUsIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cicgaW5mbz0ndGhlIFhQYXRoIFBhcnNlciBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J3JlcycgdHlwZT0neG1sWFBhdGhPYmplY3RQdHInIGluZm89J3RoZSBQcmVkaWNhdGUgRXhwcmVzc2lvbiBldmFsdWF0aW9uIHJlc3VsdCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQYXRoRmFsc2VGdW5jdGlvbicgZmlsZT0neHBhdGhJbnRlcm5hbHMnIG1vZHVsZT0neHBhdGgnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5JbXBsZW1lbnQgdGhlIGZhbHNlKCkgWFBhdGggZnVuY3Rpb24gYm9vbGVhbiBmYWxzZSgpPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cicgaW5mbz0ndGhlIFhQYXRoIFBhcnNlciBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J25hcmdzJyB0eXBlPSdpbnQnIGluZm89J3RoZSBudW1iZXIgb2YgYXJndW1lbnRzJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sWFBhdGhGbG9vckZ1bmN0aW9uJyBmaWxlPSd4cGF0aEludGVybmFscycgbW9kdWxlPSd4cGF0aCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkltcGxlbWVudCB0aGUgZmxvb3IoKSBYUGF0aCBmdW5jdGlvbiBudW1iZXIgZmxvb3IobnVtYmVyKSBUaGUgZmxvb3IgZnVuY3Rpb24gcmV0dXJucyB0aGUgbGFyZ2VzdCAoY2xvc2VzdCB0byBwb3NpdGl2ZSBpbmZpbml0eSkgbnVtYmVyIHRoYXQgaXMgbm90IGdyZWF0ZXIgdGhhbiB0aGUgYXJndW1lbnQgYW5kIHRoYXQgaXMgYW4gaW50ZWdlci48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyJyBpbmZvPSd0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFyZ3MnIHR5cGU9J2ludCcgaW5mbz0ndGhlIG51bWJlciBvZiBhcmd1bWVudHMnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxYUGF0aEZyZWVDb21wRXhwcicgZmlsZT0neHBhdGgnIG1vZHVsZT0neHBhdGgnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5GcmVlIHVwIHRoZSBtZW1vcnkgYWxsb2NhdGVkIGJ5IEBjb21wPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2NvbXAnIHR5cGU9J3htbFhQYXRoQ29tcEV4cHJQdHInIGluZm89J2FuIFhQQVRIIGNvbXAnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxYUGF0aEZyZWVDb250ZXh0JyBmaWxlPSd4cGF0aCcgbW9kdWxlPSd4cGF0aCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkZyZWUgdXAgYW4geG1sWFBhdGhDb250ZXh0PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFhQYXRoQ29udGV4dFB0cicgaW5mbz0ndGhlIGNvbnRleHQgdG8gZnJlZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQYXRoRnJlZU5vZGVTZXQnIGZpbGU9J3hwYXRoJyBtb2R1bGU9J3hwYXRoJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+RnJlZSB0aGUgTm9kZVNldCBjb21wb3VuZCAobm90IHRoZSBhY3R1YWwgbm9kZXMgISkuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J29iaicgdHlwZT0neG1sTm9kZVNldFB0cicgaW5mbz0ndGhlIHhtbE5vZGVTZXRQdHIgdG8gZnJlZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQYXRoRnJlZU5vZGVTZXRMaXN0JyBmaWxlPSd4cGF0aCcgbW9kdWxlPSd4cGF0aCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkZyZWUgdXAgdGhlIHhtbFhQYXRoT2JqZWN0UHRyIEBvYmogYnV0IGRvbiZhcG9zO3QgZGVhbGxvY2F0ZSB0aGUgb2JqZWN0cyBpbiB0aGUgbGlzdCBjb250cmFyeSB0byB4bWxYUGF0aEZyZWVPYmplY3QoKS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nb2JqJyB0eXBlPSd4bWxYUGF0aE9iamVjdFB0cicgaW5mbz0nYW4gZXhpc3RpbmcgTm9kZVNldExpc3Qgb2JqZWN0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sWFBhdGhGcmVlT2JqZWN0JyBmaWxlPSd4cGF0aCcgbW9kdWxlPSd4cGF0aCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkZyZWUgdXAgYW4geG1sWFBhdGhPYmplY3RQdHIgb2JqZWN0LjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdvYmonIHR5cGU9J3htbFhQYXRoT2JqZWN0UHRyJyBpbmZvPSd0aGUgb2JqZWN0IHRvIGZyZWUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxYUGF0aEZyZWVQYXJzZXJDb250ZXh0JyBmaWxlPSd4cGF0aEludGVybmFscycgbW9kdWxlPSd4cGF0aCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkZyZWUgdXAgYW4geG1sWFBhdGhQYXJzZXJDb250ZXh0PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cicgaW5mbz0ndGhlIGNvbnRleHQgdG8gZnJlZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0eXBlIG5hbWU9J3htbFhQYXRoRnVuY0xvb2t1cEZ1bmMnIGZpbGU9J3hwYXRoJyBtb2R1bGU9J3hwYXRoJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+UHJvdG90eXBlIGZvciBjYWxsYmFja3MgdXNlZCB0byBwbHVnIGZ1bmN0aW9uIGxvb2t1cCBpbiB0aGUgWFBhdGggZW5naW5lLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sWFBhdGhGdW5jdGlvbicgaW5mbz0ndGhlIFhQYXRoIGZ1bmN0aW9uIG9yIE5VTEwgaWYgbm90IGZvdW5kLicvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd2b2lkIConIGluZm89J2FuIFhQYXRoIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFtZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSduYW1lIG9mIHRoZSBmdW5jdGlvbicvPgorICAgICAgPGFyZyBuYW1lPSduc191cmknIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIG5hbWVzcGFjZSBuYW1lIGhvc3RpbmcgdGhpcyBmdW5jdGlvbicvPgorICAgIDwvZnVuY3R5cGU+CisgICAgPGZ1bmN0eXBlIG5hbWU9J3htbFhQYXRoRnVuY3Rpb24nIGZpbGU9J3hwYXRoJyBtb2R1bGU9J3hwYXRoJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+QW4gWFBhdGggZnVuY3Rpb24uIFRoZSBhcmd1bWVudHMgKGlmIGFueSkgYXJlIHBvcHBlZCBvdXQgZnJvbSB0aGUgY29udGV4dCBzdGFjayBhbmQgdGhlIHJlc3VsdCBpcyBwdXNoZWQgb24gdGhlIHN0YWNrLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxYUGF0aFBhcnNlckNvbnRleHRQdHInIGluZm89J3RoZSBYUGF0aCBpbnRlcnByZXN0YXRpb24gY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSduYXJncycgdHlwZT0naW50JyBpbmZvPSd0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cycvPgorICAgIDwvZnVuY3R5cGU+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQYXRoRnVuY3Rpb25Mb29rdXAnIGZpbGU9J3hwYXRoSW50ZXJuYWxzJyBtb2R1bGU9J3hwYXRoJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+U2VhcmNoIGluIHRoZSBGdW5jdGlvbiBhcnJheSBvZiB0aGUgY29udGV4dCBmb3IgdGhlIGdpdmVuIGZ1bmN0aW9uLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sWFBhdGhGdW5jdGlvbicgaW5mbz0ndGhlIHhtbFhQYXRoRnVuY3Rpb24gb3IgTlVMTCBpZiBub3QgZm91bmQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sWFBhdGhDb250ZXh0UHRyJyBpbmZvPSd0aGUgWFBhdGggY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBmdW5jdGlvbiBuYW1lJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sWFBhdGhGdW5jdGlvbkxvb2t1cE5TJyBmaWxlPSd4cGF0aEludGVybmFscycgbW9kdWxlPSd4cGF0aCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlNlYXJjaCBpbiB0aGUgRnVuY3Rpb24gYXJyYXkgb2YgdGhlIGNvbnRleHQgZm9yIHRoZSBnaXZlbiBmdW5jdGlvbi48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbFhQYXRoRnVuY3Rpb24nIGluZm89J3RoZSB4bWxYUGF0aEZ1bmN0aW9uIG9yIE5VTEwgaWYgbm90IGZvdW5kJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFhQYXRoQ29udGV4dFB0cicgaW5mbz0ndGhlIFhQYXRoIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFtZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgZnVuY3Rpb24gbmFtZScvPgorICAgICAgPGFyZyBuYW1lPSduc191cmknIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIGZ1bmN0aW9uIG5hbWVzcGFjZSBVUkknLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxYUGF0aEhhc1NhbWVOb2RlcycgZmlsZT0neHBhdGhJbnRlcm5hbHMnIG1vZHVsZT0neHBhdGgnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5JbXBsZW1lbnRzIHRoZSBFWFNMVCAtIFNldHMgaGFzLXNhbWUtbm9kZXMgZnVuY3Rpb246IGJvb2xlYW4gc2V0Omhhcy1zYW1lLW5vZGUobm9kZS1zZXQsIG5vZGUtc2V0KTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0cnVlICgxKSBpZiBAbm9kZXMxIHNoYXJlcyBhbnkgbm9kZSB3aXRoIEBub2RlczIsIGZhbHNlICgwKSBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nbm9kZXMxJyB0eXBlPSd4bWxOb2RlU2V0UHRyJyBpbmZvPSdhIG5vZGUtc2V0Jy8+CisgICAgICA8YXJnIG5hbWU9J25vZGVzMicgdHlwZT0neG1sTm9kZVNldFB0cicgaW5mbz0nYSBub2RlLXNldCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQYXRoSWRGdW5jdGlvbicgZmlsZT0neHBhdGhJbnRlcm5hbHMnIG1vZHVsZT0neHBhdGgnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5JbXBsZW1lbnQgdGhlIGlkKCkgWFBhdGggZnVuY3Rpb24gbm9kZS1zZXQgaWQob2JqZWN0KSBUaGUgaWQgZnVuY3Rpb24gc2VsZWN0cyBlbGVtZW50cyBieSB0aGVpciB1bmlxdWUgSUQgKHNlZSBbNS4yLjEgVW5pcXVlIElEc10pLiBXaGVuIHRoZSBhcmd1bWVudCB0byBpZCBpcyBvZiB0eXBlIG5vZGUtc2V0LCB0aGVuIHRoZSByZXN1bHQgaXMgdGhlIHVuaW9uIG9mIHRoZSByZXN1bHQgb2YgYXBwbHlpbmcgaWQgdG8gdGhlIHN0cmluZyB2YWx1ZSBvZiBlYWNoIG9mIHRoZSBub2RlcyBpbiB0aGUgYXJndW1lbnQgbm9kZS1zZXQuIFdoZW4gdGhlIGFyZ3VtZW50IHRvIGlkIGlzIG9mIGFueSBvdGhlciB0eXBlLCB0aGUgYXJndW1lbnQgaXMgY29udmVydGVkIHRvIGEgc3RyaW5nIGFzIGlmIGJ5IGEgY2FsbCB0byB0aGUgc3RyaW5nIGZ1bmN0aW9uOyB0aGUgc3RyaW5nIGlzIHNwbGl0IGludG8gYSB3aGl0ZXNwYWNlLXNlcGFyYXRlZCBsaXN0IG9mIHRva2VucyAod2hpdGVzcGFjZSBpcyBhbnkgc2VxdWVuY2Ugb2YgY2hhcmFjdGVycyBtYXRjaGluZyB0aGUgcHJvZHVjdGlvbiBTKTsgdGhlIHJlc3VsdCBpcyBhIG5vZGUtc2V0IGNvbnRhaW5pbmcgdGhlIGVsZW1lbnRzIGluIHRoZSBzYW1lIGRvY3VtZW50IGFzIHRoZSBjb250ZXh0IG5vZGUgdGhhdCBoYXZlIGEgdW5pcXVlIElEIGVxdWFsIHRvIGFueSBvZiB0aGUgdG9rZW5zIGluIHRoZSBsaXN0LjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxYUGF0aFBhcnNlckNvbnRleHRQdHInIGluZm89J3RoZSBYUGF0aCBQYXJzZXIgY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSduYXJncycgdHlwZT0naW50JyBpbmZvPSd0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cycvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQYXRoSW5pdCcgZmlsZT0neHBhdGgnIG1vZHVsZT0neHBhdGgnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkluaXRpYWxpemUgdGhlIFhQYXRoIGVudmlyb25tZW50PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sWFBhdGhJbnRlcnNlY3Rpb24nIGZpbGU9J3hwYXRoSW50ZXJuYWxzJyBtb2R1bGU9J3hwYXRoJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+SW1wbGVtZW50cyB0aGUgRVhTTFQgLSBTZXRzIGludGVyc2VjdGlvbigpIGZ1bmN0aW9uOiBub2RlLXNldCBzZXQ6aW50ZXJzZWN0aW9uIChub2RlLXNldCwgbm9kZS1zZXQpPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxOb2RlU2V0UHRyJyBpbmZvPSdhIG5vZGUgc2V0IGNvbXByaXNpbmcgdGhlIG5vZGVzIHRoYXQgYXJlIHdpdGhpbiBib3RoIHRoZSBub2RlIHNldHMgcGFzc2VkIGFzIGFyZ3VtZW50cycvPgorICAgICAgPGFyZyBuYW1lPSdub2RlczEnIHR5cGU9J3htbE5vZGVTZXRQdHInIGluZm89J2Egbm9kZS1zZXQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbm9kZXMyJyB0eXBlPSd4bWxOb2RlU2V0UHRyJyBpbmZvPSdhIG5vZGUtc2V0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sWFBhdGhJc0luZicgZmlsZT0neHBhdGgnIG1vZHVsZT0neHBhdGgnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlByb3ZpZGVzIGEgcG9ydGFibGUgaXNpbmYoKSBmdW5jdGlvbiB0byBkZXRlY3Qgd2hldGhlciBhIGRvdWJsZSBpcyBhICtJbmZpbml0ZSBvciAtSW5maW5pdGUuIEJhc2VkIG9uIHRyaW8gY29kZSBodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2N0cmlvLzwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIHZpIHRoZSB2YWx1ZSBpcyArSW5maW5pdGUsIC0xIGlmIC1JbmZpbml0ZSwgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0ndmFsJyB0eXBlPSdkb3VibGUnIGluZm89J2EgZG91YmxlIHZhbHVlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sWFBhdGhJc05hTicgZmlsZT0neHBhdGgnIG1vZHVsZT0neHBhdGgnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlByb3ZpZGVzIGEgcG9ydGFibGUgaXNuYW4oKSBmdW5jdGlvbiB0byBkZXRlY3Qgd2hldGhlciBhIGRvdWJsZSBpcyBhIE5vdGFOdW1iZXIuIEJhc2VkIG9uIHRyaW8gY29kZSBodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2N0cmlvLzwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScxIGlmIHRoZSB2YWx1ZSBpcyBhIE5hTiwgMCBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0ndmFsJyB0eXBlPSdkb3VibGUnIGluZm89J2EgZG91YmxlIHZhbHVlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sWFBhdGhJc05vZGVUeXBlJyBmaWxlPSd4cGF0aEludGVybmFscycgbW9kdWxlPSd4cGF0aCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPklzIHRoZSBuYW1lIGdpdmVuIGEgTm9kZVR5cGUgb25lLiAgWzM4XSAgIE5vZGVUeXBlIDo6PSAgICZhcG9zO2NvbW1lbnQmYXBvczsgfCAmYXBvczt0ZXh0JmFwb3M7IHwgJmFwb3M7cHJvY2Vzc2luZy1pbnN0cnVjdGlvbiZhcG9zOyB8ICZhcG9zO25vZGUmYXBvczs8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMSBpZiB0cnVlIDAgb3RoZXJ3aXNlJy8+CisgICAgICA8YXJnIG5hbWU9J25hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nYSBuYW1lIHN0cmluZycvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQYXRoTGFuZ0Z1bmN0aW9uJyBmaWxlPSd4cGF0aEludGVybmFscycgbW9kdWxlPSd4cGF0aCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkltcGxlbWVudCB0aGUgbGFuZygpIFhQYXRoIGZ1bmN0aW9uIGJvb2xlYW4gbGFuZyhzdHJpbmcpIFRoZSBsYW5nIGZ1bmN0aW9uIHJldHVybnMgdHJ1ZSBvciBmYWxzZSBkZXBlbmRpbmcgb24gd2hldGhlciB0aGUgbGFuZ3VhZ2Ugb2YgdGhlIGNvbnRleHQgbm9kZSBhcyBzcGVjaWZpZWQgYnkgeG1sOmxhbmcgYXR0cmlidXRlcyBpcyB0aGUgc2FtZSBhcyBvciBpcyBhIHN1Ymxhbmd1YWdlIG9mIHRoZSBsYW5ndWFnZSBzcGVjaWZpZWQgYnkgdGhlIGFyZ3VtZW50IHN0cmluZy4gVGhlIGxhbmd1YWdlIG9mIHRoZSBjb250ZXh0IG5vZGUgaXMgZGV0ZXJtaW5lZCBieSB0aGUgdmFsdWUgb2YgdGhlIHhtbDpsYW5nIGF0dHJpYnV0ZSBvbiB0aGUgY29udGV4dCBub2RlLCBvciwgaWYgdGhlIGNvbnRleHQgbm9kZSBoYXMgbm8geG1sOmxhbmcgYXR0cmlidXRlLCBieSB0aGUgdmFsdWUgb2YgdGhlIHhtbDpsYW5nIGF0dHJpYnV0ZSBvbiB0aGUgbmVhcmVzdCBhbmNlc3RvciBvZiB0aGUgY29udGV4dCBub2RlIHRoYXQgaGFzIGFuIHhtbDpsYW5nIGF0dHJpYnV0ZS4gSWYgdGhlcmUgaXMgbm8gc3VjaCBhdHRyaWJ1dGUsIHRoZW4gbGFuZzwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxYUGF0aFBhcnNlckNvbnRleHRQdHInIGluZm89J3RoZSBYUGF0aCBQYXJzZXIgY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSduYXJncycgdHlwZT0naW50JyBpbmZvPSd0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cycvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQYXRoTGFzdEZ1bmN0aW9uJyBmaWxlPSd4cGF0aEludGVybmFscycgbW9kdWxlPSd4cGF0aCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkltcGxlbWVudCB0aGUgbGFzdCgpIFhQYXRoIGZ1bmN0aW9uIG51bWJlciBsYXN0KCkgVGhlIGxhc3QgZnVuY3Rpb24gcmV0dXJucyB0aGUgbnVtYmVyIG9mIG5vZGVzIGluIHRoZSBjb250ZXh0IG5vZGUgbGlzdC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyJyBpbmZvPSd0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFyZ3MnIHR5cGU9J2ludCcgaW5mbz0ndGhlIG51bWJlciBvZiBhcmd1bWVudHMnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxYUGF0aExlYWRpbmcnIGZpbGU9J3hwYXRoSW50ZXJuYWxzJyBtb2R1bGU9J3hwYXRoJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+SW1wbGVtZW50cyB0aGUgRVhTTFQgLSBTZXRzIGxlYWRpbmcoKSBmdW5jdGlvbjogbm9kZS1zZXQgc2V0OmxlYWRpbmcgKG5vZGUtc2V0LCBub2RlLXNldCkgQG5vZGVzMSBhbmQgQG5vZGVzMiBhcmUgc29ydGVkIGJ5IGRvY3VtZW50IG9yZGVyLCB0aGVuICNleHNsU2V0c0xlYWRpbmdTb3J0ZWQgaXMgY2FsbGVkLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sTm9kZVNldFB0cicgaW5mbz0ndGhlIG5vZGVzIGluIEBub2RlczEgdGhhdCBwcmVjZWRlIHRoZSBmaXJzdCBub2RlIGluIEBub2RlczIgaW4gZG9jdW1lbnQgb3JkZXIsIEBub2RlczEgaWYgQG5vZGVzMiBpcyBOVUxMIG9yIGVtcHR5IG9yIGFuIGVtcHR5IG5vZGUtc2V0IGlmIEBub2RlczEgZG9lc24mYXBvczt0IGNvbnRhaW4gQG5vZGVzMicvPgorICAgICAgPGFyZyBuYW1lPSdub2RlczEnIHR5cGU9J3htbE5vZGVTZXRQdHInIGluZm89J2Egbm9kZS1zZXQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbm9kZXMyJyB0eXBlPSd4bWxOb2RlU2V0UHRyJyBpbmZvPSdhIG5vZGUtc2V0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sWFBhdGhMZWFkaW5nU29ydGVkJyBmaWxlPSd4cGF0aEludGVybmFscycgbW9kdWxlPSd4cGF0aCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkltcGxlbWVudHMgdGhlIEVYU0xUIC0gU2V0cyBsZWFkaW5nKCkgZnVuY3Rpb246IG5vZGUtc2V0IHNldDpsZWFkaW5nIChub2RlLXNldCwgbm9kZS1zZXQpPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxOb2RlU2V0UHRyJyBpbmZvPSd0aGUgbm9kZXMgaW4gQG5vZGVzMSB0aGF0IHByZWNlZGUgdGhlIGZpcnN0IG5vZGUgaW4gQG5vZGVzMiBpbiBkb2N1bWVudCBvcmRlciwgQG5vZGVzMSBpZiBAbm9kZXMyIGlzIE5VTEwgb3IgZW1wdHkgb3IgYW4gZW1wdHkgbm9kZS1zZXQgaWYgQG5vZGVzMSBkb2VzbiZhcG9zO3QgY29udGFpbiBAbm9kZXMyJy8+CisgICAgICA8YXJnIG5hbWU9J25vZGVzMScgdHlwZT0neG1sTm9kZVNldFB0cicgaW5mbz0nYSBub2RlLXNldCwgc29ydGVkIGJ5IGRvY3VtZW50IG9yZGVyJy8+CisgICAgICA8YXJnIG5hbWU9J25vZGVzMicgdHlwZT0neG1sTm9kZVNldFB0cicgaW5mbz0nYSBub2RlLXNldCwgc29ydGVkIGJ5IGRvY3VtZW50IG9yZGVyJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sWFBhdGhMb2NhbE5hbWVGdW5jdGlvbicgZmlsZT0neHBhdGhJbnRlcm5hbHMnIG1vZHVsZT0neHBhdGgnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5JbXBsZW1lbnQgdGhlIGxvY2FsLW5hbWUoKSBYUGF0aCBmdW5jdGlvbiBzdHJpbmcgbG9jYWwtbmFtZShub2RlLXNldD8pIFRoZSBsb2NhbC1uYW1lIGZ1bmN0aW9uIHJldHVybnMgYSBzdHJpbmcgY29udGFpbmluZyB0aGUgbG9jYWwgcGFydCBvZiB0aGUgbmFtZSBvZiB0aGUgbm9kZSBpbiB0aGUgYXJndW1lbnQgbm9kZS1zZXQgdGhhdCBpcyBmaXJzdCBpbiBkb2N1bWVudCBvcmRlci4gSWYgdGhlIG5vZGUtc2V0IGlzIGVtcHR5IG9yIHRoZSBmaXJzdCBub2RlIGhhcyBubyBuYW1lLCBhbiBlbXB0eSBzdHJpbmcgaXMgcmV0dXJuZWQuIElmIHRoZSBhcmd1bWVudCBpcyBvbWl0dGVkIGl0IGRlZmF1bHRzIHRvIHRoZSBjb250ZXh0IG5vZGUuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cicgaW5mbz0ndGhlIFhQYXRoIFBhcnNlciBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J25hcmdzJyB0eXBlPSdpbnQnIGluZm89J3RoZSBudW1iZXIgb2YgYXJndW1lbnRzJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sWFBhdGhNb2RWYWx1ZXMnIGZpbGU9J3hwYXRoSW50ZXJuYWxzJyBtb2R1bGU9J3hwYXRoJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+SW1wbGVtZW50IHRoZSBtb2Qgb3BlcmF0aW9uIG9uIFhQYXRoIG9iamVjdHM6IEBhcmcxIC8gQGFyZzIgVGhlIG51bWVyaWMgb3BlcmF0b3JzIGNvbnZlcnQgdGhlaXIgb3BlcmFuZHMgdG8gbnVtYmVycyBhcyBpZiBieSBjYWxsaW5nIHRoZSBudW1iZXIgZnVuY3Rpb24uPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cicgaW5mbz0ndGhlIFhQYXRoIFBhcnNlciBjb250ZXh0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sWFBhdGhNdWx0VmFsdWVzJyBmaWxlPSd4cGF0aEludGVybmFscycgbW9kdWxlPSd4cGF0aCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkltcGxlbWVudCB0aGUgbXVsdGlwbHkgb3BlcmF0aW9uIG9uIFhQYXRoIG9iamVjdHM6IFRoZSBudW1lcmljIG9wZXJhdG9ycyBjb252ZXJ0IHRoZWlyIG9wZXJhbmRzIHRvIG51bWJlcnMgYXMgaWYgYnkgY2FsbGluZyB0aGUgbnVtYmVyIGZ1bmN0aW9uLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxYUGF0aFBhcnNlckNvbnRleHRQdHInIGluZm89J3RoZSBYUGF0aCBQYXJzZXIgY29udGV4dCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQYXRoTmFtZXNwYWNlVVJJRnVuY3Rpb24nIGZpbGU9J3hwYXRoSW50ZXJuYWxzJyBtb2R1bGU9J3hwYXRoJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+SW1wbGVtZW50IHRoZSBuYW1lc3BhY2UtdXJpKCkgWFBhdGggZnVuY3Rpb24gc3RyaW5nIG5hbWVzcGFjZS11cmkobm9kZS1zZXQ/KSBUaGUgbmFtZXNwYWNlLXVyaSBmdW5jdGlvbiByZXR1cm5zIGEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG5hbWVzcGFjZSBVUkkgb2YgdGhlIGV4cGFuZGVkIG5hbWUgb2YgdGhlIG5vZGUgaW4gdGhlIGFyZ3VtZW50IG5vZGUtc2V0IHRoYXQgaXMgZmlyc3QgaW4gZG9jdW1lbnQgb3JkZXIuIElmIHRoZSBub2RlLXNldCBpcyBlbXB0eSwgdGhlIGZpcnN0IG5vZGUgaGFzIG5vIG5hbWUsIG9yIHRoZSBleHBhbmRlZCBuYW1lIGhhcyBubyBuYW1lc3BhY2UgVVJJLCBhbiBlbXB0eSBzdHJpbmcgaXMgcmV0dXJuZWQuIElmIHRoZSBhcmd1bWVudCBpcyBvbWl0dGVkIGl0IGRlZmF1bHRzIHRvIHRoZSBjb250ZXh0IG5vZGUuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cicgaW5mbz0ndGhlIFhQYXRoIFBhcnNlciBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J25hcmdzJyB0eXBlPSdpbnQnIGluZm89J3RoZSBudW1iZXIgb2YgYXJndW1lbnRzJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sWFBhdGhOZXdCb29sZWFuJyBmaWxlPSd4cGF0aEludGVybmFscycgbW9kdWxlPSd4cGF0aCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNyZWF0ZSBhIG5ldyB4bWxYUGF0aE9iamVjdFB0ciBvZiB0eXBlIGJvb2xlYW4gYW5kIG9mIHZhbHVlIEB2YWw8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbFhQYXRoT2JqZWN0UHRyJyBpbmZvPSd0aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QuJy8+CisgICAgICA8YXJnIG5hbWU9J3ZhbCcgdHlwZT0naW50JyBpbmZvPSd0aGUgYm9vbGVhbiB2YWx1ZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQYXRoTmV3Q1N0cmluZycgZmlsZT0neHBhdGhJbnRlcm5hbHMnIG1vZHVsZT0neHBhdGgnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DcmVhdGUgYSBuZXcgeG1sWFBhdGhPYmplY3RQdHIgb2YgdHlwZSBzdHJpbmcgYW5kIG9mIHZhbHVlIEB2YWw8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbFhQYXRoT2JqZWN0UHRyJyBpbmZvPSd0aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QuJy8+CisgICAgICA8YXJnIG5hbWU9J3ZhbCcgdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSd0aGUgY2hhciAqIHZhbHVlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sWFBhdGhOZXdDb250ZXh0JyBmaWxlPSd4cGF0aCcgbW9kdWxlPSd4cGF0aCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNyZWF0ZSBhIG5ldyB4bWxYUGF0aENvbnRleHQ8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbFhQYXRoQ29udGV4dFB0cicgaW5mbz0ndGhlIHhtbFhQYXRoQ29udGV4dCBqdXN0IGFsbG9jYXRlZC4gVGhlIGNhbGxlciB3aWxsIG5lZWQgdG8gZnJlZSBpdC4nLz4KKyAgICAgIDxhcmcgbmFtZT0nZG9jJyB0eXBlPSd4bWxEb2NQdHInIGluZm89J3RoZSBYTUwgZG9jdW1lbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxYUGF0aE5ld0Zsb2F0JyBmaWxlPSd4cGF0aEludGVybmFscycgbW9kdWxlPSd4cGF0aCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNyZWF0ZSBhIG5ldyB4bWxYUGF0aE9iamVjdFB0ciBvZiB0eXBlIGRvdWJsZSBhbmQgb2YgdmFsdWUgQHZhbDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sWFBhdGhPYmplY3RQdHInIGluZm89J3RoZSBuZXdseSBjcmVhdGVkIG9iamVjdC4nLz4KKyAgICAgIDxhcmcgbmFtZT0ndmFsJyB0eXBlPSdkb3VibGUnIGluZm89J3RoZSBkb3VibGUgdmFsdWUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxYUGF0aE5ld05vZGVTZXQnIGZpbGU9J3hwYXRoSW50ZXJuYWxzJyBtb2R1bGU9J3hwYXRoJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q3JlYXRlIGEgbmV3IHhtbFhQYXRoT2JqZWN0UHRyIG9mIHR5cGUgTm9kZVNldCBhbmQgaW5pdGlhbGl6ZSBpdCB3aXRoIHRoZSBzaW5nbGUgTm9kZSBAdmFsPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxYUGF0aE9iamVjdFB0cicgaW5mbz0ndGhlIG5ld2x5IGNyZWF0ZWQgb2JqZWN0LicvPgorICAgICAgPGFyZyBuYW1lPSd2YWwnIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3RoZSBOb2RlUHRyIHZhbHVlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sWFBhdGhOZXdOb2RlU2V0TGlzdCcgZmlsZT0neHBhdGhJbnRlcm5hbHMnIG1vZHVsZT0neHBhdGgnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DcmVhdGUgYSBuZXcgeG1sWFBhdGhPYmplY3RQdHIgb2YgdHlwZSBOb2RlU2V0IGFuZCBpbml0aWFsaXplIGl0IHdpdGggdGhlIE5vZGVzZXQgQHZhbDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sWFBhdGhPYmplY3RQdHInIGluZm89J3RoZSBuZXdseSBjcmVhdGVkIG9iamVjdC4nLz4KKyAgICAgIDxhcmcgbmFtZT0ndmFsJyB0eXBlPSd4bWxOb2RlU2V0UHRyJyBpbmZvPSdhbiBleGlzdGluZyBOb2RlU2V0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sWFBhdGhOZXdQYXJzZXJDb250ZXh0JyBmaWxlPSd4cGF0aEludGVybmFscycgbW9kdWxlPSd4cGF0aCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNyZWF0ZSBhIG5ldyB4bWxYUGF0aFBhcnNlckNvbnRleHQ8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cicgaW5mbz0ndGhlIHhtbFhQYXRoUGFyc2VyQ29udGV4dCBqdXN0IGFsbG9jYXRlZC4nLz4KKyAgICAgIDxhcmcgbmFtZT0nc3RyJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBYUGF0aCBleHByZXNzaW9uJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFhQYXRoQ29udGV4dFB0cicgaW5mbz0ndGhlIFhQYXRoIGNvbnRleHQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxYUGF0aE5ld1N0cmluZycgZmlsZT0neHBhdGhJbnRlcm5hbHMnIG1vZHVsZT0neHBhdGgnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DcmVhdGUgYSBuZXcgeG1sWFBhdGhPYmplY3RQdHIgb2YgdHlwZSBzdHJpbmcgYW5kIG9mIHZhbHVlIEB2YWw8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbFhQYXRoT2JqZWN0UHRyJyBpbmZvPSd0aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QuJy8+CisgICAgICA8YXJnIG5hbWU9J3ZhbCcgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgeG1sQ2hhciAqIHZhbHVlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sWFBhdGhOZXdWYWx1ZVRyZWUnIGZpbGU9J3hwYXRoSW50ZXJuYWxzJyBtb2R1bGU9J3hwYXRoJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q3JlYXRlIGEgbmV3IHhtbFhQYXRoT2JqZWN0UHRyIG9mIHR5cGUgVmFsdWUgVHJlZSAoWFNMVCkgYW5kIGluaXRpYWxpemUgaXQgd2l0aCB0aGUgdHJlZSByb290IEB2YWw8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbFhQYXRoT2JqZWN0UHRyJyBpbmZvPSd0aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QuJy8+CisgICAgICA8YXJnIG5hbWU9J3ZhbCcgdHlwZT0neG1sTm9kZVB0cicgaW5mbz0ndGhlIE5vZGVQdHIgdmFsdWUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxYUGF0aE5leHRBbmNlc3RvcicgZmlsZT0neHBhdGhJbnRlcm5hbHMnIG1vZHVsZT0neHBhdGgnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5UcmF2ZXJzYWwgZnVuY3Rpb24gZm9yIHRoZSAmcXVvdDthbmNlc3RvciZxdW90OyBkaXJlY3Rpb24gdGhlIGFuY2VzdG9yIGF4aXMgY29udGFpbnMgdGhlIGFuY2VzdG9ycyBvZiB0aGUgY29udGV4dCBub2RlOyB0aGUgYW5jZXN0b3JzIG9mIHRoZSBjb250ZXh0IG5vZGUgY29uc2lzdCBvZiB0aGUgcGFyZW50IG9mIGNvbnRleHQgbm9kZSBhbmQgdGhlIHBhcmVudCZhcG9zO3MgcGFyZW50IGFuZCBzbyBvbjsgdGhlIG5vZGVzIGFyZSBvcmRlcmVkIGluIHJldmVyc2UgZG9jdW1lbnQgb3JkZXI7IHRodXMgdGhlIHBhcmVudCBpcyB0aGUgZmlyc3Qgbm9kZSBvbiB0aGUgYXhpcywgYW5kIHRoZSBwYXJlbnQmYXBvcztzIHBhcmVudCBpcyB0aGUgc2Vjb25kIG5vZGUgb24gdGhlIGF4aXM8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3RoZSBuZXh0IGVsZW1lbnQgZm9sbG93aW5nIHRoYXQgYXhpcycvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxYUGF0aFBhcnNlckNvbnRleHRQdHInIGluZm89J3RoZSBYUGF0aCBQYXJzZXIgY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdjdXInIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3RoZSBjdXJyZW50IG5vZGUgaW4gdGhlIHRyYXZlcnNhbCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQYXRoTmV4dEFuY2VzdG9yT3JTZWxmJyBmaWxlPSd4cGF0aEludGVybmFscycgbW9kdWxlPSd4cGF0aCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlRyYXZlcnNhbCBmdW5jdGlvbiBmb3IgdGhlICZxdW90O2FuY2VzdG9yLW9yLXNlbGYmcXVvdDsgZGlyZWN0aW9uIGhlIGFuY2VzdG9yLW9yLXNlbGYgYXhpcyBjb250YWlucyB0aGUgY29udGV4dCBub2RlIGFuZCBhbmNlc3RvcnMgb2YgdGhlIGNvbnRleHQgbm9kZSBpbiByZXZlcnNlIGRvY3VtZW50IG9yZGVyOyB0aHVzIHRoZSBjb250ZXh0IG5vZGUgaXMgdGhlIGZpcnN0IG5vZGUgb24gdGhlIGF4aXMsIGFuZCB0aGUgY29udGV4dCBub2RlJmFwb3M7cyBwYXJlbnQgdGhlIHNlY29uZDsgcGFyZW50IGhlcmUgaXMgZGVmaW5lZCB0aGUgc2FtZSBhcyB3aXRoIHRoZSBwYXJlbnQgYXhpcy48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3RoZSBuZXh0IGVsZW1lbnQgZm9sbG93aW5nIHRoYXQgYXhpcycvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxYUGF0aFBhcnNlckNvbnRleHRQdHInIGluZm89J3RoZSBYUGF0aCBQYXJzZXIgY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdjdXInIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3RoZSBjdXJyZW50IG5vZGUgaW4gdGhlIHRyYXZlcnNhbCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQYXRoTmV4dEF0dHJpYnV0ZScgZmlsZT0neHBhdGhJbnRlcm5hbHMnIG1vZHVsZT0neHBhdGgnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5UcmF2ZXJzYWwgZnVuY3Rpb24gZm9yIHRoZSAmcXVvdDthdHRyaWJ1dGUmcXVvdDsgZGlyZWN0aW9uIFRPRE86IHN1cHBvcnQgRFREIGluaGVyaXRlZCBkZWZhdWx0IGF0dHJpYnV0ZXM8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3RoZSBuZXh0IGVsZW1lbnQgZm9sbG93aW5nIHRoYXQgYXhpcycvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxYUGF0aFBhcnNlckNvbnRleHRQdHInIGluZm89J3RoZSBYUGF0aCBQYXJzZXIgY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdjdXInIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3RoZSBjdXJyZW50IGF0dHJpYnV0ZSBpbiB0aGUgdHJhdmVyc2FsJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sWFBhdGhOZXh0Q2hpbGQnIGZpbGU9J3hwYXRoSW50ZXJuYWxzJyBtb2R1bGU9J3hwYXRoJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+VHJhdmVyc2FsIGZ1bmN0aW9uIGZvciB0aGUgJnF1b3Q7Y2hpbGQmcXVvdDsgZGlyZWN0aW9uIFRoZSBjaGlsZCBheGlzIGNvbnRhaW5zIHRoZSBjaGlsZHJlbiBvZiB0aGUgY29udGV4dCBub2RlIGluIGRvY3VtZW50IG9yZGVyLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sTm9kZVB0cicgaW5mbz0ndGhlIG5leHQgZWxlbWVudCBmb2xsb3dpbmcgdGhhdCBheGlzJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cicgaW5mbz0ndGhlIFhQYXRoIFBhcnNlciBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J2N1cicgdHlwZT0neG1sTm9kZVB0cicgaW5mbz0ndGhlIGN1cnJlbnQgbm9kZSBpbiB0aGUgdHJhdmVyc2FsJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sWFBhdGhOZXh0RGVzY2VuZGFudCcgZmlsZT0neHBhdGhJbnRlcm5hbHMnIG1vZHVsZT0neHBhdGgnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5UcmF2ZXJzYWwgZnVuY3Rpb24gZm9yIHRoZSAmcXVvdDtkZXNjZW5kYW50JnF1b3Q7IGRpcmVjdGlvbiB0aGUgZGVzY2VuZGFudCBheGlzIGNvbnRhaW5zIHRoZSBkZXNjZW5kYW50cyBvZiB0aGUgY29udGV4dCBub2RlIGluIGRvY3VtZW50IG9yZGVyOyBhIGRlc2NlbmRhbnQgaXMgYSBjaGlsZCBvciBhIGNoaWxkIG9mIGEgY2hpbGQgYW5kIHNvIG9uLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sTm9kZVB0cicgaW5mbz0ndGhlIG5leHQgZWxlbWVudCBmb2xsb3dpbmcgdGhhdCBheGlzJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cicgaW5mbz0ndGhlIFhQYXRoIFBhcnNlciBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J2N1cicgdHlwZT0neG1sTm9kZVB0cicgaW5mbz0ndGhlIGN1cnJlbnQgbm9kZSBpbiB0aGUgdHJhdmVyc2FsJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sWFBhdGhOZXh0RGVzY2VuZGFudE9yU2VsZicgZmlsZT0neHBhdGhJbnRlcm5hbHMnIG1vZHVsZT0neHBhdGgnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5UcmF2ZXJzYWwgZnVuY3Rpb24gZm9yIHRoZSAmcXVvdDtkZXNjZW5kYW50LW9yLXNlbGYmcXVvdDsgZGlyZWN0aW9uIHRoZSBkZXNjZW5kYW50LW9yLXNlbGYgYXhpcyBjb250YWlucyB0aGUgY29udGV4dCBub2RlIGFuZCB0aGUgZGVzY2VuZGFudHMgb2YgdGhlIGNvbnRleHQgbm9kZSBpbiBkb2N1bWVudCBvcmRlcjsgdGh1cyB0aGUgY29udGV4dCBub2RlIGlzIHRoZSBmaXJzdCBub2RlIG9uIHRoZSBheGlzLCBhbmQgdGhlIGZpcnN0IGNoaWxkIG9mIHRoZSBjb250ZXh0IG5vZGUgaXMgdGhlIHNlY29uZCBub2RlIG9uIHRoZSBheGlzPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSd0aGUgbmV4dCBlbGVtZW50IGZvbGxvd2luZyB0aGF0IGF4aXMnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyJyBpbmZvPSd0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3VyJyB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSd0aGUgY3VycmVudCBub2RlIGluIHRoZSB0cmF2ZXJzYWwnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxYUGF0aE5leHRGb2xsb3dpbmcnIGZpbGU9J3hwYXRoSW50ZXJuYWxzJyBtb2R1bGU9J3hwYXRoJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+VHJhdmVyc2FsIGZ1bmN0aW9uIGZvciB0aGUgJnF1b3Q7Zm9sbG93aW5nJnF1b3Q7IGRpcmVjdGlvbiBUaGUgZm9sbG93aW5nIGF4aXMgY29udGFpbnMgYWxsIG5vZGVzIGluIHRoZSBzYW1lIGRvY3VtZW50IGFzIHRoZSBjb250ZXh0IG5vZGUgdGhhdCBhcmUgYWZ0ZXIgdGhlIGNvbnRleHQgbm9kZSBpbiBkb2N1bWVudCBvcmRlciwgZXhjbHVkaW5nIGFueSBkZXNjZW5kYW50cyBhbmQgZXhjbHVkaW5nIGF0dHJpYnV0ZSBub2RlcyBhbmQgbmFtZXNwYWNlIG5vZGVzOyB0aGUgbm9kZXMgYXJlIG9yZGVyZWQgaW4gZG9jdW1lbnQgb3JkZXI8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3RoZSBuZXh0IGVsZW1lbnQgZm9sbG93aW5nIHRoYXQgYXhpcycvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxYUGF0aFBhcnNlckNvbnRleHRQdHInIGluZm89J3RoZSBYUGF0aCBQYXJzZXIgY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdjdXInIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3RoZSBjdXJyZW50IG5vZGUgaW4gdGhlIHRyYXZlcnNhbCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQYXRoTmV4dEZvbGxvd2luZ1NpYmxpbmcnIGZpbGU9J3hwYXRoSW50ZXJuYWxzJyBtb2R1bGU9J3hwYXRoJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+VHJhdmVyc2FsIGZ1bmN0aW9uIGZvciB0aGUgJnF1b3Q7Zm9sbG93aW5nLXNpYmxpbmcmcXVvdDsgZGlyZWN0aW9uIFRoZSBmb2xsb3dpbmctc2libGluZyBheGlzIGNvbnRhaW5zIHRoZSBmb2xsb3dpbmcgc2libGluZ3Mgb2YgdGhlIGNvbnRleHQgbm9kZSBpbiBkb2N1bWVudCBvcmRlci48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3RoZSBuZXh0IGVsZW1lbnQgZm9sbG93aW5nIHRoYXQgYXhpcycvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxYUGF0aFBhcnNlckNvbnRleHRQdHInIGluZm89J3RoZSBYUGF0aCBQYXJzZXIgY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdjdXInIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3RoZSBjdXJyZW50IG5vZGUgaW4gdGhlIHRyYXZlcnNhbCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQYXRoTmV4dE5hbWVzcGFjZScgZmlsZT0neHBhdGhJbnRlcm5hbHMnIG1vZHVsZT0neHBhdGgnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5UcmF2ZXJzYWwgZnVuY3Rpb24gZm9yIHRoZSAmcXVvdDtuYW1lc3BhY2UmcXVvdDsgZGlyZWN0aW9uIHRoZSBuYW1lc3BhY2UgYXhpcyBjb250YWlucyB0aGUgbmFtZXNwYWNlIG5vZGVzIG9mIHRoZSBjb250ZXh0IG5vZGU7IHRoZSBvcmRlciBvZiBub2RlcyBvbiB0aGlzIGF4aXMgaXMgaW1wbGVtZW50YXRpb24tZGVmaW5lZDsgdGhlIGF4aXMgd2lsbCBiZSBlbXB0eSB1bmxlc3MgdGhlIGNvbnRleHQgbm9kZSBpcyBhbiBlbGVtZW50ICBXZSBrZWVwIHRoZSBYTUwgbmFtZXNwYWNlIG5vZGUgYXQgdGhlIGVuZCBvZiB0aGUgbGlzdC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3RoZSBuZXh0IGVsZW1lbnQgZm9sbG93aW5nIHRoYXQgYXhpcycvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxYUGF0aFBhcnNlckNvbnRleHRQdHInIGluZm89J3RoZSBYUGF0aCBQYXJzZXIgY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdjdXInIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3RoZSBjdXJyZW50IGF0dHJpYnV0ZSBpbiB0aGUgdHJhdmVyc2FsJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sWFBhdGhOZXh0UGFyZW50JyBmaWxlPSd4cGF0aEludGVybmFscycgbW9kdWxlPSd4cGF0aCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlRyYXZlcnNhbCBmdW5jdGlvbiBmb3IgdGhlICZxdW90O3BhcmVudCZxdW90OyBkaXJlY3Rpb24gVGhlIHBhcmVudCBheGlzIGNvbnRhaW5zIHRoZSBwYXJlbnQgb2YgdGhlIGNvbnRleHQgbm9kZSwgaWYgdGhlcmUgaXMgb25lLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sTm9kZVB0cicgaW5mbz0ndGhlIG5leHQgZWxlbWVudCBmb2xsb3dpbmcgdGhhdCBheGlzJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cicgaW5mbz0ndGhlIFhQYXRoIFBhcnNlciBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J2N1cicgdHlwZT0neG1sTm9kZVB0cicgaW5mbz0ndGhlIGN1cnJlbnQgbm9kZSBpbiB0aGUgdHJhdmVyc2FsJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sWFBhdGhOZXh0UHJlY2VkaW5nJyBmaWxlPSd4cGF0aEludGVybmFscycgbW9kdWxlPSd4cGF0aCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlRyYXZlcnNhbCBmdW5jdGlvbiBmb3IgdGhlICZxdW90O3ByZWNlZGluZyZxdW90OyBkaXJlY3Rpb24gdGhlIHByZWNlZGluZyBheGlzIGNvbnRhaW5zIGFsbCBub2RlcyBpbiB0aGUgc2FtZSBkb2N1bWVudCBhcyB0aGUgY29udGV4dCBub2RlIHRoYXQgYXJlIGJlZm9yZSB0aGUgY29udGV4dCBub2RlIGluIGRvY3VtZW50IG9yZGVyLCBleGNsdWRpbmcgYW55IGFuY2VzdG9ycyBhbmQgZXhjbHVkaW5nIGF0dHJpYnV0ZSBub2RlcyBhbmQgbmFtZXNwYWNlIG5vZGVzOyB0aGUgbm9kZXMgYXJlIG9yZGVyZWQgaW4gcmV2ZXJzZSBkb2N1bWVudCBvcmRlcjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sTm9kZVB0cicgaW5mbz0ndGhlIG5leHQgZWxlbWVudCBmb2xsb3dpbmcgdGhhdCBheGlzJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cicgaW5mbz0ndGhlIFhQYXRoIFBhcnNlciBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J2N1cicgdHlwZT0neG1sTm9kZVB0cicgaW5mbz0ndGhlIGN1cnJlbnQgbm9kZSBpbiB0aGUgdHJhdmVyc2FsJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sWFBhdGhOZXh0UHJlY2VkaW5nU2libGluZycgZmlsZT0neHBhdGhJbnRlcm5hbHMnIG1vZHVsZT0neHBhdGgnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5UcmF2ZXJzYWwgZnVuY3Rpb24gZm9yIHRoZSAmcXVvdDtwcmVjZWRpbmctc2libGluZyZxdW90OyBkaXJlY3Rpb24gVGhlIHByZWNlZGluZy1zaWJsaW5nIGF4aXMgY29udGFpbnMgdGhlIHByZWNlZGluZyBzaWJsaW5ncyBvZiB0aGUgY29udGV4dCBub2RlIGluIHJldmVyc2UgZG9jdW1lbnQgb3JkZXI7IHRoZSBmaXJzdCBwcmVjZWRpbmcgc2libGluZyBpcyBmaXJzdCBvbiB0aGUgYXhpczsgdGhlIHNpYmxpbmcgcHJlY2VkaW5nIHRoYXQgbm9kZSBpcyB0aGUgc2Vjb25kIG9uIHRoZSBheGlzIGFuZCBzbyBvbi48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3RoZSBuZXh0IGVsZW1lbnQgZm9sbG93aW5nIHRoYXQgYXhpcycvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxYUGF0aFBhcnNlckNvbnRleHRQdHInIGluZm89J3RoZSBYUGF0aCBQYXJzZXIgY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdjdXInIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3RoZSBjdXJyZW50IG5vZGUgaW4gdGhlIHRyYXZlcnNhbCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQYXRoTmV4dFNlbGYnIGZpbGU9J3hwYXRoSW50ZXJuYWxzJyBtb2R1bGU9J3hwYXRoJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+VHJhdmVyc2FsIGZ1bmN0aW9uIGZvciB0aGUgJnF1b3Q7c2VsZiZxdW90OyBkaXJlY3Rpb24gVGhlIHNlbGYgYXhpcyBjb250YWlucyBqdXN0IHRoZSBjb250ZXh0IG5vZGUgaXRzZWxmPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSd0aGUgbmV4dCBlbGVtZW50IGZvbGxvd2luZyB0aGF0IGF4aXMnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyJyBpbmZvPSd0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3VyJyB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSd0aGUgY3VycmVudCBub2RlIGluIHRoZSB0cmF2ZXJzYWwnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxYUGF0aE5vZGVFdmFsJyBmaWxlPSd4cGF0aCcgbW9kdWxlPSd4cGF0aCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkV2YWx1YXRlIHRoZSBYUGF0aCBMb2NhdGlvbiBQYXRoIGluIHRoZSBnaXZlbiBjb250ZXh0LiBUaGUgbm9kZSAmYXBvcztub2RlJmFwb3M7IGlzIHNldCBhcyB0aGUgY29udGV4dCBub2RlLiBUaGUgY29udGV4dCBub2RlIGlzIG5vdCByZXN0b3JlZC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbFhQYXRoT2JqZWN0UHRyJyBpbmZvPSd0aGUgeG1sWFBhdGhPYmplY3RQdHIgcmVzdWx0aW5nIGZyb20gdGhlIGV2YWx1YXRpb24gb3IgTlVMTC4gdGhlIGNhbGxlciBoYXMgdG8gZnJlZSB0aGUgb2JqZWN0LicvPgorICAgICAgPGFyZyBuYW1lPSdub2RlJyB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSd0aGUgbm9kZSB0byB0byB1c2UgYXMgdGhlIGNvbnRleHQgbm9kZScvPgorICAgICAgPGFyZyBuYW1lPSdzdHInIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIFhQYXRoIGV4cHJlc3Npb24nLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4JyB0eXBlPSd4bWxYUGF0aENvbnRleHRQdHInIGluZm89J3RoZSBYUGF0aCBjb250ZXh0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sWFBhdGhOb2RlTGVhZGluZycgZmlsZT0neHBhdGhJbnRlcm5hbHMnIG1vZHVsZT0neHBhdGgnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5JbXBsZW1lbnRzIHRoZSBFWFNMVCAtIFNldHMgbGVhZGluZygpIGZ1bmN0aW9uOiBub2RlLXNldCBzZXQ6bGVhZGluZyAobm9kZS1zZXQsIG5vZGUtc2V0KSBAbm9kZXMgaXMgc29ydGVkIGJ5IGRvY3VtZW50IG9yZGVyLCB0aGVuICNleHNsU2V0c05vZGVMZWFkaW5nU29ydGVkIGlzIGNhbGxlZC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbE5vZGVTZXRQdHInIGluZm89J3RoZSBub2RlcyBpbiBAbm9kZXMgdGhhdCBwcmVjZWRlIEBub2RlIGluIGRvY3VtZW50IG9yZGVyLCBAbm9kZXMgaWYgQG5vZGUgaXMgTlVMTCBvciBhbiBlbXB0eSBub2RlLXNldCBpZiBAbm9kZXMgZG9lc24mYXBvczt0IGNvbnRhaW4gQG5vZGUnLz4KKyAgICAgIDxhcmcgbmFtZT0nbm9kZXMnIHR5cGU9J3htbE5vZGVTZXRQdHInIGluZm89J2Egbm9kZS1zZXQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbm9kZScgdHlwZT0neG1sTm9kZVB0cicgaW5mbz0nYSBub2RlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sWFBhdGhOb2RlTGVhZGluZ1NvcnRlZCcgZmlsZT0neHBhdGhJbnRlcm5hbHMnIG1vZHVsZT0neHBhdGgnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5JbXBsZW1lbnRzIHRoZSBFWFNMVCAtIFNldHMgbGVhZGluZygpIGZ1bmN0aW9uOiBub2RlLXNldCBzZXQ6bGVhZGluZyAobm9kZS1zZXQsIG5vZGUtc2V0KTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sTm9kZVNldFB0cicgaW5mbz0ndGhlIG5vZGVzIGluIEBub2RlcyB0aGF0IHByZWNlZGUgQG5vZGUgaW4gZG9jdW1lbnQgb3JkZXIsIEBub2RlcyBpZiBAbm9kZSBpcyBOVUxMIG9yIGFuIGVtcHR5IG5vZGUtc2V0IGlmIEBub2RlcyBkb2VzbiZhcG9zO3QgY29udGFpbiBAbm9kZScvPgorICAgICAgPGFyZyBuYW1lPSdub2RlcycgdHlwZT0neG1sTm9kZVNldFB0cicgaW5mbz0nYSBub2RlLXNldCwgc29ydGVkIGJ5IGRvY3VtZW50IG9yZGVyJy8+CisgICAgICA8YXJnIG5hbWU9J25vZGUnIHR5cGU9J3htbE5vZGVQdHInIGluZm89J2Egbm9kZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQYXRoTm9kZVNldEFkZCcgZmlsZT0neHBhdGhJbnRlcm5hbHMnIG1vZHVsZT0neHBhdGgnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5hZGQgYSBuZXcgeG1sTm9kZVB0ciB0byBhbiBleGlzdGluZyBOb2RlU2V0PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzAgaW4gY2FzZSBvZiBzdWNjZXNzLCBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSdjdXInIHR5cGU9J3htbE5vZGVTZXRQdHInIGluZm89J3RoZSBpbml0aWFsIG5vZGUgc2V0Jy8+CisgICAgICA8YXJnIG5hbWU9J3ZhbCcgdHlwZT0neG1sTm9kZVB0cicgaW5mbz0nYSBuZXcgeG1sTm9kZVB0cicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQYXRoTm9kZVNldEFkZE5zJyBmaWxlPSd4cGF0aEludGVybmFscycgbW9kdWxlPSd4cGF0aCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPmFkZCBhIG5ldyBuYW1lc3BhY2Ugbm9kZSB0byBhbiBleGlzdGluZyBOb2RlU2V0PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzAgaW4gY2FzZSBvZiBzdWNjZXNzIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J2N1cicgdHlwZT0neG1sTm9kZVNldFB0cicgaW5mbz0ndGhlIGluaXRpYWwgbm9kZSBzZXQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbm9kZScgdHlwZT0neG1sTm9kZVB0cicgaW5mbz0ndGhlIGhvc3Rpbmcgbm9kZScvPgorICAgICAgPGFyZyBuYW1lPSducycgdHlwZT0neG1sTnNQdHInIGluZm89J2EgdGhlIG5hbWVzcGFjZSBub2RlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sWFBhdGhOb2RlU2V0QWRkVW5pcXVlJyBmaWxlPSd4cGF0aEludGVybmFscycgbW9kdWxlPSd4cGF0aCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPmFkZCBhIG5ldyB4bWxOb2RlUHRyIHRvIGFuIGV4aXN0aW5nIE5vZGVTZXQsIG9wdGltaXplZCB2ZXJzaW9uIHdoZW4gd2UgYXJlIHN1cmUgdGhlIG5vZGUgaXMgbm90IGFscmVhZHkgaW4gdGhlIHNldC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMCBpbiBjYXNlIG9mIHN1Y2Nlc3MgYW5kIC0xIGluIGNhc2Ugb2YgZmFpbHVyZScvPgorICAgICAgPGFyZyBuYW1lPSdjdXInIHR5cGU9J3htbE5vZGVTZXRQdHInIGluZm89J3RoZSBpbml0aWFsIG5vZGUgc2V0Jy8+CisgICAgICA8YXJnIG5hbWU9J3ZhbCcgdHlwZT0neG1sTm9kZVB0cicgaW5mbz0nYSBuZXcgeG1sTm9kZVB0cicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQYXRoTm9kZVNldENvbnRhaW5zJyBmaWxlPSd4cGF0aEludGVybmFscycgbW9kdWxlPSd4cGF0aCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPmNoZWNrcyB3aGV0aGVyIEBjdXIgY29udGFpbnMgQHZhbDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSd0cnVlICgxKSBpZiBAY3VyIGNvbnRhaW5zIEB2YWwsIGZhbHNlICgwKSBvdGhlcndpc2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3VyJyB0eXBlPSd4bWxOb2RlU2V0UHRyJyBpbmZvPSd0aGUgbm9kZS1zZXQnLz4KKyAgICAgIDxhcmcgbmFtZT0ndmFsJyB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSd0aGUgbm9kZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQYXRoTm9kZVNldENyZWF0ZScgZmlsZT0neHBhdGgnIG1vZHVsZT0neHBhdGgnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DcmVhdGUgYSBuZXcgeG1sTm9kZVNldFB0ciBvZiB0eXBlIGRvdWJsZSBhbmQgb2YgdmFsdWUgQHZhbDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sTm9kZVNldFB0cicgaW5mbz0ndGhlIG5ld2x5IGNyZWF0ZWQgb2JqZWN0LicvPgorICAgICAgPGFyZyBuYW1lPSd2YWwnIHR5cGU9J3htbE5vZGVQdHInIGluZm89J2FuIGluaXRpYWwgeG1sTm9kZVB0ciwgb3IgTlVMTCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQYXRoTm9kZVNldERlbCcgZmlsZT0neHBhdGhJbnRlcm5hbHMnIG1vZHVsZT0neHBhdGgnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5SZW1vdmVzIGFuIHhtbE5vZGVQdHIgZnJvbSBhbiBleGlzdGluZyBOb2RlU2V0PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N1cicgdHlwZT0neG1sTm9kZVNldFB0cicgaW5mbz0ndGhlIGluaXRpYWwgbm9kZSBzZXQnLz4KKyAgICAgIDxhcmcgbmFtZT0ndmFsJyB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSdhbiB4bWxOb2RlUHRyJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sWFBhdGhOb2RlU2V0RnJlZU5zJyBmaWxlPSd4cGF0aEludGVybmFscycgbW9kdWxlPSd4cGF0aCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPk5hbWVzcGFjZSBub2RlcyBpbiBsaWJ4bWwgZG9uJmFwb3M7dCBtYXRjaCB0aGUgWFBhdGggc2VtYW50aWMuIEluIGEgbm9kZSBzZXQgdGhlIG5hbWVzcGFjZSBub2RlcyBhcmUgZHVwbGljYXRlZCBhbmQgdGhlIG5leHQgcG9pbnRlciBpcyBzZXQgdG8gdGhlIHBhcmVudCBub2RlIGluIHRoZSBYUGF0aCBzZW1hbnRpYy4gQ2hlY2sgaWYgc3VjaCBhIG5vZGUgbmVlZHMgdG8gYmUgZnJlZWQ8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbnMnIHR5cGU9J3htbE5zUHRyJyBpbmZvPSd0aGUgWFBhdGggbmFtZXNwYWNlIG5vZGUgZm91bmQgaW4gYSBub2Rlc2V0LicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQYXRoTm9kZVNldE1lcmdlJyBmaWxlPSd4cGF0aEludGVybmFscycgbW9kdWxlPSd4cGF0aCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPk1lcmdlcyB0d28gbm9kZXNldHMsIGFsbCBub2RlcyBmcm9tIEB2YWwyIGFyZSBhZGRlZCB0byBAdmFsMSBpZiBAdmFsMSBpcyBOVUxMLCBhIG5ldyBzZXQgaXMgY3JlYXRlZCBhbmQgY29waWVkIGZyb20gQHZhbDI8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbE5vZGVTZXRQdHInIGluZm89J0B2YWwxIG9uY2UgZXh0ZW5kZWQgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLicvPgorICAgICAgPGFyZyBuYW1lPSd2YWwxJyB0eXBlPSd4bWxOb2RlU2V0UHRyJyBpbmZvPSd0aGUgZmlyc3QgTm9kZVNldCBvciBOVUxMJy8+CisgICAgICA8YXJnIG5hbWU9J3ZhbDInIHR5cGU9J3htbE5vZGVTZXRQdHInIGluZm89J3RoZSBzZWNvbmQgTm9kZVNldCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQYXRoTm9kZVNldFJlbW92ZScgZmlsZT0neHBhdGhJbnRlcm5hbHMnIG1vZHVsZT0neHBhdGgnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5SZW1vdmVzIGFuIGVudHJ5IGZyb20gYW4gZXhpc3RpbmcgTm9kZVNldCBsaXN0LjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdXInIHR5cGU9J3htbE5vZGVTZXRQdHInIGluZm89J3RoZSBpbml0aWFsIG5vZGUgc2V0Jy8+CisgICAgICA8YXJnIG5hbWU9J3ZhbCcgdHlwZT0naW50JyBpbmZvPSd0aGUgaW5kZXggdG8gcmVtb3ZlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sWFBhdGhOb2RlU2V0U29ydCcgZmlsZT0neHBhdGhJbnRlcm5hbHMnIG1vZHVsZT0neHBhdGgnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5Tb3J0IHRoZSBub2RlIHNldCBpbiBkb2N1bWVudCBvcmRlcjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdzZXQnIHR5cGU9J3htbE5vZGVTZXRQdHInIGluZm89J3RoZSBub2RlIHNldCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQYXRoTm9kZVRyYWlsaW5nJyBmaWxlPSd4cGF0aEludGVybmFscycgbW9kdWxlPSd4cGF0aCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkltcGxlbWVudHMgdGhlIEVYU0xUIC0gU2V0cyB0cmFpbGluZygpIGZ1bmN0aW9uOiBub2RlLXNldCBzZXQ6dHJhaWxpbmcgKG5vZGUtc2V0LCBub2RlLXNldCkgQG5vZGVzIGlzIHNvcnRlZCBieSBkb2N1bWVudCBvcmRlciwgdGhlbiAjeG1sWFBhdGhOb2RlVHJhaWxpbmdTb3J0ZWQgaXMgY2FsbGVkLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sTm9kZVNldFB0cicgaW5mbz0ndGhlIG5vZGVzIGluIEBub2RlcyB0aGF0IGZvbGxvdyBAbm9kZSBpbiBkb2N1bWVudCBvcmRlciwgQG5vZGVzIGlmIEBub2RlIGlzIE5VTEwgb3IgYW4gZW1wdHkgbm9kZS1zZXQgaWYgQG5vZGVzIGRvZXNuJmFwb3M7dCBjb250YWluIEBub2RlJy8+CisgICAgICA8YXJnIG5hbWU9J25vZGVzJyB0eXBlPSd4bWxOb2RlU2V0UHRyJyBpbmZvPSdhIG5vZGUtc2V0Jy8+CisgICAgICA8YXJnIG5hbWU9J25vZGUnIHR5cGU9J3htbE5vZGVQdHInIGluZm89J2Egbm9kZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQYXRoTm9kZVRyYWlsaW5nU29ydGVkJyBmaWxlPSd4cGF0aEludGVybmFscycgbW9kdWxlPSd4cGF0aCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkltcGxlbWVudHMgdGhlIEVYU0xUIC0gU2V0cyB0cmFpbGluZygpIGZ1bmN0aW9uOiBub2RlLXNldCBzZXQ6dHJhaWxpbmcgKG5vZGUtc2V0LCBub2RlLXNldCk8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbE5vZGVTZXRQdHInIGluZm89J3RoZSBub2RlcyBpbiBAbm9kZXMgdGhhdCBmb2xsb3cgQG5vZGUgaW4gZG9jdW1lbnQgb3JkZXIsIEBub2RlcyBpZiBAbm9kZSBpcyBOVUxMIG9yIGFuIGVtcHR5IG5vZGUtc2V0IGlmIEBub2RlcyBkb2VzbiZhcG9zO3QgY29udGFpbiBAbm9kZScvPgorICAgICAgPGFyZyBuYW1lPSdub2RlcycgdHlwZT0neG1sTm9kZVNldFB0cicgaW5mbz0nYSBub2RlLXNldCwgc29ydGVkIGJ5IGRvY3VtZW50IG9yZGVyJy8+CisgICAgICA8YXJnIG5hbWU9J25vZGUnIHR5cGU9J3htbE5vZGVQdHInIGluZm89J2Egbm9kZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQYXRoTm9ybWFsaXplRnVuY3Rpb24nIGZpbGU9J3hwYXRoSW50ZXJuYWxzJyBtb2R1bGU9J3hwYXRoJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+SW1wbGVtZW50IHRoZSBub3JtYWxpemUtc3BhY2UoKSBYUGF0aCBmdW5jdGlvbiBzdHJpbmcgbm9ybWFsaXplLXNwYWNlKHN0cmluZz8pIFRoZSBub3JtYWxpemUtc3BhY2UgZnVuY3Rpb24gcmV0dXJucyB0aGUgYXJndW1lbnQgc3RyaW5nIHdpdGggd2hpdGUgc3BhY2Ugbm9ybWFsaXplZCBieSBzdHJpcHBpbmcgbGVhZGluZyBhbmQgdHJhaWxpbmcgd2hpdGVzcGFjZSBhbmQgcmVwbGFjaW5nIHNlcXVlbmNlcyBvZiB3aGl0ZXNwYWNlIGNoYXJhY3RlcnMgYnkgYSBzaW5nbGUgc3BhY2UuIFdoaXRlc3BhY2UgY2hhcmFjdGVycyBhcmUgdGhlIHNhbWUgYWxsb3dlZCBieSB0aGUgUyBwcm9kdWN0aW9uIGluIFhNTC4gSWYgdGhlIGFyZ3VtZW50IGlzIG9taXR0ZWQsIGl0IGRlZmF1bHRzIHRvIHRoZSBjb250ZXh0IG5vZGUgY29udmVydGVkIHRvIGEgc3RyaW5nLCBpbiBvdGhlciB3b3JkcyB0aGUgdmFsdWUgb2YgdGhlIGNvbnRleHQgbm9kZS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyJyBpbmZvPSd0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFyZ3MnIHR5cGU9J2ludCcgaW5mbz0ndGhlIG51bWJlciBvZiBhcmd1bWVudHMnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxYUGF0aE5vdEVxdWFsVmFsdWVzJyBmaWxlPSd4cGF0aEludGVybmFscycgbW9kdWxlPSd4cGF0aCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkltcGxlbWVudCB0aGUgZXF1YWwgb3BlcmF0aW9uIG9uIFhQYXRoIG9iamVjdHMgY29udGVudDogQGFyZzEgPT0gQGFyZzI8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMCBvciAxIGRlcGVuZGluZyBvbiB0aGUgcmVzdWx0cyBvZiB0aGUgdGVzdC4nLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyJyBpbmZvPSd0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxYUGF0aE5vdEZ1bmN0aW9uJyBmaWxlPSd4cGF0aEludGVybmFscycgbW9kdWxlPSd4cGF0aCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkltcGxlbWVudCB0aGUgbm90KCkgWFBhdGggZnVuY3Rpb24gYm9vbGVhbiBub3QoYm9vbGVhbikgVGhlIG5vdCBmdW5jdGlvbiByZXR1cm5zIHRydWUgaWYgaXRzIGFyZ3VtZW50IGlzIGZhbHNlLCBhbmQgZmFsc2Ugb3RoZXJ3aXNlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxYUGF0aFBhcnNlckNvbnRleHRQdHInIGluZm89J3RoZSBYUGF0aCBQYXJzZXIgY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSduYXJncycgdHlwZT0naW50JyBpbmZvPSd0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cycvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQYXRoTnNMb29rdXAnIGZpbGU9J3hwYXRoSW50ZXJuYWxzJyBtb2R1bGU9J3hwYXRoJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+U2VhcmNoIGluIHRoZSBuYW1lc3BhY2UgZGVjbGFyYXRpb24gYXJyYXkgb2YgdGhlIGNvbnRleHQgZm9yIHRoZSBnaXZlbiBuYW1lc3BhY2UgbmFtZSBhc3NvY2lhdGVkIHRvIHRoZSBnaXZlbiBwcmVmaXg8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIHZhbHVlIG9yIE5VTEwgaWYgbm90IGZvdW5kJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFhQYXRoQ29udGV4dFB0cicgaW5mbz0ndGhlIFhQYXRoIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0ncHJlZml4JyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBuYW1lc3BhY2UgcHJlZml4IHZhbHVlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sWFBhdGhOdW1iZXJGdW5jdGlvbicgZmlsZT0neHBhdGhJbnRlcm5hbHMnIG1vZHVsZT0neHBhdGgnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5JbXBsZW1lbnQgdGhlIG51bWJlcigpIFhQYXRoIGZ1bmN0aW9uIG51bWJlciBudW1iZXIob2JqZWN0Pyk8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyJyBpbmZvPSd0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFyZ3MnIHR5cGU9J2ludCcgaW5mbz0ndGhlIG51bWJlciBvZiBhcmd1bWVudHMnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxYUGF0aE9iamVjdENvcHknIGZpbGU9J3hwYXRoJyBtb2R1bGU9J3hwYXRoJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+YWxsb2NhdGUgYSBuZXcgY29weSBvZiBhIGdpdmVuIG9iamVjdDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sWFBhdGhPYmplY3RQdHInIGluZm89J3RoZSBuZXdseSBjcmVhdGVkIG9iamVjdC4nLz4KKyAgICAgIDxhcmcgbmFtZT0ndmFsJyB0eXBlPSd4bWxYUGF0aE9iamVjdFB0cicgaW5mbz0ndGhlIG9yaWdpbmFsIG9iamVjdCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQYXRoT3JkZXJEb2NFbGVtcycgZmlsZT0neHBhdGgnIG1vZHVsZT0neHBhdGgnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DYWxsIHRoaXMgcm91dGluZSB0byBzcGVlZCB1cCBYUGF0aCBjb21wdXRhdGlvbiBvbiBzdGF0aWMgZG9jdW1lbnRzLiBUaGlzIHN0YW1wcyBhbGwgdGhlIGVsZW1lbnQgbm9kZXMgd2l0aCB0aGUgZG9jdW1lbnQgb3JkZXIgTGlrZSBmb3IgbGluZSBpbmZvcm1hdGlvbiwgdGhlIG9yZGVyIGlzIGtlcHQgaW4gdGhlIGVsZW1lbnQtJmd0O2NvbnRlbnQgZmllbGQsIHRoZSB2YWx1ZSBzdG9yZWQgaXMgYWN0dWFsbHkgLSB0aGUgbm9kZSBudW1iZXIgKHN0YXJ0aW5nIGF0IC0xKSB0byBiZSBhYmxlIHRvIGRpZmZlcmVudGlhdGUgZnJvbSBsaW5lIG51bWJlcnMuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdsb25nJyBpbmZvPSd0aGUgbnVtYmVyIG9mIGVsZW1lbnRzIGZvdW5kIGluIHRoZSBkb2N1bWVudCBvciAtMSBpbiBjYXNlIG9mIGVycm9yLicvPgorICAgICAgPGFyZyBuYW1lPSdkb2MnIHR5cGU9J3htbERvY1B0cicgaW5mbz0nYW4gaW5wdXQgZG9jdW1lbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxYUGF0aFBhcnNlTkNOYW1lJyBmaWxlPSd4cGF0aEludGVybmFscycgbW9kdWxlPSd4cGF0aCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPnBhcnNlIGFuIFhNTCBuYW1lc3BhY2Ugbm9uIHF1YWxpZmllZCBuYW1lLiAgW05TIDNdIE5DTmFtZSA6Oj0gKExldHRlciB8ICZhcG9zO18mYXBvczspIChOQ05hbWVDaGFyKSogIFtOUyA0XSBOQ05hbWVDaGFyIDo6PSBMZXR0ZXIgfCBEaWdpdCB8ICZhcG9zOy4mYXBvczsgfCAmYXBvczstJmFwb3M7IHwgJmFwb3M7XyZhcG9zOyB8IENvbWJpbmluZ0NoYXIgfCBFeHRlbmRlcjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sQ2hhciAqJyBpbmZvPSd0aGUgbmFtZXNwYWNlIG5hbWUgb3IgTlVMTCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxYUGF0aFBhcnNlckNvbnRleHRQdHInIGluZm89J3RoZSBYUGF0aCBQYXJzZXIgY29udGV4dCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQYXRoUGFyc2VOYW1lJyBmaWxlPSd4cGF0aEludGVybmFscycgbW9kdWxlPSd4cGF0aCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPnBhcnNlIGFuIFhNTCBuYW1lICBbNF0gTmFtZUNoYXIgOjo9IExldHRlciB8IERpZ2l0IHwgJmFwb3M7LiZhcG9zOyB8ICZhcG9zOy0mYXBvczsgfCAmYXBvcztfJmFwb3M7IHwgJmFwb3M7OiZhcG9zOyB8IENvbWJpbmluZ0NoYXIgfCBFeHRlbmRlciAgWzVdIE5hbWUgOjo9IChMZXR0ZXIgfCAmYXBvcztfJmFwb3M7IHwgJmFwb3M7OiZhcG9zOykgKE5hbWVDaGFyKSo8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbENoYXIgKicgaW5mbz0ndGhlIG5hbWVzcGFjZSBuYW1lIG9yIE5VTEwnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyJyBpbmZvPSd0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxYUGF0aFBvcEJvb2xlYW4nIGZpbGU9J3hwYXRoSW50ZXJuYWxzJyBtb2R1bGU9J3hwYXRoJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+UG9wcyBhIGJvb2xlYW4gZnJvbSB0aGUgc3RhY2ssIGhhbmRsaW5nIGNvbnZlcnNpb24gaWYgbmVlZGVkLiBDaGVjayBlcnJvciB3aXRoICN4bWxYUGF0aENoZWNrRXJyb3IuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89J3RoZSBib29sZWFuJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cicgaW5mbz0nYW4gWFBhdGggcGFyc2VyIGNvbnRleHQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxYUGF0aFBvcEV4dGVybmFsJyBmaWxlPSd4cGF0aEludGVybmFscycgbW9kdWxlPSd4cGF0aCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlBvcHMgYW4gZXh0ZXJuYWwgb2JqZWN0IGZyb20gdGhlIHN0YWNrLCBoYW5kbGluZyBjb252ZXJzaW9uIGlmIG5lZWRlZC4gQ2hlY2sgZXJyb3Igd2l0aCAjeG1sWFBhdGhDaGVja0Vycm9yLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCAqJyBpbmZvPSd0aGUgb2JqZWN0Jy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cicgaW5mbz0nYW4gWFBhdGggcGFyc2VyIGNvbnRleHQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxYUGF0aFBvcE5vZGVTZXQnIGZpbGU9J3hwYXRoSW50ZXJuYWxzJyBtb2R1bGU9J3hwYXRoJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+UG9wcyBhIG5vZGUtc2V0IGZyb20gdGhlIHN0YWNrLCBoYW5kbGluZyBjb252ZXJzaW9uIGlmIG5lZWRlZC4gQ2hlY2sgZXJyb3Igd2l0aCAjeG1sWFBhdGhDaGVja0Vycm9yLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sTm9kZVNldFB0cicgaW5mbz0ndGhlIG5vZGUtc2V0Jy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cicgaW5mbz0nYW4gWFBhdGggcGFyc2VyIGNvbnRleHQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxYUGF0aFBvcE51bWJlcicgZmlsZT0neHBhdGhJbnRlcm5hbHMnIG1vZHVsZT0neHBhdGgnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5Qb3BzIGEgbnVtYmVyIGZyb20gdGhlIHN0YWNrLCBoYW5kbGluZyBjb252ZXJzaW9uIGlmIG5lZWRlZC4gQ2hlY2sgZXJyb3Igd2l0aCAjeG1sWFBhdGhDaGVja0Vycm9yLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0nZG91YmxlJyBpbmZvPSd0aGUgbnVtYmVyJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cicgaW5mbz0nYW4gWFBhdGggcGFyc2VyIGNvbnRleHQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxYUGF0aFBvcFN0cmluZycgZmlsZT0neHBhdGhJbnRlcm5hbHMnIG1vZHVsZT0neHBhdGgnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5Qb3BzIGEgc3RyaW5nIGZyb20gdGhlIHN0YWNrLCBoYW5kbGluZyBjb252ZXJzaW9uIGlmIG5lZWRlZC4gQ2hlY2sgZXJyb3Igd2l0aCAjeG1sWFBhdGhDaGVja0Vycm9yLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sQ2hhciAqJyBpbmZvPSd0aGUgc3RyaW5nJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cicgaW5mbz0nYW4gWFBhdGggcGFyc2VyIGNvbnRleHQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxYUGF0aFBvc2l0aW9uRnVuY3Rpb24nIGZpbGU9J3hwYXRoSW50ZXJuYWxzJyBtb2R1bGU9J3hwYXRoJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+SW1wbGVtZW50IHRoZSBwb3NpdGlvbigpIFhQYXRoIGZ1bmN0aW9uIG51bWJlciBwb3NpdGlvbigpIFRoZSBwb3NpdGlvbiBmdW5jdGlvbiByZXR1cm5zIHRoZSBwb3NpdGlvbiBvZiB0aGUgY29udGV4dCBub2RlIGluIHRoZSBjb250ZXh0IG5vZGUgbGlzdC4gVGhlIGZpcnN0IHBvc2l0aW9uIGlzIDEsIGFuZCBzbyB0aGUgbGFzdCBwb3NpdGlvbiB3aWxsIGJlIGVxdWFsIHRvIGxhc3QoKS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyJyBpbmZvPSd0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFyZ3MnIHR5cGU9J2ludCcgaW5mbz0ndGhlIG51bWJlciBvZiBhcmd1bWVudHMnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxYUGF0aFJlZ2lzdGVyQWxsRnVuY3Rpb25zJyBmaWxlPSd4cGF0aEludGVybmFscycgbW9kdWxlPSd4cGF0aCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlJlZ2lzdGVycyBhbGwgZGVmYXVsdCBYUGF0aCBmdW5jdGlvbnMgaW4gdGhpcyBjb250ZXh0PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFhQYXRoQ29udGV4dFB0cicgaW5mbz0ndGhlIFhQYXRoIGNvbnRleHQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxYUGF0aFJlZ2lzdGVyRnVuYycgZmlsZT0neHBhdGhJbnRlcm5hbHMnIG1vZHVsZT0neHBhdGgnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5SZWdpc3RlciBhIG5ldyBmdW5jdGlvbi4gSWYgQGYgaXMgTlVMTCBpdCB1bnJlZ2lzdGVycyB0aGUgZnVuY3Rpb248L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMCBpbiBjYXNlIG9mIHN1Y2Nlc3MsIC0xIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sWFBhdGhDb250ZXh0UHRyJyBpbmZvPSd0aGUgWFBhdGggY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSduYW1lJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBmdW5jdGlvbiBuYW1lJy8+CisgICAgICA8YXJnIG5hbWU9J2YnIHR5cGU9J3htbFhQYXRoRnVuY3Rpb24nIGluZm89J3RoZSBmdW5jdGlvbiBpbXBsZW1lbnRhdGlvbiBvciBOVUxMJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sWFBhdGhSZWdpc3RlckZ1bmNMb29rdXAnIGZpbGU9J3hwYXRoSW50ZXJuYWxzJyBtb2R1bGU9J3hwYXRoJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+UmVnaXN0ZXJzIGFuIGV4dGVybmFsIG1lY2hhbmlzbSB0byBkbyBmdW5jdGlvbiBsb29rdXAuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFhQYXRoQ29udGV4dFB0cicgaW5mbz0ndGhlIFhQYXRoIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZicgdHlwZT0neG1sWFBhdGhGdW5jTG9va3VwRnVuYycgaW5mbz0ndGhlIGxvb2t1cCBmdW5jdGlvbicvPgorICAgICAgPGFyZyBuYW1lPSdmdW5jQ3R4dCcgdHlwZT0ndm9pZCAqJyBpbmZvPSd0aGUgbG9va3VwIGRhdGEnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxYUGF0aFJlZ2lzdGVyRnVuY05TJyBmaWxlPSd4cGF0aEludGVybmFscycgbW9kdWxlPSd4cGF0aCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlJlZ2lzdGVyIGEgbmV3IGZ1bmN0aW9uLiBJZiBAZiBpcyBOVUxMIGl0IHVucmVnaXN0ZXJzIHRoZSBmdW5jdGlvbjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScwIGluIGNhc2Ugb2Ygc3VjY2VzcywgLTEgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxYUGF0aENvbnRleHRQdHInIGluZm89J3RoZSBYUGF0aCBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J25hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIGZ1bmN0aW9uIG5hbWUnLz4KKyAgICAgIDxhcmcgbmFtZT0nbnNfdXJpJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBmdW5jdGlvbiBuYW1lc3BhY2UgVVJJJy8+CisgICAgICA8YXJnIG5hbWU9J2YnIHR5cGU9J3htbFhQYXRoRnVuY3Rpb24nIGluZm89J3RoZSBmdW5jdGlvbiBpbXBsZW1lbnRhdGlvbiBvciBOVUxMJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sWFBhdGhSZWdpc3Rlck5zJyBmaWxlPSd4cGF0aEludGVybmFscycgbW9kdWxlPSd4cGF0aCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlJlZ2lzdGVyIGEgbmV3IG5hbWVzcGFjZS4gSWYgQG5zX3VyaSBpcyBOVUxMIGl0IHVucmVnaXN0ZXJzIHRoZSBuYW1lc3BhY2U8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0nMCBpbiBjYXNlIG9mIHN1Y2Nlc3MsIC0xIGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sWFBhdGhDb250ZXh0UHRyJyBpbmZvPSd0aGUgWFBhdGggY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdwcmVmaXgnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIG5hbWVzcGFjZSBwcmVmaXggY2Fubm90IGJlIE5VTEwgb3IgZW1wdHkgc3RyaW5nJy8+CisgICAgICA8YXJnIG5hbWU9J25zX3VyaScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgbmFtZXNwYWNlIG5hbWUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGUnIGZpbGU9J3hwYXRoSW50ZXJuYWxzJyBtb2R1bGU9J3hwYXRoJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+UmVnaXN0ZXIgYSBuZXcgdmFyaWFibGUgdmFsdWUuIElmIEB2YWx1ZSBpcyBOVUxMIGl0IHVucmVnaXN0ZXJzIHRoZSB2YXJpYWJsZTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPScwIGluIGNhc2Ugb2Ygc3VjY2VzcywgLTEgaW4gY2FzZSBvZiBlcnJvcicvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxYUGF0aENvbnRleHRQdHInIGluZm89J3RoZSBYUGF0aCBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J25hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIHZhcmlhYmxlIG5hbWUnLz4KKyAgICAgIDxhcmcgbmFtZT0ndmFsdWUnIHR5cGU9J3htbFhQYXRoT2JqZWN0UHRyJyBpbmZvPSd0aGUgdmFyaWFibGUgdmFsdWUgb3IgTlVMTCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZUxvb2t1cCcgZmlsZT0neHBhdGhJbnRlcm5hbHMnIG1vZHVsZT0neHBhdGgnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5yZWdpc3RlciBhbiBleHRlcm5hbCBtZWNoYW5pc20gdG8gZG8gdmFyaWFibGUgbG9va3VwPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFhQYXRoQ29udGV4dFB0cicgaW5mbz0ndGhlIFhQYXRoIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZicgdHlwZT0neG1sWFBhdGhWYXJpYWJsZUxvb2t1cEZ1bmMnIGluZm89J3RoZSBsb29rdXAgZnVuY3Rpb24nLz4KKyAgICAgIDxhcmcgbmFtZT0nZGF0YScgdHlwZT0ndm9pZCAqJyBpbmZvPSd0aGUgbG9va3VwIGRhdGEnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGVOUycgZmlsZT0neHBhdGhJbnRlcm5hbHMnIG1vZHVsZT0neHBhdGgnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5SZWdpc3RlciBhIG5ldyB2YXJpYWJsZSB2YWx1ZS4gSWYgQHZhbHVlIGlzIE5VTEwgaXQgdW5yZWdpc3RlcnMgdGhlIHZhcmlhYmxlPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89JzAgaW4gY2FzZSBvZiBzdWNjZXNzLCAtMSBpbiBjYXNlIG9mIGVycm9yJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFhQYXRoQ29udGV4dFB0cicgaW5mbz0ndGhlIFhQYXRoIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFtZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgdmFyaWFibGUgbmFtZScvPgorICAgICAgPGFyZyBuYW1lPSduc191cmknIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIHZhcmlhYmxlIG5hbWVzcGFjZSBVUkknLz4KKyAgICAgIDxhcmcgbmFtZT0ndmFsdWUnIHR5cGU9J3htbFhQYXRoT2JqZWN0UHRyJyBpbmZvPSd0aGUgdmFyaWFibGUgdmFsdWUgb3IgTlVMTCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQYXRoUmVnaXN0ZXJlZEZ1bmNzQ2xlYW51cCcgZmlsZT0neHBhdGhJbnRlcm5hbHMnIG1vZHVsZT0neHBhdGgnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DbGVhbnVwIHRoZSBYUGF0aCBjb250ZXh0IGRhdGEgYXNzb2NpYXRlZCB0byByZWdpc3RlcmVkIGZ1bmN0aW9uczwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxYUGF0aENvbnRleHRQdHInIGluZm89J3RoZSBYUGF0aCBjb250ZXh0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sWFBhdGhSZWdpc3RlcmVkTnNDbGVhbnVwJyBmaWxlPSd4cGF0aEludGVybmFscycgbW9kdWxlPSd4cGF0aCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNsZWFudXAgdGhlIFhQYXRoIGNvbnRleHQgZGF0YSBhc3NvY2lhdGVkIHRvIHJlZ2lzdGVyZWQgdmFyaWFibGVzPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFhQYXRoQ29udGV4dFB0cicgaW5mbz0ndGhlIFhQYXRoIGNvbnRleHQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxYUGF0aFJlZ2lzdGVyZWRWYXJpYWJsZXNDbGVhbnVwJyBmaWxlPSd4cGF0aEludGVybmFscycgbW9kdWxlPSd4cGF0aCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNsZWFudXAgdGhlIFhQYXRoIGNvbnRleHQgZGF0YSBhc3NvY2lhdGVkIHRvIHJlZ2lzdGVyZWQgdmFyaWFibGVzPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFhQYXRoQ29udGV4dFB0cicgaW5mbz0ndGhlIFhQYXRoIGNvbnRleHQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxYUGF0aFJvb3QnIGZpbGU9J3hwYXRoSW50ZXJuYWxzJyBtb2R1bGU9J3hwYXRoJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+SW5pdGlhbGl6ZSB0aGUgY29udGV4dCB0byB0aGUgcm9vdCBvZiB0aGUgZG9jdW1lbnQ8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyJyBpbmZvPSd0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxYUGF0aFJvdW5kRnVuY3Rpb24nIGZpbGU9J3hwYXRoSW50ZXJuYWxzJyBtb2R1bGU9J3hwYXRoJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+SW1wbGVtZW50IHRoZSByb3VuZCgpIFhQYXRoIGZ1bmN0aW9uIG51bWJlciByb3VuZChudW1iZXIpIFRoZSByb3VuZCBmdW5jdGlvbiByZXR1cm5zIHRoZSBudW1iZXIgdGhhdCBpcyBjbG9zZXN0IHRvIHRoZSBhcmd1bWVudCBhbmQgdGhhdCBpcyBhbiBpbnRlZ2VyLiBJZiB0aGVyZSBhcmUgdHdvIHN1Y2ggbnVtYmVycywgdGhlbiB0aGUgb25lIHRoYXQgaXMgZXZlbiBpcyByZXR1cm5lZC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyJyBpbmZvPSd0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFyZ3MnIHR5cGU9J2ludCcgaW5mbz0ndGhlIG51bWJlciBvZiBhcmd1bWVudHMnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxYUGF0aFNldENvbnRleHROb2RlJyBmaWxlPSd4cGF0aCcgbW9kdWxlPSd4cGF0aCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlNldHMgJmFwb3M7bm9kZSZhcG9zOyBhcyB0aGUgY29udGV4dCBub2RlLiBUaGUgbm9kZSBtdXN0IGJlIGluIHRoZSBzYW1lIGRvY3VtZW50IGFzIHRoYXQgYXNzb2NpYXRlZCB3aXRoIHRoZSBjb250ZXh0LjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSctMSBpbiBjYXNlIG9mIGVycm9yIG9yIDAgaWYgc3VjY2Vzc2Z1bCcvPgorICAgICAgPGFyZyBuYW1lPSdub2RlJyB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSd0aGUgbm9kZSB0byB0byB1c2UgYXMgdGhlIGNvbnRleHQgbm9kZScvPgorICAgICAgPGFyZyBuYW1lPSdjdHgnIHR5cGU9J3htbFhQYXRoQ29udGV4dFB0cicgaW5mbz0ndGhlIFhQYXRoIGNvbnRleHQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxYUGF0aFN0YXJ0c1dpdGhGdW5jdGlvbicgZmlsZT0neHBhdGhJbnRlcm5hbHMnIG1vZHVsZT0neHBhdGgnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5JbXBsZW1lbnQgdGhlIHN0YXJ0cy13aXRoKCkgWFBhdGggZnVuY3Rpb24gYm9vbGVhbiBzdGFydHMtd2l0aChzdHJpbmcsIHN0cmluZykgVGhlIHN0YXJ0cy13aXRoIGZ1bmN0aW9uIHJldHVybnMgdHJ1ZSBpZiB0aGUgZmlyc3QgYXJndW1lbnQgc3RyaW5nIHN0YXJ0cyB3aXRoIHRoZSBzZWNvbmQgYXJndW1lbnQgc3RyaW5nLCBhbmQgb3RoZXJ3aXNlIHJldHVybnMgZmFsc2UuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cicgaW5mbz0ndGhlIFhQYXRoIFBhcnNlciBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J25hcmdzJyB0eXBlPSdpbnQnIGluZm89J3RoZSBudW1iZXIgb2YgYXJndW1lbnRzJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sWFBhdGhTdHJpbmdFdmFsTnVtYmVyJyBmaWxlPSd4cGF0aEludGVybmFscycgbW9kdWxlPSd4cGF0aCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlszMGFdICBGbG9hdCAgOjo9IE51bWJlciAoJmFwb3M7ZSZhcG9zOyBEaWdpdHM/KT8gIFszMF0gICBOdW1iZXIgOjo9ICAgRGlnaXRzICgmYXBvczsuJmFwb3M7IERpZ2l0cz8pPyB8ICZhcG9zOy4mYXBvczsgRGlnaXRzIFszMV0gICBEaWdpdHMgOjo9ICAgWzAtOV0rICBDb21waWxlIGEgTnVtYmVyIGluIHRoZSBzdHJpbmcgSW4gY29tcGxlbWVudCBvZiB0aGUgTnVtYmVyIGV4cHJlc3Npb24sIHRoaXMgZnVuY3Rpb24gYWxzbyBoYW5kbGVzIG5lZ2F0aXZlIHZhbHVlcyA6ICZhcG9zOy0mYXBvczsgTnVtYmVyLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0nZG91YmxlJyBpbmZvPSd0aGUgZG91YmxlIHZhbHVlLicvPgorICAgICAgPGFyZyBuYW1lPSdzdHInIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nQSBzdHJpbmcgdG8gc2NhbicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQYXRoU3RyaW5nRnVuY3Rpb24nIGZpbGU9J3hwYXRoSW50ZXJuYWxzJyBtb2R1bGU9J3hwYXRoJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+SW1wbGVtZW50IHRoZSBzdHJpbmcoKSBYUGF0aCBmdW5jdGlvbiBzdHJpbmcgc3RyaW5nKG9iamVjdD8pIFRoZSBzdHJpbmcgZnVuY3Rpb24gY29udmVydHMgYW4gb2JqZWN0IHRvIGEgc3RyaW5nIGFzIGZvbGxvd3M6IC0gQSBub2RlLXNldCBpcyBjb252ZXJ0ZWQgdG8gYSBzdHJpbmcgYnkgcmV0dXJuaW5nIHRoZSB2YWx1ZSBvZiB0aGUgbm9kZSBpbiB0aGUgbm9kZS1zZXQgdGhhdCBpcyBmaXJzdCBpbiBkb2N1bWVudCBvcmRlci4gSWYgdGhlIG5vZGUtc2V0IGlzIGVtcHR5LCBhbiBlbXB0eSBzdHJpbmcgaXMgcmV0dXJuZWQuIC0gQSBudW1iZXIgaXMgY29udmVydGVkIHRvIGEgc3RyaW5nIGFzIGZvbGxvd3MgKyBOYU4gaXMgY29udmVydGVkIHRvIHRoZSBzdHJpbmcgTmFOICsgcG9zaXRpdmUgemVybyBpcyBjb252ZXJ0ZWQgdG8gdGhlIHN0cmluZyAwICsgbmVnYXRpdmUgemVybyBpcyBjb252ZXJ0ZWQgdG8gdGhlIHN0cmluZyAwICsgcG9zaXRpdmUgaW5maW5pdHkgaXMgY29udmVydGVkIHRvIHRoZSBzdHJpbmcgSW5maW5pdHkgKyBuZWdhdGl2ZSBpbmZpbml0eSBpcyBjb252ZXJ0ZWQgdG8gdGhlIHN0cmluZyAtSW5maW5pdHkgKyBpZiB0aGUgbnVtYmVyIGlzIGFuIGludGVnZXIsIHRoZSBudW1iZXIgaXMgcmVwcmVzZW50ZWQgaW4gZGVjaW1hbCBmb3JtIGFzIGEgTnVtYmVyIHdpdGggbm8gZGVjaW1hbCBwb2ludCBhbmQgbm8gbGVhZGluZyB6ZXJvcywgcHJlY2VkZWQgYnkgYSBtaW51cyBzaWduICgtKSBpZiB0aGUgbnVtYmVyIGlzIG5lZ2F0aXZlICsgb3RoZXJ3aXNlLCB0aGUgbnVtYmVyIGlzIHJlcHJlc2VudGVkIGluIGRlY2ltYWwgZm9ybSBhcyBhIE51bWJlciBpbmNsdWRpbmcgYSBkZWNpbWFsIHBvaW50IHdpdGggYXQgbGVhc3Qgb25lIGRpZ2l0IGJlZm9yZSB0aGUgZGVjaW1hbCBwb2ludCBhbmQgYXQgbGVhc3Qgb25lIGRpZ2l0IGFmdGVyIHRoZSBkZWNpbWFsIHBvaW50LCBwcmVjZWRlZCBieSBhIG1pbnVzIHNpZ24gKC0pIGlmIHRoZSBudW1iZXIgaXMgbmVnYXRpdmU7IHRoZXJlIG11c3QgYmUgbm8gbGVhZGluZyB6ZXJvcyBiZWZvcmUgdGhlIGRlY2ltYWwgcG9pbnQgYXBhcnQgcG9zc2libHkgZnJvbSB0aGUgb25lIHJlcXVpcmVkIGRpZ2l0IGltbWVkaWF0ZWx5IGJlZm9yZSB0aGUgZGVjaW1hbCBwb2ludDsgYmV5b25kIHRoZSBvbmUgcmVxdWlyZWQgZGlnaXQgYWZ0ZXIgdGhlIGRlY2ltYWwgcG9pbnQgdGhlcmUgbXVzdCBiZSBhcyBtYW55LCBidXQgb25seSBhcyBtYW55LCBtb3JlIGRpZ2l0cyBhcyBhcmUgbmVlZGVkIHRvIHVuaXF1ZWx5IGRpc3Rpbmd1aXNoIHRoZSBudW1iZXIgZnJvbSBhbGwgb3RoZXIgSUVFRSA3NTQgbnVtZXJpYyB2YWx1ZXMuIC0gVGhlIGJvb2xlYW4gZmFsc2UgdmFsdWUgaXMgY29udmVydGVkIHRvIHRoZSBzdHJpbmcgZmFsc2UuIFRoZSBib29sZWFuIHRydWUgdmFsdWUgaXMgY29udmVydGVkIHRvIHRoZSBzdHJpbmcgdHJ1ZS4gIElmIHRoZSBhcmd1bWVudCBpcyBvbWl0dGVkLCBpdCBkZWZhdWx0cyB0byBhIG5vZGUtc2V0IHdpdGggdGhlIGNvbnRleHQgbm9kZSBhcyBpdHMgb25seSBtZW1iZXIuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cicgaW5mbz0ndGhlIFhQYXRoIFBhcnNlciBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J25hcmdzJyB0eXBlPSdpbnQnIGluZm89J3RoZSBudW1iZXIgb2YgYXJndW1lbnRzJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sWFBhdGhTdHJpbmdMZW5ndGhGdW5jdGlvbicgZmlsZT0neHBhdGhJbnRlcm5hbHMnIG1vZHVsZT0neHBhdGgnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5JbXBsZW1lbnQgdGhlIHN0cmluZy1sZW5ndGgoKSBYUGF0aCBmdW5jdGlvbiBudW1iZXIgc3RyaW5nLWxlbmd0aChzdHJpbmc/KSBUaGUgc3RyaW5nLWxlbmd0aCByZXR1cm5zIHRoZSBudW1iZXIgb2YgY2hhcmFjdGVycyBpbiB0aGUgc3RyaW5nIChzZWUgWzMuNiBTdHJpbmdzXSkuIElmIHRoZSBhcmd1bWVudCBpcyBvbWl0dGVkLCBpdCBkZWZhdWx0cyB0byB0aGUgY29udGV4dCBub2RlIGNvbnZlcnRlZCB0byBhIHN0cmluZywgaW4gb3RoZXIgd29yZHMgdGhlIHZhbHVlIG9mIHRoZSBjb250ZXh0IG5vZGUuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cicgaW5mbz0ndGhlIFhQYXRoIFBhcnNlciBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J25hcmdzJyB0eXBlPSdpbnQnIGluZm89J3RoZSBudW1iZXIgb2YgYXJndW1lbnRzJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sWFBhdGhTdWJWYWx1ZXMnIGZpbGU9J3hwYXRoSW50ZXJuYWxzJyBtb2R1bGU9J3hwYXRoJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+SW1wbGVtZW50IHRoZSBzdWJ0cmFjdGlvbiBvcGVyYXRpb24gb24gWFBhdGggb2JqZWN0czogVGhlIG51bWVyaWMgb3BlcmF0b3JzIGNvbnZlcnQgdGhlaXIgb3BlcmFuZHMgdG8gbnVtYmVycyBhcyBpZiBieSBjYWxsaW5nIHRoZSBudW1iZXIgZnVuY3Rpb24uPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cicgaW5mbz0ndGhlIFhQYXRoIFBhcnNlciBjb250ZXh0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sWFBhdGhTdWJzdHJpbmdBZnRlckZ1bmN0aW9uJyBmaWxlPSd4cGF0aEludGVybmFscycgbW9kdWxlPSd4cGF0aCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkltcGxlbWVudCB0aGUgc3Vic3RyaW5nLWFmdGVyKCkgWFBhdGggZnVuY3Rpb24gc3RyaW5nIHN1YnN0cmluZy1hZnRlcihzdHJpbmcsIHN0cmluZykgVGhlIHN1YnN0cmluZy1hZnRlciBmdW5jdGlvbiByZXR1cm5zIHRoZSBzdWJzdHJpbmcgb2YgdGhlIGZpcnN0IGFyZ3VtZW50IHN0cmluZyB0aGF0IGZvbGxvd3MgdGhlIGZpcnN0IG9jY3VycmVuY2Ugb2YgdGhlIHNlY29uZCBhcmd1bWVudCBzdHJpbmcgaW4gdGhlIGZpcnN0IGFyZ3VtZW50IHN0cmluZywgb3IgdGhlIGVtcHR5IHN0cmluZ2kgaWYgdGhlIGZpcnN0IGFyZ3VtZW50IHN0cmluZyBkb2VzIG5vdCBjb250YWluIHRoZSBzZWNvbmQgYXJndW1lbnQgc3RyaW5nLiBGb3IgZXhhbXBsZSwgc3Vic3RyaW5nLWFmdGVyKCZxdW90OzE5OTkvMDQvMDEmcXVvdDssJnF1b3Q7LyZxdW90OykgcmV0dXJucyAwNC8wMSwgYW5kIHN1YnN0cmluZy1hZnRlcigmcXVvdDsxOTk5LzA0LzAxJnF1b3Q7LCZxdW90OzE5JnF1b3Q7KSByZXR1cm5zIDk5LzA0LzAxLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxYUGF0aFBhcnNlckNvbnRleHRQdHInIGluZm89J3RoZSBYUGF0aCBQYXJzZXIgY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSduYXJncycgdHlwZT0naW50JyBpbmZvPSd0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cycvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQYXRoU3Vic3RyaW5nQmVmb3JlRnVuY3Rpb24nIGZpbGU9J3hwYXRoSW50ZXJuYWxzJyBtb2R1bGU9J3hwYXRoJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+SW1wbGVtZW50IHRoZSBzdWJzdHJpbmctYmVmb3JlKCkgWFBhdGggZnVuY3Rpb24gc3RyaW5nIHN1YnN0cmluZy1iZWZvcmUoc3RyaW5nLCBzdHJpbmcpIFRoZSBzdWJzdHJpbmctYmVmb3JlIGZ1bmN0aW9uIHJldHVybnMgdGhlIHN1YnN0cmluZyBvZiB0aGUgZmlyc3QgYXJndW1lbnQgc3RyaW5nIHRoYXQgcHJlY2VkZXMgdGhlIGZpcnN0IG9jY3VycmVuY2Ugb2YgdGhlIHNlY29uZCBhcmd1bWVudCBzdHJpbmcgaW4gdGhlIGZpcnN0IGFyZ3VtZW50IHN0cmluZywgb3IgdGhlIGVtcHR5IHN0cmluZyBpZiB0aGUgZmlyc3QgYXJndW1lbnQgc3RyaW5nIGRvZXMgbm90IGNvbnRhaW4gdGhlIHNlY29uZCBhcmd1bWVudCBzdHJpbmcuIEZvciBleGFtcGxlLCBzdWJzdHJpbmctYmVmb3JlKCZxdW90OzE5OTkvMDQvMDEmcXVvdDssJnF1b3Q7LyZxdW90OykgcmV0dXJucyAxOTk5LjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxYUGF0aFBhcnNlckNvbnRleHRQdHInIGluZm89J3RoZSBYUGF0aCBQYXJzZXIgY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSduYXJncycgdHlwZT0naW50JyBpbmZvPSd0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cycvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQYXRoU3Vic3RyaW5nRnVuY3Rpb24nIGZpbGU9J3hwYXRoSW50ZXJuYWxzJyBtb2R1bGU9J3hwYXRoJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+SW1wbGVtZW50IHRoZSBzdWJzdHJpbmcoKSBYUGF0aCBmdW5jdGlvbiBzdHJpbmcgc3Vic3RyaW5nKHN0cmluZywgbnVtYmVyLCBudW1iZXI/KSBUaGUgc3Vic3RyaW5nIGZ1bmN0aW9uIHJldHVybnMgdGhlIHN1YnN0cmluZyBvZiB0aGUgZmlyc3QgYXJndW1lbnQgc3RhcnRpbmcgYXQgdGhlIHBvc2l0aW9uIHNwZWNpZmllZCBpbiB0aGUgc2Vjb25kIGFyZ3VtZW50IHdpdGggbGVuZ3RoIHNwZWNpZmllZCBpbiB0aGUgdGhpcmQgYXJndW1lbnQuIEZvciBleGFtcGxlLCBzdWJzdHJpbmcoJnF1b3Q7MTIzNDUmcXVvdDssMiwzKSByZXR1cm5zICZxdW90OzIzNCZxdW90Oy4gSWYgdGhlIHRoaXJkIGFyZ3VtZW50IGlzIG5vdCBzcGVjaWZpZWQsIGl0IHJldHVybnMgdGhlIHN1YnN0cmluZyBzdGFydGluZyBhdCB0aGUgcG9zaXRpb24gc3BlY2lmaWVkIGluIHRoZSBzZWNvbmQgYXJndW1lbnQgYW5kIGNvbnRpbnVpbmcgdG8gdGhlIGVuZCBvZiB0aGUgc3RyaW5nLiBGb3IgZXhhbXBsZSwgc3Vic3RyaW5nKCZxdW90OzEyMzQ1JnF1b3Q7LDIpIHJldHVybnMgJnF1b3Q7MjM0NSZxdW90Oy4gIE1vcmUgcHJlY2lzZWx5LCBlYWNoIGNoYXJhY3RlciBpbiB0aGUgc3RyaW5nIChzZWUgWzMuNiBTdHJpbmdzXSkgaXMgY29uc2lkZXJlZCB0byBoYXZlIGEgbnVtZXJpYyBwb3NpdGlvbjogdGhlIHBvc2l0aW9uIG9mIHRoZSBmaXJzdCBjaGFyYWN0ZXIgaXMgMSwgdGhlIHBvc2l0aW9uIG9mIHRoZSBzZWNvbmQgY2hhcmFjdGVyIGlzIDIgYW5kIHNvIG9uLiBUaGUgcmV0dXJuZWQgc3Vic3RyaW5nIGNvbnRhaW5zIHRob3NlIGNoYXJhY3RlcnMgZm9yIHdoaWNoIHRoZSBwb3NpdGlvbiBvZiB0aGUgY2hhcmFjdGVyIGlzIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byB0aGUgc2Vjb25kIGFyZ3VtZW50IGFuZCwgaWYgdGhlIHRoaXJkIGFyZ3VtZW50IGlzIHNwZWNpZmllZCwgbGVzcyB0aGFuIHRoZSBzdW0gb2YgdGhlIHNlY29uZCBhbmQgdGhpcmQgYXJndW1lbnRzOyB0aGUgY29tcGFyaXNvbnMgYW5kIGFkZGl0aW9uIHVzZWQgZm9yIHRoZSBhYm92ZSBmb2xsb3cgdGhlIHN0YW5kYXJkIElFRUUgNzU0IHJ1bGVzLiBUaHVzOiAtIHN1YnN0cmluZygmcXVvdDsxMjM0NSZxdW90OywgMS41LCAyLjYpIHJldHVybnMgJnF1b3Q7MjM0JnF1b3Q7IC0gc3Vic3RyaW5nKCZxdW90OzEyMzQ1JnF1b3Q7LCAwLCAzKSByZXR1cm5zICZxdW90OzEyJnF1b3Q7IC0gc3Vic3RyaW5nKCZxdW90OzEyMzQ1JnF1b3Q7LCAwIGRpdiAwLCAzKSByZXR1cm5zICZxdW90OyZxdW90OyAtIHN1YnN0cmluZygmcXVvdDsxMjM0NSZxdW90OywgMSwgMCBkaXYgMCkgcmV0dXJucyAmcXVvdDsmcXVvdDsgLSBzdWJzdHJpbmcoJnF1b3Q7MTIzNDUmcXVvdDssIC00MiwgMSBkaXYgMCkgcmV0dXJucyAmcXVvdDsxMjM0NSZxdW90OyAtIHN1YnN0cmluZygmcXVvdDsxMjM0NSZxdW90OywgLTEgZGl2IDAsIDEgZGl2IDApIHJldHVybnMgJnF1b3Q7JnF1b3Q7PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cicgaW5mbz0ndGhlIFhQYXRoIFBhcnNlciBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J25hcmdzJyB0eXBlPSdpbnQnIGluZm89J3RoZSBudW1iZXIgb2YgYXJndW1lbnRzJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sWFBhdGhTdW1GdW5jdGlvbicgZmlsZT0neHBhdGhJbnRlcm5hbHMnIG1vZHVsZT0neHBhdGgnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5JbXBsZW1lbnQgdGhlIHN1bSgpIFhQYXRoIGZ1bmN0aW9uIG51bWJlciBzdW0obm9kZS1zZXQpIFRoZSBzdW0gZnVuY3Rpb24gcmV0dXJucyB0aGUgc3VtIG9mIHRoZSB2YWx1ZXMgb2YgdGhlIG5vZGVzIGluIHRoZSBhcmd1bWVudCBub2RlLXNldC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyJyBpbmZvPSd0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFyZ3MnIHR5cGU9J2ludCcgaW5mbz0ndGhlIG51bWJlciBvZiBhcmd1bWVudHMnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxYUGF0aFRyYWlsaW5nJyBmaWxlPSd4cGF0aEludGVybmFscycgbW9kdWxlPSd4cGF0aCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkltcGxlbWVudHMgdGhlIEVYU0xUIC0gU2V0cyB0cmFpbGluZygpIGZ1bmN0aW9uOiBub2RlLXNldCBzZXQ6dHJhaWxpbmcgKG5vZGUtc2V0LCBub2RlLXNldCkgQG5vZGVzMSBhbmQgQG5vZGVzMiBhcmUgc29ydGVkIGJ5IGRvY3VtZW50IG9yZGVyLCB0aGVuICN4bWxYUGF0aFRyYWlsaW5nU29ydGVkIGlzIGNhbGxlZC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbE5vZGVTZXRQdHInIGluZm89J3RoZSBub2RlcyBpbiBAbm9kZXMxIHRoYXQgZm9sbG93IHRoZSBmaXJzdCBub2RlIGluIEBub2RlczIgaW4gZG9jdW1lbnQgb3JkZXIsIEBub2RlczEgaWYgQG5vZGVzMiBpcyBOVUxMIG9yIGVtcHR5IG9yIGFuIGVtcHR5IG5vZGUtc2V0IGlmIEBub2RlczEgZG9lc24mYXBvczt0IGNvbnRhaW4gQG5vZGVzMicvPgorICAgICAgPGFyZyBuYW1lPSdub2RlczEnIHR5cGU9J3htbE5vZGVTZXRQdHInIGluZm89J2Egbm9kZS1zZXQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbm9kZXMyJyB0eXBlPSd4bWxOb2RlU2V0UHRyJyBpbmZvPSdhIG5vZGUtc2V0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sWFBhdGhUcmFpbGluZ1NvcnRlZCcgZmlsZT0neHBhdGhJbnRlcm5hbHMnIG1vZHVsZT0neHBhdGgnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5JbXBsZW1lbnRzIHRoZSBFWFNMVCAtIFNldHMgdHJhaWxpbmcoKSBmdW5jdGlvbjogbm9kZS1zZXQgc2V0OnRyYWlsaW5nIChub2RlLXNldCwgbm9kZS1zZXQpPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxOb2RlU2V0UHRyJyBpbmZvPSd0aGUgbm9kZXMgaW4gQG5vZGVzMSB0aGF0IGZvbGxvdyB0aGUgZmlyc3Qgbm9kZSBpbiBAbm9kZXMyIGluIGRvY3VtZW50IG9yZGVyLCBAbm9kZXMxIGlmIEBub2RlczIgaXMgTlVMTCBvciBlbXB0eSBvciBhbiBlbXB0eSBub2RlLXNldCBpZiBAbm9kZXMxIGRvZXNuJmFwb3M7dCBjb250YWluIEBub2RlczInLz4KKyAgICAgIDxhcmcgbmFtZT0nbm9kZXMxJyB0eXBlPSd4bWxOb2RlU2V0UHRyJyBpbmZvPSdhIG5vZGUtc2V0LCBzb3J0ZWQgYnkgZG9jdW1lbnQgb3JkZXInLz4KKyAgICAgIDxhcmcgbmFtZT0nbm9kZXMyJyB0eXBlPSd4bWxOb2RlU2V0UHRyJyBpbmZvPSdhIG5vZGUtc2V0LCBzb3J0ZWQgYnkgZG9jdW1lbnQgb3JkZXInLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxYUGF0aFRyYW5zbGF0ZUZ1bmN0aW9uJyBmaWxlPSd4cGF0aEludGVybmFscycgbW9kdWxlPSd4cGF0aCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkltcGxlbWVudCB0aGUgdHJhbnNsYXRlKCkgWFBhdGggZnVuY3Rpb24gc3RyaW5nIHRyYW5zbGF0ZShzdHJpbmcsIHN0cmluZywgc3RyaW5nKSBUaGUgdHJhbnNsYXRlIGZ1bmN0aW9uIHJldHVybnMgdGhlIGZpcnN0IGFyZ3VtZW50IHN0cmluZyB3aXRoIG9jY3VycmVuY2VzIG9mIGNoYXJhY3RlcnMgaW4gdGhlIHNlY29uZCBhcmd1bWVudCBzdHJpbmcgcmVwbGFjZWQgYnkgdGhlIGNoYXJhY3RlciBhdCB0aGUgY29ycmVzcG9uZGluZyBwb3NpdGlvbiBpbiB0aGUgdGhpcmQgYXJndW1lbnQgc3RyaW5nLiBGb3IgZXhhbXBsZSwgdHJhbnNsYXRlKCZxdW90O2JhciZxdW90OywmcXVvdDthYmMmcXVvdDssJnF1b3Q7QUJDJnF1b3Q7KSByZXR1cm5zIHRoZSBzdHJpbmcgQkFyLiBJZiB0aGVyZSBpcyBhIGNoYXJhY3RlciBpbiB0aGUgc2Vjb25kIGFyZ3VtZW50IHN0cmluZyB3aXRoIG5vIGNoYXJhY3RlciBhdCBhIGNvcnJlc3BvbmRpbmcgcG9zaXRpb24gaW4gdGhlIHRoaXJkIGFyZ3VtZW50IHN0cmluZyAoYmVjYXVzZSB0aGUgc2Vjb25kIGFyZ3VtZW50IHN0cmluZyBpcyBsb25nZXIgdGhhbiB0aGUgdGhpcmQgYXJndW1lbnQgc3RyaW5nKSwgdGhlbiBvY2N1cnJlbmNlcyBvZiB0aGF0IGNoYXJhY3RlciBpbiB0aGUgZmlyc3QgYXJndW1lbnQgc3RyaW5nIGFyZSByZW1vdmVkLiBGb3IgZXhhbXBsZSwgdHJhbnNsYXRlKCZxdW90Oy0tYWFhLS0mcXVvdDssJnF1b3Q7YWJjLSZxdW90OywmcXVvdDtBQkMmcXVvdDspPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cicgaW5mbz0ndGhlIFhQYXRoIFBhcnNlciBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J25hcmdzJyB0eXBlPSdpbnQnIGluZm89J3RoZSBudW1iZXIgb2YgYXJndW1lbnRzJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sWFBhdGhUcnVlRnVuY3Rpb24nIGZpbGU9J3hwYXRoSW50ZXJuYWxzJyBtb2R1bGU9J3hwYXRoJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+SW1wbGVtZW50IHRoZSB0cnVlKCkgWFBhdGggZnVuY3Rpb24gYm9vbGVhbiB0cnVlKCk8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyJyBpbmZvPSd0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFyZ3MnIHR5cGU9J2ludCcgaW5mbz0ndGhlIG51bWJlciBvZiBhcmd1bWVudHMnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxYUGF0aFZhbHVlRmxpcFNpZ24nIGZpbGU9J3hwYXRoSW50ZXJuYWxzJyBtb2R1bGU9J3hwYXRoJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+SW1wbGVtZW50IHRoZSB1bmFyeSAtIG9wZXJhdGlvbiBvbiBhbiBYUGF0aCBvYmplY3QgVGhlIG51bWVyaWMgb3BlcmF0b3JzIGNvbnZlcnQgdGhlaXIgb3BlcmFuZHMgdG8gbnVtYmVycyBhcyBpZiBieSBjYWxsaW5nIHRoZSBudW1iZXIgZnVuY3Rpb24uPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cicgaW5mbz0ndGhlIFhQYXRoIFBhcnNlciBjb250ZXh0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sWFBhdGhWYXJpYWJsZUxvb2t1cCcgZmlsZT0neHBhdGhJbnRlcm5hbHMnIG1vZHVsZT0neHBhdGgnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5TZWFyY2ggaW4gdGhlIFZhcmlhYmxlIGFycmF5IG9mIHRoZSBjb250ZXh0IGZvciB0aGUgZ2l2ZW4gdmFyaWFibGUgdmFsdWUuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxYUGF0aE9iamVjdFB0cicgaW5mbz0nYSBjb3B5IG9mIHRoZSB2YWx1ZSBvciBOVUxMIGlmIG5vdCBmb3VuZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxYUGF0aENvbnRleHRQdHInIGluZm89J3RoZSBYUGF0aCBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J25hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIHZhcmlhYmxlIG5hbWUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdHlwZSBuYW1lPSd4bWxYUGF0aFZhcmlhYmxlTG9va3VwRnVuYycgZmlsZT0neHBhdGgnIG1vZHVsZT0neHBhdGgnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5Qcm90b3R5cGUgZm9yIGNhbGxiYWNrcyB1c2VkIHRvIHBsdWcgdmFyaWFibGUgbG9va3VwIGluIHRoZSBYUGF0aCBlbmdpbmUuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxYUGF0aE9iamVjdFB0cicgaW5mbz0ndGhlIFhQYXRoIG9iamVjdCB2YWx1ZSBvciBOVUxMIGlmIG5vdCBmb3VuZC4nLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0ndm9pZCAqJyBpbmZvPSdhbiBYUGF0aCBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J25hbWUnIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0nbmFtZSBvZiB0aGUgdmFyaWFibGUnLz4KKyAgICAgIDxhcmcgbmFtZT0nbnNfdXJpJyB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89J3RoZSBuYW1lc3BhY2UgbmFtZSBob3N0aW5nIHRoaXMgdmFyaWFibGUnLz4KKyAgICA8L2Z1bmN0eXBlPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxYUGF0aFZhcmlhYmxlTG9va3VwTlMnIGZpbGU9J3hwYXRoSW50ZXJuYWxzJyBtb2R1bGU9J3hwYXRoJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+U2VhcmNoIGluIHRoZSBWYXJpYWJsZSBhcnJheSBvZiB0aGUgY29udGV4dCBmb3IgdGhlIGdpdmVuIHZhcmlhYmxlIHZhbHVlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sWFBhdGhPYmplY3RQdHInIGluZm89J3RoZSBhIGNvcHkgb2YgdGhlIHZhbHVlIG9yIE5VTEwgaWYgbm90IGZvdW5kJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFhQYXRoQ29udGV4dFB0cicgaW5mbz0ndGhlIFhQYXRoIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFtZScgdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSd0aGUgdmFyaWFibGUgbmFtZScvPgorICAgICAgPGFyZyBuYW1lPSduc191cmknIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIHZhcmlhYmxlIG5hbWVzcGFjZSBVUkknLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxYUGF0aFdyYXBDU3RyaW5nJyBmaWxlPSd4cGF0aEludGVybmFscycgbW9kdWxlPSd4cGF0aCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPldyYXBzIGEgc3RyaW5nIGludG8gYW4gWFBhdGggb2JqZWN0LjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sWFBhdGhPYmplY3RQdHInIGluZm89J3RoZSBuZXdseSBjcmVhdGVkIG9iamVjdC4nLz4KKyAgICAgIDxhcmcgbmFtZT0ndmFsJyB0eXBlPSdjaGFyIConIGluZm89J3RoZSBjaGFyICogdmFsdWUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxYUGF0aFdyYXBFeHRlcm5hbCcgZmlsZT0neHBhdGhJbnRlcm5hbHMnIG1vZHVsZT0neHBhdGgnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5XcmFwcyB0aGUgQHZhbCBkYXRhIGludG8gYW4gWFBhdGggb2JqZWN0LjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sWFBhdGhPYmplY3RQdHInIGluZm89J3RoZSBuZXdseSBjcmVhdGVkIG9iamVjdC4nLz4KKyAgICAgIDxhcmcgbmFtZT0ndmFsJyB0eXBlPSd2b2lkIConIGluZm89J3RoZSB1c2VyIGRhdGEnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxYUGF0aFdyYXBOb2RlU2V0JyBmaWxlPSd4cGF0aEludGVybmFscycgbW9kdWxlPSd4cGF0aCc+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPldyYXAgdGhlIE5vZGVzZXQgQHZhbCBpbiBhIG5ldyB4bWxYUGF0aE9iamVjdFB0cjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sWFBhdGhPYmplY3RQdHInIGluZm89J3RoZSBuZXdseSBjcmVhdGVkIG9iamVjdC4nLz4KKyAgICAgIDxhcmcgbmFtZT0ndmFsJyB0eXBlPSd4bWxOb2RlU2V0UHRyJyBpbmZvPSd0aGUgTm9kZVB0ciB2YWx1ZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQYXRoV3JhcFN0cmluZycgZmlsZT0neHBhdGhJbnRlcm5hbHMnIG1vZHVsZT0neHBhdGgnPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5XcmFwcyB0aGUgQHZhbCBzdHJpbmcgaW50byBhbiBYUGF0aCBvYmplY3QuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxYUGF0aE9iamVjdFB0cicgaW5mbz0ndGhlIG5ld2x5IGNyZWF0ZWQgb2JqZWN0LicvPgorICAgICAgPGFyZyBuYW1lPSd2YWwnIHR5cGU9J3htbENoYXIgKicgaW5mbz0ndGhlIHhtbENoYXIgKiB2YWx1ZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQYXRoZXJyb3InIGZpbGU9J3hwYXRoSW50ZXJuYWxzJyBtb2R1bGU9J3hwYXRoJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Rm9ybWF0cyBhbiBlcnJvciBtZXNzYWdlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxYUGF0aFBhcnNlckNvbnRleHRQdHInIGluZm89J3RoZSBYUGF0aCBQYXJzZXIgY29udGV4dCcvPgorICAgICAgPGFyZyBuYW1lPSdmaWxlJyB0eXBlPSdjb25zdCBjaGFyIConIGluZm89J3RoZSBmaWxlIG5hbWUnLz4KKyAgICAgIDxhcmcgbmFtZT0nbGluZScgdHlwZT0naW50JyBpbmZvPSd0aGUgbGluZSBudW1iZXInLz4KKyAgICAgIDxhcmcgbmFtZT0nbm8nIHR5cGU9J2ludCcgaW5mbz0ndGhlIGVycm9yIG51bWJlcicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQdHJCdWlsZE5vZGVMaXN0JyBmaWxlPSd4cG9pbnRlcicgbW9kdWxlPSd4cG9pbnRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUFRSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+QnVpbGQgYSBub2RlIGxpc3QgdHJlZSBjb3B5IG9mIHRoZSBYUG9pbnRlciByZXN1bHQuIFRoaXMgd2lsbCBkcm9wIEF0dHJpYnV0ZXMgYW5kIE5hbWVzcGFjZSBkZWNsYXJhdGlvbnMuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSdhbiB4bWxOb2RlUHRyIGxpc3Qgb3IgTlVMTC4gdGhlIGNhbGxlciBoYXMgdG8gZnJlZSB0aGUgbm9kZSB0cmVlLicvPgorICAgICAgPGFyZyBuYW1lPSdvYmonIHR5cGU9J3htbFhQYXRoT2JqZWN0UHRyJyBpbmZvPSd0aGUgWFBvaW50ZXIgcmVzdWx0IGZyb20gdGhlIGV2YWx1YXRpb24uJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sWFB0ckV2YWwnIGZpbGU9J3hwb2ludGVyJyBtb2R1bGU9J3hwb2ludGVyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1hQVFJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5FdmFsdWF0ZSB0aGUgWFBhdGggTG9jYXRpb24gUGF0aCBpbiB0aGUgZ2l2ZW4gY29udGV4dC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbFhQYXRoT2JqZWN0UHRyJyBpbmZvPSd0aGUgeG1sWFBhdGhPYmplY3RQdHIgcmVzdWx0aW5nIGZyb20gdGhlIGV2YWx1YXRpb24gb3IgTlVMTC4gdGhlIGNhbGxlciBoYXMgdG8gZnJlZSB0aGUgb2JqZWN0LicvPgorICAgICAgPGFyZyBuYW1lPSdzdHInIHR5cGU9J2NvbnN0IHhtbENoYXIgKicgaW5mbz0ndGhlIFhQb2ludGVyIGV4cHJlc3Npb24nLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4JyB0eXBlPSd4bWxYUGF0aENvbnRleHRQdHInIGluZm89J3RoZSBYUG9pbnRlciBjb250ZXh0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sWFB0ckV2YWxSYW5nZVByZWRpY2F0ZScgZmlsZT0neHBvaW50ZXInIG1vZHVsZT0neHBvaW50ZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfWFBUUl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPls4XSAgIFByZWRpY2F0ZSA6Oj0gICAmYXBvcztbJmFwb3M7IFByZWRpY2F0ZUV4cHIgJmFwb3M7XSZhcG9zOyBbOV0gICBQcmVkaWNhdGVFeHByIDo6PSAgIEV4cHIgIEV2YWx1YXRlIGEgcHJlZGljYXRlIGFzIGluIHhtbFhQYXRoRXZhbFByZWRpY2F0ZSgpIGJ1dCBmb3IgYSBMb2NhdGlvbiBTZXQgaW5zdGVhZCBvZiBhIG5vZGUgc2V0PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cicgaW5mbz0ndGhlIFhQb2ludGVyIFBhcnNlciBjb250ZXh0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sWFB0ckZyZWVMb2NhdGlvblNldCcgZmlsZT0neHBvaW50ZXInIG1vZHVsZT0neHBvaW50ZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfWFBUUl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkZyZWUgdGhlIExvY2F0aW9uU2V0IGNvbXBvdW5kIChub3QgdGhlIGFjdHVhbCByYW5nZXMgISkuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J29iaicgdHlwZT0neG1sTG9jYXRpb25TZXRQdHInIGluZm89J3RoZSB4bWxMb2NhdGlvblNldFB0ciB0byBmcmVlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sWFB0ckxvY2F0aW9uU2V0QWRkJyBmaWxlPSd4cG9pbnRlcicgbW9kdWxlPSd4cG9pbnRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUFRSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+YWRkIGEgbmV3IHhtbFhQYXRoT2JqZWN0UHRyIHRvIGFuIGV4aXN0aW5nIExvY2F0aW9uU2V0IElmIHRoZSBsb2NhdGlvbiBhbHJlYWR5IGV4aXN0IGluIHRoZSBzZXQgQHZhbCBpcyBmcmVlZC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3VyJyB0eXBlPSd4bWxMb2NhdGlvblNldFB0cicgaW5mbz0ndGhlIGluaXRpYWwgcmFuZ2Ugc2V0Jy8+CisgICAgICA8YXJnIG5hbWU9J3ZhbCcgdHlwZT0neG1sWFBhdGhPYmplY3RQdHInIGluZm89J2EgbmV3IHhtbFhQYXRoT2JqZWN0UHRyJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sWFB0ckxvY2F0aW9uU2V0Q3JlYXRlJyBmaWxlPSd4cG9pbnRlcicgbW9kdWxlPSd4cG9pbnRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUFRSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q3JlYXRlIGEgbmV3IHhtbExvY2F0aW9uU2V0UHRyIG9mIHR5cGUgZG91YmxlIGFuZCBvZiB2YWx1ZSBAdmFsPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxMb2NhdGlvblNldFB0cicgaW5mbz0ndGhlIG5ld2x5IGNyZWF0ZWQgb2JqZWN0LicvPgorICAgICAgPGFyZyBuYW1lPSd2YWwnIHR5cGU9J3htbFhQYXRoT2JqZWN0UHRyJyBpbmZvPSdhbiBpbml0aWFsIHhtbFhQYXRoT2JqZWN0UHRyLCBvciBOVUxMJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sWFB0ckxvY2F0aW9uU2V0RGVsJyBmaWxlPSd4cG9pbnRlcicgbW9kdWxlPSd4cG9pbnRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUFRSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+UmVtb3ZlcyBhbiB4bWxYUGF0aE9iamVjdFB0ciBmcm9tIGFuIGV4aXN0aW5nIExvY2F0aW9uU2V0PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N1cicgdHlwZT0neG1sTG9jYXRpb25TZXRQdHInIGluZm89J3RoZSBpbml0aWFsIHJhbmdlIHNldCcvPgorICAgICAgPGFyZyBuYW1lPSd2YWwnIHR5cGU9J3htbFhQYXRoT2JqZWN0UHRyJyBpbmZvPSdhbiB4bWxYUGF0aE9iamVjdFB0cicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQdHJMb2NhdGlvblNldE1lcmdlJyBmaWxlPSd4cG9pbnRlcicgbW9kdWxlPSd4cG9pbnRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUFRSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+TWVyZ2VzIHR3byByYW5nZXNldHMsIGFsbCByYW5nZXMgZnJvbSBAdmFsMiBhcmUgYWRkZWQgdG8gQHZhbDE8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbExvY2F0aW9uU2V0UHRyJyBpbmZvPSd2YWwxIG9uY2UgZXh0ZW5kZWQgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLicvPgorICAgICAgPGFyZyBuYW1lPSd2YWwxJyB0eXBlPSd4bWxMb2NhdGlvblNldFB0cicgaW5mbz0ndGhlIGZpcnN0IExvY2F0aW9uU2V0Jy8+CisgICAgICA8YXJnIG5hbWU9J3ZhbDInIHR5cGU9J3htbExvY2F0aW9uU2V0UHRyJyBpbmZvPSd0aGUgc2Vjb25kIExvY2F0aW9uU2V0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sWFB0ckxvY2F0aW9uU2V0UmVtb3ZlJyBmaWxlPSd4cG9pbnRlcicgbW9kdWxlPSd4cG9pbnRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUFRSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+UmVtb3ZlcyBhbiBlbnRyeSBmcm9tIGFuIGV4aXN0aW5nIExvY2F0aW9uU2V0IGxpc3QuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N1cicgdHlwZT0neG1sTG9jYXRpb25TZXRQdHInIGluZm89J3RoZSBpbml0aWFsIHJhbmdlIHNldCcvPgorICAgICAgPGFyZyBuYW1lPSd2YWwnIHR5cGU9J2ludCcgaW5mbz0ndGhlIGluZGV4IHRvIHJlbW92ZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQdHJOZXdDb2xsYXBzZWRSYW5nZScgZmlsZT0neHBvaW50ZXInIG1vZHVsZT0neHBvaW50ZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfWFBUUl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNyZWF0ZSBhIG5ldyB4bWxYUGF0aE9iamVjdFB0ciBvZiB0eXBlIHJhbmdlIHVzaW5nIGEgc2luZ2xlIG5vZGVzPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxYUGF0aE9iamVjdFB0cicgaW5mbz0ndGhlIG5ld2x5IGNyZWF0ZWQgb2JqZWN0LicvPgorICAgICAgPGFyZyBuYW1lPSdzdGFydCcgdHlwZT0neG1sTm9kZVB0cicgaW5mbz0ndGhlIHN0YXJ0aW5nIGFuZCBlbmRpbmcgbm9kZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQdHJOZXdDb250ZXh0JyBmaWxlPSd4cG9pbnRlcicgbW9kdWxlPSd4cG9pbnRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUFRSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q3JlYXRlIGEgbmV3IFhQb2ludGVyIGNvbnRleHQ8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbFhQYXRoQ29udGV4dFB0cicgaW5mbz0ndGhlIHhtbFhQYXRoQ29udGV4dCBqdXN0IGFsbG9jYXRlZC4nLz4KKyAgICAgIDxhcmcgbmFtZT0nZG9jJyB0eXBlPSd4bWxEb2NQdHInIGluZm89J3RoZSBYTUwgZG9jdW1lbnQnLz4KKyAgICAgIDxhcmcgbmFtZT0naGVyZScgdHlwZT0neG1sTm9kZVB0cicgaW5mbz0ndGhlIG5vZGUgdGhhdCBkaXJlY3RseSBjb250YWlucyB0aGUgWFBvaW50ZXIgYmVpbmcgZXZhbHVhdGVkIG9yIE5VTEwnLz4KKyAgICAgIDxhcmcgbmFtZT0nb3JpZ2luJyB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSd0aGUgZWxlbWVudCBmcm9tIHdoaWNoIGEgdXNlciBvciBwcm9ncmFtIGluaXRpYXRlZCB0cmF2ZXJzYWwgb2YgdGhlIGxpbmssIG9yIE5VTEwuJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sWFB0ck5ld0xvY2F0aW9uU2V0Tm9kZVNldCcgZmlsZT0neHBvaW50ZXInIG1vZHVsZT0neHBvaW50ZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfWFBUUl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNyZWF0ZSBhIG5ldyB4bWxYUGF0aE9iamVjdFB0ciBvZiB0eXBlIExvY2F0aW9uU2V0IGFuZCBpbml0aWFsaXplIGl0IHdpdGggYWxsIHRoZSBub2RlcyBmcm9tIEBzZXQ8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbFhQYXRoT2JqZWN0UHRyJyBpbmZvPSd0aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QuJy8+CisgICAgICA8YXJnIG5hbWU9J3NldCcgdHlwZT0neG1sTm9kZVNldFB0cicgaW5mbz0nYSBub2RlIHNldCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQdHJOZXdMb2NhdGlvblNldE5vZGVzJyBmaWxlPSd4cG9pbnRlcicgbW9kdWxlPSd4cG9pbnRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUFRSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q3JlYXRlIGEgbmV3IHhtbFhQYXRoT2JqZWN0UHRyIG9mIHR5cGUgTG9jYXRpb25TZXQgYW5kIGluaXRpYWxpemUgaXQgd2l0aCB0aGUgc2luZ2xlIHJhbmdlIG1hZGUgb2YgdGhlIHR3byBub2RlcyBAc3RhcnQgYW5kIEBlbmQ8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbFhQYXRoT2JqZWN0UHRyJyBpbmZvPSd0aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QuJy8+CisgICAgICA8YXJnIG5hbWU9J3N0YXJ0JyB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSd0aGUgc3RhcnQgTm9kZVB0ciB2YWx1ZScvPgorICAgICAgPGFyZyBuYW1lPSdlbmQnIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3RoZSBlbmQgTm9kZVB0ciB2YWx1ZSBvciBOVUxMJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sWFB0ck5ld1JhbmdlJyBmaWxlPSd4cG9pbnRlcicgbW9kdWxlPSd4cG9pbnRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUFRSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q3JlYXRlIGEgbmV3IHhtbFhQYXRoT2JqZWN0UHRyIG9mIHR5cGUgcmFuZ2U8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbFhQYXRoT2JqZWN0UHRyJyBpbmZvPSd0aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QuJy8+CisgICAgICA8YXJnIG5hbWU9J3N0YXJ0JyB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSd0aGUgc3RhcnRpbmcgbm9kZScvPgorICAgICAgPGFyZyBuYW1lPSdzdGFydGluZGV4JyB0eXBlPSdpbnQnIGluZm89J3RoZSBzdGFydCBpbmRleCcvPgorICAgICAgPGFyZyBuYW1lPSdlbmQnIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3RoZSBlbmRpbmcgcG9pbnQnLz4KKyAgICAgIDxhcmcgbmFtZT0nZW5kaW5kZXgnIHR5cGU9J2ludCcgaW5mbz0ndGhlIGVuZGluZyBpbmRleCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQdHJOZXdSYW5nZU5vZGVPYmplY3QnIGZpbGU9J3hwb2ludGVyJyBtb2R1bGU9J3hwb2ludGVyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1hQVFJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5DcmVhdGUgYSBuZXcgeG1sWFBhdGhPYmplY3RQdHIgb2YgdHlwZSByYW5nZSBmcm9tIGEgbm90IHRvIGFuIG9iamVjdDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sWFBhdGhPYmplY3RQdHInIGluZm89J3RoZSBuZXdseSBjcmVhdGVkIG9iamVjdC4nLz4KKyAgICAgIDxhcmcgbmFtZT0nc3RhcnQnIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3RoZSBzdGFydGluZyBub2RlJy8+CisgICAgICA8YXJnIG5hbWU9J2VuZCcgdHlwZT0neG1sWFBhdGhPYmplY3RQdHInIGluZm89J3RoZSBlbmRpbmcgb2JqZWN0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sWFB0ck5ld1JhbmdlTm9kZVBvaW50JyBmaWxlPSd4cG9pbnRlcicgbW9kdWxlPSd4cG9pbnRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUFRSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q3JlYXRlIGEgbmV3IHhtbFhQYXRoT2JqZWN0UHRyIG9mIHR5cGUgcmFuZ2UgZnJvbSBhIG5vZGUgdG8gYSBwb2ludDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sWFBhdGhPYmplY3RQdHInIGluZm89J3RoZSBuZXdseSBjcmVhdGVkIG9iamVjdC4nLz4KKyAgICAgIDxhcmcgbmFtZT0nc3RhcnQnIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3RoZSBzdGFydGluZyBub2RlJy8+CisgICAgICA8YXJnIG5hbWU9J2VuZCcgdHlwZT0neG1sWFBhdGhPYmplY3RQdHInIGluZm89J3RoZSBlbmRpbmcgcG9pbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxYUHRyTmV3UmFuZ2VOb2RlcycgZmlsZT0neHBvaW50ZXInIG1vZHVsZT0neHBvaW50ZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfWFBUUl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNyZWF0ZSBhIG5ldyB4bWxYUGF0aE9iamVjdFB0ciBvZiB0eXBlIHJhbmdlIHVzaW5nIDIgbm9kZXM8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbFhQYXRoT2JqZWN0UHRyJyBpbmZvPSd0aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QuJy8+CisgICAgICA8YXJnIG5hbWU9J3N0YXJ0JyB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSd0aGUgc3RhcnRpbmcgbm9kZScvPgorICAgICAgPGFyZyBuYW1lPSdlbmQnIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3RoZSBlbmRpbmcgbm9kZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQdHJOZXdSYW5nZVBvaW50Tm9kZScgZmlsZT0neHBvaW50ZXInIG1vZHVsZT0neHBvaW50ZXInPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfWFBUUl9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNyZWF0ZSBhIG5ldyB4bWxYUGF0aE9iamVjdFB0ciBvZiB0eXBlIHJhbmdlIGZyb20gYSBwb2ludCB0byBhIG5vZGU8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbFhQYXRoT2JqZWN0UHRyJyBpbmZvPSd0aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QuJy8+CisgICAgICA8YXJnIG5hbWU9J3N0YXJ0JyB0eXBlPSd4bWxYUGF0aE9iamVjdFB0cicgaW5mbz0ndGhlIHN0YXJ0aW5nIHBvaW50Jy8+CisgICAgICA8YXJnIG5hbWU9J2VuZCcgdHlwZT0neG1sTm9kZVB0cicgaW5mbz0ndGhlIGVuZGluZyBub2RlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sWFB0ck5ld1JhbmdlUG9pbnRzJyBmaWxlPSd4cG9pbnRlcicgbW9kdWxlPSd4cG9pbnRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUFRSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+Q3JlYXRlIGEgbmV3IHhtbFhQYXRoT2JqZWN0UHRyIG9mIHR5cGUgcmFuZ2UgdXNpbmcgMiBQb2ludHM8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbFhQYXRoT2JqZWN0UHRyJyBpbmZvPSd0aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QuJy8+CisgICAgICA8YXJnIG5hbWU9J3N0YXJ0JyB0eXBlPSd4bWxYUGF0aE9iamVjdFB0cicgaW5mbz0ndGhlIHN0YXJ0aW5nIHBvaW50Jy8+CisgICAgICA8YXJnIG5hbWU9J2VuZCcgdHlwZT0neG1sWFBhdGhPYmplY3RQdHInIGluZm89J3RoZSBlbmRpbmcgcG9pbnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxYUHRyUmFuZ2VUb0Z1bmN0aW9uJyBmaWxlPSd4cG9pbnRlcicgbW9kdWxlPSd4cG9pbnRlcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUFRSX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+SW1wbGVtZW50IHRoZSByYW5nZS10bygpIFhQb2ludGVyIGZ1bmN0aW9uPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cicgaW5mbz0ndGhlIFhQb2ludGVyIFBhcnNlciBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J25hcmdzJyB0eXBlPSdpbnQnIGluZm89J3RoZSBudW1iZXIgb2YgYXJncycvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQdHJXcmFwTG9jYXRpb25TZXQnIGZpbGU9J3hwb2ludGVyJyBtb2R1bGU9J3hwb2ludGVyJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1hQVFJfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5XcmFwIHRoZSBMb2NhdGlvblNldCBAdmFsIGluIGEgbmV3IHhtbFhQYXRoT2JqZWN0UHRyPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxYUGF0aE9iamVjdFB0cicgaW5mbz0ndGhlIG5ld2x5IGNyZWF0ZWQgb2JqZWN0LicvPgorICAgICAgPGFyZyBuYW1lPSd2YWwnIHR5cGU9J3htbExvY2F0aW9uU2V0UHRyJyBpbmZvPSd0aGUgTG9jYXRpb25TZXQgdmFsdWUnLz4KKyAgICA8L2Z1bmN0aW9uPgorICA8L3N5bWJvbHM+Cis8L2FwaT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2xpYnhtbDItcmVmcy54bWwgYi9saWJ4bWwyL2RvYy9saWJ4bWwyLXJlZnMueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY0MmZhYjQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9saWJ4bWwyLXJlZnMueG1sCkBAIC0wLDAgKzEsMzIxNzIgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IklTTy04ODU5LTEiPz4KKzxhcGlyZWZzIG5hbWU9J2xpYnhtbDInPgorICA8cmVmZXJlbmNlcz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J0FUVFJJQlVURV9VTlVTRUQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNBVFRSSUJVVEVfVU5VU0VEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdCQURfQ0FTVCcgaHJlZj0naHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjQkFEX0NBU1QnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J0JBU0VfQlVGRkVSX1NJWkUnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCNCQVNFX0JVRkZFUl9TSVpFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdDQVNUX1RPX0JPT0xFQU4nIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjQ0FTVF9UT19CT09MRUFOJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdDQVNUX1RPX05VTUJFUicgaHJlZj0naHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCNDQVNUX1RPX05VTUJFUicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nQ0FTVF9UT19TVFJJTkcnIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjQ0FTVF9UT19TVFJJTkcnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J0NIRUNLX0FSSVRZJyBocmVmPSdodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI0NIRUNLX0FSSVRZJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdDSEVDS19FUlJPUicgaHJlZj0naHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCNDSEVDS19FUlJPUicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nQ0hFQ0tfRVJST1IwJyBocmVmPSdodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI0NIRUNLX0VSUk9SMCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nQ0hFQ0tfVFlQRScgaHJlZj0naHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCNDSEVDS19UWVBFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdDSEVDS19UWVBFMCcgaHJlZj0naHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCNDSEVDS19UWVBFMCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nREVCVUdfTUVNT1JZJyBocmVmPSdodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCNERUJVR19NRU1PUlknLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J0RFQlVHX01FTU9SWV9MT0NBVElPTicgaHJlZj0naHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0RFQlVHX01FTU9SWV9MT0NBVElPTicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nSFRNTF9DT01NRU5UX05PREUnIGhyZWY9J2h0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwjSFRNTF9DT01NRU5UX05PREUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J0hUTUxfREVQUkVDQVRFRCcgaHJlZj0naHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI0hUTUxfREVQUkVDQVRFRCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nSFRNTF9FTlRJVFlfUkVGX05PREUnIGhyZWY9J2h0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwjSFRNTF9FTlRJVFlfUkVGX05PREUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J0hUTUxfSU5WQUxJRCcgaHJlZj0naHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI0hUTUxfSU5WQUxJRCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nSFRNTF9OQScgaHJlZj0naHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI0hUTUxfTkEnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J0hUTUxfUEFSU0VfQ09NUEFDVCcgaHJlZj0naHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI0hUTUxfUEFSU0VfQ09NUEFDVCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nSFRNTF9QQVJTRV9JR05PUkVfRU5DJyBocmVmPSdodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjSFRNTF9QQVJTRV9JR05PUkVfRU5DJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdIVE1MX1BBUlNFX05PQkxBTktTJyBocmVmPSdodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjSFRNTF9QQVJTRV9OT0JMQU5LUycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nSFRNTF9QQVJTRV9OT0RFRkRURCcgaHJlZj0naHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI0hUTUxfUEFSU0VfTk9ERUZEVEQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J0hUTUxfUEFSU0VfTk9FUlJPUicgaHJlZj0naHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI0hUTUxfUEFSU0VfTk9FUlJPUicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nSFRNTF9QQVJTRV9OT0lNUExJRUQnIGhyZWY9J2h0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNIVE1MX1BBUlNFX05PSU1QTElFRCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nSFRNTF9QQVJTRV9OT05FVCcgaHJlZj0naHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI0hUTUxfUEFSU0VfTk9ORVQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J0hUTUxfUEFSU0VfTk9XQVJOSU5HJyBocmVmPSdodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjSFRNTF9QQVJTRV9OT1dBUk5JTkcnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J0hUTUxfUEFSU0VfUEVEQU5USUMnIGhyZWY9J2h0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNIVE1MX1BBUlNFX1BFREFOVElDJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdIVE1MX1BBUlNFX1JFQ09WRVInIGhyZWY9J2h0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNIVE1MX1BBUlNFX1JFQ09WRVInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J0hUTUxfUElfTk9ERScgaHJlZj0naHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNIVE1MX1BJX05PREUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J0hUTUxfUFJFU0VSVkVfTk9ERScgaHJlZj0naHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNIVE1MX1BSRVNFUlZFX05PREUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J0hUTUxfUkVRVUlSRUQnIGhyZWY9J2h0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNIVE1MX1JFUVVJUkVEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdIVE1MX1RFWFRfTk9ERScgaHJlZj0naHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNIVE1MX1RFWFRfTk9ERScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nSFRNTF9WQUxJRCcgaHJlZj0naHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI0hUTUxfVkFMSUQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J0lOUFVUX0NIVU5LJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNJTlBVVF9DSFVOSycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nSU5WQUxJRF9TT0NLRVQnIGhyZWY9J2h0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCNJTlZBTElEX1NPQ0tFVCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nSVNfQVNDSUlfRElHSVQnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTX0FTQ0lJX0RJR0lUJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdJU19BU0NJSV9MRVRURVInIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTX0FTQ0lJX0xFVFRFUicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nSVNfQkFTRUNIQVInIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTX0JBU0VDSEFSJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdJU19CTEFOSycgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjSVNfQkxBTksnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J0lTX0JMQU5LX0NIJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNJU19CTEFOS19DSCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nSVNfQllURV9DSEFSJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNJU19CWVRFX0NIQVInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J0lTX0NIQVInIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTX0NIQVInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J0lTX0NIQVJfQ0gnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTX0NIQVJfQ0gnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J0lTX0NPTUJJTklORycgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjSVNfQ09NQklOSU5HJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdJU19DT01CSU5JTkdfQ0gnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTX0NPTUJJTklOR19DSCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nSVNfRElHSVQnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTX0RJR0lUJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdJU19ESUdJVF9DSCcgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjSVNfRElHSVRfQ0gnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J0lTX0VYVEVOREVSJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNJU19FWFRFTkRFUicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nSVNfRVhURU5ERVJfQ0gnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTX0VYVEVOREVSX0NIJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdJU19JREVPR1JBUEhJQycgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjSVNfSURFT0dSQVBISUMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J0lTX0xFVFRFUicgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjSVNfTEVUVEVSJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdJU19MRVRURVJfQ0gnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI0lTX0xFVFRFUl9DSCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nSVNfUFVCSURDSEFSJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNJU19QVUJJRENIQVInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J0lTX1BVQklEQ0hBUl9DSCcgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjSVNfUFVCSURDSEFSX0NIJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdMSUJYTUwyX05FV19CVUZGRVInIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCNMSUJYTUwyX05FV19CVUZGRVInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J0xJQlhNTF9BVFRSX0FMTE9DX1NJWkUnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfQVRUUl9BTExPQ19TSVpFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdMSUJYTUxfQVRUUl9GT1JNQVQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfQVRUUl9GT1JNQVQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J0xJQlhNTF9BVVRPTUFUQV9FTkFCTEVEJyBocmVmPSdodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX0FVVE9NQVRBX0VOQUJMRUQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J0xJQlhNTF9DMTROX0VOQUJMRUQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfQzE0Tl9FTkFCTEVEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdMSUJYTUxfQ0FUQUxPR19FTkFCTEVEJyBocmVmPSdodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX0NBVEFMT0dfRU5BQkxFRCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nTElCWE1MX0RFQlVHX0VOQUJMRUQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfREVCVUdfRU5BQkxFRCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nTElCWE1MX0RFQlVHX1JVTlRJTUUnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfREVCVUdfUlVOVElNRScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nTElCWE1MX0RMTF9JTVBPUlQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGV4cG9ydHMuaHRtbCNMSUJYTUxfRExMX0lNUE9SVCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nTElCWE1MX0RPQ0JfRU5BQkxFRCcgaHJlZj0naHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9ET0NCX0VOQUJMRUQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J0xJQlhNTF9ET1RURURfVkVSU0lPTicgaHJlZj0naHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9ET1RURURfVkVSU0lPTicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nTElCWE1MX0VYUFJfRU5BQkxFRCcgaHJlZj0naHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9FWFBSX0VOQUJMRUQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J0xJQlhNTF9GVFBfRU5BQkxFRCcgaHJlZj0naHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9GVFBfRU5BQkxFRCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nTElCWE1MX0hUTUxfRU5BQkxFRCcgaHJlZj0naHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9IVE1MX0VOQUJMRUQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J0xJQlhNTF9IVFRQX0VOQUJMRUQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfSFRUUF9FTkFCTEVEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdMSUJYTUxfSUNPTlZfRU5BQkxFRCcgaHJlZj0naHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9JQ09OVl9FTkFCTEVEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdMSUJYTUxfSUNVX0VOQUJMRUQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfSUNVX0VOQUJMRUQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J0xJQlhNTF9JU084ODU5WF9FTkFCTEVEJyBocmVmPSdodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX0lTTzg4NTlYX0VOQUJMRUQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J0xJQlhNTF9MRUdBQ1lfRU5BQkxFRCcgaHJlZj0naHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9MRUdBQ1lfRU5BQkxFRCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nTElCWE1MX0xaTUFfRU5BQkxFRCcgaHJlZj0naHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9MWk1BX0VOQUJMRUQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J0xJQlhNTF9NT0RVTEVTX0VOQUJMRUQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfTU9EVUxFU19FTkFCTEVEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdMSUJYTUxfTU9EVUxFX0VYVEVOU0lPTicgaHJlZj0naHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9NT0RVTEVfRVhURU5TSU9OJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdMSUJYTUxfT1VUUFVUX0VOQUJMRUQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfT1VUUFVUX0VOQUJMRUQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J0xJQlhNTF9QQVRURVJOX0VOQUJMRUQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfUEFUVEVSTl9FTkFCTEVEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdMSUJYTUxfUFVTSF9FTkFCTEVEJyBocmVmPSdodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX1BVU0hfRU5BQkxFRCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nTElCWE1MX1JFQURFUl9FTkFCTEVEJyBocmVmPSdodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX1JFQURFUl9FTkFCTEVEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdMSUJYTUxfUkVHRVhQX0VOQUJMRUQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfUkVHRVhQX0VOQUJMRUQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J0xJQlhNTF9TQVgxX0VOQUJMRUQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfU0FYMV9FTkFCTEVEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdMSUJYTUxfU0NIRU1BU19FTkFCTEVEJyBocmVmPSdodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjTElCWE1MX1NDSEVNQVNfRU5BQkxFRCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nTElCWE1MX1NDSEVNQVRST05fRU5BQkxFRCcgaHJlZj0naHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9TQ0hFTUFUUk9OX0VOQUJMRUQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J0xJQlhNTF9URVNUX1ZFUlNJT04nIGhyZWY9J2h0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfVEVTVF9WRVJTSU9OJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdMSUJYTUxfVEhSRUFEX0FMTE9DX0VOQUJMRUQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfVEhSRUFEX0FMTE9DX0VOQUJMRUQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J0xJQlhNTF9USFJFQURfRU5BQkxFRCcgaHJlZj0naHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9USFJFQURfRU5BQkxFRCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nTElCWE1MX1RSRUVfRU5BQkxFRCcgaHJlZj0naHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9UUkVFX0VOQUJMRUQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J0xJQlhNTF9VTklDT0RFX0VOQUJMRUQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfVU5JQ09ERV9FTkFCTEVEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdMSUJYTUxfVkFMSURfRU5BQkxFRCcgaHJlZj0naHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9WQUxJRF9FTkFCTEVEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdMSUJYTUxfVkVSU0lPTicgaHJlZj0naHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9WRVJTSU9OJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdMSUJYTUxfVkVSU0lPTl9FWFRSQScgaHJlZj0naHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9WRVJTSU9OX0VYVFJBJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdMSUJYTUxfVkVSU0lPTl9TVFJJTkcnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfVkVSU0lPTl9TVFJJTkcnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J0xJQlhNTF9XUklURVJfRU5BQkxFRCcgaHJlZj0naHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9XUklURVJfRU5BQkxFRCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nTElCWE1MX1hJTkNMVURFX0VOQUJMRUQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfWElOQ0xVREVfRU5BQkxFRCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nTElCWE1MX1hQQVRIX0VOQUJMRUQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfWFBBVEhfRU5BQkxFRCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nTElCWE1MX1hQVFJfRU5BQkxFRCcgaHJlZj0naHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI0xJQlhNTF9YUFRSX0VOQUJMRUQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J0xJQlhNTF9aTElCX0VOQUJMRUQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHZlcnNpb24uaHRtbCNMSUJYTUxfWkxJQl9FTkFCTEVEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdNT1ZFVE9fRU5EVEFHJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNNT1ZFVE9fRU5EVEFHJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdNT1ZFVE9fU1RBUlRUQUcnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI01PVkVUT19TVEFSVFRBRycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nU0tJUF9FT0wnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI1NLSVBfRU9MJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdTT0NLRVQnIGhyZWY9J2h0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCNTT0NLRVQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1VURjhUb0h0bWwnIGhyZWY9J2h0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNVVEY4VG9IdG1sJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdVVEY4VG9pc29sYXQxJyBocmVmPSdodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI1VURjhUb2lzb2xhdDEnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1dJVEhPVVRfVFJJTycgaHJlZj0naHRtbC9saWJ4bWwteG1sdmVyc2lvbi5odG1sI1dJVEhPVVRfVFJJTycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nV0lUSF9UUklPJyBocmVmPSdodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjV0lUSF9UUklPJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYSU5DTFVERV9GQUxMQkFDSycgaHJlZj0naHRtbC9saWJ4bWwteGluY2x1ZGUuaHRtbCNYSU5DTFVERV9GQUxMQkFDSycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWElOQ0xVREVfSFJFRicgaHJlZj0naHRtbC9saWJ4bWwteGluY2x1ZGUuaHRtbCNYSU5DTFVERV9IUkVGJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYSU5DTFVERV9OT0RFJyBocmVmPSdodG1sL2xpYnhtbC14aW5jbHVkZS5odG1sI1hJTkNMVURFX05PREUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hJTkNMVURFX05TJyBocmVmPSdodG1sL2xpYnhtbC14aW5jbHVkZS5odG1sI1hJTkNMVURFX05TJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYSU5DTFVERV9PTERfTlMnIGhyZWY9J2h0bWwvbGlieG1sLXhpbmNsdWRlLmh0bWwjWElOQ0xVREVfT0xEX05TJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYSU5DTFVERV9QQVJTRScgaHJlZj0naHRtbC9saWJ4bWwteGluY2x1ZGUuaHRtbCNYSU5DTFVERV9QQVJTRScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWElOQ0xVREVfUEFSU0VfRU5DT0RJTkcnIGhyZWY9J2h0bWwvbGlieG1sLXhpbmNsdWRlLmh0bWwjWElOQ0xVREVfUEFSU0VfRU5DT0RJTkcnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hJTkNMVURFX1BBUlNFX1RFWFQnIGhyZWY9J2h0bWwvbGlieG1sLXhpbmNsdWRlLmh0bWwjWElOQ0xVREVfUEFSU0VfVEVYVCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWElOQ0xVREVfUEFSU0VfWE1MJyBocmVmPSdodG1sL2xpYnhtbC14aW5jbHVkZS5odG1sI1hJTkNMVURFX1BBUlNFX1hNTCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWElOQ0xVREVfUEFSU0VfWFBPSU5URVInIGhyZWY9J2h0bWwvbGlieG1sLXhpbmNsdWRlLmh0bWwjWElOQ0xVREVfUEFSU0VfWFBPSU5URVInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hMSU5LX0FDVFVBVEVfQVVUTycgaHJlZj0naHRtbC9saWJ4bWwteGxpbmsuaHRtbCNYTElOS19BQ1RVQVRFX0FVVE8nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hMSU5LX0FDVFVBVEVfTk9ORScgaHJlZj0naHRtbC9saWJ4bWwteGxpbmsuaHRtbCNYTElOS19BQ1RVQVRFX05PTkUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hMSU5LX0FDVFVBVEVfT05SRVFVRVNUJyBocmVmPSdodG1sL2xpYnhtbC14bGluay5odG1sI1hMSU5LX0FDVFVBVEVfT05SRVFVRVNUJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTElOS19TSE9XX0VNQkVEJyBocmVmPSdodG1sL2xpYnhtbC14bGluay5odG1sI1hMSU5LX1NIT1dfRU1CRUQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hMSU5LX1NIT1dfTkVXJyBocmVmPSdodG1sL2xpYnhtbC14bGluay5odG1sI1hMSU5LX1NIT1dfTkVXJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTElOS19TSE9XX05PTkUnIGhyZWY9J2h0bWwvbGlieG1sLXhsaW5rLmh0bWwjWExJTktfU0hPV19OT05FJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTElOS19TSE9XX1JFUExBQ0UnIGhyZWY9J2h0bWwvbGlieG1sLXhsaW5rLmh0bWwjWExJTktfU0hPV19SRVBMQUNFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTElOS19UWVBFX0VYVEVOREVEJyBocmVmPSdodG1sL2xpYnhtbC14bGluay5odG1sI1hMSU5LX1RZUEVfRVhURU5ERUQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hMSU5LX1RZUEVfRVhURU5ERURfU0VUJyBocmVmPSdodG1sL2xpYnhtbC14bGluay5odG1sI1hMSU5LX1RZUEVfRVhURU5ERURfU0VUJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTElOS19UWVBFX05PTkUnIGhyZWY9J2h0bWwvbGlieG1sLXhsaW5rLmh0bWwjWExJTktfVFlQRV9OT05FJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTElOS19UWVBFX1NJTVBMRScgaHJlZj0naHRtbC9saWJ4bWwteGxpbmsuaHRtbCNYTElOS19UWVBFX1NJTVBMRScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MQ0FMTCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXhwb3J0cy5odG1sI1hNTENBTEwnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTENERUNMJyBocmVmPSdodG1sL2xpYnhtbC14bWxleHBvcnRzLmh0bWwjWE1MQ0RFQ0wnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTFBVQkZVTicgaHJlZj0naHRtbC9saWJ4bWwteG1sZXhwb3J0cy5odG1sI1hNTFBVQkZVTicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MUFVCVkFSJyBocmVmPSdodG1sL2xpYnhtbC14bWxleHBvcnRzLmh0bWwjWE1MUFVCVkFSJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfQVRUUklCVVRFX0NEQVRBJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0FUVFJJQlVURV9DREFUQScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0FUVFJJQlVURV9ERUNMJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0FUVFJJQlVURV9ERUNMJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfQVRUUklCVVRFX0VOVElUSUVTJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0FUVFJJQlVURV9FTlRJVElFUycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0FUVFJJQlVURV9FTlRJVFknIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCNYTUxfQVRUUklCVVRFX0VOVElUWScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0FUVFJJQlVURV9FTlVNRVJBVElPTicgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9BVFRSSUJVVEVfRU5VTUVSQVRJT04nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9BVFRSSUJVVEVfRklYRUQnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCNYTUxfQVRUUklCVVRFX0ZJWEVEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfQVRUUklCVVRFX0lEJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0FUVFJJQlVURV9JRCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0FUVFJJQlVURV9JRFJFRicgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9BVFRSSUJVVEVfSURSRUYnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9BVFRSSUJVVEVfSURSRUZTJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0FUVFJJQlVURV9JRFJFRlMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9BVFRSSUJVVEVfSU1QTElFRCcgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9BVFRSSUJVVEVfSU1QTElFRCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0FUVFJJQlVURV9OTVRPS0VOJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0FUVFJJQlVURV9OTVRPS0VOJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfQVRUUklCVVRFX05NVE9LRU5TJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0FUVFJJQlVURV9OTVRPS0VOUycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0FUVFJJQlVURV9OT0RFJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0FUVFJJQlVURV9OT0RFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfQVRUUklCVVRFX05PTkUnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCNYTUxfQVRUUklCVVRFX05PTkUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9BVFRSSUJVVEVfTk9UQVRJT04nIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCNYTUxfQVRUUklCVVRFX05PVEFUSU9OJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfQVRUUklCVVRFX1JFUVVJUkVEJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0FUVFJJQlVURV9SRVFVSVJFRCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0JVRkZFUl9BTExPQ19ET1VCTEVJVCcgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9CVUZGRVJfQUxMT0NfRE9VQkxFSVQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9CVUZGRVJfQUxMT0NfRVhBQ1QnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCNYTUxfQlVGRkVSX0FMTE9DX0VYQUNUJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfQlVGRkVSX0FMTE9DX0hZQlJJRCcgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9CVUZGRVJfQUxMT0NfSFlCUklEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfQlVGRkVSX0FMTE9DX0lNTVVUQUJMRScgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9CVUZGRVJfQUxMT0NfSU1NVVRBQkxFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfQlVGRkVSX0FMTE9DX0lPJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0JVRkZFUl9BTExPQ19JTycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0JVRl9PVkVSRkxPVycgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfQlVGX09WRVJGTE9XJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfQzE0Tl8xXzAnIGhyZWY9J2h0bWwvbGlieG1sLWMxNG4uaHRtbCNYTUxfQzE0Tl8xXzAnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9DMTROXzFfMScgaHJlZj0naHRtbC9saWJ4bWwtYzE0bi5odG1sI1hNTF9DMTROXzFfMScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0MxNE5fQ1JFQVRFX0NUWFQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0MxNE5fQ1JFQVRFX0NUWFQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9DMTROX0NSRUFURV9TVEFDSycgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfQzE0Tl9DUkVBVEVfU1RBQ0snLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9DMTROX0VYQ0xVU0lWRV8xXzAnIGhyZWY9J2h0bWwvbGlieG1sLWMxNG4uaHRtbCNYTUxfQzE0Tl9FWENMVVNJVkVfMV8wJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfQzE0Tl9JTlZBTElEX05PREUnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0MxNE5fSU5WQUxJRF9OT0RFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfQzE0Tl9SRUxBVElWRV9OQU1FU1BBQ0UnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0MxNE5fUkVMQVRJVkVfTkFNRVNQQUNFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfQzE0Tl9SRVFVSVJFU19VVEY4JyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9DMTROX1JFUVVJUkVTX1VURjgnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9DMTROX1VOS05PV19OT0RFJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9DMTROX1VOS05PV19OT0RFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfQ0FTVF9GUFRSJyBocmVmPSdodG1sL2xpYnhtbC1oYXNoLmh0bWwjWE1MX0NBU1RfRlBUUicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0NBVEFMT0dTX05BTUVTUEFDRScgaHJlZj0naHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI1hNTF9DQVRBTE9HU19OQU1FU1BBQ0UnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9DQVRBTE9HX0VOVFJZX0JST0tFTicgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfQ0FUQUxPR19FTlRSWV9CUk9LRU4nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9DQVRBTE9HX01JU1NJTkdfQVRUUicgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfQ0FUQUxPR19NSVNTSU5HX0FUVFInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9DQVRBTE9HX05PVF9DQVRBTE9HJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9DQVRBTE9HX05PVF9DQVRBTE9HJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfQ0FUQUxPR19QSScgaHJlZj0naHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI1hNTF9DQVRBTE9HX1BJJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfQ0FUQUxPR19QUkVGRVJfVkFMVUUnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0NBVEFMT0dfUFJFRkVSX1ZBTFVFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfQ0FUQUxPR19SRUNVUlNJT04nIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0NBVEFMT0dfUkVDVVJTSU9OJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfQ0FUQV9BTExPV19BTEwnIGhyZWY9J2h0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCNYTUxfQ0FUQV9BTExPV19BTEwnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9DQVRBX0FMTE9XX0RPQ1VNRU5UJyBocmVmPSdodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjWE1MX0NBVEFfQUxMT1dfRE9DVU1FTlQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9DQVRBX0FMTE9XX0dMT0JBTCcgaHJlZj0naHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI1hNTF9DQVRBX0FMTE9XX0dMT0JBTCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0NBVEFfQUxMT1dfTk9ORScgaHJlZj0naHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI1hNTF9DQVRBX0FMTE9XX05PTkUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9DQVRBX1BSRUZFUl9OT05FJyBocmVmPSdodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjWE1MX0NBVEFfUFJFRkVSX05PTkUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9DQVRBX1BSRUZFUl9QVUJMSUMnIGhyZWY9J2h0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCNYTUxfQ0FUQV9QUkVGRVJfUFVCTElDJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfQ0FUQV9QUkVGRVJfU1lTVEVNJyBocmVmPSdodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjWE1MX0NBVEFfUFJFRkVSX1NZU1RFTScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0NEQVRBX1NFQ1RJT05fTk9ERScgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9DREFUQV9TRUNUSU9OX05PREUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9DSEFSX0VOQ09ESU5HXzIwMjJfSlAnIGhyZWY9J2h0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjWE1MX0NIQVJfRU5DT0RJTkdfMjAyMl9KUCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0NIQVJfRU5DT0RJTkdfODg1OV8xJyBocmVmPSdodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI1hNTF9DSEFSX0VOQ09ESU5HXzg4NTlfMScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0NIQVJfRU5DT0RJTkdfODg1OV8yJyBocmVmPSdodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI1hNTF9DSEFSX0VOQ09ESU5HXzg4NTlfMicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0NIQVJfRU5DT0RJTkdfODg1OV8zJyBocmVmPSdodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI1hNTF9DSEFSX0VOQ09ESU5HXzg4NTlfMycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0NIQVJfRU5DT0RJTkdfODg1OV80JyBocmVmPSdodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI1hNTF9DSEFSX0VOQ09ESU5HXzg4NTlfNCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0NIQVJfRU5DT0RJTkdfODg1OV81JyBocmVmPSdodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI1hNTF9DSEFSX0VOQ09ESU5HXzg4NTlfNScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0NIQVJfRU5DT0RJTkdfODg1OV82JyBocmVmPSdodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI1hNTF9DSEFSX0VOQ09ESU5HXzg4NTlfNicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0NIQVJfRU5DT0RJTkdfODg1OV83JyBocmVmPSdodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI1hNTF9DSEFSX0VOQ09ESU5HXzg4NTlfNycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0NIQVJfRU5DT0RJTkdfODg1OV84JyBocmVmPSdodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI1hNTF9DSEFSX0VOQ09ESU5HXzg4NTlfOCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0NIQVJfRU5DT0RJTkdfODg1OV85JyBocmVmPSdodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI1hNTF9DSEFSX0VOQ09ESU5HXzg4NTlfOScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0NIQVJfRU5DT0RJTkdfQVNDSUknIGhyZWY9J2h0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjWE1MX0NIQVJfRU5DT0RJTkdfQVNDSUknLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9DSEFSX0VOQ09ESU5HX0VCQ0RJQycgaHJlZj0naHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCNYTUxfQ0hBUl9FTkNPRElOR19FQkNESUMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9DSEFSX0VOQ09ESU5HX0VSUk9SJyBocmVmPSdodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI1hNTF9DSEFSX0VOQ09ESU5HX0VSUk9SJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfQ0hBUl9FTkNPRElOR19FVUNfSlAnIGhyZWY9J2h0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjWE1MX0NIQVJfRU5DT0RJTkdfRVVDX0pQJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfQ0hBUl9FTkNPRElOR19OT05FJyBocmVmPSdodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI1hNTF9DSEFSX0VOQ09ESU5HX05PTkUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9DSEFSX0VOQ09ESU5HX1NISUZUX0pJUycgaHJlZj0naHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCNYTUxfQ0hBUl9FTkNPRElOR19TSElGVF9KSVMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9DSEFSX0VOQ09ESU5HX1VDUzInIGhyZWY9J2h0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjWE1MX0NIQVJfRU5DT0RJTkdfVUNTMicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0NIQVJfRU5DT0RJTkdfVUNTNEJFJyBocmVmPSdodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI1hNTF9DSEFSX0VOQ09ESU5HX1VDUzRCRScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0NIQVJfRU5DT0RJTkdfVUNTNExFJyBocmVmPSdodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI1hNTF9DSEFSX0VOQ09ESU5HX1VDUzRMRScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0NIQVJfRU5DT0RJTkdfVUNTNF8yMTQzJyBocmVmPSdodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI1hNTF9DSEFSX0VOQ09ESU5HX1VDUzRfMjE0MycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0NIQVJfRU5DT0RJTkdfVUNTNF8zNDEyJyBocmVmPSdodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI1hNTF9DSEFSX0VOQ09ESU5HX1VDUzRfMzQxMicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0NIQVJfRU5DT0RJTkdfVVRGMTZCRScgaHJlZj0naHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCNYTUxfQ0hBUl9FTkNPRElOR19VVEYxNkJFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfQ0hBUl9FTkNPRElOR19VVEYxNkxFJyBocmVmPSdodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI1hNTF9DSEFSX0VOQ09ESU5HX1VURjE2TEUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9DSEFSX0VOQ09ESU5HX1VURjgnIGhyZWY9J2h0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjWE1MX0NIQVJfRU5DT0RJTkdfVVRGOCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0NIRUNLX0VOVElUWV9UWVBFJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9DSEVDS19FTlRJVFlfVFlQRScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0NIRUNLX0ZPVU5EX0FUVFJJQlVURScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfQ0hFQ0tfRk9VTkRfQVRUUklCVVRFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfQ0hFQ0tfRk9VTkRfQ0RBVEEnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0NIRUNLX0ZPVU5EX0NEQVRBJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfQ0hFQ0tfRk9VTkRfQ09NTUVOVCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfQ0hFQ0tfRk9VTkRfQ09NTUVOVCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0NIRUNLX0ZPVU5EX0RPQ1RZUEUnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0NIRUNLX0ZPVU5EX0RPQ1RZUEUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9DSEVDS19GT1VORF9FTEVNRU5UJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9DSEVDS19GT1VORF9FTEVNRU5UJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfQ0hFQ0tfRk9VTkRfRU5USVRZJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9DSEVDS19GT1VORF9FTlRJVFknLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9DSEVDS19GT1VORF9FTlRJVFlSRUYnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0NIRUNLX0ZPVU5EX0VOVElUWVJFRicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0NIRUNLX0ZPVU5EX0ZSQUdNRU5UJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9DSEVDS19GT1VORF9GUkFHTUVOVCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0NIRUNLX0ZPVU5EX05PVEFUSU9OJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9DSEVDS19GT1VORF9OT1RBVElPTicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0NIRUNLX0ZPVU5EX1BJJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9DSEVDS19GT1VORF9QSScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0NIRUNLX0ZPVU5EX1RFWFQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0NIRUNLX0ZPVU5EX1RFWFQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9DSEVDS19OQU1FX05PVF9OVUxMJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9DSEVDS19OQU1FX05PVF9OVUxMJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfQ0hFQ0tfTk9UX0FUVFInIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0NIRUNLX05PVF9BVFRSJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfQ0hFQ0tfTk9UX0FUVFJfREVDTCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfQ0hFQ0tfTk9UX0FUVFJfREVDTCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0NIRUNLX05PVF9EVEQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0NIRUNLX05PVF9EVEQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9DSEVDS19OT1RfRUxFTV9ERUNMJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9DSEVDS19OT1RfRUxFTV9ERUNMJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfQ0hFQ0tfTk9UX0VOVElUWV9ERUNMJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9DSEVDS19OT1RfRU5USVRZX0RFQ0wnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9DSEVDS19OT1RfTkNOQU1FJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9DSEVDS19OT1RfTkNOQU1FJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfQ0hFQ0tfTk9UX05TX0RFQ0wnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0NIRUNLX05PVF9OU19ERUNMJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfQ0hFQ0tfTk9UX1VURjgnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0NIRUNLX05PVF9VVEY4Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfQ0hFQ0tfTk9fRElDVCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfQ0hFQ0tfTk9fRElDVCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0NIRUNLX05PX0RPQycgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfQ0hFQ0tfTk9fRE9DJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfQ0hFQ0tfTk9fRUxFTScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfQ0hFQ0tfTk9fRUxFTScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0NIRUNLX05PX0hSRUYnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0NIRUNLX05PX0hSRUYnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9DSEVDS19OT19OQU1FJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9DSEVDS19OT19OQU1FJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfQ0hFQ0tfTk9fTkVYVCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfQ0hFQ0tfTk9fTkVYVCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0NIRUNLX05PX1BBUkVOVCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfQ0hFQ0tfTk9fUEFSRU5UJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfQ0hFQ0tfTk9fUFJFVicgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfQ0hFQ0tfTk9fUFJFVicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0NIRUNLX05TX0FOQ0VTVE9SJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9DSEVDS19OU19BTkNFU1RPUicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0NIRUNLX05TX1NDT1BFJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9DSEVDS19OU19TQ09QRScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0NIRUNLX09VVFNJREVfRElDVCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfQ0hFQ0tfT1VUU0lERV9ESUNUJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfQ0hFQ0tfVU5LTk9XTl9OT0RFJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9DSEVDS19VTktOT1dOX05PREUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9DSEVDS19XUk9OR19ET0MnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0NIRUNLX1dST05HX0RPQycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0NIRUNLX1dST05HX05BTUUnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0NIRUNLX1dST05HX05BTUUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9DSEVDS19XUk9OR19ORVhUJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9DSEVDS19XUk9OR19ORVhUJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfQ0hFQ0tfV1JPTkdfUEFSRU5UJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9DSEVDS19XUk9OR19QQVJFTlQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9DSEVDS19XUk9OR19QUkVWJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9DSEVDS19XUk9OR19QUkVWJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfQ09NTUVOVF9OT0RFJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0NPTU1FTlRfTk9ERScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0NPTVBMRVRFX0FUVFJTJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfQ09NUExFVEVfQVRUUlMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9DVFhUX0ZJTklTSF9EVERfMCcgaHJlZj0naHRtbC9saWJ4bWwtdmFsaWQuaHRtbCNYTUxfQ1RYVF9GSU5JU0hfRFREXzAnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9DVFhUX0ZJTklTSF9EVERfMScgaHJlZj0naHRtbC9saWJ4bWwtdmFsaWQuaHRtbCNYTUxfQ1RYVF9GSU5JU0hfRFREXzEnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9ERUZBVUxUX1ZFUlNJT04nIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9ERUZBVUxUX1ZFUlNJT04nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9ERVRFQ1RfSURTJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfREVURUNUX0lEUycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0RPQ0JfRE9DVU1FTlRfTk9ERScgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9ET0NCX0RPQ1VNRU5UX05PREUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9ET0NVTUVOVF9GUkFHX05PREUnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCNYTUxfRE9DVU1FTlRfRlJBR19OT0RFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRE9DVU1FTlRfTk9ERScgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9ET0NVTUVOVF9OT0RFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRE9DVU1FTlRfVFlQRV9OT0RFJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0RPQ1VNRU5UX1RZUEVfTk9ERScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0RPQ19EVERWQUxJRCcgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9ET0NfRFREVkFMSUQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9ET0NfSFRNTCcgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9ET0NfSFRNTCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0RPQ19JTlRFUk5BTCcgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9ET0NfSU5URVJOQUwnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9ET0NfTlNWQUxJRCcgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9ET0NfTlNWQUxJRCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0RPQ19PTEQxMCcgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9ET0NfT0xEMTAnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9ET0NfVVNFUkJVSUxUJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0RPQ19VU0VSQlVJTFQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9ET0NfV0VMTEZPUk1FRCcgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9ET0NfV0VMTEZPUk1FRCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0RPQ19YSU5DTFVERScgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9ET0NfWElOQ0xVREUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9EVERfQVRUUklCVVRFX0RFRkFVTFQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0RURF9BVFRSSUJVVEVfREVGQVVMVCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0RURF9BVFRSSUJVVEVfUkVERUZJTkVEJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9EVERfQVRUUklCVVRFX1JFREVGSU5FRCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0RURF9BVFRSSUJVVEVfVkFMVUUnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0RURF9BVFRSSUJVVEVfVkFMVUUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9EVERfQ09OVEVOVF9FUlJPUicgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRFREX0NPTlRFTlRfRVJST1InLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9EVERfQ09OVEVOVF9NT0RFTCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRFREX0NPTlRFTlRfTU9ERUwnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9EVERfQ09OVEVOVF9OT1RfREVURVJNSU5JU1QnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0RURF9DT05URU5UX05PVF9ERVRFUk1JTklTVCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0RURF9ESUZGRVJFTlRfUFJFRklYJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9EVERfRElGRkVSRU5UX1BSRUZJWCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0RURF9EVVBfVE9LRU4nIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0RURF9EVVBfVE9LRU4nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9EVERfRUxFTV9ERUZBVUxUX05BTUVTUEFDRScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRFREX0VMRU1fREVGQVVMVF9OQU1FU1BBQ0UnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9EVERfRUxFTV9OQU1FU1BBQ0UnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0RURF9FTEVNX05BTUVTUEFDRScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0RURF9FTEVNX1JFREVGSU5FRCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRFREX0VMRU1fUkVERUZJTkVEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRFREX0VNUFRZX05PVEFUSU9OJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9EVERfRU1QVFlfTk9UQVRJT04nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9EVERfRU5USVRZX1RZUEUnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0RURF9FTlRJVFlfVFlQRScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0RURF9JRF9GSVhFRCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRFREX0lEX0ZJWEVEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRFREX0lEX1JFREVGSU5FRCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRFREX0lEX1JFREVGSU5FRCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0RURF9JRF9TVUJTRVQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0RURF9JRF9TVUJTRVQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9EVERfSU5WQUxJRF9DSElMRCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRFREX0lOVkFMSURfQ0hJTEQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9EVERfSU5WQUxJRF9ERUZBVUxUJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9EVERfSU5WQUxJRF9ERUZBVUxUJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRFREX0xPQURfRVJST1InIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0RURF9MT0FEX0VSUk9SJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRFREX01JU1NJTkdfQVRUUklCVVRFJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9EVERfTUlTU0lOR19BVFRSSUJVVEUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9EVERfTUlYRURfQ09SUlVQVCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRFREX01JWEVEX0NPUlJVUFQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9EVERfTVVMVElQTEVfSUQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0RURF9NVUxUSVBMRV9JRCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0RURF9OT0RFJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0RURF9OT0RFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRFREX05PVEFUSU9OX1JFREVGSU5FRCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRFREX05PVEFUSU9OX1JFREVGSU5FRCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0RURF9OT1RBVElPTl9WQUxVRScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRFREX05PVEFUSU9OX1ZBTFVFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRFREX05PVF9FTVBUWScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRFREX05PVF9FTVBUWScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0RURF9OT1RfUENEQVRBJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9EVERfTk9UX1BDREFUQScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0RURF9OT1RfU1RBTkRBTE9ORScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRFREX05PVF9TVEFOREFMT05FJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRFREX05PX0RPQycgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRFREX05PX0RPQycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0RURF9OT19EVEQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0RURF9OT19EVEQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9EVERfTk9fRUxFTV9OQU1FJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9EVERfTk9fRUxFTV9OQU1FJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRFREX05PX1BSRUZJWCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRFREX05PX1BSRUZJWCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0RURF9OT19ST09UJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9EVERfTk9fUk9PVCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0RURF9ST09UX05BTUUnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0RURF9ST09UX05BTUUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9EVERfU1RBTkRBTE9ORV9ERUZBVUxURUQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0RURF9TVEFOREFMT05FX0RFRkFVTFRFRCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0RURF9TVEFOREFMT05FX1dISVRFX1NQQUNFJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9EVERfU1RBTkRBTE9ORV9XSElURV9TUEFDRScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0RURF9VTktOT1dOX0FUVFJJQlVURScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRFREX1VOS05PV05fQVRUUklCVVRFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRFREX1VOS05PV05fRUxFTScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRFREX1VOS05PV05fRUxFTScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0RURF9VTktOT1dOX0VOVElUWScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRFREX1VOS05PV05fRU5USVRZJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRFREX1VOS05PV05fSUQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0RURF9VTktOT1dOX0lEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRFREX1VOS05PV05fTk9UQVRJT04nIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0RURF9VTktOT1dOX05PVEFUSU9OJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRFREX1hNTElEX1RZUEUnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0RURF9YTUxJRF9UWVBFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRFREX1hNTElEX1ZBTFVFJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9EVERfWE1MSURfVkFMVUUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9FTEVNRU5UX0NPTlRFTlRfRUxFTUVOVCcgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9FTEVNRU5UX0NPTlRFTlRfRUxFTUVOVCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0VMRU1FTlRfQ09OVEVOVF9NVUxUJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0VMRU1FTlRfQ09OVEVOVF9NVUxUJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRUxFTUVOVF9DT05URU5UX09OQ0UnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCNYTUxfRUxFTUVOVF9DT05URU5UX09OQ0UnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9FTEVNRU5UX0NPTlRFTlRfT1BUJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0VMRU1FTlRfQ09OVEVOVF9PUFQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9FTEVNRU5UX0NPTlRFTlRfT1InIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCNYTUxfRUxFTUVOVF9DT05URU5UX09SJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRUxFTUVOVF9DT05URU5UX1BDREFUQScgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9FTEVNRU5UX0NPTlRFTlRfUENEQVRBJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRUxFTUVOVF9DT05URU5UX1BMVVMnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCNYTUxfRUxFTUVOVF9DT05URU5UX1BMVVMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9FTEVNRU5UX0NPTlRFTlRfU0VRJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0VMRU1FTlRfQ09OVEVOVF9TRVEnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9FTEVNRU5UX0RFQ0wnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCNYTUxfRUxFTUVOVF9ERUNMJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRUxFTUVOVF9OT0RFJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0VMRU1FTlRfTk9ERScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0VMRU1FTlRfVFlQRV9BTlknIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCNYTUxfRUxFTUVOVF9UWVBFX0FOWScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0VMRU1FTlRfVFlQRV9FTEVNRU5UJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0VMRU1FTlRfVFlQRV9FTEVNRU5UJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRUxFTUVOVF9UWVBFX0VNUFRZJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0VMRU1FTlRfVFlQRV9FTVBUWScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0VMRU1FTlRfVFlQRV9NSVhFRCcgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9FTEVNRU5UX1RZUEVfTUlYRUQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9FTEVNRU5UX1RZUEVfVU5ERUZJTkVEJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0VMRU1FTlRfVFlQRV9VTkRFRklORUQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9FTlRJVFlfREVDTCcgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9FTlRJVFlfREVDTCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0VOVElUWV9OT0RFJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0VOVElUWV9OT0RFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRU5USVRZX1JFRl9OT0RFJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0VOVElUWV9SRUZfTk9ERScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0VSUl9BVFRMSVNUX05PVF9GSU5JU0hFRCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0FUVExJU1RfTk9UX0ZJTklTSEVEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRVJSX0FUVExJU1RfTk9UX1NUQVJURUQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9BVFRMSVNUX05PVF9TVEFSVEVEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRVJSX0FUVFJJQlVURV9OT1RfRklOSVNIRUQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9BVFRSSUJVVEVfTk9UX0ZJTklTSEVEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRVJSX0FUVFJJQlVURV9OT1RfU1RBUlRFRCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0FUVFJJQlVURV9OT1RfU1RBUlRFRCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0VSUl9BVFRSSUJVVEVfUkVERUZJTkVEJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfQVRUUklCVVRFX1JFREVGSU5FRCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0VSUl9BVFRSSUJVVEVfV0lUSE9VVF9WQUxVRScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0FUVFJJQlVURV9XSVRIT1VUX1ZBTFVFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRVJSX0NEQVRBX05PVF9GSU5JU0hFRCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0NEQVRBX05PVF9GSU5JU0hFRCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0VSUl9DSEFSUkVGX0FUX0VPRicgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0NIQVJSRUZfQVRfRU9GJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRVJSX0NIQVJSRUZfSU5fRFREJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfQ0hBUlJFRl9JTl9EVEQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9FUlJfQ0hBUlJFRl9JTl9FUElMT0cnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9DSEFSUkVGX0lOX0VQSUxPRycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0VSUl9DSEFSUkVGX0lOX1BST0xPRycgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0NIQVJSRUZfSU5fUFJPTE9HJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRVJSX0NPTU1FTlRfTk9UX0ZJTklTSEVEJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfQ09NTUVOVF9OT1RfRklOSVNIRUQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9FUlJfQ09ORFNFQ19JTlZBTElEJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfQ09ORFNFQ19JTlZBTElEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRVJSX0NPTkRTRUNfSU5WQUxJRF9LRVlXT1JEJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfQ09ORFNFQ19JTlZBTElEX0tFWVdPUkQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9FUlJfQ09ORFNFQ19OT1RfRklOSVNIRUQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9DT05EU0VDX05PVF9GSU5JU0hFRCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0VSUl9DT05EU0VDX05PVF9TVEFSVEVEJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfQ09ORFNFQ19OT1RfU1RBUlRFRCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0VSUl9ET0NUWVBFX05PVF9GSU5JU0hFRCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0RPQ1RZUEVfTk9UX0ZJTklTSEVEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRVJSX0RPQ1VNRU5UX0VNUFRZJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfRE9DVU1FTlRfRU1QVFknLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9FUlJfRE9DVU1FTlRfRU5EJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfRE9DVU1FTlRfRU5EJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRVJSX0RPQ1VNRU5UX1NUQVJUJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfRE9DVU1FTlRfU1RBUlQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9FUlJfRUxFTUNPTlRFTlRfTk9UX0ZJTklTSEVEJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfRUxFTUNPTlRFTlRfTk9UX0ZJTklTSEVEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRVJSX0VMRU1DT05URU5UX05PVF9TVEFSVEVEJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfRUxFTUNPTlRFTlRfTk9UX1NUQVJURUQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9FUlJfRU5DT0RJTkdfTkFNRScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0VOQ09ESU5HX05BTUUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9FUlJfRU5USVRZUkVGX0FUX0VPRicgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0VOVElUWVJFRl9BVF9FT0YnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9FUlJfRU5USVRZUkVGX0lOX0RURCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0VOVElUWVJFRl9JTl9EVEQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9FUlJfRU5USVRZUkVGX0lOX0VQSUxPRycgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0VOVElUWVJFRl9JTl9FUElMT0cnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9FUlJfRU5USVRZUkVGX0lOX1BST0xPRycgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0VOVElUWVJFRl9JTl9QUk9MT0cnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9FUlJfRU5USVRZUkVGX05PX05BTUUnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9FTlRJVFlSRUZfTk9fTkFNRScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0VSUl9FTlRJVFlSRUZfU0VNSUNPTF9NSVNTSU5HJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfRU5USVRZUkVGX1NFTUlDT0xfTUlTU0lORycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0VSUl9FTlRJVFlfQk9VTkRBUlknIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9FTlRJVFlfQk9VTkRBUlknLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9FUlJfRU5USVRZX0NIQVJfRVJST1InIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9FTlRJVFlfQ0hBUl9FUlJPUicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0VSUl9FTlRJVFlfSVNfRVhURVJOQUwnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9FTlRJVFlfSVNfRVhURVJOQUwnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9FUlJfRU5USVRZX0lTX1BBUkFNRVRFUicgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0VOVElUWV9JU19QQVJBTUVURVInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9FUlJfRU5USVRZX0xPT1AnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9FTlRJVFlfTE9PUCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0VSUl9FTlRJVFlfTk9UX0ZJTklTSEVEJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfRU5USVRZX05PVF9GSU5JU0hFRCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0VSUl9FTlRJVFlfTk9UX1NUQVJURUQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9FTlRJVFlfTk9UX1NUQVJURUQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9FUlJfRU5USVRZX1BFX0lOVEVSTkFMJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfRU5USVRZX1BFX0lOVEVSTkFMJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRVJSX0VOVElUWV9QUk9DRVNTSU5HJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfRU5USVRZX1BST0NFU1NJTkcnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9FUlJfRVFVQUxfUkVRVUlSRUQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9FUVVBTF9SRVFVSVJFRCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0VSUl9FUlJPUicgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0VSUk9SJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRVJSX0VYVFJBX0NPTlRFTlQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9FWFRSQV9DT05URU5UJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRVJSX0VYVF9FTlRJVFlfU1RBTkRBTE9ORScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0VYVF9FTlRJVFlfU1RBTkRBTE9ORScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0VSUl9FWFRfU1VCU0VUX05PVF9GSU5JU0hFRCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0VYVF9TVUJTRVRfTk9UX0ZJTklTSEVEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRVJSX0ZBVEFMJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfRkFUQUwnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9FUlJfR1RfUkVRVUlSRUQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9HVF9SRVFVSVJFRCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0VSUl9IWVBIRU5fSU5fQ09NTUVOVCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0hZUEhFTl9JTl9DT01NRU5UJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRVJSX0lOVEVSTkFMX0VSUk9SJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfSU5URVJOQUxfRVJST1InLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9FUlJfSU5WQUxJRF9DSEFSJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfSU5WQUxJRF9DSEFSJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRVJSX0lOVkFMSURfQ0hBUlJFRicgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0lOVkFMSURfQ0hBUlJFRicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0VSUl9JTlZBTElEX0RFQ19DSEFSUkVGJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfSU5WQUxJRF9ERUNfQ0hBUlJFRicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0VSUl9JTlZBTElEX0VOQ09ESU5HJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfSU5WQUxJRF9FTkNPRElORycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0VSUl9JTlZBTElEX0hFWF9DSEFSUkVGJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfSU5WQUxJRF9IRVhfQ0hBUlJFRicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0VSUl9JTlZBTElEX1VSSScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0lOVkFMSURfVVJJJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRVJSX0xJVEVSQUxfTk9UX0ZJTklTSEVEJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfTElURVJBTF9OT1RfRklOSVNIRUQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9FUlJfTElURVJBTF9OT1RfU1RBUlRFRCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0xJVEVSQUxfTk9UX1NUQVJURUQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9FUlJfTFRTTEFTSF9SRVFVSVJFRCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX0xUU0xBU0hfUkVRVUlSRUQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9FUlJfTFRfSU5fQVRUUklCVVRFJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfTFRfSU5fQVRUUklCVVRFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRVJSX0xUX1JFUVVJUkVEJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfTFRfUkVRVUlSRUQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9FUlJfTUlTUExBQ0VEX0NEQVRBX0VORCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX01JU1BMQUNFRF9DREFUQV9FTkQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9FUlJfTUlTU0lOR19FTkNPRElORycgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX01JU1NJTkdfRU5DT0RJTkcnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9FUlJfTUlYRURfTk9UX0ZJTklTSEVEJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfTUlYRURfTk9UX0ZJTklTSEVEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRVJSX01JWEVEX05PVF9TVEFSVEVEJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfTUlYRURfTk9UX1NUQVJURUQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9FUlJfTkFNRV9SRVFVSVJFRCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX05BTUVfUkVRVUlSRUQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9FUlJfTkFNRV9UT09fTE9ORycgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX05BTUVfVE9PX0xPTkcnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9FUlJfTk1UT0tFTl9SRVFVSVJFRCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX05NVE9LRU5fUkVRVUlSRUQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9FUlJfTk9ORScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX05PTkUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9FUlJfTk9UQVRJT05fTk9UX0ZJTklTSEVEJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfTk9UQVRJT05fTk9UX0ZJTklTSEVEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRVJSX05PVEFUSU9OX05PVF9TVEFSVEVEJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfTk9UQVRJT05fTk9UX1NUQVJURUQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9FUlJfTk9UQVRJT05fUFJPQ0VTU0lORycgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX05PVEFUSU9OX1BST0NFU1NJTkcnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9FUlJfTk9UX1NUQU5EQUxPTkUnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9OT1RfU1RBTkRBTE9ORScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0VSUl9OT1RfV0VMTF9CQUxBTkNFRCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX05PVF9XRUxMX0JBTEFOQ0VEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRVJSX05PX0RURCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX05PX0RURCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0VSUl9OT19NRU1PUlknIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9OT19NRU1PUlknLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9FUlJfTlNfREVDTF9FUlJPUicgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX05TX0RFQ0xfRVJST1InLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9FUlJfT0snIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9PSycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0VSUl9QQ0RBVEFfUkVRVUlSRUQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9QQ0RBVEFfUkVRVUlSRUQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9FUlJfUEVSRUZfQVRfRU9GJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfUEVSRUZfQVRfRU9GJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRVJSX1BFUkVGX0lOX0VQSUxPRycgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX1BFUkVGX0lOX0VQSUxPRycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0VSUl9QRVJFRl9JTl9JTlRfU1VCU0VUJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfUEVSRUZfSU5fSU5UX1NVQlNFVCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0VSUl9QRVJFRl9JTl9QUk9MT0cnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9QRVJFRl9JTl9QUk9MT0cnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9FUlJfUEVSRUZfTk9fTkFNRScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX1BFUkVGX05PX05BTUUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9FUlJfUEVSRUZfU0VNSUNPTF9NSVNTSU5HJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfUEVSRUZfU0VNSUNPTF9NSVNTSU5HJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRVJSX1BJX05PVF9GSU5JU0hFRCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX1BJX05PVF9GSU5JU0hFRCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0VSUl9QSV9OT1RfU1RBUlRFRCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX1BJX05PVF9TVEFSVEVEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRVJSX1BVQklEX1JFUVVJUkVEJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfUFVCSURfUkVRVUlSRUQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9FUlJfUkVTRVJWRURfWE1MX05BTUUnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9SRVNFUlZFRF9YTUxfTkFNRScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0VSUl9TRVBBUkFUT1JfUkVRVUlSRUQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9TRVBBUkFUT1JfUkVRVUlSRUQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9FUlJfU1BBQ0VfUkVRVUlSRUQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9TUEFDRV9SRVFVSVJFRCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0VSUl9TVEFOREFMT05FX1ZBTFVFJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfU1RBTkRBTE9ORV9WQUxVRScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0VSUl9TVFJJTkdfTk9UX0NMT1NFRCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX1NUUklOR19OT1RfQ0xPU0VEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRVJSX1NUUklOR19OT1RfU1RBUlRFRCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX1NUUklOR19OT1RfU1RBUlRFRCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0VSUl9UQUdfTkFNRV9NSVNNQVRDSCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX1RBR19OQU1FX01JU01BVENIJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRVJSX1RBR19OT1RfRklOSVNIRUQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9UQUdfTk9UX0ZJTklTSEVEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRVJSX1VOREVDTEFSRURfRU5USVRZJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfVU5ERUNMQVJFRF9FTlRJVFknLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9FUlJfVU5LTk9XTl9FTkNPRElORycgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX1VOS05PV05fRU5DT0RJTkcnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9FUlJfVU5LTk9XTl9WRVJTSU9OJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfVU5LTk9XTl9WRVJTSU9OJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRVJSX1VOUEFSU0VEX0VOVElUWScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX1VOUEFSU0VEX0VOVElUWScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0VSUl9VTlNVUFBPUlRFRF9FTkNPRElORycgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX1VOU1VQUE9SVEVEX0VOQ09ESU5HJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRVJSX1VSSV9GUkFHTUVOVCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX1VSSV9GUkFHTUVOVCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0VSUl9VUklfUkVRVUlSRUQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9VUklfUkVRVUlSRUQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9FUlJfVVNFUl9TVE9QJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfVVNFUl9TVE9QJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRVJSX1ZBTFVFX1JFUVVJUkVEJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfVkFMVUVfUkVRVUlSRUQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9FUlJfVkVSU0lPTl9NSVNNQVRDSCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX1ZFUlNJT05fTUlTTUFUQ0gnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9FUlJfVkVSU0lPTl9NSVNTSU5HJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfVkVSU0lPTl9NSVNTSU5HJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRVJSX1dBUk5JTkcnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0VSUl9XQVJOSU5HJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRVJSX1hNTERFQ0xfTk9UX0ZJTklTSEVEJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9FUlJfWE1MREVDTF9OT1RfRklOSVNIRUQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9FUlJfWE1MREVDTF9OT1RfU1RBUlRFRCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRVJSX1hNTERFQ0xfTk9UX1NUQVJURUQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9FWFBfQVRPTScgaHJlZj0naHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjWE1MX0VYUF9BVE9NJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRVhQX0NPVU5UJyBocmVmPSdodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCNYTUxfRVhQX0NPVU5UJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRVhQX0VNUFRZJyBocmVmPSdodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCNYTUxfRVhQX0VNUFRZJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRVhQX0ZPUkJJRCcgaHJlZj0naHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjWE1MX0VYUF9GT1JCSUQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9FWFBfT1InIGhyZWY9J2h0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI1hNTF9FWFBfT1InLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9FWFBfU0VRJyBocmVmPSdodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCNYTUxfRVhQX1NFUScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0VYVEVSTkFMX0dFTkVSQUxfUEFSU0VEX0VOVElUWScgaHJlZj0naHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCNYTUxfRVhURVJOQUxfR0VORVJBTF9QQVJTRURfRU5USVRZJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRVhURVJOQUxfR0VORVJBTF9VTlBBUlNFRF9FTlRJVFknIGhyZWY9J2h0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjWE1MX0VYVEVSTkFMX0dFTkVSQUxfVU5QQVJTRURfRU5USVRZJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRVhURVJOQUxfUEFSQU1FVEVSX0VOVElUWScgaHJlZj0naHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCNYTUxfRVhURVJOQUxfUEFSQU1FVEVSX0VOVElUWScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0ZST01fQlVGRkVSJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9GUk9NX0JVRkZFUicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0ZST01fQzE0TicgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRlJPTV9DMTROJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRlJPTV9DQVRBTE9HJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9GUk9NX0NBVEFMT0cnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9GUk9NX0NIRUNLJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9GUk9NX0NIRUNLJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRlJPTV9EQVRBVFlQRScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRlJPTV9EQVRBVFlQRScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0ZST01fRFREJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9GUk9NX0RURCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0ZST01fRlRQJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9GUk9NX0ZUUCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0ZST01fSFRNTCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRlJPTV9IVE1MJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRlJPTV9IVFRQJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9GUk9NX0hUVFAnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9GUk9NX0kxOE4nIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0ZST01fSTE4TicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0ZST01fSU8nIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0ZST01fSU8nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9GUk9NX01FTU9SWScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRlJPTV9NRU1PUlknLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9GUk9NX01PRFVMRScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRlJPTV9NT0RVTEUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9GUk9NX05BTUVTUEFDRScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRlJPTV9OQU1FU1BBQ0UnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9GUk9NX05PTkUnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0ZST01fTk9ORScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0ZST01fT1VUUFVUJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9GUk9NX09VVFBVVCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0ZST01fUEFSU0VSJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9GUk9NX1BBUlNFUicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0ZST01fUkVHRVhQJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9GUk9NX1JFR0VYUCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0ZST01fUkVMQVhOR1AnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0ZST01fUkVMQVhOR1AnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9GUk9NX1JFTEFYTkdWJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9GUk9NX1JFTEFYTkdWJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRlJPTV9TQ0hFTUFTUCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRlJPTV9TQ0hFTUFTUCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0ZST01fU0NIRU1BU1YnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0ZST01fU0NIRU1BU1YnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9GUk9NX1NDSEVNQVRST05WJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9GUk9NX1NDSEVNQVRST05WJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRlJPTV9UUkVFJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9GUk9NX1RSRUUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9GUk9NX1VSSScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRlJPTV9VUkknLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9GUk9NX1ZBTElEJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9GUk9NX1ZBTElEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRlJPTV9XUklURVInIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0ZST01fV1JJVEVSJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRlJPTV9YSU5DTFVERScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRlJPTV9YSU5DTFVERScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0ZST01fWFBBVEgnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0ZST01fWFBBVEgnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9GUk9NX1hQT0lOVEVSJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9GUk9NX1hQT0lOVEVSJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRlJPTV9YU0xUJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9GUk9NX1hTTFQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9GVFBfQUNDTlQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0ZUUF9BQ0NOVCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0ZUUF9FUFNWX0FOU1dFUicgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRlRQX0VQU1ZfQU5TV0VSJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfRlRQX1BBU1ZfQU5TV0VSJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9GVFBfUEFTVl9BTlNXRVInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9GVFBfVVJMX1NZTlRBWCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfRlRQX1VSTF9TWU5UQVgnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9HRVRfQ09OVEVOVCcgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9HRVRfQ09OVEVOVCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0dFVF9MSU5FJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0dFVF9MSU5FJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfSFRNTF9ET0NVTUVOVF9OT0RFJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX0hUTUxfRE9DVU1FTlRfTk9ERScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0hUTUxfU1RSVUNVUkVfRVJST1InIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0hUTUxfU1RSVUNVUkVfRVJST1InLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9IVE1MX1VOS05PV05fVEFHJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9IVE1MX1VOS05PV05fVEFHJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfSFRUUF9VTktOT1dOX0hPU1QnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0hUVFBfVU5LTk9XTl9IT1NUJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfSFRUUF9VUkxfU1lOVEFYJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9IVFRQX1VSTF9TWU5UQVgnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9IVFRQX1VTRV9JUCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSFRUUF9VU0VfSVAnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9JMThOX0NPTlZfRkFJTEVEJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9JMThOX0NPTlZfRkFJTEVEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfSTE4Tl9FWENFU1NfSEFORExFUicgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSTE4Tl9FWENFU1NfSEFORExFUicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0kxOE5fTk9fSEFORExFUicgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSTE4Tl9OT19IQU5ETEVSJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfSTE4Tl9OT19OQU1FJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9JMThOX05PX05BTUUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9JMThOX05PX09VVFBVVCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSTE4Tl9OT19PVVRQVVQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9JTlRFUk5BTF9HRU5FUkFMX0VOVElUWScgaHJlZj0naHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCNYTUxfSU5URVJOQUxfR0VORVJBTF9FTlRJVFknLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9JTlRFUk5BTF9QQVJBTUVURVJfRU5USVRZJyBocmVmPSdodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI1hNTF9JTlRFUk5BTF9QQVJBTUVURVJfRU5USVRZJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfSU5URVJOQUxfUFJFREVGSU5FRF9FTlRJVFknIGhyZWY9J2h0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjWE1MX0lOVEVSTkFMX1BSRURFRklORURfRU5USVRZJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfSU9fQlVGRkVSX0ZVTEwnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0lPX0JVRkZFUl9GVUxMJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfSU9fRUFDQ0VTJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9JT19FQUNDRVMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9JT19FQUREUklOVVNFJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9JT19FQUREUklOVVNFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfSU9fRUFGTk9TVVBQT1JUJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9JT19FQUZOT1NVUFBPUlQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9JT19FQUdBSU4nIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VBR0FJTicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0lPX0VBTFJFQURZJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9JT19FQUxSRUFEWScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0lPX0VCQURGJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9JT19FQkFERicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0lPX0VCQURNU0cnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VCQURNU0cnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9JT19FQlVTWScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSU9fRUJVU1knLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9JT19FQ0FOQ0VMRUQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VDQU5DRUxFRCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0lPX0VDSElMRCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSU9fRUNISUxEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfSU9fRUNPTk5SRUZVU0VEJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9JT19FQ09OTlJFRlVTRUQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9JT19FREVBRExLJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9JT19FREVBRExLJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfSU9fRURPTScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSU9fRURPTScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0lPX0VFWElTVCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSU9fRUVYSVNUJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfSU9fRUZBVUxUJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9JT19FRkFVTFQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9JT19FRkJJRycgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSU9fRUZCSUcnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9JT19FSU5QUk9HUkVTUycgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSU9fRUlOUFJPR1JFU1MnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9JT19FSU5UUicgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSU9fRUlOVFInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9JT19FSU5WQUwnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VJTlZBTCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0lPX0VJTycgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSU9fRUlPJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfSU9fRUlTQ09OTicgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSU9fRUlTQ09OTicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0lPX0VJU0RJUicgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSU9fRUlTRElSJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfSU9fRU1GSUxFJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9JT19FTUZJTEUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9JT19FTUxJTksnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VNTElOSycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0lPX0VNU0dTSVpFJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9JT19FTVNHU0laRScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0lPX0VOQU1FVE9PTE9ORycgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSU9fRU5BTUVUT09MT05HJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfSU9fRU5DT0RFUicgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSU9fRU5DT0RFUicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0lPX0VORVRVTlJFQUNIJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9JT19FTkVUVU5SRUFDSCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0lPX0VORklMRScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSU9fRU5GSUxFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfSU9fRU5PREVWJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9JT19FTk9ERVYnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9JT19FTk9FTlQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VOT0VOVCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0lPX0VOT0VYRUMnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VOT0VYRUMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9JT19FTk9MQ0snIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VOT0xDSycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0lPX0VOT01FTScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSU9fRU5PTUVNJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfSU9fRU5PU1BDJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9JT19FTk9TUEMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9JT19FTk9TWVMnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VOT1NZUycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0lPX0VOT1RESVInIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VOT1RESVInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9JT19FTk9URU1QVFknIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VOT1RFTVBUWScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0lPX0VOT1RTT0NLJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9JT19FTk9UU09DSycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0lPX0VOT1RTVVAnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VOT1RTVVAnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9JT19FTk9UVFknIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VOT1RUWScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0lPX0VOWElPJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9JT19FTlhJTycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0lPX0VQRVJNJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9JT19FUEVSTScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0lPX0VQSVBFJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9JT19FUElQRScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0lPX0VSQU5HRScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSU9fRVJBTkdFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfSU9fRVJPRlMnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VST0ZTJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfSU9fRVNQSVBFJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9JT19FU1BJUEUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9JT19FU1JDSCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSU9fRVNSQ0gnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9JT19FVElNRURPVVQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0lPX0VUSU1FRE9VVCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0lPX0VYREVWJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9JT19FWERFVicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0lPX0ZMVVNIJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9JT19GTFVTSCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0lPX0xPQURfRVJST1InIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0lPX0xPQURfRVJST1InLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9JT19ORVRXT1JLX0FUVEVNUFQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0lPX05FVFdPUktfQVRURU1QVCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0lPX05PX0lOUFVUJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9JT19OT19JTlBVVCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX0lPX1VOS05PV04nIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX0lPX1VOS05PV04nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9JT19XUklURScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfSU9fV1JJVEUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9MT0NBTF9OQU1FU1BBQ0UnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCNYTUxfTE9DQUxfTkFNRVNQQUNFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfTUFYX0RJQ1RJT05BUllfTElNSVQnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI1hNTF9NQVhfRElDVElPTkFSWV9MSU1JVCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX01BWF9MT09LVVBfTElNSVQnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI1hNTF9NQVhfTE9PS1VQX0xJTUlUJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfTUFYX05BTUVMRU4nIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI1hNTF9NQVhfTkFNRUxFTicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX01BWF9OQU1FX0xFTkdUSCcgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjWE1MX01BWF9OQU1FX0xFTkdUSCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX01BWF9URVhUX0xFTkdUSCcgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjWE1MX01BWF9URVhUX0xFTkdUSCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX01PRFVMRV9DTE9TRScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfTU9EVUxFX0NMT1NFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfTU9EVUxFX0xBWlknIGhyZWY9J2h0bWwvbGlieG1sLXhtbG1vZHVsZS5odG1sI1hNTF9NT0RVTEVfTEFaWScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX01PRFVMRV9MT0NBTCcgaHJlZj0naHRtbC9saWJ4bWwteG1sbW9kdWxlLmh0bWwjWE1MX01PRFVMRV9MT0NBTCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX01PRFVMRV9PUEVOJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9NT0RVTEVfT1BFTicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX05BTUVTUEFDRV9ERUNMJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX05BTUVTUEFDRV9ERUNMJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfTk9UQVRJT05fTk9ERScgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9OT1RBVElPTl9OT0RFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfTlNfRVJSX0FUVFJJQlVURV9SRURFRklORUQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX05TX0VSUl9BVFRSSUJVVEVfUkVERUZJTkVEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfTlNfRVJSX0NPTE9OJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9OU19FUlJfQ09MT04nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9OU19FUlJfRU1QVFknIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX05TX0VSUl9FTVBUWScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX05TX0VSUl9RTkFNRScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfTlNfRVJSX1FOQU1FJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfTlNfRVJSX1VOREVGSU5FRF9OQU1FU1BBQ0UnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX05TX0VSUl9VTkRFRklORURfTkFNRVNQQUNFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfTlNfRVJSX1hNTF9OQU1FU1BBQ0UnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX05TX0VSUl9YTUxfTkFNRVNQQUNFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUEFSU0VSX0FUVFJJQlVURV9WQUxVRScgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1BBUlNFUl9BVFRSSUJVVEVfVkFMVUUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9QQVJTRVJfQ0RBVEFfU0VDVElPTicgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1BBUlNFUl9DREFUQV9TRUNUSU9OJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUEFSU0VSX0NPTU1FTlQnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9QQVJTRVJfQ09NTUVOVCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1BBUlNFUl9DT05URU5UJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfUEFSU0VSX0NPTlRFTlQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9QQVJTRVJfREVGQVVMVEFUVFJTJyBocmVmPSdodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCNYTUxfUEFSU0VSX0RFRkFVTFRBVFRSUycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1BBUlNFUl9EVEQnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9QQVJTRVJfRFREJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUEFSU0VSX0VORF9UQUcnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9QQVJTRVJfRU5EX1RBRycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1BBUlNFUl9FTlRJVFlfREVDTCcgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1BBUlNFUl9FTlRJVFlfREVDTCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1BBUlNFUl9FTlRJVFlfVkFMVUUnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9QQVJTRVJfRU5USVRZX1ZBTFVFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUEFSU0VSX0VPRicgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1BBUlNFUl9FT0YnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9QQVJTRVJfRVBJTE9HJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfUEFSU0VSX0VQSUxPRycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1BBUlNFUl9JR05PUkUnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9QQVJTRVJfSUdOT1JFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUEFSU0VSX0xPQUREVEQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI1hNTF9QQVJTRVJfTE9BRERURCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1BBUlNFUl9NSVNDJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfUEFSU0VSX01JU0MnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9QQVJTRVJfUEknIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9QQVJTRVJfUEknLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9QQVJTRVJfUFJPTE9HJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfUEFSU0VSX1BST0xPRycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1BBUlNFUl9QVUJMSUNfTElURVJBTCcgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1BBUlNFUl9QVUJMSUNfTElURVJBTCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1BBUlNFUl9TRVZFUklUWV9FUlJPUicgaHJlZj0naHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjWE1MX1BBUlNFUl9TRVZFUklUWV9FUlJPUicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1BBUlNFUl9TRVZFUklUWV9WQUxJRElUWV9FUlJPUicgaHJlZj0naHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjWE1MX1BBUlNFUl9TRVZFUklUWV9WQUxJRElUWV9FUlJPUicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1BBUlNFUl9TRVZFUklUWV9WQUxJRElUWV9XQVJOSU5HJyBocmVmPSdodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCNYTUxfUEFSU0VSX1NFVkVSSVRZX1ZBTElESVRZX1dBUk5JTkcnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9QQVJTRVJfU0VWRVJJVFlfV0FSTklORycgaHJlZj0naHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjWE1MX1BBUlNFUl9TRVZFUklUWV9XQVJOSU5HJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUEFSU0VSX1NUQVJUJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfUEFSU0VSX1NUQVJUJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUEFSU0VSX1NUQVJUX1RBRycgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1BBUlNFUl9TVEFSVF9UQUcnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9QQVJTRVJfU1VCU1RfRU5USVRJRVMnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI1hNTF9QQVJTRVJfU1VCU1RfRU5USVRJRVMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9QQVJTRVJfU1lTVEVNX0xJVEVSQUwnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9QQVJTRVJfU1lTVEVNX0xJVEVSQUwnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9QQVJTRVJfVkFMSURBVEUnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI1hNTF9QQVJTRVJfVkFMSURBVEUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9QQVJTRV9CSUdfTElORVMnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9QQVJTRV9CSUdfTElORVMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9QQVJTRV9DT01QQUNUJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfUEFSU0VfQ09NUEFDVCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1BBUlNFX0RPTScgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1BBUlNFX0RPTScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1BBUlNFX0RUREFUVFInIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9QQVJTRV9EVERBVFRSJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUEFSU0VfRFRETE9BRCcgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1BBUlNFX0RURExPQUQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9QQVJTRV9EVERWQUxJRCcgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1BBUlNFX0RURFZBTElEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUEFSU0VfSFVHRScgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1BBUlNFX0hVR0UnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9QQVJTRV9JR05PUkVfRU5DJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfUEFSU0VfSUdOT1JFX0VOQycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1BBUlNFX05PQkFTRUZJWCcgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1BBUlNFX05PQkFTRUZJWCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1BBUlNFX05PQkxBTktTJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfUEFSU0VfTk9CTEFOS1MnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9QQVJTRV9OT0NEQVRBJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfUEFSU0VfTk9DREFUQScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1BBUlNFX05PRElDVCcgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1BBUlNFX05PRElDVCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1BBUlNFX05PRU5UJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfUEFSU0VfTk9FTlQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9QQVJTRV9OT0VSUk9SJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfUEFSU0VfTk9FUlJPUicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1BBUlNFX05PTkVUJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfUEFSU0VfTk9ORVQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9QQVJTRV9OT1dBUk5JTkcnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9QQVJTRV9OT1dBUk5JTkcnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9QQVJTRV9OT1hJTkNOT0RFJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfUEFSU0VfTk9YSU5DTk9ERScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1BBUlNFX05TQ0xFQU4nIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9QQVJTRV9OU0NMRUFOJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUEFSU0VfT0xEMTAnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9QQVJTRV9PTEQxMCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1BBUlNFX09MRFNBWCcgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1BBUlNFX09MRFNBWCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1BBUlNFX1BFREFOVElDJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfUEFSU0VfUEVEQU5USUMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9QQVJTRV9QVVNIX0RPTScgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1BBUlNFX1BVU0hfRE9NJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUEFSU0VfUFVTSF9TQVgnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9QQVJTRV9QVVNIX1NBWCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1BBUlNFX1JFQURFUicgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1BBUlNFX1JFQURFUicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1BBUlNFX1JFQ09WRVInIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9QQVJTRV9SRUNPVkVSJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUEFSU0VfU0FYJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfUEFSU0VfU0FYJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUEFSU0VfU0FYMScgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1BBUlNFX1NBWDEnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9QQVJTRV9VTktOT1dOJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfUEFSU0VfVU5LTk9XTicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1BBUlNFX1hJTkNMVURFJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfUEFSU0VfWElOQ0xVREUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9QQVRURVJOX0RFRkFVTFQnIGhyZWY9J2h0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCNYTUxfUEFUVEVSTl9ERUZBVUxUJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUEFUVEVSTl9YUEFUSCcgaHJlZj0naHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI1hNTF9QQVRURVJOX1hQQVRIJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUEFUVEVSTl9YU0ZJRUxEJyBocmVmPSdodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjWE1MX1BBVFRFUk5fWFNGSUVMRCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1BBVFRFUk5fWFNTRUwnIGhyZWY9J2h0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCNYTUxfUEFUVEVSTl9YU1NFTCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1BJX05PREUnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCNYTUxfUElfTk9ERScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1JFQURFUl9UWVBFX0FUVFJJQlVURScgaHJlZj0naHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjWE1MX1JFQURFUl9UWVBFX0FUVFJJQlVURScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1JFQURFUl9UWVBFX0NEQVRBJyBocmVmPSdodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCNYTUxfUkVBREVSX1RZUEVfQ0RBVEEnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9SRUFERVJfVFlQRV9DT01NRU5UJyBocmVmPSdodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCNYTUxfUkVBREVSX1RZUEVfQ09NTUVOVCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1JFQURFUl9UWVBFX0RPQ1VNRU5UJyBocmVmPSdodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCNYTUxfUkVBREVSX1RZUEVfRE9DVU1FTlQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9SRUFERVJfVFlQRV9ET0NVTUVOVF9GUkFHTUVOVCcgaHJlZj0naHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjWE1MX1JFQURFUl9UWVBFX0RPQ1VNRU5UX0ZSQUdNRU5UJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUkVBREVSX1RZUEVfRE9DVU1FTlRfVFlQRScgaHJlZj0naHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjWE1MX1JFQURFUl9UWVBFX0RPQ1VNRU5UX1RZUEUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9SRUFERVJfVFlQRV9FTEVNRU5UJyBocmVmPSdodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCNYTUxfUkVBREVSX1RZUEVfRUxFTUVOVCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1JFQURFUl9UWVBFX0VORF9FTEVNRU5UJyBocmVmPSdodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCNYTUxfUkVBREVSX1RZUEVfRU5EX0VMRU1FTlQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9SRUFERVJfVFlQRV9FTkRfRU5USVRZJyBocmVmPSdodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCNYTUxfUkVBREVSX1RZUEVfRU5EX0VOVElUWScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1JFQURFUl9UWVBFX0VOVElUWScgaHJlZj0naHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjWE1MX1JFQURFUl9UWVBFX0VOVElUWScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1JFQURFUl9UWVBFX0VOVElUWV9SRUZFUkVOQ0UnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI1hNTF9SRUFERVJfVFlQRV9FTlRJVFlfUkVGRVJFTkNFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUkVBREVSX1RZUEVfTk9ORScgaHJlZj0naHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjWE1MX1JFQURFUl9UWVBFX05PTkUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9SRUFERVJfVFlQRV9OT1RBVElPTicgaHJlZj0naHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjWE1MX1JFQURFUl9UWVBFX05PVEFUSU9OJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUkVBREVSX1RZUEVfUFJPQ0VTU0lOR19JTlNUUlVDVElPTicgaHJlZj0naHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjWE1MX1JFQURFUl9UWVBFX1BST0NFU1NJTkdfSU5TVFJVQ1RJT04nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9SRUFERVJfVFlQRV9TSUdOSUZJQ0FOVF9XSElURVNQQUNFJyBocmVmPSdodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCNYTUxfUkVBREVSX1RZUEVfU0lHTklGSUNBTlRfV0hJVEVTUEFDRScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1JFQURFUl9UWVBFX1RFWFQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI1hNTF9SRUFERVJfVFlQRV9URVhUJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUkVBREVSX1RZUEVfV0hJVEVTUEFDRScgaHJlZj0naHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjWE1MX1JFQURFUl9UWVBFX1dISVRFU1BBQ0UnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9SRUFERVJfVFlQRV9YTUxfREVDTEFSQVRJT04nIGhyZWY9J2h0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI1hNTF9SRUFERVJfVFlQRV9YTUxfREVDTEFSQVRJT04nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9SRUdFWFBfQ09NUElMRV9FUlJPUicgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUkVHRVhQX0NPTVBJTEVfRVJST1InLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9SRUxBWE5HUF9DUk5HJyBocmVmPSdodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjWE1MX1JFTEFYTkdQX0NSTkcnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9SRUxBWE5HUF9GUkVFX0RPQycgaHJlZj0naHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI1hNTF9SRUxBWE5HUF9GUkVFX0RPQycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1JFTEFYTkdQX05PTkUnIGhyZWY9J2h0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCNYTUxfUkVMQVhOR1BfTk9ORScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1JFTEFYTkdfRVJSX0FUVFJFWFRSQU5TJyBocmVmPSdodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjWE1MX1JFTEFYTkdfRVJSX0FUVFJFWFRSQU5TJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUkVMQVhOR19FUlJfQVRUUk5BTUUnIGhyZWY9J2h0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCNYTUxfUkVMQVhOR19FUlJfQVRUUk5BTUUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9SRUxBWE5HX0VSUl9BVFRSTk9OUycgaHJlZj0naHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI1hNTF9SRUxBWE5HX0VSUl9BVFRSTk9OUycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1JFTEFYTkdfRVJSX0FUVFJWQUxJRCcgaHJlZj0naHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI1hNTF9SRUxBWE5HX0VSUl9BVFRSVkFMSUQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9SRUxBWE5HX0VSUl9BVFRSV1JPTkdOUycgaHJlZj0naHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI1hNTF9SRUxBWE5HX0VSUl9BVFRSV1JPTkdOUycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1JFTEFYTkdfRVJSX0NPTlRFTlRWQUxJRCcgaHJlZj0naHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI1hNTF9SRUxBWE5HX0VSUl9DT05URU5UVkFMSUQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9SRUxBWE5HX0VSUl9EQVRBRUxFTScgaHJlZj0naHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI1hNTF9SRUxBWE5HX0VSUl9EQVRBRUxFTScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1JFTEFYTkdfRVJSX0RBVEFUWVBFJyBocmVmPSdodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjWE1MX1JFTEFYTkdfRVJSX0RBVEFUWVBFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUkVMQVhOR19FUlJfRFVQSUQnIGhyZWY9J2h0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCNYTUxfUkVMQVhOR19FUlJfRFVQSUQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9SRUxBWE5HX0VSUl9FTEVNRVhUUkFOUycgaHJlZj0naHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI1hNTF9SRUxBWE5HX0VSUl9FTEVNRVhUUkFOUycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1JFTEFYTkdfRVJSX0VMRU1OQU1FJyBocmVmPSdodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjWE1MX1JFTEFYTkdfRVJSX0VMRU1OQU1FJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUkVMQVhOR19FUlJfRUxFTU5PTlMnIGhyZWY9J2h0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCNYTUxfUkVMQVhOR19FUlJfRUxFTU5PTlMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9SRUxBWE5HX0VSUl9FTEVNTk9URU1QVFknIGhyZWY9J2h0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCNYTUxfUkVMQVhOR19FUlJfRUxFTU5PVEVNUFRZJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUkVMQVhOR19FUlJfRUxFTVdST05HJyBocmVmPSdodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjWE1MX1JFTEFYTkdfRVJSX0VMRU1XUk9ORycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1JFTEFYTkdfRVJSX0VMRU1XUk9OR05TJyBocmVmPSdodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjWE1MX1JFTEFYTkdfRVJSX0VMRU1XUk9OR05TJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUkVMQVhOR19FUlJfRVhUUkFDT05URU5UJyBocmVmPSdodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjWE1MX1JFTEFYTkdfRVJSX0VYVFJBQ09OVEVOVCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1JFTEFYTkdfRVJSX0VYVFJBREFUQScgaHJlZj0naHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI1hNTF9SRUxBWE5HX0VSUl9FWFRSQURBVEEnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9SRUxBWE5HX0VSUl9JTlRFUkVYVFJBJyBocmVmPSdodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjWE1MX1JFTEFYTkdfRVJSX0lOVEVSRVhUUkEnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9SRUxBWE5HX0VSUl9JTlRFUk5BTCcgaHJlZj0naHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI1hNTF9SRUxBWE5HX0VSUl9JTlRFUk5BTCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1JFTEFYTkdfRVJSX0lOVEVSTk9EQVRBJyBocmVmPSdodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjWE1MX1JFTEFYTkdfRVJSX0lOVEVSTk9EQVRBJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUkVMQVhOR19FUlJfSU5URVJTRVEnIGhyZWY9J2h0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCNYTUxfUkVMQVhOR19FUlJfSU5URVJTRVEnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9SRUxBWE5HX0VSUl9JTlZBTElEQVRUUicgaHJlZj0naHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI1hNTF9SRUxBWE5HX0VSUl9JTlZBTElEQVRUUicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1JFTEFYTkdfRVJSX0xBQ0tEQVRBJyBocmVmPSdodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjWE1MX1JFTEFYTkdfRVJSX0xBQ0tEQVRBJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUkVMQVhOR19FUlJfTElTVCcgaHJlZj0naHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI1hNTF9SRUxBWE5HX0VSUl9MSVNUJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUkVMQVhOR19FUlJfTElTVEVMRU0nIGhyZWY9J2h0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCNYTUxfUkVMQVhOR19FUlJfTElTVEVMRU0nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9SRUxBWE5HX0VSUl9MSVNURU1QVFknIGhyZWY9J2h0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCNYTUxfUkVMQVhOR19FUlJfTElTVEVNUFRZJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUkVMQVhOR19FUlJfTElTVEVYVFJBJyBocmVmPSdodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjWE1MX1JFTEFYTkdfRVJSX0xJU1RFWFRSQScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1JFTEFYTkdfRVJSX01FTU9SWScgaHJlZj0naHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI1hNTF9SRUxBWE5HX0VSUl9NRU1PUlknLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9SRUxBWE5HX0VSUl9OT0RFRklORScgaHJlZj0naHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI1hNTF9SRUxBWE5HX0VSUl9OT0RFRklORScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1JFTEFYTkdfRVJSX05PRUxFTScgaHJlZj0naHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI1hNTF9SRUxBWE5HX0VSUl9OT0VMRU0nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9SRUxBWE5HX0VSUl9OT0dSQU1NQVInIGhyZWY9J2h0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCNYTUxfUkVMQVhOR19FUlJfTk9HUkFNTUFSJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUkVMQVhOR19FUlJfTk9TVEFURScgaHJlZj0naHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI1hNTF9SRUxBWE5HX0VSUl9OT1NUQVRFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUkVMQVhOR19FUlJfTk9URUxFTScgaHJlZj0naHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI1hNTF9SRUxBWE5HX0VSUl9OT1RFTEVNJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUkVMQVhOR19FUlJfVEVYVFdST05HJyBocmVmPSdodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjWE1MX1JFTEFYTkdfRVJSX1RFWFRXUk9ORycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1JFTEFYTkdfRVJSX1RZUEUnIGhyZWY9J2h0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCNYTUxfUkVMQVhOR19FUlJfVFlQRScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1JFTEFYTkdfRVJSX1RZUEVDTVAnIGhyZWY9J2h0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCNYTUxfUkVMQVhOR19FUlJfVFlQRUNNUCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1JFTEFYTkdfRVJSX1RZUEVWQUwnIGhyZWY9J2h0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCNYTUxfUkVMQVhOR19FUlJfVFlQRVZBTCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1JFTEFYTkdfRVJSX1ZBTEVMRU0nIGhyZWY9J2h0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCNYTUxfUkVMQVhOR19FUlJfVkFMRUxFTScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1JFTEFYTkdfRVJSX1ZBTFVFJyBocmVmPSdodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjWE1MX1JFTEFYTkdfRVJSX1ZBTFVFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUkVMQVhOR19PSycgaHJlZj0naHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI1hNTF9SRUxBWE5HX09LJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUk5HUF9BTllOQU1FX0FUVFJfQU5DRVNUT1InIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfQU5ZTkFNRV9BVFRSX0FOQ0VTVE9SJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUk5HUF9BVFRSSUJVVEVfQ0hJTERSRU4nIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfQVRUUklCVVRFX0NISUxEUkVOJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUk5HUF9BVFRSSUJVVEVfQ09OVEVOVCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9BVFRSSUJVVEVfQ09OVEVOVCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1JOR1BfQVRUUklCVVRFX0VNUFRZJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX0FUVFJJQlVURV9FTVBUWScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1JOR1BfQVRUUklCVVRFX05PT1AnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfQVRUUklCVVRFX05PT1AnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9STkdQX0FUVFJfQ09ORkxJQ1QnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfQVRUUl9DT05GTElDVCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1JOR1BfQ0hPSUNFX0NPTlRFTlQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfQ0hPSUNFX0NPTlRFTlQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9STkdQX0NIT0lDRV9FTVBUWScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9DSE9JQ0VfRU1QVFknLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9STkdQX0NSRUFURV9GQUlMVVJFJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX0NSRUFURV9GQUlMVVJFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUk5HUF9EQVRBX0NPTlRFTlQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfREFUQV9DT05URU5UJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUk5HUF9ERUZJTkVfQ1JFQVRFX0ZBSUxFRCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9ERUZJTkVfQ1JFQVRFX0ZBSUxFRCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1JOR1BfREVGSU5FX0VNUFRZJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX0RFRklORV9FTVBUWScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1JOR1BfREVGSU5FX01JU1NJTkcnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfREVGSU5FX01JU1NJTkcnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9STkdQX0RFRklORV9OQU1FX01JU1NJTkcnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfREVGSU5FX05BTUVfTUlTU0lORycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1JOR1BfREVGX0NIT0lDRV9BTkRfSU5URVJMRUFWRScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9ERUZfQ0hPSUNFX0FORF9JTlRFUkxFQVZFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUk5HUF9FTEVNRU5UX0NPTlRFTlQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfRUxFTUVOVF9DT05URU5UJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUk5HUF9FTEVNRU5UX0VNUFRZJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX0VMRU1FTlRfRU1QVFknLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9STkdQX0VMRU1FTlRfTkFNRScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9FTEVNRU5UX05BTUUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9STkdQX0VMRU1FTlRfTk9fQ09OVEVOVCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9FTEVNRU5UX05PX0NPTlRFTlQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9STkdQX0VMRU1fQ09OVEVOVF9FTVBUWScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9FTEVNX0NPTlRFTlRfRU1QVFknLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9STkdQX0VMRU1fQ09OVEVOVF9FUlJPUicgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9FTEVNX0NPTlRFTlRfRVJST1InLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9STkdQX0VMRU1fVEVYVF9DT05GTElDVCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9FTEVNX1RFWFRfQ09ORkxJQ1QnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9STkdQX0VNUFRZJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX0VNUFRZJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUk5HUF9FTVBUWV9DT05TVFJVQ1QnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfRU1QVFlfQ09OU1RSVUNUJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUk5HUF9FTVBUWV9DT05URU5UJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX0VNUFRZX0NPTlRFTlQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9STkdQX0VNUFRZX05PVF9FTVBUWScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9FTVBUWV9OT1RfRU1QVFknLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9STkdQX0VSUk9SX1RZUEVfTElCJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX0VSUk9SX1RZUEVfTElCJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUk5HUF9FWENFUFRfRU1QVFknIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfRVhDRVBUX0VNUFRZJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUk5HUF9FWENFUFRfTUlTU0lORycgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9FWENFUFRfTUlTU0lORycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1JOR1BfRVhDRVBUX01VTFRJUExFJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX0VYQ0VQVF9NVUxUSVBMRScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1JOR1BfRVhDRVBUX05PX0NPTlRFTlQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfRVhDRVBUX05PX0NPTlRFTlQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9STkdQX0VYVEVSTkFMUkVGX0VNVFBZJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX0VYVEVSTkFMUkVGX0VNVFBZJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUk5HUF9FWFRFUk5BTFJFRl9SRUNVUlNFJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX0VYVEVSTkFMUkVGX1JFQ1VSU0UnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9STkdQX0VYVEVSTkFMX1JFRl9GQUlMVVJFJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX0VYVEVSTkFMX1JFRl9GQUlMVVJFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUk5HUF9GT1JCSURERU5fQVRUUklCVVRFJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX0ZPUkJJRERFTl9BVFRSSUJVVEUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9STkdQX0ZPUkVJR05fRUxFTUVOVCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9GT1JFSUdOX0VMRU1FTlQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9STkdQX0dSQU1NQVJfQ09OVEVOVCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9HUkFNTUFSX0NPTlRFTlQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9STkdQX0dSQU1NQVJfRU1QVFknIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfR1JBTU1BUl9FTVBUWScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1JOR1BfR1JBTU1BUl9NSVNTSU5HJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX0dSQU1NQVJfTUlTU0lORycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1JOR1BfR1JBTU1BUl9OT19TVEFSVCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9HUkFNTUFSX05PX1NUQVJUJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUk5HUF9HUk9VUF9BVFRSX0NPTkZMSUNUJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX0dST1VQX0FUVFJfQ09ORkxJQ1QnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9STkdQX0hSRUZfRVJST1InIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfSFJFRl9FUlJPUicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1JOR1BfSU5DTFVERV9FTVBUWScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9JTkNMVURFX0VNUFRZJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUk5HUF9JTkNMVURFX0ZBSUxVUkUnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfSU5DTFVERV9GQUlMVVJFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUk5HUF9JTkNMVURFX1JFQ1VSU0UnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfSU5DTFVERV9SRUNVUlNFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUk5HUF9JTlRFUkxFQVZFX0FERCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9JTlRFUkxFQVZFX0FERCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1JOR1BfSU5URVJMRUFWRV9DUkVBVEVfRkFJTEVEJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX0lOVEVSTEVBVkVfQ1JFQVRFX0ZBSUxFRCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1JOR1BfSU5URVJMRUFWRV9FTVBUWScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9JTlRFUkxFQVZFX0VNUFRZJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUk5HUF9JTlRFUkxFQVZFX05PX0NPTlRFTlQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfSU5URVJMRUFWRV9OT19DT05URU5UJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUk5HUF9JTlZBTElEX0RFRklORV9OQU1FJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX0lOVkFMSURfREVGSU5FX05BTUUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9STkdQX0lOVkFMSURfVVJJJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX0lOVkFMSURfVVJJJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUk5HUF9JTlZBTElEX1ZBTFVFJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX0lOVkFMSURfVkFMVUUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9STkdQX01JU1NJTkdfSFJFRicgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9NSVNTSU5HX0hSRUYnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9STkdQX05BTUVfTUlTU0lORycgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9OQU1FX01JU1NJTkcnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9STkdQX05FRURfQ09NQklORScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9ORUVEX0NPTUJJTkUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9STkdQX05PVEFMTE9XRURfTk9UX0VNUFRZJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX05PVEFMTE9XRURfTk9UX0VNUFRZJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUk5HUF9OU05BTUVfQVRUUl9BTkNFU1RPUicgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9OU05BTUVfQVRUUl9BTkNFU1RPUicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1JOR1BfTlNOQU1FX05PX05TJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX05TTkFNRV9OT19OUycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1JOR1BfUEFSQU1fRk9SQklEREVOJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX1BBUkFNX0ZPUkJJRERFTicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1JOR1BfUEFSQU1fTkFNRV9NSVNTSU5HJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX1BBUkFNX05BTUVfTUlTU0lORycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1JOR1BfUEFSRU5UUkVGX0NSRUFURV9GQUlMRUQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUEFSRU5UUkVGX0NSRUFURV9GQUlMRUQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9STkdQX1BBUkVOVFJFRl9OQU1FX0lOVkFMSUQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUEFSRU5UUkVGX05BTUVfSU5WQUxJRCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1JOR1BfUEFSRU5UUkVGX05PVF9FTVBUWScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9QQVJFTlRSRUZfTk9UX0VNUFRZJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUk5HUF9QQVJFTlRSRUZfTk9fTkFNRScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9QQVJFTlRSRUZfTk9fTkFNRScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1JOR1BfUEFSRU5UUkVGX05PX1BBUkVOVCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9QQVJFTlRSRUZfTk9fUEFSRU5UJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUk5HUF9QQVJTRV9FUlJPUicgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9QQVJTRV9FUlJPUicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1JOR1BfUEFUX0FOWU5BTUVfRVhDRVBUX0FOWU5BTUUnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUEFUX0FOWU5BTUVfRVhDRVBUX0FOWU5BTUUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9STkdQX1BBVF9BVFRSX0FUVFInIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUEFUX0FUVFJfQVRUUicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1JOR1BfUEFUX0FUVFJfRUxFTScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9QQVRfQVRUUl9FTEVNJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUk5HUF9QQVRfREFUQV9FWENFUFRfQVRUUicgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9QQVRfREFUQV9FWENFUFRfQVRUUicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1JOR1BfUEFUX0RBVEFfRVhDRVBUX0VMRU0nIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUEFUX0RBVEFfRVhDRVBUX0VMRU0nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9STkdQX1BBVF9EQVRBX0VYQ0VQVF9FTVBUWScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9QQVRfREFUQV9FWENFUFRfRU1QVFknLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9STkdQX1BBVF9EQVRBX0VYQ0VQVF9HUk9VUCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9QQVRfREFUQV9FWENFUFRfR1JPVVAnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9STkdQX1BBVF9EQVRBX0VYQ0VQVF9JTlRFUkxFQVZFJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX1BBVF9EQVRBX0VYQ0VQVF9JTlRFUkxFQVZFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUk5HUF9QQVRfREFUQV9FWENFUFRfTElTVCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9QQVRfREFUQV9FWENFUFRfTElTVCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1JOR1BfUEFUX0RBVEFfRVhDRVBUX09ORU1PUkUnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUEFUX0RBVEFfRVhDRVBUX09ORU1PUkUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9STkdQX1BBVF9EQVRBX0VYQ0VQVF9SRUYnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUEFUX0RBVEFfRVhDRVBUX1JFRicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1JOR1BfUEFUX0RBVEFfRVhDRVBUX1RFWFQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUEFUX0RBVEFfRVhDRVBUX1RFWFQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9STkdQX1BBVF9MSVNUX0FUVFInIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUEFUX0xJU1RfQVRUUicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1JOR1BfUEFUX0xJU1RfRUxFTScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9QQVRfTElTVF9FTEVNJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUk5HUF9QQVRfTElTVF9JTlRFUkxFQVZFJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX1BBVF9MSVNUX0lOVEVSTEVBVkUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9STkdQX1BBVF9MSVNUX0xJU1QnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUEFUX0xJU1RfTElTVCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1JOR1BfUEFUX0xJU1RfUkVGJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX1BBVF9MSVNUX1JFRicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1JOR1BfUEFUX0xJU1RfVEVYVCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9QQVRfTElTVF9URVhUJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUk5HUF9QQVRfTlNOQU1FX0VYQ0VQVF9BTllOQU1FJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX1BBVF9OU05BTUVfRVhDRVBUX0FOWU5BTUUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9STkdQX1BBVF9OU05BTUVfRVhDRVBUX05TTkFNRScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9QQVRfTlNOQU1FX0VYQ0VQVF9OU05BTUUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9STkdQX1BBVF9PTkVNT1JFX0dST1VQX0FUVFInIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUEFUX09ORU1PUkVfR1JPVVBfQVRUUicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1JOR1BfUEFUX09ORU1PUkVfSU5URVJMRUFWRV9BVFRSJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX1BBVF9PTkVNT1JFX0lOVEVSTEVBVkVfQVRUUicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1JOR1BfUEFUX1NUQVJUX0FUVFInIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUEFUX1NUQVJUX0FUVFInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9STkdQX1BBVF9TVEFSVF9EQVRBJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX1BBVF9TVEFSVF9EQVRBJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUk5HUF9QQVRfU1RBUlRfRU1QVFknIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUEFUX1NUQVJUX0VNUFRZJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUk5HUF9QQVRfU1RBUlRfR1JPVVAnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUEFUX1NUQVJUX0dST1VQJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUk5HUF9QQVRfU1RBUlRfSU5URVJMRUFWRScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9QQVRfU1RBUlRfSU5URVJMRUFWRScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1JOR1BfUEFUX1NUQVJUX0xJU1QnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUEFUX1NUQVJUX0xJU1QnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9STkdQX1BBVF9TVEFSVF9PTkVNT1JFJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX1BBVF9TVEFSVF9PTkVNT1JFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUk5HUF9QQVRfU1RBUlRfVEVYVCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9QQVRfU1RBUlRfVEVYVCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1JOR1BfUEFUX1NUQVJUX1ZBTFVFJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX1BBVF9TVEFSVF9WQUxVRScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1JOR1BfUFJFRklYX1VOREVGSU5FRCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9QUkVGSVhfVU5ERUZJTkVEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUk5HUF9SRUZfQ1JFQVRFX0ZBSUxFRCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9SRUZfQ1JFQVRFX0ZBSUxFRCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1JOR1BfUkVGX0NZQ0xFJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX1JFRl9DWUNMRScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1JOR1BfUkVGX05BTUVfSU5WQUxJRCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9SRUZfTkFNRV9JTlZBTElEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUk5HUF9SRUZfTk9UX0VNUFRZJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX1JFRl9OT1RfRU1QVFknLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9STkdQX1JFRl9OT19ERUYnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUkVGX05PX0RFRicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1JOR1BfUkVGX05PX05BTUUnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfUkVGX05PX05BTUUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9STkdQX1NUQVJUX0NIT0lDRV9BTkRfSU5URVJMRUFWRScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9TVEFSVF9DSE9JQ0VfQU5EX0lOVEVSTEVBVkUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9STkdQX1NUQVJUX0NPTlRFTlQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfU1RBUlRfQ09OVEVOVCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1JOR1BfU1RBUlRfRU1QVFknIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfU1RBUlRfRU1QVFknLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9STkdQX1NUQVJUX01JU1NJTkcnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfU1RBUlRfTUlTU0lORycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1JOR1BfVEVYVF9FWFBFQ1RFRCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9URVhUX0VYUEVDVEVEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUk5HUF9URVhUX0hBU19DSElMRCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9URVhUX0hBU19DSElMRCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1JOR1BfVFlQRV9NSVNTSU5HJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX1RZUEVfTUlTU0lORycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1JOR1BfVFlQRV9OT1RfRk9VTkQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfVFlQRV9OT1RfRk9VTkQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9STkdQX1RZUEVfVkFMVUUnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfVFlQRV9WQUxVRScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1JOR1BfVU5LTk9XTl9BVFRSSUJVVEUnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfVU5LTk9XTl9BVFRSSUJVVEUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9STkdQX1VOS05PV05fQ09NQklORScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9VTktOT1dOX0NPTUJJTkUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9STkdQX1VOS05PV05fQ09OU1RSVUNUJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX1VOS05PV05fQ09OU1RSVUNUJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUk5HUF9VTktOT1dOX1RZUEVfTElCJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9STkdQX1VOS05PV05fVFlQRV9MSUInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9STkdQX1VSSV9GUkFHTUVOVCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9VUklfRlJBR01FTlQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9STkdQX1VSSV9OT1RfQUJTT0xVVEUnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfVVJJX05PVF9BQlNPTFVURScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1JOR1BfVkFMVUVfRU1QVFknIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfVkFMVUVfRU1QVFknLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9STkdQX1ZBTFVFX05PX0NPTlRFTlQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfVkFMVUVfTk9fQ09OVEVOVCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1JOR1BfWE1MTlNfTkFNRScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfUk5HUF9YTUxOU19OQU1FJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfUk5HUF9YTUxfTlMnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1JOR1BfWE1MX05TJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0FWRV9BU19IVE1MJyBocmVmPSdodG1sL2xpYnhtbC14bWxzYXZlLmh0bWwjWE1MX1NBVkVfQVNfSFRNTCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NBVkVfQVNfWE1MJyBocmVmPSdodG1sL2xpYnhtbC14bWxzYXZlLmh0bWwjWE1MX1NBVkVfQVNfWE1MJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0FWRV9DSEFSX0lOVkFMSUQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NBVkVfQ0hBUl9JTlZBTElEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0FWRV9GT1JNQVQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHNhdmUuaHRtbCNYTUxfU0FWRV9GT1JNQVQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQVZFX05PVF9VVEY4JyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQVZFX05PVF9VVEY4Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0FWRV9OT19ERUNMJyBocmVmPSdodG1sL2xpYnhtbC14bWxzYXZlLmh0bWwjWE1MX1NBVkVfTk9fREVDTCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NBVkVfTk9fRE9DVFlQRScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0FWRV9OT19ET0NUWVBFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0FWRV9OT19FTVBUWScgaHJlZj0naHRtbC9saWJ4bWwteG1sc2F2ZS5odG1sI1hNTF9TQVZFX05PX0VNUFRZJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0FWRV9OT19YSFRNTCcgaHJlZj0naHRtbC9saWJ4bWwteG1sc2F2ZS5odG1sI1hNTF9TQVZFX05PX1hIVE1MJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0FWRV9VTktOT1dOX0VOQ09ESU5HJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQVZFX1VOS05PV05fRU5DT0RJTkcnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQVZFX1dTTk9OU0lHJyBocmVmPSdodG1sL2xpYnhtbC14bWxzYXZlLmh0bWwjWE1MX1NBVkVfV1NOT05TSUcnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQVZFX1hIVE1MJyBocmVmPSdodG1sL2xpYnhtbC14bWxzYXZlLmh0bWwjWE1MX1NBVkVfWEhUTUwnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQVgyX01BR0lDJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfU0FYMl9NQUdJQycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfQUdfUFJPUFNfQ09SUkVDVCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9BR19QUk9QU19DT1JSRUNUJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BUF9BVFRSRk9STURFRkFVTFRfVkFMVUUnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfQVRUUkZPUk1ERUZBVUxUX1ZBTFVFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BUF9BVFRSR1JQX05PTkFNRV9OT1JFRicgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9BVFRSR1JQX05PTkFNRV9OT1JFRicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfQVRUUl9OT05BTUVfTk9SRUYnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfQVRUUl9OT05BTUVfTk9SRUYnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFQX0FVX1BST1BTX0NPUlJFQ1QnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfQVVfUFJPUFNfQ09SUkVDVCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfQVVfUFJPUFNfQ09SUkVDVF8yJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0FVX1BST1BTX0NPUlJFQ1RfMicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfQV9QUk9QU19DT1JSRUNUXzInIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfQV9QUk9QU19DT1JSRUNUXzInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFQX0FfUFJPUFNfQ09SUkVDVF8zJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0FfUFJPUFNfQ09SUkVDVF8zJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BUF9DT01QTEVYVFlQRV9OT05BTUVfTk9SRUYnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfQ09NUExFWFRZUEVfTk9OQU1FX05PUkVGJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BUF9DT1NfQUxMX0xJTUlURUQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfQ09TX0FMTF9MSU1JVEVEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BUF9DT1NfQ1RfRVhURU5EU18xXzEnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfQ09TX0NUX0VYVEVORFNfMV8xJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BUF9DT1NfQ1RfRVhURU5EU18xXzInIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfQ09TX0NUX0VYVEVORFNfMV8yJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BUF9DT1NfQ1RfRVhURU5EU18xXzMnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfQ09TX0NUX0VYVEVORFNfMV8zJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BUF9DT1NfU1RfREVSSVZFRF9PS18yXzEnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfQ09TX1NUX0RFUklWRURfT0tfMl8xJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BUF9DT1NfU1RfREVSSVZFRF9PS18yXzInIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfQ09TX1NUX0RFUklWRURfT0tfMl8yJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzFfMScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzFfMScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18xXzInIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18xXzInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMV8zXzEnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18xXzNfMScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18xXzNfMicgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzFfM18yJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzJfMScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzJfMScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzNfMV8xJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMl8zXzFfMScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzNfMV8yJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMl8zXzFfMicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzNfMl8xJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMl8zXzJfMScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzNfMl8yJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMl8zXzJfMicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzNfMl8zJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMl8zXzJfMycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzNfMl80JyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMl8zXzJfNCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzNfMl81JyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMl8zXzJfNScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzEnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzEnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfM18zXzEnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzNfMScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzNfMV8yJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfM18zXzFfMicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzNfMl8xJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfM18zXzJfMScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzNfMl8yJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfM18zXzJfMicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzNfMl8zJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfM18zXzJfMycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzNfMl80JyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfM18zXzJfNCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzNfMl81JyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfM18zXzJfNScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfQ09TX1ZBTElEX0RFRkFVTFRfMScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9DT1NfVkFMSURfREVGQVVMVF8xJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BUF9DT1NfVkFMSURfREVGQVVMVF8yXzEnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfQ09TX1ZBTElEX0RFRkFVTFRfMl8xJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BUF9DT1NfVkFMSURfREVGQVVMVF8yXzJfMScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9DT1NfVkFMSURfREVGQVVMVF8yXzJfMScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfQ09TX1ZBTElEX0RFRkFVTFRfMl8yXzInIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfQ09TX1ZBTElEX0RFRkFVTFRfMl8yXzInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFQX0NUX1BST1BTX0NPUlJFQ1RfMScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9DVF9QUk9QU19DT1JSRUNUXzEnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFQX0NUX1BST1BTX0NPUlJFQ1RfMicgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9DVF9QUk9QU19DT1JSRUNUXzInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFQX0NUX1BST1BTX0NPUlJFQ1RfMycgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9DVF9QUk9QU19DT1JSRUNUXzMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFQX0NUX1BST1BTX0NPUlJFQ1RfNCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9DVF9QUk9QU19DT1JSRUNUXzQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFQX0NUX1BST1BTX0NPUlJFQ1RfNScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9DVF9QUk9QU19DT1JSRUNUXzUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFQX0NWQ19TSU1QTEVfVFlQRScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9DVkNfU0lNUExFX1RZUEUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFQX0NfUFJPUFNfQ09SUkVDVCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9DX1BST1BTX0NPUlJFQ1QnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFQX0RFRl9BTkRfUFJFRklYJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0RFRl9BTkRfUFJFRklYJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzEnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfREVSSVZBVElPTl9PS19SRVNUUklDVElPTl8xJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzJfMV8xJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0RFUklWQVRJT05fT0tfUkVTVFJJQ1RJT05fMl8xXzEnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFQX0RFUklWQVRJT05fT0tfUkVTVFJJQ1RJT05fMl8xXzInIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfREVSSVZBVElPTl9PS19SRVNUUklDVElPTl8yXzFfMicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfREVSSVZBVElPTl9PS19SRVNUUklDVElPTl8yXzFfMycgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzJfMV8zJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzJfMicgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzJfMicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfREVSSVZBVElPTl9PS19SRVNUUklDVElPTl8zJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0RFUklWQVRJT05fT0tfUkVTVFJJQ1RJT05fMycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfREVSSVZBVElPTl9PS19SRVNUUklDVElPTl80XzEnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfREVSSVZBVElPTl9PS19SRVNUUklDVElPTl80XzEnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFQX0RFUklWQVRJT05fT0tfUkVTVFJJQ1RJT05fNF8yJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0RFUklWQVRJT05fT0tfUkVTVFJJQ1RJT05fNF8yJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzRfMycgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzRfMycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfRUxFTUZPUk1ERUZBVUxUX1ZBTFVFJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0VMRU1GT1JNREVGQVVMVF9WQUxVRScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfRUxFTV9ERUZBVUxUX0ZJWEVEJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0VMRU1fREVGQVVMVF9GSVhFRCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfRUxFTV9OT05BTUVfTk9SRUYnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfRUxFTV9OT05BTUVfTk9SRUYnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFQX0VYVEVOU0lPTl9OT19CQVNFJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0VYVEVOU0lPTl9OT19CQVNFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BUF9FX1BST1BTX0NPUlJFQ1RfMicgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9FX1BST1BTX0NPUlJFQ1RfMicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfRV9QUk9QU19DT1JSRUNUXzMnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfRV9QUk9QU19DT1JSRUNUXzMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFQX0VfUFJPUFNfQ09SUkVDVF80JyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0VfUFJPUFNfQ09SUkVDVF80Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BUF9FX1BST1BTX0NPUlJFQ1RfNScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9FX1BST1BTX0NPUlJFQ1RfNScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfRV9QUk9QU19DT1JSRUNUXzYnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfRV9QUk9QU19DT1JSRUNUXzYnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFQX0ZBQ0VUX05PX1ZBTFVFJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0ZBQ0VUX05PX1ZBTFVFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BUF9GQUlMRURfQlVJTERfSU1QT1JUJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0ZBSUxFRF9CVUlMRF9JTVBPUlQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFQX0ZBSUxFRF9MT0FEJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0ZBSUxFRF9MT0FEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BUF9GQUlMRURfUEFSU0UnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfRkFJTEVEX1BBUlNFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BUF9HUk9VUF9OT05BTUVfTk9SRUYnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfR1JPVVBfTk9OQU1FX05PUkVGJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BUF9JTVBPUlRfTkFNRVNQQUNFX05PVF9VUkknIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfSU1QT1JUX05BTUVTUEFDRV9OT1RfVVJJJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BUF9JTVBPUlRfUkVERUZJTkVfTlNOQU1FJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0lNUE9SVF9SRURFRklORV9OU05BTUUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFQX0lNUE9SVF9TQ0hFTUFfTk9UX1VSSScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9JTVBPUlRfU0NIRU1BX05PVF9VUkknLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFQX0lOQ0xVREVfU0NIRU1BX05PVF9VUkknIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfSU5DTFVERV9TQ0hFTUFfTk9UX1VSSScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfSU5DTFVERV9TQ0hFTUFfTk9fVVJJJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0lOQ0xVREVfU0NIRU1BX05PX1VSSScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfSU5URVJOQUwnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfSU5URVJOQUwnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFQX0lOVEVSU0VDVElPTl9OT1RfRVhQUkVTU0lCTEUnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfSU5URVJTRUNUSU9OX05PVF9FWFBSRVNTSUJMRScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfSU5WQUxJRF9BVFRSX0NPTUJJTkFUSU9OJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0lOVkFMSURfQVRUUl9DT01CSU5BVElPTicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfSU5WQUxJRF9BVFRSX0lOTElORV9DT01CSU5BVElPTicgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9JTlZBTElEX0FUVFJfSU5MSU5FX0NPTUJJTkFUSU9OJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BUF9JTlZBTElEX0FUVFJfTkFNRScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9JTlZBTElEX0FUVFJfTkFNRScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfSU5WQUxJRF9BVFRSX1VTRScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9JTlZBTElEX0FUVFJfVVNFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BUF9JTlZBTElEX0JPT0xFQU4nIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfSU5WQUxJRF9CT09MRUFOJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BUF9JTlZBTElEX0VOVU0nIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfSU5WQUxJRF9FTlVNJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BUF9JTlZBTElEX0ZBQ0VUJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0lOVkFMSURfRkFDRVQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFQX0lOVkFMSURfRkFDRVRfVkFMVUUnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfSU5WQUxJRF9GQUNFVF9WQUxVRScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfSU5WQUxJRF9NQVhPQ0NVUlMnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfSU5WQUxJRF9NQVhPQ0NVUlMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFQX0lOVkFMSURfTUlOT0NDVVJTJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX0lOVkFMSURfTUlOT0NDVVJTJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BUF9JTlZBTElEX1JFRl9BTkRfU1VCVFlQRScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9JTlZBTElEX1JFRl9BTkRfU1VCVFlQRScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfSU5WQUxJRF9XSElURV9TUEFDRScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9JTlZBTElEX1dISVRFX1NQQUNFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BUF9NR19QUk9QU19DT1JSRUNUXzEnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfTUdfUFJPUFNfQ09SUkVDVF8xJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BUF9NR19QUk9QU19DT1JSRUNUXzInIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfTUdfUFJPUFNfQ09SUkVDVF8yJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BUF9NSVNTSU5HX1NJTVBMRVRZUEVfQ0hJTEQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfTUlTU0lOR19TSU1QTEVUWVBFX0NISUxEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BUF9OT0FUVFJfTk9SRUYnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfTk9BVFRSX05PUkVGJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BUF9OT1JPT1QnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfTk9ST09UJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BUF9OT1RBVElPTl9OT19OQU1FJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX05PVEFUSU9OX05PX05BTUUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFQX05PVEhJTkdfVE9fUEFSU0UnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfTk9USElOR19UT19QQVJTRScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfTk9UWVBFX05PUkVGJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX05PVFlQRV9OT1JFRicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfTk9UX0RFVEVSTUlOSVNUSUMnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfTk9UX0RFVEVSTUlOSVNUSUMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFQX05PVF9TQ0hFTUEnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfTk9UX1NDSEVNQScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfTk9fWE1MTlMnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfTk9fWE1MTlMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFQX05PX1hTSScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9OT19YU0knLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFQX1BSRUZJWF9VTkRFRklORUQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfUFJFRklYX1VOREVGSU5FRCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfUF9QUk9QU19DT1JSRUNUXzEnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfUF9QUk9QU19DT1JSRUNUXzEnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFQX1BfUFJPUFNfQ09SUkVDVF8yXzEnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfUF9QUk9QU19DT1JSRUNUXzJfMScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfUF9QUk9QU19DT1JSRUNUXzJfMicgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9QX1BST1BTX0NPUlJFQ1RfMl8yJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BUF9SRUNVUlNJVkUnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfUkVDVVJTSVZFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BUF9SRURFRklORURfQVRUUicgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9SRURFRklORURfQVRUUicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfUkVERUZJTkVEX0FUVFJHUk9VUCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9SRURFRklORURfQVRUUkdST1VQJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BUF9SRURFRklORURfRUxFTUVOVCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9SRURFRklORURfRUxFTUVOVCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfUkVERUZJTkVEX0dST1VQJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1JFREVGSU5FRF9HUk9VUCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfUkVERUZJTkVEX05PVEFUSU9OJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1JFREVGSU5FRF9OT1RBVElPTicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfUkVERUZJTkVEX1RZUEUnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfUkVERUZJTkVEX1RZUEUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFQX1JFRl9BTkRfQ09OVEVOVCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9SRUZfQU5EX0NPTlRFTlQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFQX1JFRl9BTkRfU1VCVFlQRScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9SRUZfQU5EX1NVQlRZUEUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFQX1JFR0VYUF9JTlZBTElEJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1JFR0VYUF9JTlZBTElEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BUF9SRVNUUklDVElPTl9OT05BTUVfTk9SRUYnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfUkVTVFJJQ1RJT05fTk9OQU1FX05PUkVGJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BUF9TNFNfQVRUUl9JTlZBTElEX1ZBTFVFJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1M0U19BVFRSX0lOVkFMSURfVkFMVUUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFQX1M0U19BVFRSX01JU1NJTkcnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfUzRTX0FUVFJfTUlTU0lORycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfUzRTX0FUVFJfTk9UX0FMTE9XRUQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfUzRTX0FUVFJfTk9UX0FMTE9XRUQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFQX1M0U19FTEVNX01JU1NJTkcnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfUzRTX0VMRU1fTUlTU0lORycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfUzRTX0VMRU1fTk9UX0FMTE9XRUQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfUzRTX0VMRU1fTk9UX0FMTE9XRUQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFQX1NJTVBMRVRZUEVfTk9OQU1FJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1NJTVBMRVRZUEVfTk9OQU1FJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BUF9TUkNfQVRUUklCVVRFXzEnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfU1JDX0FUVFJJQlVURV8xJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BUF9TUkNfQVRUUklCVVRFXzInIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfU1JDX0FUVFJJQlVURV8yJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BUF9TUkNfQVRUUklCVVRFXzNfMScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9TUkNfQVRUUklCVVRFXzNfMScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfU1JDX0FUVFJJQlVURV8zXzInIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfU1JDX0FUVFJJQlVURV8zXzInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFQX1NSQ19BVFRSSUJVVEVfNCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9TUkNfQVRUUklCVVRFXzQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFQX1NSQ19BVFRSSUJVVEVfR1JPVVBfMScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9TUkNfQVRUUklCVVRFX0dST1VQXzEnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFQX1NSQ19BVFRSSUJVVEVfR1JPVVBfMicgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9TUkNfQVRUUklCVVRFX0dST1VQXzInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFQX1NSQ19BVFRSSUJVVEVfR1JPVVBfMycgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9TUkNfQVRUUklCVVRFX0dST1VQXzMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFQX1NSQ19DVF8xJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1NSQ19DVF8xJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BUF9TUkNfRUxFTUVOVF8xJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1NSQ19FTEVNRU5UXzEnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFQX1NSQ19FTEVNRU5UXzJfMScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9TUkNfRUxFTUVOVF8yXzEnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFQX1NSQ19FTEVNRU5UXzJfMicgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9TUkNfRUxFTUVOVF8yXzInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFQX1NSQ19FTEVNRU5UXzMnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfU1JDX0VMRU1FTlRfMycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfU1JDX0lNUE9SVCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9TUkNfSU1QT1JUJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BUF9TUkNfSU1QT1JUXzFfMScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9TUkNfSU1QT1JUXzFfMScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfU1JDX0lNUE9SVF8xXzInIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfU1JDX0lNUE9SVF8xXzInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFQX1NSQ19JTVBPUlRfMicgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9TUkNfSU1QT1JUXzInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFQX1NSQ19JTVBPUlRfMl8xJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1NSQ19JTVBPUlRfMl8xJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BUF9TUkNfSU1QT1JUXzJfMicgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9TUkNfSU1QT1JUXzJfMicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfU1JDX0lNUE9SVF8zXzEnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfU1JDX0lNUE9SVF8zXzEnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFQX1NSQ19JTVBPUlRfM18yJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1NSQ19JTVBPUlRfM18yJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BUF9TUkNfSU5DTFVERScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9TUkNfSU5DTFVERScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfU1JDX0xJU1RfSVRFTVRZUEVfT1JfU0lNUExFVFlQRScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9TUkNfTElTVF9JVEVNVFlQRV9PUl9TSU1QTEVUWVBFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BUF9TUkNfUkVERUZJTkUnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfU1JDX1JFREVGSU5FJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BUF9TUkNfUkVTT0xWRScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9TUkNfUkVTT0xWRScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfU1JDX1JFU1RSSUNUSU9OX0JBU0VfT1JfU0lNUExFVFlQRScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9TUkNfUkVTVFJJQ1RJT05fQkFTRV9PUl9TSU1QTEVUWVBFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BUF9TUkNfU0lNUExFX1RZUEVfMScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9TUkNfU0lNUExFX1RZUEVfMScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfU1JDX1NJTVBMRV9UWVBFXzInIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfU1JDX1NJTVBMRV9UWVBFXzInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFQX1NSQ19TSU1QTEVfVFlQRV8zJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1NSQ19TSU1QTEVfVFlQRV8zJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BUF9TUkNfU0lNUExFX1RZUEVfNCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9TUkNfU0lNUExFX1RZUEVfNCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfU1JDX1VOSU9OX01FTUJFUlRZUEVTX09SX1NJTVBMRVRZUEVTJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1NSQ19VTklPTl9NRU1CRVJUWVBFU19PUl9TSU1QTEVUWVBFUycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfU1RfUFJPUFNfQ09SUkVDVF8xJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1NUX1BST1BTX0NPUlJFQ1RfMScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfU1RfUFJPUFNfQ09SUkVDVF8yJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1NUX1BST1BTX0NPUlJFQ1RfMicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfU1RfUFJPUFNfQ09SUkVDVF8zJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1NUX1BST1BTX0NPUlJFQ1RfMycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfU1VQRVJOVU1FUk9VU19MSVNUX0lURU1fVFlQRScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9TVVBFUk5VTUVST1VTX0xJU1RfSVRFTV9UWVBFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BUF9UWVBFX0FORF9TVUJUWVBFJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1RZUEVfQU5EX1NVQlRZUEUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFQX1VOSU9OX05PVF9FWFBSRVNTSUJMRScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9VTklPTl9OT1RfRVhQUkVTU0lCTEUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFQX1VOS05PV05fQUxMX0NISUxEJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1VOS05PV05fQUxMX0NISUxEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BUF9VTktOT1dOX0FOWUFUVFJJQlVURV9DSElMRCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9VTktOT1dOX0FOWUFUVFJJQlVURV9DSElMRCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfVU5LTk9XTl9BVFRSR1JQX0NISUxEJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1VOS05PV05fQVRUUkdSUF9DSElMRCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfVU5LTk9XTl9BVFRSSUJVVEVfR1JPVVAnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfVU5LTk9XTl9BVFRSSUJVVEVfR1JPVVAnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFQX1VOS05PV05fQVRUUl9DSElMRCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9VTktOT1dOX0FUVFJfQ0hJTEQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFQX1VOS05PV05fQkFTRV9UWVBFJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1VOS05PV05fQkFTRV9UWVBFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BUF9VTktOT1dOX0NIT0lDRV9DSElMRCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9VTktOT1dOX0NIT0lDRV9DSElMRCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfVU5LTk9XTl9DT01QTEVYQ09OVEVOVF9DSElMRCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9VTktOT1dOX0NPTVBMRVhDT05URU5UX0NISUxEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BUF9VTktOT1dOX0NPTVBMRVhUWVBFX0NISUxEJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1VOS05PV05fQ09NUExFWFRZUEVfQ0hJTEQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFQX1VOS05PV05fRUxFTV9DSElMRCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9VTktOT1dOX0VMRU1fQ0hJTEQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFQX1VOS05PV05fRVhURU5TSU9OX0NISUxEJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1VOS05PV05fRVhURU5TSU9OX0NISUxEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BUF9VTktOT1dOX0ZBQ0VUX0NISUxEJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1VOS05PV05fRkFDRVRfQ0hJTEQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFQX1VOS05PV05fRkFDRVRfVFlQRScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9VTktOT1dOX0ZBQ0VUX1RZUEUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFQX1VOS05PV05fR1JPVVBfQ0hJTEQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfVU5LTk9XTl9HUk9VUF9DSElMRCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfVU5LTk9XTl9JTVBPUlRfQ0hJTEQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfVU5LTk9XTl9JTVBPUlRfQ0hJTEQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFQX1VOS05PV05fSU5DTFVERV9DSElMRCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9VTktOT1dOX0lOQ0xVREVfQ0hJTEQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFQX1VOS05PV05fTElTVF9DSElMRCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9VTktOT1dOX0xJU1RfQ0hJTEQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFQX1VOS05PV05fTUVNQkVSX1RZUEUnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfVU5LTk9XTl9NRU1CRVJfVFlQRScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfVU5LTk9XTl9OT1RBVElPTl9DSElMRCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9VTktOT1dOX05PVEFUSU9OX0NISUxEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BUF9VTktOT1dOX1BSRUZJWCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9VTktOT1dOX1BSRUZJWCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfVU5LTk9XTl9QUk9DRVNTQ09OVEVOVF9DSElMRCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9VTktOT1dOX1BST0NFU1NDT05URU5UX0NISUxEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BUF9VTktOT1dOX1JFRicgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9VTktOT1dOX1JFRicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfVU5LTk9XTl9SRVNUUklDVElPTl9DSElMRCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9VTktOT1dOX1JFU1RSSUNUSU9OX0NISUxEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BUF9VTktOT1dOX1NDSEVNQVNfQ0hJTEQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfVU5LTk9XTl9TQ0hFTUFTX0NISUxEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BUF9VTktOT1dOX1NFUVVFTkNFX0NISUxEJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1VOS05PV05fU0VRVUVOQ0VfQ0hJTEQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFQX1VOS05PV05fU0lNUExFQ09OVEVOVF9DSElMRCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9VTktOT1dOX1NJTVBMRUNPTlRFTlRfQ0hJTEQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFQX1VOS05PV05fU0lNUExFVFlQRV9DSElMRCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9VTktOT1dOX1NJTVBMRVRZUEVfQ0hJTEQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFQX1VOS05PV05fVFlQRScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9VTktOT1dOX1RZUEUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFQX1VOS05PV05fVU5JT05fQ0hJTEQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfVU5LTk9XTl9VTklPTl9DSElMRCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfV0FSTl9BVFRSX1BPSU5UTEVTU19QUk9IJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1dBUk5fQVRUUl9QT0lOVExFU1NfUFJPSCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfV0FSTl9BVFRSX1JFREVDTF9QUk9IJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFQX1dBUk5fQVRUUl9SRURFQ0xfUFJPSCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVBfV0FSTl9TS0lQX1NDSEVNQScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9XQVJOX1NLSVBfU0NIRU1BJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BUF9XQVJOX1VOTE9DQVRFRF9TQ0hFTUEnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVBfV0FSTl9VTkxPQ0FURURfU0NIRU1BJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BUF9XSUxEQ0FSRF9JTlZBTElEX05TX01FTUJFUicgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BUF9XSUxEQ0FSRF9JTlZBTElEX05TX01FTUJFUicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVNfQU5ZQVRUUl9MQVgnIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19BTllBVFRSX0xBWCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVNfQU5ZQVRUUl9TS0lQJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfQU5ZQVRUUl9TS0lQJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BU19BTllBVFRSX1NUUklDVCcgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0FOWUFUVFJfU1RSSUNUJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BU19BTllTSU1QTEVUWVBFJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfQU5ZU0lNUExFVFlQRScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVNfQU5ZVFlQRScgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0FOWVRZUEUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFTX0FOWVVSSScgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0FOWVVSSScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVNfQU5ZX0xBWCcgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0FOWV9MQVgnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFTX0FOWV9TS0lQJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfQU5ZX1NLSVAnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFTX0FOWV9TVFJJQ1QnIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19BTllfU1RSSUNUJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BU19BVFRSR1JPVVBfR0xPQkFMJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfQVRUUkdST1VQX0dMT0JBTCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVNfQVRUUkdST1VQX0hBU19SRUZTJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfQVRUUkdST1VQX0hBU19SRUZTJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BU19BVFRSR1JPVVBfTUFSS0VEJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfQVRUUkdST1VQX01BUktFRCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVNfQVRUUkdST1VQX1JFREVGSU5FRCcgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0FUVFJHUk9VUF9SRURFRklORUQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFTX0FUVFJHUk9VUF9XSUxEQ0FSRF9CVUlMREVEJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfQVRUUkdST1VQX1dJTERDQVJEX0JVSUxERUQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFTX0FUVFJfRklYRUQnIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19BVFRSX0ZJWEVEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BU19BVFRSX0dMT0JBTCcgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0FUVFJfR0xPQkFMJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BU19BVFRSX0lOVEVSTkFMX1JFU09MVkVEJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfQVRUUl9JTlRFUk5BTF9SRVNPTFZFRCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVNfQVRUUl9OU0RFRkFVTFQnIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19BVFRSX05TREVGQVVMVCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVNfQVRUUl9VU0VfT1BUSU9OQUwnIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19BVFRSX1VTRV9PUFRJT05BTCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVNfQVRUUl9VU0VfUFJPSElCSVRFRCcgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0FUVFJfVVNFX1BST0hJQklURUQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFTX0FUVFJfVVNFX1JFUVVJUkVEJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfQVRUUl9VU0VfUkVRVUlSRUQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFTX0JBU0U2NEJJTkFSWScgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0JBU0U2NEJJTkFSWScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVNfQkxPQ0tfREVGQVVMVF9FWFRFTlNJT04nIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19CTE9DS19ERUZBVUxUX0VYVEVOU0lPTicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVNfQkxPQ0tfREVGQVVMVF9SRVNUUklDVElPTicgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0JMT0NLX0RFRkFVTFRfUkVTVFJJQ1RJT04nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFTX0JMT0NLX0RFRkFVTFRfU1VCU1RJVFVUSU9OJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfQkxPQ0tfREVGQVVMVF9TVUJTVElUVVRJT04nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFTX0JPT0xFQU4nIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19CT09MRUFOJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BU19CWVRFJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfQllURScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVNfREFURScgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0RBVEUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFTX0RBVEVUSU1FJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfREFURVRJTUUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFTX0RFQ0lNQUwnIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19ERUNJTUFMJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BU19ET1VCTEUnIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19ET1VCTEUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFTX0RVUkFUSU9OJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfRFVSQVRJT04nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFTX0VMRU1fQUJTVFJBQ1QnIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19FTEVNX0FCU1RSQUNUJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BU19FTEVNX0JMT0NLX0FCU0VOVCcgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0VMRU1fQkxPQ0tfQUJTRU5UJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BU19FTEVNX0JMT0NLX0VYVEVOU0lPTicgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0VMRU1fQkxPQ0tfRVhURU5TSU9OJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BU19FTEVNX0JMT0NLX1JFU1RSSUNUSU9OJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfRUxFTV9CTE9DS19SRVNUUklDVElPTicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVNfRUxFTV9CTE9DS19TVUJTVElUVVRJT04nIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19FTEVNX0JMT0NLX1NVQlNUSVRVVElPTicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVNfRUxFTV9DSVJDVUxBUicgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0VMRU1fQ0lSQ1VMQVInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFTX0VMRU1fREVGQVVMVCcgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0VMRU1fREVGQVVMVCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVNfRUxFTV9GSU5BTF9BQlNFTlQnIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19FTEVNX0ZJTkFMX0FCU0VOVCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVNfRUxFTV9GSU5BTF9FWFRFTlNJT04nIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19FTEVNX0ZJTkFMX0VYVEVOU0lPTicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVNfRUxFTV9GSU5BTF9SRVNUUklDVElPTicgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0VMRU1fRklOQUxfUkVTVFJJQ1RJT04nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFTX0VMRU1fRklYRUQnIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19FTEVNX0ZJWEVEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BU19FTEVNX0dMT0JBTCcgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0VMRU1fR0xPQkFMJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BU19FTEVNX0lOVEVSTkFMX0NIRUNLRUQnIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19FTEVNX0lOVEVSTkFMX0NIRUNLRUQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFTX0VMRU1fSU5URVJOQUxfUkVTT0xWRUQnIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19FTEVNX0lOVEVSTkFMX1JFU09MVkVEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BU19FTEVNX05JTExBQkxFJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfRUxFTV9OSUxMQUJMRScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVNfRUxFTV9OU0RFRkFVTFQnIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19FTEVNX05TREVGQVVMVCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVNfRUxFTV9SRUYnIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19FTEVNX1JFRicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVNfRUxFTV9TVUJTVF9HUk9VUF9IRUFEJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfRUxFTV9TVUJTVF9HUk9VUF9IRUFEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BU19FTEVNX1RPUExFVkVMJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfRUxFTV9UT1BMRVZFTCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVNfRU5USVRJRVMnIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19FTlRJVElFUycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVNfRU5USVRZJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfRU5USVRZJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BU19FUlJfJyBocmVmPSdodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjWE1MX1NDSEVNQVNfRVJSXycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVNfRVJSX0FUVFJJTlZBTElEJyBocmVmPSdodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjWE1MX1NDSEVNQVNfRVJSX0FUVFJJTlZBTElEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BU19FUlJfQVRUUlVOS05PV04nIGhyZWY9J2h0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCNYTUxfU0NIRU1BU19FUlJfQVRUUlVOS05PV04nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFTX0VSUl9DT05TVFJVQ1QnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCNYTUxfU0NIRU1BU19FUlJfQ09OU1RSVUNUJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BU19FUlJfRUxFTUNPTlQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCNYTUxfU0NIRU1BU19FUlJfRUxFTUNPTlQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFTX0VSUl9FWFRSQUNPTlRFTlQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCNYTUxfU0NIRU1BU19FUlJfRVhUUkFDT05URU5UJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BU19FUlJfRkFDRVQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCNYTUxfU0NIRU1BU19FUlJfRkFDRVQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFTX0VSUl9IQVZFREVGQVVMVCcgaHJlZj0naHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI1hNTF9TQ0hFTUFTX0VSUl9IQVZFREVGQVVMVCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVNfRVJSX0lOVEVSTkFMJyBocmVmPSdodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjWE1MX1NDSEVNQVNfRVJSX0lOVEVSTkFMJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BU19FUlJfSU5WQUxJREFUVFInIGhyZWY9J2h0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCNYTUxfU0NIRU1BU19FUlJfSU5WQUxJREFUVFInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFTX0VSUl9JTlZBTElERUxFTScgaHJlZj0naHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI1hNTF9TQ0hFTUFTX0VSUl9JTlZBTElERUxFTScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVNfRVJSX0lTQUJTVFJBQ1QnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCNYTUxfU0NIRU1BU19FUlJfSVNBQlNUUkFDVCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVNfRVJSX01JU1NJTkcnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCNYTUxfU0NIRU1BU19FUlJfTUlTU0lORycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVNfRVJSX05PUk9MTEJBQ0snIGhyZWY9J2h0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCNYTUxfU0NIRU1BU19FUlJfTk9ST0xMQkFDSycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVNfRVJSX05PUk9PVCcgaHJlZj0naHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI1hNTF9TQ0hFTUFTX0VSUl9OT1JPT1QnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFTX0VSUl9OT1RERVRFUk1JTklTVCcgaHJlZj0naHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI1hNTF9TQ0hFTUFTX0VSUl9OT1RERVRFUk1JTklTVCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVNfRVJSX05PVEVNUFRZJyBocmVmPSdodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjWE1MX1NDSEVNQVNfRVJSX05PVEVNUFRZJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BU19FUlJfTk9UTklMTEFCTEUnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCNYTUxfU0NIRU1BU19FUlJfTk9UTklMTEFCTEUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFTX0VSUl9OT1RTSU1QTEUnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCNYTUxfU0NIRU1BU19FUlJfTk9UU0lNUExFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BU19FUlJfTk9UVE9QTEVWRUwnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCNYTUxfU0NIRU1BU19FUlJfTk9UVE9QTEVWRUwnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFTX0VSUl9OT1RZUEUnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCNYTUxfU0NIRU1BU19FUlJfTk9UWVBFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BU19FUlJfT0snIGhyZWY9J2h0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCNYTUxfU0NIRU1BU19FUlJfT0snLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFTX0VSUl9VTkRFQ0xBUkVERUxFTScgaHJlZj0naHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI1hNTF9TQ0hFTUFTX0VSUl9VTkRFQ0xBUkVERUxFTScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVNfRVJSX1ZBTFVFJyBocmVmPSdodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjWE1MX1NDSEVNQVNfRVJSX1ZBTFVFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BU19FUlJfV1JPTkdFTEVNJyBocmVmPSdodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjWE1MX1NDSEVNQVNfRVJSX1dST05HRUxFTScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVNfRVJSX1hYWCcgaHJlZj0naHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI1hNTF9TQ0hFTUFTX0VSUl9YWFgnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFTX0ZBQ0VUX0NPTExBUFNFJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfRkFDRVRfQ09MTEFQU0UnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFTX0ZBQ0VUX1BSRVNFUlZFJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfRkFDRVRfUFJFU0VSVkUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFTX0ZBQ0VUX1JFUExBQ0UnIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19GQUNFVF9SRVBMQUNFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BU19GQUNFVF9VTktOT1dOJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfRkFDRVRfVU5LTk9XTicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVNfRklOQUxfREVGQVVMVF9FWFRFTlNJT04nIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19GSU5BTF9ERUZBVUxUX0VYVEVOU0lPTicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVNfRklOQUxfREVGQVVMVF9MSVNUJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfRklOQUxfREVGQVVMVF9MSVNUJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BU19GSU5BTF9ERUZBVUxUX1JFU1RSSUNUSU9OJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfRklOQUxfREVGQVVMVF9SRVNUUklDVElPTicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVNfRklOQUxfREVGQVVMVF9VTklPTicgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0ZJTkFMX0RFRkFVTFRfVU5JT04nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFTX0ZMT0FUJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfRkxPQVQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFTX0dEQVknIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19HREFZJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BU19HTU9OVEgnIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19HTU9OVEgnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFTX0dNT05USERBWScgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0dNT05USERBWScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVNfR1lFQVInIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19HWUVBUicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVNfR1lFQVJNT05USCcgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0dZRUFSTU9OVEgnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFTX0hFWEJJTkFSWScgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0hFWEJJTkFSWScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVNfSUQnIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19JRCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVNfSURSRUYnIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19JRFJFRicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVNfSURSRUZTJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfSURSRUZTJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BU19JTkNMVURJTkdfQ09OVkVSVF9OUycgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0lOQ0xVRElOR19DT05WRVJUX05TJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BU19JTlQnIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19JTlQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFTX0lOVEVHRVInIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19JTlRFR0VSJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BU19MQU5HVUFHRScgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX0xBTkdVQUdFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BU19MT05HJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfTE9ORycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVNfTkFNRScgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX05BTUUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFTX05DTkFNRScgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX05DTkFNRScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVNfTklOVEVHRVInIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19OSU5URUdFUicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVNfTk1UT0tFTicgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX05NVE9LRU4nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFTX05NVE9LRU5TJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfTk1UT0tFTlMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFTX05OSU5URUdFUicgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX05OSU5URUdFUicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVNfTk9STVNUUklORycgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX05PUk1TVFJJTkcnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFTX05PVEFUSU9OJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfTk9UQVRJT04nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFTX05QSU5URUdFUicgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX05QSU5URUdFUicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVNfUElOVEVHRVInIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19QSU5URUdFUicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVNfUU5BTUUnIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19RTkFNRScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVNfUVVBTElGX0FUVFInIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19RVUFMSUZfQVRUUicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVNfUVVBTElGX0VMRU0nIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19RVUFMSUZfRUxFTScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVNfU0hPUlQnIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19TSE9SVCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVNfU1RSSU5HJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfU1RSSU5HJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BU19USU1FJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVElNRScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVNfVE9LRU4nIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UT0tFTicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVNfVFlQRV9BQlNUUkFDVCcgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfQUJTVFJBQ1QnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfQkxPQ0tfREVGQVVMVCcgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfQkxPQ0tfREVGQVVMVCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVNfVFlQRV9CTE9DS19FWFRFTlNJT04nIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX0JMT0NLX0VYVEVOU0lPTicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVNfVFlQRV9CTE9DS19SRVNUUklDVElPTicgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfQkxPQ0tfUkVTVFJJQ1RJT04nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfQlVJTFRJTl9QUklNSVRJVkUnIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX0JVSUxUSU5fUFJJTUlUSVZFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX0RFUklWQVRJT05fTUVUSE9EX0VYVEVOU0lPTicgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfREVSSVZBVElPTl9NRVRIT0RfRVhURU5TSU9OJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX0RFUklWQVRJT05fTUVUSE9EX1JFU1RSSUNUSU9OJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVFlQRV9ERVJJVkFUSU9OX01FVEhPRF9SRVNUUklDVElPTicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVNfVFlQRV9GQUNFVFNORUVEVkFMVUUnIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX0ZBQ0VUU05FRURWQUxVRScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVNfVFlQRV9GSU5BTF9ERUZBVUxUJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVFlQRV9GSU5BTF9ERUZBVUxUJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX0ZJTkFMX0VYVEVOU0lPTicgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfRklOQUxfRVhURU5TSU9OJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX0ZJTkFMX0xJU1QnIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX0ZJTkFMX0xJU1QnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfRklOQUxfUkVTVFJJQ1RJT04nIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX0ZJTkFMX1JFU1RSSUNUSU9OJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX0ZJTkFMX1VOSU9OJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVFlQRV9GSU5BTF9VTklPTicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVNfVFlQRV9GSVhVUF8xJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVFlQRV9GSVhVUF8xJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX0dMT0JBTCcgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfR0xPQkFMJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX0hBU19GQUNFVFMnIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX0hBU19GQUNFVFMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfSU5URVJOQUxfSU5WQUxJRCcgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfSU5URVJOQUxfSU5WQUxJRCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVNfVFlQRV9JTlRFUk5BTF9SRVNPTFZFRCcgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfSU5URVJOQUxfUkVTT0xWRUQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfTUFSS0VEJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVFlQRV9NQVJLRUQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfTUlYRUQnIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX01JWEVEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX05PUk1WQUxVRU5FRURFRCcgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfTk9STVZBTFVFTkVFREVEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX09XTkVEX0FUVFJfV0lMRENBUkQnIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX09XTkVEX0FUVFJfV0lMRENBUkQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfUkVERUZJTkVEJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVFlQRV9SRURFRklORUQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfVkFSSUVUWV9BQlNFTlQnIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX1ZBUklFVFlfQUJTRU5UJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX1ZBUklFVFlfQVRPTUlDJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX0FUT01JQycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX0xJU1QnIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX1ZBUklFVFlfTElTVCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX1VOSU9OJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX1VOSU9OJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX1dISVRFU1BBQ0VfQ09MTEFQU0UnIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX1dISVRFU1BBQ0VfQ09MTEFQU0UnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfV0hJVEVTUEFDRV9QUkVTRVJWRScgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1RZUEVfV0hJVEVTUEFDRV9QUkVTRVJWRScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVNfVFlQRV9XSElURVNQQUNFX1JFUExBQ0UnIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19UWVBFX1dISVRFU1BBQ0VfUkVQTEFDRScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVNfVUJZVEUnIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19VQllURScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVNfVUlOVCcgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFTX1VJTlQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFTX1VMT05HJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfVUxPTkcnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFTX1VOS05PV04nIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19VTktOT1dOJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BU19VU0hPUlQnIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BU19VU0hPUlQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFTX1dJTERDQVJEX0NPTVBMRVRFJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQVNfV0lMRENBUkRfQ09NUExFVEUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFUUk9OVl9BU1NFUlQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVRST05WX0FTU0VSVCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVRST05WX1JFUE9SVCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVFJPTlZfUkVQT1JUJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BVFJPTl9PVVRfQlVGRkVSJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWF0cm9uLmh0bWwjWE1MX1NDSEVNQVRST05fT1VUX0JVRkZFUicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVRST05fT1VUX0VSUk9SJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWF0cm9uLmh0bWwjWE1MX1NDSEVNQVRST05fT1VUX0VSUk9SJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BVFJPTl9PVVRfRklMRScgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hdHJvbi5odG1sI1hNTF9TQ0hFTUFUUk9OX09VVF9GSUxFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BVFJPTl9PVVRfSU8nIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXRyb24uaHRtbCNYTUxfU0NIRU1BVFJPTl9PVVRfSU8nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFUUk9OX09VVF9RVUlFVCcgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hdHJvbi5odG1sI1hNTF9TQ0hFTUFUUk9OX09VVF9RVUlFVCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVRST05fT1VUX1RFWFQnIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXRyb24uaHRtbCNYTUxfU0NIRU1BVFJPTl9PVVRfVEVYVCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVRST05fT1VUX1hNTCcgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hdHJvbi5odG1sI1hNTF9TQ0hFTUFUUk9OX09VVF9YTUwnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFWX0FUVFJJTlZBTElEJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0FUVFJJTlZBTElEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BVl9BVFRSVU5LTk9XTicgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9BVFRSVU5LTk9XTicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVZfQ09OU1RSVUNUJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NPTlNUUlVDVCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX0FUVFJJQlVURV8xJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19BVFRSSUJVVEVfMScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX0FUVFJJQlVURV8yJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19BVFRSSUJVVEVfMicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX0FUVFJJQlVURV8zJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19BVFRSSUJVVEVfMycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX0FUVFJJQlVURV80JyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19BVFRSSUJVVEVfNCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX0FVJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19BVScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV8xJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfMScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV8yXzEnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV8yXzEnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfMl8yJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfMl8yJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzJfMycgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzJfMycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV8yXzQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV8yXzQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfM18xJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfM18xJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzNfMl8xJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfM18yXzEnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfM18yXzInIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV8zXzJfMicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV80JyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfNCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV81XzEnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV81XzEnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfNV8yJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfNV8yJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BVl9DVkNfREFUQVRZUEVfVkFMSURfMV8yXzEnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX0RBVEFUWVBFX1ZBTElEXzFfMl8xJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BVl9DVkNfREFUQVRZUEVfVkFMSURfMV8yXzInIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX0RBVEFUWVBFX1ZBTElEXzFfMl8yJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BVl9DVkNfREFUQVRZUEVfVkFMSURfMV8yXzMnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX0RBVEFUWVBFX1ZBTElEXzFfMl8zJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BVl9DVkNfRUxUXzEnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX0VMVF8xJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BVl9DVkNfRUxUXzInIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX0VMVF8yJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BVl9DVkNfRUxUXzNfMScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9DVkNfRUxUXzNfMScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX0VMVF8zXzJfMScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9DVkNfRUxUXzNfMl8xJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BVl9DVkNfRUxUXzNfMl8yJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19FTFRfM18yXzInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19FTFRfNF8xJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19FTFRfNF8xJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BVl9DVkNfRUxUXzRfMicgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9DVkNfRUxUXzRfMicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX0VMVF80XzMnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX0VMVF80XzMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19FTFRfNV8xXzEnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX0VMVF81XzFfMScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX0VMVF81XzFfMicgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9DVkNfRUxUXzVfMV8yJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BVl9DVkNfRUxUXzVfMl8xJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19FTFRfNV8yXzEnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19FTFRfNV8yXzJfMScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9DVkNfRUxUXzVfMl8yXzEnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19FTFRfNV8yXzJfMl8xJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19FTFRfNV8yXzJfMl8xJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BVl9DVkNfRUxUXzVfMl8yXzJfMicgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9DVkNfRUxUXzVfMl8yXzJfMicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX0VMVF82JyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19FTFRfNicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX0VMVF83JyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19FTFRfNycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX0VOVU1FUkFUSU9OX1ZBTElEJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19FTlVNRVJBVElPTl9WQUxJRCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX0ZBQ0VUX1ZBTElEJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19GQUNFVF9WQUxJRCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX0ZSQUNUSU9ORElHSVRTX1ZBTElEJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19GUkFDVElPTkRJR0lUU19WQUxJRCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX0lEQycgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9DVkNfSURDJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BVl9DVkNfTEVOR1RIX1ZBTElEJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19MRU5HVEhfVkFMSUQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19NQVhFWENMVVNJVkVfVkFMSUQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX01BWEVYQ0xVU0lWRV9WQUxJRCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX01BWElOQ0xVU0lWRV9WQUxJRCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9DVkNfTUFYSU5DTFVTSVZFX1ZBTElEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BVl9DVkNfTUFYTEVOR1RIX1ZBTElEJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19NQVhMRU5HVEhfVkFMSUQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19NSU5FWENMVVNJVkVfVkFMSUQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX01JTkVYQ0xVU0lWRV9WQUxJRCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX01JTklOQ0xVU0lWRV9WQUxJRCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9DVkNfTUlOSU5DTFVTSVZFX1ZBTElEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BVl9DVkNfTUlOTEVOR1RIX1ZBTElEJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19NSU5MRU5HVEhfVkFMSUQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19QQVRURVJOX1ZBTElEJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19QQVRURVJOX1ZBTElEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BVl9DVkNfVE9UQUxESUdJVFNfVkFMSUQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX1RPVEFMRElHSVRTX1ZBTElEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BVl9DVkNfVFlQRV8xJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19UWVBFXzEnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19UWVBFXzInIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX1RZUEVfMicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX1RZUEVfM18xXzEnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX1RZUEVfM18xXzEnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19UWVBFXzNfMV8yJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0NWQ19UWVBFXzNfMV8yJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BVl9DVkNfV0lMRENBUkQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfQ1ZDX1dJTERDQVJEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BVl9ET0NVTUVOVF9FTEVNRU5UX01JU1NJTkcnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfRE9DVU1FTlRfRUxFTUVOVF9NSVNTSU5HJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BVl9FTEVNQ09OVCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9FTEVNQ09OVCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVZfRUxFTUVOVF9DT05URU5UJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0VMRU1FTlRfQ09OVEVOVCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVZfRVhUUkFDT05URU5UJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0VYVFJBQ09OVEVOVCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVZfRkFDRVQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfRkFDRVQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFWX0hBVkVERUZBVUxUJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0hBVkVERUZBVUxUJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BVl9JTlRFUk5BTCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9JTlRFUk5BTCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVZfSU5WQUxJREFUVFInIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfSU5WQUxJREFUVFInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFWX0lOVkFMSURFTEVNJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0lOVkFMSURFTEVNJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BVl9JU0FCU1RSQUNUJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX0lTQUJTVFJBQ1QnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFWX01JU0MnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfTUlTQycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVZfTUlTU0lORycgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9NSVNTSU5HJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BVl9OT1JPTExCQUNLJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX05PUk9MTEJBQ0snLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFWX05PUk9PVCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9OT1JPT1QnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFWX05PVERFVEVSTUlOSVNUJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX05PVERFVEVSTUlOSVNUJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BVl9OT1RFTVBUWScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9OT1RFTVBUWScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVZfTk9UTklMTEFCTEUnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfTk9UTklMTEFCTEUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFWX05PVFNJTVBMRScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9OT1RTSU1QTEUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFWX05PVFRPUExFVkVMJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9TQ0hFTUFWX05PVFRPUExFVkVMJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BVl9OT1RZUEUnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfTk9UWVBFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BVl9VTkRFQ0xBUkVERUxFTScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9VTkRFQ0xBUkVERUxFTScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQVZfVkFMVUUnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1NDSEVNQVZfVkFMVUUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFWX1dST05HRUxFTScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfU0NIRU1BVl9XUk9OR0VMRU0nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFfQ09OVEVOVF9BTlknIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BX0NPTlRFTlRfQU5ZJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BX0NPTlRFTlRfQkFTSUMnIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BX0NPTlRFTlRfQkFTSUMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFfQ09OVEVOVF9FTEVNRU5UUycgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFfQ09OVEVOVF9FTEVNRU5UUycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQV9DT05URU5UX0VNUFRZJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQV9DT05URU5UX0VNUFRZJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BX0NPTlRFTlRfTUlYRUQnIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BX0NPTlRFTlRfTUlYRUQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFfQ09OVEVOVF9NSVhFRF9PUl9FTEVNRU5UUycgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFfQ09OVEVOVF9NSVhFRF9PUl9FTEVNRU5UUycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQV9DT05URU5UX1NJTVBMRScgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFfQ09OVEVOVF9TSU1QTEUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFfQ09OVEVOVF9VTktOT1dOJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQV9DT05URU5UX1VOS05PV04nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFfRVhUUkFfQVRUUl9VU0VfUFJPSElCJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQV9FWFRSQV9BVFRSX1VTRV9QUk9ISUInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFfRVhUUkFfUU5BTUVSRUYnIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BX0VYVFJBX1FOQU1FUkVGJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BX0ZBQ0VUX0VOVU1FUkFUSU9OJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQV9GQUNFVF9FTlVNRVJBVElPTicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQV9GQUNFVF9GUkFDVElPTkRJR0lUUycgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFfRkFDRVRfRlJBQ1RJT05ESUdJVFMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFfRkFDRVRfTEVOR1RIJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQV9GQUNFVF9MRU5HVEgnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFfRkFDRVRfTUFYRVhDTFVTSVZFJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQV9GQUNFVF9NQVhFWENMVVNJVkUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFfRkFDRVRfTUFYSU5DTFVTSVZFJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQV9GQUNFVF9NQVhJTkNMVVNJVkUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFfRkFDRVRfTUFYTEVOR1RIJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQV9GQUNFVF9NQVhMRU5HVEgnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFfRkFDRVRfTUlORVhDTFVTSVZFJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQV9GQUNFVF9NSU5FWENMVVNJVkUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFfRkFDRVRfTUlOSU5DTFVTSVZFJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQV9GQUNFVF9NSU5JTkNMVVNJVkUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFfRkFDRVRfTUlOTEVOR1RIJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQV9GQUNFVF9NSU5MRU5HVEgnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFfRkFDRVRfUEFUVEVSTicgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFfRkFDRVRfUEFUVEVSTicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQV9GQUNFVF9UT1RBTERJR0lUUycgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFfRkFDRVRfVE9UQUxESUdJVFMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFfRkFDRVRfV0hJVEVTUEFDRScgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFfRkFDRVRfV0hJVEVTUEFDRScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQV9UWVBFX0FMTCcgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFfVFlQRV9BTEwnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFfVFlQRV9BTlknIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BX1RZUEVfQU5ZJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BX1RZUEVfQU5ZX0FUVFJJQlVURScgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFfVFlQRV9BTllfQVRUUklCVVRFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BX1RZUEVfQVRUUklCVVRFJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQV9UWVBFX0FUVFJJQlVURScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQV9UWVBFX0FUVFJJQlVURUdST1VQJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQV9UWVBFX0FUVFJJQlVURUdST1VQJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BX1RZUEVfQVRUUklCVVRFX1VTRScgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFfVFlQRV9BVFRSSUJVVEVfVVNFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BX1RZUEVfQkFTSUMnIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BX1RZUEVfQkFTSUMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFfVFlQRV9DSE9JQ0UnIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BX1RZUEVfQ0hPSUNFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BX1RZUEVfQ09NUExFWCcgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFfVFlQRV9DT01QTEVYJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BX1RZUEVfQ09NUExFWF9DT05URU5UJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQV9UWVBFX0NPTVBMRVhfQ09OVEVOVCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQV9UWVBFX0VMRU1FTlQnIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BX1RZUEVfRUxFTUVOVCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQV9UWVBFX0VYVEVOU0lPTicgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFfVFlQRV9FWFRFTlNJT04nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFfVFlQRV9GQUNFVCcgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFfVFlQRV9GQUNFVCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQV9UWVBFX0dST1VQJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQV9UWVBFX0dST1VQJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BX1RZUEVfSURDX0tFWScgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFfVFlQRV9JRENfS0VZJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BX1RZUEVfSURDX0tFWVJFRicgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFfVFlQRV9JRENfS0VZUkVGJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BX1RZUEVfSURDX1VOSVFVRScgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFfVFlQRV9JRENfVU5JUVVFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BX1RZUEVfTElTVCcgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFfVFlQRV9MSVNUJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BX1RZUEVfTk9UQVRJT04nIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BX1RZUEVfTk9UQVRJT04nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFfVFlQRV9QQVJUSUNMRScgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFfVFlQRV9QQVJUSUNMRScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQV9UWVBFX1JFU1RSSUNUSU9OJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQV9UWVBFX1JFU1RSSUNUSU9OJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BX1RZUEVfU0VRVUVOQ0UnIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BX1RZUEVfU0VRVUVOQ0UnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFfVFlQRV9TSU1QTEUnIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BX1RZUEVfU0lNUExFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BX1RZUEVfU0lNUExFX0NPTlRFTlQnIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNYTUxfU0NIRU1BX1RZUEVfU0lNUExFX0NPTlRFTlQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFfVFlQRV9VTklPTicgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI1hNTF9TQ0hFTUFfVFlQRV9VTklPTicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQV9UWVBFX1VSJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjWE1MX1NDSEVNQV9UWVBFX1VSJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BX1ZBTF9WQ19JX0NSRUFURScgaHJlZj0naHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI1hNTF9TQ0hFTUFfVkFMX1ZDX0lfQ1JFQVRFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0NIRU1BX1dISVRFU1BBQ0VfQ09MTEFQU0UnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI1hNTF9TQ0hFTUFfV0hJVEVTUEFDRV9DT0xMQVBTRScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQV9XSElURVNQQUNFX1BSRVNFUlZFJyBocmVmPSdodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCNYTUxfU0NIRU1BX1dISVRFU1BBQ0VfUFJFU0VSVkUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9TQ0hFTUFfV0hJVEVTUEFDRV9SRVBMQUNFJyBocmVmPSdodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCNYTUxfU0NIRU1BX1dISVRFU1BBQ0VfUkVQTEFDRScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NDSEVNQV9XSElURVNQQUNFX1VOS05PV04nIGhyZWY9J2h0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI1hNTF9TQ0hFTUFfV0hJVEVTUEFDRV9VTktOT1dOJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU0tJUF9JRFMnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9TS0lQX0lEUycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NVQlNUSVRVVEVfQk9USCcgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjWE1MX1NVQlNUSVRVVEVfQk9USCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NVQlNUSVRVVEVfTk9ORScgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjWE1MX1NVQlNUSVRVVEVfTk9ORScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1NVQlNUSVRVVEVfUEVSRUYnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI1hNTF9TVUJTVElUVVRFX1BFUkVGJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfU1VCU1RJVFVURV9SRUYnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI1hNTF9TVUJTVElUVVRFX1JFRicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1RFWFRSRUFERVJfTU9ERV9DTE9TRUQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI1hNTF9URVhUUkVBREVSX01PREVfQ0xPU0VEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfVEVYVFJFQURFUl9NT0RFX0VPRicgaHJlZj0naHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjWE1MX1RFWFRSRUFERVJfTU9ERV9FT0YnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9URVhUUkVBREVSX01PREVfRVJST1InIGhyZWY9J2h0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI1hNTF9URVhUUkVBREVSX01PREVfRVJST1InLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9URVhUUkVBREVSX01PREVfSU5JVElBTCcgaHJlZj0naHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjWE1MX1RFWFRSRUFERVJfTU9ERV9JTklUSUFMJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfVEVYVFJFQURFUl9NT0RFX0lOVEVSQUNUSVZFJyBocmVmPSdodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCNYTUxfVEVYVFJFQURFUl9NT0RFX0lOVEVSQUNUSVZFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfVEVYVFJFQURFUl9NT0RFX1JFQURJTkcnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI1hNTF9URVhUUkVBREVSX01PREVfUkVBRElORycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1RFWFRfTk9ERScgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTF9URVhUX05PREUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9UUkVFX0lOVkFMSURfREVDJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9UUkVFX0lOVkFMSURfREVDJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfVFJFRV9JTlZBTElEX0hFWCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfVFJFRV9JTlZBTElEX0hFWCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1RSRUVfTk9UX1VURjgnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1RSRUVfTk9UX1VURjgnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9UUkVFX1VOVEVSTUlOQVRFRF9FTlRJVFknIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1RSRUVfVU5URVJNSU5BVEVEX0VOVElUWScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1dBUl9DQVRBTE9HX1BJJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9XQVJfQ0FUQUxPR19QSScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1dBUl9FTlRJVFlfUkVERUZJTkVEJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9XQVJfRU5USVRZX1JFREVGSU5FRCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1dBUl9MQU5HX1ZBTFVFJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9XQVJfTEFOR19WQUxVRScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1dBUl9OU19DT0xVTU4nIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1dBUl9OU19DT0xVTU4nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9XQVJfTlNfVVJJJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9XQVJfTlNfVVJJJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfV0FSX05TX1VSSV9SRUxBVElWRScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfV0FSX05TX1VSSV9SRUxBVElWRScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1dBUl9TUEFDRV9WQUxVRScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfV0FSX1NQQUNFX1ZBTFVFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfV0FSX1VOREVDTEFSRURfRU5USVRZJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9XQVJfVU5ERUNMQVJFRF9FTlRJVFknLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9XQVJfVU5LTk9XTl9WRVJTSU9OJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9XQVJfVU5LTk9XTl9WRVJTSU9OJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfV0lUSF9BVVRPTUFUQScgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1dJVEhfQVVUT01BVEEnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9XSVRIX0MxNE4nIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9XSVRIX0MxNE4nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9XSVRIX0NBVEFMT0cnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9XSVRIX0NBVEFMT0cnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9XSVRIX0RFQlVHJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfV0lUSF9ERUJVRycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1dJVEhfREVCVUdfTUVNJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfV0lUSF9ERUJVR19NRU0nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9XSVRIX0RFQlVHX1JVTicgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1dJVEhfREVCVUdfUlVOJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfV0lUSF9FWFBSJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfV0lUSF9FWFBSJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfV0lUSF9GVFAnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9XSVRIX0ZUUCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1dJVEhfSFRNTCcgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1dJVEhfSFRNTCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1dJVEhfSFRUUCcgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1dJVEhfSFRUUCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1dJVEhfSUNPTlYnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9XSVRIX0lDT05WJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfV0lUSF9JQ1UnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9XSVRIX0lDVScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1dJVEhfSVNPODg1OVgnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9XSVRIX0lTTzg4NTlYJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfV0lUSF9MRUdBQ1knIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9XSVRIX0xFR0FDWScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1dJVEhfTFpNQScgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1dJVEhfTFpNQScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1dJVEhfTU9EVUxFUycgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1dJVEhfTU9EVUxFUycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1dJVEhfTk9ORScgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1dJVEhfTk9ORScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1dJVEhfT1VUUFVUJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfV0lUSF9PVVRQVVQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9XSVRIX1BBVFRFUk4nIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9XSVRIX1BBVFRFUk4nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9XSVRIX1BVU0gnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9XSVRIX1BVU0gnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9XSVRIX1JFQURFUicgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1dJVEhfUkVBREVSJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfV0lUSF9SRUdFWFAnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9XSVRIX1JFR0VYUCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1dJVEhfU0FYMScgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1dJVEhfU0FYMScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1dJVEhfU0NIRU1BUycgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1dJVEhfU0NIRU1BUycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1dJVEhfU0NIRU1BVFJPTicgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MX1dJVEhfU0NIRU1BVFJPTicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1dJVEhfVEhSRUFEJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfV0lUSF9USFJFQUQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9XSVRIX1RSRUUnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9XSVRIX1RSRUUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9XSVRIX1VOSUNPREUnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9XSVRIX1VOSUNPREUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9XSVRIX1ZBTElEJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfV0lUSF9WQUxJRCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1dJVEhfV1JJVEVSJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfV0lUSF9XUklURVInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9XSVRIX1hJTkNMVURFJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfV0lUSF9YSU5DTFVERScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1dJVEhfWFBBVEgnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTF9XSVRIX1hQQVRIJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfV0lUSF9YUFRSJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfV0lUSF9YUFRSJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfV0lUSF9aTElCJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNYTUxfV0lUSF9aTElCJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfWElOQ0xVREVfQlVJTERfRkFJTEVEJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9YSU5DTFVERV9CVUlMRF9GQUlMRUQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9YSU5DTFVERV9ERVBSRUNBVEVEX05TJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9YSU5DTFVERV9ERVBSRUNBVEVEX05TJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfWElOQ0xVREVfRU5EJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX1hJTkNMVURFX0VORCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1hJTkNMVURFX0VOVElUWV9ERUZfTUlTTUFUQ0gnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1hJTkNMVURFX0VOVElUWV9ERUZfTUlTTUFUQ0gnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9YSU5DTFVERV9GQUxMQkFDS1NfSU5fSU5DTFVERScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfWElOQ0xVREVfRkFMTEJBQ0tTX0lOX0lOQ0xVREUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9YSU5DTFVERV9GQUxMQkFDS19OT1RfSU5fSU5DTFVERScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfWElOQ0xVREVfRkFMTEJBQ0tfTk9UX0lOX0lOQ0xVREUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9YSU5DTFVERV9GUkFHTUVOVF9JRCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfWElOQ0xVREVfRlJBR01FTlRfSUQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9YSU5DTFVERV9IUkVGX1VSSScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfWElOQ0xVREVfSFJFRl9VUkknLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9YSU5DTFVERV9JTkNMVURFX0lOX0lOQ0xVREUnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1hJTkNMVURFX0lOQ0xVREVfSU5fSU5DTFVERScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1hJTkNMVURFX0lOVkFMSURfQ0hBUicgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfWElOQ0xVREVfSU5WQUxJRF9DSEFSJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfWElOQ0xVREVfTVVMVElQTEVfUk9PVCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfWElOQ0xVREVfTVVMVElQTEVfUk9PVCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1hJTkNMVURFX05PX0ZBTExCQUNLJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9YSU5DTFVERV9OT19GQUxMQkFDSycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1hJTkNMVURFX05PX0hSRUYnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1hJTkNMVURFX05PX0hSRUYnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9YSU5DTFVERV9QQVJTRV9WQUxVRScgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfWElOQ0xVREVfUEFSU0VfVkFMVUUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9YSU5DTFVERV9SRUNVUlNJT04nIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1hJTkNMVURFX1JFQ1VSU0lPTicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1hJTkNMVURFX1NUQVJUJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX1hJTkNMVURFX1NUQVJUJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfWElOQ0xVREVfVEVYVF9ET0NVTUVOVCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfWElOQ0xVREVfVEVYVF9ET0NVTUVOVCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1hJTkNMVURFX1RFWFRfRlJBR01FTlQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1hJTkNMVURFX1RFWFRfRlJBR01FTlQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9YSU5DTFVERV9VTktOT1dOX0VOQ09ESU5HJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9YSU5DTFVERV9VTktOT1dOX0VOQ09ESU5HJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfWElOQ0xVREVfWFBUUl9GQUlMRUQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1hJTkNMVURFX1hQVFJfRkFJTEVEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfWElOQ0xVREVfWFBUUl9SRVNVTFQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1hJTkNMVURFX1hQVFJfUkVTVUxUJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfWE1MX0lEJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MX1hNTF9JRCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1hNTF9OQU1FU1BBQ0UnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCNYTUxfWE1MX05BTUVTUEFDRScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1hQQVRIX0NIRUNLTlMnIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoLmh0bWwjWE1MX1hQQVRIX0NIRUNLTlMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9YUEFUSF9FTkNPRElOR19FUlJPUicgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfWFBBVEhfRU5DT0RJTkdfRVJST1InLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9YUEFUSF9FWFBSRVNTSU9OX09LJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9YUEFUSF9FWFBSRVNTSU9OX09LJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfWFBBVEhfRVhQUl9FUlJPUicgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfWFBBVEhfRVhQUl9FUlJPUicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1hQQVRIX0lOVkFMSURfQVJJVFknIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1hQQVRIX0lOVkFMSURfQVJJVFknLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9YUEFUSF9JTlZBTElEX0NIQVJfRVJST1InIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1hQQVRIX0lOVkFMSURfQ0hBUl9FUlJPUicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1hQQVRIX0lOVkFMSURfQ1RYVF9QT1NJVElPTicgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfWFBBVEhfSU5WQUxJRF9DVFhUX1BPU0lUSU9OJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfWFBBVEhfSU5WQUxJRF9DVFhUX1NJWkUnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1hQQVRIX0lOVkFMSURfQ1RYVF9TSVpFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfWFBBVEhfSU5WQUxJRF9PUEVSQU5EJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9YUEFUSF9JTlZBTElEX09QRVJBTkQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9YUEFUSF9JTlZBTElEX1BSRURJQ0FURV9FUlJPUicgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfWFBBVEhfSU5WQUxJRF9QUkVESUNBVEVfRVJST1InLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9YUEFUSF9JTlZBTElEX1RZUEUnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1hQQVRIX0lOVkFMSURfVFlQRScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1hQQVRIX01FTU9SWV9FUlJPUicgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfWFBBVEhfTUVNT1JZX0VSUk9SJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfWFBBVEhfTk9WQVInIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoLmh0bWwjWE1MX1hQQVRIX05PVkFSJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfWFBBVEhfTlVNQkVSX0VSUk9SJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9YUEFUSF9OVU1CRVJfRVJST1InLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9YUEFUSF9TVEFSVF9MSVRFUkFMX0VSUk9SJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9YUEFUSF9TVEFSVF9MSVRFUkFMX0VSUk9SJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfWFBBVEhfVU5DTE9TRURfRVJST1InIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1hQQVRIX1VOQ0xPU0VEX0VSUk9SJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfWFBBVEhfVU5ERUZfUFJFRklYX0VSUk9SJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9YUEFUSF9VTkRFRl9QUkVGSVhfRVJST1InLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9YUEFUSF9VTkRFRl9WQVJJQUJMRV9FUlJPUicgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfWFBBVEhfVU5ERUZfVkFSSUFCTEVfRVJST1InLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9YUEFUSF9VTkZJTklTSEVEX0xJVEVSQUxfRVJST1InIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1hQQVRIX1VORklOSVNIRURfTElURVJBTF9FUlJPUicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1hQQVRIX1VOS05PV05fRlVOQ19FUlJPUicgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfWFBBVEhfVU5LTk9XTl9GVU5DX0VSUk9SJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfWFBBVEhfVkFSSUFCTEVfUkVGX0VSUk9SJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9YUEFUSF9WQVJJQUJMRV9SRUZfRVJST1InLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hNTF9YUFRSX0NISUxEU0VRX1NUQVJUJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9YUFRSX0NISUxEU0VRX1NUQVJUJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfWFBUUl9FVkFMX0ZBSUxFRCcgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfWFBUUl9FVkFMX0ZBSUxFRCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1hQVFJfRVhUUkFfT0JKRUNUUycgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfWFBUUl9FWFRSQV9PQkpFQ1RTJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYTUxfWFBUUl9SRVNPVVJDRV9FUlJPUicgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNYTUxfWFBUUl9SRVNPVVJDRV9FUlJPUicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1hQVFJfU1VCX1JFU09VUkNFX0VSUk9SJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9YUFRSX1NVQl9SRVNPVVJDRV9FUlJPUicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1hQVFJfU1lOVEFYX0VSUk9SJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI1hNTF9YUFRSX1NZTlRBWF9FUlJPUicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWE1MX1hQVFJfVU5LTk9XTl9TQ0hFTUUnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjWE1MX1hQVFJfVU5LTk9XTl9TQ0hFTUUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hQQVRIX0JPT0xFQU4nIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoLmh0bWwjWFBBVEhfQk9PTEVBTicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWFBBVEhfRU5DT0RJTkdfRVJST1InIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoLmh0bWwjWFBBVEhfRU5DT0RJTkdfRVJST1InLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hQQVRIX0VYUFJFU1NJT05fT0snIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoLmh0bWwjWFBBVEhfRVhQUkVTU0lPTl9PSycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWFBBVEhfRVhQUl9FUlJPUicgaHJlZj0naHRtbC9saWJ4bWwteHBhdGguaHRtbCNYUEFUSF9FWFBSX0VSUk9SJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYUEFUSF9GT1JCSURfVkFSSUFCTEVfRVJST1InIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoLmh0bWwjWFBBVEhfRk9SQklEX1ZBUklBQkxFX0VSUk9SJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYUEFUSF9JTlZBTElEX0FSSVRZJyBocmVmPSdodG1sL2xpYnhtbC14cGF0aC5odG1sI1hQQVRIX0lOVkFMSURfQVJJVFknLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hQQVRIX0lOVkFMSURfQ0hBUl9FUlJPUicgaHJlZj0naHRtbC9saWJ4bWwteHBhdGguaHRtbCNYUEFUSF9JTlZBTElEX0NIQVJfRVJST1InLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hQQVRIX0lOVkFMSURfQ1RYVCcgaHJlZj0naHRtbC9saWJ4bWwteHBhdGguaHRtbCNYUEFUSF9JTlZBTElEX0NUWFQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hQQVRIX0lOVkFMSURfQ1RYVF9QT1NJVElPTicgaHJlZj0naHRtbC9saWJ4bWwteHBhdGguaHRtbCNYUEFUSF9JTlZBTElEX0NUWFRfUE9TSVRJT04nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hQQVRIX0lOVkFMSURfQ1RYVF9TSVpFJyBocmVmPSdodG1sL2xpYnhtbC14cGF0aC5odG1sI1hQQVRIX0lOVkFMSURfQ1RYVF9TSVpFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYUEFUSF9JTlZBTElEX09QRVJBTkQnIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoLmh0bWwjWFBBVEhfSU5WQUxJRF9PUEVSQU5EJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYUEFUSF9JTlZBTElEX1BSRURJQ0FURV9FUlJPUicgaHJlZj0naHRtbC9saWJ4bWwteHBhdGguaHRtbCNYUEFUSF9JTlZBTElEX1BSRURJQ0FURV9FUlJPUicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWFBBVEhfSU5WQUxJRF9UWVBFJyBocmVmPSdodG1sL2xpYnhtbC14cGF0aC5odG1sI1hQQVRIX0lOVkFMSURfVFlQRScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWFBBVEhfTE9DQVRJT05TRVQnIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoLmh0bWwjWFBBVEhfTE9DQVRJT05TRVQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hQQVRIX01FTU9SWV9FUlJPUicgaHJlZj0naHRtbC9saWJ4bWwteHBhdGguaHRtbCNYUEFUSF9NRU1PUllfRVJST1InLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hQQVRIX05PREVTRVQnIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoLmh0bWwjWFBBVEhfTk9ERVNFVCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWFBBVEhfTlVNQkVSJyBocmVmPSdodG1sL2xpYnhtbC14cGF0aC5odG1sI1hQQVRIX05VTUJFUicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWFBBVEhfTlVNQkVSX0VSUk9SJyBocmVmPSdodG1sL2xpYnhtbC14cGF0aC5odG1sI1hQQVRIX05VTUJFUl9FUlJPUicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWFBBVEhfUE9JTlQnIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoLmh0bWwjWFBBVEhfUE9JTlQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hQQVRIX1JBTkdFJyBocmVmPSdodG1sL2xpYnhtbC14cGF0aC5odG1sI1hQQVRIX1JBTkdFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYUEFUSF9TVEFDS19FUlJPUicgaHJlZj0naHRtbC9saWJ4bWwteHBhdGguaHRtbCNYUEFUSF9TVEFDS19FUlJPUicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWFBBVEhfU1RBUlRfTElURVJBTF9FUlJPUicgaHJlZj0naHRtbC9saWJ4bWwteHBhdGguaHRtbCNYUEFUSF9TVEFSVF9MSVRFUkFMX0VSUk9SJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYUEFUSF9TVFJJTkcnIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoLmh0bWwjWFBBVEhfU1RSSU5HJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYUEFUSF9VTkNMT1NFRF9FUlJPUicgaHJlZj0naHRtbC9saWJ4bWwteHBhdGguaHRtbCNYUEFUSF9VTkNMT1NFRF9FUlJPUicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWFBBVEhfVU5ERUZJTkVEJyBocmVmPSdodG1sL2xpYnhtbC14cGF0aC5odG1sI1hQQVRIX1VOREVGSU5FRCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWFBBVEhfVU5ERUZfUFJFRklYX0VSUk9SJyBocmVmPSdodG1sL2xpYnhtbC14cGF0aC5odG1sI1hQQVRIX1VOREVGX1BSRUZJWF9FUlJPUicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWFBBVEhfVU5ERUZfVkFSSUFCTEVfRVJST1InIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoLmh0bWwjWFBBVEhfVU5ERUZfVkFSSUFCTEVfRVJST1InLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hQQVRIX1VORklOSVNIRURfTElURVJBTF9FUlJPUicgaHJlZj0naHRtbC9saWJ4bWwteHBhdGguaHRtbCNYUEFUSF9VTkZJTklTSEVEX0xJVEVSQUxfRVJST1InLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hQQVRIX1VOS05PV05fRlVOQ19FUlJPUicgaHJlZj0naHRtbC9saWJ4bWwteHBhdGguaHRtbCNYUEFUSF9VTktOT1dOX0ZVTkNfRVJST1InLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hQQVRIX1VTRVJTJyBocmVmPSdodG1sL2xpYnhtbC14cGF0aC5odG1sI1hQQVRIX1VTRVJTJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYUEFUSF9WQVJJQUJMRV9SRUZfRVJST1InIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoLmh0bWwjWFBBVEhfVkFSSUFCTEVfUkVGX0VSUk9SJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYUEFUSF9YU0xUX1RSRUUnIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoLmh0bWwjWFBBVEhfWFNMVF9UUkVFJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYUFRSX1JFU09VUkNFX0VSUk9SJyBocmVmPSdodG1sL2xpYnhtbC14cGF0aC5odG1sI1hQVFJfUkVTT1VSQ0VfRVJST1InLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hQVFJfU1VCX1JFU09VUkNFX0VSUk9SJyBocmVmPSdodG1sL2xpYnhtbC14cGF0aC5odG1sI1hQVFJfU1VCX1JFU09VUkNFX0VSUk9SJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdYUFRSX1NZTlRBWF9FUlJPUicgaHJlZj0naHRtbC9saWJ4bWwteHBhdGguaHRtbCNYUFRSX1NZTlRBWF9FUlJPUicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nWFBfRVJST1InIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjWFBfRVJST1InLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J1hQX0VSUk9SMCcgaHJlZj0naHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCNYUF9FUlJPUjAnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J19SRUVOVFJBTlQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGV4cG9ydHMuaHRtbCNfUkVFTlRSQU5UJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdfaHRtbEVsZW1EZXNjJyBocmVmPSdodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjX2h0bWxFbGVtRGVzYycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nX2h0bWxFbnRpdHlEZXNjJyBocmVmPSdodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjX2h0bWxFbnRpdHlEZXNjJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdfdWNvbnZfdCcgaHJlZj0naHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCNfdWNvbnZfdCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nX3hsaW5rSGFuZGxlcicgaHJlZj0naHRtbC9saWJ4bWwteGxpbmsuaHRtbCNfeGxpbmtIYW5kbGVyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdfeG1sQXR0cicgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI194bWxBdHRyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdfeG1sQXR0cmlidXRlJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjX3htbEF0dHJpYnV0ZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nX3htbEJ1ZmZlcicgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI194bWxCdWZmZXInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J194bWxDaExSYW5nZScgaHJlZj0naHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI194bWxDaExSYW5nZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nX3htbENoUmFuZ2VHcm91cCcgaHJlZj0naHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI194bWxDaFJhbmdlR3JvdXAnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J194bWxDaFNSYW5nZScgaHJlZj0naHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI194bWxDaFNSYW5nZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nX3htbENoYXJFbmNvZGluZ0hhbmRsZXInIGhyZWY9J2h0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjX3htbENoYXJFbmNvZGluZ0hhbmRsZXInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J194bWxET01XcmFwQ3R4dCcgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI194bWxET01XcmFwQ3R4dCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nX3htbERvYycgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI194bWxEb2MnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J194bWxEdGQnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCNfeG1sRHRkJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdfeG1sRWxlbWVudCcgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI194bWxFbGVtZW50Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdfeG1sRWxlbWVudENvbnRlbnQnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCNfeG1sRWxlbWVudENvbnRlbnQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J194bWxFbnRpdHknIGhyZWY9J2h0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjX3htbEVudGl0eScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nX3htbEVudW1lcmF0aW9uJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjX3htbEVudW1lcmF0aW9uJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdfeG1sRXJyb3InIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjX3htbEVycm9yJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdfeG1sR2xvYmFsU3RhdGUnIGhyZWY9J2h0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCNfeG1sR2xvYmFsU3RhdGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J194bWxJRCcgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI194bWxJRCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nX3htbExvY2F0aW9uU2V0JyBocmVmPSdodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI194bWxMb2NhdGlvblNldCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nX3htbE5vZGUnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCNfeG1sTm9kZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nX3htbE5vZGVTZXQnIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoLmh0bWwjX3htbE5vZGVTZXQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J194bWxOb3RhdGlvbicgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI194bWxOb3RhdGlvbicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nX3htbE5zJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjX3htbE5zJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdfeG1sT3V0cHV0QnVmZmVyJyBocmVmPSdodG1sL2xpYnhtbC14bWxJTy5odG1sI194bWxPdXRwdXRCdWZmZXInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J194bWxQYXJzZXJDdHh0JyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNfeG1sUGFyc2VyQ3R4dCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nX3htbFBhcnNlcklucHV0JyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNfeG1sUGFyc2VySW5wdXQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J194bWxQYXJzZXJJbnB1dEJ1ZmZlcicgaHJlZj0naHRtbC9saWJ4bWwteG1sSU8uaHRtbCNfeG1sUGFyc2VySW5wdXRCdWZmZXInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J194bWxQYXJzZXJOb2RlSW5mbycgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjX3htbFBhcnNlck5vZGVJbmZvJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdfeG1sUGFyc2VyTm9kZUluZm9TZXEnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlci5odG1sI194bWxQYXJzZXJOb2RlSW5mb1NlcScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nX3htbFJlZicgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI194bWxSZWYnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J194bWxTQVhIYW5kbGVyJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNfeG1sU0FYSGFuZGxlcicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nX3htbFNBWEhhbmRsZXJWMScgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjX3htbFNBWEhhbmRsZXJWMScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nX3htbFNBWExvY2F0b3InIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlci5odG1sI194bWxTQVhMb2NhdG9yJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdfeG1sU2NoZW1hJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjX3htbFNjaGVtYScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nX3htbFNjaGVtYUFubm90JyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjX3htbFNjaGVtYUFubm90Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdfeG1sU2NoZW1hQXR0cmlidXRlJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjX3htbFNjaGVtYUF0dHJpYnV0ZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nX3htbFNjaGVtYUF0dHJpYnV0ZUdyb3VwJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjX3htbFNjaGVtYUF0dHJpYnV0ZUdyb3VwJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdfeG1sU2NoZW1hQXR0cmlidXRlTGluaycgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI194bWxTY2hlbWFBdHRyaWJ1dGVMaW5rJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdfeG1sU2NoZW1hRWxlbWVudCcgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI194bWxTY2hlbWFFbGVtZW50Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdfeG1sU2NoZW1hRmFjZXQnIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNfeG1sU2NoZW1hRmFjZXQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J194bWxTY2hlbWFGYWNldExpbmsnIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNfeG1sU2NoZW1hRmFjZXRMaW5rJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdfeG1sU2NoZW1hTm90YXRpb24nIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCNfeG1sU2NoZW1hTm90YXRpb24nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J194bWxTY2hlbWFUeXBlJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjX3htbFNjaGVtYVR5cGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J194bWxTY2hlbWFUeXBlTGluaycgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI194bWxTY2hlbWFUeXBlTGluaycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nX3htbFNjaGVtYVdpbGRjYXJkJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjX3htbFNjaGVtYVdpbGRjYXJkJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdfeG1sU2NoZW1hV2lsZGNhcmROcycgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI194bWxTY2hlbWFXaWxkY2FyZE5zJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdfeG1sU2hlbGxDdHh0JyBocmVmPSdodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI194bWxTaGVsbEN0eHQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J194bWxVUkknIGhyZWY9J2h0bWwvbGlieG1sLXVyaS5odG1sI194bWxVUkknLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J194bWxWYWxpZEN0eHQnIGhyZWY9J2h0bWwvbGlieG1sLXZhbGlkLmh0bWwjX3htbFZhbGlkQ3R4dCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nX3htbFhQYXRoQXhpcycgaHJlZj0naHRtbC9saWJ4bWwteHBhdGguaHRtbCNfeG1sWFBhdGhBeGlzJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdfeG1sWFBhdGhDb250ZXh0JyBocmVmPSdodG1sL2xpYnhtbC14cGF0aC5odG1sI194bWxYUGF0aENvbnRleHQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J194bWxYUGF0aEZ1bmN0JyBocmVmPSdodG1sL2xpYnhtbC14cGF0aC5odG1sI194bWxYUGF0aEZ1bmN0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdfeG1sWFBhdGhPYmplY3QnIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoLmh0bWwjX3htbFhQYXRoT2JqZWN0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdfeG1sWFBhdGhQYXJzZXJDb250ZXh0JyBocmVmPSdodG1sL2xpYnhtbC14cGF0aC5odG1sI194bWxYUGF0aFBhcnNlckNvbnRleHQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J194bWxYUGF0aFR5cGUnIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoLmh0bWwjX3htbFhQYXRoVHlwZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nX3htbFhQYXRoVmFyaWFibGUnIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoLmh0bWwjX3htbFhQYXRoVmFyaWFibGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J2F0dHJpYnV0ZScgaHJlZj0naHRtbC9saWJ4bWwtU0FYLmh0bWwjYXR0cmlidXRlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdhdHRyaWJ1dGVEZWNsJyBocmVmPSdodG1sL2xpYnhtbC1TQVguaHRtbCNhdHRyaWJ1dGVEZWNsJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdhdHRyaWJ1dGVEZWNsU0FYRnVuYycgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjYXR0cmlidXRlRGVjbFNBWEZ1bmMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J2F0dHJpYnV0ZVNBWEZ1bmMnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlci5odG1sI2F0dHJpYnV0ZVNBWEZ1bmMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J2NkYXRhQmxvY2snIGhyZWY9J2h0bWwvbGlieG1sLVNBWC5odG1sI2NkYXRhQmxvY2snLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J2NkYXRhQmxvY2tTQVhGdW5jJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNjZGF0YUJsb2NrU0FYRnVuYycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nY2hhcmFjdGVycycgaHJlZj0naHRtbC9saWJ4bWwtU0FYLmh0bWwjY2hhcmFjdGVycycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nY2hhcmFjdGVyc1NBWEZ1bmMnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlci5odG1sI2NoYXJhY3RlcnNTQVhGdW5jJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdjaGVja05hbWVzcGFjZScgaHJlZj0naHRtbC9saWJ4bWwtU0FYLmh0bWwjY2hlY2tOYW1lc3BhY2UnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J2NvbW1lbnQnIGhyZWY9J2h0bWwvbGlieG1sLVNBWC5odG1sI2NvbW1lbnQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J2NvbW1lbnRTQVhGdW5jJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNjb21tZW50U0FYRnVuYycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nZG9jYkNyZWF0ZUZpbGVQYXJzZXJDdHh0JyBocmVmPSdodG1sL2xpYnhtbC1ET0NCcGFyc2VyLmh0bWwjZG9jYkNyZWF0ZUZpbGVQYXJzZXJDdHh0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdkb2NiQ3JlYXRlUHVzaFBhcnNlckN0eHQnIGhyZWY9J2h0bWwvbGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiQ3JlYXRlUHVzaFBhcnNlckN0eHQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J2RvY2JEZWZhdWx0U0FYSGFuZGxlcicgaHJlZj0naHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI2RvY2JEZWZhdWx0U0FYSGFuZGxlcicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nZG9jYkRlZmF1bHRTQVhIYW5kbGVySW5pdCcgaHJlZj0naHRtbC9saWJ4bWwtU0FYMi5odG1sI2RvY2JEZWZhdWx0U0FYSGFuZGxlckluaXQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J2RvY2JEb2NQdHInIGhyZWY9J2h0bWwvbGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiRG9jUHRyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdkb2NiRW5jb2RlRW50aXRpZXMnIGhyZWY9J2h0bWwvbGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiRW5jb2RlRW50aXRpZXMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J2RvY2JGcmVlUGFyc2VyQ3R4dCcgaHJlZj0naHRtbC9saWJ4bWwtRE9DQnBhcnNlci5odG1sI2RvY2JGcmVlUGFyc2VyQ3R4dCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nZG9jYlBhcnNlQ2h1bmsnIGhyZWY9J2h0bWwvbGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiUGFyc2VDaHVuaycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nZG9jYlBhcnNlRG9jJyBocmVmPSdodG1sL2xpYnhtbC1ET0NCcGFyc2VyLmh0bWwjZG9jYlBhcnNlRG9jJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdkb2NiUGFyc2VEb2N1bWVudCcgaHJlZj0naHRtbC9saWJ4bWwtRE9DQnBhcnNlci5odG1sI2RvY2JQYXJzZURvY3VtZW50Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdkb2NiUGFyc2VGaWxlJyBocmVmPSdodG1sL2xpYnhtbC1ET0NCcGFyc2VyLmh0bWwjZG9jYlBhcnNlRmlsZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nZG9jYlBhcnNlckN0eHQnIGhyZWY9J2h0bWwvbGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiUGFyc2VyQ3R4dCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nZG9jYlBhcnNlckN0eHRQdHInIGhyZWY9J2h0bWwvbGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiUGFyc2VyQ3R4dFB0cicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nZG9jYlBhcnNlcklucHV0JyBocmVmPSdodG1sL2xpYnhtbC1ET0NCcGFyc2VyLmh0bWwjZG9jYlBhcnNlcklucHV0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdkb2NiUGFyc2VySW5wdXRQdHInIGhyZWY9J2h0bWwvbGlieG1sLURPQ0JwYXJzZXIuaHRtbCNkb2NiUGFyc2VySW5wdXRQdHInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J2RvY2JTQVhIYW5kbGVyJyBocmVmPSdodG1sL2xpYnhtbC1ET0NCcGFyc2VyLmh0bWwjZG9jYlNBWEhhbmRsZXInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J2RvY2JTQVhIYW5kbGVyUHRyJyBocmVmPSdodG1sL2xpYnhtbC1ET0NCcGFyc2VyLmh0bWwjZG9jYlNBWEhhbmRsZXJQdHInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J2RvY2JTQVhQYXJzZURvYycgaHJlZj0naHRtbC9saWJ4bWwtRE9DQnBhcnNlci5odG1sI2RvY2JTQVhQYXJzZURvYycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nZG9jYlNBWFBhcnNlRmlsZScgaHJlZj0naHRtbC9saWJ4bWwtRE9DQnBhcnNlci5odG1sI2RvY2JTQVhQYXJzZUZpbGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J2VsZW1lbnREZWNsJyBocmVmPSdodG1sL2xpYnhtbC1TQVguaHRtbCNlbGVtZW50RGVjbCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nZWxlbWVudERlY2xTQVhGdW5jJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNlbGVtZW50RGVjbFNBWEZ1bmMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J2VtcHR5RXhwJyBocmVmPSdodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCNlbXB0eUV4cCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nZW5kRG9jdW1lbnQnIGhyZWY9J2h0bWwvbGlieG1sLVNBWC5odG1sI2VuZERvY3VtZW50Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdlbmREb2N1bWVudFNBWEZ1bmMnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlci5odG1sI2VuZERvY3VtZW50U0FYRnVuYycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nZW5kRWxlbWVudCcgaHJlZj0naHRtbC9saWJ4bWwtU0FYLmh0bWwjZW5kRWxlbWVudCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nZW5kRWxlbWVudE5zU0FYMkZ1bmMnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlci5odG1sI2VuZEVsZW1lbnROc1NBWDJGdW5jJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdlbmRFbGVtZW50U0FYRnVuYycgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjZW5kRWxlbWVudFNBWEZ1bmMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J2VudGl0eURlY2wnIGhyZWY9J2h0bWwvbGlieG1sLVNBWC5odG1sI2VudGl0eURlY2wnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J2VudGl0eURlY2xTQVhGdW5jJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNlbnRpdHlEZWNsU0FYRnVuYycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nZXJyb3JTQVhGdW5jJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNlcnJvclNBWEZ1bmMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J2V4dGVybmFsU3Vic2V0JyBocmVmPSdodG1sL2xpYnhtbC1TQVguaHRtbCNleHRlcm5hbFN1YnNldCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nZXh0ZXJuYWxTdWJzZXRTQVhGdW5jJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNleHRlcm5hbFN1YnNldFNBWEZ1bmMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J2ZhdGFsRXJyb3JTQVhGdW5jJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNmYXRhbEVycm9yU0FYRnVuYycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nZm9yYmlkZGVuRXhwJyBocmVmPSdodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCNmb3JiaWRkZW5FeHAnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J2Z0cERhdGFDYWxsYmFjaycgaHJlZj0naHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI2Z0cERhdGFDYWxsYmFjaycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nZnRwTGlzdENhbGxiYWNrJyBocmVmPSdodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjZnRwTGlzdENhbGxiYWNrJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdnZXRDb2x1bW5OdW1iZXInIGhyZWY9J2h0bWwvbGlieG1sLVNBWC5odG1sI2dldENvbHVtbk51bWJlcicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nZ2V0RW50aXR5JyBocmVmPSdodG1sL2xpYnhtbC1TQVguaHRtbCNnZXRFbnRpdHknLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J2dldEVudGl0eVNBWEZ1bmMnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlci5odG1sI2dldEVudGl0eVNBWEZ1bmMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J2dldExpbmVOdW1iZXInIGhyZWY9J2h0bWwvbGlieG1sLVNBWC5odG1sI2dldExpbmVOdW1iZXInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J2dldE5hbWVzcGFjZScgaHJlZj0naHRtbC9saWJ4bWwtU0FYLmh0bWwjZ2V0TmFtZXNwYWNlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdnZXRQYXJhbWV0ZXJFbnRpdHknIGhyZWY9J2h0bWwvbGlieG1sLVNBWC5odG1sI2dldFBhcmFtZXRlckVudGl0eScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nZ2V0UGFyYW1ldGVyRW50aXR5U0FYRnVuYycgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjZ2V0UGFyYW1ldGVyRW50aXR5U0FYRnVuYycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nZ2V0UHVibGljSWQnIGhyZWY9J2h0bWwvbGlieG1sLVNBWC5odG1sI2dldFB1YmxpY0lkJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdnZXRTeXN0ZW1JZCcgaHJlZj0naHRtbC9saWJ4bWwtU0FYLmh0bWwjZ2V0U3lzdGVtSWQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J2dsb2JhbE5hbWVzcGFjZScgaHJlZj0naHRtbC9saWJ4bWwtU0FYLmh0bWwjZ2xvYmFsTmFtZXNwYWNlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdoYXNFeHRlcm5hbFN1YnNldCcgaHJlZj0naHRtbC9saWJ4bWwtU0FYLmh0bWwjaGFzRXh0ZXJuYWxTdWJzZXQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J2hhc0V4dGVybmFsU3Vic2V0U0FYRnVuYycgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjaGFzRXh0ZXJuYWxTdWJzZXRTQVhGdW5jJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdoYXNJbnRlcm5hbFN1YnNldCcgaHJlZj0naHRtbC9saWJ4bWwtU0FYLmh0bWwjaGFzSW50ZXJuYWxTdWJzZXQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J2hhc0ludGVybmFsU3Vic2V0U0FYRnVuYycgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjaGFzSW50ZXJuYWxTdWJzZXRTQVhGdW5jJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdodG1sQXR0ckFsbG93ZWQnIGhyZWY9J2h0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sQXR0ckFsbG93ZWQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J2h0bWxBdXRvQ2xvc2VUYWcnIGhyZWY9J2h0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sQXV0b0Nsb3NlVGFnJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdodG1sQ3JlYXRlRmlsZVBhcnNlckN0eHQnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI2h0bWxDcmVhdGVGaWxlUGFyc2VyQ3R4dCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0naHRtbENyZWF0ZU1lbW9yeVBhcnNlckN0eHQnIGhyZWY9J2h0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sQ3JlYXRlTWVtb3J5UGFyc2VyQ3R4dCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0naHRtbENyZWF0ZVB1c2hQYXJzZXJDdHh0JyBocmVmPSdodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbENyZWF0ZVB1c2hQYXJzZXJDdHh0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdodG1sQ3R4dFJlYWREb2MnIGhyZWY9J2h0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sQ3R4dFJlYWREb2MnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J2h0bWxDdHh0UmVhZEZkJyBocmVmPSdodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEN0eHRSZWFkRmQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J2h0bWxDdHh0UmVhZEZpbGUnIGhyZWY9J2h0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sQ3R4dFJlYWRGaWxlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdodG1sQ3R4dFJlYWRJTycgaHJlZj0naHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxDdHh0UmVhZElPJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdodG1sQ3R4dFJlYWRNZW1vcnknIGhyZWY9J2h0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sQ3R4dFJlYWRNZW1vcnknLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J2h0bWxDdHh0UmVzZXQnIGhyZWY9J2h0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sQ3R4dFJlc2V0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdodG1sQ3R4dFVzZU9wdGlvbnMnIGhyZWY9J2h0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sQ3R4dFVzZU9wdGlvbnMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J2h0bWxEZWZhdWx0U0FYSGFuZGxlcicgaHJlZj0naHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI2h0bWxEZWZhdWx0U0FYSGFuZGxlcicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0naHRtbERlZmF1bHRTQVhIYW5kbGVySW5pdCcgaHJlZj0naHRtbC9saWJ4bWwtU0FYMi5odG1sI2h0bWxEZWZhdWx0U0FYSGFuZGxlckluaXQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J2h0bWxEZWZhdWx0U3ViZWxlbWVudCcgaHJlZj0naHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxEZWZhdWx0U3ViZWxlbWVudCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0naHRtbERvY0NvbnRlbnREdW1wRm9ybWF0T3V0cHV0JyBocmVmPSdodG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI2h0bWxEb2NDb250ZW50RHVtcEZvcm1hdE91dHB1dCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0naHRtbERvY0NvbnRlbnREdW1wT3V0cHV0JyBocmVmPSdodG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI2h0bWxEb2NDb250ZW50RHVtcE91dHB1dCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0naHRtbERvY0R1bXAnIGhyZWY9J2h0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwjaHRtbERvY0R1bXAnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J2h0bWxEb2NEdW1wTWVtb3J5JyBocmVmPSdodG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI2h0bWxEb2NEdW1wTWVtb3J5Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdodG1sRG9jRHVtcE1lbW9yeUZvcm1hdCcgaHJlZj0naHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNodG1sRG9jRHVtcE1lbW9yeUZvcm1hdCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0naHRtbERvY1B0cicgaHJlZj0naHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxEb2NQdHInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J2h0bWxFbGVtRGVzYycgaHJlZj0naHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxFbGVtRGVzYycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0naHRtbEVsZW1EZXNjUHRyJyBocmVmPSdodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEVsZW1EZXNjUHRyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdodG1sRWxlbWVudEFsbG93ZWRIZXJlJyBocmVmPSdodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEVsZW1lbnRBbGxvd2VkSGVyZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0naHRtbEVsZW1lbnRBbGxvd2VkSGVyZURlc2MnIGhyZWY9J2h0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sRWxlbWVudEFsbG93ZWRIZXJlRGVzYycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0naHRtbEVsZW1lbnRTdGF0dXNIZXJlJyBocmVmPSdodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEVsZW1lbnRTdGF0dXNIZXJlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdodG1sRW5jb2RlRW50aXRpZXMnIGhyZWY9J2h0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sRW5jb2RlRW50aXRpZXMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J2h0bWxFbnRpdHlEZXNjJyBocmVmPSdodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEVudGl0eURlc2MnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J2h0bWxFbnRpdHlEZXNjUHRyJyBocmVmPSdodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbEVudGl0eURlc2NQdHInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J2h0bWxFbnRpdHlMb29rdXAnIGhyZWY9J2h0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sRW50aXR5TG9va3VwJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdodG1sRW50aXR5VmFsdWVMb29rdXAnIGhyZWY9J2h0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sRW50aXR5VmFsdWVMb29rdXAnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J2h0bWxGcmVlUGFyc2VyQ3R4dCcgaHJlZj0naHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxGcmVlUGFyc2VyQ3R4dCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0naHRtbEdldE1ldGFFbmNvZGluZycgaHJlZj0naHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNodG1sR2V0TWV0YUVuY29kaW5nJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdodG1sSGFuZGxlT21pdHRlZEVsZW0nIGhyZWY9J2h0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sSGFuZGxlT21pdHRlZEVsZW0nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J2h0bWxJbml0QXV0b0Nsb3NlJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNodG1sSW5pdEF1dG9DbG9zZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0naHRtbElzQXV0b0Nsb3NlZCcgaHJlZj0naHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxJc0F1dG9DbG9zZWQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J2h0bWxJc0Jvb2xlYW5BdHRyJyBocmVmPSdodG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI2h0bWxJc0Jvb2xlYW5BdHRyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdodG1sSXNTY3JpcHRBdHRyaWJ1dGUnIGhyZWY9J2h0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sSXNTY3JpcHRBdHRyaWJ1dGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J2h0bWxOZXdEb2MnIGhyZWY9J2h0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwjaHRtbE5ld0RvYycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0naHRtbE5ld0RvY05vRHREJyBocmVmPSdodG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI2h0bWxOZXdEb2NOb0R0RCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0naHRtbE5ld1BhcnNlckN0eHQnIGhyZWY9J2h0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sTmV3UGFyc2VyQ3R4dCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0naHRtbE5vZGVEdW1wJyBocmVmPSdodG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI2h0bWxOb2RlRHVtcCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0naHRtbE5vZGVEdW1wRmlsZScgaHJlZj0naHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNodG1sTm9kZUR1bXBGaWxlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdodG1sTm9kZUR1bXBGaWxlRm9ybWF0JyBocmVmPSdodG1sL2xpYnhtbC1IVE1MdHJlZS5odG1sI2h0bWxOb2RlRHVtcEZpbGVGb3JtYXQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J2h0bWxOb2RlRHVtcEZvcm1hdE91dHB1dCcgaHJlZj0naHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNodG1sTm9kZUR1bXBGb3JtYXRPdXRwdXQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J2h0bWxOb2RlRHVtcE91dHB1dCcgaHJlZj0naHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNodG1sTm9kZUR1bXBPdXRwdXQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J2h0bWxOb2RlUHRyJyBocmVmPSdodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbE5vZGVQdHInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J2h0bWxOb2RlU3RhdHVzJyBocmVmPSdodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbE5vZGVTdGF0dXMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J2h0bWxQYXJzZUNoYXJSZWYnIGhyZWY9J2h0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sUGFyc2VDaGFyUmVmJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdodG1sUGFyc2VDaHVuaycgaHJlZj0naHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxQYXJzZUNodW5rJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdodG1sUGFyc2VEb2MnIGhyZWY9J2h0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sUGFyc2VEb2MnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J2h0bWxQYXJzZURvY3VtZW50JyBocmVmPSdodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlRG9jdW1lbnQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J2h0bWxQYXJzZUVsZW1lbnQnIGhyZWY9J2h0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sUGFyc2VFbGVtZW50Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdodG1sUGFyc2VFbnRpdHlSZWYnIGhyZWY9J2h0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sUGFyc2VFbnRpdHlSZWYnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J2h0bWxQYXJzZUZpbGUnIGhyZWY9J2h0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sUGFyc2VGaWxlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdodG1sUGFyc2VyQ3R4dCcgaHJlZj0naHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxQYXJzZXJDdHh0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdodG1sUGFyc2VyQ3R4dFB0cicgaHJlZj0naHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxQYXJzZXJDdHh0UHRyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdodG1sUGFyc2VySW5wdXQnIGhyZWY9J2h0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sUGFyc2VySW5wdXQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J2h0bWxQYXJzZXJJbnB1dFB0cicgaHJlZj0naHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxQYXJzZXJJbnB1dFB0cicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0naHRtbFBhcnNlck5vZGVJbmZvJyBocmVmPSdodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlck5vZGVJbmZvJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdodG1sUGFyc2VyT3B0aW9uJyBocmVmPSdodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFBhcnNlck9wdGlvbicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0naHRtbFJlYWREb2MnIGhyZWY9J2h0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sUmVhZERvYycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0naHRtbFJlYWRGZCcgaHJlZj0naHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxSZWFkRmQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J2h0bWxSZWFkRmlsZScgaHJlZj0naHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxSZWFkRmlsZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0naHRtbFJlYWRJTycgaHJlZj0naHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxSZWFkSU8nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J2h0bWxSZWFkTWVtb3J5JyBocmVmPSdodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFJlYWRNZW1vcnknLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J2h0bWxSZXF1aXJlZEF0dHJzJyBocmVmPSdodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFJlcXVpcmVkQXR0cnMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J2h0bWxTQVhIYW5kbGVyJyBocmVmPSdodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFNBWEhhbmRsZXInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J2h0bWxTQVhIYW5kbGVyUHRyJyBocmVmPSdodG1sL2xpYnhtbC1IVE1McGFyc2VyLmh0bWwjaHRtbFNBWEhhbmRsZXJQdHInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J2h0bWxTQVhQYXJzZURvYycgaHJlZj0naHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxTQVhQYXJzZURvYycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0naHRtbFNBWFBhcnNlRmlsZScgaHJlZj0naHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxTQVhQYXJzZUZpbGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J2h0bWxTYXZlRmlsZScgaHJlZj0naHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNodG1sU2F2ZUZpbGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J2h0bWxTYXZlRmlsZUVuYycgaHJlZj0naHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNodG1sU2F2ZUZpbGVFbmMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J2h0bWxTYXZlRmlsZUZvcm1hdCcgaHJlZj0naHRtbC9saWJ4bWwtSFRNTHRyZWUuaHRtbCNodG1sU2F2ZUZpbGVGb3JtYXQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J2h0bWxTZXRNZXRhRW5jb2RpbmcnIGhyZWY9J2h0bWwvbGlieG1sLUhUTUx0cmVlLmh0bWwjaHRtbFNldE1ldGFFbmNvZGluZycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0naHRtbFN0YXR1cycgaHJlZj0naHRtbC9saWJ4bWwtSFRNTHBhcnNlci5odG1sI2h0bWxTdGF0dXMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J2h0bWxUYWdMb29rdXAnIGhyZWY9J2h0bWwvbGlieG1sLUhUTUxwYXJzZXIuaHRtbCNodG1sVGFnTG9va3VwJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdpZ25vcmFibGVXaGl0ZXNwYWNlJyBocmVmPSdodG1sL2xpYnhtbC1TQVguaHRtbCNpZ25vcmFibGVXaGl0ZXNwYWNlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdpZ25vcmFibGVXaGl0ZXNwYWNlU0FYRnVuYycgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjaWdub3JhYmxlV2hpdGVzcGFjZVNBWEZ1bmMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J2luaXRHZW5lcmljRXJyb3JEZWZhdWx0RnVuYycgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCNpbml0R2VuZXJpY0Vycm9yRGVmYXVsdEZ1bmMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J2luaXRkb2NiRGVmYXVsdFNBWEhhbmRsZXInIGhyZWY9J2h0bWwvbGlieG1sLVNBWC5odG1sI2luaXRkb2NiRGVmYXVsdFNBWEhhbmRsZXInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J2luaXRodG1sRGVmYXVsdFNBWEhhbmRsZXInIGhyZWY9J2h0bWwvbGlieG1sLVNBWC5odG1sI2luaXRodG1sRGVmYXVsdFNBWEhhbmRsZXInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J2luaXR4bWxEZWZhdWx0U0FYSGFuZGxlcicgaHJlZj0naHRtbC9saWJ4bWwtU0FYLmh0bWwjaW5pdHhtbERlZmF1bHRTQVhIYW5kbGVyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdpbnB1dFBvcCcgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjaW5wdXRQb3AnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J2lucHV0UHVzaCcgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjaW5wdXRQdXNoJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdpbnRlcm5hbFN1YnNldCcgaHJlZj0naHRtbC9saWJ4bWwtU0FYLmh0bWwjaW50ZXJuYWxTdWJzZXQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J2ludGVybmFsU3Vic2V0U0FYRnVuYycgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjaW50ZXJuYWxTdWJzZXRTQVhGdW5jJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdpc1N0YW5kYWxvbmUnIGhyZWY9J2h0bWwvbGlieG1sLVNBWC5odG1sI2lzU3RhbmRhbG9uZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0naXNTdGFuZGFsb25lU0FYRnVuYycgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjaXNTdGFuZGFsb25lU0FYRnVuYycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0naXNvbGF0MVRvVVRGOCcgaHJlZj0naHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCNpc29sYXQxVG9VVEY4Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSduYW1lUG9wJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNuYW1lUG9wJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSduYW1lUHVzaCcgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjbmFtZVB1c2gnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J25hbWVzcGFjZURlY2wnIGhyZWY9J2h0bWwvbGlieG1sLVNBWC5odG1sI25hbWVzcGFjZURlY2wnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J25vZGVQb3AnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI25vZGVQb3AnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J25vZGVQdXNoJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCNub2RlUHVzaCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nbm90YXRpb25EZWNsJyBocmVmPSdodG1sL2xpYnhtbC1TQVguaHRtbCNub3RhdGlvbkRlY2wnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J25vdGF0aW9uRGVjbFNBWEZ1bmMnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlci5odG1sI25vdGF0aW9uRGVjbFNBWEZ1bmMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J29sZFhNTFdEY29tcGF0aWJpbGl0eScgaHJlZj0naHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI29sZFhNTFdEY29tcGF0aWJpbGl0eScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0ncHJvY2Vzc2luZ0luc3RydWN0aW9uJyBocmVmPSdodG1sL2xpYnhtbC1TQVguaHRtbCNwcm9jZXNzaW5nSW5zdHJ1Y3Rpb24nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3Byb2Nlc3NpbmdJbnN0cnVjdGlvblNBWEZ1bmMnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlci5odG1sI3Byb2Nlc3NpbmdJbnN0cnVjdGlvblNBWEZ1bmMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3JlZmVyZW5jZScgaHJlZj0naHRtbC9saWJ4bWwtU0FYLmh0bWwjcmVmZXJlbmNlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdyZWZlcmVuY2VTQVhGdW5jJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNyZWZlcmVuY2VTQVhGdW5jJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdyZXNvbHZlRW50aXR5JyBocmVmPSdodG1sL2xpYnhtbC1TQVguaHRtbCNyZXNvbHZlRW50aXR5Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdyZXNvbHZlRW50aXR5U0FYRnVuYycgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjcmVzb2x2ZUVudGl0eVNBWEZ1bmMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3NldERvY3VtZW50TG9jYXRvcicgaHJlZj0naHRtbC9saWJ4bWwtU0FYLmh0bWwjc2V0RG9jdW1lbnRMb2NhdG9yJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdzZXREb2N1bWVudExvY2F0b3JTQVhGdW5jJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCNzZXREb2N1bWVudExvY2F0b3JTQVhGdW5jJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdzZXROYW1lc3BhY2UnIGhyZWY9J2h0bWwvbGlieG1sLVNBWC5odG1sI3NldE5hbWVzcGFjZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nc3RhcnREb2N1bWVudCcgaHJlZj0naHRtbC9saWJ4bWwtU0FYLmh0bWwjc3RhcnREb2N1bWVudCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nc3RhcnREb2N1bWVudFNBWEZ1bmMnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlci5odG1sI3N0YXJ0RG9jdW1lbnRTQVhGdW5jJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSdzdGFydEVsZW1lbnQnIGhyZWY9J2h0bWwvbGlieG1sLVNBWC5odG1sI3N0YXJ0RWxlbWVudCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nc3RhcnRFbGVtZW50TnNTQVgyRnVuYycgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjc3RhcnRFbGVtZW50TnNTQVgyRnVuYycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0nc3RhcnRFbGVtZW50U0FYRnVuYycgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjc3RhcnRFbGVtZW50U0FYRnVuYycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0ndWNvbnZfdCcgaHJlZj0naHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN1Y29udl90Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd1bnBhcnNlZEVudGl0eURlY2wnIGhyZWY9J2h0bWwvbGlieG1sLVNBWC5odG1sI3VucGFyc2VkRW50aXR5RGVjbCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0ndW5wYXJzZWRFbnRpdHlEZWNsU0FYRnVuYycgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjdW5wYXJzZWRFbnRpdHlEZWNsU0FYRnVuYycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0ndmFsdWVQb3AnIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjdmFsdWVQb3AnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3ZhbHVlUHVzaCcgaHJlZj0naHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN2YWx1ZVB1c2gnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3dhcm5pbmdTQVhGdW5jJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN3YXJuaW5nU0FYRnVuYycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neGxpbmtBY3R1YXRlJyBocmVmPSdodG1sL2xpYnhtbC14bGluay5odG1sI3hsaW5rQWN0dWF0ZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neGxpbmtFeHRlbmRlZExpbmtGdW5rJyBocmVmPSdodG1sL2xpYnhtbC14bGluay5odG1sI3hsaW5rRXh0ZW5kZWRMaW5rRnVuaycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neGxpbmtFeHRlbmRlZExpbmtTZXRGdW5rJyBocmVmPSdodG1sL2xpYnhtbC14bGluay5odG1sI3hsaW5rRXh0ZW5kZWRMaW5rU2V0RnVuaycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neGxpbmtHZXREZWZhdWx0RGV0ZWN0JyBocmVmPSdodG1sL2xpYnhtbC14bGluay5odG1sI3hsaW5rR2V0RGVmYXVsdERldGVjdCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neGxpbmtHZXREZWZhdWx0SGFuZGxlcicgaHJlZj0naHRtbC9saWJ4bWwteGxpbmsuaHRtbCN4bGlua0dldERlZmF1bHRIYW5kbGVyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bGlua0hSZWYnIGhyZWY9J2h0bWwvbGlieG1sLXhsaW5rLmh0bWwjeGxpbmtIUmVmJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bGlua0hhbmRsZXInIGhyZWY9J2h0bWwvbGlieG1sLXhsaW5rLmh0bWwjeGxpbmtIYW5kbGVyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bGlua0hhbmRsZXJQdHInIGhyZWY9J2h0bWwvbGlieG1sLXhsaW5rLmh0bWwjeGxpbmtIYW5kbGVyUHRyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bGlua0lzTGluaycgaHJlZj0naHRtbC9saWJ4bWwteGxpbmsuaHRtbCN4bGlua0lzTGluaycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neGxpbmtOb2RlRGV0ZWN0RnVuYycgaHJlZj0naHRtbC9saWJ4bWwteGxpbmsuaHRtbCN4bGlua05vZGVEZXRlY3RGdW5jJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bGlua1JvbGUnIGhyZWY9J2h0bWwvbGlieG1sLXhsaW5rLmh0bWwjeGxpbmtSb2xlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bGlua1NldERlZmF1bHREZXRlY3QnIGhyZWY9J2h0bWwvbGlieG1sLXhsaW5rLmh0bWwjeGxpbmtTZXREZWZhdWx0RGV0ZWN0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bGlua1NldERlZmF1bHRIYW5kbGVyJyBocmVmPSdodG1sL2xpYnhtbC14bGluay5odG1sI3hsaW5rU2V0RGVmYXVsdEhhbmRsZXInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3hsaW5rU2hvdycgaHJlZj0naHRtbC9saWJ4bWwteGxpbmsuaHRtbCN4bGlua1Nob3cnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3hsaW5rU2ltcGxlTGlua0Z1bmsnIGhyZWY9J2h0bWwvbGlieG1sLXhsaW5rLmh0bWwjeGxpbmtTaW1wbGVMaW5rRnVuaycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neGxpbmtUaXRsZScgaHJlZj0naHRtbC9saWJ4bWwteGxpbmsuaHRtbCN4bGlua1RpdGxlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bGlua1R5cGUnIGhyZWY9J2h0bWwvbGlieG1sLXhsaW5rLmh0bWwjeGxpbmtUeXBlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxBQ2F0YWxvZ0FkZCcgaHJlZj0naHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbEFDYXRhbG9nQWRkJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxBQ2F0YWxvZ0R1bXAnIGhyZWY9J2h0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxBQ2F0YWxvZ0R1bXAnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEFDYXRhbG9nUmVtb3ZlJyBocmVmPSdodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQUNhdGFsb2dSZW1vdmUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEFDYXRhbG9nUmVzb2x2ZScgaHJlZj0naHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbEFDYXRhbG9nUmVzb2x2ZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sQUNhdGFsb2dSZXNvbHZlUHVibGljJyBocmVmPSdodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQUNhdGFsb2dSZXNvbHZlUHVibGljJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxBQ2F0YWxvZ1Jlc29sdmVTeXN0ZW0nIGhyZWY9J2h0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxBQ2F0YWxvZ1Jlc29sdmVTeXN0ZW0nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEFDYXRhbG9nUmVzb2x2ZVVSSScgaHJlZj0naHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbEFDYXRhbG9nUmVzb2x2ZVVSSScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sQWRkQXR0cmlidXRlRGVjbCcgaHJlZj0naHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxBZGRBdHRyaWJ1dGVEZWNsJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxBZGRDaGlsZCcgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEFkZENoaWxkJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxBZGRDaGlsZExpc3QnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxBZGRDaGlsZExpc3QnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEFkZERvY0VudGl0eScgaHJlZj0naHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxBZGREb2NFbnRpdHknLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEFkZER0ZEVudGl0eScgaHJlZj0naHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxBZGREdGRFbnRpdHknLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEFkZEVsZW1lbnREZWNsJyBocmVmPSdodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEFkZEVsZW1lbnREZWNsJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxBZGRFbmNvZGluZ0FsaWFzJyBocmVmPSdodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbEFkZEVuY29kaW5nQWxpYXMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEFkZElEJyBocmVmPSdodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEFkZElEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxBZGROZXh0U2libGluZycgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEFkZE5leHRTaWJsaW5nJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxBZGROb3RhdGlvbkRlY2wnIGhyZWY9J2h0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sQWRkTm90YXRpb25EZWNsJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxBZGRQcmV2U2libGluZycgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEFkZFByZXZTaWJsaW5nJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxBZGRSZWYnIGhyZWY9J2h0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sQWRkUmVmJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxBZGRTaWJsaW5nJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQWRkU2libGluZycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sQWxsb2NPdXRwdXRCdWZmZXInIGhyZWY9J2h0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sQWxsb2NPdXRwdXRCdWZmZXInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEFsbG9jUGFyc2VySW5wdXRCdWZmZXInIGhyZWY9J2h0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sQWxsb2NQYXJzZXJJbnB1dEJ1ZmZlcicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sQXR0cicgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEF0dHInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEF0dHJQdHInIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxBdHRyUHRyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxBdHRyU2VyaWFsaXplVHh0Q29udGVudCcgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEF0dHJTZXJpYWxpemVUeHRDb250ZW50Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxBdHRyaWJ1dGUnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxBdHRyaWJ1dGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEF0dHJpYnV0ZURlZmF1bHQnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxBdHRyaWJ1dGVEZWZhdWx0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxBdHRyaWJ1dGVQdHInIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxBdHRyaWJ1dGVQdHInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEF0dHJpYnV0ZVRhYmxlJyBocmVmPSdodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEF0dHJpYnV0ZVRhYmxlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxBdHRyaWJ1dGVUYWJsZVB0cicgaHJlZj0naHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxBdHRyaWJ1dGVUYWJsZVB0cicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sQXR0cmlidXRlVHlwZScgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEF0dHJpYnV0ZVR5cGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEF1dG9tYXRhJyBocmVmPSdodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxBdXRvbWF0YUNvbXBpbGUnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFDb21waWxlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxBdXRvbWF0YUdldEluaXRTdGF0ZScgaHJlZj0naHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YUdldEluaXRTdGF0ZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sQXV0b21hdGFJc0RldGVybWluaXN0JyBocmVmPSdodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhSXNEZXRlcm1pbmlzdCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sQXV0b21hdGFOZXdBbGxUcmFucycgaHJlZj0naHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld0FsbFRyYW5zJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxBdXRvbWF0YU5ld0NvdW50VHJhbnMnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdDb3VudFRyYW5zJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxBdXRvbWF0YU5ld0NvdW50VHJhbnMyJyBocmVmPSdodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhTmV3Q291bnRUcmFuczInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEF1dG9tYXRhTmV3Q291bnRlZFRyYW5zJyBocmVmPSdodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhTmV3Q291bnRlZFRyYW5zJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxBdXRvbWF0YU5ld0NvdW50ZXInIGhyZWY9J2h0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdDb3VudGVyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxBdXRvbWF0YU5ld0NvdW50ZXJUcmFucycgaHJlZj0naHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld0NvdW50ZXJUcmFucycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sQXV0b21hdGFOZXdFcHNpbG9uJyBocmVmPSdodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhTmV3RXBzaWxvbicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sQXV0b21hdGFOZXdOZWdUcmFucycgaHJlZj0naHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld05lZ1RyYW5zJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxBdXRvbWF0YU5ld09uY2VUcmFucycgaHJlZj0naHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld09uY2VUcmFucycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sQXV0b21hdGFOZXdPbmNlVHJhbnMyJyBocmVmPSdodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhTmV3T25jZVRyYW5zMicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sQXV0b21hdGFOZXdTdGF0ZScgaHJlZj0naHRtbC9saWJ4bWwteG1sYXV0b21hdGEuaHRtbCN4bWxBdXRvbWF0YU5ld1N0YXRlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxBdXRvbWF0YU5ld1RyYW5zaXRpb24nIGhyZWY9J2h0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFOZXdUcmFuc2l0aW9uJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxBdXRvbWF0YU5ld1RyYW5zaXRpb24yJyBocmVmPSdodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhTmV3VHJhbnNpdGlvbjInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEF1dG9tYXRhUHRyJyBocmVmPSdodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhUHRyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxBdXRvbWF0YVNldEZpbmFsU3RhdGUnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFTZXRGaW5hbFN0YXRlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxBdXRvbWF0YVN0YXRlJyBocmVmPSdodG1sL2xpYnhtbC14bWxhdXRvbWF0YS5odG1sI3htbEF1dG9tYXRhU3RhdGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEF1dG9tYXRhU3RhdGVQdHInIGhyZWY9J2h0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sQXV0b21hdGFTdGF0ZVB0cicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sQm9vbFRvVGV4dCcgaHJlZj0naHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxCb29sVG9UZXh0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxCdWYnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWYnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEJ1ZkNvbnRlbnQnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZDb250ZW50Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxCdWZFbmQnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZFbmQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEJ1ZkdldE5vZGVDb250ZW50JyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmR2V0Tm9kZUNvbnRlbnQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEJ1Zk5vZGVEdW1wJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmTm9kZUR1bXAnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEJ1ZlB0cicgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZlB0cicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sQnVmU2hyaW5rJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmU2hyaW5rJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxCdWZVc2UnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZVc2UnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEJ1ZmZlcicgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlcicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sQnVmZmVyQWRkJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyQWRkJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxCdWZmZXJBZGRIZWFkJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyQWRkSGVhZCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sQnVmZmVyQWxsb2NTY2hlbWUnIGhyZWY9J2h0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxCdWZmZXJBbGxvY1NjaGVtZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sQnVmZmVyQWxsb2NhdGlvblNjaGVtZScgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEJ1ZmZlckNDYXQnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJDQ2F0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxCdWZmZXJDYXQnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJDYXQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEJ1ZmZlckNvbnRlbnQnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJDb250ZW50Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxCdWZmZXJDcmVhdGUnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJDcmVhdGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEJ1ZmZlckNyZWF0ZVNpemUnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJDcmVhdGVTaXplJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxCdWZmZXJDcmVhdGVTdGF0aWMnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJDcmVhdGVTdGF0aWMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEJ1ZmZlckRldGFjaCcgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlckRldGFjaCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sQnVmZmVyRHVtcCcgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlckR1bXAnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEJ1ZmZlckVtcHR5JyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyRW1wdHknLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEJ1ZmZlckZyZWUnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJGcmVlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxCdWZmZXJHcm93JyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyR3JvdycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sQnVmZmVyTGVuZ3RoJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyTGVuZ3RoJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxCdWZmZXJQdHInIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJQdHInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEJ1ZmZlclJlc2l6ZScgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlclJlc2l6ZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sQnVmZmVyU2V0QWxsb2NhdGlvblNjaGVtZScgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlclNldEFsbG9jYXRpb25TY2hlbWUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEJ1ZmZlclNocmluaycgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEJ1ZmZlclNocmluaycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sQnVmZmVyV3JpdGVDSEFSJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyV3JpdGVDSEFSJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxCdWZmZXJXcml0ZUNoYXInIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWZmZXJXcml0ZUNoYXInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEJ1ZmZlcldyaXRlUXVvdGVkU3RyaW5nJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQnVmZmVyV3JpdGVRdW90ZWRTdHJpbmcnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEJ1aWxkUU5hbWUnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxCdWlsZFFOYW1lJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxCdWlsZFJlbGF0aXZlVVJJJyBocmVmPSdodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxCdWlsZFJlbGF0aXZlVVJJJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxCdWlsZFVSSScgaHJlZj0naHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sQnVpbGRVUkknLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEJ5dGVDb25zdW1lZCcgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQnl0ZUNvbnN1bWVkJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxDMTRORG9jRHVtcE1lbW9yeScgaHJlZj0naHRtbC9saWJ4bWwtYzE0bi5odG1sI3htbEMxNE5Eb2NEdW1wTWVtb3J5Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxDMTRORG9jU2F2ZScgaHJlZj0naHRtbC9saWJ4bWwtYzE0bi5odG1sI3htbEMxNE5Eb2NTYXZlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxDMTRORG9jU2F2ZVRvJyBocmVmPSdodG1sL2xpYnhtbC1jMTRuLmh0bWwjeG1sQzE0TkRvY1NhdmVUbycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sQzE0TkV4ZWN1dGUnIGhyZWY9J2h0bWwvbGlieG1sLWMxNG4uaHRtbCN4bWxDMTRORXhlY3V0ZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sQzE0TklzVmlzaWJsZUNhbGxiYWNrJyBocmVmPSdodG1sL2xpYnhtbC1jMTRuLmh0bWwjeG1sQzE0TklzVmlzaWJsZUNhbGxiYWNrJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxDMTROTW9kZScgaHJlZj0naHRtbC9saWJ4bWwtYzE0bi5odG1sI3htbEMxNE5Nb2RlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxDYW5vbmljUGF0aCcgaHJlZj0naHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sQ2Fub25pY1BhdGgnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbENhdGFsb2cnIGhyZWY9J2h0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxDYXRhbG9nQWRkJyBocmVmPSdodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ0FkZCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sQ2F0YWxvZ0FkZExvY2FsJyBocmVmPSdodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ0FkZExvY2FsJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxDYXRhbG9nQWxsb3cnIGhyZWY9J2h0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nQWxsb3cnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbENhdGFsb2dDbGVhbnVwJyBocmVmPSdodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ0NsZWFudXAnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbENhdGFsb2dDb252ZXJ0JyBocmVmPSdodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ0NvbnZlcnQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbENhdGFsb2dEdW1wJyBocmVmPSdodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ0R1bXAnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbENhdGFsb2dGcmVlTG9jYWwnIGhyZWY9J2h0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nRnJlZUxvY2FsJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxDYXRhbG9nR2V0RGVmYXVsdHMnIGhyZWY9J2h0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nR2V0RGVmYXVsdHMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbENhdGFsb2dHZXRQdWJsaWMnIGhyZWY9J2h0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nR2V0UHVibGljJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxDYXRhbG9nR2V0U3lzdGVtJyBocmVmPSdodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ0dldFN5c3RlbScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sQ2F0YWxvZ0lzRW1wdHknIGhyZWY9J2h0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nSXNFbXB0eScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sQ2F0YWxvZ0xvY2FsUmVzb2x2ZScgaHJlZj0naHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dMb2NhbFJlc29sdmUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbENhdGFsb2dMb2NhbFJlc29sdmVVUkknIGhyZWY9J2h0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nTG9jYWxSZXNvbHZlVVJJJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxDYXRhbG9nUHJlZmVyJyBocmVmPSdodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ1ByZWZlcicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sQ2F0YWxvZ1B0cicgaHJlZj0naHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dQdHInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbENhdGFsb2dSZW1vdmUnIGhyZWY9J2h0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nUmVtb3ZlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxDYXRhbG9nUmVzb2x2ZScgaHJlZj0naHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dSZXNvbHZlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxDYXRhbG9nUmVzb2x2ZVB1YmxpYycgaHJlZj0naHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dSZXNvbHZlUHVibGljJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxDYXRhbG9nUmVzb2x2ZVN5c3RlbScgaHJlZj0naHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dSZXNvbHZlU3lzdGVtJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxDYXRhbG9nUmVzb2x2ZVVSSScgaHJlZj0naHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dSZXNvbHZlVVJJJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxDYXRhbG9nU2V0RGVidWcnIGhyZWY9J2h0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDYXRhbG9nU2V0RGVidWcnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbENhdGFsb2dTZXREZWZhdWx0UHJlZmVyJyBocmVmPSdodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sQ2F0YWxvZ1NldERlZmF1bHRQcmVmZXInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbENhdGFsb2dTZXREZWZhdWx0cycgaHJlZj0naHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbENhdGFsb2dTZXREZWZhdWx0cycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sQ2hMUmFuZ2UnIGhyZWY9J2h0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxDaExSYW5nZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sQ2hMUmFuZ2VQdHInIGhyZWY9J2h0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxDaExSYW5nZVB0cicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sQ2hSYW5nZUdyb3VwJyBocmVmPSdodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sQ2hSYW5nZUdyb3VwJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxDaFJhbmdlR3JvdXBQdHInIGhyZWY9J2h0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxDaFJhbmdlR3JvdXBQdHInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbENoU1JhbmdlJyBocmVmPSdodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sQ2hTUmFuZ2UnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbENoU1JhbmdlUHRyJyBocmVmPSdodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sQ2hTUmFuZ2VQdHInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbENoYXInIGhyZWY9J2h0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoYXInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbENoYXJFbmNDbG9zZUZ1bmMnIGhyZWY9J2h0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY0Nsb3NlRnVuYycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sQ2hhckVuY0ZpcnN0TGluZScgaHJlZj0naHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jRmlyc3RMaW5lJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxDaGFyRW5jSW5GdW5jJyBocmVmPSdodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNJbkZ1bmMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbENoYXJFbmNPdXRGdW5jJyBocmVmPSdodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNPdXRGdW5jJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxDaGFyRW5jb2RpbmcnIGhyZWY9J2h0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxDaGFyRW5jb2RpbmdIYW5kbGVyJyBocmVmPSdodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZ0hhbmRsZXInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbENoYXJFbmNvZGluZ0hhbmRsZXJQdHInIGhyZWY9J2h0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0cicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sQ2hhckVuY29kaW5nSW5wdXRGdW5jJyBocmVmPSdodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbENoYXJFbmNvZGluZ0lucHV0RnVuYycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYycgaHJlZj0naHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDaGFyRW5jb2RpbmdPdXRwdXRGdW5jJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxDaGFySW5SYW5nZScgaHJlZj0naHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbENoYXJJblJhbmdlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxDaGFyU3RyZHVwJyBocmVmPSdodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxDaGFyU3RyZHVwJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxDaGFyU3RybmR1cCcgaHJlZj0naHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sQ2hhclN0cm5kdXAnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbENoZWNrRmlsZW5hbWUnIGhyZWY9J2h0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sQ2hlY2tGaWxlbmFtZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sQ2hlY2tIVFRQSW5wdXQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sQ2hlY2tIVFRQSW5wdXQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbENoZWNrTGFuZ3VhZ2VJRCcgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sQ2hlY2tMYW5ndWFnZUlEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxDaGVja1VURjgnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbENoZWNrVVRGOCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sQ2hlY2tWZXJzaW9uJyBocmVmPSdodG1sL2xpYnhtbC14bWx2ZXJzaW9uLmh0bWwjeG1sQ2hlY2tWZXJzaW9uJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxDaGlsZEVsZW1lbnRDb3VudCcgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbENoaWxkRWxlbWVudENvdW50Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxDaGlsZHJlbk5vZGUnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxDaGlsZHJlbk5vZGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbENsZWFudXBDaGFyRW5jb2RpbmdIYW5kbGVycycgaHJlZj0naHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxDbGVhbnVwQ2hhckVuY29kaW5nSGFuZGxlcnMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbENsZWFudXBFbmNvZGluZ0FsaWFzZXMnIGhyZWY9J2h0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sQ2xlYW51cEVuY29kaW5nQWxpYXNlcycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sQ2xlYW51cEdsb2JhbHMnIGhyZWY9J2h0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxDbGVhbnVwR2xvYmFscycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sQ2xlYW51cElucHV0Q2FsbGJhY2tzJyBocmVmPSdodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbENsZWFudXBJbnB1dENhbGxiYWNrcycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sQ2xlYW51cE1lbW9yeScgaHJlZj0naHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sQ2xlYW51cE1lbW9yeScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sQ2xlYW51cE91dHB1dENhbGxiYWNrcycgaHJlZj0naHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxDbGVhbnVwT3V0cHV0Q2FsbGJhY2tzJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxDbGVhbnVwUGFyc2VyJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxDbGVhbnVwUGFyc2VyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxDbGVhbnVwUHJlZGVmaW5lZEVudGl0aWVzJyBocmVmPSdodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI3htbENsZWFudXBQcmVkZWZpbmVkRW50aXRpZXMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbENsZWFudXBUaHJlYWRzJyBocmVmPSdodG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sQ2xlYW51cFRocmVhZHMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbENsZWFyTm9kZUluZm9TZXEnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbENsZWFyTm9kZUluZm9TZXEnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbENsZWFyUGFyc2VyQ3R4dCcgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ2xlYXJQYXJzZXJDdHh0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxDb252ZXJ0U0dNTENhdGFsb2cnIGhyZWY9J2h0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxDb252ZXJ0U0dNTENhdGFsb2cnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbENvcHlBdHRyaWJ1dGVUYWJsZScgaHJlZj0naHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxDb3B5QXR0cmlidXRlVGFibGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbENvcHlDaGFyJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxDb3B5Q2hhcicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sQ29weUNoYXJNdWx0aUJ5dGUnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbENvcHlDaGFyTXVsdGlCeXRlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxDb3B5RG9jJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sQ29weURvYycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sQ29weURvY0VsZW1lbnRDb250ZW50JyBocmVmPSdodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbENvcHlEb2NFbGVtZW50Q29udGVudCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sQ29weUR0ZCcgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbENvcHlEdGQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbENvcHlFbGVtZW50Q29udGVudCcgaHJlZj0naHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxDb3B5RWxlbWVudENvbnRlbnQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbENvcHlFbGVtZW50VGFibGUnIGhyZWY9J2h0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sQ29weUVsZW1lbnRUYWJsZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sQ29weUVudGl0aWVzVGFibGUnIGhyZWY9J2h0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjeG1sQ29weUVudGl0aWVzVGFibGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbENvcHlFbnVtZXJhdGlvbicgaHJlZj0naHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxDb3B5RW51bWVyYXRpb24nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbENvcHlFcnJvcicgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxDb3B5RXJyb3InLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbENvcHlOYW1lc3BhY2UnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxDb3B5TmFtZXNwYWNlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxDb3B5TmFtZXNwYWNlTGlzdCcgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbENvcHlOYW1lc3BhY2VMaXN0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxDb3B5Tm9kZScgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbENvcHlOb2RlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxDb3B5Tm9kZUxpc3QnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxDb3B5Tm9kZUxpc3QnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbENvcHlOb3RhdGlvblRhYmxlJyBocmVmPSdodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbENvcHlOb3RhdGlvblRhYmxlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxDb3B5UHJvcCcgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbENvcHlQcm9wJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxDb3B5UHJvcExpc3QnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxDb3B5UHJvcExpc3QnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbENyZWF0ZURvY1BhcnNlckN0eHQnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbENyZWF0ZURvY1BhcnNlckN0eHQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbENyZWF0ZUVudGl0aWVzVGFibGUnIGhyZWY9J2h0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjeG1sQ3JlYXRlRW50aXRpZXNUYWJsZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sQ3JlYXRlRW50aXR5UGFyc2VyQ3R4dCcgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sQ3JlYXRlRW50aXR5UGFyc2VyQ3R4dCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sQ3JlYXRlRW51bWVyYXRpb24nIGhyZWY9J2h0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sQ3JlYXRlRW51bWVyYXRpb24nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbENyZWF0ZUZpbGVQYXJzZXJDdHh0JyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxDcmVhdGVGaWxlUGFyc2VyQ3R4dCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sQ3JlYXRlSU9QYXJzZXJDdHh0JyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxDcmVhdGVJT1BhcnNlckN0eHQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbENyZWF0ZUludFN1YnNldCcgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbENyZWF0ZUludFN1YnNldCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sQ3JlYXRlTWVtb3J5UGFyc2VyQ3R4dCcgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sQ3JlYXRlTWVtb3J5UGFyc2VyQ3R4dCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbENyZWF0ZVB1c2hQYXJzZXJDdHh0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxDcmVhdGVVUkknIGhyZWY9J2h0bWwvbGlieG1sLXVyaS5odG1sI3htbENyZWF0ZVVSSScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sQ3JlYXRlVVJMUGFyc2VyQ3R4dCcgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sQ3JlYXRlVVJMUGFyc2VyQ3R4dCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sQ3R4dEdldExhc3RFcnJvcicgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxDdHh0R2V0TGFzdEVycm9yJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxDdHh0UmVhZERvYycgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ3R4dFJlYWREb2MnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEN0eHRSZWFkRmQnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEN0eHRSZWFkRmQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEN0eHRSZWFkRmlsZScgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ3R4dFJlYWRGaWxlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxDdHh0UmVhZElPJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxDdHh0UmVhZElPJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxDdHh0UmVhZE1lbW9yeScgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ3R4dFJlYWRNZW1vcnknLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEN0eHRSZXNldCcgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ3R4dFJlc2V0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxDdHh0UmVzZXRMYXN0RXJyb3InIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sQ3R4dFJlc2V0TGFzdEVycm9yJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxDdHh0UmVzZXRQdXNoJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxDdHh0UmVzZXRQdXNoJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxDdHh0VXNlT3B0aW9ucycgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sQ3R4dFVzZU9wdGlvbnMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEN1cnJlbnRDaGFyJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxDdXJyZW50Q2hhcicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sRE9NV3JhcEFjcXVpcmVOc0Z1bmN0aW9uJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcEFjcXVpcmVOc0Z1bmN0aW9uJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxET01XcmFwQWRvcHROb2RlJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcEFkb3B0Tm9kZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sRE9NV3JhcENsb25lTm9kZScgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBDbG9uZU5vZGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbERPTVdyYXBDdHh0JyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcEN0eHQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbERPTVdyYXBDdHh0UHRyJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRE9NV3JhcEN0eHRQdHInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbERPTVdyYXBGcmVlQ3R4dCcgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERPTVdyYXBGcmVlQ3R4dCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sRE9NV3JhcE5ld0N0eHQnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwTmV3Q3R4dCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sRE9NV3JhcFJlY29uY2lsZU5hbWVzcGFjZXMnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwUmVjb25jaWxlTmFtZXNwYWNlcycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sRE9NV3JhcFJlbW92ZU5vZGUnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxET01XcmFwUmVtb3ZlTm9kZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sRGVidWdDaGVja0RvY3VtZW50JyBocmVmPSdodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbERlYnVnQ2hlY2tEb2N1bWVudCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sRGVidWdEdW1wQXR0cicgaHJlZj0naHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxEZWJ1Z0R1bXBBdHRyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxEZWJ1Z0R1bXBBdHRyTGlzdCcgaHJlZj0naHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxEZWJ1Z0R1bXBBdHRyTGlzdCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sRGVidWdEdW1wRFREJyBocmVmPSdodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbERlYnVnRHVtcERURCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sRGVidWdEdW1wRG9jdW1lbnQnIGhyZWY9J2h0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sRGVidWdEdW1wRG9jdW1lbnQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbERlYnVnRHVtcERvY3VtZW50SGVhZCcgaHJlZj0naHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxEZWJ1Z0R1bXBEb2N1bWVudEhlYWQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbERlYnVnRHVtcEVudGl0aWVzJyBocmVmPSdodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbERlYnVnRHVtcEVudGl0aWVzJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxEZWJ1Z0R1bXBOb2RlJyBocmVmPSdodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbERlYnVnRHVtcE5vZGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbERlYnVnRHVtcE5vZGVMaXN0JyBocmVmPSdodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbERlYnVnRHVtcE5vZGVMaXN0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxEZWJ1Z0R1bXBPbmVOb2RlJyBocmVmPSdodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbERlYnVnRHVtcE9uZU5vZGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbERlYnVnRHVtcFN0cmluZycgaHJlZj0naHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxEZWJ1Z0R1bXBTdHJpbmcnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbERlY29kZUVudGl0aWVzJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxEZWNvZGVFbnRpdGllcycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sRGVmYXVsdEJ1ZmZlclNpemUnIGhyZWY9J2h0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxEZWZhdWx0QnVmZmVyU2l6ZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sRGVmYXVsdFNBWEhhbmRsZXInIGhyZWY9J2h0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxEZWZhdWx0U0FYSGFuZGxlcicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sRGVmYXVsdFNBWEhhbmRsZXJJbml0JyBocmVmPSdodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sRGVmYXVsdFNBWEhhbmRsZXJJbml0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxEZWZhdWx0U0FYTG9jYXRvcicgaHJlZj0naHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbERlZmF1bHRTQVhMb2NhdG9yJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxEZWxFbmNvZGluZ0FsaWFzJyBocmVmPSdodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbERlbEVuY29kaW5nQWxpYXMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbERlcmVnaXN0ZXJOb2RlRGVmYXVsdCcgaHJlZj0naHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbERlcmVnaXN0ZXJOb2RlRGVmYXVsdCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sRGVyZWdpc3Rlck5vZGVEZWZhdWx0VmFsdWUnIGhyZWY9J2h0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxEZXJlZ2lzdGVyTm9kZURlZmF1bHRWYWx1ZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sRGVyZWdpc3Rlck5vZGVGdW5jJyBocmVmPSdodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sRGVyZWdpc3Rlck5vZGVGdW5jJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxEZXRlY3RDaGFyRW5jb2RpbmcnIGhyZWY9J2h0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sRGV0ZWN0Q2hhckVuY29kaW5nJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxEaWN0JyBocmVmPSdodG1sL2xpYnhtbC1kaWN0Lmh0bWwjeG1sRGljdCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sRGljdENsZWFudXAnIGhyZWY9J2h0bWwvbGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0Q2xlYW51cCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sRGljdENyZWF0ZScgaHJlZj0naHRtbC9saWJ4bWwtZGljdC5odG1sI3htbERpY3RDcmVhdGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbERpY3RDcmVhdGVTdWInIGhyZWY9J2h0bWwvbGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0Q3JlYXRlU3ViJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxEaWN0RXhpc3RzJyBocmVmPSdodG1sL2xpYnhtbC1kaWN0Lmh0bWwjeG1sRGljdEV4aXN0cycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sRGljdEZyZWUnIGhyZWY9J2h0bWwvbGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0RnJlZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sRGljdEdldFVzYWdlJyBocmVmPSdodG1sL2xpYnhtbC1kaWN0Lmh0bWwjeG1sRGljdEdldFVzYWdlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxEaWN0TG9va3VwJyBocmVmPSdodG1sL2xpYnhtbC1kaWN0Lmh0bWwjeG1sRGljdExvb2t1cCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sRGljdE93bnMnIGhyZWY9J2h0bWwvbGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0T3ducycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sRGljdFB0cicgaHJlZj0naHRtbC9saWJ4bWwtZGljdC5odG1sI3htbERpY3RQdHInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbERpY3RRTG9va3VwJyBocmVmPSdodG1sL2xpYnhtbC1kaWN0Lmh0bWwjeG1sRGljdFFMb29rdXAnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbERpY3RSZWZlcmVuY2UnIGhyZWY9J2h0bWwvbGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0UmVmZXJlbmNlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxEaWN0U2V0TGltaXQnIGhyZWY9J2h0bWwvbGlieG1sLWRpY3QuaHRtbCN4bWxEaWN0U2V0TGltaXQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbERpY3RTaXplJyBocmVmPSdodG1sL2xpYnhtbC1kaWN0Lmh0bWwjeG1sRGljdFNpemUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbERsbE1haW4nIGhyZWY9J2h0bWwvbGlieG1sLXRocmVhZHMuaHRtbCN4bWxEbGxNYWluJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxEb1ZhbGlkaXR5Q2hlY2tpbmdEZWZhdWx0VmFsdWUnIGhyZWY9J2h0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxEb1ZhbGlkaXR5Q2hlY2tpbmdEZWZhdWx0VmFsdWUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbERvYycgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERvYycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sRG9jQ29weU5vZGUnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxEb2NDb3B5Tm9kZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sRG9jQ29weU5vZGVMaXN0JyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRG9jQ29weU5vZGVMaXN0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxEb2NEdW1wJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRG9jRHVtcCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sRG9jRHVtcEZvcm1hdE1lbW9yeScgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERvY0R1bXBGb3JtYXRNZW1vcnknLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbERvY0R1bXBGb3JtYXRNZW1vcnlFbmMnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxEb2NEdW1wRm9ybWF0TWVtb3J5RW5jJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxEb2NEdW1wTWVtb3J5JyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRG9jRHVtcE1lbW9yeScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sRG9jRHVtcE1lbW9yeUVuYycgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERvY0R1bXBNZW1vcnlFbmMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbERvY0Zvcm1hdER1bXAnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxEb2NGb3JtYXREdW1wJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxEb2NHZXRSb290RWxlbWVudCcgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERvY0dldFJvb3RFbGVtZW50Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxEb2NQcm9wZXJ0aWVzJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHJvcGVydGllcycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sRG9jUHRyJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRG9jUHRyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxEb2NTZXRSb290RWxlbWVudCcgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbERvY1NldFJvb3RFbGVtZW50Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxEdGQnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxEdGQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbER0ZFB0cicgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbER0ZFB0cicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sRHVtcEF0dHJpYnV0ZURlY2wnIGhyZWY9J2h0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sRHVtcEF0dHJpYnV0ZURlY2wnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbER1bXBBdHRyaWJ1dGVUYWJsZScgaHJlZj0naHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxEdW1wQXR0cmlidXRlVGFibGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbER1bXBFbGVtZW50RGVjbCcgaHJlZj0naHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxEdW1wRWxlbWVudERlY2wnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbER1bXBFbGVtZW50VGFibGUnIGhyZWY9J2h0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sRHVtcEVsZW1lbnRUYWJsZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sRHVtcEVudGl0aWVzVGFibGUnIGhyZWY9J2h0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjeG1sRHVtcEVudGl0aWVzVGFibGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbER1bXBFbnRpdHlEZWNsJyBocmVmPSdodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI3htbER1bXBFbnRpdHlEZWNsJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxEdW1wTm90YXRpb25EZWNsJyBocmVmPSdodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbER1bXBOb3RhdGlvbkRlY2wnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbER1bXBOb3RhdGlvblRhYmxlJyBocmVmPSdodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbER1bXBOb3RhdGlvblRhYmxlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxFbGVtRHVtcCcgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEVsZW1EdW1wJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxFbGVtZW50JyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRWxlbWVudCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sRWxlbWVudENvbnRlbnQnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxFbGVtZW50Q29udGVudCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sRWxlbWVudENvbnRlbnRPY2N1cicgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEVsZW1lbnRDb250ZW50T2NjdXInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEVsZW1lbnRDb250ZW50UHRyJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRWxlbWVudENvbnRlbnRQdHInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEVsZW1lbnRDb250ZW50VHlwZScgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEVsZW1lbnRDb250ZW50VHlwZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sRWxlbWVudFB0cicgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEVsZW1lbnRQdHInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEVsZW1lbnRUYWJsZScgaHJlZj0naHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxFbGVtZW50VGFibGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEVsZW1lbnRUYWJsZVB0cicgaHJlZj0naHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxFbGVtZW50VGFibGVQdHInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEVsZW1lbnRUeXBlJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRWxlbWVudFR5cGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEVsZW1lbnRUeXBlVmFsJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRWxlbWVudFR5cGVWYWwnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEVuY29kZUVudGl0aWVzJyBocmVmPSdodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI3htbEVuY29kZUVudGl0aWVzJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxFbmNvZGVFbnRpdGllc1JlZW50cmFudCcgaHJlZj0naHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxFbmNvZGVFbnRpdGllc1JlZW50cmFudCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sRW5jb2RlU3BlY2lhbENoYXJzJyBocmVmPSdodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI3htbEVuY29kZVNwZWNpYWxDaGFycycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sRW50aXRpZXNUYWJsZScgaHJlZj0naHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxFbnRpdGllc1RhYmxlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxFbnRpdGllc1RhYmxlUHRyJyBocmVmPSdodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI3htbEVudGl0aWVzVGFibGVQdHInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEVudGl0eScgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEVudGl0eScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sRW50aXR5UHRyJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRW50aXR5UHRyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxFbnRpdHlSZWZlcmVuY2VGdW5jJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxFbnRpdHlSZWZlcmVuY2VGdW5jJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxFbnRpdHlUeXBlJyBocmVmPSdodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI3htbEVudGl0eVR5cGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEVudW1lcmF0aW9uJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRW51bWVyYXRpb24nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEVudW1lcmF0aW9uUHRyJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRW51bWVyYXRpb25QdHInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEVyck1lbW9yeScgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sRXJyTWVtb3J5Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxFcnJvcicgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxFcnJvcicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sRXJyb3JEb21haW4nIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sRXJyb3JEb21haW4nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEVycm9yTGV2ZWwnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sRXJyb3JMZXZlbCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sRXJyb3JQdHInIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sRXJyb3JQdHInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEV4cEN0eHQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cEN0eHQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEV4cEN0eHROYkNvbnMnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cEN0eHROYkNvbnMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEV4cEN0eHROYk5vZGVzJyBocmVmPSdodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBDdHh0TmJOb2RlcycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sRXhwQ3R4dFB0cicgaHJlZj0naHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwQ3R4dFB0cicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sRXhwRHVtcCcgaHJlZj0naHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwRHVtcCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sRXhwRXhwRGVyaXZlJyBocmVmPSdodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBFeHBEZXJpdmUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEV4cEZyZWUnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cEZyZWUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEV4cEZyZWVDdHh0JyBocmVmPSdodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBGcmVlQ3R4dCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sRXhwR2V0TGFuZ3VhZ2UnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cEdldExhbmd1YWdlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxFeHBHZXRTdGFydCcgaHJlZj0naHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwR2V0U3RhcnQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEV4cElzTmlsbGFibGUnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cElzTmlsbGFibGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEV4cE1heFRva2VuJyBocmVmPSdodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBNYXhUb2tlbicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sRXhwTmV3QXRvbScgaHJlZj0naHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwTmV3QXRvbScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sRXhwTmV3Q3R4dCcgaHJlZj0naHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwTmV3Q3R4dCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sRXhwTmV3T3InIGhyZWY9J2h0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbEV4cE5ld09yJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxFeHBOZXdSYW5nZScgaHJlZj0naHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwTmV3UmFuZ2UnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEV4cE5ld1NlcScgaHJlZj0naHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwTmV3U2VxJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxFeHBOb2RlJyBocmVmPSdodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBOb2RlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxFeHBOb2RlUHRyJyBocmVmPSdodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBOb2RlUHRyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxFeHBOb2RlVHlwZScgaHJlZj0naHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwTm9kZVR5cGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEV4cFBhcnNlJyBocmVmPSdodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBQYXJzZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sRXhwUmVmJyBocmVmPSdodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBSZWYnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEV4cFN0cmluZ0Rlcml2ZScgaHJlZj0naHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sRXhwU3RyaW5nRGVyaXZlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxFeHBTdWJzdW1lJyBocmVmPSdodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxFeHBTdWJzdW1lJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxFeHRlcm5hbEVudGl0eUxvYWRlcicgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sRXh0ZXJuYWxFbnRpdHlMb2FkZXInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEZlYXR1cmUnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEZlYXR1cmUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEZpbGVDbG9zZScgaHJlZj0naHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxGaWxlQ2xvc2UnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEZpbGVNYXRjaCcgaHJlZj0naHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxGaWxlTWF0Y2gnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEZpbGVPcGVuJyBocmVmPSdodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbEZpbGVPcGVuJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxGaWxlUmVhZCcgaHJlZj0naHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxGaWxlUmVhZCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sRmluZENoYXJFbmNvZGluZ0hhbmRsZXInIGhyZWY9J2h0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sRmluZENoYXJFbmNvZGluZ0hhbmRsZXInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEZpcnN0RWxlbWVudENoaWxkJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRmlyc3RFbGVtZW50Q2hpbGQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEZyZWUnIGhyZWY9J2h0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxGcmVlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxGcmVlQXR0cmlidXRlVGFibGUnIGhyZWY9J2h0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sRnJlZUF0dHJpYnV0ZVRhYmxlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxGcmVlQXV0b21hdGEnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sRnJlZUF1dG9tYXRhJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxGcmVlQ2F0YWxvZycgaHJlZj0naHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbEZyZWVDYXRhbG9nJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxGcmVlRG9jJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRnJlZURvYycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sRnJlZURvY0VsZW1lbnRDb250ZW50JyBocmVmPSdodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEZyZWVEb2NFbGVtZW50Q29udGVudCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sRnJlZUR0ZCcgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEZyZWVEdGQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEZyZWVFbGVtZW50Q29udGVudCcgaHJlZj0naHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxGcmVlRWxlbWVudENvbnRlbnQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEZyZWVFbGVtZW50VGFibGUnIGhyZWY9J2h0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sRnJlZUVsZW1lbnRUYWJsZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sRnJlZUVudGl0aWVzVGFibGUnIGhyZWY9J2h0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjeG1sRnJlZUVudGl0aWVzVGFibGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEZyZWVFbnVtZXJhdGlvbicgaHJlZj0naHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxGcmVlRW51bWVyYXRpb24nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEZyZWVGdW5jJyBocmVmPSdodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxGcmVlRnVuYycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sRnJlZUlEVGFibGUnIGhyZWY9J2h0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sRnJlZUlEVGFibGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEZyZWVJbnB1dFN0cmVhbScgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sRnJlZUlucHV0U3RyZWFtJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxGcmVlTXV0ZXgnIGhyZWY9J2h0bWwvbGlieG1sLXRocmVhZHMuaHRtbCN4bWxGcmVlTXV0ZXgnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEZyZWVOb2RlJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sRnJlZU5vZGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEZyZWVOb2RlTGlzdCcgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEZyZWVOb2RlTGlzdCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sRnJlZU5vdGF0aW9uVGFibGUnIGhyZWY9J2h0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sRnJlZU5vdGF0aW9uVGFibGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEZyZWVOcycgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEZyZWVOcycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sRnJlZU5zTGlzdCcgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEZyZWVOc0xpc3QnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEZyZWVQYXJzZXJDdHh0JyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxGcmVlUGFyc2VyQ3R4dCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sRnJlZVBhcnNlcklucHV0QnVmZmVyJyBocmVmPSdodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbEZyZWVQYXJzZXJJbnB1dEJ1ZmZlcicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sRnJlZVBhdHRlcm4nIGhyZWY9J2h0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCN4bWxGcmVlUGF0dGVybicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sRnJlZVBhdHRlcm5MaXN0JyBocmVmPSdodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sRnJlZVBhdHRlcm5MaXN0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxGcmVlUHJvcCcgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEZyZWVQcm9wJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxGcmVlUHJvcExpc3QnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxGcmVlUHJvcExpc3QnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEZyZWVSTXV0ZXgnIGhyZWY9J2h0bWwvbGlieG1sLXRocmVhZHMuaHRtbCN4bWxGcmVlUk11dGV4Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxGcmVlUmVmVGFibGUnIGhyZWY9J2h0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sRnJlZVJlZlRhYmxlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxGcmVlU3RyZWFtQ3R4dCcgaHJlZj0naHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbEZyZWVTdHJlYW1DdHh0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxGcmVlVGV4dFJlYWRlcicgaHJlZj0naHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sRnJlZVRleHRSZWFkZXInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEZyZWVUZXh0V3JpdGVyJyBocmVmPSdodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxGcmVlVGV4dFdyaXRlcicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sRnJlZVVSSScgaHJlZj0naHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sRnJlZVVSSScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sRnJlZVZhbGlkQ3R4dCcgaHJlZj0naHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxGcmVlVmFsaWRDdHh0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxHY01lbUdldCcgaHJlZj0naHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sR2NNZW1HZXQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEdjTWVtU2V0dXAnIGhyZWY9J2h0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbEdjTWVtU2V0dXAnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEdlbmVyaWNFcnJvcicgaHJlZj0naHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbEdlbmVyaWNFcnJvcicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sR2VuZXJpY0Vycm9yQ29udGV4dCcgaHJlZj0naHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbEdlbmVyaWNFcnJvckNvbnRleHQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEdlbmVyaWNFcnJvckZ1bmMnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sR2VuZXJpY0Vycm9yRnVuYycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sR2V0QnVmZmVyQWxsb2NhdGlvblNjaGVtZScgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEdldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEdldENoYXJFbmNvZGluZ0hhbmRsZXInIGhyZWY9J2h0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sR2V0Q2hhckVuY29kaW5nSGFuZGxlcicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sR2V0Q2hhckVuY29kaW5nTmFtZScgaHJlZj0naHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxHZXRDaGFyRW5jb2RpbmdOYW1lJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxHZXRDb21wcmVzc01vZGUnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxHZXRDb21wcmVzc01vZGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEdldERvY0NvbXByZXNzTW9kZScgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEdldERvY0NvbXByZXNzTW9kZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sR2V0RG9jRW50aXR5JyBocmVmPSdodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI3htbEdldERvY0VudGl0eScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sR2V0RHRkQXR0ckRlc2MnIGhyZWY9J2h0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sR2V0RHRkQXR0ckRlc2MnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEdldER0ZEVsZW1lbnREZXNjJyBocmVmPSdodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEdldER0ZEVsZW1lbnREZXNjJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxHZXREdGRFbnRpdHknIGhyZWY9J2h0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjeG1sR2V0RHRkRW50aXR5Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxHZXREdGROb3RhdGlvbkRlc2MnIGhyZWY9J2h0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sR2V0RHRkTm90YXRpb25EZXNjJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxHZXREdGRRQXR0ckRlc2MnIGhyZWY9J2h0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sR2V0RHRkUUF0dHJEZXNjJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxHZXREdGRRRWxlbWVudERlc2MnIGhyZWY9J2h0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sR2V0RHRkUUVsZW1lbnREZXNjJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxHZXRFbmNvZGluZ0FsaWFzJyBocmVmPSdodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbEdldEVuY29kaW5nQWxpYXMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEdldEV4dGVybmFsRW50aXR5TG9hZGVyJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxHZXRFeHRlcm5hbEVudGl0eUxvYWRlcicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sR2V0RmVhdHVyZScgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sR2V0RmVhdHVyZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sR2V0RmVhdHVyZXNMaXN0JyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxHZXRGZWF0dXJlc0xpc3QnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEdldEdsb2JhbFN0YXRlJyBocmVmPSdodG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sR2V0R2xvYmFsU3RhdGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEdldElEJyBocmVmPSdodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbEdldElEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxHZXRJbnRTdWJzZXQnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxHZXRJbnRTdWJzZXQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEdldExhc3RDaGlsZCcgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEdldExhc3RDaGlsZCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sR2V0TGFzdEVycm9yJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI3htbEdldExhc3RFcnJvcicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sR2V0TGluZU5vJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sR2V0TGluZU5vJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxHZXROb05zUHJvcCcgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEdldE5vTnNQcm9wJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxHZXROb2RlUGF0aCcgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEdldE5vZGVQYXRoJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxHZXROc0xpc3QnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxHZXROc0xpc3QnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEdldE5zUHJvcCcgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbEdldE5zUHJvcCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sR2V0UGFyYW1ldGVyRW50aXR5JyBocmVmPSdodG1sL2xpYnhtbC1lbnRpdGllcy5odG1sI3htbEdldFBhcmFtZXRlckVudGl0eScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sR2V0UHJlZGVmaW5lZEVudGl0eScgaHJlZj0naHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxHZXRQcmVkZWZpbmVkRW50aXR5Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxHZXRQcm9wJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sR2V0UHJvcCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sR2V0UmVmcycgaHJlZj0naHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxHZXRSZWZzJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxHZXRUaHJlYWRJZCcgaHJlZj0naHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbEdldFRocmVhZElkJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxHZXRVVEY4Q2hhcicgaHJlZj0naHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sR2V0VVRGOENoYXInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEdldFdhcm5pbmdzRGVmYXVsdFZhbHVlJyBocmVmPSdodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sR2V0V2FybmluZ3NEZWZhdWx0VmFsdWUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEdsb2JhbFN0YXRlJyBocmVmPSdodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sR2xvYmFsU3RhdGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEdsb2JhbFN0YXRlUHRyJyBocmVmPSdodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sR2xvYmFsU3RhdGVQdHInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEhhbmRsZUVudGl0eScgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sSGFuZGxlRW50aXR5Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxIYXNGZWF0dXJlJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxIYXNGZWF0dXJlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxIYXNOc1Byb3AnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxIYXNOc1Byb3AnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEhhc1Byb3AnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxIYXNQcm9wJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxIYXNoQWRkRW50cnknIGhyZWY9J2h0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoQWRkRW50cnknLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEhhc2hBZGRFbnRyeTInIGhyZWY9J2h0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoQWRkRW50cnkyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxIYXNoQWRkRW50cnkzJyBocmVmPSdodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaEFkZEVudHJ5MycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sSGFzaENvcGllcicgaHJlZj0naHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hDb3BpZXInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEhhc2hDb3B5JyBocmVmPSdodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaENvcHknLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEhhc2hDcmVhdGUnIGhyZWY9J2h0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoQ3JlYXRlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxIYXNoQ3JlYXRlRGljdCcgaHJlZj0naHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hDcmVhdGVEaWN0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxIYXNoRGVhbGxvY2F0b3InIGhyZWY9J2h0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoRGVhbGxvY2F0b3InLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEhhc2hGcmVlJyBocmVmPSdodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaEZyZWUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEhhc2hMb29rdXAnIGhyZWY9J2h0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoTG9va3VwJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxIYXNoTG9va3VwMicgaHJlZj0naHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hMb29rdXAyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxIYXNoTG9va3VwMycgaHJlZj0naHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hMb29rdXAzJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxIYXNoUUxvb2t1cCcgaHJlZj0naHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hRTG9va3VwJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxIYXNoUUxvb2t1cDInIGhyZWY9J2h0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoUUxvb2t1cDInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEhhc2hRTG9va3VwMycgaHJlZj0naHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hRTG9va3VwMycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sSGFzaFJlbW92ZUVudHJ5JyBocmVmPSdodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFJlbW92ZUVudHJ5Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxIYXNoUmVtb3ZlRW50cnkyJyBocmVmPSdodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFJlbW92ZUVudHJ5MicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sSGFzaFJlbW92ZUVudHJ5MycgaHJlZj0naHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hSZW1vdmVFbnRyeTMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEhhc2hTY2FuJyBocmVmPSdodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFNjYW4nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEhhc2hTY2FuMycgaHJlZj0naHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hTY2FuMycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sSGFzaFNjYW5GdWxsJyBocmVmPSdodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFNjYW5GdWxsJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxIYXNoU2NhbkZ1bGwzJyBocmVmPSdodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFNjYW5GdWxsMycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sSGFzaFNjYW5uZXInIGhyZWY9J2h0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoU2Nhbm5lcicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sSGFzaFNjYW5uZXJGdWxsJyBocmVmPSdodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFNjYW5uZXJGdWxsJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxIYXNoU2l6ZScgaHJlZj0naHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hTaXplJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxIYXNoVGFibGUnIGhyZWY9J2h0bWwvbGlieG1sLWhhc2guaHRtbCN4bWxIYXNoVGFibGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEhhc2hUYWJsZVB0cicgaHJlZj0naHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hUYWJsZVB0cicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sSGFzaFVwZGF0ZUVudHJ5JyBocmVmPSdodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFVwZGF0ZUVudHJ5Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxIYXNoVXBkYXRlRW50cnkyJyBocmVmPSdodG1sL2xpYnhtbC1oYXNoLmh0bWwjeG1sSGFzaFVwZGF0ZUVudHJ5MicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sSGFzaFVwZGF0ZUVudHJ5MycgaHJlZj0naHRtbC9saWJ4bWwtaGFzaC5odG1sI3htbEhhc2hVcGRhdGVFbnRyeTMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbElEJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sSUQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbElEUHRyJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sSURQdHInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbElEVGFibGUnIGhyZWY9J2h0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sSURUYWJsZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sSURUYWJsZVB0cicgaHJlZj0naHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxJRFRhYmxlUHRyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxJT0ZUUENsb3NlJyBocmVmPSdodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbElPRlRQQ2xvc2UnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbElPRlRQTWF0Y2gnIGhyZWY9J2h0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sSU9GVFBNYXRjaCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sSU9GVFBPcGVuJyBocmVmPSdodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbElPRlRQT3BlbicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sSU9GVFBSZWFkJyBocmVmPSdodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbElPRlRQUmVhZCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sSU9IVFRQQ2xvc2UnIGhyZWY9J2h0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sSU9IVFRQQ2xvc2UnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbElPSFRUUE1hdGNoJyBocmVmPSdodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbElPSFRUUE1hdGNoJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxJT0hUVFBPcGVuJyBocmVmPSdodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbElPSFRUUE9wZW4nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbElPSFRUUE9wZW5XJyBocmVmPSdodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbElPSFRUUE9wZW5XJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxJT0hUVFBSZWFkJyBocmVmPSdodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbElPSFRUUFJlYWQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbElPUGFyc2VEVEQnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbElPUGFyc2VEVEQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEluZGVudFRyZWVPdXRwdXQnIGhyZWY9J2h0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxJbmRlbnRUcmVlT3V0cHV0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxJbml0Q2hhckVuY29kaW5nSGFuZGxlcnMnIGhyZWY9J2h0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjeG1sSW5pdENoYXJFbmNvZGluZ0hhbmRsZXJzJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxJbml0R2xvYmFscycgaHJlZj0naHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbEluaXRHbG9iYWxzJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxJbml0TWVtb3J5JyBocmVmPSdodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxJbml0TWVtb3J5Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxJbml0Tm9kZUluZm9TZXEnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEluaXROb2RlSW5mb1NlcScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sSW5pdFBhcnNlcicgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sSW5pdFBhcnNlcicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sSW5pdFBhcnNlckN0eHQnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbEluaXRQYXJzZXJDdHh0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxJbml0VGhyZWFkcycgaHJlZj0naHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbEluaXRUaHJlYWRzJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxJbml0aWFsaXplQ2F0YWxvZycgaHJlZj0naHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbEluaXRpYWxpemVDYXRhbG9nJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxJbml0aWFsaXplRGljdCcgaHJlZj0naHRtbC9saWJ4bWwtZGljdC5odG1sI3htbEluaXRpYWxpemVEaWN0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxJbml0aWFsaXplR2xvYmFsU3RhdGUnIGhyZWY9J2h0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxJbml0aWFsaXplR2xvYmFsU3RhdGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEluaXRpYWxpemVQcmVkZWZpbmVkRW50aXRpZXMnIGhyZWY9J2h0bWwvbGlieG1sLWVudGl0aWVzLmh0bWwjeG1sSW5pdGlhbGl6ZVByZWRlZmluZWRFbnRpdGllcycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sSW5wdXRDbG9zZUNhbGxiYWNrJyBocmVmPSdodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbElucHV0Q2xvc2VDYWxsYmFjaycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sSW5wdXRNYXRjaENhbGxiYWNrJyBocmVmPSdodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbElucHV0TWF0Y2hDYWxsYmFjaycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sSW5wdXRPcGVuQ2FsbGJhY2snIGhyZWY9J2h0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sSW5wdXRPcGVuQ2FsbGJhY2snLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbElucHV0UmVhZENhbGxiYWNrJyBocmVmPSdodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbElucHV0UmVhZENhbGxiYWNrJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxJc0Jhc2VDaGFyJyBocmVmPSdodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNCYXNlQ2hhcicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sSXNCYXNlQ2hhckdyb3VwJyBocmVmPSdodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNCYXNlQ2hhckdyb3VwJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxJc0Jhc2VDaGFyUScgaHJlZj0naHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzQmFzZUNoYXJRJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxJc0Jhc2VDaGFyX2NoJyBocmVmPSdodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNCYXNlQ2hhcl9jaCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sSXNCbGFuaycgaHJlZj0naHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzQmxhbmsnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbElzQmxhbmtOb2RlJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sSXNCbGFua05vZGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbElzQmxhbmtRJyBocmVmPSdodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNCbGFua1EnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbElzQmxhbmtfY2gnIGhyZWY9J2h0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc0JsYW5rX2NoJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxJc0NoYXInIGhyZWY9J2h0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc0NoYXInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbElzQ2hhckdyb3VwJyBocmVmPSdodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNDaGFyR3JvdXAnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbElzQ2hhclEnIGhyZWY9J2h0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc0NoYXJRJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxJc0NoYXJfY2gnIGhyZWY9J2h0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc0NoYXJfY2gnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbElzQ29tYmluaW5nJyBocmVmPSdodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNDb21iaW5pbmcnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbElzQ29tYmluaW5nR3JvdXAnIGhyZWY9J2h0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc0NvbWJpbmluZ0dyb3VwJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxJc0NvbWJpbmluZ1EnIGhyZWY9J2h0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc0NvbWJpbmluZ1EnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbElzRGlnaXQnIGhyZWY9J2h0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc0RpZ2l0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxJc0RpZ2l0R3JvdXAnIGhyZWY9J2h0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc0RpZ2l0R3JvdXAnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbElzRGlnaXRRJyBocmVmPSdodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNEaWdpdFEnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbElzRGlnaXRfY2gnIGhyZWY9J2h0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc0RpZ2l0X2NoJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxJc0V4dGVuZGVyJyBocmVmPSdodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNFeHRlbmRlcicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sSXNFeHRlbmRlckdyb3VwJyBocmVmPSdodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNFeHRlbmRlckdyb3VwJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxJc0V4dGVuZGVyUScgaHJlZj0naHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzRXh0ZW5kZXJRJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxJc0V4dGVuZGVyX2NoJyBocmVmPSdodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNFeHRlbmRlcl9jaCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sSXNJRCcgaHJlZj0naHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxJc0lEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxJc0lkZW9ncmFwaGljJyBocmVmPSdodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNJZGVvZ3JhcGhpYycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sSXNJZGVvZ3JhcGhpY0dyb3VwJyBocmVmPSdodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNJZGVvZ3JhcGhpY0dyb3VwJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxJc0lkZW9ncmFwaGljUScgaHJlZj0naHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzSWRlb2dyYXBoaWNRJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxJc0xldHRlcicgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sSXNMZXR0ZXInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbElzTWFpblRocmVhZCcgaHJlZj0naHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbElzTWFpblRocmVhZCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sSXNNaXhlZEVsZW1lbnQnIGhyZWY9J2h0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sSXNNaXhlZEVsZW1lbnQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbElzUHViaWRDaGFyJyBocmVmPSdodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNQdWJpZENoYXInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbElzUHViaWRDaGFyUScgaHJlZj0naHRtbC9saWJ4bWwtY2h2YWxpZC5odG1sI3htbElzUHViaWRDaGFyUScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sSXNQdWJpZENoYXJfY2gnIGhyZWY9J2h0bWwvbGlieG1sLWNodmFsaWQuaHRtbCN4bWxJc1B1YmlkQ2hhcl9jaCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sSXNQdWJpZENoYXJfdGFiJyBocmVmPSdodG1sL2xpYnhtbC1jaHZhbGlkLmh0bWwjeG1sSXNQdWJpZENoYXJfdGFiJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxJc1JlZicgaHJlZj0naHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxJc1JlZicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sSXNYSFRNTCcgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbElzWEhUTUwnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbEtlZXBCbGFua3NEZWZhdWx0JyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxLZWVwQmxhbmtzRGVmYXVsdCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sS2VlcEJsYW5rc0RlZmF1bHRWYWx1ZScgaHJlZj0naHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbEtlZXBCbGFua3NEZWZhdWx0VmFsdWUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbExhc3RFbGVtZW50Q2hpbGQnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxMYXN0RWxlbWVudENoaWxkJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxMYXN0RXJyb3InIGhyZWY9J2h0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxMYXN0RXJyb3InLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbExpbmVOdW1iZXJzRGVmYXVsdCcgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sTGluZU51bWJlcnNEZWZhdWx0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxMaW5lTnVtYmVyc0RlZmF1bHRWYWx1ZScgaHJlZj0naHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbExpbmVOdW1iZXJzRGVmYXVsdFZhbHVlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxMaW5rJyBocmVmPSdodG1sL2xpYnhtbC1saXN0Lmh0bWwjeG1sTGluaycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTGlua0dldERhdGEnIGhyZWY9J2h0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaW5rR2V0RGF0YScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTGlua1B0cicgaHJlZj0naHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpbmtQdHInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbExpc3QnIGhyZWY9J2h0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxMaXN0QXBwZW5kJyBocmVmPSdodG1sL2xpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdEFwcGVuZCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTGlzdENsZWFyJyBocmVmPSdodG1sL2xpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdENsZWFyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxMaXN0Q29weScgaHJlZj0naHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3RDb3B5Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxMaXN0Q3JlYXRlJyBocmVmPSdodG1sL2xpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdENyZWF0ZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTGlzdERhdGFDb21wYXJlJyBocmVmPSdodG1sL2xpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdERhdGFDb21wYXJlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxMaXN0RGVhbGxvY2F0b3InIGhyZWY9J2h0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0RGVhbGxvY2F0b3InLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbExpc3REZWxldGUnIGhyZWY9J2h0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0RGVsZXRlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxMaXN0RHVwJyBocmVmPSdodG1sL2xpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdER1cCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTGlzdEVtcHR5JyBocmVmPSdodG1sL2xpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdEVtcHR5Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxMaXN0RW5kJyBocmVmPSdodG1sL2xpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdEVuZCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTGlzdEZyb250JyBocmVmPSdodG1sL2xpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdEZyb250Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxMaXN0SW5zZXJ0JyBocmVmPSdodG1sL2xpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdEluc2VydCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTGlzdE1lcmdlJyBocmVmPSdodG1sL2xpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdE1lcmdlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxMaXN0UG9wQmFjaycgaHJlZj0naHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3RQb3BCYWNrJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxMaXN0UG9wRnJvbnQnIGhyZWY9J2h0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0UG9wRnJvbnQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbExpc3RQdHInIGhyZWY9J2h0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0UHRyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxMaXN0UHVzaEJhY2snIGhyZWY9J2h0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0UHVzaEJhY2snLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbExpc3RQdXNoRnJvbnQnIGhyZWY9J2h0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0UHVzaEZyb250Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxMaXN0UmVtb3ZlQWxsJyBocmVmPSdodG1sL2xpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdFJlbW92ZUFsbCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTGlzdFJlbW92ZUZpcnN0JyBocmVmPSdodG1sL2xpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdFJlbW92ZUZpcnN0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxMaXN0UmVtb3ZlTGFzdCcgaHJlZj0naHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3RSZW1vdmVMYXN0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxMaXN0UmV2ZXJzZScgaHJlZj0naHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3RSZXZlcnNlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxMaXN0UmV2ZXJzZVNlYXJjaCcgaHJlZj0naHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3RSZXZlcnNlU2VhcmNoJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxMaXN0UmV2ZXJzZVdhbGsnIGhyZWY9J2h0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0UmV2ZXJzZVdhbGsnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbExpc3RTZWFyY2gnIGhyZWY9J2h0bWwvbGlieG1sLWxpc3QuaHRtbCN4bWxMaXN0U2VhcmNoJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxMaXN0U2l6ZScgaHJlZj0naHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3RTaXplJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxMaXN0U29ydCcgaHJlZj0naHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3RTb3J0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxMaXN0V2FsaycgaHJlZj0naHRtbC9saWJ4bWwtbGlzdC5odG1sI3htbExpc3RXYWxrJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxMaXN0V2Fsa2VyJyBocmVmPSdodG1sL2xpYnhtbC1saXN0Lmh0bWwjeG1sTGlzdFdhbGtlcicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTG9hZEFDYXRhbG9nJyBocmVmPSdodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sTG9hZEFDYXRhbG9nJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxMb2FkQ2F0YWxvZycgaHJlZj0naHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbExvYWRDYXRhbG9nJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxMb2FkQ2F0YWxvZ3MnIGhyZWY9J2h0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxMb2FkQ2F0YWxvZ3MnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbExvYWRFeHREdGREZWZhdWx0VmFsdWUnIGhyZWY9J2h0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxMb2FkRXh0RHRkRGVmYXVsdFZhbHVlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxMb2FkRXh0ZXJuYWxFbnRpdHknIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbExvYWRFeHRlcm5hbEVudGl0eScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTG9hZFNHTUxTdXBlckNhdGFsb2cnIGhyZWY9J2h0bWwvbGlieG1sLWNhdGFsb2cuaHRtbCN4bWxMb2FkU0dNTFN1cGVyQ2F0YWxvZycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTG9jYXRpb25TZXQnIGhyZWY9J2h0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sTG9jYXRpb25TZXQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbExvY2F0aW9uU2V0UHRyJyBocmVmPSdodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbExvY2F0aW9uU2V0UHRyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxMb2NrTGlicmFyeScgaHJlZj0naHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbExvY2tMaWJyYXJ5Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxMc0NvdW50Tm9kZScgaHJlZj0naHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxMc0NvdW50Tm9kZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTHNPbmVOb2RlJyBocmVmPSdodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbExzT25lTm9kZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTWFsbG9jJyBocmVmPSdodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sTWFsbG9jJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxNYWxsb2NBdG9taWMnIGhyZWY9J2h0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxNYWxsb2NBdG9taWMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbE1hbGxvY0F0b21pY0xvYycgaHJlZj0naHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWFsbG9jQXRvbWljTG9jJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxNYWxsb2NGdW5jJyBocmVmPSdodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNYWxsb2NGdW5jJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxNYWxsb2NMb2MnIGhyZWY9J2h0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1hbGxvY0xvYycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTWVtQmxvY2tzJyBocmVmPSdodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNZW1CbG9ja3MnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbE1lbURpc3BsYXknIGhyZWY9J2h0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1lbURpc3BsYXknLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbE1lbURpc3BsYXlMYXN0JyBocmVmPSdodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNZW1EaXNwbGF5TGFzdCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTWVtRnJlZScgaHJlZj0naHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWVtRnJlZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTWVtR2V0JyBocmVmPSdodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNZW1HZXQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbE1lbU1hbGxvYycgaHJlZj0naHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWVtTWFsbG9jJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxNZW1SZWFsbG9jJyBocmVmPSdodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNZW1SZWFsbG9jJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxNZW1TZXR1cCcgaHJlZj0naHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWVtU2V0dXAnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbE1lbVNob3cnIGhyZWY9J2h0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1lbVNob3cnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbE1lbVN0cmR1cCcgaHJlZj0naHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbE1lbVN0cmR1cCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTWVtU3RyZHVwTG9jJyBocmVmPSdodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxNZW1TdHJkdXBMb2MnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbE1lbVVzZWQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1lbVVzZWQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbE1lbW9yeUR1bXAnIGhyZWY9J2h0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbE1lbW9yeUR1bXAnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbE1lbW9yeVN0cmR1cCcgaHJlZj0naHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwjeG1sTWVtb3J5U3RyZHVwJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxNb2R1bGUnIGhyZWY9J2h0bWwvbGlieG1sLXhtbG1vZHVsZS5odG1sI3htbE1vZHVsZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTW9kdWxlQ2xvc2UnIGhyZWY9J2h0bWwvbGlieG1sLXhtbG1vZHVsZS5odG1sI3htbE1vZHVsZUNsb3NlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxNb2R1bGVGcmVlJyBocmVmPSdodG1sL2xpYnhtbC14bWxtb2R1bGUuaHRtbCN4bWxNb2R1bGVGcmVlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxNb2R1bGVPcGVuJyBocmVmPSdodG1sL2xpYnhtbC14bWxtb2R1bGUuaHRtbCN4bWxNb2R1bGVPcGVuJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxNb2R1bGVPcHRpb24nIGhyZWY9J2h0bWwvbGlieG1sLXhtbG1vZHVsZS5odG1sI3htbE1vZHVsZU9wdGlvbicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTW9kdWxlUHRyJyBocmVmPSdodG1sL2xpYnhtbC14bWxtb2R1bGUuaHRtbCN4bWxNb2R1bGVQdHInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbE1vZHVsZVN5bWJvbCcgaHJlZj0naHRtbC9saWJ4bWwteG1sbW9kdWxlLmh0bWwjeG1sTW9kdWxlU3ltYm9sJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxNdXRleCcgaHJlZj0naHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbE11dGV4Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxNdXRleExvY2snIGhyZWY9J2h0bWwvbGlieG1sLXRocmVhZHMuaHRtbCN4bWxNdXRleExvY2snLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbE11dGV4UHRyJyBocmVmPSdodG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sTXV0ZXhQdHInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbE11dGV4VW5sb2NrJyBocmVmPSdodG1sL2xpYnhtbC10aHJlYWRzLmh0bWwjeG1sTXV0ZXhVbmxvY2snLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbE5hbWVzcGFjZVBhcnNlTkNOYW1lJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxOYW1lc3BhY2VQYXJzZU5DTmFtZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTmFtZXNwYWNlUGFyc2VOU0RlZicgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sTmFtZXNwYWNlUGFyc2VOU0RlZicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTmFtZXNwYWNlUGFyc2VRTmFtZScgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sTmFtZXNwYWNlUGFyc2VRTmFtZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTmFub0ZUUENoZWNrUmVzcG9uc2UnIGhyZWY9J2h0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQQ2hlY2tSZXNwb25zZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTmFub0ZUUENsZWFudXAnIGhyZWY9J2h0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQQ2xlYW51cCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTmFub0ZUUENsb3NlJyBocmVmPSdodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUENsb3NlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxOYW5vRlRQQ2xvc2VDb25uZWN0aW9uJyBocmVmPSdodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUENsb3NlQ29ubmVjdGlvbicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTmFub0ZUUENvbm5lY3QnIGhyZWY9J2h0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQQ29ubmVjdCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTmFub0ZUUENvbm5lY3RUbycgaHJlZj0naHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBDb25uZWN0VG8nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbE5hbm9GVFBDd2QnIGhyZWY9J2h0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQQ3dkJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxOYW5vRlRQRGVsZScgaHJlZj0naHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBEZWxlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxOYW5vRlRQRnJlZUN0eHQnIGhyZWY9J2h0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQRnJlZUN0eHQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbE5hbm9GVFBHZXQnIGhyZWY9J2h0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQR2V0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxOYW5vRlRQR2V0Q29ubmVjdGlvbicgaHJlZj0naHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBHZXRDb25uZWN0aW9uJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxOYW5vRlRQR2V0UmVzcG9uc2UnIGhyZWY9J2h0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQR2V0UmVzcG9uc2UnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbE5hbm9GVFBHZXRTb2NrZXQnIGhyZWY9J2h0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQR2V0U29ja2V0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxOYW5vRlRQSW5pdCcgaHJlZj0naHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBJbml0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxOYW5vRlRQTGlzdCcgaHJlZj0naHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBMaXN0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxOYW5vRlRQTmV3Q3R4dCcgaHJlZj0naHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBOZXdDdHh0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxOYW5vRlRQT3BlbicgaHJlZj0naHRtbC9saWJ4bWwtbmFub2Z0cC5odG1sI3htbE5hbm9GVFBPcGVuJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxOYW5vRlRQUHJveHknIGhyZWY9J2h0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQUHJveHknLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbE5hbm9GVFBRdWl0JyBocmVmPSdodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUFF1aXQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbE5hbm9GVFBSZWFkJyBocmVmPSdodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUFJlYWQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbE5hbm9GVFBTY2FuUHJveHknIGhyZWY9J2h0bWwvbGlieG1sLW5hbm9mdHAuaHRtbCN4bWxOYW5vRlRQU2NhblByb3h5Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxOYW5vRlRQVXBkYXRlVVJMJyBocmVmPSdodG1sL2xpYnhtbC1uYW5vZnRwLmh0bWwjeG1sTmFub0ZUUFVwZGF0ZVVSTCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTmFub0hUVFBBdXRoSGVhZGVyJyBocmVmPSdodG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQQXV0aEhlYWRlcicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTmFub0hUVFBDbGVhbnVwJyBocmVmPSdodG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQQ2xlYW51cCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTmFub0hUVFBDbG9zZScgaHJlZj0naHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUENsb3NlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxOYW5vSFRUUENvbnRlbnRMZW5ndGgnIGhyZWY9J2h0bWwvbGlieG1sLW5hbm9odHRwLmh0bWwjeG1sTmFub0hUVFBDb250ZW50TGVuZ3RoJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxOYW5vSFRUUEVuY29kaW5nJyBocmVmPSdodG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQRW5jb2RpbmcnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbE5hbm9IVFRQRmV0Y2gnIGhyZWY9J2h0bWwvbGlieG1sLW5hbm9odHRwLmh0bWwjeG1sTmFub0hUVFBGZXRjaCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTmFub0hUVFBJbml0JyBocmVmPSdodG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQSW5pdCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTmFub0hUVFBNZXRob2QnIGhyZWY9J2h0bWwvbGlieG1sLW5hbm9odHRwLmh0bWwjeG1sTmFub0hUVFBNZXRob2QnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbE5hbm9IVFRQTWV0aG9kUmVkaXInIGhyZWY9J2h0bWwvbGlieG1sLW5hbm9odHRwLmh0bWwjeG1sTmFub0hUVFBNZXRob2RSZWRpcicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTmFub0hUVFBNaW1lVHlwZScgaHJlZj0naHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUE1pbWVUeXBlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxOYW5vSFRUUE9wZW4nIGhyZWY9J2h0bWwvbGlieG1sLW5hbm9odHRwLmh0bWwjeG1sTmFub0hUVFBPcGVuJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxOYW5vSFRUUE9wZW5SZWRpcicgaHJlZj0naHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUE9wZW5SZWRpcicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTmFub0hUVFBSZWFkJyBocmVmPSdodG1sL2xpYnhtbC1uYW5vaHR0cC5odG1sI3htbE5hbm9IVFRQUmVhZCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTmFub0hUVFBSZWRpcicgaHJlZj0naHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUFJlZGlyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxOYW5vSFRUUFJldHVybkNvZGUnIGhyZWY9J2h0bWwvbGlieG1sLW5hbm9odHRwLmh0bWwjeG1sTmFub0hUVFBSZXR1cm5Db2RlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxOYW5vSFRUUFNhdmUnIGhyZWY9J2h0bWwvbGlieG1sLW5hbm9odHRwLmh0bWwjeG1sTmFub0hUVFBTYXZlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxOYW5vSFRUUFNjYW5Qcm94eScgaHJlZj0naHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCN4bWxOYW5vSFRUUFNjYW5Qcm94eScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTmV3QXV0b21hdGEnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGF1dG9tYXRhLmh0bWwjeG1sTmV3QXV0b21hdGEnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbE5ld0NEYXRhQmxvY2snIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdDRGF0YUJsb2NrJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxOZXdDYXRhbG9nJyBocmVmPSdodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwjeG1sTmV3Q2F0YWxvZycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTmV3Q2hhckVuY29kaW5nSGFuZGxlcicgaHJlZj0naHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxOZXdDaGFyRW5jb2RpbmdIYW5kbGVyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxOZXdDaGFyUmVmJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3Q2hhclJlZicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTmV3Q2hpbGQnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdDaGlsZCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTmV3Q29tbWVudCcgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld0NvbW1lbnQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbE5ld0RvYycgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld0RvYycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTmV3RG9jQ29tbWVudCcgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld0RvY0NvbW1lbnQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbE5ld0RvY0VsZW1lbnRDb250ZW50JyBocmVmPSdodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbE5ld0RvY0VsZW1lbnRDb250ZW50Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxOZXdEb2NGcmFnbWVudCcgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld0RvY0ZyYWdtZW50Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxOZXdEb2NOb2RlJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3RG9jTm9kZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTmV3RG9jTm9kZUVhdE5hbWUnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdEb2NOb2RlRWF0TmFtZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTmV3RG9jUEknIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdEb2NQSScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTmV3RG9jUHJvcCcgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld0RvY1Byb3AnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbE5ld0RvY1Jhd05vZGUnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdEb2NSYXdOb2RlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxOZXdEb2NUZXh0JyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3RG9jVGV4dCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTmV3RG9jVGV4dExlbicgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld0RvY1RleHRMZW4nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbE5ld0R0ZCcgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld0R0ZCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTmV3RWxlbWVudENvbnRlbnQnIGhyZWY9J2h0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sTmV3RWxlbWVudENvbnRlbnQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbE5ld0VudGl0eScgaHJlZj0naHRtbC9saWJ4bWwtZW50aXRpZXMuaHRtbCN4bWxOZXdFbnRpdHknLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbE5ld0VudGl0eUlucHV0U3RyZWFtJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxOZXdFbnRpdHlJbnB1dFN0cmVhbScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTmV3R2xvYmFsTnMnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdHbG9iYWxOcycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTmV3SU9JbnB1dFN0cmVhbScgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sTmV3SU9JbnB1dFN0cmVhbScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTmV3SW5wdXRGcm9tRmlsZScgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sTmV3SW5wdXRGcm9tRmlsZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTmV3SW5wdXRTdHJlYW0nIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbE5ld0lucHV0U3RyZWFtJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxOZXdNdXRleCcgaHJlZj0naHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbE5ld011dGV4Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxOZXdOb2RlJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3Tm9kZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTmV3Tm9kZUVhdE5hbWUnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdOb2RlRWF0TmFtZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTmV3TnMnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdOcycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTmV3TnNQcm9wJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3TnNQcm9wJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxOZXdOc1Byb3BFYXROYW1lJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3TnNQcm9wRWF0TmFtZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTmV3UEknIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdQSScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTmV3UGFyc2VyQ3R4dCcgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sTmV3UGFyc2VyQ3R4dCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTmV3UHJvcCcgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5ld1Byb3AnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbE5ld1JNdXRleCcgaHJlZj0naHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbE5ld1JNdXRleCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTmV3UmVmZXJlbmNlJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTmV3UmVmZXJlbmNlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxOZXdTdHJpbmdJbnB1dFN0cmVhbScgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sTmV3U3RyaW5nSW5wdXRTdHJlYW0nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbE5ld1RleHQnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdUZXh0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxOZXdUZXh0Q2hpbGQnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdUZXh0Q2hpbGQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbE5ld1RleHRMZW4nIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOZXdUZXh0TGVuJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxOZXdUZXh0UmVhZGVyJyBocmVmPSdodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxOZXdUZXh0UmVhZGVyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxOZXdUZXh0UmVhZGVyRmlsZW5hbWUnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbE5ld1RleHRSZWFkZXJGaWxlbmFtZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTmV3VGV4dFdyaXRlcicgaHJlZj0naHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sTmV3VGV4dFdyaXRlcicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTmV3VGV4dFdyaXRlckRvYycgaHJlZj0naHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sTmV3VGV4dFdyaXRlckRvYycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTmV3VGV4dFdyaXRlckZpbGVuYW1lJyBocmVmPSdodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxOZXdUZXh0V3JpdGVyRmlsZW5hbWUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbE5ld1RleHRXcml0ZXJNZW1vcnknIGhyZWY9J2h0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbE5ld1RleHRXcml0ZXJNZW1vcnknLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbE5ld1RleHRXcml0ZXJQdXNoUGFyc2VyJyBocmVmPSdodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxOZXdUZXh0V3JpdGVyUHVzaFBhcnNlcicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTmV3VGV4dFdyaXRlclRyZWUnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbE5ld1RleHRXcml0ZXJUcmVlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxOZXdWYWxpZEN0eHQnIGhyZWY9J2h0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sTmV3VmFsaWRDdHh0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxOZXh0Q2hhcicgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sTmV4dENoYXInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbE5leHRFbGVtZW50U2libGluZycgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5leHRFbGVtZW50U2libGluZycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTm9OZXRFeHRlcm5hbEVudGl0eUxvYWRlcicgaHJlZj0naHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxOb05ldEV4dGVybmFsRW50aXR5TG9hZGVyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxOb2RlJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTm9kZUFkZENvbnRlbnQnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlQWRkQ29udGVudCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTm9kZUFkZENvbnRlbnRMZW4nIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlQWRkQ29udGVudExlbicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTm9kZUJ1ZkdldENvbnRlbnQnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlQnVmR2V0Q29udGVudCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTm9kZUR1bXAnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlRHVtcCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTm9kZUR1bXBPdXRwdXQnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlRHVtcE91dHB1dCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTm9kZUdldEJhc2UnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlR2V0QmFzZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTm9kZUdldENvbnRlbnQnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlR2V0Q29udGVudCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTm9kZUdldExhbmcnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlR2V0TGFuZycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTm9kZUdldFNwYWNlUHJlc2VydmUnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlR2V0U3BhY2VQcmVzZXJ2ZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTm9kZUlzVGV4dCcgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5vZGVJc1RleHQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbE5vZGVMaXN0R2V0UmF3U3RyaW5nJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUxpc3RHZXRSYXdTdHJpbmcnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbE5vZGVMaXN0R2V0U3RyaW5nJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZUxpc3RHZXRTdHJpbmcnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbE5vZGVQdHInIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlUHRyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxOb2RlU2V0JyBocmVmPSdodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbE5vZGVTZXQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbE5vZGVTZXRCYXNlJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVNldEJhc2UnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbE5vZGVTZXRDb250ZW50JyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVNldENvbnRlbnQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbE5vZGVTZXRDb250ZW50TGVuJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVNldENvbnRlbnRMZW4nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbE5vZGVTZXRMYW5nJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVNldExhbmcnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbE5vZGVTZXROYW1lJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm9kZVNldE5hbWUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbE5vZGVTZXRQdHInIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sTm9kZVNldFB0cicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTm9kZVNldFNwYWNlUHJlc2VydmUnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOb2RlU2V0U3BhY2VQcmVzZXJ2ZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTm9ybWFsaXplVVJJUGF0aCcgaHJlZj0naHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sTm9ybWFsaXplVVJJUGF0aCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTm9ybWFsaXplV2luZG93c1BhdGgnIGhyZWY9J2h0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sTm9ybWFsaXplV2luZG93c1BhdGgnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbE5vdGF0aW9uJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm90YXRpb24nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbE5vdGF0aW9uUHRyJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sTm90YXRpb25QdHInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbE5vdGF0aW9uVGFibGUnIGhyZWY9J2h0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sTm90YXRpb25UYWJsZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sTm90YXRpb25UYWJsZVB0cicgaHJlZj0naHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxOb3RhdGlvblRhYmxlUHRyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxOcycgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5zJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxOc1B0cicgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE5zUHRyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxOc1R5cGUnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxOc1R5cGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbE91dHB1dEJ1ZmZlcicgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE91dHB1dEJ1ZmZlcicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sT3V0cHV0QnVmZmVyQ2xvc2UnIGhyZWY9J2h0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0QnVmZmVyQ2xvc2UnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbE91dHB1dEJ1ZmZlckNyZWF0ZUJ1ZmZlcicgaHJlZj0naHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRCdWZmZXJDcmVhdGVCdWZmZXInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZkJyBocmVmPSdodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZkJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlJyBocmVmPSdodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lJyBocmVmPSdodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQnIGhyZWY9J2h0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYycgaHJlZj0naHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVWYWx1ZScgaHJlZj0naHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lVmFsdWUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbE91dHB1dEJ1ZmZlckNyZWF0ZUlPJyBocmVmPSdodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dEJ1ZmZlckNyZWF0ZUlPJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxPdXRwdXRCdWZmZXJGbHVzaCcgaHJlZj0naHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRCdWZmZXJGbHVzaCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sT3V0cHV0QnVmZmVyR2V0Q29udGVudCcgaHJlZj0naHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRCdWZmZXJHZXRDb250ZW50Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxPdXRwdXRCdWZmZXJHZXRTaXplJyBocmVmPSdodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dEJ1ZmZlckdldFNpemUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbE91dHB1dEJ1ZmZlclB0cicgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbE91dHB1dEJ1ZmZlclB0cicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sT3V0cHV0QnVmZmVyV3JpdGUnIGhyZWY9J2h0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0QnVmZmVyV3JpdGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbE91dHB1dEJ1ZmZlcldyaXRlRXNjYXBlJyBocmVmPSdodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dEJ1ZmZlcldyaXRlRXNjYXBlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZycgaHJlZj0naHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sT3V0cHV0Q2xvc2VDYWxsYmFjaycgaHJlZj0naHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRDbG9zZUNhbGxiYWNrJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxPdXRwdXRNYXRjaENhbGxiYWNrJyBocmVmPSdodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbE91dHB1dE1hdGNoQ2FsbGJhY2snLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbE91dHB1dE9wZW5DYWxsYmFjaycgaHJlZj0naHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxPdXRwdXRPcGVuQ2FsbGJhY2snLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbE91dHB1dFdyaXRlQ2FsbGJhY2snIGhyZWY9J2h0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sT3V0cHV0V3JpdGVDYWxsYmFjaycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUGFyc2VBdHRWYWx1ZScgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VBdHRWYWx1ZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUGFyc2VBdHRyaWJ1dGUnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQXR0cmlidXRlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxQYXJzZUF0dHJpYnV0ZUxpc3REZWNsJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUF0dHJpYnV0ZUxpc3REZWNsJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxQYXJzZUF0dHJpYnV0ZVR5cGUnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQXR0cmlidXRlVHlwZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5JyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnknLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXInIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFBhcnNlQ0RTZWN0JyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUNEU2VjdCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUGFyc2VDYXRhbG9nRmlsZScgaHJlZj0naHRtbC9saWJ4bWwtY2F0YWxvZy5odG1sI3htbFBhcnNlQ2F0YWxvZ0ZpbGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFBhcnNlQ2hhckRhdGEnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQ2hhckRhdGEnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFBhcnNlQ2hhckVuY29kaW5nJyBocmVmPSdodG1sL2xpYnhtbC1lbmNvZGluZy5odG1sI3htbFBhcnNlQ2hhckVuY29kaW5nJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxQYXJzZUNoYXJSZWYnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlQ2hhclJlZicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUGFyc2VDaHVuaycgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VDaHVuaycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUGFyc2VDb21tZW50JyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUNvbW1lbnQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFBhcnNlQ29udGVudCcgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VDb250ZW50Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxQYXJzZUN0eHRFeHRlcm5hbEVudGl0eScgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VDdHh0RXh0ZXJuYWxFbnRpdHknLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFBhcnNlRFREJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZURURCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUGFyc2VEZWZhdWx0RGVjbCcgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VEZWZhdWx0RGVjbCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUGFyc2VEb2MnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlRG9jJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxQYXJzZURvY1R5cGVEZWNsJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZURvY1R5cGVEZWNsJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxQYXJzZURvY3VtZW50JyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZURvY3VtZW50Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxQYXJzZUVsZW1lbnQnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRWxlbWVudCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUGFyc2VFbGVtZW50Q2hpbGRyZW5Db250ZW50RGVjbCcgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbGVtZW50Q2hpbGRyZW5Db250ZW50RGVjbCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUGFyc2VFbGVtZW50Q29udGVudERlY2wnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRWxlbWVudENvbnRlbnREZWNsJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxQYXJzZUVsZW1lbnREZWNsJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVsZW1lbnREZWNsJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxQYXJzZUVsZW1lbnRNaXhlZENvbnRlbnREZWNsJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVsZW1lbnRNaXhlZENvbnRlbnREZWNsJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxQYXJzZUVuY05hbWUnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRW5jTmFtZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUGFyc2VFbmNvZGluZ0RlY2wnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRW5jb2RpbmdEZWNsJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxQYXJzZUVuZFRhZycgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbmRUYWcnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFBhcnNlRW50aXR5JyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUVudGl0eScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUGFyc2VFbnRpdHlEZWNsJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVudGl0eURlY2wnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFBhcnNlRW50aXR5UmVmJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUVudGl0eVJlZicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUGFyc2VFbnRpdHlWYWx1ZScgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbnRpdHlWYWx1ZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUGFyc2VFbnVtZXJhdGVkVHlwZScgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFbnVtZXJhdGVkVHlwZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUGFyc2VFbnVtZXJhdGlvblR5cGUnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlRW51bWVyYXRpb25UeXBlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxQYXJzZUV4dFBhcnNlZEVudCcgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VFeHRQYXJzZWRFbnQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFBhcnNlRXh0ZXJuYWxFbnRpdHknIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlRXh0ZXJuYWxFbnRpdHknLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFBhcnNlRXh0ZXJuYWxJRCcgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VFeHRlcm5hbElEJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxQYXJzZUV4dGVybmFsU3Vic2V0JyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZUV4dGVybmFsU3Vic2V0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxQYXJzZUZpbGUnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlRmlsZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUGFyc2VJbk5vZGVDb250ZXh0JyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZUluTm9kZUNvbnRleHQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFBhcnNlTWFya3VwRGVjbCcgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VNYXJrdXBEZWNsJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxQYXJzZU1lbW9yeScgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VNZW1vcnknLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFBhcnNlTWlzYycgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VNaXNjJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxQYXJzZU5hbWUnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlTmFtZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUGFyc2VOYW1lc3BhY2UnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlTmFtZXNwYWNlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxQYXJzZU5tdG9rZW4nIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlTm10b2tlbicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUGFyc2VOb3RhdGlvbkRlY2wnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlTm90YXRpb25EZWNsJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxQYXJzZU5vdGF0aW9uVHlwZScgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VOb3RhdGlvblR5cGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFBhcnNlUEVSZWZlcmVuY2UnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlUEVSZWZlcmVuY2UnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFBhcnNlUEknIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlUEknLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFBhcnNlUElUYXJnZXQnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlUElUYXJnZXQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFBhcnNlUHViaWRMaXRlcmFsJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZVB1YmlkTGl0ZXJhbCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUGFyc2VRdW90ZWRTdHJpbmcnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlUXVvdGVkU3RyaW5nJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxQYXJzZVJlZmVyZW5jZScgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VSZWZlcmVuY2UnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFBhcnNlU0REZWNsJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZVNERGVjbCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUGFyc2VTdGFydFRhZycgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VTdGFydFRhZycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUGFyc2VTeXN0ZW1MaXRlcmFsJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZVN5c3RlbUxpdGVyYWwnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFBhcnNlVGV4dERlY2wnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlVGV4dERlY2wnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFBhcnNlVVJJJyBocmVmPSdodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxQYXJzZVVSSScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUGFyc2VVUklSYXcnIGhyZWY9J2h0bWwvbGlieG1sLXVyaS5odG1sI3htbFBhcnNlVVJJUmF3Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxQYXJzZVVSSVJlZmVyZW5jZScgaHJlZj0naHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sUGFyc2VVUklSZWZlcmVuY2UnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFBhcnNlVmVyc2lvbkluZm8nIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlVmVyc2lvbkluZm8nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFBhcnNlVmVyc2lvbk51bScgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUGFyc2VWZXJzaW9uTnVtJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxQYXJzZVhNTERlY2wnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlWE1MRGVjbCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUGFyc2VyQWRkTm9kZUluZm8nIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlckFkZE5vZGVJbmZvJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxQYXJzZXJDdHh0JyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VyQ3R4dCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUGFyc2VyQ3R4dFB0cicgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFBhcnNlckN0eHRQdHInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFBhcnNlckRlYnVnRW50aXRpZXMnIGhyZWY9J2h0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxQYXJzZXJEZWJ1Z0VudGl0aWVzJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxQYXJzZXJFcnJvcicgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxQYXJzZXJFcnJvcicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUGFyc2VyRXJyb3JzJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI3htbFBhcnNlckVycm9ycycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUGFyc2VyRmluZE5vZGVJbmZvJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZXJGaW5kTm9kZUluZm8nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFBhcnNlckZpbmROb2RlSW5mb0luZGV4JyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZXJGaW5kTm9kZUluZm9JbmRleCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUGFyc2VyR2V0RGlyZWN0b3J5JyBocmVmPSdodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbFBhcnNlckdldERpcmVjdG9yeScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUGFyc2VySGFuZGxlUEVSZWZlcmVuY2UnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlckhhbmRsZVBFUmVmZXJlbmNlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxQYXJzZXJIYW5kbGVSZWZlcmVuY2UnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlckhhbmRsZVJlZmVyZW5jZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUGFyc2VySW5wdXQnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUGFyc2VySW5wdXRCdWZmZXInIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlcicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGZCcgaHJlZj0naHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZkJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGUnIGhyZWY9J2h0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lJyBocmVmPSdodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0JyBocmVmPSdodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jJyBocmVmPSdodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVWYWx1ZScgaHJlZj0naHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVWYWx1ZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVJTycgaHJlZj0naHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUlPJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZU1lbScgaHJlZj0naHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZU1lbScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVTdGF0aWMnIGhyZWY9J2h0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVTdGF0aWMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyR3JvdycgaHJlZj0naHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlckdyb3cnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyUHRyJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sUGFyc2VySW5wdXRCdWZmZXJQdHInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyUHVzaCcgaHJlZj0naHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlclB1c2gnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyUmVhZCcgaHJlZj0naHRtbC9saWJ4bWwteG1sSU8uaHRtbCN4bWxQYXJzZXJJbnB1dEJ1ZmZlclJlYWQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFBhcnNlcklucHV0RGVhbGxvY2F0ZScgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VySW5wdXREZWFsbG9jYXRlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxQYXJzZXJJbnB1dEdyb3cnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlcklucHV0R3JvdycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUGFyc2VySW5wdXRQdHInIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxQYXJzZXJJbnB1dFB0cicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUGFyc2VySW5wdXRSZWFkJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZXJJbnB1dFJlYWQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFBhcnNlcklucHV0U2hyaW5rJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQYXJzZXJJbnB1dFNocmluaycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUGFyc2VySW5wdXRTdGF0ZScgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VySW5wdXRTdGF0ZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUGFyc2VyTWF4RGVwdGgnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFBhcnNlck1heERlcHRoJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxQYXJzZXJNb2RlJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZXJNb2RlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxQYXJzZXJOb2RlSW5mbycgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VyTm9kZUluZm8nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFBhcnNlck5vZGVJbmZvUHRyJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQYXJzZXJOb2RlSW5mb1B0cicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUGFyc2VyTm9kZUluZm9TZXEnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFBhcnNlck5vZGVJbmZvU2VxJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxQYXJzZXJOb2RlSW5mb1NlcVB0cicgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VyTm9kZUluZm9TZXFQdHInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFBhcnNlck9wdGlvbicgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUGFyc2VyT3B0aW9uJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxQYXJzZXJQcmludEZpbGVDb250ZXh0JyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI3htbFBhcnNlclByaW50RmlsZUNvbnRleHQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFBhcnNlclByaW50RmlsZUluZm8nIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sUGFyc2VyUHJpbnRGaWxlSW5mbycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUGFyc2VyUHJvcGVydGllcycgaHJlZj0naHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sUGFyc2VyUHJvcGVydGllcycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUGFyc2VyU2V2ZXJpdGllcycgaHJlZj0naHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sUGFyc2VyU2V2ZXJpdGllcycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUGFyc2VyVmFsaWRpdHlFcnJvcicgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxQYXJzZXJWYWxpZGl0eUVycm9yJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxQYXJzZXJWYWxpZGl0eVdhcm5pbmcnIGhyZWY9J2h0bWwvbGlieG1sLXhtbGVycm9yLmh0bWwjeG1sUGFyc2VyVmFsaWRpdHlXYXJuaW5nJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxQYXJzZXJWZXJzaW9uJyBocmVmPSdodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sUGFyc2VyVmVyc2lvbicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUGFyc2VyV2FybmluZycgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxQYXJzZXJXYXJuaW5nJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxQYXRoVG9VUkknIGhyZWY9J2h0bWwvbGlieG1sLXVyaS5odG1sI3htbFBhdGhUb1VSSScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUGF0dGVybicgaHJlZj0naHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbFBhdHRlcm4nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFBhdHRlcm5GbGFncycgaHJlZj0naHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbFBhdHRlcm5GbGFncycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUGF0dGVybkZyb21Sb290JyBocmVmPSdodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sUGF0dGVybkZyb21Sb290Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxQYXR0ZXJuR2V0U3RyZWFtQ3R4dCcgaHJlZj0naHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbFBhdHRlcm5HZXRTdHJlYW1DdHh0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxQYXR0ZXJuTWF0Y2gnIGhyZWY9J2h0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCN4bWxQYXR0ZXJuTWF0Y2gnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFBhdHRlcm5NYXhEZXB0aCcgaHJlZj0naHRtbC9saWJ4bWwtcGF0dGVybi5odG1sI3htbFBhdHRlcm5NYXhEZXB0aCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUGF0dGVybk1pbkRlcHRoJyBocmVmPSdodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sUGF0dGVybk1pbkRlcHRoJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxQYXR0ZXJuUHRyJyBocmVmPSdodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sUGF0dGVyblB0cicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUGF0dGVyblN0cmVhbWFibGUnIGhyZWY9J2h0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCN4bWxQYXR0ZXJuU3RyZWFtYWJsZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUGF0dGVybmNvbXBpbGUnIGhyZWY9J2h0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCN4bWxQYXR0ZXJuY29tcGlsZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUGVkYW50aWNQYXJzZXJEZWZhdWx0JyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxQZWRhbnRpY1BhcnNlckRlZmF1bHQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFBlZGFudGljUGFyc2VyRGVmYXVsdFZhbHVlJyBocmVmPSdodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sUGVkYW50aWNQYXJzZXJEZWZhdWx0VmFsdWUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFBvcElucHV0JyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxQb3BJbnB1dCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUG9wSW5wdXRDYWxsYmFja3MnIGhyZWY9J2h0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sUG9wSW5wdXRDYWxsYmFja3MnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFByZXZpb3VzRWxlbWVudFNpYmxpbmcnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxQcmV2aW91c0VsZW1lbnRTaWJsaW5nJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxQcmludFVSSScgaHJlZj0naHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sUHJpbnRVUkknLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFB1c2hJbnB1dCcgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sUHVzaElucHV0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxSTXV0ZXgnIGhyZWY9J2h0bWwvbGlieG1sLXRocmVhZHMuaHRtbCN4bWxSTXV0ZXgnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFJNdXRleExvY2snIGhyZWY9J2h0bWwvbGlieG1sLXRocmVhZHMuaHRtbCN4bWxSTXV0ZXhMb2NrJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxSTXV0ZXhQdHInIGhyZWY9J2h0bWwvbGlieG1sLXRocmVhZHMuaHRtbCN4bWxSTXV0ZXhQdHInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFJNdXRleFVubG9jaycgaHJlZj0naHRtbC9saWJ4bWwtdGhyZWFkcy5odG1sI3htbFJNdXRleFVubG9jaycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUmVhZERvYycgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUmVhZERvYycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUmVhZEZkJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxSZWFkRmQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFJlYWRGaWxlJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxSZWFkRmlsZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUmVhZElPJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxSZWFkSU8nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFJlYWRNZW1vcnknIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFJlYWRNZW1vcnknLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFJlYWRlckZvckRvYycgaHJlZj0naHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sUmVhZGVyRm9yRG9jJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxSZWFkZXJGb3JGZCcgaHJlZj0naHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sUmVhZGVyRm9yRmQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFJlYWRlckZvckZpbGUnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFJlYWRlckZvckZpbGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFJlYWRlckZvcklPJyBocmVmPSdodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxSZWFkZXJGb3JJTycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUmVhZGVyRm9yTWVtb3J5JyBocmVmPSdodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxSZWFkZXJGb3JNZW1vcnknLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFJlYWRlck5ld0RvYycgaHJlZj0naHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sUmVhZGVyTmV3RG9jJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxSZWFkZXJOZXdGZCcgaHJlZj0naHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sUmVhZGVyTmV3RmQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFJlYWRlck5ld0ZpbGUnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFJlYWRlck5ld0ZpbGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFJlYWRlck5ld0lPJyBocmVmPSdodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxSZWFkZXJOZXdJTycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUmVhZGVyTmV3TWVtb3J5JyBocmVmPSdodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxSZWFkZXJOZXdNZW1vcnknLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFJlYWRlck5ld1dhbGtlcicgaHJlZj0naHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sUmVhZGVyTmV3V2Fsa2VyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxSZWFkZXJUeXBlcycgaHJlZj0naHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sUmVhZGVyVHlwZXMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFJlYWRlcldhbGtlcicgaHJlZj0naHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sUmVhZGVyV2Fsa2VyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxSZWFsbG9jJyBocmVmPSdodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sUmVhbGxvYycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUmVhbGxvY0Z1bmMnIGhyZWY9J2h0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbFJlYWxsb2NGdW5jJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxSZWFsbG9jTG9jJyBocmVmPSdodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCN4bWxSZWFsbG9jTG9jJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxSZWNvbmNpbGlhdGVOcycgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFJlY29uY2lsaWF0ZU5zJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxSZWNvdmVyRG9jJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxSZWNvdmVyRG9jJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxSZWNvdmVyRmlsZScgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sUmVjb3ZlckZpbGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFJlY292ZXJNZW1vcnknIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFJlY292ZXJNZW1vcnknLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFJlZicgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFJlZicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUmVmUHRyJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sUmVmUHRyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxSZWZUYWJsZScgaHJlZj0naHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxSZWZUYWJsZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUmVmVGFibGVQdHInIGhyZWY9J2h0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sUmVmVGFibGVQdHInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFJlZ0V4ZWNDYWxsYmFja3MnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ0V4ZWNDYWxsYmFja3MnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFJlZ0V4ZWNDdHh0JyBocmVmPSdodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdFeGVjQ3R4dCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUmVnRXhlY0N0eHRQdHInIGhyZWY9J2h0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ0V4ZWNDdHh0UHRyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxSZWdFeGVjRXJySW5mbycgaHJlZj0naHRtbC9saWJ4bWwteG1scmVnZXhwLmh0bWwjeG1sUmVnRXhlY0VyckluZm8nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFJlZ0V4ZWNOZXh0VmFsdWVzJyBocmVmPSdodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdFeGVjTmV4dFZhbHVlcycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUmVnRXhlY1B1c2hTdHJpbmcnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ0V4ZWNQdXNoU3RyaW5nJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxSZWdFeGVjUHVzaFN0cmluZzInIGhyZWY9J2h0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ0V4ZWNQdXNoU3RyaW5nMicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUmVnRnJlZUV4ZWNDdHh0JyBocmVmPSdodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdGcmVlRXhlY0N0eHQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFJlZ0ZyZWVSZWdleHAnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ0ZyZWVSZWdleHAnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFJlZ05ld0V4ZWNDdHh0JyBocmVmPSdodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdOZXdFeGVjQ3R4dCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUmVnZXhwJyBocmVmPSdodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdleHAnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFJlZ2V4cENvbXBpbGUnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ2V4cENvbXBpbGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFJlZ2V4cEV4ZWMnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ2V4cEV4ZWMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFJlZ2V4cElzRGV0ZXJtaW5pc3QnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHJlZ2V4cC5odG1sI3htbFJlZ2V4cElzRGV0ZXJtaW5pc3QnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFJlZ2V4cFByaW50JyBocmVmPSdodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdleHBQcmludCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUmVnZXhwUHRyJyBocmVmPSdodG1sL2xpYnhtbC14bWxyZWdleHAuaHRtbCN4bWxSZWdleHBQdHInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFJlZ2lzdGVyQ2hhckVuY29kaW5nSGFuZGxlcicgaHJlZj0naHRtbC9saWJ4bWwtZW5jb2RpbmcuaHRtbCN4bWxSZWdpc3RlckNoYXJFbmNvZGluZ0hhbmRsZXInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFJlZ2lzdGVyRGVmYXVsdElucHV0Q2FsbGJhY2tzJyBocmVmPSdodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbFJlZ2lzdGVyRGVmYXVsdElucHV0Q2FsbGJhY2tzJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxSZWdpc3RlckRlZmF1bHRPdXRwdXRDYWxsYmFja3MnIGhyZWY9J2h0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sUmVnaXN0ZXJEZWZhdWx0T3V0cHV0Q2FsbGJhY2tzJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxSZWdpc3RlckhUVFBQb3N0Q2FsbGJhY2tzJyBocmVmPSdodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbFJlZ2lzdGVySFRUUFBvc3RDYWxsYmFja3MnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFJlZ2lzdGVySW5wdXRDYWxsYmFja3MnIGhyZWY9J2h0bWwvbGlieG1sLXhtbElPLmh0bWwjeG1sUmVnaXN0ZXJJbnB1dENhbGxiYWNrcycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUmVnaXN0ZXJOb2RlRGVmYXVsdCcgaHJlZj0naHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbFJlZ2lzdGVyTm9kZURlZmF1bHQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFJlZ2lzdGVyTm9kZURlZmF1bHRWYWx1ZScgaHJlZj0naHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbFJlZ2lzdGVyTm9kZURlZmF1bHRWYWx1ZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUmVnaXN0ZXJOb2RlRnVuYycgaHJlZj0naHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbFJlZ2lzdGVyTm9kZUZ1bmMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFJlZ2lzdGVyT3V0cHV0Q2FsbGJhY2tzJyBocmVmPSdodG1sL2xpYnhtbC14bWxJTy5odG1sI3htbFJlZ2lzdGVyT3V0cHV0Q2FsbGJhY2tzJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxSZWxheE5HJyBocmVmPSdodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhORycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUmVsYXhOR0NsZWFudXBUeXBlcycgaHJlZj0naHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdDbGVhbnVwVHlwZXMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFJlbGF4TkdEdW1wJyBocmVmPSdodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR0R1bXAnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFJlbGF4TkdEdW1wVHJlZScgaHJlZj0naHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdEdW1wVHJlZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUmVsYXhOR0ZyZWUnIGhyZWY9J2h0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HRnJlZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUmVsYXhOR0ZyZWVQYXJzZXJDdHh0JyBocmVmPSdodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR0ZyZWVQYXJzZXJDdHh0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxSZWxheE5HRnJlZVZhbGlkQ3R4dCcgaHJlZj0naHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdGcmVlVmFsaWRDdHh0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxSZWxheE5HR2V0UGFyc2VyRXJyb3JzJyBocmVmPSdodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR0dldFBhcnNlckVycm9ycycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUmVsYXhOR0dldFZhbGlkRXJyb3JzJyBocmVmPSdodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR0dldFZhbGlkRXJyb3JzJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxSZWxheE5HSW5pdFR5cGVzJyBocmVmPSdodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR0luaXRUeXBlcycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUmVsYXhOR05ld0RvY1BhcnNlckN0eHQnIGhyZWY9J2h0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HTmV3RG9jUGFyc2VyQ3R4dCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUmVsYXhOR05ld01lbVBhcnNlckN0eHQnIGhyZWY9J2h0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HTmV3TWVtUGFyc2VyQ3R4dCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUmVsYXhOR05ld1BhcnNlckN0eHQnIGhyZWY9J2h0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HTmV3UGFyc2VyQ3R4dCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUmVsYXhOR05ld1ZhbGlkQ3R4dCcgaHJlZj0naHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdOZXdWYWxpZEN0eHQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFJlbGF4TkdQYXJzZScgaHJlZj0naHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdQYXJzZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUmVsYXhOR1BhcnNlckN0eHQnIGhyZWY9J2h0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HUGFyc2VyQ3R4dCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUmVsYXhOR1BhcnNlckN0eHRQdHInIGhyZWY9J2h0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HUGFyc2VyQ3R4dFB0cicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUmVsYXhOR1BhcnNlckZsYWcnIGhyZWY9J2h0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HUGFyc2VyRmxhZycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUmVsYXhOR1B0cicgaHJlZj0naHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdQdHInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFJlbGF4TkdTZXRQYXJzZXJFcnJvcnMnIGhyZWY9J2h0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HU2V0UGFyc2VyRXJyb3JzJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxSZWxheE5HU2V0UGFyc2VyU3RydWN0dXJlZEVycm9ycycgaHJlZj0naHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdTZXRQYXJzZXJTdHJ1Y3R1cmVkRXJyb3JzJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxSZWxheE5HU2V0VmFsaWRFcnJvcnMnIGhyZWY9J2h0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HU2V0VmFsaWRFcnJvcnMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFJlbGF4TkdTZXRWYWxpZFN0cnVjdHVyZWRFcnJvcnMnIGhyZWY9J2h0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxSZWxheE5HVmFsaWRDdHh0JyBocmVmPSdodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1ZhbGlkQ3R4dCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUmVsYXhOR1ZhbGlkQ3R4dFB0cicgaHJlZj0naHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdWYWxpZEN0eHRQdHInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFJlbGF4TkdWYWxpZEVycicgaHJlZj0naHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdWYWxpZEVycicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUmVsYXhOR1ZhbGlkYXRlRG9jJyBocmVmPSdodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1ZhbGlkYXRlRG9jJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxSZWxheE5HVmFsaWRhdGVGdWxsRWxlbWVudCcgaHJlZj0naHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdWYWxpZGF0ZUZ1bGxFbGVtZW50Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxSZWxheE5HVmFsaWRhdGVQb3BFbGVtZW50JyBocmVmPSdodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1ZhbGlkYXRlUG9wRWxlbWVudCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUmVsYXhOR1ZhbGlkYXRlUHVzaENEYXRhJyBocmVmPSdodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1ZhbGlkYXRlUHVzaENEYXRhJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxSZWxheE5HVmFsaWRhdGVQdXNoRWxlbWVudCcgaHJlZj0naHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4TkdWYWxpZGF0ZVB1c2hFbGVtZW50Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxSZWxheE5HVmFsaWRpdHlFcnJvckZ1bmMnIGhyZWY9J2h0bWwvbGlieG1sLXJlbGF4bmcuaHRtbCN4bWxSZWxheE5HVmFsaWRpdHlFcnJvckZ1bmMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFJlbGF4TkdWYWxpZGl0eVdhcm5pbmdGdW5jJyBocmVmPSdodG1sL2xpYnhtbC1yZWxheG5nLmh0bWwjeG1sUmVsYXhOR1ZhbGlkaXR5V2FybmluZ0Z1bmMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFJlbGF4UGFyc2VyU2V0RmxhZycgaHJlZj0naHRtbC9saWJ4bWwtcmVsYXhuZy5odG1sI3htbFJlbGF4UGFyc2VyU2V0RmxhZycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sUmVtb3ZlSUQnIGhyZWY9J2h0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sUmVtb3ZlSUQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFJlbW92ZVByb3AnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxSZW1vdmVQcm9wJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxSZW1vdmVSZWYnIGhyZWY9J2h0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sUmVtb3ZlUmVmJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxSZXBsYWNlTm9kZScgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFJlcGxhY2VOb2RlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxSZXNldEVycm9yJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI3htbFJlc2V0RXJyb3InLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFJlc2V0TGFzdEVycm9yJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI3htbFJlc2V0TGFzdEVycm9yJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxSb290Tm9kZScgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFJvb3ROb2RlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTQVgyQXR0cmlidXRlRGVjbCcgaHJlZj0naHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJBdHRyaWJ1dGVEZWNsJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTQVgyQ0RhdGFCbG9jaycgaHJlZj0naHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJDRGF0YUJsb2NrJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTQVgyQ2hhcmFjdGVycycgaHJlZj0naHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJDaGFyYWN0ZXJzJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTQVgyQ29tbWVudCcgaHJlZj0naHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJDb21tZW50Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTQVgyRWxlbWVudERlY2wnIGhyZWY9J2h0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyRWxlbWVudERlY2wnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNBWDJFbmREb2N1bWVudCcgaHJlZj0naHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJFbmREb2N1bWVudCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU0FYMkVuZEVsZW1lbnQnIGhyZWY9J2h0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyRW5kRWxlbWVudCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU0FYMkVuZEVsZW1lbnROcycgaHJlZj0naHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJFbmRFbGVtZW50TnMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNBWDJFbnRpdHlEZWNsJyBocmVmPSdodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMkVudGl0eURlY2wnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNBWDJFeHRlcm5hbFN1YnNldCcgaHJlZj0naHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJFeHRlcm5hbFN1YnNldCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU0FYMkdldENvbHVtbk51bWJlcicgaHJlZj0naHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJHZXRDb2x1bW5OdW1iZXInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNBWDJHZXRFbnRpdHknIGhyZWY9J2h0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyR2V0RW50aXR5Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTQVgyR2V0TGluZU51bWJlcicgaHJlZj0naHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJHZXRMaW5lTnVtYmVyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTQVgyR2V0UGFyYW1ldGVyRW50aXR5JyBocmVmPSdodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMkdldFBhcmFtZXRlckVudGl0eScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU0FYMkdldFB1YmxpY0lkJyBocmVmPSdodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMkdldFB1YmxpY0lkJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTQVgyR2V0U3lzdGVtSWQnIGhyZWY9J2h0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyR2V0U3lzdGVtSWQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNBWDJIYXNFeHRlcm5hbFN1YnNldCcgaHJlZj0naHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJIYXNFeHRlcm5hbFN1YnNldCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU0FYMkhhc0ludGVybmFsU3Vic2V0JyBocmVmPSdodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMkhhc0ludGVybmFsU3Vic2V0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTQVgySWdub3JhYmxlV2hpdGVzcGFjZScgaHJlZj0naHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJJZ25vcmFibGVXaGl0ZXNwYWNlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTQVgySW5pdERlZmF1bHRTQVhIYW5kbGVyJyBocmVmPSdodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMkluaXREZWZhdWx0U0FYSGFuZGxlcicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU0FYMkluaXREb2NiRGVmYXVsdFNBWEhhbmRsZXInIGhyZWY9J2h0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgySW5pdERvY2JEZWZhdWx0U0FYSGFuZGxlcicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU0FYMkluaXRIdG1sRGVmYXVsdFNBWEhhbmRsZXInIGhyZWY9J2h0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgySW5pdEh0bWxEZWZhdWx0U0FYSGFuZGxlcicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU0FYMkludGVybmFsU3Vic2V0JyBocmVmPSdodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMkludGVybmFsU3Vic2V0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTQVgySXNTdGFuZGFsb25lJyBocmVmPSdodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMklzU3RhbmRhbG9uZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU0FYMk5vdGF0aW9uRGVjbCcgaHJlZj0naHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJOb3RhdGlvbkRlY2wnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNBWDJQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24nIGhyZWY9J2h0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyUHJvY2Vzc2luZ0luc3RydWN0aW9uJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTQVgyUmVmZXJlbmNlJyBocmVmPSdodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMlJlZmVyZW5jZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU0FYMlJlc29sdmVFbnRpdHknIGhyZWY9J2h0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyUmVzb2x2ZUVudGl0eScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU0FYMlNldERvY3VtZW50TG9jYXRvcicgaHJlZj0naHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWDJTZXREb2N1bWVudExvY2F0b3InLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNBWDJTdGFydERvY3VtZW50JyBocmVmPSdodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYMlN0YXJ0RG9jdW1lbnQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNBWDJTdGFydEVsZW1lbnQnIGhyZWY9J2h0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyU3RhcnRFbGVtZW50Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTQVgyU3RhcnRFbGVtZW50TnMnIGhyZWY9J2h0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyU3RhcnRFbGVtZW50TnMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNBWDJVbnBhcnNlZEVudGl0eURlY2wnIGhyZWY9J2h0bWwvbGlieG1sLVNBWDIuaHRtbCN4bWxTQVgyVW5wYXJzZWRFbnRpdHlEZWNsJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTQVhEZWZhdWx0VmVyc2lvbicgaHJlZj0naHRtbC9saWJ4bWwtU0FYMi5odG1sI3htbFNBWERlZmF1bHRWZXJzaW9uJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTQVhIYW5kbGVyJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU0FYSGFuZGxlcicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU0FYSGFuZGxlclB0cicgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNBWEhhbmRsZXJQdHInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNBWEhhbmRsZXJWMScgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYSGFuZGxlclYxJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTQVhIYW5kbGVyVjFQdHInIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNBWEhhbmRsZXJWMVB0cicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU0FYTG9jYXRvcicgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNBWExvY2F0b3InLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNBWExvY2F0b3JQdHInIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTQVhMb2NhdG9yUHRyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTQVhQYXJzZURURCcgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYUGFyc2VEVEQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNBWFBhcnNlRG9jJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxTQVhQYXJzZURvYycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU0FYUGFyc2VFbnRpdHknIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNBWFBhcnNlRW50aXR5Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTQVhQYXJzZUZpbGUnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNBWFBhcnNlRmlsZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU0FYUGFyc2VGaWxlV2l0aERhdGEnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNBWFBhcnNlRmlsZVdpdGhEYXRhJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTQVhQYXJzZU1lbW9yeScgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYUGFyc2VNZW1vcnknLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNBWFBhcnNlTWVtb3J5V2l0aERhdGEnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNBWFBhcnNlTWVtb3J5V2l0aERhdGEnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNBWFVzZXJQYXJzZUZpbGUnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNBWFVzZXJQYXJzZUZpbGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNBWFVzZXJQYXJzZU1lbW9yeScgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU0FYVXNlclBhcnNlTWVtb3J5Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTQVhWZXJzaW9uJyBocmVmPSdodG1sL2xpYnhtbC1TQVgyLmh0bWwjeG1sU0FYVmVyc2lvbicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU2F2ZUNsb3NlJyBocmVmPSdodG1sL2xpYnhtbC14bWxzYXZlLmh0bWwjeG1sU2F2ZUNsb3NlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTYXZlQ3R4dCcgaHJlZj0naHRtbC9saWJ4bWwteG1sc2F2ZS5odG1sI3htbFNhdmVDdHh0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTYXZlQ3R4dFB0cicgaHJlZj0naHRtbC9saWJ4bWwteG1sc2F2ZS5odG1sI3htbFNhdmVDdHh0UHRyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTYXZlRG9jJyBocmVmPSdodG1sL2xpYnhtbC14bWxzYXZlLmh0bWwjeG1sU2F2ZURvYycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU2F2ZUZpbGUnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTYXZlRmlsZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU2F2ZUZpbGVFbmMnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTYXZlRmlsZUVuYycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU2F2ZUZpbGVUbycgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNhdmVGaWxlVG8nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNhdmVGbHVzaCcgaHJlZj0naHRtbC9saWJ4bWwteG1sc2F2ZS5odG1sI3htbFNhdmVGbHVzaCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU2F2ZUZvcm1hdEZpbGUnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTYXZlRm9ybWF0RmlsZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU2F2ZUZvcm1hdEZpbGVFbmMnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTYXZlRm9ybWF0RmlsZUVuYycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU2F2ZUZvcm1hdEZpbGVUbycgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNhdmVGb3JtYXRGaWxlVG8nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNhdmVOb0VtcHR5VGFncycgaHJlZj0naHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbFNhdmVOb0VtcHR5VGFncycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU2F2ZU9wdGlvbicgaHJlZj0naHRtbC9saWJ4bWwteG1sc2F2ZS5odG1sI3htbFNhdmVPcHRpb24nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNhdmVTZXRBdHRyRXNjYXBlJyBocmVmPSdodG1sL2xpYnhtbC14bWxzYXZlLmh0bWwjeG1sU2F2ZVNldEF0dHJFc2NhcGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNhdmVTZXRFc2NhcGUnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHNhdmUuaHRtbCN4bWxTYXZlU2V0RXNjYXBlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTYXZlVG9CdWZmZXInIGhyZWY9J2h0bWwvbGlieG1sLXhtbHNhdmUuaHRtbCN4bWxTYXZlVG9CdWZmZXInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNhdmVUb0ZkJyBocmVmPSdodG1sL2xpYnhtbC14bWxzYXZlLmh0bWwjeG1sU2F2ZVRvRmQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNhdmVUb0ZpbGVuYW1lJyBocmVmPSdodG1sL2xpYnhtbC14bWxzYXZlLmh0bWwjeG1sU2F2ZVRvRmlsZW5hbWUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNhdmVUb0lPJyBocmVmPSdodG1sL2xpYnhtbC14bWxzYXZlLmh0bWwjeG1sU2F2ZVRvSU8nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNhdmVUcmVlJyBocmVmPSdodG1sL2xpYnhtbC14bWxzYXZlLmh0bWwjeG1sU2F2ZVRyZWUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNhdmVVcmknIGhyZWY9J2h0bWwvbGlieG1sLXVyaS5odG1sI3htbFNhdmVVcmknLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNjYW5OYW1lJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxTY2FuTmFtZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU2NoZW1hJyBocmVmPSdodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTY2hlbWFBbm5vdCcgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYUFubm90Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTY2hlbWFBbm5vdFB0cicgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYUFubm90UHRyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTY2hlbWFBdHRyaWJ1dGUnIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFBdHRyaWJ1dGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNjaGVtYUF0dHJpYnV0ZUdyb3VwJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hQXR0cmlidXRlR3JvdXAnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNjaGVtYUF0dHJpYnV0ZUdyb3VwUHRyJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hQXR0cmlidXRlR3JvdXBQdHInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNjaGVtYUF0dHJpYnV0ZUxpbmsnIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFBdHRyaWJ1dGVMaW5rJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTY2hlbWFBdHRyaWJ1dGVMaW5rUHRyJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hQXR0cmlidXRlTGlua1B0cicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU2NoZW1hQXR0cmlidXRlUHRyJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hQXR0cmlidXRlUHRyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTY2hlbWFDaGVja0ZhY2V0JyBocmVmPSdodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFDaGVja0ZhY2V0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTY2hlbWFDbGVhbnVwVHlwZXMnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUNsZWFudXBUeXBlcycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU2NoZW1hQ29sbGFwc2VTdHJpbmcnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUNvbGxhcHNlU3RyaW5nJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTY2hlbWFDb21wYXJlVmFsdWVzJyBocmVmPSdodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFDb21wYXJlVmFsdWVzJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTY2hlbWFDb21wYXJlVmFsdWVzV2h0c3AnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUNvbXBhcmVWYWx1ZXNXaHRzcCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU2NoZW1hQ29udGVudFR5cGUnIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFDb250ZW50VHlwZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU2NoZW1hQ29weVZhbHVlJyBocmVmPSdodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFDb3B5VmFsdWUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNjaGVtYUR1bXAnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFEdW1wJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTY2hlbWFFbGVtZW50JyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hRWxlbWVudCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU2NoZW1hRWxlbWVudFB0cicgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYUVsZW1lbnRQdHInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNjaGVtYUZhY2V0JyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hRmFjZXQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNjaGVtYUZhY2V0TGluaycgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYUZhY2V0TGluaycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU2NoZW1hRmFjZXRMaW5rUHRyJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hRmFjZXRMaW5rUHRyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTY2hlbWFGYWNldFB0cicgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYUZhY2V0UHRyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTY2hlbWFGcmVlJyBocmVmPSdodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hRnJlZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU2NoZW1hRnJlZUZhY2V0JyBocmVmPSdodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFGcmVlRmFjZXQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNjaGVtYUZyZWVQYXJzZXJDdHh0JyBocmVmPSdodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hRnJlZVBhcnNlckN0eHQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNjaGVtYUZyZWVUeXBlJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hRnJlZVR5cGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNjaGVtYUZyZWVWYWxpZEN0eHQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFGcmVlVmFsaWRDdHh0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTY2hlbWFGcmVlVmFsdWUnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUZyZWVWYWx1ZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU2NoZW1hRnJlZVdpbGRjYXJkJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hRnJlZVdpbGRjYXJkJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTY2hlbWFHZXRCdWlsdEluTGlzdFNpbXBsZVR5cGVJdGVtVHlwZScgaHJlZj0naHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hR2V0QnVpbHRJbkxpc3RTaW1wbGVUeXBlSXRlbVR5cGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNjaGVtYUdldEJ1aWx0SW5UeXBlJyBocmVmPSdodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFHZXRCdWlsdEluVHlwZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU2NoZW1hR2V0Q2Fub25WYWx1ZScgaHJlZj0naHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hR2V0Q2Fub25WYWx1ZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU2NoZW1hR2V0Q2Fub25WYWx1ZVdodHNwJyBocmVmPSdodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFHZXRDYW5vblZhbHVlV2h0c3AnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNjaGVtYUdldEZhY2V0VmFsdWVBc1VMb25nJyBocmVmPSdodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFHZXRGYWNldFZhbHVlQXNVTG9uZycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU2NoZW1hR2V0UGFyc2VyRXJyb3JzJyBocmVmPSdodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hR2V0UGFyc2VyRXJyb3JzJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTY2hlbWFHZXRQcmVkZWZpbmVkVHlwZScgaHJlZj0naHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hR2V0UHJlZGVmaW5lZFR5cGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNjaGVtYUdldFZhbFR5cGUnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUdldFZhbFR5cGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNjaGVtYUdldFZhbGlkRXJyb3JzJyBocmVmPSdodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hR2V0VmFsaWRFcnJvcnMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNjaGVtYUluaXRUeXBlcycgaHJlZj0naHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hSW5pdFR5cGVzJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTY2hlbWFJc0J1aWx0SW5UeXBlRmFjZXQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYUlzQnVpbHRJblR5cGVGYWNldCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU2NoZW1hSXNWYWxpZCcgaHJlZj0naHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYUlzVmFsaWQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNjaGVtYU5ld0RvY1BhcnNlckN0eHQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFOZXdEb2NQYXJzZXJDdHh0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTY2hlbWFOZXdGYWNldCcgaHJlZj0naHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hTmV3RmFjZXQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNjaGVtYU5ld01lbVBhcnNlckN0eHQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFOZXdNZW1QYXJzZXJDdHh0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTY2hlbWFOZXdOT1RBVElPTlZhbHVlJyBocmVmPSdodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFOZXdOT1RBVElPTlZhbHVlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTY2hlbWFOZXdQYXJzZXJDdHh0JyBocmVmPSdodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hTmV3UGFyc2VyQ3R4dCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU2NoZW1hTmV3UU5hbWVWYWx1ZScgaHJlZj0naHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hTmV3UU5hbWVWYWx1ZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU2NoZW1hTmV3U3RyaW5nVmFsdWUnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYU5ld1N0cmluZ1ZhbHVlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTY2hlbWFOZXdWYWxpZEN0eHQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFOZXdWYWxpZEN0eHQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNjaGVtYU5vdGF0aW9uJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hTm90YXRpb24nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNjaGVtYU5vdGF0aW9uUHRyJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hTm90YXRpb25QdHInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNjaGVtYVBhcnNlJyBocmVmPSdodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hUGFyc2UnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNjaGVtYVBhcnNlckN0eHQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFQYXJzZXJDdHh0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTY2hlbWFQYXJzZXJDdHh0UHRyJyBocmVmPSdodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hUGFyc2VyQ3R4dFB0cicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU2NoZW1hUHRyJyBocmVmPSdodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hUHRyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTY2hlbWFTQVhQbHVnJyBocmVmPSdodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hU0FYUGx1ZycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU2NoZW1hU0FYUGx1Z1B0cicgaHJlZj0naHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVNBWFBsdWdQdHInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNjaGVtYVNBWFBsdWdTdHJ1Y3QnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFTQVhQbHVnU3RydWN0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTY2hlbWFTQVhVbnBsdWcnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFTQVhVbnBsdWcnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNjaGVtYVNldFBhcnNlckVycm9ycycgaHJlZj0naHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVNldFBhcnNlckVycm9ycycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU2NoZW1hU2V0UGFyc2VyU3RydWN0dXJlZEVycm9ycycgaHJlZj0naHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVNldFBhcnNlclN0cnVjdHVyZWRFcnJvcnMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNjaGVtYVNldFZhbGlkRXJyb3JzJyBocmVmPSdodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hU2V0VmFsaWRFcnJvcnMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNjaGVtYVNldFZhbGlkT3B0aW9ucycgaHJlZj0naHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVNldFZhbGlkT3B0aW9ucycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU2NoZW1hU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzJyBocmVmPSdodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTY2hlbWFUeXBlJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVHlwZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU2NoZW1hVHlwZUxpbmsnIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFUeXBlTGluaycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU2NoZW1hVHlwZUxpbmtQdHInIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFUeXBlTGlua1B0cicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU2NoZW1hVHlwZVB0cicgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVR5cGVQdHInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNjaGVtYVR5cGVUeXBlJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWFzSW50ZXJuYWxzLmh0bWwjeG1sU2NoZW1hVHlwZVR5cGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNjaGVtYVZhbCcgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVZhbCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU2NoZW1hVmFsUHJlZGVmVHlwZU5vZGUnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYVZhbFByZWRlZlR5cGVOb2RlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTY2hlbWFWYWxQcmVkZWZUeXBlTm9kZU5vTm9ybScgaHJlZj0naHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hVmFsUHJlZGVmVHlwZU5vZGVOb05vcm0nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNjaGVtYVZhbFB0cicgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVZhbFB0cicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU2NoZW1hVmFsVHlwZScgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVZhbFR5cGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNjaGVtYVZhbGlkQ3R4dCcgaHJlZj0naHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkQ3R4dCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU2NoZW1hVmFsaWRDdHh0R2V0T3B0aW9ucycgaHJlZj0naHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkQ3R4dEdldE9wdGlvbnMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNjaGVtYVZhbGlkQ3R4dEdldFBhcnNlckN0eHQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZEN0eHRHZXRQYXJzZXJDdHh0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTY2hlbWFWYWxpZEN0eHRQdHInIGhyZWY9J2h0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZEN0eHRQdHInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNjaGVtYVZhbGlkRXJyb3InIGhyZWY9J2h0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZEVycm9yJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTY2hlbWFWYWxpZE9wdGlvbicgaHJlZj0naHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkT3B0aW9uJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZURvYycgaHJlZj0naHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkYXRlRG9jJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0JyBocmVmPSdodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0V2h0c3AnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYVZhbGlkYXRlRmFjZXRXaHRzcCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU2NoZW1hVmFsaWRhdGVGaWxlJyBocmVmPSdodG1sL2xpYnhtbC14bWxzY2hlbWFzLmh0bWwjeG1sU2NoZW1hVmFsaWRhdGVGaWxlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZUxlbmd0aEZhY2V0JyBocmVmPSdodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFWYWxpZGF0ZUxlbmd0aEZhY2V0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZUxlbmd0aEZhY2V0V2h0c3AnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHNjaGVtYXN0eXBlcy5odG1sI3htbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXRXaHRzcCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU2NoZW1hVmFsaWRhdGVMaXN0U2ltcGxlVHlwZUZhY2V0JyBocmVmPSdodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFWYWxpZGF0ZUxpc3RTaW1wbGVUeXBlRmFjZXQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNjaGVtYVZhbGlkYXRlT25lRWxlbWVudCcgaHJlZj0naHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkYXRlT25lRWxlbWVudCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU2NoZW1hVmFsaWRhdGVQcmVkZWZpbmVkVHlwZScgaHJlZj0naHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hVmFsaWRhdGVQcmVkZWZpbmVkVHlwZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU2NoZW1hVmFsaWRhdGVTZXRGaWxlbmFtZScgaHJlZj0naHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkYXRlU2V0RmlsZW5hbWUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNjaGVtYVZhbGlkYXRlU2V0TG9jYXRvcicgaHJlZj0naHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkYXRlU2V0TG9jYXRvcicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU2NoZW1hVmFsaWRhdGVTdHJlYW0nIGhyZWY9J2h0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZGF0ZVN0cmVhbScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU2NoZW1hVmFsaWRpdHlFcnJvckZ1bmMnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZGl0eUVycm9yRnVuYycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU2NoZW1hVmFsaWRpdHlMb2NhdG9yRnVuYycgaHJlZj0naHRtbC9saWJ4bWwteG1sc2NoZW1hcy5odG1sI3htbFNjaGVtYVZhbGlkaXR5TG9jYXRvckZ1bmMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNjaGVtYVZhbGlkaXR5V2FybmluZ0Z1bmMnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHNjaGVtYXMuaHRtbCN4bWxTY2hlbWFWYWxpZGl0eVdhcm5pbmdGdW5jJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTY2hlbWFWYWx1ZUFwcGVuZCcgaHJlZj0naHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hVmFsdWVBcHBlbmQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNjaGVtYVZhbHVlR2V0QXNCb29sZWFuJyBocmVmPSdodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFWYWx1ZUdldEFzQm9vbGVhbicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU2NoZW1hVmFsdWVHZXRBc1N0cmluZycgaHJlZj0naHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hVmFsdWVHZXRBc1N0cmluZycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU2NoZW1hVmFsdWVHZXROZXh0JyBocmVmPSdodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFWYWx1ZUdldE5leHQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNjaGVtYVdoaXRlU3BhY2VSZXBsYWNlJyBocmVmPSdodG1sL2xpYnhtbC14bWxzY2hlbWFzdHlwZXMuaHRtbCN4bWxTY2hlbWFXaGl0ZVNwYWNlUmVwbGFjZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU2NoZW1hV2hpdGVzcGFjZVZhbHVlVHlwZScgaHJlZj0naHRtbC9saWJ4bWwteG1sc2NoZW1hc3R5cGVzLmh0bWwjeG1sU2NoZW1hV2hpdGVzcGFjZVZhbHVlVHlwZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU2NoZW1hV2lsZGNhcmQnIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFXaWxkY2FyZCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU2NoZW1hV2lsZGNhcmROcycgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVdpbGRjYXJkTnMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNjaGVtYVdpbGRjYXJkTnNQdHInIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXNJbnRlcm5hbHMuaHRtbCN4bWxTY2hlbWFXaWxkY2FyZE5zUHRyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTY2hlbWFXaWxkY2FyZFB0cicgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hc0ludGVybmFscy5odG1sI3htbFNjaGVtYVdpbGRjYXJkUHRyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTY2hlbWF0cm9uJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvbicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU2NoZW1hdHJvbkZyZWUnIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uRnJlZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU2NoZW1hdHJvbkZyZWVQYXJzZXJDdHh0JyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvbkZyZWVQYXJzZXJDdHh0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTY2hlbWF0cm9uRnJlZVZhbGlkQ3R4dCcgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hdHJvbi5odG1sI3htbFNjaGVtYXRyb25GcmVlVmFsaWRDdHh0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTY2hlbWF0cm9uTmV3RG9jUGFyc2VyQ3R4dCcgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hdHJvbi5odG1sI3htbFNjaGVtYXRyb25OZXdEb2NQYXJzZXJDdHh0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTY2hlbWF0cm9uTmV3TWVtUGFyc2VyQ3R4dCcgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hdHJvbi5odG1sI3htbFNjaGVtYXRyb25OZXdNZW1QYXJzZXJDdHh0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTY2hlbWF0cm9uTmV3UGFyc2VyQ3R4dCcgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hdHJvbi5odG1sI3htbFNjaGVtYXRyb25OZXdQYXJzZXJDdHh0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTY2hlbWF0cm9uTmV3VmFsaWRDdHh0JyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvbk5ld1ZhbGlkQ3R4dCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU2NoZW1hdHJvblBhcnNlJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvblBhcnNlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTY2hlbWF0cm9uUGFyc2VyQ3R4dCcgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hdHJvbi5odG1sI3htbFNjaGVtYXRyb25QYXJzZXJDdHh0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTY2hlbWF0cm9uUGFyc2VyQ3R4dFB0cicgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hdHJvbi5odG1sI3htbFNjaGVtYXRyb25QYXJzZXJDdHh0UHRyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTY2hlbWF0cm9uUHRyJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvblB0cicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU2NoZW1hdHJvblNldFZhbGlkU3RydWN0dXJlZEVycm9ycycgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hdHJvbi5odG1sI3htbFNjaGVtYXRyb25TZXRWYWxpZFN0cnVjdHVyZWRFcnJvcnMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNjaGVtYXRyb25WYWxpZEN0eHQnIGhyZWY9J2h0bWwvbGlieG1sLXNjaGVtYXRyb24uaHRtbCN4bWxTY2hlbWF0cm9uVmFsaWRDdHh0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTY2hlbWF0cm9uVmFsaWRDdHh0UHRyJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvblZhbGlkQ3R4dFB0cicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU2NoZW1hdHJvblZhbGlkT3B0aW9ucycgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hdHJvbi5odG1sI3htbFNjaGVtYXRyb25WYWxpZE9wdGlvbnMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNjaGVtYXRyb25WYWxpZGF0ZURvYycgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hdHJvbi5odG1sI3htbFNjaGVtYXRyb25WYWxpZGF0ZURvYycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU2NoZW1hdHJvblZhbGlkaXR5RXJyb3JGdW5jJyBocmVmPSdodG1sL2xpYnhtbC1zY2hlbWF0cm9uLmh0bWwjeG1sU2NoZW1hdHJvblZhbGlkaXR5RXJyb3JGdW5jJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTY2hlbWF0cm9uVmFsaWRpdHlXYXJuaW5nRnVuYycgaHJlZj0naHRtbC9saWJ4bWwtc2NoZW1hdHJvbi5odG1sI3htbFNjaGVtYXRyb25WYWxpZGl0eVdhcm5pbmdGdW5jJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTZWFyY2hOcycgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNlYXJjaE5zJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTZWFyY2hOc0J5SHJlZicgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNlYXJjaE5zQnlIcmVmJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2V0QnVmZmVyQWxsb2NhdGlvblNjaGVtZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU2V0Q29tcHJlc3NNb2RlJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2V0Q29tcHJlc3NNb2RlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTZXREb2NDb21wcmVzc01vZGUnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTZXREb2NDb21wcmVzc01vZGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNldEVudGl0eVJlZmVyZW5jZUZ1bmMnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFNldEVudGl0eVJlZmVyZW5jZUZ1bmMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNldEV4dGVybmFsRW50aXR5TG9hZGVyJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxTZXRFeHRlcm5hbEVudGl0eUxvYWRlcicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU2V0RmVhdHVyZScgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sU2V0RmVhdHVyZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU2V0R2VuZXJpY0Vycm9yRnVuYycgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxTZXRHZW5lcmljRXJyb3JGdW5jJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTZXRMaXN0RG9jJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2V0TGlzdERvYycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU2V0TnMnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTZXROcycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU2V0TnNQcm9wJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2V0TnNQcm9wJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTZXRQcm9wJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2V0UHJvcCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU2V0U3RydWN0dXJlZEVycm9yRnVuYycgaHJlZj0naHRtbC9saWJ4bWwteG1sZXJyb3IuaHRtbCN4bWxTZXRTdHJ1Y3R1cmVkRXJyb3JGdW5jJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTZXRUcmVlRG9jJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sU2V0VHJlZURvYycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU2V0dXBQYXJzZXJGb3JCdWZmZXInIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFNldHVwUGFyc2VyRm9yQnVmZmVyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTaGVsbCcgaHJlZj0naHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU2hlbGxCYXNlJyBocmVmPSdodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsQmFzZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU2hlbGxDYXQnIGhyZWY9J2h0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxDYXQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNoZWxsQ21kJyBocmVmPSdodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsQ21kJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTaGVsbEN0eHQnIGhyZWY9J2h0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxDdHh0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTaGVsbEN0eHRQdHInIGhyZWY9J2h0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxDdHh0UHRyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTaGVsbERpcicgaHJlZj0naHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbERpcicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU2hlbGxEdScgaHJlZj0naHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbER1Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTaGVsbExpc3QnIGhyZWY9J2h0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxMaXN0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTaGVsbExvYWQnIGhyZWY9J2h0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxMb2FkJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTaGVsbFByaW50Tm9kZScgaHJlZj0naHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbFByaW50Tm9kZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU2hlbGxQcmludFhQYXRoRXJyb3InIGhyZWY9J2h0bWwvbGlieG1sLWRlYnVnWE1MLmh0bWwjeG1sU2hlbGxQcmludFhQYXRoRXJyb3InLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNoZWxsUHJpbnRYUGF0aFJlc3VsdCcgaHJlZj0naHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbFByaW50WFBhdGhSZXN1bHQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNoZWxsUHdkJyBocmVmPSdodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsUHdkJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTaGVsbFJlYWRsaW5lRnVuYycgaHJlZj0naHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbFJlYWRsaW5lRnVuYycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU2hlbGxTYXZlJyBocmVmPSdodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsU2F2ZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU2hlbGxWYWxpZGF0ZScgaHJlZj0naHRtbC9saWJ4bWwtZGVidWdYTUwuaHRtbCN4bWxTaGVsbFZhbGlkYXRlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTaGVsbFdyaXRlJyBocmVmPSdodG1sL2xpYnhtbC1kZWJ1Z1hNTC5odG1sI3htbFNoZWxsV3JpdGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFNraXBCbGFua0NoYXJzJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxTa2lwQmxhbmtDaGFycycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU25wcmludGZFbGVtZW50Q29udGVudCcgaHJlZj0naHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxTbnByaW50ZkVsZW1lbnRDb250ZW50Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTcGxpdFFOYW1lJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxTcGxpdFFOYW1lJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTcGxpdFFOYW1lMicgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNwbGl0UU5hbWUyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTcGxpdFFOYW1lMycgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFNwbGl0UU5hbWUzJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTcHJpbnRmRWxlbWVudENvbnRlbnQnIGhyZWY9J2h0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sU3ByaW50ZkVsZW1lbnRDb250ZW50Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTdG9wUGFyc2VyJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXIuaHRtbCN4bWxTdG9wUGFyc2VyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTdHJFcXVhbCcgaHJlZj0naHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3RyRXF1YWwnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFN0clByaW50ZicgaHJlZj0naHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3RyUHJpbnRmJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTdHJRRXF1YWwnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFN0clFFcXVhbCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU3RyVlByaW50ZicgaHJlZj0naHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3RyVlByaW50ZicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU3RyY2FzZWNtcCcgaHJlZj0naHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3RyY2FzZWNtcCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU3RyY2FzZXN0cicgaHJlZj0naHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3RyY2FzZXN0cicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU3RyY2F0JyBocmVmPSdodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJjYXQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFN0cmNocicgaHJlZj0naHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3RyY2hyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTdHJjbXAnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFN0cmNtcCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU3RyZHVwJyBocmVmPSdodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJkdXAnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFN0cmR1cEZ1bmMnIGhyZWY9J2h0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sI3htbFN0cmR1cEZ1bmMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFN0cmVhbUN0eHQnIGhyZWY9J2h0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCN4bWxTdHJlYW1DdHh0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTdHJlYW1DdHh0UHRyJyBocmVmPSdodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sU3RyZWFtQ3R4dFB0cicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU3RyZWFtUG9wJyBocmVmPSdodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sU3RyZWFtUG9wJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTdHJlYW1QdXNoJyBocmVmPSdodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sU3RyZWFtUHVzaCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU3RyZWFtUHVzaEF0dHInIGhyZWY9J2h0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCN4bWxTdHJlYW1QdXNoQXR0cicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU3RyZWFtUHVzaE5vZGUnIGhyZWY9J2h0bWwvbGlieG1sLXBhdHRlcm4uaHRtbCN4bWxTdHJlYW1QdXNoTm9kZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU3RyZWFtV2FudHNBbnlOb2RlJyBocmVmPSdodG1sL2xpYnhtbC1wYXR0ZXJuLmh0bWwjeG1sU3RyZWFtV2FudHNBbnlOb2RlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTdHJpbmdDb21tZW50JyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxTdHJpbmdDb21tZW50Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTdHJpbmdDdXJyZW50Q2hhcicgaHJlZj0naHRtbC9saWJ4bWwtcGFyc2VySW50ZXJuYWxzLmh0bWwjeG1sU3RyaW5nQ3VycmVudENoYXInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFN0cmluZ0RlY29kZUVudGl0aWVzJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxTdHJpbmdEZWNvZGVFbnRpdGllcycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU3RyaW5nR2V0Tm9kZUxpc3QnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTdHJpbmdHZXROb2RlTGlzdCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU3RyaW5nTGVuRGVjb2RlRW50aXRpZXMnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFN0cmluZ0xlbkRlY29kZUVudGl0aWVzJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTdHJpbmdMZW5HZXROb2RlTGlzdCcgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFN0cmluZ0xlbkdldE5vZGVMaXN0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTdHJpbmdUZXh0JyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxTdHJpbmdUZXh0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTdHJpbmdUZXh0Tm9lbmMnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFN0cmluZ1RleHROb2VuYycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU3RybGVuJyBocmVmPSdodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJsZW4nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFN0cm5jYXNlY21wJyBocmVmPSdodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJuY2FzZWNtcCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU3RybmNhdCcgaHJlZj0naHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3RybmNhdCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU3RybmNhdE5ldycgaHJlZj0naHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3RybmNhdE5ldycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU3RybmNtcCcgaHJlZj0naHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3RybmNtcCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU3RybmR1cCcgaHJlZj0naHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3RybmR1cCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU3Ryc3RyJyBocmVmPSdodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxTdHJzdHInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFN0cnN1YicgaHJlZj0naHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sU3Ryc3ViJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTdHJ1Y3R1cmVkRXJyb3InIGhyZWY9J2h0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxTdHJ1Y3R1cmVkRXJyb3InLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFN0cnVjdHVyZWRFcnJvckNvbnRleHQnIGhyZWY9J2h0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxTdHJ1Y3R1cmVkRXJyb3JDb250ZXh0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jJyBocmVmPSdodG1sL2xpYnhtbC14bWxlcnJvci5odG1sI3htbFN0cnVjdHVyZWRFcnJvckZ1bmMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHQnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHRWYWx1ZScgaHJlZj0naHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbFN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHRWYWx1ZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sU3dpdGNoRW5jb2RpbmcnIGhyZWY9J2h0bWwvbGlieG1sLXBhcnNlckludGVybmFscy5odG1sI3htbFN3aXRjaEVuY29kaW5nJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTd2l0Y2hJbnB1dEVuY29kaW5nJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxTd2l0Y2hJbnB1dEVuY29kaW5nJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxTd2l0Y2hUb0VuY29kaW5nJyBocmVmPSdodG1sL2xpYnhtbC1wYXJzZXJJbnRlcm5hbHMuaHRtbCN4bWxTd2l0Y2hUb0VuY29kaW5nJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxUZXh0Q29uY2F0JyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sVGV4dENvbmNhdCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGV4dE1lcmdlJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sVGV4dE1lcmdlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxUZXh0UmVhZGVyJyBocmVmPSdodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxUZXh0UmVhZGVyQXR0cmlidXRlQ291bnQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJBdHRyaWJ1dGVDb3VudCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGV4dFJlYWRlckJhc2VVcmknIGhyZWY9J2h0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJCYXNlVXJpJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxUZXh0UmVhZGVyQnl0ZUNvbnN1bWVkJyBocmVmPSdodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyQnl0ZUNvbnN1bWVkJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxUZXh0UmVhZGVyQ2xvc2UnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJDbG9zZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGV4dFJlYWRlckNvbnN0QmFzZVVyaScgaHJlZj0naHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckNvbnN0QmFzZVVyaScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGV4dFJlYWRlckNvbnN0RW5jb2RpbmcnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJDb25zdEVuY29kaW5nJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxUZXh0UmVhZGVyQ29uc3RMb2NhbE5hbWUnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJDb25zdExvY2FsTmFtZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGV4dFJlYWRlckNvbnN0TmFtZScgaHJlZj0naHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckNvbnN0TmFtZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGV4dFJlYWRlckNvbnN0TmFtZXNwYWNlVXJpJyBocmVmPSdodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyQ29uc3ROYW1lc3BhY2VVcmknLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFRleHRSZWFkZXJDb25zdFByZWZpeCcgaHJlZj0naHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckNvbnN0UHJlZml4Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxUZXh0UmVhZGVyQ29uc3RTdHJpbmcnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJDb25zdFN0cmluZycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGV4dFJlYWRlckNvbnN0VmFsdWUnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJDb25zdFZhbHVlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxUZXh0UmVhZGVyQ29uc3RYbWxMYW5nJyBocmVmPSdodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyQ29uc3RYbWxMYW5nJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxUZXh0UmVhZGVyQ29uc3RYbWxWZXJzaW9uJyBocmVmPSdodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyQ29uc3RYbWxWZXJzaW9uJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxUZXh0UmVhZGVyQ3VycmVudERvYycgaHJlZj0naHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckN1cnJlbnREb2MnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFRleHRSZWFkZXJDdXJyZW50Tm9kZScgaHJlZj0naHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckN1cnJlbnROb2RlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxUZXh0UmVhZGVyRGVwdGgnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJEZXB0aCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGV4dFJlYWRlckVycm9yRnVuYycgaHJlZj0naHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckVycm9yRnVuYycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGV4dFJlYWRlckV4cGFuZCcgaHJlZj0naHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckV4cGFuZCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZScgaHJlZj0naHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZU5vJyBocmVmPSdodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlTm8nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFRleHRSZWFkZXJHZXRBdHRyaWJ1dGVOcycgaHJlZj0naHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZU5zJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxUZXh0UmVhZGVyR2V0RXJyb3JIYW5kbGVyJyBocmVmPSdodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyR2V0RXJyb3JIYW5kbGVyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxUZXh0UmVhZGVyR2V0UGFyc2VyQ29sdW1uTnVtYmVyJyBocmVmPSdodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyR2V0UGFyc2VyQ29sdW1uTnVtYmVyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxUZXh0UmVhZGVyR2V0UGFyc2VyTGluZU51bWJlcicgaHJlZj0naHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckdldFBhcnNlckxpbmVOdW1iZXInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFRleHRSZWFkZXJHZXRQYXJzZXJQcm9wJyBocmVmPSdodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyR2V0UGFyc2VyUHJvcCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGV4dFJlYWRlckdldFJlbWFpbmRlcicgaHJlZj0naHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckdldFJlbWFpbmRlcicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGV4dFJlYWRlckhhc0F0dHJpYnV0ZXMnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJIYXNBdHRyaWJ1dGVzJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxUZXh0UmVhZGVySGFzVmFsdWUnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJIYXNWYWx1ZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGV4dFJlYWRlcklzRGVmYXVsdCcgaHJlZj0naHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlcklzRGVmYXVsdCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGV4dFJlYWRlcklzRW1wdHlFbGVtZW50JyBocmVmPSdodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVySXNFbXB0eUVsZW1lbnQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFRleHRSZWFkZXJJc05hbWVzcGFjZURlY2wnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJJc05hbWVzcGFjZURlY2wnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFRleHRSZWFkZXJJc1ZhbGlkJyBocmVmPSdodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVySXNWYWxpZCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGV4dFJlYWRlckxvY2FsTmFtZScgaHJlZj0naHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckxvY2FsTmFtZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGV4dFJlYWRlckxvY2F0b3JCYXNlVVJJJyBocmVmPSdodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyTG9jYXRvckJhc2VVUkknLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFRleHRSZWFkZXJMb2NhdG9yTGluZU51bWJlcicgaHJlZj0naHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckxvY2F0b3JMaW5lTnVtYmVyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxUZXh0UmVhZGVyTG9jYXRvclB0cicgaHJlZj0naHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlckxvY2F0b3JQdHInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFRleHRSZWFkZXJMb29rdXBOYW1lc3BhY2UnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJMb29rdXBOYW1lc3BhY2UnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFRleHRSZWFkZXJNb2RlJyBocmVmPSdodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyTW9kZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGV4dFJlYWRlck1vdmVUb0F0dHJpYnV0ZScgaHJlZj0naHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlck1vdmVUb0F0dHJpYnV0ZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGV4dFJlYWRlck1vdmVUb0F0dHJpYnV0ZU5vJyBocmVmPSdodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyTW92ZVRvQXR0cmlidXRlTm8nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFRleHRSZWFkZXJNb3ZlVG9BdHRyaWJ1dGVOcycgaHJlZj0naHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlck1vdmVUb0F0dHJpYnV0ZU5zJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxUZXh0UmVhZGVyTW92ZVRvRWxlbWVudCcgaHJlZj0naHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlck1vdmVUb0VsZW1lbnQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFRleHRSZWFkZXJNb3ZlVG9GaXJzdEF0dHJpYnV0ZScgaHJlZj0naHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlck1vdmVUb0ZpcnN0QXR0cmlidXRlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxUZXh0UmVhZGVyTW92ZVRvTmV4dEF0dHJpYnV0ZScgaHJlZj0naHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlck1vdmVUb05leHRBdHRyaWJ1dGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFRleHRSZWFkZXJOYW1lJyBocmVmPSdodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyTmFtZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGV4dFJlYWRlck5hbWVzcGFjZVVyaScgaHJlZj0naHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlck5hbWVzcGFjZVVyaScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGV4dFJlYWRlck5leHQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJOZXh0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxUZXh0UmVhZGVyTmV4dFNpYmxpbmcnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJOZXh0U2libGluZycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGV4dFJlYWRlck5vZGVUeXBlJyBocmVmPSdodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyTm9kZVR5cGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFRleHRSZWFkZXJOb3JtYWxpemF0aW9uJyBocmVmPSdodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyTm9ybWFsaXphdGlvbicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGV4dFJlYWRlclByZWZpeCcgaHJlZj0naHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclByZWZpeCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGV4dFJlYWRlclByZXNlcnZlJyBocmVmPSdodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUHJlc2VydmUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFRleHRSZWFkZXJQcmVzZXJ2ZVBhdHRlcm4nIGhyZWY9J2h0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQcmVzZXJ2ZVBhdHRlcm4nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFRleHRSZWFkZXJQdHInIGhyZWY9J2h0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJQdHInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFRleHRSZWFkZXJRdW90ZUNoYXInIGhyZWY9J2h0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJRdW90ZUNoYXInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFRleHRSZWFkZXJSZWFkJyBocmVmPSdodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUmVhZCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGV4dFJlYWRlclJlYWRBdHRyaWJ1dGVWYWx1ZScgaHJlZj0naHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclJlYWRBdHRyaWJ1dGVWYWx1ZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGV4dFJlYWRlclJlYWRJbm5lclhtbCcgaHJlZj0naHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclJlYWRJbm5lclhtbCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGV4dFJlYWRlclJlYWRPdXRlclhtbCcgaHJlZj0naHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclJlYWRPdXRlclhtbCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGV4dFJlYWRlclJlYWRTdGF0ZScgaHJlZj0naHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclJlYWRTdGF0ZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGV4dFJlYWRlclJlYWRTdHJpbmcnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJSZWFkU3RyaW5nJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxUZXh0UmVhZGVyUmVsYXhOR1NldFNjaGVtYScgaHJlZj0naHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclJlbGF4TkdTZXRTY2hlbWEnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFRleHRSZWFkZXJSZWxheE5HVmFsaWRhdGUnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJSZWxheE5HVmFsaWRhdGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFRleHRSZWFkZXJSZWxheE5HVmFsaWRhdGVDdHh0JyBocmVmPSdodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyUmVsYXhOR1ZhbGlkYXRlQ3R4dCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlJyBocmVmPSdodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyU2NoZW1hVmFsaWRhdGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZUN0eHQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZUN0eHQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFRleHRSZWFkZXJTZXRFcnJvckhhbmRsZXInIGhyZWY9J2h0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJTZXRFcnJvckhhbmRsZXInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFRleHRSZWFkZXJTZXRQYXJzZXJQcm9wJyBocmVmPSdodG1sL2xpYnhtbC14bWxyZWFkZXIuaHRtbCN4bWxUZXh0UmVhZGVyU2V0UGFyc2VyUHJvcCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGV4dFJlYWRlclNldFNjaGVtYScgaHJlZj0naHRtbC9saWJ4bWwteG1scmVhZGVyLmh0bWwjeG1sVGV4dFJlYWRlclNldFNjaGVtYScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGV4dFJlYWRlclNldFN0cnVjdHVyZWRFcnJvckhhbmRsZXInIGhyZWY9J2h0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJTZXRTdHJ1Y3R1cmVkRXJyb3JIYW5kbGVyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxUZXh0UmVhZGVyU2V0dXAnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJTZXR1cCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGV4dFJlYWRlclN0YW5kYWxvbmUnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJTdGFuZGFsb25lJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxUZXh0UmVhZGVyVmFsdWUnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJWYWx1ZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGV4dFJlYWRlclhtbExhbmcnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHJlYWRlci5odG1sI3htbFRleHRSZWFkZXJYbWxMYW5nJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxUZXh0V3JpdGVyJyBocmVmPSdodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxUZXh0V3JpdGVyRW5kQXR0cmlidXRlJyBocmVmPSdodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyRW5kQXR0cmlidXRlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxUZXh0V3JpdGVyRW5kQ0RBVEEnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJFbmRDREFUQScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGV4dFdyaXRlckVuZENvbW1lbnQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJFbmRDb21tZW50Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxUZXh0V3JpdGVyRW5kRFREJyBocmVmPSdodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyRW5kRFREJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxUZXh0V3JpdGVyRW5kRFREQXR0bGlzdCcgaHJlZj0naHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlckVuZERUREF0dGxpc3QnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFRleHRXcml0ZXJFbmREVERFbGVtZW50JyBocmVmPSdodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyRW5kRFRERWxlbWVudCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGV4dFdyaXRlckVuZERUREVudGl0eScgaHJlZj0naHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlckVuZERUREVudGl0eScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGV4dFdyaXRlckVuZERvY3VtZW50JyBocmVmPSdodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyRW5kRG9jdW1lbnQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFRleHRXcml0ZXJFbmRFbGVtZW50JyBocmVmPSdodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyRW5kRWxlbWVudCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGV4dFdyaXRlckVuZFBJJyBocmVmPSdodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyRW5kUEknLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFRleHRXcml0ZXJGbHVzaCcgaHJlZj0naHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlckZsdXNoJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxUZXh0V3JpdGVyRnVsbEVuZEVsZW1lbnQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJGdWxsRW5kRWxlbWVudCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGV4dFdyaXRlclB0cicgaHJlZj0naHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclB0cicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGV4dFdyaXRlclNldEluZGVudCcgaHJlZj0naHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclNldEluZGVudCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGV4dFdyaXRlclNldEluZGVudFN0cmluZycgaHJlZj0naHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclNldEluZGVudFN0cmluZycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGV4dFdyaXRlclNldFF1b3RlQ2hhcicgaHJlZj0naHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclNldFF1b3RlQ2hhcicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGV4dFdyaXRlclN0YXJ0QXR0cmlidXRlJyBocmVmPSdodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyU3RhcnRBdHRyaWJ1dGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFRleHRXcml0ZXJTdGFydEF0dHJpYnV0ZU5TJyBocmVmPSdodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyU3RhcnRBdHRyaWJ1dGVOUycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGV4dFdyaXRlclN0YXJ0Q0RBVEEnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJTdGFydENEQVRBJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxUZXh0V3JpdGVyU3RhcnRDb21tZW50JyBocmVmPSdodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyU3RhcnRDb21tZW50Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxUZXh0V3JpdGVyU3RhcnREVEQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJTdGFydERURCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGV4dFdyaXRlclN0YXJ0RFREQXR0bGlzdCcgaHJlZj0naHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclN0YXJ0RFREQXR0bGlzdCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGV4dFdyaXRlclN0YXJ0RFRERWxlbWVudCcgaHJlZj0naHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclN0YXJ0RFRERWxlbWVudCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGV4dFdyaXRlclN0YXJ0RFRERW50aXR5JyBocmVmPSdodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyU3RhcnREVERFbnRpdHknLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFRleHRXcml0ZXJTdGFydERvY3VtZW50JyBocmVmPSdodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyU3RhcnREb2N1bWVudCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGV4dFdyaXRlclN0YXJ0RWxlbWVudCcgaHJlZj0naHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlclN0YXJ0RWxlbWVudCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGV4dFdyaXRlclN0YXJ0RWxlbWVudE5TJyBocmVmPSdodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyU3RhcnRFbGVtZW50TlMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFRleHRXcml0ZXJTdGFydFBJJyBocmVmPSdodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyU3RhcnRQSScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlQXR0cmlidXRlJyBocmVmPSdodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVBdHRyaWJ1dGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZUF0dHJpYnV0ZU5TJyBocmVmPSdodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVBdHRyaWJ1dGVOUycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlQmFzZTY0JyBocmVmPSdodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVCYXNlNjQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZUJpbkhleCcgaHJlZj0naHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlQmluSGV4Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVDREFUQScgaHJlZj0naHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlQ0RBVEEnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZUNvbW1lbnQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZUNvbW1lbnQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZURURCcgaHJlZj0naHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRFREJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVEVERBdHRsaXN0JyBocmVmPSdodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVEVERBdHRsaXN0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVEVERFbGVtZW50JyBocmVmPSdodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVEVERFbGVtZW50Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVEVERFbnRpdHknIGhyZWY9J2h0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZURUREVudGl0eScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRFRERXh0ZXJuYWxFbnRpdHknIGhyZWY9J2h0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZURUREV4dGVybmFsRW50aXR5Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVEVERFeHRlcm5hbEVudGl0eUNvbnRlbnRzJyBocmVmPSdodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVEVERFeHRlcm5hbEVudGl0eUNvbnRlbnRzJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVEVERJbnRlcm5hbEVudGl0eScgaHJlZj0naHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRFRESW50ZXJuYWxFbnRpdHknLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZURURE5vdGF0aW9uJyBocmVmPSdodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVEVEROb3RhdGlvbicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRG9jVHlwZScgaHJlZj0naHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRG9jVHlwZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRWxlbWVudCcgaHJlZj0naHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRWxlbWVudCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRWxlbWVudE5TJyBocmVmPSdodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVFbGVtZW50TlMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdEF0dHJpYnV0ZScgaHJlZj0naHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0QXR0cmlidXRlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRBdHRyaWJ1dGVOUycgaHJlZj0naHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0QXR0cmlidXRlTlMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdENEQVRBJyBocmVmPSdodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRDREFUQScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0Q29tbWVudCcgaHJlZj0naHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0Q29tbWVudCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFREJyBocmVmPSdodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVEQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdERUREF0dGxpc3QnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdERUREF0dGxpc3QnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdERUREVsZW1lbnQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdERUREVsZW1lbnQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdERUREludGVybmFsRW50aXR5JyBocmVmPSdodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVERJbnRlcm5hbEVudGl0eScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RWxlbWVudCcgaHJlZj0naHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RWxlbWVudCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RWxlbWVudE5TJyBocmVmPSdodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRFbGVtZW50TlMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdFBJJyBocmVmPSdodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRQSScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0UmF3JyBocmVmPSdodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRSYXcnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdFN0cmluZycgaHJlZj0naHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0U3RyaW5nJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVQSScgaHJlZj0naHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlUEknLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZVByb2Nlc3NpbmdJbnN0cnVjdGlvbicgaHJlZj0naHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlUHJvY2Vzc2luZ0luc3RydWN0aW9uJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVSYXcnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZVJhdycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlUmF3TGVuJyBocmVmPSdodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVSYXdMZW4nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZVN0cmluZycgaHJlZj0naHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlU3RyaW5nJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0QXR0cmlidXRlJyBocmVmPSdodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0QXR0cmlidXRlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0QXR0cmlidXRlTlMnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRBdHRyaWJ1dGVOUycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdENEQVRBJyBocmVmPSdodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0Q0RBVEEnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRDb21tZW50JyBocmVmPSdodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0Q29tbWVudCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERURCcgaHJlZj0naHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERURCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREF0dGxpc3QnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVERBdHRsaXN0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFRERWxlbWVudCcgaHJlZj0naHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREVsZW1lbnQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVERJbnRlcm5hbEVudGl0eScgaHJlZj0naHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREludGVybmFsRW50aXR5Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RWxlbWVudCcgaHJlZj0naHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEVsZW1lbnQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRFbGVtZW50TlMnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHdyaXRlci5odG1sI3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRFbGVtZW50TlMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRQSScgaHJlZj0naHRtbC9saWJ4bWwteG1sd3JpdGVyLmh0bWwjeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdFBJJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0UmF3JyBocmVmPSdodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0UmF3Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0U3RyaW5nJyBocmVmPSdodG1sL2xpYnhtbC14bWx3cml0ZXIuaHRtbCN4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0U3RyaW5nJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxUaHJEZWZCdWZmZXJBbGxvY1NjaGVtZScgaHJlZj0naHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbFRockRlZkJ1ZmZlckFsbG9jU2NoZW1lJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxUaHJEZWZEZWZhdWx0QnVmZmVyU2l6ZScgaHJlZj0naHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbFRockRlZkRlZmF1bHRCdWZmZXJTaXplJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxUaHJEZWZEZXJlZ2lzdGVyTm9kZURlZmF1bHQnIGhyZWY9J2h0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxUaHJEZWZEZXJlZ2lzdGVyTm9kZURlZmF1bHQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFRockRlZkRvVmFsaWRpdHlDaGVja2luZ0RlZmF1bHRWYWx1ZScgaHJlZj0naHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbFRockRlZkRvVmFsaWRpdHlDaGVja2luZ0RlZmF1bHRWYWx1ZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGhyRGVmR2V0V2FybmluZ3NEZWZhdWx0VmFsdWUnIGhyZWY9J2h0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxUaHJEZWZHZXRXYXJuaW5nc0RlZmF1bHRWYWx1ZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGhyRGVmSW5kZW50VHJlZU91dHB1dCcgaHJlZj0naHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbFRockRlZkluZGVudFRyZWVPdXRwdXQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFRockRlZktlZXBCbGFua3NEZWZhdWx0VmFsdWUnIGhyZWY9J2h0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxUaHJEZWZLZWVwQmxhbmtzRGVmYXVsdFZhbHVlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxUaHJEZWZMaW5lTnVtYmVyc0RlZmF1bHRWYWx1ZScgaHJlZj0naHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbFRockRlZkxpbmVOdW1iZXJzRGVmYXVsdFZhbHVlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxUaHJEZWZMb2FkRXh0RHRkRGVmYXVsdFZhbHVlJyBocmVmPSdodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sVGhyRGVmTG9hZEV4dER0ZERlZmF1bHRWYWx1ZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGhyRGVmT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0JyBocmVmPSdodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sVGhyRGVmT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxUaHJEZWZQYXJzZXJEZWJ1Z0VudGl0aWVzJyBocmVmPSdodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sVGhyRGVmUGFyc2VyRGVidWdFbnRpdGllcycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGhyRGVmUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQnIGhyZWY9J2h0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxUaHJEZWZQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRGVmYXVsdCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGhyRGVmUGVkYW50aWNQYXJzZXJEZWZhdWx0VmFsdWUnIGhyZWY9J2h0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxUaHJEZWZQZWRhbnRpY1BhcnNlckRlZmF1bHRWYWx1ZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGhyRGVmUmVnaXN0ZXJOb2RlRGVmYXVsdCcgaHJlZj0naHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbFRockRlZlJlZ2lzdGVyTm9kZURlZmF1bHQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFRockRlZlNhdmVOb0VtcHR5VGFncycgaHJlZj0naHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbFRockRlZlNhdmVOb0VtcHR5VGFncycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVGhyRGVmU2V0R2VuZXJpY0Vycm9yRnVuYycgaHJlZj0naHRtbC9saWJ4bWwtZ2xvYmFscy5odG1sI3htbFRockRlZlNldEdlbmVyaWNFcnJvckZ1bmMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFRockRlZlNldFN0cnVjdHVyZWRFcnJvckZ1bmMnIGhyZWY9J2h0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxUaHJEZWZTZXRTdHJ1Y3R1cmVkRXJyb3JGdW5jJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxUaHJEZWZTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0VmFsdWUnIGhyZWY9J2h0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxUaHJEZWZTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0VmFsdWUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFRockRlZlRyZWVJbmRlbnRTdHJpbmcnIGhyZWY9J2h0bWwvbGlieG1sLWdsb2JhbHMuaHRtbCN4bWxUaHJEZWZUcmVlSW5kZW50U3RyaW5nJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxUcmVlSW5kZW50U3RyaW5nJyBocmVmPSdodG1sL2xpYnhtbC1nbG9iYWxzLmh0bWwjeG1sVHJlZUluZGVudFN0cmluZycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVUNTSXNBZWdlYW5OdW1iZXJzJyBocmVmPSdodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNBZWdlYW5OdW1iZXJzJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc0FscGhhYmV0aWNQcmVzZW50YXRpb25Gb3JtcycgaHJlZj0naHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQWxwaGFiZXRpY1ByZXNlbnRhdGlvbkZvcm1zJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc0FyYWJpYycgaHJlZj0naHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQXJhYmljJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc0FyYWJpY1ByZXNlbnRhdGlvbkZvcm1zQScgaHJlZj0naHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQXJhYmljUHJlc2VudGF0aW9uRm9ybXNBJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc0FyYWJpY1ByZXNlbnRhdGlvbkZvcm1zQicgaHJlZj0naHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQXJhYmljUHJlc2VudGF0aW9uRm9ybXNCJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc0FybWVuaWFuJyBocmVmPSdodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNBcm1lbmlhbicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVUNTSXNBcnJvd3MnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0Fycm93cycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVUNTSXNCYXNpY0xhdGluJyBocmVmPSdodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNCYXNpY0xhdGluJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc0JlbmdhbGknIGhyZWY9J2h0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0JlbmdhbGknLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFVDU0lzQmxvY2snIGhyZWY9J2h0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0Jsb2NrJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc0Jsb2NrRWxlbWVudHMnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0Jsb2NrRWxlbWVudHMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFVDU0lzQm9wb21vZm8nIGhyZWY9J2h0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0JvcG9tb2ZvJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc0JvcG9tb2ZvRXh0ZW5kZWQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0JvcG9tb2ZvRXh0ZW5kZWQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFVDU0lzQm94RHJhd2luZycgaHJlZj0naHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQm94RHJhd2luZycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVUNTSXNCcmFpbGxlUGF0dGVybnMnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0JyYWlsbGVQYXR0ZXJucycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVUNTSXNCdWhpZCcgaHJlZj0naHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQnVoaWQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFVDU0lzQnl6YW50aW5lTXVzaWNhbFN5bWJvbHMnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0J5emFudGluZU11c2ljYWxTeW1ib2xzJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHknIGhyZWY9J2h0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHknLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eUZvcm1zJyBocmVmPSdodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDSktDb21wYXRpYmlsaXR5Rm9ybXMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eUlkZW9ncmFwaHMnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHlJZGVvZ3JhcGhzJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHlJZGVvZ3JhcGhzU3VwcGxlbWVudCcgaHJlZj0naHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eUlkZW9ncmFwaHNTdXBwbGVtZW50Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc0NKS1JhZGljYWxzU3VwcGxlbWVudCcgaHJlZj0naHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ0pLUmFkaWNhbHNTdXBwbGVtZW50Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc0NKS1N5bWJvbHNhbmRQdW5jdHVhdGlvbicgaHJlZj0naHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ0pLU3ltYm9sc2FuZFB1bmN0dWF0aW9uJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc0NKS1VuaWZpZWRJZGVvZ3JhcGhzJyBocmVmPSdodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDSktVbmlmaWVkSWRlb2dyYXBocycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVUNTSXNDSktVbmlmaWVkSWRlb2dyYXBoc0V4dGVuc2lvbkEnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NKS1VuaWZpZWRJZGVvZ3JhcGhzRXh0ZW5zaW9uQScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVUNTSXNDSktVbmlmaWVkSWRlb2dyYXBoc0V4dGVuc2lvbkInIGhyZWY9J2h0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NKS1VuaWZpZWRJZGVvZ3JhcGhzRXh0ZW5zaW9uQicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVUNTSXNDYXQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NhdCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVUNTSXNDYXRDJyBocmVmPSdodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDYXRDJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc0NhdENjJyBocmVmPSdodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDYXRDYycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVUNTSXNDYXRDZicgaHJlZj0naHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ2F0Q2YnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFVDU0lzQ2F0Q28nIGhyZWY9J2h0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NhdENvJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc0NhdENzJyBocmVmPSdodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDYXRDcycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVUNTSXNDYXRMJyBocmVmPSdodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDYXRMJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc0NhdExsJyBocmVmPSdodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDYXRMbCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVUNTSXNDYXRMbScgaHJlZj0naHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ2F0TG0nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFVDU0lzQ2F0TG8nIGhyZWY9J2h0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NhdExvJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc0NhdEx0JyBocmVmPSdodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDYXRMdCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVUNTSXNDYXRMdScgaHJlZj0naHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ2F0THUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFVDU0lzQ2F0TScgaHJlZj0naHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ2F0TScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVUNTSXNDYXRNYycgaHJlZj0naHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ2F0TWMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFVDU0lzQ2F0TWUnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NhdE1lJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc0NhdE1uJyBocmVmPSdodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDYXRNbicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVUNTSXNDYXROJyBocmVmPSdodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDYXROJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc0NhdE5kJyBocmVmPSdodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDYXROZCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVUNTSXNDYXRObCcgaHJlZj0naHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ2F0TmwnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFVDU0lzQ2F0Tm8nIGhyZWY9J2h0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NhdE5vJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc0NhdFAnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NhdFAnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFVDU0lzQ2F0UGMnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NhdFBjJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc0NhdFBkJyBocmVmPSdodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDYXRQZCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVUNTSXNDYXRQZScgaHJlZj0naHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ2F0UGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFVDU0lzQ2F0UGYnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NhdFBmJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc0NhdFBpJyBocmVmPSdodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDYXRQaScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVUNTSXNDYXRQbycgaHJlZj0naHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ2F0UG8nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFVDU0lzQ2F0UHMnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NhdFBzJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc0NhdFMnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NhdFMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFVDU0lzQ2F0U2MnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NhdFNjJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc0NhdFNrJyBocmVmPSdodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDYXRTaycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVUNTSXNDYXRTbScgaHJlZj0naHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ2F0U20nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFVDU0lzQ2F0U28nIGhyZWY9J2h0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NhdFNvJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc0NhdFonIGhyZWY9J2h0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NhdFonLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFVDU0lzQ2F0WmwnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NhdFpsJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc0NhdFpwJyBocmVmPSdodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNDYXRacCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVUNTSXNDYXRacycgaHJlZj0naHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ2F0WnMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFVDU0lzQ2hlcm9rZWUnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NoZXJva2VlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc0NvbWJpbmluZ0RpYWNyaXRpY2FsTWFya3MnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NvbWJpbmluZ0RpYWNyaXRpY2FsTWFya3MnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFVDU0lzQ29tYmluaW5nRGlhY3JpdGljYWxNYXJrc2ZvclN5bWJvbHMnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0NvbWJpbmluZ0RpYWNyaXRpY2FsTWFya3Nmb3JTeW1ib2xzJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc0NvbWJpbmluZ0hhbGZNYXJrcycgaHJlZj0naHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ29tYmluaW5nSGFsZk1hcmtzJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc0NvbWJpbmluZ01hcmtzZm9yU3ltYm9scycgaHJlZj0naHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ29tYmluaW5nTWFya3Nmb3JTeW1ib2xzJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc0NvbnRyb2xQaWN0dXJlcycgaHJlZj0naHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ29udHJvbFBpY3R1cmVzJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc0N1cnJlbmN5U3ltYm9scycgaHJlZj0naHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ3VycmVuY3lTeW1ib2xzJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc0N5cHJpb3RTeWxsYWJhcnknIGhyZWY9J2h0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0N5cHJpb3RTeWxsYWJhcnknLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFVDU0lzQ3lyaWxsaWMnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0N5cmlsbGljJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc0N5cmlsbGljU3VwcGxlbWVudCcgaHJlZj0naHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzQ3lyaWxsaWNTdXBwbGVtZW50Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc0Rlc2VyZXQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0Rlc2VyZXQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFVDU0lzRGV2YW5hZ2FyaScgaHJlZj0naHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzRGV2YW5hZ2FyaScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVUNTSXNEaW5nYmF0cycgaHJlZj0naHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzRGluZ2JhdHMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFVDU0lzRW5jbG9zZWRBbHBoYW51bWVyaWNzJyBocmVmPSdodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNFbmNsb3NlZEFscGhhbnVtZXJpY3MnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFVDU0lzRW5jbG9zZWRDSktMZXR0ZXJzYW5kTW9udGhzJyBocmVmPSdodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNFbmNsb3NlZENKS0xldHRlcnNhbmRNb250aHMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFVDU0lzRXRoaW9waWMnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0V0aGlvcGljJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc0dlbmVyYWxQdW5jdHVhdGlvbicgaHJlZj0naHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzR2VuZXJhbFB1bmN0dWF0aW9uJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc0dlb21ldHJpY1NoYXBlcycgaHJlZj0naHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzR2VvbWV0cmljU2hhcGVzJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc0dlb3JnaWFuJyBocmVmPSdodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNHZW9yZ2lhbicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVUNTSXNHb3RoaWMnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0dvdGhpYycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVUNTSXNHcmVlaycgaHJlZj0naHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzR3JlZWsnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFVDU0lzR3JlZWtFeHRlbmRlZCcgaHJlZj0naHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzR3JlZWtFeHRlbmRlZCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVUNTSXNHcmVla2FuZENvcHRpYycgaHJlZj0naHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzR3JlZWthbmRDb3B0aWMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFVDU0lzR3VqYXJhdGknIGhyZWY9J2h0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0d1amFyYXRpJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc0d1cm11a2hpJyBocmVmPSdodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNHdXJtdWtoaScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVUNTSXNIYWxmd2lkdGhhbmRGdWxsd2lkdGhGb3JtcycgaHJlZj0naHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzSGFsZndpZHRoYW5kRnVsbHdpZHRoRm9ybXMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFVDU0lzSGFuZ3VsQ29tcGF0aWJpbGl0eUphbW8nIGhyZWY9J2h0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0hhbmd1bENvbXBhdGliaWxpdHlKYW1vJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc0hhbmd1bEphbW8nIGhyZWY9J2h0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0hhbmd1bEphbW8nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFVDU0lzSGFuZ3VsU3lsbGFibGVzJyBocmVmPSdodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNIYW5ndWxTeWxsYWJsZXMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFVDU0lzSGFudW5vbycgaHJlZj0naHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzSGFudW5vbycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVUNTSXNIZWJyZXcnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0hlYnJldycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVUNTSXNIaWdoUHJpdmF0ZVVzZVN1cnJvZ2F0ZXMnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0hpZ2hQcml2YXRlVXNlU3Vycm9nYXRlcycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVUNTSXNIaWdoU3Vycm9nYXRlcycgaHJlZj0naHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzSGlnaFN1cnJvZ2F0ZXMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFVDU0lzSGlyYWdhbmEnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0hpcmFnYW5hJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc0lQQUV4dGVuc2lvbnMnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0lQQUV4dGVuc2lvbnMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFVDU0lzSWRlb2dyYXBoaWNEZXNjcmlwdGlvbkNoYXJhY3RlcnMnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0lkZW9ncmFwaGljRGVzY3JpcHRpb25DaGFyYWN0ZXJzJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc0thbmJ1bicgaHJlZj0naHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzS2FuYnVuJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc0thbmd4aVJhZGljYWxzJyBocmVmPSdodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNLYW5neGlSYWRpY2FscycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVUNTSXNLYW5uYWRhJyBocmVmPSdodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNLYW5uYWRhJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc0thdGFrYW5hJyBocmVmPSdodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNLYXRha2FuYScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVUNTSXNLYXRha2FuYVBob25ldGljRXh0ZW5zaW9ucycgaHJlZj0naHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzS2F0YWthbmFQaG9uZXRpY0V4dGVuc2lvbnMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFVDU0lzS2htZXInIGhyZWY9J2h0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0tobWVyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc0tobWVyU3ltYm9scycgaHJlZj0naHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzS2htZXJTeW1ib2xzJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc0xhbycgaHJlZj0naHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzTGFvJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc0xhdGluMVN1cHBsZW1lbnQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0xhdGluMVN1cHBsZW1lbnQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFVDU0lzTGF0aW5FeHRlbmRlZEEnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0xhdGluRXh0ZW5kZWRBJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc0xhdGluRXh0ZW5kZWRBZGRpdGlvbmFsJyBocmVmPSdodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNMYXRpbkV4dGVuZGVkQWRkaXRpb25hbCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVUNTSXNMYXRpbkV4dGVuZGVkQicgaHJlZj0naHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzTGF0aW5FeHRlbmRlZEInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFVDU0lzTGV0dGVybGlrZVN5bWJvbHMnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0xldHRlcmxpa2VTeW1ib2xzJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc0xpbWJ1JyBocmVmPSdodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNMaW1idScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVUNTSXNMaW5lYXJCSWRlb2dyYW1zJyBocmVmPSdodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNMaW5lYXJCSWRlb2dyYW1zJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc0xpbmVhckJTeWxsYWJhcnknIGhyZWY9J2h0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc0xpbmVhckJTeWxsYWJhcnknLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFVDU0lzTG93U3Vycm9nYXRlcycgaHJlZj0naHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzTG93U3Vycm9nYXRlcycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVUNTSXNNYWxheWFsYW0nIGhyZWY9J2h0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc01hbGF5YWxhbScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVUNTSXNNYXRoZW1hdGljYWxBbHBoYW51bWVyaWNTeW1ib2xzJyBocmVmPSdodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNNYXRoZW1hdGljYWxBbHBoYW51bWVyaWNTeW1ib2xzJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc01hdGhlbWF0aWNhbE9wZXJhdG9ycycgaHJlZj0naHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzTWF0aGVtYXRpY2FsT3BlcmF0b3JzJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc01pc2NlbGxhbmVvdXNNYXRoZW1hdGljYWxTeW1ib2xzQScgaHJlZj0naHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzTWlzY2VsbGFuZW91c01hdGhlbWF0aWNhbFN5bWJvbHNBJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc01pc2NlbGxhbmVvdXNNYXRoZW1hdGljYWxTeW1ib2xzQicgaHJlZj0naHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzTWlzY2VsbGFuZW91c01hdGhlbWF0aWNhbFN5bWJvbHNCJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc01pc2NlbGxhbmVvdXNTeW1ib2xzJyBocmVmPSdodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNNaXNjZWxsYW5lb3VzU3ltYm9scycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVUNTSXNNaXNjZWxsYW5lb3VzU3ltYm9sc2FuZEFycm93cycgaHJlZj0naHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzTWlzY2VsbGFuZW91c1N5bWJvbHNhbmRBcnJvd3MnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFVDU0lzTWlzY2VsbGFuZW91c1RlY2huaWNhbCcgaHJlZj0naHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzTWlzY2VsbGFuZW91c1RlY2huaWNhbCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVUNTSXNNb25nb2xpYW4nIGhyZWY9J2h0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc01vbmdvbGlhbicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVUNTSXNNdXNpY2FsU3ltYm9scycgaHJlZj0naHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzTXVzaWNhbFN5bWJvbHMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFVDU0lzTXlhbm1hcicgaHJlZj0naHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzTXlhbm1hcicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVUNTSXNOdW1iZXJGb3JtcycgaHJlZj0naHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzTnVtYmVyRm9ybXMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFVDU0lzT2doYW0nIGhyZWY9J2h0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc09naGFtJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc09sZEl0YWxpYycgaHJlZj0naHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzT2xkSXRhbGljJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc09wdGljYWxDaGFyYWN0ZXJSZWNvZ25pdGlvbicgaHJlZj0naHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzT3B0aWNhbENoYXJhY3RlclJlY29nbml0aW9uJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc09yaXlhJyBocmVmPSdodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNPcml5YScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVUNTSXNPc21hbnlhJyBocmVmPSdodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNPc21hbnlhJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc1Bob25ldGljRXh0ZW5zaW9ucycgaHJlZj0naHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzUGhvbmV0aWNFeHRlbnNpb25zJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc1ByaXZhdGVVc2UnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc1ByaXZhdGVVc2UnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFVDU0lzUHJpdmF0ZVVzZUFyZWEnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc1ByaXZhdGVVc2VBcmVhJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc1J1bmljJyBocmVmPSdodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNSdW5pYycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVUNTSXNTaGF2aWFuJyBocmVmPSdodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNTaGF2aWFuJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc1NpbmhhbGEnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc1NpbmhhbGEnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFVDU0lzU21hbGxGb3JtVmFyaWFudHMnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc1NtYWxsRm9ybVZhcmlhbnRzJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc1NwYWNpbmdNb2RpZmllckxldHRlcnMnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc1NwYWNpbmdNb2RpZmllckxldHRlcnMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFVDU0lzU3BlY2lhbHMnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc1NwZWNpYWxzJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc1N1cGVyc2NyaXB0c2FuZFN1YnNjcmlwdHMnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc1N1cGVyc2NyaXB0c2FuZFN1YnNjcmlwdHMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFVDU0lzU3VwcGxlbWVudGFsQXJyb3dzQScgaHJlZj0naHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzU3VwcGxlbWVudGFsQXJyb3dzQScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVUNTSXNTdXBwbGVtZW50YWxBcnJvd3NCJyBocmVmPSdodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNTdXBwbGVtZW50YWxBcnJvd3NCJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc1N1cHBsZW1lbnRhbE1hdGhlbWF0aWNhbE9wZXJhdG9ycycgaHJlZj0naHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzU3VwcGxlbWVudGFsTWF0aGVtYXRpY2FsT3BlcmF0b3JzJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc1N1cHBsZW1lbnRhcnlQcml2YXRlVXNlQXJlYUEnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc1N1cHBsZW1lbnRhcnlQcml2YXRlVXNlQXJlYUEnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFVDU0lzU3VwcGxlbWVudGFyeVByaXZhdGVVc2VBcmVhQicgaHJlZj0naHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzU3VwcGxlbWVudGFyeVByaXZhdGVVc2VBcmVhQicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVUNTSXNTeXJpYWMnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc1N5cmlhYycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVUNTSXNUYWdhbG9nJyBocmVmPSdodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNUYWdhbG9nJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc1RhZ2JhbndhJyBocmVmPSdodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNUYWdiYW53YScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVUNTSXNUYWdzJyBocmVmPSdodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNUYWdzJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc1RhaUxlJyBocmVmPSdodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNUYWlMZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVUNTSXNUYWlYdWFuSmluZ1N5bWJvbHMnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc1RhaVh1YW5KaW5nU3ltYm9scycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVUNTSXNUYW1pbCcgaHJlZj0naHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzVGFtaWwnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFVDU0lzVGVsdWd1JyBocmVmPSdodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNUZWx1Z3UnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFVDU0lzVGhhYW5hJyBocmVmPSdodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNUaGFhbmEnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFVDU0lzVGhhaScgaHJlZj0naHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzVGhhaScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVUNTSXNUaWJldGFuJyBocmVmPSdodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNUaWJldGFuJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc1VnYXJpdGljJyBocmVmPSdodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNVZ2FyaXRpYycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVUNTSXNVbmlmaWVkQ2FuYWRpYW5BYm9yaWdpbmFsU3lsbGFiaWNzJyBocmVmPSdodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNVbmlmaWVkQ2FuYWRpYW5BYm9yaWdpbmFsU3lsbGFiaWNzJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc1ZhcmlhdGlvblNlbGVjdG9ycycgaHJlZj0naHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzVmFyaWF0aW9uU2VsZWN0b3JzJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVQ1NJc1ZhcmlhdGlvblNlbGVjdG9yc1N1cHBsZW1lbnQnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHVuaWNvZGUuaHRtbCN4bWxVQ1NJc1ZhcmlhdGlvblNlbGVjdG9yc1N1cHBsZW1lbnQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFVDU0lzWWlSYWRpY2FscycgaHJlZj0naHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzWWlSYWRpY2FscycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVUNTSXNZaVN5bGxhYmxlcycgaHJlZj0naHRtbC9saWJ4bWwteG1sdW5pY29kZS5odG1sI3htbFVDU0lzWWlTeWxsYWJsZXMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFVDU0lzWWlqaW5nSGV4YWdyYW1TeW1ib2xzJyBocmVmPSdodG1sL2xpYnhtbC14bWx1bmljb2RlLmh0bWwjeG1sVUNTSXNZaWppbmdIZXhhZ3JhbVN5bWJvbHMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFVSSScgaHJlZj0naHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sVVJJJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVUklFc2NhcGUnIGhyZWY9J2h0bWwvbGlieG1sLXVyaS5odG1sI3htbFVSSUVzY2FwZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVVJJRXNjYXBlU3RyJyBocmVmPSdodG1sL2xpYnhtbC11cmkuaHRtbCN4bWxVUklFc2NhcGVTdHInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFVSSVB0cicgaHJlZj0naHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sVVJJUHRyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVUklVbmVzY2FwZVN0cmluZycgaHJlZj0naHRtbC9saWJ4bWwtdXJpLmh0bWwjeG1sVVJJVW5lc2NhcGVTdHJpbmcnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFVURjhDaGFyY21wJyBocmVmPSdodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxVVEY4Q2hhcmNtcCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVVRGOFNpemUnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFVURjhTaXplJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVVEY4U3RybGVuJyBocmVmPSdodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxVVEY4U3RybGVuJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVVEY4U3RybG9jJyBocmVmPSdodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxVVEY4U3RybG9jJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVVEY4U3RybmR1cCcgaHJlZj0naHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sVVRGOFN0cm5kdXAnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFVURjhTdHJwb3MnIGhyZWY9J2h0bWwvbGlieG1sLXhtbHN0cmluZy5odG1sI3htbFVURjhTdHJwb3MnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFVURjhTdHJzaXplJyBocmVmPSdodG1sL2xpYnhtbC14bWxzdHJpbmcuaHRtbCN4bWxVVEY4U3Ryc2l6ZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVVRGOFN0cnN1YicgaHJlZj0naHRtbC9saWJ4bWwteG1sc3RyaW5nLmh0bWwjeG1sVVRGOFN0cnN1YicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVW5saW5rTm9kZScgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFVubGlua05vZGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFVubG9ja0xpYnJhcnknIGhyZWY9J2h0bWwvbGlieG1sLXRocmVhZHMuaHRtbCN4bWxVbmxvY2tMaWJyYXJ5Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVbnNldE5zUHJvcCcgaHJlZj0naHRtbC9saWJ4bWwtdHJlZS5odG1sI3htbFVuc2V0TnNQcm9wJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxVbnNldFByb3AnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxVbnNldFByb3AnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFZhbGlkQnVpbGRDb250ZW50TW9kZWwnIGhyZWY9J2h0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRCdWlsZENvbnRlbnRNb2RlbCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVmFsaWRDdHh0JyBocmVmPSdodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkQ3R4dCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVmFsaWRDdHh0Tm9ybWFsaXplQXR0cmlidXRlVmFsdWUnIGhyZWY9J2h0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRDdHh0Tm9ybWFsaXplQXR0cmlidXRlVmFsdWUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFZhbGlkQ3R4dFB0cicgaHJlZj0naHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZEN0eHRQdHInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFZhbGlkR2V0UG90ZW50aWFsQ2hpbGRyZW4nIGhyZWY9J2h0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRHZXRQb3RlbnRpYWxDaGlsZHJlbicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzJyBocmVmPSdodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkR2V0VmFsaWRFbGVtZW50cycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVmFsaWROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZScgaHJlZj0naHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxWYWxpZFN0YXRlJyBocmVmPSdodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkU3RhdGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFZhbGlkU3RhdGVQdHInIGhyZWY9J2h0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRTdGF0ZVB0cicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVmFsaWRhdGVBdHRyaWJ1dGVEZWNsJyBocmVmPSdodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlQXR0cmlidXRlRGVjbCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVmFsaWRhdGVBdHRyaWJ1dGVWYWx1ZScgaHJlZj0naHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZUF0dHJpYnV0ZVZhbHVlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxWYWxpZGF0ZURvY3VtZW50JyBocmVmPSdodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlRG9jdW1lbnQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFZhbGlkYXRlRG9jdW1lbnRGaW5hbCcgaHJlZj0naHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZURvY3VtZW50RmluYWwnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFZhbGlkYXRlRHRkJyBocmVmPSdodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlRHRkJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxWYWxpZGF0ZUR0ZEZpbmFsJyBocmVmPSdodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlRHRkRmluYWwnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFZhbGlkYXRlRWxlbWVudCcgaHJlZj0naHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZUVsZW1lbnQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFZhbGlkYXRlRWxlbWVudERlY2wnIGhyZWY9J2h0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVFbGVtZW50RGVjbCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVmFsaWRhdGVOQ05hbWUnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxWYWxpZGF0ZU5DTmFtZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVmFsaWRhdGVOTVRva2VuJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sVmFsaWRhdGVOTVRva2VuJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxWYWxpZGF0ZU5hbWUnIGhyZWY9J2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxWYWxpZGF0ZU5hbWUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFZhbGlkYXRlTmFtZVZhbHVlJyBocmVmPSdodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlTmFtZVZhbHVlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxWYWxpZGF0ZU5hbWVzVmFsdWUnIGhyZWY9J2h0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVOYW1lc1ZhbHVlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxWYWxpZGF0ZU5tdG9rZW5WYWx1ZScgaHJlZj0naHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZU5tdG9rZW5WYWx1ZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVmFsaWRhdGVObXRva2Vuc1ZhbHVlJyBocmVmPSdodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlTm10b2tlbnNWYWx1ZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVmFsaWRhdGVOb3RhdGlvbkRlY2wnIGhyZWY9J2h0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVOb3RhdGlvbkRlY2wnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFZhbGlkYXRlTm90YXRpb25Vc2UnIGhyZWY9J2h0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVOb3RhdGlvblVzZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVmFsaWRhdGVPbmVBdHRyaWJ1dGUnIGhyZWY9J2h0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVPbmVBdHRyaWJ1dGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFZhbGlkYXRlT25lRWxlbWVudCcgaHJlZj0naHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZU9uZUVsZW1lbnQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFZhbGlkYXRlT25lTmFtZXNwYWNlJyBocmVmPSdodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlT25lTmFtZXNwYWNlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxWYWxpZGF0ZVBvcEVsZW1lbnQnIGhyZWY9J2h0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVQb3BFbGVtZW50Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxWYWxpZGF0ZVB1c2hDRGF0YScgaHJlZj0naHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZVB1c2hDRGF0YScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVmFsaWRhdGVQdXNoRWxlbWVudCcgaHJlZj0naHRtbC9saWJ4bWwtdmFsaWQuaHRtbCN4bWxWYWxpZGF0ZVB1c2hFbGVtZW50Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxWYWxpZGF0ZVFOYW1lJyBocmVmPSdodG1sL2xpYnhtbC10cmVlLmh0bWwjeG1sVmFsaWRhdGVRTmFtZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVmFsaWRhdGVSb290JyBocmVmPSdodG1sL2xpYnhtbC12YWxpZC5odG1sI3htbFZhbGlkYXRlUm9vdCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sVmFsaWRpdHlFcnJvckZ1bmMnIGhyZWY9J2h0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRpdHlFcnJvckZ1bmMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFZhbGlkaXR5V2FybmluZ0Z1bmMnIGhyZWY9J2h0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRpdHlXYXJuaW5nRnVuYycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWEluY2x1ZGVDdHh0JyBocmVmPSdodG1sL2xpYnhtbC14aW5jbHVkZS5odG1sI3htbFhJbmNsdWRlQ3R4dCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWEluY2x1ZGVDdHh0UHRyJyBocmVmPSdodG1sL2xpYnhtbC14aW5jbHVkZS5odG1sI3htbFhJbmNsdWRlQ3R4dFB0cicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWEluY2x1ZGVGcmVlQ29udGV4dCcgaHJlZj0naHRtbC9saWJ4bWwteGluY2x1ZGUuaHRtbCN4bWxYSW5jbHVkZUZyZWVDb250ZXh0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYSW5jbHVkZU5ld0NvbnRleHQnIGhyZWY9J2h0bWwvbGlieG1sLXhpbmNsdWRlLmh0bWwjeG1sWEluY2x1ZGVOZXdDb250ZXh0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYSW5jbHVkZVByb2Nlc3MnIGhyZWY9J2h0bWwvbGlieG1sLXhpbmNsdWRlLmh0bWwjeG1sWEluY2x1ZGVQcm9jZXNzJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYSW5jbHVkZVByb2Nlc3NGbGFncycgaHJlZj0naHRtbC9saWJ4bWwteGluY2x1ZGUuaHRtbCN4bWxYSW5jbHVkZVByb2Nlc3NGbGFncycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWEluY2x1ZGVQcm9jZXNzRmxhZ3NEYXRhJyBocmVmPSdodG1sL2xpYnhtbC14aW5jbHVkZS5odG1sI3htbFhJbmNsdWRlUHJvY2Vzc0ZsYWdzRGF0YScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWEluY2x1ZGVQcm9jZXNzTm9kZScgaHJlZj0naHRtbC9saWJ4bWwteGluY2x1ZGUuaHRtbCN4bWxYSW5jbHVkZVByb2Nlc3NOb2RlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYSW5jbHVkZVByb2Nlc3NUcmVlJyBocmVmPSdodG1sL2xpYnhtbC14aW5jbHVkZS5odG1sI3htbFhJbmNsdWRlUHJvY2Vzc1RyZWUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhJbmNsdWRlUHJvY2Vzc1RyZWVGbGFncycgaHJlZj0naHRtbC9saWJ4bWwteGluY2x1ZGUuaHRtbCN4bWxYSW5jbHVkZVByb2Nlc3NUcmVlRmxhZ3MnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhJbmNsdWRlUHJvY2Vzc1RyZWVGbGFnc0RhdGEnIGhyZWY9J2h0bWwvbGlieG1sLXhpbmNsdWRlLmh0bWwjeG1sWEluY2x1ZGVQcm9jZXNzVHJlZUZsYWdzRGF0YScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWEluY2x1ZGVTZXRGbGFncycgaHJlZj0naHRtbC9saWJ4bWwteGluY2x1ZGUuaHRtbCN4bWxYSW5jbHVkZVNldEZsYWdzJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aEFkZFZhbHVlcycgaHJlZj0naHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEFkZFZhbHVlcycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFBhdGhBeGlzJyBocmVmPSdodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQXhpcycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFBhdGhBeGlzRnVuYycgaHJlZj0naHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aEF4aXNGdW5jJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aEF4aXNQdHInIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhBeGlzUHRyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aEJvb2xlYW5GdW5jdGlvbicgaHJlZj0naHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEJvb2xlYW5GdW5jdGlvbicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFBhdGhDYXN0Qm9vbGVhblRvTnVtYmVyJyBocmVmPSdodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ2FzdEJvb2xlYW5Ub051bWJlcicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFBhdGhDYXN0Qm9vbGVhblRvU3RyaW5nJyBocmVmPSdodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ2FzdEJvb2xlYW5Ub1N0cmluZycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFBhdGhDYXN0Tm9kZVNldFRvQm9vbGVhbicgaHJlZj0naHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENhc3ROb2RlU2V0VG9Cb29sZWFuJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aENhc3ROb2RlU2V0VG9OdW1iZXInIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDYXN0Tm9kZVNldFRvTnVtYmVyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aENhc3ROb2RlU2V0VG9TdHJpbmcnIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDYXN0Tm9kZVNldFRvU3RyaW5nJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aENhc3ROb2RlVG9OdW1iZXInIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDYXN0Tm9kZVRvTnVtYmVyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aENhc3ROb2RlVG9TdHJpbmcnIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDYXN0Tm9kZVRvU3RyaW5nJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aENhc3ROdW1iZXJUb0Jvb2xlYW4nIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDYXN0TnVtYmVyVG9Cb29sZWFuJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aENhc3ROdW1iZXJUb1N0cmluZycgaHJlZj0naHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENhc3ROdW1iZXJUb1N0cmluZycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFBhdGhDYXN0U3RyaW5nVG9Cb29sZWFuJyBocmVmPSdodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ2FzdFN0cmluZ1RvQm9vbGVhbicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFBhdGhDYXN0U3RyaW5nVG9OdW1iZXInIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDYXN0U3RyaW5nVG9OdW1iZXInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoQ2FzdFRvQm9vbGVhbicgaHJlZj0naHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENhc3RUb0Jvb2xlYW4nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoQ2FzdFRvTnVtYmVyJyBocmVmPSdodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ2FzdFRvTnVtYmVyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aENhc3RUb1N0cmluZycgaHJlZj0naHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENhc3RUb1N0cmluZycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFBhdGhDZWlsaW5nRnVuY3Rpb24nIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhDZWlsaW5nRnVuY3Rpb24nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoQ2hlY2tFcnJvcicgaHJlZj0naHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aENoZWNrRXJyb3InLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoQ21wTm9kZXMnIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDbXBOb2RlcycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFBhdGhDb21wRXhwcicgaHJlZj0naHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbXBFeHByJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aENvbXBFeHByUHRyJyBocmVmPSdodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29tcEV4cHJQdHInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoQ29tcGFyZVZhbHVlcycgaHJlZj0naHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aENvbXBhcmVWYWx1ZXMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoQ29tcGlsZScgaHJlZj0naHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbXBpbGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoQ29tcGlsZWRFdmFsJyBocmVmPSdodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29tcGlsZWRFdmFsJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aENvbXBpbGVkRXZhbFRvQm9vbGVhbicgaHJlZj0naHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbXBpbGVkRXZhbFRvQm9vbGVhbicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFBhdGhDb25jYXRGdW5jdGlvbicgaHJlZj0naHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aENvbmNhdEZ1bmN0aW9uJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aENvbnRhaW5zRnVuY3Rpb24nIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhDb250YWluc0Z1bmN0aW9uJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aENvbnRleHQnIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aENvbnRleHRQdHInIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDb250ZXh0UHRyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aENvbnRleHRTZXRDYWNoZScgaHJlZj0naHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbnRleHRTZXRDYWNoZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFBhdGhDb252ZXJ0Qm9vbGVhbicgaHJlZj0naHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbnZlcnRCb29sZWFuJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aENvbnZlcnRGdW5jJyBocmVmPSdodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoQ29udmVydEZ1bmMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoQ29udmVydE51bWJlcicgaHJlZj0naHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbnZlcnROdW1iZXInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoQ29udmVydFN0cmluZycgaHJlZj0naHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aENvbnZlcnRTdHJpbmcnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoQ291bnRGdW5jdGlvbicgaHJlZj0naHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aENvdW50RnVuY3Rpb24nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoQ3R4dENvbXBpbGUnIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhDdHh0Q29tcGlsZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFBhdGhEZWJ1Z0R1bXBDb21wRXhwcicgaHJlZj0naHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aERlYnVnRHVtcENvbXBFeHByJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aERlYnVnRHVtcE9iamVjdCcgaHJlZj0naHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aERlYnVnRHVtcE9iamVjdCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFBhdGhEaWZmZXJlbmNlJyBocmVmPSdodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRGlmZmVyZW5jZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFBhdGhEaXN0aW5jdCcgaHJlZj0naHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aERpc3RpbmN0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aERpc3RpbmN0U29ydGVkJyBocmVmPSdodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRGlzdGluY3RTb3J0ZWQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoRGl2VmFsdWVzJyBocmVmPSdodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRGl2VmFsdWVzJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aEVtcHR5Tm9kZVNldCcgaHJlZj0naHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEVtcHR5Tm9kZVNldCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFBhdGhFcXVhbFZhbHVlcycgaHJlZj0naHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEVxdWFsVmFsdWVzJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aEVycicgaHJlZj0naHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEVycicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFBhdGhFcnJvcicgaHJlZj0naHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aEVycm9yJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aEV2YWwnIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhFdmFsJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aEV2YWxFeHByJyBocmVmPSdodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRXZhbEV4cHInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoRXZhbEV4cHJlc3Npb24nIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhFdmFsRXhwcmVzc2lvbicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFBhdGhFdmFsRnVuYycgaHJlZj0naHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aEV2YWxGdW5jJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aEV2YWxQcmVkaWNhdGUnIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhFdmFsUHJlZGljYXRlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aEV2YWx1YXRlUHJlZGljYXRlUmVzdWx0JyBocmVmPSdodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoRXZhbHVhdGVQcmVkaWNhdGVSZXN1bHQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoRmFsc2VGdW5jdGlvbicgaHJlZj0naHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEZhbHNlRnVuY3Rpb24nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoRmxvb3JGdW5jdGlvbicgaHJlZj0naHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEZsb29yRnVuY3Rpb24nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoRnJlZUNvbXBFeHByJyBocmVmPSdodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoRnJlZUNvbXBFeHByJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aEZyZWVDb250ZXh0JyBocmVmPSdodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoRnJlZUNvbnRleHQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoRnJlZU5vZGVTZXQnIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhGcmVlTm9kZVNldCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFBhdGhGcmVlTm9kZVNldExpc3QnIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhGcmVlTm9kZVNldExpc3QnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoRnJlZU9iamVjdCcgaHJlZj0naHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aEZyZWVPYmplY3QnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoRnJlZVBhcnNlckNvbnRleHQnIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhGcmVlUGFyc2VyQ29udGV4dCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFBhdGhGdW5jTG9va3VwRnVuYycgaHJlZj0naHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aEZ1bmNMb29rdXBGdW5jJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aEZ1bmNQdHInIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhGdW5jUHRyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aEZ1bmN0JyBocmVmPSdodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoRnVuY3QnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoRnVuY3Rpb24nIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhGdW5jdGlvbicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFBhdGhGdW5jdGlvbkxvb2t1cCcgaHJlZj0naHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEZ1bmN0aW9uTG9va3VwJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aEZ1bmN0aW9uTG9va3VwTlMnIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhGdW5jdGlvbkxvb2t1cE5TJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aEdldENvbnRleHROb2RlJyBocmVmPSdodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoR2V0Q29udGV4dE5vZGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoR2V0RG9jdW1lbnQnIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhHZXREb2N1bWVudCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFBhdGhHZXRFcnJvcicgaHJlZj0naHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEdldEVycm9yJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aEhhc1NhbWVOb2RlcycgaHJlZj0naHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aEhhc1NhbWVOb2RlcycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFBhdGhJZEZ1bmN0aW9uJyBocmVmPSdodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoSWRGdW5jdGlvbicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFBhdGhJbml0JyBocmVmPSdodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoSW5pdCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFBhdGhJbnRlcnNlY3Rpb24nIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhJbnRlcnNlY3Rpb24nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoSXNJbmYnIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhJc0luZicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFBhdGhJc05hTicgaHJlZj0naHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aElzTmFOJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aElzTm9kZVR5cGUnIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhJc05vZGVUeXBlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aExhbmdGdW5jdGlvbicgaHJlZj0naHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aExhbmdGdW5jdGlvbicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFBhdGhMYXN0RnVuY3Rpb24nIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhMYXN0RnVuY3Rpb24nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoTGVhZGluZycgaHJlZj0naHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aExlYWRpbmcnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoTGVhZGluZ1NvcnRlZCcgaHJlZj0naHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aExlYWRpbmdTb3J0ZWQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoTG9jYWxOYW1lRnVuY3Rpb24nIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhMb2NhbE5hbWVGdW5jdGlvbicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFBhdGhNb2RWYWx1ZXMnIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhNb2RWYWx1ZXMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoTXVsdFZhbHVlcycgaHJlZj0naHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE11bHRWYWx1ZXMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoTkFOJyBocmVmPSdodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoTkFOJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aE5JTkYnIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhOSU5GJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aE5hbWVzcGFjZVVSSUZ1bmN0aW9uJyBocmVmPSdodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmFtZXNwYWNlVVJJRnVuY3Rpb24nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoTmV3Qm9vbGVhbicgaHJlZj0naHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5ld0Jvb2xlYW4nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoTmV3Q1N0cmluZycgaHJlZj0naHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5ld0NTdHJpbmcnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoTmV3Q29udGV4dCcgaHJlZj0naHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE5ld0NvbnRleHQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoTmV3RmxvYXQnIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXdGbG9hdCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFBhdGhOZXdOb2RlU2V0JyBocmVmPSdodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV3Tm9kZVNldCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFBhdGhOZXdOb2RlU2V0TGlzdCcgaHJlZj0naHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5ld05vZGVTZXRMaXN0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aE5ld1BhcnNlckNvbnRleHQnIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXdQYXJzZXJDb250ZXh0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aE5ld1N0cmluZycgaHJlZj0naHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5ld1N0cmluZycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFBhdGhOZXdWYWx1ZVRyZWUnIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXdWYWx1ZVRyZWUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoTmV4dEFuY2VzdG9yJyBocmVmPSdodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV4dEFuY2VzdG9yJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aE5leHRBbmNlc3Rvck9yU2VsZicgaHJlZj0naHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHRBbmNlc3Rvck9yU2VsZicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFBhdGhOZXh0QXR0cmlidXRlJyBocmVmPSdodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV4dEF0dHJpYnV0ZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFBhdGhOZXh0Q2hpbGQnIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXh0Q2hpbGQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoTmV4dERlc2NlbmRhbnQnIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXh0RGVzY2VuZGFudCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFBhdGhOZXh0RGVzY2VuZGFudE9yU2VsZicgaHJlZj0naHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHREZXNjZW5kYW50T3JTZWxmJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aE5leHRGb2xsb3dpbmcnIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXh0Rm9sbG93aW5nJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aE5leHRGb2xsb3dpbmdTaWJsaW5nJyBocmVmPSdodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTmV4dEZvbGxvd2luZ1NpYmxpbmcnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoTmV4dE5hbWVzcGFjZScgaHJlZj0naHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHROYW1lc3BhY2UnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoTmV4dFBhcmVudCcgaHJlZj0naHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHRQYXJlbnQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoTmV4dFByZWNlZGluZycgaHJlZj0naHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHRQcmVjZWRpbmcnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoTmV4dFByZWNlZGluZ1NpYmxpbmcnIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOZXh0UHJlY2VkaW5nU2libGluZycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFBhdGhOZXh0U2VsZicgaHJlZj0naHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5leHRTZWxmJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aE5vZGVFdmFsJyBocmVmPSdodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoTm9kZUV2YWwnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoTm9kZUxlYWRpbmcnIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb2RlTGVhZGluZycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFBhdGhOb2RlTGVhZGluZ1NvcnRlZCcgaHJlZj0naHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vZGVMZWFkaW5nU29ydGVkJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aE5vZGVTZXRBZGQnIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb2RlU2V0QWRkJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aE5vZGVTZXRBZGROcycgaHJlZj0naHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vZGVTZXRBZGROcycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFBhdGhOb2RlU2V0QWRkVW5pcXVlJyBocmVmPSdodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9kZVNldEFkZFVuaXF1ZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFBhdGhOb2RlU2V0Q29udGFpbnMnIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb2RlU2V0Q29udGFpbnMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoTm9kZVNldENyZWF0ZScgaHJlZj0naHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE5vZGVTZXRDcmVhdGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoTm9kZVNldERlbCcgaHJlZj0naHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vZGVTZXREZWwnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoTm9kZVNldEZyZWVOcycgaHJlZj0naHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vZGVTZXRGcmVlTnMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoTm9kZVNldEdldExlbmd0aCcgaHJlZj0naHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE5vZGVTZXRHZXRMZW5ndGgnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoTm9kZVNldElzRW1wdHknIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhOb2RlU2V0SXNFbXB0eScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFBhdGhOb2RlU2V0SXRlbScgaHJlZj0naHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE5vZGVTZXRJdGVtJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aE5vZGVTZXRNZXJnZScgaHJlZj0naHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vZGVTZXRNZXJnZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFBhdGhOb2RlU2V0UmVtb3ZlJyBocmVmPSdodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm9kZVNldFJlbW92ZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFBhdGhOb2RlU2V0U29ydCcgaHJlZj0naHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vZGVTZXRTb3J0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aE5vZGVUcmFpbGluZycgaHJlZj0naHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vZGVUcmFpbGluZycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFBhdGhOb2RlVHJhaWxpbmdTb3J0ZWQnIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb2RlVHJhaWxpbmdTb3J0ZWQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoTm9ybWFsaXplRnVuY3Rpb24nIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOb3JtYWxpemVGdW5jdGlvbicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFBhdGhOb3RFcXVhbFZhbHVlcycgaHJlZj0naHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE5vdEVxdWFsVmFsdWVzJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aE5vdEZ1bmN0aW9uJyBocmVmPSdodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoTm90RnVuY3Rpb24nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoTnNMb29rdXAnIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhOc0xvb2t1cCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFBhdGhOdW1iZXJGdW5jdGlvbicgaHJlZj0naHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aE51bWJlckZ1bmN0aW9uJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aE9iamVjdCcgaHJlZj0naHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFBhdGhPYmplY3RDb3B5JyBocmVmPSdodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoT2JqZWN0Q29weScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFBhdGhPYmplY3RQdHInIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhPYmplY3RQdHInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoT2JqZWN0VHlwZScgaHJlZj0naHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9iamVjdFR5cGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoT3JkZXJEb2NFbGVtcycgaHJlZj0naHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aE9yZGVyRG9jRWxlbXMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoUElORicgaHJlZj0naHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBJTkYnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoUGFyc2VOQ05hbWUnIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhQYXJzZU5DTmFtZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFBhdGhQYXJzZU5hbWUnIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhQYXJzZU5hbWUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoUGFyc2VyQ29udGV4dCcgaHJlZj0naHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cicgaHJlZj0naHRtbC9saWJ4bWwteHBhdGguaHRtbCN4bWxYUGF0aFBhcnNlckNvbnRleHRQdHInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoUG9wQm9vbGVhbicgaHJlZj0naHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFBvcEJvb2xlYW4nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoUG9wRXh0ZXJuYWwnIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhQb3BFeHRlcm5hbCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFBhdGhQb3BOb2RlU2V0JyBocmVmPSdodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUG9wTm9kZVNldCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFBhdGhQb3BOdW1iZXInIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhQb3BOdW1iZXInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoUG9wU3RyaW5nJyBocmVmPSdodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUG9wU3RyaW5nJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aFBvc2l0aW9uRnVuY3Rpb24nIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhQb3NpdGlvbkZ1bmN0aW9uJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aFJlZ2lzdGVyQWxsRnVuY3Rpb25zJyBocmVmPSdodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmVnaXN0ZXJBbGxGdW5jdGlvbnMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoUmVnaXN0ZXJGdW5jJyBocmVmPSdodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmVnaXN0ZXJGdW5jJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aFJlZ2lzdGVyRnVuY0xvb2t1cCcgaHJlZj0naHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJlZ2lzdGVyRnVuY0xvb2t1cCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFBhdGhSZWdpc3RlckZ1bmNOUycgaHJlZj0naHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJlZ2lzdGVyRnVuY05TJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aFJlZ2lzdGVyTnMnIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhSZWdpc3Rlck5zJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGUnIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGVMb29rdXAnIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlTG9va3VwJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGVOUycgaHJlZj0naHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGVOUycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFBhdGhSZWdpc3RlcmVkRnVuY3NDbGVhbnVwJyBocmVmPSdodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmVnaXN0ZXJlZEZ1bmNzQ2xlYW51cCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFBhdGhSZWdpc3RlcmVkTnNDbGVhbnVwJyBocmVmPSdodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmVnaXN0ZXJlZE5zQ2xlYW51cCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFBhdGhSZWdpc3RlcmVkVmFyaWFibGVzQ2xlYW51cCcgaHJlZj0naHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJlZ2lzdGVyZWRWYXJpYWJsZXNDbGVhbnVwJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aFJldHVybkJvb2xlYW4nIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhSZXR1cm5Cb29sZWFuJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aFJldHVybkVtcHR5Tm9kZVNldCcgaHJlZj0naHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJldHVybkVtcHR5Tm9kZVNldCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFBhdGhSZXR1cm5FbXB0eVN0cmluZycgaHJlZj0naHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFJldHVybkVtcHR5U3RyaW5nJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aFJldHVybkV4dGVybmFsJyBocmVmPSdodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmV0dXJuRXh0ZXJuYWwnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoUmV0dXJuRmFsc2UnIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhSZXR1cm5GYWxzZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFBhdGhSZXR1cm5Ob2RlU2V0JyBocmVmPSdodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmV0dXJuTm9kZVNldCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFBhdGhSZXR1cm5OdW1iZXInIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhSZXR1cm5OdW1iZXInLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoUmV0dXJuU3RyaW5nJyBocmVmPSdodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoUmV0dXJuU3RyaW5nJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aFJldHVyblRydWUnIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhSZXR1cm5UcnVlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aFJvb3QnIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhSb290Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aFJvdW5kRnVuY3Rpb24nIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhSb3VuZEZ1bmN0aW9uJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aFNldEFyaXR5RXJyb3InIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTZXRBcml0eUVycm9yJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aFNldENvbnRleHROb2RlJyBocmVmPSdodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoU2V0Q29udGV4dE5vZGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoU2V0RXJyb3InIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTZXRFcnJvcicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFBhdGhTZXRUeXBlRXJyb3InIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTZXRUeXBlRXJyb3InLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoU3RhY2tJc0V4dGVybmFsJyBocmVmPSdodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU3RhY2tJc0V4dGVybmFsJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aFN0YWNrSXNOb2RlU2V0JyBocmVmPSdodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU3RhY2tJc05vZGVTZXQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoU3RhcnRzV2l0aEZ1bmN0aW9uJyBocmVmPSdodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU3RhcnRzV2l0aEZ1bmN0aW9uJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aFN0cmluZ0V2YWxOdW1iZXInIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdHJpbmdFdmFsTnVtYmVyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aFN0cmluZ0Z1bmN0aW9uJyBocmVmPSdodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU3RyaW5nRnVuY3Rpb24nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoU3RyaW5nTGVuZ3RoRnVuY3Rpb24nIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdHJpbmdMZW5ndGhGdW5jdGlvbicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFBhdGhTdWJWYWx1ZXMnIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdWJWYWx1ZXMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoU3Vic3RyaW5nQWZ0ZXJGdW5jdGlvbicgaHJlZj0naHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFN1YnN0cmluZ0FmdGVyRnVuY3Rpb24nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoU3Vic3RyaW5nQmVmb3JlRnVuY3Rpb24nIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhTdWJzdHJpbmdCZWZvcmVGdW5jdGlvbicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFBhdGhTdWJzdHJpbmdGdW5jdGlvbicgaHJlZj0naHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFN1YnN0cmluZ0Z1bmN0aW9uJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aFN1bUZ1bmN0aW9uJyBocmVmPSdodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoU3VtRnVuY3Rpb24nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoVHJhaWxpbmcnIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhUcmFpbGluZycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFBhdGhUcmFpbGluZ1NvcnRlZCcgaHJlZj0naHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFRyYWlsaW5nU29ydGVkJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aFRyYW5zbGF0ZUZ1bmN0aW9uJyBocmVmPSdodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoVHJhbnNsYXRlRnVuY3Rpb24nLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoVHJ1ZUZ1bmN0aW9uJyBocmVmPSdodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoVHJ1ZUZ1bmN0aW9uJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aFR5cGUnIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhUeXBlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aFR5cGVQdHInIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhUeXBlUHRyJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aFZhbHVlRmxpcFNpZ24nIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhWYWx1ZUZsaXBTaWduJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aFZhcmlhYmxlJyBocmVmPSdodG1sL2xpYnhtbC14cGF0aC5odG1sI3htbFhQYXRoVmFyaWFibGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoVmFyaWFibGVMb29rdXAnIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhWYXJpYWJsZUxvb2t1cCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFBhdGhWYXJpYWJsZUxvb2t1cEZ1bmMnIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhWYXJpYWJsZUxvb2t1cEZ1bmMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoVmFyaWFibGVMb29rdXBOUycgaHJlZj0naHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFZhcmlhYmxlTG9va3VwTlMnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQYXRoVmFyaWFibGVQdHInIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoLmh0bWwjeG1sWFBhdGhWYXJpYWJsZVB0cicvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFBhdGhXcmFwQ1N0cmluZycgaHJlZj0naHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFdyYXBDU3RyaW5nJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aFdyYXBFeHRlcm5hbCcgaHJlZj0naHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFdyYXBFeHRlcm5hbCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFBhdGhXcmFwTm9kZVNldCcgaHJlZj0naHRtbC9saWJ4bWwteHBhdGhJbnRlcm5hbHMuaHRtbCN4bWxYUGF0aFdyYXBOb2RlU2V0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aFdyYXBTdHJpbmcnIGhyZWY9J2h0bWwvbGlieG1sLXhwYXRoSW50ZXJuYWxzLmh0bWwjeG1sWFBhdGhXcmFwU3RyaW5nJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUGF0aGVycm9yJyBocmVmPSdodG1sL2xpYnhtbC14cGF0aEludGVybmFscy5odG1sI3htbFhQYXRoZXJyb3InLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQdHJCdWlsZE5vZGVMaXN0JyBocmVmPSdodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJCdWlsZE5vZGVMaXN0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUHRyRXZhbCcgaHJlZj0naHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyRXZhbCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFB0ckV2YWxSYW5nZVByZWRpY2F0ZScgaHJlZj0naHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyRXZhbFJhbmdlUHJlZGljYXRlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUHRyRnJlZUxvY2F0aW9uU2V0JyBocmVmPSdodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJGcmVlTG9jYXRpb25TZXQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQdHJMb2NhdGlvblNldEFkZCcgaHJlZj0naHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyTG9jYXRpb25TZXRBZGQnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQdHJMb2NhdGlvblNldENyZWF0ZScgaHJlZj0naHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyTG9jYXRpb25TZXRDcmVhdGUnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQdHJMb2NhdGlvblNldERlbCcgaHJlZj0naHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyTG9jYXRpb25TZXREZWwnLz4KKyAgICA8cmVmZXJlbmNlIG5hbWU9J3htbFhQdHJMb2NhdGlvblNldE1lcmdlJyBocmVmPSdodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJMb2NhdGlvblNldE1lcmdlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUHRyTG9jYXRpb25TZXRSZW1vdmUnIGhyZWY9J2h0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ckxvY2F0aW9uU2V0UmVtb3ZlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUHRyTmV3Q29sbGFwc2VkUmFuZ2UnIGhyZWY9J2h0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ck5ld0NvbGxhcHNlZFJhbmdlJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUHRyTmV3Q29udGV4dCcgaHJlZj0naHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyTmV3Q29udGV4dCcvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFB0ck5ld0xvY2F0aW9uU2V0Tm9kZVNldCcgaHJlZj0naHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyTmV3TG9jYXRpb25TZXROb2RlU2V0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUHRyTmV3TG9jYXRpb25TZXROb2RlcycgaHJlZj0naHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyTmV3TG9jYXRpb25TZXROb2RlcycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFB0ck5ld1JhbmdlJyBocmVmPSdodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJOZXdSYW5nZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFB0ck5ld1JhbmdlTm9kZU9iamVjdCcgaHJlZj0naHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyTmV3UmFuZ2VOb2RlT2JqZWN0Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUHRyTmV3UmFuZ2VOb2RlUG9pbnQnIGhyZWY9J2h0bWwvbGlieG1sLXhwb2ludGVyLmh0bWwjeG1sWFB0ck5ld1JhbmdlTm9kZVBvaW50Jy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUHRyTmV3UmFuZ2VOb2RlcycgaHJlZj0naHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyTmV3UmFuZ2VOb2RlcycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFB0ck5ld1JhbmdlUG9pbnROb2RlJyBocmVmPSdodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJOZXdSYW5nZVBvaW50Tm9kZScvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFB0ck5ld1JhbmdlUG9pbnRzJyBocmVmPSdodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJOZXdSYW5nZVBvaW50cycvPgorICAgIDxyZWZlcmVuY2UgbmFtZT0neG1sWFB0clJhbmdlVG9GdW5jdGlvbicgaHJlZj0naHRtbC9saWJ4bWwteHBvaW50ZXIuaHRtbCN4bWxYUHRyUmFuZ2VUb0Z1bmN0aW9uJy8+CisgICAgPHJlZmVyZW5jZSBuYW1lPSd4bWxYUHRyV3JhcExvY2F0aW9uU2V0JyBocmVmPSdodG1sL2xpYnhtbC14cG9pbnRlci5odG1sI3htbFhQdHJXcmFwTG9jYXRpb25TZXQnLz4KKyAgPC9yZWZlcmVuY2VzPgorICA8YWxwaGE+CisgICAgPGxldHRlciBuYW1lPSdBJz4KKyAgICAgIDxyZWYgbmFtZT0nQVRUUklCVVRFX1VOVVNFRCcvPgorICAgIDwvbGV0dGVyPgorICAgIDxsZXR0ZXIgbmFtZT0nQic+CisgICAgICA8cmVmIG5hbWU9J0JBRF9DQVNUJy8+CisgICAgICA8cmVmIG5hbWU9J0JBU0VfQlVGRkVSX1NJWkUnLz4KKyAgICA8L2xldHRlcj4KKyAgICA8bGV0dGVyIG5hbWU9J0MnPgorICAgICAgPHJlZiBuYW1lPSdDQVNUX1RPX0JPT0xFQU4nLz4KKyAgICAgIDxyZWYgbmFtZT0nQ0FTVF9UT19OVU1CRVInLz4KKyAgICAgIDxyZWYgbmFtZT0nQ0FTVF9UT19TVFJJTkcnLz4KKyAgICAgIDxyZWYgbmFtZT0nQ0hFQ0tfQVJJVFknLz4KKyAgICAgIDxyZWYgbmFtZT0nQ0hFQ0tfRVJST1InLz4KKyAgICAgIDxyZWYgbmFtZT0nQ0hFQ0tfRVJST1IwJy8+CisgICAgICA8cmVmIG5hbWU9J0NIRUNLX1RZUEUnLz4KKyAgICAgIDxyZWYgbmFtZT0nQ0hFQ0tfVFlQRTAnLz4KKyAgICA8L2xldHRlcj4KKyAgICA8bGV0dGVyIG5hbWU9J0QnPgorICAgICAgPHJlZiBuYW1lPSdERUJVR19NRU1PUlknLz4KKyAgICAgIDxyZWYgbmFtZT0nREVCVUdfTUVNT1JZX0xPQ0FUSU9OJy8+CisgICAgPC9sZXR0ZXI+CisgICAgPGxldHRlciBuYW1lPSdIJz4KKyAgICAgIDxyZWYgbmFtZT0nSFRNTF9DT01NRU5UX05PREUnLz4KKyAgICAgIDxyZWYgbmFtZT0nSFRNTF9ERVBSRUNBVEVEJy8+CisgICAgICA8cmVmIG5hbWU9J0hUTUxfRU5USVRZX1JFRl9OT0RFJy8+CisgICAgICA8cmVmIG5hbWU9J0hUTUxfSU5WQUxJRCcvPgorICAgICAgPHJlZiBuYW1lPSdIVE1MX05BJy8+CisgICAgICA8cmVmIG5hbWU9J0hUTUxfUEFSU0VfQ09NUEFDVCcvPgorICAgICAgPHJlZiBuYW1lPSdIVE1MX1BBUlNFX0lHTk9SRV9FTkMnLz4KKyAgICAgIDxyZWYgbmFtZT0nSFRNTF9QQVJTRV9OT0JMQU5LUycvPgorICAgICAgPHJlZiBuYW1lPSdIVE1MX1BBUlNFX05PREVGRFREJy8+CisgICAgICA8cmVmIG5hbWU9J0hUTUxfUEFSU0VfTk9FUlJPUicvPgorICAgICAgPHJlZiBuYW1lPSdIVE1MX1BBUlNFX05PSU1QTElFRCcvPgorICAgICAgPHJlZiBuYW1lPSdIVE1MX1BBUlNFX05PTkVUJy8+CisgICAgICA8cmVmIG5hbWU9J0hUTUxfUEFSU0VfTk9XQVJOSU5HJy8+CisgICAgICA8cmVmIG5hbWU9J0hUTUxfUEFSU0VfUEVEQU5USUMnLz4KKyAgICAgIDxyZWYgbmFtZT0nSFRNTF9QQVJTRV9SRUNPVkVSJy8+CisgICAgICA8cmVmIG5hbWU9J0hUTUxfUElfTk9ERScvPgorICAgICAgPHJlZiBuYW1lPSdIVE1MX1BSRVNFUlZFX05PREUnLz4KKyAgICAgIDxyZWYgbmFtZT0nSFRNTF9SRVFVSVJFRCcvPgorICAgICAgPHJlZiBuYW1lPSdIVE1MX1RFWFRfTk9ERScvPgorICAgICAgPHJlZiBuYW1lPSdIVE1MX1ZBTElEJy8+CisgICAgPC9sZXR0ZXI+CisgICAgPGxldHRlciBuYW1lPSdJJz4KKyAgICAgIDxyZWYgbmFtZT0nSU5QVVRfQ0hVTksnLz4KKyAgICAgIDxyZWYgbmFtZT0nSU5WQUxJRF9TT0NLRVQnLz4KKyAgICAgIDxyZWYgbmFtZT0nSVNfQVNDSUlfRElHSVQnLz4KKyAgICAgIDxyZWYgbmFtZT0nSVNfQVNDSUlfTEVUVEVSJy8+CisgICAgICA8cmVmIG5hbWU9J0lTX0JBU0VDSEFSJy8+CisgICAgICA8cmVmIG5hbWU9J0lTX0JMQU5LJy8+CisgICAgICA8cmVmIG5hbWU9J0lTX0JMQU5LX0NIJy8+CisgICAgICA8cmVmIG5hbWU9J0lTX0JZVEVfQ0hBUicvPgorICAgICAgPHJlZiBuYW1lPSdJU19DSEFSJy8+CisgICAgICA8cmVmIG5hbWU9J0lTX0NIQVJfQ0gnLz4KKyAgICAgIDxyZWYgbmFtZT0nSVNfQ09NQklOSU5HJy8+CisgICAgICA8cmVmIG5hbWU9J0lTX0NPTUJJTklOR19DSCcvPgorICAgICAgPHJlZiBuYW1lPSdJU19ESUdJVCcvPgorICAgICAgPHJlZiBuYW1lPSdJU19ESUdJVF9DSCcvPgorICAgICAgPHJlZiBuYW1lPSdJU19FWFRFTkRFUicvPgorICAgICAgPHJlZiBuYW1lPSdJU19FWFRFTkRFUl9DSCcvPgorICAgICAgPHJlZiBuYW1lPSdJU19JREVPR1JBUEhJQycvPgorICAgICAgPHJlZiBuYW1lPSdJU19MRVRURVInLz4KKyAgICAgIDxyZWYgbmFtZT0nSVNfTEVUVEVSX0NIJy8+CisgICAgICA8cmVmIG5hbWU9J0lTX1BVQklEQ0hBUicvPgorICAgICAgPHJlZiBuYW1lPSdJU19QVUJJRENIQVJfQ0gnLz4KKyAgICA8L2xldHRlcj4KKyAgICA8bGV0dGVyIG5hbWU9J0wnPgorICAgICAgPHJlZiBuYW1lPSdMSUJYTUwyX05FV19CVUZGRVInLz4KKyAgICAgIDxyZWYgbmFtZT0nTElCWE1MX0FUVFJfQUxMT0NfU0laRScvPgorICAgICAgPHJlZiBuYW1lPSdMSUJYTUxfQVRUUl9GT1JNQVQnLz4KKyAgICAgIDxyZWYgbmFtZT0nTElCWE1MX0FVVE9NQVRBX0VOQUJMRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nTElCWE1MX0MxNE5fRU5BQkxFRCcvPgorICAgICAgPHJlZiBuYW1lPSdMSUJYTUxfQ0FUQUxPR19FTkFCTEVEJy8+CisgICAgICA8cmVmIG5hbWU9J0xJQlhNTF9ERUJVR19FTkFCTEVEJy8+CisgICAgICA8cmVmIG5hbWU9J0xJQlhNTF9ERUJVR19SVU5USU1FJy8+CisgICAgICA8cmVmIG5hbWU9J0xJQlhNTF9ETExfSU1QT1JUJy8+CisgICAgICA8cmVmIG5hbWU9J0xJQlhNTF9ET0NCX0VOQUJMRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nTElCWE1MX0RPVFRFRF9WRVJTSU9OJy8+CisgICAgICA8cmVmIG5hbWU9J0xJQlhNTF9FWFBSX0VOQUJMRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nTElCWE1MX0ZUUF9FTkFCTEVEJy8+CisgICAgICA8cmVmIG5hbWU9J0xJQlhNTF9IVE1MX0VOQUJMRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nTElCWE1MX0hUVFBfRU5BQkxFRCcvPgorICAgICAgPHJlZiBuYW1lPSdMSUJYTUxfSUNPTlZfRU5BQkxFRCcvPgorICAgICAgPHJlZiBuYW1lPSdMSUJYTUxfSUNVX0VOQUJMRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nTElCWE1MX0lTTzg4NTlYX0VOQUJMRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nTElCWE1MX0xFR0FDWV9FTkFCTEVEJy8+CisgICAgICA8cmVmIG5hbWU9J0xJQlhNTF9MWk1BX0VOQUJMRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nTElCWE1MX01PRFVMRVNfRU5BQkxFRCcvPgorICAgICAgPHJlZiBuYW1lPSdMSUJYTUxfTU9EVUxFX0VYVEVOU0lPTicvPgorICAgICAgPHJlZiBuYW1lPSdMSUJYTUxfT1VUUFVUX0VOQUJMRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nTElCWE1MX1BBVFRFUk5fRU5BQkxFRCcvPgorICAgICAgPHJlZiBuYW1lPSdMSUJYTUxfUFVTSF9FTkFCTEVEJy8+CisgICAgICA8cmVmIG5hbWU9J0xJQlhNTF9SRUFERVJfRU5BQkxFRCcvPgorICAgICAgPHJlZiBuYW1lPSdMSUJYTUxfUkVHRVhQX0VOQUJMRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nTElCWE1MX1NBWDFfRU5BQkxFRCcvPgorICAgICAgPHJlZiBuYW1lPSdMSUJYTUxfU0NIRU1BU19FTkFCTEVEJy8+CisgICAgICA8cmVmIG5hbWU9J0xJQlhNTF9TQ0hFTUFUUk9OX0VOQUJMRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nTElCWE1MX1RFU1RfVkVSU0lPTicvPgorICAgICAgPHJlZiBuYW1lPSdMSUJYTUxfVEhSRUFEX0FMTE9DX0VOQUJMRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nTElCWE1MX1RIUkVBRF9FTkFCTEVEJy8+CisgICAgICA8cmVmIG5hbWU9J0xJQlhNTF9UUkVFX0VOQUJMRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nTElCWE1MX1VOSUNPREVfRU5BQkxFRCcvPgorICAgICAgPHJlZiBuYW1lPSdMSUJYTUxfVkFMSURfRU5BQkxFRCcvPgorICAgICAgPHJlZiBuYW1lPSdMSUJYTUxfVkVSU0lPTicvPgorICAgICAgPHJlZiBuYW1lPSdMSUJYTUxfVkVSU0lPTl9FWFRSQScvPgorICAgICAgPHJlZiBuYW1lPSdMSUJYTUxfVkVSU0lPTl9TVFJJTkcnLz4KKyAgICAgIDxyZWYgbmFtZT0nTElCWE1MX1dSSVRFUl9FTkFCTEVEJy8+CisgICAgICA8cmVmIG5hbWU9J0xJQlhNTF9YSU5DTFVERV9FTkFCTEVEJy8+CisgICAgICA8cmVmIG5hbWU9J0xJQlhNTF9YUEFUSF9FTkFCTEVEJy8+CisgICAgICA8cmVmIG5hbWU9J0xJQlhNTF9YUFRSX0VOQUJMRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nTElCWE1MX1pMSUJfRU5BQkxFRCcvPgorICAgIDwvbGV0dGVyPgorICAgIDxsZXR0ZXIgbmFtZT0nTSc+CisgICAgICA8cmVmIG5hbWU9J01PVkVUT19FTkRUQUcnLz4KKyAgICAgIDxyZWYgbmFtZT0nTU9WRVRPX1NUQVJUVEFHJy8+CisgICAgPC9sZXR0ZXI+CisgICAgPGxldHRlciBuYW1lPSdTJz4KKyAgICAgIDxyZWYgbmFtZT0nU0tJUF9FT0wnLz4KKyAgICAgIDxyZWYgbmFtZT0nU09DS0VUJy8+CisgICAgPC9sZXR0ZXI+CisgICAgPGxldHRlciBuYW1lPSdVJz4KKyAgICAgIDxyZWYgbmFtZT0nVVRGOFRvSHRtbCcvPgorICAgICAgPHJlZiBuYW1lPSdVVEY4VG9pc29sYXQxJy8+CisgICAgPC9sZXR0ZXI+CisgICAgPGxldHRlciBuYW1lPSdXJz4KKyAgICAgIDxyZWYgbmFtZT0nV0lUSE9VVF9UUklPJy8+CisgICAgICA8cmVmIG5hbWU9J1dJVEhfVFJJTycvPgorICAgIDwvbGV0dGVyPgorICAgIDxsZXR0ZXIgbmFtZT0nWCc+CisgICAgICA8cmVmIG5hbWU9J1hJTkNMVURFX0ZBTExCQUNLJy8+CisgICAgICA8cmVmIG5hbWU9J1hJTkNMVURFX0hSRUYnLz4KKyAgICAgIDxyZWYgbmFtZT0nWElOQ0xVREVfTk9ERScvPgorICAgICAgPHJlZiBuYW1lPSdYSU5DTFVERV9OUycvPgorICAgICAgPHJlZiBuYW1lPSdYSU5DTFVERV9PTERfTlMnLz4KKyAgICAgIDxyZWYgbmFtZT0nWElOQ0xVREVfUEFSU0UnLz4KKyAgICAgIDxyZWYgbmFtZT0nWElOQ0xVREVfUEFSU0VfRU5DT0RJTkcnLz4KKyAgICAgIDxyZWYgbmFtZT0nWElOQ0xVREVfUEFSU0VfVEVYVCcvPgorICAgICAgPHJlZiBuYW1lPSdYSU5DTFVERV9QQVJTRV9YTUwnLz4KKyAgICAgIDxyZWYgbmFtZT0nWElOQ0xVREVfUEFSU0VfWFBPSU5URVInLz4KKyAgICAgIDxyZWYgbmFtZT0nWExJTktfQUNUVUFURV9BVVRPJy8+CisgICAgICA8cmVmIG5hbWU9J1hMSU5LX0FDVFVBVEVfTk9ORScvPgorICAgICAgPHJlZiBuYW1lPSdYTElOS19BQ1RVQVRFX09OUkVRVUVTVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTElOS19TSE9XX0VNQkVEJy8+CisgICAgICA8cmVmIG5hbWU9J1hMSU5LX1NIT1dfTkVXJy8+CisgICAgICA8cmVmIG5hbWU9J1hMSU5LX1NIT1dfTk9ORScvPgorICAgICAgPHJlZiBuYW1lPSdYTElOS19TSE9XX1JFUExBQ0UnLz4KKyAgICAgIDxyZWYgbmFtZT0nWExJTktfVFlQRV9FWFRFTkRFRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTElOS19UWVBFX0VYVEVOREVEX1NFVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTElOS19UWVBFX05PTkUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWExJTktfVFlQRV9TSU1QTEUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MQ0FMTCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxDREVDTCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxQVUJGVU4nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MUFVCVkFSJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9BVFRSSUJVVEVfQ0RBVEEnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0FUVFJJQlVURV9ERUNMJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9BVFRSSUJVVEVfRU5USVRJRVMnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0FUVFJJQlVURV9FTlRJVFknLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0FUVFJJQlVURV9FTlVNRVJBVElPTicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQVRUUklCVVRFX0ZJWEVEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9BVFRSSUJVVEVfSUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0FUVFJJQlVURV9JRFJFRicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQVRUUklCVVRFX0lEUkVGUycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQVRUUklCVVRFX0lNUExJRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0FUVFJJQlVURV9OTVRPS0VOJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9BVFRSSUJVVEVfTk1UT0tFTlMnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0FUVFJJQlVURV9OT0RFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9BVFRSSUJVVEVfTk9ORScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQVRUUklCVVRFX05PVEFUSU9OJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9BVFRSSUJVVEVfUkVRVUlSRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0JVRkZFUl9BTExPQ19ET1VCTEVJVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQlVGRkVSX0FMTE9DX0VYQUNUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9CVUZGRVJfQUxMT0NfSFlCUklEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9CVUZGRVJfQUxMT0NfSU1NVVRBQkxFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9CVUZGRVJfQUxMT0NfSU8nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0JVRl9PVkVSRkxPVycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQzE0Tl8xXzAnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0MxNE5fMV8xJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9DMTROX0NSRUFURV9DVFhUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9DMTROX0NSRUFURV9TVEFDSycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQzE0Tl9FWENMVVNJVkVfMV8wJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9DMTROX0lOVkFMSURfTk9ERScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQzE0Tl9SRUxBVElWRV9OQU1FU1BBQ0UnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0MxNE5fUkVRVUlSRVNfVVRGOCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQzE0Tl9VTktOT1dfTk9ERScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQ0FTVF9GUFRSJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9DQVRBTE9HU19OQU1FU1BBQ0UnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0NBVEFMT0dfRU5UUllfQlJPS0VOJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9DQVRBTE9HX01JU1NJTkdfQVRUUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQ0FUQUxPR19OT1RfQ0FUQUxPRycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQ0FUQUxPR19QSScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQ0FUQUxPR19QUkVGRVJfVkFMVUUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0NBVEFMT0dfUkVDVVJTSU9OJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9DQVRBX0FMTE9XX0FMTCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQ0FUQV9BTExPV19ET0NVTUVOVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQ0FUQV9BTExPV19HTE9CQUwnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0NBVEFfQUxMT1dfTk9ORScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQ0FUQV9QUkVGRVJfTk9ORScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQ0FUQV9QUkVGRVJfUFVCTElDJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9DQVRBX1BSRUZFUl9TWVNURU0nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0NEQVRBX1NFQ1RJT05fTk9ERScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQ0hBUl9FTkNPRElOR18yMDIyX0pQJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9DSEFSX0VOQ09ESU5HXzg4NTlfMScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQ0hBUl9FTkNPRElOR184ODU5XzInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0NIQVJfRU5DT0RJTkdfODg1OV8zJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9DSEFSX0VOQ09ESU5HXzg4NTlfNCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQ0hBUl9FTkNPRElOR184ODU5XzUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0NIQVJfRU5DT0RJTkdfODg1OV82Jy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9DSEFSX0VOQ09ESU5HXzg4NTlfNycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQ0hBUl9FTkNPRElOR184ODU5XzgnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0NIQVJfRU5DT0RJTkdfODg1OV85Jy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9DSEFSX0VOQ09ESU5HX0FTQ0lJJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9DSEFSX0VOQ09ESU5HX0VCQ0RJQycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQ0hBUl9FTkNPRElOR19FUlJPUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQ0hBUl9FTkNPRElOR19FVUNfSlAnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0NIQVJfRU5DT0RJTkdfTk9ORScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQ0hBUl9FTkNPRElOR19TSElGVF9KSVMnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0NIQVJfRU5DT0RJTkdfVUNTMicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQ0hBUl9FTkNPRElOR19VQ1M0QkUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0NIQVJfRU5DT0RJTkdfVUNTNExFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9DSEFSX0VOQ09ESU5HX1VDUzRfMjE0MycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQ0hBUl9FTkNPRElOR19VQ1M0XzM0MTInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0NIQVJfRU5DT0RJTkdfVVRGMTZCRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQ0hBUl9FTkNPRElOR19VVEYxNkxFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9DSEFSX0VOQ09ESU5HX1VURjgnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0NIRUNLX0VOVElUWV9UWVBFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9DSEVDS19GT1VORF9BVFRSSUJVVEUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0NIRUNLX0ZPVU5EX0NEQVRBJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9DSEVDS19GT1VORF9DT01NRU5UJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9DSEVDS19GT1VORF9ET0NUWVBFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9DSEVDS19GT1VORF9FTEVNRU5UJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9DSEVDS19GT1VORF9FTlRJVFknLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0NIRUNLX0ZPVU5EX0VOVElUWVJFRicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQ0hFQ0tfRk9VTkRfRlJBR01FTlQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0NIRUNLX0ZPVU5EX05PVEFUSU9OJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9DSEVDS19GT1VORF9QSScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQ0hFQ0tfRk9VTkRfVEVYVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQ0hFQ0tfTkFNRV9OT1RfTlVMTCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQ0hFQ0tfTk9UX0FUVFInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0NIRUNLX05PVF9BVFRSX0RFQ0wnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0NIRUNLX05PVF9EVEQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0NIRUNLX05PVF9FTEVNX0RFQ0wnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0NIRUNLX05PVF9FTlRJVFlfREVDTCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQ0hFQ0tfTk9UX05DTkFNRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQ0hFQ0tfTk9UX05TX0RFQ0wnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0NIRUNLX05PVF9VVEY4Jy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9DSEVDS19OT19ESUNUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9DSEVDS19OT19ET0MnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0NIRUNLX05PX0VMRU0nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0NIRUNLX05PX0hSRUYnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0NIRUNLX05PX05BTUUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0NIRUNLX05PX05FWFQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0NIRUNLX05PX1BBUkVOVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQ0hFQ0tfTk9fUFJFVicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQ0hFQ0tfTlNfQU5DRVNUT1InLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0NIRUNLX05TX1NDT1BFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9DSEVDS19PVVRTSURFX0RJQ1QnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0NIRUNLX1VOS05PV05fTk9ERScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQ0hFQ0tfV1JPTkdfRE9DJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9DSEVDS19XUk9OR19OQU1FJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9DSEVDS19XUk9OR19ORVhUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9DSEVDS19XUk9OR19QQVJFTlQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0NIRUNLX1dST05HX1BSRVYnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0NPTU1FTlRfTk9ERScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQ09NUExFVEVfQVRUUlMnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0NUWFRfRklOSVNIX0RURF8wJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9DVFhUX0ZJTklTSF9EVERfMScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfREVGQVVMVF9WRVJTSU9OJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9ERVRFQ1RfSURTJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9ET0NCX0RPQ1VNRU5UX05PREUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0RPQ1VNRU5UX0ZSQUdfTk9ERScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRE9DVU1FTlRfTk9ERScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRE9DVU1FTlRfVFlQRV9OT0RFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9ET0NfRFREVkFMSUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0RPQ19IVE1MJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9ET0NfSU5URVJOQUwnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0RPQ19OU1ZBTElEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9ET0NfT0xEMTAnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0RPQ19VU0VSQlVJTFQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0RPQ19XRUxMRk9STUVEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9ET0NfWElOQ0xVREUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0RURF9BVFRSSUJVVEVfREVGQVVMVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRFREX0FUVFJJQlVURV9SRURFRklORUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0RURF9BVFRSSUJVVEVfVkFMVUUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0RURF9DT05URU5UX0VSUk9SJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9EVERfQ09OVEVOVF9NT0RFTCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRFREX0NPTlRFTlRfTk9UX0RFVEVSTUlOSVNUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9EVERfRElGRkVSRU5UX1BSRUZJWCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRFREX0RVUF9UT0tFTicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRFREX0VMRU1fREVGQVVMVF9OQU1FU1BBQ0UnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0RURF9FTEVNX05BTUVTUEFDRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRFREX0VMRU1fUkVERUZJTkVEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9EVERfRU1QVFlfTk9UQVRJT04nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0RURF9FTlRJVFlfVFlQRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRFREX0lEX0ZJWEVEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9EVERfSURfUkVERUZJTkVEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9EVERfSURfU1VCU0VUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9EVERfSU5WQUxJRF9DSElMRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRFREX0lOVkFMSURfREVGQVVMVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRFREX0xPQURfRVJST1InLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0RURF9NSVNTSU5HX0FUVFJJQlVURScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRFREX01JWEVEX0NPUlJVUFQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0RURF9NVUxUSVBMRV9JRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRFREX05PREUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0RURF9OT1RBVElPTl9SRURFRklORUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0RURF9OT1RBVElPTl9WQUxVRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRFREX05PVF9FTVBUWScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRFREX05PVF9QQ0RBVEEnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0RURF9OT1RfU1RBTkRBTE9ORScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRFREX05PX0RPQycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRFREX05PX0RURCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRFREX05PX0VMRU1fTkFNRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRFREX05PX1BSRUZJWCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRFREX05PX1JPT1QnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0RURF9ST09UX05BTUUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0RURF9TVEFOREFMT05FX0RFRkFVTFRFRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRFREX1NUQU5EQUxPTkVfV0hJVEVfU1BBQ0UnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0RURF9VTktOT1dOX0FUVFJJQlVURScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRFREX1VOS05PV05fRUxFTScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRFREX1VOS05PV05fRU5USVRZJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9EVERfVU5LTk9XTl9JRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRFREX1VOS05PV05fTk9UQVRJT04nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0RURF9YTUxJRF9UWVBFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9EVERfWE1MSURfVkFMVUUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VMRU1FTlRfQ09OVEVOVF9FTEVNRU5UJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FTEVNRU5UX0NPTlRFTlRfTVVMVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRUxFTUVOVF9DT05URU5UX09OQ0UnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VMRU1FTlRfQ09OVEVOVF9PUFQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VMRU1FTlRfQ09OVEVOVF9PUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRUxFTUVOVF9DT05URU5UX1BDREFUQScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRUxFTUVOVF9DT05URU5UX1BMVVMnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VMRU1FTlRfQ09OVEVOVF9TRVEnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VMRU1FTlRfREVDTCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRUxFTUVOVF9OT0RFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FTEVNRU5UX1RZUEVfQU5ZJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FTEVNRU5UX1RZUEVfRUxFTUVOVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRUxFTUVOVF9UWVBFX0VNUFRZJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FTEVNRU5UX1RZUEVfTUlYRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VMRU1FTlRfVFlQRV9VTkRFRklORUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VOVElUWV9ERUNMJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FTlRJVFlfTk9ERScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRU5USVRZX1JFRl9OT0RFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfQVRUTElTVF9OT1RfRklOSVNIRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VSUl9BVFRMSVNUX05PVF9TVEFSVEVEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfQVRUUklCVVRFX05PVF9GSU5JU0hFRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX0FUVFJJQlVURV9OT1RfU1RBUlRFRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX0FUVFJJQlVURV9SRURFRklORUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VSUl9BVFRSSUJVVEVfV0lUSE9VVF9WQUxVRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX0NEQVRBX05PVF9GSU5JU0hFRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX0NIQVJSRUZfQVRfRU9GJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfQ0hBUlJFRl9JTl9EVEQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VSUl9DSEFSUkVGX0lOX0VQSUxPRycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX0NIQVJSRUZfSU5fUFJPTE9HJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfQ09NTUVOVF9OT1RfRklOSVNIRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VSUl9DT05EU0VDX0lOVkFMSUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VSUl9DT05EU0VDX0lOVkFMSURfS0VZV09SRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX0NPTkRTRUNfTk9UX0ZJTklTSEVEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfQ09ORFNFQ19OT1RfU1RBUlRFRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX0RPQ1RZUEVfTk9UX0ZJTklTSEVEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfRE9DVU1FTlRfRU1QVFknLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VSUl9ET0NVTUVOVF9FTkQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VSUl9ET0NVTUVOVF9TVEFSVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX0VMRU1DT05URU5UX05PVF9GSU5JU0hFRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX0VMRU1DT05URU5UX05PVF9TVEFSVEVEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfRU5DT0RJTkdfTkFNRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX0VOVElUWVJFRl9BVF9FT0YnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VSUl9FTlRJVFlSRUZfSU5fRFREJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfRU5USVRZUkVGX0lOX0VQSUxPRycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX0VOVElUWVJFRl9JTl9QUk9MT0cnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VSUl9FTlRJVFlSRUZfTk9fTkFNRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX0VOVElUWVJFRl9TRU1JQ09MX01JU1NJTkcnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VSUl9FTlRJVFlfQk9VTkRBUlknLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VSUl9FTlRJVFlfQ0hBUl9FUlJPUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX0VOVElUWV9JU19FWFRFUk5BTCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX0VOVElUWV9JU19QQVJBTUVURVInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VSUl9FTlRJVFlfTE9PUCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX0VOVElUWV9OT1RfRklOSVNIRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VSUl9FTlRJVFlfTk9UX1NUQVJURUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VSUl9FTlRJVFlfUEVfSU5URVJOQUwnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VSUl9FTlRJVFlfUFJPQ0VTU0lORycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX0VRVUFMX1JFUVVJUkVEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfRVJST1InLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VSUl9FWFRSQV9DT05URU5UJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfRVhUX0VOVElUWV9TVEFOREFMT05FJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfRVhUX1NVQlNFVF9OT1RfRklOSVNIRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VSUl9GQVRBTCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX0dUX1JFUVVJUkVEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfSFlQSEVOX0lOX0NPTU1FTlQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VSUl9JTlRFUk5BTF9FUlJPUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX0lOVkFMSURfQ0hBUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX0lOVkFMSURfQ0hBUlJFRicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX0lOVkFMSURfREVDX0NIQVJSRUYnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VSUl9JTlZBTElEX0VOQ09ESU5HJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfSU5WQUxJRF9IRVhfQ0hBUlJFRicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX0lOVkFMSURfVVJJJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfTElURVJBTF9OT1RfRklOSVNIRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VSUl9MSVRFUkFMX05PVF9TVEFSVEVEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfTFRTTEFTSF9SRVFVSVJFRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX0xUX0lOX0FUVFJJQlVURScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX0xUX1JFUVVJUkVEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfTUlTUExBQ0VEX0NEQVRBX0VORCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX01JU1NJTkdfRU5DT0RJTkcnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VSUl9NSVhFRF9OT1RfRklOSVNIRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VSUl9NSVhFRF9OT1RfU1RBUlRFRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX05BTUVfUkVRVUlSRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VSUl9OQU1FX1RPT19MT05HJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfTk1UT0tFTl9SRVFVSVJFRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX05PTkUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VSUl9OT1RBVElPTl9OT1RfRklOSVNIRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VSUl9OT1RBVElPTl9OT1RfU1RBUlRFRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX05PVEFUSU9OX1BST0NFU1NJTkcnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VSUl9OT1RfU1RBTkRBTE9ORScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX05PVF9XRUxMX0JBTEFOQ0VEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfTk9fRFREJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfTk9fTUVNT1JZJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfTlNfREVDTF9FUlJPUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX09LJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfUENEQVRBX1JFUVVJUkVEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfUEVSRUZfQVRfRU9GJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfUEVSRUZfSU5fRVBJTE9HJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfUEVSRUZfSU5fSU5UX1NVQlNFVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX1BFUkVGX0lOX1BST0xPRycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX1BFUkVGX05PX05BTUUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VSUl9QRVJFRl9TRU1JQ09MX01JU1NJTkcnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VSUl9QSV9OT1RfRklOSVNIRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VSUl9QSV9OT1RfU1RBUlRFRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX1BVQklEX1JFUVVJUkVEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfUkVTRVJWRURfWE1MX05BTUUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VSUl9TRVBBUkFUT1JfUkVRVUlSRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VSUl9TUEFDRV9SRVFVSVJFRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX1NUQU5EQUxPTkVfVkFMVUUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VSUl9TVFJJTkdfTk9UX0NMT1NFRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX1NUUklOR19OT1RfU1RBUlRFRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX1RBR19OQU1FX01JU01BVENIJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfVEFHX05PVF9GSU5JU0hFRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX1VOREVDTEFSRURfRU5USVRZJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfVU5LTk9XTl9FTkNPRElORycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX1VOS05PV05fVkVSU0lPTicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX1VOUEFSU0VEX0VOVElUWScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX1VOU1VQUE9SVEVEX0VOQ09ESU5HJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfVVJJX0ZSQUdNRU5UJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfVVJJX1JFUVVJUkVEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfVVNFUl9TVE9QJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfVkFMVUVfUkVRVUlSRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VSUl9WRVJTSU9OX01JU01BVENIJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfVkVSU0lPTl9NSVNTSU5HJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfV0FSTklORycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX1hNTERFQ0xfTk9UX0ZJTklTSEVEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfWE1MREVDTF9OT1RfU1RBUlRFRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVhQX0FUT00nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VYUF9DT1VOVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVhQX0VNUFRZJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FWFBfRk9SQklEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FWFBfT1InLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VYUF9TRVEnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VYVEVSTkFMX0dFTkVSQUxfUEFSU0VEX0VOVElUWScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVhURVJOQUxfR0VORVJBTF9VTlBBUlNFRF9FTlRJVFknLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VYVEVSTkFMX1BBUkFNRVRFUl9FTlRJVFknLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0ZST01fQlVGRkVSJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9GUk9NX0MxNE4nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0ZST01fQ0FUQUxPRycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRlJPTV9DSEVDSycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRlJPTV9EQVRBVFlQRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRlJPTV9EVEQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0ZST01fRlRQJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9GUk9NX0hUTUwnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0ZST01fSFRUUCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRlJPTV9JMThOJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9GUk9NX0lPJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9GUk9NX01FTU9SWScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRlJPTV9NT0RVTEUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0ZST01fTkFNRVNQQUNFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9GUk9NX05PTkUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0ZST01fT1VUUFVUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9GUk9NX1BBUlNFUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRlJPTV9SRUdFWFAnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0ZST01fUkVMQVhOR1AnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0ZST01fUkVMQVhOR1YnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0ZST01fU0NIRU1BU1AnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0ZST01fU0NIRU1BU1YnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0ZST01fU0NIRU1BVFJPTlYnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0ZST01fVFJFRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRlJPTV9VUkknLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0ZST01fVkFMSUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0ZST01fV1JJVEVSJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9GUk9NX1hJTkNMVURFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9GUk9NX1hQQVRIJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9GUk9NX1hQT0lOVEVSJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9GUk9NX1hTTFQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0ZUUF9BQ0NOVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRlRQX0VQU1ZfQU5TV0VSJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9GVFBfUEFTVl9BTlNXRVInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0ZUUF9VUkxfU1lOVEFYJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9HRVRfQ09OVEVOVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfR0VUX0xJTkUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0hUTUxfRE9DVU1FTlRfTk9ERScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfSFRNTF9TVFJVQ1VSRV9FUlJPUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfSFRNTF9VTktOT1dOX1RBRycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfSFRUUF9VTktOT1dOX0hPU1QnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0hUVFBfVVJMX1NZTlRBWCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfSFRUUF9VU0VfSVAnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0kxOE5fQ09OVl9GQUlMRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0kxOE5fRVhDRVNTX0hBTkRMRVInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0kxOE5fTk9fSEFORExFUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfSTE4Tl9OT19OQU1FJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9JMThOX05PX09VVFBVVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfSU5URVJOQUxfR0VORVJBTF9FTlRJVFknLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0lOVEVSTkFMX1BBUkFNRVRFUl9FTlRJVFknLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0lOVEVSTkFMX1BSRURFRklORURfRU5USVRZJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9JT19CVUZGRVJfRlVMTCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfSU9fRUFDQ0VTJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9JT19FQUREUklOVVNFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9JT19FQUZOT1NVUFBPUlQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0lPX0VBR0FJTicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfSU9fRUFMUkVBRFknLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0lPX0VCQURGJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9JT19FQkFETVNHJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9JT19FQlVTWScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfSU9fRUNBTkNFTEVEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9JT19FQ0hJTEQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0lPX0VDT05OUkVGVVNFRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfSU9fRURFQURMSycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfSU9fRURPTScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfSU9fRUVYSVNUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9JT19FRkFVTFQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0lPX0VGQklHJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9JT19FSU5QUk9HUkVTUycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfSU9fRUlOVFInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0lPX0VJTlZBTCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfSU9fRUlPJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9JT19FSVNDT05OJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9JT19FSVNESVInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0lPX0VNRklMRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfSU9fRU1MSU5LJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9JT19FTVNHU0laRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfSU9fRU5BTUVUT09MT05HJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9JT19FTkNPREVSJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9JT19FTkVUVU5SRUFDSCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfSU9fRU5GSUxFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9JT19FTk9ERVYnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0lPX0VOT0VOVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfSU9fRU5PRVhFQycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfSU9fRU5PTENLJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9JT19FTk9NRU0nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0lPX0VOT1NQQycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfSU9fRU5PU1lTJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9JT19FTk9URElSJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9JT19FTk9URU1QVFknLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0lPX0VOT1RTT0NLJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9JT19FTk9UU1VQJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9JT19FTk9UVFknLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0lPX0VOWElPJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9JT19FUEVSTScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfSU9fRVBJUEUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0lPX0VSQU5HRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfSU9fRVJPRlMnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0lPX0VTUElQRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfSU9fRVNSQ0gnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0lPX0VUSU1FRE9VVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfSU9fRVhERVYnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0lPX0ZMVVNIJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9JT19MT0FEX0VSUk9SJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9JT19ORVRXT1JLX0FUVEVNUFQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0lPX05PX0lOUFVUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9JT19VTktOT1dOJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9JT19XUklURScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfTE9DQUxfTkFNRVNQQUNFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9NQVhfRElDVElPTkFSWV9MSU1JVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfTUFYX0xPT0tVUF9MSU1JVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfTUFYX05BTUVMRU4nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX01BWF9OQU1FX0xFTkdUSCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfTUFYX1RFWFRfTEVOR1RIJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9NT0RVTEVfQ0xPU0UnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX01PRFVMRV9MQVpZJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9NT0RVTEVfTE9DQUwnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX01PRFVMRV9PUEVOJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9OQU1FU1BBQ0VfREVDTCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfTk9UQVRJT05fTk9ERScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfTlNfRVJSX0FUVFJJQlVURV9SRURFRklORUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX05TX0VSUl9DT0xPTicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfTlNfRVJSX0VNUFRZJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9OU19FUlJfUU5BTUUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX05TX0VSUl9VTkRFRklORURfTkFNRVNQQUNFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9OU19FUlJfWE1MX05BTUVTUEFDRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUEFSU0VSX0FUVFJJQlVURV9WQUxVRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUEFSU0VSX0NEQVRBX1NFQ1RJT04nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1BBUlNFUl9DT01NRU5UJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9QQVJTRVJfQ09OVEVOVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUEFSU0VSX0RFRkFVTFRBVFRSUycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUEFSU0VSX0RURCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUEFSU0VSX0VORF9UQUcnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1BBUlNFUl9FTlRJVFlfREVDTCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUEFSU0VSX0VOVElUWV9WQUxVRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUEFSU0VSX0VPRicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUEFSU0VSX0VQSUxPRycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUEFSU0VSX0lHTk9SRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUEFSU0VSX0xPQUREVEQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1BBUlNFUl9NSVNDJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9QQVJTRVJfUEknLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1BBUlNFUl9QUk9MT0cnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1BBUlNFUl9QVUJMSUNfTElURVJBTCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUEFSU0VSX1NFVkVSSVRZX0VSUk9SJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9QQVJTRVJfU0VWRVJJVFlfVkFMSURJVFlfRVJST1InLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1BBUlNFUl9TRVZFUklUWV9WQUxJRElUWV9XQVJOSU5HJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9QQVJTRVJfU0VWRVJJVFlfV0FSTklORycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUEFSU0VSX1NUQVJUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9QQVJTRVJfU1RBUlRfVEFHJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9QQVJTRVJfU1VCU1RfRU5USVRJRVMnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1BBUlNFUl9TWVNURU1fTElURVJBTCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUEFSU0VSX1ZBTElEQVRFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9QQVJTRV9CSUdfTElORVMnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1BBUlNFX0NPTVBBQ1QnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1BBUlNFX0RPTScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUEFSU0VfRFREQVRUUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUEFSU0VfRFRETE9BRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUEFSU0VfRFREVkFMSUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1BBUlNFX0hVR0UnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1BBUlNFX0lHTk9SRV9FTkMnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1BBUlNFX05PQkFTRUZJWCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUEFSU0VfTk9CTEFOS1MnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1BBUlNFX05PQ0RBVEEnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1BBUlNFX05PRElDVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUEFSU0VfTk9FTlQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1BBUlNFX05PRVJST1InLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1BBUlNFX05PTkVUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9QQVJTRV9OT1dBUk5JTkcnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1BBUlNFX05PWElOQ05PREUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1BBUlNFX05TQ0xFQU4nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1BBUlNFX09MRDEwJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9QQVJTRV9PTERTQVgnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1BBUlNFX1BFREFOVElDJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9QQVJTRV9QVVNIX0RPTScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUEFSU0VfUFVTSF9TQVgnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1BBUlNFX1JFQURFUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUEFSU0VfUkVDT1ZFUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUEFSU0VfU0FYJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9QQVJTRV9TQVgxJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9QQVJTRV9VTktOT1dOJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9QQVJTRV9YSU5DTFVERScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUEFUVEVSTl9ERUZBVUxUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9QQVRURVJOX1hQQVRIJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9QQVRURVJOX1hTRklFTEQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1BBVFRFUk5fWFNTRUwnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1BJX05PREUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JFQURFUl9UWVBFX0FUVFJJQlVURScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUkVBREVSX1RZUEVfQ0RBVEEnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JFQURFUl9UWVBFX0NPTU1FTlQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JFQURFUl9UWVBFX0RPQ1VNRU5UJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9SRUFERVJfVFlQRV9ET0NVTUVOVF9GUkFHTUVOVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUkVBREVSX1RZUEVfRE9DVU1FTlRfVFlQRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUkVBREVSX1RZUEVfRUxFTUVOVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUkVBREVSX1RZUEVfRU5EX0VMRU1FTlQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JFQURFUl9UWVBFX0VORF9FTlRJVFknLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JFQURFUl9UWVBFX0VOVElUWScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUkVBREVSX1RZUEVfRU5USVRZX1JFRkVSRU5DRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUkVBREVSX1RZUEVfTk9ORScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUkVBREVSX1RZUEVfTk9UQVRJT04nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JFQURFUl9UWVBFX1BST0NFU1NJTkdfSU5TVFJVQ1RJT04nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JFQURFUl9UWVBFX1NJR05JRklDQU5UX1dISVRFU1BBQ0UnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JFQURFUl9UWVBFX1RFWFQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JFQURFUl9UWVBFX1dISVRFU1BBQ0UnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JFQURFUl9UWVBFX1hNTF9ERUNMQVJBVElPTicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUkVHRVhQX0NPTVBJTEVfRVJST1InLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JFTEFYTkdQX0NSTkcnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JFTEFYTkdQX0ZSRUVfRE9DJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9SRUxBWE5HUF9OT05FJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9SRUxBWE5HX0VSUl9BVFRSRVhUUkFOUycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUkVMQVhOR19FUlJfQVRUUk5BTUUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JFTEFYTkdfRVJSX0FUVFJOT05TJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9SRUxBWE5HX0VSUl9BVFRSVkFMSUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JFTEFYTkdfRVJSX0FUVFJXUk9OR05TJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9SRUxBWE5HX0VSUl9DT05URU5UVkFMSUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JFTEFYTkdfRVJSX0RBVEFFTEVNJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9SRUxBWE5HX0VSUl9EQVRBVFlQRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUkVMQVhOR19FUlJfRFVQSUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JFTEFYTkdfRVJSX0VMRU1FWFRSQU5TJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9SRUxBWE5HX0VSUl9FTEVNTkFNRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUkVMQVhOR19FUlJfRUxFTU5PTlMnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JFTEFYTkdfRVJSX0VMRU1OT1RFTVBUWScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUkVMQVhOR19FUlJfRUxFTVdST05HJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9SRUxBWE5HX0VSUl9FTEVNV1JPTkdOUycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUkVMQVhOR19FUlJfRVhUUkFDT05URU5UJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9SRUxBWE5HX0VSUl9FWFRSQURBVEEnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JFTEFYTkdfRVJSX0lOVEVSRVhUUkEnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JFTEFYTkdfRVJSX0lOVEVSTkFMJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9SRUxBWE5HX0VSUl9JTlRFUk5PREFUQScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUkVMQVhOR19FUlJfSU5URVJTRVEnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JFTEFYTkdfRVJSX0lOVkFMSURBVFRSJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9SRUxBWE5HX0VSUl9MQUNLREFUQScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUkVMQVhOR19FUlJfTElTVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUkVMQVhOR19FUlJfTElTVEVMRU0nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JFTEFYTkdfRVJSX0xJU1RFTVBUWScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUkVMQVhOR19FUlJfTElTVEVYVFJBJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9SRUxBWE5HX0VSUl9NRU1PUlknLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JFTEFYTkdfRVJSX05PREVGSU5FJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9SRUxBWE5HX0VSUl9OT0VMRU0nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JFTEFYTkdfRVJSX05PR1JBTU1BUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUkVMQVhOR19FUlJfTk9TVEFURScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUkVMQVhOR19FUlJfTk9URUxFTScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUkVMQVhOR19FUlJfVEVYVFdST05HJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9SRUxBWE5HX0VSUl9UWVBFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9SRUxBWE5HX0VSUl9UWVBFQ01QJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9SRUxBWE5HX0VSUl9UWVBFVkFMJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9SRUxBWE5HX0VSUl9WQUxFTEVNJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9SRUxBWE5HX0VSUl9WQUxVRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUkVMQVhOR19PSycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9BTllOQU1FX0FUVFJfQU5DRVNUT1InLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfQVRUUklCVVRFX0NISUxEUkVOJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX0FUVFJJQlVURV9DT05URU5UJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX0FUVFJJQlVURV9FTVBUWScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9BVFRSSUJVVEVfTk9PUCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9BVFRSX0NPTkZMSUNUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX0NIT0lDRV9DT05URU5UJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX0NIT0lDRV9FTVBUWScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9DUkVBVEVfRkFJTFVSRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9EQVRBX0NPTlRFTlQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfREVGSU5FX0NSRUFURV9GQUlMRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfREVGSU5FX0VNUFRZJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX0RFRklORV9NSVNTSU5HJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX0RFRklORV9OQU1FX01JU1NJTkcnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfREVGX0NIT0lDRV9BTkRfSU5URVJMRUFWRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9FTEVNRU5UX0NPTlRFTlQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfRUxFTUVOVF9FTVBUWScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9FTEVNRU5UX05BTUUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfRUxFTUVOVF9OT19DT05URU5UJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX0VMRU1fQ09OVEVOVF9FTVBUWScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9FTEVNX0NPTlRFTlRfRVJST1InLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfRUxFTV9URVhUX0NPTkZMSUNUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX0VNUFRZJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX0VNUFRZX0NPTlNUUlVDVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9FTVBUWV9DT05URU5UJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX0VNUFRZX05PVF9FTVBUWScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9FUlJPUl9UWVBFX0xJQicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9FWENFUFRfRU1QVFknLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfRVhDRVBUX01JU1NJTkcnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfRVhDRVBUX01VTFRJUExFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX0VYQ0VQVF9OT19DT05URU5UJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX0VYVEVSTkFMUkVGX0VNVFBZJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX0VYVEVSTkFMUkVGX1JFQ1VSU0UnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfRVhURVJOQUxfUkVGX0ZBSUxVUkUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfRk9SQklEREVOX0FUVFJJQlVURScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9GT1JFSUdOX0VMRU1FTlQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfR1JBTU1BUl9DT05URU5UJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX0dSQU1NQVJfRU1QVFknLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfR1JBTU1BUl9NSVNTSU5HJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX0dSQU1NQVJfTk9fU1RBUlQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfR1JPVVBfQVRUUl9DT05GTElDVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9IUkVGX0VSUk9SJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX0lOQ0xVREVfRU1QVFknLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfSU5DTFVERV9GQUlMVVJFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX0lOQ0xVREVfUkVDVVJTRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9JTlRFUkxFQVZFX0FERCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9JTlRFUkxFQVZFX0NSRUFURV9GQUlMRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfSU5URVJMRUFWRV9FTVBUWScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9JTlRFUkxFQVZFX05PX0NPTlRFTlQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfSU5WQUxJRF9ERUZJTkVfTkFNRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9JTlZBTElEX1VSSScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9JTlZBTElEX1ZBTFVFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX01JU1NJTkdfSFJFRicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9OQU1FX01JU1NJTkcnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfTkVFRF9DT01CSU5FJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX05PVEFMTE9XRURfTk9UX0VNUFRZJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX05TTkFNRV9BVFRSX0FOQ0VTVE9SJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX05TTkFNRV9OT19OUycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9QQVJBTV9GT1JCSURERU4nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfUEFSQU1fTkFNRV9NSVNTSU5HJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX1BBUkVOVFJFRl9DUkVBVEVfRkFJTEVEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX1BBUkVOVFJFRl9OQU1FX0lOVkFMSUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfUEFSRU5UUkVGX05PVF9FTVBUWScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9QQVJFTlRSRUZfTk9fTkFNRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9QQVJFTlRSRUZfTk9fUEFSRU5UJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX1BBUlNFX0VSUk9SJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX1BBVF9BTllOQU1FX0VYQ0VQVF9BTllOQU1FJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX1BBVF9BVFRSX0FUVFInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfUEFUX0FUVFJfRUxFTScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9QQVRfREFUQV9FWENFUFRfQVRUUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9QQVRfREFUQV9FWENFUFRfRUxFTScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9QQVRfREFUQV9FWENFUFRfRU1QVFknLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfUEFUX0RBVEFfRVhDRVBUX0dST1VQJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX1BBVF9EQVRBX0VYQ0VQVF9JTlRFUkxFQVZFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX1BBVF9EQVRBX0VYQ0VQVF9MSVNUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX1BBVF9EQVRBX0VYQ0VQVF9PTkVNT1JFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX1BBVF9EQVRBX0VYQ0VQVF9SRUYnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfUEFUX0RBVEFfRVhDRVBUX1RFWFQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfUEFUX0xJU1RfQVRUUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9QQVRfTElTVF9FTEVNJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX1BBVF9MSVNUX0lOVEVSTEVBVkUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfUEFUX0xJU1RfTElTVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9QQVRfTElTVF9SRUYnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfUEFUX0xJU1RfVEVYVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9QQVRfTlNOQU1FX0VYQ0VQVF9BTllOQU1FJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX1BBVF9OU05BTUVfRVhDRVBUX05TTkFNRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9QQVRfT05FTU9SRV9HUk9VUF9BVFRSJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX1BBVF9PTkVNT1JFX0lOVEVSTEVBVkVfQVRUUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9QQVRfU1RBUlRfQVRUUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9QQVRfU1RBUlRfREFUQScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9QQVRfU1RBUlRfRU1QVFknLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfUEFUX1NUQVJUX0dST1VQJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX1BBVF9TVEFSVF9JTlRFUkxFQVZFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX1BBVF9TVEFSVF9MSVNUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX1BBVF9TVEFSVF9PTkVNT1JFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX1BBVF9TVEFSVF9URVhUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX1BBVF9TVEFSVF9WQUxVRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9QUkVGSVhfVU5ERUZJTkVEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX1JFRl9DUkVBVEVfRkFJTEVEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX1JFRl9DWUNMRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9SRUZfTkFNRV9JTlZBTElEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX1JFRl9OT1RfRU1QVFknLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfUkVGX05PX0RFRicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9SRUZfTk9fTkFNRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9TVEFSVF9DSE9JQ0VfQU5EX0lOVEVSTEVBVkUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfU1RBUlRfQ09OVEVOVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9TVEFSVF9FTVBUWScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9TVEFSVF9NSVNTSU5HJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX1RFWFRfRVhQRUNURUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfVEVYVF9IQVNfQ0hJTEQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfVFlQRV9NSVNTSU5HJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX1RZUEVfTk9UX0ZPVU5EJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX1RZUEVfVkFMVUUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfVU5LTk9XTl9BVFRSSUJVVEUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfVU5LTk9XTl9DT01CSU5FJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX1VOS05PV05fQ09OU1RSVUNUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX1VOS05PV05fVFlQRV9MSUInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfVVJJX0ZSQUdNRU5UJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX1VSSV9OT1RfQUJTT0xVVEUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfVkFMVUVfRU1QVFknLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfVkFMVUVfTk9fQ09OVEVOVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9YTUxOU19OQU1FJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX1hNTF9OUycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0FWRV9BU19IVE1MJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQVZFX0FTX1hNTCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0FWRV9DSEFSX0lOVkFMSUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NBVkVfRk9STUFUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQVZFX05PVF9VVEY4Jy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQVZFX05PX0RFQ0wnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NBVkVfTk9fRE9DVFlQRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0FWRV9OT19FTVBUWScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0FWRV9OT19YSFRNTCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0FWRV9VTktOT1dOX0VOQ09ESU5HJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQVZFX1dTTk9OU0lHJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQVZFX1hIVE1MJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQVgyX01BR0lDJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX0FHX1BST1BTX0NPUlJFQ1QnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfQVRUUkZPUk1ERUZBVUxUX1ZBTFVFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX0FUVFJHUlBfTk9OQU1FX05PUkVGJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX0FUVFJfTk9OQU1FX05PUkVGJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX0FVX1BST1BTX0NPUlJFQ1QnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfQVVfUFJPUFNfQ09SUkVDVF8yJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX0FfUFJPUFNfQ09SUkVDVF8yJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX0FfUFJPUFNfQ09SUkVDVF8zJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX0NPTVBMRVhUWVBFX05PTkFNRV9OT1JFRicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9DT1NfQUxMX0xJTUlURUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfQ09TX0NUX0VYVEVORFNfMV8xJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX0NPU19DVF9FWFRFTkRTXzFfMicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9DT1NfQ1RfRVhURU5EU18xXzMnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfQ09TX1NUX0RFUklWRURfT0tfMl8xJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX0NPU19TVF9ERVJJVkVEX09LXzJfMicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzFfMScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzFfMicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzFfM18xJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMV8zXzInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzEnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzNfMV8xJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMl8zXzFfMicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzJfM18yXzEnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzNfMl8yJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMl8zXzJfMycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzJfM18yXzQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzNfMl81Jy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfM18xJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfM18zXzEnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzNfMV8yJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfM18zXzJfMScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzNfM18yXzInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzNfMl8zJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfM18zXzJfNCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzNfM18yXzUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfQ09TX1ZBTElEX0RFRkFVTFRfMScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9DT1NfVkFMSURfREVGQVVMVF8yXzEnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfQ09TX1ZBTElEX0RFRkFVTFRfMl8yXzEnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfQ09TX1ZBTElEX0RFRkFVTFRfMl8yXzInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfQ1RfUFJPUFNfQ09SUkVDVF8xJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX0NUX1BST1BTX0NPUlJFQ1RfMicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9DVF9QUk9QU19DT1JSRUNUXzMnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfQ1RfUFJPUFNfQ09SUkVDVF80Jy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX0NUX1BST1BTX0NPUlJFQ1RfNScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9DVkNfU0lNUExFX1RZUEUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfQ19QUk9QU19DT1JSRUNUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX0RFRl9BTkRfUFJFRklYJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX0RFUklWQVRJT05fT0tfUkVTVFJJQ1RJT05fMScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzJfMV8xJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX0RFUklWQVRJT05fT0tfUkVTVFJJQ1RJT05fMl8xXzInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfREVSSVZBVElPTl9PS19SRVNUUklDVElPTl8yXzFfMycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzJfMicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzMnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfREVSSVZBVElPTl9PS19SRVNUUklDVElPTl80XzEnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfREVSSVZBVElPTl9PS19SRVNUUklDVElPTl80XzInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfREVSSVZBVElPTl9PS19SRVNUUklDVElPTl80XzMnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfRUxFTUZPUk1ERUZBVUxUX1ZBTFVFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX0VMRU1fREVGQVVMVF9GSVhFRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9FTEVNX05PTkFNRV9OT1JFRicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9FWFRFTlNJT05fTk9fQkFTRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9FX1BST1BTX0NPUlJFQ1RfMicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9FX1BST1BTX0NPUlJFQ1RfMycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9FX1BST1BTX0NPUlJFQ1RfNCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9FX1BST1BTX0NPUlJFQ1RfNScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9FX1BST1BTX0NPUlJFQ1RfNicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9GQUNFVF9OT19WQUxVRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9GQUlMRURfQlVJTERfSU1QT1JUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX0ZBSUxFRF9MT0FEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX0ZBSUxFRF9QQVJTRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9HUk9VUF9OT05BTUVfTk9SRUYnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfSU1QT1JUX05BTUVTUEFDRV9OT1RfVVJJJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX0lNUE9SVF9SRURFRklORV9OU05BTUUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfSU1QT1JUX1NDSEVNQV9OT1RfVVJJJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX0lOQ0xVREVfU0NIRU1BX05PVF9VUkknLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfSU5DTFVERV9TQ0hFTUFfTk9fVVJJJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX0lOVEVSTkFMJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX0lOVEVSU0VDVElPTl9OT1RfRVhQUkVTU0lCTEUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfSU5WQUxJRF9BVFRSX0NPTUJJTkFUSU9OJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX0lOVkFMSURfQVRUUl9JTkxJTkVfQ09NQklOQVRJT04nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfSU5WQUxJRF9BVFRSX05BTUUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfSU5WQUxJRF9BVFRSX1VTRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9JTlZBTElEX0JPT0xFQU4nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfSU5WQUxJRF9FTlVNJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX0lOVkFMSURfRkFDRVQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfSU5WQUxJRF9GQUNFVF9WQUxVRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9JTlZBTElEX01BWE9DQ1VSUycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9JTlZBTElEX01JTk9DQ1VSUycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9JTlZBTElEX1JFRl9BTkRfU1VCVFlQRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9JTlZBTElEX1dISVRFX1NQQUNFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX01HX1BST1BTX0NPUlJFQ1RfMScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9NR19QUk9QU19DT1JSRUNUXzInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfTUlTU0lOR19TSU1QTEVUWVBFX0NISUxEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX05PQVRUUl9OT1JFRicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9OT1JPT1QnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfTk9UQVRJT05fTk9fTkFNRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9OT1RISU5HX1RPX1BBUlNFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX05PVFlQRV9OT1JFRicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9OT1RfREVURVJNSU5JU1RJQycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9OT1RfU0NIRU1BJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX05PX1hNTE5TJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX05PX1hTSScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9QUkVGSVhfVU5ERUZJTkVEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1BfUFJPUFNfQ09SUkVDVF8xJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1BfUFJPUFNfQ09SUkVDVF8yXzEnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfUF9QUk9QU19DT1JSRUNUXzJfMicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9SRUNVUlNJVkUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfUkVERUZJTkVEX0FUVFInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfUkVERUZJTkVEX0FUVFJHUk9VUCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9SRURFRklORURfRUxFTUVOVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9SRURFRklORURfR1JPVVAnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfUkVERUZJTkVEX05PVEFUSU9OJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1JFREVGSU5FRF9UWVBFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1JFRl9BTkRfQ09OVEVOVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9SRUZfQU5EX1NVQlRZUEUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfUkVHRVhQX0lOVkFMSUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfUkVTVFJJQ1RJT05fTk9OQU1FX05PUkVGJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1M0U19BVFRSX0lOVkFMSURfVkFMVUUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfUzRTX0FUVFJfTUlTU0lORycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9TNFNfQVRUUl9OT1RfQUxMT1dFRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9TNFNfRUxFTV9NSVNTSU5HJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1M0U19FTEVNX05PVF9BTExPV0VEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1NJTVBMRVRZUEVfTk9OQU1FJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1NSQ19BVFRSSUJVVEVfMScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9TUkNfQVRUUklCVVRFXzInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfU1JDX0FUVFJJQlVURV8zXzEnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfU1JDX0FUVFJJQlVURV8zXzInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfU1JDX0FUVFJJQlVURV80Jy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1NSQ19BVFRSSUJVVEVfR1JPVVBfMScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9TUkNfQVRUUklCVVRFX0dST1VQXzInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfU1JDX0FUVFJJQlVURV9HUk9VUF8zJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1NSQ19DVF8xJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1NSQ19FTEVNRU5UXzEnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfU1JDX0VMRU1FTlRfMl8xJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1NSQ19FTEVNRU5UXzJfMicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9TUkNfRUxFTUVOVF8zJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1NSQ19JTVBPUlQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfU1JDX0lNUE9SVF8xXzEnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfU1JDX0lNUE9SVF8xXzInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfU1JDX0lNUE9SVF8yJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1NSQ19JTVBPUlRfMl8xJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1NSQ19JTVBPUlRfMl8yJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1NSQ19JTVBPUlRfM18xJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1NSQ19JTVBPUlRfM18yJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1NSQ19JTkNMVURFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1NSQ19MSVNUX0lURU1UWVBFX09SX1NJTVBMRVRZUEUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfU1JDX1JFREVGSU5FJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1NSQ19SRVNPTFZFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1NSQ19SRVNUUklDVElPTl9CQVNFX09SX1NJTVBMRVRZUEUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfU1JDX1NJTVBMRV9UWVBFXzEnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfU1JDX1NJTVBMRV9UWVBFXzInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfU1JDX1NJTVBMRV9UWVBFXzMnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfU1JDX1NJTVBMRV9UWVBFXzQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfU1JDX1VOSU9OX01FTUJFUlRZUEVTX09SX1NJTVBMRVRZUEVTJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1NUX1BST1BTX0NPUlJFQ1RfMScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9TVF9QUk9QU19DT1JSRUNUXzInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfU1RfUFJPUFNfQ09SUkVDVF8zJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1NVUEVSTlVNRVJPVVNfTElTVF9JVEVNX1RZUEUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfVFlQRV9BTkRfU1VCVFlQRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9VTklPTl9OT1RfRVhQUkVTU0lCTEUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfVU5LTk9XTl9BTExfQ0hJTEQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfVU5LTk9XTl9BTllBVFRSSUJVVEVfQ0hJTEQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfVU5LTk9XTl9BVFRSR1JQX0NISUxEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1VOS05PV05fQVRUUklCVVRFX0dST1VQJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1VOS05PV05fQVRUUl9DSElMRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9VTktOT1dOX0JBU0VfVFlQRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9VTktOT1dOX0NIT0lDRV9DSElMRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9VTktOT1dOX0NPTVBMRVhDT05URU5UX0NISUxEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1VOS05PV05fQ09NUExFWFRZUEVfQ0hJTEQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfVU5LTk9XTl9FTEVNX0NISUxEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1VOS05PV05fRVhURU5TSU9OX0NISUxEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1VOS05PV05fRkFDRVRfQ0hJTEQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfVU5LTk9XTl9GQUNFVF9UWVBFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1VOS05PV05fR1JPVVBfQ0hJTEQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfVU5LTk9XTl9JTVBPUlRfQ0hJTEQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfVU5LTk9XTl9JTkNMVURFX0NISUxEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1VOS05PV05fTElTVF9DSElMRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9VTktOT1dOX01FTUJFUl9UWVBFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1VOS05PV05fTk9UQVRJT05fQ0hJTEQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfVU5LTk9XTl9QUkVGSVgnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfVU5LTk9XTl9QUk9DRVNTQ09OVEVOVF9DSElMRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9VTktOT1dOX1JFRicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9VTktOT1dOX1JFU1RSSUNUSU9OX0NISUxEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1VOS05PV05fU0NIRU1BU19DSElMRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9VTktOT1dOX1NFUVVFTkNFX0NISUxEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1VOS05PV05fU0lNUExFQ09OVEVOVF9DSElMRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9VTktOT1dOX1NJTVBMRVRZUEVfQ0hJTEQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfVU5LTk9XTl9UWVBFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1VOS05PV05fVU5JT05fQ0hJTEQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfV0FSTl9BVFRSX1BPSU5UTEVTU19QUk9IJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1dBUk5fQVRUUl9SRURFQ0xfUFJPSCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9XQVJOX1NLSVBfU0NIRU1BJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1dBUk5fVU5MT0NBVEVEX1NDSEVNQScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9XSUxEQ0FSRF9JTlZBTElEX05TX01FTUJFUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19BTllBVFRSX0xBWCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19BTllBVFRSX1NLSVAnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfQU5ZQVRUUl9TVFJJQ1QnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfQU5ZU0lNUExFVFlQRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19BTllUWVBFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0FOWVVSSScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19BTllfTEFYJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0FOWV9TS0lQJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0FOWV9TVFJJQ1QnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfQVRUUkdST1VQX0dMT0JBTCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19BVFRSR1JPVVBfSEFTX1JFRlMnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfQVRUUkdST1VQX01BUktFRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19BVFRSR1JPVVBfUkVERUZJTkVEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0FUVFJHUk9VUF9XSUxEQ0FSRF9CVUlMREVEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0FUVFJfRklYRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfQVRUUl9HTE9CQUwnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfQVRUUl9JTlRFUk5BTF9SRVNPTFZFRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19BVFRSX05TREVGQVVMVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19BVFRSX1VTRV9PUFRJT05BTCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19BVFRSX1VTRV9QUk9ISUJJVEVEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0FUVFJfVVNFX1JFUVVJUkVEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0JBU0U2NEJJTkFSWScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19CTE9DS19ERUZBVUxUX0VYVEVOU0lPTicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19CTE9DS19ERUZBVUxUX1JFU1RSSUNUSU9OJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0JMT0NLX0RFRkFVTFRfU1VCU1RJVFVUSU9OJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0JPT0xFQU4nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfQllURScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19EQVRFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0RBVEVUSU1FJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0RFQ0lNQUwnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfRE9VQkxFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0RVUkFUSU9OJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0VMRU1fQUJTVFJBQ1QnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfRUxFTV9CTE9DS19BQlNFTlQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfRUxFTV9CTE9DS19FWFRFTlNJT04nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfRUxFTV9CTE9DS19SRVNUUklDVElPTicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19FTEVNX0JMT0NLX1NVQlNUSVRVVElPTicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19FTEVNX0NJUkNVTEFSJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0VMRU1fREVGQVVMVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19FTEVNX0ZJTkFMX0FCU0VOVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19FTEVNX0ZJTkFMX0VYVEVOU0lPTicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19FTEVNX0ZJTkFMX1JFU1RSSUNUSU9OJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0VMRU1fRklYRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfRUxFTV9HTE9CQUwnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfRUxFTV9JTlRFUk5BTF9DSEVDS0VEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0VMRU1fSU5URVJOQUxfUkVTT0xWRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfRUxFTV9OSUxMQUJMRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19FTEVNX05TREVGQVVMVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19FTEVNX1JFRicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19FTEVNX1NVQlNUX0dST1VQX0hFQUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfRUxFTV9UT1BMRVZFTCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19FTlRJVElFUycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19FTlRJVFknLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfRVJSXycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19FUlJfQVRUUklOVkFMSUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfRVJSX0FUVFJVTktOT1dOJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0VSUl9DT05TVFJVQ1QnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfRVJSX0VMRU1DT05UJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0VSUl9FWFRSQUNPTlRFTlQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfRVJSX0ZBQ0VUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0VSUl9IQVZFREVGQVVMVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19FUlJfSU5URVJOQUwnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfRVJSX0lOVkFMSURBVFRSJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0VSUl9JTlZBTElERUxFTScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19FUlJfSVNBQlNUUkFDVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19FUlJfTUlTU0lORycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19FUlJfTk9ST0xMQkFDSycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19FUlJfTk9ST09UJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0VSUl9OT1RERVRFUk1JTklTVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19FUlJfTk9URU1QVFknLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfRVJSX05PVE5JTExBQkxFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0VSUl9OT1RTSU1QTEUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfRVJSX05PVFRPUExFVkVMJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0VSUl9OT1RZUEUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfRVJSX09LJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0VSUl9VTkRFQ0xBUkVERUxFTScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19FUlJfVkFMVUUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfRVJSX1dST05HRUxFTScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19FUlJfWFhYJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0ZBQ0VUX0NPTExBUFNFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0ZBQ0VUX1BSRVNFUlZFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0ZBQ0VUX1JFUExBQ0UnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfRkFDRVRfVU5LTk9XTicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19GSU5BTF9ERUZBVUxUX0VYVEVOU0lPTicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19GSU5BTF9ERUZBVUxUX0xJU1QnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfRklOQUxfREVGQVVMVF9SRVNUUklDVElPTicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19GSU5BTF9ERUZBVUxUX1VOSU9OJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0ZMT0FUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0dEQVknLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfR01PTlRIJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0dNT05USERBWScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19HWUVBUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19HWUVBUk1PTlRIJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0hFWEJJTkFSWScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19JRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19JRFJFRicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19JRFJFRlMnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfSU5DTFVESU5HX0NPTlZFUlRfTlMnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfSU5UJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0lOVEVHRVInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfTEFOR1VBR0UnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfTE9ORycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19OQU1FJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX05DTkFNRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19OSU5URUdFUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19OTVRPS0VOJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX05NVE9LRU5TJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX05OSU5URUdFUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19OT1JNU1RSSU5HJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX05PVEFUSU9OJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX05QSU5URUdFUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19QSU5URUdFUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19RTkFNRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19RVUFMSUZfQVRUUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19RVUFMSUZfRUxFTScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19TSE9SVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19TVFJJTkcnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfVElNRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19UT0tFTicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX0FCU1RSQUNUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfQkxPQ0tfREVGQVVMVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX0JMT0NLX0VYVEVOU0lPTicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX0JMT0NLX1JFU1RSSUNUSU9OJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfQlVJTFRJTl9QUklNSVRJVkUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfVFlQRV9ERVJJVkFUSU9OX01FVEhPRF9FWFRFTlNJT04nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfVFlQRV9ERVJJVkFUSU9OX01FVEhPRF9SRVNUUklDVElPTicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX0ZBQ0VUU05FRURWQUxVRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX0ZJTkFMX0RFRkFVTFQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfVFlQRV9GSU5BTF9FWFRFTlNJT04nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfVFlQRV9GSU5BTF9MSVNUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfRklOQUxfUkVTVFJJQ1RJT04nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfVFlQRV9GSU5BTF9VTklPTicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX0ZJWFVQXzEnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfVFlQRV9HTE9CQUwnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfVFlQRV9IQVNfRkFDRVRTJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfSU5URVJOQUxfSU5WQUxJRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX0lOVEVSTkFMX1JFU09MVkVEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfTUFSS0VEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfTUlYRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfVFlQRV9OT1JNVkFMVUVORUVERUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfVFlQRV9PV05FRF9BVFRSX1dJTERDQVJEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfUkVERUZJTkVEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfVkFSSUVUWV9BQlNFTlQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX0FUT01JQycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX1ZBUklFVFlfTElTVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX1ZBUklFVFlfVU5JT04nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfVFlQRV9XSElURVNQQUNFX0NPTExBUFNFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfV0hJVEVTUEFDRV9QUkVTRVJWRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX1dISVRFU1BBQ0VfUkVQTEFDRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19VQllURScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19VSU5UJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX1VMT05HJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX1VOS05PV04nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfVVNIT1JUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX1dJTERDQVJEX0NPTVBMRVRFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFUUk9OVl9BU1NFUlQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVRST05WX1JFUE9SVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BVFJPTl9PVVRfQlVGRkVSJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFUUk9OX09VVF9FUlJPUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BVFJPTl9PVVRfRklMRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BVFJPTl9PVVRfSU8nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVRST05fT1VUX1FVSUVUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFUUk9OX09VVF9URVhUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFUUk9OX09VVF9YTUwnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVZfQVRUUklOVkFMSUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVZfQVRUUlVOS05PV04nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVZfQ09OU1RSVUNUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19BVFRSSUJVVEVfMScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BVl9DVkNfQVRUUklCVVRFXzInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX0FUVFJJQlVURV8zJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19BVFRSSUJVVEVfNCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BVl9DVkNfQVUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV8xJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfMl8xJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfMl8yJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfMl8zJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfMl80Jy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfM18xJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfM18yXzEnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV8zXzJfMicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV81XzEnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV81XzInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX0RBVEFUWVBFX1ZBTElEXzFfMl8xJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19EQVRBVFlQRV9WQUxJRF8xXzJfMicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BVl9DVkNfREFUQVRZUEVfVkFMSURfMV8yXzMnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX0VMVF8xJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19FTFRfMicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BVl9DVkNfRUxUXzNfMScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BVl9DVkNfRUxUXzNfMl8xJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19FTFRfM18yXzInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX0VMVF80XzEnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX0VMVF80XzInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX0VMVF80XzMnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX0VMVF81XzFfMScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BVl9DVkNfRUxUXzVfMV8yJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19FTFRfNV8yXzEnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX0VMVF81XzJfMl8xJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19FTFRfNV8yXzJfMl8xJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19FTFRfNV8yXzJfMl8yJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19FTFRfNicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BVl9DVkNfRUxUXzcnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX0VOVU1FUkFUSU9OX1ZBTElEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19GQUNFVF9WQUxJRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BVl9DVkNfRlJBQ1RJT05ESUdJVFNfVkFMSUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX0lEQycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BVl9DVkNfTEVOR1RIX1ZBTElEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19NQVhFWENMVVNJVkVfVkFMSUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX01BWElOQ0xVU0lWRV9WQUxJRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BVl9DVkNfTUFYTEVOR1RIX1ZBTElEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19NSU5FWENMVVNJVkVfVkFMSUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX01JTklOQ0xVU0lWRV9WQUxJRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BVl9DVkNfTUlOTEVOR1RIX1ZBTElEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19QQVRURVJOX1ZBTElEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19UT1RBTERJR0lUU19WQUxJRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BVl9DVkNfVFlQRV8xJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19UWVBFXzInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX1RZUEVfM18xXzEnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX1RZUEVfM18xXzInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX1dJTERDQVJEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFWX0RPQ1VNRU5UX0VMRU1FTlRfTUlTU0lORycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BVl9FTEVNQ09OVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BVl9FTEVNRU5UX0NPTlRFTlQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVZfRVhUUkFDT05URU5UJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFWX0ZBQ0VUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFWX0hBVkVERUZBVUxUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFWX0lOVEVSTkFMJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFWX0lOVkFMSURBVFRSJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFWX0lOVkFMSURFTEVNJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFWX0lTQUJTVFJBQ1QnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVZfTUlTQycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BVl9NSVNTSU5HJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFWX05PUk9MTEJBQ0snLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVZfTk9ST09UJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFWX05PVERFVEVSTUlOSVNUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFWX05PVEVNUFRZJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFWX05PVE5JTExBQkxFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFWX05PVFNJTVBMRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BVl9OT1RUT1BMRVZFTCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BVl9OT1RZUEUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVZfVU5ERUNMQVJFREVMRU0nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVZfVkFMVUUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVZfV1JPTkdFTEVNJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFfQ09OVEVOVF9BTlknLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQV9DT05URU5UX0JBU0lDJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFfQ09OVEVOVF9FTEVNRU5UUycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BX0NPTlRFTlRfRU1QVFknLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQV9DT05URU5UX01JWEVEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFfQ09OVEVOVF9NSVhFRF9PUl9FTEVNRU5UUycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BX0NPTlRFTlRfU0lNUExFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFfQ09OVEVOVF9VTktOT1dOJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFfRVhUUkFfQVRUUl9VU0VfUFJPSElCJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFfRVhUUkFfUU5BTUVSRUYnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQV9GQUNFVF9FTlVNRVJBVElPTicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BX0ZBQ0VUX0ZSQUNUSU9ORElHSVRTJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFfRkFDRVRfTEVOR1RIJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFfRkFDRVRfTUFYRVhDTFVTSVZFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFfRkFDRVRfTUFYSU5DTFVTSVZFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFfRkFDRVRfTUFYTEVOR1RIJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFfRkFDRVRfTUlORVhDTFVTSVZFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFfRkFDRVRfTUlOSU5DTFVTSVZFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFfRkFDRVRfTUlOTEVOR1RIJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFfRkFDRVRfUEFUVEVSTicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BX0ZBQ0VUX1RPVEFMRElHSVRTJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFfRkFDRVRfV0hJVEVTUEFDRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BX1RZUEVfQUxMJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFfVFlQRV9BTlknLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQV9UWVBFX0FOWV9BVFRSSUJVVEUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQV9UWVBFX0FUVFJJQlVURScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BX1RZUEVfQVRUUklCVVRFR1JPVVAnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQV9UWVBFX0FUVFJJQlVURV9VU0UnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQV9UWVBFX0JBU0lDJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFfVFlQRV9DSE9JQ0UnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQV9UWVBFX0NPTVBMRVgnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQV9UWVBFX0NPTVBMRVhfQ09OVEVOVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BX1RZUEVfRUxFTUVOVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BX1RZUEVfRVhURU5TSU9OJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFfVFlQRV9GQUNFVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BX1RZUEVfR1JPVVAnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQV9UWVBFX0lEQ19LRVknLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQV9UWVBFX0lEQ19LRVlSRUYnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQV9UWVBFX0lEQ19VTklRVUUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQV9UWVBFX0xJU1QnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQV9UWVBFX05PVEFUSU9OJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFfVFlQRV9QQVJUSUNMRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BX1RZUEVfUkVTVFJJQ1RJT04nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQV9UWVBFX1NFUVVFTkNFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFfVFlQRV9TSU1QTEUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQV9UWVBFX1NJTVBMRV9DT05URU5UJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFfVFlQRV9VTklPTicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BX1RZUEVfVVInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQV9WQUxfVkNfSV9DUkVBVEUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQV9XSElURVNQQUNFX0NPTExBUFNFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFfV0hJVEVTUEFDRV9QUkVTRVJWRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BX1dISVRFU1BBQ0VfUkVQTEFDRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BX1dISVRFU1BBQ0VfVU5LTk9XTicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0tJUF9JRFMnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NVQlNUSVRVVEVfQk9USCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU1VCU1RJVFVURV9OT05FJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TVUJTVElUVVRFX1BFUkVGJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TVUJTVElUVVRFX1JFRicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfVEVYVFJFQURFUl9NT0RFX0NMT1NFRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfVEVYVFJFQURFUl9NT0RFX0VPRicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfVEVYVFJFQURFUl9NT0RFX0VSUk9SJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9URVhUUkVBREVSX01PREVfSU5JVElBTCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfVEVYVFJFQURFUl9NT0RFX0lOVEVSQUNUSVZFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9URVhUUkVBREVSX01PREVfUkVBRElORycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfVEVYVF9OT0RFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9UUkVFX0lOVkFMSURfREVDJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9UUkVFX0lOVkFMSURfSEVYJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9UUkVFX05PVF9VVEY4Jy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9UUkVFX1VOVEVSTUlOQVRFRF9FTlRJVFknLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1dBUl9DQVRBTE9HX1BJJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9XQVJfRU5USVRZX1JFREVGSU5FRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfV0FSX0xBTkdfVkFMVUUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1dBUl9OU19DT0xVTU4nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1dBUl9OU19VUkknLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1dBUl9OU19VUklfUkVMQVRJVkUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1dBUl9TUEFDRV9WQUxVRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfV0FSX1VOREVDTEFSRURfRU5USVRZJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9XQVJfVU5LTk9XTl9WRVJTSU9OJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9XSVRIX0FVVE9NQVRBJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9XSVRIX0MxNE4nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1dJVEhfQ0FUQUxPRycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfV0lUSF9ERUJVRycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfV0lUSF9ERUJVR19NRU0nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1dJVEhfREVCVUdfUlVOJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9XSVRIX0VYUFInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1dJVEhfRlRQJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9XSVRIX0hUTUwnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1dJVEhfSFRUUCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfV0lUSF9JQ09OVicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfV0lUSF9JQ1UnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1dJVEhfSVNPODg1OVgnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1dJVEhfTEVHQUNZJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9XSVRIX0xaTUEnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1dJVEhfTU9EVUxFUycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfV0lUSF9OT05FJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9XSVRIX09VVFBVVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfV0lUSF9QQVRURVJOJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9XSVRIX1BVU0gnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1dJVEhfUkVBREVSJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9XSVRIX1JFR0VYUCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfV0lUSF9TQVgxJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9XSVRIX1NDSEVNQVMnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1dJVEhfU0NIRU1BVFJPTicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfV0lUSF9USFJFQUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1dJVEhfVFJFRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfV0lUSF9VTklDT0RFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9XSVRIX1ZBTElEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9XSVRIX1dSSVRFUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfV0lUSF9YSU5DTFVERScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfV0lUSF9YUEFUSCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfV0lUSF9YUFRSJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9XSVRIX1pMSUInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1hJTkNMVURFX0JVSUxEX0ZBSUxFRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfWElOQ0xVREVfREVQUkVDQVRFRF9OUycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfWElOQ0xVREVfRU5EJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9YSU5DTFVERV9FTlRJVFlfREVGX01JU01BVENIJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9YSU5DTFVERV9GQUxMQkFDS1NfSU5fSU5DTFVERScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfWElOQ0xVREVfRkFMTEJBQ0tfTk9UX0lOX0lOQ0xVREUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1hJTkNMVURFX0ZSQUdNRU5UX0lEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9YSU5DTFVERV9IUkVGX1VSSScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfWElOQ0xVREVfSU5DTFVERV9JTl9JTkNMVURFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9YSU5DTFVERV9JTlZBTElEX0NIQVInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1hJTkNMVURFX01VTFRJUExFX1JPT1QnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1hJTkNMVURFX05PX0ZBTExCQUNLJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9YSU5DTFVERV9OT19IUkVGJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9YSU5DTFVERV9QQVJTRV9WQUxVRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfWElOQ0xVREVfUkVDVVJTSU9OJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9YSU5DTFVERV9TVEFSVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfWElOQ0xVREVfVEVYVF9ET0NVTUVOVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfWElOQ0xVREVfVEVYVF9GUkFHTUVOVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfWElOQ0xVREVfVU5LTk9XTl9FTkNPRElORycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfWElOQ0xVREVfWFBUUl9GQUlMRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1hJTkNMVURFX1hQVFJfUkVTVUxUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9YTUxfSUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1hNTF9OQU1FU1BBQ0UnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1hQQVRIX0NIRUNLTlMnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1hQQVRIX0VOQ09ESU5HX0VSUk9SJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9YUEFUSF9FWFBSRVNTSU9OX09LJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9YUEFUSF9FWFBSX0VSUk9SJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9YUEFUSF9JTlZBTElEX0FSSVRZJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9YUEFUSF9JTlZBTElEX0NIQVJfRVJST1InLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1hQQVRIX0lOVkFMSURfQ1RYVF9QT1NJVElPTicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfWFBBVEhfSU5WQUxJRF9DVFhUX1NJWkUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1hQQVRIX0lOVkFMSURfT1BFUkFORCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfWFBBVEhfSU5WQUxJRF9QUkVESUNBVEVfRVJST1InLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1hQQVRIX0lOVkFMSURfVFlQRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfWFBBVEhfTUVNT1JZX0VSUk9SJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9YUEFUSF9OT1ZBUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfWFBBVEhfTlVNQkVSX0VSUk9SJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9YUEFUSF9TVEFSVF9MSVRFUkFMX0VSUk9SJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9YUEFUSF9VTkNMT1NFRF9FUlJPUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfWFBBVEhfVU5ERUZfUFJFRklYX0VSUk9SJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9YUEFUSF9VTkRFRl9WQVJJQUJMRV9FUlJPUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfWFBBVEhfVU5GSU5JU0hFRF9MSVRFUkFMX0VSUk9SJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9YUEFUSF9VTktOT1dOX0ZVTkNfRVJST1InLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1hQQVRIX1ZBUklBQkxFX1JFRl9FUlJPUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfWFBUUl9DSElMRFNFUV9TVEFSVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfWFBUUl9FVkFMX0ZBSUxFRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfWFBUUl9FWFRSQV9PQkpFQ1RTJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9YUFRSX1JFU09VUkNFX0VSUk9SJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9YUFRSX1NVQl9SRVNPVVJDRV9FUlJPUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfWFBUUl9TWU5UQVhfRVJST1InLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1hQVFJfVU5LTk9XTl9TQ0hFTUUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWFBBVEhfQk9PTEVBTicvPgorICAgICAgPHJlZiBuYW1lPSdYUEFUSF9FTkNPRElOR19FUlJPUicvPgorICAgICAgPHJlZiBuYW1lPSdYUEFUSF9FWFBSRVNTSU9OX09LJy8+CisgICAgICA8cmVmIG5hbWU9J1hQQVRIX0VYUFJfRVJST1InLz4KKyAgICAgIDxyZWYgbmFtZT0nWFBBVEhfRk9SQklEX1ZBUklBQkxFX0VSUk9SJy8+CisgICAgICA8cmVmIG5hbWU9J1hQQVRIX0lOVkFMSURfQVJJVFknLz4KKyAgICAgIDxyZWYgbmFtZT0nWFBBVEhfSU5WQUxJRF9DSEFSX0VSUk9SJy8+CisgICAgICA8cmVmIG5hbWU9J1hQQVRIX0lOVkFMSURfQ1RYVCcvPgorICAgICAgPHJlZiBuYW1lPSdYUEFUSF9JTlZBTElEX0NUWFRfUE9TSVRJT04nLz4KKyAgICAgIDxyZWYgbmFtZT0nWFBBVEhfSU5WQUxJRF9DVFhUX1NJWkUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWFBBVEhfSU5WQUxJRF9PUEVSQU5EJy8+CisgICAgICA8cmVmIG5hbWU9J1hQQVRIX0lOVkFMSURfUFJFRElDQVRFX0VSUk9SJy8+CisgICAgICA8cmVmIG5hbWU9J1hQQVRIX0lOVkFMSURfVFlQRScvPgorICAgICAgPHJlZiBuYW1lPSdYUEFUSF9MT0NBVElPTlNFVCcvPgorICAgICAgPHJlZiBuYW1lPSdYUEFUSF9NRU1PUllfRVJST1InLz4KKyAgICAgIDxyZWYgbmFtZT0nWFBBVEhfTk9ERVNFVCcvPgorICAgICAgPHJlZiBuYW1lPSdYUEFUSF9OVU1CRVInLz4KKyAgICAgIDxyZWYgbmFtZT0nWFBBVEhfTlVNQkVSX0VSUk9SJy8+CisgICAgICA8cmVmIG5hbWU9J1hQQVRIX1BPSU5UJy8+CisgICAgICA8cmVmIG5hbWU9J1hQQVRIX1JBTkdFJy8+CisgICAgICA8cmVmIG5hbWU9J1hQQVRIX1NUQUNLX0VSUk9SJy8+CisgICAgICA8cmVmIG5hbWU9J1hQQVRIX1NUQVJUX0xJVEVSQUxfRVJST1InLz4KKyAgICAgIDxyZWYgbmFtZT0nWFBBVEhfU1RSSU5HJy8+CisgICAgICA8cmVmIG5hbWU9J1hQQVRIX1VOQ0xPU0VEX0VSUk9SJy8+CisgICAgICA8cmVmIG5hbWU9J1hQQVRIX1VOREVGSU5FRCcvPgorICAgICAgPHJlZiBuYW1lPSdYUEFUSF9VTkRFRl9QUkVGSVhfRVJST1InLz4KKyAgICAgIDxyZWYgbmFtZT0nWFBBVEhfVU5ERUZfVkFSSUFCTEVfRVJST1InLz4KKyAgICAgIDxyZWYgbmFtZT0nWFBBVEhfVU5GSU5JU0hFRF9MSVRFUkFMX0VSUk9SJy8+CisgICAgICA8cmVmIG5hbWU9J1hQQVRIX1VOS05PV05fRlVOQ19FUlJPUicvPgorICAgICAgPHJlZiBuYW1lPSdYUEFUSF9VU0VSUycvPgorICAgICAgPHJlZiBuYW1lPSdYUEFUSF9WQVJJQUJMRV9SRUZfRVJST1InLz4KKyAgICAgIDxyZWYgbmFtZT0nWFBBVEhfWFNMVF9UUkVFJy8+CisgICAgICA8cmVmIG5hbWU9J1hQVFJfUkVTT1VSQ0VfRVJST1InLz4KKyAgICAgIDxyZWYgbmFtZT0nWFBUUl9TVUJfUkVTT1VSQ0VfRVJST1InLz4KKyAgICAgIDxyZWYgbmFtZT0nWFBUUl9TWU5UQVhfRVJST1InLz4KKyAgICAgIDxyZWYgbmFtZT0nWFBfRVJST1InLz4KKyAgICAgIDxyZWYgbmFtZT0nWFBfRVJST1IwJy8+CisgICAgPC9sZXR0ZXI+CisgICAgPGxldHRlciBuYW1lPSdfJz4KKyAgICAgIDxyZWYgbmFtZT0nX1JFRU5UUkFOVCcvPgorICAgICAgPHJlZiBuYW1lPSdfaHRtbEVsZW1EZXNjJy8+CisgICAgICA8cmVmIG5hbWU9J19odG1sRW50aXR5RGVzYycvPgorICAgICAgPHJlZiBuYW1lPSdfdWNvbnZfdCcvPgorICAgICAgPHJlZiBuYW1lPSdfeGxpbmtIYW5kbGVyJy8+CisgICAgICA8cmVmIG5hbWU9J194bWxBdHRyJy8+CisgICAgICA8cmVmIG5hbWU9J194bWxBdHRyaWJ1dGUnLz4KKyAgICAgIDxyZWYgbmFtZT0nX3htbEJ1ZmZlcicvPgorICAgICAgPHJlZiBuYW1lPSdfeG1sQ2hMUmFuZ2UnLz4KKyAgICAgIDxyZWYgbmFtZT0nX3htbENoUmFuZ2VHcm91cCcvPgorICAgICAgPHJlZiBuYW1lPSdfeG1sQ2hTUmFuZ2UnLz4KKyAgICAgIDxyZWYgbmFtZT0nX3htbENoYXJFbmNvZGluZ0hhbmRsZXInLz4KKyAgICAgIDxyZWYgbmFtZT0nX3htbERPTVdyYXBDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J194bWxEb2MnLz4KKyAgICAgIDxyZWYgbmFtZT0nX3htbER0ZCcvPgorICAgICAgPHJlZiBuYW1lPSdfeG1sRWxlbWVudCcvPgorICAgICAgPHJlZiBuYW1lPSdfeG1sRWxlbWVudENvbnRlbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0nX3htbEVudGl0eScvPgorICAgICAgPHJlZiBuYW1lPSdfeG1sRW51bWVyYXRpb24nLz4KKyAgICAgIDxyZWYgbmFtZT0nX3htbEVycm9yJy8+CisgICAgICA8cmVmIG5hbWU9J194bWxHbG9iYWxTdGF0ZScvPgorICAgICAgPHJlZiBuYW1lPSdfeG1sSUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nX3htbExvY2F0aW9uU2V0Jy8+CisgICAgICA8cmVmIG5hbWU9J194bWxOb2RlJy8+CisgICAgICA8cmVmIG5hbWU9J194bWxOb2RlU2V0Jy8+CisgICAgICA8cmVmIG5hbWU9J194bWxOb3RhdGlvbicvPgorICAgICAgPHJlZiBuYW1lPSdfeG1sTnMnLz4KKyAgICAgIDxyZWYgbmFtZT0nX3htbE91dHB1dEJ1ZmZlcicvPgorICAgICAgPHJlZiBuYW1lPSdfeG1sUGFyc2VyQ3R4dCcvPgorICAgICAgPHJlZiBuYW1lPSdfeG1sUGFyc2VySW5wdXQnLz4KKyAgICAgIDxyZWYgbmFtZT0nX3htbFBhcnNlcklucHV0QnVmZmVyJy8+CisgICAgICA8cmVmIG5hbWU9J194bWxQYXJzZXJOb2RlSW5mbycvPgorICAgICAgPHJlZiBuYW1lPSdfeG1sUGFyc2VyTm9kZUluZm9TZXEnLz4KKyAgICAgIDxyZWYgbmFtZT0nX3htbFJlZicvPgorICAgICAgPHJlZiBuYW1lPSdfeG1sU0FYSGFuZGxlcicvPgorICAgICAgPHJlZiBuYW1lPSdfeG1sU0FYSGFuZGxlclYxJy8+CisgICAgICA8cmVmIG5hbWU9J194bWxTQVhMb2NhdG9yJy8+CisgICAgICA8cmVmIG5hbWU9J194bWxTY2hlbWEnLz4KKyAgICAgIDxyZWYgbmFtZT0nX3htbFNjaGVtYUFubm90Jy8+CisgICAgICA8cmVmIG5hbWU9J194bWxTY2hlbWFBdHRyaWJ1dGUnLz4KKyAgICAgIDxyZWYgbmFtZT0nX3htbFNjaGVtYUF0dHJpYnV0ZUdyb3VwJy8+CisgICAgICA8cmVmIG5hbWU9J194bWxTY2hlbWFBdHRyaWJ1dGVMaW5rJy8+CisgICAgICA8cmVmIG5hbWU9J194bWxTY2hlbWFFbGVtZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J194bWxTY2hlbWFGYWNldCcvPgorICAgICAgPHJlZiBuYW1lPSdfeG1sU2NoZW1hRmFjZXRMaW5rJy8+CisgICAgICA8cmVmIG5hbWU9J194bWxTY2hlbWFOb3RhdGlvbicvPgorICAgICAgPHJlZiBuYW1lPSdfeG1sU2NoZW1hVHlwZScvPgorICAgICAgPHJlZiBuYW1lPSdfeG1sU2NoZW1hVHlwZUxpbmsnLz4KKyAgICAgIDxyZWYgbmFtZT0nX3htbFNjaGVtYVdpbGRjYXJkJy8+CisgICAgICA8cmVmIG5hbWU9J194bWxTY2hlbWFXaWxkY2FyZE5zJy8+CisgICAgICA8cmVmIG5hbWU9J194bWxTaGVsbEN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0nX3htbFVSSScvPgorICAgICAgPHJlZiBuYW1lPSdfeG1sVmFsaWRDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J194bWxYUGF0aEF4aXMnLz4KKyAgICAgIDxyZWYgbmFtZT0nX3htbFhQYXRoQ29udGV4dCcvPgorICAgICAgPHJlZiBuYW1lPSdfeG1sWFBhdGhGdW5jdCcvPgorICAgICAgPHJlZiBuYW1lPSdfeG1sWFBhdGhPYmplY3QnLz4KKyAgICAgIDxyZWYgbmFtZT0nX3htbFhQYXRoUGFyc2VyQ29udGV4dCcvPgorICAgICAgPHJlZiBuYW1lPSdfeG1sWFBhdGhUeXBlJy8+CisgICAgICA8cmVmIG5hbWU9J194bWxYUGF0aFZhcmlhYmxlJy8+CisgICAgPC9sZXR0ZXI+CisgICAgPGxldHRlciBuYW1lPSdhJz4KKyAgICAgIDxyZWYgbmFtZT0nYXR0cmlidXRlJy8+CisgICAgICA8cmVmIG5hbWU9J2F0dHJpYnV0ZURlY2wnLz4KKyAgICAgIDxyZWYgbmFtZT0nYXR0cmlidXRlRGVjbFNBWEZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0nYXR0cmlidXRlU0FYRnVuYycvPgorICAgIDwvbGV0dGVyPgorICAgIDxsZXR0ZXIgbmFtZT0nYyc+CisgICAgICA8cmVmIG5hbWU9J2NkYXRhQmxvY2snLz4KKyAgICAgIDxyZWYgbmFtZT0nY2RhdGFCbG9ja1NBWEZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0nY2hhcmFjdGVycycvPgorICAgICAgPHJlZiBuYW1lPSdjaGFyYWN0ZXJzU0FYRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSdjaGVja05hbWVzcGFjZScvPgorICAgICAgPHJlZiBuYW1lPSdjb21tZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J2NvbW1lbnRTQVhGdW5jJy8+CisgICAgPC9sZXR0ZXI+CisgICAgPGxldHRlciBuYW1lPSdkJz4KKyAgICAgIDxyZWYgbmFtZT0nZG9jYkNyZWF0ZUZpbGVQYXJzZXJDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J2RvY2JDcmVhdGVQdXNoUGFyc2VyQ3R4dCcvPgorICAgICAgPHJlZiBuYW1lPSdkb2NiRGVmYXVsdFNBWEhhbmRsZXInLz4KKyAgICAgIDxyZWYgbmFtZT0nZG9jYkRlZmF1bHRTQVhIYW5kbGVySW5pdCcvPgorICAgICAgPHJlZiBuYW1lPSdkb2NiRG9jUHRyJy8+CisgICAgICA8cmVmIG5hbWU9J2RvY2JFbmNvZGVFbnRpdGllcycvPgorICAgICAgPHJlZiBuYW1lPSdkb2NiRnJlZVBhcnNlckN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0nZG9jYlBhcnNlQ2h1bmsnLz4KKyAgICAgIDxyZWYgbmFtZT0nZG9jYlBhcnNlRG9jJy8+CisgICAgICA8cmVmIG5hbWU9J2RvY2JQYXJzZURvY3VtZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J2RvY2JQYXJzZUZpbGUnLz4KKyAgICAgIDxyZWYgbmFtZT0nZG9jYlBhcnNlckN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0nZG9jYlBhcnNlckN0eHRQdHInLz4KKyAgICAgIDxyZWYgbmFtZT0nZG9jYlBhcnNlcklucHV0Jy8+CisgICAgICA8cmVmIG5hbWU9J2RvY2JQYXJzZXJJbnB1dFB0cicvPgorICAgICAgPHJlZiBuYW1lPSdkb2NiU0FYSGFuZGxlcicvPgorICAgICAgPHJlZiBuYW1lPSdkb2NiU0FYSGFuZGxlclB0cicvPgorICAgICAgPHJlZiBuYW1lPSdkb2NiU0FYUGFyc2VEb2MnLz4KKyAgICAgIDxyZWYgbmFtZT0nZG9jYlNBWFBhcnNlRmlsZScvPgorICAgIDwvbGV0dGVyPgorICAgIDxsZXR0ZXIgbmFtZT0nZSc+CisgICAgICA8cmVmIG5hbWU9J2VsZW1lbnREZWNsJy8+CisgICAgICA8cmVmIG5hbWU9J2VsZW1lbnREZWNsU0FYRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSdlbXB0eUV4cCcvPgorICAgICAgPHJlZiBuYW1lPSdlbmREb2N1bWVudCcvPgorICAgICAgPHJlZiBuYW1lPSdlbmREb2N1bWVudFNBWEZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0nZW5kRWxlbWVudCcvPgorICAgICAgPHJlZiBuYW1lPSdlbmRFbGVtZW50TnNTQVgyRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSdlbmRFbGVtZW50U0FYRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSdlbnRpdHlEZWNsJy8+CisgICAgICA8cmVmIG5hbWU9J2VudGl0eURlY2xTQVhGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J2Vycm9yU0FYRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSdleHRlcm5hbFN1YnNldCcvPgorICAgICAgPHJlZiBuYW1lPSdleHRlcm5hbFN1YnNldFNBWEZ1bmMnLz4KKyAgICA8L2xldHRlcj4KKyAgICA8bGV0dGVyIG5hbWU9J2YnPgorICAgICAgPHJlZiBuYW1lPSdmYXRhbEVycm9yU0FYRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSdmb3JiaWRkZW5FeHAnLz4KKyAgICAgIDxyZWYgbmFtZT0nZnRwRGF0YUNhbGxiYWNrJy8+CisgICAgICA8cmVmIG5hbWU9J2Z0cExpc3RDYWxsYmFjaycvPgorICAgIDwvbGV0dGVyPgorICAgIDxsZXR0ZXIgbmFtZT0nZyc+CisgICAgICA8cmVmIG5hbWU9J2dldENvbHVtbk51bWJlcicvPgorICAgICAgPHJlZiBuYW1lPSdnZXRFbnRpdHknLz4KKyAgICAgIDxyZWYgbmFtZT0nZ2V0RW50aXR5U0FYRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSdnZXRMaW5lTnVtYmVyJy8+CisgICAgICA8cmVmIG5hbWU9J2dldE5hbWVzcGFjZScvPgorICAgICAgPHJlZiBuYW1lPSdnZXRQYXJhbWV0ZXJFbnRpdHknLz4KKyAgICAgIDxyZWYgbmFtZT0nZ2V0UGFyYW1ldGVyRW50aXR5U0FYRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSdnZXRQdWJsaWNJZCcvPgorICAgICAgPHJlZiBuYW1lPSdnZXRTeXN0ZW1JZCcvPgorICAgICAgPHJlZiBuYW1lPSdnbG9iYWxOYW1lc3BhY2UnLz4KKyAgICA8L2xldHRlcj4KKyAgICA8bGV0dGVyIG5hbWU9J2gnPgorICAgICAgPHJlZiBuYW1lPSdoYXNFeHRlcm5hbFN1YnNldCcvPgorICAgICAgPHJlZiBuYW1lPSdoYXNFeHRlcm5hbFN1YnNldFNBWEZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0naGFzSW50ZXJuYWxTdWJzZXQnLz4KKyAgICAgIDxyZWYgbmFtZT0naGFzSW50ZXJuYWxTdWJzZXRTQVhGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxBdHRyQWxsb3dlZCcvPgorICAgICAgPHJlZiBuYW1lPSdodG1sQXV0b0Nsb3NlVGFnJy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxDcmVhdGVGaWxlUGFyc2VyQ3R4dCcvPgorICAgICAgPHJlZiBuYW1lPSdodG1sQ3JlYXRlTWVtb3J5UGFyc2VyQ3R4dCcvPgorICAgICAgPHJlZiBuYW1lPSdodG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbEN0eHRSZWFkRG9jJy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxDdHh0UmVhZEZkJy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxDdHh0UmVhZEZpbGUnLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbEN0eHRSZWFkSU8nLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbEN0eHRSZWFkTWVtb3J5Jy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxDdHh0UmVzZXQnLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbEN0eHRVc2VPcHRpb25zJy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxEZWZhdWx0U0FYSGFuZGxlcicvPgorICAgICAgPHJlZiBuYW1lPSdodG1sRGVmYXVsdFNBWEhhbmRsZXJJbml0Jy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxEZWZhdWx0U3ViZWxlbWVudCcvPgorICAgICAgPHJlZiBuYW1lPSdodG1sRG9jQ29udGVudER1bXBGb3JtYXRPdXRwdXQnLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbERvY0NvbnRlbnREdW1wT3V0cHV0Jy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxEb2NEdW1wJy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxEb2NEdW1wTWVtb3J5Jy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxEb2NEdW1wTWVtb3J5Rm9ybWF0Jy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxEb2NQdHInLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbEVsZW1EZXNjJy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxFbGVtRGVzY1B0cicvPgorICAgICAgPHJlZiBuYW1lPSdodG1sRWxlbWVudEFsbG93ZWRIZXJlJy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxFbGVtZW50QWxsb3dlZEhlcmVEZXNjJy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxFbGVtZW50U3RhdHVzSGVyZScvPgorICAgICAgPHJlZiBuYW1lPSdodG1sRW5jb2RlRW50aXRpZXMnLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbEVudGl0eURlc2MnLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbEVudGl0eURlc2NQdHInLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbEVudGl0eUxvb2t1cCcvPgorICAgICAgPHJlZiBuYW1lPSdodG1sRW50aXR5VmFsdWVMb29rdXAnLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbEZyZWVQYXJzZXJDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxHZXRNZXRhRW5jb2RpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbEhhbmRsZU9taXR0ZWRFbGVtJy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxJbml0QXV0b0Nsb3NlJy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxJc0F1dG9DbG9zZWQnLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbElzQm9vbGVhbkF0dHInLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbElzU2NyaXB0QXR0cmlidXRlJy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxOZXdEb2MnLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbE5ld0RvY05vRHREJy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxOZXdQYXJzZXJDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxOb2RlRHVtcCcvPgorICAgICAgPHJlZiBuYW1lPSdodG1sTm9kZUR1bXBGaWxlJy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxOb2RlRHVtcEZpbGVGb3JtYXQnLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbE5vZGVEdW1wRm9ybWF0T3V0cHV0Jy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxOb2RlRHVtcE91dHB1dCcvPgorICAgICAgPHJlZiBuYW1lPSdodG1sTm9kZVB0cicvPgorICAgICAgPHJlZiBuYW1lPSdodG1sTm9kZVN0YXR1cycvPgorICAgICAgPHJlZiBuYW1lPSdodG1sUGFyc2VDaGFyUmVmJy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxQYXJzZUNodW5rJy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxQYXJzZURvYycvPgorICAgICAgPHJlZiBuYW1lPSdodG1sUGFyc2VEb2N1bWVudCcvPgorICAgICAgPHJlZiBuYW1lPSdodG1sUGFyc2VFbGVtZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxQYXJzZUVudGl0eVJlZicvPgorICAgICAgPHJlZiBuYW1lPSdodG1sUGFyc2VGaWxlJy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxQYXJzZXJDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxQYXJzZXJDdHh0UHRyJy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxQYXJzZXJJbnB1dCcvPgorICAgICAgPHJlZiBuYW1lPSdodG1sUGFyc2VySW5wdXRQdHInLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbFBhcnNlck5vZGVJbmZvJy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxQYXJzZXJPcHRpb24nLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbFJlYWREb2MnLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbFJlYWRGZCcvPgorICAgICAgPHJlZiBuYW1lPSdodG1sUmVhZEZpbGUnLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbFJlYWRJTycvPgorICAgICAgPHJlZiBuYW1lPSdodG1sUmVhZE1lbW9yeScvPgorICAgICAgPHJlZiBuYW1lPSdodG1sUmVxdWlyZWRBdHRycycvPgorICAgICAgPHJlZiBuYW1lPSdodG1sU0FYSGFuZGxlcicvPgorICAgICAgPHJlZiBuYW1lPSdodG1sU0FYSGFuZGxlclB0cicvPgorICAgICAgPHJlZiBuYW1lPSdodG1sU0FYUGFyc2VEb2MnLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbFNBWFBhcnNlRmlsZScvPgorICAgICAgPHJlZiBuYW1lPSdodG1sU2F2ZUZpbGUnLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbFNhdmVGaWxlRW5jJy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxTYXZlRmlsZUZvcm1hdCcvPgorICAgICAgPHJlZiBuYW1lPSdodG1sU2V0TWV0YUVuY29kaW5nJy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxTdGF0dXMnLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbFRhZ0xvb2t1cCcvPgorICAgIDwvbGV0dGVyPgorICAgIDxsZXR0ZXIgbmFtZT0naSc+CisgICAgICA8cmVmIG5hbWU9J2lnbm9yYWJsZVdoaXRlc3BhY2UnLz4KKyAgICAgIDxyZWYgbmFtZT0naWdub3JhYmxlV2hpdGVzcGFjZVNBWEZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0naW5pdEdlbmVyaWNFcnJvckRlZmF1bHRGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J2luaXRkb2NiRGVmYXVsdFNBWEhhbmRsZXInLz4KKyAgICAgIDxyZWYgbmFtZT0naW5pdGh0bWxEZWZhdWx0U0FYSGFuZGxlcicvPgorICAgICAgPHJlZiBuYW1lPSdpbml0eG1sRGVmYXVsdFNBWEhhbmRsZXInLz4KKyAgICAgIDxyZWYgbmFtZT0naW5wdXRQb3AnLz4KKyAgICAgIDxyZWYgbmFtZT0naW5wdXRQdXNoJy8+CisgICAgICA8cmVmIG5hbWU9J2ludGVybmFsU3Vic2V0Jy8+CisgICAgICA8cmVmIG5hbWU9J2ludGVybmFsU3Vic2V0U0FYRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSdpc1N0YW5kYWxvbmUnLz4KKyAgICAgIDxyZWYgbmFtZT0naXNTdGFuZGFsb25lU0FYRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSdpc29sYXQxVG9VVEY4Jy8+CisgICAgPC9sZXR0ZXI+CisgICAgPGxldHRlciBuYW1lPSduJz4KKyAgICAgIDxyZWYgbmFtZT0nbmFtZVBvcCcvPgorICAgICAgPHJlZiBuYW1lPSduYW1lUHVzaCcvPgorICAgICAgPHJlZiBuYW1lPSduYW1lc3BhY2VEZWNsJy8+CisgICAgICA8cmVmIG5hbWU9J25vZGVQb3AnLz4KKyAgICAgIDxyZWYgbmFtZT0nbm9kZVB1c2gnLz4KKyAgICAgIDxyZWYgbmFtZT0nbm90YXRpb25EZWNsJy8+CisgICAgICA8cmVmIG5hbWU9J25vdGF0aW9uRGVjbFNBWEZ1bmMnLz4KKyAgICA8L2xldHRlcj4KKyAgICA8bGV0dGVyIG5hbWU9J28nPgorICAgICAgPHJlZiBuYW1lPSdvbGRYTUxXRGNvbXBhdGliaWxpdHknLz4KKyAgICA8L2xldHRlcj4KKyAgICA8bGV0dGVyIG5hbWU9J3AnPgorICAgICAgPHJlZiBuYW1lPSdwcm9jZXNzaW5nSW5zdHJ1Y3Rpb24nLz4KKyAgICAgIDxyZWYgbmFtZT0ncHJvY2Vzc2luZ0luc3RydWN0aW9uU0FYRnVuYycvPgorICAgIDwvbGV0dGVyPgorICAgIDxsZXR0ZXIgbmFtZT0ncic+CisgICAgICA8cmVmIG5hbWU9J3JlZmVyZW5jZScvPgorICAgICAgPHJlZiBuYW1lPSdyZWZlcmVuY2VTQVhGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3Jlc29sdmVFbnRpdHknLz4KKyAgICAgIDxyZWYgbmFtZT0ncmVzb2x2ZUVudGl0eVNBWEZ1bmMnLz4KKyAgICA8L2xldHRlcj4KKyAgICA8bGV0dGVyIG5hbWU9J3MnPgorICAgICAgPHJlZiBuYW1lPSdzZXREb2N1bWVudExvY2F0b3InLz4KKyAgICAgIDxyZWYgbmFtZT0nc2V0RG9jdW1lbnRMb2NhdG9yU0FYRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSdzZXROYW1lc3BhY2UnLz4KKyAgICAgIDxyZWYgbmFtZT0nc3RhcnREb2N1bWVudCcvPgorICAgICAgPHJlZiBuYW1lPSdzdGFydERvY3VtZW50U0FYRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSdzdGFydEVsZW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0nc3RhcnRFbGVtZW50TnNTQVgyRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSdzdGFydEVsZW1lbnRTQVhGdW5jJy8+CisgICAgPC9sZXR0ZXI+CisgICAgPGxldHRlciBuYW1lPSd1Jz4KKyAgICAgIDxyZWYgbmFtZT0ndWNvbnZfdCcvPgorICAgICAgPHJlZiBuYW1lPSd1bnBhcnNlZEVudGl0eURlY2wnLz4KKyAgICAgIDxyZWYgbmFtZT0ndW5wYXJzZWRFbnRpdHlEZWNsU0FYRnVuYycvPgorICAgIDwvbGV0dGVyPgorICAgIDxsZXR0ZXIgbmFtZT0ndic+CisgICAgICA8cmVmIG5hbWU9J3ZhbHVlUG9wJy8+CisgICAgICA8cmVmIG5hbWU9J3ZhbHVlUHVzaCcvPgorICAgIDwvbGV0dGVyPgorICAgIDxsZXR0ZXIgbmFtZT0ndyc+CisgICAgICA8cmVmIG5hbWU9J3dhcm5pbmdTQVhGdW5jJy8+CisgICAgPC9sZXR0ZXI+CisgICAgPGxldHRlciBuYW1lPSd4Jz4KKyAgICAgIDxyZWYgbmFtZT0neGxpbmtBY3R1YXRlJy8+CisgICAgICA8cmVmIG5hbWU9J3hsaW5rRXh0ZW5kZWRMaW5rRnVuaycvPgorICAgICAgPHJlZiBuYW1lPSd4bGlua0V4dGVuZGVkTGlua1NldEZ1bmsnLz4KKyAgICAgIDxyZWYgbmFtZT0neGxpbmtHZXREZWZhdWx0RGV0ZWN0Jy8+CisgICAgICA8cmVmIG5hbWU9J3hsaW5rR2V0RGVmYXVsdEhhbmRsZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neGxpbmtIUmVmJy8+CisgICAgICA8cmVmIG5hbWU9J3hsaW5rSGFuZGxlcicvPgorICAgICAgPHJlZiBuYW1lPSd4bGlua0hhbmRsZXJQdHInLz4KKyAgICAgIDxyZWYgbmFtZT0neGxpbmtJc0xpbmsnLz4KKyAgICAgIDxyZWYgbmFtZT0neGxpbmtOb2RlRGV0ZWN0RnVuYycvPgorICAgICAgPHJlZiBuYW1lPSd4bGlua1JvbGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neGxpbmtTZXREZWZhdWx0RGV0ZWN0Jy8+CisgICAgICA8cmVmIG5hbWU9J3hsaW5rU2V0RGVmYXVsdEhhbmRsZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neGxpbmtTaG93Jy8+CisgICAgICA8cmVmIG5hbWU9J3hsaW5rU2ltcGxlTGlua0Z1bmsnLz4KKyAgICAgIDxyZWYgbmFtZT0neGxpbmtUaXRsZScvPgorICAgICAgPHJlZiBuYW1lPSd4bGlua1R5cGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQUNhdGFsb2dBZGQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQUNhdGFsb2dEdW1wJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEFDYXRhbG9nUmVtb3ZlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEFDYXRhbG9nUmVzb2x2ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxBQ2F0YWxvZ1Jlc29sdmVQdWJsaWMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQUNhdGFsb2dSZXNvbHZlU3lzdGVtJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEFDYXRhbG9nUmVzb2x2ZVVSSScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxBZGRBdHRyaWJ1dGVEZWNsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEFkZENoaWxkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEFkZENoaWxkTGlzdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxBZGREb2NFbnRpdHknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQWRkRHRkRW50aXR5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEFkZEVsZW1lbnREZWNsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEFkZEVuY29kaW5nQWxpYXMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQWRkSUQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQWRkTmV4dFNpYmxpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQWRkTm90YXRpb25EZWNsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEFkZFByZXZTaWJsaW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEFkZFJlZicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxBZGRTaWJsaW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEFsbG9jT3V0cHV0QnVmZmVyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEFsbG9jUGFyc2VySW5wdXRCdWZmZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQXR0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxBdHRyUHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEF0dHJTZXJpYWxpemVUeHRDb250ZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEF0dHJpYnV0ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxBdHRyaWJ1dGVEZWZhdWx0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEF0dHJpYnV0ZVB0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxBdHRyaWJ1dGVUYWJsZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxBdHRyaWJ1dGVUYWJsZVB0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxBdHRyaWJ1dGVUeXBlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhQ29tcGlsZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YUdldEluaXRTdGF0ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YUlzRGV0ZXJtaW5pc3QnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFOZXdBbGxUcmFucycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YU5ld0NvdW50VHJhbnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFOZXdDb3VudFRyYW5zMicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YU5ld0NvdW50ZWRUcmFucycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YU5ld0NvdW50ZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFOZXdDb3VudGVyVHJhbnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFOZXdFcHNpbG9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhTmV3TmVnVHJhbnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFOZXdPbmNlVHJhbnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFOZXdPbmNlVHJhbnMyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhTmV3U3RhdGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFOZXdUcmFuc2l0aW9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhTmV3VHJhbnNpdGlvbjInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFQdHInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFTZXRGaW5hbFN0YXRlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhU3RhdGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFTdGF0ZVB0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxCb29sVG9UZXh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEJ1ZicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxCdWZDb250ZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEJ1ZkVuZCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxCdWZHZXROb2RlQ29udGVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxCdWZOb2RlRHVtcCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxCdWZQdHInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQnVmU2hyaW5rJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEJ1ZlVzZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxCdWZmZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQnVmZmVyQWRkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEJ1ZmZlckFkZEhlYWQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQnVmZmVyQWxsb2NTY2hlbWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQnVmZmVyQWxsb2NhdGlvblNjaGVtZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxCdWZmZXJDQ2F0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEJ1ZmZlckNhdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxCdWZmZXJDb250ZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEJ1ZmZlckNyZWF0ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxCdWZmZXJDcmVhdGVTaXplJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEJ1ZmZlckNyZWF0ZVN0YXRpYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxCdWZmZXJEZXRhY2gnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQnVmZmVyRHVtcCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxCdWZmZXJFbXB0eScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxCdWZmZXJGcmVlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEJ1ZmZlckdyb3cnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQnVmZmVyTGVuZ3RoJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEJ1ZmZlclB0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxCdWZmZXJSZXNpemUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQnVmZmVyU2V0QWxsb2NhdGlvblNjaGVtZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxCdWZmZXJTaHJpbmsnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQnVmZmVyV3JpdGVDSEFSJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEJ1ZmZlcldyaXRlQ2hhcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxCdWZmZXJXcml0ZVF1b3RlZFN0cmluZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxCdWlsZFFOYW1lJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEJ1aWxkUmVsYXRpdmVVUkknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQnVpbGRVUkknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQnl0ZUNvbnN1bWVkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEMxNE5Eb2NEdW1wTWVtb3J5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEMxNE5Eb2NTYXZlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEMxNE5Eb2NTYXZlVG8nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQzE0TkV4ZWN1dGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQzE0TklzVmlzaWJsZUNhbGxiYWNrJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEMxNE5Nb2RlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENhbm9uaWNQYXRoJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENhdGFsb2cnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ2F0YWxvZ0FkZCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDYXRhbG9nQWRkTG9jYWwnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ2F0YWxvZ0FsbG93Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbENhdGFsb2dDbGVhbnVwJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENhdGFsb2dDb252ZXJ0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbENhdGFsb2dEdW1wJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENhdGFsb2dGcmVlTG9jYWwnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ2F0YWxvZ0dldERlZmF1bHRzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENhdGFsb2dHZXRQdWJsaWMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ2F0YWxvZ0dldFN5c3RlbScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDYXRhbG9nSXNFbXB0eScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDYXRhbG9nTG9jYWxSZXNvbHZlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENhdGFsb2dMb2NhbFJlc29sdmVVUkknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ2F0YWxvZ1ByZWZlcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDYXRhbG9nUHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENhdGFsb2dSZW1vdmUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ2F0YWxvZ1Jlc29sdmUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ2F0YWxvZ1Jlc29sdmVQdWJsaWMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ2F0YWxvZ1Jlc29sdmVTeXN0ZW0nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ2F0YWxvZ1Jlc29sdmVVUkknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ2F0YWxvZ1NldERlYnVnJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENhdGFsb2dTZXREZWZhdWx0UHJlZmVyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENhdGFsb2dTZXREZWZhdWx0cycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDaExSYW5nZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDaExSYW5nZVB0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDaFJhbmdlR3JvdXAnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ2hSYW5nZUdyb3VwUHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENoU1JhbmdlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENoU1JhbmdlUHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENoYXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ2hhckVuY0Nsb3NlRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDaGFyRW5jRmlyc3RMaW5lJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENoYXJFbmNJbkZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ2hhckVuY091dEZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ2hhckVuY29kaW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENoYXJFbmNvZGluZ0hhbmRsZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ2hhckVuY29kaW5nSGFuZGxlclB0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDaGFyRW5jb2RpbmdJbnB1dEZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDaGFySW5SYW5nZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDaGFyU3RyZHVwJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENoYXJTdHJuZHVwJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENoZWNrRmlsZW5hbWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ2hlY2tIVFRQSW5wdXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ2hlY2tMYW5ndWFnZUlEJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENoZWNrVVRGOCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDaGVja1ZlcnNpb24nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ2hpbGRFbGVtZW50Q291bnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ2hpbGRyZW5Ob2RlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENsZWFudXBDaGFyRW5jb2RpbmdIYW5kbGVycycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDbGVhbnVwRW5jb2RpbmdBbGlhc2VzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENsZWFudXBHbG9iYWxzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENsZWFudXBJbnB1dENhbGxiYWNrcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDbGVhbnVwTWVtb3J5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbENsZWFudXBPdXRwdXRDYWxsYmFja3MnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ2xlYW51cFBhcnNlcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDbGVhbnVwUHJlZGVmaW5lZEVudGl0aWVzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENsZWFudXBUaHJlYWRzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENsZWFyTm9kZUluZm9TZXEnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ2xlYXJQYXJzZXJDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbENvbnZlcnRTR01MQ2F0YWxvZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDb3B5QXR0cmlidXRlVGFibGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ29weUNoYXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ29weUNoYXJNdWx0aUJ5dGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ29weURvYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDb3B5RG9jRWxlbWVudENvbnRlbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ29weUR0ZCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDb3B5RWxlbWVudENvbnRlbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ29weUVsZW1lbnRUYWJsZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDb3B5RW50aXRpZXNUYWJsZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDb3B5RW51bWVyYXRpb24nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ29weUVycm9yJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENvcHlOYW1lc3BhY2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ29weU5hbWVzcGFjZUxpc3QnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ29weU5vZGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ29weU5vZGVMaXN0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbENvcHlOb3RhdGlvblRhYmxlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENvcHlQcm9wJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENvcHlQcm9wTGlzdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDcmVhdGVEb2NQYXJzZXJDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbENyZWF0ZUVudGl0aWVzVGFibGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ3JlYXRlRW50aXR5UGFyc2VyQ3R4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDcmVhdGVFbnVtZXJhdGlvbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDcmVhdGVGaWxlUGFyc2VyQ3R4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDcmVhdGVJT1BhcnNlckN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ3JlYXRlSW50U3Vic2V0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbENyZWF0ZU1lbW9yeVBhcnNlckN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ3JlYXRlVVJJJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENyZWF0ZVVSTFBhcnNlckN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ3R4dEdldExhc3RFcnJvcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDdHh0UmVhZERvYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDdHh0UmVhZEZkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEN0eHRSZWFkRmlsZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDdHh0UmVhZElPJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEN0eHRSZWFkTWVtb3J5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEN0eHRSZXNldCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDdHh0UmVzZXRMYXN0RXJyb3InLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ3R4dFJlc2V0UHVzaCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDdHh0VXNlT3B0aW9ucycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDdXJyZW50Q2hhcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwQWNxdWlyZU5zRnVuY3Rpb24nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRE9NV3JhcEFkb3B0Tm9kZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwQ2xvbmVOb2RlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbERPTVdyYXBDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbERPTVdyYXBDdHh0UHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbERPTVdyYXBGcmVlQ3R4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwTmV3Q3R4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwUmVjb25jaWxlTmFtZXNwYWNlcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwUmVtb3ZlTm9kZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxEZWJ1Z0NoZWNrRG9jdW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRGVidWdEdW1wQXR0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxEZWJ1Z0R1bXBBdHRyTGlzdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxEZWJ1Z0R1bXBEVEQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRGVidWdEdW1wRG9jdW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRGVidWdEdW1wRG9jdW1lbnRIZWFkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbERlYnVnRHVtcEVudGl0aWVzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbERlYnVnRHVtcE5vZGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRGVidWdEdW1wTm9kZUxpc3QnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRGVidWdEdW1wT25lTm9kZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxEZWJ1Z0R1bXBTdHJpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRGVjb2RlRW50aXRpZXMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRGVmYXVsdEJ1ZmZlclNpemUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRGVmYXVsdFNBWEhhbmRsZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRGVmYXVsdFNBWEhhbmRsZXJJbml0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbERlZmF1bHRTQVhMb2NhdG9yJy8+CisgICAgICA8cmVmIG5hbWU9J3htbERlbEVuY29kaW5nQWxpYXMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRGVyZWdpc3Rlck5vZGVEZWZhdWx0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbERlcmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbERlcmVnaXN0ZXJOb2RlRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxEZXRlY3RDaGFyRW5jb2RpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRGljdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxEaWN0Q2xlYW51cCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxEaWN0Q3JlYXRlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbERpY3RDcmVhdGVTdWInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRGljdEV4aXN0cycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxEaWN0RnJlZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxEaWN0R2V0VXNhZ2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRGljdExvb2t1cCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxEaWN0T3ducycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxEaWN0UHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbERpY3RRTG9va3VwJy8+CisgICAgICA8cmVmIG5hbWU9J3htbERpY3RSZWZlcmVuY2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRGljdFNldExpbWl0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbERpY3RTaXplJy8+CisgICAgICA8cmVmIG5hbWU9J3htbERsbE1haW4nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRG9WYWxpZGl0eUNoZWNraW5nRGVmYXVsdFZhbHVlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbERvYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxEb2NDb3B5Tm9kZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxEb2NDb3B5Tm9kZUxpc3QnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRG9jRHVtcCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxEb2NEdW1wRm9ybWF0TWVtb3J5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbERvY0R1bXBGb3JtYXRNZW1vcnlFbmMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRG9jRHVtcE1lbW9yeScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxEb2NEdW1wTWVtb3J5RW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbERvY0Zvcm1hdER1bXAnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRG9jR2V0Um9vdEVsZW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRG9jUHJvcGVydGllcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxEb2NQdHInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRG9jU2V0Um9vdEVsZW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRHRkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbER0ZFB0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxEdW1wQXR0cmlidXRlRGVjbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxEdW1wQXR0cmlidXRlVGFibGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRHVtcEVsZW1lbnREZWNsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbER1bXBFbGVtZW50VGFibGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRHVtcEVudGl0aWVzVGFibGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRHVtcEVudGl0eURlY2wnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRHVtcE5vdGF0aW9uRGVjbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxEdW1wTm90YXRpb25UYWJsZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxFbGVtRHVtcCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxFbGVtZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEVsZW1lbnRDb250ZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEVsZW1lbnRDb250ZW50T2NjdXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRWxlbWVudENvbnRlbnRQdHInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRWxlbWVudENvbnRlbnRUeXBlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEVsZW1lbnRQdHInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRWxlbWVudFRhYmxlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEVsZW1lbnRUYWJsZVB0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxFbGVtZW50VHlwZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxFbGVtZW50VHlwZVZhbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxFbmNvZGVFbnRpdGllcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxFbmNvZGVFbnRpdGllc1JlZW50cmFudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxFbmNvZGVTcGVjaWFsQ2hhcnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRW50aXRpZXNUYWJsZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxFbnRpdGllc1RhYmxlUHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEVudGl0eScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxFbnRpdHlQdHInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRW50aXR5UmVmZXJlbmNlRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxFbnRpdHlUeXBlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEVudW1lcmF0aW9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEVudW1lcmF0aW9uUHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEVyck1lbW9yeScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxFcnJvcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxFcnJvckRvbWFpbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxFcnJvckxldmVsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEVycm9yUHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEV4cEN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRXhwQ3R4dE5iQ29ucycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxFeHBDdHh0TmJOb2RlcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxFeHBDdHh0UHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEV4cER1bXAnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRXhwRXhwRGVyaXZlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEV4cEZyZWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRXhwRnJlZUN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRXhwR2V0TGFuZ3VhZ2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRXhwR2V0U3RhcnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRXhwSXNOaWxsYWJsZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxFeHBNYXhUb2tlbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxFeHBOZXdBdG9tJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEV4cE5ld0N0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRXhwTmV3T3InLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRXhwTmV3UmFuZ2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRXhwTmV3U2VxJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEV4cE5vZGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRXhwTm9kZVB0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxFeHBOb2RlVHlwZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxFeHBQYXJzZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxFeHBSZWYnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRXhwU3RyaW5nRGVyaXZlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEV4cFN1YnN1bWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRXh0ZXJuYWxFbnRpdHlMb2FkZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRmVhdHVyZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxGaWxlQ2xvc2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRmlsZU1hdGNoJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEZpbGVPcGVuJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEZpbGVSZWFkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEZpbmRDaGFyRW5jb2RpbmdIYW5kbGVyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEZpcnN0RWxlbWVudENoaWxkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEZyZWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRnJlZUF0dHJpYnV0ZVRhYmxlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEZyZWVBdXRvbWF0YScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxGcmVlQ2F0YWxvZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxGcmVlRG9jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEZyZWVEb2NFbGVtZW50Q29udGVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxGcmVlRHRkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEZyZWVFbGVtZW50Q29udGVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxGcmVlRWxlbWVudFRhYmxlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEZyZWVFbnRpdGllc1RhYmxlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEZyZWVFbnVtZXJhdGlvbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxGcmVlRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxGcmVlSURUYWJsZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxGcmVlSW5wdXRTdHJlYW0nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRnJlZU11dGV4Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEZyZWVOb2RlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEZyZWVOb2RlTGlzdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxGcmVlTm90YXRpb25UYWJsZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxGcmVlTnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRnJlZU5zTGlzdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxGcmVlUGFyc2VyQ3R4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxGcmVlUGFyc2VySW5wdXRCdWZmZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRnJlZVBhdHRlcm4nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRnJlZVBhdHRlcm5MaXN0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEZyZWVQcm9wJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEZyZWVQcm9wTGlzdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxGcmVlUk11dGV4Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEZyZWVSZWZUYWJsZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxGcmVlU3RyZWFtQ3R4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxGcmVlVGV4dFJlYWRlcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxGcmVlVGV4dFdyaXRlcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxGcmVlVVJJJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEZyZWVWYWxpZEN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sR2NNZW1HZXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sR2NNZW1TZXR1cCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxHZW5lcmljRXJyb3InLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sR2VuZXJpY0Vycm9yQ29udGV4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxHZW5lcmljRXJyb3JGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEdldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sR2V0Q2hhckVuY29kaW5nSGFuZGxlcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxHZXRDaGFyRW5jb2RpbmdOYW1lJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEdldENvbXByZXNzTW9kZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxHZXREb2NDb21wcmVzc01vZGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sR2V0RG9jRW50aXR5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEdldER0ZEF0dHJEZXNjJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEdldER0ZEVsZW1lbnREZXNjJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEdldER0ZEVudGl0eScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxHZXREdGROb3RhdGlvbkRlc2MnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sR2V0RHRkUUF0dHJEZXNjJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEdldER0ZFFFbGVtZW50RGVzYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxHZXRFbmNvZGluZ0FsaWFzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEdldEV4dGVybmFsRW50aXR5TG9hZGVyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEdldEZlYXR1cmUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sR2V0RmVhdHVyZXNMaXN0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEdldEdsb2JhbFN0YXRlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEdldElEJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEdldEludFN1YnNldCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxHZXRMYXN0Q2hpbGQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sR2V0TGFzdEVycm9yJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEdldExpbmVObycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxHZXROb05zUHJvcCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxHZXROb2RlUGF0aCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxHZXROc0xpc3QnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sR2V0TnNQcm9wJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEdldFBhcmFtZXRlckVudGl0eScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxHZXRQcmVkZWZpbmVkRW50aXR5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEdldFByb3AnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sR2V0UmVmcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxHZXRUaHJlYWRJZCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxHZXRVVEY4Q2hhcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxHZXRXYXJuaW5nc0RlZmF1bHRWYWx1ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxHbG9iYWxTdGF0ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxHbG9iYWxTdGF0ZVB0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxIYW5kbGVFbnRpdHknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSGFzRmVhdHVyZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxIYXNOc1Byb3AnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSGFzUHJvcCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoQWRkRW50cnknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSGFzaEFkZEVudHJ5MicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoQWRkRW50cnkzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEhhc2hDb3BpZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSGFzaENvcHknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSGFzaENyZWF0ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoQ3JlYXRlRGljdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoRGVhbGxvY2F0b3InLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSGFzaEZyZWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSGFzaExvb2t1cCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoTG9va3VwMicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoTG9va3VwMycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoUUxvb2t1cCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoUUxvb2t1cDInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFFMb29rdXAzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEhhc2hSZW1vdmVFbnRyeScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoUmVtb3ZlRW50cnkyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEhhc2hSZW1vdmVFbnRyeTMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFNjYW4nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFNjYW4zJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEhhc2hTY2FuRnVsbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoU2NhbkZ1bGwzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEhhc2hTY2FubmVyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEhhc2hTY2FubmVyRnVsbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoU2l6ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoVGFibGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFRhYmxlUHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEhhc2hVcGRhdGVFbnRyeScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoVXBkYXRlRW50cnkyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEhhc2hVcGRhdGVFbnRyeTMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSUQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSURQdHInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSURUYWJsZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxJRFRhYmxlUHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbElPRlRQQ2xvc2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSU9GVFBNYXRjaCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxJT0ZUUE9wZW4nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSU9GVFBSZWFkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbElPSFRUUENsb3NlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbElPSFRUUE1hdGNoJy8+CisgICAgICA8cmVmIG5hbWU9J3htbElPSFRUUE9wZW4nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSU9IVFRQT3BlblcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSU9IVFRQUmVhZCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxJT1BhcnNlRFREJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEluZGVudFRyZWVPdXRwdXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSW5pdENoYXJFbmNvZGluZ0hhbmRsZXJzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEluaXRHbG9iYWxzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEluaXRNZW1vcnknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSW5pdE5vZGVJbmZvU2VxJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEluaXRQYXJzZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSW5pdFBhcnNlckN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSW5pdFRocmVhZHMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSW5pdGlhbGl6ZUNhdGFsb2cnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSW5pdGlhbGl6ZURpY3QnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSW5pdGlhbGl6ZUdsb2JhbFN0YXRlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEluaXRpYWxpemVQcmVkZWZpbmVkRW50aXRpZXMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSW5wdXRDbG9zZUNhbGxiYWNrJy8+CisgICAgICA8cmVmIG5hbWU9J3htbElucHV0TWF0Y2hDYWxsYmFjaycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxJbnB1dE9wZW5DYWxsYmFjaycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxJbnB1dFJlYWRDYWxsYmFjaycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxJc0Jhc2VDaGFyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbElzQmFzZUNoYXJHcm91cCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxJc0Jhc2VDaGFyUScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxJc0Jhc2VDaGFyX2NoJy8+CisgICAgICA8cmVmIG5hbWU9J3htbElzQmxhbmsnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSXNCbGFua05vZGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSXNCbGFua1EnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSXNCbGFua19jaCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxJc0NoYXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSXNDaGFyR3JvdXAnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSXNDaGFyUScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxJc0NoYXJfY2gnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSXNDb21iaW5pbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSXNDb21iaW5pbmdHcm91cCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxJc0NvbWJpbmluZ1EnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSXNEaWdpdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxJc0RpZ2l0R3JvdXAnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSXNEaWdpdFEnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSXNEaWdpdF9jaCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxJc0V4dGVuZGVyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbElzRXh0ZW5kZXJHcm91cCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxJc0V4dGVuZGVyUScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxJc0V4dGVuZGVyX2NoJy8+CisgICAgICA8cmVmIG5hbWU9J3htbElzSUQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSXNJZGVvZ3JhcGhpYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxJc0lkZW9ncmFwaGljR3JvdXAnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSXNJZGVvZ3JhcGhpY1EnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSXNMZXR0ZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSXNNYWluVGhyZWFkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbElzTWl4ZWRFbGVtZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbElzUHViaWRDaGFyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbElzUHViaWRDaGFyUScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxJc1B1YmlkQ2hhcl9jaCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxJc1B1YmlkQ2hhcl90YWInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSXNSZWYnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSXNYSFRNTCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxLZWVwQmxhbmtzRGVmYXVsdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxLZWVwQmxhbmtzRGVmYXVsdFZhbHVlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbExhc3RFbGVtZW50Q2hpbGQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTGFzdEVycm9yJy8+CisgICAgICA8cmVmIG5hbWU9J3htbExpbmVOdW1iZXJzRGVmYXVsdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxMaW5lTnVtYmVyc0RlZmF1bHRWYWx1ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxMaW5rJy8+CisgICAgICA8cmVmIG5hbWU9J3htbExpbmtHZXREYXRhJy8+CisgICAgICA8cmVmIG5hbWU9J3htbExpbmtQdHInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTGlzdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0QXBwZW5kJy8+CisgICAgICA8cmVmIG5hbWU9J3htbExpc3RDbGVhcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0Q29weScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0Q3JlYXRlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbExpc3REYXRhQ29tcGFyZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0RGVhbGxvY2F0b3InLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTGlzdERlbGV0ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0RHVwJy8+CisgICAgICA8cmVmIG5hbWU9J3htbExpc3RFbXB0eScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0RW5kJy8+CisgICAgICA8cmVmIG5hbWU9J3htbExpc3RGcm9udCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0SW5zZXJ0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbExpc3RNZXJnZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0UG9wQmFjaycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0UG9wRnJvbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTGlzdFB0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0UHVzaEJhY2snLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTGlzdFB1c2hGcm9udCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0UmVtb3ZlQWxsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbExpc3RSZW1vdmVGaXJzdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0UmVtb3ZlTGFzdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0UmV2ZXJzZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0UmV2ZXJzZVNlYXJjaCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0UmV2ZXJzZVdhbGsnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTGlzdFNlYXJjaCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0U2l6ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0U29ydCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0V2FsaycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0V2Fsa2VyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbExvYWRBQ2F0YWxvZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxMb2FkQ2F0YWxvZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxMb2FkQ2F0YWxvZ3MnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTG9hZEV4dER0ZERlZmF1bHRWYWx1ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxMb2FkRXh0ZXJuYWxFbnRpdHknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTG9hZFNHTUxTdXBlckNhdGFsb2cnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTG9jYXRpb25TZXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTG9jYXRpb25TZXRQdHInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTG9ja0xpYnJhcnknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTHNDb3VudE5vZGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTHNPbmVOb2RlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE1hbGxvYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxNYWxsb2NBdG9taWMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTWFsbG9jQXRvbWljTG9jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE1hbGxvY0Z1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTWFsbG9jTG9jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE1lbUJsb2NrcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxNZW1EaXNwbGF5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbE1lbURpc3BsYXlMYXN0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbE1lbUZyZWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTWVtR2V0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbE1lbU1hbGxvYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxNZW1SZWFsbG9jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE1lbVNldHVwJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE1lbVNob3cnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTWVtU3RyZHVwJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE1lbVN0cmR1cExvYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxNZW1Vc2VkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE1lbW9yeUR1bXAnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTWVtb3J5U3RyZHVwJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE1vZHVsZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxNb2R1bGVDbG9zZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxNb2R1bGVGcmVlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE1vZHVsZU9wZW4nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTW9kdWxlT3B0aW9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE1vZHVsZVB0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxNb2R1bGVTeW1ib2wnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTXV0ZXgnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTXV0ZXhMb2NrJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE11dGV4UHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE11dGV4VW5sb2NrJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5hbWVzcGFjZVBhcnNlTkNOYW1lJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5hbWVzcGFjZVBhcnNlTlNEZWYnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmFtZXNwYWNlUGFyc2VRTmFtZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vRlRQQ2hlY2tSZXNwb25zZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vRlRQQ2xlYW51cCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vRlRQQ2xvc2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUENsb3NlQ29ubmVjdGlvbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vRlRQQ29ubmVjdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vRlRQQ29ubmVjdFRvJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBDd2QnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUERlbGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUEZyZWVDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBHZXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUEdldENvbm5lY3Rpb24nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUEdldFJlc3BvbnNlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBHZXRTb2NrZXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUEluaXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUExpc3QnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUE5ld0N0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUE9wZW4nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUFByb3h5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBRdWl0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBSZWFkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBTY2FuUHJveHknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUFVwZGF0ZVVSTCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUEF1dGhIZWFkZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmFub0hUVFBDbGVhbnVwJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5hbm9IVFRQQ2xvc2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmFub0hUVFBDb250ZW50TGVuZ3RoJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5hbm9IVFRQRW5jb2RpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmFub0hUVFBGZXRjaCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUEluaXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmFub0hUVFBNZXRob2QnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmFub0hUVFBNZXRob2RSZWRpcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUE1pbWVUeXBlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5hbm9IVFRQT3BlbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUE9wZW5SZWRpcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUFJlYWQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmFub0hUVFBSZWRpcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUFJldHVybkNvZGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmFub0hUVFBTYXZlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5hbm9IVFRQU2NhblByb3h5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld0F1dG9tYXRhJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld0NEYXRhQmxvY2snLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3Q2F0YWxvZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdDaGFyRW5jb2RpbmdIYW5kbGVyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld0NoYXJSZWYnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3Q2hpbGQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3Q29tbWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdEb2MnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3RG9jQ29tbWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdEb2NFbGVtZW50Q29udGVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdEb2NGcmFnbWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdEb2NOb2RlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld0RvY05vZGVFYXROYW1lJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld0RvY1BJJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld0RvY1Byb3AnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3RG9jUmF3Tm9kZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdEb2NUZXh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld0RvY1RleHRMZW4nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3RHRkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld0VsZW1lbnRDb250ZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld0VudGl0eScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdFbnRpdHlJbnB1dFN0cmVhbScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdHbG9iYWxOcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdJT0lucHV0U3RyZWFtJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld0lucHV0RnJvbUZpbGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3SW5wdXRTdHJlYW0nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3TXV0ZXgnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3Tm9kZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdOb2RlRWF0TmFtZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdOcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdOc1Byb3AnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3TnNQcm9wRWF0TmFtZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdQSScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdQYXJzZXJDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld1Byb3AnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3Uk11dGV4Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld1JlZmVyZW5jZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdTdHJpbmdJbnB1dFN0cmVhbScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdUZXh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld1RleHRDaGlsZCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdUZXh0TGVuJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld1RleHRSZWFkZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3VGV4dFJlYWRlckZpbGVuYW1lJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld1RleHRXcml0ZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3VGV4dFdyaXRlckRvYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdUZXh0V3JpdGVyRmlsZW5hbWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3VGV4dFdyaXRlck1lbW9yeScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdUZXh0V3JpdGVyUHVzaFBhcnNlcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdUZXh0V3JpdGVyVHJlZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdWYWxpZEN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV4dENoYXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV4dEVsZW1lbnRTaWJsaW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5vTmV0RXh0ZXJuYWxFbnRpdHlMb2FkZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTm9kZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlQWRkQ29udGVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlQWRkQ29udGVudExlbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlQnVmR2V0Q29udGVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlRHVtcCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlRHVtcE91dHB1dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlR2V0QmFzZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlR2V0Q29udGVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlR2V0TGFuZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlR2V0U3BhY2VQcmVzZXJ2ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlSXNUZXh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5vZGVMaXN0R2V0UmF3U3RyaW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5vZGVMaXN0R2V0U3RyaW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5vZGVQdHInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTm9kZVNldCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlU2V0QmFzZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlU2V0Q29udGVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlU2V0Q29udGVudExlbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlU2V0TGFuZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlU2V0TmFtZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlU2V0UHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5vZGVTZXRTcGFjZVByZXNlcnZlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5vcm1hbGl6ZVVSSVBhdGgnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTm9ybWFsaXplV2luZG93c1BhdGgnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTm90YXRpb24nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTm90YXRpb25QdHInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTm90YXRpb25UYWJsZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOb3RhdGlvblRhYmxlUHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5zJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5zUHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5zVHlwZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxPdXRwdXRCdWZmZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sT3V0cHV0QnVmZmVyQ2xvc2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sT3V0cHV0QnVmZmVyQ3JlYXRlQnVmZmVyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZVZhbHVlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dEJ1ZmZlckNyZWF0ZUlPJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dEJ1ZmZlckZsdXNoJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dEJ1ZmZlckdldENvbnRlbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sT3V0cHV0QnVmZmVyR2V0U2l6ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxPdXRwdXRCdWZmZXJQdHInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sT3V0cHV0QnVmZmVyV3JpdGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sT3V0cHV0QnVmZmVyV3JpdGVFc2NhcGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sT3V0cHV0Q2xvc2VDYWxsYmFjaycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxPdXRwdXRNYXRjaENhbGxiYWNrJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dE9wZW5DYWxsYmFjaycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxPdXRwdXRXcml0ZUNhbGxiYWNrJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQXR0VmFsdWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VBdHRyaWJ1dGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VBdHRyaWJ1dGVMaXN0RGVjbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUF0dHJpYnV0ZVR5cGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VDRFNlY3QnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VDYXRhbG9nRmlsZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUNoYXJEYXRhJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQ2hhckVuY29kaW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQ2hhclJlZicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUNodW5rJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQ29tbWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUNvbnRlbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VDdHh0RXh0ZXJuYWxFbnRpdHknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VEVEQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VEZWZhdWx0RGVjbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZURvYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZURvY1R5cGVEZWNsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRG9jdW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbGVtZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2wnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbGVtZW50Q29udGVudERlY2wnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbGVtZW50RGVjbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVsZW1lbnRNaXhlZENvbnRlbnREZWNsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRW5jTmFtZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVuY29kaW5nRGVjbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVuZFRhZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVudGl0eScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVudGl0eURlY2wnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbnRpdHlSZWYnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbnRpdHlWYWx1ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVudW1lcmF0ZWRUeXBlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRW51bWVyYXRpb25UeXBlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRXh0UGFyc2VkRW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRXh0ZXJuYWxFbnRpdHknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFeHRlcm5hbElEJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRXh0ZXJuYWxTdWJzZXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VGaWxlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlSW5Ob2RlQ29udGV4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZU1hcmt1cERlY2wnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VNZW1vcnknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VNaXNjJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlTmFtZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZU5hbWVzcGFjZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZU5tdG9rZW4nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VOb3RhdGlvbkRlY2wnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VOb3RhdGlvblR5cGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VQRVJlZmVyZW5jZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVBJJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlUElUYXJnZXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VQdWJpZExpdGVyYWwnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VRdW90ZWRTdHJpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VSZWZlcmVuY2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VTRERlY2wnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VTdGFydFRhZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVN5c3RlbUxpdGVyYWwnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VUZXh0RGVjbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVVSSScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVVSSVJhdycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVVSSVJlZmVyZW5jZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVZlcnNpb25JbmZvJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlVmVyc2lvbk51bScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVhNTERlY2wnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VyQWRkTm9kZUluZm8nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VyQ3R4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJDdHh0UHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlckRlYnVnRW50aXRpZXMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VyRXJyb3InLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VyRXJyb3JzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlckZpbmROb2RlSW5mbycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJGaW5kTm9kZUluZm9JbmRleCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJHZXREaXJlY3RvcnknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySGFuZGxlUEVSZWZlcmVuY2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySGFuZGxlUmVmZXJlbmNlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZVZhbHVlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlSU8nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVNZW0nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVTdGF0aWMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySW5wdXRCdWZmZXJHcm93Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyUHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyUHVzaCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJJbnB1dEJ1ZmZlclJlYWQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySW5wdXREZWFsbG9jYXRlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0R3JvdycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJJbnB1dFB0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJJbnB1dFJlYWQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySW5wdXRTaHJpbmsnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySW5wdXRTdGF0ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJNYXhEZXB0aCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJNb2RlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlck5vZGVJbmZvJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlck5vZGVJbmZvUHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlck5vZGVJbmZvU2VxJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlck5vZGVJbmZvU2VxUHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlck9wdGlvbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJQcmludEZpbGVDb250ZXh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlclByaW50RmlsZUluZm8nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VyUHJvcGVydGllcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJTZXZlcml0aWVzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlclZhbGlkaXR5RXJyb3InLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VyVmFsaWRpdHlXYXJuaW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlclZlcnNpb24nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VyV2FybmluZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXRoVG9VUkknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGF0dGVybicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXR0ZXJuRmxhZ3MnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGF0dGVybkZyb21Sb290Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhdHRlcm5HZXRTdHJlYW1DdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhdHRlcm5NYXRjaCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXR0ZXJuTWF4RGVwdGgnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGF0dGVybk1pbkRlcHRoJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhdHRlcm5QdHInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGF0dGVyblN0cmVhbWFibGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGF0dGVybmNvbXBpbGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGVkYW50aWNQYXJzZXJEZWZhdWx0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBlZGFudGljUGFyc2VyRGVmYXVsdFZhbHVlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBvcElucHV0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBvcElucHV0Q2FsbGJhY2tzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFByZXZpb3VzRWxlbWVudFNpYmxpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUHJpbnRVUkknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUHVzaElucHV0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJNdXRleCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSTXV0ZXhMb2NrJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJNdXRleFB0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSTXV0ZXhVbmxvY2snLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVhZERvYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWFkRmQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVhZEZpbGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVhZElPJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlYWRNZW1vcnknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVhZGVyRm9yRG9jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlYWRlckZvckZkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlYWRlckZvckZpbGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVhZGVyRm9ySU8nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVhZGVyRm9yTWVtb3J5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlYWRlck5ld0RvYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWFkZXJOZXdGZCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWFkZXJOZXdGaWxlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlYWRlck5ld0lPJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlYWRlck5ld01lbW9yeScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWFkZXJOZXdXYWxrZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVhZGVyVHlwZXMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVhZGVyV2Fsa2VyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlYWxsb2MnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVhbGxvY0Z1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVhbGxvY0xvYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWNvbmNpbGlhdGVOcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWNvdmVyRG9jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlY292ZXJGaWxlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlY292ZXJNZW1vcnknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVmJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlZlB0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWZUYWJsZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWZUYWJsZVB0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWdFeGVjQ2FsbGJhY2tzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlZ0V4ZWNDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlZ0V4ZWNDdHh0UHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlZ0V4ZWNFcnJJbmZvJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlZ0V4ZWNOZXh0VmFsdWVzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlZ0V4ZWNQdXNoU3RyaW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlZ0V4ZWNQdXNoU3RyaW5nMicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWdGcmVlRXhlY0N0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVnRnJlZVJlZ2V4cCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWdOZXdFeGVjQ3R4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWdleHAnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVnZXhwQ29tcGlsZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWdleHBFeGVjJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlZ2V4cElzRGV0ZXJtaW5pc3QnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVnZXhwUHJpbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVnZXhwUHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlZ2lzdGVyQ2hhckVuY29kaW5nSGFuZGxlcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWdpc3RlckRlZmF1bHRJbnB1dENhbGxiYWNrcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWdpc3RlckRlZmF1bHRPdXRwdXRDYWxsYmFja3MnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVnaXN0ZXJIVFRQUG9zdENhbGxiYWNrcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWdpc3RlcklucHV0Q2FsbGJhY2tzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlZ2lzdGVyTm9kZURlZmF1bHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlZ2lzdGVyTm9kZUZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVnaXN0ZXJPdXRwdXRDYWxsYmFja3MnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVsYXhORycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HQ2xlYW51cFR5cGVzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4TkdEdW1wJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4TkdEdW1wVHJlZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HRnJlZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HRnJlZVBhcnNlckN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVsYXhOR0ZyZWVWYWxpZEN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVsYXhOR0dldFBhcnNlckVycm9ycycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HR2V0VmFsaWRFcnJvcnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVsYXhOR0luaXRUeXBlcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HTmV3RG9jUGFyc2VyQ3R4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HTmV3TWVtUGFyc2VyQ3R4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HTmV3UGFyc2VyQ3R4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HTmV3VmFsaWRDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4TkdQYXJzZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HUGFyc2VyQ3R4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HUGFyc2VyQ3R4dFB0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HUGFyc2VyRmxhZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HUHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4TkdTZXRQYXJzZXJFcnJvcnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVsYXhOR1NldFBhcnNlclN0cnVjdHVyZWRFcnJvcnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVsYXhOR1NldFZhbGlkRXJyb3JzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4TkdTZXRWYWxpZFN0cnVjdHVyZWRFcnJvcnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVsYXhOR1ZhbGlkQ3R4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HVmFsaWRDdHh0UHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4TkdWYWxpZEVycicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HVmFsaWRhdGVEb2MnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVsYXhOR1ZhbGlkYXRlRnVsbEVsZW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVsYXhOR1ZhbGlkYXRlUG9wRWxlbWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HVmFsaWRhdGVQdXNoQ0RhdGEnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVsYXhOR1ZhbGlkYXRlUHVzaEVsZW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVsYXhOR1ZhbGlkaXR5RXJyb3JGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4TkdWYWxpZGl0eVdhcm5pbmdGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4UGFyc2VyU2V0RmxhZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZW1vdmVJRCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZW1vdmVQcm9wJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlbW92ZVJlZicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZXBsYWNlTm9kZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZXNldEVycm9yJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlc2V0TGFzdEVycm9yJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJvb3ROb2RlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNBWDJBdHRyaWJ1dGVEZWNsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNBWDJDRGF0YUJsb2NrJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNBWDJDaGFyYWN0ZXJzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNBWDJDb21tZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNBWDJFbGVtZW50RGVjbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTQVgyRW5kRG9jdW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYMkVuZEVsZW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYMkVuZEVsZW1lbnROcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTQVgyRW50aXR5RGVjbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTQVgyRXh0ZXJuYWxTdWJzZXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYMkdldENvbHVtbk51bWJlcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTQVgyR2V0RW50aXR5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNBWDJHZXRMaW5lTnVtYmVyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNBWDJHZXRQYXJhbWV0ZXJFbnRpdHknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYMkdldFB1YmxpY0lkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNBWDJHZXRTeXN0ZW1JZCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTQVgySGFzRXh0ZXJuYWxTdWJzZXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYMkhhc0ludGVybmFsU3Vic2V0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNBWDJJZ25vcmFibGVXaGl0ZXNwYWNlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNBWDJJbml0RGVmYXVsdFNBWEhhbmRsZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYMkluaXREb2NiRGVmYXVsdFNBWEhhbmRsZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYMkluaXRIdG1sRGVmYXVsdFNBWEhhbmRsZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYMkludGVybmFsU3Vic2V0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNBWDJJc1N0YW5kYWxvbmUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYMk5vdGF0aW9uRGVjbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTQVgyUHJvY2Vzc2luZ0luc3RydWN0aW9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNBWDJSZWZlcmVuY2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYMlJlc29sdmVFbnRpdHknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYMlNldERvY3VtZW50TG9jYXRvcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTQVgyU3RhcnREb2N1bWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTQVgyU3RhcnRFbGVtZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNBWDJTdGFydEVsZW1lbnROcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTQVgyVW5wYXJzZWRFbnRpdHlEZWNsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNBWERlZmF1bHRWZXJzaW9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNBWEhhbmRsZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYSGFuZGxlclB0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTQVhIYW5kbGVyVjEnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYSGFuZGxlclYxUHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNBWExvY2F0b3InLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYTG9jYXRvclB0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTQVhQYXJzZURURCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTQVhQYXJzZURvYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTQVhQYXJzZUVudGl0eScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTQVhQYXJzZUZpbGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYUGFyc2VGaWxlV2l0aERhdGEnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYUGFyc2VNZW1vcnknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYUGFyc2VNZW1vcnlXaXRoRGF0YScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTQVhVc2VyUGFyc2VGaWxlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNBWFVzZXJQYXJzZU1lbW9yeScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTQVhWZXJzaW9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNhdmVDbG9zZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTYXZlQ3R4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTYXZlQ3R4dFB0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTYXZlRG9jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNhdmVGaWxlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNhdmVGaWxlRW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNhdmVGaWxlVG8nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2F2ZUZsdXNoJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNhdmVGb3JtYXRGaWxlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNhdmVGb3JtYXRGaWxlRW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNhdmVGb3JtYXRGaWxlVG8nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2F2ZU5vRW1wdHlUYWdzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNhdmVPcHRpb24nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2F2ZVNldEF0dHJFc2NhcGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2F2ZVNldEVzY2FwZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTYXZlVG9CdWZmZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2F2ZVRvRmQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2F2ZVRvRmlsZW5hbWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2F2ZVRvSU8nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2F2ZVRyZWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2F2ZVVyaScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2FuTmFtZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWEnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hQW5ub3QnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hQW5ub3RQdHInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hQXR0cmlidXRlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUF0dHJpYnV0ZUdyb3VwJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUF0dHJpYnV0ZUdyb3VwUHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUF0dHJpYnV0ZUxpbmsnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hQXR0cmlidXRlTGlua1B0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFBdHRyaWJ1dGVQdHInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hQ2hlY2tGYWNldCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFDbGVhbnVwVHlwZXMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hQ29sbGFwc2VTdHJpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hQ29tcGFyZVZhbHVlcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFDb21wYXJlVmFsdWVzV2h0c3AnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hQ29udGVudFR5cGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hQ29weVZhbHVlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUR1bXAnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hRWxlbWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFFbGVtZW50UHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUZhY2V0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUZhY2V0TGluaycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFGYWNldExpbmtQdHInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hRmFjZXRQdHInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hRnJlZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFGcmVlRmFjZXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hRnJlZVBhcnNlckN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hRnJlZVR5cGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hRnJlZVZhbGlkQ3R4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFGcmVlVmFsdWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hRnJlZVdpbGRjYXJkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUdldEJ1aWx0SW5MaXN0U2ltcGxlVHlwZUl0ZW1UeXBlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUdldEJ1aWx0SW5UeXBlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUdldENhbm9uVmFsdWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hR2V0Q2Fub25WYWx1ZVdodHNwJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUdldEZhY2V0VmFsdWVBc1VMb25nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUdldFBhcnNlckVycm9ycycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFHZXRQcmVkZWZpbmVkVHlwZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFHZXRWYWxUeXBlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUdldFZhbGlkRXJyb3JzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUluaXRUeXBlcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFJc0J1aWx0SW5UeXBlRmFjZXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hSXNWYWxpZCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFOZXdEb2NQYXJzZXJDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYU5ld0ZhY2V0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYU5ld01lbVBhcnNlckN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hTmV3Tk9UQVRJT05WYWx1ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFOZXdQYXJzZXJDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYU5ld1FOYW1lVmFsdWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hTmV3U3RyaW5nVmFsdWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hTmV3VmFsaWRDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYU5vdGF0aW9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYU5vdGF0aW9uUHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVBhcnNlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVBhcnNlckN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hUGFyc2VyQ3R4dFB0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFQdHInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hU0FYUGx1ZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFTQVhQbHVnUHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVNBWFBsdWdTdHJ1Y3QnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hU0FYVW5wbHVnJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVNldFBhcnNlckVycm9ycycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFTZXRQYXJzZXJTdHJ1Y3R1cmVkRXJyb3JzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVNldFZhbGlkRXJyb3JzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVNldFZhbGlkT3B0aW9ucycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFTZXRWYWxpZFN0cnVjdHVyZWRFcnJvcnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVHlwZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFUeXBlTGluaycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFUeXBlTGlua1B0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFUeXBlUHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVR5cGVUeXBlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxQcmVkZWZUeXBlTm9kZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxQcmVkZWZUeXBlTm9kZU5vTm9ybScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxQdHInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsVHlwZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZEN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRDdHh0R2V0T3B0aW9ucycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZEN0eHRHZXRQYXJzZXJDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbGlkQ3R4dFB0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZEVycm9yJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbGlkT3B0aW9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbGlkYXRlRG9jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbGlkYXRlRmFjZXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRhdGVGYWNldFdodHNwJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbGlkYXRlRmlsZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZUxlbmd0aEZhY2V0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXRXaHRzcCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZUxpc3RTaW1wbGVUeXBlRmFjZXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRhdGVPbmVFbGVtZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbGlkYXRlUHJlZGVmaW5lZFR5cGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRhdGVTZXRGaWxlbmFtZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZVNldExvY2F0b3InLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRhdGVTdHJlYW0nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRpdHlFcnJvckZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRpdHlMb2NhdG9yRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGl0eVdhcm5pbmdGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbHVlQXBwZW5kJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbHVlR2V0QXNCb29sZWFuJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbHVlR2V0QXNTdHJpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsdWVHZXROZXh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVdoaXRlU3BhY2VSZXBsYWNlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVdoaXRlc3BhY2VWYWx1ZVR5cGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hV2lsZGNhcmQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hV2lsZGNhcmROcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFXaWxkY2FyZE5zUHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVdpbGRjYXJkUHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYXRyb24nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hdHJvbkZyZWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hdHJvbkZyZWVQYXJzZXJDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYXRyb25GcmVlVmFsaWRDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYXRyb25OZXdEb2NQYXJzZXJDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYXRyb25OZXdNZW1QYXJzZXJDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYXRyb25OZXdQYXJzZXJDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYXRyb25OZXdWYWxpZEN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hdHJvblBhcnNlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYXRyb25QYXJzZXJDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYXRyb25QYXJzZXJDdHh0UHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYXRyb25QdHInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hdHJvblNldFZhbGlkU3RydWN0dXJlZEVycm9ycycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWF0cm9uVmFsaWRDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYXRyb25WYWxpZEN0eHRQdHInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hdHJvblZhbGlkT3B0aW9ucycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWF0cm9uVmFsaWRhdGVEb2MnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hdHJvblZhbGlkaXR5RXJyb3JGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYXRyb25WYWxpZGl0eVdhcm5pbmdGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNlYXJjaE5zJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNlYXJjaE5zQnlIcmVmJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2V0Q29tcHJlc3NNb2RlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNldERvY0NvbXByZXNzTW9kZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTZXRFbnRpdHlSZWZlcmVuY2VGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNldEV4dGVybmFsRW50aXR5TG9hZGVyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNldEZlYXR1cmUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2V0R2VuZXJpY0Vycm9yRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTZXRMaXN0RG9jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNldE5zJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNldE5zUHJvcCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTZXRQcm9wJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNldFN0cnVjdHVyZWRFcnJvckZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2V0VHJlZURvYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTZXR1cFBhcnNlckZvckJ1ZmZlcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTaGVsbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTaGVsbEJhc2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2hlbGxDYXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2hlbGxDbWQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2hlbGxDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNoZWxsQ3R4dFB0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTaGVsbERpcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTaGVsbER1Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNoZWxsTGlzdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTaGVsbExvYWQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2hlbGxQcmludE5vZGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2hlbGxQcmludFhQYXRoRXJyb3InLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2hlbGxQcmludFhQYXRoUmVzdWx0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNoZWxsUHdkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNoZWxsUmVhZGxpbmVGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNoZWxsU2F2ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTaGVsbFZhbGlkYXRlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNoZWxsV3JpdGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2tpcEJsYW5rQ2hhcnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU25wcmludGZFbGVtZW50Q29udGVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTcGxpdFFOYW1lJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNwbGl0UU5hbWUyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNwbGl0UU5hbWUzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNwcmludGZFbGVtZW50Q29udGVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTdG9wUGFyc2VyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFN0ckVxdWFsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFN0clByaW50ZicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTdHJRRXF1YWwnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU3RyVlByaW50ZicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTdHJjYXNlY21wJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFN0cmNhc2VzdHInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU3RyY2F0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFN0cmNocicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTdHJjbXAnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU3RyZHVwJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFN0cmR1cEZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU3RyZWFtQ3R4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTdHJlYW1DdHh0UHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFN0cmVhbVBvcCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTdHJlYW1QdXNoJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFN0cmVhbVB1c2hBdHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFN0cmVhbVB1c2hOb2RlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFN0cmVhbVdhbnRzQW55Tm9kZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTdHJpbmdDb21tZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFN0cmluZ0N1cnJlbnRDaGFyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFN0cmluZ0RlY29kZUVudGl0aWVzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFN0cmluZ0dldE5vZGVMaXN0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFN0cmluZ0xlbkRlY29kZUVudGl0aWVzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFN0cmluZ0xlbkdldE5vZGVMaXN0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFN0cmluZ1RleHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU3RyaW5nVGV4dE5vZW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFN0cmxlbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTdHJuY2FzZWNtcCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTdHJuY2F0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFN0cm5jYXROZXcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU3RybmNtcCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTdHJuZHVwJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFN0cnN0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTdHJzdWInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU3RydWN0dXJlZEVycm9yJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFN0cnVjdHVyZWRFcnJvckNvbnRleHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU3RydWN0dXJlZEVycm9yRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHRWYWx1ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTd2l0Y2hFbmNvZGluZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTd2l0Y2hJbnB1dEVuY29kaW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFN3aXRjaFRvRW5jb2RpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dENvbmNhdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0TWVyZ2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyQXR0cmlidXRlQ291bnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckJhc2VVcmknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckJ5dGVDb25zdW1lZCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyQ2xvc2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckNvbnN0QmFzZVVyaScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyQ29uc3RFbmNvZGluZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyQ29uc3RMb2NhbE5hbWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckNvbnN0TmFtZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyQ29uc3ROYW1lc3BhY2VVcmknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckNvbnN0UHJlZml4Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJDb25zdFN0cmluZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyQ29uc3RWYWx1ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyQ29uc3RYbWxMYW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJDb25zdFhtbFZlcnNpb24nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckN1cnJlbnREb2MnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckN1cnJlbnROb2RlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJEZXB0aCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyRXJyb3JGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJFeHBhbmQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlTm8nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZU5zJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJHZXRFcnJvckhhbmRsZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckdldFBhcnNlckNvbHVtbk51bWJlcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyR2V0UGFyc2VyTGluZU51bWJlcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyR2V0UGFyc2VyUHJvcCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyR2V0UmVtYWluZGVyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJIYXNBdHRyaWJ1dGVzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJIYXNWYWx1ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVySXNEZWZhdWx0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJJc0VtcHR5RWxlbWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVySXNOYW1lc3BhY2VEZWNsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJJc1ZhbGlkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJMb2NhbE5hbWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckxvY2F0b3JCYXNlVVJJJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJMb2NhdG9yTGluZU51bWJlcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyTG9jYXRvclB0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyTG9va3VwTmFtZXNwYWNlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJNb2RlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJNb3ZlVG9BdHRyaWJ1dGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlck1vdmVUb0F0dHJpYnV0ZU5vJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJNb3ZlVG9BdHRyaWJ1dGVOcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyTW92ZVRvRWxlbWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyTW92ZVRvRmlyc3RBdHRyaWJ1dGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlck1vdmVUb05leHRBdHRyaWJ1dGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlck5hbWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlck5hbWVzcGFjZVVyaScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyTmV4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyTmV4dFNpYmxpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlck5vZGVUeXBlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJOb3JtYWxpemF0aW9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJQcmVmaXgnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclByZXNlcnZlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJQcmVzZXJ2ZVBhdHRlcm4nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclB0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyUXVvdGVDaGFyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJSZWFkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJSZWFkQXR0cmlidXRlVmFsdWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclJlYWRJbm5lclhtbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyUmVhZE91dGVyWG1sJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJSZWFkU3RhdGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclJlYWRTdHJpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclJlbGF4TkdTZXRTY2hlbWEnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyUmVsYXhOR1ZhbGlkYXRlQ3R4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyU2NoZW1hVmFsaWRhdGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlQ3R4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyU2V0RXJyb3JIYW5kbGVyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJTZXRQYXJzZXJQcm9wJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJTZXRTY2hlbWEnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclNldFN0cnVjdHVyZWRFcnJvckhhbmRsZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclNldHVwJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJTdGFuZGFsb25lJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJWYWx1ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyWG1sTGFuZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJFbmRBdHRyaWJ1dGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlckVuZENEQVRBJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJFbmRDb21tZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJFbmREVEQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlckVuZERUREF0dGxpc3QnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlckVuZERUREVsZW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlckVuZERUREVudGl0eScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyRW5kRG9jdW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlckVuZEVsZW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlckVuZFBJJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJGbHVzaCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyRnVsbEVuZEVsZW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlclB0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyU2V0SW5kZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJTZXRJbmRlbnRTdHJpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlclNldFF1b3RlQ2hhcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyU3RhcnRBdHRyaWJ1dGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlclN0YXJ0QXR0cmlidXRlTlMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlclN0YXJ0Q0RBVEEnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlclN0YXJ0Q29tbWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyU3RhcnREVEQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlclN0YXJ0RFREQXR0bGlzdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyU3RhcnREVERFbGVtZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJTdGFydERUREVudGl0eScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyU3RhcnREb2N1bWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyU3RhcnRFbGVtZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJTdGFydEVsZW1lbnROUycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyU3RhcnRQSScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVBdHRyaWJ1dGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlQXR0cmlidXRlTlMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlQmFzZTY0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZUJpbkhleCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVDREFUQScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVDb21tZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZURURCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVEVERBdHRsaXN0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZURUREVsZW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRFRERW50aXR5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZURUREV4dGVybmFsRW50aXR5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZURUREV4dGVybmFsRW50aXR5Q29udGVudHMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRFRESW50ZXJuYWxFbnRpdHknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRFRETm90YXRpb24nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRG9jVHlwZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVFbGVtZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZUVsZW1lbnROUycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRBdHRyaWJ1dGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0QXR0cmlidXRlTlMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0Q0RBVEEnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0Q29tbWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVEQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFREQXR0bGlzdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVERFbGVtZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdERUREludGVybmFsRW50aXR5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdEVsZW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RWxlbWVudE5TJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdFBJJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdFJhdycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRTdHJpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlUEknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlUHJvY2Vzc2luZ0luc3RydWN0aW9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZVJhdycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVSYXdMZW4nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlU3RyaW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRBdHRyaWJ1dGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEF0dHJpYnV0ZU5TJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRDREFUQScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0Q29tbWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFREJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVERBdHRsaXN0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVERFbGVtZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVERJbnRlcm5hbEVudGl0eScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RWxlbWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RWxlbWVudE5TJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRQSScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0UmF3Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRTdHJpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGhyRGVmQnVmZmVyQWxsb2NTY2hlbWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGhyRGVmRGVmYXVsdEJ1ZmZlclNpemUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGhyRGVmRGVyZWdpc3Rlck5vZGVEZWZhdWx0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRockRlZkRvVmFsaWRpdHlDaGVja2luZ0RlZmF1bHRWYWx1ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUaHJEZWZHZXRXYXJuaW5nc0RlZmF1bHRWYWx1ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUaHJEZWZJbmRlbnRUcmVlT3V0cHV0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRockRlZktlZXBCbGFua3NEZWZhdWx0VmFsdWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGhyRGVmTGluZU51bWJlcnNEZWZhdWx0VmFsdWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGhyRGVmTG9hZEV4dER0ZERlZmF1bHRWYWx1ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUaHJEZWZPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGhyRGVmUGFyc2VyRGVidWdFbnRpdGllcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUaHJEZWZQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRGVmYXVsdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUaHJEZWZQZWRhbnRpY1BhcnNlckRlZmF1bHRWYWx1ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUaHJEZWZSZWdpc3Rlck5vZGVEZWZhdWx0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRockRlZlNhdmVOb0VtcHR5VGFncycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUaHJEZWZTZXRHZW5lcmljRXJyb3JGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRockRlZlNldFN0cnVjdHVyZWRFcnJvckZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGhyRGVmU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdFZhbHVlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRockRlZlRyZWVJbmRlbnRTdHJpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVHJlZUluZGVudFN0cmluZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0FlZ2Vhbk51bWJlcnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNBbHBoYWJldGljUHJlc2VudGF0aW9uRm9ybXMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNBcmFiaWMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNBcmFiaWNQcmVzZW50YXRpb25Gb3Jtc0EnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNBcmFiaWNQcmVzZW50YXRpb25Gb3Jtc0InLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNBcm1lbmlhbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0Fycm93cycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0Jhc2ljTGF0aW4nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNCZW5nYWxpJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzQmxvY2snLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNCbG9ja0VsZW1lbnRzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzQm9wb21vZm8nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNCb3BvbW9mb0V4dGVuZGVkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzQm94RHJhd2luZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0JyYWlsbGVQYXR0ZXJucycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0J1aGlkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzQnl6YW50aW5lTXVzaWNhbFN5bWJvbHMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNDSktDb21wYXRpYmlsaXR5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eUZvcm1zJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eUlkZW9ncmFwaHMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNDSktDb21wYXRpYmlsaXR5SWRlb2dyYXBoc1N1cHBsZW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNDSktSYWRpY2Fsc1N1cHBsZW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNDSktTeW1ib2xzYW5kUHVuY3R1YXRpb24nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNDSktVbmlmaWVkSWRlb2dyYXBocycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0NKS1VuaWZpZWRJZGVvZ3JhcGhzRXh0ZW5zaW9uQScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0NKS1VuaWZpZWRJZGVvZ3JhcGhzRXh0ZW5zaW9uQicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0NhdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0NhdEMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNDYXRDYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0NhdENmJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzQ2F0Q28nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNDYXRDcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0NhdEwnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNDYXRMbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0NhdExtJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzQ2F0TG8nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNDYXRMdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0NhdEx1Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzQ2F0TScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0NhdE1jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzQ2F0TWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNDYXRNbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0NhdE4nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNDYXROZCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0NhdE5sJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzQ2F0Tm8nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNDYXRQJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzQ2F0UGMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNDYXRQZCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0NhdFBlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzQ2F0UGYnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNDYXRQaScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0NhdFBvJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzQ2F0UHMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNDYXRTJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzQ2F0U2MnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNDYXRTaycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0NhdFNtJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzQ2F0U28nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNDYXRaJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzQ2F0WmwnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNDYXRacCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0NhdFpzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzQ2hlcm9rZWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNDb21iaW5pbmdEaWFjcml0aWNhbE1hcmtzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzQ29tYmluaW5nRGlhY3JpdGljYWxNYXJrc2ZvclN5bWJvbHMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNDb21iaW5pbmdIYWxmTWFya3MnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNDb21iaW5pbmdNYXJrc2ZvclN5bWJvbHMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNDb250cm9sUGljdHVyZXMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNDdXJyZW5jeVN5bWJvbHMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNDeXByaW90U3lsbGFiYXJ5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzQ3lyaWxsaWMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNDeXJpbGxpY1N1cHBsZW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNEZXNlcmV0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzRGV2YW5hZ2FyaScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0RpbmdiYXRzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzRW5jbG9zZWRBbHBoYW51bWVyaWNzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzRW5jbG9zZWRDSktMZXR0ZXJzYW5kTW9udGhzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzRXRoaW9waWMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNHZW5lcmFsUHVuY3R1YXRpb24nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNHZW9tZXRyaWNTaGFwZXMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNHZW9yZ2lhbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0dvdGhpYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0dyZWVrJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzR3JlZWtFeHRlbmRlZCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0dyZWVrYW5kQ29wdGljJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzR3VqYXJhdGknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNHdXJtdWtoaScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0hhbGZ3aWR0aGFuZEZ1bGx3aWR0aEZvcm1zJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzSGFuZ3VsQ29tcGF0aWJpbGl0eUphbW8nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNIYW5ndWxKYW1vJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzSGFuZ3VsU3lsbGFibGVzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzSGFudW5vbycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0hlYnJldycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0hpZ2hQcml2YXRlVXNlU3Vycm9nYXRlcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0hpZ2hTdXJyb2dhdGVzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzSGlyYWdhbmEnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNJUEFFeHRlbnNpb25zJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzSWRlb2dyYXBoaWNEZXNjcmlwdGlvbkNoYXJhY3RlcnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNLYW5idW4nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNLYW5neGlSYWRpY2FscycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0thbm5hZGEnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNLYXRha2FuYScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0thdGFrYW5hUGhvbmV0aWNFeHRlbnNpb25zJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzS2htZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNLaG1lclN5bWJvbHMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNMYW8nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNMYXRpbjFTdXBwbGVtZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzTGF0aW5FeHRlbmRlZEEnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNMYXRpbkV4dGVuZGVkQWRkaXRpb25hbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0xhdGluRXh0ZW5kZWRCJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzTGV0dGVybGlrZVN5bWJvbHMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNMaW1idScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0xpbmVhckJJZGVvZ3JhbXMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNMaW5lYXJCU3lsbGFiYXJ5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzTG93U3Vycm9nYXRlcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc01hbGF5YWxhbScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc01hdGhlbWF0aWNhbEFscGhhbnVtZXJpY1N5bWJvbHMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNNYXRoZW1hdGljYWxPcGVyYXRvcnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNNaXNjZWxsYW5lb3VzTWF0aGVtYXRpY2FsU3ltYm9sc0EnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNNaXNjZWxsYW5lb3VzTWF0aGVtYXRpY2FsU3ltYm9sc0InLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNNaXNjZWxsYW5lb3VzU3ltYm9scycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc01pc2NlbGxhbmVvdXNTeW1ib2xzYW5kQXJyb3dzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzTWlzY2VsbGFuZW91c1RlY2huaWNhbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc01vbmdvbGlhbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc011c2ljYWxTeW1ib2xzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzTXlhbm1hcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc051bWJlckZvcm1zJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzT2doYW0nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNPbGRJdGFsaWMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNPcHRpY2FsQ2hhcmFjdGVyUmVjb2duaXRpb24nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNPcml5YScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc09zbWFueWEnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNQaG9uZXRpY0V4dGVuc2lvbnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNQcml2YXRlVXNlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzUHJpdmF0ZVVzZUFyZWEnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNSdW5pYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc1NoYXZpYW4nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNTaW5oYWxhJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzU21hbGxGb3JtVmFyaWFudHMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNTcGFjaW5nTW9kaWZpZXJMZXR0ZXJzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzU3BlY2lhbHMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNTdXBlcnNjcmlwdHNhbmRTdWJzY3JpcHRzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzU3VwcGxlbWVudGFsQXJyb3dzQScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc1N1cHBsZW1lbnRhbEFycm93c0InLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNTdXBwbGVtZW50YWxNYXRoZW1hdGljYWxPcGVyYXRvcnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNTdXBwbGVtZW50YXJ5UHJpdmF0ZVVzZUFyZWFBJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzU3VwcGxlbWVudGFyeVByaXZhdGVVc2VBcmVhQicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc1N5cmlhYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc1RhZ2Fsb2cnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNUYWdiYW53YScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc1RhZ3MnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNUYWlMZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc1RhaVh1YW5KaW5nU3ltYm9scycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc1RhbWlsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzVGVsdWd1Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzVGhhYW5hJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzVGhhaScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc1RpYmV0YW4nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNVZ2FyaXRpYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc1VuaWZpZWRDYW5hZGlhbkFib3JpZ2luYWxTeWxsYWJpY3MnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNWYXJpYXRpb25TZWxlY3RvcnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNWYXJpYXRpb25TZWxlY3RvcnNTdXBwbGVtZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzWWlSYWRpY2FscycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc1lpU3lsbGFibGVzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzWWlqaW5nSGV4YWdyYW1TeW1ib2xzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVSSScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVUklFc2NhcGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVVJJRXNjYXBlU3RyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVSSVB0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVUklVbmVzY2FwZVN0cmluZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVVEY4Q2hhcmNtcCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVVEY4U2l6ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVVEY4U3RybGVuJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVURjhTdHJsb2MnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVVRGOFN0cm5kdXAnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVVRGOFN0cnBvcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVVEY4U3Ryc2l6ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVVEY4U3Ryc3ViJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVubGlua05vZGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVW5sb2NrTGlicmFyeScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVbnNldE5zUHJvcCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVbnNldFByb3AnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRCdWlsZENvbnRlbnRNb2RlbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZEN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRDdHh0Tm9ybWFsaXplQXR0cmlidXRlVmFsdWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRDdHh0UHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkR2V0UG90ZW50aWFsQ2hpbGRyZW4nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkTm9ybWFsaXplQXR0cmlidXRlVmFsdWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRTdGF0ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZFN0YXRlUHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlQXR0cmlidXRlRGVjbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZUF0dHJpYnV0ZVZhbHVlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlRG9jdW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVEb2N1bWVudEZpbmFsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlRHRkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlRHRkRmluYWwnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVFbGVtZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlRWxlbWVudERlY2wnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVOQ05hbWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVOTVRva2VuJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlTmFtZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZU5hbWVWYWx1ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZU5hbWVzVmFsdWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVObXRva2VuVmFsdWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVObXRva2Vuc1ZhbHVlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlTm90YXRpb25EZWNsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlTm90YXRpb25Vc2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVPbmVBdHRyaWJ1dGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVPbmVFbGVtZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlT25lTmFtZXNwYWNlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlUG9wRWxlbWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZVB1c2hDRGF0YScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZVB1c2hFbGVtZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlUU5hbWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVSb290Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkaXR5RXJyb3JGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkaXR5V2FybmluZ0Z1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWEluY2x1ZGVDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhJbmNsdWRlQ3R4dFB0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYSW5jbHVkZUZyZWVDb250ZXh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhJbmNsdWRlTmV3Q29udGV4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYSW5jbHVkZVByb2Nlc3MnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWEluY2x1ZGVQcm9jZXNzRmxhZ3MnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWEluY2x1ZGVQcm9jZXNzRmxhZ3NEYXRhJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhJbmNsdWRlUHJvY2Vzc05vZGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWEluY2x1ZGVQcm9jZXNzVHJlZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYSW5jbHVkZVByb2Nlc3NUcmVlRmxhZ3MnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWEluY2x1ZGVQcm9jZXNzVHJlZUZsYWdzRGF0YScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYSW5jbHVkZVNldEZsYWdzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQWRkVmFsdWVzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQXhpcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEF4aXNGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQXhpc1B0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEJvb2xlYW5GdW5jdGlvbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENhc3RCb29sZWFuVG9OdW1iZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDYXN0Qm9vbGVhblRvU3RyaW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ2FzdE5vZGVTZXRUb0Jvb2xlYW4nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDYXN0Tm9kZVNldFRvTnVtYmVyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ2FzdE5vZGVTZXRUb1N0cmluZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENhc3ROb2RlVG9OdW1iZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDYXN0Tm9kZVRvU3RyaW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ2FzdE51bWJlclRvQm9vbGVhbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENhc3ROdW1iZXJUb1N0cmluZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENhc3RTdHJpbmdUb0Jvb2xlYW4nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDYXN0U3RyaW5nVG9OdW1iZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDYXN0VG9Cb29sZWFuJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ2FzdFRvTnVtYmVyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ2FzdFRvU3RyaW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ2VpbGluZ0Z1bmN0aW9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ2hlY2tFcnJvcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENtcE5vZGVzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ29tcEV4cHInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDb21wRXhwclB0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENvbXBhcmVWYWx1ZXMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDb21waWxlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ29tcGlsZWRFdmFsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ29tcGlsZWRFdmFsVG9Cb29sZWFuJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ29uY2F0RnVuY3Rpb24nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDb250YWluc0Z1bmN0aW9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ29udGV4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENvbnRleHRQdHInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDb250ZXh0U2V0Q2FjaGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDb252ZXJ0Qm9vbGVhbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENvbnZlcnRGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ29udmVydE51bWJlcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENvbnZlcnRTdHJpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDb3VudEZ1bmN0aW9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ3R4dENvbXBpbGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhEZWJ1Z0R1bXBDb21wRXhwcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aERlYnVnRHVtcE9iamVjdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aERpZmZlcmVuY2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhEaXN0aW5jdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aERpc3RpbmN0U29ydGVkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRGl2VmFsdWVzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRW1wdHlOb2RlU2V0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRXF1YWxWYWx1ZXMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhFcnInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhFcnJvcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEV2YWwnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhFdmFsRXhwcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEV2YWxFeHByZXNzaW9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRXZhbEZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhFdmFsUHJlZGljYXRlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRXZhbHVhdGVQcmVkaWNhdGVSZXN1bHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhGYWxzZUZ1bmN0aW9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRmxvb3JGdW5jdGlvbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEZyZWVDb21wRXhwcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEZyZWVDb250ZXh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRnJlZU5vZGVTZXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhGcmVlTm9kZVNldExpc3QnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhGcmVlT2JqZWN0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRnJlZVBhcnNlckNvbnRleHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhGdW5jTG9va3VwRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEZ1bmNQdHInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhGdW5jdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEZ1bmN0aW9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRnVuY3Rpb25Mb29rdXAnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhGdW5jdGlvbkxvb2t1cE5TJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoR2V0Q29udGV4dE5vZGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhHZXREb2N1bWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEdldEVycm9yJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoSGFzU2FtZU5vZGVzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoSWRGdW5jdGlvbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEluaXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhJbnRlcnNlY3Rpb24nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhJc0luZicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aElzTmFOJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoSXNOb2RlVHlwZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aExhbmdGdW5jdGlvbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aExhc3RGdW5jdGlvbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aExlYWRpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhMZWFkaW5nU29ydGVkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTG9jYWxOYW1lRnVuY3Rpb24nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhNb2RWYWx1ZXMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhNdWx0VmFsdWVzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTkFOJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTklORicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5hbWVzcGFjZVVSSUZ1bmN0aW9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV3Qm9vbGVhbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5ld0NTdHJpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXdDb250ZXh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV3RmxvYXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXdOb2RlU2V0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV3Tm9kZVNldExpc3QnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXdQYXJzZXJDb250ZXh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV3U3RyaW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV3VmFsdWVUcmVlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV4dEFuY2VzdG9yJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV4dEFuY2VzdG9yT3JTZWxmJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV4dEF0dHJpYnV0ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5leHRDaGlsZCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5leHREZXNjZW5kYW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV4dERlc2NlbmRhbnRPclNlbGYnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXh0Rm9sbG93aW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV4dEZvbGxvd2luZ1NpYmxpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXh0TmFtZXNwYWNlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV4dFBhcmVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5leHRQcmVjZWRpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXh0UHJlY2VkaW5nU2libGluZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5leHRTZWxmJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm9kZUV2YWwnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb2RlTGVhZGluZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vZGVMZWFkaW5nU29ydGVkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm9kZVNldEFkZCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vZGVTZXRBZGROcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vZGVTZXRBZGRVbmlxdWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb2RlU2V0Q29udGFpbnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb2RlU2V0Q3JlYXRlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm9kZVNldERlbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vZGVTZXRGcmVlTnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb2RlU2V0R2V0TGVuZ3RoJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm9kZVNldElzRW1wdHknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb2RlU2V0SXRlbScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vZGVTZXRNZXJnZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vZGVTZXRSZW1vdmUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb2RlU2V0U29ydCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vZGVUcmFpbGluZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vZGVUcmFpbGluZ1NvcnRlZCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vcm1hbGl6ZUZ1bmN0aW9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm90RXF1YWxWYWx1ZXMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb3RGdW5jdGlvbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5zTG9va3VwJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTnVtYmVyRnVuY3Rpb24nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhPYmplY3QnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhPYmplY3RDb3B5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoT2JqZWN0UHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoT2JqZWN0VHlwZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE9yZGVyRG9jRWxlbXMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhQSU5GJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoUGFyc2VOQ05hbWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhQYXJzZU5hbWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhQYXJzZXJDb250ZXh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFBvcEJvb2xlYW4nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhQb3BFeHRlcm5hbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFBvcE5vZGVTZXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhQb3BOdW1iZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhQb3BTdHJpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhQb3NpdGlvbkZ1bmN0aW9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoUmVnaXN0ZXJBbGxGdW5jdGlvbnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhSZWdpc3RlckZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhSZWdpc3RlckZ1bmNMb29rdXAnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhSZWdpc3RlckZ1bmNOUycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFJlZ2lzdGVyTnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZUxvb2t1cCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGVOUycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFJlZ2lzdGVyZWRGdW5jc0NsZWFudXAnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhSZWdpc3RlcmVkTnNDbGVhbnVwJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoUmVnaXN0ZXJlZFZhcmlhYmxlc0NsZWFudXAnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhSZXR1cm5Cb29sZWFuJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoUmV0dXJuRW1wdHlOb2RlU2V0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoUmV0dXJuRW1wdHlTdHJpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhSZXR1cm5FeHRlcm5hbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFJldHVybkZhbHNlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoUmV0dXJuTm9kZVNldCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFJldHVybk51bWJlcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFJldHVyblN0cmluZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFJldHVyblRydWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhSb290Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoUm91bmRGdW5jdGlvbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFNldEFyaXR5RXJyb3InLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhTZXRDb250ZXh0Tm9kZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFNldEVycm9yJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoU2V0VHlwZUVycm9yJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoU3RhY2tJc0V4dGVybmFsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoU3RhY2tJc05vZGVTZXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhTdGFydHNXaXRoRnVuY3Rpb24nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhTdHJpbmdFdmFsTnVtYmVyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoU3RyaW5nRnVuY3Rpb24nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhTdHJpbmdMZW5ndGhGdW5jdGlvbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFN1YlZhbHVlcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFN1YnN0cmluZ0FmdGVyRnVuY3Rpb24nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhTdWJzdHJpbmdCZWZvcmVGdW5jdGlvbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFN1YnN0cmluZ0Z1bmN0aW9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoU3VtRnVuY3Rpb24nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhUcmFpbGluZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFRyYWlsaW5nU29ydGVkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoVHJhbnNsYXRlRnVuY3Rpb24nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhUcnVlRnVuY3Rpb24nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhUeXBlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoVHlwZVB0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFZhbHVlRmxpcFNpZ24nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhWYXJpYWJsZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFZhcmlhYmxlTG9va3VwJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoVmFyaWFibGVMb29rdXBGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoVmFyaWFibGVMb29rdXBOUycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFZhcmlhYmxlUHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoV3JhcENTdHJpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhXcmFwRXh0ZXJuYWwnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhXcmFwTm9kZVNldCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFdyYXBTdHJpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhlcnJvcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyQnVpbGROb2RlTGlzdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyRXZhbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyRXZhbFJhbmdlUHJlZGljYXRlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQdHJGcmVlTG9jYXRpb25TZXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFB0ckxvY2F0aW9uU2V0QWRkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQdHJMb2NhdGlvblNldENyZWF0ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyTG9jYXRpb25TZXREZWwnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFB0ckxvY2F0aW9uU2V0TWVyZ2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFB0ckxvY2F0aW9uU2V0UmVtb3ZlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQdHJOZXdDb2xsYXBzZWRSYW5nZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyTmV3Q29udGV4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyTmV3TG9jYXRpb25TZXROb2RlU2V0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQdHJOZXdMb2NhdGlvblNldE5vZGVzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQdHJOZXdSYW5nZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyTmV3UmFuZ2VOb2RlT2JqZWN0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQdHJOZXdSYW5nZU5vZGVQb2ludCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyTmV3UmFuZ2VOb2RlcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyTmV3UmFuZ2VQb2ludE5vZGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFB0ck5ld1JhbmdlUG9pbnRzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQdHJSYW5nZVRvRnVuY3Rpb24nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFB0cldyYXBMb2NhdGlvblNldCcvPgorICAgIDwvbGV0dGVyPgorICA8L2FscGhhPgorICA8Y29uc3RydWN0b3JzPgorICAgIDx0eXBlIG5hbWU9J1NPQ0tFVCc+CisgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBHZXRDb25uZWN0aW9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBHZXRTb2NrZXQnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0nY29uc3QgaHRtbEVsZW1EZXNjIConPgorICAgICAgPHJlZiBuYW1lPSdodG1sVGFnTG9va3VwJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J2NvbnN0IGh0bWxFbnRpdHlEZXNjIConPgorICAgICAgPHJlZiBuYW1lPSdodG1sRW50aXR5TG9va3VwJy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxFbnRpdHlWYWx1ZUxvb2t1cCcvPgorICAgICAgPHJlZiBuYW1lPSdodG1sUGFyc2VFbnRpdHlSZWYnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0nY29uc3QgeG1sQ2hhciAqJz4KKyAgICAgIDxyZWYgbmFtZT0nZ2V0UHVibGljSWQnLz4KKyAgICAgIDxyZWYgbmFtZT0nZ2V0U3lzdGVtSWQnLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbEdldE1ldGFFbmNvZGluZycvPgorICAgICAgPHJlZiBuYW1lPSduYW1lUG9wJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEJ1ZmZlckNvbnRlbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ2F0YWxvZ0dldFB1YmxpYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDYXRhbG9nR2V0U3lzdGVtJy8+CisgICAgICA8cmVmIG5hbWU9J3htbERpY3RFeGlzdHMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRGljdExvb2t1cCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxEaWN0UUxvb2t1cCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxFbmNvZGVFbnRpdGllcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxPdXRwdXRCdWZmZXJHZXRDb250ZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQXR0cmlidXRlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRW5jb2RpbmdEZWNsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlTmFtZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVBJVGFyZ2V0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlU3RhcnRUYWcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYMkdldFB1YmxpY0lkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNBWDJHZXRTeXN0ZW1JZCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWx1ZUdldEFzU3RyaW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNwbGl0UU5hbWUzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFN0cmNhc2VzdHInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU3RyY2hyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFN0cnN0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyQ29uc3RCYXNlVXJpJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJDb25zdEVuY29kaW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJDb25zdExvY2FsTmFtZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyQ29uc3ROYW1lJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJDb25zdE5hbWVzcGFjZVVyaScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyQ29uc3RQcmVmaXgnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckNvbnN0U3RyaW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJDb25zdFZhbHVlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJDb25zdFhtbExhbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckNvbnN0WG1sVmVyc2lvbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVVEY4U3RycG9zJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTnNMb29rdXAnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0nY29uc3QgeG1sUGFyc2VyTm9kZUluZm8gKic+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlckZpbmROb2RlSW5mbycvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSdkb2NiRG9jUHRyJz4KKyAgICAgIDxyZWYgbmFtZT0nZG9jYlBhcnNlRG9jJy8+CisgICAgICA8cmVmIG5hbWU9J2RvY2JQYXJzZUZpbGUnLz4KKyAgICAgIDxyZWYgbmFtZT0nZG9jYlNBWFBhcnNlRG9jJy8+CisgICAgICA8cmVmIG5hbWU9J2RvY2JTQVhQYXJzZUZpbGUnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0nZG9jYlBhcnNlckN0eHRQdHInPgorICAgICAgPHJlZiBuYW1lPSdkb2NiQ3JlYXRlRmlsZVBhcnNlckN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0nZG9jYkNyZWF0ZVB1c2hQYXJzZXJDdHh0Jy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J2RvdWJsZSc+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ2FzdEJvb2xlYW5Ub051bWJlcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENhc3ROb2RlU2V0VG9OdW1iZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDYXN0Tm9kZVRvTnVtYmVyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ2FzdFN0cmluZ1RvTnVtYmVyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ2FzdFRvTnVtYmVyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoUG9wTnVtYmVyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoU3RyaW5nRXZhbE51bWJlcicvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSdodG1sRG9jUHRyJz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbEN0eHRSZWFkRG9jJy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxDdHh0UmVhZEZkJy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxDdHh0UmVhZEZpbGUnLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbEN0eHRSZWFkSU8nLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbEN0eHRSZWFkTWVtb3J5Jy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxOZXdEb2MnLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbE5ld0RvY05vRHREJy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxQYXJzZURvYycvPgorICAgICAgPHJlZiBuYW1lPSdodG1sUGFyc2VGaWxlJy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxSZWFkRG9jJy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxSZWFkRmQnLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbFJlYWRGaWxlJy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxSZWFkSU8nLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbFJlYWRNZW1vcnknLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbFNBWFBhcnNlRG9jJy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxTQVhQYXJzZUZpbGUnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0naHRtbFBhcnNlckN0eHRQdHInPgorICAgICAgPHJlZiBuYW1lPSdodG1sQ3JlYXRlRmlsZVBhcnNlckN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbENyZWF0ZU1lbW9yeVBhcnNlckN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbENyZWF0ZVB1c2hQYXJzZXJDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxOZXdQYXJzZXJDdHh0Jy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J2h0bWxTdGF0dXMnPgorICAgICAgPHJlZiBuYW1lPSdodG1sQXR0ckFsbG93ZWQnLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbEVsZW1lbnRTdGF0dXNIZXJlJy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxOb2RlU3RhdHVzJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J2xvbmcnPgorICAgICAgPHJlZiBuYW1lPSd4bWxCeXRlQ29uc3VtZWQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sR2V0TGluZU5vJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNhdmVEb2MnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2F2ZVRyZWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckJ5dGVDb25zdW1lZCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE9yZGVyRG9jRWxlbXMnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0nc2l6ZV90Jz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQnVmTm9kZUR1bXAnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQnVmU2hyaW5rJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEJ1ZlVzZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxEaWN0R2V0VXNhZ2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRGljdFNldExpbWl0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dEJ1ZmZlckdldFNpemUnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0ndW5zaWduZWQgbG9uZyc+CisgICAgICA8cmVmIG5hbWU9J3htbENoaWxkRWxlbWVudENvdW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlckZpbmROb2RlSW5mb0luZGV4Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUdldEZhY2V0VmFsdWVBc1VMb25nJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3ZvaWQgKic+CisgICAgICA8cmVmIG5hbWU9J3htbENhdGFsb2dBZGRMb2NhbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxGaWxlT3BlbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoQ29waWVyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEhhc2hMb29rdXAnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSGFzaExvb2t1cDInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSGFzaExvb2t1cDMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFFMb29rdXAnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFFMb29rdXAyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEhhc2hRTG9va3VwMycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxJT0ZUUE9wZW4nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSU9IVFRQT3BlbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxJT0hUVFBPcGVuVycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxJbnB1dE9wZW5DYWxsYmFjaycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxMaW5rR2V0RGF0YScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0UmV2ZXJzZVNlYXJjaCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0U2VhcmNoJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE1hbGxvY0F0b21pY0xvYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxNYWxsb2NGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE1hbGxvY0xvYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxNZW1NYWxsb2MnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTWVtUmVhbGxvYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vRlRQQ29ubmVjdFRvJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBOZXdDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBPcGVuJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5hbm9IVFRQTWV0aG9kJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5hbm9IVFRQTWV0aG9kUmVkaXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmFub0hUVFBPcGVuJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5hbm9IVFRQT3BlblJlZGlyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dE9wZW5DYWxsYmFjaycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWFsbG9jRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWFsbG9jTG9jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoUG9wRXh0ZXJuYWwnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neGxpbmtIYW5kbGVyUHRyJz4KKyAgICAgIDxyZWYgbmFtZT0neGxpbmtHZXREZWZhdWx0SGFuZGxlcicvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bGlua05vZGVEZXRlY3RGdW5jJz4KKyAgICAgIDxyZWYgbmFtZT0neGxpbmtHZXREZWZhdWx0RGV0ZWN0Jy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3hsaW5rVHlwZSc+CisgICAgICA8cmVmIG5hbWU9J3hsaW5rSXNMaW5rJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbEF0dHJQdHInPgorICAgICAgPHJlZiBuYW1lPSd4bWxDb3B5UHJvcCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDb3B5UHJvcExpc3QnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sR2V0SUQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSGFzTnNQcm9wJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEhhc1Byb3AnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3RG9jUHJvcCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdOc1Byb3AnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3TnNQcm9wRWF0TmFtZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdQcm9wJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNldE5zUHJvcCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTZXRQcm9wJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbEF0dHJpYnV0ZVB0cic+CisgICAgICA8cmVmIG5hbWU9J3htbEFkZEF0dHJpYnV0ZURlY2wnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sR2V0RHRkQXR0ckRlc2MnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sR2V0RHRkUUF0dHJEZXNjJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbEF0dHJpYnV0ZVRhYmxlUHRyJz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ29weUF0dHJpYnV0ZVRhYmxlJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbEF1dG9tYXRhUHRyJz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3QXV0b21hdGEnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sQXV0b21hdGFTdGF0ZVB0cic+CisgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhR2V0SW5pdFN0YXRlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhTmV3QWxsVHJhbnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFOZXdDb3VudFRyYW5zJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhTmV3Q291bnRUcmFuczInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFOZXdDb3VudGVkVHJhbnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFOZXdDb3VudGVyVHJhbnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFOZXdFcHNpbG9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhTmV3TmVnVHJhbnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFOZXdPbmNlVHJhbnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFOZXdPbmNlVHJhbnMyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhTmV3U3RhdGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFOZXdUcmFuc2l0aW9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhTmV3VHJhbnNpdGlvbjInLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sQnVmZmVyQWxsb2NhdGlvblNjaGVtZSc+CisgICAgICA8cmVmIG5hbWU9J3htbEdldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGhyRGVmQnVmZmVyQWxsb2NTY2hlbWUnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sQnVmZmVyUHRyJz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQnVmZmVyQ3JlYXRlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEJ1ZmZlckNyZWF0ZVNpemUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQnVmZmVyQ3JlYXRlU3RhdGljJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbENhdGFsb2dBbGxvdyc+CisgICAgICA8cmVmIG5hbWU9J3htbENhdGFsb2dHZXREZWZhdWx0cycvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxDYXRhbG9nUHJlZmVyJz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ2F0YWxvZ1NldERlZmF1bHRQcmVmZXInLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sQ2F0YWxvZ1B0cic+CisgICAgICA8cmVmIG5hbWU9J3htbExvYWRBQ2F0YWxvZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxMb2FkU0dNTFN1cGVyQ2F0YWxvZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdDYXRhbG9nJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbENoYXInPgorICAgICAgPHJlZiBuYW1lPSd4bWxQb3BJbnB1dCcvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxDaGFyIConPgorICAgICAgPHJlZiBuYW1lPSd4bWxBQ2F0YWxvZ1Jlc29sdmUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQUNhdGFsb2dSZXNvbHZlUHVibGljJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEFDYXRhbG9nUmVzb2x2ZVN5c3RlbScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxBQ2F0YWxvZ1Jlc29sdmVVUkknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQnVmQ29udGVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxCdWZFbmQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQnVmZmVyRGV0YWNoJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEJ1aWxkUU5hbWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQnVpbGRSZWxhdGl2ZVVSSScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxCdWlsZFVSSScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDYW5vbmljUGF0aCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDYXRhbG9nTG9jYWxSZXNvbHZlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENhdGFsb2dMb2NhbFJlc29sdmVVUkknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ2F0YWxvZ1Jlc29sdmUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ2F0YWxvZ1Jlc29sdmVQdWJsaWMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ2F0YWxvZ1Jlc29sdmVTeXN0ZW0nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ2F0YWxvZ1Jlc29sdmVVUkknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ2hhclN0cmR1cCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDaGFyU3RybmR1cCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxEZWNvZGVFbnRpdGllcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxFbmNvZGVFbnRpdGllc1JlZW50cmFudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxFbmNvZGVTcGVjaWFsQ2hhcnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sR2V0Tm9Oc1Byb3AnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sR2V0Tm9kZVBhdGgnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sR2V0TnNQcm9wJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEdldFByb3AnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmFtZXNwYWNlUGFyc2VOQ05hbWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmFtZXNwYWNlUGFyc2VOU0RlZicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOYW1lc3BhY2VQYXJzZVFOYW1lJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5vZGVHZXRCYXNlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5vZGVHZXRDb250ZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5vZGVHZXRMYW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5vZGVMaXN0R2V0UmF3U3RyaW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5vZGVMaXN0R2V0U3RyaW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5vcm1hbGl6ZVdpbmRvd3NQYXRoJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQXR0VmFsdWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbmNOYW1lJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRW50aXR5VmFsdWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFeHRlcm5hbElEJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlTm10b2tlbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVB1YmlkTGl0ZXJhbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVF1b3RlZFN0cmluZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVN5c3RlbUxpdGVyYWwnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VWZXJzaW9uSW5mbycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVZlcnNpb25OdW0nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGF0aFRvVVJJJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNhdmVVcmknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2Nhbk5hbWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hQ29sbGFwc2VTdHJpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hV2hpdGVTcGFjZVJlcGxhY2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU3BsaXRRTmFtZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTcGxpdFFOYW1lMicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTdHJjYXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU3RyZHVwJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFN0cmluZ0RlY29kZUVudGl0aWVzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFN0cmluZ0xlbkRlY29kZUVudGl0aWVzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFN0cm5jYXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU3RybmNhdE5ldycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTdHJuZHVwJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFN0cnN1YicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyQmFzZVVyaScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJHZXRBdHRyaWJ1dGVObycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlTnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckxvY2FsTmFtZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyTG9jYXRvckJhc2VVUkknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckxvb2t1cE5hbWVzcGFjZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyTmFtZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyTmFtZXNwYWNlVXJpJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJQcmVmaXgnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclJlYWRJbm5lclhtbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyUmVhZE91dGVyWG1sJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJSZWFkU3RyaW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJWYWx1ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyWG1sTGFuZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVUklFc2NhcGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVVJJRXNjYXBlU3RyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVURjhTdHJuZHVwJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVURjhTdHJzdWInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRDdHh0Tm9ybWFsaXplQXR0cmlidXRlVmFsdWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENhc3RCb29sZWFuVG9TdHJpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDYXN0Tm9kZVNldFRvU3RyaW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ2FzdE5vZGVUb1N0cmluZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENhc3ROdW1iZXJUb1N0cmluZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENhc3RUb1N0cmluZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFBhcnNlTkNOYW1lJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoUGFyc2VOYW1lJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoUG9wU3RyaW5nJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbENoYXJFbmNvZGluZyc+CisgICAgICA8cmVmIG5hbWU9J3htbERldGVjdENoYXJFbmNvZGluZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUNoYXJFbmNvZGluZycvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyJz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRmluZENoYXJFbmNvZGluZ0hhbmRsZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sR2V0Q2hhckVuY29kaW5nSGFuZGxlcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdDaGFyRW5jb2RpbmdIYW5kbGVyJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbERPTVdyYXBDdHh0UHRyJz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRE9NV3JhcE5ld0N0eHQnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sRGVyZWdpc3Rlck5vZGVGdW5jJz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRGVyZWdpc3Rlck5vZGVEZWZhdWx0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRockRlZkRlcmVnaXN0ZXJOb2RlRGVmYXVsdCcvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxEaWN0UHRyJz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRGljdENyZWF0ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxEaWN0Q3JlYXRlU3ViJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbERvY1B0cic+CisgICAgICA8cmVmIG5hbWU9J3htbENvcHlEb2MnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ3R4dFJlYWREb2MnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ3R4dFJlYWRGZCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDdHh0UmVhZEZpbGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ3R4dFJlYWRJTycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDdHh0UmVhZE1lbW9yeScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdEb2MnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VDYXRhbG9nRmlsZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZURvYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVudGl0eScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUZpbGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VNZW1vcnknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVhZERvYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWFkRmQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVhZEZpbGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVhZElPJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlYWRNZW1vcnknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVjb3ZlckRvYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWNvdmVyRmlsZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWNvdmVyTWVtb3J5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNBWFBhcnNlRG9jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNBWFBhcnNlRW50aXR5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNBWFBhcnNlRmlsZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTQVhQYXJzZUZpbGVXaXRoRGF0YScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTQVhQYXJzZU1lbW9yeScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTQVhQYXJzZU1lbW9yeVdpdGhEYXRhJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJDdXJyZW50RG9jJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbER0ZFB0cic+CisgICAgICA8cmVmIG5hbWU9J3htbENvcHlEdGQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ3JlYXRlSW50U3Vic2V0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEdldEludFN1YnNldCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxJT1BhcnNlRFREJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld0R0ZCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZURURCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTQVhQYXJzZURURCcvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxFbGVtZW50Q29udGVudFB0cic+CisgICAgICA8cmVmIG5hbWU9J3htbENvcHlEb2NFbGVtZW50Q29udGVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDb3B5RWxlbWVudENvbnRlbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3RG9jRWxlbWVudENvbnRlbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3RWxlbWVudENvbnRlbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbGVtZW50Q2hpbGRyZW5Db250ZW50RGVjbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVsZW1lbnRNaXhlZENvbnRlbnREZWNsJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbEVsZW1lbnRQdHInPgorICAgICAgPHJlZiBuYW1lPSd4bWxBZGRFbGVtZW50RGVjbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxHZXREdGRFbGVtZW50RGVzYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxHZXREdGRRRWxlbWVudERlc2MnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sRWxlbWVudFRhYmxlUHRyJz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ29weUVsZW1lbnRUYWJsZScvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxFbnRpdGllc1RhYmxlUHRyJz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ29weUVudGl0aWVzVGFibGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ3JlYXRlRW50aXRpZXNUYWJsZScvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxFbnRpdHlQdHInPgorICAgICAgPHJlZiBuYW1lPSdnZXRFbnRpdHknLz4KKyAgICAgIDxyZWYgbmFtZT0nZ2V0RW50aXR5U0FYRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSdnZXRQYXJhbWV0ZXJFbnRpdHknLz4KKyAgICAgIDxyZWYgbmFtZT0nZ2V0UGFyYW1ldGVyRW50aXR5U0FYRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxBZGREb2NFbnRpdHknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQWRkRHRkRW50aXR5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEdldERvY0VudGl0eScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxHZXREdGRFbnRpdHknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sR2V0UGFyYW1ldGVyRW50aXR5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEdldFByZWRlZmluZWRFbnRpdHknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3RW50aXR5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRW50aXR5UmVmJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNBWDJHZXRFbnRpdHknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYMkdldFBhcmFtZXRlckVudGl0eScvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxFbnVtZXJhdGlvblB0cic+CisgICAgICA8cmVmIG5hbWU9J3htbENvcHlFbnVtZXJhdGlvbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDcmVhdGVFbnVtZXJhdGlvbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVudW1lcmF0aW9uVHlwZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZU5vdGF0aW9uVHlwZScvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxFcnJvclB0cic+CisgICAgICA8cmVmIG5hbWU9J3htbEN0eHRHZXRMYXN0RXJyb3InLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sR2V0TGFzdEVycm9yJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbEV4cEN0eHRQdHInPgorICAgICAgPHJlZiBuYW1lPSd4bWxFeHBOZXdDdHh0Jy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbEV4cE5vZGVQdHInPgorICAgICAgPHJlZiBuYW1lPSd4bWxFeHBFeHBEZXJpdmUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRXhwTmV3QXRvbScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxFeHBOZXdPcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxFeHBOZXdSYW5nZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxFeHBOZXdTZXEnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRXhwUGFyc2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRXhwU3RyaW5nRGVyaXZlJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbEV4dGVybmFsRW50aXR5TG9hZGVyJz4KKyAgICAgIDxyZWYgbmFtZT0neG1sR2V0RXh0ZXJuYWxFbnRpdHlMb2FkZXInLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sR2xvYmFsU3RhdGVQdHInPgorICAgICAgPHJlZiBuYW1lPSd4bWxHZXRHbG9iYWxTdGF0ZScvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxIYXNoVGFibGVQdHInPgorICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoQ29weScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoQ3JlYXRlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEhhc2hDcmVhdGVEaWN0Jy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbElEUHRyJz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQWRkSUQnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sTGlua1B0cic+CisgICAgICA8cmVmIG5hbWU9J3htbExpc3RFbmQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTGlzdEZyb250Jy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbExpc3RQdHInPgorICAgICAgPHJlZiBuYW1lPSd4bWxHZXRSZWZzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbExpc3RDcmVhdGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTGlzdER1cCcvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxMb2NhdGlvblNldFB0cic+CisgICAgICA8cmVmIG5hbWU9J3htbFhQdHJMb2NhdGlvblNldENyZWF0ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyTG9jYXRpb25TZXRNZXJnZScvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxNb2R1bGVQdHInPgorICAgICAgPHJlZiBuYW1lPSd4bWxNb2R1bGVPcGVuJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbE11dGV4UHRyJz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3TXV0ZXgnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sTm9kZVB0cic+CisgICAgICA8cmVmIG5hbWU9J25vZGVQb3AnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQWRkQ2hpbGQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQWRkQ2hpbGRMaXN0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEFkZE5leHRTaWJsaW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEFkZFByZXZTaWJsaW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEFkZFNpYmxpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ29weU5vZGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ29weU5vZGVMaXN0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbERvY0NvcHlOb2RlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbERvY0NvcHlOb2RlTGlzdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxEb2NHZXRSb290RWxlbWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxEb2NTZXRSb290RWxlbWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxGaXJzdEVsZW1lbnRDaGlsZCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxHZXRMYXN0Q2hpbGQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTGFzdEVsZW1lbnRDaGlsZCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdDRGF0YUJsb2NrJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld0NoYXJSZWYnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3Q2hpbGQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3Q29tbWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdEb2NDb21tZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld0RvY0ZyYWdtZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld0RvY05vZGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3RG9jTm9kZUVhdE5hbWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3RG9jUEknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3RG9jUmF3Tm9kZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdEb2NUZXh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld0RvY1RleHRMZW4nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3Tm9kZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdOb2RlRWF0TmFtZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdQSScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdSZWZlcmVuY2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3VGV4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdUZXh0Q2hpbGQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3VGV4dExlbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXh0RWxlbWVudFNpYmxpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUHJldmlvdXNFbGVtZW50U2libGluZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZXBsYWNlTm9kZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTdHJpbmdHZXROb2RlTGlzdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTdHJpbmdMZW5HZXROb2RlTGlzdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0TWVyZ2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckN1cnJlbnROb2RlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJFeHBhbmQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclByZXNlcnZlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV4dEFuY2VzdG9yJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV4dEFuY2VzdG9yT3JTZWxmJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV4dEF0dHJpYnV0ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5leHRDaGlsZCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5leHREZXNjZW5kYW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV4dERlc2NlbmRhbnRPclNlbGYnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXh0Rm9sbG93aW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV4dEZvbGxvd2luZ1NpYmxpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXh0TmFtZXNwYWNlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV4dFBhcmVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5leHRQcmVjZWRpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXh0UHJlY2VkaW5nU2libGluZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5leHRTZWxmJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQdHJCdWlsZE5vZGVMaXN0Jy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbE5vZGVTZXRQdHInPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aERpZmZlcmVuY2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhEaXN0aW5jdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aERpc3RpbmN0U29ydGVkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoSW50ZXJzZWN0aW9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTGVhZGluZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aExlYWRpbmdTb3J0ZWQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb2RlTGVhZGluZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vZGVMZWFkaW5nU29ydGVkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm9kZVNldENyZWF0ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vZGVTZXRNZXJnZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vZGVUcmFpbGluZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vZGVUcmFpbGluZ1NvcnRlZCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFBvcE5vZGVTZXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhUcmFpbGluZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFRyYWlsaW5nU29ydGVkJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbE5vdGF0aW9uUHRyJz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQWRkTm90YXRpb25EZWNsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEdldER0ZE5vdGF0aW9uRGVzYycvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxOb3RhdGlvblRhYmxlUHRyJz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ29weU5vdGF0aW9uVGFibGUnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sTnNQdHInPgorICAgICAgPHJlZiBuYW1lPSdnZXROYW1lc3BhY2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ29weU5hbWVzcGFjZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDb3B5TmFtZXNwYWNlTGlzdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwQWNxdWlyZU5zRnVuY3Rpb24nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3R2xvYmFsTnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3TnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2VhcmNoTnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2VhcmNoTnNCeUhyZWYnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sTnNQdHIgKic+CisgICAgICA8cmVmIG5hbWU9J3htbEdldE5zTGlzdCcvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmMnPgorICAgICAgPHJlZiBuYW1lPSd4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGhyRGVmT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0Jy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbE91dHB1dEJ1ZmZlclB0cic+CisgICAgICA8cmVmIG5hbWU9J3htbEFsbG9jT3V0cHV0QnVmZmVyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dEJ1ZmZlckNyZWF0ZUJ1ZmZlcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxPdXRwdXRCdWZmZXJDcmVhdGVGZCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxPdXRwdXRCdWZmZXJDcmVhdGVJTycvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxQYXJzZXJDdHh0UHRyJz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ3JlYXRlRG9jUGFyc2VyQ3R4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDcmVhdGVFbnRpdHlQYXJzZXJDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbENyZWF0ZUZpbGVQYXJzZXJDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbENyZWF0ZUlPUGFyc2VyQ3R4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDcmVhdGVNZW1vcnlQYXJzZXJDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbENyZWF0ZVB1c2hQYXJzZXJDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbENyZWF0ZVVSTFBhcnNlckN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3UGFyc2VyQ3R4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZEN0eHRHZXRQYXJzZXJDdHh0Jy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbFBhcnNlckVycm9ycyc+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlSW5Ob2RlQ29udGV4dCcvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYyc+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRockRlZlBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0Jy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyUHRyJz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQWxsb2NQYXJzZXJJbnB1dEJ1ZmZlcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlSU8nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVNZW0nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVTdGF0aWMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckdldFJlbWFpbmRlcicvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxQYXJzZXJJbnB1dFB0cic+CisgICAgICA8cmVmIG5hbWU9J2lucHV0UG9wJy8+CisgICAgICA8cmVmIG5hbWU9J3Jlc29sdmVFbnRpdHknLz4KKyAgICAgIDxyZWYgbmFtZT0ncmVzb2x2ZUVudGl0eVNBWEZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ2hlY2tIVFRQSW5wdXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRXh0ZXJuYWxFbnRpdHlMb2FkZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTG9hZEV4dGVybmFsRW50aXR5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld0VudGl0eUlucHV0U3RyZWFtJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld0lPSW5wdXRTdHJlYW0nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3SW5wdXRGcm9tRmlsZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdJbnB1dFN0cmVhbScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdTdHJpbmdJbnB1dFN0cmVhbScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOb05ldEV4dGVybmFsRW50aXR5TG9hZGVyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNBWDJSZXNvbHZlRW50aXR5Jy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbFBhdHRlcm5QdHInPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXR0ZXJuY29tcGlsZScvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxSTXV0ZXhQdHInPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdSTXV0ZXgnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sUmVmUHRyJz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQWRkUmVmJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbFJlZ0V4ZWNDdHh0UHRyJz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVnTmV3RXhlY0N0eHQnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sUmVnZXhwUHRyJz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFDb21waWxlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlZ2V4cENvbXBpbGUnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sUmVnaXN0ZXJOb2RlRnVuYyc+CisgICAgICA8cmVmIG5hbWU9J3htbFJlZ2lzdGVyTm9kZURlZmF1bHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGhyRGVmUmVnaXN0ZXJOb2RlRGVmYXVsdCcvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxSZWxheE5HUGFyc2VyQ3R4dFB0cic+CisgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4TkdOZXdEb2NQYXJzZXJDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4TkdOZXdNZW1QYXJzZXJDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4TkdOZXdQYXJzZXJDdHh0Jy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbFJlbGF4TkdQdHInPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HUGFyc2UnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sUmVsYXhOR1ZhbGlkQ3R4dFB0cic+CisgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4TkdOZXdWYWxpZEN0eHQnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sU2F2ZUN0eHRQdHInPgorICAgICAgPHJlZiBuYW1lPSd4bWxTYXZlVG9CdWZmZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2F2ZVRvRmQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2F2ZVRvRmlsZW5hbWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2F2ZVRvSU8nLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sU2NoZW1hRmFjZXRQdHInPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFOZXdGYWNldCcvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxTY2hlbWFQYXJzZXJDdHh0UHRyJz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hTmV3RG9jUGFyc2VyQ3R4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFOZXdNZW1QYXJzZXJDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYU5ld1BhcnNlckN0eHQnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sU2NoZW1hUHRyJz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hUGFyc2UnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sU2NoZW1hU0FYUGx1Z1B0cic+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVNBWFBsdWcnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sU2NoZW1hVHlwZVB0cic+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUdldEJ1aWx0SW5MaXN0U2ltcGxlVHlwZUl0ZW1UeXBlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUdldEJ1aWx0SW5UeXBlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUdldFByZWRlZmluZWRUeXBlJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbFNjaGVtYVZhbFB0cic+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUNvcHlWYWx1ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFOZXdOT1RBVElPTlZhbHVlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYU5ld1FOYW1lVmFsdWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hTmV3U3RyaW5nVmFsdWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsdWVHZXROZXh0Jy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbFNjaGVtYVZhbFR5cGUnPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFHZXRWYWxUeXBlJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbFNjaGVtYVZhbGlkQ3R4dFB0cic+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYU5ld1ZhbGlkQ3R4dCcvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxTY2hlbWF0cm9uUGFyc2VyQ3R4dFB0cic+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYXRyb25OZXdEb2NQYXJzZXJDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYXRyb25OZXdNZW1QYXJzZXJDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYXRyb25OZXdQYXJzZXJDdHh0Jy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbFNjaGVtYXRyb25QdHInPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWF0cm9uUGFyc2UnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sU2NoZW1hdHJvblZhbGlkQ3R4dFB0cic+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYXRyb25OZXdWYWxpZEN0eHQnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sU3RyZWFtQ3R4dFB0cic+CisgICAgICA8cmVmIG5hbWU9J3htbFBhdHRlcm5HZXRTdHJlYW1DdHh0Jy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbFRleHRSZWFkZXJQdHInPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdUZXh0UmVhZGVyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld1RleHRSZWFkZXJGaWxlbmFtZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWFkZXJGb3JEb2MnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVhZGVyRm9yRmQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVhZGVyRm9yRmlsZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWFkZXJGb3JJTycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWFkZXJGb3JNZW1vcnknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVhZGVyV2Fsa2VyJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbFRleHRXcml0ZXJQdHInPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdUZXh0V3JpdGVyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld1RleHRXcml0ZXJEb2MnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3VGV4dFdyaXRlckZpbGVuYW1lJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld1RleHRXcml0ZXJNZW1vcnknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3VGV4dFdyaXRlclB1c2hQYXJzZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3VGV4dFdyaXRlclRyZWUnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sVVJJUHRyJz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ3JlYXRlVVJJJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlVVJJJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlVVJJUmF3Jy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbFZhbGlkQ3R4dFB0cic+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld1ZhbGlkQ3R4dCcvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxYSW5jbHVkZUN0eHRQdHInPgorICAgICAgPHJlZiBuYW1lPSd4bWxYSW5jbHVkZU5ld0NvbnRleHQnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sWFBhdGhDb21wRXhwclB0cic+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ29tcGlsZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEN0eHRDb21waWxlJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbFhQYXRoQ29udGV4dFB0cic+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV3Q29udGV4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyTmV3Q29udGV4dCcvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxYUGF0aEZ1bmN0aW9uJz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhGdW5jTG9va3VwRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEZ1bmN0aW9uTG9va3VwJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRnVuY3Rpb25Mb29rdXBOUycvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxYUGF0aE9iamVjdFB0cic+CisgICAgICA8cmVmIG5hbWU9J3ZhbHVlUG9wJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQXhpc0Z1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDb21waWxlZEV2YWwnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDb252ZXJ0Qm9vbGVhbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENvbnZlcnROdW1iZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDb252ZXJ0U3RyaW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRXZhbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEV2YWxFeHByZXNzaW9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV3Qm9vbGVhbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5ld0NTdHJpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXdGbG9hdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5ld05vZGVTZXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXdOb2RlU2V0TGlzdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5ld1N0cmluZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5ld1ZhbHVlVHJlZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vZGVFdmFsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoT2JqZWN0Q29weScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFZhcmlhYmxlTG9va3VwJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoVmFyaWFibGVMb29rdXBGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoVmFyaWFibGVMb29rdXBOUycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFdyYXBDU3RyaW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoV3JhcEV4dGVybmFsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoV3JhcE5vZGVTZXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhXcmFwU3RyaW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQdHJFdmFsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQdHJOZXdDb2xsYXBzZWRSYW5nZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyTmV3TG9jYXRpb25TZXROb2RlU2V0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQdHJOZXdMb2NhdGlvblNldE5vZGVzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQdHJOZXdSYW5nZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyTmV3UmFuZ2VOb2RlT2JqZWN0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQdHJOZXdSYW5nZU5vZGVQb2ludCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyTmV3UmFuZ2VOb2RlcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyTmV3UmFuZ2VQb2ludE5vZGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFB0ck5ld1JhbmdlUG9pbnRzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQdHJXcmFwTG9jYXRpb25TZXQnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyJz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXdQYXJzZXJDb250ZXh0Jy8+CisgICAgPC90eXBlPgorICA8L2NvbnN0cnVjdG9ycz4KKyAgPGZ1bmN0aW9ucz4KKyAgICA8dHlwZSBuYW1lPScuLi4nPgorICAgICAgPHJlZiBuYW1lPSdlcnJvclNBWEZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0nZmF0YWxFcnJvclNBWEZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0nd2FybmluZ1NBWEZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sR2VuZXJpY0Vycm9yRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJFcnJvcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJWYWxpZGl0eUVycm9yJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlclZhbGlkaXR5V2FybmluZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJXYXJuaW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4TkdWYWxpZGl0eUVycm9yRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HVmFsaWRpdHlXYXJuaW5nRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGl0eUVycm9yRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGl0eVdhcm5pbmdGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYXRyb25WYWxpZGl0eUVycm9yRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWF0cm9uVmFsaWRpdHlXYXJuaW5nRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTdHJQcmludGYnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0QXR0cmlidXRlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdEF0dHJpYnV0ZU5TJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdENEQVRBJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdENvbW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFREJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdERUREF0dGxpc3QnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFRERWxlbWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVERJbnRlcm5hbEVudGl0eScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRFbGVtZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdEVsZW1lbnROUycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRQSScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRSYXcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0U3RyaW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkaXR5RXJyb3JGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkaXR5V2FybmluZ0Z1bmMnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0nRklMRSAqJz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbERvY0R1bXAnLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbE5vZGVEdW1wRmlsZScvPgorICAgICAgPHJlZiBuYW1lPSdodG1sTm9kZUR1bXBGaWxlRm9ybWF0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEFDYXRhbG9nRHVtcCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxCdWZmZXJEdW1wJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENhdGFsb2dEdW1wJy8+CisgICAgICA8cmVmIG5hbWU9J3htbERlYnVnQ2hlY2tEb2N1bWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxEZWJ1Z0R1bXBBdHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbERlYnVnRHVtcEF0dHJMaXN0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbERlYnVnRHVtcERURCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxEZWJ1Z0R1bXBEb2N1bWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxEZWJ1Z0R1bXBEb2N1bWVudEhlYWQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRGVidWdEdW1wRW50aXRpZXMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRGVidWdEdW1wTm9kZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxEZWJ1Z0R1bXBOb2RlTGlzdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxEZWJ1Z0R1bXBPbmVOb2RlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbERlYnVnRHVtcFN0cmluZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxEb2NEdW1wJy8+CisgICAgICA8cmVmIG5hbWU9J3htbERvY0Zvcm1hdER1bXAnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRWxlbUR1bXAnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTHNPbmVOb2RlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE1lbURpc3BsYXknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTWVtRGlzcGxheUxhc3QnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTWVtU2hvdycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQcmludFVSSScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWdleHBQcmludCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HRHVtcCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HRHVtcFRyZWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hRHVtcCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTaGVsbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aERlYnVnRHVtcENvbXBFeHByJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRGVidWdEdW1wT2JqZWN0Jy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J2NoYXIgKionPgorICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUEZldGNoJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5hbm9IVFRQTWV0aG9kJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5hbm9IVFRQTWV0aG9kUmVkaXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmFub0hUVFBPcGVuJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5hbm9IVFRQT3BlblJlZGlyJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J2NoYXIgY29uc3QgKic+CisgICAgICA8cmVmIG5hbWU9J3htbElucHV0TWF0Y2hDYWxsYmFjaycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxJbnB1dE9wZW5DYWxsYmFjaycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxPdXRwdXRNYXRjaENhbGxiYWNrJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dE9wZW5DYWxsYmFjaycvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSdjb25zdCBjaGFyICoqJz4KKyAgICAgIDxyZWYgbmFtZT0neG1sR2V0RmVhdHVyZXNMaXN0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbGlkaXR5TG9jYXRvckZ1bmMnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0nY29uc3QgaHRtbEVsZW1EZXNjIConPgorICAgICAgPHJlZiBuYW1lPSdodG1sQXR0ckFsbG93ZWQnLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbEVsZW1lbnRBbGxvd2VkSGVyZScvPgorICAgICAgPHJlZiBuYW1lPSdodG1sRWxlbWVudFN0YXR1c0hlcmUnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0nY29uc3QgaHRtbE5vZGVQdHInPgorICAgICAgPHJlZiBuYW1lPSdodG1sTm9kZVN0YXR1cycvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSdjb25zdCB1bnNpZ25lZCBjaGFyIConPgorICAgICAgPHJlZiBuYW1lPSdVVEY4VG9IdG1sJy8+CisgICAgICA8cmVmIG5hbWU9J1VURjhUb2lzb2xhdDEnLz4KKyAgICAgIDxyZWYgbmFtZT0nZG9jYkVuY29kZUVudGl0aWVzJy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxFbmNvZGVFbnRpdGllcycvPgorICAgICAgPHJlZiBuYW1lPSdpc29sYXQxVG9VVEY4Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbENoYXJFbmNvZGluZ0lucHV0RnVuYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDaGFyRW5jb2RpbmdPdXRwdXRGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENoZWNrVVRGOCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxEZXRlY3RDaGFyRW5jb2RpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sR2V0VVRGOENoYXInLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0nY29uc3Qgdm9pZCAqJz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTGlzdERhdGFDb21wYXJlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbExpc3RSZXZlcnNlV2FsaycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0V2FsaycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0V2Fsa2VyJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J2NvbnN0IHhsaW5rSFJlZic+CisgICAgICA8cmVmIG5hbWU9J3hsaW5rU2ltcGxlTGlua0Z1bmsnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0nY29uc3QgeGxpbmtIUmVmIConPgorICAgICAgPHJlZiBuYW1lPSd4bGlua0V4dGVuZGVkTGlua0Z1bmsnLz4KKyAgICAgIDxyZWYgbmFtZT0neGxpbmtFeHRlbmRlZExpbmtTZXRGdW5rJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J2NvbnN0IHhsaW5rUm9sZSc+CisgICAgICA8cmVmIG5hbWU9J3hsaW5rU2ltcGxlTGlua0Z1bmsnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0nY29uc3QgeGxpbmtSb2xlIConPgorICAgICAgPHJlZiBuYW1lPSd4bGlua0V4dGVuZGVkTGlua0Z1bmsnLz4KKyAgICAgIDxyZWYgbmFtZT0neGxpbmtFeHRlbmRlZExpbmtTZXRGdW5rJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J2NvbnN0IHhsaW5rVGl0bGUnPgorICAgICAgPHJlZiBuYW1lPSd4bGlua1NpbXBsZUxpbmtGdW5rJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J2NvbnN0IHhsaW5rVGl0bGUgKic+CisgICAgICA8cmVmIG5hbWU9J3hsaW5rRXh0ZW5kZWRMaW5rRnVuaycvPgorICAgICAgPHJlZiBuYW1lPSd4bGlua0V4dGVuZGVkTGlua1NldEZ1bmsnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0nY29uc3QgeG1sQnVmIConPgorICAgICAgPHJlZiBuYW1lPSd4bWxCdWZDb250ZW50Jy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J2NvbnN0IHhtbEJ1ZlB0cic+CisgICAgICA8cmVmIG5hbWU9J3htbEJ1ZlVzZScvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSdjb25zdCB4bWxCdWZmZXIgKic+CisgICAgICA8cmVmIG5hbWU9J3htbEJ1ZmZlckNvbnRlbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQnVmZmVyTGVuZ3RoJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J2NvbnN0IHhtbENoUmFuZ2VHcm91cCAqJz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ2hhckluUmFuZ2UnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0nY29uc3QgeG1sQ2hhciAqJz4KKyAgICAgIDxyZWYgbmFtZT0nYXR0cmlidXRlJy8+CisgICAgICA8cmVmIG5hbWU9J2F0dHJpYnV0ZURlY2wnLz4KKyAgICAgIDxyZWYgbmFtZT0nYXR0cmlidXRlRGVjbFNBWEZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0nYXR0cmlidXRlU0FYRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSdjZGF0YUJsb2NrJy8+CisgICAgICA8cmVmIG5hbWU9J2NkYXRhQmxvY2tTQVhGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J2NoYXJhY3RlcnMnLz4KKyAgICAgIDxyZWYgbmFtZT0nY2hhcmFjdGVyc1NBWEZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0nY29tbWVudCcvPgorICAgICAgPHJlZiBuYW1lPSdjb21tZW50U0FYRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSdlbGVtZW50RGVjbCcvPgorICAgICAgPHJlZiBuYW1lPSdlbGVtZW50RGVjbFNBWEZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0nZW5kRWxlbWVudCcvPgorICAgICAgPHJlZiBuYW1lPSdlbmRFbGVtZW50TnNTQVgyRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSdlbmRFbGVtZW50U0FYRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSdlbnRpdHlEZWNsJy8+CisgICAgICA8cmVmIG5hbWU9J2VudGl0eURlY2xTQVhGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J2V4dGVybmFsU3Vic2V0Jy8+CisgICAgICA8cmVmIG5hbWU9J2V4dGVybmFsU3Vic2V0U0FYRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSdnZXRFbnRpdHknLz4KKyAgICAgIDxyZWYgbmFtZT0nZ2V0RW50aXR5U0FYRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSdnZXRQYXJhbWV0ZXJFbnRpdHknLz4KKyAgICAgIDxyZWYgbmFtZT0nZ2V0UGFyYW1ldGVyRW50aXR5U0FYRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSdnbG9iYWxOYW1lc3BhY2UnLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbEF0dHJBbGxvd2VkJy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxBdXRvQ2xvc2VUYWcnLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbEN0eHRSZWFkRG9jJy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxFbGVtZW50QWxsb3dlZEhlcmUnLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbEVudGl0eUxvb2t1cCcvPgorICAgICAgPHJlZiBuYW1lPSdodG1sSXNCb29sZWFuQXR0cicvPgorICAgICAgPHJlZiBuYW1lPSdodG1sSXNTY3JpcHRBdHRyaWJ1dGUnLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbE5ld0RvYycvPgorICAgICAgPHJlZiBuYW1lPSdodG1sTmV3RG9jTm9EdEQnLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbFJlYWREb2MnLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbFNldE1ldGFFbmNvZGluZycvPgorICAgICAgPHJlZiBuYW1lPSdodG1sVGFnTG9va3VwJy8+CisgICAgICA8cmVmIG5hbWU9J2lnbm9yYWJsZVdoaXRlc3BhY2UnLz4KKyAgICAgIDxyZWYgbmFtZT0naWdub3JhYmxlV2hpdGVzcGFjZVNBWEZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0naW50ZXJuYWxTdWJzZXQnLz4KKyAgICAgIDxyZWYgbmFtZT0naW50ZXJuYWxTdWJzZXRTQVhGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J25hbWVQdXNoJy8+CisgICAgICA8cmVmIG5hbWU9J25hbWVzcGFjZURlY2wnLz4KKyAgICAgIDxyZWYgbmFtZT0nbm90YXRpb25EZWNsJy8+CisgICAgICA8cmVmIG5hbWU9J25vdGF0aW9uRGVjbFNBWEZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0ncHJvY2Vzc2luZ0luc3RydWN0aW9uJy8+CisgICAgICA8cmVmIG5hbWU9J3Byb2Nlc3NpbmdJbnN0cnVjdGlvblNBWEZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0ncmVmZXJlbmNlJy8+CisgICAgICA8cmVmIG5hbWU9J3JlZmVyZW5jZVNBWEZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0ncmVzb2x2ZUVudGl0eScvPgorICAgICAgPHJlZiBuYW1lPSdyZXNvbHZlRW50aXR5U0FYRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSdzZXROYW1lc3BhY2UnLz4KKyAgICAgIDxyZWYgbmFtZT0nc3RhcnRFbGVtZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3N0YXJ0RWxlbWVudE5zU0FYMkZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0nc3RhcnRFbGVtZW50U0FYRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSd1bnBhcnNlZEVudGl0eURlY2wnLz4KKyAgICAgIDxyZWYgbmFtZT0ndW5wYXJzZWRFbnRpdHlEZWNsU0FYRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxBQ2F0YWxvZ0FkZCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxBQ2F0YWxvZ1JlbW92ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxBQ2F0YWxvZ1Jlc29sdmUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQUNhdGFsb2dSZXNvbHZlUHVibGljJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEFDYXRhbG9nUmVzb2x2ZVN5c3RlbScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxBQ2F0YWxvZ1Jlc29sdmVVUkknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQWRkQXR0cmlidXRlRGVjbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxBZGREb2NFbnRpdHknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQWRkRHRkRW50aXR5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEFkZEVsZW1lbnREZWNsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEFkZElEJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEFkZE5vdGF0aW9uRGVjbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxBZGRSZWYnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQXR0clNlcmlhbGl6ZVR4dENvbnRlbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFOZXdDb3VudFRyYW5zJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhTmV3Q291bnRUcmFuczInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFOZXdOZWdUcmFucycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YU5ld09uY2VUcmFucycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YU5ld09uY2VUcmFuczInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFOZXdUcmFuc2l0aW9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhTmV3VHJhbnNpdGlvbjInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQnVmZmVyQWRkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEJ1ZmZlckFkZEhlYWQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQnVmZmVyQ2F0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEJ1ZmZlcldyaXRlQ0hBUicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxCdWZmZXJXcml0ZVF1b3RlZFN0cmluZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxCdWlsZFFOYW1lJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEJ1aWxkUmVsYXRpdmVVUkknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQnVpbGRVUkknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ2Fub25pY1BhdGgnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ2F0YWxvZ0FkZCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDYXRhbG9nQWRkTG9jYWwnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ2F0YWxvZ0dldFB1YmxpYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDYXRhbG9nR2V0U3lzdGVtJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENhdGFsb2dMb2NhbFJlc29sdmUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ2F0YWxvZ0xvY2FsUmVzb2x2ZVVSSScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDYXRhbG9nUmVtb3ZlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENhdGFsb2dSZXNvbHZlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENhdGFsb2dSZXNvbHZlUHVibGljJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENhdGFsb2dSZXNvbHZlU3lzdGVtJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENhdGFsb2dSZXNvbHZlVVJJJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENoZWNrTGFuZ3VhZ2VJRCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDcmVhdGVEb2NQYXJzZXJDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbENyZWF0ZUVudGl0eVBhcnNlckN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ3JlYXRlRW51bWVyYXRpb24nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ3JlYXRlSW50U3Vic2V0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEN0eHRSZWFkRG9jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbERPTVdyYXBBY3F1aXJlTnNGdW5jdGlvbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxEZWJ1Z0R1bXBTdHJpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRGljdEV4aXN0cycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxEaWN0TG9va3VwJy8+CisgICAgICA8cmVmIG5hbWU9J3htbERpY3RPd25zJy8+CisgICAgICA8cmVmIG5hbWU9J3htbERpY3RRTG9va3VwJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEVuY29kZUVudGl0aWVzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEVuY29kZUVudGl0aWVzUmVlbnRyYW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEVuY29kZVNwZWNpYWxDaGFycycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxFeHBOZXdBdG9tJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEV4cFN0cmluZ0Rlcml2ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxHZXREb2NFbnRpdHknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sR2V0RHRkQXR0ckRlc2MnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sR2V0RHRkRWxlbWVudERlc2MnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sR2V0RHRkRW50aXR5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEdldER0ZE5vdGF0aW9uRGVzYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxHZXREdGRRQXR0ckRlc2MnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sR2V0RHRkUUVsZW1lbnREZXNjJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEdldElEJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEdldE5vTnNQcm9wJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEdldE5zUHJvcCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxHZXRQYXJhbWV0ZXJFbnRpdHknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sR2V0UHJlZGVmaW5lZEVudGl0eScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxHZXRQcm9wJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEdldFJlZnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSGFzTnNQcm9wJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEhhc1Byb3AnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSGFzaEFkZEVudHJ5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEhhc2hBZGRFbnRyeTInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSGFzaEFkZEVudHJ5MycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoTG9va3VwJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEhhc2hMb29rdXAyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEhhc2hMb29rdXAzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEhhc2hRTG9va3VwJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEhhc2hRTG9va3VwMicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoUUxvb2t1cDMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFJlbW92ZUVudHJ5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEhhc2hSZW1vdmVFbnRyeTInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFJlbW92ZUVudHJ5MycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoU2NhbjMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFNjYW5GdWxsMycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoU2Nhbm5lckZ1bGwnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFVwZGF0ZUVudHJ5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEhhc2hVcGRhdGVFbnRyeTInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFVwZGF0ZUVudHJ5MycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxJc01peGVkRWxlbWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxJc1hIVE1MJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld0NEYXRhQmxvY2snLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3Q2hhclJlZicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdDaGlsZCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdDb21tZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld0RvYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdEb2NDb21tZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld0RvY0VsZW1lbnRDb250ZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld0RvY05vZGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3RG9jTm9kZUVhdE5hbWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3RG9jUEknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3RG9jUHJvcCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdEb2NSYXdOb2RlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld0RvY1RleHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3RG9jVGV4dExlbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdEdGQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3RWxlbWVudENvbnRlbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3RW50aXR5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld0dsb2JhbE5zJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld05vZGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3TnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3TnNQcm9wJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld05zUHJvcEVhdE5hbWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3UEknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3UHJvcCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdSZWZlcmVuY2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3U3RyaW5nSW5wdXRTdHJlYW0nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3VGV4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdUZXh0Q2hpbGQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3VGV4dExlbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlQWRkQ29udGVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlQWRkQ29udGVudExlbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlU2V0QmFzZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlU2V0Q29udGVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlU2V0Q29udGVudExlbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlU2V0TGFuZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlU2V0TmFtZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOb3JtYWxpemVXaW5kb3dzUGF0aCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxPdXRwdXRCdWZmZXJXcml0ZUVzY2FwZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5UmVjb3ZlcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUN0eHRFeHRlcm5hbEVudGl0eScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZURURCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZURvYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVsZW1lbnRDb250ZW50RGVjbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUV4dGVybmFsRW50aXR5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRXh0ZXJuYWxTdWJzZXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGF0aFRvVVJJJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhdHRlcm5jb21waWxlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlYWREb2MnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVhZGVyRm9yRG9jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlYWRlck5ld0RvYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWNvdmVyRG9jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlZ0V4ZWNDYWxsYmFja3MnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVnRXhlY1B1c2hTdHJpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVnRXhlY1B1c2hTdHJpbmcyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlZ2V4cENvbXBpbGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVnZXhwRXhlYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HVmFsaWRhdGVQdXNoQ0RhdGEnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYMkF0dHJpYnV0ZURlY2wnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYMkNEYXRhQmxvY2snLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYMkNoYXJhY3RlcnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYMkNvbW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYMkVsZW1lbnREZWNsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNBWDJFbmRFbGVtZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNBWDJFbmRFbGVtZW50TnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYMkVudGl0eURlY2wnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYMkV4dGVybmFsU3Vic2V0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNBWDJHZXRFbnRpdHknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYMkdldFBhcmFtZXRlckVudGl0eScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTQVgySWdub3JhYmxlV2hpdGVzcGFjZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTQVgySW50ZXJuYWxTdWJzZXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYMk5vdGF0aW9uRGVjbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTQVgyUHJvY2Vzc2luZ0luc3RydWN0aW9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNBWDJSZWZlcmVuY2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYMlJlc29sdmVFbnRpdHknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYMlN0YXJ0RWxlbWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTQVgyU3RhcnRFbGVtZW50TnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYMlVucGFyc2VkRW50aXR5RGVjbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTQVhQYXJzZURURCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTQVhQYXJzZURvYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFDaGVja0ZhY2V0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUNvbGxhcHNlU3RyaW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUdldFByZWRlZmluZWRUeXBlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYU5ld05PVEFUSU9OVmFsdWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hTmV3UU5hbWVWYWx1ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFOZXdTdHJpbmdWYWx1ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxQcmVkZWZUeXBlTm9kZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxQcmVkZWZUeXBlTm9kZU5vTm9ybScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbGlkYXRlRmFjZXRXaHRzcCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZUxlbmd0aEZhY2V0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXRXaHRzcCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZUxpc3RTaW1wbGVUeXBlRmFjZXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRhdGVQcmVkZWZpbmVkVHlwZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFXaGl0ZVNwYWNlUmVwbGFjZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTZWFyY2hOcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTZWFyY2hOc0J5SHJlZicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTZXROc1Byb3AnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2V0UHJvcCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTZXR1cFBhcnNlckZvckJ1ZmZlcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTcGxpdFFOYW1lJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNwbGl0UU5hbWUyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNwbGl0UU5hbWUzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFN0ckVxdWFsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFN0clByaW50ZicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTdHJRRXF1YWwnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU3RyVlByaW50ZicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTdHJjYXNlY21wJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFN0cmNhc2VzdHInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU3RyY2F0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFN0cmNocicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTdHJjbXAnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU3RyZHVwJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFN0cmVhbVB1c2gnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU3RyZWFtUHVzaEF0dHInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU3RyZWFtUHVzaE5vZGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU3RyaW5nQ3VycmVudENoYXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU3RyaW5nRGVjb2RlRW50aXRpZXMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU3RyaW5nR2V0Tm9kZUxpc3QnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU3RyaW5nTGVuRGVjb2RlRW50aXRpZXMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU3RyaW5nTGVuR2V0Tm9kZUxpc3QnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU3RybGVuJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFN0cm5jYXNlY21wJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFN0cm5jYXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU3RybmNhdE5ldycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTdHJuY21wJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFN0cm5kdXAnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU3Ryc3RyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFN0cnN1YicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0Q29uY2F0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJDb25zdFN0cmluZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJHZXRBdHRyaWJ1dGVOcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyTG9va3VwTmFtZXNwYWNlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJNb3ZlVG9BdHRyaWJ1dGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlck1vdmVUb0F0dHJpYnV0ZU5zJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJQcmVzZXJ2ZVBhdHRlcm4nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlclNldEluZGVudFN0cmluZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyU3RhcnRBdHRyaWJ1dGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlclN0YXJ0QXR0cmlidXRlTlMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlclN0YXJ0RFREJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJTdGFydERUREF0dGxpc3QnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlclN0YXJ0RFRERWxlbWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyU3RhcnREVERFbnRpdHknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlclN0YXJ0RWxlbWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyU3RhcnRFbGVtZW50TlMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlclN0YXJ0UEknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlQXR0cmlidXRlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZUF0dHJpYnV0ZU5TJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZUNEQVRBJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZUNvbW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRFREJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZURUREF0dGxpc3QnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRFRERWxlbWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVEVERFbnRpdHknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRFRERXh0ZXJuYWxFbnRpdHknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRFRERXh0ZXJuYWxFbnRpdHlDb250ZW50cycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVEVERJbnRlcm5hbEVudGl0eScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVEVEROb3RhdGlvbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVFbGVtZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZUVsZW1lbnROUycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRBdHRyaWJ1dGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0QXR0cmlidXRlTlMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFREJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdERUREF0dGxpc3QnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFRERWxlbWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVERJbnRlcm5hbEVudGl0eScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRFbGVtZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdEVsZW1lbnROUycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRQSScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVQSScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVSYXcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlUmF3TGVuJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZVN0cmluZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0QXR0cmlidXRlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRBdHRyaWJ1dGVOUycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFREJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVERBdHRsaXN0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVERFbGVtZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVERJbnRlcm5hbEVudGl0eScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RWxlbWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RWxlbWVudE5TJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRQSScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVUklFc2NhcGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVVJJRXNjYXBlU3RyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVURjhDaGFyY21wJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVURjhTaXplJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVURjhTdHJsZW4nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVVRGOFN0cmxvYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVVEY4U3RybmR1cCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVVEY4U3RycG9zJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVURjhTdHJzaXplJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVURjhTdHJzdWInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVW5zZXROc1Byb3AnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVW5zZXRQcm9wJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkQ3R4dE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkTm9ybWFsaXplQXR0cmlidXRlVmFsdWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVBdHRyaWJ1dGVWYWx1ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZU5DTmFtZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZU5NVG9rZW4nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVOYW1lJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlTmFtZVZhbHVlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlTmFtZXNWYWx1ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZU5tdG9rZW5WYWx1ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZU5tdG9rZW5zVmFsdWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVOb3RhdGlvblVzZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZU9uZUF0dHJpYnV0ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZU9uZU5hbWVzcGFjZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZVBvcEVsZW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVQdXNoQ0RhdGEnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVQdXNoRWxlbWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZVFOYW1lJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ2FzdFN0cmluZ1RvQm9vbGVhbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENhc3RTdHJpbmdUb051bWJlcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENvbXBpbGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDdHh0Q29tcGlsZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEV2YWwnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhFdmFsRXhwcmVzc2lvbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEZ1bmNMb29rdXBGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRnVuY3Rpb25Mb29rdXAnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhGdW5jdGlvbkxvb2t1cE5TJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoSXNOb2RlVHlwZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5ld1BhcnNlckNvbnRleHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXdTdHJpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb2RlRXZhbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5zTG9va3VwJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoUmVnaXN0ZXJGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoUmVnaXN0ZXJGdW5jTlMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhSZWdpc3Rlck5zJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGVOUycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFN0cmluZ0V2YWxOdW1iZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhWYXJpYWJsZUxvb2t1cCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFZhcmlhYmxlTG9va3VwRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFZhcmlhYmxlTG9va3VwTlMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFB0ckV2YWwnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0nY29uc3QgeG1sQ2hhciAqKic+CisgICAgICA8cmVmIG5hbWU9J2h0bWxQYXJzZUVudGl0eVJlZicvPgorICAgICAgPHJlZiBuYW1lPSdzdGFydEVsZW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0nc3RhcnRFbGVtZW50TnNTQVgyRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSdzdGFydEVsZW1lbnRTQVhGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3hsaW5rRXh0ZW5kZWRMaW5rRnVuaycvPgorICAgICAgPHJlZiBuYW1lPSd4bGlua0V4dGVuZGVkTGlua1NldEZ1bmsnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRXhwR2V0TGFuZ3VhZ2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRXhwR2V0U3RhcnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGF0dGVybmNvbXBpbGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVnRXhlY0VyckluZm8nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYMlN0YXJ0RWxlbWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTQVgyU3RhcnRFbGVtZW50TnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hR2V0Q2Fub25WYWx1ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFHZXRDYW5vblZhbHVlV2h0c3AnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclByZXNlcnZlUGF0dGVybicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZEdldFBvdGVudGlhbENoaWxkcmVuJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkR2V0VmFsaWRFbGVtZW50cycvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSdjb25zdCB4bWxEb2MgKic+CisgICAgICA8cmVmIG5hbWU9J3htbERvY0dldFJvb3RFbGVtZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEVuY29kZVNwZWNpYWxDaGFycycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxHZXREb2NDb21wcmVzc01vZGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sR2V0RG9jRW50aXR5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEdldEludFN1YnNldCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxHZXROc0xpc3QnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3RG9jVGV4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdSZWZlcmVuY2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUdldEJhc2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUxpc3RHZXRSYXdTdHJpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU3RyaW5nR2V0Tm9kZUxpc3QnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU3RyaW5nTGVuR2V0Tm9kZUxpc3QnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0nY29uc3QgeG1sTGlzdFB0cic+CisgICAgICA8cmVmIG5hbWU9J3htbExpc3RDb3B5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbExpc3REdXAnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0nY29uc3QgeG1sTm9kZSAqJz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQnVmR2V0Tm9kZUNvbnRlbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sR2V0TGFzdENoaWxkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEdldExpbmVObycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxHZXROb05zUHJvcCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxHZXROb2RlUGF0aCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxHZXROc0xpc3QnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sR2V0TnNQcm9wJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEdldFByb3AnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSGFzTnNQcm9wJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEhhc1Byb3AnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSXNCbGFua05vZGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUJ1ZkdldENvbnRlbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUdldEJhc2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUdldENvbnRlbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUdldExhbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUdldFNwYWNlUHJlc2VydmUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUlzVGV4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlTGlzdEdldFJhd1N0cmluZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlTGlzdEdldFN0cmluZycvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSdjb25zdCB4bWxOb2RlUHRyJz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VyRmluZE5vZGVJbmZvJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlckZpbmROb2RlSW5mb0luZGV4Jy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J2NvbnN0IHhtbFBhcnNlckN0eHRQdHInPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJGaW5kTm9kZUluZm8nLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0nY29uc3QgeG1sUGFyc2VyTm9kZUluZm9QdHInPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJBZGROb2RlSW5mbycvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSdjb25zdCB4bWxQYXJzZXJOb2RlSW5mb1NlcVB0cic+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlckZpbmROb2RlSW5mb0luZGV4Jy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J2RvY2JQYXJzZXJDdHh0UHRyJz4KKyAgICAgIDxyZWYgbmFtZT0nZG9jYkZyZWVQYXJzZXJDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J2RvY2JQYXJzZUNodW5rJy8+CisgICAgICA8cmVmIG5hbWU9J2RvY2JQYXJzZURvY3VtZW50Jy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J2RvY2JTQVhIYW5kbGVyUHRyJz4KKyAgICAgIDxyZWYgbmFtZT0nZG9jYkNyZWF0ZVB1c2hQYXJzZXJDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J2RvY2JTQVhQYXJzZURvYycvPgorICAgICAgPHJlZiBuYW1lPSdkb2NiU0FYUGFyc2VGaWxlJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J2RvdWJsZSc+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ2FzdE51bWJlclRvQm9vbGVhbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENhc3ROdW1iZXJUb1N0cmluZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aElzSW5mJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoSXNOYU4nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXdGbG9hdCcvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSdmdHBEYXRhQ2FsbGJhY2snPgorICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vRlRQR2V0Jy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J2Z0cExpc3RDYWxsYmFjayc+CisgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBMaXN0Jy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J2h0bWxEb2NQdHInPgorICAgICAgPHJlZiBuYW1lPSdodG1sQXV0b0Nsb3NlVGFnJy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxHZXRNZXRhRW5jb2RpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbElzQXV0b0Nsb3NlZCcvPgorICAgICAgPHJlZiBuYW1lPSdodG1sU2V0TWV0YUVuY29kaW5nJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J2h0bWxOb2RlUHRyJz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbEF1dG9DbG9zZVRhZycvPgorICAgICAgPHJlZiBuYW1lPSdodG1sSXNBdXRvQ2xvc2VkJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J2h0bWxQYXJzZXJDdHh0UHRyJz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbEN0eHRSZWFkRG9jJy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxDdHh0UmVhZEZkJy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxDdHh0UmVhZEZpbGUnLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbEN0eHRSZWFkSU8nLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbEN0eHRSZWFkTWVtb3J5Jy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxDdHh0UmVzZXQnLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbEN0eHRVc2VPcHRpb25zJy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxGcmVlUGFyc2VyQ3R4dCcvPgorICAgICAgPHJlZiBuYW1lPSdodG1sUGFyc2VDaGFyUmVmJy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxQYXJzZUNodW5rJy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxQYXJzZURvY3VtZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxQYXJzZUVsZW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbFBhcnNlRW50aXR5UmVmJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J2h0bWxTQVhIYW5kbGVyUHRyJz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbENyZWF0ZVB1c2hQYXJzZXJDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxTQVhQYXJzZURvYycvPgorICAgICAgPHJlZiBuYW1lPSdodG1sU0FYUGFyc2VGaWxlJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J2ludCAqJz4KKyAgICAgIDxyZWYgbmFtZT0nVVRGOFRvSHRtbCcvPgorICAgICAgPHJlZiBuYW1lPSdVVEY4VG9pc29sYXQxJy8+CisgICAgICA8cmVmIG5hbWU9J2RvY2JFbmNvZGVFbnRpdGllcycvPgorICAgICAgPHJlZiBuYW1lPSdodG1sRG9jRHVtcE1lbW9yeScvPgorICAgICAgPHJlZiBuYW1lPSdodG1sRG9jRHVtcE1lbW9yeUZvcm1hdCcvPgorICAgICAgPHJlZiBuYW1lPSdodG1sRW5jb2RlRW50aXRpZXMnLz4KKyAgICAgIDxyZWYgbmFtZT0naXNvbGF0MVRvVVRGOCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDaGFyRW5jb2RpbmdJbnB1dEZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDdXJyZW50Q2hhcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxEb2NEdW1wRm9ybWF0TWVtb3J5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbERvY0R1bXBGb3JtYXRNZW1vcnlFbmMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRG9jRHVtcE1lbW9yeScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxEb2NEdW1wTWVtb3J5RW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEdldEZlYXR1cmVzTGlzdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxHZXRVVEY4Q2hhcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWdFeGVjRXJySW5mbycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWdFeGVjTmV4dFZhbHVlcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTcGxpdFFOYW1lMycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTdHJpbmdDdXJyZW50Q2hhcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZEdldFBvdGVudGlhbENoaWxkcmVuJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J2xvbmcnPgorICAgICAgPHJlZiBuYW1lPSd4bWxNZW1EaXNwbGF5TGFzdCcvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSdzaXplX3QnPgorICAgICAgPHJlZiBuYW1lPSd4bWxCdWZTaHJpbmsnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQnVmZmVyQ3JlYXRlU2l6ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxCdWZmZXJDcmVhdGVTdGF0aWMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRGljdFNldExpbWl0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbE1hbGxvY0F0b21pY0xvYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxNYWxsb2NGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE1hbGxvY0xvYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxNZW1NYWxsb2MnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTWVtUmVhbGxvYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWFsbG9jRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWFsbG9jTG9jJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3Vuc2lnbmVkIGNoYXIgKic+CisgICAgICA8cmVmIG5hbWU9J1VURjhUb0h0bWwnLz4KKyAgICAgIDxyZWYgbmFtZT0nVVRGOFRvaXNvbGF0MScvPgorICAgICAgPHJlZiBuYW1lPSdkb2NiRW5jb2RlRW50aXRpZXMnLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbEVuY29kZUVudGl0aWVzJy8+CisgICAgICA8cmVmIG5hbWU9J2lzb2xhdDFUb1VURjgnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ2hhckVuY29kaW5nSW5wdXRGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENoYXJFbmNvZGluZ091dHB1dEZ1bmMnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0ndW5zaWduZWQgaW50Jz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbEVudGl0eVZhbHVlTG9va3VwJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEJ1ZmZlckdyb3cnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQnVmZmVyUmVzaXplJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEJ1ZmZlclNocmluaycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDaGFySW5SYW5nZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxJc0Jhc2VDaGFyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbElzQmxhbmsnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSXNDaGFyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbElzQ29tYmluaW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbElzRGlnaXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSXNFeHRlbmRlcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxJc0lkZW9ncmFwaGljJy8+CisgICAgICA8cmVmIG5hbWU9J3htbElzUHViaWRDaGFyJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3Vuc2lnbmVkIGxvbmcnPgorICAgICAgPHJlZiBuYW1lPSdmdHBMaXN0Q2FsbGJhY2snLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRGxsTWFpbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZUxpc3RTaW1wbGVUeXBlRmFjZXQnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0ndW5zaWduZWQgbG9uZyAqJz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZUxlbmd0aEZhY2V0V2h0c3AnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRhdGVMaXN0U2ltcGxlVHlwZUZhY2V0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbGlkaXR5TG9jYXRvckZ1bmMnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0ndmFfbGlzdCc+CisgICAgICA8cmVmIG5hbWU9J3htbFN0clZQcmludGYnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEF0dHJpYnV0ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0QXR0cmlidXRlTlMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdENEQVRBJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRDb21tZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVEQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREF0dGxpc3QnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREVsZW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREludGVybmFsRW50aXR5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRFbGVtZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRFbGVtZW50TlMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdFBJJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRSYXcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdFN0cmluZycvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd2b2lkIConPgorICAgICAgPHJlZiBuYW1lPSdhdHRyaWJ1dGUnLz4KKyAgICAgIDxyZWYgbmFtZT0nYXR0cmlidXRlRGVjbCcvPgorICAgICAgPHJlZiBuYW1lPSdhdHRyaWJ1dGVEZWNsU0FYRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSdhdHRyaWJ1dGVTQVhGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J2NkYXRhQmxvY2snLz4KKyAgICAgIDxyZWYgbmFtZT0nY2RhdGFCbG9ja1NBWEZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0nY2hhcmFjdGVycycvPgorICAgICAgPHJlZiBuYW1lPSdjaGFyYWN0ZXJzU0FYRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSdjaGVja05hbWVzcGFjZScvPgorICAgICAgPHJlZiBuYW1lPSdjb21tZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J2NvbW1lbnRTQVhGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J2RvY2JDcmVhdGVQdXNoUGFyc2VyQ3R4dCcvPgorICAgICAgPHJlZiBuYW1lPSdkb2NiU0FYUGFyc2VEb2MnLz4KKyAgICAgIDxyZWYgbmFtZT0nZG9jYlNBWFBhcnNlRmlsZScvPgorICAgICAgPHJlZiBuYW1lPSdlbGVtZW50RGVjbCcvPgorICAgICAgPHJlZiBuYW1lPSdlbGVtZW50RGVjbFNBWEZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0nZW5kRG9jdW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0nZW5kRG9jdW1lbnRTQVhGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J2VuZEVsZW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0nZW5kRWxlbWVudE5zU0FYMkZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0nZW5kRWxlbWVudFNBWEZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0nZW50aXR5RGVjbCcvPgorICAgICAgPHJlZiBuYW1lPSdlbnRpdHlEZWNsU0FYRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSdlcnJvclNBWEZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0nZXh0ZXJuYWxTdWJzZXQnLz4KKyAgICAgIDxyZWYgbmFtZT0nZXh0ZXJuYWxTdWJzZXRTQVhGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J2ZhdGFsRXJyb3JTQVhGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J2Z0cERhdGFDYWxsYmFjaycvPgorICAgICAgPHJlZiBuYW1lPSdmdHBMaXN0Q2FsbGJhY2snLz4KKyAgICAgIDxyZWYgbmFtZT0nZ2V0Q29sdW1uTnVtYmVyJy8+CisgICAgICA8cmVmIG5hbWU9J2dldEVudGl0eScvPgorICAgICAgPHJlZiBuYW1lPSdnZXRFbnRpdHlTQVhGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J2dldExpbmVOdW1iZXInLz4KKyAgICAgIDxyZWYgbmFtZT0nZ2V0TmFtZXNwYWNlJy8+CisgICAgICA8cmVmIG5hbWU9J2dldFBhcmFtZXRlckVudGl0eScvPgorICAgICAgPHJlZiBuYW1lPSdnZXRQYXJhbWV0ZXJFbnRpdHlTQVhGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J2dldFB1YmxpY0lkJy8+CisgICAgICA8cmVmIG5hbWU9J2dldFN5c3RlbUlkJy8+CisgICAgICA8cmVmIG5hbWU9J2dsb2JhbE5hbWVzcGFjZScvPgorICAgICAgPHJlZiBuYW1lPSdoYXNFeHRlcm5hbFN1YnNldCcvPgorICAgICAgPHJlZiBuYW1lPSdoYXNFeHRlcm5hbFN1YnNldFNBWEZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0naGFzSW50ZXJuYWxTdWJzZXQnLz4KKyAgICAgIDxyZWYgbmFtZT0naGFzSW50ZXJuYWxTdWJzZXRTQVhGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dCcvPgorICAgICAgPHJlZiBuYW1lPSdodG1sQ3R4dFJlYWRJTycvPgorICAgICAgPHJlZiBuYW1lPSdodG1sUmVhZElPJy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxTQVhQYXJzZURvYycvPgorICAgICAgPHJlZiBuYW1lPSdodG1sU0FYUGFyc2VGaWxlJy8+CisgICAgICA8cmVmIG5hbWU9J2lnbm9yYWJsZVdoaXRlc3BhY2UnLz4KKyAgICAgIDxyZWYgbmFtZT0naWdub3JhYmxlV2hpdGVzcGFjZVNBWEZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0naW50ZXJuYWxTdWJzZXQnLz4KKyAgICAgIDxyZWYgbmFtZT0naW50ZXJuYWxTdWJzZXRTQVhGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J2lzU3RhbmRhbG9uZScvPgorICAgICAgPHJlZiBuYW1lPSdpc1N0YW5kYWxvbmVTQVhGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J25hbWVzcGFjZURlY2wnLz4KKyAgICAgIDxyZWYgbmFtZT0nbm90YXRpb25EZWNsJy8+CisgICAgICA8cmVmIG5hbWU9J25vdGF0aW9uRGVjbFNBWEZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0ncHJvY2Vzc2luZ0luc3RydWN0aW9uJy8+CisgICAgICA8cmVmIG5hbWU9J3Byb2Nlc3NpbmdJbnN0cnVjdGlvblNBWEZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0ncmVmZXJlbmNlJy8+CisgICAgICA8cmVmIG5hbWU9J3JlZmVyZW5jZVNBWEZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0ncmVzb2x2ZUVudGl0eScvPgorICAgICAgPHJlZiBuYW1lPSdyZXNvbHZlRW50aXR5U0FYRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSdzZXREb2N1bWVudExvY2F0b3InLz4KKyAgICAgIDxyZWYgbmFtZT0nc2V0RG9jdW1lbnRMb2NhdG9yU0FYRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSdzZXROYW1lc3BhY2UnLz4KKyAgICAgIDxyZWYgbmFtZT0nc3RhcnREb2N1bWVudCcvPgorICAgICAgPHJlZiBuYW1lPSdzdGFydERvY3VtZW50U0FYRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSdzdGFydEVsZW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0nc3RhcnRFbGVtZW50TnNTQVgyRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSdzdGFydEVsZW1lbnRTQVhGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3VucGFyc2VkRW50aXR5RGVjbCcvPgorICAgICAgPHJlZiBuYW1lPSd1bnBhcnNlZEVudGl0eURlY2xTQVhGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3dhcm5pbmdTQVhGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3hsaW5rRXh0ZW5kZWRMaW5rRnVuaycvPgorICAgICAgPHJlZiBuYW1lPSd4bGlua0V4dGVuZGVkTGlua1NldEZ1bmsnLz4KKyAgICAgIDxyZWYgbmFtZT0neGxpbmtOb2RlRGV0ZWN0RnVuYycvPgorICAgICAgPHJlZiBuYW1lPSd4bGlua1NpbXBsZUxpbmtGdW5rJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhTmV3Q291bnRUcmFucycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YU5ld0NvdW50VHJhbnMyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhTmV3TmVnVHJhbnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFOZXdPbmNlVHJhbnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFOZXdPbmNlVHJhbnMyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhTmV3VHJhbnNpdGlvbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YU5ld1RyYW5zaXRpb24yJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEJ1ZmZlckNyZWF0ZVN0YXRpYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDMTRORXhlY3V0ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDMTROSXNWaXNpYmxlQ2FsbGJhY2snLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ2F0YWxvZ0FkZExvY2FsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENhdGFsb2dGcmVlTG9jYWwnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ2F0YWxvZ0xvY2FsUmVzb2x2ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDYXRhbG9nTG9jYWxSZXNvbHZlVVJJJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENyZWF0ZUlPUGFyc2VyQ3R4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDdHh0R2V0TGFzdEVycm9yJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEN0eHRSZWFkSU8nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ3R4dFJlc2V0TGFzdEVycm9yJy8+CisgICAgICA8cmVmIG5hbWU9J3htbERsbE1haW4nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRmlsZUNsb3NlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEZpbGVSZWFkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEZyZWVGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEdlbmVyaWNFcnJvckZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sR2V0RmVhdHVyZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoQWRkRW50cnknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSGFzaEFkZEVudHJ5MicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoQWRkRW50cnkzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEhhc2hDb3BpZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSGFzaERlYWxsb2NhdG9yJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEhhc2hTY2FuJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEhhc2hTY2FuMycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoU2NhbkZ1bGwnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFNjYW5GdWxsMycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoU2Nhbm5lcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoU2Nhbm5lckZ1bGwnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFVwZGF0ZUVudHJ5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEhhc2hVcGRhdGVFbnRyeTInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFVwZGF0ZUVudHJ5MycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxJT0ZUUENsb3NlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbElPRlRQUmVhZCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxJT0hUVFBDbG9zZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxJT0hUVFBSZWFkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbElucHV0Q2xvc2VDYWxsYmFjaycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxJbnB1dFJlYWRDYWxsYmFjaycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0QXBwZW5kJy8+CisgICAgICA8cmVmIG5hbWU9J3htbExpc3RJbnNlcnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTGlzdFB1c2hCYWNrJy8+CisgICAgICA8cmVmIG5hbWU9J3htbExpc3RQdXNoRnJvbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTGlzdFJlbW92ZUFsbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0UmVtb3ZlRmlyc3QnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTGlzdFJlbW92ZUxhc3QnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTGlzdFJldmVyc2VTZWFyY2gnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTGlzdFNlYXJjaCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxNZW1GcmVlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE1lbVJlYWxsb2MnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUENoZWNrUmVzcG9uc2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUENsb3NlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBDbG9zZUNvbm5lY3Rpb24nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUENvbm5lY3QnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUEN3ZCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vRlRQRGVsZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vRlRQRnJlZUN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUEdldCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vRlRQR2V0Q29ubmVjdGlvbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vRlRQR2V0UmVzcG9uc2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUEdldFNvY2tldCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vRlRQTGlzdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vRlRQUXVpdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vRlRQUmVhZCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vRlRQVXBkYXRlVVJMJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5hbm9IVFRQQXV0aEhlYWRlcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUENsb3NlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5hbm9IVFRQQ29udGVudExlbmd0aCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUEVuY29kaW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5hbm9IVFRQTWltZVR5cGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmFub0hUVFBSZWFkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5hbm9IVFRQUmVkaXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmFub0hUVFBSZXR1cm5Db2RlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5hbm9IVFRQU2F2ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxPdXRwdXRCdWZmZXJDcmVhdGVJTycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxPdXRwdXRDbG9zZUNhbGxiYWNrJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dFdyaXRlQ2FsbGJhY2snLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFeHRlcm5hbEVudGl0eScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJFcnJvcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUlPJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlclZhbGlkaXR5RXJyb3InLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VyVmFsaWRpdHlXYXJuaW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcldhcm5pbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVhZElPJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlYWRlckZvcklPJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlYWRlck5ld0lPJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlYWxsb2NGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlYWxsb2NMb2MnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVnRXhlY0NhbGxiYWNrcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWdFeGVjUHVzaFN0cmluZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWdFeGVjUHVzaFN0cmluZzInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVnTmV3RXhlY0N0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVsYXhOR1NldFBhcnNlckVycm9ycycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HU2V0UGFyc2VyU3RydWN0dXJlZEVycm9ycycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HU2V0VmFsaWRFcnJvcnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVsYXhOR1NldFZhbGlkU3RydWN0dXJlZEVycm9ycycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HVmFsaWRpdHlFcnJvckZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVsYXhOR1ZhbGlkaXR5V2FybmluZ0Z1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYMkF0dHJpYnV0ZURlY2wnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYMkNEYXRhQmxvY2snLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYMkNoYXJhY3RlcnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYMkNvbW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYMkVsZW1lbnREZWNsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNBWDJFbmREb2N1bWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTQVgyRW5kRWxlbWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTQVgyRW5kRWxlbWVudE5zJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNBWDJFbnRpdHlEZWNsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNBWDJFeHRlcm5hbFN1YnNldCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTQVgyR2V0Q29sdW1uTnVtYmVyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNBWDJHZXRFbnRpdHknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYMkdldExpbmVOdW1iZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYMkdldFBhcmFtZXRlckVudGl0eScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTQVgyR2V0UHVibGljSWQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYMkdldFN5c3RlbUlkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNBWDJIYXNFeHRlcm5hbFN1YnNldCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTQVgySGFzSW50ZXJuYWxTdWJzZXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYMklnbm9yYWJsZVdoaXRlc3BhY2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYMkludGVybmFsU3Vic2V0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNBWDJJc1N0YW5kYWxvbmUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYMk5vdGF0aW9uRGVjbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTQVgyUHJvY2Vzc2luZ0luc3RydWN0aW9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNBWDJSZWZlcmVuY2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYMlJlc29sdmVFbnRpdHknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYMlNldERvY3VtZW50TG9jYXRvcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTQVgyU3RhcnREb2N1bWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTQVgyU3RhcnRFbGVtZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNBWDJTdGFydEVsZW1lbnROcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTQVgyVW5wYXJzZWRFbnRpdHlEZWNsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNBWFBhcnNlRmlsZVdpdGhEYXRhJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNBWFBhcnNlTWVtb3J5V2l0aERhdGEnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYVXNlclBhcnNlRmlsZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTQVhVc2VyUGFyc2VNZW1vcnknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2F2ZVRvSU8nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hU2V0UGFyc2VyRXJyb3JzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVNldFBhcnNlclN0cnVjdHVyZWRFcnJvcnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hU2V0VmFsaWRFcnJvcnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbGlkYXRlU2V0TG9jYXRvcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZVN0cmVhbScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGl0eUVycm9yRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGl0eUxvY2F0b3JGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbGlkaXR5V2FybmluZ0Z1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hdHJvblNldFZhbGlkU3RydWN0dXJlZEVycm9ycycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWF0cm9uVmFsaWRpdHlFcnJvckZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hdHJvblZhbGlkaXR5V2FybmluZ0Z1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2V0RmVhdHVyZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTZXRHZW5lcmljRXJyb3JGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNldFN0cnVjdHVyZWRFcnJvckZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU3RydWN0dXJlZEVycm9yRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyRXJyb3JGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJTZXRFcnJvckhhbmRsZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclNldFN0cnVjdHVyZWRFcnJvckhhbmRsZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGhyRGVmU2V0R2VuZXJpY0Vycm9yRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUaHJEZWZTZXRTdHJ1Y3R1cmVkRXJyb3JGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkaXR5RXJyb3JGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkaXR5V2FybmluZ0Z1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWEluY2x1ZGVQcm9jZXNzRmxhZ3NEYXRhJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhJbmNsdWRlUHJvY2Vzc1RyZWVGbGFnc0RhdGEnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhGdW5jTG9va3VwRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFJlZ2lzdGVyRnVuY0xvb2t1cCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGVMb29rdXAnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhWYXJpYWJsZUxvb2t1cEZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhXcmFwRXh0ZXJuYWwnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0ndm9pZCAqKic+CisgICAgICA8cmVmIG5hbWU9J3htbE1vZHVsZVN5bWJvbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HR2V0UGFyc2VyRXJyb3JzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4TkdHZXRWYWxpZEVycm9ycycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFHZXRQYXJzZXJFcnJvcnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hR2V0VmFsaWRFcnJvcnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hU0FYUGx1ZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyR2V0RXJyb3JIYW5kbGVyJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3hsaW5rQWN0dWF0ZSAqJz4KKyAgICAgIDxyZWYgbmFtZT0neGxpbmtFeHRlbmRlZExpbmtGdW5rJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3hsaW5rSGFuZGxlclB0cic+CisgICAgICA8cmVmIG5hbWU9J3hsaW5rU2V0RGVmYXVsdEhhbmRsZXInLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neGxpbmtOb2RlRGV0ZWN0RnVuYyc+CisgICAgICA8cmVmIG5hbWU9J3hsaW5rU2V0RGVmYXVsdERldGVjdCcvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bGlua1Nob3cgKic+CisgICAgICA8cmVmIG5hbWU9J3hsaW5rRXh0ZW5kZWRMaW5rRnVuaycvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxBdHRyUHRyJz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQWRkSUQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQWRkUmVmJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEF0dHJTZXJpYWxpemVUeHRDb250ZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbENvcHlQcm9wJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENvcHlQcm9wTGlzdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxEZWJ1Z0R1bXBBdHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbERlYnVnRHVtcEF0dHJMaXN0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEZyZWVQcm9wJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEZyZWVQcm9wTGlzdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxJc0lEJy8+CisgICAgICA8cmVmIG5hbWU9J3htbElzUmVmJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlbW92ZUlEJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlbW92ZVByb3AnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVtb3ZlUmVmJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlT25lQXR0cmlidXRlJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbEF0dHJpYnV0ZURlZmF1bHQnPgorICAgICAgPHJlZiBuYW1lPSd4bWxBZGRBdHRyaWJ1dGVEZWNsJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbEF0dHJpYnV0ZVB0cic+CisgICAgICA8cmVmIG5hbWU9J3htbER1bXBBdHRyaWJ1dGVEZWNsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlQXR0cmlidXRlRGVjbCcvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxBdHRyaWJ1dGVUYWJsZVB0cic+CisgICAgICA8cmVmIG5hbWU9J3htbENvcHlBdHRyaWJ1dGVUYWJsZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxEdW1wQXR0cmlidXRlVGFibGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRnJlZUF0dHJpYnV0ZVRhYmxlJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbEF0dHJpYnV0ZVR5cGUnPgorICAgICAgPHJlZiBuYW1lPSd4bWxBZGRBdHRyaWJ1dGVEZWNsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlQXR0cmlidXRlVmFsdWUnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sQXV0b21hdGFQdHInPgorICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YUNvbXBpbGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFHZXRJbml0U3RhdGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFJc0RldGVybWluaXN0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhTmV3QWxsVHJhbnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFOZXdDb3VudFRyYW5zJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhTmV3Q291bnRUcmFuczInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFOZXdDb3VudGVkVHJhbnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFOZXdDb3VudGVyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhTmV3Q291bnRlclRyYW5zJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhTmV3RXBzaWxvbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YU5ld05lZ1RyYW5zJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhTmV3T25jZVRyYW5zJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhTmV3T25jZVRyYW5zMicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YU5ld1N0YXRlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhTmV3VHJhbnNpdGlvbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YU5ld1RyYW5zaXRpb24yJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhU2V0RmluYWxTdGF0ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxGcmVlQXV0b21hdGEnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sQXV0b21hdGFTdGF0ZVB0cic+CisgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhTmV3QWxsVHJhbnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFOZXdDb3VudFRyYW5zJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhTmV3Q291bnRUcmFuczInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFOZXdDb3VudGVkVHJhbnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFOZXdDb3VudGVyVHJhbnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFOZXdFcHNpbG9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhTmV3TmVnVHJhbnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFOZXdPbmNlVHJhbnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFOZXdPbmNlVHJhbnMyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhTmV3VHJhbnNpdGlvbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YU5ld1RyYW5zaXRpb24yJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhU2V0RmluYWxTdGF0ZScvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxCdWZQdHInPgorICAgICAgPHJlZiBuYW1lPSd4bWxCdWZFbmQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQnVmR2V0Tm9kZUNvbnRlbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQnVmTm9kZUR1bXAnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQnVmU2hyaW5rJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUnPgorICAgICAgPHJlZiBuYW1lPSd4bWxCdWZmZXJTZXRBbGxvY2F0aW9uU2NoZW1lJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGhyRGVmQnVmZmVyQWxsb2NTY2hlbWUnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sQnVmZmVyUHRyJz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbE5vZGVEdW1wJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEF0dHJTZXJpYWxpemVUeHRDb250ZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEJ1ZmZlckFkZCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxCdWZmZXJBZGRIZWFkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEJ1ZmZlckNDYXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQnVmZmVyQ2F0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEJ1ZmZlckRldGFjaCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxCdWZmZXJEdW1wJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEJ1ZmZlckVtcHR5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEJ1ZmZlckZyZWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQnVmZmVyR3JvdycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxCdWZmZXJSZXNpemUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQnVmZmVyU2V0QWxsb2NhdGlvblNjaGVtZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxCdWZmZXJTaHJpbmsnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQnVmZmVyV3JpdGVDSEFSJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEJ1ZmZlcldyaXRlQ2hhcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxCdWZmZXJXcml0ZVF1b3RlZFN0cmluZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDaGFyRW5jRmlyc3RMaW5lJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENoYXJFbmNJbkZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ2hhckVuY091dEZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRHVtcEF0dHJpYnV0ZURlY2wnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRHVtcEF0dHJpYnV0ZVRhYmxlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbER1bXBFbGVtZW50RGVjbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxEdW1wRWxlbWVudFRhYmxlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbER1bXBFbnRpdGllc1RhYmxlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbER1bXBFbnRpdHlEZWNsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbER1bXBOb3RhdGlvbkRlY2wnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRHVtcE5vdGF0aW9uVGFibGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRXhwRHVtcCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdUZXh0V3JpdGVyTWVtb3J5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5vZGVCdWZHZXRDb250ZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5vZGVEdW1wJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dEJ1ZmZlckNyZWF0ZUJ1ZmZlcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTYXZlVG9CdWZmZXInLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sQzE0TklzVmlzaWJsZUNhbGxiYWNrJz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQzE0TkV4ZWN1dGUnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sQ2F0YWxvZ0FsbG93Jz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ2F0YWxvZ1NldERlZmF1bHRzJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbENhdGFsb2dQcmVmZXInPgorICAgICAgPHJlZiBuYW1lPSd4bWxDYXRhbG9nU2V0RGVmYXVsdFByZWZlcicvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxDYXRhbG9nUHRyJz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQUNhdGFsb2dBZGQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQUNhdGFsb2dEdW1wJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEFDYXRhbG9nUmVtb3ZlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEFDYXRhbG9nUmVzb2x2ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxBQ2F0YWxvZ1Jlc29sdmVQdWJsaWMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQUNhdGFsb2dSZXNvbHZlU3lzdGVtJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEFDYXRhbG9nUmVzb2x2ZVVSSScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDYXRhbG9nSXNFbXB0eScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDb252ZXJ0U0dNTENhdGFsb2cnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRnJlZUNhdGFsb2cnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sQ2hhcic+CisgICAgICA8cmVmIG5hbWU9J3htbERlY29kZUVudGl0aWVzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFN0cmNocicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTdHJpbmdEZWNvZGVFbnRpdGllcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTdHJpbmdMZW5EZWNvZGVFbnRpdGllcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyU2V0UXVvdGVDaGFyJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbENoYXIgKic+CisgICAgICA8cmVmIG5hbWU9J2NoZWNrTmFtZXNwYWNlJy8+CisgICAgICA8cmVmIG5hbWU9J2RvY2JQYXJzZURvYycvPgorICAgICAgPHJlZiBuYW1lPSdkb2NiU0FYUGFyc2VEb2MnLz4KKyAgICAgIDxyZWYgbmFtZT0nZW50aXR5RGVjbCcvPgorICAgICAgPHJlZiBuYW1lPSdlbnRpdHlEZWNsU0FYRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSdodG1sUGFyc2VEb2MnLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbFNBWFBhcnNlRG9jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEJ1aWxkUU5hbWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ29weUNoYXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ29weUNoYXJNdWx0aUJ5dGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSGFzaENvcGllcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoRGVhbGxvY2F0b3InLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFNjYW5uZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3RG9jTm9kZUVhdE5hbWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3Tm9kZUVhdE5hbWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3TnNQcm9wRWF0TmFtZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJJbnB1dERlYWxsb2NhdGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYMkVudGl0eURlY2wnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU3RyUHJpbnRmJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFN0clZQcmludGYnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU3RyY2F0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFN0cm5jYXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhXcmFwU3RyaW5nJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbENoYXIgKionPgorICAgICAgPHJlZiBuYW1lPSdodG1sRG9jRHVtcE1lbW9yeScvPgorICAgICAgPHJlZiBuYW1lPSdodG1sRG9jRHVtcE1lbW9yeUZvcm1hdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDMTRORG9jRHVtcE1lbW9yeScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDMTRORG9jU2F2ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDMTRORG9jU2F2ZVRvJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEMxNE5FeGVjdXRlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbERvY0R1bXBGb3JtYXRNZW1vcnknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRG9jRHVtcEZvcm1hdE1lbW9yeUVuYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxEb2NEdW1wTWVtb3J5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbERvY0R1bXBNZW1vcnlFbmMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmFtZXNwYWNlUGFyc2VRTmFtZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUF0dHJpYnV0ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZURlZmF1bHREZWNsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRW50aXR5VmFsdWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFeHRlcm5hbElEJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlZ0V4ZWNFcnJJbmZvJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlZ0V4ZWNOZXh0VmFsdWVzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNwbGl0UU5hbWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU3BsaXRRTmFtZTInLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sQ2hhckVuY29kaW5nJz4KKyAgICAgIDxyZWYgbmFtZT0nZG9jYkNyZWF0ZVB1c2hQYXJzZXJDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxBbGxvY1BhcnNlcklucHV0QnVmZmVyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENyZWF0ZUlPUGFyc2VyQ3R4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxHZXRDaGFyRW5jb2RpbmdIYW5kbGVyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEdldENoYXJFbmNvZGluZ05hbWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSU9QYXJzZURURCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdJT0lucHV0U3RyZWFtJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVJTycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZU1lbScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZVN0YXRpYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZVN0cmVhbScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTd2l0Y2hFbmNvZGluZycvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxDaGFyRW5jb2RpbmdIYW5kbGVyIConPgorICAgICAgPHJlZiBuYW1lPSd4bWxDaGFyRW5jQ2xvc2VGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENoYXJFbmNGaXJzdExpbmUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ2hhckVuY0luRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDaGFyRW5jT3V0RnVuYycvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyJz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQWxsb2NPdXRwdXRCdWZmZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sT3V0cHV0QnVmZmVyQ3JlYXRlQnVmZmVyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dEJ1ZmZlckNyZWF0ZUlPJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlZ2lzdGVyQ2hhckVuY29kaW5nSGFuZGxlcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTd2l0Y2hJbnB1dEVuY29kaW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFN3aXRjaFRvRW5jb2RpbmcnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sQ2hhckVuY29kaW5nSW5wdXRGdW5jJz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3Q2hhckVuY29kaW5nSGFuZGxlcicvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxDaGFyRW5jb2RpbmdPdXRwdXRGdW5jJz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3Q2hhckVuY29kaW5nSGFuZGxlcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxPdXRwdXRCdWZmZXJXcml0ZUVzY2FwZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTYXZlU2V0QXR0ckVzY2FwZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTYXZlU2V0RXNjYXBlJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbERPTVdyYXBDdHh0UHRyJz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRE9NV3JhcEFjcXVpcmVOc0Z1bmN0aW9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbERPTVdyYXBBZG9wdE5vZGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRE9NV3JhcENsb25lTm9kZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwRnJlZUN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRE9NV3JhcFJlY29uY2lsZU5hbWVzcGFjZXMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRE9NV3JhcFJlbW92ZU5vZGUnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sRGVyZWdpc3Rlck5vZGVGdW5jJz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRGVyZWdpc3Rlck5vZGVEZWZhdWx0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRockRlZkRlcmVnaXN0ZXJOb2RlRGVmYXVsdCcvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxEaWN0IConPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXR0ZXJuY29tcGlsZScvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxEaWN0UHRyJz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRGljdENyZWF0ZVN1YicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxEaWN0RXhpc3RzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbERpY3RGcmVlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbERpY3RHZXRVc2FnZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxEaWN0TG9va3VwJy8+CisgICAgICA8cmVmIG5hbWU9J3htbERpY3RPd25zJy8+CisgICAgICA8cmVmIG5hbWU9J3htbERpY3RRTG9va3VwJy8+CisgICAgICA8cmVmIG5hbWU9J3htbERpY3RSZWZlcmVuY2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRGljdFNldExpbWl0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbERpY3RTaXplJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEV4cE5ld0N0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSGFzaENyZWF0ZURpY3QnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sRG9jUHRyJz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbERvY0NvbnRlbnREdW1wRm9ybWF0T3V0cHV0Jy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxEb2NDb250ZW50RHVtcE91dHB1dCcvPgorICAgICAgPHJlZiBuYW1lPSdodG1sRG9jRHVtcCcvPgorICAgICAgPHJlZiBuYW1lPSdodG1sRG9jRHVtcE1lbW9yeScvPgorICAgICAgPHJlZiBuYW1lPSdodG1sRG9jRHVtcE1lbW9yeUZvcm1hdCcvPgorICAgICAgPHJlZiBuYW1lPSdodG1sTm9kZUR1bXAnLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbE5vZGVEdW1wRmlsZScvPgorICAgICAgPHJlZiBuYW1lPSdodG1sTm9kZUR1bXBGaWxlRm9ybWF0Jy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxOb2RlRHVtcEZvcm1hdE91dHB1dCcvPgorICAgICAgPHJlZiBuYW1lPSdodG1sTm9kZUR1bXBPdXRwdXQnLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbFNhdmVGaWxlJy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxTYXZlRmlsZUVuYycvPgorICAgICAgPHJlZiBuYW1lPSdodG1sU2F2ZUZpbGVGb3JtYXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neGxpbmtJc0xpbmsnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQWRkRG9jRW50aXR5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEFkZER0ZEVudGl0eScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxBZGRJRCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxBZGRSZWYnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQXR0clNlcmlhbGl6ZVR4dENvbnRlbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQnVmTm9kZUR1bXAnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQzE0TkRvY0R1bXBNZW1vcnknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQzE0TkRvY1NhdmUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQzE0TkRvY1NhdmVUbycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDMTRORXhlY3V0ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDb3B5RG9jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENvcHlEb2NFbGVtZW50Q29udGVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDcmVhdGVJbnRTdWJzZXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRE9NV3JhcEFkb3B0Tm9kZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwQ2xvbmVOb2RlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbERPTVdyYXBSZW1vdmVOb2RlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbERlYnVnQ2hlY2tEb2N1bWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxEZWJ1Z0R1bXBEb2N1bWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxEZWJ1Z0R1bXBEb2N1bWVudEhlYWQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRGVidWdEdW1wRW50aXRpZXMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRG9jQ29weU5vZGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRG9jQ29weU5vZGVMaXN0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbERvY0R1bXAnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRG9jRHVtcEZvcm1hdE1lbW9yeScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxEb2NEdW1wRm9ybWF0TWVtb3J5RW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbERvY0R1bXBNZW1vcnknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRG9jRHVtcE1lbW9yeUVuYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxEb2NGb3JtYXREdW1wJy8+CisgICAgICA8cmVmIG5hbWU9J3htbERvY1NldFJvb3RFbGVtZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEVsZW1EdW1wJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEVuY29kZUVudGl0aWVzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEVuY29kZUVudGl0aWVzUmVlbnRyYW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEZyZWVEb2MnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRnJlZURvY0VsZW1lbnRDb250ZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEdldER0ZEVudGl0eScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxHZXRJRCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxHZXRQYXJhbWV0ZXJFbnRpdHknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sR2V0UmVmcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxJc0lEJy8+CisgICAgICA8cmVmIG5hbWU9J3htbElzTWl4ZWRFbGVtZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbElzUmVmJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld0NEYXRhQmxvY2snLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3Q2hhclJlZicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdEb2NDb21tZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld0RvY0VsZW1lbnRDb250ZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld0RvY0ZyYWdtZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld0RvY05vZGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3RG9jTm9kZUVhdE5hbWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3RG9jUEknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3RG9jUHJvcCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdEb2NSYXdOb2RlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld0RvY1RleHRMZW4nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3RHRkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld0VudGl0eScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdHbG9iYWxOcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdUZXh0V3JpdGVyVHJlZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlRHVtcCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlRHVtcE91dHB1dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlTGlzdEdldFN0cmluZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5UmVjb3ZlcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUV4dGVybmFsRW50aXR5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlYWRlck5ld1dhbGtlcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWFkZXJXYWxrZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVjb25jaWxpYXRlTnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVsYXhOR05ld0RvY1BhcnNlckN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVsYXhOR1ZhbGlkYXRlRG9jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4TkdWYWxpZGF0ZUZ1bGxFbGVtZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4TkdWYWxpZGF0ZVBvcEVsZW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVsYXhOR1ZhbGlkYXRlUHVzaEVsZW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVtb3ZlSUQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVtb3ZlUmVmJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNhdmVEb2MnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2F2ZUZpbGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2F2ZUZpbGVFbmMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2F2ZUZpbGVUbycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTYXZlRm9ybWF0RmlsZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTYXZlRm9ybWF0RmlsZUVuYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTYXZlRm9ybWF0RmlsZVRvJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYU5ld0RvY1BhcnNlckN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRhdGVEb2MnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hdHJvbk5ld0RvY1BhcnNlckN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hdHJvblZhbGlkYXRlRG9jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNlYXJjaE5zJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNlYXJjaE5zQnlIcmVmJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNldERvY0NvbXByZXNzTW9kZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTZXRMaXN0RG9jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNldFRyZWVEb2MnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2hlbGwnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRDdHh0Tm9ybWFsaXplQXR0cmlidXRlVmFsdWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZUF0dHJpYnV0ZURlY2wnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVEb2N1bWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZURvY3VtZW50RmluYWwnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVEdGQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVEdGRGaW5hbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZUVsZW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVFbGVtZW50RGVjbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZU5vdGF0aW9uRGVjbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZU5vdGF0aW9uVXNlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlT25lQXR0cmlidXRlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlT25lRWxlbWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZU9uZU5hbWVzcGFjZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZVBvcEVsZW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVQdXNoRWxlbWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZVJvb3QnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWEluY2x1ZGVOZXdDb250ZXh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhJbmNsdWRlUHJvY2VzcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYSW5jbHVkZVByb2Nlc3NGbGFncycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYSW5jbHVkZVByb2Nlc3NGbGFnc0RhdGEnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXdDb250ZXh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoT3JkZXJEb2NFbGVtcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyTmV3Q29udGV4dCcvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxEb2NQdHIgKic+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld1RleHRXcml0ZXJEb2MnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sRHRkUHRyJz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQWRkQXR0cmlidXRlRGVjbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxBZGRFbGVtZW50RGVjbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxBZGROb3RhdGlvbkRlY2wnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ29weUR0ZCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxEZWJ1Z0R1bXBEVEQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRnJlZUR0ZCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxHZXREdGRBdHRyRGVzYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxHZXREdGRFbGVtZW50RGVzYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxHZXREdGROb3RhdGlvbkRlc2MnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sR2V0RHRkUUF0dHJEZXNjJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEdldER0ZFFFbGVtZW50RGVzYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZUR0ZCcvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxFbGVtZW50Q29udGVudCAqJz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRHZXRQb3RlbnRpYWxDaGlsZHJlbicvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxFbGVtZW50Q29udGVudFB0cic+CisgICAgICA8cmVmIG5hbWU9J2VsZW1lbnREZWNsJy8+CisgICAgICA8cmVmIG5hbWU9J2VsZW1lbnREZWNsU0FYRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxBZGRFbGVtZW50RGVjbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDb3B5RG9jRWxlbWVudENvbnRlbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ29weUVsZW1lbnRDb250ZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEZyZWVEb2NFbGVtZW50Q29udGVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxGcmVlRWxlbWVudENvbnRlbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYMkVsZW1lbnREZWNsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNucHJpbnRmRWxlbWVudENvbnRlbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU3ByaW50ZkVsZW1lbnRDb250ZW50Jy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbEVsZW1lbnRDb250ZW50UHRyIConPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVsZW1lbnRDb250ZW50RGVjbCcvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxFbGVtZW50Q29udGVudFR5cGUnPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdEb2NFbGVtZW50Q29udGVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdFbGVtZW50Q29udGVudCcvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxFbGVtZW50UHRyJz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRHVtcEVsZW1lbnREZWNsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkQnVpbGRDb250ZW50TW9kZWwnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVFbGVtZW50RGVjbCcvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxFbGVtZW50VGFibGVQdHInPgorICAgICAgPHJlZiBuYW1lPSd4bWxDb3B5RWxlbWVudFRhYmxlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbER1bXBFbGVtZW50VGFibGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRnJlZUVsZW1lbnRUYWJsZScvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxFbGVtZW50VHlwZVZhbCc+CisgICAgICA8cmVmIG5hbWU9J3htbEFkZEVsZW1lbnREZWNsJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbEVudGl0aWVzVGFibGVQdHInPgorICAgICAgPHJlZiBuYW1lPSd4bWxDb3B5RW50aXRpZXNUYWJsZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxEdW1wRW50aXRpZXNUYWJsZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxGcmVlRW50aXRpZXNUYWJsZScvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxFbnRpdHlQdHInPgorICAgICAgPHJlZiBuYW1lPSd4bWxEdW1wRW50aXR5RGVjbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxFbnRpdHlSZWZlcmVuY2VGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEhhbmRsZUVudGl0eScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdFbnRpdHlJbnB1dFN0cmVhbScvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxFbnRpdHlSZWZlcmVuY2VGdW5jJz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2V0RW50aXR5UmVmZXJlbmNlRnVuYycvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxFbnVtZXJhdGlvblB0cic+CisgICAgICA8cmVmIG5hbWU9J2F0dHJpYnV0ZURlY2wnLz4KKyAgICAgIDxyZWYgbmFtZT0nYXR0cmlidXRlRGVjbFNBWEZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQWRkQXR0cmlidXRlRGVjbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDb3B5RW51bWVyYXRpb24nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRnJlZUVudW1lcmF0aW9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNBWDJBdHRyaWJ1dGVEZWNsJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbEVudW1lcmF0aW9uUHRyIConPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUF0dHJpYnV0ZVR5cGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbnVtZXJhdGVkVHlwZScvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxFcnJvclB0cic+CisgICAgICA8cmVmIG5hbWU9J3htbENvcHlFcnJvcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZXNldEVycm9yJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFN0cnVjdHVyZWRFcnJvckZ1bmMnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sRXhwQ3R4dFB0cic+CisgICAgICA8cmVmIG5hbWU9J3htbEV4cEN0eHROYkNvbnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRXhwQ3R4dE5iTm9kZXMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRXhwRXhwRGVyaXZlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEV4cEZyZWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRXhwRnJlZUN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRXhwR2V0TGFuZ3VhZ2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRXhwR2V0U3RhcnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRXhwTmV3QXRvbScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxFeHBOZXdPcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxFeHBOZXdSYW5nZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxFeHBOZXdTZXEnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRXhwUGFyc2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRXhwU3RyaW5nRGVyaXZlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEV4cFN1YnN1bWUnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sRXhwTm9kZVB0cic+CisgICAgICA8cmVmIG5hbWU9J3htbEV4cER1bXAnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRXhwRXhwRGVyaXZlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEV4cEZyZWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRXhwR2V0TGFuZ3VhZ2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRXhwR2V0U3RhcnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRXhwSXNOaWxsYWJsZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxFeHBNYXhUb2tlbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxFeHBOZXdPcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxFeHBOZXdSYW5nZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxFeHBOZXdTZXEnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRXhwUmVmJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEV4cFN0cmluZ0Rlcml2ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxFeHBTdWJzdW1lJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbEV4dGVybmFsRW50aXR5TG9hZGVyJz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2V0RXh0ZXJuYWxFbnRpdHlMb2FkZXInLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sRmVhdHVyZSc+CisgICAgICA8cmVmIG5hbWU9J3htbEhhc0ZlYXR1cmUnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sRnJlZUZ1bmMnPgorICAgICAgPHJlZiBuYW1lPSd4bWxHY01lbVNldHVwJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE1lbVNldHVwJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbEZyZWVGdW5jIConPgorICAgICAgPHJlZiBuYW1lPSd4bWxHY01lbUdldCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxNZW1HZXQnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sR2VuZXJpY0Vycm9yRnVuYyc+CisgICAgICA8cmVmIG5hbWU9J3htbFNldEdlbmVyaWNFcnJvckZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGhyRGVmU2V0R2VuZXJpY0Vycm9yRnVuYycvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxHZW5lcmljRXJyb3JGdW5jIConPgorICAgICAgPHJlZiBuYW1lPSdpbml0R2VuZXJpY0Vycm9yRGVmYXVsdEZ1bmMnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sR2xvYmFsU3RhdGVQdHInPgorICAgICAgPHJlZiBuYW1lPSd4bWxJbml0aWFsaXplR2xvYmFsU3RhdGUnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sSGFzaENvcGllcic+CisgICAgICA8cmVmIG5hbWU9J3htbEhhc2hDb3B5Jy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbEhhc2hEZWFsbG9jYXRvcic+CisgICAgICA8cmVmIG5hbWU9J3htbEhhc2hGcmVlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEhhc2hSZW1vdmVFbnRyeScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoUmVtb3ZlRW50cnkyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEhhc2hSZW1vdmVFbnRyeTMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFVwZGF0ZUVudHJ5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEhhc2hVcGRhdGVFbnRyeTInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFVwZGF0ZUVudHJ5MycvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxIYXNoU2Nhbm5lcic+CisgICAgICA8cmVmIG5hbWU9J3htbEhhc2hTY2FuJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEhhc2hTY2FuMycvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxIYXNoU2Nhbm5lckZ1bGwnPgorICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoU2NhbkZ1bGwnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFNjYW5GdWxsMycvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxIYXNoVGFibGVQdHInPgorICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoQWRkRW50cnknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSGFzaEFkZEVudHJ5MicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoQWRkRW50cnkzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEhhc2hDb3B5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEhhc2hGcmVlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEhhc2hMb29rdXAnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSGFzaExvb2t1cDInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSGFzaExvb2t1cDMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFFMb29rdXAnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFFMb29rdXAyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEhhc2hRTG9va3VwMycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoUmVtb3ZlRW50cnknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFJlbW92ZUVudHJ5MicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoUmVtb3ZlRW50cnkzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEhhc2hTY2FuJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEhhc2hTY2FuMycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoU2NhbkZ1bGwnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFNjYW5GdWxsMycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoU2l6ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoVXBkYXRlRW50cnknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFVwZGF0ZUVudHJ5MicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoVXBkYXRlRW50cnkzJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbElEVGFibGVQdHInPgorICAgICAgPHJlZiBuYW1lPSd4bWxGcmVlSURUYWJsZScvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxJbnB1dENsb3NlQ2FsbGJhY2snPgorICAgICAgPHJlZiBuYW1lPSdodG1sQ3R4dFJlYWRJTycvPgorICAgICAgPHJlZiBuYW1lPSdodG1sUmVhZElPJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENyZWF0ZUlPUGFyc2VyQ3R4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDdHh0UmVhZElPJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlSU8nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVhZElPJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlYWRlckZvcklPJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlYWRlck5ld0lPJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlZ2lzdGVySW5wdXRDYWxsYmFja3MnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sSW5wdXRNYXRjaENhbGxiYWNrJz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVnaXN0ZXJJbnB1dENhbGxiYWNrcycvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxJbnB1dE9wZW5DYWxsYmFjayc+CisgICAgICA8cmVmIG5hbWU9J3htbFJlZ2lzdGVySW5wdXRDYWxsYmFja3MnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sSW5wdXRSZWFkQ2FsbGJhY2snPgorICAgICAgPHJlZiBuYW1lPSdodG1sQ3R4dFJlYWRJTycvPgorICAgICAgPHJlZiBuYW1lPSdodG1sUmVhZElPJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENyZWF0ZUlPUGFyc2VyQ3R4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDdHh0UmVhZElPJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlSU8nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVhZElPJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlYWRlckZvcklPJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlYWRlck5ld0lPJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlZ2lzdGVySW5wdXRDYWxsYmFja3MnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sTGlua1B0cic+CisgICAgICA8cmVmIG5hbWU9J3htbExpbmtHZXREYXRhJy8+CisgICAgICA8cmVmIG5hbWU9J3htbExpc3REZWFsbG9jYXRvcicvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxMaXN0RGF0YUNvbXBhcmUnPgorICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0Q3JlYXRlJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbExpc3REZWFsbG9jYXRvcic+CisgICAgICA8cmVmIG5hbWU9J3htbExpc3RDcmVhdGUnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sTGlzdFB0cic+CisgICAgICA8cmVmIG5hbWU9J3htbExpc3RBcHBlbmQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTGlzdENsZWFyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbExpc3RDb3B5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbExpc3REZWxldGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTGlzdEVtcHR5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbExpc3RFbmQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTGlzdEZyb250Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbExpc3RJbnNlcnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTGlzdE1lcmdlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbExpc3RQb3BCYWNrJy8+CisgICAgICA8cmVmIG5hbWU9J3htbExpc3RQb3BGcm9udCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0UHVzaEJhY2snLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTGlzdFB1c2hGcm9udCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0UmVtb3ZlQWxsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbExpc3RSZW1vdmVGaXJzdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0UmVtb3ZlTGFzdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0UmV2ZXJzZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0UmV2ZXJzZVNlYXJjaCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0UmV2ZXJzZVdhbGsnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTGlzdFNlYXJjaCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0U2l6ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0U29ydCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0V2FsaycvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxMaXN0V2Fsa2VyJz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTGlzdFJldmVyc2VXYWxrJy8+CisgICAgICA8cmVmIG5hbWU9J3htbExpc3RXYWxrJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbExvY2F0aW9uU2V0UHRyJz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFB0ckZyZWVMb2NhdGlvblNldCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyTG9jYXRpb25TZXRBZGQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFB0ckxvY2F0aW9uU2V0RGVsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQdHJMb2NhdGlvblNldE1lcmdlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQdHJMb2NhdGlvblNldFJlbW92ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyV3JhcExvY2F0aW9uU2V0Jy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbE1hbGxvY0Z1bmMnPgorICAgICAgPHJlZiBuYW1lPSd4bWxHY01lbVNldHVwJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE1lbVNldHVwJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbE1hbGxvY0Z1bmMgKic+CisgICAgICA8cmVmIG5hbWU9J3htbEdjTWVtR2V0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbE1lbUdldCcvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxNb2R1bGVQdHInPgorICAgICAgPHJlZiBuYW1lPSd4bWxNb2R1bGVDbG9zZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxNb2R1bGVGcmVlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE1vZHVsZVN5bWJvbCcvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxNdXRleFB0cic+CisgICAgICA8cmVmIG5hbWU9J3htbEZyZWVNdXRleCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxNdXRleExvY2snLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTXV0ZXhVbmxvY2snLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sTm9kZSAqJz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbE5vZGVQdHInPgorICAgICAgPHJlZiBuYW1lPSdodG1sTm9kZUR1bXAnLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbE5vZGVEdW1wRmlsZScvPgorICAgICAgPHJlZiBuYW1lPSdodG1sTm9kZUR1bXBGaWxlRm9ybWF0Jy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxOb2RlRHVtcEZvcm1hdE91dHB1dCcvPgorICAgICAgPHJlZiBuYW1lPSdodG1sTm9kZUR1bXBPdXRwdXQnLz4KKyAgICAgIDxyZWYgbmFtZT0nbm9kZVB1c2gnLz4KKyAgICAgIDxyZWYgbmFtZT0neGxpbmtFeHRlbmRlZExpbmtGdW5rJy8+CisgICAgICA8cmVmIG5hbWU9J3hsaW5rRXh0ZW5kZWRMaW5rU2V0RnVuaycvPgorICAgICAgPHJlZiBuYW1lPSd4bGlua0lzTGluaycvPgorICAgICAgPHJlZiBuYW1lPSd4bGlua05vZGVEZXRlY3RGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3hsaW5rU2ltcGxlTGlua0Z1bmsnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQWRkQ2hpbGQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQWRkQ2hpbGRMaXN0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEFkZE5leHRTaWJsaW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEFkZFByZXZTaWJsaW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEFkZFNpYmxpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQnVmTm9kZUR1bXAnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQzE0TklzVmlzaWJsZUNhbGxiYWNrJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENoaWxkRWxlbWVudENvdW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbENvcHlOb2RlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENvcHlOb2RlTGlzdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDb3B5UHJvcCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDb3B5UHJvcExpc3QnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRE9NV3JhcEFjcXVpcmVOc0Z1bmN0aW9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbERPTVdyYXBBZG9wdE5vZGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRE9NV3JhcENsb25lTm9kZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwUmVjb25jaWxlTmFtZXNwYWNlcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwUmVtb3ZlTm9kZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxEZWJ1Z0R1bXBOb2RlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbERlYnVnRHVtcE5vZGVMaXN0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbERlYnVnRHVtcE9uZU5vZGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRGVyZWdpc3Rlck5vZGVGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbERvY0NvcHlOb2RlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbERvY0NvcHlOb2RlTGlzdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxEb2NTZXRSb290RWxlbWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxFbGVtRHVtcCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxFbnRpdHlSZWZlcmVuY2VGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEZpcnN0RWxlbWVudENoaWxkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEZyZWVOb2RlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEZyZWVOb2RlTGlzdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxJc0lEJy8+CisgICAgICA8cmVmIG5hbWU9J3htbElzUmVmJy8+CisgICAgICA8cmVmIG5hbWU9J3htbExhc3RFbGVtZW50Q2hpbGQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTHNDb3VudE5vZGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTHNPbmVOb2RlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld0NoaWxkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld05zJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld05zUHJvcCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdOc1Byb3BFYXROYW1lJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld1Byb3AnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3VGV4dENoaWxkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld1RleHRXcml0ZXJUcmVlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5leHRFbGVtZW50U2libGluZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlQWRkQ29udGVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlQWRkQ29udGVudExlbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlRHVtcCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlRHVtcE91dHB1dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlU2V0QmFzZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlU2V0Q29udGVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlU2V0Q29udGVudExlbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlU2V0TGFuZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlU2V0TmFtZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlU2V0U3BhY2VQcmVzZXJ2ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUluTm9kZUNvbnRleHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGF0dGVybk1hdGNoJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFByZXZpb3VzRWxlbWVudFNpYmxpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVjb25jaWxpYXRlTnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVnaXN0ZXJOb2RlRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HVmFsaWRhdGVGdWxsRWxlbWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HVmFsaWRhdGVQb3BFbGVtZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4TkdWYWxpZGF0ZVB1c2hFbGVtZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlcGxhY2VOb2RlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNhdmVUcmVlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbFByZWRlZlR5cGVOb2RlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbFByZWRlZlR5cGVOb2RlTm9Ob3JtJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbGlkYXRlT25lRWxlbWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTZWFyY2hOcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTZWFyY2hOc0J5SHJlZicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTZXRMaXN0RG9jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNldE5zJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNldE5zUHJvcCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTZXRQcm9wJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNldFRyZWVEb2MnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2hlbGxCYXNlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNoZWxsQ2F0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNoZWxsQ21kJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNoZWxsRGlyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNoZWxsRHUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2hlbGxMaXN0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNoZWxsTG9hZCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTaGVsbFByaW50Tm9kZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTaGVsbFB3ZCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTaGVsbFNhdmUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2hlbGxWYWxpZGF0ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTaGVsbFdyaXRlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRDb25jYXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dE1lcmdlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVubGlua05vZGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVW5zZXROc1Byb3AnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVW5zZXRQcm9wJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkQ3R4dE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkTm9ybWFsaXplQXR0cmlidXRlVmFsdWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVFbGVtZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlT25lQXR0cmlidXRlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlT25lRWxlbWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZU9uZU5hbWVzcGFjZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZVBvcEVsZW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVQdXNoRWxlbWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYSW5jbHVkZVByb2Nlc3NOb2RlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhJbmNsdWRlUHJvY2Vzc1RyZWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWEluY2x1ZGVQcm9jZXNzVHJlZUZsYWdzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhJbmNsdWRlUHJvY2Vzc1RyZWVGbGFnc0RhdGEnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDYXN0Tm9kZVRvTnVtYmVyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ2FzdE5vZGVUb1N0cmluZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENtcE5vZGVzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV3Tm9kZVNldCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5ld1ZhbHVlVHJlZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5leHRBbmNlc3RvcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5leHRBbmNlc3Rvck9yU2VsZicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5leHRBdHRyaWJ1dGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXh0Q2hpbGQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXh0RGVzY2VuZGFudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5leHREZXNjZW5kYW50T3JTZWxmJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV4dEZvbGxvd2luZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5leHRGb2xsb3dpbmdTaWJsaW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV4dE5hbWVzcGFjZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5leHRQYXJlbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXh0UHJlY2VkaW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV4dFByZWNlZGluZ1NpYmxpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXh0U2VsZicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vZGVFdmFsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm9kZUxlYWRpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb2RlTGVhZGluZ1NvcnRlZCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vZGVTZXRBZGQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb2RlU2V0QWRkTnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb2RlU2V0QWRkVW5pcXVlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm9kZVNldENvbnRhaW5zJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm9kZVNldENyZWF0ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vZGVTZXREZWwnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb2RlVHJhaWxpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb2RlVHJhaWxpbmdTb3J0ZWQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhTZXRDb250ZXh0Tm9kZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyTmV3Q29sbGFwc2VkUmFuZ2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFB0ck5ld0NvbnRleHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFB0ck5ld0xvY2F0aW9uU2V0Tm9kZXMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFB0ck5ld1JhbmdlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQdHJOZXdSYW5nZU5vZGVPYmplY3QnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFB0ck5ld1JhbmdlTm9kZVBvaW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQdHJOZXdSYW5nZU5vZGVzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQdHJOZXdSYW5nZVBvaW50Tm9kZScvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxOb2RlUHRyIConPgorICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwQ2xvbmVOb2RlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlSZWNvdmVyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQ3R4dEV4dGVybmFsRW50aXR5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRXh0ZXJuYWxFbnRpdHknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VJbk5vZGVDb250ZXh0Jy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbE5vZGVTZXRQdHInPgorICAgICAgPHJlZiBuYW1lPSd4bWxDMTRORG9jRHVtcE1lbW9yeScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDMTRORG9jU2F2ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDMTRORG9jU2F2ZVRvJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ2FzdE5vZGVTZXRUb0Jvb2xlYW4nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDYXN0Tm9kZVNldFRvTnVtYmVyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ2FzdE5vZGVTZXRUb1N0cmluZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aERpZmZlcmVuY2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhEaXN0aW5jdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aERpc3RpbmN0U29ydGVkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRnJlZU5vZGVTZXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhIYXNTYW1lTm9kZXMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhJbnRlcnNlY3Rpb24nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhMZWFkaW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTGVhZGluZ1NvcnRlZCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5ld05vZGVTZXRMaXN0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm9kZUxlYWRpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb2RlTGVhZGluZ1NvcnRlZCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vZGVTZXRBZGQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb2RlU2V0QWRkTnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb2RlU2V0QWRkVW5pcXVlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm9kZVNldENvbnRhaW5zJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm9kZVNldERlbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vZGVTZXRNZXJnZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vZGVTZXRSZW1vdmUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb2RlU2V0U29ydCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vZGVUcmFpbGluZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vZGVUcmFpbGluZ1NvcnRlZCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFRyYWlsaW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoVHJhaWxpbmdTb3J0ZWQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhXcmFwTm9kZVNldCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyTmV3TG9jYXRpb25TZXROb2RlU2V0Jy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbE5vdGF0aW9uUHRyJz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRHVtcE5vdGF0aW9uRGVjbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZU5vdGF0aW9uRGVjbCcvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxOb3RhdGlvblRhYmxlUHRyJz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ29weU5vdGF0aW9uVGFibGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRHVtcE5vdGF0aW9uVGFibGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRnJlZU5vdGF0aW9uVGFibGUnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sTnNQdHInPgorICAgICAgPHJlZiBuYW1lPSd4bWxDb3B5TmFtZXNwYWNlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENvcHlOYW1lc3BhY2VMaXN0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEZyZWVOcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxGcmVlTnNMaXN0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld0NoaWxkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld0RvY05vZGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3RG9jTm9kZUVhdE5hbWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3RG9jUmF3Tm9kZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdOb2RlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld05vZGVFYXROYW1lJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld05zUHJvcCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdOc1Byb3BFYXROYW1lJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld1RleHRDaGlsZCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTZXROcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTZXROc1Byb3AnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVW5zZXROc1Byb3AnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVPbmVOYW1lc3BhY2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb2RlU2V0QWRkTnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb2RlU2V0RnJlZU5zJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYyc+CisgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRGVmYXVsdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUaHJEZWZPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sT3V0cHV0QnVmZmVyUHRyJz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbERvY0NvbnRlbnREdW1wRm9ybWF0T3V0cHV0Jy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxEb2NDb250ZW50RHVtcE91dHB1dCcvPgorICAgICAgPHJlZiBuYW1lPSdodG1sTm9kZUR1bXBGb3JtYXRPdXRwdXQnLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbE5vZGVEdW1wT3V0cHV0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEMxNE5Eb2NTYXZlVG8nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQzE0TkV4ZWN1dGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3VGV4dFdyaXRlcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlRHVtcE91dHB1dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxPdXRwdXRCdWZmZXJDbG9zZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxPdXRwdXRCdWZmZXJGbHVzaCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxPdXRwdXRCdWZmZXJHZXRDb250ZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dEJ1ZmZlckdldFNpemUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sT3V0cHV0QnVmZmVyV3JpdGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sT3V0cHV0QnVmZmVyV3JpdGVFc2NhcGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2F2ZUZpbGVUbycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTYXZlRm9ybWF0RmlsZVRvJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbE91dHB1dENsb3NlQ2FsbGJhY2snPgorICAgICAgPHJlZiBuYW1lPSd4bWxPdXRwdXRCdWZmZXJDcmVhdGVJTycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWdpc3Rlck91dHB1dENhbGxiYWNrcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTYXZlVG9JTycvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxPdXRwdXRNYXRjaENhbGxiYWNrJz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVnaXN0ZXJPdXRwdXRDYWxsYmFja3MnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sT3V0cHV0T3BlbkNhbGxiYWNrJz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVnaXN0ZXJPdXRwdXRDYWxsYmFja3MnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sT3V0cHV0V3JpdGVDYWxsYmFjayc+CisgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dEJ1ZmZlckNyZWF0ZUlPJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlZ2lzdGVyT3V0cHV0Q2FsbGJhY2tzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNhdmVUb0lPJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbFBhcnNlckN0eHRQdHInPgorICAgICAgPHJlZiBuYW1lPSdpbnB1dFBvcCcvPgorICAgICAgPHJlZiBuYW1lPSdpbnB1dFB1c2gnLz4KKyAgICAgIDxyZWYgbmFtZT0nbmFtZVBvcCcvPgorICAgICAgPHJlZiBuYW1lPSduYW1lUHVzaCcvPgorICAgICAgPHJlZiBuYW1lPSdub2RlUG9wJy8+CisgICAgICA8cmVmIG5hbWU9J25vZGVQdXNoJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEJ5dGVDb25zdW1lZCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDaGVja0hUVFBJbnB1dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDbGVhclBhcnNlckN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ3R4dFJlYWREb2MnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ3R4dFJlYWRGZCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDdHh0UmVhZEZpbGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ3R4dFJlYWRJTycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDdHh0UmVhZE1lbW9yeScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDdHh0UmVzZXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ3R4dFJlc2V0UHVzaCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDdHh0VXNlT3B0aW9ucycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDdXJyZW50Q2hhcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxEZWNvZGVFbnRpdGllcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxFcnJNZW1vcnknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRXh0ZXJuYWxFbnRpdHlMb2FkZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRnJlZVBhcnNlckN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sR2V0RmVhdHVyZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxIYW5kbGVFbnRpdHknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSW5pdFBhcnNlckN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTG9hZEV4dGVybmFsRW50aXR5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5hbWVzcGFjZVBhcnNlTkNOYW1lJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5hbWVzcGFjZVBhcnNlTlNEZWYnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmFtZXNwYWNlUGFyc2VRTmFtZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdFbnRpdHlJbnB1dFN0cmVhbScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdJT0lucHV0U3RyZWFtJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld0lucHV0RnJvbUZpbGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3SW5wdXRTdHJlYW0nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3U3RyaW5nSW5wdXRTdHJlYW0nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3VGV4dFdyaXRlclB1c2hQYXJzZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV4dENoYXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTm9OZXRFeHRlcm5hbEVudGl0eUxvYWRlcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUF0dFZhbHVlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQXR0cmlidXRlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQXR0cmlidXRlTGlzdERlY2wnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VBdHRyaWJ1dGVUeXBlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQ0RTZWN0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQ2hhckRhdGEnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VDaGFyUmVmJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQ2h1bmsnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VDb21tZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQ29udGVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUN0eHRFeHRlcm5hbEVudGl0eScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZURlZmF1bHREZWNsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRG9jVHlwZURlY2wnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VEb2N1bWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVsZW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbGVtZW50Q2hpbGRyZW5Db250ZW50RGVjbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVsZW1lbnRDb250ZW50RGVjbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVsZW1lbnREZWNsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRWxlbWVudE1peGVkQ29udGVudERlY2wnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbmNOYW1lJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRW5jb2RpbmdEZWNsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRW5kVGFnJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRW50aXR5RGVjbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVudGl0eVJlZicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVudGl0eVZhbHVlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRW51bWVyYXRlZFR5cGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbnVtZXJhdGlvblR5cGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFeHRQYXJzZWRFbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFeHRlcm5hbElEJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRXh0ZXJuYWxTdWJzZXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VNYXJrdXBEZWNsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlTWlzYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZU5hbWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VOYW1lc3BhY2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VObXRva2VuJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlTm90YXRpb25EZWNsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlTm90YXRpb25UeXBlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlUEVSZWZlcmVuY2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VQSScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVBJVGFyZ2V0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlUHViaWRMaXRlcmFsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlUXVvdGVkU3RyaW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlUmVmZXJlbmNlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlU0REZWNsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlU3RhcnRUYWcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VTeXN0ZW1MaXRlcmFsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlVGV4dERlY2wnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VWZXJzaW9uSW5mbycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVZlcnNpb25OdW0nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VYTUxEZWNsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlckFkZE5vZGVJbmZvJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlckhhbmRsZVBFUmVmZXJlbmNlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlckhhbmRsZVJlZmVyZW5jZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQb3BJbnB1dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQdXNoSW5wdXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2Nhbk5hbWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2V0RmVhdHVyZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTZXR1cFBhcnNlckZvckJ1ZmZlcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTa2lwQmxhbmtDaGFycycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTcGxpdFFOYW1lJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFN0b3BQYXJzZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU3RyaW5nQ3VycmVudENoYXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU3RyaW5nRGVjb2RlRW50aXRpZXMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU3RyaW5nTGVuRGVjb2RlRW50aXRpZXMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU3dpdGNoRW5jb2RpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU3dpdGNoSW5wdXRFbmNvZGluZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTd2l0Y2hUb0VuY29kaW5nJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jJz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGhyRGVmUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sUGFyc2VySW5wdXRCdWZmZXJQdHInPgorICAgICAgPHJlZiBuYW1lPSd4bWxGcmVlUGFyc2VySW5wdXRCdWZmZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSU9QYXJzZURURCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdJT0lucHV0U3RyZWFtJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld1RleHRSZWFkZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySW5wdXRCdWZmZXJHcm93Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyUHVzaCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJJbnB1dEJ1ZmZlclJlYWQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRhdGVTdHJlYW0nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclNldHVwJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbFBhcnNlcklucHV0UHRyJz4KKyAgICAgIDxyZWYgbmFtZT0naW5wdXRQdXNoJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENoZWNrSFRUUElucHV0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEZyZWVJbnB1dFN0cmVhbScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJJbnB1dEdyb3cnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySW5wdXRSZWFkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0U2hyaW5rJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlclByaW50RmlsZUNvbnRleHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VyUHJpbnRGaWxlSW5mbycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQdXNoSW5wdXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU3dpdGNoSW5wdXRFbmNvZGluZycvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxQYXJzZXJOb2RlSW5mb1NlcVB0cic+CisgICAgICA8cmVmIG5hbWU9J3htbENsZWFyTm9kZUluZm9TZXEnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSW5pdE5vZGVJbmZvU2VxJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbFBhcnNlclNldmVyaXRpZXMnPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyRXJyb3JGdW5jJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbFBhdHRlcm5QdHInPgorICAgICAgPHJlZiBuYW1lPSd4bWxGcmVlUGF0dGVybicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxGcmVlUGF0dGVybkxpc3QnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGF0dGVybkZyb21Sb290Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhdHRlcm5HZXRTdHJlYW1DdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhdHRlcm5NYXRjaCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXR0ZXJuTWF4RGVwdGgnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGF0dGVybk1pbkRlcHRoJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhdHRlcm5TdHJlYW1hYmxlJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbFJNdXRleFB0cic+CisgICAgICA8cmVmIG5hbWU9J3htbEZyZWVSTXV0ZXgnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUk11dGV4TG9jaycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSTXV0ZXhVbmxvY2snLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sUmVhbGxvY0Z1bmMnPgorICAgICAgPHJlZiBuYW1lPSd4bWxHY01lbVNldHVwJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE1lbVNldHVwJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbFJlYWxsb2NGdW5jIConPgorICAgICAgPHJlZiBuYW1lPSd4bWxHY01lbUdldCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxNZW1HZXQnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sUmVmVGFibGVQdHInPgorICAgICAgPHJlZiBuYW1lPSd4bWxGcmVlUmVmVGFibGUnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sUmVnRXhlY0NhbGxiYWNrcyc+CisgICAgICA8cmVmIG5hbWU9J3htbFJlZ05ld0V4ZWNDdHh0Jy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbFJlZ0V4ZWNDdHh0UHRyJz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVnRXhlY0NhbGxiYWNrcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWdFeGVjRXJySW5mbycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWdFeGVjTmV4dFZhbHVlcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWdFeGVjUHVzaFN0cmluZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWdFeGVjUHVzaFN0cmluZzInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVnRnJlZUV4ZWNDdHh0Jy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbFJlZ2V4cFB0cic+CisgICAgICA8cmVmIG5hbWU9J3htbFJlZ0ZyZWVSZWdleHAnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVnTmV3RXhlY0N0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVnZXhwRXhlYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWdleHBJc0RldGVybWluaXN0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlZ2V4cFByaW50Jy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbFJlZ2lzdGVyTm9kZUZ1bmMnPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWdpc3Rlck5vZGVEZWZhdWx0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRockRlZlJlZ2lzdGVyTm9kZURlZmF1bHQnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sUmVsYXhOR1BhcnNlckN0eHRQdHInPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HRnJlZVBhcnNlckN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVsYXhOR0dldFBhcnNlckVycm9ycycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HUGFyc2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVsYXhOR1NldFBhcnNlckVycm9ycycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HU2V0UGFyc2VyU3RydWN0dXJlZEVycm9ycycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheFBhcnNlclNldEZsYWcnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sUmVsYXhOR1B0cic+CisgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4TkdEdW1wJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4TkdEdW1wVHJlZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HRnJlZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HTmV3VmFsaWRDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJSZWxheE5HU2V0U2NoZW1hJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbFJlbGF4TkdWYWxpZEN0eHRQdHInPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HRnJlZVZhbGlkQ3R4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HR2V0VmFsaWRFcnJvcnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVsYXhOR1NldFZhbGlkRXJyb3JzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4TkdTZXRWYWxpZFN0cnVjdHVyZWRFcnJvcnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVsYXhOR1ZhbGlkYXRlRG9jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4TkdWYWxpZGF0ZUZ1bGxFbGVtZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4TkdWYWxpZGF0ZVBvcEVsZW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVsYXhOR1ZhbGlkYXRlUHVzaENEYXRhJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4TkdWYWxpZGF0ZVB1c2hFbGVtZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJSZWxheE5HVmFsaWRhdGVDdHh0Jy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbFJlbGF4TkdWYWxpZGl0eUVycm9yRnVuYyc+CisgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4TkdTZXRQYXJzZXJFcnJvcnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVsYXhOR1NldFZhbGlkRXJyb3JzJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbFJlbGF4TkdWYWxpZGl0eUVycm9yRnVuYyAqJz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVsYXhOR0dldFBhcnNlckVycm9ycycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HR2V0VmFsaWRFcnJvcnMnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sUmVsYXhOR1ZhbGlkaXR5V2FybmluZ0Z1bmMnPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HU2V0UGFyc2VyRXJyb3JzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4TkdTZXRWYWxpZEVycm9ycycvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxSZWxheE5HVmFsaWRpdHlXYXJuaW5nRnVuYyAqJz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVsYXhOR0dldFBhcnNlckVycm9ycycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HR2V0VmFsaWRFcnJvcnMnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sU0FYSGFuZGxlciAqJz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYMkluaXREZWZhdWx0U0FYSGFuZGxlcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTQVgySW5pdERvY2JEZWZhdWx0U0FYSGFuZGxlcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTQVgySW5pdEh0bWxEZWZhdWx0U0FYSGFuZGxlcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTQVhWZXJzaW9uJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbFNBWEhhbmRsZXJQdHInPgorICAgICAgPHJlZiBuYW1lPSd4bWxDcmVhdGVJT1BhcnNlckN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSU9QYXJzZURURCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5UmVjb3ZlcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUV4dGVybmFsRW50aXR5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNBWFBhcnNlRFREJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNBWFBhcnNlRG9jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNBWFBhcnNlRW50aXR5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNBWFBhcnNlRmlsZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTQVhQYXJzZUZpbGVXaXRoRGF0YScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTQVhQYXJzZU1lbW9yeScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTQVhQYXJzZU1lbW9yeVdpdGhEYXRhJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNBWFVzZXJQYXJzZUZpbGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYVXNlclBhcnNlTWVtb3J5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbGlkYXRlU3RyZWFtJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbFNBWEhhbmRsZXJQdHIgKic+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVNBWFBsdWcnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sU0FYSGFuZGxlclYxIConPgorICAgICAgPHJlZiBuYW1lPSdpbml0ZG9jYkRlZmF1bHRTQVhIYW5kbGVyJy8+CisgICAgICA8cmVmIG5hbWU9J2luaXRodG1sRGVmYXVsdFNBWEhhbmRsZXInLz4KKyAgICAgIDxyZWYgbmFtZT0naW5pdHhtbERlZmF1bHRTQVhIYW5kbGVyJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbFNBWExvY2F0b3JQdHInPgorICAgICAgPHJlZiBuYW1lPSdzZXREb2N1bWVudExvY2F0b3InLz4KKyAgICAgIDxyZWYgbmFtZT0nc2V0RG9jdW1lbnRMb2NhdG9yU0FYRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTQVgyU2V0RG9jdW1lbnRMb2NhdG9yJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbFNhdmVDdHh0UHRyJz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2F2ZUNsb3NlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNhdmVEb2MnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2F2ZUZsdXNoJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNhdmVTZXRBdHRyRXNjYXBlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNhdmVTZXRFc2NhcGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2F2ZVRyZWUnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sU2NoZW1hRmFjZXRQdHInPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFDaGVja0ZhY2V0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUZyZWVGYWNldCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFHZXRGYWNldFZhbHVlQXNVTG9uZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbGlkYXRlRmFjZXRXaHRzcCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZUxlbmd0aEZhY2V0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXRXaHRzcCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZUxpc3RTaW1wbGVUeXBlRmFjZXQnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sU2NoZW1hUGFyc2VyQ3R4dFB0cic+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUNoZWNrRmFjZXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hRnJlZVBhcnNlckN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hR2V0UGFyc2VyRXJyb3JzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVBhcnNlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVNldFBhcnNlckVycm9ycycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFTZXRQYXJzZXJTdHJ1Y3R1cmVkRXJyb3JzJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbFNjaGVtYVB0cic+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUR1bXAnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hRnJlZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFOZXdWYWxpZEN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclNldFNjaGVtYScvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxTY2hlbWFTQVhQbHVnUHRyJz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hU0FYVW5wbHVnJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbFNjaGVtYVR5cGVQdHInPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFDaGVja0ZhY2V0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUZyZWVUeXBlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUdldEJ1aWx0SW5MaXN0U2ltcGxlVHlwZUl0ZW1UeXBlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUlzQnVpbHRJblR5cGVGYWNldCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxQcmVkZWZUeXBlTm9kZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxQcmVkZWZUeXBlTm9kZU5vTm9ybScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRhdGVQcmVkZWZpbmVkVHlwZScvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxTY2hlbWFWYWxQdHInPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFDb21wYXJlVmFsdWVzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUNvbXBhcmVWYWx1ZXNXaHRzcCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFDb3B5VmFsdWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hRnJlZVZhbHVlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUdldENhbm9uVmFsdWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hR2V0Q2Fub25WYWx1ZVdodHNwJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUdldFZhbFR5cGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRhdGVGYWNldCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0V2h0c3AnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZUxlbmd0aEZhY2V0V2h0c3AnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsdWVBcHBlbmQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsdWVHZXRBc0Jvb2xlYW4nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsdWVHZXRBc1N0cmluZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWx1ZUdldE5leHQnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sU2NoZW1hVmFsUHRyIConPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxQcmVkZWZUeXBlTm9kZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxQcmVkZWZUeXBlTm9kZU5vTm9ybScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZVByZWRlZmluZWRUeXBlJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbFNjaGVtYVZhbFR5cGUnPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFHZXRCdWlsdEluVHlwZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFOZXdTdHJpbmdWYWx1ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0V2h0c3AnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldFdodHNwJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbFNjaGVtYVZhbGlkQ3R4dFB0cic+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUZyZWVWYWxpZEN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hR2V0VmFsaWRFcnJvcnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hSXNWYWxpZCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFTQVhQbHVnJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVNldFZhbGlkRXJyb3JzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVNldFZhbGlkT3B0aW9ucycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFTZXRWYWxpZFN0cnVjdHVyZWRFcnJvcnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRDdHh0R2V0T3B0aW9ucycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZEN0eHRHZXRQYXJzZXJDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbGlkYXRlRG9jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbGlkYXRlRmlsZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZU9uZUVsZW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRhdGVTZXRGaWxlbmFtZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZVNldExvY2F0b3InLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRhdGVTdHJlYW0nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlQ3R4dCcvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxTY2hlbWFWYWxpZGl0eUVycm9yRnVuYyc+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVNldFBhcnNlckVycm9ycycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFTZXRWYWxpZEVycm9ycycvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxTY2hlbWFWYWxpZGl0eUVycm9yRnVuYyAqJz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hR2V0UGFyc2VyRXJyb3JzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUdldFZhbGlkRXJyb3JzJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbFNjaGVtYVZhbGlkaXR5TG9jYXRvckZ1bmMnPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZVNldExvY2F0b3InLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sU2NoZW1hVmFsaWRpdHlXYXJuaW5nRnVuYyc+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVNldFBhcnNlckVycm9ycycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFTZXRWYWxpZEVycm9ycycvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxTY2hlbWFWYWxpZGl0eVdhcm5pbmdGdW5jIConPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFHZXRQYXJzZXJFcnJvcnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hR2V0VmFsaWRFcnJvcnMnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sU2NoZW1hV2hpdGVzcGFjZVZhbHVlVHlwZSc+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUNvbXBhcmVWYWx1ZXNXaHRzcCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFHZXRDYW5vblZhbHVlV2h0c3AnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRhdGVGYWNldFdodHNwJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXRXaHRzcCcvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxTY2hlbWFXaWxkY2FyZFB0cic+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUZyZWVXaWxkY2FyZCcvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxTY2hlbWF0cm9uUGFyc2VyQ3R4dFB0cic+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYXRyb25GcmVlUGFyc2VyQ3R4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWF0cm9uUGFyc2UnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sU2NoZW1hdHJvblB0cic+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYXRyb25GcmVlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYXRyb25OZXdWYWxpZEN0eHQnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sU2NoZW1hdHJvblZhbGlkQ3R4dFB0cic+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYXRyb25GcmVlVmFsaWRDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYXRyb25TZXRWYWxpZFN0cnVjdHVyZWRFcnJvcnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hdHJvblZhbGlkYXRlRG9jJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbFNoZWxsQ3R4dFB0cic+CisgICAgICA8cmVmIG5hbWU9J3htbFNoZWxsQmFzZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTaGVsbENhdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTaGVsbENtZCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTaGVsbERpcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTaGVsbER1Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNoZWxsTGlzdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTaGVsbExvYWQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2hlbGxQd2QnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2hlbGxTYXZlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNoZWxsVmFsaWRhdGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2hlbGxXcml0ZScvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxTaGVsbFJlYWRsaW5lRnVuYyc+CisgICAgICA8cmVmIG5hbWU9J3htbFNoZWxsJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbFN0cmR1cEZ1bmMnPgorICAgICAgPHJlZiBuYW1lPSd4bWxHY01lbVNldHVwJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE1lbVNldHVwJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbFN0cmR1cEZ1bmMgKic+CisgICAgICA8cmVmIG5hbWU9J3htbEdjTWVtR2V0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbE1lbUdldCcvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxTdHJlYW1DdHh0UHRyJz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRnJlZVN0cmVhbUN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU3RyZWFtUG9wJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFN0cmVhbVB1c2gnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU3RyZWFtUHVzaEF0dHInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU3RyZWFtUHVzaE5vZGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU3RyZWFtV2FudHNBbnlOb2RlJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbFN0cnVjdHVyZWRFcnJvckZ1bmMnPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HU2V0UGFyc2VyU3RydWN0dXJlZEVycm9ycycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVNldFBhcnNlclN0cnVjdHVyZWRFcnJvcnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYXRyb25TZXRWYWxpZFN0cnVjdHVyZWRFcnJvcnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2V0U3RydWN0dXJlZEVycm9yRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyU2V0U3RydWN0dXJlZEVycm9ySGFuZGxlcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUaHJEZWZTZXRTdHJ1Y3R1cmVkRXJyb3JGdW5jJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbFRleHRSZWFkZXJFcnJvckZ1bmMnPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyU2V0RXJyb3JIYW5kbGVyJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbFRleHRSZWFkZXJFcnJvckZ1bmMgKic+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJHZXRFcnJvckhhbmRsZXInLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sVGV4dFJlYWRlckxvY2F0b3JQdHInPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyRXJyb3JGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJMb2NhdG9yQmFzZVVSSScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyTG9jYXRvckxpbmVOdW1iZXInLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sVGV4dFJlYWRlclB0cic+CisgICAgICA8cmVmIG5hbWU9J3htbEZyZWVUZXh0UmVhZGVyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlYWRlck5ld0RvYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWFkZXJOZXdGZCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWFkZXJOZXdGaWxlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlYWRlck5ld0lPJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlYWRlck5ld01lbW9yeScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWFkZXJOZXdXYWxrZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckF0dHJpYnV0ZUNvdW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJCYXNlVXJpJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJCeXRlQ29uc3VtZWQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckNsb3NlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJDb25zdEJhc2VVcmknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckNvbnN0RW5jb2RpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckNvbnN0TG9jYWxOYW1lJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJDb25zdE5hbWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckNvbnN0TmFtZXNwYWNlVXJpJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJDb25zdFByZWZpeCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyQ29uc3RTdHJpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckNvbnN0VmFsdWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckNvbnN0WG1sTGFuZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyQ29uc3RYbWxWZXJzaW9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJDdXJyZW50RG9jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJDdXJyZW50Tm9kZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyRGVwdGgnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckV4cGFuZCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJHZXRBdHRyaWJ1dGVObycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlTnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckdldEVycm9ySGFuZGxlcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyR2V0UGFyc2VyQ29sdW1uTnVtYmVyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJHZXRQYXJzZXJMaW5lTnVtYmVyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJHZXRQYXJzZXJQcm9wJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJHZXRSZW1haW5kZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckhhc0F0dHJpYnV0ZXMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckhhc1ZhbHVlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJJc0RlZmF1bHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlcklzRW1wdHlFbGVtZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJJc05hbWVzcGFjZURlY2wnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlcklzVmFsaWQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckxvY2FsTmFtZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyTG9va3VwTmFtZXNwYWNlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJNb3ZlVG9BdHRyaWJ1dGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlck1vdmVUb0F0dHJpYnV0ZU5vJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJNb3ZlVG9BdHRyaWJ1dGVOcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyTW92ZVRvRWxlbWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyTW92ZVRvRmlyc3RBdHRyaWJ1dGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlck1vdmVUb05leHRBdHRyaWJ1dGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlck5hbWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlck5hbWVzcGFjZVVyaScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyTmV4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyTmV4dFNpYmxpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlck5vZGVUeXBlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJOb3JtYWxpemF0aW9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJQcmVmaXgnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclByZXNlcnZlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJQcmVzZXJ2ZVBhdHRlcm4nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclF1b3RlQ2hhcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyUmVhZCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyUmVhZEF0dHJpYnV0ZVZhbHVlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJSZWFkSW5uZXJYbWwnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclJlYWRPdXRlclhtbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyUmVhZFN0YXRlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJSZWFkU3RyaW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJSZWxheE5HU2V0U2NoZW1hJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJSZWxheE5HVmFsaWRhdGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZUN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZUN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclNldEVycm9ySGFuZGxlcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyU2V0UGFyc2VyUHJvcCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyU2V0U2NoZW1hJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJTZXRTdHJ1Y3R1cmVkRXJyb3JIYW5kbGVyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJTZXR1cCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyU3RhbmRhbG9uZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyVmFsdWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclhtbExhbmcnLz4KKyAgICA8L3R5cGU+CisgICAgPHR5cGUgbmFtZT0neG1sVGV4dFdyaXRlclB0cic+CisgICAgICA8cmVmIG5hbWU9J3htbEZyZWVUZXh0V3JpdGVyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJFbmRBdHRyaWJ1dGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlckVuZENEQVRBJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJFbmRDb21tZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJFbmREVEQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlckVuZERUREF0dGxpc3QnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlckVuZERUREVsZW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlckVuZERUREVudGl0eScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyRW5kRG9jdW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlckVuZEVsZW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlckVuZFBJJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJGbHVzaCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyRnVsbEVuZEVsZW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlclNldEluZGVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyU2V0SW5kZW50U3RyaW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJTZXRRdW90ZUNoYXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlclN0YXJ0QXR0cmlidXRlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJTdGFydEF0dHJpYnV0ZU5TJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJTdGFydENEQVRBJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJTdGFydENvbW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlclN0YXJ0RFREJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJTdGFydERUREF0dGxpc3QnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlclN0YXJ0RFRERWxlbWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyU3RhcnREVERFbnRpdHknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlclN0YXJ0RG9jdW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlclN0YXJ0RWxlbWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyU3RhcnRFbGVtZW50TlMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlclN0YXJ0UEknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlQXR0cmlidXRlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZUF0dHJpYnV0ZU5TJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZUJhc2U2NCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVCaW5IZXgnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlQ0RBVEEnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlQ29tbWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVEVEQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRFREQXR0bGlzdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVEVERFbGVtZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZURUREVudGl0eScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVEVERFeHRlcm5hbEVudGl0eScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVEVERFeHRlcm5hbEVudGl0eUNvbnRlbnRzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZURUREludGVybmFsRW50aXR5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZURURE5vdGF0aW9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZUVsZW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRWxlbWVudE5TJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdEF0dHJpYnV0ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRBdHRyaWJ1dGVOUycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRDREFUQScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRDb21tZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdERURCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVERBdHRsaXN0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdERUREVsZW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFRESW50ZXJuYWxFbnRpdHknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RWxlbWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRFbGVtZW50TlMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0UEknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0UmF3Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdFN0cmluZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVQSScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVSYXcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlUmF3TGVuJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZVN0cmluZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0QXR0cmlidXRlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRBdHRyaWJ1dGVOUycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0Q0RBVEEnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdENvbW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERURCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFREQXR0bGlzdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFRERWxlbWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFRESW50ZXJuYWxFbnRpdHknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEVsZW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEVsZW1lbnROUycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0UEknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdFJhdycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0U3RyaW5nJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbFVSSVB0cic+CisgICAgICA8cmVmIG5hbWU9J3htbEZyZWVVUkknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VVUklSZWZlcmVuY2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUHJpbnRVUkknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2F2ZVVyaScvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxWYWxpZEN0eHRQdHInPgorICAgICAgPHJlZiBuYW1lPSd4bWxBZGRBdHRyaWJ1dGVEZWNsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEFkZEVsZW1lbnREZWNsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEFkZElEJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEFkZE5vdGF0aW9uRGVjbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxBZGRSZWYnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRnJlZVZhbGlkQ3R4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZEJ1aWxkQ29udGVudE1vZGVsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkQ3R4dE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlQXR0cmlidXRlRGVjbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZURvY3VtZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlRG9jdW1lbnRGaW5hbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZUR0ZCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZUR0ZEZpbmFsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlRWxlbWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZUVsZW1lbnREZWNsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlTm90YXRpb25EZWNsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlTm90YXRpb25Vc2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVPbmVBdHRyaWJ1dGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVPbmVFbGVtZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlT25lTmFtZXNwYWNlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlUG9wRWxlbWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZVB1c2hDRGF0YScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZVB1c2hFbGVtZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlUm9vdCcvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxYSW5jbHVkZUN0eHRQdHInPgorICAgICAgPHJlZiBuYW1lPSd4bWxYSW5jbHVkZUZyZWVDb250ZXh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhJbmNsdWRlUHJvY2Vzc05vZGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWEluY2x1ZGVTZXRGbGFncycvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxYUGF0aENvbXBFeHByUHRyJz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDb21waWxlZEV2YWwnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDb21waWxlZEV2YWxUb0Jvb2xlYW4nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhEZWJ1Z0R1bXBDb21wRXhwcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEZyZWVDb21wRXhwcicvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxYUGF0aENvbnRleHRQdHInPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENvbXBpbGVkRXZhbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENvbXBpbGVkRXZhbFRvQm9vbGVhbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENvbnRleHRTZXRDYWNoZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEN0eHRDb21waWxlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRXZhbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEV2YWxFeHByZXNzaW9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRXZhbFByZWRpY2F0ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEZyZWVDb250ZXh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRnVuY3Rpb25Mb29rdXAnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhGdW5jdGlvbkxvb2t1cE5TJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV3UGFyc2VyQ29udGV4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vZGVFdmFsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTnNMb29rdXAnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhSZWdpc3RlckFsbEZ1bmN0aW9ucycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFJlZ2lzdGVyRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFJlZ2lzdGVyRnVuY0xvb2t1cCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFJlZ2lzdGVyRnVuY05TJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoUmVnaXN0ZXJOcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlTG9va3VwJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZU5TJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoUmVnaXN0ZXJlZEZ1bmNzQ2xlYW51cCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFJlZ2lzdGVyZWROc0NsZWFudXAnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhSZWdpc3RlcmVkVmFyaWFibGVzQ2xlYW51cCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFNldENvbnRleHROb2RlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoVmFyaWFibGVMb29rdXAnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhWYXJpYWJsZUxvb2t1cE5TJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQdHJFdmFsJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbFhQYXRoRnVuY0xvb2t1cEZ1bmMnPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFJlZ2lzdGVyRnVuY0xvb2t1cCcvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxYUGF0aEZ1bmN0aW9uJz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhSZWdpc3RlckZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhSZWdpc3RlckZ1bmNOUycvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxYUGF0aE9iamVjdFB0cic+CisgICAgICA8cmVmIG5hbWU9J3ZhbHVlUHVzaCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTaGVsbFByaW50WFBhdGhSZXN1bHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhBeGlzRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENhc3RUb0Jvb2xlYW4nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDYXN0VG9OdW1iZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDYXN0VG9TdHJpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDb252ZXJ0Qm9vbGVhbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENvbnZlcnRGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ29udmVydE51bWJlcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENvbnZlcnRTdHJpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhEZWJ1Z0R1bXBPYmplY3QnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhFdmFsUHJlZGljYXRlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRXZhbHVhdGVQcmVkaWNhdGVSZXN1bHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhGcmVlTm9kZVNldExpc3QnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhGcmVlT2JqZWN0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoT2JqZWN0Q29weScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlTlMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFB0ckJ1aWxkTm9kZUxpc3QnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFB0ckxvY2F0aW9uU2V0QWRkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQdHJMb2NhdGlvblNldENyZWF0ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyTG9jYXRpb25TZXREZWwnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFB0ck5ld1JhbmdlTm9kZU9iamVjdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyTmV3UmFuZ2VOb2RlUG9pbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFB0ck5ld1JhbmdlUG9pbnROb2RlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQdHJOZXdSYW5nZVBvaW50cycvPgorICAgIDwvdHlwZT4KKyAgICA8dHlwZSBuYW1lPSd4bWxYUGF0aFBhcnNlckNvbnRleHRQdHInPgorICAgICAgPHJlZiBuYW1lPSd2YWx1ZVBvcCcvPgorICAgICAgPHJlZiBuYW1lPSd2YWx1ZVB1c2gnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhBZGRWYWx1ZXMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhBeGlzRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEJvb2xlYW5GdW5jdGlvbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENlaWxpbmdGdW5jdGlvbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENvbXBhcmVWYWx1ZXMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDb25jYXRGdW5jdGlvbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENvbnRhaW5zRnVuY3Rpb24nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDb3VudEZ1bmN0aW9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRGl2VmFsdWVzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRXF1YWxWYWx1ZXMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhFcnInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhFdmFsRXhwcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEV2YWxGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRXZhbHVhdGVQcmVkaWNhdGVSZXN1bHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhGYWxzZUZ1bmN0aW9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRmxvb3JGdW5jdGlvbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEZyZWVQYXJzZXJDb250ZXh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRnVuY3Rpb24nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhJZEZ1bmN0aW9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTGFuZ0Z1bmN0aW9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTGFzdEZ1bmN0aW9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTG9jYWxOYW1lRnVuY3Rpb24nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhNb2RWYWx1ZXMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhNdWx0VmFsdWVzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmFtZXNwYWNlVVJJRnVuY3Rpb24nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXh0QW5jZXN0b3InLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXh0QW5jZXN0b3JPclNlbGYnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXh0QXR0cmlidXRlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV4dENoaWxkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV4dERlc2NlbmRhbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXh0RGVzY2VuZGFudE9yU2VsZicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5leHRGb2xsb3dpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXh0Rm9sbG93aW5nU2libGluZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5leHROYW1lc3BhY2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXh0UGFyZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV4dFByZWNlZGluZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5leHRQcmVjZWRpbmdTaWJsaW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV4dFNlbGYnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb3JtYWxpemVGdW5jdGlvbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vdEVxdWFsVmFsdWVzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm90RnVuY3Rpb24nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOdW1iZXJGdW5jdGlvbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFBhcnNlTkNOYW1lJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoUGFyc2VOYW1lJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoUG9wQm9vbGVhbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFBvcEV4dGVybmFsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoUG9wTm9kZVNldCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFBvcE51bWJlcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFBvcFN0cmluZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFBvc2l0aW9uRnVuY3Rpb24nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhSb290Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoUm91bmRGdW5jdGlvbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFN0YXJ0c1dpdGhGdW5jdGlvbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFN0cmluZ0Z1bmN0aW9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoU3RyaW5nTGVuZ3RoRnVuY3Rpb24nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhTdWJWYWx1ZXMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhTdWJzdHJpbmdBZnRlckZ1bmN0aW9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoU3Vic3RyaW5nQmVmb3JlRnVuY3Rpb24nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhTdWJzdHJpbmdGdW5jdGlvbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFN1bUZ1bmN0aW9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoVHJhbnNsYXRlRnVuY3Rpb24nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhUcnVlRnVuY3Rpb24nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhWYWx1ZUZsaXBTaWduJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoZXJyb3InLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFB0ckV2YWxSYW5nZVByZWRpY2F0ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyUmFuZ2VUb0Z1bmN0aW9uJy8+CisgICAgPC90eXBlPgorICAgIDx0eXBlIG5hbWU9J3htbFhQYXRoVmFyaWFibGVMb29rdXBGdW5jJz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlTG9va3VwJy8+CisgICAgPC90eXBlPgorICA8L2Z1bmN0aW9ucz4KKyAgPGZpbGVzPgorICAgIDxmaWxlIG5hbWU9J0RPQ0JwYXJzZXInPgorICAgICAgPHJlZiBuYW1lPSdkb2NiQ3JlYXRlRmlsZVBhcnNlckN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0nZG9jYkNyZWF0ZVB1c2hQYXJzZXJDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J2RvY2JEb2NQdHInLz4KKyAgICAgIDxyZWYgbmFtZT0nZG9jYkVuY29kZUVudGl0aWVzJy8+CisgICAgICA8cmVmIG5hbWU9J2RvY2JGcmVlUGFyc2VyQ3R4dCcvPgorICAgICAgPHJlZiBuYW1lPSdkb2NiUGFyc2VDaHVuaycvPgorICAgICAgPHJlZiBuYW1lPSdkb2NiUGFyc2VEb2MnLz4KKyAgICAgIDxyZWYgbmFtZT0nZG9jYlBhcnNlRG9jdW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0nZG9jYlBhcnNlRmlsZScvPgorICAgICAgPHJlZiBuYW1lPSdkb2NiUGFyc2VyQ3R4dCcvPgorICAgICAgPHJlZiBuYW1lPSdkb2NiUGFyc2VyQ3R4dFB0cicvPgorICAgICAgPHJlZiBuYW1lPSdkb2NiUGFyc2VySW5wdXQnLz4KKyAgICAgIDxyZWYgbmFtZT0nZG9jYlBhcnNlcklucHV0UHRyJy8+CisgICAgICA8cmVmIG5hbWU9J2RvY2JTQVhIYW5kbGVyJy8+CisgICAgICA8cmVmIG5hbWU9J2RvY2JTQVhIYW5kbGVyUHRyJy8+CisgICAgICA8cmVmIG5hbWU9J2RvY2JTQVhQYXJzZURvYycvPgorICAgICAgPHJlZiBuYW1lPSdkb2NiU0FYUGFyc2VGaWxlJy8+CisgICAgPC9maWxlPgorICAgIDxmaWxlIG5hbWU9J0hUTUxwYXJzZXInPgorICAgICAgPHJlZiBuYW1lPSdIVE1MX0RFUFJFQ0FURUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nSFRNTF9JTlZBTElEJy8+CisgICAgICA8cmVmIG5hbWU9J0hUTUxfTkEnLz4KKyAgICAgIDxyZWYgbmFtZT0nSFRNTF9QQVJTRV9DT01QQUNUJy8+CisgICAgICA8cmVmIG5hbWU9J0hUTUxfUEFSU0VfSUdOT1JFX0VOQycvPgorICAgICAgPHJlZiBuYW1lPSdIVE1MX1BBUlNFX05PQkxBTktTJy8+CisgICAgICA8cmVmIG5hbWU9J0hUTUxfUEFSU0VfTk9ERUZEVEQnLz4KKyAgICAgIDxyZWYgbmFtZT0nSFRNTF9QQVJTRV9OT0VSUk9SJy8+CisgICAgICA8cmVmIG5hbWU9J0hUTUxfUEFSU0VfTk9JTVBMSUVEJy8+CisgICAgICA8cmVmIG5hbWU9J0hUTUxfUEFSU0VfTk9ORVQnLz4KKyAgICAgIDxyZWYgbmFtZT0nSFRNTF9QQVJTRV9OT1dBUk5JTkcnLz4KKyAgICAgIDxyZWYgbmFtZT0nSFRNTF9QQVJTRV9QRURBTlRJQycvPgorICAgICAgPHJlZiBuYW1lPSdIVE1MX1BBUlNFX1JFQ09WRVInLz4KKyAgICAgIDxyZWYgbmFtZT0nSFRNTF9SRVFVSVJFRCcvPgorICAgICAgPHJlZiBuYW1lPSdIVE1MX1ZBTElEJy8+CisgICAgICA8cmVmIG5hbWU9J1VURjhUb0h0bWwnLz4KKyAgICAgIDxyZWYgbmFtZT0nX2h0bWxFbGVtRGVzYycvPgorICAgICAgPHJlZiBuYW1lPSdfaHRtbEVudGl0eURlc2MnLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbEF0dHJBbGxvd2VkJy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxBdXRvQ2xvc2VUYWcnLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbENyZWF0ZU1lbW9yeVBhcnNlckN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbENyZWF0ZVB1c2hQYXJzZXJDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxDdHh0UmVhZERvYycvPgorICAgICAgPHJlZiBuYW1lPSdodG1sQ3R4dFJlYWRGZCcvPgorICAgICAgPHJlZiBuYW1lPSdodG1sQ3R4dFJlYWRGaWxlJy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxDdHh0UmVhZElPJy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxDdHh0UmVhZE1lbW9yeScvPgorICAgICAgPHJlZiBuYW1lPSdodG1sQ3R4dFJlc2V0Jy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxDdHh0VXNlT3B0aW9ucycvPgorICAgICAgPHJlZiBuYW1lPSdodG1sRGVmYXVsdFN1YmVsZW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbERvY1B0cicvPgorICAgICAgPHJlZiBuYW1lPSdodG1sRWxlbURlc2MnLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbEVsZW1EZXNjUHRyJy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxFbGVtZW50QWxsb3dlZEhlcmUnLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbEVsZW1lbnRBbGxvd2VkSGVyZURlc2MnLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbEVsZW1lbnRTdGF0dXNIZXJlJy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxFbmNvZGVFbnRpdGllcycvPgorICAgICAgPHJlZiBuYW1lPSdodG1sRW50aXR5RGVzYycvPgorICAgICAgPHJlZiBuYW1lPSdodG1sRW50aXR5RGVzY1B0cicvPgorICAgICAgPHJlZiBuYW1lPSdodG1sRW50aXR5TG9va3VwJy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxFbnRpdHlWYWx1ZUxvb2t1cCcvPgorICAgICAgPHJlZiBuYW1lPSdodG1sRnJlZVBhcnNlckN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbEhhbmRsZU9taXR0ZWRFbGVtJy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxJc0F1dG9DbG9zZWQnLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbElzU2NyaXB0QXR0cmlidXRlJy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxOZXdQYXJzZXJDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxOb2RlUHRyJy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxOb2RlU3RhdHVzJy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxQYXJzZUNoYXJSZWYnLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbFBhcnNlQ2h1bmsnLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbFBhcnNlRG9jJy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxQYXJzZURvY3VtZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxQYXJzZUVsZW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbFBhcnNlRW50aXR5UmVmJy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxQYXJzZUZpbGUnLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbFBhcnNlckN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbFBhcnNlckN0eHRQdHInLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbFBhcnNlcklucHV0Jy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxQYXJzZXJJbnB1dFB0cicvPgorICAgICAgPHJlZiBuYW1lPSdodG1sUGFyc2VyTm9kZUluZm8nLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbFBhcnNlck9wdGlvbicvPgorICAgICAgPHJlZiBuYW1lPSdodG1sUmVhZERvYycvPgorICAgICAgPHJlZiBuYW1lPSdodG1sUmVhZEZkJy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxSZWFkRmlsZScvPgorICAgICAgPHJlZiBuYW1lPSdodG1sUmVhZElPJy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxSZWFkTWVtb3J5Jy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxSZXF1aXJlZEF0dHJzJy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxTQVhIYW5kbGVyJy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxTQVhIYW5kbGVyUHRyJy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxTQVhQYXJzZURvYycvPgorICAgICAgPHJlZiBuYW1lPSdodG1sU0FYUGFyc2VGaWxlJy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxTdGF0dXMnLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbFRhZ0xvb2t1cCcvPgorICAgIDwvZmlsZT4KKyAgICA8ZmlsZSBuYW1lPSdIVE1MdHJlZSc+CisgICAgICA8cmVmIG5hbWU9J0hUTUxfQ09NTUVOVF9OT0RFJy8+CisgICAgICA8cmVmIG5hbWU9J0hUTUxfRU5USVRZX1JFRl9OT0RFJy8+CisgICAgICA8cmVmIG5hbWU9J0hUTUxfUElfTk9ERScvPgorICAgICAgPHJlZiBuYW1lPSdIVE1MX1BSRVNFUlZFX05PREUnLz4KKyAgICAgIDxyZWYgbmFtZT0nSFRNTF9URVhUX05PREUnLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbERvY0NvbnRlbnREdW1wRm9ybWF0T3V0cHV0Jy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxEb2NDb250ZW50RHVtcE91dHB1dCcvPgorICAgICAgPHJlZiBuYW1lPSdodG1sRG9jRHVtcCcvPgorICAgICAgPHJlZiBuYW1lPSdodG1sRG9jRHVtcE1lbW9yeScvPgorICAgICAgPHJlZiBuYW1lPSdodG1sRG9jRHVtcE1lbW9yeUZvcm1hdCcvPgorICAgICAgPHJlZiBuYW1lPSdodG1sR2V0TWV0YUVuY29kaW5nJy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxJc0Jvb2xlYW5BdHRyJy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxOZXdEb2MnLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbE5ld0RvY05vRHREJy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxOb2RlRHVtcCcvPgorICAgICAgPHJlZiBuYW1lPSdodG1sTm9kZUR1bXBGaWxlJy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxOb2RlRHVtcEZpbGVGb3JtYXQnLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbE5vZGVEdW1wRm9ybWF0T3V0cHV0Jy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxOb2RlRHVtcE91dHB1dCcvPgorICAgICAgPHJlZiBuYW1lPSdodG1sU2F2ZUZpbGUnLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbFNhdmVGaWxlRW5jJy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxTYXZlRmlsZUZvcm1hdCcvPgorICAgICAgPHJlZiBuYW1lPSdodG1sU2V0TWV0YUVuY29kaW5nJy8+CisgICAgPC9maWxlPgorICAgIDxmaWxlIG5hbWU9J1NBWCc+CisgICAgICA8cmVmIG5hbWU9J2F0dHJpYnV0ZScvPgorICAgICAgPHJlZiBuYW1lPSdhdHRyaWJ1dGVEZWNsJy8+CisgICAgICA8cmVmIG5hbWU9J2NkYXRhQmxvY2snLz4KKyAgICAgIDxyZWYgbmFtZT0nY2hhcmFjdGVycycvPgorICAgICAgPHJlZiBuYW1lPSdjaGVja05hbWVzcGFjZScvPgorICAgICAgPHJlZiBuYW1lPSdjb21tZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J2VsZW1lbnREZWNsJy8+CisgICAgICA8cmVmIG5hbWU9J2VuZERvY3VtZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J2VuZEVsZW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0nZW50aXR5RGVjbCcvPgorICAgICAgPHJlZiBuYW1lPSdleHRlcm5hbFN1YnNldCcvPgorICAgICAgPHJlZiBuYW1lPSdnZXRDb2x1bW5OdW1iZXInLz4KKyAgICAgIDxyZWYgbmFtZT0nZ2V0RW50aXR5Jy8+CisgICAgICA8cmVmIG5hbWU9J2dldExpbmVOdW1iZXInLz4KKyAgICAgIDxyZWYgbmFtZT0nZ2V0TmFtZXNwYWNlJy8+CisgICAgICA8cmVmIG5hbWU9J2dldFBhcmFtZXRlckVudGl0eScvPgorICAgICAgPHJlZiBuYW1lPSdnZXRQdWJsaWNJZCcvPgorICAgICAgPHJlZiBuYW1lPSdnZXRTeXN0ZW1JZCcvPgorICAgICAgPHJlZiBuYW1lPSdnbG9iYWxOYW1lc3BhY2UnLz4KKyAgICAgIDxyZWYgbmFtZT0naGFzRXh0ZXJuYWxTdWJzZXQnLz4KKyAgICAgIDxyZWYgbmFtZT0naGFzSW50ZXJuYWxTdWJzZXQnLz4KKyAgICAgIDxyZWYgbmFtZT0naWdub3JhYmxlV2hpdGVzcGFjZScvPgorICAgICAgPHJlZiBuYW1lPSdpbml0ZG9jYkRlZmF1bHRTQVhIYW5kbGVyJy8+CisgICAgICA8cmVmIG5hbWU9J2luaXRodG1sRGVmYXVsdFNBWEhhbmRsZXInLz4KKyAgICAgIDxyZWYgbmFtZT0naW5pdHhtbERlZmF1bHRTQVhIYW5kbGVyJy8+CisgICAgICA8cmVmIG5hbWU9J2ludGVybmFsU3Vic2V0Jy8+CisgICAgICA8cmVmIG5hbWU9J2lzU3RhbmRhbG9uZScvPgorICAgICAgPHJlZiBuYW1lPSduYW1lc3BhY2VEZWNsJy8+CisgICAgICA8cmVmIG5hbWU9J25vdGF0aW9uRGVjbCcvPgorICAgICAgPHJlZiBuYW1lPSdwcm9jZXNzaW5nSW5zdHJ1Y3Rpb24nLz4KKyAgICAgIDxyZWYgbmFtZT0ncmVmZXJlbmNlJy8+CisgICAgICA8cmVmIG5hbWU9J3Jlc29sdmVFbnRpdHknLz4KKyAgICAgIDxyZWYgbmFtZT0nc2V0RG9jdW1lbnRMb2NhdG9yJy8+CisgICAgICA8cmVmIG5hbWU9J3NldE5hbWVzcGFjZScvPgorICAgICAgPHJlZiBuYW1lPSdzdGFydERvY3VtZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3N0YXJ0RWxlbWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd1bnBhcnNlZEVudGl0eURlY2wnLz4KKyAgICA8L2ZpbGU+CisgICAgPGZpbGUgbmFtZT0nU0FYMic+CisgICAgICA8cmVmIG5hbWU9J2RvY2JEZWZhdWx0U0FYSGFuZGxlckluaXQnLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbERlZmF1bHRTQVhIYW5kbGVySW5pdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxEZWZhdWx0U0FYSGFuZGxlckluaXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYMkF0dHJpYnV0ZURlY2wnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYMkNEYXRhQmxvY2snLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYMkNoYXJhY3RlcnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYMkNvbW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYMkVsZW1lbnREZWNsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNBWDJFbmREb2N1bWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTQVgyRW5kRWxlbWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTQVgyRW5kRWxlbWVudE5zJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNBWDJFbnRpdHlEZWNsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNBWDJFeHRlcm5hbFN1YnNldCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTQVgyR2V0Q29sdW1uTnVtYmVyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNBWDJHZXRFbnRpdHknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYMkdldExpbmVOdW1iZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYMkdldFBhcmFtZXRlckVudGl0eScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTQVgyR2V0UHVibGljSWQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYMkdldFN5c3RlbUlkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNBWDJIYXNFeHRlcm5hbFN1YnNldCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTQVgySGFzSW50ZXJuYWxTdWJzZXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYMklnbm9yYWJsZVdoaXRlc3BhY2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYMkluaXREZWZhdWx0U0FYSGFuZGxlcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTQVgySW5pdERvY2JEZWZhdWx0U0FYSGFuZGxlcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTQVgySW5pdEh0bWxEZWZhdWx0U0FYSGFuZGxlcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTQVgySW50ZXJuYWxTdWJzZXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYMklzU3RhbmRhbG9uZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTQVgyTm90YXRpb25EZWNsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNBWDJQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYMlJlZmVyZW5jZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTQVgyUmVzb2x2ZUVudGl0eScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTQVgyU2V0RG9jdW1lbnRMb2NhdG9yJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNBWDJTdGFydERvY3VtZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNBWDJTdGFydEVsZW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYMlN0YXJ0RWxlbWVudE5zJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNBWDJVbnBhcnNlZEVudGl0eURlY2wnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYRGVmYXVsdFZlcnNpb24nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYVmVyc2lvbicvPgorICAgIDwvZmlsZT4KKyAgICA8ZmlsZSBuYW1lPSdjMTRuJz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0MxNE5fMV8wJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9DMTROXzFfMScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQzE0Tl9FWENMVVNJVkVfMV8wJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEMxNE5Eb2NEdW1wTWVtb3J5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEMxNE5Eb2NTYXZlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEMxNE5Eb2NTYXZlVG8nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQzE0TkV4ZWN1dGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQzE0TklzVmlzaWJsZUNhbGxiYWNrJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEMxNE5Nb2RlJy8+CisgICAgPC9maWxlPgorICAgIDxmaWxlIG5hbWU9J2NhdGFsb2cnPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQ0FUQUxPR1NfTkFNRVNQQUNFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9DQVRBTE9HX1BJJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9DQVRBX0FMTE9XX0FMTCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQ0FUQV9BTExPV19ET0NVTUVOVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQ0FUQV9BTExPV19HTE9CQUwnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0NBVEFfQUxMT1dfTk9ORScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQ0FUQV9QUkVGRVJfTk9ORScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQ0FUQV9QUkVGRVJfUFVCTElDJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9DQVRBX1BSRUZFUl9TWVNURU0nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQUNhdGFsb2dBZGQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQUNhdGFsb2dEdW1wJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEFDYXRhbG9nUmVtb3ZlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEFDYXRhbG9nUmVzb2x2ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxBQ2F0YWxvZ1Jlc29sdmVQdWJsaWMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQUNhdGFsb2dSZXNvbHZlU3lzdGVtJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEFDYXRhbG9nUmVzb2x2ZVVSSScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDYXRhbG9nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENhdGFsb2dBZGQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ2F0YWxvZ0FkZExvY2FsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENhdGFsb2dBbGxvdycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDYXRhbG9nQ2xlYW51cCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDYXRhbG9nQ29udmVydCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDYXRhbG9nRHVtcCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDYXRhbG9nRnJlZUxvY2FsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENhdGFsb2dHZXREZWZhdWx0cycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDYXRhbG9nR2V0UHVibGljJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENhdGFsb2dHZXRTeXN0ZW0nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ2F0YWxvZ0lzRW1wdHknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ2F0YWxvZ0xvY2FsUmVzb2x2ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDYXRhbG9nTG9jYWxSZXNvbHZlVVJJJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENhdGFsb2dQcmVmZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ2F0YWxvZ1B0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDYXRhbG9nUmVtb3ZlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENhdGFsb2dSZXNvbHZlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENhdGFsb2dSZXNvbHZlUHVibGljJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENhdGFsb2dSZXNvbHZlU3lzdGVtJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENhdGFsb2dSZXNvbHZlVVJJJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENhdGFsb2dTZXREZWJ1ZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDYXRhbG9nU2V0RGVmYXVsdFByZWZlcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDYXRhbG9nU2V0RGVmYXVsdHMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ29udmVydFNHTUxDYXRhbG9nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEZyZWVDYXRhbG9nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEluaXRpYWxpemVDYXRhbG9nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbExvYWRBQ2F0YWxvZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxMb2FkQ2F0YWxvZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxMb2FkQ2F0YWxvZ3MnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTG9hZFNHTUxTdXBlckNhdGFsb2cnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3Q2F0YWxvZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUNhdGFsb2dGaWxlJy8+CisgICAgPC9maWxlPgorICAgIDxmaWxlIG5hbWU9J2NodmFsaWQnPgorICAgICAgPHJlZiBuYW1lPSdfeG1sQ2hMUmFuZ2UnLz4KKyAgICAgIDxyZWYgbmFtZT0nX3htbENoUmFuZ2VHcm91cCcvPgorICAgICAgPHJlZiBuYW1lPSdfeG1sQ2hTUmFuZ2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ2hMUmFuZ2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ2hMUmFuZ2VQdHInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ2hSYW5nZUdyb3VwJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENoUmFuZ2VHcm91cFB0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDaFNSYW5nZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDaFNSYW5nZVB0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDaGFySW5SYW5nZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxJc0Jhc2VDaGFyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbElzQmFzZUNoYXJHcm91cCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxJc0Jhc2VDaGFyUScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxJc0Jhc2VDaGFyX2NoJy8+CisgICAgICA8cmVmIG5hbWU9J3htbElzQmxhbmsnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSXNCbGFua1EnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSXNCbGFua19jaCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxJc0NoYXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSXNDaGFyR3JvdXAnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSXNDaGFyUScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxJc0NoYXJfY2gnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSXNDb21iaW5pbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSXNDb21iaW5pbmdHcm91cCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxJc0NvbWJpbmluZ1EnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSXNEaWdpdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxJc0RpZ2l0R3JvdXAnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSXNEaWdpdFEnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSXNEaWdpdF9jaCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxJc0V4dGVuZGVyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbElzRXh0ZW5kZXJHcm91cCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxJc0V4dGVuZGVyUScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxJc0V4dGVuZGVyX2NoJy8+CisgICAgICA8cmVmIG5hbWU9J3htbElzSWRlb2dyYXBoaWMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSXNJZGVvZ3JhcGhpY0dyb3VwJy8+CisgICAgICA8cmVmIG5hbWU9J3htbElzSWRlb2dyYXBoaWNRJy8+CisgICAgICA8cmVmIG5hbWU9J3htbElzUHViaWRDaGFyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbElzUHViaWRDaGFyUScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxJc1B1YmlkQ2hhcl9jaCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxJc1B1YmlkQ2hhcl90YWInLz4KKyAgICA8L2ZpbGU+CisgICAgPGZpbGUgbmFtZT0nZGVidWdYTUwnPgorICAgICAgPHJlZiBuYW1lPSdfeG1sU2hlbGxDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEJvb2xUb1RleHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRGVidWdDaGVja0RvY3VtZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbERlYnVnRHVtcEF0dHInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRGVidWdEdW1wQXR0ckxpc3QnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRGVidWdEdW1wRFREJy8+CisgICAgICA8cmVmIG5hbWU9J3htbERlYnVnRHVtcERvY3VtZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbERlYnVnRHVtcERvY3VtZW50SGVhZCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxEZWJ1Z0R1bXBFbnRpdGllcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxEZWJ1Z0R1bXBOb2RlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbERlYnVnRHVtcE5vZGVMaXN0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbERlYnVnRHVtcE9uZU5vZGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRGVidWdEdW1wU3RyaW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbExzQ291bnROb2RlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbExzT25lTm9kZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTaGVsbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTaGVsbEJhc2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2hlbGxDYXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2hlbGxDbWQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2hlbGxDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNoZWxsQ3R4dFB0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTaGVsbERpcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTaGVsbER1Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNoZWxsTGlzdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTaGVsbExvYWQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2hlbGxQcmludE5vZGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2hlbGxQcmludFhQYXRoRXJyb3InLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2hlbGxQcmludFhQYXRoUmVzdWx0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNoZWxsUHdkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNoZWxsUmVhZGxpbmVGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNoZWxsU2F2ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTaGVsbFZhbGlkYXRlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNoZWxsV3JpdGUnLz4KKyAgICA8L2ZpbGU+CisgICAgPGZpbGUgbmFtZT0nZGljdCc+CisgICAgICA8cmVmIG5hbWU9J3htbERpY3QnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRGljdENsZWFudXAnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRGljdENyZWF0ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxEaWN0Q3JlYXRlU3ViJy8+CisgICAgICA8cmVmIG5hbWU9J3htbERpY3RFeGlzdHMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRGljdEZyZWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRGljdEdldFVzYWdlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbERpY3RMb29rdXAnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRGljdE93bnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRGljdFB0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxEaWN0UUxvb2t1cCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxEaWN0UmVmZXJlbmNlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbERpY3RTZXRMaW1pdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxEaWN0U2l6ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxJbml0aWFsaXplRGljdCcvPgorICAgIDwvZmlsZT4KKyAgICA8ZmlsZSBuYW1lPSdlbmNvZGluZyc+CisgICAgICA8cmVmIG5hbWU9J1VURjhUb2lzb2xhdDEnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0NIQVJfRU5DT0RJTkdfMjAyMl9KUCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQ0hBUl9FTkNPRElOR184ODU5XzEnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0NIQVJfRU5DT0RJTkdfODg1OV8yJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9DSEFSX0VOQ09ESU5HXzg4NTlfMycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQ0hBUl9FTkNPRElOR184ODU5XzQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0NIQVJfRU5DT0RJTkdfODg1OV81Jy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9DSEFSX0VOQ09ESU5HXzg4NTlfNicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQ0hBUl9FTkNPRElOR184ODU5XzcnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0NIQVJfRU5DT0RJTkdfODg1OV84Jy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9DSEFSX0VOQ09ESU5HXzg4NTlfOScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQ0hBUl9FTkNPRElOR19BU0NJSScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQ0hBUl9FTkNPRElOR19FQkNESUMnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0NIQVJfRU5DT0RJTkdfRVJST1InLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0NIQVJfRU5DT0RJTkdfRVVDX0pQJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9DSEFSX0VOQ09ESU5HX05PTkUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0NIQVJfRU5DT0RJTkdfU0hJRlRfSklTJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9DSEFSX0VOQ09ESU5HX1VDUzInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0NIQVJfRU5DT0RJTkdfVUNTNEJFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9DSEFSX0VOQ09ESU5HX1VDUzRMRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQ0hBUl9FTkNPRElOR19VQ1M0XzIxNDMnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0NIQVJfRU5DT0RJTkdfVUNTNF8zNDEyJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9DSEFSX0VOQ09ESU5HX1VURjE2QkUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0NIQVJfRU5DT0RJTkdfVVRGMTZMRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQ0hBUl9FTkNPRElOR19VVEY4Jy8+CisgICAgICA8cmVmIG5hbWU9J191Y29udl90Jy8+CisgICAgICA8cmVmIG5hbWU9J194bWxDaGFyRW5jb2RpbmdIYW5kbGVyJy8+CisgICAgICA8cmVmIG5hbWU9J2lzb2xhdDFUb1VURjgnLz4KKyAgICAgIDxyZWYgbmFtZT0ndWNvbnZfdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxBZGRFbmNvZGluZ0FsaWFzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENoYXJFbmNDbG9zZUZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ2hhckVuY0ZpcnN0TGluZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDaGFyRW5jSW5GdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENoYXJFbmNPdXRGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENoYXJFbmNvZGluZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDaGFyRW5jb2RpbmdIYW5kbGVyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENoYXJFbmNvZGluZ0hhbmRsZXJQdHInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ2hhckVuY29kaW5nSW5wdXRGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENoYXJFbmNvZGluZ091dHB1dEZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ2xlYW51cENoYXJFbmNvZGluZ0hhbmRsZXJzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENsZWFudXBFbmNvZGluZ0FsaWFzZXMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRGVsRW5jb2RpbmdBbGlhcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxEZXRlY3RDaGFyRW5jb2RpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRmluZENoYXJFbmNvZGluZ0hhbmRsZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sR2V0Q2hhckVuY29kaW5nSGFuZGxlcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxHZXRDaGFyRW5jb2RpbmdOYW1lJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEdldEVuY29kaW5nQWxpYXMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSW5pdENoYXJFbmNvZGluZ0hhbmRsZXJzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld0NoYXJFbmNvZGluZ0hhbmRsZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VDaGFyRW5jb2RpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVnaXN0ZXJDaGFyRW5jb2RpbmdIYW5kbGVyJy8+CisgICAgPC9maWxlPgorICAgIDxmaWxlIG5hbWU9J2VudGl0aWVzJz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VYVEVSTkFMX0dFTkVSQUxfUEFSU0VEX0VOVElUWScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVhURVJOQUxfR0VORVJBTF9VTlBBUlNFRF9FTlRJVFknLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VYVEVSTkFMX1BBUkFNRVRFUl9FTlRJVFknLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0lOVEVSTkFMX0dFTkVSQUxfRU5USVRZJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9JTlRFUk5BTF9QQVJBTUVURVJfRU5USVRZJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9JTlRFUk5BTF9QUkVERUZJTkVEX0VOVElUWScvPgorICAgICAgPHJlZiBuYW1lPSdfeG1sRW50aXR5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEFkZERvY0VudGl0eScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxBZGREdGRFbnRpdHknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ2xlYW51cFByZWRlZmluZWRFbnRpdGllcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDb3B5RW50aXRpZXNUYWJsZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDcmVhdGVFbnRpdGllc1RhYmxlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbER1bXBFbnRpdGllc1RhYmxlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbER1bXBFbnRpdHlEZWNsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEVuY29kZUVudGl0aWVzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEVuY29kZUVudGl0aWVzUmVlbnRyYW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEVuY29kZVNwZWNpYWxDaGFycycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxFbnRpdGllc1RhYmxlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEVudGl0aWVzVGFibGVQdHInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRW50aXR5VHlwZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxGcmVlRW50aXRpZXNUYWJsZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxHZXREb2NFbnRpdHknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sR2V0RHRkRW50aXR5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEdldFBhcmFtZXRlckVudGl0eScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxHZXRQcmVkZWZpbmVkRW50aXR5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEluaXRpYWxpemVQcmVkZWZpbmVkRW50aXRpZXMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3RW50aXR5Jy8+CisgICAgPC9maWxlPgorICAgIDxmaWxlIG5hbWU9J2dsb2JhbHMnPgorICAgICAgPHJlZiBuYW1lPSdfeG1sR2xvYmFsU3RhdGUnLz4KKyAgICAgIDxyZWYgbmFtZT0nZG9jYkRlZmF1bHRTQVhIYW5kbGVyJy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxEZWZhdWx0U0FYSGFuZGxlcicvPgorICAgICAgPHJlZiBuYW1lPSdvbGRYTUxXRGNvbXBhdGliaWxpdHknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQnVmZmVyQWxsb2NTY2hlbWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ2xlYW51cEdsb2JhbHMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRGVmYXVsdEJ1ZmZlclNpemUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRGVmYXVsdFNBWEhhbmRsZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRGVmYXVsdFNBWExvY2F0b3InLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRGVyZWdpc3Rlck5vZGVEZWZhdWx0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbERlcmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbERlcmVnaXN0ZXJOb2RlRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxEb1ZhbGlkaXR5Q2hlY2tpbmdEZWZhdWx0VmFsdWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRnJlZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxHZW5lcmljRXJyb3InLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sR2VuZXJpY0Vycm9yQ29udGV4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxHZXRXYXJuaW5nc0RlZmF1bHRWYWx1ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxHbG9iYWxTdGF0ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxHbG9iYWxTdGF0ZVB0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxJbmRlbnRUcmVlT3V0cHV0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEluaXRHbG9iYWxzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEluaXRpYWxpemVHbG9iYWxTdGF0ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxLZWVwQmxhbmtzRGVmYXVsdFZhbHVlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbExhc3RFcnJvcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxMaW5lTnVtYmVyc0RlZmF1bHRWYWx1ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxMb2FkRXh0RHRkRGVmYXVsdFZhbHVlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE1hbGxvYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxNYWxsb2NBdG9taWMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTWVtU3RyZHVwJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRGVmYXVsdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVWYWx1ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJEZWJ1Z0VudGl0aWVzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVWYWx1ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJWZXJzaW9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBlZGFudGljUGFyc2VyRGVmYXVsdFZhbHVlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlYWxsb2MnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVnaXN0ZXJOb2RlRGVmYXVsdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWdpc3Rlck5vZGVEZWZhdWx0VmFsdWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVnaXN0ZXJOb2RlRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTYXZlTm9FbXB0eVRhZ3MnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU3RydWN0dXJlZEVycm9yJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFN0cnVjdHVyZWRFcnJvckNvbnRleHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdFZhbHVlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRockRlZkJ1ZmZlckFsbG9jU2NoZW1lJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRockRlZkRlZmF1bHRCdWZmZXJTaXplJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRockRlZkRlcmVnaXN0ZXJOb2RlRGVmYXVsdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUaHJEZWZEb1ZhbGlkaXR5Q2hlY2tpbmdEZWZhdWx0VmFsdWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGhyRGVmR2V0V2FybmluZ3NEZWZhdWx0VmFsdWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGhyRGVmSW5kZW50VHJlZU91dHB1dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUaHJEZWZLZWVwQmxhbmtzRGVmYXVsdFZhbHVlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRockRlZkxpbmVOdW1iZXJzRGVmYXVsdFZhbHVlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRockRlZkxvYWRFeHREdGREZWZhdWx0VmFsdWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGhyRGVmT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRockRlZlBhcnNlckRlYnVnRW50aXRpZXMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGhyRGVmUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGhyRGVmUGVkYW50aWNQYXJzZXJEZWZhdWx0VmFsdWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGhyRGVmUmVnaXN0ZXJOb2RlRGVmYXVsdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUaHJEZWZTYXZlTm9FbXB0eVRhZ3MnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGhyRGVmU2V0R2VuZXJpY0Vycm9yRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUaHJEZWZTZXRTdHJ1Y3R1cmVkRXJyb3JGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRockRlZlN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHRWYWx1ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUaHJEZWZUcmVlSW5kZW50U3RyaW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRyZWVJbmRlbnRTdHJpbmcnLz4KKyAgICA8L2ZpbGU+CisgICAgPGZpbGUgbmFtZT0naGFzaCc+CisgICAgICA8cmVmIG5hbWU9J1hNTF9DQVNUX0ZQVFInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSGFzaEFkZEVudHJ5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEhhc2hBZGRFbnRyeTInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSGFzaEFkZEVudHJ5MycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoQ29waWVyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEhhc2hDb3B5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEhhc2hDcmVhdGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSGFzaENyZWF0ZURpY3QnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSGFzaERlYWxsb2NhdG9yJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEhhc2hGcmVlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEhhc2hMb29rdXAnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSGFzaExvb2t1cDInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSGFzaExvb2t1cDMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFFMb29rdXAnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFFMb29rdXAyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEhhc2hRTG9va3VwMycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoUmVtb3ZlRW50cnknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFJlbW92ZUVudHJ5MicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoUmVtb3ZlRW50cnkzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEhhc2hTY2FuJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEhhc2hTY2FuMycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoU2NhbkZ1bGwnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFNjYW5GdWxsMycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoU2Nhbm5lcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoU2Nhbm5lckZ1bGwnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFNpemUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFRhYmxlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEhhc2hUYWJsZVB0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoVXBkYXRlRW50cnknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFVwZGF0ZUVudHJ5MicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoVXBkYXRlRW50cnkzJy8+CisgICAgPC9maWxlPgorICAgIDxmaWxlIG5hbWU9J2xpc3QnPgorICAgICAgPHJlZiBuYW1lPSd4bWxMaW5rJy8+CisgICAgICA8cmVmIG5hbWU9J3htbExpbmtHZXREYXRhJy8+CisgICAgICA8cmVmIG5hbWU9J3htbExpbmtQdHInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTGlzdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0QXBwZW5kJy8+CisgICAgICA8cmVmIG5hbWU9J3htbExpc3RDbGVhcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0Q29weScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0Q3JlYXRlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbExpc3REYXRhQ29tcGFyZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0RGVhbGxvY2F0b3InLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTGlzdERlbGV0ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0RHVwJy8+CisgICAgICA8cmVmIG5hbWU9J3htbExpc3RFbXB0eScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0RW5kJy8+CisgICAgICA8cmVmIG5hbWU9J3htbExpc3RGcm9udCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0SW5zZXJ0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbExpc3RNZXJnZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0UG9wQmFjaycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0UG9wRnJvbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTGlzdFB0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0UHVzaEJhY2snLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTGlzdFB1c2hGcm9udCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0UmVtb3ZlQWxsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbExpc3RSZW1vdmVGaXJzdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0UmVtb3ZlTGFzdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0UmV2ZXJzZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0UmV2ZXJzZVNlYXJjaCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0UmV2ZXJzZVdhbGsnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTGlzdFNlYXJjaCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0U2l6ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0U29ydCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0V2FsaycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0V2Fsa2VyJy8+CisgICAgPC9maWxlPgorICAgIDxmaWxlIG5hbWU9J25hbm9mdHAnPgorICAgICAgPHJlZiBuYW1lPSdJTlZBTElEX1NPQ0tFVCcvPgorICAgICAgPHJlZiBuYW1lPSdTT0NLRVQnLz4KKyAgICAgIDxyZWYgbmFtZT0nZnRwRGF0YUNhbGxiYWNrJy8+CisgICAgICA8cmVmIG5hbWU9J2Z0cExpc3RDYWxsYmFjaycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vRlRQQ2hlY2tSZXNwb25zZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vRlRQQ2xlYW51cCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vRlRQQ2xvc2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUENsb3NlQ29ubmVjdGlvbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vRlRQQ29ubmVjdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vRlRQQ29ubmVjdFRvJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBDd2QnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUERlbGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUEZyZWVDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBHZXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUEdldENvbm5lY3Rpb24nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUEdldFJlc3BvbnNlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBHZXRTb2NrZXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUEluaXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUExpc3QnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUE5ld0N0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUE9wZW4nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUFByb3h5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBRdWl0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBSZWFkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBTY2FuUHJveHknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUFVwZGF0ZVVSTCcvPgorICAgIDwvZmlsZT4KKyAgICA8ZmlsZSBuYW1lPSduYW5vaHR0cCc+CisgICAgICA8cmVmIG5hbWU9J3htbE5hbm9IVFRQQXV0aEhlYWRlcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUENsZWFudXAnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmFub0hUVFBDbG9zZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUENvbnRlbnRMZW5ndGgnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmFub0hUVFBFbmNvZGluZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUEZldGNoJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5hbm9IVFRQSW5pdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUE1ldGhvZCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUE1ldGhvZFJlZGlyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5hbm9IVFRQTWltZVR5cGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmFub0hUVFBPcGVuJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5hbm9IVFRQT3BlblJlZGlyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5hbm9IVFRQUmVhZCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUFJlZGlyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5hbm9IVFRQUmV0dXJuQ29kZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUFNhdmUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmFub0hUVFBTY2FuUHJveHknLz4KKyAgICA8L2ZpbGU+CisgICAgPGZpbGUgbmFtZT0ncGFyc2VyJz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0NPTVBMRVRFX0FUVFJTJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9ERUZBVUxUX1ZFUlNJT04nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0RFVEVDVF9JRFMnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1BBUlNFUl9BVFRSSUJVVEVfVkFMVUUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1BBUlNFUl9DREFUQV9TRUNUSU9OJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9QQVJTRVJfQ09NTUVOVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUEFSU0VSX0NPTlRFTlQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1BBUlNFUl9EVEQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1BBUlNFUl9FTkRfVEFHJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9QQVJTRVJfRU5USVRZX0RFQ0wnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1BBUlNFUl9FTlRJVFlfVkFMVUUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1BBUlNFUl9FT0YnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1BBUlNFUl9FUElMT0cnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1BBUlNFUl9JR05PUkUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1BBUlNFUl9NSVNDJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9QQVJTRVJfUEknLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1BBUlNFUl9QUk9MT0cnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1BBUlNFUl9QVUJMSUNfTElURVJBTCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUEFSU0VSX1NUQVJUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9QQVJTRVJfU1RBUlRfVEFHJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9QQVJTRVJfU1lTVEVNX0xJVEVSQUwnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1BBUlNFX0JJR19MSU5FUycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUEFSU0VfQ09NUEFDVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUEFSU0VfRE9NJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9QQVJTRV9EVERBVFRSJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9QQVJTRV9EVERMT0FEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9QQVJTRV9EVERWQUxJRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUEFSU0VfSFVHRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUEFSU0VfSUdOT1JFX0VOQycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUEFSU0VfTk9CQVNFRklYJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9QQVJTRV9OT0JMQU5LUycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUEFSU0VfTk9DREFUQScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUEFSU0VfTk9ESUNUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9QQVJTRV9OT0VOVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUEFSU0VfTk9FUlJPUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUEFSU0VfTk9ORVQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1BBUlNFX05PV0FSTklORycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUEFSU0VfTk9YSU5DTk9ERScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUEFSU0VfTlNDTEVBTicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUEFSU0VfT0xEMTAnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1BBUlNFX09MRFNBWCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUEFSU0VfUEVEQU5USUMnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1BBUlNFX1BVU0hfRE9NJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9QQVJTRV9QVVNIX1NBWCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUEFSU0VfUkVBREVSJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9QQVJTRV9SRUNPVkVSJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9QQVJTRV9TQVgnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1BBUlNFX1NBWDEnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1BBUlNFX1VOS05PV04nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1BBUlNFX1hJTkNMVURFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQVgyX01BR0lDJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TS0lQX0lEUycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfV0lUSF9BVVRPTUFUQScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfV0lUSF9DMTROJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9XSVRIX0NBVEFMT0cnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1dJVEhfREVCVUcnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1dJVEhfREVCVUdfTUVNJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9XSVRIX0RFQlVHX1JVTicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfV0lUSF9FWFBSJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9XSVRIX0ZUUCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfV0lUSF9IVE1MJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9XSVRIX0hUVFAnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1dJVEhfSUNPTlYnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1dJVEhfSUNVJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9XSVRIX0lTTzg4NTlYJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9XSVRIX0xFR0FDWScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfV0lUSF9MWk1BJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9XSVRIX01PRFVMRVMnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1dJVEhfTk9ORScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfV0lUSF9PVVRQVVQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1dJVEhfUEFUVEVSTicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfV0lUSF9QVVNIJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9XSVRIX1JFQURFUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfV0lUSF9SRUdFWFAnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1dJVEhfU0FYMScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfV0lUSF9TQ0hFTUFTJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9XSVRIX1NDSEVNQVRST04nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1dJVEhfVEhSRUFEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9XSVRIX1RSRUUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1dJVEhfVU5JQ09ERScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfV0lUSF9WQUxJRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfV0lUSF9XUklURVInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1dJVEhfWElOQ0xVREUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1dJVEhfWFBBVEgnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1dJVEhfWFBUUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfV0lUSF9aTElCJy8+CisgICAgICA8cmVmIG5hbWU9J194bWxQYXJzZXJDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J194bWxQYXJzZXJJbnB1dCcvPgorICAgICAgPHJlZiBuYW1lPSdfeG1sUGFyc2VyTm9kZUluZm8nLz4KKyAgICAgIDxyZWYgbmFtZT0nX3htbFBhcnNlck5vZGVJbmZvU2VxJy8+CisgICAgICA8cmVmIG5hbWU9J194bWxTQVhIYW5kbGVyJy8+CisgICAgICA8cmVmIG5hbWU9J194bWxTQVhIYW5kbGVyVjEnLz4KKyAgICAgIDxyZWYgbmFtZT0nX3htbFNBWExvY2F0b3InLz4KKyAgICAgIDxyZWYgbmFtZT0nYXR0cmlidXRlRGVjbFNBWEZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0nYXR0cmlidXRlU0FYRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSdjZGF0YUJsb2NrU0FYRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSdjaGFyYWN0ZXJzU0FYRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSdjb21tZW50U0FYRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSdlbGVtZW50RGVjbFNBWEZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0nZW5kRG9jdW1lbnRTQVhGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J2VuZEVsZW1lbnROc1NBWDJGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J2VuZEVsZW1lbnRTQVhGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J2VudGl0eURlY2xTQVhGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J2Vycm9yU0FYRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSdleHRlcm5hbFN1YnNldFNBWEZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0nZmF0YWxFcnJvclNBWEZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0nZ2V0RW50aXR5U0FYRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSdnZXRQYXJhbWV0ZXJFbnRpdHlTQVhGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J2hhc0V4dGVybmFsU3Vic2V0U0FYRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSdoYXNJbnRlcm5hbFN1YnNldFNBWEZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0naWdub3JhYmxlV2hpdGVzcGFjZVNBWEZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0naW50ZXJuYWxTdWJzZXRTQVhGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J2lzU3RhbmRhbG9uZVNBWEZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0nbm90YXRpb25EZWNsU0FYRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSdwcm9jZXNzaW5nSW5zdHJ1Y3Rpb25TQVhGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3JlZmVyZW5jZVNBWEZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0ncmVzb2x2ZUVudGl0eVNBWEZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0nc2V0RG9jdW1lbnRMb2NhdG9yU0FYRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSdzdGFydERvY3VtZW50U0FYRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSdzdGFydEVsZW1lbnROc1NBWDJGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3N0YXJ0RWxlbWVudFNBWEZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0ndW5wYXJzZWRFbnRpdHlEZWNsU0FYRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSd3YXJuaW5nU0FYRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxCeXRlQ29uc3VtZWQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ2xlYW51cFBhcnNlcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDbGVhck5vZGVJbmZvU2VxJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENsZWFyUGFyc2VyQ3R4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDcmVhdGVEb2NQYXJzZXJDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbENyZWF0ZUlPUGFyc2VyQ3R4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDdHh0UmVhZERvYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDdHh0UmVhZEZkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEN0eHRSZWFkRmlsZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDdHh0UmVhZElPJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEN0eHRSZWFkTWVtb3J5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEN0eHRSZXNldCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDdHh0UmVzZXRQdXNoJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEN0eHRVc2VPcHRpb25zJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEV4dGVybmFsRW50aXR5TG9hZGVyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEZlYXR1cmUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRnJlZVBhcnNlckN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sR2V0RXh0ZXJuYWxFbnRpdHlMb2FkZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sR2V0RmVhdHVyZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxHZXRGZWF0dXJlc0xpc3QnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSGFzRmVhdHVyZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxJT1BhcnNlRFREJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEluaXROb2RlSW5mb1NlcScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxJbml0UGFyc2VyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEluaXRQYXJzZXJDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEtlZXBCbGFua3NEZWZhdWx0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbExpbmVOdW1iZXJzRGVmYXVsdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxMb2FkRXh0ZXJuYWxFbnRpdHknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3SU9JbnB1dFN0cmVhbScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdQYXJzZXJDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlSZWNvdmVyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQ2h1bmsnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VDdHh0RXh0ZXJuYWxFbnRpdHknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VEVEQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VEb2MnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VEb2N1bWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVudGl0eScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUV4dFBhcnNlZEVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUV4dGVybmFsRW50aXR5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRmlsZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUluTm9kZUNvbnRleHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VNZW1vcnknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VyQWRkTm9kZUluZm8nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VyRmluZE5vZGVJbmZvJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlckZpbmROb2RlSW5mb0luZGV4Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0RGVhbGxvY2F0ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJJbnB1dEdyb3cnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySW5wdXRSZWFkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0U3RhdGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VyTW9kZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJOb2RlSW5mbycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJOb2RlSW5mb1B0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJOb2RlSW5mb1NlcScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJOb2RlSW5mb1NlcVB0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJPcHRpb24nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGVkYW50aWNQYXJzZXJEZWZhdWx0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlYWREb2MnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVhZEZkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlYWRGaWxlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlYWRJTycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWFkTWVtb3J5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlY292ZXJEb2MnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVjb3ZlckZpbGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVjb3Zlck1lbW9yeScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTQVhIYW5kbGVyVjEnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYSGFuZGxlclYxUHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNBWFBhcnNlRFREJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNBWFBhcnNlRG9jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNBWFBhcnNlRW50aXR5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNBWFBhcnNlRmlsZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTQVhQYXJzZUZpbGVXaXRoRGF0YScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTQVhQYXJzZU1lbW9yeScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTQVhQYXJzZU1lbW9yeVdpdGhEYXRhJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNBWFVzZXJQYXJzZUZpbGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYVXNlclBhcnNlTWVtb3J5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNldEV4dGVybmFsRW50aXR5TG9hZGVyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNldEZlYXR1cmUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2V0dXBQYXJzZXJGb3JCdWZmZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU3RvcFBhcnNlcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0Jy8+CisgICAgPC9maWxlPgorICAgIDxmaWxlIG5hbWU9J3BhcnNlckludGVybmFscyc+CisgICAgICA8cmVmIG5hbWU9J0lOUFVUX0NIVU5LJy8+CisgICAgICA8cmVmIG5hbWU9J0lTX0FTQ0lJX0RJR0lUJy8+CisgICAgICA8cmVmIG5hbWU9J0lTX0FTQ0lJX0xFVFRFUicvPgorICAgICAgPHJlZiBuYW1lPSdJU19CQVNFQ0hBUicvPgorICAgICAgPHJlZiBuYW1lPSdJU19CTEFOSycvPgorICAgICAgPHJlZiBuYW1lPSdJU19CTEFOS19DSCcvPgorICAgICAgPHJlZiBuYW1lPSdJU19CWVRFX0NIQVInLz4KKyAgICAgIDxyZWYgbmFtZT0nSVNfQ0hBUicvPgorICAgICAgPHJlZiBuYW1lPSdJU19DSEFSX0NIJy8+CisgICAgICA8cmVmIG5hbWU9J0lTX0NPTUJJTklORycvPgorICAgICAgPHJlZiBuYW1lPSdJU19DT01CSU5JTkdfQ0gnLz4KKyAgICAgIDxyZWYgbmFtZT0nSVNfRElHSVQnLz4KKyAgICAgIDxyZWYgbmFtZT0nSVNfRElHSVRfQ0gnLz4KKyAgICAgIDxyZWYgbmFtZT0nSVNfRVhURU5ERVInLz4KKyAgICAgIDxyZWYgbmFtZT0nSVNfRVhURU5ERVJfQ0gnLz4KKyAgICAgIDxyZWYgbmFtZT0nSVNfSURFT0dSQVBISUMnLz4KKyAgICAgIDxyZWYgbmFtZT0nSVNfTEVUVEVSJy8+CisgICAgICA8cmVmIG5hbWU9J0lTX0xFVFRFUl9DSCcvPgorICAgICAgPHJlZiBuYW1lPSdJU19QVUJJRENIQVInLz4KKyAgICAgIDxyZWYgbmFtZT0nSVNfUFVCSURDSEFSX0NIJy8+CisgICAgICA8cmVmIG5hbWU9J01PVkVUT19FTkRUQUcnLz4KKyAgICAgIDxyZWYgbmFtZT0nTU9WRVRPX1NUQVJUVEFHJy8+CisgICAgICA8cmVmIG5hbWU9J1NLSVBfRU9MJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9NQVhfRElDVElPTkFSWV9MSU1JVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfTUFYX0xPT0tVUF9MSU1JVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfTUFYX05BTUVMRU4nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX01BWF9OQU1FX0xFTkdUSCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfTUFYX1RFWFRfTEVOR1RIJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TVUJTVElUVVRFX0JPVEgnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NVQlNUSVRVVEVfTk9ORScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU1VCU1RJVFVURV9QRVJFRicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU1VCU1RJVFVURV9SRUYnLz4KKyAgICAgIDxyZWYgbmFtZT0naHRtbENyZWF0ZUZpbGVQYXJzZXJDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J2h0bWxJbml0QXV0b0Nsb3NlJy8+CisgICAgICA8cmVmIG5hbWU9J2lucHV0UG9wJy8+CisgICAgICA8cmVmIG5hbWU9J2lucHV0UHVzaCcvPgorICAgICAgPHJlZiBuYW1lPSduYW1lUG9wJy8+CisgICAgICA8cmVmIG5hbWU9J25hbWVQdXNoJy8+CisgICAgICA8cmVmIG5hbWU9J25vZGVQb3AnLz4KKyAgICAgIDxyZWYgbmFtZT0nbm9kZVB1c2gnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ2hlY2tMYW5ndWFnZUlEJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENvcHlDaGFyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENvcHlDaGFyTXVsdGlCeXRlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENyZWF0ZUVudGl0eVBhcnNlckN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ3JlYXRlRmlsZVBhcnNlckN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ3JlYXRlTWVtb3J5UGFyc2VyQ3R4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDcmVhdGVVUkxQYXJzZXJDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEN1cnJlbnRDaGFyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbERlY29kZUVudGl0aWVzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEVudGl0eVJlZmVyZW5jZUZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRXJyTWVtb3J5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEZyZWVJbnB1dFN0cmVhbScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxIYW5kbGVFbnRpdHknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSXNMZXR0ZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmFtZXNwYWNlUGFyc2VOQ05hbWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmFtZXNwYWNlUGFyc2VOU0RlZicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOYW1lc3BhY2VQYXJzZVFOYW1lJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld0VudGl0eUlucHV0U3RyZWFtJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld0lucHV0RnJvbUZpbGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3SW5wdXRTdHJlYW0nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3U3RyaW5nSW5wdXRTdHJlYW0nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV4dENoYXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VBdHRWYWx1ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUF0dHJpYnV0ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUF0dHJpYnV0ZUxpc3REZWNsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQXR0cmlidXRlVHlwZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUNEU2VjdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUNoYXJEYXRhJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQ2hhclJlZicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUNvbW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VDb250ZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRGVmYXVsdERlY2wnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VEb2NUeXBlRGVjbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVsZW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbGVtZW50Q2hpbGRyZW5Db250ZW50RGVjbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVsZW1lbnRDb250ZW50RGVjbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVsZW1lbnREZWNsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRWxlbWVudE1peGVkQ29udGVudERlY2wnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbmNOYW1lJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRW5jb2RpbmdEZWNsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRW5kVGFnJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRW50aXR5RGVjbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVudGl0eVJlZicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVudGl0eVZhbHVlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRW51bWVyYXRlZFR5cGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbnVtZXJhdGlvblR5cGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFeHRlcm5hbElEJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRXh0ZXJuYWxTdWJzZXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VNYXJrdXBEZWNsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlTWlzYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZU5hbWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VOYW1lc3BhY2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VObXRva2VuJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlTm90YXRpb25EZWNsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlTm90YXRpb25UeXBlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlUEVSZWZlcmVuY2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VQSScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVBJVGFyZ2V0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlUHViaWRMaXRlcmFsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlUXVvdGVkU3RyaW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlUmVmZXJlbmNlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlU0REZWNsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlU3RhcnRUYWcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VTeXN0ZW1MaXRlcmFsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlVGV4dERlY2wnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VWZXJzaW9uSW5mbycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVZlcnNpb25OdW0nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VYTUxEZWNsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlckhhbmRsZVBFUmVmZXJlbmNlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlckhhbmRsZVJlZmVyZW5jZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJJbnB1dFNocmluaycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJNYXhEZXB0aCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQb3BJbnB1dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQdXNoSW5wdXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2Nhbk5hbWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2V0RW50aXR5UmVmZXJlbmNlRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTa2lwQmxhbmtDaGFycycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTcGxpdFFOYW1lJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFN0cmluZ0NvbW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU3RyaW5nQ3VycmVudENoYXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU3RyaW5nRGVjb2RlRW50aXRpZXMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU3RyaW5nTGVuRGVjb2RlRW50aXRpZXMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU3RyaW5nVGV4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTdHJpbmdUZXh0Tm9lbmMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU3dpdGNoRW5jb2RpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU3dpdGNoSW5wdXRFbmNvZGluZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTd2l0Y2hUb0VuY29kaW5nJy8+CisgICAgPC9maWxlPgorICAgIDxmaWxlIG5hbWU9J3BhdHRlcm4nPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUEFUVEVSTl9ERUZBVUxUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9QQVRURVJOX1hQQVRIJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9QQVRURVJOX1hTRklFTEQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1BBVFRFUk5fWFNTRUwnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRnJlZVBhdHRlcm4nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRnJlZVBhdHRlcm5MaXN0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEZyZWVTdHJlYW1DdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhdHRlcm4nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGF0dGVybkZsYWdzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhdHRlcm5Gcm9tUm9vdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXR0ZXJuR2V0U3RyZWFtQ3R4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXR0ZXJuTWF0Y2gnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGF0dGVybk1heERlcHRoJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhdHRlcm5NaW5EZXB0aCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXR0ZXJuUHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhdHRlcm5TdHJlYW1hYmxlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhdHRlcm5jb21waWxlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFN0cmVhbUN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU3RyZWFtQ3R4dFB0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTdHJlYW1Qb3AnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU3RyZWFtUHVzaCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTdHJlYW1QdXNoQXR0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTdHJlYW1QdXNoTm9kZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTdHJlYW1XYW50c0FueU5vZGUnLz4KKyAgICA8L2ZpbGU+CisgICAgPGZpbGUgbmFtZT0ncmVsYXhuZyc+CisgICAgICA8cmVmIG5hbWU9J1hNTF9SRUxBWE5HUF9DUk5HJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9SRUxBWE5HUF9GUkVFX0RPQycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUkVMQVhOR1BfTk9ORScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUkVMQVhOR19FUlJfQVRUUkVYVFJBTlMnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JFTEFYTkdfRVJSX0FUVFJOQU1FJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9SRUxBWE5HX0VSUl9BVFRSTk9OUycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUkVMQVhOR19FUlJfQVRUUlZBTElEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9SRUxBWE5HX0VSUl9BVFRSV1JPTkdOUycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUkVMQVhOR19FUlJfQ09OVEVOVFZBTElEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9SRUxBWE5HX0VSUl9EQVRBRUxFTScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUkVMQVhOR19FUlJfREFUQVRZUEUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JFTEFYTkdfRVJSX0RVUElEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9SRUxBWE5HX0VSUl9FTEVNRVhUUkFOUycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUkVMQVhOR19FUlJfRUxFTU5BTUUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JFTEFYTkdfRVJSX0VMRU1OT05TJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9SRUxBWE5HX0VSUl9FTEVNTk9URU1QVFknLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JFTEFYTkdfRVJSX0VMRU1XUk9ORycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUkVMQVhOR19FUlJfRUxFTVdST05HTlMnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JFTEFYTkdfRVJSX0VYVFJBQ09OVEVOVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUkVMQVhOR19FUlJfRVhUUkFEQVRBJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9SRUxBWE5HX0VSUl9JTlRFUkVYVFJBJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9SRUxBWE5HX0VSUl9JTlRFUk5BTCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUkVMQVhOR19FUlJfSU5URVJOT0RBVEEnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JFTEFYTkdfRVJSX0lOVEVSU0VRJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9SRUxBWE5HX0VSUl9JTlZBTElEQVRUUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUkVMQVhOR19FUlJfTEFDS0RBVEEnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JFTEFYTkdfRVJSX0xJU1QnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JFTEFYTkdfRVJSX0xJU1RFTEVNJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9SRUxBWE5HX0VSUl9MSVNURU1QVFknLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JFTEFYTkdfRVJSX0xJU1RFWFRSQScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUkVMQVhOR19FUlJfTUVNT1JZJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9SRUxBWE5HX0VSUl9OT0RFRklORScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUkVMQVhOR19FUlJfTk9FTEVNJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9SRUxBWE5HX0VSUl9OT0dSQU1NQVInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JFTEFYTkdfRVJSX05PU1RBVEUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JFTEFYTkdfRVJSX05PVEVMRU0nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JFTEFYTkdfRVJSX1RFWFRXUk9ORycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUkVMQVhOR19FUlJfVFlQRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUkVMQVhOR19FUlJfVFlQRUNNUCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUkVMQVhOR19FUlJfVFlQRVZBTCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUkVMQVhOR19FUlJfVkFMRUxFTScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUkVMQVhOR19FUlJfVkFMVUUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JFTEFYTkdfT0snLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVsYXhORycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HQ2xlYW51cFR5cGVzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4TkdEdW1wJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4TkdEdW1wVHJlZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HRnJlZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HRnJlZVBhcnNlckN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVsYXhOR0ZyZWVWYWxpZEN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVsYXhOR0dldFBhcnNlckVycm9ycycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HR2V0VmFsaWRFcnJvcnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVsYXhOR0luaXRUeXBlcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HTmV3RG9jUGFyc2VyQ3R4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HTmV3TWVtUGFyc2VyQ3R4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HTmV3UGFyc2VyQ3R4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HTmV3VmFsaWRDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4TkdQYXJzZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HUGFyc2VyQ3R4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HUGFyc2VyQ3R4dFB0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HUGFyc2VyRmxhZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HUHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4TkdTZXRQYXJzZXJFcnJvcnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVsYXhOR1NldFBhcnNlclN0cnVjdHVyZWRFcnJvcnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVsYXhOR1NldFZhbGlkRXJyb3JzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4TkdTZXRWYWxpZFN0cnVjdHVyZWRFcnJvcnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVsYXhOR1ZhbGlkQ3R4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HVmFsaWRDdHh0UHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4TkdWYWxpZEVycicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HVmFsaWRhdGVEb2MnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVsYXhOR1ZhbGlkYXRlRnVsbEVsZW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVsYXhOR1ZhbGlkYXRlUG9wRWxlbWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HVmFsaWRhdGVQdXNoQ0RhdGEnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVsYXhOR1ZhbGlkYXRlUHVzaEVsZW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVsYXhOR1ZhbGlkaXR5RXJyb3JGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4TkdWYWxpZGl0eVdhcm5pbmdGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4UGFyc2VyU2V0RmxhZycvPgorICAgIDwvZmlsZT4KKyAgICA8ZmlsZSBuYW1lPSdzY2hlbWFzSW50ZXJuYWxzJz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfQU5ZQVRUUl9MQVgnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfQU5ZQVRUUl9TS0lQJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0FOWUFUVFJfU1RSSUNUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0FOWVNJTVBMRVRZUEUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfQU5ZVFlQRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19BTllVUkknLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfQU5ZX0xBWCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19BTllfU0tJUCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19BTllfU1RSSUNUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0FUVFJHUk9VUF9HTE9CQUwnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfQVRUUkdST1VQX0hBU19SRUZTJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0FUVFJHUk9VUF9NQVJLRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfQVRUUkdST1VQX1JFREVGSU5FRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19BVFRSR1JPVVBfV0lMRENBUkRfQlVJTERFRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19BVFRSX0ZJWEVEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0FUVFJfR0xPQkFMJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0FUVFJfSU5URVJOQUxfUkVTT0xWRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfQVRUUl9OU0RFRkFVTFQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfQVRUUl9VU0VfT1BUSU9OQUwnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfQVRUUl9VU0VfUFJPSElCSVRFRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19BVFRSX1VTRV9SRVFVSVJFRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19CQVNFNjRCSU5BUlknLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfQkxPQ0tfREVGQVVMVF9FWFRFTlNJT04nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfQkxPQ0tfREVGQVVMVF9SRVNUUklDVElPTicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19CTE9DS19ERUZBVUxUX1NVQlNUSVRVVElPTicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19CT09MRUFOJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0JZVEUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfREFURScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19EQVRFVElNRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19ERUNJTUFMJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0RPVUJMRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19EVVJBVElPTicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19FTEVNX0FCU1RSQUNUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0VMRU1fQkxPQ0tfQUJTRU5UJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0VMRU1fQkxPQ0tfRVhURU5TSU9OJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0VMRU1fQkxPQ0tfUkVTVFJJQ1RJT04nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfRUxFTV9CTE9DS19TVUJTVElUVVRJT04nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfRUxFTV9DSVJDVUxBUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19FTEVNX0RFRkFVTFQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfRUxFTV9GSU5BTF9BQlNFTlQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfRUxFTV9GSU5BTF9FWFRFTlNJT04nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfRUxFTV9GSU5BTF9SRVNUUklDVElPTicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19FTEVNX0ZJWEVEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0VMRU1fR0xPQkFMJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0VMRU1fSU5URVJOQUxfQ0hFQ0tFRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19FTEVNX0lOVEVSTkFMX1JFU09MVkVEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0VMRU1fTklMTEFCTEUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfRUxFTV9OU0RFRkFVTFQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfRUxFTV9SRUYnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfRUxFTV9TVUJTVF9HUk9VUF9IRUFEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0VMRU1fVE9QTEVWRUwnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfRU5USVRJRVMnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfRU5USVRZJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0ZBQ0VUX0NPTExBUFNFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0ZBQ0VUX1BSRVNFUlZFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0ZBQ0VUX1JFUExBQ0UnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfRkFDRVRfVU5LTk9XTicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19GSU5BTF9ERUZBVUxUX0VYVEVOU0lPTicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19GSU5BTF9ERUZBVUxUX0xJU1QnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfRklOQUxfREVGQVVMVF9SRVNUUklDVElPTicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19GSU5BTF9ERUZBVUxUX1VOSU9OJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0ZMT0FUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0dEQVknLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfR01PTlRIJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0dNT05USERBWScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19HWUVBUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19HWUVBUk1PTlRIJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0hFWEJJTkFSWScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19JRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19JRFJFRicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19JRFJFRlMnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfSU5DTFVESU5HX0NPTlZFUlRfTlMnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfSU5UJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0lOVEVHRVInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfTEFOR1VBR0UnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfTE9ORycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19OQU1FJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX05DTkFNRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19OSU5URUdFUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19OTVRPS0VOJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX05NVE9LRU5TJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX05OSU5URUdFUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19OT1JNU1RSSU5HJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX05PVEFUSU9OJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX05QSU5URUdFUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19QSU5URUdFUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19RTkFNRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19RVUFMSUZfQVRUUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19RVUFMSUZfRUxFTScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19TSE9SVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19TVFJJTkcnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfVElNRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19UT0tFTicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX0FCU1RSQUNUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfQkxPQ0tfREVGQVVMVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX0JMT0NLX0VYVEVOU0lPTicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX0JMT0NLX1JFU1RSSUNUSU9OJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfQlVJTFRJTl9QUklNSVRJVkUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfVFlQRV9ERVJJVkFUSU9OX01FVEhPRF9FWFRFTlNJT04nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfVFlQRV9ERVJJVkFUSU9OX01FVEhPRF9SRVNUUklDVElPTicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX0ZBQ0VUU05FRURWQUxVRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX0ZJTkFMX0RFRkFVTFQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfVFlQRV9GSU5BTF9FWFRFTlNJT04nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfVFlQRV9GSU5BTF9MSVNUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfRklOQUxfUkVTVFJJQ1RJT04nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfVFlQRV9GSU5BTF9VTklPTicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX0ZJWFVQXzEnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfVFlQRV9HTE9CQUwnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfVFlQRV9IQVNfRkFDRVRTJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfSU5URVJOQUxfSU5WQUxJRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX0lOVEVSTkFMX1JFU09MVkVEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfTUFSS0VEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfTUlYRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfVFlQRV9OT1JNVkFMVUVORUVERUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfVFlQRV9PV05FRF9BVFRSX1dJTERDQVJEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfUkVERUZJTkVEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfVkFSSUVUWV9BQlNFTlQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX0FUT01JQycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX1ZBUklFVFlfTElTVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX1ZBUklFVFlfVU5JT04nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfVFlQRV9XSElURVNQQUNFX0NPTExBUFNFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfV0hJVEVTUEFDRV9QUkVTRVJWRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX1dISVRFU1BBQ0VfUkVQTEFDRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19VQllURScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19VSU5UJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX1VMT05HJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX1VOS05PV04nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfVVNIT1JUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX1dJTERDQVJEX0NPTVBMRVRFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFfQ09OVEVOVF9BTlknLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQV9DT05URU5UX0JBU0lDJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFfQ09OVEVOVF9FTEVNRU5UUycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BX0NPTlRFTlRfRU1QVFknLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQV9DT05URU5UX01JWEVEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFfQ09OVEVOVF9NSVhFRF9PUl9FTEVNRU5UUycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BX0NPTlRFTlRfU0lNUExFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFfQ09OVEVOVF9VTktOT1dOJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFfRVhUUkFfQVRUUl9VU0VfUFJPSElCJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFfRVhUUkFfUU5BTUVSRUYnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQV9GQUNFVF9FTlVNRVJBVElPTicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BX0ZBQ0VUX0ZSQUNUSU9ORElHSVRTJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFfRkFDRVRfTEVOR1RIJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFfRkFDRVRfTUFYRVhDTFVTSVZFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFfRkFDRVRfTUFYSU5DTFVTSVZFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFfRkFDRVRfTUFYTEVOR1RIJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFfRkFDRVRfTUlORVhDTFVTSVZFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFfRkFDRVRfTUlOSU5DTFVTSVZFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFfRkFDRVRfTUlOTEVOR1RIJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFfRkFDRVRfUEFUVEVSTicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BX0ZBQ0VUX1RPVEFMRElHSVRTJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFfRkFDRVRfV0hJVEVTUEFDRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BX1RZUEVfQUxMJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFfVFlQRV9BTlknLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQV9UWVBFX0FOWV9BVFRSSUJVVEUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQV9UWVBFX0FUVFJJQlVURScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BX1RZUEVfQVRUUklCVVRFR1JPVVAnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQV9UWVBFX0FUVFJJQlVURV9VU0UnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQV9UWVBFX0JBU0lDJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFfVFlQRV9DSE9JQ0UnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQV9UWVBFX0NPTVBMRVgnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQV9UWVBFX0NPTVBMRVhfQ09OVEVOVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BX1RZUEVfRUxFTUVOVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BX1RZUEVfRVhURU5TSU9OJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFfVFlQRV9GQUNFVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BX1RZUEVfR1JPVVAnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQV9UWVBFX0lEQ19LRVknLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQV9UWVBFX0lEQ19LRVlSRUYnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQV9UWVBFX0lEQ19VTklRVUUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQV9UWVBFX0xJU1QnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQV9UWVBFX05PVEFUSU9OJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFfVFlQRV9QQVJUSUNMRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BX1RZUEVfUkVTVFJJQ1RJT04nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQV9UWVBFX1NFUVVFTkNFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFfVFlQRV9TSU1QTEUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQV9UWVBFX1NJTVBMRV9DT05URU5UJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFfVFlQRV9VTklPTicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BX1RZUEVfVVInLz4KKyAgICAgIDxyZWYgbmFtZT0nX3htbFNjaGVtYScvPgorICAgICAgPHJlZiBuYW1lPSdfeG1sU2NoZW1hQW5ub3QnLz4KKyAgICAgIDxyZWYgbmFtZT0nX3htbFNjaGVtYUF0dHJpYnV0ZScvPgorICAgICAgPHJlZiBuYW1lPSdfeG1sU2NoZW1hQXR0cmlidXRlR3JvdXAnLz4KKyAgICAgIDxyZWYgbmFtZT0nX3htbFNjaGVtYUF0dHJpYnV0ZUxpbmsnLz4KKyAgICAgIDxyZWYgbmFtZT0nX3htbFNjaGVtYUVsZW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0nX3htbFNjaGVtYUZhY2V0Jy8+CisgICAgICA8cmVmIG5hbWU9J194bWxTY2hlbWFGYWNldExpbmsnLz4KKyAgICAgIDxyZWYgbmFtZT0nX3htbFNjaGVtYU5vdGF0aW9uJy8+CisgICAgICA8cmVmIG5hbWU9J194bWxTY2hlbWFUeXBlJy8+CisgICAgICA8cmVmIG5hbWU9J194bWxTY2hlbWFUeXBlTGluaycvPgorICAgICAgPHJlZiBuYW1lPSdfeG1sU2NoZW1hV2lsZGNhcmQnLz4KKyAgICAgIDxyZWYgbmFtZT0nX3htbFNjaGVtYVdpbGRjYXJkTnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hQW5ub3QnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hQW5ub3RQdHInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hQXR0cmlidXRlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUF0dHJpYnV0ZUdyb3VwJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUF0dHJpYnV0ZUdyb3VwUHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUF0dHJpYnV0ZUxpbmsnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hQXR0cmlidXRlTGlua1B0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFBdHRyaWJ1dGVQdHInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hQ29udGVudFR5cGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hRWxlbWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFFbGVtZW50UHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUZhY2V0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUZhY2V0TGluaycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFGYWNldExpbmtQdHInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hRmFjZXRQdHInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hRnJlZVR5cGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hRnJlZVdpbGRjYXJkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYU5vdGF0aW9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYU5vdGF0aW9uUHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVR5cGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVHlwZUxpbmsnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVHlwZUxpbmtQdHInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVHlwZVB0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFUeXBlVHlwZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWwnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsUHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbFR5cGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hV2lsZGNhcmQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hV2lsZGNhcmROcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFXaWxkY2FyZE5zUHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVdpbGRjYXJkUHRyJy8+CisgICAgPC9maWxlPgorICAgIDxmaWxlIG5hbWU9J3NjaGVtYXRyb24nPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BVFJPTl9PVVRfQlVGRkVSJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFUUk9OX09VVF9FUlJPUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BVFJPTl9PVVRfRklMRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BVFJPTl9PVVRfSU8nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVRST05fT1VUX1FVSUVUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFUUk9OX09VVF9URVhUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFUUk9OX09VVF9YTUwnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hdHJvbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWF0cm9uRnJlZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWF0cm9uRnJlZVBhcnNlckN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hdHJvbkZyZWVWYWxpZEN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hdHJvbk5ld0RvY1BhcnNlckN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hdHJvbk5ld01lbVBhcnNlckN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hdHJvbk5ld1BhcnNlckN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hdHJvbk5ld1ZhbGlkQ3R4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWF0cm9uUGFyc2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hdHJvblBhcnNlckN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hdHJvblBhcnNlckN0eHRQdHInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hdHJvblB0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWF0cm9uU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYXRyb25WYWxpZEN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hdHJvblZhbGlkQ3R4dFB0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWF0cm9uVmFsaWRPcHRpb25zJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYXRyb25WYWxpZGF0ZURvYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWF0cm9uVmFsaWRpdHlFcnJvckZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hdHJvblZhbGlkaXR5V2FybmluZ0Z1bmMnLz4KKyAgICA8L2ZpbGU+CisgICAgPGZpbGUgbmFtZT0ndGhyZWFkcyc+CisgICAgICA8cmVmIG5hbWU9J3htbENsZWFudXBUaHJlYWRzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbERsbE1haW4nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRnJlZU11dGV4Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEZyZWVSTXV0ZXgnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sR2V0R2xvYmFsU3RhdGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sR2V0VGhyZWFkSWQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSW5pdFRocmVhZHMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSXNNYWluVGhyZWFkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbExvY2tMaWJyYXJ5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbE11dGV4Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbE11dGV4TG9jaycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxNdXRleFB0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxNdXRleFVubG9jaycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdNdXRleCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdSTXV0ZXgnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUk11dGV4Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJNdXRleExvY2snLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUk11dGV4UHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJNdXRleFVubG9jaycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVbmxvY2tMaWJyYXJ5Jy8+CisgICAgPC9maWxlPgorICAgIDxmaWxlIG5hbWU9J3RyZWUnPgorICAgICAgPHJlZiBuYW1lPSdCQVNFX0JVRkZFUl9TSVpFJy8+CisgICAgICA8cmVmIG5hbWU9J0xJQlhNTDJfTkVXX0JVRkZFUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQVRUUklCVVRFX0NEQVRBJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9BVFRSSUJVVEVfREVDTCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQVRUUklCVVRFX0VOVElUSUVTJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9BVFRSSUJVVEVfRU5USVRZJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9BVFRSSUJVVEVfRU5VTUVSQVRJT04nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0FUVFJJQlVURV9GSVhFRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQVRUUklCVVRFX0lEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9BVFRSSUJVVEVfSURSRUYnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0FUVFJJQlVURV9JRFJFRlMnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0FUVFJJQlVURV9JTVBMSUVEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9BVFRSSUJVVEVfTk1UT0tFTicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQVRUUklCVVRFX05NVE9LRU5TJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9BVFRSSUJVVEVfTk9ERScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQVRUUklCVVRFX05PTkUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0FUVFJJQlVURV9OT1RBVElPTicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQVRUUklCVVRFX1JFUVVJUkVEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9CVUZGRVJfQUxMT0NfRE9VQkxFSVQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0JVRkZFUl9BTExPQ19FWEFDVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQlVGRkVSX0FMTE9DX0hZQlJJRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQlVGRkVSX0FMTE9DX0lNTVVUQUJMRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQlVGRkVSX0FMTE9DX0lPJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9DREFUQV9TRUNUSU9OX05PREUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0NPTU1FTlRfTk9ERScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRE9DQl9ET0NVTUVOVF9OT0RFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9ET0NVTUVOVF9GUkFHX05PREUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0RPQ1VNRU5UX05PREUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0RPQ1VNRU5UX1RZUEVfTk9ERScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRE9DX0RURFZBTElEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9ET0NfSFRNTCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRE9DX0lOVEVSTkFMJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9ET0NfTlNWQUxJRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRE9DX09MRDEwJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9ET0NfVVNFUkJVSUxUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9ET0NfV0VMTEZPUk1FRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRE9DX1hJTkNMVURFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9EVERfTk9ERScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRUxFTUVOVF9DT05URU5UX0VMRU1FTlQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VMRU1FTlRfQ09OVEVOVF9NVUxUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FTEVNRU5UX0NPTlRFTlRfT05DRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRUxFTUVOVF9DT05URU5UX09QVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRUxFTUVOVF9DT05URU5UX09SJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FTEVNRU5UX0NPTlRFTlRfUENEQVRBJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FTEVNRU5UX0NPTlRFTlRfUExVUycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRUxFTUVOVF9DT05URU5UX1NFUScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRUxFTUVOVF9ERUNMJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FTEVNRU5UX05PREUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VMRU1FTlRfVFlQRV9BTlknLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VMRU1FTlRfVFlQRV9FTEVNRU5UJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FTEVNRU5UX1RZUEVfRU1QVFknLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VMRU1FTlRfVFlQRV9NSVhFRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRUxFTUVOVF9UWVBFX1VOREVGSU5FRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRU5USVRZX0RFQ0wnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VOVElUWV9OT0RFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FTlRJVFlfUkVGX05PREUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0dFVF9DT05URU5UJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9HRVRfTElORScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfSFRNTF9ET0NVTUVOVF9OT0RFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9MT0NBTF9OQU1FU1BBQ0UnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX05BTUVTUEFDRV9ERUNMJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9OT1RBVElPTl9OT0RFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9QSV9OT0RFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9URVhUX05PREUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1hJTkNMVURFX0VORCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfWElOQ0xVREVfU1RBUlQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1hNTF9JRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfWE1MX05BTUVTUEFDRScvPgorICAgICAgPHJlZiBuYW1lPSdfeG1sQXR0cicvPgorICAgICAgPHJlZiBuYW1lPSdfeG1sQXR0cmlidXRlJy8+CisgICAgICA8cmVmIG5hbWU9J194bWxCdWZmZXInLz4KKyAgICAgIDxyZWYgbmFtZT0nX3htbERPTVdyYXBDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J194bWxEb2MnLz4KKyAgICAgIDxyZWYgbmFtZT0nX3htbER0ZCcvPgorICAgICAgPHJlZiBuYW1lPSdfeG1sRWxlbWVudCcvPgorICAgICAgPHJlZiBuYW1lPSdfeG1sRWxlbWVudENvbnRlbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0nX3htbEVudW1lcmF0aW9uJy8+CisgICAgICA8cmVmIG5hbWU9J194bWxJRCcvPgorICAgICAgPHJlZiBuYW1lPSdfeG1sTm9kZScvPgorICAgICAgPHJlZiBuYW1lPSdfeG1sTm90YXRpb24nLz4KKyAgICAgIDxyZWYgbmFtZT0nX3htbE5zJy8+CisgICAgICA8cmVmIG5hbWU9J194bWxSZWYnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQWRkQ2hpbGQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQWRkQ2hpbGRMaXN0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEFkZE5leHRTaWJsaW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEFkZFByZXZTaWJsaW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEFkZFNpYmxpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQXR0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxBdHRyUHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEF0dHJTZXJpYWxpemVUeHRDb250ZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEF0dHJpYnV0ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxBdHRyaWJ1dGVEZWZhdWx0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEF0dHJpYnV0ZVB0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxBdHRyaWJ1dGVUeXBlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEJ1ZicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxCdWZDb250ZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEJ1ZkVuZCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxCdWZHZXROb2RlQ29udGVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxCdWZOb2RlRHVtcCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxCdWZQdHInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQnVmU2hyaW5rJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEJ1ZlVzZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxCdWZmZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQnVmZmVyQWRkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEJ1ZmZlckFkZEhlYWQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQnVmZmVyQWxsb2NhdGlvblNjaGVtZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxCdWZmZXJDQ2F0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEJ1ZmZlckNhdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxCdWZmZXJDb250ZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEJ1ZmZlckNyZWF0ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxCdWZmZXJDcmVhdGVTaXplJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEJ1ZmZlckNyZWF0ZVN0YXRpYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxCdWZmZXJEZXRhY2gnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQnVmZmVyRHVtcCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxCdWZmZXJFbXB0eScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxCdWZmZXJGcmVlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEJ1ZmZlckdyb3cnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQnVmZmVyTGVuZ3RoJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEJ1ZmZlclB0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxCdWZmZXJSZXNpemUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQnVmZmVyU2V0QWxsb2NhdGlvblNjaGVtZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxCdWZmZXJTaHJpbmsnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQnVmZmVyV3JpdGVDSEFSJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEJ1ZmZlcldyaXRlQ2hhcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxCdWZmZXJXcml0ZVF1b3RlZFN0cmluZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxCdWlsZFFOYW1lJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENoaWxkRWxlbWVudENvdW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbENoaWxkcmVuTm9kZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDb3B5RG9jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENvcHlEdGQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ29weU5hbWVzcGFjZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDb3B5TmFtZXNwYWNlTGlzdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDb3B5Tm9kZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDb3B5Tm9kZUxpc3QnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ29weVByb3AnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ29weVByb3BMaXN0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbENyZWF0ZUludFN1YnNldCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwQWNxdWlyZU5zRnVuY3Rpb24nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRE9NV3JhcEFkb3B0Tm9kZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwQ2xvbmVOb2RlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbERPTVdyYXBDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbERPTVdyYXBDdHh0UHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbERPTVdyYXBGcmVlQ3R4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwTmV3Q3R4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwUmVjb25jaWxlTmFtZXNwYWNlcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwUmVtb3ZlTm9kZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxEb2MnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRG9jQ29weU5vZGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRG9jQ29weU5vZGVMaXN0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbERvY0R1bXAnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRG9jRHVtcEZvcm1hdE1lbW9yeScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxEb2NEdW1wRm9ybWF0TWVtb3J5RW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbERvY0R1bXBNZW1vcnknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRG9jRHVtcE1lbW9yeUVuYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxEb2NGb3JtYXREdW1wJy8+CisgICAgICA8cmVmIG5hbWU9J3htbERvY0dldFJvb3RFbGVtZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbERvY1Byb3BlcnRpZXMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRG9jUHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbERvY1NldFJvb3RFbGVtZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbER0ZCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxEdGRQdHInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRWxlbUR1bXAnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRWxlbWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxFbGVtZW50Q29udGVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxFbGVtZW50Q29udGVudE9jY3VyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEVsZW1lbnRDb250ZW50UHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEVsZW1lbnRDb250ZW50VHlwZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxFbGVtZW50UHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEVsZW1lbnRUeXBlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEVsZW1lbnRUeXBlVmFsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEVudGl0eScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxFbnRpdHlQdHInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRW51bWVyYXRpb24nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRW51bWVyYXRpb25QdHInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRmlyc3RFbGVtZW50Q2hpbGQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRnJlZURvYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxGcmVlRHRkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEZyZWVOb2RlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEZyZWVOb2RlTGlzdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxGcmVlTnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRnJlZU5zTGlzdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxGcmVlUHJvcCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxGcmVlUHJvcExpc3QnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sR2V0QnVmZmVyQWxsb2NhdGlvblNjaGVtZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxHZXRDb21wcmVzc01vZGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sR2V0RG9jQ29tcHJlc3NNb2RlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEdldEludFN1YnNldCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxHZXRMYXN0Q2hpbGQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sR2V0TGluZU5vJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEdldE5vTnNQcm9wJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEdldE5vZGVQYXRoJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEdldE5zTGlzdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxHZXROc1Byb3AnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sR2V0UHJvcCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxIYXNOc1Byb3AnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSGFzUHJvcCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxJRCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxJRFB0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxJc0JsYW5rTm9kZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxJc1hIVE1MJy8+CisgICAgICA8cmVmIG5hbWU9J3htbExhc3RFbGVtZW50Q2hpbGQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3Q0RhdGFCbG9jaycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdDaGFyUmVmJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld0NoaWxkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld0NvbW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3RG9jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld0RvY0NvbW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3RG9jRnJhZ21lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3RG9jTm9kZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdEb2NOb2RlRWF0TmFtZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdEb2NQSScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdEb2NQcm9wJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld0RvY1Jhd05vZGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3RG9jVGV4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdEb2NUZXh0TGVuJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld0R0ZCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdHbG9iYWxOcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdOb2RlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld05vZGVFYXROYW1lJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld05zJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld05zUHJvcCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdOc1Byb3BFYXROYW1lJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld1BJJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld1Byb3AnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3UmVmZXJlbmNlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld1RleHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3VGV4dENoaWxkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld1RleHRMZW4nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV4dEVsZW1lbnRTaWJsaW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5vZGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUFkZENvbnRlbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUFkZENvbnRlbnRMZW4nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUJ1ZkdldENvbnRlbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUR1bXAnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUR1bXBPdXRwdXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUdldEJhc2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUdldENvbnRlbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUdldExhbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUdldFNwYWNlUHJlc2VydmUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUlzVGV4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlTGlzdEdldFJhd1N0cmluZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlTGlzdEdldFN0cmluZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlUHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5vZGVTZXRCYXNlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5vZGVTZXRDb250ZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5vZGVTZXRDb250ZW50TGVuJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5vZGVTZXRMYW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5vZGVTZXROYW1lJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5vZGVTZXRTcGFjZVByZXNlcnZlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5vdGF0aW9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5vdGF0aW9uUHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5zJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5zUHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5zVHlwZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxPdXRwdXRCdWZmZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sT3V0cHV0QnVmZmVyUHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlckN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VyQ3R4dFB0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJJbnB1dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJJbnB1dEJ1ZmZlcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJJbnB1dFB0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQcmV2aW91c0VsZW1lbnRTaWJsaW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlY29uY2lsaWF0ZU5zJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlZicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWZQdHInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVtb3ZlUHJvcCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZXBsYWNlTm9kZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSb290Tm9kZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTQVhIYW5kbGVyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNBWEhhbmRsZXJQdHInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU0FYTG9jYXRvcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTQVhMb2NhdG9yUHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNhdmVGaWxlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNhdmVGaWxlRW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNhdmVGaWxlVG8nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2F2ZUZvcm1hdEZpbGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2F2ZUZvcm1hdEZpbGVFbmMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2F2ZUZvcm1hdEZpbGVUbycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTZWFyY2hOcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTZWFyY2hOc0J5SHJlZicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNldENvbXByZXNzTW9kZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTZXREb2NDb21wcmVzc01vZGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2V0TGlzdERvYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTZXROcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTZXROc1Byb3AnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2V0UHJvcCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTZXRUcmVlRG9jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNwbGl0UU5hbWUyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNwbGl0UU5hbWUzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFN0cmluZ0dldE5vZGVMaXN0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFN0cmluZ0xlbkdldE5vZGVMaXN0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRDb25jYXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dE1lcmdlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVubGlua05vZGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVW5zZXROc1Byb3AnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVW5zZXRQcm9wJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlTkNOYW1lJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlTk1Ub2tlbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZU5hbWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVRTmFtZScvPgorICAgIDwvZmlsZT4KKyAgICA8ZmlsZSBuYW1lPSd1cmknPgorICAgICAgPHJlZiBuYW1lPSdfeG1sVVJJJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEJ1aWxkUmVsYXRpdmVVUkknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQnVpbGRVUkknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ2Fub25pY1BhdGgnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ3JlYXRlVVJJJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEZyZWVVUkknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTm9ybWFsaXplVVJJUGF0aCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVVSSScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVVSSVJhdycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVVSSVJlZmVyZW5jZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXRoVG9VUkknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUHJpbnRVUkknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2F2ZVVyaScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVUkknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVVJJRXNjYXBlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVSSUVzY2FwZVN0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVUklQdHInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVVJJVW5lc2NhcGVTdHJpbmcnLz4KKyAgICA8L2ZpbGU+CisgICAgPGZpbGUgbmFtZT0ndmFsaWQnPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQ1RYVF9GSU5JU0hfRFREXzAnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0NUWFRfRklOSVNIX0RURF8xJy8+CisgICAgICA8cmVmIG5hbWU9J194bWxWYWxpZEN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQWRkQXR0cmlidXRlRGVjbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxBZGRFbGVtZW50RGVjbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxBZGRJRCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxBZGROb3RhdGlvbkRlY2wnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQWRkUmVmJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEF0dHJpYnV0ZVRhYmxlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEF0dHJpYnV0ZVRhYmxlUHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENvcHlBdHRyaWJ1dGVUYWJsZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDb3B5RG9jRWxlbWVudENvbnRlbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ29weUVsZW1lbnRDb250ZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbENvcHlFbGVtZW50VGFibGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ29weUVudW1lcmF0aW9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENvcHlOb3RhdGlvblRhYmxlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENyZWF0ZUVudW1lcmF0aW9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbER1bXBBdHRyaWJ1dGVEZWNsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbER1bXBBdHRyaWJ1dGVUYWJsZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxEdW1wRWxlbWVudERlY2wnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRHVtcEVsZW1lbnRUYWJsZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxEdW1wTm90YXRpb25EZWNsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbER1bXBOb3RhdGlvblRhYmxlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEVsZW1lbnRUYWJsZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxFbGVtZW50VGFibGVQdHInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRnJlZUF0dHJpYnV0ZVRhYmxlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEZyZWVEb2NFbGVtZW50Q29udGVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxGcmVlRWxlbWVudENvbnRlbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRnJlZUVsZW1lbnRUYWJsZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxGcmVlRW51bWVyYXRpb24nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRnJlZUlEVGFibGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRnJlZU5vdGF0aW9uVGFibGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRnJlZVJlZlRhYmxlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEZyZWVWYWxpZEN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sR2V0RHRkQXR0ckRlc2MnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sR2V0RHRkRWxlbWVudERlc2MnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sR2V0RHRkTm90YXRpb25EZXNjJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEdldER0ZFFBdHRyRGVzYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxHZXREdGRRRWxlbWVudERlc2MnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sR2V0SUQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sR2V0UmVmcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxJRFRhYmxlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbElEVGFibGVQdHInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSXNJRCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxJc01peGVkRWxlbWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxJc1JlZicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdEb2NFbGVtZW50Q29udGVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdFbGVtZW50Q29udGVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdWYWxpZEN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTm90YXRpb25UYWJsZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOb3RhdGlvblRhYmxlUHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlZlRhYmxlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlZlRhYmxlUHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlbW92ZUlEJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlbW92ZVJlZicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTbnByaW50ZkVsZW1lbnRDb250ZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNwcmludGZFbGVtZW50Q29udGVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZEJ1aWxkQ29udGVudE1vZGVsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkQ3R4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZEN0eHROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZEN0eHRQdHInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRHZXRQb3RlbnRpYWxDaGlsZHJlbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZEdldFZhbGlkRWxlbWVudHMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZFN0YXRlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkU3RhdGVQdHInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVBdHRyaWJ1dGVEZWNsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlQXR0cmlidXRlVmFsdWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVEb2N1bWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZURvY3VtZW50RmluYWwnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVEdGQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVEdGRGaW5hbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZUVsZW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVFbGVtZW50RGVjbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZU5hbWVWYWx1ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZU5hbWVzVmFsdWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVObXRva2VuVmFsdWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVObXRva2Vuc1ZhbHVlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlTm90YXRpb25EZWNsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlTm90YXRpb25Vc2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVPbmVBdHRyaWJ1dGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVPbmVFbGVtZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlT25lTmFtZXNwYWNlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlUG9wRWxlbWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZVB1c2hDRGF0YScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZVB1c2hFbGVtZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlUm9vdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGl0eUVycm9yRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGl0eVdhcm5pbmdGdW5jJy8+CisgICAgPC9maWxlPgorICAgIDxmaWxlIG5hbWU9J3hpbmNsdWRlJz4KKyAgICAgIDxyZWYgbmFtZT0nWElOQ0xVREVfRkFMTEJBQ0snLz4KKyAgICAgIDxyZWYgbmFtZT0nWElOQ0xVREVfSFJFRicvPgorICAgICAgPHJlZiBuYW1lPSdYSU5DTFVERV9OT0RFJy8+CisgICAgICA8cmVmIG5hbWU9J1hJTkNMVURFX05TJy8+CisgICAgICA8cmVmIG5hbWU9J1hJTkNMVURFX09MRF9OUycvPgorICAgICAgPHJlZiBuYW1lPSdYSU5DTFVERV9QQVJTRScvPgorICAgICAgPHJlZiBuYW1lPSdYSU5DTFVERV9QQVJTRV9FTkNPRElORycvPgorICAgICAgPHJlZiBuYW1lPSdYSU5DTFVERV9QQVJTRV9URVhUJy8+CisgICAgICA8cmVmIG5hbWU9J1hJTkNMVURFX1BBUlNFX1hNTCcvPgorICAgICAgPHJlZiBuYW1lPSdYSU5DTFVERV9QQVJTRV9YUE9JTlRFUicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYSW5jbHVkZUN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWEluY2x1ZGVDdHh0UHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhJbmNsdWRlRnJlZUNvbnRleHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWEluY2x1ZGVOZXdDb250ZXh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhJbmNsdWRlUHJvY2VzcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYSW5jbHVkZVByb2Nlc3NGbGFncycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYSW5jbHVkZVByb2Nlc3NGbGFnc0RhdGEnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWEluY2x1ZGVQcm9jZXNzTm9kZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYSW5jbHVkZVByb2Nlc3NUcmVlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhJbmNsdWRlUHJvY2Vzc1RyZWVGbGFncycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYSW5jbHVkZVByb2Nlc3NUcmVlRmxhZ3NEYXRhJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhJbmNsdWRlU2V0RmxhZ3MnLz4KKyAgICA8L2ZpbGU+CisgICAgPGZpbGUgbmFtZT0neGxpbmsnPgorICAgICAgPHJlZiBuYW1lPSdYTElOS19BQ1RVQVRFX0FVVE8nLz4KKyAgICAgIDxyZWYgbmFtZT0nWExJTktfQUNUVUFURV9OT05FJy8+CisgICAgICA8cmVmIG5hbWU9J1hMSU5LX0FDVFVBVEVfT05SRVFVRVNUJy8+CisgICAgICA8cmVmIG5hbWU9J1hMSU5LX1NIT1dfRU1CRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWExJTktfU0hPV19ORVcnLz4KKyAgICAgIDxyZWYgbmFtZT0nWExJTktfU0hPV19OT05FJy8+CisgICAgICA8cmVmIG5hbWU9J1hMSU5LX1NIT1dfUkVQTEFDRScvPgorICAgICAgPHJlZiBuYW1lPSdYTElOS19UWVBFX0VYVEVOREVEJy8+CisgICAgICA8cmVmIG5hbWU9J1hMSU5LX1RZUEVfRVhURU5ERURfU0VUJy8+CisgICAgICA8cmVmIG5hbWU9J1hMSU5LX1RZUEVfTk9ORScvPgorICAgICAgPHJlZiBuYW1lPSdYTElOS19UWVBFX1NJTVBMRScvPgorICAgICAgPHJlZiBuYW1lPSdfeGxpbmtIYW5kbGVyJy8+CisgICAgICA8cmVmIG5hbWU9J3hsaW5rQWN0dWF0ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bGlua0V4dGVuZGVkTGlua0Z1bmsnLz4KKyAgICAgIDxyZWYgbmFtZT0neGxpbmtFeHRlbmRlZExpbmtTZXRGdW5rJy8+CisgICAgICA8cmVmIG5hbWU9J3hsaW5rR2V0RGVmYXVsdERldGVjdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bGlua0dldERlZmF1bHRIYW5kbGVyJy8+CisgICAgICA8cmVmIG5hbWU9J3hsaW5rSFJlZicvPgorICAgICAgPHJlZiBuYW1lPSd4bGlua0hhbmRsZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neGxpbmtIYW5kbGVyUHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3hsaW5rSXNMaW5rJy8+CisgICAgICA8cmVmIG5hbWU9J3hsaW5rTm9kZURldGVjdEZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0neGxpbmtSb2xlJy8+CisgICAgICA8cmVmIG5hbWU9J3hsaW5rU2V0RGVmYXVsdERldGVjdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bGlua1NldERlZmF1bHRIYW5kbGVyJy8+CisgICAgICA8cmVmIG5hbWU9J3hsaW5rU2hvdycvPgorICAgICAgPHJlZiBuYW1lPSd4bGlua1NpbXBsZUxpbmtGdW5rJy8+CisgICAgICA8cmVmIG5hbWU9J3hsaW5rVGl0bGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neGxpbmtUeXBlJy8+CisgICAgPC9maWxlPgorICAgIDxmaWxlIG5hbWU9J3htbElPJz4KKyAgICAgIDxyZWYgbmFtZT0nX3htbE91dHB1dEJ1ZmZlcicvPgorICAgICAgPHJlZiBuYW1lPSdfeG1sUGFyc2VySW5wdXRCdWZmZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQWxsb2NPdXRwdXRCdWZmZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQWxsb2NQYXJzZXJJbnB1dEJ1ZmZlcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDaGVja0ZpbGVuYW1lJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENoZWNrSFRUUElucHV0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbENsZWFudXBJbnB1dENhbGxiYWNrcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDbGVhbnVwT3V0cHV0Q2FsbGJhY2tzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEZpbGVDbG9zZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxGaWxlTWF0Y2gnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRmlsZU9wZW4nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRmlsZVJlYWQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRnJlZVBhcnNlcklucHV0QnVmZmVyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbElPRlRQQ2xvc2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSU9GVFBNYXRjaCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxJT0ZUUE9wZW4nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSU9GVFBSZWFkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbElPSFRUUENsb3NlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbElPSFRUUE1hdGNoJy8+CisgICAgICA8cmVmIG5hbWU9J3htbElPSFRUUE9wZW4nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSU9IVFRQT3BlblcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSU9IVFRQUmVhZCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxJbnB1dENsb3NlQ2FsbGJhY2snLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSW5wdXRNYXRjaENhbGxiYWNrJy8+CisgICAgICA8cmVmIG5hbWU9J3htbElucHV0T3BlbkNhbGxiYWNrJy8+CisgICAgICA8cmVmIG5hbWU9J3htbElucHV0UmVhZENhbGxiYWNrJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5vTmV0RXh0ZXJuYWxFbnRpdHlMb2FkZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTm9ybWFsaXplV2luZG93c1BhdGgnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sT3V0cHV0QnVmZmVyQ2xvc2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sT3V0cHV0QnVmZmVyQ3JlYXRlQnVmZmVyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sT3V0cHV0QnVmZmVyQ3JlYXRlSU8nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sT3V0cHV0QnVmZmVyRmx1c2gnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sT3V0cHV0QnVmZmVyR2V0Q29udGVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxPdXRwdXRCdWZmZXJHZXRTaXplJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dEJ1ZmZlcldyaXRlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dEJ1ZmZlcldyaXRlRXNjYXBlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dENsb3NlQ2FsbGJhY2snLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sT3V0cHV0TWF0Y2hDYWxsYmFjaycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxPdXRwdXRPcGVuQ2FsbGJhY2snLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sT3V0cHV0V3JpdGVDYWxsYmFjaycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJHZXREaXJlY3RvcnknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGZCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUlPJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlTWVtJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlU3RhdGljJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyR3JvdycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJJbnB1dEJ1ZmZlclB1c2gnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySW5wdXRCdWZmZXJSZWFkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBvcElucHV0Q2FsbGJhY2tzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlZ2lzdGVyRGVmYXVsdElucHV0Q2FsbGJhY2tzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlZ2lzdGVyRGVmYXVsdE91dHB1dENhbGxiYWNrcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWdpc3RlckhUVFBQb3N0Q2FsbGJhY2tzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlZ2lzdGVySW5wdXRDYWxsYmFja3MnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVnaXN0ZXJPdXRwdXRDYWxsYmFja3MnLz4KKyAgICA8L2ZpbGU+CisgICAgPGZpbGUgbmFtZT0neG1sYXV0b21hdGEnPgorICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YUNvbXBpbGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFHZXRJbml0U3RhdGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFJc0RldGVybWluaXN0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhTmV3QWxsVHJhbnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFOZXdDb3VudFRyYW5zJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhTmV3Q291bnRUcmFuczInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFOZXdDb3VudGVkVHJhbnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFOZXdDb3VudGVyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhTmV3Q291bnRlclRyYW5zJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhTmV3RXBzaWxvbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YU5ld05lZ1RyYW5zJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhTmV3T25jZVRyYW5zJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhTmV3T25jZVRyYW5zMicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YU5ld1N0YXRlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhTmV3VHJhbnNpdGlvbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YU5ld1RyYW5zaXRpb24yJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhUHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhU2V0RmluYWxTdGF0ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YVN0YXRlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhU3RhdGVQdHInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRnJlZUF1dG9tYXRhJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld0F1dG9tYXRhJy8+CisgICAgPC9maWxlPgorICAgIDxmaWxlIG5hbWU9J3htbGVycm9yJz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0JVRl9PVkVSRkxPVycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQzE0Tl9DUkVBVEVfQ1RYVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQzE0Tl9DUkVBVEVfU1RBQ0snLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0MxNE5fSU5WQUxJRF9OT0RFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9DMTROX1JFTEFUSVZFX05BTUVTUEFDRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQzE0Tl9SRVFVSVJFU19VVEY4Jy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9DMTROX1VOS05PV19OT0RFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9DQVRBTE9HX0VOVFJZX0JST0tFTicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQ0FUQUxPR19NSVNTSU5HX0FUVFInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0NBVEFMT0dfTk9UX0NBVEFMT0cnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0NBVEFMT0dfUFJFRkVSX1ZBTFVFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9DQVRBTE9HX1JFQ1VSU0lPTicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQ0hFQ0tfRU5USVRZX1RZUEUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0NIRUNLX0ZPVU5EX0FUVFJJQlVURScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQ0hFQ0tfRk9VTkRfQ0RBVEEnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0NIRUNLX0ZPVU5EX0NPTU1FTlQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0NIRUNLX0ZPVU5EX0RPQ1RZUEUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0NIRUNLX0ZPVU5EX0VMRU1FTlQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0NIRUNLX0ZPVU5EX0VOVElUWScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQ0hFQ0tfRk9VTkRfRU5USVRZUkVGJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9DSEVDS19GT1VORF9GUkFHTUVOVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQ0hFQ0tfRk9VTkRfTk9UQVRJT04nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0NIRUNLX0ZPVU5EX1BJJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9DSEVDS19GT1VORF9URVhUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9DSEVDS19OQU1FX05PVF9OVUxMJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9DSEVDS19OT1RfQVRUUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQ0hFQ0tfTk9UX0FUVFJfREVDTCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQ0hFQ0tfTk9UX0RURCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQ0hFQ0tfTk9UX0VMRU1fREVDTCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQ0hFQ0tfTk9UX0VOVElUWV9ERUNMJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9DSEVDS19OT1RfTkNOQU1FJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9DSEVDS19OT1RfTlNfREVDTCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQ0hFQ0tfTk9UX1VURjgnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0NIRUNLX05PX0RJQ1QnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0NIRUNLX05PX0RPQycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQ0hFQ0tfTk9fRUxFTScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQ0hFQ0tfTk9fSFJFRicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQ0hFQ0tfTk9fTkFNRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQ0hFQ0tfTk9fTkVYVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQ0hFQ0tfTk9fUEFSRU5UJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9DSEVDS19OT19QUkVWJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9DSEVDS19OU19BTkNFU1RPUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQ0hFQ0tfTlNfU0NPUEUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0NIRUNLX09VVFNJREVfRElDVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQ0hFQ0tfVU5LTk9XTl9OT0RFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9DSEVDS19XUk9OR19ET0MnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0NIRUNLX1dST05HX05BTUUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0NIRUNLX1dST05HX05FWFQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0NIRUNLX1dST05HX1BBUkVOVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfQ0hFQ0tfV1JPTkdfUFJFVicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRFREX0FUVFJJQlVURV9ERUZBVUxUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9EVERfQVRUUklCVVRFX1JFREVGSU5FRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRFREX0FUVFJJQlVURV9WQUxVRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRFREX0NPTlRFTlRfRVJST1InLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0RURF9DT05URU5UX01PREVMJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9EVERfQ09OVEVOVF9OT1RfREVURVJNSU5JU1QnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0RURF9ESUZGRVJFTlRfUFJFRklYJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9EVERfRFVQX1RPS0VOJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9EVERfRUxFTV9ERUZBVUxUX05BTUVTUEFDRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRFREX0VMRU1fTkFNRVNQQUNFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9EVERfRUxFTV9SRURFRklORUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0RURF9FTVBUWV9OT1RBVElPTicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRFREX0VOVElUWV9UWVBFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9EVERfSURfRklYRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0RURF9JRF9SRURFRklORUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0RURF9JRF9TVUJTRVQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0RURF9JTlZBTElEX0NISUxEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9EVERfSU5WQUxJRF9ERUZBVUxUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9EVERfTE9BRF9FUlJPUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRFREX01JU1NJTkdfQVRUUklCVVRFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9EVERfTUlYRURfQ09SUlVQVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRFREX01VTFRJUExFX0lEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9EVERfTk9UQVRJT05fUkVERUZJTkVEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9EVERfTk9UQVRJT05fVkFMVUUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0RURF9OT1RfRU1QVFknLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0RURF9OT1RfUENEQVRBJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9EVERfTk9UX1NUQU5EQUxPTkUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0RURF9OT19ET0MnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0RURF9OT19EVEQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0RURF9OT19FTEVNX05BTUUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0RURF9OT19QUkVGSVgnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0RURF9OT19ST09UJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9EVERfUk9PVF9OQU1FJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9EVERfU1RBTkRBTE9ORV9ERUZBVUxURUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0RURF9TVEFOREFMT05FX1dISVRFX1NQQUNFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9EVERfVU5LTk9XTl9BVFRSSUJVVEUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0RURF9VTktOT1dOX0VMRU0nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0RURF9VTktOT1dOX0VOVElUWScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRFREX1VOS05PV05fSUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0RURF9VTktOT1dOX05PVEFUSU9OJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9EVERfWE1MSURfVFlQRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRFREX1hNTElEX1ZBTFVFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfQVRUTElTVF9OT1RfRklOSVNIRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VSUl9BVFRMSVNUX05PVF9TVEFSVEVEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfQVRUUklCVVRFX05PVF9GSU5JU0hFRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX0FUVFJJQlVURV9OT1RfU1RBUlRFRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX0FUVFJJQlVURV9SRURFRklORUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VSUl9BVFRSSUJVVEVfV0lUSE9VVF9WQUxVRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX0NEQVRBX05PVF9GSU5JU0hFRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX0NIQVJSRUZfQVRfRU9GJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfQ0hBUlJFRl9JTl9EVEQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VSUl9DSEFSUkVGX0lOX0VQSUxPRycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX0NIQVJSRUZfSU5fUFJPTE9HJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfQ09NTUVOVF9OT1RfRklOSVNIRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VSUl9DT05EU0VDX0lOVkFMSUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VSUl9DT05EU0VDX0lOVkFMSURfS0VZV09SRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX0NPTkRTRUNfTk9UX0ZJTklTSEVEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfQ09ORFNFQ19OT1RfU1RBUlRFRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX0RPQ1RZUEVfTk9UX0ZJTklTSEVEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfRE9DVU1FTlRfRU1QVFknLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VSUl9ET0NVTUVOVF9FTkQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VSUl9ET0NVTUVOVF9TVEFSVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX0VMRU1DT05URU5UX05PVF9GSU5JU0hFRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX0VMRU1DT05URU5UX05PVF9TVEFSVEVEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfRU5DT0RJTkdfTkFNRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX0VOVElUWVJFRl9BVF9FT0YnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VSUl9FTlRJVFlSRUZfSU5fRFREJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfRU5USVRZUkVGX0lOX0VQSUxPRycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX0VOVElUWVJFRl9JTl9QUk9MT0cnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VSUl9FTlRJVFlSRUZfTk9fTkFNRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX0VOVElUWVJFRl9TRU1JQ09MX01JU1NJTkcnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VSUl9FTlRJVFlfQk9VTkRBUlknLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VSUl9FTlRJVFlfQ0hBUl9FUlJPUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX0VOVElUWV9JU19FWFRFUk5BTCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX0VOVElUWV9JU19QQVJBTUVURVInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VSUl9FTlRJVFlfTE9PUCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX0VOVElUWV9OT1RfRklOSVNIRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VSUl9FTlRJVFlfTk9UX1NUQVJURUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VSUl9FTlRJVFlfUEVfSU5URVJOQUwnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VSUl9FTlRJVFlfUFJPQ0VTU0lORycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX0VRVUFMX1JFUVVJUkVEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfRVJST1InLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VSUl9FWFRSQV9DT05URU5UJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfRVhUX0VOVElUWV9TVEFOREFMT05FJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfRVhUX1NVQlNFVF9OT1RfRklOSVNIRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VSUl9GQVRBTCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX0dUX1JFUVVJUkVEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfSFlQSEVOX0lOX0NPTU1FTlQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VSUl9JTlRFUk5BTF9FUlJPUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX0lOVkFMSURfQ0hBUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX0lOVkFMSURfQ0hBUlJFRicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX0lOVkFMSURfREVDX0NIQVJSRUYnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VSUl9JTlZBTElEX0VOQ09ESU5HJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfSU5WQUxJRF9IRVhfQ0hBUlJFRicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX0lOVkFMSURfVVJJJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfTElURVJBTF9OT1RfRklOSVNIRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VSUl9MSVRFUkFMX05PVF9TVEFSVEVEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfTFRTTEFTSF9SRVFVSVJFRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX0xUX0lOX0FUVFJJQlVURScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX0xUX1JFUVVJUkVEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfTUlTUExBQ0VEX0NEQVRBX0VORCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX01JU1NJTkdfRU5DT0RJTkcnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VSUl9NSVhFRF9OT1RfRklOSVNIRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VSUl9NSVhFRF9OT1RfU1RBUlRFRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX05BTUVfUkVRVUlSRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VSUl9OQU1FX1RPT19MT05HJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfTk1UT0tFTl9SRVFVSVJFRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX05PTkUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VSUl9OT1RBVElPTl9OT1RfRklOSVNIRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VSUl9OT1RBVElPTl9OT1RfU1RBUlRFRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX05PVEFUSU9OX1BST0NFU1NJTkcnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VSUl9OT1RfU1RBTkRBTE9ORScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX05PVF9XRUxMX0JBTEFOQ0VEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfTk9fRFREJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfTk9fTUVNT1JZJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfTlNfREVDTF9FUlJPUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX09LJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfUENEQVRBX1JFUVVJUkVEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfUEVSRUZfQVRfRU9GJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfUEVSRUZfSU5fRVBJTE9HJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfUEVSRUZfSU5fSU5UX1NVQlNFVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX1BFUkVGX0lOX1BST0xPRycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX1BFUkVGX05PX05BTUUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VSUl9QRVJFRl9TRU1JQ09MX01JU1NJTkcnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VSUl9QSV9OT1RfRklOSVNIRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VSUl9QSV9OT1RfU1RBUlRFRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX1BVQklEX1JFUVVJUkVEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfUkVTRVJWRURfWE1MX05BTUUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VSUl9TRVBBUkFUT1JfUkVRVUlSRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VSUl9TUEFDRV9SRVFVSVJFRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX1NUQU5EQUxPTkVfVkFMVUUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VSUl9TVFJJTkdfTk9UX0NMT1NFRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX1NUUklOR19OT1RfU1RBUlRFRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX1RBR19OQU1FX01JU01BVENIJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfVEFHX05PVF9GSU5JU0hFRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX1VOREVDTEFSRURfRU5USVRZJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfVU5LTk9XTl9FTkNPRElORycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX1VOS05PV05fVkVSU0lPTicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX1VOUEFSU0VEX0VOVElUWScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX1VOU1VQUE9SVEVEX0VOQ09ESU5HJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfVVJJX0ZSQUdNRU5UJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfVVJJX1JFUVVJUkVEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfVVNFUl9TVE9QJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfVkFMVUVfUkVRVUlSRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VSUl9WRVJTSU9OX01JU01BVENIJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfVkVSU0lPTl9NSVNTSU5HJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfV0FSTklORycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVJSX1hNTERFQ0xfTk9UX0ZJTklTSEVEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FUlJfWE1MREVDTF9OT1RfU1RBUlRFRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRlJPTV9CVUZGRVInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0ZST01fQzE0TicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRlJPTV9DQVRBTE9HJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9GUk9NX0NIRUNLJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9GUk9NX0RBVEFUWVBFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9GUk9NX0RURCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRlJPTV9GVFAnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0ZST01fSFRNTCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRlJPTV9IVFRQJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9GUk9NX0kxOE4nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0ZST01fSU8nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0ZST01fTUVNT1JZJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9GUk9NX01PRFVMRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRlJPTV9OQU1FU1BBQ0UnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0ZST01fTk9ORScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRlJPTV9PVVRQVVQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0ZST01fUEFSU0VSJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9GUk9NX1JFR0VYUCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRlJPTV9SRUxBWE5HUCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRlJPTV9SRUxBWE5HVicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRlJPTV9TQ0hFTUFTUCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRlJPTV9TQ0hFTUFTVicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRlJPTV9TQ0hFTUFUUk9OVicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRlJPTV9UUkVFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9GUk9NX1VSSScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRlJPTV9WQUxJRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRlJPTV9XUklURVInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0ZST01fWElOQ0xVREUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0ZST01fWFBBVEgnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0ZST01fWFBPSU5URVInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0ZST01fWFNMVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRlRQX0FDQ05UJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9GVFBfRVBTVl9BTlNXRVInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0ZUUF9QQVNWX0FOU1dFUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRlRQX1VSTF9TWU5UQVgnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0hUTUxfU1RSVUNVUkVfRVJST1InLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0hUTUxfVU5LTk9XTl9UQUcnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0hUVFBfVU5LTk9XTl9IT1NUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9IVFRQX1VSTF9TWU5UQVgnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0hUVFBfVVNFX0lQJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9JMThOX0NPTlZfRkFJTEVEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9JMThOX0VYQ0VTU19IQU5ETEVSJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9JMThOX05PX0hBTkRMRVInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0kxOE5fTk9fTkFNRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfSTE4Tl9OT19PVVRQVVQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0lPX0JVRkZFUl9GVUxMJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9JT19FQUNDRVMnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0lPX0VBRERSSU5VU0UnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0lPX0VBRk5PU1VQUE9SVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfSU9fRUFHQUlOJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9JT19FQUxSRUFEWScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfSU9fRUJBREYnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0lPX0VCQURNU0cnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0lPX0VCVVNZJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9JT19FQ0FOQ0VMRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0lPX0VDSElMRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfSU9fRUNPTk5SRUZVU0VEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9JT19FREVBRExLJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9JT19FRE9NJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9JT19FRVhJU1QnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0lPX0VGQVVMVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfSU9fRUZCSUcnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0lPX0VJTlBST0dSRVNTJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9JT19FSU5UUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfSU9fRUlOVkFMJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9JT19FSU8nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0lPX0VJU0NPTk4nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0lPX0VJU0RJUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfSU9fRU1GSUxFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9JT19FTUxJTksnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0lPX0VNU0dTSVpFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9JT19FTkFNRVRPT0xPTkcnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0lPX0VOQ09ERVInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0lPX0VORVRVTlJFQUNIJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9JT19FTkZJTEUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0lPX0VOT0RFVicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfSU9fRU5PRU5UJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9JT19FTk9FWEVDJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9JT19FTk9MQ0snLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0lPX0VOT01FTScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfSU9fRU5PU1BDJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9JT19FTk9TWVMnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0lPX0VOT1RESVInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0lPX0VOT1RFTVBUWScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfSU9fRU5PVFNPQ0snLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0lPX0VOT1RTVVAnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0lPX0VOT1RUWScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfSU9fRU5YSU8nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0lPX0VQRVJNJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9JT19FUElQRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfSU9fRVJBTkdFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9JT19FUk9GUycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfSU9fRVNQSVBFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9JT19FU1JDSCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfSU9fRVRJTUVET1VUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9JT19FWERFVicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfSU9fRkxVU0gnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0lPX0xPQURfRVJST1InLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0lPX05FVFdPUktfQVRURU1QVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfSU9fTk9fSU5QVVQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0lPX1VOS05PV04nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0lPX1dSSVRFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9NT0RVTEVfQ0xPU0UnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX01PRFVMRV9PUEVOJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9OU19FUlJfQVRUUklCVVRFX1JFREVGSU5FRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfTlNfRVJSX0NPTE9OJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9OU19FUlJfRU1QVFknLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX05TX0VSUl9RTkFNRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfTlNfRVJSX1VOREVGSU5FRF9OQU1FU1BBQ0UnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX05TX0VSUl9YTUxfTkFNRVNQQUNFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9SRUdFWFBfQ09NUElMRV9FUlJPUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9BTllOQU1FX0FUVFJfQU5DRVNUT1InLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfQVRUUklCVVRFX0NISUxEUkVOJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX0FUVFJJQlVURV9DT05URU5UJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX0FUVFJJQlVURV9FTVBUWScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9BVFRSSUJVVEVfTk9PUCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9BVFRSX0NPTkZMSUNUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX0NIT0lDRV9DT05URU5UJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX0NIT0lDRV9FTVBUWScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9DUkVBVEVfRkFJTFVSRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9EQVRBX0NPTlRFTlQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfREVGSU5FX0NSRUFURV9GQUlMRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfREVGSU5FX0VNUFRZJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX0RFRklORV9NSVNTSU5HJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX0RFRklORV9OQU1FX01JU1NJTkcnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfREVGX0NIT0lDRV9BTkRfSU5URVJMRUFWRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9FTEVNRU5UX0NPTlRFTlQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfRUxFTUVOVF9FTVBUWScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9FTEVNRU5UX05BTUUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfRUxFTUVOVF9OT19DT05URU5UJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX0VMRU1fQ09OVEVOVF9FTVBUWScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9FTEVNX0NPTlRFTlRfRVJST1InLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfRUxFTV9URVhUX0NPTkZMSUNUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX0VNUFRZJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX0VNUFRZX0NPTlNUUlVDVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9FTVBUWV9DT05URU5UJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX0VNUFRZX05PVF9FTVBUWScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9FUlJPUl9UWVBFX0xJQicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9FWENFUFRfRU1QVFknLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfRVhDRVBUX01JU1NJTkcnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfRVhDRVBUX01VTFRJUExFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX0VYQ0VQVF9OT19DT05URU5UJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX0VYVEVSTkFMUkVGX0VNVFBZJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX0VYVEVSTkFMUkVGX1JFQ1VSU0UnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfRVhURVJOQUxfUkVGX0ZBSUxVUkUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfRk9SQklEREVOX0FUVFJJQlVURScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9GT1JFSUdOX0VMRU1FTlQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfR1JBTU1BUl9DT05URU5UJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX0dSQU1NQVJfRU1QVFknLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfR1JBTU1BUl9NSVNTSU5HJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX0dSQU1NQVJfTk9fU1RBUlQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfR1JPVVBfQVRUUl9DT05GTElDVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9IUkVGX0VSUk9SJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX0lOQ0xVREVfRU1QVFknLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfSU5DTFVERV9GQUlMVVJFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX0lOQ0xVREVfUkVDVVJTRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9JTlRFUkxFQVZFX0FERCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9JTlRFUkxFQVZFX0NSRUFURV9GQUlMRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfSU5URVJMRUFWRV9FTVBUWScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9JTlRFUkxFQVZFX05PX0NPTlRFTlQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfSU5WQUxJRF9ERUZJTkVfTkFNRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9JTlZBTElEX1VSSScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9JTlZBTElEX1ZBTFVFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX01JU1NJTkdfSFJFRicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9OQU1FX01JU1NJTkcnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfTkVFRF9DT01CSU5FJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX05PVEFMTE9XRURfTk9UX0VNUFRZJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX05TTkFNRV9BVFRSX0FOQ0VTVE9SJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX05TTkFNRV9OT19OUycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9QQVJBTV9GT1JCSURERU4nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfUEFSQU1fTkFNRV9NSVNTSU5HJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX1BBUkVOVFJFRl9DUkVBVEVfRkFJTEVEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX1BBUkVOVFJFRl9OQU1FX0lOVkFMSUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfUEFSRU5UUkVGX05PVF9FTVBUWScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9QQVJFTlRSRUZfTk9fTkFNRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9QQVJFTlRSRUZfTk9fUEFSRU5UJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX1BBUlNFX0VSUk9SJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX1BBVF9BTllOQU1FX0VYQ0VQVF9BTllOQU1FJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX1BBVF9BVFRSX0FUVFInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfUEFUX0FUVFJfRUxFTScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9QQVRfREFUQV9FWENFUFRfQVRUUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9QQVRfREFUQV9FWENFUFRfRUxFTScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9QQVRfREFUQV9FWENFUFRfRU1QVFknLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfUEFUX0RBVEFfRVhDRVBUX0dST1VQJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX1BBVF9EQVRBX0VYQ0VQVF9JTlRFUkxFQVZFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX1BBVF9EQVRBX0VYQ0VQVF9MSVNUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX1BBVF9EQVRBX0VYQ0VQVF9PTkVNT1JFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX1BBVF9EQVRBX0VYQ0VQVF9SRUYnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfUEFUX0RBVEFfRVhDRVBUX1RFWFQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfUEFUX0xJU1RfQVRUUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9QQVRfTElTVF9FTEVNJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX1BBVF9MSVNUX0lOVEVSTEVBVkUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfUEFUX0xJU1RfTElTVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9QQVRfTElTVF9SRUYnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfUEFUX0xJU1RfVEVYVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9QQVRfTlNOQU1FX0VYQ0VQVF9BTllOQU1FJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX1BBVF9OU05BTUVfRVhDRVBUX05TTkFNRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9QQVRfT05FTU9SRV9HUk9VUF9BVFRSJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX1BBVF9PTkVNT1JFX0lOVEVSTEVBVkVfQVRUUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9QQVRfU1RBUlRfQVRUUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9QQVRfU1RBUlRfREFUQScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9QQVRfU1RBUlRfRU1QVFknLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfUEFUX1NUQVJUX0dST1VQJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX1BBVF9TVEFSVF9JTlRFUkxFQVZFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX1BBVF9TVEFSVF9MSVNUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX1BBVF9TVEFSVF9PTkVNT1JFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX1BBVF9TVEFSVF9URVhUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX1BBVF9TVEFSVF9WQUxVRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9QUkVGSVhfVU5ERUZJTkVEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX1JFRl9DUkVBVEVfRkFJTEVEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX1JFRl9DWUNMRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9SRUZfTkFNRV9JTlZBTElEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX1JFRl9OT1RfRU1QVFknLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfUkVGX05PX0RFRicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9SRUZfTk9fTkFNRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9TVEFSVF9DSE9JQ0VfQU5EX0lOVEVSTEVBVkUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfU1RBUlRfQ09OVEVOVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9TVEFSVF9FTVBUWScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9TVEFSVF9NSVNTSU5HJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX1RFWFRfRVhQRUNURUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfVEVYVF9IQVNfQ0hJTEQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfVFlQRV9NSVNTSU5HJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX1RZUEVfTk9UX0ZPVU5EJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX1RZUEVfVkFMVUUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfVU5LTk9XTl9BVFRSSUJVVEUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfVU5LTk9XTl9DT01CSU5FJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX1VOS05PV05fQ09OU1RSVUNUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX1VOS05PV05fVFlQRV9MSUInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfVVJJX0ZSQUdNRU5UJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX1VSSV9OT1RfQUJTT0xVVEUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfVkFMVUVfRU1QVFknLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JOR1BfVkFMVUVfTk9fQ09OVEVOVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUk5HUF9YTUxOU19OQU1FJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9STkdQX1hNTF9OUycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0FWRV9DSEFSX0lOVkFMSUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NBVkVfTk9UX1VURjgnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NBVkVfTk9fRE9DVFlQRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0FWRV9VTktOT1dOX0VOQ09ESU5HJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX0FHX1BST1BTX0NPUlJFQ1QnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfQVRUUkZPUk1ERUZBVUxUX1ZBTFVFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX0FUVFJHUlBfTk9OQU1FX05PUkVGJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX0FUVFJfTk9OQU1FX05PUkVGJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX0FVX1BST1BTX0NPUlJFQ1QnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfQVVfUFJPUFNfQ09SUkVDVF8yJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX0FfUFJPUFNfQ09SUkVDVF8yJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX0FfUFJPUFNfQ09SUkVDVF8zJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX0NPTVBMRVhUWVBFX05PTkFNRV9OT1JFRicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9DT1NfQUxMX0xJTUlURUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfQ09TX0NUX0VYVEVORFNfMV8xJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX0NPU19DVF9FWFRFTkRTXzFfMicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9DT1NfQ1RfRVhURU5EU18xXzMnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfQ09TX1NUX0RFUklWRURfT0tfMl8xJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX0NPU19TVF9ERVJJVkVEX09LXzJfMicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzFfMScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzFfMicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzFfM18xJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMV8zXzInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzEnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzNfMV8xJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMl8zXzFfMicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzJfM18yXzEnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzNfMl8yJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMl8zXzJfMycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzJfM18yXzQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzNfMl81Jy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfM18xJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfM18zXzEnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzNfMV8yJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfM18zXzJfMScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzNfM18yXzInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzNfMl8zJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfM18zXzJfNCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzNfM18yXzUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfQ09TX1ZBTElEX0RFRkFVTFRfMScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9DT1NfVkFMSURfREVGQVVMVF8yXzEnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfQ09TX1ZBTElEX0RFRkFVTFRfMl8yXzEnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfQ09TX1ZBTElEX0RFRkFVTFRfMl8yXzInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfQ1RfUFJPUFNfQ09SUkVDVF8xJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX0NUX1BST1BTX0NPUlJFQ1RfMicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9DVF9QUk9QU19DT1JSRUNUXzMnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfQ1RfUFJPUFNfQ09SUkVDVF80Jy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX0NUX1BST1BTX0NPUlJFQ1RfNScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9DVkNfU0lNUExFX1RZUEUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfQ19QUk9QU19DT1JSRUNUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX0RFRl9BTkRfUFJFRklYJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX0RFUklWQVRJT05fT0tfUkVTVFJJQ1RJT05fMScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzJfMV8xJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX0RFUklWQVRJT05fT0tfUkVTVFJJQ1RJT05fMl8xXzInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfREVSSVZBVElPTl9PS19SRVNUUklDVElPTl8yXzFfMycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzJfMicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzMnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfREVSSVZBVElPTl9PS19SRVNUUklDVElPTl80XzEnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfREVSSVZBVElPTl9PS19SRVNUUklDVElPTl80XzInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfREVSSVZBVElPTl9PS19SRVNUUklDVElPTl80XzMnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfRUxFTUZPUk1ERUZBVUxUX1ZBTFVFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX0VMRU1fREVGQVVMVF9GSVhFRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9FTEVNX05PTkFNRV9OT1JFRicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9FWFRFTlNJT05fTk9fQkFTRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9FX1BST1BTX0NPUlJFQ1RfMicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9FX1BST1BTX0NPUlJFQ1RfMycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9FX1BST1BTX0NPUlJFQ1RfNCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9FX1BST1BTX0NPUlJFQ1RfNScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9FX1BST1BTX0NPUlJFQ1RfNicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9GQUNFVF9OT19WQUxVRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9GQUlMRURfQlVJTERfSU1QT1JUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX0ZBSUxFRF9MT0FEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX0ZBSUxFRF9QQVJTRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9HUk9VUF9OT05BTUVfTk9SRUYnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfSU1QT1JUX05BTUVTUEFDRV9OT1RfVVJJJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX0lNUE9SVF9SRURFRklORV9OU05BTUUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfSU1QT1JUX1NDSEVNQV9OT1RfVVJJJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX0lOQ0xVREVfU0NIRU1BX05PVF9VUkknLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfSU5DTFVERV9TQ0hFTUFfTk9fVVJJJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX0lOVEVSTkFMJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX0lOVEVSU0VDVElPTl9OT1RfRVhQUkVTU0lCTEUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfSU5WQUxJRF9BVFRSX0NPTUJJTkFUSU9OJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX0lOVkFMSURfQVRUUl9JTkxJTkVfQ09NQklOQVRJT04nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfSU5WQUxJRF9BVFRSX05BTUUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfSU5WQUxJRF9BVFRSX1VTRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9JTlZBTElEX0JPT0xFQU4nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfSU5WQUxJRF9FTlVNJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX0lOVkFMSURfRkFDRVQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfSU5WQUxJRF9GQUNFVF9WQUxVRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9JTlZBTElEX01BWE9DQ1VSUycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9JTlZBTElEX01JTk9DQ1VSUycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9JTlZBTElEX1JFRl9BTkRfU1VCVFlQRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9JTlZBTElEX1dISVRFX1NQQUNFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX01HX1BST1BTX0NPUlJFQ1RfMScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9NR19QUk9QU19DT1JSRUNUXzInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfTUlTU0lOR19TSU1QTEVUWVBFX0NISUxEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX05PQVRUUl9OT1JFRicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9OT1JPT1QnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfTk9UQVRJT05fTk9fTkFNRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9OT1RISU5HX1RPX1BBUlNFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX05PVFlQRV9OT1JFRicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9OT1RfREVURVJNSU5JU1RJQycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9OT1RfU0NIRU1BJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX05PX1hNTE5TJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX05PX1hTSScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9QUkVGSVhfVU5ERUZJTkVEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1BfUFJPUFNfQ09SUkVDVF8xJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1BfUFJPUFNfQ09SUkVDVF8yXzEnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfUF9QUk9QU19DT1JSRUNUXzJfMicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9SRUNVUlNJVkUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfUkVERUZJTkVEX0FUVFInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfUkVERUZJTkVEX0FUVFJHUk9VUCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9SRURFRklORURfRUxFTUVOVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9SRURFRklORURfR1JPVVAnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfUkVERUZJTkVEX05PVEFUSU9OJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1JFREVGSU5FRF9UWVBFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1JFRl9BTkRfQ09OVEVOVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9SRUZfQU5EX1NVQlRZUEUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfUkVHRVhQX0lOVkFMSUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfUkVTVFJJQ1RJT05fTk9OQU1FX05PUkVGJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1M0U19BVFRSX0lOVkFMSURfVkFMVUUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfUzRTX0FUVFJfTUlTU0lORycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9TNFNfQVRUUl9OT1RfQUxMT1dFRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9TNFNfRUxFTV9NSVNTSU5HJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1M0U19FTEVNX05PVF9BTExPV0VEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1NJTVBMRVRZUEVfTk9OQU1FJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1NSQ19BVFRSSUJVVEVfMScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9TUkNfQVRUUklCVVRFXzInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfU1JDX0FUVFJJQlVURV8zXzEnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfU1JDX0FUVFJJQlVURV8zXzInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfU1JDX0FUVFJJQlVURV80Jy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1NSQ19BVFRSSUJVVEVfR1JPVVBfMScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9TUkNfQVRUUklCVVRFX0dST1VQXzInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfU1JDX0FUVFJJQlVURV9HUk9VUF8zJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1NSQ19DVF8xJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1NSQ19FTEVNRU5UXzEnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfU1JDX0VMRU1FTlRfMl8xJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1NSQ19FTEVNRU5UXzJfMicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9TUkNfRUxFTUVOVF8zJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1NSQ19JTVBPUlQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfU1JDX0lNUE9SVF8xXzEnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfU1JDX0lNUE9SVF8xXzInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfU1JDX0lNUE9SVF8yJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1NSQ19JTVBPUlRfMl8xJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1NSQ19JTVBPUlRfMl8yJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1NSQ19JTVBPUlRfM18xJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1NSQ19JTVBPUlRfM18yJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1NSQ19JTkNMVURFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1NSQ19MSVNUX0lURU1UWVBFX09SX1NJTVBMRVRZUEUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfU1JDX1JFREVGSU5FJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1NSQ19SRVNPTFZFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1NSQ19SRVNUUklDVElPTl9CQVNFX09SX1NJTVBMRVRZUEUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfU1JDX1NJTVBMRV9UWVBFXzEnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfU1JDX1NJTVBMRV9UWVBFXzInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfU1JDX1NJTVBMRV9UWVBFXzMnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfU1JDX1NJTVBMRV9UWVBFXzQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfU1JDX1VOSU9OX01FTUJFUlRZUEVTX09SX1NJTVBMRVRZUEVTJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1NUX1BST1BTX0NPUlJFQ1RfMScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9TVF9QUk9QU19DT1JSRUNUXzInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfU1RfUFJPUFNfQ09SUkVDVF8zJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1NVUEVSTlVNRVJPVVNfTElTVF9JVEVNX1RZUEUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfVFlQRV9BTkRfU1VCVFlQRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9VTklPTl9OT1RfRVhQUkVTU0lCTEUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfVU5LTk9XTl9BTExfQ0hJTEQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfVU5LTk9XTl9BTllBVFRSSUJVVEVfQ0hJTEQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfVU5LTk9XTl9BVFRSR1JQX0NISUxEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1VOS05PV05fQVRUUklCVVRFX0dST1VQJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1VOS05PV05fQVRUUl9DSElMRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9VTktOT1dOX0JBU0VfVFlQRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9VTktOT1dOX0NIT0lDRV9DSElMRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9VTktOT1dOX0NPTVBMRVhDT05URU5UX0NISUxEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1VOS05PV05fQ09NUExFWFRZUEVfQ0hJTEQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfVU5LTk9XTl9FTEVNX0NISUxEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1VOS05PV05fRVhURU5TSU9OX0NISUxEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1VOS05PV05fRkFDRVRfQ0hJTEQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfVU5LTk9XTl9GQUNFVF9UWVBFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1VOS05PV05fR1JPVVBfQ0hJTEQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfVU5LTk9XTl9JTVBPUlRfQ0hJTEQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfVU5LTk9XTl9JTkNMVURFX0NISUxEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1VOS05PV05fTElTVF9DSElMRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9VTktOT1dOX01FTUJFUl9UWVBFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1VOS05PV05fTk9UQVRJT05fQ0hJTEQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfVU5LTk9XTl9QUkVGSVgnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfVU5LTk9XTl9QUk9DRVNTQ09OVEVOVF9DSElMRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9VTktOT1dOX1JFRicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9VTktOT1dOX1JFU1RSSUNUSU9OX0NISUxEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1VOS05PV05fU0NIRU1BU19DSElMRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9VTktOT1dOX1NFUVVFTkNFX0NISUxEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1VOS05PV05fU0lNUExFQ09OVEVOVF9DSElMRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9VTktOT1dOX1NJTVBMRVRZUEVfQ0hJTEQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfVU5LTk9XTl9UWVBFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1VOS05PV05fVU5JT05fQ0hJTEQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVBfV0FSTl9BVFRSX1BPSU5UTEVTU19QUk9IJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1dBUk5fQVRUUl9SRURFQ0xfUFJPSCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9XQVJOX1NLSVBfU0NIRU1BJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFQX1dBUk5fVU5MT0NBVEVEX1NDSEVNQScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BUF9XSUxEQ0FSRF9JTlZBTElEX05TX01FTUJFUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BVFJPTlZfQVNTRVJUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFUUk9OVl9SRVBPUlQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVZfQVRUUklOVkFMSUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVZfQVRUUlVOS05PV04nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVZfQ09OU1RSVUNUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19BVFRSSUJVVEVfMScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BVl9DVkNfQVRUUklCVVRFXzInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX0FUVFJJQlVURV8zJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19BVFRSSUJVVEVfNCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BVl9DVkNfQVUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV8xJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfMl8xJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfMl8yJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfMl8zJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfMl80Jy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfM18xJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfM18yXzEnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV8zXzJfMicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV81XzEnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV81XzInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX0RBVEFUWVBFX1ZBTElEXzFfMl8xJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19EQVRBVFlQRV9WQUxJRF8xXzJfMicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BVl9DVkNfREFUQVRZUEVfVkFMSURfMV8yXzMnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX0VMVF8xJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19FTFRfMicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BVl9DVkNfRUxUXzNfMScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BVl9DVkNfRUxUXzNfMl8xJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19FTFRfM18yXzInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX0VMVF80XzEnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX0VMVF80XzInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX0VMVF80XzMnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX0VMVF81XzFfMScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BVl9DVkNfRUxUXzVfMV8yJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19FTFRfNV8yXzEnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX0VMVF81XzJfMl8xJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19FTFRfNV8yXzJfMl8xJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19FTFRfNV8yXzJfMl8yJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19FTFRfNicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BVl9DVkNfRUxUXzcnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX0VOVU1FUkFUSU9OX1ZBTElEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19GQUNFVF9WQUxJRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BVl9DVkNfRlJBQ1RJT05ESUdJVFNfVkFMSUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX0lEQycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BVl9DVkNfTEVOR1RIX1ZBTElEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19NQVhFWENMVVNJVkVfVkFMSUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX01BWElOQ0xVU0lWRV9WQUxJRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BVl9DVkNfTUFYTEVOR1RIX1ZBTElEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19NSU5FWENMVVNJVkVfVkFMSUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX01JTklOQ0xVU0lWRV9WQUxJRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BVl9DVkNfTUlOTEVOR1RIX1ZBTElEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19QQVRURVJOX1ZBTElEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19UT1RBTERJR0lUU19WQUxJRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BVl9DVkNfVFlQRV8xJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFWX0NWQ19UWVBFXzInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX1RZUEVfM18xXzEnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX1RZUEVfM18xXzInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVZfQ1ZDX1dJTERDQVJEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFWX0RPQ1VNRU5UX0VMRU1FTlRfTUlTU0lORycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BVl9FTEVNQ09OVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BVl9FTEVNRU5UX0NPTlRFTlQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVZfRVhUUkFDT05URU5UJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFWX0ZBQ0VUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFWX0hBVkVERUZBVUxUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFWX0lOVEVSTkFMJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFWX0lOVkFMSURBVFRSJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFWX0lOVkFMSURFTEVNJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFWX0lTQUJTVFJBQ1QnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVZfTUlTQycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BVl9NSVNTSU5HJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFWX05PUk9MTEJBQ0snLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVZfTk9ST09UJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFWX05PVERFVEVSTUlOSVNUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFWX05PVEVNUFRZJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFWX05PVE5JTExBQkxFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFWX05PVFNJTVBMRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BVl9OT1RUT1BMRVZFTCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BVl9OT1RZUEUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVZfVU5ERUNMQVJFREVMRU0nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVZfVkFMVUUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVZfV1JPTkdFTEVNJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9UUkVFX0lOVkFMSURfREVDJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9UUkVFX0lOVkFMSURfSEVYJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9UUkVFX05PVF9VVEY4Jy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9UUkVFX1VOVEVSTUlOQVRFRF9FTlRJVFknLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1dBUl9DQVRBTE9HX1BJJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9XQVJfRU5USVRZX1JFREVGSU5FRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfV0FSX0xBTkdfVkFMVUUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1dBUl9OU19DT0xVTU4nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1dBUl9OU19VUkknLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1dBUl9OU19VUklfUkVMQVRJVkUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1dBUl9TUEFDRV9WQUxVRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfV0FSX1VOREVDTEFSRURfRU5USVRZJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9XQVJfVU5LTk9XTl9WRVJTSU9OJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9YSU5DTFVERV9CVUlMRF9GQUlMRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1hJTkNMVURFX0RFUFJFQ0FURURfTlMnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1hJTkNMVURFX0VOVElUWV9ERUZfTUlTTUFUQ0gnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1hJTkNMVURFX0ZBTExCQUNLU19JTl9JTkNMVURFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9YSU5DTFVERV9GQUxMQkFDS19OT1RfSU5fSU5DTFVERScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfWElOQ0xVREVfRlJBR01FTlRfSUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1hJTkNMVURFX0hSRUZfVVJJJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9YSU5DTFVERV9JTkNMVURFX0lOX0lOQ0xVREUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1hJTkNMVURFX0lOVkFMSURfQ0hBUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfWElOQ0xVREVfTVVMVElQTEVfUk9PVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfWElOQ0xVREVfTk9fRkFMTEJBQ0snLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1hJTkNMVURFX05PX0hSRUYnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1hJTkNMVURFX1BBUlNFX1ZBTFVFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9YSU5DTFVERV9SRUNVUlNJT04nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1hJTkNMVURFX1RFWFRfRE9DVU1FTlQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1hJTkNMVURFX1RFWFRfRlJBR01FTlQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1hJTkNMVURFX1VOS05PV05fRU5DT0RJTkcnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1hJTkNMVURFX1hQVFJfRkFJTEVEJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9YSU5DTFVERV9YUFRSX1JFU1VMVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfWFBBVEhfRU5DT0RJTkdfRVJST1InLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1hQQVRIX0VYUFJFU1NJT05fT0snLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1hQQVRIX0VYUFJfRVJST1InLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1hQQVRIX0lOVkFMSURfQVJJVFknLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1hQQVRIX0lOVkFMSURfQ0hBUl9FUlJPUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfWFBBVEhfSU5WQUxJRF9DVFhUX1BPU0lUSU9OJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9YUEFUSF9JTlZBTElEX0NUWFRfU0laRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfWFBBVEhfSU5WQUxJRF9PUEVSQU5EJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9YUEFUSF9JTlZBTElEX1BSRURJQ0FURV9FUlJPUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfWFBBVEhfSU5WQUxJRF9UWVBFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9YUEFUSF9NRU1PUllfRVJST1InLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1hQQVRIX05VTUJFUl9FUlJPUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfWFBBVEhfU1RBUlRfTElURVJBTF9FUlJPUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfWFBBVEhfVU5DTE9TRURfRVJST1InLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1hQQVRIX1VOREVGX1BSRUZJWF9FUlJPUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfWFBBVEhfVU5ERUZfVkFSSUFCTEVfRVJST1InLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1hQQVRIX1VORklOSVNIRURfTElURVJBTF9FUlJPUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfWFBBVEhfVU5LTk9XTl9GVU5DX0VSUk9SJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9YUEFUSF9WQVJJQUJMRV9SRUZfRVJST1InLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1hQVFJfQ0hJTERTRVFfU1RBUlQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1hQVFJfRVZBTF9GQUlMRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1hQVFJfRVhUUkFfT0JKRUNUUycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfWFBUUl9SRVNPVVJDRV9FUlJPUicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfWFBUUl9TVUJfUkVTT1VSQ0VfRVJST1InLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1hQVFJfU1lOVEFYX0VSUk9SJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9YUFRSX1VOS05PV05fU0NIRU1FJy8+CisgICAgICA8cmVmIG5hbWU9J194bWxFcnJvcicvPgorICAgICAgPHJlZiBuYW1lPSdpbml0R2VuZXJpY0Vycm9yRGVmYXVsdEZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ29weUVycm9yJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEN0eHRHZXRMYXN0RXJyb3InLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ3R4dFJlc2V0TGFzdEVycm9yJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEVycm9yJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEVycm9yRG9tYWluJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEVycm9yTGV2ZWwnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRXJyb3JQdHInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sR2VuZXJpY0Vycm9yRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxHZXRMYXN0RXJyb3InLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VyRXJyb3InLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VyRXJyb3JzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlclByaW50RmlsZUNvbnRleHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VyUHJpbnRGaWxlSW5mbycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJWYWxpZGl0eUVycm9yJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlclZhbGlkaXR5V2FybmluZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJXYXJuaW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlc2V0RXJyb3InLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVzZXRMYXN0RXJyb3InLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2V0R2VuZXJpY0Vycm9yRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTZXRTdHJ1Y3R1cmVkRXJyb3JGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFN0cnVjdHVyZWRFcnJvckZ1bmMnLz4KKyAgICA8L2ZpbGU+CisgICAgPGZpbGUgbmFtZT0neG1sZXhwb3J0cyc+CisgICAgICA8cmVmIG5hbWU9J0xJQlhNTF9ETExfSU1QT1JUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTENBTEwnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MQ0RFQ0wnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MUFVCRlVOJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTFBVQlZBUicvPgorICAgICAgPHJlZiBuYW1lPSdfUkVFTlRSQU5UJy8+CisgICAgPC9maWxlPgorICAgIDxmaWxlIG5hbWU9J3htbG1lbW9yeSc+CisgICAgICA8cmVmIG5hbWU9J0RFQlVHX01FTU9SWScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDbGVhbnVwTWVtb3J5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEZyZWVGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEdjTWVtR2V0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEdjTWVtU2V0dXAnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sSW5pdE1lbW9yeScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxNYWxsb2MnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTWFsbG9jQXRvbWljJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE1hbGxvY0F0b21pY0xvYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxNYWxsb2NGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE1hbGxvY0xvYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxNZW1CbG9ja3MnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTWVtRGlzcGxheScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxNZW1EaXNwbGF5TGFzdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxNZW1GcmVlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE1lbUdldCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxNZW1NYWxsb2MnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTWVtUmVhbGxvYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxNZW1TZXR1cCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxNZW1TaG93Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbE1lbVN0cmR1cCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxNZW1TdHJkdXBMb2MnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTWVtVXNlZCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxNZW1vcnlEdW1wJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE1lbW9yeVN0cmR1cCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWFsbG9jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlYWxsb2NGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlYWxsb2NMb2MnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU3RyZHVwRnVuYycvPgorICAgIDwvZmlsZT4KKyAgICA8ZmlsZSBuYW1lPSd4bWxtb2R1bGUnPgorICAgICAgPHJlZiBuYW1lPSdYTUxfTU9EVUxFX0xBWlknLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX01PRFVMRV9MT0NBTCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxNb2R1bGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTW9kdWxlQ2xvc2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTW9kdWxlRnJlZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxNb2R1bGVPcGVuJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE1vZHVsZU9wdGlvbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxNb2R1bGVQdHInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTW9kdWxlU3ltYm9sJy8+CisgICAgPC9maWxlPgorICAgIDxmaWxlIG5hbWU9J3htbHJlYWRlcic+CisgICAgICA8cmVmIG5hbWU9J1hNTF9QQVJTRVJfREVGQVVMVEFUVFJTJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9QQVJTRVJfTE9BRERURCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUEFSU0VSX1NFVkVSSVRZX0VSUk9SJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9QQVJTRVJfU0VWRVJJVFlfVkFMSURJVFlfRVJST1InLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1BBUlNFUl9TRVZFUklUWV9WQUxJRElUWV9XQVJOSU5HJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9QQVJTRVJfU0VWRVJJVFlfV0FSTklORycvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUEFSU0VSX1NVQlNUX0VOVElUSUVTJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9QQVJTRVJfVkFMSURBVEUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JFQURFUl9UWVBFX0FUVFJJQlVURScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUkVBREVSX1RZUEVfQ0RBVEEnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JFQURFUl9UWVBFX0NPTU1FTlQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JFQURFUl9UWVBFX0RPQ1VNRU5UJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9SRUFERVJfVFlQRV9ET0NVTUVOVF9GUkFHTUVOVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUkVBREVSX1RZUEVfRE9DVU1FTlRfVFlQRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUkVBREVSX1RZUEVfRUxFTUVOVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUkVBREVSX1RZUEVfRU5EX0VMRU1FTlQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JFQURFUl9UWVBFX0VORF9FTlRJVFknLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JFQURFUl9UWVBFX0VOVElUWScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUkVBREVSX1RZUEVfRU5USVRZX1JFRkVSRU5DRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUkVBREVSX1RZUEVfTk9ORScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfUkVBREVSX1RZUEVfTk9UQVRJT04nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JFQURFUl9UWVBFX1BST0NFU1NJTkdfSU5TVFJVQ1RJT04nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JFQURFUl9UWVBFX1NJR05JRklDQU5UX1dISVRFU1BBQ0UnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JFQURFUl9UWVBFX1RFWFQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JFQURFUl9UWVBFX1dISVRFU1BBQ0UnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1JFQURFUl9UWVBFX1hNTF9ERUNMQVJBVElPTicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfVEVYVFJFQURFUl9NT0RFX0NMT1NFRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfVEVYVFJFQURFUl9NT0RFX0VPRicvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfVEVYVFJFQURFUl9NT0RFX0VSUk9SJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9URVhUUkVBREVSX01PREVfSU5JVElBTCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfVEVYVFJFQURFUl9NT0RFX0lOVEVSQUNUSVZFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9URVhUUkVBREVSX01PREVfUkVBRElORycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxGcmVlVGV4dFJlYWRlcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdUZXh0UmVhZGVyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld1RleHRSZWFkZXJGaWxlbmFtZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJQcm9wZXJ0aWVzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlclNldmVyaXRpZXMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVhZGVyRm9yRG9jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlYWRlckZvckZkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlYWRlckZvckZpbGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVhZGVyRm9ySU8nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVhZGVyRm9yTWVtb3J5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlYWRlck5ld0RvYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWFkZXJOZXdGZCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWFkZXJOZXdGaWxlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlYWRlck5ld0lPJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlYWRlck5ld01lbW9yeScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWFkZXJOZXdXYWxrZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVhZGVyVHlwZXMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVhZGVyV2Fsa2VyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckF0dHJpYnV0ZUNvdW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJCYXNlVXJpJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJCeXRlQ29uc3VtZWQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckNsb3NlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJDb25zdEJhc2VVcmknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckNvbnN0RW5jb2RpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckNvbnN0TG9jYWxOYW1lJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJDb25zdE5hbWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckNvbnN0TmFtZXNwYWNlVXJpJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJDb25zdFByZWZpeCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyQ29uc3RTdHJpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckNvbnN0VmFsdWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckNvbnN0WG1sTGFuZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyQ29uc3RYbWxWZXJzaW9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJDdXJyZW50RG9jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJDdXJyZW50Tm9kZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyRGVwdGgnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckVycm9yRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyRXhwYW5kJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJHZXRBdHRyaWJ1dGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZU5vJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJHZXRBdHRyaWJ1dGVOcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyR2V0RXJyb3JIYW5kbGVyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJHZXRQYXJzZXJDb2x1bW5OdW1iZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckdldFBhcnNlckxpbmVOdW1iZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckdldFBhcnNlclByb3AnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckdldFJlbWFpbmRlcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVySGFzQXR0cmlidXRlcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVySGFzVmFsdWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlcklzRGVmYXVsdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVySXNFbXB0eUVsZW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlcklzTmFtZXNwYWNlRGVjbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVySXNWYWxpZCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyTG9jYWxOYW1lJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJMb2NhdG9yQmFzZVVSSScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyTG9jYXRvckxpbmVOdW1iZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckxvY2F0b3JQdHInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckxvb2t1cE5hbWVzcGFjZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyTW9kZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyTW92ZVRvQXR0cmlidXRlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJNb3ZlVG9BdHRyaWJ1dGVObycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyTW92ZVRvQXR0cmlidXRlTnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlck1vdmVUb0VsZW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlck1vdmVUb0ZpcnN0QXR0cmlidXRlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJNb3ZlVG9OZXh0QXR0cmlidXRlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJOYW1lJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJOYW1lc3BhY2VVcmknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlck5leHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlck5leHRTaWJsaW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJOb2RlVHlwZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyTm9ybWFsaXphdGlvbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyUHJlZml4Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJQcmVzZXJ2ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyUHJlc2VydmVQYXR0ZXJuJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJQdHInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclF1b3RlQ2hhcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyUmVhZCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyUmVhZEF0dHJpYnV0ZVZhbHVlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJSZWFkSW5uZXJYbWwnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclJlYWRPdXRlclhtbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyUmVhZFN0YXRlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJSZWFkU3RyaW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJSZWxheE5HU2V0U2NoZW1hJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJSZWxheE5HVmFsaWRhdGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZUN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZUN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclNldEVycm9ySGFuZGxlcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyU2V0UGFyc2VyUHJvcCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyU2V0U2NoZW1hJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJTZXRTdHJ1Y3R1cmVkRXJyb3JIYW5kbGVyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJTZXR1cCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyU3RhbmRhbG9uZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyVmFsdWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclhtbExhbmcnLz4KKyAgICA8L2ZpbGU+CisgICAgPGZpbGUgbmFtZT0neG1scmVnZXhwJz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VYUF9BVE9NJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FWFBfQ09VTlQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX0VYUF9FTVBUWScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVhQX0ZPUkJJRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfRVhQX09SJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9FWFBfU0VRJy8+CisgICAgICA8cmVmIG5hbWU9J2VtcHR5RXhwJy8+CisgICAgICA8cmVmIG5hbWU9J2ZvcmJpZGRlbkV4cCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxFeHBDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEV4cEN0eHROYkNvbnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRXhwQ3R4dE5iTm9kZXMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRXhwQ3R4dFB0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxFeHBEdW1wJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEV4cEV4cERlcml2ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxFeHBGcmVlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEV4cEZyZWVDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEV4cEdldExhbmd1YWdlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEV4cEdldFN0YXJ0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEV4cElzTmlsbGFibGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRXhwTWF4VG9rZW4nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRXhwTmV3QXRvbScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxFeHBOZXdDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbEV4cE5ld09yJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEV4cE5ld1JhbmdlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEV4cE5ld1NlcScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxFeHBOb2RlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEV4cE5vZGVQdHInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRXhwTm9kZVR5cGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRXhwUGFyc2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRXhwUmVmJy8+CisgICAgICA8cmVmIG5hbWU9J3htbEV4cFN0cmluZ0Rlcml2ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxFeHBTdWJzdW1lJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlZ0V4ZWNDYWxsYmFja3MnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVnRXhlY0N0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVnRXhlY0N0eHRQdHInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVnRXhlY0VyckluZm8nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVnRXhlY05leHRWYWx1ZXMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVnRXhlY1B1c2hTdHJpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVnRXhlY1B1c2hTdHJpbmcyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlZ0ZyZWVFeGVjQ3R4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWdGcmVlUmVnZXhwJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlZ05ld0V4ZWNDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlZ2V4cCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWdleHBDb21waWxlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFJlZ2V4cEV4ZWMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sUmVnZXhwSXNEZXRlcm1pbmlzdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWdleHBQcmludCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxSZWdleHBQdHInLz4KKyAgICA8L2ZpbGU+CisgICAgPGZpbGUgbmFtZT0neG1sc2F2ZSc+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQVZFX0FTX0hUTUwnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NBVkVfQVNfWE1MJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQVZFX0ZPUk1BVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0FWRV9OT19ERUNMJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQVZFX05PX0VNUFRZJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQVZFX05PX1hIVE1MJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQVZFX1dTTk9OU0lHJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQVZFX1hIVE1MJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNhdmVDbG9zZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTYXZlQ3R4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTYXZlQ3R4dFB0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTYXZlRG9jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNhdmVGbHVzaCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTYXZlT3B0aW9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNhdmVTZXRBdHRyRXNjYXBlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNhdmVTZXRFc2NhcGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2F2ZVRvQnVmZmVyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNhdmVUb0ZkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNhdmVUb0ZpbGVuYW1lJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNhdmVUb0lPJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNhdmVUcmVlJy8+CisgICAgPC9maWxlPgorICAgIDxmaWxlIG5hbWU9J3htbHNjaGVtYXMnPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19FUlJfJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0VSUl9BVFRSSU5WQUxJRCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19FUlJfQVRUUlVOS05PV04nLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfRVJSX0NPTlNUUlVDVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19FUlJfRUxFTUNPTlQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfRVJSX0VYVFJBQ09OVEVOVCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19FUlJfRkFDRVQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfRVJSX0hBVkVERUZBVUxUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0VSUl9JTlRFUk5BTCcvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19FUlJfSU5WQUxJREFUVFInLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfRVJSX0lOVkFMSURFTEVNJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0VSUl9JU0FCU1RSQUNUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0VSUl9NSVNTSU5HJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0VSUl9OT1JPTExCQUNLJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0VSUl9OT1JPT1QnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfRVJSX05PVERFVEVSTUlOSVNUJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0VSUl9OT1RFTVBUWScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19FUlJfTk9UTklMTEFCTEUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfRVJSX05PVFNJTVBMRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19FUlJfTk9UVE9QTEVWRUwnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfRVJSX05PVFlQRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19FUlJfT0snLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfRVJSX1VOREVDTEFSRURFTEVNJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0VSUl9WQUxVRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19FUlJfV1JPTkdFTEVNJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0VSUl9YWFgnLz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQV9WQUxfVkNfSV9DUkVBVEUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUR1bXAnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hRnJlZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFGcmVlUGFyc2VyQ3R4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFGcmVlVmFsaWRDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUdldFBhcnNlckVycm9ycycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFHZXRWYWxpZEVycm9ycycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFJc1ZhbGlkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYU5ld0RvY1BhcnNlckN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hTmV3TWVtUGFyc2VyQ3R4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFOZXdQYXJzZXJDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYU5ld1ZhbGlkQ3R4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFQYXJzZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFQYXJzZXJDdHh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVBhcnNlckN0eHRQdHInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hUHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVNBWFBsdWcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hU0FYUGx1Z1B0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFTQVhQbHVnU3RydWN0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVNBWFVucGx1ZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFTZXRQYXJzZXJFcnJvcnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hU2V0UGFyc2VyU3RydWN0dXJlZEVycm9ycycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFTZXRWYWxpZEVycm9ycycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFTZXRWYWxpZE9wdGlvbnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbGlkQ3R4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZEN0eHRHZXRPcHRpb25zJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbGlkQ3R4dEdldFBhcnNlckN0eHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRDdHh0UHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbGlkRXJyb3InLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRPcHRpb24nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRhdGVEb2MnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRhdGVGaWxlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbGlkYXRlT25lRWxlbWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZVNldEZpbGVuYW1lJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbGlkYXRlU2V0TG9jYXRvcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZVN0cmVhbScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGl0eUVycm9yRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGl0eUxvY2F0b3JGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbGlkaXR5V2FybmluZ0Z1bmMnLz4KKyAgICA8L2ZpbGU+CisgICAgPGZpbGUgbmFtZT0neG1sc2NoZW1hc3R5cGVzJz4KKyAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQV9XSElURVNQQUNFX0NPTExBUFNFJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFfV0hJVEVTUEFDRV9QUkVTRVJWRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BX1dISVRFU1BBQ0VfUkVQTEFDRScvPgorICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BX1dISVRFU1BBQ0VfVU5LTk9XTicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFDaGVja0ZhY2V0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUNsZWFudXBUeXBlcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFDb2xsYXBzZVN0cmluZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFDb21wYXJlVmFsdWVzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUNvbXBhcmVWYWx1ZXNXaHRzcCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFDb3B5VmFsdWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hRnJlZUZhY2V0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUZyZWVWYWx1ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFHZXRCdWlsdEluTGlzdFNpbXBsZVR5cGVJdGVtVHlwZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFHZXRCdWlsdEluVHlwZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFHZXRDYW5vblZhbHVlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUdldENhbm9uVmFsdWVXaHRzcCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFHZXRGYWNldFZhbHVlQXNVTG9uZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFHZXRQcmVkZWZpbmVkVHlwZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFHZXRWYWxUeXBlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUluaXRUeXBlcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFJc0J1aWx0SW5UeXBlRmFjZXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hTmV3RmFjZXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hTmV3Tk9UQVRJT05WYWx1ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFOZXdRTmFtZVZhbHVlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYU5ld1N0cmluZ1ZhbHVlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbFByZWRlZlR5cGVOb2RlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbFByZWRlZlR5cGVOb2RlTm9Ob3JtJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbGlkYXRlRmFjZXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRhdGVGYWNldFdodHNwJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldFdodHNwJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbGlkYXRlTGlzdFNpbXBsZVR5cGVGYWNldCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZVByZWRlZmluZWRUeXBlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbHVlQXBwZW5kJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbHVlR2V0QXNCb29sZWFuJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbHVlR2V0QXNTdHJpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsdWVHZXROZXh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVdoaXRlU3BhY2VSZXBsYWNlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVdoaXRlc3BhY2VWYWx1ZVR5cGUnLz4KKyAgICA8L2ZpbGU+CisgICAgPGZpbGUgbmFtZT0neG1sc3RyaW5nJz4KKyAgICAgIDxyZWYgbmFtZT0nQkFEX0NBU1QnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sQ2hhcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDaGFyU3RyZHVwJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENoYXJTdHJuZHVwJy8+CisgICAgICA8cmVmIG5hbWU9J3htbENoZWNrVVRGOCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxHZXRVVEY4Q2hhcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTdHJFcXVhbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTdHJQcmludGYnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU3RyUUVxdWFsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFN0clZQcmludGYnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU3RyY2FzZWNtcCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTdHJjYXNlc3RyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFN0cmNhdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTdHJjaHInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU3RyY21wJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFN0cmR1cCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTdHJsZW4nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU3RybmNhc2VjbXAnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU3RybmNhdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTdHJuY2F0TmV3Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFN0cm5jbXAnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU3RybmR1cCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxTdHJzdHInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sU3Ryc3ViJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVURjhDaGFyY21wJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVURjhTaXplJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVURjhTdHJsZW4nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVVRGOFN0cmxvYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVVEY4U3RybmR1cCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVVEY4U3RycG9zJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVURjhTdHJzaXplJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVURjhTdHJzdWInLz4KKyAgICA8L2ZpbGU+CisgICAgPGZpbGUgbmFtZT0neG1sdW5pY29kZSc+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzQWVnZWFuTnVtYmVycycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0FscGhhYmV0aWNQcmVzZW50YXRpb25Gb3JtcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0FyYWJpYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0FyYWJpY1ByZXNlbnRhdGlvbkZvcm1zQScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0FyYWJpY1ByZXNlbnRhdGlvbkZvcm1zQicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0FybWVuaWFuJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzQXJyb3dzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzQmFzaWNMYXRpbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0JlbmdhbGknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNCbG9jaycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0Jsb2NrRWxlbWVudHMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNCb3BvbW9mbycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0JvcG9tb2ZvRXh0ZW5kZWQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNCb3hEcmF3aW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzQnJhaWxsZVBhdHRlcm5zJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzQnVoaWQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNCeXphbnRpbmVNdXNpY2FsU3ltYm9scycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNDSktDb21wYXRpYmlsaXR5Rm9ybXMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNDSktDb21wYXRpYmlsaXR5SWRlb2dyYXBocycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHlJZGVvZ3JhcGhzU3VwcGxlbWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0NKS1JhZGljYWxzU3VwcGxlbWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0NKS1N5bWJvbHNhbmRQdW5jdHVhdGlvbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0NKS1VuaWZpZWRJZGVvZ3JhcGhzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzQ0pLVW5pZmllZElkZW9ncmFwaHNFeHRlbnNpb25BJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzQ0pLVW5pZmllZElkZW9ncmFwaHNFeHRlbnNpb25CJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzQ2F0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzQ2F0QycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0NhdENjJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzQ2F0Q2YnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNDYXRDbycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0NhdENzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzQ2F0TCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0NhdExsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzQ2F0TG0nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNDYXRMbycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0NhdEx0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzQ2F0THUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNDYXRNJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzQ2F0TWMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNDYXRNZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0NhdE1uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzQ2F0TicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0NhdE5kJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzQ2F0TmwnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNDYXRObycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0NhdFAnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNDYXRQYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0NhdFBkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzQ2F0UGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNDYXRQZicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0NhdFBpJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzQ2F0UG8nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNDYXRQcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0NhdFMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNDYXRTYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0NhdFNrJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzQ2F0U20nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNDYXRTbycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0NhdFonLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNDYXRabCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0NhdFpwJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzQ2F0WnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNDaGVyb2tlZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0NvbWJpbmluZ0RpYWNyaXRpY2FsTWFya3MnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNDb21iaW5pbmdEaWFjcml0aWNhbE1hcmtzZm9yU3ltYm9scycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0NvbWJpbmluZ0hhbGZNYXJrcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0NvbWJpbmluZ01hcmtzZm9yU3ltYm9scycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0NvbnRyb2xQaWN0dXJlcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0N1cnJlbmN5U3ltYm9scycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0N5cHJpb3RTeWxsYWJhcnknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNDeXJpbGxpYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0N5cmlsbGljU3VwcGxlbWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0Rlc2VyZXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNEZXZhbmFnYXJpJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzRGluZ2JhdHMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNFbmNsb3NlZEFscGhhbnVtZXJpY3MnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNFbmNsb3NlZENKS0xldHRlcnNhbmRNb250aHMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNFdGhpb3BpYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0dlbmVyYWxQdW5jdHVhdGlvbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0dlb21ldHJpY1NoYXBlcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0dlb3JnaWFuJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzR290aGljJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzR3JlZWsnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNHcmVla0V4dGVuZGVkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzR3JlZWthbmRDb3B0aWMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNHdWphcmF0aScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0d1cm11a2hpJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzSGFsZndpZHRoYW5kRnVsbHdpZHRoRm9ybXMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNIYW5ndWxDb21wYXRpYmlsaXR5SmFtbycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0hhbmd1bEphbW8nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNIYW5ndWxTeWxsYWJsZXMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNIYW51bm9vJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzSGVicmV3Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzSGlnaFByaXZhdGVVc2VTdXJyb2dhdGVzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzSGlnaFN1cnJvZ2F0ZXMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNIaXJhZ2FuYScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0lQQUV4dGVuc2lvbnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNJZGVvZ3JhcGhpY0Rlc2NyaXB0aW9uQ2hhcmFjdGVycycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0thbmJ1bicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0thbmd4aVJhZGljYWxzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzS2FubmFkYScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0thdGFrYW5hJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzS2F0YWthbmFQaG9uZXRpY0V4dGVuc2lvbnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNLaG1lcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0tobWVyU3ltYm9scycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0xhbycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0xhdGluMVN1cHBsZW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNMYXRpbkV4dGVuZGVkQScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0xhdGluRXh0ZW5kZWRBZGRpdGlvbmFsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzTGF0aW5FeHRlbmRlZEInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNMZXR0ZXJsaWtlU3ltYm9scycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0xpbWJ1Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzTGluZWFyQklkZW9ncmFtcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0xpbmVhckJTeWxsYWJhcnknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNMb3dTdXJyb2dhdGVzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzTWFsYXlhbGFtJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzTWF0aGVtYXRpY2FsQWxwaGFudW1lcmljU3ltYm9scycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc01hdGhlbWF0aWNhbE9wZXJhdG9ycycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc01pc2NlbGxhbmVvdXNNYXRoZW1hdGljYWxTeW1ib2xzQScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc01pc2NlbGxhbmVvdXNNYXRoZW1hdGljYWxTeW1ib2xzQicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc01pc2NlbGxhbmVvdXNTeW1ib2xzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzTWlzY2VsbGFuZW91c1N5bWJvbHNhbmRBcnJvd3MnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNNaXNjZWxsYW5lb3VzVGVjaG5pY2FsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzTW9uZ29saWFuJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzTXVzaWNhbFN5bWJvbHMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNNeWFubWFyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzTnVtYmVyRm9ybXMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNPZ2hhbScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc09sZEl0YWxpYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc09wdGljYWxDaGFyYWN0ZXJSZWNvZ25pdGlvbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc09yaXlhJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzT3NtYW55YScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc1Bob25ldGljRXh0ZW5zaW9ucycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc1ByaXZhdGVVc2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNQcml2YXRlVXNlQXJlYScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc1J1bmljJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzU2hhdmlhbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc1NpbmhhbGEnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNTbWFsbEZvcm1WYXJpYW50cycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc1NwYWNpbmdNb2RpZmllckxldHRlcnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNTcGVjaWFscycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc1N1cGVyc2NyaXB0c2FuZFN1YnNjcmlwdHMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNTdXBwbGVtZW50YWxBcnJvd3NBJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzU3VwcGxlbWVudGFsQXJyb3dzQicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc1N1cHBsZW1lbnRhbE1hdGhlbWF0aWNhbE9wZXJhdG9ycycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc1N1cHBsZW1lbnRhcnlQcml2YXRlVXNlQXJlYUEnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNTdXBwbGVtZW50YXJ5UHJpdmF0ZVVzZUFyZWFCJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzU3lyaWFjJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzVGFnYWxvZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc1RhZ2JhbndhJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzVGFncycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc1RhaUxlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzVGFpWHVhbkppbmdTeW1ib2xzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzVGFtaWwnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNUZWx1Z3UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNUaGFhbmEnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNUaGFpJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzVGliZXRhbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc1VnYXJpdGljJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzVW5pZmllZENhbmFkaWFuQWJvcmlnaW5hbFN5bGxhYmljcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc1ZhcmlhdGlvblNlbGVjdG9ycycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc1ZhcmlhdGlvblNlbGVjdG9yc1N1cHBsZW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNZaVJhZGljYWxzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzWWlTeWxsYWJsZXMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNZaWppbmdIZXhhZ3JhbVN5bWJvbHMnLz4KKyAgICA8L2ZpbGU+CisgICAgPGZpbGUgbmFtZT0neG1sdmVyc2lvbic+CisgICAgICA8cmVmIG5hbWU9J0FUVFJJQlVURV9VTlVTRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nREVCVUdfTUVNT1JZX0xPQ0FUSU9OJy8+CisgICAgICA8cmVmIG5hbWU9J0xJQlhNTF9BVFRSX0FMTE9DX1NJWkUnLz4KKyAgICAgIDxyZWYgbmFtZT0nTElCWE1MX0FUVFJfRk9STUFUJy8+CisgICAgICA8cmVmIG5hbWU9J0xJQlhNTF9BVVRPTUFUQV9FTkFCTEVEJy8+CisgICAgICA8cmVmIG5hbWU9J0xJQlhNTF9DMTROX0VOQUJMRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nTElCWE1MX0NBVEFMT0dfRU5BQkxFRCcvPgorICAgICAgPHJlZiBuYW1lPSdMSUJYTUxfREVCVUdfRU5BQkxFRCcvPgorICAgICAgPHJlZiBuYW1lPSdMSUJYTUxfREVCVUdfUlVOVElNRScvPgorICAgICAgPHJlZiBuYW1lPSdMSUJYTUxfRE9DQl9FTkFCTEVEJy8+CisgICAgICA8cmVmIG5hbWU9J0xJQlhNTF9ET1RURURfVkVSU0lPTicvPgorICAgICAgPHJlZiBuYW1lPSdMSUJYTUxfRVhQUl9FTkFCTEVEJy8+CisgICAgICA8cmVmIG5hbWU9J0xJQlhNTF9GVFBfRU5BQkxFRCcvPgorICAgICAgPHJlZiBuYW1lPSdMSUJYTUxfSFRNTF9FTkFCTEVEJy8+CisgICAgICA8cmVmIG5hbWU9J0xJQlhNTF9IVFRQX0VOQUJMRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nTElCWE1MX0lDT05WX0VOQUJMRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nTElCWE1MX0lDVV9FTkFCTEVEJy8+CisgICAgICA8cmVmIG5hbWU9J0xJQlhNTF9JU084ODU5WF9FTkFCTEVEJy8+CisgICAgICA8cmVmIG5hbWU9J0xJQlhNTF9MRUdBQ1lfRU5BQkxFRCcvPgorICAgICAgPHJlZiBuYW1lPSdMSUJYTUxfTFpNQV9FTkFCTEVEJy8+CisgICAgICA8cmVmIG5hbWU9J0xJQlhNTF9NT0RVTEVTX0VOQUJMRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nTElCWE1MX01PRFVMRV9FWFRFTlNJT04nLz4KKyAgICAgIDxyZWYgbmFtZT0nTElCWE1MX09VVFBVVF9FTkFCTEVEJy8+CisgICAgICA8cmVmIG5hbWU9J0xJQlhNTF9QQVRURVJOX0VOQUJMRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nTElCWE1MX1BVU0hfRU5BQkxFRCcvPgorICAgICAgPHJlZiBuYW1lPSdMSUJYTUxfUkVBREVSX0VOQUJMRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nTElCWE1MX1JFR0VYUF9FTkFCTEVEJy8+CisgICAgICA8cmVmIG5hbWU9J0xJQlhNTF9TQVgxX0VOQUJMRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nTElCWE1MX1NDSEVNQVNfRU5BQkxFRCcvPgorICAgICAgPHJlZiBuYW1lPSdMSUJYTUxfU0NIRU1BVFJPTl9FTkFCTEVEJy8+CisgICAgICA8cmVmIG5hbWU9J0xJQlhNTF9URVNUX1ZFUlNJT04nLz4KKyAgICAgIDxyZWYgbmFtZT0nTElCWE1MX1RIUkVBRF9BTExPQ19FTkFCTEVEJy8+CisgICAgICA8cmVmIG5hbWU9J0xJQlhNTF9USFJFQURfRU5BQkxFRCcvPgorICAgICAgPHJlZiBuYW1lPSdMSUJYTUxfVFJFRV9FTkFCTEVEJy8+CisgICAgICA8cmVmIG5hbWU9J0xJQlhNTF9VTklDT0RFX0VOQUJMRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nTElCWE1MX1ZBTElEX0VOQUJMRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nTElCWE1MX1ZFUlNJT04nLz4KKyAgICAgIDxyZWYgbmFtZT0nTElCWE1MX1ZFUlNJT05fRVhUUkEnLz4KKyAgICAgIDxyZWYgbmFtZT0nTElCWE1MX1ZFUlNJT05fU1RSSU5HJy8+CisgICAgICA8cmVmIG5hbWU9J0xJQlhNTF9XUklURVJfRU5BQkxFRCcvPgorICAgICAgPHJlZiBuYW1lPSdMSUJYTUxfWElOQ0xVREVfRU5BQkxFRCcvPgorICAgICAgPHJlZiBuYW1lPSdMSUJYTUxfWFBBVEhfRU5BQkxFRCcvPgorICAgICAgPHJlZiBuYW1lPSdMSUJYTUxfWFBUUl9FTkFCTEVEJy8+CisgICAgICA8cmVmIG5hbWU9J0xJQlhNTF9aTElCX0VOQUJMRUQnLz4KKyAgICAgIDxyZWYgbmFtZT0nV0lUSE9VVF9UUklPJy8+CisgICAgICA8cmVmIG5hbWU9J1dJVEhfVFJJTycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxDaGVja1ZlcnNpb24nLz4KKyAgICA8L2ZpbGU+CisgICAgPGZpbGUgbmFtZT0neG1sd3JpdGVyJz4KKyAgICAgIDxyZWYgbmFtZT0neG1sRnJlZVRleHRXcml0ZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTmV3VGV4dFdyaXRlcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdUZXh0V3JpdGVyRG9jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld1RleHRXcml0ZXJGaWxlbmFtZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOZXdUZXh0V3JpdGVyTWVtb3J5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld1RleHRXcml0ZXJQdXNoUGFyc2VyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5ld1RleHRXcml0ZXJUcmVlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlckVuZEF0dHJpYnV0ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyRW5kQ0RBVEEnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlckVuZENvbW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlckVuZERURCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyRW5kRFREQXR0bGlzdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyRW5kRFRERWxlbWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyRW5kRFRERW50aXR5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJFbmREb2N1bWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyRW5kRWxlbWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyRW5kUEknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlckZsdXNoJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJGdWxsRW5kRWxlbWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyUHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJTZXRJbmRlbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlclNldEluZGVudFN0cmluZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyU2V0UXVvdGVDaGFyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJTdGFydEF0dHJpYnV0ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyU3RhcnRBdHRyaWJ1dGVOUycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyU3RhcnRDREFUQScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyU3RhcnRDb21tZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJTdGFydERURCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyU3RhcnREVERBdHRsaXN0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJTdGFydERUREVsZW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlclN0YXJ0RFRERW50aXR5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJTdGFydERvY3VtZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJTdGFydEVsZW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlclN0YXJ0RWxlbWVudE5TJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJTdGFydFBJJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZUF0dHJpYnV0ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVBdHRyaWJ1dGVOUycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVCYXNlNjQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlQmluSGV4Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZUNEQVRBJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZUNvbW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRFREJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZURUREF0dGxpc3QnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRFRERWxlbWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVEVERFbnRpdHknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRFRERXh0ZXJuYWxFbnRpdHknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRFRERXh0ZXJuYWxFbnRpdHlDb250ZW50cycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVEVERJbnRlcm5hbEVudGl0eScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVEVEROb3RhdGlvbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVEb2NUeXBlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZUVsZW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRWxlbWVudE5TJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdEF0dHJpYnV0ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRBdHRyaWJ1dGVOUycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRDREFUQScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRDb21tZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdERURCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVERBdHRsaXN0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdERUREVsZW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFRESW50ZXJuYWxFbnRpdHknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RWxlbWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRFbGVtZW50TlMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0UEknLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0UmF3Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdFN0cmluZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVQSScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlUmF3Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZVJhd0xlbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVTdHJpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEF0dHJpYnV0ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0QXR0cmlidXRlTlMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdENEQVRBJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRDb21tZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVEQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREF0dGxpc3QnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREVsZW1lbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREludGVybmFsRW50aXR5Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRFbGVtZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRFbGVtZW50TlMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdFBJJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRSYXcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdFN0cmluZycvPgorICAgIDwvZmlsZT4KKyAgICA8ZmlsZSBuYW1lPSd4cGF0aCc+CisgICAgICA8cmVmIG5hbWU9J1hNTF9YUEFUSF9DSEVDS05TJy8+CisgICAgICA8cmVmIG5hbWU9J1hNTF9YUEFUSF9OT1ZBUicvPgorICAgICAgPHJlZiBuYW1lPSdYUEFUSF9CT09MRUFOJy8+CisgICAgICA8cmVmIG5hbWU9J1hQQVRIX0VOQ09ESU5HX0VSUk9SJy8+CisgICAgICA8cmVmIG5hbWU9J1hQQVRIX0VYUFJFU1NJT05fT0snLz4KKyAgICAgIDxyZWYgbmFtZT0nWFBBVEhfRVhQUl9FUlJPUicvPgorICAgICAgPHJlZiBuYW1lPSdYUEFUSF9GT1JCSURfVkFSSUFCTEVfRVJST1InLz4KKyAgICAgIDxyZWYgbmFtZT0nWFBBVEhfSU5WQUxJRF9BUklUWScvPgorICAgICAgPHJlZiBuYW1lPSdYUEFUSF9JTlZBTElEX0NIQVJfRVJST1InLz4KKyAgICAgIDxyZWYgbmFtZT0nWFBBVEhfSU5WQUxJRF9DVFhUJy8+CisgICAgICA8cmVmIG5hbWU9J1hQQVRIX0lOVkFMSURfQ1RYVF9QT1NJVElPTicvPgorICAgICAgPHJlZiBuYW1lPSdYUEFUSF9JTlZBTElEX0NUWFRfU0laRScvPgorICAgICAgPHJlZiBuYW1lPSdYUEFUSF9JTlZBTElEX09QRVJBTkQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWFBBVEhfSU5WQUxJRF9QUkVESUNBVEVfRVJST1InLz4KKyAgICAgIDxyZWYgbmFtZT0nWFBBVEhfSU5WQUxJRF9UWVBFJy8+CisgICAgICA8cmVmIG5hbWU9J1hQQVRIX0xPQ0FUSU9OU0VUJy8+CisgICAgICA8cmVmIG5hbWU9J1hQQVRIX01FTU9SWV9FUlJPUicvPgorICAgICAgPHJlZiBuYW1lPSdYUEFUSF9OT0RFU0VUJy8+CisgICAgICA8cmVmIG5hbWU9J1hQQVRIX05VTUJFUicvPgorICAgICAgPHJlZiBuYW1lPSdYUEFUSF9OVU1CRVJfRVJST1InLz4KKyAgICAgIDxyZWYgbmFtZT0nWFBBVEhfUE9JTlQnLz4KKyAgICAgIDxyZWYgbmFtZT0nWFBBVEhfUkFOR0UnLz4KKyAgICAgIDxyZWYgbmFtZT0nWFBBVEhfU1RBQ0tfRVJST1InLz4KKyAgICAgIDxyZWYgbmFtZT0nWFBBVEhfU1RBUlRfTElURVJBTF9FUlJPUicvPgorICAgICAgPHJlZiBuYW1lPSdYUEFUSF9TVFJJTkcnLz4KKyAgICAgIDxyZWYgbmFtZT0nWFBBVEhfVU5DTE9TRURfRVJST1InLz4KKyAgICAgIDxyZWYgbmFtZT0nWFBBVEhfVU5ERUZJTkVEJy8+CisgICAgICA8cmVmIG5hbWU9J1hQQVRIX1VOREVGX1BSRUZJWF9FUlJPUicvPgorICAgICAgPHJlZiBuYW1lPSdYUEFUSF9VTkRFRl9WQVJJQUJMRV9FUlJPUicvPgorICAgICAgPHJlZiBuYW1lPSdYUEFUSF9VTkZJTklTSEVEX0xJVEVSQUxfRVJST1InLz4KKyAgICAgIDxyZWYgbmFtZT0nWFBBVEhfVU5LTk9XTl9GVU5DX0VSUk9SJy8+CisgICAgICA8cmVmIG5hbWU9J1hQQVRIX1VTRVJTJy8+CisgICAgICA8cmVmIG5hbWU9J1hQQVRIX1ZBUklBQkxFX1JFRl9FUlJPUicvPgorICAgICAgPHJlZiBuYW1lPSdYUEFUSF9YU0xUX1RSRUUnLz4KKyAgICAgIDxyZWYgbmFtZT0nWFBUUl9SRVNPVVJDRV9FUlJPUicvPgorICAgICAgPHJlZiBuYW1lPSdYUFRSX1NVQl9SRVNPVVJDRV9FUlJPUicvPgorICAgICAgPHJlZiBuYW1lPSdYUFRSX1NZTlRBWF9FUlJPUicvPgorICAgICAgPHJlZiBuYW1lPSdfeG1sTm9kZVNldCcvPgorICAgICAgPHJlZiBuYW1lPSdfeG1sWFBhdGhBeGlzJy8+CisgICAgICA8cmVmIG5hbWU9J194bWxYUGF0aENvbnRleHQnLz4KKyAgICAgIDxyZWYgbmFtZT0nX3htbFhQYXRoRnVuY3QnLz4KKyAgICAgIDxyZWYgbmFtZT0nX3htbFhQYXRoT2JqZWN0Jy8+CisgICAgICA8cmVmIG5hbWU9J194bWxYUGF0aFBhcnNlckNvbnRleHQnLz4KKyAgICAgIDxyZWYgbmFtZT0nX3htbFhQYXRoVHlwZScvPgorICAgICAgPHJlZiBuYW1lPSdfeG1sWFBhdGhWYXJpYWJsZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlU2V0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbE5vZGVTZXRQdHInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhBeGlzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQXhpc0Z1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhBeGlzUHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ2FzdEJvb2xlYW5Ub051bWJlcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENhc3RCb29sZWFuVG9TdHJpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDYXN0Tm9kZVNldFRvQm9vbGVhbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENhc3ROb2RlU2V0VG9OdW1iZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDYXN0Tm9kZVNldFRvU3RyaW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ2FzdE5vZGVUb051bWJlcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENhc3ROb2RlVG9TdHJpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDYXN0TnVtYmVyVG9Cb29sZWFuJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ2FzdE51bWJlclRvU3RyaW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ2FzdFN0cmluZ1RvQm9vbGVhbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENhc3RTdHJpbmdUb051bWJlcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENhc3RUb0Jvb2xlYW4nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDYXN0VG9OdW1iZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDYXN0VG9TdHJpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDbXBOb2RlcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENvbXBFeHByJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ29tcEV4cHJQdHInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDb21waWxlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ29tcGlsZWRFdmFsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ29tcGlsZWRFdmFsVG9Cb29sZWFuJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ29udGV4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENvbnRleHRQdHInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDb250ZXh0U2V0Q2FjaGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDb252ZXJ0Qm9vbGVhbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENvbnZlcnRGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ29udmVydE51bWJlcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENvbnZlcnRTdHJpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDdHh0Q29tcGlsZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEVycm9yJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRXZhbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEV2YWxFeHByZXNzaW9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRXZhbEZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhFdmFsUHJlZGljYXRlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRnJlZUNvbXBFeHByJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRnJlZUNvbnRleHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhGcmVlTm9kZVNldCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEZyZWVOb2RlU2V0TGlzdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEZyZWVPYmplY3QnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhGdW5jTG9va3VwRnVuYycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEZ1bmNQdHInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhGdW5jdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEZ1bmN0aW9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoSW5pdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aElzSW5mJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoSXNOYU4nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOQU4nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOSU5GJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV3Q29udGV4dCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vZGVFdmFsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm9kZVNldENyZWF0ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vZGVTZXRHZXRMZW5ndGgnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb2RlU2V0SXNFbXB0eScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vZGVTZXRJdGVtJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoT2JqZWN0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoT2JqZWN0Q29weScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE9iamVjdFB0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE9iamVjdFR5cGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhPcmRlckRvY0VsZW1zJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoUElORicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFBhcnNlckNvbnRleHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoU2V0Q29udGV4dE5vZGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhUeXBlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoVHlwZVB0cicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFZhcmlhYmxlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoVmFyaWFibGVMb29rdXBGdW5jJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoVmFyaWFibGVQdHInLz4KKyAgICA8L2ZpbGU+CisgICAgPGZpbGUgbmFtZT0neHBhdGhJbnRlcm5hbHMnPgorICAgICAgPHJlZiBuYW1lPSdDQVNUX1RPX0JPT0xFQU4nLz4KKyAgICAgIDxyZWYgbmFtZT0nQ0FTVF9UT19OVU1CRVInLz4KKyAgICAgIDxyZWYgbmFtZT0nQ0FTVF9UT19TVFJJTkcnLz4KKyAgICAgIDxyZWYgbmFtZT0nQ0hFQ0tfQVJJVFknLz4KKyAgICAgIDxyZWYgbmFtZT0nQ0hFQ0tfRVJST1InLz4KKyAgICAgIDxyZWYgbmFtZT0nQ0hFQ0tfRVJST1IwJy8+CisgICAgICA8cmVmIG5hbWU9J0NIRUNLX1RZUEUnLz4KKyAgICAgIDxyZWYgbmFtZT0nQ0hFQ0tfVFlQRTAnLz4KKyAgICAgIDxyZWYgbmFtZT0nWFBfRVJST1InLz4KKyAgICAgIDxyZWYgbmFtZT0nWFBfRVJST1IwJy8+CisgICAgICA8cmVmIG5hbWU9J3ZhbHVlUG9wJy8+CisgICAgICA8cmVmIG5hbWU9J3ZhbHVlUHVzaCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEFkZFZhbHVlcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEJvb2xlYW5GdW5jdGlvbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENlaWxpbmdGdW5jdGlvbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENoZWNrRXJyb3InLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDb21wYXJlVmFsdWVzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ29uY2F0RnVuY3Rpb24nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDb250YWluc0Z1bmN0aW9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ291bnRGdW5jdGlvbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aERlYnVnRHVtcENvbXBFeHByJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRGVidWdEdW1wT2JqZWN0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRGlmZmVyZW5jZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aERpc3RpbmN0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRGlzdGluY3RTb3J0ZWQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhEaXZWYWx1ZXMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhFbXB0eU5vZGVTZXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhFcXVhbFZhbHVlcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEVycicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEV2YWxFeHByJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRXZhbHVhdGVQcmVkaWNhdGVSZXN1bHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhGYWxzZUZ1bmN0aW9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRmxvb3JGdW5jdGlvbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEZyZWVQYXJzZXJDb250ZXh0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRnVuY3Rpb25Mb29rdXAnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhGdW5jdGlvbkxvb2t1cE5TJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoR2V0Q29udGV4dE5vZGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhHZXREb2N1bWVudCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEdldEVycm9yJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoSGFzU2FtZU5vZGVzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoSWRGdW5jdGlvbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEludGVyc2VjdGlvbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aElzTm9kZVR5cGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhMYW5nRnVuY3Rpb24nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhMYXN0RnVuY3Rpb24nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhMZWFkaW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTGVhZGluZ1NvcnRlZCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aExvY2FsTmFtZUZ1bmN0aW9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTW9kVmFsdWVzJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTXVsdFZhbHVlcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5hbWVzcGFjZVVSSUZ1bmN0aW9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV3Qm9vbGVhbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5ld0NTdHJpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXdGbG9hdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5ld05vZGVTZXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXdOb2RlU2V0TGlzdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5ld1BhcnNlckNvbnRleHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXdTdHJpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXdWYWx1ZVRyZWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXh0QW5jZXN0b3InLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXh0QW5jZXN0b3JPclNlbGYnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXh0QXR0cmlidXRlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV4dENoaWxkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV4dERlc2NlbmRhbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXh0RGVzY2VuZGFudE9yU2VsZicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5leHRGb2xsb3dpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXh0Rm9sbG93aW5nU2libGluZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5leHROYW1lc3BhY2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXh0UGFyZW50Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV4dFByZWNlZGluZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5leHRQcmVjZWRpbmdTaWJsaW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV4dFNlbGYnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb2RlTGVhZGluZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vZGVMZWFkaW5nU29ydGVkJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm9kZVNldEFkZCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vZGVTZXRBZGROcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vZGVTZXRBZGRVbmlxdWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb2RlU2V0Q29udGFpbnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb2RlU2V0RGVsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm9kZVNldEZyZWVOcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vZGVTZXRNZXJnZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vZGVTZXRSZW1vdmUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb2RlU2V0U29ydCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vZGVUcmFpbGluZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vZGVUcmFpbGluZ1NvcnRlZCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vcm1hbGl6ZUZ1bmN0aW9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm90RXF1YWxWYWx1ZXMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb3RGdW5jdGlvbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5zTG9va3VwJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTnVtYmVyRnVuY3Rpb24nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhQYXJzZU5DTmFtZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFBhcnNlTmFtZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFBvcEJvb2xlYW4nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhQb3BFeHRlcm5hbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFBvcE5vZGVTZXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhQb3BOdW1iZXInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhQb3BTdHJpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhQb3NpdGlvbkZ1bmN0aW9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoUmVnaXN0ZXJBbGxGdW5jdGlvbnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhSZWdpc3RlckZ1bmMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhSZWdpc3RlckZ1bmNMb29rdXAnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhSZWdpc3RlckZ1bmNOUycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFJlZ2lzdGVyTnMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZUxvb2t1cCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGVOUycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFJlZ2lzdGVyZWRGdW5jc0NsZWFudXAnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhSZWdpc3RlcmVkTnNDbGVhbnVwJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoUmVnaXN0ZXJlZFZhcmlhYmxlc0NsZWFudXAnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhSZXR1cm5Cb29sZWFuJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoUmV0dXJuRW1wdHlOb2RlU2V0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoUmV0dXJuRW1wdHlTdHJpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhSZXR1cm5FeHRlcm5hbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFJldHVybkZhbHNlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoUmV0dXJuTm9kZVNldCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFJldHVybk51bWJlcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFJldHVyblN0cmluZycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFJldHVyblRydWUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhSb290Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoUm91bmRGdW5jdGlvbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFNldEFyaXR5RXJyb3InLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhTZXRFcnJvcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFNldFR5cGVFcnJvcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFN0YWNrSXNFeHRlcm5hbCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFN0YWNrSXNOb2RlU2V0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoU3RhcnRzV2l0aEZ1bmN0aW9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoU3RyaW5nRXZhbE51bWJlcicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFN0cmluZ0Z1bmN0aW9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoU3RyaW5nTGVuZ3RoRnVuY3Rpb24nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhTdWJWYWx1ZXMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhTdWJzdHJpbmdBZnRlckZ1bmN0aW9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoU3Vic3RyaW5nQmVmb3JlRnVuY3Rpb24nLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhTdWJzdHJpbmdGdW5jdGlvbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFN1bUZ1bmN0aW9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoVHJhaWxpbmcnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhUcmFpbGluZ1NvcnRlZCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFRyYW5zbGF0ZUZ1bmN0aW9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoVHJ1ZUZ1bmN0aW9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoVmFsdWVGbGlwU2lnbicvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFZhcmlhYmxlTG9va3VwJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoVmFyaWFibGVMb29rdXBOUycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFdyYXBDU3RyaW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoV3JhcEV4dGVybmFsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoV3JhcE5vZGVTZXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhXcmFwU3RyaW5nJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoZXJyb3InLz4KKyAgICA8L2ZpbGU+CisgICAgPGZpbGUgbmFtZT0neHBvaW50ZXInPgorICAgICAgPHJlZiBuYW1lPSdfeG1sTG9jYXRpb25TZXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTG9jYXRpb25TZXQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sTG9jYXRpb25TZXRQdHInLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFB0ckJ1aWxkTm9kZUxpc3QnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFB0ckV2YWwnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFB0ckV2YWxSYW5nZVByZWRpY2F0ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyRnJlZUxvY2F0aW9uU2V0Jy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQdHJMb2NhdGlvblNldEFkZCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyTG9jYXRpb25TZXRDcmVhdGUnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFB0ckxvY2F0aW9uU2V0RGVsJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQdHJMb2NhdGlvblNldE1lcmdlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQdHJMb2NhdGlvblNldFJlbW92ZScvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyTmV3Q29sbGFwc2VkUmFuZ2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFB0ck5ld0NvbnRleHQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFB0ck5ld0xvY2F0aW9uU2V0Tm9kZVNldCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyTmV3TG9jYXRpb25TZXROb2RlcycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyTmV3UmFuZ2UnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFB0ck5ld1JhbmdlTm9kZU9iamVjdCcvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyTmV3UmFuZ2VOb2RlUG9pbnQnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFB0ck5ld1JhbmdlTm9kZXMnLz4KKyAgICAgIDxyZWYgbmFtZT0neG1sWFB0ck5ld1JhbmdlUG9pbnROb2RlJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQdHJOZXdSYW5nZVBvaW50cycvPgorICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyUmFuZ2VUb0Z1bmN0aW9uJy8+CisgICAgICA8cmVmIG5hbWU9J3htbFhQdHJXcmFwTG9jYXRpb25TZXQnLz4KKyAgICA8L2ZpbGU+CisgIDwvZmlsZXM+CisgIDxpbmRleD4KKyAgICA8Y2h1bmsgbmFtZT0nY2h1bmswJz4KKyAgICAgIDxsZXR0ZXIgbmFtZT0nQSc+CisgICAgICAgIDx3b3JkIG5hbWU9J0EtWic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGVja0xhbmd1YWdlSUQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdBLVphLXonPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbmNOYW1lJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nQS1aYS16MC05Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRW5jTmFtZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0FCQyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFRyYW5zbGF0ZUZ1bmN0aW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nQUJJJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxFcnJvcicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0FMTCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YU5ld0FsbFRyYW5zJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nQU5ZJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbElzTWl4ZWRFbGVtZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVsZW1lbnRDb250ZW50RGVjbCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0FQSXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0nTElCWE1MX0xFR0FDWV9FTkFCTEVEJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZVNldEZpbGVuYW1lJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nQVJSQVknPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RybGVuJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVVEY4U3Ryc2l6ZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0FTQ0lJJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1VURjhUb0h0bWwnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2RvY2JFbmNvZGVFbnRpdGllcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbEVuY29kZUVudGl0aWVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBZGRFbmNvZGluZ0FsaWFzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEZWxFbmNvZGluZ0FsaWFzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFbmNvZGVFbnRpdGllc1JlZW50cmFudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0RW5jb2RpbmdBbGlhcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTW9kdWxlT3BlbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTW9kdWxlU3ltYm9sJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdDaGFyRW5jb2RpbmdIYW5kbGVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUNoYXJFbmNvZGluZycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0FUVExJU1QnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlclN0YXJ0RFREQXR0bGlzdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlclN0YXJ0RFRERW50aXR5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVEVERBdHRsaXN0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVERBdHRsaXN0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFREQXR0bGlzdCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0FUVFJJQlVURSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBZGRDaGlsZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQWRkTmV4dFNpYmxpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEFkZFByZXZTaWJsaW5nJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nQWJzb2x1dGUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnVpbGRVUkknLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdBY2Nlc3Nvcic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFHZXRWYWxUeXBlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWx1ZUdldEFzQm9vbGVhbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsdWVHZXRBc1N0cmluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsdWVHZXROZXh0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nQWN0aXZhdGlvbic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyUmVsYXhOR1NldFNjaGVtYScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZUN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclNldFNjaGVtYScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0FjdHVhbGx5Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfVkFSSUVUWV9BQlNFTlQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdBZGQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQUNhdGFsb2dBZGQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEFkZENoaWxkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBZGRDaGlsZExpc3QnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEFkZE5leHRTaWJsaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBZGRQcmV2U2libGluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQWRkU2libGluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnVmZmVyQWRkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWZmZXJBZGRIZWFkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDYXRhbG9nQWRkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDYXRhbG9nQWRkTG9jYWwnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERpY3RMb29rdXAnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERpY3RRTG9va3VwJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoQWRkRW50cnknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEhhc2hBZGRFbnRyeTInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEhhc2hBZGRFbnRyeTMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEhhc2hVcGRhdGVFbnRyeScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFVwZGF0ZUVudHJ5MicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFVwZGF0ZUVudHJ5MycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0FkZGVkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERpY3RHZXRVc2FnZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRGljdFNldExpbWl0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nQWRkaXRpb25hbCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfaHRtbEVsZW1EZXNjJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDbGVhbnVwR2xvYmFscycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSW5pdEdsb2JhbHMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdBZWdlYW5OdW1iZXJzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzQWVnZWFuTnVtYmVycycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0FsbCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sU2NoZW1hJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sU2NoZW1hVHlwZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUEdldCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUExpc3QnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQXR0VmFsdWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJFbmREb2N1bWVudCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0FsbG9jYXRlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxOZXdQYXJzZXJDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vRlRQTmV3Q3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3RG9jRWxlbWVudENvbnRlbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld0VsZW1lbnRDb250ZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdQYXJzZXJDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdWYWxpZEN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYU5ld0ZhY2V0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFOZXdOT1RBVElPTlZhbHVlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFOZXdRTmFtZVZhbHVlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFOZXdTdHJpbmdWYWx1ZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0FsbG9jYXRlcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwTmV3Q3R4dCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0FsbG93cyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDYXRhbG9nU2V0RGVmYXVsdFByZWZlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRhdGVTZXRMb2NhdG9yJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nQWxwaGFiZXRpY1ByZXNlbnRhdGlvbkZvcm1zJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzQWxwaGFiZXRpY1ByZXNlbnRhdGlvbkZvcm1zJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nQWxzbyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGVja1VURjgnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQXR0cmlidXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZEN0eHROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0Fsd2F5cyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdJU19DT01CSU5JTkdfQ0gnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdBcHBlbmQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnVmZmVyQ0NhdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnVmZmVyQ2F0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlQWRkQ29udGVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUFkZENvbnRlbnRMZW4nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdBcHBlbmRpeCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWdleHBDb21waWxlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nQXBwZW5kcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWx1ZUFwcGVuZCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0FwcGxpZXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbEN0eHRVc2VPcHRpb25zJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDdHh0VXNlT3B0aW9ucycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9ybWFsaXplVVJJUGF0aCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDb21waWxlZEV2YWxUb0Jvb2xlYW4nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdBcHBseSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19BTllBVFRSX1NUUklDVCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfQU5ZX1NUUklDVCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0FyYWJpYyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0FyYWJpYycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0FyYWJpY1ByZXNlbnRhdGlvbkZvcm1zLUEnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNBcmFiaWNQcmVzZW50YXRpb25Gb3Jtc0EnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdBcmFiaWNQcmVzZW50YXRpb25Gb3Jtcy1CJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzQXJhYmljUHJlc2VudGF0aW9uRm9ybXNCJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nQXJtZW5pYW4nPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNBcm1lbmlhbicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0FycmF5Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxYUGF0aENvbnRleHQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdBcnJvd3MnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNBcnJvd3MnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdBc3NvY2lhdGUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2V0TnMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdBdHQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VTdGFydFRhZycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0F0dERlZic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUF0dHJpYnV0ZUxpc3REZWNsJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nQXR0VHlwZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUF0dHJpYnV0ZUxpc3REZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUF0dHJpYnV0ZVR5cGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdBdHRWYWx1ZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sUGFyc2VFbGVtZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUF0dFZhbHVlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUF0dHJpYnV0ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VEZWZhdWx0RGVjbCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0F0dGxpc3REZWNsJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQXR0cmlidXRlTGlzdERlY2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlTWFya3VwRGVjbCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0F0dHJpYnV0ZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sQXR0cmlidXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sTm9kZVN0YXR1cycvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbFBhcnNlRWxlbWVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VBdHRyaWJ1dGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQXR0cmlidXRlTGlzdERlY2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQXR0cmlidXRlVHlwZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VEZWZhdWx0RGVjbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VTdGFydFRhZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlcklzRGVmYXVsdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlck1vdmVUb0VsZW1lbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlQXR0cmlidXRlRGVjbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVPbmVBdHRyaWJ1dGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlT25lRWxlbWVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVPbmVOYW1lc3BhY2UnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdBdHRyaWJ1dGUtVmFsdWUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VBdHRWYWx1ZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0F0dHJpYnV0ZXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX2h0bWxFbGVtRGVzYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VOb3RhdGlvblR5cGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlT25lQXR0cmlidXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZU9uZU5hbWVzcGFjZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFB0ckJ1aWxkTm9kZUxpc3QnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdBdXRvbWF0aWMnPgorICAgICAgICAgIDxyZWYgbmFtZT0nZG9jYkNyZWF0ZUZpbGVQYXJzZXJDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdkb2NiUGFyc2VGaWxlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdkb2NiU0FYUGFyc2VGaWxlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sQ3JlYXRlRmlsZVBhcnNlckN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxQYXJzZUZpbGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxTQVhQYXJzZUZpbGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENyZWF0ZUVudGl0eVBhcnNlckN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENyZWF0ZUZpbGVQYXJzZXJDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDcmVhdGVVUkxQYXJzZXJDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VGaWxlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWNvdmVyRmlsZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYUGFyc2VGaWxlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVhQYXJzZUZpbGVXaXRoRGF0YScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYVXNlclBhcnNlRmlsZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0F1dG9tYXRpY2FsbHknPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSXNCYXNlQ2hhclEnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbElzQmFzZUNoYXJfY2gnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbElzQmxhbmtRJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJc0JsYW5rX2NoJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJc0NoYXJRJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJc0NoYXJfY2gnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbElzQ29tYmluaW5nUScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSXNEaWdpdFEnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbElzRGlnaXRfY2gnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbElzRXh0ZW5kZXJRJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJc0V4dGVuZGVyX2NoJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJc0lkZW9ncmFwaGljUScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSXNQdWJpZENoYXJRJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJc1B1YmlkQ2hhcl9jaCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICA8L2xldHRlcj4KKyAgICAgIDxsZXR0ZXIgbmFtZT0nQic+CisgICAgICAgIDx3b3JkIG5hbWU9J0JBU0UnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUdldEJhc2UnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdCQXInPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhUcmFuc2xhdGVGdW5jdGlvbicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0JPTSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGFyRW5jT3V0RnVuYycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0JhbGFuY2VkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5UmVjb3ZlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbnRpdHknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlSW5Ob2RlQ29udGV4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYUGFyc2VFbnRpdHknLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdCYXNlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxQYXJzZXJJbnB1dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFNjaGVtYVR5cGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVHZXRCYXNlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nQmFzZUNoYXInPgorICAgICAgICAgIDxyZWYgbmFtZT0nSVNfQkFTRUNIQVInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0lTX0xFVFRFUicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSXNMZXR0ZXInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdCYXNlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFeHBFeHBEZXJpdmUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoSXNJbmYnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoSXNOYU4nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdCYXNpY0xhdGluJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzQmFzaWNMYXRpbicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0Jhc2ljYWxseSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZUR0ZCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0JlZm9yZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUF0dFZhbHVlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nQmVoYXZlcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdJU19DSEFSX0NIJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdJU19ESUdJVF9DSCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nSVNfRVhURU5ERVJfQ0gnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdCZWhhdmlvdXInPgorICAgICAgICAgIDxyZWYgbmFtZT0nSVNfQkxBTktfQ0gnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdCZW5nYWxpJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzQmVuZ2FsaScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0Jlc3QnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckdldFJlbWFpbmRlcicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0JpbkhleCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVCaW5IZXgnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdCaXQnPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX0NPTVBMRVRFX0FUVFJTJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfREVURUNUX0lEUycvPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NLSVBfSURTJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nQmxvY2tFbGVtZW50cyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0Jsb2NrRWxlbWVudHMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdCbG9ja3MnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RvcFBhcnNlcicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0JvcG9tb2ZvJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzQm9wb21vZm8nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdCb3BvbW9mb0V4dGVuZGVkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzQm9wb21vZm9FeHRlbmRlZCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0JvdGgnPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NVQlNUSVRVVEVfQk9USCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyZWFtUHVzaCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyZWFtUHVzaEF0dHInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cmVhbVB1c2hOb2RlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nQm94RHJhd2luZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0JveERyYXdpbmcnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdCcmFpbGxlUGF0dGVybnMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNCcmFpbGxlUGF0dGVybnMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdCcnpvem93c2tpJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEV4cEV4cERlcml2ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRXhwU3RyaW5nRGVyaXZlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nQnVmZmVyJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbElPUGFyc2VEVEQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdCdWdzOic+CisgICAgICAgICAgPHJlZiBuYW1lPSdfaHRtbEVsZW1EZXNjJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nQnVoaWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNCdWhpZCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0J1aWxkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENvcHlBdHRyaWJ1dGVUYWJsZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ29weURvY0VsZW1lbnRDb250ZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDb3B5RWxlbWVudENvbnRlbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENvcHlFbGVtZW50VGFibGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENvcHlFbnRpdGllc1RhYmxlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDb3B5Tm90YXRpb25UYWJsZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0Tm9kZVBhdGgnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVMaXN0R2V0U3RyaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWdOZXdFeGVjQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRCdWlsZENvbnRlbnRNb2RlbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRHZXRQb3RlbnRpYWxDaGlsZHJlbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFB0ckJ1aWxkTm9kZUxpc3QnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdCdWlsZHMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnVpbGRRTmFtZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUxpc3RHZXRSYXdTdHJpbmcnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdCdXQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVOb3RhdGlvbkRlY2wnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdCeXphbnRpbmVNdXNpY2FsU3ltYm9scyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0J5emFudGluZU11c2ljYWxTeW1ib2xzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgIDwvbGV0dGVyPgorICAgIDwvY2h1bms+CisgICAgPGNodW5rIG5hbWU9J2NodW5rMSc+CisgICAgICA8bGV0dGVyIG5hbWU9J0MnPgorICAgICAgICA8d29yZCBuYW1lPSdDMTROJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEMxNE5Eb2NTYXZlVG8nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEMxNE5FeGVjdXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDMTROSXNWaXNpYmxlQ2FsbGJhY2snLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdDQVRBTE9HJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbExvYWRBQ2F0YWxvZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTG9hZENhdGFsb2cnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbExvYWRTR01MU3VwZXJDYXRhbG9nJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nQ0RBVEEnPgorICAgICAgICAgIDxyZWYgbmFtZT0nSFRNTF9QUkVTRVJWRV9OT0RFJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdfaHRtbEVsZW1EZXNjJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxLZWVwQmxhbmtzRGVmYXVsdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3Q0RhdGFCbG9jaycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3Q2hpbGQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld0RvY05vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld0RvY05vZGVFYXROYW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlU2V0Q29udGVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9kZVNldENvbnRlbnRMZW4nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQXR0VmFsdWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQXR0cmlidXRlVHlwZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VDRFNlY3QnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQ2hhckRhdGEnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJFbmRDREFUQScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlclN0YXJ0Q0RBVEEnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZUNEQVRBJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRDREFUQScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdENEQVRBJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZEN0eHROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0NERW5kJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQ0RTZWN0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nQ0RTZWN0Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5UmVjb3ZlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VDRFNlY3QnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQ29udGVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VJbk5vZGVDb250ZXh0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nQ0RTdGFydCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUNEU2VjdCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0NEYXRhJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQ0RTZWN0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HVmFsaWRhdGVQdXNoQ0RhdGEnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlUHVzaENEYXRhJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nQ0pLQ29tcGF0aWJpbGl0eSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHknLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdDSktDb21wYXRpYmlsaXR5Rm9ybXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNDSktDb21wYXRpYmlsaXR5Rm9ybXMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdDSktDb21wYXRpYmlsaXR5SWRlb2dyYXBocyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHlJZGVvZ3JhcGhzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nQ0pLQ29tcGF0aWJpbGl0eUlkZW9ncmFwaHNTdXBwbGVtZW50Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eUlkZW9ncmFwaHNTdXBwbGVtZW50Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nQ0pLUmFkaWNhbHNTdXBwbGVtZW50Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzQ0pLUmFkaWNhbHNTdXBwbGVtZW50Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nQ0pLU3ltYm9sc2FuZFB1bmN0dWF0aW9uJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzQ0pLU3ltYm9sc2FuZFB1bmN0dWF0aW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nQ0pLVW5pZmllZElkZW9ncmFwaHMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNDSktVbmlmaWVkSWRlb2dyYXBocycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0NKS1VuaWZpZWRJZGVvZ3JhcGhzRXh0ZW5zaW9uQSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0NKS1VuaWZpZWRJZGVvZ3JhcGhzRXh0ZW5zaW9uQScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0NKS1VuaWZpZWRJZGVvZ3JhcGhzRXh0ZW5zaW9uQic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0NKS1VuaWZpZWRJZGVvZ3JhcGhzRXh0ZW5zaW9uQicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0NWUyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdMSUJYTUxfVkVSU0lPTl9FWFRSQScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0NXRCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vRlRQQ3dkJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nQ2FjaGUnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFhQYXRoQ29udGV4dCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0NhbGwnPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbEluaXRBdXRvQ2xvc2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEluaXRQYXJzZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoT3JkZXJEb2NFbGVtcycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0NhbGxiYWNrJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2V4dGVybmFsU3Vic2V0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdleHRlcm5hbFN1YnNldFNBWEZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2ludGVybmFsU3Vic2V0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdpbnRlcm5hbFN1YnNldFNBWEZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEVudGl0eVJlZmVyZW5jZUZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEhhc2hDb3BpZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEhhc2hEZWFsbG9jYXRvcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFNjYW5uZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEhhc2hTY2FubmVyRnVsbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSW5wdXRDbG9zZUNhbGxiYWNrJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJbnB1dE1hdGNoQ2FsbGJhY2snLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbElucHV0T3BlbkNhbGxiYWNrJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJbnB1dFJlYWRDYWxsYmFjaycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTGlzdERhdGFDb21wYXJlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0RGVhbGxvY2F0b3InLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbExpc3RXYWxrZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dENsb3NlQ2FsbGJhY2snLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dE1hdGNoQ2FsbGJhY2snLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dE9wZW5DYWxsYmFjaycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sT3V0cHV0V3JpdGVDYWxsYmFjaycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySW5wdXREZWFsbG9jYXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWdFeGVjQ2FsbGJhY2tzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVgyRXh0ZXJuYWxTdWJzZXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWDJJbnRlcm5hbFN1YnNldCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRpdHlFcnJvckZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkaXR5V2FybmluZ0Z1bmMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdDYWxsYmFjazonPgorICAgICAgICAgIDxyZWYgbmFtZT0ncmVzb2x2ZUVudGl0eVNBWEZ1bmMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdDYWxsZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0nY2RhdGFCbG9ja1NBWEZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2VuZERvY3VtZW50U0FYRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0nZW5kRWxlbWVudFNBWEZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3JlZmVyZW5jZVNBWEZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3N0YXJ0RG9jdW1lbnRTQVhGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdzdGFydEVsZW1lbnRTQVhGdW5jJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nQ2FsbGluZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWdpc3RlckhUVFBQb3N0Q2FsbGJhY2tzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nQ2Fub25pY2FsJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEMxNE5Eb2NEdW1wTWVtb3J5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDMTRORG9jU2F2ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQzE0TkRvY1NhdmVUbycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQzE0TkV4ZWN1dGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdDYW5vbmljYWxpemF0aW9uJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0xJQlhNTF9DMTROX0VOQUJMRUQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEMxNE5Eb2NEdW1wTWVtb3J5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDMTRORG9jU2F2ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQzE0TkRvY1NhdmVUbycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQzE0TkV4ZWN1dGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdDYXJsJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVSSUVzY2FwZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0NhdGFsb2cnPgorICAgICAgICAgIDxyZWYgbmFtZT0nTElCWE1MX0NBVEFMT0dfRU5BQkxFRCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX0NBVEFMT0dfUEknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEFDYXRhbG9nQWRkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBQ2F0YWxvZ0R1bXAnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEFDYXRhbG9nUmVtb3ZlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBQ2F0YWxvZ1Jlc29sdmUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEFDYXRhbG9nUmVzb2x2ZVB1YmxpYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQUNhdGFsb2dSZXNvbHZlU3lzdGVtJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBQ2F0YWxvZ1Jlc29sdmVVUkknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENhdGFsb2dTZXREZWZhdWx0UHJlZmVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxGcmVlQ2F0YWxvZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTG9hZEFDYXRhbG9nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdDYXRhbG9nJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nQ2F0YWxvZ3MnPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX0NBVEFMT0dTX05BTUVTUEFDRScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTG9hZEFDYXRhbG9nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxMb2FkU0dNTFN1cGVyQ2F0YWxvZycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0NoYW5nZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTZXRGZWF0dXJlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyU2V0UGFyc2VyUHJvcCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0NoYW5nZXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2V0RXh0ZXJuYWxFbnRpdHlMb2FkZXInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdDaGFyJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0lTX0JZVEVfQ0hBUicvPgorICAgICAgICAgIDxyZWYgbmFtZT0nSVNfQ0hBUicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VDRFNlY3QnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQ2hhclJlZicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VDb21tZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVBJJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nQ2hhckRhdGEnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlSZWNvdmVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUNoYXJEYXRhJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUNvbnRlbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlSW5Ob2RlQ29udGV4dCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0NoYXJSZWYnPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbFBhcnNlQ2hhclJlZicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hhckVuY091dEZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERlY29kZUVudGl0aWVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFbmNvZGVFbnRpdGllc1JlZW50cmFudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VDaGFyUmVmJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVJlZmVyZW5jZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySGFuZGxlUmVmZXJlbmNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJpbmdEZWNvZGVFbnRpdGllcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyaW5nTGVuRGVjb2RlRW50aXRpZXMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdDaGFyYWN0ZXInPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRG9jRHVtcEZvcm1hdE1lbW9yeUVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRG9jRHVtcE1lbW9yeUVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0Q2hhckVuY29kaW5nTmFtZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VDaGFyRW5jb2RpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQ2hhclJlZicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0NoYXJhY3RlcnMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VDaGFyUmVmJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nQ2hlY2thJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXRXaHRzcCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0NoZWNrcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sQXR0ckFsbG93ZWQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxFbGVtZW50QWxsb3dlZEhlcmUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxFbGVtZW50QWxsb3dlZEhlcmVEZXNjJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sRWxlbWVudFN0YXR1c0hlcmUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxOb2RlU3RhdHVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YUlzRGV0ZXJtaW5pc3QnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoZWNrTGFuZ3VhZ2VJRCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hlY2tVVEY4Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJc0JsYW5rTm9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hQ2hlY2tGYWNldCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRhdGVMaXN0U2ltcGxlVHlwZUZhY2V0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vZGVTZXRJc0VtcHR5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFN0YWNrSXNFeHRlcm5hbCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0NoZXJva2VlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzQ2hlcm9rZWUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdDaGlsZHJlbic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVsZW1lbnRDb250ZW50RGVjbCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0NodW5rJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2RvY2JQYXJzZUNodW5rJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sUGFyc2VDaHVuaycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlSZWNvdmVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUNodW5rJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUluTm9kZUNvbnRleHQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdDbGVhbnVwJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENsZWFudXBDaGFyRW5jb2RpbmdIYW5kbGVycycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2xlYW51cFByZWRlZmluZWRFbnRpdGllcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ3R4dFJlc2V0TGFzdEVycm9yJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vRlRQQ2xlYW51cCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0hUVFBDbGVhbnVwJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HQ2xlYW51cFR5cGVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZXNldEVycm9yJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZXNldExhc3RFcnJvcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hQ2xlYW51cFR5cGVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFGcmVlVmFsdWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoUmVnaXN0ZXJlZEZ1bmNzQ2xlYW51cCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhSZWdpc3RlcmVkTnNDbGVhbnVwJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFJlZ2lzdGVyZWRWYXJpYWJsZXNDbGVhbnVwJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nQ2xlYXInPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2xlYXJOb2RlSW5mb1NlcScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2xlYXJQYXJzZXJDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQb3BJbnB1dENhbGxiYWNrcycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0NsZWFycyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTZXR1cFBhcnNlckZvckJ1ZmZlcicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0Nsb3NlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEZpbGVDbG9zZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSU9GVFBDbG9zZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSU9IVFRQQ2xvc2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBDbG9zZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUENsb3NlQ29ubmVjdGlvbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2F2ZUNsb3NlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nQ2xvc2VkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJDbG9zZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0NvbWJpbmluZ0NoYXInPgorICAgICAgICAgIDxyZWYgbmFtZT0nSVNfQ09NQklOSU5HJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW1lc3BhY2VQYXJzZU5DTmFtZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VOYW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2FuTmFtZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhQYXJzZU5DTmFtZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhQYXJzZU5hbWUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdDb21iaW5pbmdEaWFjcml0aWNhbE1hcmtzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzQ29tYmluaW5nRGlhY3JpdGljYWxNYXJrcycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0NvbWJpbmluZ0RpYWNyaXRpY2FsTWFya3Nmb3JTeW1ib2xzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzQ29tYmluaW5nRGlhY3JpdGljYWxNYXJrc2ZvclN5bWJvbHMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdDb21iaW5pbmdIYWxmTWFya3MnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNDb21iaW5pbmdIYWxmTWFya3MnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdDb21iaW5pbmdNYXJrc2ZvclN5bWJvbHMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNDb21iaW5pbmdNYXJrc2ZvclN5bWJvbHMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdDb21tZW50Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5UmVjb3ZlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VDb21tZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUNvbnRlbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlSW5Ob2RlQ29udGV4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VNYXJrdXBEZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZU1pc2MnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdDb21wYXJlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQ2hhckVuY29kaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFDb21wYXJlVmFsdWVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFDb21wYXJlVmFsdWVzV2h0c3AnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ21wTm9kZXMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdDb21waWxlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhQ29tcGlsZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGF0dGVybmNvbXBpbGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ29tcGlsZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDdHh0Q29tcGlsZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhTdHJpbmdFdmFsTnVtYmVyJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nQ29tcHJlc3MnPgorICAgICAgICAgIDxyZWYgbmFtZT0nZG9jYkNyZWF0ZUZpbGVQYXJzZXJDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdkb2NiUGFyc2VGaWxlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdkb2NiU0FYUGFyc2VGaWxlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sQ3JlYXRlRmlsZVBhcnNlckN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxQYXJzZUZpbGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxTQVhQYXJzZUZpbGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENyZWF0ZUVudGl0eVBhcnNlckN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENyZWF0ZUZpbGVQYXJzZXJDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDcmVhdGVVUkxQYXJzZXJDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VGaWxlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWNvdmVyRmlsZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYUGFyc2VGaWxlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVhQYXJzZUZpbGVXaXRoRGF0YScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYVXNlclBhcnNlRmlsZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0NvbXB1dGVzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ1aWxkVVJJJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nQ29uY2F0Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRDb25jYXQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdDb25zdHJ1Y3RzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENhbm9uaWNQYXRoJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXRoVG9VUkknLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdDb250ZW50Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVHZXRCYXNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVsZW1lbnRDb250ZW50RGVjbCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0NvbnRlbnQtVHlwZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUEZldGNoJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUE1ldGhvZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0hUVFBNZXRob2RSZWRpcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0hUVFBPcGVuJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUE9wZW5SZWRpcicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0NvbnRyYXJ5Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEVuY29kZUVudGl0aWVzUmVlbnRyYW50Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nQ29udHJvbFBpY3R1cmVzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzQ29udHJvbFBpY3R1cmVzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nQ29udmVuaWVudCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCb29sVG9UZXh0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nQ29udmVydCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDYXRhbG9nQ29udmVydCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ29udmVydFNHTUxDYXRhbG9nJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nQ29udmVydHMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDYXN0Qm9vbGVhblRvTnVtYmVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENhc3RCb29sZWFuVG9TdHJpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ2FzdE5vZGVTZXRUb0Jvb2xlYW4nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ2FzdE5vZGVTZXRUb051bWJlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDYXN0Tm9kZVNldFRvU3RyaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENhc3ROb2RlVG9OdW1iZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ2FzdE5vZGVUb1N0cmluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDYXN0TnVtYmVyVG9Cb29sZWFuJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENhc3ROdW1iZXJUb1N0cmluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDYXN0U3RyaW5nVG9Cb29sZWFuJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENhc3RTdHJpbmdUb051bWJlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDYXN0VG9Cb29sZWFuJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENhc3RUb051bWJlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDYXN0VG9TdHJpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ29udmVydEJvb2xlYW4nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ29udmVydE51bWJlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDb252ZXJ0U3RyaW5nJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nQ29waWVzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUNvcHlWYWx1ZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0NvcHknPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ29weUVudW1lcmF0aW9uJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHZXRGZWF0dXJlc0xpc3QnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlY29uY2lsaWF0ZU5zJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nQ29ycmVjdCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTZXRDb21wcmVzc01vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNldERvY0NvbXByZXNzTW9kZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0NvdWxkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxTY2hlbWFUeXBlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nQ291bnQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTHNDb3VudE5vZGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdDcmVhdGVzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxOZXdEb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxOZXdEb2NOb0R0RCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ3JlYXRlRG9jUGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRXhwTmV3Q3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3RG9jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYSW5jbHVkZU5ld0NvbnRleHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ29udGV4dFNldENhY2hlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nQ3JlYXRpb24nPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3Q0RhdGFCbG9jaycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3Q2hhclJlZicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3Q2hpbGQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld0NvbW1lbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld0RvY0NvbW1lbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld0RvY0ZyYWdtZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdEb2NOb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdEb2NOb2RlRWF0TmFtZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3RG9jUEknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld0RvY1Jhd05vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld0RvY1RleHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld0RvY1RleHRMZW4nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld0R0ZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3R2xvYmFsTnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld05vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld05vZGVFYXROYW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdOcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3UEknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld1JlZmVyZW5jZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3VGV4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3VGV4dENoaWxkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdUZXh0TGVuJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nQ3VycmVuY3lTeW1ib2xzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzQ3VycmVuY3lTeW1ib2xzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nQ3VycmVudCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sUGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFBhcnNlcklucHV0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sVmFsaWRDdHh0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nQ3VycmVudGx5Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERPTVdyYXBDbG9uZU5vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBHZXRDb25uZWN0aW9uJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vRlRQSW5pdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0hUVFBJbml0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyTmV4dFNpYmxpbmcnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdDdXQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVjb25jaWxpYXRlTnMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdDeXByaW90U3lsbGFiYXJ5Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzQ3lwcmlvdFN5bGxhYmFyeScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0N5cmlsbGljJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzQ3lyaWxsaWMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdDeXJpbGxpY1N1cHBsZW1lbnQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNDeXJpbGxpY1N1cHBsZW1lbnQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgPC9sZXR0ZXI+CisgICAgPC9jaHVuaz4KKyAgICA8Y2h1bmsgbmFtZT0nY2h1bmsyJz4KKyAgICAgIDxsZXR0ZXIgbmFtZT0nRCc+CisgICAgICAgIDx3b3JkIG5hbWU9J0RFQlVHX01FTU9SWSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdERUJVR19NRU1PUlknLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdERUJVR19NRU1PUllfRlJFRUQnPgorICAgICAgICAgIDxyZWYgbmFtZT0nREVCVUdfTUVNT1JZJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nREVCVUdfTUVNT1JZX0xPQ0FUSU9OJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0RFQlVHX01FTU9SWScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0RFTEUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUERlbGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdERUxFR0FURSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxMb2FkU0dNTFN1cGVyQ2F0YWxvZycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0RFTU8nPgorICAgICAgICAgIDxyZWYgbmFtZT0nZ2V0UHVibGljSWQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWDJHZXRQdWJsaWNJZCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0RFUFJFQ0FURUQnPgorICAgICAgICAgIDxyZWYgbmFtZT0nY2hlY2tOYW1lc3BhY2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2dldE5hbWVzcGFjZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0nZ2xvYmFsTmFtZXNwYWNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSduYW1lc3BhY2VEZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdzZXREb2N1bWVudExvY2F0b3InLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3NldE5hbWVzcGFjZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2F0YWxvZ0dldFB1YmxpYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2F0YWxvZ0dldFN5c3RlbScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSXNCYXNlQ2hhcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSXNCbGFuaycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSXNDaGFyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJc0NvbWJpbmluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSXNEaWdpdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSXNFeHRlbmRlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSXNJZGVvZ3JhcGhpYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSXNQdWJpZENoYXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld0dsb2JhbE5zJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nRElHSVQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hlY2tMYW5ndWFnZUlEJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nRE9DVFlQRSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZURvY1R5cGVEZWNsJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nRE9NLXdyYXBwZXInPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRE9NV3JhcEZyZWVDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwTmV3Q3R4dCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0RURHMnPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX0NPTVBMRVRFX0FUVFJTJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJIYW5kbGVQRVJlZmVyZW5jZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0RhdGEnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VDRFNlY3QnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdEYXRhdHlwZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWdleHBDb21waWxlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nRGF0YXR5cGVzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUdldEJ1aWx0SW5MaXN0U2ltcGxlVHlwZUl0ZW1UeXBlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nRGVhbGxvY2F0ZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxGcmVlQXR0cmlidXRlVGFibGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEZyZWVFbGVtZW50VGFibGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEZyZWVFbnRpdGllc1RhYmxlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxGcmVlSURUYWJsZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRnJlZU5vdGF0aW9uVGFibGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEZyZWVSZWZUYWJsZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRnJlZVRleHRSZWFkZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEZyZWVUZXh0V3JpdGVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HRnJlZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hRnJlZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hRnJlZUZhY2V0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFGcmVlVHlwZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hdHJvbkZyZWUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdEZWFsbG9jYXRlcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFGcmVlV2lsZGNhcmQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdEZWJ1Z2dpbmcnPgorICAgICAgICAgIDxyZWYgbmFtZT0nTElCWE1MX0RFQlVHX0VOQUJMRUQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEV4cEN0eHROYkNvbnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEV4cEN0eHROYk5vZGVzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nRGVjbGFyYXRpb24nPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbGVtZW50RGVjbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VNYXJrdXBEZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVNERGVjbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRDdHh0Tm9ybWFsaXplQXR0cmlidXRlVmFsdWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlRWxlbWVudERlY2wnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdEZWNsYXJlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVudGl0eURlY2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRW50aXR5UmVmJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVBFUmVmZXJlbmNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJIYW5kbGVQRVJlZmVyZW5jZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySGFuZGxlUmVmZXJlbmNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZU5vdGF0aW9uVXNlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nRGVmYXVsdCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYW5kbGVFbnRpdHknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQXR0cmlidXRlVHlwZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VEZWZhdWx0RGVjbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVBdHRyaWJ1dGVEZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZU9uZUF0dHJpYnV0ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVPbmVOYW1lc3BhY2UnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdEZWZhdWx0RGVjbCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUF0dHJpYnV0ZUxpc3REZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZURlZmF1bHREZWNsJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nRGVsZXRlcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0RGVsZXRlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nRGVwdGgnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFBhcnNlckN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxWYWxpZEN0eHQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdEZXJlZmVyZW5jZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFeHBGcmVlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nRGVyZWdpc3Rlck5vZGVGdW5jJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERlcmVnaXN0ZXJOb2RlRGVmYXVsdCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0Rlc2VyZXQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNEZXNlcmV0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nRGV0ZXJtaW5lJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxJc0Jvb2xlYW5BdHRyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJc0lEJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJc1JlZicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckNvbnN0RW5jb2RpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJDb25zdFhtbFZlcnNpb24nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJJc05hbWVzcGFjZURlY2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJTdGFuZGFsb25lJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nRGV2YW5hZ2FyaSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0RldmFuYWdhcmknLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdEaWZmZXJlbnQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyZWFtUHVzaE5vZGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdEaWdpdCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdJU19ESUdJVCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFtZXNwYWNlUGFyc2VOQ05hbWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlTmFtZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2Nhbk5hbWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoUGFyc2VOQ05hbWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoUGFyc2VOYW1lJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nRGlnaXRzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoU3RyaW5nRXZhbE51bWJlcicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0RpZ2l0cz8nPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhTdHJpbmdFdmFsTnVtYmVyJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nRGluZ2JhdHMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNEaW5nYmF0cycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0Rpc3BsYXknPgorICAgICAgICAgIDxyZWYgbmFtZT0nZXJyb3JTQVhGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdmYXRhbEVycm9yU0FYRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0nd2FybmluZ1NBWEZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlckVycm9yJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJWYWxpZGl0eUVycm9yJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJWYWxpZGl0eVdhcm5pbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcldhcm5pbmcnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdEaXNwbGF5cyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJQcmludEZpbGVDb250ZXh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJQcmludEZpbGVJbmZvJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nRG9jQm9vayc+CisgICAgICAgICAgPHJlZiBuYW1lPSdkb2NiQ3JlYXRlUHVzaFBhcnNlckN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2luaXRkb2NiRGVmYXVsdFNBWEhhbmRsZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWDJJbml0RG9jYkRlZmF1bHRTQVhIYW5kbGVyJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nRG9jYm9vayc+CisgICAgICAgICAgPHJlZiBuYW1lPSdMSUJYTUxfRE9DQl9FTkFCTEVEJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sUGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nZG9jYlBhcnNlRmlsZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0RvY3VtZW50Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERvY0R1bXBGb3JtYXRNZW1vcnlFbmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERvY0R1bXBNZW1vcnlFbmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVHZXRCYXNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVNERGVjbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRDdHh0Tm9ybWFsaXplQXR0cmlidXRlVmFsdWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhJbmNsdWRlTmV3Q29udGV4dCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0RvZXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0naGFzRXh0ZXJuYWxTdWJzZXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2hhc0V4dGVybmFsU3Vic2V0U0FYRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0naGFzSW50ZXJuYWxTdWJzZXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2hhc0ludGVybmFsU3Vic2V0U0FYRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hhckluUmFuZ2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWDJIYXNFeHRlcm5hbFN1YnNldCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYMkhhc0ludGVybmFsU3Vic2V0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTaGVsbExpc3QnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkQ3R4dE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZURvY3VtZW50RmluYWwnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlRHRkRmluYWwnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdEb3VnbGFzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVSSUVzY2FwZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0RyYWZ0Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlTmFtZXNwYWNlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nRHREJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldER0ZEF0dHJEZXNjJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHZXREdGRFbGVtZW50RGVzYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0RHRkTm90YXRpb25EZXNjJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHZXREdGRRQXR0ckRlc2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldER0ZFFFbGVtZW50RGVzYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVEdGQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdEdERzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3hsaW5rSXNMaW5rJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJc01peGVkRWxlbWVudCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0R0ZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sVmFsaWRDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZEdldFZhbGlkRWxlbWVudHMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdEdW1wcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWZmZXJEdW1wJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDMTRORG9jRHVtcE1lbW9yeScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQzE0TkRvY1NhdmUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEMxNE5Eb2NTYXZlVG8nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEMxNE5FeGVjdXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEZWJ1Z0R1bXBBdHRyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEZWJ1Z0R1bXBBdHRyTGlzdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRGVidWdEdW1wRFREJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEZWJ1Z0R1bXBEb2N1bWVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRGVidWdEdW1wRG9jdW1lbnRIZWFkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEZWJ1Z0R1bXBFbnRpdGllcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRGVidWdEdW1wTm9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRGVidWdEdW1wTm9kZUxpc3QnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERlYnVnRHVtcE9uZU5vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERlYnVnRHVtcFN0cmluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhEZWJ1Z0R1bXBDb21wRXhwcicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0R1cGxpY2F0ZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoQWRkRW50cnknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEhhc2hBZGRFbnRyeTInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEhhc2hBZGRFbnRyeTMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbExpc3REdXAnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRWxlbWVudE1peGVkQ29udGVudERlY2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlRWxlbWVudERlY2wnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgPC9sZXR0ZXI+CisgICAgICA8bGV0dGVyIG5hbWU9J0UnPgorICAgICAgICA8d29yZCBuYW1lPSdFTEVNRU5UJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxFbGVtZW50Q29udGVudCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0VNUFRZJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRWxlbWVudENvbnRlbnREZWNsJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nRU5USVRJRVMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VBdHRyaWJ1dGVUeXBlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZUF0dHJpYnV0ZVZhbHVlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZUR0ZEZpbmFsJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nRU5USVRZJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxQYXJzZUVudGl0eVJlZicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VBdHRyaWJ1dGVUeXBlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVudGl0eVJlZicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbnRpdHlWYWx1ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVBdHRyaWJ1dGVWYWx1ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVEdGRGaW5hbCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0VOVElUWV9SRUYnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnVmR2V0Tm9kZUNvbnRlbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVCdWZHZXRDb250ZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlR2V0Q29udGVudCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0VOVElUWV9SRUZzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld0NoaWxkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlTGlzdEdldFJhd1N0cmluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUxpc3RHZXRTdHJpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cmluZ0dldE5vZGVMaXN0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJpbmdMZW5HZXROb2RlTGlzdCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0VUYWcnPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbFBhcnNlRWxlbWVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbGVtZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVuZFRhZycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0VYU0xUJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRGlmZmVyZW5jZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhEaXN0aW5jdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhEaXN0aW5jdFNvcnRlZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhIYXNTYW1lTm9kZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoSW50ZXJzZWN0aW9uJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aExlYWRpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTGVhZGluZ1NvcnRlZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb2RlTGVhZGluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb2RlTGVhZGluZ1NvcnRlZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb2RlVHJhaWxpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm9kZVRyYWlsaW5nU29ydGVkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFRyYWlsaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFRyYWlsaW5nU29ydGVkJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nRWxlbWVudCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sQXR0cmlidXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sRWxlbWVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbEVsZW1lbnRDb250ZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sTm9kZVN0YXR1cycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRmlyc3RFbGVtZW50Q2hpbGQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbExhc3RFbGVtZW50Q2hpbGQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQXR0cmlidXRlVHlwZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VEb2NUeXBlRGVjbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbGVtZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVsZW1lbnRDaGlsZHJlbkNvbnRlbnREZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVsZW1lbnRDb250ZW50RGVjbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbGVtZW50RGVjbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbGVtZW50TWl4ZWRDb250ZW50RGVjbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclJlYWRTdHJpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlRWxlbWVudERlY2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlT25lRWxlbWVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVSb290Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nRWxlbWVudFRhYmxlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxUYWdMb29rdXAnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdFbXB0aWVzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRW1wdHlOb2RlU2V0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nRW1wdHlFbGVtVGFnJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxQYXJzZUVsZW1lbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRWxlbWVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VTdGFydFRhZycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0VtcHR5RWxlbWVudCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVN0YXJ0VGFnJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nRW5jTmFtZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVuY05hbWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRW5jb2RpbmdEZWNsJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nRW5jYXBzdWxhdGluZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlR2V0QmFzZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0VuY2xvc2VkQWxwaGFudW1lcmljcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0VuY2xvc2VkQWxwaGFudW1lcmljcycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0VuY2xvc2VkQ0pLTGV0dGVyc2FuZE1vbnRocyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0VuY2xvc2VkQ0pLTGV0dGVyc2FuZE1vbnRocycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0VuY29kaW5nJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxHZXRNZXRhRW5jb2RpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldENoYXJFbmNvZGluZ05hbWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQ2hhckVuY29kaW5nJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nRW5jb2RpbmdEZWNsJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRW5jb2RpbmdEZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVRleHREZWNsJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nRW5jb2RpbmdEZWNsPyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVhNTERlY2wnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdFbmQnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbERvYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbER0ZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbE5vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJHZXRSZW1haW5kZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJFbmRBdHRyaWJ1dGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJFbmRDREFUQScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlckVuZENvbW1lbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJFbmREVEQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJFbmREVERBdHRsaXN0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyRW5kRFRERWxlbWVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlckVuZERUREVudGl0eScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlckVuZERvY3VtZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyRW5kRWxlbWVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlckVuZFBJJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyRnVsbEVuZEVsZW1lbnQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdFbmQtb2YtTGluZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDdXJyZW50Q2hhcicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0Vuc3VyZXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRE9NV3JhcFJlY29uY2lsZU5hbWVzcGFjZXMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdFbnRpdGllcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHZXRDaGFyRW5jb2RpbmdOYW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUNoYXJFbmNvZGluZycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0VudGl0aWVzVGFibGUnPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbEVudGl0eUxvb2t1cCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbEVudGl0eVZhbHVlTG9va3VwJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nRW50aXR5Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxFbnRpdHknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ1ZkdldE5vZGVDb250ZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdFbnRpdHlJbnB1dFN0cmVhbScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUJ1ZkdldENvbnRlbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVHZXRCYXNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlR2V0Q29udGVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VBdHRyaWJ1dGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQXR0cmlidXRlVHlwZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbnRpdHlSZWYnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlUEVSZWZlcmVuY2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlckhhbmRsZVBFUmVmZXJlbmNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJIYW5kbGVSZWZlcmVuY2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlQXR0cmlidXRlVmFsdWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlT25lQXR0cmlidXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZU9uZU5hbWVzcGFjZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0VudGl0eURlY2wnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbnRpdHlEZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZU1hcmt1cERlY2wnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdFbnRpdHlEZWYnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbnRpdHlEZWNsJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nRW50aXR5UmVmJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxQYXJzZUVudGl0eVJlZicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRGVjb2RlRW50aXRpZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRW50aXR5UmVmJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVJlZmVyZW5jZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySGFuZGxlUmVmZXJlbmNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJpbmdEZWNvZGVFbnRpdGllcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyaW5nTGVuRGVjb2RlRW50aXRpZXMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdFbnRpdHlSZWZlcmVuY2UnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclJlYWRBdHRyaWJ1dGVWYWx1ZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0VudGl0eVZhbHVlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRW50aXR5RGVjbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbnRpdHlWYWx1ZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0VudW1lcmF0ZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbnVtZXJhdGVkVHlwZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0VudW1lcmF0ZWRUeXBlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQXR0cmlidXRlVHlwZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbnVtZXJhdGVkVHlwZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0VudW1lcmF0aW9uJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxFbnVtZXJhdGlvbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbnVtZXJhdGVkVHlwZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbnVtZXJhdGlvblR5cGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlQXR0cmlidXRlRGVjbCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0VxdWFsJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0clFFcXVhbCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0VzY2FwaW5nJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVSSUVzY2FwZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0V0aGlvcGljJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzRXRoaW9waWMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdFdmFsdWF0ZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENvbXBpbGVkRXZhbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhFdmFsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEV2YWxFeHByZXNzaW9uJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEV2YWxQcmVkaWNhdGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRXZhbHVhdGVQcmVkaWNhdGVSZXN1bHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm9kZUV2YWwnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQdHJFdmFsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyRXZhbFJhbmdlUHJlZGljYXRlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nRXZhbHVhdGVzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEV4cEV4cERlcml2ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hSXNCdWlsdEluVHlwZUZhY2V0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nRXZlcnl0aGluZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sUGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nc2V0RG9jdW1lbnRMb2NhdG9yJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdzZXREb2N1bWVudExvY2F0b3JTQVhGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVgyU2V0RG9jdW1lbnRMb2NhdG9yJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nRXhhbWluZXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSGFzRmVhdHVyZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0V4Y2x1c2l2ZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDMTRORG9jRHVtcE1lbW9yeScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQzE0TkRvY1NhdmUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEMxNE5Eb2NTYXZlVG8nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEMxNE5FeGVjdXRlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nRXhpc3RpbmcnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQWRkRW5jb2RpbmdBbGlhcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFJlbW92ZUVudHJ5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoUmVtb3ZlRW50cnkyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoUmVtb3ZlRW50cnkzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoVXBkYXRlRW50cnknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEhhc2hVcGRhdGVFbnRyeTInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEhhc2hVcGRhdGVFbnRyeTMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdFeHAnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFDb21waWxlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nRXhwZXJpbWVudGFsJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxOb2RlU3RhdHVzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nRXhwcic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEV2YWxQcmVkaWNhdGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRXZhbHVhdGVQcmVkaWNhdGVSZXN1bHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQdHJFdmFsUmFuZ2VQcmVkaWNhdGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdFeHByZXNzZXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnVpbGRSZWxhdGl2ZVVSSScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0V4cHJlc3Npb24nPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhFdmFsUHJlZGljYXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEV2YWx1YXRlUHJlZGljYXRlUmVzdWx0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nRXh0ZW5kZXInPgorICAgICAgICAgIDxyZWYgbmFtZT0nSVNfRVhURU5ERVInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbWVzcGFjZVBhcnNlTkNOYW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZU5hbWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjYW5OYW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFBhcnNlTkNOYW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFBhcnNlTmFtZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0V4dGVybmFsJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxEdGQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxFbnRpdHknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEFDYXRhbG9nUmVzb2x2ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2F0YWxvZ0xvY2FsUmVzb2x2ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2F0YWxvZ1Jlc29sdmUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEV4dGVybmFsRW50aXR5TG9hZGVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUF0dHJpYnV0ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VEVEQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRXh0ZXJuYWxJRCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYUGFyc2VEVEQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdFeHRlcm5hbElEJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRG9jVHlwZURlY2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRW50aXR5RGVjbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFeHRlcm5hbElEJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZU5vdGF0aW9uRGVjbCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0V4dHJhY3QnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVnRXhlY0VyckluZm8nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlZ0V4ZWNOZXh0VmFsdWVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFHZXRGYWNldFZhbHVlQXNVTG9uZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3Ryc3ViJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgIDwvbGV0dGVyPgorICAgIDwvY2h1bms+CisgICAgPGNodW5rIG5hbWU9J2NodW5rMyc+CisgICAgICA8bGV0dGVyIG5hbWU9J0YnPgorICAgICAgICA8d29yZCBuYW1lPSdGQUxTRSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyU3RhcnREVERFbnRpdHknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZURUREVudGl0eScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRFRERXh0ZXJuYWxFbnRpdHknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZURUREludGVybmFsRW50aXR5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVERJbnRlcm5hbEVudGl0eScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREludGVybmFsRW50aXR5Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nRkZGRSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdJU19DSEFSJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nRkZGRic+CisgICAgICAgICAgPHJlZiBuYW1lPSdJU19DSEFSJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nRklYRUQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0Tm9Oc1Byb3AnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldE5zUHJvcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0UHJvcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSGFzTnNQcm9wJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNQcm9wJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZURlZmF1bHREZWNsJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nRlJFRSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFHZXRDYW5vblZhbHVlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nRmFjZXQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hRnJlZUZhY2V0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFOZXdGYWNldCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0ZhbHNlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJvb2xUb1RleHQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdGZXRjaCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vRlRQR2V0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nRmlsZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyR2V0UmVtYWluZGVyJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nRmlsbHMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnVmR2V0Tm9kZUNvbnRlbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVCdWZHZXRDb250ZW50Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nRmluZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFeHBHZXRMYW5ndWFnZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRXhwR2V0U3RhcnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldFJlZnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEhhc2hMb29rdXAnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEhhc2hMb29rdXAyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoTG9va3VwMycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFFMb29rdXAnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEhhc2hRTG9va3VwMicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFFMb29rdXAzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoUmVtb3ZlRW50cnknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEhhc2hSZW1vdmVFbnRyeTInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEhhc2hSZW1vdmVFbnRyeTMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlckZpbmROb2RlSW5mbycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VyRmluZE5vZGVJbmZvSW5kZXgnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdGaW5kcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGlsZEVsZW1lbnRDb3VudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRXhwSXNOaWxsYWJsZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRmlyc3RFbGVtZW50Q2hpbGQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbExhc3RFbGVtZW50Q2hpbGQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5leHRFbGVtZW50U2libGluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUHJldmlvdXNFbGVtZW50U2libGluZycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0ZpcnN0Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfRklYVVBfMScvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbEVudGl0eScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0ZpeGVkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRGVmYXVsdERlY2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlT25lQXR0cmlidXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZU9uZU5hbWVzcGFjZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0Zsb2F0Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoU3RyaW5nRXZhbE51bWJlcicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0ZsdXNoJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNhdmVGbHVzaCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlckZsdXNoJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nRm9yJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxQYXJzZXJDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDMTRORG9jRHVtcE1lbW9yeScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQzE0TkRvY1NhdmUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEMxNE5Eb2NTYXZlVG8nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEMxNE5FeGVjdXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDdHh0UmVzZXRMYXN0RXJyb3InLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQ29tbWVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbGVtZW50Q2hpbGRyZW5Db250ZW50RGVjbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVzZXRMYXN0RXJyb3InLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNldEdlbmVyaWNFcnJvckZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNldFN0cnVjdHVyZWRFcnJvckZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoU3Vic3RyaW5nQWZ0ZXJGdW5jdGlvbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhTdWJzdHJpbmdCZWZvcmVGdW5jdGlvbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhTdWJzdHJpbmdGdW5jdGlvbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhUcmFuc2xhdGVGdW5jdGlvbicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0Zvcm0nPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnVpbGRVUkknLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdGb3JtYXRpbmcnPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbERvY0NvbnRlbnREdW1wT3V0cHV0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nRm9ybWF0cyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJQcmludGYnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0clZQcmludGYnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoZXJyb3InLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdGb3JtZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVjb3ZlckRvYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVjb3ZlckZpbGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlY292ZXJNZW1vcnknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWFBhcnNlRG9jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVhQYXJzZUZpbGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWFBhcnNlRmlsZVdpdGhEYXRhJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVhQYXJzZU1lbW9yeScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYUGFyc2VNZW1vcnlXaXRoRGF0YScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0ZyYWdtZW50Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld0RvY0ZyYWdtZW50Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nRnJhbWVzZXQnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX2h0bWxFbGVtRGVzYycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0ZyZWVzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ1ZmZlckZyZWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERPTVdyYXBGcmVlQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUEZyZWVDdHh0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nRnJvbnQtZW5kJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoYXJFbmNGaXJzdExpbmUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdGdW5jdGlvbic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWZDb250ZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWZFbmQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ1ZlVzZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnVmZmVyQ29udGVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnVmZmVyTGVuZ3RoJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTZXRHZW5lcmljRXJyb3JGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTZXRTdHJ1Y3R1cmVkRXJyb3JGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEZ1bmN0aW9uTG9va3VwJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEZ1bmN0aW9uTG9va3VwTlMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgPC9sZXR0ZXI+CisgICAgICA8bGV0dGVyIG5hbWU9J0cnPgorICAgICAgICA8d29yZCBuYW1lPSdHQ0MnPgorICAgICAgICAgIDxyZWYgbmFtZT0nQVRUUklCVVRFX1VOVVNFRCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nTElCWE1MX0FUVFJfQUxMT0NfU0laRScvPgorICAgICAgICAgIDxyZWYgbmFtZT0nTElCWE1MX0FUVFJfRk9STUFUJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nR0VEZWNsJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRW50aXR5RGVjbCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0dFVCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUEZldGNoJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUE9wZW4nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9IVFRQT3BlblJlZGlyJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nR2VuZXJhbFB1bmN0dWF0aW9uJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzR2VuZXJhbFB1bmN0dWF0aW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nR2VuZXJpYyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGFyRW5jQ2xvc2VGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGFyRW5jSW5GdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGFyRW5jT3V0RnVuYycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0dlb21ldHJpY1NoYXBlcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0dlb21ldHJpY1NoYXBlcycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0dlb3JnaWFuJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzR2VvcmdpYW4nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdHZXRzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJSZWFkU3RhdGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdHaXZlcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxPdXRwdXRCdWZmZXJHZXRDb250ZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxPdXRwdXRCdWZmZXJHZXRTaXplJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFHZXRCdWlsdEluVHlwZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0dsb2JhbCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sRG9jJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nR290aGljJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzR290aGljJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nR3JlZWsnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNHcmVlaycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0dyZWVrRXh0ZW5kZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNHcmVla0V4dGVuZGVkJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nR3JlZWthbmRDb3B0aWMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNHcmVla2FuZENvcHRpYycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0dyb3VwJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRWxlbWVudE1peGVkQ29udGVudERlY2wnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdHcm93Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ1ZmZlckdyb3cnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyR3JvdycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0d1ZXNzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERldGVjdENoYXJFbmNvZGluZycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0d1amFyYXRpJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzR3VqYXJhdGknLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdHdXJtdWtoaSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0d1cm11a2hpJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgIDwvbGV0dGVyPgorICAgICAgPGxldHRlciBuYW1lPSdIJz4KKyAgICAgICAgPHdvcmQgbmFtZT0nSFRNTF9ERVBSRUNBVEVEJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxBdHRyQWxsb3dlZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbEVsZW1lbnRTdGF0dXNIZXJlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nSFRNTF9JTlZBTElEJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxBdHRyQWxsb3dlZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbEVsZW1lbnRTdGF0dXNIZXJlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nSFRNTF9OQSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sTm9kZVN0YXR1cycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0hUTUxfUkVRVUlSRUQnPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbEF0dHJBbGxvd2VkJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nSFRNTF9WQUxJRCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sQXR0ckFsbG93ZWQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxFbGVtZW50U3RhdHVzSGVyZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0hhY2tpbmcnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckN1cnJlbnREb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJDdXJyZW50Tm9kZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0hhbGZ3aWR0aGFuZEZ1bGx3aWR0aEZvcm1zJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzSGFsZndpZHRoYW5kRnVsbHdpZHRoRm9ybXMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdIYW5kbGUnPgorICAgICAgICAgIDxyZWYgbmFtZT0nYXR0cmlidXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdhdHRyaWJ1dGVTQVhGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFcnJNZW1vcnknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRXJyJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nSGFuZGxpbmcnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ3VycmVudENoYXInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdIYW5ndWxDb21wYXRpYmlsaXR5SmFtbyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0hhbmd1bENvbXBhdGliaWxpdHlKYW1vJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nSGFuZ3VsSmFtbyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0hhbmd1bEphbW8nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdIYW5ndWxTeWxsYWJsZXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNIYW5ndWxTeWxsYWJsZXMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdIYW51bm9vJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzSGFudW5vbycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0hhcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sQXR0ckFsbG93ZWQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdIYXNoJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxEb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxEdGQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxYUGF0aENvbnRleHQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdIZWJyZXcnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNIZWJyZXcnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdIZW5jZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZU5vdGF0aW9uRGVjbCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0hpZ2hQcml2YXRlVXNlU3Vycm9nYXRlcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0hpZ2hQcml2YXRlVXNlU3Vycm9nYXRlcycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0hpZ2hTdXJyb2dhdGVzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzSGlnaFN1cnJvZ2F0ZXMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdIaXJhZ2FuYSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0hpcmFnYW5hJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nSG1tJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbHVlR2V0QXNCb29sZWFuJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nSG9sZHMnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFNjaGVtYVR5cGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdIb3cnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFBhcnNlcklucHV0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nSG93ZXZlcic+CisgICAgICAgICAgPHJlZiBuYW1lPSdkb2NiRnJlZVBhcnNlckN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxGcmVlUGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRnJlZVBhcnNlckN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVHZXRCYXNlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgIDwvbGV0dGVyPgorICAgICAgPGxldHRlciBuYW1lPSdJJz4KKyAgICAgICAgPHdvcmQgbmFtZT0nSTE4Tic+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sT3V0cHV0QnVmZmVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sUGFyc2VySW5wdXRCdWZmZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dEJ1ZmZlcldyaXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxPdXRwdXRCdWZmZXJXcml0ZUVzY2FwZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyR3JvdycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySW5wdXRCdWZmZXJQdXNoJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJJbnB1dEJ1ZmZlclJlYWQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdJQU5BJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoZWNrTGFuZ3VhZ2VJRCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0lEUkVGJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQXR0cmlidXRlVHlwZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVBdHRyaWJ1dGVEZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZUF0dHJpYnV0ZVZhbHVlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZURvY3VtZW50RmluYWwnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlRHRkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZU9uZUF0dHJpYnV0ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVPbmVFbGVtZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZU9uZU5hbWVzcGFjZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0lEUkVGUyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUF0dHJpYnV0ZVR5cGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlQXR0cmlidXRlVmFsdWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlRG9jdW1lbnRGaW5hbCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0lEUkVGcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sRG9jJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nSURzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoSWRGdW5jdGlvbicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0lFRUUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDb21wYXJlVmFsdWVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFN0cmluZ0Z1bmN0aW9uJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFN1YnN0cmluZ0Z1bmN0aW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nSU1QTElFRCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUF0dHJpYnV0ZVR5cGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRGVmYXVsdERlY2wnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdJUEFFeHRlbnNpb25zJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzSVBBRXh0ZW5zaW9ucycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0lTTyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdVVEY4VG9pc29sYXQxJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfQ0FTVF9GUFRSJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdpc29sYXQxVG9VVEY4Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGVja0xhbmd1YWdlSUQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdJU08tODg1OS0nPgorICAgICAgICAgIDxyZWYgbmFtZT0nTElCWE1MX0lTTzg4NTlYX0VOQUJMRUQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdJU08tTGF0aW4nPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlSZWNvdmVyJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nSVNPNjM5Q29kZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGVja0xhbmd1YWdlSUQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdJU09MYXRpbic+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sT3V0cHV0QnVmZmVyJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nSVNfQkxBTksnPgorICAgICAgICAgIDxyZWYgbmFtZT0nSVNfQkxBTktfQ0gnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdJU19DSEFSJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0lTX0NIQVJfQ0gnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdJU19ESUdJVCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdJU19ESUdJVF9DSCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0lTX0VYVEVOREVSJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0lTX0VYVEVOREVSX0NIJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nSVNfTEVUVEVSJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0lTX0xFVFRFUl9DSCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0lTX1BVQklEQ0hBUic+CisgICAgICAgICAgPHJlZiBuYW1lPSdJU19QVUJJRENIQVJfQ0gnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdJYW5hQ29kZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGVja0xhbmd1YWdlSUQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdJZGVudGlmaWVyJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEFDYXRhbG9nUmVzb2x2ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2F0YWxvZ0xvY2FsUmVzb2x2ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2F0YWxvZ1Jlc29sdmUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdJZGVudGlmaWVycyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfTUFYX05BTUVMRU4nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdJZGVvZ3JhcGhpYyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdJU19JREVPR1JBUEhJQycvPgorICAgICAgICAgIDxyZWYgbmFtZT0nSVNfTEVUVEVSJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJc0xldHRlcicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0lkZW9ncmFwaGljRGVzY3JpcHRpb25DaGFyYWN0ZXJzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzSWRlb2dyYXBoaWNEZXNjcmlwdGlvbkNoYXJhY3RlcnMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdJZ25vcmUnPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfQU5ZQVRUUl9MQVgnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdJZ25vcmVkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENvcHlDaGFyJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nSW1wbGVtZW50cyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTaGVsbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2hlbGxCYXNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTaGVsbENhdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2hlbGxEaXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNoZWxsRHUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNoZWxsTGlzdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2hlbGxMb2FkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTaGVsbFB3ZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2hlbGxTYXZlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTaGVsbFZhbGlkYXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTaGVsbFdyaXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aERpZmZlcmVuY2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRGlzdGluY3QnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRGlzdGluY3RTb3J0ZWQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoSGFzU2FtZU5vZGVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEludGVyc2VjdGlvbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhMZWFkaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aExlYWRpbmdTb3J0ZWQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm9kZUxlYWRpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm9kZUxlYWRpbmdTb3J0ZWQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm9kZVNldEl0ZW0nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm9kZVRyYWlsaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vZGVUcmFpbGluZ1NvcnRlZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhUcmFpbGluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhUcmFpbGluZ1NvcnRlZCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0luY2x1ZGVkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlckhhbmRsZVBFUmVmZXJlbmNlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nSW5jcmVhc2UnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRXhwUmVmJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nSW5jcmVtZW50Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERpY3RSZWZlcmVuY2UnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdJbmRpY2F0ZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFeHBNYXhUb2tlbicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0luZGljYXRlcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sU2NoZW1hV2lsZGNhcmQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdJbmZpbml0eSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFN0cmluZ0Z1bmN0aW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nSW5pdGlhbCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YUdldEluaXRTdGF0ZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0luaXRpYWxpemF0aW9uJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEluaXRQYXJzZXInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdJbml0aWFsaXplJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2RvY2JEZWZhdWx0U0FYSGFuZGxlckluaXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxEZWZhdWx0U0FYSGFuZGxlckluaXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxJbml0QXV0b0Nsb3NlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdpbml0ZG9jYkRlZmF1bHRTQVhIYW5kbGVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdpbml0aHRtbERlZmF1bHRTQVhIYW5kbGVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdpbml0eG1sRGVmYXVsdFNBWEhhbmRsZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERlZmF1bHRTQVhIYW5kbGVySW5pdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSW5pdENoYXJFbmNvZGluZ0hhbmRsZXJzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJbml0TWVtb3J5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJbml0Tm9kZUluZm9TZXEnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEluaXRQYXJzZXJDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vRlRQSW5pdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUFNjYW5Qcm94eScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0hUVFBJbml0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUFNjYW5Qcm94eScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYMkluaXREZWZhdWx0U0FYSGFuZGxlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYMkluaXREb2NiRGVmYXVsdFNBWEhhbmRsZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWDJJbml0SHRtbERlZmF1bHRTQVhIYW5kbGVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVhWZXJzaW9uJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFJbml0VHlwZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoSW5pdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhSb290Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nSW5pdGlhbGx5Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdJbml0aWF0ZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vRlRQR2V0U29ja2V0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nSW5pdGlsaXplJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4TkdJbml0VHlwZXMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdJbnB1dCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sUGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSU9QYXJzZURURCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSW5wdXRDbG9zZUNhbGxiYWNrJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJbnB1dE1hdGNoQ2FsbGJhY2snLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbElucHV0T3BlbkNhbGxiYWNrJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJbnB1dFJlYWRDYWxsYmFjaycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3SU9JbnB1dFN0cmVhbScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0luc2VydCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0QXBwZW5kJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0SW5zZXJ0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJBZGROb2RlSW5mbycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0luc3RydWN0aW9uJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlUEknLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdJbnN0dWN0aW9uJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9DQVRBTE9HX1BJJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nSW50ZW5kZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU25wcmludGZFbGVtZW50Q29udGVudCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0ludGVybmFsJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxET01XcmFwQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VNYXJrdXBEZWNsJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nSW50cm9kdWNlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfTUFYX0RJQ1RJT05BUllfTElNSVQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9NQVhfTE9PS1VQX0xJTUlUJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfTUFYX05BTUVfTEVOR1RIJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfTUFYX1RFWFRfTEVOR1RIJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nSXJyZWd1bGFyJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoZWNrTGFuZ3VhZ2VJRCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICA8L2xldHRlcj4KKyAgICA8L2NodW5rPgorICAgIDxjaHVuayBuYW1lPSdjaHVuazQnPgorICAgICAgPGxldHRlciBuYW1lPSdKJz4KKyAgICAgICAgPHdvcmQgbmFtZT0nSmFuJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J19odG1sRWxlbURlc2MnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdKYXZhJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoZWNrVVRGOCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICA8L2xldHRlcj4KKyAgICAgIDxsZXR0ZXIgbmFtZT0nSyc+CisgICAgICAgIDx3b3JkIG5hbWU9J0thbmJ1bic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0thbmJ1bicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0thbmd4aVJhZGljYWxzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzS2FuZ3hpUmFkaWNhbHMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdLYW5uYWRhJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzS2FubmFkYScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0thdGFrYW5hJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzS2F0YWthbmEnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdLYXRha2FuYVBob25ldGljRXh0ZW5zaW9ucyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0thdGFrYW5hUGhvbmV0aWNFeHRlbnNpb25zJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nS2htZXInPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNLaG1lcicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0tobWVyU3ltYm9scyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0tobWVyU3ltYm9scycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICA8L2xldHRlcj4KKyAgICAgIDxsZXR0ZXIgbmFtZT0nTCc+CisgICAgICAgIDx3b3JkIG5hbWU9J0xhbmdjb2RlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoZWNrTGFuZ3VhZ2VJRCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0xhbmd1YWdlSUQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hlY2tMYW5ndWFnZUlEJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nTGFvJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzTGFvJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nTGFzdCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sRW50aXR5Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nTGF0aW4nPgorICAgICAgICAgIDxyZWYgbmFtZT0nVVRGOFRvaXNvbGF0MScvPgorICAgICAgICAgIDxyZWYgbmFtZT0naXNvbGF0MVRvVVRGOCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0xhdGluLTFTdXBwbGVtZW50Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzTGF0aW4xU3VwcGxlbWVudCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0xhdGluRXh0ZW5kZWQtQSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0xhdGluRXh0ZW5kZWRBJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nTGF0aW5FeHRlbmRlZC1CJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzTGF0aW5FeHRlbmRlZEInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdMYXRpbkV4dGVuZGVkQWRkaXRpb25hbCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0xhdGluRXh0ZW5kZWRBZGRpdGlvbmFsJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nTGVnYWwnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VDaGFyUmVmJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZURlZmF1bHREZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZUF0dHJpYnV0ZURlY2wnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdMZW5ndGgnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRG9jRHVtcEZvcm1hdE1lbW9yeUVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRG9jRHVtcE1lbW9yeUVuYycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0xldHRlcic+CisgICAgICAgICAgPHJlZiBuYW1lPSdJU19MRVRURVInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbElzTGV0dGVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW1lc3BhY2VQYXJzZU5DTmFtZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VOYW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2FuTmFtZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhQYXJzZU5DTmFtZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhQYXJzZU5hbWUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdMZXR0ZXJsaWtlU3ltYm9scyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0xldHRlcmxpa2VTeW1ib2xzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nTGlrZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE9yZGVyRG9jRWxlbXMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdMaW1idSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0xpbWJ1Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nTGluZWFyQklkZW9ncmFtcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0xpbmVhckJJZGVvZ3JhbXMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdMaW5lYXJCU3lsbGFiYXJ5Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzTGluZWFyQlN5bGxhYmFyeScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0xpc3QnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbEVsZW1lbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxQYXJzZXJDdHh0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nTGl0ZXJhbCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVN5c3RlbUxpdGVyYWwnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdMb2FkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbElPUGFyc2VEVEQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbExvYWRBQ2F0YWxvZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTG9hZENhdGFsb2cnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbExvYWRDYXRhbG9ncycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTG9hZEV4dGVybmFsRW50aXR5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxMb2FkU0dNTFN1cGVyQ2F0YWxvZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VEVEQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWFBhcnNlRFREJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nTG9jYWwnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbE91dHB1dEJ1ZmZlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFBhcnNlcklucHV0QnVmZmVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sU2NoZW1hVHlwZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0xvY2FsUGFydCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW1lc3BhY2VQYXJzZVFOYW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTcGxpdFFOYW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTcGxpdFFOYW1lMicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0xvY2F0aW9uJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRXZhbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb2RlRXZhbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFB0ckV2YWwnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQdHJFdmFsUmFuZ2VQcmVkaWNhdGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdMb2NhdGlvblNldCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyRnJlZUxvY2F0aW9uU2V0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyTG9jYXRpb25TZXRBZGQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQdHJMb2NhdGlvblNldERlbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFB0ckxvY2F0aW9uU2V0TWVyZ2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQdHJMb2NhdGlvblNldFJlbW92ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFB0ck5ld0xvY2F0aW9uU2V0Tm9kZVNldCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFB0ck5ld0xvY2F0aW9uU2V0Tm9kZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQdHJXcmFwTG9jYXRpb25TZXQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdMb2NhdG9yJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3NldERvY3VtZW50TG9jYXRvcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0nc2V0RG9jdW1lbnRMb2NhdG9yU0FYRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYMlNldERvY3VtZW50TG9jYXRvcicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0xvb2t1cCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sRW50aXR5TG9va3VwJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sRW50aXR5VmFsdWVMb29rdXAnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxUYWdMb29rdXAnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldEVuY29kaW5nQWxpYXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE1vZHVsZVN5bWJvbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hR2V0QnVpbHRJbkxpc3RTaW1wbGVUeXBlSXRlbVR5cGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUdldFByZWRlZmluZWRUeXBlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nTG9vc2UnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX2h0bWxFbGVtRGVzYycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J0xvd1N1cnJvZ2F0ZXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNMb3dTdXJyb2dhdGVzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nTHptYSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdMSUJYTUxfTFpNQV9FTkFCTEVEJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgIDwvbGV0dGVyPgorICAgICAgPGxldHRlciBuYW1lPSdNJz4KKyAgICAgICAgPHdvcmQgbmFtZT0nTUVUQSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sU2V0TWV0YUVuY29kaW5nJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nTU9ESUZJRVInPgorICAgICAgICAgIDxyZWYgbmFtZT0nX2h0bWxFbGVtRGVzYycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J01VTFQnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbEVsZW1lbnRDb250ZW50Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nTVVTVCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDMTRORG9jU2F2ZVRvJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDMTRORXhlY3V0ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlck5vcm1hbGl6YXRpb24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdNYWtlcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YVNldEZpbmFsU3RhdGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdNYWxheWFsYW0nPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNNYWxheWFsYW0nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdNYXBzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoaWxkcmVuTm9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUm9vdE5vZGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdNYXJrcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19BVFRSR1JPVVBfTUFSS0VEJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX0JVSUxUSU5fUFJJTUlUSVZFJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX01BUktFRCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J01hcmt1cCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUV4dGVybmFsU3Vic2V0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZU1hcmt1cERlY2wnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdNYXRjaCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVsZW1lbnQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdNYXRoZW1hdGljYWxBbHBoYW51bWVyaWNTeW1ib2xzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzTWF0aGVtYXRpY2FsQWxwaGFudW1lcmljU3ltYm9scycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J01hdGhlbWF0aWNhbE9wZXJhdG9ycyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc01hdGhlbWF0aWNhbE9wZXJhdG9ycycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J01heCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sUGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFZhbGlkQ3R4dCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J01heGltdW0nPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX01BWF9ESUNUSU9OQVJZX0xJTUlUJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfTUFYX0xPT0tVUF9MSU1JVCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX01BWF9OQU1FX0xFTkdUSCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX01BWF9URVhUX0xFTkdUSCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J01heSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVUklFc2NhcGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdNZW1vcnknPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRG9jRHVtcEZvcm1hdE1lbW9yeUVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRG9jRHVtcE1lbW9yeUVuYycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J01lcmdlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRNZXJnZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J01lcmdlcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vZGVTZXRNZXJnZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFB0ckxvY2F0aW9uU2V0TWVyZ2UnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdNZXRhJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxHZXRNZXRhRW5jb2RpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxTZXRNZXRhRW5jb2RpbmcnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdNZXRob2QnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckdldFJlbWFpbmRlcicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J01pbWUtVHlwZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUE1pbWVUeXBlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nTWluaW1hbCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFeHBQYXJzZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J01pc2MnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VEb2N1bWVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VNaXNjJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nTWlzY2VsbGFuZW91c01hdGhlbWF0aWNhbFN5bWJvbHMtQSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc01pc2NlbGxhbmVvdXNNYXRoZW1hdGljYWxTeW1ib2xzQScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J01pc2NlbGxhbmVvdXNNYXRoZW1hdGljYWxTeW1ib2xzLUInPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNNaXNjZWxsYW5lb3VzTWF0aGVtYXRpY2FsU3ltYm9sc0InLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdNaXNjZWxsYW5lb3VzU3ltYm9scyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc01pc2NlbGxhbmVvdXNTeW1ib2xzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nTWlzY2VsbGFuZW91c1N5bWJvbHNhbmRBcnJvd3MnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNNaXNjZWxsYW5lb3VzU3ltYm9sc2FuZEFycm93cycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J01pc2NlbGxhbmVvdXNUZWNobmljYWwnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNNaXNjZWxsYW5lb3VzVGVjaG5pY2FsJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nTWl4ZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSXNNaXhlZEVsZW1lbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRWxlbWVudENvbnRlbnREZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVsZW1lbnRNaXhlZENvbnRlbnREZWNsJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nTW9uZ29saWFuJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzTW9uZ29saWFuJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nTW9yZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFN1YnN0cmluZ0Z1bmN0aW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nTW92ZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0Q29weScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J01vdmVzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJNb3ZlVG9BdHRyaWJ1dGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJNb3ZlVG9BdHRyaWJ1dGVObycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlck1vdmVUb0F0dHJpYnV0ZU5zJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyTW92ZVRvRWxlbWVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlck1vdmVUb0ZpcnN0QXR0cmlidXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyTW92ZVRvTmV4dEF0dHJpYnV0ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclJlYWQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdNdXNpY2FsU3ltYm9scyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc011c2ljYWxTeW1ib2xzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nTXlhbm1hcic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc015YW5tYXInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgPC9sZXR0ZXI+CisgICAgICA8bGV0dGVyIG5hbWU9J04nPgorICAgICAgICA8d29yZCBuYW1lPSdOQU1FJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRFREJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVhQYXJzZURURCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J05DTmFtZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW1lc3BhY2VQYXJzZU5DTmFtZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFtZXNwYWNlUGFyc2VOU0RlZicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFtZXNwYWNlUGFyc2VRTmFtZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3BsaXRRTmFtZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3BsaXRRTmFtZTInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlTkNOYW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFBhcnNlTkNOYW1lJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nTkNOYW1lQ2hhcic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW1lc3BhY2VQYXJzZU5DTmFtZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhQYXJzZU5DTmFtZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J05EQVRBJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRW50aXR5RGVjbCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J05EYXRhRGVjbCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVudGl0eURlY2wnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdORGF0YURlY2w/Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRW50aXR5RGVjbCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J05NVE9LRU4nPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VBdHRyaWJ1dGVUeXBlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZUF0dHJpYnV0ZVZhbHVlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nTk1UT0tFTlMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VBdHRyaWJ1dGVUeXBlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZUF0dHJpYnV0ZVZhbHVlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nTk1Ub2tlbic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZU5NVG9rZW4nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdOT1RBVElPTic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVudW1lcmF0ZWRUeXBlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZU5vdGF0aW9uVHlwZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hR2V0Q2Fub25WYWx1ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hTmV3Tk9UQVRJT05WYWx1ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVEdGRGaW5hbCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J05PVEUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnVmU2hyaW5rJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDdHh0UmVhZEZkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUV4dGVybmFsSUQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlTm90YXRpb25EZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWFkRmQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlYWRlckZvckZkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWFkZXJOZXdGZCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J05PVEU6Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxQYXJzZXJJbnB1dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbFNldE1ldGFFbmNvZGluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hlY2tMYW5ndWFnZUlEJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwQWRvcHROb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwUmVjb25jaWxlTmFtZXNwYWNlcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRE9NV3JhcFJlbW92ZU5vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldFByb3AnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEluaXRDaGFyRW5jb2RpbmdIYW5kbGVycycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTW9kdWxlT3BlbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTW9kdWxlU3ltYm9sJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdDaGlsZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3RG9jTm9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3RG9jTm9kZUVhdE5hbWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld1RleHRDaGlsZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3VGV4dFdyaXRlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3VGV4dFdyaXRlclB1c2hQYXJzZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVBZGRDb250ZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlQWRkQ29udGVudExlbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9kZVNldENvbnRlbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVTZXRDb250ZW50TGVuJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUV4dGVybmFsSUQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlUEVSZWZlcmVuY2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlckhhbmRsZVBFUmVmZXJlbmNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJlYW1QdXNoJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJlYW1QdXNoQXR0cicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyZWFtUHVzaE5vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJDdXJyZW50RG9jJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nTlJLJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J19odG1sRWxlbURlc2MnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdOU0RlZic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW1lc3BhY2VQYXJzZU5TRGVmJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nTmFOJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQm9vbGVhbkZ1bmN0aW9uJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aElzTmFOJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFN0cmluZ0Z1bmN0aW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nTmFtZUNoYXInPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VOYW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZU5tdG9rZW4nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjYW5OYW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFBhcnNlTmFtZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J05hbWVzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQXR0cmlidXRlVHlwZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VOYW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2FuTmFtZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVBdHRyaWJ1dGVWYWx1ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVOYW1lc1ZhbHVlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nTmFtZXNwYWNlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9YTUxfTkFNRVNQQUNFJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sRWxlbWVudENvbnRlbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld0dsb2JhbE5zJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdOcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb2RlU2V0RnJlZU5zJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyQnVpbGROb2RlTGlzdCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J05hbmVzcGFjZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sUGFyc2VyQ3R4dCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J05lZWRlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2FuTmFtZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J05lc3RpbmcnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbGVtZW50Q2hpbGRyZW5Db250ZW50RGVjbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbGVtZW50TWl4ZWRDb250ZW50RGVjbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VNYXJrdXBEZWNsJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nTmV3Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J19odG1sRWxlbURlc2MnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdObXRva2VuJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQXR0cmlidXRlVHlwZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbnVtZXJhdGlvblR5cGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlTm10b2tlbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVBdHRyaWJ1dGVWYWx1ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVObXRva2VuVmFsdWUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdObXRva2Vucyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUF0dHJpYnV0ZVR5cGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlTm10b2tlbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVBdHRyaWJ1dGVWYWx1ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVObXRva2Vuc1ZhbHVlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nTm9kZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sUGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFZhbGlkQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUxpc3RHZXRSYXdTdHJpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVMaXN0R2V0U3RyaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5ld05vZGVTZXQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdOb2RlSW5mbyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sUGFyc2VyQ3R4dCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J05vZGVMaXN0Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm9kZVNldEdldExlbmd0aCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb2RlU2V0SXRlbScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J05vZGVQdHInPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXdOb2RlU2V0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5ld1ZhbHVlVHJlZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhXcmFwTm9kZVNldCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFB0ck5ld0xvY2F0aW9uU2V0Tm9kZXMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdOb2RlU2V0Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRnJlZU5vZGVTZXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV3Tm9kZVNldCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXdOb2RlU2V0TGlzdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb2RlU2V0QWRkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vZGVTZXRBZGROcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb2RlU2V0QWRkVW5pcXVlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vZGVTZXREZWwnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm9kZVNldE1lcmdlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vZGVTZXRSZW1vdmUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdOb2RlU2V0TGlzdCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEZyZWVOb2RlU2V0TGlzdCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J05vZGVUeXBlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoSXNOb2RlVHlwZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J05vZGVzZXQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXdOb2RlU2V0TGlzdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhXcmFwTm9kZVNldCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J05vbi1zdGF0aWMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSU9IVFRQT3BlblcnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdOb3JtYWxpemF0aW9uJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vcm1hbGl6ZVVSSVBhdGgnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdOb3JtYWxpemF0aW9uOic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUF0dFZhbHVlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nTm90Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxTY2hlbWFFbGVtZW50Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nTm90YU51bWJlcic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aElzTmFOJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nTm90YXRpb24nPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbE5vdGF0aW9uJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVudGl0eURlY2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlTm90YXRpb25UeXBlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZU5vdGF0aW9uVXNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZU9uZUF0dHJpYnV0ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVPbmVOYW1lc3BhY2UnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdOb3RhdGlvbkRlY2wnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VNYXJrdXBEZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZU5vdGF0aW9uRGVjbCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J05vdGF0aW9uVHlwZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVudW1lcmF0ZWRUeXBlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZU5vdGF0aW9uVHlwZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J05vdGU6Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2ZhdGFsRXJyb3JTQVhGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWlsZFJlbGF0aXZlVVJJJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGFyRW5jb2RpbmdPdXRwdXRGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHZXREdGRFbnRpdHknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQXR0VmFsdWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlTm90YXRpb25UeXBlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HTmV3RG9jUGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVVRGOFN0cnN1YicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J051bWJlcic+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sUGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhTdHJpbmdFdmFsTnVtYmVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFN0cmluZ0Z1bmN0aW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nTnVtYmVyRm9ybXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNOdW1iZXJGb3JtcycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICA8L2xldHRlcj4KKyAgICA8L2NodW5rPgorICAgIDxjaHVuayBuYW1lPSdjaHVuazUnPgorICAgICAgPGxldHRlciBuYW1lPSdPJz4KKyAgICAgICAgPHdvcmQgbmFtZT0nT0JTT0xFVEU6Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEhhbmRsZUVudGl0eScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J09OQ0UnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbEVsZW1lbnRDb250ZW50Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nT1BUJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxFbGVtZW50Q29udGVudCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J09VVCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUE1ldGhvZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0hUVFBNZXRob2RSZWRpcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVnRXhlY0VyckluZm8nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlZ0V4ZWNOZXh0VmFsdWVzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nT1VUOic+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sRG9jRHVtcE1lbW9yeScvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbERvY0R1bXBNZW1vcnlGb3JtYXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERvY0R1bXBGb3JtYXRNZW1vcnknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERvY0R1bXBNZW1vcnknLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdPYnNvbGV0ZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19BTllBVFRSX0xBWCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfQU5ZQVRUUl9TS0lQJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19BTllBVFRSX1NUUklDVCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfRUxFTV9OU0RFRkFVTFQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxTY2hlbWEnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxTY2hlbWFFbGVtZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sU2NoZW1hRmFjZXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxTY2hlbWFUeXBlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nT2J0YWluJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJMb2NhdG9yQmFzZVVSSScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckxvY2F0b3JMaW5lTnVtYmVyJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nT2doYW0nPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNPZ2hhbScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J09sZEl0YWxpYyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc09sZEl0YWxpYycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J09uZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdJTlBVVF9DSFVOSycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2xlYW51cFBhcnNlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VBdHRyaWJ1dGVUeXBlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTZXRHZW5lcmljRXJyb3JGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZUVsZW1lbnREZWNsJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nT3Blbic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJT0hUVFBPcGVuVycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J09wZW5zJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE1vZHVsZU9wZW4nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdPcHRpY2FsQ2hhcmFjdGVyUmVjb2duaXRpb24nPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNPcHRpY2FsQ2hhcmFjdGVyUmVjb2duaXRpb24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdPcHRpb25hbCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfaHRtbEVsZW1EZXNjJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nT3JpeWEnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNPcml5YScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J09zbWFueWEnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNPc21hbnlhJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nT3RoZXInPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDb250ZXh0U2V0Q2FjaGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdPdGhlcndpc2UnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyZWFtUHVzaCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyZWFtUHVzaEF0dHInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdPdXRwdXQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sT3V0cHV0Q2xvc2VDYWxsYmFjaycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sT3V0cHV0TWF0Y2hDYWxsYmFjaycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sT3V0cHV0T3BlbkNhbGxiYWNrJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxPdXRwdXRXcml0ZUNhbGxiYWNrJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRGVmYXVsdCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J092ZXJyaWRlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdjTWVtU2V0dXAnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE1lbVNldHVwJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgIDwvbGV0dGVyPgorICAgICAgPGxldHRlciBuYW1lPSdQJz4KKyAgICAgICAgPHdvcmQgbmFtZT0nUDMyJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkQ3R4dE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nUENEQVRBJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J19odG1sRWxlbURlc2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxFbGVtZW50Q29udGVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbGVtZW50TWl4ZWRDb250ZW50RGVjbCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1BFRGVjbCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVudGl0eURlY2wnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdQRURlZic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVudGl0eURlY2wnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdQRVJlZmVyZW5jZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEZWNvZGVFbnRpdGllcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VEb2NUeXBlRGVjbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbnRpdHlWYWx1ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFeHRlcm5hbFN1YnNldCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VQRVJlZmVyZW5jZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySGFuZGxlUEVSZWZlcmVuY2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlckhhbmRsZVJlZmVyZW5jZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyaW5nRGVjb2RlRW50aXRpZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cmluZ0xlbkRlY29kZUVudGl0aWVzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nUEVzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlTWFya3VwRGVjbCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1BJVGFyZ2V0Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlUEknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlUElUYXJnZXQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdQSXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRG9jR2V0Um9vdEVsZW1lbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERvY1NldFJvb3RFbGVtZW50Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nUExVUyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sRWxlbWVudENvbnRlbnQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdQT1NUJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbElPSFRUUE9wZW5XJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWdpc3RlckhUVFBQb3N0Q2FsbGJhY2tzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nUFNWSSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sQXR0cicvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbERvYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbE5vZGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdQVUJMSUMnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbER0ZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbEVudGl0eScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ3JlYXRlRW50aXR5UGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ3JlYXRlSW50U3Vic2V0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUV4dGVybmFsSUQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlTm90YXRpb25EZWNsJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nUFVUJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlZ2lzdGVySFRUUFBvc3RDYWxsYmFja3MnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdQYXJhbWV0ZXInPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySGFuZGxlUEVSZWZlcmVuY2UnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdQYXJhbWV0ZXItZW50aXR5Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlTWFya3VwRGVjbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VQRVJlZmVyZW5jZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySGFuZGxlUEVSZWZlcmVuY2UnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdQYXJzZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdkb2NiUGFyc2VDaHVuaycvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbFBhcnNlQ2h1bmsnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxTQVhQYXJzZURvYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlSZWNvdmVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUNEU2VjdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VDaHVuaycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VDb250ZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUN0eHRFeHRlcm5hbEVudGl0eScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VEZWZhdWx0RGVjbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFeHRlcm5hbEVudGl0eScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFeHRlcm5hbElEJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUluTm9kZUNvbnRleHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlUXVvdGVkU3RyaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVVSSScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VVUklSYXcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlVVJJUmVmZXJlbmNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJpbmdHZXROb2RlTGlzdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyaW5nTGVuR2V0Tm9kZUxpc3QnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRXZhbEV4cHInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdQYXJzZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbnRpdHlSZWYnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlckhhbmRsZVJlZmVyZW5jZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1BhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nUGFyc2VzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlZ2V4cENvbXBpbGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJSZWFkQXR0cmlidXRlVmFsdWUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdQYXJzaW5nJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxQYXJzZXJDdHh0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nUGFydCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWdleHBDb21waWxlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFHZXRCdWlsdEluTGlzdFNpbXBsZVR5cGVJdGVtVHlwZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1BhdGgnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0Tm9kZVBhdGgnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRXZhbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb2RlRXZhbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFB0ckV2YWwnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdQZW9wbGUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRW5jb2RlRW50aXRpZXMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdQaG9uZXRpY0V4dGVuc2lvbnMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNQaG9uZXRpY0V4dGVuc2lvbnMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdQbGVhc2UnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9ybWFsaXplV2luZG93c1BhdGgnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdQbHVnJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVNBWFBsdWcnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdQb2ludGVyJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoZWNrVVRGOCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1BvaW50cyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyTmV3UmFuZ2VQb2ludHMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdQb3AnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFhQYXRoUGFyc2VyQ29udGV4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVsYXhOR1ZhbGlkYXRlUG9wRWxlbWVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVQb3BFbGVtZW50Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nUG9wcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdpbnB1dFBvcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nbmFtZVBvcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nbm9kZVBvcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0ndmFsdWVQb3AnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoUG9wQm9vbGVhbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhQb3BFeHRlcm5hbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhQb3BOb2RlU2V0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFBvcE51bWJlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhQb3BTdHJpbmcnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdQb3NpdGlvbic+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sUGFyc2VyTm9kZUluZm8nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdQb3NzaWJpbGl0eSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sWFBhdGhDb250ZXh0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nUHJlY29tcGlsZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDb21waWxlZEV2YWwnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdQcmVkaWNhdGUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhFdmFsUHJlZGljYXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEV2YWx1YXRlUHJlZGljYXRlUmVzdWx0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyRXZhbFJhbmdlUHJlZGljYXRlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nUHJlZGljYXRlRXhwcic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEV2YWxQcmVkaWNhdGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRXZhbHVhdGVQcmVkaWNhdGVSZXN1bHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQdHJFdmFsUmFuZ2VQcmVkaWNhdGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdQcmVmaXgnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFtZXNwYWNlUGFyc2VRTmFtZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3BsaXRRTmFtZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3BsaXRRTmFtZTInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJDb25zdE5hbWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJOYW1lJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nUHJlZml4RGVmJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbWVzcGFjZVBhcnNlTlNEZWYnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdQcmludCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWdleHBQcmludCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2hlbGxQcmludE5vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNoZWxsUHJpbnRYUGF0aEVycm9yJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nUHJpbnRzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFByaW50VVJJJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTaGVsbFByaW50WFBhdGhSZXN1bHQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdQcml2YXRlVXNlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzUHJpdmF0ZVVzZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1ByaXZhdGVVc2VBcmVhJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzUHJpdmF0ZVVzZUFyZWEnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdQcm9jZXNzaW5nJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9DQVRBTE9HX1BJJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVBJJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nUHJvZHVjdGlvbnMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFeHRlcm5hbElEJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nUHJvcGVyJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRWxlbWVudE1peGVkQ29udGVudERlY2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlTWFya3VwRGVjbCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1Byb3RvdHlwZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEZ1bmNMb29rdXBGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFZhcmlhYmxlTG9va3VwRnVuYycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1Byb3ZpZGUnPgorICAgICAgICAgIDxyZWYgbmFtZT0nZ2V0Q29sdW1uTnVtYmVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdnZXRMaW5lTnVtYmVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVgyR2V0Q29sdW1uTnVtYmVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVgyR2V0TGluZU51bWJlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckdldFBhcnNlckNvbHVtbk51bWJlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckdldFBhcnNlckxpbmVOdW1iZXInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdQcm92aWRlcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdnZXRQdWJsaWNJZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nZ2V0U3lzdGVtSWQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdjTWVtR2V0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxNZW1CbG9ja3MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE1lbUdldCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTWVtVXNlZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0hUVFBDb250ZW50TGVuZ3RoJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUEVuY29kaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUE1pbWVUeXBlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUFJlZGlyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVgyR2V0UHVibGljSWQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWDJHZXRTeXN0ZW1JZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckF0dHJpYnV0ZUNvdW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyQ29uc3RWYWx1ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZU5vJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlTnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJWYWx1ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhJc0luZicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhJc05hTicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1Byb3h5Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBTY2FuUHJveHknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9IVFRQU2NhblByb3h5Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nUHJveHktQXV0aGVudGljYXRlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9IVFRQQXV0aEhlYWRlcicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1B1YmlkQ2hhcic+CisgICAgICAgICAgPHJlZiBuYW1lPSdJU19QVUJJRENIQVInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlUHViaWRMaXRlcmFsJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nUHViaWRMaXRlcmFsJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRXh0ZXJuYWxJRCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VOb3RhdGlvbkRlY2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlUHViaWRMaXRlcmFsJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nUHVibGljJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxOb3RhdGlvbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRXh0ZXJuYWxFbnRpdHlMb2FkZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbExvYWRFeHRlcm5hbEVudGl0eScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFeHRlcm5hbElEJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nUHVibGljSUQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFeHRlcm5hbElEJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZU5vdGF0aW9uRGVjbCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1B1c2gnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySW5wdXRCdWZmZXJQdXNoJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWdFeGVjUHVzaFN0cmluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVnRXhlY1B1c2hTdHJpbmcyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HVmFsaWRhdGVQdXNoRWxlbWVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyZWFtUHVzaCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyZWFtUHVzaEF0dHInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cmVhbVB1c2hOb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZVB1c2hFbGVtZW50Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nUHVzaGVzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2lucHV0UHVzaCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nbmFtZVB1c2gnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J25vZGVQdXNoJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd2YWx1ZVB1c2gnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoUmV0dXJuQm9vbGVhbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhSZXR1cm5FbXB0eU5vZGVTZXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoUmV0dXJuRW1wdHlTdHJpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoUmV0dXJuRXh0ZXJuYWwnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoUmV0dXJuRmFsc2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoUmV0dXJuTm9kZVNldCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhSZXR1cm5OdW1iZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoUmV0dXJuU3RyaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFJldHVyblRydWUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgPC9sZXR0ZXI+CisgICAgPC9jaHVuaz4KKyAgICA8Y2h1bmsgbmFtZT0nY2h1bms2Jz4KKyAgICAgIDxsZXR0ZXIgbmFtZT0nUSc+CisgICAgICAgIDx3b3JkIG5hbWU9J1FOYW1lJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ1aWxkUU5hbWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERpY3RRTG9va3VwJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoUUxvb2t1cCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFtZXNwYWNlUGFyc2VRTmFtZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VBdHRyaWJ1dGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRW5kVGFnJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVN0YXJ0VGFnJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFHZXRDYW5vblZhbHVlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFOZXdRTmFtZVZhbHVlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTZXRQcm9wJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTcGxpdFFOYW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTcGxpdFFOYW1lMicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3BsaXRRTmFtZTMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0clFFcXVhbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVRTmFtZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1FOYW1lcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwQWRvcHROb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwQ2xvbmVOb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwUmVjb25jaWxlTmFtZXNwYWNlcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFFMb29rdXAyJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nUVVJVCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vRlRQUXVpdCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1F1YWxpZmllZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTcGxpdFFOYW1lMycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1F1ZXJ5Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERpY3RTaXplJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoU2l6ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyZWFtV2FudHNBbnlOb2RlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgIDwvbGV0dGVyPgorICAgICAgPGxldHRlciBuYW1lPSdSJz4KKyAgICAgICAgPHdvcmQgbmFtZT0nUkVDJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0lTX0JBU0VDSEFSJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdJU19DT01CSU5JTkcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0lTX0RJR0lUJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGVja0xhbmd1YWdlSUQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdSRUMteG1sJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldENoYXJFbmNvZGluZ05hbWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlckhhbmRsZVBFUmVmZXJlbmNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJIYW5kbGVSZWZlcmVuY2UnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdSRUZzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9ERVRFQ1RfSURTJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0tJUF9JRFMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdSRVFVSVJFRCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUF0dHJpYnV0ZVR5cGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRGVmYXVsdERlY2wnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdSRkMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnVpbGRVUkknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoZWNrTGFuZ3VhZ2VJRCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUdldEJhc2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vcm1hbGl6ZVVSSVBhdGgnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlVVJJJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVVSSVJlZmVyZW5jZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1JGQzIzOTYnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVVJJRXNjYXBlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nUmFpc2VzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoU2V0QXJpdHlFcnJvcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhTZXRFcnJvcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhTZXRUeXBlRXJyb3InLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdSZWFkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ1ZkdldE5vZGVDb250ZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxGaWxlUmVhZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0RmVhdHVyZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0VVRGOENoYXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbElPRlRQUmVhZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSU9IVFRQUmVhZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUJ1ZkdldENvbnRlbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVHZXRDb250ZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyQ29uc3RWYWx1ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckdldFBhcnNlclByb3AnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJSZWxheE5HU2V0U2NoZW1hJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyUmVsYXhOR1ZhbGlkYXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyUmVsYXhOR1ZhbGlkYXRlQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyU2NoZW1hVmFsaWRhdGVDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyU2V0U2NoZW1hJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nUmVhZGVyJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJQcmVzZXJ2ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclByZXNlcnZlUGF0dGVybicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1JlYWRlcnMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlck5leHRTaWJsaW5nJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nUmVhZHMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckN1cnJlbnROb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyRXhwYW5kJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyUmVhZElubmVyWG1sJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyUmVhZE91dGVyWG1sJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyUmVhZFN0cmluZycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1JlYyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZURvY3VtZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZURvY3VtZW50RmluYWwnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlRHRkRmluYWwnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdSZWNlaXZlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3NldERvY3VtZW50TG9jYXRvcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0nc2V0RG9jdW1lbnRMb2NhdG9yU0FYRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VEZWZhdWx0RGVjbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYMlNldERvY3VtZW50TG9jYXRvcicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1JlY2VpdmluZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdjaGFyYWN0ZXJzU0FYRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0naWdub3JhYmxlV2hpdGVzcGFjZVNBWEZ1bmMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdSZWN1cnNlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNlYXJjaE5zQnlIcmVmJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nUmVjdXJzaW9uJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlUEVSZWZlcmVuY2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlckhhbmRsZVBFUmVmZXJlbmNlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nUmVmJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxSZWYnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEFkZFJlZicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRnJlZVJlZlRhYmxlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJc1JlZicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVtb3ZlUmVmJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nUmVmZXJlbmNlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxQYXJzZUNoYXJSZWYnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERlY29kZUVudGl0aWVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUF0dFZhbHVlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQ2hhclJlZicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VDb250ZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVudGl0eVZhbHVlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUluTm9kZUNvbnRleHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlUmVmZXJlbmNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJIYW5kbGVSZWZlcmVuY2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cmluZ0RlY29kZUVudGl0aWVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJpbmdMZW5EZWNvZGVFbnRpdGllcycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1JlZmVyZW5jZTonPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlck5vZGVUeXBlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nUmVmZXJlbmNlcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWlsZFVSSScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRE9NV3JhcEFkb3B0Tm9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRE9NV3JhcENsb25lTm9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VBdHRyaWJ1dGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdSZWZsZWN0cyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19RVUFMSUZfQVRUUicvPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfUVVBTElGX0VMRU0nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdSZWZyZXNoJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyUmVhZCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1JlZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YUNvbXBpbGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdSZWdpc3Rlcic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBZGRBdHRyaWJ1dGVEZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBZGREb2NFbnRpdHknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEFkZER0ZEVudGl0eScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQWRkRWxlbWVudERlY2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEFkZElEJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBZGROb3RhdGlvbkRlY2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEFkZFJlZicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVnaXN0ZXJDaGFyRW5jb2RpbmdIYW5kbGVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWdpc3RlcklucHV0Q2FsbGJhY2tzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWdpc3Rlck91dHB1dENhbGxiYWNrcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclNldEVycm9ySGFuZGxlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclNldFN0cnVjdHVyZWRFcnJvckhhbmRsZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoUmVnaXN0ZXJGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFJlZ2lzdGVyRnVuY05TJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFJlZ2lzdGVyTnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlTlMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdSZWdpc3Rlck5vZGVGdW5jJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlZ2lzdGVyTm9kZURlZmF1bHQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdSZWdpc3RlcnMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQWRkRW5jb2RpbmdBbGlhcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRGVyZWdpc3Rlck5vZGVEZWZhdWx0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWdpc3RlckRlZmF1bHRJbnB1dENhbGxiYWNrcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVnaXN0ZXJEZWZhdWx0T3V0cHV0Q2FsbGJhY2tzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWdpc3Rlck5vZGVEZWZhdWx0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFJlZ2lzdGVyQWxsRnVuY3Rpb25zJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFJlZ2lzdGVyRnVuY0xvb2t1cCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1JlbGF0aXZlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ1aWxkVVJJJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nUmVsYXgtTkcnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVsYXhOR0dldFBhcnNlckVycm9ycycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVsYXhOR0dldFZhbGlkRXJyb3JzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HUGFyc2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4TkdTZXRQYXJzZXJFcnJvcnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4TkdTZXRQYXJzZXJTdHJ1Y3R1cmVkRXJyb3JzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HU2V0VmFsaWRFcnJvcnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4TkdTZXRWYWxpZFN0cnVjdHVyZWRFcnJvcnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4TkdWYWxpZGF0ZURvYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVsYXhOR1ZhbGlkaXR5RXJyb3JGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HVmFsaWRpdHlXYXJuaW5nRnVuYycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1JlbGF4TkcnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFNjaGVtYUVsZW1lbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4TkdDbGVhbnVwVHlwZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4TkdEdW1wJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HRHVtcFRyZWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4TkdGcmVlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HTmV3RG9jUGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVsYXhOR1BhcnNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HVmFsaWRhdGVQb3BFbGVtZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HVmFsaWRhdGVQdXNoQ0RhdGEnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4TkdWYWxpZGF0ZVB1c2hFbGVtZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheFBhcnNlclNldEZsYWcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJSZWxheE5HU2V0U2NoZW1hJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyUmVsYXhOR1ZhbGlkYXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyUmVsYXhOR1ZhbGlkYXRlQ3R4dCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1JlbGF4TkdzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4TkdOZXdEb2NQYXJzZXJDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HTmV3TWVtUGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVsYXhOR05ld1BhcnNlckN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4TkdOZXdWYWxpZEN0eHQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdSZW1vdmUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQUNhdGFsb2dSZW1vdmUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ1ZlNocmluaycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnVmZmVyRGV0YWNoJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWZmZXJTaHJpbmsnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENhdGFsb2dSZW1vdmUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbExpc3RDbGVhcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTGlzdFJlbW92ZUFsbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTGlzdFJlbW92ZUZpcnN0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0UmVtb3ZlTGFzdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySGFuZGxlUmVmZXJlbmNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZW1vdmVJRCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVtb3ZlUmVmJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVbnNldE5zUHJvcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVW5zZXRQcm9wJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nUmVtb3Zlcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0UG9wQmFjaycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTGlzdFBvcEZyb250Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFDb2xsYXBzZVN0cmluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb2RlU2V0RGVsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vZGVTZXRSZW1vdmUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQdHJMb2NhdGlvblNldERlbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFB0ckxvY2F0aW9uU2V0UmVtb3ZlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nUmVwbGFjZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlU2V0Q29udGVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9kZVNldENvbnRlbnRMZW4nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdSZXBsYWNlcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFXaGl0ZVNwYWNlUmVwbGFjZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1JlcXVpcmVkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J19odG1sRWxlbURlc2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxBdHRyQWxsb3dlZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VEZWZhdWx0RGVjbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVPbmVFbGVtZW50Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nUmVzZXQnPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbEN0eHRSZXNldCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ3R4dFJlc2V0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDdHh0UmVzZXRQdXNoJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nUmVzaXplJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ1ZmZlclJlc2l6ZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1Jlc29sdmVzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJMb29rdXBOYW1lc3BhY2UnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdSZXNvbHZpbmcnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnVpbGRVUkknLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdSZXRyaWV2ZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyR2V0RXJyb3JIYW5kbGVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVySXNWYWxpZCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1JldHVybic+CisgICAgICAgICAgPHJlZiBuYW1lPSdDSEVDS19UWVBFMCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1JldHVybnMnPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbERlZmF1bHRTdWJlbGVtZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sRWxlbWVudEFsbG93ZWRIZXJlRGVzYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbFJlcXVpcmVkQXR0cnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldERvY0VudGl0eScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0RHRkRW50aXR5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHZXRQYXJhbWV0ZXJFbnRpdHknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEhhc0ZlYXR1cmUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbExpbmtHZXREYXRhJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENoZWNrRXJyb3InLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoR2V0Q29udGV4dE5vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoR2V0RG9jdW1lbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoR2V0RXJyb3InLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm9kZVNldEdldExlbmd0aCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb2RlU2V0SXNFbXB0eScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb2RlU2V0SXRlbScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhTdGFja0lzRXh0ZXJuYWwnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoU3RhY2tJc05vZGVTZXQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdSZXR1cm5zOic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWdFeGVjRXJySW5mbycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVnRXhlY05leHRWYWx1ZXMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdSZXZlcnNlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbExpc3RSZXZlcnNlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nUm9vdCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZURvY1R5cGVEZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZVJvb3QnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdSdW5pYyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc1J1bmljJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgIDwvbGV0dGVyPgorICAgIDwvY2h1bms+CisgICAgPGNodW5rIG5hbWU9J2NodW5rNyc+CisgICAgICA8bGV0dGVyIG5hbWU9J1MnPgorICAgICAgICA8d29yZCBuYW1lPSdTQVgxJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0xJQlhNTF9TQVgxX0VOQUJMRUQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdTQVgyJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQVgyX01BR0lDJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdlbmRFbGVtZW50TnNTQVgyRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0naW5pdGRvY2JEZWZhdWx0U0FYSGFuZGxlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0naW5pdGh0bWxEZWZhdWx0U0FYSGFuZGxlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0naW5pdHhtbERlZmF1bHRTQVhIYW5kbGVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdzdGFydEVsZW1lbnROc1NBWDJGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEZWZhdWx0U0FYSGFuZGxlckluaXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWDJFbmRFbGVtZW50TnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWDJJbml0RGVmYXVsdFNBWEhhbmRsZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWDJJbml0RG9jYkRlZmF1bHRTQVhIYW5kbGVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVgySW5pdEh0bWxEZWZhdWx0U0FYSGFuZGxlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYMlN0YXJ0RWxlbWVudE5zJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZVN0cmVhbScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1NBWDo6c3Vic3RpdHV0ZUVudGl0aWVzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdTRERlY2wnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VTRERlY2wnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdTRERlY2w/Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlWE1MRGVjbCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1NFUSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sRWxlbWVudENvbnRlbnQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdTR01MJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0xJQlhNTF9ET0NCX0VOQUJMRUQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2RvY2JDcmVhdGVGaWxlUGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nZG9jYkNyZWF0ZVB1c2hQYXJzZXJDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdkb2NiRW5jb2RlRW50aXRpZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2RvY2JGcmVlUGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nZG9jYlBhcnNlRG9jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdkb2NiUGFyc2VEb2N1bWVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nZG9jYlBhcnNlRmlsZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0nZG9jYlNBWFBhcnNlRG9jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdkb2NiU0FYUGFyc2VGaWxlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDYXRhbG9nQ29udmVydCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2F0YWxvZ0lzRW1wdHknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENvbnZlcnRTR01MQ2F0YWxvZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTG9hZEFDYXRhbG9nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxMb2FkQ2F0YWxvZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTG9hZFNHTUxTdXBlckNhdGFsb2cnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld0NhdGFsb2cnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQ29tbWVudCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1NHTUxTT1VSQ0UnPgorICAgICAgICAgIDxyZWYgbmFtZT0nZ2V0UHVibGljSWQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWDJHZXRQdWJsaWNJZCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1NJVEUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUFByb3h5Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nU1RhZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sUGFyc2VFbGVtZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVsZW1lbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlU3RhcnRUYWcnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdTWVNURU0nPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbER0ZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbEVudGl0eScvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFBhcnNlckN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2V4dGVybmFsU3Vic2V0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdleHRlcm5hbFN1YnNldFNBWEZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2ludGVybmFsU3Vic2V0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdpbnRlcm5hbFN1YnNldFNBWEZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRXh0ZXJuYWxJRCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VOb3RhdGlvbkRlY2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWDJFeHRlcm5hbFN1YnNldCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYMkludGVybmFsU3Vic2V0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nU2FtZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdJU19QVUJJRENIQVJfQ0gnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdTYXZlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENvcHlFcnJvcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2F2ZURvYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2F2ZVRyZWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNhdmVVcmknLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdTY2FuJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEhhc2hDb3B5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoU2NhbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFNjYW4zJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoU2NhbkZ1bGwnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEhhc2hTY2FuRnVsbDMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdTY2hlbWEnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hRHVtcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hRnJlZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hRnJlZUZhY2V0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFGcmVlVHlwZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hR2V0QnVpbHRJbkxpc3RTaW1wbGVUeXBlSXRlbVR5cGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUdldENhbm9uVmFsdWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVBhcnNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyU2NoZW1hVmFsaWRhdGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZUN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJTZXRTY2hlbWEnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdTY2hlbWFzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0xJQlhNTF9TQ0hFTUFTX0VOQUJMRUQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlZ2V4cENvbXBpbGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4TkdDbGVhbnVwVHlwZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUNsZWFudXBUeXBlcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hRnJlZVZhbHVlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFHZXRQcmVkZWZpbmVkVHlwZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hSW5pdFR5cGVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFOZXdEb2NQYXJzZXJDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFOZXdNZW1QYXJzZXJDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFOZXdQYXJzZXJDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFOZXdWYWxpZEN0eHQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdTY2hlbWF0cm9uJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0xJQlhNTF9TQ0hFTUFUUk9OX0VOQUJMRUQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYXRyb25GcmVlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWF0cm9uUGFyc2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYXRyb25TZXRWYWxpZFN0cnVjdHVyZWRFcnJvcnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYXRyb25WYWxpZGl0eUVycm9yRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hdHJvblZhbGlkaXR5V2FybmluZ0Z1bmMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdTY2hlbWF0cm9ucyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWF0cm9uTmV3RG9jUGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hdHJvbk5ld01lbVBhcnNlckN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYXRyb25OZXdQYXJzZXJDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWF0cm9uTmV3VmFsaWRDdHh0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nU2NyaXB0Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxJc1NjcmlwdEF0dHJpYnV0ZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1NlYXJjaCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxGaW5kQ2hhckVuY29kaW5nSGFuZGxlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0Q2hhckVuY29kaW5nSGFuZGxlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0RHRkQXR0ckRlc2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldER0ZEVsZW1lbnREZXNjJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHZXREdGROb3RhdGlvbkRlc2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldER0ZFFBdHRyRGVzYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0RHRkUUVsZW1lbnREZXNjJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHZXRJRCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0TGFzdENoaWxkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHZXROb05zUHJvcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0TnNMaXN0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHZXROc1Byb3AnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldFByb3AnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEhhc05zUHJvcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSGFzUHJvcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSXNNaXhlZEVsZW1lbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbExpc3RSZXZlcnNlU2VhcmNoJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0U2VhcmNoJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTZWFyY2hOcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2VhcmNoTnNCeUhyZWYnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRnVuY3Rpb25Mb29rdXAnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRnVuY3Rpb25Mb29rdXBOUycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOc0xvb2t1cCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhWYXJpYWJsZUxvb2t1cCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhWYXJpYWJsZUxvb2t1cE5TJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nU2VhcmNoZXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUdldEJhc2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVHZXRMYW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlR2V0U3BhY2VQcmVzZXJ2ZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1NlY29uZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGVja0xhbmd1YWdlSUQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdTZWN0aW9uJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldENoYXJFbmNvZGluZ05hbWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vcm1hbGl6ZVVSSVBhdGgnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdTZWUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2xlYW51cFBhcnNlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTGlua0dldERhdGEnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlTm90YXRpb25EZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyQnl0ZUNvbnN1bWVkJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nU2VtaSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheFBhcnNlclNldEZsYWcnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdTZW5kJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBRdWl0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nU2VyaWFsaXplJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEF0dHJTZXJpYWxpemVUeHRDb250ZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFeHBEdW1wJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nU2V0cyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sU2V0TWV0YUVuY29kaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWZmZXJTZXRBbGxvY2F0aW9uU2NoZW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFTZXRWYWxpZE9wdGlvbnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRGlmZmVyZW5jZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhEaXN0aW5jdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhEaXN0aW5jdFNvcnRlZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhIYXNTYW1lTm9kZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoSW50ZXJzZWN0aW9uJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aExlYWRpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTGVhZGluZ1NvcnRlZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb2RlTGVhZGluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb2RlTGVhZGluZ1NvcnRlZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb2RlVHJhaWxpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm9kZVRyYWlsaW5nU29ydGVkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFNldENvbnRleHROb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFRyYWlsaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFRyYWlsaW5nU29ydGVkJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nU2V0dGluZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZVNldExvY2F0b3InLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdTZXR1cCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vRlRQUHJveHknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlYWRlck5ld0RvYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVhZGVyTmV3RmQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlYWRlck5ld0lPJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWFkZXJOZXdNZW1vcnknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlYWRlck5ld1dhbGtlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2V0dXBQYXJzZXJGb3JCdWZmZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJTZXR1cCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1NoYXZpYW4nPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNTaGF2aWFuJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nU2hlbGwnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2hlbGxSZWFkbGluZUZ1bmMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdTaGVtYSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HUGFyc2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVBhcnNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWF0cm9uUGFyc2UnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdTaG91bGQnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFBhcnNlckN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdjTWVtU2V0dXAnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE1lbVNldHVwJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vRlRQU2NhblByb3h5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUFNjYW5Qcm94eScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyRXF1YWwnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cmluZ0dldE5vZGVMaXN0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJpbmdMZW5HZXROb2RlTGlzdCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1Nob3cnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2hlbGxQd2QnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdTaWduYXR1cmUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQzE0TklzVmlzaWJsZUNhbGxiYWNrJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEZXJlZ2lzdGVyTm9kZUZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEZyZWVGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHZW5lcmljRXJyb3JGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxNYWxsb2NGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWFsbG9jRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVnaXN0ZXJOb2RlRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVsYXhOR1ZhbGlkaXR5RXJyb3JGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HVmFsaWRpdHlXYXJuaW5nRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRpdHlFcnJvckZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbGlkaXR5V2FybmluZ0Z1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYXRyb25WYWxpZGl0eUVycm9yRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hdHJvblZhbGlkaXR5V2FybmluZ0Z1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cmR1cEZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cnVjdHVyZWRFcnJvckZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJFcnJvckZ1bmMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdTaW1pbGFybHknPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbnRpdHlSZWYnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdTaW1wbHknPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ3JlYXRlVVJJJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nU2luY2UnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUR1bXAnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cmNhdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyZHVwJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyTm9ybWFsaXphdGlvbicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1NpbmdsZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGVja0xhbmd1YWdlSUQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdTaW5oYWxhJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzU2luaGFsYScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1NraXAnPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfQU5ZQVRUUl9TS0lQJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19BTllfU0tJUCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV4dENoYXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQ29tbWVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlck5leHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJOZXh0U2libGluZycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1NraXBzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J01PVkVUT19FTkRUQUcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J01PVkVUT19TVEFSVFRBRycvPgorICAgICAgICAgIDxyZWYgbmFtZT0nU0tJUF9FT0wnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdTbWFsbEZvcm1WYXJpYW50cyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc1NtYWxsRm9ybVZhcmlhbnRzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nU29tZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfaHRtbEVsZW1EZXNjJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWlsZFJlbGF0aXZlVVJJJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFHZXRDYW5vblZhbHVlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nU29ydCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0U29ydCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb2RlU2V0U29ydCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1NwYWNpbmdNb2RpZmllckxldHRlcnMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNTcGFjaW5nTW9kaWZpZXJMZXR0ZXJzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nU3BlYyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVN0YXJ0VGFnJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nU3BlY2lhbCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfQ1RYVF9GSU5JU0hfRFREXzAnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9DVFhUX0ZJTklTSF9EVERfMScvPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NBWDJfTUFHSUMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdTcGVjaWFscyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc1NwZWNpYWxzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nU3BlZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFBhcnNlckN0eHQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdTdGFuZGFsb25lJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlU0REZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZEN0eHROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1N0YXJ0Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBPcGVuJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyU3RhcnRBdHRyaWJ1dGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJTdGFydEF0dHJpYnV0ZU5TJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyU3RhcnRDREFUQScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlclN0YXJ0Q29tbWVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlclN0YXJ0RFREJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyU3RhcnREVERBdHRsaXN0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyU3RhcnREVERFbGVtZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyU3RhcnREVERFbnRpdHknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJTdGFydERvY3VtZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyU3RhcnRFbGVtZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyU3RhcnRFbGVtZW50TlMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJTdGFydFBJJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nU3RyaW5nVHlwZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUF0dHJpYnV0ZVR5cGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdTdHJpbmdzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoU3RyaW5nTGVuZ3RoRnVuY3Rpb24nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoU3Vic3RyaW5nRnVuY3Rpb24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdTdWJjb2RlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoZWNrTGFuZ3VhZ2VJRCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1N1YnNldCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZU1hcmt1cERlY2wnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdTdXBlcic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxMb2FkU0dNTFN1cGVyQ2F0YWxvZycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1N1cGVyc2NyaXB0c2FuZFN1YnNjcmlwdHMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNTdXBlcnNjcmlwdHNhbmRTdWJzY3JpcHRzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nU3VwcGxlbWVudGFsQXJyb3dzLUEnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNTdXBwbGVtZW50YWxBcnJvd3NBJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nU3VwcGxlbWVudGFsQXJyb3dzLUInPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNTdXBwbGVtZW50YWxBcnJvd3NCJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nU3VwcGxlbWVudGFsTWF0aGVtYXRpY2FsT3BlcmF0b3JzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzU3VwcGxlbWVudGFsTWF0aGVtYXRpY2FsT3BlcmF0b3JzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nU3VwcGxlbWVudGFyeVByaXZhdGVVc2VBcmVhLUEnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNTdXBwbGVtZW50YXJ5UHJpdmF0ZVVzZUFyZWFBJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nU3VwcGxlbWVudGFyeVByaXZhdGVVc2VBcmVhLUInPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNTdXBwbGVtZW50YXJ5UHJpdmF0ZVVzZUFyZWFCJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nU3lyaWFjJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzU3lyaWFjJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nU3lzdGVtJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxOb3RhdGlvbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRXh0ZXJuYWxFbnRpdHlMb2FkZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vTmV0RXh0ZXJuYWxFbnRpdHlMb2FkZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQ3R4dEV4dGVybmFsRW50aXR5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUV4dGVybmFsRW50aXR5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyTm9kZVR5cGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdTeXN0ZW1MaXRlcmFsJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbWVzcGFjZVBhcnNlTlNEZWYnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRXh0ZXJuYWxJRCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VOb3RhdGlvbkRlY2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlU3lzdGVtTGl0ZXJhbCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICA8L2xldHRlcj4KKyAgICA8L2NodW5rPgorICAgIDxjaHVuayBuYW1lPSdjaHVuazgnPgorICAgICAgPGxldHRlciBuYW1lPSdUJz4KKyAgICAgICAgPHdvcmQgbmFtZT0nVEVYVCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBZGRDaGlsZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQWRkQ2hpbGRMaXN0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBZGRQcmV2U2libGluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQWRkU2libGluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnVmR2V0Tm9kZUNvbnRlbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld1RleHRDaGlsZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUJ1ZkdldENvbnRlbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVHZXRDb250ZW50Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nVEVYVHMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3Q2hpbGQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVMaXN0R2V0UmF3U3RyaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlTGlzdEdldFN0cmluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyaW5nR2V0Tm9kZUxpc3QnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cmluZ0xlbkdldE5vZGVMaXN0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nVE9ETyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVsZW1lbnRDaGlsZHJlbkNvbnRlbnREZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVNERGVjbCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1RPRE86Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfVkFSSUVUWV9BQlNFTlQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxFbnRpdHlMb29rdXAnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxFbnRpdHlWYWx1ZUxvb2t1cCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbE5vZGVEdW1wRmlsZUZvcm1hdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRE9NV3JhcENsb25lTm9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRGVjb2RlRW50aXRpZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEVuY29kZUVudGl0aWVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxNb2R1bGVPcGVuJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW1lc3BhY2VQYXJzZU5DTmFtZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFtZXNwYWNlUGFyc2VOU0RlZicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFtZXNwYWNlUGFyc2VRTmFtZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3VGV4dFdyaXRlck1lbW9yeScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3VGV4dFdyaXRlclB1c2hQYXJzZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZU5hbWVzcGFjZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VRdW90ZWRTdHJpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlckhhbmRsZVJlZmVyZW5jZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySW5wdXRCdWZmZXJHcm93Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTYXZlRG9jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTYXZlVHJlZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2Nhbk5hbWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUdldENhbm9uVmFsdWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZVJhd0xlbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXh0QXR0cmlidXRlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nVFJVRSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyU3RhcnREVERFbnRpdHknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZURUREVudGl0eScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRFRERXh0ZXJuYWxFbnRpdHknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZURUREludGVybmFsRW50aXR5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVERJbnRlcm5hbEVudGl0eScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREludGVybmFsRW50aXR5Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nVGFnYWxvZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc1RhZ2Fsb2cnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdUYWdiYW53YSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc1RhZ2JhbndhJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nVGFncyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc1RhZ3MnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdUYWlMZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc1RhaUxlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nVGFpWHVhbkppbmdTeW1ib2xzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzVGFpWHVhbkppbmdTeW1ib2xzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nVGFrZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdVVEY4VG9IdG1sJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdVVEY4VG9pc29sYXQxJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdkb2NiRW5jb2RlRW50aXRpZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxFbmNvZGVFbnRpdGllcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0naXNvbGF0MVRvVVRGOCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hhckVuY29kaW5nSW5wdXRGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGFyRW5jb2RpbmdPdXRwdXRGdW5jJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nVGFrZXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyaW5nRGVjb2RlRW50aXRpZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cmluZ0xlbkRlY29kZUVudGl0aWVzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nVGFtaWwnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNUYW1pbCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1RlbHVndSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc1RlbHVndScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1Rlc3QnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGF0dGVybk1hdGNoJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nVGV4dCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlSXNUZXh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyUmVhZEF0dHJpYnV0ZVZhbHVlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyUmVhZFN0cmluZycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1RleHREZWNsJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlVGV4dERlY2wnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdUZXh0RGVjbD8nPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VDdHh0RXh0ZXJuYWxFbnRpdHknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRW50aXR5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUV4dFBhcnNlZEVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFeHRlcm5hbEVudGl0eScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYUGFyc2VFbnRpdHknLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdUaGFhbmEnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNUaGFhbmEnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdUaGFpJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzVGhhaScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1RoYXQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFOZXdBbGxUcmFucycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbGVtZW50Q2hpbGRyZW5Db250ZW50RGVjbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VNYXJrdXBEZWNsJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nVGhlbic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZU9uZUVsZW1lbnQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdUaGVyZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFeHBQYXJzZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDb250ZXh0U2V0Q2FjaGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdUaG9zZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sUGFyc2VyQ3R4dCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1RodXM6Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoU3Vic3RyaW5nRnVuY3Rpb24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdUaWJldGFuJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzVGliZXRhbicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1Rva2VuJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQXR0cmlidXRlVHlwZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVBdHRyaWJ1dGVWYWx1ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVObXRva2VuVmFsdWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlTm10b2tlbnNWYWx1ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVPbmVBdHRyaWJ1dGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlT25lTmFtZXNwYWNlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nVG9rZW5pemVkVHlwZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUF0dHJpYnV0ZVR5cGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdUcmF2ZXJzYWwnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXh0QW5jZXN0b3InLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV4dEFuY2VzdG9yT3JTZWxmJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5leHRBdHRyaWJ1dGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV4dENoaWxkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5leHREZXNjZW5kYW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5leHREZXNjZW5kYW50T3JTZWxmJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5leHRGb2xsb3dpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV4dEZvbGxvd2luZ1NpYmxpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV4dE5hbWVzcGFjZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXh0UGFyZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5leHRQcmVjZWRpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV4dFByZWNlZGluZ1NpYmxpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV4dFNlbGYnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdUcmVlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV3VmFsdWVUcmVlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nVHJlZTotJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlTmFtZXNwYWNlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nVHJpY2tlcnk6Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjYW5OYW1lJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nVHJpZXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUENvbm5lY3QnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBDb25uZWN0VG8nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBDd2QnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBEZWxlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nVHJ1ZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCb29sVG9UZXh0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nVHJ5Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEFDYXRhbG9nUmVzb2x2ZVB1YmxpYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQUNhdGFsb2dSZXNvbHZlU3lzdGVtJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDYXRhbG9nR2V0UHVibGljJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDYXRhbG9nR2V0U3lzdGVtJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDYXRhbG9nUmVzb2x2ZVB1YmxpYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2F0YWxvZ1Jlc29sdmVTeXN0ZW0nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldExpbmVObycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSXNYSFRNTCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUEdldENvbm5lY3Rpb24nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlQXR0cmlidXRlRGVjbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVEb2N1bWVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVEdGQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlRWxlbWVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVFbGVtZW50RGVjbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVOb3RhdGlvbkRlY2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlT25lQXR0cmlidXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZU9uZUVsZW1lbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlT25lTmFtZXNwYWNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZVJvb3QnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdUeXBlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxTY2hlbWFUeXBlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUF0dHJpYnV0ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VBdHRyaWJ1dGVUeXBlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZURvY1R5cGVEZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVsZW1lbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRWxlbWVudERlY2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUZyZWVUeXBlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZUVsZW1lbnREZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZU9uZUF0dHJpYnV0ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVPbmVOYW1lc3BhY2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlUm9vdCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1R5cGVzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRWxlbWVudE1peGVkQ29udGVudERlY2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlRWxlbWVudERlY2wnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgPC9sZXR0ZXI+CisgICAgICA8bGV0dGVyIG5hbWU9J1UnPgorICAgICAgICA8d29yZCBuYW1lPSdVQ1M0Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVURjhDaGFyY21wJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nVU5JQ09ERSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfaHRtbEVudGl0eURlc2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2MnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdVTklYJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNoZWxsJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nVU5VU0VEOic+CisgICAgICAgICAgPHJlZiBuYW1lPSdpZ25vcmFibGVXaGl0ZXNwYWNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdpZ25vcmFibGVXaGl0ZXNwYWNlU0FYRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYMklnbm9yYWJsZVdoaXRlc3BhY2UnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdVUkktcmVmZXJlbmNlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlVVJJJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVVSSVJhdycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VVUklSZWZlcmVuY2UnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdVUk4nPgorICAgICAgICAgIDxyZWYgbmFtZT0nZ2xvYmFsTmFtZXNwYWNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSduYW1lc3BhY2VEZWNsJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nVVNFUic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vRlRQUHJveHknLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdVVEYtMTYnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3Vjb252X3QnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdVVEYxNic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGFyRW5jT3V0RnVuYycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1VURjQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRGV0ZWN0Q2hhckVuY29kaW5nJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nVVRGOCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sQnVmZmVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdwJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGFyRW5jT3V0RnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0VVRGOENoYXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5UmVjb3ZlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3BsaXRRTmFtZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVVRGOENoYXJjbXAnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVURjhTaXplJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVVEY4U3RybGVuJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVVEY4U3RybG9jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVVEY4U3RybmR1cCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVVRGOFN0cnBvcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVVRGOFN0cnNpemUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdVZ2FyaXRpYyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc1VnYXJpdGljJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nVW5lc2NhcGluZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVUklVbmVzY2FwZVN0cmluZycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1VuaWNvZGUnPgorICAgICAgICAgIDxyZWYgbmFtZT0nSVNfQ0hBUicvPgorICAgICAgICAgIDxyZWYgbmFtZT0nTElCWE1MX1VOSUNPREVfRU5BQkxFRCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1VuaWZpZWRDYW5hZGlhbkFib3JpZ2luYWxTeWxsYWJpY3MnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNVbmlmaWVkQ2FuYWRpYW5BYm9yaWdpbmFsU3lsbGFiaWNzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nVW5pcXVlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRWxlbWVudERlY2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlU3RhcnRUYWcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlRWxlbWVudERlY2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoSWRGdW5jdGlvbicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1VuaXgnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2hlbGxMaXN0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nVW5saW5rJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlbW92ZVByb3AnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlcGxhY2VOb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVbmxpbmtOb2RlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nVW5saW5rcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwUmVtb3ZlTm9kZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1VucGx1Zyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFTQVhVbnBsdWcnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdVbnJlZ2lzdGVycyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDbGVhbnVwRW5jb2RpbmdBbGlhc2VzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEZWxFbmNvZGluZ0FsaWFzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nVXBkYXRlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBVcGRhdGVVUkwnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdVcGdyYWRlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEtlZXBCbGFua3NEZWZhdWx0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nVXNlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9DT01QTEVURV9BVFRSUycvPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX0RFVEVDVF9JRFMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxET01XcmFwQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFBhcnNlckN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENvcHlOb2RlTGlzdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0UHJvcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSXNCYXNlQ2hhcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSXNCbGFuaycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSXNDaGFyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJc0NvbWJpbmluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSXNEaWdpdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSXNFeHRlbmRlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSXNJZGVvZ3JhcGhpYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSXNQdWJpZENoYXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld0RvY05vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld0RvY05vZGVFYXROYW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdOb2RlRWF0TmFtZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3UEknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld1RleHRDaGlsZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGF0dGVybkdldFN0cmVhbUN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJSZWxheE5HU2V0U2NoZW1hJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyUmVsYXhOR1ZhbGlkYXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyUmVsYXhOR1ZhbGlkYXRlQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyU2NoZW1hVmFsaWRhdGVDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyU2V0U2NoZW1hJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENvbnRleHRTZXRDYWNoZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1VzZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfQU5ZX0xBWCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfQU5ZX1NUUklDVCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfQVRUUl9VU0VfUFJPSElCSVRFRCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NLSVBfSURTJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sU2NoZW1hVHlwZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2F0YWxvZ0dldERlZmF1bHRzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDYXRhbG9nU2V0RGVidWcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENhdGFsb2dTZXREZWZhdWx0cycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlSZWNvdmVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUV4dGVybmFsRW50aXR5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2FuTmFtZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1VzZXInPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYUGFyc2VGaWxlV2l0aERhdGEnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWFBhcnNlTWVtb3J5V2l0aERhdGEnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdVc2VyQ29kZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGVja0xhbmd1YWdlSUQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdVc2VzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld05vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVSSUVzY2FwZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICA8L2xldHRlcj4KKyAgICA8L2NodW5rPgorICAgIDxjaHVuayBuYW1lPSdjaHVuazknPgorICAgICAgPGxldHRlciBuYW1lPSdWJz4KKyAgICAgICAgPHdvcmQgbmFtZT0nVmFsaWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVPbmVFbGVtZW50Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nVmFsaWRhdGUnPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfQU5ZX0xBWCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVsYXhOR1ZhbGlkYXRlRG9jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HVmFsaWRhdGVGdWxsRWxlbWVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRhdGVEb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbGlkYXRlT25lRWxlbWVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRhdGVTdHJlYW0nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYXRyb25WYWxpZGF0ZURvYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2hlbGxWYWxpZGF0ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVBdHRyaWJ1dGVWYWx1ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVOYW1lVmFsdWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlTmFtZXNWYWx1ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVObXRva2VuVmFsdWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlTm10b2tlbnNWYWx1ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVOb3RhdGlvblVzZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1ZhbGlkaXR5Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQXR0cmlidXRlVHlwZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1ZhbHVlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQXR0cmlidXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZU9uZUF0dHJpYnV0ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVPbmVOYW1lc3BhY2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV3VmFsdWVUcmVlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nVmFsdWVzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENhdGFsb2dTZXREZWZhdWx0UHJlZmVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUF0dHJpYnV0ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VBdHRyaWJ1dGVUeXBlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZURlZmF1bHREZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVudW1lcmF0aW9uVHlwZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VOb3RhdGlvblR5cGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlQXR0cmlidXRlVmFsdWUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdWYXJpYWJsZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFZhcmlhYmxlTG9va3VwJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFZhcmlhYmxlTG9va3VwTlMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdWYXJpYXRpb25TZWxlY3RvcnMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNWYXJpYXRpb25TZWxlY3RvcnMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdWYXJpYXRpb25TZWxlY3RvcnNTdXBwbGVtZW50Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzVmFyaWF0aW9uU2VsZWN0b3JzU3VwcGxlbWVudCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1ZlcnNpb25JbmZvJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlVmVyc2lvbkluZm8nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlWE1MRGVjbCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1ZlcnNpb25JbmZvPyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVRleHREZWNsJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nVmVyc2lvbk51bSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVZlcnNpb25JbmZvJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVZlcnNpb25OdW0nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgPC9sZXR0ZXI+CisgICAgICA8bGV0dGVyIG5hbWU9J1cnPgorICAgICAgICA8d29yZCBuYW1lPSdXM0MnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hpbGRFbGVtZW50Q291bnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEZpcnN0RWxlbWVudENoaWxkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxMYXN0RWxlbWVudENoaWxkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXh0RWxlbWVudFNpYmxpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFByZXZpb3VzRWxlbWVudFNpYmxpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlQ3R4dCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1dBUk5JTkc6Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENsZWFudXBQYXJzZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENsZWFudXBUaHJlYWRzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFHZXRDYW5vblZhbHVlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFOZXdTdHJpbmdWYWx1ZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1dGQzonPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VBdHRyaWJ1dGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQ2hhclJlZicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VEZWZhdWx0RGVjbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbGVtZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVudGl0eVJlZicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VNYXJrdXBEZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVBFUmVmZXJlbmNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVN0YXJ0VGFnJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJIYW5kbGVQRVJlZmVyZW5jZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySGFuZGxlUmVmZXJlbmNlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nV1dXLUF1dGhlbnRpY2F0ZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUEF1dGhIZWFkZXInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdXWFMnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFNjaGVtYUVsZW1lbnQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdXYWxrJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbExpc3RSZXZlcnNlV2FsaycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTGlzdFdhbGsnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdXYXJuaW5nJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNhdmVGaWxlVG8nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNhdmVGb3JtYXRGaWxlVG8nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdXYXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFBhcnNlcklucHV0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nV2VsbCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRW50aXR5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUluTm9kZUNvbnRleHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlY292ZXJEb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlY292ZXJGaWxlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWNvdmVyTWVtb3J5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVhQYXJzZURvYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYUGFyc2VFbnRpdHknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWFBhcnNlRmlsZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYUGFyc2VGaWxlV2l0aERhdGEnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWFBhcnNlTWVtb3J5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVhQYXJzZU1lbW9yeVdpdGhEYXRhJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nV2hhdCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sRXJyb3InLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J25vdGF0aW9uRGVjbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nbm90YXRpb25EZWNsU0FYRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0ndW5wYXJzZWRFbnRpdHlEZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd1bnBhcnNlZEVudGl0eURlY2xTQVhGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwQ2xvbmVOb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVgyTm90YXRpb25EZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVgyVW5wYXJzZWRFbnRpdHlEZWNsJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nV2hlbic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYW5kbGVFbnRpdHknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ29tcGFyZVZhbHVlcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhJZEZ1bmN0aW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nV2hlcmV2ZXInPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ3VycmVudENoYXInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdXaGl0ZXNwYWNlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm9ybWFsaXplRnVuY3Rpb24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdXaWxsJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNhdmVGaWxlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTYXZlRm9ybWF0RmlsZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1dpdGgnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VBdHRyaWJ1dGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRW5kVGFnJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVN0YXJ0VGFnJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nV29ya2Fyb3VuZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZVNldEZpbGVuYW1lJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nV29ya2luZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZU5hbWVzcGFjZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1dyYXAnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhXcmFwTm9kZVNldCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFB0cldyYXBMb2NhdGlvblNldCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1dyYXBwZXInPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRmlsZU9wZW4nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdXcmFwcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFdyYXBDU3RyaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFdyYXBFeHRlcm5hbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhXcmFwU3RyaW5nJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nV3JpdGVzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJGdWxsRW5kRWxlbWVudCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICA8L2xldHRlcj4KKyAgICAgIDxsZXR0ZXIgbmFtZT0nWCc+CisgICAgICAgIDx3b3JkIG5hbWU9J1hIVE1MJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbElzWEhUTUwnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdYSW5jbHVkZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdMSUJYTUxfWElOQ0xVREVfRU5BQkxFRCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nWElOQ0xVREVfTlMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hJTkNMVURFX09MRF9OUycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRE9NV3JhcENsb25lTm9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWEluY2x1ZGVGcmVlQ29udGV4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWEluY2x1ZGVOZXdDb250ZXh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYSW5jbHVkZVByb2Nlc3MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhJbmNsdWRlUHJvY2Vzc0ZsYWdzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYSW5jbHVkZVByb2Nlc3NGbGFnc0RhdGEnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhJbmNsdWRlUHJvY2Vzc05vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhJbmNsdWRlUHJvY2Vzc1RyZWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhJbmNsdWRlUHJvY2Vzc1RyZWVGbGFncycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWEluY2x1ZGVQcm9jZXNzVHJlZUZsYWdzRGF0YScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWEluY2x1ZGVTZXRGbGFncycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1hJbmNsdWRlPyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwQ2xvbmVOb2RlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nWExJTktfVFlQRV9OT05FJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3hsaW5rSXNMaW5rJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nWE1MLTEnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRGV0ZWN0Q2hhckVuY29kaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZUF0dHJpYnV0ZURlY2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlRWxlbWVudERlY2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlTm90YXRpb25EZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZU9uZUF0dHJpYnV0ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVPbmVFbGVtZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZU9uZU5hbWVzcGFjZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVSb290Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nWE1MLVNjaGVtYSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFHZXRWYWxpZEVycm9ycycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1hNTERlY2wnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VYTUxEZWNsJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nWE1MRGVjbD8nPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VEb2N1bWVudCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1hNTFNjaGVtYSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFHZXRQcmVkZWZpbmVkVHlwZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1hNTF9BVFRSSUJVVEVfREVDTCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sQXR0cmlidXRlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nWE1MX0FUVFJJQlVURV9FTlVNRVJBVElPTic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVudW1lcmF0ZWRUeXBlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nWE1MX0FUVFJJQlVURV9GSVhFRCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZURlZmF1bHREZWNsJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nWE1MX0FUVFJJQlVURV9JTVBMSUVEJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRGVmYXVsdERlY2wnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdYTUxfQVRUUklCVVRFX05PREUnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbEF0dHInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdYTUxfQVRUUklCVVRFX05PTkUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VEZWZhdWx0RGVjbCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1hNTF9BVFRSSUJVVEVfTk9UQVRJT04nPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbnVtZXJhdGVkVHlwZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1hNTF9BVFRSSUJVVEVfUkVRVUlSRUQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VEZWZhdWx0RGVjbCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1hNTF9CVUZGRVJfQUxMT0NfRE9VQkxFSVQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0QnVmZmVyQWxsb2NhdGlvblNjaGVtZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2V0QnVmZmVyQWxsb2NhdGlvblNjaGVtZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1hNTF9CVUZGRVJfQUxMT0NfRVhBQ1QnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0QnVmZmVyQWxsb2NhdGlvblNjaGVtZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2V0QnVmZmVyQWxsb2NhdGlvblNjaGVtZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1hNTF9CVUZGRVJfQUxMT0NfSFlCUklEJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdYTUxfQ0FTVF9GUFRSJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9DQVNUX0ZQVFInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdYTUxfQ0FUQV9QUkVGRVJfUFVCTElDJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENhdGFsb2dTZXREZWZhdWx0UHJlZmVyJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nWE1MX0NBVEFfUFJFRkVSX1NZU1RFTSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDYXRhbG9nU2V0RGVmYXVsdFByZWZlcicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1hNTF9DSEFSX0VOQ09ESU5HXyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEZXRlY3RDaGFyRW5jb2RpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQ2hhckVuY29kaW5nJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nWE1MX0NIQVJfRU5DT0RJTkdfTk9ORSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUNoYXJFbmNvZGluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1hNTF9ET0NVTUVOVF9OT0RFJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxEb2MnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdYTUxfRFREX05PREUnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbER0ZCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1hNTF9FTEVNRU5UX0RFQ0wnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbEVsZW1lbnQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdYTUxfRUxFTUVOVF9UWVBFX3h4eCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVsZW1lbnRDb250ZW50RGVjbCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1hNTF9FTlRJVFlfREVDTCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sRW50aXR5Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nWE1MX0VSUl9PSyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUluTm9kZUNvbnRleHQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdYTUxfUEFSU0VfQklHX0xJTkVTJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldExpbmVObycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1hNTF9QQVJTRV9IVUdFJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9NQVhfRElDVElPTkFSWV9MSU1JVCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX01BWF9OQU1FX0xFTkdUSCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX01BWF9URVhUX0xFTkdUSCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1hNTF9TQ0hFTUFTX0VMRU1fR0xPQkFMJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0VMRU1fVE9QTEVWRUwnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdYTUxfU0NIRU1BU19GQUNFVF9QUkVTRVJWRSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sU2NoZW1hRmFjZXQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdYTUxfU0NIRU1BU19TVFJJTkcnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hTmV3U3RyaW5nVmFsdWUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdYTUxfU1VCU1RJVFVURV9QRVJFRic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEZWNvZGVFbnRpdGllcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyaW5nRGVjb2RlRW50aXRpZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cmluZ0xlbkRlY29kZUVudGl0aWVzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nWE1MX1NVQlNUSVRVVEVfUkVGJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERlY29kZUVudGl0aWVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJpbmdEZWNvZGVFbnRpdGllcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyaW5nTGVuRGVjb2RlRW50aXRpZXMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdYTUxfeHh4X3l5eV9FTlRJVFknPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQWRkRG9jRW50aXR5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBZGREdGRFbnRpdHknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld0VudGl0eScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1hNbC1TY2hlbWEnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hR2V0UGFyc2VyRXJyb3JzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nWFBBVEgnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhGcmVlQ29tcEV4cHInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdYUEFUSF9JTlZBTElEX0FSSVRZJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoU2V0QXJpdHlFcnJvcicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1hQQVRIX0lOVkFMSURfVFlQRSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFNldFR5cGVFcnJvcicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1hQb2ludGVyJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0xJQlhNTF9YUFRSX0VOQUJMRUQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxYUGF0aENvbnRleHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxYUGF0aFBhcnNlckNvbnRleHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQdHJCdWlsZE5vZGVMaXN0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyRXZhbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFB0ckV2YWxSYW5nZVByZWRpY2F0ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFB0ck5ld0NvbnRleHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQdHJSYW5nZVRvRnVuY3Rpb24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdYU0QnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFOZXdOZWdUcmFucycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRpdHlFcnJvckZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbGlkaXR5V2FybmluZ0Z1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclNldFNjaGVtYScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1hTTFQnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbE5vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxYUGF0aENvbnRleHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEZyZWVQYXR0ZXJuJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxGcmVlUGF0dGVybkxpc3QnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV3VmFsdWVUcmVlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFN0YWNrSXNOb2RlU2V0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nWGluY2x1ZGUnPgorICAgICAgICAgIDxyZWYgbmFtZT0nWElOQ0xVREVfTlMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hJTkNMVURFX09MRF9OUycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1htbCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyTm9kZVR5cGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdYbWxOb2RlVHlwZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyTm9kZVR5cGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgPC9sZXR0ZXI+CisgICAgPC9jaHVuaz4KKyAgICA8Y2h1bmsgbmFtZT0nY2h1bmsxMCc+CisgICAgICA8bGV0dGVyIG5hbWU9J1knPgorICAgICAgICA8d29yZCBuYW1lPSdZRVMnPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbE5vZGVTdGF0dXMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdZaVJhZGljYWxzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzWWlSYWRpY2FscycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1lpU3lsbGFibGVzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVDU0lzWWlTeWxsYWJsZXMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdZaWppbmdIZXhhZ3JhbVN5bWJvbHMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVUNTSXNZaWppbmdIZXhhZ3JhbVN5bWJvbHMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgPC9sZXR0ZXI+CisgICAgICA8bGV0dGVyIG5hbWU9J1onPgorICAgICAgICA8d29yZCBuYW1lPSdaTElCJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2RvY2JDcmVhdGVGaWxlUGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nZG9jYlBhcnNlRmlsZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0nZG9jYlNBWFBhcnNlRmlsZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbENyZWF0ZUZpbGVQYXJzZXJDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sUGFyc2VGaWxlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sU0FYUGFyc2VGaWxlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDcmVhdGVFbnRpdHlQYXJzZXJDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDcmVhdGVGaWxlUGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ3JlYXRlVVJMUGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0Q29tcHJlc3NNb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHZXREb2NDb21wcmVzc01vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUZpbGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlY292ZXJGaWxlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVhQYXJzZUZpbGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWFBhcnNlRmlsZVdpdGhEYXRhJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVhVc2VyUGFyc2VGaWxlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTZXRDb21wcmVzc01vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNldERvY0NvbXByZXNzTW9kZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J1psaWInPgorICAgICAgICAgIDxyZWYgbmFtZT0nTElCWE1MX1pMSUJfRU5BQkxFRCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICA8L2xldHRlcj4KKyAgICAgIDxsZXR0ZXIgbmFtZT0nYSc+CisgICAgICAgIDx3b3JkIG5hbWU9J2Eteic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGVja0xhbmd1YWdlSUQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVSSUVzY2FwZVN0cicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2EtekEtWic+CisgICAgICAgICAgPHJlZiBuYW1lPSdJU19BU0NJSV9MRVRURVInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdhLXpBLVowLTknPgorICAgICAgICAgIDxyZWYgbmFtZT0nSVNfUFVCSURDSEFSJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYUBiJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBQcm94eScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2FiYyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFRyYW5zbGF0ZUZ1bmN0aW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYWJjLSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFRyYW5zbGF0ZUZ1bmN0aW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYWJsZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFbnRpdHlSZWZlcmVuY2VGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxGaW5kQ2hhckVuY29kaW5nSGFuZGxlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0Q2hhckVuY29kaW5nSGFuZGxlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySW5wdXRCdWZmZXJHcm93Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE9yZGVyRG9jRWxlbXMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdhYm91dCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sUGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRGVidWdEdW1wU3RyaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTaGVsbERpcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlUmF3TGVuJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYWJvdmUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VNYXJrdXBEZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJlYW1XYW50c0FueU5vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoU3Vic3RyaW5nRnVuY3Rpb24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdhYnNlbnQnPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfRUxFTV9CTE9DS19BQlNFTlQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0VMRU1fQkxPQ0tfRVhURU5TSU9OJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19FTEVNX0ZJTkFMX0FCU0VOVCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX0FCU0VOVCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2Fic29sdXRlVVJJJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlVVJJJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYWJzdGFpbic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDbGVhbnVwUGFyc2VyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDbGVhbnVwVGhyZWFkcycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2Fic3RyYWN0Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0VMRU1fQUJTVFJBQ1QnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfQUJTVFJBQ1QnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdhY2NlcHQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRXhwTWF4VG9rZW4nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldE5vTnNQcm9wJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJc01peGVkRWxlbWVudCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2FjY2VwdGFibGUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVnRXhlY0VyckluZm8nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlZ0V4ZWNOZXh0VmFsdWVzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYWNjZXB0ZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0nSVNfQllURV9DSEFSJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDYXRhbG9nR2V0RGVmYXVsdHMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENhdGFsb2dTZXREZWZhdWx0UHJlZmVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDYXRhbG9nU2V0RGVmYXVsdHMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEV4cEdldFN0YXJ0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWdFeGVjRXJySW5mbycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVnRXhlY05leHRWYWx1ZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJOb3JtYWxpemF0aW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYWNjZXB0aW5nJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJOb3JtYWxpemF0aW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYWNjZXB0cyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFeHBJc05pbGxhYmxlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFeHBTdWJzdW1lJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYWNjZXNzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdjTWVtR2V0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHY01lbVNldHVwJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxNZW1HZXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE1lbVNldHVwJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdNdXRleCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3Uk11dGV4Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZEN0eHRHZXRQYXJzZXJDdHh0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYWNjZXNzZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckN1cnJlbnREb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJDdXJyZW50Tm9kZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2FjY2Vzc2VzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENyZWF0ZVVSTFBhcnNlckN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vTmV0RXh0ZXJuYWxFbnRpdHlMb2FkZXInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdhY2NleHB0ZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRXhwU3Vic3VtZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2FjY29tbW9kYXRlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ1ZmZlclJlc2l6ZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2FjY29yZGluZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWlsZFVSSScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRGV0ZWN0Q2hhckVuY29kaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVhWZXJzaW9uJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0V2h0c3AnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVSSUVzY2FwZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDb21wYXJlVmFsdWVzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYWNjb3JkaW5nbHknPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VDaGFyRW5jb2RpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlckhhbmRsZVBFUmVmZXJlbmNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJIYW5kbGVSZWZlcmVuY2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkQ3R4dE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYWNjb3VudCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0V2h0c3AnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdhY3F1aXJlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxET01XcmFwQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRE9NV3JhcEFjcXVpcmVOc0Z1bmN0aW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYWN0Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cmVhbVB1c2gnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cmVhbVB1c2hBdHRyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJlYW1QdXNoTm9kZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2FjdGlvbic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEb2NTZXRSb290RWxlbWVudCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2FjdGl2YXRlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJTZXRQYXJzZXJQcm9wJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYWN0aXZhdGVkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0RFQlVHX01FTU9SWScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFOZXdBbGxUcmFucycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFOZXdDb3VudFRyYW5zJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YU5ld0NvdW50VHJhbnMyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YU5ld05lZ1RyYW5zJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YU5ld09uY2VUcmFucycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFOZXdPbmNlVHJhbnMyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YU5ld1RyYW5zaXRpb24nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhTmV3VHJhbnNpdGlvbjInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJSZWxheE5HU2V0U2NoZW1hJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyUmVsYXhOR1ZhbGlkYXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyUmVsYXhOR1ZhbGlkYXRlQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyU2NoZW1hVmFsaWRhdGVDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyU2V0U2NoZW1hJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYWN0aXZhdGVzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ29udGV4dFNldENhY2hlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYWN0cyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHZXRQcm9wJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYWN0dWFsJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldFVURjhDaGFyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZUxlbmd0aEZhY2V0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZUxlbmd0aEZhY2V0V2h0c3AnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRnJlZU5vZGVTZXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQdHJGcmVlTG9jYXRpb25TZXQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdhY3R1YWxseSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sRG9jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sUGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nc2V0RG9jdW1lbnRMb2NhdG9yJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdzZXREb2N1bWVudExvY2F0b3JTQVhGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBZGRFbmNvZGluZ0FsaWFzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDdXJyZW50Q2hhcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRGVsRW5jb2RpbmdBbGlhcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0RW5jb2RpbmdBbGlhcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3Q2hhckVuY29kaW5nSGFuZGxlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VDaGFyRW5jb2RpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlTm90YXRpb25EZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVgyU2V0RG9jdW1lbnRMb2NhdG9yJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJpbmdDdXJyZW50Q2hhcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckJ5dGVDb25zdW1lZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhPcmRlckRvY0VsZW1zJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYWN0dWF0ZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bGlua0V4dGVuZGVkTGlua0Z1bmsnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdhZGQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQUNhdGFsb2dBZGQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ1ZmZlckFkZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnVmZmVyQWRkSGVhZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnVmZmVyQ2F0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWZmZXJXcml0ZUNIQVInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ1ZmZlcldyaXRlQ2hhcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnVmZmVyV3JpdGVRdW90ZWRTdHJpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENhdGFsb2dBZGQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbExpc3RQdXNoQmFjaycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTGlzdFB1c2hGcm9udCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhBZGRWYWx1ZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm9kZVNldEFkZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb2RlU2V0QWRkTnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm9kZVNldEFkZFVuaXF1ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFB0ckxvY2F0aW9uU2V0QWRkJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYWRkZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0nYXR0cmlidXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdhdHRyaWJ1dGVTQVhGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sRG9jQ29udGVudER1bXBGb3JtYXRPdXRwdXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxEb2NDb250ZW50RHVtcE91dHB1dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbERvY0R1bXBNZW1vcnlGb3JtYXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxOb2RlRHVtcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbE5vZGVEdW1wRmlsZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbE5vZGVEdW1wRmlsZUZvcm1hdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbE5vZGVEdW1wRm9ybWF0T3V0cHV0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sTm9kZUR1bXBPdXRwdXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxTYXZlRmlsZUVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbFNhdmVGaWxlRm9ybWF0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBZGRDaGlsZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQWRkTmV4dFNpYmxpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEFkZFByZXZTaWJsaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGVja0xhbmd1YWdlSUQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERPTVdyYXBDbG9uZU5vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERvY0R1bXBGb3JtYXRNZW1vcnknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERvY0R1bXBGb3JtYXRNZW1vcnlFbmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERvY0Zvcm1hdER1bXAnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld0NoaWxkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdUZXh0Q2hpbGQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNhdmVGb3JtYXRGaWxlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTYXZlRm9ybWF0RmlsZUVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2F2ZUZvcm1hdEZpbGVUbycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyY2F0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJuY2F0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vZGVTZXRNZXJnZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFB0ckxvY2F0aW9uU2V0TWVyZ2UnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdhZGRpbmcnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTG9hZFNHTUxTdXBlckNhdGFsb2cnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9IVFRQTWV0aG9kJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUE1ldGhvZFJlZGlyJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYWRkaXRpb24nPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSGFzaEFkZEVudHJ5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoQWRkRW50cnkyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoQWRkRW50cnkzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoVXBkYXRlRW50cnknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEhhc2hVcGRhdGVFbnRyeTInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEhhc2hVcGRhdGVFbnRyeTMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoU3Vic3RyaW5nRnVuY3Rpb24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdhZGRpdGlvbmFsJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERPTVdyYXBBZG9wdE5vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERPTVdyYXBDbG9uZU5vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERPTVdyYXBSZWNvbmNpbGVOYW1lc3BhY2VzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYWRkaXRpb25hbGx5Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cmVhbVdhbnRzQW55Tm9kZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2FkZHJlc3MnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTW9kdWxlU3ltYm9sJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdUZXh0V3JpdGVyRG9jJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYWRkcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YU5ld0FsbFRyYW5zJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YU5ld0NvdW50VHJhbnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhTmV3Q291bnRUcmFuczInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhTmV3Q291bnRlZFRyYW5zJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YU5ld0NvdW50ZXJUcmFucycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFOZXdFcHNpbG9uJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YU5ld05lZ1RyYW5zJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YU5ld09uY2VUcmFucycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFOZXdPbmNlVHJhbnMyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YU5ld1RyYW5zaXRpb24nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhTmV3VHJhbnNpdGlvbjInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ1ZmZlcldyaXRlQ0hBUicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2FkZXF1YXRlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cmluZ0RlY29kZUVudGl0aWVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJpbmdMZW5EZWNvZGVFbnRpdGllcycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2FkamFjZW50Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEFkZENoaWxkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBZGRDaGlsZExpc3QnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEFkZFByZXZTaWJsaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBZGRTaWJsaW5nJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYWZmZWN0Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEtlZXBCbGFua3NEZWZhdWx0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYWZmZWN0ZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRpdHlMb2NhdG9yRnVuYycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2FmZmlsaWF0aW9uJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxTY2hlbWFFbGVtZW50Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYWZyYWlkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEVuY29kZUVudGl0aWVzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYWZ0ZXInPgorICAgICAgICAgIDxyZWYgbmFtZT0nVVRGOFRvSHRtbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nVVRGOFRvaXNvbGF0MScvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFBhcnNlckN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2RvY2JFbmNvZGVFbnRpdGllcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbEVuY29kZUVudGl0aWVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdpc29sYXQxVG9VVEY4Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YUNvbXBpbGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoYXJFbmNvZGluZ0lucHV0RnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUENoZWNrUmVzcG9uc2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBGcmVlQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUEdldFJlc3BvbnNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWNvbmNpbGlhdGVOcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2F2ZUZpbGVUbycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2F2ZUZvcm1hdEZpbGVUbycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVW5saW5rTm9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5leHRGb2xsb3dpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoU3RyaW5nRnVuY3Rpb24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdhZ2Fpbic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2FnYWluc3QnPgorICAgICAgICAgIDxyZWYgbmFtZT0nTElCWE1MX1RFU1RfVkVSU0lPTicvPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfRUxFTV9JTlRFUk5BTF9DSEVDS0VEJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdjaGVja05hbWVzcGFjZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hlY2tWZXJzaW9uJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWdleHBDb21waWxlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWdleHBFeGVjJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0V2h0c3AnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXRXaHRzcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRhdGVMaXN0U2ltcGxlVHlwZUZhY2V0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWF0cm9uVmFsaWRhdGVEb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNoZWxsVmFsaWRhdGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlRHRkJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYWdncmVnYXRlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ1ZkdldE5vZGVDb250ZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlQnVmR2V0Q29udGVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUdldENvbnRlbnQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdhaGVhZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfTUFYX0xPT0tVUF9MSU1JVCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2FsZ2VicmFpYyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFeHBFeHBEZXJpdmUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdhbGlhcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBZGRFbmNvZGluZ0FsaWFzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEZWxFbmNvZGluZ0FsaWFzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHZXRFbmNvZGluZ0FsaWFzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYWxpYXNlcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDbGVhbnVwQ2hhckVuY29kaW5nSGFuZGxlcnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENsZWFudXBFbmNvZGluZ0FsaWFzZXMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdhbGlhc2luZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfQ0FTVF9GUFRSJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTZWFyY2hOc0J5SHJlZicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2FsbG9jYXRlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxEb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ1ZmZlckdyb3cnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ1aWxkUU5hbWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE1hbGxvY0F0b21pY0xvYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTWFsbG9jTG9jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxNZW1NYWxsb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE1lbVJlYWxsb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld011dGV4Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdSTXV0ZXgnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlYWxsb2NMb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoT2JqZWN0Q29weScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2FsbG9jYXRpb24nPgorICAgICAgICAgIDxyZWYgbmFtZT0nTElCWE1MX1RIUkVBRF9BTExPQ19FTkFCTEVEJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sTmV3UGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnVmZmVyU2V0QWxsb2NhdGlvblNjaGVtZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0QnVmZmVyQWxsb2NhdGlvblNjaGVtZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTWFsbG9jQXRvbWljTG9jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxNYWxsb2NMb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE1lbU1hbGxvYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTWVtUmVhbGxvYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTWVtU3RyZHVwTG9jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxNZW1vcnlTdHJkdXAnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vcm1hbGl6ZVVSSVBhdGgnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlYWxsb2NMb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJHZXRSZW1haW5kZXInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdhbGxvY2F0aW9ucyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHY01lbUdldCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2NNZW1TZXR1cCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTWVtU2V0dXAnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0RGVhbGxvY2F0ZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2FsbG9jYXRvcic+CisgICAgICAgICAgPHJlZiBuYW1lPSdERUJVR19NRU1PUlknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0xJQlhNTF9BVFRSX0FMTE9DX1NJWkUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdhbGxvY2F0b3JzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdjTWVtR2V0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHY01lbVNldHVwJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYWxsb3cnPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfQVRUUl9HTE9CQUwnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0FUVFJfTlNERUZBVUxUJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19FTEVNX05TREVGQVVMVCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nZG9jYkNyZWF0ZVB1c2hQYXJzZXJDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sQXR0ckFsbG93ZWQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxOb2RlU3RhdHVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YU5ld0FsbFRyYW5zJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGVja0xhbmd1YWdlSUQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoZWNrVVRGOCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEtlZXBCbGFua3NEZWZhdWx0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdEb2NOb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdEb2NOb2RlRWF0TmFtZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VWZXJzaW9uTnVtJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZEN0eHRHZXRQYXJzZXJDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTZWFyY2hOcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2hlbGwnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlTkNOYW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZU5NVG9rZW4nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlTmFtZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVRTmFtZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2FsbG93YWJsZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTa2lwQmxhbmtDaGFycycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2FsbG93ZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX01BWF9ESUNUSU9OQVJZX0xJTUlUJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfTUFYX0xPT0tVUF9MSU1JVCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX01BWF9OQU1FX0xFTkdUSCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX01BWF9URVhUX0xFTkdUSCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX2h0bWxFbGVtRGVzYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbEVsZW1lbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxTY2hlbWFXaWxkY2FyZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbEVsZW1lbnRBbGxvd2VkSGVyZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbEVsZW1lbnRBbGxvd2VkSGVyZURlc2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxOb2RlU3RhdHVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YU5ld0FsbFRyYW5zJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YU5ld0NvdW50ZXJUcmFucycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnVmTm9kZUR1bXAnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbElzTGV0dGVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlQWRkQ29udGVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUFkZENvbnRlbnRMZW4nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVEdW1wJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlRHVtcE91dHB1dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlSZWNvdmVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUluTm9kZUNvbnRleHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkR2V0UG90ZW50aWFsQ2hpbGRyZW4nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm9ybWFsaXplRnVuY3Rpb24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdhbGxvd2luZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb05ldEV4dGVybmFsRW50aXR5TG9hZGVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyQ3VycmVudERvYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckN1cnJlbnROb2RlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYWxsb3dzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxBdXRvQ2xvc2VUYWcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxJc0F1dG9DbG9zZWQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENhdGFsb2dBZGQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld0NoaWxkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlU2V0Q29udGVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9kZVNldENvbnRlbnRMZW4nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlVVJJUmF3Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyQ29uc3RTdHJpbmcnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdhbHBoYW51bWVyaWNzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoZWNrTGFuZ3VhZ2VJRCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2FscmVhZHknPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfQVRUUkdST1VQX0dMT0JBTCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfQVRUUkdST1VQX1dJTERDQVJEX0JVSUxERUQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxQYXJzZXJJbnB1dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQWRkTmV4dFNpYmxpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEFkZFByZXZTaWJsaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBZGRTaWJsaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWlsZFJlbGF0aXZlVVJJJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwQWRvcHROb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwQ2xvbmVOb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwUmVjb25jaWxlTmFtZXNwYWNlcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRnJlZUZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdjTWVtU2V0dXAnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEluaXRpYWxpemVEaWN0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxNZW1TZXR1cCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VDaGFyRW5jb2RpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlTm90YXRpb25UeXBlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJJbnB1dEdyb3cnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlYWxsb2NGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZXBsYWNlTm9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb2RlU2V0QWRkVW5pcXVlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyTG9jYXRpb25TZXRBZGQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdhbHNvJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxFbnRpdHknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoYXJFbmNvZGluZ091dHB1dEZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoZWNrSFRUUElucHV0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDbGVhbnVwUGFyc2VyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNQcm9wJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxLZWVwQmxhbmtzRGVmYXVsdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUFByb3h5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJlYW1QdXNoJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJlYW1QdXNoQXR0cicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyZWFtUHVzaE5vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJQcmVzZXJ2ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclByZXNlcnZlUGF0dGVybicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhTdHJpbmdFdmFsTnVtYmVyJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYWx0ZXJuYXRpdmUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlclN0YXJ0RFREJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVEVEQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZURUREVudGl0eScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRFRERXh0ZXJuYWxFbnRpdHknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZURUREV4dGVybmFsRW50aXR5Q29udGVudHMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZURURE5vdGF0aW9uJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVEQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVEQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdhbHdheXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0nSU5QVVRfQ0hVTksnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERlY29kZUVudGl0aWVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYW1kJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENhdGFsb2dJc0VtcHR5Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYW1vdW50Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0lOUFVUX0NIVU5LJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sUGFyc2VySW5wdXRCdWZmZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERpY3RHZXRVc2FnZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTWVtRGlzcGxheUxhc3QnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE1lbVVzZWQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyR3JvdycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySW5wdXRCdWZmZXJSZWFkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJJbnB1dEdyb3cnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdhbXAnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbnRpdHlSZWYnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlU0REZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJIYW5kbGVSZWZlcmVuY2UnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdhbXBlcnNhbmQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3VGV4dENoaWxkJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYW5hbHlzaXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFBhcnNlckN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxWYWxpZEN0eHQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdhbmFseXplJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlVVJJJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVVSSVJhdycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VVUklSZWZlcmVuY2UnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdhbmFseXplZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sUGFyc2VySW5wdXQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdhbmNlc3Rvcic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlR2V0TGFuZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUdldFNwYWNlUHJlc2VydmUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNoZWxsUHdkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aExhbmdGdW5jdGlvbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXh0QW5jZXN0b3InLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdhbmNlc3Rvci1vci1zZWxmJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV4dEFuY2VzdG9yT3JTZWxmJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYW5jZXN0b3JzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV4dEFuY2VzdG9yJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5leHRBbmNlc3Rvck9yU2VsZicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXh0UHJlY2VkaW5nJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYW5jaG9yZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0TnNQcm9wJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNOc1Byb3AnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdhbmdsZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUNoYXJEYXRhJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYW5ub3RhdGlvbic+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sU2NoZW1hQW5ub3QnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdhbm90aGVyJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoYXJFbmNvZGluZ091dHB1dEZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENsZWFudXBQYXJzZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENsZWFudXBUaHJlYWRzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJbnB1dE1hdGNoQ2FsbGJhY2snLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dE1hdGNoQ2FsbGJhY2snLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNldEdlbmVyaWNFcnJvckZ1bmMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdhbnlTaW1wbGVUeXBlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYU5ld1N0cmluZ1ZhbHVlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYW55VVJJJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUdldENhbm9uVmFsdWUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdhbnltb3JlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0FOWUFUVFJfTEFYJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19BTllBVFRSX1NLSVAnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0FOWUFUVFJfU1RSSUNUJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19FTEVNX05TREVGQVVMVCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRGljdENsZWFudXAnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbWVzcGFjZVBhcnNlTkNOYW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW1lc3BhY2VQYXJzZU5TRGVmJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW1lc3BhY2VQYXJzZVFOYW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdFbnRpdHknLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdhbnl3YXknPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hlY2tMYW5ndWFnZUlEJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWNvdmVyRG9jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWNvdmVyRmlsZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVjb3Zlck1lbW9yeScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVOb3RhdGlvbkRlY2wnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdhcGFydCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFN0cmluZ0Z1bmN0aW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYXBvcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVudGl0eVJlZicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VTRERlY2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlckhhbmRsZVJlZmVyZW5jZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2FwcGVhcic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdUZXh0Q2hpbGQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQXR0cmlidXRlVHlwZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbGVtZW50TWl4ZWRDb250ZW50RGVjbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VQRVJlZmVyZW5jZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VTRERlY2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlU3RhcnRUYWcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlckhhbmRsZVBFUmVmZXJlbmNlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYXBwZWFyaW5nJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlUG9wRWxlbWVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVQdXNoRWxlbWVudCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2FwcGVhcnMnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFVSSScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRXhwR2V0U3RhcnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQ2hhckRhdGEnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRW50aXR5UmVmJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVNERGVjbCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2FwcGVuZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDb3B5Q2hhcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ29weUNoYXJNdWx0aUJ5dGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkR2V0VmFsaWRFbGVtZW50cycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2FwcGVuZGVkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQXR0VmFsdWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbHVlQXBwZW5kJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYXBwZW5kaW5nJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQXR0VmFsdWUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdhcHBlbmRpeCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEZXRlY3RDaGFyRW5jb2RpbmcnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdhcHBsaWNhYmxlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENvcHlOb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEb2NDb3B5Tm9kZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2FwcGxpY2F0aW9uJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxBdHRyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sQXR0cmlidXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sRG9jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sRHRkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sRWxlbWVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbEVudGl0eScvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbE5vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxOcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0ncmVzb2x2ZUVudGl0eScvPgorICAgICAgICAgIDxyZWYgbmFtZT0ncmVzb2x2ZUVudGl0eVNBWEZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoZWNrVmVyc2lvbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2xlYW51cFBhcnNlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2xlYW51cFRocmVhZHMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEN1cnJlbnRDaGFyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHZXRFeHRlcm5hbEVudGl0eUxvYWRlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTGluZU51bWJlcnNEZWZhdWx0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUF0dFZhbHVlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVgyUmVzb2x2ZUVudGl0eScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2V0RXh0ZXJuYWxFbnRpdHlMb2FkZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhJbmNsdWRlUHJvY2Vzc0ZsYWdzRGF0YScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWEluY2x1ZGVQcm9jZXNzVHJlZUZsYWdzRGF0YScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2FwcGxpY2F0aW9ucyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTZXRHZW5lcmljRXJyb3JGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTZXRTdHJ1Y3R1cmVkRXJyb3JGdW5jJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYXBwbGllZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoQ29weScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFNjYW4nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEhhc2hTY2FuMycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFNjYW5GdWxsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoU2NhbkZ1bGwzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYXBwbGllcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVsZW1lbnRDaGlsZHJlbkNvbnRlbnREZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVsZW1lbnRNaXhlZENvbnRlbnREZWNsJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYXBwbHknPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTGlzdFJldmVyc2VXYWxrJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0V2FsaycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VNYXJrdXBEZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVNERGVjbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsUHJlZGVmVHlwZU5vZGVOb05vcm0nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlUm9vdCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2FwcGx5aW5nJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldE5zTGlzdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhJZEZ1bmN0aW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYXBwcm9wcmlhdGUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neGxpbmtJc0xpbmsnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoZWNrSFRUUElucHV0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVVSSVJlZmVyZW5jZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2FyY3MnPgorICAgICAgICAgIDxyZWYgbmFtZT0neGxpbmtFeHRlbmRlZExpbmtGdW5rJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYXJlYSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWZmZXJDcmVhdGVTdGF0aWMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE1hbGxvY0F0b21pY0xvYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTWFsbG9jTG9jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxNZW1NYWxsb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE1lbVJlYWxsb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlTWVtJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZVN0YXRpYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVhbGxvY0xvYycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2FyZWFzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdjTWVtR2V0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHY01lbVNldHVwJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxNZW1CbG9ja3MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE1lbVNob3cnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdhcmdzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0NIRUNLX0FSSVRZJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQ3R4dEV4dGVybmFsRW50aXR5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUV4dGVybmFsRW50aXR5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyUmFuZ2VUb0Z1bmN0aW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYXJvdW5kJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEZpbGVPcGVuJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYXJyYXlzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxQYXJzZXJDdHh0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYXJyeSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJJbnB1dEJ1ZmZlclB1c2gnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdhc2tlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVJlZmVyZW5jZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2Fzc3VtZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJjYXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cmR1cCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2Fzc3VtZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hlY2tVVEY4Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYXNzdW1lcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWlsZFJlbGF0aXZlVVJJJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYXNzdW1pbmcnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5UmVjb3ZlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2F2ZUZpbGVUbycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2F2ZUZvcm1hdEZpbGVUbycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2Fzc3VyZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHZXRVVEY4Q2hhcicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2F0b20nPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRXhwTmV3QXRvbScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRXhwTmV3T3InLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEV4cE5ld1JhbmdlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFeHBOZXdTZXEnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdhdG9taWMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2NNZW1HZXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdjTWVtU2V0dXAnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdhdHRhY2hlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyR2V0UmVtYWluZGVyJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYXR0ZW1wdCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWNvdmVyRG9jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWNvdmVyTWVtb3J5Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYXR0ZW1wdHMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVjb3ZlckZpbGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdhdHRyJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0FUVFJHUk9VUF9IQVNfUkVGUycvPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfQVRUUkdST1VQX01BUktFRCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfQVRUUkdST1VQX1JFREVGSU5FRCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbElEJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sUmVmJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYXR0cmlidXRlLSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJlYW1QdXNoTm9kZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2F0dHJpYnV0ZS1saXN0Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRGVmYXVsdERlY2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRW50aXR5UmVmJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYXR0cmlidXRlLW5vZGUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyZWFtUHVzaEF0dHInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdhdHRyaWJ1dGUtbm9kZXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyZWFtV2FudHNBbnlOb2RlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYXR0cmlidXRlRm9ybURlZmF1bHQnPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfUVVBTElGX0FUVFInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdhdWdtZW50ZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0nZG9jYlBhcnNlRG9jdW1lbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxQYXJzZURvY3VtZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZURvY3VtZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUV4dFBhcnNlZEVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dE1lcmdlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYXV0YXJrJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERPTVdyYXBSZW1vdmVOb2RlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYXV0aGVudGljYXRpb24nPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0hUVFBBdXRoSGVhZGVyJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYXV0aG9yJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxOb2RlU3RhdHVzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYXV0aG9yaXR5Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxVUkknLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdhdXRob3JpemVkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkR2V0VmFsaWRFbGVtZW50cycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2F1dG8nPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbEhhbmRsZU9taXR0ZWRFbGVtJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYXV0by1yZXBhaXInPgorICAgICAgICAgIDxyZWYgbmFtZT0nX2h0bWxFbGVtRGVzYycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2F1dG9jbG9zZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sQXV0b0Nsb3NlVGFnJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYXV0b2Nsb3NlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sSXNBdXRvQ2xvc2VkJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYXV0b2dlbmVyYXRpb24nPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sS2VlcEJsYW5rc0RlZmF1bHQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdhdXRvbWF0aWNhbGx5Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfVkFSSUVUWV9BQlNFTlQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoYXJFbmNPdXRGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdUZXh0Q2hpbGQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cm5jYXROZXcnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdhdXRvbWF0b24nPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFNjaGVtYVR5cGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdhdXRvcmVmZXJlbmNlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxEb2MnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdhdm9pZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfTUFYX0xPT0tVUF9MSU1JVCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2xlYW51cFBhcnNlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2xlYW51cFRocmVhZHMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdhdm9pZGluZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyTmV4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlck5leHRTaWJsaW5nJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYXdhcmUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0UHJvcCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICA8L2xldHRlcj4KKyAgICA8L2NodW5rPgorICAgIDxjaHVuayBuYW1lPSdjaHVuazExJz4KKyAgICAgIDxsZXR0ZXIgbmFtZT0nYic+CisgICAgICAgIDx3b3JkIG5hbWU9J2JhY2snPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnVmZmVyRGV0YWNoJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGlsZEVsZW1lbnRDb3VudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRW50aXR5UmVmZXJlbmNlRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRmlyc3RFbGVtZW50Q2hpbGQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEtlZXBCbGFua3NEZWZhdWx0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxMYXN0RWxlbWVudENoaWxkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vRlRQR2V0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vRlRQTGlzdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV4dEVsZW1lbnRTaWJsaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQcmV2aW91c0VsZW1lbnRTaWJsaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HRHVtcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2V0RW50aXR5UmVmZXJlbmNlRnVuYycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2JhZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfTUFYX0xPT0tVUF9MSU1JVCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2JhZGx5Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRXh0ZXJuYWxJRCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2JhaGF2aW91cic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyTm9ybWFsaXphdGlvbicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2JhbGFuY2VkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5UmVjb3ZlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VJbk5vZGVDb250ZXh0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYmFyJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoVHJhbnNsYXRlRnVuY3Rpb24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdiYXNlNjQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlQmFzZTY0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYmFzZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0Q29tcHJlc3NNb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHZXREb2NDb21wcmVzc01vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldE5vZGVQYXRoJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdFbnRpdHlJbnB1dFN0cmVhbScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3SW5wdXRGcm9tRmlsZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3U3RyaW5nSW5wdXRTdHJlYW0nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlVVJJJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVVSSVJlZmVyZW5jZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVsYXhOR05ld1ZhbGlkQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hTmV3U3RyaW5nVmFsdWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYU5ld1ZhbGlkQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hU0FYUGx1ZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hU0FYVW5wbHVnJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZVN0cmVhbScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hdHJvbk5ld1ZhbGlkQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2V0Q29tcHJlc3NNb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTZXREb2NDb21wcmVzc01vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cmNhdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyZHVwJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJzdWInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVSSUVzY2FwZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2Jhc2ljYWxseSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdnZXRTeXN0ZW1JZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSXNNaXhlZEVsZW1lbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWDJHZXRTeXN0ZW1JZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVBdHRyaWJ1dGVEZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZURvY3VtZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZURvY3VtZW50RmluYWwnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlRHRkRmluYWwnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlRWxlbWVudERlY2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlTm90YXRpb25EZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZU9uZUF0dHJpYnV0ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVPbmVFbGVtZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZU9uZU5hbWVzcGFjZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVSb290Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYmFzaXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2JlYXInPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VBdHRyaWJ1dGVUeXBlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYmVjb21lcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBZGRBdHRyaWJ1dGVEZWNsJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYmVmb3JlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxJbml0QXV0b0Nsb3NlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWlsZFJlbGF0aXZlVVJJJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDYXRhbG9nQWRkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDbGVhbnVwUGFyc2VyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDbGVhbnVwVGhyZWFkcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ3VycmVudENoYXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdjTWVtU2V0dXAnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEluaXRQYXJzZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE1lbVNldHVwJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyUmVsYXhOR1NldFNjaGVtYScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZUN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclNldFBhcnNlclByb3AnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJTZXRTY2hlbWEnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkR2V0VmFsaWRFbGVtZW50cycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXh0UHJlY2VkaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFN0cmluZ0Z1bmN0aW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYmVnaW5uaW5nJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ1ZlNocmluaycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnVmZmVyQWRkSGVhZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnVmZmVyU2hyaW5rJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCeXRlQ29uc3VtZWQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbExpc3RJbnNlcnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbExpc3RQdXNoRnJvbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cmluZ0N1cnJlbnRDaGFyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyQnl0ZUNvbnN1bWVkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZEdldFZhbGlkRWxlbWVudHMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdiZWdpbnMnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFBhcnNlck5vZGVJbmZvJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYmVoYXZlcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdJU19MRVRURVJfQ0gnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdiZWhhdmlvcic+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sU0FYUGFyc2VEb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEN1cnJlbnRDaGFyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxLZWVwQmxhbmtzRGVmYXVsdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2JlaGF2aW91cic+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfTUFYX0xPT0tVUF9MSU1JVCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbE5vZGVEdW1wJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sTm9kZUR1bXBGaWxlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sTm9kZUR1bXBGaWxlRm9ybWF0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sTm9kZUR1bXBGb3JtYXRPdXRwdXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxOb2RlRHVtcE91dHB1dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0ncmVzb2x2ZUVudGl0eScvPgorICAgICAgICAgIDxyZWYgbmFtZT0ncmVzb2x2ZUVudGl0eVNBWEZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ1Zk5vZGVEdW1wJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWZTaHJpbmsnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEVsZW1EdW1wJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxGcmVlTm9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRnJlZU5vZGVMaXN0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxNb2R1bGVPcGVuJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxNb2R1bGVTeW1ib2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVEdW1wJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlRHVtcE91dHB1dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUdldFNwYWNlUHJlc2VydmUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVTZXRTcGFjZVByZXNlcnZlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVgyUmVzb2x2ZUVudGl0eScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclNldFBhcnNlclByb3AnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVURjhTdHJzaXplJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYmVsb3cnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFBhcnNlckN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoZWNrTGFuZ3VhZ2VJRCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFeHRlcm5hbElEJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYmV0dGVyJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3Jlc29sdmVFbnRpdHknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3Jlc29sdmVFbnRpdHlTQVhGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb3JtYWxpemVXaW5kb3dzUGF0aCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYMlJlc29sdmVFbnRpdHknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWERlZmF1bHRWZXJzaW9uJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVhVc2VyUGFyc2VNZW1vcnknLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdiZXR3ZWVuJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J191Y29udl90Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YU5ld0NvdW50VHJhbnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhTmV3Q291bnRUcmFuczInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhTmV3T25jZVRyYW5zJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YU5ld09uY2VUcmFuczInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENhdGFsb2dTZXREZWZhdWx0UHJlZmVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxNZW1EaXNwbGF5TGFzdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VRdW90ZWRTdHJpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRGlmZmVyZW5jZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2JleW9uZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFN0cmluZ0Z1bmN0aW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYmluYXJ5Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoYXJJblJhbmdlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFbmNvZGVFbnRpdGllcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VOYW1lc3BhY2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlUXVvdGVkU3RyaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVCYXNlNjQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZUJpbkhleCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2JpbmRpbmdzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxTY2hlbWEnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdiaXQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyRXF1YWwnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdiaXRzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldExpbmVObycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2JsYW5rcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxLZWVwQmxhbmtzRGVmYXVsdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2tpcEJsYW5rQ2hhcnMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdibG9jJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5UmVjb3ZlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFeHRlcm5hbEVudGl0eScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2Jsb2NrRGVmYXVsdCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19CTE9DS19ERUZBVUxUX0VYVEVOU0lPTicvPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfQkxPQ0tfREVGQVVMVF9SRVNUUklDVElPTicvPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfQkxPQ0tfREVGQVVMVF9TVUJTVElUVVRJT04nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdibG9ja2VkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdjTWVtU2V0dXAnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE1lbVNldHVwJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYmxvY2tpbmcnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUFJlYWQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9IVFRQUmVhZCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2Jsb2Nrcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdJU19DSEFSJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0FYMl9NQUdJQycvPgorICAgICAgICAgIDxyZWYgbmFtZT0naW5pdGRvY2JEZWZhdWx0U0FYSGFuZGxlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0naW5pdGh0bWxEZWZhdWx0U0FYSGFuZGxlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0naW5pdHhtbERlZmF1bHRTQVhIYW5kbGVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxNZW1CbG9ja3MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE1lbURpc3BsYXknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE1lbW9yeUR1bXAnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdib2R5Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxQYXJzZXJDdHh0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYm9vazEnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnVpbGRSZWxhdGl2ZVVSSScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2Jvb2wnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQm9vbFRvVGV4dCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2JvdGgnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnVmZmVyRnJlZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUENsb3NlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlR2V0QmFzZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbGVtZW50Q2hpbGRyZW5Db250ZW50RGVjbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VNYXJrdXBEZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVN0YXJ0VGFnJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJFcXVhbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDb21wYXJlVmFsdWVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEludGVyc2VjdGlvbicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2JvdW5kJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEV4cE5ld1JhbmdlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYm91bmRhcmllcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sUGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2VhcmNoTnMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdib3VuZGFyeSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfTUFYX0RJQ1RJT05BUllfTElNSVQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9NQVhfTE9PS1VQX0xJTUlUJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfTUFYX05BTUVfTEVOR1RIJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfTUFYX1RFWFRfTEVOR1RIJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVsZW1lbnRDaGlsZHJlbkNvbnRlbnREZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVsZW1lbnRNaXhlZENvbnRlbnREZWNsJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYnJhY2tldCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUNoYXJEYXRhJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYnJhbmNoJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERPTVdyYXBDbG9uZU5vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERPTVdyYXBSZW1vdmVOb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZU9uZUVsZW1lbnQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdicmVhayc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwQWRvcHROb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwQ2xvbmVOb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwUmVjb25jaWxlTmFtZXNwYWNlcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTGluZU51bWJlcnNEZWZhdWx0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYnJlYWtpbmcnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRW5jb2RlRW50aXRpZXMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdicmVha3MnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ3VycmVudENoYXInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdicmsnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbEVycm9yJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYnJva2UnPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX0NBU1RfRlBUUicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2Jyb2tlbic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHZXRUaHJlYWRJZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5UmVjb3ZlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlck5vcm1hbGl6YXRpb24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdidWYnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2F2ZUZpbGVUbycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2F2ZUZvcm1hdEZpbGVUbycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2J1ZmZlcmVkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEFsbG9jT3V0cHV0QnVmZmVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBbGxvY1BhcnNlcklucHV0QnVmZmVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxGcmVlUGFyc2VySW5wdXRCdWZmZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dEJ1ZmZlckNsb3NlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxPdXRwdXRCdWZmZXJDcmVhdGVCdWZmZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sT3V0cHV0QnVmZmVyQ3JlYXRlSU8nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dEJ1ZmZlckZsdXNoJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxPdXRwdXRCdWZmZXJXcml0ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sT3V0cHV0QnVmZmVyV3JpdGVFc2NhcGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlSU8nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlTWVtJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZVN0YXRpYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySW5wdXRCdWZmZXJHcm93Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJJbnB1dEJ1ZmZlclB1c2gnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyUmVhZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckdldFJlbWFpbmRlcicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2J1ZmZlcnMnPgorICAgICAgICAgIDxyZWYgbmFtZT0nTElCWE1MMl9ORVdfQlVGRkVSJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWZmZXJEZXRhY2gnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdidWlsZGVkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0FUVFJHUk9VUF9HTE9CQUwnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0FUVFJHUk9VUF9XSUxEQ0FSRF9CVUlMREVEJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYnVpbGRpbmcnPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX01BWF9URVhUX0xFTkdUSCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFBhcnNlckN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2RvY2JTQVhQYXJzZURvYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0nZG9jYlNBWFBhcnNlRmlsZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbFNBWFBhcnNlRmlsZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0naWdub3JhYmxlV2hpdGVzcGFjZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0naWdub3JhYmxlV2hpdGVzcGFjZVNBWEZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ1aWxkVVJJJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVgySWdub3JhYmxlV2hpdGVzcGFjZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYUGFyc2VEb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWFBhcnNlRW50aXR5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVhQYXJzZUZpbGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWFBhcnNlRmlsZVdpdGhEYXRhJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVhQYXJzZU1lbW9yeScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYUGFyc2VNZW1vcnlXaXRoRGF0YScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2hlbGxQd2QnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdidWlsZHMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVnZXhwQ29tcGlsZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2J1aWx0Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxQYXJzZXJDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDbGVhbnVwUGFyc2VyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUF0dHJpYnV0ZVR5cGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRW51bWVyYXRlZFR5cGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRW51bWVyYXRpb25UeXBlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZU5vdGF0aW9uVHlwZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VVUkknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlVVJJUmF3Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HUGFyc2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUdldEJ1aWx0SW5UeXBlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFHZXRDYW5vblZhbHVlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFHZXRDYW5vblZhbHVlV2h0c3AnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVBhcnNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWF0cm9uUGFyc2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJOZXh0U2libGluZycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2J1aWx0LWluJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxTY2hlbWFUeXBlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFHZXRCdWlsdEluTGlzdFNpbXBsZVR5cGVJdGVtVHlwZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hR2V0QnVpbHRJblR5cGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUlzQnVpbHRJblR5cGVGYWNldCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRhdGVGYWNldFdodHNwJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZUxlbmd0aEZhY2V0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZUxlbmd0aEZhY2V0V2h0c3AnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdidWlsdGluJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfQlVJTFRJTl9QUklNSVRJVkUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2luaXRHZW5lcmljRXJyb3JEZWZhdWx0RnVuYycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2J1bmNoJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlTmFtZXNwYWNlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nYnlwYXNzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQ2F0YWxvZ0ZpbGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgPC9sZXR0ZXI+CisgICAgPC9jaHVuaz4KKyAgICA8Y2h1bmsgbmFtZT0nY2h1bmsxMic+CisgICAgICA8bGV0dGVyIG5hbWU9J2MnPgorICAgICAgICA8d29yZCBuYW1lPSdjMTRuJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEMxNE5Eb2NEdW1wTWVtb3J5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDMTRORG9jU2F2ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQzE0TkRvY1NhdmVUbycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQzE0TkV4ZWN1dGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdjYWNoZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENvbnRleHRTZXRDYWNoZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2NhY2hlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENvbnRleHRTZXRDYWNoZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2NhY2hpbmc6Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ29udGV4dFNldENhY2hlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY2FsY3VsYXRlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJuY2F0TmV3Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY2FsY3VsYXRlcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVVEY4U2l6ZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2NhbGxpbmcnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFhQYXRoQ29udGV4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnVpbGRSZWxhdGl2ZVVSSScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQzE0TkRvY0R1bXBNZW1vcnknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoZWNrRmlsZW5hbWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENsZWFudXBQYXJzZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENsZWFudXBUaHJlYWRzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyQ3VycmVudERvYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhBZGRWYWx1ZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRGl2VmFsdWVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE1vZFZhbHVlcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhNdWx0VmFsdWVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFN1YlZhbHVlcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhWYWx1ZUZsaXBTaWduJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY2FsbHMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neGxpbmtOb2RlRGV0ZWN0RnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hU0FYUGx1ZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhBeGlzRnVuYycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2NhbWUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUG9wSW5wdXQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdjYW5ub3QnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VBdHRyaWJ1dGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJSZWFkT3V0ZXJYbWwnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoUmVnaXN0ZXJOcycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2Nhbm9uaWMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2Fub25pY1BhdGgnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdjYW5vbmljYWwnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQzE0TkRvY0R1bXBNZW1vcnknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEMxNE5Eb2NTYXZlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDMTRORG9jU2F2ZVRvJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDMTRORXhlY3V0ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0Q2hhckVuY29kaW5nTmFtZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hR2V0Q2Fub25WYWx1ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hR2V0Q2Fub25WYWx1ZVdodHNwJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY2Fub25pY2FsaXphdGlvbic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDMTRORG9jRHVtcE1lbW9yeScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQzE0TkRvY1NhdmUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEMxNE5Eb2NTYXZlVG8nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEMxNE5FeGVjdXRlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY2Fub25pY2FsaXplZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb3JtYWxpemVXaW5kb3dzUGF0aCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2Nhbm9uaXphdGlvbic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDMTRORG9jRHVtcE1lbW9yeScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQzE0TkRvY1NhdmUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEMxNE5Eb2NTYXZlVG8nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEMxNE5FeGVjdXRlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY2Fub25pemVkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEMxNE5Eb2NEdW1wTWVtb3J5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDMTRORG9jU2F2ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQzE0TkRvY1NhdmVUbycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQzE0TkV4ZWN1dGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdjYW5vdCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxNb2R1bGVPcGVuJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxNb2R1bGVTeW1ib2wnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdjYXBhYmxlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoZWNrVVRGOCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2NhcmFjdGVycyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxPdXRwdXRCdWZmZXJXcml0ZUVzY2FwZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2NhcmRpbmFsaXR5Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEV4cFBhcnNlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY2FycmllZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWZHZXROb2RlQ29udGVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3RG9jUHJvcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3TnNQcm9wJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdOc1Byb3BFYXROYW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdQcm9wJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlQnVmR2V0Q29udGVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUdldENvbnRlbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVHZXRMYW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlR2V0U3BhY2VQcmVzZXJ2ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2V0TnNQcm9wJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTZXRQcm9wJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVbnNldE5zUHJvcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVW5zZXRQcm9wJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY2Fycmllcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bGlua0lzTGluaycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2NhcnJ5aW5nJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3hsaW5rRXh0ZW5kZWRMaW5rRnVuaycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neGxpbmtFeHRlbmRlZExpbmtTZXRGdW5rJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bGlua1NpbXBsZUxpbmtGdW5rJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJc0lEJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJc1JlZicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3R2xvYmFsTnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld05zJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY2FzZS1pZ25vcmluZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJjYXNlc3RyJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY2FzZXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NLSVBfSURTJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDMTRORXhlY3V0ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbGVtZW50Q29udGVudERlY2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjYW5OYW1lJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY2FzdCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdCQURfQ0FTVCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nQ0FTVF9UT19CT09MRUFOJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdDQVNUX1RPX05VTUJFUicvPgorICAgICAgICAgIDxyZWYgbmFtZT0nQ0FTVF9UT19TVFJJTkcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ29udmVydEZ1bmMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdjYXN0aW5nJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9DQVNUX0ZQVFInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdjYXQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2hlbGxDYXQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdjYXRhbG9ncyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDYXRhbG9nQWRkTG9jYWwnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENhdGFsb2dDbGVhbnVwJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDYXRhbG9nRnJlZUxvY2FsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDYXRhbG9nR2V0RGVmYXVsdHMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENhdGFsb2dMb2NhbFJlc29sdmUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENhdGFsb2dMb2NhbFJlc29sdmVVUkknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENhdGFsb2dTZXREZWJ1ZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2F0YWxvZ1NldERlZmF1bHRzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxMb2FkQ2F0YWxvZ3MnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdjYXRlZ29yeSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0NhdCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2NhdXNlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNoZWxsUHJpbnRYUGF0aEVycm9yJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY2F1dGlvbic+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sVVJJJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY2RhdGEtc2VjdGlvbi0nPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyZWFtUHVzaE5vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cmVhbVdhbnRzQW55Tm9kZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2NlaWxpbmcnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDZWlsaW5nRnVuY3Rpb24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdjZXJ0YWlubHknPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckdldFJlbWFpbmRlcicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2NoYWluZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRnJlZU5zTGlzdCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2NoYW5nZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdMSUJYTUwyX05FV19CVUZGRVInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxTZXRNZXRhRW5jb2RpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEN0eHRSZXNldExhc3RFcnJvcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUEN3ZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VTRERlY2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlc2V0TGFzdEVycm9yJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFDb2xsYXBzZVN0cmluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hV2hpdGVTcGFjZVJlcGxhY2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN3aXRjaEVuY29kaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTd2l0Y2hJbnB1dEVuY29kaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTd2l0Y2hUb0VuY29kaW5nJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY2hhbmdlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlU2V0QmFzZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9kZVNldExhbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVTZXROYW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlU2V0U3BhY2VQcmVzZXJ2ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclNldFBhcnNlclByb3AnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkaXR5RXJyb3JGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGl0eVdhcm5pbmdGdW5jJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY2hhbmdlcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWdpc3RlckhUVFBQb3N0Q2FsbGJhY2tzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyQ2xvc2UnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdjaGFuZ2luZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyU2V0UGFyc2VyUHJvcCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2NoYW5uZWwnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRmlsZUNsb3NlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxGaWxlUmVhZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSU9GVFBDbG9zZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSU9GVFBPcGVuJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJT0ZUUFJlYWQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbElPSFRUUENsb3NlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJT0hUVFBPcGVuJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJT0hUVFBSZWFkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxPdXRwdXRCdWZmZXJDbG9zZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sT3V0cHV0QnVmZmVyRmx1c2gnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNoZWxsUHJpbnRYUGF0aEVycm9yJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY2hhcmFjdGVycyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdpZ25vcmFibGVXaGl0ZXNwYWNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdpZ25vcmFibGVXaGl0ZXNwYWNlU0FYRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEtlZXBCbGFua3NEZWZhdWx0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUF0dFZhbHVlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJQcmludGYnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0clZQcmludGYnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVSSUVzY2FwZVN0cicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVVRGOFN0cmxlbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVVRGOFN0cnNpemUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkQ3R4dE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aElkRnVuY3Rpb24nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm9ybWFsaXplRnVuY3Rpb24nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoU3RyaW5nTGVuZ3RoRnVuY3Rpb24nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoU3Vic3RyaW5nRnVuY3Rpb24nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoVHJhbnNsYXRlRnVuY3Rpb24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdjaGFyZW5jb2RpbmcnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0Q2hhckVuY29kaW5nTmFtZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2NoYXJzPz8nPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlUmF3TGVuJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY2hhcnNldCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBbGxvY1BhcnNlcklucHV0QnVmZmVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDcmVhdGVJT1BhcnNlckN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbElPUGFyc2VEVEQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld0lPSW5wdXRTdHJlYW0nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dEJ1ZmZlckNyZWF0ZUlPJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlSU8nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlTWVtJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZVN0YXRpYycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2NoZWNrZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfRUxFTV9JTlRFUk5BTF9DSEVDS0VEJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sRW50aXR5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlR2V0QmFzZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUdldExhbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVHZXRTcGFjZVByZXNlcnZlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUF0dFZhbHVlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUF0dHJpYnV0ZVR5cGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNldE5zUHJvcCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2NoZWNraW5nJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3hsaW5rSXNMaW5rJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWZmZXJXcml0ZVF1b3RlZFN0cmluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnVpbGRVUkknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEV4cFBhcnNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxNZW1GcmVlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVVEY4U3RybGVuJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY2hlY2tpbmdzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEV4cFBhcnNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZU9uZUVsZW1lbnQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdjaGVja3MnPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfQVRUUkdST1VQX01BUktFRCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfVFlQRV9NQVJLRUQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxBdXRvQ2xvc2VUYWcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxJc0F1dG9DbG9zZWQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxOb2RlU3RhdHVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGVja0ZpbGVuYW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGVja0hUVFBJbnB1dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hlY2tVVEY4Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vRlRQSW5pdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0hUVFBJbml0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVsZW1lbnRDaGlsZHJlbkNvbnRlbnREZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVsZW1lbnRNaXhlZENvbnRlbnREZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWNvbmNpbGlhdGVOcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVVJJRXNjYXBlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZUF0dHJpYnV0ZURlY2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlRG9jdW1lbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlRG9jdW1lbnRGaW5hbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVEdGRGaW5hbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVFbGVtZW50RGVjbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVOb3RhdGlvbkRlY2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlT25lQXR0cmlidXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZU9uZUVsZW1lbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlT25lTmFtZXNwYWNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vZGVTZXRDb250YWlucycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2NoaWxkLSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sQXR0cicvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbERvYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbER0ZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbE5vZGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdjaGlsZHJlbnMnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbEVudGl0eScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2NoaWxkcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sTm9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSXNNaXhlZEVsZW1lbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkR2V0VmFsaWRFbGVtZW50cycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2Nob2ljZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFeHBOZXdPcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRXhwUGFyc2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2wnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdjaG9pY2VzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRWxlbWVudE1peGVkQ29udGVudERlY2wnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdjaG9pY2VzOic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZU5vdGF0aW9uRGVjbCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2NodW5rJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2RvY2JQYXJzZUNodW5rJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sUGFyc2VDaHVuaycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRW50aXR5UmVmZXJlbmNlRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlSZWNvdmVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUNodW5rJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVudGl0eScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFeHRlcm5hbEVudGl0eScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VJbk5vZGVDb250ZXh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVhQYXJzZUVudGl0eScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2NpcmN1bGFyJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0FUVFJHUk9VUF9NQVJLRUQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0VMRU1fQ0lSQ1VMQVInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfTUFSS0VEJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY2xlYW4nPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2xlYW51cFBhcnNlcicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2NsZWFubHknPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hlY2tIVFRQSW5wdXQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdjbGVhbnMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2xlYW51cFBhcnNlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUFNjYW5Qcm94eScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0hUVFBTY2FuUHJveHknLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdjbGVhbnVwJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENsZWFudXBHbG9iYWxzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDbGVhbnVwUGFyc2VyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDbGVhbnVwVGhyZWFkcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUENsZWFudXAnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdjbGVhcic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0TWVyZ2UnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdjbGVhcnMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2xlYW51cElucHV0Q2FsbGJhY2tzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDbGVhbnVwT3V0cHV0Q2FsbGJhY2tzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY2xpZW50Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEtlZXBCbGFua3NEZWZhdWx0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY2xvbmUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRE9NV3JhcENsb25lTm9kZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2Nsb25lZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwQ2xvbmVOb2RlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY2xvc2UnPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbEF1dG9DbG9zZVRhZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbEN0eHRSZWFkSU8nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxJc0F1dG9DbG9zZWQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxSZWFkSU8nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoYXJFbmNDbG9zZUZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENyZWF0ZUlPUGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ3R4dFJlYWRJTycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSW5wdXRDbG9zZUNhbGxiYWNrJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxNb2R1bGVDbG9zZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sT3V0cHV0QnVmZmVyQ2xvc2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dEJ1ZmZlckNyZWF0ZUlPJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxPdXRwdXRDbG9zZUNhbGxiYWNrJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUlPJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWFkSU8nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlYWRlckZvcklPJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWFkZXJOZXdJTycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2F2ZVRvSU8nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJDbG9zZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2Nsb3NlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDdHh0UmVhZEZkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxNb2R1bGVDbG9zZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3VGV4dFdyaXRlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVhZEZkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWFkZXJGb3JGZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVhZGVyTmV3RmQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJFbmREb2N1bWVudCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2Nsb3Nlcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUENsb3NlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUFNhdmUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdjbG9zZXN0Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5leHRFbGVtZW50U2libGluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUHJldmlvdXNFbGVtZW50U2libGluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDZWlsaW5nRnVuY3Rpb24nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRmxvb3JGdW5jdGlvbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhSb3VuZEZ1bmN0aW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY2xvc2luZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sSW5pdEF1dG9DbG9zZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUEZyZWVDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVsZW1lbnRDaGlsZHJlbkNvbnRlbnREZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVN0YXJ0VGFnJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY25jZXJuaW5nJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERlYnVnRHVtcERvY3VtZW50SGVhZCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2NvZGVzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoZWNrTGFuZ3VhZ2VJRCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2NvZGluZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVhEZWZhdWx0VmVyc2lvbicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2NvbGxhcHNlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0ZBQ0VUX0NPTExBUFNFJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX1dISVRFU1BBQ0VfQ09MTEFQU0UnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdjb2xsZWN0Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0RFQlVHX01FTU9SWScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSU9IVFRQT3BlblcnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdjb2xsZWN0ZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2NNZW1HZXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdjTWVtU2V0dXAnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdjb2xvbic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxMb2FkQ2F0YWxvZ3MnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdjb2x1bW4nPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbEVycm9yJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdnZXRDb2x1bW5OdW1iZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWDJHZXRDb2x1bW5OdW1iZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJHZXRQYXJzZXJDb2x1bW5OdW1iZXInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdjb20nPgorICAgICAgICAgIDxyZWYgbmFtZT0nZ2V0U3lzdGVtSWQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ1aWxkUmVsYXRpdmVVUkknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWDJHZXRTeXN0ZW1JZCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2NvbWJpbmluZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdJU19DT01CSU5JTkdfQ0gnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdjb21lJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cmVhbVB1c2gnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cmVhbVB1c2hBdHRyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJlYW1QdXNoTm9kZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2NvbWVudCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyRW5kQ29tbWVudCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2NvbWVzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkaXR5RXJyb3JGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGl0eVdhcm5pbmdGdW5jJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY29taW5nJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhJbmNsdWRlUHJvY2Vzc05vZGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdjb21tYW5kJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2Z0cERhdGFDYWxsYmFjaycvPgorICAgICAgICAgIDxyZWYgbmFtZT0nZnRwTGlzdENhbGxiYWNrJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vRlRQQ2hlY2tSZXNwb25zZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUEdldFJlc3BvbnNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vRlRQUXVpdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2hlbGxEdScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2NvbW1hbmRsaW5lJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNoZWxsJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY29tbWFuZHMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2hlbGxQd2QnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdjb21tZW50Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0hUTUxfQ09NTUVOVF9OT0RFJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdjb21tZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdjb21tZW50U0FYRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3Q29tbWVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3RG9jQ29tbWVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VDb21tZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyU3RhcnRDb21tZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVDb21tZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRDb21tZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0Q29tbWVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhJc05vZGVUeXBlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY29tbWVudC0nPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyZWFtUHVzaE5vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cmVhbVdhbnRzQW55Tm9kZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2NvbW1lbnRzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEMxNE5Eb2NEdW1wTWVtb3J5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDMTRORG9jU2F2ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQzE0TkRvY1NhdmVUbycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQzE0TkV4ZWN1dGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERvY0dldFJvb3RFbGVtZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEb2NTZXRSb290RWxlbWVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VDb21tZW50Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY29tbW9kaXR5Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEtlZXBCbGFua3NEZWZhdWx0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY29tbW9uJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxEb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxEdGQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxOb2RlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY29tcCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxGcmVlUGF0dGVybicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRnJlZVBhdHRlcm5MaXN0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEZyZWVDb21wRXhwcicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2NvbXBhcmUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTGlzdERhdGFDb21wYXJlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVVEY4Q2hhcmNtcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDb21wYXJlVmFsdWVzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY29tcGFyZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDb21wYXJlVmFsdWVzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY29tcGFyZXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVVRGOENoYXJjbXAnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdjb21wYXJpbmcnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDb21wYXJlVmFsdWVzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY29tcGFyaXNvbic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoU2NhbjMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEhhc2hTY2FuRnVsbDMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbExpc3RDcmVhdGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQ2hhckVuY29kaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJjYXNlY21wJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJjbXAnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cm5jYXNlY21wJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJuY21wJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENvbXBhcmVWYWx1ZXMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdjb21wYXJpc29ucyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyQ29uc3RTdHJpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoU3Vic3RyaW5nRnVuY3Rpb24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdjb21wYXRpYmlsaXR5Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0xJQlhNTF9MRUdBQ1lfRU5BQkxFRCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbFBhcnNlRWxlbWVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hpbGRyZW5Ob2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDb3B5Q2hhcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRW5jb2RlRW50aXRpZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEtlZXBCbGFua3NEZWZhdWx0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUNoYXJEYXRhJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUNvbW1lbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlTmFtZXNwYWNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVF1b3RlZFN0cmluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUm9vdE5vZGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdjb21wYXRpYmxlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0xJQlhNTF9URVNUX1ZFUlNJT04nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNoZWxsUHdkJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY29tcGlsYXRpb24nPgorICAgICAgICAgIDxyZWYgbmFtZT0nTElCWE1MX1ZFUlNJT05fRVhUUkEnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9YUEFUSF9DSEVDS05TJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sWFBhdGhDb250ZXh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXR0ZXJuY29tcGlsZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDb21waWxlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEN0eHRDb21waWxlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY29tcGlsZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXR0ZXJuY29tcGlsZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2NvbXBpbGUtdGltZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdkb2NiQ3JlYXRlRmlsZVBhcnNlckN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2RvY2JQYXJzZUZpbGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2RvY2JTQVhQYXJzZUZpbGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxDcmVhdGVGaWxlUGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbFBhcnNlRmlsZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbFNBWFBhcnNlRmlsZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ3JlYXRlRW50aXR5UGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ3JlYXRlRmlsZVBhcnNlckN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENyZWF0ZVVSTFBhcnNlckN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUZpbGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlY292ZXJGaWxlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVhQYXJzZUZpbGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWFBhcnNlRmlsZVdpdGhEYXRhJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY29tcGlsZWQtaW4nPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2xlYW51cElucHV0Q2FsbGJhY2tzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDbGVhbnVwT3V0cHV0Q2FsbGJhY2tzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQb3BJbnB1dENhbGxiYWNrcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVnaXN0ZXJEZWZhdWx0SW5wdXRDYWxsYmFja3MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlZ2lzdGVyRGVmYXVsdE91dHB1dENhbGxiYWNrcycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2NvbXBpbGluZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HTmV3RG9jUGFyc2VyQ3R4dCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2NvbXBsZW1lbnQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhTdHJpbmdFdmFsTnVtYmVyJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY29tcGxldGUnPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX0NPTVBMRVRFX0FUVFJTJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19XSUxEQ0FSRF9DT01QTEVURScvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFBhcnNlckN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEFDYXRhbG9nUmVzb2x2ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQUNhdGFsb2dSZXNvbHZlVVJJJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDYXRhbG9nTG9jYWxSZXNvbHZlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDYXRhbG9nTG9jYWxSZXNvbHZlVVJJJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDYXRhbG9nUmVzb2x2ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2F0YWxvZ1Jlc29sdmVVUkknLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdjb21wbGV0ZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVEb2N1bWVudEZpbmFsJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY29tcGxldGVseSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHZXRVVEY4Q2hhcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUdldEJhc2UnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdjb21wbGV4Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfREVSSVZBVElPTl9NRVRIT0RfRVhURU5TSU9OJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX0RFUklWQVRJT05fTUVUSE9EX1JFU1RSSUNUSU9OJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sU2NoZW1hVHlwZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2NvbXBsZXhUeXBlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfQUJTVFJBQ1QnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfQkxPQ0tfREVGQVVMVCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfVFlQRV9CTE9DS19FWFRFTlNJT04nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfQkxPQ0tfUkVTVFJJQ1RJT04nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfRklOQUxfRVhURU5TSU9OJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX0ZJTkFMX1JFU1RSSUNUSU9OJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX09XTkVEX0FUVFJfV0lMRENBUkQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdjb21wbGljYXRlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWlsZFJlbGF0aXZlVVJJJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY29tcG9uZW50Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxTY2hlbWFUeXBlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY29tcG9uZW50cyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sU2NoZW1hJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY29tcG91bmQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhGcmVlTm9kZVNldCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFB0ckZyZWVMb2NhdGlvblNldCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2NvbXByZXNzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld1RleHRXcml0ZXJEb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld1RleHRXcml0ZXJGaWxlbmFtZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3VGV4dFdyaXRlck1lbW9yeScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3VGV4dFdyaXRlclB1c2hQYXJzZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld1RleHRXcml0ZXJUcmVlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY29tcHJlc3NlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sUGFyc2VySW5wdXRCdWZmZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2RvY2JDcmVhdGVGaWxlUGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nZG9jYlBhcnNlRmlsZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0nZG9jYlNBWFBhcnNlRmlsZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbENyZWF0ZUZpbGVQYXJzZXJDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sUGFyc2VGaWxlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sU0FYUGFyc2VGaWxlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDcmVhdGVFbnRpdHlQYXJzZXJDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDcmVhdGVGaWxlUGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ3JlYXRlVVJMUGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRmlsZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVjb3ZlckZpbGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWFBhcnNlRmlsZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYUGFyc2VGaWxlV2l0aERhdGEnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWFVzZXJQYXJzZUZpbGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdjb21wcmVzc2lvbic+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sRG9jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDMTRORG9jU2F2ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0Q29tcHJlc3NNb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHZXREb2NDb21wcmVzc01vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbElPSFRUUE9wZW5XJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdUZXh0V3JpdGVyTWVtb3J5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdUZXh0V3JpdGVyUHVzaFBhcnNlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNhdmVGaWxlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTYXZlRm9ybWF0RmlsZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2V0Q29tcHJlc3NNb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTZXREb2NDb21wcmVzc01vZGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdjb21wcmlzaW5nJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoSW50ZXJzZWN0aW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY29tcHV0YXRpb24nPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhPcmRlckRvY0VsZW1zJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY29tcHV0ZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVVEY4U3RybGVuJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY29tcHV0ZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfVFlQRV9GQUNFVFNORUVEVkFMVUUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxFbnRpdHknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ5dGVDb25zdW1lZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsUHJlZGVmVHlwZU5vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbFByZWRlZlR5cGVOb2RlTm9Ob3JtJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZUxlbmd0aEZhY2V0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZUxlbmd0aEZhY2V0V2h0c3AnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbGlkYXRlUHJlZGVmaW5lZFR5cGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbHVlQXBwZW5kJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWx1ZUdldEFzQm9vbGVhbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsdWVHZXRBc1N0cmluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsdWVHZXROZXh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyQnl0ZUNvbnN1bWVkJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY29tcHV0ZXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hQ2hlY2tGYWNldCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2NvbmNhdCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENvbmNhdEZ1bmN0aW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY29uY2F0ZW5hdGVkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cmNhdCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2NvbmNhdGVuYXRpb24nPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDb25jYXRGdW5jdGlvbicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2NvbmRpdGlvbic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0V2h0c3AnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdjb25kaXRpb25hbFNlY3QnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFeHRlcm5hbFN1YnNldCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2NvbmZpZ3VyZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0nREVCVUdfTUVNT1JZJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdERUJVR19NRU1PUllfTE9DQVRJT04nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0xJQlhNTF9DMTROX0VOQUJMRUQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0xJQlhNTF9DQVRBTE9HX0VOQUJMRUQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0xJQlhNTF9ERUJVR19FTkFCTEVEJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdMSUJYTUxfREVCVUdfUlVOVElNRScvPgorICAgICAgICAgIDxyZWYgbmFtZT0nTElCWE1MX0RPQ0JfRU5BQkxFRCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nTElCWE1MX0ZUUF9FTkFCTEVEJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdMSUJYTUxfSFRNTF9FTkFCTEVEJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdMSUJYTUxfSFRUUF9FTkFCTEVEJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdMSUJYTUxfT1VUUFVUX0VOQUJMRUQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0xJQlhNTF9QQVRURVJOX0VOQUJMRUQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0xJQlhNTF9QVVNIX0VOQUJMRUQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0xJQlhNTF9SRUFERVJfRU5BQkxFRCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nTElCWE1MX1NBWDFfRU5BQkxFRCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nTElCWE1MX1RIUkVBRF9FTkFCTEVEJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdMSUJYTUxfVFJFRV9FTkFCTEVEJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdMSUJYTUxfVkFMSURfRU5BQkxFRCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nTElCWE1MX1dSSVRFUl9FTkFCTEVEJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdMSUJYTUxfWElOQ0xVREVfRU5BQkxFRCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nTElCWE1MX1hQQVRIX0VOQUJMRUQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0xJQlhNTF9YUFRSX0VOQUJMRUQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1dJVEhPVVRfVFJJTycvPgorICAgICAgICAgIDxyZWYgbmFtZT0nV0lUSF9UUklPJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY29uZm9ybWluZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWdleHBDb21waWxlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY29uZm9ybXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hlY2tMYW5ndWFnZUlEJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxQcmVkZWZUeXBlTm9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsUHJlZGVmVHlwZU5vZGVOb05vcm0nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbGlkYXRlUHJlZGVmaW5lZFR5cGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlTkNOYW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZU5NVG9rZW4nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlTmFtZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVRTmFtZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2Nvbmp1bmN0aW9uJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUlzQnVpbHRJblR5cGVGYWNldCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2Nvbm5lY3Rpb24nPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUENsb3NlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vRlRQQ2xvc2VDb25uZWN0aW9uJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vRlRQQ29ubmVjdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUENvbm5lY3RUbycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUEZyZWVDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vRlRQR2V0Q29ubmVjdGlvbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUEdldFNvY2tldCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUFJlYWQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBVcGRhdGVVUkwnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9IVFRQQ2xvc2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9IVFRQTWV0aG9kJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUE1ldGhvZFJlZGlyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUE9wZW4nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9IVFRQT3BlblJlZGlyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUFJlYWQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdjb25uZWN0b3InPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbGVtZW50Q2hpbGRyZW5Db250ZW50RGVjbCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2NvbnNlcXVlbnQnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbEVycm9yJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY29uc2lkZXJhdGlvbic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWlsZFJlbGF0aXZlVVJJJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY29uc2lkZXJlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoU2NhbjMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEhhc2hTY2FuRnVsbDMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyUmVhZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhTdWJzdHJpbmdGdW5jdGlvbicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2NvbnNpc3QnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXh0QW5jZXN0b3InLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdjb25zdCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxNb2R1bGVPcGVuJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxNb2R1bGVTeW1ib2wnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdjb25zdGFudCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0FYMl9NQUdJQycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnl0ZUNvbnN1bWVkJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY29uc3RyYWludCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sU2NoZW1hQXR0cmlidXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sU2NoZW1hRWxlbWVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFNjaGVtYVdpbGRjYXJkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sU2NoZW1hV2lsZGNhcmROcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbnRpdHlSZWYnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlTm90YXRpb25EZWNsJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY29uc3RyYWludHMnPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfRUxFTV9JTlRFUk5BTF9DSEVDS0VEJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUF0dHJpYnV0ZVR5cGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRGVmYXVsdERlY2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkR2V0VmFsaWRFbGVtZW50cycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2NvbnN0cnVjdCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVsZW1lbnRDaGlsZHJlbkNvbnRlbnREZWNsJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY29uc3RydWN0aW9uJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENhbm9uaWNQYXRoJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXRoVG9VUkknLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdjb25zdHJ1Y3RzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEV4cFBhcnNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZU5hbWVzcGFjZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2NvbnN1bWVkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1VURjhUb0h0bWwnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1VURjhUb2lzb2xhdDEnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxQYXJzZXJJbnB1dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFBhcnNlcklucHV0QnVmZmVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdkb2NiRW5jb2RlRW50aXRpZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxFbmNvZGVFbnRpdGllcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0naXNvbGF0MVRvVVRGOCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hhckVuY29kaW5nSW5wdXRGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGFyRW5jb2RpbmdPdXRwdXRGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFeHBOZXdPcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRXhwTmV3UmFuZ2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEV4cE5ld1NlcScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0VVRGOENoYXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyUmVhZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hTmV3Tk9UQVRJT05WYWx1ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hTmV3UU5hbWVWYWx1ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hTmV3U3RyaW5nVmFsdWUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdjb25zdW1pbmcnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRXhwRXhwRGVyaXZlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2FuTmFtZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2NvbnRhaW4nPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3VGV4dENoaWxkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUF0dHJpYnV0ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbnRpdHlSZWYnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlUEVSZWZlcmVuY2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlU0REZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJIYW5kbGVQRVJlZmVyZW5jZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySGFuZGxlUmVmZXJlbmNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWdFeGVjRXJySW5mbycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVnRXhlY05leHRWYWx1ZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4TkdOZXdNZW1QYXJzZXJDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HTmV3UGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hTmV3TWVtUGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hTmV3UGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hdHJvbk5ld01lbVBhcnNlckN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYXRyb25OZXdQYXJzZXJDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aExlYWRpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTGVhZGluZ1NvcnRlZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb2RlTGVhZGluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb2RlTGVhZGluZ1NvcnRlZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb2RlVHJhaWxpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm9kZVRyYWlsaW5nU29ydGVkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFN1YnN0cmluZ0FmdGVyRnVuY3Rpb24nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoU3Vic3RyaW5nQmVmb3JlRnVuY3Rpb24nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoVHJhaWxpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoVHJhaWxpbmdTb3J0ZWQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdjb250YWluZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnVmZmVyRGV0YWNoJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHZXRVVEY4Q2hhcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUxpc3RHZXRSYXdTdHJpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVMaXN0R2V0U3RyaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVsZW1lbnRDaGlsZHJlbkNvbnRlbnREZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZU1hcmt1cERlY2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cmxlbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhEaXN0aW5jdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhEaXN0aW5jdFNvcnRlZCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2NvbnRhaW5zJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0FUVFJHUk9VUF9IQVNfUkVGUycvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbEVudGl0eScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ3VycmVudENoYXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRW50aXR5UmVmJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVBFUmVmZXJlbmNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJIYW5kbGVQRVJlZmVyZW5jZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlck1vdmVUb0VsZW1lbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkaXR5RXJyb3JGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGl0eVdhcm5pbmdGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENvbnRhaW5zRnVuY3Rpb24nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV4dEFuY2VzdG9yJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5leHRBbmNlc3Rvck9yU2VsZicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXh0Q2hpbGQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV4dERlc2NlbmRhbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV4dERlc2NlbmRhbnRPclNlbGYnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV4dEZvbGxvd2luZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXh0Rm9sbG93aW5nU2libGluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXh0TmFtZXNwYWNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5leHRQYXJlbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV4dFByZWNlZGluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXh0UHJlY2VkaW5nU2libGluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXh0U2VsZicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb2RlU2V0Q29udGFpbnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoU3Vic3RyaW5nRnVuY3Rpb24nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQdHJOZXdDb250ZXh0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY29udGVudDonPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VDb250ZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEVxdWFsVmFsdWVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vdEVxdWFsVmFsdWVzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY29udGVudFR5cGUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0hUVFBGZXRjaCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0hUVFBNZXRob2QnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9IVFRQTWV0aG9kUmVkaXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9IVFRQT3BlbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0hUVFBPcGVuUmVkaXInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdjb250ZW50cyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEaWN0RnJlZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSGFzaEZyZWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbExpbmVOdW1iZXJzRGVmYXVsdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUxpc3RHZXRSYXdTdHJpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVMaXN0R2V0U3RyaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTZXR1cFBhcnNlckZvckJ1ZmZlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckV4cGFuZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclJlYWRJbm5lclhtbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclJlYWRPdXRlclhtbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclJlYWRTdHJpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZURUREV4dGVybmFsRW50aXR5Q29udGVudHMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdjb250ZW50c3BlYyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVsZW1lbnRDb250ZW50RGVjbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbGVtZW50RGVjbCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2NvbnRleHQ/Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxYUGF0aENvbnRleHQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdjb250ZXh0cyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sRE9NV3JhcEN0eHQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdjb250ZXh0dWFsJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4TkdHZXRQYXJzZXJFcnJvcnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4TkdTZXRQYXJzZXJFcnJvcnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4TkdTZXRQYXJzZXJTdHJ1Y3R1cmVkRXJyb3JzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFHZXRQYXJzZXJFcnJvcnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVNldFBhcnNlckVycm9ycycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2NvbnRpbnVpbmcnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhTdWJzdHJpbmdGdW5jdGlvbicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2NvbnRyYWludCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sU2NoZW1hRWxlbWVudCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2NvbnRyYXJ5Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVMaXN0R2V0UmF3U3RyaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEZyZWVOb2RlU2V0TGlzdCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2NvbnRyYXN0Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVBZGRDb250ZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlQWRkQ29udGVudExlbicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2NvbnRyb2wnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFhQYXRoQ29udGV4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0ncmVzb2x2ZUVudGl0eScvPgorICAgICAgICAgIDxyZWYgbmFtZT0ncmVzb2x2ZUVudGl0eVNBWEZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBDbG9zZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUENvbm5lY3QnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBDb25uZWN0VG8nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWDJSZXNvbHZlRW50aXR5Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY29udmVuaWVudGx5Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEN1cnJlbnRDaGFyJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY29udmVyc2lvbic+CisgICAgICAgICAgPHJlZiBuYW1lPSdfdWNvbnZfdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFhQYXRoVHlwZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hhckVuY091dEZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRW5jb2RpbmdEZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENvbnZlcnRGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFBvcEJvb2xlYW4nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoUG9wRXh0ZXJuYWwnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoUG9wTm9kZVNldCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhQb3BOdW1iZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoUG9wU3RyaW5nJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY29udmVyc2lvbnMnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbE91dHB1dEJ1ZmZlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFBhcnNlcklucHV0QnVmZmVyJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY29udmVydCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdVVEY4VG9IdG1sJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdVVEY4VG9pc29sYXQxJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdhdHRyaWJ1dGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2F0dHJpYnV0ZVNBWEZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2RvY2JFbmNvZGVFbnRpdGllcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbEVuY29kZUVudGl0aWVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdpc29sYXQxVG9VVEY4Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWlsZFJlbGF0aXZlVVJJJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGFyRW5jb2RpbmdJbnB1dEZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoYXJFbmNvZGluZ091dHB1dEZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEVuY29kZUVudGl0aWVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFbmNvZGVFbnRpdGllc1JlZW50cmFudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRW5jb2RlU3BlY2lhbENoYXJzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEFkZFZhbHVlcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhEaXZWYWx1ZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTW9kVmFsdWVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE11bHRWYWx1ZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoU3ViVmFsdWVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFZhbHVlRmxpcFNpZ24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdjb252ZXJ0ZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2F0YWxvZ0NvbnZlcnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENvbnZlcnRTR01MQ2F0YWxvZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDb21wYXJlVmFsdWVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEV2YWxQcmVkaWNhdGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRXZhbHVhdGVQcmVkaWNhdGVSZXN1bHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoSWRGdW5jdGlvbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb3JtYWxpemVGdW5jdGlvbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhTdHJpbmdGdW5jdGlvbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhTdHJpbmdMZW5ndGhGdW5jdGlvbicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2NvbnZlcnRlcic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBbGxvY091dHB1dEJ1ZmZlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sT3V0cHV0QnVmZmVyQ3JlYXRlQnVmZmVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxPdXRwdXRCdWZmZXJDcmVhdGVGZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdjb252ZXJ0aW5nJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNhdmVGaWxlRW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEV2YWxQcmVkaWNhdGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRXZhbHVhdGVQcmVkaWNhdGVSZXN1bHQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdjb252ZXJ0cyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEJvb2xlYW5GdW5jdGlvbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhTdHJpbmdGdW5jdGlvbicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2NvcGUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hlY2tMYW5ndWFnZUlEJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY29waWVkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ1ZmZlckNyZWF0ZVN0YXRpYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ29weURvYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0RmVhdHVyZXNMaXN0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFDb3B5VmFsdWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm9kZVNldE1lcmdlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY29waWVyJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEhhc2hDb3B5Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY29weWluZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJJbnB1dEJ1ZmZlckdyb3cnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdjb3JyZWN0Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoZWNrTGFuZ3VhZ2VJRCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2NvcnJlY3RseSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVUklFc2NhcGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdjb3JyZXBvbmRpbmcnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckN1cnJlbnREb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJDdXJyZW50Tm9kZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2NvcnJlc3BvbmQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSXNYSFRNTCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbnRpdHknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWFBhcnNlRW50aXR5Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY29ycmVzcG9uZGluZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHZXREb2NFbnRpdHknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldER0ZEVudGl0eScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0UGFyYW1ldGVyRW50aXR5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTZXRQcm9wJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFRyYW5zbGF0ZUZ1bmN0aW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY29zdCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCeXRlQ29uc3VtZWQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdjb3N0bHknPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX01BWF9OQU1FTEVOJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCeXRlQ29uc3VtZWQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdjb3VsZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCeXRlQ29uc3VtZWQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoZWNrTGFuZ3VhZ2VJRCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRE9NV3JhcEFkb3B0Tm9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRE9NV3JhcENsb25lTm9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRE9NV3JhcFJlY29uY2lsZU5hbWVzcGFjZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE1vZHVsZUNsb3NlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFHZXRDYW5vblZhbHVlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFHZXRDYW5vblZhbHVlV2h0c3AnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJCeXRlQ29uc3VtZWQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJSZWxheE5HU2V0U2NoZW1hJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyUmVsYXhOR1ZhbGlkYXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyUmVsYXhOR1ZhbGlkYXRlQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyU2NoZW1hVmFsaWRhdGVDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyU2V0U2NoZW1hJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZUR0ZCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2NvdW50Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxFbnRpdHknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2Z0cExpc3RDYWxsYmFjaycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hpbGRFbGVtZW50Q291bnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEV4cFJlZicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTHNDb3VudE5vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNhdmVEb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNhdmVUcmVlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWF0cm9uVmFsaWRhdGVEb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJBdHRyaWJ1dGVDb3VudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDb3VudEZ1bmN0aW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY291bnRlcic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YU5ld0NvdW50ZWRUcmFucycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFOZXdDb3VudGVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YU5ld0NvdW50ZXJUcmFucycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRGljdFJlZmVyZW5jZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2NvdW50ZXJwYXJ0cyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFbmNvZGVFbnRpdGllc1JlZW50cmFudCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2NvdXJzZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyTm9ybWFsaXphdGlvbicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2NvdmVyJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNlYXJjaE5zJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY3Jhc2gnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2xlYW51cFBhcnNlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2xlYW51cFRocmVhZHMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdjcmVhdGUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnVmZmVyQ3JlYXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWZmZXJDcmVhdGVTaXplJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWZmZXJDcmVhdGVTdGF0aWMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENhdGFsb2dJc0VtcHR5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDcmVhdGVFbnRpdGllc1RhYmxlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDcmVhdGVFbnVtZXJhdGlvbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3Q2F0YWxvZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3RHRkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdOcycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2NyZWF0ZXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFOZXdBbGxUcmFucycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFOZXdDb3VudFRyYW5zJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YU5ld0NvdW50VHJhbnMyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YU5ld0NvdW50ZWRUcmFucycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFOZXdDb3VudGVyVHJhbnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhTmV3RXBzaWxvbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFOZXdOZWdUcmFucycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFOZXdPbmNlVHJhbnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhTmV3T25jZVRyYW5zMicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFOZXdUcmFuc2l0aW9uJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YU5ld1RyYW5zaXRpb24yJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDcmVhdGVVUkknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cm5jYXROZXcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ29udGV4dFNldENhY2hlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY3JlYXRpbmcnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRE9NV3JhcEFkb3B0Tm9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRE9NV3JhcENsb25lTm9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRE9NV3JhcFJlY29uY2lsZU5hbWVzcGFjZXMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdjcmVhdGlvbic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJT0hUVFBPcGVuVycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3TnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlZ2lzdGVyTm9kZURlZmF1bHQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdjcm9zcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTZWFyY2hOcycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2Nyb3NzZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFOZXdPbmNlVHJhbnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhTmV3T25jZVRyYW5zMicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2NzaGVtYSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19GSU5BTF9ERUZBVUxUX0xJU1QnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdjdHJpbyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aElzSW5mJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aElzTmFOJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY3R4dCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFeHBOZXdPcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRXhwTmV3UmFuZ2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEV4cE5ld1NlcScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2N0eHQtJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2RvY2JGcmVlUGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbEZyZWVQYXJzZXJDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxGcmVlUGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUG9wSW5wdXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkQ3R4dE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGl0eUVycm9yRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRpdHlXYXJuaW5nRnVuYycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2N1cic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEF4aXNGdW5jJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY3VyZW50Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEMxNE5Jc1Zpc2libGVDYWxsYmFjaycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2N1cnJlbnRseSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19JTkNMVURJTkdfQ09OVkVSVF9OUycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hlY2tMYW5ndWFnZUlEJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHY01lbUdldCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTWVtQmxvY2tzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxNZW1HZXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE1lbVVzZWQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxPdXRwdXRCdWZmZXJHZXRDb250ZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxPdXRwdXRCdWZmZXJHZXRTaXplJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZUZpbGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ29udGV4dFNldENhY2hlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nY3VzdG9tJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERPTVdyYXBBZG9wdE5vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERPTVdyYXBDbG9uZU5vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNhdmVTZXRBdHRyRXNjYXBlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTYXZlU2V0RXNjYXBlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgIDwvbGV0dGVyPgorICAgIDwvY2h1bms+CisgICAgPGNodW5rIG5hbWU9J2NodW5rMTMnPgorICAgICAgPGxldHRlciBuYW1lPSdkJz4KKyAgICAgICAgPHdvcmQgbmFtZT0nZGFuZ2Vyb3VzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJDdXJyZW50Tm9kZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2RhdGEtdHlwZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFDb3B5VmFsdWUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdkYXRhdHlwZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFHZXRCdWlsdEluTGlzdFNpbXBsZVR5cGVJdGVtVHlwZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2RheSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdmdHBMaXN0Q2FsbGJhY2snLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdkYXk6bWludXRlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2Z0cExpc3RDYWxsYmFjaycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2RlLWNvdXBsZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVEdGQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdkZWFjdGl2YXRlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyUmVsYXhOR1NldFNjaGVtYScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZUN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclNldFNjaGVtYScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2RlYWxsb2NhdGUnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFBhcnNlcklucHV0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDbGVhbnVwUGFyc2VyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEZWNvZGVFbnRpdGllcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTGlzdERlYWxsb2NhdG9yJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJJbnB1dERlYWxsb2NhdGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cmluZ0RlY29kZUVudGl0aWVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJpbmdMZW5EZWNvZGVFbnRpdGllcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhGcmVlTm9kZVNldExpc3QnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdkZWFsbG9jYXRlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEaWN0RnJlZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRW5jb2RlRW50aXRpZXNSZWVudHJhbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEVuY29kZVNwZWNpYWxDaGFycycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0RmVhdHVyZXNMaXN0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoRnJlZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3VGV4dFdyaXRlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVnRXhlY0VyckluZm8nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlZ0V4ZWNOZXh0VmFsdWVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTYXZlVXJpJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyQ29uc3RCYXNlVXJpJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyQ29uc3RFbmNvZGluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckNvbnN0TG9jYWxOYW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyQ29uc3ROYW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyQ29uc3ROYW1lc3BhY2VVcmknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJDb25zdFByZWZpeCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckNvbnN0U3RyaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyQ29uc3RWYWx1ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckNvbnN0WG1sVmVyc2lvbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZU5vJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlTnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJMb29rdXBOYW1lc3BhY2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJSZWFkSW5uZXJYbWwnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJSZWFkT3V0ZXJYbWwnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJSZWFkU3RyaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyUmVsYXhOR1NldFNjaGVtYScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclNldFNjaGVtYScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclZhbHVlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZGVhbGxvY2F0aW9uJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbExpc3RSZW1vdmVBbGwnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbExpc3RSZW1vdmVGaXJzdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTGlzdFJlbW92ZUxhc3QnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdkZWFsbG9jYXRvcic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoRnJlZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFJlbW92ZUVudHJ5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoUmVtb3ZlRW50cnkyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoUmVtb3ZlRW50cnkzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoVXBkYXRlRW50cnknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEhhc2hVcGRhdGVFbnRyeTInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEhhc2hVcGRhdGVFbnRyeTMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbExpc3RDcmVhdGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdkZWJ1Zyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdERUJVR19NRU1PUlknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENhdGFsb2dTZXREZWJ1ZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRGVidWdEdW1wQXR0cicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRGVidWdEdW1wQXR0ckxpc3QnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERlYnVnRHVtcERURCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRGVidWdEdW1wRG9jdW1lbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERlYnVnRHVtcERvY3VtZW50SGVhZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRGVidWdEdW1wRW50aXRpZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERlYnVnRHVtcE5vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERlYnVnRHVtcE5vZGVMaXN0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEZWJ1Z0R1bXBPbmVOb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWdleHBQcmludCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU25wcmludGZFbGVtZW50Q29udGVudCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2RlYnVnZ2luZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdERUJVR19NRU1PUlknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0RFQlVHX01FTU9SWV9MT0NBVElPTicvPgorICAgICAgICAgIDxyZWYgbmFtZT0nTElCWE1MX0RFQlVHX1JVTlRJTUUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENhdGFsb2dTZXREZWJ1ZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhEZWJ1Z0R1bXBPYmplY3QnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdkZWNpbWFsJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoU3RyaW5nRnVuY3Rpb24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdkZWNsJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0VMRU1fSU5URVJOQUxfQ0hFQ0tFRCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQWRkQXR0cmlidXRlRGVjbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3RG9jRWxlbWVudENvbnRlbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld0VsZW1lbnRDb250ZW50Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZGVjbGFyYXRpb25zJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxYUGF0aENvbnRleHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxQYXJzZUNoYXJSZWYnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3N0YXJ0RWxlbWVudE5zU0FYMkZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQ2hhclJlZicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbnRpdHlEZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVudGl0eVJlZicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbnRpdHlWYWx1ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFeHRlcm5hbFN1YnNldCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VNYXJrdXBEZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVBFUmVmZXJlbmNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVNERGVjbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVjb25jaWxpYXRlTnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWDJTdGFydEVsZW1lbnROcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFREJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFREJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZU5vdGF0aW9uRGVjbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFB0ckJ1aWxkTm9kZUxpc3QnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdkZWNsYXJlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRW50aXR5UmVmJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJIYW5kbGVSZWZlcmVuY2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNlYXJjaE5zJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZGVjbGFyZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbEVsZW1lbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxQYXJzZXJDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUF0dFZhbHVlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUF0dHJpYnV0ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VBdHRyaWJ1dGVUeXBlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZURlZmF1bHREZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVsZW1lbnREZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVudGl0eURlY2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRW50aXR5UmVmJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZU5hbWVzcGFjZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VOb3RhdGlvblR5cGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlY29uY2lsaWF0ZU5zJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyU3RhbmRhbG9uZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRDdHh0Tm9ybWFsaXplQXR0cmlidXRlVmFsdWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkTm9ybWFsaXplQXR0cmlidXRlVmFsdWUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdkZWNsYXJpbmcnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0SUQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdkZWNvZGUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRGVjb2RlRW50aXRpZXMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdkZWYnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VBdHRyaWJ1dGVMaXN0RGVjbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VBdHRyaWJ1dGVUeXBlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZGVmYXVsdGVkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9DT01QTEVURV9BVFRSUycvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFBhcnNlckN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3N0YXJ0RWxlbWVudE5zU0FYMkZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWDJTdGFydEVsZW1lbnROcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlcklzRGVmYXVsdCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2RlZmF1bHRleHRlcm5hbCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTZXRFeHRlcm5hbEVudGl0eUxvYWRlcicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2RlZmF1bHRzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNoZWxsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aExvY2FsTmFtZUZ1bmN0aW9uJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5hbWVzcGFjZVVSSUZ1bmN0aW9uJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vcm1hbGl6ZUZ1bmN0aW9uJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFN0cmluZ0Z1bmN0aW9uJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFN0cmluZ0xlbmd0aEZ1bmN0aW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZGVmaW5lJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0RFQlVHX01FTU9SWScvPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX0NBU1RfRlBUUicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSGFuZGxlRW50aXR5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFHZXRDYW5vblZhbHVlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZGVmaW5lZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdXSVRIT1VUX1RSSU8nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1dJVEhfVFJJTycvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFhQYXRoQ29udGV4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0TnNMaXN0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYW5kbGVFbnRpdHknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld0VudGl0eScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3TnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVHZXRCYXNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRWxlbWVudENvbnRlbnREZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUluTm9kZUNvbnRleHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUdldEJ1aWx0SW5MaXN0U2ltcGxlVHlwZUl0ZW1UeXBlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTZWFyY2hOcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2VhcmNoTnNCeUhyZWYnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJJc0RlZmF1bHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkR2V0VmFsaWRFbGVtZW50cycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVEdGRGaW5hbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXh0QW5jZXN0b3JPclNlbGYnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdkZWZpbmluZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdYSU5DTFVERV9GQUxMQkFDSycvPgorICAgICAgICAgIDxyZWYgbmFtZT0nWElOQ0xVREVfSFJFRicvPgorICAgICAgICAgIDxyZWYgbmFtZT0nWElOQ0xVREVfTk9ERScvPgorICAgICAgICAgIDxyZWYgbmFtZT0nWElOQ0xVREVfTlMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hJTkNMVURFX09MRF9OUycvPgorICAgICAgICAgIDxyZWYgbmFtZT0nWElOQ0xVREVfUEFSU0UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hJTkNMVURFX1BBUlNFX0VOQ09ESU5HJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYSU5DTFVERV9QQVJTRV9URVhUJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYSU5DTFVERV9QQVJTRV9YTUwnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hJTkNMVURFX1BBUlNFX1hQT0lOVEVSJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHZXRJRCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVjb25jaWxpYXRlTnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNoZWxsRHUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJDb25zdE5hbWVzcGFjZVVyaScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlck5hbWVzcGFjZVVyaScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2RlZmluaXRpb25zJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxOb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdzdGFydEVsZW1lbnROc1NBWDJGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxMb2FkQ2F0YWxvZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTG9hZENhdGFsb2dzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXR0ZXJuY29tcGlsZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYMlN0YXJ0RWxlbWVudE5zJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyUHJlc2VydmVQYXR0ZXJuJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZUR0ZCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2RlZnMnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFNjaGVtYScvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFNjaGVtYUVsZW1lbnQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdkZWxheWVkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dEJ1ZmZlcldyaXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxPdXRwdXRCdWZmZXJXcml0ZUVzY2FwZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdkZWxlZ2F0aW9uJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENhdGFsb2dTZXREZWZhdWx0UHJlZmVyJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZGVsZXRlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBEZWxlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZGVsZXRpb24nPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2F0YWxvZ1NldERlZmF1bHRQcmVmZXInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdkZXBlbmRhbnQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDb250ZXh0U2V0Q2FjaGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdkZXBlbmRpbmcnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSXNJRCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSXNSZWYnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbExpc3REYXRhQ29tcGFyZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VSZWZlcmVuY2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRXF1YWxWYWx1ZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTGFuZ0Z1bmN0aW9uJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vdEVxdWFsVmFsdWVzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZGVwcmVjYXRlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdMSUJYTUxfTEVHQUNZX0VOQUJMRUQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J19odG1sRWxlbURlc2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxVUkknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxBdHRyQWxsb3dlZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbEVsZW1lbnRBbGxvd2VkSGVyZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbEVsZW1lbnRTdGF0dXNIZXJlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sTm9kZVN0YXR1cycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hlY2tMYW5ndWFnZUlEJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDcmVhdGVFbnRpdGllc1RhYmxlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEZWNvZGVFbnRpdGllcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSW5pdGlhbGl6ZURpY3QnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVEdW1wJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJIYW5kbGVSZWZlcmVuY2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0UmVhZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2Nhbk5hbWUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdkZXB0aCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sUGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFZhbGlkQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGF0dGVybk1heERlcHRoJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXR0ZXJuTWluRGVwdGgnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJEZXB0aCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2RlcmVnaXN0cmF0aW9uJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERlcmVnaXN0ZXJOb2RlRGVmYXVsdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRGVyZWdpc3Rlck5vZGVGdW5jJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZGVyaXZhdGlvbic+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX0RFUklWQVRJT05fTUVUSE9EX0VYVEVOU0lPTicvPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfVFlQRV9ERVJJVkFUSU9OX01FVEhPRF9SRVNUUklDVElPTicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRXhwRXhwRGVyaXZlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFeHBTdHJpbmdEZXJpdmUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdkZXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclJlbGF4TkdTZXRTY2hlbWEnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJTZXRTY2hlbWEnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdkZXNhY3RpdmF0ZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclJlbGF4TkdTZXRTY2hlbWEnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJTZXRTY2hlbWEnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdkZXNjZW5kJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERPTVdyYXBDbG9uZU5vZGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdkZXNjZW5kYW50Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV4dERlc2NlbmRhbnQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdkZXNjZW5kYW50LW9yLXNlbGYnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXh0RGVzY2VuZGFudE9yU2VsZicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2Rlc2NlbmRhbnRzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV4dERlc2NlbmRhbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV4dERlc2NlbmRhbnRPclNlbGYnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV4dEZvbGxvd2luZycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2Rlc2NyaWJlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJlYW1XYW50c0FueU5vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlQXR0cmlidXRlRGVjbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVEb2N1bWVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVEb2N1bWVudEZpbmFsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZUR0ZEZpbmFsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZUVsZW1lbnREZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZU5vdGF0aW9uRGVjbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVPbmVBdHRyaWJ1dGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlT25lRWxlbWVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVPbmVOYW1lc3BhY2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlUm9vdCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2Rlc2NyaWJpbmcnPgorICAgICAgICAgIDxyZWYgbmFtZT0nZG9jYlBhcnNlRG9jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdkb2NiUGFyc2VGaWxlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdkb2NiU0FYUGFyc2VEb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2RvY2JTQVhQYXJzZUZpbGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxDcmVhdGVGaWxlUGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbFBhcnNlRG9jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sUGFyc2VGaWxlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sU0FYUGFyc2VEb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxTQVhQYXJzZUZpbGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEZpbmRDaGFyRW5jb2RpbmdIYW5kbGVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVsZW1lbnRDaGlsZHJlbkNvbnRlbnREZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVsZW1lbnRNaXhlZENvbnRlbnREZWNsJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZGVzY3JpcHRpb24nPgorICAgICAgICAgIDxyZWYgbmFtZT0nX2h0bWxFbGVtRGVzYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX2h0bWxFbnRpdHlEZXNjJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sRWxlbWVudEFsbG93ZWRIZXJlRGVzYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ29weURvY0VsZW1lbnRDb250ZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDb3B5RWxlbWVudENvbnRlbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldER0ZEF0dHJEZXNjJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHZXREdGRFbGVtZW50RGVzYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0RHRkTm90YXRpb25EZXNjJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHZXREdGRRQXR0ckRlc2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldER0ZFFFbGVtZW50RGVzYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSXNNaXhlZEVsZW1lbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVTZXRMYW5nJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZGVzY3JpcHRvcic+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sQ3R4dFJlYWRGZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbFJlYWRGZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ3R4dFJlYWRGZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTWVtRGlzcGxheScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTWVtRGlzcGxheUxhc3QnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE1lbVNob3cnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWFkRmQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlYWRlckZvckZkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWFkZXJOZXdGZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2F2ZVRvRmQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNhdmVUb0lPJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZGVzaWduZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2Rlc2lyZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnVmZmVyUmVzaXplJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJT0hUVFBPcGVuVycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVVRGOFN0cmxvYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVVRGOFN0cnBvcycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2Rlc3RpbmF0aW9uJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERPTVdyYXBBZG9wdE5vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERPTVdyYXBDbG9uZU5vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbElPSFRUUE9wZW5XJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVUklVbmVzY2FwZVN0cmluZycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2Rlc3Ryb3knPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckN1cnJlbnREb2MnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdkZXN0cm95ZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQWRkQ2hpbGQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEFkZE5leHRTaWJsaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBZGRQcmV2U2libGluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckN1cnJlbnROb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyU2V0dXAnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdkZXN0cnVjdGlvbic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEZXJlZ2lzdGVyTm9kZURlZmF1bHQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdkZXRhaWxzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEMxNE5Eb2NEdW1wTWVtb3J5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDMTRORG9jU2F2ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQzE0TkRvY1NhdmVUbycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQzE0TkV4ZWN1dGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdkZXRlY3QnPgorICAgICAgICAgIDxyZWYgbmFtZT0neGxpbmtJc0xpbmsnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENyZWF0ZVB1c2hQYXJzZXJDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJbnB1dE1hdGNoQ2FsbGJhY2snLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEtlZXBCbGFua3NEZWZhdWx0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxPdXRwdXRNYXRjaENhbGxiYWNrJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aElzSW5mJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aElzTmFOJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZGV0ZWN0ZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0nQ0hFQ0tfRVJST1InLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0NIRUNLX0VSUk9SMCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nZW5kRG9jdW1lbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2VuZERvY3VtZW50U0FYRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0nZW5kRWxlbWVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nZW5kRWxlbWVudE5zU0FYMkZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2VuZEVsZW1lbnRTQVhGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdyZWZlcmVuY2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3JlZmVyZW5jZVNBWEZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3N0YXJ0RWxlbWVudE5zU0FYMkZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3hsaW5rRXh0ZW5kZWRMaW5rRnVuaycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neGxpbmtFeHRlbmRlZExpbmtTZXRGdW5rJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bGlua0lzTGluaycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySGFuZGxlUEVSZWZlcmVuY2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlckhhbmRsZVJlZmVyZW5jZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYMkVuZERvY3VtZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVgyRW5kRWxlbWVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYMkVuZEVsZW1lbnROcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYMlJlZmVyZW5jZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYMlN0YXJ0RWxlbWVudE5zJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFJc1ZhbGlkJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZGV0ZWN0aW9uJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2RvY2JDcmVhdGVQdXNoUGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neGxpbmtFeHRlbmRlZExpbmtGdW5rJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bGlua0V4dGVuZGVkTGlua1NldEZ1bmsnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3hsaW5rR2V0RGVmYXVsdERldGVjdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neGxpbmtOb2RlRGV0ZWN0RnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neGxpbmtTZXREZWZhdWx0RGV0ZWN0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bGlua1NpbXBsZUxpbmtGdW5rJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSXNJRCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlSZWNvdmVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUV4dGVybmFsRW50aXR5Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZGV0ZXJtaW5lJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEMxNE5FeGVjdXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGFySW5SYW5nZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2RldGVybWluZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhMYW5nRnVuY3Rpb24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdkZXRlcm1pbmlzdCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YUlzRGV0ZXJtaW5pc3QnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlZ2V4cElzRGV0ZXJtaW5pc3QnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdkaWN0Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxEb2MnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdkaWN0aW9uYXJpZXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX01BWF9OQU1FX0xFTkdUSCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2RpY3Rpb25hcnknPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX01BWF9ESUNUSU9OQVJZX0xJTUlUJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sUGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFhQYXRoQ29udGV4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRGljdENsZWFudXAnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERpY3RDcmVhdGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERpY3RDcmVhdGVTdWInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERpY3RHZXRVc2FnZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRGljdFJlZmVyZW5jZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRGljdFNldExpbWl0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoQ3JlYXRlRGljdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSW5pdGlhbGl6ZURpY3QnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhdHRlcm5jb21waWxlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJlYW1QdXNoJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJlYW1QdXNoQXR0cicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyZWFtUHVzaE5vZGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdkaWN0aW9ubmFyeSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sUGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRGljdENyZWF0ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRGljdENyZWF0ZVN1YicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRGljdEV4aXN0cycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRGljdEZyZWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERpY3RHZXRVc2FnZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRGljdExvb2t1cCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRGljdE93bnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERpY3RRTG9va3VwJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEaWN0UmVmZXJlbmNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEaWN0U2V0TGltaXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERpY3RTaXplJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFeHBOZXdDdHh0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZGlkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfQkxPQ0tfREVGQVVMVCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckdldFJlbWFpbmRlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclN0YW5kYWxvbmUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdkaWZmZXJlbmNlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRGlmZmVyZW5jZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2RpZmZlcmVudCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sQnVmZmVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBQ2F0YWxvZ0FkZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnVpbGRRTmFtZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2F0YWxvZ0FkZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hpbGRFbGVtZW50Q291bnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEZpcnN0RWxlbWVudENoaWxkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxMYXN0RWxlbWVudENoaWxkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXh0RWxlbWVudFNpYmxpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVHZXRCYXNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQcmV2aW91c0VsZW1lbnRTaWJsaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJFcXVhbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyUUVxdWFsJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZGlmZmVyZW50aWF0ZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE9yZGVyRG9jRWxlbXMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdkaWZmZXJlbnRseSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyR2V0UmVtYWluZGVyJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZGlmZmVycyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWZTaHJpbmsnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld0VudGl0eScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2RpZ2l0Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoU3RyaW5nRnVuY3Rpb24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdkaWdpdHMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhTdHJpbmdGdW5jdGlvbicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2Rpcic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTaGVsbERpcicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2RpcmVjdCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sRWxlbWVudEFsbG93ZWRIZXJlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sRWxlbWVudEFsbG93ZWRIZXJlRGVzYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbEVsZW1lbnRTdGF0dXNIZXJlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFeHBFeHBEZXJpdmUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQXR0cmlidXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVUklVbmVzY2FwZVN0cmluZycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2RpcmVjdGlvbic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5leHRBbmNlc3RvcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXh0QW5jZXN0b3JPclNlbGYnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV4dEF0dHJpYnV0ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXh0Q2hpbGQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV4dERlc2NlbmRhbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV4dERlc2NlbmRhbnRPclNlbGYnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV4dEZvbGxvd2luZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXh0Rm9sbG93aW5nU2libGluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXh0TmFtZXNwYWNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5leHRQYXJlbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV4dFByZWNlZGluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXh0UHJlY2VkaW5nU2libGluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXh0U2VsZicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2RpcmVjdGx5Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ1ZkdldE5vZGVDb250ZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlQnVmR2V0Q29udGVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUdldENvbnRlbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vcm1hbGl6ZVVSSVBhdGgnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQXR0cmlidXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVsZW1lbnRDb250ZW50RGVjbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VQRVJlZmVyZW5jZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VTRERlY2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlckhhbmRsZVBFUmVmZXJlbmNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJIYW5kbGVSZWZlcmVuY2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyR3JvdycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDb252ZXJ0Qm9vbGVhbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDb252ZXJ0TnVtYmVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENvbnZlcnRTdHJpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQdHJOZXdDb250ZXh0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZGlyZWN0b3JpZXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTG9hZENhdGFsb2dzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZGlyZWN0b3J5Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxQYXJzZXJDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sUGFyc2VySW5wdXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoZWNrRmlsZW5hbWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBDd2QnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBEZWxlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJHZXREaXJlY3RvcnknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNoZWxsTGlzdCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2Rpc2FibGUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2F0YWxvZ1NldERlYnVnJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZVNldExvY2F0b3InLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdkaXNhYmxlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfQ0FTVF9GUFRSJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sUGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VVUklSYXcnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdkaXNhYmxlcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENvbnRleHRTZXRDYWNoZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2Rpc2FibGluZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb05ldEV4dGVybmFsRW50aXR5TG9hZGVyJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZGlzYWxsb3dlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19FTEVNX0JMT0NLX0VYVEVOU0lPTicvPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfRUxFTV9CTE9DS19SRVNUUklDVElPTicvPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfRUxFTV9CTE9DS19TVUJTVElUVVRJT04nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdkaXNjYXJkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVubGlua05vZGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdkaXNjYXJkZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRGVyZWdpc3Rlck5vZGVGdW5jJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZGlzY2FyZGluZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUF0dFZhbHVlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZEN0eHROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2Rpc2Nvbm5lY3RlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YU5ld1N0YXRlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZGlzY292ZXJpbmcnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3dpdGNoRW5jb2RpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN3aXRjaElucHV0RW5jb2RpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN3aXRjaFRvRW5jb2RpbmcnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdkaXNjdGlvbmFyeSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEaWN0T3ducycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2Rpc3BsYXknPgorICAgICAgICAgIDxyZWYgbmFtZT0nZXJyb3JTQVhGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdmYXRhbEVycm9yU0FYRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0nd2FybmluZ1NBWEZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE1lbVNob3cnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlckVycm9yJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJWYWxpZGl0eUVycm9yJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJWYWxpZGl0eVdhcm5pbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcldhcm5pbmcnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdkaXN0aW5jdCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aERpc3RpbmN0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aERpc3RpbmN0U29ydGVkJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZGlzdGluZ3Vpc2gnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhTdHJpbmdGdW5jdGlvbicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2Rpdic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aERpdlZhbHVlcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhTdWJzdHJpbmdGdW5jdGlvbicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2RvYyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sTm9kZUR1bXBGaWxlRm9ybWF0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwQWRvcHROb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwQ2xvbmVOb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwUmVtb3ZlTm9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3VGV4dFdyaXRlckRvYycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2RvYy0nPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRE9NV3JhcFJlbW92ZU5vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERvY0dldFJvb3RFbGVtZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEb2NTZXRSb290RWxlbWVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3VGV4dFdyaXRlclRyZWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVHZXRCYXNlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZG9jcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWlsZFJlbGF0aXZlVVJJJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZG9jdHlwZWRlY2wnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VEb2NUeXBlRGVjbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VEb2N1bWVudCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2RvY3VtZW50cyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDbGVhbnVwUGFyc2VyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJc0lEJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVudGl0eVJlZicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySGFuZGxlUmVmZXJlbmNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVhQYXJzZURvYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYUGFyc2VGaWxlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVhQYXJzZUZpbGVXaXRoRGF0YScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYUGFyc2VNZW1vcnknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWFBhcnNlTWVtb3J5V2l0aERhdGEnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoT3JkZXJEb2NFbGVtcycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2RvZXNuJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J19odG1sRWxlbURlc2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxFbGVtZW50QWxsb3dlZEhlcmUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ1ZmZlckRldGFjaCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hlY2tMYW5ndWFnZUlEJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDbGVhbnVwUGFyc2VyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDcmVhdGVFbnRpdGllc1RhYmxlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxGcmVlTm9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0VGhyZWFkSWQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEluaXRDaGFyRW5jb2RpbmdIYW5kbGVycycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sS2VlcEJsYW5rc0RlZmF1bHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVMaXN0R2V0UmF3U3RyaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXR0ZXJuTWF0Y2gnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlbW92ZVByb3AnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVURjhTdHJsZW4nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlUm9vdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhMZWFkaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aExlYWRpbmdTb3J0ZWQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm9kZUxlYWRpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm9kZUxlYWRpbmdTb3J0ZWQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm9kZVRyYWlsaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vZGVUcmFpbGluZ1NvcnRlZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhUcmFpbGluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhUcmFpbGluZ1NvcnRlZCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2RvaW5nJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlZ0V4ZWNDYWxsYmFja3MnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdkb24nPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfQU5ZX0xBWCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neGxpbmtJc0xpbmsnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoaWxkRWxlbWVudENvdW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRE9NV3JhcENsb25lTm9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRmlyc3RFbGVtZW50Q2hpbGQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbExhc3RFbGVtZW50Q2hpbGQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld0RvY05vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld0RvY05vZGVFYXROYW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXh0RWxlbWVudFNpYmxpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlU3RhcnRUYWcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFByZXZpb3VzRWxlbWVudFNpYmxpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlZ0V4ZWNFcnJJbmZvJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWdFeGVjTmV4dFZhbHVlcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2VhcmNoTnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRnJlZU5vZGVTZXRMaXN0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vZGVTZXRGcmVlTnMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdkb3RnbnUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlck5vZGVUeXBlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZG91YmxlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3ZhbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnVmZmVyV3JpdGVRdW90ZWRTdHJpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoSXNJbmYnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoSXNOYU4nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV3RmxvYXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm9kZVNldENyZWF0ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhSZXR1cm5OdW1iZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoU3RyaW5nRXZhbE51bWJlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFB0ckxvY2F0aW9uU2V0Q3JlYXRlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZG91YmxlLWh5cGhlbic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUNvbW1lbnQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdkb3VibGUtcXVvdGVzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ1ZmZlcldyaXRlUXVvdGVkU3RyaW5nJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZG91YmxlaXQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0QnVmZmVyQWxsb2NhdGlvblNjaGVtZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2RvdWJsZXF1b3Rlcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVF1b3RlZFN0cmluZycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2RvdWJ0Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENsZWFudXBQYXJzZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENsZWFudXBUaHJlYWRzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZG93bic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZHJhZnQnPgorICAgICAgICAgIDxyZWYgbmFtZT0nWElOQ0xVREVfT0xEX05TJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZHJvcCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxGaWxlUmVhZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSU9GVFBSZWFkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJT0hUVFBSZWFkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZU5hbWVzcGFjZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VRdW90ZWRTdHJpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQdHJCdWlsZE5vZGVMaXN0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZHRkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2dldFN5c3RlbUlkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sTmV3RG9jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sTmV3RG9jTm9EdEQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENvcHlEdGQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWDJHZXRTeXN0ZW1JZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVEdGQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdkdGRzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2dldFN5c3RlbUlkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVgyR2V0U3lzdGVtSWQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlRHRkRmluYWwnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdkdWUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnVmU2hyaW5rJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxNb2R1bGVPcGVuJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxNb2R1bGVTeW1ib2wnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdkdW1wJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ1ZlNocmluaycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnVmZmVyQWRkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWZmZXJDQ2F0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWZmZXJEdW1wJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWZmZXJTaHJpbmsnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbER1bXBBdHRyaWJ1dGVEZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEdW1wQXR0cmlidXRlVGFibGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbER1bXBFbGVtZW50RGVjbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRHVtcEVsZW1lbnRUYWJsZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRHVtcEVudGl0aWVzVGFibGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbER1bXBFbnRpdHlEZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEdW1wTm90YXRpb25EZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEdW1wTm90YXRpb25UYWJsZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTHNPbmVOb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxNZW1EaXNwbGF5TGFzdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTWVtU2hvdycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU25wcmludGZFbGVtZW50Q29udGVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhEZWJ1Z0R1bXBPYmplY3QnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdkdW1waW5nJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE1lbURpc3BsYXlMYXN0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZHVtcHMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2hlbGxCYXNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTaGVsbENhdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2hlbGxEaXInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdkdXBsaWNhdGUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2Fub25pY1BhdGgnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhdGhUb1VSSScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2R1cGxpY2F0ZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVsYXhOR05ld0RvY1BhcnNlckN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm9kZVNldEZyZWVOcycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2R1cGxpY2F0ZXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hQ29weVZhbHVlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZHVyYXRpb24nPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hR2V0Q2Fub25WYWx1ZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2R1cmluZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVhEZWZhdWx0VmVyc2lvbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hSXNWYWxpZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hTmV3RG9jUGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hU2V0VmFsaWRPcHRpb25zJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWF0cm9uTmV3RG9jUGFyc2VyQ3R4dCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2R5bmFtaWMnPgorICAgICAgICAgIDxyZWYgbmFtZT0nTElCWE1MX01PRFVMRV9FWFRFTlNJT04nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgPC9sZXR0ZXI+CisgICAgPC9jaHVuaz4KKyAgICA8Y2h1bmsgbmFtZT0nY2h1bmsxNCc+CisgICAgICA8bGV0dGVyIG5hbWU9J2UnPgorICAgICAgICA8d29yZCBuYW1lPSdlYWNoJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxQYXJzZXJDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoQ29weScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFNjYW4nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEhhc2hTY2FuMycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFNjYW5GdWxsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoU2NhbkZ1bGwzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUF0dHJpYnV0ZVR5cGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNldEdlbmVyaWNFcnJvckZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNldFN0cnVjdHVyZWRFcnJvckZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlT25lRWxlbWVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhJZEZ1bmN0aW9uJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFN1YnN0cmluZ0Z1bmN0aW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZWRpdGlvbic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGVja0xhbmd1YWdlSUQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdlZmZlY3QnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDb250ZXh0U2V0Q2FjaGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdlZmZlY3RpdmUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTG9hZENhdGFsb2cnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbExvYWRDYXRhbG9ncycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2VmZmljaWVuY3knPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnVpbGRSZWxhdGl2ZVVSSScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2VpdGhlcic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCb29sVG9UZXh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWZHZXROb2RlQ29udGVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ3VycmVudENoYXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbExvYWRBQ2F0YWxvZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUJ1ZkdldENvbnRlbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVHZXRDb250ZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVsZW1lbnRDaGlsZHJlbkNvbnRlbnREZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVsZW1lbnRDb250ZW50RGVjbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VNYXJrdXBEZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVBFUmVmZXJlbmNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVN0YXJ0VGFnJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJIYW5kbGVQRVJlZmVyZW5jZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlck5vcm1hbGl6YXRpb24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdlaXRoZXI6Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3Jlc29sdmVFbnRpdHknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3Jlc29sdmVFbnRpdHlTQVhGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVgyUmVzb2x2ZUVudGl0eScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2VsZW0nPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfRUxFTV9JTlRFUk5BTF9DSEVDS0VEJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZWxlbS0nPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbERPTVdyYXBDdHh0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZWxlbWVudC0nPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyZWFtUHVzaE5vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoT3JkZXJEb2NFbGVtcycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2VsZW1lbnQtbm9kZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwUmVjb25jaWxlTmFtZXNwYWNlcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyZWFtUHVzaCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2VsZW1lbnQtbm9kZXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRE9NV3JhcEFkb3B0Tm9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRE9NV3JhcENsb25lTm9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRE9NV3JhcFJlY29uY2lsZU5hbWVzcGFjZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cmVhbVdhbnRzQW55Tm9kZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2VsZW1lbnRGb3JtRGVmYXVsdCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19RVUFMSUZfRUxFTScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2VsZW1lbnRkZWNsJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRWxlbWVudERlY2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlTWFya3VwRGVjbCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2VsZW1lbnRzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9DQVRBTE9HU19OQU1FU1BBQ0UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9DT01QTEVURV9BVFRSUycvPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfQVRUUl9HTE9CQUwnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0FUVFJfTlNERUZBVUxUJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19FTEVNX05TREVGQVVMVCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbER0ZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbEVsZW1lbnRBbGxvd2VkSGVyZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbE5vZGVTdGF0dXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3hsaW5rSXNMaW5rJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEaWN0U2l6ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRnJlZVBhdHRlcm5MaXN0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoU2l6ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTGluZU51bWJlcnNEZWZhdWx0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0TWVyZ2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbExpc3RSZXZlcnNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0U2l6ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTGlzdFNvcnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQXR0cmlidXRlVHlwZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VEZWZhdWx0RGVjbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VTRERlY2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNoZWxsUHdkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyRW5kRG9jdW1lbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoSWRGdW5jdGlvbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhPcmRlckRvY0VsZW1zJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZWxzZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdVVEY4VG9IdG1sJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdVVEY4VG9pc29sYXQxJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdkb2NiRW5jb2RlRW50aXRpZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxFbmNvZGVFbnRpdGllcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0naXNvbGF0MVRvVVRGOCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hhckVuY29kaW5nSW5wdXRGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGFyRW5jb2RpbmdPdXRwdXRGdW5jJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZW1iZWRkZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX0NUWFRfRklOSVNIX0RURF8wJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfQ1RYVF9GSU5JU0hfRFREXzEnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdlbWl0dGVkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNldEdlbmVyaWNFcnJvckZ1bmMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdlbXB0eS1lbGVtZW50Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlU3RhcnRUYWcnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdlbmFibGUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2F0YWxvZ1NldERlYnVnJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZW5hYmxlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTYXZlRmlsZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2F2ZUZvcm1hdEZpbGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdlbmFibGVzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ29udGV4dFNldENhY2hlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZW5hYmxpbmcnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTGluZU51bWJlcnNEZWZhdWx0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQZWRhbnRpY1BhcnNlckRlZmF1bHQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdlbmMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2VuY2Fwc3VsYXRlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ1ZmZlckZyZWUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdlbmNhcHN1bGF0aW5nJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J19odG1sRWxlbURlc2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld0lPSW5wdXRTdHJlYW0nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdlbmNsb3NlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJRdW90ZUNoYXInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdlbmNvZGUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlQmFzZTY0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVCaW5IZXgnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdlbmNvZGVkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxPdXRwdXRCdWZmZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxQYXJzZXJJbnB1dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFBhcnNlcklucHV0QnVmZmVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGVja1VURjgnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldFVURjhDaGFyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTcGxpdFFOYW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJjYXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cmR1cCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlQmFzZTY0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVCaW5IZXgnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVURjhTdHJsZW4nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVURjhTdHJzaXplJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVVEY4U3Ryc3ViJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZW5jb2Rlcic+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sT3V0cHV0QnVmZmVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sUGFyc2VySW5wdXRCdWZmZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoYXJFbmNPdXRGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGFyRW5jb2RpbmdPdXRwdXRGdW5jJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZW5jb2Rlcj09TlVMTCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDMTRORG9jU2F2ZVRvJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDMTRORXhlY3V0ZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2VuY29uZGluZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGFyRW5jQ2xvc2VGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGFyRW5jRmlyc3RMaW5lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGFyRW5jT3V0RnVuYycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2VuY291bnRlcmVkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEVuY29kZUVudGl0aWVzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZW5jb3VudGVyaW5nJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9DQVNUX0ZQVFInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdlbmQtdGFnJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRWxlbWVudCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2VuZC11cCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVJlZmVyZW5jZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2VuZGVkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEMxNE5Eb2NEdW1wTWVtb3J5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDMTRORG9jU2F2ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQzE0TkRvY1NhdmVUbycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQzE0TkV4ZWN1dGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENsZWFudXBUaHJlYWRzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZW5kaW5nJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQdHJOZXdDb2xsYXBzZWRSYW5nZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFB0ck5ld1JhbmdlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyTmV3UmFuZ2VOb2RlT2JqZWN0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyTmV3UmFuZ2VOb2RlUG9pbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQdHJOZXdSYW5nZU5vZGVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyTmV3UmFuZ2VQb2ludE5vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQdHJOZXdSYW5nZVBvaW50cycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2VuZHMnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFBhcnNlck5vZGVJbmZvJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUENsb3NlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZW5mb3JjZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX01BWF9MT09LVVBfTElNSVQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdlbmdpbmUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhBeGlzRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhGdW5jTG9va3VwRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhWYXJpYWJsZUxvb2t1cEZ1bmMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdlbmdsb2JpbmcnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRXhwRXhwRGVyaXZlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFeHBTdWJzdW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTbnByaW50ZkVsZW1lbnRDb250ZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTcHJpbnRmRWxlbWVudENvbnRlbnQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdlbmhhbmNlbWVudHMnPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbE5vZGVTdGF0dXMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdlbm91Z2gnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnVpbGRRTmFtZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2Vuc3VyZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDb3B5Tm9kZUxpc3QnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld1RleHRDaGlsZCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2Vuc3VyZXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRE9NV3JhcEFkb3B0Tm9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRE9NV3JhcENsb25lTm9kZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2Vuc3VyaW5nJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERPTVdyYXBSZW1vdmVOb2RlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZW50aXJlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENsZWFudXBJbnB1dENhbGxiYWNrcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2xlYW51cE91dHB1dENhbGxiYWNrcycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2VudGl0aWVzOic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVudGl0eVJlZicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySGFuZGxlUmVmZXJlbmNlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZW50cHJvYyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJIYW5kbGVQRVJlZmVyZW5jZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySGFuZGxlUmVmZXJlbmNlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZW50cmllcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBQ2F0YWxvZ0FkZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQUNhdGFsb2dSZW1vdmUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENhdGFsb2dBZGQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENhdGFsb2dDb252ZXJ0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDYXRhbG9nUmVtb3ZlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDb252ZXJ0U0dNTENhdGFsb2cnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERPTVdyYXBBZG9wdE5vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERPTVdyYXBDbG9uZU5vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEhhc2hBZGRFbnRyeTMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbExvYWRBQ2F0YWxvZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTG9hZENhdGFsb2cnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbExvYWRTR01MU3VwZXJDYXRhbG9nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxNZW1TaG93Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZW50cnknPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQUNhdGFsb2dBZGQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEFDYXRhbG9nUmVtb3ZlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDYXRhbG9nQWRkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDYXRhbG9nQWRkTG9jYWwnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENhdGFsb2dSZW1vdmUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEhhc2hVcGRhdGVFbnRyeScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFVwZGF0ZUVudHJ5MicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFVwZGF0ZUVudHJ5MycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb2RlU2V0UmVtb3ZlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyTG9jYXRpb25TZXRSZW1vdmUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdlbnVtZXJhdGVkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2F0dHJpYnV0ZURlY2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2F0dHJpYnV0ZURlY2xTQVhGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVgyQXR0cmlidXRlRGVjbCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2VudW1lcmF0aW9uJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxBdHRyaWJ1dGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEFkZEF0dHJpYnV0ZURlY2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENvcHlFbnVtZXJhdGlvbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ3JlYXRlRW51bWVyYXRpb24nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEZyZWVFbnVtZXJhdGlvbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VBdHRyaWJ1dGVUeXBlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVudW1lcmF0ZWRUeXBlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVudW1lcmF0aW9uVHlwZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2Vudmlyb25tZW50Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBQcm94eScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVjb25jaWxpYXRlTnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNoZWxsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEluaXQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdlcHNpbG9uJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhTmV3QWxsVHJhbnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhTmV3Q291bnRlZFRyYW5zJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YU5ld0NvdW50ZXJUcmFucycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFOZXdFcHNpbG9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZXF1YWwnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQWRkQ2hpbGQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEFkZE5leHRTaWJsaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBZGRQcmV2U2libGluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyRXF1YWwnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0clFFcXVhbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckNvbnN0TmFtZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlck5hbWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ29tcGFyZVZhbHVlcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhFcXVhbFZhbHVlcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhFdmFsUHJlZGljYXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEV2YWx1YXRlUHJlZGljYXRlUmVzdWx0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aElkRnVuY3Rpb24nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm90RXF1YWxWYWx1ZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoUG9zaXRpb25GdW5jdGlvbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhTdWJzdHJpbmdGdW5jdGlvbicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2VxdWFsaXR5Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxQYXJzZXJJbnB1dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTGlzdERhdGFDb21wYXJlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZXF1aXZhbGVudCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxNYWxsb2NBdG9taWNMb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE1hbGxvY0xvYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTWVtRnJlZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTWVtTWFsbG9jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxNZW1SZWFsbG9jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxNZW1TdHJkdXBMb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE1lbW9yeVN0cmR1cCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUxpc3RHZXRSYXdTdHJpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVMaXN0R2V0U3RyaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWFsbG9jTG9jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVVEY4U3RycG9zJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENhc3RUb1N0cmluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDb252ZXJ0Qm9vbGVhbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDb252ZXJ0TnVtYmVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENvbnZlcnRTdHJpbmcnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdlc2NhcGUnPgorICAgICAgICAgIDxyZWYgbmFtZT0nZG9jYkVuY29kZUVudGl0aWVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sRW5jb2RlRW50aXRpZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVSSUVzY2FwZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVVJJRXNjYXBlU3RyJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZXNjYXBlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdDaGlsZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3RG9jTm9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3RG9jTm9kZUVhdE5hbWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld1RleHRDaGlsZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9kZVNldENvbnRlbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVTZXRDb250ZW50TGVuJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUNEU2VjdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VDaGFyRGF0YScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2F2ZVVyaScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVVJJRXNjYXBlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVUklFc2NhcGVTdHInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdlc2NhcGVzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dEJ1ZmZlcldyaXRlRXNjYXBlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVUklFc2NhcGVTdHInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdlc2NhcGluZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxPdXRwdXRCdWZmZXJXcml0ZUVzY2FwZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2F2ZVNldEF0dHJFc2NhcGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNhdmVTZXRFc2NhcGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdlc3BlY2lhbGx5Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEV4cFBhcnNlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZXN0YWJsaXNoZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUFVwZGF0ZVVSTCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2V0Yyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sU2NoZW1hRmFjZXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERvY0dldFJvb3RFbGVtZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEb2NTZXRSb290RWxlbWVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VJbk5vZGVDb250ZXh0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZXZhbHVhdGUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhFdmFsRXhwcicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2V2YWx1YXRlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENvbXBpbGVkRXZhbFRvQm9vbGVhbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhFdmFsUHJlZGljYXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEV2YWx1YXRlUHJlZGljYXRlUmVzdWx0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyTmV3Q29udGV4dCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2V2YWx1YXRpbmcnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhFdmFsUHJlZGljYXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEV2YWx1YXRlUHJlZGljYXRlUmVzdWx0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZXZhbHVhdGlvbic+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sWFBhdGhGdW5jdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFhQYXRoUGFyc2VyQ29udGV4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0ndmFsdWVQb3AnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3ZhbHVlUHVzaCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVnTmV3RXhlY0N0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNoZWxsUHJpbnRYUGF0aFJlc3VsdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDb21waWxlZEV2YWwnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRXZhbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhFdmFsRXhwcmVzc2lvbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhFdmFsRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhFdmFsUHJlZGljYXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEV2YWx1YXRlUHJlZGljYXRlUmVzdWx0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vZGVFdmFsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyQnVpbGROb2RlTGlzdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFB0ckV2YWwnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdldmF1bGF0aW9uJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlZ0ZyZWVFeGVjQ3R4dCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2V2ZW4nPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFBhcnNlcklucHV0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFeHBOZXdPcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRXhwTmV3UmFuZ2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEV4cE5ld1NlcScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUdldEJhc2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJGdWxsRW5kRWxlbWVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhSb3VuZEZ1bmN0aW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZXZlbnQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hU0FYUGx1ZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hU0FYVW5wbHVnJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZVN0cmVhbScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2V2ZW50cyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sU0FYUGFyc2VEb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbGlkYXRlU3RyZWFtJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZXZlcic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFeHBDdHh0TmJDb25zJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZXZlcnl3aGVyZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVhQYXJzZUZpbGVXaXRoRGF0YScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYUGFyc2VNZW1vcnlXaXRoRGF0YScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2V4YWN0Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdleGFtaW5lZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNGZWF0dXJlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZXhhbXBsZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZVN0YXRpYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVjb25jaWxpYXRlTnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJDb25zdFN0cmluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhTdWJzdHJpbmdBZnRlckZ1bmN0aW9uJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFN1YnN0cmluZ0JlZm9yZUZ1bmN0aW9uJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFN1YnN0cmluZ0Z1bmN0aW9uJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFRyYW5zbGF0ZUZ1bmN0aW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZXhhbXBsZXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnVpbGRSZWxhdGl2ZVVSSScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2V4Y2VwdCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YU5ld05lZ1RyYW5zJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHZXROb05zUHJvcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VBdHRWYWx1ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VDYXRhbG9nRmlsZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbnRpdHlSZWYnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlckhhbmRsZVJlZmVyZW5jZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2V4Y2VwdGlvbic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVUklFc2NhcGVTdHInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdleGNsdWRpbmcnPgorICAgICAgICAgIDxyZWYgbmFtZT0nSVNfQ0hBUicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXh0Rm9sbG93aW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5leHRQcmVjZWRpbmcnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdleGNsdXNpb25zJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0VMRU1fRklOQUxfQUJTRU5UJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZXhjbHVzaW9uczonPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfRUxFTV9GSU5BTF9FWFRFTlNJT04nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0VMRU1fRklOQUxfUkVTVFJJQ1RJT04nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdleGNsdXNpdmUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQzE0TkRvY0R1bXBNZW1vcnknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEMxNE5Eb2NTYXZlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDMTRORG9jU2F2ZVRvJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDMTRORXhlY3V0ZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2V4ZWN1dGVkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhQ29tcGlsZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2V4ZWN1dGlvbic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWdFeGVjRXJySW5mbycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVnRXhlY05leHRWYWx1ZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlZ0V4ZWNQdXNoU3RyaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWdFeGVjUHVzaFN0cmluZzInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdleGlzdCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNGZWF0dXJlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyTG9jYXRpb25TZXRBZGQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdleGlzdGVudCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwQWRvcHROb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwQ2xvbmVOb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwUmVjb25jaWxlTmFtZXNwYWNlcycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2V4aXN0cyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEaWN0RXhpc3RzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTaGVsbFB3ZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckNvbnN0WG1sTGFuZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclhtbExhbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlTm90YXRpb25EZWNsJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZXhpdCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDbGVhbnVwUGFyc2VyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDbGVhbnVwVGhyZWFkcycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2V4cGFuZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxMb2FkU0dNTFN1cGVyQ2F0YWxvZycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2V4cGFuZGVkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4TkdWYWxpZGF0ZUZ1bGxFbGVtZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFOZXdTdHJpbmdWYWx1ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOYW1lc3BhY2VVUklGdW5jdGlvbicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2V4cGVjdGVkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3gnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ1ZmZlckNyZWF0ZVN0YXRpYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVTdGF0aWMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4TkdOZXdNZW1QYXJzZXJDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HTmV3UGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hTmV3TWVtUGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hTmV3UGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRhdGVMaXN0U2ltcGxlVHlwZUZhY2V0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWF0cm9uTmV3TWVtUGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hdHJvbk5ld1BhcnNlckN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cmVhbVB1c2gnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cmVhbVB1c2hBdHRyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJlYW1QdXNoTm9kZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2V4cGxpY2l0bHknPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYRGVmYXVsdFZlcnNpb24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdleHBsb3JlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEF4aXNGdW5jJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZXhwb3NpbmcnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclJlYWQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdleHByZXNzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0xJQlhNTDJfTkVXX0JVRkZFUicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2V4cHJlc3NpbmcnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGF0aFRvVVJJJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZXhwcmVzc2lvbnMnPgorICAgICAgICAgIDxyZWYgbmFtZT0nTElCWE1MX0VYUFJfRU5BQkxFRCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nTElCWE1MX1JFR0VYUF9FTkFCTEVEJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFeHBFeHBEZXJpdmUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEV4cE5ld0N0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEV4cFBhcnNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFeHBTdWJzdW1lJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZXhzbFNldHNEaXN0aW5jdFNvcnRlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aERpc3RpbmN0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZXhzbFNldHNMZWFkaW5nU29ydGVkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTGVhZGluZycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2V4c2xTZXRzTm9kZUxlYWRpbmdTb3J0ZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb2RlTGVhZGluZycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2V4dCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sUGFyc2VyQ3R4dCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2V4dFBhcnNlZEVudCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUN0eHRFeHRlcm5hbEVudGl0eScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbnRpdHknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRXh0UGFyc2VkRW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUV4dGVybmFsRW50aXR5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVhQYXJzZUVudGl0eScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2V4dFN1YnNldCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUV4dGVybmFsU3Vic2V0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZXh0U3Vic2V0RGVjbCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUV4dGVybmFsU3Vic2V0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZXh0ZW5kJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cm5jYXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkR2V0UG90ZW50aWFsQ2hpbGRyZW4nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdleHRlbmRlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bGlua0V4dGVuZGVkTGlua0Z1bmsnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3hsaW5rRXh0ZW5kZWRMaW5rU2V0RnVuaycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hlY2tMYW5ndWFnZUlEJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vZGVTZXRNZXJnZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFB0ckxvY2F0aW9uU2V0TWVyZ2UnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdleHRlbnNpb24nPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfQkxPQ0tfREVGQVVMVF9FWFRFTlNJT04nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0VMRU1fRklOQUxfRVhURU5TSU9OJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19GSU5BTF9ERUZBVUxUX0VYVEVOU0lPTicvPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfVFlQRV9CTE9DS19FWFRFTlNJT04nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfREVSSVZBVElPTl9NRVRIT0RfRVhURU5TSU9OJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX0ZJTkFMX0VYVEVOU0lPTicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hlY2tMYW5ndWFnZUlEJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZXh0ZW5zaW9ucyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sU0FYSGFuZGxlcicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2V4dGVudCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlSZWNvdmVyJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZXh0bGFuZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGVja0xhbmd1YWdlSUQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdleHRyYWN0Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9HRVRfQ09OVEVOVCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX0dFVF9MSU5FJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWZDb250ZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWZFbmQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ1ZmZlckNvbnRlbnQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgPC9sZXR0ZXI+CisgICAgPC9jaHVuaz4KKyAgICA8Y2h1bmsgbmFtZT0nY2h1bmsxNSc+CisgICAgICA8bGV0dGVyIG5hbWU9J2YnPgorICAgICAgICA8d29yZCBuYW1lPSdmVFAnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUENvbm5lY3RUbycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2ZhY2UnPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX01BWF9OQU1FX0xFTkdUSCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2ZhY2V0Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0ZBQ0VUX0NPTExBUFNFJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19GQUNFVF9QUkVTRVJWRScvPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfRkFDRVRfUkVQTEFDRScvPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfRkFDRVRfVU5LTk9XTicvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFNjaGVtYUZhY2V0TGluaycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hQ2hlY2tGYWNldCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hRnJlZUZhY2V0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFHZXRGYWNldFZhbHVlQXNVTG9uZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hSXNCdWlsdEluVHlwZUZhY2V0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0V2h0c3AnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXRXaHRzcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRhdGVMaXN0U2ltcGxlVHlwZUZhY2V0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZmFjZXRzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfRkFDRVRTTkVFRFZBTFVFJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX0hBU19GQUNFVFMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfTk9STVZBTFVFTkVFREVEJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sU2NoZW1hVHlwZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hQ2hlY2tGYWNldCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2ZhY2lsaXR5Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEV4cEN0eHROYkNvbnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEV4cEN0eHROYk5vZGVzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZmFpbCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDMTRORG9jRHVtcE1lbW9yeScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQzE0TkRvY1NhdmUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEMxNE5Eb2NTYXZlVG8nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEMxNE5FeGVjdXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTaGVsbFByaW50WFBhdGhFcnJvcicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2ZhaWxlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGFyRW5jb2RpbmdJbnB1dEZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoYXJFbmNvZGluZ091dHB1dEZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBDb25uZWN0VG8nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBDd2QnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBEZWxlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZW1vdmVJRCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVtb3ZlUmVmJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTaGVsbExvYWQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhJbmNsdWRlUHJvY2VzcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWEluY2x1ZGVQcm9jZXNzRmxhZ3MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhJbmNsdWRlUHJvY2Vzc0ZsYWdzRGF0YScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWEluY2x1ZGVQcm9jZXNzTm9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWEluY2x1ZGVQcm9jZXNzVHJlZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWEluY2x1ZGVQcm9jZXNzVHJlZUZsYWdzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYSW5jbHVkZVByb2Nlc3NUcmVlRmxhZ3NEYXRhJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENvbXBhcmVWYWx1ZXMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdmYWlscyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdVVEY4VG9IdG1sJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdVVEY4VG9pc29sYXQxJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdfaHRtbEVsZW1EZXNjJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdkb2NiRW5jb2RlRW50aXRpZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxFbmNvZGVFbnRpdGllcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2Fub25pY1BhdGgnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoYXJFbmNGaXJzdExpbmUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoYXJFbmNJbkZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoYXJFbmNPdXRGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGVja0ZpbGVuYW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxGaWxlT3BlbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGF0aFRvVVJJJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZmFsbGJhY2snPgorICAgICAgICAgIDxyZWYgbmFtZT0nWElOQ0xVREVfRkFMTEJBQ0snLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2RvY2JTQVhQYXJzZURvYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0nZG9jYlNBWFBhcnNlRmlsZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbFNBWFBhcnNlRG9jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sU0FYUGFyc2VGaWxlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxGaWxlT3BlbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYUGFyc2VEb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWFBhcnNlRW50aXR5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVhQYXJzZUZpbGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWFBhcnNlRmlsZVdpdGhEYXRhJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVhQYXJzZU1lbW9yeScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYUGFyc2VNZW1vcnlXaXRoRGF0YScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2Zhcic+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sUGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nZmF0YWxFcnJvclNBWEZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUlzVmFsaWQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdmYXNoaW9uJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld1JNdXRleCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2Zhc3QnPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbEluaXRBdXRvQ2xvc2UnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdmYXN0ZXInPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbE5vZGVTdGF0dXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0ckVxdWFsJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZmF0YWwnPgorICAgICAgICAgIDxyZWYgbmFtZT0nZmF0YWxFcnJvclNBWEZ1bmMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdmYXRhbEVycm9yJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2ZhdGFsRXJyb3JTQVhGdW5jJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZmF2b3InPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3RWxlbWVudENvbnRlbnQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdmZWF0dXJlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9NQVhfRElDVElPTkFSWV9MSU1JVCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX01BWF9OQU1FX0xFTkdUSCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX01BWF9URVhUX0xFTkdUSCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0RmVhdHVyZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0RmVhdHVyZXNMaXN0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNGZWF0dXJlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTZXRGZWF0dXJlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZmVhdHVyZXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0RmVhdHVyZXNMaXN0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZmVkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENyZWF0ZVB1c2hQYXJzZXJDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdUZXh0UmVhZGVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdUZXh0UmVhZGVyRmlsZW5hbWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cmVhbVB1c2hOb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJlYW1XYW50c0FueU5vZGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdmZWVkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJTZXR1cCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2ZldGNoJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBHZXRTb2NrZXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBPcGVuJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUEZldGNoJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZmV0Y2hpbmcnPgorICAgICAgICAgIDxyZWYgbmFtZT0nZG9jYkNyZWF0ZVB1c2hQYXJzZXJDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENyZWF0ZVB1c2hQYXJzZXJDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVVEY4U3RycG9zJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZmllbGQnPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX0NPTVBMRVRFX0FUVFJTJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfQ1RYVF9GSU5JU0hfRFREXzAnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9DVFhUX0ZJTklTSF9EVERfMScvPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX0RFVEVDVF9JRFMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TS0lQX0lEUycvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbEVycm9yJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZU1pc2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhJbmNsdWRlUHJvY2Vzc0ZsYWdzRGF0YScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWEluY2x1ZGVQcm9jZXNzVHJlZUZsYWdzRGF0YScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhPcmRlckRvY0VsZW1zJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZmllbGRzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQVgyX01BR0lDJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdfaHRtbEVsZW1EZXNjJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sUGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFNBWEhhbmRsZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlVVJJUmVmZXJlbmNlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZmlsZXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUExpc3QnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdmaWxlc3lzdGVtJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxDdHh0UmVhZEZpbGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxSZWFkRmlsZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2Fub25pY1BhdGgnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEN0eHRSZWFkRmlsZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGF0aFRvVVJJJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWFkRmlsZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVhZGVyRm9yRmlsZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVhZGVyTmV3RmlsZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2ZpbGxlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHZXRGZWF0dXJlc0xpc3QnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdmaWxscyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVVSSVJlZmVyZW5jZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2ZpbHRlcnMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbmNvZGluZ0RlY2wnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdmaW5hbCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX0ZJTkFMX0RFRkFVTFQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfRklOQUxfRVhURU5TSU9OJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX0ZJTkFMX0xJU1QnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfRklOQUxfUkVTVFJJQ1RJT04nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfRklOQUxfVU5JT04nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhU2V0RmluYWxTdGF0ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnVpbGRVUkknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlZ0V4ZWNQdXNoU3RyaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWdFeGVjUHVzaFN0cmluZzInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlRG9jdW1lbnRGaW5hbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVEdGRGaW5hbCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2ZpbmFsRGVmYXVsdCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19GSU5BTF9ERUZBVUxUX0VYVEVOU0lPTicvPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfRklOQUxfREVGQVVMVF9MSVNUJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19GSU5BTF9ERUZBVUxUX1JFU1RSSUNUSU9OJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19GSU5BTF9ERUZBVUxUX1VOSU9OJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZmluZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHZXRUaHJlYWRJZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSXNYSFRNTCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRpdHlMb2NhdG9yRnVuYycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2ZpbmRpbmcnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUFNjYW5Qcm94eScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUFVwZGF0ZVVSTCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0hUVFBTY2FuUHJveHknLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdmaW5kcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTZWFyY2hOcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2VhcmNoTnNCeUhyZWYnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdmaW5pc2hEdGQnPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX0NUWFRfRklOSVNIX0RURF8wJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfQ1RYVF9GSU5JU0hfRFREXzEnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdmaW5pc2hlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sVmFsaWRDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDbGVhbnVwUGFyc2VyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTa2lwQmxhbmtDaGFycycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckN1cnJlbnREb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJQcmVzZXJ2ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclByZXNlcnZlUGF0dGVybicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2ZpbmlzaGluZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCeXRlQ29uc3VtZWQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdmaW5pdGUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRXhwUGFyc2UnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdmaXJzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoYXJFbmNPdXRGdW5jJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZmlzdCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFbnRpdHlSZWZlcmVuY2VGdW5jJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZml0Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoYXJFbmNGaXJzdExpbmUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoYXJFbmNJbkZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoYXJFbmNPdXRGdW5jJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZml4ZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfQVRUUl9GSVhFRCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfRUxFTV9GSVhFRCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VEZWZhdWx0RGVjbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hR2V0Q2Fub25WYWx1ZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2ZpeHVwJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfRklYVVBfMScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2ZsYWcnPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfRUxFTV9DSVJDVUxBUicvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbFNldE1ldGFFbmNvZGluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0naW5pdHhtbERlZmF1bHRTQVhIYW5kbGVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVgySW5pdERlZmF1bHRTQVhIYW5kbGVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVySXNWYWxpZCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2ZsYWdnZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX2h0bWxFbGVtRGVzYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbEdldE1ldGFFbmNvZGluZycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2ZsYWdzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfVkFSSUVUWV9BQlNFTlQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxYUGF0aENvbnRleHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERPTVdyYXBBZG9wdE5vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERPTVdyYXBDbG9uZU5vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERPTVdyYXBSZWNvbmNpbGVOYW1lc3BhY2VzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXR0ZXJuY29tcGlsZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVhZGVyRm9yRG9jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWFkZXJGb3JGZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVhZGVyRm9yRmlsZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVhZGVyRm9ySU8nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlYWRlckZvck1lbW9yeScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVhZGVyTmV3RG9jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWFkZXJOZXdGZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVhZGVyTmV3RmlsZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVhZGVyTmV3SU8nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlYWRlck5ld01lbW9yeScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVsYXhQYXJzZXJTZXRGbGFnJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYSW5jbHVkZVNldEZsYWdzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZmxhdCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJpbmdHZXROb2RlTGlzdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyaW5nTGVuR2V0Tm9kZUxpc3QnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdmbG9vcic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEZsb29yRnVuY3Rpb24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdmbG93Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjYW5OYW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFTQVhQbHVnJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFTQVhVbnBsdWcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbGlkYXRlU2V0TG9jYXRvcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRhdGVTdHJlYW0nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdmbHVzaGVkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJFbmREb2N1bWVudCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2ZsdXNoZXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sT3V0cHV0QnVmZmVyQ2xvc2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dEJ1ZmZlckZsdXNoJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZm9sbG93Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhTmV3TmVnVHJhbnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm9kZVRyYWlsaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vZGVUcmFpbGluZ1NvcnRlZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhTdWJzdHJpbmdGdW5jdGlvbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhUcmFpbGluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhUcmFpbGluZ1NvcnRlZCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2ZvbGxvd2VkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoZWNrTGFuZ3VhZ2VJRCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2ZvbGxvd2luZy1zaWJsaW5nJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV4dEZvbGxvd2luZ1NpYmxpbmcnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdmb2xsb3dzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoU3RyaW5nRnVuY3Rpb24nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoU3Vic3RyaW5nQWZ0ZXJGdW5jdGlvbicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2ZvbGxvd3M6Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQXR0VmFsdWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQm9vbGVhbkZ1bmN0aW9uJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFN0cmluZ0Z1bmN0aW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZm9uY3Rpb25uYWxpdGllcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJbnB1dE1hdGNoQ2FsbGJhY2snLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dE1hdGNoQ2FsbGJhY2snLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdmb3I6Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUdldENhbm9uVmFsdWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ29udGV4dFNldENhY2hlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZm9yYmlkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9YUEFUSF9OT1ZBUicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2ZvcmNlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEtlZXBCbGFua3NEZWZhdWx0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTZXRHZW5lcmljRXJyb3JGdW5jJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZm9yY2VkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkR2V0VmFsaWRFbGVtZW50cycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2Zvcm0nPgorICAgICAgICAgIDxyZWYgbmFtZT0nZG9jYlBhcnNlRG9jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdkb2NiUGFyc2VGaWxlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdkb2NiU0FYUGFyc2VEb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2RvY2JTQVhQYXJzZUZpbGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxDcmVhdGVGaWxlUGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbFBhcnNlRG9jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sUGFyc2VGaWxlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sU0FYUGFyc2VEb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxTQVhQYXJzZUZpbGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVMaXN0R2V0UmF3U3RyaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlTGlzdEdldFN0cmluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGF0dGVybmNvbXBpbGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoU3RyaW5nRnVuY3Rpb24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdmb3JtYWwnPgorICAgICAgICAgIDxyZWYgbmFtZT0nTElCWE1MX0VYUFJfRU5BQkxFRCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2Zvcm1hdHRlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRBdHRyaWJ1dGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdEF0dHJpYnV0ZU5TJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRDREFUQScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFREJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVERBdHRsaXN0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVERFbGVtZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVERJbnRlcm5hbEVudGl0eScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RWxlbWVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RWxlbWVudE5TJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRQSScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0UmF3Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRTdHJpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRBdHRyaWJ1dGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRBdHRyaWJ1dGVOUycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdENEQVRBJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFREJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFREQXR0bGlzdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREVsZW1lbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVERJbnRlcm5hbEVudGl0eScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEVsZW1lbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRFbGVtZW50TlMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRQSScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdFJhdycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdFN0cmluZycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2Zvcm1hdHRpbmcnPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbERvY0NvbnRlbnREdW1wRm9ybWF0T3V0cHV0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sRG9jRHVtcE1lbW9yeUZvcm1hdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbE5vZGVEdW1wJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sTm9kZUR1bXBGaWxlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sTm9kZUR1bXBGaWxlRm9ybWF0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sTm9kZUR1bXBGb3JtYXRPdXRwdXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxOb2RlRHVtcE91dHB1dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbFNhdmVGaWxlRW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sU2F2ZUZpbGVGb3JtYXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ1Zk5vZGVEdW1wJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEb2NEdW1wRm9ybWF0TWVtb3J5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEb2NEdW1wRm9ybWF0TWVtb3J5RW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEb2NGb3JtYXREdW1wJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlRHVtcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUR1bXBPdXRwdXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNhdmVGb3JtYXRGaWxlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTYXZlRm9ybWF0RmlsZUVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2F2ZUZvcm1hdEZpbGVUbycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyUHJpbnRmJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJWUHJpbnRmJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZm9ybWVkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxQYXJzZXJDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sU0FYUGFyc2VEb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxTQVhQYXJzZUZpbGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQ3R4dEV4dGVybmFsRW50aXR5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUV4dGVybmFsRW50aXR5Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZm9yd2FyZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZVN0cmVhbScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2ZwdHInPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX0NBU1RfRlBUUicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2ZyYWdtZW50Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxVUkknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld0RvY0ZyYWdtZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVVSSScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUHVzaElucHV0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZnJhZ21lbnRzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlVVJJUmF3Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZnJlZWluZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDYW5vbmljUGF0aCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySW5wdXREZWFsbG9jYXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXRoVG9VUkknLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdmcmVlcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWZmZXJGcmVlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENvbnRleHRTZXRDYWNoZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2Zyb250Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlTkNOYW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZU5NVG9rZW4nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlTmFtZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVRTmFtZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2Zyb250LWVuZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGFyRW5jQ2xvc2VGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGFyRW5jSW5GdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGFyRW5jT3V0RnVuYycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2Z0cDonPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUE9wZW4nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBTY2FuUHJveHknLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdmdHBfcHJveHknPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUFByb3h5Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZnRwX3Byb3h5X3Bhc3N3b3JkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBQcm94eScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2Z0cF9wcm94eV91c2VyJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBQcm94eScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2Z1bGwnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbEVudGl0eScvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFhQYXRoUGFyc2VyQ29udGV4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbEF0dHJBbGxvd2VkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bGlua0lzTGluaycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFNjYW5uZXJGdWxsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HVmFsaWRhdGVGdWxsRWxlbWVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVsYXhOR1ZhbGlkYXRlUHVzaEVsZW1lbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNhdmVEb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNoZWxsUHdkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTcGxpdFFOYW1lMicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3BsaXRRTmFtZTMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJFeHBhbmQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVSSVVuZXNjYXBlU3RyaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVVEY4U3RybGVuJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZnVsbHknPgorICAgICAgICAgIDxyZWYgbmFtZT0nX2h0bWxFbGVtRGVzYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2F2ZURvYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2F2ZVRyZWUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdmdW5jJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxYUGF0aENvbnRleHQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdmdW5jcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sWFBhdGhDb250ZXh0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZnVuY3Rpb246Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRGlmZmVyZW5jZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhEaXN0aW5jdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhEaXN0aW5jdFNvcnRlZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhIYXNTYW1lTm9kZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoSW50ZXJzZWN0aW9uJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aExlYWRpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTGVhZGluZ1NvcnRlZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb2RlTGVhZGluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb2RlTGVhZGluZ1NvcnRlZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb2RlVHJhaWxpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm9kZVRyYWlsaW5nU29ydGVkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFRyYWlsaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFRyYWlsaW5nU29ydGVkJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZnVuY3Rpb25hbGl0eSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdHbG9iYWxOcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb2RlU2V0R2V0TGVuZ3RoJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vZGVTZXRJdGVtJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZnVuY3Rpb25zJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxDdHh0UmVhZElPJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sUmVhZElPJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDMTRORG9jRHVtcE1lbW9yeScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ3R4dFJlYWRJTycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2NNZW1HZXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdjTWVtU2V0dXAnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE1lbUdldCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTWVtU2V0dXAnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlYWRJTycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVhZGVyRm9ySU8nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlYWRlck5ld0lPJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HR2V0VmFsaWRFcnJvcnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4TkdTZXRQYXJzZXJFcnJvcnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4TkdTZXRQYXJzZXJTdHJ1Y3R1cmVkRXJyb3JzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HU2V0VmFsaWRFcnJvcnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4TkdTZXRWYWxpZFN0cnVjdHVyZWRFcnJvcnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUdldFZhbGlkRXJyb3JzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFTZXRQYXJzZXJFcnJvcnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVNldFBhcnNlclN0cnVjdHVyZWRFcnJvcnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVNldFZhbGlkRXJyb3JzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFTZXRWYWxpZFN0cnVjdHVyZWRFcnJvcnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYXRyb25TZXRWYWxpZFN0cnVjdHVyZWRFcnJvcnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNoZWxsQ21kJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTd2l0Y2hFbmNvZGluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3dpdGNoSW5wdXRFbmNvZGluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3dpdGNoVG9FbmNvZGluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhSZWdpc3RlckFsbEZ1bmN0aW9ucycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhSZWdpc3RlcmVkRnVuY3NDbGVhbnVwJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZnVydGhlcic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUF0dFZhbHVlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdG9wUGFyc2VyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZEN0eHROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWEluY2x1ZGVTZXRGbGFncycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2Z1dHVyZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sRE9NV3JhcEN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoZWNrTGFuZ3VhZ2VJRCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRhdGVGaWxlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgIDwvbGV0dGVyPgorICAgIDwvY2h1bms+CisgICAgPGNodW5rIG5hbWU9J2NodW5rMTYnPgorICAgICAgPGxldHRlciBuYW1lPSdnJz4KKyAgICAgICAgPHdvcmQgbmFtZT0nZ0RheSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFHZXRDYW5vblZhbHVlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZ01vbnRoJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUdldENhbm9uVmFsdWUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdnTW9udGhEYXknPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hR2V0Q2Fub25WYWx1ZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2dZZWFyJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUdldENhbm9uVmFsdWUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdnWWVhck1vbnRoJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUdldENhbm9uVmFsdWUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdnYXJhbnRlZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVVRGOFN0cnNpemUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdnYXJiYWdlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdjTWVtR2V0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHY01lbVNldHVwJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZ2NjJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9DQVNUX0ZQVFInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdnY2M0Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9DQVNUX0ZQVFInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdnZW5DaFJhbmdlcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJc0Jhc2VDaGFyUScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSXNCYXNlQ2hhcl9jaCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSXNCbGFua1EnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbElzQmxhbmtfY2gnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbElzQ2hhclEnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbElzQ2hhcl9jaCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSXNDb21iaW5pbmdRJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJc0RpZ2l0UScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSXNEaWdpdF9jaCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSXNFeHRlbmRlclEnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbElzRXh0ZW5kZXJfY2gnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbElzSWRlb2dyYXBoaWNRJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJc1B1YmlkQ2hhclEnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbElzUHViaWRDaGFyX2NoJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZ2VuZXJhbCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU1VCU1RJVFVURV9CT1RIJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU1VCU1RJVFVURV9SRUYnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoYXJFbmNGaXJzdExpbmUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoYXJFbmNJbkZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoYXJFbmNPdXRGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUN0eHRFeHRlcm5hbEVudGl0eScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbnRpdHlSZWYnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRXh0UGFyc2VkRW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUV4dGVybmFsRW50aXR5Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZ2VuZXJhbGx5Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWERlZmF1bHRWZXJzaW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZ2VuZXJhdGUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRG9jRHVtcEZvcm1hdE1lbW9yeUVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRG9jRHVtcE1lbW9yeUVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSGFzaEFkZEVudHJ5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoQWRkRW50cnkyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoQWRkRW50cnkzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxMb2FkRXh0ZXJuYWxFbnRpdHknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRXh0ZXJuYWxJRCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2dlbmVyYXRlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEb2NEdW1wRm9ybWF0TWVtb3J5RW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEb2NEdW1wTWVtb3J5RW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJc0Jhc2VDaGFyUScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSXNCYXNlQ2hhcl9jaCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSXNCbGFua1EnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbElzQmxhbmtfY2gnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbElzQ2hhclEnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbElzQ2hhcl9jaCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSXNDb21iaW5pbmdRJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJc0RpZ2l0UScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSXNEaWdpdF9jaCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSXNFeHRlbmRlclEnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbElzRXh0ZW5kZXJfY2gnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbElzSWRlb2dyYXBoaWNRJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJc1B1YmlkQ2hhclEnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbElzUHViaWRDaGFyX2NoJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxLZWVwQmxhbmtzRGVmYXVsdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2VhcmNoTnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNoZWxsUHJpbnRYUGF0aFJlc3VsdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlcklzRGVmYXVsdCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2dlbmVyYXRlcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWdleHBFeGVjJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZ2VuZXJhdGluZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEb2NEdW1wRm9ybWF0TWVtb3J5RW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEb2NEdW1wTWVtb3J5RW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFeHBFeHBEZXJpdmUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEtlZXBCbGFua3NEZWZhdWx0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWdFeGVjRXJySW5mbycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2dlbmVyaWMnPgorICAgICAgICAgIDxyZWYgbmFtZT0naW5pdEdlbmVyaWNFcnJvckRlZmF1bHRGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTaGVsbENtZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2hlbGxSZWFkbGluZUZ1bmMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdnZXQnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFNBWEhhbmRsZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxTQVhIYW5kbGVyVjEnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2ZhdGFsRXJyb3JTQVhGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWZVc2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ1ZmZlckxlbmd0aCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2F0YWxvZ0dldERlZmF1bHRzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHZXRDb21wcmVzc01vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldERvY0NvbXByZXNzTW9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0Tm9Oc1Byb3AnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldE5zUHJvcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0UHJvcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFtZXNwYWNlUGFyc2VRTmFtZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUEluaXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld1BJJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTcGxpdFFOYW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTcGxpdFFOYW1lMicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckN1cnJlbnREb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJDdXJyZW50Tm9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckdldFBhcnNlclByb3AnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJHZXRSZW1haW5kZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlTm90YXRpb25EZWNsJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZ2llJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ1ZmZlckRldGFjaCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2dpZic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWlsZFJlbGF0aXZlVVJJJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZ2l2ZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sUGFyc2VySW5wdXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxTY2hlbWEnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlRHRkJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZ2l2ZXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VyRXJyb3InLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlclZhbGlkaXR5RXJyb3InLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlclZhbGlkaXR5V2FybmluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VyV2FybmluZycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2dpdmluZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdEb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlVmVyc2lvbk51bScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2dsb2JhbCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19FTEVNX0dMT0JBTCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfVFlQRV9HTE9CQUwnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxOcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0nZ2xvYmFsTmFtZXNwYWNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDYXRhbG9nRHVtcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2xlYW51cFBhcnNlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ3R4dFJlc2V0TGFzdEVycm9yJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFbmNvZGVFbnRpdGllc1JlZW50cmFudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRW5jb2RlU3BlY2lhbENoYXJzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHZXRHbG9iYWxTdGF0ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0TGFzdEVycm9yJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJbml0aWFsaXplR2xvYmFsU3RhdGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlc2V0TGFzdEVycm9yJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZ2xvYmFsbHknPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYRGVmYXVsdFZlcnNpb24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdnbnUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlck5vZGVUeXBlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZ29vZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyR2V0UmVtYWluZGVyJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZ3JhZnRlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDb3B5UHJvcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ29weVByb3BMaXN0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZ3JhbW1hcjonPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlSZWNvdmVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUluTm9kZUNvbnRleHQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdncmVhdGVyJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ29tcGFyZVZhbHVlcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhGbG9vckZ1bmN0aW9uJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFN1YnN0cmluZ0Z1bmN0aW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZ3JlYXRlci10aGFuJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld1RleHRDaGlsZCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2dyb3VwJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0FUVFJHUk9VUF9IQVNfUkVGUycvPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfQVRUUkdST1VQX01BUktFRCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfQVRUUkdST1VQX1JFREVGSU5FRCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfRUxFTV9GSU5BTF9BQlNFTlQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0VMRU1fRklOQUxfRVhURU5TSU9OJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19FTEVNX0ZJTkFMX1JFU1RSSUNUSU9OJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19FTEVNX1NVQlNUX0dST1VQX0hFQUQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxTY2hlbWFBdHRyaWJ1dGVHcm91cCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFNjaGVtYUVsZW1lbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2Z0cExpc3RDYWxsYmFjaycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2dyb3Vwcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVsZW1lbnRDaGlsZHJlbkNvbnRlbnREZWNsJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZ3Jvdyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZEdldFZhbGlkRWxlbWVudHMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdncm93cyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWZmZXJXcml0ZUNIQVInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ1ZmZlcldyaXRlQ2hhcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnVmZmVyV3JpdGVRdW90ZWRTdHJpbmcnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdndWFyYW50ZWUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTW9kdWxlT3BlbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTW9kdWxlU3ltYm9sJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nZ3VhcmFudGVlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxNb2R1bGVPcGVuJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxNb2R1bGVTeW1ib2wnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdndWVzcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDbGVhbnVwUGFyc2VyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDbGVhbnVwVGhyZWFkcycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICA8L2xldHRlcj4KKyAgICAgIDxsZXR0ZXIgbmFtZT0naCc+CisgICAgICAgIDx3b3JkIG5hbWU9J2hhZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdHbG9iYWxOcycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2hhbmQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTG9hZEFDYXRhbG9nJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0naGFuZGxlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxMb2FkQUNhdGFsb2cnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQXR0VmFsdWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQXR0cmlidXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZURlZmF1bHREZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVsZW1lbnRDb250ZW50RGVjbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VQRVJlZmVyZW5jZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySGFuZGxlUEVSZWZlcmVuY2UnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdoYW5kbGVycyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bGlua1NldERlZmF1bHRIYW5kbGVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDbGVhbnVwQ2hhckVuY29kaW5nSGFuZGxlcnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlZ2lzdGVyRGVmYXVsdElucHV0Q2FsbGJhY2tzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWdpc3RlckRlZmF1bHRPdXRwdXRDYWxsYmFja3MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJTZXRFcnJvckhhbmRsZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJTZXRTdHJ1Y3R1cmVkRXJyb3JIYW5kbGVyJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0naGFuZGxlcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTYXZlRmlsZVRvJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTYXZlRm9ybWF0RmlsZVRvJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVbnNldFByb3AnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoU3RyaW5nRXZhbE51bWJlcicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2hhbmRsaW5nJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0ZBQ0VUX1VOS05PV04nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2F0dHJpYnV0ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0nYXR0cmlidXRlU0FYRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbEhhbmRsZU9taXR0ZWRFbGVtJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGlsZEVsZW1lbnRDb3VudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRmlyc3RFbGVtZW50Q2hpbGQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEhhbmRsZUVudGl0eScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTGFzdEVsZW1lbnRDaGlsZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFtZXNwYWNlUGFyc2VOQ05hbWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbWVzcGFjZVBhcnNlTlNEZWYnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbWVzcGFjZVBhcnNlUU5hbWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5leHRFbGVtZW50U2libGluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUxpc3RHZXRSYXdTdHJpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRGVmYXVsdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySGFuZGxlUEVSZWZlcmVuY2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlckhhbmRsZVJlZmVyZW5jZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFByZXZpb3VzRWxlbWVudFNpYmxpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlZ05ld0V4ZWNDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWdpc3RlcklucHV0Q2FsbGJhY2tzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWdpc3Rlck91dHB1dENhbGxiYWNrcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2V0R2VuZXJpY0Vycm9yRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2V0U3RydWN0dXJlZEVycm9yRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhQb3BCb29sZWFuJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFBvcEV4dGVybmFsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFBvcE5vZGVTZXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoUG9wTnVtYmVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFBvcFN0cmluZycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2hhcmQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2xlYW51cFBhcnNlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2xlYW51cFRocmVhZHMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdoYXMtc2FtZS1ub2Rlcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEhhc1NhbWVOb2RlcycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2hheXN0YWNrJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cmNhc2VzdHInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cnN0cicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3Ryc3ViJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0naGVhZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19FTEVNX1NVQlNUX0dST1VQX0hFQUQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxQYXJzZXJDdHh0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0naGVhZGVyJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9IVFRQQXV0aEhlYWRlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0hUVFBDb250ZW50TGVuZ3RoJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUFJlZGlyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVRleHREZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVhNTERlY2wnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdoZWFkZXJzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9IVFRQRW5jb2RpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9IVFRQTWV0aG9kJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUE1ldGhvZFJlZGlyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUE1pbWVUeXBlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0naGVhZGluZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGFyRW5jb2RpbmdPdXRwdXRGdW5jJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0naGVsZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxPdXRwdXRCdWZmZXJHZXRDb250ZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxPdXRwdXRCdWZmZXJHZXRTaXplJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0naGVscGVyJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0VMRU1fQ0lSQ1VMQVInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdoZXJlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxYUGF0aENvbnRleHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxOb2RlU3RhdHVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUF0dFZhbHVlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVsZW1lbnRDb250ZW50RGVjbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VOYW1lc3BhY2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV4dEFuY2VzdG9yT3JTZWxmJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0naGV1cmlzdGljJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEtlZXBCbGFua3NEZWZhdWx0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVUklFc2NhcGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdoZXVyaXN0aWM6Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbElzUmVmJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0naGV4Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVSSUVzY2FwZVN0cicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2hpZXJhcmNoeSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVsZW1lbnRDaGlsZHJlbkNvbnRlbnREZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFHZXRCdWlsdEluTGlzdFNpbXBsZVR5cGVJdGVtVHlwZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2hpZ2hseSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sUGFyc2VFbGVtZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVsZW1lbnQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdob2xkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERPTVdyYXBSZWNvbmNpbGVOYW1lc3BhY2VzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdUZXh0V3JpdGVyRG9jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdUZXh0V3JpdGVyUHVzaFBhcnNlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVjb25jaWxpYXRlTnMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdob2xkaW5nJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxBdHRyaWJ1dGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxJRCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFJlZicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQWRkSUQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEFkZFJlZicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3TnNQcm9wJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdOc1Byb3BFYXROYW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdQcm9wJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0naG9sZHMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnVmZmVyV3JpdGVRdW90ZWRTdHJpbmcnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdob29rcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdMSUJYTUxfVEhSRUFEX0FMTE9DX0VOQUJMRUQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdob3N0Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBQcm94eScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUFNjYW5Qcm94eScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUFVwZGF0ZVVSTCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0hUVFBTY2FuUHJveHknLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdob3N0aW5nJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRnVuY0xvb2t1cEZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm9kZVNldEFkZE5zJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFZhcmlhYmxlTG9va3VwRnVuYycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2hvc3RuYW1lJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBJbml0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vRlRQVXBkYXRlVVJMJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0naG91cic+CisgICAgICAgICAgPHJlZiBuYW1lPSdmdHBMaXN0Q2FsbGJhY2snLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdob3cnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbEVycm9yJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEaWN0R2V0VXNhZ2UnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdocmVmJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hJTkNMVURFX0hSRUYnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdocmVmPT1OVUxMJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld05zJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0naHJlZnMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neGxpbmtFeHRlbmRlZExpbmtGdW5rJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bGlua0V4dGVuZGVkTGlua1NldEZ1bmsnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdodG1sJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ1aWxkUmVsYXRpdmVVUkknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJOb2RlVHlwZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2h0bWxBdHRyQWxsb3dlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sTm9kZVN0YXR1cycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2h0bWxFbGVtRGVzY1B0cic+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sVGFnTG9va3VwJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0naHRtbEVsZW1lbnRBbGxvd2VkSGVyZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sTm9kZVN0YXR1cycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2h0bWxFbGVtZW50U3RhdHVzSGVyZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sTm9kZVN0YXR1cycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2h0bWxFbnRpdHlEZXNjUHRyJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxFbnRpdHlMb29rdXAnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxFbnRpdHlWYWx1ZUxvb2t1cCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbFBhcnNlRW50aXR5UmVmJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0naHRtbE5vZGVQdHInPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbE5vZGVTdGF0dXMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdodG1sUGFyc2VyQ3R4dFB0cic+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sTmV3UGFyc2VyQ3R4dCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2h0bWxQYXJzZXJPcHRpb24nPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbEN0eHRSZWFkRG9jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sQ3R4dFJlYWRGZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbEN0eHRSZWFkRmlsZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbEN0eHRSZWFkSU8nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxDdHh0UmVhZE1lbW9yeScvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbEN0eHRVc2VPcHRpb25zJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sUmVhZERvYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbFJlYWRGZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbFJlYWRGaWxlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sUmVhZElPJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sUmVhZE1lbW9yeScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2h0bWxTdGFydENsb3NlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxBdXRvQ2xvc2VUYWcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxJc0F1dG9DbG9zZWQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdodG1sU3RhcnRDbG9zZUluZGV4Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxJbml0QXV0b0Nsb3NlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0naHR0cDonPgorICAgICAgICAgIDxyZWYgbmFtZT0nWElOQ0xVREVfTlMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hJTkNMVURFX09MRF9OUycvPgorICAgICAgICAgIDxyZWYgbmFtZT0nZ2V0U3lzdGVtSWQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ1aWxkUmVsYXRpdmVVUkknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEMxNE5Eb2NEdW1wTWVtb3J5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDMTRORG9jU2F2ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQzE0TkRvY1NhdmVUbycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQzE0TkV4ZWN1dGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoZWNrTGFuZ3VhZ2VJRCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0Q2hhckVuY29kaW5nTmFtZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0hUVFBTY2FuUHJveHknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlckhhbmRsZVBFUmVmZXJlbmNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJIYW5kbGVSZWZlcmVuY2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWDJHZXRTeXN0ZW1JZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hR2V0UHJlZGVmaW5lZFR5cGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJOb2RlVHlwZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhJc0luZicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhJc05hTicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2h1bWFuLXJlYWRhYmxlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxFcnJvcicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICA8L2xldHRlcj4KKyAgICA8L2NodW5rPgorICAgIDxjaHVuayBuYW1lPSdjaHVuazE3Jz4KKyAgICAgIDxsZXR0ZXIgbmFtZT0naSc+CisgICAgICAgIDx3b3JkIG5hbWU9J2kteHh4Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoZWNrTGFuZ3VhZ2VJRCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2ljb252Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0xJQlhNTF9JQ09OVl9FTkFCTEVEJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdMSUJYTUxfSVNPODg1OVhfRU5BQkxFRCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2ljdSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdMSUJYTUxfSUNVX0VOQUJMRUQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdpZGVudGlmeSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUF0dHJpYnV0ZVR5cGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdpZGVudGl0aWVyJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9NQVhfTkFNRV9MRU5HVEgnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdpZGVudGl0eS1jb25zdHJhaW50Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxTY2hlbWEnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxTY2hlbWFFbGVtZW50Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0naWdub3JhYmxlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2lnbm9yYWJsZVdoaXRlc3BhY2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2lnbm9yYWJsZVdoaXRlc3BhY2VTQVhGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJc0JsYW5rTm9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sS2VlcEJsYW5rc0RlZmF1bHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWDJJZ25vcmFibGVXaGl0ZXNwYWNlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0naWdub3JhYmxlV2hpdGVzcGFjZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxLZWVwQmxhbmtzRGVmYXVsdCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2lnbm9yZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQzE0TkRvY0R1bXBNZW1vcnknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEMxNE5Eb2NTYXZlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDMTRORG9jU2F2ZVRvJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDMTRORXhlY3V0ZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2lnbm9yaW5nJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVSSUVzY2FwZVN0cicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2ltYWdlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEMxNE5Eb2NEdW1wTWVtb3J5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDMTRORG9jU2F2ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQzE0TkRvY1NhdmVUbycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQzE0TkV4ZWN1dGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdpbWJyaWNhdGlvbic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWZOb2RlRHVtcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUR1bXAnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVEdW1wT3V0cHV0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0naW1nJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ1aWxkUmVsYXRpdmVVUkknLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdpbW1lZGlhdGVseSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGVja1ZlcnNpb24nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dEJ1ZmZlcldyaXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxPdXRwdXRCdWZmZXJXcml0ZUVzY2FwZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoU3RyaW5nRnVuY3Rpb24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdpbW11dGFibGUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnVmZmVyQ3JlYXRlU3RhdGljJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWZmZXJEZXRhY2gnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlU3RhdGljJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0naW1wbGVtZW50YXRpb24nPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRnJlZUZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE1hbGxvY0Z1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlYWxsb2NGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJkdXBGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyR2V0UmVtYWluZGVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFJlZ2lzdGVyRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhSZWdpc3RlckZ1bmNOUycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2ltcGxlbWVudGF0aW9uLWRlZmluZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXh0TmFtZXNwYWNlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0naW1wbGVtZW50ZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0nSFRNTF9DT01NRU5UX05PREUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0hUTUxfRU5USVRZX1JFRl9OT0RFJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdIVE1MX1BJX05PREUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0hUTUxfUFJFU0VSVkVfTk9ERScvPgorICAgICAgICAgIDxyZWYgbmFtZT0nSFRNTF9URVhUX05PREUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE1vZHVsZU9wZW4nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNhdmVEb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNhdmVUcmVlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFDb3B5VmFsdWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJOZXh0U2libGluZycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2ltcGxpY2l0bHknPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbEF1dG9DbG9zZVRhZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbElzQXV0b0Nsb3NlZCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2ltcGxpZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX2h0bWxFbGVtRGVzYycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2ltcG9zc2libGUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVVJJRXNjYXBlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0naW1wcm92ZXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0QnVmZmVyQWxsb2NhdGlvblNjaGVtZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2V0QnVmZmVyQWxsb2NhdGlvblNjaGVtZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2luLSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJJbnB1dEJ1ZmZlckdyb3cnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdpbi1leHRlbnNvJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE1lbURpc3BsYXknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE1lbW9yeUR1bXAnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdpbi1tZW1vcnknPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbERvYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFBhcnNlckN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2RvY2JQYXJzZURvYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0nZG9jYlNBWFBhcnNlRG9jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sQ3JlYXRlTWVtb3J5UGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbEN0eHRSZWFkRG9jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sQ3R4dFJlYWRNZW1vcnknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxQYXJzZURvYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbFJlYWREb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxSZWFkTWVtb3J5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sU0FYUGFyc2VEb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENyZWF0ZURvY1BhcnNlckN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENyZWF0ZU1lbW9yeVBhcnNlckN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEN0eHRSZWFkRG9jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDdHh0UmVhZE1lbW9yeScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VEb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlTWVtb3J5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWFkRG9jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWFkTWVtb3J5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWFkZXJGb3JEb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlYWRlckZvck1lbW9yeScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVhZGVyTmV3RG9jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWFkZXJOZXdNZW1vcnknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlY292ZXJEb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlY292ZXJNZW1vcnknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWFBhcnNlRG9jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVhQYXJzZU1lbW9yeScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYUGFyc2VNZW1vcnlXaXRoRGF0YScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYVXNlclBhcnNlTWVtb3J5Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0naW5jYXNlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBDbG9zZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUENsb3NlQ29ubmVjdGlvbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUEN3ZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUERlbGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBHZXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBHZXRDb25uZWN0aW9uJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vRlRQTGlzdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0hUVFBGZXRjaCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0hUVFBTYXZlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0naW5jbCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sU2NoZW1hVHlwZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2luY2x1ZGUnPgorICAgICAgICAgIDxyZWYgbmFtZT0nWElOQ0xVREVfTk9ERScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQzE0TkRvY0R1bXBNZW1vcnknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEMxNE5Eb2NTYXZlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDMTRORG9jU2F2ZVRvJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDMTRORXhlY3V0ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hlY2tWZXJzaW9uJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0TWVyZ2UnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdpbmNsdWRlOic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWlsZFJlbGF0aXZlVVJJJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0naW5jbHVkZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQzE0TkRvY0R1bXBNZW1vcnknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEMxNE5Eb2NTYXZlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDMTRORG9jU2F2ZVRvJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDMTROSXNWaXNpYmxlQ2FsbGJhY2snLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERvY0R1bXBNZW1vcnknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEZyZWVEb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9IVFRQQ29udGVudExlbmd0aCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VOb3RhdGlvblR5cGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdpbmNsdWRlcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sU2NoZW1hJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDbGVhbnVwSW5wdXRDYWxsYmFja3MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENsZWFudXBPdXRwdXRDYWxsYmFja3MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBvcElucHV0Q2FsbGJhY2tzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYSW5jbHVkZVByb2Nlc3NGbGFncycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWEluY2x1ZGVQcm9jZXNzRmxhZ3NEYXRhJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYSW5jbHVkZVByb2Nlc3NUcmVlRmxhZ3MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhJbmNsdWRlUHJvY2Vzc1RyZWVGbGFnc0RhdGEnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhJbmNsdWRlU2V0RmxhZ3MnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdpbmNsdWRpbmcnPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfSU5DTFVESU5HX0NPTlZFUlRfTlMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2F0dHJpYnV0ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0nYXR0cmlidXRlU0FYRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0nZnRwTGlzdENhbGxiYWNrJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdzdGFydEVsZW1lbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3N0YXJ0RWxlbWVudFNBWEZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWDJTdGFydEVsZW1lbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJSZWFkSW5uZXJYbWwnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJSZWFkT3V0ZXJYbWwnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoU3RyaW5nRnVuY3Rpb24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdpbmNsdXNpdmUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQzE0TkRvY0R1bXBNZW1vcnknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEMxNE5Eb2NTYXZlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDMTRORG9jU2F2ZVRvJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDMTRORXhlY3V0ZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2luY3JlYXNlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0R3JvdycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2luY3JlbWVudCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YU5ld0NvdW50ZWRUcmFucycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2luY3JlbWVudGFsJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlRG9jdW1lbnRGaW5hbCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2luZGVudCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyU2V0SW5kZW50Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0naW5kZW50YXRpb24nPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRGVidWdEdW1wQXR0cicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRGVidWdEdW1wQXR0ckxpc3QnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERlYnVnRHVtcE5vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERlYnVnRHVtcE5vZGVMaXN0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEZWJ1Z0R1bXBPbmVOb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxLZWVwQmxhbmtzRGVmYXVsdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlclNldEluZGVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlclNldEluZGVudFN0cmluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhEZWJ1Z0R1bXBDb21wRXhwcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhEZWJ1Z0R1bXBPYmplY3QnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdpbmRlbnRhdGlvbj8nPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlclNldEluZGVudCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2luZGVudGVkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNhdmVGb3JtYXRGaWxlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0naW5kZW50aW5nJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ1Zk5vZGVEdW1wJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEb2NEdW1wRm9ybWF0TWVtb3J5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEb2NEdW1wRm9ybWF0TWVtb3J5RW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEb2NGb3JtYXREdW1wJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlRHVtcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUR1bXBPdXRwdXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNhdmVGb3JtYXRGaWxlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTYXZlRm9ybWF0RmlsZUVuYycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2luZGVwZW5kZW50bHknPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0UHJvcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VBdHRyaWJ1dGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdpbmRleCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdpbmRleCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0naW5wdXRQdXNoJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSduYW1lUHVzaCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nbm9kZVB1c2gnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ5dGVDb25zdW1lZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VyRmluZE5vZGVJbmZvSW5kZXgnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFB1c2hJbnB1dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3Ryc3ViJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyQnl0ZUNvbnN1bWVkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlTm8nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJNb3ZlVG9BdHRyaWJ1dGVObycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb2RlU2V0UmVtb3ZlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyTG9jYXRpb25TZXRSZW1vdmUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQdHJOZXdSYW5nZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2luZGljYXRlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0xJQlhNTF9BVFRSX0FMTE9DX1NJWkUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0xJQlhNTF9BVFRSX0ZPUk1BVCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFeHRlcm5hbElEJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJJbnB1dEdyb3cnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlZ0V4ZWNQdXNoU3RyaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWdFeGVjUHVzaFN0cmluZzInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVSSVVuZXNjYXBlU3RyaW5nJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0naW5kaWNhdGVkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9IVFRQRmV0Y2gnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9IVFRQTWV0aG9kJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUE1ldGhvZFJlZGlyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUE9wZW4nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9IVFRQT3BlblJlZGlyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJlYW1QdXNoJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJlYW1QdXNoQXR0cicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyZWFtUHVzaE5vZGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdpbmRpY2F0ZXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfVFlQRV9GQUNFVFNORUVEVkFMVUUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfSU5URVJOQUxfSU5WQUxJRCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfVFlQRV9JTlRFUk5BTF9SRVNPTFZFRCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfVFlQRV9OT1JNVkFMVUVORUVERUQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEhhc05zUHJvcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUFJlYWQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBTY2FuUHJveHknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBVcGRhdGVVUkwnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9IVFRQQ29udGVudExlbmd0aCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0hUVFBSZWFkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUFNjYW5Qcm94eScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2luZGljYXRpbmcnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VDaGFyRGF0YScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VyRmluZE5vZGVJbmZvSW5kZXgnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNoZWxsQ21kJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyRXJyb3JGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyTm9ybWFsaXphdGlvbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhBeGlzRnVuYycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2luZGljYXRpb24nPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUFJlYWQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9IVFRQUmVhZCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2luZGljYXRpdmUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySW5wdXRCdWZmZXJHcm93Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJJbnB1dEJ1ZmZlclJlYWQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0R3JvdycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySW5wdXRSZWFkJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0naW5kaWNhdG9yJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2RvY2JQYXJzZUNodW5rJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sUGFyc2VDaHVuaycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VDaHVuaycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2luZGlyZWN0Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQXR0cmlidXRlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0naW5kaXJlY3RseSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUF0dHJpYnV0ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VQRVJlZmVyZW5jZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySGFuZGxlUEVSZWZlcmVuY2UnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdpbmZpbml0ZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFeHBFeHBEZXJpdmUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEV4cE5ld1JhbmdlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFeHBQYXJzZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2luZmluaXR5Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ2VpbGluZ0Z1bmN0aW9uJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEZsb29yRnVuY3Rpb24nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoU3RyaW5nRnVuY3Rpb24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdpbmZvJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxQYXJzZXJDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGFyRW5jb2RpbmdPdXRwdXRGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDbGVhck5vZGVJbmZvU2VxJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDb3B5RG9jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJbml0Tm9kZUluZm9TZXEnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE1hbGxvY0F0b21pY0xvYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTWFsbG9jTG9jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxNZW1NYWxsb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE1lbVJlYWxsb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE1lbVN0cmR1cExvYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTWVtb3J5U3RyZHVwJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vRlRQTGlzdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VyQWRkTm9kZUluZm8nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlckZpbmROb2RlSW5mbycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VyRmluZE5vZGVJbmZvSW5kZXgnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlYWxsb2NMb2MnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdpbmZvcm1hdGlvbic+CisgICAgICAgICAgPHJlZiBuYW1lPSdMSUJYTUxfVkVSU0lPTl9FWFRSQScvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbEVycm9yJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEZWJ1Z0R1bXBBdHRyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEZWJ1Z0R1bXBBdHRyTGlzdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRGVidWdEdW1wRFREJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEZWJ1Z0R1bXBEb2N1bWVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRGVidWdEdW1wRG9jdW1lbnRIZWFkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEZWJ1Z0R1bXBFbnRpdGllcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRGVidWdEdW1wTm9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRGVidWdEdW1wTm9kZUxpc3QnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERlYnVnRHVtcE9uZU5vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBVcGRhdGVVUkwnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9IVFRQRmV0Y2gnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9IVFRQTWV0aG9kJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUE1ldGhvZFJlZGlyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUE9wZW4nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9IVFRQT3BlblJlZGlyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdUZXh0UmVhZGVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HR2V0UGFyc2VyRXJyb3JzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFHZXRQYXJzZXJFcnJvcnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbGlkYXRlU2V0RmlsZW5hbWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbGlkYXRlU2V0TG9jYXRvcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRhdGVTdHJlYW0nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbGlkaXR5TG9jYXRvckZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJCeXRlQ29uc3VtZWQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoT3JkZXJEb2NFbGVtcycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2luZm9ybWF0aW9ucyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sQXR0cicvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbERvYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbE5vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxQYXJzZXJDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdlbmRFbGVtZW50TnNTQVgyRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0nc3RhcnRFbGVtZW50TnNTQVgyRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRGVidWdEdW1wU3RyaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFcnJNZW1vcnknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBDbGVhbnVwJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vRlRQSW5pdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUFByb3h5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vRlRQU2NhblByb3h5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUEluaXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9IVFRQU2NhblByb3h5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJQcmludEZpbGVJbmZvJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWdFeGVjRXJySW5mbycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVnRXhlY05leHRWYWx1ZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4TkdHZXRWYWxpZEVycm9ycycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVsYXhOR1NldFZhbGlkRXJyb3JzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheFBhcnNlclNldEZsYWcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWDJFbmRFbGVtZW50TnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWDJTdGFydEVsZW1lbnROcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hR2V0VmFsaWRFcnJvcnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVNldFZhbGlkRXJyb3JzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGl0eUxvY2F0b3JGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTaGVsbERpcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWEluY2x1ZGVQcm9jZXNzTm9kZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2luZm9ybWF0aXZlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxFcnJvcicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2luZm9zJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxQYXJzZXJDdHh0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0naW5oZXJpdGVkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxQYXJzZXJDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sU2NoZW1hVHlwZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRW50aXR5UmVmZXJlbmNlRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUdldFNwYWNlUHJlc2VydmUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV4dEF0dHJpYnV0ZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2luaGVyaXRpbmcnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRGljdENyZWF0ZVN1YicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2luaGVyaXRzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld0NoaWxkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdUZXh0Q2hpbGQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdpbml0aWFsJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxEb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxTY2hlbWFBdHRyaWJ1dGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhR2V0SW5pdFN0YXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWZmZXJDcmVhdGVTaXplJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJbml0Tm9kZUluZm9TZXEnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE1lbVJlYWxsb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE1lbVN0cmR1cExvYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTWVtb3J5U3RyZHVwJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWFsbG9jTG9jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTaGVsbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb2RlU2V0QWRkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vZGVTZXRBZGROcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb2RlU2V0QWRkVW5pcXVlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vZGVTZXRDcmVhdGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm9kZVNldERlbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb2RlU2V0UmVtb3ZlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyTG9jYXRpb25TZXRBZGQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQdHJMb2NhdGlvblNldENyZWF0ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFB0ckxvY2F0aW9uU2V0RGVsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyTG9jYXRpb25TZXRSZW1vdmUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdpbml0aWFsaXNhdGlvbic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJbml0R2xvYmFscycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2luaXRpYWxpemF0aW9uJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEluaXRpYWxpemVDYXRhbG9nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJbml0aWFsaXplRGljdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTG9hZENhdGFsb2cnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbExvYWRDYXRhbG9ncycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYRGVmYXVsdFZlcnNpb24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdpbml0aWFsaXplJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9DT01QTEVURV9BVFRSUycvPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX0RFVEVDVF9JRFMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TS0lQX0lEUycvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbE5ld0RvY05vRHREJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sTmV3UGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ3JlYXRlRW50aXRpZXNUYWJsZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ3JlYXRlRW51bWVyYXRpb24nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEluaXRUaHJlYWRzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJbml0aWFsaXplR2xvYmFsU3RhdGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBOZXdDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vRlRQU2NhblByb3h5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUFNjYW5Qcm94eScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3UGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXdOb2RlU2V0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5ld05vZGVTZXRMaXN0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5ld1ZhbHVlVHJlZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFB0ck5ld0xvY2F0aW9uU2V0Tm9kZVNldCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFB0ck5ld0xvY2F0aW9uU2V0Tm9kZXMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdpbml0aWFsaXplZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0FYMl9NQUdJQycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2luaXRpYWxpemVzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERPTVdyYXBOZXdDdHh0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0naW5pdGlhdGUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hhckVuY091dEZ1bmMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdpbml0aWF0ZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFB0ck5ld0NvbnRleHQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdpbmxpbmUnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX2h0bWxFbGVtRGVzYycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2lubGluZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0ncmVzb2x2ZUVudGl0eScvPgorICAgICAgICAgIDxyZWYgbmFtZT0ncmVzb2x2ZUVudGl0eVNBWEZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWDJSZXNvbHZlRW50aXR5Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0naW5wdXRzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxQYXJzZXJDdHh0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0naW5zZW5zaXRpdmUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VDaGFyRW5jb2RpbmcnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdpbnNlcnQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0naW5zZXJ0ZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQWRkTmV4dFNpYmxpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEFkZFByZXZTaWJsaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBZGRTaWJsaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZXBsYWNlTm9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0naW5zZXJ0aW9uJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxIYW5kbGVPbWl0dGVkRWxlbScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0naW5zcGVjdCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aERlYnVnRHVtcE9iamVjdCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2luc3RhY2UnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hdHJvblZhbGlkYXRlRG9jJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0naW5zdGFsbGVkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERpY3RTaXplJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoU2l6ZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2luc3RhbmNlcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sUGFyc2VySW5wdXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRGVmYXVsdERlY2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4TkdQYXJzZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hUGFyc2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYXRyb25QYXJzZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2luc3RlYWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfRUxFTV9UT1BMRVZFTCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQWRkQ2hpbGQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEFkZE5leHRTaWJsaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBZGRQcmV2U2libGluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnVmU2hyaW5rJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDb3B5RWxlbWVudENvbnRlbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERvY1NldFJvb3RFbGVtZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxGcmVlRWxlbWVudENvbnRlbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbElzQmFzZUNoYXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbElzQmxhbmsnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbElzQ2hhcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSXNDb21iaW5pbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbElzRGlnaXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbElzRXh0ZW5kZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbElzSWRlb2dyYXBoaWMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbElzUHViaWRDaGFyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxLZWVwQmxhbmtzRGVmYXVsdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUR1bXAnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlZ2lzdGVySFRUUFBvc3RDYWxsYmFja3MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNhdmVEb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNhdmVUcmVlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyRXZhbFJhbmdlUHJlZGljYXRlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0naW5zdHJ1Y3Rpb24nPgorICAgICAgICAgIDxyZWYgbmFtZT0nSFRNTF9QSV9OT0RFJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdwcm9jZXNzaW5nSW5zdHJ1Y3Rpb24nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3Byb2Nlc3NpbmdJbnN0cnVjdGlvblNBWEZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld0RvY1BJJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdQSScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYMlByb2Nlc3NpbmdJbnN0cnVjdGlvbicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2luc3VmZmljaWVudCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDYW5vbmljUGF0aCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGF0aFRvVVJJJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0naW50YWN0Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlVVJJUmF3Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0naW50ZWdlcic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHZXRUaHJlYWRJZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyY2FzZWNtcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyY21wJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJuY2FzZWNtcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RybmNtcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDZWlsaW5nRnVuY3Rpb24nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRmxvb3JGdW5jdGlvbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhSb3VuZEZ1bmN0aW9uJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFN0cmluZ0Z1bmN0aW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0naW50ZW5kZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbERPTVdyYXBDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFOZXdTdHJpbmdWYWx1ZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2ludGVuc2l2ZWx5Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERPTVdyYXBBZG9wdE5vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERPTVdyYXBSZWNvbmNpbGVOYW1lc3BhY2VzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwUmVtb3ZlTm9kZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2ludGVyYWN0Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRXh0ZXJuYWxJRCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2ludGVyZmFjZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdMSUJYTUxfUEFUVEVSTl9FTkFCTEVEJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdMSUJYTUxfUkVBREVSX0VOQUJMRUQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0xJQlhNTF9TQVgxX0VOQUJMRUQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0xJQlhNTF9XUklURVJfRU5BQkxFRCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFBhcnNlckN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2RvY2JQYXJzZURvY3VtZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sUGFyc2VEb2N1bWVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VEb2N1bWVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VSZWZlcmVuY2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJDdXJyZW50RG9jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyQ3VycmVudE5vZGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdpbnRlcmZhY2VzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0xJQlhNTF9BVVRPTUFUQV9FTkFCTEVEJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdMSUJYTUxfRVhQUl9FTkFCTEVEJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdMSUJYTUxfTU9EVUxFU19FTkFCTEVEJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdMSUJYTUxfUFVTSF9FTkFCTEVEJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdMSUJYTUxfUkVHRVhQX0VOQUJMRUQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0xJQlhNTF9TQ0hFTUFTX0VOQUJMRUQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0xJQlhNTF9TQ0hFTUFUUk9OX0VOQUJMRUQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0xJQlhNTF9VTklDT0RFX0VOQUJMRUQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbWVzcGFjZVBhcnNlTkNOYW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW1lc3BhY2VQYXJzZU5TRGVmJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW1lc3BhY2VQYXJzZVFOYW1lJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0naW50ZXJuJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJDb25zdFN0cmluZycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2ludGVybmFsbHknPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnVmZmVyV3JpdGVRdW90ZWRTdHJpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEV4cE5ld0N0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4TkdOZXdEb2NQYXJzZXJDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZW1vdmVJRCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVtb3ZlUmVmJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZUZpbGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ29udGV4dFNldENhY2hlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0naW50ZXJuZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGF0dGVybmNvbXBpbGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJDb25zdFN0cmluZycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2ludGVybmluZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDb3B5Tm9kZUxpc3QnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld1BJJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0naW50ZXJvcGVyYWJpbGl0eSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVsZW1lbnRDaGlsZHJlbkNvbnRlbnREZWNsJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0naW50ZXJvcGVyYWJsZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGVja0xhbmd1YWdlSUQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdpbnRlcnByZXN0YXRpb24nPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhGdW5jdGlvbicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2ludGVycHJldGVyJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQXhpc0Z1bmMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdpbnRlcnNlY3Rpb24nPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhJbnRlcnNlY3Rpb24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdpbnRyb2R1Y2VkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0xJQlhNTDJfTkVXX0JVRkZFUicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2ludHMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0TGluZU5vJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0naW52YWxpZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX0lOVEVSTkFMX0lOVkFMSUQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlU0REZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWNvbmNpbGlhdGVOcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVEdGRGaW5hbCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2ludml0ZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0naXNpbmYnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhJc0luZicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2lzbic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWdpc3RlckNoYXJFbmNvZGluZ0hhbmRsZXInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdpc25hbic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aElzTmFOJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0naXNzdWUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRW5jb2RlRW50aXRpZXMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdpc3N1ZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neGxpbmtJc0xpbmsnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdpc3N1ZXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTW9kdWxlT3BlbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTW9kdWxlU3ltYm9sJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0naXRlbSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX0JMT0NLX0RFRkFVTFQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfQlVJTFRJTl9QUklNSVRJVkUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfTUFSS0VEJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sWFBhdGhDb250ZXh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoUmVtb3ZlRW50cnknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEhhc2hSZW1vdmVFbnRyeTInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEhhc2hSZW1vdmVFbnRyeTMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEhhc2hVcGRhdGVFbnRyeScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFVwZGF0ZUVudHJ5MicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFVwZGF0ZUVudHJ5MycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUERlbGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUdldEJ1aWx0SW5MaXN0U2ltcGxlVHlwZUl0ZW1UeXBlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vZGVTZXRJdGVtJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0naXRlbXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0ndmFsdWVQdXNoJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoQ29weScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSGFzaEZyZWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEhhc2hTY2FuJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoU2NhbjMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEhhc2hTY2FuRnVsbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFNjYW5GdWxsMycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRhdGVMaXN0U2ltcGxlVHlwZUZhY2V0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0naXRzZWxmJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxEb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3hsaW5rSXNMaW5rJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGFyRW5jRmlyc3RMaW5lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDbGVhbnVwUGFyc2VyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVBFUmVmZXJlbmNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJIYW5kbGVQRVJlZmVyZW5jZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXh0U2VsZicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICA8L2xldHRlcj4KKyAgICA8L2NodW5rPgorICAgIDxjaHVuayBuYW1lPSdjaHVuazE4Jz4KKyAgICAgIDxsZXR0ZXIgbmFtZT0naic+CisgICAgICAgIDx3b3JkIG5hbWU9J2p1c3QnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbERPTVdyYXBDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sU2V0TWV0YUVuY29kaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdpbnB1dFBvcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nbmFtZVBvcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nbm9kZVBvcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0ndmFsdWVQb3AnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENsZWFudXBQYXJzZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENsZWFudXBUaHJlYWRzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDb3B5RW51bWVyYXRpb24nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENyZWF0ZUVudGl0aWVzVGFibGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENyZWF0ZUVudW1lcmF0aW9uJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwQWRvcHROb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYW5kbGVFbnRpdHknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBJbml0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUEluaXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNucHJpbnRmRWxlbWVudENvbnRlbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJCeXRlQ29uc3VtZWQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV3Q29udGV4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXdQYXJzZXJDb250ZXh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5leHRTZWxmJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyTmV3Q29udGV4dCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICA8L2xldHRlcj4KKyAgICAgIDxsZXR0ZXIgbmFtZT0nayc+CisgICAgICAgIDx3b3JkIG5hbWU9J2tlZXAnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRXhwTmV3T3InLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEV4cE5ld1JhbmdlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFeHBOZXdTZXEnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlVVJJUmF3Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJJbnB1dEdyb3cnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJQcmVzZXJ2ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclByZXNlcnZlUGF0dGVybicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXh0TmFtZXNwYWNlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0na2VlcHMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0QnVmZmVyQWxsb2NhdGlvblNjaGVtZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2V0QnVmZmVyQWxsb2NhdGlvblNjaGVtZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2tlcHQnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFBhcnNlckN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxYUGF0aENvbnRleHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxBdXRvQ2xvc2VUYWcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxJc0F1dG9DbG9zZWQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxQYXJzZUVsZW1lbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEtlZXBCbGFua3NEZWZhdWx0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE9yZGVyRG9jRWxlbXMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdrZXl3b3JkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRGVmYXVsdERlY2wnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdraWxsJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoZWNrVmVyc2lvbicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2tpbmQnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFNjaGVtYUF0dHJpYnV0ZUdyb3VwJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sU2NoZW1hRWxlbWVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFNjaGVtYUZhY2V0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sU2NoZW1hTm90YXRpb24nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxTY2hlbWFUeXBlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sU2NoZW1hV2lsZGNhcmQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdrbm93Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0JBRF9DQVNUJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwQ2xvbmVOb2RlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0na25vd2xlZGdlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxBdHRyQWxsb3dlZCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2tub3duJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxQYXJzZXJJbnB1dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQWxsb2NQYXJzZXJJbnB1dEJ1ZmZlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ3JlYXRlSU9QYXJzZXJDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJT1BhcnNlRFREJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdJT0lucHV0U3RyZWFtJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxPdXRwdXRCdWZmZXJDcmVhdGVJTycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VDaGFyRW5jb2RpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVJTycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVNZW0nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlU3RhdGljJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgIDwvbGV0dGVyPgorICAgICAgPGxldHRlciBuYW1lPSdsJz4KKyAgICAgICAgPHdvcmQgbmFtZT0nbGFiZWwnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFBhcnNlckN0eHQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdsYWJlbGVkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQ3R4dEV4dGVybmFsRW50aXR5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUV4dFBhcnNlZEVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFeHRlcm5hbEVudGl0eScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2xhY2snPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hhckVuY29kaW5nSW5wdXRGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGFyRW5jb2RpbmdPdXRwdXRGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxNYWxsb2NBdG9taWNMb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE1hbGxvY0xvYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTWVtTWFsbG9jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxNZW1SZWFsbG9jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWFsbG9jTG9jJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbGFuZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlR2V0TGFuZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhMYW5nRnVuY3Rpb24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdsYW5ndGFnJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoZWNrTGFuZ3VhZ2VJRCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2xhbmd1YWdlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoZWNrTGFuZ3VhZ2VJRCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUdldExhbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVTZXRMYW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aExhbmdGdW5jdGlvbicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2xhbmd1YWdlcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFeHBFeHBEZXJpdmUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEV4cEdldFN0YXJ0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFeHBTdWJzdW1lJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbGFyZ2UnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFBhcnNlckN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxQYXJzZXJJbnB1dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0QnVmZmVyQWxsb2NhdGlvblNjaGVtZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2xhcmdlc3QnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhGbG9vckZ1bmN0aW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbGF0ZXInPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSGFzaEFkZEVudHJ5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoQWRkRW50cnkyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoQWRkRW50cnkzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoVXBkYXRlRW50cnknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEhhc2hVcGRhdGVFbnRyeTInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEhhc2hVcGRhdGVFbnRyeTMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEtlZXBCbGFua3NEZWZhdWx0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdFbnRpdHknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQXR0VmFsdWUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdsYXRlc3QnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0hUVFBSZXR1cm5Db2RlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbGF5ZXInPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hpbGRyZW5Ob2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJbml0TWVtb3J5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vRlRQQ2xlYW51cCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUEluaXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9IVFRQQ2xlYW51cCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0hUVFBJbml0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSb290Tm9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2F2ZUZpbGVUbycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2F2ZUZvcm1hdEZpbGVUbycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hU0FYUGx1ZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hU0FYVW5wbHVnJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbGVhZGluZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUF0dFZhbHVlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVsZW1lbnRDaGlsZHJlbkNvbnRlbnREZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVsZW1lbnRNaXhlZENvbnRlbnREZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZU5vdGF0aW9uVHlwZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRDdHh0Tm9ybWFsaXplQXR0cmlidXRlVmFsdWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkTm9ybWFsaXplQXR0cmlidXRlVmFsdWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTGVhZGluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhMZWFkaW5nU29ydGVkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vZGVMZWFkaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vZGVMZWFkaW5nU29ydGVkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vcm1hbGl6ZUZ1bmN0aW9uJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFN0cmluZ0Z1bmN0aW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbGVhayc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDbGVhbnVwUGFyc2VyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDbGVhbnVwVGhyZWFkcycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2xlYXN0Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERldGVjdENoYXJFbmNvZGluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhTdHJpbmdGdW5jdGlvbicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2xlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJbml0aWFsaXplRGljdCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2xlZnQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRXhwTmV3T3InLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEV4cE5ld1NlcScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTWVtRGlzcGxheUxhc3QnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJHZXRSZW1haW5kZXInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdsZWdhY3knPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbE5vZGVTdGF0dXMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdsZW4nPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnVmZmVyQWRkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWZmZXJBZGRIZWFkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGFyU3RybmR1cCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRGVjb2RlRW50aXRpZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEV4cFN0cmluZ0Rlcml2ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0RmVhdHVyZXNMaXN0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHZXRVVEY4Q2hhcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3RG9jVGV4dExlbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3VGV4dExlbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3BsaXRRTmFtZTMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cm5jYXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cm5jYXROZXcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cm5kdXAnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVURjhTdHJuZHVwJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVVEY4U3Ryc2l6ZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2xlbmd0aC0xJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm9kZVNldEl0ZW0nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdsZXNzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEV4cEV4cERlcml2ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2F2ZVRvRmlsZW5hbWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ2VpbGluZ0Z1bmN0aW9uJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENvbXBhcmVWYWx1ZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoU3Vic3RyaW5nRnVuY3Rpb24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdsZXNzLXRoYW4nPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3VGV4dENoaWxkJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbGV2ZWwnPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfRUxFTV9UT1BMRVZFTCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbERvYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnVmTm9kZUR1bXAnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEMxNE5Eb2NTYXZlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDYXRhbG9nU2V0RGVidWcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENsZWFudXBNZW1vcnknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERlYnVnRHVtcEF0dHInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERlYnVnRHVtcEF0dHJMaXN0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEZWJ1Z0R1bXBOb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEZWJ1Z0R1bXBOb2RlTGlzdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRGVidWdEdW1wT25lTm9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUR1bXAnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVEdW1wT3V0cHV0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVZlcnNpb25OdW0nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNoZWxsUHdkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJlYW1Qb3AnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRGVidWdEdW1wQ29tcEV4cHInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRGVidWdEdW1wT2JqZWN0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbGV4aWNhbCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZURlZmF1bHREZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFHZXRDYW5vblZhbHVlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxQcmVkZWZUeXBlTm9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsUHJlZGVmVHlwZU5vZGVOb05vcm0nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbGlkYXRlRmFjZXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbGlkYXRlRmFjZXRXaHRzcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldFdodHNwJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZUxpc3RTaW1wbGVUeXBlRmFjZXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbGlkYXRlUHJlZGVmaW5lZFR5cGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlTkNOYW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZU5NVG9rZW4nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlTmFtZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVRTmFtZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2xpYic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGVja1ZlcnNpb24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdsaWJjJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0RFQlVHX01FTU9SWScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2xpYnJhcmllcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdMSUJYTUxfTU9EVUxFX0VYVEVOU0lPTicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2xlYW51cFBhcnNlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2xlYW51cFRocmVhZHMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4TkdJbml0VHlwZXMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdsaWJyYXJ5Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxFcnJvcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFNjaGVtYScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2xlYW51cE1lbW9yeScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2xlYW51cFBhcnNlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2xlYW51cFRocmVhZHMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERpY3RDbGVhbnVwJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNGZWF0dXJlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJbml0VGhyZWFkcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSW5pdGlhbGl6ZUdsb2JhbFN0YXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxMb2NrTGlicmFyeScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTW9kdWxlRnJlZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTW9kdWxlT3BlbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlTmFtZXNwYWNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HQ2xlYW51cFR5cGVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVhEZWZhdWx0VmVyc2lvbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hQ2xlYW51cFR5cGVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFGcmVlVmFsdWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUdldFByZWRlZmluZWRUeXBlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFJbml0VHlwZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVubG9ja0xpYnJhcnknLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdsaWJzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEtlZXBCbGFua3NEZWZhdWx0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbGlieG1sJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0RFQlVHX01FTU9SWScvPgorICAgICAgICAgIDxyZWYgbmFtZT0nTElCWE1MX1RFU1RfVkVSU0lPTicvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFBhcnNlckN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEMxNE5Eb2NTYXZlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHY01lbVNldHVwJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxNZW1TZXR1cCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVnaXN0ZXJIVFRQUG9zdENhbGxiYWNrcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYUGFyc2VGaWxlV2l0aERhdGEnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWFBhcnNlTWVtb3J5V2l0aERhdGEnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNoZWxsUHJpbnRYUGF0aEVycm9yJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vZGVTZXRGcmVlTnMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdsaWJ4bWwxJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoaWxkcmVuTm9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUm9vdE5vZGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdsaWJ4bWwyJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENsZWFudXBQYXJzZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENsZWFudXBUaHJlYWRzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxGcmVlTXV0ZXgnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEluaXRUaHJlYWRzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxMb2NrTGlicmFyeScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTXV0ZXhMb2NrJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxNdXRleFVubG9jaycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3TXV0ZXgnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJNdXRleExvY2snLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJNdXRleFVubG9jaycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVW5sb2NrTGlicmFyeScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2xpZmV0aW1lJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ1ZmZlckNyZWF0ZVN0YXRpYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRXhwQ3R4dE5iQ29ucycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2xpa2UnPgorICAgICAgICAgIDxyZWYgbmFtZT0nSVNfQ0hBUl9DSCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nSVNfRElHSVRfQ0gnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0lTX0VYVEVOREVSX0NIJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdJU19MRVRURVJfQ0gnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0xJQlhNTF9BVFRSX0ZPUk1BVCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nTElCWE1MX0RPVFRFRF9WRVJTSU9OJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdMSUJYTUxfVFJFRV9FTkFCTEVEJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGFyRW5jT3V0RnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTG9hZFNHTUxTdXBlckNhdGFsb2cnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBTY2FuUHJveHknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9IVFRQU2NhblByb3h5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUNhdGFsb2dGaWxlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTaGVsbExpc3QnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJOb3JtYWxpemF0aW9uJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGl0eUVycm9yRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRpdHlXYXJuaW5nRnVuYycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2xpa2VseSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHZXRUaHJlYWRJZCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2xpbWl0Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9NQVhfTkFNRV9MRU5HVEgnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxYUGF0aFBhcnNlckNvbnRleHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoYXJFbmNGaXJzdExpbmUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERlY29kZUVudGl0aWVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEaWN0U2V0TGltaXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhdHRlcm5NYXhEZXB0aCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2xpbWl0YXRpb24nPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX01BWF9ESUNUSU9OQVJZX0xJTUlUJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfTUFYX05BTUVfTEVOR1RIJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfTUFYX1RFWFRfTEVOR1RIJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHZXRMaW5lTm8nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdsaW1pdGVkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J19odG1sRWxlbURlc2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVEdW1wJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbGluZWFyJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxFbnRpdHlMb29rdXAnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxFbnRpdHlWYWx1ZUxvb2t1cCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRXhwRXhwRGVyaXZlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbGluZXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0TGluZU5vJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbGlua2VkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxTY2hlbWFBdHRyaWJ1dGVMaW5rJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sU2NoZW1hRmFjZXRMaW5rJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sU2NoZW1hVHlwZUxpbmsnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdsaW5raW5nJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3hsaW5rSXNMaW5rJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbGlua3MnPgorICAgICAgICAgIDxyZWYgbmFtZT0nZnRwTGlzdENhbGxiYWNrJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbGlzdGluZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vRlRQTGlzdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2hlbGxMaXN0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbGlzdHMnPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX0NPTVBMRVRFX0FUVFJTJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sWFBhdGhDb250ZXh0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbGl0ZXJhbCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDdXJyZW50Q2hhcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VBdHRWYWx1ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VQdWJpZExpdGVyYWwnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlckhhbmRsZVBFUmVmZXJlbmNlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbG9hZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxMb2FkRXh0ZXJuYWxFbnRpdHknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9IVFRQRmV0Y2gnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9IVFRQTWV0aG9kJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUE1ldGhvZFJlZGlyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUE9wZW4nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9IVFRQT3BlblJlZGlyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb05ldEV4dGVybmFsRW50aXR5TG9hZGVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUN0eHRFeHRlcm5hbEVudGl0eScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFeHRlcm5hbEVudGl0eScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2hlbGwnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNoZWxsTG9hZCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2xvYWRlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sUGFyc2VyQ3R4dCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2xvYWRlcic+CisgICAgICAgICAgPHJlZiBuYW1lPSdyZXNvbHZlRW50aXR5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdyZXNvbHZlRW50aXR5U0FYRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTG9hZENhdGFsb2cnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbExvYWRDYXRhbG9ncycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9OZXRFeHRlcm5hbEVudGl0eUxvYWRlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYMlJlc29sdmVFbnRpdHknLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdsb2FkZXJzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEV4dGVybmFsRW50aXR5TG9hZGVyJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbG9hZGluZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdyZXNvbHZlRW50aXR5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdyZXNvbHZlRW50aXR5U0FYRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSXNJRCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYMlJlc29sdmVFbnRpdHknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNoZWxsTG9hZCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2xvYWRzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNoZWxsTG9hZCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2xvYWRzdWJzZXQnPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX0NPTVBMRVRFX0FUVFJTJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfREVURUNUX0lEUycvPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NLSVBfSURTJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbG9jYWwtbmFtZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aExvY2FsTmFtZUZ1bmN0aW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbG9jYWxuYW1lJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3N0YXJ0RWxlbWVudE5zU0FYMkZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWDJTdGFydEVsZW1lbnROcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyUUVxdWFsJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbG9jYXRpb24nPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbFBhcnNlRW50aXR5UmVmJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHZXRGZWF0dXJlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUEZldGNoJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUE9wZW4nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9IVFRQT3BlblJlZGlyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HTmV3UGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hTmV3UGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hdHJvbk5ld1BhcnNlckN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNldEZlYXR1cmUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVURjhTdHJsb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQdHJMb2NhdGlvblNldEFkZCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2xvY2F0aW9ucyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sTG9jYXRpb25TZXQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdsb2NhdG9yJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3NldERvY3VtZW50TG9jYXRvcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0nc2V0RG9jdW1lbnRMb2NhdG9yU0FYRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neGxpbmtFeHRlbmRlZExpbmtGdW5rJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bGlua0V4dGVuZGVkTGlua1NldEZ1bmsnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENhbm9uaWNQYXRoJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXRoVG9VUkknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWDJTZXREb2N1bWVudExvY2F0b3InLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbGlkYXRlU2V0TG9jYXRvcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRpdHlMb2NhdG9yRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckVycm9yRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckxvY2F0b3JCYXNlVVJJJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyTG9jYXRvckxpbmVOdW1iZXInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdsb2NhdG9ycyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bGlua0V4dGVuZGVkTGlua0Z1bmsnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3hsaW5rRXh0ZW5kZWRMaW5rU2V0RnVuaycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2xvY2snPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTG9ja0xpYnJhcnknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE11dGV4TG9jaycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3Uk11dGV4Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSTXV0ZXhMb2NrJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVbmxvY2tMaWJyYXJ5Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbG9nZ2luZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxNYWxsb2NBdG9taWNMb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE1hbGxvY0xvYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTWVtTWFsbG9jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxNZW1SZWFsbG9jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxNZW1TdHJkdXBMb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE1lbW9yeVN0cmR1cCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVhbGxvY0xvYycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2xvbmcnPgorICAgICAgICAgIDxyZWYgbmFtZT0nSVNfQkFTRUNIQVInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0lTX0NPTUJJTklORycvPgorICAgICAgICAgIDxyZWYgbmFtZT0nSVNfRElHSVQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERldGVjdENoYXJFbmNvZGluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VyRmluZE5vZGVJbmZvSW5kZXgnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUdldEZhY2V0VmFsdWVBc1VMb25nJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbG9uZ2VyJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9NQVhfTkFNRUxFTicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hlY2tVVEY4Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFRyYW5zbGF0ZUZ1bmN0aW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbG9vay1haGVhZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sUGFyc2VyQ3R4dCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2xvb2thaGVhZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJJbnB1dEdyb3cnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0UmVhZCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2xvb2tlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sTm9kZVNldCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGF0dGVybkZyb21Sb290Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbG9va3MnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0Tm9Oc1Byb3AnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldE5zUHJvcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0UHJvcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSGFzTnNQcm9wJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNQcm9wJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbG9va3Vwcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfREVURUNUX0lEUycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VDYXRhbG9nRmlsZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J2xvb3AnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlSZWNvdmVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUV4dGVybmFsRW50aXR5Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbG9vcHMnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFBhcnNlckN0eHQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdsb3NzbGVzcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxPdXRwdXRCdWZmZXJXcml0ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sT3V0cHV0QnVmZmVyV3JpdGVFc2NhcGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbG93ZXInPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRXhwTmV3UmFuZ2UnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdsb3dlcmNhc2UnPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbFRhZ0xvb2t1cCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSXNSZWYnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgPC9sZXR0ZXI+CisgICAgPC9jaHVuaz4KKyAgICA8Y2h1bmsgbmFtZT0nY2h1bmsxOSc+CisgICAgICA8bGV0dGVyIG5hbWU9J20nPgorICAgICAgICA8d29yZCBuYW1lPSdtYWNoaW5lJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoZWNrRmlsZW5hbWUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdtYWNybyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdJTlZBTElEX1NPQ0tFVCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nU09DS0VUJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfQ0FTVF9GUFRSJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVEb2NUeXBlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdtYWRlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0xJQlhNTF9JU084ODU5WF9FTkFCTEVEJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGFyRW5jT3V0RnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRXhwUGFyc2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVMaXN0R2V0UmF3U3RyaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlTGlzdEdldFN0cmluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2V0RW50aXR5UmVmZXJlbmNlRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFB0ck5ld0xvY2F0aW9uU2V0Tm9kZXMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdtYWluJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbElzTWFpblRocmVhZCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J21haW50YWluZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVtb3ZlSUQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlbW92ZVJlZicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hU0FYUGx1ZycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J21ham9yJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERlY29kZUVudGl0aWVzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbWFrZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDcmVhdGVFbnRpdGllc1RhYmxlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdOb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTYXZlQ2xvc2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNhdmVGbHVzaCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J21ha2VzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbExvYWRDYXRhbG9nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxMb2FkQ2F0YWxvZ3MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJFeHBhbmQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdtYWxsb2MnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2NNZW1HZXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdjTWVtU2V0dXAnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE1hbGxvY0F0b21pY0xvYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTWFsbG9jRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTWFsbG9jTG9jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxNZW1HZXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE1lbU1hbGxvYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTWVtU2V0dXAnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdtYWxsb2NBdG9taWNGdW5jJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdjTWVtR2V0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHY01lbVNldHVwJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbWFuYWdlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ1ZmZlcldyaXRlQ2hhcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnVmZmVyV3JpdGVRdW90ZWRTdHJpbmcnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdtYW5hZ2VzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ1ZmZlcldyaXRlQ0hBUicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J21hbmRhdGUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0VGhyZWFkSWQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdtYW5pcHVsYXRlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdSTXV0ZXgnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdtYW5pcHVsYXRpbmcnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRXhwTmV3Q3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTG9hZFNHTUxTdXBlckNhdGFsb2cnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdtYW5pcHVsYXRpb24nPgorICAgICAgICAgIDxyZWYgbmFtZT0nTElCWE1MX1RSRUVfRU5BQkxFRCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J21hbnknPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFBhcnNlcklucHV0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFN0cmluZ0Z1bmN0aW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbWFwJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxET01XcmFwQ3R4dCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J21hcHMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckxvb2t1cE5hbWVzcGFjZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRG9jVHlwZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlUHJvY2Vzc2luZ0luc3RydWN0aW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbWFyayc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJjYXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cmR1cCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclF1b3RlQ2hhcicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J21hcmtlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19BVFRSR1JPVVBfTUFSS0VEJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX01BUktFRCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFBhcnNlcklucHV0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbWFya2VyJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERlY29kZUVudGl0aWVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJpbmdEZWNvZGVFbnRpdGllcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyaW5nTGVuRGVjb2RlRW50aXRpZXMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdtYXJraW5nJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQ2hhckRhdGEnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdtYXJrcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUNoYXJEYXRhJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbWFya3VwJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9NQVhfTkFNRV9MRU5HVEgnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlTWFya3VwRGVjbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VTRERlY2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJSZWFkSW5uZXJYbWwnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJSZWFkT3V0ZXJYbWwnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdERURCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERURCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J21hcmt1cGRlY2wnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VEb2NUeXBlRGVjbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFeHRlcm5hbFN1YnNldCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VNYXJrdXBEZWNsJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbWFza2VkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlY29uY2lsaWF0ZU5zJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbWF0Y2hlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyUHJlc2VydmVQYXR0ZXJuJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbWF0Y2hlcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdDSEVDS19BUklUWScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRmlsZU1hdGNoJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJT0ZUUE1hdGNoJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJT0hUVFBNYXRjaCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VDdHh0RXh0ZXJuYWxFbnRpdHknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRXh0UGFyc2VkRW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUV4dGVybmFsRW50aXR5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXR0ZXJuTWF0Y2gnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlZ2V4cEV4ZWMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlRHRkRmluYWwnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdtYXRjaGluZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxGaWxlTWF0Y2gnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEZpbGVPcGVuJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoU2NhbjMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEhhc2hTY2FuRnVsbDMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbElPRlRQTWF0Y2gnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbElPRlRQT3BlbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSU9IVFRQTWF0Y2gnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbElPSFRUUE9wZW4nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlZ05ld0V4ZWNDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZUF0dHJpYnV0ZURlY2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlT25lQXR0cmlidXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZU9uZU5hbWVzcGFjZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhJZEZ1bmN0aW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbWF4Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxYUGF0aENvbnRleHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxYUGF0aFBhcnNlckNvbnRleHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEV4cFBhcnNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHZXRDb21wcmVzc01vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldERvY0NvbXByZXNzTW9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNldENvbXByZXNzTW9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2V0RG9jQ29tcHJlc3NNb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJuY2FzZWNtcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RybmNtcCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J21heExlbmd0aCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZUxlbmd0aEZhY2V0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZUxlbmd0aEZhY2V0V2h0c3AnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdtYXhpbWFsJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhTmV3Q291bnRlcicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J21heGltdW0nPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFOZXdDb3VudFRyYW5zJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YU5ld0NvdW50VHJhbnMyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YU5ld09uY2VUcmFucycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFOZXdPbmNlVHJhbnMyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGVja1VURjgnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEV4cE1heFRva2VuJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFeHBOZXdDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXR0ZXJuTWF4RGVwdGgnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ29udGV4dFNldENhY2hlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbWF5YmUnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFNjaGVtYUVsZW1lbnQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdtZWFuJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhdHRlcm5NaW5EZXB0aCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J21lYW5zJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEV4cE5ld1JhbmdlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVNERGVjbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2V0R2VuZXJpY0Vycm9yRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2V0U3RydWN0dXJlZEVycm9yRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyZWFtUHVzaCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyZWFtUHVzaEF0dHInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cmVhbVB1c2hOb2RlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbWVjaGFuaXNtJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxYUGF0aENvbnRleHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cnVjdHVyZWRFcnJvckZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoUmVnaXN0ZXJGdW5jTG9va3VwJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGVMb29rdXAnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdtZWNoYW5pc21zJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVHZXRCYXNlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbWVldCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZURlZmF1bHREZWNsJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbWVtYmVyJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWFBhcnNlRmlsZVdpdGhEYXRhJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVhQYXJzZU1lbW9yeVdpdGhEYXRhJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0QXR0cmlidXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0QXR0cmlidXRlTlMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRDREFUQScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdENvbW1lbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVEQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVERBdHRsaXN0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFRERWxlbWVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREludGVybmFsRW50aXR5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RWxlbWVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEVsZW1lbnROUycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdFBJJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0UmF3Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0U3RyaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFN0cmluZ0Z1bmN0aW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbWVtYmVyLXR5cGVzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxTY2hlbWFUeXBlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbWVtbyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdnZXRTeXN0ZW1JZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYMkdldFN5c3RlbUlkJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbWVtb3J5bGlzdCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxNZW1EaXNwbGF5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxNZW1EaXNwbGF5TGFzdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTWVtb3J5RHVtcCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J21lcmdlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0TWVyZ2UnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdtZXJnaW5nJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEFkZENoaWxkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBZGRDaGlsZExpc3QnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEFkZE5leHRTaWJsaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBZGRQcmV2U2libGluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQWRkU2libGluZycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J21lc3NhZ2VzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2Vycm9yU0FYRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0nZmF0YWxFcnJvclNBWEZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3dhcm5pbmdTQVhGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJFcnJvcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VyVmFsaWRpdHlFcnJvcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VyVmFsaWRpdHlXYXJuaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJXYXJuaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTZXRHZW5lcmljRXJyb3JGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTZXRTdHJ1Y3R1cmVkRXJyb3JGdW5jJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbWV0aG9kJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfREVSSVZBVElPTl9NRVRIT0RfRVhURU5TSU9OJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX0RFUklWQVRJT05fTUVUSE9EX1JFU1RSSUNUSU9OJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sQnVmZmVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUE1ldGhvZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0hUVFBNZXRob2RSZWRpcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVnaXN0ZXJIVFRQUG9zdENhbGxiYWNrcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2V0QnVmZmVyQWxsb2NhdGlvblNjaGVtZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckNsb3NlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyR2V0UmVtYWluZGVyJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbWlnaHQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3VGV4dENoaWxkJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbWlncmF0ZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFbmNvZGVFbnRpdGllcycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J21pbic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFeHBQYXJzZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J21pbkxlbmd0aCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZUxlbmd0aEZhY2V0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZUxlbmd0aEZhY2V0V2h0c3AnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdtaW5pbWFsJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhTmV3Q291bnRlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRXhwUGFyc2UnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdtaW5pbXVtJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhTmV3Q291bnRUcmFucycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFOZXdDb3VudFRyYW5zMicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFOZXdPbmNlVHJhbnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhTmV3T25jZVRyYW5zMicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnVmZmVyR3JvdycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnVmZmVyUmVzaXplJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHZXRVVEY4Q2hhcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGF0dGVybk1pbkRlcHRoJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbWludXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhTdHJpbmdGdW5jdGlvbicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J21pbnV0ZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdmdHBMaXN0Q2FsbGJhY2snLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdtaXNjJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ29udGV4dFNldENhY2hlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbWlzbGVhZGluZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDbGVhbnVwUGFyc2VyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVBFUmVmZXJlbmNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJIYW5kbGVQRVJlZmVyZW5jZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J21pc3NpbmcnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VTRERlY2wnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdtaXhlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX01JWEVEJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxLZWVwQmxhbmtzRGVmYXVsdCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J21peGVkLWNvbnRlbnQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbGVtZW50TWl4ZWRDb250ZW50RGVjbCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J21tYXAnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVTdGF0aWMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdtb2QnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhNb2RWYWx1ZXMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdtb2RlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxCdWZmZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxQYXJzZXJDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdkb2NiQ3JlYXRlUHVzaFBhcnNlckN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQzE0TkRvY0R1bXBNZW1vcnknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEMxNE5Eb2NTYXZlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDMTRORG9jU2F2ZVRvJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDMTRORXhlY3V0ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldENvbXByZXNzTW9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sS2VlcEJsYW5rc0RlZmF1bHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBHZXRDb25uZWN0aW9uJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVJlZmVyZW5jZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySW5wdXRCdWZmZXJHcm93Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJJbnB1dEJ1ZmZlclB1c2gnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWFBhcnNlRG9jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVhQYXJzZUZpbGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWFBhcnNlRmlsZVdpdGhEYXRhJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVhQYXJzZU1lbW9yeScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYUGFyc2VNZW1vcnlXaXRoRGF0YScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2V0Q29tcHJlc3NNb2RlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbW9kZWwnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFNjaGVtYVR5cGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkQnVpbGRDb250ZW50TW9kZWwnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdtb2RpZmllZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWZmZXJDcmVhdGVTdGF0aWMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVBZGRDb250ZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlQWRkQ29udGVudExlbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9kZVNldENvbnRlbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVTZXRDb250ZW50TGVuJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFOZXdEb2NQYXJzZXJDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWF0cm9uTmV3RG9jUGFyc2VyQ3R4dCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J21vZGlmaWVzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4TkdOZXdEb2NQYXJzZXJDdHh0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbW9kaWZ5Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNoZWxsJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbW9kdWxlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0xJQlhNTF9ERUJVR19FTkFCTEVEJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdMSUJYTUxfTU9EVUxFU19FTkFCTEVEJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJbnB1dE1hdGNoQ2FsbGJhY2snLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE1vZHVsZUNsb3NlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxNb2R1bGVGcmVlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxNb2R1bGVPcGVuJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxNb2R1bGVTeW1ib2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dE1hdGNoQ2FsbGJhY2snLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cnVjdHVyZWRFcnJvckZ1bmMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdtb2R1bGVzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0xJQlhNTF9NT0RVTEVfRVhURU5TSU9OJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbW9tZW50Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERPTVdyYXBSZWNvbmNpbGVOYW1lc3BhY2VzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwUmVtb3ZlTm9kZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J21vbnRoJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2Z0cExpc3RDYWxsYmFjaycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J21vcmUnPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX01BWF9OQU1FTEVOJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfTUFYX05BTUVfTEVOR1RIJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFeHBHZXRMYW5ndWFnZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRXhwR2V0U3RhcnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQXR0cmlidXRlVHlwZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbGVtZW50RGVjbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbGVtZW50TWl4ZWRDb250ZW50RGVjbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VTdGFydFRhZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyRXF1YWwnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJCeXRlQ29uc3VtZWQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJOZXh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyTmV4dFNpYmxpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJSZWFkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyUmVhZEF0dHJpYnV0ZVZhbHVlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFN0cmluZ0Z1bmN0aW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbW9yZW92ZXInPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFOZXdPbmNlVHJhbnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhTmV3T25jZVRyYW5zMicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J21vc3QnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQzE0TkV4ZWN1dGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldEZlYXR1cmVzTGlzdCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J21vdmUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRE9NV3JhcEFkb3B0Tm9kZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J21vdmVkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJNb3ZlVG9FbGVtZW50Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbXVjaCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEaWN0R2V0VXNhZ2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlY29uY2lsaWF0ZU5zJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbXVsdGktdGhyZWFkZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2V0R2VuZXJpY0Vycm9yRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2V0U3RydWN0dXJlZEVycm9yRnVuYycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J211bHRpLXRocmVhZGluZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDbGVhbnVwR2xvYmFscycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSW5pdEdsb2JhbHMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdtdWx0aXBsZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDdXJyZW50Q2hhcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyaW5nQ3VycmVudENoYXInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdtdWx0aXBseSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE11bHRWYWx1ZXMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdtdWx0aXRocmVhZGVkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxJbml0QXV0b0Nsb3NlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDbGVhbnVwUGFyc2VyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDbGVhbnVwVGhyZWFkcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSW5pdFBhcnNlcicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J211dGV4Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERpY3RDbGVhbnVwJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxGcmVlTXV0ZXgnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEZyZWVSTXV0ZXgnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEluaXRpYWxpemVEaWN0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxNdXRleExvY2snLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE11dGV4VW5sb2NrJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdNdXRleCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3Uk11dGV4Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSTXV0ZXhMb2NrJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSTXV0ZXhVbmxvY2snLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdteURvYyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdkb2NiRnJlZVBhcnNlckN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxGcmVlUGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRnJlZVBhcnNlckN0eHQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdteXByb3h5Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBTY2FuUHJveHknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9IVFRQU2NhblByb3h5Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbXlwcm94eTozMTI4Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBTY2FuUHJveHknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9IVFRQU2NhblByb3h5Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgIDwvbGV0dGVyPgorICAgIDwvY2h1bms+CisgICAgPGNodW5rIG5hbWU9J2NodW5rMjAnPgorICAgICAgPGxldHRlciBuYW1lPSduJz4KKyAgICAgICAgPHdvcmQgbmFtZT0nbmFtZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQWRkRW5jb2RpbmdBbGlhcycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J25hbWVzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxEb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxQYXJzZXJDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sU2NoZW1hJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sSW5pdEF1dG9DbG9zZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0RmVhdHVyZXNMaXN0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoQWRkRW50cnknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEhhc2hTY2FuMycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFNjYW5GdWxsMycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VOb3RhdGlvblR5cGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkR2V0UG90ZW50aWFsQ2hpbGRyZW4nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkR2V0VmFsaWRFbGVtZW50cycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J25hbWVzcGFjZS1iaW5kaW5nJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNldFByb3AnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSduYW1lc3BhY2UtdXJpJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmFtZXNwYWNlVVJJRnVuY3Rpb24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSduYW1lc3BhY2U6Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hJTkNMVURFX05TJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYSU5DTFVERV9PTERfTlMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQXR0cmlidXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVN0YXJ0VGFnJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbmFtZXNwYWNlcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfWFBBVEhfQ0hFQ0tOUycvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFBhcnNlckN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxTY2hlbWFXaWxkY2FyZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFhQYXRoQ29udGV4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQzE0TkRvY0R1bXBNZW1vcnknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEMxNE5Eb2NTYXZlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDMTRORG9jU2F2ZVRvJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDMTRORXhlY3V0ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ29weURvYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ29weU5vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERPTVdyYXBBY3F1aXJlTnNGdW5jdGlvbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRG9jQ29weU5vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEZyZWVOc0xpc3QnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldFByb3AnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlSW5Ob2RlQ29udGV4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVjb25jaWxpYXRlTnMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSduYW1pbmcnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hpbGRyZW5Ob2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSb290Tm9kZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J25iQnl0ZXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTWVtRGlzcGxheUxhc3QnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSduYnZhbCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWdFeGVjRXJySW5mbycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVnRXhlY05leHRWYWx1ZXMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSduY25hbWUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnVpbGRRTmFtZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J25kYXRhJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxFbnRpdHknLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSduZWFyZXN0Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVHZXRMYW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlR2V0U3BhY2VQcmVzZXJ2ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhMYW5nRnVuY3Rpb24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSduZWFybHknPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYUGFyc2VGaWxlV2l0aERhdGEnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWFBhcnNlTWVtb3J5V2l0aERhdGEnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSduZWNlc3NhcnknPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX0FCU0VOVCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX2h0bWxFbGVtRGVzYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hlY2tVVEY4Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEZWJ1Z0R1bXBTdHJpbmcnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSduZWVkZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFBhcnNlckN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxYUGF0aENvbnRleHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxFbnRpdHlMb29rdXAnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxFbnRpdHlWYWx1ZUxvb2t1cCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neGxpbmtJc0xpbmsnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERPTVdyYXBBZG9wdE5vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERPTVdyYXBDbG9uZU5vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERPTVdyYXBSZWNvbmNpbGVOYW1lc3BhY2VzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxMb2FkU0dNTFN1cGVyQ2F0YWxvZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3RW50aXR5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdOb2RlRWF0TmFtZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbGVtZW50Q2hpbGRyZW5Db250ZW50RGVjbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbGVtZW50TWl4ZWRDb250ZW50RGVjbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVjb25jaWxpYXRlTnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVNBWFBsdWcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNoZWxsUHdkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJuY2F0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyQ3VycmVudERvYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRDdHh0Tm9ybWFsaXplQXR0cmlidXRlVmFsdWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkTm9ybWFsaXplQXR0cmlidXRlVmFsdWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoUG9wQm9vbGVhbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhQb3BFeHRlcm5hbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhQb3BOb2RlU2V0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFBvcE51bWJlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhQb3BTdHJpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoU3RyaW5nRnVuY3Rpb24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSduZWVkaW5nJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoYXJFbmNPdXRGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVUklFc2NhcGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSduZWVkbGUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyY2FzZXN0cicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3Ryc3RyJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbmVlZHMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRW50aXR5UmVmZXJlbmNlRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRhdGVGYWNldFdodHNwJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJlYW1XYW50c0FueU5vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm9kZVNldEZyZWVOcycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J25lZ2F0ZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFNjaGVtYVdpbGRjYXJkJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbmVnYXRpdmUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQzE0TkRvY0R1bXBNZW1vcnknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEMxNE5Eb2NTYXZlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDMTRORG9jU2F2ZVRvJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDMTRORXhlY3V0ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVnRXhlY0VyckluZm8nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlZ0V4ZWNOZXh0VmFsdWVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWdFeGVjUHVzaFN0cmluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVnRXhlY1B1c2hTdHJpbmcyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWdleHBFeGVjJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWdleHBJc0RldGVybWluaXN0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTaGVsbENtZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhCb29sZWFuRnVuY3Rpb24nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ2VpbGluZ0Z1bmN0aW9uJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFN0cmluZ0V2YWxOdW1iZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoU3RyaW5nRnVuY3Rpb24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSduZWl0aGVyJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEhhc05zUHJvcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSGFzUHJvcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbGVtZW50Q2hpbGRyZW5Db250ZW50RGVjbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclJlYWRJbm5lclhtbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhCb29sZWFuRnVuY3Rpb24nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ29tcGFyZVZhbHVlcycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J25lc3RlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVsZW1lbnRDaGlsZHJlbkNvbnRlbnREZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZU1hcmt1cERlY2wnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSduZXQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhJc0luZicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhJc05hTicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J25ldHdvcmsnPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbEN0eHRSZWFkRmlsZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbFJlYWRGaWxlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDdHh0UmVhZEZpbGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vTmV0RXh0ZXJuYWxFbnRpdHlMb2FkZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlYWRGaWxlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWFkZXJGb3JGaWxlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWFkZXJOZXdGaWxlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbmljZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWlsZFJlbGF0aXZlVVJJJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbmlsbGFibGUnPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfRUxFTV9OSUxMQUJMRScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRXhwSXNOaWxsYWJsZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J25vZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFbnRpdHlSZWZlcmVuY2VGdW5jJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbm9kZS0nPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbERPTVdyYXBDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwUmVtb3ZlTm9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbm9kZS1zZXQ/Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTG9jYWxOYW1lRnVuY3Rpb24nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmFtZXNwYWNlVVJJRnVuY3Rpb24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdub2RlSW5mb3MnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFBhcnNlckN0eHQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdub2RlbGlzdCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlSZWNvdmVyJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbm9kZXMxJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRGlmZmVyZW5jZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J25vZGVzMic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aERpZmZlcmVuY2UnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdub2Rlc2V0Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm9kZVNldEZyZWVOcycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J25vZGVzZXRzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm9kZVNldE1lcmdlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbm9uJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0FOWUFUVFJfTEFYJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFbmNvZGVFbnRpdGllc1JlZW50cmFudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3Q2hpbGQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld1RleHRDaGlsZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckJhc2VVcmknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJMb2NhbE5hbWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJMb2NhdG9yQmFzZVVSSScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlck5hbWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJOYW1lc3BhY2VVcmknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJQcmVmaXgnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJYbWxMYW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFBhcnNlTkNOYW1lJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbm9uLUNEQVRBJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxQYXJzZXJDdHh0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbm9uLU5VTEwnPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbFBhcnNlRW50aXR5UmVmJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbnRpdHlWYWx1ZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J25vbi1VVEYtOCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCeXRlQ29uc3VtZWQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdub24tYmxhbmsnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbGVtZW50Q2hpbGRyZW5Db250ZW50RGVjbCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J25vbi1kZXRlcm1pbmlzdCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sVmFsaWRDdHh0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbm9uLWVtcHR5Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQm9vbGVhbkZ1bmN0aW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbm9uLWZpbmFsJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlZ0V4ZWNQdXNoU3RyaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWdFeGVjUHVzaFN0cmluZzInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdub24tbmVnYXRpdmUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQzE0TkRvY1NhdmVUbycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQzE0TkV4ZWN1dGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdub24tbm9ybWF0aXZlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERldGVjdENoYXJFbmNvZGluZycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J25vbi1udWxsJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNoZWxsUHJpbnROb2RlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbm9uLXJlY3Vyc2l2ZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sUGFyc2VyQ3R4dCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J25vbi1zdGF0ZWxlc3MnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hhckVuY091dEZ1bmMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdub24tdmFsaWRhdGluZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUF0dFZhbHVlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVudGl0eVJlZicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J25vbi16ZXJvJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2luaXR4bWxEZWZhdWx0U0FYSGFuZGxlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSGFzRmVhdHVyZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSXNMZXR0ZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWDJJbml0RGVmYXVsdFNBWEhhbmRsZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQm9vbGVhbkZ1bmN0aW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbm9uZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX1ZBUklFVFlfQUJTRU5UJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdnZXROYW1lc3BhY2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERlY29kZUVudGl0aWVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHZXRMYXN0Q2hpbGQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWx1ZUdldEFzU3RyaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWx1ZUdldE5leHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cmluZ0RlY29kZUVudGl0aWVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJpbmdMZW5EZWNvZGVFbnRpdGllcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckNvbnN0WG1sTGFuZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclhtbExhbmcnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdub3InPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnVmZmVyQ3JlYXRlU3RhdGljJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWlsZFFOYW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVsZW1lbnRDaGlsZHJlbkNvbnRlbnREZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTZXRHZW5lcmljRXJyb3JGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTZXRTdHJ1Y3R1cmVkRXJyb3JGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyUmVhZElubmVyWG1sJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEJvb2xlYW5GdW5jdGlvbicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J25vcm1hbCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJbml0Q2hhckVuY29kaW5nSGFuZGxlcnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyR3JvdycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J25vcm1hbGl6YXRpb24nPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9ybWFsaXplVVJJUGF0aCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VTRERlY2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbFByZWRlZlR5cGVOb2RlTm9Ob3JtJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0V2h0c3AnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkQ3R4dE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbm9ybWFsaXphdGlvbjonPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ3VycmVudENoYXInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdub3JtYWxpemF0aW9ucyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyTm9ybWFsaXphdGlvbicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J25vcm1hbGl6ZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUF0dFZhbHVlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFDb2xsYXBzZVN0cmluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlck5vcm1hbGl6YXRpb24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdub3JtYWxpemUtc3BhY2UnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb3JtYWxpemVGdW5jdGlvbicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J25vcm1hbGl6ZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfVFlQRV9OT1JNVkFMVUVORUVERUQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQXR0VmFsdWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbGlkYXRlRmFjZXRXaHRzcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRDdHh0Tm9ybWFsaXplQXR0cmlidXRlVmFsdWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkTm9ybWFsaXplQXR0cmlidXRlVmFsdWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm9ybWFsaXplRnVuY3Rpb24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdub3JtYWxpemluZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDdXJyZW50Q2hhcicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J25vcm1hbGx5Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxOcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0nYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRpdHlFcnJvckZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkaXR5V2FybmluZ0Z1bmMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdub3RhdGlvbnMnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbER0ZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVEdGRGaW5hbCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J25vdGUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hlY2tVVEY4Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxMb2FkRXh0ZXJuYWxFbnRpdHknLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdub3RpY2UnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2xlYW51cFBhcnNlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2xlYW51cFRocmVhZHMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdub3cnPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX0NBU1RfRlBUUicvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFNjaGVtYScvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFNjaGVtYUVsZW1lbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERlY29kZUVudGl0aWVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJIYW5kbGVSZWZlcmVuY2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjYW5OYW1lJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbnMtYmluZGluZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTZXRQcm9wJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbnMtZGVjbHMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRE9NV3JhcEFkb3B0Tm9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRE9NV3JhcENsb25lTm9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRE9NV3JhcFJlY29uY2lsZU5hbWVzcGFjZXMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSducy1yZWZlcmVuY2VzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERPTVdyYXBSZWNvbmNpbGVOYW1lc3BhY2VzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwUmVtb3ZlTm9kZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J25zRGVmJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxET01XcmFwQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRE9NV3JhcEFkb3B0Tm9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRE9NV3JhcENsb25lTm9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRE9NV3JhcFJlbW92ZU5vZGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdudWxsJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEhhc2hTY2FuMycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFNjYW5GdWxsMycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2hlbGxEdScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J251bGwtdGVybWluYXRlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGVja1VURjgnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdudW1iZXI6Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0xJQlhNTF9WRVJTSU9OJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbnVtYmVyPyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFN1YnN0cmluZ0Z1bmN0aW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nbnVtYmVycyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxMaW5lTnVtYmVyc0RlZmF1bHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVURjhTaXplJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEFkZFZhbHVlcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDb21wYXJlVmFsdWVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aERpdlZhbHVlcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhNb2RWYWx1ZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTXVsdFZhbHVlcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhPcmRlckRvY0VsZW1zJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFJvdW5kRnVuY3Rpb24nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoU3ViVmFsdWVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFZhbHVlRmxpcFNpZ24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdudW1lcmljJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQWRkVmFsdWVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aERpdlZhbHVlcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhNb2RWYWx1ZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTXVsdFZhbHVlcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhTdHJpbmdGdW5jdGlvbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhTdWJWYWx1ZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoU3Vic3RyaW5nRnVuY3Rpb24nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoVmFsdWVGbGlwU2lnbicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICA8L2xldHRlcj4KKyAgICA8L2NodW5rPgorICAgIDxjaHVuayBuYW1lPSdjaHVuazIxJz4KKyAgICAgIDxsZXR0ZXIgbmFtZT0nbyc+CisgICAgICAgIDx3b3JkIG5hbWU9J29iamVjdD8nPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOdW1iZXJGdW5jdGlvbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhTdHJpbmdGdW5jdGlvbicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J29iamVjdHMnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFhQYXRoQ29udGV4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDb21wYXJlVmFsdWVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENvbnRleHRTZXRDYWNoZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhEaXZWYWx1ZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRXF1YWxWYWx1ZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRnJlZU5vZGVTZXRMaXN0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vdEVxdWFsVmFsdWVzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nb2JqZWN0czonPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhBZGRWYWx1ZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ29tcGFyZVZhbHVlcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhNb2RWYWx1ZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTXVsdFZhbHVlcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhTdWJWYWx1ZXMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdvYmxpZ2F0ZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbnRpdHlSZWYnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdvYnNvbGV0ZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb3JtYWxpemVXaW5kb3dzUGF0aCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J29ic29sZXRlOic+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19FTEVNX1RPUExFVkVMJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nb2NjdXBpZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2Fub25pY1BhdGgnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhdGhUb1VSSScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J29jY3VyJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfVkFSSUVUWV9BQlNFTlQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQ29tbWVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VNYXJrdXBEZWNsJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nb2NjdXJlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDdHh0R2V0TGFzdEVycm9yJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEaWN0Q3JlYXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEaWN0Q3JlYXRlU3ViJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHZXRMYXN0RXJyb3InLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEhhc2hDcmVhdGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEhhc2hDcmVhdGVEaWN0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0UmVtb3ZlRmlyc3QnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbExpc3RSZW1vdmVMYXN0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyRXJyb3JGdW5jJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nb2NjdXJlbmNlcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YU5ld0NvdW50VHJhbnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhTmV3Q291bnRUcmFuczInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhTmV3T25jZVRyYW5zJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YU5ld09uY2VUcmFuczInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdvY2N1cnJlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxNZW1TdHJkdXBMb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE1lbW9yeVN0cmR1cCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J29jY3VycmVuY2UnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyY2FzZXN0cicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyY2hyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJzdHInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cnN1YicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhTdWJzdHJpbmdBZnRlckZ1bmN0aW9uJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFN1YnN0cmluZ0JlZm9yZUZ1bmN0aW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nb2NjdXJyZW5jZXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhUcmFuc2xhdGVGdW5jdGlvbicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J29jY3Vycyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb3JtYWxpemVVUklQYXRoJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVNERGVjbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyUHJpbnRmJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJWUHJpbnRmJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nb2N0ZXRzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1VURjhUb0h0bWwnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1VURjhUb2lzb2xhdDEnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2RvY2JFbmNvZGVFbnRpdGllcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbEVuY29kZUVudGl0aWVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdpc29sYXQxVG9VVEY4Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGFyRW5jb2RpbmdJbnB1dEZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoYXJFbmNvZGluZ091dHB1dEZ1bmMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdvZjonPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VTRERlY2wnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdvZmYnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0Tm9Oc1Byb3AnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldE5zUHJvcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0UHJvcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSGFzTnNQcm9wJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNQcm9wJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxMaW5lTnVtYmVyc0RlZmF1bHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRXh0ZXJuYWxJRCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J29rYXknPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFBhcnNlckN0eHQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdvbGQnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbERvYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0nZ2xvYmFsTmFtZXNwYWNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEb2NTZXRSb290RWxlbWVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sS2VlcEJsYW5rc0RlZmF1bHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbExpbmVOdW1iZXJzRGVmYXVsdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTGlzdENvcHknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld0dsb2JhbE5zJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJJbnB1dEJ1ZmZlckdyb3cnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyUmVhZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVnaXN0ZXJOb2RlRGVmYXVsdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVwbGFjZU5vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ29udmVydEJvb2xlYW4nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ29udmVydE51bWJlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDb252ZXJ0U3RyaW5nJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nb2xkTnMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRE9NV3JhcEFkb3B0Tm9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRE9NV3JhcENsb25lTm9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRE9NV3JhcFJlbW92ZU5vZGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdvbGRlcic+CisgICAgICAgICAgPHJlZiBuYW1lPSdMSUJYTUxfU0FYMV9FTkFCTEVEJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZU5hbWVzcGFjZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J29taXR0ZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbEhhbmRsZU9taXR0ZWRFbGVtJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aExvY2FsTmFtZUZ1bmN0aW9uJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5hbWVzcGFjZVVSSUZ1bmN0aW9uJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vcm1hbGl6ZUZ1bmN0aW9uJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFN0cmluZ0Z1bmN0aW9uJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFN0cmluZ0xlbmd0aEZ1bmN0aW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nb25jZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sSW5pdEF1dG9DbG9zZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFOZXdPbmNlVHJhbnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhTmV3T25jZVRyYW5zMicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2xlYW51cFRocmVhZHMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEVuY29kZUVudGl0aWVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJbml0UGFyc2VyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJbml0aWFsaXplQ2F0YWxvZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTG9hZENhdGFsb2cnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbExvYWRDYXRhbG9ncycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VBdHRyaWJ1dGVUeXBlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVsZW1lbnREZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVsZW1lbnRNaXhlZENvbnRlbnREZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVBJJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVN0YXJ0VGFnJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyQ3VycmVudERvYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclByZXNlcnZlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyUHJlc2VydmVQYXR0ZXJuJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZURvY3VtZW50RmluYWwnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlRHRkRmluYWwnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm9kZVNldE1lcmdlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyTG9jYXRpb25TZXRNZXJnZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J29uZXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX0NPTVBMRVRFX0FUVFJTJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdzdGFydEVsZW1lbnROc1NBWDJGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDYXRhbG9nQ29udmVydCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ29udmVydFNHTUxDYXRhbG9nJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nb25vbnltb3VzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxTY2hlbWEnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdvbnRvJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyR3JvdycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyZWFtUHVzaCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyZWFtUHVzaEF0dHInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cmVhbVB1c2hOb2RlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nb3BhcXVlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxTY2hlbWEnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxVUkknLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdvcGVuJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxDdHh0UmVhZEZkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sRG9jRHVtcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbFJlYWRGZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ3R4dFJlYWRGZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRG9jRHVtcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRG9jRm9ybWF0RHVtcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSU9GVFBPcGVuJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJT0hUVFBPcGVuJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJbnB1dE9wZW5DYWxsYmFjaycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUENvbm5lY3QnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBDb25uZWN0VG8nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBHZXRDb25uZWN0aW9uJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUE1ldGhvZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0hUVFBNZXRob2RSZWRpcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0hUVFBPcGVuJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUE9wZW5SZWRpcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sT3V0cHV0T3BlbkNhbGxiYWNrJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWFkRmQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlYWRlckZvckZkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWFkZXJOZXdGZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlckVuZERvY3VtZW50Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nb3BlbmluZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdzdGFydEVsZW1lbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3N0YXJ0RWxlbWVudFNBWEZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWDJTdGFydEVsZW1lbnQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdvcGVyYW5kcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEFkZFZhbHVlcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhEaXZWYWx1ZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTW9kVmFsdWVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE11bHRWYWx1ZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoU3ViVmFsdWVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFZhbHVlRmxpcFNpZ24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdvcGVyYXRpbmcnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFBhcnNlckN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyR3JvdycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySW5wdXRCdWZmZXJQdXNoJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nb3BlcmF0aW9uJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ1aWxkUmVsYXRpdmVVUkknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENhdGFsb2dTZXREZWJ1ZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRE9NV3JhcEFkb3B0Tm9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRE9NV3JhcENsb25lTm9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRXhwTmV3T3InLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEV4cE5ld1JhbmdlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFeHBOZXdTZXEnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJDb25zdFZhbHVlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEFkZFZhbHVlcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDb21wYXJlVmFsdWVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENvbnZlcnRCb29sZWFuJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENvbnZlcnROdW1iZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ29udmVydFN0cmluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhEaXZWYWx1ZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRXF1YWxWYWx1ZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTW9kVmFsdWVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE11bHRWYWx1ZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm90RXF1YWxWYWx1ZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoU3ViVmFsdWVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFZhbHVlRmxpcFNpZ24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdvcGVyYXRpb25zJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxET01XcmFwQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2xlYW51cFBhcnNlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTW9kdWxlQ2xvc2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE1vZHVsZUZyZWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlY29uY2lsaWF0ZU5zJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nb3BlcmF0b3InPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRXhwUGFyc2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ29tcGFyZVZhbHVlcycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J29wZXJhdG9ycyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFeHBQYXJzZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhBZGRWYWx1ZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRGl2VmFsdWVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE1vZFZhbHVlcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhNdWx0VmFsdWVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFN1YlZhbHVlcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhWYWx1ZUZsaXBTaWduJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nb3Bwb3NpdGUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2xlYW51cFBhcnNlcicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J29wdGltaXplZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vZGVTZXRBZGRVbmlxdWUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdvcHRpb24nPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX01BWF9ESUNUSU9OQVJZX0xJTUlUJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfTUFYX05BTUVfTEVOR1RIJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfTUFYX1RFWFRfTEVOR1RIJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwQWRvcHROb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwQ2xvbmVOb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwUmVjb25jaWxlTmFtZXNwYWNlcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0TGluZU5vJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZEN0eHRHZXRPcHRpb25zJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nb3B0aW9ucyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sQ3R4dFVzZU9wdGlvbnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEN0eHRVc2VPcHRpb25zJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwUmVtb3ZlTm9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTW9kdWxlT3BlbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2F2ZVRvQnVmZmVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTYXZlVG9GZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2F2ZVRvRmlsZW5hbWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNhdmVUb0lPJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFTZXRWYWxpZE9wdGlvbnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbGlkQ3R4dEdldE9wdGlvbnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbGlkYXRlRmlsZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZUN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZUN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJTZXR1cCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDb250ZXh0U2V0Q2FjaGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdvcmRlcmVkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbExpc3RBcHBlbmQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbExpc3RJbnNlcnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV4dEFuY2VzdG9yJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5leHRGb2xsb3dpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV4dFByZWNlZGluZycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J29yZGVyaW5nJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbExpc3REYXRhQ29tcGFyZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J29yZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdYSU5DTFVERV9OUycvPgorICAgICAgICAgIDxyZWYgbmFtZT0nWElOQ0xVREVfT0xEX05TJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDMTRORG9jRHVtcE1lbW9yeScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQzE0TkRvY1NhdmUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEMxNE5Eb2NTYXZlVG8nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEMxNE5FeGVjdXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGVja0xhbmd1YWdlSUQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldENoYXJFbmNvZGluZ05hbWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlckhhbmRsZVBFUmVmZXJlbmNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJIYW5kbGVSZWZlcmVuY2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUdldFByZWRlZmluZWRUeXBlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyTm9kZVR5cGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdvcmllbnRlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGl0eUVycm9yRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRpdHlXYXJuaW5nRnVuYycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J29yaWdpbic+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sWFBhdGhDb250ZXh0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nb3JpZ2luYWwnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFNjaGVtYUVsZW1lbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxTY2hlbWFGYWNldCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hhckVuY29kaW5nSW5wdXRGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDb3B5RXJyb3InLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldEVuY29kaW5nQWxpYXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbExpc3RNZXJnZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbnRpdHlWYWx1ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VVUklSYXcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVNBWFBsdWcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVNBWFVucGx1ZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2hlbGxTYXZlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJjYXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cm5jYXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cm5jYXROZXcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoT2JqZWN0Q29weScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J290aGVyJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0lOQ0xVRElOR19DT05WRVJUX05TJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sQXV0b0Nsb3NlVGFnJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sSXNBdXRvQ2xvc2VkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sTm9kZVN0YXR1cycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFOZXdOZWdUcmFucycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2F0YWxvZ0FkZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2NNZW1TZXR1cCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTG9hZEFDYXRhbG9nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxNZW1TZXR1cCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUFVwZGF0ZVVSTCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VBdHRWYWx1ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VBdHRyaWJ1dGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlTmFtZXNwYWNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVNERGVjbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hTmV3U3RyaW5nVmFsdWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJJc05hbWVzcGFjZURlY2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJSZWFkU3RyaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZVJvb3QnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoSWRGdW5jdGlvbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb3JtYWxpemVGdW5jdGlvbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhTdHJpbmdGdW5jdGlvbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhTdHJpbmdMZW5ndGhGdW5jdGlvbicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J291cic+CisgICAgICAgICAgPHJlZiBuYW1lPSdzZXREb2N1bWVudExvY2F0b3InLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3NldERvY3VtZW50TG9jYXRvclNBWEZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWDJTZXREb2N1bWVudExvY2F0b3InLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdvdXQnPgorICAgICAgICAgIDxyZWYgbmFtZT0nVVRGOFRvSHRtbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nVVRGOFRvaXNvbGF0MScvPgorICAgICAgICAgIDxyZWYgbmFtZT0nZG9jYkVuY29kZUVudGl0aWVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sRW5jb2RlRW50aXRpZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2lzb2xhdDFUb1VURjgnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoYXJFbmNvZGluZ0lucHV0RnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTG9ja0xpYnJhcnknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRW50aXR5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVhQYXJzZUVudGl0eScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRpdHlMb2NhdG9yRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2V0R2VuZXJpY0Vycm9yRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2V0U3RydWN0dXJlZEVycm9yRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlck5vcm1hbGl6YXRpb24nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRnVuY3Rpb24nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm9kZVNldEl0ZW0nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdvdXQtb2YnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRE9NV3JhcEFkb3B0Tm9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRE9NV3JhcENsb25lTm9kZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J291dHB1dD8nPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3VGV4dFdyaXRlckRvYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3VGV4dFdyaXRlckZpbGVuYW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdUZXh0V3JpdGVyTWVtb3J5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdUZXh0V3JpdGVyUHVzaFBhcnNlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3VGV4dFdyaXRlclRyZWUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdvdXRzaWRlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlY29uY2lsaWF0ZU5zJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nb3Zlcic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFeHBDdHh0TmJDb25zJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nb3ZlcmZsb3cnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFBhcnNlcklucHV0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nb3ZlcnJpZGUnPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX01BWF9ESUNUSU9OQVJZX0xJTUlUJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfTUFYX05BTUVfTEVOR1RIJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfTUFYX1RFWFRfTEVOR1RIJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdyZXNvbHZlRW50aXR5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdyZXNvbHZlRW50aXR5U0FYRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2F0YWxvZ0FkZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0TGluZU5vJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVgyUmVzb2x2ZUVudGl0eScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J292ZXJyaWRpbmcnPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX01BWF9OQU1FX0xFTkdUSCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J292ZXJ3cml0ZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBQ2F0YWxvZ0FkZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2F0YWxvZ0FkZCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J292ZXJ3cml0dGVuJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEFkZEVuY29kaW5nQWxpYXMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdvd24nPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbEVudGl0eScvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFBhcnNlckN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3Jlc29sdmVFbnRpdHknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3Jlc29sdmVFbnRpdHlTQVhGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDbGVhbnVwTWVtb3J5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVgyUmVzb2x2ZUVudGl0eScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J293bmVkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENsZWFyUGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRGljdE93bnMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdvd25lcic+CisgICAgICAgICAgPHJlZiBuYW1lPSdmdHBMaXN0Q2FsbGJhY2snLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERPTVdyYXBSZW1vdmVOb2RlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nb3duZXJzaGlwJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEFkZEF0dHJpYnV0ZURlY2wnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdvd25pbmcnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ29weURvY0VsZW1lbnRDb250ZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxGcmVlRG9jRWxlbWVudENvbnRlbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld0RvY0ZyYWdtZW50Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nb3ducyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX09XTkVEX0FUVFJfV0lMRENBUkQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgPC9sZXR0ZXI+CisgICAgPC9jaHVuaz4KKyAgICA8Y2h1bmsgbmFtZT0nY2h1bmsyMic+CisgICAgICA8bGV0dGVyIG5hbWU9J3AnPgorICAgICAgICA8d29yZCBuYW1lPSdwYWlycyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdzdGFydEVsZW1lbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3N0YXJ0RWxlbWVudE5zU0FYMkZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3N0YXJ0RWxlbWVudFNBWEZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWDJTdGFydEVsZW1lbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWDJTdGFydEVsZW1lbnROcycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3BhcmFtJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxEdGQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdwYXJhbWV0ZXItZW50aXR5Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlTWFya3VwRGVjbCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3BhcmFtZXRlcnMnPgorICAgICAgICAgIDxyZWYgbmFtZT0nQVRUUklCVVRFX1VOVVNFRCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nZXJyb3JTQVhGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdmYXRhbEVycm9yU0FYRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0nd2FybmluZ1NBWEZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld0NoaWxkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdUZXh0Q2hpbGQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlckVycm9yJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJWYWxpZGl0eUVycm9yJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJWYWxpZGl0eVdhcm5pbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcldhcm5pbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0clByaW50ZicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyVlByaW50ZicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0QXR0cmlidXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRBdHRyaWJ1dGVOUycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0Q0RBVEEnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdENvbW1lbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdERURCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFREQXR0bGlzdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFRERWxlbWVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFRESW50ZXJuYWxFbnRpdHknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdEVsZW1lbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdEVsZW1lbnROUycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0UEknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdFJhdycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0U3RyaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEV2YWxGdW5jJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncGFyZW50LSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sTm9kZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3BhcmVudGhlc2VzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2wnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdwYXJlbnRoZXNpcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTbnByaW50ZkVsZW1lbnRDb250ZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTcHJpbnRmRWxlbWVudENvbnRlbnQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdwYXJlbnRoZXNpemVkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2wnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdwYXJlbnRzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNlYXJjaE5zJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTZWFyY2hOc0J5SHJlZicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3BhcnRpYWwnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sT3V0cHV0QnVmZmVyV3JpdGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dEJ1ZmZlcldyaXRlRXNjYXBlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3BhcnRpY3VsYXInPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbE5vZGVTZXQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdwYXNzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEN1cnJlbnRDaGFyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheFBhcnNlclNldEZsYWcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJTZXRFcnJvckhhbmRsZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJTZXRTdHJ1Y3R1cmVkRXJyb3JIYW5kbGVyJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncGFzc2VkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0NIRUNLX0FSSVRZJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YU5ld05lZ1RyYW5zJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YU5ld1RyYW5zaXRpb24nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhTmV3VHJhbnNpdGlvbjInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEhhc2hTY2FuJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoU2NhbjMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEhhc2hTY2FuRnVsbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFNjYW5GdWxsMycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTGlzdFJldmVyc2VXYWxrJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0V2FsaycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUEdldCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUExpc3QnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQXR0VmFsdWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNldEdlbmVyaWNFcnJvckZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNldFN0cnVjdHVyZWRFcnJvckZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhJbmNsdWRlUHJvY2Vzc0ZsYWdzRGF0YScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWEluY2x1ZGVQcm9jZXNzVHJlZUZsYWdzRGF0YScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhFdmFsRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhJbnRlcnNlY3Rpb24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdwYXNzaXZlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBHZXRDb25uZWN0aW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncGFzc3dvcmQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUFByb3h5Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncGFzdCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdhdHRyaWJ1dGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2F0dHJpYnV0ZVNBWEZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJHZXRSZW1haW5kZXInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdwYXN0ZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWNvbmNpbGlhdGVOcycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3BhdGgnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFVSSScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2Fub25pY1BhdGgnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoZWNrRmlsZW5hbWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldE5vZGVQYXRoJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxMb2FkQUNhdGFsb2cnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbExvYWRDYXRhbG9nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxMb2FkU0dNTFN1cGVyQ2F0YWxvZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTW9kdWxlT3BlbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUEdldFNvY2tldCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUFVwZGF0ZVVSTCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9ybWFsaXplVVJJUGF0aCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9ybWFsaXplV2luZG93c1BhdGgnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlckdldERpcmVjdG9yeScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGF0aFRvVVJJJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTaGVsbFB3ZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2hlbGxWYWxpZGF0ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncGF0aG9sb2dpY2FsJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdwYXR0ZXJuJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfTk9STVZBTFVFTkVFREVEJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXR0ZXJuRnJvbVJvb3QnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhdHRlcm5HZXRTdHJlYW1DdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXR0ZXJuTWF0Y2gnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhdHRlcm5NYXhEZXB0aCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGF0dGVybk1pbkRlcHRoJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXR0ZXJuU3RyZWFtYWJsZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGF0dGVybmNvbXBpbGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbGlkYXRlRmFjZXRXaHRzcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyZWFtV2FudHNBbnlOb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyUHJlc2VydmVQYXR0ZXJuJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncGF0dGVybnMnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFNjaGVtYUZhY2V0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncGNkYXRhJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2NkYXRhQmxvY2snLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2NkYXRhQmxvY2tTQVhGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVgyQ0RhdGFCbG9jaycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3BlZGFudGljJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxQYXJzZXJDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQZWRhbnRpY1BhcnNlckRlZmF1bHQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdwZXInPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0TGFzdEVycm9yJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUF0dHJpYnV0ZVR5cGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlRWxlbWVudERlY2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ29udGV4dFNldENhY2hlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncGVyLXRocmVhZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdMSUJYTUxfVEhSRUFEX0FMTE9DX0VOQUJMRUQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdwZXJmb3JtYW5jZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncGVyZm9ybWVkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxOb2RlU3RhdHVzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncGVybWFuZW50bHknPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hlY2tMYW5ndWFnZUlEJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncGVydGFpbic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdEb2NUZXh0TGVuJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncGVydGFpbnMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUdldEJhc2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5UmVjb3ZlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFeHRlcm5hbEVudGl0eScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3BoYXNlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlZ05ld0V4ZWNDdHh0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncGljMSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWlsZFJlbGF0aXZlVVJJJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncGllY2UnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3Q2hpbGQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld0RvY05vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld0RvY05vZGVFYXROYW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlU2V0Q29udGVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9kZVNldENvbnRlbnRMZW4nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdwaWVjZXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VVUklSYXcnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdwbGFjZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDYXRhbG9nQWRkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDb3B5RXJyb3InLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdjTWVtR2V0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxNZW1HZXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlcGxhY2VOb2RlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncGxhY2VzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE1lbURpc3BsYXlMYXN0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJQcmludGYnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0clZQcmludGYnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdwbGF0Zm9ybXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0VGhyZWFkSWQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdwbHVnJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRnVuY0xvb2t1cEZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoVmFyaWFibGVMb29rdXBGdW5jJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncGx1Z2luJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENsZWFudXBQYXJzZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENsZWFudXBUaHJlYWRzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncGx1Z2lucyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDbGVhbnVwUGFyc2VyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDbGVhbnVwVGhyZWFkcycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3BsdXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0nVVRGOFRvSHRtbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nZG9jYkVuY29kZUVudGl0aWVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sRW5jb2RlRW50aXRpZXMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdwbmV0bGliLWRvYyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyTm9kZVR5cGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdwb2ludGVkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBvcElucHV0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncG9pbnRlcnMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySW5wdXRHcm93Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWNvbmNpbGlhdGVOcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVnRXhlY0VyckluZm8nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlZ0V4ZWNOZXh0VmFsdWVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFTQVhQbHVnJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFTQVhVbnBsdWcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkR2V0VmFsaWRFbGVtZW50cycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3BvaW50cyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sQ2hSYW5nZUdyb3VwJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncG9wJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBvcElucHV0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncG9wcGVkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRnVuY3Rpb24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdwb3BzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNraXBCbGFua0NoYXJzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncG9ydCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sVVJJJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vRlRQQ29ubmVjdFRvJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vRlRQUHJveHknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBTY2FuUHJveHknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBVcGRhdGVVUkwnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9IVFRQU2NhblByb3h5Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncG9ydGFiaWxpdHknPgorICAgICAgICAgIDxyZWYgbmFtZT0nSU5WQUxJRF9TT0NLRVQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1NPQ0tFVCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTW9kdWxlT3BlbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTW9kdWxlU3ltYm9sJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncG9ydGFibGUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhJc0luZicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhJc05hTicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3Bvcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVVEY4U3Ryc3ViJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncG9zaXRpb246Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoU3Vic3RyaW5nRnVuY3Rpb24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdwb3NpdGlvbmVkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJSZWFkU3RyaW5nJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncG9zaXRpb25uZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclJlYWRBdHRyaWJ1dGVWYWx1ZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3Bvc2l0aW9ucyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVVEY4U3Ryc3ViJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncG9zc2libGUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ29weU5vZGVMaXN0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDcmVhdGVFbnRpdHlQYXJzZXJDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZURlZmF1bHREZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUV4dGVybmFsSUQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlY29uY2lsaWF0ZU5zJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWdFeGVjRXJySW5mbycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVnRXhlY05leHRWYWx1ZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJSZWxheE5HU2V0U2NoZW1hJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyUmVsYXhOR1ZhbGlkYXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyUmVsYXhOR1ZhbGlkYXRlQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyU2NoZW1hVmFsaWRhdGVDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyU2V0U2NoZW1hJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZUR0ZEZpbmFsJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncG9zc2libHknPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRG9jR2V0Um9vdEVsZW1lbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERvY1NldFJvb3RFbGVtZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJc0JsYW5rTm9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlSZWNvdmVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUV4dGVybmFsRW50aXR5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTYXZlVG9GaWxlbmFtZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhTdHJpbmdGdW5jdGlvbicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3Bvc3RlcmlvcmknPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2V0TnMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdwb3RlbnRpYWwnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRGVidWdDaGVja0RvY3VtZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZEdldFBvdGVudGlhbENoaWxkcmVuJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncG90ZW50aWFsbHknPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFVSSScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3ByYWN0aWNlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlVmVyc2lvbk51bScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3ByZS1pbnRlcm5lZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sUGFyc2VyQ3R4dCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3ByZWFsbG9jYXRlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWlsZFFOYW1lJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncHJlY2VkZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVudGl0eVJlZicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VQRVJlZmVyZW5jZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySGFuZGxlUEVSZWZlcmVuY2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTGVhZGluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhMZWFkaW5nU29ydGVkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vZGVMZWFkaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vZGVMZWFkaW5nU29ydGVkJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncHJlY2VkZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhTdHJpbmdGdW5jdGlvbicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3ByZWNlZGVzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoU3Vic3RyaW5nQmVmb3JlRnVuY3Rpb24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdwcmVjZWRpbmcnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFhQYXRoUGFyc2VyQ29udGV4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXh0UHJlY2VkaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5leHRQcmVjZWRpbmdTaWJsaW5nJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncHJlY2VkaW5nLXNpYmxpbmcnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXh0UHJlY2VkaW5nU2libGluZycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3ByZWNpc2VseSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFN1YnN0cmluZ0Z1bmN0aW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncHJlY29tcGlsZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFhQYXRoUGFyc2VyQ29udGV4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGF0dGVybkZyb21Sb290Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXR0ZXJuR2V0U3RyZWFtQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGF0dGVybk1hdGNoJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXR0ZXJuTWF4RGVwdGgnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhdHRlcm5NaW5EZXB0aCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGF0dGVyblN0cmVhbWFibGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlZ05ld0V4ZWNDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HTmV3VmFsaWRDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFOZXdWYWxpZEN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYXRyb25OZXdWYWxpZEN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJSZWxheE5HU2V0U2NoZW1hJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyU2V0U2NoZW1hJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aERlYnVnRHVtcENvbXBFeHByJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncHJlY29tcHV0ZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hQ29weVZhbHVlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFHZXRDYW5vblZhbHVlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFHZXRDYW5vblZhbHVlV2h0c3AnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbGlkYXRlRmFjZXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbGlkYXRlRmFjZXRXaHRzcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldFdodHNwJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncHJlZGVmaW5lZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfWE1MX05BTUVTUEFDRScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2xlYW51cFByZWRlZmluZWRFbnRpdGllcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRW5jb2RlRW50aXRpZXNSZWVudHJhbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEVuY29kZVNwZWNpYWxDaGFycycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0RG9jRW50aXR5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHZXRQcmVkZWZpbmVkRW50aXR5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJbml0aWFsaXplUHJlZGVmaW5lZEVudGl0aWVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVJlZmVyZW5jZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsUHJlZGVmVHlwZU5vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbFByZWRlZlR5cGVOb2RlTm9Ob3JtJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZVByZWRlZmluZWRUeXBlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncHJlZGljYXRlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRXZhbFByZWRpY2F0ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhFdmFsdWF0ZVByZWRpY2F0ZVJlc3VsdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFB0ckV2YWxSYW5nZVByZWRpY2F0ZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3ByZWZlcmFibHknPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSW5pdGlhbGl6ZUNhdGFsb2cnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbExvYWRDYXRhbG9nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxMb2FkQ2F0YWxvZ3MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld1BJJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncHJlZmVyZW5jZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDYXRhbG9nR2V0RGVmYXVsdHMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENhdGFsb2dTZXREZWZhdWx0UHJlZmVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDYXRhbG9nU2V0RGVmYXVsdHMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdwcmVmaXhlcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDMTRORG9jRHVtcE1lbW9yeScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQzE0TkRvY1NhdmUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEMxNE5Eb2NTYXZlVG8nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEMxNE5FeGVjdXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwQWRvcHROb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwQ2xvbmVOb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwUmVjb25jaWxlTmFtZXNwYWNlcycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3ByZXBhcmluZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDbGVhbnVwUGFyc2VyJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncHJlcGFyc2VkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlYWRlck5ld1dhbGtlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVhZGVyV2Fsa2VyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HTmV3RG9jUGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hTmV3RG9jUGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hdHJvbk5ld0RvY1BhcnNlckN0eHQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdwcmVwZW5kJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkR2V0VmFsaWRFbGVtZW50cycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3ByZXNlbnQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnVmZmVyQ3JlYXRlU3RhdGljJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEaWN0TG9va3VwJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEaWN0UUxvb2t1cCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0VVRGOENoYXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld05zJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyQ29uc3RWYWx1ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclZhbHVlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZURvY3VtZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZUR0ZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVPbmVFbGVtZW50Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncHJlc2VydmUnPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfRkFDRVRfUFJFU0VSVkUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfV0hJVEVTUEFDRV9QUkVTRVJWRScvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFBhcnNlckN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVHZXRTcGFjZVByZXNlcnZlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlU2V0U3BhY2VQcmVzZXJ2ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySW5wdXRHcm93Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyUHJlc2VydmUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJQcmVzZXJ2ZVBhdHRlcm4nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdwcmVzZXJ2ZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0nSFRNTF9QUkVTRVJWRV9OT0RFJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdUZXh0Q2hpbGQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyR3JvdycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3ByZXNlcnZpbmcnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUdldFNwYWNlUHJlc2VydmUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVTZXRTcGFjZVByZXNlcnZlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncHJldic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZEdldFZhbGlkRWxlbWVudHMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdwcmV2ZW50Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxQYXJzZXJDdHh0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncHJldmlvdXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbEF0dHInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxBdHRyaWJ1dGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxEb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxEdGQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxFbGVtZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sRW50aXR5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sTm9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbEhhbmRsZU9taXR0ZWRFbGVtJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sUGFyc2VFbGVtZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBZGRQcmV2U2libGluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnVmZmVyRGV0YWNoJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDYXRhbG9nU2V0RGVidWcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENhdGFsb2dTZXREZWZhdWx0UHJlZmVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEZXJlZ2lzdGVyTm9kZURlZmF1bHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERpY3RTZXRMaW1pdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sS2VlcEJsYW5rc0RlZmF1bHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbExpbmVOdW1iZXJzRGVmYXVsdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGVkYW50aWNQYXJzZXJEZWZhdWx0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQcmV2aW91c0VsZW1lbnRTaWJsaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQdXNoSW5wdXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWERlZmF1bHRWZXJzaW9uJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEF4aXNGdW5jJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncHJpbWl0aXZlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfQlVJTFRJTl9QUklNSVRJVkUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ29udmVydEZ1bmMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdwcmludCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTaGVsbFByaW50Tm9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU25wcmludGZFbGVtZW50Q29udGVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3ByaW50ZkVsZW1lbnRDb250ZW50Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncHJpbnRlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sTm9kZUR1bXAnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxOb2RlRHVtcEZpbGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxOb2RlRHVtcEZpbGVGb3JtYXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxOb2RlRHVtcEZvcm1hdE91dHB1dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbE5vZGVEdW1wT3V0cHV0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWZOb2RlRHVtcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRWxlbUR1bXAnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVEdW1wJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlRHVtcE91dHB1dCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3ByaW9yJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNldHVwUGFyc2VyRm9yQnVmZmVyJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncHJpdmF0ZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDYXRhbG9nTG9jYWxSZXNvbHZlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDYXRhbG9nTG9jYWxSZXNvbHZlVVJJJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGVja0xhbmd1YWdlSUQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4UGFyc2VyU2V0RmxhZycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3ByaXZhdGV1c2UnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hlY2tMYW5ndWFnZUlEJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncHJvYmxlbSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQ3R4dEV4dGVybmFsRW50aXR5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUV4dGVybmFsRW50aXR5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HVmFsaWRhdGVGdWxsRWxlbWVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVsYXhOR1ZhbGlkYXRlUG9wRWxlbWVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVsYXhOR1ZhbGlkYXRlUHVzaENEYXRhJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HVmFsaWRhdGVQdXNoRWxlbWVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckdldFJlbWFpbmRlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVVRGOFN0cnN1YicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVQb3BFbGVtZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZVB1c2hDRGF0YScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVQdXNoRWxlbWVudCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3Byb2JsZW1zJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ1ZmZlclJlc2l6ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRGVidWdDaGVja0RvY3VtZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxMb2FkRXh0ZXJuYWxFbnRpdHknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlRHRkJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncHJvY2VkdXJlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2luaXR4bWxEZWZhdWx0U0FYSGFuZGxlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYMkluaXREZWZhdWx0U0FYSGFuZGxlcicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3Byb2Nlc3MnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2xlYW51cFBhcnNlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRE9NV3JhcEFkb3B0Tm9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRE9NV3JhcENsb25lTm9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRE9NV3JhcFJlY29uY2lsZU5hbWVzcGFjZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERlY29kZUVudGl0aWVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdUZXh0UmVhZGVyRmlsZW5hbWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQXR0VmFsdWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRW50aXR5UmVmJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HTmV3RG9jUGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hTmV3RG9jUGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hdHJvbk5ld0RvY1BhcnNlckN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNraXBCbGFua0NoYXJzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJpbmdEZWNvZGVFbnRpdGllcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyaW5nTGVuRGVjb2RlRW50aXRpZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkQ3R4dE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncHJvY2Vzc2VkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxQYXJzZXJDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdzdGFydERvY3VtZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdzdGFydERvY3VtZW50U0FYRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0nc3RhcnRFbGVtZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdzdGFydEVsZW1lbnRTQVhGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWlsZFVSSScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VBdHRWYWx1ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYMlN0YXJ0RG9jdW1lbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWDJTdGFydEVsZW1lbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJSZWxheE5HU2V0U2NoZW1hJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyUmVsYXhOR1ZhbGlkYXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyUmVsYXhOR1ZhbGlkYXRlQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyU2NoZW1hVmFsaWRhdGVDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyU2V0U2NoZW1hJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncHJvY2Vzc2luZy1pbnN0cnVjdGlvbic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aElzTm9kZVR5cGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdwcm9jZXNzaW5nLWluc3RydWN0aW9uLW5vZGUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyZWFtUHVzaE5vZGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdwcm9jZXNzaW5nLWluc3RydWN0aW9uLW5vZGVzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cmVhbVdhbnRzQW55Tm9kZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3Byb2Nlc3Nvcic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDdXJyZW50Q2hhcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VBdHRWYWx1ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbnRpdHlSZWYnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkQ3R4dE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncHJvY2dyZXNzZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckdldFJlbWFpbmRlcicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3Byb2R1Y2UnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyaW5nR2V0Tm9kZUxpc3QnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cmluZ0xlbkdldE5vZGVMaXN0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncHJvZHVjZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ3VycmVudENoYXInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdwcm9kdWNpbmcnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hlY2tVVEY4Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncHJvZHVjdGlvbjonPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hlY2tMYW5ndWFnZUlEJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncHJvZHVjdGlvbnMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hlY2tMYW5ndWFnZUlEJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncHJvZ3JhbSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyTmV3Q29udGV4dCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3Byb2dyYW1zJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxJbml0QXV0b0Nsb3NlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJbml0UGFyc2VyJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncHJvZ3Jlc3Nlcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWdOZXdFeGVjQ3R4dCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3Byb2dyZXNzaXZlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxQYXJzZXJDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBbGxvY1BhcnNlcklucHV0QnVmZmVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxPdXRwdXRCdWZmZXJDcmVhdGVCdWZmZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sT3V0cHV0QnVmZmVyQ3JlYXRlSU8nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVJTycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVNZW0nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlU3RhdGljJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJJbnB1dEJ1ZmZlclB1c2gnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlZ05ld0V4ZWNDdHh0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncHJvaGliaXRlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19BVFRSX1VTRV9QUk9ISUJJVEVEJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncHJvamVjdHMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhJc0luZicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhJc05hTicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3Byb2xvZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZURvY3VtZW50Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncHJvbXB0Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNoZWxsUmVhZGxpbmVGdW5jJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncHJvcGVyJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlQXR0cmlidXRlVmFsdWUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdwcm9wZXJseSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVsZW1lbnRDaGlsZHJlbkNvbnRlbnREZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZU1hcmt1cERlY2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlY29uY2lsaWF0ZU5zJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncHJvcGVydGllcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sTm9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQWRkQ2hpbGQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEFkZE5leHRTaWJsaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBZGRQcmV2U2libGluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ29weU5vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERvY0NvcHlOb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyUmVhZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclNldFBhcnNlclByb3AnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdwcm9wZXJ0eSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sQXR0cicvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbER0ZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQWRkQ2hpbGQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEZyZWVQcm9wTGlzdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3RG9jUHJvcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3TnNQcm9wJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdOc1Byb3BFYXROYW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdQcm9wJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyR2V0UGFyc2VyUHJvcCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3Byb3RvY29sJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBDbGVhbnVwJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vRlRQSW5pdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUFNjYW5Qcm94eScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUFVwZGF0ZVVSTCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0hUVFBDbGVhbnVwJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUEluaXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9IVFRQU2NhblByb3h5Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncHJvdG90eXBlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3hsaW5rRXh0ZW5kZWRMaW5rRnVuaycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neGxpbmtFeHRlbmRlZExpbmtTZXRGdW5rJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bGlua05vZGVEZXRlY3RGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bGlua1NpbXBsZUxpbmtGdW5rJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncHJvdmVuYW5jZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFbnRpdHlSZWZlcmVuY2VGdW5jJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncHJvdmlkZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdJTlZBTElEX1NPQ0tFVCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nU09DS0VUJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWZOb2RlRHVtcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRG9jRHVtcEZvcm1hdE1lbW9yeScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRG9jRHVtcEZvcm1hdE1lbW9yeUVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRG9jRm9ybWF0RHVtcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSW5wdXRNYXRjaENhbGxiYWNrJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlRHVtcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUR1bXBPdXRwdXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dE1hdGNoQ2FsbGJhY2snLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNhdmVGb3JtYXRGaWxlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTYXZlRm9ybWF0RmlsZUVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRhdGVTZXRGaWxlbmFtZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRhdGVTZXRMb2NhdG9yJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZVN0cmVhbScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVVRGOFN0cmxvYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVVRGOFN0cnBvcycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3Byb3ZpZGVzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2VuZEVsZW1lbnROc1NBWDJGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdzdGFydEVsZW1lbnROc1NBWDJGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCeXRlQ29uc3VtZWQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEV4cEN0eHROYkNvbnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEV4cEN0eHROYk5vZGVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVgyRW5kRWxlbWVudE5zJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVgyU3RhcnRFbGVtZW50TnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJCeXRlQ29uc3VtZWQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdwcm92aWRpbmcnPgorICAgICAgICAgIDxyZWYgbmFtZT0nSU5QVVRfQ0hVTksnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdwcm92b2tlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGVja1VURjgnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdwcm94aW1pdHknPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFhQYXRoQ29udGV4dCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3Byb3h5Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBDbGVhbnVwJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vRlRQSW5pdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUFByb3h5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vRlRQU2NhblByb3h5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUEluaXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9IVFRQU2NhblByb3h5Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncHJ1bmUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVwbGFjZU5vZGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdwdGhyZWFkX3QnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0VGhyZWFkSWQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdwdGhyZWFkcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHZXRUaHJlYWRJZCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3B1YmxpY0lEJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRXh0ZXJuYWxJRCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3B1bGwnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySW5wdXRCdWZmZXJHcm93Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncHVyZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUNEU2VjdCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3B1cnBvc2VzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRGVidWdEdW1wT2JqZWN0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncHVzaCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdMSUJYTUxfUFVTSF9FTkFCTEVEJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sUGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nZG9jYkNyZWF0ZVB1c2hQYXJzZXJDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENyZWF0ZVB1c2hQYXJzZXJDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDdHh0UmVzZXRQdXNoJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJJbnB1dEJ1ZmZlclB1c2gnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cmVhbVBvcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhFdmFsRXhwcicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3B1c2hlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWdFeGVjRXJySW5mbycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyZWFtUHVzaE5vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cmVhbVdhbnRzQW55Tm9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhGdW5jdGlvbicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3B1c2hpbmcnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VQRVJlZmVyZW5jZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3B1dCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDYXRhbG9nQWRkJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncHV0YXRpdmUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hlY2tVVEY4Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncHdkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNoZWxsUHdkJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgIDwvbGV0dGVyPgorICAgIDwvY2h1bms+CisgICAgPGNodW5rIG5hbWU9J2NodW5rMjMnPgorICAgICAgPGxldHRlciBuYW1lPSdxJz4KKyAgICAgICAgPHdvcmQgbmFtZT0ncXVhbGlmaWVkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX1FVQUxJRl9BVFRSJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19RVUFMSUZfRUxFTScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0RHRkUUF0dHJEZXNjJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW1lc3BhY2VQYXJzZVFOYW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTcGxpdFFOYW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTcGxpdFFOYW1lMicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3BsaXRRTmFtZTMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJDb25zdE5hbWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJHZXRBdHRyaWJ1dGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJNb3ZlVG9BdHRyaWJ1dGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJOYW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZVBvcEVsZW1lbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlUHVzaEVsZW1lbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoUGFyc2VOQ05hbWUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdxdWVyeSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sVVJJJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncXVvdCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVudGl0eVJlZicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VTRERlY2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlckhhbmRsZVJlZmVyZW5jZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3F1b3RhdGlvbic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyUXVvdGVDaGFyJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncXVvdGUnPgorICAgICAgICAgIDxyZWYgbmFtZT0nZG9jYkVuY29kZUVudGl0aWVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sRW5jb2RlRW50aXRpZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ1ZmZlcldyaXRlUXVvdGVkU3RyaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyU2V0UXVvdGVDaGFyJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncXVvdGVkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ1ZmZlcldyaXRlUXVvdGVkU3RyaW5nJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncXVvdGVzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlUXVvdGVkU3RyaW5nJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncXVvdGluZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyU2V0UXVvdGVDaGFyJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgIDwvbGV0dGVyPgorICAgICAgPGxldHRlciBuYW1lPSdyJz4KKyAgICAgICAgPHdvcmQgbmFtZT0ncmFpc2UnPgorICAgICAgICAgIDxyZWYgbmFtZT0nWFBfRVJST1InLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hQX0VSUk9SMCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3JhaXNlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sRXJyb3InLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoZWNrSFRUUElucHV0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vRlRQVXBkYXRlVVJMJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENoZWNrRXJyb3InLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdyYW5nZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdJU19CWVRFX0NIQVInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhTmV3Q291bnRlclRyYW5zJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWZmZXJBZGQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ1ZmZlckFkZEhlYWQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoYXJJblJhbmdlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFeHBOZXdSYW5nZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlck5vcm1hbGl6YXRpb24nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm9kZVNldEl0ZW0nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQdHJMb2NhdGlvblNldEFkZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFB0ckxvY2F0aW9uU2V0RGVsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyTG9jYXRpb25TZXRSZW1vdmUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQdHJOZXdDb2xsYXBzZWRSYW5nZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFB0ck5ld0xvY2F0aW9uU2V0Tm9kZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQdHJOZXdSYW5nZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFB0ck5ld1JhbmdlTm9kZU9iamVjdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFB0ck5ld1JhbmdlTm9kZVBvaW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyTmV3UmFuZ2VOb2RlcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFB0ck5ld1JhbmdlUG9pbnROb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyTmV3UmFuZ2VQb2ludHMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdyYW5nZS10byc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyUmFuZ2VUb0Z1bmN0aW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncmFuZ2VzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxDaFJhbmdlR3JvdXAnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQdHJGcmVlTG9jYXRpb25TZXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQdHJMb2NhdGlvblNldE1lcmdlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncmFuZ2VzZXRzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQdHJMb2NhdGlvblNldE1lcmdlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncmF0aGVyJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJJc05hbWVzcGFjZURlY2wnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdyYXRpbyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHZXREb2NDb21wcmVzc01vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNldENvbXByZXNzTW9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2V0RG9jQ29tcHJlc3NNb2RlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncmF0aW9uJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncmF3Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxQYXJzZXJJbnB1dEJ1ZmZlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFtZXNwYWNlUGFyc2VOQ05hbWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbWVzcGFjZVBhcnNlTlNEZWYnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbWVzcGFjZVBhcnNlUU5hbWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVBZGRDb250ZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlQWRkQ29udGVudExlbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VDRFNlY3QnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyR3JvdycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0UmF3Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVSYXcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRSYXcnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdyZS1lbnRyYW50Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbExvY2tMaWJyYXJ5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdSTXV0ZXgnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVubG9ja0xpYnJhcnknLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdyZWFjaGFibGUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGF0dGVybk1heERlcHRoJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXR0ZXJuTWluRGVwdGgnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdyZWFjaGVkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlZ0V4ZWNQdXNoU3RyaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWdFeGVjUHVzaFN0cmluZzInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdyZWFkLW9ubHknPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRGljdENyZWF0ZVN1YicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3JlYWRhYmxlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0ckVxdWFsJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncmVhZGVyLSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyR2V0UmVtYWluZGVyJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncmVhZGluZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZVN0cmVhbScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2hlbGwnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdyZWFkeSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdJTlBVVF9DSFVOSycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFDb21waWxlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncmVhbGxvYyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sQnVmZmVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHY01lbUdldCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2NNZW1TZXR1cCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTWVtR2V0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxNZW1SZWFsbG9jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxNZW1TZXR1cCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVhbGxvY0Z1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlYWxsb2NMb2MnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdyZWFsbG9jYXRlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWFsbG9jRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RybmNhdCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3JlYWxseSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdIVE1MX0NPTU1FTlRfTk9ERScvPgorICAgICAgICAgIDxyZWYgbmFtZT0nSFRNTF9FTlRJVFlfUkVGX05PREUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0hUTUxfUElfTk9ERScvPgorICAgICAgICAgIDxyZWYgbmFtZT0nSFRNTF9QUkVTRVJWRV9OT0RFJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdIVE1MX1RFWFRfTk9ERScvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbEVudGl0eUxvb2t1cCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbEVudGl0eVZhbHVlTG9va3VwJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWlsZFJlbGF0aXZlVVJJJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDcmVhdGVFbnRpdGllc1RhYmxlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncmVhc29uYWJsZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWlsZFJlbGF0aXZlVVJJJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncmVjZWl2ZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFeHBEdW1wJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncmVjZWl2ZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0nZnRwRGF0YUNhbGxiYWNrJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUFJldHVybkNvZGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdyZWNlaXZlcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUV4dGVybmFsSUQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdyZWNlaXZpbmcnPgorICAgICAgICAgIDxyZWYgbmFtZT0nY2hhcmFjdGVycycvPgorICAgICAgICAgIDxyZWYgbmFtZT0naWdub3JhYmxlV2hpdGVzcGFjZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFeHRlcm5hbElEJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVgyQ2hhcmFjdGVycycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYMklnbm9yYWJsZVdoaXRlc3BhY2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkR2V0VmFsaWRFbGVtZW50cycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3JlY2xhaW0nPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2xlYW51cFBhcnNlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRnJlZU11dGV4Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxGcmVlUk11dGV4Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncmVjb2duaXplZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUNoYXJFbmNvZGluZycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3JlY29tbWVuZGF0aW9uJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERldGVjdENoYXJFbmNvZGluZycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3JlY29tbWVuZGF0aW9uOic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZUF0dHJpYnV0ZURlY2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlRWxlbWVudERlY2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlTm90YXRpb25EZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZU9uZUF0dHJpYnV0ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVPbmVFbGVtZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZU9uZU5hbWVzcGFjZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVSb290Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncmVjb21wdXRlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWZmZXJBZGQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ1ZmZlckFkZEhlYWQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERpY3RFeGlzdHMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERpY3RMb29rdXAnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdyZWNvbmNpbGlhdGUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVjb25jaWxpYXRlTnMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdyZWNvcmQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQUNhdGFsb2dBZGQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENhdGFsb2dBZGQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlckFkZE5vZGVJbmZvJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJGaW5kTm9kZUluZm9JbmRleCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3JlY292ZXInPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5UmVjb3ZlcicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3JlY292ZXJ5Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxQYXJzZXJDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVhQYXJzZURvYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYUGFyc2VGaWxlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVhQYXJzZUZpbGVXaXRoRGF0YScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYUGFyc2VNZW1vcnknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWFBhcnNlTWVtb3J5V2l0aERhdGEnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdyZWN1cnNlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbExvYWRBQ2F0YWxvZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTG9hZENhdGFsb2cnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNlYXJjaE5zJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZVJvb3QnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdyZWN1cnNpdmUnPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbE5vZGVEdW1wJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sTm9kZUR1bXBGaWxlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sTm9kZUR1bXBGaWxlRm9ybWF0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sTm9kZUR1bXBGb3JtYXRPdXRwdXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxOb2RlRHVtcE91dHB1dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbFBhcnNlRWxlbWVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnVmTm9kZUR1bXAnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENvcHlEb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENvcHlFbnVtZXJhdGlvbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ29weU5vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENvcHlOb2RlTGlzdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRGVidWdEdW1wRG9jdW1lbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERlYnVnRHVtcERvY3VtZW50SGVhZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRGVidWdEdW1wTm9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRGVidWdEdW1wTm9kZUxpc3QnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERlYnVnRHVtcE9uZU5vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERvY0NvcHlOb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEb2NDb3B5Tm9kZUxpc3QnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEVsZW1EdW1wJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxGcmVlRW51bWVyYXRpb24nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEZyZWVOb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxGcmVlTm9kZUxpc3QnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld1JNdXRleCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUR1bXAnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVEdW1wT3V0cHV0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVsZW1lbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlUEVSZWZlcmVuY2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlckhhbmRsZVBFUmVmZXJlbmNlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncmVjdXJzaXZlbHknPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTG9hZEFDYXRhbG9nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUF0dFZhbHVlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncmVkZWNsYXJlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWNvbmNpbGlhdGVOcycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3JlZGVmaW5lZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19BVFRSR1JPVVBfUkVERUZJTkVEJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX1JFREVGSU5FRCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3JlZGVmaW5pdGlvbic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFcnJNZW1vcnknLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdyZWRpcic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUE1ldGhvZFJlZGlyJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncmVkaXJlY3RlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUE1ldGhvZFJlZGlyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUE9wZW5SZWRpcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0hUVFBSZWRpcicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3JlZGlyZWN0aW9uJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoZWNrSFRUUElucHV0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUFJlZGlyJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncmVlbnRyYW50Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxJbml0QXV0b0Nsb3NlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFbmNvZGVFbnRpdGllc1JlZW50cmFudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRW5jb2RlU3BlY2lhbENoYXJzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxGcmVlUk11dGV4Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJbml0UGFyc2VyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdSTXV0ZXgnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJNdXRleExvY2snLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJNdXRleFVubG9jaycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3JlZic+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19BVFRSX0lOVEVSTkFMX1JFU09MVkVEJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19FTEVNX0lOVEVSTkFMX1JFU09MVkVEJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sRW50aXR5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBZGRSZWYnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEZyZWVSZWZUYWJsZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3Q2hhclJlZicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3JlZmVyZW5jZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTGlua0dldERhdGEnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQXR0VmFsdWUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdyZWZlcmVuY2luZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHZXREb2NFbnRpdHknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldER0ZEVudGl0eScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0UGFyYW1ldGVyRW50aXR5Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncmVmZXJyZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VBdHRyaWJ1dGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQ2hhclJlZicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3JlZnMnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbERvYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFBhcnNlckN0eHQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdyZWZ1c2UnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3TnMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdyZWdleCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sU2NoZW1hRmFjZXQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdyZWdleHAnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbEVsZW1lbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhQ29tcGlsZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVnRXhlY0VyckluZm8nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlZ0V4ZWNOZXh0VmFsdWVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWdFeGVjUHVzaFN0cmluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVnRXhlY1B1c2hTdHJpbmcyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWdGcmVlUmVnZXhwJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWdOZXdFeGVjQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVnZXhwUHJpbnQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdyZWdleHBzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEV4cFBhcnNlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncmVnaW9uJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoZWNrTGFuZ3VhZ2VJRCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3JlZ2lzdGVyJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZUxvb2t1cCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3JlZ2lzdGVyZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hlY2tMYW5ndWFnZUlEJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDdHh0R2V0TGFzdEVycm9yJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDdHh0UmVzZXRMYXN0RXJyb3InLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEZpbmRDaGFyRW5jb2RpbmdIYW5kbGVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHZXRDaGFyRW5jb2RpbmdIYW5kbGVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHZXRMYXN0RXJyb3InLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBvcElucHV0Q2FsbGJhY2tzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWdpc3RlcklucHV0Q2FsbGJhY2tzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWdpc3Rlck91dHB1dENhbGxiYWNrcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVzZXRMYXN0RXJyb3InLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNlYXJjaE5zJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyR2V0RXJyb3JIYW5kbGVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFJlZ2lzdGVyZWRGdW5jc0NsZWFudXAnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoUmVnaXN0ZXJlZE5zQ2xlYW51cCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhSZWdpc3RlcmVkVmFyaWFibGVzQ2xlYW51cCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3JlZ2lzdGVycyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJbml0Q2hhckVuY29kaW5nSGFuZGxlcnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld0NoYXJFbmNvZGluZ0hhbmRsZXInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdyZWdpc3RyYXRpb24nPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NLSVBfSURTJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWdpc3Rlck5vZGVEZWZhdWx0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWdpc3Rlck5vZGVGdW5jJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncmVndWxhcic+CisgICAgICAgICAgPHJlZiBuYW1lPSdMSUJYTUxfUkVHRVhQX0VOQUJMRUQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlZ0V4ZWNDYWxsYmFja3MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlZ0ZyZWVFeGVjQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVnTmV3RXhlY0N0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlZ2V4cENvbXBpbGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlZ2V4cEV4ZWMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlZ2V4cElzRGV0ZXJtaW5pc3QnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlZ2V4cFByaW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVySXNOYW1lc3BhY2VEZWNsJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncmVpbml0aWFsaXplJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENsZWFyTm9kZUluZm9TZXEnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENsZWFyUGFyc2VyQ3R4dCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3JlbGF0ZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0nTElCWE1MX1VOSUNPREVfRU5BQkxFRCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbFRhZ0xvb2t1cCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2xlYW51cFBhcnNlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2xlYW51cFRocmVhZHMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEluaXRUaHJlYWRzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUENsb3NlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZEN0eHROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3JlbGF0aW9uc2hpcHMnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX2h0bWxFbGVtRGVzYycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3JlbGF0aXZlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ1aWxkUmVsYXRpdmVVUkknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ5dGVDb25zdW1lZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckJ5dGVDb25zdW1lZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZU5vJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyTW92ZVRvQXR0cmlidXRlTm8nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVURjhTdHJsb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVURjhTdHJzdWInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdyZWxhdGl2ZS1yZWYnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VVUklSYXcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlVVJJUmVmZXJlbmNlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncmVsYXRpdmVVUkknPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VVUkknLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdyZWxlYXNlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENsZWFyTm9kZUluZm9TZXEnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENsZWFyUGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRGVjb2RlRW50aXRpZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEV4cE5ld09yJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFeHBOZXdSYW5nZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRXhwTmV3U2VxJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVbmxvY2tMaWJyYXJ5Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncmVsZWFzZXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckNsb3NlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncmVsaWFibGUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2F2ZVRvRmlsZW5hbWUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdyZWx5Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlTmFtZXNwYWNlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncmVtYWluZGVyJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJHZXRSZW1haW5kZXInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdyZW1haW5pbmcnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkaXR5RXJyb3JGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGl0eVdhcm5pbmdGdW5jJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncmVtYXBwZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hhckVuY091dEZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERPTVdyYXBBZG9wdE5vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERPTVdyYXBDbG9uZU5vZGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdyZW1vdGUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUEN3ZCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3JlbW92YWwnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFJlbW92ZUVudHJ5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoUmVtb3ZlRW50cnkyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoUmVtb3ZlRW50cnkzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncmVtb3ZlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEFDYXRhbG9nUmVtb3ZlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWZTaHJpbmsnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ1ZmZlclNocmluaycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2F0YWxvZ1JlbW92ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRGVjb2RlRW50aXRpZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERvY1NldFJvb3RFbGVtZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFbmNvZGVFbnRpdGllcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFJlbW92ZUVudHJ5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoUmVtb3ZlRW50cnkyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoUmVtb3ZlRW50cnkzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZU5hbWVzcGFjZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySW5wdXRCdWZmZXJHcm93Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vZGVTZXRSZW1vdmUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQdHJMb2NhdGlvblNldFJlbW92ZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3JlbW92ZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0naW5wdXRQb3AnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J25hbWVQb3AnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J25vZGVQb3AnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3ZhbHVlUG9wJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBQ2F0YWxvZ1JlbW92ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnVmU2hyaW5rJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWZmZXJTaHJpbmsnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENhdGFsb2dSZW1vdmUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoZWNrTGFuZ3VhZ2VJRCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRE9NV3JhcFJlbW92ZU5vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEZyZWVEb2NFbGVtZW50Q29udGVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRnJlZUVsZW1lbnRDb250ZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYW5kbGVFbnRpdHknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEhhc2hSZW1vdmVFbnRyeScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFJlbW92ZUVudHJ5MicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFJlbW92ZUVudHJ5MycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFVwZGF0ZUVudHJ5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoVXBkYXRlRW50cnkyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoVXBkYXRlRW50cnkzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdHbG9iYWxOcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VOYW1lc3BhY2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlUXVvdGVkU3RyaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFRyYW5zbGF0ZUZ1bmN0aW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncmVtb3Zlcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJJbnB1dFNocmluaycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3JlbW92aW5nJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbExvYWRTR01MU3VwZXJDYXRhbG9nJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncmVuYW1lJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxFcnJvcicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3JlcGVhdCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEF4aXNGdW5jJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncmVwZWF0ZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRXhwTmV3UmFuZ2UnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdyZXBldGl0aW9uJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEV4cE5ld1JhbmdlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncmVwbGFjZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19GQUNFVF9SRVBMQUNFJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX1dISVRFU1BBQ0VfUkVQTEFDRScvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFBhcnNlckN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVMaXN0R2V0UmF3U3RyaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlTGlzdEdldFN0cmluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncmVwbGFjZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFVwZGF0ZUVudHJ5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoVXBkYXRlRW50cnkyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoVXBkYXRlRW50cnkzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdUZXh0Q2hpbGQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVNBWFBsdWcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoVHJhbnNsYXRlRnVuY3Rpb24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdyZXBsYWNlbWVudCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBQ2F0YWxvZ0FkZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2F0YWxvZ0FkZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRW50aXR5UmVmZXJlbmNlRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VBdHRWYWx1ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VBdHRyaWJ1dGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlTWFya3VwRGVjbCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3JlcGxhY2VzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0RFQlVHX01FTU9SWScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3JlcGxhY2luZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFbmNvZGVFbnRpdGllc1JlZW50cmFudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRW5jb2RlU3BlY2lhbENoYXJzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUF0dFZhbHVlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZEN0eHROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb3JtYWxpemVGdW5jdGlvbicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3JlcG9ydGluZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdJTlBVVF9DSFVOSycvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFhQYXRoQ29udGV4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRhdGVTZXRGaWxlbmFtZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RydWN0dXJlZEVycm9yRnVuYycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3JlcG9ydHMnPgorICAgICAgICAgIDxyZWYgbmFtZT0nZG9jYkNyZWF0ZVB1c2hQYXJzZXJDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENsZWFudXBQYXJzZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENsZWFudXBUaHJlYWRzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3JlcHInPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRhdGVGYWNldCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRhdGVGYWNldFdodHNwJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZUxlbmd0aEZhY2V0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZUxlbmd0aEZhY2V0V2h0c3AnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbGlkYXRlTGlzdFNpbXBsZVR5cGVGYWNldCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3JlcHJlc2VudGF0aW9uJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J19odG1sRWxlbURlc2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUdldENhbm9uVmFsdWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUdldENhbm9uVmFsdWVXaHRzcCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3JlcHJlc2VudGF0aW9ucyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdUZXh0Q2hpbGQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUdldENhbm9uVmFsdWUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdyZXByZXNlbnRlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUNoYXJEYXRhJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFN0cmluZ0Z1bmN0aW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncmVwcmVzZW50ZWQ6Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J19odG1sRWxlbURlc2MnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdyZXByZXNlbnRpbmcnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTWVtQmxvY2tzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxNZW1Vc2VkJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncmVxdWVzdCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJT0hUVFBPcGVuVycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0hUVFBNZXRob2QnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9IVFRQTWV0aG9kUmVkaXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9IVFRQT3BlbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0hUVFBPcGVuUmVkaXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9IVFRQUmV0dXJuQ29kZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3JlcXVlc3RlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwQWNxdWlyZU5zRnVuY3Rpb24nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEV4dGVybmFsRW50aXR5TG9hZGVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNGZWF0dXJlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJc0lEJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxNYWxsb2NGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVhbGxvY0Z1bmMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdyZXF1ZXN0cyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWdpc3RlckhUVFBQb3N0Q2FsbGJhY2tzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncmVxdWlyZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfQVRUUl9VU0VfUkVRVUlSRUQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxSZXF1aXJlZEF0dHJzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDYXRhbG9nU2V0RGVidWcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUNvbGxhcHNlU3RyaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFXaGl0ZVNwYWNlUmVwbGFjZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhTdHJpbmdGdW5jdGlvbicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3JlcXVpcmVzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J19odG1sRWxlbURlc2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEMxNE5Eb2NTYXZlVG8nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEMxNE5FeGVjdXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HVmFsaWRhdGVQdXNoRWxlbWVudCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3JlcXVyZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQzE0TkRvY1NhdmUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdyZXNlcnZlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGVja0xhbmd1YWdlSUQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld1RleHRDaGlsZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVVJJRXNjYXBlU3RyJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncmVzZXQnPgorICAgICAgICAgIDxyZWYgbmFtZT0naW5pdEdlbmVyaWNFcnJvckRlZmF1bHRGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWZmZXJEZXRhY2gnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEN0eHRSZWFkRmQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVTZXRCYXNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlU2V0TmFtZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9kZVNldFNwYWNlUHJlc2VydmUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlYWRGZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVhZGVyRm9yRmQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlYWRlck5ld0ZkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTZXRHZW5lcmljRXJyb3JGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTZXROc1Byb3AnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNldFByb3AnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNldFN0cnVjdHVyZWRFcnJvckZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cmVhbVB1c2gnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cmVhbVB1c2hBdHRyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJlYW1QdXNoTm9kZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3Jlc2lkZXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckNvbnN0WG1sTGFuZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclhtbExhbmcnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdyZXNpemUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnVmZmVyUmVzaXplJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncmVzb2x1dGlvbic+CisgICAgICAgICAgPHJlZiBuYW1lPSdyZXNvbHZlRW50aXR5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdyZXNvbHZlRW50aXR5U0FYRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQUNhdGFsb2dSZXNvbHZlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBQ2F0YWxvZ1Jlc29sdmVVUkknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENhdGFsb2dMb2NhbFJlc29sdmUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENhdGFsb2dMb2NhbFJlc29sdmVVUkknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENhdGFsb2dSZXNvbHZlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDYXRhbG9nUmVzb2x2ZVVSSScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2F0YWxvZ1NldERlZmF1bHRQcmVmZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vTmV0RXh0ZXJuYWxFbnRpdHlMb2FkZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWDJSZXNvbHZlRW50aXR5Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncmVzb2x2ZUVudGl0eSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdyZXNvbHZlRW50aXR5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdyZXNvbHZlRW50aXR5U0FYRnVuYycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3Jlc29sdmVkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0FUVFJfSU5URVJOQUxfUkVTT0xWRUQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0VMRU1fSU5URVJOQUxfUkVTT0xWRUQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJMb29rdXBOYW1lc3BhY2UnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdyZXNvbHZlcic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHZXRFeHRlcm5hbEVudGl0eUxvYWRlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2V0RXh0ZXJuYWxFbnRpdHlMb2FkZXInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdyZXNvdXJjZXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2xlYXJQYXJzZXJDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxGcmVlTXV0ZXgnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEZyZWVSTXV0ZXgnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEZyZWVUZXh0UmVhZGVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxGcmVlVGV4dFdyaXRlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sT3V0cHV0QnVmZmVyQ2xvc2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4TkdGcmVlUGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVsYXhOR0ZyZWVWYWxpZEN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUZyZWVQYXJzZXJDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFGcmVlVmFsaWRDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWF0cm9uRnJlZVBhcnNlckN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYXRyb25GcmVlVmFsaWRDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyQ2xvc2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhJbmNsdWRlU2V0RmxhZ3MnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdyZXNwJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVTZXRDb250ZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlU2V0Q29udGVudExlbicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3Jlc3BlY3QnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRXhwU3RyaW5nRGVyaXZlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncmVzcGVjdGluZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZEdldFZhbGlkRWxlbWVudHMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdyZXNwb25zYWJpbGl0eSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdFbnRpdHknLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdyZXNwb25zZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vRlRQQ2hlY2tSZXNwb25zZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUEdldFJlc3BvbnNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUENvbnRlbnRMZW5ndGgnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdyZXNwb25zaWJsZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDMTRORG9jRHVtcE1lbW9yeScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2Fub25pY1BhdGgnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhdGhUb1VSSScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3Jlc3RvcmVkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVNBWFVucGx1ZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclNldEVycm9ySGFuZGxlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclNldFN0cnVjdHVyZWRFcnJvckhhbmRsZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm9kZUV2YWwnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdyZXN0cmljdCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUV4dGVybmFsSUQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdyZXN0cmljdGlvbic+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19CTE9DS19ERUZBVUxUX1JFU1RSSUNUSU9OJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19FTEVNX0JMT0NLX1JFU1RSSUNUSU9OJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19FTEVNX0ZJTkFMX1JFU1RSSUNUSU9OJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19GSU5BTF9ERUZBVUxUX1JFU1RSSUNUSU9OJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX0JMT0NLX1JFU1RSSUNUSU9OJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX0RFUklWQVRJT05fTUVUSE9EX1JFU1RSSUNUSU9OJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX0ZJTkFMX1JFU1RSSUNUSU9OJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncmVzdWx0cyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEVxdWFsVmFsdWVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vdEVxdWFsVmFsdWVzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncmV0VmFsdWUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hR2V0Q2Fub25WYWx1ZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3JldHJpZXZlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldEdsb2JhbFN0YXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vRlRQR2V0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vRlRQR2V0U29ja2V0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncmV0cmlldmVkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEhhc2hBZGRFbnRyeScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSGFzaEFkZEVudHJ5MicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSGFzaEFkZEVudHJ5MycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFVwZGF0ZUVudHJ5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoVXBkYXRlRW50cnkyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoVXBkYXRlRW50cnkzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncmV0cnknPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncmV0dXJuaW5nJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoU3RyaW5nRnVuY3Rpb24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdyZXVzYWwnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFhQYXRoQ29udGV4dCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3JldXNlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlY29uY2lsaWF0ZU5zJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWdFeGVjUHVzaFN0cmluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVnRXhlY1B1c2hTdHJpbmcyJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncmV1c2VkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ29udGV4dFNldENhY2hlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncmV1c2VzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxDdHh0UmVhZERvYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbEN0eHRSZWFkRmQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxDdHh0UmVhZEZpbGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxDdHh0UmVhZElPJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sQ3R4dFJlYWRNZW1vcnknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEN0eHRSZWFkRG9jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDdHh0UmVhZEZkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDdHh0UmVhZEZpbGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEN0eHRSZWFkSU8nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEN0eHRSZWFkTWVtb3J5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWFkZXJOZXdEb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlYWRlck5ld0ZkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWFkZXJOZXdGaWxlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWFkZXJOZXdJTycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVhZGVyTmV3TWVtb3J5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWFkZXJOZXdXYWxrZXInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdyZXVzaW5nJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhJbmNsdWRlUHJvY2Vzc05vZGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdyZXZlcnNlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbExpc3RSZXZlcnNlU2VhcmNoJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0UmV2ZXJzZVdhbGsnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV4dEFuY2VzdG9yJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5leHRBbmNlc3Rvck9yU2VsZicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXh0UHJlY2VkaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5leHRQcmVjZWRpbmdTaWJsaW5nJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncmV3cml0ZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyR2V0UmVtYWluZGVyJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncmZjJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoZWNrTGFuZ3VhZ2VJRCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3JmYy1lZGl0b3InPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hlY2tMYW5ndWFnZUlEJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncmZjNTY0Nic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGVja0xhbmd1YWdlSUQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdyaWdodCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YU5ld0NvdW50ZXJUcmFucycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hlY2tGaWxlbmFtZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hlY2tMYW5ndWFnZUlEJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFeHBOZXdPcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRXhwTmV3U2VxJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUNoYXJEYXRhJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTZXRMaXN0RG9jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTZXRUcmVlRG9jJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncm9sZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bGlua1NpbXBsZUxpbmtGdW5rJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncm9sZXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neGxpbmtFeHRlbmRlZExpbmtGdW5rJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bGlua0V4dGVuZGVkTGlua1NldEZ1bmsnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdyb2xsYmFjayc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2FuTmFtZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3Jvb3QnPgorICAgICAgICAgIDxyZWYgbmFtZT0nZXh0ZXJuYWxTdWJzZXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2V4dGVybmFsU3Vic2V0U0FYRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0naW50ZXJuYWxTdWJzZXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2ludGVybmFsU3Vic2V0U0FYRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRG9jR2V0Um9vdEVsZW1lbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERvY1NldFJvb3RFbGVtZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZURvY1R5cGVEZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZU5hbWVzcGFjZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGF0dGVybkZyb21Sb290Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVgyRXh0ZXJuYWxTdWJzZXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWDJJbnRlcm5hbFN1YnNldCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2hlbGxQd2QnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cmVhbVB1c2gnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cmVhbVB1c2hBdHRyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJlYW1QdXNoTm9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVSb290Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5ld1ZhbHVlVHJlZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhSb290Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncm91bmQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhSb3VuZEZ1bmN0aW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncm91dGluZXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0nZG9jYlNBWFBhcnNlRG9jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdkb2NiU0FYUGFyc2VGaWxlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sU0FYUGFyc2VGaWxlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHY01lbVNldHVwJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxNZW1TZXR1cCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySGFuZGxlUmVmZXJlbmNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVhQYXJzZURvYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYUGFyc2VFbnRpdHknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWFBhcnNlRmlsZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYUGFyc2VGaWxlV2l0aERhdGEnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWFBhcnNlTWVtb3J5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVhQYXJzZU1lbW9yeVdpdGhEYXRhJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVhVc2VyUGFyc2VGaWxlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVhVc2VyUGFyc2VNZW1vcnknLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdydWxlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRW50aXR5UmVmJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVN0YXJ0VGFnJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ncnVsZXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX0NBU1RfRlBUUicvPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfQU5ZQVRUUl9TVFJJQ1QnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0FOWV9TVFJJQ1QnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoU3Vic3RyaW5nRnVuY3Rpb24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdydW4nPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFBhcnNlckN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ5dGVDb25zdW1lZCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3J1bm5pbmcnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sS2VlcEJsYW5rc0RlZmF1bHQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdydW50aW1lJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0xJQlhNTF9ERUJVR19SVU5USU1FJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfTUFYX05BTUVMRU4nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9NQVhfTkFNRV9MRU5HVEgnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE1lbURpc3BsYXlMYXN0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgIDwvbGV0dGVyPgorICAgIDwvY2h1bms+CisgICAgPGNodW5rIG5hbWU9J2NodW5rMjQnPgorICAgICAgPGxldHRlciBuYW1lPSdzJz4KKyAgICAgICAgPHdvcmQgbmFtZT0nczM5MCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfQ0FTVF9GUFRSJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc2FmZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdCQURfQ0FTVCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSW5pdGlhbGl6ZUNhdGFsb2cnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbExvYWRDYXRhbG9nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxMb2FkQ2F0YWxvZ3MnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzYWZldHknPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX01BWF9ESUNUSU9OQVJZX0xJTUlUJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfTUFYX05BTUVfTEVOR1RIJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfTUFYX1RFWFRfTEVOR1RIJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc2FtZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdIVE1MX0NPTU1FTlRfTk9ERScvPgorICAgICAgICAgIDxyZWYgbmFtZT0nSFRNTF9FTlRJVFlfUkVGX05PREUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0hUTUxfUElfTk9ERScvPgorICAgICAgICAgIDxyZWYgbmFtZT0nSFRNTF9QUkVTRVJWRV9OT0RFJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdIVE1MX1RFWFRfTk9ERScvPgorICAgICAgICAgIDxyZWYgbmFtZT0nSVNfQkxBTktfQ0gnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2NoZWNrTmFtZXNwYWNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVsZW1lbnRDaGlsZHJlbkNvbnRlbnREZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVsZW1lbnRNaXhlZENvbnRlbnREZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZU1hcmt1cERlY2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlU3RhcnRUYWcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlcGxhY2VOb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJFcXVhbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RybmNhdE5ldycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVVJJVW5lc2NhcGVTdHJpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ21wTm9kZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoSWRGdW5jdGlvbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhMYW5nRnVuY3Rpb24nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV4dEFuY2VzdG9yT3JTZWxmJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5leHRGb2xsb3dpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV4dFByZWNlZGluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb3JtYWxpemVGdW5jdGlvbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhTZXRDb250ZXh0Tm9kZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3NhdmUnPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbE5vZGVEdW1wRmlsZUZvcm1hdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2NNZW1HZXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE1lbUdldCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0hUVFBGZXRjaCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2F2ZVRyZWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNoZWxsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTaGVsbFNhdmUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzYXZlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfaHRtbEVsZW1EZXNjJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUEZldGNoJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUFNhdmUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNhdmVGb3JtYXRGaWxlRW5jJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc2F2ZXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUFJlYWQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9IVFRQUmVhZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0hUVFBTYXZlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTaGVsbFdyaXRlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc2F2aW5nJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0xJQlhNTF9PVVRQVVRfRU5BQkxFRCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nTElCWE1MX1dSSVRFUl9FTkFCTEVEJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxLZWVwQmxhbmtzRGVmYXVsdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sT3V0cHV0QnVmZmVyQ3JlYXRlQnVmZmVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxPdXRwdXRCdWZmZXJDcmVhdGVGZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dEJ1ZmZlckNyZWF0ZUlPJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTYXZlQ2xvc2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNhdmVEb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNhdmVGbHVzaCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2F2ZVNldEF0dHJFc2NhcGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNhdmVTZXRFc2NhcGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNhdmVUb0J1ZmZlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2F2ZVRvRmQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNhdmVUb0ZpbGVuYW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTYXZlVG9JTycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2F2ZVRyZWUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzYXgnPgorICAgICAgICAgIDxyZWYgbmFtZT0nZG9jYlNBWFBhcnNlRG9jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdkb2NiU0FYUGFyc2VGaWxlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sU0FYUGFyc2VEb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxTQVhQYXJzZUZpbGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWFBhcnNlRG9jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVhQYXJzZUVudGl0eScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYUGFyc2VGaWxlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVhQYXJzZUZpbGVXaXRoRGF0YScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYUGFyc2VNZW1vcnknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWFBhcnNlTWVtb3J5V2l0aERhdGEnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzYXknPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbGVtZW50Q2hpbGRyZW5Db250ZW50RGVjbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VNYXJrdXBEZWNsJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc2F5cyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUNvbW1lbnQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzY2FuJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxFbnRpdHlMb29rdXAnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxFbnRpdHlWYWx1ZUxvb2t1cCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhTdHJpbmdFdmFsTnVtYmVyJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc2Nhbm5lcic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoU2NhbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFNjYW4zJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoU2NhbkZ1bGwnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEhhc2hTY2FuRnVsbDMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEhhc2hTY2FubmVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoU2Nhbm5lckZ1bGwnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzY2FubmluZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoU2Nhbm5lcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFNjYW5uZXJGdWxsJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc2Nhbm5uZXInPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFNjYW5uZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEhhc2hTY2FubmVyRnVsbCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3NjaGVtYXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVsYXhOR05ld0RvY1BhcnNlckN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4TkdOZXdNZW1QYXJzZXJDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFHZXRGYWNldFZhbHVlQXNVTG9uZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hR2V0VmFsVHlwZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hTmV3TWVtUGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRhdGVEb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbGlkYXRlRmFjZXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbGlkYXRlRmFjZXRXaHRzcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRhdGVGaWxlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZVN0cmVhbScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRpdHlMb2NhdG9yRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hdHJvbk5ld01lbVBhcnNlckN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJSZWxheE5HVmFsaWRhdGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJSZWxheE5HVmFsaWRhdGVDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyU2NoZW1hVmFsaWRhdGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZUN0eHQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzY2hlbWF0cm9uJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYXRyb25WYWxpZGF0ZURvYycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3NjaGVtZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sVVJJJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWZmZXJTZXRBbGxvY2F0aW9uU2NoZW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc2NoZW1lcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUNoYXJFbmNvZGluZycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3Njb3BlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxYUGF0aENvbnRleHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERPTVdyYXBBZG9wdE5vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERPTVdyYXBDbG9uZU5vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNldE5zUHJvcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2V0UHJvcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckNvbnN0WG1sTGFuZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckxvb2t1cE5hbWVzcGFjZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclhtbExhbmcnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzY29waW5nJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld0dsb2JhbE5zJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc2NyaXB0Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxJc1NjcmlwdEF0dHJpYnV0ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hlY2tMYW5ndWFnZUlEJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc2VhcmNoJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0VMRU1fQ0lSQ1VMQVInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxYUGF0aEF4aXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoYXJJblJhbmdlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHZXREdGRBdHRyRGVzYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0RHRkRWxlbWVudERlc2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldER0ZE5vdGF0aW9uRGVzYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0RHRkUUF0dHJEZXNjJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHZXREdGRRRWxlbWVudERlc2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbExpc3RSZXZlcnNlU2VhcmNoJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0U2VhcmNoJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTZWFyY2hOcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyY2FzZXN0cicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyY2hyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJzdHInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzZWFyY2hlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEaWN0Q3JlYXRlU3ViJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc2VjdGlvbic+CisgICAgICAgICAgPHJlZiBuYW1lPSdIVE1MX1BSRVNFUlZFX05PREUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ1aWxkVVJJJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDYXRhbG9nU2V0RGVmYXVsdFByZWZlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VDaGFyRGF0YScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VDaGFyRW5jb2RpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJFbmRDREFUQScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlclN0YXJ0Q0RBVEEnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzZWN0aW9ucyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxLZWVwQmxhbmtzRGVmYXVsdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUdldEJhc2UnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzZWVtcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW1lc3BhY2VQYXJzZU5DTmFtZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFtZXNwYWNlUGFyc2VOU0RlZicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFtZXNwYWNlUGFyc2VRTmFtZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2Nhbk5hbWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlTm90YXRpb25EZWNsJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc2VsZWN0ZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hlY2tMYW5ndWFnZUlEJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc2VsZWN0aW9uJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0xJQlhNTF9QQVRURVJOX0VOQUJMRUQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzZWxlY3RzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoSWRGdW5jdGlvbicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3NlbGYnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXh0U2VsZicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3NlbWFudGljJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhTmV3TmVnVHJhbnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm9kZVNldEZyZWVOcycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3NlbWFudGljcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENvbnRleHRTZXRDYWNoZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3NlbnNlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENyZWF0ZUVudGl0aWVzVGFibGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzZXBhcmF0ZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTG9hZENhdGFsb2dzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc2VwYXJhdGVseSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTZXRHZW5lcmljRXJyb3JGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTZXRTdHJ1Y3R1cmVkRXJyb3JGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZUF0dHJpYnV0ZURlY2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlT25lQXR0cmlidXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZU9uZUVsZW1lbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlT25lTmFtZXNwYWNlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc2VxJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2wnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzZXF1ZW5jZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sU2NoZW1hRmFjZXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxTY2hlbWFUeXBlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGFyRW5jT3V0RnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2xlYXJOb2RlSW5mb1NlcScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ3VycmVudENoYXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEV4cE5ld1NlcScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRXhwUGFyc2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldFVURjhDaGFyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJbml0Tm9kZUluZm9TZXEnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQXR0VmFsdWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5UmVjb3ZlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VJbk5vZGVDb250ZXh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJBZGROb2RlSW5mbycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VyRmluZE5vZGVJbmZvSW5kZXgnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVURjhTdHJsZW4nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVURjhTdHJzaXplJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVVEY4U3Ryc3ViJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aElkRnVuY3Rpb24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzZXF1ZW5jZXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hlY2tVVEY4Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFeHBQYXJzZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VBdHRWYWx1ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRDdHh0Tm9ybWFsaXplQXR0cmlidXRlVmFsdWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkTm9ybWFsaXplQXR0cmlidXRlVmFsdWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm9ybWFsaXplRnVuY3Rpb24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzZXF1cW5jZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFeHBJc05pbGxhYmxlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc2VyaWFsaXphdGlvbic+CisgICAgICAgICAgPHJlZiBuYW1lPSdMSUJYTUxfT1VUUFVUX0VOQUJMRUQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNhdmVUb0J1ZmZlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2F2ZVRvRmQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNhdmVUb0ZpbGVuYW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTYXZlVG9JTycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2hlbGxDYXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNoZWxsV3JpdGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlUG9wRWxlbWVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVQdXNoRWxlbWVudCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3NlcmlhbGl6ZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclJlYWRPdXRlclhtbCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3NlcmlhbGl6aW5nJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNhdmVUb0J1ZmZlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2F2ZVRvRmQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNhdmVUb0ZpbGVuYW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTYXZlVG9JTycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3NlcnZlcic+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sVVJJJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vRlRQQ2hlY2tSZXNwb25zZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUENsb3NlQ29ubmVjdGlvbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUENvbm5lY3RUbycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUEN3ZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUERlbGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBHZXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBHZXRDb25uZWN0aW9uJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vRlRQR2V0UmVzcG9uc2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBHZXRTb2NrZXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBMaXN0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vRlRQUXVpdCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3NldDpkaWZmZXJlbmNlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRGlmZmVyZW5jZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3NldDpkaXN0aW5jdCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aERpc3RpbmN0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aERpc3RpbmN0U29ydGVkJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc2V0Omhhcy1zYW1lLW5vZGUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhIYXNTYW1lTm9kZXMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzZXQ6aW50ZXJzZWN0aW9uJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoSW50ZXJzZWN0aW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc2V0OmxlYWRpbmcnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhMZWFkaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aExlYWRpbmdTb3J0ZWQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm9kZUxlYWRpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm9kZUxlYWRpbmdTb3J0ZWQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzZXQ6dHJhaWxpbmcnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb2RlVHJhaWxpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm9kZVRyYWlsaW5nU29ydGVkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFRyYWlsaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFRyYWlsaW5nU29ydGVkJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc2V0cyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdpbml0eG1sRGVmYXVsdFNBWEhhbmRsZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldFVURjhDaGFyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVgySW5pdERlZmF1bHRTQVhIYW5kbGVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZUxlbmd0aEZhY2V0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZUxlbmd0aEZhY2V0V2h0c3AnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRGlmZmVyZW5jZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhJbnRlcnNlY3Rpb24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzZXR0aW5nJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNldEdlbmVyaWNFcnJvckZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ29udGV4dFNldENhY2hlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc2V0dXBzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRW5jb2RpbmdEZWNsJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc2V2ZXJpdHknPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckVycm9yRnVuYycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3NnbWxzb3VyY2UnPgorICAgICAgICAgIDxyZWYgbmFtZT0nZ2V0U3lzdGVtSWQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWDJHZXRTeXN0ZW1JZCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3NoYWRvd2VkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERPTVdyYXBBZG9wdE5vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERPTVdyYXBDbG9uZU5vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERPTVdyYXBSZWNvbmNpbGVOYW1lc3BhY2VzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc2hhbGwnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFBhcnNlckN0eHQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzaGFyZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0nTElCWE1MX01PRFVMRV9FWFRFTlNJT04nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENhdGFsb2dBZGQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE1vZHVsZUZyZWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE1vZHVsZU9wZW4nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzaGFyZXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhIYXNTYW1lTm9kZXMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzaGVsbCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdERUJVR19NRU1PUlknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNoZWxsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTaGVsbEJhc2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNoZWxsQ2F0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTaGVsbENtZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2hlbGxEaXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNoZWxsRHUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNoZWxsTGlzdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2hlbGxMb2FkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTaGVsbFB3ZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2hlbGxSZWFkbGluZUZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNoZWxsU2F2ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2hlbGxWYWxpZGF0ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2hlbGxXcml0ZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3Nob3J0ZW4nPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRGVidWdEdW1wU3RyaW5nJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc2hvcnRlc3QnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hlY2tMYW5ndWFnZUlEJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc2hvcnRoYW5kJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJDb25zdFByZWZpeCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclByZWZpeCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3Nob3cnPgorICAgICAgICAgIDxyZWYgbmFtZT0nTElCWE1MX1ZFUlNJT05fRVhUUkEnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3hsaW5rRXh0ZW5kZWRMaW5rRnVuaycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTWVtRGlzcGxheScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTWVtU2hvdycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUxpc3RHZXRSYXdTdHJpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVMaXN0R2V0U3RyaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTaGVsbER1Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc2hvd24nPgorICAgICAgICAgIDxyZWYgbmFtZT0nZnRwTGlzdENhbGxiYWNrJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc2libGluZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sQXR0cicvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbEF0dHJpYnV0ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbERvYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbER0ZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbEVsZW1lbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxFbnRpdHknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxOb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBZGROZXh0U2libGluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQWRkUHJldlNpYmxpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5leHRFbGVtZW50U2libGluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUHJldmlvdXNFbGVtZW50U2libGluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsdWVBcHBlbmQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbHVlR2V0TmV4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXh0UHJlY2VkaW5nU2libGluZycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3NpYmxpbmdzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEFkZFNpYmxpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEZyZWVOb2RlTGlzdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRnJlZVByb3BMaXN0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5leHRGb2xsb3dpbmdTaWJsaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5leHRQcmVjZWRpbmdTaWJsaW5nJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc2lnbic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFN0cmluZ0Z1bmN0aW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc2lnbmFsJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0FUVFJJQlVURV9VTlVTRUQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxQYXJzZXJDdHh0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc2lnbmF0dXJlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNoZWxsQ21kJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTaGVsbFJlYWRsaW5lRnVuYycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3NpZ25zJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld1RleHRDaGlsZCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3NpbWlsYXInPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0Tm9Oc1Byb3AnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld05zJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTaGVsbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2hlbGxQd2QnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkaXR5RXJyb3JGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGl0eVdhcm5pbmdGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vZGVTZXRHZXRMZW5ndGgnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm9kZVNldEl0ZW0nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzaW1wbGUnPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfVFlQRV9BQlNUUkFDVCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfVFlQRV9ERVJJVkFUSU9OX01FVEhPRF9FWFRFTlNJT04nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfREVSSVZBVElPTl9NRVRIT0RfUkVTVFJJQ1RJT04nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxTY2hlbWFUeXBlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bGlua1NpbXBsZUxpbmtGdW5rJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBdHRyU2VyaWFsaXplVHh0Q29udGVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRnJlZU11dGV4Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoU2Nhbm5lcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSXNSZWYnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE11dGV4TG9jaycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTXV0ZXhVbmxvY2snLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld011dGV4Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFHZXRCdWlsdEluTGlzdFNpbXBsZVR5cGVJdGVtVHlwZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hTmV3U3RyaW5nVmFsdWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbGlkYXRlTGlzdFNpbXBsZVR5cGVGYWNldCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3NpbXBsZVR5cGUnPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfVFlQRV9GSU5BTF9ERUZBVUxUJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX0ZJTkFMX0xJU1QnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfRklOQUxfUkVTVFJJQ1RJT04nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfRklOQUxfVU5JT04nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfVkFSSUVUWV9BQlNFTlQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfVkFSSUVUWV9BVE9NSUMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfVkFSSUVUWV9MSVNUJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX1ZBUklFVFlfVU5JT04nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzaW1wbHknPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2V0R2VuZXJpY0Vycm9yRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2V0U3RydWN0dXJlZEVycm9yRnVuYycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3NpbmNlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfVkFSSUVUWV9BQlNFTlQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ1aWxkUmVsYXRpdmVVUkknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoaWxkRWxlbWVudENvdW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwQWRvcHROb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwQ2xvbmVOb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwUmVjb25jaWxlTmFtZXNwYWNlcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRmlyc3RFbGVtZW50Q2hpbGQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbExhc3RFbGVtZW50Q2hpbGQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5leHRFbGVtZW50U2libGluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFeHRlcm5hbElEJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQcmV2aW91c0VsZW1lbnRTaWJsaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HTmV3RG9jUGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRhdGVTZXRMb2NhdG9yJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc2luZ2xlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0lTX0RJR0lUX0NIJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfTUFYX1RFWFRfTEVOR1RIJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDdXJyZW50Q2hhcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VBdHRWYWx1ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbGVtZW50TWl4ZWRDb250ZW50RGVjbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRDdHh0Tm9ybWFsaXplQXR0cmlidXRlVmFsdWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkTm9ybWFsaXplQXR0cmlidXRlVmFsdWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlQXR0cmlidXRlRGVjbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVFbGVtZW50RGVjbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVOb3RhdGlvbkRlY2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlT25lQXR0cmlidXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZU9uZUVsZW1lbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlT25lTmFtZXNwYWNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5ld05vZGVTZXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm9ybWFsaXplRnVuY3Rpb24nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQdHJOZXdDb2xsYXBzZWRSYW5nZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFB0ck5ld0xvY2F0aW9uU2V0Tm9kZXMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzaW5nbGUtYnl0ZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdJU19DSEFSX0NIJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdJU19FWFRFTkRFUl9DSCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nSVNfUFVCSURDSEFSX0NIJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc2luZ2xldG9uJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoZWNrTGFuZ3VhZ2VJRCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3NpdGUxJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ1aWxkUmVsYXRpdmVVUkknLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzaXRlMic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWlsZFJlbGF0aXZlVVJJJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc2l6ZV90Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ1ZlNocmluaycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3NpemVzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdza2lwJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNraXBCbGFua0NoYXJzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc2tpcHBlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVsZW1lbnRDaGlsZHJlbkNvbnRlbnREZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVsZW1lbnRNaXhlZENvbnRlbnREZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTa2lwQmxhbmtDaGFycycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3Nsb3QnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDb250ZXh0U2V0Q2FjaGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzbG90cyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENvbnRleHRTZXRDYWNoZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3NtYWxsJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzbWFsbGVyJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVSSVVuZXNjYXBlU3RyaW5nJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc21hbGxlc3QnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDZWlsaW5nRnVuY3Rpb24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzb2NrZXQnPgorICAgICAgICAgIDxyZWYgbmFtZT0nSU5WQUxJRF9TT0NLRVQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoZWNrRmlsZW5hbWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBHZXRTb2NrZXQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzb2NrZXRzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0lOVkFMSURfU09DS0VUJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdTT0NLRVQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzb2Z0d2FyZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdMSUJYTUxfVEVTVF9WRVJTSU9OJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyTm9kZVR5cGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzb2x1dGlvbic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb3JtYWxpemVXaW5kb3dzUGF0aCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3NvbWUnPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NLSVBfSURTJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdjaGFyYWN0ZXJzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdjaGFyYWN0ZXJzU0FYRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0naWdub3JhYmxlV2hpdGVzcGFjZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0naWdub3JhYmxlV2hpdGVzcGFjZVNBWEZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ1aWxkUmVsYXRpdmVVUkknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENsZWFudXBQYXJzZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENsZWFudXBUaHJlYWRzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHY01lbVNldHVwJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHZXRUaHJlYWRJZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSGFuZGxlRW50aXR5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxNZW1TZXR1cCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VBdHRyaWJ1dGVUeXBlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlSZWNvdmVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJJbnB1dERlYWxsb2NhdGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4TkdWYWxpZGF0ZVB1c2hDRGF0YScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYMkNoYXJhY3RlcnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWDJJZ25vcmFibGVXaGl0ZXNwYWNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyU2V0UGFyc2VyUHJvcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVQdXNoQ0RhdGEnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhJbmNsdWRlUHJvY2VzcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWEluY2x1ZGVQcm9jZXNzRmxhZ3MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhJbmNsdWRlUHJvY2Vzc0ZsYWdzRGF0YScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWEluY2x1ZGVQcm9jZXNzTm9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWEluY2x1ZGVQcm9jZXNzVHJlZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWEluY2x1ZGVQcm9jZXNzVHJlZUZsYWdzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYSW5jbHVkZVByb2Nlc3NUcmVlRmxhZ3NEYXRhJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc29tZWhvdyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlRHVtcCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3NvbWV0aW1lcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGVja0xhbmd1YWdlSUQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENsZWFudXBQYXJzZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENsZWFudXBUaHJlYWRzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFeHBFeHBEZXJpdmUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzb21ld2hhdCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGVja0xhbmd1YWdlSUQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENsZWFudXBQYXJzZXInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzb3J0ZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VyQWRkTm9kZUluZm8nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlckZpbmROb2RlSW5mb0luZGV4Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aERpc3RpbmN0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aERpc3RpbmN0U29ydGVkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aExlYWRpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTGVhZGluZ1NvcnRlZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb2RlTGVhZGluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb2RlTGVhZGluZ1NvcnRlZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb2RlVHJhaWxpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm9kZVRyYWlsaW5nU29ydGVkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFRyYWlsaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFRyYWlsaW5nU29ydGVkJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc291bmRzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoZWNrTGFuZ3VhZ2VJRCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3NvdXJjZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sWFBhdGhDb250ZXh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sQ3R4dFJlYWRJTycvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbEdldE1ldGFFbmNvZGluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbFJlYWRJTycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neGxpbmtFeHRlbmRlZExpbmtGdW5rJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGVja0ZpbGVuYW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDb3B5RXJyb3InLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEN0eHRSZWFkSU8nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld1RleHRSZWFkZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWFkSU8nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlYWRlckZvcklPJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWFkZXJOZXdJTycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3NvdXJjZURvYyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwQWRvcHROb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwQ2xvbmVOb2RlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc291cmNlZm9yZ2UnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhJc0luZicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhJc05hTicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3NwYWNlcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sUGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbERvY0NvbnRlbnREdW1wRm9ybWF0T3V0cHV0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sRG9jQ29udGVudER1bXBPdXRwdXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxEb2NEdW1wTWVtb3J5Rm9ybWF0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sTm9kZUR1bXBGaWxlRm9ybWF0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sTm9kZUR1bXBGb3JtYXRPdXRwdXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxOb2RlRHVtcE91dHB1dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbFNhdmVGaWxlRW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sU2F2ZUZpbGVGb3JtYXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERvY0R1bXBGb3JtYXRNZW1vcnknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERvY0R1bXBGb3JtYXRNZW1vcnlFbmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERvY0Zvcm1hdER1bXAnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEtlZXBCbGFua3NEZWZhdWx0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVsZW1lbnRDaGlsZHJlbkNvbnRlbnREZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVsZW1lbnRNaXhlZENvbnRlbnREZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTYXZlRm9ybWF0RmlsZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2F2ZUZvcm1hdEZpbGVFbmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNhdmVGb3JtYXRGaWxlVG8nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUNvbGxhcHNlU3RyaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZU5DTmFtZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVOTVRva2VuJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZU5hbWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlUU5hbWUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzcGFuJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEN1cnJlbnRDaGFyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJpbmdDdXJyZW50Q2hhcicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3NwZWMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2F0YWxvZ1NldERlZmF1bHRQcmVmZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoaWxkRWxlbWVudENvdW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxGaXJzdEVsZW1lbnRDaGlsZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTGFzdEVsZW1lbnRDaGlsZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV4dEVsZW1lbnRTaWJsaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUNvbW1lbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFByZXZpb3VzRWxlbWVudFNpYmxpbmcnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzcGVjOic+CisgICAgICAgICAgPHJlZiBuYW1lPSdJU19CQVNFQ0hBUicvPgorICAgICAgICAgIDxyZWYgbmFtZT0nSVNfQkxBTksnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0lTX0JZVEVfQ0hBUicvPgorICAgICAgICAgIDxyZWYgbmFtZT0nSVNfQ0hBUicvPgorICAgICAgICAgIDxyZWYgbmFtZT0nSVNfQ09NQklOSU5HJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdJU19ESUdJVCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nSVNfRVhURU5ERVInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0lTX0lERU9HUkFQSElDJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdJU19MRVRURVInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0lTX1BVQklEQ0hBUicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3NwZWNpYWwnPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NLSVBfSURTJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfWE1MX0lEJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfWE1MX05BTUVTUEFDRScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3Q2hpbGQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld0RvY05vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld0RvY05vZGVFYXROYW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlQWRkQ29udGVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUFkZENvbnRlbnRMZW4nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVTZXRDb250ZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlU2V0Q29udGVudExlbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlUmF3TGVuJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc3BlY2lhbGl6ZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbERPTVdyYXBDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHY01lbUdldCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2NNZW1TZXR1cCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3NwZWNpZmljJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9DQVRBTE9HX1BJJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sVmFsaWRDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sWFBhdGhDb250ZXh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb05ldEV4dGVybmFsRW50aXR5TG9hZGVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZU5hbWVzcGFjZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hSXNCdWlsdEluVHlwZUZhY2V0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc3BlY2lmaWNhdGlvbic+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfWE1MX05BTUVTUEFDRScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0VGhyZWFkSWQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJOb3JtYWxpemF0aW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc3BlY2lmaWNhdGlvbnMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VTRERlY2wnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzcGVjaWZ5Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfQkxPQ0tfREVGQVVMVCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckxvb2t1cE5hbWVzcGFjZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclN0YW5kYWxvbmUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzcGVjaWZ5aW5nJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE1hbGxvY0F0b21pY0xvYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTWFsbG9jTG9jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxNZW1NYWxsb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE1lbVJlYWxsb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlYWxsb2NMb2MnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzcGVlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE9yZGVyRG9jRWxlbXMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzcGVlZHVwJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJDb25zdFN0cmluZycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3NwbGl0Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoSWRGdW5jdGlvbicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3N0YWNrZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFhQYXRoUGFyc2VyQ29udGV4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUHVzaElucHV0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc3RhZ2UnPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfVFlQRV9GSVhVUF8xJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc3RhbXBzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoT3JkZXJEb2NFbGVtcycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3N0YW5kYWxvbmUnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbERvYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFBhcnNlckN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxQYXJzZXJJbnB1dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0naXNTdGFuZGFsb25lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDdXJyZW50Q2hhcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VTRERlY2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWDJJc1N0YW5kYWxvbmUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJTdGFuZGFsb25lJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc3RhbmRhbG9uZT0nPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbERvYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbnRpdHlSZWYnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlUEVSZWZlcmVuY2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlU0REZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJIYW5kbGVQRVJlZmVyZW5jZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3N0YW5kYWxvbmU/Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2lzU3RhbmRhbG9uZVNBWEZ1bmMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzdGFuZGFyZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdkb2NiUGFyc2VEb2N1bWVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbFBhcnNlRG9jdW1lbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEtlZXBCbGFua3NEZWZhdWx0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZURvY3VtZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFN1YnN0cmluZ0Z1bmN0aW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc3RhcnQnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX2h0bWxFbGVtRGVzYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0nc3RhcnREb2N1bWVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nc3RhcnREb2N1bWVudFNBWEZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3N0YXJ0RWxlbWVudE5zU0FYMkZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ5dGVDb25zdW1lZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRE9NV3JhcEFkb3B0Tm9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRE9NV3JhcENsb25lTm9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRXhwR2V0U3RhcnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlU3RhcnRUYWcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4TkdWYWxpZGF0ZVB1c2hFbGVtZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVgyU3RhcnREb2N1bWVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYMlN0YXJ0RWxlbWVudE5zJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTcGxpdFFOYW1lMycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckJ5dGVDb25zdW1lZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVQdXNoRWxlbWVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFB0ck5ld0xvY2F0aW9uU2V0Tm9kZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQdHJOZXdSYW5nZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3N0YXJ0LXRhZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVsZW1lbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlU3RhcnRUYWcnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzdGFydGVkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZURUREV4dGVybmFsRW50aXR5Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc3RhcnRpbmcnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFOZXdBbGxUcmFucycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFOZXdDb3VudFRyYW5zJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YU5ld0NvdW50VHJhbnMyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YU5ld0NvdW50ZWRUcmFucycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFOZXdDb3VudGVyVHJhbnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhTmV3RXBzaWxvbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFOZXdOZWdUcmFucycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFOZXdPbmNlVHJhbnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhTmV3T25jZVRyYW5zMicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFOZXdUcmFuc2l0aW9uJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YU5ld1RyYW5zaXRpb24yJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCeXRlQ29uc3VtZWQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld0NoYXJSZWYnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld1RleHRXcml0ZXJUcmVlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTYXZlVHJlZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRhdGVPbmVFbGVtZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE9yZGVyRG9jRWxlbXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoU3Vic3RyaW5nRnVuY3Rpb24nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQdHJOZXdDb2xsYXBzZWRSYW5nZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFB0ck5ld1JhbmdlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyTmV3UmFuZ2VOb2RlT2JqZWN0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyTmV3UmFuZ2VOb2RlUG9pbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQdHJOZXdSYW5nZU5vZGVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyTmV3UmFuZ2VQb2ludE5vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQdHJOZXdSYW5nZVBvaW50cycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3N0YXJ0cyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFN0YXJ0c1dpdGhGdW5jdGlvbicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3N0YXJ0cy13aXRoJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoU3RhcnRzV2l0aEZ1bmN0aW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc3RhcnR1cCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdzZXREb2N1bWVudExvY2F0b3InLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3NldERvY3VtZW50TG9jYXRvclNBWEZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEluaXRpYWxpemVDYXRhbG9nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxMb2FkQ2F0YWxvZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTG9hZENhdGFsb2dzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVgyU2V0RG9jdW1lbnRMb2NhdG9yJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc3Rhc2hlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUEF1dGhIZWFkZXInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzdGF0Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoZWNrRmlsZW5hbWUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzdGF0ZWZ1bCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGFyRW5jb2RpbmdPdXRwdXRGdW5jJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc3RhdGVzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxWYWxpZEN0eHQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzdGF0aWMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhPcmRlckRvY0VsZW1zJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc3RhdHVzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJJc1ZhbGlkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyU3RhbmRhbG9uZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3N0ZGVycic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTZXRHZW5lcmljRXJyb3JGdW5jJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc3RkaW4nPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3N0ZG91dCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sU2F2ZUZpbGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTYXZlRmlsZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2F2ZUZvcm1hdEZpbGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNoZWxsJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc3RlcCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFeHBTdHJpbmdEZXJpdmUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkQ3R4dE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZURvY3VtZW50RmluYWwnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlRHRkRmluYWwnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzdGVwcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb3JtYWxpemVVUklQYXRoJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZURvY3VtZW50RmluYWwnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzdGlsbCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGVja0xhbmd1YWdlSUQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENsZWFudXBQYXJzZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENsZWFudXBUaHJlYWRzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxNb2R1bGVGcmVlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb05ldEV4dGVybmFsRW50aXR5TG9hZGVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZU5hbWVzcGFjZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVjb25jaWxpYXRlTnMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzdG9wJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbExpc3RXYWxrZXInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzdG9wcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyR2V0UmVtYWluZGVyJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc3RvcmFnZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVVEY4U3Ryc2l6ZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3N0b3JlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1VURjhUb0h0bWwnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1VURjhUb2lzb2xhdDEnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2RvY2JFbmNvZGVFbnRpdGllcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbEVuY29kZUVudGl0aWVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sUGFyc2VFbnRpdHlSZWYnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2lzb2xhdDFUb1VURjgnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEMxNE5Eb2NTYXZlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDMTRORG9jU2F2ZVRvJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDMTRORXhlY3V0ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hhckVuY29kaW5nSW5wdXRGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGFyRW5jb2RpbmdPdXRwdXRGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFeHBHZXRMYW5ndWFnZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRXhwR2V0U3RhcnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldEZlYXR1cmUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldExpbmVObycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSW5wdXRSZWFkQ2FsbGJhY2snLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dEJ1ZmZlcldyaXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxPdXRwdXRCdWZmZXJXcml0ZUVzY2FwZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQXR0cmlidXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVudGl0eVZhbHVlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZEdldFBvdGVudGlhbENoaWxkcmVuJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZEdldFZhbGlkRWxlbWVudHMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzdG9yZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbGVtZW50Q29udGVudERlY2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyR3JvdycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySW5wdXRCdWZmZXJQdXNoJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJJbnB1dEJ1ZmZlclJlYWQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWFBhcnNlRmlsZVdpdGhEYXRhJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVhQYXJzZU1lbW9yeVdpdGhEYXRhJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE9yZGVyRG9jRWxlbXMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzdG9yZXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnVmTm9kZUR1bXAnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzdHInPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbFBhcnNlRW50aXR5UmVmJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWZmZXJBZGQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzdHJjYXNlY21wJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cmNhc2VjbXAnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzdHJjYXQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyY2F0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc3RyY2hyJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cmNocicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3N0cmNtcCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJjbXAnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzdHJkdXAnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hhclN0cmR1cCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2NNZW1HZXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdjTWVtU2V0dXAnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE1lbUdldCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTWVtU2V0dXAnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE1lbVN0cmR1cExvYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTWVtb3J5U3RyZHVwJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJkdXAnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cmR1cEZ1bmMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzdHJlYW1hYmxlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhdHRlcm5TdHJlYW1hYmxlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZUZpbGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzdHJlYW1pbmcnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGF0dGVybkdldFN0cmVhbUN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cmVhbVdhbnRzQW55Tm9kZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3N0cmVhbXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFBhcnNlckN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNraXBCbGFua0NoYXJzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc3RyaWN0Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0FOWUFUVFJfU1RSSUNUJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19BTllfU1RSSUNUJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUV4dGVybmFsSUQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ29tcGFyZVZhbHVlcycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3N0cmluZy0tdGhhdCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb3JtYWxpemVVUklQYXRoJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc3RyaW5nLWxlbmd0aCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFN0cmluZ0xlbmd0aEZ1bmN0aW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc3RyaW5nPyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vcm1hbGl6ZUZ1bmN0aW9uJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFN0cmluZ0xlbmd0aEZ1bmN0aW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc3RyaW5naSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFN1YnN0cmluZ0FmdGVyRnVuY3Rpb24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzdHJpbmdzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxQYXJzZXJDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEaWN0Q3JlYXRlU3ViJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEaWN0R2V0VXNhZ2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEV4cEdldExhbmd1YWdlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFeHBHZXRTdGFydCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRXhwUGFyc2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldEZlYXR1cmVzTGlzdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGF0dGVybmNvbXBpbGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlZ0V4ZWNFcnJJbmZvJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWdFeGVjTmV4dFZhbHVlcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVnZXhwQ29tcGlsZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyRXF1YWwnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cmVhbVB1c2gnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cmVhbVB1c2hBdHRyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJlYW1QdXNoTm9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RybmNhdE5ldycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3N0cmlwcGluZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vcm1hbGl6ZUZ1bmN0aW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc3RybmNhc2VjbXAnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RybmNhc2VjbXAnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzdHJuY2F0Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cm5jYXQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzdHJuY21wJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cm5jbXAnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzdHJuZHVwJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoYXJTdHJuZHVwJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJuZHVwJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVVEY4U3RybmR1cCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3N0cnN0cic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJjYXNlc3RyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJzdHInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzdHJ1Y3QnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRnJlZU11dGV4Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxGcmVlVVJJJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdNdXRleCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VyRmluZE5vZGVJbmZvJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFHZXRCdWlsdEluVHlwZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hTmV3Tk9UQVRJT05WYWx1ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hTmV3UU5hbWVWYWx1ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hTmV3U3RyaW5nVmFsdWUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzdHJ1Y3R1cmVkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4TkdTZXRWYWxpZFN0cnVjdHVyZWRFcnJvcnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVNldFBhcnNlclN0cnVjdHVyZWRFcnJvcnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVNldFZhbGlkU3RydWN0dXJlZEVycm9ycycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hdHJvblNldFZhbGlkU3RydWN0dXJlZEVycm9ycycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2V0U3RydWN0dXJlZEVycm9yRnVuYycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3N0cnVjdHVyZXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRnJlZURvYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRnJlZU5zJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxGcmVlTnNMaXN0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxMb2FkQUNhdGFsb2cnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld1JNdXRleCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUR1bXAnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlZ0ZyZWVFeGVjQ3R4dCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3N0cnV0dXJlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4TkdQYXJzZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hUGFyc2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYXRyb25QYXJzZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3N0dWZmJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxYUGF0aENvbnRleHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlTmFtZXNwYWNlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc3R5bGUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYRGVmYXVsdFZlcnNpb24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzdWInPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRXhwRXhwRGVyaXZlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc3ViLWVsZW1lbnRzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J19odG1sRWxlbURlc2MnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzdWJlbGVtZW50Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J19odG1sRWxlbURlc2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxEZWZhdWx0U3ViZWxlbWVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3RG9jRWxlbWVudENvbnRlbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld0VsZW1lbnRDb250ZW50Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc3ViZWxlbWVudHMnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX2h0bWxFbGVtRGVzYycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3N1YmV4cHJlc3Npb24nPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRXhwRXhwRGVyaXZlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFeHBTdWJzdW1lJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc3ViZXhwcmVzc2lvbnMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRXhwUGFyc2UnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzdWJqZWN0Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlU0REZWNsJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc3VibGFuZ3VhZ2UnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhMYW5nRnVuY3Rpb24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzdWJtaXRzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlZ2lzdGVySFRUUFBvc3RDYWxsYmFja3MnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzdWJzZXF1ZW50Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbElPSFRUUE9wZW5XJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTZXRHZW5lcmljRXJyb3JGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTZXRTdHJ1Y3R1cmVkRXJyb3JGdW5jJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc3Vic2V0Pyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdoYXNFeHRlcm5hbFN1YnNldFNBWEZ1bmMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzdWJzZXRzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldFBhcmFtZXRlckVudGl0eScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVEdGRGaW5hbCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3N1YnN0aXR1aW9uJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0VMRU1fQkxPQ0tfU1VCU1RJVFVUSU9OJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc3Vic3RpdHV0ZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwUmVtb3ZlTm9kZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3N1YnN0aXR1dGVkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TVUJTVElUVVRFX0JPVEgnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TVUJTVElUVVRFX05PTkUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TVUJTVElUVVRFX1BFUkVGJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU1VCU1RJVFVURV9SRUYnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ1ZkdldE5vZGVDb250ZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlQnVmR2V0Q29udGVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUdldENvbnRlbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRW50aXR5VmFsdWUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzdWJzdGl0dXRpbmcnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3N1YnN0aXR1dGlvbkdyb3VwJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0VMRU1fSU5URVJOQUxfUkVTT0xWRUQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzdWJzdGl0dXRpb25zJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0VMRU1fQkxPQ0tfRVhURU5TSU9OJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJpbmdEZWNvZGVFbnRpdGllcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyaW5nTGVuRGVjb2RlRW50aXRpZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhJbmNsdWRlUHJvY2VzcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWEluY2x1ZGVQcm9jZXNzRmxhZ3MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhJbmNsdWRlUHJvY2Vzc0ZsYWdzRGF0YScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWEluY2x1ZGVQcm9jZXNzTm9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWEluY2x1ZGVQcm9jZXNzVHJlZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWEluY2x1ZGVQcm9jZXNzVHJlZUZsYWdzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYSW5jbHVkZVByb2Nlc3NUcmVlRmxhZ3NEYXRhJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc3Vic3RpdHV0aW9uczonPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfRUxFTV9CTE9DS19SRVNUUklDVElPTicvPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfRUxFTV9CTE9DS19TVUJTVElUVVRJT04nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzdWJzdHJpbmcnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUFkZENvbnRlbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVBZGRDb250ZW50TGVuJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJzdWInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVURjhTdHJzdWInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoU3Vic3RyaW5nQWZ0ZXJGdW5jdGlvbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhTdWJzdHJpbmdCZWZvcmVGdW5jdGlvbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhTdWJzdHJpbmdGdW5jdGlvbicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3N1YnN0cmluZy1hZnRlcic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFN1YnN0cmluZ0FmdGVyRnVuY3Rpb24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzdWJzdHJpbmctYmVmb3JlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoU3Vic3RyaW5nQmVmb3JlRnVuY3Rpb24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzdWJ0YWcnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hlY2tMYW5ndWFnZUlEJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc3VidGFncyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGVja0xhbmd1YWdlSUQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzdWJ0cmFjdGlvbic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFN1YlZhbHVlcycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3N1YnRyZWUnPgorICAgICAgICAgIDxyZWYgbmFtZT0nYXR0cmlidXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdhdHRyaWJ1dGVTQVhGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxGcmVlRG9jRWxlbWVudENvbnRlbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEZyZWVFbGVtZW50Q29udGVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVjb25jaWxpYXRlTnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4TkdWYWxpZGF0ZUZ1bGxFbGVtZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTYXZlVHJlZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRhdGVPbmVFbGVtZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTaGVsbER1Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTaGVsbFdyaXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyRXhwYW5kJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyTmV4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlck5leHRTaWJsaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZUVsZW1lbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhJbmNsdWRlUHJvY2Vzc05vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhJbmNsdWRlUHJvY2Vzc1RyZWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhJbmNsdWRlUHJvY2Vzc1RyZWVGbGFncycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3N1Y2NlZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3VGV4dFdyaXRlcicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3N1Y2NlZWRlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwQWRvcHROb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwQ2xvbmVOb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwUmVjb25jaWxlTmFtZXNwYWNlcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSGFzaEFkZEVudHJ5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoQWRkRW50cnkyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoQWRkRW50cnkzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoUmVtb3ZlRW50cnknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEhhc2hSZW1vdmVFbnRyeTInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEhhc2hSZW1vdmVFbnRyeTMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEhhc2hVcGRhdGVFbnRyeScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFVwZGF0ZUVudHJ5MicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFVwZGF0ZUVudHJ5MycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5UmVjb3ZlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsdWVBcHBlbmQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ29tcGFyZVZhbHVlcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDb250ZXh0U2V0Q2FjaGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzdWNjZWVkcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGVja0ZpbGVuYW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdUZXh0V3JpdGVyUHVzaFBhcnNlcicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3N1Y2Nlc3NmdWwnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQUNhdGFsb2dBZGQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEFDYXRhbG9nUmVtb3ZlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWZmZXJBZGQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ1ZmZlckFkZEhlYWQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ1ZmZlckNDYXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ1ZmZlckNhdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2F0YWxvZ0FkZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2F0YWxvZ0NvbnZlcnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENhdGFsb2dSZW1vdmUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENvbnZlcnRTR01MQ2F0YWxvZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0TGluZU5vJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0UHVzaEJhY2snLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbExpc3RQdXNoRnJvbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNhdmVTZXRBdHRyRXNjYXBlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTYXZlU2V0RXNjYXBlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyU2V0UGFyc2VyUHJvcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVW5zZXROc1Byb3AnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVuc2V0UHJvcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhTZXRDb250ZXh0Tm9kZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3N1Y2Nlc3NmdWxseSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyTmV4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlck5leHRTaWJsaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyUmVhZCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3N1Y2Nlc3Npb24nPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFOZXdDb3VudFRyYW5zJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YU5ld0NvdW50VHJhbnMyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YU5ld09uY2VUcmFucycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFOZXdPbmNlVHJhbnMyJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc3VjY2Vzc2l2ZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YU5ld0NvdW50VHJhbnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhTmV3Q291bnRUcmFuczInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhTmV3T25jZVRyYW5zJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YU5ld09uY2VUcmFuczInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzdWNlc3NvcnMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hlY2tMYW5ndWFnZUlEJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc3VjaCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdUZXh0Q2hpbGQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRW50aXR5UmVmJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTZXRQcm9wJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGl0eUVycm9yRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRpdHlXYXJuaW5nRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhMYW5nRnVuY3Rpb24nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm9kZVNldEZyZWVOcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhSb3VuZEZ1bmN0aW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc3VmZml4Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0xJQlhNTF9NT0RVTEVfRVhURU5TSU9OJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc3VnZ2VzdGVkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J19odG1sRWxlbURlc2MnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzdWl0YWJsZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdJT0lucHV0U3RyZWFtJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWdleHBDb21waWxlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc3VtJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoU3Vic3RyaW5nRnVuY3Rpb24nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoU3VtRnVuY3Rpb24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzdXBlcic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxMb2FkU0dNTFN1cGVyQ2F0YWxvZycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3N1cGVyLXN0cmljdCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGVja1VURjgnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzdXBwbGllZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHZXRSZWZzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc3VwcG9ydGVkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERPTVdyYXBBZG9wdE5vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERPTVdyYXBDbG9uZU5vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERPTVdyYXBSZW1vdmVOb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJbml0Q2hhckVuY29kaW5nSGFuZGxlcnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBHZXRDb25uZWN0aW9uJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlQWRkQ29udGVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUFkZENvbnRlbnRMZW4nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUdldENhbm9uVmFsdWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUdldENhbm9uVmFsdWVXaHRzcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlck5vcm1hbGl6YXRpb24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzdXBwb3NlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJc01peGVkRWxlbWVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3Q2hpbGQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld0RvY05vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld0RvY05vZGVFYXROYW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlQWRkQ29udGVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUFkZENvbnRlbnRMZW4nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVTZXRDb250ZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlU2V0Q29udGVudExlbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyY2F0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJkdXAnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzdXJlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERpY3RDbGVhbnVwJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTYXZlQ2xvc2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNhdmVGbHVzaCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVVJJRXNjYXBlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vZGVTZXRBZGRVbmlxdWUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzdXJwcmlzaW5nJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlZ2lzdGVyQ2hhckVuY29kaW5nSGFuZGxlcicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3N1cnJvZ2F0ZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdJU19DSEFSJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc3dpdGNoJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEtlZXBCbGFua3NEZWZhdWx0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVJlZmVyZW5jZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUHVzaElucHV0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nc3ltYm9sJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE1vZHVsZVN5bWJvbCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3N5bmNocm9uaXppbmcnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3TXV0ZXgnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld1JNdXRleCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3N5bnRheCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUF0dHJpYnV0ZVR5cGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSdzeXN0ZW1hdGljYWxseSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJc0lEJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgIDwvbGV0dGVyPgorICAgIDwvY2h1bms+CisgICAgPGNodW5rIG5hbWU9J2NodW5rMjUnPgorICAgICAgPGxldHRlciBuYW1lPSd0Jz4KKyAgICAgICAgPHdvcmQgbmFtZT0ndGFnJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J19odG1sRWxlbURlc2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxBdXRvQ2xvc2VUYWcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxJc0F1dG9DbG9zZWQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxUYWdMb29rdXAnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3N0YXJ0RWxlbWVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nc3RhcnRFbGVtZW50U0FYRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9kZVNldE5hbWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRW5kVGFnJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVN0YXJ0VGFnJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVgyU3RhcnRFbGVtZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyRnVsbEVuZEVsZW1lbnQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd0YWdnZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0naXNTdGFuZGFsb25lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdpc1N0YW5kYWxvbmVTQVhGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdOc1Byb3AnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld05zUHJvcEVhdE5hbWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWDJJc1N0YW5kYWxvbmUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd0YWdzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxBdXRvQ2xvc2VUYWcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxHZXRNZXRhRW5jb2RpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxIYW5kbGVPbWl0dGVkRWxlbScvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbEluaXRBdXRvQ2xvc2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxJc0F1dG9DbG9zZWQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxTZXRNZXRhRW5jb2RpbmcnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd0YWtlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbExvY2tMaWJyYXJ5Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ndGFrZW4nPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRG9jU2V0Um9vdEVsZW1lbnQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd0YWtlcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0V2h0c3AnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd0YXRrZXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRXhwRXhwRGVyaXZlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ndGVsbCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfQ09NUExFVEVfQVRUUlMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9ERVRFQ1RfSURTJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0tJUF9JRFMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J19odG1sRWxlbURlc2MnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd0ZWxscyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyUHJlc2VydmUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJQcmVzZXJ2ZVBhdHRlcm4nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd0ZW1wb3JhcnknPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFZhbGlkQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFhQYXRoQ29udGV4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSU9IVFRQT3BlblcnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd0ZXJtaW5hbCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWdFeGVjRXJySW5mbycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVnRXhlY05leHRWYWx1ZXMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd0ZXJtaW5hbHMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRXhwUGFyc2UnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd0ZXJtaW5hdGVkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxDdHh0UmVhZERvYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbFJlYWREb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3N0YXJ0RWxlbWVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nc3RhcnRFbGVtZW50U0FYRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnVmZmVyQ0NhdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnVmZmVyQ2F0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDdHh0UmVhZERvYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRG9jRHVtcE1lbW9yeScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRXhwUGFyc2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldE5zTGlzdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sT3V0cHV0QnVmZmVyV3JpdGVFc2NhcGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlYWREb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlYWRlckZvckRvYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVhZGVyTmV3RG9jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVgyU3RhcnRFbGVtZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJkdXBGdW5jJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ndGVybWluYXRpb24nPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyY2F0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJkdXAnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd0ZXJtcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWlsZFJlbGF0aXZlVVJJJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ndGVzdCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJIYW5kbGVSZWZlcmVuY2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRXF1YWxWYWx1ZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm90RXF1YWxWYWx1ZXMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd0ZXN0ZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFBhcnNlcklucHV0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwQWRvcHROb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwUmVjb25jaWxlTmFtZXNwYWNlcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRE9NV3JhcFJlbW92ZU5vZGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd0ZXN0aW5nJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlZ2V4cENvbXBpbGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd0ZXh0LSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJlYW1QdXNoTm9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyZWFtV2FudHNBbnlOb2RlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ndGV4dC1ub2RlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbElzQmxhbmtOb2RlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ndGV4dERlY2w/Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRXh0ZXJuYWxTdWJzZXQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd0aGVpcic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGFyRW5jT3V0RnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRW5jb2RlRW50aXRpZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEVuY29kZUVudGl0aWVzUmVlbnRyYW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxMb2FkQ2F0YWxvZ3MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld1RleHRDaGlsZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUxpc3RHZXRSYXdTdHJpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVMaXN0R2V0U3RyaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVudGl0eVJlZicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVW5saW5rTm9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhBZGRWYWx1ZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRGl2VmFsdWVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aElkRnVuY3Rpb24nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTW9kVmFsdWVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE11bHRWYWx1ZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoU3ViVmFsdWVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFZhbHVlRmxpcFNpZ24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd0aGVtJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEV4cEdldExhbmd1YWdlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFeHBHZXRTdGFydCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRXhwTmV3T3InLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEV4cE5ld1NlcScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUFJlYWQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9IVFRQUmVhZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VBdHRWYWx1ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VBdHRyaWJ1dGVUeXBlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWdFeGVjRXJySW5mbycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVnRXhlY05leHRWYWx1ZXMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd0aGVzZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfaHRtbEVsZW1EZXNjJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGVja1VURjgnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlU0REZWNsJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ndGhleSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfaHRtbEVsZW1EZXNjJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWZmZXJEZXRhY2gnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENyZWF0ZVB1c2hQYXJzZXJDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJFcXVhbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyUUVxdWFsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJjYXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cmR1cCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVW5saW5rTm9kZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3RoaXJkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEhhc2hBZGRFbnRyeTMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEhhc2hMb29rdXAzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoUUxvb2t1cDMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEhhc2hSZW1vdmVFbnRyeTMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEhhc2hTY2FuMycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFNjYW5GdWxsMycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFNjYW5uZXJGdWxsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoVXBkYXRlRW50cnkzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFN1YnN0cmluZ0Z1bmN0aW9uJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFRyYW5zbGF0ZUZ1bmN0aW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ndGhpcz8nPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFNjaGVtYVR5cGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd0aG9zZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGVja0xhbmd1YWdlSUQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEtlZXBCbGFua3NEZWZhdWx0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVNERGVjbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRhdGVTZXRMb2NhdG9yJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTZWFyY2hOcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhTdWJzdHJpbmdGdW5jdGlvbicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3Rob3VnaCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEb2NEdW1wTWVtb3J5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb05ldEV4dGVybmFsRW50aXR5TG9hZGVyJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ndGhyZWFkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0xJQlhNTF9USFJFQURfRU5BQkxFRCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2xlYW51cFBhcnNlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2xlYW51cFRocmVhZHMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldEdsb2JhbFN0YXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHZXRMYXN0RXJyb3InLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldFRocmVhZElkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJbml0VGhyZWFkcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSW5pdGlhbGl6ZUNhdGFsb2cnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbElzTWFpblRocmVhZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTG9hZENhdGFsb2cnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbExvYWRDYXRhbG9ncycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2V0R2VuZXJpY0Vycm9yRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2V0U3RydWN0dXJlZEVycm9yRnVuYycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3Rocm91Z2gnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnVpbGRSZWxhdGl2ZVVSSScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERlY29kZUVudGl0aWVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb3JtYWxpemVVUklQYXRoJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ndGh1bWJsZXJzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNoZWxsUHdkJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ndGh1cyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwUmVtb3ZlTm9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3Uk11dGV4Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5leHRBbmNlc3RvcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXh0QW5jZXN0b3JPclNlbGYnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV4dERlc2NlbmRhbnRPclNlbGYnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd0aWdodCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ndGltZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFeHBFeHBEZXJpdmUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQXhpc0Z1bmMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd0aXRsZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bGlua1NpbXBsZUxpbmtGdW5rJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ndGl0bGVzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3hsaW5rRXh0ZW5kZWRMaW5rRnVuaycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neGxpbmtFeHRlbmRlZExpbmtTZXRGdW5rJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ndG9kbzonPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbEVycm9yJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ndG9rZW4nPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFOZXdDb3VudFRyYW5zJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YU5ld0NvdW50VHJhbnMyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YU5ld09uY2VUcmFucycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFOZXdPbmNlVHJhbnMyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxGcmVlTXV0ZXgnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE11dGV4TG9jaycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTXV0ZXhVbmxvY2snLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld011dGV4Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWdFeGVjQ2FsbGJhY2tzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWdFeGVjUHVzaFN0cmluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVnRXhlY1B1c2hTdHJpbmcyJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ndG9rZW5fcic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdSTXV0ZXgnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJNdXRleExvY2snLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJNdXRleFVubG9jaycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3Rva2Vucyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFeHBHZXRMYW5ndWFnZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRXhwR2V0U3RhcnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRW51bWVyYXRpb25UeXBlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aElkRnVuY3Rpb24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd0b28nPgorICAgICAgICAgIDxyZWYgbmFtZT0nREVCVUdfTUVNT1JZJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sTm9kZUR1bXAnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxOb2RlRHVtcEZpbGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxOb2RlRHVtcEZpbGVGb3JtYXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxOb2RlRHVtcEZvcm1hdE91dHB1dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbE5vZGVEdW1wT3V0cHV0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWZOb2RlRHVtcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hlY2tMYW5ndWFnZUlEJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDb3B5RG9jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFbGVtRHVtcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRnJlZU5vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEZyZWVOb2RlTGlzdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRnJlZVByb3AnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEZyZWVQcm9wTGlzdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0RG9jRW50aXR5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlRHVtcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUR1bXBPdXRwdXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRWxlbWVudE1peGVkQ29udGVudERlY2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlbW92ZVByb3AnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd0b3AnPgorICAgICAgICAgIDxyZWYgbmFtZT0nQ0FTVF9UT19CT09MRUFOJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdDQVNUX1RPX05VTUJFUicvPgorICAgICAgICAgIDxyZWYgbmFtZT0nQ0FTVF9UT19TVFJJTkcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0NIRUNLX1RZUEUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0NIRUNLX1RZUEUwJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19FTEVNX1RPUExFVkVMJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdpbnB1dFBvcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0naW5wdXRQdXNoJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSduYW1lUG9wJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSduYW1lUHVzaCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nbm9kZVBvcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nbm9kZVB1c2gnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3ZhbHVlUG9wJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd2YWx1ZVB1c2gnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbWVzcGFjZVBhcnNlTkNOYW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW1lc3BhY2VQYXJzZU5TRGVmJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW1lc3BhY2VQYXJzZVFOYW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQb3BJbnB1dENhbGxiYWNrcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUHVzaElucHV0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWNvbmNpbGlhdGVOcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2F2ZVRyZWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNldFRyZWVEb2MnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd0b3RhbCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sT3V0cHV0QnVmZmVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHZXRGZWF0dXJlc0xpc3QnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVURjhTdHJzdWInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd0b3VjaCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sUGFyc2VyQ3R4dCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3RyYWNrJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEVudGl0eVJlZmVyZW5jZUZ1bmMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd0cmFja2luZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJQcmludEZpbGVDb250ZXh0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ndHJhaWxpbmcnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VBdHRWYWx1ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRDdHh0Tm9ybWFsaXplQXR0cmlidXRlVmFsdWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkTm9ybWFsaXplQXR0cmlidXRlVmFsdWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm9kZVRyYWlsaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vZGVUcmFpbGluZ1NvcnRlZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb3JtYWxpemVGdW5jdGlvbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhUcmFpbGluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhUcmFpbGluZ1NvcnRlZCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3RyYW5jb2RpbmcnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2F2ZUZpbGVUbycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2F2ZUZvcm1hdEZpbGVUbycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3RyYW5zYWN0aW9uJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9IVFRQU2F2ZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3RyYW5zY29kaW5nJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1VURjhUb0h0bWwnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1VURjhUb2lzb2xhdDEnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2RvY2JFbmNvZGVFbnRpdGllcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbEVuY29kZUVudGl0aWVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGFyRW5jRmlyc3RMaW5lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGFyRW5jSW5GdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGFyRW5jT3V0RnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hhckVuY29kaW5nSW5wdXRGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGFyRW5jb2RpbmdPdXRwdXRGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxPdXRwdXRCdWZmZXJXcml0ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sT3V0cHV0QnVmZmVyV3JpdGVFc2NhcGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJJbnB1dEJ1ZmZlckdyb3cnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyUHVzaCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySW5wdXRCdWZmZXJSZWFkJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ndHJhbnNmZXJlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVBJJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ndHJhbnNmb3JtYXRpb24nPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hhckVuY0Nsb3NlRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hhckVuY0ZpcnN0TGluZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hhckVuY0luRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hhckVuY091dEZ1bmMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd0cmFuc2Zvcm1lZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HRHVtcFRyZWUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd0cmFuc2l0aW9ucyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YU5ld0FsbFRyYW5zJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWdFeGVjRXJySW5mbycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVnRXhlY05leHRWYWx1ZXMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd0cmFuc2xhdGUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhUcmFuc2xhdGVGdW5jdGlvbicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3RyYW5zbGF0aW9uJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVSSVVuZXNjYXBlU3RyaW5nJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ndHJhbnNtaXQnPgorICAgICAgICAgIDxyZWYgbmFtZT0nZXJyb3JTQVhGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdmYXRhbEVycm9yU0FYRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0nd2FybmluZ1NBWEZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlckVycm9yJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJWYWxpZGl0eUVycm9yJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJWYWxpZGl0eVdhcm5pbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcldhcm5pbmcnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd0cmFuc3BvcnQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0ZUUENsb3NlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ndHJhdmVyc2FsJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoaWxkRWxlbWVudENvdW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxGaXJzdEVsZW1lbnRDaGlsZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTGFzdEVsZW1lbnRDaGlsZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV4dEVsZW1lbnRTaWJsaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQcmV2aW91c0VsZW1lbnRTaWJsaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEF4aXNGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5leHRBbmNlc3RvcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXh0QW5jZXN0b3JPclNlbGYnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV4dEF0dHJpYnV0ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXh0Q2hpbGQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV4dERlc2NlbmRhbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV4dERlc2NlbmRhbnRPclNlbGYnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV4dEZvbGxvd2luZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXh0Rm9sbG93aW5nU2libGluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXh0TmFtZXNwYWNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5leHRQYXJlbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV4dFByZWNlZGluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXh0UHJlY2VkaW5nU2libGluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXh0U2VsZicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFB0ck5ld0NvbnRleHQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd0cmF2ZXJzZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEF4aXNGdW5jJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ndHJlYW1pbmcnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFBhcnNlckN0eHQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd0cmVhdGVkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQXR0VmFsdWUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd0cmllZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWNvdmVyRG9jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWNvdmVyTWVtb3J5Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ndHJpZXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0nSU5QVVRfQ0hVTksnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3hsaW5rSXNMaW5rJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDbGVhbnVwUGFyc2VyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vRlRQUmVhZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0hUVFBSZWFkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJJbnB1dEdyb3cnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWFBhcnNlRG9jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVhQYXJzZUZpbGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWFBhcnNlRmlsZVdpdGhEYXRhJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVhQYXJzZU1lbW9yeScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYUGFyc2VNZW1vcnlXaXRoRGF0YScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3RyaW8nPgorICAgICAgICAgIDxyZWYgbmFtZT0nV0lUSE9VVF9UUklPJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdXSVRIX1RSSU8nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoSXNJbmYnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoSXNOYU4nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd0cm91Ymxlcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sUGFyc2VySW5wdXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNlYXJjaE5zJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ndHJ5Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0NBU1RfVE9fQk9PTEVBTicvPgorICAgICAgICAgIDxyZWYgbmFtZT0nQ0FTVF9UT19OVU1CRVInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0NBU1RfVE9fU1RSSU5HJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdVVEY4VG9IdG1sJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdVVEY4VG9pc29sYXQxJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sUGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nZG9jYkVuY29kZUVudGl0aWVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sRW5jb2RlRW50aXRpZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxOb2RlRHVtcEZpbGVGb3JtYXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2lzb2xhdDFUb1VURjgnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3hsaW5rSXNMaW5rJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGFyRW5jb2RpbmdJbnB1dEZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoYXJFbmNvZGluZ091dHB1dEZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoZWNrTGFuZ3VhZ2VJRCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRmlsZU9wZW4nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEtlZXBCbGFua3NEZWZhdWx0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUEZldGNoJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUE1ldGhvZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0hUVFBNZXRob2RSZWRpcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0hUVFBPcGVuJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUE9wZW5SZWRpcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVjb25jaWxpYXRlTnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVSSUVzY2FwZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVSb290Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ndHRyaWJ1dGUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclJlYWRBdHRyaWJ1dGVWYWx1ZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3R1bmUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnVmZmVyU2V0QWxsb2NhdGlvblNjaGVtZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3R1cGxlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEhhc2hBZGRFbnRyeTInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEhhc2hBZGRFbnRyeTMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEhhc2hMb29rdXAyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoTG9va3VwMycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFFMb29rdXAyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoUUxvb2t1cDMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEhhc2hSZW1vdmVFbnRyeScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFJlbW92ZUVudHJ5MicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFJlbW92ZUVudHJ5MycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSGFzaFNjYW4zJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoU2NhbkZ1bGwzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoVXBkYXRlRW50cnkyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNoVXBkYXRlRW50cnkzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ndHVwbGVzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEhhc2hBZGRFbnRyeTInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd0dXJuJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJvb2xUb1RleHQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd0dXJuZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0Tm9Oc1Byb3AnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldE5zUHJvcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0UHJvcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSGFzTnNQcm9wJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNQcm9wJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxMaW5lTnVtYmVyc0RlZmF1bHQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd0d28nPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFBhcnNlckN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE1lbURpc3BsYXlMYXN0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJuY2F0TmV3Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0TWVyZ2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVURjhDaGFyY21wJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aENtcE5vZGVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aERpZmZlcmVuY2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm9kZVNldE1lcmdlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFJvdW5kRnVuY3Rpb24nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQdHJMb2NhdGlvblNldE1lcmdlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyTmV3TG9jYXRpb25TZXROb2RlcycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3R3by1jaGFyYWN0ZXInPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ3VycmVudENoYXInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd0eHQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hlY2tMYW5ndWFnZUlEJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ndHlwZTonPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyZWFtUHVzaE5vZGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd0eXBlZml4ZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfVFlQRV9JTlRFUk5BTF9SRVNPTFZFRCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3R5cGVzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0ZBQ0VUX0NPTExBUFNFJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sU2NoZW1hVHlwZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFhQYXRoQ29udGV4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRXh0ZXJuYWxFbnRpdHlMb2FkZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlU0REZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFHZXRDYW5vblZhbHVlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFOZXdTdHJpbmdWYWx1ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRhdGVGYWNldFdodHNwJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJlYW1XYW50c0FueU5vZGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgPC9sZXR0ZXI+CisgICAgPC9jaHVuaz4KKyAgICA8Y2h1bmsgbmFtZT0nY2h1bmsyNic+CisgICAgICA8bGV0dGVyIG5hbWU9J3UnPgorICAgICAgICA8d29yZCBuYW1lPSd1Z2x5Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxQYXJzZXJDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sRW50aXR5TG9va3VwJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sRW50aXR5VmFsdWVMb29rdXAnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd1bmFyeSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFZhbHVlRmxpcFNpZ24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd1bmNsZWFuJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxVUkknLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd1bmNvbXByZXNzZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQzE0TkRvY1NhdmUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldENvbXByZXNzTW9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0RG9jQ29tcHJlc3NNb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTZXRDb21wcmVzc01vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNldERvY0NvbXByZXNzTW9kZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3VuZGVyJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ1aWxkUmVsYXRpdmVVUkknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNlYXJjaE5zJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTZXRUcmVlRG9jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTaGVsbER1Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTaGVsbFdyaXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZUVsZW1lbnQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd1bmRlcmx5aW5nJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJDbG9zZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckN1cnJlbnROb2RlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ndW5kZXJzdGFuZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFeHBQYXJzZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3VuZXNjYXBlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVSSVVuZXNjYXBlU3RyaW5nJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ndW5lc2NhcGVkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEZpbGVPcGVuJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlQWRkQ29udGVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUFkZENvbnRlbnRMZW4nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVSSVVuZXNjYXBlU3RyaW5nJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ndW5lc2NhcGluZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVVSSVJhdycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3VuZnJpZW5kbHknPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX01BWF9MT09LVVBfTElNSVQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9NQVhfTkFNRV9MRU5HVEgnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd1bmljb2RlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxFbnRpdHlWYWx1ZUxvb2t1cCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSXNMZXR0ZXInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd1bmltcGxlbWVudGVkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxDdHh0VXNlT3B0aW9ucycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ3R4dFVzZU9wdGlvbnMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd1bmlvbic+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19GSU5BTF9ERUZBVUxUX1VOSU9OJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX0ZJTkFMX1VOSU9OJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX1ZBUklFVFlfQVRPTUlDJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX1ZBUklFVFlfVU5JT04nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxTY2hlbWFUeXBlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aElkRnVuY3Rpb24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd1bmlxdWUnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFBhcnNlcklucHV0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sU2NoZW1hJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFeHBHZXRMYW5ndWFnZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRXhwR2V0U3RhcnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoSWRGdW5jdGlvbicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3VuaXF1ZWx5Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQXR0cmlidXRlVHlwZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhTdHJpbmdGdW5jdGlvbicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3VuaXF1ZW5lc3MnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVBdHRyaWJ1dGVEZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZU9uZUF0dHJpYnV0ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVPbmVOYW1lc3BhY2UnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd1bml0cyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVVEY4U3Ryc3ViJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ndW5rbm93bic+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19BTllBVFRSX1NLSVAnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0FOWV9TS0lQJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19GQUNFVF9VTktOT1dOJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sQ3R4dFVzZU9wdGlvbnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEN0eHRVc2VPcHRpb25zJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNGZWF0dXJlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0Jsb2NrJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVQ1NJc0NhdCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3VubGVzcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sU0FYUGFyc2VEb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxTQVhQYXJzZUZpbGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERpY3RDbGVhbnVwJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFeHBOZXdPcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRXhwTmV3UmFuZ2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEV4cE5ld1NlcScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0Tm9Oc1Byb3AnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldE5zUHJvcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0UHJvcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSGFzTnNQcm9wJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxIYXNQcm9wJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5leHROYW1lc3BhY2UnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd1bmxpbmsnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRnJlZU5vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVubGlua05vZGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd1bmxpbmtlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBZGROZXh0U2libGluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQWRkUHJldlNpYmxpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEFkZFNpYmxpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERPTVdyYXBBZG9wdE5vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld0VudGl0eScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVwbGFjZU5vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVubGlua05vZGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd1bmxvYWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTW9kdWxlQ2xvc2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE1vZHVsZUZyZWUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd1bmxvYWRlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxNb2R1bGVDbG9zZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3VubG9jayc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxNdXRleFVubG9jaycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUk11dGV4VW5sb2NrJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ndW5wYXJzZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbEVudGl0eScvPgorICAgICAgICAgIDxyZWYgbmFtZT0ndW5wYXJzZWRFbnRpdHlEZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd1bnBhcnNlZEVudGl0eURlY2xTQVhGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxMb2FkRXh0ZXJuYWxFbnRpdHknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQXR0cmlidXRlVHlwZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbnRpdHlSZWYnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlckhhbmRsZVJlZmVyZW5jZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYMlVucGFyc2VkRW50aXR5RGVjbCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3VucGx1Zyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFTQVhQbHVnJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ndW5wcmVkaWN0YWJsZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdVVEY4VG9IdG1sJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdVVEY4VG9pc29sYXQxJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdkb2NiRW5jb2RlRW50aXRpZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxFbmNvZGVFbnRpdGllcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0naXNvbGF0MVRvVVRGOCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3VucHJlZGljdGlhYmxlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoYXJFbmNvZGluZ0lucHV0RnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3VucmVnaXN0ZXJzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENsZWFudXBDaGFyRW5jb2RpbmdIYW5kbGVycycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhSZWdpc3RlckZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoUmVnaXN0ZXJGdW5jTlMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoUmVnaXN0ZXJOcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGVOUycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3Vuc2FmZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTcHJpbnRmRWxlbWVudENvbnRlbnQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd1bnNpZ25lZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdjJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVUklVbmVzY2FwZVN0cmluZycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3Vuc3VwcG9ydGVkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERPTVdyYXBBZG9wdE5vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERPTVdyYXBDbG9uZU5vZGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd1bnRpbCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWZmZXJDcmVhdGVTdGF0aWMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlU3RhdGljJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTZWFyY2hOcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2VhcmNoTnNCeUhyZWYnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJFeHBhbmQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJSZWxheE5HU2V0U2NoZW1hJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyU2V0U2NoZW1hJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEF4aXNGdW5jJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ndW51c2VkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0FUVFJJQlVURV9VTlVTRUQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxFbnRpdHknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxTQVhIYW5kbGVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sU0FYSGFuZGxlclYxJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sU2NoZW1hJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sWFBhdGhDb250ZXh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwUmVjb25jaWxlTmFtZXNwYWNlcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRE9NV3JhcFJlbW92ZU5vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbGlkYXRlRmlsZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2hlbGxCYXNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTaGVsbENhdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2hlbGxEaXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNoZWxsRHUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNoZWxsTGlzdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2hlbGxMb2FkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTaGVsbFB3ZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2hlbGxTYXZlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTaGVsbFZhbGlkYXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTaGVsbFdyaXRlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ndXBkYXRlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoZWNrSFRUUElucHV0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vRlRQVXBkYXRlVVJMJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTZXRMaXN0RG9jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTZXRUcmVlRG9jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTcGxpdFFOYW1lMycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRDdHh0Tm9ybWFsaXplQXR0cmlidXRlVmFsdWUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd1cGRhdGVkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENhdGFsb2dBZGRMb2NhbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0RmVhdHVyZXNMaXN0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW1lc3BhY2VQYXJzZVFOYW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWdFeGVjRXJySW5mbycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVnRXhlY05leHRWYWx1ZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNwbGl0UU5hbWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNwbGl0UU5hbWUyJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ndXBvbic+CisgICAgICAgICAgPHJlZiBuYW1lPSdjaGVja05hbWVzcGFjZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neGxpbmtOb2RlRGV0ZWN0RnVuYycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3VwcGVyJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9NQVhfTE9PS1VQX0xJTUlUJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFeHBOZXdSYW5nZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSXNSZWYnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd1cmknPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9ybWFsaXplV2luZG93c1BhdGgnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd1c2FnZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfTUFYX05BTUVfTEVOR1RIJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ndXNlZDonPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX0RFRkFVTFRfVkVSU0lPTicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3VzZWQ/Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxTY2hlbWFBdHRyaWJ1dGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxTY2hlbWFFbGVtZW50Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ndXNlZnVsJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdjTWVtR2V0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHY01lbVNldHVwJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxNZW1EaXNwbGF5TGFzdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3Uk11dGV4Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZVN0YXRpYycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3VzZWxlc3MnPgorICAgICAgICAgIDxyZWYgbmFtZT0nc2V0RG9jdW1lbnRMb2NhdG9yJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdzZXREb2N1bWVudExvY2F0b3JTQVhGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVgyU2V0RG9jdW1lbnRMb2NhdG9yJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ndXNlckRhdGEnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRpdHlFcnJvckZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkaXR5V2FybmluZ0Z1bmMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd1c2Vycyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sU2NoZW1hJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ndXNlcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sTm9kZVN0YXR1cycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3VzdWFsJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEV4cFBhcnNlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ndXN1YWxseSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdMSUJYTUxfTU9EVUxFX0VYVEVOU0lPTicvPgorICAgICAgICAgIDxyZWYgbmFtZT0nYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRXhwRXhwRGVyaXZlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJbml0Q2hhckVuY29kaW5nSGFuZGxlcnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUdldFByZWRlZmluZWRUeXBlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyR2V0UGFyc2VyUHJvcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclNldFBhcnNlclByb3AnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkaXR5RXJyb3JGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGl0eVdhcm5pbmdGdW5jJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ndXRmOCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGFyRW5jRmlyc3RMaW5lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGFyRW5jSW5GdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGFyRW5jT3V0RnVuYycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICA8L2xldHRlcj4KKyAgICAgIDxsZXR0ZXIgbmFtZT0ndic+CisgICAgICAgIDx3b3JkIG5hbWU9J3ZhbDEnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFB0ckxvY2F0aW9uU2V0TWVyZ2UnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd2YWxncmluZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDbGVhbnVwUGFyc2VyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDbGVhbnVwVGhyZWFkcycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3ZhbGlkYXRlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGFySW5SYW5nZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldFdodHNwJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ndmFsaWRhdGVzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYVZhbFByZWRlZlR5cGVOb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxQcmVkZWZUeXBlTm9kZU5vTm9ybScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRhdGVQcmVkZWZpbmVkVHlwZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVEb2N1bWVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVOQ05hbWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlTk1Ub2tlbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVOYW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZVFOYW1lJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ndmFsaWRhdGluZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sQXR0cicvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbEVsZW1lbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxWYWxpZEN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEtlZXBCbGFua3NEZWZhdWx0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HVmFsaWRhdGVQdXNoRWxlbWVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2V0R2VuZXJpY0Vycm9yRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2V0U3RydWN0dXJlZEVycm9yRnVuYycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3ZhbGlkYXRvcic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGl0eUxvY2F0b3JGdW5jJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ndmFsaWRpdHknPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFBhcnNlckN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxWYWxpZEN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3hsaW5rSXNMaW5rJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHZW5lcmljRXJyb3JGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUF0dFZhbHVlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJWYWxpZGl0eUVycm9yJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJWYWxpZGl0eVdhcm5pbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJJc1ZhbGlkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxVUklFc2NhcGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkR2V0VmFsaWRFbGVtZW50cycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVEb2N1bWVudEZpbmFsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGF0ZU5vdGF0aW9uRGVjbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRpdHlFcnJvckZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkaXR5V2FybmluZ0Z1bmMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd2YWx1ZTonPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hlY2tVVEY4Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ndmFsdWVzOic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTZXRDb21wcmVzc01vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNldERvY0NvbXByZXNzTW9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRDdHh0Tm9ybWFsaXplQXR0cmlidXRlVmFsdWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkTm9ybWFsaXplQXR0cmlidXRlVmFsdWUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd2YXJhZ3MnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2VuZXJpY0Vycm9yRnVuYycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3ZhcmFyZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZGl0eUVycm9yRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRpdHlXYXJuaW5nRnVuYycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3ZhcmlhYmxlcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfWFBBVEhfTk9WQVInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxYUGF0aENvbnRleHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBQcm94eScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhSZWdpc3RlcmVkTnNDbGVhbnVwJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFJlZ2lzdGVyZWRWYXJpYWJsZXNDbGVhbnVwJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ndmFyaWFudCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGVja0xhbmd1YWdlSUQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERldGVjdENoYXJFbmNvZGluZycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3ZhcmlhbnRzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoZWNrTGFuZ3VhZ2VJRCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3ZhcmlldHknPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX0FCU0VOVCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX0FUT01JQycvPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX0xJU1QnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfVkFSSUVUWV9VTklPTicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3ZhcmlvdXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbERPTVdyYXBDdHh0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ndmVyc2lvbnMnPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbFBhcnNlRWxlbWVudCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3ZlcnknPgorICAgICAgICAgIDxyZWYgbmFtZT0nX2h0bWxFbGVtRGVzYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFBhcnNlcklucHV0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGFyRW5jRmlyc3RMaW5lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDbGVhbnVwUGFyc2VyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDbGVhbnVwVGhyZWFkcycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3ZpYSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUEZldGNoJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUE1ldGhvZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0hUVFBNZXRob2RSZWRpcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmFub0hUVFBPcGVuJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUE9wZW5SZWRpcicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3ZpZXcnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2hlbGwnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd2aW9sYXRlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfQ0FTVF9GUFRSJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ndmlzaWJsZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDMTRORXhlY3V0ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQzE0TklzVmlzaWJsZUNhbGxiYWNrJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0ndm9pZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfQ0FTVF9GUFRSJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVhQYXJzZUZpbGVXaXRoRGF0YScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYUGFyc2VNZW1vcnlXaXRoRGF0YScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3ZvbHVtZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sUGFyc2VyQ3R4dCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICA8L2xldHRlcj4KKyAgICA8L2NodW5rPgorICAgIDxjaHVuayBuYW1lPSdjaHVuazI3Jz4KKyAgICAgIDxsZXR0ZXIgbmFtZT0ndyc+CisgICAgICAgIDx3b3JkIG5hbWU9J3dhbGtlcic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0UmV2ZXJzZVdhbGsnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbExpc3RXYWxrJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0V2Fsa2VyJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nd2Fsa2luZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sWFBhdGhDb250ZXh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sWFBhdGhQYXJzZXJDb250ZXh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxMaXN0V2Fsa2VyJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nd2FudCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGFyRW5jRmlyc3RMaW5lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGFyRW5jSW5GdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGFyRW5jT3V0RnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRE9NV3JhcEFkb3B0Tm9kZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3dhcm4nPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hlY2tWZXJzaW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nd2FybmluZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfQ0FTVF9GUFRSJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sVmFsaWRDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdkb2NiQ3JlYXRlUHVzaFBhcnNlckN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0naW5pdHhtbERlZmF1bHRTQVhIYW5kbGVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd3YXJuaW5nU0FYRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEVuY29kZUVudGl0aWVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJWYWxpZGl0eVdhcm5pbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlcldhcm5pbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4TkdHZXRQYXJzZXJFcnJvcnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlbGF4TkdHZXRWYWxpZEVycm9ycycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVsYXhOR1NldFBhcnNlckVycm9ycycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVsYXhOR1NldFZhbGlkRXJyb3JzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HVmFsaWRpdHlXYXJuaW5nRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYMkluaXREZWZhdWx0U0FYSGFuZGxlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hR2V0UGFyc2VyRXJyb3JzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFHZXRWYWxpZEVycm9ycycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hU2V0UGFyc2VyRXJyb3JzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFTZXRWYWxpZEVycm9ycycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRpdHlXYXJuaW5nRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hdHJvblZhbGlkaXR5V2FybmluZ0Z1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNlYXJjaE5zJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyU2V0RXJyb3JIYW5kbGVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyU2V0U3RydWN0dXJlZEVycm9ySGFuZGxlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRpdHlXYXJuaW5nRnVuYycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3dhcm5pbmdzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxQYXJzZXJDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQZWRhbnRpY1BhcnNlckRlZmF1bHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJTZXRFcnJvckhhbmRsZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJTZXRTdHJ1Y3R1cmVkRXJyb3JIYW5kbGVyJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nd2F5Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0hUTUxfQ09NTUVOVF9OT0RFJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdIVE1MX0VOVElUWV9SRUZfTk9ERScvPgorICAgICAgICAgIDxyZWYgbmFtZT0nSFRNTF9QSV9OT0RFJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdIVE1MX1BSRVNFUlZFX05PREUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0hUTUxfVEVYVF9OT0RFJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sRG9jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCb29sVG9UZXh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxLZWVwQmxhbmtzRGVmYXVsdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3R2xvYmFsTnMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd3YXlzOic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxWYWxpZEdldFZhbGlkRWxlbWVudHMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd3ZWxsJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxQYXJzZXJDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sU0FYUGFyc2VEb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxTQVhQYXJzZUZpbGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3N0YXJ0RWxlbWVudE5zU0FYMkZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENvcHlEb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5UmVjb3ZlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VDdHh0RXh0ZXJuYWxFbnRpdHknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRXh0ZXJuYWxFbnRpdHknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlSW5Ob2RlQ29udGV4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYMlN0YXJ0RWxlbWVudE5zJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFOZXdTdHJpbmdWYWx1ZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3dlbGwtYmFsYW5jZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlSZWNvdmVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUluTm9kZUNvbnRleHQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd3ZWxsLWZvcm1lZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUN0eHRFeHRlcm5hbEVudGl0eScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbnRpdHlSZWYnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRXh0UGFyc2VkRW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUV4dGVybmFsRW50aXR5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJIYW5kbGVSZWZlcmVuY2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlRHRkRmluYWwnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd3ZWxsLWZvcm1lZG5lc3MnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ3R4dFJlc2V0TGFzdEVycm9yJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVudGl0eVJlZicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVzZXRMYXN0RXJyb3InLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd3ZWxsZm9ybWVkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERPTVdyYXBBZG9wdE5vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERPTVdyYXBDbG9uZU5vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERPTVdyYXBSZWNvbmNpbGVOYW1lc3BhY2VzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUZpbGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd3ZXJlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxQYXJzZXJDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDaGVja0xhbmd1YWdlSUQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEtlZXBCbGFua3NEZWZhdWx0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxNZW1TaG93Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFJc1ZhbGlkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYSW5jbHVkZVByb2Nlc3MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhJbmNsdWRlUHJvY2Vzc0ZsYWdzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYSW5jbHVkZVByb2Nlc3NGbGFnc0RhdGEnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhJbmNsdWRlUHJvY2Vzc05vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhJbmNsdWRlUHJvY2Vzc1RyZWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhJbmNsdWRlUHJvY2Vzc1RyZWVGbGFncycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWEluY2x1ZGVQcm9jZXNzVHJlZUZsYWdzRGF0YScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3dldGhlcic+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sTm9kZVNldCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3doYXQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2F0YWxvZ0dldERlZmF1bHRzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDYXRhbG9nU2V0RGVmYXVsdHMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlTmFtZXNwYWNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGl0eUxvY2F0b3JGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyR2V0UmVtYWluZGVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVSYXdMZW4nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd3aGVyZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfaHRtbEVsZW1EZXNjJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDb3B5UHJvcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ29weVByb3BMaXN0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwQWRvcHROb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwQ2xvbmVOb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwUmVjb25jaWxlTmFtZXNwYWNlcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRXhwR2V0TGFuZ3VhZ2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEV4cEdldFN0YXJ0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxGaWxlUmVhZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSU9GVFBSZWFkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJT0hUVFBSZWFkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUEZldGNoJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW5vSFRUUFNhdmUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld05zJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZU1hcmt1cERlY2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlU0REZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyRXJyb3JGdW5jJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nd2hpbGUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSW5pdENoYXJFbmNvZGluZ0hhbmRsZXJzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUF0dHJpYnV0ZVR5cGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRW51bWVyYXRlZFR5cGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRW51bWVyYXRpb25UeXBlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZU5vdGF0aW9uVHlwZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2V0R2VuZXJpY0Vycm9yRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2V0U3RydWN0dXJlZEVycm9yRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlck5leHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJOZXh0U2libGluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nd2hpdGUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sS2VlcEJsYW5rc0RlZmF1bHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlU0REZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFDb2xsYXBzZVN0cmluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlck5vcm1hbGl6YXRpb24nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm9ybWFsaXplRnVuY3Rpb24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd3aGl0ZXNwYWNlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbElzQmxhbmtOb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUF0dFZhbHVlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFDb21wYXJlVmFsdWVzV2h0c3AnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjaGVtYUdldENhbm9uVmFsdWVXaHRzcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hVmFsaWRhdGVGYWNldFdodHNwJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFWYWxpZGF0ZUxlbmd0aEZhY2V0V2h0c3AnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoSWRGdW5jdGlvbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb3JtYWxpemVGdW5jdGlvbicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3doaXRlc3BhY2UtZmFjZXQnPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfVFlQRV9XSElURVNQQUNFX0NPTExBUFNFJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX1dISVRFU1BBQ0VfUFJFU0VSVkUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX1RZUEVfV0hJVEVTUEFDRV9SRVBMQUNFJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nd2hpdGVzcGFjZS1zZXBhcmF0ZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhJZEZ1bmN0aW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nd2hpdGVzcGFjZXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0naWdub3JhYmxlV2hpdGVzcGFjZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0naWdub3JhYmxlV2hpdGVzcGFjZVNBWEZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWDJJZ25vcmFibGVXaGl0ZXNwYWNlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nd2hvbGUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRnJlZURvY0VsZW1lbnRDb250ZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxGcmVlRWxlbWVudENvbnRlbnQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd3aG9zZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YU5ld0NvdW50VHJhbnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhTmV3Q291bnRUcmFuczInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEF1dG9tYXRhTmV3T25jZVRyYW5zJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YU5ld09uY2VUcmFuczInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJMb29rdXBOYW1lc3BhY2UnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd3aHknPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTW9kdWxlT3BlbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTW9kdWxlU3ltYm9sJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nd2llcmQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnVpbGRSZWxhdGl2ZVVSSScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3dpbGRjYXJkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0FUVFJHUk9VUF9HTE9CQUwnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0FUVFJHUk9VUF9XSUxEQ0FSRF9CVUlMREVEJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfU0NIRU1BU19UWVBFX09XTkVEX0FUVFJfV0lMRENBUkQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX1dJTERDQVJEX0NPTVBMRVRFJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFGcmVlV2lsZGNhcmQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd3aWxkY2FyZHMnPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfQU5ZX0xBWCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfQU5ZX1NUUklDVCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NDSEVNQVNfQVRUUl9VU0VfUFJPSElCSVRFRCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3dpbmRvd3MnPgorICAgICAgICAgIDxyZWYgbmFtZT0nSU5WQUxJRF9TT0NLRVQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1NPQ0tFVCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3dpdGhfbnMnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbE5vZGVTZXQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd3aXRoaW4nPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFZhbGlkQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQXV0b21hdGFOZXdDb3VudGVyVHJhbnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldFVURjhDaGFyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdEb2NDb21tZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdEb2NOb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdEb2NOb2RlRWF0TmFtZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3RG9jUmF3Tm9kZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3RG9jVGV4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUdldEJhc2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQ2hhckRhdGEnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQ29tbWVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VDdHh0RXh0ZXJuYWxFbnRpdHknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlSW5Ob2RlQ29udGV4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VNYXJrdXBEZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZVNERGVjbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VyRmluZE5vZGVJbmZvJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJIYW5kbGVQRVJlZmVyZW5jZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VyUHJpbnRGaWxlQ29udGV4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVjb25jaWxpYXRlTnMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWFBhcnNlRmlsZVdpdGhEYXRhJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVhQYXJzZU1lbW9yeVdpdGhEYXRhJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFDb3B5VmFsdWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNlYXJjaE5zJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyQ29uc3RYbWxMYW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyWG1sTGFuZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlQmFzZTY0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVCaW5IZXgnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkR2V0VmFsaWRFbGVtZW50cycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhJbnRlcnNlY3Rpb24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd3aXRob3V0Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9DQVNUX0ZQVFInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxFbnRpdHknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2VudGl0eURlY2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2VudGl0eURlY2xTQVhGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sTmV3RG9jTm9EdEQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENsZWFudXBQYXJzZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENsZWFudXBUaHJlYWRzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdHbG9iYWxOcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbnRpdHlSZWYnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlUEVSZWZlcmVuY2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlU0REZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJIYW5kbGVQRVJlZmVyZW5jZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYMkVudGl0eURlY2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNjYW5OYW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTcGxpdFFOYW1lMycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRhdGVPbmVBdHRyaWJ1dGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlT25lTmFtZXNwYWNlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nd29uJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxQYXJzZXJDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBdXRvbWF0YU5ld05lZ1RyYW5zJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWZmZXJDcmVhdGVTdGF0aWMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbExvYWRTR01MU3VwZXJDYXRhbG9nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUF0dFZhbHVlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nd29yZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfaHRtbEVsZW1EZXNjJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nd29yZHMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb3JtYWxpemVGdW5jdGlvbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhTdHJpbmdMZW5ndGhGdW5jdGlvbicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3dvcmsnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnVmZmVyRGV0YWNoJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxNb2R1bGVPcGVuJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxNb2R1bGVTeW1ib2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVHZXRCYXNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXR0ZXJuU3RyZWFtYWJsZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVtb3ZlUHJvcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYUGFyc2VEb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWFBhcnNlRmlsZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYUGFyc2VGaWxlV2l0aERhdGEnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWFBhcnNlTWVtb3J5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVhQYXJzZU1lbW9yeVdpdGhEYXRhJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nd29ya2VkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBDd2QnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5hbm9GVFBEZWxlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nd29ya3MnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2hlbGxEdScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3dvcnJ5Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9TQ0hFTUFTX0FOWV9MQVgnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd3b3J0aHdoaWxlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ1aWxkUmVsYXRpdmVVUkknLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd3b3VsZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sRXJyb3InLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxBdXRvQ2xvc2VUYWcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE1vZHVsZU9wZW4nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE1vZHVsZVN5bWJvbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckdldFJlbWFpbmRlcicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3dyYXBwZXInPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRE9NV3JhcEFjcXVpcmVOc0Z1bmN0aW9uJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwUmVjb25jaWxlTmFtZXNwYWNlcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRE9NV3JhcFJlbW92ZU5vZGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd3cmFwcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyQnl0ZUNvbnN1bWVkJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nd3JpdGUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRmlsZVJlYWQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEZpbmRDaGFyRW5jb2RpbmdIYW5kbGVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHZXRDaGFyRW5jb2RpbmdIYW5kbGVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJT0ZUUFJlYWQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbElPSFRUUFJlYWQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld0NoYXJFbmNvZGluZ0hhbmRsZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sT3V0cHV0QnVmZmVyQ3JlYXRlSU8nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dFdyaXRlQ2FsbGJhY2snLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNhdmVUb0lPJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTaGVsbFdyaXRlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nd3JpdGVyJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEZyZWVUZXh0V3JpdGVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdUZXh0V3JpdGVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdUZXh0V3JpdGVyUHVzaFBhcnNlcicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3dyaXRlcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWZmZXJXcml0ZVF1b3RlZFN0cmluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sT3V0cHV0QnVmZmVyV3JpdGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dEJ1ZmZlcldyaXRlRXNjYXBlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3dyaXRpbmcnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd3cnQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRE9NV3JhcFJlbW92ZU5vZGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd3d3cnPgorICAgICAgICAgIDxyZWYgbmFtZT0nWElOQ0xVREVfTlMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hJTkNMVURFX09MRF9OUycvPgorICAgICAgICAgIDxyZWYgbmFtZT0nZ2V0U3lzdGVtSWQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEMxNE5Eb2NEdW1wTWVtb3J5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDMTRORG9jU2F2ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQzE0TkRvY1NhdmVUbycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQzE0TkV4ZWN1dGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENoZWNrTGFuZ3VhZ2VJRCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0Q2hhckVuY29kaW5nTmFtZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VySGFuZGxlUEVSZWZlcmVuY2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlckhhbmRsZVJlZmVyZW5jZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYMkdldFN5c3RlbUlkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFHZXRQcmVkZWZpbmVkVHlwZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlck5vZGVUeXBlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgIDwvbGV0dGVyPgorICAgIDwvY2h1bms+CisgICAgPGNodW5rIG5hbWU9J2NodW5rMjgnPgorICAgICAgPGxldHRlciBuYW1lPSd4Jz4KKyAgICAgICAgPHdvcmQgbmFtZT0neDAwQjcnPgorICAgICAgICAgIDxyZWYgbmFtZT0nSVNfRVhURU5ERVInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4MDJEMCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdJU19FWFRFTkRFUicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3gwMkQxJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0lTX0VYVEVOREVSJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neDAzODcnPgorICAgICAgICAgIDxyZWYgbmFtZT0nSVNfRVhURU5ERVInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4MDY0MCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdJU19FWFRFTkRFUicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3gwRTQ2Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0lTX0VYVEVOREVSJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neDBFQzYnPgorICAgICAgICAgIDxyZWYgbmFtZT0nSVNfRVhURU5ERVInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4MTAwMDAtJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0lTX0NIQVInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4MTBGRkZGJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0lTX0NIQVInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4MjAnPgorICAgICAgICAgIDxyZWYgbmFtZT0nSVNfQkxBTksnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0lTX0JZVEVfQ0hBUicvPgorICAgICAgICAgIDxyZWYgbmFtZT0nSVNfUFVCSURDSEFSJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUF0dFZhbHVlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZU5hbWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlTm10b2tlbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRDdHh0Tm9ybWFsaXplQXR0cmlidXRlVmFsdWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkTm9ybWFsaXplQXR0cmlidXRlVmFsdWUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4MjAtJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0lTX0NIQVInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4MzAwNSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdJU19FWFRFTkRFUicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3gzMDA3Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0lTX0lERU9HUkFQSElDJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neDMwMjEtJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0lTX0lERU9HUkFQSElDJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neDMwMjknPgorICAgICAgICAgIDxyZWYgbmFtZT0nSVNfSURFT0dSQVBISUMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4MzAzMS0nPgorICAgICAgICAgIDxyZWYgbmFtZT0nSVNfRVhURU5ERVInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4MzAzNSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdJU19FWFRFTkRFUicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3gzMDlELSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdJU19FWFRFTkRFUicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3gzMDlFJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0lTX0VYVEVOREVSJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neDMwRkMtJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0lTX0VYVEVOREVSJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neDMwRkUnPgorICAgICAgICAgIDxyZWYgbmFtZT0nSVNfRVhURU5ERVInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4NEUwMC0nPgorICAgICAgICAgIDxyZWYgbmFtZT0nSVNfSURFT0dSQVBISUMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4OUZBNSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdJU19JREVPR1JBUEhJQycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3hEN0ZGJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0lTX0NIQVInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4RTAwMC0nPgorICAgICAgICAgIDxyZWYgbmFtZT0nSVNfQ0hBUicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3hGRkZEJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0lTX0NIQVInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bGluayc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bGlua0dldERlZmF1bHREZXRlY3QnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3hsaW5rR2V0RGVmYXVsdEhhbmRsZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3hsaW5rU2V0RGVmYXVsdERldGVjdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neGxpbmtTZXREZWZhdWx0SGFuZGxlcicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3hsaW5rSGFuZGxlclB0cic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bGlua0dldERlZmF1bHRIYW5kbGVyJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neGxpbmtUeXBlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3hsaW5rSXNMaW5rJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sLWMxNG4nPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQzE0TkRvY0R1bXBNZW1vcnknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEMxNE5Eb2NTYXZlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDMTRORG9jU2F2ZVRvJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDMTRORXhlY3V0ZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbC1leGMtYzE0bic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDMTRORG9jRHVtcE1lbW9yeScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQzE0TkRvY1NhdmUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEMxNE5Eb2NTYXZlVG8nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEMxNE5FeGVjdXRlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sLW5hbWUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VOYW1lc3BhY2UnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWw6Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9YTUxfTkFNRVNQQUNFJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sOmJhc2UnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9kZVNldEJhc2UnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWw6aWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1hNTF9JRCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbDpsYW5nJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3hsaW5rRXh0ZW5kZWRMaW5rRnVuaycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neGxpbmtFeHRlbmRlZExpbmtTZXRGdW5rJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlR2V0TGFuZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9kZVNldExhbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJDb25zdFhtbExhbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJYbWxMYW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aExhbmdGdW5jdGlvbicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbDpzcGFjZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sUGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUdldFNwYWNlUHJlc2VydmUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVTZXRTcGFjZVByZXNlcnZlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sQWRkRG9jRW50aXR5Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld0VudGl0eScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbEF0dHInPgorICAgICAgICAgIDxyZWYgbmFtZT0nYXR0cmlidXRlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdhdHRyaWJ1dGVTQVhGdW5jJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sQXR0clB0cic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDb3B5UHJvcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ29weVByb3BMaXN0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHZXRJRCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbEF0dHJpYnV0ZVB0cic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHZXREdGRBdHRyRGVzYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0RHRkUUF0dHJEZXNjJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sQXR0cmlidXRlVGFibGVQdHInPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ29weUF0dHJpYnV0ZVRhYmxlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sQnVmTm9kZUR1bXAnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUR1bXAnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxCdWZQdHInPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnVmR2V0Tm9kZUNvbnRlbnQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxCdWZmZXInPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hhckVuY0ZpcnN0TGluZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hhckVuY0luRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2hhckVuY091dEZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVEdW1wJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxPdXRwdXRCdWZmZXJDcmVhdGVCdWZmZXInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxCdWZmZXJQdHInPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3VGV4dFdyaXRlck1lbW9yeScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sT3V0cHV0QnVmZmVyQ3JlYXRlQnVmZmVyJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sQnVmZmVyU2hyaW5rJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ1ZlNocmluaycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbEJ1aWxkVVJJJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ1aWxkUmVsYXRpdmVVUkknLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxCeXRlc0NvbnN1bWVkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJCeXRlQ29uc3VtZWQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxDYXRhbG9nQWxsb3cnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2F0YWxvZ0dldERlZmF1bHRzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sQ2F0YWxvZ1B0cic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdDYXRhbG9nJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sQ2F0YWxvZ1Jlc29sdmVQdWJsaWMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2F0YWxvZ0dldFB1YmxpYycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbENhdGFsb2dSZXNvbHZlU3lzdGVtJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENhdGFsb2dHZXRTeXN0ZW0nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxDaGFyRW5jb2RpbmcnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbERvYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFBhcnNlckN0eHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldENoYXJFbmNvZGluZ0hhbmRsZXInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxDaGFyRW5jb2RpbmdIYW5kbGVyJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld0NoYXJFbmNvZGluZ0hhbmRsZXInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld0NoYXJFbmNvZGluZ0hhbmRsZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlZ2lzdGVyQ2hhckVuY29kaW5nSGFuZGxlcicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbENoYXJFbmNvZGluZ0lucHV0RnVuYyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdDaGFyRW5jb2RpbmdIYW5kbGVyJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdDaGFyRW5jb2RpbmdIYW5kbGVyJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sQ2hhcnMnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbFBhcnNlcklucHV0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWZmZXJXcml0ZUNIQVInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxDbGVhbnVwUGFyc2VyJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENsZWFudXBQYXJzZXInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxDbGVhbnVwVGhyZWFkcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDbGVhbnVwVGhyZWFkcycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbENvcHlEb2NFbGVtZW50Q29udGVudCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDb3B5RWxlbWVudENvbnRlbnQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxDcmVhdGVJbnRTdWJzZXQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3RHRkJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sRE9NV3JhcEN0eHRQdHInPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRE9NV3JhcE5ld0N0eHQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxEZWZhdWx0U0FYTG9jYXRvcic+CisgICAgICAgICAgPHJlZiBuYW1lPSdzZXREb2N1bWVudExvY2F0b3InLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3NldERvY3VtZW50TG9jYXRvclNBWEZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWDJTZXREb2N1bWVudExvY2F0b3InLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxEb2MnPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbE5zJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sRG9jQ29weU5vZGVMaXN0Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENvcHlOb2RlTGlzdCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbERvY05ld1BJJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld1BJJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sRG9jUHJvcGVydGllcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sRG9jJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sRG9jUHRyJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENvcHlEb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld1RleHRXcml0ZXJEb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld1RleHRXcml0ZXJUcmVlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyQ3VycmVudERvYycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbER0ZFB0cic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDb3B5RHRkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJT1BhcnNlRFREJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZURURCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYUGFyc2VEVEQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxFbGVtZW50Q29udGVudFB0cic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDb3B5RG9jRWxlbWVudENvbnRlbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENvcHlFbGVtZW50Q29udGVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbGVtZW50Q2hpbGRyZW5Db250ZW50RGVjbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VFbGVtZW50TWl4ZWRDb250ZW50RGVjbCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbEVsZW1lbnRQdHInPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0RHRkRWxlbWVudERlc2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldER0ZFFFbGVtZW50RGVzYycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbEVsZW1lbnRUYWJsZVB0cic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDb3B5RWxlbWVudFRhYmxlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sRW5jb2RlRW50aXRpZXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRW5jb2RlRW50aXRpZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEVuY29kZUVudGl0aWVzUmVlbnRyYW50Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sRW5jb2RlRW50aXRpZXNSZWVudHJhbnQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRW5jb2RlRW50aXRpZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld0NoaWxkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdEb2NOb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdEb2NOb2RlRWF0TmFtZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9kZVNldENvbnRlbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVTZXRDb250ZW50TGVuJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sRW5jb2RlU3BlY2lhbENoYXJzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVTZXRDb250ZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlU2V0Q29udGVudExlbicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbEVudGl0aWVzVGFibGVQdHInPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ29weUVudGl0aWVzVGFibGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENyZWF0ZUVudGl0aWVzVGFibGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxFbnRpdHlQdHInPgorICAgICAgICAgIDxyZWYgbmFtZT0nZ2V0RW50aXR5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdnZXRFbnRpdHlTQVhGdW5jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdnZXRQYXJhbWV0ZXJFbnRpdHknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2dldFBhcmFtZXRlckVudGl0eVNBWEZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld0VudGl0eUlucHV0U3RyZWFtJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVudGl0eVJlZicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYMkdldEVudGl0eScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU0FYMkdldFBhcmFtZXRlckVudGl0eScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbEVudW1lcmF0aW9uUHRyJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENvcHlFbnVtZXJhdGlvbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ3JlYXRlRW51bWVyYXRpb24nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxFeHBGcmVlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEV4cE5ld09yJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFeHBOZXdSYW5nZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRXhwTmV3U2VxJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sRXhwUmVmJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEV4cE5ld09yJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxFeHBOZXdSYW5nZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRXhwTmV3U2VxJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sRXh0ZXJuYWxFbnRpdHlMb2FkZXInPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0RXh0ZXJuYWxFbnRpdHlMb2FkZXInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxGaWxlT3Blbl9yZWFsJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEZpbGVPcGVuJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sRnJlZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDMTRORG9jRHVtcE1lbW9yeScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRG9jRHVtcEZvcm1hdE1lbW9yeScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRG9jRHVtcEZvcm1hdE1lbW9yeUVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRG9jRHVtcE1lbW9yeScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRG9jRHVtcE1lbW9yeUVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0Tm9Oc1Byb3AnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldE5zUHJvcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0UHJvcCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUdldEJhc2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVHZXRDb250ZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlR2V0TGFuZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUxpc3RHZXRSYXdTdHJpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVMaXN0R2V0U3RyaW5nJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyVmFsdWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ2FzdFRvU3RyaW5nJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sRnJlZURvYyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyQ3VycmVudERvYycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbEZyZWVEb2NFbGVtZW50Q29udGVudCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxGcmVlRWxlbWVudENvbnRlbnQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxGcmVlTXV0ZXgnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRnJlZU11dGV4Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sRnJlZU5vZGUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVW5saW5rTm9kZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbEZyZWVTdHJlYW1DdHh0Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhdHRlcm5HZXRTdHJlYW1DdHh0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sR2V0R2xvYmFsU3RhdGUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0R2xvYmFsU3RhdGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxHZXROb05zUHJvcCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHZXRQcm9wJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sR2V0TnNQcm9wJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldFByb3AnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxHZXRQcm9wJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldE5vTnNQcm9wJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sR2V0VGhyZWFkSWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sR2V0VGhyZWFkSWQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxIYXNoVGFibGVQdHInPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSGFzaENyZWF0ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSGFzaENyZWF0ZURpY3QnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxJRFB0cic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBZGRJRCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbEluZGVudFRyZWVPdXRwdXQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnVmTm9kZUR1bXAnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERvY0R1bXBGb3JtYXRNZW1vcnknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERvY0R1bXBGb3JtYXRNZW1vcnlFbmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERvY0Zvcm1hdER1bXAnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVEdW1wJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlRHVtcE91dHB1dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2F2ZUZvcm1hdEZpbGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNhdmVGb3JtYXRGaWxlRW5jJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sSW5pdFBhcnNlcic+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sSW5pdEF1dG9DbG9zZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2xlYW51cFBhcnNlcicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbEluaXRUaHJlYWRzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEluaXRUaHJlYWRzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sSW5pdGlhbGl6ZUNhdGFsb2cnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ2F0YWxvZ0FkZCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbEluaXRpYWxpemVHbG9iYWxTdGF0ZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJbml0aWFsaXplR2xvYmFsU3RhdGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxJbnB1dENsb3NlQ2FsbGJhY2snPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVnaXN0ZXJJbnB1dENhbGxiYWNrcycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbElucHV0TWF0Y2hDYWxsYmFjayc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWdpc3RlcklucHV0Q2FsbGJhY2tzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sSW5wdXRPcGVuQ2FsbGJhY2snPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVnaXN0ZXJJbnB1dENhbGxiYWNrcycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbElucHV0UmVhZENhbGxiYWNrJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlZ2lzdGVySW5wdXRDYWxsYmFja3MnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxJc0Jhc2VDaGFyUSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJc0Jhc2VDaGFyJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sSXNCYXNlQ2hhcl9jaCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJc0Jhc2VDaGFyJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sSXNCbGFua05vZGUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sS2VlcEJsYW5rc0RlZmF1bHQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxJc0JsYW5rUSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJc0JsYW5rJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sSXNCbGFua19jaCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJc0JsYW5rJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sSXNDaGFyUSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJc0NoYXInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxJc0NoYXJfY2gnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSXNDaGFyJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sSXNDb21iaW5pbmdRJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbElzQ29tYmluaW5nJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sSXNEaWdpdFEnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSXNEaWdpdCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbElzRGlnaXRfY2gnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSXNEaWdpdCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbElzRXh0ZW5kZXJRJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbElzRXh0ZW5kZXInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxJc0V4dGVuZGVyX2NoJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbElzRXh0ZW5kZXInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxJc0lkZW9ncmFwaGljUSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJc0lkZW9ncmFwaGljJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sSXNNYWluVGhyZWFkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbElzTWFpblRocmVhZCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbElzUHViaWRDaGFyUSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxJc1B1YmlkQ2hhcicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbElzUHViaWRDaGFyX2NoJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbElzUHViaWRDaGFyJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sS2VlcEJsYW5rc0RlZmF1bHQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQnVmTm9kZUR1bXAnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERvY0R1bXBGb3JtYXRNZW1vcnknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERvY0R1bXBGb3JtYXRNZW1vcnlFbmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERvY0Zvcm1hdER1bXAnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVEdW1wJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlRHVtcE91dHB1dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2F2ZUZvcm1hdEZpbGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNhdmVGb3JtYXRGaWxlRW5jJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sTGlzdFdhbGsnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTGlzdFdhbGtlcicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbExvYWRFeHREdGREZWZhdWx0VmFsdWUnPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX0NPTVBMRVRFX0FUVFJTJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfREVURUNUX0lEUycvPgorICAgICAgICAgIDxyZWYgbmFtZT0nWE1MX1NLSVBfSURTJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sTG9jYXRpb25TZXRQdHInPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFB0ckZyZWVMb2NhdGlvblNldCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFB0ckxvY2F0aW9uU2V0Q3JlYXRlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sTG9ja0xpYnJhcnknPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTG9ja0xpYnJhcnknLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxNb2R1bGVPcHRpb24nPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTW9kdWxlT3BlbicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbE11dGV4TG9jayc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxNdXRleExvY2snLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxNdXRleFVubG9jayc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxNdXRleFVubG9jaycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbE5hbm9GVFBHZXQnPgorICAgICAgICAgIDxyZWYgbmFtZT0nZnRwRGF0YUNhbGxiYWNrJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sTmFub0ZUUExpc3QnPgorICAgICAgICAgIDxyZWYgbmFtZT0nZnRwTGlzdENhbGxiYWNrJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sTmV3Q2hpbGQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3VGV4dENoaWxkJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sTmV3RG9jRWxlbWVudENvbnRlbnQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3RWxlbWVudENvbnRlbnQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxOZXdEb2NSYXdOb2RlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld0RvY05vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld0RvY05vZGVFYXROYW1lJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sTmV3TXV0ZXgnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3TXV0ZXgnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxOZXdOb2RlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld05vZGVFYXROYW1lJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sTmV3VGV4dENoaWxkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld0NoaWxkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdUZXh0Q2hpbGQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxOZXdUZXh0V3JpdGVyJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld1RleHRXcml0ZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld1RleHRXcml0ZXJEb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld1RleHRXcml0ZXJGaWxlbmFtZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3VGV4dFdyaXRlck1lbW9yeScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3VGV4dFdyaXRlclB1c2hQYXJzZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld1RleHRXcml0ZXJUcmVlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sTm9kZUxpc3RHZXRTdHJpbmcnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9kZUxpc3RHZXRSYXdTdHJpbmcnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxOb2RlUHRyJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENvcHlOb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDb3B5Tm9kZUxpc3QnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERvY0NvcHlOb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEb2NDb3B5Tm9kZUxpc3QnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERvY0dldFJvb3RFbGVtZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdUZXh0V3JpdGVyVHJlZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckN1cnJlbnROb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyUHJlc2VydmUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm9kZVNldEFkZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb2RlU2V0QWRkVW5pcXVlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vZGVTZXRDcmVhdGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTm9kZVNldERlbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOb2RlU2V0SXRlbScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFB0ckJ1aWxkTm9kZUxpc3QnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxOb2RlU2V0Q29udGVudCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlQWRkQ29udGVudCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbE5vZGVTZXRDb250ZW50TGVuJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5vZGVBZGRDb250ZW50TGVuJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sTm9kZVNldFB0cic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEZyZWVOb2RlU2V0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vZGVTZXRDcmVhdGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxOb2RlVHlwZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyTm9kZVR5cGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxOb3RhdGlvblB0cic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxHZXREdGROb3RhdGlvbkRlc2MnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxOb3RhdGlvblRhYmxlUHRyJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENvcHlOb3RhdGlvblRhYmxlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sTnMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRE9NV3JhcEFjcXVpcmVOc0Z1bmN0aW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sTnNQdHInPgorICAgICAgICAgIDxyZWYgbmFtZT0nX3htbERPTVdyYXBDdHh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdnZXROYW1lc3BhY2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENvcHlOYW1lc3BhY2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENvcHlOYW1lc3BhY2VMaXN0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwQWNxdWlyZU5zRnVuY3Rpb24nLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEdldE5zTGlzdCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbE91dHB1dEJ1ZmZlcic+CisgICAgICAgICAgPHJlZiBuYW1lPSdMSUJYTUwyX05FV19CVUZGRVInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxPdXRwdXRCdWZmZXJDbG9zZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTYXZlRmlsZVRvJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTYXZlRm9ybWF0RmlsZVRvJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sT3V0cHV0QnVmZmVyUHRyJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE5ld1RleHRXcml0ZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sT3V0cHV0QnVmZmVyR2V0Q29udGVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sT3V0cHV0QnVmZmVyR2V0U2l6ZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbE91dHB1dENsb3NlQ2FsbGJhY2snPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVnaXN0ZXJPdXRwdXRDYWxsYmFja3MnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxPdXRwdXRNYXRjaENhbGxiYWNrJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlZ2lzdGVyT3V0cHV0Q2FsbGJhY2tzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sT3V0cHV0T3BlbkNhbGxiYWNrJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlZ2lzdGVyT3V0cHV0Q2FsbGJhY2tzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sT3V0cHV0V3JpdGVDYWxsYmFjayc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWdpc3Rlck91dHB1dENhbGxiYWNrcycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbFBhcnNlQXR0VmFsdWUnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VEZWZhdWx0RGVjbCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbFBhcnNlQ2h1bmsnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxQYXJzZUVsZW1lbnRDb250ZW50RGVjbCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVsZW1lbnRDaGlsZHJlbkNvbnRlbnREZWNsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVsZW1lbnRNaXhlZENvbnRlbnREZWNsJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sUGFyc2VFbGVtZW50RGVjbCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVsZW1lbnRDb250ZW50RGVjbCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbFBhcnNlRXh0ZXJuYWxJRCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZU5vdGF0aW9uRGVjbCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbFBhcnNlRmlsZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUNhdGFsb2dGaWxlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sUGFyc2VOYW1lc3BhY2U6Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlTmFtZXNwYWNlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sUGFyc2VVUkknPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVVJJRXNjYXBlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sUGFyc2VyQ3R4dCc+CisgICAgICAgICAgPHJlZiBuYW1lPSdYTUxfQ1RYVF9GSU5JU0hfRFREXzAnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J1hNTF9DVFhUX0ZJTklTSF9EVERfMScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbFBhcnNlckN0eHRQdHInPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3UGFyc2VyQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3VGV4dFdyaXRlclB1c2hQYXJzZXInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxQYXJzZXJFcnJvcic+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sRXJyb3InLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxQYXJzZXJFcnJvcnMnPgorICAgICAgICAgIDxyZWYgbmFtZT0nZG9jYlBhcnNlQ2h1bmsnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxQYXJzZUNodW5rJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUNodW5rJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sUGFyc2VyRmluZE5vZGVJbmZvSW5kZXgnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VyRmluZE5vZGVJbmZvSW5kZXgnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxQYXJzZXJIYW5kbGVSZWZlcmVuY2UnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2Nhbk5hbWUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxQYXJzZXJJbnB1dEJ1ZmZlcic+CisgICAgICAgICAgPHJlZiBuYW1lPSdMSUJYTUwyX05FV19CVUZGRVInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdUZXh0UmVhZGVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckdldFJlbWFpbmRlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclNldHVwJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sUGFyc2VySW5wdXRQdHInPgorICAgICAgICAgIDxyZWYgbmFtZT0ncmVzb2x2ZUVudGl0eScvPgorICAgICAgICAgIDxyZWYgbmFtZT0ncmVzb2x2ZUVudGl0eVNBWEZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEZyZWVJbnB1dFN0cmVhbScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTG9hZEV4dGVybmFsRW50aXR5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb05ldEV4dGVybmFsRW50aXR5TG9hZGVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJQcmludEZpbGVDb250ZXh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZXJQcmludEZpbGVJbmZvJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVgyUmVzb2x2ZUVudGl0eScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbFBhcnNlck5vZGVJbmZvJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlckZpbmROb2RlSW5mbycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbFBhcnNlclByb3BlcnRpZXMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckdldFBhcnNlclByb3AnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJTZXRQYXJzZXJQcm9wJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sUGF0dGVybic+CisgICAgICAgICAgPHJlZiBuYW1lPSdMSUJYTUxfUEFUVEVSTl9FTkFCTEVEJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sUGF0dGVybkZsYWdzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhdHRlcm5jb21waWxlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sUGF0dGVybkdldFN0cmVhbUN0eHQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGF0dGVyblN0cmVhbWFibGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxQYXR0ZXJuY29tcGlsZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJlYW1QdXNoJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTdHJlYW1QdXNoQXR0cicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyZWFtUHVzaE5vZGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxQb3BJbnB1dDonPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUG9wSW5wdXQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxQdXNoSW5wdXQ6Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFB1c2hJbnB1dCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbFJGcmVlTXV0ZXgnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRnJlZVJNdXRleCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbFJNdXRleExvY2snPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUk11dGV4TG9jaycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbFJNdXRleFVubG9jayc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSTXV0ZXhVbmxvY2snLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxSTmV3TXV0ZXgnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3Uk11dGV4Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sUmVhZGVyJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J0xJQlhNTF9SRUFERVJfRU5BQkxFRCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbFJlZlB0cic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxBZGRSZWYnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxSZWxheE5HUGFyc2VyRmxhZyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheFBhcnNlclNldEZsYWcnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxSZWxheE5HVmFsaWRhdGVQdXNoRWxlbWVudCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWxheE5HVmFsaWRhdGVGdWxsRWxlbWVudCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbFNBWDJBdHRyaWJ1dGUnPgorICAgICAgICAgIDxyZWYgbmFtZT0nYXR0cmlidXRlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sU0FYMkF0dHJpYnV0ZURlY2wnPgorICAgICAgICAgIDxyZWYgbmFtZT0nYXR0cmlidXRlRGVjbCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbFNBWDJDRGF0YUJsb2NrJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2NkYXRhQmxvY2snLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxTQVgyQ2hhcmFjdGVycyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdjaGFyYWN0ZXJzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVgySWdub3JhYmxlV2hpdGVzcGFjZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbFNBWDJDb21tZW50Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2NvbW1lbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWDJDb21tZW50Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sU0FYMkVsZW1lbnREZWNsJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2VsZW1lbnREZWNsJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sU0FYMkVuZERvY3VtZW50Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2VuZERvY3VtZW50Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sU0FYMkVuZEVsZW1lbnQnPgorICAgICAgICAgIDxyZWYgbmFtZT0nZW5kRWxlbWVudCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbFNBWDJFbnRpdHlEZWNsJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2VudGl0eURlY2wnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxTQVgyRXh0ZXJuYWxTdWJzZXQnPgorICAgICAgICAgIDxyZWYgbmFtZT0nZXh0ZXJuYWxTdWJzZXQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxTQVgyR2V0Q29sdW1uTnVtYmVyJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2dldENvbHVtbk51bWJlcicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbFNBWDJHZXRFbnRpdHknPgorICAgICAgICAgIDxyZWYgbmFtZT0nZ2V0RW50aXR5Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sU0FYMkdldExpbmVOdW1iZXInPgorICAgICAgICAgIDxyZWYgbmFtZT0nZ2V0TGluZU51bWJlcicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbFNBWDJHZXRQYXJhbWV0ZXJFbnRpdHknPgorICAgICAgICAgIDxyZWYgbmFtZT0nZ2V0UGFyYW1ldGVyRW50aXR5Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sU0FYMkdldFB1YmxpY0lkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2dldFB1YmxpY0lkJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sU0FYMkdldFN5c3RlbUlkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2dldFN5c3RlbUlkJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sU0FYMkhhc0V4dGVybmFsU3Vic2V0Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2hhc0V4dGVybmFsU3Vic2V0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sU0FYMkhhc0ludGVybmFsU3Vic2V0Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2hhc0ludGVybmFsU3Vic2V0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sU0FYMklnbm9yYWJsZVdoaXRlc3BhY2UnPgorICAgICAgICAgIDxyZWYgbmFtZT0naWdub3JhYmxlV2hpdGVzcGFjZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sS2VlcEJsYW5rc0RlZmF1bHQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxTQVgySW5pdERlZmF1bHRTQVhIYW5kbGVyJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2luaXR4bWxEZWZhdWx0U0FYSGFuZGxlcicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbFNBWDJJbml0RG9jYkRlZmF1bHRTQVhIYW5kbGVyJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2luaXRkb2NiRGVmYXVsdFNBWEhhbmRsZXInLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxTQVgySW5pdEh0bWxEZWZhdWx0U0FYSGFuZGxlcic+CisgICAgICAgICAgPHJlZiBuYW1lPSdpbml0aHRtbERlZmF1bHRTQVhIYW5kbGVyJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sU0FYMkludGVybmFsU3Vic2V0Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2ludGVybmFsU3Vic2V0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sU0FYMklzU3RhbmRhbG9uZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdpc1N0YW5kYWxvbmUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxTQVgyTm90YXRpb25EZWNsJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J25vdGF0aW9uRGVjbCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbFNBWDJQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24nPgorICAgICAgICAgIDxyZWYgbmFtZT0ncHJvY2Vzc2luZ0luc3RydWN0aW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sU0FYMlJlZmVyZW5jZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdyZWZlcmVuY2UnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWDJSZWZlcmVuY2UnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxTQVgyUmVzb2x2ZUVudGl0eSc+CisgICAgICAgICAgPHJlZiBuYW1lPSdyZXNvbHZlRW50aXR5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVgyUmVzb2x2ZUVudGl0eScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbFNBWDJTdGFydERvY3VtZW50Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3N0YXJ0RG9jdW1lbnQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxTQVgyU3RhcnRFbGVtZW50Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3N0YXJ0RWxlbWVudCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbFNBWDJVbnBhcnNlZEVudGl0eURlY2wnPgorICAgICAgICAgIDxyZWYgbmFtZT0ndW5wYXJzZWRFbnRpdHlEZWNsJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sU0FYSGFuZGxlclB0cic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFTQVhQbHVnJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sU0FYVmVyc2lvbic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTQVhEZWZhdWx0VmVyc2lvbicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbFNhdmVPcHRpb25zJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNhdmVUb0J1ZmZlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2F2ZVRvRmQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNhdmVUb0ZpbGVuYW1lJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTYXZlVG9JTycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbFNjaGVtYVNBWFBsdWcnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hU0FYVW5wbHVnJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sU2NoZW1hVmFsVHlwZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFHZXRWYWxUeXBlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sU2NoZW1hVmFsaWRPcHRpb24nPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hU2V0VmFsaWRPcHRpb25zJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sU2NoZW1hdHJvblZhbGlkT3B0aW9ucyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWF0cm9uTmV3VmFsaWRDdHh0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sU2V0RXh0ZXJuYWxFbnRpdHlMb2FkZXInPgorICAgICAgICAgIDxyZWYgbmFtZT0ncmVzb2x2ZUVudGl0eScvPgorICAgICAgICAgIDxyZWYgbmFtZT0ncmVzb2x2ZUVudGl0eVNBWEZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNBWDJSZXNvbHZlRW50aXR5Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sU25wcmludGZFbGVtZW50Q29udGVudCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTcHJpbnRmRWxlbWVudENvbnRlbnQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxTdHJjbXAnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyRXF1YWwnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxTdHJkdXAnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3Tm9kZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbFN0cmVhbVB1c2gnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyZWFtUHVzaE5vZGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxTdHJpbmdEZWNvZGVFbnRpdGllcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEZWNvZGVFbnRpdGllcycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbFN0cmluZ0dldE5vZGVMaXN0Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQXR0VmFsdWUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxTdHJuY2F0Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFN0cm5jYXROZXcnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxTdHJuY21wJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVURjhDaGFyY21wJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sVGV4dFJlYWRlcic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdUZXh0UmVhZGVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdUZXh0UmVhZGVyRmlsZW5hbWUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlYWRlck5ld0RvYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVhZGVyTmV3RmQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlYWRlck5ld0ZpbGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlYWRlck5ld0lPJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWFkZXJOZXdNZW1vcnknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlYWRlck5ld1dhbGtlcicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckN1cnJlbnREb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJDdXJyZW50Tm9kZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbFRleHRSZWFkZXJDdXJyZW50RG9jJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJQcmVzZXJ2ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclByZXNlcnZlUGF0dGVybicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbFRleHRSZWFkZXJMb2NhdG9yUHRyJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFRleHRSZWFkZXJMb2NhdG9yQmFzZVVSSScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckxvY2F0b3JMaW5lTnVtYmVyJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sVGV4dFJlYWRlclJlYWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckV4cGFuZCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbFRleHRXcml0ZXJTdGFydERUREVudGl0eSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVEVERFeHRlcm5hbEVudGl0eScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbFRleHRXcml0ZXJXcml0ZURURCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyV3JpdGVEb2NUeXBlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlUEknPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFdyaXRlcldyaXRlUHJvY2Vzc2luZ0luc3RydWN0aW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sVVJJJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENyZWF0ZVVSSScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRnJlZVVSSScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUHJpbnRVUkknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNhdmVVcmknLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxVUklFc2NhcGVTdHInPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVVJJRXNjYXBlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sVVJJRnJvbVBhdGgnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTm9ybWFsaXplV2luZG93c1BhdGgnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxVUklQdHInPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VVUkknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlVVJJUmF3Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sVW5saW5rTm9kZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxEb2NTZXRSb290RWxlbWVudCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sRnJlZU5vZGUnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxVbmxvY2tMaWJyYXJ5Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFVubG9ja0xpYnJhcnknLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxWYWxpZEN0eHRQdHInPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRpdHlFcnJvckZ1bmMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkaXR5V2FybmluZ0Z1bmMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxWYWxpZEdldFZhbGlkRWxlbWVudHMnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sVmFsaWRhdGVBdHRyaWJ1dGVEZWNsJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlRGVmYXVsdERlY2wnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxWYWxpZGF0ZUF0dHJpYnV0ZVZhbHVlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQXR0cmlidXRlVHlwZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbFZhbGlkYXRlT25lQXR0cmlidXRlJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFZhbGlkYXRlT25lRWxlbWVudCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbFdyaXRlcic+CisgICAgICAgICAgPHJlZiBuYW1lPSdMSUJYTUxfV1JJVEVSX0VOQUJMRUQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxYUGF0aENoZWNrRXJyb3InPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhQb3BCb29sZWFuJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFBvcEV4dGVybmFsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFBvcE5vZGVTZXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoUG9wTnVtYmVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFBvcFN0cmluZycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbFhQYXRoQ29tcEV4cHJQdHInPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDb21waWxlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEN0eHRDb21waWxlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sWFBhdGhDb250ZXh0Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRnJlZUNvbnRleHQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV3Q29udGV4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFB0ck5ld0NvbnRleHQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxYUGF0aEVycm9yJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2VycicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbFhQYXRoRXZhbFByZWRpY2F0ZSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyRXZhbFJhbmdlUHJlZGljYXRlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sWFBhdGhGcmVlT2JqZWN0Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRnJlZU5vZGVTZXRMaXN0Jy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sWFBhdGhGdW5jdGlvbic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEZ1bmN0aW9uTG9va3VwJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEZ1bmN0aW9uTG9va3VwTlMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxYUGF0aE5vZGVUcmFpbGluZ1NvcnRlZCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vZGVUcmFpbGluZycvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbFhQYXRoT2JqZWN0Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoQ29udGV4dFNldENhY2hlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sWFBhdGhPYmplY3RQdHInPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhDb21waWxlZEV2YWwnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRXZhbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhFdmFsRXhwcmVzc2lvbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhGcmVlTm9kZVNldExpc3QnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoRnJlZU9iamVjdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXdCb29sZWFuJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5ld0NTdHJpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV3RmxvYXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV3Tm9kZVNldCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXdOb2RlU2V0TGlzdCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhOZXdTdHJpbmcnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoTmV3VmFsdWVUcmVlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5vZGVFdmFsJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFdyYXBOb2RlU2V0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyRXZhbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFB0ckxvY2F0aW9uU2V0QWRkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyTG9jYXRpb25TZXRDcmVhdGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQdHJMb2NhdGlvblNldERlbCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFB0ck5ld0NvbGxhcHNlZFJhbmdlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyTmV3TG9jYXRpb25TZXROb2RlU2V0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyTmV3TG9jYXRpb25TZXROb2RlcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFB0ck5ld1JhbmdlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyTmV3UmFuZ2VOb2RlT2JqZWN0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyTmV3UmFuZ2VOb2RlUG9pbnQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQdHJOZXdSYW5nZU5vZGVzJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUHRyTmV3UmFuZ2VQb2ludE5vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQdHJOZXdSYW5nZVBvaW50cycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFB0cldyYXBMb2NhdGlvblNldCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3htbFhQYXRoUGFyc2VyQ29udGV4dCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEZyZWVQYXJzZXJDb250ZXh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aE5ld1BhcnNlckNvbnRleHQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxYUGF0aFRyYWlsaW5nU29ydGVkJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFhQYXRoVHJhaWxpbmcnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4bWxucyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOYW1lc3BhY2VQYXJzZU5TRGVmJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sbnM6Pz8/Jz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlQXR0cmlidXRlJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neG1sdGV4dFJlYWRlcic+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWFkZXJGb3JEb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlYWRlckZvckZkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWFkZXJGb3JJTycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVhZGVyRm9yTWVtb3J5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWFkZXJOZXdEb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlYWRlck5ld0ZkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWFkZXJOZXdJTycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUmVhZGVyTmV3TWVtb3J5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWFkZXJOZXdXYWxrZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlYWRlcldhbGtlcicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3hwYXRoJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFNoZWxsUHJpbnRYUGF0aEVycm9yJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTaGVsbFByaW50WFBhdGhSZXN1bHQnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd4cG9pbnRlcic+CisgICAgICAgICAgPHJlZiBuYW1lPSdYSU5DTFVERV9QQVJTRV9YUE9JTlRFUicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICA8L2xldHRlcj4KKyAgICA8L2NodW5rPgorICAgIDxjaHVuayBuYW1lPSdjaHVuazI5Jz4KKyAgICAgIDxsZXR0ZXIgbmFtZT0neSc+CisgICAgICAgIDx3b3JkIG5hbWU9J3llYXInPgorICAgICAgICAgIDxyZWYgbmFtZT0nZnRwTGlzdENhbGxiYWNrJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0neWVzJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J194bWxEb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbElucHV0TWF0Y2hDYWxsYmFjaycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sSXNCbGFua05vZGUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbElzTWl4ZWRFbGVtZW50Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOb2RlSXNUZXh0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxPdXRwdXRNYXRjaENhbGxiYWNrJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUVudGl0eVJlZicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VQRVJlZmVyZW5jZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VTRERlY2wnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFBhcnNlckhhbmRsZVBFUmVmZXJlbmNlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWdleHBJc0RldGVybWluaXN0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0V3JpdGVyU3RhcnREb2N1bWVudCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3lldCc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwQWRvcHROb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwQ2xvbmVOb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxNb2R1bGVPcGVuJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTYXZlRG9jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTYXZlVHJlZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hR2V0Q2Fub25WYWx1ZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2NoZW1hR2V0Q2Fub25WYWx1ZVdodHNwJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyUmVsYXhOR1ZhbGlkYXRlQ3R4dCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlQ3R4dCcvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3lvdSc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwQWRvcHROb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxET01XcmFwQ2xvbmVOb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdEb2NOb2RlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxOZXdEb2NOb2RlRWF0TmFtZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sTmV3VGV4dENoaWxkJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxTY2hlbWFHZXRCdWlsdEluVHlwZScvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU2VhcmNoTnMnLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd5b3VyJz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENsZWFudXBQYXJzZXInLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbENsZWFudXBUaHJlYWRzJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgIDwvbGV0dGVyPgorICAgICAgPGxldHRlciBuYW1lPSd6Jz4KKyAgICAgICAgPHdvcmQgbmFtZT0nemVybyc+CisgICAgICAgICAgPHJlZiBuYW1lPSdkb2NiRW5jb2RlRW50aXRpZXMnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2RvY2JQYXJzZUNodW5rJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSdodG1sQ3R4dFJlYWREb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxFbmNvZGVFbnRpdGllcycvPgorICAgICAgICAgIDxyZWYgbmFtZT0naHRtbFBhcnNlQ2h1bmsnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J2h0bWxSZWFkRG9jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWZmZXJDQ2F0Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxCdWZmZXJDYXQnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEJ5dGVDb25zdW1lZCcvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ29weURvYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sQ3R4dFJlYWREb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbERvY0R1bXBNZW1vcnknLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbEhhc0ZlYXR1cmUnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbE91dHB1dEJ1ZmZlcldyaXRlRXNjYXBlJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5Jy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlSZWNvdmVyJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxQYXJzZUNodW5rJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWFkRG9jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxSZWFkZXJGb3JEb2MnLz4KKyAgICAgICAgICA8cmVmIG5hbWU9J3htbFJlYWRlck5ld0RvYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3RyZHVwRnVuYycvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sU3Ryc3ViJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aEJvb2xlYW5GdW5jdGlvbicvPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sWFBhdGhTdHJpbmdGdW5jdGlvbicvPgorICAgICAgICA8L3dvcmQ+CisgICAgICAgIDx3b3JkIG5hbWU9J3plcm8tYmFzZWQnPgorICAgICAgICAgIDxyZWYgbmFtZT0neG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZU5vJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxUZXh0UmVhZGVyTW92ZVRvQXR0cmlidXRlTm8nLz4KKyAgICAgICAgPC93b3JkPgorICAgICAgICA8d29yZCBuYW1lPSd6ZXJvcyc+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxYUGF0aFN0cmluZ0Z1bmN0aW9uJy8+CisgICAgICAgIDwvd29yZD4KKyAgICAgICAgPHdvcmQgbmFtZT0nemxpYic+CisgICAgICAgICAgPHJlZiBuYW1lPSdfeG1sRG9jJy8+CisgICAgICAgICAgPHJlZiBuYW1lPSd4bWxDMTRORG9jU2F2ZScvPgorICAgICAgICA8L3dvcmQ+CisgICAgICA8L2xldHRlcj4KKyAgICA8L2NodW5rPgorICAgIDxjaHVua3M+CisgICAgICA8Y2h1bmsgbmFtZT0nY2h1bmswJyBzdGFydD0nQScgZW5kPSdCJy8+CisgICAgICA8Y2h1bmsgbmFtZT0nY2h1bmsxJyBzdGFydD0nQycgZW5kPSdDJy8+CisgICAgICA8Y2h1bmsgbmFtZT0nY2h1bmsyJyBzdGFydD0nRCcgZW5kPSdFJy8+CisgICAgICA8Y2h1bmsgbmFtZT0nY2h1bmszJyBzdGFydD0nRicgZW5kPSdJJy8+CisgICAgICA8Y2h1bmsgbmFtZT0nY2h1bms0JyBzdGFydD0nSicgZW5kPSdOJy8+CisgICAgICA8Y2h1bmsgbmFtZT0nY2h1bms1JyBzdGFydD0nTycgZW5kPSdQJy8+CisgICAgICA8Y2h1bmsgbmFtZT0nY2h1bms2JyBzdGFydD0nUScgZW5kPSdSJy8+CisgICAgICA8Y2h1bmsgbmFtZT0nY2h1bms3JyBzdGFydD0nUycgZW5kPSdTJy8+CisgICAgICA8Y2h1bmsgbmFtZT0nY2h1bms4JyBzdGFydD0nVCcgZW5kPSdVJy8+CisgICAgICA8Y2h1bmsgbmFtZT0nY2h1bms5JyBzdGFydD0nVicgZW5kPSdYJy8+CisgICAgICA8Y2h1bmsgbmFtZT0nY2h1bmsxMCcgc3RhcnQ9J1knIGVuZD0nYScvPgorICAgICAgPGNodW5rIG5hbWU9J2NodW5rMTEnIHN0YXJ0PSdiJyBlbmQ9J2InLz4KKyAgICAgIDxjaHVuayBuYW1lPSdjaHVuazEyJyBzdGFydD0nYycgZW5kPSdjJy8+CisgICAgICA8Y2h1bmsgbmFtZT0nY2h1bmsxMycgc3RhcnQ9J2QnIGVuZD0nZCcvPgorICAgICAgPGNodW5rIG5hbWU9J2NodW5rMTQnIHN0YXJ0PSdlJyBlbmQ9J2UnLz4KKyAgICAgIDxjaHVuayBuYW1lPSdjaHVuazE1JyBzdGFydD0nZicgZW5kPSdmJy8+CisgICAgICA8Y2h1bmsgbmFtZT0nY2h1bmsxNicgc3RhcnQ9J2cnIGVuZD0naCcvPgorICAgICAgPGNodW5rIG5hbWU9J2NodW5rMTcnIHN0YXJ0PSdpJyBlbmQ9J2knLz4KKyAgICAgIDxjaHVuayBuYW1lPSdjaHVuazE4JyBzdGFydD0naicgZW5kPSdsJy8+CisgICAgICA8Y2h1bmsgbmFtZT0nY2h1bmsxOScgc3RhcnQ9J20nIGVuZD0nbScvPgorICAgICAgPGNodW5rIG5hbWU9J2NodW5rMjAnIHN0YXJ0PSduJyBlbmQ9J24nLz4KKyAgICAgIDxjaHVuayBuYW1lPSdjaHVuazIxJyBzdGFydD0nbycgZW5kPSdvJy8+CisgICAgICA8Y2h1bmsgbmFtZT0nY2h1bmsyMicgc3RhcnQ9J3AnIGVuZD0ncCcvPgorICAgICAgPGNodW5rIG5hbWU9J2NodW5rMjMnIHN0YXJ0PSdxJyBlbmQ9J3InLz4KKyAgICAgIDxjaHVuayBuYW1lPSdjaHVuazI0JyBzdGFydD0ncycgZW5kPSdzJy8+CisgICAgICA8Y2h1bmsgbmFtZT0nY2h1bmsyNScgc3RhcnQ9J3QnIGVuZD0ndCcvPgorICAgICAgPGNodW5rIG5hbWU9J2NodW5rMjYnIHN0YXJ0PSd1JyBlbmQ9J3YnLz4KKyAgICAgIDxjaHVuayBuYW1lPSdjaHVuazI3JyBzdGFydD0ndycgZW5kPSd3Jy8+CisgICAgICA8Y2h1bmsgbmFtZT0nY2h1bmsyOCcgc3RhcnQ9J3gnIGVuZD0neCcvPgorICAgICAgPGNodW5rIG5hbWU9J2NodW5rMjknIHN0YXJ0PSd5JyBlbmQ9J3onLz4KKyAgICA8L2NodW5rcz4KKyAgPC9pbmRleD4KKzwvYXBpcmVmcz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL2xpYnhtbDIueHNhIGIvbGlieG1sMi9kb2MvbGlieG1sMi54c2EKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGE2MWQ1NwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL2xpYnhtbDIueHNhCkBAIC0wLDAgKzEsMTA0IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhRE9DVFlQRSB4c2EgUFVCTElDICItLy9MTSBHYXJzaG9sLy9EVEQgWE1MIFNvZnR3YXJlIEF1dG91cGRhdGUgMS4wLy9FTi8vWE1MIiAiaHR0cDovL3d3dy5nYXJzaG9sLnByaXYubm8vZG93bmxvYWQveHNhL3hzYS5kdGQiPgorPHhzYT4KKyAgPHZlbmRvcj4KKyAgICA8bmFtZT5EYW5pZWwgVmVpbGxhcmQ8L25hbWU+CisgICAgPGVtYWlsPmRhbmllbEB2ZWlsbGFyZC5jb208L2VtYWlsPgorICAgIDx1cmw+aHR0cDovL3ZlaWxsYXJkLmNvbS88L3VybD4KKyAgPC92ZW5kb3I+CisgIDxwcm9kdWN0IGlkPSJsaWJ4bWwyIj4KKyAgICA8bmFtZT5saWJ4bWwyPC9uYW1lPgorICAgIDx2ZXJzaW9uPjIuOS4xPC92ZXJzaW9uPgorICAgIDxsYXN0LXJlbGVhc2U+IEFwciAxOSAyMDEzPC9sYXN0LXJlbGVhc2U+CisgICAgPGluZm8tdXJsPmh0dHA6Ly94bWxzb2Z0Lm9yZy88L2luZm8tdXJsPgorICAgIDxjaGFuZ2VzPiAgIC0gIEZlYXR1cmVzOgorICAgIFN1cHBvcnQgZm9yIFB5dGhvbjMgKERhbmllbCBWZWlsbGFyZCksCisgICAgQWRkIHhtbFhQYXRoU2V0Q29udGV4dE5vZGUgYW5kIHhtbFhQYXRoTm9kZUV2YWwgKEFsZXggQmxpZ2gpCisgIAorICAgLSAgRG9jdW1lbnRhdGlvbjoKKyAgICBBZGQgZG9jdW1lbnRhdGlvbiBmb3IgeG1sbGludCAtLXhwYXRoIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEZpeCB0aGUgVVJMIG9mIHRoZSBTQVggZG9jdW1lbnRhdGlvbiBmcm9tIEphbWVzIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEZpeCBzcGVsbGluZyBvZiAibGVuZ3RoIi4gKE1pY2hhZWwgV29vZCkKKyAgCisgICAtICBQb3J0YWJpbGl0eToKKyAgICBGaXggcHl0aG9uIGJpbmRpbmdzIHdpdGggdmVyc2lvbnMgb2xkZXIgdGhhbiAyLjcgKERhbmllbCBWZWlsbGFyZCksCisgICAgcmVidWlsZCBkb2NzOk1ha2VmaWxlLmFtIChSb3VtZW4gUGV0cm92KSwKKyAgICBlbGZnY2NoYWNrLmggYWZ0ZXIgcmVidWlsZCBpbiBkb2MgKFJvdW1lbiBQZXRyb3YpLAorICAgIGVsZmdjY2hhY2sgZm9yIGJ1ZiBtb2R1bGUgKFJvdW1lbiBQZXRyb3YpLAorICAgIEZpeCBhIHVuZWVkZWQgYW5kIHdyb25nIGV4dHJhIGxpbmsgcGFyYW1ldGVyIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEZldyBjbGVhbnVwIHBhdGNoZXMgZm9yIFdpbmRvd3MgKERlbmlzIFBhdWspLAorICAgIEZpeCBycG1idWlsZCAtLW5vY2hlY2sgKE1hcmsgU2FsdGVyKSwKKyAgICBGaXggZm9yIHdpbjMyL2NvbmZpZ3VyZS5qcyBhbmQgV0lUSF9USFJFQURfQUxMT0MgKERhbmllbCBSaWNoYXJkKSwKKyAgICBGaXggQnJva2VuIG11bHRpLWFyY2ggc3VwcG9ydCBpbiB4bWwyLWNvbmZpZyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggYSBwb3J0YWJpbGl0eSBpc3N1ZSBmb3IgR0NDICZsdDsgMy40LjAgKERhbmllbCBWZWlsbGFyZCksCisgICAgV2luZG93cyBidWlsZCBmaXhlcyAoRGFuaWVsIFJpY2hhcmQpLAorICAgIEZpeCBhIHRocmVhZCBwb3J0YWJpbGl0eSBwcm9ibGVtIChGcmllZHJpY2ggSGF1YmVuc2FrKSwKKyAgICBEb3duZ3JhZGUgYXV0b2NvbmYgcmVxdWlyZW1lbnQgdG8gMi42MyAoRGFuaWVsIFZlaWxsYXJkKQorICAKKyAgIC0gIEJ1ZyBGaXhlczoKKyAgICBGaXggYSBsaW5raW5nIGVycm9yIGZvciBweXRob24gYmluZGluZ3MgKERhbmllbCBWZWlsbGFyZCksCisgICAgRml4IGEgY291cGxlIG9mIHJldHVybiB3aXRob3V0IHZhbHVlIChKw7xyaSBBZWRsYSksCisgICAgSW1wcm92ZSB0aGUgaGFzaGluZyBmdW5jdGlvbnMgKERhbmllbCBGcmFua2UpLAorICAgIEltcHJvdmUgaGFuZGxpbmcgb2YgeG1sU3RvcFBhcnNlcigpIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIFJlbW92ZSByaXNrIG9mIGxvY2t1cCBpbiBkaWN0aW9uYXJ5IGluaXRpYWxpemF0aW9uIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEFjdGl2YXRlIGRldGVjdGlvbiBvZiBlbmNvZGluZyBpbiBleHRlcm5hbCBzdWJzZXQgKERhbmllbCBWZWlsbGFyZCksCisgICAgRml4IGFuIG91dHB1dCBidWZmZXIgZmx1c2hpbmcgY29udmVyc2lvbiBidWcgKE1pa2hhaWwgVGl0b3YpLAorICAgIEZpeCBhbiBvbGQgYnVnIGluIHhtbFNjaGVtYVZhbGlkYXRlT25lRWxlbWVudCAoQ3NhYmEgTMOhc3psw7MpLAorICAgIEZpeCBjb25maWd1cmUgY2Fubm90IHJlbW92ZSBtZXNzYWdlcyAoR2lsbGVzIEVzcGluYXNzZSksCisgICAgZml4IHNjaGVtYSB2YWxpZGF0aW9uIGluIGNvbWJpbmF0aW9uIHdpdGggeHNpOm5pbCAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICB4bWxDdHh0UmVhZEZpbGUgZG9lc24ndCB3b3JrIHdpdGggbGl0ZXJhbCBJUHY2IFVSTHMgKFN0ZXZlIFdvbGYpLAorICAgIEZpeCBhIGZldyBwcm9ibGVtcyB3aXRoIHNldEVudGl0eUxvYWRlciAoQWxleGV5IE5leW1hbiksCisgICAgRGV0ZWN0IGV4Y2Vzc2l2ZSBlbnRpdGllcyBleHBhbnNpb24gdXBvbiByZXBsYWNlbWVudCAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggdGhlIGZsdXNoaW5nIG91dCBvZiByYXcgYnVmZmVycyBvbiBlbmNvZGluZyBjb252ZXJzaW9ucyAoRGFuaWVsLAorVmVpbGxhcmQpLAorICAgIEZpeCBzb21lIGJ1ZmZlciBjb252ZXJzaW9uIGlzc3VlcyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBXaGVuIGNhbGxpbmcgeG1sTm9kZUR1bXAgbWFrZSBzdXJlIHdlIGdyb3cgdGhlIGJ1ZmZlciBxdWlja2x5IChEYW5pZWwsCitWZWlsbGFyZCksCisgICAgRml4IGFuIGVycm9yIGluIHRoZSBwcm9ncmVzc2l2ZSBEVEQgcGFyc2luZyBjb2RlIChEYW4gV2luc2hpcCksCisgICAgeG1sbGludCBzaG91bGQgbm90IGxvYWQgRFREIGJ5IGRlZmF1bHQgd2hlbiB1c2luZyB0aGUgcmVhZGVyIChEYW5pZWwsCitWZWlsbGFyZCksCisgICAgVHJ5IElCTS0wMzcgd2hlbiBsb29raW5nIGZvciBFQkNESUMgaGFuZGxlcnMgKFBldHIgU3VtYmVyYSksCisgICAgRml4IHBvdGVudGlhbCBvdXQgb2YgYm91bmQgYWNjZXNzIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEZpeCBsYXJnZSBwYXJzZSBvZiBmaWxlIGZyb20gbWVtb3J5IChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEZpeCBhIGJ1ZyBpbiB0aGUgbnNjbGVhbiBvcHRpb24gb2YgdGhlIHBhcnNlciAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggYSByZWdyZXNzaW9uIGluIDIuOS4wIGJyZWFraW5nIHZhbGlkYXRpb24gd2hpbGUgc3RyZWFtaW5nIChEYW5pZWwsCitWZWlsbGFyZCksCisgICAgUmVtb3ZlIHBvdGVudGlhbCBjYWxscyB0byBleGl0KCkgKERhbmllbCBWZWlsbGFyZCkKKyAgCisgICAtICBJbXByb3ZlbWVudHM6CisgICAgUmVnZW5lcmF0ZWQgQVBJLCBhbmQgdGVzdGFwaSwgcmVidWlsZCBkb2N1bWVudGF0aW9uIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEZpeCB0cmVlIGl0ZXJhdG9ycyBicm9rZW4gYnkgMnRvMyBzY3JpcHQgKERhbmllbCBWZWlsbGFyZCksCisgICAgdXBkYXRlIGFsbCB0ZXN0cyBmb3IgUHl0aG9uMyBhbmQgUHl0aG9uMiAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBBIGZldyBtb3JlIGZpeGVzIGZvciBweXRob24gMyBhZmZlY3RpbmcgbGlieG1sMi5weSAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggY29tcGlsYXRpb24gb24gUHl0aG9uMyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBDb252ZXJ0aW5nIGFwaWJ1aWxkLnB5IHRvIHB5dGhvbjMgKERhbmllbCBWZWlsbGFyZCksCisgICAgRmlyc3QgcGFzcyBhdCBzdGFydGluZyBwb3J0aW5nIHRvIHB5dGhvbjMgKERhbmllbCBWZWlsbGFyZCksCisgICAgdXBkYXRlZCBjb25maWd1cmUuaW4gZm9yIHB5dGhvbjMgKERhbmllbCBWZWlsbGFyZCksCisgICAgQWRkIHN1cHBvcnQgZm9yIHhwYXRoUmVnaXN0ZXJWYXJpYWJsZSBpbiBQeXRob24gKFNoYXVuIE1jQ2FuY2UpLAorICAgIEFkZGVkIGEgcmVncmVzc2lvbiB0ZXN0cyBmcm9tIGJ1ZyA2OTQyMjggZGF0YSAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBDYWNoZSBwcmVzZW5jZSBvZiAnJmx0OycgaW4gZW50aXRpZXMgY29udGVudCAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBBdm9pZCBleHRyYSBwcm9jZXNzaW5nIG9uIGVudGl0aWVzIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIFB5dGhvbiBiaW5kaW5nIGZvciB4bWxSZWdpc3RlcklucHV0Q2FsbGJhY2sgKEFsZXhleSBOZXltYW4pLAorICAgIFB5dGhvbiBiaW5kaW5nczogRE9NIGNhc3RzIGV2ZXJ5dGhpbmcgdG8geG1sTm9kZSAoQWxleGV5IE5leW1hbiksCisgICAgRGVmaW5lIExJQlhNTF9USFJFQURfQUxMT0NfRU5BQkxFRCB2aWEgeG1sdmVyc2lvbi5oIChUaW0gU3RhcmxpbmcpLAorICAgIEFkZGluZyBzdHJlYW1pbmcgdmFsaWRhdGlvbiB0byBydW50ZXN0IGNoZWNrcyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBBZGQgYSAtLXB1c2hzbWFsbCBvcHRpb24gdG8geG1sbGludCAoRGFuaWVsIFZlaWxsYXJkKQorICAKKyAgIC0gIENsZWFudXBzOgorICAgIFN3aXRjaGVkIGNvbW1lbnQgaW4gZmlsZSB0byBVVEYtOCBlbmNvZGluZyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBFeHRlbmQgZ2l0aWdub3JlIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIFNpbGVudCB0aGUgbmV3IHB5dGhvbiB0ZXN0IG9uIGlucHV0IChBbGV4ZXkgTmV5bWFuKSwKKyAgICBDbGVhbnVwIG9mIGEgZHVwbGljYXRlIHRlc3QgKERhbmllbCBWZWlsbGFyZCksCisgICAgQ2xlYW51cCBvbiBkdXBsaWNhdGUgdGVzdCBleHByZXNzaW9ucyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggY29tcGlsZXIgd2FybmluZyBhZnRlciAxNTNjZjE1OTA1Y2Y0ZWMwODA2MTJhZGE2NzAzNzU3ZDEwY2FiYTFlIChQYXRyaWNrLAorR2Fuc3RlcmVyKSwKKyAgICBTcGVjIGNsZWFudXBzIGFuZCBhIGZpeCBmb3IgbXVsdGlhcmNoIHN1cHBvcnQgKERhbmllbCBWZWlsbGFyZCksCisgICAgU2lsZW5jZSBhIGNsYW5nIHdhcm5pbmcgKERhbmllbCBWZWlsbGFyZCksCisgICAgQ2xlYW51cCB0aGUgQ29weXJpZ2h0IHRvIGJlIHB1cmUgTUlUIExpY2VuY2Ugd29yZGluZyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICByYW5kX3NlZWQgc2hvdWxkIGJlIHN0YXRpYyBpbiBkaWN0LmMgKFdvdXRlciBWYW4gUm9veSksCisgICAgRml4IHR5cG9zIGluIHBhcnNlciBjb21tZW50cyAoSmFuIFBva29ybsO9KQorICAKKworPC9jaGFuZ2VzPgorICA8L3Byb2R1Y3Q+Cis8L3hzYT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL25hbWVzcGFjZXMuaHRtbCBiL2xpYnhtbDIvZG9jL25hbWVzcGFjZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NzhmN2ZlCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvbmFtZXNwYWNlcy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+PGxpbmsgcmVsPSJTSE9SVENVVCBJQ09OIiBocmVmPSIvZmF2aWNvbi5pY28iIC8+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK1REIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitCT0RZIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2E7IG1hcmdpbi10b3A6IDJlbTsgbWFyZ2luLWxlZnQ6IDBlbTsgbWFyZ2luLXJpZ2h0OiAwZW19CitIMSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDIge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gzIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitBOmxpbmssIEE6dmlzaXRlZCwgQTphY3RpdmUgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB9Cis8L3N0eWxlPjx0aXRsZT5OYW1lc3BhY2VzPC90aXRsZT48L2hlYWQ+PGJvZHkgYmdjb2xvcj0iIzhiNzc2NSIgdGV4dD0iIzAwMDAwMCIgbGluaz0iI2EwNjA2MCIgdmxpbms9IiMwMDAwMDAiPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSIxMDAlIiBjZWxscGFkZGluZz0iNSIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgd2lkdGg9IjEyMCI+PGEgaHJlZj0iaHR0cDovL3N3cGF0LmZmaWkub3JnLyI+PGltZyBzcmM9ImVwYXRlbnRzLnBuZyIgYWx0PSJBY3Rpb24gYWdhaW5zdCBzb2Z0d2FyZSBwYXRlbnRzIiAvPjwvYT48L3RkPjx0ZCB3aWR0aD0iMTgwIj48YSBocmVmPSJodHRwOi8vd3d3Lmdub21lLm9yZy8iPjxpbWcgc3JjPSJnbm9tZTIucG5nIiBhbHQ9Ikdub21lMiBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9TdGF0dXMiPjxpbWcgc3JjPSJ3M2MucG5nIiBhbHQ9IlczQyBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnJlZGhhdC5jb20vIj48aW1nIHNyYz0icmVkaGF0LmdpZiIgYWx0PSJSZWQgSGF0IExvZ28iIC8+PC9hPjxkaXYgYWxpZ249ImxlZnQiPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy8iPjxpbWcgc3JjPSJMaWJ4bWwyLUxvZ28tMTgweDE2OC5naWYiIGFsdD0iTWFkZSB3aXRoIExpYnhtbDIgTG9nbyIgLz48L2E+PC9kaXY+PC90ZD48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjkwJSIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiIGJnY29sb3I9IiNmZmZhY2QiPjx0cj48dGQgYWxpZ249ImNlbnRlciI+PGgxPlRoZSBYTUwgQyBwYXJzZXIgYW5kIHRvb2xraXQgb2YgR25vbWU8L2gxPjxoMj5OYW1lc3BhY2VzPC9oMj48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iNCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiIgd2lkdGg9IjEwMCUiPjx0cj48dGQgdmFsaWduPSJ0b3AiIHdpZHRoPSIyMDAiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPk1haW4gTWVudTwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48Zm9ybSBhY3Rpb249InNlYXJjaC5waHAiIGVuY3R5cGU9ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIgbWV0aG9kPSJnZXQiPjxpbnB1dCBuYW1lPSJxdWVyeSIgdHlwZT0idGV4dCIgc2l6ZT0iMjAiIHZhbHVlPSIiIC8+PGlucHV0IG5hbWU9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU2VhcmNoIC4uLiIgLz48L2Zvcm0+PHVsPjxsaT48YSBocmVmPSJpbmRleC5odG1sIj5Ib21lPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0bWwvaW5kZXguaHRtbCI+UmVmZXJlbmNlIE1hbnVhbDwvYT48L2xpPjxsaT48YSBocmVmPSJpbnRyby5odG1sIj5JbnRyb2R1Y3Rpb248L2E+PC9saT48bGk+PGEgaHJlZj0iRkFRLmh0bWwiPkZBUTwvYT48L2xpPjxsaT48YSBocmVmPSJkb2NzLmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5EZXZlbG9wZXIgTWVudTwvYT48L2xpPjxsaT48YSBocmVmPSJidWdzLmh0bWwiPlJlcG9ydGluZyBidWdzIGFuZCBnZXR0aW5nIGhlbHA8L2E+PC9saT48bGk+PGEgaHJlZj0iaGVscC5odG1sIj5Ib3cgdG8gaGVscDwvYT48L2xpPjxsaT48YSBocmVmPSJkb3dubG9hZHMuaHRtbCI+RG93bmxvYWRzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Im5ld3MuaHRtbCI+UmVsZWFzZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iWE1MaW5mby5odG1sIj5YTUw8L2E+PC9saT48bGk+PGEgaHJlZj0iWFNMVC5odG1sIj5YU0xUPC9hPjwvbGk+PGxpPjxhIGhyZWY9InhtbGR0ZC5odG1sIj5WYWxpZGF0aW9uICZhbXA7IERURHM8L2E+PC9saT48bGk+PGEgaHJlZj0iZW5jb2RpbmcuaHRtbCI+RW5jb2RpbmdzIHN1cHBvcnQ8L2E+PC9saT48bGk+PGEgaHJlZj0iY2F0YWxvZy5odG1sIj5DYXRhbG9nIHN1cHBvcnQ8L2E+PC9saT48bGk+PGEgaHJlZj0ibmFtZXNwYWNlcy5odG1sIj5OYW1lc3BhY2VzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImNvbnRyaWJzLmh0bWwiPkNvbnRyaWJ1dGlvbnM8L2E+PC9saT48bGk+PGEgaHJlZj0iZXhhbXBsZXMvaW5kZXguaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPkNvZGUgRXhhbXBsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHRtbC9pbmRleC5odG1sIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+QVBJIE1lbnU8L2E+PC9saT48bGk+PGEgaHJlZj0iZ3VpZGVsaW5lcy5odG1sIj5YTUwgR3VpZGVsaW5lczwvYT48L2xpPjxsaT48YSBocmVmPSJDaGFuZ2VMb2cuaHRtbCI+UmVjZW50IENoYW5nZXM8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5SZWxhdGVkIGxpbmtzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iaHR0cDovL21haWwuZ25vbWUub3JnL2FyY2hpdmVzL3htbC8iPk1haWwgYXJjaGl2ZTwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvWFNMVC8iPlhTTFQgbGlieHNsdDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vcGhkLmNzLnVuaWJvLml0L2dkb21lMi8iPkRPTSBnZG9tZTI8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5hbGVrc2V5LmNvbS94bWxzZWMvIj5YTUwtRFNpZyB4bWxzZWM8L2E+PC9saT48bGk+PGEgaHJlZj0iZnRwOi8veG1sc29mdC5vcmcvIj5GVFA8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56bGF0a292aWMuY29tL3Byb2plY3RzL2xpYnhtbC8iPldpbmRvd3MgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL29wZW5jc3cub3JnL3BhY2thZ2VzL2xpYnhtbDIiPlNvbGFyaXMgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5leHBsYWluLmNvbS5hdS9vc3MvbGlieG1sMnhzbHQuaHRtbCI+TWFjT3NYIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9seG1sLmRlLyI+bHhtbCBQeXRob24gYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2NwYW4udXdpbm5pcGVnLmNhL2Rpc3QvWE1MLUxpYlhNTCI+UGVybCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1scGx1c3BsdXMuc291cmNlZm9yZ2UubmV0LyI+QysrIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemVuZC5jb20vcGhwNS9hcnRpY2xlcy9waHA1LXhtbHBocC5waHAjSGVhZGluZzQiPlBIUCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2xpYnhtbDItcGFzLyI+UGFzY2FsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWwucnVieWZvcmdlLm9yZy8iPlJ1YnkgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3RjbHhtbC5zb3VyY2Vmb3JnZS5uZXQvIj5UY2wgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9idWdsaXN0LmNnaT9wcm9kdWN0PWxpYnhtbDIiPkJ1ZyBUcmFja2VyPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIzIiBjZWxsc3BhY2luZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHA+VGhlIGxpYnhtbDIgbGlicmFyeSBpbXBsZW1lbnRzIDxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy14bWwtbmFtZXMvIj5YTUwgbmFtZXNwYWNlczwvYT4gc3VwcG9ydCBieQorcmVjb2duaXppbmcgbmFtZXNwYWNlIGNvbnN0cnVjdHMgaW4gdGhlIGlucHV0LCBhbmQgZG9lcyBuYW1lc3BhY2UgbG9va3VwCithdXRvbWF0aWNhbGx5IHdoZW4gYnVpbGRpbmcgdGhlIERPTSB0cmVlLiBBIG5hbWVzcGFjZSBkZWNsYXJhdGlvbiBpcworYXNzb2NpYXRlZCB3aXRoIGFuIGluLW1lbW9yeSBzdHJ1Y3R1cmUgYW5kIGFsbCBlbGVtZW50cyBvciBhdHRyaWJ1dGVzIHdpdGhpbgordGhhdCBuYW1lc3BhY2UgcG9pbnQgdG8gaXQuIEhlbmNlIHRlc3RpbmcgdGhlIG5hbWVzcGFjZSBpcyBhIHNpbXBsZSBhbmQgZmFzdAorZXF1YWxpdHkgb3BlcmF0aW9uIGF0IHRoZSB1c2VyIGxldmVsLjwvcD48cD5JIHN1Z2dlc3QgdGhhdCBwZW9wbGUgdXNpbmcgbGlieG1sMiB1c2UgYSBuYW1lc3BhY2UsIGFuZCBkZWNsYXJlIGl0IGluIHRoZQorcm9vdCBlbGVtZW50IG9mIHRoZWlyIGRvY3VtZW50IGFzIHRoZSBkZWZhdWx0IG5hbWVzcGFjZS4gVGhlbiB0aGV5IGRvbid0IG5lZWQKK3RvIHVzZSB0aGUgcHJlZml4IGluIHRoZSBjb250ZW50IGJ1dCB3ZSB3aWxsIGhhdmUgYSBiYXNpcyBmb3IgZnV0dXJlIHNlbWFudGljCityZWZpbmVtZW50IGFuZCAgbWVyZ2luZyBvZiBkYXRhIGZyb20gZGlmZmVyZW50IHNvdXJjZXMuIFRoaXMgZG9lc24ndCBpbmNyZWFzZQordGhlIHNpemUgb2YgdGhlIFhNTCBvdXRwdXQgc2lnbmlmaWNhbnRseSwgYnV0IHNpZ25pZmljYW50bHkgaW5jcmVhc2VzIGl0cwordmFsdWUgaW4gdGhlIGxvbmctdGVybS4gRXhhbXBsZTo8L3A+PHByZT4mbHQ7bXlkb2MgeG1sbnM9Imh0dHA6Ly9teWRvYy5leGFtcGxlLm9yZy9zY2hlbWFzLyImZ3Q7CisgICAmbHQ7ZWxlbTEmZ3Q7Li4uJmx0Oy9lbGVtMSZndDsKKyAgICZsdDtlbGVtMiZndDsuLi4mbHQ7L2VsZW0yJmd0OworJmx0Oy9teWRvYyZndDs8L3ByZT48cD5UaGUgbmFtZXNwYWNlIHZhbHVlIGhhcyB0byBiZSBhbiBhYnNvbHV0ZSBVUkwsIGJ1dCB0aGUgVVJMIGRvZXNuJ3QgaGF2ZSB0bworcG9pbnQgdG8gYW55IGV4aXN0aW5nIHJlc291cmNlIG9uIHRoZSBXZWIuIEl0IHdpbGwgYmluZCBhbGwgdGhlIGVsZW1lbnQgYW5kCithdHRyaWJ1dGVzIHdpdGggdGhhdCBVUkwuIEkgc3VnZ2VzdCB0byB1c2UgYW4gVVJMIHdpdGhpbiBhIGRvbWFpbiB5b3UKK2NvbnRyb2wsIGFuZCB0aGF0IHRoZSBVUkwgc2hvdWxkIGNvbnRhaW4gc29tZSBraW5kIG9mIHZlcnNpb24gaW5mb3JtYXRpb24gaWYKK3Bvc3NpYmxlLiBGb3IgZXhhbXBsZSwgPGNvZGU+Imh0dHA6Ly93d3cuZ25vbWUub3JnL2dudW1lcmljLzEuMC8iPC9jb2RlPiBpcyBhCitnb29kIG5hbWVzcGFjZSBzY2hlbWUuPC9wPjxwPlRoZW4gd2hlbiB5b3UgbG9hZCBhIGZpbGUsIG1ha2Ugc3VyZSB0aGF0IGEgbmFtZXNwYWNlIGNhcnJ5aW5nIHRoZQordmVyc2lvbi1pbmRlcGVuZGVudCBwcmVmaXggaXMgaW5zdGFsbGVkIG9uIHRoZSByb290IGVsZW1lbnQgb2YgeW91ciBkb2N1bWVudCwKK2FuZCBpZiB0aGUgdmVyc2lvbiBpbmZvcm1hdGlvbiBkb24ndCBtYXRjaCBzb21ldGhpbmcgeW91IGtub3csIHdhcm4gdGhlIHVzZXIKK2FuZCBiZSBsaWJlcmFsIGluIHdoYXQgeW91IGFjY2VwdCBhcyB0aGUgaW5wdXQuIEFsc28gZG8gKm5vdCogdHJ5IHRvIGJhc2UKK25hbWVzcGFjZSBjaGVja2luZyBvbiB0aGUgcHJlZml4IHZhbHVlLiAmbHQ7Zm9vOnRleHQmZ3Q7IG1heSBiZSBleGFjdGx5IHRoZQorc2FtZSBhcyAmbHQ7YmFyOnRleHQmZ3Q7IGluIGFub3RoZXIgZG9jdW1lbnQuIFdoYXQgcmVhbGx5IG1hdHRlcnMgaXMgdGhlIFVSSQorYXNzb2NpYXRlZCB3aXRoIHRoZSBlbGVtZW50IG9yIHRoZSBhdHRyaWJ1dGUsIG5vdCB0aGUgcHJlZml4IHN0cmluZyAod2hpY2ggaXMKK2p1c3QgYSBzaG9ydGN1dCBmb3IgdGhlIGZ1bGwgVVJJKS4gSW4gbGlieG1sLCBlbGVtZW50IGFuZCBhdHRyaWJ1dGVzIGhhdmUgYW4KKzxjb2RlPm5zPC9jb2RlPiBmaWVsZCBwb2ludGluZyB0byBhbiB4bWxOcyBzdHJ1Y3R1cmUgZGV0YWlsaW5nIHRoZSBuYW1lc3BhY2UKK3ByZWZpeCBhbmQgaXRzIFVSSS48L3A+PHA+QEBJbnRlcmZhY2VzQEA8L3A+PHByZT54bWxOb2RlUHRyIG5vZGU7CitpZighc3RybmNtcChub2RlLSZndDtuYW1lLCJteXRhZyIsNSkKKyAgJmFtcDsmYW1wOyBub2RlLSZndDtucworICAmYW1wOyZhbXA7ICFzdHJjbXAobm9kZS0mZ3Q7bnMtJmd0O2hyZWYsImh0dHA6Ly93d3cubXlzaXRlLmNvbS9teW5zLzEuMCIpKSB7CisgIC4uLgorfTwvcHJlPjxwPlVzdWFsbHkgcGVvcGxlIG9iamVjdCB0byB1c2luZyBuYW1lc3BhY2VzIHRvZ2V0aGVyIHdpdGggdmFsaWRpdHkgY2hlY2tpbmcuCitJIHdpbGwgdHJ5IHRvIG1ha2Ugc3VyZSB0aGF0IHVzaW5nIG5hbWVzcGFjZXMgd29uJ3QgYnJlYWsgdmFsaWRpdHkgY2hlY2tpbmcsCitzbyBldmVuIGlmIHlvdSBwbGFuIHRvIHVzZSBvciBjdXJyZW50bHkgYXJlIHVzaW5nIHZhbGlkYXRpb24gSSBzdHJvbmdseQorc3VnZ2VzdCBhZGRpbmcgbmFtZXNwYWNlcyB0byB5b3VyIGRvY3VtZW50LiBBIGRlZmF1bHQgbmFtZXNwYWNlIHNjaGVtZQorPGNvZGU+eG1sbnM9Imh0dHA6Ly8uLi4uIjwvY29kZT4gc2hvdWxkIG5vdCBicmVhayB2YWxpZGl0eSBldmVuIG9uIGxlc3MKK2ZsZXhpYmxlIHBhcnNlcnMuIFVzaW5nIG5hbWVzcGFjZXMgdG8gbWl4IGFuZCBkaWZmZXJlbnRpYXRlIGNvbnRlbnQgY29taW5nCitmcm9tIG11bHRpcGxlIERURHMgd2lsbCBjZXJ0YWlubHkgYnJlYWsgY3VycmVudCB2YWxpZGF0aW9uIHNjaGVtZXMuIFRvIGNoZWNrCitzdWNoIGRvY3VtZW50cyBvbmUgbmVlZHMgdG8gdXNlIHNjaGVtYS12YWxpZGF0aW9uLCB3aGljaCBpcyBzdXBwb3J0ZWQgaW4KK2xpYnhtbDIgYXMgd2VsbC4gU2VlIDxhIGhyZWY9Imh0dHA6Ly93d3cucmVsYXhuZy5vcmcvIj5yZWxhZ3gtbmc8L2E+IGFuZCA8YSBocmVmPSJodHRwOi8vd3d3LnczYy5vcmcvWE1ML1NjaGVtYSI+dzNjLXNjaGVtYTwvYT4uPC9wPjxwPjxhIGhyZWY9ImJ1Z3MuaHRtbCI+RGFuaWVsIFZlaWxsYXJkPC9hPjwvcD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvbmV3YXBpLnhzbCBiL2xpYnhtbDIvZG9jL25ld2FwaS54c2wKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjgwOTM4MgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL25ld2FwaS54c2wKQEAgLTAsMCArMSw3NjYgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCEtLQorICBTdHlsZXNoZWV0IHRvIGdlbmVyYXRlIHRoZSBIVE1MIGRvY3VtZW50YXRpb24gZnJvbSBhbiBYTUwgQVBJIGRlc2NyaXB0aW9uczoKKyAgeHNsdHByb2MgbmV3YXBpLnhzbCBsaWJ4bWwyLWFwaS54bWwKKworICBEYW5pZWwgVmVpbGxhcmQKKy0tPgorPHhzbDpzdHlsZXNoZWV0IHZlcnNpb249IjEuMCIKKyAgeG1sbnM6eHNsPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L1hTTC9UcmFuc2Zvcm0iCisgIHhtbG5zOmV4c2w9Imh0dHA6Ly9leHNsdC5vcmcvY29tbW9uIgorICB4bWxuczpzdHI9Imh0dHA6Ly9leHNsdC5vcmcvc3RyaW5ncyIKKyAgZXh0ZW5zaW9uLWVsZW1lbnQtcHJlZml4ZXM9ImV4c2wgc3RyIgorICBleGNsdWRlLXJlc3VsdC1wcmVmaXhlcz0iZXhzbCBzdHIiPgorCisgIDwhLS0gSW1wb3J0IHRoZSBtYWluIHBhcnQgb2YgdGhlIHNpdGUgc3R5bGVzaGVldHMgLS0+CisgIDx4c2w6aW1wb3J0IGhyZWY9InNpdGUueHNsIi8+CisKKyAgPCEtLSBHZW5lcmF0ZSBYSFRNTC0xLjAgdHJhbnNpdGlvbmFsIC0tPgorICA8eHNsOm91dHB1dCBtZXRob2Q9InhtbCIgZW5jb2Rpbmc9IlVURi04IiBpbmRlbnQ9InllcyIKKyAgICAgIGRvY3R5cGUtcHVibGljPSItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIKKyAgICAgIGRvY3R5cGUtc3lzdGVtPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIi8+CisKKyAgPCEtLSBCdWlsZCBrZXlzIGZvciBhbGwgc3ltYm9scyAtLT4KKyAgPHhzbDprZXkgbmFtZT0ic3ltYm9scyIgbWF0Y2g9Ii9hcGkvc3ltYm9scy8qIiB1c2U9IkBuYW1lIi8+CisKKyAgPCEtLSB0aGUgdGFyZ2V0IGRpcmVjdG9yeSBmb3IgdGhlIEhUTUwgb3V0cHV0IC0tPgorICA8eHNsOnZhcmlhYmxlIG5hbWU9Imh0bWxkaXIiPmh0bWw8L3hzbDp2YXJpYWJsZT4KKyAgPHhzbDp2YXJpYWJsZSBuYW1lPSJocmVmX2Jhc2UiPi4uLzwveHNsOnZhcmlhYmxlPgorCisgIDwhLS0gVGhlIHRhYmxlIG9mIGNvbnRlbnQgZm9yIHRoZSBIVE1MIEFQSSBwYWdlcyAtLT4KKyAgPHhzbDp2YXJpYWJsZSBuYW1lPSJtZW51X25hbWUiPkFQSSBNZW51PC94c2w6dmFyaWFibGU+CisgIDx4c2w6dmFyaWFibGUgbmFtZT0iYXBpdG9jIj4KKyAgICA8Zm9ybSBhY3Rpb249Ii4uL3NlYXJjaC5waHAiCisgICAgICAgICAgZW5jdHlwZT0iYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIiBtZXRob2Q9ImdldCI+CisgICAgICA8aW5wdXQgbmFtZT0icXVlcnkiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iIi8+CisgICAgICA8aW5wdXQgbmFtZT0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJTZWFyY2ggLi4uIi8+CisgICAgPC9mb3JtPgorICAgIDx1bD48IS0tIHN0eWxlPSJtYXJnaW4tbGVmdDogLTFlbSIgLS0+CisgICAgICA8bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiCisgICAgICAgICAgICAgaHJlZj0ieyRocmVmX2Jhc2V9aW5kZXguaHRtbCI+TWFpbiBNZW51PC9hPjwvbGk+CisgICAgICA8bGk+PGEgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIAorICAgICAgICAgICAgIGhyZWY9InskaHJlZl9iYXNlfWRvY3MuaHRtbCI+RGV2ZWxvcGVyIE1lbnU8L2E+PC9saT4KKyAgICAgIDxsaT48YSBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgCisgICAgICAgICAgICAgaHJlZj0ieyRocmVmX2Jhc2V9ZXhhbXBsZXMvaW5kZXguaHRtbCI+Q29kZSBFeGFtcGxlczwvYT48L2xpPgorICAgICAgPGxpPjxhIHN0eWxlPSJmb250LXdlaWdodDpib2xkIgorICAgICAgICAgICAgIGhyZWY9ImluZGV4Lmh0bWwiPkFQSSBNZW51PC9hPjwvbGk+CisgICAgICA8bGk+PGEgaHJlZj0ibGlieG1sLXBhcnNlci5odG1sIj5QYXJzZXIgQVBJPC9hPjwvbGk+CisgICAgICA8bGk+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCI+VHJlZSBBUEk8L2E+PC9saT4KKyAgICAgIDxsaT48YSBocmVmPSJsaWJ4bWwteG1scmVhZGVyLmh0bWwiPlJlYWRlciBBUEk8L2E+PC9saT4KKyAgICAgIDxsaT48YSBocmVmPSJ7JGhyZWZfYmFzZX1ndWlkZWxpbmVzLmh0bWwiPlhNTCBHdWlkZWxpbmVzPC9hPjwvbGk+CisgICAgICA8bGk+PGEgaHJlZj0ieyRocmVmX2Jhc2V9Q2hhbmdlTG9nLmh0bWwiPkNoYW5nZUxvZzwvYT48L2xpPgorICAgIDwvdWw+CisgIDwveHNsOnZhcmlhYmxlPgorICA8eHNsOnRlbXBsYXRlIG5hbWU9ImFwaXRvYyI+CisgICAgPHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+CisgICAgICA8dHI+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj4KKyAgICAgICAgICAgIDx0cj4KKyAgICAgICAgICAgICAgPHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPgorICAgICAgICAgICAgICAgIDxjZW50ZXI+CisgICAgICAgICAgICAgICAgICA8Yj48eHNsOnZhbHVlLW9mIHNlbGVjdD0iJG1lbnVfbmFtZSIvPjwvYj4KKyAgICAgICAgICAgICAgICA8L2NlbnRlcj4KKyAgICAgICAgICAgICAgPC90ZD4KKyAgICAgICAgICAgIDwvdHI+CisgICAgICAgICAgICA8dHI+CisgICAgICAgICAgICAgIDx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj4KKyAgICAgICAgICAgICAgICA8eHNsOmNvcHktb2Ygc2VsZWN0PSIkYXBpdG9jIi8+CisgICAgICAgICAgICAgIDwvdGQ+CisgICAgICAgICAgICA8L3RyPgorICAgICAgICAgIDwvdGFibGU+CisgICAgICAgICAgPHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+CisgICAgICAgICAgICA8dHI+CisgICAgICAgICAgICAgIDx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj4KKyAgICAgICAgICAgICAgICA8Y2VudGVyPgorICAgICAgICAgICAgICAgICAgPGI+QVBJIEluZGV4ZXM8L2I+CisgICAgICAgICAgICAgICAgPC9jZW50ZXI+CisgICAgICAgICAgICAgIDwvdGQ+CisgICAgICAgICAgICA8L3RyPgorICAgICAgICAgICAgPHRyPgorICAgICAgICAgICAgICA8dGQgYmdjb2xvcj0iI2ZmZmFjZCI+CisgICAgICAgICAgICAgICAgPHhzbDpjb3B5LW9mIHNlbGVjdD0iJGFwaSIvPgorICAgICAgICAgICAgICA8L3RkPgorICAgICAgICAgICAgPC90cj4KKyAgICAgICAgICA8L3RhYmxlPgorICAgICAgICAgIDx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPgorICAgICAgICAgICAgPHRyPgorICAgICAgICAgICAgICA8dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+CisgICAgICAgICAgICAgICAgPGNlbnRlcj4KKyAgICAgICAgICAgICAgICAgIDxiPlJlbGF0ZWQgbGlua3M8L2I+CisgICAgICAgICAgICAgICAgPC9jZW50ZXI+CisgICAgICAgICAgICAgIDwvdGQ+CisgICAgICAgICAgICA8L3RyPgorICAgICAgICAgICAgPHRyPgorICAgICAgICAgICAgICA8dGQgYmdjb2xvcj0iI2ZmZmFjZCI+CisgICAgICAgICAgICAgICAgPHhzbDpjb3B5LW9mIHNlbGVjdD0iJHJlbGF0ZWQiLz4KKyAgICAgICAgICAgICAgPC90ZD4KKyAgICAgICAgICAgIDwvdHI+CisgICAgICAgICAgPC90YWJsZT4KKyAgICAgICAgPC90ZD4KKyAgICAgIDwvdHI+CisgICAgPC90YWJsZT4KKyAgPC94c2w6dGVtcGxhdGU+CisKKyAgPHhzbDp0ZW1wbGF0ZSBuYW1lPSJkb2NzdHlsZSI+CisgICAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKyAgICAgIGRpdi5kZXByZWNhdGVkIHByZS5wcm9ncmFtbGlzdGluZyB7Ym9yZGVyLXN0eWxlOiBkb3VibGU7Ym9yZGVyLWNvbG9yOnJlZH0KKyAgICAgIHByZS5wcm9ncmFtbGlzdGluZyB7Ym9yZGVyLXN0eWxlOiBkb3VibGU7YmFja2dyb3VuZDogI0VFQ0ZBMX0KKyAgICA8L3N0eWxlPgorICA8L3hzbDp0ZW1wbGF0ZT4KKyAgPHhzbDp0ZW1wbGF0ZSBuYW1lPSJuYXZiYXIiPgorICAgIDx4c2w6dmFyaWFibGUgbmFtZT0icHJldmlvdXMiIHNlbGVjdD0icHJlY2VkaW5nLXNpYmxpbmc6OmZpbGVbMV0iLz4KKyAgICA8eHNsOnZhcmlhYmxlIG5hbWU9Im5leHQiIHNlbGVjdD0iZm9sbG93aW5nLXNpYmxpbmc6OmZpbGVbMV0iLz4KKyAgICA8dGFibGUgY2xhc3M9Im5hdmlnYXRpb24iIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciIKKyAgICAgICAgICAgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIyIj4KKyAgICAgIDx0ciB2YWxpZ249Im1pZGRsZSI+CisgICAgICAgIDx4c2w6aWYgdGVzdD0iJHByZXZpb3VzIj4KKyAgICAgICAgICA8dGQ+PGEgYWNjZXNza2V5PSJwIiBocmVmPSJsaWJ4bWwteyRwcmV2aW91cy9AbmFtZX0uaHRtbCI+PGltZyBzcmM9ImxlZnQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJQcmV2Ij48L2ltZz48L2E+PC90ZD4KKwkgIDx0aCBhbGlnbj0ibGVmdCI+PGEgaHJlZj0ibGlieG1sLXskcHJldmlvdXMvQG5hbWV9Lmh0bWwiPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkcHJldmlvdXMvQG5hbWUiLz48L2E+PC90aD4KKwk8L3hzbDppZj4KKyAgICAgICAgPHRkPjxhIGFjY2Vzc2tleT0idSIgaHJlZj0iaW5kZXguaHRtbCI+PGltZyBzcmM9InVwLnBuZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBib3JkZXI9IjAiIGFsdD0iVXAiPjwvaW1nPjwvYT48L3RkPgorCTx0aCBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iaW5kZXguaHRtbCI+QVBJIGRvY3VtZW50YXRpb248L2E+PC90aD4KKyAgICAgICAgPHRkPjxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iLi4vaW5kZXguaHRtbCI+PGltZyBzcmM9ImhvbWUucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJIb21lIj48L2ltZz48L2E+PC90ZD4KKyAgICAgICAgPHRoIGFsaWduPSJjZW50ZXIiPjxhIGhyZWY9Ii4uL2luZGV4Lmh0bWwiPlRoZSBYTUwgQyBwYXJzZXIgYW5kIHRvb2xraXQgb2YgR25vbWU8L2E+PC90aD4KKyAgICAgICAgPHhzbDppZiB0ZXN0PSIkbmV4dCI+CisJICA8dGggYWxpZ249InJpZ2h0Ij48YSBocmVmPSJsaWJ4bWwteyRuZXh0L0BuYW1lfS5odG1sIj48eHNsOnZhbHVlLW9mIHNlbGVjdD0iJG5leHQvQG5hbWUiLz48L2E+PC90aD4KKyAgICAgICAgICA8dGQ+PGEgYWNjZXNza2V5PSJuIiBocmVmPSJsaWJ4bWwteyRuZXh0L0BuYW1lfS5odG1sIj48aW1nIHNyYz0icmlnaHQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJOZXh0Ij48L2ltZz48L2E+PC90ZD4KKyAgICAgICAgPC94c2w6aWY+CisgICAgICA8L3RyPgorICAgIDwvdGFibGU+CisgIDwveHNsOnRlbXBsYXRlPgorCisgIDwhLS0gVGhpcyBpcyBjb252b2x1dGVkIGJ1dCBuZWVkZWQgdG8gZm9yY2UgdGhlIGN1cnJlbnQgZG9jdW1lbnQgdG8KKyAgICAgICBiZSB0aGUgQVBJIG9uZSBhbmQgbm90IHRoZSByZXN1bHQgdHJlZSBmcm9tIHRoZSB0b2tlbml6ZSgpIHJlc3VsdCwKKyAgICAgICBiZWNhdXNlIHRoZSBrZXlzIGFyZSBvbmx5IGRlZmluZWQgb24gdGhlIG1haW4gZG9jdW1lbnQgLS0+CisgIDx4c2w6dGVtcGxhdGUgbW9kZT0iZHVtcHRva2VuIiBtYXRjaD0nKic+CisgICAgPHhzbDpwYXJhbSBuYW1lPSJ0b2tlbiIvPgorICAgIDx4c2w6dmFyaWFibGUgbmFtZT0icmVmIiBzZWxlY3Q9ImtleSgnc3ltYm9scycsICR0b2tlbikiLz4KKyAgICA8eHNsOmNob29zZT4KKyAgICAgIDx4c2w6d2hlbiB0ZXN0PSIkcmVmIj4KKyAgICAgICAgPGEgaHJlZj0ibGlieG1sLXskcmVmL0BmaWxlfS5odG1sI3skcmVmL0BuYW1lfSI+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiR0b2tlbiIvPjwvYT4KKyAgICAgIDwveHNsOndoZW4+CisgICAgICA8eHNsOm90aGVyd2lzZT4KKyAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiR0b2tlbiIvPgorICAgICAgPC94c2w6b3RoZXJ3aXNlPgorICAgIDwveHNsOmNob29zZT4KKyAgPC94c2w6dGVtcGxhdGU+CisKKyAgPCEtLSBkdW1wcyBhIHN0cmluZywgbWFraW5nIGNyb3NzLXJlZmVyZW5jZSBsaW5rcyAtLT4KKyAgPHhzbDp0ZW1wbGF0ZSBuYW1lPSJkdW1wdGV4dCI+CisgICAgPHhzbDpwYXJhbSBuYW1lPSJ0ZXh0Ii8+CisgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJjdHh0IiBzZWxlY3Q9Jy4nLz4KKyAgICA8IS0tIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkdGV4dCIvPiAtLT4KKyAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0ic3RyOnRva2VuaXplKCR0ZXh0LCAnICYjOTsnKSI+CisgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IiRjdHh0IiBtb2RlPSdkdW1wdG9rZW4nPgorICAgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0idG9rZW4iIHNlbGVjdD0ic3RyaW5nKC4pIi8+CisgICAgICA8L3hzbDphcHBseS10ZW1wbGF0ZXM+CisgICAgICA8eHNsOmlmIHRlc3Q9InBvc2l0aW9uKCkgIT0gbGFzdCgpIj4KKyAgICAgICAgPHhzbDp0ZXh0PiA8L3hzbDp0ZXh0PgorICAgICAgPC94c2w6aWY+CisgICAgPC94c2w6Zm9yLWVhY2g+CisgIDwveHNsOnRlbXBsYXRlPgorCisgIDx4c2w6dGVtcGxhdGUgbWF0Y2g9Im1hY3JvIiBtb2RlPSJ0b2MiPgorICAgIDxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4KKyAgICA8eHNsOnRleHQ+I2RlZmluZSA8L3hzbDp0ZXh0PjxhIGhyZWY9IiN7QG5hbWV9Ij48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz48L2E+CisgICAgPC9wcmU+CisgIDwveHNsOnRlbXBsYXRlPgorCisgIDx4c2w6dGVtcGxhdGUgbWF0Y2g9InZhcmlhYmxlIiBtb2RlPSJ0b2MiPgorICAgIDxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4KKyAgICA8eHNsOnRleHQ+VmFyaWFibGUgPC94c2w6dGV4dD4KKyAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iZHVtcHRleHQiPgorICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9InRleHQiIHNlbGVjdD0ic3RyaW5nKEB0eXBlKSIvPgorICAgIDwveHNsOmNhbGwtdGVtcGxhdGU+CisgICAgPHhzbDp0ZXh0PiA8L3hzbDp0ZXh0PgorICAgIDxhIG5hbWU9IntAbmFtZX0iPjwvYT4KKyAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz4KKyAgICA8eHNsOnRleHQ+CisKKzwveHNsOnRleHQ+CisgICAgPC9wcmU+CisgIDwveHNsOnRlbXBsYXRlPgorCisgIDx4c2w6dGVtcGxhdGUgbWF0Y2g9InR5cGVkZWYiIG1vZGU9InRvYyI+CisgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJuYW1lIiBzZWxlY3Q9InN0cmluZyhAbmFtZSkiLz4KKyAgICA8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+CisgICAgPHhzbDpjaG9vc2U+CisgICAgICA8eHNsOndoZW4gdGVzdD0iQHR5cGUgPSAnZW51bSciPgorCTx4c2w6dGV4dD5FbnVtIDwveHNsOnRleHQ+CisJPGEgaHJlZj0iI3skbmFtZX0iPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkbmFtZSIvPjwvYT4KKwk8eHNsOnRleHQ+Cis8L3hzbDp0ZXh0PgorICAgICAgPC94c2w6d2hlbj4KKyAgICAgIDx4c2w6b3RoZXJ3aXNlPgorCTx4c2w6dGV4dD5UeXBlZGVmIDwveHNsOnRleHQ+CisJPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImR1bXB0ZXh0Ij4KKwkgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJ0ZXh0IiBzZWxlY3Q9IkB0eXBlIi8+CisJPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKwk8eHNsOnRleHQ+IDwveHNsOnRleHQ+CisJPGEgbmFtZT0ieyRuYW1lfSI+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRuYW1lIi8+PC9hPgorCTx4c2w6dGV4dD4KKzwveHNsOnRleHQ+CisgICAgICA8L3hzbDpvdGhlcndpc2U+CisgICAgPC94c2w6Y2hvb3NlPgorICAgIDwvcHJlPgorICA8L3hzbDp0ZW1wbGF0ZT4KKworICA8eHNsOnRlbXBsYXRlIG1hdGNoPSJ0eXBlZGVmW0B0eXBlID0gJ2VudW0nXSI+CisgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJuYW1lIiBzZWxlY3Q9InN0cmluZyhAbmFtZSkiLz4KKyAgICA8aDM+RW51bSA8YSBuYW1lPSJ7JG5hbWV9Ij48eHNsOnZhbHVlLW9mIHNlbGVjdD0iJG5hbWUiLz48L2E+PC9oMz4KKyAgICA8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+CisgICAgICA8eHNsOnRleHQ+RW51bSA8L3hzbDp0ZXh0PgorICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRuYW1lIi8+CisgICAgICA8eHNsOnRleHQ+IHsKKzwveHNsOnRleHQ+CisgICAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0iL2FwaS9zeW1ib2xzL2VudW1bQHR5cGUgPSAkbmFtZV0iPgorICAgICAgICA8eHNsOnNvcnQgc2VsZWN0PSJAdmFsdWUiIGRhdGEtdHlwZT0ibnVtYmVyIiBvcmRlcj0iYXNjZW5kaW5nIi8+CisgICAgICAgIDx4c2w6dGV4dD4gICAgPC94c2w6dGV4dD4KKyAgICAgICAgPGEgbmFtZT0ie0BuYW1lfSI+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+PC9hPgorICAgICAgICA8eHNsOnRleHQ+ID0gPC94c2w6dGV4dD4KKyAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkB2YWx1ZSIvPgorICAgICAgICA8eHNsOmlmIHRlc3Q9IkBpbmZvICE9ICcnIj4KKwkgIDx4c2w6dGV4dD4gOiA8L3hzbDp0ZXh0PgorCSAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImR1bXB0ZXh0Ij4KKwkgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9InRleHQiIHNlbGVjdD0iQGluZm8iLz4KKwkgIDwveHNsOmNhbGwtdGVtcGxhdGU+CisgICAgICAgIDwveHNsOmlmPgorICAgICAgICA8eHNsOnRleHQ+Cis8L3hzbDp0ZXh0PgorICAgICAgPC94c2w6Zm9yLWVhY2g+CisgICAgICA8eHNsOnRleHQ+fQorPC94c2w6dGV4dD4KKyAgICA8L3ByZT4KKyAgPC94c2w6dGVtcGxhdGU+CisKKyAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD0ic3RydWN0IiBtb2RlPSJ0b2MiPgorICAgIDxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4KKyAgICA8eHNsOnRleHQ+U3RydWN0dXJlIDwveHNsOnRleHQ+PGEgaHJlZj0iI3tAbmFtZX0iPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPjwvYT48YnIvPgorICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAdHlwZSIvPjx4c2w6dGV4dD4KKzwveHNsOnRleHQ+CisgICAgPHhzbDppZiB0ZXN0PSJub3QoZmllbGQpIj4KKyAgICAgIDx4c2w6dGV4dD5UaGUgY29udGVudCBvZiB0aGlzIHN0cnVjdHVyZSBpcyBub3QgbWFkZSBwdWJsaWMgYnkgdGhlIEFQSS4KKzwveHNsOnRleHQ+CisgICAgPC94c2w6aWY+CisgICAgPC9wcmU+CisgIDwveHNsOnRlbXBsYXRlPgorCisgIDx4c2w6dGVtcGxhdGUgbWF0Y2g9InN0cnVjdCI+CisgICAgPGgzPjxhIG5hbWU9IntAbmFtZX0iPlN0cnVjdHVyZSA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz48L2E+PC9oMz4KKyAgICA8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+CisgICAgPHhzbDp0ZXh0PlN0cnVjdHVyZSA8L3hzbDp0ZXh0Pjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPjxici8+CisgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkB0eXBlIi8+PHhzbDp0ZXh0PiB7Cis8L3hzbDp0ZXh0PgorICAgIDx4c2w6aWYgdGVzdD0ibm90KGZpZWxkKSI+CisgICAgICA8eHNsOnRleHQ+VGhlIGNvbnRlbnQgb2YgdGhpcyBzdHJ1Y3R1cmUgaXMgbm90IG1hZGUgcHVibGljIGJ5IHRoZSBBUEkuCis8L3hzbDp0ZXh0PgorICAgIDwveHNsOmlmPgorICAgIDx4c2w6Zm9yLWVhY2ggc2VsZWN0PSJmaWVsZCI+CisgICAgICAgIDx4c2w6dGV4dD4gICAgPC94c2w6dGV4dD4KKwk8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iZHVtcHRleHQiPgorCSAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9InRleHQiIHNlbGVjdD0iQHR5cGUiLz4KKwk8L3hzbDpjYWxsLXRlbXBsYXRlPgorCTx4c2w6dGV4dD4mIzk7PC94c2w6dGV4dD4KKwk8eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz4KKwk8eHNsOmlmIHRlc3Q9IkBpbmZvICE9ICcnIj4KKwkgIDx4c2w6dGV4dD4mIzk7OiA8L3hzbDp0ZXh0PgorCSAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImR1bXB0ZXh0Ij4KKwkgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9InRleHQiIHNlbGVjdD0ic3Vic3RyaW5nKEBpbmZvLCAxLCA0MCkiLz4KKwkgIDwveHNsOmNhbGwtdGVtcGxhdGU+CisJPC94c2w6aWY+CisJPHhzbDp0ZXh0PgorPC94c2w6dGV4dD4KKyAgICA8L3hzbDpmb3ItZWFjaD4KKyAgICA8eHNsOnRleHQ+fTwveHNsOnRleHQ+CisgICAgPC9wcmU+CisgIDwveHNsOnRlbXBsYXRlPgorCisgIDx4c2w6dGVtcGxhdGUgbWF0Y2g9Im1hY3JvIj4KKyAgICA8eHNsOnZhcmlhYmxlIG5hbWU9Im5hbWUiIHNlbGVjdD0ic3RyaW5nKEBuYW1lKSIvPgorICAgIDxoMz48YSBuYW1lPSJ7JG5hbWV9Ij48L2E+TWFjcm86IDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkbmFtZSIvPjwvaDM+CisgICAgPHByZT48eHNsOnRleHQ+I2RlZmluZSA8L3hzbDp0ZXh0Pjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkbmFtZSIvPjwvcHJlPgorICAgIDxwPgorICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJkdW1wdGV4dCI+CisgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0idGV4dCIgc2VsZWN0PSJpbmZvIi8+CisgICAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKyAgICA8L3A+PHhzbDp0ZXh0PgorPC94c2w6dGV4dD4KKyAgPC94c2w6dGVtcGxhdGU+CisKKyAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iZnVuY3Rpb24iIG1vZGU9InRvYyI+CisgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJuYW1lIiBzZWxlY3Q9InN0cmluZyhAbmFtZSkiLz4KKyAgICA8eHNsOnZhcmlhYmxlIG5hbWU9Im5sZW4iIHNlbGVjdD0ic3RyaW5nLWxlbmd0aCgkbmFtZSkiLz4KKyAgICA8eHNsOnZhcmlhYmxlIG5hbWU9InRsZW4iIHNlbGVjdD0ic3RyaW5nLWxlbmd0aChyZXR1cm4vQHR5cGUpIi8+CisgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJibGVuIiBzZWxlY3Q9IigoJG5sZW4gKyA4KSAtICgoJG5sZW4gKyA4KSBtb2QgOCkpICsgKCgkdGxlbiArIDgpIC0gKCgkdGxlbiArIDgpIG1vZCA4KSkiLz4KKyAgICA8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+CisgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImR1bXB0ZXh0Ij4KKyAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJ0ZXh0IiBzZWxlY3Q9InJldHVybi9AdHlwZSIvPgorICAgIDwveHNsOmNhbGwtdGVtcGxhdGU+CisgICAgPHhzbDp0ZXh0PiYjOTs8L3hzbDp0ZXh0PgorICAgIDxhIGhyZWY9IiN7QG5hbWV9Ij48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz48L2E+CisgICAgPHhzbDppZiB0ZXN0PSIkYmxlbiAtIDQwICZsdDsgLTgiPgorICAgICAgPHhzbDp0ZXh0PiYjOTs8L3hzbDp0ZXh0PgorICAgIDwveHNsOmlmPgorICAgIDx4c2w6aWYgdGVzdD0iJGJsZW4gLSA0MCAmbHQ7IDAiPgorICAgICAgPHhzbDp0ZXh0PiYjOTs8L3hzbDp0ZXh0PgorICAgIDwveHNsOmlmPgorICAgIDx4c2w6dGV4dD4mIzk7KDwveHNsOnRleHQ+CisgICAgPHhzbDppZiB0ZXN0PSJub3QoYXJnKSI+CisgICAgICA8eHNsOnRleHQ+dm9pZDwveHNsOnRleHQ+CisgICAgPC94c2w6aWY+CisgICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9ImFyZyI+CisgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iZHVtcHRleHQiPgorICAgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0idGV4dCIgc2VsZWN0PSJAdHlwZSIvPgorICAgICAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKyAgICAgIDx4c2w6dGV4dD4gPC94c2w6dGV4dD4KKyAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPgorICAgICAgPHhzbDppZiB0ZXN0PSJwb3NpdGlvbigpICE9IGxhc3QoKSI+CisgICAgICAgIDx4c2w6dGV4dD4sIDwveHNsOnRleHQ+PGJyLz4KKwk8eHNsOmlmIHRlc3Q9IiRibGVuIC0gNDAgJmd0OyA4Ij4KKwkgIDx4c2w6dGV4dD4mIzk7PC94c2w6dGV4dD4KKwk8L3hzbDppZj4KKwk8eHNsOmlmIHRlc3Q9IiRibGVuIC0gNDAgJmd0OyAwIj4KKwkgIDx4c2w6dGV4dD4mIzk7PC94c2w6dGV4dD4KKwk8L3hzbDppZj4KKwk8eHNsOnRleHQ+JiM5OyYjOTsmIzk7JiM5OyYjOTsgPC94c2w6dGV4dD4KKyAgICAgIDwveHNsOmlmPgorICAgIDwveHNsOmZvci1lYWNoPgorICAgIDx4c2w6dGV4dD4pPC94c2w6dGV4dD4KKyAgICA8L3ByZT48eHNsOnRleHQ+Cis8L3hzbDp0ZXh0PgorICA8L3hzbDp0ZW1wbGF0ZT4KKworICA8eHNsOnRlbXBsYXRlIG1hdGNoPSJmdW5jdHlwZSIgbW9kZT0idG9jIj4KKyAgICA8eHNsOnZhcmlhYmxlIG5hbWU9Im5hbWUiIHNlbGVjdD0ic3RyaW5nKEBuYW1lKSIvPgorICAgIDx4c2w6dmFyaWFibGUgbmFtZT0ibmxlbiIgc2VsZWN0PSJzdHJpbmctbGVuZ3RoKCRuYW1lKSIvPgorICAgIDx4c2w6dmFyaWFibGUgbmFtZT0idGxlbiIgc2VsZWN0PSJzdHJpbmctbGVuZ3RoKHJldHVybi9AdHlwZSkiLz4KKyAgICA8eHNsOnZhcmlhYmxlIG5hbWU9ImJsZW4iIHNlbGVjdD0iKCgkbmxlbiArIDgpIC0gKCgkbmxlbiArIDgpIG1vZCA4KSkgKyAoKCR0bGVuICsgOCkgLSAoKCR0bGVuICsgOCkgbW9kIDgpKSIvPgorICAgIDxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4KKyAgICA8eHNsOnRleHQ+RnVuY3Rpb24gdHlwZTogPC94c2w6dGV4dD4KKyAgICA8YSBocmVmPSIjeyRuYW1lfSI+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRuYW1lIi8+PC9hPgorICAgIDx4c2w6dGV4dD4KKzwveHNsOnRleHQ+CisgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImR1bXB0ZXh0Ij4KKyAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJ0ZXh0IiBzZWxlY3Q9InJldHVybi9AdHlwZSIvPgorICAgIDwveHNsOmNhbGwtdGVtcGxhdGU+CisgICAgPHhzbDp0ZXh0PiYjOTs8L3hzbDp0ZXh0PgorICAgIDxhIGhyZWY9IiN7JG5hbWV9Ij48eHNsOnZhbHVlLW9mIHNlbGVjdD0iJG5hbWUiLz48L2E+CisgICAgPHhzbDppZiB0ZXN0PSIkYmxlbiAtIDQwICZsdDsgLTgiPgorICAgICAgPHhzbDp0ZXh0PiYjOTs8L3hzbDp0ZXh0PgorICAgIDwveHNsOmlmPgorICAgIDx4c2w6aWYgdGVzdD0iJGJsZW4gLSA0MCAmbHQ7IDAiPgorICAgICAgPHhzbDp0ZXh0PiYjOTs8L3hzbDp0ZXh0PgorICAgIDwveHNsOmlmPgorICAgIDx4c2w6dGV4dD4mIzk7KDwveHNsOnRleHQ+CisgICAgPHhzbDppZiB0ZXN0PSJub3QoYXJnKSI+CisgICAgICA8eHNsOnRleHQ+dm9pZDwveHNsOnRleHQ+CisgICAgPC94c2w6aWY+CisgICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9ImFyZyI+CisgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iZHVtcHRleHQiPgorICAgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0idGV4dCIgc2VsZWN0PSJAdHlwZSIvPgorICAgICAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKyAgICAgIDx4c2w6dGV4dD4gPC94c2w6dGV4dD4KKyAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPgorICAgICAgPHhzbDppZiB0ZXN0PSJwb3NpdGlvbigpICE9IGxhc3QoKSI+CisgICAgICAgIDx4c2w6dGV4dD4sIDwveHNsOnRleHQ+PGJyLz4KKwk8eHNsOmlmIHRlc3Q9IiRibGVuIC0gNDAgJmd0OyA4Ij4KKwkgIDx4c2w6dGV4dD4mIzk7PC94c2w6dGV4dD4KKwk8L3hzbDppZj4KKwk8eHNsOmlmIHRlc3Q9IiRibGVuIC0gNDAgJmd0OyAwIj4KKwkgIDx4c2w6dGV4dD4mIzk7PC94c2w6dGV4dD4KKwk8L3hzbDppZj4KKwk8eHNsOnRleHQ+JiM5OyYjOTsmIzk7JiM5OyYjOTsgPC94c2w6dGV4dD4KKyAgICAgIDwveHNsOmlmPgorICAgIDwveHNsOmZvci1lYWNoPgorICAgIDx4c2w6dGV4dD4pCis8L3hzbDp0ZXh0PgorICAgIDwvcHJlPgorICAgIDx4c2w6dGV4dD4KKzwveHNsOnRleHQ+CisgIDwveHNsOnRlbXBsYXRlPgorCisgIDx4c2w6dGVtcGxhdGUgbWF0Y2g9ImZ1bmN0eXBlIj4KKyAgICA8eHNsOnZhcmlhYmxlIG5hbWU9Im5hbWUiIHNlbGVjdD0ic3RyaW5nKEBuYW1lKSIvPgorICAgIDx4c2w6dmFyaWFibGUgbmFtZT0ibmxlbiIgc2VsZWN0PSJzdHJpbmctbGVuZ3RoKCRuYW1lKSIvPgorICAgIDx4c2w6dmFyaWFibGUgbmFtZT0idGxlbiIgc2VsZWN0PSJzdHJpbmctbGVuZ3RoKHJldHVybi9AdHlwZSkiLz4KKyAgICA8eHNsOnZhcmlhYmxlIG5hbWU9ImJsZW4iIHNlbGVjdD0iKCgkbmxlbiArIDgpIC0gKCgkbmxlbiArIDgpIG1vZCA4KSkgKyAoKCR0bGVuICsgOCkgLSAoKCR0bGVuICsgOCkgbW9kIDgpKSIvPgorICAgIDxoMz4KKyAgICAgIDxhIG5hbWU9InskbmFtZX0iPjwvYT4KKyAgICAgIDx4c2w6dGV4dD5GdW5jdGlvbiB0eXBlOiA8L3hzbDp0ZXh0PgorICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRuYW1lIi8+CisgICAgPC9oMz4KKyAgICA8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+CisgICAgPHhzbDp0ZXh0PkZ1bmN0aW9uIHR5cGU6IDwveHNsOnRleHQ+CisgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRuYW1lIi8+CisgICAgPHhzbDp0ZXh0PgorPC94c2w6dGV4dD4KKyAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iZHVtcHRleHQiPgorICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9InRleHQiIHNlbGVjdD0icmV0dXJuL0B0eXBlIi8+CisgICAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKyAgICA8eHNsOnRleHQ+JiM5OzwveHNsOnRleHQ+CisgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+CisgICAgPHhzbDppZiB0ZXN0PSIkYmxlbiAtIDQwICZsdDsgLTgiPgorICAgICAgPHhzbDp0ZXh0PiYjOTs8L3hzbDp0ZXh0PgorICAgIDwveHNsOmlmPgorICAgIDx4c2w6aWYgdGVzdD0iJGJsZW4gLSA0MCAmbHQ7IDAiPgorICAgICAgPHhzbDp0ZXh0PiYjOTs8L3hzbDp0ZXh0PgorICAgIDwveHNsOmlmPgorICAgIDx4c2w6dGV4dD4mIzk7KDwveHNsOnRleHQ+CisgICAgPHhzbDppZiB0ZXN0PSJub3QoYXJnKSI+CisgICAgICA8eHNsOnRleHQ+dm9pZDwveHNsOnRleHQ+CisgICAgPC94c2w6aWY+CisgICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9ImFyZyI+CisgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iZHVtcHRleHQiPgorICAgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0idGV4dCIgc2VsZWN0PSJAdHlwZSIvPgorICAgICAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKyAgICAgIDx4c2w6dGV4dD4gPC94c2w6dGV4dD4KKyAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPgorICAgICAgPHhzbDppZiB0ZXN0PSJwb3NpdGlvbigpICE9IGxhc3QoKSI+CisgICAgICAgIDx4c2w6dGV4dD4sIDwveHNsOnRleHQ+PGJyLz4KKwk8eHNsOmlmIHRlc3Q9IiRibGVuIC0gNDAgJmd0OyA4Ij4KKwkgIDx4c2w6dGV4dD4mIzk7PC94c2w6dGV4dD4KKwk8L3hzbDppZj4KKwk8eHNsOmlmIHRlc3Q9IiRibGVuIC0gNDAgJmd0OyAwIj4KKwkgIDx4c2w6dGV4dD4mIzk7PC94c2w6dGV4dD4KKwk8L3hzbDppZj4KKwk8eHNsOnRleHQ+JiM5OyYjOTsmIzk7JiM5OyYjOTsgPC94c2w6dGV4dD4KKyAgICAgIDwveHNsOmlmPgorICAgIDwveHNsOmZvci1lYWNoPgorICAgIDx4c2w6dGV4dD4pCis8L3hzbDp0ZXh0PgorICAgIDwvcHJlPgorICAgIDxwPgorICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJkdW1wdGV4dCI+CisgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0idGV4dCIgc2VsZWN0PSJpbmZvIi8+CisgICAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKyAgICA8L3A+CisgICAgPHhzbDppZiB0ZXN0PSJhcmcgfCByZXR1cm4iPgorICAgICAgPGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0Ii8+PHRib2R5PgorICAgICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9ImFyZyI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz48L3R0PjwvaT46PC9zcGFuPjwvdGQ+CisJICA8dGQ+CisJICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJkdW1wdGV4dCI+CisJICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9InRleHQiIHNlbGVjdD0iQGluZm8iLz4KKwkgICAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKwkgIDwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICA8L3hzbDpmb3ItZWFjaD4KKyAgICAgIDx4c2w6aWYgdGVzdD0icmV0dXJuL0BpbmZvIj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PlJldHVybnM8L3R0PjwvaT46PC9zcGFuPjwvdGQ+CisJICA8dGQ+CisJICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJkdW1wdGV4dCI+CisJICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9InRleHQiIHNlbGVjdD0icmV0dXJuL0BpbmZvIi8+CisJICAgIDwveHNsOmNhbGwtdGVtcGxhdGU+CisJICA8L3RkPgorICAgICAgICA8L3RyPgorICAgICAgPC94c2w6aWY+CisgICAgICA8L3Rib2R5PjwvdGFibGU+PC9kaXY+CisgICAgPC94c2w6aWY+CisgICAgPGJyLz4KKyAgICA8eHNsOnRleHQ+Cis8L3hzbDp0ZXh0PgorICA8L3hzbDp0ZW1wbGF0ZT4KKworICA8eHNsOnRlbXBsYXRlIG1hdGNoPSJmdW5jdGlvbiI+CisgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJuYW1lIiBzZWxlY3Q9InN0cmluZyhAbmFtZSkiLz4KKyAgICA8eHNsOnZhcmlhYmxlIG5hbWU9Im5sZW4iIHNlbGVjdD0ic3RyaW5nLWxlbmd0aCgkbmFtZSkiLz4KKyAgICA8eHNsOnZhcmlhYmxlIG5hbWU9InRsZW4iIHNlbGVjdD0ic3RyaW5nLWxlbmd0aChyZXR1cm4vQHR5cGUpIi8+CisgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJibGVuIiBzZWxlY3Q9IigoJG5sZW4gKyA4KSAtICgoJG5sZW4gKyA4KSBtb2QgOCkpICsgKCgkdGxlbiArIDgpIC0gKCgkdGxlbiArIDgpIG1vZCA4KSkiLz4KKyAgICA8aDM+PGEgbmFtZT0ieyRuYW1lfSI+PC9hPkZ1bmN0aW9uOiA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iJG5hbWUiLz48L2gzPgorICAgIDxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4KKyAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iZHVtcHRleHQiPgorICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9InRleHQiIHNlbGVjdD0icmV0dXJuL0B0eXBlIi8+CisgICAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKyAgICA8eHNsOnRleHQ+JiM5OzwveHNsOnRleHQ+CisgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+CisgICAgPHhzbDppZiB0ZXN0PSIkYmxlbiAtIDQwICZsdDsgLTgiPgorICAgICAgPHhzbDp0ZXh0PiYjOTs8L3hzbDp0ZXh0PgorICAgIDwveHNsOmlmPgorICAgIDx4c2w6aWYgdGVzdD0iJGJsZW4gLSA0MCAmbHQ7IDAiPgorICAgICAgPHhzbDp0ZXh0PiYjOTs8L3hzbDp0ZXh0PgorICAgIDwveHNsOmlmPgorICAgIDx4c2w6dGV4dD4mIzk7KDwveHNsOnRleHQ+CisgICAgPHhzbDppZiB0ZXN0PSJub3QoYXJnKSI+CisgICAgICA8eHNsOnRleHQ+dm9pZDwveHNsOnRleHQ+CisgICAgPC94c2w6aWY+CisgICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9ImFyZyI+CisgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iZHVtcHRleHQiPgorICAgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0idGV4dCIgc2VsZWN0PSJAdHlwZSIvPgorICAgICAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKyAgICAgIDx4c2w6dGV4dD4gPC94c2w6dGV4dD4KKyAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPgorICAgICAgPHhzbDppZiB0ZXN0PSJwb3NpdGlvbigpICE9IGxhc3QoKSI+CisgICAgICAgIDx4c2w6dGV4dD4sIDwveHNsOnRleHQ+PGJyLz4KKwk8eHNsOmlmIHRlc3Q9IiRibGVuIC0gNDAgJmd0OyA4Ij4KKwkgIDx4c2w6dGV4dD4mIzk7PC94c2w6dGV4dD4KKwk8L3hzbDppZj4KKwk8eHNsOmlmIHRlc3Q9IiRibGVuIC0gNDAgJmd0OyAwIj4KKwkgIDx4c2w6dGV4dD4mIzk7PC94c2w6dGV4dD4KKwk8L3hzbDppZj4KKwk8eHNsOnRleHQ+JiM5OyYjOTsmIzk7JiM5OyYjOTsgPC94c2w6dGV4dD4KKyAgICAgIDwveHNsOmlmPgorICAgIDwveHNsOmZvci1lYWNoPgorICAgIDx4c2w6dGV4dD4pPC94c2w6dGV4dD48YnIvPgorICAgIDx4c2w6dGV4dD4KKzwveHNsOnRleHQ+CisgICAgPC9wcmU+CisgICAgPHA+CisgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImR1bXB0ZXh0Ij4KKyAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJ0ZXh0IiBzZWxlY3Q9ImluZm8iLz4KKyAgICA8L3hzbDpjYWxsLXRlbXBsYXRlPgorICAgIDwvcD48eHNsOnRleHQ+Cis8L3hzbDp0ZXh0PgorICAgIDx4c2w6aWYgdGVzdD0iYXJnIHwgcmV0dXJuL0BpbmZvIj4KKyAgICAgIDxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT4KKyAgICAgIDx4c2w6Zm9yLWVhY2ggc2VsZWN0PSJhcmciPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+PC90dD48L2k+Ojwvc3Bhbj48L3RkPgorCSAgPHRkPgorCSAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iZHVtcHRleHQiPgorCSAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJ0ZXh0IiBzZWxlY3Q9IkBpbmZvIi8+CisJICAgIDwveHNsOmNhbGwtdGVtcGxhdGU+CisJICA8L3RkPgorICAgICAgICA8L3RyPgorICAgICAgPC94c2w6Zm9yLWVhY2g+CisgICAgICA8eHNsOmlmIHRlc3Q9InJldHVybi9AaW5mbyI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPgorCSAgPHRkPgorCSAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iZHVtcHRleHQiPgorCSAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJ0ZXh0IiBzZWxlY3Q9InJldHVybi9AaW5mbyIvPgorCSAgICA8L3hzbDpjYWxsLXRlbXBsYXRlPgorCSAgPC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgIDwveHNsOmlmPgorICAgICAgPC90Ym9keT48L3RhYmxlPjwvZGl2PgorICAgIDwveHNsOmlmPgorICA8L3hzbDp0ZW1wbGF0ZT4KKworICA8eHNsOnRlbXBsYXRlIG1hdGNoPSJleHBvcnRzIiBtb2RlPSJ0b2MiPgorICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0ia2V5KCdzeW1ib2xzJywgc3RyaW5nKEBzeW1ib2wpKVsxXSIgbW9kZT0idG9jIi8+CisgIDwveHNsOnRlbXBsYXRlPgorCisgIDx4c2w6dGVtcGxhdGUgbWF0Y2g9ImV4cG9ydHMiPgorICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0ia2V5KCdzeW1ib2xzJywgc3RyaW5nKEBzeW1ib2wpKVsxXSIvPgorICA8L3hzbDp0ZW1wbGF0ZT4KKworICA8eHNsOnRlbXBsYXRlIG5hbWU9ImRlc2NyaXB0aW9uIj4KKyAgICA8eHNsOmlmIHRlc3Q9ImRlcHJlY2F0ZWQiPgorICAgICAgPGgyIHN0eWxlPSJmb250LXdlaWdodDpib2xkO2NvbG9yOnJlZDt0ZXh0LWFsaWduOmNlbnRlciI+VGhpcyBtb2R1bGUgaXMgZGVwcmVjYXRlZDwvaDI+CisgICAgPC94c2w6aWY+CisgICAgPHhzbDppZiB0ZXN0PSJkZXNjcmlwdGlvbiI+CisgICAgICA8cD48eHNsOnZhbHVlLW9mIHNlbGVjdD0iZGVzY3JpcHRpb24iLz48L3A+CisgICAgPC94c2w6aWY+CisgIDwveHNsOnRlbXBsYXRlPgorCis8IS0tCisgIDx4c2w6dGVtcGxhdGUgbmFtZT0iZG9jb21wb25lbnRzIj4KKyAgICA8eHNsOnBhcmFtIG5hbWU9Im1vZGUiLz4KKyAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImV4cG9ydHNbQHR5cGU9J21hY3JvJ10iIG1vZGU9IiRtb2RlIj4KKyAgICAgIDx4c2w6c29ydCBzZWxlY3Q9J0BzeW1ib2wnLz4KKyAgICA8L3hzbDphcHBseS10ZW1wbGF0ZXM+CisgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJleHBvcnRzW0B0eXBlPSdlbnVtJ10iIG1vZGU9IiRtb2RlIj4KKyAgICAgIDx4c2w6c29ydCBzZWxlY3Q9J0BzeW1ib2wnLz4KKyAgICA8L3hzbDphcHBseS10ZW1wbGF0ZXM+CisgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJleHBvcnRzW0B0eXBlPSd0eXBlZGVmJ10iIG1vZGU9IiRtb2RlIj4KKyAgICAgIDx4c2w6c29ydCBzZWxlY3Q9J0BzeW1ib2wnLz4KKyAgICA8L3hzbDphcHBseS10ZW1wbGF0ZXM+CisgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJleHBvcnRzW0B0eXBlPSdzdHJ1Y3QnXSIgbW9kZT0iJG1vZGUiPgorICAgICAgPHhzbDpzb3J0IHNlbGVjdD0nQHN5bWJvbCcvPgorICAgIDwveHNsOmFwcGx5LXRlbXBsYXRlcz4KKyAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImV4cG9ydHNbQHR5cGU9J2Z1bmN0aW9uJ10iIG1vZGU9IiRtb2RlIj4KKyAgICAgIDx4c2w6c29ydCBzZWxlY3Q9J0BzeW1ib2wnLz4KKyAgICA8L3hzbDphcHBseS10ZW1wbGF0ZXM+CisgIDwveHNsOnRlbXBsYXRlPgorLS0+CisKKyAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iZmlsZSI+CisgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJuYW1lIiBzZWxlY3Q9IkBuYW1lIi8+CisgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJ0aXRsZSI+TW9kdWxlIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkbmFtZSIvPiBmcm9tIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIvYXBpL0BuYW1lIi8+PC94c2w6dmFyaWFibGU+CisgICAgPHhzbDpkb2N1bWVudCBocmVmPSJ7JGh0bWxkaXJ9L2xpYnhtbC17JG5hbWV9Lmh0bWwiIG1ldGhvZD0ieG1sIiBlbmNvZGluZz0iVVRGLTgiCisgICAgICBkb2N0eXBlLXB1YmxpYz0iLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iCisgICAgICBkb2N0eXBlLXN5c3RlbT0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+CisJPGh0bWw+CisJICA8aGVhZD4KKwkgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9InN0eWxlIi8+CisJICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJkb2NzdHlsZSIvPgorCSAgICA8dGl0bGU+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiR0aXRsZSIvPjwvdGl0bGU+CisJICA8L2hlYWQ+CisJICA8Ym9keSBiZ2NvbG9yPSIjOGI3NzY1IiB0ZXh0PSIjMDAwMDAwIiBsaW5rPSIjYTA2MDYwIiB2bGluaz0iIzAwMDAwMCI+CisJICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJ0aXRsZWJveCI+CisJICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9InRpdGxlIiBzZWxlY3Q9IiR0aXRsZSIvPgorCSAgICA8L3hzbDpjYWxsLXRlbXBsYXRlPgorCSAgPHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjQiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+CisJICAgIDx0cj4KKwkgICAgICA8dGQgYmdjb2xvcj0iIzhiNzc2NSI+CisJCTx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiIgd2lkdGg9IjEwMCUiPgorCQkgIDx0cj4KKwkJICAgIDx0ZCB2YWxpZ249InRvcCIgd2lkdGg9IjIwMCIgYmdjb2xvcj0iIzhiNzc2NSI+CisJCSAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJhcGl0b2MiLz4KKwkJICAgIDwvdGQ+CisJCSAgICA8dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiM4Yjc3NjUiPgorCQkgICAgICA8dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIj4KKwkJCTx0cj4KKwkJCSAgPHRkPgorCQkJICAgIDx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPgorCQkJICAgICAgPHRyPgorCQkJCTx0ZD4KKwkJCQkgIDx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIzIiBjZWxsc3BhY2luZz0iMSIgd2lkdGg9IjEwMCUiPgorCQkJCSAgICA8dHI+CisJCQkJICAgICAgPHRkIGJnY29sb3I9IiNmZmZhY2QiPgorCSAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0ibmF2YmFyIi8+CisJICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJkZXNjcmlwdGlvbiIvPgorCSAgICA8eHNsOmNob29zZT4KKwkgICAgICA8eHNsOndoZW4gdGVzdD0iZGVwcmVjYXRlZCI+CisJICAgICAgICA8ZGl2IGNsYXNzPSJkZXByZWNhdGVkIj4KKwkJICA8aDI+VGFibGUgb2YgQ29udGVudHM8L2gyPgorCQkgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZXhwb3J0cyIgbW9kZT0idG9jIi8+CisJCSAgPGgyPkRlc2NyaXB0aW9uPC9oMj4KKwkJICA8eHNsOnRleHQ+Cis8L3hzbDp0ZXh0PgorCQkgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZXhwb3J0cyIvPgorCQk8L2Rpdj4KKwkgICAgICA8L3hzbDp3aGVuPgorCSAgICAgIDx4c2w6b3RoZXJ3aXNlPgorCQk8aDI+VGFibGUgb2YgQ29udGVudHM8L2gyPgorCQk8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImV4cG9ydHNbQHR5cGU9J21hY3JvJ10iIG1vZGU9InRvYyI+CisJCSAgPHhzbDpzb3J0IHNlbGVjdD0nQHN5bWJvbCcvPgorCQk8L3hzbDphcHBseS10ZW1wbGF0ZXM+CisJCTx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZXhwb3J0c1tAdHlwZT0nZW51bSddIiBtb2RlPSJ0b2MiPgorCQkgIDx4c2w6c29ydCBzZWxlY3Q9J0BzeW1ib2wnLz4KKwkJPC94c2w6YXBwbHktdGVtcGxhdGVzPgorCQk8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImV4cG9ydHNbQHR5cGU9J3R5cGVkZWYnXSIgbW9kZT0idG9jIj4KKwkJICA8eHNsOnNvcnQgc2VsZWN0PSdAc3ltYm9sJy8+CisJCTwveHNsOmFwcGx5LXRlbXBsYXRlcz4KKwkJPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJleHBvcnRzW0B0eXBlPSdzdHJ1Y3QnXSIgbW9kZT0idG9jIj4KKwkJICA8eHNsOnNvcnQgc2VsZWN0PSdAc3ltYm9sJy8+CisJCTwveHNsOmFwcGx5LXRlbXBsYXRlcz4KKwkJPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJleHBvcnRzW0B0eXBlPSdmdW5jdGlvbiddIiBtb2RlPSJ0b2MiPgorCQkgIDx4c2w6c29ydCBzZWxlY3Q9J0BzeW1ib2wnLz4KKwkJPC94c2w6YXBwbHktdGVtcGxhdGVzPgorCQk8aDI+RGVzY3JpcHRpb248L2gyPgorCQk8eHNsOnRleHQ+Cis8L3hzbDp0ZXh0PgorCQk8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImV4cG9ydHNbQHR5cGU9J21hY3JvJ10iPgorCQkgIDx4c2w6c29ydCBzZWxlY3Q9J0BzeW1ib2wnLz4KKwkJPC94c2w6YXBwbHktdGVtcGxhdGVzPgorCQk8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImV4cG9ydHNbQHR5cGU9J2VudW0nXSI+CisJCSAgPHhzbDpzb3J0IHNlbGVjdD0nQHN5bWJvbCcvPgorCQk8L3hzbDphcHBseS10ZW1wbGF0ZXM+CisJCTx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZXhwb3J0c1tAdHlwZT0ndHlwZWRlZiddIj4KKwkJICA8eHNsOnNvcnQgc2VsZWN0PSdAc3ltYm9sJy8+CisJCTwveHNsOmFwcGx5LXRlbXBsYXRlcz4KKwkJPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJleHBvcnRzW0B0eXBlPSdzdHJ1Y3QnXSI+CisJCSAgPHhzbDpzb3J0IHNlbGVjdD0nQHN5bWJvbCcvPgorCQk8L3hzbDphcHBseS10ZW1wbGF0ZXM+CisJCTx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZXhwb3J0c1tAdHlwZT0nZnVuY3Rpb24nXSI+CisJCSAgPHhzbDpzb3J0IHNlbGVjdD0nQHN5bWJvbCcvPgorCQk8L3hzbDphcHBseS10ZW1wbGF0ZXM+CisJICAgICAgPC94c2w6b3RoZXJ3aXNlPgorCSAgICA8L3hzbDpjaG9vc2U+CisJCQkJCTxwPjxhIGhyZWY9InskaHJlZl9iYXNlfWJ1Z3MuaHRtbCI+RGFuaWVsIFZlaWxsYXJkPC9hPjwvcD4KKwkJCQkgICAgICA8L3RkPgorCQkJCSAgICA8L3RyPgorCQkJCSAgPC90YWJsZT4KKwkJCQk8L3RkPgorCQkJICAgICAgPC90cj4KKwkJCSAgICA8L3RhYmxlPgorCQkJICA8L3RkPgorCQkJPC90cj4KKwkJICAgICAgPC90YWJsZT4KKwkJICAgIDwvdGQ+CisJCSAgPC90cj4KKwkJPC90YWJsZT4KKwkgICAgICA8L3RkPgorCSAgICA8L3RyPgorCSAgPC90YWJsZT4KKwkgIDwvYm9keT4KKwk8L2h0bWw+CisgICAgPC94c2w6ZG9jdW1lbnQ+CisgIDwveHNsOnRlbXBsYXRlPgorCisgIDx4c2w6dGVtcGxhdGUgbWF0Y2g9ImZpbGUiIG1vZGU9InRvYyI+CisgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJuYW1lIiBzZWxlY3Q9IkBuYW1lIi8+CisgICAgPGxpPgorICAgICAgPGEgaHJlZj0ibGlieG1sLXskbmFtZX0uaHRtbCI+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRuYW1lIi8+PC9hPgorICAgICAgPHhzbDp0ZXh0PjogPC94c2w6dGV4dD4KKyAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJzdW1tYXJ5Ii8+CisgICAgPC9saT4KKyAgPC94c2w6dGVtcGxhdGU+CisKKyAgPHhzbDp0ZW1wbGF0ZSBuYW1lPSJtYWlucGFnZSI+CisgICAgPHhzbDpwYXJhbSBuYW1lPSJmaWxlIiBzZWxlY3Q9ImNvbmNhdCgkaHRtbGRpciwgJy9pbmRleC5odG1sJykiLz4KKyAgICA8eHNsOnZhcmlhYmxlIG5hbWU9InRpdGxlIj5SZWZlcmVuY2UgTWFudWFsIGZvciA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iL2FwaS9AbmFtZSIvPjwveHNsOnZhcmlhYmxlPgorICAgIDx4c2w6ZG9jdW1lbnQgaHJlZj0ieyRmaWxlfSIgbWV0aG9kPSJ4bWwiIGVuY29kaW5nPSJVVEYtOCIKKyAgICAgIGRvY3R5cGUtcHVibGljPSItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIKKyAgICAgIGRvY3R5cGUtc3lzdGVtPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIj4KKwk8aHRtbD4KKwkgIDxoZWFkPgorCSAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0ic3R5bGUiLz4KKwkgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImRvY3N0eWxlIi8+CisJICAgIDx0aXRsZT48eHNsOnZhbHVlLW9mIHNlbGVjdD0iJHRpdGxlIi8+PC90aXRsZT4KKwkgIDwvaGVhZD4KKwkgIDxib2R5IGJnY29sb3I9IiM4Yjc3NjUiIHRleHQ9IiMwMDAwMDAiIGxpbms9IiNhMDYwNjAiIHZsaW5rPSIjMDAwMDAwIj4KKwkgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9InRpdGxlYm94Ij4KKwkgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0idGl0bGUiIHNlbGVjdD0iJHRpdGxlIi8+CisJICAgIDwveHNsOmNhbGwtdGVtcGxhdGU+CisJICA8dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iNCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIiBhbGlnbj0iY2VudGVyIj4KKwkgICAgPHRyPgorCSAgICAgIDx0ZCBiZ2NvbG9yPSIjOGI3NzY1Ij4KKwkJPHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIiB3aWR0aD0iMTAwJSI+CisJCSAgPHRyPgorCQkgICAgPHRkIHZhbGlnbj0idG9wIiB3aWR0aD0iMjAwIiBiZ2NvbG9yPSIjOGI3NzY1Ij4KKwkJICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImFwaXRvYyIvPgorCQkgICAgPC90ZD4KKwkJICAgIDx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzhiNzc2NSI+CisJCSAgICAgIDx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiPgorCQkJPHRyPgorCQkJICA8dGQ+CisJCQkgICAgPHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+CisJCQkgICAgICA8dHI+CisJCQkJPHRkPgorCQkJCSAgPHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiB3aWR0aD0iMTAwJSI+CisJCQkJICAgIDx0cj4KKwkJCQkgICAgICA8dGQgYmdjb2xvcj0iI2ZmZmFjZCI+CisJICAgIDxoMj5UYWJsZSBvZiBDb250ZW50czwvaDI+CisJICAgIDx1bD4KKwkgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSIvYXBpL2ZpbGVzL2ZpbGUiIG1vZGU9InRvYyIvPgorCSAgICA8L3VsPgorCQkJCQk8cD48YSBocmVmPSJ7JGhyZWZfYmFzZX1idWdzLmh0bWwiPkRhbmllbCBWZWlsbGFyZDwvYT48L3A+CisJCQkJICAgICAgPC90ZD4KKwkJCQkgICAgPC90cj4KKwkJCQkgIDwvdGFibGU+CisJCQkJPC90ZD4KKwkJCSAgICAgIDwvdHI+CisJCQkgICAgPC90YWJsZT4KKwkJCSAgPC90ZD4KKwkJCTwvdHI+CisJCSAgICAgIDwvdGFibGU+CisJCSAgICA8L3RkPgorCQkgIDwvdHI+CisJCTwvdGFibGU+CisJICAgICAgPC90ZD4KKwkgICAgPC90cj4KKwkgIDwvdGFibGU+CisJICA8L2JvZHk+CisJPC9odG1sPgorICAgIDwveHNsOmRvY3VtZW50PgorICA8L3hzbDp0ZW1wbGF0ZT4KKworICA8eHNsOnRlbXBsYXRlIG1hdGNoPSIvIj4KKyAgICA8IS0tIFNhdmUgdGhlIG1haW4gaW5kZXguaHRtbCBhcyB3ZWxsIGFzIGEgY291cGxlIG9mIGNvcGllcyAtLT4KKyAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0ibWFpbnBhZ2UiLz4KKyAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0ibWFpbnBhZ2UiPgorICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9ImZpbGUiIHNlbGVjdD0iY29uY2F0KCRodG1sZGlyLCAnL2Jvb2sxLmh0bWwnKSIvPgorICAgIDwveHNsOmNhbGwtdGVtcGxhdGU+CisgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9Im1haW5wYWdlIj4KKyAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJmaWxlIiBzZWxlY3Q9ImNvbmNhdCgkaHRtbGRpciwgJy9saWJ4bWwtbGliLmh0bWwnKSIvPgorICAgIDwveHNsOmNhbGwtdGVtcGxhdGU+CisgICAgPCEtLSBub3cgYnVpbGQgdGhlIGZpbGUgZm9yIGVhY2ggb2YgdGhlIG1vZHVsZXMgLS0+CisgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSIvYXBpL2ZpbGVzL2ZpbGUiLz4KKyAgPC94c2w6dGVtcGxhdGU+CisKKzwveHNsOnN0eWxlc2hlZXQ+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9uZXdzLmh0bWwgYi9saWJ4bWwyL2RvYy9uZXdzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWMwM2JhMwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL25ld3MuaHRtbApAQCAtMCwwICsxLDIzNjggQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+PGxpbmsgcmVsPSJTSE9SVENVVCBJQ09OIiBocmVmPSIvZmF2aWNvbi5pY28iIC8+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK1REIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitCT0RZIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2E7IG1hcmdpbi10b3A6IDJlbTsgbWFyZ2luLWxlZnQ6IDBlbTsgbWFyZ2luLXJpZ2h0OiAwZW19CitIMSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDIge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gzIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitBOmxpbmssIEE6dmlzaXRlZCwgQTphY3RpdmUgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB9Cis8L3N0eWxlPjx0aXRsZT5SZWxlYXNlczwvdGl0bGU+PC9oZWFkPjxib2R5IGJnY29sb3I9IiM4Yjc3NjUiIHRleHQ9IiMwMDAwMDAiIGxpbms9IiNhMDYwNjAiIHZsaW5rPSIjMDAwMDAwIj48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iMTAwJSIgY2VsbHBhZGRpbmc9IjUiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIHdpZHRoPSIxMjAiPjxhIGhyZWY9Imh0dHA6Ly9zd3BhdC5mZmlpLm9yZy8iPjxpbWcgc3JjPSJlcGF0ZW50cy5wbmciIGFsdD0iQWN0aW9uIGFnYWluc3Qgc29mdHdhcmUgcGF0ZW50cyIgLz48L2E+PC90ZD48dGQgd2lkdGg9IjE4MCI+PGEgaHJlZj0iaHR0cDovL3d3dy5nbm9tZS5vcmcvIj48aW1nIHNyYz0iZ25vbWUyLnBuZyIgYWx0PSJHbm9tZTIgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvU3RhdHVzIj48aW1nIHNyYz0idzNjLnBuZyIgYWx0PSJXM0MgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy5yZWRoYXQuY29tLyI+PGltZyBzcmM9InJlZGhhdC5naWYiIGFsdD0iUmVkIEhhdCBMb2dvIiAvPjwvYT48ZGl2IGFsaWduPSJsZWZ0Ij48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvIj48aW1nIHNyYz0iTGlieG1sMi1Mb2dvLTE4MHgxNjguZ2lmIiBhbHQ9Ik1hZGUgd2l0aCBMaWJ4bWwyIExvZ28iIC8+PC9hPjwvZGl2PjwvdGQ+PHRkPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSI5MCUiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIiBiZ2NvbG9yPSIjZmZmYWNkIj48dHI+PHRkIGFsaWduPSJjZW50ZXIiPjxoMT5UaGUgWE1MIEMgcGFyc2VyIGFuZCB0b29sa2l0IG9mIEdub21lPC9oMT48aDI+UmVsZWFzZXM8L2gyPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI0IiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCB2YWxpZ249InRvcCIgd2lkdGg9IjIwMCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+TWFpbiBNZW51PC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjxmb3JtIGFjdGlvbj0ic2VhcmNoLnBocCIgZW5jdHlwZT0iYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIiBtZXRob2Q9ImdldCI+PGlucHV0IG5hbWU9InF1ZXJ5IiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IiIgLz48aW5wdXQgbmFtZT0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJTZWFyY2ggLi4uIiAvPjwvZm9ybT48dWw+PGxpPjxhIGhyZWY9ImluZGV4Lmh0bWwiPkhvbWU8L2E+PC9saT48bGk+PGEgaHJlZj0iaHRtbC9pbmRleC5odG1sIj5SZWZlcmVuY2UgTWFudWFsPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImludHJvLmh0bWwiPkludHJvZHVjdGlvbjwvYT48L2xpPjxsaT48YSBocmVmPSJGQVEuaHRtbCI+RkFRPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImRvY3MuaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPkRldmVsb3BlciBNZW51PC9hPjwvbGk+PGxpPjxhIGhyZWY9ImJ1Z3MuaHRtbCI+UmVwb3J0aW5nIGJ1Z3MgYW5kIGdldHRpbmcgaGVscDwvYT48L2xpPjxsaT48YSBocmVmPSJoZWxwLmh0bWwiPkhvdyB0byBoZWxwPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImRvd25sb2Fkcy5odG1sIj5Eb3dubG9hZHM8L2E+PC9saT48bGk+PGEgaHJlZj0ibmV3cy5odG1sIj5SZWxlYXNlczwvYT48L2xpPjxsaT48YSBocmVmPSJYTUxpbmZvLmh0bWwiPlhNTDwvYT48L2xpPjxsaT48YSBocmVmPSJYU0xULmh0bWwiPlhTTFQ8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1sZHRkLmh0bWwiPlZhbGlkYXRpb24gJmFtcDsgRFREczwvYT48L2xpPjxsaT48YSBocmVmPSJlbmNvZGluZy5odG1sIj5FbmNvZGluZ3Mgc3VwcG9ydDwvYT48L2xpPjxsaT48YSBocmVmPSJjYXRhbG9nLmh0bWwiPkNhdGFsb2cgc3VwcG9ydDwvYT48L2xpPjxsaT48YSBocmVmPSJuYW1lc3BhY2VzLmh0bWwiPk5hbWVzcGFjZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iY29udHJpYnMuaHRtbCI+Q29udHJpYnV0aW9uczwvYT48L2xpPjxsaT48YSBocmVmPSJleGFtcGxlcy9pbmRleC5odG1sIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+Q29kZSBFeGFtcGxlczwvYT48L2xpPjxsaT48YSBocmVmPSJodG1sL2luZGV4Lmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5BUEkgTWVudTwvYT48L2xpPjxsaT48YSBocmVmPSJndWlkZWxpbmVzLmh0bWwiPlhNTCBHdWlkZWxpbmVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkNoYW5nZUxvZy5odG1sIj5SZWNlbnQgQ2hhbmdlczwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPlJlbGF0ZWQgbGlua3M8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSJodHRwOi8vbWFpbC5nbm9tZS5vcmcvYXJjaGl2ZXMveG1sLyI+TWFpbCBhcmNoaXZlPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9YU0xULyI+WFNMVCBsaWJ4c2x0PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9waGQuY3MudW5pYm8uaXQvZ2RvbWUyLyI+RE9NIGdkb21lMjwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmFsZWtzZXkuY29tL3htbHNlYy8iPlhNTC1EU2lnIHhtbHNlYzwvYT48L2xpPjxsaT48YSBocmVmPSJmdHA6Ly94bWxzb2Z0Lm9yZy8iPkZUUDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnpsYXRrb3ZpYy5jb20vcHJvamVjdHMvbGlieG1sLyI+V2luZG93cyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vb3BlbmNzdy5vcmcvcGFja2FnZXMvbGlieG1sMiI+U29sYXJpcyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmV4cGxhaW4uY29tLmF1L29zcy9saWJ4bWwyeHNsdC5odG1sIj5NYWNPc1ggYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2x4bWwuZGUvIj5seG1sIFB5dGhvbiBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vY3Bhbi51d2lubmlwZWcuY2EvZGlzdC9YTUwtTGliWE1MIj5QZXJsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWxwbHVzcGx1cy5zb3VyY2Vmb3JnZS5uZXQvIj5DKysgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56ZW5kLmNvbS9waHA1L2FydGljbGVzL3BocDUteG1scGhwLnBocCNIZWFkaW5nNCI+UEhQIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbGlieG1sMi1wYXMvIj5QYXNjYWwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbC5ydWJ5Zm9yZ2Uub3JnLyI+UnVieSBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vdGNseG1sLnNvdXJjZWZvcmdlLm5ldC8iPlRjbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2J1Z2xpc3QuY2dpP3Byb2R1Y3Q9bGlieG1sMiI+QnVnIFRyYWNrZXI8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48cD5UaGUgPGEgaHJlZj0iQ2hhbmdlTG9nLmh0bWwiPmNoYW5nZSBsb2c8L2E+IGRlc2NyaWJlcyB0aGUgcmVjZW50cyBjb21taXRzCit0byB0aGUgPGEgaHJlZj0iaHR0cDovL2dpdC5nbm9tZS5vcmcvYnJvd3NlL2xpYnhtbDIvIj5HSVQ8L2E+IGNvZGUgYmFzZS48L3A+PHA+SGVyZSBpcyB0aGUgbGlzdCBvZiBwdWJsaWMgcmVsZWFzZXM6PC9wPjxoMz4yLjkuMjogT2N0IDE2IDIwMTQ8L2gzPjx1bD4KKyAgPGxpPlNlY3VyaXR5OjxiciAvPgorICBGaXggZm9yIENWRS0yMDE0LTM2NjAgYmlsbGlvbiBsYXVnaCB2YXJpYW50IChEYW5pZWwgVmVpbGxhcmQpLDxiciAvPgorICBDVkUtMjAxNC0wMTkxIERvIG5vdCBmZXRjaCBleHRlcm5hbCBwYXJhbWV0ZXIgZW50aXRpZXMgKERhbmllbCBWZWlsbGFyZCk8YnIgLz4KKyAgPC9saT4KKworICA8bGk+QnVnIEZpeGVzOjxiciAvPgorICBmaXggbWVtb3J5IGxlYWsgeG1sIGhlYWRlciBlbmNvZGluZyBmaWVsZCB3aXRoIFhNTF9QQVJTRV9JR05PUkVfRU5DIChCYXJ0IERlIFNjaHV5bWVyKSw8YnIgLz4KKyAgeG1sbWVtb3J5OiBoYW5kbGUgcmVhbGxvYyBwcm9wZXJseSAoWWVnb3IgWWVmcmVtb3YpLDxiciAvPgorICBQeXRob24gZ2VuZXJhdG9yIGJ1ZyByYWlzZWQgYnkgdGhlIGNvbnN0IGNoYW5nZSAoRGFuaWVsIFZlaWxsYXJkKSw8YnIgLz4KKyAgV2luZG93cyBDcml0aWNhbCBzZWN0aW9ucyBub3QgcmVsZWFzZWQgY29ycmVjdGx5IChEYW5pZWwgVmVpbGxhcmQpLDxiciAvPgorICBQYXJzZXIgZXJyb3Igb24gcmVwZWF0ZWQgcmVjdXJzaXZlIGVudGl0eSBleHBhbnNpb24gY29udGFpbmluZyAmYW1wO2x0OyAoRGFuaWVsIFZlaWxsYXJkKSw8YnIgLz4KKyAgeHBvaW50ZXIgOiBmaXhpbmcgTnVsbCBQb2ludGVycyAoR2F1cmF2IEd1cHRhKSw8YnIgLz4KKyAgUmVtb3ZlIFVubmVjZXNzYXJ5IE51bGwgY2hlY2sgaW4geHBvaW50ZXIuYyAoR2F1cmF2IEd1cHRhKSw8YnIgLz4KKyAgcGFyc2VyIGJ1ZyBvbiBtaXNmb3JtZWQgbmFtZXNwYWNlIGF0dHJpYnV0ZXMgKERlbm5pcyBGaWxkZXIpLDxiciAvPgorICBQb2ludGVyIGRlcmVmZXJlbmNlZCBiZWZvcmUgbnVsbCBjaGVjayAoRGFuaWVsIFZlaWxsYXJkKSw8YnIgLz4KKyAgTGVhayBvZiBzdHJ1Y3QgYWRkcmluZm8gaW4geG1sTmFub0ZUUENvbm5lY3QoKSAoR2F1cmF2IEd1cHRhKSw8YnIgLz4KKyAgUG9zc2libGUgb3ZlcmZsb3cgaW4gSFRNTFBhcnNlci5jIChEYW5pZWwgVmVpbGxhcmQpLDxiciAvPgorICBweXRob24vdGVzdHMvc3luYy5weSBhc3N1bWVzIFB5dGhvbiBkaWN0aW9uYXJpZXMgYXJlIG9yZGVyZWQgKEpvaG4gQmVjayksPGJyIC8+CisgIEZpeCBFbnVtIGNoZWNrIGFuZCBtaXNzaW5nIGJyZWFrIChHYXVyYXYgR3VwdGEpLDxiciAvPgorICB4bWxJTzogSGFuZGxlIGVycm9yIHJldHVybnMgZnJvbSBkdXAoKSAoUGhpbGlwIFdpdGhuYWxsKSw8YnIgLz4KKyAgRml4IGEgcHJvYmxlbSBwcm9wZXJseSBzYXZpbmcgVVJJcyAoRGFuaWVsIFZlaWxsYXJkKSw8YnIgLz4KKyAgd3JvbmcgZXJyb3IgY29sdW1uIGluIHN0cnVjdHVyZWQgZXJyb3Igd2hlbiBwYXJzaW5nIGF0dHJpYnV0ZSB2YWx1ZXMgKEp1ZXJnZW4gS2VpbCksPGJyIC8+CisgIHdyb25nIGVycm9yIGNvbHVtbiBpbiBzdHJ1Y3R1cmVkIGVycm9yIHdoZW4gc2tpcHBpbmcgd2hpdGVzcGFjZSBpbiB4bWwgZGVjbCAoSnVlcmdlbiBLZWlsKSw8YnIgLz4KKyAgbm8gZXJyb3IgY29sdW1uIGluIHN0cnVjdHVyZWQgZXJyb3IgaGFuZGxlciBmb3IgeG1sIHNjaGVtYSB2YWxpZGF0aW9uIGVycm9ycyAoSnVlcmdlbiBLZWlsKSw8YnIgLz4KKyAgQ291cGxlIG9mIE1pc3NpbmcgTnVsbCBjaGVja3MgKEdhdXJhdiBHdXB0YSksPGJyIC8+CisgIEFkZCBjb3VwbGUgb2YgbWlzc2luZyBOdWxsIGNoZWNrcyAoRGFuaWVsIFZlaWxsYXJkKSw8YnIgLz4KKyAgeG1sc2NoZW1hc3R5cGVzOiBGaXggcG90ZW50aWFsIGFycmF5IG92ZXJmbG93IChQaGlsaXAgV2l0aG5hbGwpLDxiciAvPgorICBydW50ZXN0OiBGaXggYSBtZW1vcnkgbGVhayBvbiBwYXJzZSBmYWlsdXJlIChQaGlsaXAgV2l0aG5hbGwpLDxiciAvPgorICB4bWxJTzogRml4IGFuIEZEIGxlYWsgb24gZ3pkb3BlbigpIGZhaWx1cmUgKFBoaWxpcCBXaXRobmFsbCksPGJyIC8+CisgIHhtbGNhdGFsb2c6IEZpeCBhIG1lbW9yeSBsZWFrIG9uIHF1aXQgKFBoaWxpcCBXaXRobmFsbCksPGJyIC8+CisgIEhUTUxwYXJzZXI6IENvcnJlY3RseSBpbml0aWFsaXNlIGEgc3RhY2sgYWxsb2NhdGVkIHN0cnVjdHVyZSAoUGhpbGlwIFdpdGhuYWxsKSw8YnIgLz4KKyAgQ2hlY2sgZm9yIHRtb24gaW4gX3htbFNjaGVtYURhdGVBZGQoKSBpcyBpbmNvcnJlY3QgKERhdmlkIEtpbHplciksPGJyIC8+CisgIEF2b2lkIFBvc3NpYmxlIE51bGwgUG9pbnRlciBpbiB0cmlvLmMgKEdhdXJhdiBHdXB0YSksPGJyIC8+CisgIEZpeCBwcm9jZXNzaW5nIGluIFNBWDIgaW4gY2FzZSBvZiBhbiBhbGxvY2F0aW9uIGZhaWx1cmUgKERhbmllbCBWZWlsbGFyZCksPGJyIC8+CisgIFhNTCBTaGVsbCBjb21tYW5kICJjZCIgZG9lcyBub3QgaGFuZGxlICIvIiBhdCBlbmQgb2YgcGF0aCAoRGFuaWVsIFZlaWxsYXJkKSw8YnIgLz4KKyAgRml4IHZhcmlvdXMgTWlzc2luZyBOdWxsIGNoZWNrcyAoR2F1cmF2IEd1cHRhKSw8YnIgLz4KKyAgRml4IGEgcG90ZW50aWFsIE5VTEwgZGVyZWZlcmVuY2UgKERhbmllbCBWZWlsbGFyZCksPGJyIC8+CisgIEFkZCBhIGNvdXBsZSBvZiBtaXNpc25nIGNoZWNrIGluIHhtbFJlbGF4TkdDbGVhbnVwVHJlZSAoR2F1cmF2IEd1cHRhKSw8YnIgLz4KKyAgQWRkIGEgbWlzc2luZyBhcmd1bWVudCBjaGVjayAoR2F1cmF2IEd1cHRhKSw8YnIgLz4KKyAgQWRkaW5nIGEgY2hlY2sgaW4gY2FzZSBvZiBhbGxvY2F0aW9uIGVycm9yIChHYXVyYXYgR3VwdGEpLDxiciAvPgorICB4bWxTYXZlVXJpKCkgaW5jb3JyZWN0bHkgcmVjb21wb3NlcyBVUklzIHdpdGggcm9vdGxlc3MgcGF0aHMgKERlbm5pcyBGaWxkZXIpLDxiciAvPgorICBBZGRpbmcgc29tZSBtaXNzaW5nIE5VTEwgY2hlY2tzIChHYXVyYXYpLDxiciAvPgorICBGaXhlcyBmb3IgeG1sSW5pdFBhcnNlckN0eHQgKERhbmllbCBWZWlsbGFyZCksPGJyIC8+CisgIEZpeCByZWdyZXNzaW9ucyBpbnRyb2R1Y2VkIGJ5IENWRS0yMDE0LTAxOTEgcGF0Y2ggKERhbmllbCBWZWlsbGFyZCksPGJyIC8+CisgIGVycm9uZW91c2x5IGlnbm9yZXMgYSB2YWxpZGF0aW9uIGVycm9yIGlmIG5vIGVycm9yIGNhbGxiYWNrIHNldCAoRGFuaWVsIFZlaWxsYXJkKSw8YnIgLz4KKyAgeG1sbGludCB3YXMgbm90IHBhcnNpbmcgdGhlIC0tYzE0bjExIGZsYWcgKFPDqXJnaW8gQmF0aXN0YSksPGJyIC8+CisgIEF2b2lkIFBvc3NpYmxlIG51bGwgcG9pbnRlciBkZXJlZmVyZW5jZSBpbiBtZW1vcnkgZGVidWcgbW9kZSAoR2F1cmF2KSw8YnIgLz4KKyAgQXZvaWQgRG91YmxlIE51bGwgQ2hlY2sgKEdhdXJhdiksPGJyIC8+CisgIFJlc3RvcmUgY29udGV4dCBzaXplIGFuZCBwb3NpdGlvbiBhZnRlciBYUEFUSF9PUF9BUkcgKE5pY2sgV2VsbG5ob2ZlciksPGJyIC8+CisgIEZpeCB4bWxQYXJzZUluTm9kZUNvbnRleHQoKSBpZiBub2RlIGlzIG5vdCBlbGVtZW50IChEYW5pZWwgVmVpbGxhcmQpLDxiciAvPgorICBBdm9pZCBhIHBvc3NpYmxlIE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZSAoR2F1cmF2KSw8YnIgLz4KKyAgRml4IHhtbFRleHRXcml0ZXJXcml0ZUVsZW1lbnQgd2hlbiBhIG51bGwgY29udGVudCBpcyBnaXZlbiAoRGFuaWVsIFZlaWxsYXJkKSw8YnIgLz4KKyAgRml4IGFuIHR5cG8gJ29ucmVzdCcgaW4gaHRtbFNjcmlwdEF0dHJpYnV0ZXMgKERhbmllbCBWZWlsbGFyZCksPGJyIC8+CisgIGZpeGluZyBhIHB0b3RlbnRpYWwgdW5pbml0aWFsaXplZCBhY2Nlc3MgKERhbmllbCBWZWlsbGFyZCksPGJyIC8+CisgIEZpeCBhbiBmZCBsZWFrIGluIGFuIGVycm9yIGNhc2UgKERhbmllbCBWZWlsbGFyZCksPGJyIC8+CisgIE1pc3NpbmcgaW5pdGlhbGl6YXRpb24gZm9yIHRoZSBjYXRhbG9nIG1vZHVsZSAoRGFuaWVsIFZlaWxsYXJkKSw8YnIgLz4KKyAgSGFuZGxpbmcgb2YgWFBhdGggZnVuY3Rpb24gYXJndW1lbnRzIGluIGVycm9yIGNhc2UgKE5pY2sgV2VsbG5ob2ZlciksPGJyIC8+CisgIEZpeCBhIGNvdXBsZSBvZiBtaXNzaW5nIE5VTEwgY2hlY2tzIChHYXVyYXYpLDxiciAvPgorICBBdm9pZCBhIHBvc3NpYmlsaXR5IG9mIGRhbmdsaW5nIGVuY29kaW5nIGhhbmRsZXIgKEdhdXJhdiksPGJyIC8+CisgIEZpeCBIVE1MIHB1c2ggcGFyc2VyIHRvIGFjY2VwdCBIVE1MX1BBUlNFX05PREVGRFREIChBcm5vbGQgSGVuZHJpa3MpLDxiciAvPgorICBGaXggYSBidWcgbG9hZGluZyBzb21lIGNvbXByZXNzZWQgZmlsZXMgKE1pa2UgQWxleGFuZGVyKSw8YnIgLz4KKyAgRml4IFhQYXRoIG5vZGUgY29tcGFyaXNvbiBidWcgKEdhdXJhdiksPGJyIC8+CisgIFR5cGUgbWlzbWF0Y2ggaW4geG1sc2NoZW1hcy5jIChHYXVyYXYpLDxiciAvPgorICBUeXBlIG1pc21hdGNoIGluIHhtbHNjaGVtYXN0eXBlcy5jIChHYXVyYXYpLDxiciAvPgorICBBdm9pZCBhIGRlYWRjb2RlIGluIGNhdGFsb2cuYyAoRGFuaWVsIFZlaWxsYXJkKSw8YnIgLz4KKyAgcnVuIGNsb3NlIHNvY2tldCBvbiBTb2xhcmlzLCBzYW1lIGFzIHdlIGRvIG9uIG90aGVyIHBsYXRmb3JtcyAoRGVuaXMgUGF1ayksPGJyIC8+CisgIEZpeCBwb2ludGVyIGRlcmVmZXJlbmNlZCBiZWZvcmUgbnVsbCBjaGVjayAoR2F1cmF2KSw8YnIgLz4KKyAgRml4IGEgcG90ZW50aWFsIE5VTEwgZGVyZWZlcmVuY2UgaW4gdHJlZSBjb2RlIChEYW5pZWwgVmVpbGxhcmQpLDxiciAvPgorICBGaXggcG90ZW50aWFsIE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZXMgaW4gcmVnZXhwIGNvZGUgKEdhdXJhdiksPGJyIC8+CisgIHhtbGxpbnQgLS1wcmV0dHkgY3Jhc2hlZCB3aXRob3V0IGZvbGxvd2luZyBudW1lcmljIGFyZ3VtZW50IChUaW0gR2FsZWNrYXMpLDxiciAvPgorICBGaXggWFBhdGggZXhwcmVzc2lvbnMgb2YgdGhlIGZvcm0gJ0BuczoqJyAoTmljayBXZWxsbmhvZmVyKSw8YnIgLz4KKyAgRml4IFhQYXRoICcvLycgb3B0aW1pemF0aW9uIHdpdGggcHJlZGljYXRlcyAoTmljayBXZWxsbmhvZmVyKSw8YnIgLz4KKyAgQ2xlYXIgdXAgYSBwb3RlbnRpYWwgTlVMTCBkZXJlZmVyZW5jZSAoRGFuaWVsIFZlaWxsYXJkKSw8YnIgLz4KKyAgRml4IGEgcG9zc2libGUgTlVMTCBkZXJlZmVyZW5jZSAoR2F1cmF2KSw8YnIgLz4KKyAgQXZvaWQgY3Jhc2ggaWYgYWxsb2NhdGlvbiBmYWlscyAoRGFuaWVsIFZlaWxsYXJkKSw8YnIgLz4KKyAgUmVtb3ZlIG9jY2FzaW9uYWwgbGVhZGluZyBzcGFjZSBpbiBYUGF0aCBudW1iZXIgZm9ybWF0dGluZyAoRGFuaWVsIFZlaWxsYXJkKSw8YnIgLz4KKyAgRml4IGhhbmRsaW5nIG9mIG1tYXAgZXJyb3JzIChEYW5pZWwgVmVpbGxhcmQpLDxiciAvPgorICBDYXRjaCBtYWxsb2MgZXJyb3IgYW5kIGV4aXQgYWNjb3JkaW5nbHkgKERhbmllbCBWZWlsbGFyZCksPGJyIC8+CisgIG1pc3NpbmcgZWxzZSBpbiB4bGluay5jIChBbWkgRmlzY2htYW4pLDxiciAvPgorICBGaXggYSBwYXJzaW5nIGJ1ZyBvbiBub24tYXNjaWkgZWxlbWVudCBhbmQgQ1IvTEYgdXNhZ2UgKERhbmllbCBWZWlsbGFyZCksPGJyIC8+CisgIEZpeCBhIHJlZ3Jlc3Npb24gaW4geG1sR2V0RG9jQ29tcHJlc3NNb2RlKCkgKERhbmllbCBWZWlsbGFyZCksPGJyIC8+CisgIHByb3Blcmx5IHF1b3RlIHRoZSBuYW1lc3BhY2UgdXJpcyB3cml0dGVuIG91dCBkdXJpbmcgYzE0biAoQWxla3NleSBTYW5pbiksPGJyIC8+CisgIFJlbW92ZSBwcmVtYXR1cmUgWEluY2x1ZGUgY2hlY2sgb24gVVJJIGJlaW5nIHJlbGF0aXZlIChBbGV4ZXkgTmV5bWFuKSw8YnIgLz4KKyAgRml4IG1pc3NpbmcgYnJlYWsgb24gbGFzdCgpIGZ1bmN0aW9uIGZvciBhdHRyaWJ1dGVzIChkY2IpLDxiciAvPgorICBEbyBub3QgVVJJIGVzY2FwZSBpbiBzZXJ2ZXIgc2lkZSBpbmNsdWRlcyAoUm9tYWluIEJvbmR1ZSksPGJyIC8+CisgIEZpeCBhbiBlcnJvciBpbiB4bWxDbGVhbnVwUGFyc2VyIChBbGV4YW5kZXIgUGFzdHVraG92KTxiciAvPgorICA8L2xpPgorCisgIDxsaT5Eb2N1bWVudGF0aW9uOjxiciAvPgorICB0eXBvIGluIGVycm9yIG1lc3NhZ2VzICJjb2xvbiBhcmUgZm9yYmlkZGVuIGZyb20uLi4iIChEYW5pZWwgVmVpbGxhcmQpLDxiciAvPgorICBGaXggYSBsaW5rIHRvIEphbWVzIFNBWCBkb2N1bWVudGF0aW9uIG9sZCBwYWdlIChEYW5pZWwgVmVpbGxhcmQpLDxiciAvPgorICBGaXggdHlwb3MgaW4gcmVsYXhuZy5jIChKYW4gUG9rb3Juw70pLDxiciAvPgorICBGaXggYSBkb2MgdHlwbyAoRGFuaWVsIFZlaWxsYXJkKSw8YnIgLz4KKyAgRml4IHR5cG9zIGluIHt0cmVlLHhwYXRofS5jIChlcnJyb3IpIChKYW4gUG9rb3Juw70pLDxiciAvPgorICBBZGQgbGltaXRhdGlvbnMgYWJvdXQgZW5jb2RpbmcgY29udmVyc2lvbiAoRGFuaWVsIFZlaWxsYXJkKSw8YnIgLz4KKyAgRml4IHR5cG9zIGluIHhtbHNjaGVtYXN7LHR5cGVzfS5jIChKYW4gUG9rb3Juw70pLDxiciAvPgorICBGaXggaW5jb3JyZWN0IHNwZWxsaW5nIGVudGl0ZXMtJmd0O2VudGl0aWVzIChKYW4gUG9rb3Juw70pLDxiciAvPgorICBGb3Jnb3QgdG8gZG9jdW1lbnQgMi45LjEgcmVsZWFzZSwgcmVnZW5lcmF0ZSBkb2NzIChEYW5pZWwgVmVpbGxhcmQpPGJyIC8+CisgIDwvbGk+CisKKyAgPGxpPlBvcnRhYmlsaXR5OjxiciAvPgorICBBQ19DT05GSUdfRklMRVMgYW5kIGV4ZWN1dGFibGUgYml0IChSb3VtZW4gUGV0cm92KSw8YnIgLz4KKyAgcmVtb3ZlIEhBVkVfQ09ORklHX0ggZGVwZW5kZW5jeSBpbiB0ZXN0bGltaXRzLmMgKFJvdW1lbiBQZXRyb3YpLDxiciAvPgorICBmaXggc29tZSB0YWJzIG1peGluZyBpbmNvbXBhdGlibGUgd2l0aCBweXRob24zIChSb3VtZW4gUGV0cm92KSw8YnIgLz4KKyAgVmlzdWFsIFN0dWRpbyAxNCBDVFAgZGVmaW5lcyBzbnByaW50ZigpIChGcmFuY2lzIER1cG9udCksPGJyIC8+CisgIE9TNDAwOiBkbyBub3QgdHJ5IHRvIGNvcHkgdW5leGlzdGluZyBkb2MgZmlsZXMgKFBhdHJpY2sgTW9ubmVyYXQpLDxiciAvPgorICBPUzQwMDogdXNlIGVpdGhlciBjb25maWd1cmUuYWMgb3IgY29uZmlndXJlLmluLiAoUGF0cmljayBNb25uZXJhdCksPGJyIC8+CisgIG9zNDAwOiBtYWtlLXNyYy5zaDogY3JlYXRlIHBoeXNpY2FsIGZpbGUgd2l0aCB0YXJnZXQgQ0NTSUQgKFBhdHJpY2sgTW9ubmVyYXQpLDxiciAvPgorICBPUzQwMDogQWRkIHNvbWUgbW9yZSBDIG1hY3JvcyBlcXVpdmFsZW50IHByb2NlZHVyZXMuIChQYXRyaWNrIE1vbm5lcmF0KSw8YnIgLz4KKyAgT1M0MDA6IHVzZSBDIG1hY3JvcyB0byBpbXBsZW1lbnQgZXF1aXZhbGVudCBSUEcgc3VwcG9ydCBwcm9jZWR1cmVzLiAoUGF0cmljayBNb25uZXJhdCksPGJyIC8+CisgIE9TNDAwOiBpbXBsZW1lbnQgWFBhdGggbWFjcm9zIGFzIHByb2NlZHVyZXMgZm9yIElMRS9SUEcgc3VwcG9ydC4gKFBhdHJpY2sgTW9ubmVyYXQpLDxiciAvPgorICBPUzQwMDogaW5jbHVkZSBpbiBkaXN0cmlidXRpb24gdGFyYmFsbC4gKFBhdHJpY2sgTW9ubmVyYXQpLDxiciAvPgorICBPUzQwMDogQWRkIFJFQURNRTogY29tcGlsYXRpb24gZGlyZWN0aXZlcyBhbmQgT1MvNDAwIHNwZWNpZmljIHN0dWZmLiAoUGF0cmljayBNb25uZXJhdCksPGJyIC8+CisgIE9TNDAwOiBBZGQgY29tcGlsYXRpb24gc2NyaXB0cy4gKFBhdHJpY2sgTW9ubmVyYXQpLDxiciAvPgorICBPUzQwMDogSUxFIFJQRyBsYW5ndWFnZSBoZWFkZXIgZmlsZXMuIChQYXRyaWNrIE1vbm5lcmF0KSw8YnIgLz4KKyAgT1M0MDA6IGltcGxlbWVudCBzb21lIG1hY3JvcyBhcyBmdW5jdGlvbnMgZm9yIElMRS9SUEcgbGFuZ3VhZ2Ugc3VwcG9ydCAodGhhdCBhcyBubyBtYWNyb3MpLiAoUGF0cmljayBNb25uZXJhdCksPGJyIC8+CisgIE9TNDAwOiBVVEY4Jmx0Oy0tJmd0O0VCQ0RJQyB3cmFwcGVycyBmb3Igc3lzdGVtIGFuZCBleHRlcm5hbCBsaWJyYXJ5IGNhbGxzIChQYXRyaWNrIE1vbm5lcmF0KSw8YnIgLz4KKyAgT1M0MDA6IEVhc3kgY2hhcmFjdGVyIHRyYW5zY29kaW5nIHN1cHBvcnQgKFBhdHJpY2sgTW9ubmVyYXQpLDxiciAvPgorICBPUzQwMDogaWNvbnYgZnVuY3Rpb25zIGNvbXBhdGliaWxpdHkgd3JhcHBlcnMgYW5kIHRhYmxlIGJ1aWxkZXIuIChQYXRyaWNrIE1vbm5lcmF0KSw8YnIgLz4KKyAgT1M0MDA6IGNyZWF0ZSBhcmNoaXRlY3R1cmUgZGlyZWN0b3J5LiBJbXBsZW1lbnQgZGxmY24gZW11bGF0aW9uLiAoUGF0cmljayBNb25uZXJhdCksPGJyIC8+CisgIEZpeCBidWlsZGluZyB3aGVuIGNvbmZpZ3VyaW5nIHdpdGhvdXQgeHBhdGggYW5kIHhwdHIgKERhbmllbCBWZWlsbGFyZCksPGJyIC8+CisgIGNvbmZpZ3VyZTogQWRkIC0td2l0aC1weXRob24taW5zdGFsbC1kaXIgKEpvbmFzIEVyaWtzc29uKSw8YnIgLz4KKyAgRml4IGNvbXBpbGF0aW9uIHdpdGggbWluaW11bSBhbmQgeGluY2x1ZGUuIChOaWNvbGFzIExlIENhbSksPGJyIC8+CisgIENvbXBpbGUgb3V0IHVzZSBvZiB4bWxWYWxpZGF0ZU5DTmFtZSgpIHdoZW4gbm90IGF2YWlsYWJsZS4gKE5pY29sYXMgTGUgQ2FtKSw8YnIgLz4KKyAgRml4IGNvbXBpbGF0aW9uIHdpdGggbWluaW11bSBhbmQgc2NoZW1hdHJvbi4gKE5pY29sYXMgTGUgQ2FtKSw8YnIgLz4KKyAgTGVnYWN5IG5lZWRzIHhtbFNBWDJTdGFydEVsZW1lbnQoKSBhbmQgeG1sU0FYMkVuZEVsZW1lbnQoKS4gKE5pY29sYXMgTGUgQ2FtKSw8YnIgLz4KKyAgRG9uJ3QgdXNlIHhtbFZhbGlkYXRlTmFtZSgpIHdoZW4gbm90IGF2YWlsYWJsZS4gKE5pY29sYXMgTGUgQ2FtKSw8YnIgLz4KKyAgRml4IGEgcG9ydGFiaWxpdHkgaXNzdWUgb24gV2luZG93cyAoTG9uZ3N0cmV0aCBKb24pLDxiciAvPgorICBWYXJpb3VzIHBvcnRhYmlsaXR5IHBhdGNoZXMgZm9yIE9wZW5WTVMgKEphY29iIChKb3VrKSBKYW5zZW4pLDxiciAvPgorICBVc2Ugc3BlY2lmaWMgbWFjcm9zIGZvciBwb3J0YWJpbGl0eSB0byBPUy80MDAgKFBhdHJpY2sgTW9ubmVyYXQpLDxiciAvPgorICBBZGQgbWFjcm9zIG5lZWRlZCBmb3IgT1MvNDAwIHBvcnRhYmlsaXR5IChQYXRyaWNrIE1vbm5lcmF0KSw8YnIgLz4KKyAgUG9ydGFiaWxpdHkgcGF0Y2ggZm9yIGZvcGVuIG9uIE9TLzQwMCAoUGF0cmljayBNb25uZXJhdCksPGJyIC8+CisgIFBvcnRhYmlsaXR5IGZpeGVzIGZvciBPUy80MDAgKFBhdHJpY2sgTW9ubmVyYXQpLDxiciAvPgorICBJbXByb3ZlIHZhX2xpc3QgcG9ydGFiaWxpdHkgKFBhdHJpY2sgTW9ubmVyYXQpLDxiciAvPgorICBQb3J0YWJpbGl0eSBmaXggKFBhdHJpY2sgTW9ubmVyYXQpLDxiciAvPgorICBQb3J0YWJpbGl0eSBmaXggKFBhdHJpY2sgTW9ubmVyYXQpLDxiciAvPgorICBHZW5lcmljIHBvcnRhYmlsaXR5IGZpeCAoUGF0cmljayBNb25uZXJhdCksPGJyIC8+CisgIFNob3J0ZW5pbmcgbGluZXMgaW4gaGVhZGVycyAoUGF0cmljayBNb25uZXJhdCksPGJyIC8+CisgIGJ1aWxkOiBVc2UgcGtnLWNvbmZpZyB0byBmaW5kIGxpYmx6bWEgaW4gcHJlZmVyZW5jZSB0byBBQ19DSEVDS19MSUIgKFBoaWxpcCBXaXRobmFsbCksPGJyIC8+CisgIGJ1aWxkOiBBZGQgQExaTUFfTElCU0AgdG8gbGlieG1s4oCZcyBwa2ctY29uZmlnIGZpbGVzIChQaGlsaXAgV2l0aG5hbGwpLDxiciAvPgorICBmaXggc29tZSB0YWJzIG1peGluZyBpbmNvbXBhdGlibGUgd2l0aCBweXRob24zIChEYW5pZWwgVmVpbGxhcmQpLDxiciAvPgorICBhZGQgYWRkaXRpb25hbCBkZWZpbmVzIGNoZWNrcyBmb3Igc3VwcG9ydCAiLi9jb25maWd1cmUgLS13aXRoLW1pbmltdW0iIChEZW5pcyBQYXVrKSw8YnIgLz4KKyAgQW5vdGhlciByb3VuZCBvZiBmaXhlcyBmb3Igb2xkZXIgdmVyc2lvbnMgb2YgUHl0aG9uIChBcmZyZXZlciBGcmVodGVzIFRhaWZlcnNhciBBcmFoZXNpcyksPGJyIC8+CisgIHB5dGhvbjogZml4IGRydl9saWJ4bWwyLnB5IGZvciBweXRob24zIGNvbXBhdGliaWxpdHkgKEFsZXhhbmRyZSBSb3N0b3Z0c2V2KSw8YnIgLz4KKyAgcHl0aG9uOiBGaXggY29tcGlsZXIgd2FybmluZ3Mgd2hlbiBidWlsZGluZyBweXRob24zIGJpbmRpbmdzIChBcm1pbiBLKSw8YnIgLz4KKyAgRml4IGZvciBjb21waWxhdGlvbiB3aXRoIHB5dGhvbiAyLjYuOCAoUGV0ciBTdW1iZXJhKTxiciAvPgorICA8L2xpPgorCisgIDxsaT5JbXByb3ZlbWVudHM6PGJyIC8+CisgIHdpbjMyL2xpYnhtbDIuZGVmLnNyYyBhZnRlciByZWJ1aWxkIGluIGRvYyAoUm91bWVuIFBldHJvdiksPGJyIC8+CisgIGVsZmdjY2hhY2suaDogbW9yZSBsZWdhY3kgbmVlZHMgeG1sU0FYMlN0YXJ0RWxlbWVudCgpIGFuZCB4bWxTQVgyRW5kRWxlbWVudCgpIChSb3VtZW4gUGV0cm92KSw8YnIgLz4KKyAgZWxmZ2NjaGFjay5oOiBhZGQgeG1sWFBhdGhOb2RlRXZhbCBhbmQgeG1sWFBhdGhTZXRDb250ZXh0Tm9kZSAoUm91bWVuIFBldHJvdiksPGJyIC8+CisgIFByb3ZpZGUgY21ha2UgbW9kdWxlIChTYW11ZWwgTWFydGluKSw8YnIgLz4KKyAgRml4IGEgY291cGxlIG9mIGlzc3VlcyByYWlzZWQgYnkgbWFrZSBkaXN0IChEYW5pZWwgVmVpbGxhcmQpLDxiciAvPgorICBGaXggYW5kIGFkZCBjb25zdCBxdWFsaWZpZXJzIChLdXJ0IFJvZWNreCksPGJyIC8+CisgIFByZXBhcmluZyBmb3IgdXBjb21pbmcgcmVsZWFzZSBvZiAyLjkuMiAoRGFuaWVsIFZlaWxsYXJkKSw8YnIgLz4KKyAgRml4IHpsaWIgYW5kIGx6bWEgbGlicmFyaWVzIGNoZWNrIHZpYSBjb21tYW5kIGxpbmUgKERtaXRyaXkpLDxiciAvPgorICB3cm9uZyBlcnJvciBjb2x1bW4gaW4gc3RydWN0dXJlZCBlcnJvciB3aGVuIHBhcnNpbmcgZW5kIHRhZyAoSnVlcmdlbiBLZWlsKSw8YnIgLz4KKyAgZG9jL25ld3MuaHRtbDogc21hbGwgdXBkYXRlIHRvIGF2b2lkIGxpbmUgam9pbiB3aGlsZSBnZW5lcmF0aW5nIE5FV1MuIChQYXRyaWNrIE1vbm5lcmF0KSw8YnIgLz4KKyAgQWRkIG1ldGhvZHMgZm9yIHB5dGhvbjMgaXRlcmF0b3IgKFJvbiBBbmdlbGVzKSw8YnIgLz4KKyAgU3VwcG9ydCBlbGVtZW50IG5vZGUgdHJhdmVyc2FsIGluIGRvY3VtZW50IGZyYWdtZW50cy4gKEt5bGUgVmFuZGVyQmVlayksPGJyIC8+CisgIHhtbE5vZGVTZXROYW1lOiBBbGxvdyBzZXR0aW5nIHRoZSBuYW1lIHRvIGEgc3Vic3RyaW5nIG9mIHRoZSBjdXJyZW50bHkgc2V0IG5hbWUgKFRyaXN0YW4gVmFuIEJlcmtvbSksPGJyIC8+CisgIEFkZGVkIG1hY3JvcyBmb3IgYXJndW1lbnQgY2FzdHMgKEVyaWMgWnVyY2hlciksPGJyIC8+CisgIGFkZGluZyBpbml0IGNhbGxzIHRvIHhtbCBhbmQgaHRtbCBSZWFkIHBhcnNpbmcgZW50cnkgcG9pbnRzIChEYW5pZWwgVmVpbGxhcmQpLDxiciAvPgorICBHZXQgcmlkIG9mICdSRVBMQUNFTUVOVCBDSEFSQUNURVInIFVuaWNvZGUgY2hhcnMgaW4geG1sc2NoZW1hcy5jIChKYW4gUG9rb3Juw70pLDxiciAvPgorICBJbXBsZW1lbnQgY2hvaWNlIGZvciBuYW1lIGNsYXNzZXMgb24gYXR0cmlidXRlcyAoU2hhdW4gTWNDYW5jZSksPGJyIC8+CisgIFR3byBzbWFsbCBuYW1lc3BhY2UgdHdlYWtzIChEYW5pZWwgVmVpbGxhcmQpLDxiciAvPgorICB4bWxsaW50IC0tbWVtb3J5IHNob3VsZCBmYWlsIG9uIGVtcHR5IGZpbGVzIChEYW5pZWwgVmVpbGxhcmQpLDxiciAvPgorICBDYXN0IGVuY29kaW5nIG5hbWUgdG8gY2hhciBwb2ludGVyIHRvIG1hdGNoIGFyZyB0eXBlIChOaWtvbGF5IFNpdm92KTxiciAvPgorICA8L2xpPgorCisgIDxsaT5DbGVhbnVwczo8YnIgLz4KKyAgUmVtb3ZhbCBvZiBvbGQgY29uZmlndXJlLmluIChEYW5pZWwgVmVpbGxhcmQpLDxiciAvPgorICBVbnJlYWNoYWJsZSBjb2RlIGluIHRyZWUuYyAoR2F1cmF2IEd1cHRhKSw8YnIgLz4KKyAgUmVtb3ZlIGEgY291cGxlIG9mIGRlYWQgY29uZGl0aW9ucyAoR2F1cmF2IEd1cHRhKSw8YnIgLz4KKyAgQXZvaWQgc29tZSBkZWFkIGNvZGUgYW5kIGNsZWFudXAgaW4gcmVsYXhuZy5jIChHYXVyYXYpLDxiciAvPgorICBEcm9wIG5vdCBuZWVkZWQgY2hlY2tzIChEZW5pcyBQYXVrKSw8YnIgLz4KKyAgRml4IGEgd3JvbmcgdGVzdCAoRGFuaWVsIFZlaWxsYXJkKTxiciAvPgorICA8L2xpPgorPC91bD48aDM+Mi45LjE6IEFwciAxOSAyMDEzPC9oMz48dWw+CisgIDxsaT4gRmVhdHVyZXM6PGJyIC8+CisgICAgU3VwcG9ydCBmb3IgUHl0aG9uMyAoRGFuaWVsIFZlaWxsYXJkKSw8YnIgLz4KKyAgICBBZGQgeG1sWFBhdGhTZXRDb250ZXh0Tm9kZSBhbmQgeG1sWFBhdGhOb2RlRXZhbCAoQWxleCBCbGlnaCk8YnIgLz4KKyAgPC9saT4KKworICA8bGk+IERvY3VtZW50YXRpb246PGJyIC8+CisgICAgQWRkIGRvY3VtZW50YXRpb24gZm9yIHhtbGxpbnQgLS14cGF0aCAoRGFuaWVsIFZlaWxsYXJkKSw8YnIgLz4KKyAgICBGaXggdGhlIFVSTCBvZiB0aGUgU0FYIGRvY3VtZW50YXRpb24gZnJvbSBKYW1lcyAoRGFuaWVsIFZlaWxsYXJkKSw8YnIgLz4KKyAgICBGaXggc3BlbGxpbmcgb2YgImxlbmd0aCIuIChNaWNoYWVsIFdvb2QpPGJyIC8+CisgIDwvbGk+CisKKyAgPGxpPiBQb3J0YWJpbGl0eTo8YnIgLz4KKyAgICBGaXggcHl0aG9uIGJpbmRpbmdzIHdpdGggdmVyc2lvbnMgb2xkZXIgdGhhbiAyLjcgKERhbmllbCBWZWlsbGFyZCksPGJyIC8+CisgICAgcmVidWlsZCBkb2NzOk1ha2VmaWxlLmFtIChSb3VtZW4gUGV0cm92KSw8YnIgLz4KKyAgICBlbGZnY2NoYWNrLmggYWZ0ZXIgcmVidWlsZCBpbiBkb2MgKFJvdW1lbiBQZXRyb3YpLDxiciAvPgorICAgIGVsZmdjY2hhY2sgZm9yIGJ1ZiBtb2R1bGUgKFJvdW1lbiBQZXRyb3YpLDxiciAvPgorICAgIEZpeCBhIHVuZWVkZWQgYW5kIHdyb25nIGV4dHJhIGxpbmsgcGFyYW1ldGVyIChEYW5pZWwgVmVpbGxhcmQpLDxiciAvPgorICAgIEZldyBjbGVhbnVwIHBhdGNoZXMgZm9yIFdpbmRvd3MgKERlbmlzIFBhdWspLDxiciAvPgorICAgIEZpeCBycG1idWlsZCAtLW5vY2hlY2sgKE1hcmsgU2FsdGVyKSw8YnIgLz4KKyAgICBGaXggZm9yIHdpbjMyL2NvbmZpZ3VyZS5qcyBhbmQgV0lUSF9USFJFQURfQUxMT0MgKERhbmllbCBSaWNoYXJkKSw8YnIgLz4KKyAgICBGaXggQnJva2VuIG11bHRpLWFyY2ggc3VwcG9ydCBpbiB4bWwyLWNvbmZpZyAoRGFuaWVsIFZlaWxsYXJkKSw8YnIgLz4KKyAgICBGaXggYSBwb3J0YWJpbGl0eSBpc3N1ZSBmb3IgR0NDICZsdDsgMy40LjAgKERhbmllbCBWZWlsbGFyZCksPGJyIC8+CisgICAgV2luZG93cyBidWlsZCBmaXhlcyAoRGFuaWVsIFJpY2hhcmQpLDxiciAvPgorICAgIEZpeCBhIHRocmVhZCBwb3J0YWJpbGl0eSBwcm9ibGVtIChGcmllZHJpY2ggSGF1YmVuc2FrKSw8YnIgLz4KKyAgICBEb3duZ3JhZGUgYXV0b2NvbmYgcmVxdWlyZW1lbnQgdG8gMi42MyAoRGFuaWVsIFZlaWxsYXJkKTxiciAvPgorICA8L2xpPgorCisgIDxsaT4gQnVnIEZpeGVzOjxiciAvPgorICAgIEZpeCBhIGxpbmtpbmcgZXJyb3IgZm9yIHB5dGhvbiBiaW5kaW5ncyAoRGFuaWVsIFZlaWxsYXJkKSw8YnIgLz4KKyAgICBGaXggYSBjb3VwbGUgb2YgcmV0dXJuIHdpdGhvdXQgdmFsdWUgKErDvHJpIEFlZGxhKSw8YnIgLz4KKyAgICBJbXByb3ZlIHRoZSBoYXNoaW5nIGZ1bmN0aW9ucyAoRGFuaWVsIEZyYW5rZSksPGJyIC8+CisgICAgSW1wcm92ZSBoYW5kbGluZyBvZiB4bWxTdG9wUGFyc2VyKCkgKERhbmllbCBWZWlsbGFyZCksPGJyIC8+CisgICAgUmVtb3ZlIHJpc2sgb2YgbG9ja3VwIGluIGRpY3Rpb25hcnkgaW5pdGlhbGl6YXRpb24gKERhbmllbCBWZWlsbGFyZCksPGJyIC8+CisgICAgQWN0aXZhdGUgZGV0ZWN0aW9uIG9mIGVuY29kaW5nIGluIGV4dGVybmFsIHN1YnNldCAoRGFuaWVsIFZlaWxsYXJkKSw8YnIgLz4KKyAgICBGaXggYW4gb3V0cHV0IGJ1ZmZlciBmbHVzaGluZyBjb252ZXJzaW9uIGJ1ZyAoTWlraGFpbCBUaXRvdiksPGJyIC8+CisgICAgRml4IGFuIG9sZCBidWcgaW4geG1sU2NoZW1hVmFsaWRhdGVPbmVFbGVtZW50IChDc2FiYSBMw6FzemzDsyksPGJyIC8+CisgICAgRml4IGNvbmZpZ3VyZSBjYW5ub3QgcmVtb3ZlIG1lc3NhZ2VzIChHaWxsZXMgRXNwaW5hc3NlKSw8YnIgLz4KKyAgICBmaXggc2NoZW1hIHZhbGlkYXRpb24gaW4gY29tYmluYXRpb24gd2l0aCB4c2k6bmlsIChEYW5pZWwgVmVpbGxhcmQpLDxiciAvPgorICAgIHhtbEN0eHRSZWFkRmlsZSBkb2Vzbid0IHdvcmsgd2l0aCBsaXRlcmFsIElQdjYgVVJMcyAoU3RldmUgV29sZiksPGJyIC8+CisgICAgRml4IGEgZmV3IHByb2JsZW1zIHdpdGggc2V0RW50aXR5TG9hZGVyIChBbGV4ZXkgTmV5bWFuKSw8YnIgLz4KKyAgICBEZXRlY3QgZXhjZXNzaXZlIGVudGl0aWVzIGV4cGFuc2lvbiB1cG9uIHJlcGxhY2VtZW50IChEYW5pZWwgVmVpbGxhcmQpLDxiciAvPgorICAgIEZpeCB0aGUgZmx1c2hpbmcgb3V0IG9mIHJhdyBidWZmZXJzIG9uIGVuY29kaW5nIGNvbnZlcnNpb25zIChEYW5pZWwsPGJyIC8+CitWZWlsbGFyZCksPGJyIC8+CisgICAgRml4IHNvbWUgYnVmZmVyIGNvbnZlcnNpb24gaXNzdWVzIChEYW5pZWwgVmVpbGxhcmQpLDxiciAvPgorICAgIFdoZW4gY2FsbGluZyB4bWxOb2RlRHVtcCBtYWtlIHN1cmUgd2UgZ3JvdyB0aGUgYnVmZmVyIHF1aWNrbHkgKERhbmllbCw8YnIgLz4KK1ZlaWxsYXJkKSw8YnIgLz4KKyAgICBGaXggYW4gZXJyb3IgaW4gdGhlIHByb2dyZXNzaXZlIERURCBwYXJzaW5nIGNvZGUgKERhbiBXaW5zaGlwKSw8YnIgLz4KKyAgICB4bWxsaW50IHNob3VsZCBub3QgbG9hZCBEVEQgYnkgZGVmYXVsdCB3aGVuIHVzaW5nIHRoZSByZWFkZXIgKERhbmllbCw8YnIgLz4KK1ZlaWxsYXJkKSw8YnIgLz4KKyAgICBUcnkgSUJNLTAzNyB3aGVuIGxvb2tpbmcgZm9yIEVCQ0RJQyBoYW5kbGVycyAoUGV0ciBTdW1iZXJhKSw8YnIgLz4KKyAgICBGaXggcG90ZW50aWFsIG91dCBvZiBib3VuZCBhY2Nlc3MgKERhbmllbCBWZWlsbGFyZCksPGJyIC8+CisgICAgRml4IGxhcmdlIHBhcnNlIG9mIGZpbGUgZnJvbSBtZW1vcnkgKERhbmllbCBWZWlsbGFyZCksPGJyIC8+CisgICAgRml4IGEgYnVnIGluIHRoZSBuc2NsZWFuIG9wdGlvbiBvZiB0aGUgcGFyc2VyIChEYW5pZWwgVmVpbGxhcmQpLDxiciAvPgorICAgIEZpeCBhIHJlZ3Jlc3Npb24gaW4gMi45LjAgYnJlYWtpbmcgdmFsaWRhdGlvbiB3aGlsZSBzdHJlYW1pbmcgKERhbmllbCw8YnIgLz4KK1ZlaWxsYXJkKSw8YnIgLz4KKyAgICBSZW1vdmUgcG90ZW50aWFsIGNhbGxzIHRvIGV4aXQoKSAoRGFuaWVsIFZlaWxsYXJkKTxiciAvPgorICA8L2xpPgorCisgIDxsaT4gSW1wcm92ZW1lbnRzOjxiciAvPgorICAgIFJlZ2VuZXJhdGVkIEFQSSwgYW5kIHRlc3RhcGksIHJlYnVpbGQgZG9jdW1lbnRhdGlvbiAoRGFuaWVsIFZlaWxsYXJkKSw8YnIgLz4KKyAgICBGaXggdHJlZSBpdGVyYXRvcnMgYnJva2VuIGJ5IDJ0bzMgc2NyaXB0IChEYW5pZWwgVmVpbGxhcmQpLDxiciAvPgorICAgIHVwZGF0ZSBhbGwgdGVzdHMgZm9yIFB5dGhvbjMgYW5kIFB5dGhvbjIgKERhbmllbCBWZWlsbGFyZCksPGJyIC8+CisgICAgQSBmZXcgbW9yZSBmaXhlcyBmb3IgcHl0aG9uIDMgYWZmZWN0aW5nIGxpYnhtbDIucHkgKERhbmllbCBWZWlsbGFyZCksPGJyIC8+CisgICAgRml4IGNvbXBpbGF0aW9uIG9uIFB5dGhvbjMgKERhbmllbCBWZWlsbGFyZCksPGJyIC8+CisgICAgQ29udmVydGluZyBhcGlidWlsZC5weSB0byBweXRob24zIChEYW5pZWwgVmVpbGxhcmQpLDxiciAvPgorICAgIEZpcnN0IHBhc3MgYXQgc3RhcnRpbmcgcG9ydGluZyB0byBweXRob24zIChEYW5pZWwgVmVpbGxhcmQpLDxiciAvPgorICAgIHVwZGF0ZWQgY29uZmlndXJlLmluIGZvciBweXRob24zIChEYW5pZWwgVmVpbGxhcmQpLDxiciAvPgorICAgIEFkZCBzdXBwb3J0IGZvciB4cGF0aFJlZ2lzdGVyVmFyaWFibGUgaW4gUHl0aG9uIChTaGF1biBNY0NhbmNlKSw8YnIgLz4KKyAgICBBZGRlZCBhIHJlZ3Jlc3Npb24gdGVzdHMgZnJvbSBidWcgNjk0MjI4IGRhdGEgKERhbmllbCBWZWlsbGFyZCksPGJyIC8+CisgICAgQ2FjaGUgcHJlc2VuY2Ugb2YgJyZsdDsnIGluIGVudGl0aWVzIGNvbnRlbnQgKERhbmllbCBWZWlsbGFyZCksPGJyIC8+CisgICAgQXZvaWQgZXh0cmEgcHJvY2Vzc2luZyBvbiBlbnRpdGllcyAoRGFuaWVsIFZlaWxsYXJkKSw8YnIgLz4KKyAgICBQeXRob24gYmluZGluZyBmb3IgeG1sUmVnaXN0ZXJJbnB1dENhbGxiYWNrIChBbGV4ZXkgTmV5bWFuKSw8YnIgLz4KKyAgICBQeXRob24gYmluZGluZ3M6IERPTSBjYXN0cyBldmVyeXRoaW5nIHRvIHhtbE5vZGUgKEFsZXhleSBOZXltYW4pLDxiciAvPgorICAgIERlZmluZSBMSUJYTUxfVEhSRUFEX0FMTE9DX0VOQUJMRUQgdmlhIHhtbHZlcnNpb24uaCAoVGltIFN0YXJsaW5nKSw8YnIgLz4KKyAgICBBZGRpbmcgc3RyZWFtaW5nIHZhbGlkYXRpb24gdG8gcnVudGVzdCBjaGVja3MgKERhbmllbCBWZWlsbGFyZCksPGJyIC8+CisgICAgQWRkIGEgLS1wdXNoc21hbGwgb3B0aW9uIHRvIHhtbGxpbnQgKERhbmllbCBWZWlsbGFyZCk8YnIgLz4KKyAgPC9saT4KKworICA8bGk+IENsZWFudXBzOjxiciAvPgorICAgIFN3aXRjaGVkIGNvbW1lbnQgaW4gZmlsZSB0byBVVEYtOCBlbmNvZGluZyAoRGFuaWVsIFZlaWxsYXJkKSw8YnIgLz4KKyAgICBFeHRlbmQgZ2l0aWdub3JlIChEYW5pZWwgVmVpbGxhcmQpLDxiciAvPgorICAgIFNpbGVudCB0aGUgbmV3IHB5dGhvbiB0ZXN0IG9uIGlucHV0IChBbGV4ZXkgTmV5bWFuKSw8YnIgLz4KKyAgICBDbGVhbnVwIG9mIGEgZHVwbGljYXRlIHRlc3QgKERhbmllbCBWZWlsbGFyZCksPGJyIC8+CisgICAgQ2xlYW51cCBvbiBkdXBsaWNhdGUgdGVzdCBleHByZXNzaW9ucyAoRGFuaWVsIFZlaWxsYXJkKSw8YnIgLz4KKyAgICBGaXggY29tcGlsZXIgd2FybmluZyBhZnRlciAxNTNjZjE1OTA1Y2Y0ZWMwODA2MTJhZGE2NzAzNzU3ZDEwY2FiYTFlIChQYXRyaWNrLDxiciAvPgorR2Fuc3RlcmVyKSw8YnIgLz4KKyAgICBTcGVjIGNsZWFudXBzIGFuZCBhIGZpeCBmb3IgbXVsdGlhcmNoIHN1cHBvcnQgKERhbmllbCBWZWlsbGFyZCksPGJyIC8+CisgICAgU2lsZW5jZSBhIGNsYW5nIHdhcm5pbmcgKERhbmllbCBWZWlsbGFyZCksPGJyIC8+CisgICAgQ2xlYW51cCB0aGUgQ29weXJpZ2h0IHRvIGJlIHB1cmUgTUlUIExpY2VuY2Ugd29yZGluZyAoRGFuaWVsIFZlaWxsYXJkKSw8YnIgLz4KKyAgICByYW5kX3NlZWQgc2hvdWxkIGJlIHN0YXRpYyBpbiBkaWN0LmMgKFdvdXRlciBWYW4gUm9veSksPGJyIC8+CisgICAgRml4IHR5cG9zIGluIHBhcnNlciBjb21tZW50cyAoSmFuIFBva29ybsO9KTxiciAvPgorICA8L2xpPgorPC91bD48aDM+Mi45LjA6IFNlcCAxMSAyMDEyPC9oMz48dWw+CisgIDxsaT4gRmVhdHVyZXM6PGJyIC8+CisgICAgQSBmZXcgbmV3IEFQSSBlbnRyeSBwb2ludHMsPGJyIC8+CisgICAgTW9yZSByZXNpbGllbnQgcHVzaCBwYXJzZXIgbW9kZSw8YnIgLz4KKyAgICBBIGxvdCBvZiBwb3J0YWJpbGl0eSBpbXByb3ZlbWVudCw8YnIgLz4KKyAgICBGYXN0ZXIgWFBhdGggZXZhbHVhdGlvbjxiciAvPgorICA8L2xpPgorCisgIDxsaT4gRG9jdW1lbnRhdGlvbjo8YnIgLz4KKyAgICB4bWwyLWNvbmZpZy4xIG1hcmt1cCBlcnJvciAoQ2hyaXN0aWFuIFdlaXNnZXJiZXIpLDxiciAvPgorICAgIGxpYnhtbCgzKSBtYW5wYWdlIHR5cG8gZml4IChKb2huIEJyYWRzaGF3KSw8YnIgLz4KKyAgICBNb3JlIGNsZWFudXBzIHRvIHRoZSBkb2N1bWVudGF0aW9uIHBhcnQgb2YgbGlieG1sMiAoRGFuaWVsIFJpY2hhcmQgRyk8YnIgLz4KKyAgPC9saT4KKworICA8bGk+IFBvcnRhYmlsaXR5OjxiciAvPgorICAgIEJ1ZyA2NzY1NDQgLSBmYWlscyB0byBidWlsZCB3aXRoIC0td2l0aG91dC1zYXgxIChBa2lyYSBUQUdPSCksPGJyIC8+CisgICAgZml4IGJ1aWxkcyBub3QgaGF2aW5nIHN0ZGludC5oIChSb2IgUmljaGFyZHMpLDxiciAvPgorICAgIEdldFByb2NBZGRyZXNzQSBpcyBhdmFpbGFibGUgb25seSBvbiBXaW5DRSAoRGFuaWVsIFZlaWxsYXJkKSw8YnIgLz4KKyAgICBNb3JlIHVwZGF0ZXMgYW5kIGNsZWFudXBzIG9uIGF1dG90b29scyBhbmQgTWFrZWZpbGVzIChEYW5pZWwgUmljaGFyZCBHKSw8YnIgLz4KKyAgICBNb3JlIGNoYW5nZXMgZm9yIFdpbjMyIGNvbXBpbGF0aW9uIChFcmljIFp1cmNoZXIpLDxiciAvPgorICAgIEJhc2ljIGNoYW5nZXMgZm9yIFdpbjMyIGJ1aWxkcyBvZiByZWxlYXNlIDIuOS4wOiBjb21waWxlIGJ1Zi5jIChFcmljIFp1cmNoZXIpLDxiciAvPgorICAgIEJ1bmRsZXMgYWxsIGdlbmVyYXRlZCBmaWxlcyBmb3IgcHl0aG9uIGludG8gdGhlIGRpc3RyaWJ1dGlvbiAoRGFuaWVsIFJpY2hhcmQgRyksPGJyIC8+CisgICAgRml4IGNvbXBpbGVyIHdhcm5pbmdzIG9mIHdpbmNlY29tcGF0LmMgKFBhdHJpY2sgR2Fuc3RlcmVyKSw8YnIgLz4KKyAgICBGaXggbm9uIF9fR05VQ19fIGJ1aWxkIChQYXRyaWNrIEdhbnN0ZXJlciksPGJyIC8+CisgICAgRml4IHdpbmRvd3MgdW5pY29kZSBidWlsZCAoUGF0cmljayBHYW5zdGVyZXIpLDxiciAvPgorICAgIGNsZWFuIHJlZGVmaW5pdGlvbiBvZiB7dn1zbnByaW50ZiBpbiBDLXNvdXJjZSAoUm91bWVuIFBldHJvdiksPGJyIC8+CisgICAgdXNlIHhtbEJ1Zi4uLiBpZiBERUJVR19JTlBVVCBpcyBkZWZpbmVkIChSb3VtZW4gUGV0cm92KSw8YnIgLz4KKyAgICBmaXggcnVudGVzdHMgdG8gdXNlIHB0aHJlYWRzIHN1cHBvcnQgZm9yIHZhcmlvdXMgVW5peCBwbGF0Zm9ybXMgKERhbmllbCBSaWNoYXJkIEcpLDxiciAvPgorICAgIFZhcmlvdXMgIm1ha2UgZGlzdGNoZWNrIiBhbmQgcG9ydGFiaWxpdHkgZml4dXBzIDJuZCBwYXJ0IChEYW5pZWwgUmljaGFyZCBHKSw8YnIgLz4KKyAgICBWYXJpb3VzICJtYWtlIGRpc3RjaGVjayIgYW5kIHBvcnRhYmlsaXR5IGZpeHVwcyAoRGFuaWVsIFJpY2hhcmQgRyksPGJyIC8+CisgICAgRml4IGNvbXBpbGF0aW9uIG9uIG9sZGVyIFZpc3VhbCBTdHVkaW8gKERhbmllbCBWZWlsbGFyZCk8YnIgLz4KKyAgPC9saT4KKworICA8bGk+IEJ1ZyBGaXhlczo8YnIgLz4KKyAgICBDaGFuZ2UgdGhlIFhQYXRoIGNvZGUgdG8gcGVyY29sYXRlIGFsbG9jYXRpb24gZXJyb3JzIChEYW5pZWwgVmVpbGxhcmQpLDxiciAvPgorICAgIEZpeCByZXVzZSBvZiB4bWxJbml0UGFyc2VyIChEYW5pZWwgVmVpbGxhcmQpLDxiciAvPgorICAgIEZpeCBwb3RlbnRpYWwgY3Jhc2ggb24gZW50aXRpZXMgZXJyb3JzIChEYW5pZWwgVmVpbGxhcmQpLDxiciAvPgorICAgIGluaXRpYWxpemUgdmFyIChSb2IgUmljaGFyZHMpLDxiciAvPgorICAgIEZpeCB0aGUgWFBhdGggYXJpdHkgY2hlY2sgdG8gYWxzbyBjaGVjayB0aGUgWFBhdGggc3RhY2sgbGltaXRzIChEYW5pZWwgVmVpbGxhcmQpLDxiciAvPgorICAgIEZpeCBwcm9ibGVtIHdpdGggc3BlY2lmaWMgYW5kIGdlbmVyaWMgZXJyb3IgaGFuZGxlcnMgKFBpZXRybyBDZXJ1dHRpKSw8YnIgLz4KKyAgICBBdm9pZCBhIHBvdGVudGlhbCBpbmZpbml0ZSByZWN1cnNpb24gKERhbmllbCBWZWlsbGFyZCksPGJyIC8+CisgICAgRml4IGFuIFhTRCBlcnJvciB3aGVuIGdlbmVyYXRpbmcgaW50ZXJuYWwgYXV0b21hdGEgKERhbmllbCBWZWlsbGFyZCksPGJyIC8+CisgICAgUGF0Y2ggZm9yIHhpbmNsdWRlIG9mIHRleHQgdXNpbmcgbXVsdGlieXRlIGNoYXJhY3RlcnMgKFZpdGFseSBPc3RhbmluKSw8YnIgLz4KKyAgICBGaXggYSBzZWdmYXVsdCBvbiBYU0QgdmFsaWRhdGlvbiBvbiBwYXR0ZXJuIGVycm9yIChEYW5pZWwgVmVpbGxhcmQpLDxiciAvPgorICAgIEZpeCBtaXNzaW5nIHhtbHNhdmUuaCBtb2R1bGUgd2hpY2ggd2FzIGlnbm9yZWQgaW4gcmVjZW50IGJ1aWxkcyAoRGFuaWVsIFZlaWxsYXJkKSw8YnIgLz4KKyAgICBBZGQgYSBtaXNzaW5nIGVsZW1lbnQgY2hlY2sgKERhbmllbCBWZWlsbGFyZCksPGJyIC8+CisgICAgQWRkaW5nIHZhcmlvdXMgY2hlY2tzIG9uIG5vZGUgdHlwZSB0aG91Z2ggdGhlIEFQSSAoRGFuaWVsIFZlaWxsYXJkKSw8YnIgLz4KKyAgICBOYW1lc3BhY2Ugbm9kZXMgY2FuJ3QgYmUgdW5saW5rZWQgd2l0aCB4bWxVbmxpbmtOb2RlIChEYW5pZWwgVmVpbGxhcmQpLDxiciAvPgorICAgIEZpeCBtYWtlIGRpc3QgdG8gaW5jbHVkZSBuZXcgcHJpdmF0ZSBoZWFkZXIgZmlsZXMgKERhbmllbCBWZWlsbGFyZCksPGJyIC8+CisgICAgTW9yZSBmaXh1cHMgb24gdGhlIHB1c2ggcGFyc2VyIGJlaGF2aW91ciAoRGFuaWVsIFZlaWxsYXJkKSw8YnIgLz4KKyAgICBTdHJlbmd0aGVuIGJlaGF2aW91ciBvZiB0aGUgcHVzaCBwYXJzZXIgaW4gcHJvYmxlbWF0aWMgc2l0dWF0aW9ucyAoRGFuaWVsIFZlaWxsYXJkKSw8YnIgLz4KKyAgICBFbmZvcmNlIFhNTF9QQVJTRVJfRU9GIHN0YXRlIGhhbmRsaW5nIHRocm91Z2ggdGhlIHBhcnNlciAoRGFuaWVsIFZlaWxsYXJkKSw8YnIgLz4KKyAgICBGaXh1cCBsaW1pdHMgcGFyc2VyIChEYW5pZWwgVmVpbGxhcmQpLDxiciAvPgorICAgIERvIG5vdCBmZXRjaCBleHRlcm5hbCBwYXJzZWQgZW50aXRpZXMgKERhbmllbCBWZWlsbGFyZCksPGJyIC8+CisgICAgRml4IGFuIGVycm9yIGluIHByZXZpb3VzIGNvbW1pdCAoQXJvbiBYdSksPGJyIC8+CisgICAgRml4IGVudGl0aWVzIGxvY2FsIGJ1ZmZlcnMgc2l6ZSBwcm9ibGVtcyAoRGFuaWVsIFZlaWxsYXJkKSw8YnIgLz4KKyAgICBGaXggcGFyc2VyIGxvY2FsIGJ1ZmZlcnMgc2l6ZSBwcm9ibGVtcyAoRGFuaWVsIFZlaWxsYXJkKSw8YnIgLz4KKyAgICBGaXggYSBmYWlsdXJlIHRvIHJlcG9ydCB4bWxyZWFkZXIgcGFyc2luZyBmYWlsdXJlcyAoRGFuaWVsIFZlaWxsYXJkKTxiciAvPgorICA8L2xpPgorCisgIDxsaT4gSW1wcm92ZW1lbnRzOjxiciAvPgorICAgIEtlZXAgbGlieG1sMi5zeW1zIHdoZW4gcnVubmluZyAibWFrZSBkaXN0Y2xlYW4iIChEYW5pZWwgVmVpbGxhcmQpLDxiciAvPgorICAgIEFsbG93IHRvIHNldCB0aGUgcXVvdGluZyBjaGFyYWN0ZXIgb2YgYW4geG1sV3JpdGVyIChDc2FiYSBSYWR1bHkpLDxiciAvPgorICAgIEtlZXAgbm9uLXNpZ25pZmljYW50IGJsYW5rcyBub2RlIGluIEhUTUwgcGFyc2VyIChEYW5pZWwgVmVpbGxhcmQpLDxiciAvPgorICAgIEFkZCBhIGZvcmJpZGRlbiB2YXJpYWJsZSBlcnJvciBudW1iZXIgYW5kIG1lc3NhZ2UgdG8gWFBhdGggKERhbmllbCBWZWlsbGFyZCksPGJyIC8+CisgICAgU3VwcG9ydCBsb25nIHBhdGggbmFtZXMgb24gV05UIChNaWNoYWVsIFN0YWhsKSw8YnIgLz4KKyAgICBJbXByb3ZlIEhUTUwgZXNjYXBpbmcgb2YgYXR0cmlidXRlIG9uIG91dHB1dCAoRGFuaWVsIFZlaWxsYXJkKSw8YnIgLz4KKyAgICBIYW5kbGUgSUNVX0xJQlMgYXMgTElCQURELCBub3QgTERGTEFHUyB0byBwcmV2ZW50IGxpbmtpbmcgZXJyb3JzIChBcmZyZXZlciBGcmVodGVzIFRhaWZlcnNhciBBcmFoZXNpcyksPGJyIC8+CisgICAgU3dpdGNoaW5nIFhQYXRoIG5vZGUgc29ydGluZyB0byBUaW1zb3J0IChWb2p0ZWNoIEZyaWVkKSw8YnIgLz4KKyAgICBPcHRpbWl6aW5nICcvLycgaW4gWFBhdGggZXhwcmVzc2lvbnMgKE5pY2sgV2VsbG5ob2ZlciksPGJyIC8+CisgICAgRXhwb3NlIHhtbEJ1ZlNocmluayBpbiB0aGUgcHVibGljIHRyZWUgQVBJIChEYW5pZWwgVmVpbGxhcmQpLDxiciAvPgorICAgIFZpc2libGUgSFRNTCBlbGVtZW50cyBjbG9zZSB0aGUgaGVhZCB0YWcgKENvbnJhZCBJcndpbiksPGJyIC8+CisgICAgRml4IGZpbGUgYW5kIGxpbmUgcmVwb3J0IGZvciBYU0QgU0FYIGFuZCByZWFkZXIgc3RyZWFtaW5nIHZhbGlkYXRpb24gKERhbmllbCBWZWlsbGFyZCksPGJyIC8+CisgICAgRml4IGNvbnN0IHF1YWxpZnllciB0byBkZWZpbml0aW9uIG9mIHhtbEJ1ZmZlckRldGFjaCAoRGFuaWVsIFZlaWxsYXJkKSw8YnIgLz4KKyAgICBtaW5pbWl6ZSB1c2Ugb2YgSEFWRV9DT05GSUdfSCAoUm91bWVuIFBldHJvdiksPGJyIC8+CisgICAgZml4dXAgcmVncmVzc2lvbiBpbiBWYXJpb3VzICJtYWtlIGRpc3RjaGVjayIgYW5kIHBvcnRhYmlsaXR5IGZpeHVwcyAoUm91bWVuIFBldHJvdiksPGJyIC8+CisgICAgQWRkIHN1cHBvcnQgZm9yIGJpZyBsaW5lIG51bWJlcnMgaW4gZXJyb3IgcmVwb3J0aW5nIChEYW5pZWwgVmVpbGxhcmQpLDxiciAvPgorICAgIEF2b2lkIHVzaW5nIHhtbEJ1ZmZlciBmb3Igc2VyaWFsaXphdGlvbiAoRGFuaWVsIFZlaWxsYXJkKSw8YnIgLz4KKyAgICBJbXByb3ZlIGNvbXBhdGliaWxpdHkgYmV0d2VlbiB4bWxCdWYgYW5kIHhtbEJ1ZmZlciAoRGFuaWVsIFZlaWxsYXJkKSw8YnIgLz4KKyAgICBQcm92aWRlIG5ldyBhY2Nlc3NvcnMgZm9yIHhtbE91dHB1dEJ1ZmZlciAoRGFuaWVsIFZlaWxsYXJkKSw8YnIgLz4KKyAgICBJbXByb3ZlbWVudHMgZm9yIG9sZCBidWZmZXIgY29tcGF0aWJpbGl0eSAoRGFuaWVsIFZlaWxsYXJkKSw8YnIgLz4KKyAgICBFeHBhbmQgdGhlIGxpbWl0IHRlc3QgcHJvZ3JhbSAoRGFuaWVsIFZlaWxsYXJkKSw8YnIgLz4KKyAgICBJbXByb3ZlIGVycm9yIHJlcG9ydGluZyBvbiBwYXJzZXIgZXJyb3JzIChEYW5pZWwgVmVpbGxhcmQpLDxiciAvPgorICAgIEltcGxlbWVudCBzb21lIGRlZmF1bHQgbGltaXRzIGluIHRoZSBYUGF0aCBtb2R1bGUgKERhbmllbCBWZWlsbGFyZCksPGJyIC8+CisgICAgSW50cm9kdWNlIHNvbWUgZGVmYXVsdCBwYXJzZXIgbGltaXRzIChEYW5pZWwgVmVpbGxhcmQpLDxiciAvPgorICAgIENsZWFudXBzIGFuZCBuZXcgbGltaXQgQVBJcyBmb3IgZGljdGlvbmFyaWVzIChEYW5pZWwgVmVpbGxhcmQpLDxiciAvPgorICAgIEZpeHVwIGZvciBidWYuYyAoRGFuaWVsIFZlaWxsYXJkKSw8YnIgLz4KKyAgICBDbGVhbnVwIFVSSSBtb2R1bGUgbWVtb3J5IGFsbG9jYXRpb24gY29kZSAoRGFuaWVsIFZlaWxsYXJkKSw8YnIgLz4KKyAgICBFeHRlbmQgdGVzdGxpbWl0cyAoRGFuaWVsIFZlaWxsYXJkKSw8YnIgLz4KKyAgICBNb3JlIGF2b2lkIHF1YWRyYXRpYyBiZWhhdmlvdXIgKERhbmllbCBWZWlsbGFyZCksPGJyIC8+CisgICAgSW1wb3NlIGEgcmVhc29uYWJsZSBsaW1pdCBvbiBQSSBzaXplIChEYW5pZWwgVmVpbGxhcmQpLDxiciAvPgorICAgIGZpcnN0IHZlcnNpb24gb2YgdGVzdGxpbWl0cyBuZXcgdGVzdCAoRGFuaWVsIFZlaWxsYXJkKSw8YnIgLz4KKyAgICBBdm9pZCBxdWFkcmF0aWMgYmVoYXZpb3VyIGluIHNvbWUgcHVzaCBwYXJzaW5nIGNhc2VzIChEYW5pZWwgVmVpbGxhcmQpLDxiciAvPgorICAgIEltcG9zZSBhIHJlYXNvbmFibGUgbGltaXQgb24gY29tbWVudCBzaXplIChEYW5pZWwgVmVpbGxhcmQpLDxiciAvPgorICAgIEltcG9zZSBhIHJlYXNvbmFibGUgbGltaXQgb24gYXR0cmlidXRlIHNpemUgKERhbmllbCBWZWlsbGFyZCksPGJyIC8+CisgICAgSGFyZGVuIHRoZSBidWZmZXIgY29kZSBhbmQgbWFrZSBpdCBtb3JlIGNvbXBhdGlibGUgKERhbmllbCBWZWlsbGFyZCksPGJyIC8+CisgICAgTW9yZSBjbGVhbnVwcyBmb3IgaW5wdXQvYnVmZmVycyBjb2RlIChEYW5pZWwgVmVpbGxhcmQpLDxiciAvPgorICAgIENsZWFudXAgZnVuY3Rpb24geG1sQnVmUmVzZXRJbnB1dCgpLDxiciAvPiB0byBzZXQgaW5wdXQgZnJvbSBCdWZmZXIgKERhbmllbCBWZWlsbGFyZCkKKyAgICBTd2ljdGggdGhlIHRlc3QgcHJvZ3JhbSBmb3IgY2hhcmFjdGVycyB0byBuZXcgaW5wdXQgYnVmZmVycyAoRGFuaWVsIFZlaWxsYXJkKSw8YnIgLz4KKyAgICBDb252ZXJ0IHRoZSBIVE1MIHRyZWUgbW9kdWxlIHRvIHRoZSBuZXcgYnVmZmVycyAoRGFuaWVsIFZlaWxsYXJkKSw8YnIgLz4KKyAgICBDb252ZXJ0IG9mIHRoZSBIVE1MIHBhcnNlciB0byBuZXcgaW5wdXQgYnVmZmVycyAoRGFuaWVsIFZlaWxsYXJkKSw8YnIgLz4KKyAgICBDb252ZXJ0IHRoZSB3cml0ZXIgdG8gbmV3IG91dHB1dCBidWZmZXIgYW5kIHNhdmUgQVBJcyAoRGFuaWVsIFZlaWxsYXJkKSw8YnIgLz4KKyAgICBDb252ZXJ0IFhNTFJlYWRlciB0byB0aGUgbmV3IGlucHV0IGJ1ZmZlcnMgKERhbmllbCBWZWlsbGFyZCksPGJyIC8+CisgICAgTmV3IHNhdmluZyBmdW5jdGlvbnMgdXNpbmcgeG1sQnVmIGFuZCBjb252ZXJzaW9uIChEYW5pZWwgVmVpbGxhcmQpLDxiciAvPgorICAgIFByb3ZpZGUgbmV3IHhtbEJ1ZiBiYXNlZCBzYXZpbmcgZnVuY3Rpb25zIChEYW5pZWwgVmVpbGxhcmQpLDxiciAvPgorICAgIENvbnZlcnQgWEluY2x1ZGUgdG8gdGhlIG5ldyBpbnB1dCBidWZmZXJzIChEYW5pZWwgVmVpbGxhcmQpLDxiciAvPgorICAgIENvbnZlcnQgY2F0YWxvZyBjb2RlIHRvIHRoZSBuZXcgaW5wdXQgYnVmZmVycyAoRGFuaWVsIFZlaWxsYXJkKSw8YnIgLz4KKyAgICBDb252ZXJ0IEMxNE4gdG8gdGhlIG5ldyBJbnB1dCBidWZmZXIgKERhbmllbCBWZWlsbGFyZCksPGJyIC8+CisgICAgQ29udmVydCB4bWxJTy5jIHRvIHRoZSBuZXcgaW5wdXQgYW5kIG91dHB1dCBidWZmZXJzIChEYW5pZWwgVmVpbGxhcmQpLDxiciAvPgorICAgIENvbnZlcnQgWE1MIHBhcnNlciB0byB0aGUgbmV3IGlucHV0IGJ1ZmZlcnMgKERhbmllbCBWZWlsbGFyZCksPGJyIC8+CisgICAgSW5jb21wYXRpYmxlIGNoYW5nZSB0byB0aGUgSW5wdXQgYW5kIE91dHB1dCBidWZmZXJzIChEYW5pZWwgVmVpbGxhcmQpLDxiciAvPgorICAgIEFkZGluZyBuZXcgZW5jb2RpbmcgZnVuY3Rpb24gdG8gZGVhbCB3aXRoIHRoZSBuZXcgc3RydWN0dXJlcyAoRGFuaWVsIFZlaWxsYXJkKSw8YnIgLz4KKyAgICBDb252ZXJ0IFhQYXRoIHRvIHhtbEJ1ZiAoRGFuaWVsIFZlaWxsYXJkKSw8YnIgLz4KKyAgICBBZGRpbmcgYSBuZXcgYnVmIG1vZHVsZSBmb3IgYnVmZmVycyAoRGFuaWVsIFZlaWxsYXJkKSw8YnIgLz4KKyAgICBNZW1vcnkgZXJyb3Igd2l0aGluIFNBWDIgcmV1c2UgY29tbW9uIGZyYW1ld29yayAoRGFuaWVsIFZlaWxsYXJkKSw8YnIgLz4KKyAgICBGaXggeG1sbGludCAtLXhwYXRoIG5vZGUgaW5pdGlhbGl6YXRpb24gKERhbmllbCBWZWlsbGFyZCk8YnIgLz4KKyAgPC9saT4KKworICA8bGk+IENsZWFudXBzOjxiciAvPgorICAgIFZhcmlvdXMgY2xlYW51cHMgdG8gYXZvaWQgY29tcGlsZXIgd2FybmluZ3MgKERhbmllbCBWZWlsbGFyZCksPGJyIC8+CisgICAgQmlnIHNwYWNlIGFuZCB0YWIgY2xlYW51cCAoRGFuaWVsIFZlaWxsYXJkKSw8YnIgLz4KKyAgICBGb2xsb3d1cCB0byBMaWJYTUwyIGRvY3MvZXhhbXBsZXMgY2xlYW51cCBwYXRjaCAoRGFuaWVsIFZlaWxsYXJkKSw8YnIgLz4KKyAgICBTZWNvbmQgcm91bmQgb2YgY2xlYW51cHMgZm9yIExpYlhNTDIgZG9jcy9leGFtcGxlcyAoRGFuaWVsIFJpY2hhcmQpLDxiciAvPgorICAgIFJlbW92ZSBhbGwgLmN2c2lnbm9yZSBhcyB0aGV5IGFyZSBub3QgdXNlZCBhbnltb3JlIChEYW5pZWwgVmVpbGxhcmQpLDxiciAvPgorICAgIEZpeCBhIFRpbXNvcnQgZnVuY3Rpb24gaGVscGVyIGNvbW1lbnQgKERhbmllbCBWZWlsbGFyZCksPGJyIC8+CisgICAgU21hbGwgY2xlYW51cCBmb3IgdmFsZ3JpbmQgdGFyZ2V0IChEYW5pZWwgVmVpbGxhcmQpLDxiciAvPgorICAgIFBhdGNoIGZvciBwb3J0YWJpbGl0eSBvZiBsYXRpbiBjaGFyYWN0ZXJzIGluIEMgZmlsZXMgKERhbmllbCBWZWlsbGFyZCksPGJyIC8+CisgICAgQ2xlYW51cCBzb21lIG9mIHRoZSBwYXJzZXIgY29kZSAoRGFuaWVsIFZlaWxsYXJkKSw8YnIgLz4KKyAgICBGaXggYSB2YXJpYWJsZSBuYW1lIGluIGNvbW1lbnQgKERhbmllbCBWZWlsbGFyZCksPGJyIC8+CisgICAgUmVnZW5lcmF0ZWQgdGVzdGFwaS5jIChEYW5pZWwgVmVpbGxhcmQpLDxiciAvPgorICAgIFJlZ2VuZXJhdGluZyBkb2NzIGFuZCBBUEkgZmlsZXMgKERhbmllbCBWZWlsbGFyZCksPGJyIC8+CisgICAgU21hbGwgY2xlYW51cCBvZiB1bnVzZWQgdmFyaWFibGVzIGluIHRlc3QgKERhbmllbCBWZWlsbGFyZCksPGJyIC8+CisgICAgRXhwYW5kIC5naXRpZ25vcmUgd2l0aCBtb3JlIGZpbGVzIChEYW5pZWwgVmVpbGxhcmQpPGJyIC8+CisgIDwvbGk+Cis8L3VsPjxoMz4yLjguMDogTWF5IDIzIDIwMTI8L2gzPjx1bD4KKyAgPGxpPkZlYXR1cmVzOgorICBhZGQgbHptYSBjb21wcmVzc2lvbiBzdXBwb3J0IChBbmRlcnMgRiBCam9ya2x1bmQpCisgIDwvbGk+CisKKyAgPGxpPkRvY3VtZW50YXRpb246CisgICAgeG1sY2F0YWxvZzogQWRkIHVyaSBhbmQgZGVsZWdhdGVVUkkgdG8gcG9zc2libGUgYWRkIHR5cGVzIGluIG1hbiBwYWdlLiAoVmlsbGUgU2t5dHTDpCksCisgICAgVXBkYXRlIFJFQURNRS50ZXN0cyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBVUkkgaGFuZGxpbmcgY29kZSBpcyBub3QgT09NIHJlc2lsaWVudCAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggYW4gZXJyb3IgaW4gY29tbWVudCAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXhlZCBidWcgIzYxNzAxNiAoRGFuaWVsIE11c3RpZWxlcyksCisgICAgRml4ZWQgdHdvIHR5cG9zIGluIHRoZSBSRUFETUUgZG9jdW1lbnQgKERhbmllbCBOZWVsKSwKKyAgICBhZGQgZ2VuZXJhdGVkIGh0bWwgZmlsZXMgKEFuZGVycyBGIEJqb3JrbHVuZCksCisgICAgQ2xhcmlmeSB0aGUgbmVlZCB0byB1c2UgeG1sRnJlZU5vZGUgYWZ0ZXIgeG1sVW5saW5rTm9kZSAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBJbXByb3ZlIGRvY3VtZW50YXRpb24gYSBiaXQgKERhbmllbCBWZWlsbGFyZCksCisgICAgVXBkYXRlZCBVUkwgZm9yIGx4bWwgcHl0aG9uIGJpbmRpbmdzIChEYW5pZWwgVmVpbGxhcmQpCisgIDwvbGk+CisKKyAgPGxpPlBvcnRhYmlsaXR5OgorICAgIFJlc3RvcmUgY29kZSBmb3IgV2luZG93cyBjb21waWxhdGlvbiAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBSZW1vdmUgZ2l0IGVycm9yIG1lc3NhZ2UgZHVyaW5nIGNvbmZpZ3VyZSAoQ2hyaXN0aWFuIER5d2FuKSwKKyAgICB4bWxsaW50OiBCdWlsZCBmaXggZm9yIGVuZFRpbWVyIGlmICFkZWZpbmVkKEhBVkVfR0VUVElNRU9GREFZKSAoUGF0cmljayBSLiBHYW5zdGVyZXIpLAorICAgIHJlbW92ZSBhIGJhc2hpc20gaW4gY29uZmd1cmUuaW4gKEpvaG4gSGVpbiksCisgICAgdW5kZWYgRVJST1IgaWYgYWxyZWFkeSBkZWZpbmVkIChQYXRyaWNrIFIuIEdhbnN0ZXJlciksCisgICAgRml4IGxpYnJhcnkgcHJvYmxlbXMgd2l0aCBtaW5ndy13NjQgKE1pY2hhZWwgQ3JvbmVud29ydGgpLAorICAgIGZpeCB3aW5kb3dzIGJ1aWxkLiBpZmRlZiBhZGRpdGlvbiBmcm9tIGJ1ZyA2NjY0OTEgbWFrZXMgbm8gc2Vuc2UgKFJvYiBSaWNoYXJkcyksCisgICAgcHJlZmVyIG5hdGl2ZSB0aHJlYWRzIG9uIHdpbjMyIChTYW0gVGh1cnNmaWVsZCksCisgICAgQWxsb3cgdG8gY29tcGlsZSB3aXRoIFZpc3VhbCBTdHVkaW8gMjAxMCAoVGhvbWFzIExlbW0pLAorICAgIEZpeCBtaW5ndydzIHNucHJpbnRmIGNvbmZpZ3VyZSBjaGVjayAoQW5kb25pIE1vcmFsZXMpLAorICAgIGZpeGVkIGEgNjRiaXQgYmlnIGVuZGlhbiBpc3N1ZSAoTWFyY3VzIE1laXNzbmVyKSwKKyAgICBGaXggcG9ydGFiaWxpdHkgZmFpbHVyZSBpZiBuZXRkYi5oIGxhY2tzIE5PX0FERFJFU1MgKERhbmllbCBWZWlsbGFyZCksCisgICAgRml4IHdpbmRvd3MgYnVpbGQgZnJvbSBsem1hIGFkZGl0aW9uIChSb2IgUmljaGFyZHMpLAorICAgIGF1dG9nZW46IE9ubHkgY2hlY2sgZm9yIGxpYnRvb2xpemUgKENvbGluIFdhbHRlcnMpLAorICAgIEZpeCB0aGUgV2luZG93cyBidWlsZCBmaWxlcyAoUGF0cmljayB2b24gUmV0aCksCisgICAgNjM0ODQ2IFJlbW92ZSBhIGxpbmtpbmcgb3B0aW9uIGJyZWFraW5nIFdpbmRvd3MgVkMxMCAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICA1OTkyNDEgZml4IGFuIGluaXRpYWxpemF0aW9uIHByb2JsZW0gb24gV2luNjQgKEFuZHJldyBXLiBOb3NlbmtvKSwKKyAgICBmaXggd2luIGJ1aWxkIChSb2IgUmljaGFyZHMpCisgIDwvbGk+CisKKyAgPGxpPkJ1ZyBmaXhlczoKKyAgICBQYXJ0IGZvciByYW5kX3IgY2hlY2tpbmcgbWlzc2luZyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBDbGVhbnVwIG9uIHJhbmRvbWl6YXRpb24gKERhbmllbCBWZWlsbGFyZCksCisgICAgRml4IHVuZGVmaW5lZCByZWZlcmVuY2UgaW4gcHl0aG9uIG1vZHVsZSAoUGFjaG8gUmFtb3MpLAorICAgIEZpeCBhIHJhY2UgaW4geG1sTmV3SW5wdXRTdHJlYW0gKERhbmllbCBWZWlsbGFyZCksCisgICAgRml4IHdlaXJkIHN0cmVhbWluZyBSZWxheE5HIGVycm9ycyAoTm9hbSksCisgICAgRml4IHZhcmlvdXMgYnVncyBpbiBuZXcgY29kZSByYWlzZWQgYnkgdGhlIEFQSSBjaGVja2luZyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggdmFyaW91cyBwcm9ibGVtcyB3aXRoICJtYWtlIGRpc3QiIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEZpeCBhIG1lbW9yeSBsZWFrIGluIHRoZSB4emxpYiBjb2RlIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEhUTUwgcGFyc2VyIGVycm9yIHdpdGggJmx0O25vc2NyaXB0Jmd0OyBpbiB0aGUgJmx0O2hlYWQmZ3Q7IChEZW5pcyBQYXVrKSwKKyAgICBYU0Q6IG9wdGlvbmFsIGVsZW1lbnQgaW4gY29tcGxleCB0eXBlIGV4dGVuc2lvbiAoUmVtaSBHYWNvZ25lKSwKKyAgICBGaXggaHRtbCBzZXJpYWxpemF0aW9uIGVycm9yIGFuZCBodG1sU2V0TWV0YUVuY29kaW5nKCkgKERhbmllbCBWZWlsbGFyZCksCisgICAgRml4IGEgd3JvbmcgcmV0dXJuIHZhbHVlIGluIHByZXZpb3VzIHBhdGNoIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEZpeCBhbiB1bmluaXRpYWxpemVkIHZhcmlhYmxlIHVzZSAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggYSBjb21waWxhdGlvbiBwcm9ibGVtIHdpdGggLS1taW5pbXVtIChCcmFuZG9uIFNsYWNrKSwKKyAgICBSZW1vdmUgcmVkdW5kYW50IGFuZCB1bmdhcmRlZCBpbmNsdWRlIG9mIHJlc29sdi5oIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIHhpbmNsdWRlIHdpdGggcGFyc2U9InRleHQiIGRvZXMgbm90IHVzZSB0aGUgZW50aXR5IGxvYWRlciAoU2hhdW4gTWNDYW5jZSksCisgICAgQWxsb3cgdG8gcGFyc2UgMSBieXRlIEhUTUwgZmlsZXMgKERlbmlzIFBhdWspLAorICAgIFBhdGNoIHRoYXQgZml4ZXMgdGhlIHNraXBwaW5nIG9mIHRoZSBIVE1MX1BBUlNFX05PSU1QTElFRCBmbGFnIChNYXJ0aW4gU2NocsO2ZGVyKSwKKyAgICBBdm9pZCBtZW1vcnkgbGVhayBpZiB4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUlPIGZhaWxzIChMaW4gWWktTGkpLAorICAgIFByZXZlbnQgYW4gaW5maW5pdGUgbG9vcCB3aGVuIGR1bXBpbmcgYSBub2RlIHdpdGggZW5jb2RpbmcgcHJvYmxlbXMgKFRpbW90aHkgRWxsaW90dCksCisgICAgeG1sUGFyc2VOb2RlSW5Db250ZXh0IHByb2JsZW1zIHdpdGggYW4gZW1wdHkgZG9jdW1lbnQgKFRpbSBFbGxpb3R0KSwKKyAgICBIVE1MIGVsZW1lbnQgcG9zaXRpb24gaXMgbm90IGRldGVjdGVkIHByb3BwZXJseSAoUGF2ZWwgQW5kcmVqcyksCisgICAgRml4IGFuIG9mZiBieSBvbmUgcG9pbnRlciBhY2Nlc3MgKErDvHJpIEFlZGxhKSwKKyAgICBUcnkgdG8gZml4IGEgcHJvYmxlbSB3aXRoIGVudGl0aWVzIGluIFNBWCBtb2RlIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEZpeCBhIGNyYXNoIHdpdGggeG1sbGludCAtLXBhdGggb24gZW1wdHkgcmVzdWx0cyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXhlZCBidWcgIzY2Nzk0NiAoRGFuaWVsIE11c3RpZWxlcyksCisgICAgRml4IGEgbG9naWMgZXJyb3IgaW4gU2NoZW1hcyBDb21wb25lbnQgQ29uc3RyYWludHMgKFJ5YW4gU2xlZXZpKSwKKyAgICBGaXggYSB3cm9uZyBlbnVtIHR5cGUgdXNlIGluIFNjaGVtYXMgVHlwZXMgKE5pY28gV2ViZXIpLAorICAgIEZpeCBTQVgyIGJ1aWxkZXIgaW4gY2FzZSBvZiB1bmRlZmluZWQgYXR0cmlidXRlcyBuYW1lc3BhY2UgKERhbmllbCBWZWlsbGFyZCksCisgICAgRml4IFNBWDIgYnVpbGRlciBpbiBjYXNlIG9mIHVuZGVmaW5lZCBlbGVtZW50IG5hbWVzcGFjZXMgKERhbmllbCBWZWlsbGFyZCksCisgICAgZml4IHJlZmVyZW5jZSB0byBTVERPVVRfRklMRU5PIG9uIE1TVkMgKFRheSBSYXkgQ2h1YW4pLAorICAgIGZpeCBhIHBhaXIgb2YgcG9zc2libGUgb3V0IG9mIGFycmF5IGNoYXIgcmVmZXJlbmNlcyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggYW4gYWxsb2NhdGlvbiBlcnJvciB3aGVuIGNvcHlpbmcgZW50aXRpZXMgKERhbmllbCBWZWlsbGFyZCksCisgICAgTWFrZSBzdXJlIHRoZSBwYXJzZXIgcmV0dXJucyB3aGVuIGdldHRpbmcgYSBTdG9wIG9yZGVyIChDaHJpcyBFdmFucyksCisgICAgRml4IHNvbWUgcG90ZW50aWFsIHByb2JsZW1zIG9uIHJlYWxsb2NhdGlvbiBmYWlsdXJlcyhwYXJzZXIuYykgKFhpYSBYaW5mZW5nKSwKKyAgICBGaXggYSBzY2hlbWEgdHlwZSBkdXJhdGlvbiBjb21wYXJpc29uIG92ZXJmbG93IChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEZpeCBhbiB1bmltcGxlbWVudGVkIHBhcnQgaW4gUk5HIHZhbHVlIHZhbGlkYXRpb24gKERhbmllbCBWZWlsbGFyZCksCisgICAgRml4IG1pc3NpbmcgZXJyb3Igc3RhdHVzIGluIFhQYXRoIGV2YWx1YXRpb24gKERhbmllbCBWZWlsbGFyZCksCisgICAgSGFyZGVuaW5nIG9mIFhQYXRoIGV2YWx1YXRpb24gKERhbmllbCBWZWlsbGFyZCksCisgICAgRml4IGFuIG9mZiBieSBvbmUgZXJyb3IgaW4gZW5jb2RpbmcgKERhbmllbCBWZWlsbGFyZCksCisgICAgRml4IFJFTEFYIE5HIGluY2x1ZGUgYnVnICM2NTUyODggKFNoYXVuIE1jQ2FuY2UpLAorICAgIEZpeCBYU0QgdmFsaWRhdGlvbiBidWcgIzYzMDEzMCAoVG95b2RhIEVpemkpLAorICAgIEZpeCBzb21lIHBvdGVudGlhbCBwcm9ibGVtcyBvbiByZWFsbG9jYXRpb24gZmFpbHVyZXMgKENocmlzIEV2YW5zKSwKKyAgICBfX3htbFJhaXNlRXJyb3I6IGZpeCB1c2Ugb2YgdGhlIHN0cnVjdHVyZWQgY2FsbGJhY2sgY2hhbm5lbCAoRG1pdHJ5IFYuIExldmluKSwKKyAgICBfX3htbFJhaXNlRXJyb3I6IGZpeCB0aGUgc3RydWN0dXJlZCBjYWxsYmFjayBjaGFubmVsJ3MgZGF0YSBpbml0aWFsaXphdGlvbiAoRG1pdHJ5IFYuIExldmluKSwKKyAgICBGaXggbWVtb3J5IGNvcnJ1cHRpb24gd2hlbiB4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlJbnRlcm5hbCBpcyBjYWxsZWQgZnJvbSB4bWxQYXJzZUJhbGFuY2VkQ2h1bmsgKFJvYiBSaWNoYXJkcyksCisgICAgU21hbGwgZml4IGZvciBwcmV2aW91cyBjb21taXQgKERhbmllbCBWZWlsbGFyZCksCisgICAgRml4IGEgcG90ZW50aWFsIGZyZWVpbmcgZXJyb3IgaW4gWFBhdGggKERhbmllbCBWZWlsbGFyZCksCisgICAgRml4IGEgcG90ZW50aWFsIG1lbW9yeSBhY2Nlc3MgZXJyb3IgKERhbmllbCBWZWlsbGFyZCksCisgICAgUmVhY3RpdmF0ZSB0aGUgc2hhcmVkIGxpYnJhcnkgdmVyc2lvbm5pbmcgc2NyaXB0IChEYW5pZWwgVmVpbGxhcmQpCisgIDwvbGk+CisKKyAgPGxpPkltcHJvdmVtZW50czoKKyAgICB1c2UgbWluZ3cgQzk5IGNvbXBhdGlibGUgZnVuY3Rpb25zIHt2fXNucHJpbnRmIGluc3RlYWQgdGhvc2UgZnJvbSBNU1ZDIHJ1bnRpbWUgKFJvdW1lbiBQZXRyb3YpLAorICAgIE5ldyBzeW1ib2xzIGFkZGVkIGZvciB0aGUgbmV4dCByZWxlYXNlIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIHhtbFRleHRSZWFkZXIgYmFpbHMgdG9vIHF1aWNrbHkgb24gZXJyb3IgKEFuZHkgTHV0b21pcnNraSksCisgICAgVXNlIGEgaHlicmlkIGFsbG9jYXRpb24gc2NoZW1lIGluIHhtbE5vZGVTZXRDb250ZW50IChDb25yYWQgSXJ3aW4pLAorICAgIFVzZSBidWZmZXJzIHdoZW4gY29uc3RydWN0aW5nIHN0cmluZyBub2RlIGxpc3RzLiAoQ29ucmFkIElyd2luKSwKKyAgICBBZGQgSFRNTCBwYXJzZXIgc3VwcG9ydCBmb3IgSFRNTDUgbWV0YSBjaGFyc2V0IGVuY29kaW5nIGRlY2xhcmF0aW9uIChEZW5pcyBQYXVrKSwKKyAgICB3cm9uZyBtZXNzYWdlIGZvciBkb3VibGUgaHlwaGVuIGluIGNvbW1lbnQgWE1MIGVycm9yIChCcnlhbiBIZW5kZXJzb24pLAorICAgIEZpeCAibWFrZSB0c3QiIHRvIGdyYWIgbHptYSBsaWIgdG9vIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEFkZCAid2hlcmVpcyIgY29tbWFuZCB0byB4bWxsaW50IHNoZWxsIChSeWFuKSwKKyAgICBJbXByb3ZlIHhtbGxpbnQgc2hlbGwgKFJ5YW4pLAorICAgIGFkZCBmdW5jdGlvbiB4bWxUZXh0UmVhZGVyUmVsYXhOR1ZhbGlkYXRlQ3R4dCgpIChOb2FtIFBvc3RhdnNreSksCisgICAgQWRkIC0tc3lzdGVtIHN1cHBvcnQgdG8gYXV0b2dlbi5zaCAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBBZGQgaGFzaCByYW5kb21pemF0aW9uIHRvIGhhc2ggYW5kIGRpY3Qgc3RydWN0dXJlcyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBpbmNsdWRlZCB4emxpYiBpbiBkaXN0IChBbmRlcnMgRiBCam9ya2x1bmQpLAorICAgIG1vdmUgeHovbHptYSBoZWxwZXJzIHRvIHNlcGFyYXRlIGluY2x1ZGVkIGZpbGVzIChBbmRlcnMgRiBCam9ya2x1bmQpLAorICAgIGFkZCBnZW5lcmF0ZWQgZGV2aGVscCBmaWxlcyAoQW5kZXJzIEYgQmpvcmtsdW5kKSwKKyAgICBhZGQgWE1MX1dJVEhfTFpNQSB0byBhcGkgKEFuZGVycyBGIEJqb3JrbHVuZCksCisgICAgYXV0b2dlbi5zaDogSG9ub3IgTk9DT05GSUdVUkUgZW52aXJvbm1lbnQgdmFyaWFibGUgKENvbGluIFdhbHRlcnMpLAorICAgIEltcHJvdmUgdGhlIGVycm9yIHJlcG9ydCBvbiB1bmRlZmluZWQgUkVGcyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBBZGQgZXhjZXB0aW9uIGZvciBuZXcgVzNDIFBJIHhtbC1tb2RlbCAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBBZGQgb3B0aW9ucyB0byBpZ25vcmUgdGhlIGludGVybmFsIGVuY29kaW5nIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIHRlc3RhcGk6IHVzZSB0aGUgcmlnaHQgdHlwZSBmb3IgdGhlIGNoZWNrIChTdGVmYW4gS29zdCksCisgICAgdmFyaW91czogaGFuZGxlIHJldHVybiB2YWx1ZXMgb2Ygd3JpdGUgY2FsbHMgKFN0ZWZhbiBLb3N0KSwKKyAgICB0ZXN0V3JpdGVyOiB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRFbGVtZW50IHdhbnRzIGFuIGludCBpbnN0ZWFkIG9mIGEgbG9uZyBpbnQgKFN0ZWZhbiBLb3N0KSwKKyAgICBydW54bWxjb25mOiB1cGRhdGUgdG8gbGF0ZXN0IHRlc3RzdWl0ZSB2ZXJzaW9uIChTdGVmYW4gS29zdCksCisgICAgY29uZmlndXJlOiBhZGQgLVduby1sb25nLWxvbmcgdG8gQ0ZMQUdTIChTdGVmYW4gS29zdCksCisgICAgY29uZmlndXJlOiBzdXBwb3J0IHNpbGVudCBhdXRvbWFrZSBydWxlcyBpZiBwb3NzaWJsZSAoU3RlZmFuIEtvc3QpLAorICAgIHhtbG1lbW9yeTogYWRkIGEgY2FzdCBhcyBzaXplX3QgaGFzIG5vIHBvcnRhYmxlIHByaW50ZiBtb2RpZmllciAoU3RlZmFuIEtvc3QpLAorICAgIF9feG1sUmFpc2VFcnJvcjogcmVtb3ZlIHJlZHVuZGFudCBzY2hhbm5lbCBpbml0aWFsaXphdGlvbiAoRG1pdHJ5IFYuIExldmluKSwKKyAgICBfX3htbFJhaXNlRXJyb3I6IGRvIGNoZWFwIGNvZGUgY2hlY2sgZWFybHkgKERtaXRyeSBWLiBMZXZpbikKKyAgPC9saT4KKworICA8bGk+Q2xlYW51cHM6CisgICAgQ2xlYW51cHMgYmVmb3JlIDIuOC4wLXJjMiAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBBdm9pZCBhbiBleHRyYSBvcGVyYXRpb24gKERhbmllbCBWZWlsbGFyZCksCisgICAgUmVtb3ZlIHZlc3RpZ2lhbCBkZS1BTlNJLWZpY2F0aW9uIHN1cHBvcnQuIChKYXZpZXIgSmFyZMOzbiksCisgICAgYXV0b2dlbi5zaDogRml4IHR5cG8gKEphdmllciBKYXJkw7NuKSwKKyAgICBEbyBub3QgdXNlIHVuc2lnbmVkIGJ1dCB1bnNpZ25lZCBpbnQgKERhbmllbCBWZWlsbGFyZCksCisgICAgUmVtb3ZlIHR3byByZWZlcmVuY2VzIHRvIHVfc2hvcnQgKERhbmllbCBWZWlsbGFyZCksCisgICAgRml4IC1XZW1wdHktYm9keSB3YXJuaW5nIGZyb20gY2xhbmcgKE5pY28gV2ViZXIpLAorICAgIENsZWFudXBzIG9mIGx6bWEgc3VwcG9ydCAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBBdWdtZW50IHRoZSBsaXN0IG9mIGlnbm9yZWQgZmlsZXMgKERhbmllbCBWZWlsbGFyZCksCisgICAgcHl0aG9uOiByZW1vdmUgdW51c2VkIHZhcmlhYmxlIChTdGVmYW4gS29zdCksCisgICAgcHl0aG9uOiBmbGFnIHR3byB1bnVzZWQgYXJncyAoU3RlZmFuIEtvc3QpLAorICAgIGNvbmZpZ3VyZTogYWNjb25maWcuaCBpcyBkZXByZWNhdGVkIHNpbmNlIGF1dG9jb25mLTIuNTAgKFN0ZWZhbiBLb3N0KSwKKyAgICB4cGF0aDogcmVtb3ZlIHVudXNlZCB2YXJpYWJsZSAoU3RlZmFuIEtvc3QpCisgIDwvbGk+Cis8L3VsPjxoMz4yLjcuODogTm92IDQgMjAxMDwvaDM+PHVsPgorICA8bGk+IEZlYXR1cmVzOgorICAgIDQ4MDMyMyBhZGQgY29kZSB0byBwbHVnIGluIElDVSBjb252ZXJ0ZXJzIGJ5IGRlZmF1bHQgKEdpdXNlcHBlIEl1Y3VsYW5vKSwKKyAgICBBZGQgeG1sU2F2ZU9wdGlvbiBYTUxfU0FWRV9XU05PTlNJRyAoQWRhbSBTcHJhZ2cpCisgIDwvbGk+CisgIDxsaT4gRG9jdW1lbnRhdGlvbjoKKyAgICBGaXggZGV2aGVscCBkb2N1bWVudGF0aW9uIGluc3RhbGxhdGlvbiAoTWlrZSBIb21tZXkpLAorICAgIEZpeCB3ZWIgc2l0ZSBlbmNvZGluZyBwcm9ibGVtcyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggYSBjb3VwbGUgb2YgdHlwbyBpbiBIVE1MIHBhcnNlciBlcnJvciBtZXNzYWdlcyAoTWljaGFlbCBEYXkpLAorICAgIEZvcmdvdCB0byB1cGRhdGUgdGhlIG5ld3MgcGFnZSBmb3IgMC43LjcgKERhbmllbCBWZWlsbGFyZCkKKyAgPC9saT4KKyAgPGxpPiBQb3J0YWJpbGl0eToKKyAgICA2MDcyNzMgRml4IHB5dGhvbiBkZXRlY3Rpb24gb24gTVN5cy9XaW5kb3dzIChMUk4pLAorICAgIDYxNDA4NyBGaXggU29ja2V0IEFQSSB1c2FnZSB0byBhbGxvdyBXaW5kb3dzNjQgY29tcGlsYXRpb24gKE96a2FuIFNlemVyKSwKKyAgICBGaXggY29tcGlsYXRpb24gd2l0aCBDbGFuZyAoS29vcCBNYXN0KSwKKyAgICBGaXggV2luMzIgYnVpbGQgKFJvYiBSaWNoYXJkcykKKyAgPC9saT4KKyAgPGxpPiBCdWcgRml4ZXM6CisgICAgNTk1Nzg5IGZpeCBhIHJlbWFpbmluZyBwb3RlbnRpYWwgU29sYXJpcyBwcm9ibGVtIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIDYxNzQ2OCBmaXggcHJvZ3Jlc3NpdmUgSFRNTCBwYXJzaW5nIHdpdGggc3R5bGUgdXNpbmcgIiciIChEZW5pcyBQYXVrKSwKKyAgICA2MTY0NzggRml4IHhtbGxpbnQgc2hlbGwgd3JpdGUgY29tbWFuZCAoR3dlbm4gS2FoeiksCisgICAgNjE0MDA1IFBvc3NpYmxlIGVycm9uZW91cyBIVE1MIHBhcnNpbmcgb24gdW50ZXJtaW5hdGVkIHNjcmlwdCAoUGllcnJlIEJlbHppbGUpLAorICAgIDYyNzk4NyBGaXggWFNEIElEQyBlcnJvcnMgaW4gaW1wb3J0ZWQgc2NoZW1hcyAoSmltIFBhbmV0dGEpLAorICAgIDYyOTMyNSBYUGF0aCByb3VuZGluZyBlcnJvcnMgZmlyc3QgY2xlYW51cCAoUGhpbCBTaGFmZXIpLAorICAgIDYzMDE0MCBmaXggaXNvOTk1eCBlbmNvZGluZyBlcnJvciAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBtYWtlIHN1cmUgaHRtbEN0eHRSZXNldCBkbyByZXNldCB0aGUgZGlzYWJsZVNBWCBmaWVsZCAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggYSBjaGFuZ2Ugb2Ygc2VtYW50aWMgb24gWFBhdGggcHJlY2VkaW5nIGFuZCBmb2xsb3dpbmcgYXhpcyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggYSBwb3RlbnRpYWwgc2VnZmF1bHQgZHVlIHRvIHdlYWsgc3ltYm9scyBvbiBwdGhyZWFkcyAoTWlrZSBIb21tZXkpLAorICAgIEZpeCBhIGxlYWsgaW4gWFBhdGggY29tcGlsYXRpb24gKERhbmllbCBWZWlsbGFyZCksCisgICAgRml4IHRoZSBzZW1hbnRpYyBvZiBYUGF0aCBheGlzIGZvciBuYW1lc3BhY2UvYXR0cmlidXRlIGNvbnRleHQgbm9kZXMgKERhbmllbCBWZWlsbGFyZCksCisgICAgQXZvaWQgYSBkZXNjcmlwdG9yIGxlYWsgaW4gY2F0YWxvZyBsb2FkaW5nIGNvZGUgKENhcmxvIEJyYW1pbmkpLAorICAgIEZpeCBhIHNtYWxsIGJ1ZyBpbiBYUGF0aCBldmFsdWF0aW9uIGNvZGUgKE1hcml1cyBXYWNodGxlciksCisgICAgRml4IGhhbmRsaW5nIG9mIFhNTC0xLjAgWE1MIG5hbWVzcGFjZSBkZWNsYXJhdGlvbiAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggZXJyb3JzIGluIFhTRCBkb3VibGUgdmFsaWRhdGlvbiBjaGVjayAoQ3NhYmEgUmFkdWx5KSwKKyAgICBGaXggaGFuZGxpbmcgb2YgYXBvcyBpbiBVUklzIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIHhtbFRleHRSZWFkZXJSZWFkT3V0ZXJYbWwgc2hvdWxkIGhhbmRsZSBEVEQgKFJvYiBSaWNoYXJkcyksCisgICAgQXV0b2dlbi5zaCBuZWVkcyB0byBjcmVhdGUgbTQgZGlyZWN0b3J5IChSb2IgUmljaGFyZHMpCisgIDwvbGk+CisgIDxsaT4gSW1wcm92ZW1lbnRzOgorICAgIDYwNjU5MiB1cGRhdGUgbGFuZ3VhZ2UgSUQgcGFyc2VyIHRvIFJGQyA1NjQ2IChEYW5pZWwgVmVpbGxhcmQpLAorICAgIFNvcnQgcHl0aG9uIGdlbmVyYXRlZCBzdHVicyAoTWlrZSBIb21tZXkpLAorICAgIEFkZCBhbiBIVE1MIHBhcnNlciBvcHRpb24gdG8gYXZvaWQgYSBkZWZhdWx0IGRvY3R5cGUgKERhbmllbCBWZWlsbGFyZCkKKyAgPC9saT4KKyAgPGxpPiBDbGVhbnVwczoKKyAgICA2MTg4MzEgZG9uJ3Qgc2hpcCBnZW5lcmF0ZWQgZmlsZXMgaW4gZ2l0IChBZHJpYW4gQnVuayksCisgICAgU3dpdGNoIGZyb20gdGhlIG9ic29sZXRlIG1raW5zdGFsbGRpcnMgdG8gQUNfUFJPR19NS0RJUl9QIChBZHJpYW4gQnVuayksCisgICAgVmFyaW91cyBjbGVhbnVwcyBvbiBlbmNvZGluZyBoYW5kbGluZyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggeG1sbGludCB0byB1c2UgZm9ybWF0PTEgZm9yIGRlZmF1bHQgZm9ybWF0dGluZyAoQWRhbSBTcHJhZ2cpLAorICAgIEZvcmNlIF94bWxTYXZlQ3R4dC5mb3JtYXQgdG8gYmUgMCBvciAxIChBZGFtIFNwcmFnZyksCisgICAgQ2xlYW51cCBlbmNvZGluZyBwb2ludGVyIGNvbXBhcmlzb24gKE5pa29sYXkgU2l2b3YpLAorICAgIFNtYWxsIGNvZGUgY2xlYW51cCBvbiBwcmV2aW91cyBwYXRjaCAoRGFuaWVsIFZlaWxsYXJkKQorICA8L2xpPgorPC91bD48aDM+Mi43Ljc6IE1hciAxNSAyMDEwPC9oMz48dWw+CisgIDxsaT4gSW1wcm92ZW1lbnRzOgorICAgIEFkZGluZyBhIC0teHBhdGggb3B0aW9uIHRvIHhtbGxpbnQgKERhbmllbCBWZWlsbGFyZCksCisgICAgTWFrZSBIVE1MIHBhcnNlciBub24tcmVjdXJzaXZlIChFdWdlbmUgUGltZW5vdikKKyAgPC9saT4KKyAgPGxpPiBQb3J0YWJpbGl0eToKKyAgICByZWxheG5nLmM6IGNhc3QgdG8gYWxsb3cgY29tcGlsYXRpb24gd2l0aCBzdW4gc3R1ZGlvIDExIChCZW4gV2FsdG9uKSwKKyAgICBGaXggYnVpbGQgZmFpbHVyZSBvbiBTcGFyYyBzb2xhcmlzIChSb3VtZW4gUGV0cm92KSwKKyAgICB1c2UgYXV0b3JlY29uZiBpbiBhdXRvZ2VuLnNoIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEZpeCBidWlsZCB3aXRoIG1pbmd3IChSb3VtZW4gUGV0cm92KSwKKyAgICBVcGdyYWRlIHNvbWUgb2YgdGhlIGNvbmZpZ3VyZSBhbmQgYXV0b2dlbiAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggcmVsYXhORyB0ZXN0cyBpbiBydW50ZXN0IGZvciBXaW5kb3dzIHJ1bnRlc3QuYzogaW5pdGlhbGl6ZSByZXQgKFJvYiBSaWNoYXJkcyksCisgICAgRml4IGEgY29uc3Qgd2FybmluZyBpbiB4bWxOb2RlU2V0QmFzZSAoTWFydGluIFRyYXBwZWwpLAorICAgIEZpeCBweXRob24gZ2VuZXJhdG9yIHRvIG5vdCB1c2UgZGVwcmVjYXRlZCB4bWxsaWIgKERhbmllbCBWZWlsbGFyZCksCisgICAgVXBkYXRlIHNvbWUgYXV0b21ha2UgZmlsZXMgKERhbmllbCBWZWlsbGFyZCksCisgICAgNTk4Nzg1IEZpeCBuYW5vaHR0cCBvbiBXaW5kb3dzIChzcGFkaXgpCisgIDwvbGk+CisgIDxsaT4gQnVnIEZpeGVzOgorICAgIGxpYnhtbCB2aW9sYXRlcyB0aGUgemxpYiBpbnRlcmZhY2UgYW5kIGNyYXNoZXMgKE1hcmsgQWRsZXIpLAorICAgIEZpeCBicm9rZW4gZXNjYXBlIGJlaGF2aW91ciBpbiByZWdleHAgcmFuZ2VzIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEZpeCAgbWlzc2luZyB3aW4zMiBsaWJyYXJpZXMgaW4gbGlieG1sLTIuMC5wYyAoVm9sa2VyIEdyYWJzY2gpLAorICAgIEZpeCBkZXRlY3Rpb24gb2YgcHl0aG9uIGxpbmtlciBmbGFncyAoRGFuaWVsIE1hY2tzKSwKKyAgICBmaXggYnVpbGQgZXJyb3IgaW4gbGlieG1sMi9weXRob24gKFBhdWwgU21pdGgpLAorICAgIENodW5rUGFyc2VyOiBJbmNvcnJlY3QgZGVjb2Rpbmcgb2Ygc21hbGwgeG1sIGZpbGVzIChSYXVsIEh1ZGVhKSwKKyAgICBodG1sQ2hlY2tFbmNvZGluZyBkb2Vzbid0IHVwZGF0ZSBpbnB1dC1lbmQgYWZ0ZXIgc2hyaW5rIChFdWdlbmUgUGltZW5vdiksCisgICAgRml4IGEgbWlzc2luZyAjaWZkZWYgKERhbmllbCBWZWlsbGFyZCksCisgICAgRml4IGVuY29kaW5nIHNlbGVjdGlvbiBmb3IgeG1sUGFyc2VJbk5vZGVDb250ZXh0IChEYW5pZWwgVmVpbGxhcmQpLAorICAgIHhtbFByZXZpb3VzRWxlbWVudFNpYmxpbmcgbWlzdGFrZSAoRnJhbsODwqdvaXMgRGVseW9uKSwKKyAgICA2MDg3NzMgYWRkIGEgbWlzc2luZyBjaGVjayBpbiB4bWxHUk9XIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEZpeCB4bWxQYXJzZUluTm9kZUNvbnRleHQgZm9yIEhUTUwgY29udGVudCAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggbG9zdCBuYW1lc3BhY2Ugd2hlbiBjb3B5aW5nIG5vZGUgKiB0cmVlLmM6IHJlY29uY2lsZSBuYW1lc3BhY2UgaWYgbm90IGZvdW5kIChSb2IgUmljaGFyZHMpLAorICAgIEZpeCBzb21lIG1pc3NpbmcgY29tbWFzIGluIEhUTUwgZWxlbWVudCBsaXN0cyAoRXVnZW5lIFBpbWVub3YpLAorICAgIENvcnJlY3QgdmFyaWFibGUgdHlwZSB0byB1bnNpZ25lZCAoTmlrb2xheSBTaXZvdiksCisgICAgUmVjb2duaXplIElEIGF0dHJpYnV0ZSBpbiBIVE1MIHdpdGhvdXQgRE9DVFlQRSAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggbWVtb3J5IGxlYWsgaW4geG1sWFBhdGhFdmFsRXhwcmVzc2lvbigpIChNYXJ0aW4pLAorICAgIEZpeCBhbiBpbml0IGJ1ZyBpbiBnbG9iYWwuYyAoS2FpIEhlbm5pbmcpLAorICAgIEZpeCB4bWxOb2RlU2V0QmFzZSgpIGNvbW1lbnQgKERhbmllbCBWZWlsbGFyZCksCisgICAgRml4IGJyb2tlbiBlc2NhcGUgYmVoYXZpb3VyIGluIHJlZ2V4cCByYW5nZXMgKERhbmllbCBWZWlsbGFyZCksCisgICAgRG9uJ3QgZ2l2ZSBkZWZhdWx0IEhUTUwgYm9vbGVhbiBhdHRyaWJ1dGUgdmFsdWVzIGluIHBhcnNlciAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICB4bWxDdHh0UmVzZXRMYXN0RXJyb3Igc2hvdWxkIHJlc2V0IGN0eHQtZXJyTm8gKERhbmllbCBWZWlsbGFyZCkKKyAgPC9saT4KKyAgPGxpPiBDbGVhbnVwczoKKyAgICBDbGVhbnVwIGEgY291cGxlIG9mIHdlaXJkbmVzcyBpbiBIVE1MIHBhcnNlciAoRXVnZW5lIFBpbWVub3YpCisgIDwvbGk+Cis8L3VsPjxoMz4yLjcuNjogT2N0ICA2IDIwMDk8L2gzPjx1bD4KKyAgPGxpPiBCdWcgRml4ZXM6CisgICAgIFJlc3RvcmUgdGhyZWFkIHN1cHBvcnQgaW4gZGVmYXVsdCBjb25maWd1cmF0aW9uIChBbmRyZXcgVy4gTm9zZW5rbyksCisgICAgIFVSSSB3aXRoIG5vIHBhdGggcGFyc2luZyBwcm9ibGVtIChEYW5pZWwgVmVpbGxhcmQpLAorICAgICBNaW5vciBwYXRjaCBmb3IgY29uZGl0aW9uYWwgZGVmaW5lcyBpbiB0aHJlYWRzLmMgKEVyaWMgWnVyY2hlcikKKyAgPC9saT4KKzwvdWw+PGgzPjIuNy41OiBTZXAgMjQgMjAwOTwvaDM+PHVsPgorICA8bGk+IEJ1ZyBGaXhlczoKKyAgICBSZXN0b3JlIGJlaGF2aW9yIG9mIC0td2l0aC10aHJlYWRzIHdpdGhvdXQgYXJndW1lbnQgKEFuZHJldyBXLiBOb3NlbmtvKSwKKyAgICBGaXggbWVtb3J5IGxlYWsgd2hlbiBkb2MgaXMgTlVMTCAoUm9iIFJpY2hhcmRzKSwKKyAgICA1OTU3OTIgZml4aW5nIGEgUmVsYXhORyBidWcgaW50cm9kdWNlZCBpbiAyLjcuNCAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggYSBSZWxheG5nIGJ1ZyByYWlzZWQgYnkgbGlidmlydCB0ZXN0IHN1aXRlIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEZpeCBhIHBhcnNpbmcgcHJvYmxlbSB3aXRoIGxpdHRsZSBkYXRhIGF0IHN0YXJ0dXAgKERhbmllbCBWZWlsbGFyZCksCisgICAgbGluayBweXRob24gbW9kdWxlIHdpdGggcHl0aG9uIGxpYnJhcnkgKEZyZWRlcmljIENyb3phdCksCisgICAgNTk0ODc0IEZvcmdvdCBhbiBmY2xvc2UgaW4geG1sbGludCAoRGFuaWVsIFZlaWxsYXJkKQorICA8L2xpPgorICA8bGk+IENsZWFudXA6CisgICAgQWRkaW5nIHN5bWJvbHMueG1sIHRvIEVYVFJBX0RJU1QgKERhbmllbCBWZWlsbGFyZCkKKyAgPC9saT4KKzwvdWw+PGgzPjIuNy40OiBTZXAgMTAgMjAwOTwvaDM+PHVsPgorICA8bGk+SW1wcm92ZW1lbnRzOgorICAgIFN3aXRjaCB0byBHSVQgKEdOT01FKSwKKyAgICBBZGQgc3ltYm9sIHZlcnNpb25pbmcgdG8gbGlieG1sMiBzaGFyZWQgbGlicyAoRGFuaWVsIFZlaWxsYXJkKQorICA8L2xpPgorICA8bGk+UG9ydGFiaWxpdHk6CisgICAgNTkzODU3IHRyeSB0byB3b3JrIGFyb3VuZCB0aHJlYWQgcGJtIE1pbkdXIDQuNCAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICA1OTQyNTAgcmVuYW1lIEFUVFJJQlVURV9BTExPQ19TSVpFIHRvIGF2b2lkIGNsYXNoZXMgKERhbmllbCBWZWlsbGFyZCksCisgICAgRml4IFdpbmRvd3MgYnVpbGQgKiByZWxheG5nLmM6IGZpeCB3aW5kb3dzIGJ1aWxkIChSb2IgUmljaGFyZHMpLAorICAgIEZpeCB0aGUgZ2xvYmFscy5oIHRvIHVzZSBYTUxQVUJGVU4gKFBhdWwgU21pdGgpLAorICAgIFByb2JsZW0gd2l0aCBleHRlcm4gZXh0ZXJuIGluIGhlYWRlciAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBBZGQgLWxuZXR3b3JrIGZvciBjb21waWxpbmcgb24gSGFpa3UgKFNjb3R0IE1jQ3JlYXJ5KSwKKyAgICBSdW50ZXN0IHBvcnRhYmlsaXR5IHBhdGNoIGZvciBTb2xhcmlzIChUaW0gUmljZSksCisgICAgU21hbGwgcGF0Y2ggdG8gYWNjb21vZGF0ZSB0aGUgSGFpa3UgT1MgKFNjb3R0IE1jQ3JlYXJ5KSwKKyAgICA1ODQ2MDUgcGFja2FnZSBWeFdvcmtzIGZvbGRlciBpbiB0aGUgZGlzdHJpYnV0aW9uIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIDU3NDAxNyBSZWFsbG9jIHRvbyBleHBlbnNpdmUgb24gbW9zdCBwbGF0Zm9ybSAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggd2luZG93cyBidWlsZCAoUm9iIFJpY2hhcmRzKSwKKyAgICA1NDU1NzkgZG9lc24ndCBjb21waWxlIHdpdGhvdXQgc2NoZW1hIHN1cHBvcnQgKERhbmllbCBWZWlsbGFyZCksCisgICAgeG1sbGludCB1c2UgeG1sR2V0Tm9kZVBhdGggd2hlbiBub3QgY29tcGlsZWQgaW4gKERhbmllbCBWZWlsbGFyZCksCisgICAgVHJ5IHRvIGF2b2lkIF9faW1wX194bWxGcmVlIGxpbmsgdHJvdWJsZSBvbiBtc3lzIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEFsbG93IHRvIHNlbGVjdCB0aGUgdGhyZWFkaW5nIHN5c3RlbSBvbiBXaW5kb3dzIChMUk4pLAorICAgIEZpeCBTb2xhcmlzIGJpbmFyeSBsaW5rcywgY2xlYW51cHMgKERhbmllbCBWZWlsbGFyZCksCisgICAgQnVnIDU3MTA1OSDDosKAwpMgTVNWQyBkb2Vzbid0IHdvcmsgd2l0aCB0aGUgYmFrZWZpbGUgKEludHJvbiksCisgICAgZml4IEFUVFJJQlVURV9QUklOVEYgaGVhZGVyIGNsYXNoIChCZWxnYWJvciBhbmQgTWlrZSBIb21tZXkpLAorICAgIGZpeGVzIGZvciBCb3JsYW5kL0NvZGVHZWFyL0VtYmFyY2FkZXJvIGNvbXBpbGVycyAoRXJpYyBadXJjaGVyKQorICA8L2xpPgorICA8bGk+RG9jdW1lbnRhdGlvbjoKKyAgICA1NDQ5MTAgdHlwbzogInJlbmNpbGlhdGVOcyIgKExlb25pZCBFdmRva2ltb3YpLAorICAgIEFkZCBWeFdvcmtzIHRvIGxpc3Qgb2YgT1NlcyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBSZWdlbmVyYXRlIHRoZSBkb2N1bWVudGF0aW9uIGFuZCB1cGRhdGUgZm9yIGdpdCAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICA1NjA1MjQgw4LCvyB4bWxUZXh0UmVhZGVyTG9jYWxOYW1lIGRlc2NyaXB0aW9uIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEFkZGVkIHNwb25zb3JpbmcgYnkgQU9FIG1lZGlhIGZvciB0aGUgc2VydmVyIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIHVwZGF0ZWQgVVJMcyBmb3IgR05PTUUgKFZpbmNlbnQgTGVmZXZyZSksCisgICAgbW9yZSB3YXJuaW5ncyBhYm91dCB4bWxDbGVhbnVwVGhyZWFkcyBhbmQgeG1sQ2xlYW51cFBhcnNlciAoRGFuaWVsIFZlaWxsYXJkKQorICA8L2xpPgorICA8bGk+QnVnIGZpeGVzOgorICAgIDU5NDUxNCBtZW1vcnkgbGVha3MgLSBkdXBsaWNhdGUgaW5pdGlhbGl6YXRpb24gKE1PRCksCisgICAgV3JvbmcgYmxvY2sgb3BlbmluZyBpbiBodG1sTm9kZUR1bXBPdXRwdXRJbnRlcm5hbCAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICA0OTIzMTcgRml4ICBSZWxheC1ORyB2YWxpZGF0aW9uIHByb2JsZW1zIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIDU1ODQ1MiBmaWdodCB3aXRoIHJlZyB0ZXN0IGFuZCBlcnJvciByZXBvcnQgKERhbmllbCBWZWlsbGFyZCksCisgICAgNTU4NDUyIFJORyBjb21waWxhdGlvbiBvZiBvcHRpb25hbCBtdWx0aXBsZSBjaGlsZCAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICA1Nzk3NDYgWFNEIHZhbGlkYXRpb24gbm90IGNvcnJlY3QgLyBuaWxhYmxlIGdyb3VwcyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICA1MDI5NjAgcHJvdmlkZSBuYW1lc3BhY2Ugc3RhY2sgd2hlbiBwYXJzaW5nIGVudGl0eSAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICA1NjYwMTIgcGFydCAyIGZpeCByZWdyZXNpb24gdGVzdHMgYW5kIHB1c2ggbW9kZSAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICA1NjYwMTIgYXV0b2RldGVjdGVkIGVuY29kaW5nIGFuZCBlbmNvZGluZyBjb25mbGljdCAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICA1ODQyMjAgeHBvaW50ZXIoLykgYW5kIHhpbmNsdWRlIHByb2JsZW1zIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIDU4NzY2MyBJbmNvcnJlY3QgQXR0cmlidXRlLVZhbHVlIE5vcm1hbGl6YXRpb24gKERhbmllbCBWZWlsbGFyZCksCisgICAgNDQ0OTk0IEhUTUwgY2h1bmtlZCBmYWlsdXJlIGZvciBhdHRyaWJ1dGUgd2l0aCAmbHQ7Jmd0OyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggZW5kIG9mIGJ1ZmZlciBjaGFyIGJlaW5nIHNwbGl0IGluIFhNTCBwYXJzZXIgKERhbmllbCBWZWlsbGFyZCksCisgICAgTm9uIEFTQ0lJIGNoYXJhY3RlciBtYXkgYmUgc3BsaXQgYXQgYnVmZmVyIGVuZCAoQWRpZWwgTWl0dG1hbm4pLAorICAgIDQ0MDIyNiBBZGQgeG1sWEluY2x1ZGVQcm9jZXNzVHJlZUZsYWdzRGF0YSBBUEkgKFN0ZWZhbiBCZWhuZWwpLAorICAgIDU3MjEyOSBzcGVlZCB1cCBwYXJzaW5nIG9mIGxhcmdlIEhUTUwgdGV4dCBub2RlcyAoTWFya3VzIEt1bGwpLAorICAgIEZpeCBIVE1MIHBhcnNpbmcgd2l0aCAwIGNoYXJhY3RlciBpbiBDREFUQSAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggU2V0R2VuZXJpY0Vycm9yRnVuYyBhbmQgU2V0U3RydWN0dXJlZCBjbGFzaCAoV2FuZyBMYW0pLAorICAgIDU2NjAxMiAgSW5jb21wbGV0ZSBFQkNESUMgcGFyc2luZyBzdXBwb3J0IChNYXJ0aW4gS29nbGVyKSwKKyAgICA1NDEzMzUgSFRNTCBhdm9pZCBjcmVhdGluZyAyIGhlYWQgb3IgMiBib2R5IGVsZW1lbnQgKERhbmllbCBWZWlsbGFyZCksCisgICAgNTQxMjM3IGVycm9yIGNvcnJlY3RpbmcgbWlzc2luZyBlbmQgdGFncyBpbiBIVE1MIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIDU4MzQzOSBtaXNzaW5nIGxpbmUgbnVtYmVycyBpbiBwdXNoIG1vZGUgKERhbmllbCBWZWlsbGFyZCksCisgICAgNTg3ODY3IHhtbGxpbnQgLS1odG1sIC0teG1sb3V0IHNlcmlhbGl6aW5nIGFzIEhUTUwgKERhbmllbCBWZWlsbGFyZCksCisgICAgNTU5NTAxIGF2b2lkIHNlbGVjdCBhbmQgdXNlIHBvbGwgZm9yIG5hbm9odHRwIChSYXBoYWVsIFByZXZvc3QpLAorICAgIDU1OTQxMCAtICBSZWdleHAgYnVnIG9uICguLi4pPyBjb25zdHJ1Y3RzIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEZpeCBhIHNtYWxsIHByb2JsZW0gb24gcHJldmlvdXMgSFRNTCBwYXJzZXIgcGF0Y2ggKERhbmllbCBWZWlsbGFyZCksCisgICAgNTkyNDMwIC0gIEhUTUwgcGFyc2VyIHJ1bnMgaW50byBlbmRsZXNzIGxvb3AgKERhbmllbCBWZWlsbGFyZCksCisgICAgNDQ3ODk5IHBvdGVudGlhbCBkb3VibGUgZnJlZSBpbiB4bWxGcmVlVGV4dFJlYWRlciAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICA0NDY2MTMgc21hbGwgdmFsaWRhdGlvbiBidWcgbWl4ZWQgY29udGVudCB3aXRoIE5TIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEZpeCB0aGUgcHJvYmxlbSBvZiByZXZhbGlkYXRpbmcgYSBkb2Mgd2l0aCBSTkcgKERhbmllbCBWZWlsbGFyZCksCisgICAgRml4IHhtbEtlZXBCbGFua3NEZWZhdWx0IHRvIG5vdCBicmVhayBpbmRlbnQgKE5pY2sgV2VsbG5ob2ZlciksCisgICAgNTEyMTMxIHJlZnMgZnJvbSBleHRlcm5hbFJlZiBwYXJ0IG5lZWQgdG8gYmUgYWRkZWQgKERhbmllbCBWZWlsbGFyZCksCisgICAgNTEyMTMxIGNyYXNoIGluIHhtbFJlbGF4TkdWYWxpZGF0ZUZ1bGxFbGVtZW50IChEYW5pZWwgVmVpbGxhcmQpLAorICAgIDU4ODQ0MSBhbGxvdyAnLicgaW4gSFRNTCBOYW1lcyBldmVuIGlmIGludmFsaWQgKERhbmllbCBWZWlsbGFyZCksCisgICAgNTgyOTEzIEZpeCBodG1sU2V0TWV0YUVuY29kaW5nKCkgdG8gYmUgbmljZXIgKERhbmllbCBWZWlsbGFyZCksCisgICAgNTc5MzE3IFRyeSB0byBmaW5kIHRoZSBIVE1MIGVuY29kaW5nIGluZm9ybWF0aW9uIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIDU3NTg3NSBkb24ndCBvdXRwdXQgY2hhcnNldD1odG1sIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIDU3MTI3MSBmaXggc2VtYW50aWMgb2YgeHNkOmFsbCB3aXRoIG1pbk9jY3Vycz0wIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIDU3MDcwMiBmaXggYSBidWcgaW4gcmVnZXhwIGRldGVybWluaXNtIGNoZWNraW5nIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIDU2NzYxOSB4bWxWYWxpZGF0ZU5vdGF0aW9uVXNlIG1pc3NpbmcgcGFyYW0gdGVzdCAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICA1NzQzOTMgw4LCvyB1dGYtOCBmaWxlbmFtZSBtYWdpYyBmb3IgY29tcHJlc3NlZCBmaWxlcyAoSGFucyBCcmV1ZXIpLAorICAgIEZpeCBhIGNvdXBsZSBvZiBwcm9ibGVtcyBpbiB0aGUgcGFyc2VyIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIDU4NTUwNSDDgsK/IERvY3VtZW50IGlkcyBhbmQgcmVmcyBwb3B1bGF0ZWQgYnkgWFNEIChXYXluZSBKZW5zZW4pLAorICAgIDU4MjkwNiBYU0QgdmFsaWRhdGluZyBtdWx0aXBsZSBpbXBvcnRzIG9mIHRoZSBzYW1lIHNjaGVtYSAoSmFzb24gQ2hpbGRzKSwKKyAgICBCdWcgNTgyODg3IMOCwr8gcHJvYmxlbXMgdmFsaWRhdGluZyBjb21wbGV4IHNjaGVtYXMgKEphc29uIENoaWxkcyksCisgICAgQnVnIDU3OTcyOSDDgsK/IGZpeCBYU0Qgc2NoZW1hcyBwYXJzaW5nIGNyYXNoIChNaXJvc2xhdiBCYWp0b3MpLAorICAgIDU3NjM2OCDDgsK/IGh0bWxDaHVua1BhcnNlciB3aXRoIHNwZWNpYWwgYXR0cmlidXRlcyAoSmlyaSBOZXRvbGlja3kpLAorICAgIEJ1ZyA1NjU3NDcgw4LCvyByZWxheCBhbnlVUkkgZGF0YSBjaGFyYWN0ZXIgY2hlY2tpbmcgKFZpbmNlbnQgTGVmZXZyZSksCisgICAgUHJlc2VydmUgYXR0cmlidXRlcyBvZiBpbmNsdWRlIHN0YXJ0IG9uIHRyZWUgY29weSAoUGV0ciBQYWphcyksCisgICAgU2tpcCBzaWxlbnRseSB1bnJlY29nbml6ZWQgWFBvaW50ZXIgc2NoZW1lcyAoSmFrdWIgV2lsayksCisgICAgRml4IGxlYWsgb24gU0FYMSwgeG1sbGludCAtLXNheDEgb3B0aW9uIGFuZCBkZWJ1ZyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBwb3RlbnRpYWwgTlVMTCBkZXJlZmVyZW5jZSBvbiBub24tZ2xpYmMgKEppbSBNZXllcmluZyksCisgICAgRml4IGFuIFhTRCB2YWxpZGF0aW9uIGNyYXNoIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEZpeCBhIHJlZ3Jlc3Npb24gaW4gc3RyZWFtaW5nIGVudGl0aWVzIHN1cHBvcnQgKERhbmllbCBWZWlsbGFyZCksCisgICAgRml4IGEgY291cGxlIG9mIEFCSSBpc3N1ZXMgd2l0aCBDMTROIDEuMSAoQWxla3NleSBTYW5pbiksCisgICAgQWxla3NleSBTYW5pbiBzdXBwb3J0IGZvciBjMTRuIDEuMSAoQWxla3NleSBTYW5pbiksCisgICAgcmVhZGVyIGJ1ZyBmaXggd2l0aCBlbnRpdGllcyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICB1c2Ugb3B0aW9ucyBmcm9tIGN1cnJlbnQgcGFyc2VyIGN0eHQgZm9yIGV4dGVybmFsIGVudGl0aWVzIChSb2IgUmljaGFyZHMpLAorICAgIDU4MTYxMiB1c2UgJXMgdG8gcHJpbnRmIHN0cmluZ3MgKENocmlzdGlhbiBQZXJzY2gpLAorICAgIDU4NDYwNSBjaGFuZ2UgdGhlIHRocmVhZGluZyBpbml0aWFsaXphdGlvbiBzZXF1ZW5jZSAoSWdvciBOb3Zvc2VsdHNldiksCisgICAgNTgwNzA1IGtlZXAgbGluZSBudW1iZXJzIGluIEhUTUwgcGFyc2VyIChBYXJvbiBQYXR0ZXJzb24pLAorICAgIDU4MTgwMyBicm9rZW4gSFRNTCB0YWJsZSBhdHRyaWJ1dGVzIGluaXQgKFJvbGFuZCBTdGVpbmVyKSwKKyAgICBkbyBub3Qgc2V0IGVycm9yIGNvZGUgaW4geG1sTnNXYXJuIChSb2IgUmljaGFyZHMpLAorICAgIDU2NDIxNyBmaXggc3RydWN0dXJlZCBlcnJvciBoYW5kbGluZyBwcm9ibGVtcywKKyAgICByZXVzZSBvcHRpb25zIGZyb20gY3VycmVudCBwYXJzZXIgZm9yIGVudGl0aWVzIChSb2IgUmljaGFyZHMpLAorICAgIHhtbFhQYXRoUmVnaXN0ZXJOcyBzaG91bGQgbm90IGFsbG93IGVucHR5IHByZWZpeGVzIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIGFkZCBhIG1pc3NpbmcgY2hlY2sgaW4geG1sQWRkU2libGluZyAoS3JpcyBCcmV1a2VyKSwKKyAgICBhdm9pZCBsZWFrcyBvbiBlcnJvcnMgKEppbm1laSBUYXR1eWEpCisgIDwvbGk+CisgIDxsaT5DbGVhbnVwOgorICAgIENoYXNpbmcgZGVhZCBhc3NpZ25tZW50cyByZXBvcnRlZCBieSBjbGFuZy1zY2FuIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEEgZmV3IG1vcmUgc2FmZXR5IGNsZWFudXAgcmFpc2VkIGJ5IHNjYW4gKERhbmllbCBWZWlsbGFyZCksCisgICAgRml4aW5nIGFzc29ydGVkIHBvdGVudGlhbCBwcm9ibGVtcyByYWlzZWQgYnkgc2NhbiAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBQb3RlbnRpYWwgdW5pbml0aWFsaXplZCBhcmd1bWVudHMgcmFpc2VkIGJ5IHNjYW4gKERhbmllbCBWZWlsbGFyZCksCisgICAgRml4IGEgYnVuY2ggb2Ygc2NhbiAnZGVhZCBpbmNyZW1lbnRzJyBhbmQgY2xlYW51cCAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBSZW1vdmUgYSBwZWRhbnRpYyB3YXJuaW5nIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIDU1NTgzMyBhbHdheXMgdXNlIHJtIC1mIGluIHVuaW5zdGFsbC1sb2NhbCAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICA1NDIzOTQgeG1sUmVnaXN0ZXJPdXRwdXRDYWxsYmFja3MgTUFYX0lOUFVUX0NBTExCQUNLIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEF1dG9yZWdlbmVyYXRlIGxpYnhtbDIuc3ltcyBhdXRvbWF0ZWQgY2hlY2tpbmdzIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIE1ha2UgeG1sUmVjb3ZlckRvYyBjb25zdCAoTWFydGluIFRyYXBwZWwpIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEJvdGggYXJncyBvZiB4bWxTdHJjYXNlc3RyIGFyZSBjb25zdCAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBoaWRlIHRoZSBuYlBhcnNlKiB2YXJpYWJsZXMgdXNlZCBmb3IgZGVidWdnaW5nIChNaWtlIEhvbW1leSksCisgICAgNTcwODA2IGNoYW5nZWQgaW5jbHVkZSBvZiBjb25maWcuaCAoV2lsbGlhbSBNLiBCcmFjayksCisgICAgY2xlYW51cHMgYW5kIGVycm9yIHJlcG9ydHMgd2hlbiB4bWxUZXh0V3JpdGVyVlNwcmludGYgZmFpbHMgKEppbm1laSBUYXR1eWEpCisgIDwvbGk+Cis8L3VsPjxoMz4yLjcuMzogSmFuIDE4IDIwMDk8L2gzPjx1bD4KKyAgPGxpPkJ1aWxkIGZpeDogZml4IGJ1aWxkIHdoZW4gSFRNTCBzdXBwb3J0IGlzIG5vdCBpbmNsdWRlZC48L2xpPgorICA8bGk+QnVnIGZpeGVzOiBhdm9pZCBtZW1vcnkgb3ZlcmZsb3cgaW4gZ2lnYW50aWMgdGV4dCBub2RlcywKKyAgICAgIGluZGVudGF0aW9uIHByb2JsZW0gb24gdGhlIHdyaXRlZCAoUm9iIFJpY2hhcmRzKSwKKyAgICAgIHhtbEFkZENoaWxkTGlzdCBwb2ludGVyIHByb2JsZW0gKFJvYiBSaWNoYXJkcyBhbmQgS2V2aW4gTWlsYnVybiksCisgICAgICB4bWxBZGRDaGlsZCBwcm9ibGVtIHdpdGggYXR0cmlidXRlIChSb2IgUmljaGFyZHMgYW5kIEtyaXMgQnJldWtlciksCisgICAgICBhdm9pZCBhIG1lbW9yeSBsZWFrIGluIGFuIGVkZ2UgY2FzZSAoRGFuaWVsIFppbW1lcm1hbm4pLAorICAgICAgZGVhbGxvY2F0ZSBzb21lIHB0aHJlYWQgZGF0YSAoQWxleCBPdHQpLjwvbGk+CisgIDxsaT5JbXByb3ZlbWVudHM6IGNvbmZpZ3VyZSBvcHRpb24gdG8gYXZvaWQgcmVidWlsZGluZyBkb2NzIChBZHJpYW4gQnVuayksCisgICAgICBsaW1pdCB0ZXh0IG5vZGVzIHRvIDEwTUIgbWF4IGJ5IGRlZmF1bHQsIGFkZCBlbGVtZW50IHRyYXZlcnNhbAorICAgICAgQVBJcywgYWRkIGEgcGFyc2VyIG9wdGlvbiB0byBlbmFibGUgcHJlIDIuNyBTQVggYmVoYXZpb3IgKFJvYiBSaWNoYXJkcyksCisgICAgICBhZGQgZ2NjIG1hbGxvYyBjaGVja2luZyAoTWFyY3VzIE1laXNzbmVyKSwgYWRkIGdjYyBwcmludGYgbGlrZSBmdW5jdGlvbnMKKyAgICAgIHBhcmFtZXRlcnMgY2hlY2tpbmcgKE1hcmN1cyBNZWlzc25lcikuPC9saT4KKzwvdWw+PGgzPjIuNy4yOiBPY3QgMyAyMDA4PC9oMz48dWw+CisgICAgPGxpPlBvcnRhYmlsaXR5IGZpeDogZml4IHNvbGFyaXMgY29tcGlsYXRpb24gcHJvYmxlbSwgZml4IGNvbXBpbGF0aW9uCisgICAgICAgIGlmIFhQYXRoIGlzIG5vdCBjb25maWd1cmVkIGluPC9saT4KKyAgICA8bGk+QnVnIGZpeGVzOiBuYXN0eSBlbnRpdHkgYnVnIGludHJvZHVjZWQgaW4gMi43LjAsIHJlc3RvcmUgb2xkIGJlaGF2aW91cgorICAgICAgICB3aGVuIHNhdmluZyBhbiBIVE1MIGRvYyB3aXRoIGFuIHhtbCBkdW1wIGZ1bmN0aW9uLCBIVE1MIFVURi04IHBhcnNpbmcKKyAgICAgICAgYnVnLCBmaXggcmVhZGVyIGN1c3RvbSBlcnJvciBoYW5kbGVycyAoUmljY2FyZG8gU2N1c3NhdCkKKyAgICA8L2xpPjxsaT5JbXByb3ZlbWVudDogeG1sU2F2ZSBvcHRpb25zIGZvciBtb3JlIGZsZXhpYmlsaXR5IHRvIHNhdmUgYXMKKyAgICAgICAgWE1ML0hUTUwvWEhUTUwsIGhhbmRsZSBsZWFkaW5nIEJPTSBpbiBIVE1MIGRvY3VtZW50czwvbGk+Cis8L3VsPjxoMz4yLjcuMTogU2VwIDEgMjAwODwvaDM+PHVsPgorICAgIDxsaT5Qb3J0YWJpbGl0eSBmaXg6IEJvcmxhbmQgQyBmaXggKE1vcml0eiBCb3RoKTwvbGk+CisgICAgPGxpPkJ1ZyBmaXhlczogcHl0aG9uIHNlcmlhbGl6YXRpb24gd3JhcHBlcnMsIFhQYXRoIFFOYW1lIGNvcm5lcgorICAgICAgICBjYXNlIGhhbmRraW5nIGFuZCBsZWFrcyAoTWFydGluKTwvbGk+CisgICAgPGxpPkltcHJvdmVtZW50OiBleHRlbmQgdGhlIHhtbFNhdmUgdG8gaGFuZGxlIEhUTUwgZG9jdW1lbnRzIGFuZCB0cmVlczwvbGk+CisgICAgPGxpPkNsZWFudXA6IHB5dGhvbiBzZXJpYWxpemF0aW9uIHdyYXBwZXJzPC9saT4KKzwvdWw+PGgzPjIuNy4wOiBBdWcgMzAgMjAwODwvaDM+PHVsPgorICA8bGk+RG9jdW1lbnRhdGlvbjogc3dpdGNoIENoYW5nZUxvZyB0byBVVEYtOCwgaW1wcm92ZSBtdXRpdGhyZWFkcyBhbmQKKyAgICAgIHhtbFBhcnNlckNsZWFudXAgZG9jczwvbGk+CisgIDxsaT5Qb3J0YWJpbGl0eSBmaXhlczogT2xkZXIgV2luMzIgcGxhdGZvcm1zIChSb2IgUmljaGFyZHMpLCBNU1ZDCisgICAgICBwb3J0aW5nIGZpeCAoUm9iIFJpY2hhcmRzKSwgTWFjIE9TIFggcmVncmVzc2lvbiB0ZXN0cyAoU3ZlbiBIZXJ6YmVyZyksCisgICAgICBub24gR05VQ0MgYnVpbGRzIChSb2IgUmljaGFyZHMpLCBjb21waWxhdGlvbiBvbiBIYWlrdSAoQW5kcmVhcyBGw4PCpHJiZXIpCisgICAgICA8L2xpPgorICA8bGk+QnVnIGZpeGVzOiB2YXJpb3VzIHJlYWxsb2MgcHJvYmxlbXMgKEFzaHdpbiksIHBvdGVudGlhbCBkb3VibGUtZnJlZQorICAgICAgKEFzaHdpbiksIHJlZ2V4cCBjcmFzaCwgaWNyYXNoIHdpdGggaW52YWxpZCB3aGl0ZXNwYWNlIGZhY2V0cyAoUm9iCisgICAgICBSaWNoYXJkcyksIHBhdHRlcm4gZml4IHdoZW4gc3RyZWFtaW5nIChXaWxsaWFtIEJyYWNrKSwgdmFyaW91cyBYTUwKKyAgICAgIHBhcnNpbmcgYW5kIHZhbGlkYXRpb24gZml4ZXMgYmFzZWQgb24gdGhlIFczQyByZWdyZXNzaW9uIHRlc3RzLCByZWFkZXIKKyAgICAgIHRyZWUgc2tpcHBpbmcgZnVuY3Rpb24gZml4IChBc2h3aW4pLCBTY2hlbWFzIHJlZ2V4cHMgZXNjYXBpbmcgZml4CisgICAgICAoVm9sa2VyIEdyYWJzY2gpLCBoYW5kbGluZyBvZiBlbnRpdHkgcHVzaCBlcnJvcnMgKEFzaHdpbiksIGZpeCBhIHNsb3dkb3duCisgICAgICB3aGVuIGVuY29kZXIgY2FudCBzZXJpYWxpemUgY2hhcmFjdGVycyBvbiBvdXRwdXQ8L2xpPgorICA8bGk+Q29kZSBjbGVhbnVwOiBjb21waWxhdGlvbiBmaXggd2l0aG91dCB0aGUgcmVhZGVyLCB3aXRob3V0IHRoZSBvdXRwdXQKKyAgICAgIChSb2JlcnQgU2Nod2ViZWwpLCBweXRob24gd2hpdGVzcGFjZSAoTWFydGluKSwgbWFueSBzcGFjZS90YWJzIGNsZWFudXBzLAorICAgICAgc2VyaW91cyBjbGVhbnVwIG9mIHRoZSBlbnRpdHkgaGFuZGxpbmcgY29kZTwvbGk+CisgIDxsaT5JbXByb3ZlbWVudDogc3dpdGNoIHBhcnNlciB0byBYTUwtMS4wIDV0aCBlZGl0aW9uLCBhZGQgcGFyc2luZyBmbGFncworICAgICAgZm9yIG9sZCB2ZXJzaW9ucywgc3dpdGNoIFVSSSBwYXJzaW5nIHRvIFJGQyAzOTg2LAorICAgICAgYWRkIHhtbFNjaGVtYVZhbGlkQ3R4dEdldFBhcnNlckN0eHQgKEhvbGdlciBLYWVsYmVyZXIpLAorICAgICAgbmV3IGhhc2hpbmcgZnVuY3Rpb25zIGZvciBkaWN0aW9ubmFyaWVzIChiYXNlZCBvbiBTdGVmYW4gQmVobmVsIHdvcmspLAorICAgICAgaW1wcm92ZSBoYW5kbGluZyBvZiBtaXNwbGFjZWQgaHRtbC9oZWFkL2JvZHkgaW4gSFRNTCBwYXJzZXIsIGJldHRlcgorICAgICAgcmVncmVzc2lvbiB0ZXN0IHRvb2xzIGFuZCBjb2RlIGNvdmVyYWdlIGRpc3BsYXksIGJldHRlciBhbGdvcml0aG1zCisgICAgICB0byBkZXRlY3QgdmFyaW91cyB2ZXJzaW9ucyBvZiB0aGUgYmlsbGlvbiBsYXVnaHRzIGF0dGFja3MsIG1ha2UKKyAgICAgIGFyYml0cmFyeSBwYXJzZXIgbGltaXRzIGF2b2lkYWJsZSBhcyBhIHBhcnNlciBvcHRpb248L2xpPgorPC91bD48aDM+Mi42LjMyOiBBcHIgOCAyMDA4PC9oMz48dWw+CisgIDxsaT5Eb2N1bWVudGF0aW9uOiByZXR1cm5pbmcgaGVhcCBtZW1vcnkgdG8ga2VybmVsIChXb2xmcmFtIFNhbmcpLAorICAgICAgdHJ5aW5nIHRvIGNsYXJpZnkgeG1sQ2xlYW51cFBhcnNlcigpIHVzZSwgeG1sWFBhdGhDb250ZXh0IGltcHJvdmVtZW50CisgICAgICAoSmFjayBKYW5zZW4pLCBpbXByb3ZlIHRoZSAqUmVjb3ZlciogZnVuY3Rpb25zIGRvY3VtZW50YXRpb24sCisgICAgICBYbWxOb2RlVHlwZSBkb2MgbGluayBmaXggKE1hcnRpam4gQXJ0cyk8L2xpPgorICA8bGk+QnVnIGZpeGVzOiBpbnRlcm5hbCBzdWJzZXQgbWVtb3J5IGxlYWsgKEFzaHdpbiksIGF2b2lkIHByb2JsZW0gd2l0aAorICAgICAgcGF0aHMgc3RhcnRpbmcgd2l0aCAvLyAoUGV0ciBTdW1iZXJhKSwgc3RyZWFtaW5nIFhTRCB2YWxpZGF0aW9uIGNhbGxiYWNrCisgICAgICBwYXRjaGVzIChBc2h3aW4pLCBmaXggcmVkaXJlY3Rpb24gb24gcG9ydCBvdGhlciB0aGFuIDgwIChXaWxsaWFtIEJyYWNrKSwKKyAgICAgIFNBWDIgbGVhayAoQXNod2luKSwgWEluY2x1ZGUgZnJhZ21lbnQgb2Ygb3duIGRvY3VtZW50IChDaHJpcyBSeWFuKSwKKyAgICAgIHJlZ2V4cCBidWcgd2l0aCAnLicgKEFuZHJldyBUb3NoKSwgZmx1c2ggdGhlIHdyaXRlciBhdCB0aGUgZW5kIG9mIHRoZQorICAgICAgZG9jdW1lbnQgKEFsZnJlZCBNaWNrYXV0c2NoKSwgb3V0cHV0IEkvTyBidWcgZml4IChXaWxsaWFtIEJyYWNrKSwKKyAgICAgIHdyaXRlciBDREFUQSBvdXRwdXQgYWZ0ZXIgYSB0ZXh0IG5vZGUgKEFsZXggS2hlc2luKSwgVVRGLTE2IGVuY29kaW5nCisgICAgICBkZXRlY3Rpb24gKFdpbGxpYW0gQnJhY2spLCBmaXggaGFuZGxpbmcgb2YgZW1wdHkgQ0RBVEEgbm9kZXMgZm9yIFNhZmFyaQorICAgICAgdGVhbSwgcHl0aG9uIGJpbmRpbmcgcHJvYmxlbSB3aXRoIG5hbWVzcGFjZSBub2RlcywgaW1wcm92ZSBIVE1MIHBhcnNpbmcKKyAgICAgIChBcm5vbGQgSGVuZHJpa3MpLCByZWdleHAgYXV0b21hdGEgYnVpbGQgYnVnLCBtZW1vcnkgbGVhayBmaXggKFZhc2lseQorICAgICAgQ2hla2Fsa2luKSwgWFNEIHRlc3QgY3Jhc2gsIHdlaXJkIHN5c3RlbSBwYXJhbWV0ZXIgZW50aXR5IHBhcnNpbmcgcHJvYmxlbSwKKyAgICAgIGFsbG93IHNhdmUgdG8gZmlsZTovLy9YOi8gd2luZG93cyBwYXRocywgdmFyaW91cyBhdHRyaWJ1dGUgbm9ybWFsaXNhdGlvbgorICAgICAgcHJvYmxlbXMsIGV4dGVybmFsU3Vic2V0U3BsaXQgZml4IChBc2h3aW4pLCBhdHRyaWJ1dGUgcmVkZWZpbml0aW9uIGluCisgICAgICB0aGUgRFREIChBc2h3aW4pLCBmaXggaW4gY2hhciByZWYgcGFyc2luZyBjaGVjayAoQWxleCBLaGVzaW4pLCBtYW55CisgICAgICBvdXQgb2YgbWVtb3J5IGhhbmRsaW5nIGZpeGVzIChBc2h3aW4pLCBYUGF0aCBvdXQgb2YgbWVtb3J5IGhhbmRsaW5nIGZpeGVzCisgICAgICAoQWx2YXJvIEhlcnJlcmEpLCB2YXJpb3VzIHJlYWxsb2MgcHJvYmxlbXMgKEFzaHdpbiksIFVDUzQgZW5jb2RpbmcKKyAgICAgIGNvbnZlcnNpb24gYnVmZmVyIHNpemUgKENocmlzdGlhbiBGcnV0aCksIHByb2JsZW1zIHdpdGggRWF0TmFtZQorICAgICAgZnVuY3Rpb25zIG9uIG1lbW9yeSBlcnJvcnMsIEJPTSBoYW5kbGluZyBpbiBleHRlcm5hbCBwYXJzZWQgZW50aXRpZXMKKyAgICAgIChNYXJrIFJvd2UpPC9saT4KKyAgPGxpPkNvZGUgY2xlYW51cDogZml4IGJ1aWxkIHVuZGVyIFZTIDIwMDggKERhdmlkIFdpbXNleSksIHJlbW92ZSB1c2VsZXNzCisgICAgICBtdXRleCBpbiB4bWxEaWN0IChGbG9yZW50IEd1aWxpYW4pLCBNaW5ndzMyIGNvbXBpbGF0aW9uIGZpeCAoQ2FybG8KKyAgICAgIEJyYW1pbmkpLCBXaW4gYW5kIE1hY09TIEVPTCBjbGVhbnVwcyAoRmxvcmVudCBHdWlsaWFuaSksIGljb252IG5lZWQKKyAgICAgIGEgY29uc3QgZGV0ZWN0aW9uIChSb3VtZW4gUGV0cm92KSwgc2ltcGxpZnkgeG1sU2V0UHJvcCAoSnVsaWVuIENoYXJib24pLAorICAgICAgY3Jvc3MgY29tcGlsYXRpb24gZml4ZXMgZm9yIE1pbmd3IChSb3VtZW4gUGV0cm92KSwgU0NPIE9wZW5zZXJ2ZXIgYnVpbGQKKyAgICAgIGZpeCAoRmxvcmVudCBHdWlsaWFuaSksIGljb252IHVzZXMgY29uc3Qgb24gV2luMzIgKFJvYiBSaWNoYXJkcyksCisgICAgICBkdXBsaWNhdGUgY29kZSByZW1vdmFsIChBc2h3aW4pLCBtaXNzaW5nIG1hbGxvYyB0ZXN0IGFuZCBlcnJvciByZXBvcnRzCisgICAgICAoQXNod2luKSwgVk1TIG1ha2VmaWxlIGZpeCAoVHljaG8gSGlsaG9yc3QpPC9saT4KKyAgPGxpPmltcHJvdmVtZW50czogYmV0dGVyIHBsdWcgb2Ygc2NoZW1hdHJvbiBpbiB0aGUgbm9ybWFsIGVycm9yIGhhbmRsaW5nCisgICAgICAoVG9iaWFzIE1pbmljaCk8L2xpPgorPC91bD48aDM+Mi42LjMxOiBKYW4gMTEgMjAwODwvaDM+PHVsPgorICA8bGk+U2VjdXJpdHkgZml4OiBtaXNzaW5nIG9mIGNoZWNrcyBpbiBVVEYtOCBwYXJzaW5nPC9saT4KKyAgPGxpPkJ1ZyBmaXhlczogcmVnZXhwIGJ1ZywgZHVtcCBhdHRyaWJ1dGUgZnJvbSBYSFRNTCBkb2N1bWVudCwgZml4CisgICAgICB4bWxGcmVlKE5VTEwpIHRvIG5vdCBjcmFzaCBpbiBkZWJ1ZyBtb2RlLCBTY2hlbWF0cm9uIHBhcnNpbmcgY3Jhc2gKKyAgICAgIChSb2IgUmljaGFyZHMpLCBnbG9iYWwgbG9jayBmcmVlIG9uIFdpbmRvd3MgKE1hcmMtQW50b2luZSBSdWVsKSwKKyAgICAgIFhTRCBjcmFzaCBkdWUgdG8gZG91YmxlIGZyZWUgKFJvYiBSaWNoYXJkcyksIGluZGVudGF0aW9uIGZpeCBpbgorICAgICAgeG1sVGV4dFdyaXRlckZ1bGxFbmRFbGVtZW50IChGZWxpcGUgUGVuYSksIGVycm9yIGluIGF0dHJpYnV0ZSB0eXBlCisgICAgICBwYXJzaW5nIGlmIGF0dHJpYnV0ZSByZWRlY2xhcmVkLCBhdm9pZCBjcmFzaCBpbiBoYXNoIGxpc3Qgc2Nhbm5lciBpZgorICAgICAgZGVsZXRpbmcgZWxlbWVudHMsIGNvbHVtbiBjb3VudGVyIGJ1ZyBmaXggKENocmlzdGlhbiBTY2htaWR0KSwKKyAgICAgIEhUTUwgZW1iZWQgZWxlbWVudCBzYXZpbmcgZml4IChTdGVmYW4gQmVobmVsKSwgYXZvaWQgLUwvdXNyL2xpYgorICAgICAgb3V0cHV0IGZyb20geG1sMi1jb25maWcgKEZyZWQgQ3JvemF0KSwgYXZvaWQgYW4geG1sbGludCBjcmFzaCAKKyAgICAgIChTdGVmYW4gS29zdCksIGRvbid0IHN0b3AgSFRNTCBwYXJzaW5nIG9uIG91dCBvZiByYW5nZSBjaGFycy4KKyAgICAgIDwvbGk+CisgIDxsaT5Db2RlIGNsZWFudXA6IGZpeCBvcGVuKCkgY2FsbCB0aGlyZCBhcmd1bWVudCwgcmVnZXhwIGN1dCduIHBhc3RlCisgICAgICBjb3B5IGVycm9yLCB1bnVzZWQgdmFyaWFibGUgaW4gX194bWxHbG9iYWxJbml0TXV0ZXhMb2NrIChIYW5uZXMgRWRlciksCisgICAgICBzb21lIG1ha2UgZGlzdGNoZWNrIHJlYWx0ZWQgZml4ZXMgKEpvaG4gQ2Fycik8L2xpPgorICA8bGk+SW1wcm92ZW1lbnRzOiBIVFRQIEhlYWRlcjogaW5jbHVkZXMgcG9ydCBudW1iZXIgKFdpbGxpYW0gQnJhY2spLAorICAgICAgdGVzdFVSSSAtLWRlYnVnIG9wdGlvbiwgPC9saT4KKzwvdWw+PGgzPjIuNi4zMDogQXVnIDIzIDIwMDc8L2gzPjx1bD4KKyAgPGxpPlBvcnRhYmlsaXR5OiBTb2xhcmlzIGNyYXNoIG9uIGVycm9yIGhhbmRsaW5nLCB3aW5kb3dzIHBhdGggZml4ZXMKKyAgICAgIChSb2xhbmQgU2Nod2FyeiBhbmQgUm9iIFJpY2hhcmRzKSwgbWluZ3cgYnVpbGQgKFJvbGFuZCBTY2h3YXJ6KTwvbGk+CisgIDxsaT5CdWdmaXhlczogeG1sWFBhdGhOb2RlU2V0U29ydCBwcm9ibGVtIChXaWxsaWFtIEJyYWNrKSwgbGVhayB3aGVuCisgICAgICByZXVzaW5nIGEgd3JpdGVyIGZvciBhIG5ldyBkb2N1bWVudCAoRG9kamkgU2VrZXRlbGkpLCBTY2hlbWFzCisgICAgICB4c2k6bmlsIGhhbmRsaW5nIHBhdGNoIChGcmFuayBHcm9zcyksIHJlbGF0aXZlIFVSSSBidWlsZCBwcm9ibGVtCisgICAgICAoUGF0cmlrIEZpbW1sKSwgY3Jhc2ggaW4geG1sRG9jRm9ybWF0RHVtcCwgaW52YWxpZCBjaGFyIGluIGNvbW1lbnQKKyAgICAgIGRldGVjdGlvbiBidWcsIGZpeCBkaXNwYXJpdHkgd2l0aCB4bWxTQVhVc2VyUGFyc2VNZW1vcnksIGF1dG9tYXRhCisgICAgICBnZW5lcmF0aW9uIGZvciBjb21wbGV4IHJlZ2V4cCBjb3VudHMgcHJvYmxlbXMsIFNjaGVtYXMgSURDIGltcG9ydAorICAgICAgcHJvYmxlbXMgKEZyYW5rIEdyb3NzKSwgeHBhdGggcHJlZGljYXRlIGV2YWlsYXRpb24gZXJyb3IgaGFuZGxpbmcKKyAgICAgIChXaWxsaWFtIEJyYWNrKTwvbGk+Cis8L3VsPjxoMz4yLjYuMjk6IEp1biAxMiAyMDA3PC9oMz48dWw+CisgIDxsaT5Qb3J0YWJpbGl0eTogcGF0Y2hlcyBmcm9tIEFuZHJlYXMgU3RyaWNrZSBmb3IgV2luQ0VpLAorICAgICAgZml4IGNvbXBpbGF0aW9uIHdhcm5pbmdzIChXaWxsaWFtIEJyYWNrKSwgYXZvaWQgd2FybmluZ3Mgb24gQXBwbGUgT1MvWAorICAgICAgKFdlbmR5IERveWxlIGFuZCBNYXJrIFJvd2UpLCBXaW5kb3dzIGNvbXBpbGF0aW9uIGFuZCB0aHJlYWRpbmcKKyAgICAgIGltcHJvdmVtZW50cyAoUm9iIFJpY2hhcmRzKSwgY29tcGlsYXRpb24gYWdhaW5zdCBvbGQgUHl0aG9uIHZlcnNpb25zLAorICAgICAgbmV3IEdOVSB0YXIgY2hhbmdlcyAoUnlhbiBIaWxsKTwvbGk+CisgIDxsaT5Eb2N1bWVudGF0aW9uOiB4bWxVUklVbmVzY2FwZVN0cmluZyBjb21tZW50LCA8L2xpPgorICA8bGk+QnVnZml4ZXM6IHhtbEJ1ZmZlckFkZCBwcm9ibGVtIChSaWNoYXJkIEpvbmVzKSwgJ21ha2UgdmFsZ3JpbmQnCisgICAgICBmbGFnIGZpeCAoUmljaGFyZCBKb25lcyksIHJlZ2V4cCBpbnRlcnByZXRhdGlvbiBvZiBcLAorICAgICAgaHRtbENyZWF0ZURvY1BhcnNlckN0eHQgKEplYW4tRGFuaWVsIER1cGFzKSwgY29uZmlndXJlLmluCisgICAgICB0eXBvIChCam9ybiBSZWVzZSksIGVudGl0eSBjb250ZW50IGZhaWx1cmUsIHhtbExpc3RBcHBlbmQoKSBmaXgKKyAgICAgIChHZW9yZ2VzLUFuZHLDg8KpIFNpbGJlciksIFhQYXRoIG51bWJlciBzZXJpYWxpemF0aW9uIChXaWxsaWFtIEJyYWNrKSwKKyAgICAgIG5hbm9odHRwIGd6aXBwZWQgc3RyZWFtIGZpeCAoV2lsbGlhbSBCcmFjayBhbmQgQWxleCBDb3JuZWpvKSwKKyAgICAgIHhtbENoYXJFbmNGaXJzdExpbmUgdHlwbyAoTWFyayBSb3dlKSwgdXJpIGJ1ZyAoRnJhbsODwqdvaXMgRGVseW9uKSwKKyAgICAgIFhQYXRoIHN0cmluZyB2YWx1ZSBvZiBQSSBub2RlcyAoV2lsbGlhbSBCcmFjayksIFhQYXRoIG5vZGUgc2V0CisgICAgICBzb3J0aW5nIGJ1Z3MgKFdpbGxpYW0gQnJhY2spLCBhdm9pZCBvdXRwdXR0aW5nIG5hbWVzcGFjZSBkZWNsCisgICAgICBkdXBzIGluIHRoZSB3cml0ZXIgKFJvYiBSaWNoYXJkcyksIHhtbEN0eHRSZXNldCBidWcsIFVURi04IGVuY29kaW5nCisgICAgICBlcnJvciBoYW5kbGluZywgcmVjdXN0aW9uIG9uIG5leHQgaW4gY2F0YWxvZ3MsIGZpeCBhIFJlbGF4LU5HIGNyYXNoLAorICAgICAgd29ya2Fyb3VuZCB3cm9uZyBmaWxlOiBVUklzLCBodG1sTm9kZUR1bXBGb3JtYXRPdXRwdXQgb24gYXR0cmlidXRlcywKKyAgICAgIGludmFsaWQgY2hhcmFjdGVyIGluIGF0dHJpYnV0ZSBkZXRlY3Rpb24gYnVnLCBiaWcgY29tbWVudHMgYmVmb3JlIAorICAgICAgaW50ZXJuYWwgc3Vic2V0IHN0cmVhbWluZyBidWcsIEhUTUwgcGFyc2luZyBvZiBhdHRyaWJ1dGVzIHdpdGggOiBpbgorICAgICAgdGhlIG5hbWUsIElEbmVzcyBvZiBuYW1lIGluIEhUTUwgKERhZ2Zpbm4gSS4gTWFubnPDg8Kla2VyKSA8L2xpPgorICA8bGk+SW1wcm92ZW1lbnQ6IGtlZXAgVVJJIHF1ZXJ5IHBhcnRzIGluIHJhdyBmb3JtIChSaWNoYXJkIEpvbmVzKSwKKyAgICAgIGVtYmVkIHRhZyBzdXBwb3J0IGluIEhUTUwgKE1pY2hhZWwgRGF5KSA8L2xpPgorPC91bD48aDM+Mi42LjI4OiBBcHIgMTcgMjAwNzwvaDM+PHVsPgorICA8bGk+RG9jdW1lbnRhdGlvbjogY29tbWVudCBmaXhlcyAoTWFya3VzIEtlaW0pLCB4cGF0aCBjb21tZW50cyBmaXhlcyB0b28KKyAgICAgIChKYW1lcyBEZW5uZXR0KTwvbGk+CisgIDxsaT5CdWcgZml4ZXM6IFhQYXRoIGJ1ZyAoV2lsbGlhbSBCcmFjayksIEhUTUwgcGFyc2VyIGF1dG9jbG9zZSBzdGFjayB1c2FnZQorICAgICAgKFVzYW1haCBNYWxpayksIHZhcmlvdXMgcmVnZXhwIGJ1ZyBmaXhlcyAoRFYgYW5kIFdpbGxpYW0pLCBwYXRoIGNvbnZlcnNpb24KKyAgICAgIG9uIFdpbmRvd3MgKElnb3IgWmxhdGtvdmljKSwgaHRtbEN0eHRSZXNldCBmaXggKE1pY2hhZWwgRGF5KSwgWFBhdGgKKyAgICAgIHByaW5jaXBhbCBub2RlIG9mIGF4aXMgYnVnLCBIVE1MIHNlcmlhbGl6YXRpb24gb2Ygc29tZSBjb2RlcG9pbnQKKyAgICAgIChTdGV2ZW4gUmFpbndhdGVyKSwgdXNlciBkYXRhIHByb3BhZ2F0aW9uIGluIFhJbmNsdWRlIChNaWNoYWVsIERheSksCisgICAgICBzdGFuZGFsb25lIGFuZCBYTUwgZGVjbCBkZXRlY3Rpb24gKE1pY2hhZWwgRGF5KSwgUHl0aG9uIGlkIG91cHR1dAorICAgICAgZm9yIHNvbWUgaWQsIGZpeCB0aGUgYmlnIHB5dGhvbiBzdHJpbmcgbWVtb3J5IGxlYWssIFVSSSBwYXJzaW5nIGZpeGVzCisgICAgICAoU3TDg8KpcGhhbmUgQmlkb3VsIGFuZCBXaWxsaWFtKSwgbG9uZyBjb21tZW50cyBwYXJzaW5nIGJ1ZyAoV2lsbGlhbSksCisgICAgICBjb25jdXJyZW50IHRocmVhZHMgaW5pdGlhbGl6YXRpb24gKFRlZCBQaGVscHMpLCBpbnZhbGlkIGNoYXIKKyAgICAgIGluIHRleHQgWEluY2x1ZGUgKFdpbGxpYW0pLCBYUGF0aCBtZW1vcnkgbGVhayAoV2lsbGlhbSksIHRhYiBpbgorICAgICAgcHl0aG9uIHByb2JsZW1zIChBbmRyZWFzIEhhbmtlKSwgWFBhdGggbm9kZSBjb21wYXJpc29uIGVycm9yCisgICAgICAoT2xlZyBQYXJhc2NoZW5rbyksIGNsZWFudXAgcGF0Y2ggZm9yIHJlYWRlciAoSnVsaWVuIFJlaWNoZWwpLAorICAgICAgWE1MIFNjaGVtYXMgYXR0cmlidXRlIGdyb3VwIChXaWxsaWFtKSwgSFRNTCBwYXJzaW5nIHByb2JsZW0gKFdpbGxpYW0pLAorICAgICAgZml4IGNoYXIgMHgyZCBpbiByZWdleHBzIChXaWxsaWFtKSwgcmVnZXhwIHF1YW50aWZpZXIgcmFuZ2Ugd2l0aAorICAgICAgbWluIG9jY3VycyBvZiAwIChXaWxsaWFtKSwgSFRNTCBzY3JpcHQvc3R5bGUgcGFyc2luZyAoTWlrZSBEYXkpPC9saT4KKyAgPGxpPkltcHJvdmVtZW50OiBtYWtlIHhtbFRleHRSZWFkZXJTZXR1cCgpIHB1YmxpYzwvbGk+CisgIDxsaT5Db21waWxhdGlvbiBhbmQgcG9zdGFiaWxpdHk6IGZpeCBhIG1pc3NpbmcgaW5jbHVkZSBwcm9ibGVtIChXaWxsaWFtKSwKKyAgICAgIF9fc3NfZmFtaWxseSBvbiBBSVggYWdhaW4gKEJqw4PCtnJuIFdpYmVyZyksIGNvbXBpbGF0aW9uIHdpdGhvdXQgemxpYgorICAgICAgKE1pY2hhZWwgRGF5KSwgY2F0YWxvZyBwYXRjaCBmb3IgV2luMzIgKENocmlzdGlhbiBFaHJsaWNoZXIpLAorICAgICAgV2luZG93cyBDRSBmaXhlcyAoQW5kcmVhcyBTdHJpY2tlKTwvbGk+CisgIDxsaT5WYXJpb3VzIENWUyB0byBTVk4gaW5mcmFzdHJ1Y3R1cmUgY2hhbmdlczwvbGk+Cis8L3VsPjxoMz4yLjYuMjc6IE9jdCAyNSAyMDA2PC9oMz48dWw+CisgIDxsaT5Qb3J0YWJpbGl0eSBmaXhlczogZmlsZSBuYW1lcyBvbiB3aW5kb3dzIChSb2xhbmQgU2Nod2luZ2VsLCAKKyAgICAgIEVtZWx5YW5vdiBBbGV4ZXkpLCB3aW5kb3dzIGNvbXBpbGUgZml4dXAgKFJvYiBSaWNoYXJkcyksIAorICAgICAgQUlYIGljb252KCkgaXMgYXBwYXJlbnRseSBjYXNlIHNlbnNpdGl2ZTwvbGk+CisgIDxsaT5pbXByb3ZlbWVudHM6IFB5dGhvbiBYUGF0aCB0eXBlcyBtYXBwaW5nIChOaWMgRmVycmllciksIFhQYXRoIG9wdGltaXphdGlvbgorICAgICAgKEthc2ltaWVyKSwgYWRkIHhtbFhQYXRoQ29tcGlsZWRFdmFsVG9Cb29sZWFuIChLYXNpbWllciksIFB5dGhvbiBub2RlCisgICAgICBlcXVhbGl0eSBhbmQgY29tcGFyaXNvbiAoQW5kcmVhcyBQYWt1bGF0KSwgeG1sWFBhdGhDb2xsZWN0QW5kVGVzdAorICAgICAgaW1wcm92ZW1lbXQgKEthc2ltaWVyKSwgZXhwb3NlIGlmIGxpYnJhcnkgd2FzIGNvbXBpbGVkIHdpdGggemxpYiAKKyAgICAgIHN1cHBvcnQgKEFuZHJldyBOb3NlbmtvKSwgY2FjaGUgZm9yIHhtbFNjaGVtYUlEQ01hdGNoZXIgc3RydWN0cworICAgICAgKEthc2ltaWVyKSwgeG1sVGV4dENvbmNhdCBzaG91bGQgd29yayB3aXRoIGNvbW1lbnRzIGFuZCBQSXMgKFJvYgorICAgICAgUmljaGFyZHMpLCBleHBvcnQgaHRtbE5ld1BhcnNlckN0eHQgbmVlZGVkIGJ5IE1pY2hhZWwgRGF5LCByZWZhY3RvcmluZworICAgICAgb2YgY2F0YWxvZyBlbnRpdHkgbG9hZGVycyAoTWljaGFlbCBEYXkpLCBhZGQgWFBvaW50ZXIgc3VwcG9ydCB0byAKKyAgICAgIHB5dGhvbiBiaW5kaW5ncyAoUm9zcyBSZWVkc3Ryb20sIEJyaWFuIFdlc3QgYW5kIFN0ZWZhbiBBbmNhKSwgCisgICAgICB0cnkgdG8gc29ydCBvdXQgbW9zdCBmaWxlIHBhdGggdG8gVVJJIGNvbnZlcnNpb25zIGFuZCB4bWxQYXRoVG9VcmksCisgICAgICBhZGQgLS1odG1sIC0tbWVtb3J5IGNhc2UgdG8geG1sbGludDwvbGk+CisgIDxsaT5idWlsZGluZyBmaXg6IGZpeCAtLXdpdGgtbWluaW11bSAoRmVsaXBlIENvbnRyZXJhcyksIFZNUyBmaXgsIAorICAgICAgY29uc3QnaWZpY2F0aW9uIG9mIEhUTUwgcGFyc2VyIHN0cnVjdHVyZXMgKE1hdHRoaWFzIENsYXNlbiksCisgICAgICBwb3J0YWJpbGl0eSBmaXggKEVtZWx5YW5vdiBBbGV4ZXkpLCB3Z2V0IGF1dG9kZXRlY3Rpb24gKFBldGVyCisgICAgICBCcmVpdGVubG9obmVyKSwgIHJlbW92ZSB0aGUgYnVpbGQgcGF0aCByZWNvcmRlZCBpbiB0aGUgcHl0aG9uCisgICAgICBzaGFyZWQgbW9kdWxlLCBzZXBhcmF0ZSBsaWJyYXJ5IGZsYWdzIGZvciBzaGFyZWQgYW5kIHN0YXRpYyBidWlsZHMKKyAgICAgIChNaWtoYWlsIFphYmFsdWV2KSwgZml4IC0td2l0aC1taW5pbXVtIC0td2l0aC1zYXgxIGJ1aWxkcywgZml4CisgICAgICAtLXdpdGgtbWluaW11bSAtLXdpdGgtc2NoZW1hcyBidWlsZHM8L2xpPgorICA8bGk+YnVnIGZpeDogeG1sR2V0Tm9kZVBhdGggZml4IChLYXNpbWllciksIHhtbERPTVdyYXBBZG9wdE5vZGUgYW5kCisgICAgICBhdHRyaWJ1dGUgKEthc2ltaWVyKSwgY3Jhc2ggd2hlbiB1c2luZyB0aGUgcmVjb3ZlciBtb2RlLCAKKyAgICAgIHhtbFhQYXRoRXZhbEV4cHIgcHJvYmxlbSAoS2FzaW1pZXIpLCB4bWxYUGF0aENvbXBFeHByQWRkIGJ1ZyAoS2FzaW1pZXIpLAorICAgICAgbWlzc2luZyBkZXN0cnkgaW4geG1sRnJlZVJNdXRleCAoQW5kcmV3IE5vc2Vua28pLCBYTUwgU2NoZW1hcyBmaXhlcworICAgICAgKEthc2ltaWVyKSwgd2FybmluZyBvbiBlbnRpdGllcyBwcm9jZXNzaW5nLCBYSFRNTCBzY3JpcHQgYW5kIHN0eWxlCisgICAgICBzZXJpYWxpemF0aW9uIChLYXNpbWllciksIHB5dGhvbiBnZW5lcmF0b3IgZm9yIGxvbmcgdHlwZXMsIGJ1ZyBpbgorICAgICAgeG1sU2NoZW1hQ2xlYXJWYWxpZEN0eHQgKEJlcnRyYW5kIEZyaXRzY2gpLCB4bWxTY2hlbWFYUGF0aEV2YWx1YXRlCisgICAgICBhbGxvY2F0aW9uIGJ1ZyAoTWFydG9uIElsbGVzKSwgZXJyb3IgbWVzc2FnZSBlbmQgb2YgbGluZSAoUm9iIFJpY2hhcmRzKSwKKyAgICAgIGZpeCBhdHRyaWJ1dGUgc2VyaWFsaXphdGlvbiBpbiB3cml0ZXIgKFJvYiBSaWNoYXJkcyksIFBIUDQgRFREIHZhbGlkYXRpb24KKyAgICAgIGNyYXNoZXIsIHBhcnNlciBzYWZldHkgcGF0Y2ggKEJlbiBEYXJuZWxsKSwgX3ByaXZhdGUgY29udGV4dCBwcm9wYWdhdGlvbgorICAgICAgd2hlbiBwYXJzaW5nIGVudGl0aWVzICh3aXRoIE1pY2hhZWwgRGF5KSwgZml4IGVudGl0aWVzIGJlaGF2aW91ciB3aGVuIAorICAgICAgdXNpbmcgU0FYLCBVUkkgdG8gZmlsZSBwYXRoIGZpeCAoTWlraGFpbCBaYWJhbHVldiksIGRpc2FwZWFyaW5nIHZhbGlkaXR5CisgICAgICBjb250ZXh0LCBhcmcgZXJyb3IgaW4gU0FYIGNhbGxiYWNrIChNaWtlIEhvbW1leSksIGZpeCBtaXhlZC1jb250ZW50CisgICAgICBhdXRvZGV0ZWN0IHdoZW4gdXNpbmcgLS1ub2JsYW5rcywgZml4IHhtbElPUGFyc2VEVEQgZXJyb3IgaGFuZGxpbmcsCisgICAgICBmaXggYnVnIGluIHhtbFNwbGl0UU5hbWUgb24gc3BlY2lhbCBOYW1lcywgZml4IFJlbGF4LU5HIGVsZW1lbnQgY29udGVudAorICAgICAgdmFsaWRhdGlvbiBidWcsIGZpeCB4bWxSZWNvbmNpbGlhdGVOcyBidWcsIGZpeCBwb3RlbnRpYWwgYXR0cmlidXRlIAorICAgICAgWE1MIHBhcnNpbmcgYnVnLCBmaXggbGluZS9jb2x1bW4gYWNjb3VudGluZyBpbiBYTUwgcGFyc2VyLCBjaHVua2luZyBidWcKKyAgICAgIGluIHRoZSBIVE1MIHBhcnNlciBvbiBzY3JpcHQsIHRyeSB0byBkZXRlY3Qgb2J2aW91c2x5IGJ1Z2d5IEhUTUwKKyAgICAgIG1ldGEgZW5jb2RpbmcgaW5kaWNhdGlvbnMsIGJ1Z3Mgd2l0aCBlbmNvZGluZyBCT00gYW5kIHhtbFNhdmVEb2MsIAorICAgICAgSFRNTCBlbnRpdGllcyBpbiBhdHRyaWJ1dGVzIHBhcnNpbmcsIEhUTUwgbWluaW1pemVkIGF0dHJpYnV0ZSB2YWx1ZXMsCisgICAgICBodG1sUmVhZERvYyBhbmQgaHRtbFJlYWRJTyB3ZXJlIGJyb2tlbiwgZXJyb3IgaGFuZGxpbmcgYnVnIGluCisgICAgICB4bWxYUGF0aEV2YWxFeHByZXNzaW9uIChPbGFmIFdhbGtvd2lhayksIGZpeCBhIHByb2JsZW0gaW4KKyAgICAgIGh0bWxDdHh0VXNlT3B0aW9ucywgeG1sTmV3SW5wdXRGcm9tRmlsZSBjb3VsZCBsZWFrIChNYXJpdXMgS29uaXR6ZXIpLAorICAgICAgYnVnIG9uIG1pc2Zvcm1lZCBTU0QgcmVnZXhwcyAoQ2hyaXN0b3BoZXIgQm91bWVub3QpCisgICAgICA8L2xpPgorICA8bGk+ZG9jdW1lbnRhdGlvbjogd2FybmluZyBhYm91dCBYTUxfUEFSU0VfQ09NUEFDVCAoS2FzaW1pZXIgQnVjaGNpayksCisgICAgICBmaXggeG1sWFBhdGhDYXN0VG9TdHJpbmcgZG9jdW1lbnRhdGlvbiwgaW1wcm92ZSBtYW4gcGFnZXMgZm9yCisgICAgICB4bWxsaXRuIGFuZCB4bWxjYXRhbG9nIChEYW5pZWwgTGVpZGVydCksIGZpeGVkIGNvbW1lbnRzIG9mIGEgZmV3CisgICAgICBmdW5jdGlvbnM8L2xpPgorPC91bD48aDM+Mi42LjI2OiBKdW4gNiAyMDA2PC9oMz48dWw+CisgIDxsaT5wb3J0YWJpbGl0eSBmaXhlczogUHl0aG9uIGRldGVjdGlvbiAoSm9zZXBoIFNhY2NvKSwgY29tcGlsYXRpb24KKyAgICBlcnJvcihXaWxsaWFtIEJyYWNrIGFuZCBHcmFoYW0gQmVubmV0dCksIEx5bnhPUyBwYXRjaCAoT2xsaSBTYXZpYSk8L2xpPgorICA8bGk+YnVnIGZpeGVzOiBlbmNvZGluZyBidWZmZXIgcHJvYmxlbSwgbWl4IG9mIGNvZGUgYW5kIGRhdGEgaW4KKyAgICB4bWxJTy5jKEtqYXJ0YW4gTWFyYWFzKSwgZW50aXRpZXMgaW4gWFNEIHZhbGlkYXRpb24gKEthc2ltaWVyIEJ1Y2hjaWspLAorICAgIHZhcmlvdXNYU0QgdmFsaWRhdGlvbiBmaXhlcyAoS2FzaW1pZXIpLCBtZW1vcnkgbGVhayBpbiBwYXR0ZXJuIChSb2IKKyAgICBSaWNoYXJkcyBhbmRLYXNpbWllciksIGF0dHJpYnV0ZSB3aXRoIGNvbG9uIGluIG5hbWUgKFJvYiBSaWNoYXJkcyksIFhQYXRoCisgICAgbGVhayBpbmVycm9yIHJlcG9ydGluZyAoQWxla3NleSBTYW5pbiksIFhJbmNsdWRlIHRleHQgaW5jbHVkZSBvZgorICAgIHNlbGZkb2N1bWVudC48L2xpPgorICA8bGk+aW1wcm92ZW1lbnRzOiBYcGF0aCBvcHRpbWl6YXRpb25zIChLYXNpbWllciksIFhQYXRoIG9iamVjdAorICAgIGNhY2hlKEthc2ltaWVyKTwvbGk+Cis8L3VsPjxoMz4yLjYuMjU6IEp1biA2IDIwMDY6PC9oMz48cD5EbyBub3QgdXNlIG9yIHBhY2thZ2UgMi42LjI1PC9wPjxoMz4yLjYuMjQ6IEFwciAyOCAyMDA2PC9oMz48dWw+CisgIDxsaT5Qb3J0YWJpbGl0eSBmaXhlczogY29uZmlndXJlIG9uIFdpbmRvd3MsIHRlc3RhcGkgY29tcGlsZSBvbiB3aW5kb3dzCisgICAgICAoS2FzaW1pZXIgQnVjaGNpaywgdmVua2F0IG5haWR1KSwgQm9ybGFuZCBDKysgNiBjb21waWxlIChFcmljIFp1cmNoZXIpLAorICAgICAgSFAtVVggY29tcGlsZXIgd29ya2Fyb3VuZCAoUmljayBKb25lcyksIHhtbDItY29uZmlnIGJ1Z2ZpeCwgZ2NjLTQuMQorICAgICAgY2xlYW51cHMsIFB5dGhvbiBkZXRlY3Rpb24gc2NoZW1lIChKb3NlcGggU2FjY28pLCBVVEYtOCBmaWxlIHBhdGhzIG9uCisgICAgICBXaW5kb3dzIChSb2xhbmQgU2Nod2luZ2VsKS4KKyAgICAgIDwvbGk+CisgIDxsaT5JbXByb3ZlbWVudHM6IHhtbERPTVdyYXBSZWNvbmNpbGVOYW1lc3BhY2VzIHhtbERPTVdyYXBDbG9uZU5vZGUgKEthc2ltaWVyCisgICAgICBCdWNoY2lrKSwgWE1MIGNhdGFsb2cgZGVidWdnaW5nIChSaWNrIEpvbmVzKSwgdXBkYXRlIHRvIFVuaWNvZGUgNC4wMS48L2xpPgorICA8bGk+QnVnIGZpeGVzOiB4bWxQYXJzZUNodW5rKCkgcHJvYmxlbSBpbiAyLjYuMjMsIHhtbFBhcnNlSW5Ob2RlQ29udGV4dCgpCisgICAgICBvbiBIVE1MIGRvY3MsIFVSSSBiZWhhdmlvdXIgb24gV2luZG93cyAoUm9iIFJpY2hhcmRzKSwgY29tbWVudCBzdHJlYW1pbmcKKyAgICAgIGJ1ZywgeG1sUGFyc2VDb21tZW50ICh3aXRoIFdpbGxpYW0gQnJhY2spLCByZWdleHAgYnVnIGZpeGVzIChEViAmYW1wOworICAgICAgWW91cmkgR29sb3Zhbm92KSwgeG1sR2V0Tm9kZVBhdGggb24gdGV4dC9DREFUQSAoS2FzaW1pZXIpLAorICAgICAgb25lIFJlbGF4LU5HIGludGVybGVhdmUgYnVnLCB4bWxsaW50IC0tcGF0aCBhbmQgLS12YWxpZCwKKyAgICAgIFhTRCBidWdmaXhlcyAoS2FzaW1pZXIpLCByZW1vdmUgZGVidWcKKyAgICAgIGxlZnQgaW4gUHl0aG9uIGJpbmRpbmdzIChOaWMgRmVycmllciksIHhtbENhdGFsb2dBZGQgYnVnIChNYXJ0aW4gQ29sZSksCisgICAgICB4bWxTZXRQcm9wIGZpeGVzIChSb2IgUmljaGFyZHMpLCBIVE1MIElEbmVzcyAoUm9iIFJpY2hhcmRzKSwgYSBsYXJnZQorICAgICAgbnVtYmVyIG9mIGNsZWFudXBzIGFuZCBzbWFsbCBmaXhlcyBiYXNlZCBvbiBDb3Zlcml0eSByZXBvcnRzLCBidWcKKyAgICAgIGluIGNoYXJhY3RlciByYW5nZXMsIFVuaWNvZGUgdGFibGVzIGNvbnN0IChBaXZhcnMgS2FsdmFucyksIHNjaGVtYXMKKyAgICAgIGZpeCAoU3RlZmFuIEtvc3QpLCB4bWxSZWxheE5HUGFyc2UgZXJyb3IgZGVhbGxvY2F0aW9uLCAKKyAgICAgIHhtbFNjaGVtYUFkZFNjaGVtYURvYyBlcnJvciBkZWFsbG9jYXRpb24sIGVycm9yIGhhbmRsaW5nIG9uIHVuYWxsb3dlZAorICAgICAgY29kZSBwb2ludCwgaXhtbGxpbnQgLS1ub25ldCB0byBuZXZlciByZWFjaCB0aGUgbmV0IChHYXJ5IENvYWR5KSwKKyAgICAgIGxpbmUgYnJlYWsgaW4gd3JpdGVyIGFmdGVyIGVuZCBQSSAoSmFzb24gVmllcnMpLiA8L2xpPgorICA8bGk+RG9jdW1lbnRhdGlvbjogbWFuIHBhZ2VzIHVwZGF0ZXMgYW5kIGNsZWFudXBzIChEYW5pZWwgTGVpZGVydCkuPC9saT4KKyAgPGxpPk5ldyBmZWF0dXJlczogUmVsYXggTkcgc3RydWN0dXJlIGVycm9yIGhhbmRsZXJzLjwvbGk+Cis8L3VsPjxoMz4yLjYuMjM6IEphbiA1IDIwMDY8L2gzPjx1bD4KKyAgPGxpPnBvcnRhYmlsaXR5IGZpeGVzOiBXaW5kb3dzIChSb2IgUmljaGFyZHMpLCBnZXRhZGRyaW5mbyBvbiBXaW5kb3dzCisgICAgKEtvbGphIE5vd2FrLCBSb2IgUmljaGFyZHMpLCBpY2Mgd2FybmluZ3MgKEtqYXJ0YW4gTWFyYWFzKSwKKyAgICAtLXdpdGgtbWluaW11bSBjb21waWxhdGlvbiBmaXhlcyAoV2lsbGlhbSBCcmFjayksIGVycm9yIGNhc2UgaGFuZGxpbmcgZml4CisgICAgb24gU29sYXJpcyAoQWxiZXJ0IENoaW4pLCBkb24ndCB1c2UgJ2xpc3QnIGFzIHBhcmFtZXRlciBuYW1lIHJlcG9ydGVkIGJ5CisgICAgU2FtdWVsIERpYXogR2FyY2lhLCBtb3JlIG9sZCBVbmljZXMgcG9ydGFiaWxpdHkgZml4ZXMgKEFsYmVydCBDaGluKSwKKyAgICBNaW5HVyBjb21waWxhdGlvbiAoTWFyayBKdW5rZXIpLCBIUC1VWCBjb21waWxlciB3YXJuaW5ncyAoUmljaworICBKb25lcyksPC9saT4KKyAgPGxpPmNvZGUgY2xlYW51cDogeG1sUmVwb3J0RXJyb3IgKEFkcmlhbiBNb3VhdCksIHJlbW92ZSB4bWxCdWZmZXJDbG9zZQorICAgIChHZWVydCBKYW5zZW4pLCB1bnJlYWNoYWJsZSBjb2RlIChPbGVrc2FuZHIgS29ub25lbmtvKSwgcmVmYWN0b3JpbmcKKyAgICBwYXJzaW5nIGNvZGUgKEJqb3JuIFJlZXNlKTwvbGk+CisgIDxsaT5idWcgZml4ZXM6IHhtbEJ1aWxkUmVsYXRpdmVVUkkgYW5kIGVtcHR5IHBhdGggKFdpbGxpYW0gQnJhY2spLAorICAgIGNvbWJpbmF0b3J5IGV4cGxvc2lvbiBhbmQgcGVyZm9ybWFuY2VzIGluIHJlZ2V4cCBjb2RlLCBsZWFrIGluCisgICAgeG1sVGV4dFJlYWRlclJlYWRTdHJpbmcoKSwgeG1sU3RyaW5nTGVuRGVjb2RlRW50aXRpZXMgcHJvYmxlbSAoTWFzc2ltbworICAgIE1vcmFyYSksIElkZW50aXR5IENvbnN0cmFpbnRzIGJ1Z3MgYW5kIGEgc2VnZmF1bHQgKEthc2ltaWVyIEJ1Y2hjaWspLAorICAgIFhQYXRoIHBhdHRlcm4gYmFzZWQgZXZhbHVhdGlvbiBidWdzIChEViAmYW1wOyBLYXNpbWllciksCisgICAgeG1sU2NoZW1hQ29udGVudE1vZGVsRHVtcCgpIG1lbW9yeSBsZWFrIChLYXNpbWllciksIHBvdGVudGlhbCBsZWFrIGluCisgICAgeG1sU2NoZW1hQ2hlY2tDU2VsZWN0b3JYUGF0aCgpLCB4bWxUZXh0V3JpdGVyVlNwcmludGYoKSBtaXN1c2Ugb2YKKyAgICB2c25wcmludGYgKFdpbGxpYW0gQnJhY2spLCBYSFRNTCBzZXJpYWxpemF0aW9uIGZpeCAoUm9iIFJpY2hhcmRzKSwgQ1JMRgorICAgIHNwbGl0IHByb2JsZW0gKFdpbGxpYW0pLCBpc3N1ZXMgd2l0aCBub24tbmFtZXNwYWNlZCBhdHRyaWJ1dGVzIGluCisgICAgeG1sQWRkQ2hpbGQoKSB4bWxBZGROZXh0U2libGluZygpIGFuZCB4bWxBZGRQcmV2U2libGluZygpIChSb2IgUmljaGFyZHMpLAorICAgIEhUTUwgcGFyc2luZyBvZiBzY3JpcHQsIFB5dGhvbiBtdXN0IG5vdCBvdXRwdXQgdG8gc3Rkb3V0IChOaWMgRmVycmllciksCisgICAgZXhjbHVzaXZlIEMxNE4gbmFtZXNwYWNlIHZpc2liaWxpdHkgKEFsZWtzZXkgU2FuaW4pLCBYU0QgZGF0YXlwZQorICAgIHRvdGFsRGlnaXRzIGJ1ZyAoS2FzaW1pZXIgQnVjaGNpayksIGVycm9yIGhhbmRsaW5nIHdoZW4gd3JpdGluZyB0byBhbgorICAgIHhtbEJ1ZmZlciAoUm9iIFJpY2hhcmRzKSwgcnVudGVzdCBzY2hlbWFzIGVycm9yIG5vdCByZXBvcnRlZCAoSGlzYXNoaQorICAgIEZ1amluYWthKSwgc2lnbmVkL3Vuc2lnbmVkIHByb2JsZW0gaW4gZGF0ZS90aW1lIGNvZGUgKEFsYmVydCBDaGluKSwgZml4CisgICAgWFNJIGRyaXZlbiBYU0QgdmFsaWRhdGlvbiAoS2FzaW1pZXIpLCBwYXJzaW5nIG9mIHhzOmRlY2ltYWwgKEthc2ltaWVyKSwKKyAgICBmaXggRFREIHdyaXRlciBvdXRwdXQgKFJvYiBSaWNoYXJkcyksIGxlYWsgaW4geG1sVGV4dFJlYWRlclJlYWRJbm5lclhtbAorICAgIChHYXJ5IENvYWR5KSwgcmVnZXhwIGJ1ZyBhZmZlY3Rpbmcgc2NoZW1hcyAoS2FzaW1pZXIpLCBjb25maWd1cmF0aW9uIG9mCisgICAgcnVudGltZSBkZWJ1Z2dpbmcgKEthc2ltaWVyKSwgeG1sTm9kZUJ1ZkdldENvbnRlbnQgYnVnIG9uIGVudGl0eSByZWZzCisgICAgKE9sZWtzYW5kciBLb25vbmVua28pLCB4bWxSZWdFeGVjUHVzaFN0cmluZzIgYnVnIChTcmVlbmkgTmFpciksCisgICAgY29tcGlsYXRpb24gYW5kIGJ1aWxkIGZpeGVzIChNaWNoYWVsIERheSksIHJlbW92ZWQgZGVwZW5kYW5jaWVzIG9uCisgICAgeG1sU2NoZW1hVmFsaWRFcnJvciAoS2FzaW1pZXIpLCBidWcgd2l0aCAmbHQ7eG1sOmZvby8mZ3Q7LCBtb3JlIFhQYXRoCisgICAgcGF0dGVybiBiYXNlZCBldmFsdWF0aW9uIGZpeGVzIChLYXNpbWllcik8L2xpPgorICA8bGk+aW1wcm92ZW1lbnRzOiBYU0QgU2NoZW1hcyByZWRlZmluaXRpb25zL3Jlc3RyaWN0aW9ucyAoS2FzaW1pZXIKKyAgICBCdWNoY2lrKSwgbm9kZSBjb3B5IGNoZWNrcyBhbmQgZml4IGZvciBhdHRyaWJ1dGUgKFJvYiBSaWNoYXJkcyksIGNvdW50ZWQKKyAgICB0cmFuc2l0aW9uIGJ1ZyBpbiByZWdleHBzLCBjdHh0LSZndDtzdGFuZGFsb25lID0gLTIgdG8gaW5kaWNhdGUgbm8KKyAgICBzdGFuZGFsb25lIGF0dHJpYnV0ZSB3YXMgZm91bmQsIGFkZCB4bWxTY2hlbWFTZXRQYXJzZXJTdHJ1Y3R1cmVkRXJyb3JzKCkKKyAgICAoS2FzaW1pZXIgQnVjaGNpayksIGFkZCB4bWxUZXh0UmVhZGVyU2NoZW1hVmFsaWRhdGVDdHh0KCkgdG8gQVBJCisgICAgKEthc2ltaWVyKSwgaGFuZGxlIGd6aXBwZWQgSFRUUCByZXNvdXJjZXMgKEdhcnkgQ29hZHkpLCBhZGQKKyAgICBodG1sRG9jRHVtcE1lbW9yeUZvcm1hdC4gKFJvYiBSaWNoYXJkcyksPC9saT4KKyAgPGxpPmRvY3VtZW50YXRpb246IHR5cG8gKE1pY2hhZWwgRGF5KSwgbGlieG1sIG1hbiBwYWdlIChBbGJlcnQgQ2hpbiksIHNhdmUKKyAgICBmdW5jdGlvbiB0byBYTUwgYnVmZmVyIChHZWVydCBKYW5zZW4pLCBzbWFsbCBkb2MgZml4IChBcm9uIFN0YW5zdmlrKSw8L2xpPgorPC91bD48aDM+Mi42LjIyOiBTZXAgMTIgMjAwNTwvaDM+PHVsPgorICA8bGk+YnVpbGQgZml4ZXM6IGNvbXBpbGUgd2l0aG91dCBzY2hlbWF0cm9uIChTdMODwqlwaGFuZSBCaWRvdWwpPC9saT4KKyAgPGxpPmJ1ZyBmaXhlczogeG1sRGVidWdEdW1wTm9kZSBvbiBuYW1lc3BhY2Ugbm9kZSAoT2xlZyBQYXJhc2NoZW5rbylpLAorICAgIENEQVRBIHB1c2ggcGFyc2VyIGJ1ZywgeG1sRWxlbUR1bXAgcHJvYmxlbSB3aXRoIFhIVE1MMSBkb2MsCisgICAgWE1MX0ZFQVRVUkVfeHh4IGNsYXNoIHdpdGggZXhwYXQgaGVhZGVycyByZW5hbWVkIFhNTF9XSVRIX3h4eCwgZml4IHNvbWUKKyAgICBvdXRwdXQgZm9ybWF0dGluZyBmb3IgbWV0YSBlbGVtZW50IChSb2IgUmljaGFyZHMpLCBzY3JpcHQgYW5kIHN0eWxlCisgICAgWEhUTUwxIHNlcmlhbGl6YXRpb24gKERhdmlkIE1hZG9yZSksIEF0dHJpYnV0ZSBkZXJpdmF0aW9uIGZpeHVwcyBpbiBYU0QKKyAgICAoS2FzaW1pZXIgQnVjaGNpayksIGJldHRlciBJREMgZXJyb3IgcmVwb3J0cyAoS2FzaW1pZXIgQnVjaGNpayk8L2xpPgorICA8bGk+aW1wcm92ZW1lbnRzOiBhZGQgWE1MX1NBVkVfTk9fRU1QVFkgeG1sU2F2ZU9wdGlvbiAoUm9iIFJpY2hhcmRzKSwgYWRkCisgICAgWE1MX1NBVkVfTk9fWEhUTUwgeG1sU2F2ZU9wdGlvbiwgWE1MIFNjaGVtYXMgaW1wcm92ZW1lbnRzIHByZXBhcmluZyBmb3IKKyAgICBkZXJpdmUgKEthc2ltaWVyIEJ1Y2hjaWspLjwvbGk+CisgIDxsaT5kb2N1bWVudGF0aW9uOiBnZW5lcmF0aW9uIG9mIGd0ay1kb2MgbGlrZSBkb2NzLCBpbnRlZ3JhdGlvbiB3aXRoCisgICAgZGV2aGVscC48L2xpPgorPC91bD48aDM+Mi42LjIxOiBTZXAgNCAyMDA1PC9oMz48dWw+CisgIDxsaT5idWlsZCBmaXhlczogQ3lnd2luIHBvcnRhYmlsaXR5IGZpeGVzIChHZXJyaXQgUC4gSGFhc2UpLCBjYWxsaW5nCisgICAgY29udmVudGlvbiBwcm9ibGVtcyBvbiBXaW5kb3dzIChNYXJjdXMgQm9lcmdlciksIGNsZWFudXBzIGJhc2VkIG9uIExpbnVzJworICAgIHNwYXJzZSB0b29sLCB1cGRhdGUgb2Ygd2luMzIvY29uZmlndXJlLmpzIChSb2IgUmljaGFyZHMpLCByZW1vdmUgd2FybmluZ3MKKyAgICBvbiBXaW5kb3dzKE1hcmN1cyBCb2VyZ2VyKSwgY29tcGlsYXRpb24gd2l0aG91dCBTQVgxLCBkZXRlY3Rpb24gb2YgdGhlCisgICAgUHl0aG9uIGJpbmFyeSwgdXNlICRHQ0MgaW5lc3RhZCBvZiAkQ0MgPSAnZ2NjJyAoQW5kcmV3IFcuIE5vc2Vua28pLAorICAgIGNvbXBpbGF0aW9uL2xpbmsgd2l0aCB0aHJlYWRzIGFuZCBvbGQgZ2NjLCBjb21waWxlIHByb2JsZW0gYnkgQzM3MCBvbgorICAgIFovT1MsPC9saT4KKyAgPGxpPmJ1ZyBmaXhlczogaHR0cF9wcm94eSBlbnZpcm9ubWVudHMgKFBldGVyIEJyZWl0ZW5sb2huZXIpLCBIVE1MIFVURi04CisgICAgYnVnIChKaXJpIE5ldG9saWNreSksIFhQYXRoIE5hTiBjb21wYXJlIGJ1ZyAoV2lsbGlhbSBCcmFjayksCisgICAgaHRtbFBhcnNlU2NyaXB0IHBvdGVudGlhbCBidWcsIFNjaGVtYXMgcmVnZXhwIGhhbmRsaW5nIG9mIHNwYWNlcywgQmFzZTY0CisgICAgU2NoZW1hcyBjb21wYXJpc29ucyBOSVNUIHBhc3NlcywgYXV0b21hdGEgYnVpbGQgZXJyb3IgeHNkOmFsbCwKKyAgICB4bWxHZXROb2RlUGF0aCBmb3IgbmFtZXNwYWNlZCBhdHRyaWJ1dGVzIChBbGV4YW5kZXIgUG9ob3lkYSksIHhtbFNjaGVtYXMKKyAgICBmb3JlaWduIG5hbWVzcGFjZXMgaGFuZGxpbmcsIFhNTCBTY2hlbWFzIGZhY2V0IGNvbXBhcmlzb24gKEt1cHJpeWFub3YKKyAgICBBbmF0b2xpaiksIHhtbFNjaGVtYVBTaW1wbGVUeXBlRXJyIGVycm9yIHJlcG9ydCAoS2FzaW1pZXIgQnVjaGNpayksIHhtbDoKKyAgICBuYW1lc3BhY2UgYWhuZGxpbmcgaW4gU2NoZW1hcyAoS2FzaW1pZXIpLCBlbXB0eSBtb2RlbCBncm91cCBpbiBTY2hlbWFzCisgICAgKEthc2ltaWVyKSwgd2lsY2FyZCBpbiBTY2hlbWFzIChLYXNpbWllciksIFVSSSBjb21wb3NpdGlvbiAoV2lsbGlhbSksCisgICAgeHM6YW55VHlwZSBpbiBTY2hlbWFzIChLYXNpbWllciksIFB5dGhvbiByZXNvbHZlciBlbW1pdHRpbmcgZXJyb3IKKyAgICBtZXNzYWdlcyBkaXJlY3RseSwgUHl0aG9uIHhtbEF0dHIucGFyZW50IChKYWt1YiBQaW90ciBDbGFwYSksIHRyeWluZyB0bworICAgIGZpeCB0aGUgZmlsZSBwYXRoL1VSSSBjb252ZXJzaW9uLCB4bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlIGZpeCAoUm9iCisgICAgUmljaGFyZHMpLCB4bWxTY2hlbWFGcmVlQW5ub3QgbWVtbGVhayAoS2FzaW1pZXIpLCBIVE1MIFVURi04CisgICAgc2VyaWFsaXphdGlvbiwgc3RyZWFtaW5nIFhQYXRoLCBTY2hlbWFzIGRldGVybWluaXNtIGRldGVjdGlvbiBwcm9ibGVtLAorICAgIFhJbmNsdWRlIGJ1ZywgU2NoZW1hcyBjb250ZXh0IHR5cGUgKERlYW4gSGlsbCksIHZhbGlkYXRpb24gZml4IChEZXJlaworICAgIFBvb24pLCB4bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlW05zXSBuYW1lc3BhY2VzIChSb2IgUmljaGFyZHMpLCBTY2hlbWFzCisgICAgdHlwZSBmaXggKEt1YmEgTm93YWtvd3NraSksIFVURi04IHBhcnNlciBidWcsIGVycm9yIGluIGVuY29kaW5nIGhhbmRsaW5nLAorICAgIHhtbEdldExpbmVObyBmaXhlcywgYnVnIG9uIGVudGl0aWVzIGhhbmRsaW5nLCBlbnRpdHkgbmFtZSBleHRyYWN0aW9uIGluCisgICAgZXJyb3IgaGFuZGxpbmcgd2l0aCBYSW5jbHVkZSwgdGV4dCBub2RlcyBpbiBIVE1MIGJvZHkgdGFncyAoR2FyeSBDb2FkeSksCisgICAgeG1sOmlkIGFuZCBJRG5lc3MgYXQgdGhlIHRyZWVlIGxldmVsIGZpeGVzLCBYUGF0aCBzdHJlYW1pbmcgcGF0dGVybnMKKyAgYnVncy48L2xpPgorICA8bGk+aW1wcm92ZW1lbnRzOiBzdHJ1Y3R1cmVkIGludGVyZmFjZXMgZm9yIHNjaGVtYXMgYW5kIFJORyBlcnJvciByZXBvcnRzCisgICAgKE1hcmN1cyBCb2VyZ2VyKSwgb3B0aW1pemF0aW9uIG9mIHRoZSBjaGFyIGRhdGEgaW5uZXIgbG9vcCBwYXJzaW5nCisgICAgKHRoYW5rcyB0byBCZWhkYWQgRXNmYWhib2QgZm9yIHRoZSBpZGVhKSwgc2NoZW1hdHJvbiB2YWxpZGF0aW9uIHRob3VnaAorICAgIG5vdCBmaW5pc2hlZCB5ZXQsIHhtbFNhdmVPcHRpb24gdG8gb21pdCBYTUwgZGVjbGFyYXRpb24sIGtleXJlZiBtYXRjaAorICAgIGVycm9yIHJlcG9ydHMgKEthc2ltaWVyKSwgZm9ybWFsIGV4cHJlc3Npb24gaGFuZGxpbmcgY29kZSBub3QgcGx1Z2dlZAorICAgIHlldCwgbW9yZSBsYXggbW9kZSBmb3IgdGhlIEhUTUwgcGFyc2VyLCBwYXJzZXIgWE1MX1BBUlNFX0NPTVBBQ1Qgb3B0aW9uCisgICAgZm9yIHRleHQgbm9kZXMgYWxsb2NhdGlvbi48L2xpPgorICA8bGk+ZG9jdW1lbnRhdGlvbjogeG1sbGludCBtYW4gcGFnZSBoYWQgLS1ub25ldCBkdXBsaWNhdGVkPC9saT4KKzwvdWw+PGgzPjIuNi4yMDogSnVsIDEwIDIwMDU8L2gzPjx1bD4KKyAgPGxpPmJ1aWxkIGZpeGVzOiBXaW5kb3dzIGJ1aWxkIChSb2IgUmljaGFyZHMpLCBNaW5ndyBjb21waWxhdGlvbiAoSWdvcgorICAgIFpsYXRrb3ZpYyksIFdpbmRvd3MgTWFrZWZpbGUgKElnb3IpLCBnY2Mgd2FybmluZ3MgKEthc2ltaWVyIGFuZAorICAgIGFuZHJpeUBnb29nbGUuY29tKSwgdXNlIGdjYyB3ZWFrIHJlZmVyZW5jZXMgdG8gcHRocmVhZCB0byBhdm9pZCB0aGUKKyAgICBwdGhyZWFkIGRlcGVuZGFuY3kgb24gTGludXgsIGNvbXBpbGF0aW9uIHByb2JsZW0gKFN0ZXZlIE5haXJuKSwgY29tcGlsaW5nCisgICAgb2Ygc3Vic2V0IChNb3J0ZW4gV2VsaW5kZXIpLCBJUHY2L3NzX2ZhbWlseSBjb21waWxhdGlvbiAoV2lsbGlhbSBCcmFjayksCisgICAgY29tcGlsYXRpb24gd2hlbiBkaXNhYmxpbmcgcGFydHMgb2YgdGhlIGxpYnJhcnksIHN0YW5kYWxvbmUgdGVzdAorICAgIGRpc3RyaWJ1dGlvbi48L2xpPgorICA8bGk+YnVnIGZpeGVzOiBidWcgaW4gbGFuZygpLCBtZW1vcnkgY2xlYW51cCBvbiBlcnJvcnMgKFdpbGxpYW0gQnJhY2spLAorICAgIEhUVFAgcXVlcnkgc3RyaW5ncyAoQXJvbiBTdGFuc3ZpayksIG1lbW9yeSBsZWFrIGluIERURCAoV2lsbGlhbSksIGludGVnZXIKKyAgICBvdmVyZmxvdyBpbiBYUGF0aCAoV2lsbGlhbSksIG5hbm9mdHAgYnVmZmVyIHNpemUsIHBhdHRlcm4gIi4iIGFwdGggZml4dXAKKyAgICAoS2FzaW1pZXIpLCBsZWFrIGluIHRyZWUgcmVwb3J0ZWQgYnkgTWFsY29sbSBSb3dlLCByZXBsYWNlTm9kZSBwYXRjaAorICAgIChCcmVudCBIZW5kcmlja3MpLCBDREFUQSB3aXRoIE5VTEwgY29udGVudCAoTWFyayBWYWtvYyksIHhtbDpiYXNlIGZpeHVwCisgICAgb24gWEluY2x1ZGUgKFdpbGxpYW0pLCBwYXR0ZXJuIGZpeGVzIChXaWxsaWFtKSwgYXR0cmlidXRlIGJ1ZyBpbgorICAgIGV4Y2x1c2l2ZSBjMTRuIChBbGVrc2V5IFNhbmluKSwgeG1sOnNwYWNlIGFuZCB4bWw6bGFuZyB3aXRoIFNBWDIgKFJvYgorICAgIFJpY2hhcmRzKSwgbmFtZXNwYWNlIHRyb3VibGUgaW4gY29tcGxleCBwYXJzaW5nIChNYWxjb2xtIFJvd2UpLCBYU0QgdHlwZQorICAgIFFOYW1lcyBmaXhlcyAoS2FzaW1pZXIpLCBYUGF0aCBzdHJlYW1pbmcgZml4dXBzIChXaWxsaWFtKSwgUmVsYXhORyBidWcKKyAgICAoUm9iIFJpY2hhcmRzKSwgU2NoZW1hcyBmb3IgU2NoZW1hcyBmaXhlcyAoS2FzaW1pZXIpLCByZW1vdmFsIG9mIElEIChSb2IKKyAgICBSaWNoYXJkcyksIGEgc21hbGwgUmVsYXhORyBsZWFrLCBIVE1MIHBhcnNpbmcgaW4gcHVzaCBtb2RlIGJ1ZyAoSmFtZXMKKyAgICBCdXJzYSksIGZhaWx1cmUgdG8gZGV0ZWN0IFVURi04IHBhcnNpbmcgYnVncyBpbiBDREFUQSBzZWN0aW9ucywKKyAgICBhcmVCbGFua3MoKSBoZXVyaXN0aWMgZmFpbHVyZSwgZHVwbGljYXRlIGF0dHJpYnV0ZXMgaW4gRFREIGJ1ZworICAoV2lsbGlhbSkuPC9saT4KKyAgPGxpPmltcHJvdmVtZW50czogbG90IG9mIHdvcmsgb24gU2NoZW1hcyBieSBLYXNpbWllciBCdWNoY2lrIGJvdGggb24KKyAgICBjb25mb3JtYW5jZSBhbmQgc3RyZWFtaW5nLCBTY2hlbWFzIHZhbGlkYXRpb24gbWVzc2FnZXMgKEthc2ltaWVyIEJ1Y2hjaWssCisgICAgTWF0dGhldyBCdXJnZXNzKSwgbmFtZXNwYWNlIHJlbW92YWwgYXQgdGhlIHB5dGhvbiBsZXZlbCAoQnJlbnQKKyAgICBIZW5kcmlja3MpLCBVcGRhdGUgdG8gbmV3IFNjaGVtYXMgcmVncmVzc2lvbiB0ZXN0cyBmcm9tIFczQy9OaXN0CisgICAgKEthc2ltaWVyKSwgeG1sU2NoZW1hVmFsaWRhdGVGaWxlKCkgKEthc2ltaWVyKSwgaW1wbGVtZW50YXRpb24gb2YKKyAgICB4bWxUZXh0UmVhZGVyUmVhZElubmVyWG1sIGFuZCB4bWxUZXh0UmVhZGVyUmVhZE91dGVyWG1sIChKYW1lcyBXZXJ0KSwKKyAgICBzdGFuZGFsb25lIHRlc3QgZnJhbWV3b3JrIGFuZCBwcm9ncmFtcywgbmV3IERPTSBpbXBvcnQgQVBJcworICAgIHhtbERPTVdyYXBSZWNvbmNpbGVOYW1lc3BhY2VzKCkgeG1sRE9NV3JhcEFkb3B0Tm9kZSgpIGFuZAorICAgIHhtbERPTVdyYXBSZW1vdmVOb2RlKCksIGV4dGVuc2lvbiBvZiB4bWxsaW50IGNhcGFiaWxpdGllcyBmb3IgU0FYIGFuZAorICAgIFNjaGVtYXMgcmVncmVzc2lvbiB0ZXN0cywgeG1sU3RvcFBhcnNlcigpIGF2YWlsYWJsZSBpbiBwdWxsIG1vZGUgdG9vLAorICAgIGllbmhhbmNlbWVudCB0byB4bWxsaW50IC0tc2hlbGwgbmFtZXNwYWNlcyBzdXBwb3J0LCBXaW5kb3dzIHBvcnQgb2YgdGhlCisgICAgc3RhbmRhbG9uZSB0ZXN0aW5nIHRvb2xzIChLYXNpbWllciBhbmQgV2lsbGlhbSksCisgICAgeG1sU2NoZW1hVmFsaWRhdGVTdHJlYW0oKSB4bWxTY2hlbWFTQVhQbHVnKCkgYW5kIHhtbFNjaGVtYVNBWFVucGx1ZygpIFNBWAorICAgIFNjaGVtYXMgQVBJcywgU2NoZW1hcyB4bWxSZWFkZXIgc3VwcG9ydC48L2xpPgorPC91bD48aDM+Mi42LjE5OiBBcHIgMDIgMjAwNTwvaDM+PHVsPgorICA8bGk+YnVpbGQgZml4ZXM6IGRyb3AgLmxhIGZyb20gUlBNcywgLS13aXRoLW1pbmltdW0gYnVpbGQgZml4IChXaWxsaWFtCisgICAgQnJhY2spLCB1c2UgWE1MX1NPQ0tMRU5fVCBpbnN0ZWFkIG9mIFNPQ0tMRU5fVCBiZWNhdXNlIGl0IGJyZWFrcyB3aXRoIEFJWAorICAgIDUuMyBjb21waWxlciwgZml4ZWQgZWxmZ2NjaGFjay5oIGdlbmVyYXRpb24gYW5kIFBMVCByZWR1Y3Rpb24gY29kZSBvbgorICAgIExpbnV4L0VMRi9nY2M0PC9saT4KKyAgPGxpPmJ1ZyBmaXhlczogc2NoZW1hcyB0eXBlIGRlY2ltYWwgZml4dXBzIChXaWxsaWFtIEJyYWNrKSwgeG1tbGludCByZXR1cm4KKyAgICBjb2RlIChHZXJyeSBNdXJwaHkpLCBzbWFsbCBzY2hlbWFzIGZpeGVzIChNYXR0aGV3IEJ1cmdlc3MgYW5kIEdVWQorICAgIEZhYnJpY2UpLCB3b3JrYXJvdW5kICJEQVY6IiBuYW1lc3BhY2UgYnJva2VuZXNzIGluIGMxNG4gKEFsZWtzZXkgU2FuaW4pLAorICAgIHNlZ2ZhdWx0IGluIFNjaGVtYXMgKEthc2ltaWVyIEJ1Y2hjaWspLCBTY2hlbWFzIGF0dHJpYnV0ZSB2YWxpZGF0aW9uCisgICAgKEthc2ltaWVyKSwgUHJvcCByZWxhdGVkIGZ1bmN0aW9ucyBhbmQgeG1sTmV3Tm9kZUVhdE5hbWUgKFJvYiBSaWNoYXJkcyksCisgICAgSFRNTCBzZXJpYWxpemF0aW9uIG9mIG5hbWUgYXR0cmlidXRlIG9uIGEgZWxlbWVudHMsIFB5dGhvbiBlcnJvciBoYW5kbGVycworICAgIGxlYWtzIGFuZCBpbXByb3ZlbWVudCAoQnJlbnQgSGVuZHJpY2tzKSwgdW5pbml0aWFsaXplZCB2YXJpYWJsZSBpbgorICAgIGVuY29kaW5nIGNvZGUsIFJlbGF4LU5HIHZhbGlkYXRpb24gYnVnLCBwb3RlbnRpYWwgY3Jhc2ggaWYKKyAgICBnbm9yYWJsZVdoaXRlc3BhY2UgaXMgTlVMTCwgeG1sU0FYUGFyc2VEb2MgYW5kIHhtbFBhcnNlRG9jIHNpZ25hdHVyZXMsCisgICAgc3dpdGNoZWQgYmFjayB0byBhc3N1bWluZyBVVEYtOCBpbiBjYXNlIG5vIGVuY29kaW5nIGlzIGdpdmVuIGF0CisgICAgc2VyaWFsaXphdGlvbiB0aW1lPC9saT4KKyAgPGxpPmltcHJvdmVtZW50czogbG90IG9mIHdvcmsgb24gU2NoZW1hcyBieSBLYXNpbWllciBCdWNoY2lrIG9uIGZhY2V0cworICAgIGNoZWNraW5nIGFuZCBhbHNvIG1peGVkIGhhbmRsaW5nLjwvbGk+CisgIDxsaT48L2xpPgorPC91bD48aDM+Mi42LjE4OiBNYXIgMTMgMjAwNTwvaDM+PHVsPgorICA8bGk+YnVpbGQgZml4ZXM6IHdhcm5pbmdzIChQZXRlciBCcmVpdGVubG9obmVyKSwgdGVzdGFwaS5jIGdlbmVyYXRpb24sCisgICAgQmFrZWZpbGUgc3VwcG9ydCAoRnJhbmNlc2NvIE1vbnRvcnNpKSwgV2luZG93cyBjb21waWxhdGlvbiAoSm9lbCBSZWVkKSwKKyAgICBzb21lIGdjYzQgZml4ZXMsIEhQLVVYIHBvcnRhYmlsaXR5IGZpeGVzIChSaWNrIEpvbmVzKS48L2xpPgorICA8bGk+YnVnIGZpeGVzOiB4bWxTY2hlbWFFbGVtZW50RHVtcCBuYW1lc3BhY2UgKEthc2ltaWVyIEJ1Y2hjaWspLCBwdXNoIGFuZAorICAgIHhtbHJlYWRlciBzdG9wcGluZyBvbiBub24tZmF0YWwgZXJyb3JzLCB0aHJlYWQgc3VwcG9ydCBmb3IgZGljdGlvbm5hcmllcworICAgIHJlZmVyZW5jZSBjb3VudGluZyAoR2FyeSBDb2FkeSksIGludGVybmFsIHN1YnNldCBhbmQgcHVzaCBwcm9ibGVtLCBVUkwKKyAgICBzYXZlZCBpbiB4bWxDb3B5RG9jLCB2YXJpb3VzIHNjaGVtYXMgYnVnIGZpeGVzIChLYXNpbWllciksIFB5dGhvbiBwYXRocworICAgIGZpeHVwIChTdGVwaGFuZSBCaWRvdWwpLCB4bWxHZXROb2RlUGF0aCBhbmQgbmFtZXNwYWNlcywgeG1sU2V0TnNQcm9wIGZpeAorICAgIChNaWtlIEhvbW1leSksIHdhcm5pbmcgc2hvdWxkIG5vdCBjb3VudCBhcyBlcnJvciAoV2lsbGlhbSBCcmFjayksCisgICAgeG1sQ3JlYXRlUHVzaFBhcnNlciBlbXB0eSBjaHVuaywgWEluY2x1ZGUgcGFyc2VyIGZsYWdzIChXaWxsaWFtKSwgY2xlYW51cAorICAgIEZUUCBhbmQgSFRUUCBjb2RlIHRvIHJldXNlIHRoZSB1cmkgcGFyc2luZyBhbmQgSVB2NiAoV2lsbGlhbSksCisgICAgeG1sVGV4dFdyaXRlclN0YXJ0QXR0cmlidXRlTlMgZml4IChSb2IgUmljaGFyZHMpLCBYTUxMSU5UX0lOREVOVCBiZWluZworICAgIGVtcHR5IChXaWxsaWFtKSwgeG1sV3JpdGVyIGJ1Z3MgKFJvYiBSaWNoYXJkcyksIG11bHRpdGhyZWFkaW5nIG9uIFdpbmRvd3MKKyAgICAoUmljaCBTYWx6KSwgeG1sU2VhcmNoTnNCeUhyZWYgZml4IChLYXNpbWllciksIFB5dGhvbiBiaW5kaW5nIGxlYWsgKEJyZW50CisgICAgSGVuZHJpY2tzKSwgYWxpYXNpbmcgYnVnIGV4cG9zZWQgYnkgZ2NjNCBvbiBzMzkwLCB4bWxUZXh0UmVhZGVyTmV4dCBidWcKKyAgICAoUm9iIFJpY2hhcmRzKSwgU2NoZW1hcyBkZWNpbWFsIHR5cGUgZml4ZXMgKFdpbGxpYW0gQnJhY2spLAorICAgIHhtbEJ5dGVDb25zdW1lZCBzdGF0aWMgYnVmZmVyIChCZW4gTWF1cmVyKS48L2xpPgorICA8bGk+aW1wcm92ZW1lbnQ6IHNwZWVkdXAgcGFyc2luZyBjb21tZW50cyBhbmQgRFREcywgZGljdGlvbm5hcnkgc3VwcG9ydCBmb3IKKyAgICBoYXNoIHRhYmxlcywgU2NoZW1hcyBJZGVudGl0eSBjb25zdHJhaW50cyAoS2FzaW1pZXIpLCBzdHJlYW1pbmcgWFBhdGgKKyAgICBzdWJzZXQsIHhtbFRleHRSZWFkZXJSZWFkU3RyaW5nIGFkZGVkIChCam9ybiBSZWVzZSksIFNjaGVtYXMgY2Fub25pY2FsCisgICAgdmFsdWVzIGhhbmRsaW5nIChLYXNpbWllciksIGFkZCB4bWxUZXh0UmVhZGVyQnl0ZUNvbnN1bWVkIChBcm9uCisgIFN0YW5zdmlrKSw8L2xpPgorICA8bGk+RG9jdW1lbnRhdGlvbjogV2lraSBzdXBwb3J0IChKb2VsIFJlZWQpPC9saT4KKzwvdWw+PGgzPjIuNi4xNzogSmFuIDE2IDIwMDU8L2gzPjx1bD4KKyAgPGxpPmJ1aWxkIGZpeGVzOiBXaW5kb3dzLCB3YXJuaW5ncyByZW1vdmFsIChXaWxsaWFtIEJyYWNrKSwKKyAgICBtYWludGFpbmVyLWNsZWFuIGRlcGVuZGVuY3koV2lsbGlhbSksIGJ1aWxkIGluIGEgZGlmZmVyZW50IGRpcmVjdG9yeQorICAgIChXaWxsaWFtKSwgZml4aW5nIC0td2l0aC1taW5pbXVtIGNvbmZpZ3VyZSBidWlsZCAoV2lsbGlhbSksIEJlT1MgYnVpbGQKKyAgICAoTWFyY2luIEtvbmlja2kpLCBQeXRob24tMi40IGRldGVjdGlvbiAoV2lsbGlhbSksIGNvbXBpbGF0aW9uIG9uIEFJWCAoRGFuCisgICAgTWNOaWNob2wpPC9saT4KKyAgPGxpPmJ1ZyBmaXhlczogeG1sVGV4dFJlYWRlckhhc0F0dHJpYnV0ZXMgKFJvYiBSaWNoYXJkcyksIHhtbEN0eHRSZWFkRmlsZSgpCisgICAgdG8gdXNlIHRoZSBjYXRhbG9nKHMpLCBsb29wIG9uIG91dHB1dCAoV2lsbGlhbSBCcmFjayksIFhQYXRoIG1lbW9yeSBsZWFrLAorICAgIElEIGRlYWxsb2NhdGlvbiBwcm9ibGVtIChTdGV2ZSBTaGVwYXJkKSwgZGVidWdEdW1wTm9kZSBjcmFzaCAoV2lsbGlhbSksCisgICAgd2FybmluZyBub3QgdXNpbmcgZXJyb3IgY2FsbGJhY2sgKFdpbGxpYW0pLCB4bWxTdG9wUGFyc2VyIGJ1ZyAoV2lsbGlhbSksCisgICAgVVRGLTE2IHdpdGggQk9NIG9uIERURHMgKFdpbGxpYW0pLCBuYW1lc3BhY2UgYnVnIG9uIGVtcHR5IGVsZW1lbnRzIGluCisgICAgcHVzaCBtb2RlIChSb2IgUmljaGFyZHMpLCBsaW5lIGFuZCBjb2wgY29tcHV0YXRpb25zIGZpeHVwcyAoQWxla3NleQorICAgIFNhbmluKSwgeG1sVVJJRXNjYXBlIGZpeCAoV2lsbGlhbSksIHhtbFhQYXRoRXJyIG9uIGJhZCByYW5nZSAoV2lsbGlhbSksCisgICAgcGF0dGVybnMgd2l0aCB0b28gbWFueSBzdGVwcywgYnVnIGluIFJORyBjaG9pY2Ugb3B0aW1pemF0aW9uLCBsaW5lIG51bWJlcgorICAgIHNvbWV0aW1lcyBtaXNzaW5nLjwvbGk+CisgIDxsaT5pbXByb3ZlbWVudHM6IFhTRCBTY2hlbWFzIChLYXNpbWllciBCdWNoY2lrKSwgcHl0aG9uIGdlbmVyYXRvcgorICAgIChXaWxsaWFtKSwgeG1sVVRGOFN0cnBvcyBzcGVlZHVwIChXaWxsaWFtKSwgdW5pY29kZSBQeXRob24gc3RyaW5ncworICAgIChXaWxsaWFtKSwgWFNEIGVycm9yIHJlcG9ydHMgKEthc2ltaWVyIEJ1Y2hjaWspLCBQeXRob24gX19zdHJfXyBjYWxsCisgICAgc2VyaWFsaXplKCkuPC9saT4KKyAgPGxpPm5ldyBBUElzOiBhZGRlZCB4bWxEaWN0RXhpc3RzKCksIEdldExpbmVOdW1iZXIgYW5kIEdldENvbHVtbk51bWJlciBmb3IKKyAgICB0aGUgeG1sUmVhZGVyIChBbGVrc2V5IFNhbmluKSwgRHluYW1pYyBTaGFyZWQgTGlicmFyaWVzIEFQSXMgKG1vc3RseSBKb2VsCisgICAgUmVlZCksIGVycm9yIGV4dHJhY3Rpb24gQVBJIGZyb20gcmVnZXhwcywgbmV3IFhNTFNhdmUgb3B0aW9uIGZvciBmb3JtYXQKKyAgICAoUGhpbCBTaGFmZXIpPC9saT4KKyAgPGxpPmRvY3VtZW50YXRpb246IHNpdGUgaW1wcm92ZW1lbnQgKEpvaG4gRmxlY2spLCBGQVEgZW50cmllcworICAoV2lsbGlhbSkuPC9saT4KKzwvdWw+PGgzPjIuNi4xNjogTm92IDEwIDIwMDQ8L2gzPjx1bD4KKyAgPGxpPmdlbmVyYWwgaGFyZGVuaW5nIGFuZCBidWcgZml4aW5nIGNyb3NzaW5nIGFsbCB0aGUgQVBJIGJhc2VkIG9uIG5ldworICAgIGF1dG9tYXRlZCByZWdyZXNzaW9uIHRlc3Rpbmc8L2xpPgorICA8bGk+YnVpbGQgZml4OiBJUHY2IGJ1aWxkIGFuZCB0ZXN0IG9uIEFJWCAoRG9kamkgU2VrZXRlbGkpPC9saT4KKyAgPGxpPmJ1ZyBmaXhlczogcHJvYmxlbSB3aXRoIFhNTDo6TGlieG1sIHJlcG9ydGVkIGJ5IFBldHIgUGFqYXMsICBlbmNvZGluZworICAgIGNvbnZlcnNpb24gZnVuY3Rpb25zIHJldHVybiB2YWx1ZXMsIFVURi04IGJ1ZyBhZmZlY3RpbmcgWFBhdGggcmVwb3J0ZWQgYnkKKyAgICBNYXJrdXMgQmVydGhlYXUsIGNhdGFsb2cgcHJvYmxlbSB3aXRoIE5VTEwgZW50cmllcyAoV2lsbGlhbSBCcmFjayk8L2xpPgorICA8bGk+ZG9jdW1lbnRhdGlvbjogZml4IHRvIHhtbGxpbnQgbWFuIHBhZ2UsIHNvbWUgQVBJIGZ1bmN0aW9uIGRlc2NyaXRwaW9uCisgICAgd2VyZSB1cGRhdGVkLjwvbGk+CisgIDxsaT5pbXByb3ZlbWVudHM6IERURCB2YWxpZGF0aW9uIEFQSXMgcHJvdmlkZWQgYXQgdGhlIFB5dGhvbiBsZXZlbCAoQnJlbnQKKyAgICBIZW5kcmlja3MpPC9saT4KKzwvdWw+PGgzPjIuNi4xNTogT2N0IDI3IDIwMDQ8L2gzPjx1bD4KKyAgPGxpPnNlY3VyaXR5IGZpeGVzIG9uIHRoZSBuYW5vZnRwIGFuZCBuYW5vaHR0cCBtb2R1bGVzPC9saT4KKyAgPGxpPmJ1aWxkIGZpeGVzOiB4bWxsaW50IGRldGVjdGlvbiBidWcgaW4gY29uZmlndXJlLCBidWlsZGluZyBvdXRzaWRlIHRoZQorICAgIHNvdXJjZSB0cmVlIChUaG9tYXMgRml0enNpbW1vbnMpPC9saT4KKyAgPGxpPmJ1ZyBmaXhlczogSFRNTCBwYXJzZXIgb24gYnJva2VuIEFTQ0lJIGNoYXJzIGluIG5hbWVzIChXaWxsaWFtKSwgUHl0aG9uCisgICAgcGF0aHMgKE1hbGNvbG0gVHJlZGlubmljayksIHhtbEhhc05zUHJvcCBhbmQgZGVmYXVsdCBuYW1lc3BhY2UgKFdpbGxpYW0pLAorICAgIHNhdmluZyB0byBweXRob24gZmlsZSBvYmplY3RzIChNYWxjb2xtIFRyZWRpbm5pY2spLCBEVEQgbG9va3VwIGZpeAorICAgIChNYWxjb2xtKSwgc2F2ZSBiYWNrICZsdDtncm91cCZndDsgaW4gY2F0YWxvZ3MgKFdpbGxpYW0pLCB0cmVlIGJ1aWxkCisgICAgZml4ZXMgKERWIGFuZCBSb2IgUmljaGFyZHMpLCBTY2hlbWFzIG1lbW9yeSBidWcsIHN0cnVjdHVyZWQgZXJyb3IgaGFuZGxlcgorICAgIG9uIFB5dGhvbiA2NGJpdHMsIHRocmVhZCBsb2NhbCBtZW1vcnkgZGVhbGxvY2F0aW9uLCBtZW1vcnkgbGVhayByZXBvcnRlZAorICAgIGJ5IFZvbGtlciBSb3RoLCB4bWxWYWxpZGF0ZUR0ZCBpbiB0aGUgcHJlc2VuY2Ugb2YgYW4gaW50ZXJuYWwgc3Vic2V0LAorICAgIGVudGl0aWVzIGFuZCBfcHJpdmF0ZSBwcm9ibGVtIChXaWxsaWFtKSwgeG1sQnVpbGRSZWxhdGl2ZVVSSSBlcnJvcgorICAgIChXaWxsaWFtKS48L2xpPgorICA8bGk+aW1wcm92ZW1lbnRzOiBiZXR0ZXIgWEluY2x1ZGUgZXJyb3IgcmVwb3J0cyAoV2lsbGlhbSksIHRyZWUgZGVidWdnaW5nCisgICAgbW9kdWxlIGFuZCB0ZXN0cywgY29udmVuaWVuY2UgZnVuY3Rpb25zIGF0IHRoZSBSZWFkZXIgQVBJIChHcmFoYW0KKyAgICBCZW5uZXR0KSwgYWRkIHN1cHBvcnQgZm9yIFBJIGluIHRoZSBIVE1MIHBhcnNlci48L2xpPgorPC91bD48aDM+Mi42LjE0OiBTZXAgMjkgMjAwNDwvaDM+PHVsPgorICA8bGk+YnVpbGQgZml4ZXM6IGNvbmZpZ3VyZSBwYXRocyBmb3IgeG1sbGludCBhbmQgeHNsdHByb2MsIGNvbXBpbGF0aW9uCisgICAgd2l0aG91dCBIVE1MIHBhcnNlciwgY29tcGlsYXRpb24gd2FybmluZyBjbGVhbnVwcyAoV2lsbGlhbSBCcmFjayAmYW1wOworICAgIE1hbGNvbG0gVHJlZGlubmljayksIFZNUyBtYWtlZmlsZSB1cGRhdGUgKENyYWlnIEJlcnJ5KSw8L2xpPgorICA8bGk+YnVnIGZpeGVzOiB4bWxHZXRVVEY4Q2hhciAoV2lsbGlhbSBCcmFjayksIFFOYW1lIHByb3BlcnRpZXMgKEthc2ltaWVyCisgICAgQnVjaGNpayksIFhJbmNsdWRlIHRlc3RpbmcsIE5vdGF0aW9uIHNlcmlhbGl6YXRpb24sIFVURjhUb0lTTzg4NTl4CisgICAgdHJhbnNjb2RpbmcgKE1hcmsgSXR6Y292aXR6KSwgbG90cyBvZiBYTUwgU2NoZW1hcyBjbGVhbnVwIGFuZCBmaXhlcworICAgIChLYXNpbWllciksIENoYW5nZUxvZyBjbGVhbnVwIChTdGVwYW4gS2FzYWwpLCBtZW1vcnkgZml4ZXMgKE1hcmsgVmFrb2MpLAorICAgIGhhbmRsaW5nIG9mIGZhaWxlZCByZWFsbG9jKCksIG91dCBvZiBib3VuZCBhcnJheSBhZHJlc3NpbmcgaW4gU2NoZW1hcworICAgIGRhdGUgaGFuZGxpbmcsIFB5dGhvbiBzcGFjZS90YWJzIGNsZWFudXBzIChNYWxjb2xtIFRyZWRpbm5pY2spLCBOTVRPS0VOUworICAgIEUyMCB2YWxpZGF0aW9uIGZpeCAoTWFsY29sbSksPC9saT4KKyAgPGxpPmltcHJvdmVtZW50czogYWRkZWQgVzNDIFhNTCBTY2hlbWFzIHRlc3RzdWl0ZSAoS2FzaW1pZXIgQnVjaGNpayksIGFkZAorICAgIHhtbFNjaGVtYVZhbGlkYXRlT25lRWxlbWVudCAoS2FzaW1pZXIpLCBQeXRob24gZXhjZXB0aW9uIGhpZXJlYXJjaHkKKyAgICAoTWFsY29sbSBUcmVkaW5uaWNrKSwgUHl0aG9uIGxpYnhtbDIgZHJpdmVyIGltcHJvdmVtZW50IChNYWxjb2xtCisgICAgVHJlZGlubmljayksIFNjaGVtYXMgc3VwcG9ydCBmb3IgeHNpOnNjaGVtYUxvY2F0aW9uLAorICAgIHhzaTpub05hbWVzcGFjZVNjaGVtYUxvY2F0aW9uLCB4c2k6dHlwZSAoS2FzaW1pZXIgQnVjaGNpayk8L2xpPgorPC91bD48aDM+Mi42LjEzOiBBdWcgMzEgMjAwNDwvaDM+PHVsPgorICA8bGk+YnVpbGQgZml4ZXM6IFdpbmRvd3MgYW5kIHpsaWIgKElnb3IgWmxhdGtvdmljKSwgLU8gZmxhZyB3aXRoIGdjYywKKyAgICBTb2xhcmlzIGNvbXBpbGVyIHdhcm5pbmcsIGZpeGluZyBSUE0gQnVpbGRSZXF1aXJlcyw8L2xpPgorICA8bGk+Zml4ZXM6IERURCBsb2FkaW5nIG9uIFdpbmRvd3MgKElnb3IpLCBTY2hlbWFzIGVycm9yIHJlcG9ydHMgQVBJcworICAgIChLYXNpbWllciBCdWNoY2lrKSwgU2NoZW1hcyB2YWxpZGF0aW9uIGNyYXNoLCB4bWxDaGVja1VURjggKFdpbGxpYW0gQnJhY2sKKyAgICBhbmQgSnVsaXVzIE1pdHRlbnp3ZWkpLCBTY2hlbWFzIGZhY2V0IGNoZWNrIChLYXNpbWllciksIGRlZmF1bHQgbmFtZXNwYWNlCisgICAgcHJvYmxlbSAoV2lsbGlhbSksIFNjaGVtYXMgaGV4YmluYXJ5IGVtcHR5IHZhbHVlcywgZW5jb2RpbmcgZXJyb3IgY291bGQKKyAgICBnZW5yYXRlIGEgc2VyaWFsaXphdGlvbiBsb29wLjwvbGk+CisgIDxsaT5JbXByb3ZlbWVudHM6IFNjaGVtYXMgdmFsaWRpdHkgaW1wcm92ZW1lbnRzIChLYXNpbWllciksIGFkZGVkIC0tcGF0aAorICAgIGFuZCAtLWxvYWQtdHJhY2Ugb3B0aW9ucyB0byB4bWxsaW50PC9saT4KKyAgPGxpPmRvY3VtZW50YXRpb246IHR1dG9yaWFsIHVwZGF0ZSAoSm9obiBGbGVjayk8L2xpPgorPC91bD48aDM+Mi42LjEyOiBBdWcgMjIgMjAwNDwvaDM+PHVsPgorICA8bGk+YnVpbGQgZml4ZXM6IGZpeCAtLXdpdGgtbWluaW11bSwgZWxmZ2NjaGFjay5oIGZpeGVzIChQZXRlcgorICAgIEJyZWl0ZW5sb2huZXIpLCBwZXJsIHBhdGggbG9va3VwIChXaWxsaWFtKSwgZGlmZiBvbiBTb2xhcmlzIChBbGJlcnQKKyAgICBDaGluKSwgc29tZSA2NGJpdHMgY2xlYW51cHMuPC9saT4KKyAgPGxpPlB5dGhvbjogYXZvaWQgYSB3YXJuaW5nIHdpdGggMi4zIChXaWxsaWFtIEJyYWNrKSwgdGFiIGFuZCBzcGFjZSBtaXhlcworICAgIChXaWxsaWFtKSwgd3JhcHBlciBnZW5lcmF0b3IgZml4ZXMgKFdpbGxpYW0pLCBDeWd3aW4gc3VwcG9ydCAoR2Vycml0IFAuCisgICAgSGFhc2UpLCBub2RlIHdyYXBwZXIgZml4IChNYXJjLUFudG9pbmUgUGFyZW50KSwgWE1MIFNjaGVtYXMgc3VwcG9ydAorICAgIChUb3JrZWwgTHluZyk8L2xpPgorICA8bGk+U2NoZW1hczogYSBsb3Qgb2YgYnVnIGZpeGVzIGFuZCBpbXByb3ZlbWVudHMgZnJvbSBLYXNpbWllciBCdWNoY2lrPC9saT4KKyAgPGxpPmZpeGVzOiBSVlQgZml4ZXMgKFdpbGxpYW0pLCBYUGF0aCBjb250ZXh0IHJlc2V0cyBidWcgKFdpbGxpYW0pLCBtZW1vcnkKKyAgICBkZWJ1ZyAoU3RldmUgSGF5KSwgY2F0YWxvZyB3aGl0ZSBzcGFjZSBoYW5kbGluZyAoUGV0ZXIgQnJlaXRlbmxvaG5lciksCisgICAgeG1sUmVhZGVyIHN0YXRlIGFmdGVyIGF0dHJpYnV0ZSByZWFkaW5nIChXaWxsaWFtKSwgc3RydWN0dXJlZCBlcnJvcgorICAgIGhhbmRsZXIgKFdpbGxpYW0pLCBYSW5jbHVkZSBnZW5lcmF0ZWQgeG1sOmJhc2UgZml4dXAgKFdpbGxpYW0pLCBXaW5kb3dzCisgICAgbWVtb3J5IHJlYWxsb2NhdGlvbiBwcm9ibGVtIChTdGV2ZSBIYXkpLCBPdXQgb2YgTWVtb3J5IGNvbmRpdGlvbnMKKyAgICBoYW5kbGluZyAoV2lsbGlhbSBhbmQgT2xpdmllciBBbmRyaWV1KSwgaHRtbE5ld0RvYygpIGNoYXJzZXQgYnVnLAorICAgIGh0bWxSZWFkTWVtb3J5IGluaXQgKFdpbGxpYW0pLCBhIHBvc3RlcmlvcmkgdmFsaWRhdGlvbiBEVEQgYmFzZQorICAgIChXaWxsaWFtKSwgbm90YXRpb25zIHNlcmlhbGl6YXRpb24gbWlzc2luZywgeG1sR2V0Tm9kZVBhdGggKERvZGppKSwKKyAgICB4bWxDaGVja1VURjggKERpZWdvIFRhcnRhcmEpLCBtaXNzaW5nIGxpbmUgbnVtYmVycyBvbiBlbnRpdHkKKyAgKFdpbGxpYW0pPC9saT4KKyAgPGxpPmltcHJvdmVtZW50czogRG9jQm9vayBjYXRhbG9nIGJ1aWxkIHNjcmlwIChXaWxsaWFtKSwgeG1sY2F0YWxvZyB0b29sCisgICAgKEFsYmVydCBDaGluKSwgeG1sbGludCAtLWMxNG4gb3B0aW9uLCBub19wcm94eSBlbnZpcm9ubWVudCAoTWlrZSBIb21tZXkpLAorICAgIHhtbFBhcnNlSW5Ob2RlQ29udGV4dCgpIGFkZGl0aW9uLCBleHRlbmQgeG1sbGludCAtLXNoZWxsLCBhbGxvdyBYSW5jbHVkZQorICAgIHRvIG5vdCBnZW5lcmF0ZSBzdGFydC9lbmQgbm9kZXMsIGV4dGVuZCB4bWxsaW50IC0tdmVyc2lvbiB0byBpbmNsdWRlIENWUworICAgIHRhZyAoV2lsbGlhbSk8L2xpPgorICA8bGk+ZG9jdW1lbnRhdGlvbjogd2ViIHBhZ2VzIGZpeGVzLCB2YWxpZGl0eSBBUEkgZG9jcyBmaXhlcyAoV2lsbGlhbSkKKyAgICBzY2hlbWFzIEFQSSBmaXggKEVyaWMgSGFzemxha2lld2ljeiksIHhtbGxpbnQgbWFuIHBhZ2UgKEpvaG4gRmxlY2spPC9saT4KKzwvdWw+PGgzPjIuNi4xMTogSnVseSA1IDIwMDQ8L2gzPjx1bD4KKyAgPGxpPlNjaGVtYXM6IGEgbG90IG9mIGNoYW5nZXMgYW5kIGltcHJvdmVtZW50cyBieSBLYXNpbWllciBCdWNoY2lrIGZvcgorICAgIGF0dHJpYnV0ZXMsIG5hbWVzcGFjZXMgYW5kIHNpbXBsZSB0eXBlcy48L2xpPgorICA8bGk+YnVpbGQgZml4ZXM6IC0td2l0aC1taW5pbXVtIChXaWxsaWFtIEJyYWNrKSwgIHNvbWUgZ2NjIGNsZWFudXAKKyAgICAoV2lsbGlhbSksIC0td2l0aC10aHJlYWQtYWxsb2MgKFdpbGxpYW0pPC9saT4KKyAgPGxpPnBvcnRhYmlsaXR5OiBXaW5kb3dzIGJpbmFyeSBwYWNrYWdlIGNoYW5nZSAoSWdvciBabGF0a292aWMpLCBDYXRhbG9nCisgICAgcGF0aCBvbiBXaW5kb3dzPC9saT4KKyAgPGxpPmRvY3VtZW50YXRpb246IHVwZGF0ZSB0byB0aGUgdHV0b3JpYWwgKEpvaG4gRmxlY2spLCB4bWxsaW50IHJldHVybiBjb2RlCisgICAgKEpvaG4gRmxlY2spLCBtYW4gcGFnZXMgKFZpbGxlIFNreXR0YSksPC9saT4KKyAgPGxpPmJ1ZyBmaXhlczogQzE0TiBidWcgc2VyaWFsaXppbmcgbmFtZXNwYWNlcyAoQWxla3NleSBTYW5pbiksIHRlc3RTQVgKKyAgICBwcm9wZXJseSBpbml0aWFsaXplIHRoZSBsaWJyYXJ5IChXaWxsaWFtKSwgZW1wdHkgbm9kZSBzZXQgaW4gWFBhdGgKKyAgICAoV2lsbGlhbSksIHhtbFNjaGVtYXMgZXJyb3JzIChXaWxsaWFtKSwgaW52YWxpZCBjaGFycmVmIHByb2JsZW0gcG9pbnRlZAorICAgIGJ5IE1vcnVzIFdhbHRlciwgWEluY2x1ZGUgeG1sOmJhc2UgZ2VuZXJhdGlvbiAoV2lsbGlhbSksIFJlbGF4LU5HIGJ1ZworICAgIHdpdGggZGl2IHByb2Nlc3NpbmcgKFdpbGxpYW0pLCBYUG9pbnRlciBhbmQgeG1sOmJhc2UgcHJvYmxlbShXaWxsaWFtKSwKKyAgICBSZWFkZXIgYW5kIGVudGl0aWVzLCB4bWxsaW50IHJldHVybiBjb2RlIGZvciBzY2hlbWFzIChXaWxsaWFtKSwgcmVhZGVyCisgICAgc3RyZWFtaW5nIHByb2JsZW0gKFN0ZXZlIEJhbGwpLCBEVEQgc2VyaWFsaXphdGlvbiBwcm9ibGVtIChXaWxsaWFtKSwKKyAgICBsaWJ4bWwubTQgZml4ZXMgKE1pa2UgSG9tbWV5KSwgZG8gbm90IHByb3ZpZGUgZGVzdHJ1Y3RvcnMgYXMgbWV0aG9kcyBvbgorICAgIFB5dGhvbiBjbGFzc2VzLCB4bWxSZWFkZXIgYnVmZmVyIGJ1ZywgUHl0aG9uIGJpbmRpbmdzIG1lbW9yeSBpbnRlcmZhY2VzCisgICAgaW1wcm92ZW1lbnQgKHdpdGggU3TDg8KpcGhhbmUgQmlkb3VsKSwgRml4ZWQgdGhlIHB1c2ggcGFyc2VyIHRvIGJlIGJhY2sgdG8KKyAgICBzeW5jaHJvbm91cyBiZWhhdmlvdXIuPC9saT4KKyAgPGxpPmltcHJvdmVtZW50OiBjdXN0b20gcGVyLXRocmVhZCBJL08gZW5oYW5jZW1lbnQgKFJvYiBSaWNoYXJkcyksIHJlZ2lzdGVyCisgICAgbmFtZXNwYWNlIGluIGRlYnVnIHNoZWxsIChTdGVmYW5vIERlYmVuZWRldHRpKSwgUHl0aG9uIGJhc2VkIHJlZ3Jlc3Npb24KKyAgICB0ZXN0IGZvciBub24tVW5peCB1c2VycyAoV2lsbGlhbSksIGR5bmFtaWNhbGx5IGluY3JlYXNlIHRoZSBudW1iZXIgb2YKKyAgICBYUGF0aCBleHRlbnNpb24gZnVuY3Rpb25zIGluIFB5dGhvbiBhbmQgZml4IGEgbWVtb3J5IGxlYWsgKE1hcmMtQW50b2luZQorICAgIFBhcmVudCBhbmQgV2lsbGlhbSk8L2xpPgorICA8bGk+cGVyZm9ybWFuY2U6IGhhY2sgZG9uZSB3aXRoIEFyamFuIHZhbiBkZSBWZW4gdG8gcmVkdWNlIEVMRiBmb290cHJpbnQKKyAgICBhbmQgZ2VuZXJhdGVkIGNvZGUgb24gTGludXgsIHBsdXMgdXNlIGdjYyBydW50aW1lIHByb2ZpbGluZyB0byBvcHRpbWl6ZQorICAgIHRoZSBjb2RlIGdlbmVyYXRlZCBpbiB0aGUgUlBNIHBhY2thZ2VzLjwvbGk+Cis8L3VsPjxoMz4yLjYuMTA6IE1heSAxNyAyMDA0PC9oMz48dWw+CisgIDxsaT5XZWIgcGFnZSBnZW5lcmF0ZWQgZm9yIENoYW5nZUxvZzwvbGk+CisgIDxsaT5idWlsZCBmaXhlczogLS13aXRob3V0LWh0bWwgcHJvYmxlbXMsIG1ha2UgY2hlY2sgd2l0aG91dCBtYWtlIGFsbDwvbGk+CisgIDxsaT5wb3J0YWJpbGl0eTogcHJvYmxlbSB3aXRoIHhwYXRoLmMgb24gV2luZG93cyAoTVNDIGFuZCBCb3JsYW5kKSwgbWVtY21wCisgICAgdnMuIHN0cm5jbXAgb24gU29sYXJpcywgWFBhdGggdGVzdHMgb24gV2luZG93cyAoTWFyayBWYWtvYyksIEMrKyBkbyBub3QKKyAgICB1c2UgImxpc3QiIGFzIHBhcmFtZXRlciBuYW1lLCBtYWtlIHRlc3RzIHdvcmsgd2l0aCBQeXRob24gMS41IChFZAorICBEYXZpcyksPC9saT4KKyAgPGxpPmltcHJvdmVtZW50czogbWFkZSB4bWxUZXh0UmVhZGVyTW9kZSBwdWJsaWMsIHNtYWxsIGJ1ZmZlcnMgcmVzaXppbmcKKyAgICAoTW9ydGVuIFdlbGluZGVyKSwgYWRkIC0tbWF4bWVtIG9wdGlvbiB0byB4bWxsaW50LCBhZGQKKyAgICB4bWxQb3BJbnB1dENhbGxiYWNrKCkgZm9yIE1hdHQgU2VyZ2VhbnQsIHJlZmFjdG9yaW5nIG9mIHNlcmlhbGl6YXRpb24KKyAgICBlc2NhcGluZywgYWRkZWQgZXNjYXBpbmcgY3VzdG9taXphdGlvbjwvbGk+CisgIDxsaT5idWdmaXhlczogeHNkOmV4dGVuc2lvbiAoVGFpaGVpIEdvaSksIGFzc29ydGVkIHJlZ2V4cCBidWdzIChXaWxsaWFtCisgICAgQnJhY2spLCB4bWxSZWFkZXIgZW5kIG9mIHN0cmVhbSBwcm9ibGVtLCBub2RlIGRlcmVnaXN0cmF0aW9uIHdpdGggcmVhZGVyLAorICAgIFVSSSBlc2NhcGluZyBhbmQgZmlsZW1hbmVzLCAgWEhUTUwxIGZvcm1hdHRpbmcgKE5pY2sgV2VsbG5ob2ZlciksIHJlZ2V4cAorICAgIHRyYW5zaXRpb24gcmVkdWN0aW9uIChXaWxsaWFtKSwgdmFyaW91cyBYU0QgU2NoZW1hcyBmaXhlcyAoS2FzaW1pZXIKKyAgICBCdWNoY2lrKSwgWEluY2x1ZGUgZmFsbGJhY2sgcHJvYmxlbSAoV2lsbGlhbSksIHdlaXJkIHByb2JsZW1zIHdpdGggRFRECisgICAgKFdpbGxpYW0pLCBzdHJ1Y3R1cmVkIGVycm9yIGhhbmRsZXIgY2FsbGJhY2sgY29udGV4dCAoV2lsbGlhbSksIHJldmVyc2UKKyAgICB4bWxFbmNvZGVTcGVjaWFsQ2hhcnMoKSBiZWhhdmlvdXIgYmFjayB0byBlc2NhcGluZyAnIic8L2xpPgorPC91bD48aDM+Mi42Ljk6IEFwciAxOCAyMDA0PC9oMz48dWw+CisgIDxsaT5pbXBsZW1lbnQgeG1sOmlkIFdvcmtpbmcgRHJhZnQsIHJlbGF4ZWQgWFBhdGggaWQoKSBjaGVja2luZzwvbGk+CisgIDxsaT5idWdmaXhlczogeG1sQ3R4dFJlc2V0IChCcmVudCBIZW5kcmlja3MpLCBsaW5lIG51bWJlciBhbmQgQ0RBVEEgKERhdmUKKyAgICBCZWNrZXR0KSwgUmVsYXgtTkcgY29tcGlsYXRpb24gKFdpbGxpYW0gQnJhY2spLCBSZWdleHAgcGF0Y2hlcyAod2l0aAorICAgIFdpbGxpYW0pLCB4bWxVcmlFc2NhcGUgKE1hcmsgVmFrb2MpLCBhIFJlbGF4LU5HIG5vdEFsbG93ZWQgcHJvYmxlbSAod2l0aAorICAgIFdpbGxpYW0pLCBSZWxheC1ORyBuYW1lIGNsYXNzZXMgY29tcGFyZXMgKFdpbGxpYW0pLCBYSW5jbHVkZSBkdXBsaWNhdGUKKyAgICBmYWxsYmFjayAoV2lsbGlhbSksIGV4dGVybmFsIERURCBlbmNvZGluZyBkZXRlY3Rpb24gKFdpbGxpYW0pLCBhIERURAorICAgIHZhbGlkYXRpb24gYnVnIChXaWxsaWFtKSwgeG1sUmVhZGVyIENsb3NlKCkgZml4LCByZWN1c2l2ZSBleHRlbnRpb24KKyAgICBzY2hlbWFzPC9saT4KKyAgPGxpPmltcHJvdmVtZW50czogdXNlIHhtbFJlYWQqIEFQSXMgaW4gdGVzdCB0b29scyAoTWFyayBWYWtvYyksIGluZGVudGluZworICAgIHNhdmUgb3B0aW1pemF0aW9uLCBiZXR0ZXIgaGFuZGxlIElJUyBicm9rZW4gSFRUUCByZWRpcmVjdCAgYmVoYXZpb3VyIChJYW4KKyAgICBIdW1tZWwpLCBIVE1MIHBhcnNlciBmcmFtZXNldCAoSmFtZXMgQnVyc2EpLCBsaWJ4bWwyLXB5dGhvbiBSUE0KKyAgICBkZXBlbmRhbmN5LCBYTUwgU2NoZW1hcyB1bmlvbiBzdXBwb3J0IChLYXNpbWllciBCdWNoY2lrKSwgd2FybmluZyByZW1vdmFsCisgICAgY2xhbnVwIChXaWxsaWFtKSwga2VlcCBDaGFuZ2VMb2cgY29tcHJlc3NlZCB3aGVuIGluc3RhbGxpbmcgZnJvbSBSUE1zPC9saT4KKyAgPGxpPmRvY3VtZW50YXRpb246IGV4YW1wbGVzIGFuZCB4bWxEb2NEdW1wTWVtb3J5IGRvY3MgKEpvaG4gRmxlY2spLCBuZXcKKyAgICBleGFtcGxlIChsb2FkLCB4cGF0aCwgbW9kaWZ5LCBzYXZlKSwgeG1sQ2F0YWxvZ0R1bXAoKSBjb21tZW50cyw8L2xpPgorICA8bGk+V2luZG93czogQm9ybGFuZCBDKysgYnVpbGRlciAoRXJpYyBadXJjaGVyKSwgd29yayBhcm91bmQgTWljcm9zb2Z0CisgICAgY29tcGlsZXIgTmFOIGhhbmRsaW5nIGJ1ZyAoTWFyayBWYWtvYyk8L2xpPgorPC91bD48aDM+Mi42Ljg6IE1hciAyMyAyMDA0PC9oMz48dWw+CisgIDxsaT5GaXJzdCBzdGVwIG9mIHRoZSBjbGVhbnVwIG9mIHRoZSBzZXJpYWxpemF0aW9uIGNvZGUgYW5kIEFQSXM8L2xpPgorICA8bGk+WE1MIFNjaGVtYXM6IG1peGVkIGNvbnRlbnQgKEFkYW0gRGlja21laXNzKSwgUU5hbWUgaGFuZGxpbmcgZml4ZXMgKEFkYW0KKyAgICBEaWNrbWVpc3MpLCBhbnlVUkkgZm9yICIiIChKb2huIEJlbG1vbnRlKTwvbGk+CisgIDxsaT5QeXRob246IENhbm9uaWNhbGl6YXRpb24gQzE0TiBzdXBwb3J0IGFkZGVkIChBbnRob255IENhcnJpY28pPC9saT4KKyAgPGxpPnhtbERvY0NvcHlOb2RlKCkgZXh0ZW5zaW9uIChXaWxsaWFtKTwvbGk+CisgIDxsaT5SZWxheC1ORzogZml4IHdoZW4gcHJvY2Vzc2luZyBYSW5jbHVkZSByZXN1bHRzIChXaWxsaWFtKSwgZXh0ZXJuYWwKKyAgICByZWZlcmVuY2UgaW4gaW50ZXJsZWF2ZSAoV2lsbGlhbSksIG1pc3NpbmcgZXJyb3Igb24gJmx0O2Nob2ljZSZndDsKKyAgICBmYWlsdXJlIChXaWxsaWFtKSwgbWVtb3J5IGxlYWsgaW4gc2NoZW1hcyBkYXRhdHlwZSBmYWNldHMuPC9saT4KKyAgPGxpPnhtbFdyaXRlcjogcGF0Y2ggZm9yIGJldHRlciBEVEQgc3VwcG9ydCAoQWxmcmVkIE1pY2thdXRzY2gpPC9saT4KKyAgPGxpPmJ1ZyBmaXhlczogeG1sWFBhdGhMYW5nRnVuY3Rpb24gbWVtb3J5IGxlYWsgKE1pa2UgSG9tbWV5IGFuZCBXaWxsaWFtCisgICAgQnJhY2spLCBubyBJRCBlcnJvcnMgaWYgdXNpbmcgSFRNTF9QQVJTRV9OT0VSUk9SLCB4bWxjYXRhbG9nIGZhbGxiYWNrcyB0bworICAgIFVSSSBvbiBTWVNURU0gbG9va3VwIGZhaWx1cmUsIFhJbmNsdWRlIHBhcnNlIGZsYWdzIGluaGVyaXRhbmNlIChXaWxsaWFtKSwKKyAgICBYSW5jbHVkZSBhbmQgWFBvaW50ZXIgZml4ZXMgZm9yIGVudGl0aWVzIChXaWxsaWFtKSwgWE1MIHBhcnNlciBidWcKKyAgICByZXBvcnRlZCBieSBIb2xnZXIgUmF1Y2gsIG5hbm9odHRwIGZkIGxlYWsgKFdpbGxpYW0pLCAgcmVnZXhwcyBjaGFyCisgICAgZ3JvdXBzICctJyBoYW5kbGluZyAoV2lsbGlhbSksIGRpY3Rpb25uYXJ5IHJlZmVyZW5jZSBjb3VudGluZyBwcm9ibGVtcywKKyAgICBkbyBub3QgY2xvc2Ugc3RkZXJyLjwvbGk+CisgIDxsaT5wZXJmb3JtYW5jZSBwYXRjaGVzIGZyb20gUGV0ciBQYWphczwvbGk+CisgIDxsaT5Eb2N1bWVudGF0aW9uIGZpeGVzOiBYTUxfQ0FUQUxPR19GSUxFUyBpbiBtYW4gcGFnZXMgKE1pa2UgSG9tbWV5KTwvbGk+CisgIDxsaT5jb21waWxhdGlvbiBhbmQgcG9ydGFiaWxpdHkgZml4ZXM6IC0td2l0aG91dC12YWxpZCwgY2F0YWxvZyBjbGVhbnVwcworICAgIChQZXRlciBCcmVpdGVubG9obmVyKSwgTWluZ1cgcGF0Y2ggKFJvbGFuZCBTY2h3aW5nZWwpLCBjcm9zcy1jb21waWxhdGlvbgorICAgIHRvIFdpbmRvd3MgKENocmlzdG9waGUgZGUgVmllbm5lKSwgIC0td2l0aC1odG1sLWRpciBmaXh1cCAoSnVsaW8gTWVyaW5vCisgICAgVmlkYWwpLCBXaW5kb3dzIGJ1aWxkIChFcmljIFp1cmNoZXIpPC9saT4KKzwvdWw+PGgzPjIuNi43OiBGZWIgMjMgMjAwNDwvaDM+PHVsPgorICA8bGk+ZG9jdW1lbnRhdGlvbjogdHV0b3JpYWwgdXBkYXRlcyAoSm9obiBGbGVjayksIGJlbmNobWFyayByZXN1bHRzPC9saT4KKyAgPGxpPnhtbFdyaXRlcjogdXBkYXRlcyBhbmQgZml4ZXMgKEFsZnJlZCBNaWNrYXV0c2NoLCBMdWNhcyBCcmFzaWxpbm8pPC9saT4KKyAgPGxpPlhQYXRoIG9wdGltaXphdGlvbiAoUGV0ciBQYWphcyk8L2xpPgorICA8bGk+RFREIElEIGhhbmRsaW5nIG9wdGltaXphdGlvbjwvbGk+CisgIDxsaT5idWdmaXhlczogeHBhdGggbnVtYmVyIHdpdGggICZndDsgMTkgZnJhY3Rpb25hbCAoV2lsbGlhbSBCcmFjayksIHB1c2gKKyAgICBtb2RlIHdpdGggdW5lc2NhcGVkICcmZ3Q7JyBjaGFyYWN0ZXJzLCBmaXggeG1sbGludCAtLXN0cmVhbSAtLXRpbWluZywgZml4CisgICAgeG1sbGludCAtLW1lbW9yeSAtLXN0cmVhbSBtZW1vcnkgdXNhZ2UsIHhtbEF0dHJTZXJpYWxpemVUeHRDb250ZW50CisgICAgaGFuZGxpbmcgTlVMTCwgdHJ5aW5nIHRvIGZpeCBSZWxheC1ORy9QZXJsIGludGVyZmFjZS48L2xpPgorICA8bGk+cHl0aG9uOiAyLjMgY29tcGF0aWJpbGl0eSwgd2hpdGVzcGFjZSBmaXhlcyAoTWFsY29sbSBUcmVkaW5uaWNrKTwvbGk+CisgIDxsaT5BZGRlZCByZWxheG5nIG9wdGlvbiB0byB4bWxsaW50IC0tc2hlbGw8L2xpPgorPC91bD48aDM+Mi42LjY6IEZlYiAxMiAyMDA0PC9oMz48dWw+CisgIDxsaT5uYW5vaHR0cCBhbmQgbmFub2Z0cDogYnVmZmVyIG92ZXJmbG93IGVycm9yIG9uIFVSSSBwYXJzaW5nIChJZ29yIGFuZAorICAgIFdpbGxpYW0pIHJlcG9ydGVkIGJ5IFl1dWljaGkgVGVyYW5pc2hpPC9saT4KKyAgPGxpPmJ1Z2ZpeGVzOiBtYWtlIHRlc3QgYW5kIHBhdGggaXNzdWVzLCB4bWxXcml0ZXIgYXR0cmlidXRlIHNlcmlhbGl6YXRpb24KKyAgICAoV2lsbGlhbSBCcmFjayksIHhtbFdyaXRlciBpbmRlbnRhdGlvbiAoV2lsbGlhbSksIHNjaGVtYXMgdmFsaWRhdGlvbgorICAgIChFcmljIEhhc3psYWtpZXdpY3opLCBYSW5jbHVkZSBkaWN0aW9ubmFyaWVzIGlzc3VlcyAoV2lsbGlhbSBhbmQgT2xlZworICAgIFBhcmFzY2hlbmtvKSwgWEluY2x1ZGUgZW1wdHkgZmFsbGJhY2sgKFdpbGxpYW0pLCBIVE1MIHdhcm5pbmdzIChXaWxsaWFtKSwKKyAgICBYUG9pbnRlciBpbiBYSW5jbHVkZSAoV2lsbGlhbSksIFB5dGhvbiBuYW1lc3BhY2Ugc2VyaWFsaXphdGlvbiwKKyAgICBpc29sYXQxVG9VVEY4IGJvdW5kIGVycm9yIChBbGZyZWQgTWlja2F1dHNjaCksIG91dHB1dCBvZiBwYXJhbWV0ZXIKKyAgICBlbnRpdGllcyBpbiBpbnRlcm5hbCBzdWJzZXQgKFdpbGxpYW0pLCBpbnRlcm5hbCBzdWJzZXQgYnVnIGluIHB1c2ggbW9kZSwKKyAgICAmbHQ7eHM6YWxsJmd0OyBmaXggKEFsZXhleSBTYXJ5dGNoZXYpPC9saT4KKyAgPGxpPkJ1aWxkOiBmaXggZm9yIGF1dG9tYWtlLTEuOCAoQWxleGFuZGVyIFdpbnN0b24pLCB3YXJuaW5ncyByZW1vdmFsCisgICAgKFBoaWxpcCBMdWRsYW0pLCBTT0NLTEVOX1QgZGV0ZWN0aW9uIGZpeGVzIChEYW5pZWwgUmljaGFyZCksIGZpeAorICAgIC0td2l0aC1taW5pbXVtIGNvbmZpZ3VyYXRpb24uPC9saT4KKyAgPGxpPlhJbmNsdWRlOiBhbGxvdyB0aGUgMjAwMSBuYW1lc3BhY2Ugd2l0aG91dCB3YXJuaW5nLjwvbGk+CisgIDxsaT5Eb2N1bWVudGF0aW9uOiBtaXNzaW5nIGV4YW1wbGUvaW5kZXguaHRtbCAoSm9obiBGbGVjayksIHZlcnNpb24KKyAgICBkZXBlbmRhbmNpZXMgKEpvaG4gRmxlY2spPC9saT4KKyAgPGxpPnJlYWRlciBBUEk6IHN0cnVjdHVyZWQgZXJyb3IgcmVwb3J0aW5nIChTdGV2ZSBCYWxsKTwvbGk+CisgIDxsaT5XaW5kb3dzIGNvbXBpbGF0aW9uOiBtaW5ndywgbXN5cyAoTWlraGFpbCBHcnVzaGluc2tpeSksIGZ1bmN0aW9uCisgICAgcHJvdG90eXBlIChDYW1lcm9uIEpvaG5zb24pLCBNU1ZDNiBjb21waWxlciB3YXJuaW5ncywgX1dJTlNPQ0tBUElfCisgIHBhdGNoPC9saT4KKyAgPGxpPlBhcnNlcnM6IGFkZGVkIHhtbEJ5dGVDb25zdW1lZChjdHh0KSBBUEkgdG8gZ2V0IHRoZSBieXRlIG9mZmVzdCBpbgorICAgIGlucHV0LjwvbGk+Cis8L3VsPjxoMz4yLjYuNTogSmFuIDI1IDIwMDQ8L2gzPjx1bD4KKyAgPGxpPkJ1Z2ZpeGVzOiBkaWN0aW9ubmFyaWVzIGZvciBzY2hlbWFzIChXaWxsaWFtIEJyYWNrKSwgcmVnZXhwIHNlZ2ZhdWx0CisgICAgKFdpbGxpYW0pLCB4czphbGwgcHJvYmxlbSAoV2lsbGlhbSksIGEgbnVtYmVyIG9mIFhQb2ludGVyIGJ1Z2ZpeGVzCisgICAgKFdpbGxpYW0pLCB4bWxsaW50IGVycm9yIGdvIHRvIHN0ZGVyciwgRFREIHZhbGlkYXRpb24gcHJvYmxlbSB3aXRoCisgICAgbmFtZXNwYWNlLCBtZW1vcnkgbGVhayAoV2lsbGlhbSksIFNBWDEgY2xlYW51cCBhbmQgbWluaW1hbCBvcHRpb25zIGZpeGVzCisgICAgKE1hcmsgVmFkb2MpLCBwYXJzZXIgY29udGV4dCByZXNldCBvbiBlcnJvciAoU2hhdW4gTWNDYW5jZSksIFhQYXRoIHVuaW9uCisgICAgZXZhbHVhdGlvbiBwcm9ibGVtIChXaWxsaWFtKSAsIHhtbFJlYWxsb2NMb2Mgd2l0aCBOVUxMIChBbGVrc2V5IFNhbmluKSwKKyAgICBYTUwgU2NoZW1hcyBkb3VibGUgZnJlZSAoU3RldmUgQmFsbCksIFhJbmNsdWRlIHdpdGggbm8gaHJlZiwgYXJndW1lbnQKKyAgICBjYWxsYmFja3Mgb3JkZXIgZm9yIFhQYXRoIGNhbGxiYWNrcyAoRnJlZGVyaWMgUGV0ZXJzKTwvbGk+CisgIDxsaT5Eb2N1bWVudGF0aW9uOiBweXRob24gc2NyaXB0cyAoV2lsbGlhbSBCcmFjayksIHhzbHQgc3R5bGVzaGVldHMgKEpvaG4KKyAgICBGbGVjayksIGRvYyAoU3ZlbiBaaW1tZXJtYW4pLCBJL08gZXhhbXBsZS48L2xpPgorICA8bGk+UHl0aG9uIGJpbmRpbmdzOiBmaXhlcyAoV2lsbGlhbSksIGVudW0gc3VwcG9ydCAoU3TDg8KpcGhhbmUgQmlkb3VsKSwKKyAgICBzdHJ1Y3R1cmVkIGVycm9yIHJlcG9ydGluZyAoU3TDg8KpcGhhbmUgQmlkb3VsKTwvbGk+CisgIDxsaT5YSW5jbHVkZTogdmFyaW91cyBmaXhlcyBmb3IgY29uZm9ybWFuY2UsIHByb2JsZW0gcmVsYXRlZCB0byBkaWN0aW9ubmFyeQorICAgIHJlZmVyZW5jZXMgKFdpbGxpYW0gJmFtcDsgbWUpLCByZWN1cnNpb24gKFdpbGxpYW0pPC9saT4KKyAgPGxpPnhtbFdyaXRlcjogaW5kZW50YXRpb24gKEx1Y2FzIEJyYXNpbGlubyksIG1lbW9yeSBsZWFrcyAoQWxmcmVkCisgICAgTWlja2F1dHNjaCksPC9saT4KKyAgPGxpPnhtbFNjaGVtYXM6IG5vcm1hbGl6ZWRTdHJpbmcgZGF0YXR5cGUgKEpvaG4gQmVsbW9udGUpPC9saT4KKyAgPGxpPmNvZGUgY2xlYW51cCBmb3Igc3RyaW5ncyBmdW5jdGlvbnMgKFdpbGxpYW0pPC9saT4KKyAgPGxpPldpbmRvd3M6IGNvbXBpbGVyIHBhdGNoZXMgKE1hcmsgVmFrb2MpPC9saT4KKyAgPGxpPlBhcnNlciBvcHRpbWl6YXRpb25zLCBhIGZldyBuZXcgWFBhdGggYW5kIGRpY3Rpb25uYXJ5IEFQSXMgZm9yIGZ1dHVyZQorICAgIFhTTFQgb3B0aW1pemF0aW9ucy48L2xpPgorPC91bD48aDM+Mi42LjQ6IERlYyAyNCAyMDAzPC9oMz48dWw+CisgIDxsaT5XaW5kb3dzIGJ1aWxkIGZpeGVzIChJZ29yIFpsYXRrb3ZpYyk8L2xpPgorICA8bGk+U29tZSBzZXJpb3VzIFhJbmNsdWRlIHByb2JsZW1zIHJlcG9ydGVkIGJ5IE9sZWcgUGFyYXNjaGVua28gYW5kPC9saT4KKyAgPGxpPlVuaXggYW5kIE1ha2VmaWxlIHBhY2thZ2luZyBmaXhlcyAobWUsIFdpbGxpYW0gQnJhY2ssPC9saT4KKyAgPGxpPkRvY3VtZW50YXRpb24gaW1wcm92ZW1lbnRzIChKb2huIEZsZWNrLCBXaWxsaWFtIEJyYWNrKSwgZXhhbXBsZSBmaXgKKyAgICAoTHVjYXMgQnJhc2lsaW5vKTwvbGk+CisgIDxsaT5idWdmaXhlczogeG1sVGV4dFJlYWRlckV4cGFuZCgpIHdpdGggeG1sUmVhZGVyV2Fsa2VyLCBYUGF0aCBoYW5kbGluZyBvZgorICAgIE5VTEwgc3RyaW5ncyAoV2lsbGlhbSBCcmFjaykgLCBBUEkgYnVpbGRpbmcgcmVhZGVyIG9yIHBhcnNlciBmcm9tCisgICAgZmlsZWRlc2NyaXB0b3Igc2hvdWxkIG5vdCBjbG9zZSBpdCwgY2hhbmdlZCBYUGF0aCBzb3J0aW5nIHRvIGJlIHN0YWJsZQorICAgIGFnYWluIChXaWxsaWFtIEJyYWNrKSwgeG1sR2V0Tm9kZVBhdGgoKSBnZW5lcmF0aW5nICcobnVsbCknIChXaWxsaWFtCisgICAgQnJhY2spLCBEVEQgdmFsaWRhdGlvbiBhbmQgbmFtZXNwYWNlIGJ1ZyAoV2lsbGlhbSBCcmFjayksIFhNTCBTY2hlbWFzCisgICAgZG91YmxlIGluY2x1c2lvbiBiZWhhdmlvdXI8L2xpPgorPC91bD48aDM+Mi42LjM6IERlYyAxMCAyMDAzPC9oMz48dWw+CisgIDxsaT5kb2N1bWVudGF0aW9uIHVwZGF0ZXMgYW5kIGNsZWFudXAgKERWLCBXaWxsaWFtIEJyYWNrLCBKb2huIEZsZWNrKTwvbGk+CisgIDxsaT5hZGRlZCBhIHJlcG9zaXRvcnkgb2YgZXhhbXBsZXMsIGV4YW1wbGVzIGZyb20gQWxla3NleSBTYW5pbiwgRG9kamkKKyAgICBTZWtldGVsaSwgQWxmcmVkIE1pY2thdXRzY2g8L2xpPgorICA8bGk+V2luZG93cyB1cGRhdGVzOiBNYXJrIFZha29jLCBJZ29yIFpsYXRrb3ZpYywgRXJpYyBadXJjaGVyLCBNaW5ndworICAgIChLZW5uZXRoIEhhbGV5KTwvbGk+CisgIDxsaT5Vbmljb2RlIHJhbmdlIGNoZWNraW5nIChXaWxsaWFtIEJyYWNrKTwvbGk+CisgIDxsaT5jb2RlIGNsZWFudXAgKFdpbGxpYW0gQnJhY2spPC9saT4KKyAgPGxpPlB5dGhvbiBiaW5kaW5nczogZG9jIChKb2huIEZsZWNrKSwgIGJ1ZyBmaXhlczwvbGk+CisgIDxsaT5VVEYtMTYgY2xlYW51cCBhbmQgQk9NIGlzc3VlcyAoV2lsbGlhbSBCcmFjayk8L2xpPgorICA8bGk+YnVnIGZpeGVzOiBJRCBhbmQgeG1sUmVhZGVyIHZhbGlkYXRpb24sIFhQYXRoIChXaWxsaWFtIEJyYWNrKSwKKyAgICB4bWxXcml0ZXIgKEFsZnJlZCBNaWNrYXV0c2NoKSwgaGFzaC5oIGluY2x1c2lvbiBwcm9ibGVtLCBIVE1MIHBhcnNlcgorICAgIChKYW1lcyBCdXJzYSksIGF0dHJpYnV0ZSBkZWZhdWx0aW5nIGFuZCB2YWxpZGF0aW9uLCBzb21lIHNlcmlhbGl6YXRpb24KKyAgICBjbGVhbnVwcywgWE1MX0dFVF9MSU5FIG1hY3JvLCBtZW1vcnkgZGVidWcgd2hlbiB1c2luZyB0aHJlYWRzIChXaWxsaWFtCisgICAgQnJhY2spLCBzZXJpYWxpemF0aW9uIG9mIGF0dHJpYnV0ZXMgYW5kIGVudGl0aWVzIGNvbnRlbnQsIHhtbFdyaXRlcgorICAgIChEYW5pZWwgU2NodWxtYW4pPC9saT4KKyAgPGxpPlhJbmNsdWRlIGJ1Z2ZpeCwgbmV3IEFQSXMgYW5kIHVwZGF0ZSB0byB0aGUgbGFzdCB2ZXJzaW9uIGluY2x1ZGluZyB0aGUKKyAgICBuYW1lc3BhY2UgY2hhbmdlLjwvbGk+CisgIDxsaT5YTUwgU2NoZW1hcyBpbXByb3ZlbWVudHM6IGluY2x1ZGUgKFJvYmVydCBTdGVwYW5layksIGltcG9ydCBhbmQKKyAgICBuYW1lc3BhY2UgaGFuZGxpbmcsIGZpeGVkIHRoZSByZWdyZXNzaW9uIHRlc3RzIHRyb3VibGVzLCBhZGRlZCBleGFtcGxlcworICAgIGJhc2VkIG9uIEVyaWMgdmFuIGRlciBWbGlzdCBib29rLCByZWdleHAgZml4ZXM8L2xpPgorICA8bGk+cHJlbGltaW5hcnkgcGF0dGVybiBzdXBwb3J0IGZvciBzdHJlYW1pbmcgKG5lZWRlZCBmb3Igc2NoZW1hcworICAgIGNvbnN0cmFpbnRzKSwgYWRkZWQgeG1sVGV4dFJlYWRlclByZXNlcnZlUGF0dGVybigpIHRvIGNvbGxlY3Qgc3ViZG9jdW1lbnQKKyAgICB3aGVuIHN0cmVhbWluZy48L2xpPgorICA8bGk+dmFyaW91cyBmaXhlcyBpbiB0aGUgc3RydWN0dXJlZCBlcnJvciBoYW5kbGluZzwvbGk+Cis8L3VsPjxoMz4yLjYuMjogTm92IDQgMjAwMzwvaDM+PHVsPgorICA8bGk+WFBhdGggY29udGV4dCB1bnJlZ2lzdHJhdGlvbiBmaXhlczwvbGk+CisgIDxsaT50ZXh0IG5vZGUgY29hbGVzY2luZyBmaXhlcyAoTWFyayBMaWxiYWNrKTwvbGk+CisgIDxsaT5BUEkgdG8gc2NyZWF0ZSBhIFczQyBTY2hlbWFzIGZyb20gYW4gZXhpc3RpbmcgZG9jdW1lbnQgKFN0ZXZlIEJhbGwpPC9saT4KKyAgPGxpPkJlT1MgcGF0Y2hlcyAoTWFyY2luICdTaGFyZCcgS29uaWNraSk8L2xpPgorICA8bGk+eG1sU3RyVlByaW50ZiBmdW5jdGlvbiBhZGRlZCAoQWxla3NleSBTYW5pbik8L2xpPgorICA8bGk+Y29tcGlsYXRpb24gZml4ZXMgKE1hcmsgVmFrb2MpPC9saT4KKyAgPGxpPnN0ZGluIHBhcnNpbmcgZml4IChXaWxsaWFtIEJyYWNrKTwvbGk+CisgIDxsaT5hIHBvc3RlcmlvcmkgRFREIHZhbGlkYXRpb24gZml4ZXM8L2xpPgorICA8bGk+eG1sUmVhZGVyIGJ1ZyBmaXhlczogV2Fsa2VyIGZpeGVzLCBweXRob24gYmluZGluZ3M8L2xpPgorICA8bGk+Zml4ZWQgeG1sU3RvcFBhcnNlcigpIHRvIHJlYWxseSBzdG9wIHRoZSBwYXJzZXIgYW5kIGVycm9yczwvbGk+CisgIDxsaT5hbHdheXMgZ2VuZXJhdGUgbGluZSBudW1iZXJzIHdoZW4gdXNpbmcgdGhlIG5ldyB4bWxSZWFkeHh4CisgIGZ1bmN0aW9uczwvbGk+CisgIDxsaT5hZGRlZCBYSW5jbHVkZSBzdXBwb3J0IHRvIHRoZSB4bWxSZWFkZXIgaW50ZXJmYWNlPC9saT4KKyAgPGxpPmltcGxlbWVudGVkIFhNTF9QQVJTRV9OT05FVCBwYXJzZXIgb3B0aW9uPC9saT4KKyAgPGxpPkRvY0Jvb2sgWFNMVCBwcm9jZXNzaW5nIGJ1ZyBmaXhlZDwvbGk+CisgIDxsaT5IVE1MIHNlcmlhbGl6YXRpb24gZm9yICZsdDtwJmd0OyBlbGVtZW50cyAoV2lsbGlhbSBCcmFjayBhbmQgbWUpPC9saT4KKyAgPGxpPlhQb2ludGVyIGZhaWx1cmUgaW4gWEluY2x1ZGUgYXJlIG5vdyBoYW5kbGVkIGFzIHJlc291cmNlIGVycm9yczwvbGk+CisgIDxsaT5maXhlZCB4bWxsaW50IC0taHRtbCB0byB1c2UgdGhlIEhUTUwgc2VyaWFsaXplciBvbiBvdXRwdXQgKGFkZGVkCisgICAgLS14bWxvdXQgdG8gaW1wbGVtZW50IHRoZSBwcmV2aW91cyBiZWhhdmlvdXIgb2Ygc2F2aW5nIGl0IHVzaW5nIHRoZSBYTUwKKyAgICBzZXJpYWxpemVyKTwvbGk+Cis8L3VsPjxoMz4yLjYuMTogT2N0IDI4IDIwMDM8L2gzPjx1bD4KKyAgPGxpPk1vc3RseSBidWdmaXhlcyBhZnRlciB0aGUgYmlnIDIuNi4wIGNoYW5nZXM8L2xpPgorICA8bGk+VW5peCBjb21waWxhdGlvbiBwYXRjaGVzOiBsaWJ4bWwubTQgKFBhdHJpY2sgV2VsY2hlKSwgd2FybmluZ3MgY2xlYW51cAorICAgIChXaWxsaWFtIEJyYWNrKTwvbGk+CisgIDxsaT5XaW5kb3dzIGNvbXBpbGF0aW9uIHBhdGNoZXMgKEpvYWNoaW0gQmF1Y2gsIFN0ZXBoYW5lIEJpZG91bCwgSWdvcgorICAgIFpsYXRrb3ZpYyk8L2xpPgorICA8bGk+eG1sV3JpdGVyIGJ1Z2ZpeCAoQWxmcmVkIE1pY2thdXRzY2gpPC9saT4KKyAgPGxpPmNodmFsaWQuW2NoXTogY291cGxlIG9mIGZpeGVzIGZyb20gU3RlcGhhbmUgQmlkb3VsPC9saT4KKyAgPGxpPmNvbnRleHQgcmVzZXQ6IGVycm9yIHN0YXRlIHJlc2V0LCBwdXNoIHBhcnNlciByZXNldCAoR3JhaGFtCisgIEJlbm5ldHQpPC9saT4KKyAgPGxpPmNvbnRleHQgcmV1c2U6IGdlbmVyYXRlIGVycm9ycyBpZiBmaWxlIGlzIG5vdCByZWFkYWJsZTwvbGk+CisgIDxsaT5kZWZhdWx0ZWQgYXR0cmlidXRlcyBmb3IgZWxlbWVudCBjb21pbmcgZnJvbSBpbnRlcm5hbCBlbnRpdGllcworICAgIChTdGVwaGFuZSBCaWRvdWwpPC9saT4KKyAgPGxpPlB5dGhvbjogdGFiIGFuZCBzcGFjZXMgbWl4IChXaWxsaWFtIEJyYWNrKTwvbGk+CisgIDxsaT5FcnJvciBoYW5kbGVyIGNvdWxkIGNyYXNoIGluIERURCB2YWxpZGF0aW9uIGluIDIuNi4wPC9saT4KKyAgPGxpPnhtbFJlYWRlcjogZG8gbm90IHVzZSB0aGUgZG9jdW1lbnQgb3IgZWxlbWVudCBfcHJpdmF0ZSBmaWVsZDwvbGk+CisgIDxsaT50ZXN0U0FYLmM6IGF2b2lkIGEgcHJvYmxlbSB3aXRoIHNvbWUgUElzIChNYXNzaW1vIE1vcmFyYSk8L2xpPgorICA8bGk+Z2VuZXJhbCBidWcgZml4ZXM6IG1hbmRhdG9yeSBlbmNvZGluZyBpbiB0ZXh0IGRlY2wsIHNlcmlhbGl6aW5nCisgICAgRG9jdW1lbnQgRnJhZ21lbnQgbm9kZXMsIHhtbFNlYXJjaE5zIDIuNi4wIHByb2JsZW0gKEthc2ltaWVyIEJ1Y2hjaWspLAorICAgIFhQYXRoIGVycm9ycyBub3QgcmVwb3J0ZWQsICBzbG93IEhUTUwgcGFyc2luZyBvZiBsYXJnZSBkb2N1bWVudHMuPC9saT4KKzwvdWw+PGgzPjIuNi4wOiBPY3QgMjAgMjAwMzwvaDM+PHVsPgorICA8bGk+TWFqb3IgcmV2aXNpb24gcmVsZWFzZTogc2hvdWxkIGJlIEFQSSBhbmQgQUJJIGNvbXBhdGlibGUgYnV0IGdvdCBhIGxvdAorICAgIG9mIGNoYW5nZTwvbGk+CisgIDxsaT5JbmNyZWFzZWQgdGhlIGxpYnJhcnkgbW9kdWxhcml0eSwgZmFyIG1vcmUgb3B0aW9ucyBjYW4gYmUgc3RyaXBwZWQgb3V0LAorICAgIGEgLS13aXRoLW1pbmltdW0gY29uZmlndXJhdGlvbiB3aWxsIHdlaWdodCBhcm91bmQgMTYwS0J5dGVzPC9saT4KKyAgPGxpPlVzZSBwZXIgcGFyc2VyIGFuZCBwZXIgZG9jdW1lbnQgZGljdGlvbm5hcnksIGFsbG9jYXRlIG5hbWVzIGFuZCBzbWFsbAorICAgIHRleHQgbm9kZXMgZnJvbSB0aGUgZGljdGlvbm5hcnk8L2xpPgorICA8bGk+U3dpdGNoIHRvIGEgU0FYMiBsaWtlIHBhcnNlciByZXdyb3RlIG1vc3Qgb2YgdGhlIFhNTCBwYXJzZXIgY29yZSwKKyAgICBwcm92aWRlcyBuYW1lc3BhY2UgcmVzb2x1dGlvbiBhbmQgZGVmYXVsdGVkIGF0dHJpYnV0ZXMsIG1pbmltaXplIG1lbW9yeQorICAgIGFsbG9jYXRpb25zIGFuZCBjb3BpZXMsIG5hbWVzcGFjZSBjaGVja2luZyBhbmQgc3BlY2lmaWMgZXJyb3IgaGFuZGxpbmcsCisgICAgaW1tdXRhYmxlIGJ1ZmZlcnMsIG1ha2UgcHJlZGVmaW5lZCBlbnRpdGllcyBzdGF0aWMgc3RydWN0dXJlcywgZXRjLi4uPC9saT4KKyAgPGxpPnJld3JvdGUgYWxsIHRoZSBlcnJvciBoYW5kbGluZyBpbiB0aGUgbGlicmFyeSwgYWxsIGVycm9ycyBjYW4gYmUKKyAgICBpbnRlcmNlcHRlZCBhdCBhIHN0cnVjdHVyZWQgbGV2ZWwsIHdpdGggcHJlY2lzZSBpbmZvcm1hdGlvbgorICBhdmFpbGFibGUuPC9saT4KKyAgPGxpPk5ldyBzaW1wbGVyIGFuZCBtb3JlIGdlbmVyaWMgWE1MIGFuZCBIVE1MIHBhcnNlciBBUElzLCBhbGxvd2luZyB0bworICAgIGVhc2lsbHkgbW9kaWZ5IHRoZSBwYXJzaW5nIG9wdGlvbnMgYW5kIHJldXNlIHBhcnNlciBjb250ZXh0IGZvciBtdWx0aXBsZQorICAgIGNvbnNlY3V0aXZlIGRvY3VtZW50cy48L2xpPgorICA8bGk+U2ltaWxhciBuZXcgQVBJcyBmb3IgdGhlIHhtbFJlYWRlciwgZm9yIG9wdGlvbnMgYW5kIHJldXNlLCBwcm92aWRlZCBuZXcKKyAgICBmdW5jdGlvbnMgdG8gYWNjZXNzIGNvbnRlbnQgYXMgY29uc3Qgc3RyaW5ncywgdXNlIHRoZW0gZm9yIFB5dGhvbgorICBiaW5kaW5nczwvbGk+CisgIDxsaT5hICBsb3Qgb2Ygb3RoZXIgc21hbGxlciBBUEkgaW1wcm92ZW1lbnRzOiB4bWxTdHJQcmludGYgKEFsZWtzZXkgU2FuaW4pLAorICAgIFdhbGtlciBpLmUuIHJlYWRlciBvbiBhIGRvY3VtZW50IHRyZWUgYmFzZWQgb24gQWxmcmVkIE1pY2thdXRzY2ggY29kZSwKKyAgICBtYWtlIHJvb20gaW4gbm9kZXMgZm9yIGxpbmUgbnVtYmVycywgcmVmZXJlbmNlIGNvdW50aW5nIGFuZCBmdXR1cmUgUFNWSQorICAgIGV4dGVuc2lvbnMsIGdlbmVyYXRpb24gb2YgY2hhcmFjdGVyIHJhbmdlcyB0byBiZSBjaGVja2VkIHdpdGggZmFzdGVyCisgICAgYWxnb3JpdGhtIChXaWxsaWFtKSwgIHhtbFBhcnNlck1heERlcHRoIChDcnV0Y2hlciBEdW5uYXZhbnQpLCBidWZmZXIKKyAgICBhY2Nlc3M8L2xpPgorICA8bGk+TmV3IHhtbFdyaXRlciBBUEkgcHJvdmlkZWQgYnkgQWxmcmVkIE1pY2thdXRzY2g8L2xpPgorICA8bGk+U2NoZW1hczogYmFzZTY0IHN1cHBvcnQgYnkgQW50aG9ueSBDYXJyaWNvPC9saT4KKyAgPGxpPlBhcnNlciZsdDstJmd0O0hUVFAgaW50ZWdyYXRpb24gZml4LCBwcm9wZXIgcHJvY2Vzc2luZyBvZiB0aGUgTWltZS1UeXBlCisgICAgYW5kIGNoYXJzZXQgaW5mb3JtYXRpb24gaWYgYXZhaWxhYmxlLjwvbGk+CisgIDxsaT5SZWxheC1ORzogYnVnIGZpeGVzIGluY2x1ZGluZyB0aGUgb25lIHJlcG9ydGVkIGJ5IE1hcnRpam4gRmFhc3NlbiBhbmQKKyAgICB6ZXJvT3JNb3JlLCBiZXR0ZXIgZXJyb3IgcmVwb3J0aW5nLjwvbGk+CisgIDxsaT5QeXRob24gYmluZGluZ3MgKFN0w4PCqXBoYW5lIEJpZG91bCksIG5ldmVyIHVzZSBzdGRvdXQgZm9yIGVycm9ycworICBvdXRwdXQ8L2xpPgorICA8bGk+UG9ydGFiaWxpdHk6IGFsbCB0aGUgaGVhZGVycyBoYXZlIG1hY3JvcyBmb3IgZXhwb3J0IGFuZCBjYWxsaW5nCisgICAgY29udmVudGlvbiBkZWZpbml0aW9ucyAoSWdvciBabGF0a292aWMpLCBWTVMgdXBkYXRlIChDcmFpZyBBLiBCZXJyeSksCisgICAgV2luZG93czogdGhyZWFkcyAoSmVzc2UgUGVsdG9uKSwgQm9ybGFuZCBjb21waWxlciAoRXJpYyBadXJjaGVyLCAgSWdvciksCisgICAgTWluZ3cgKElnb3IpLCB0eXBvcyAoTWFyayBWYWtvYyksICBiZXRhIHZlcnNpb24gKFN0ZXBoYW5lIEJpZG91bCksCisgICAgd2FybmluZyBjbGVhbnVwcyBvbiBBSVggYW5kIE1JUFMgY29tcGlsZXJzIChXaWxsaWFtIEJyYWNrKSwgQmVPUyAoTWFyY2luCisgICAgJ1NoYXJkJyBLb25pY2tpKTwvbGk+CisgIDxsaT5Eb2N1bWVudGF0aW9uIGZpeGVzIGFuZCBSRUFETUUgKFdpbGxpYW0gQnJhY2spLCBzZWFyY2ggZml4IChXaWxsaWFtKSwKKyAgICB0dXRvcmlhbCB1cGRhdGVzIChKb2huIEZsZWNrKSwgbmFtZXNwYWNlIGRvY3MgKFN0ZWZhbiBLb3N0KTwvbGk+CisgIDxsaT5CdWcgZml4ZXM6IHhtbENsZWFudXBQYXJzZXIgKERhdmUgQmVja2V0dCksIHRocmVhZGluZyB1bmluaXRpYWxpemVkCisgICAgbXV0ZXhlcywgSFRNTCBkb2N0eXBlIGxvd2VyY2FzZSwgIFNBWC9JTyAoV2lsbGlhbSksIGNvbXByZXNzaW9uIGRldGVjdGlvbgorICAgIGFuZCByZXN0b3JlIChXaWxsaWFtKSwgYXR0cmlidXRlIGRlY2xhcmF0aW9uIGluIERURHMgKFdpbGxpYW0pLCBuYW1lc3BhY2UKKyAgICBvbiBhdHRyaWJ1dGUgaW4gSFRNTCBvdXRwdXQgKFdpbGxpYW0pLCBpbnB1dCBmaWxlbmFtZSAoUm9iIFJpY2hhcmRzKSwKKyAgICBuYW1lc3BhY2UgRFREIHZhbGlkYXRpb24sIHhtbFJlcGxhY2VOb2RlIChDaHJpcyBSeWxhbmQpLCBJL08gY2FsbGJhY2tzCisgICAgKE1hcmt1cyBLZWltKSwgQ0RBVEEgc2VyaWFsaXphdGlvbiAoU2hhdW4gTWNDYW5jZSksIHhtbFJlYWRlciAoUGV0ZXIKKyAgICBEZXJyKSwgaGlnaCBjb2RlcG9pbnQgY2hhcnJlZiBsaWtlICZhbXA7I3gxMEZGRkY7LCBidWZmZXIgYWNjZXNzIGluIHB1c2gKKyAgICBtb2RlIChKdXN0aW4gRmxldGNoZXIpLCBUTFMgdGhyZWFkcyBvbiBXaW5kb3dzIChKZXNzZSBQZWx0b24pLCBYUGF0aCBidWcKKyAgICAoV2lsbGlhbSksIHhtbENsZWFudXBQYXJzZXIgKE1hcmMgTGl5YW5hZ2UpLCBDREFUQSBvdXRwdXQgKFdpbGxpYW0pLCBIVFRQCisgICAgZXJyb3IgaGFuZGxpbmcuPC9saT4KKyAgPGxpPnhtbGxpbnQgb3B0aW9uczogLS1kdGR2YWxpZGZwaSBmb3IgVG9iaWFzIFJlaWYsIC0tc2F4MSBmb3IgY29tcGF0CisgICAgdGVzdGluZywgIC0tbm9kaWN0IGZvciBidWlsZGluZyB3aXRob3V0IHRyZWUgZGljdGlvbm5hcnksIC0tbm9jZGF0YSB0bworICAgIHJlcGxhY2UgQ0RBVEEgYnkgdGV4dCwgLS1uc2NsZWFuIHRvIHJlbW92ZSBzdXJwZXJmbHVvdXMgIG5hbWVzcGFjZQorICAgIGRlY2xhcmF0aW9uczwvbGk+CisgIDxsaT5hZGRlZCB4bWwyLWNvbmZpZyAtLWxpYnRvb2wtbGlicyBvcHRpb24gZnJvbSBLZXZpbiBQLiBGbGVtaW5nPC9saT4KKyAgPGxpPmEgbG90IG9mIHByb2ZpbGluZyBhbmQgdHVuaW5nIG9mIHRoZSBjb2RlLCBzcGVlZHVwIHBhdGNoIGZvcgorICAgIHhtbFNlYXJjaE5zKCkgYnkgTHVjYSBQYWRvdmFuaS4gVGhlIHhtbFJlYWRlciBzaG91bGQgZG8gZmFyIGxlc3MKKyAgICBhbGxvY2F0aW9uIGFuZCBpdCBzcGVlZCBzaG91bGQgZ2V0IGNsb3NlciB0byBTQVguIENocmlzIEFuZGVyc29uIHdvcmtlZAorICAgIG9uIHNwZWVkaW5nIGFuZCBjbGVhbmluZyB1cCByZXBldGl0aXZlIGNoZWNraW5nIGNvZGUuPC9saT4KKyAgPGxpPmNsZWFudXAgb2YgIm1ha2UgdGVzdHMiPC9saT4KKyAgPGxpPmxpYnhtbC0yLjAtdW5pbnN0YWxsZWQucGMgZnJvbSBNYWxjb2xtIFRyZWRpbm5pY2s8L2xpPgorICA8bGk+ZGVhY3RpdmF0ZWQgdGhlIGJyb2tlbiBkb2NCb29rIFNHTUwgcGFyc2VyIGNvZGUgYW5kIHBsdWdnZWQgdGhlIFhNTAorICAgIHBhcnNlciBpbnN0ZWFkLjwvbGk+Cis8L3VsPjxoMz4yLjUuMTE6IFNlcCA5IDIwMDM8L2gzPjxwPkEgYnVnZml4IG9ubHkgcmVsZWFzZTo8L3A+PHVsPgorICA8bGk+cmlzayBvZiBjcmFzaCBpbiBSZWxheC1ORzwvbGk+CisgIDxsaT5yaXNrIG9mIGNyYXNoIHdoZW4gdXNpbmcgbXVsdGl0aHJlYWRlZCBwcm9ncmFtczwvbGk+Cis8L3VsPjxoMz4yLjUuMTA6IEF1ZyAxNSAyMDAzPC9oMz48cD5BIGJ1Z2ZpeGVzIG9ubHkgcmVsZWFzZTwvcD48dWw+CisgIDxsaT5XaW5kb3dzIE1ha2VmaWxlcyAoV2lsbGlhbSBCcmFjayk8L2xpPgorICA8bGk+VVRGLTE2IHN1cHBvcnQgZml4ZXMgKE1hcmsgSXR6Y292aXR6KTwvbGk+CisgIDxsaT5NYWtlZmlsZSBhbmQgcG9ydGFiaWxpdHkgKFdpbGxpYW0gQnJhY2spIGF1dG9tYWtlLCBMaW51eCBhbHBoYSwgTWluZ3cKKyAgICBvbiBXaW5kb3dzIChNaWtoYWlsIEdydXNoaW5za2l5KTwvbGk+CisgIDxsaT5IVE1MIHBhcnNlciAoT2xpdmVyIFN0b2VuZWJlcmcpPC9saT4KKyAgPGxpPlhJbmNsdWRlIHBlcmZvcm1hbmNlIHByb2JsZW0gcmVwb3J0ZWQgYnkgS2V2aW4gUnVzY29lPC9saT4KKyAgPGxpPlhNTCBwYXJzZXIgcGVyZm9ybWFuY2UgcHJvYmxlbSByZXBvcnRlZCBieSBHcmFudCBHb29kYWxlPC9saT4KKyAgPGxpPnhtbFNBWFBhcnNlRFREKCkgYnVnIGZpeCBmcm9tIE1hbGNvbG0gVHJlZGlubmljazwvbGk+CisgIDxsaT5hbmQgYSBjb3VwbGUgb3RoZXIgY2xlYW51cDwvbGk+Cis8L3VsPjxoMz4yLjUuOTogQXVnIDkgMjAwMzwvaDM+PHVsPgorICA8bGk+YnVnZml4ZXM6IElQdjYgcG9ydGFiaWxpdHksIHhtbEhhc05zUHJvcCAoTWFya3VzIEtlaW0pLCBXaW5kb3dzIGJ1aWxkCisgICAgKFdpbGlhbSBCcmFrZSwgSmVzc2UgUGVsdG9uLCBJZ29yKSwgU2NoZW1hcyAoUGV0ZXIgU29iaXNjaCksIHRocmVhZGluZworICAgIChSb2IgUmljaGFyZHMpLCBoZXhCaW5hcnkgdHlwZSAoKSwgVVRGLTE2IEJPTSAoRG9kamkgU2VrZXRlbGkpLAorICAgIHhtbFJlYWRlciwgUmVsYXgtTkcgc2NoZW1hcyBjb21waWxhdGlvbiwgbmFtZXNwYWNlIGhhbmRsaW5nLCAgRVhTTFQgKFNlYW4KKyAgICBHcmlmZmluKSwgSFRNTCBwYXJzaW5nIHByb2JsZW0gKFdpbGxpYW0gQnJhY2spLCBEVEQgdmFsaWRhdGlvbiBmb3IgbWl4ZWQKKyAgICBjb250ZW50ICsgbmFtZXNwYWNlcywgSFRNTCBzZXJpYWxpemF0aW9uLCBsaWJyYXJ5IGluaXRpYWxpemF0aW9uLAorICAgIHByb2dyZXNzaXZlIEhUTUwgcGFyc2VyPC9saT4KKyAgPGxpPmJldHRlciBpbnRlcmZhY2VzIGZvciBSZWxheC1ORyBlcnJvciBoYW5kbGluZyAoSm9hY2hpbSBCYXVjaCwgKTwvbGk+CisgIDxsaT5hZGRpbmcgeG1sWEluY2x1ZGVQcm9jZXNzVHJlZSgpIGZvciBYSW5jbHVkJ2luZyBpbiBhIHN1YnRyZWU8L2xpPgorICA8bGk+ZG9jIGZpeGVzIGFuZCBpbXByb3ZlbWVudHMgKEpvaG4gRmxlY2spPC9saT4KKyAgPGxpPmNvbmZpZ3VyZSBmbGFnIGZvciAtd2l0aC1mZXhjZXB0aW9ucyB3aGVuIGVtYmVkZGluZyBpbiBDKys8L2xpPgorICA8bGk+Y291cGxlIG9mIG5ldyBVVEYtOCBoZWxwZXIgZnVuY3Rpb25zIChXaWxsaWFtIEJyYWNrKTwvbGk+CisgIDxsaT5nZW5lcmFsIGVuY29kaW5nIGNsZWFudXAgKyBJU08tODg1OS14IHdpdGhvdXQgaWNvbnYgKFBldGVyIEphY29iaSk8L2xpPgorICA8bGk+eG1sVGV4dFJlYWRlciBjbGVhbnVwICsgZW51bSBmb3Igbm9kZSB0eXBlcyAoQmpvcm4gUmVlc2UpPC9saT4KKyAgPGxpPmdlbmVyYWwgY29tcGlsYXRpb24vd2FybmluZyBjbGVhbnVwIFNvbGFyaXMvSFAtVVgvLi4uIChXaWxsaWFtCisgIEJyYWNrKTwvbGk+Cis8L3VsPjxoMz4yLjUuODogSnVsIDYgMjAwMzwvaDM+PHVsPgorICA8bGk+YnVnZml4ZXM6IFhQYXRoLCBYSW5jbHVkZSwgZmlsZS9VUkkgbWFwcGluZywgVVRGLTE2IHNhdmUgKE1hcmsKKyAgICBJdHpjb3ZpdHopLCBVVEYtOCBjaGVja2luZywgVVJJIHNhdmluZywgZXJyb3IgcHJpbnRpbmcgKFdpbGxpYW0gQnJhY2spLAorICAgIFBJIHJlbGF0ZWQgbWVtbGVhaywgY29tcGlsYXRpb24gd2l0aG91dCBzY2hlbWFzIG9yIHdpdGhvdXQgeHBhdGggKEpvZXJnCisgICAgU2NobWl0ei1MaW5uZXdlYmVyL0dhcnJ5IFBlbm5pbmd0b24pLCB4bWxVbmxpbmtOb2RlIHByb2JsZW0gd2l0aCBEVERzLAorICAgIHJwbSBwcm9ibGVtIG9uICwgaTg2XzY0LCByZW1vdmVkIGEgZmV3IGNvbXBpbGF0aW9uIHByb2JsZW1zIGZyb20gMi41LjcsCisgICAgeG1sSU9QYXJzZURURCwgYW5kIHhtbFNBWFBhcnNlRFREIChNYWxjb2xtIFRyZWRpbm5pY2spPC9saT4KKyAgPGxpPnBvcnRhYmlsaXR5OiBESkdQUCAoTXNEb3MpICwgT3BlblZNUyAoQ3JhaWcgQS4gQmVycnkpPC9saT4KKyAgPGxpPldpbGxpYW0gQnJhY2sgZml4ZWQgbXVsdGl0aHJlYWRpbmcgbG9jayBwcm9ibGVtczwvbGk+CisgIDxsaT5JUHY2IHBhdGNoIGZvciBGVFAgYW5kIEhUVFAgYWNjZXNzZXMgKEFyY2hhbmEgU2hhaC9XaXBybyk8L2xpPgorICA8bGk+V2luZG93cyBmaXhlcyAoSWdvciBabGF0a292aWMsICBFcmljIFp1cmNoZXIpLCB0aHJlYWRpbmcgKFN0w4PCqXBoYW5lCisgICAgQmlkb3VsKTwvbGk+CisgIDxsaT5BIGZldyBXM0MgU2NoZW1hcyBTdHJ1Y3R1cmUgaW1wcm92ZW1lbnRzPC9saT4KKyAgPGxpPlczQyBTY2hlbWFzIERhdGF0eXBlIGltcHJvdmVtZW50cyAoQ2hhcmxpZSBCb3plbWFuKTwvbGk+CisgIDxsaT5QeXRob24gYmluZGluZ3MgZm9yIHRocmVhZCBnbG9iYWxzIChTdMODwqlwaGFuZSBCaWRvdWwpLCBhbmQgbWV0aG9kL2NsYXNzCisgICAgZ2VuZXJhdG9yPC9saT4KKyAgPGxpPmFkZGVkIC0tbm9uZXQgb3B0aW9uIHRvIHhtbGxpbnQ8L2xpPgorICA8bGk+ZG9jdW1lbnRhdGlvbiBpbXByb3ZlbWVudHMgKEpvaG4gRmxlY2spPC9saT4KKzwvdWw+PGgzPjIuNS43OiBBcHIgMjUgMjAwMzwvaDM+PHVsPgorICA8bGk+UmVsYXgtTkc6IENvbXBpbGluZyB0byByZWdleHAgYW5kIHN0cmVhbWluZyB2YWxpZGF0aW9uIG9uIHRvcCBvZiB0aGUKKyAgICB4bWxSZWFkZXIgaW50ZXJmYWNlLCBhZGRlZCB0byB4bWxsaW50IC0tc3RyZWFtPC9saT4KKyAgPGxpPnhtbFJlYWRlcjogRXhwYW5kKCksIE5leHQoKSBhbmQgRE9NIGFjY2VzcyBnbHVlLCBidWcgZml4ZXM8L2xpPgorICA8bGk+U3VwcG9ydCBmb3IgbGFyZ2UgZmlsZXM6IFJHTiB2YWxpZGF0ZWQgYSA0LjVHQiBpbnN0YW5jZTwvbGk+CisgIDxsaT5UaHJlYWQgc3VwcG9ydCBpcyBub3cgY29uZmlndXJlZCBpbiBieSBkZWZhdWx0PC9saT4KKyAgPGxpPkZpeGVzOiB1cGRhdGUgb2YgdGhlIFRyaW8gY29kZSAoQmpvcm4pLCBXWFMgRGF0ZSBhbmQgRHVyYXRpb24gZml4ZXMKKyAgICAoQ2hhcmxlcyBCb3plbWFuKSwgRFREIGFuZCBuYW1lc3BhY2VzIChCcmVudCBIZW5kcmlja3MpLCBIVE1MIHB1c2ggcGFyc2VyCisgICAgYW5kIHplcm8gYnl0ZXMgaGFuZGxpbmcsIHNvbWUgbWlzc2luZyBXaW5kb3dzIGZpbGUgcGF0aCBjb252ZXJzaW9ucywKKyAgICBiZWhhdmlvdXIgb2YgdGhlIHBhcnNlciBhbmQgdmFsaWRhdG9yIGluIHRoZSBwcmVzZW5jZSBvZiAib3V0IG9mIG1lbW9yeSIKKyAgICBlcnJvciBjb25kaXRpb25zPC9saT4KKyAgPGxpPmV4dGVuZGVkIHRoZSBBUEkgdG8gYmUgYWJsZSB0byBwbHVnIGEgZ2FyYmFnZSBjb2xsZWN0aW5nIG1lbW9yeQorICAgIGFsbG9jYXRvciwgYWRkZWQgeG1sTWFsbG9jQXRvbWljKCkgYW5kIG1vZGlmaWVkIHRoZSBhbGxvY2F0aW9ucworICAgIGFjY29yZGluZ2x5LjwvbGk+CisgIDxsaT5QZXJmb3JtYW5jZXM6IHJlbW92ZWQgZXhjZXNzaXZlIG1hbGxvYygpIGNhbGxzLCBzcGVlZHVwIG9mIHRoZSBwdXNoIGFuZAorICAgIHhtbFJlYWRlciBpbnRlcmZhY2VzLCByZW1vdmVkIGV4Y2Vzc2l2ZSB0aHJlYWQgbG9ja2luZzwvbGk+CisgIDxsaT5Eb2N1bWVudGF0aW9uOiBtYW4gcGFnZSAoSm9obiBGbGVjayksIHhtbFJlYWRlciBkb2N1bWVudGF0aW9uPC9saT4KKyAgPGxpPlB5dGhvbjogYWRkaW5nIGJpbmRpbmcgZm9yIHhtbENhdGFsb2dBZGRMb2NhbCAoQnJlbnQgTSBIZW5kcmlja3MpPC9saT4KKzwvdWw+PGgzPjIuNS42OiBBcHIgMSAyMDAzPC9oMz48dWw+CisgIDxsaT5GaXhlZCBXM0MgWE1MIFNjaGVtYXMgZGF0YXR5cGUsIHNob3VsZCBiZSBjb21wbGlhbnQgbm93IGV4Y2VwdCBmb3IKKyAgICBiaW5IZXggYW5kIGJhc2U2NCB3aGljaCBhcmUgbm90IHN1cHBvcnRlZCB5ZXQuPC9saT4KKyAgPGxpPmJ1ZyBmaXhlczogbm9uLUFTQ0lJIElEcywgSFRNTCBvdXRwdXQsIFhJbmNsdWRlIG9uIGxhcmdlIGRvY3MgYW5kCisgICAgWEluY2x1ZGUgZW50aXRpZXMgaGFuZGxpbmcsIGVuY29kaW5nIGRldGVjdGlvbiBvbiBleHRlcm5hbCBzdWJzZXRzLCBYTUwKKyAgICBTY2hlbWFzIGJ1Z3MgYW5kIG1lbW9yeSBsZWFrcywgSFRNTCBwYXJzZXIgKEphbWVzIEJ1cnNhKTwvbGk+CisgIDxsaT5wb3J0YWJpbGl0eTogcHl0aG9uL3RyaW8gKEFsYmVydCBDaGluKSwgU3VuIGNvbXBpbGVyIHdhcm5pbmdzPC9saT4KKyAgPGxpPmRvY3VtZW50YXRpb246IGFkZGVkIC0tcmVsYXhuZyBvcHRpb24gdG8geG1sbGludCBtYW4gcGFnZSAoSm9obik8L2xpPgorICA8bGk+aW1wcm92ZWQgZXJyb3IgcmVwb3J0aW5nOiB4bWw6c3BhY2UsIHN0YXJ0L2VuZCB0YWcgbWlzbWF0Y2hlcywgUmVsYXggTkcKKyAgICBlcnJvcnM8L2xpPgorPC91bD48aDM+Mi41LjU6IE1hciAyNCAyMDAzPC9oMz48dWw+CisgIDxsaT5Mb3Qgb2YgZml4ZXMgb24gdGhlIFJlbGF4IE5HIGltcGxlbWVudGF0aW9uLiBNb3JlIHRlc3RpbmcgaW5jbHVkaW5nCisgICAgRG9jQm9vayBhbmQgVEVJIGV4YW1wbGVzLjwvbGk+CisgIDxsaT5JbmNyZWFzZWQgdGhlIHN1cHBvcnQgZm9yIFczQyBYTUwgU2NoZW1hcyBkYXRhdHlwZTwvbGk+CisgIDxsaT5TZXZlcmFsIGJ1ZyBmaXhlcyBpbiB0aGUgVVJJIGhhbmRsaW5nIGxheWVyPC9saT4KKyAgPGxpPkJ1ZyBmaXhlczogSFRNTCBwYXJzZXIsIHhtbFJlYWRlciwgRFREIHZhbGlkYXRpb24sIFhQYXRoLCBlbmNvZGluZworICAgIGNvbnZlcnNpb24sIGxpbmUgY291bnRpbmcgaW4gdGhlIHBhcnNlci48L2xpPgorICA8bGk+QWRkZWQgc3VwcG9ydCBmb3IgJFhNTExJTlRfSU5ERU5UIGVudmlyb25tZW50IHZhcmlhYmxlLCBGVFAgZGVsZXRlPC9saT4KKyAgPGxpPkZpeGVkIHRoZSBSUE0gc3BlYyBmaWxlIG5hbWU8L2xpPgorPC91bD48aDM+Mi41LjQ6IEZlYiAyMCAyMDAzPC9oMz48dWw+CisgIDxsaT5Db25mb3JtYW5jZSB0ZXN0aW5nIGFuZCBsb3Qgb2YgZml4ZXMgb24gUmVsYXggTkcgYW5kIFhJbmNsdWRlCisgICAgaW1wbGVtZW50YXRpb248L2xpPgorICA8bGk+SW1wbGVtZW50YXRpb24gb2YgWFBvaW50ZXIgZWxlbWVudCgpIHNjaGVtZTwvbGk+CisgIDxsaT5CdWcgZml4ZXM6IFhNTCBwYXJzZXIsIFhJbmNsdWRlIGVudGl0aWVzIG1lcmdlLCB2YWxpZGl0eSBjaGVja2luZyBvbgorICAgIG5hbWVzcGFjZXMsCisgICAgPHA+MiBzZXJpYWxpemF0aW9uIGJ1Z3MsIG5vZGUgaW5mbyBnZW5lcmF0aW9uIHByb2JsZW1zLCBhIERURCByZWdleHAKKyAgICBnZW5lcmF0aW9uIHByb2JsZW0uPC9wPgorICA8L2xpPgorICA8bGk+UG9ydGFiaWxpdHk6IHdpbmRvd3MgdXBkYXRlcyBhbmQgcGF0aCBjYW5vbmljYWxpemF0aW9uIChJZ29yKTwvbGk+CisgIDxsaT5BIGZldyB0eXBvIGZpeGVzIChLamFydGFuIE1hcmFhcyk8L2xpPgorICA8bGk+UHl0aG9uIGJpbmRpbmdzIGdlbmVyYXRvciBmaXhlcyAoU3RlcGhhbmUgQmlkb3VsKTwvbGk+Cis8L3VsPjxoMz4yLjUuMzogRmViIDEwIDIwMDM8L2gzPjx1bD4KKyAgPGxpPlJlbGF4TkcgYW5kIFhNTCBTY2hlbWFzIGRhdGF0eXBlcyBpbXByb3ZlbWVudHMsIGFuZCBhZGRlZCBhIGZpcnN0CisgICAgdmVyc2lvbiBvZiBSZWxheE5HIFB5dGhvbiBiaW5kaW5nczwvbGk+CisgIDxsaT5GaXhlczogWExpbmsgKFNlYW4gQ2hpdHRlbmRlbiksIFhJbmNsdWRlIChTZWFuIENoaXR0ZW5kZW4pLCBBUEkgZml4IGZvcgorICAgIHNlcmlhbGl6aW5nIG5hbWVzcGFjZSBub2RlcywgZW5jb2RpbmcgY29udmVyc2lvbiBidWcsIFhIVE1MMQorICBzZXJpYWxpemF0aW9uPC9saT4KKyAgPGxpPlBvcnRhYmlsaXR5IGZpeGVzOiBXaW5kb3dzIChJZ29yKSwgQU1EIDY0Yml0cyBSUE0gc3BlYyBmaWxlPC9saT4KKzwvdWw+PGgzPjIuNS4yOiBGZWIgNSAyMDAzPC9oMz48dWw+CisgIDxsaT5GaXJzdCBpbXBsZW1lbnRhdGlvbiBvZiBSZWxheE5HLCBhZGRlZCAtLXJlbGF4bmcgZmxhZyB0byB4bWxsaW50PC9saT4KKyAgPGxpPlNjaGVtYXMgc3VwcG9ydCBub3cgY29tcGlsZWQgaW4gYnkgZGVmYXVsdC48L2xpPgorICA8bGk+QnVnIGZpeGVzOiBEVEQgdmFsaWRhdGlvbiwgbmFtZXNwYWNlIGNoZWNraW5nLCBYSW5jbHVkZSBhbmQgZW50aXRpZXMsCisgICAgZGVsZWdhdGVVUkkgaW4gWE1MIENhdGFsb2dzLCBIVE1MIHBhcnNlciwgWE1MIHJlYWRlciAoU3TDg8KpcGhhbmUgQmlkb3VsKSwKKyAgICBYUGF0aCBwYXJzZXIgYW5kIGV2YWx1YXRpb24sICBVVEY4VG9VVEY4IHNlcmlhbGl6YXRpb24sIFhNTCByZWFkZXIgbWVtb3J5CisgICAgY29uc3VtcHRpb24sIEhUTUwgcGFyc2VyLCBIVE1MIHNlcmlhbGl6YXRpb24gaW4gdGhlIHByZXNlbmNlIG9mCisgIG5hbWVzcGFjZXM8L2xpPgorICA8bGk+YWRkZWQgYW4gSFRNTCBBUEkgdG8gY2hlY2sgZWxlbWVudHMgYW5kIGF0dHJpYnV0ZXMuPC9saT4KKyAgPGxpPkRvY3VtZW50YXRpb24gaW1wcm92ZW1lbnQsIFBERiBmb3IgdGhlIHR1dG9yaWFsIChKb2huIEZsZWNrKSwgZG9jCisgICAgcGF0Y2hlcyAoU3RlZmFuIEtvc3QpPC9saT4KKyAgPGxpPlBvcnRhYmlsaXR5IGZpeGVzOiBOZXRCU0QgKEp1bGlvIE1lcmlubyksIFdpbmRvd3MgKElnb3IgWmxhdGtvdmljKTwvbGk+CisgIDxsaT5BZGRlZCBweXRob24gYmluZGluZ3MgZm9yIFhQb2ludGVyLCBjb250ZXh0dWFsIGVycm9yIHJlcG9ydGluZworICAgIChTdMODwqlwaGFuZSBCaWRvdWwpPC9saT4KKyAgPGxpPlVSSS9maWxlIGVzY2FwaW5nIHByb2JsZW1zIChTdGVmYW5vIFphY2NoaXJvbGkpPC9saT4KKzwvdWw+PGgzPjIuNS4xOiBKYW4gOCAyMDAzPC9oMz48dWw+CisgIDxsaT5GaXhlcyBhIG1lbW9yeSBsZWFrIGFuZCBjb25maWd1cmF0aW9uL2NvbXBpbGF0aW9uIHByb2JsZW1zIGluIDIuNS4wPC9saT4KKyAgPGxpPmRvY3VtZW50YXRpb24gdXBkYXRlcyAoSm9obik8L2xpPgorICA8bGk+YSBjb3VwbGUgb2YgWG1sVGV4dFJlYWRlciBmaXhlczwvbGk+Cis8L3VsPjxoMz4yLjUuMDogSmFuIDYgMjAwMzwvaDM+PHVsPgorICA8bGk+TmV3IDxhIGhyZWY9InhtbHJlYWRlci5odG1sIj5YbWx0ZXh0UmVhZGVyIGludGVyZmFjZTwvYT4gYmFzZWQgb24gQyMKKyAgICBBUEkgKHdpdGggaGVscCBvZiBTdMODwqlwaGFuZSBCaWRvdWwpPC9saT4KKyAgPGxpPldpbmRvd3M6IG1vcmUgZXhwb3J0cywgaW5jbHVkaW5nIHRoZSBuZXcgQVBJIChJZ29yKTwvbGk+CisgIDxsaT5YSW5jbHVkZSBmYWxsYmFjayBmaXg8L2xpPgorICA8bGk+UHl0aG9uOiBiaW5kaW5ncyBmb3IgdGhlIG5ldyBBUEksIHBhY2thZ2luZyAoU3TDg8KpcGhhbmUgQmlkb3VsKSwKKyAgICBkcnZfbGlieG1sMi5weSBQeXRob24geG1sLnNheCBkcml2ZXIgKFN0w4PCqXBoYW5lIEJpZG91bCksIGZpeGVzLCBzcGVlZHVwCisgICAgYW5kIGl0ZXJhdG9ycyBmb3IgUHl0aG9uLTIuMiAoSGFubnUgS3Jvc2luZyk8L2xpPgorICA8bGk+VHV0b3JpYWwgZml4ZXMgKGpvaG4gRmxlY2sgYW5kIE5pcmFqIFRvbGlhKSB4bWxsaW50IG1hbiB1cGRhdGUKKyAgKEpvaG4pPC9saT4KKyAgPGxpPkZpeCBhbiBYTUwgcGFyc2VyIGJ1ZyByYWlzZWQgYnkgVnlhY2hlc2xhdiBQaW5keXVyYTwvbGk+CisgIDxsaT5GaXggZm9yIFZNUyBzZXJpYWxpemF0aW9uIChOaWdlbCBIYWxsKSBhbmQgY29uZmlnIChDcmFpZyBBLiBCZXJyeSk8L2xpPgorICA8bGk+RW50aXRpZXMgaGFuZGxpbmcgZml4ZXM8L2xpPgorICA8bGk+bmV3IEFQSSB0byBvcHRpb25hbGx5IHRyYWNrIG5vZGUgY3JlYXRpb24gYW5kIGRlbGV0aW9uIChMdWthcworICBTY2hyb2VkZXIpPC9saT4KKyAgPGxpPkFkZGVkIGRvY3VtZW50YXRpb24gZm9yIHRoZSBYbWx0ZXh0UmVhZGVyIGludGVyZmFjZSBhbmQgc29tZSA8YSBocmVmPSJndWlkZWxpbmVzLmh0bWwiPlhNTCBndWlkZWxpbmVzPC9hPjwvbGk+Cis8L3VsPjxoMz4yLjQuMzA6IERlYyAxMiAyMDAyPC9oMz48dWw+CisgIDxsaT4yLjQuMjkgYnJva2UgdGhlIHB5dGhvbiBiaW5kaW5ncywgcmVyZWxlYXNpbmc8L2xpPgorICA8bGk+SW1wcm92ZW1lbnQvZml4ZXMgb2YgdGhlIFhNTCBBUEkgZ2VuZXJhdG9yLCBhbmQgY291cGxlIG9mIG1pbm9yIGNvZGUKKyAgICBmaXhlcy48L2xpPgorPC91bD48aDM+Mi40LjI5OiBEZWMgMTEgMjAwMjwvaDM+PHVsPgorICA8bGk+V2luZG93cyBmaXhlcyAoSWdvcik6IFdpbmRvd3MgQ0UgcG9ydCwgcHRocmVhZCBsaW5raW5nLCBweXRob24gYmluZGluZ3MKKyAgICAoU3TDg8KpcGhhbmUgQmlkb3VsKSwgTWluZ3cgKE1hZ251cyBIZW5vY2gpLCBhbmQgZXhwb3J0IGxpc3QgdXBkYXRlczwvbGk+CisgIDxsaT5GaXggZm9yIHByZXYgaW4gcHl0aG9uIGJpbmRpbmdzIChFUkRJIEdlcmdvKTwvbGk+CisgIDxsaT5GaXggZm9yIGVudGl0aWVzIGhhbmRsaW5nIChNYXJjdXMgQ2xhcmtlKTwvbGk+CisgIDxsaT5SZWZhY3RvcmVkIHRoZSBYTUwgYW5kIEhUTUwgZHVtcHMgdG8gYSBzaW5nbGUgY29kZSBwYXRoLCBmaXhlZCBYSFRNTDEKKyAgICBkdW1wPC9saT4KKyAgPGxpPkZpeCBmb3IgVVJJIHBhcnNpbmcgd2hlbiBoYW5kbGluZyBVUk5zIHdpdGggZnJhZ21lbnQgaWRlbnRpZmllcnM8L2xpPgorICA8bGk+Rml4IGZvciBIVFRQIFVSTCBlc2NhcGluZyBwcm9ibGVtPC9saT4KKyAgPGxpPmFkZGVkIGFuIFRleHRYbWxSZWFkZXIgKEMjKSBsaWtlIEFQSSAod29yayBpbiBwcm9ncmVzcyk8L2xpPgorICA8bGk+UmV3cm90ZSB0aGUgQVBJIGluIFhNTCBnZW5lcmF0aW9uIHNjcmlwdCwgaW5jbHVkZXMgYSBDIHBhcnNlciBhbmQgc2F2ZXMKKyAgICBtb3JlIGluZm9ybWF0aW9uIG5lZWRlZCBmb3IgQyMgYmluZGluZ3M8L2xpPgorPC91bD48aDM+Mi40LjI4OiBOb3YgMjIgMjAwMjwvaDM+PHVsPgorICA8bGk+YSBjb3VwbGUgb2YgcHl0aG9uIGJpbmRpbmcgZml4ZXM8L2xpPgorICA8bGk+MiBidWcgZml4ZXMgaW4gdGhlIFhNTCBwdXNoIHBhcnNlcjwvbGk+CisgIDxsaT5wb3RlbnRpYWwgbWVtb3J5IGxlYWsgcmVtb3ZlZCAoTWFydGluIFN0b2lsb3YpPC9saT4KKyAgPGxpPmZpeCB0byB0aGUgY29uZmlndXJlIHNjcmlwdCBmb3IgVW5peCAoRGltaXRyaSBQYXBhZG9wb3Vsb3MpPC9saT4KKyAgPGxpPmFkZGVkIGVuY29kaW5nIHN1cHBvcnQgZm9yIFhJbmNsdWRlIHBhcnNlPSJ0ZXh0IjwvbGk+CisgIDxsaT5hdXRvZGV0ZWN0aW9uIG9mIFhIVE1MMSBhbmQgc3BlY2lmaWMgc2VyaWFsaXphdGlvbiBydWxlcyBhZGRlZDwvbGk+CisgIDxsaT5uYXN0eSB0aHJlYWRpbmcgYnVnIGZpeGVkIChXaWxsaWFtIEJyYWNrKTwvbGk+Cis8L3VsPjxoMz4yLjQuMjc6IE5vdiAxNyAyMDAyPC9oMz48dWw+CisgIDxsaT5maXhlcyBmb3IgdGhlIFB5dGhvbiBiaW5kaW5nczwvbGk+CisgIDxsaT5hIG51bWJlciBvZiBidWcgZml4ZXM6IFNHTUwgY2F0YWxvZ3MsIHhtbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeSgpLAorICAgIEhUTUwgcGFyc2VyLCAgU2NoZW1hcyAoQ2hhcmxlcyBCb3plbWFuKSwgZG9jdW1lbnQgZnJhZ21lbnQgc3VwcG9ydAorICAgIChDaHJpc3RpYW4gR2xhaG4pLCB4bWxSZWNvbmNpbGlhdGVOcyAoQnJpYW4gU3RhZmZvcmQpLCBYUG9pbnRlciwKKyAgICB4bWxGcmVlTm9kZSgpLCB4bWxTQVhQYXJzZU1lbW9yeSAoUGV0ZXIgSm9uZXMpLCB4bWxHZXROb2RlUGF0aCAoUGV0cgorICAgIFBhamFzKSwgZW50aXRpZXMgcHJvY2Vzc2luZzwvbGk+CisgIDxsaT5hZGRlZCBncmVwIHRvIHhtbGxpbnQgLS1zaGVsbDwvbGk+CisgIDxsaT5WTVMgdXBkYXRlIHBhdGNoIGZyb20gQ3JhaWcgQS4gQmVycnk8L2xpPgorICA8bGk+Y2xlYW51cCBvZiB0aGUgV2luZG93cyBidWlsZCB3aXRoIHN1cHBvcnQgZm9yIG1vcmUgY29tcGlsZXJzIChJZ29yKSwKKyAgICBiZXR0ZXIgdGhyZWFkIHN1cHBvcnQgb24gV2luZG93czwvbGk+CisgIDxsaT5jbGVhbnVwIG9mIFVuaXggTWFrZWZpbGVzIGFuZCBzcGVjIGZpbGU8L2xpPgorICA8bGk+SW1wcm92ZW1lbnRzIHRvIHRoZSBkb2N1bWVudGF0aW9uIChKb2huIEZsZWNrKTwvbGk+Cis8L3VsPjxoMz4yLjQuMjY6IE9jdCAxOCAyMDAyPC9oMz48dWw+CisgIDxsaT5QYXRjaGVzIGZvciBXaW5kb3dzIENFIHBvcnQsIGltcHJvdmVtZW50cyBvbiBXaW5kb3dzIHBhdGhzIGhhbmRsaW5nPC9saT4KKyAgPGxpPkZpeGVzIHRvIHRoZSB2YWxpZGF0aW9uICBjb2RlIChEVEQgYW5kIFNjaGVtYXMpLCB4bWxOb2RlR2V0UGF0aCgpICwKKyAgICBIVE1MIHNlcmlhbGl6YXRpb24sIE5hbWVzcGFjZSBjb21wbGlhbmNlLCAgYW5kIGEgbnVtYmVyIG9mIHNtYWxsCisgIHByb2JsZW1zPC9saT4KKzwvdWw+PGgzPjIuNC4yNTogU2VwIDI2IDIwMDI8L2gzPjx1bD4KKyAgPGxpPkEgbnVtYmVyIG9mIGJ1ZyBmaXhlczogWFBhdGgsIHZhbGlkYXRpb24sIFB5dGhvbiBiaW5kaW5ncywgRE9NIGFuZAorICAgIHRyZWUsIHhtbEkvTywgIEh0bWw8L2xpPgorICA8bGk+U2VyaW91cyByZXdyaXRlIG9mIFhJbmNsdWRlPC9saT4KKyAgPGxpPk1hZGUgWE1MIFNjaGVtYXMgcmVnZXhwIHBhcnQgb2YgdGhlIGRlZmF1bHQgYnVpbGQgYW5kIEFQSXMsIHNtYWxsIGZpeAorICAgIGFuZCBpbXByb3ZlbWVudCBvZiB0aGUgcmVnZXhwIGNvcmU8L2xpPgorICA8bGk+Q2hhbmdlZCB0aGUgdmFsaWRhdGlvbiBjb2RlIHRvIHJldXNlIFhNTCBTY2hlbWFzIHJlZ2V4cCBBUElzPC9saT4KKyAgPGxpPkJldHRlciBoYW5kbGluZyBvZiBXaW5kb3dzIGZpbGUgcGF0aHMsIGltcHJvdmVtZW50IG9mIE1ha2VmaWxlcyAoSWdvciwKKyAgICBEYW5pZWwgR2VocmlnZXIsIE1hcmsgVmFrb2MpPC9saT4KKyAgPGxpPkltcHJvdmVkIHRoZSBweXRob24gSS9PIGJpbmRpbmdzLCB0aGUgdGVzdHMsIGFkZGVkIHJlc29sdmVyIGFuZCByZWdleHAKKyAgICBBUElzPC9saT4KKyAgPGxpPk5ldyBsb2dvcyBmcm9tIE1hcmMgTGl5YW5hZ2U8L2xpPgorICA8bGk+VHV0b3JpYWwgaW1wcm92ZW1lbnRzOiBKb2huIEZsZWNrLCBDaHJpc3RvcGhlciBIYXJyaXM8L2xpPgorICA8bGk+TWFrZWZpbGU6IEZpeGVzIGZvciBBTUQgeDg2XzY0IChNYW5kcmFrZSksIERFU1RESVIgKENocmlzdG9waGUKKyAgTWVybGV0KTwvbGk+CisgIDxsaT5yZW1vdmFsIG9mIGFsbCBzdGRlcnIvcGVycm9yIHVzZSBmb3IgZXJyb3IgcmVwb3J0aW5nPC9saT4KKyAgPGxpPkJldHRlciBlcnJvciByZXBvcnRpbmc6IFhQYXRoIGFuZCBEVEQgdmFsaWRhdGlvbjwvbGk+CisgIDxsaT51cGRhdGUgb2YgdGhlIHRyaW8gcG9ydGFiaWxpdHkgbGF5ZXIgKEJqb3JuIFJlZXNlKTwvbGk+Cis8L3VsPjxwPjxzdHJvbmc+Mi40LjI0OiBBdWcgMjIgMjAwMjwvc3Ryb25nPjwvcD48dWw+CisgIDxsaT5YUGF0aCBmaXhlcyAoV2lsbGlhbSksIHhmOmVzY2FwZS11cmkoKSAoV2VzbGV5IFRlcnBzdHJhKTwvbGk+CisgIDxsaT5QeXRob24gYmluZGluZyBmaXhlczogbWFrZWZpbGVzIChXaWxsaWFtKSwgZ2VuZXJhdG9yLCBycG0gYnVpbGQsIHg4Ni02NAorICAgIChmY3JvemF0KTwvbGk+CisgIDxsaT5IVE1MICZsdDtzdHlsZSZndDsgYW5kIGJvb2xlYW4gYXR0cmlidXRlcyBzZXJpYWxpemVyIGZpeGVzPC9saT4KKyAgPGxpPkMxNE4gaW1wcm92ZW1lbnRzIGJ5IEFsZWtzZXk8L2xpPgorICA8bGk+ZG9jIGNsZWFudXBzOiBSaWNrIEpvbmVzPC9saT4KKyAgPGxpPldpbmRvd3MgY29tcGlsZXIgbWFrZWZpbGUgdXBkYXRlczogSWdvciBhbmQgRWxpemFiZXRoIEJhcmhhbTwvbGk+CisgIDxsaT5YSW5jbHVkZTogaW1wbGVtZW50YXRpb24gb2YgZmFsbGJhY2sgYW5kIHhtbDpiYXNlIGZpeHVwIGFkZGVkPC9saT4KKzwvdWw+PGgzPjIuNC4yMzogSnVseSA2IDIwMDI8L2gzPjx1bD4KKyAgPGxpPnBlcmZvcm1hbmNlcyBwYXRjaGVzOiBQZXRlciBKYWNvYmk8L2xpPgorICA8bGk+YzE0biBmaXhlcywgdGVzdHN1aXRlIGFuZCBwZXJmb3JtYW5jZXM6IEFsZWtzZXkgU2FuaW48L2xpPgorICA8bGk+YWRkZWQgeG1sRG9jRm9ybWF0RHVtcDogQ2hlbWEgQ2Vsb3JpbzwvbGk+CisgIDxsaT5uZXcgdHV0b3JpYWw6IEpvaG4gRmxlY2s8L2xpPgorICA8bGk+bmV3IGhhc2ggZnVuY3Rpb25zIGFuZCBwZXJmb3JtYW5jZXM6IFNhbmRlciBWZXNpaywgcG9ydGFiaWxpdHkgZml4IGZyb20KKyAgICBQZXRlciBKYWNvYmk8L2xpPgorICA8bGk+YSBudW1iZXIgb2YgYnVnIGZpeGVzOiBYUGF0aCAoV2lsbGlhbSBCcmFjaywgUmljaGFyZCBKaW5rcyksIFhNTCBhbmQKKyAgICBIVE1MIHBhcnNlcnMsIElEIGxvb2t1cCBmdW5jdGlvbjwvbGk+CisgIDxsaT5yZW1vdmFsIG9mIGFsbCByZW1haW5pbmcgc3ByaW50ZjogQWxla3NleSBTYW5pbjwvbGk+Cis8L3VsPjxoMz4yLjQuMjI6IE1heSAyNyAyMDAyPC9oMz48dWw+CisgIDxsaT5hIG51bWJlciBvZiBidWcgZml4ZXM6IGNvbmZpZ3VyZSBzY3JpcHRzLCBiYXNlIGhhbmRsaW5nLCBwYXJzZXIsIG1lbW9yeQorICAgIHVzYWdlLCBIVE1MIHBhcnNlciwgWFBhdGgsIGRvY3VtZW50YXRpb24gKENocmlzdGlhbiBDb3JuZWxzc2VuKSwKKyAgICBpbmRlbnRhdGlvbiwgVVJJIHBhcnNpbmc8L2xpPgorICA8bGk+T3B0aW1pemF0aW9ucyBmb3IgWE1MU2VjLCBmaXhpbmcgYW5kIG1ha2luZyBwdWJsaWMgc29tZSBvZiB0aGUgbmV0d29yaworICAgIHByb3RvY29sIGhhbmRsZXJzIChBbGVrc2V5KTwvbGk+CisgIDxsaT5wZXJmb3JtYW5jZSBwYXRjaCBmcm9tIEdhcnkgUGVubmluZ3RvbjwvbGk+CisgIDxsaT5DaGFybGVzIEJvemVtYW4gcHJvdmlkZWQgZGF0ZSBhbmQgdGltZSBzdXBwb3J0IGZvciBYTUwgU2NoZW1hcworICBkYXRhdHlwZXM8L2xpPgorPC91bD48aDM+Mi40LjIxOiBBcHIgMjkgMjAwMjwvaDM+PHA+VGhpcyByZWxlYXNlIGlzIGJvdGggYSBidWcgZml4IHJlbGVhc2UgYW5kIGFsc28gY29udGFpbnMgdGhlIGVhcmx5IFhNTAorU2NoZW1hcyA8YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi94bWxzY2hlbWEtMS8iPnN0cnVjdHVyZXM8L2E+IGFuZCA8YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi94bWxzY2hlbWEtMi8iPmRhdGF0eXBlczwvYT4gY29kZSwgYmV3YXJlLCBhbGwKK2ludGVyZmFjZXMgYXJlIGxpa2VseSB0byBjaGFuZ2UsIHRoZXJlIGlzIGh1Z2UgaG9sZXMsIGl0IGlzIGNsZWFybHkgYSB3b3JrIGluCitwcm9ncmVzcyBhbmQgZG9uJ3QgZXZlbiB0aGluayBvZiBwdXR0aW5nIHRoaXMgY29kZSBpbiBhIHByb2R1Y3Rpb24gc3lzdGVtLAoraXQncyBhY3R1YWxseSBub3QgY29tcGlsZWQgaW4gYnkgZGVmYXVsdC4gVGhlIHJlYWwgZml4ZXMgYXJlOgorPC9wPjx1bD4KKyAgPGxpPmEgY291cGxlIG9mIGJ1Z3Mgb3IgbGltaXRhdGlvbnMgaW50cm9kdWNlZCBpbiAyLjQuMjA8L2xpPgorICA8bGk+cGF0Y2hlcyBmb3IgQm9ybGFuZCBDKysgYW5kIE1TQyBieSBJZ29yPC9saT4KKyAgPGxpPnNvbWUgZml4ZXMgb24gWFBhdGggc3RyaW5ncyBhbmQgY29uZm9ybWFuY2UgcGF0Y2hlcyBieSBSaWNoYXJkCisgIEppbmtzPC9saT4KKyAgPGxpPnBhdGNoIGZyb20gQWxla3NleSBmb3IgdGhlIEV4Y0MxNE4gc3BlY2lmaWNhdGlvbjwvbGk+CisgIDxsaT5PU0YvMSBidWcgZml4IGJ5IEJqb3JuPC9saT4KKzwvdWw+PGgzPjIuNC4yMDogQXByIDE1IDIwMDI8L2gzPjx1bD4KKyAgPGxpPmJ1ZyBmaXhlczogZmlsZSBkZXNjcmlwdG9yIGxlYWssIFhQYXRoLCBIVE1MIG91dHB1dCwgRFREIHZhbGlkYXRpb248L2xpPgorICA8bGk+WFBhdGggY29uZm9ybWFuY2UgdGVzdGluZyBieSBSaWNoYXJkIEppbmtzPC9saT4KKyAgPGxpPlBvcnRhYmlsaXR5IGZpeGVzOiBTb2xhcmlzLCBNUEUvaVgsIFdpbmRvd3MsIE9TRi8xLCBweXRob24gYmluZGluZ3MsCisgICAgbGlieG1sLm00PC9saT4KKzwvdWw+PGgzPjIuNC4xOTogTWFyIDI1IDIwMDI8L2gzPjx1bD4KKyAgPGxpPmJ1ZyBmaXhlczogaGFsZiBhIGRvemVuIFhQYXRoIGJ1Z3MsIFZhbGlkYXRpb24sIElTTy1MYXRpbiB0byBVVEY4CisgICAgZW5jb2RlcjwvbGk+CisgIDxsaT5wb3J0YWJpbGl0eSBmaXhlcyBpbiB0aGUgSFRUUCBjb2RlPC9saT4KKyAgPGxpPm1lbW9yeSBhbGxvY2F0aW9uIGNoZWNrcyB1c2luZyB2YWxncmluZCwgYW5kIHByb2ZpbGluZyB0ZXN0czwvbGk+CisgIDxsaT5yZXZhbXAgb2YgdGhlIFdpbmRvd3MgYnVpbGQgYW5kIE1ha2VmaWxlczwvbGk+Cis8L3VsPjxoMz4yLjQuMTg6IE1hciAxOCAyMDAyPC9oMz48dWw+CisgIDxsaT5idWcgZml4ZXM6IHRyZWUsIFNBWCwgY2Fub25pY2FsaXphdGlvbiwgdmFsaWRhdGlvbiwgcG9ydGFiaWxpdHksCisgIFhQYXRoPC9saT4KKyAgPGxpPnJlbW92ZWQgdGhlIC0td2l0aC1idWZmZXIgb3B0aW9uIGl0IHdhcyBiZWNvbWluZyB1bm1haW50YWluYWJsZTwvbGk+CisgIDxsaT5zZXJpb3VzIGNsZWFudXAgb2YgdGhlIFB5dGhvbiBtYWtlZmlsZXM8L2xpPgorICA8bGk+c3BlZWR1cCBwYXRjaCB0byBYUGF0aCB2ZXJ5IGVmZmVjdGl2ZSBmb3IgRG9jQm9vayBzdHlsZXNoZWV0czwvbGk+CisgIDxsaT5GaXhlcyBmb3IgV2luZG93cyBidWlsZCwgY2xlYW51cCBvZiB0aGUgZG9jdW1lbnRhdGlvbjwvbGk+Cis8L3VsPjxoMz4yLjQuMTc6IE1hciA4IDIwMDI8L2gzPjx1bD4KKyAgPGxpPmEgbG90IG9mIGJ1ZyBmaXhlcywgaW5jbHVkaW5nICJuYW1lc3BhY2Ugbm9kZXMgaGF2ZSBubyBwYXJlbnRzIGluCisgIFhQYXRoIjwvbGk+CisgIDxsaT5maXhlZC9pbXByb3ZlZCB0aGUgUHl0aG9uIHdyYXBwZXJzLCBhZGRlZCBtb3JlIGV4YW1wbGVzIGFuZCBtb3JlCisgICAgcmVncmVzc2lvbiB0ZXN0cywgWFBhdGggZXh0ZW5zaW9uIGZ1bmN0aW9ucyBjYW4gbm93IHJldHVybiBub2RlLXNldHM8L2xpPgorICA8bGk+YWRkZWQgdGhlIFhNTCBDYW5vbmljYWxpemF0aW9uIHN1cHBvcnQgZnJvbSBBbGVrc2V5IFNhbmluPC9saT4KKzwvdWw+PGgzPjIuNC4xNjogRmViIDIwIDIwMDI8L2gzPjx1bD4KKyAgPGxpPmEgbG90IG9mIGJ1ZyBmaXhlcywgbW9zdCBvZiB0aGVtIHdlcmUgdHJpZ2dlcmVkIGJ5IHRoZSBYTUwgVGVzdHN1aXRlCisgICAgZnJvbSBPQVNJUyBhbmQgVzNDLiBDb21wbGlhbmNlIGhhcyBiZWVuIHNpZ25pZmljYW50bHkgaW1wcm92ZWQuPC9saT4KKyAgPGxpPmEgY291cGxlIG9mIHBvcnRhYmlsaXR5IGZpeGVzIHRvby48L2xpPgorPC91bD48aDM+Mi40LjE1OiBGZWIgMTEgMjAwMjwvaDM+PHVsPgorICA8bGk+Rml4ZWQgdGhlIE1ha2VmaWxlcywgZXNwZWNpYWxseSB0aGUgcHl0aG9uIG1vZHVsZSBvbmVzPC9saT4KKyAgPGxpPkEgZmV3IGJ1ZyBmaXhlcyBhbmQgY2xlYW51cDwvbGk+CisgIDxsaT5JbmNsdWRlcyBjbGVhbnVwPC9saT4KKzwvdWw+PGgzPjIuNC4xNDogRmViIDggMjAwMjwvaDM+PHVsPgorICA8bGk+Q2hhbmdlIG9mIExpY2Vuc2UgdG8gdGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UuaHRtbCI+TUlUCisgICAgTGljZW5zZTwvYT4gYmFzaWNhbGx5IGZvciBpbnRlZ3JhdGlvbiBpbiBYRnJlZTg2IGNvZGViYXNlLCBhbmQgcmVtb3ZpbmcKKyAgICBjb25mdXNpb24gYXJvdW5kIHRoZSBwcmV2aW91cyBkdWFsLWxpY2Vuc2luZzwvbGk+CisgIDxsaT5hZGRlZCBQeXRob24gYmluZGluZ3MsIGJldGEgc29mdHdhcmUgYnV0IHNob3VsZCBhbHJlYWR5IGJlIHF1aXRlCisgICAgY29tcGxldGU8L2xpPgorICA8bGk+YSBsYXJnZSBudW1iZXIgb2YgZml4ZXMgYW5kIGNsZWFudXBzLCBlc3BlY2lhbGx5IGZvciBhbGwgdHJlZQorICAgIG1hbmlwdWxhdGlvbnM8L2xpPgorICA8bGk+Y2xlYW51cCBvZiB0aGUgaGVhZGVycywgZ2VuZXJhdGlvbiBvZiBhIHJlZmVyZW5jZSBBUEkgZGVmaW5pdGlvbiBpbgorICBYTUw8L2xpPgorPC91bD48aDM+Mi40LjEzOiBKYW4gMTQgMjAwMjwvaDM+PHVsPgorICA8bGk+dXBkYXRlIG9mIHRoZSBkb2N1bWVudGF0aW9uOiBKb2huIEZsZWNrIGFuZCBDaGFybGllIEJvemVtYW48L2xpPgorICA8bGk+Y2xlYW51cCBvZiB0aW1pbmcgY29kZSBmcm9tIEp1c3RpbiBGbGV0Y2hlcjwvbGk+CisgIDxsaT5maXhlcyBmb3IgV2luZG93cyBhbmQgaW5pdGlhbCB0aHJlYWQgc3VwcG9ydCBvbiBXaW4zMjogSWdvciBhbmQgU2VyZ3VlaQorICAgIE5hcm9qbnlpPC9saT4KKyAgPGxpPkN5Z3dpbiBwYXRjaCBmcm9tIFJvYmVydCBDb2xsaW5zPC9saT4KKyAgPGxpPmFkZGVkIHhtbFNldEVudGl0eVJlZmVyZW5jZUZ1bmMoKSBmb3IgS2VpdGggSXNkYWxlIHdvcmsgb24geHNsZGJnPC9saT4KKzwvdWw+PGgzPjIuNC4xMjogRGVjIDcgMjAwMTwvaDM+PHVsPgorICA8bGk+YSBmZXcgYnVnIGZpeGVzOiB0aHJlYWQgKEdhcnkgUGVubmluZ3RvbiksIHhtbGxpbnQgKEdlZXJ0IEtsb29zdGVybWFuKSwKKyAgICBYTUwgcGFyc2VyIChSb2JpbiBCZXJqb24pLCBYUG9pbnRlciAoRGFubnkgSmFtc2h5KSwgSS9PIGNsZWFudXBzCisgIChyb2JlcnQpPC9saT4KKyAgPGxpPkVyaWMgTGF2aWduZSBjb250cmlidXRlZCBwcm9qZWN0IGZpbGVzIGZvciBNYWNPUzwvbGk+CisgIDxsaT5zb21lIG1ha2VmaWxlcyBjbGVhbnVwczwvbGk+Cis8L3VsPjxoMz4yLjQuMTE6IE5vdiAyNiAyMDAxPC9oMz48dWw+CisgIDxsaT5maXhlZCBhIGNvdXBsZSBvZiBlcnJvcnMgaW4gdGhlIGluY2x1ZGVzLCBmaXhlZCBhIGZldyBidWdzLCBzb21lIGNvZGUKKyAgICBjbGVhbnVwczwvbGk+CisgIDxsaT54bWxsaW50IG1hbiBwYWdlcyBpbXByb3ZlbWVudCBieSBIZWlrbyBSdXBwPC9saT4KKyAgPGxpPnVwZGF0ZWQgVk1TIGJ1aWxkIGluc3RydWN0aW9ucyBmcm9tIEpvaG4gQSBGb3RoZXJpbmdoYW08L2xpPgorICA8bGk+V2luZG93cyBNYWtlZmlsZXMgdXBkYXRlcyBmcm9tIElnb3I8L2xpPgorPC91bD48aDM+Mi40LjEwOiBOb3YgMTAgMjAwMTwvaDM+PHVsPgorICA8bGk+VVJJIGVzY2FwaW5nIGZpeCAoSm9lbCBZb3VuZyk8L2xpPgorICA8bGk+YWRkZWQgeG1sR2V0Tm9kZVBhdGgoKSAoZm9yIHBhdGhzIG9yIFhQb2ludGVycyBnZW5lcmF0aW9uKTwvbGk+CisgIDxsaT5GaXhlcyBuYW1lc3BhY2UgaGFuZGxpbmcgcHJvYmxlbXMgd2hlbiB1c2luZyBEVEQgYW5kIHZhbGlkYXRpb248L2xpPgorICA8bGk+aW1wcm92ZW1lbnRzIG9uIHhtbGxpbnQ6IE1vcnVzIFdhbHRlciBwYXRjaGVzIGZvciAtLWZvcm1hdCBhbmQKKyAgICAtLWVuY29kZSwgU3RlZmFuIEtvc3QgYW5kIEhlaWtvIFJ1cHAgaW1wcm92ZW1lbnRzIG9uIHRoZSAtLXNoZWxsPC9saT4KKyAgPGxpPmZpeGVzIGZvciB4bWxjYXRhbG9nIGxpbmtpbmcgcG9pbnRlZCBieSBXZWlxaSBHYW88L2xpPgorICA8bGk+Zml4ZXMgdG8gdGhlIEhUTUwgcGFyc2VyPC9saT4KKzwvdWw+PGgzPjIuNC45OiBOb3YgNiAyMDAxPC9oMz48dWw+CisgIDxsaT5maXhlcyBtb3JlIGNhdGFsb2cgYnVnczwvbGk+CisgIDxsaT5hdm9pZCBhIGNvbXBpbGF0aW9uIHByb2JsZW0sIGltcHJvdmUgeG1sR2V0TGluZU5vKCk8L2xpPgorPC91bD48aDM+Mi40Ljg6IE5vdiA0IDIwMDE8L2gzPjx1bD4KKyAgPGxpPmZpeGVkIFNHTUwgY2F0YWxvZ3MgYnJva2VuIGluIHByZXZpb3VzIHJlbGVhc2UsIHVwZGF0ZWQgeG1sY2F0YWxvZworICB0b29sPC9saT4KKyAgPGxpPmZpeGVkIGEgY29tcGlsZSBlcnJvcnMgYW5kIHNvbWUgaW5jbHVkZXMgdHJvdWJsZXMuPC9saT4KKzwvdWw+PGgzPjIuNC43OiBPY3QgMzAgMjAwMTwvaDM+PHVsPgorICA8bGk+ZXhwb3J0ZWQgc29tZSBkZWJ1Z2dpbmcgaW50ZXJmYWNlczwvbGk+CisgIDxsaT5zZXJpb3VzIHJld3JpdGUgb2YgdGhlIGNhdGFsb2cgY29kZTwvbGk+CisgIDxsaT5pbnRlZ3JhdGVkIEdhcnkgUGVubmluZ3RvbiB0aHJlYWQgc2FmZXR5IHBhdGNoLCBhZGRlZCBjb25maWd1cmUgb3B0aW9uCisgICAgYW5kIHJlZ3Jlc3Npb24gdGVzdHM8L2xpPgorICA8bGk+cmVtb3ZlZCBhbiBIVE1MIHBhcnNlciBidWc8L2xpPgorICA8bGk+Zml4ZWQgYSBjb3VwbGUgb2YgcG90ZW50aWFsbHkgc2VyaW91cyB2YWxpZGF0aW9uIGJ1Z3M8L2xpPgorICA8bGk+aW50ZWdyYXRlZCB0aGUgU0dNTCBEb2NCb29rIHN1cHBvcnQgaW4geG1sbGludDwvbGk+CisgIDxsaT5jaGFuZ2VkIHRoZSBuYW5vZnRwIGFub255bW91cyBsb2dpbiBwYXNzd2Q8L2xpPgorICA8bGk+c29tZSBJL08gY2xlYW51cCBhbmQgYSBjb3VwbGUgb2YgaW50ZXJmYWNlcyBmb3IgUGVybCB3cmFwcGVyPC9saT4KKyAgPGxpPmdlbmVyYWwgYnVnIGZpeGVzPC9saT4KKyAgPGxpPnVwZGF0ZWQgeG1sbGludCBtYW4gcGFnZSBieSBKb2huIEZsZWNrPC9saT4KKyAgPGxpPnNvbWUgVk1TIGFuZCBXaW5kb3dzIHVwZGF0ZXM8L2xpPgorPC91bD48aDM+Mi40LjY6IE9jdCAxMCAyMDAxPC9oMz48dWw+CisgIDxsaT5hZGRlZCBhbiB1cGRhdGVkIG1hbiBwYWdlcyBieSBKb2huIEZsZWNrPC9saT4KKyAgPGxpPnBvcnRhYmlsaXR5IGFuZCBjb25maWd1cmUgZml4ZXM8L2xpPgorICA8bGk+YW4gaW5maW5pdGUgbG9vcCBvbiB0aGUgSFRNTCBwYXJzZXIgd2FzIHJlbW92ZWQgKFdpbGxpYW0pPC9saT4KKyAgPGxpPldpbmRvd3MgbWFrZWZpbGUgcGF0Y2hlcyBmcm9tIElnb3I8L2xpPgorICA8bGk+Zml4ZWQgaGFsZiBhIGRvemVuIGJ1Z3MgcmVwb3J0ZWQgZm9yIGxpYnhtbCBvciBsaWJ4c2x0PC9saT4KKyAgPGxpPnVwZGF0ZWQgeG1sY2F0YWxvZyB0byBiZSBhYmxlIHRvIG1vZGlmeSBTR01MIHN1cGVyIGNhdGFsb2dzPC9saT4KKzwvdWw+PGgzPjIuNC41OiBTZXAgMTQgMjAwMTwvaDM+PHVsPgorICA8bGk+UmVtb3ZlIGEgZmV3IGFubm95aW5nIGJ1Z3MgaW4gMi40LjQ8L2xpPgorICA8bGk+Zm9yY2VzIHRoZSBIVE1MIHNlcmlhbGl6ZXIgdG8gb3V0cHV0IGRlY2ltYWwgY2hhcnJlZnMgc2luY2Ugc29tZQorICAgIHZlcnNpb24gb2YgTmV0c2NhcGUgY2FuJ3QgaGFuZGxlIGhleGFkZWNpbWFsIG9uZXM8L2xpPgorPC91bD48aDM+MS44LjE2OiBTZXAgMTQgMjAwMTwvaDM+PHVsPgorICA8bGk+bWFpbnRlbmFuY2UgcmVsZWFzZSBvZiB0aGUgb2xkIGxpYnhtbDEgYnJhbmNoLCBjb3VwbGUgb2YgYnVnIGFuZAorICAgIHBvcnRhYmlsaXR5IGZpeGVzPC9saT4KKzwvdWw+PGgzPjIuNC40OiBTZXAgMTIgMjAwMTwvaDM+PHVsPgorICA8bGk+YWRkZWQgLS1jb252ZXJ0IHRvIHhtbGNhdGFsb2csIGJ1ZyBmaXhlcyBhbmQgY2xlYW51cHMgb2YgWE1MCisgIENhdGFsb2c8L2xpPgorICA8bGk+YSBmZXcgYnVnIGZpeGVzIGFuZCBzb21lIHBvcnRhYmlsaXR5IGNoYW5nZXM8L2xpPgorICA8bGk+c29tZSBkb2N1bWVudGF0aW9uIGNsZWFudXBzPC9saT4KKzwvdWw+PGgzPjIuNC4zOiAgQXVnIDIzIDIwMDE8L2gzPjx1bD4KKyAgPGxpPlhNTCBDYXRhbG9nIHN1cHBvcnQgc2VlIHRoZSBkb2M8L2xpPgorICA8bGk+TmV3IE5hTi9JbmZpbml0eSBmbG9hdGluZyBwb2ludCBjb2RlPC9saT4KKyAgPGxpPkEgZmV3IGJ1ZyBmaXhlczwvbGk+Cis8L3VsPjxoMz4yLjQuMjogIEF1ZyAxNSAyMDAxPC9oMz48dWw+CisgIDxsaT5hZGRzIHhtbExpbmVOdW1iZXJzRGVmYXVsdCgpIHRvIGNvbnRyb2wgbGluZSBudW1iZXIgZ2VuZXJhdGlvbjwvbGk+CisgIDxsaT5sb3Qgb2YgYnVnIGZpeGVzPC9saT4KKyAgPGxpPnRoZSBNaWNyb3NvZnQgTVNDIHByb2plY3RzIGZpbGVzIHNob3VsZCBub3cgYmUgdXAgdG8gZGF0ZTwvbGk+CisgIDxsaT5pbmhlcml0YW5jZSBvZiBuYW1lc3BhY2VzIGZyb20gRFREIGRlZmF1bHRlZCBhdHRyaWJ1dGVzPC9saT4KKyAgPGxpPmZpeGVzIGEgc2VyaW91cyBwb3RlbnRpYWwgc2VjdXJpdHkgYnVnPC9saT4KKyAgPGxpPmFkZGVkIGEgLS1mb3JtYXQgb3B0aW9uIHRvIHhtbGxpbnQ8L2xpPgorPC91bD48aDM+Mi40LjE6ICBKdWx5IDI0IDIwMDE8L2gzPjx1bD4KKyAgPGxpPnBvc3NpYmlsaXR5IHRvIGtlZXAgbGluZSBudW1iZXJzIGluIHRoZSB0cmVlPC9saT4KKyAgPGxpPnNvbWUgY29tcHV0YXRpb24gTmFOIGZpeGVzPC9saT4KKyAgPGxpPmV4dGVuc2lvbiBvZiB0aGUgWFBhdGggQVBJPC9saT4KKyAgPGxpPmNsZWFudXAgZm9yIGFscGhhIGFuZCBpYTY0IHRhcmdldHM8L2xpPgorICA8bGk+cGF0Y2ggdG8gYWxsb3cgc2F2aW5nIHRocm91Z2ggSFRUUCBQVVQgb3IgUE9TVDwvbGk+Cis8L3VsPjxoMz4yLjQuMDogSnVseSAxMCAyMDAxPC9oMz48dWw+CisgIDxsaT5GaXhlZCBhIGZldyBidWdzIGluIFhQYXRoLCB2YWxpZGF0aW9uLCBhbmQgdHJlZSBoYW5kbGluZy48L2xpPgorICA8bGk+Rml4ZWQgWE1MIEJhc2UgaW1wbGVtZW50YXRpb24sIGFkZGVkIGEgY291cGxlIG9mIGV4YW1wbGVzIHRvIHRoZQorICAgIHJlZ3Jlc3Npb24gdGVzdHM8L2xpPgorICA8bGk+QSBiaXQgb2YgY2xlYW51cDwvbGk+Cis8L3VsPjxoMz4yLjMuMTQ6IEp1bHkgNSAyMDAxPC9oMz48dWw+CisgIDxsaT5maXhlZCBzb21lIGVudGl0aWVzIHByb2JsZW1zIGFuZCByZWR1Y2UgbWVtb3J5IHJlcXVpcmVtZW50IHdoZW4KKyAgICBzdWJzdGl0dXRpbmcgdGhlbTwvbGk+CisgIDxsaT5sb3RzIG9mIGltcHJvdmVtZW50cyBpbiB0aGUgWFBhdGggcXVlcmllcyBpbnRlcnByZXRlciBjYW4gYmUKKyAgICBzdWJzdGFudGlhbGx5IGZhc3RlcjwvbGk+CisgIDxsaT5NYWtlZmlsZXMgYW5kIGNvbmZpZ3VyZSBjbGVhbnVwczwvbGk+CisgIDxsaT5GaXhlcyB0byBYUGF0aCB2YXJpYWJsZSBldmFsLCBhbmQgY29tcGFyZSBvbiBlbXB0eSBub2RlIHNldDwvbGk+CisgIDxsaT5IVE1MIHRhZyBjbG9zaW5nIGJ1ZyBmaXhlZDwvbGk+CisgIDxsaT5GaXhlZCBhbiBVUkkgcmVmZXJlbmNlIGNvbXB1dGF0aW9uIHByb2JsZW0gd2hlbiB2YWxpZGF0aW5nPC9saT4KKzwvdWw+PGgzPjIuMy4xMzogSnVuZSAyOCAyMDAxPC9oMz48dWw+CisgIDxsaT4yLjMuMTIgY29uZmlndXJlLmluIHdhcyBicm9rZW4gYXMgd2VsbCBhcyB0aGUgcHVzaCBtb2RlIFhNTCBwYXJzZXI8L2xpPgorICA8bGk+YSBmZXcgbW9yZSBmaXhlcyBmb3IgY29tcGlsYXRpb24gb24gV2luZG93cyBNU0MgYnkgWW9uIERlcmVrPC9saT4KKzwvdWw+PGgzPjEuOC4xNDogSnVuZSAyOCAyMDAxPC9oMz48dWw+CisgIDxsaT5aYmlnbmlldyBDaHlsYSBnYXZlIGEgcGF0Y2ggdG8gdXNlIHRoZSBvbGQgWE1MIHBhcnNlciBpbiBwdXNoIG1vZGU8L2xpPgorICA8bGk+U21hbGwgTWFrZWZpbGUgZml4PC9saT4KKzwvdWw+PGgzPjIuMy4xMjogSnVuZSAyNiAyMDAxPC9oMz48dWw+CisgIDxsaT5sb3RzIG9mIGNsZWFudXA8L2xpPgorICA8bGk+YSBjb3VwbGUgb2YgdmFsaWRhdGlvbiBmaXg8L2xpPgorICA8bGk+Zml4ZWQgbGluZSBudW1iZXIgY291bnRpbmc8L2xpPgorICA8bGk+Zml4ZWQgc2VyaW91cyBwcm9ibGVtcyBpbiB0aGUgWEluY2x1ZGUgcHJvY2Vzc2luZzwvbGk+CisgIDxsaT5hZGRlZCBzdXBwb3J0IGZvciBVVEY4IEJPTSBhdCBiZWdpbm5pbmcgb2YgZW50aXRpZXM8L2xpPgorICA8bGk+Zml4ZWQgYSBzdHJhbmdlIGdjYyBvcHRpbWl6ZXIgYnVncyBpbiB4cGF0aCBoYW5kbGluZyBvZiBmbG9hdCwgZ2NjLTMuMAorICAgIG1pc2NvbXBpbGUgdXJpLmMgKFdpbGxpYW0pLCBUaG9tYXMgTGVpdG5lciBwcm92aWRlZCBhIGZpeCBmb3IgdGhlCisgICAgb3B0aW1pemVyIG9uIFRydTY0PC9saT4KKyAgPGxpPmluY29ycG9yYXRlZCBZb24gRGVyZWsgYW5kIElnb3IgWmxhdGtvdmljICBmaXhlcyBhbmQgaW1wcm92ZW1lbnRzIGZvcgorICAgIGNvbXBpbGF0aW9uIG9uIFdpbmRvd3MgTVNDPC9saT4KKyAgPGxpPnVwZGF0ZSBvZiBsaWJ4bWwtZG9jLmVsIChGZWxpeCBOYXR0ZXIpPC9saT4KKyAgPGxpPmZpeGVkIDIgYnVncyBpbiBVUkkgbm9ybWFsaXphdGlvbiBjb2RlPC9saT4KKzwvdWw+PGgzPjIuMy4xMTogSnVuZSAxNyAyMDAxPC9oMz48dWw+CisgIDxsaT51cGRhdGVzIHRvIHRyaW8sIE1ha2VmaWxlcyBhbmQgY29uZmlndXJlIHNob3VsZCBmaXggc29tZSBwb3J0YWJpbGl0eQorICAgIHByb2JsZW1zIChhbHBoYSk8L2xpPgorICA8bGk+Zml4ZWQgc29tZSBIVE1MIHNlcmlhbGl6YXRpb24gcHJvYmxlbXMgKHByZSwgc2NyaXB0LCBhbmQgYmxvY2svaW5saW5lCisgICAgaGFuZGxpbmcpLCBhZGRlZCBlbmNvZGluZyBhd2FyZSBBUElzLCBjbGVhbnVwIG9mIHRoaXMgY29kZTwvbGk+CisgIDxsaT5hZGRlZCB4bWxIYXNOc1Byb3AoKTwvbGk+CisgIDxsaT5pbXBsZW1lbnRlZCBhIHNwZWNpZmljIFBJIGZvciBlbmNvZGluZyBzdXBwb3J0IGluIHRoZSBEb2NCb29rIFNHTUwKKyAgICBwYXJzZXI8L2xpPgorICA8bGk+c29tZSBYUGF0aCBmaXhlcyAoLUluZmluaXR5LCAvIGFzIGEgZnVuY3Rpb24gcGFyYW1ldGVyIGFuZCBuYW1lc3BhY2VzCisgICAgbm9kZSBzZWxlY3Rpb24pPC9saT4KKyAgPGxpPmZpeGVkIGEgcGVyZm9ybWFuY2UgcHJvYmxlbSBhbmQgYW4gZXJyb3IgaW4gdGhlIHZhbGlkYXRpb24gY29kZTwvbGk+CisgIDxsaT5maXhlZCBYSW5jbHVkZSByb3V0aW5lIHRvIGltcGxlbWVudCB0aGUgcmVjdXJzaXZlIGJlaGF2aW91cjwvbGk+CisgIDxsaT5maXhlZCB4bWxGcmVlTm9kZSBwcm9ibGVtIHdoZW4gbGlieG1sIGlzIGluY2x1ZGVkIHN0YXRpY2FsbHkgdHdpY2U8L2xpPgorICA8bGk+YWRkZWQgLS12ZXJzaW9uIHRvIHhtbGxpbnQgZm9yIGJ1ZyByZXBvcnRzPC9saT4KKzwvdWw+PGgzPjIuMy4xMDogSnVuZSAxIDIwMDE8L2gzPjx1bD4KKyAgPGxpPmZpeGVkIHRoZSBTR01MIGNhdGFsb2cgc3VwcG9ydDwvbGk+CisgIDxsaT5hIG51bWJlciBvZiByZXBvcnRlZCBidWdzIGdvdCBmaXhlZCwgaW4gWFBhdGgsIGljb252IGRldGVjdGlvbiwKKyAgICBYSW5jbHVkZSBwcm9jZXNzaW5nPC9saT4KKyAgPGxpPlhQYXRoIHN0cmluZyBmdW5jdGlvbiBzaG91bGQgbm93IGhhbmRsZSB1bmljb2RlIGNvcnJlY3RseTwvbGk+Cis8L3VsPjxoMz4yLjMuOTogTWF5IDE5IDIwMDE8L2gzPjxwPkxvdHMgb2YgYnVnZml4ZXMsIGFuZCBhZGRlZCBhIGJhc2ljIFNHTUwgY2F0YWxvZyBzdXBwb3J0OgorPC9wPjx1bD4KKyAgPGxpPkhUTUwgcHVzaCBidWdmaXggIzU0ODkxIGFuZCBhbm90aGVyIHBhdGNoIGZyb20gSm9uYXMgQm9yZ3N0cm9tPC9saT4KKyAgPGxpPnNvbWUgc2VyaW91cyBzcGVlZCBvcHRpbWl6YXRpb24gYWdhaW48L2xpPgorICA8bGk+c29tZSBkb2N1bWVudGF0aW9uIGNsZWFudXBzPC9saT4KKyAgPGxpPnRyeWluZyB0byBnZXQgYmV0dGVyIGxpbmtpbmcgb24gU29sYXJpcyAoLVIpPC9saT4KKyAgPGxpPlhQYXRoIEFQSSBjbGVhbnVwIGZyb20gVGhvbWFzIEJyb3llcjwvbGk+CisgIDxsaT5WYWxpZGF0aW9uIGJ1ZyBmaXhlZCAjNTQ2MzEsIGFkZGVkIGEgcGF0Y2ggZnJvbSBHYXJ5IFBlbm5pbmd0b24sIGZpeGVkCisgICAgeG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzKCk8L2xpPgorICA8bGk+QWRkZWQgYW4gSU5TVEFMTCBmaWxlPC9saT4KKyAgPGxpPkF0dHJpYnV0ZSByZW1vdmFsIGFkZGVkIHRvIEFQSTogIzU0NDMzPC9saT4KKyAgPGxpPmFkZGVkIGEgYmFzaWMgc3VwcG9ydCBmb3IgU0dNTCBjYXRhbG9nczwvbGk+CisgIDxsaT5maXhlZCB4bWxLZWVwQmxhbmtzRGVmYXVsdCgwKSBBUEk8L2xpPgorICA8bGk+YnVnZml4IGluIHhtbE5vZGVHZXRMYW5nKCk8L2xpPgorICA8bGk+Zml4ZWQgYSBzbWFsbCBjb25maWd1cmUgcG9ydGFiaWxpdHkgcHJvYmxlbTwvbGk+CisgIDxsaT5maXhlZCBhbiBpbnZlcnNpb24gb2YgU1lTVEVNIGFuZCBQVUJMSUMgaWRlbnRpZmllciBpbiBIVE1MIGRvY3VtZW50PC9saT4KKzwvdWw+PGgzPjEuOC4xMzogTWF5IDE0IDIwMDE8L2gzPjx1bD4KKyAgPGxpPmJ1Z2ZpeGVzIHJlbGVhc2Ugb2YgdGhlIG9sZCBsaWJ4bWwxIGJyYW5jaCB1c2VkIGJ5IEdub21lPC9saT4KKzwvdWw+PGgzPjIuMy44OiBNYXkgMyAyMDAxPC9oMz48dWw+CisgIDxsaT5JbnRlZ3JhdGVkIGFuIFNHTUwgRG9jQm9vayBwYXJzZXIgZm9yIHRoZSBHbm9tZSBwcm9qZWN0PC9saT4KKyAgPGxpPkZpeGVkIGEgZmV3IHRoaW5ncyBpbiB0aGUgSFRNTCBwYXJzZXI8L2xpPgorICA8bGk+Rml4ZWQgc29tZSBYUGF0aCBidWdzIHJhaXNlZCBieSBYU0xUIHVzZSwgdHJpZWQgdG8gZml4IHRoZSBmbG9hdGluZworICAgIHBvaW50IHBvcnRhYmlsaXR5IGlzc3VlPC9saT4KKyAgPGxpPlNwZWVkIGltcHJvdmVtZW50ICg4TS9zIGZvciBTQVgsIDNNL3MgZm9yIERPTSwgMS41TS9zIGZvcgorICAgIERPTSt2YWxpZGF0aW9uIHVzaW5nIHRoZSBYTUwgUkVDIGFzIGlucHV0IGFuZCBhIDcwME1IeiBjZWxlcm9uKS48L2xpPgorICA8bGk+aW5jb3Jwb3JhdGVkIG1vcmUgV2luZG93cyBjbGVhbnVwPC9saT4KKyAgPGxpPmFkZGVkIHhtbFNhdmVGb3JtYXRGaWxlKCk8L2xpPgorICA8bGk+Zml4ZWQgcHJvYmxlbXMgaW4gY29weWluZyBub2RlcyB3aXRoIGVudGl0aWVzIHJlZmVyZW5jZXMgKGdkb21lKTwvbGk+CisgIDxsaT5yZW1vdmVkIHNvbWUgdHJvdWJsZXMgc3Vycm91bmRpbmcgdGhlIG5ldyB2YWxpZGF0aW9uIG1vZHVsZTwvbGk+Cis8L3VsPjxoMz4yLjMuNzogQXByaWwgMjIgMjAwMTwvaDM+PHVsPgorICA8bGk+bG90cyBvZiBzbWFsbCBidWcgZml4ZXMsIGNvcnJlY3RlZCBYUG9pbnRlcjwvbGk+CisgIDxsaT5Ob24gZGV0ZXJtaW5pc3RpYyBjb250ZW50IG1vZGVsIHZhbGlkYXRpb24gc3VwcG9ydDwvbGk+CisgIDxsaT5hZGRlZCB4bWxEb2NDb3B5Tm9kZSBmb3IgZ2RvbWUyPC9saT4KKyAgPGxpPnJldmFtcGVkIHRoZSB3YXkgdGhlIEhUTUwgcGFyc2VyIGhhbmRsZXMgZW5kIG9mIHRhZ3M8L2xpPgorICA8bGk+WFBhdGg6IGNvcnJlY3Rpb25zIG9mIG5hbWVzcGFjZXMgc3VwcG9ydCBhbmQgbnVtYmVyIGZvcm1hdHRpbmc8L2xpPgorICA8bGk+V2luZG93czogSWdvciBabGF0a292aWMgcGF0Y2hlcyBmb3IgTVNDIGNvbXBpbGF0aW9uPC9saT4KKyAgPGxpPkhUTUwgb3V0cHV0IGZpeGVzIGZyb20gUCBDIENob3cgYW5kIFdpbGxpYW0gTS4gQnJhY2s8L2xpPgorICA8bGk+SW1wcm92ZWQgdmFsaWRhdGlvbiBzcGVlZCBzZW5zaWJsZSBmb3IgRG9jQm9vazwvbGk+CisgIDxsaT5maXhlZCBhIGJpZyBidWcgd2l0aCBJRCBkZWNsYXJlZCBpbiBleHRlcm5hbCBwYXJzZWQgZW50aXRpZXM8L2xpPgorICA8bGk+cG9ydGFiaWxpdHkgZml4ZXMsIHVwZGF0ZSBvZiBUcmlvIGZyb20gQmpvcm4gUmVlc2U8L2xpPgorPC91bD48aDM+Mi4zLjY6IEFwcmlsIDggMjAwMTwvaDM+PHVsPgorICA8bGk+Q29kZSBjbGVhbnVwIHVzaW5nIGV4dHJlbWUgZ2NjIGNvbXBpbGVyIHdhcm5pbmcgb3B0aW9ucywgZm91bmQgYW5kCisgICAgY2xlYXJlZCBoYWxmIGEgZG96ZW4gcG90ZW50aWFsIHByb2JsZW08L2xpPgorICA8bGk+dGhlIEVhemVsIHRlYW0gZm91bmQgYW4gWE1MIHBhcnNlciBidWc8L2xpPgorICA8bGk+Y2xlYW5lZCB1cCB0aGUgdXNlciBvZiBzb21lIG9mIHRoZSBzdHJpbmcgZm9ybWF0dGluZyBmdW5jdGlvbi4gdXNlZCB0aGUKKyAgICB0cmlvIGxpYnJhcnkgY29kZSB0byBwcm92aWRlIHRoZSBvbmUgbmVlZGVkIHdoZW4gdGhlIHBsYXRmb3JtIGlzIG1pc3NpbmcKKyAgICB0aGVtPC9saT4KKyAgPGxpPnhwYXRoOiByZW1vdmVkIGEgbWVtb3J5IGxlYWsgYW5kIGZpeGVkIHRoZSBwcmVkaWNhdGUgZXZhbHVhdGlvbgorICAgIHByb2JsZW0sIGV4dGVuZGVkIHRoZSB0ZXN0c3VpdGUgYW5kIGNsZWFuZWQgdXAgdGhlIHJlc3VsdC4gWFBvaW50ZXIgc2VlbXMKKyAgICBicm9rZW4gLi4uPC9saT4KKzwvdWw+PGgzPjIuMy41OiBNYXIgMjMgMjAwMTwvaDM+PHVsPgorICA8bGk+QmlnZ2VzdCBjaGFuZ2UgaXMgc2VwYXJhdGUgcGFyc2luZyBhbmQgZXZhbHVhdGlvbiBvZiBYUGF0aCBleHByZXNzaW9ucywKKyAgICB0aGVyZSBpcyBzb21lIG5ldyBBUElzIGZvciB0aGlzIHRvbzwvbGk+CisgIDxsaT5pbmNsdWRlZCBhIG51bWJlciBvZiBidWcgZml4ZXMoWE1MIHB1c2ggcGFyc2VyLCA1MTg3Niwgbm90YXRpb25zLAorICA1MjI5OSk8L2xpPgorICA8bGk+Rml4ZWQgc29tZSBwb3J0YWJpbGl0eSBpc3N1ZXM8L2xpPgorPC91bD48aDM+Mi4zLjQ6IE1hciAxMCAyMDAxPC9oMz48dWw+CisgIDxsaT5GaXhlZCBidWdzICM1MTg2MCBhbmQgIzUxODYxPC9saT4KKyAgPGxpPkFkZGVkIGEgZ2xvYmFsIHZhcmlhYmxlIHhtbERlZmF1bHRCdWZmZXJTaXplIHRvIGFsbG93IGRlZmF1bHQgYnVmZmVyCisgICAgc2l6ZSB0byBiZSBhcHBsaWNhdGlvbiB0dW5hYmxlLjwvbGk+CisgIDxsaT5Tb21lIGNsZWFudXAgaW4gdGhlIHZhbGlkYXRpb24gY29kZSwgc3RpbGwgYSBidWcgbGVmdCBhbmQgdGhpcyBwYXJ0CisgICAgc2hvdWxkIHByb2JhYmx5IGJlIHJld3JpdHRlbiB0byBzdXBwb3J0IGFtYmlndW91cyBjb250ZW50IG1vZGVsIDotXDwvbGk+CisgIDxsaT5GaXggYSBjb3VwbGUgb2Ygc2VyaW91cyBidWdzIGludHJvZHVjZWQgb3IgcmFpc2VkIGJ5IGNoYW5nZXMgaW4gMi4zLjMKKyAgICBwYXJzZXI8L2xpPgorICA8bGk+Rml4ZWQgYW5vdGhlciBidWcgaW4geG1sTm9kZUdldENvbnRlbnQoKTwvbGk+CisgIDxsaT5Cam9ybiBmaXhlZCBYUGF0aCBub2RlIGNvbGxlY3Rpb24gYW5kIE51bWJlciBmb3JtYXR0aW5nPC9saT4KKyAgPGxpPkZpeGVkIGEgbG9vcCByZXBvcnRlZCBpbiB0aGUgSFRNTCBwYXJzaW5nPC9saT4KKyAgPGxpPmJsYW5rIHNwYWNlIGFyZSByZXBvcnRlZCBldmVuIGlmIHRoZSBEdGQgY29udGVudCBtb2RlbCBwcm92ZXMgdGhhdCB0aGV5CisgICAgYXJlIGZvcm1hdHRpbmcgc3BhY2VzLCB0aGlzIGlzIGZvciBYTUwgY29uZm9ybWFuY2U8L2xpPgorPC91bD48aDM+Mi4zLjM6IE1hciAxIDIwMDE8L2gzPjx1bD4KKyAgPGxpPnNtYWxsIGNoYW5nZSBpbiBYUGF0aCBmb3IgWFNMVDwvbGk+CisgIDxsaT5kb2N1bWVudGF0aW9uIGNsZWFudXBzPC9saT4KKyAgPGxpPmZpeCBpbiB2YWxpZGF0aW9uIGJ5IEdhcnkgUGVubmluZ3RvbjwvbGk+CisgIDxsaT5zZXJpb3VzIHBhcnNpbmcgcGVyZm9ybWFuY2VzIGltcHJvdmVtZW50czwvbGk+Cis8L3VsPjxoMz4yLjMuMjogRmViIDI0IDIwMDE8L2gzPjx1bD4KKyAgPGxpPmNoYXNpbmcgWFBhdGggYnVncywgZm91bmQgYSBidW5jaCwgY29tcGxldGVkIHNvbWUgVE9ETzwvbGk+CisgIDxsaT5maXhlZCBhIER0ZCBwYXJzaW5nIGJ1ZzwvbGk+CisgIDxsaT5maXhlZCBhIGJ1ZyBpbiB4bWxOb2RlR2V0Q29udGVudDwvbGk+CisgIDxsaT5JRC9JRFJFRiBzdXBwb3J0IHBhcnRseSByZXdyaXR0ZW4gYnkgR2FyeSBQZW5uaW5ndG9uPC9saT4KKzwvdWw+PGgzPjIuMy4xOiBGZWIgMTUgMjAwMTwvaDM+PHVsPgorICA8bGk+c29tZSBYUGF0aCBhbmQgSFRNTCBidWcgZml4ZXMgZm9yIFhTTFQ8L2xpPgorICA8bGk+c21hbGwgZXh0ZW5zaW9uIG9mIHRoZSBoYXNoIHRhYmxlIGludGVyZmFjZXMgZm9yIERPTSBnZG9tZTIKKyAgICBpbXBsZW1lbnRhdGlvbjwvbGk+CisgIDxsaT5BIGZldyBidWcgZml4ZXM8L2xpPgorPC91bD48aDM+Mi4zLjA6IEZlYiA4IDIwMDEgKDIuMi4xMiB3YXMgb24gMjUgSmFuIGJ1dCBJIGRpZG4ndCBrZXB0IHRyYWNrKTwvaDM+PHVsPgorICA8bGk+TG90cyBvZiBYUGF0aCBidWcgZml4ZXM8L2xpPgorICA8bGk+QWRkIGEgbW9kZSB3aXRoIER0ZCBsb29rdXAgYnV0IHdpdGhvdXQgdmFsaWRhdGlvbiBlcnJvciByZXBvcnRpbmcgZm9yCisgICAgWFNMVDwvbGk+CisgIDxsaT5BZGQgc3VwcG9ydCBmb3IgdGV4dCBub2RlIHdpdGhvdXQgZXNjYXBpbmcgKFhTTFQpPC9saT4KKyAgPGxpPmJ1ZyBmaXhlcyBmb3IgeG1sQ2hlY2tGaWxlbmFtZTwvbGk+CisgIDxsaT52YWxpZGF0aW9uIGNvZGUgYnVnIGZpeGVzIGZyb20gR2FyeSBQZW5uaW5ndG9uPC9saT4KKyAgPGxpPlBhdGNoIGZyb20gUGF1bCBELiBTbWl0aCBjb3JyZWN0aW5nIFVSSSBwYXRoIG5vcm1hbGl6YXRpb248L2xpPgorICA8bGk+UGF0Y2ggdG8gYWxsb3cgc2ltdWx0YW5lb3VzIGluc3RhbGwgb2YgbGlieG1sLWRldmVsIGFuZAorICBsaWJ4bWwyLWRldmVsPC9saT4KKyAgPGxpPnRoZSBleGFtcGxlIE1ha2VmaWxlIGlzIG5vdyBmaXhlZDwvbGk+CisgIDxsaT5hZGRlZCBIVE1MIHRvIHRoZSBSUE0gcGFja2FnZXM8L2xpPgorICA8bGk+dHJlZSBjb3B5aW5nIGJ1Z2ZpeGVzPC9saT4KKyAgPGxpPnVwZGF0ZXMgdG8gV2luZG93cyBtYWtlZmlsZXM8L2xpPgorICA8bGk+b3B0aW1pemF0aW9uIHBhdGNoIGZyb20gQmpvcm4gUmVlc2U8L2xpPgorPC91bD48aDM+Mi4yLjExOiBKYW4gNCAyMDAxPC9oMz48dWw+CisgIDxsaT5idW5jaCBvZiBidWcgZml4ZXMgKG1lbW9yeSBJL08sIHhwYXRoLCBmdHAvaHR0cCwgLi4uKTwvbGk+CisgIDxsaT5hZGRlZCBodG1sSGFuZGxlT21pdHRlZEVsZW0oKTwvbGk+CisgIDxsaT5BcHBsaWVkIEJqb3JuIFJlZXNlJ3MgSVBWNiBmaXJzdCBwYXRjaDwvbGk+CisgIDxsaT5BcHBsaWVkIFBhdWwgRC4gU21pdGggcGF0Y2hlcyBmb3IgdmFsaWRhdGlvbiBvZiBYSW5jbHVkZSByZXN1bHRzPC9saT4KKyAgPGxpPmFkZGVkIFhQb2ludGVyIHhtbG5zKCkgbmV3IHNjaGVtZSBzdXBwb3J0PC9saT4KKzwvdWw+PGgzPjIuMi4xMDogTm92IDI1IDIwMDA8L2gzPjx1bD4KKyAgPGxpPkZpeCB0aGUgV2luZG93cyBwcm9ibGVtcyBvZiAyLjIuODwvbGk+CisgIDxsaT5pbnRlZ3JhdGUgT3BlblZNUyBwYXRjaGVzPC9saT4KKyAgPGxpPmJldHRlciBoYW5kbGluZyBvZiBzb21lIG5hc3R5IEhUTUwgaW5wdXQ8L2xpPgorICA8bGk+SW1wcm92ZWQgdGhlIFhQb2ludGVyIGltcGxlbWVudGF0aW9uPC9saT4KKyAgPGxpPmludGVncmF0ZSBhIG51bWJlciBvZiBwcm92aWRlZCBwYXRjaGVzPC9saT4KKzwvdWw+PGgzPjIuMi45OiBOb3YgMjUgMjAwMDwvaDM+PHVsPgorICA8bGk+ZXJyb25lb3VzIHJlbGVhc2UgOi0oPC9saT4KKzwvdWw+PGgzPjIuMi44OiBOb3YgMTMgMjAwMDwvaDM+PHVsPgorICA8bGk+Rmlyc3QgdmVyc2lvbiBvZiA8YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aW5jbHVkZSI+WEluY2x1ZGU8L2E+CisgICAgc3VwcG9ydDwvbGk+CisgIDxsaT5QYXRjaCBpbiBjb25kaXRpb25hbCBzZWN0aW9uIGhhbmRsaW5nPC9saT4KKyAgPGxpPnVwZGF0ZWQgTVMgY29tcGlsZXIgcHJvamVjdDwvbGk+CisgIDxsaT5maXhlZCBzb21lIFhQYXRoIHByb2JsZW1zPC9saT4KKyAgPGxpPmFkZGVkIGFuIFVSSSBlc2NhcGluZyBmdW5jdGlvbjwvbGk+CisgIDxsaT5zb21lIG90aGVyIGJ1ZyBmaXhlczwvbGk+Cis8L3VsPjxoMz4yLjIuNzogT2N0IDMxIDIwMDA8L2gzPjx1bD4KKyAgPGxpPmFkZGVkIG1lc3NhZ2UgcmVkaXJlY3Rpb248L2xpPgorICA8bGk+WFBhdGggaW1wcm92ZW1lbnRzICh0aGFua3MgVE9NICEpPC9saT4KKyAgPGxpPnhtbElPUGFyc2VEVEQoKSBhZGRlZDwvbGk+CisgIDxsaT52YXJpb3VzIHNtYWxsIGZpeGVzIGluIHRoZSBIVE1MLCBVUkksIEhUVFAgYW5kIFhQb2ludGVyIHN1cHBvcnQ8L2xpPgorICA8bGk+c29tZSBjbGVhbnVwIG9mIHRoZSBNYWtlZmlsZSwgYXV0b2NvbmYgYW5kIHRoZSBkaXN0cmlidXRpb24gY29udGVudDwvbGk+Cis8L3VsPjxoMz4yLjIuNjogT2N0IDI1IDIwMDA6PC9oMz48dWw+CisgIDxsaT5BZGRlZCBhbiBoYXNoIHRhYmxlIG1vZHVsZSwgbWlncmF0ZWQgYSBudW1iZXIgb2YgaW50ZXJuYWwgc3RydWN0dXJlIHRvCisgICAgdGhvc2U8L2xpPgorICA8bGk+Rml4ZWQgYSBwb3N0ZXJpb3JpIHZhbGlkYXRpb24gcHJvYmxlbXM8L2xpPgorICA8bGk+SFRUUCBtb2R1bGUgY2xlYW51cHM8L2xpPgorICA8bGk+SFRNTCBwYXJzZXIgaW1wcm92ZW1lbnRzICh0YWcgZXJyb3JzLCBzY3JpcHQvc3R5bGUgaGFuZGxpbmcsIGF0dHJpYnV0ZQorICAgIG5vcm1hbGl6YXRpb24pPC9saT4KKyAgPGxpPmNvYWxlc2Npbmcgb2YgYWRqYWNlbnQgdGV4dCBub2RlczwvbGk+CisgIDxsaT5jb3VwbGUgb2YgWFBhdGggYnVnIGZpeGVzLCBleHBvcnRlZCB0aGUgaW50ZXJuYWwgQVBJPC9saT4KKzwvdWw+PGgzPjIuMi41OiBPY3QgMTUgMjAwMDo8L2gzPjx1bD4KKyAgPGxpPlhQb2ludGVyIGltcGxlbWVudGF0aW9uIGFuZCB0ZXN0c3VpdGU8L2xpPgorICA8bGk+TG90IG9mIFhQYXRoIGZpeGVzLCBhZGRlZCB2YXJpYWJsZSBhbmQgZnVuY3Rpb25zIHJlZ2lzdHJhdGlvbiwgbW9yZQorICAgIHRlc3RzPC9saT4KKyAgPGxpPlBvcnRhYmlsaXR5IGZpeGVzLCBsb3RzIG9mIGVuaGFuY2VtZW50cyB0b3dhcmQgYW4gZWFzeSBXaW5kb3dzIGJ1aWxkCisgICAgYW5kIHJlbGVhc2U8L2xpPgorICA8bGk+TGF0ZSB2YWxpZGF0aW9uIGZpeGVzPC9saT4KKyAgPGxpPkludGVncmF0ZWQgYSBsb3Qgb2YgY29udHJpYnV0ZWQgcGF0Y2hlczwvbGk+CisgIDxsaT5hZGRlZCBtZW1vcnkgbWFuYWdlbWVudCBkb2NzPC9saT4KKyAgPGxpPmEgcGVyZm9ybWFuY2UgcHJvYmxlbSB3aGVuIHVzaW5nIGxhcmdlIGJ1ZmZlciBzZWVtcyBmaXhlZDwvbGk+Cis8L3VsPjxoMz4yLjIuNDogT2N0IDEgMjAwMDo8L2gzPjx1bD4KKyAgPGxpPm1haW4gWFBhdGggcHJvYmxlbSBmaXhlZDwvbGk+CisgIDxsaT5JbnRlZ3JhdGVkIHBvcnRhYmlsaXR5IHBhdGNoZXMgZm9yIFdpbmRvd3M8L2xpPgorICA8bGk+U2VyaW91cyBidWcgZml4ZXMgb24gdGhlIFVSSSBhbmQgSFRNTCBjb2RlPC9saT4KKzwvdWw+PGgzPjIuMi4zOiBTZXAgMTcgMjAwMDwvaDM+PHVsPgorICA8bGk+YnVnIGZpeGVzPC9saT4KKyAgPGxpPmNsZWFudXAgb2YgZW50aXR5IGhhbmRsaW5nIGNvZGU8L2xpPgorICA8bGk+b3ZlcmFsbCByZXZpZXcgb2YgYWxsIGxvb3BzIGluIHRoZSBwYXJzZXJzLCBhbGwgc3ByaW50ZiB1c2FnZSBoYXMgYmVlbgorICAgIGNoZWNrZWQgdG9vPC9saT4KKyAgPGxpPkZhciBiZXR0ZXIgaGFuZGxpbmcgb2YgbGFyZ2VzIER0ZC4gVmFsaWRhdGluZyBhZ2FpbnN0IERvY0Jvb2sgWE1MIER0ZAorICAgIHdvcmtzIHNtb290aGx5IG5vdy48L2xpPgorPC91bD48aDM+MS44LjEwOiBTZXAgNiAyMDAwPC9oMz48dWw+CisgIDxsaT5idWcgZml4IHJlbGVhc2UgZm9yIHNvbWUgR25vbWUgcHJvamVjdHM8L2xpPgorPC91bD48aDM+Mi4yLjI6IEF1Z3VzdCAxMiAyMDAwPC9oMz48dWw+CisgIDxsaT5tb3N0bHkgYnVnIGZpeGVzPC9saT4KKyAgPGxpPnN0YXJ0ZWQgYWRkaW5nIHJvdXRpbmVzIHRvIGFjY2VzcyB4bWwgcGFyc2VyIGNvbnRleHQgb3B0aW9uczwvbGk+Cis8L3VsPjxoMz4yLjIuMTogSnVseSAyMSAyMDAwPC9oMz48dWw+CisgIDxsaT5hIHB1cmVseSBidWcgZml4ZXMgcmVsZWFzZTwvbGk+CisgIDxsaT5maXhlZCBhbiBlbmNvZGluZyBzdXBwb3J0IHByb2JsZW0gd2hlbiBwYXJzaW5nIGZyb20gYSBtZW1vcnkgYmxvY2s8L2xpPgorICA8bGk+Zml4ZWQgYSBET0NUWVBFIHBhcnNpbmcgcHJvYmxlbTwvbGk+CisgIDxsaT5yZW1vdmVkIGEgYnVnIGluIHRoZSBmdW5jdGlvbiBhbGxvd2luZyB0byBvdmVycmlkZSB0aGUgbWVtb3J5CisgICAgYWxsb2NhdGlvbiByb3V0aW5lczwvbGk+Cis8L3VsPjxoMz4yLjIuMDogSnVseSAxNCAyMDAwPC9oMz48dWw+CisgIDxsaT5hcHBsaWVkIGEgbG90IG9mIHBvcnRhYmlsaXR5IGZpeGVzPC9saT4KKyAgPGxpPmJldHRlciBlbmNvZGluZyBzdXBwb3J0L2NsZWFudXAgYW5kIHNhdmluZyAoY29udGVudCBpcyBub3cgYWx3YXlzCisgICAgZW5jb2RlZCBpbiBVVEYtOCk8L2xpPgorICA8bGk+dGhlIEhUTUwgcGFyc2VyIG5vdyBjb3JyZWN0bHkgaGFuZGxlcyBlbmNvZGluZ3M8L2xpPgorICA8bGk+YWRkZWQgeG1sSGFzUHJvcCgpPC9saT4KKyAgPGxpPmZpeGVkIGEgc2VyaW91cyBwcm9ibGVtIHdpdGggJmFtcDsjMzg7PC9saT4KKyAgPGxpPnByb3BhZ2F0ZWQgdGhlIGZpeCB0byBGVFAgY2xpZW50PC9saT4KKyAgPGxpPmNsZWFudXAsIGJ1Z2ZpeGVzLCBldGMgLi4uPC9saT4KKyAgPGxpPkFkZGVkIGEgcGFnZSBhYm91dCA8YSBocmVmPSJlbmNvZGluZy5odG1sIj5saWJ4bWwgSW50ZXJuYXRpb25hbGl6YXRpb24KKyAgICBzdXBwb3J0PC9hPjwvbGk+Cis8L3VsPjxoMz4xLjguOTogIEp1bHkgOSAyMDAwPC9oMz48dWw+CisgIDxsaT5maXhlZCB0aGUgc3BlYyB0aGUgUlBNcyBzaG91bGQgYmUgYmV0dGVyPC9saT4KKyAgPGxpPmZpeGVkIGEgc2VyaW91cyBidWcgaW4gdGhlIEZUUCBpbXBsZW1lbnRhdGlvbiwgcmVsZWFzZWQgMS44LjkgdG8gc29sdmUKKyAgICBycG1maW5kIHVzZXJzIHByb2JsZW08L2xpPgorPC91bD48aDM+Mi4xLjE6IEp1bHkgMSAyMDAwPC9oMz48dWw+CisgIDxsaT5maXhlcyBhIGNvdXBsZSBvZiBidWdzIGluIHRoZSAyLjEuMCBwYWNrYWdpbmc8L2xpPgorICA8bGk+aW1wcm92ZW1lbnRzIG9uIHRoZSBIVE1MIHBhcnNlcjwvbGk+Cis8L3VsPjxoMz4yLjEuMCBhbmQgMS44Ljg6IEp1bmUgMjkgMjAwMDwvaDM+PHVsPgorICA8bGk+MS44LjggaXMgbW9zdGx5IGEgY29tbW9kaXR5IHBhY2thZ2UgZm9yIHVwZ3JhZGluZyB0byBsaWJ4bWwyIGFjY29yZGluZworICAgIHRvIDxhIGhyZWY9InVwZ3JhZGUuaHRtbCI+bmV3IGluc3RydWN0aW9uczwvYT4uIEl0IGZpeGVzIGEgbmFzdHkgcHJvYmxlbQorICAgIGFib3V0ICZhbXA7IzM4OyBjaGFycmVmIHBhcnNpbmc8L2xpPgorICA8bGk+Mi4xLjAgYWxzbyBlYXNlIHRoZSB1cGdyYWRlIGZyb20gbGlieG1sIHYxIHRvIHRoZSByZWNlbnQgdmVyc2lvbi4gaXQKKyAgICBhbHNvIGNvbnRhaW5zIG51bWVyb3VzIGZpeGVzIGFuZCBlbmhhbmNlbWVudHM6CisgICAgPHVsPgorICAgICAgPGxpPmFkZGVkIHhtbFN0b3BQYXJzZXIoKSB0byBzdG9wIHBhcnNpbmc8L2xpPgorICAgICAgPGxpPmltcHJvdmVkIGEgbG90IHBhcnNpbmcgc3BlZWQgd2hlbiB0aGVyZSBpcyBsYXJnZSBDREFUQSBibG9jczwvbGk+CisgICAgICA8bGk+aW5jbHVkZXMgWFBhdGggcGF0Y2hlcyBwcm92aWRlZCBieSBQaWNkYXIgVGVjaG5vbG9neTwvbGk+CisgICAgICA8bGk+dHJpZWQgdG8gZml4IGFzIG11Y2ggYXMgcG9zc2libGUgRFREIHZhbGlkYXRpb24gYW5kIG5hbWVzcGFjZQorICAgICAgICByZWxhdGVkIHByb2JsZW1zPC9saT4KKyAgICAgIDxsaT5vdXRwdXQgdG8gYSBnaXZlbiBlbmNvZGluZyBoYXMgYmVlbiBhZGRlZC90ZXN0ZWQ8L2xpPgorICAgICAgPGxpPmxvdCBvZiB2YXJpb3VzIGZpeGVzPC9saT4KKyAgICA8L3VsPgorICA8L2xpPgorPC91bD48aDM+Mi4wLjA6IEFwciAxMiAyMDAwPC9oMz48dWw+CisgIDxsaT5GaXJzdCBwdWJsaWMgcmVsZWFzZSBvZiBsaWJ4bWwyLiBJZiB5b3UgYXJlIHVzaW5nIGxpYnhtbCwgaXQncyBhIGdvb2QKKyAgICBpZGVhIHRvIGNoZWNrIHRoZSAxLnggdG8gMi54IHVwZ3JhZGUgaW5zdHJ1Y3Rpb25zLiBOT1RFOiB3aGlsZSBpbml0aWFsbHkKKyAgICBzY2hlZHVsZWQgZm9yIEFwciAzIHRoZSByZWxlYXNlIG9jY3VycmVkIG9ubHkgb24gQXByIDEyIGR1ZSB0byBtYXNzaXZlCisgICAgd29ya2xvYWQuPC9saT4KKyAgPGxpPlRoZSBpbmNsdWRlIGFyZSBub3cgbG9jYXRlZCB1bmRlciAkcHJlZml4L2luY2x1ZGUvbGlieG1sIChpbnN0ZWFkIG9mCisgICAgJHByZWZpeC9pbmNsdWRlL2dub21lLXhtbCksIHRoZXkgYWxzbyBhcmUgcmVmZXJlbmNlZCBieQorICAgIDxwcmU+I2luY2x1ZGUgJmx0O2xpYnhtbC94eHguaCZndDs8L3ByZT4KKyAgICA8cD5pbnN0ZWFkIG9mPC9wPgorICAgIDxwcmU+I2luY2x1ZGUgInh4eC5oIjwvcHJlPgorICA8L2xpPgorICA8bGk+YSBuZXcgVVJJIG1vZHVsZSBmb3IgcGFyc2luZyBVUklzIGFuZCBmb2xsb3dpbmcgc3RyaWN0bHkgUkZDIDIzOTY8L2xpPgorICA8bGk+dGhlIG1lbW9yeSBhbGxvY2F0aW9uIHJvdXRpbmVzIHVzZWQgYnkgbGlieG1sIGNhbiBub3cgYmUgb3ZlcmxvYWRlZAorICAgIGR5bmFtaWNhbGx5IGJ5IHVzaW5nIHhtbE1lbVNldHVwKCk8L2xpPgorICA8bGk+VGhlIHByZXZpb3VzbHkgQ1ZTIG9ubHkgdG9vbCB0ZXN0ZXIgaGFzIGJlZW4gcmVuYW1lZAorICAgIDxzdHJvbmc+eG1sbGludDwvc3Ryb25nPiBhbmQgaXMgbm93IGluc3RhbGxlZCBhcyBwYXJ0IG9mIHRoZSBsaWJ4bWwyCisgICAgcGFja2FnZTwvbGk+CisgIDxsaT5UaGUgSS9PIGludGVyZmFjZSBoYXMgYmVlbiByZXZhbXBlZC4gVGhlcmUgaXMgbm93IHdheXMgdG8gcGx1ZyBpbgorICAgIHNwZWNpZmljIEkvTyBtb2R1bGVzLCBlaXRoZXIgYXQgdGhlIFVSSSBzY2hlbWUgZGV0ZWN0aW9uIGxldmVsIHVzaW5nCisgICAgeG1sUmVnaXN0ZXJJbnB1dENhbGxiYWNrcygpICBvciBieSBwYXNzaW5nIEkvTyBmdW5jdGlvbnMgd2hlbiBjcmVhdGluZyBhCisgICAgcGFyc2VyIGNvbnRleHQgdXNpbmcgeG1sQ3JlYXRlSU9QYXJzZXJDdHh0KCk8L2xpPgorICA8bGk+dGhlcmUgaXMgYSBDIHByZXByb2Nlc3NvciBtYWNybyBMSUJYTUxfVkVSU0lPTiBwcm92aWRpbmcgdGhlIHZlcnNpb24KKyAgICBudW1iZXIgb2YgdGhlIGxpYnhtbCBtb2R1bGUgaW4gdXNlPC9saT4KKyAgPGxpPmEgbnVtYmVyIG9mIG9wdGlvbmFsIGZlYXR1cmVzIG9mIGxpYnhtbCBjYW4gbm93IGJlIGV4Y2x1ZGVkIGF0CisgICAgY29uZmlndXJlIHRpbWUgKEZUUC9IVFRQL0hUTUwvWFBhdGgvRGVidWcpPC9saT4KKzwvdWw+PGgzPjIuMC4wYmV0YTogTWFyIDE0IDIwMDA8L2gzPjx1bD4KKyAgPGxpPlRoaXMgaXMgYSBmaXJzdCBCZXRhIHJlbGVhc2Ugb2YgbGlieG1sIHZlcnNpb24gMjwvbGk+CisgIDxsaT5JdCdzIGF2YWlsYWJsZSBvbmx5IGZyb208YSBocmVmPSJmdHA6Ly94bWxzb2Z0Lm9yZy9saWJ4bWwyLyI+eG1sc29mdC5vcmcKKyAgICBGVFA8L2E+LCBpdCdzIHBhY2thZ2VkIGFzIGxpYnhtbDItMi4wLjBiZXRhIGFuZCBhdmFpbGFibGUgYXMgdGFyIGFuZAorICBSUE1zPC9saT4KKyAgPGxpPlRoaXMgdmVyc2lvbiBpcyBub3cgdGhlIGhlYWQgaW4gdGhlIEdub21lIENWUyBiYXNlLCB0aGUgb2xkIG9uZSBpcworICAgIGF2YWlsYWJsZSB1bmRlciB0aGUgdGFnIExJQl9YTUxfMV9YPC9saT4KKyAgPGxpPlRoaXMgaW5jbHVkZXMgYSB2ZXJ5IGxhcmdlIHNldCBvZiBjaGFuZ2VzLiBGcm9tIGEgIHByb2dyYW1tYXRpYyBwb2ludAorICAgIG9mIHZpZXcgYXBwbGljYXRpb25zIHNob3VsZCBub3QgaGF2ZSB0byBiZSBtb2RpZmllZCB0b28gbXVjaCwgY2hlY2sgdGhlCisgICAgPGEgaHJlZj0idXBncmFkZS5odG1sIj51cGdyYWRlIHBhZ2U8L2E+PC9saT4KKyAgPGxpPlNvbWUgaW50ZXJmYWNlcyBtYXkgY2hhbmdlcyAoZXNwZWNpYWxseSBhIGJpdCBhYm91dCBlbmNvZGluZykuPC9saT4KKyAgPGxpPnRoZSB1cGRhdGVzIGluY2x1ZGVzOgorICAgIDx1bD4KKyAgICAgIDxsaT5maXggSTE4TiBzdXBwb3J0LiBJU08tTGF0aW4teC9VVEYtOC9VVEYtMTYgKG5lYXJseSkgc2VlbXMgY29ycmVjdGx5CisgICAgICAgIGhhbmRsZWQgbm93PC9saT4KKyAgICAgIDxsaT5CZXR0ZXIgaGFuZGxpbmcgb2YgZW50aXRpZXMsIGVzcGVjaWFsbHkgd2VsbC1mb3JtZWRuZXNzIGNoZWNraW5nCisgICAgICAgIGFuZCBwcm9wZXIgUEVyZWYgZXh0ZW5zaW9ucyBpbiBleHRlcm5hbCBzdWJzZXRzPC9saT4KKyAgICAgIDxsaT5EVEQgY29uZGl0aW9uYWwgc2VjdGlvbnM8L2xpPgorICAgICAgPGxpPlZhbGlkYXRpb24gbm93IGNvcnJlY3RseSBoYW5kbGUgZW50aXRpZXMgY29udGVudDwvbGk+CisgICAgICA8bGk+PGEgaHJlZj0iaHR0cDovL3JwbWZpbmQubmV0L3Rvb2xzL2dkb21lL21lc3NhZ2VzLzAwMzkuaHRtbCI+Y2hhbmdlCisgICAgICAgIHN0cnVjdHVyZXMgdG8gYWNjb21tb2RhdGUgRE9NPC9hPjwvbGk+CisgICAgPC91bD4KKyAgPC9saT4KKyAgPGxpPlNlcmlvdXMgcHJvZ3Jlc3Mgd2VyZSBtYWRlIHRvd2FyZCBjb21wbGlhbmNlLCA8YSBocmVmPSJjb25mL3Jlc3VsdC5odG1sIj5oZXJlIGFyZSB0aGUgcmVzdWx0IG9mIHRoZSB0ZXN0PC9hPiBhZ2FpbnN0IHRoZQorICAgIE9BU0lTIHRlc3RzdWl0ZSAoZXhjZXB0IHRoZSBKYXBhbmVzZSB0ZXN0cyBzaW5jZSBJIGRvbid0IHN1cHBvcnQgdGhhdAorICAgIGVuY29kaW5nIHlldCkuIFRoaXMgVVJMIGlzIHJlYnVpbHQgZXZlcnkgY291cGxlIG9mIGhvdXJzIHVzaW5nIHRoZSBDVlMKKyAgICBoZWFkIHZlcnNpb24uPC9saT4KKzwvdWw+PGgzPjEuOC43OiBNYXIgNiAyMDAwPC9oMz48dWw+CisgIDxsaT5UaGlzIGlzIGEgYnVnIGZpeCByZWxlYXNlOjwvbGk+CisgIDxsaT5JdCBpcyBwb3NzaWJsZSB0byBkaXNhYmxlIHRoZSBpZ25vcmFibGUgYmxhbmtzIGhldXJpc3RpYyB1c2VkIGJ5CisgICAgbGlieG1sLTEueCwgYSBuZXcgZnVuY3Rpb24gIHhtbEtlZXBCbGFua3NEZWZhdWx0KDApIHdpbGwgYWxsb3cgdGhpcy4gTm90ZQorICAgIHRoYXQgZm9yIGFkaGVyZW5jZSB0byBYTUwgc3BlYywgdGhpcyBiZWhhdmlvdXIgd2lsbCBiZSBkaXNhYmxlZCBieQorICAgIGRlZmF1bHQgaW4gMi54IC4gVGhlIHNhbWUgZnVuY3Rpb24gd2lsbCBhbGxvdyB0byBrZWVwIGNvbXBhdGliaWxpdHkgZm9yCisgICAgb2xkIGNvZGUuPC9saT4KKyAgPGxpPkJsYW5rcyBpbiAmbHQ7YSZndDsgICZsdDsvYSZndDsgY29uc3RydWN0cyBhcmUgbm90IGlnbm9yZWQgYW55bW9yZSwKKyAgICBhdm9pZGluZyBoZXVyaXN0aWMgaXMgcmVhbGx5IHRoZSBSaWdodCBXYXkgOi1cPC9saT4KKyAgPGxpPlRoZSB1bmNoZWNrZWQgdXNlIG9mIHNucHJpbnRmIHdoaWNoIHdhcyBicmVha2luZyBsaWJ4bWwtMS44LjYKKyAgICBjb21waWxhdGlvbiBvbiBzb21lIHBsYXRmb3JtcyBoYXMgYmVlbiBmaXhlZDwvbGk+CisgIDxsaT5uYW5vZnRwLmMgbmFub2h0dHAuYzogRml4ZWQgJyMnIGFuZCAnPycgc3RyaXBwaW5nIHdoZW4gcHJvY2Vzc2luZworICBVUklzPC9saT4KKzwvdWw+PGgzPjEuOC42OiBKYW4gMzEgMjAwMDwvaDM+PHVsPgorICA8bGk+YWRkZWQgYSBuYW5vRlRQIHRyYW5zcG9ydCBtb2R1bGUsIGRlYnVnZ2VkIHVudGlsIHRoZSBuZXcgdmVyc2lvbiBvZiA8YSBocmVmPSJodHRwOi8vcnBtZmluZC5uZXQvbGludXgvcnBtMmh0bWwvcnBtZmluZC5odG1sIj5ycG1maW5kPC9hPiBjYW4gdXNlCisgICAgaXQgd2l0aG91dCB0cm91YmxlczwvbGk+Cis8L3VsPjxoMz4xLjguNTogSmFuIDIxIDIwMDA8L2gzPjx1bD4KKyAgPGxpPmFkZGluZyBBUElzIHRvIHBhcnNlIGEgd2VsbCBiYWxhbmNlZCBjaHVuayBvZiBYTUwgKHByb2R1Y3Rpb24gPGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLXhtbCNOVC1jb250ZW50Ij5bNDNdIGNvbnRlbnQ8L2E+IG9mIHRoZQorICAgIFhNTCBzcGVjKTwvbGk+CisgIDxsaT5maXhlZCBhIGhpZGVvdXMgYnVnIGluIHhtbEdldFByb3AgcG9pbnRlZCBieSBSdW5lLkRqdXJodXVzQGZhc3Qubm88L2xpPgorICA8bGk+Sm9keSBHb2xkYmVyZyAmbHQ7amdvbGRiZXJnQGhvbWUuY29tJmd0OyBwcm92aWRlZCBhbm90aGVyIHBhdGNoIHRyeWluZworICAgIHRvIHNvbHZlIHRoZSB6bGliIGNoZWNrcyBwcm9ibGVtczwvbGk+CisgIDxsaT5UaGUgY3VycmVudCBzdGF0ZSBpbiBnbm9tZSBDVlMgYmFzZSBpcyBleHBlY3RlZCB0byBzaGlwIGFzIDEuOC41IHdpdGgKKyAgICBnbnVtZXJpYyBzb29uPC9saT4KKzwvdWw+PGgzPjEuOC40OiBKYW4gMTMgMjAwMDwvaDM+PHVsPgorICA8bGk+YnVnIGZpeGVzLCByZWludHJvZHVjZWQgeG1sTmV3R2xvYmFsTnMoKSwgZml4ZWQgeG1sTmV3TnMoKTwvbGk+CisgIDxsaT5hbGwgZXhpdCgpIGNhbGwgc2hvdWxkIGhhdmUgYmVlbiByZW1vdmVkIGZyb20gbGlieG1sPC9saT4KKyAgPGxpPmZpeGVkIGEgcHJvYmxlbSB3aXRoIElOQ0xVREVfV0lOU09DSyBvbiBXSU4zMiBwbGF0Zm9ybTwvbGk+CisgIDxsaT5hZGRlZCBuZXdEb2NGcmFnbWVudCgpPC9saT4KKzwvdWw+PGgzPjEuOC4zOiBKYW4gNSAyMDAwPC9oMz48dWw+CisgIDxsaT5hIFB1c2ggaW50ZXJmYWNlIGZvciB0aGUgWE1MIGFuZCBIVE1MIHBhcnNlcnM8L2xpPgorICA8bGk+YSBzaGVsbC1saWtlIGludGVyZmFjZSB0byB0aGUgZG9jdW1lbnQgdHJlZSAodHJ5IHRlc3RlciAtLXNoZWxsIDotKTwvbGk+CisgIDxsaT5sb3RzIG9mIGJ1ZyBmaXhlcyBhbmQgaW1wcm92ZW1lbnQgYWRkZWQgb3ZlciBYTWFzIGhvbGlkYXlzPC9saT4KKyAgPGxpPmZpeGVkIHRoZSBEVEQgcGFyc2luZyBjb2RlIHRvIHdvcmsgd2l0aCB0aGUgeGh0bWwgRFREPC9saT4KKyAgPGxpPmFkZGVkIHhtbFJlbW92ZVByb3AoKSwgeG1sUmVtb3ZlSUQoKSBhbmQgeG1sUmVtb3ZlUmVmKCk8L2xpPgorICA8bGk+Rml4ZWQgYnVncyBpbiB4bWxOZXdOcygpPC9saT4KKyAgPGxpPkV4dGVybmFsIGVudGl0eSBsb2FkaW5nIGNvZGUgaGFzIGJlZW4gcmV2YW1wZWQsIG5vdyBpdCB1c2VzCisgICAgeG1sTG9hZEV4dGVybmFsRW50aXR5KCksIHNvbWUgZml4IG9uIGVudGl0aWVzIHByb2Nlc3Npbmcgd2VyZSBhZGRlZDwvbGk+CisgIDxsaT5jbGVhbmVkIHVwIFdJTjMyIGluY2x1ZGVzIG9mIHNvY2tldCBzdHVmZjwvbGk+Cis8L3VsPjxoMz4xLjguMjogRGVjIDIxIDE5OTk8L2gzPjx1bD4KKyAgPGxpPkkgZ290IGFub3RoZXIgcHJvYmxlbSB3aXRoIGluY2x1ZGVzIGFuZCBDKyssIEkgaG9wZSB0aGlzIGlzc3VlIGlzIGZpeGVkCisgICAgZm9yIGdvb2QgdGhpcyB0aW1lPC9saT4KKyAgPGxpPkFkZGVkIGEgZmV3IHRyZWUgbW9kaWZpY2F0aW9uIGZ1bmN0aW9uczogeG1sUmVwbGFjZU5vZGUsCisgICAgeG1sQWRkUHJldlNpYmxpbmcsIHhtbEFkZE5leHRTaWJsaW5nLCB4bWxOb2RlU2V0TmFtZSBhbmQKKyAgICB4bWxEb2NTZXRSb290RWxlbWVudDwvbGk+CisgIDxsaT5UcmllZCB0byBpbXByb3ZlIHRoZSBIVE1MIG91dHB1dCB3aXRoIGhlbHAgZnJvbSA8YSBocmVmPSJtYWlsdG86Y2xhaGV5QHVtaWNoLmVkdSI+Q2hyaXMgTGFoZXk8L2E+PC9saT4KKzwvdWw+PGgzPjEuOC4xOiBEZWMgMTggMTk5OTwvaDM+PHVsPgorICA8bGk+dmFyaW91cyBwYXRjaGVzIHRvIGF2b2lkIHRyb3VibGVzIHdoZW4gdXNpbmcgbGlieG1sIHdpdGggQysrIGNvbXBpbGVycworICAgIHRoZSAibmFtZXNwYWNlIiBrZXl3b3JkIGFuZCBDIGVzY2FwaW5nIGluIGluY2x1ZGUgZmlsZXM8L2xpPgorICA8bGk+YSBwcm9ibGVtIGluIG9uZSBvZiB0aGUgY29yZSBtYWNyb3MgSVNfQ0hBUiB3YXMgY29ycmVjdGVkPC9saT4KKyAgPGxpPmZpeGVkIGEgYnVnIGludHJvZHVjZWQgaW4gMS44LjAgYnJlYWtpbmcgZGVmYXVsdCBuYW1lc3BhY2UgcHJvY2Vzc2luZywKKyAgICBhbmQgbW9yZSBzcGVjaWZpY2FsbHkgdGhlIERpYSBhcHBsaWNhdGlvbjwvbGk+CisgIDxsaT5maXhlZCBhIHBvc3RlcmlvcmkgdmFsaWRhdGlvbiAodmFsaWRhdGlvbiBhZnRlciBwYXJzaW5nLCBvciBieSB1c2luZyBhCisgICAgRHRkIG5vdCBzcGVjaWZpZWQgaW4gdGhlIG9yaWdpbmFsIGRvY3VtZW50KTwvbGk+CisgIDxsaT5maXhlZCBhIGJ1ZyBpbjwvbGk+Cis8L3VsPjxoMz4xLjguMDogRGVjIDEyIDE5OTk8L2gzPjx1bD4KKyAgPGxpPmNsZWFudXAsIGVzcGVjaWFsbHkgbWVtb3J5IHdpc2U8L2xpPgorICA8bGk+dGhlIHBhcnNlciBzaG91bGQgYmUgbW9yZSByZWxpYWJsZSwgZXNwZWNpYWxseSB0aGUgSFRNTCBvbmUsIGl0IHNob3VsZAorICAgIG5vdCBjcmFzaCwgd2hhdGV2ZXIgdGhlIGlucHV0ICE8L2xpPgorICA8bGk+SW50ZWdyYXRlZCB2YXJpb3VzIHBhdGNoZXMsIGVzcGVjaWFsbHkgYSBzcGVlZHVwIGltcHJvdmVtZW50IGZvciBsYXJnZQorICAgIGRhdGFzZXQgZnJvbSA8YSBocmVmPSJtYWlsdG86Y255Z2FyZEBiZWxsYXRsYW50aWMubmV0Ij5DYXJsIE55Z2FyZDwvYT4sCisgICAgY29uZmlndXJlIHdpdGggLS13aXRoLWJ1ZmZlcnMgdG8gZW5hYmxlIHRoZW0uPC9saT4KKyAgPGxpPmF0dHJpYnV0ZSBub3JtYWxpemF0aW9uLCBvb3BzIHNob3VsZCBoYXZlIGJlZW4gYWRkZWQgbG9uZyBhZ28gITwvbGk+CisgIDxsaT5hdHRyaWJ1dGVzIGRlZmF1bHRlZCBmcm9tIERURHMgc2hvdWxkIGJlIGF2YWlsYWJsZSwgeG1sU2V0UHJvcCgpIG5vdworICAgIGRvZXMgZW50aXRpZXMgZXNjYXBpbmcgYnkgZGVmYXVsdC48L2xpPgorPC91bD48aDM+MS43LjQ6IE9jdCAyNSAxOTk5PC9oMz48dWw+CisgIDxsaT5Mb3RzIG9mIEhUTUwgaW1wcm92ZW1lbnQ8L2xpPgorICA8bGk+Rml4ZWQgc29tZSBlcnJvcnMgd2hlbiBzYXZpbmcgYm90aCBYTUwgYW5kIEhUTUw8L2xpPgorICA8bGk+TW9yZSBleGFtcGxlcywgdGhlIHJlZ3Jlc3Npb24gdGVzdHMgc2hvdWxkIG5vdyBsb29rIGNsZWFuPC9saT4KKyAgPGxpPkZpeGVkIGEgYnVnIHdpdGggY29udGlndW91cyBjaGFycmVmPC9saT4KKzwvdWw+PGgzPjEuNy4zOiBTZXAgMjkgMTk5OTwvaDM+PHVsPgorICA8bGk+cG9ydGFiaWxpdHkgcHJvYmxlbXMgZml4ZWQ8L2xpPgorICA8bGk+c25wcmludGYgd2FzIHVzZWQgdW5jb25kaXRpb25hbGx5LCBsZWFkaW5nIHRvIGxpbmsgcHJvYmxlbXMgb24gc3lzdGVtCisgICAgd2VyZSBpdCdzIG5vdCBhdmFpbGFibGUsIGZpeGVkPC9saT4KKzwvdWw+PGgzPjEuNy4xOiBTZXAgMjQgMTk5OTwvaDM+PHVsPgorICA8bGk+VGhlIGJhc2ljIHR5cGUgZm9yIHN0cmluZ3MgbWFuaXB1bGF0ZWQgYnkgbGlieG1sIGhhcyBiZWVuIHJlbmFtZWQgaW4KKyAgICAxLjcuMSBmcm9tIDxzdHJvbmc+Q0hBUjwvc3Ryb25nPiB0byA8c3Ryb25nPnhtbENoYXI8L3N0cm9uZz4uIFRoZSByZWFzb24KKyAgICBpcyB0aGF0IENIQVIgd2FzIGNvbmZsaWN0aW5nIHdpdGggYSBwcmVkZWZpbmVkIHR5cGUgb24gV2luZG93cy4gSG93ZXZlcgorICAgIG9uIG5vbiBXSU4zMiBlbnZpcm9ubWVudCwgY29tcGF0aWJpbGl0eSBpcyBwcm92aWRlZCBieSB0aGUgd2F5IG9mICBhCisgICAgPHN0cm9uZz4jZGVmaW5lIDwvc3Ryb25nPi48L2xpPgorICA8bGk+Q2hhbmdlZCBhbm90aGVyIGVycm9yIDogdGhlIHVzZSBvZiBhIHN0cnVjdHVyZSBmaWVsZCBjYWxsZWQgZXJybm8sIGFuZAorICAgIGxlYWRpbmcgdG8gdHJvdWJsZXMgb24gcGxhdGZvcm1zIHdoZXJlIGl0J3MgYSBtYWNybzwvbGk+Cis8L3VsPjxoMz4xLjcuMDogU2VwIDIzIDE5OTk8L2gzPjx1bD4KKyAgPGxpPkFkZGVkIHRoZSBhYmlsaXR5IHRvIGZldGNoIHJlbW90ZSBEVEQgb3IgcGFyc2VkIGVudGl0aWVzLCBzZWUgdGhlIDxhIGhyZWY9Imh0bWwvbGlieG1sLW5hbm9odHRwLmh0bWwiPm5hbm9odHRwPC9hPiBtb2R1bGUuPC9saT4KKyAgPGxpPkFkZGVkIGFuIGVycm5vIHRvIHJlcG9ydCBlcnJvcnMgYnkgYW5vdGhlciBtZWFuIHRoYW4gYSBzaW1wbGUgcHJpbnRmCisgICAgbGlrZSBjYWxsYmFjazwvbGk+CisgIDxsaT5GaW5pc2hlZCBJRC9JRFJFRiBzdXBwb3J0IGFuZCBjaGVja2luZyB3aGVuIHZhbGlkYXRpb248L2xpPgorICA8bGk+U2VyaW91cyBtZW1vcnkgbGVha3MgZml4ZWQgKHRoZXJlIGlzIG5vdyBhIDxhIGhyZWY9Imh0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sIj5tZW1vcnkgd3JhcHBlcjwvYT4gbW9kdWxlKTwvbGk+CisgIDxsaT5JbXByb3ZlbWVudCBvZiA8YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi94cGF0aCI+WFBhdGg8L2E+CisgICAgaW1wbGVtZW50YXRpb248L2xpPgorICA8bGk+QWRkZWQgYW4gSFRNTCBwYXJzZXIgZnJvbnQtZW5kPC9saT4KKzwvdWw+PHA+PGEgaHJlZj0iYnVncy5odG1sIj5EYW5pZWwgVmVpbGxhcmQ8L2E+PC9wPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9uZXdzLnhzbCBiL2xpYnhtbDIvZG9jL25ld3MueHNsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUwMDg5ZWIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9uZXdzLnhzbApAQCAtMCwwICsxLDQ0IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzx4c2w6c3R5bGVzaGVldCB4bWxuczp4c2w9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvWFNML1RyYW5zZm9ybSIKKyAgICAgICAgICAgICAgICB4bWxuczp4aHRtbD0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIKKyAgICAgICAgICAgICAgICB2ZXJzaW9uPSIxLjAiPgorICA8eHNsOm91dHB1dCBtZXRob2Q9InRleHQiIGVuY29kaW5nPSJVVEYtOCIvPgorCisgIDx4c2w6dGVtcGxhdGUgbWF0Y2g9Ii8iPgorICAgIDx4c2w6dGV4dD4KKyAgICAgICAgTkVXUyBmaWxlIGZvciBsaWJ4bWwyCisKKyAgTm90ZSB0aGF0IHRoaXMgaXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgbmV3cyB3ZWJwYWdlIGF0OgorICAgICAgIGh0dHA6Ly94bWxzb2Z0Lm9yZy9uZXdzLmh0bWwKKworPC94c2w6dGV4dD4KKyAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9Ii8veGh0bWw6aDNbMV0vLi4iLz4KKyAgPC94c2w6dGVtcGxhdGU+CisgIDx4c2w6dGVtcGxhdGUgbWF0Y2g9InhodG1sOmgzIj4KKyAgICA8eHNsOnRleHQ+Cis8L3hzbDp0ZXh0PgorICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzLz4KKyAgICA8eHNsOnRleHQ+OgorPC94c2w6dGV4dD4KKyAgPC94c2w6dGVtcGxhdGU+CisgIDx4c2w6dGVtcGxhdGUgbWF0Y2g9InhodG1sOnVsIj4KKyAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9Ii4vL3hodG1sOmxpIi8+CisgICAgPHhzbDp0ZXh0PgorPC94c2w6dGV4dD4KKyAgPC94c2w6dGVtcGxhdGU+CisgIDx4c2w6dGVtcGxhdGUgbWF0Y2g9InhodG1sOmxpIj4KKyAgICA8eHNsOnRleHQ+ICAgLSA8L3hzbDp0ZXh0PgorICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIuIi8+CisgICAgPHhzbDp0ZXh0PgorPC94c2w6dGV4dD4KKyAgPC94c2w6dGVtcGxhdGU+CisgIDx4c2w6dGVtcGxhdGUgbWF0Y2g9InhodG1sOmEiPgorICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIuIi8+CisgICAgPHhzbDp0ZXh0PiBhdCAKKzwveHNsOnRleHQ+CisgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBocmVmIi8+CisgICAgPHhzbDp0ZXh0PgorPC94c2w6dGV4dD4KKyAgPC94c2w6dGVtcGxhdGU+Cis8L3hzbDpzdHlsZXNoZWV0PgorCmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9weXRob24uaHRtbCBiL2xpYnhtbDIvZG9jL3B5dGhvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJkNTI2NDkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9weXRob24uaHRtbApAQCAtMCwwICsxLDI1NCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIj4KKzxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj48aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz48bGluayByZWw9IlNIT1JUQ1VUIElDT04iIGhyZWY9Ii9mYXZpY29uLmljbyIgLz48c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorVEQge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0JPRFkge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYTsgbWFyZ2luLXRvcDogMmVtOyBtYXJnaW4tbGVmdDogMGVtOyBtYXJnaW4tcmlnaHQ6IDBlbX0KK0gxIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMiB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDMge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0E6bGluaywgQTp2aXNpdGVkLCBBOmFjdGl2ZSB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIH0KKzwvc3R5bGU+PHRpdGxlPlB5dGhvbiBhbmQgYmluZGluZ3M8L3RpdGxlPjwvaGVhZD48Ym9keSBiZ2NvbG9yPSIjOGI3NzY1IiB0ZXh0PSIjMDAwMDAwIiBsaW5rPSIjYTA2MDYwIiB2bGluaz0iIzAwMDAwMCI+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjEwMCUiIGNlbGxwYWRkaW5nPSI1IiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCB3aWR0aD0iMTIwIj48YSBocmVmPSJodHRwOi8vc3dwYXQuZmZpaS5vcmcvIj48aW1nIHNyYz0iZXBhdGVudHMucG5nIiBhbHQ9IkFjdGlvbiBhZ2FpbnN0IHNvZnR3YXJlIHBhdGVudHMiIC8+PC9hPjwvdGQ+PHRkIHdpZHRoPSIxODAiPjxhIGhyZWY9Imh0dHA6Ly93d3cuZ25vbWUub3JnLyI+PGltZyBzcmM9Imdub21lMi5wbmciIGFsdD0iR25vbWUyIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1N0YXR1cyI+PGltZyBzcmM9InczYy5wbmciIGFsdD0iVzNDIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cucmVkaGF0LmNvbS8iPjxpbWcgc3JjPSJyZWRoYXQuZ2lmIiBhbHQ9IlJlZCBIYXQgTG9nbyIgLz48L2E+PGRpdiBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnLyI+PGltZyBzcmM9IkxpYnhtbDItTG9nby0xODB4MTY4LmdpZiIgYWx0PSJNYWRlIHdpdGggTGlieG1sMiBMb2dvIiAvPjwvYT48L2Rpdj48L3RkPjx0ZD48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iOTAlIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyIgYmdjb2xvcj0iI2ZmZmFjZCI+PHRyPjx0ZCBhbGlnbj0iY2VudGVyIj48aDE+VGhlIFhNTCBDIHBhcnNlciBhbmQgdG9vbGtpdCBvZiBHbm9tZTwvaDE+PGgyPlB5dGhvbiBhbmQgYmluZGluZ3M8L2gyPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI0IiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCB2YWxpZ249InRvcCIgd2lkdGg9IjIwMCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+RGV2ZWxvcGVyIE1lbnU8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PGZvcm0gYWN0aW9uPSJzZWFyY2gucGhwIiBlbmN0eXBlPSJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiIG1ldGhvZD0iZ2V0Ij48aW5wdXQgbmFtZT0icXVlcnkiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iIiAvPjxpbnB1dCBuYW1lPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNlYXJjaCAuLi4iIC8+PC9mb3JtPjx1bD48bGk+PGEgaHJlZj0iaW5kZXguaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPk1haW4gTWVudTwvYT48L2xpPjxsaT48YSBocmVmPSJodG1sL2luZGV4Lmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5SZWZlcmVuY2UgTWFudWFsPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImV4YW1wbGVzL2luZGV4Lmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5Db2RlIEV4YW1wbGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imd1aWRlbGluZXMuaHRtbCI+WE1MIEd1aWRlbGluZXM8L2E+PC9saT48bGk+PGEgaHJlZj0idHV0b3JpYWwvaW5kZXguaHRtbCI+VHV0b3JpYWw8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1scmVhZGVyLmh0bWwiPlRoZSBSZWFkZXIgSW50ZXJmYWNlPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkNoYW5nZUxvZy5odG1sIj5DaGFuZ2VMb2c8L2E+PC9saT48bGk+PGEgaHJlZj0iWFNMVC5odG1sIj5YU0xUPC9hPjwvbGk+PGxpPjxhIGhyZWY9InB5dGhvbi5odG1sIj5QeXRob24gYW5kIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImFyY2hpdGVjdHVyZS5odG1sIj5saWJ4bWwyIGFyY2hpdGVjdHVyZTwvYT48L2xpPjxsaT48YSBocmVmPSJ0cmVlLmh0bWwiPlRoZSB0cmVlIG91dHB1dDwvYT48L2xpPjxsaT48YSBocmVmPSJpbnRlcmZhY2UuaHRtbCI+VGhlIFNBWCBpbnRlcmZhY2U8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1sbWVtLmh0bWwiPk1lbW9yeSBNYW5hZ2VtZW50PC9hPjwvbGk+PGxpPjxhIGhyZWY9InhtbGlvLmh0bWwiPkkvTyBJbnRlcmZhY2VzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnJhcnkuaHRtbCI+VGhlIHBhcnNlciBpbnRlcmZhY2VzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImVudGl0aWVzLmh0bWwiPkVudGl0aWVzIG9yIG5vIGVudGl0aWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Im5hbWVzcGFjZXMuaHRtbCI+TmFtZXNwYWNlczwvYT48L2xpPjxsaT48YSBocmVmPSJ1cGdyYWRlLmh0bWwiPlVwZ3JhZGluZyAxLnggY29kZTwvYT48L2xpPjxsaT48YSBocmVmPSJ0aHJlYWRzLmh0bWwiPlRocmVhZCBzYWZldHk8L2E+PC9saT48bGk+PGEgaHJlZj0iRE9NLmh0bWwiPkRPTSBQcmluY2lwbGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImV4YW1wbGUuaHRtbCI+QSByZWFsIGV4YW1wbGU8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1sLmh0bWwiPmZsYXQgcGFnZTwvYT4sIDxhIGhyZWY9InNpdGUueHNsIj5zdHlsZXNoZWV0PC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+QVBJIEluZGV4ZXM8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSJBUEljaHVuazAuaHRtbCI+QWxwaGFiZXRpYzwvYT48L2xpPjxsaT48YSBocmVmPSJBUEljb25zdHJ1Y3RvcnMuaHRtbCI+Q29uc3RydWN0b3JzPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkFQSWZ1bmN0aW9ucy5odG1sIj5GdW5jdGlvbnMvVHlwZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iQVBJZmlsZXMuaHRtbCI+TW9kdWxlczwvYT48L2xpPjxsaT48YSBocmVmPSJBUElzeW1ib2xzLmh0bWwiPlN5bWJvbHM8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5SZWxhdGVkIGxpbmtzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iaHR0cDovL21haWwuZ25vbWUub3JnL2FyY2hpdmVzL3htbC8iPk1haWwgYXJjaGl2ZTwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvWFNMVC8iPlhTTFQgbGlieHNsdDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vcGhkLmNzLnVuaWJvLml0L2dkb21lMi8iPkRPTSBnZG9tZTI8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5hbGVrc2V5LmNvbS94bWxzZWMvIj5YTUwtRFNpZyB4bWxzZWM8L2E+PC9saT48bGk+PGEgaHJlZj0iZnRwOi8veG1sc29mdC5vcmcvIj5GVFA8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56bGF0a292aWMuY29tL3Byb2plY3RzL2xpYnhtbC8iPldpbmRvd3MgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL29wZW5jc3cub3JnL3BhY2thZ2VzL2xpYnhtbDIiPlNvbGFyaXMgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5leHBsYWluLmNvbS5hdS9vc3MvbGlieG1sMnhzbHQuaHRtbCI+TWFjT3NYIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9seG1sLmRlLyI+bHhtbCBQeXRob24gYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2NwYW4udXdpbm5pcGVnLmNhL2Rpc3QvWE1MLUxpYlhNTCI+UGVybCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1scGx1c3BsdXMuc291cmNlZm9yZ2UubmV0LyI+QysrIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemVuZC5jb20vcGhwNS9hcnRpY2xlcy9waHA1LXhtbHBocC5waHAjSGVhZGluZzQiPlBIUCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2xpYnhtbDItcGFzLyI+UGFzY2FsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWwucnVieWZvcmdlLm9yZy8iPlJ1YnkgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3RjbHhtbC5zb3VyY2Vmb3JnZS5uZXQvIj5UY2wgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9idWdsaXN0LmNnaT9wcm9kdWN0PWxpYnhtbDIiPkJ1ZyBUcmFja2VyPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIzIiBjZWxsc3BhY2luZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHA+VGhlcmUgYXJlIGEgbnVtYmVyIG9mIGxhbmd1YWdlIGJpbmRpbmdzIGFuZCB3cmFwcGVycyBhdmFpbGFibGUgZm9yCitsaWJ4bWwyLCB0aGUgbGlzdCBiZWxvdyBpcyBub3QgZXhoYXVzdGl2ZS4gUGxlYXNlIGNvbnRhY3QgdGhlIDxhIGhyZWY9Imh0dHA6Ly9tYWlsLmdub21lLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3htbC1iaW5kaW5ncyI+eG1sLWJpbmRpbmdzQGdub21lLm9yZzwvYT4KKyg8YSBocmVmPSJodHRwOi8vbWFpbC5nbm9tZS5vcmcvYXJjaGl2ZXMveG1sLWJpbmRpbmdzLyI+YXJjaGl2ZXM8L2E+KSBpbgorb3JkZXIgdG8gZ2V0IHVwZGF0ZXMgdG8gdGhpcyBsaXN0IG9yIHRvIGRpc2N1c3MgdGhlIHNwZWNpZmljIHRvcGljIG9mIGxpYnhtbDIKK29yIGxpYnhzbHQgd3JhcHBlcnMgb3IgYmluZGluZ3M6PC9wPjx1bD4KKyAgPGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWxwbHVzcGx1cy5zb3VyY2Vmb3JnZS5uZXQvIj5MaWJ4bWwrKzwvYT4gc2VlbXMgdGhlCisgICAgbW9zdCB1cC10by1kYXRlIEMrKyBiaW5kaW5ncyBmb3IgbGlieG1sMiwgY2hlY2sgdGhlIDxhIGhyZWY9Imh0dHA6Ly9saWJ4bWxwbHVzcGx1cy5zb3VyY2Vmb3JnZS5uZXQvcmVmZXJlbmNlL2h0bWwvaGllcmFyY2h5Lmh0bWwiPmRvY3VtZW50YXRpb248L2E+CisgICAgYW5kIHRoZSA8YSBocmVmPSJodHRwOi8vY3ZzLnNvdXJjZWZvcmdlLm5ldC9jZ2ktYmluL3ZpZXdjdnMuY2dpL2xpYnhtbHBsdXNwbHVzL2xpYnhtbCUyYiUyYi9leGFtcGxlcy8iPmV4YW1wbGVzPC9hPi48L2xpPgorICA8bGk+VGhlcmUgaXMgYW5vdGhlciA8YSBocmVmPSJodHRwOi8vbGliZ2RvbWUtY3BwLmJlcmxpb3MuZGUvIj5DKysgd3JhcHBlcgorICAgIGJhc2VkIG9uIHRoZSBnZG9tZTIgYmluZGluZ3M8L2E+IG1haW50YWluZWQgYnkgVG9iaWFzIFBldGVycy48L2xpPgorICA8bGk+YW5kIGEgdGhpcmQgQysrIHdyYXBwZXIgYnkgUGV0ZXIgSm9uZXMgJmx0O3Bqb25lc0BwbWFkZS5vcmcmZ3Q7CisgICAgPHA+V2Vic2l0ZTogPGEgaHJlZj0iaHR0cDovL3BtYWRlLm9yZy9wam9uZXMvc29mdHdhcmUveG1sd3JhcHAvIj5odHRwOi8vcG1hZGUub3JnL3Bqb25lcy9zb2Z0d2FyZS94bWx3cmFwcC88L2E+PC9wPgorICA8L2xpPgorICA8bGk+WE1MOjpMaWJYTUwgPGEgaHJlZj0iaHR0cDovL2NwYW4udXdpbm5pcGVnLmNhL2Rpc3QvWE1MLUxpYlhNTCI+UGVybAorICAgICAgYmluZGluZ3M8L2E+IGFyZSBhdmFpbGFibGUgb24gQ1BBTiwgYXMgd2VsbCBhcyBYTUw6OkxpYlhTTFQKKyAgICAgIDxhIGhyZWY9Imh0dHA6Ly9jcGFuLnV3aW5uaXBlZy5jYS9kaXN0L1hNTC1MaWJYU0xUIj5QZXJsIGxpYnhzbHQKKyAgICAgIGJpbmRpbmdzPC9hPi48L2xpPgorICA8bGk+SWYgeW91J3JlIGludGVyZXN0ZWQgaW50byBzY3JpcHRpbmcgWE1MIHByb2Nlc3NpbmcsIGhhdmUgYSBsb29rIGF0IDxhIGhyZWY9Imh0dHA6Ly94c2guc291cmNlZm9yZ2UubmV0LyI+WFNIPC9hPiBhbiBYTUwgZWRpdGluZyBzaGVsbCBiYXNlZCBvbgorICAgIExpYnhtbDIgUGVybCBiaW5kaW5ncy48L2xpPgorICA8bGk+PGEgaHJlZj0ibWFpbHRvOmRrdWhsbWFuQGN1dHRlci5yZXh4LmNvbSI+RGF2ZSBLdWhsbWFuPC9hPiBwcm92aWRlcyBhbgorICAgIGVhcmxpZXIgdmVyc2lvbiBvZiB0aGUgbGlieG1sL2xpYnhzbHQgPGEgaHJlZj0iaHR0cDovL3d3dy5yZXh4LmNvbS9+ZGt1aGxtYW4iPndyYXBwZXJzIGZvciBQeXRob248L2E+LjwvbGk+CisgIDxsaT5Hb3BhbC5WIGFuZCBQZXRlciBNaW50ZW4gZGV2ZWxvcCA8YSBocmVmPSJodHRwOi8vc2F2YW5uYWguZ251Lm9yZy9wcm9qZWN0cy9saWJ4bWxzaGFycCI+bGlieG1sIzwvYT4sIGEgc2V0IG9mCisgICAgQyMgbGlieG1sMiBiaW5kaW5ncy48L2xpPgorICA8bGk+UGV0ciBLb3plbGthIHByb3ZpZGVzIDxhIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbGlieG1sMi1wYXMiPlBhc2NhbCB1bml0cyB0byBnbHVlCisgICAgbGlieG1sMjwvYT4gd2l0aCBLeWxpeCwgRGVscGhpIGFuZCBvdGhlciBQYXNjYWwgY29tcGlsZXJzLjwvbGk+CisgIDxsaT5Vd2UgRmVjaG5lciBhbHNvIHByb3ZpZGVzIDxhIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvaWRvbTItcGFzLyI+aWRvbTI8L2E+LCBhIERPTTIKKyAgICBpbXBsZW1lbnRhdGlvbiBmb3IgS3lsaXgyL0Q1L0Q2IGZyb20gQm9ybGFuZC48L2xpPgorICA8bGk+VGhlcmUgaXMgPGEgaHJlZj0iaHR0cDovL2xpYnhtbC5ydWJ5Zm9yZ2Uub3JnLyI+YmluZGluZ3MgZm9yIFJ1Ynk8L2E+IAorICAgIGFuZCBsaWJ4bWwyIGJpbmRpbmdzIGFyZSBhbHNvIGF2YWlsYWJsZSBpbiBSdWJ5IHRocm91Z2ggdGhlIDxhIGhyZWY9Imh0dHA6Ly9saWJnZG9tZS1ydWJ5LmJlcmxpb3MuZGUvIj5saWJnZG9tZS1ydWJ5PC9hPiBtb2R1bGUKKyAgICBtYWludGFpbmVkIGJ5IFRvYmlhcyBQZXRlcnMuPC9saT4KKyAgPGxpPlN0ZXZlIEJhbGwgYW5kIGNvbnRyaWJ1dG9ycyBtYWludGFpbnMgPGEgaHJlZj0iaHR0cDovL3RjbHhtbC5zb3VyY2Vmb3JnZS5uZXQvIj5saWJ4bWwyIGFuZCBsaWJ4c2x0IGJpbmRpbmdzIGZvcgorICAgIFRjbDwvYT4uPC9saT4KKyAgPGxpPmxpYnhtbDIgYW5kIGxpYnhzbHQgYXJlIHRoZSBkZWZhdWx0IFhNTCBsaWJyYXJpZXMgZm9yIFBIUDUuPC9saT4KKyAgPGxpPjxhIGhyZWY9Imh0dHA6Ly9zYXZhbm5haC5nbnUub3JnL3Byb2plY3RzL2NsYXNzcGF0aHgvIj5MaWJ4bWxKPC9hPiBpcworICAgIGFuIGVmZm9ydCB0byBjcmVhdGUgYSAxMDAlIEpBWFAtY29tcGF0aWJsZSBKYXZhIHdyYXBwZXIgZm9yIGxpYnhtbDIgYW5kCisgICAgbGlieHNsdCBhcyBwYXJ0IG9mIEdOVSBDbGFzc3BhdGhYIHByb2plY3QuPC9saT4KKyAgPGxpPlBhdHJpY2sgTWNQaGVlIHByb3ZpZGVzIFJleHggYmluZGluZ3MgZm9mIGxpYnhtbDIgYW5kIGxpYnhzbHQsIGxvb2sgZm9yCisgICAgPGEgaHJlZj0iaHR0cDovL3d3dy5pbnRlcmxvZy5jb20vfnB0am0vc29mdHdhcmUuaHRtbCI+UmV4eFhNTDwvYT4uPC9saT4KKyAgPGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuc2F0aW1hZ2UuZnIvc29mdHdhcmUvZW4veG1sX3N1aXRlLmh0bWwiPlNhdGltYWdlPC9hPgorICAgIHByb3ZpZGVzIDxhIGhyZWY9Imh0dHA6Ly93d3cuc2F0aW1hZ2UuZnIvc29mdHdhcmUvZW4vZG93bmxvYWRzX29zYXhlbi5odG1sIj5YTUxMaWIKKyAgICBvc2F4PC9hPi4gVGhpcyBpcyBhbiBvc2F4IGZvciBNYWMgT1MgWCB3aXRoIGEgc2V0IG9mIGNvbW1hbmRzIHRvCisgICAgaW1wbGVtZW50IGluIEFwcGxlU2NyaXB0IHRoZSBYTUwgRE9NLCBYUEFUSCBhbmQgWFNMVC4gQWxzbyBpbmNsdWRlcworICAgIGNvbW1hbmRzIGZvciBQcm9wZXJ0eS1saXN0cyAoQXBwbGUncyBmYXN0IGxvb2t1cCB0YWJsZSBYTUwgZm9ybWF0Lik8L2xpPgorICA8bGk+RnJhbmNlc2NvIE1vbnRvcnNpIGRldmVsb3BwZWQgPGEgaHJlZj0iaHR0cHM6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdC9zaG93ZmlsZXMucGhwP2dyb3VwX2lkPTUxMzA1JmFtcDtwYWNrYWdlX2lkPTQ1MTgyIj53eFhtbDI8L2E+CisgICAgd3JhcHBlcnMgdGhhdCBpbnRlcmZhY2UgbGlieG1sMiwgYWxsb3dpbmcgd3hXaWRnZXRzIGFwcGxpY2F0aW9ucyB0bworICAgIGxvYWQvc2F2ZS9lZGl0IFhNTCBpbnN0YW5jZXMuPC9saT4KKzwvdWw+PHA+VGhlIGRpc3RyaWJ1dGlvbiBpbmNsdWRlcyBhIHNldCBvZiBQeXRob24gYmluZGluZ3MsIHdoaWNoIGFyZSBndWFyYW50ZWVkCit0byBiZSBtYWludGFpbmVkIGFzIHBhcnQgb2YgdGhlIGxpYnJhcnkgaW4gdGhlIGZ1dHVyZSwgdGhvdWdoIHRoZSBQeXRob24KK2ludGVyZmFjZSBoYXZlIG5vdCB5ZXQgcmVhY2hlZCB0aGUgY29tcGxldGVuZXNzIG9mIHRoZSBDIEFQSS48L3A+PHA+Tm90ZSB0aGF0IHNvbWUgb2YgdGhlIFB5dGhvbiBwdXJpc3QgZGlzbGlrZSB0aGUgZGVmYXVsdCBzZXQgb2YgUHl0aG9uCitiaW5kaW5ncywgcmF0aGVyIHRoYW4gY29tcGxhaW5pbmcgSSBzdWdnZXN0IHRoZXkgaGF2ZSBhIGxvb2sgYXQgPGEgaHJlZj0iaHR0cDovL2x4bWwuZGUvIj5seG1sIHRoZSBtb3JlIHB5dGhvbmljIGJpbmRpbmdzIGZvciBsaWJ4bWwyCithbmQgbGlieHNsdDwvYT4gYW5kIDxhIGhyZWY9Imh0dHA6Ly9seG1sLmRlL21haWxpbmdsaXN0LyI+Y2hlY2sgdGhlIG1haWxpbmctbGlzdDwvYT4uPC9wPjxwPjxhIGhyZWY9Im1haWx0bzpzdGVwaGFuZS5iaWRvdWxAc29mdHdhcmVhZy5jb20iPlN0w4PCqXBoYW5lIEJpZG91bDwvYT4KK21haW50YWlucyA8YSBocmVmPSJodHRwOi8vdXNlcnMuc2t5bmV0LmJlL3NiaS9saWJ4bWwtcHl0aG9uLyI+YSBXaW5kb3dzIHBvcnQKK29mIHRoZSBQeXRob24gYmluZGluZ3M8L2E+LjwvcD48cD5Ob3RlIHRvIHBlb3BsZSBpbnRlcmVzdGVkIGluIGJ1aWxkaW5nIGJpbmRpbmdzLCB0aGUgQVBJIGlzIGZvcm1hbGl6ZWQgYXMKKzxhIGhyZWY9ImxpYnhtbDItYXBpLnhtbCI+YW4gWE1MIEFQSSBkZXNjcmlwdGlvbiBmaWxlPC9hPiB3aGljaCBhbGxvd3MgdG8KK2F1dG9tYXRlIGEgbGFyZ2UgcGFydCBvZiB0aGUgUHl0aG9uIGJpbmRpbmdzLCB0aGlzIGluY2x1ZGVzIGZ1bmN0aW9uCitkZXNjcmlwdGlvbnMsIGVudW1zLCBzdHJ1Y3R1cmVzLCB0eXBlZGVmcywgZXRjLi4uIFRoZSBQeXRob24gc2NyaXB0IHVzZWQgdG8KK2J1aWxkIHRoZSBiaW5kaW5ncyBpcyBweXRob24vZ2VuZXJhdG9yLnB5IGluIHRoZSBzb3VyY2UgZGlzdHJpYnV0aW9uLjwvcD48cD5UbyBpbnN0YWxsIHRoZSBQeXRob24gYmluZGluZ3MgdGhlcmUgYXJlIDIgb3B0aW9uczo8L3A+PHVsPgorICA8bGk+SWYgeW91IHVzZSBhbiBSUE0gYmFzZWQgZGlzdHJpYnV0aW9uLCBzaW1wbHkgaW5zdGFsbCB0aGUgPGEgaHJlZj0iaHR0cDovL3JwbWZpbmQubmV0L2xpbnV4L3JwbTJodG1sL3NlYXJjaC5waHA/cXVlcnk9bGlieG1sMi1weXRob24iPmxpYnhtbDItcHl0aG9uCisgICAgUlBNPC9hPiAoYW5kIGlmIG5lZWRlZCB0aGUgPGEgaHJlZj0iaHR0cDovL3JwbWZpbmQubmV0L2xpbnV4L3JwbTJodG1sL3NlYXJjaC5waHA/cXVlcnk9bGlieHNsdC1weXRob24iPmxpYnhzbHQtcHl0aG9uCisgICAgUlBNPC9hPikuPC9saT4KKyAgPGxpPk90aGVyd2lzZSB1c2UgdGhlIDxhIGhyZWY9ImZ0cDovL3htbHNvZnQub3JnL2xpYnhtbDIvcHl0aG9uLyI+bGlieG1sMi1weXRob24KKyAgICBtb2R1bGUgZGlzdHJpYnV0aW9uPC9hPiBjb3JyZXNwb25kaW5nIHRvIHlvdXIgaW5zdGFsbGVkIHZlcnNpb24gb2YKKyAgICBsaWJ4bWwyIGFuZCBsaWJ4c2x0LiBOb3RlIHRoYXQgdG8gaW5zdGFsbCBpdCB5b3Ugd2lsbCBuZWVkIGJvdGggbGlieG1sMgorICAgIGFuZCBsaWJ4c2x0IGluc3RhbGxlZCBhbmQgcnVuICJweXRob24gc2V0dXAucHkgYnVpbGQgaW5zdGFsbCIgaW4gdGhlCisgICAgbW9kdWxlIHRyZWUuPC9saT4KKzwvdWw+PHA+VGhlIGRpc3RyaWJ1dGlvbiBpbmNsdWRlcyBhIHNldCBvZiBleGFtcGxlcyBhbmQgcmVncmVzc2lvbiB0ZXN0cyBmb3IgdGhlCitweXRob24gYmluZGluZ3MgaW4gdGhlIDxjb2RlPnB5dGhvbi90ZXN0czwvY29kZT4gZGlyZWN0b3J5LiBIZXJlIGFyZSBzb21lCitleGNlcnB0cyBmcm9tIHRob3NlIHRlc3RzOjwvcD48aDM+dHN0LnB5OjwvaDM+PHA+VGhpcyBpcyBhIGJhc2ljIHRlc3Qgb2YgdGhlIGZpbGUgaW50ZXJmYWNlIGFuZCBET00gbmF2aWdhdGlvbjo8L3A+PHByZT5pbXBvcnQgbGlieG1sMiwgc3lzCisKK2RvYyA9IGxpYnhtbDIucGFyc2VGaWxlKCJ0c3QueG1sIikKK2lmIGRvYy5uYW1lICE9ICJ0c3QueG1sIjoKKyAgICBwcmludCAiZG9jLm5hbWUgZmFpbGVkIgorICAgIHN5cy5leGl0KDEpCityb290ID0gZG9jLmNoaWxkcmVuCitpZiByb290Lm5hbWUgIT0gImRvYyI6CisgICAgcHJpbnQgInJvb3QubmFtZSBmYWlsZWQiCisgICAgc3lzLmV4aXQoMSkKK2NoaWxkID0gcm9vdC5jaGlsZHJlbgoraWYgY2hpbGQubmFtZSAhPSAiZm9vIjoKKyAgICBwcmludCAiY2hpbGQubmFtZSBmYWlsZWQiCisgICAgc3lzLmV4aXQoMSkKK2RvYy5mcmVlRG9jKCk8L3ByZT48cD5UaGUgUHl0aG9uIG1vZHVsZSBpcyBjYWxsZWQgbGlieG1sMjsgcGFyc2VGaWxlIGlzIHRoZSBlcXVpdmFsZW50IG9mCit4bWxQYXJzZUZpbGUgKG1vc3Qgb2YgdGhlIGJpbmRpbmdzIGFyZSBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCwgYW5kIHRoZSB4bWwKK3ByZWZpeCBpcyByZW1vdmVkIGFuZCB0aGUgY2FzaW5nIGNvbnZlbnRpb24gYXJlIGtlcHQpLiBBbGwgbm9kZSBzZWVuIGF0IHRoZQorYmluZGluZyBsZXZlbCBzaGFyZSB0aGUgc2FtZSBzdWJzZXQgb2YgYWNjZXNzb3JzOjwvcD48dWw+CisgIDxsaT48Y29kZT5uYW1lPC9jb2RlPiA6IHJldHVybnMgdGhlIG5vZGUgbmFtZTwvbGk+CisgIDxsaT48Y29kZT50eXBlPC9jb2RlPiA6IHJldHVybnMgYSBzdHJpbmcgaW5kaWNhdGluZyB0aGUgbm9kZSB0eXBlPC9saT4KKyAgPGxpPjxjb2RlPmNvbnRlbnQ8L2NvZGU+IDogcmV0dXJucyB0aGUgY29udGVudCBvZiB0aGUgbm9kZSwgaXQgaXMgYmFzZWQgb24KKyAgICB4bWxOb2RlR2V0Q29udGVudCgpIGFuZCBoZW5jZSBpcyByZWN1cnNpdmUuPC9saT4KKyAgPGxpPjxjb2RlPnBhcmVudDwvY29kZT4gLCA8Y29kZT5jaGlsZHJlbjwvY29kZT4sIDxjb2RlPmxhc3Q8L2NvZGU+LAorICAgIDxjb2RlPm5leHQ8L2NvZGU+LCA8Y29kZT5wcmV2PC9jb2RlPiwgPGNvZGU+ZG9jPC9jb2RlPiwKKyAgICA8Y29kZT5wcm9wZXJ0aWVzPC9jb2RlPjogcG9pbnRpbmcgdG8gdGhlIGFzc29jaWF0ZWQgZWxlbWVudCBpbiB0aGUgdHJlZSwKKyAgICB0aG9zZSBtYXkgcmV0dXJuIE5vbmUgaW4gY2FzZSBubyBzdWNoIGxpbmsgZXhpc3RzLjwvbGk+Cis8L3VsPjxwPkFsc28gbm90ZSB0aGUgbmVlZCB0byBleHBsaWNpdGx5IGRlYWxsb2NhdGUgZG9jdW1lbnRzIHdpdGggZnJlZURvYygpIC4KK1JlZmVyZW5jZSBjb3VudGluZyBmb3IgbGlieG1sMiB0cmVlcyB3b3VsZCBuZWVkIHF1aXRlIGEgbG90IG9mIHdvcmsgdG8KK2Z1bmN0aW9uIHByb3Blcmx5LCBhbmQgcmF0aGVyIHRoYW4gcmlzayBtZW1vcnkgbGVha3MgaWYgbm90IGltcGxlbWVudGVkCitjb3JyZWN0bHkgaXQgc291bmRzIHNhZmVyIHRvIGhhdmUgYW4gZXhwbGljaXQgZnVuY3Rpb24gdG8gZnJlZSBhIHRyZWUuIFRoZQord3JhcHBlciBweXRob24gb2JqZWN0cyBsaWtlIGRvYywgcm9vdCBvciBjaGlsZCBhcmUgdGhlbSBhdXRvbWF0aWNhbGx5IGdhcmJhZ2UKK2NvbGxlY3RlZC48L3A+PGgzPnZhbGlkYXRlLnB5OjwvaDM+PHA+VGhpcyB0ZXN0IGNoZWNrIHRoZSB2YWxpZGF0aW9uIGludGVyZmFjZXMgYW5kIHJlZGlyZWN0aW9uIG9mIGVycm9yCittZXNzYWdlczo8L3A+PHByZT5pbXBvcnQgbGlieG1sMgorCisjZGVhY3RpdmF0ZSBlcnJvciBtZXNzYWdlcyBmcm9tIHRoZSB2YWxpZGF0aW9uCitkZWYgbm9lcnIoY3R4LCBzdHIpOgorICAgIHBhc3MKKworbGlieG1sMi5yZWdpc3RlckVycm9ySGFuZGxlcihub2VyciwgTm9uZSkKKworY3R4dCA9IGxpYnhtbDIuY3JlYXRlRmlsZVBhcnNlckN0eHQoImludmFsaWQueG1sIikKK2N0eHQudmFsaWRhdGUoMSkKK2N0eHQucGFyc2VEb2N1bWVudCgpCitkb2MgPSBjdHh0LmRvYygpCit2YWxpZCA9IGN0eHQuaXNWYWxpZCgpCitkb2MuZnJlZURvYygpCitpZiB2YWxpZCAhPSAwOgorICAgIHByaW50ICJ2YWxpZGl0eSBjaGVjayBmYWlsZWQiPC9wcmU+PHA+VGhlIGZpcnN0IHRoaW5nIHRvIG5vdGljZSBpcyB0aGUgY2FsbCB0byByZWdpc3RlckVycm9ySGFuZGxlcigpLCBpdAorZGVmaW5lcyBhIG5ldyBlcnJvciBoYW5kbGVyIGdsb2JhbCB0byB0aGUgbGlicmFyeS4gSXQgaXMgdXNlZCB0byBhdm9pZCBzZWVpbmcKK3RoZSBlcnJvciBtZXNzYWdlcyB3aGVuIHRyeWluZyB0byB2YWxpZGF0ZSB0aGUgaW52YWxpZCBkb2N1bWVudC48L3A+PHA+VGhlIG1haW4gaW50ZXJlc3Qgb2YgdGhhdCB0ZXN0IGlzIHRoZSBjcmVhdGlvbiBvZiBhIHBhcnNlciBjb250ZXh0IHdpdGgKK2NyZWF0ZUZpbGVQYXJzZXJDdHh0KCkgYW5kIGhvdyB0aGUgYmVoYXZpb3VyIGNhbiBiZSBjaGFuZ2VkIGJlZm9yZSBjYWxsaW5nCitwYXJzZURvY3VtZW50KCkgLiBTaW1pbGFybHkgdGhlIGluZm9ybWF0aW9uIHJlc3VsdGluZyBmcm9tIHRoZSBwYXJzaW5nIHBoYXNlCitpcyBhbHNvIGF2YWlsYWJsZSB1c2luZyBjb250ZXh0IG1ldGhvZHMuPC9wPjxwPkNvbnRleHRzIGxpa2Ugbm9kZXMgYXJlIGRlZmluZWQgYXMgY2xhc3MgYW5kIHRoZSBsaWJ4bWwyIHdyYXBwZXJzIG1hcHMgdGhlCitDIGZ1bmN0aW9uIGludGVyZmFjZXMgaW4gdGVybXMgb2Ygb2JqZWN0cyBtZXRob2QgYXMgbXVjaCBhcyBwb3NzaWJsZS4gVGhlCitiZXN0IHRvIGdldCBhIGNvbXBsZXRlIHZpZXcgb2Ygd2hhdCBtZXRob2RzIGFyZSBzdXBwb3J0ZWQgaXMgdG8gbG9vayBhdCB0aGUKK2xpYnhtbDIucHkgbW9kdWxlIGNvbnRhaW5pbmcgYWxsIHRoZSB3cmFwcGVycy48L3A+PGgzPnB1c2gucHk6PC9oMz48cD5UaGlzIHRlc3Qgc2hvdyBob3cgdG8gYWN0aXZhdGUgdGhlIHB1c2ggcGFyc2VyIGludGVyZmFjZTo8L3A+PHByZT5pbXBvcnQgbGlieG1sMgorCitjdHh0ID0gbGlieG1sMi5jcmVhdGVQdXNoUGFyc2VyKE5vbmUsICImbHQ7Zm9vIiwgNCwgInRlc3QueG1sIikKK2N0eHQucGFyc2VDaHVuaygiLyZndDsiLCAyLCAxKQorZG9jID0gY3R4dC5kb2MoKQorCitkb2MuZnJlZURvYygpPC9wcmU+PHA+VGhlIGNvbnRleHQgaXMgY3JlYXRlZCB3aXRoIGEgc3BlY2lhbCBjYWxsIGJhc2VkIG9uIHRoZQoreG1sQ3JlYXRlUHVzaFBhcnNlcigpIGZyb20gdGhlIEMgbGlicmFyeS4gVGhlIGZpcnN0IGFyZ3VtZW50IGlzIGFuIG9wdGlvbmFsCitTQVggY2FsbGJhY2sgb2JqZWN0LCB0aGVuIHRoZSBpbml0aWFsIHNldCBvZiBkYXRhLCB0aGUgbGVuZ3RoIGFuZCB0aGUgbmFtZSBvZgordGhlIHJlc291cmNlIGluIGNhc2UgVVJJLVJlZmVyZW5jZXMgbmVlZCB0byBiZSBjb21wdXRlZCBieSB0aGUgcGFyc2VyLjwvcD48cD5UaGVuIHRoZSBkYXRhIGFyZSBwdXNoZWQgdXNpbmcgdGhlIHBhcnNlQ2h1bmsoKSBtZXRob2QsIHRoZSBsYXN0IGNhbGwKK3NldHRpbmcgdGhlIHRoaXJkIGFyZ3VtZW50IHRlcm1pbmF0ZSB0byAxLjwvcD48aDM+cHVzaFNBWC5weTo8L2gzPjxwPnRoaXMgdGVzdCBzaG93IHRoZSB1c2Ugb2YgdGhlIGV2ZW50IGJhc2VkIHBhcnNpbmcgaW50ZXJmYWNlcy4gSW4gdGhpcyBjYXNlCit0aGUgcGFyc2VyIGRvZXMgbm90IGJ1aWxkIGEgZG9jdW1lbnQsIGJ1dCBwcm92aWRlcyBjYWxsYmFjayBpbmZvcm1hdGlvbiBhcwordGhlIHBhcnNlciBtYWtlcyBwcm9ncmVzc2VzIGFuYWx5emluZyB0aGUgZGF0YSBiZWluZyBwcm92aWRlZDo8L3A+PHByZT5pbXBvcnQgbGlieG1sMgorbG9nID0gIiIKKworY2xhc3MgY2FsbGJhY2s6CisgICAgZGVmIHN0YXJ0RG9jdW1lbnQoc2VsZik6CisgICAgICAgIGdsb2JhbCBsb2cKKyAgICAgICAgbG9nID0gbG9nICsgInN0YXJ0RG9jdW1lbnQ6IgorCisgICAgZGVmIGVuZERvY3VtZW50KHNlbGYpOgorICAgICAgICBnbG9iYWwgbG9nCisgICAgICAgIGxvZyA9IGxvZyArICJlbmREb2N1bWVudDoiCisKKyAgICBkZWYgc3RhcnRFbGVtZW50KHNlbGYsIHRhZywgYXR0cnMpOgorICAgICAgICBnbG9iYWwgbG9nCisgICAgICAgIGxvZyA9IGxvZyArICJzdGFydEVsZW1lbnQgJXMgJXM6IiAlICh0YWcsIGF0dHJzKQorCisgICAgZGVmIGVuZEVsZW1lbnQoc2VsZiwgdGFnKToKKyAgICAgICAgZ2xvYmFsIGxvZworICAgICAgICBsb2cgPSBsb2cgKyAiZW5kRWxlbWVudCAlczoiICUgKHRhZykKKworICAgIGRlZiBjaGFyYWN0ZXJzKHNlbGYsIGRhdGEpOgorICAgICAgICBnbG9iYWwgbG9nCisgICAgICAgIGxvZyA9IGxvZyArICJjaGFyYWN0ZXJzOiAlczoiICUgKGRhdGEpCisKKyAgICBkZWYgd2FybmluZyhzZWxmLCBtc2cpOgorICAgICAgICBnbG9iYWwgbG9nCisgICAgICAgIGxvZyA9IGxvZyArICJ3YXJuaW5nOiAlczoiICUgKG1zZykKKworICAgIGRlZiBlcnJvcihzZWxmLCBtc2cpOgorICAgICAgICBnbG9iYWwgbG9nCisgICAgICAgIGxvZyA9IGxvZyArICJlcnJvcjogJXM6IiAlIChtc2cpCisKKyAgICBkZWYgZmF0YWxFcnJvcihzZWxmLCBtc2cpOgorICAgICAgICBnbG9iYWwgbG9nCisgICAgICAgIGxvZyA9IGxvZyArICJmYXRhbEVycm9yOiAlczoiICUgKG1zZykKKworaGFuZGxlciA9IGNhbGxiYWNrKCkKKworY3R4dCA9IGxpYnhtbDIuY3JlYXRlUHVzaFBhcnNlcihoYW5kbGVyLCAiJmx0O2ZvbyIsIDQsICJ0ZXN0LnhtbCIpCitjaHVuayA9ICIgdXJsPSd0c3QnJmd0O2IiCitjdHh0LnBhcnNlQ2h1bmsoY2h1bmssIGxlbihjaHVuayksIDApCitjaHVuayA9ICJhciZsdDsvZm9vJmd0OyIKK2N0eHQucGFyc2VDaHVuayhjaHVuaywgbGVuKGNodW5rKSwgMSkKKworcmVmZXJlbmNlID0gInN0YXJ0RG9jdW1lbnQ6c3RhcnRFbGVtZW50IGZvbyB7J3VybCc6ICd0c3QnfToiICsgXCAKKyAgICAgICAgICAgICJjaGFyYWN0ZXJzOiBiYXI6ZW5kRWxlbWVudCBmb286ZW5kRG9jdW1lbnQ6IgoraWYgbG9nICE9IHJlZmVyZW5jZToKKyAgICBwcmludCAiRXJyb3IgZ290OiAlcyIgJSBsb2cKKyAgICBwcmludCAiRXhwZWN0ZWQ6ICVzIiAlIHJlZmVyZW5jZTwvcHJlPjxwPlRoZSBrZXkgb2JqZWN0IGluIHRoYXQgdGVzdCBpcyB0aGUgaGFuZGxlciwgaXQgcHJvdmlkZXMgYSBudW1iZXIgb2YgZW50cnkKK3BvaW50cyB3aGljaCBjYW4gYmUgY2FsbGVkIGJ5IHRoZSBwYXJzZXIgYXMgaXQgbWFrZXMgcHJvZ3Jlc3NlcyB0byBpbmRpY2F0ZQordGhlIGluZm9ybWF0aW9uIHNldCBvYnRhaW5lZC4gVGhlIGZ1bGwgc2V0IG9mIGNhbGxiYWNrIGlzIGxhcmdlciB0aGFuIHdoYXQKK3RoZSBjYWxsYmFjayBjbGFzcyBpbiB0aGF0IHNwZWNpZmljIGV4YW1wbGUgaW1wbGVtZW50cyAoc2VlIHRoZSBTQVgKK2RlZmluaXRpb24gZm9yIGEgY29tcGxldGUgbGlzdCkuIFRoZSB3cmFwcGVyIHdpbGwgb25seSBjYWxsIHRob3NlIHN1cHBsaWVkIGJ5Cit0aGUgb2JqZWN0IHdoZW4gYWN0aXZhdGVkLiBUaGUgc3RhcnRFbGVtZW50IHJlY2VpdmVzIHRoZSBuYW1lcyBvZiB0aGUgZWxlbWVudAorYW5kIGEgZGljdGlvbmFyeSBjb250YWluaW5nIHRoZSBhdHRyaWJ1dGVzIGNhcnJpZWQgYnkgdGhpcyBlbGVtZW50LjwvcD48cD5BbHNvIG5vdGUgdGhhdCB0aGUgcmVmZXJlbmNlIHN0cmluZyBnZW5lcmF0ZWQgZnJvbSB0aGUgY2FsbGJhY2sgc2hvd3MgYQorc2luZ2xlIGNoYXJhY3RlciBjYWxsIGV2ZW4gdGhvdWdoIHRoZSBzdHJpbmcgImJhciIgaXMgcGFzc2VkIHRvIHRoZSBwYXJzZXIKK2Zyb20gMiBkaWZmZXJlbnQgY2FsbCB0byBwYXJzZUNodW5rKCk8L3A+PGgzPnhwYXRoLnB5OjwvaDM+PHA+VGhpcyBpcyBhIGJhc2ljIHRlc3Qgb2YgWFBhdGggd3JhcHBlcnMgc3VwcG9ydDwvcD48cHJlPmltcG9ydCBsaWJ4bWwyCisKK2RvYyA9IGxpYnhtbDIucGFyc2VGaWxlKCJ0c3QueG1sIikKK2N0eHQgPSBkb2MueHBhdGhOZXdDb250ZXh0KCkKK3JlcyA9IGN0eHQueHBhdGhFdmFsKCIvLyoiKQoraWYgbGVuKHJlcykgIT0gMjoKKyAgICBwcmludCAieHBhdGggcXVlcnk6IHdyb25nIG5vZGUgc2V0IHNpemUiCisgICAgc3lzLmV4aXQoMSkKK2lmIHJlc1swXS5uYW1lICE9ICJkb2MiIG9yIHJlc1sxXS5uYW1lICE9ICJmb28iOgorICAgIHByaW50ICJ4cGF0aCBxdWVyeTogd3Jvbmcgbm9kZSBzZXQgdmFsdWUiCisgICAgc3lzLmV4aXQoMSkKK2RvYy5mcmVlRG9jKCkKK2N0eHQueHBhdGhGcmVlQ29udGV4dCgpPC9wcmU+PHA+VGhpcyB0ZXN0IHBhcnNlcyBhIGZpbGUsIHRoZW4gY3JlYXRlIGFuIFhQYXRoIGNvbnRleHQgdG8gZXZhbHVhdGUgWFBhdGgKK2V4cHJlc3Npb24gb24gaXQuIFRoZSB4cGF0aEV2YWwoKSBtZXRob2QgZXhlY3V0ZSBhbiBYUGF0aCBxdWVyeSBhbmQgcmV0dXJucwordGhlIHJlc3VsdCBtYXBwZWQgaW4gYSBQeXRob24gd2F5LiBTdHJpbmcgYW5kIG51bWJlcnMgYXJlIG5hdGl2ZWx5IGNvbnZlcnRlZCwKK2FuZCBub2RlIHNldHMgYXJlIHJldHVybmVkIGFzIGEgdHVwbGUgb2YgbGlieG1sMiBQeXRob24gbm9kZXMgd3JhcHBlcnMuIExpa2UKK3RoZSBkb2N1bWVudCwgdGhlIFhQYXRoIGNvbnRleHQgbmVlZCB0byBiZSBmcmVlZCBleHBsaWNpdGx5LCBhbHNvIG5vdCB0aGF0Cit0aGUgcmVzdWx0IG9mIHRoZSBYUGF0aCBxdWVyeSBtYXkgcG9pbnQgYmFjayB0byB0aGUgZG9jdW1lbnQgdHJlZSBhbmQgaGVuY2UKK3RoZSBkb2N1bWVudCBtdXN0IGJlIGZyZWVkIGFmdGVyIHRoZSByZXN1bHQgb2YgdGhlIHF1ZXJ5IGlzIHVzZWQuPC9wPjxoMz54cGF0aGV4dC5weTo8L2gzPjxwPlRoaXMgdGVzdCBzaG93cyBob3cgdG8gZXh0ZW5kIHRoZSBYUGF0aCBlbmdpbmUgd2l0aCBmdW5jdGlvbnMgd3JpdHRlbiBpbgorcHl0aG9uOjwvcD48cHJlPmltcG9ydCBsaWJ4bWwyCisKK2RlZiBmb28oY3R4LCB4KToKKyAgICByZXR1cm4geCArIDEKKworZG9jID0gbGlieG1sMi5wYXJzZUZpbGUoInRzdC54bWwiKQorY3R4dCA9IGRvYy54cGF0aE5ld0NvbnRleHQoKQorbGlieG1sMi5yZWdpc3RlclhQYXRoRnVuY3Rpb24oY3R4dC5fbywgImZvbyIsIE5vbmUsIGZvbykKK3JlcyA9IGN0eHQueHBhdGhFdmFsKCJmb28oMSkiKQoraWYgcmVzICE9IDI6CisgICAgcHJpbnQgInhwYXRoIGV4dGVuc2lvbiBmYWlsdXJlIgorZG9jLmZyZWVEb2MoKQorY3R4dC54cGF0aEZyZWVDb250ZXh0KCk8L3ByZT48cD5Ob3RlIGhvdyB0aGUgZXh0ZW5zaW9uIGZ1bmN0aW9uIGlzIHJlZ2lzdGVyZWQgd2l0aCB0aGUgY29udGV4dCAoYnV0IHRoYXQKK3BhcnQgaXMgbm90IHlldCBmaW5hbGl6ZWQsIHRoaXMgbWF5IGNoYW5nZSBzbGlnaHRseSBpbiB0aGUgZnV0dXJlKS48L3A+PGgzPnRzdHhwYXRoLnB5OjwvaDM+PHA+VGhpcyB0ZXN0IGlzIHNpbWlsYXIgdG8gdGhlIHByZXZpb3VzIG9uZSBidXQgc2hvd3MgaG93IHRoZSBleHRlbnNpb24KK2Z1bmN0aW9uIGNhbiBhY2Nlc3MgdGhlIFhQYXRoIGV2YWx1YXRpb24gY29udGV4dDo8L3A+PHByZT5kZWYgZm9vKGN0eCwgeCk6CisgICAgZ2xvYmFsIGNhbGxlZAorCisgICAgIworICAgICMgdGVzdCB0aGF0IGFjY2VzcyB0byB0aGUgWFBhdGggZXZhbHVhdGlvbiBjb250ZXh0cworICAgICMKKyAgICBwY3R4dCA9IGxpYnhtbDIueHBhdGhQYXJzZXJDb250ZXh0KF9vYmo9Y3R4KQorICAgIGN0eHQgPSBwY3R4dC5jb250ZXh0KCkKKyAgICBjYWxsZWQgPSBjdHh0LmZ1bmN0aW9uKCkKKyAgICByZXR1cm4geCArIDE8L3ByZT48cD5BbGwgdGhlIGludGVyZmFjZXMgYXJvdW5kIHRoZSBYUGF0aCBwYXJzZXIob3IgcmF0aGVyIGV2YWx1YXRpb24pIGNvbnRleHQKK2FyZSBub3QgZmluYWxpemVkLCBidXQgaXQgc2hvdWxkIGJlIHN1ZmZpY2llbnQgdG8gZG8gY29udGV4dHVhbCB3b3JrIGF0IHRoZQorZXZhbHVhdGlvbiBwb2ludC48L3A+PGgzPk1lbW9yeSBkZWJ1Z2dpbmc6PC9oMz48cD5sYXN0IGJ1dCBub3QgbGVhc3QsIGFsbCB0ZXN0cyBzdGFydHMgd2l0aCB0aGUgZm9sbG93aW5nIHByb2xvZ3VlOjwvcD48cHJlPiNtZW1vcnkgZGVidWcgc3BlY2lmaWMKK2xpYnhtbDIuZGVidWdNZW1vcnkoMSk8L3ByZT48cD5hbmQgZW5kcyB3aXRoIHRoZSBmb2xsb3dpbmcgZXBpbG9ndWU6PC9wPjxwcmU+I21lbW9yeSBkZWJ1ZyBzcGVjaWZpYworbGlieG1sMi5jbGVhbnVwUGFyc2VyKCkKK2lmIGxpYnhtbDIuZGVidWdNZW1vcnkoMSkgPT0gMDoKKyAgICBwcmludCAiT0siCitlbHNlOgorICAgIHByaW50ICJNZW1vcnkgbGVhayAlZCBieXRlcyIgJSAobGlieG1sMi5kZWJ1Z01lbW9yeSgxKSkKKyAgICBsaWJ4bWwyLmR1bXBNZW1vcnkoKTwvcHJlPjxwPlRob3NlIGFjdGl2YXRlIHRoZSBtZW1vcnkgZGVidWdnaW5nIGludGVyZmFjZSBvZiBsaWJ4bWwyIHdoZXJlIGFsbAorYWxsb2NhdGVkIGJsb2NrIGluIHRoZSBsaWJyYXJ5IGFyZSB0cmFja2VkLiBUaGUgcHJvbG9ndWUgdGhlbiBjbGVhbnMgdXAgdGhlCitsaWJyYXJ5IHN0YXRlIGFuZCBjaGVja3MgdGhhdCBhbGwgYWxsb2NhdGVkIG1lbW9yeSBoYXMgYmVlbiBmcmVlZC4gSWYgbm90IGl0CitjYWxscyBkdW1wTWVtb3J5KCkgd2hpY2ggc2F2ZXMgdGhhdCBsaXN0IGluIGEgPGNvZGU+Lm1lbWR1bXA8L2NvZGU+IGZpbGUuPC9wPjxwPjxhIGhyZWY9ImJ1Z3MuaHRtbCI+RGFuaWVsIFZlaWxsYXJkPC9hPjwvcD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvcXVlcmllcy5weSBiL2xpYnhtbDIvZG9jL3F1ZXJpZXMucHkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMGYwMTllYwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL3F1ZXJpZXMucHkKQEAgLTAsMCArMSwxMTkgQEAKKyMhL3Vzci9iaW4vcHl0aG9uIC11CisjCisjIFByb2Nlc3Npbmcgb2YgdGhlIHF1ZXJpZXMgcmVzdWx0cworIworaW1wb3J0IHN5cworaW1wb3J0IGluZGV4CitpbXBvcnQgdGltZQoraW1wb3J0IHRyYWNlYmFjaworaW1wb3J0IHN0cmluZworCitpZiBpbmRleC5vcGVuTXlTUUwodmVyYm9zZSA9IDApIDwgMDoKKyAgICBwcmludCAiRmFpbGVkIHRvIGNvbm5lY3QgdG8gdGhlIE15U1FMIGRhdGFiYXNlIgorICAgIHN5cy5leGl0KDEpCisKK0RCID0gaW5kZXguREIKKworZGVmIGdldFRvcFF1ZXJpZXNEQihiYXNlID0gIlF1ZXJpZXMiLCBudW1iZXIgPSA1MCk6CisgICAgZ2xvYmFsIERCCisKKyAgICB0cnk6CisgICAgICAgIGltcG9ydCBvcworCW9zLm1rZGlyKCJzZWFyY2hlcyIpCisgICAgZXhjZXB0OgorICAgICAgICBwYXNzCisgICAgCisgICAgZGF0ZSA9IHRpbWUuc3RyZnRpbWUoIiVZJW0lZCIpCisgICAgZiA9IG9wZW4oInNlYXJjaGVzLyVzLSVzLnhtbCIgJSAoYmFzZSwgZGF0ZSksICJ3IikKKyAgICBjID0gREIuY3Vyc29yKCkKKyAgICB0cnk6CisgICAgICAgIHJldCA9IGMuZXhlY3V0ZSgiIiJzZWxlY3Qgc3VtKENvdW50KSBmcm9tICVzIiIiICUgKGJhc2UpKQorCXJvdyA9IGMuZmV0Y2hvbmUoKQorCXRvdGFsID0gaW50KHJvd1swXSkKKyAgICAgICAgcmV0ID0gYy5leGVjdXRlKCIiInNlbGVjdCBjb3VudCgqKSBmcm9tICVzIiIiICUgKGJhc2UpKQorCXJvdyA9IGMuZmV0Y2hvbmUoKQorCXVuaXEgPSBpbnQocm93WzBdKQorICAgICAgICByZXQgPSBjLmV4ZWN1dGUoCisgICAgICAgICAgICIiInNlbGVjdCAqIGZyb20gJXMgT1JERVIgQlkgQ291bnQgREVTQyBMSU1JVCAlZCIiIiAlIChiYXNlLCBudW1iZXIpKQorCWkgPSAwOworCWYud3JpdGUoIjxxdWVyaWVzIHRvdGFsPSclZCcgdW5pcT0nJWQnIG5yPSclZCcgZGF0ZT0nJXMnPlxuIiAlICgKKwkgICAgICB0b3RhbCwgdW5pcSwgbnVtYmVyLCBkYXRlKSkKKwl3aGlsZSBpIDwgcmV0OgorCSAgICByb3cgPSBjLmZldGNob25lKCkKKwkgICAgZi53cml0ZSgiICA8cXVlcnkgY291bnQ9JyVkJz4lczwvcXVlcnk+XG4iICUgKGludChyb3dbMl0pLCByb3dbMV0pKQorCSAgICBpID0gaSArIDEKKwlmLndyaXRlKCI8L3F1ZXJpZXM+XG4iKQorICAgIGV4Y2VwdDoKKyAgICAgICAgcHJpbnQgImdldFRvcFF1ZXJpZXMgJXMgJWQgZmFpbGVkXG4iICUgKGJhc2UsIG51bWJlcikKKwlwcmludCBzeXMuZXhjX3R5cGUsIHN5cy5leGNfdmFsdWUKKwlyZXR1cm4gLTEKKyAgICBmLmNsb3NlKCkKKworZGVmIGdldFRvcFF1ZXJpZXMobnVtYmVyID0gNTApOgorICAgIHJldHVybiBnZXRUb3BRdWVyaWVzREIoYmFzZSA9ICJRdWVyaWVzIiwgbnVtYmVyID0gbnVtYmVyKQorCitkZWYgZ2V0QWxsVG9wUXVlcmllcyhudW1iZXIgPSA1MCk6CisgICAgcmV0dXJuIGdldFRvcFF1ZXJpZXNEQihiYXNlID0gIkFsbFF1ZXJpZXMiLCBudW1iZXIgPSBudW1iZXIpCisKK2RlZiBpbmNyZWFzZVRvdGFsQ291bnQoVmFsdWUsIGNvdW50KToKKyAgICBnbG9iYWwgREIKKworICAgIGMgPSBEQi5jdXJzb3IoKQorICAgIHRyeToKKyAgICAgICAgcmV0ID0gYy5leGVjdXRlKCIiInNlbGVjdCBJRCxDb3VudCBmcm9tIEFsbFF1ZXJpZXMgd2hlcmUgVmFsdWU9JyVzJyIiIiAlCisJICAgICAgICAgICAgICAgIChWYWx1ZSkpCisJcm93ID0gYy5mZXRjaG9uZSgpCisJaWQgPSByb3dbMF0KKwljbnQgPSBpbnQocm93WzFdKSArIGNvdW50CisJcmV0ID0gYy5leGVjdXRlKCIiIlVQREFURSBBbGxRdWVyaWVzIFNFVCBDb3VudCA9ICVkIHdoZXJlIElEID0gJWQiIiIgJQorCSAgICAgICAgICAgICAgICAoY250LCBpZCkpCisgICAgZXhjZXB0OgorICAgICAgICByZXQgPSBjLmV4ZWN1dGUoCisJIiIiSU5TRVJUIElOVE8gQWxsUXVlcmllcyAoVmFsdWUsIENvdW50KSBWQUxVRVMgKCclcycsICVkKSIiIiAlCisJICAgICAgICAgICAgICAgIChWYWx1ZSwgY291bnQpKQorICAgIAorCitkZWYgY2hlY2tTdHJpbmcoc3RyKToKKyAgICBpZiBzdHJpbmcuZmluZChzdHIsICInIikgIT0gLTEgb3IgXAorICAgICAgIHN0cmluZy5maW5kKHN0ciwgJyInKSAhPSAtMSBvciBcCisgICAgICAgc3RyaW5nLmZpbmQoc3RyLCAiXFwiKSAhPSAtMSBvciBcCisgICAgICAgc3RyaW5nLmZpbmQoc3RyLCAiICIpICE9IC0xIG9yIFwKKyAgICAgICBzdHJpbmcuZmluZChzdHIsICJcdCIpICE9IC0xIG9yIFwKKyAgICAgICBzdHJpbmcuZmluZChzdHIsICJcbiIpICE9IC0xIG9yIFwKKyAgICAgICBzdHJpbmcuZmluZChzdHIsICJcciIpICE9IC0xOgorICAgICAgICByZXR1cm4gMAorICAgIHJldHVybiAxCitkZWYgYWRkQ291bnRzKGZybXRhYmxlKToKKyAgICBnbG9iYWwgREIKKworICAgIGkgPSAwCisgICAgYyA9IERCLmN1cnNvcigpCisgICAgZW50cmllcz1bXQorICAgIHRyeToKKyAgICAgICAgcmV0ID0gYy5leGVjdXRlKCIiInNlbGVjdCBWYWx1ZSxDb3VudCBmcm9tICVzIiIiICUgKGZybXRhYmxlKSkKKwl3aGlsZSBpIDwgcmV0OgorCSAgICBpID0gaSArIDEKKwkgICAgcm93ID0gYy5mZXRjaG9uZSgpCisJICAgIGlmIGNoZWNrU3RyaW5nKHJvd1swXSk6CisJCWVudHJpZXMuYXBwZW5kKChyb3dbMF0sIGludChyb3dbMV0pKSkKKwkgICAgZWxzZToKKwkJZW50cmllcy5hcHBlbmQoKE5vbmUsIGludChyb3dbMV0pKSkKKwkKKwlmb3Igcm93IGluIGVudHJpZXM6CisJICAgIGlmIHJvd1swXSAhPSBOb25lOgorCQlpbmNyZWFzZVRvdGFsQ291bnQocm93WzBdLCByb3dbMV0pCisgICAgZXhjZXB0OgorICAgICAgICBwcmludCAiYWRkQ291bnRzICVzIGZhaWxlZCIgJSAoZnJtdGFibGUpCisJcHJpbnQgc3lzLmV4Y190eXBlLCBzeXMuZXhjX3ZhbHVlCisJdHJhY2ViYWNrLnByaW50X2V4YyhmaWxlPXN5cy5zdGRvdXQpCisgICAgICAgIAorICAgIHRyeToKKwljLmV4ZWN1dGUoIiIiREVMRVRFIGZyb20gJXMiIiIgJSAoZnJtdGFibGUpKQorICAgIGV4Y2VwdDoKKwlwYXNzCisKKworICAgIAorZ2V0VG9wUXVlcmllcygpCithZGRDb3VudHMoJ1F1ZXJpZXMnKQorZ2V0QWxsVG9wUXVlcmllcygpCmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9yZWRoYXQuZ2lmIGIvbGlieG1sMi9kb2MvcmVkaGF0LmdpZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZmYzZDczCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvcmVkaGF0LmdpZgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9zZWFyY2gucGhwIGIvbGlieG1sMi9kb2Mvc2VhcmNoLnBocApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZTFhMjVmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2Mvc2VhcmNoLnBocApAQCAtMCwwICsxLDQ3NiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSLzE5OTkvUkVDLWh0bWw0MDEtMTk5OTEyMjQvbG9vc2UuZHRkIj4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1JU08tODg1OS0xIj4KKzxsaW5rIHJlbD0iU0hPUlRDVVQgSUNPTiIgaHJlZj0iL2Zhdmljb24uaWNvIj4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+PCEtLQorVEQge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0JPRFkge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYTsgbWFyZ2luLXRvcDogMmVtOyBtYXJnaW4tbGVmdDogMGVtOyBtYXJnaW4tcmlnaHQ6IDBlbX0KK0gxIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMiB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDMge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0E6bGluaywgQTp2aXNpdGVkLCBBOmFjdGl2ZSB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIH0KKy0tPjwvc3R5bGU+Cis8dGl0bGU+U2VhcmNoIHRoZSBkb2N1bWVudGF0aW9uIG9uIFhNTFNvZnQub3JnPC90aXRsZT4KKzwvaGVhZD4KKzxib2R5IGJnY29sb3I9IiM4Yjc3NjUiIHRleHQ9IiMwMDAwMDAiIGxpbms9IiMwMDAwMDAiIHZsaW5rPSIjMDAwMDAwIj4KKzx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSIxMDAlIiBjZWxscGFkZGluZz0iNSIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiPjx0cj4KKzx0ZCB3aWR0aD0iMTgwIj4KKzxhIGhyZWY9Imh0dHA6Ly93d3cuZ25vbWUub3JnLyI+PGltZyBzcmM9Imdub21lMi5wbmciIGFsdD0iR25vbWUyIExvZ28iPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9TdGF0dXMiPjxpbWcgc3JjPSJ3M2MucG5nIiBhbHQ9IlczQyBMb2dvIj48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy5yZWRoYXQuY29tLyI+PGltZyBzcmM9InJlZGhhdC5naWYiIGFsdD0iUmVkIEhhdCBMb2dvIj48L2E+PGRpdiBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnLyI+PGltZyBzcmM9IkxpYnhtbDItTG9nby0xODB4MTY4LmdpZiIgYWx0PSJNYWRlIHdpdGggTGlieG1sMiBMb2dvIj48L2E+PC9kaXY+Cis8L3RkPgorPHRkPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSI5MCUiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIiBiZ2NvbG9yPSIjZmZmYWNkIj48dHI+PHRkIGFsaWduPSJjZW50ZXIiPgorPGgxPlRoZSBYTUwgQyBsaWJyYXJ5IGZvciBHbm9tZTwvaDE+Cis8aDI+U2VhcmNoIGVuZ2luZTwvaDI+Cis8L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPgorPC90cj48L3RhYmxlPgorPHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjQiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiIHdpZHRoPSIxMDAlIj48dHI+Cis8dGQgdmFsaWduPSJ0b3AiIHdpZHRoPSIyMDAiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+Cis8dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj4KKzx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5NYWluIE1lbnU8L2I+PC9jZW50ZXI+PC90ZD48L3RyPgorPHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+Cis8bGk+PGEgaHJlZj0iaW5kZXguaHRtbCI+SG9tZTwvYT48L2xpPgorPGxpPjxhIGhyZWY9ImludHJvLmh0bWwiPkludHJvZHVjdGlvbjwvYT48L2xpPgorPGxpPjxhIGhyZWY9IkZBUS5odG1sIj5GQVE8L2E+PC9saT4KKzxsaT48YSBocmVmPSJkb2NzLmh0bWwiPkRvY3VtZW50YXRpb248L2E+PC9saT4KKzxsaT48YSBocmVmPSJidWdzLmh0bWwiPlJlcG9ydGluZyBidWdzIGFuZCBnZXR0aW5nIGhlbHA8L2E+PC9saT4KKzxsaT48YSBocmVmPSJoZWxwLmh0bWwiPkhvdyB0byBoZWxwPC9hPjwvbGk+Cis8bGk+PGEgaHJlZj0iZG93bmxvYWRzLmh0bWwiPkRvd25sb2FkczwvYT48L2xpPgorPGxpPjxhIGhyZWY9Im5ld3MuaHRtbCI+TmV3czwvYT48L2xpPgorPGxpPjxhIGhyZWY9IlhNTGluZm8uaHRtbCI+WE1MPC9hPjwvbGk+Cis8bGk+PGEgaHJlZj0iWFNMVC5odG1sIj5YU0xUPC9hPjwvbGk+Cis8bGk+PGEgaHJlZj0icHl0aG9uLmh0bWwiPlB5dGhvbiBhbmQgYmluZGluZ3M8L2E+PC9saT4KKzxsaT48YSBocmVmPSJhcmNoaXRlY3R1cmUuaHRtbCI+bGlieG1sIGFyY2hpdGVjdHVyZTwvYT48L2xpPgorPGxpPjxhIGhyZWY9InRyZWUuaHRtbCI+VGhlIHRyZWUgb3V0cHV0PC9hPjwvbGk+Cis8bGk+PGEgaHJlZj0iaW50ZXJmYWNlLmh0bWwiPlRoZSBTQVggaW50ZXJmYWNlPC9hPjwvbGk+Cis8bGk+PGEgaHJlZj0ieG1sZHRkLmh0bWwiPlZhbGlkYXRpb24gJmFtcDsgRFREczwvYT48L2xpPgorPGxpPjxhIGhyZWY9InhtbG1lbS5odG1sIj5NZW1vcnkgTWFuYWdlbWVudDwvYT48L2xpPgorPGxpPjxhIGhyZWY9ImVuY29kaW5nLmh0bWwiPkVuY29kaW5ncyBzdXBwb3J0PC9hPjwvbGk+Cis8bGk+PGEgaHJlZj0ieG1saW8uaHRtbCI+SS9PIEludGVyZmFjZXM8L2E+PC9saT4KKzxsaT48YSBocmVmPSJjYXRhbG9nLmh0bWwiPkNhdGFsb2cgc3VwcG9ydDwvYT48L2xpPgorPGxpPjxhIGhyZWY9ImxpYnJhcnkuaHRtbCI+VGhlIHBhcnNlciBpbnRlcmZhY2VzPC9hPjwvbGk+Cis8bGk+PGEgaHJlZj0iZW50aXRpZXMuaHRtbCI+RW50aXRpZXMgb3Igbm8gZW50aXRpZXM8L2E+PC9saT4KKzxsaT48YSBocmVmPSJuYW1lc3BhY2VzLmh0bWwiPk5hbWVzcGFjZXM8L2E+PC9saT4KKzxsaT48YSBocmVmPSJ1cGdyYWRlLmh0bWwiPlVwZ3JhZGluZyAxLnggY29kZTwvYT48L2xpPgorPGxpPjxhIGhyZWY9InRocmVhZHMuaHRtbCI+VGhyZWFkIHNhZmV0eTwvYT48L2xpPgorPGxpPjxhIGhyZWY9IkRPTS5odG1sIj5ET00gUHJpbmNpcGxlczwvYT48L2xpPgorPGxpPjxhIGhyZWY9ImV4YW1wbGUuaHRtbCI+QSByZWFsIGV4YW1wbGU8L2E+PC9saT4KKzxsaT48YSBocmVmPSJjb250cmlicy5odG1sIj5Db250cmlidXRpb25zPC9hPjwvbGk+Cis8bGk+PGEgaHJlZj0idHV0b3JpYWwvaW5kZXguaHRtbCI+VHV0b3JpYWw8L2E+PC9saT4KKzxsaT4KKzxhIGhyZWY9InhtbC5odG1sIj5mbGF0IHBhZ2U8L2E+LCA8YSBocmVmPSJzaXRlLnhzbCI+c3R5bGVzaGVldDwvYT4KKzwvbGk+Cis8L3VsPjwvdGQ+PC90cj4KKzwvdGFibGU+Cis8dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj4KKzx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5BUEkgSW5kZXhlczwvYj48L2NlbnRlcj48L3RkPjwvdHI+Cis8dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD4KKzxsaT48YSBocmVmPSJBUEljaHVuazAuaHRtbCI+QWxwaGFiZXRpYzwvYT48L2xpPgorPGxpPjxhIGhyZWY9IkFQSWNvbnN0cnVjdG9ycy5odG1sIj5Db25zdHJ1Y3RvcnM8L2E+PC9saT4KKzxsaT48YSBocmVmPSJBUElmdW5jdGlvbnMuaHRtbCI+RnVuY3Rpb25zL1R5cGVzPC9hPjwvbGk+Cis8bGk+PGEgaHJlZj0iQVBJZmlsZXMuaHRtbCI+TW9kdWxlczwvYT48L2xpPgorPGxpPjxhIGhyZWY9IkFQSXN5bWJvbHMuaHRtbCI+U3ltYm9sczwvYT48L2xpPgorPC91bD48L3RkPjwvdHI+Cis8L3RhYmxlPgorPHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+Cis8dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+UmVsYXRlZCBsaW5rczwvYj48L2NlbnRlcj48L3RkPjwvdHI+Cis8dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD4KKzxsaT48YSBocmVmPSJodHRwOi8vbWFpbC5nbm9tZS5vcmcvYXJjaGl2ZXMveG1sLyI+TWFpbCBhcmNoaXZlPC9hPjwvbGk+Cis8bGk+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnL1hTTFQvIj5YU0xUIGxpYnhzbHQ8L2E+PC9saT4KKzxsaT48YSBocmVmPSJodHRwOi8vcGhkLmNzLnVuaWJvLml0L2dkb21lMi8iPkRPTSBnZG9tZTI8L2E+PC9saT4KKzxsaT48YSBocmVmPSJodHRwOi8vd3d3LmFsZWtzZXkuY29tL3htbHNlYy8iPlhNTC1EU2lnIHhtbHNlYzwvYT48L2xpPgorPGxpPjxhIGhyZWY9ImZ0cDovL3htbHNvZnQub3JnLyI+RlRQPC9hPjwvbGk+Cis8bGk+PGEgaHJlZj0iaHR0cDovL3d3LnpsYXRrb3ZpYy5jb20vcHJvamVjdHMvbGlieG1sLyI+V2luZG93cyBiaW5hcmllczwvYT48L2xpPgorPGxpPjxhIGhyZWY9Imh0dHA6Ly9nYXJ5cGVubmluZ3Rvbi5uZXQvbGlieG1sMi8iPlNvbGFyaXMgYmluYXJpZXM8L2E+PC9saT4KKzxsaT48YSBocmVmPSJodHRwOi8vd3d3Lnp2ZW5vLmNvbS9vcGVuX3NvdXJjZS9saWJ4bWwyeHNsdC5odG1sIj5NYWNPc1ggYmluYXJpZXM8L2E+PC9saT4KKzxsaT48YSBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2xpYnhtbDItcGFzLyI+UGFzY2FsIGJpbmRpbmdzPC9hPjwvbGk+Cis8bGk+PGEgaHJlZj0iaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9idWdsaXN0LmNnaT9wcm9kdWN0PWxpYnhtbCZhbXA7cHJvZHVjdD1saWJ4bWwyIj5CdWcgVHJhY2tlcjwvYT48L2xpPgorPC91bD48L3RkPjwvdHI+Cis8L3RhYmxlPgorPC90ZD48L3RyPjwvdGFibGU+PC90ZD4KKzx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIzIiBjZWxsc3BhY2luZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+Cis8P3BocAorICAgICRxdWVyeSA9ICRIVFRQX0dFVF9WQVJTWyAicXVlcnkiIF07CisgICAgJHNjb3BlID0gJEhUVFBfR0VUX1ZBUlNbICJzY29wZSIgXTsKKyAgICAvLyBXZSBoYW5kbGUgb25seSB0aGUgZmlyc3QgYXJndW1lbnQgc28gZmFyCisgICAgJHF1ZXJ5ID0gJF9HRVRbJ3F1ZXJ5J107CisgICAgJHF1ZXJ5ID0gbHRyaW0gKCRxdWVyeSk7CisgICAgaWYgKCEgJHF1ZXJ5KSB7CisgICAgICAgIGVjaG8gIjxoMSBhbGlnbj0nY2VudGVyJz5TZWFyY2ggdGhlIGRvY3VtZW50YXRpb24gb24gWE1MU29mdC5vcmc8L2gxPiI7CisgICAgfQorICAgIGlmICgkc2NvcGUgPT0gTlVMTCkKKyAgICAgICAgJHNjb3BlID0gImFueSI7CisgICAgJHNjb3BlID0gbHRyaW0gKCRzY29wZSk7CisgICAgaWYgKCRzY29wZSA9PSAiIikKKyAgICAgICAgJHNjb3BlID0gImFueSI7CisKKz8+Cis8cD4gVGhlIHNlYXJjaCBzZXJ2aWNlIGluZGV4ZXMgdGhlIGxpYnhtbDIgYW5kIGxpYnhzbHQgQVBJcyBhbmQgZG9jdW1lbnRhdGlvbiBhcyB3ZWxsIGFzIHRoZSB4bWxAZ25vbWUub3JnIGFuZCB4c2x0QGdub21lLm9yZyBtYWlsaW5nLWxpc3QgYXJjaGl2ZXMuIFRvIHVzZSBpdCBzaW1wbHkgcHJvdmlkZSBhIHNldCBvZiBrZXl3b3JkczoKKzxwPgorPGZvcm0gYWN0aW9uPSI8P3BocCBlY2hvICIkUEhQX1NFTEYiLCAiP3F1ZXJ5PSIsIHJhd3VybGVuY29kZSgkcXVlcnkpID8+IgorICAgICAgZW5jdHlwZT0iYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIiBtZXRob2Q9IkdFVCI+CisgIDxpbnB1dCBuYW1lPSJxdWVyeSIgdHlwZT0iVEVYVCIgc2l6ZT0iNTAiIHZhbHVlPSI8P3BocCBlY2hvICRxdWVyeT8+Ij4KKyAgPHNlbGVjdCBuYW1lPSJzY29wZSI+CisgICAgPG9wdGlvbiB2YWx1ZT0iYW55Ij5TZWFyY2ggQWxsPC9vcHRpb24+CisgICAgPG9wdGlvbiB2YWx1ZT0iWE1MIiA8P3BocCBpZiAoJHNjb3BlID09ICdYTUwnKSBwcmludCAic2VsZWN0ZWQiPz4+WE1MIHJlc291cmNlczwvb3B0aW9uPgorICAgIDxvcHRpb24gdmFsdWU9IlhTTFQiIDw/cGhwIGlmICgkc2NvcGUgPT0gJ1hTTFQnKSBwcmludCAic2VsZWN0ZWQiPz4+WFNMVCByZXNvdXJjZXM8L29wdGlvbj4KKyAgICA8b3B0aW9uIHZhbHVlPSJBUEkiIDw/cGhwIGlmICgkc2NvcGUgPT0gJ0FQSScpIHByaW50ICJzZWxlY3RlZCI/Pj5Pbmx5IHRoZSBBUElzPC9vcHRpb24+CisgICAgPG9wdGlvbiB2YWx1ZT0iWE1MQVBJIiA8P3BocCBpZiAoJHNjb3BlID09ICdYTUxBUEknKSBwcmludCAic2VsZWN0ZWQiPz4+T25seSB0aGUgWE1MIEFQSTwvb3B0aW9uPgorICAgIDxvcHRpb24gdmFsdWU9IlhTTFRBUEkiIDw/cGhwIGlmICgkc2NvcGUgPT0gJ1hTTFRBUEknKSBwcmludCAic2VsZWN0ZWQiPz4+T25seSB0aGUgWFNMVCBBUEk8L29wdGlvbj4KKyAgICA8b3B0aW9uIHZhbHVlPSJET0NTIiA8P3BocCBpZiAoJHNjb3BlID09ICdET0NTJykgcHJpbnQgInNlbGVjdGVkIj8+Pk9ubHkgdGhlIERvY3VtZW50YXRpb248L29wdGlvbj4KKyAgICA8b3B0aW9uIHZhbHVlPSJYTUxET0MiIDw/cGhwIGlmICgkc2NvcGUgPT0gJ1hNTERPQycpIHByaW50ICJzZWxlY3RlZCI/Pj5Pbmx5IHRoZSBYTUwgRG9jdW1lbnRhdGlvbjwvb3B0aW9uPgorICAgIDxvcHRpb24gdmFsdWU9IlhTTFRET0MiIDw/cGhwIGlmICgkc2NvcGUgPT0gJ1hTTFRET0MnKSBwcmludCAic2VsZWN0ZWQiPz4+T25seSB0aGUgWFNMVCBEb2N1bWVudGF0aW9uPC9vcHRpb24+CisgICAgPG9wdGlvbiB2YWx1ZT0iTElTVFMiIDw/cGhwIGlmICgkc2NvcGUgPT0gJ0xJU1RTJykgcHJpbnQgInNlbGVjdGVkIj8+Pk9ubHkgdGhlIGxpc3RzIGFyY2hpdmVzPC9vcHRpb24+CisgICAgPG9wdGlvbiB2YWx1ZT0iWE1MTElTVCIgPD9waHAgaWYgKCRzY29wZSA9PSAnWE1MTElTVCcpIHByaW50ICJzZWxlY3RlZCI/Pj5Pbmx5IHRoZSBYTUwgbGlzdCBhcmNoaXZlPC9vcHRpb24+CisgICAgPG9wdGlvbiB2YWx1ZT0iWFNMVExJU1QiIDw/cGhwIGlmICgkc2NvcGUgPT0gJ1hTTFRMSVNUJykgcHJpbnQgInNlbGVjdGVkIj8+Pk9ubHkgdGhlIFhTTFQgbGlzdCBhcmNoaXZlPC9vcHRpb24+CisgIDwvc2VsZWN0PgorICA8aW5wdXQgbmFtZT1zdWJtaXQgdHlwZT1zdWJtaXQgdmFsdWU9IlNlYXJjaCAuLi4iPgorPC9mb3JtPgorPD9waHAKKyAgICBmdW5jdGlvbiBsb2dRdWVyeVdvcmQoJHdvcmQpIHsKKyAgICAgICAgJHJlc3VsdCA9IG15c3FsX3F1ZXJ5ICgiU0VMRUNUIElELENvdW50IEZST00gUXVlcmllcyBXSEVSRSBWYWx1ZT0nJHdvcmQnIik7CisJaWYgKCRyZXN1bHQpIHsKKwkgICAgJGkgPSBteXNxbF9udW1fcm93cygkcmVzdWx0KTsKKwkgICAgaWYgKCRpID09IDApIHsKKwkgICAgICAgIG15c3FsX2ZyZWVfcmVzdWx0KCRyZXN1bHQpOworCQlteXNxbF9xdWVyeSAoIklOU0VSVCBJTlRPIFF1ZXJpZXMgKFZhbHVlLENvdW50KSBWQUxVRVMgKCckd29yZCcsMSkiKTsKKwkgICAgfSBlbHNlIHsKKwkgICAgICAgICRpZCA9IG15c3FsX3Jlc3VsdCgkcmVzdWx0LCAwLCAwKTsKKwkJJGNvdW50ID0gbXlzcWxfcmVzdWx0KCRyZXN1bHQsIDAsIDEpOworCQkkY291bnQgKys7CisJCW15c3FsX3F1ZXJ5ICgiVVBEQVRFIFF1ZXJpZXMgU0VUIENvdW50PSRjb3VudCBXSEVSRSBJRD0kaWQiKTsKKwkgICAgfQorCX0gZWxzZSB7CisJICAgIG15c3FsX3F1ZXJ5ICgiSU5TRVJUIElOVE8gUXVlcmllcyAoVmFsdWUsQ291bnQpIFZBTFVFUyAoJyR3b3JkJywxKSIpOworCX0KKyAgICB9CisgICAgZnVuY3Rpb24gcXVlcnlXb3JkKCR3b3JkKSB7CisgICAgICAgICRyZXN1bHQgPSBOVUxMOworCSRqID0gMDsKKyAgICAgICAgaWYgKCR3b3JkKSB7CisJICAgICRyZXN1bHQgPSBteXNxbF9xdWVyeSAoIlNFTEVDVCB3b3Jkcy5yZWxldmFuY2UsIHN5bWJvbHMubmFtZSwgc3ltYm9scy50eXBlLCBzeW1ib2xzLm1vZHVsZSwgc3ltYm9scy5kZXNjciBGUk9NIHdvcmRzLCBzeW1ib2xzIFdIRVJFIExDQVNFKHdvcmRzLm5hbWUpIExJS0UgTENBU0UoJyR3b3JkJykgYW5kIHdvcmRzLnN5bWJvbCA9IHN5bWJvbHMubmFtZSBPUkRFUiBCWSB3b3Jkcy5yZWxldmFuY2UgREVTQyBMSU1JVCA3NSIpOworCSAgICBpZiAoJHJlc3VsdCkgeworCQkkaiA9IG15c3FsX251bV9yb3dzKCRyZXN1bHQpOworCQlpZiAoJGogPT0gMCkgCisJCSAgICBteXNxbF9mcmVlX3Jlc3VsdCgkcmVzdWx0KTsKKwkgICAgfQorCSAgICBsb2dRdWVyeVdvcmQoJHdvcmQpOworCX0KKwlyZXR1cm4gYXJyYXkoJHJlc3VsdCwgJGopOworICAgIH0KKyAgICBmdW5jdGlvbiBxdWVyeUhUTUxXb3JkKCR3b3JkKSB7CisgICAgICAgICRyZXN1bHQgPSBOVUxMOworCSRqID0gMDsKKyAgICAgICAgaWYgKCR3b3JkKSB7CisJICAgICRyZXN1bHQgPSBteXNxbF9xdWVyeSAoIlNFTEVDVCByZWxldmFuY2UsIG5hbWUsIGlkLCByZXNvdXJjZSwgc2VjdGlvbiBGUk9NIHdvcmRzSFRNTCBXSEVSRSBMQ0FTRShuYW1lKSBMSUtFIExDQVNFKCckd29yZCcpIE9SREVSIEJZIHJlbGV2YW5jZSBERVNDIExJTUlUIDc1Iik7CisJICAgIGlmICgkcmVzdWx0KSB7CisJCSRqID0gbXlzcWxfbnVtX3Jvd3MoJHJlc3VsdCk7CisJCWlmICgkaiA9PSAwKSAKKwkJICAgIG15c3FsX2ZyZWVfcmVzdWx0KCRyZXN1bHQpOworCSAgICB9CisJICAgIGxvZ1F1ZXJ5V29yZCgkd29yZCk7CisJfQorCXJldHVybiBhcnJheSgkcmVzdWx0LCAkaik7CisgICAgfQorICAgIGZ1bmN0aW9uIHF1ZXJ5QXJjaGl2ZVdvcmQoJHdvcmQpIHsKKyAgICAgICAgJHJlc3VsdCA9IE5VTEw7CisJJGogPSAwOworICAgICAgICBpZiAoJHdvcmQpIHsKKwkgICAgJHJlc3VsdCA9IG15c3FsX3F1ZXJ5ICgiU0VMRUNUIHdvcmRzQXJjaGl2ZS5yZWxldmFuY2UsIHdvcmRzQXJjaGl2ZS5uYW1lLCAneG1sLWxpc3QnLCBhcmNoaXZlcy5yZXNvdXJjZSwgYXJjaGl2ZXMudGl0bGUgRlJPTSB3b3Jkc0FyY2hpdmUsIGFyY2hpdmVzIFdIRVJFIExDQVNFKHdvcmRzQXJjaGl2ZS5uYW1lKSBMSUtFIExDQVNFKCckd29yZCcpIGFuZCB3b3Jkc0FyY2hpdmUuSUQgPSBhcmNoaXZlcy5JRCBPUkRFUiBCWSByZWxldmFuY2UgREVTQyBMSU1JVCA3NSIpOworCSAgICBpZiAoJHJlc3VsdCkgeworCQkkaiA9IG15c3FsX251bV9yb3dzKCRyZXN1bHQpOworCQlpZiAoJGogPT0gMCkgCisJCSAgICBteXNxbF9mcmVlX3Jlc3VsdCgkcmVzdWx0KTsKKwkgICAgfQorCSAgICBsb2dRdWVyeVdvcmQoJHdvcmQpOworCX0KKwlyZXR1cm4gYXJyYXkoJHJlc3VsdCwgJGopOworICAgIH0KKyAgICBmdW5jdGlvbiBYU0xUcXVlcnlXb3JkKCR3b3JkKSB7CisgICAgICAgICRyZXN1bHQgPSBOVUxMOworCSRqID0gMDsKKyAgICAgICAgaWYgKCR3b3JkKSB7CisJICAgICRyZXN1bHQgPSBteXNxbF9xdWVyeSAoIlNFTEVDVCBYU0xUd29yZHMucmVsZXZhbmNlLCBYU0xUc3ltYm9scy5uYW1lLCBYU0xUc3ltYm9scy50eXBlLCBYU0xUc3ltYm9scy5tb2R1bGUsIFhTTFRzeW1ib2xzLmRlc2NyIEZST00gWFNMVHdvcmRzLCBYU0xUc3ltYm9scyBXSEVSRSBMQ0FTRShYU0xUd29yZHMubmFtZSkgTElLRSBMQ0FTRSgnJHdvcmQnKSBhbmQgWFNMVHdvcmRzLnN5bWJvbCA9IFhTTFRzeW1ib2xzLm5hbWUgT1JERVIgQlkgWFNMVHdvcmRzLnJlbGV2YW5jZSBERVNDIExJTUlUIDc1Iik7CisJICAgIGlmICgkcmVzdWx0KSB7CisJCSRqID0gbXlzcWxfbnVtX3Jvd3MoJHJlc3VsdCk7CisJCWlmICgkaiA9PSAwKSAKKwkJICAgIG15c3FsX2ZyZWVfcmVzdWx0KCRyZXN1bHQpOworCSAgICB9CisJICAgIGxvZ1F1ZXJ5V29yZCgkd29yZCk7CisJfQorCXJldHVybiBhcnJheSgkcmVzdWx0LCAkaik7CisgICAgfQorICAgIGZ1bmN0aW9uIFhTTFRxdWVyeUhUTUxXb3JkKCR3b3JkKSB7CisgICAgICAgICRyZXN1bHQgPSBOVUxMOworCSRqID0gMDsKKyAgICAgICAgaWYgKCR3b3JkKSB7CisJICAgICRyZXN1bHQgPSBteXNxbF9xdWVyeSAoIlNFTEVDVCByZWxldmFuY2UsIG5hbWUsIGlkLCByZXNvdXJjZSwgc2VjdGlvbiBGUk9NIFhTTFR3b3Jkc0hUTUwgV0hFUkUgTENBU0UobmFtZSkgTElLRSBMQ0FTRSgnJHdvcmQnKSBPUkRFUiBCWSByZWxldmFuY2UgREVTQyBMSU1JVCA3NSIpOworCSAgICBpZiAoJHJlc3VsdCkgeworCQkkaiA9IG15c3FsX251bV9yb3dzKCRyZXN1bHQpOworCQlpZiAoJGogPT0gMCkgCisJCSAgICBteXNxbF9mcmVlX3Jlc3VsdCgkcmVzdWx0KTsKKwkgICAgfQorCSAgICBsb2dRdWVyeVdvcmQoJHdvcmQpOworCX0KKwlyZXR1cm4gYXJyYXkoJHJlc3VsdCwgJGopOworICAgIH0KKyAgICBmdW5jdGlvbiBYU0xUcXVlcnlBcmNoaXZlV29yZCgkd29yZCkgeworICAgICAgICAkcmVzdWx0ID0gTlVMTDsKKwkkaiA9IDA7CisgICAgICAgIGlmICgkd29yZCkgeworCSAgICAkcmVzdWx0ID0gbXlzcWxfcXVlcnkgKCJTRUxFQ1QgWFNMVHdvcmRzQXJjaGl2ZS5yZWxldmFuY2UsIFhTTFR3b3Jkc0FyY2hpdmUubmFtZSwgJ3hzbHQtbGlzdCcsIGFyY2hpdmVzLnJlc291cmNlLCBhcmNoaXZlcy50aXRsZSBGUk9NIFhTTFR3b3Jkc0FyY2hpdmUsIGFyY2hpdmVzIFdIRVJFIExDQVNFKFhTTFR3b3Jkc0FyY2hpdmUubmFtZSkgTElLRSBMQ0FTRSgnJHdvcmQnKSBhbmQgWFNMVHdvcmRzQXJjaGl2ZS5JRCA9IGFyY2hpdmVzLklEIE9SREVSIEJZIHJlbGV2YW5jZSBERVNDIExJTUlUIDc1Iik7CisJICAgIGlmICgkcmVzdWx0KSB7CisJCSRqID0gbXlzcWxfbnVtX3Jvd3MoJHJlc3VsdCk7CisJCWlmICgkaiA9PSAwKSAKKwkJICAgIG15c3FsX2ZyZWVfcmVzdWx0KCRyZXN1bHQpOworCSAgICB9CisJICAgIGxvZ1F1ZXJ5V29yZCgkd29yZCk7CisJfQorCXJldHVybiBhcnJheSgkcmVzdWx0LCAkaik7CisgICAgfQorICAgIGZ1bmN0aW9uIHJlc1NvcnQgKCRhLCAkYikgeworCWxpc3QoJHJhLCR0YSwkbWEsJG5hLCRkYSkgPSAkYTsKKwlsaXN0KCRyYiwkdGIsJG1iLCRuYiwkZGIpID0gJGI7CisJaWYgKCRyYSA9PSAkcmIpIHJldHVybiAwOworCXJldHVybiAoJHJhID4gJHJiKSA/IC0xIDogMTsKKyAgICB9CisgICAgaWYgKCgkcXVlcnkpICYmIChzdHJsZW4oJHF1ZXJ5KSA8PSA1MCkpIHsKKwkkbGluayA9IG15c3FsX2Nvbm5lY3QgKCJsb2NhbGhvc3QiLCAibm9ib2R5Iik7CisJaWYgKCEkbGluaykgeworCSAgICBlY2hvICI8cD4gQ291bGQgbm90IGNvbm5lY3QgdG8gdGhlIGRhdGFiYXNlOiAiLCBteXNxbF9lcnJvcigpOworCX0gZWxzZSB7CisJICAgIG15c3FsX3NlbGVjdF9kYigieG1sc29mdCIsICRsaW5rKTsKKwkgICAgJGxpc3QgPSBleHBsb2RlICgiICIsICRxdWVyeSk7CisJICAgICRyZXN1bHRzID0gYXJyYXkoKTsKKwkgICAgJG51bWJlciA9IDA7CisJICAgIGZvciAoJG51bWJlciA9IDA7JG51bWJlciA8IGNvdW50KCRsaXN0KTskbnVtYmVyKyspIHsKKworCQkkd29yZCA9ICRsaXN0WyRudW1iZXJdOworCQlpZiAoKCRzY29wZSA9PSAnYW55JykgfHwgKCRzY29wZSA9PSAnWE1MJykgfHwKKwkJICAgICgkc2NvcGUgPT0gJ0FQSScpIHx8ICgkc2NvcGUgPT0gJ1hNTEFQSScpKSB7CisJCSAgICBsaXN0KCRyZXN1bHQsICRqKSA9IHF1ZXJ5V29yZCgkd29yZCk7CisJCSAgICBpZiAoJGogPiAwKSB7CisJCQlmb3IgKCRpID0gMDsgJGkgPCAkajsgJGkrKykgeworCQkJICAgICRyZWxldmFuY2UgPSBteXNxbF9yZXN1bHQoJHJlc3VsdCwgJGksIDApOworCQkJICAgICRuYW1lID0gbXlzcWxfcmVzdWx0KCRyZXN1bHQsICRpLCAxKTsKKwkJCSAgICAkdHlwZSA9IG15c3FsX3Jlc3VsdCgkcmVzdWx0LCAkaSwgMik7CisJCQkgICAgJG1vZHVsZSA9IG15c3FsX3Jlc3VsdCgkcmVzdWx0LCAkaSwgMyk7CisJCQkgICAgJGRlc2MgPSBteXNxbF9yZXN1bHQoJHJlc3VsdCwgJGksIDQpOworCQkJICAgIGlmIChhcnJheV9rZXlfZXhpc3RzKCRuYW1lLCAkcmVzdWx0cykpIHsKKwkJCQlsaXN0KCRyLCR0LCRtLCRkLCR3LCR1KSA9ICRyZXN1bHRzWyRuYW1lXTsKKwkJCQkkcmVzdWx0c1skbmFtZV0gPSBhcnJheSgoJHIgKyAkcmVsZXZhbmNlKSAqIDIsCisJCQkJCQkJJHQsJG0sJGQsJHcsJHUpOworCQkJICAgIH0gZWxzZSB7CisJCQkJJGlkID0gJG5hbWU7CisJCQkJJG0gPSBzdHJ0b2xvd2VyKCRtb2R1bGUpOworCQkJCSR1cmwgPSAiaHRtbC9saWJ4bWwtJG1vZHVsZS5odG1sIyRpZCI7CisJCQkJJHJlc3VsdHNbJG5hbWVdID0gYXJyYXkoJHJlbGV2YW5jZSwkdHlwZSwKKwkJCQkJCSRtb2R1bGUsICRkZXNjLCAkbmFtZSwgJHVybCk7CisJCQkgICAgfQorCQkJfQorCQkJbXlzcWxfZnJlZV9yZXN1bHQoJHJlc3VsdCk7CisJCSAgICB9CisJCX0KKwkJaWYgKCgkc2NvcGUgPT0gJ2FueScpIHx8ICgkc2NvcGUgPT0gJ1hTTFQnKSB8fAorCQkgICAgKCRzY29wZSA9PSAnQVBJJykgfHwgKCRzY29wZSA9PSAnWFNMVEFQSScpKSB7CisJCSAgICBsaXN0KCRyZXN1bHQsICRqKSA9IFhTTFRxdWVyeVdvcmQoJHdvcmQpOworCQkgICAgaWYgKCRqID4gMCkgeworCQkJZm9yICgkaSA9IDA7ICRpIDwgJGo7ICRpKyspIHsKKwkJCSAgICAkcmVsZXZhbmNlID0gbXlzcWxfcmVzdWx0KCRyZXN1bHQsICRpLCAwKTsKKwkJCSAgICAkbmFtZSA9IG15c3FsX3Jlc3VsdCgkcmVzdWx0LCAkaSwgMSk7CisJCQkgICAgJHR5cGUgPSBteXNxbF9yZXN1bHQoJHJlc3VsdCwgJGksIDIpOworCQkJICAgICRtb2R1bGUgPSBteXNxbF9yZXN1bHQoJHJlc3VsdCwgJGksIDMpOworCQkJICAgICRkZXNjID0gbXlzcWxfcmVzdWx0KCRyZXN1bHQsICRpLCA0KTsKKwkJCSAgICBpZiAoYXJyYXlfa2V5X2V4aXN0cygkbmFtZSwgJHJlc3VsdHMpKSB7CisJCQkJbGlzdCgkciwkdCwkbSwkZCwkdywkdSkgPSAkcmVzdWx0c1skbmFtZV07CisJCQkJJHJlc3VsdHNbJG5hbWVdID0gYXJyYXkoKCRyICsgJHJlbGV2YW5jZSkgKiAyLAorCQkJCQkJCSR0LCRtLCRkLCR3LCR1KTsKKwkJCSAgICB9IGVsc2UgeworCQkJCSRpZCA9ICRuYW1lOworCQkJCSRtID0gc3RydG9sb3dlcigkbW9kdWxlKTsKKwkJCQkkdXJsID0gIlhTTFQvaHRtbC9saWJ4c2x0LSRtb2R1bGUuaHRtbCMkaWQiOworCQkJCSRyZXN1bHRzWyRuYW1lXSA9IGFycmF5KCRyZWxldmFuY2UsJHR5cGUsCisJCQkJCQkkbW9kdWxlLCAkZGVzYywgJG5hbWUsICR1cmwpOworCQkJICAgIH0KKwkJCX0KKwkJCW15c3FsX2ZyZWVfcmVzdWx0KCRyZXN1bHQpOworCQkgICAgfQorCQl9CisJCWlmICgoJHNjb3BlID09ICdhbnknKSB8fCAoJHNjb3BlID09ICdYTUwnKSB8fAorCQkgICAgKCRzY29wZSA9PSAnRE9DUycpIHx8ICgkc2NvcGUgPT0gJ1hNTERPQycpKSB7CisJCSAgICBsaXN0KCRyZXN1bHQsICRrKSA9IHF1ZXJ5SFRNTFdvcmQoJHdvcmQpOworCQkgICAgaWYgKCRrID4gMCkgeworCQkJZm9yICgkaSA9IDA7ICRpIDwgJGs7ICRpKyspIHsKKwkJCSAgICAkcmVsZXZhbmNlID0gbXlzcWxfcmVzdWx0KCRyZXN1bHQsICRpLCAwKTsKKwkJCSAgICAkbmFtZSA9IG15c3FsX3Jlc3VsdCgkcmVzdWx0LCAkaSwgMSk7CisJCQkgICAgJGlkID0gbXlzcWxfcmVzdWx0KCRyZXN1bHQsICRpLCAyKTsKKwkJCSAgICAkbW9kdWxlID0gbXlzcWxfcmVzdWx0KCRyZXN1bHQsICRpLCAzKTsKKwkJCSAgICAkZGVzYyA9IG15c3FsX3Jlc3VsdCgkcmVzdWx0LCAkaSwgNCk7CisJCQkgICAgaWYgKHN0cm5jbXAoJG1vZHVsZSwgImxpYnhtbC0iLCA3KSA9PSAwKQorCQkJICAgICAgICAkdXJsID0gImh0bWwvJG1vZHVsZSI7CisJCQkgICAgaWYgKCRpZCAhPSAiIikgeworCQkJCSR1cmwgPSAkdXJsICsgIiMkaWQiOworCQkJICAgIH0KKwkJCSAgICAkcmVzdWx0c1siJG5hbWUgX2h0bWxfICRudW1iZXIgXyAkaSJdID0KKwkJCQkJICBhcnJheSgkcmVsZXZhbmNlLCAiWE1MIGRvY3MiLAorCQkJCQkJJG1vZHVsZSwgJGRlc2MsICRuYW1lLCAkdXJsKTsKKwkJCX0KKwkJCW15c3FsX2ZyZWVfcmVzdWx0KCRyZXN1bHQpOworCQkgICAgfQorCQl9CisJCWlmICgoJHNjb3BlID09ICdhbnknKSB8fCAoJHNjb3BlID09ICdYU0xUJykgfHwKKwkJICAgICgkc2NvcGUgPT0gJ0RPQ1MnKSB8fCAoJHNjb3BlID09ICdYU0xURE9DJykpIHsKKwkJICAgIGxpc3QoJHJlc3VsdCwgJGspID0gWFNMVHF1ZXJ5SFRNTFdvcmQoJHdvcmQpOworCQkgICAgaWYgKCRrID4gMCkgeworCQkJZm9yICgkaSA9IDA7ICRpIDwgJGs7ICRpKyspIHsKKwkJCSAgICAkcmVsZXZhbmNlID0gbXlzcWxfcmVzdWx0KCRyZXN1bHQsICRpLCAwKTsKKwkJCSAgICAkbmFtZSA9IG15c3FsX3Jlc3VsdCgkcmVzdWx0LCAkaSwgMSk7CisJCQkgICAgJGlkID0gbXlzcWxfcmVzdWx0KCRyZXN1bHQsICRpLCAyKTsKKwkJCSAgICAkbW9kdWxlID0gbXlzcWxfcmVzdWx0KCRyZXN1bHQsICRpLCAzKTsKKwkJCSAgICAkZGVzYyA9IG15c3FsX3Jlc3VsdCgkcmVzdWx0LCAkaSwgNCk7CisJCQkgICAgJHVybCA9ICJYU0xULyRtb2R1bGUiOworCQkJICAgIGlmICgkaWQgIT0gIiIpIHsKKwkJCQkkdXJsID0gJHVybCArICIjJGlkIjsKKwkJCSAgICB9CisJCQkgICAgJHJlc3VsdHNbIiRuYW1lIHhzbHRodG1sICRudW1iZXIgXyAkaSAiXSA9CisJCQkJCSAgYXJyYXkoJHJlbGV2YW5jZSwgIlhTTFQgZG9jcyIsCisJCQkJCQkkbW9kdWxlLCAkZGVzYywgJG5hbWUsICR1cmwpOworCQkJfQorCQkJbXlzcWxfZnJlZV9yZXN1bHQoJHJlc3VsdCk7CisJCSAgICB9CisJCX0KKwkJaWYgKCgkc2NvcGUgPT0gJ2FueScpIHx8ICgkc2NvcGUgPT0gJ1hNTCcpIHx8CisJCSAgICAoJHNjb3BlID09ICdMSVNUUycpIHx8ICgkc2NvcGUgPT0gJ1hNTExJU1QnKSkgeworCQkgICAgbGlzdCgkcmVzdWx0LCAkaikgPSBxdWVyeUFyY2hpdmVXb3JkKCR3b3JkKTsKKwkJICAgIGlmICgkaiA+IDApIHsKKwkJCWZvciAoJGkgPSAwOyAkaSA8ICRqOyAkaSsrKSB7CisJCQkgICAgJHJlbGV2YW5jZSA9IG15c3FsX3Jlc3VsdCgkcmVzdWx0LCAkaSwgMCk7CisJCQkgICAgJG5hbWUgPSBteXNxbF9yZXN1bHQoJHJlc3VsdCwgJGksIDEpOworCQkJICAgICR0eXBlID0gbXlzcWxfcmVzdWx0KCRyZXN1bHQsICRpLCAyKTsKKwkJCSAgICAkdXJsID0gbXlzcWxfcmVzdWx0KCRyZXN1bHQsICRpLCAzKTsKKwkJCSAgICAkZGVzYyA9IG15c3FsX3Jlc3VsdCgkcmVzdWx0LCAkaSwgNCk7CisJCQkgICAgaWYgKGFycmF5X2tleV9leGlzdHMoJHVybCwgJHJlc3VsdHMpKSB7CisJCQkJbGlzdCgkciwkdCwkbSwkZCwkdywkdSkgPSAkcmVzdWx0c1skdXJsXTsKKwkJCQkkcmVzdWx0c1skbmFtZV0gPSBhcnJheSgoJHIgKyAkcmVsZXZhbmNlKSAqIDIsCisJCQkJCQkJJHQsJG0sJGQsJHcsJHUpOworCQkJICAgIH0gZWxzZSB7CisJCQkJJGlkID0gJG5hbWU7CisJCQkJJG0gPSBzdHJ0b2xvd2VyKCRtb2R1bGUpOworCQkJCSR1ID0gc3RyX3JlcGxhY2UoCisJCQkiaHR0cDovL21haWwuZ25vbWUub3JnL2FyY2hpdmVzL3htbC8iLCAiIiwgJHVybCk7CisJCQkJJHJlc3VsdHNbJHVybF0gPSBhcnJheSgkcmVsZXZhbmNlLCR0eXBlLAorCQkJCQkJJHUsICRkZXNjLCAkbmFtZSwgJHVybCk7CisJCQkgICAgfQorCQkJfQorCQkJbXlzcWxfZnJlZV9yZXN1bHQoJHJlc3VsdCk7CisJCSAgICB9CisJCX0KKwkJaWYgKCgkc2NvcGUgPT0gJ2FueScpIHx8ICgkc2NvcGUgPT0gJ1hTTFQnKSB8fAorCQkgICAgKCRzY29wZSA9PSAnTElTVFMnKSB8fCAoJHNjb3BlID09ICdYU0xUTElTVCcpKSB7CisJCSAgICBsaXN0KCRyZXN1bHQsICRqKSA9IFhTTFRxdWVyeUFyY2hpdmVXb3JkKCR3b3JkKTsKKwkJICAgIGlmICgkaiA+IDApIHsKKwkJCWZvciAoJGkgPSAwOyAkaSA8ICRqOyAkaSsrKSB7CisJCQkgICAgJHJlbGV2YW5jZSA9IG15c3FsX3Jlc3VsdCgkcmVzdWx0LCAkaSwgMCk7CisJCQkgICAgJG5hbWUgPSBteXNxbF9yZXN1bHQoJHJlc3VsdCwgJGksIDEpOworCQkJICAgICR0eXBlID0gbXlzcWxfcmVzdWx0KCRyZXN1bHQsICRpLCAyKTsKKwkJCSAgICAkdXJsID0gbXlzcWxfcmVzdWx0KCRyZXN1bHQsICRpLCAzKTsKKwkJCSAgICAkZGVzYyA9IG15c3FsX3Jlc3VsdCgkcmVzdWx0LCAkaSwgNCk7CisJCQkgICAgaWYgKGFycmF5X2tleV9leGlzdHMoJHVybCwgJHJlc3VsdHMpKSB7CisJCQkJbGlzdCgkciwkdCwkbSwkZCwkdywkdSkgPSAkcmVzdWx0c1skdXJsXTsKKwkJCQkkcmVzdWx0c1skbmFtZV0gPSBhcnJheSgoJHIgKyAkcmVsZXZhbmNlKSAqIDIsCisJCQkJCQkJJHQsJG0sJGQsJHcsJHUpOworCQkJICAgIH0gZWxzZSB7CisJCQkJJGlkID0gJG5hbWU7CisJCQkJJG0gPSBzdHJ0b2xvd2VyKCRtb2R1bGUpOworCQkJCSR1ID0gc3RyX3JlcGxhY2UoCisJCQkiaHR0cDovL21haWwuZ25vbWUub3JnL2FyY2hpdmVzL3hzbHQvIiwgIiIsICR1cmwpOworCQkJCSRyZXN1bHRzWyR1cmxdID0gYXJyYXkoJHJlbGV2YW5jZSwkdHlwZSwKKwkJCQkJCSR1LCAkZGVzYywgJG5hbWUsICR1cmwpOworCQkJICAgIH0KKwkJCX0KKwkJCW15c3FsX2ZyZWVfcmVzdWx0KCRyZXN1bHQpOworCQkgICAgfQorCQl9CisJICAgIH0KKwkgICAgaWYgKChjb3VudCgkcmVzdWx0cykgPT0gMCkgJiYgKGNvdW50KCRsaXN0KSA9PSAxKSkgeworCQkkd29yZCA9ICRsaXN0WzBdOworCQlpZiAoKCRzY29wZSA9PSAnYW55JykgfHwgKCRzY29wZSA9PSAnWE1MJykgfHwKKwkJICAgICgkc2NvcGUgPT0gJ0FQSScpIHx8ICgkc2NvcGUgPT0gJ1hNTEFQSScpKSB7CisJCSAgICBsaXN0KCRyZXN1bHQsICRqKSA9IHF1ZXJ5V29yZCgieG1sJHdvcmQiKTsKKwkJICAgIGlmICgkaiA+IDApIHsKKwkJCWZvciAoJGkgPSAwOyAkaSA8ICRqOyAkaSsrKSB7CisJCQkgICAgJHJlbGV2YW5jZSA9IG15c3FsX3Jlc3VsdCgkcmVzdWx0LCAkaSwgMCk7CisJCQkgICAgJG5hbWUgPSBteXNxbF9yZXN1bHQoJHJlc3VsdCwgJGksIDEpOworCQkJICAgICR0eXBlID0gbXlzcWxfcmVzdWx0KCRyZXN1bHQsICRpLCAyKTsKKwkJCSAgICAkbW9kdWxlID0gbXlzcWxfcmVzdWx0KCRyZXN1bHQsICRpLCAzKTsKKwkJCSAgICAkZGVzYyA9IG15c3FsX3Jlc3VsdCgkcmVzdWx0LCAkaSwgNCk7CisJCQkgICAgaWYgKGFycmF5X2tleV9leGlzdHMoJG5hbWUsICRyZXN1bHRzKSkgeworCQkJCWxpc3QoJHIsJHQsJG0sJGQsJHcsJHUpID0gJHJlc3VsdHNbJG5hbWVdOworCQkJCSRyZXN1bHRzWyRuYW1lXSA9IGFycmF5KCgkciArICRyZWxldmFuY2UpICogMiwKKwkJCQkJCQkkdCwkbSwkZCwkdywkdSk7CisJCQkgICAgfSBlbHNlIHsKKwkJCQkkaWQgPSAkbmFtZTsKKwkJCQkkbSA9IHN0cnRvbG93ZXIoJG1vZHVsZSk7CisJCQkJJHVybCA9ICJodG1sL2xpYnhtbC0kbW9kdWxlLmh0bWwjJGlkIjsKKwkJCQkkcmVzdWx0c1skbmFtZV0gPSBhcnJheSgkcmVsZXZhbmNlLCR0eXBlLAorCQkJCQkJJG1vZHVsZSwgJGRlc2MsICRuYW1lLCAkdXJsKTsKKwkJCSAgICB9CisJCQl9CisJCQlteXNxbF9mcmVlX3Jlc3VsdCgkcmVzdWx0KTsKKwkJICAgIH0KKwkJfQorCQlpZiAoKCRzY29wZSA9PSAnYW55JykgfHwgKCRzY29wZSA9PSAnWFNMVCcpIHx8CisJCSAgICAoJHNjb3BlID09ICdBUEknKSB8fCAoJHNjb3BlID09ICdYU0xUQVBJJykpIHsKKwkJICAgIGxpc3QoJHJlc3VsdCwgJGopID0gWFNMVHF1ZXJ5V29yZCgieHNsdCR3b3JkIik7CisJCSAgICBpZiAoJGogPiAwKSB7CisJCQlmb3IgKCRpID0gMDsgJGkgPCAkajsgJGkrKykgeworCQkJICAgICRyZWxldmFuY2UgPSBteXNxbF9yZXN1bHQoJHJlc3VsdCwgJGksIDApOworCQkJICAgICRuYW1lID0gbXlzcWxfcmVzdWx0KCRyZXN1bHQsICRpLCAxKTsKKwkJCSAgICAkdHlwZSA9IG15c3FsX3Jlc3VsdCgkcmVzdWx0LCAkaSwgMik7CisJCQkgICAgJG1vZHVsZSA9IG15c3FsX3Jlc3VsdCgkcmVzdWx0LCAkaSwgMyk7CisJCQkgICAgJGRlc2MgPSBteXNxbF9yZXN1bHQoJHJlc3VsdCwgJGksIDQpOworCQkJICAgIGlmIChhcnJheV9rZXlfZXhpc3RzKCRuYW1lLCAkcmVzdWx0cykpIHsKKwkJCQlsaXN0KCRyLCR0LCRtLCRkLCR3LCR1KSA9ICRyZXN1bHRzWyRuYW1lXTsKKwkJCQkkcmVzdWx0c1skbmFtZV0gPSBhcnJheSgoJHIgKyAkcmVsZXZhbmNlKSAqIDIsCisJCQkJCQkJJHQsJG0sJGQsJHcsJHUpOworCQkJICAgIH0gZWxzZSB7CisJCQkJJGlkID0gJG5hbWU7CisJCQkJJG0gPSBzdHJ0b2xvd2VyKCRtb2R1bGUpOworCQkJCSR1cmwgPSAiWFNMVC9odG1sL2xpYnhzbHQtJG1vZHVsZS5odG1sIyRpZCI7CisJCQkJJHJlc3VsdHNbJG5hbWVdID0gYXJyYXkoJHJlbGV2YW5jZSwkdHlwZSwKKwkJCQkJCSRtb2R1bGUsICRkZXNjLCAkbmFtZSwgJHVybCk7CisJCQkgICAgfQorCQkJfQorCQkJbXlzcWxfZnJlZV9yZXN1bHQoJHJlc3VsdCk7CisJCSAgICB9CisJCX0KKwkgICAgfQorCSAgICBteXNxbF9jbG9zZSgkbGluayk7CisJICAgICRuYiA9IGNvdW50KCRyZXN1bHRzKTsKKwkgICAgZWNobyAiPGgzIGFsaWduPSdjZW50ZXInPkZvdW5kICRuYiByZXN1bHRzIGZvciBxdWVyeSAkcXVlcnk8L2gzPlxuIjsKKwkgICAgdXNvcnQoJHJlc3VsdHMsICJyZXNTb3J0Iik7CisKKyAgICAgICAgICAgIGlmICgkbmIgPiAwKSB7CisJCXByaW50ZigiPHRhYmxlPjx0Ym9keT5cbiIpOworCQlwcmludGYoIjx0cj48dGQ+UXVhbGl0eTwvdGQ+PHRkPlN5bWJvbDwvdGQ+PHRkPlR5cGU8L3RkPjx0ZD5tb2R1bGU8L3RkPjx0ZD5EZXNjcmlwdGlvbjwvdGQ+PC90cj5cbiIpOworCQkkaSA9IDA7CisJCXdoaWxlIChsaXN0ICgkbmFtZSwgJHZhbCkgPSBlYWNoICgkcmVzdWx0cykpIHsKKwkJICAgIGxpc3QoJHIsJHQsJG0sJGQsJHMsJHUpID0gJHZhbDsKKwkJICAgICRtID0gc3RyX3JlcGxhY2UoIjwiLCAiJmx0OyIsICRtKTsKKwkJICAgICRzID0gc3RyX3JlcGxhY2UoIjwiLCAiJmx0OyIsICRzKTsKKwkJICAgICRkID0gc3RyX3JlcGxhY2UoIjwiLCAiJmx0OyIsICRkKTsKKwkJICAgIGVjaG8gIjx0cj48dGQ+JHI8L3RkPjx0ZD48YSBocmVmPSckdSc+JHM8L2E+PC90ZD48dGQ+JHQ8L3RkPjx0ZD4kbTwvdGQ+PHRkPiRkPC90ZD48L3RyPiI7CisJCSAgICAkaSA9ICRpICsgMTsKKwkJICAgIGlmICgkaSA+IDc1KQorCQkgICAgICAgIGJyZWFrOworCQl9CisJCXByaW50ZigiPC90Ym9keT48L3RhYmxlPlxuIik7CisJICAgIH0KKwl9CisgICAgfQorPz4KKworPC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD4KKzwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT4KKzwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2Mvc2VhcmNoZXMuaHRtbCBiL2xpYnhtbDIvZG9jL3NlYXJjaGVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzIyYjhkNgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL3NlYXJjaGVzLmh0bWwKQEAgLTAsMCArMSw2MSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/PgorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPgorPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPjxoZWFkPjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTEiIC8+PGxpbmsgcmVsPSJTSE9SVENVVCBJQ09OIiBocmVmPSIvZmF2aWNvbi5pY28iIC8+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK1REIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitCT0RZIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2E7IG1hcmdpbi10b3A6IDJlbTsgbWFyZ2luLWxlZnQ6IDBlbTsgbWFyZ2luLXJpZ2h0OiAwZW19CitIMSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDIge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gzIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitBOmxpbmssIEE6dmlzaXRlZCwgQTphY3RpdmUgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB9Cis8L3N0eWxlPjx0aXRsZT5TZWFyY2ggc3RhdGlzdGljcyBmb3IgMjAwNDA0MDg8L3RpdGxlPjwvaGVhZD48Ym9keSBiZ2NvbG9yPSIjOGI3NzY1IiB0ZXh0PSIjMDAwMDAwIiBsaW5rPSIjYTA2MDYwIiB2bGluaz0iIzAwMDAwMCI+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjEwMCUiIGNlbGxwYWRkaW5nPSI1IiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCB3aWR0aD0iMTIwIj48YSBocmVmPSJodHRwOi8vc3dwYXQuZmZpaS5vcmcvIj48aW1nIHNyYz0iZXBhdGVudHMucG5nIiBhbHQ9IkFjdGlvbiBhZ2FpbnN0IHNvZnR3YXJlIHBhdGVudHMiIC8+PC9hPjwvdGQ+PHRkIHdpZHRoPSIxODAiPjxhIGhyZWY9Imh0dHA6Ly93d3cuZ25vbWUub3JnLyI+PGltZyBzcmM9Imdub21lMi5wbmciIGFsdD0iR25vbWUyIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1N0YXR1cyI+PGltZyBzcmM9InczYy5wbmciIGFsdD0iVzNDIExvZ28iIC8+PC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cucmVkaGF0LmNvbS8iPjxpbWcgc3JjPSJyZWRoYXQuZ2lmIiBhbHQ9IlJlZCBIYXQgTG9nbyIgLz48L2E+PGRpdiBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnLyI+PGltZyBzcmM9IkxpYnhtbDItTG9nby0xODB4MTY4LmdpZiIgYWx0PSJNYWRlIHdpdGggTGlieG1sMiBMb2dvIiAvPjwvYT48L2Rpdj48L3RkPjx0ZD48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iOTAlIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyIgYmdjb2xvcj0iI2ZmZmFjZCI+PHRyPjx0ZCBhbGlnbj0iY2VudGVyIj48aDE+PC9oMT48aDI+U2VhcmNoIHN0YXRpc3RpY3MgZm9yIDIwMDQwNDA4PC9oMj48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iNCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiIgd2lkdGg9IjEwMCUiPjx0cj48dGQgdmFsaWduPSJ0b3AiIHdpZHRoPSIyMDAiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPk1haW4gTWVudTwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48Zm9ybSBhY3Rpb249InNlYXJjaC5waHAiIGVuY3R5cGU9ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIgbWV0aG9kPSJnZXQiPjxpbnB1dCBuYW1lPSJxdWVyeSIgdHlwZT0idGV4dCIgc2l6ZT0iMjAiIHZhbHVlPSIiIC8+PGlucHV0IG5hbWU9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU2VhcmNoIC4uLiIgLz48L2Zvcm0+PHVsPjxsaT48YSBocmVmPSJpbmRleC5odG1sIj5Ib21lPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImV4YW1wbGVzL2luZGV4Lmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5Db2RlIEV4YW1wbGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0bWwvaW5kZXguaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPkFQSSBNZW51PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imd1aWRlbGluZXMuaHRtbCI+WE1MIEd1aWRlbGluZXM8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5SZWxhdGVkIGxpbmtzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iaHR0cDovL21haWwuZ25vbWUub3JnL2FyY2hpdmVzL3htbC8iPk1haWwgYXJjaGl2ZTwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvWFNMVC8iPlhTTFQgbGlieHNsdDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vcGhkLmNzLnVuaWJvLml0L2dkb21lMi8iPkRPTSBnZG9tZTI8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5hbGVrc2V5LmNvbS94bWxzZWMvIj5YTUwtRFNpZyB4bWxzZWM8L2E+PC9saT48bGk+PGEgaHJlZj0iZnRwOi8veG1sc29mdC5vcmcvIj5GVFA8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56bGF0a292aWMuY29tL3Byb2plY3RzL2xpYnhtbC8iPldpbmRvd3MgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2dhcnlwZW5uaW5ndG9uLm5ldC9saWJ4bWwyLyI+U29sYXJpcyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3Lnp2ZW5vLmNvbS9vcGVuX3NvdXJjZS9saWJ4bWwyeHNsdC5odG1sIj5NYWNPc1ggYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9saWJ4bWwyLXBhcy8iPlBhc2NhbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2J1Z2xpc3QuY2dpP3Byb2R1Y3Q9bGlieG1sMiI+QnVnIFRyYWNrZXI8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48aDI+IHdlZWtseSBzdGF0aXN0aWNzOiA8L2gyPjxwPjQxNjQzNSB0b3RhbCB3b3JkcywKKyAgICAgIDk4NzUgdW5pcSB3b3Jkcy48L3A+PHA+IFRvcCA1MCBxdWVyaWVzOjwvcD48cD48YnIgLz48YSBocmVmPSJzZWFyY2gucGhwP3F1ZXJ5PWxpYnhtbDIiPmxpYnhtbDI8L2E+IDExODEyIHRpbWVzLgorICA8YnIgLz48YSBocmVmPSJzZWFyY2gucGhwP3F1ZXJ5PWxpYnhtbCI+bGlieG1sPC9hPiAxMDE3MCB0aW1lcy4KKyAgPGJyIC8+PGEgaHJlZj0ic2VhcmNoLnBocD9xdWVyeT14cGF0aCI+eHBhdGg8L2E+IDYxNzIgdGltZXMuCisgIDxiciAvPjxhIGhyZWY9InNlYXJjaC5waHA/cXVlcnk9c2NoZW1hIj5zY2hlbWE8L2E+IDU3OTggdGltZXMuCisgIDxiciAvPjxhIGhyZWY9InNlYXJjaC5waHA/cXVlcnk9eG1sbGludCI+eG1sbGludDwvYT4gNTQ3MiB0aW1lcy4KKyAgPGJyIC8+PGEgaHJlZj0ic2VhcmNoLnBocD9xdWVyeT1YTUwiPlhNTDwvYT4gNTQzNSB0aW1lcy4KKyAgPGJyIC8+PGEgaHJlZj0ic2VhcmNoLnBocD9xdWVyeT14bWxQYXJzZUZpbGUiPnhtbFBhcnNlRmlsZTwvYT4gNDIxOSB0aW1lcy4KKyAgPGJyIC8+PGEgaHJlZj0ic2VhcmNoLnBocD9xdWVyeT1waHAiPnBocDwvYT4gMzkzNSB0aW1lcy4KKyAgPGJyIC8+PGEgaHJlZj0ic2VhcmNoLnBocD9xdWVyeT1EVEQiPkRURDwvYT4gMzI3MCB0aW1lcy4KKyAgPGJyIC8+PGEgaHJlZj0ic2VhcmNoLnBocD9xdWVyeT1lbmNvZGluZyI+ZW5jb2Rpbmc8L2E+IDMxMDEgdGltZXMuCisgIDxiciAvPjxhIGhyZWY9InNlYXJjaC5waHA/cXVlcnk9eG1sR2V0UHJvcCI+eG1sR2V0UHJvcDwvYT4gMzA4NCB0aW1lcy4KKyAgPGJyIC8+PGEgaHJlZj0ic2VhcmNoLnBocD9xdWVyeT14c2x0cHJvYyI+eHNsdHByb2M8L2E+IDMwNzQgdGltZXMuCisgIDxiciAvPjxhIGhyZWY9InNlYXJjaC5waHA/cXVlcnk9ZG93bmxvYWQiPmRvd25sb2FkPC9hPiAyOTcxIHRpbWVzLgorICA8YnIgLz48YSBocmVmPSJzZWFyY2gucGhwP3F1ZXJ5PXhtbE5vZGVMaXN0R2V0U3RyaW5nIj54bWxOb2RlTGlzdEdldFN0cmluZzwvYT4gMjkxNyB0aW1lcy4KKyAgPGJyIC8+PGEgaHJlZj0ic2VhcmNoLnBocD9xdWVyeT1weXRob24iPnB5dGhvbjwvYT4gMjc4OSB0aW1lcy4KKyAgPGJyIC8+PGEgaHJlZj0ic2VhcmNoLnBocD9xdWVyeT1TQVgiPlNBWDwvYT4gMjYyMSB0aW1lcy4KKyAgPGJyIC8+PGEgaHJlZj0ic2VhcmNoLnBocD9xdWVyeT14bWxQYXJzZU1lbW9yeSI+eG1sUGFyc2VNZW1vcnk8L2E+IDI0NzIgdGltZXMuCisgIDxiciAvPjxhIGhyZWY9InNlYXJjaC5waHA/cXVlcnk9cGVybCI+cGVybDwvYT4gMjM4NSB0aW1lcy4KKyAgPGJyIC8+PGEgaHJlZj0ic2VhcmNoLnBocD9xdWVyeT1pY29udiI+aWNvbnY8L2E+IDIzMTggdGltZXMuCisgIDxiciAvPjxhIGhyZWY9InNlYXJjaC5waHA/cXVlcnk9ZXJyb3IiPmVycm9yPC9hPiAyMjk4IHRpbWVzLgorICA8YnIgLz48YSBocmVmPSJzZWFyY2gucGhwP3F1ZXJ5PWh0bWwiPmh0bWw8L2E+IDIyNTUgdGltZXMuCisgIDxiciAvPjxhIGhyZWY9InNlYXJjaC5waHA/cXVlcnk9eG1sQ2hhciI+eG1sQ2hhcjwvYT4gMjEzNiB0aW1lcy4KKyAgPGJyIC8+PGEgaHJlZj0ic2VhcmNoLnBocD9xdWVyeT1saWJ4c2x0Ij5saWJ4c2x0PC9hPiAyMDU1IHRpbWVzLgorICA8YnIgLz48YSBocmVmPSJzZWFyY2gucGhwP3F1ZXJ5PWMrKyI+YysrPC9hPiAyMDIwIHRpbWVzLgorICA8YnIgLz48YSBocmVmPSJzZWFyY2gucGhwP3F1ZXJ5PXhtbE5vZGVQdHIiPnhtbE5vZGVQdHI8L2E+IDE5MjggdGltZXMuCisgIDxiciAvPjxhIGhyZWY9InNlYXJjaC5waHA/cXVlcnk9d2luZG93cyI+d2luZG93czwvYT4gMTkxOCB0aW1lcy4KKyAgPGJyIC8+PGEgaHJlZj0ic2VhcmNoLnBocD9xdWVyeT10byI+dG88L2E+IDE4OTEgdGltZXMuCisgIDxiciAvPjxhIGhyZWY9InNlYXJjaC5waHA/cXVlcnk9bm9kZSI+bm9kZTwvYT4gMTg2MCB0aW1lcy4KKyAgPGJyIC8+PGEgaHJlZj0ic2VhcmNoLnBocD9xdWVyeT14bWxGcmVlIj54bWxGcmVlPC9hPiAxODU0IHRpbWVzLgorICA8YnIgLz48YSBocmVmPSJzZWFyY2gucGhwP3F1ZXJ5PWV4YW1wbGUiPmV4YW1wbGU8L2E+IDE3ODQgdGltZXMuCisgIDxiciAvPjxhIGhyZWY9InNlYXJjaC5waHA/cXVlcnk9aW5zdGFsbCI+aW5zdGFsbDwvYT4gMTc2MyB0aW1lcy4KKyAgPGJyIC8+PGEgaHJlZj0ic2VhcmNoLnBocD9xdWVyeT1wYXJzZXIiPnBhcnNlcjwvYT4gMTcxNSB0aW1lcy4KKyAgPGJyIC8+PGEgaHJlZj0ic2VhcmNoLnBocD9xdWVyeT14bWxOZXdEb2MiPnhtbE5ld0RvYzwvYT4gMTY5NSB0aW1lcy4KKyAgPGJyIC8+PGEgaHJlZj0ic2VhcmNoLnBocD9xdWVyeT1uYW1lc3BhY2UiPm5hbWVzcGFjZTwvYT4gMTY5MyB0aW1lcy4KKyAgPGJyIC8+PGEgaHJlZj0ic2VhcmNoLnBocD9xdWVyeT14bWxTdHJjbXAiPnhtbFN0cmNtcDwvYT4gMTU2NCB0aW1lcy4KKyAgPGJyIC8+PGEgaHJlZj0ic2VhcmNoLnBocD9xdWVyeT14bWxub2RlIj54bWxub2RlPC9hPiAxNTU4IHRpbWVzLgorICA8YnIgLz48YSBocmVmPSJzZWFyY2gucGhwP3F1ZXJ5PXBhcnNlIj5wYXJzZTwvYT4gMTUxNyB0aW1lcy4KKyAgPGJyIC8+PGEgaHJlZj0ic2VhcmNoLnBocD9xdWVyeT1tZW1vcnkiPm1lbW9yeTwvYT4gMTQ4NCB0aW1lcy4KKyAgPGJyIC8+PGEgaHJlZj0ic2VhcmNoLnBocD9xdWVyeT1kb20iPmRvbTwvYT4gMTQ1NyB0aW1lcy4KKyAgPGJyIC8+PGEgaHJlZj0ic2VhcmNoLnBocD9xdWVyeT1YSW5jbHVkZSI+WEluY2x1ZGU8L2E+IDE0NDQgdGltZXMuCisgIDxiciAvPjxhIGhyZWY9InNlYXJjaC5waHA/cXVlcnk9ZW50aXR5Ij5lbnRpdHk8L2E+IDE0MjMgdGltZXMuCisgIDxiciAvPjxhIGhyZWY9InNlYXJjaC5waHA/cXVlcnk9eG1sU2F2ZUZvcm1hdEZpbGUiPnhtbFNhdmVGb3JtYXRGaWxlPC9hPiAxMzkwIHRpbWVzLgorICA8YnIgLz48YSBocmVmPSJzZWFyY2gucGhwP3F1ZXJ5PXhzbHQiPnhzbHQ8L2E+IDEzNjEgdGltZXMuCisgIDxiciAvPjxhIGhyZWY9InNlYXJjaC5waHA/cXVlcnk9YXR0cmlidXRlIj5hdHRyaWJ1dGU8L2E+IDEzNjAgdGltZXMuCisgIDxiciAvPjxhIGhyZWY9InNlYXJjaC5waHA/cXVlcnk9eG1sRG9jUHRyIj54bWxEb2NQdHI8L2E+IDEzNTAgdGltZXMuCisgIDxiciAvPjxhIGhyZWY9InNlYXJjaC5waHA/cXVlcnk9eHNkIj54c2Q8L2E+IDEzMTkgdGltZXMuCisgIDxiciAvPjxhIGhyZWY9InNlYXJjaC5waHA/cXVlcnk9eG1sRG9jR2V0Um9vdEVsZW1lbnQiPnhtbERvY0dldFJvb3RFbGVtZW50PC9hPiAxMjg1IHRpbWVzLgorICA8YnIgLz48YSBocmVmPSJzZWFyY2gucGhwP3F1ZXJ5PXZhbGlkYXRlIj52YWxpZGF0ZTwvYT4gMTI3MCB0aW1lcy4KKyAgPGJyIC8+PGEgaHJlZj0ic2VhcmNoLnBocD9xdWVyeT12YWxpZGF0aW9uIj52YWxpZGF0aW9uPC9hPiAxMjM0IHRpbWVzLgorICA8YnIgLz48YSBocmVmPSJzZWFyY2gucGhwP3F1ZXJ5PXR1dG9yaWFsIj50dXRvcmlhbDwvYT4gMTE0MCB0aW1lcy4KKyAgPC9wPjxwPjxhIGhyZWY9ImJ1Z3MuaHRtbCI+RGFuaWVsIFZlaWxsYXJkPC9hPjwvcD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2Mvc2VhcmNoZXMueHNsIGIvbGlieG1sMi9kb2Mvc2VhcmNoZXMueHNsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU3ZmY1YzgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9zZWFyY2hlcy54c2wKQEAgLTAsMCArMSw5NyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IS0tIHRoaXMgc3R5bGVzaGVldCBidWlsZHMgdGhlIEFQSSouaHRtbCAsIGl0IHdvcmtzIGJhc2VkIG9uIGxpYnhtbDItcmVmcy54bWwKKyAgLS0+Cis8eHNsOnN0eWxlc2hlZXQgdmVyc2lvbj0iMS4wIgorICB4bWxuczp4c2w9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvWFNML1RyYW5zZm9ybSIKKyAgeG1sbnM6ZXhzbD0iaHR0cDovL2V4c2x0Lm9yZy9jb21tb24iCisgIGV4dGVuc2lvbi1lbGVtZW50LXByZWZpeGVzPSJleHNsIgorICBleGNsdWRlLXJlc3VsdC1wcmVmaXhlcz0iZXhzbCI+CisKKyAgPCEtLSBJbXBvcnQgdGhlIHJlc3Qgb2YgdGhlIHNpdGUgc3R5bGVzaGVldHMgLS0+CisgIDx4c2w6aW1wb3J0IGhyZWY9InNpdGUueHNsIi8+CisKKyAgPCEtLSBHZW5lcmF0ZSBYSFRNTC0xLjAgdHJhbnNpdGlvbmFsIC0tPgorICA8eHNsOm91dHB1dCBtZXRob2Q9InhtbCIgZW5jb2Rpbmc9IlVURi04IiBpbmRlbnQ9InllcyIKKyAgICAgIGRvY3R5cGUtcHVibGljPSItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIKKyAgICAgIGRvY3R5cGUtc3lzdGVtPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIi8+CisKKyAgPHhzbDp2YXJpYWJsZSBuYW1lPSJocmVmX2Jhc2UiIHNlbGVjdD0iJyciLz4KKworICA8eHNsOnRlbXBsYXRlIG5hbWU9InN0YXRpc3RpY3MiPgorICAgICAgPGgyPiB3ZWVrbHkgc3RhdGlzdGljczogPC9oMj4KKyAgICAgIDxwPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAdG90YWwiLz4gdG90YWwgd29yZHMsCisgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iQHVuaXEiLz4gdW5pcSB3b3Jkcy48L3A+CisgICAgICA8cD4gVG9wIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbnIiLz4gcXVlcmllczo8L3A+CisgIDwveHNsOnRlbXBsYXRlPgorCisgIDx4c2w6dGVtcGxhdGUgbWF0Y2g9InF1ZXJ5Ij4KKyAgICAgPGJyLz48YSBocmVmPSJzZWFyY2gucGhwP3F1ZXJ5PXtzdHJpbmcoLil9Ij48eHNsOnZhbHVlLW9mCisgICAgICAgICAgc2VsZWN0PSJzdHJpbmcoLikiLz48L2E+CisJICA8eHNsOnRleHQ+IDwveHNsOnRleHQ+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBjb3VudCIvPiB0aW1lcy4KKyAgPC94c2w6dGVtcGxhdGU+CisKKyAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD0icXVlcmllcyI+CisgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJkYXRlIiBzZWxlY3Q9IkBkYXRlIi8+CisgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJ0aXRsZSI+U2VhcmNoIHN0YXRpc3RpY3MgZm9yIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkZGF0ZSIvPjwveHNsOnZhcmlhYmxlPgorICAgIDx4c2w6ZG9jdW1lbnQgaHJlZj0ic2VhcmNoZXMuaHRtbCIgbWV0aG9kPSJ4bWwiIGVuY29kaW5nPSJVVEYtOCIKKyAgICAgIGRvY3R5cGUtcHVibGljPSItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIKKyAgICAgIGRvY3R5cGUtc3lzdGVtPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIj4KKyAgICAgIDxodG1sPgorICAgICAgICA8aGVhZD4KKyAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9InN0eWxlIi8+CisJPHhzbDplbGVtZW50IG5hbWU9InRpdGxlIj4KKwkgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkdGl0bGUiLz4KKwk8L3hzbDplbGVtZW50PgorICAgICAgICA8L2hlYWQ+CisgICAgICAgIDxib2R5IGJnY29sb3I9IiM4Yjc3NjUiIHRleHQ9IiMwMDAwMDAiIGxpbms9IiNhMDYwNjAiIHZsaW5rPSIjMDAwMDAwIj4KKyAgICAgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0idGl0bGVib3giPgorCSAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0idGl0bGUiIHNlbGVjdD0iJHRpdGxlIi8+CisJICA8L3hzbDpjYWxsLXRlbXBsYXRlPgorICAgICAgICAgIDx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI0IiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPgorICAgICAgICAgICAgPHRyPgorICAgICAgICAgICAgICA8dGQgYmdjb2xvcj0iIzhiNzc2NSI+CisgICAgICAgICAgICAgICAgPHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIiB3aWR0aD0iMTAwJSI+CisgICAgICAgICAgICAgICAgICA8dHI+CisgICAgICAgICAgICAgICAgICAgIDx0ZCB2YWxpZ249InRvcCIgd2lkdGg9IjIwMCIgYmdjb2xvcj0iIzhiNzc2NSI+CisgICAgICAgICAgICAgICAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9InRvYyIvPgorICAgICAgICAgICAgICAgICAgICA8L3RkPgorICAgICAgICAgICAgICAgICAgICA8dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiM4Yjc3NjUiPgorICAgICAgICAgICAgICAgICAgICAgIDx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiPgorICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgorICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMyIgY2VsbHNwYWNpbmc9IjEiIHdpZHRoPSIxMDAlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGJnY29sb3I9IiNmZmZhY2QiPgorCQkJCSAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9InN0YXRpc3RpY3MiLz4KKwkJCQkJPHA+CisJCQkJICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9InF1ZXJ5Ii8+CisJCQkJCTwvcD4KKwkJCQkJPHA+PGEgaHJlZj0ieyRocmVmX2Jhc2V9YnVncy5odG1sIj5EYW5pZWwgVmVpbGxhcmQ8L2E+PC9wPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPgorICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgorICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KKyAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPgorICAgICAgICAgICAgICAgICAgICA8L3RkPgorICAgICAgICAgICAgICAgICAgPC90cj4KKyAgICAgICAgICAgICAgICA8L3RhYmxlPgorICAgICAgICAgICAgICA8L3RkPgorICAgICAgICAgICAgPC90cj4KKyAgICAgICAgICA8L3RhYmxlPgorICAgICAgICA8L2JvZHk+CisgICAgICA8L2h0bWw+CisgICAgPC94c2w6ZG9jdW1lbnQ+CisgIDwveHNsOnRlbXBsYXRlPgorCisgIDx4c2w6dGVtcGxhdGUgbWF0Y2g9Ii8iPgorICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0icXVlcmllcyIvPgorICA8L3hzbDp0ZW1wbGF0ZT4KKworPC94c2w6c3R5bGVzaGVldD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL3NlYXJjaGVzL0FsbFF1ZXJpZXMtMjAwNDA0MDgueG1sIGIvbGlieG1sMi9kb2Mvc2VhcmNoZXMvQWxsUXVlcmllcy0yMDA0MDQwOC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzJkMmVjNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL3NlYXJjaGVzL0FsbFF1ZXJpZXMtMjAwNDA0MDgueG1sCkBAIC0wLDAgKzEsNTIgQEAKKzxxdWVyaWVzIHRvdGFsPSc0MTUwODMnIHVuaXE9Jzk1NjUnIG5yPSc1MCcgZGF0ZT0nMjAwNDA0MDgnPgorICA8cXVlcnkgY291bnQ9JzExODY2Jz5saWJ4bWwyPC9xdWVyeT4KKyAgPHF1ZXJ5IGNvdW50PScxMDE5NCc+bGlieG1sPC9xdWVyeT4KKyAgPHF1ZXJ5IGNvdW50PSc2MTk2Jz54cGF0aDwvcXVlcnk+CisgIDxxdWVyeSBjb3VudD0nNTg1Mic+c2NoZW1hPC9xdWVyeT4KKyAgPHF1ZXJ5IGNvdW50PSc1NTI1Jz54bWxsaW50PC9xdWVyeT4KKyAgPHF1ZXJ5IGNvdW50PSc1NDUzJz5YTUw8L3F1ZXJ5PgorICA8cXVlcnkgY291bnQ9JzQyNTUnPnhtbFBhcnNlRmlsZTwvcXVlcnk+CisgIDxxdWVyeSBjb3VudD0nMzk4Myc+cGhwPC9xdWVyeT4KKyAgPHF1ZXJ5IGNvdW50PSczMjgyJz5EVEQ8L3F1ZXJ5PgorICA8cXVlcnkgY291bnQ9JzMxNDMnPmVuY29kaW5nPC9xdWVyeT4KKyAgPHF1ZXJ5IGNvdW50PSczMTE0Jz54bWxHZXRQcm9wPC9xdWVyeT4KKyAgPHF1ZXJ5IGNvdW50PSczMDg2Jz54c2x0cHJvYzwvcXVlcnk+CisgIDxxdWVyeSBjb3VudD0nMjk5NSc+ZG93bmxvYWQ8L3F1ZXJ5PgorICA8cXVlcnkgY291bnQ9JzI5MjMnPnhtbE5vZGVMaXN0R2V0U3RyaW5nPC9xdWVyeT4KKyAgPHF1ZXJ5IGNvdW50PScyODAxJz5weXRob248L3F1ZXJ5PgorICA8cXVlcnkgY291bnQ9JzI2NTEnPlNBWDwvcXVlcnk+CisgIDxxdWVyeSBjb3VudD0nMjUzMyc+eG1sUGFyc2VNZW1vcnk8L3F1ZXJ5PgorICA8cXVlcnkgY291bnQ9JzI0MTEnPnBlcmw8L3F1ZXJ5PgorICA8cXVlcnkgY291bnQ9JzIzMzAnPmljb252PC9xdWVyeT4KKyAgPHF1ZXJ5IGNvdW50PScyMzE2Jz5lcnJvcjwvcXVlcnk+CisgIDxxdWVyeSBjb3VudD0nMjI1NSc+aHRtbDwvcXVlcnk+CisgIDxxdWVyeSBjb3VudD0nMjE0OCc+eG1sQ2hhcjwvcXVlcnk+CisgIDxxdWVyeSBjb3VudD0nMjA4Mic+bGlieHNsdDwvcXVlcnk+CisgIDxxdWVyeSBjb3VudD0nMjAyMCc+YysrPC9xdWVyeT4KKyAgPHF1ZXJ5IGNvdW50PScxOTQwJz54bWxOb2RlUHRyPC9xdWVyeT4KKyAgPHF1ZXJ5IGNvdW50PScxOTI0Jz53aW5kb3dzPC9xdWVyeT4KKyAgPHF1ZXJ5IGNvdW50PScxODkxJz50bzwvcXVlcnk+CisgIDxxdWVyeSBjb3VudD0nMTg4MCc+bm9kZTwvcXVlcnk+CisgIDxxdWVyeSBjb3VudD0nMTg2MCc+eG1sRnJlZTwvcXVlcnk+CisgIDxxdWVyeSBjb3VudD0nMTgwMic+ZXhhbXBsZTwvcXVlcnk+CisgIDxxdWVyeSBjb3VudD0nMTc2Myc+aW5zdGFsbDwvcXVlcnk+CisgIDxxdWVyeSBjb3VudD0nMTczMyc+cGFyc2VyPC9xdWVyeT4KKyAgPHF1ZXJ5IGNvdW50PScxNzE3Jz5uYW1lc3BhY2U8L3F1ZXJ5PgorICA8cXVlcnkgY291bnQ9JzE3MDInPnhtbE5ld0RvYzwvcXVlcnk+CisgIDxxdWVyeSBjb3VudD0nMTU4OSc+eG1sbm9kZTwvcXVlcnk+CisgIDxxdWVyeSBjb3VudD0nMTU3MCc+eG1sU3RyY21wPC9xdWVyeT4KKyAgPHF1ZXJ5IGNvdW50PScxNTI5Jz5wYXJzZTwvcXVlcnk+CisgIDxxdWVyeSBjb3VudD0nMTQ5MCc+bWVtb3J5PC9xdWVyeT4KKyAgPHF1ZXJ5IGNvdW50PScxNDY5Jz5kb208L3F1ZXJ5PgorICA8cXVlcnkgY291bnQ9JzE0NTAnPlhJbmNsdWRlPC9xdWVyeT4KKyAgPHF1ZXJ5IGNvdW50PScxNDIzJz5lbnRpdHk8L3F1ZXJ5PgorICA8cXVlcnkgY291bnQ9JzEzOTYnPnhtbFNhdmVGb3JtYXRGaWxlPC9xdWVyeT4KKyAgPHF1ZXJ5IGNvdW50PScxMzczJz5hdHRyaWJ1dGU8L3F1ZXJ5PgorICA8cXVlcnkgY291bnQ9JzEzNzMnPnhzbHQ8L3F1ZXJ5PgorICA8cXVlcnkgY291bnQ9JzEzNjMnPnhzZDwvcXVlcnk+CisgIDxxdWVyeSBjb3VudD0nMTM1MCc+eG1sRG9jUHRyPC9xdWVyeT4KKyAgPHF1ZXJ5IGNvdW50PScxMzAzJz54bWxEb2NHZXRSb290RWxlbWVudDwvcXVlcnk+CisgIDxxdWVyeSBjb3VudD0nMTI3MCc+dmFsaWRhdGU8L3F1ZXJ5PgorICA8cXVlcnkgY291bnQ9JzEyMzQnPnZhbGlkYXRpb248L3F1ZXJ5PgorICA8cXVlcnkgY291bnQ9JzExNDYnPnR1dG9yaWFsPC9xdWVyeT4KKzwvcXVlcmllcz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL3NlYXJjaGVzL1F1ZXJpZXMtMjAwNDA0MDgueG1sIGIvbGlieG1sMi9kb2Mvc2VhcmNoZXMvUXVlcmllcy0yMDA0MDQwOC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjJlNjc1OQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL3NlYXJjaGVzL1F1ZXJpZXMtMjAwNDA0MDgueG1sCkBAIC0wLDAgKzEsNTIgQEAKKzxxdWVyaWVzIHRvdGFsPSc0MTk4NTQnIHVuaXE9JzEwMDg5JyBucj0nNTAnIGRhdGU9JzIwMDQwNDA4Jz4KKyAgPHF1ZXJ5IGNvdW50PScxMTg2Nic+bGlieG1sMjwvcXVlcnk+CisgIDxxdWVyeSBjb3VudD0nMTAxOTQnPmxpYnhtbDwvcXVlcnk+CisgIDxxdWVyeSBjb3VudD0nNjE5Nic+eHBhdGg8L3F1ZXJ5PgorICA8cXVlcnkgY291bnQ9JzU4NTInPnNjaGVtYTwvcXVlcnk+CisgIDxxdWVyeSBjb3VudD0nNTUyNSc+eG1sbGludDwvcXVlcnk+CisgIDxxdWVyeSBjb3VudD0nNTQ1Myc+WE1MPC9xdWVyeT4KKyAgPHF1ZXJ5IGNvdW50PSc0MjU1Jz54bWxQYXJzZUZpbGU8L3F1ZXJ5PgorICA8cXVlcnkgY291bnQ9JzM5ODMnPnBocDwvcXVlcnk+CisgIDxxdWVyeSBjb3VudD0nMzI4Mic+RFREPC9xdWVyeT4KKyAgPHF1ZXJ5IGNvdW50PSczMTQzJz5lbmNvZGluZzwvcXVlcnk+CisgIDxxdWVyeSBjb3VudD0nMzExNCc+eG1sR2V0UHJvcDwvcXVlcnk+CisgIDxxdWVyeSBjb3VudD0nMzA4Nic+eHNsdHByb2M8L3F1ZXJ5PgorICA8cXVlcnkgY291bnQ9JzI5OTUnPmRvd25sb2FkPC9xdWVyeT4KKyAgPHF1ZXJ5IGNvdW50PScyOTIzJz54bWxOb2RlTGlzdEdldFN0cmluZzwvcXVlcnk+CisgIDxxdWVyeSBjb3VudD0nMjgwMSc+cHl0aG9uPC9xdWVyeT4KKyAgPHF1ZXJ5IGNvdW50PScyNjUxJz5TQVg8L3F1ZXJ5PgorICA8cXVlcnkgY291bnQ9JzI1MzMnPnhtbFBhcnNlTWVtb3J5PC9xdWVyeT4KKyAgPHF1ZXJ5IGNvdW50PScyNDExJz5wZXJsPC9xdWVyeT4KKyAgPHF1ZXJ5IGNvdW50PScyMzMwJz5pY29udjwvcXVlcnk+CisgIDxxdWVyeSBjb3VudD0nMjMxNic+ZXJyb3I8L3F1ZXJ5PgorICA8cXVlcnkgY291bnQ9JzIyNTUnPmh0bWw8L3F1ZXJ5PgorICA8cXVlcnkgY291bnQ9JzIxNDgnPnhtbENoYXI8L3F1ZXJ5PgorICA8cXVlcnkgY291bnQ9JzIwODInPmxpYnhzbHQ8L3F1ZXJ5PgorICA8cXVlcnkgY291bnQ9JzIwMjAnPmMrKzwvcXVlcnk+CisgIDxxdWVyeSBjb3VudD0nMTk0MCc+eG1sTm9kZVB0cjwvcXVlcnk+CisgIDxxdWVyeSBjb3VudD0nMTkyNCc+d2luZG93czwvcXVlcnk+CisgIDxxdWVyeSBjb3VudD0nMTg5MSc+dG88L3F1ZXJ5PgorICA8cXVlcnkgY291bnQ9JzE4ODAnPm5vZGU8L3F1ZXJ5PgorICA8cXVlcnkgY291bnQ9JzE4NjAnPnhtbEZyZWU8L3F1ZXJ5PgorICA8cXVlcnkgY291bnQ9JzE4MDInPmV4YW1wbGU8L3F1ZXJ5PgorICA8cXVlcnkgY291bnQ9JzE3NjMnPmluc3RhbGw8L3F1ZXJ5PgorICA8cXVlcnkgY291bnQ9JzE3MzMnPnBhcnNlcjwvcXVlcnk+CisgIDxxdWVyeSBjb3VudD0nMTcxNyc+bmFtZXNwYWNlPC9xdWVyeT4KKyAgPHF1ZXJ5IGNvdW50PScxNzAyJz54bWxOZXdEb2M8L3F1ZXJ5PgorICA8cXVlcnkgY291bnQ9JzE1ODknPnhtbG5vZGU8L3F1ZXJ5PgorICA8cXVlcnkgY291bnQ9JzE1NzAnPnhtbFN0cmNtcDwvcXVlcnk+CisgIDxxdWVyeSBjb3VudD0nMTUyOSc+cGFyc2U8L3F1ZXJ5PgorICA8cXVlcnkgY291bnQ9JzE0OTAnPm1lbW9yeTwvcXVlcnk+CisgIDxxdWVyeSBjb3VudD0nMTQ2OSc+ZG9tPC9xdWVyeT4KKyAgPHF1ZXJ5IGNvdW50PScxNDUwJz5YSW5jbHVkZTwvcXVlcnk+CisgIDxxdWVyeSBjb3VudD0nMTQyMyc+ZW50aXR5PC9xdWVyeT4KKyAgPHF1ZXJ5IGNvdW50PScxMzk2Jz54bWxTYXZlRm9ybWF0RmlsZTwvcXVlcnk+CisgIDxxdWVyeSBjb3VudD0nMTM3Myc+YXR0cmlidXRlPC9xdWVyeT4KKyAgPHF1ZXJ5IGNvdW50PScxMzczJz54c2x0PC9xdWVyeT4KKyAgPHF1ZXJ5IGNvdW50PScxMzYzJz54c2Q8L3F1ZXJ5PgorICA8cXVlcnkgY291bnQ9JzEzNTAnPnhtbERvY1B0cjwvcXVlcnk+CisgIDxxdWVyeSBjb3VudD0nMTMwMyc+eG1sRG9jR2V0Um9vdEVsZW1lbnQ8L3F1ZXJ5PgorICA8cXVlcnkgY291bnQ9JzEyNzAnPnZhbGlkYXRlPC9xdWVyeT4KKyAgPHF1ZXJ5IGNvdW50PScxMjM0Jz52YWxpZGF0aW9uPC9xdWVyeT4KKyAgPHF1ZXJ5IGNvdW50PScxMTQ2Jz50dXRvcmlhbDwvcXVlcnk+Cis8L3F1ZXJpZXM+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy9zaXRlLnhzbCBiL2xpYnhtbDIvZG9jL3NpdGUueHNsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjExYWFlZTIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9zaXRlLnhzbApAQCAtMCwwICsxLDc0MSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8eHNsOnN0eWxlc2hlZXQgeG1sbnM6eHNsPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L1hTTC9UcmFuc2Zvcm0iIHZlcnNpb249IjEuMCI+CisgIDx4c2w6b3V0cHV0IG1ldGhvZD0ieG1sIiBlbmNvZGluZz0iVVRGLTgiIGluZGVudD0ieWVzIgorICAgICAgZG9jdHlwZS1wdWJsaWM9Ii0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIgorICAgICAgZG9jdHlwZS1zeXN0ZW09Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiLz4KKworICA8eHNsOnZhcmlhYmxlIG5hbWU9ImhyZWZfYmFzZSIgc2VsZWN0PSInJyIvPgorICA8eHNsOnZhcmlhYmxlIG5hbWU9Im1lbnVfbmFtZSI+TWFpbiBNZW51PC94c2w6dmFyaWFibGU+Cis8IS0tCisgLSByZXR1cm5zIHRoZSBmaWxlbmFtZSBhc3NvY2lhdGVkIHRvIGFuIElEIGluIHRoZSBvcmlnaW5hbCBmaWxlCisgLS0+CisgIDx4c2w6dGVtcGxhdGUgbmFtZT0idG9jZmlsZW5hbWUiPgorICAgIDx4c2w6cGFyYW0gbmFtZT0ibmFtZSIgc2VsZWN0PSJzdHJpbmcoQGhyZWYpIi8+CisgICAgPHhzbDpjaG9vc2U+CisgICAgICA8eHNsOndoZW4gdGVzdD0iJG5hbWUgPSAnI0ludHJvZHVjdGknIj4KKyAgICAgICAgPHhzbDp0ZXh0PmludHJvLmh0bWw8L3hzbDp0ZXh0PgorICAgICAgPC94c2w6d2hlbj4KKyAgICAgIDx4c2w6d2hlbiB0ZXN0PSIkbmFtZSA9ICcjRG9jdW1lbnRhdCciPgorICAgICAgICA8eHNsOnRleHQ+ZG9jcy5odG1sPC94c2w6dGV4dD4KKyAgICAgIDwveHNsOndoZW4+CisgICAgICA8eHNsOndoZW4gdGVzdD0iJG5hbWUgPSAnI1JlcG9ydGluZyciPgorICAgICAgICA8eHNsOnRleHQ+YnVncy5odG1sPC94c2w6dGV4dD4KKyAgICAgIDwveHNsOndoZW4+CisgICAgICA8eHNsOndoZW4gdGVzdD0iJG5hbWUgPSAnI2hlbHAnIj4KKyAgICAgICAgPHhzbDp0ZXh0PmhlbHAuaHRtbDwveHNsOnRleHQ+CisgICAgICA8L3hzbDp3aGVuPgorICAgICAgPHhzbDp3aGVuIHRlc3Q9IiRuYW1lID0gJyNIZWxwJyI+CisgICAgICAgIDx4c2w6dGV4dD5oZWxwLmh0bWw8L3hzbDp0ZXh0PgorICAgICAgPC94c2w6d2hlbj4KKyAgICAgIDx4c2w6d2hlbiB0ZXN0PSIkbmFtZSA9ICcjRG93bmxvYWRzJyI+CisgICAgICAgIDx4c2w6dGV4dD5kb3dubG9hZHMuaHRtbDwveHNsOnRleHQ+CisgICAgICA8L3hzbDp3aGVuPgorICAgICAgPHhzbDp3aGVuIHRlc3Q9IiRuYW1lID0gJyNOZXdzJyI+CisgICAgICAgIDx4c2w6dGV4dD5uZXdzLmh0bWw8L3hzbDp0ZXh0PgorICAgICAgPC94c2w6d2hlbj4KKyAgICAgIDx4c2w6d2hlbiB0ZXN0PSIkbmFtZSA9ICcjQ29udHJpYnV0aSciPgorICAgICAgICA8eHNsOnRleHQ+Y29udHJpYnMuaHRtbDwveHNsOnRleHQ+CisgICAgICA8L3hzbDp3aGVuPgorICAgICAgPHhzbDp3aGVuIHRlc3Q9IiRuYW1lID0gJyN4c2x0cHJvYyciPgorICAgICAgICA8eHNsOnRleHQ+eHNsdHByb2MyLmh0bWw8L3hzbDp0ZXh0PgorICAgICAgPC94c2w6d2hlbj4KKyAgICAgIDx4c2w6d2hlbiB0ZXN0PSIkbmFtZSA9ICcjQVBJJyI+CisgICAgICAgIDx4c2w6dGV4dD48L3hzbDp0ZXh0PgorICAgICAgPC94c2w6d2hlbj4KKyAgICAgIDx4c2w6d2hlbiB0ZXN0PSIkbmFtZSA9ICcjWFNMVCciPgorICAgICAgICA8eHNsOnRleHQ+WFNMVC5odG1sPC94c2w6dGV4dD4KKyAgICAgIDwveHNsOndoZW4+CisgICAgICA8eHNsOndoZW4gdGVzdD0iJG5hbWUgPSAnI1hNTCciPgorICAgICAgICA8eHNsOnRleHQ+WE1MaW5mby5odG1sPC94c2w6dGV4dD4KKyAgICAgIDwveHNsOndoZW4+CisgICAgICA8eHNsOndoZW4gdGVzdD0iJG5hbWUgPSAnI1ZhbGlkYXRpb24nIj4KKyAgICAgICAgPHhzbDp0ZXh0PnhtbGR0ZC5odG1sPC94c2w6dGV4dD4KKyAgICAgIDwveHNsOndoZW4+CisgICAgICA8eHNsOndoZW4gdGVzdD0iJG5hbWUgPSAnI3RyZWUnIj4KKyAgICAgICAgPHhzbDp0ZXh0PjwveHNsOnRleHQ+CisgICAgICA8L3hzbDp3aGVuPgorICAgICAgPHhzbDp3aGVuIHRlc3Q9IiRuYW1lID0gJyNsaWJyYXJ5JyI+CisgICAgICAgIDx4c2w6dGV4dD48L3hzbDp0ZXh0PgorICAgICAgPC94c2w6d2hlbj4KKyAgICAgIDx4c2w6d2hlbiB0ZXN0PSIkbmFtZSA9ICcjaW50ZXJmYWNlJyI+CisgICAgICAgIDx4c2w6dGV4dD48L3hzbDp0ZXh0PgorICAgICAgPC94c2w6d2hlbj4KKyAgICAgIDx4c2w6d2hlbiB0ZXN0PSIkbmFtZSA9ICcjRXhhbXBsZSciPgorICAgICAgICA8eHNsOnRleHQ+PC94c2w6dGV4dD4KKyAgICAgIDwveHNsOndoZW4+CisgICAgICA8eHNsOndoZW4gdGVzdD0iJG5hbWUgPSAnI0VudGl0aWVzJyI+CisgICAgICAgIDx4c2w6dGV4dD48L3hzbDp0ZXh0PgorICAgICAgPC94c2w6d2hlbj4KKyAgICAgIDx4c2w6d2hlbiB0ZXN0PSIkbmFtZSA9ICcjYXJjaGl0ZWN0dXJlJyI+CisgICAgICAgIDx4c2w6dGV4dD48L3hzbDp0ZXh0PgorICAgICAgPC94c2w6d2hlbj4KKyAgICAgIDx4c2w6d2hlbiB0ZXN0PSIkbmFtZSA9ICcjTmFtZXNwYWNlcyciPgorICAgICAgICA8eHNsOnRleHQ+bmFtZXNwYWNlcy5odG1sPC94c2w6dGV4dD4KKyAgICAgIDwveHNsOndoZW4+CisgICAgICA8eHNsOndoZW4gdGVzdD0iJG5hbWUgPSAnI0RPTSciPgorICAgICAgICA8eHNsOnRleHQ+PC94c2w6dGV4dD4KKyAgICAgIDwveHNsOndoZW4+CisgICAgICA8eHNsOndoZW4gdGVzdD0iJG5hbWUgPSAnI0NhdGFsb2cnIj4KKyAgICAgICAgPHhzbDp0ZXh0PmNhdGFsb2cuaHRtbDwveHNsOnRleHQ+CisgICAgICA8L3hzbDp3aGVuPgorICAgICAgPHhzbDp3aGVuIHRlc3Q9IiRuYW1lID0gJyNVcGdyYWRpbmcnIj4KKyAgICAgICAgPHhzbDp0ZXh0PjwveHNsOnRleHQ+CisgICAgICA8L3hzbDp3aGVuPgorICAgICAgPHhzbDp3aGVuIHRlc3Q9IiRuYW1lID0gJyNFbmNvZGluZ3MnIj4KKyAgICAgICAgPHhzbDp0ZXh0PmVuY29kaW5nLmh0bWw8L3hzbDp0ZXh0PgorICAgICAgPC94c2w6d2hlbj4KKyAgICAgIDx4c2w6d2hlbiB0ZXN0PSIkbmFtZSA9ICcjSU8nIj4KKyAgICAgICAgPHhzbDp0ZXh0PjwveHNsOnRleHQ+CisgICAgICA8L3hzbDp3aGVuPgorICAgICAgPHhzbDp3aGVuIHRlc3Q9IiRuYW1lID0gJyNNZW1vcnknIj4KKyAgICAgICAgPHhzbDp0ZXh0PjwveHNsOnRleHQ+CisgICAgICA8L3hzbDp3aGVuPgorICAgICAgPHhzbDp3aGVuIHRlc3Q9IiRuYW1lID0gJyNUaHJlYWQnIj4KKyAgICAgICAgPHhzbDp0ZXh0PjwveHNsOnRleHQ+CisgICAgICA8L3hzbDp3aGVuPgorICAgICAgPHhzbDp3aGVuIHRlc3Q9IiRuYW1lID0gJyNGQVEnIj4KKyAgICAgICAgPHhzbDp0ZXh0PkZBUS5odG1sPC94c2w6dGV4dD4KKyAgICAgIDwveHNsOndoZW4+CisgICAgICA8eHNsOndoZW4gdGVzdD0iJG5hbWUgPSAnI1B5dGhvbiciPgorICAgICAgICA8eHNsOnRleHQ+PC94c2w6dGV4dD4KKyAgICAgIDwveHNsOndoZW4+CisgICAgICA8eHNsOndoZW4gdGVzdD0iJG5hbWUgPSAnJyI+CisgICAgICAgIDx4c2w6dGV4dD51bmtub3duLmh0bWw8L3hzbDp0ZXh0PgorICAgICAgPC94c2w6d2hlbj4KKyAgICAgIDx4c2w6b3RoZXJ3aXNlPgorICAgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iJG5hbWUiLz4KKyAgICAgIDwveHNsOm90aGVyd2lzZT4KKyAgICA8L3hzbDpjaG9vc2U+CisgIDwveHNsOnRlbXBsYXRlPgorICA8eHNsOnRlbXBsYXRlIG5hbWU9ImRvY2ZpbGVuYW1lIj4KKyAgICA8eHNsOnBhcmFtIG5hbWU9Im5hbWUiIHNlbGVjdD0ic3RyaW5nKEBocmVmKSIvPgorICAgIDx4c2w6Y2hvb3NlPgorICAgICAgPHhzbDp3aGVuIHRlc3Q9IiRuYW1lID0gJyNJbnRyb2R1Y3RpJyI+CisgICAgICAgIDx4c2w6dGV4dD48L3hzbDp0ZXh0PgorICAgICAgPC94c2w6d2hlbj4KKyAgICAgIDx4c2w6d2hlbiB0ZXN0PSIkbmFtZSA9ICcjRG9jdW1lbnRhdCciPgorICAgICAgICA8eHNsOnRleHQ+PC94c2w6dGV4dD4KKyAgICAgIDwveHNsOndoZW4+CisgICAgICA8eHNsOndoZW4gdGVzdD0iJG5hbWUgPSAnI1JlcG9ydGluZyciPgorICAgICAgICA8eHNsOnRleHQ+PC94c2w6dGV4dD4KKyAgICAgIDwveHNsOndoZW4+CisgICAgICA8eHNsOndoZW4gdGVzdD0iJG5hbWUgPSAnI2hlbHAnIj4KKyAgICAgICAgPHhzbDp0ZXh0PjwveHNsOnRleHQ+CisgICAgICA8L3hzbDp3aGVuPgorICAgICAgPHhzbDp3aGVuIHRlc3Q9IiRuYW1lID0gJyNIZWxwJyI+CisgICAgICAgIDx4c2w6dGV4dD48L3hzbDp0ZXh0PgorICAgICAgPC94c2w6d2hlbj4KKyAgICAgIDx4c2w6d2hlbiB0ZXN0PSIkbmFtZSA9ICcjRG93bmxvYWRzJyI+CisgICAgICAgIDx4c2w6dGV4dD48L3hzbDp0ZXh0PgorICAgICAgPC94c2w6d2hlbj4KKyAgICAgIDx4c2w6d2hlbiB0ZXN0PSIkbmFtZSA9ICcjTmV3cyciPgorICAgICAgICA8eHNsOnRleHQ+PC94c2w6dGV4dD4KKyAgICAgIDwveHNsOndoZW4+CisgICAgICA8eHNsOndoZW4gdGVzdD0iJG5hbWUgPSAnI0NvbnRyaWJ1dGknIj4KKyAgICAgICAgPHhzbDp0ZXh0PjwveHNsOnRleHQ+CisgICAgICA8L3hzbDp3aGVuPgorICAgICAgPHhzbDp3aGVuIHRlc3Q9IiRuYW1lID0gJyN4c2x0cHJvYyciPgorICAgICAgICA8eHNsOnRleHQ+eHNsdHByb2MyLmh0bWw8L3hzbDp0ZXh0PgorICAgICAgPC94c2w6d2hlbj4KKyAgICAgIDx4c2w6d2hlbiB0ZXN0PSIkbmFtZSA9ICcjQVBJJyI+CisgICAgICAgIDx4c2w6dGV4dD5BUEkuaHRtbDwveHNsOnRleHQ+CisgICAgICA8L3hzbDp3aGVuPgorICAgICAgPHhzbDp3aGVuIHRlc3Q9IiRuYW1lID0gJyNYU0xUJyI+CisgICAgICAgIDx4c2w6dGV4dD5YU0xULmh0bWw8L3hzbDp0ZXh0PgorICAgICAgPC94c2w6d2hlbj4KKyAgICAgIDx4c2w6d2hlbiB0ZXN0PSIkbmFtZSA9ICcjWE1MJyI+CisgICAgICAgIDx4c2w6dGV4dD48L3hzbDp0ZXh0PgorICAgICAgPC94c2w6d2hlbj4KKyAgICAgIDx4c2w6d2hlbiB0ZXN0PSIkbmFtZSA9ICcjVmFsaWRhdGlvbiciPgorICAgICAgICA8eHNsOnRleHQ+PC94c2w6dGV4dD4KKyAgICAgIDwveHNsOndoZW4+CisgICAgICA8eHNsOndoZW4gdGVzdD0iJG5hbWUgPSAnI3RyZWUnIj4KKyAgICAgICAgPHhzbDp0ZXh0PnRyZWUuaHRtbDwveHNsOnRleHQ+CisgICAgICA8L3hzbDp3aGVuPgorICAgICAgPHhzbDp3aGVuIHRlc3Q9IiRuYW1lID0gJyNsaWJyYXJ5JyI+CisgICAgICAgIDx4c2w6dGV4dD5saWJyYXJ5Lmh0bWw8L3hzbDp0ZXh0PgorICAgICAgPC94c2w6d2hlbj4KKyAgICAgIDx4c2w6d2hlbiB0ZXN0PSIkbmFtZSA9ICcjaW50ZXJmYWNlJyI+CisgICAgICAgIDx4c2w6dGV4dD5pbnRlcmZhY2UuaHRtbDwveHNsOnRleHQ+CisgICAgICA8L3hzbDp3aGVuPgorICAgICAgPHhzbDp3aGVuIHRlc3Q9IiRuYW1lID0gJyNFeGFtcGxlJyI+CisgICAgICAgIDx4c2w6dGV4dD5leGFtcGxlLmh0bWw8L3hzbDp0ZXh0PgorICAgICAgPC94c2w6d2hlbj4KKyAgICAgIDx4c2w6d2hlbiB0ZXN0PSIkbmFtZSA9ICcjRW50aXRpZXMnIj4KKyAgICAgICAgPHhzbDp0ZXh0PmVudGl0aWVzLmh0bWw8L3hzbDp0ZXh0PgorICAgICAgPC94c2w6d2hlbj4KKyAgICAgIDx4c2w6d2hlbiB0ZXN0PSIkbmFtZSA9ICcjYXJjaGl0ZWN0dXJlJyI+CisgICAgICAgIDx4c2w6dGV4dD5hcmNoaXRlY3R1cmUuaHRtbDwveHNsOnRleHQ+CisgICAgICA8L3hzbDp3aGVuPgorICAgICAgPHhzbDp3aGVuIHRlc3Q9IiRuYW1lID0gJyNOYW1lc3BhY2VzJyI+CisgICAgICAgIDx4c2w6dGV4dD5uYW1lc3BhY2VzLmh0bWw8L3hzbDp0ZXh0PgorICAgICAgPC94c2w6d2hlbj4KKyAgICAgIDx4c2w6d2hlbiB0ZXN0PSIkbmFtZSA9ICcjRE9NJyI+CisgICAgICAgIDx4c2w6dGV4dD5ET00uaHRtbDwveHNsOnRleHQ+CisgICAgICA8L3hzbDp3aGVuPgorICAgICAgPHhzbDp3aGVuIHRlc3Q9IiRuYW1lID0gJyNDYXRhbG9nJyI+CisgICAgICAgIDx4c2w6dGV4dD48L3hzbDp0ZXh0PgorICAgICAgPC94c2w6d2hlbj4KKyAgICAgIDx4c2w6d2hlbiB0ZXN0PSIkbmFtZSA9ICcjVXBncmFkaW5nJyI+CisgICAgICAgIDx4c2w6dGV4dD51cGdyYWRlLmh0bWw8L3hzbDp0ZXh0PgorICAgICAgPC94c2w6d2hlbj4KKyAgICAgIDx4c2w6d2hlbiB0ZXN0PSIkbmFtZSA9ICcjRW5jb2RpbmdzJyI+CisgICAgICAgIDx4c2w6dGV4dD48L3hzbDp0ZXh0PgorICAgICAgPC94c2w6d2hlbj4KKyAgICAgIDx4c2w6d2hlbiB0ZXN0PSIkbmFtZSA9ICcjSU8nIj4KKyAgICAgICAgPHhzbDp0ZXh0PnhtbGlvLmh0bWw8L3hzbDp0ZXh0PgorICAgICAgPC94c2w6d2hlbj4KKyAgICAgIDx4c2w6d2hlbiB0ZXN0PSIkbmFtZSA9ICcjTWVtb3J5JyI+CisgICAgICAgIDx4c2w6dGV4dD54bWxtZW0uaHRtbDwveHNsOnRleHQ+CisgICAgICA8L3hzbDp3aGVuPgorICAgICAgPHhzbDp3aGVuIHRlc3Q9IiRuYW1lID0gJyNUaHJlYWQnIj4KKyAgICAgICAgPHhzbDp0ZXh0PnRocmVhZHMuaHRtbDwveHNsOnRleHQ+CisgICAgICA8L3hzbDp3aGVuPgorICAgICAgPHhzbDp3aGVuIHRlc3Q9IiRuYW1lID0gJyNGQVEnIj4KKyAgICAgICAgPHhzbDp0ZXh0PjwveHNsOnRleHQ+CisgICAgICA8L3hzbDp3aGVuPgorICAgICAgPHhzbDp3aGVuIHRlc3Q9IiRuYW1lID0gJyNQeXRob24nIj4KKyAgICAgICAgPHhzbDp0ZXh0PnB5dGhvbi5odG1sPC94c2w6dGV4dD4KKyAgICAgIDwveHNsOndoZW4+CisgICAgICA8eHNsOndoZW4gdGVzdD0iJG5hbWUgPSAnJyI+CisgICAgICAgIDx4c2w6dGV4dD51bmtub3duLmh0bWw8L3hzbDp0ZXh0PgorICAgICAgPC94c2w6d2hlbj4KKyAgICAgIDx4c2w6b3RoZXJ3aXNlPgorICAgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iJG5hbWUiLz4KKyAgICAgIDwveHNsOm90aGVyd2lzZT4KKyAgICA8L3hzbDpjaG9vc2U+CisgIDwveHNsOnRlbXBsYXRlPgorICA8eHNsOnRlbXBsYXRlIG5hbWU9ImZpbGVuYW1lIj4KKyAgICA8eHNsOnBhcmFtIG5hbWU9Im5hbWUiIHNlbGVjdD0ic3RyaW5nKEBocmVmKSIvPgorICAgIDx4c2w6Y2hvb3NlPgorICAgICAgPHhzbDp3aGVuIHRlc3Q9IiRuYW1lID0gJyNJbnRyb2R1Y3RpJyI+CisgICAgICAgIDx4c2w6dGV4dD5pbnRyby5odG1sPC94c2w6dGV4dD4KKyAgICAgIDwveHNsOndoZW4+CisgICAgICA8eHNsOndoZW4gdGVzdD0iJG5hbWUgPSAnI0RvY3VtZW50YXQnIj4KKyAgICAgICAgPHhzbDp0ZXh0PmRvY3MuaHRtbDwveHNsOnRleHQ+CisgICAgICA8L3hzbDp3aGVuPgorICAgICAgPHhzbDp3aGVuIHRlc3Q9IiRuYW1lID0gJyNSZXBvcnRpbmcnIj4KKyAgICAgICAgPHhzbDp0ZXh0PmJ1Z3MuaHRtbDwveHNsOnRleHQ+CisgICAgICA8L3hzbDp3aGVuPgorICAgICAgPHhzbDp3aGVuIHRlc3Q9IiRuYW1lID0gJyNoZWxwJyI+CisgICAgICAgIDx4c2w6dGV4dD5oZWxwLmh0bWw8L3hzbDp0ZXh0PgorICAgICAgPC94c2w6d2hlbj4KKyAgICAgIDx4c2w6d2hlbiB0ZXN0PSIkbmFtZSA9ICcjSGVscCciPgorICAgICAgICA8eHNsOnRleHQ+aGVscC5odG1sPC94c2w6dGV4dD4KKyAgICAgIDwveHNsOndoZW4+CisgICAgICA8eHNsOndoZW4gdGVzdD0iJG5hbWUgPSAnI0Rvd25sb2FkcyciPgorICAgICAgICA8eHNsOnRleHQ+ZG93bmxvYWRzLmh0bWw8L3hzbDp0ZXh0PgorICAgICAgPC94c2w6d2hlbj4KKyAgICAgIDx4c2w6d2hlbiB0ZXN0PSIkbmFtZSA9ICcjTmV3cyciPgorICAgICAgICA8eHNsOnRleHQ+bmV3cy5odG1sPC94c2w6dGV4dD4KKyAgICAgIDwveHNsOndoZW4+CisgICAgICA8eHNsOndoZW4gdGVzdD0iJG5hbWUgPSAnI0NvbnRyaWJ1dGknIj4KKyAgICAgICAgPHhzbDp0ZXh0PmNvbnRyaWJzLmh0bWw8L3hzbDp0ZXh0PgorICAgICAgPC94c2w6d2hlbj4KKyAgICAgIDx4c2w6d2hlbiB0ZXN0PSIkbmFtZSA9ICcjeHNsdHByb2MnIj4KKyAgICAgICAgPHhzbDp0ZXh0PnhzbHRwcm9jMi5odG1sPC94c2w6dGV4dD4KKyAgICAgIDwveHNsOndoZW4+CisgICAgICA8eHNsOndoZW4gdGVzdD0iJG5hbWUgPSAnI0FQSSciPgorICAgICAgICA8eHNsOnRleHQ+QVBJLmh0bWw8L3hzbDp0ZXh0PgorICAgICAgPC94c2w6d2hlbj4KKyAgICAgIDx4c2w6d2hlbiB0ZXN0PSIkbmFtZSA9ICcjWFNMVCciPgorICAgICAgICA8eHNsOnRleHQ+WFNMVC5odG1sPC94c2w6dGV4dD4KKyAgICAgIDwveHNsOndoZW4+CisgICAgICA8eHNsOndoZW4gdGVzdD0iJG5hbWUgPSAnI1hNTCciPgorICAgICAgICA8eHNsOnRleHQ+WE1MaW5mby5odG1sPC94c2w6dGV4dD4KKyAgICAgIDwveHNsOndoZW4+CisgICAgICA8eHNsOndoZW4gdGVzdD0iJG5hbWUgPSAnI1ZhbGlkYXRpb24nIj4KKyAgICAgICAgPHhzbDp0ZXh0PnhtbGR0ZC5odG1sPC94c2w6dGV4dD4KKyAgICAgIDwveHNsOndoZW4+CisgICAgICA8eHNsOndoZW4gdGVzdD0iJG5hbWUgPSAnI3RyZWUnIj4KKyAgICAgICAgPHhzbDp0ZXh0PnRyZWUuaHRtbDwveHNsOnRleHQ+CisgICAgICA8L3hzbDp3aGVuPgorICAgICAgPHhzbDp3aGVuIHRlc3Q9IiRuYW1lID0gJyNsaWJyYXJ5JyI+CisgICAgICAgIDx4c2w6dGV4dD5saWJyYXJ5Lmh0bWw8L3hzbDp0ZXh0PgorICAgICAgPC94c2w6d2hlbj4KKyAgICAgIDx4c2w6d2hlbiB0ZXN0PSIkbmFtZSA9ICcjaW50ZXJmYWNlJyI+CisgICAgICAgIDx4c2w6dGV4dD5pbnRlcmZhY2UuaHRtbDwveHNsOnRleHQ+CisgICAgICA8L3hzbDp3aGVuPgorICAgICAgPHhzbDp3aGVuIHRlc3Q9IiRuYW1lID0gJyNFeGFtcGxlJyI+CisgICAgICAgIDx4c2w6dGV4dD5leGFtcGxlLmh0bWw8L3hzbDp0ZXh0PgorICAgICAgPC94c2w6d2hlbj4KKyAgICAgIDx4c2w6d2hlbiB0ZXN0PSIkbmFtZSA9ICcjRW50aXRpZXMnIj4KKyAgICAgICAgPHhzbDp0ZXh0PmVudGl0aWVzLmh0bWw8L3hzbDp0ZXh0PgorICAgICAgPC94c2w6d2hlbj4KKyAgICAgIDx4c2w6d2hlbiB0ZXN0PSIkbmFtZSA9ICcjYXJjaGl0ZWN0dXJlJyI+CisgICAgICAgIDx4c2w6dGV4dD5hcmNoaXRlY3R1cmUuaHRtbDwveHNsOnRleHQ+CisgICAgICA8L3hzbDp3aGVuPgorICAgICAgPHhzbDp3aGVuIHRlc3Q9IiRuYW1lID0gJyNOYW1lc3BhY2VzJyI+CisgICAgICAgIDx4c2w6dGV4dD5uYW1lc3BhY2VzLmh0bWw8L3hzbDp0ZXh0PgorICAgICAgPC94c2w6d2hlbj4KKyAgICAgIDx4c2w6d2hlbiB0ZXN0PSIkbmFtZSA9ICcjRE9NJyI+CisgICAgICAgIDx4c2w6dGV4dD5ET00uaHRtbDwveHNsOnRleHQ+CisgICAgICA8L3hzbDp3aGVuPgorICAgICAgPHhzbDp3aGVuIHRlc3Q9IiRuYW1lID0gJyNDYXRhbG9nJyI+CisgICAgICAgIDx4c2w6dGV4dD5jYXRhbG9nLmh0bWw8L3hzbDp0ZXh0PgorICAgICAgPC94c2w6d2hlbj4KKyAgICAgIDx4c2w6d2hlbiB0ZXN0PSIkbmFtZSA9ICcjVXBncmFkaW5nJyI+CisgICAgICAgIDx4c2w6dGV4dD51cGdyYWRlLmh0bWw8L3hzbDp0ZXh0PgorICAgICAgPC94c2w6d2hlbj4KKyAgICAgIDx4c2w6d2hlbiB0ZXN0PSIkbmFtZSA9ICcjRW5jb2RpbmdzJyI+CisgICAgICAgIDx4c2w6dGV4dD5lbmNvZGluZy5odG1sPC94c2w6dGV4dD4KKyAgICAgIDwveHNsOndoZW4+CisgICAgICA8eHNsOndoZW4gdGVzdD0iJG5hbWUgPSAnI0lPJyI+CisgICAgICAgIDx4c2w6dGV4dD54bWxpby5odG1sPC94c2w6dGV4dD4KKyAgICAgIDwveHNsOndoZW4+CisgICAgICA8eHNsOndoZW4gdGVzdD0iJG5hbWUgPSAnI01lbW9yeSciPgorICAgICAgICA8eHNsOnRleHQ+eG1sbWVtLmh0bWw8L3hzbDp0ZXh0PgorICAgICAgPC94c2w6d2hlbj4KKyAgICAgIDx4c2w6d2hlbiB0ZXN0PSIkbmFtZSA9ICcjVGhyZWFkJyI+CisgICAgICAgIDx4c2w6dGV4dD50aHJlYWRzLmh0bWw8L3hzbDp0ZXh0PgorICAgICAgPC94c2w6d2hlbj4KKyAgICAgIDx4c2w6d2hlbiB0ZXN0PSIkbmFtZSA9ICcjRkFRJyI+CisgICAgICAgIDx4c2w6dGV4dD5GQVEuaHRtbDwveHNsOnRleHQ+CisgICAgICA8L3hzbDp3aGVuPgorICAgICAgPHhzbDp3aGVuIHRlc3Q9IiRuYW1lID0gJyNQeXRob24nIj4KKyAgICAgICAgPHhzbDp0ZXh0PnB5dGhvbi5odG1sPC94c2w6dGV4dD4KKyAgICAgIDwveHNsOndoZW4+CisgICAgICA8eHNsOndoZW4gdGVzdD0iJG5hbWUgPSAnJyI+CisgICAgICAgIDx4c2w6dGV4dD51bmtub3duLmh0bWw8L3hzbDp0ZXh0PgorICAgICAgPC94c2w6d2hlbj4KKyAgICAgIDx4c2w6b3RoZXJ3aXNlPgorICAgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iJG5hbWUiLz4KKyAgICAgIDwveHNsOm90aGVyd2lzZT4KKyAgICA8L3hzbDpjaG9vc2U+CisgIDwveHNsOnRlbXBsYXRlPgorPCEtLQorIC0gVGhlIGdsb2JhbCB0aXRsZQorIC0tPgorICA8eHNsOnZhcmlhYmxlIG5hbWU9Imdsb2JhbHRpdGxlIiBzZWxlY3Q9InN0cmluZygvaHRtbC9ib2R5L2gxWzFdKSIvPgorPCEtLQorIC0gVGhlIHRhYmxlIG9mIGNvbnRlbnQKKyAtLT4KKyAgPHhzbDp2YXJpYWJsZSBuYW1lPSJ0b2MiPgorICAgIDxmb3JtIGFjdGlvbj0ic2VhcmNoLnBocCIKKyAgICAgICAgICBlbmN0eXBlPSJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiIG1ldGhvZD0iZ2V0Ij4KKyAgICAgIDxpbnB1dCBuYW1lPSJxdWVyeSIgdHlwZT0idGV4dCIgc2l6ZT0iMjAiIHZhbHVlPSIiLz4KKyAgICAgIDxpbnB1dCBuYW1lPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNlYXJjaCAuLi4iLz4KKyAgICA8L2Zvcm0+CisgICAgPHVsPjwhLS0gc3R5bGU9Im1hcmdpbi1sZWZ0OiAtMWVtIiAtLT4KKyAgICAgIDxsaT48YSBocmVmPSJpbmRleC5odG1sIj5Ib21lPC9hPjwvbGk+CisgICAgICA8IS0tPGxpPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy93aWtpIj5XaWtpPC9hPjwvbGk+IC0tPgorICAgICAgPGxpPjxhIGhyZWY9Imh0bWwvaW5kZXguaHRtbCI+UmVmZXJlbmNlIE1hbnVhbDwvYT48L2xpPgorICAgICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9Ii9odG1sL2JvZHkvaDIiPgorICAgICAgICA8eHNsOnZhcmlhYmxlIG5hbWU9ImZpbGVuYW1lIj4KKyAgICAgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0idG9jZmlsZW5hbWUiPgorICAgICAgICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9Im5hbWUiIHNlbGVjdD0iY29uY2F0KCcjJywgc3RyaW5nKGFbMV0vQG5hbWUpKSIvPgorICAgICAgICAgIDwveHNsOmNhbGwtdGVtcGxhdGU+CisgICAgICAgIDwveHNsOnZhcmlhYmxlPgorCTx4c2w6aWYgdGVzdD0iJGZpbGVuYW1lICE9ICcnIj4KKwkgIDxsaT4KKwkgICAgPHhzbDplbGVtZW50IG5hbWU9ImEiPgorCSAgICAgIDx4c2w6YXR0cmlidXRlIG5hbWU9ImhyZWYiPgorCSAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRmaWxlbmFtZSIvPgorCSAgICAgIDwveHNsOmF0dHJpYnV0ZT4KKwkgICAgICA8eHNsOmlmIHRlc3Q9IiRmaWxlbmFtZSA9ICdkb2NzLmh0bWwnIj4KKwkJICA8eHNsOmF0dHJpYnV0ZSBuYW1lPSJzdHlsZSI+Zm9udC13ZWlnaHQ6Ym9sZDwveHNsOmF0dHJpYnV0ZT4KKwkgICAgICA8L3hzbDppZj4KKwkgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iLiIvPgorCSAgICA8L3hzbDplbGVtZW50PgorCSAgPC9saT4KKwk8L3hzbDppZj4KKyAgICAgIDwveHNsOmZvci1lYWNoPgorICAgICAgPGxpPjxhIGhyZWY9ImV4YW1wbGVzL2luZGV4Lmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5Db2RlIEV4YW1wbGVzPC9hPjwvbGk+CisgICAgICA8bGk+PGEgaHJlZj0iaHRtbC9pbmRleC5odG1sIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+QVBJIE1lbnU8L2E+PC9saT4KKyAgICAgIDxsaT48YSBocmVmPSJndWlkZWxpbmVzLmh0bWwiPlhNTCBHdWlkZWxpbmVzPC9hPjwvbGk+CisgICAgICA8bGk+PGEgaHJlZj0iQ2hhbmdlTG9nLmh0bWwiPlJlY2VudCBDaGFuZ2VzPC9hPjwvbGk+CisgICAgPC91bD4KKyAgPC94c2w6dmFyaWFibGU+CisgIDx4c2w6dmFyaWFibGUgbmFtZT0iZGV2ZWx0b2MiPgorICAgIDxmb3JtIGFjdGlvbj0ic2VhcmNoLnBocCIKKyAgICAgICAgICBlbmN0eXBlPSJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiIG1ldGhvZD0iZ2V0Ij4KKyAgICAgIDxpbnB1dCBuYW1lPSJxdWVyeSIgdHlwZT0idGV4dCIgc2l6ZT0iMjAiIHZhbHVlPSIiLz4KKyAgICAgIDxpbnB1dCBuYW1lPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNlYXJjaCAuLi4iLz4KKyAgICA8L2Zvcm0+CisgICAgPHVsPjwhLS0gc3R5bGU9Im1hcmdpbi1sZWZ0OiAtMWVtIiAtLT4KKyAgICAgIDxsaT48YSBocmVmPSJpbmRleC5odG1sIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+TWFpbiBNZW51PC9hPjwvbGk+CisgICAgICA8bGk+PGEgaHJlZj0iaHRtbC9pbmRleC5odG1sIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+UmVmZXJlbmNlIE1hbnVhbDwvYT48L2xpPgorICAgICAgPGxpPjxhIGhyZWY9ImV4YW1wbGVzL2luZGV4Lmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5Db2RlIEV4YW1wbGVzPC9hPjwvbGk+CisgICAgICA8bGk+PGEgaHJlZj0iZ3VpZGVsaW5lcy5odG1sIj5YTUwgR3VpZGVsaW5lczwvYT48L2xpPgorICAgICAgPGxpPjxhIGhyZWY9InR1dG9yaWFsL2luZGV4Lmh0bWwiPlR1dG9yaWFsPC9hPjwvbGk+CisgICAgICA8bGk+PGEgaHJlZj0ieG1scmVhZGVyLmh0bWwiPlRoZSBSZWFkZXIgSW50ZXJmYWNlPC9hPjwvbGk+CisgICAgICA8bGk+PGEgaHJlZj0iQ2hhbmdlTG9nLmh0bWwiPkNoYW5nZUxvZzwvYT48L2xpPgorICAgICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9Ii9odG1sL2JvZHkvaDIiPgorICAgICAgICA8eHNsOnZhcmlhYmxlIG5hbWU9ImZpbGVuYW1lIj4KKyAgICAgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iZG9jZmlsZW5hbWUiPgorICAgICAgICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9Im5hbWUiIHNlbGVjdD0iY29uY2F0KCcjJywgc3RyaW5nKGFbMV0vQG5hbWUpKSIvPgorICAgICAgICAgIDwveHNsOmNhbGwtdGVtcGxhdGU+CisgICAgICAgIDwveHNsOnZhcmlhYmxlPgorCTx4c2w6aWYgdGVzdD0iJGZpbGVuYW1lICE9ICcnIj4KKwkgIDxsaT4KKwkgICAgPHhzbDplbGVtZW50IG5hbWU9ImEiPgorCSAgICAgIDx4c2w6YXR0cmlidXRlIG5hbWU9ImhyZWYiPgorCSAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRmaWxlbmFtZSIvPgorCSAgICAgIDwveHNsOmF0dHJpYnV0ZT4KKwkgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iLiIvPgorCSAgICA8L3hzbDplbGVtZW50PgorCSAgPC9saT4KKwk8L3hzbDppZj4KKyAgICAgIDwveHNsOmZvci1lYWNoPgorICAgICAgPGxpPjxhIGhyZWY9InhtbC5odG1sIj5mbGF0IHBhZ2U8L2E+LCA8YSBocmVmPSJzaXRlLnhzbCI+c3R5bGVzaGVldDwvYT48L2xpPgorICAgIDwvdWw+CisgIDwveHNsOnZhcmlhYmxlPgorICA8eHNsOnZhcmlhYmxlIG5hbWU9ImFwaSI+CisgICAgPHVsPjwhLS0gc3R5bGU9Im1hcmdpbi1sZWZ0OiAtMWVtIiAtLT4KKyAgICAgIDxsaT48YSBocmVmPSJ7JGhyZWZfYmFzZX1BUEljaHVuazAuaHRtbCI+QWxwaGFiZXRpYzwvYT48L2xpPgorICAgICAgPGxpPjxhIGhyZWY9InskaHJlZl9iYXNlfUFQSWNvbnN0cnVjdG9ycy5odG1sIj5Db25zdHJ1Y3RvcnM8L2E+PC9saT4KKyAgICAgIDxsaT48YSBocmVmPSJ7JGhyZWZfYmFzZX1BUElmdW5jdGlvbnMuaHRtbCI+RnVuY3Rpb25zL1R5cGVzPC9hPjwvbGk+CisgICAgICA8bGk+PGEgaHJlZj0ieyRocmVmX2Jhc2V9QVBJZmlsZXMuaHRtbCI+TW9kdWxlczwvYT48L2xpPgorICAgICAgPGxpPjxhIGhyZWY9InskaHJlZl9iYXNlfUFQSXN5bWJvbHMuaHRtbCI+U3ltYm9sczwvYT48L2xpPgorICAgIDwvdWw+CisgIDwveHNsOnZhcmlhYmxlPgorICA8eHNsOnZhcmlhYmxlIG5hbWU9InJlbGF0ZWQiPgorICAgIDx1bD48IS0tIHN0eWxlPSJtYXJnaW4tbGVmdDogLTFlbSIgLS0+CisgICAgICA8bGk+PGEgaHJlZj0iaHR0cDovL21haWwuZ25vbWUub3JnL2FyY2hpdmVzL3htbC8iPk1haWwgYXJjaGl2ZTwvYT48L2xpPgorICAgICAgPGxpPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9YU0xULyI+WFNMVCBsaWJ4c2x0PC9hPjwvbGk+CisgICAgICA8bGk+PGEgaHJlZj0iaHR0cDovL3BoZC5jcy51bmliby5pdC9nZG9tZTIvIj5ET00gZ2RvbWUyPC9hPjwvbGk+CisgICAgICA8bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5hbGVrc2V5LmNvbS94bWxzZWMvIj5YTUwtRFNpZyB4bWxzZWM8L2E+PC9saT4KKyAgICAgIDxsaT48YSBocmVmPSJmdHA6Ly94bWxzb2Z0Lm9yZy8iPkZUUDwvYT48L2xpPgorICAgICAgPGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemxhdGtvdmljLmNvbS9wcm9qZWN0cy9saWJ4bWwvIj5XaW5kb3dzIGJpbmFyaWVzPC9hPjwvbGk+CisgICAgICA8bGk+PGEgaHJlZj0iaHR0cDovL29wZW5jc3cub3JnL3BhY2thZ2VzL2xpYnhtbDIiPlNvbGFyaXMgYmluYXJpZXM8L2E+PC9saT4KKyAgICAgIDxsaT48YSBocmVmPSJodHRwOi8vd3d3LmV4cGxhaW4uY29tLmF1L29zcy9saWJ4bWwyeHNsdC5odG1sIj5NYWNPc1ggYmluYXJpZXM8L2E+PC9saT4KKyAgICAgIDxsaT48YSBocmVmPSJodHRwOi8vbHhtbC5kZS8iPmx4bWwgUHl0aG9uIGJpbmRpbmdzPC9hPjwvbGk+CisgICAgICA8bGk+PGEgaHJlZj0iaHR0cDovL2NwYW4udXdpbm5pcGVnLmNhL2Rpc3QvWE1MLUxpYlhNTCI+UGVybCBiaW5kaW5nczwvYT48L2xpPgorICAgICAgPGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWxwbHVzcGx1cy5zb3VyY2Vmb3JnZS5uZXQvIj5DKysgYmluZGluZ3M8L2E+PC9saT4KKyAgICAgIDxsaT48YSBocmVmPSJodHRwOi8vd3d3LnplbmQuY29tL3BocDUvYXJ0aWNsZXMvcGhwNS14bWxwaHAucGhwI0hlYWRpbmc0Ij5QSFAgYmluZGluZ3M8L2E+PC9saT4KKyAgICAgIDxsaT48YSBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2xpYnhtbDItcGFzLyI+UGFzY2FsIGJpbmRpbmdzPC9hPjwvbGk+CisgICAgICA8bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbC5ydWJ5Zm9yZ2Uub3JnLyI+UnVieSBiaW5kaW5nczwvYT48L2xpPgorICAgICAgPGxpPjxhIGhyZWY9Imh0dHA6Ly90Y2x4bWwuc291cmNlZm9yZ2UubmV0LyI+VGNsIGJpbmRpbmdzPC9hPjwvbGk+CisgICAgICA8bGk+PGEgaHJlZj0iaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9idWdsaXN0LmNnaT9wcm9kdWN0PWxpYnhtbDIiPkJ1ZyBUcmFja2VyPC9hPjwvbGk+CisgICAgPC91bD4KKyAgPC94c2w6dmFyaWFibGU+CisgIDx4c2w6dGVtcGxhdGUgbmFtZT0idG9jIj4KKyAgICA8dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj4KKyAgICAgIDx0cj4KKyAgICAgICAgPHRkPgorICAgICAgICAgIDx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPgorICAgICAgICAgICAgPHRyPgorICAgICAgICAgICAgICA8dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+CisgICAgICAgICAgICAgICAgPGNlbnRlcj4KKyAgICAgICAgICAgICAgICAgIDxiPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkbWVudV9uYW1lIi8+PC9iPgorICAgICAgICAgICAgICAgIDwvY2VudGVyPgorICAgICAgICAgICAgICA8L3RkPgorICAgICAgICAgICAgPC90cj4KKyAgICAgICAgICAgIDx0cj4KKyAgICAgICAgICAgICAgPHRkIGJnY29sb3I9IiNmZmZhY2QiPgorICAgICAgICAgICAgICAgIDx4c2w6Y29weS1vZiBzZWxlY3Q9IiR0b2MiLz4KKyAgICAgICAgICAgICAgPC90ZD4KKyAgICAgICAgICAgIDwvdHI+CisgICAgICAgICAgPC90YWJsZT4KKyAgICAgICAgICA8dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj4KKyAgICAgICAgICAgIDx0cj4KKyAgICAgICAgICAgICAgPHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPgorICAgICAgICAgICAgICAgIDxjZW50ZXI+CisgICAgICAgICAgICAgICAgICA8Yj5SZWxhdGVkIGxpbmtzPC9iPgorICAgICAgICAgICAgICAgIDwvY2VudGVyPgorICAgICAgICAgICAgICA8L3RkPgorICAgICAgICAgICAgPC90cj4KKyAgICAgICAgICAgIDx0cj4KKyAgICAgICAgICAgICAgPHRkIGJnY29sb3I9IiNmZmZhY2QiPgorICAgICAgICAgICAgICAgIDx4c2w6Y29weS1vZiBzZWxlY3Q9IiRyZWxhdGVkIi8+CisgICAgICAgICAgICAgIDwvdGQ+CisgICAgICAgICAgICA8L3RyPgorICAgICAgICAgIDwvdGFibGU+CisgICAgICAgIDwvdGQ+CisgICAgICA8L3RyPgorICAgIDwvdGFibGU+CisgIDwveHNsOnRlbXBsYXRlPgorICA8eHNsOnRlbXBsYXRlIG5hbWU9ImRldmVsdG9jIj4KKyAgICA8dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj4KKyAgICAgIDx0cj4KKyAgICAgICAgPHRkPgorICAgICAgICAgIDx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPgorICAgICAgICAgICAgPHRyPgorICAgICAgICAgICAgICA8dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+CisgICAgICAgICAgICAgICAgPGNlbnRlcj4KKyAgICAgICAgICAgICAgICAgIDxiPkRldmVsb3BlciBNZW51PC9iPgorICAgICAgICAgICAgICAgIDwvY2VudGVyPgorICAgICAgICAgICAgICA8L3RkPgorICAgICAgICAgICAgPC90cj4KKyAgICAgICAgICAgIDx0cj4KKyAgICAgICAgICAgICAgPHRkIGJnY29sb3I9IiNmZmZhY2QiPgorICAgICAgICAgICAgICAgIDx4c2w6Y29weS1vZiBzZWxlY3Q9IiRkZXZlbHRvYyIvPgorICAgICAgICAgICAgICA8L3RkPgorICAgICAgICAgICAgPC90cj4KKyAgICAgICAgICA8L3RhYmxlPgorICAgICAgICAgIDx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPgorICAgICAgICAgICAgPHRyPgorICAgICAgICAgICAgICA8dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+CisgICAgICAgICAgICAgICAgPGNlbnRlcj4KKyAgICAgICAgICAgICAgICAgIDxiPkFQSSBJbmRleGVzPC9iPgorICAgICAgICAgICAgICAgIDwvY2VudGVyPgorICAgICAgICAgICAgICA8L3RkPgorICAgICAgICAgICAgPC90cj4KKyAgICAgICAgICAgIDx0cj4KKyAgICAgICAgICAgICAgPHRkIGJnY29sb3I9IiNmZmZhY2QiPgorICAgICAgICAgICAgICAgIDx4c2w6Y29weS1vZiBzZWxlY3Q9IiRhcGkiLz4KKyAgICAgICAgICAgICAgPC90ZD4KKyAgICAgICAgICAgIDwvdHI+CisgICAgICAgICAgPC90YWJsZT4KKyAgICAgICAgICA8dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj4KKyAgICAgICAgICAgIDx0cj4KKyAgICAgICAgICAgICAgPHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPgorICAgICAgICAgICAgICAgIDxjZW50ZXI+CisgICAgICAgICAgICAgICAgICA8Yj5SZWxhdGVkIGxpbmtzPC9iPgorICAgICAgICAgICAgICAgIDwvY2VudGVyPgorICAgICAgICAgICAgICA8L3RkPgorICAgICAgICAgICAgPC90cj4KKyAgICAgICAgICAgIDx0cj4KKyAgICAgICAgICAgICAgPHRkIGJnY29sb3I9IiNmZmZhY2QiPgorICAgICAgICAgICAgICAgIDx4c2w6Y29weS1vZiBzZWxlY3Q9IiRyZWxhdGVkIi8+CisgICAgICAgICAgICAgIDwvdGQ+CisgICAgICAgICAgICA8L3RyPgorICAgICAgICAgIDwvdGFibGU+CisgICAgICAgIDwvdGQ+CisgICAgICA8L3RyPgorICAgIDwvdGFibGU+CisgIDwveHNsOnRlbXBsYXRlPgorICA8eHNsOnRlbXBsYXRlIG1vZGU9ImhlYWQiIG1hdGNoPSJ0aXRsZSI+CisgICAgPHRpdGxlPgorICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMvPgorICAgIDwvdGl0bGU+CisgIDwveHNsOnRlbXBsYXRlPgorICA8eHNsOnRlbXBsYXRlIG1vZGU9ImhlYWQiIG1hdGNoPSJtZXRhIj4KKzwveHNsOnRlbXBsYXRlPgorPCEtLQorIC0gV3JpdGUgdGhlIHN0eWxlcyBpbiB0aGUgaGVhZAorIC0tPgorICA8eHNsOnRlbXBsYXRlIG5hbWU9InN0eWxlIj4KKyAgICA8bGluayByZWw9IlNIT1JUQ1VUIElDT04iIGhyZWY9Ii9mYXZpY29uLmljbyIvPiAKKyAgICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorVEQge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0JPRFkge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYTsgbWFyZ2luLXRvcDogMmVtOyBtYXJnaW4tbGVmdDogMGVtOyBtYXJnaW4tcmlnaHQ6IDBlbX0KK0gxIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMiB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDMge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0E6bGluaywgQTp2aXNpdGVkLCBBOmFjdGl2ZSB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIH0KKzwvc3R5bGU+CisgIDwveHNsOnRlbXBsYXRlPgorPCEtLQorIC0gV3JpdGUgdGhlIHRpdGxlIGJveCBvbiB0b3AKKyAtLT4KKyAgPHhzbDp0ZW1wbGF0ZSBuYW1lPSJ0aXRsZWJveCI+CisgICAgPHhzbDpwYXJhbSBuYW1lPSJ0aXRsZSIgc2VsZWN0PSInTWFpbiBQYWdlJyIvPgorICAgIDx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSIxMDAlIiBjZWxscGFkZGluZz0iNSIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiPgorICAgIDx0cj4KKyAgICA8dGQgd2lkdGg9IjEyMCI+CisgICAgPGEgaHJlZj0iaHR0cDovL3N3cGF0LmZmaWkub3JnLyI+PGltZyBzcmM9InskaHJlZl9iYXNlfWVwYXRlbnRzLnBuZyIgYWx0PSJBY3Rpb24gYWdhaW5zdCBzb2Z0d2FyZSBwYXRlbnRzIi8+PC9hPgorICAgIDwvdGQ+CisgICAgPHRkIHdpZHRoPSIxODAiPgorICAgIDxhIGhyZWY9Imh0dHA6Ly93d3cuZ25vbWUub3JnLyI+PGltZyBzcmM9InskaHJlZl9iYXNlfWdub21lMi5wbmciIGFsdD0iR25vbWUyIExvZ28iLz48L2E+CisgICAgPGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvU3RhdHVzIj48aW1nIHNyYz0ieyRocmVmX2Jhc2V9dzNjLnBuZyIgYWx0PSJXM0MgTG9nbyIvPjwvYT4KKyAgICA8YSBocmVmPSJodHRwOi8vd3d3LnJlZGhhdC5jb20vIj48aW1nIHNyYz0ieyRocmVmX2Jhc2V9cmVkaGF0LmdpZiIgYWx0PSJSZWQgSGF0IExvZ28iLz48L2E+CisgICAgPGRpdiBhbGlnbj0ibGVmdCI+CisgICAgPGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnLyI+PGltZyBzcmM9InskaHJlZl9iYXNlfUxpYnhtbDItTG9nby0xODB4MTY4LmdpZiIgYWx0PSJNYWRlIHdpdGggTGlieG1sMiBMb2dvIi8+PC9hPgorICAgIDwvZGl2PgorICAgIDwvdGQ+CisgICAgPHRkPgorICAgIDx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSI5MCUiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciIgYmdjb2xvcj0iIzAwMDAwMCI+CisgICAgICA8dHI+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICA8dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIiBiZ2NvbG9yPSIjZmZmYWNkIj4KKyAgICAgICAgICAgIDx0cj4KKyAgICAgICAgICAgICAgPHRkIGFsaWduPSJjZW50ZXIiPgorICAgICAgICAgICAgICAgIDx4c2w6ZWxlbWVudCBuYW1lPSJoMSI+CisgICAgICAgICAgICAgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iJGdsb2JhbHRpdGxlIi8+CisgICAgICAgICAgICAgICAgPC94c2w6ZWxlbWVudD4KKyAgICAgICAgICAgICAgICA8eHNsOmVsZW1lbnQgbmFtZT0iaDIiPgorICAgICAgICAgICAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiR0aXRsZSIvPgorICAgICAgICAgICAgICAgIDwveHNsOmVsZW1lbnQ+CisgICAgICAgICAgICAgIDwvdGQ+CisgICAgICAgICAgICA8L3RyPgorICAgICAgICAgIDwvdGFibGU+CisgICAgICAgIDwvdGQ+CisgICAgICA8L3RyPgorICAgIDwvdGFibGU+CisgICAgPC90ZD4KKyAgICA8L3RyPgorICAgIDwvdGFibGU+CisgIDwveHNsOnRlbXBsYXRlPgorPCEtLQorIC0gSGFuZGxpbmcgb2Ygbm9kZXMgaW4gdGhlIGJvZHkgYmVmb3JlIHRoZSBmaXJzdCBIMiwgdGFibGUgb2YgY29udGVudAorIC0gRXZlcnl0aGluZyBpcyBqdXN0IGNvcGllZCBvdmVyLCBleGNlcHQgaHJlZiB3aGljaCBtYXkgZ2V0IHJld3JpdHRlbgorIC0gYW5kIGgxL2gyL2EgYXQgdGhlIHRvcCBsZXZlbAorIC0tPgorICA8eHNsOnRlbXBsYXRlIHByaW9yaXR5PSIyIiBtb2RlPSJzdWJjb250ZW50IiBtYXRjaD0iYSI+CisgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJmaWxlbmFtZSI+CisgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iZmlsZW5hbWUiPgorICAgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0ibmFtZSIgc2VsZWN0PSJzdHJpbmcoQGhyZWYpIi8+CisgICAgICA8L3hzbDpjYWxsLXRlbXBsYXRlPgorICAgIDwveHNsOnZhcmlhYmxlPgorICAgIDx4c2w6Y29weT4KKyAgICAgIDx4c2w6YXR0cmlidXRlIG5hbWU9ImhyZWYiPgorICAgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iJGZpbGVuYW1lIi8+CisgICAgICA8L3hzbDphdHRyaWJ1dGU+CisgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBtb2RlPSJzdWJjb250ZW50IiBzZWxlY3Q9Im5vZGUoKSIvPgorICAgIDwveHNsOmNvcHk+CisgIDwveHNsOnRlbXBsYXRlPgorICA8eHNsOnRlbXBsYXRlIG1vZGU9InN1YmNvbnRlbnQiIG1hdGNoPSJAKnxub2RlKCkiPgorICAgIDx4c2w6Y29weT4KKyAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIG1vZGU9InN1YmNvbnRlbnQiIHNlbGVjdD0iQCp8bm9kZSgpIi8+CisgICAgPC94c2w6Y29weT4KKyAgPC94c2w6dGVtcGxhdGU+CisgIDx4c2w6dGVtcGxhdGUgbW9kZT0iY29udGVudCIgbWF0Y2g9IkAqfG5vZGUoKSI+CisgICAgPHhzbDppZiB0ZXN0PSJuYW1lKCkgIT0gJ2gxJyBhbmQgbmFtZSgpICE9ICdoMiciPgorICAgICAgPHhzbDpjb3B5PgorICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBtb2RlPSJzdWJjb250ZW50IiBzZWxlY3Q9IkAqfG5vZGUoKSIvPgorICAgICAgPC94c2w6Y29weT4KKyAgICA8L3hzbDppZj4KKyAgPC94c2w6dGVtcGxhdGU+Cis8IS0tCisgLSBIYW5kbGluZyBvZiBub2RlcyBpbiB0aGUgYm9keSBhZnRlciBhbiBIMgorIC0gT3BlbiBhIG5ldyBmaWxlIGFuZCBkdW1wIGFsbCB0aGUgc2libGluZ3MgdXAgdG8gdGhlIG5leHQgSDIKKyAtLT4KKyAgPHhzbDp0ZW1wbGF0ZSBuYW1lPSJzdWJmaWxlIj4KKyAgICA8eHNsOnBhcmFtIG5hbWU9ImhlYWRlciIgc2VsZWN0PSJmb2xsb3dpbmctc2libGluZzo6aDJbMV0iLz4KKyAgICA8eHNsOnZhcmlhYmxlIG5hbWU9ImZpbGVuYW1lIj4KKyAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJmaWxlbmFtZSI+CisgICAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJuYW1lIiBzZWxlY3Q9ImNvbmNhdCgnIycsIHN0cmluZygkaGVhZGVyL2FbMV0vQG5hbWUpKSIvPgorICAgICAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKyAgICA8L3hzbDp2YXJpYWJsZT4KKyAgICA8eHNsOnZhcmlhYmxlIG5hbWU9InRvY2ZpbGVuYW1lIj4KKyAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJ0b2NmaWxlbmFtZSI+CisgICAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJuYW1lIiBzZWxlY3Q9ImNvbmNhdCgnIycsIHN0cmluZygkaGVhZGVyL2FbMV0vQG5hbWUpKSIvPgorICAgICAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKyAgICA8L3hzbDp2YXJpYWJsZT4KKyAgICA8eHNsOnZhcmlhYmxlIG5hbWU9InRpdGxlIj4KKyAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkaGVhZGVyIi8+CisgICAgPC94c2w6dmFyaWFibGU+CisgICAgPHhzbDpkb2N1bWVudCBocmVmPSJ7JGZpbGVuYW1lfSIgbWV0aG9kPSJ4bWwiIGVuY29kaW5nPSJVVEYtOCIKKyAgICAgIGRvY3R5cGUtcHVibGljPSItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIKKyAgICAgIGRvY3R5cGUtc3lzdGVtPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIj4KKyAgICAgIDxodG1sPgorICAgICAgICA8aGVhZD4KKyAgICAgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0ic3R5bGUiLz4KKyAgICAgICAgICA8eHNsOmVsZW1lbnQgbmFtZT0idGl0bGUiPgorICAgICAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiR0aXRsZSIvPgorICAgICAgICAgIDwveHNsOmVsZW1lbnQ+CisgICAgICAgIDwvaGVhZD4KKyAgICAgICAgPGJvZHkgYmdjb2xvcj0iIzhiNzc2NSIgdGV4dD0iIzAwMDAwMCIgbGluaz0iI2EwNjA2MCIgdmxpbms9IiMwMDAwMDAiPgorICAgICAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJ0aXRsZWJveCI+CisgICAgICAgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0idGl0bGUiIHNlbGVjdD0iJHRpdGxlIi8+CisgICAgICAgICAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKyAgICAgICAgICA8dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iNCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIiBhbGlnbj0iY2VudGVyIj4KKyAgICAgICAgICAgIDx0cj4KKyAgICAgICAgICAgICAgPHRkIGJnY29sb3I9IiM4Yjc3NjUiPgorICAgICAgICAgICAgICAgIDx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiIgd2lkdGg9IjEwMCUiPgorICAgICAgICAgICAgICAgICAgPHRyPgorICAgICAgICAgICAgICAgICAgICA8dGQgdmFsaWduPSJ0b3AiIHdpZHRoPSIyMDAiIGJnY29sb3I9IiM4Yjc3NjUiPgorCQkgICAgICA8eHNsOmNob29zZT4KKwkJICAgICAgICA8eHNsOndoZW4gdGVzdD0iJGZpbGVuYW1lID0gJ2RvY3MuaHRtbCciPgorICAgICAgICAgICAgICAgICAgICAgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iZGV2ZWx0b2MiLz4KKwkJICAgICAgICA8L3hzbDp3aGVuPgorCQkgICAgICAgIDx4c2w6d2hlbiB0ZXN0PSIkdG9jZmlsZW5hbWUgPSAnJyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJkZXZlbHRvYyIvPgorCQkgICAgICAgIDwveHNsOndoZW4+CisJCSAgICAgICAgPHhzbDpvdGhlcndpc2U+CisgICAgICAgICAgICAgICAgICAgICAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJ0b2MiLz4KKwkJICAgICAgICA8L3hzbDpvdGhlcndpc2U+CisJCSAgICAgIDwveHNsOmNob29zZT4KKyAgICAgICAgICAgICAgICAgICAgPC90ZD4KKyAgICAgICAgICAgICAgICAgICAgPHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjOGI3NzY1Ij4KKyAgICAgICAgICAgICAgICAgICAgICA8dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiB3aWR0aD0iMTAwJSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBtb2RlPSJzdWJmaWxlIiBzZWxlY3Q9IiRoZWFkZXIvZm9sbG93aW5nLXNpYmxpbmc6OipbcHJlY2VkaW5nLXNpYmxpbmc6OmgyWzFdID0gJGhlYWRlciAgICAgICAgIGFuZCBuYW1lKCkgIT0gJ2gyJyBdIi8+CisJCQkJCTxwPjxhIGhyZWY9ImJ1Z3MuaHRtbCI+RGFuaWVsIFZlaWxsYXJkPC9hPjwvcD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CisgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KKyAgICAgICAgICAgICAgICAgICAgPC90ZD4KKyAgICAgICAgICAgICAgICAgIDwvdHI+CisgICAgICAgICAgICAgICAgPC90YWJsZT4KKyAgICAgICAgICAgICAgPC90ZD4KKyAgICAgICAgICAgIDwvdHI+CisgICAgICAgICAgPC90YWJsZT4KKyAgICAgICAgPC9ib2R5PgorICAgICAgPC9odG1sPgorICAgIDwveHNsOmRvY3VtZW50PgorICA8L3hzbDp0ZW1wbGF0ZT4KKyAgPHhzbDp0ZW1wbGF0ZSBtb2RlPSJzdWJmaWxlIiBtYXRjaD0iQCp8bm9kZSgpIj4KKyAgICA8eHNsOmNvcHk+CisgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBtb2RlPSJjb250ZW50IiBzZWxlY3Q9IkAqfG5vZGUoKSIvPgorICAgIDwveHNsOmNvcHk+CisgIDwveHNsOnRlbXBsYXRlPgorPCEtLQorIC0gSGFuZGxpbmcgb2YgdGhlIGluaXRpYWwgYm9keSBhbmQgaGVhZCBIVE1MIGRvY3VtZW50CisgLS0+CisgIDx4c2w6dGVtcGxhdGUgbWF0Y2g9ImJvZHkiPgorICAgIDx4c2w6dmFyaWFibGUgbmFtZT0iZmlyc3RoMiIgc2VsZWN0PSIuL2gyWzFdIi8+CisgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJyZXN0MiIgc2VsZWN0PSIuL2gyW3Bvc2l0aW9uKCkmZ3Q7MV0iLz4KKyAgICA8Ym9keSBiZ2NvbG9yPSIjOGI3NzY1IiB0ZXh0PSIjMDAwMDAwIiBsaW5rPSIjYTA2MDYwIiB2bGluaz0iIzAwMDAwMCI+CisgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0idGl0bGVib3giPgorICAgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0idGl0bGUiIHNlbGVjdD0iJ2xpYnhtbCciLz4KKyAgICAgIDwveHNsOmNhbGwtdGVtcGxhdGU+CisgICAgICA8dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iNCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIiBhbGlnbj0iY2VudGVyIj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZCBiZ2NvbG9yPSIjOGI3NzY1Ij4KKyAgICAgICAgICAgIDx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiIgd2lkdGg9IjEwMCUiPgorICAgICAgICAgICAgICA8dHI+CisgICAgICAgICAgICAgICAgPHRkIHZhbGlnbj0idG9wIiB3aWR0aD0iMjAwIiBiZ2NvbG9yPSIjOGI3NzY1Ij4KKyAgICAgICAgICAgICAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJ0b2MiLz4KKyAgICAgICAgICAgICAgICA8L3RkPgorICAgICAgICAgICAgICAgIDx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzhiNzc2NSI+CisgICAgICAgICAgICAgICAgICA8dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIj4KKyAgICAgICAgICAgICAgICAgICAgPHRyPgorICAgICAgICAgICAgICAgICAgICAgIDx0ZD4KKyAgICAgICAgICAgICAgICAgICAgICAgIDx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPgorICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiB3aWR0aD0iMTAwJSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgYmdjb2xvcj0iI2ZmZmFjZCI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBtb2RlPSJjb250ZW50IiBzZWxlY3Q9IigkZmlyc3RoMi9wcmVjZWRpbmctc2libGluZzo6KikiLz4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx4c2w6Zm9yLWVhY2ggc2VsZWN0PSIuL2gyIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9InN1YmZpbGUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJoZWFkZXIiIHNlbGVjdD0iLiIvPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3hzbDpjYWxsLXRlbXBsYXRlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC94c2w6Zm9yLWVhY2g+CisJCQkJICAgIDxwPjxhIGhyZWY9ImJ1Z3MuaHRtbCI+RGFuaWVsIFZlaWxsYXJkPC9hPjwvcD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgorICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgorICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KKyAgICAgICAgICAgICAgICAgICAgICA8L3RkPgorICAgICAgICAgICAgICAgICAgICA8L3RyPgorICAgICAgICAgICAgICAgICAgPC90YWJsZT4KKyAgICAgICAgICAgICAgICA8L3RkPgorICAgICAgICAgICAgICA8L3RyPgorICAgICAgICAgICAgPC90YWJsZT4KKyAgICAgICAgICA8L3RkPgorICAgICAgICA8L3RyPgorICAgICAgPC90YWJsZT4KKyAgICA8L2JvZHk+CisgIDwveHNsOnRlbXBsYXRlPgorICA8eHNsOnRlbXBsYXRlIG1hdGNoPSJoZWFkIj4KKyAgICA8aGVhZD4KKyAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJzdHlsZSIvPgorICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgbW9kZT0iaGVhZCIvPgorICAgIDwvaGVhZD4KKyAgPC94c2w6dGVtcGxhdGU+CisgIDx4c2w6dGVtcGxhdGUgbWF0Y2g9Imh0bWwiPgorICAgIDx4c2w6bWVzc2FnZT5HZW5lcmF0aW5nIHRoZSBXZWIgcGFnZXM8L3hzbDptZXNzYWdlPgorICAgIDxodG1sPgorICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMvPgorICAgIDwvaHRtbD4KKyAgPC94c2w6dGVtcGxhdGU+Cis8L3hzbDpzdHlsZXNoZWV0PgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2Mvc21hbGxmb290b25seS5naWYgYi9saWJ4bWwyL2RvYy9zbWFsbGZvb3Rvbmx5LmdpZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZGJiOWVlCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2Mvc21hbGxmb290b25seS5naWYKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2Mvc3RydWN0dXJlLmZpZyBiL2xpYnhtbDIvZG9jL3N0cnVjdHVyZS5maWcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWQyN2I0NAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL3N0cnVjdHVyZS5maWcKQEAgLTAsMCArMSwyNDIgQEAKKyNGSUcgMy4yCitMYW5kc2NhcGUKK0NlbnRlcgorSW5jaGVzCitMZXR0ZXIgIAorMTAwLjAwCitTaW5nbGUKKy0yCisxMjAwIDIKKzYgMTEyNSAyMzI1IDEyMDAgMjg1MAorMiAxIDAgMSAwIDcgMCAwIC0xIDAuMDAwIDAgMCAtMSAwIDAgMgorCSAxMjAwIDIzMjUgMTIwMCAyODUwCisyIDEgMCAxIDAgNyAwIDAgLTEgMC4wMDAgMCAwIC0xIDAgMCAyCisJIDEyMDAgMjc3NSAxMTI1IDI4NTAKKzIgMSAwIDEgMCA3IDAgMCAtMSAwLjAwMCAwIDAgLTEgMCAwIDIKKwkgMTIwMCAyNzAwIDExMjUgMjc3NQorMiAxIDAgMSAwIDcgMCAwIC0xIDAuMDAwIDAgMCAtMSAwIDAgMgorCSAxMjAwIDI1NTAgMTEyNSAyNjI1CisyIDEgMCAxIDAgNyAwIDAgLTEgMC4wMDAgMCAwIC0xIDAgMCAyCisJIDEyMDAgMjYyNSAxMTI1IDI3MDAKKzIgMSAwIDEgMCA3IDAgMCAtMSAwLjAwMCAwIDAgLTEgMCAwIDIKKwkgMTIwMCAyNDAwIDExMjUgMjQ3NQorMiAxIDAgMSAwIDcgMCAwIC0xIDAuMDAwIDAgMCAtMSAwIDAgMgorCSAxMjAwIDI0NzUgMTEyNSAyNTUwCisyIDEgMCAxIDAgNyAwIDAgLTEgMC4wMDAgMCAwIC0xIDAgMCAyCisJIDEyMDAgMjMyNSAxMTI1IDI0MDAKKy02Cis2IDYwMDAgNDIwMCA2MDc1IDQ3MjUKKzIgMSAwIDEgMCA3IDAgMCAtMSAwLjAwMCAwIDAgLTEgMCAwIDIKKwkgNjA3NSA0MjAwIDYwNzUgNDcyNQorMiAxIDAgMSAwIDcgMCAwIC0xIDAuMDAwIDAgMCAtMSAwIDAgMgorCSA2MDc1IDQ2NTAgNjAwMCA0NzI1CisyIDEgMCAxIDAgNyAwIDAgLTEgMC4wMDAgMCAwIC0xIDAgMCAyCisJIDYwNzUgNDU3NSA2MDAwIDQ2NTAKKzIgMSAwIDEgMCA3IDAgMCAtMSAwLjAwMCAwIDAgLTEgMCAwIDIKKwkgNjA3NSA0NDI1IDYwMDAgNDUwMAorMiAxIDAgMSAwIDcgMCAwIC0xIDAuMDAwIDAgMCAtMSAwIDAgMgorCSA2MDc1IDQ1MDAgNjAwMCA0NTc1CisyIDEgMCAxIDAgNyAwIDAgLTEgMC4wMDAgMCAwIC0xIDAgMCAyCisJIDYwNzUgNDI3NSA2MDAwIDQzNTAKKzIgMSAwIDEgMCA3IDAgMCAtMSAwLjAwMCAwIDAgLTEgMCAwIDIKKwkgNjA3NSA0MzUwIDYwMDAgNDQyNQorMiAxIDAgMSAwIDcgMCAwIC0xIDAuMDAwIDAgMCAtMSAwIDAgMgorCSA2MDc1IDQyMDAgNjAwMCA0Mjc1CistNgorNiA5MDAwIDIxMDAgOTA3NSAyNjI1CisyIDEgMCAxIDAgNyAwIDAgLTEgMC4wMDAgMCAwIC0xIDAgMCAyCisJIDkwMDAgMjYyNSA5MDAwIDIxMDAKKzIgMSAwIDEgMCA3IDAgMCAtMSAwLjAwMCAwIDAgLTEgMCAwIDIKKwkgOTAwMCAyMTc1IDkwNzUgMjEwMAorMiAxIDAgMSAwIDcgMCAwIC0xIDAuMDAwIDAgMCAtMSAwIDAgMgorCSA5MDAwIDIyNTAgOTA3NSAyMTc1CisyIDEgMCAxIDAgNyAwIDAgLTEgMC4wMDAgMCAwIC0xIDAgMCAyCisJIDkwMDAgMjQwMCA5MDc1IDIzMjUKKzIgMSAwIDEgMCA3IDAgMCAtMSAwLjAwMCAwIDAgLTEgMCAwIDIKKwkgOTAwMCAyMzI1IDkwNzUgMjI1MAorMiAxIDAgMSAwIDcgMCAwIC0xIDAuMDAwIDAgMCAtMSAwIDAgMgorCSA5MDAwIDI1NTAgOTA3NSAyNDc1CisyIDEgMCAxIDAgNyAwIDAgLTEgMC4wMDAgMCAwIC0xIDAgMCAyCisJIDkwMDAgMjQ3NSA5MDc1IDI0MDAKKzIgMSAwIDEgMCA3IDAgMCAtMSAwLjAwMCAwIDAgLTEgMCAwIDIKKwkgOTAwMCAyNjI1IDkwNzUgMjU1MAorLTYKKzYgMTE4NTAgNDA1MCAxMTkyNSA0NTc1CisyIDEgMCAxIDAgNyAwIDAgLTEgMC4wMDAgMCAwIC0xIDAgMCAyCisJIDExODUwIDQ1NzUgMTE4NTAgNDA1MAorMiAxIDAgMSAwIDcgMCAwIC0xIDAuMDAwIDAgMCAtMSAwIDAgMgorCSAxMTg1MCA0MTI1IDExOTI1IDQwNTAKKzIgMSAwIDEgMCA3IDAgMCAtMSAwLjAwMCAwIDAgLTEgMCAwIDIKKwkgMTE4NTAgNDIwMCAxMTkyNSA0MTI1CisyIDEgMCAxIDAgNyAwIDAgLTEgMC4wMDAgMCAwIC0xIDAgMCAyCisJIDExODUwIDQzNTAgMTE5MjUgNDI3NQorMiAxIDAgMSAwIDcgMCAwIC0xIDAuMDAwIDAgMCAtMSAwIDAgMgorCSAxMTg1MCA0Mjc1IDExOTI1IDQyMDAKKzIgMSAwIDEgMCA3IDAgMCAtMSAwLjAwMCAwIDAgLTEgMCAwIDIKKwkgMTE4NTAgNDUwMCAxMTkyNSA0NDI1CisyIDEgMCAxIDAgNyAwIDAgLTEgMC4wMDAgMCAwIC0xIDAgMCAyCisJIDExODUwIDQ0MjUgMTE5MjUgNDM1MAorMiAxIDAgMSAwIDcgMCAwIC0xIDAuMDAwIDAgMCAtMSAwIDAgMgorCSAxMTg1MCA0NTc1IDExOTI1IDQ1MDAKKy02Cis2IDE5NTAgNDI3NSAyMDI1IDQ4MDAKKzIgMSAwIDEgMCA3IDAgMCAtMSAwLjAwMCAwIDAgLTEgMCAwIDIKKwkgMjAyNSA0Mjc1IDIwMjUgNDgwMAorMiAxIDAgMSAwIDcgMCAwIC0xIDAuMDAwIDAgMCAtMSAwIDAgMgorCSAyMDI1IDQ3MjUgMTk1MCA0ODAwCisyIDEgMCAxIDAgNyAwIDAgLTEgMC4wMDAgMCAwIC0xIDAgMCAyCisJIDIwMjUgNDY1MCAxOTUwIDQ3MjUKKzIgMSAwIDEgMCA3IDAgMCAtMSAwLjAwMCAwIDAgLTEgMCAwIDIKKwkgMjAyNSA0NTAwIDE5NTAgNDU3NQorMiAxIDAgMSAwIDcgMCAwIC0xIDAuMDAwIDAgMCAtMSAwIDAgMgorCSAyMDI1IDQ1NzUgMTk1MCA0NjUwCisyIDEgMCAxIDAgNyAwIDAgLTEgMC4wMDAgMCAwIC0xIDAgMCAyCisJIDIwMjUgNDM1MCAxOTUwIDQ0MjUKKzIgMSAwIDEgMCA3IDAgMCAtMSAwLjAwMCAwIDAgLTEgMCAwIDIKKwkgMjAyNSA0NDI1IDE5NTAgNDUwMAorMiAxIDAgMSAwIDcgMCAwIC0xIDAuMDAwIDAgMCAtMSAwIDAgMgorCSAyMDI1IDQyNzUgMTk1MCA0MzUwCistNgorNiA1MTc1IDQwNTAgNTI1MCA0NTc1CisyIDEgMCAxIDAgNyAwIDAgLTEgMC4wMDAgMCAwIC0xIDAgMCAyCisJIDUxNzUgNDU3NSA1MTc1IDQwNTAKKzIgMSAwIDEgMCA3IDAgMCAtMSAwLjAwMCAwIDAgLTEgMCAwIDIKKwkgNTE3NSA0MTI1IDUyNTAgNDA1MAorMiAxIDAgMSAwIDcgMCAwIC0xIDAuMDAwIDAgMCAtMSAwIDAgMgorCSA1MTc1IDQyMDAgNTI1MCA0MTI1CisyIDEgMCAxIDAgNyAwIDAgLTEgMC4wMDAgMCAwIC0xIDAgMCAyCisJIDUxNzUgNDM1MCA1MjUwIDQyNzUKKzIgMSAwIDEgMCA3IDAgMCAtMSAwLjAwMCAwIDAgLTEgMCAwIDIKKwkgNTE3NSA0Mjc1IDUyNTAgNDIwMAorMiAxIDAgMSAwIDcgMCAwIC0xIDAuMDAwIDAgMCAtMSAwIDAgMgorCSA1MTc1IDQ1MDAgNTI1MCA0NDI1CisyIDEgMCAxIDAgNyAwIDAgLTEgMC4wMDAgMCAwIC0xIDAgMCAyCisJIDUxNzUgNDQyNSA1MjUwIDQzNTAKKzIgMSAwIDEgMCA3IDAgMCAtMSAwLjAwMCAwIDAgLTEgMCAwIDIKKwkgNTE3NSA0NTc1IDUyNTAgNDUwMAorLTYKKzIgMiAwIDEgMCA3IDAgMCAtMSAwLjAwMCAwIDAgLTEgMCAwIDUKKwkgMzE1MCAzNzUgNDQyNSAzNzUgNDQyNSAxMjc1IDMxNTAgMTI3NSAzMTUwIDM3NQorMiA0IDAgMSAwIDcgMCAwIC0xIDAuMDAwIDAgMCA3IDAgMCA1CisJIDI4NTAgMjc3NSAyODUwIDIxMDAgMTg3NSAyMTAwIDE4NzUgMjc3NSAyODUwIDI3NzUKKzIgNCAwIDEgMCA3IDAgMCAtMSAwLjAwMCAwIDAgNyAwIDAgNQorCSA1NTUwIDI3NzUgNTU1MCAyMTAwIDQ1NzUgMjEwMCA0NTc1IDI3NzUgNTU1MCAyNzc1CisyIDQgMCAxIDAgNyAwIDAgLTEgMC4wMDAgMCAwIDcgMCAwIDUKKwkgODE3NSAyNzc1IDgxNzUgMjEwMCA3MjAwIDIxMDAgNzIwMCAyNzc1IDgxNzUgMjc3NQorMiA0IDAgMSAwIDcgMCAwIC0xIDAuMDAwIDAgMCA3IDAgMCA1CisJIDc2NTAgNDcyNSA3NjUwIDQwNTAgNjY3NSA0MDUwIDY2NzUgNDcyNSA3NjUwIDQ3MjUKKzIgNCAwIDEgMCA3IDAgMCAtMSAwLjAwMCAwIDAgNyAwIDAgNQorCSA5Njc1IDQ3MjUgOTY3NSA0MDUwIDg3MDAgNDA1MCA4NzAwIDQ3MjUgOTY3NSA0NzI1CisyIDEgMCAxIDAgNyAwIDAgLTEgMC4wMDAgMCAwIC0xIDEgMCAyCisJMSAxIDEuMDAgNjAuMDAgMTIwLjAwCisJIDM3NTAgMTI3NSAyNDAwIDIxMDAKKzIgMSAwIDEgMCA3IDAgMCAtMSAwLjAwMCAwIDAgLTEgMSAwIDIKKwkxIDEgMS4wMCA2MC4wMCAxMjAuMDAKKwkgMjg1MCAyMzI1IDQ1NzUgMjMyNQorMiAxIDAgMSAwIDcgMCAwIC0xIDAuMDAwIDAgMCAtMSAxIDAgMgorCTEgMSAxLjAwIDYwLjAwIDEyMC4wMAorCSA1NTUwIDIzMjUgNzIwMCAyMzI1CisyIDEgMCAxIDAgNyAwIDAgLTEgMC4wMDAgMCAwIC0xIDEgMCAyCisJMSAxIDEuMDAgNjAuMDAgMTIwLjAwCisJIDgxNzUgMjMyNSA5MDAwIDIzMjUKKzIgMSAwIDEgMCA3IDAgMCAtMSAwLjAwMCAwIDAgLTEgMSAwIDIKKwkxIDEgMS4wMCA2MC4wMCAxMjAuMDAKKwkgNzIwMCAyNTUwIDU1NTAgMjU1MAorMiAxIDAgMSAwIDcgMCAwIC0xIDAuMDAwIDAgMCAtMSAxIDAgMgorCTEgMSAxLjAwIDYwLjAwIDEyMC4wMAorCSA0NTc1IDI1NTAgMjg1MCAyNTUwCisyIDEgMCAxIDAgNyAwIDAgLTEgMC4wMDAgMCAwIC0xIDEgMCAyCisJMSAxIDEuMDAgNjAuMDAgMTIwLjAwCisJIDE4NzUgMjU1MCAxMjAwIDI1NTAKKzIgMSAwIDEgMCA3IDAgMCAtMSAwLjAwMCAwIDAgLTEgMSAwIDIKKwkxIDEgMS4wMCA2MC4wMCAxMjAuMDAKKwkgMjI1MCAyMTAwIDM1MjUgMTI3NQorMiAxIDAgMSAwIDcgMCAwIC0xIDAuMDAwIDAgMCAtMSAxIDAgMgorCTEgMSAxLjAwIDYwLjAwIDEyMC4wMAorCSA1MTAwIDIxMDAgNDA1MCAxMjc1CisyIDEgMCAxIDAgNyAwIDAgLTEgMC4wMDAgMCAwIC0xIDEgMCAyCisJMSAxIDEuMDAgNjAuMDAgMTIwLjAwCisJIDc3MjUgMjEwMCA0MTI1IDEyNzUKKzIgMSAwIDEgMCA3IDAgMCAtMSAwLjAwMCAwIDAgLTEgMSAwIDIKKwkxIDEgMS4wMCA2MC4wMCAxMjAuMDAKKwkgNzcyNSAyNzc1IDcxMjUgNDA1MAorMiAxIDAgMSAwIDcgMCAwIC0xIDAuMDAwIDAgMCAtMSAxIDAgMgorCTEgMSAxLjAwIDYwLjAwIDEyMC4wMAorCSA3NjUwIDQyNzUgODcwMCA0Mjc1CisyIDEgMCAxIDAgNyAwIDAgLTEgMC4wMDAgMCAwIC0xIDEgMCAyCisJMSAxIDEuMDAgNjAuMDAgMTIwLjAwCisJIDg3MDAgNDQyNSA3NjUwIDQ0MjUKKzIgMSAwIDEgMCA3IDAgMCAtMSAwLjAwMCAwIDAgLTEgMSAwIDIKKwkxIDEgMS4wMCA2MC4wMCAxMjAuMDAKKwkgOTY3NSA0Mjc1IDEwMjc1IDQyNzUKKzIgMSAwIDEgMCA3IDAgMCAtMSAwLjAwMCAwIDAgLTEgMSAwIDIKKwkxIDEgMS4wMCA2MC4wMCAxMjAuMDAKKwkgNjY3NSA0NTAwIDYwNzUgNDUwMAorMiA0IDAgMSAwIDcgMCAwIC0xIDAuMDAwIDAgMCA3IDAgMCA1CisJIDExMjUwIDQ3MjUgMTEyNTAgNDA1MCAxMDI3NSA0MDUwIDEwMjc1IDQ3MjUgMTEyNTAgNDcyNQorMiAxIDAgMSAwIDcgMCAwIC0xIDAuMDAwIDAgMCAtMSAxIDAgMgorCTEgMSAxLjAwIDYwLjAwIDEyMC4wMAorCSAxMTI1MCA0Mjc1IDExODUwIDQyNzUKKzIgMSAwIDEgMCA3IDAgMCAtMSAwLjAwMCAwIDAgLTEgMSAwIDIKKwkxIDEgMS4wMCA2MC4wMCAxMjAuMDAKKwkgMTAyNzUgNDQyNSA5Njc1IDQ0MjUKKzIgMiAwIDEgMCA3IDAgMCAtMSAwLjAwMCAwIDAgLTEgMCAwIDUKKwkgNjQ1MCA1MjUwIDgwMjUgNTI1MCA4MDI1IDU0NzUgNjQ1MCA1NDc1IDY0NTAgNTI1MAorMiAyIDAgMSAwIDcgMCAwIC0xIDAuMDAwIDAgMCAtMSAwIDAgNQorCSAxMDEyNSA1MjUwIDExNzAwIDUyNTAgMTE3MDAgNTQ3NSAxMDEyNSA1NDc1IDEwMTI1IDUyNTAKKzIgMSAwIDEgMCA3IDAgMCAtMSAwLjAwMCAwIDAgLTEgMSAwIDIKKwkxIDEgMS4wMCA2MC4wMCAxMjAuMDAKKwkgNzA1MCA0NzI1IDcwNTAgNTI1MAorMiAxIDAgMSAwIDcgMCAwIC0xIDAuMDAwIDAgMCAtMSAxIDAgMgorCTEgMSAxLjAwIDYwLjAwIDEyMC4wMAorCSAxMDY1MCA0NzI1IDEwNjUwIDUyNTAKKzIgMSAwIDEgMCA3IDAgMCAtMSAwLjAwMCAwIDAgLTEgMSAwIDIKKwkxIDEgMS4wMCA2MC4wMCAxMjAuMDAKKwkgNTEwMCAyNzc1IDMzNzUgMzIyNQorMiAxIDAgMSAwIDcgMCAwIC0xIDAuMDAwIDAgMCAtMSAxIDAgMgorCTEgMSAxLjAwIDYwLjAwIDEyMC4wMAorCSAyODUwIDM2MDAgMjg1MCA0MDUwCisyIDEgMCAxIDAgNyAwIDAgLTEgMC4wMDAgMCAwIC0xIDEgMCAyCisJMSAxIDEuMDAgNjAuMDAgMTIwLjAwCisJIDMzNzUgNDI3NSAzOTAwIDQyNzUKKzIgMSAwIDEgMCA3IDAgMCAtMSAwLjAwMCAwIDAgLTEgMSAwIDIKKwkxIDEgMS4wMCA2MC4wMCAxMjAuMDAKKwkgNDg3NSA0Mjc1IDUxNzUgNDI3NQorMiAxIDAgMSAwIDcgMCAwIC0xIDAuMDAwIDAgMCAtMSAxIDAgMgorCTEgMSAxLjAwIDYwLjAwIDEyMC4wMAorCSAzOTAwIDQ1MDAgMzM3NSA0NTAwCisyIDIgMCAxIDAgNyAwIDAgLTEgMC4wMDAgMCAwIC0xIDAgMCA1CisJIDM2MDAgNTI1MCA1MTc1IDUyNTAgNTE3NSA1NDc1IDM2MDAgNTQ3NSAzNjAwIDUyNTAKKzIgMSAwIDEgMCA3IDAgMCAtMSAwLjAwMCAwIDAgLTEgMSAwIDIKKwkxIDEgMS4wMCA2MC4wMCAxMjAuMDAKKwkgNDI3NSA0NzI1IDQyNzUgNTI1MAorMiAxIDAgMSAwIDcgMCAwIC0xIDAuMDAwIDAgMCAtMSAxIDAgMgorCTEgMSAxLjAwIDYwLjAwIDEyMC4wMAorCSAyNDAwIDQ1MDAgMjAyNSA0NTAwCisyIDQgMCAxIDAgNyAwIDAgLTEgMC4wMDAgMCAwIDcgMCAwIDUKKwkgMzM3NSA0NzI1IDMzNzUgNDA1MCAyNDAwIDQwNTAgMjQwMCA0NzI1IDMzNzUgNDcyNQorMiA0IDAgMSAwIDcgMCAwIC0xIDAuMDAwIDAgMCA3IDAgMCA1CisJIDQ4NzUgNDcyNSA0ODc1IDQwNTAgMzkwMCA0MDUwIDM5MDAgNDcyNSA0ODc1IDQ3MjUKKzIgNCAwIDEgMCA3IDAgMCAtMSAwLjAwMCAwIDAgNyAwIDAgNQorCSAzMzc1IDM2MDAgMzM3NSAyOTI1IDI0MDAgMjkyNSAyNDAwIDM2MDAgMzM3NSAzNjAwCis0IDAgMCAwIDAgMCAxNiAwLjAwMDAgNCAxNTAgNDIwIDMwMDAgMjI1MCBuZXh0XDAwMQorNCAwIDAgMCAwIDAgMTYgMC4wMDAwIDQgMTgwIDQzNSAzOTc1IDI3NzUgcHJldlwwMDEKKzQgMCAwIDAgMCAxNCAxNSAwLjAwMDAgNCAxMzUgOTQ1IDcyMDAgMjQ3NSBFTEVNRU5UXDAwMQorNCAwIDAgMCAwIDE0IDE1IDAuMDAwMCA0IDEzNSA5NDUgNDU3NSAyNDc1IEVMRU1FTlRcMDAxCis0IDAgMCAwIDAgMTQgMTUgMC4wMDAwIDQgMTM1IDk0NSAxODc1IDI0NzUgRUxFTUVOVFwwMDEKKzQgMCAwIDAgMCAxNCAxNiAwLjAwMDAgNCAxMzUgNDUwIDg3NzUgNDU5MCBSRUZcMDAxCis0IDAgMCAwIDAgMTQgMTYgMC4wMDAwIDQgMTM1IDkwMCA4Nzc1IDQzNTAgRU5USVRZXDAwMQorNCAwIDAgMCAwIDE0IDE2IDAuMDAwMCA0IDEzNSA2MDAgMTAzNTAgNDQyNSBURVhUXDAwMQorNCAwIDAgMCAwIDE0IDE2IDAuMDAwMCA0IDEzNSA2MDAgNjc1MCA0NDI1IFRFWFRcMDAxCis0IDAgMCAwIDAgMTQgMTYgMC4wMDAwIDQgMTUwIDEwNTAgMTI3NSAyMDI1IHhtbE5vZGVcMDAxCis0IDAgMCAwIDAgMTQgMTYgMC4wMDAwIDQgMTUwIDkwMCAyMTc1IDY3NSB4bWxEb2NcMDAxCis0IDAgMCAwIDAgMTQgMTYgMC4wMDAwIDQgMTM1IDEyMDAgMzIyNSA4MjUgRE9DVU1FTlRcMDAxCis0IDAgMCAwIDAgLTEgMjAgMC4wMDAwIDQgMjU1IDQ2NjUgNTE3NSA4MjUgQSBET00gdHJlZSBhcyBidWlsdCBieSB0aGUgWE1MIHBhcnNlclwwMDEKKzQgMCAwIDAgMCAwIDE2IDAuMDAwMCA0IDE2NSA4MTAgMzM3NSAxNjUwIGNoaWxkcmVuXDAwMQorNCAwIDAgMCAwIDE0IDE2IDAuMDAwMCA0IDEzNSA5MDAgMjQ3NSA0Mjc1IEVOVElUWVwwMDEKKzQgMCAwIDAgMCAxNCAxNiAwLjAwMDAgNCAxMzUgNDUwIDI0NzUgNDU3NSBSRUZcMDAxCis0IDAgMCAwIDAgMTQgMTYgMC4wMDAwIDQgMTM1IDYwMCA0MDUwIDQ0MjUgVEVYVFwwMDEKKzQgMCAwIDAgMCAtMSAxNiAwLjAwMDAgNCAyMjUgOTkwIDM5NzUgMzIyNSBwcm9wZXJ0aWVzXDAwMQorNCAwIDAgNTAgMCAwIDE2IDAuMDAwMCA0IDE1MCA3MjAgNDM1MCA1MDI1IGNvbnRlbnRcMDAxCis0IDAgMCAwIDAgMTQgMTYgMC4wMDAwIDQgMTM1IDYwMCAyNjI1IDMzMDAgQVRUUlwwMDEKKzQgMCAwIDAgMCAwIDE2IDAuMDAwMCA0IDIxMCA2MTUgNDk1MCAxODAwIHBhcmVudFwwMDEKZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL3N0cnVjdHVyZS5naWYgYi9saWJ4bWwyL2RvYy9zdHJ1Y3R1cmUuZ2lmCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRiOWEzZTYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy9zdHJ1Y3R1cmUuZ2lmCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL3N5bWJvbHMueG1sIGIvbGlieG1sMi9kb2Mvc3ltYm9scy54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWMyNzVlNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL3N5bWJvbHMueG1sCkBAIC0wLDAgKzEsMTc2OCBAQAorPCEtLSBUaGlzIGZpbGUgZGVzY3JpYmVzIGFsbCB0aGUgZXhwb3J0ZWQgZW50cnkgcG9pbnRzIGZyb20gdGhlCisgICAgIGxpYnJhcnksIGdyb3VwcGVkIGJ5IHJlbGVhc2Ugd2l0aCB0aGUgZmlyc3QgcmVsZWFzZSBiZWluZyAyLjQuMzAKKyAgICAgQWRkIG5ldyBleHBvcnRlZCBlbnRyeSBwb2ludHMgYXQgdGhlIGVuZCwgdGhpcyB3aWxsIGJlIHVzZWQgdG8KKyAgICAgZ2VuZXJhdGUgbGlieG1sMi5zeW1zIHRoZSBkZWZpbml0aW9uIG9mIGV4cG9ydGVkIHN5bWJvbHMgZnJvbQorICAgICBzaGFyZWQgbGlicmFyaWVzCisgIC0tPgorPHN5bWJvbHM+CisgIDxyZWxlYXNlIHZlcnNpb249IjIuNC4zMCI+CisgICAgPHN5bWJvbCBmaWxlPSJkZWJ1Z1hNTCI+eG1sQm9vbFRvVGV4dDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iZGVidWdYTUwiPnhtbERlYnVnRHVtcEF0dHI8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9ImRlYnVnWE1MIj54bWxEZWJ1Z0R1bXBBdHRyTGlzdDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iZGVidWdYTUwiPnhtbERlYnVnRHVtcERURDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iZGVidWdYTUwiPnhtbERlYnVnRHVtcERvY3VtZW50PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJkZWJ1Z1hNTCI+eG1sRGVidWdEdW1wRG9jdW1lbnRIZWFkPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJkZWJ1Z1hNTCI+eG1sRGVidWdEdW1wRW50aXRpZXM8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9ImRlYnVnWE1MIj54bWxEZWJ1Z0R1bXBOb2RlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJkZWJ1Z1hNTCI+eG1sRGVidWdEdW1wTm9kZUxpc3Q8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9ImRlYnVnWE1MIj54bWxEZWJ1Z0R1bXBPbmVOb2RlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJkZWJ1Z1hNTCI+eG1sRGVidWdEdW1wU3RyaW5nPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJkZWJ1Z1hNTCI+eG1sTHNDb3VudE5vZGU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9ImRlYnVnWE1MIj54bWxMc09uZU5vZGU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9ImRlYnVnWE1MIj54bWxTaGVsbDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iZGVidWdYTUwiPnhtbFNoZWxsQmFzZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iZGVidWdYTUwiPnhtbFNoZWxsQ2F0PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJkZWJ1Z1hNTCI+eG1sU2hlbGxEaXI8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9ImRlYnVnWE1MIj54bWxTaGVsbER1PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJkZWJ1Z1hNTCI+eG1sU2hlbGxMaXN0PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJkZWJ1Z1hNTCI+eG1sU2hlbGxMb2FkPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJkZWJ1Z1hNTCI+eG1sU2hlbGxQcmludE5vZGU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9ImRlYnVnWE1MIj54bWxTaGVsbFByaW50WFBhdGhFcnJvcjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iZGVidWdYTUwiPnhtbFNoZWxsUHJpbnRYUGF0aFJlc3VsdDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iZGVidWdYTUwiPnhtbFNoZWxsUHdkPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJkZWJ1Z1hNTCI+eG1sU2hlbGxTYXZlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJkZWJ1Z1hNTCI+eG1sU2hlbGxWYWxpZGF0ZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iZGVidWdYTUwiPnhtbFNoZWxsV3JpdGU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9Inhwb2ludGVyIj54bWxYUHRyQnVpbGROb2RlTGlzdDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieHBvaW50ZXIiPnhtbFhQdHJFdmFsPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4cG9pbnRlciI+eG1sWFB0ckV2YWxSYW5nZVByZWRpY2F0ZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieHBvaW50ZXIiPnhtbFhQdHJGcmVlTG9jYXRpb25TZXQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9Inhwb2ludGVyIj54bWxYUHRyTG9jYXRpb25TZXRBZGQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9Inhwb2ludGVyIj54bWxYUHRyTG9jYXRpb25TZXRDcmVhdGU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9Inhwb2ludGVyIj54bWxYUHRyTG9jYXRpb25TZXREZWw8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9Inhwb2ludGVyIj54bWxYUHRyTG9jYXRpb25TZXRNZXJnZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieHBvaW50ZXIiPnhtbFhQdHJMb2NhdGlvblNldFJlbW92ZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieHBvaW50ZXIiPnhtbFhQdHJOZXdDb2xsYXBzZWRSYW5nZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieHBvaW50ZXIiPnhtbFhQdHJOZXdDb250ZXh0PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4cG9pbnRlciI+eG1sWFB0ck5ld0xvY2F0aW9uU2V0Tm9kZVNldDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieHBvaW50ZXIiPnhtbFhQdHJOZXdMb2NhdGlvblNldE5vZGVzPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4cG9pbnRlciI+eG1sWFB0ck5ld1JhbmdlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4cG9pbnRlciI+eG1sWFB0ck5ld1JhbmdlTm9kZU9iamVjdDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieHBvaW50ZXIiPnhtbFhQdHJOZXdSYW5nZU5vZGVQb2ludDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieHBvaW50ZXIiPnhtbFhQdHJOZXdSYW5nZU5vZGVzPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4cG9pbnRlciI+eG1sWFB0ck5ld1JhbmdlUG9pbnROb2RlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4cG9pbnRlciI+eG1sWFB0ck5ld1JhbmdlUG9pbnRzPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4cG9pbnRlciI+eG1sWFB0clJhbmdlVG9GdW5jdGlvbjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieHBvaW50ZXIiPnhtbFhQdHJXcmFwTG9jYXRpb25TZXQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9IlNBWCI+YXR0cmlidXRlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJTQVgiPmF0dHJpYnV0ZURlY2w8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9IlNBWCI+Y2RhdGFCbG9jazwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iU0FYIj5jaGFyYWN0ZXJzPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJTQVgiPmNoZWNrTmFtZXNwYWNlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJTQVgiPmNvbW1lbnQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9IlNBWDIiPmRvY2JEZWZhdWx0U0FYSGFuZGxlckluaXQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9IlNBWCI+ZWxlbWVudERlY2w8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9IlNBWCI+ZW5kRG9jdW1lbnQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9IlNBWCI+ZW5kRWxlbWVudDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iU0FYIj5lbnRpdHlEZWNsPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJTQVgiPmV4dGVybmFsU3Vic2V0PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJTQVgiPmdldENvbHVtbk51bWJlcjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iU0FYIj5nZXRFbnRpdHk8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9IlNBWCI+Z2V0TGluZU51bWJlcjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iU0FYIj5nZXROYW1lc3BhY2U8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9IlNBWCI+Z2V0UGFyYW1ldGVyRW50aXR5PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJTQVgiPmdldFB1YmxpY0lkPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJTQVgiPmdldFN5c3RlbUlkPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJTQVgiPmdsb2JhbE5hbWVzcGFjZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iU0FYIj5oYXNFeHRlcm5hbFN1YnNldDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iU0FYIj5oYXNJbnRlcm5hbFN1YnNldDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iU0FYMiI+aHRtbERlZmF1bHRTQVhIYW5kbGVySW5pdDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iU0FYIj5pZ25vcmFibGVXaGl0ZXNwYWNlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJTQVgiPmluaXRkb2NiRGVmYXVsdFNBWEhhbmRsZXI8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9IlNBWCI+aW5pdGh0bWxEZWZhdWx0U0FYSGFuZGxlcjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iU0FYIj5pbml0eG1sRGVmYXVsdFNBWEhhbmRsZXI8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9IlNBWCI+aW50ZXJuYWxTdWJzZXQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9IlNBWCI+aXNTdGFuZGFsb25lPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJTQVgiPm5hbWVzcGFjZURlY2w8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9IlNBWCI+bm90YXRpb25EZWNsPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJTQVgiPnByb2Nlc3NpbmdJbnN0cnVjdGlvbjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iU0FYIj5yZWZlcmVuY2U8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9IlNBWCI+cmVzb2x2ZUVudGl0eTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iU0FYIj5zZXREb2N1bWVudExvY2F0b3I8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9IlNBWCI+c2V0TmFtZXNwYWNlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJTQVgiPnN0YXJ0RG9jdW1lbnQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9IlNBWCI+c3RhcnRFbGVtZW50PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJTQVgiPnVucGFyc2VkRW50aXR5RGVjbDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iU0FYMiI+eG1sRGVmYXVsdFNBWEhhbmRsZXJJbml0PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJwYXJzZXJJbnRlcm5hbHMiPmh0bWxDcmVhdGVGaWxlUGFyc2VyQ3R4dDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icGFyc2VySW50ZXJuYWxzIj5odG1sSW5pdEF1dG9DbG9zZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icGFyc2VySW50ZXJuYWxzIj5pbnB1dFBvcDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icGFyc2VySW50ZXJuYWxzIj5pbnB1dFB1c2g8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InBhcnNlckludGVybmFscyI+bmFtZVBvcDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icGFyc2VySW50ZXJuYWxzIj5uYW1lUHVzaDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icGFyc2VySW50ZXJuYWxzIj5ub2RlUG9wPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJwYXJzZXJJbnRlcm5hbHMiPm5vZGVQdXNoPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJwYXJzZXJJbnRlcm5hbHMiPnhtbENoZWNrTGFuZ3VhZ2VJRDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icGFyc2VySW50ZXJuYWxzIj54bWxDb3B5Q2hhcjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icGFyc2VySW50ZXJuYWxzIj54bWxDb3B5Q2hhck11bHRpQnl0ZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icGFyc2VySW50ZXJuYWxzIj54bWxDcmVhdGVFbnRpdHlQYXJzZXJDdHh0PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJwYXJzZXJJbnRlcm5hbHMiPnhtbENyZWF0ZUZpbGVQYXJzZXJDdHh0PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJwYXJzZXJJbnRlcm5hbHMiPnhtbENyZWF0ZU1lbW9yeVBhcnNlckN0eHQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InBhcnNlckludGVybmFscyI+eG1sQ3VycmVudENoYXI8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InBhcnNlckludGVybmFscyI+eG1sRGVjb2RlRW50aXRpZXM8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InBhcnNlckludGVybmFscyI+eG1sRnJlZUlucHV0U3RyZWFtPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJwYXJzZXJJbnRlcm5hbHMiPnhtbEhhbmRsZUVudGl0eTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iY2h2YWxpZCI+eG1sSXNCYXNlQ2hhcjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iY2h2YWxpZCI+eG1sSXNCbGFuazwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iY2h2YWxpZCI+eG1sSXNDaGFyPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJjaHZhbGlkIj54bWxJc0NvbWJpbmluZzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iY2h2YWxpZCI+eG1sSXNEaWdpdDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iY2h2YWxpZCI+eG1sSXNFeHRlbmRlcjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iY2h2YWxpZCI+eG1sSXNJZGVvZ3JhcGhpYzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icGFyc2VySW50ZXJuYWxzIj54bWxJc0xldHRlcjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iY2h2YWxpZCI+eG1sSXNQdWJpZENoYXI8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InBhcnNlckludGVybmFscyI+eG1sTmFtZXNwYWNlUGFyc2VOQ05hbWU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InBhcnNlckludGVybmFscyI+eG1sTmFtZXNwYWNlUGFyc2VOU0RlZjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icGFyc2VySW50ZXJuYWxzIj54bWxOYW1lc3BhY2VQYXJzZVFOYW1lPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJwYXJzZXJJbnRlcm5hbHMiPnhtbE5ld0VudGl0eUlucHV0U3RyZWFtPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJwYXJzZXJJbnRlcm5hbHMiPnhtbE5ld0lucHV0RnJvbUZpbGU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InBhcnNlckludGVybmFscyI+eG1sTmV3SW5wdXRTdHJlYW08L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InBhcnNlciI+eG1sTmV3UGFyc2VyQ3R4dDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icGFyc2VySW50ZXJuYWxzIj54bWxOZXdTdHJpbmdJbnB1dFN0cmVhbTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icGFyc2VySW50ZXJuYWxzIj54bWxOZXh0Q2hhcjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icGFyc2VySW50ZXJuYWxzIj54bWxQYXJzZUF0dFZhbHVlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJwYXJzZXJJbnRlcm5hbHMiPnhtbFBhcnNlQXR0cmlidXRlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJwYXJzZXJJbnRlcm5hbHMiPnhtbFBhcnNlQXR0cmlidXRlTGlzdERlY2w8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InBhcnNlckludGVybmFscyI+eG1sUGFyc2VBdHRyaWJ1dGVUeXBlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJwYXJzZXJJbnRlcm5hbHMiPnhtbFBhcnNlQ0RTZWN0PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJwYXJzZXJJbnRlcm5hbHMiPnhtbFBhcnNlQ2hhckRhdGE8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InBhcnNlckludGVybmFscyI+eG1sUGFyc2VDaGFyUmVmPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJwYXJzZXJJbnRlcm5hbHMiPnhtbFBhcnNlQ29tbWVudDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icGFyc2VySW50ZXJuYWxzIj54bWxQYXJzZUNvbnRlbnQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InBhcnNlckludGVybmFscyI+eG1sUGFyc2VEZWZhdWx0RGVjbDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icGFyc2VySW50ZXJuYWxzIj54bWxQYXJzZURvY1R5cGVEZWNsPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJwYXJzZXJJbnRlcm5hbHMiPnhtbFBhcnNlRWxlbWVudDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icGFyc2VySW50ZXJuYWxzIj54bWxQYXJzZUVsZW1lbnRDaGlsZHJlbkNvbnRlbnREZWNsPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJwYXJzZXJJbnRlcm5hbHMiPnhtbFBhcnNlRWxlbWVudENvbnRlbnREZWNsPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJwYXJzZXJJbnRlcm5hbHMiPnhtbFBhcnNlRWxlbWVudERlY2w8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InBhcnNlckludGVybmFscyI+eG1sUGFyc2VFbGVtZW50TWl4ZWRDb250ZW50RGVjbDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icGFyc2VySW50ZXJuYWxzIj54bWxQYXJzZUVuY05hbWU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InBhcnNlckludGVybmFscyI+eG1sUGFyc2VFbmNvZGluZ0RlY2w8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InBhcnNlckludGVybmFscyI+eG1sUGFyc2VFbmRUYWc8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InBhcnNlckludGVybmFscyI+eG1sUGFyc2VFbnRpdHlEZWNsPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJwYXJzZXJJbnRlcm5hbHMiPnhtbFBhcnNlRW50aXR5UmVmPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJwYXJzZXJJbnRlcm5hbHMiPnhtbFBhcnNlRW50aXR5VmFsdWU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InBhcnNlckludGVybmFscyI+eG1sUGFyc2VFbnVtZXJhdGVkVHlwZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icGFyc2VySW50ZXJuYWxzIj54bWxQYXJzZUVudW1lcmF0aW9uVHlwZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icGFyc2VySW50ZXJuYWxzIj54bWxQYXJzZUV4dGVybmFsSUQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InBhcnNlckludGVybmFscyI+eG1sUGFyc2VFeHRlcm5hbFN1YnNldDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icGFyc2VySW50ZXJuYWxzIj54bWxQYXJzZU1hcmt1cERlY2w8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InBhcnNlckludGVybmFscyI+eG1sUGFyc2VNaXNjPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJwYXJzZXJJbnRlcm5hbHMiPnhtbFBhcnNlTmFtZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icGFyc2VySW50ZXJuYWxzIj54bWxQYXJzZU5hbWVzcGFjZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icGFyc2VySW50ZXJuYWxzIj54bWxQYXJzZU5tdG9rZW48L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InBhcnNlckludGVybmFscyI+eG1sUGFyc2VOb3RhdGlvbkRlY2w8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InBhcnNlckludGVybmFscyI+eG1sUGFyc2VOb3RhdGlvblR5cGU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InBhcnNlckludGVybmFscyI+eG1sUGFyc2VQRVJlZmVyZW5jZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icGFyc2VySW50ZXJuYWxzIj54bWxQYXJzZVBJPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJwYXJzZXJJbnRlcm5hbHMiPnhtbFBhcnNlUElUYXJnZXQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InBhcnNlckludGVybmFscyI+eG1sUGFyc2VQdWJpZExpdGVyYWw8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InBhcnNlckludGVybmFscyI+eG1sUGFyc2VRdW90ZWRTdHJpbmc8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InBhcnNlckludGVybmFscyI+eG1sUGFyc2VSZWZlcmVuY2U8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InBhcnNlckludGVybmFscyI+eG1sUGFyc2VTRERlY2w8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InBhcnNlckludGVybmFscyI+eG1sUGFyc2VTdGFydFRhZzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icGFyc2VySW50ZXJuYWxzIj54bWxQYXJzZVN5c3RlbUxpdGVyYWw8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InBhcnNlckludGVybmFscyI+eG1sUGFyc2VUZXh0RGVjbDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icGFyc2VySW50ZXJuYWxzIj54bWxQYXJzZVZlcnNpb25JbmZvPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJwYXJzZXJJbnRlcm5hbHMiPnhtbFBhcnNlVmVyc2lvbk51bTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icGFyc2VySW50ZXJuYWxzIj54bWxQYXJzZVhNTERlY2w8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InBhcnNlckludGVybmFscyI+eG1sUGFyc2VySGFuZGxlUEVSZWZlcmVuY2U8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InBhcnNlckludGVybmFscyI+eG1sUGFyc2VySGFuZGxlUmVmZXJlbmNlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJwYXJzZXJJbnRlcm5hbHMiPnhtbFBhcnNlcklucHV0U2hyaW5rPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJwYXJzZXJJbnRlcm5hbHMiPnhtbFBvcElucHV0PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJwYXJzZXJJbnRlcm5hbHMiPnhtbFB1c2hJbnB1dDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icGFyc2VySW50ZXJuYWxzIj54bWxTY2FuTmFtZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icGFyc2VySW50ZXJuYWxzIj54bWxTZXRFbnRpdHlSZWZlcmVuY2VGdW5jPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJwYXJzZXJJbnRlcm5hbHMiPnhtbFNraXBCbGFua0NoYXJzPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJwYXJzZXJJbnRlcm5hbHMiPnhtbFNwbGl0UU5hbWU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InBhcnNlckludGVybmFscyI+eG1sU3RyaW5nQ29tbWVudDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icGFyc2VySW50ZXJuYWxzIj54bWxTdHJpbmdDdXJyZW50Q2hhcjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icGFyc2VySW50ZXJuYWxzIj54bWxTdHJpbmdEZWNvZGVFbnRpdGllczwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icGFyc2VySW50ZXJuYWxzIj54bWxTdHJpbmdUZXh0PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJwYXJzZXJJbnRlcm5hbHMiPnhtbFN0cmluZ1RleHROb2VuYzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icGFyc2VySW50ZXJuYWxzIj54bWxTd2l0Y2hFbmNvZGluZzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icGFyc2VySW50ZXJuYWxzIj54bWxTd2l0Y2hUb0VuY29kaW5nPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJjMTRuIj54bWxDMTRORG9jRHVtcE1lbW9yeTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iYzE0biI+eG1sQzE0TkRvY1NhdmU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9ImMxNG4iPnhtbEMxNE5Eb2NTYXZlVG88L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9ImMxNG4iPnhtbEMxNE5FeGVjdXRlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJjYXRhbG9nIj54bWxBQ2F0YWxvZ0FkZDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iY2F0YWxvZyI+eG1sQUNhdGFsb2dEdW1wPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJjYXRhbG9nIj54bWxBQ2F0YWxvZ1JlbW92ZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iY2F0YWxvZyI+eG1sQUNhdGFsb2dSZXNvbHZlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJjYXRhbG9nIj54bWxBQ2F0YWxvZ1Jlc29sdmVQdWJsaWM8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9ImNhdGFsb2ciPnhtbEFDYXRhbG9nUmVzb2x2ZVN5c3RlbTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iY2F0YWxvZyI+eG1sQUNhdGFsb2dSZXNvbHZlVVJJPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJjYXRhbG9nIj54bWxDYXRhbG9nQWRkPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJjYXRhbG9nIj54bWxDYXRhbG9nQWRkTG9jYWw8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9ImNhdGFsb2ciPnhtbENhdGFsb2dDbGVhbnVwPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJjYXRhbG9nIj54bWxDYXRhbG9nQ29udmVydDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iY2F0YWxvZyI+eG1sQ2F0YWxvZ0R1bXA8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9ImNhdGFsb2ciPnhtbENhdGFsb2dGcmVlTG9jYWw8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9ImNhdGFsb2ciPnhtbENhdGFsb2dHZXREZWZhdWx0czwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iY2F0YWxvZyI+eG1sQ2F0YWxvZ0dldFB1YmxpYzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iY2F0YWxvZyI+eG1sQ2F0YWxvZ0dldFN5c3RlbTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iY2F0YWxvZyI+eG1sQ2F0YWxvZ0lzRW1wdHk8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9ImNhdGFsb2ciPnhtbENhdGFsb2dMb2NhbFJlc29sdmU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9ImNhdGFsb2ciPnhtbENhdGFsb2dMb2NhbFJlc29sdmVVUkk8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9ImNhdGFsb2ciPnhtbENhdGFsb2dSZW1vdmU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9ImNhdGFsb2ciPnhtbENhdGFsb2dSZXNvbHZlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJjYXRhbG9nIj54bWxDYXRhbG9nUmVzb2x2ZVB1YmxpYzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iY2F0YWxvZyI+eG1sQ2F0YWxvZ1Jlc29sdmVTeXN0ZW08L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9ImNhdGFsb2ciPnhtbENhdGFsb2dSZXNvbHZlVVJJPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJjYXRhbG9nIj54bWxDYXRhbG9nU2V0RGVidWc8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9ImNhdGFsb2ciPnhtbENhdGFsb2dTZXREZWZhdWx0UHJlZmVyPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJjYXRhbG9nIj54bWxDYXRhbG9nU2V0RGVmYXVsdHM8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9ImNhdGFsb2ciPnhtbENvbnZlcnRTR01MQ2F0YWxvZzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iY2F0YWxvZyI+eG1sRnJlZUNhdGFsb2c8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9ImNhdGFsb2ciPnhtbEluaXRpYWxpemVDYXRhbG9nPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJjYXRhbG9nIj54bWxMb2FkQUNhdGFsb2c8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9ImNhdGFsb2ciPnhtbExvYWRDYXRhbG9nPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJjYXRhbG9nIj54bWxMb2FkQ2F0YWxvZ3M8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9ImNhdGFsb2ciPnhtbExvYWRTR01MU3VwZXJDYXRhbG9nPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJjYXRhbG9nIj54bWxOZXdDYXRhbG9nPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJjYXRhbG9nIj54bWxQYXJzZUNhdGFsb2dGaWxlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4cGF0aEludGVybmFscyI+dmFsdWVQb3A8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhwYXRoSW50ZXJuYWxzIj52YWx1ZVB1c2g8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhwYXRoSW50ZXJuYWxzIj54bWxYUGF0aEFkZFZhbHVlczwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieHBhdGhJbnRlcm5hbHMiPnhtbFhQYXRoQm9vbGVhbkZ1bmN0aW9uPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4cGF0aEludGVybmFscyI+eG1sWFBhdGhDZWlsaW5nRnVuY3Rpb248L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhwYXRoSW50ZXJuYWxzIj54bWxYUGF0aENvbXBhcmVWYWx1ZXM8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhwYXRoSW50ZXJuYWxzIj54bWxYUGF0aENvbmNhdEZ1bmN0aW9uPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4cGF0aEludGVybmFscyI+eG1sWFBhdGhDb250YWluc0Z1bmN0aW9uPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4cGF0aEludGVybmFscyI+eG1sWFBhdGhDb3VudEZ1bmN0aW9uPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4cGF0aEludGVybmFscyI+eG1sWFBhdGhEZWJ1Z0R1bXBDb21wRXhwcjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieHBhdGhJbnRlcm5hbHMiPnhtbFhQYXRoRGVidWdEdW1wT2JqZWN0PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4cGF0aEludGVybmFscyI+eG1sWFBhdGhEaWZmZXJlbmNlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4cGF0aEludGVybmFscyI+eG1sWFBhdGhEaXN0aW5jdDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieHBhdGhJbnRlcm5hbHMiPnhtbFhQYXRoRGlzdGluY3RTb3J0ZWQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhwYXRoSW50ZXJuYWxzIj54bWxYUGF0aERpdlZhbHVlczwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieHBhdGhJbnRlcm5hbHMiPnhtbFhQYXRoRXF1YWxWYWx1ZXM8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhwYXRoSW50ZXJuYWxzIj54bWxYUGF0aEV2YWxFeHByPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4cGF0aEludGVybmFscyI+eG1sWFBhdGhFdmFsdWF0ZVByZWRpY2F0ZVJlc3VsdDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieHBhdGhJbnRlcm5hbHMiPnhtbFhQYXRoRmFsc2VGdW5jdGlvbjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieHBhdGhJbnRlcm5hbHMiPnhtbFhQYXRoRmxvb3JGdW5jdGlvbjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieHBhdGhJbnRlcm5hbHMiPnhtbFhQYXRoRnJlZVBhcnNlckNvbnRleHQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhwYXRoSW50ZXJuYWxzIj54bWxYUGF0aEZ1bmN0aW9uTG9va3VwPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4cGF0aEludGVybmFscyI+eG1sWFBhdGhGdW5jdGlvbkxvb2t1cE5TPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4cGF0aEludGVybmFscyI+eG1sWFBhdGhIYXNTYW1lTm9kZXM8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhwYXRoSW50ZXJuYWxzIj54bWxYUGF0aElkRnVuY3Rpb248L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhwYXRoSW50ZXJuYWxzIj54bWxYUGF0aEludGVyc2VjdGlvbjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieHBhdGhJbnRlcm5hbHMiPnhtbFhQYXRoSXNOb2RlVHlwZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieHBhdGhJbnRlcm5hbHMiPnhtbFhQYXRoTGFuZ0Z1bmN0aW9uPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4cGF0aEludGVybmFscyI+eG1sWFBhdGhMYXN0RnVuY3Rpb248L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhwYXRoSW50ZXJuYWxzIj54bWxYUGF0aExlYWRpbmc8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhwYXRoSW50ZXJuYWxzIj54bWxYUGF0aExlYWRpbmdTb3J0ZWQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhwYXRoSW50ZXJuYWxzIj54bWxYUGF0aExvY2FsTmFtZUZ1bmN0aW9uPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4cGF0aEludGVybmFscyI+eG1sWFBhdGhNb2RWYWx1ZXM8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhwYXRoSW50ZXJuYWxzIj54bWxYUGF0aE11bHRWYWx1ZXM8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhwYXRoSW50ZXJuYWxzIj54bWxYUGF0aE5hbWVzcGFjZVVSSUZ1bmN0aW9uPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4cGF0aEludGVybmFscyI+eG1sWFBhdGhOZXdCb29sZWFuPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4cGF0aEludGVybmFscyI+eG1sWFBhdGhOZXdDU3RyaW5nPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4cGF0aEludGVybmFscyI+eG1sWFBhdGhOZXdGbG9hdDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieHBhdGhJbnRlcm5hbHMiPnhtbFhQYXRoTmV3Tm9kZVNldDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieHBhdGhJbnRlcm5hbHMiPnhtbFhQYXRoTmV3Tm9kZVNldExpc3Q8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhwYXRoSW50ZXJuYWxzIj54bWxYUGF0aE5ld1BhcnNlckNvbnRleHQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhwYXRoSW50ZXJuYWxzIj54bWxYUGF0aE5ld1N0cmluZzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieHBhdGhJbnRlcm5hbHMiPnhtbFhQYXRoTmV3VmFsdWVUcmVlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4cGF0aEludGVybmFscyI+eG1sWFBhdGhOZXh0QW5jZXN0b3I8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhwYXRoSW50ZXJuYWxzIj54bWxYUGF0aE5leHRBbmNlc3Rvck9yU2VsZjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieHBhdGhJbnRlcm5hbHMiPnhtbFhQYXRoTmV4dEF0dHJpYnV0ZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieHBhdGhJbnRlcm5hbHMiPnhtbFhQYXRoTmV4dENoaWxkPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4cGF0aEludGVybmFscyI+eG1sWFBhdGhOZXh0RGVzY2VuZGFudDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieHBhdGhJbnRlcm5hbHMiPnhtbFhQYXRoTmV4dERlc2NlbmRhbnRPclNlbGY8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhwYXRoSW50ZXJuYWxzIj54bWxYUGF0aE5leHRGb2xsb3dpbmc8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhwYXRoSW50ZXJuYWxzIj54bWxYUGF0aE5leHRGb2xsb3dpbmdTaWJsaW5nPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4cGF0aEludGVybmFscyI+eG1sWFBhdGhOZXh0TmFtZXNwYWNlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4cGF0aEludGVybmFscyI+eG1sWFBhdGhOZXh0UGFyZW50PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4cGF0aEludGVybmFscyI+eG1sWFBhdGhOZXh0UHJlY2VkaW5nPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4cGF0aEludGVybmFscyI+eG1sWFBhdGhOZXh0UHJlY2VkaW5nU2libGluZzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieHBhdGhJbnRlcm5hbHMiPnhtbFhQYXRoTmV4dFNlbGY8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhwYXRoSW50ZXJuYWxzIj54bWxYUGF0aE5vZGVMZWFkaW5nPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4cGF0aEludGVybmFscyI+eG1sWFBhdGhOb2RlTGVhZGluZ1NvcnRlZDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieHBhdGhJbnRlcm5hbHMiPnhtbFhQYXRoTm9kZVNldEFkZDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieHBhdGhJbnRlcm5hbHMiPnhtbFhQYXRoTm9kZVNldEFkZE5zPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4cGF0aEludGVybmFscyI+eG1sWFBhdGhOb2RlU2V0QWRkVW5pcXVlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4cGF0aEludGVybmFscyI+eG1sWFBhdGhOb2RlU2V0Q29udGFpbnM8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhwYXRoSW50ZXJuYWxzIj54bWxYUGF0aE5vZGVTZXREZWw8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhwYXRoSW50ZXJuYWxzIj54bWxYUGF0aE5vZGVTZXRGcmVlTnM8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhwYXRoSW50ZXJuYWxzIj54bWxYUGF0aE5vZGVTZXRNZXJnZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieHBhdGhJbnRlcm5hbHMiPnhtbFhQYXRoTm9kZVNldFJlbW92ZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieHBhdGhJbnRlcm5hbHMiPnhtbFhQYXRoTm9kZVNldFNvcnQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhwYXRoSW50ZXJuYWxzIj54bWxYUGF0aE5vZGVUcmFpbGluZzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieHBhdGhJbnRlcm5hbHMiPnhtbFhQYXRoTm9kZVRyYWlsaW5nU29ydGVkPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4cGF0aEludGVybmFscyI+eG1sWFBhdGhOb3JtYWxpemVGdW5jdGlvbjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieHBhdGhJbnRlcm5hbHMiPnhtbFhQYXRoTm90RXF1YWxWYWx1ZXM8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhwYXRoSW50ZXJuYWxzIj54bWxYUGF0aE5vdEZ1bmN0aW9uPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4cGF0aEludGVybmFscyI+eG1sWFBhdGhOc0xvb2t1cDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieHBhdGhJbnRlcm5hbHMiPnhtbFhQYXRoTnVtYmVyRnVuY3Rpb248L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhwYXRoSW50ZXJuYWxzIj54bWxYUGF0aFBhcnNlTkNOYW1lPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4cGF0aEludGVybmFscyI+eG1sWFBhdGhQYXJzZU5hbWU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhwYXRoSW50ZXJuYWxzIj54bWxYUGF0aFBvcEJvb2xlYW48L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhwYXRoSW50ZXJuYWxzIj54bWxYUGF0aFBvcEV4dGVybmFsPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4cGF0aEludGVybmFscyI+eG1sWFBhdGhQb3BOb2RlU2V0PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4cGF0aEludGVybmFscyI+eG1sWFBhdGhQb3BOdW1iZXI8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhwYXRoSW50ZXJuYWxzIj54bWxYUGF0aFBvcFN0cmluZzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieHBhdGhJbnRlcm5hbHMiPnhtbFhQYXRoUG9zaXRpb25GdW5jdGlvbjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieHBhdGhJbnRlcm5hbHMiPnhtbFhQYXRoUmVnaXN0ZXJBbGxGdW5jdGlvbnM8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhwYXRoSW50ZXJuYWxzIj54bWxYUGF0aFJlZ2lzdGVyRnVuYzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieHBhdGhJbnRlcm5hbHMiPnhtbFhQYXRoUmVnaXN0ZXJGdW5jTG9va3VwPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4cGF0aEludGVybmFscyI+eG1sWFBhdGhSZWdpc3RlckZ1bmNOUzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieHBhdGhJbnRlcm5hbHMiPnhtbFhQYXRoUmVnaXN0ZXJOczwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieHBhdGhJbnRlcm5hbHMiPnhtbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieHBhdGhJbnRlcm5hbHMiPnhtbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZUxvb2t1cDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieHBhdGhJbnRlcm5hbHMiPnhtbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZU5TPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4cGF0aEludGVybmFscyI+eG1sWFBhdGhSZWdpc3RlcmVkRnVuY3NDbGVhbnVwPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4cGF0aEludGVybmFscyI+eG1sWFBhdGhSZWdpc3RlcmVkTnNDbGVhbnVwPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4cGF0aEludGVybmFscyI+eG1sWFBhdGhSZWdpc3RlcmVkVmFyaWFibGVzQ2xlYW51cDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieHBhdGhJbnRlcm5hbHMiPnhtbFhQYXRoUm9vdDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieHBhdGhJbnRlcm5hbHMiPnhtbFhQYXRoUm91bmRGdW5jdGlvbjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieHBhdGhJbnRlcm5hbHMiPnhtbFhQYXRoU3RhcnRzV2l0aEZ1bmN0aW9uPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4cGF0aEludGVybmFscyI+eG1sWFBhdGhTdHJpbmdFdmFsTnVtYmVyPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4cGF0aEludGVybmFscyI+eG1sWFBhdGhTdHJpbmdGdW5jdGlvbjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieHBhdGhJbnRlcm5hbHMiPnhtbFhQYXRoU3RyaW5nTGVuZ3RoRnVuY3Rpb248L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhwYXRoSW50ZXJuYWxzIj54bWxYUGF0aFN1YlZhbHVlczwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieHBhdGhJbnRlcm5hbHMiPnhtbFhQYXRoU3Vic3RyaW5nQWZ0ZXJGdW5jdGlvbjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieHBhdGhJbnRlcm5hbHMiPnhtbFhQYXRoU3Vic3RyaW5nQmVmb3JlRnVuY3Rpb248L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhwYXRoSW50ZXJuYWxzIj54bWxYUGF0aFN1YnN0cmluZ0Z1bmN0aW9uPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4cGF0aEludGVybmFscyI+eG1sWFBhdGhTdW1GdW5jdGlvbjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieHBhdGhJbnRlcm5hbHMiPnhtbFhQYXRoVHJhaWxpbmc8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhwYXRoSW50ZXJuYWxzIj54bWxYUGF0aFRyYWlsaW5nU29ydGVkPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4cGF0aEludGVybmFscyI+eG1sWFBhdGhUcmFuc2xhdGVGdW5jdGlvbjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieHBhdGhJbnRlcm5hbHMiPnhtbFhQYXRoVHJ1ZUZ1bmN0aW9uPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4cGF0aEludGVybmFscyI+eG1sWFBhdGhWYWx1ZUZsaXBTaWduPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4cGF0aEludGVybmFscyI+eG1sWFBhdGhWYXJpYWJsZUxvb2t1cDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieHBhdGhJbnRlcm5hbHMiPnhtbFhQYXRoVmFyaWFibGVMb29rdXBOUzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieHBhdGhJbnRlcm5hbHMiPnhtbFhQYXRoV3JhcENTdHJpbmc8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhwYXRoSW50ZXJuYWxzIj54bWxYUGF0aFdyYXBFeHRlcm5hbDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieHBhdGhJbnRlcm5hbHMiPnhtbFhQYXRoV3JhcE5vZGVTZXQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhwYXRoSW50ZXJuYWxzIj54bWxYUGF0aFdyYXBTdHJpbmc8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhwYXRoSW50ZXJuYWxzIj54bWxYUGF0aGVycm9yPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxhdXRvbWF0YSI+eG1sQXV0b21hdGFDb21waWxlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxhdXRvbWF0YSI+eG1sQXV0b21hdGFHZXRJbml0U3RhdGU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbGF1dG9tYXRhIj54bWxBdXRvbWF0YUlzRGV0ZXJtaW5pc3Q8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbGF1dG9tYXRhIj54bWxBdXRvbWF0YU5ld0FsbFRyYW5zPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxhdXRvbWF0YSI+eG1sQXV0b21hdGFOZXdDb3VudFRyYW5zPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxhdXRvbWF0YSI+eG1sQXV0b21hdGFOZXdDb3VudGVkVHJhbnM8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbGF1dG9tYXRhIj54bWxBdXRvbWF0YU5ld0NvdW50ZXI8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbGF1dG9tYXRhIj54bWxBdXRvbWF0YU5ld0NvdW50ZXJUcmFuczwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sYXV0b21hdGEiPnhtbEF1dG9tYXRhTmV3RXBzaWxvbjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sYXV0b21hdGEiPnhtbEF1dG9tYXRhTmV3T25jZVRyYW5zPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxhdXRvbWF0YSI+eG1sQXV0b21hdGFOZXdTdGF0ZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sYXV0b21hdGEiPnhtbEF1dG9tYXRhTmV3VHJhbnNpdGlvbjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sYXV0b21hdGEiPnhtbEF1dG9tYXRhU2V0RmluYWxTdGF0ZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sYXV0b21hdGEiPnhtbEZyZWVBdXRvbWF0YTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sYXV0b21hdGEiPnhtbE5ld0F1dG9tYXRhPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJIVE1MdHJlZSI+aHRtbERvY0NvbnRlbnREdW1wRm9ybWF0T3V0cHV0PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJIVE1MdHJlZSI+aHRtbERvY0NvbnRlbnREdW1wT3V0cHV0PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJIVE1MdHJlZSI+aHRtbERvY0R1bXA8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9IkhUTUx0cmVlIj5odG1sRG9jRHVtcE1lbW9yeTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iSFRNTHRyZWUiPmh0bWxHZXRNZXRhRW5jb2Rpbmc8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9IkhUTUx0cmVlIj5odG1sSXNCb29sZWFuQXR0cjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iSFRNTHRyZWUiPmh0bWxOZXdEb2M8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9IkhUTUx0cmVlIj5odG1sTmV3RG9jTm9EdEQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9IkhUTUx0cmVlIj5odG1sTm9kZUR1bXA8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9IkhUTUx0cmVlIj5odG1sTm9kZUR1bXBGaWxlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJIVE1MdHJlZSI+aHRtbE5vZGVEdW1wRmlsZUZvcm1hdDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iSFRNTHRyZWUiPmh0bWxOb2RlRHVtcEZvcm1hdE91dHB1dDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iSFRNTHRyZWUiPmh0bWxOb2RlRHVtcE91dHB1dDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iSFRNTHRyZWUiPmh0bWxTYXZlRmlsZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iSFRNTHRyZWUiPmh0bWxTYXZlRmlsZUVuYzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iSFRNTHRyZWUiPmh0bWxTYXZlRmlsZUZvcm1hdDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iSFRNTHRyZWUiPmh0bWxTZXRNZXRhRW5jb2Rpbmc8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9Im5hbm9mdHAiPnhtbE5hbm9GVFBDaGVja1Jlc3BvbnNlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJuYW5vZnRwIj54bWxOYW5vRlRQQ2xlYW51cDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ibmFub2Z0cCI+eG1sTmFub0ZUUENsb3NlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJuYW5vZnRwIj54bWxOYW5vRlRQQ2xvc2VDb25uZWN0aW9uPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJuYW5vZnRwIj54bWxOYW5vRlRQQ29ubmVjdDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ibmFub2Z0cCI+eG1sTmFub0ZUUENvbm5lY3RUbzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ibmFub2Z0cCI+eG1sTmFub0ZUUEN3ZDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ibmFub2Z0cCI+eG1sTmFub0ZUUEZyZWVDdHh0PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJuYW5vZnRwIj54bWxOYW5vRlRQR2V0PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJuYW5vZnRwIj54bWxOYW5vRlRQR2V0Q29ubmVjdGlvbjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ibmFub2Z0cCI+eG1sTmFub0ZUUEdldFJlc3BvbnNlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJuYW5vZnRwIj54bWxOYW5vRlRQR2V0U29ja2V0PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJuYW5vZnRwIj54bWxOYW5vRlRQSW5pdDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ibmFub2Z0cCI+eG1sTmFub0ZUUExpc3Q8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9Im5hbm9mdHAiPnhtbE5hbm9GVFBOZXdDdHh0PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJuYW5vZnRwIj54bWxOYW5vRlRQT3Blbjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ibmFub2Z0cCI+eG1sTmFub0ZUUFByb3h5PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJuYW5vZnRwIj54bWxOYW5vRlRQUXVpdDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ibmFub2Z0cCI+eG1sTmFub0ZUUFJlYWQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9Im5hbm9mdHAiPnhtbE5hbm9GVFBTY2FuUHJveHk8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9Im5hbm9mdHAiPnhtbE5hbm9GVFBVcGRhdGVVUkw8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9IkRPQ0JwYXJzZXIiPmRvY2JDcmVhdGVGaWxlUGFyc2VyQ3R4dDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iRE9DQnBhcnNlciI+ZG9jYkNyZWF0ZVB1c2hQYXJzZXJDdHh0PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJET0NCcGFyc2VyIj5kb2NiRW5jb2RlRW50aXRpZXM8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9IkRPQ0JwYXJzZXIiPmRvY2JGcmVlUGFyc2VyQ3R4dDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iRE9DQnBhcnNlciI+ZG9jYlBhcnNlQ2h1bms8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9IkRPQ0JwYXJzZXIiPmRvY2JQYXJzZURvYzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iRE9DQnBhcnNlciI+ZG9jYlBhcnNlRG9jdW1lbnQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9IkRPQ0JwYXJzZXIiPmRvY2JQYXJzZUZpbGU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9IkRPQ0JwYXJzZXIiPmRvY2JTQVhQYXJzZURvYzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iRE9DQnBhcnNlciI+ZG9jYlNBWFBhcnNlRmlsZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieHBhdGgiPnhtbFhQYXRoQ2FzdEJvb2xlYW5Ub051bWJlcjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieHBhdGgiPnhtbFhQYXRoQ2FzdEJvb2xlYW5Ub1N0cmluZzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieHBhdGgiPnhtbFhQYXRoQ2FzdE5vZGVTZXRUb0Jvb2xlYW48L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhwYXRoIj54bWxYUGF0aENhc3ROb2RlU2V0VG9OdW1iZXI8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhwYXRoIj54bWxYUGF0aENhc3ROb2RlU2V0VG9TdHJpbmc8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhwYXRoIj54bWxYUGF0aENhc3ROb2RlVG9OdW1iZXI8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhwYXRoIj54bWxYUGF0aENhc3ROb2RlVG9TdHJpbmc8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhwYXRoIj54bWxYUGF0aENhc3ROdW1iZXJUb0Jvb2xlYW48L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhwYXRoIj54bWxYUGF0aENhc3ROdW1iZXJUb1N0cmluZzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieHBhdGgiPnhtbFhQYXRoQ2FzdFN0cmluZ1RvQm9vbGVhbjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieHBhdGgiPnhtbFhQYXRoQ2FzdFN0cmluZ1RvTnVtYmVyPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4cGF0aCI+eG1sWFBhdGhDYXN0VG9Cb29sZWFuPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4cGF0aCI+eG1sWFBhdGhDYXN0VG9OdW1iZXI8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhwYXRoIj54bWxYUGF0aENhc3RUb1N0cmluZzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieHBhdGgiPnhtbFhQYXRoQ21wTm9kZXM8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhwYXRoIj54bWxYUGF0aENvbXBpbGU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhwYXRoIj54bWxYUGF0aENvbXBpbGVkRXZhbDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieHBhdGgiPnhtbFhQYXRoQ29udmVydEJvb2xlYW48L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhwYXRoIj54bWxYUGF0aENvbnZlcnROdW1iZXI8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhwYXRoIj54bWxYUGF0aENvbnZlcnRTdHJpbmc8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhwYXRoIj54bWxYUGF0aEV2YWw8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhwYXRoIj54bWxYUGF0aEV2YWxFeHByZXNzaW9uPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4cGF0aCI+eG1sWFBhdGhFdmFsUHJlZGljYXRlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4cGF0aCI+eG1sWFBhdGhGcmVlQ29tcEV4cHI8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhwYXRoIj54bWxYUGF0aEZyZWVDb250ZXh0PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4cGF0aCI+eG1sWFBhdGhGcmVlTm9kZVNldDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieHBhdGgiPnhtbFhQYXRoRnJlZU5vZGVTZXRMaXN0PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4cGF0aCI+eG1sWFBhdGhGcmVlT2JqZWN0PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4cGF0aCI+eG1sWFBhdGhJbml0PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4cGF0aCI+eG1sWFBhdGhJc0luZjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieHBhdGgiPnhtbFhQYXRoSXNOYU48L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhwYXRoIj54bWxYUGF0aE5BTjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieHBhdGgiPnhtbFhQYXRoTklORjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieHBhdGgiPnhtbFhQYXRoTmV3Q29udGV4dDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieHBhdGgiPnhtbFhQYXRoTm9kZVNldENyZWF0ZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieHBhdGgiPnhtbFhQYXRoT2JqZWN0Q29weTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieHBhdGgiPnhtbFhQYXRoUElORjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieGxpbmsiPnhsaW5rR2V0RGVmYXVsdERldGVjdDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieGxpbmsiPnhsaW5rR2V0RGVmYXVsdEhhbmRsZXI8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhsaW5rIj54bGlua0lzTGluazwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieGxpbmsiPnhsaW5rU2V0RGVmYXVsdERldGVjdDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieGxpbmsiPnhsaW5rU2V0RGVmYXVsdEhhbmRsZXI8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9ImVudGl0aWVzIj54bWxBZGREb2NFbnRpdHk8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9ImVudGl0aWVzIj54bWxBZGREdGRFbnRpdHk8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9ImVudGl0aWVzIj54bWxDbGVhbnVwUHJlZGVmaW5lZEVudGl0aWVzPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJlbnRpdGllcyI+eG1sQ29weUVudGl0aWVzVGFibGU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9ImVudGl0aWVzIj54bWxDcmVhdGVFbnRpdGllc1RhYmxlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJlbnRpdGllcyI+eG1sRHVtcEVudGl0aWVzVGFibGU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9ImVudGl0aWVzIj54bWxEdW1wRW50aXR5RGVjbDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iZW50aXRpZXMiPnhtbEVuY29kZUVudGl0aWVzPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJlbnRpdGllcyI+eG1sRW5jb2RlRW50aXRpZXNSZWVudHJhbnQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9ImVudGl0aWVzIj54bWxFbmNvZGVTcGVjaWFsQ2hhcnM8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9ImVudGl0aWVzIj54bWxGcmVlRW50aXRpZXNUYWJsZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iZW50aXRpZXMiPnhtbEdldERvY0VudGl0eTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iZW50aXRpZXMiPnhtbEdldER0ZEVudGl0eTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iZW50aXRpZXMiPnhtbEdldFBhcmFtZXRlckVudGl0eTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iZW50aXRpZXMiPnhtbEdldFByZWRlZmluZWRFbnRpdHk8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9ImVudGl0aWVzIj54bWxJbml0aWFsaXplUHJlZGVmaW5lZEVudGl0aWVzPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4aW5jbHVkZSI+eG1sWEluY2x1ZGVQcm9jZXNzPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJsaXN0Ij54bWxMaW5rR2V0RGF0YTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ibGlzdCI+eG1sTGlzdEFwcGVuZDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ibGlzdCI+eG1sTGlzdENsZWFyPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJsaXN0Ij54bWxMaXN0Q29weTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ibGlzdCI+eG1sTGlzdENyZWF0ZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ibGlzdCI+eG1sTGlzdERlbGV0ZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ibGlzdCI+eG1sTGlzdER1cDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ibGlzdCI+eG1sTGlzdEVtcHR5PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJsaXN0Ij54bWxMaXN0RW5kPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJsaXN0Ij54bWxMaXN0RnJvbnQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9Imxpc3QiPnhtbExpc3RJbnNlcnQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9Imxpc3QiPnhtbExpc3RNZXJnZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ibGlzdCI+eG1sTGlzdFBvcEJhY2s8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9Imxpc3QiPnhtbExpc3RQb3BGcm9udDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ibGlzdCI+eG1sTGlzdFB1c2hCYWNrPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJsaXN0Ij54bWxMaXN0UHVzaEZyb250PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJsaXN0Ij54bWxMaXN0UmVtb3ZlQWxsPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJsaXN0Ij54bWxMaXN0UmVtb3ZlRmlyc3Q8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9Imxpc3QiPnhtbExpc3RSZW1vdmVMYXN0PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJsaXN0Ij54bWxMaXN0UmV2ZXJzZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ibGlzdCI+eG1sTGlzdFJldmVyc2VTZWFyY2g8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9Imxpc3QiPnhtbExpc3RSZXZlcnNlV2Fsazwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ibGlzdCI+eG1sTGlzdFNlYXJjaDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ibGlzdCI+eG1sTGlzdFNpemU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9Imxpc3QiPnhtbExpc3RTb3J0PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJsaXN0Ij54bWxMaXN0V2Fsazwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sbWVtb3J5Ij54bWxJbml0TWVtb3J5PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxtZW1vcnkiPnhtbE1hbGxvY0xvYzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sbWVtb3J5Ij54bWxNZW1EaXNwbGF5PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxtZW1vcnkiPnhtbE1lbUZyZWU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbG1lbW9yeSI+eG1sTWVtR2V0PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxtZW1vcnkiPnhtbE1lbU1hbGxvYzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sbWVtb3J5Ij54bWxNZW1SZWFsbG9jPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxtZW1vcnkiPnhtbE1lbVNldHVwPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxtZW1vcnkiPnhtbE1lbVNob3c8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbG1lbW9yeSI+eG1sTWVtU3RyZHVwTG9jPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxtZW1vcnkiPnhtbE1lbVVzZWQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbG1lbW9yeSI+eG1sTWVtb3J5RHVtcDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sbWVtb3J5Ij54bWxNZW1vcnlTdHJkdXA8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbG1lbW9yeSI+eG1sUmVhbGxvY0xvYzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sSU8iPnhtbEFsbG9jT3V0cHV0QnVmZmVyPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxJTyI+eG1sQWxsb2NQYXJzZXJJbnB1dEJ1ZmZlcjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sSU8iPnhtbENoZWNrRmlsZW5hbWU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbElPIj54bWxDbGVhbnVwSW5wdXRDYWxsYmFja3M8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbElPIj54bWxDbGVhbnVwT3V0cHV0Q2FsbGJhY2tzPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxJTyI+eG1sRmlsZUNsb3NlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxJTyI+eG1sRmlsZU1hdGNoPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxJTyI+eG1sRmlsZU9wZW48L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbElPIj54bWxGaWxlUmVhZDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sSU8iPnhtbEZyZWVQYXJzZXJJbnB1dEJ1ZmZlcjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sSU8iPnhtbElPRlRQQ2xvc2U8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbElPIj54bWxJT0ZUUE1hdGNoPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxJTyI+eG1sSU9GVFBPcGVuPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxJTyI+eG1sSU9GVFBSZWFkPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxJTyI+eG1sSU9IVFRQQ2xvc2U8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbElPIj54bWxJT0hUVFBNYXRjaDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sSU8iPnhtbElPSFRUUE9wZW48L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbElPIj54bWxJT0hUVFBPcGVuVzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sSU8iPnhtbElPSFRUUFJlYWQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbElPIj54bWxOb05ldEV4dGVybmFsRW50aXR5TG9hZGVyPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxJTyI+eG1sTm9ybWFsaXplV2luZG93c1BhdGg8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbElPIj54bWxPdXRwdXRCdWZmZXJDbG9zZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sSU8iPnhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZkPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxJTyI+eG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sSU8iPnhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxJTyI+eG1sT3V0cHV0QnVmZmVyQ3JlYXRlSU88L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbElPIj54bWxPdXRwdXRCdWZmZXJGbHVzaDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sSU8iPnhtbE91dHB1dEJ1ZmZlcldyaXRlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxJTyI+eG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmc8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbElPIj54bWxQYXJzZXJHZXREaXJlY3Rvcnk8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbElPIj54bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZkPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxJTyI+eG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxJTyI+eG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sSU8iPnhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlSU88L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbElPIj54bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZU1lbTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sSU8iPnhtbFBhcnNlcklucHV0QnVmZmVyR3Jvdzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sSU8iPnhtbFBhcnNlcklucHV0QnVmZmVyUHVzaDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sSU8iPnhtbFBhcnNlcklucHV0QnVmZmVyUmVhZDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sSU8iPnhtbFJlZ2lzdGVyRGVmYXVsdElucHV0Q2FsbGJhY2tzPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxJTyI+eG1sUmVnaXN0ZXJEZWZhdWx0T3V0cHV0Q2FsbGJhY2tzPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxJTyI+eG1sUmVnaXN0ZXJIVFRQUG9zdENhbGxiYWNrczwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sSU8iPnhtbFJlZ2lzdGVySW5wdXRDYWxsYmFja3M8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbElPIj54bWxSZWdpc3Rlck91dHB1dENhbGxiYWNrczwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sdmVyc2lvbiI+eG1sQ2hlY2tWZXJzaW9uPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ2YWxpZCI+eG1sQWRkQXR0cmlidXRlRGVjbDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idmFsaWQiPnhtbEFkZEVsZW1lbnREZWNsPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ2YWxpZCI+eG1sQWRkSUQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InZhbGlkIj54bWxBZGROb3RhdGlvbkRlY2w8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InZhbGlkIj54bWxBZGRSZWY8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InZhbGlkIj54bWxDb3B5QXR0cmlidXRlVGFibGU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InZhbGlkIj54bWxDb3B5RWxlbWVudENvbnRlbnQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InZhbGlkIj54bWxDb3B5RWxlbWVudFRhYmxlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ2YWxpZCI+eG1sQ29weUVudW1lcmF0aW9uPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ2YWxpZCI+eG1sQ29weU5vdGF0aW9uVGFibGU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InZhbGlkIj54bWxDcmVhdGVFbnVtZXJhdGlvbjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idmFsaWQiPnhtbER1bXBBdHRyaWJ1dGVEZWNsPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ2YWxpZCI+eG1sRHVtcEF0dHJpYnV0ZVRhYmxlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ2YWxpZCI+eG1sRHVtcEVsZW1lbnREZWNsPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ2YWxpZCI+eG1sRHVtcEVsZW1lbnRUYWJsZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idmFsaWQiPnhtbER1bXBOb3RhdGlvbkRlY2w8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InZhbGlkIj54bWxEdW1wTm90YXRpb25UYWJsZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idmFsaWQiPnhtbEZyZWVBdHRyaWJ1dGVUYWJsZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idmFsaWQiPnhtbEZyZWVFbGVtZW50Q29udGVudDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idmFsaWQiPnhtbEZyZWVFbGVtZW50VGFibGU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InZhbGlkIj54bWxGcmVlRW51bWVyYXRpb248L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InZhbGlkIj54bWxGcmVlSURUYWJsZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idmFsaWQiPnhtbEZyZWVOb3RhdGlvblRhYmxlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ2YWxpZCI+eG1sRnJlZVJlZlRhYmxlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ2YWxpZCI+eG1sR2V0RHRkQXR0ckRlc2M8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InZhbGlkIj54bWxHZXREdGRFbGVtZW50RGVzYzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idmFsaWQiPnhtbEdldER0ZE5vdGF0aW9uRGVzYzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idmFsaWQiPnhtbEdldER0ZFFBdHRyRGVzYzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idmFsaWQiPnhtbEdldER0ZFFFbGVtZW50RGVzYzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idmFsaWQiPnhtbEdldElEPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ2YWxpZCI+eG1sR2V0UmVmczwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idmFsaWQiPnhtbElzSUQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InZhbGlkIj54bWxJc01peGVkRWxlbWVudDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idmFsaWQiPnhtbElzUmVmPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ2YWxpZCI+eG1sTmV3RWxlbWVudENvbnRlbnQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InZhbGlkIj54bWxSZW1vdmVJRDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idmFsaWQiPnhtbFJlbW92ZVJlZjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idmFsaWQiPnhtbFNucHJpbnRmRWxlbWVudENvbnRlbnQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InRyZWUiPnhtbFNwbGl0UU5hbWUyPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ2YWxpZCI+eG1sU3ByaW50ZkVsZW1lbnRDb250ZW50PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ2YWxpZCI+eG1sVmFsaWRCdWlsZENvbnRlbnRNb2RlbDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idmFsaWQiPnhtbFZhbGlkQ3R4dE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ2YWxpZCI+eG1sVmFsaWRHZXRQb3RlbnRpYWxDaGlsZHJlbjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idmFsaWQiPnhtbFZhbGlkR2V0VmFsaWRFbGVtZW50czwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idmFsaWQiPnhtbFZhbGlkTm9ybWFsaXplQXR0cmlidXRlVmFsdWU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InZhbGlkIj54bWxWYWxpZGF0ZUF0dHJpYnV0ZURlY2w8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InZhbGlkIj54bWxWYWxpZGF0ZUF0dHJpYnV0ZVZhbHVlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ2YWxpZCI+eG1sVmFsaWRhdGVEb2N1bWVudDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idmFsaWQiPnhtbFZhbGlkYXRlRG9jdW1lbnRGaW5hbDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idmFsaWQiPnhtbFZhbGlkYXRlRHRkPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ2YWxpZCI+eG1sVmFsaWRhdGVEdGRGaW5hbDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idmFsaWQiPnhtbFZhbGlkYXRlRWxlbWVudDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idmFsaWQiPnhtbFZhbGlkYXRlRWxlbWVudERlY2w8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InZhbGlkIj54bWxWYWxpZGF0ZU5hbWVWYWx1ZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idmFsaWQiPnhtbFZhbGlkYXRlTmFtZXNWYWx1ZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idmFsaWQiPnhtbFZhbGlkYXRlTm10b2tlblZhbHVlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ2YWxpZCI+eG1sVmFsaWRhdGVObXRva2Vuc1ZhbHVlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ2YWxpZCI+eG1sVmFsaWRhdGVOb3RhdGlvbkRlY2w8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InZhbGlkIj54bWxWYWxpZGF0ZU5vdGF0aW9uVXNlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ2YWxpZCI+eG1sVmFsaWRhdGVPbmVBdHRyaWJ1dGU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InZhbGlkIj54bWxWYWxpZGF0ZU9uZUVsZW1lbnQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InZhbGlkIj54bWxWYWxpZGF0ZU9uZU5hbWVzcGFjZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idmFsaWQiPnhtbFZhbGlkYXRlUm9vdDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iSFRNTHBhcnNlciI+VVRGOFRvSHRtbDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iSFRNTHBhcnNlciI+aHRtbEF1dG9DbG9zZVRhZzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iSFRNTHBhcnNlciI+aHRtbENyZWF0ZVB1c2hQYXJzZXJDdHh0PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJIVE1McGFyc2VyIj5odG1sRW5jb2RlRW50aXRpZXM8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9IkhUTUxwYXJzZXIiPmh0bWxFbnRpdHlMb29rdXA8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9IkhUTUxwYXJzZXIiPmh0bWxFbnRpdHlWYWx1ZUxvb2t1cDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iSFRNTHBhcnNlciI+aHRtbEZyZWVQYXJzZXJDdHh0PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJIVE1McGFyc2VyIj5odG1sSGFuZGxlT21pdHRlZEVsZW08L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9IkhUTUxwYXJzZXIiPmh0bWxJc0F1dG9DbG9zZWQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9IkhUTUxwYXJzZXIiPmh0bWxJc1NjcmlwdEF0dHJpYnV0ZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iSFRNTHBhcnNlciI+aHRtbFBhcnNlQ2hhclJlZjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iSFRNTHBhcnNlciI+aHRtbFBhcnNlQ2h1bms8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9IkhUTUxwYXJzZXIiPmh0bWxQYXJzZURvYzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iSFRNTHBhcnNlciI+aHRtbFBhcnNlRG9jdW1lbnQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9IkhUTUxwYXJzZXIiPmh0bWxQYXJzZUVsZW1lbnQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9IkhUTUxwYXJzZXIiPmh0bWxQYXJzZUVudGl0eVJlZjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iSFRNTHBhcnNlciI+aHRtbFBhcnNlRmlsZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iSFRNTHBhcnNlciI+aHRtbFNBWFBhcnNlRG9jPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJIVE1McGFyc2VyIj5odG1sU0FYUGFyc2VGaWxlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJIVE1McGFyc2VyIj5odG1sVGFnTG9va3VwPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxzdHJpbmciPnhtbENoYXJTdHJkdXA8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHN0cmluZyI+eG1sQ2hhclN0cm5kdXA8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InBhcnNlciI+eG1sQ2xlYW51cFBhcnNlcjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icGFyc2VyIj54bWxDbGVhck5vZGVJbmZvU2VxPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJwYXJzZXIiPnhtbENsZWFyUGFyc2VyQ3R4dDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icGFyc2VyIj54bWxDcmVhdGVEb2NQYXJzZXJDdHh0PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJwYXJzZXIiPnhtbENyZWF0ZUlPUGFyc2VyQ3R4dDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icGFyc2VyIj54bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icGFyc2VyIj54bWxGcmVlUGFyc2VyQ3R4dDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icGFyc2VyIj54bWxHZXRFeHRlcm5hbEVudGl0eUxvYWRlcjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icGFyc2VyIj54bWxHZXRGZWF0dXJlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJwYXJzZXIiPnhtbEdldEZlYXR1cmVzTGlzdDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iZ2xvYmFscyI+eG1sR2V0V2FybmluZ3NEZWZhdWx0VmFsdWU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InBhcnNlciI+eG1sSU9QYXJzZURURDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icGFyc2VyIj54bWxJbml0Tm9kZUluZm9TZXE8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InBhcnNlciI+eG1sSW5pdFBhcnNlcjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icGFyc2VyIj54bWxJbml0UGFyc2VyQ3R4dDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icGFyc2VyIj54bWxLZWVwQmxhbmtzRGVmYXVsdDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icGFyc2VyIj54bWxMaW5lTnVtYmVyc0RlZmF1bHQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InBhcnNlciI+eG1sTG9hZEV4dGVybmFsRW50aXR5PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJwYXJzZXIiPnhtbE5ld0lPSW5wdXRTdHJlYW08L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InBhcnNlciI+eG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJwYXJzZXIiPnhtbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXI8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InBhcnNlciI+eG1sUGFyc2VDaHVuazwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icGFyc2VyIj54bWxQYXJzZUN0eHRFeHRlcm5hbEVudGl0eTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icGFyc2VyIj54bWxQYXJzZURURDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icGFyc2VyIj54bWxQYXJzZURvYzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icGFyc2VyIj54bWxQYXJzZURvY3VtZW50PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJwYXJzZXIiPnhtbFBhcnNlRW50aXR5PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJwYXJzZXIiPnhtbFBhcnNlRXh0UGFyc2VkRW50PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJwYXJzZXIiPnhtbFBhcnNlRXh0ZXJuYWxFbnRpdHk8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InBhcnNlciI+eG1sUGFyc2VGaWxlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJwYXJzZXIiPnhtbFBhcnNlTWVtb3J5PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJwYXJzZXIiPnhtbFBhcnNlckFkZE5vZGVJbmZvPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJwYXJzZXIiPnhtbFBhcnNlckZpbmROb2RlSW5mbzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icGFyc2VyIj54bWxQYXJzZXJGaW5kTm9kZUluZm9JbmRleDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icGFyc2VyIj54bWxQYXJzZXJJbnB1dEdyb3c8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InBhcnNlciI+eG1sUGFyc2VySW5wdXRSZWFkPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJwYXJzZXIiPnhtbFBlZGFudGljUGFyc2VyRGVmYXVsdDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icGFyc2VyIj54bWxSZWNvdmVyRG9jPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJwYXJzZXIiPnhtbFJlY292ZXJGaWxlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJwYXJzZXIiPnhtbFJlY292ZXJNZW1vcnk8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InBhcnNlciI+eG1sU0FYUGFyc2VEVEQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InBhcnNlciI+eG1sU0FYUGFyc2VEb2M8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InBhcnNlciI+eG1sU0FYUGFyc2VFbnRpdHk8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InBhcnNlciI+eG1sU0FYUGFyc2VGaWxlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJwYXJzZXIiPnhtbFNBWFBhcnNlRmlsZVdpdGhEYXRhPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJwYXJzZXIiPnhtbFNBWFBhcnNlTWVtb3J5PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJwYXJzZXIiPnhtbFNBWFBhcnNlTWVtb3J5V2l0aERhdGE8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InBhcnNlciI+eG1sU0FYVXNlclBhcnNlRmlsZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icGFyc2VyIj54bWxTQVhVc2VyUGFyc2VNZW1vcnk8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InBhcnNlciI+eG1sU2V0RXh0ZXJuYWxFbnRpdHlMb2FkZXI8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InBhcnNlciI+eG1sU2V0RmVhdHVyZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icGFyc2VyIj54bWxTZXR1cFBhcnNlckZvckJ1ZmZlcjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icGFyc2VyIj54bWxTdG9wUGFyc2VyPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxzdHJpbmciPnhtbFN0ckVxdWFsPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxzdHJpbmciPnhtbFN0cmNhc2VjbXA8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHN0cmluZyI+eG1sU3RyY2FzZXN0cjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sc3RyaW5nIj54bWxTdHJjYXQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHN0cmluZyI+eG1sU3RyY2hyPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxzdHJpbmciPnhtbFN0cmNtcDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sc3RyaW5nIj54bWxTdHJkdXA8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHN0cmluZyI+eG1sU3RybGVuPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxzdHJpbmciPnhtbFN0cm5jYXNlY21wPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxzdHJpbmciPnhtbFN0cm5jYXQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHN0cmluZyI+eG1sU3RybmNtcDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sc3RyaW5nIj54bWxTdHJuZHVwPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxzdHJpbmciPnhtbFN0cnN0cjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sc3RyaW5nIj54bWxTdHJzdWI8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InBhcnNlciI+eG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1scmVhZGVyIj54bWxGcmVlVGV4dFJlYWRlcjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1scmVhZGVyIj54bWxOZXdUZXh0UmVhZGVyPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxyZWFkZXIiPnhtbE5ld1RleHRSZWFkZXJGaWxlbmFtZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1scmVhZGVyIj54bWxUZXh0UmVhZGVyQXR0cmlidXRlQ291bnQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHJlYWRlciI+eG1sVGV4dFJlYWRlckJhc2VVcmk8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHJlYWRlciI+eG1sVGV4dFJlYWRlckRlcHRoPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxyZWFkZXIiPnhtbFRleHRSZWFkZXJIYXNBdHRyaWJ1dGVzPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxyZWFkZXIiPnhtbFRleHRSZWFkZXJIYXNWYWx1ZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1scmVhZGVyIj54bWxUZXh0UmVhZGVySXNEZWZhdWx0PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxyZWFkZXIiPnhtbFRleHRSZWFkZXJJc0VtcHR5RWxlbWVudDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1scmVhZGVyIj54bWxUZXh0UmVhZGVyTG9jYWxOYW1lPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxyZWFkZXIiPnhtbFRleHRSZWFkZXJOYW1lPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxyZWFkZXIiPnhtbFRleHRSZWFkZXJOYW1lc3BhY2VVcmk8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHJlYWRlciI+eG1sVGV4dFJlYWRlck5vZGVUeXBlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxyZWFkZXIiPnhtbFRleHRSZWFkZXJQcmVmaXg8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHJlYWRlciI+eG1sVGV4dFJlYWRlclF1b3RlQ2hhcjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1scmVhZGVyIj54bWxUZXh0UmVhZGVyUmVhZDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1scmVhZGVyIj54bWxUZXh0UmVhZGVyVmFsdWU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHJlYWRlciI+eG1sVGV4dFJlYWRlclhtbExhbmc8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9Imdsb2JhbHMiPmRvY2JEZWZhdWx0U0FYSGFuZGxlcjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iZ2xvYmFscyI+aHRtbERlZmF1bHRTQVhIYW5kbGVyPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJnbG9iYWxzIj54bWxEZWZhdWx0U0FYSGFuZGxlcjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iZ2xvYmFscyI+eG1sRGVmYXVsdFNBWExvY2F0b3I8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9Imdsb2JhbHMiPnhtbERvVmFsaWRpdHlDaGVja2luZ0RlZmF1bHRWYWx1ZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iZ2xvYmFscyI+eG1sRnJlZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iZ2xvYmFscyI+eG1sR2VuZXJpY0Vycm9yPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJnbG9iYWxzIj54bWxHZW5lcmljRXJyb3JDb250ZXh0PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJnbG9iYWxzIj54bWxJbml0aWFsaXplR2xvYmFsU3RhdGU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9Imdsb2JhbHMiPnhtbEtlZXBCbGFua3NEZWZhdWx0VmFsdWU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9Imdsb2JhbHMiPnhtbExpbmVOdW1iZXJzRGVmYXVsdFZhbHVlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJnbG9iYWxzIj54bWxMb2FkRXh0RHRkRGVmYXVsdFZhbHVlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJnbG9iYWxzIj54bWxNYWxsb2M8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9Imdsb2JhbHMiPnhtbE1lbVN0cmR1cDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iZ2xvYmFscyI+eG1sUGFyc2VyRGVidWdFbnRpdGllczwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iZ2xvYmFscyI+eG1sUGFyc2VyVmVyc2lvbjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iZ2xvYmFscyI+eG1sUGVkYW50aWNQYXJzZXJEZWZhdWx0VmFsdWU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9Imdsb2JhbHMiPnhtbFJlYWxsb2M8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9Imdsb2JhbHMiPnhtbFNhdmVOb0VtcHR5VGFnczwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iZ2xvYmFscyI+eG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdFZhbHVlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJnbG9iYWxzIj54bWxUcmVlSW5kZW50U3RyaW5nPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ0aHJlYWRzIj54bWxDbGVhbnVwVGhyZWFkczwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idGhyZWFkcyI+eG1sRnJlZU11dGV4PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ0aHJlYWRzIj54bWxGcmVlUk11dGV4PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ0aHJlYWRzIj54bWxHZXRHbG9iYWxTdGF0ZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idGhyZWFkcyI+eG1sR2V0VGhyZWFkSWQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InRocmVhZHMiPnhtbEluaXRUaHJlYWRzPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ0aHJlYWRzIj54bWxJc01haW5UaHJlYWQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InRocmVhZHMiPnhtbExvY2tMaWJyYXJ5PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ0aHJlYWRzIj54bWxNdXRleExvY2s8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InRocmVhZHMiPnhtbE11dGV4VW5sb2NrPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ0aHJlYWRzIj54bWxOZXdNdXRleDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idGhyZWFkcyI+eG1sTmV3Uk11dGV4PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ0aHJlYWRzIj54bWxSTXV0ZXhMb2NrPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ0aHJlYWRzIj54bWxSTXV0ZXhVbmxvY2s8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InRocmVhZHMiPnhtbFVubG9ja0xpYnJhcnk8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9Imhhc2giPnhtbEhhc2hBZGRFbnRyeTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iaGFzaCI+eG1sSGFzaEFkZEVudHJ5Mjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iaGFzaCI+eG1sSGFzaEFkZEVudHJ5Mzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iaGFzaCI+eG1sSGFzaENvcHk8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9Imhhc2giPnhtbEhhc2hDcmVhdGU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9Imhhc2giPnhtbEhhc2hGcmVlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJoYXNoIj54bWxIYXNoTG9va3VwPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJoYXNoIj54bWxIYXNoTG9va3VwMjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iaGFzaCI+eG1sSGFzaExvb2t1cDM8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9Imhhc2giPnhtbEhhc2hSZW1vdmVFbnRyeTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iaGFzaCI+eG1sSGFzaFJlbW92ZUVudHJ5Mjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iaGFzaCI+eG1sSGFzaFJlbW92ZUVudHJ5Mzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iaGFzaCI+eG1sSGFzaFNjYW48L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9Imhhc2giPnhtbEhhc2hTY2FuMzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iaGFzaCI+eG1sSGFzaFNjYW5GdWxsPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJoYXNoIj54bWxIYXNoU2NhbkZ1bGwzPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJoYXNoIj54bWxIYXNoU2l6ZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iaGFzaCI+eG1sSGFzaFVwZGF0ZUVudHJ5PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJoYXNoIj54bWxIYXNoVXBkYXRlRW50cnkyPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJoYXNoIj54bWxIYXNoVXBkYXRlRW50cnkzPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxlcnJvciI+aW5pdEdlbmVyaWNFcnJvckRlZmF1bHRGdW5jPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxlcnJvciI+eG1sUGFyc2VyRXJyb3I8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbGVycm9yIj54bWxQYXJzZXJQcmludEZpbGVDb250ZXh0PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxlcnJvciI+eG1sUGFyc2VyUHJpbnRGaWxlSW5mbzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sZXJyb3IiPnhtbFBhcnNlclZhbGlkaXR5RXJyb3I8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbGVycm9yIj54bWxQYXJzZXJWYWxpZGl0eVdhcm5pbmc8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbGVycm9yIj54bWxQYXJzZXJXYXJuaW5nPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxlcnJvciI+eG1sU2V0R2VuZXJpY0Vycm9yRnVuYzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iZ2xvYmFscyI+b2xkWE1MV0Rjb21wYXRpYmlsaXR5PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ0cmVlIj54bWxBZGRDaGlsZDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idHJlZSI+eG1sQWRkQ2hpbGRMaXN0PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ0cmVlIj54bWxBZGROZXh0U2libGluZzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idHJlZSI+eG1sQWRkUHJldlNpYmxpbmc8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InRyZWUiPnhtbEFkZFNpYmxpbmc8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InRyZWUiPnhtbEJ1ZmZlckFkZDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idHJlZSI+eG1sQnVmZmVyQWRkSGVhZDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iZ2xvYmFscyI+eG1sQnVmZmVyQWxsb2NTY2hlbWU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InRyZWUiPnhtbEJ1ZmZlckNDYXQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InRyZWUiPnhtbEJ1ZmZlckNhdDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idHJlZSI+eG1sQnVmZmVyQ29udGVudDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idHJlZSI+eG1sQnVmZmVyQ3JlYXRlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ0cmVlIj54bWxCdWZmZXJDcmVhdGVTaXplPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ0cmVlIj54bWxCdWZmZXJEdW1wPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ0cmVlIj54bWxCdWZmZXJFbXB0eTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idHJlZSI+eG1sQnVmZmVyRnJlZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idHJlZSI+eG1sQnVmZmVyR3Jvdzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idHJlZSI+eG1sQnVmZmVyTGVuZ3RoPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ0cmVlIj54bWxCdWZmZXJSZXNpemU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InRyZWUiPnhtbEJ1ZmZlclNldEFsbG9jYXRpb25TY2hlbWU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InRyZWUiPnhtbEJ1ZmZlclNocmluazwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idHJlZSI+eG1sQnVmZmVyV3JpdGVDSEFSPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ0cmVlIj54bWxCdWZmZXJXcml0ZUNoYXI8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InRyZWUiPnhtbEJ1ZmZlcldyaXRlUXVvdGVkU3RyaW5nPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ0cmVlIj54bWxDb3B5RG9jPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ0cmVlIj54bWxDb3B5RHRkPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ0cmVlIj54bWxDb3B5TmFtZXNwYWNlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ0cmVlIj54bWxDb3B5TmFtZXNwYWNlTGlzdDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idHJlZSI+eG1sQ29weU5vZGU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InRyZWUiPnhtbENvcHlOb2RlTGlzdDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idHJlZSI+eG1sQ29weVByb3A8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InRyZWUiPnhtbENvcHlQcm9wTGlzdDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idHJlZSI+eG1sQ3JlYXRlSW50U3Vic2V0PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJnbG9iYWxzIj54bWxEZWZhdWx0QnVmZmVyU2l6ZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idHJlZSI+eG1sRG9jQ29weU5vZGU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InRyZWUiPnhtbERvY0R1bXA8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InRyZWUiPnhtbERvY0R1bXBGb3JtYXRNZW1vcnk8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InRyZWUiPnhtbERvY0R1bXBGb3JtYXRNZW1vcnlFbmM8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InRyZWUiPnhtbERvY0R1bXBNZW1vcnk8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InRyZWUiPnhtbERvY0R1bXBNZW1vcnlFbmM8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InRyZWUiPnhtbERvY0Zvcm1hdER1bXA8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InRyZWUiPnhtbERvY0dldFJvb3RFbGVtZW50PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ0cmVlIj54bWxEb2NTZXRSb290RWxlbWVudDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idHJlZSI+eG1sRWxlbUR1bXA8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InRyZWUiPnhtbEZyZWVEb2M8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InRyZWUiPnhtbEZyZWVEdGQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InRyZWUiPnhtbEZyZWVOb2RlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ0cmVlIj54bWxGcmVlTm9kZUxpc3Q8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InRyZWUiPnhtbEZyZWVOczwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idHJlZSI+eG1sRnJlZU5zTGlzdDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idHJlZSI+eG1sRnJlZVByb3A8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InRyZWUiPnhtbEZyZWVQcm9wTGlzdDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idHJlZSI+eG1sR2V0QnVmZmVyQWxsb2NhdGlvblNjaGVtZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idHJlZSI+eG1sR2V0Q29tcHJlc3NNb2RlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ0cmVlIj54bWxHZXREb2NDb21wcmVzc01vZGU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InRyZWUiPnhtbEdldEludFN1YnNldDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idHJlZSI+eG1sR2V0TGFzdENoaWxkPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ0cmVlIj54bWxHZXRMaW5lTm88L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InRyZWUiPnhtbEdldE5vZGVQYXRoPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ0cmVlIj54bWxHZXROc0xpc3Q8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InRyZWUiPnhtbEdldE5zUHJvcDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idHJlZSI+eG1sR2V0UHJvcDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idHJlZSI+eG1sSGFzTnNQcm9wPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ0cmVlIj54bWxIYXNQcm9wPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJnbG9iYWxzIj54bWxJbmRlbnRUcmVlT3V0cHV0PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ0cmVlIj54bWxJc0JsYW5rTm9kZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idHJlZSI+eG1sSXNYSFRNTDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idHJlZSI+eG1sTmV3Q0RhdGFCbG9jazwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idHJlZSI+eG1sTmV3Q2hhclJlZjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idHJlZSI+eG1sTmV3Q2hpbGQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InRyZWUiPnhtbE5ld0NvbW1lbnQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InRyZWUiPnhtbE5ld0RvYzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idHJlZSI+eG1sTmV3RG9jQ29tbWVudDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idHJlZSI+eG1sTmV3RG9jRnJhZ21lbnQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InRyZWUiPnhtbE5ld0RvY05vZGU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InRyZWUiPnhtbE5ld0RvY05vZGVFYXROYW1lPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ0cmVlIj54bWxOZXdEb2NQcm9wPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ0cmVlIj54bWxOZXdEb2NSYXdOb2RlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ0cmVlIj54bWxOZXdEb2NUZXh0PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ0cmVlIj54bWxOZXdEb2NUZXh0TGVuPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ0cmVlIj54bWxOZXdEdGQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InRyZWUiPnhtbE5ld0dsb2JhbE5zPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ0cmVlIj54bWxOZXdOb2RlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ0cmVlIj54bWxOZXdOb2RlRWF0TmFtZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idHJlZSI+eG1sTmV3TnM8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InRyZWUiPnhtbE5ld05zUHJvcDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idHJlZSI+eG1sTmV3TnNQcm9wRWF0TmFtZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idHJlZSI+eG1sTmV3UEk8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InRyZWUiPnhtbE5ld1Byb3A8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InRyZWUiPnhtbE5ld1JlZmVyZW5jZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idHJlZSI+eG1sTmV3VGV4dDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idHJlZSI+eG1sTmV3VGV4dENoaWxkPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ0cmVlIj54bWxOZXdUZXh0TGVuPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ0cmVlIj54bWxOb2RlQWRkQ29udGVudDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idHJlZSI+eG1sTm9kZUFkZENvbnRlbnRMZW48L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InRyZWUiPnhtbE5vZGVEdW1wPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ0cmVlIj54bWxOb2RlRHVtcE91dHB1dDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idHJlZSI+eG1sTm9kZUdldEJhc2U8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InRyZWUiPnhtbE5vZGVHZXRDb250ZW50PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ0cmVlIj54bWxOb2RlR2V0TGFuZzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idHJlZSI+eG1sTm9kZUdldFNwYWNlUHJlc2VydmU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InRyZWUiPnhtbE5vZGVJc1RleHQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InRyZWUiPnhtbE5vZGVMaXN0R2V0UmF3U3RyaW5nPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ0cmVlIj54bWxOb2RlTGlzdEdldFN0cmluZzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idHJlZSI+eG1sTm9kZVNldEJhc2U8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InRyZWUiPnhtbE5vZGVTZXRDb250ZW50PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ0cmVlIj54bWxOb2RlU2V0Q29udGVudExlbjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idHJlZSI+eG1sTm9kZVNldExhbmc8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InRyZWUiPnhtbE5vZGVTZXROYW1lPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ0cmVlIj54bWxOb2RlU2V0U3BhY2VQcmVzZXJ2ZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idHJlZSI+eG1sUmVjb25jaWxpYXRlTnM8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InRyZWUiPnhtbFJlbW92ZVByb3A8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InRyZWUiPnhtbFJlcGxhY2VOb2RlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ0cmVlIj54bWxTYXZlRmlsZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idHJlZSI+eG1sU2F2ZUZpbGVFbmM8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InRyZWUiPnhtbFNhdmVGaWxlVG88L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InRyZWUiPnhtbFNhdmVGb3JtYXRGaWxlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ0cmVlIj54bWxTYXZlRm9ybWF0RmlsZUVuYzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idHJlZSI+eG1sU2F2ZUZvcm1hdEZpbGVUbzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idHJlZSI+eG1sU2VhcmNoTnM8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InRyZWUiPnhtbFNlYXJjaE5zQnlIcmVmPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ0cmVlIj54bWxTZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ0cmVlIj54bWxTZXRDb21wcmVzc01vZGU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InRyZWUiPnhtbFNldERvY0NvbXByZXNzTW9kZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idHJlZSI+eG1sU2V0TGlzdERvYzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idHJlZSI+eG1sU2V0TnM8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InRyZWUiPnhtbFNldE5zUHJvcDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idHJlZSI+eG1sU2V0UHJvcDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idHJlZSI+eG1sU2V0VHJlZURvYzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idHJlZSI+eG1sU3RyaW5nR2V0Tm9kZUxpc3Q8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InRyZWUiPnhtbFN0cmluZ0xlbkdldE5vZGVMaXN0PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ0cmVlIj54bWxUZXh0Q29uY2F0PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ0cmVlIj54bWxUZXh0TWVyZ2U8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InRyZWUiPnhtbFVubGlua05vZGU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InRyZWUiPnhtbFVuc2V0TnNQcm9wPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ0cmVlIj54bWxVbnNldFByb3A8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHJlZ2V4cCI+eG1sUmVnRXhlY1B1c2hTdHJpbmc8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHJlZ2V4cCI+eG1sUmVnRnJlZUV4ZWNDdHh0PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxyZWdleHAiPnhtbFJlZ0ZyZWVSZWdleHA8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHJlZ2V4cCI+eG1sUmVnTmV3RXhlY0N0eHQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHJlZ2V4cCI+eG1sUmVnZXhwQ29tcGlsZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1scmVnZXhwIj54bWxSZWdleHBFeGVjPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxyZWdleHAiPnhtbFJlZ2V4cElzRGV0ZXJtaW5pc3Q8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHJlZ2V4cCI+eG1sUmVnZXhwUHJpbnQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9Im5hbm9odHRwIj54bWxOYW5vSFRUUEF1dGhIZWFkZXI8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9Im5hbm9odHRwIj54bWxOYW5vSFRUUENsZWFudXA8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9Im5hbm9odHRwIj54bWxOYW5vSFRUUENsb3NlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJuYW5vaHR0cCI+eG1sTmFub0hUVFBGZXRjaDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ibmFub2h0dHAiPnhtbE5hbm9IVFRQSW5pdDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ibmFub2h0dHAiPnhtbE5hbm9IVFRQTWV0aG9kPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJuYW5vaHR0cCI+eG1sTmFub0hUVFBNZXRob2RSZWRpcjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ibmFub2h0dHAiPnhtbE5hbm9IVFRQT3Blbjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ibmFub2h0dHAiPnhtbE5hbm9IVFRQT3BlblJlZGlyPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJuYW5vaHR0cCI+eG1sTmFub0hUVFBSZWFkPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJuYW5vaHR0cCI+eG1sTmFub0hUVFBSZXR1cm5Db2RlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJuYW5vaHR0cCI+eG1sTmFub0hUVFBTYXZlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJuYW5vaHR0cCI+eG1sTmFub0hUVFBTY2FuUHJveHk8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHVuaWNvZGUiPnhtbFVDU0lzQWxwaGFiZXRpY1ByZXNlbnRhdGlvbkZvcm1zPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx1bmljb2RlIj54bWxVQ1NJc0FyYWJpYzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sdW5pY29kZSI+eG1sVUNTSXNBcmFiaWNQcmVzZW50YXRpb25Gb3Jtc0E8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHVuaWNvZGUiPnhtbFVDU0lzQXJhYmljUHJlc2VudGF0aW9uRm9ybXNCPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx1bmljb2RlIj54bWxVQ1NJc0FybWVuaWFuPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx1bmljb2RlIj54bWxVQ1NJc0Fycm93czwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sdW5pY29kZSI+eG1sVUNTSXNCYXNpY0xhdGluPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx1bmljb2RlIj54bWxVQ1NJc0JlbmdhbGk8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHVuaWNvZGUiPnhtbFVDU0lzQmxvY2s8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHVuaWNvZGUiPnhtbFVDU0lzQmxvY2tFbGVtZW50czwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sdW5pY29kZSI+eG1sVUNTSXNCb3BvbW9mbzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sdW5pY29kZSI+eG1sVUNTSXNCb3BvbW9mb0V4dGVuZGVkPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx1bmljb2RlIj54bWxVQ1NJc0JveERyYXdpbmc8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHVuaWNvZGUiPnhtbFVDU0lzQnJhaWxsZVBhdHRlcm5zPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx1bmljb2RlIj54bWxVQ1NJc0J5emFudGluZU11c2ljYWxTeW1ib2xzPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx1bmljb2RlIj54bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHk8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHVuaWNvZGUiPnhtbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eUZvcm1zPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx1bmljb2RlIj54bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHlJZGVvZ3JhcGhzPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx1bmljb2RlIj54bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHlJZGVvZ3JhcGhzU3VwcGxlbWVudDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sdW5pY29kZSI+eG1sVUNTSXNDSktSYWRpY2Fsc1N1cHBsZW1lbnQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHVuaWNvZGUiPnhtbFVDU0lzQ0pLU3ltYm9sc2FuZFB1bmN0dWF0aW9uPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx1bmljb2RlIj54bWxVQ1NJc0NKS1VuaWZpZWRJZGVvZ3JhcGhzPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx1bmljb2RlIj54bWxVQ1NJc0NKS1VuaWZpZWRJZGVvZ3JhcGhzRXh0ZW5zaW9uQTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sdW5pY29kZSI+eG1sVUNTSXNDSktVbmlmaWVkSWRlb2dyYXBoc0V4dGVuc2lvbkI8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHVuaWNvZGUiPnhtbFVDU0lzQ2F0PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx1bmljb2RlIj54bWxVQ1NJc0NhdEM8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHVuaWNvZGUiPnhtbFVDU0lzQ2F0Q2M8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHVuaWNvZGUiPnhtbFVDU0lzQ2F0Q2Y8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHVuaWNvZGUiPnhtbFVDU0lzQ2F0Q288L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHVuaWNvZGUiPnhtbFVDU0lzQ2F0Q3M8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHVuaWNvZGUiPnhtbFVDU0lzQ2F0TDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sdW5pY29kZSI+eG1sVUNTSXNDYXRMbDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sdW5pY29kZSI+eG1sVUNTSXNDYXRMbTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sdW5pY29kZSI+eG1sVUNTSXNDYXRMbzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sdW5pY29kZSI+eG1sVUNTSXNDYXRMdDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sdW5pY29kZSI+eG1sVUNTSXNDYXRMdTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sdW5pY29kZSI+eG1sVUNTSXNDYXRNPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx1bmljb2RlIj54bWxVQ1NJc0NhdE1jPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx1bmljb2RlIj54bWxVQ1NJc0NhdE1lPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx1bmljb2RlIj54bWxVQ1NJc0NhdE1uPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx1bmljb2RlIj54bWxVQ1NJc0NhdE48L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHVuaWNvZGUiPnhtbFVDU0lzQ2F0TmQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHVuaWNvZGUiPnhtbFVDU0lzQ2F0Tmw8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHVuaWNvZGUiPnhtbFVDU0lzQ2F0Tm88L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHVuaWNvZGUiPnhtbFVDU0lzQ2F0UDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sdW5pY29kZSI+eG1sVUNTSXNDYXRQYzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sdW5pY29kZSI+eG1sVUNTSXNDYXRQZDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sdW5pY29kZSI+eG1sVUNTSXNDYXRQZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sdW5pY29kZSI+eG1sVUNTSXNDYXRQZjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sdW5pY29kZSI+eG1sVUNTSXNDYXRQaTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sdW5pY29kZSI+eG1sVUNTSXNDYXRQbzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sdW5pY29kZSI+eG1sVUNTSXNDYXRQczwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sdW5pY29kZSI+eG1sVUNTSXNDYXRTPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx1bmljb2RlIj54bWxVQ1NJc0NhdFNjPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx1bmljb2RlIj54bWxVQ1NJc0NhdFNrPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx1bmljb2RlIj54bWxVQ1NJc0NhdFNtPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx1bmljb2RlIj54bWxVQ1NJc0NhdFNvPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx1bmljb2RlIj54bWxVQ1NJc0NhdFo8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHVuaWNvZGUiPnhtbFVDU0lzQ2F0Wmw8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHVuaWNvZGUiPnhtbFVDU0lzQ2F0WnA8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHVuaWNvZGUiPnhtbFVDU0lzQ2F0WnM8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHVuaWNvZGUiPnhtbFVDU0lzQ2hlcm9rZWU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHVuaWNvZGUiPnhtbFVDU0lzQ29tYmluaW5nRGlhY3JpdGljYWxNYXJrczwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sdW5pY29kZSI+eG1sVUNTSXNDb21iaW5pbmdIYWxmTWFya3M8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHVuaWNvZGUiPnhtbFVDU0lzQ29tYmluaW5nTWFya3Nmb3JTeW1ib2xzPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx1bmljb2RlIj54bWxVQ1NJc0NvbnRyb2xQaWN0dXJlczwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sdW5pY29kZSI+eG1sVUNTSXNDdXJyZW5jeVN5bWJvbHM8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHVuaWNvZGUiPnhtbFVDU0lzQ3lyaWxsaWM8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHVuaWNvZGUiPnhtbFVDU0lzRGVzZXJldDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sdW5pY29kZSI+eG1sVUNTSXNEZXZhbmFnYXJpPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx1bmljb2RlIj54bWxVQ1NJc0RpbmdiYXRzPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx1bmljb2RlIj54bWxVQ1NJc0VuY2xvc2VkQWxwaGFudW1lcmljczwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sdW5pY29kZSI+eG1sVUNTSXNFbmNsb3NlZENKS0xldHRlcnNhbmRNb250aHM8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHVuaWNvZGUiPnhtbFVDU0lzRXRoaW9waWM8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHVuaWNvZGUiPnhtbFVDU0lzR2VuZXJhbFB1bmN0dWF0aW9uPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx1bmljb2RlIj54bWxVQ1NJc0dlb21ldHJpY1NoYXBlczwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sdW5pY29kZSI+eG1sVUNTSXNHZW9yZ2lhbjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sdW5pY29kZSI+eG1sVUNTSXNHb3RoaWM8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHVuaWNvZGUiPnhtbFVDU0lzR3JlZWs8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHVuaWNvZGUiPnhtbFVDU0lzR3JlZWtFeHRlbmRlZDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sdW5pY29kZSI+eG1sVUNTSXNHdWphcmF0aTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sdW5pY29kZSI+eG1sVUNTSXNHdXJtdWtoaTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sdW5pY29kZSI+eG1sVUNTSXNIYWxmd2lkdGhhbmRGdWxsd2lkdGhGb3Jtczwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sdW5pY29kZSI+eG1sVUNTSXNIYW5ndWxDb21wYXRpYmlsaXR5SmFtbzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sdW5pY29kZSI+eG1sVUNTSXNIYW5ndWxKYW1vPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx1bmljb2RlIj54bWxVQ1NJc0hhbmd1bFN5bGxhYmxlczwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sdW5pY29kZSI+eG1sVUNTSXNIZWJyZXc8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHVuaWNvZGUiPnhtbFVDU0lzSGlnaFByaXZhdGVVc2VTdXJyb2dhdGVzPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx1bmljb2RlIj54bWxVQ1NJc0hpZ2hTdXJyb2dhdGVzPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx1bmljb2RlIj54bWxVQ1NJc0hpcmFnYW5hPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx1bmljb2RlIj54bWxVQ1NJc0lQQUV4dGVuc2lvbnM8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHVuaWNvZGUiPnhtbFVDU0lzSWRlb2dyYXBoaWNEZXNjcmlwdGlvbkNoYXJhY3RlcnM8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHVuaWNvZGUiPnhtbFVDU0lzS2FuYnVuPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx1bmljb2RlIj54bWxVQ1NJc0thbmd4aVJhZGljYWxzPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx1bmljb2RlIj54bWxVQ1NJc0thbm5hZGE8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHVuaWNvZGUiPnhtbFVDU0lzS2F0YWthbmE8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHVuaWNvZGUiPnhtbFVDU0lzS2htZXI8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHVuaWNvZGUiPnhtbFVDU0lzTGFvPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx1bmljb2RlIj54bWxVQ1NJc0xhdGluMVN1cHBsZW1lbnQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHVuaWNvZGUiPnhtbFVDU0lzTGF0aW5FeHRlbmRlZEE8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHVuaWNvZGUiPnhtbFVDU0lzTGF0aW5FeHRlbmRlZEFkZGl0aW9uYWw8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHVuaWNvZGUiPnhtbFVDU0lzTGF0aW5FeHRlbmRlZEI8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHVuaWNvZGUiPnhtbFVDU0lzTGV0dGVybGlrZVN5bWJvbHM8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHVuaWNvZGUiPnhtbFVDU0lzTG93U3Vycm9nYXRlczwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sdW5pY29kZSI+eG1sVUNTSXNNYWxheWFsYW08L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHVuaWNvZGUiPnhtbFVDU0lzTWF0aGVtYXRpY2FsQWxwaGFudW1lcmljU3ltYm9sczwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sdW5pY29kZSI+eG1sVUNTSXNNYXRoZW1hdGljYWxPcGVyYXRvcnM8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHVuaWNvZGUiPnhtbFVDU0lzTWlzY2VsbGFuZW91c1N5bWJvbHM8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHVuaWNvZGUiPnhtbFVDU0lzTWlzY2VsbGFuZW91c1RlY2huaWNhbDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sdW5pY29kZSI+eG1sVUNTSXNNb25nb2xpYW48L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHVuaWNvZGUiPnhtbFVDU0lzTXVzaWNhbFN5bWJvbHM8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHVuaWNvZGUiPnhtbFVDU0lzTXlhbm1hcjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sdW5pY29kZSI+eG1sVUNTSXNOdW1iZXJGb3Jtczwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sdW5pY29kZSI+eG1sVUNTSXNPZ2hhbTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sdW5pY29kZSI+eG1sVUNTSXNPbGRJdGFsaWM8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHVuaWNvZGUiPnhtbFVDU0lzT3B0aWNhbENoYXJhY3RlclJlY29nbml0aW9uPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx1bmljb2RlIj54bWxVQ1NJc09yaXlhPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx1bmljb2RlIj54bWxVQ1NJc1ByaXZhdGVVc2U8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHVuaWNvZGUiPnhtbFVDU0lzUnVuaWM8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHVuaWNvZGUiPnhtbFVDU0lzU2luaGFsYTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sdW5pY29kZSI+eG1sVUNTSXNTbWFsbEZvcm1WYXJpYW50czwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sdW5pY29kZSI+eG1sVUNTSXNTcGFjaW5nTW9kaWZpZXJMZXR0ZXJzPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx1bmljb2RlIj54bWxVQ1NJc1NwZWNpYWxzPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx1bmljb2RlIj54bWxVQ1NJc1N1cGVyc2NyaXB0c2FuZFN1YnNjcmlwdHM8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHVuaWNvZGUiPnhtbFVDU0lzU3lyaWFjPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx1bmljb2RlIj54bWxVQ1NJc1RhZ3M8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHVuaWNvZGUiPnhtbFVDU0lzVGFtaWw8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHVuaWNvZGUiPnhtbFVDU0lzVGVsdWd1PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx1bmljb2RlIj54bWxVQ1NJc1RoYWFuYTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sdW5pY29kZSI+eG1sVUNTSXNUaGFpPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx1bmljb2RlIj54bWxVQ1NJc1RpYmV0YW48L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHVuaWNvZGUiPnhtbFVDU0lzVW5pZmllZENhbmFkaWFuQWJvcmlnaW5hbFN5bGxhYmljczwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sdW5pY29kZSI+eG1sVUNTSXNZaVJhZGljYWxzPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx1bmljb2RlIj54bWxVQ1NJc1lpU3lsbGFibGVzPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ1cmkiPnhtbEJ1aWxkVVJJPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ1cmkiPnhtbENyZWF0ZVVSSTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idXJpIj54bWxGcmVlVVJJPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ1cmkiPnhtbE5vcm1hbGl6ZVVSSVBhdGg8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InVyaSI+eG1sUGFyc2VVUkk8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InVyaSI+eG1sUGFyc2VVUklSZWZlcmVuY2U8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InVyaSI+eG1sUHJpbnRVUkk8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InVyaSI+eG1sU2F2ZVVyaTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idXJpIj54bWxVUklFc2NhcGU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InVyaSI+eG1sVVJJRXNjYXBlU3RyPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ1cmkiPnhtbFVSSVVuZXNjYXBlU3RyaW5nPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJlbmNvZGluZyI+VVRGOFRvaXNvbGF0MTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iZW5jb2RpbmciPmlzb2xhdDFUb1VURjg8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9ImVuY29kaW5nIj54bWxBZGRFbmNvZGluZ0FsaWFzPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJlbmNvZGluZyI+eG1sQ2hhckVuY0Nsb3NlRnVuYzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iZW5jb2RpbmciPnhtbENoYXJFbmNGaXJzdExpbmU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9ImVuY29kaW5nIj54bWxDaGFyRW5jSW5GdW5jPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJlbmNvZGluZyI+eG1sQ2hhckVuY091dEZ1bmM8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHN0cmluZyI+eG1sQ2hlY2tVVEY4PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJlbmNvZGluZyI+eG1sQ2xlYW51cENoYXJFbmNvZGluZ0hhbmRsZXJzPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJlbmNvZGluZyI+eG1sQ2xlYW51cEVuY29kaW5nQWxpYXNlczwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iZW5jb2RpbmciPnhtbERlbEVuY29kaW5nQWxpYXM8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9ImVuY29kaW5nIj54bWxEZXRlY3RDaGFyRW5jb2Rpbmc8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9ImVuY29kaW5nIj54bWxGaW5kQ2hhckVuY29kaW5nSGFuZGxlcjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iZW5jb2RpbmciPnhtbEdldENoYXJFbmNvZGluZ0hhbmRsZXI8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9ImVuY29kaW5nIj54bWxHZXRDaGFyRW5jb2RpbmdOYW1lPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJlbmNvZGluZyI+eG1sR2V0RW5jb2RpbmdBbGlhczwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sc3RyaW5nIj54bWxHZXRVVEY4Q2hhcjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iZW5jb2RpbmciPnhtbEluaXRDaGFyRW5jb2RpbmdIYW5kbGVyczwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iZW5jb2RpbmciPnhtbE5ld0NoYXJFbmNvZGluZ0hhbmRsZXI8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9ImVuY29kaW5nIj54bWxQYXJzZUNoYXJFbmNvZGluZzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iZW5jb2RpbmciPnhtbFJlZ2lzdGVyQ2hhckVuY29kaW5nSGFuZGxlcjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sc3RyaW5nIj54bWxVVEY4U3RybGVuPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxzdHJpbmciPnhtbFVURjhTdHJsb2M8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHN0cmluZyI+eG1sVVRGOFN0cm5kdXA8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHN0cmluZyI+eG1sVVRGOFN0cnBvczwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sc3RyaW5nIj54bWxVVEY4U3Ryc2l6ZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sc3RyaW5nIj54bWxVVEY4U3Ryc3ViPC9zeW1ib2w+CisgIDwvcmVsZWFzZT4KKyAgPHJlbGVhc2UgdmVyc2lvbj0iMi41LjAiPgorICAgIDxzeW1ib2wgZmlsZT0iZ2xvYmFscyI+eG1sRGVyZWdpc3Rlck5vZGVEZWZhdWx0PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJnbG9iYWxzIj54bWxEZXJlZ2lzdGVyTm9kZURlZmF1bHRWYWx1ZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iZ2xvYmFscyI+eG1sUmVnaXN0ZXJOb2RlRGVmYXVsdDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iZ2xvYmFscyI+eG1sUmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxyZWFkZXIiPnhtbFRleHRSZWFkZXJDbG9zZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1scmVhZGVyIj54bWxUZXh0UmVhZGVyQ3VycmVudERvYzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1scmVhZGVyIj54bWxUZXh0UmVhZGVyQ3VycmVudE5vZGU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHJlYWRlciI+eG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZU5vPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxyZWFkZXIiPnhtbFRleHRSZWFkZXJHZXRBdHRyaWJ1dGVOczwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1scmVhZGVyIj54bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxyZWFkZXIiPnhtbFRleHRSZWFkZXJHZXRQYXJzZXJQcm9wPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxyZWFkZXIiPnhtbFRleHRSZWFkZXJHZXRSZW1haW5kZXI8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHJlYWRlciI+eG1sVGV4dFJlYWRlckxvb2t1cE5hbWVzcGFjZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1scmVhZGVyIj54bWxUZXh0UmVhZGVyTW92ZVRvQXR0cmlidXRlTm88L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHJlYWRlciI+eG1sVGV4dFJlYWRlck1vdmVUb0F0dHJpYnV0ZU5zPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxyZWFkZXIiPnhtbFRleHRSZWFkZXJNb3ZlVG9BdHRyaWJ1dGU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHJlYWRlciI+eG1sVGV4dFJlYWRlck1vdmVUb0VsZW1lbnQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHJlYWRlciI+eG1sVGV4dFJlYWRlck1vdmVUb0ZpcnN0QXR0cmlidXRlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxyZWFkZXIiPnhtbFRleHRSZWFkZXJNb3ZlVG9OZXh0QXR0cmlidXRlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxyZWFkZXIiPnhtbFRleHRSZWFkZXJOb3JtYWxpemF0aW9uPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxyZWFkZXIiPnhtbFRleHRSZWFkZXJSZWFkQXR0cmlidXRlVmFsdWU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHJlYWRlciI+eG1sVGV4dFJlYWRlclJlYWRJbm5lclhtbDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1scmVhZGVyIj54bWxUZXh0UmVhZGVyUmVhZE91dGVyWG1sPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxyZWFkZXIiPnhtbFRleHRSZWFkZXJSZWFkU3RhdGU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHJlYWRlciI+eG1sVGV4dFJlYWRlclJlYWRTdHJpbmc8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHJlYWRlciI+eG1sVGV4dFJlYWRlclNldFBhcnNlclByb3A8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InZhbGlkIj54bWxWYWxpZGF0ZVBvcEVsZW1lbnQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InZhbGlkIj54bWxWYWxpZGF0ZVB1c2hDRGF0YTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idmFsaWQiPnhtbFZhbGlkYXRlUHVzaEVsZW1lbnQ8L3N5bWJvbD4KKyAgPC9yZWxlYXNlPgorICA8cmVsZWFzZSB2ZXJzaW9uPSIyLjUuMiI+CisgICAgPHN5bWJvbCBmaWxlPSJ0cmVlIj54bWxHZXROb05zUHJvcDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iSFRNTHBhcnNlciI+aHRtbEF0dHJBbGxvd2VkPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJIVE1McGFyc2VyIj5odG1sRWxlbWVudEFsbG93ZWRIZXJlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJIVE1McGFyc2VyIj5odG1sRWxlbWVudFN0YXR1c0hlcmU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9IkhUTUxwYXJzZXIiPmh0bWxOb2RlU3RhdHVzPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJyZWxheG5nIj54bWxSZWxheE5HQ2xlYW51cFR5cGVzPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJyZWxheG5nIj54bWxSZWxheE5HRHVtcDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icmVsYXhuZyI+eG1sUmVsYXhOR0ZyZWVQYXJzZXJDdHh0PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJyZWxheG5nIj54bWxSZWxheE5HRnJlZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icmVsYXhuZyI+eG1sUmVsYXhOR0ZyZWVWYWxpZEN0eHQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InJlbGF4bmciPnhtbFJlbGF4TkdOZXdNZW1QYXJzZXJDdHh0PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJyZWxheG5nIj54bWxSZWxheE5HTmV3UGFyc2VyQ3R4dDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icmVsYXhuZyI+eG1sUmVsYXhOR05ld1ZhbGlkQ3R4dDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icmVsYXhuZyI+eG1sUmVsYXhOR1BhcnNlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJyZWxheG5nIj54bWxSZWxheE5HU2V0UGFyc2VyRXJyb3JzPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJyZWxheG5nIj54bWxSZWxheE5HU2V0VmFsaWRFcnJvcnM8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InJlbGF4bmciPnhtbFJlbGF4TkdWYWxpZGF0ZURvYzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1scmVhZGVyIj54bWxUZXh0UmVhZGVyR2V0RXJyb3JIYW5kbGVyPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxyZWFkZXIiPnhtbFRleHRSZWFkZXJMb2NhdG9yQmFzZVVSSTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1scmVhZGVyIj54bWxUZXh0UmVhZGVyTG9jYXRvckxpbmVOdW1iZXI8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHJlYWRlciI+eG1sVGV4dFJlYWRlclNldEVycm9ySGFuZGxlcjwvc3ltYm9sPgorICAgIDxzeW1ib2wgcmVtb3ZlZD0iMi41LjUiIGZpbGU9InJlbGF4bmciPnhtbFJlbGF4TkdWYWxpZGF0ZVN0cmVhbTwvc3ltYm9sPgorICA8L3JlbGVhc2U+CisgIDxyZWxlYXNlIHZlcnNpb249IjIuNS40Ij4KKyAgICA8c3ltYm9sIGZpbGU9InVyaSI+eG1sQ2Fub25pY1BhdGg8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InJlbGF4bmciPnhtbFJlbGF4TkdEdW1wVHJlZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idHJlZSI+eG1sVmFsaWRhdGVOYW1lPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ0cmVlIj54bWxWYWxpZGF0ZU5DTmFtZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idHJlZSI+eG1sVmFsaWRhdGVOTVRva2VuPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ0cmVlIj54bWxWYWxpZGF0ZVFOYW1lPC9zeW1ib2w+CisgIDwvcmVsZWFzZT4KKyAgPHJlbGVhc2UgdmVyc2lvbj0iMi41LjUiPgorICAgIDxzeW1ib2wgZmlsZT0ibmFub2Z0cCI+eG1sTmFub0ZUUERlbGU8L3N5bWJvbD4KKyAgPC9yZWxlYXNlPgorICA8cmVsZWFzZSB2ZXJzaW9uPSIyLjUuNiI+CisgICAgPHN5bWJvbCBmaWxlPSJ4cGF0aCI+eG1sWFBhdGhPcmRlckRvY0VsZW1zPC9zeW1ib2w+CisgIDwvcmVsZWFzZT4KKyAgPHJlbGVhc2UgdmVyc2lvbj0iMi41LjciPgorICAgIDxzeW1ib2wgZmlsZT0iSFRNTHBhcnNlciI+aHRtbENyZWF0ZU1lbW9yeVBhcnNlckN0eHQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbGF1dG9tYXRhIj54bWxBdXRvbWF0YU5ld1RyYW5zaXRpb24yPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ0cmVlIj54bWxCdWlsZFFOYW1lPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxtZW1vcnkiPnhtbEdjTWVtR2V0PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxtZW1vcnkiPnhtbEdjTWVtU2V0dXA8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9Imdsb2JhbHMiPnhtbE1hbGxvY0F0b21pYzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1scmVnZXhwIj54bWxSZWdFeGVjUHVzaFN0cmluZzI8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InJlbGF4bmciPnhtbFJlbGF4TkdOZXdEb2NQYXJzZXJDdHh0PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJyZWxheG5nIj54bWxSZWxheE5HVmFsaWRhdGVGdWxsRWxlbWVudDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icmVsYXhuZyI+eG1sUmVsYXhOR1ZhbGlkYXRlUG9wRWxlbWVudDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icmVsYXhuZyI+eG1sUmVsYXhOR1ZhbGlkYXRlUHVzaENEYXRhPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJyZWxheG5nIj54bWxSZWxheE5HVmFsaWRhdGVQdXNoRWxlbWVudDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1scmVhZGVyIj54bWxUZXh0UmVhZGVyRXhwYW5kPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxyZWFkZXIiPnhtbFRleHRSZWFkZXJJc1ZhbGlkPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxyZWFkZXIiPnhtbFRleHRSZWFkZXJOZXh0PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxyZWFkZXIiPnhtbFRleHRSZWFkZXJSZWxheE5HU2V0U2NoZW1hPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxyZWFkZXIiPnhtbFRleHRSZWFkZXJSZWxheE5HVmFsaWRhdGU8L3N5bWJvbD4KKyAgPC9yZWxlYXNlPgorICA8cmVsZWFzZSB2ZXJzaW9uPSIyLjUuOCI+CisgICAgPHN5bWJvbCBmaWxlPSJnbG9iYWxzIj54bWxDbGVhbnVwR2xvYmFsczwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iZ2xvYmFscyI+eG1sSW5pdEdsb2JhbHM8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InZhbGlkIj54bWxGcmVlVmFsaWRDdHh0PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ2YWxpZCI+eG1sTmV3VmFsaWRDdHh0PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJzY2hlbWFzSW50ZXJuYWxzIj54bWxTY2hlbWFGcmVlVHlwZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sc2NoZW1hcyI+eG1sU2NoZW1hRHVtcDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sc2NoZW1hcyI+eG1sU2NoZW1hRnJlZVBhcnNlckN0eHQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHNjaGVtYXMiPnhtbFNjaGVtYUZyZWVWYWxpZEN0eHQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHNjaGVtYXMiPnhtbFNjaGVtYUZyZWU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHNjaGVtYXMiPnhtbFNjaGVtYU5ld01lbVBhcnNlckN0eHQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHNjaGVtYXMiPnhtbFNjaGVtYU5ld1BhcnNlckN0eHQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHNjaGVtYXMiPnhtbFNjaGVtYU5ld1ZhbGlkQ3R4dDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sc2NoZW1hcyI+eG1sU2NoZW1hUGFyc2U8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHNjaGVtYXMiPnhtbFNjaGVtYVNldFBhcnNlckVycm9yczwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sc2NoZW1hcyI+eG1sU2NoZW1hU2V0VmFsaWRFcnJvcnM8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHNjaGVtYXMiPnhtbFNjaGVtYVZhbGlkYXRlRG9jPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxzY2hlbWFzIj54bWxTY2hlbWFWYWxpZGF0ZVN0cmVhbTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sc2NoZW1hc3R5cGVzIj54bWxTY2hlbWFDaGVja0ZhY2V0PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxzY2hlbWFzdHlwZXMiPnhtbFNjaGVtYUNsZWFudXBUeXBlczwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sc2NoZW1hc3R5cGVzIj54bWxTY2hlbWFDb21wYXJlVmFsdWVzPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxzY2hlbWFzdHlwZXMiPnhtbFNjaGVtYUZyZWVGYWNldDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sc2NoZW1hc3R5cGVzIj54bWxTY2hlbWFGcmVlVmFsdWU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHNjaGVtYXN0eXBlcyI+eG1sU2NoZW1hR2V0UHJlZGVmaW5lZFR5cGU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHNjaGVtYXN0eXBlcyI+eG1sU2NoZW1hSW5pdFR5cGVzPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxzY2hlbWFzdHlwZXMiPnhtbFNjaGVtYU5ld0ZhY2V0PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxzY2hlbWFzdHlwZXMiPnhtbFNjaGVtYVZhbGlkYXRlRmFjZXQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHNjaGVtYXN0eXBlcyI+eG1sU2NoZW1hVmFsaWRhdGVQcmVkZWZpbmVkVHlwZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sc2NoZW1hc3R5cGVzIj54bWxTY2hlbWFWYWxQcmVkZWZUeXBlTm9kZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iZ2xvYmFscyI+eG1sVGhyRGVmQnVmZmVyQWxsb2NTY2hlbWU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9Imdsb2JhbHMiPnhtbFRockRlZkRlZmF1bHRCdWZmZXJTaXplPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJnbG9iYWxzIj54bWxUaHJEZWZEZXJlZ2lzdGVyTm9kZURlZmF1bHQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9Imdsb2JhbHMiPnhtbFRockRlZkRvVmFsaWRpdHlDaGVja2luZ0RlZmF1bHRWYWx1ZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iZ2xvYmFscyI+eG1sVGhyRGVmR2V0V2FybmluZ3NEZWZhdWx0VmFsdWU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9Imdsb2JhbHMiPnhtbFRockRlZkluZGVudFRyZWVPdXRwdXQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9Imdsb2JhbHMiPnhtbFRockRlZktlZXBCbGFua3NEZWZhdWx0VmFsdWU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9Imdsb2JhbHMiPnhtbFRockRlZkxpbmVOdW1iZXJzRGVmYXVsdFZhbHVlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJnbG9iYWxzIj54bWxUaHJEZWZMb2FkRXh0RHRkRGVmYXVsdFZhbHVlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJnbG9iYWxzIj54bWxUaHJEZWZQYXJzZXJEZWJ1Z0VudGl0aWVzPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJnbG9iYWxzIj54bWxUaHJEZWZQZWRhbnRpY1BhcnNlckRlZmF1bHRWYWx1ZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iZ2xvYmFscyI+eG1sVGhyRGVmUmVnaXN0ZXJOb2RlRGVmYXVsdDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iZ2xvYmFscyI+eG1sVGhyRGVmU2F2ZU5vRW1wdHlUYWdzPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJnbG9iYWxzIj54bWxUaHJEZWZTZXRHZW5lcmljRXJyb3JGdW5jPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJnbG9iYWxzIj54bWxUaHJEZWZTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0VmFsdWU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9Imdsb2JhbHMiPnhtbFRockRlZlRyZWVJbmRlbnRTdHJpbmc8L3N5bWJvbD4KKyAgPC9yZWxlYXNlPgorICA8cmVsZWFzZSB2ZXJzaW9uPSIyLjUuOSI+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxtZW1vcnkiPnhtbE1hbGxvY0F0b21pY0xvYzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icmVsYXhuZyI+eG1sUmVsYXhOR0dldFBhcnNlckVycm9yczwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icmVsYXhuZyI+eG1sUmVsYXhOR0dldFZhbGlkRXJyb3JzPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ0cmVlIj54bWxTcGxpdFFOYW1lMzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sc3RyaW5nIj54bWxVVEY4Q2hhcmNtcDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sc3RyaW5nIj54bWxVVEY4U2l6ZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieGluY2x1ZGUiPnhtbFhJbmNsdWRlUHJvY2Vzc1RyZWU8L3N5bWJvbD4KKyAgPC9yZWxlYXNlPgorICA8cmVsZWFzZSB2ZXJzaW9uPSIyLjYuMCI+CisgICAgPHN5bWJvbCBmaWxlPSJTQVgyIj54bWxTQVgyQXR0cmlidXRlRGVjbDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iU0FYMiI+eG1sU0FYMkNEYXRhQmxvY2s8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9IlNBWDIiPnhtbFNBWDJDaGFyYWN0ZXJzPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJTQVgyIj54bWxTQVgyQ29tbWVudDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iU0FYMiI+eG1sU0FYMkVsZW1lbnREZWNsPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJTQVgyIj54bWxTQVgyRW5kRG9jdW1lbnQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9IlNBWDIiPnhtbFNBWDJFbmRFbGVtZW50TnM8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9IlNBWDIiPnhtbFNBWDJFbmRFbGVtZW50PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJTQVgyIj54bWxTQVgyRW50aXR5RGVjbDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iU0FYMiI+eG1sU0FYMkV4dGVybmFsU3Vic2V0PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJTQVgyIj54bWxTQVgyR2V0Q29sdW1uTnVtYmVyPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJTQVgyIj54bWxTQVgyR2V0RW50aXR5PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJTQVgyIj54bWxTQVgyR2V0TGluZU51bWJlcjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iU0FYMiI+eG1sU0FYMkdldFBhcmFtZXRlckVudGl0eTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iU0FYMiI+eG1sU0FYMkdldFB1YmxpY0lkPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJTQVgyIj54bWxTQVgyR2V0U3lzdGVtSWQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9IlNBWDIiPnhtbFNBWDJIYXNFeHRlcm5hbFN1YnNldDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iU0FYMiI+eG1sU0FYMkhhc0ludGVybmFsU3Vic2V0PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJTQVgyIj54bWxTQVgySWdub3JhYmxlV2hpdGVzcGFjZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iU0FYMiI+eG1sU0FYMkluaXREZWZhdWx0U0FYSGFuZGxlcjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iU0FYMiI+eG1sU0FYMkluaXREb2NiRGVmYXVsdFNBWEhhbmRsZXI8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9IlNBWDIiPnhtbFNBWDJJbml0SHRtbERlZmF1bHRTQVhIYW5kbGVyPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJTQVgyIj54bWxTQVgySW50ZXJuYWxTdWJzZXQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9IlNBWDIiPnhtbFNBWDJJc1N0YW5kYWxvbmU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9IlNBWDIiPnhtbFNBWDJOb3RhdGlvbkRlY2w8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9IlNBWDIiPnhtbFNBWDJQcm9jZXNzaW5nSW5zdHJ1Y3Rpb248L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9IlNBWDIiPnhtbFNBWDJSZWZlcmVuY2U8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9IlNBWDIiPnhtbFNBWDJSZXNvbHZlRW50aXR5PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJTQVgyIj54bWxTQVgyU2V0RG9jdW1lbnRMb2NhdG9yPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJTQVgyIj54bWxTQVgyU3RhcnREb2N1bWVudDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iU0FYMiI+eG1sU0FYMlN0YXJ0RWxlbWVudE5zPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJTQVgyIj54bWxTQVgyU3RhcnRFbGVtZW50PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJTQVgyIj54bWxTQVgyVW5wYXJzZWRFbnRpdHlEZWNsPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJTQVgyIj54bWxTQVhEZWZhdWx0VmVyc2lvbjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iU0FYMiI+eG1sU0FYVmVyc2lvbjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iSFRNTHBhcnNlciI+aHRtbEN0eHRSZWFkRG9jPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJIVE1McGFyc2VyIj5odG1sQ3R4dFJlYWRGZDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iSFRNTHBhcnNlciI+aHRtbEN0eHRSZWFkRmlsZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iSFRNTHBhcnNlciI+aHRtbEN0eHRSZWFkSU88L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9IkhUTUxwYXJzZXIiPmh0bWxDdHh0UmVhZE1lbW9yeTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iSFRNTHBhcnNlciI+aHRtbEN0eHRSZXNldDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iSFRNTHBhcnNlciI+aHRtbEN0eHRVc2VPcHRpb25zPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJIVE1McGFyc2VyIj5odG1sUmVhZERvYzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iSFRNTHBhcnNlciI+aHRtbFJlYWRGZDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iSFRNTHBhcnNlciI+aHRtbFJlYWRGaWxlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJIVE1McGFyc2VyIj5odG1sUmVhZElPPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJIVE1McGFyc2VyIj5odG1sUmVhZE1lbW9yeTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idHJlZSI+eG1sQnVmZmVyQ3JlYXRlU3RhdGljPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJjaHZhbGlkIj54bWxDaGFySW5SYW5nZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sSU8iPnhtbENoZWNrSFRUUElucHV0PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxlcnJvciI+eG1sQ29weUVycm9yPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxlcnJvciI+eG1sQ3R4dEdldExhc3RFcnJvcjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sZXJyb3IiPnhtbEdldExhc3RFcnJvcjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sZXJyb3IiPnhtbFJlc2V0RXJyb3I8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbGVycm9yIj54bWxSZXNldExhc3RFcnJvcjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sZXJyb3IiPnhtbFNldFN0cnVjdHVyZWRFcnJvckZ1bmM8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InBhcnNlciI+eG1sQ3R4dFJlYWREb2M8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InBhcnNlciI+eG1sQ3R4dFJlYWRGZDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icGFyc2VyIj54bWxDdHh0UmVhZEZpbGU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InBhcnNlciI+eG1sQ3R4dFJlYWRJTzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icGFyc2VyIj54bWxDdHh0UmVhZE1lbW9yeTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sZXJyb3IiPnhtbEN0eHRSZXNldExhc3RFcnJvcjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icGFyc2VyIj54bWxDdHh0UmVzZXQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InBhcnNlciI+eG1sQ3R4dFVzZU9wdGlvbnM8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InBhcnNlciI+eG1sUmVhZERvYzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icGFyc2VyIj54bWxSZWFkRmQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InBhcnNlciI+eG1sUmVhZEZpbGU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InBhcnNlciI+eG1sUmVhZElPPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJwYXJzZXIiPnhtbFJlYWRNZW1vcnk8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHN0cmluZyI+eG1sU3RyUHJpbnRmPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxzdHJpbmciPnhtbFN0clFFcXVhbDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iZGljdCI+eG1sRGljdENyZWF0ZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iZGljdCI+eG1sRGljdEZyZWU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9ImRpY3QiPnhtbERpY3RMb29rdXA8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9ImRpY3QiPnhtbERpY3RPd25zPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJkaWN0Ij54bWxEaWN0UUxvb2t1cDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iZGljdCI+eG1sRGljdFJlZmVyZW5jZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iZGljdCI+eG1sRGljdFNpemU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InBhcnNlckludGVybmFscyI+eG1sRXJyTWVtb3J5PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJwYXJzZXJJbnRlcm5hbHMiPnhtbFBhcnNlck1heERlcHRoPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJwYXJzZXJJbnRlcm5hbHMiPnhtbFN0cmluZ0xlbkRlY29kZUVudGl0aWVzPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJwYXJzZXJJbnRlcm5hbHMiPnhtbFN3aXRjaElucHV0RW5jb2Rpbmc8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHdyaXRlciI+eG1sRnJlZVRleHRXcml0ZXI8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHdyaXRlciI+eG1sTmV3VGV4dFdyaXRlckZpbGVuYW1lPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx3cml0ZXIiPnhtbE5ld1RleHRXcml0ZXJNZW1vcnk8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHdyaXRlciI+eG1sTmV3VGV4dFdyaXRlcjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sd3JpdGVyIj54bWxUZXh0V3JpdGVyRW5kQXR0cmlidXRlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx3cml0ZXIiPnhtbFRleHRXcml0ZXJFbmRDREFUQTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sd3JpdGVyIj54bWxUZXh0V3JpdGVyRW5kRG9jdW1lbnQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHdyaXRlciI+eG1sVGV4dFdyaXRlckVuZERURDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sd3JpdGVyIj54bWxUZXh0V3JpdGVyRW5kRWxlbWVudDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sd3JpdGVyIj54bWxUZXh0V3JpdGVyRW5kUEk8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHdyaXRlciI+eG1sVGV4dFdyaXRlckZsdXNoPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx3cml0ZXIiPnhtbFRleHRXcml0ZXJGdWxsRW5kRWxlbWVudDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sd3JpdGVyIj54bWxUZXh0V3JpdGVyU3RhcnRBdHRyaWJ1dGVOUzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sd3JpdGVyIj54bWxUZXh0V3JpdGVyU3RhcnRBdHRyaWJ1dGU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHdyaXRlciI+eG1sVGV4dFdyaXRlclN0YXJ0Q0RBVEE8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHdyaXRlciI+eG1sVGV4dFdyaXRlclN0YXJ0RG9jdW1lbnQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHdyaXRlciI+eG1sVGV4dFdyaXRlclN0YXJ0RFREQXR0bGlzdDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sd3JpdGVyIj54bWxUZXh0V3JpdGVyU3RhcnREVERFbGVtZW50PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx3cml0ZXIiPnhtbFRleHRXcml0ZXJTdGFydERUREVudGl0eTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sd3JpdGVyIj54bWxUZXh0V3JpdGVyU3RhcnREVEQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHdyaXRlciI+eG1sVGV4dFdyaXRlclN0YXJ0RWxlbWVudE5TPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx3cml0ZXIiPnhtbFRleHRXcml0ZXJTdGFydEVsZW1lbnQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHdyaXRlciI+eG1sVGV4dFdyaXRlclN0YXJ0UEk8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHdyaXRlciI+eG1sVGV4dFdyaXRlcldyaXRlQXR0cmlidXRlTlM8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHdyaXRlciI+eG1sVGV4dFdyaXRlcldyaXRlQXR0cmlidXRlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx3cml0ZXIiPnhtbFRleHRXcml0ZXJXcml0ZUJhc2U2NDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sd3JpdGVyIj54bWxUZXh0V3JpdGVyV3JpdGVCaW5IZXg8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHdyaXRlciI+eG1sVGV4dFdyaXRlcldyaXRlQ0RBVEE8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHdyaXRlciI+eG1sVGV4dFdyaXRlcldyaXRlQ29tbWVudDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sd3JpdGVyIj54bWxUZXh0V3JpdGVyV3JpdGVEVERBdHRsaXN0PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx3cml0ZXIiPnhtbFRleHRXcml0ZXJXcml0ZURUREVsZW1lbnQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHdyaXRlciI+eG1sVGV4dFdyaXRlcldyaXRlRFRERW50aXR5PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx3cml0ZXIiPnhtbFRleHRXcml0ZXJXcml0ZURUREV4dGVybmFsRW50aXR5PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx3cml0ZXIiPnhtbFRleHRXcml0ZXJXcml0ZURUREludGVybmFsRW50aXR5PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx3cml0ZXIiPnhtbFRleHRXcml0ZXJXcml0ZURURE5vdGF0aW9uPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx3cml0ZXIiPnhtbFRleHRXcml0ZXJXcml0ZURURDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sd3JpdGVyIj54bWxUZXh0V3JpdGVyV3JpdGVFbGVtZW50TlM8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHdyaXRlciI+eG1sVGV4dFdyaXRlcldyaXRlRWxlbWVudDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sd3JpdGVyIj54bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRBdHRyaWJ1dGVOUzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sd3JpdGVyIj54bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRBdHRyaWJ1dGU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHdyaXRlciI+eG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0Q0RBVEE8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHdyaXRlciI+eG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0Q29tbWVudDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sd3JpdGVyIj54bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVERBdHRsaXN0PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx3cml0ZXIiPnhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdERUREVsZW1lbnQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHdyaXRlciI+eG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFRESW50ZXJuYWxFbnRpdHk8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHdyaXRlciI+eG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFREPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx3cml0ZXIiPnhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdEVsZW1lbnROUzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sd3JpdGVyIj54bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRFbGVtZW50PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx3cml0ZXIiPnhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdFBJPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx3cml0ZXIiPnhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdFJhdzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sd3JpdGVyIj54bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRTdHJpbmc8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHdyaXRlciI+eG1sVGV4dFdyaXRlcldyaXRlUEk8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHdyaXRlciI+eG1sVGV4dFdyaXRlcldyaXRlUmF3TGVuPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx3cml0ZXIiPnhtbFRleHRXcml0ZXJXcml0ZVJhdzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sd3JpdGVyIj54bWxUZXh0V3JpdGVyV3JpdGVTdHJpbmc8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHdyaXRlciI+eG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEF0dHJpYnV0ZU5TPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx3cml0ZXIiPnhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRBdHRyaWJ1dGU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHdyaXRlciI+eG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdENEQVRBPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx3cml0ZXIiPnhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRDb21tZW50PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx3cml0ZXIiPnhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVERBdHRsaXN0PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx3cml0ZXIiPnhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVERFbGVtZW50PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx3cml0ZXIiPnhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVERJbnRlcm5hbEVudGl0eTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sd3JpdGVyIj54bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFREPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx3cml0ZXIiPnhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRFbGVtZW50TlM8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHdyaXRlciI+eG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEVsZW1lbnQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHdyaXRlciI+eG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdFBJPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx3cml0ZXIiPnhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRSYXc8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHdyaXRlciI+eG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdFN0cmluZzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iaGFzaCI+eG1sSGFzaFFMb29rdXAyPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJoYXNoIj54bWxIYXNoUUxvb2t1cDM8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9Imhhc2giPnhtbEhhc2hRTG9va3VwPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJjaHZhbGlkIj54bWxJc0Jhc2VDaGFyR3JvdXA8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9ImNodmFsaWQiPnhtbElzQ2hhckdyb3VwPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJjaHZhbGlkIj54bWxJc0NvbWJpbmluZ0dyb3VwPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJjaHZhbGlkIj54bWxJc0RpZ2l0R3JvdXA8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9ImNodmFsaWQiPnhtbElzRXh0ZW5kZXJHcm91cDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iY2h2YWxpZCI+eG1sSXNJZGVvZ3JhcGhpY0dyb3VwPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJjaHZhbGlkIj54bWxJc1B1YmlkQ2hhcl90YWI8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9Imdsb2JhbHMiPnhtbExhc3RFcnJvcjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ibmFub2h0dHAiPnhtbE5hbm9IVFRQRW5jb2Rpbmc8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9Im5hbm9odHRwIj54bWxOYW5vSFRUUE1pbWVUeXBlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJuYW5vaHR0cCI+eG1sTmFub0hUVFBSZWRpcjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idHJlZSI+eG1sTm9kZUJ1ZkdldENvbnRlbnQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbElPIj54bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZVN0YXRpYzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1scmVhZGVyIj54bWxSZWFkZXJGb3JEb2M8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHJlYWRlciI+eG1sUmVhZGVyRm9yRmQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHJlYWRlciI+eG1sUmVhZGVyRm9yRmlsZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1scmVhZGVyIj54bWxSZWFkZXJGb3JJTzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1scmVhZGVyIj54bWxSZWFkZXJGb3JNZW1vcnk8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHJlYWRlciI+eG1sUmVhZGVyTmV3RG9jPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxyZWFkZXIiPnhtbFJlYWRlck5ld0ZkPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxyZWFkZXIiPnhtbFJlYWRlck5ld0ZpbGU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHJlYWRlciI+eG1sUmVhZGVyTmV3SU88L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHJlYWRlciI+eG1sUmVhZGVyTmV3TWVtb3J5PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxyZWFkZXIiPnhtbFJlYWRlck5ld1dhbGtlcjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1scmVhZGVyIj54bWxSZWFkZXJXYWxrZXI8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHJlYWRlciI+eG1sVGV4dFJlYWRlckNvbnN0QmFzZVVyaTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1scmVhZGVyIj54bWxUZXh0UmVhZGVyQ29uc3RMb2NhbE5hbWU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHJlYWRlciI+eG1sVGV4dFJlYWRlckNvbnN0TmFtZXNwYWNlVXJpPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxyZWFkZXIiPnhtbFRleHRSZWFkZXJDb25zdE5hbWU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHJlYWRlciI+eG1sVGV4dFJlYWRlckNvbnN0UHJlZml4PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxyZWFkZXIiPnhtbFRleHRSZWFkZXJDb25zdFN0cmluZzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1scmVhZGVyIj54bWxUZXh0UmVhZGVyQ29uc3RWYWx1ZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1scmVhZGVyIj54bWxUZXh0UmVhZGVyQ29uc3RYbWxMYW5nPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxyZWFkZXIiPnhtbFRleHRSZWFkZXJOZXh0U2libGluZzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1scmVhZGVyIj54bWxUZXh0UmVhZGVyUHJlc2VydmU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9Imdsb2JhbHMiPnhtbFN0cnVjdHVyZWRFcnJvcjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iZ2xvYmFscyI+eG1sVGhyRGVmU2V0U3RydWN0dXJlZEVycm9yRnVuYzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieHBhdGhJbnRlcm5hbHMiPnhtbFhQYXRoRXJyPC9zeW1ib2w+CisgICAgPHN5bWJvbCByZW1vdmVkPSIyLjYuMTAiIGZpbGU9IlNBWDIiPnhtbFNBWDJDaGVja05hbWVzcGFjZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgcmVtb3ZlZD0iMi42LjEwIiBmaWxlPSJTQVgyIj54bWxTQVgyR2V0TmFtZXNwYWNlPC9zeW1ib2w+CisgICAgPHN5bWJvbCByZW1vdmVkPSIyLjYuMTAiIGZpbGU9IlNBWDIiPnhtbFNBWDJHbG9iYWxOYW1lc3BhY2U8L3N5bWJvbD4KKyAgICA8c3ltYm9sIHJlbW92ZWQ9IjIuNi4xMCIgZmlsZT0iU0FYMiI+eG1sU0FYMk5hbWVzcGFjZURlY2w8L3N5bWJvbD4KKyAgICA8c3ltYm9sIHJlbW92ZWQ9IjIuNi4xMCIgZmlsZT0iU0FYMiI+eG1sU0FYMlNldE5hbWVzcGFjZTwvc3ltYm9sPgorICA8L3JlbGVhc2U+CisgIDxyZWxlYXNlIHZlcnNpb249IjIuNi4xIj4KKyAgICA8c3ltYm9sIGZpbGU9InBhcnNlciI+eG1sQ3R4dFJlc2V0UHVzaDwvc3ltYm9sPgorICA8L3JlbGVhc2U+CisgIDxyZWxlYXNlIHZlcnNpb249IjIuNi4yIj4KKyAgICA8c3ltYm9sIGZpbGU9InBhcnNlckludGVybmFscyI+eG1sQ3JlYXRlVVJMUGFyc2VyQ3R4dDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sc2NoZW1hcyI+eG1sU2NoZW1hTmV3RG9jUGFyc2VyQ3R4dDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sc3RyaW5nIj54bWxTdHJWUHJpbnRmPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4aW5jbHVkZSI+eG1sWEluY2x1ZGVGcmVlQ29udGV4dDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieGluY2x1ZGUiPnhtbFhJbmNsdWRlTmV3Q29udGV4dDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieGluY2x1ZGUiPnhtbFhJbmNsdWRlUHJvY2Vzc05vZGU8L3N5bWJvbD4KKyAgPC9yZWxlYXNlPgorICA8cmVsZWFzZSB2ZXJzaW9uPSIyLjYuMyI+CisgICAgPHN5bWJvbCBmaWxlPSJwYXR0ZXJuIj54bWxGcmVlUGF0dGVybkxpc3Q8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InBhdHRlcm4iPnhtbEZyZWVQYXR0ZXJuPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJwYXR0ZXJuIj54bWxQYXR0ZXJuY29tcGlsZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icGF0dGVybiI+eG1sUGF0dGVybk1hdGNoPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx3cml0ZXIiPnhtbE5ld1RleHRXcml0ZXJEb2M8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHdyaXRlciI+eG1sTmV3VGV4dFdyaXRlclB1c2hQYXJzZXI8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHdyaXRlciI+eG1sTmV3VGV4dFdyaXRlclRyZWU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHJlYWRlciI+eG1sVGV4dFJlYWRlclByZXNlcnZlUGF0dGVybjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sdW5pY29kZSI+eG1sVUNTSXNBZWdlYW5OdW1iZXJzPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx1bmljb2RlIj54bWxVQ1NJc0J1aGlkPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx1bmljb2RlIj54bWxVQ1NJc0NvbWJpbmluZ0RpYWNyaXRpY2FsTWFya3Nmb3JTeW1ib2xzPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx1bmljb2RlIj54bWxVQ1NJc0N5cHJpb3RTeWxsYWJhcnk8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHVuaWNvZGUiPnhtbFVDU0lzQ3lyaWxsaWNTdXBwbGVtZW50PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx1bmljb2RlIj54bWxVQ1NJc0dyZWVrYW5kQ29wdGljPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx1bmljb2RlIj54bWxVQ1NJc0hhbnVub288L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHVuaWNvZGUiPnhtbFVDU0lzS2F0YWthbmFQaG9uZXRpY0V4dGVuc2lvbnM8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHVuaWNvZGUiPnhtbFVDU0lzS2htZXJTeW1ib2xzPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx1bmljb2RlIj54bWxVQ1NJc0xpbWJ1PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx1bmljb2RlIj54bWxVQ1NJc0xpbmVhckJJZGVvZ3JhbXM8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHVuaWNvZGUiPnhtbFVDU0lzTGluZWFyQlN5bGxhYmFyeTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sdW5pY29kZSI+eG1sVUNTSXNNaXNjZWxsYW5lb3VzTWF0aGVtYXRpY2FsU3ltYm9sc0E8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHVuaWNvZGUiPnhtbFVDU0lzTWlzY2VsbGFuZW91c01hdGhlbWF0aWNhbFN5bWJvbHNCPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx1bmljb2RlIj54bWxVQ1NJc01pc2NlbGxhbmVvdXNTeW1ib2xzYW5kQXJyb3dzPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx1bmljb2RlIj54bWxVQ1NJc09zbWFueWE8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHVuaWNvZGUiPnhtbFVDU0lzUGhvbmV0aWNFeHRlbnNpb25zPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx1bmljb2RlIj54bWxVQ1NJc1ByaXZhdGVVc2VBcmVhPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx1bmljb2RlIj54bWxVQ1NJc1NoYXZpYW48L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHVuaWNvZGUiPnhtbFVDU0lzU3VwcGxlbWVudGFsQXJyb3dzQTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sdW5pY29kZSI+eG1sVUNTSXNTdXBwbGVtZW50YWxBcnJvd3NCPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx1bmljb2RlIj54bWxVQ1NJc1N1cHBsZW1lbnRhbE1hdGhlbWF0aWNhbE9wZXJhdG9yczwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sdW5pY29kZSI+eG1sVUNTSXNTdXBwbGVtZW50YXJ5UHJpdmF0ZVVzZUFyZWFBPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx1bmljb2RlIj54bWxVQ1NJc1N1cHBsZW1lbnRhcnlQcml2YXRlVXNlQXJlYUI8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHVuaWNvZGUiPnhtbFVDU0lzVGFnYWxvZzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sdW5pY29kZSI+eG1sVUNTSXNUYWdiYW53YTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sdW5pY29kZSI+eG1sVUNTSXNUYWlMZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sdW5pY29kZSI+eG1sVUNTSXNUYWlYdWFuSmluZ1N5bWJvbHM8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHVuaWNvZGUiPnhtbFVDU0lzVWdhcml0aWM8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHVuaWNvZGUiPnhtbFVDU0lzVmFyaWF0aW9uU2VsZWN0b3JzU3VwcGxlbWVudDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sdW5pY29kZSI+eG1sVUNTSXNWYXJpYXRpb25TZWxlY3RvcnM8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHVuaWNvZGUiPnhtbFVDU0lzWWlqaW5nSGV4YWdyYW1TeW1ib2xzPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4aW5jbHVkZSI+eG1sWEluY2x1ZGVQcm9jZXNzRmxhZ3M8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhpbmNsdWRlIj54bWxYSW5jbHVkZVByb2Nlc3NUcmVlRmxhZ3M8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhpbmNsdWRlIj54bWxYSW5jbHVkZVNldEZsYWdzPC9zeW1ib2w+CisgIDwvcmVsZWFzZT4KKyAgPHJlbGVhc2UgdmVyc2lvbj0iMi42LjUiPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sbWVtb3J5Ij54bWxDbGVhbnVwTWVtb3J5PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJkaWN0Ij54bWxEaWN0Q3JlYXRlU3ViPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJyZWxheG5nIj54bWxSZWxheFBhcnNlclNldEZsYWc8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHN0cmluZyI+eG1sU3RybmNhdE5ldzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sd3JpdGVyIj54bWxUZXh0V3JpdGVyU2V0SW5kZW50U3RyaW5nPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx3cml0ZXIiPnhtbFRleHRXcml0ZXJTZXRJbmRlbnQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhwYXRoIj54bWxYUGF0aEN0eHRDb21waWxlPC9zeW1ib2w+CisgIDwvcmVsZWFzZT4KKyAgPHJlbGVhc2UgdmVyc2lvbj0iMi42LjYiPgorICAgIDxzeW1ib2wgZmlsZT0idHJlZSI+eG1sQXR0clNlcmlhbGl6ZVR4dENvbnRlbnQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InBhcnNlciI+eG1sQnl0ZUNvbnN1bWVkPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxyZWFkZXIiPnhtbFRleHRSZWFkZXJTZXRTdHJ1Y3R1cmVkRXJyb3JIYW5kbGVyPC9zeW1ib2w+CisgIDwvcmVsZWFzZT4KKyAgPHJlbGVhc2UgdmVyc2lvbj0iMi42LjciPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sd3JpdGVyIj54bWxUZXh0V3JpdGVyRW5kQ29tbWVudDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sd3JpdGVyIj54bWxUZXh0V3JpdGVyU3RhcnRDb21tZW50PC9zeW1ib2w+CisgIDwvcmVsZWFzZT4KKyAgPHJlbGVhc2UgdmVyc2lvbj0iMi42LjgiPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sc2F2ZSI+eG1sU2F2ZUNsb3NlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxzYXZlIj54bWxTYXZlRG9jPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxzYXZlIj54bWxTYXZlRmx1c2g8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHNhdmUiPnhtbFNhdmVUb0ZkPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxzYXZlIj54bWxTYXZlVG9GaWxlbmFtZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sc2F2ZSI+eG1sU2F2ZVRvSU88L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHNhdmUiPnhtbFNhdmVUcmVlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx3cml0ZXIiPnhtbFRleHRXcml0ZXJFbmREVERBdHRsaXN0PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx3cml0ZXIiPnhtbFRleHRXcml0ZXJFbmREVERFbGVtZW50PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWx3cml0ZXIiPnhtbFRleHRXcml0ZXJFbmREVERFbnRpdHk8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHdyaXRlciI+eG1sVGV4dFdyaXRlcldyaXRlRFRERXh0ZXJuYWxFbnRpdHlDb250ZW50czwvc3ltYm9sPgorICA8L3JlbGVhc2U+CisgIDxyZWxlYXNlIHZlcnNpb249IjIuNi4xMCI+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxJTyI+eG1sT3V0cHV0QnVmZmVyV3JpdGVFc2NhcGU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbElPIj54bWxQb3BJbnB1dENhbGxiYWNrczwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sc2F2ZSI+eG1sU2F2ZVNldEF0dHJFc2NhcGU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHNhdmUiPnhtbFNhdmVTZXRFc2NhcGU8L3N5bWJvbD4KKyAgPC9yZWxlYXNlPgorICA8cmVsZWFzZSB2ZXJzaW9uPSIyLjYuMTEiPgorICAgIDxzeW1ib2wgZmlsZT0idXJpIj54bWxCdWlsZFJlbGF0aXZlVVJJPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJnbG9iYWxzIj54bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9Imdsb2JhbHMiPnhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lVmFsdWU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9Imdsb2JhbHMiPnhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJnbG9iYWxzIj54bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lVmFsdWU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9Imdsb2JhbHMiPnhtbFRockRlZk91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRGVmYXVsdDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iZ2xvYmFscyI+eG1sVGhyRGVmUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InNjaGVtYXNJbnRlcm5hbHMiPnhtbFNjaGVtYUZyZWVXaWxkY2FyZDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sc2NoZW1hc3R5cGVzIj54bWxTY2hlbWFDb2xsYXBzZVN0cmluZzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sc2NoZW1hc3R5cGVzIj54bWxTY2hlbWFHZXRCdWlsdEluTGlzdFNpbXBsZVR5cGVJdGVtVHlwZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sc2NoZW1hc3R5cGVzIj54bWxTY2hlbWFHZXRCdWlsdEluVHlwZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sc2NoZW1hc3R5cGVzIj54bWxTY2hlbWFJc0J1aWx0SW5UeXBlRmFjZXQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHNjaGVtYXN0eXBlcyI+eG1sU2NoZW1hVmFsaWRhdGVMaXN0U2ltcGxlVHlwZUZhY2V0PC9zeW1ib2w+CisgIDwvcmVsZWFzZT4KKyAgPHJlbGVhc2UgdmVyc2lvbj0iMi42LjEyIj4KKyAgICA8c3ltYm9sIGZpbGU9InBhcnNlciI+eG1sUGFyc2VJbk5vZGVDb250ZXh0PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxzY2hlbWFzdHlwZXMiPnhtbFNjaGVtYUdldEZhY2V0VmFsdWVBc1VMb25nPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxzY2hlbWFzdHlwZXMiPnhtbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHNjaGVtYXN0eXBlcyI+eG1sU2NoZW1hVmFsUHJlZGVmVHlwZU5vZGVOb05vcm08L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHNjaGVtYXMiPnhtbFNjaGVtYUdldFBhcnNlckVycm9yczwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sc2NoZW1hcyI+eG1sU2NoZW1hR2V0VmFsaWRFcnJvcnM8L3N5bWJvbD4KKyAgPC9yZWxlYXNlPgorICA8cmVsZWFzZSB2ZXJzaW9uPSIyLjYuMTQiPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sYXV0b21hdGEiPnhtbEF1dG9tYXRhTmV3Q291bnRUcmFuczI8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbGF1dG9tYXRhIj54bWxBdXRvbWF0YU5ld09uY2VUcmFuczI8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9Im5hbm9odHRwIj54bWxOYW5vSFRUUENvbnRlbnRMZW5ndGg8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHNjaGVtYXMiPnhtbFNjaGVtYVNldFZhbGlkT3B0aW9uczwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sc2NoZW1hcyI+eG1sU2NoZW1hVmFsaWRhdGVPbmVFbGVtZW50PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxzY2hlbWFzIj54bWxTY2hlbWFWYWxpZEN0eHRHZXRPcHRpb25zPC9zeW1ib2w+CisgIDwvcmVsZWFzZT4KKyAgPHJlbGVhc2UgdmVyc2lvbj0iMi42LjE1Ij4KKyAgICA8c3ltYm9sIGZpbGU9ImRlYnVnWE1MIj54bWxEZWJ1Z0NoZWNrRG9jdW1lbnQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InRyZWUiPnhtbERvY0NvcHlOb2RlTGlzdDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idHJlZSI+eG1sTmV3RG9jUEk8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHJlYWRlciI+eG1sVGV4dFJlYWRlckNvbnN0RW5jb2Rpbmc8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHJlYWRlciI+eG1sVGV4dFJlYWRlckNvbnN0WG1sVmVyc2lvbjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1scmVhZGVyIj54bWxUZXh0UmVhZGVySXNOYW1lc3BhY2VEZWNsPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxyZWFkZXIiPnhtbFRleHRSZWFkZXJTdGFuZGFsb25lPC9zeW1ib2w+CisgIDwvcmVsZWFzZT4KKyAgPHJlbGVhc2UgdmVyc2lvbj0iMi42LjE2Ij4KKyAgICA8c3ltYm9sIGZpbGU9InhtbG1lbW9yeSI+eG1sTWVtQmxvY2tzPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJyZWxheG5nIj54bWxSZWxheE5HSW5pdFR5cGVzPC9zeW1ib2w+CisgIDwvcmVsZWFzZT4KKyAgPHJlbGVhc2UgdmVyc2lvbj0iMi42LjE3Ij4KKyAgICA8c3ltYm9sIGZpbGU9ImRpY3QiPnhtbERpY3RFeGlzdHM8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbG1vZHVsZSI+eG1sTW9kdWxlQ2xvc2U8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbG1vZHVsZSI+eG1sTW9kdWxlRnJlZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sbW9kdWxlIj54bWxNb2R1bGVPcGVuPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxtb2R1bGUiPnhtbE1vZHVsZVN5bWJvbDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1scmVnZXhwIj54bWxSZWdFeGVjRXJySW5mbzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1scmVnZXhwIj54bWxSZWdFeGVjTmV4dFZhbHVlczwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sc2NoZW1hc3R5cGVzIj54bWxTY2hlbWFXaGl0ZVNwYWNlUmVwbGFjZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1scmVhZGVyIj54bWxUZXh0UmVhZGVyR2V0UGFyc2VyQ29sdW1uTnVtYmVyPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxyZWFkZXIiPnhtbFRleHRSZWFkZXJHZXRQYXJzZXJMaW5lTnVtYmVyPC9zeW1ib2w+CisgIDwvcmVsZWFzZT4KKyAgPHJlbGVhc2UgdmVyc2lvbj0iMi42LjE4Ij4KKyAgICA8c3ltYm9sIGZpbGU9InZhbGlkIj54bWxDb3B5RG9jRWxlbWVudENvbnRlbnQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InZhbGlkIj54bWxGcmVlRG9jRWxlbWVudENvbnRlbnQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InZhbGlkIj54bWxOZXdEb2NFbGVtZW50Q29udGVudDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iZGljdCI+eG1sRGljdENsZWFudXA8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9Imhhc2giPnhtbEhhc2hDcmVhdGVEaWN0PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJwYXR0ZXJuIj54bWxGcmVlU3RyZWFtQ3R4dDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icGF0dGVybiI+eG1sUGF0dGVybkZyb21Sb290PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJwYXR0ZXJuIj54bWxQYXR0ZXJuR2V0U3RyZWFtQ3R4dDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icGF0dGVybiI+eG1sUGF0dGVybk1heERlcHRoPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJwYXR0ZXJuIj54bWxQYXR0ZXJuU3RyZWFtYWJsZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icGF0dGVybiI+eG1sU3RyZWFtUG9wPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJwYXR0ZXJuIj54bWxTdHJlYW1QdXNoQXR0cjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icGF0dGVybiI+eG1sU3RyZWFtUHVzaDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sc2NoZW1hc3R5cGVzIj54bWxTY2hlbWFDb21wYXJlVmFsdWVzV2h0c3A8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHNjaGVtYXN0eXBlcyI+eG1sU2NoZW1hQ29weVZhbHVlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxzY2hlbWFzdHlwZXMiPnhtbFNjaGVtYUdldENhbm9uVmFsdWU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHNjaGVtYXN0eXBlcyI+eG1sU2NoZW1hTmV3Tk9UQVRJT05WYWx1ZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sc2NoZW1hc3R5cGVzIj54bWxTY2hlbWFOZXdTdHJpbmdWYWx1ZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1scmVhZGVyIj54bWxUZXh0UmVhZGVyQnl0ZUNvbnN1bWVkPC9zeW1ib2w+CisgIDwvcmVsZWFzZT4KKyAgPHJlbGVhc2UgdmVyc2lvbj0iMi42LjE5Ij4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHNjaGVtYXN0eXBlcyI+eG1sU2NoZW1hR2V0VmFsVHlwZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sc2NoZW1hc3R5cGVzIj54bWxTY2hlbWFWYWxpZGF0ZUZhY2V0V2h0c3A8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHNjaGVtYXN0eXBlcyI+eG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldFdodHNwPC9zeW1ib2w+CisgIDwvcmVsZWFzZT4KKyAgPHJlbGVhc2UgdmVyc2lvbj0iMi42LjIwIj4KKyAgICA8c3ltYm9sIGZpbGU9InRyZWUiPnhtbERPTVdyYXBBZG9wdE5vZGU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InRyZWUiPnhtbERPTVdyYXBGcmVlQ3R4dDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idHJlZSI+eG1sRE9NV3JhcE5ld0N0eHQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InRyZWUiPnhtbERPTVdyYXBSZWNvbmNpbGVOYW1lc3BhY2VzPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ0cmVlIj54bWxET01XcmFwUmVtb3ZlTm9kZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sc2NoZW1hc3R5cGVzIj54bWxTY2hlbWFHZXRDYW5vblZhbHVlV2h0c3A8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHNjaGVtYXN0eXBlcyI+eG1sU2NoZW1hTmV3UU5hbWVWYWx1ZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sc2NoZW1hc3R5cGVzIj54bWxTY2hlbWFWYWx1ZUFwcGVuZDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sc2NoZW1hc3R5cGVzIj54bWxTY2hlbWFWYWx1ZUdldEFzQm9vbGVhbjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sc2NoZW1hc3R5cGVzIj54bWxTY2hlbWFWYWx1ZUdldEFzU3RyaW5nPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxzY2hlbWFzdHlwZXMiPnhtbFNjaGVtYVZhbHVlR2V0TmV4dDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sc2NoZW1hcyI+eG1sU2NoZW1hSXNWYWxpZDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sc2NoZW1hcyI+eG1sU2NoZW1hU0FYUGx1Zzwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sc2NoZW1hcyI+eG1sU2NoZW1hU0FYVW5wbHVnPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxzY2hlbWFzIj54bWxTY2hlbWFWYWxpZGF0ZUZpbGU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHJlYWRlciI+eG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxyZWFkZXIiPnhtbFRleHRSZWFkZXJTZXRTY2hlbWE8L3N5bWJvbD4KKyAgPC9yZWxlYXNlPgorICA8cmVsZWFzZSB2ZXJzaW9uPSIyLjYuMjEiPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sYXV0b21hdGEiPnhtbEF1dG9tYXRhTmV3TmVnVHJhbnM8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHJlZ2V4cCI+ZW1wdHlFeHA8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHJlZ2V4cCI+Zm9yYmlkZGVuRXhwPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxyZWdleHAiPnhtbEV4cEN0eHROYkNvbnM8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHJlZ2V4cCI+eG1sRXhwQ3R4dE5iTm9kZXM8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHJlZ2V4cCI+eG1sRXhwRHVtcDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1scmVnZXhwIj54bWxFeHBFeHBEZXJpdmU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHJlZ2V4cCI+eG1sRXhwRnJlZUN0eHQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHJlZ2V4cCI+eG1sRXhwRnJlZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1scmVnZXhwIj54bWxFeHBHZXRMYW5ndWFnZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1scmVnZXhwIj54bWxFeHBHZXRTdGFydDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1scmVnZXhwIj54bWxFeHBJc05pbGxhYmxlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxyZWdleHAiPnhtbEV4cE1heFRva2VuPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxyZWdleHAiPnhtbEV4cE5ld0F0b208L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHJlZ2V4cCI+eG1sRXhwTmV3Q3R4dDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1scmVnZXhwIj54bWxFeHBOZXdPcjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1scmVnZXhwIj54bWxFeHBOZXdSYW5nZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1scmVnZXhwIj54bWxFeHBOZXdTZXE8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHJlZ2V4cCI+eG1sRXhwUGFyc2U8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHJlZ2V4cCI+eG1sRXhwUmVmPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxyZWdleHAiPnhtbEV4cFN0cmluZ0Rlcml2ZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1scmVnZXhwIj54bWxFeHBTdWJzdW1lPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJwYXJzZXIiPnhtbEhhc0ZlYXR1cmU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InVyaSI+eG1sUGFyc2VVUklSYXc8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InBhdHRlcm4iPnhtbFBhdHRlcm5NaW5EZXB0aDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icmVsYXhuZyI+eG1sUmVsYXhOR1NldFZhbGlkU3RydWN0dXJlZEVycm9yczwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sc2NoZW1hcyI+eG1sU2NoZW1hU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJzY2hlbWF0cm9uIj54bWxTY2hlbWF0cm9uRnJlZVBhcnNlckN0eHQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InNjaGVtYXRyb24iPnhtbFNjaGVtYXRyb25GcmVlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJzY2hlbWF0cm9uIj54bWxTY2hlbWF0cm9uRnJlZVZhbGlkQ3R4dDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ic2NoZW1hdHJvbiI+eG1sU2NoZW1hdHJvbk5ld0RvY1BhcnNlckN0eHQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InNjaGVtYXRyb24iPnhtbFNjaGVtYXRyb25OZXdNZW1QYXJzZXJDdHh0PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJzY2hlbWF0cm9uIj54bWxTY2hlbWF0cm9uTmV3UGFyc2VyQ3R4dDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ic2NoZW1hdHJvbiI+eG1sU2NoZW1hdHJvbk5ld1ZhbGlkQ3R4dDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ic2NoZW1hdHJvbiI+eG1sU2NoZW1hdHJvblBhcnNlPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJzY2hlbWF0cm9uIj54bWxTY2hlbWF0cm9uVmFsaWRhdGVEb2M8L3N5bWJvbD4KKyAgPC9yZWxlYXNlPgorICA8cmVsZWFzZSB2ZXJzaW9uPSIyLjYuMjMiPgorICAgIDxzeW1ib2wgZmlsZT0iSFRNTHRyZWUiPmh0bWxEb2NEdW1wTWVtb3J5Rm9ybWF0PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxJTyI+eG1sT3V0cHV0QnVmZmVyQ3JlYXRlQnVmZmVyPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxzYXZlIiBjb21tZW50PSJzdXBwcmVzc2VkIGluIDIuNi4xMSwgcmVhZGRlZCBpbiAyLjYuMjMiPnhtbFNhdmVUb0J1ZmZlcjwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sc2NoZW1hcyI+eG1sU2NoZW1hU2V0UGFyc2VyU3RydWN0dXJlZEVycm9yczwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0icGF0dGVybiI+eG1sU3RyZWFtUHVzaE5vZGU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InBhdHRlcm4iPnhtbFN0cmVhbVdhbnRzQW55Tm9kZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1scmVhZGVyIj54bWxUZXh0UmVhZGVyU2NoZW1hVmFsaWRhdGVDdHh0PC9zeW1ib2w+CisgIDwvcmVsZWFzZT4KKyAgPHJlbGVhc2UgdmVyc2lvbj0iMi42LjI0Ij4KKyAgICA8c3ltYm9sIGZpbGU9InRyZWUiPnhtbERPTVdyYXBDbG9uZU5vZGU8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InJlbGF4bmciPnhtbFJlbGF4TkdTZXRQYXJzZXJTdHJ1Y3R1cmVkRXJyb3JzPC9zeW1ib2w+CisgIDwvcmVsZWFzZT4KKyAgPHJlbGVhc2UgdmVyc2lvbj0iMi42LjI1Ij4KKyAgICA8c3ltYm9sIGZpbGU9InhwYXRoIj54bWxYUGF0aENvbnRleHRTZXRDYWNoZTwvc3ltYm9sPgorICA8L3JlbGVhc2U+CisgIDxyZWxlYXNlIHZlcnNpb249IjIuNi4yNyI+CisgICAgPHN5bWJvbCBmaWxlPSJIVE1McGFyc2VyIj5odG1sTmV3UGFyc2VyQ3R4dDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idXJpIj54bWxQYXRoVG9VUkk8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhpbmNsdWRlIj54bWxYSW5jbHVkZVByb2Nlc3NGbGFnc0RhdGE8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhwYXRoIj54bWxYUGF0aENvbXBpbGVkRXZhbFRvQm9vbGVhbjwvc3ltYm9sPgorICA8L3JlbGVhc2U+CisgIDxyZWxlYXNlIHZlcnNpb249IjIuNi4yOCI+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxyZWFkZXIiPnhtbFRleHRSZWFkZXJTZXR1cDwvc3ltYm9sPgorICA8L3JlbGVhc2U+CisgIDxyZWxlYXNlIHZlcnNpb249IjIuNi4yOSI+CisgICAgPHN5bWJvbCBmaWxlPSJ0aHJlYWRzIj54bWxEbGxNYWluPC9zeW1ib2w+CisgIDwvcmVsZWFzZT4KKyAgPHJlbGVhc2UgdmVyc2lvbj0iMi42LjMyIj4KKyAgICA8c3ltYm9sIGZpbGU9InNjaGVtYXRyb24iPnhtbFNjaGVtYXRyb25TZXRWYWxpZFN0cnVjdHVyZWRFcnJvcnM8L3N5bWJvbD4KKyAgPC9yZWxlYXNlPgorICA8cmVsZWFzZSB2ZXJzaW9uPSIyLjcuMCI+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxtZW1vcnkiPnhtbE1lbURpc3BsYXlMYXN0PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJlbnRpdGllcyI+eG1sTmV3RW50aXR5PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxzY2hlbWFzIj54bWxTY2hlbWFWYWxpZEN0eHRHZXRQYXJzZXJDdHh0PC9zeW1ib2w+CisgIDwvcmVsZWFzZT4KKyAgPHJlbGVhc2UgdmVyc2lvbj0iMi43LjMiPgorICAgIDxzeW1ib2wgZmlsZT0idHJlZSI+eG1sQ2hpbGRFbGVtZW50Q291bnQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InRyZWUiPnhtbEZpcnN0RWxlbWVudENoaWxkPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ0cmVlIj54bWxMYXN0RWxlbWVudENoaWxkPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ0cmVlIj54bWxOZXh0RWxlbWVudFNpYmxpbmc8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InRyZWUiPnhtbFByZXZpb3VzRWxlbWVudFNpYmxpbmc8L3N5bWJvbD4KKyAgPC9yZWxlYXNlPgorICA8cmVsZWFzZSB2ZXJzaW9uPSIyLjcuNCI+CisgICAgPHN5bWJvbCBmaWxlPSJnbG9iYWxzIj54bWxTdHJ1Y3R1cmVkRXJyb3JDb250ZXh0PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4aW5jbHVkZSI+eG1sWEluY2x1ZGVQcm9jZXNzVHJlZUZsYWdzRGF0YTwvc3ltYm9sPgorICA8L3JlbGVhc2U+CisgIDxyZWxlYXNlIHZlcnNpb249IjIuOC4wIj4KKyAgICA8c3ltYm9sIGZpbGU9InhtbHJlYWRlciI+eG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZUN0eHQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InRyZWUiPnhtbEJ1ZmZlckRldGFjaDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iZGljdCI+eG1sSW5pdGlhbGl6ZURpY3Q8L3N5bWJvbD4KKyAgPC9yZWxlYXNlPgorICA8cmVsZWFzZSB2ZXJzaW9uPSIyLjkuMCI+CisgICAgPHN5bWJvbCBmaWxlPSJ0cmVlIj54bWxCdWZDb250ZW50PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ0cmVlIj54bWxCdWZFbmQ8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InRyZWUiPnhtbEJ1ZkdldE5vZGVDb250ZW50PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ0cmVlIj54bWxCdWZOb2RlRHVtcDwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0idHJlZSI+eG1sQnVmU2hyaW5rPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ0cmVlIj54bWxCdWZVc2U8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9ImRpY3QiPnhtbERpY3RHZXRVc2FnZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0iZGljdCI+eG1sRGljdFNldExpbWl0PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxzY2hlbWFzIj54bWxTY2hlbWFWYWxpZGF0ZVNldEZpbGVuYW1lPC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxzY2hlbWFzIj54bWxTY2hlbWFWYWxpZGF0ZVNldExvY2F0b3I8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhtbElPIj54bWxPdXRwdXRCdWZmZXJHZXRDb250ZW50PC9zeW1ib2w+CisgICAgPHN5bWJvbCBmaWxlPSJ4bWxJTyI+eG1sT3V0cHV0QnVmZmVyR2V0U2l6ZTwvc3ltYm9sPgorICAgIDxzeW1ib2wgZmlsZT0ieG1sd3JpdGVyIj54bWxUZXh0V3JpdGVyU2V0UXVvdGVDaGFyPC9zeW1ib2w+CisgIDwvcmVsZWFzZT4KKyAgPHJlbGVhc2UgdmVyc2lvbj0iMi45LjEiPgorICAgIDxzeW1ib2wgZmlsZT0ieHBhdGgiPnhtbFhQYXRoTm9kZUV2YWw8L3N5bWJvbD4KKyAgICA8c3ltYm9sIGZpbGU9InhwYXRoIj54bWxYUGF0aFNldENvbnRleHROb2RlPC9zeW1ib2w+CisgIDwvcmVsZWFzZT4KKzwvc3ltYm9scz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL3N5bXMueHNsIGIvbGlieG1sMi9kb2Mvc3ltcy54c2wKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWJjYTg4ZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL3N5bXMueHNsCkBAIC0wLDAgKzEsOTkgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPHhzbDpzdHlsZXNoZWV0IHhtbG5zOnhzbD0iaHR0cDovL3d3dy53My5vcmcvMTk5OS9YU0wvVHJhbnNmb3JtIgorICAgICAgICAgICAgICAgIHZlcnNpb249IjEuMCI+CisgIDx4c2w6b3V0cHV0IG1ldGhvZD0idGV4dCIgZW5jb2Rpbmc9IlVURi04Ii8+CisKKyAgPHhzbDp2YXJpYWJsZSBuYW1lPSJhcGkiIHNlbGVjdD0iZG9jdW1lbnQoJ2xpYnhtbDItYXBpLnhtbCcpIi8+CisKKyAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iLyI+CisgICAgPHhzbDp0ZXh0PiMKKyMgT2ZmaWNpYWxseSBleHBvcnRlZCBzeW1ib2xzLCBmb3Igd2hpY2ggaGVhZGVyCisjIGZpbGUgZGVmaW5pdGlvbnMgYXJlIGluc3RhbGxlZCBpbiAvdXNyL2luY2x1ZGUvbGlieG1sMgorIworIyBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBmcm9tIHN5bWJvbHMueG1sIGFuZCBzeW1zLnhzbAorIworIyBWZXJzaW9ucyBoZXJlIGFyZSAqZml4ZWQqIHRvIG1hdGNoIHRoZSBsaWJ4bWwyIHZlcnNpb24KKyMgYXQgd2hpY2ggdGhlIHN5bWJvbCB3YXMgaW50cm9kdWNlZC4gVGhpcyBlbnN1cmVzIHRoYXQKKyMgYSBuZXcgY2xpZW50IGFwcCByZXF1aXJpbmcgc3ltYm9sIGZvbygpIGNhbid0IGFjY2lkZW50YWxseQorIyBydW4gd2l0aCBvbGQgbGlieG1sMi5zbyBub3QgcHJvdmlkaW5nIGZvbygpIC0gdGhlIGdsb2JhbAorIyBzb25hbWUgdmVyc2lvbiBpbmZvIGNhbid0IGVuZm9yY2UgdGhpcyBzaW5jZSB3ZSBuZXZlcgorIyBjaGFuZ2UgdGhlIHNvbmFtZQorIworCis8L3hzbDp0ZXh0PgorICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iL3N5bWJvbHMvcmVsZWFzZSIvPgorICA8L3hzbDp0ZW1wbGF0ZT4KKworICA8eHNsOnRlbXBsYXRlIG1hdGNoPSJyZWxlYXNlIj4KKyAgICA8eHNsOnZhcmlhYmxlIG5hbWU9InByZXYiCisgICAgICAgICAgICAgICAgICBzZWxlY3Q9InByZWNlZGluZy1zaWJsaW5nOjpyZWxlYXNlW3Bvc2l0aW9uKCk9MV0iLz4KKyAgICA8eHNsOnRleHQ+TElCWE1MMl88L3hzbDp0ZXh0PgorICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJzdHJpbmcoQHZlcnNpb24pIi8+CisgICAgPHhzbDp0ZXh0PiB7CisgICAgZ2xvYmFsOgorPC94c2w6dGV4dD4KKyAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0ic3ltYm9sIj4KKyAgICAgIDx4c2w6aWYgdGVzdD0ic3RyaW5nKHByZWNlZGluZy1zaWJsaW5nOjpzeW1ib2xbcG9zaXRpb24oKT0xXS9AZmlsZSkgIT0gc3RyaW5nKEBmaWxlKSI+CisgICAgICAgIDx4c2w6dGV4dD4KKyMgPC94c2w6dGV4dD4KKyAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBmaWxlIi8+CisgICAgICAgIDx4c2w6dGV4dD4KKzwveHNsOnRleHQ+CisgICAgICA8L3hzbDppZj4KKworICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSIuIi8+CisgICAgPC94c2w6Zm9yLWVhY2g+CisKKyAgICA8eHNsOnRleHQ+fSA8L3hzbDp0ZXh0PgorICAgIDx4c2w6aWYgdGVzdD0iJHByZXYiPgorICAgICAgPHhzbDp0ZXh0PkxJQlhNTDJfPC94c2w6dGV4dD4KKyAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkcHJldi9AdmVyc2lvbiIvPgorICAgIDwveHNsOmlmPgorICAgIDx4c2w6dGV4dD47CisKKzwveHNsOnRleHQ+CisgIDwveHNsOnRlbXBsYXRlPgorCisgIDx4c2w6dGVtcGxhdGUgbWF0Y2g9InN5bWJvbCI+CisgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJuYW1lIiBzZWxlY3Q9InN0cmluZyguKSIvPgorICAgIDx4c2w6dmFyaWFibGUgbmFtZT0iZmlsZSIgc2VsZWN0PSJzdHJpbmcoQGZpbGUpIi8+CisgICAgPHhzbDpjaG9vc2U+CisgICAgICA8eHNsOndoZW4gdGVzdD0iQHJlbW92ZWQiPgorICAgICAgICA8eHNsOnRleHQ+IyA8L3hzbDp0ZXh0PgorICAgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iJG5hbWUiLz4KKyAgICAgICAgPHhzbDp0ZXh0PjsgcmVtb3ZlZCBpbiA8L3hzbDp0ZXh0PgorICAgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iQHJlbW92ZWQiLz4KKyAgICAgICAgPHhzbDp0ZXh0PgorPC94c2w6dGV4dD4KKyAgICAgIDwveHNsOndoZW4+CisgICAgICA8eHNsOm90aGVyd2lzZT4KKyAgICAgICAgPCEtLSBtYWtlIHN1cmUgd2UgY2FuIGZpbmQgdGhhdCBzeW1ib2wgZXhwb3J0ZWQgZnJvbSB0aGUgQVBJIGxpc3QgLS0+CisgICAgICAgIDx4c2w6dmFyaWFibGUgbmFtZT0iZGVmIgorICAgICAgICAgICAgc2VsZWN0PSIkYXBpL2FwaS9maWxlcy9maWxlW0BuYW1lID0gJGZpbGVdL2V4cG9ydHNbQHN5bWJvbCA9ICRuYW1lXSIvPgorICAgICAgICA8eHNsOmlmIHRlc3Q9InN0cmluZygkZGVmL0BzeW1ib2wpICE9ICRuYW1lIj4KKyAgICAgICAgICA8eHNsOm1lc3NhZ2UgdGVybWluYXRlPSJ5ZXMiPgorICAgICAgICAgICAgPHhzbDp0ZXh0PkZhaWxlZCB0byBmaW5kIGRlZmluaXRpb24gaW4gbGlieG1sMi1hcGkueG1sOjwveHNsOnRleHQ+CisgICAgICAgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iJG5hbWUiLz4KKyAgICAgICAgICA8L3hzbDptZXNzYWdlPgorICAgICAgICA8L3hzbDppZj4KKworICAgICAgICA8eHNsOnRleHQ+ICA8L3hzbDp0ZXh0PgorICAgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iJG5hbWUiLz4KKyAgICAgICAgPHhzbDp0ZXh0Pjs8L3hzbDp0ZXh0PgorICAgICAgICA8eHNsOmlmIHRlc3Q9IiRkZWYvQHR5cGUgPSAndmFyaWFibGUnIj4KKyAgICAgICAgICA8eHNsOnRleHQ+ICMgdmFyaWFibGU8L3hzbDp0ZXh0PgorICAgICAgICA8L3hzbDppZj4KKyAgICAgICAgPHhzbDppZiB0ZXN0PSJAY29tbWVudCI+CisgICAgICAgICAgPHhzbDp0ZXh0PiMgPC94c2w6dGV4dD4KKyAgICAgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iQGNvbW1lbnQiLz4KKyAgICAgICAgICA8eHNsOnRleHQ+Cis8L3hzbDp0ZXh0PgorICAgICAgICA8L3hzbDppZj4KKyAgICAgICAgPHhzbDp0ZXh0PgorPC94c2w6dGV4dD4KKyAgICAgIDwveHNsOm90aGVyd2lzZT4KKyAgICA8L3hzbDpjaG9vc2U+CisgIDwveHNsOnRlbXBsYXRlPgorCis8L3hzbDpzdHlsZXNoZWV0PgorCmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy90aHJlYWRzLmh0bWwgYi9saWJ4bWwyL2RvYy90aHJlYWRzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjdhYzk1NwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL3RocmVhZHMuaHRtbApAQCAtMCwwICsxLDMwIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPgorPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPjxoZWFkPjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPjxsaW5rIHJlbD0iU0hPUlRDVVQgSUNPTiIgaHJlZj0iL2Zhdmljb24uaWNvIiAvPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CitURCB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorQk9EWSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhOyBtYXJnaW4tdG9wOiAyZW07IG1hcmdpbi1sZWZ0OiAwZW07IG1hcmdpbi1yaWdodDogMGVtfQorSDEge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gyIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMyB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorQTpsaW5rLCBBOnZpc2l0ZWQsIEE6YWN0aXZlIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgfQorPC9zdHlsZT48dGl0bGU+VGhyZWFkIHNhZmV0eTwvdGl0bGU+PC9oZWFkPjxib2R5IGJnY29sb3I9IiM4Yjc3NjUiIHRleHQ9IiMwMDAwMDAiIGxpbms9IiNhMDYwNjAiIHZsaW5rPSIjMDAwMDAwIj48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iMTAwJSIgY2VsbHBhZGRpbmc9IjUiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIHdpZHRoPSIxMjAiPjxhIGhyZWY9Imh0dHA6Ly9zd3BhdC5mZmlpLm9yZy8iPjxpbWcgc3JjPSJlcGF0ZW50cy5wbmciIGFsdD0iQWN0aW9uIGFnYWluc3Qgc29mdHdhcmUgcGF0ZW50cyIgLz48L2E+PC90ZD48dGQgd2lkdGg9IjE4MCI+PGEgaHJlZj0iaHR0cDovL3d3dy5nbm9tZS5vcmcvIj48aW1nIHNyYz0iZ25vbWUyLnBuZyIgYWx0PSJHbm9tZTIgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvU3RhdHVzIj48aW1nIHNyYz0idzNjLnBuZyIgYWx0PSJXM0MgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy5yZWRoYXQuY29tLyI+PGltZyBzcmM9InJlZGhhdC5naWYiIGFsdD0iUmVkIEhhdCBMb2dvIiAvPjwvYT48ZGl2IGFsaWduPSJsZWZ0Ij48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvIj48aW1nIHNyYz0iTGlieG1sMi1Mb2dvLTE4MHgxNjguZ2lmIiBhbHQ9Ik1hZGUgd2l0aCBMaWJ4bWwyIExvZ28iIC8+PC9hPjwvZGl2PjwvdGQ+PHRkPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSI5MCUiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIiBiZ2NvbG9yPSIjZmZmYWNkIj48dHI+PHRkIGFsaWduPSJjZW50ZXIiPjxoMT5UaGUgWE1MIEMgcGFyc2VyIGFuZCB0b29sa2l0IG9mIEdub21lPC9oMT48aDI+VGhyZWFkIHNhZmV0eTwvaDI+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjQiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiIHdpZHRoPSIxMDAlIj48dHI+PHRkIHZhbGlnbj0idG9wIiB3aWR0aD0iMjAwIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5EZXZlbG9wZXIgTWVudTwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48Zm9ybSBhY3Rpb249InNlYXJjaC5waHAiIGVuY3R5cGU9ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIgbWV0aG9kPSJnZXQiPjxpbnB1dCBuYW1lPSJxdWVyeSIgdHlwZT0idGV4dCIgc2l6ZT0iMjAiIHZhbHVlPSIiIC8+PGlucHV0IG5hbWU9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU2VhcmNoIC4uLiIgLz48L2Zvcm0+PHVsPjxsaT48YSBocmVmPSJpbmRleC5odG1sIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+TWFpbiBNZW51PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0bWwvaW5kZXguaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPlJlZmVyZW5jZSBNYW51YWw8L2E+PC9saT48bGk+PGEgaHJlZj0iZXhhbXBsZXMvaW5kZXguaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPkNvZGUgRXhhbXBsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iZ3VpZGVsaW5lcy5odG1sIj5YTUwgR3VpZGVsaW5lczwvYT48L2xpPjxsaT48YSBocmVmPSJ0dXRvcmlhbC9pbmRleC5odG1sIj5UdXRvcmlhbDwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWxyZWFkZXIuaHRtbCI+VGhlIFJlYWRlciBJbnRlcmZhY2U8L2E+PC9saT48bGk+PGEgaHJlZj0iQ2hhbmdlTG9nLmh0bWwiPkNoYW5nZUxvZzwvYT48L2xpPjxsaT48YSBocmVmPSJYU0xULmh0bWwiPlhTTFQ8L2E+PC9saT48bGk+PGEgaHJlZj0icHl0aG9uLmh0bWwiPlB5dGhvbiBhbmQgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iYXJjaGl0ZWN0dXJlLmh0bWwiPmxpYnhtbDIgYXJjaGl0ZWN0dXJlPC9hPjwvbGk+PGxpPjxhIGhyZWY9InRyZWUuaHRtbCI+VGhlIHRyZWUgb3V0cHV0PC9hPjwvbGk+PGxpPjxhIGhyZWY9ImludGVyZmFjZS5odG1sIj5UaGUgU0FYIGludGVyZmFjZTwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWxtZW0uaHRtbCI+TWVtb3J5IE1hbmFnZW1lbnQ8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1saW8uaHRtbCI+SS9PIEludGVyZmFjZXM8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlicmFyeS5odG1sIj5UaGUgcGFyc2VyIGludGVyZmFjZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iZW50aXRpZXMuaHRtbCI+RW50aXRpZXMgb3Igbm8gZW50aXRpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0ibmFtZXNwYWNlcy5odG1sIj5OYW1lc3BhY2VzPC9hPjwvbGk+PGxpPjxhIGhyZWY9InVwZ3JhZGUuaHRtbCI+VXBncmFkaW5nIDEueCBjb2RlPC9hPjwvbGk+PGxpPjxhIGhyZWY9InRocmVhZHMuaHRtbCI+VGhyZWFkIHNhZmV0eTwvYT48L2xpPjxsaT48YSBocmVmPSJET00uaHRtbCI+RE9NIFByaW5jaXBsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iZXhhbXBsZS5odG1sIj5BIHJlYWwgZXhhbXBsZTwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWwuaHRtbCI+ZmxhdCBwYWdlPC9hPiwgPGEgaHJlZj0ic2l0ZS54c2wiPnN0eWxlc2hlZXQ8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5BUEkgSW5kZXhlczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9IkFQSWNodW5rMC5odG1sIj5BbHBoYWJldGljPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkFQSWNvbnN0cnVjdG9ycy5odG1sIj5Db25zdHJ1Y3RvcnM8L2E+PC9saT48bGk+PGEgaHJlZj0iQVBJZnVuY3Rpb25zLmh0bWwiPkZ1bmN0aW9ucy9UeXBlczwvYT48L2xpPjxsaT48YSBocmVmPSJBUElmaWxlcy5odG1sIj5Nb2R1bGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkFQSXN5bWJvbHMuaHRtbCI+U3ltYm9sczwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPlJlbGF0ZWQgbGlua3M8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSJodHRwOi8vbWFpbC5nbm9tZS5vcmcvYXJjaGl2ZXMveG1sLyI+TWFpbCBhcmNoaXZlPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9YU0xULyI+WFNMVCBsaWJ4c2x0PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9waGQuY3MudW5pYm8uaXQvZ2RvbWUyLyI+RE9NIGdkb21lMjwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmFsZWtzZXkuY29tL3htbHNlYy8iPlhNTC1EU2lnIHhtbHNlYzwvYT48L2xpPjxsaT48YSBocmVmPSJmdHA6Ly94bWxzb2Z0Lm9yZy8iPkZUUDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnpsYXRrb3ZpYy5jb20vcHJvamVjdHMvbGlieG1sLyI+V2luZG93cyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vb3BlbmNzdy5vcmcvcGFja2FnZXMvbGlieG1sMiI+U29sYXJpcyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmV4cGxhaW4uY29tLmF1L29zcy9saWJ4bWwyeHNsdC5odG1sIj5NYWNPc1ggYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2x4bWwuZGUvIj5seG1sIFB5dGhvbiBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vY3Bhbi51d2lubmlwZWcuY2EvZGlzdC9YTUwtTGliWE1MIj5QZXJsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWxwbHVzcGx1cy5zb3VyY2Vmb3JnZS5uZXQvIj5DKysgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56ZW5kLmNvbS9waHA1L2FydGljbGVzL3BocDUteG1scGhwLnBocCNIZWFkaW5nNCI+UEhQIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbGlieG1sMi1wYXMvIj5QYXNjYWwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbC5ydWJ5Zm9yZ2Uub3JnLyI+UnVieSBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vdGNseG1sLnNvdXJjZWZvcmdlLm5ldC8iPlRjbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2J1Z2xpc3QuY2dpP3Byb2R1Y3Q9bGlieG1sMiI+QnVnIFRyYWNrZXI8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48cD5TdGFydGluZyB3aXRoIDIuNC43LCBsaWJ4bWwyIG1ha2VzIHByb3Zpc2lvbnMgdG8gZW5zdXJlIHRoYXQgY29uY3VycmVudAordGhyZWFkcyBjYW4gc2FmZWx5IHdvcmsgaW4gcGFyYWxsZWwgcGFyc2luZyBkaWZmZXJlbnQgZG9jdW1lbnRzLiBUaGVyZSBpcworaG93ZXZlciBhIGNvdXBsZSBvZiB0aGluZ3MgdG8gZG8gdG8gZW5zdXJlIGl0OjwvcD48dWw+CisgIDxsaT5jb25maWd1cmUgdGhlIGxpYnJhcnkgYWNjb3JkaW5nbHkgdXNpbmcgdGhlIC0td2l0aC10aHJlYWRzIG9wdGlvbnM8L2xpPgorICA8bGk+Y2FsbCB4bWxJbml0UGFyc2VyKCkgaW4gdGhlICJtYWluIiB0aHJlYWQgYmVmb3JlIHVzaW5nIGFueSBvZiB0aGUKKyAgICBsaWJ4bWwyIEFQSSAoZXhjZXB0IHBvc3NpYmx5IHNlbGVjdGluZyBhIGRpZmZlcmVudCBtZW1vcnkgYWxsb2NhdG9yKTwvbGk+Cis8L3VsPjxwPk5vdGUgdGhhdCB0aGUgdGhyZWFkIHNhZmV0eSBjYW5ub3QgYmUgZW5zdXJlZCBmb3IgbXVsdGlwbGUgdGhyZWFkcyBzaGFyaW5nCit0aGUgc2FtZSBkb2N1bWVudCwgdGhlIGxvY2tpbmcgbXVzdCBiZSBkb25lIGF0IHRoZSBhcHBsaWNhdGlvbiBsZXZlbCwgbGlieG1sCitleHBvcnRzIGEgYmFzaWMgbXV0ZXggYW5kIHJlZW50cmFudCBtdXRleGVzIEFQSSBpbiAmbHQ7bGlieG1sL3RocmVhZHMuaCZndDsuCitUaGUgcGFydHMgb2YgdGhlIGxpYnJhcnkgY2hlY2tlZCBmb3IgdGhyZWFkIHNhZmV0eSBhcmU6PC9wPjx1bD4KKyAgPGxpPmNvbmN1cnJlbnQgbG9hZGluZzwvbGk+CisgIDxsaT5maWxlIGFjY2VzcyByZXNvbHV0aW9uPC9saT4KKyAgPGxpPmNhdGFsb2cgYWNjZXNzPC9saT4KKyAgPGxpPmNhdGFsb2cgYnVpbGRpbmc8L2xpPgorICA8bGk+ZW50aXRpZXMgbG9va3VwL2FjY2Vzc2VzPC9saT4KKyAgPGxpPnZhbGlkYXRpb248L2xpPgorICA8bGk+Z2xvYmFsIHZhcmlhYmxlcyBwZXItdGhyZWFkIG92ZXJyaWRlPC9saT4KKyAgPGxpPm1lbW9yeSBoYW5kbGluZzwvbGk+Cis8L3VsPjxwPlhQYXRoIGhhcyBiZWVuIHRlc3RlZCBmb3IgdGhyZWFkZWQgdXNhZ2Ugb24gbm9uLW1vZGlmaWVkIGRvY3VtZW50CisgICBmb3IgZXhhbXBsZSB3aGVuIHVzaW5nIGxpYnhzbHQsIGJ1dCBtYWtlIDEwMCUgc3VyZSB0aGUgZG9jdW1lbnRzCisgICBhcmUgYWNjZXNzZWQgcmVhZC1vbmx5ICE8L3A+PHA+PGEgaHJlZj0iYnVncy5odG1sIj5EYW5pZWwgVmVpbGxhcmQ8L2E+PC9wPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy90cmVlLmh0bWwgYi9saWJ4bWwyL2RvYy90cmVlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2QyODlkOAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL3RyZWUuaHRtbApAQCAtMCwwICsxLDUzIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPgorPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPjxoZWFkPjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPjxsaW5rIHJlbD0iU0hPUlRDVVQgSUNPTiIgaHJlZj0iL2Zhdmljb24uaWNvIiAvPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CitURCB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorQk9EWSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhOyBtYXJnaW4tdG9wOiAyZW07IG1hcmdpbi1sZWZ0OiAwZW07IG1hcmdpbi1yaWdodDogMGVtfQorSDEge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gyIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMyB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorQTpsaW5rLCBBOnZpc2l0ZWQsIEE6YWN0aXZlIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgfQorPC9zdHlsZT48dGl0bGU+VGhlIHRyZWUgb3V0cHV0PC90aXRsZT48L2hlYWQ+PGJvZHkgYmdjb2xvcj0iIzhiNzc2NSIgdGV4dD0iIzAwMDAwMCIgbGluaz0iI2EwNjA2MCIgdmxpbms9IiMwMDAwMDAiPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSIxMDAlIiBjZWxscGFkZGluZz0iNSIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgd2lkdGg9IjEyMCI+PGEgaHJlZj0iaHR0cDovL3N3cGF0LmZmaWkub3JnLyI+PGltZyBzcmM9ImVwYXRlbnRzLnBuZyIgYWx0PSJBY3Rpb24gYWdhaW5zdCBzb2Z0d2FyZSBwYXRlbnRzIiAvPjwvYT48L3RkPjx0ZCB3aWR0aD0iMTgwIj48YSBocmVmPSJodHRwOi8vd3d3Lmdub21lLm9yZy8iPjxpbWcgc3JjPSJnbm9tZTIucG5nIiBhbHQ9Ikdub21lMiBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9TdGF0dXMiPjxpbWcgc3JjPSJ3M2MucG5nIiBhbHQ9IlczQyBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnJlZGhhdC5jb20vIj48aW1nIHNyYz0icmVkaGF0LmdpZiIgYWx0PSJSZWQgSGF0IExvZ28iIC8+PC9hPjxkaXYgYWxpZ249ImxlZnQiPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy8iPjxpbWcgc3JjPSJMaWJ4bWwyLUxvZ28tMTgweDE2OC5naWYiIGFsdD0iTWFkZSB3aXRoIExpYnhtbDIgTG9nbyIgLz48L2E+PC9kaXY+PC90ZD48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjkwJSIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiIGJnY29sb3I9IiNmZmZhY2QiPjx0cj48dGQgYWxpZ249ImNlbnRlciI+PGgxPlRoZSBYTUwgQyBwYXJzZXIgYW5kIHRvb2xraXQgb2YgR25vbWU8L2gxPjxoMj5UaGUgdHJlZSBvdXRwdXQ8L2gyPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI0IiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCB2YWxpZ249InRvcCIgd2lkdGg9IjIwMCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+RGV2ZWxvcGVyIE1lbnU8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PGZvcm0gYWN0aW9uPSJzZWFyY2gucGhwIiBlbmN0eXBlPSJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiIG1ldGhvZD0iZ2V0Ij48aW5wdXQgbmFtZT0icXVlcnkiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iIiAvPjxpbnB1dCBuYW1lPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNlYXJjaCAuLi4iIC8+PC9mb3JtPjx1bD48bGk+PGEgaHJlZj0iaW5kZXguaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPk1haW4gTWVudTwvYT48L2xpPjxsaT48YSBocmVmPSJodG1sL2luZGV4Lmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5SZWZlcmVuY2UgTWFudWFsPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImV4YW1wbGVzL2luZGV4Lmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5Db2RlIEV4YW1wbGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imd1aWRlbGluZXMuaHRtbCI+WE1MIEd1aWRlbGluZXM8L2E+PC9saT48bGk+PGEgaHJlZj0idHV0b3JpYWwvaW5kZXguaHRtbCI+VHV0b3JpYWw8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1scmVhZGVyLmh0bWwiPlRoZSBSZWFkZXIgSW50ZXJmYWNlPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkNoYW5nZUxvZy5odG1sIj5DaGFuZ2VMb2c8L2E+PC9saT48bGk+PGEgaHJlZj0iWFNMVC5odG1sIj5YU0xUPC9hPjwvbGk+PGxpPjxhIGhyZWY9InB5dGhvbi5odG1sIj5QeXRob24gYW5kIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImFyY2hpdGVjdHVyZS5odG1sIj5saWJ4bWwyIGFyY2hpdGVjdHVyZTwvYT48L2xpPjxsaT48YSBocmVmPSJ0cmVlLmh0bWwiPlRoZSB0cmVlIG91dHB1dDwvYT48L2xpPjxsaT48YSBocmVmPSJpbnRlcmZhY2UuaHRtbCI+VGhlIFNBWCBpbnRlcmZhY2U8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1sbWVtLmh0bWwiPk1lbW9yeSBNYW5hZ2VtZW50PC9hPjwvbGk+PGxpPjxhIGhyZWY9InhtbGlvLmh0bWwiPkkvTyBJbnRlcmZhY2VzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnJhcnkuaHRtbCI+VGhlIHBhcnNlciBpbnRlcmZhY2VzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImVudGl0aWVzLmh0bWwiPkVudGl0aWVzIG9yIG5vIGVudGl0aWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Im5hbWVzcGFjZXMuaHRtbCI+TmFtZXNwYWNlczwvYT48L2xpPjxsaT48YSBocmVmPSJ1cGdyYWRlLmh0bWwiPlVwZ3JhZGluZyAxLnggY29kZTwvYT48L2xpPjxsaT48YSBocmVmPSJ0aHJlYWRzLmh0bWwiPlRocmVhZCBzYWZldHk8L2E+PC9saT48bGk+PGEgaHJlZj0iRE9NLmh0bWwiPkRPTSBQcmluY2lwbGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImV4YW1wbGUuaHRtbCI+QSByZWFsIGV4YW1wbGU8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1sLmh0bWwiPmZsYXQgcGFnZTwvYT4sIDxhIGhyZWY9InNpdGUueHNsIj5zdHlsZXNoZWV0PC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+QVBJIEluZGV4ZXM8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSJBUEljaHVuazAuaHRtbCI+QWxwaGFiZXRpYzwvYT48L2xpPjxsaT48YSBocmVmPSJBUEljb25zdHJ1Y3RvcnMuaHRtbCI+Q29uc3RydWN0b3JzPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkFQSWZ1bmN0aW9ucy5odG1sIj5GdW5jdGlvbnMvVHlwZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iQVBJZmlsZXMuaHRtbCI+TW9kdWxlczwvYT48L2xpPjxsaT48YSBocmVmPSJBUElzeW1ib2xzLmh0bWwiPlN5bWJvbHM8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5SZWxhdGVkIGxpbmtzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iaHR0cDovL21haWwuZ25vbWUub3JnL2FyY2hpdmVzL3htbC8iPk1haWwgYXJjaGl2ZTwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvWFNMVC8iPlhTTFQgbGlieHNsdDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vcGhkLmNzLnVuaWJvLml0L2dkb21lMi8iPkRPTSBnZG9tZTI8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5hbGVrc2V5LmNvbS94bWxzZWMvIj5YTUwtRFNpZyB4bWxzZWM8L2E+PC9saT48bGk+PGEgaHJlZj0iZnRwOi8veG1sc29mdC5vcmcvIj5GVFA8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56bGF0a292aWMuY29tL3Byb2plY3RzL2xpYnhtbC8iPldpbmRvd3MgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL29wZW5jc3cub3JnL3BhY2thZ2VzL2xpYnhtbDIiPlNvbGFyaXMgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5leHBsYWluLmNvbS5hdS9vc3MvbGlieG1sMnhzbHQuaHRtbCI+TWFjT3NYIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9seG1sLmRlLyI+bHhtbCBQeXRob24gYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2NwYW4udXdpbm5pcGVnLmNhL2Rpc3QvWE1MLUxpYlhNTCI+UGVybCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1scGx1c3BsdXMuc291cmNlZm9yZ2UubmV0LyI+QysrIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemVuZC5jb20vcGhwNS9hcnRpY2xlcy9waHA1LXhtbHBocC5waHAjSGVhZGluZzQiPlBIUCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2xpYnhtbDItcGFzLyI+UGFzY2FsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWwucnVieWZvcmdlLm9yZy8iPlJ1YnkgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3RjbHhtbC5zb3VyY2Vmb3JnZS5uZXQvIj5UY2wgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9idWdsaXN0LmNnaT9wcm9kdWN0PWxpYnhtbDIiPkJ1ZyBUcmFja2VyPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIzIiBjZWxsc3BhY2luZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHA+VGhlIHBhcnNlciByZXR1cm5zIGEgdHJlZSBidWlsdCBkdXJpbmcgdGhlIGRvY3VtZW50IGFuYWx5c2lzLiBUaGUgdmFsdWUKK3JldHVybmVkIGlzIGFuIDxzdHJvbmc+eG1sRG9jUHRyPC9zdHJvbmc+IChpLmUuLCBhIHBvaW50ZXIgdG8gYW4KKzxzdHJvbmc+eG1sRG9jPC9zdHJvbmc+IHN0cnVjdHVyZSkuIFRoaXMgc3RydWN0dXJlIGNvbnRhaW5zIGluZm9ybWF0aW9uIHN1Y2gKK2FzIHRoZSBmaWxlIG5hbWUsIHRoZSBkb2N1bWVudCB0eXBlLCBhbmQgYSA8c3Ryb25nPmNoaWxkcmVuPC9zdHJvbmc+IHBvaW50ZXIKK3doaWNoIGlzIHRoZSByb290IG9mIHRoZSBkb2N1bWVudCAob3IgbW9yZSBleGFjdGx5IHRoZSBmaXJzdCBjaGlsZCB1bmRlciB0aGUKK3Jvb3Qgd2hpY2ggaXMgdGhlIGRvY3VtZW50KS4gVGhlIHRyZWUgaXMgbWFkZSBvZiA8c3Ryb25nPnhtbE5vZGU8L3N0cm9uZz5zLAorY2hhaW5lZCBpbiBkb3VibGUtbGlua2VkIGxpc3RzIG9mIHNpYmxpbmdzIGFuZCB3aXRoIGEgY2hpbGRyZW4mbHQ7LSZndDtwYXJlbnQKK3JlbGF0aW9uc2hpcC4gQW4geG1sTm9kZSBjYW4gYWxzbyBjYXJyeSBwcm9wZXJ0aWVzIChhIGNoYWluIG9mIHhtbEF0dHIKK3N0cnVjdHVyZXMpLiBBbiBhdHRyaWJ1dGUgbWF5IGhhdmUgYSB2YWx1ZSB3aGljaCBpcyBhIGxpc3Qgb2YgVEVYVCBvcgorRU5USVRZX1JFRiBub2Rlcy48L3A+PHA+SGVyZSBpcyBhbiBleGFtcGxlIChlcnJvbmVvdXMgd2l0aCByZXNwZWN0IHRvIHRoZSBYTUwgc3BlYyBzaW5jZSB0aGVyZQorc2hvdWxkIGJlIG9ubHkgb25lIEVMRU1FTlQgdW5kZXIgdGhlIHJvb3QpOjwvcD48cD48aW1nIHNyYz0ic3RydWN0dXJlLmdpZiIgYWx0PSIgc3RydWN0dXJlLmdpZiAiIC8+PC9wPjxwPkluIHRoZSBzb3VyY2UgcGFja2FnZSB0aGVyZSBpcyBhIHNtYWxsIHByb2dyYW0gKG5vdCBpbnN0YWxsZWQgYnkgZGVmYXVsdCkKK2NhbGxlZCA8c3Ryb25nPnhtbGxpbnQ8L3N0cm9uZz4gd2hpY2ggcGFyc2VzIFhNTCBmaWxlcyBnaXZlbiBhcyBhcmd1bWVudCBhbmQKK3ByaW50cyB0aGVtIGJhY2sgYXMgcGFyc2VkLiBUaGlzIGlzIHVzZWZ1bCBmb3IgZGV0ZWN0aW5nIGVycm9ycyBib3RoIGluIFhNTAorY29kZSBhbmQgaW4gdGhlIFhNTCBwYXJzZXIgaXRzZWxmLiBJdCBoYXMgYW4gb3B0aW9uIDxzdHJvbmc+LS1kZWJ1Zzwvc3Ryb25nPgord2hpY2ggcHJpbnRzIHRoZSBhY3R1YWwgaW4tbWVtb3J5IHN0cnVjdHVyZSBvZiB0aGUgZG9jdW1lbnQ7IGhlcmUgaXMgdGhlCityZXN1bHQgd2l0aCB0aGUgPGEgaHJlZj0iI2V4YW1wbGUiPmV4YW1wbGU8L2E+IGdpdmVuIGJlZm9yZTo8L3A+PHByZT5ET0NVTUVOVAordmVyc2lvbj0xLjAKK3N0YW5kYWxvbmU9dHJ1ZQorICBFTEVNRU5UIEVYQU1QTEUKKyAgICBBVFRSSUJVVEUgcHJvcDEKKyAgICAgIFRFWFQKKyAgICAgIGNvbnRlbnQ9Z25vbWUgaXMgZ3JlYXQKKyAgICBBVFRSSUJVVEUgcHJvcDIKKyAgICAgIEVOVElUWV9SRUYKKyAgICAgIFRFWFQKKyAgICAgIGNvbnRlbnQ9IGxpbnV4IHRvbyAKKyAgICBFTEVNRU5UIGhlYWQKKyAgICAgIEVMRU1FTlQgdGl0bGUKKyAgICAgICAgVEVYVAorICAgICAgICBjb250ZW50PVdlbGNvbWUgdG8gR25vbWUKKyAgICBFTEVNRU5UIGNoYXB0ZXIKKyAgICAgIEVMRU1FTlQgdGl0bGUKKyAgICAgICAgVEVYVAorICAgICAgICBjb250ZW50PVRoZSBMaW51eCBhZHZlbnR1cmUKKyAgICAgIEVMRU1FTlQgcAorICAgICAgICBURVhUCisgICAgICAgIGNvbnRlbnQ9YmxhIGJsYSBibGEgLi4uCisgICAgICBFTEVNRU5UIGltYWdlCisgICAgICAgIEFUVFJJQlVURSBocmVmCisgICAgICAgICAgVEVYVAorICAgICAgICAgIGNvbnRlbnQ9bGludXMuZ2lmCisgICAgICBFTEVNRU5UIHAKKyAgICAgICAgVEVYVAorICAgICAgICBjb250ZW50PS4uLjwvcHJlPjxwPlRoaXMgc2hvdWxkIGJlIHVzZWZ1bCBmb3IgbGVhcm5pbmcgdGhlIGludGVybmFsIHJlcHJlc2VudGF0aW9uIG1vZGVsLjwvcD48cD48YSBocmVmPSJidWdzLmh0bWwiPkRhbmllbCBWZWlsbGFyZDwvYT48L3A+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2FwYS5odG1sIGIvbGlieG1sMi9kb2MvdHV0b3JpYWwvYXBhLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTY0ZTE1ZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2FwYS5odG1sCkBAIC0wLDAgKzEsOCBAQAorPGh0bWw+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9SVNPLTg4NTktMSI+PHRpdGxlPkEuoENvbXBpbGF0aW9uPC90aXRsZT48bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9IkRvY0Jvb2sgWFNMIFN0eWxlc2hlZXRzIFYxLjYxLjIiPjxsaW5rIHJlbD0iaG9tZSIgaHJlZj0iaW5kZXguaHRtbCIgdGl0bGU9IkxpYnhtbCBUdXRvcmlhbCI+PGxpbmsgcmVsPSJ1cCIgaHJlZj0iaW5kZXguaHRtbCIgdGl0bGU9IkxpYnhtbCBUdXRvcmlhbCI+PGxpbmsgcmVsPSJwcmV2aW91cyIgaHJlZj0iYXIwMXMwOS5odG1sIiB0aXRsZT0iRW5jb2RpbmcgQ29udmVyc2lvbiI+PGxpbmsgcmVsPSJuZXh0IiBocmVmPSJhcGIuaHRtbCIgdGl0bGU9IkIuoFNhbXBsZSBEb2N1bWVudCI+PC9oZWFkPjxib2R5IGJnY29sb3I9IndoaXRlIiB0ZXh0PSJibGFjayIgbGluaz0iIzAwMDBGRiIgdmxpbms9IiM4NDAwODQiIGFsaW5rPSIjMDAwMEZGIj48ZGl2IGNsYXNzPSJuYXZoZWFkZXIiPjx0YWJsZSB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBoZWFkZXIiPjx0cj48dGggY29sc3Bhbj0iMyIgYWxpZ249ImNlbnRlciI+QS6gQ29tcGlsYXRpb248L3RoPjwvdHI+PHRyPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0ibGVmdCI+PGEgYWNjZXNza2V5PSJwIiBocmVmPSJhcjAxczA5Lmh0bWwiPlByZXY8L2E+oDwvdGQ+PHRoIHdpZHRoPSI2MCUiIGFsaWduPSJjZW50ZXIiPqA8L3RoPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0icmlnaHQiPqA8YSBhY2Nlc3NrZXk9Im4iIGhyZWY9ImFwYi5odG1sIj5OZXh0PC9hPjwvdGQ+PC90cj48L3RhYmxlPjxocj48L2Rpdj48ZGl2IGNsYXNzPSJhcHBlbmRpeCIgbGFuZz0iZW4iPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMiBjbGFzcz0idGl0bGUiPjxhIG5hbWU9ImNvbXBpbGF0aW9uIj48L2E+QS6gQ29tcGlsYXRpb248L2gyPjwvZGl2PjwvZGl2PjxkaXY+PC9kaXY+PC9kaXY+PHA+PGEgY2xhc3M9ImluZGV4dGVybSIgbmFtZT0iaWQyNTg3NjcwIj48L2E+CisgICAgICA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkxpYnhtbDwvc3Bhbj4gaW5jbHVkZXMgYSBzY3JpcHQsCisgICAgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj54bWwyLWNvbmZpZzwvc3Bhbj4sIHRoYXQgY2FuIGJlIHVzZWQgdG8gZ2VuZXJhdGUKKyAgICBmbGFncyBmb3IgY29tcGlsYXRpb24gYW5kIGxpbmtpbmcgb2YgcHJvZ3JhbXMgd3JpdHRlbiB3aXRoIHRoZQorICAgICAgbGlicmFyeS4gRm9yIHByZS1wcm9jZXNzb3IgYW5kIGNvbXBpbGVyIGZsYWdzLCB1c2UgPGIgY2xhc3M9ImNvbW1hbmQiPnhtbDItY29uZmlnCisJLS1jZmxhZ3M8L2I+LiBGb3IgbGlicmFyeSBsaW5raW5nIGZsYWdzLCB1c2UgPGIgY2xhc3M9ImNvbW1hbmQiPnhtbDItY29uZmlnCisJLS1saWJzPC9iPi4gT3RoZXIgb3B0aW9ucyBhcmUgYXZhaWxhYmxlIHVzaW5nIDxiIGNsYXNzPSJjb21tYW5kIj54bWwyLWNvbmZpZworICAgIC0taGVscDwvYj4uPC9wPjwvZGl2PjxkaXYgY2xhc3M9Im5hdmZvb3RlciI+PGhyPjx0YWJsZSB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBmb290ZXIiPjx0cj48dGQgd2lkdGg9IjQwJSIgYWxpZ249ImxlZnQiPjxhIGFjY2Vzc2tleT0icCIgaHJlZj0iYXIwMXMwOS5odG1sIj5QcmV2PC9hPqA8L3RkPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0iY2VudGVyIj48YSBhY2Nlc3NrZXk9InUiIGhyZWY9ImluZGV4Lmh0bWwiPlVwPC9hPjwvdGQ+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJyaWdodCI+oDxhIGFjY2Vzc2tleT0ibiIgaHJlZj0iYXBiLmh0bWwiPk5leHQ8L2E+PC90ZD48L3RyPjx0cj48dGQgd2lkdGg9IjQwJSIgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj5FbmNvZGluZyBDb252ZXJzaW9uoDwvdGQ+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJjZW50ZXIiPjxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iaW5kZXguaHRtbCI+SG9tZTwvYT48L3RkPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIj6gQi6gU2FtcGxlIERvY3VtZW50PC90ZD48L3RyPjwvdGFibGU+PC9kaXY+PC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2FwYi5odG1sIGIvbGlieG1sMi9kb2MvdHV0b3JpYWwvYXBiLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWYxNDA2NgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2FwYi5odG1sCkBAIC0wLDAgKzEsMTQgQEAKKzxodG1sPjxoZWFkPjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTEiPjx0aXRsZT5CLqBTYW1wbGUgRG9jdW1lbnQ8L3RpdGxlPjxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iRG9jQm9vayBYU0wgU3R5bGVzaGVldHMgVjEuNjEuMiI+PGxpbmsgcmVsPSJob21lIiBocmVmPSJpbmRleC5odG1sIiB0aXRsZT0iTGlieG1sIFR1dG9yaWFsIj48bGluayByZWw9InVwIiBocmVmPSJpbmRleC5odG1sIiB0aXRsZT0iTGlieG1sIFR1dG9yaWFsIj48bGluayByZWw9InByZXZpb3VzIiBocmVmPSJhcGEuaHRtbCIgdGl0bGU9IkEuoENvbXBpbGF0aW9uIj48bGluayByZWw9Im5leHQiIGhyZWY9ImFwYy5odG1sIiB0aXRsZT0iQy6gQ29kZSBmb3IgS2V5d29yZCBFeGFtcGxlIj48L2hlYWQ+PGJvZHkgYmdjb2xvcj0id2hpdGUiIHRleHQ9ImJsYWNrIiBsaW5rPSIjMDAwMEZGIiB2bGluaz0iIzg0MDA4NCIgYWxpbms9IiMwMDAwRkYiPjxkaXYgY2xhc3M9Im5hdmhlYWRlciI+PHRhYmxlIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciI+PHRyPjx0aCBjb2xzcGFuPSIzIiBhbGlnbj0iY2VudGVyIj5CLqBTYW1wbGUgRG9jdW1lbnQ8L3RoPjwvdHI+PHRyPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0ibGVmdCI+PGEgYWNjZXNza2V5PSJwIiBocmVmPSJhcGEuaHRtbCI+UHJldjwvYT6gPC90ZD48dGggd2lkdGg9IjYwJSIgYWxpZ249ImNlbnRlciI+oDwvdGg+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJyaWdodCI+oDxhIGFjY2Vzc2tleT0ibiIgaHJlZj0iYXBjLmh0bWwiPk5leHQ8L2E+PC90ZD48L3RyPjwvdGFibGU+PGhyPjwvZGl2PjxkaXYgY2xhc3M9ImFwcGVuZGl4IiBsYW5nPSJlbiI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgyIGNsYXNzPSJ0aXRsZSI+PGEgbmFtZT0ic2FtcGxlZG9jIj48L2E+Qi6gU2FtcGxlIERvY3VtZW50PC9oMj48L2Rpdj48L2Rpdj48ZGl2PjwvZGl2PjwvZGl2PjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4KKyZsdDs/eG1sIHZlcnNpb249IjEuMCI/Jmd0OworJmx0O3N0b3J5Jmd0OworICAmbHQ7c3RvcnlpbmZvJmd0OworICAgICZsdDthdXRob3ImZ3Q7Sm9obiBGbGVjayZsdDsvYXV0aG9yJmd0OworICAgICZsdDtkYXRld3JpdHRlbiZndDtKdW5lIDIsIDIwMDImbHQ7L2RhdGV3cml0dGVuJmd0OworICAgICZsdDtrZXl3b3JkJmd0O2V4YW1wbGUga2V5d29yZCZsdDsva2V5d29yZCZndDsKKyAgJmx0Oy9zdG9yeWluZm8mZ3Q7CisgICZsdDtib2R5Jmd0OworICAgICZsdDtoZWFkbGluZSZndDtUaGlzIGlzIHRoZSBoZWFkbGluZSZsdDsvaGVhZGxpbmUmZ3Q7CisgICAgJmx0O3BhcmEmZ3Q7VGhpcyBpcyB0aGUgYm9keSB0ZXh0LiZsdDsvcGFyYSZndDsKKyAgJmx0Oy9ib2R5Jmd0OworJmx0Oy9zdG9yeSZndDsKKzwvcHJlPjwvZGl2PjxkaXYgY2xhc3M9Im5hdmZvb3RlciI+PGhyPjx0YWJsZSB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBmb290ZXIiPjx0cj48dGQgd2lkdGg9IjQwJSIgYWxpZ249ImxlZnQiPjxhIGFjY2Vzc2tleT0icCIgaHJlZj0iYXBhLmh0bWwiPlByZXY8L2E+oDwvdGQ+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJjZW50ZXIiPjxhIGFjY2Vzc2tleT0idSIgaHJlZj0iaW5kZXguaHRtbCI+VXA8L2E+PC90ZD48dGQgd2lkdGg9IjQwJSIgYWxpZ249InJpZ2h0Ij6gPGEgYWNjZXNza2V5PSJuIiBocmVmPSJhcGMuaHRtbCI+TmV4dDwvYT48L3RkPjwvdHI+PHRyPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPkEuoENvbXBpbGF0aW9uoDwvdGQ+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJjZW50ZXIiPjxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iaW5kZXguaHRtbCI+SG9tZTwvYT48L3RkPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIj6gQy6gQ29kZSBmb3IgS2V5d29yZCBFeGFtcGxlPC90ZD48L3RyPjwvdGFibGU+PC9kaXY+PC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2FwYy5odG1sIGIvbGlieG1sMi9kb2MvdHV0b3JpYWwvYXBjLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjhkOTkxMQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2FwYy5odG1sCkBAIC0wLDAgKzEsODIgQEAKKzxodG1sPjxoZWFkPjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTEiPjx0aXRsZT5DLqBDb2RlIGZvciBLZXl3b3JkIEV4YW1wbGU8L3RpdGxlPjxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iRG9jQm9vayBYU0wgU3R5bGVzaGVldHMgVjEuNjEuMiI+PGxpbmsgcmVsPSJob21lIiBocmVmPSJpbmRleC5odG1sIiB0aXRsZT0iTGlieG1sIFR1dG9yaWFsIj48bGluayByZWw9InVwIiBocmVmPSJpbmRleC5odG1sIiB0aXRsZT0iTGlieG1sIFR1dG9yaWFsIj48bGluayByZWw9InByZXZpb3VzIiBocmVmPSJhcGIuaHRtbCIgdGl0bGU9IkIuoFNhbXBsZSBEb2N1bWVudCI+PGxpbmsgcmVsPSJuZXh0IiBocmVmPSJhcGQuaHRtbCIgdGl0bGU9IkQuoENvZGUgZm9yIFhQYXRoIEV4YW1wbGUiPjwvaGVhZD48Ym9keSBiZ2NvbG9yPSJ3aGl0ZSIgdGV4dD0iYmxhY2siIGxpbms9IiMwMDAwRkYiIHZsaW5rPSIjODQwMDg0IiBhbGluaz0iIzAwMDBGRiI+PGRpdiBjbGFzcz0ibmF2aGVhZGVyIj48dGFibGUgd2lkdGg9IjEwMCUiIHN1bW1hcnk9Ik5hdmlnYXRpb24gaGVhZGVyIj48dHI+PHRoIGNvbHNwYW49IjMiIGFsaWduPSJjZW50ZXIiPkMuoENvZGUgZm9yIEtleXdvcmQgRXhhbXBsZTwvdGg+PC90cj48dHI+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJsZWZ0Ij48YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImFwYi5odG1sIj5QcmV2PC9hPqA8L3RkPjx0aCB3aWR0aD0iNjAlIiBhbGlnbj0iY2VudGVyIj6gPC90aD48dGQgd2lkdGg9IjIwJSIgYWxpZ249InJpZ2h0Ij6gPGEgYWNjZXNza2V5PSJuIiBocmVmPSJhcGQuaHRtbCI+TmV4dDwvYT48L3RkPjwvdHI+PC90YWJsZT48aHI+PC9kaXY+PGRpdiBjbGFzcz0iYXBwZW5kaXgiIGxhbmc9ImVuIj48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDIgY2xhc3M9InRpdGxlIj48YSBuYW1lPSJrZXl3b3JkYXBwZW5kaXgiPjwvYT5DLqBDb2RlIGZvciBLZXl3b3JkIEV4YW1wbGU8L2gyPjwvZGl2PjwvZGl2PjxkaXY+PC9kaXY+PC9kaXY+PHA+CisgICAgICA8L3A+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPgorI2luY2x1ZGUgJmx0O3N0ZGlvLmgmZ3Q7CisjaW5jbHVkZSAmbHQ7c3RyaW5nLmgmZ3Q7CisjaW5jbHVkZSAmbHQ7c3RkbGliLmgmZ3Q7CisjaW5jbHVkZSAmbHQ7bGlieG1sL3htbG1lbW9yeS5oJmd0OworI2luY2x1ZGUgJmx0O2xpYnhtbC9wYXJzZXIuaCZndDsKKwordm9pZAorcGFyc2VTdG9yeSAoeG1sRG9jUHRyIGRvYywgeG1sTm9kZVB0ciBjdXIpIHsKKworCXhtbENoYXIgKmtleTsKKwljdXIgPSBjdXItJmd0O3htbENoaWxkcmVuTm9kZTsKKwl3aGlsZSAoY3VyICE9IE5VTEwpIHsKKwkgICAgaWYgKCgheG1sU3RyY21wKGN1ci0mZ3Q7bmFtZSwgKGNvbnN0IHhtbENoYXIgKikia2V5d29yZCIpKSkgeworCQkgICAga2V5ID0geG1sTm9kZUxpc3RHZXRTdHJpbmcoZG9jLCBjdXItJmd0O3htbENoaWxkcmVuTm9kZSwgMSk7CisJCSAgICBwcmludGYoImtleXdvcmQ6ICVzXG4iLCBrZXkpOworCQkgICAgeG1sRnJlZShrZXkpOworIAkgICAgfQorCWN1ciA9IGN1ci0mZ3Q7bmV4dDsKKwl9CisgICAgcmV0dXJuOworfQorCitzdGF0aWMgdm9pZAorcGFyc2VEb2MoY2hhciAqZG9jbmFtZSkgeworCisJeG1sRG9jUHRyIGRvYzsKKwl4bWxOb2RlUHRyIGN1cjsKKworCWRvYyA9IHhtbFBhcnNlRmlsZShkb2NuYW1lKTsKKwkKKwlpZiAoZG9jID09IE5VTEwgKSB7CisJCWZwcmludGYoc3RkZXJyLCJEb2N1bWVudCBub3QgcGFyc2VkIHN1Y2Nlc3NmdWxseS4gXG4iKTsKKwkJcmV0dXJuOworCX0KKwkKKwljdXIgPSB4bWxEb2NHZXRSb290RWxlbWVudChkb2MpOworCQorCWlmIChjdXIgPT0gTlVMTCkgeworCQlmcHJpbnRmKHN0ZGVyciwiZW1wdHkgZG9jdW1lbnRcbiIpOworCQl4bWxGcmVlRG9jKGRvYyk7CisJCXJldHVybjsKKwl9CisJCisJaWYgKHhtbFN0cmNtcChjdXItJmd0O25hbWUsIChjb25zdCB4bWxDaGFyICopICJzdG9yeSIpKSB7CisJCWZwcmludGYoc3RkZXJyLCJkb2N1bWVudCBvZiB0aGUgd3JvbmcgdHlwZSwgcm9vdCBub2RlICE9IHN0b3J5Iik7CisJCXhtbEZyZWVEb2MoZG9jKTsKKwkJcmV0dXJuOworCX0KKwkKKwljdXIgPSBjdXItJmd0O3htbENoaWxkcmVuTm9kZTsKKwl3aGlsZSAoY3VyICE9IE5VTEwpIHsKKwkJaWYgKCgheG1sU3RyY21wKGN1ci0mZ3Q7bmFtZSwgKGNvbnN0IHhtbENoYXIgKikic3RvcnlpbmZvIikpKXsKKwkJCXBhcnNlU3RvcnkgKGRvYywgY3VyKTsKKwkJfQorCQkgCisJY3VyID0gY3VyLSZndDtuZXh0OworCX0KKwkKKwl4bWxGcmVlRG9jKGRvYyk7CisJcmV0dXJuOworfQorCitpbnQKK21haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CisKKwljaGFyICpkb2NuYW1lOworCQkKKwlpZiAoYXJnYyAmbHQ7PSAxKSB7CisJCXByaW50ZigiVXNhZ2U6ICVzIGRvY25hbWVcbiIsIGFyZ3ZbMF0pOworCQlyZXR1cm4oMCk7CisJfQorCisJZG9jbmFtZSA9IGFyZ3ZbMV07CisJcGFyc2VEb2MgKGRvY25hbWUpOworCisJcmV0dXJuICgxKTsKK30KKworPC9wcmU+PHA+CisgICAgPC9wPjwvZGl2PjxkaXYgY2xhc3M9Im5hdmZvb3RlciI+PGhyPjx0YWJsZSB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBmb290ZXIiPjx0cj48dGQgd2lkdGg9IjQwJSIgYWxpZ249ImxlZnQiPjxhIGFjY2Vzc2tleT0icCIgaHJlZj0iYXBiLmh0bWwiPlByZXY8L2E+oDwvdGQ+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJjZW50ZXIiPjxhIGFjY2Vzc2tleT0idSIgaHJlZj0iaW5kZXguaHRtbCI+VXA8L2E+PC90ZD48dGQgd2lkdGg9IjQwJSIgYWxpZ249InJpZ2h0Ij6gPGEgYWNjZXNza2V5PSJuIiBocmVmPSJhcGQuaHRtbCI+TmV4dDwvYT48L3RkPjwvdHI+PHRyPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPkIuoFNhbXBsZSBEb2N1bWVudKA8L3RkPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0iY2VudGVyIj48YSBhY2Nlc3NrZXk9ImgiIGhyZWY9ImluZGV4Lmh0bWwiPkhvbWU8L2E+PC90ZD48dGQgd2lkdGg9IjQwJSIgYWxpZ249InJpZ2h0IiB2YWxpZ249InRvcCI+oEQuoENvZGUgZm9yIFhQYXRoIEV4YW1wbGU8L3RkPjwvdHI+PC90YWJsZT48L2Rpdj48L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvdHV0b3JpYWwvYXBkLmh0bWwgYi9saWJ4bWwyL2RvYy90dXRvcmlhbC9hcGQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44Zjk2MThkCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvdHV0b3JpYWwvYXBkLmh0bWwKQEAgLTAsMCArMSw3NiBAQAorPGh0bWw+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9SVNPLTg4NTktMSI+PHRpdGxlPkQuoENvZGUgZm9yIFhQYXRoIEV4YW1wbGU8L3RpdGxlPjxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iRG9jQm9vayBYU0wgU3R5bGVzaGVldHMgVjEuNjEuMiI+PGxpbmsgcmVsPSJob21lIiBocmVmPSJpbmRleC5odG1sIiB0aXRsZT0iTGlieG1sIFR1dG9yaWFsIj48bGluayByZWw9InVwIiBocmVmPSJpbmRleC5odG1sIiB0aXRsZT0iTGlieG1sIFR1dG9yaWFsIj48bGluayByZWw9InByZXZpb3VzIiBocmVmPSJhcGMuaHRtbCIgdGl0bGU9IkMuoENvZGUgZm9yIEtleXdvcmQgRXhhbXBsZSI+PGxpbmsgcmVsPSJuZXh0IiBocmVmPSJhcGUuaHRtbCIgdGl0bGU9IkUuoENvZGUgZm9yIEFkZCBLZXl3b3JkIEV4YW1wbGUiPjwvaGVhZD48Ym9keSBiZ2NvbG9yPSJ3aGl0ZSIgdGV4dD0iYmxhY2siIGxpbms9IiMwMDAwRkYiIHZsaW5rPSIjODQwMDg0IiBhbGluaz0iIzAwMDBGRiI+PGRpdiBjbGFzcz0ibmF2aGVhZGVyIj48dGFibGUgd2lkdGg9IjEwMCUiIHN1bW1hcnk9Ik5hdmlnYXRpb24gaGVhZGVyIj48dHI+PHRoIGNvbHNwYW49IjMiIGFsaWduPSJjZW50ZXIiPkQuoENvZGUgZm9yIFhQYXRoIEV4YW1wbGU8L3RoPjwvdHI+PHRyPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0ibGVmdCI+PGEgYWNjZXNza2V5PSJwIiBocmVmPSJhcGMuaHRtbCI+UHJldjwvYT6gPC90ZD48dGggd2lkdGg9IjYwJSIgYWxpZ249ImNlbnRlciI+oDwvdGg+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJyaWdodCI+oDxhIGFjY2Vzc2tleT0ibiIgaHJlZj0iYXBlLmh0bWwiPk5leHQ8L2E+PC90ZD48L3RyPjwvdGFibGU+PGhyPjwvZGl2PjxkaXYgY2xhc3M9ImFwcGVuZGl4IiBsYW5nPSJlbiI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgyIGNsYXNzPSJ0aXRsZSI+PGEgbmFtZT0ieHBhdGhhcHBlbmRpeCI+PC9hPkQuoENvZGUgZm9yIFhQYXRoIEV4YW1wbGU8L2gyPjwvZGl2PjwvZGl2PjxkaXY+PC9kaXY+PC9kaXY+PHA+CisgICAgICA8L3A+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPgorI2luY2x1ZGUgJmx0O2xpYnhtbC9wYXJzZXIuaCZndDsKKyNpbmNsdWRlICZsdDtsaWJ4bWwveHBhdGguaCZndDsKKworeG1sRG9jUHRyCitnZXRkb2MgKGNoYXIgKmRvY25hbWUpIHsKKwl4bWxEb2NQdHIgZG9jOworCWRvYyA9IHhtbFBhcnNlRmlsZShkb2NuYW1lKTsKKwkKKwlpZiAoZG9jID09IE5VTEwgKSB7CisJCWZwcmludGYoc3RkZXJyLCJEb2N1bWVudCBub3QgcGFyc2VkIHN1Y2Nlc3NmdWxseS4gXG4iKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCisJcmV0dXJuIGRvYzsKK30KKworeG1sWFBhdGhPYmplY3RQdHIKK2dldG5vZGVzZXQgKHhtbERvY1B0ciBkb2MsIHhtbENoYXIgKnhwYXRoKXsKKwkKKwl4bWxYUGF0aENvbnRleHRQdHIgY29udGV4dDsKKwl4bWxYUGF0aE9iamVjdFB0ciByZXN1bHQ7CisKKwljb250ZXh0ID0geG1sWFBhdGhOZXdDb250ZXh0KGRvYyk7CisJaWYgKGNvbnRleHQgPT0gTlVMTCkgeworCQlwcmludGYoIkVycm9yIGluIHhtbFhQYXRoTmV3Q29udGV4dFxuIik7CisJCXJldHVybiBOVUxMOworCX0KKwlyZXN1bHQgPSB4bWxYUGF0aEV2YWxFeHByZXNzaW9uKHhwYXRoLCBjb250ZXh0KTsKKwl4bWxYUGF0aEZyZWVDb250ZXh0KGNvbnRleHQpOworCWlmIChyZXN1bHQgPT0gTlVMTCkgeworCQlwcmludGYoIkVycm9yIGluIHhtbFhQYXRoRXZhbEV4cHJlc3Npb25cbiIpOworCQlyZXR1cm4gTlVMTDsKKwl9CisJaWYoeG1sWFBhdGhOb2RlU2V0SXNFbXB0eShyZXN1bHQtJmd0O25vZGVzZXR2YWwpKXsKKwkJeG1sWFBhdGhGcmVlT2JqZWN0KHJlc3VsdCk7CisgICAgICAgICAgICAgICAgcHJpbnRmKCJObyByZXN1bHRcbiIpOworCQlyZXR1cm4gTlVMTDsKKwl9CisJcmV0dXJuIHJlc3VsdDsKK30KK2ludAorbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKKworCWNoYXIgKmRvY25hbWU7CisJeG1sRG9jUHRyIGRvYzsKKwl4bWxDaGFyICp4cGF0aCA9ICh4bWxDaGFyKikgIi8va2V5d29yZCI7CisJeG1sTm9kZVNldFB0ciBub2Rlc2V0OworCXhtbFhQYXRoT2JqZWN0UHRyIHJlc3VsdDsKKwlpbnQgaTsKKwl4bWxDaGFyICprZXl3b3JkOworCQkKKwlpZiAoYXJnYyAmbHQ7PSAxKSB7CisJCXByaW50ZigiVXNhZ2U6ICVzIGRvY25hbWVcbiIsIGFyZ3ZbMF0pOworCQlyZXR1cm4oMCk7CisJfQorCisJZG9jbmFtZSA9IGFyZ3ZbMV07CisJZG9jID0gZ2V0ZG9jKGRvY25hbWUpOworCXJlc3VsdCA9IGdldG5vZGVzZXQgKGRvYywgeHBhdGgpOworCWlmIChyZXN1bHQpIHsKKwkJbm9kZXNldCA9IHJlc3VsdC0mZ3Q7bm9kZXNldHZhbDsKKwkJZm9yIChpPTA7IGkgJmx0OyBub2Rlc2V0LSZndDtub2RlTnI7IGkrKykgeworCQkJa2V5d29yZCA9IHhtbE5vZGVMaXN0R2V0U3RyaW5nKGRvYywgbm9kZXNldC0mZ3Q7bm9kZVRhYltpXS0mZ3Q7eG1sQ2hpbGRyZW5Ob2RlLCAxKTsKKwkJcHJpbnRmKCJrZXl3b3JkOiAlc1xuIiwga2V5d29yZCk7CisJCXhtbEZyZWUoa2V5d29yZCk7CisJCX0KKwkJeG1sWFBhdGhGcmVlT2JqZWN0IChyZXN1bHQpOworCX0KKwl4bWxGcmVlRG9jKGRvYyk7CisJeG1sQ2xlYW51cFBhcnNlcigpOworCXJldHVybiAoMSk7Cit9Cis8L3ByZT48cD4KKyAgICA8L3A+PC9kaXY+PGRpdiBjbGFzcz0ibmF2Zm9vdGVyIj48aHI+PHRhYmxlIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGZvb3RlciI+PHRyPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0ibGVmdCI+PGEgYWNjZXNza2V5PSJwIiBocmVmPSJhcGMuaHRtbCI+UHJldjwvYT6gPC90ZD48dGQgd2lkdGg9IjIwJSIgYWxpZ249ImNlbnRlciI+PGEgYWNjZXNza2V5PSJ1IiBocmVmPSJpbmRleC5odG1sIj5VcDwvYT48L3RkPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0icmlnaHQiPqA8YSBhY2Nlc3NrZXk9Im4iIGhyZWY9ImFwZS5odG1sIj5OZXh0PC9hPjwvdGQ+PC90cj48dHI+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+Qy6gQ29kZSBmb3IgS2V5d29yZCBFeGFtcGxloDwvdGQ+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJjZW50ZXIiPjxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iaW5kZXguaHRtbCI+SG9tZTwvYT48L3RkPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIj6gRS6gQ29kZSBmb3IgQWRkIEtleXdvcmQgRXhhbXBsZTwvdGQ+PC90cj48L3RhYmxlPjwvZGl2PjwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy90dXRvcmlhbC9hcGUuaHRtbCBiL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2FwZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIwMDMxOWEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy90dXRvcmlhbC9hcGUuaHRtbApAQCAtMCwwICsxLDc4IEBACis8aHRtbD48aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1JU08tODg1OS0xIj48dGl0bGU+RS6gQ29kZSBmb3IgQWRkIEtleXdvcmQgRXhhbXBsZTwvdGl0bGU+PG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJEb2NCb29rIFhTTCBTdHlsZXNoZWV0cyBWMS42MS4yIj48bGluayByZWw9ImhvbWUiIGhyZWY9ImluZGV4Lmh0bWwiIHRpdGxlPSJMaWJ4bWwgVHV0b3JpYWwiPjxsaW5rIHJlbD0idXAiIGhyZWY9ImluZGV4Lmh0bWwiIHRpdGxlPSJMaWJ4bWwgVHV0b3JpYWwiPjxsaW5rIHJlbD0icHJldmlvdXMiIGhyZWY9ImFwZC5odG1sIiB0aXRsZT0iRC6gQ29kZSBmb3IgWFBhdGggRXhhbXBsZSI+PGxpbmsgcmVsPSJuZXh0IiBocmVmPSJhcGYuaHRtbCIgdGl0bGU9IkYuoENvZGUgZm9yIEFkZCBBdHRyaWJ1dGUgRXhhbXBsZSI+PC9oZWFkPjxib2R5IGJnY29sb3I9IndoaXRlIiB0ZXh0PSJibGFjayIgbGluaz0iIzAwMDBGRiIgdmxpbms9IiM4NDAwODQiIGFsaW5rPSIjMDAwMEZGIj48ZGl2IGNsYXNzPSJuYXZoZWFkZXIiPjx0YWJsZSB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBoZWFkZXIiPjx0cj48dGggY29sc3Bhbj0iMyIgYWxpZ249ImNlbnRlciI+RS6gQ29kZSBmb3IgQWRkIEtleXdvcmQgRXhhbXBsZTwvdGg+PC90cj48dHI+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJsZWZ0Ij48YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImFwZC5odG1sIj5QcmV2PC9hPqA8L3RkPjx0aCB3aWR0aD0iNjAlIiBhbGlnbj0iY2VudGVyIj6gPC90aD48dGQgd2lkdGg9IjIwJSIgYWxpZ249InJpZ2h0Ij6gPGEgYWNjZXNza2V5PSJuIiBocmVmPSJhcGYuaHRtbCI+TmV4dDwvYT48L3RkPjwvdHI+PC90YWJsZT48aHI+PC9kaXY+PGRpdiBjbGFzcz0iYXBwZW5kaXgiIGxhbmc9ImVuIj48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDIgY2xhc3M9InRpdGxlIj48YSBuYW1lPSJhZGRrZXl3b3JkYXBwZW5kaXgiPjwvYT5FLqBDb2RlIGZvciBBZGQgS2V5d29yZCBFeGFtcGxlPC9oMj48L2Rpdj48L2Rpdj48ZGl2PjwvZGl2PjwvZGl2PjxwPgorICAgICAgPC9wPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4KKyNpbmNsdWRlICZsdDtzdGRpby5oJmd0OworI2luY2x1ZGUgJmx0O3N0cmluZy5oJmd0OworI2luY2x1ZGUgJmx0O3N0ZGxpYi5oJmd0OworI2luY2x1ZGUgJmx0O2xpYnhtbC94bWxtZW1vcnkuaCZndDsKKyNpbmNsdWRlICZsdDtsaWJ4bWwvcGFyc2VyLmgmZ3Q7CisKK3ZvaWQKK3BhcnNlU3RvcnkgKHhtbERvY1B0ciBkb2MsIHhtbE5vZGVQdHIgY3VyLCBjaGFyICprZXl3b3JkKSB7CisKKwl4bWxOZXdUZXh0Q2hpbGQgKGN1ciwgTlVMTCwgImtleXdvcmQiLCBrZXl3b3JkKTsKKyAgICByZXR1cm47Cit9CisKK3htbERvY1B0cgorcGFyc2VEb2MoY2hhciAqZG9jbmFtZSwgY2hhciAqa2V5d29yZCkgeworCisJeG1sRG9jUHRyIGRvYzsKKwl4bWxOb2RlUHRyIGN1cjsKKworCWRvYyA9IHhtbFBhcnNlRmlsZShkb2NuYW1lKTsKKwkKKwlpZiAoZG9jID09IE5VTEwgKSB7CisJCWZwcmludGYoc3RkZXJyLCJEb2N1bWVudCBub3QgcGFyc2VkIHN1Y2Nlc3NmdWxseS4gXG4iKTsKKwkJcmV0dXJuIChOVUxMKTsKKwl9CisJCisJY3VyID0geG1sRG9jR2V0Um9vdEVsZW1lbnQoZG9jKTsKKwkKKwlpZiAoY3VyID09IE5VTEwpIHsKKwkJZnByaW50ZihzdGRlcnIsImVtcHR5IGRvY3VtZW50XG4iKTsKKwkJeG1sRnJlZURvYyhkb2MpOworCQlyZXR1cm4gKE5VTEwpOworCX0KKwkKKwlpZiAoeG1sU3RyY21wKGN1ci0mZ3Q7bmFtZSwgKGNvbnN0IHhtbENoYXIgKikgInN0b3J5IikpIHsKKwkJZnByaW50ZihzdGRlcnIsImRvY3VtZW50IG9mIHRoZSB3cm9uZyB0eXBlLCByb290IG5vZGUgIT0gc3RvcnkiKTsKKwkJeG1sRnJlZURvYyhkb2MpOworCQlyZXR1cm4gKE5VTEwpOworCX0KKwkKKwljdXIgPSBjdXItJmd0O3htbENoaWxkcmVuTm9kZTsKKwl3aGlsZSAoY3VyICE9IE5VTEwpIHsKKwkJaWYgKCgheG1sU3RyY21wKGN1ci0mZ3Q7bmFtZSwgKGNvbnN0IHhtbENoYXIgKikic3RvcnlpbmZvIikpKXsKKwkJCXBhcnNlU3RvcnkgKGRvYywgY3VyLCBrZXl3b3JkKTsKKwkJfQorCQkgCisJY3VyID0gY3VyLSZndDtuZXh0OworCX0KKwlyZXR1cm4oZG9jKTsKK30KKworaW50CittYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgeworCisJY2hhciAqZG9jbmFtZTsKKwljaGFyICprZXl3b3JkOworCXhtbERvY1B0ciBkb2M7CisKKwlpZiAoYXJnYyAmbHQ7PSAyKSB7CisJCXByaW50ZigiVXNhZ2U6ICVzIGRvY25hbWUsIGtleXdvcmRcbiIsIGFyZ3ZbMF0pOworCQlyZXR1cm4oMCk7CisJfQorCisJZG9jbmFtZSA9IGFyZ3ZbMV07CisJa2V5d29yZCA9IGFyZ3ZbMl07CisJZG9jID0gcGFyc2VEb2MgKGRvY25hbWUsIGtleXdvcmQpOworCWlmIChkb2MgIT0gTlVMTCkgeworCQl4bWxTYXZlRm9ybWF0RmlsZSAoZG9jbmFtZSwgZG9jLCAwKTsKKwkJeG1sRnJlZURvYyhkb2MpOworCX0KKwkKKwlyZXR1cm4gKDEpOworfQorCis8L3ByZT48cD4KKyAgICA8L3A+PC9kaXY+PGRpdiBjbGFzcz0ibmF2Zm9vdGVyIj48aHI+PHRhYmxlIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGZvb3RlciI+PHRyPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0ibGVmdCI+PGEgYWNjZXNza2V5PSJwIiBocmVmPSJhcGQuaHRtbCI+UHJldjwvYT6gPC90ZD48dGQgd2lkdGg9IjIwJSIgYWxpZ249ImNlbnRlciI+PGEgYWNjZXNza2V5PSJ1IiBocmVmPSJpbmRleC5odG1sIj5VcDwvYT48L3RkPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0icmlnaHQiPqA8YSBhY2Nlc3NrZXk9Im4iIGhyZWY9ImFwZi5odG1sIj5OZXh0PC9hPjwvdGQ+PC90cj48dHI+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+RC6gQ29kZSBmb3IgWFBhdGggRXhhbXBsZaA8L3RkPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0iY2VudGVyIj48YSBhY2Nlc3NrZXk9ImgiIGhyZWY9ImluZGV4Lmh0bWwiPkhvbWU8L2E+PC90ZD48dGQgd2lkdGg9IjQwJSIgYWxpZ249InJpZ2h0IiB2YWxpZ249InRvcCI+oEYuoENvZGUgZm9yIEFkZCBBdHRyaWJ1dGUgRXhhbXBsZTwvdGQ+PC90cj48L3RhYmxlPjwvZGl2PjwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy90dXRvcmlhbC9hcGYuaHRtbCBiL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2FwZi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ4NDhjZGIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy90dXRvcmlhbC9hcGYuaHRtbApAQCAtMCwwICsxLDY3IEBACis8aHRtbD48aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1JU08tODg1OS0xIj48dGl0bGU+Ri6gQ29kZSBmb3IgQWRkIEF0dHJpYnV0ZSBFeGFtcGxlPC90aXRsZT48bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9IkRvY0Jvb2sgWFNMIFN0eWxlc2hlZXRzIFYxLjYxLjIiPjxsaW5rIHJlbD0iaG9tZSIgaHJlZj0iaW5kZXguaHRtbCIgdGl0bGU9IkxpYnhtbCBUdXRvcmlhbCI+PGxpbmsgcmVsPSJ1cCIgaHJlZj0iaW5kZXguaHRtbCIgdGl0bGU9IkxpYnhtbCBUdXRvcmlhbCI+PGxpbmsgcmVsPSJwcmV2aW91cyIgaHJlZj0iYXBlLmh0bWwiIHRpdGxlPSJFLqBDb2RlIGZvciBBZGQgS2V5d29yZCBFeGFtcGxlIj48bGluayByZWw9Im5leHQiIGhyZWY9ImFwZy5odG1sIiB0aXRsZT0iRy6gQ29kZSBmb3IgUmV0cmlldmluZyBBdHRyaWJ1dGUgVmFsdWUgRXhhbXBsZSI+PC9oZWFkPjxib2R5IGJnY29sb3I9IndoaXRlIiB0ZXh0PSJibGFjayIgbGluaz0iIzAwMDBGRiIgdmxpbms9IiM4NDAwODQiIGFsaW5rPSIjMDAwMEZGIj48ZGl2IGNsYXNzPSJuYXZoZWFkZXIiPjx0YWJsZSB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBoZWFkZXIiPjx0cj48dGggY29sc3Bhbj0iMyIgYWxpZ249ImNlbnRlciI+Ri6gQ29kZSBmb3IgQWRkIEF0dHJpYnV0ZSBFeGFtcGxlPC90aD48L3RyPjx0cj48dGQgd2lkdGg9IjIwJSIgYWxpZ249ImxlZnQiPjxhIGFjY2Vzc2tleT0icCIgaHJlZj0iYXBlLmh0bWwiPlByZXY8L2E+oDwvdGQ+PHRoIHdpZHRoPSI2MCUiIGFsaWduPSJjZW50ZXIiPqA8L3RoPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0icmlnaHQiPqA8YSBhY2Nlc3NrZXk9Im4iIGhyZWY9ImFwZy5odG1sIj5OZXh0PC9hPjwvdGQ+PC90cj48L3RhYmxlPjxocj48L2Rpdj48ZGl2IGNsYXNzPSJhcHBlbmRpeCIgbGFuZz0iZW4iPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMiBjbGFzcz0idGl0bGUiPjxhIG5hbWU9ImFkZGF0dHJpYnV0ZWFwcGVuZGl4Ij48L2E+Ri6gQ29kZSBmb3IgQWRkIEF0dHJpYnV0ZSBFeGFtcGxlPC9oMj48L2Rpdj48L2Rpdj48ZGl2PjwvZGl2PjwvZGl2PjxwPgorICAgICAgPC9wPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4KKyNpbmNsdWRlICZsdDtzdGRpby5oJmd0OworI2luY2x1ZGUgJmx0O3N0cmluZy5oJmd0OworI2luY2x1ZGUgJmx0O3N0ZGxpYi5oJmd0OworI2luY2x1ZGUgJmx0O2xpYnhtbC94bWxtZW1vcnkuaCZndDsKKyNpbmNsdWRlICZsdDtsaWJ4bWwvcGFyc2VyLmgmZ3Q7CisKKworeG1sRG9jUHRyCitwYXJzZURvYyhjaGFyICpkb2NuYW1lLCBjaGFyICp1cmkpIHsKKworCXhtbERvY1B0ciBkb2M7CisJeG1sTm9kZVB0ciBjdXI7CisJeG1sTm9kZVB0ciBuZXdub2RlOworCXhtbEF0dHJQdHIgbmV3YXR0cjsKKworCWRvYyA9IHhtbFBhcnNlRmlsZShkb2NuYW1lKTsKKwkKKwlpZiAoZG9jID09IE5VTEwgKSB7CisJCWZwcmludGYoc3RkZXJyLCJEb2N1bWVudCBub3QgcGFyc2VkIHN1Y2Nlc3NmdWxseS4gXG4iKTsKKwkJcmV0dXJuIChOVUxMKTsKKwl9CisJCisJY3VyID0geG1sRG9jR2V0Um9vdEVsZW1lbnQoZG9jKTsKKwkKKwlpZiAoY3VyID09IE5VTEwpIHsKKwkJZnByaW50ZihzdGRlcnIsImVtcHR5IGRvY3VtZW50XG4iKTsKKwkJeG1sRnJlZURvYyhkb2MpOworCQlyZXR1cm4gKE5VTEwpOworCX0KKwkKKwlpZiAoeG1sU3RyY21wKGN1ci0mZ3Q7bmFtZSwgKGNvbnN0IHhtbENoYXIgKikgInN0b3J5IikpIHsKKwkJZnByaW50ZihzdGRlcnIsImRvY3VtZW50IG9mIHRoZSB3cm9uZyB0eXBlLCByb290IG5vZGUgIT0gc3RvcnkiKTsKKwkJeG1sRnJlZURvYyhkb2MpOworCQlyZXR1cm4gKE5VTEwpOworCX0KKwkKKwluZXdub2RlID0geG1sTmV3VGV4dENoaWxkIChjdXIsIE5VTEwsICJyZWZlcmVuY2UiLCBOVUxMKTsKKwluZXdhdHRyID0geG1sTmV3UHJvcCAobmV3bm9kZSwgInVyaSIsIHVyaSk7CisJcmV0dXJuKGRvYyk7Cit9CisKK2ludAorbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKKworCWNoYXIgKmRvY25hbWU7CisJY2hhciAqdXJpOworCXhtbERvY1B0ciBkb2M7CisKKwlpZiAoYXJnYyAmbHQ7PSAyKSB7CisJCXByaW50ZigiVXNhZ2U6ICVzIGRvY25hbWUsIHVyaVxuIiwgYXJndlswXSk7CisJCXJldHVybigwKTsKKwl9CisKKwlkb2NuYW1lID0gYXJndlsxXTsKKwl1cmkgPSBhcmd2WzJdOworCWRvYyA9IHBhcnNlRG9jIChkb2NuYW1lLCB1cmkpOworCWlmIChkb2MgIT0gTlVMTCkgeworCQl4bWxTYXZlRm9ybWF0RmlsZSAoZG9jbmFtZSwgZG9jLCAxKTsKKwkJeG1sRnJlZURvYyhkb2MpOworCX0KKwlyZXR1cm4gKDEpOworfQorCis8L3ByZT48cD4KKyAgICA8L3A+PC9kaXY+PGRpdiBjbGFzcz0ibmF2Zm9vdGVyIj48aHI+PHRhYmxlIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGZvb3RlciI+PHRyPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0ibGVmdCI+PGEgYWNjZXNza2V5PSJwIiBocmVmPSJhcGUuaHRtbCI+UHJldjwvYT6gPC90ZD48dGQgd2lkdGg9IjIwJSIgYWxpZ249ImNlbnRlciI+PGEgYWNjZXNza2V5PSJ1IiBocmVmPSJpbmRleC5odG1sIj5VcDwvYT48L3RkPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0icmlnaHQiPqA8YSBhY2Nlc3NrZXk9Im4iIGhyZWY9ImFwZy5odG1sIj5OZXh0PC9hPjwvdGQ+PC90cj48dHI+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+RS6gQ29kZSBmb3IgQWRkIEtleXdvcmQgRXhhbXBsZaA8L3RkPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0iY2VudGVyIj48YSBhY2Nlc3NrZXk9ImgiIGhyZWY9ImluZGV4Lmh0bWwiPkhvbWU8L2E+PC90ZD48dGQgd2lkdGg9IjQwJSIgYWxpZ249InJpZ2h0IiB2YWxpZ249InRvcCI+oEcuoENvZGUgZm9yIFJldHJpZXZpbmcgQXR0cmlidXRlIFZhbHVlIEV4YW1wbGU8L3RkPjwvdHI+PC90YWJsZT48L2Rpdj48L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvdHV0b3JpYWwvYXBnLmh0bWwgYi9saWJ4bWwyL2RvYy90dXRvcmlhbC9hcGcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZmZhMGVlCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvdHV0b3JpYWwvYXBnLmh0bWwKQEAgLTAsMCArMSw3NSBAQAorPGh0bWw+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9SVNPLTg4NTktMSI+PHRpdGxlPkcuoENvZGUgZm9yIFJldHJpZXZpbmcgQXR0cmlidXRlIFZhbHVlIEV4YW1wbGU8L3RpdGxlPjxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iRG9jQm9vayBYU0wgU3R5bGVzaGVldHMgVjEuNjEuMiI+PGxpbmsgcmVsPSJob21lIiBocmVmPSJpbmRleC5odG1sIiB0aXRsZT0iTGlieG1sIFR1dG9yaWFsIj48bGluayByZWw9InVwIiBocmVmPSJpbmRleC5odG1sIiB0aXRsZT0iTGlieG1sIFR1dG9yaWFsIj48bGluayByZWw9InByZXZpb3VzIiBocmVmPSJhcGYuaHRtbCIgdGl0bGU9IkYuoENvZGUgZm9yIEFkZCBBdHRyaWJ1dGUgRXhhbXBsZSI+PGxpbmsgcmVsPSJuZXh0IiBocmVmPSJhcGguaHRtbCIgdGl0bGU9IkguoENvZGUgZm9yIEVuY29kaW5nIENvbnZlcnNpb24gRXhhbXBsZSI+PC9oZWFkPjxib2R5IGJnY29sb3I9IndoaXRlIiB0ZXh0PSJibGFjayIgbGluaz0iIzAwMDBGRiIgdmxpbms9IiM4NDAwODQiIGFsaW5rPSIjMDAwMEZGIj48ZGl2IGNsYXNzPSJuYXZoZWFkZXIiPjx0YWJsZSB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBoZWFkZXIiPjx0cj48dGggY29sc3Bhbj0iMyIgYWxpZ249ImNlbnRlciI+Ry6gQ29kZSBmb3IgUmV0cmlldmluZyBBdHRyaWJ1dGUgVmFsdWUgRXhhbXBsZTwvdGg+PC90cj48dHI+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJsZWZ0Ij48YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImFwZi5odG1sIj5QcmV2PC9hPqA8L3RkPjx0aCB3aWR0aD0iNjAlIiBhbGlnbj0iY2VudGVyIj6gPC90aD48dGQgd2lkdGg9IjIwJSIgYWxpZ249InJpZ2h0Ij6gPGEgYWNjZXNza2V5PSJuIiBocmVmPSJhcGguaHRtbCI+TmV4dDwvYT48L3RkPjwvdHI+PC90YWJsZT48aHI+PC9kaXY+PGRpdiBjbGFzcz0iYXBwZW5kaXgiIGxhbmc9ImVuIj48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDIgY2xhc3M9InRpdGxlIj48YSBuYW1lPSJnZXRhdHRyaWJ1dGVhcHBlbmRpeCI+PC9hPkcuoENvZGUgZm9yIFJldHJpZXZpbmcgQXR0cmlidXRlIFZhbHVlIEV4YW1wbGU8L2gyPjwvZGl2PjwvZGl2PjxkaXY+PC9kaXY+PC9kaXY+PHA+CisgICAgICA8L3A+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPgorI2luY2x1ZGUgJmx0O3N0ZGlvLmgmZ3Q7CisjaW5jbHVkZSAmbHQ7c3RyaW5nLmgmZ3Q7CisjaW5jbHVkZSAmbHQ7c3RkbGliLmgmZ3Q7CisjaW5jbHVkZSAmbHQ7bGlieG1sL3htbG1lbW9yeS5oJmd0OworI2luY2x1ZGUgJmx0O2xpYnhtbC9wYXJzZXIuaCZndDsKKwordm9pZAorZ2V0UmVmZXJlbmNlICh4bWxEb2NQdHIgZG9jLCB4bWxOb2RlUHRyIGN1cikgeworCisJeG1sQ2hhciAqdXJpOworCWN1ciA9IGN1ci0mZ3Q7eG1sQ2hpbGRyZW5Ob2RlOworCXdoaWxlIChjdXIgIT0gTlVMTCkgeworCSAgICBpZiAoKCF4bWxTdHJjbXAoY3VyLSZndDtuYW1lLCAoY29uc3QgeG1sQ2hhciAqKSJyZWZlcmVuY2UiKSkpIHsKKwkJICAgIHVyaSA9IHhtbEdldFByb3AoY3VyLCAidXJpIik7CisJCSAgICBwcmludGYoInVyaTogJXNcbiIsIHVyaSk7CisJCSAgICB4bWxGcmVlKHVyaSk7CisJICAgIH0KKwkgICAgY3VyID0gY3VyLSZndDtuZXh0OworCX0KKwlyZXR1cm47Cit9CisKKwordm9pZAorcGFyc2VEb2MoY2hhciAqZG9jbmFtZSkgeworCisJeG1sRG9jUHRyIGRvYzsKKwl4bWxOb2RlUHRyIGN1cjsKKworCWRvYyA9IHhtbFBhcnNlRmlsZShkb2NuYW1lKTsKKwkKKwlpZiAoZG9jID09IE5VTEwgKSB7CisJCWZwcmludGYoc3RkZXJyLCJEb2N1bWVudCBub3QgcGFyc2VkIHN1Y2Nlc3NmdWxseS4gXG4iKTsKKwkJcmV0dXJuOworCX0KKwkKKwljdXIgPSB4bWxEb2NHZXRSb290RWxlbWVudChkb2MpOworCQorCWlmIChjdXIgPT0gTlVMTCkgeworCQlmcHJpbnRmKHN0ZGVyciwiZW1wdHkgZG9jdW1lbnRcbiIpOworCQl4bWxGcmVlRG9jKGRvYyk7CisJCXJldHVybjsKKwl9CisJCisJaWYgKHhtbFN0cmNtcChjdXItJmd0O25hbWUsIChjb25zdCB4bWxDaGFyICopICJzdG9yeSIpKSB7CisJCWZwcmludGYoc3RkZXJyLCJkb2N1bWVudCBvZiB0aGUgd3JvbmcgdHlwZSwgcm9vdCBub2RlICE9IHN0b3J5Iik7CisJCXhtbEZyZWVEb2MoZG9jKTsKKwkJcmV0dXJuOworCX0KKwkKKwlnZXRSZWZlcmVuY2UgKGRvYywgY3VyKTsKKwl4bWxGcmVlRG9jKGRvYyk7CisJcmV0dXJuOworfQorCitpbnQKK21haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CisKKwljaGFyICpkb2NuYW1lOworCisJaWYgKGFyZ2MgJmx0Oz0gMSkgeworCQlwcmludGYoIlVzYWdlOiAlcyBkb2NuYW1lXG4iLCBhcmd2WzBdKTsKKwkJcmV0dXJuKDApOworCX0KKworCWRvY25hbWUgPSBhcmd2WzFdOworCXBhcnNlRG9jIChkb2NuYW1lKTsKKwkKKwlyZXR1cm4gKDEpOworfQorCis8L3ByZT48cD4KKyAgICA8L3A+PC9kaXY+PGRpdiBjbGFzcz0ibmF2Zm9vdGVyIj48aHI+PHRhYmxlIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGZvb3RlciI+PHRyPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0ibGVmdCI+PGEgYWNjZXNza2V5PSJwIiBocmVmPSJhcGYuaHRtbCI+UHJldjwvYT6gPC90ZD48dGQgd2lkdGg9IjIwJSIgYWxpZ249ImNlbnRlciI+PGEgYWNjZXNza2V5PSJ1IiBocmVmPSJpbmRleC5odG1sIj5VcDwvYT48L3RkPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0icmlnaHQiPqA8YSBhY2Nlc3NrZXk9Im4iIGhyZWY9ImFwaC5odG1sIj5OZXh0PC9hPjwvdGQ+PC90cj48dHI+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+Ri6gQ29kZSBmb3IgQWRkIEF0dHJpYnV0ZSBFeGFtcGxloDwvdGQ+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJjZW50ZXIiPjxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iaW5kZXguaHRtbCI+SG9tZTwvYT48L3RkPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIj6gSC6gQ29kZSBmb3IgRW5jb2RpbmcgQ29udmVyc2lvbiBFeGFtcGxlPC90ZD48L3RyPjwvdGFibGU+PC9kaXY+PC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2FwaC5odG1sIGIvbGlieG1sMi9kb2MvdHV0b3JpYWwvYXBoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWY0NjYwNQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2FwaC5odG1sCkBAIC0wLDAgKzEsNzYgQEAKKzxodG1sPjxoZWFkPjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTEiPjx0aXRsZT5ILqBDb2RlIGZvciBFbmNvZGluZyBDb252ZXJzaW9uIEV4YW1wbGU8L3RpdGxlPjxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iRG9jQm9vayBYU0wgU3R5bGVzaGVldHMgVjEuNjEuMiI+PGxpbmsgcmVsPSJob21lIiBocmVmPSJpbmRleC5odG1sIiB0aXRsZT0iTGlieG1sIFR1dG9yaWFsIj48bGluayByZWw9InVwIiBocmVmPSJpbmRleC5odG1sIiB0aXRsZT0iTGlieG1sIFR1dG9yaWFsIj48bGluayByZWw9InByZXZpb3VzIiBocmVmPSJhcGcuaHRtbCIgdGl0bGU9IkcuoENvZGUgZm9yIFJldHJpZXZpbmcgQXR0cmlidXRlIFZhbHVlIEV4YW1wbGUiPjxsaW5rIHJlbD0ibmV4dCIgaHJlZj0iYXBpLmh0bWwiIHRpdGxlPSJJLqBBY2tub3dsZWRnZW1lbnRzIj48L2hlYWQ+PGJvZHkgYmdjb2xvcj0id2hpdGUiIHRleHQ9ImJsYWNrIiBsaW5rPSIjMDAwMEZGIiB2bGluaz0iIzg0MDA4NCIgYWxpbms9IiMwMDAwRkYiPjxkaXYgY2xhc3M9Im5hdmhlYWRlciI+PHRhYmxlIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciI+PHRyPjx0aCBjb2xzcGFuPSIzIiBhbGlnbj0iY2VudGVyIj5ILqBDb2RlIGZvciBFbmNvZGluZyBDb252ZXJzaW9uIEV4YW1wbGU8L3RoPjwvdHI+PHRyPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0ibGVmdCI+PGEgYWNjZXNza2V5PSJwIiBocmVmPSJhcGcuaHRtbCI+UHJldjwvYT6gPC90ZD48dGggd2lkdGg9IjYwJSIgYWxpZ249ImNlbnRlciI+oDwvdGg+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJyaWdodCI+oDxhIGFjY2Vzc2tleT0ibiIgaHJlZj0iYXBpLmh0bWwiPk5leHQ8L2E+PC90ZD48L3RyPjwvdGFibGU+PGhyPjwvZGl2PjxkaXYgY2xhc3M9ImFwcGVuZGl4IiBsYW5nPSJlbiI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgyIGNsYXNzPSJ0aXRsZSI+PGEgbmFtZT0iY29udmVydGFwcGVuZGl4Ij48L2E+SC6gQ29kZSBmb3IgRW5jb2RpbmcgQ29udmVyc2lvbiBFeGFtcGxlPC9oMj48L2Rpdj48L2Rpdj48ZGl2PjwvZGl2PjwvZGl2PjxwPgorICAgICAgPC9wPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4KKyNpbmNsdWRlICZsdDtzdHJpbmcuaCZndDsKKyNpbmNsdWRlICZsdDtsaWJ4bWwvcGFyc2VyLmgmZ3Q7CisKKwordW5zaWduZWQgY2hhcioKK2NvbnZlcnQgKHVuc2lnbmVkIGNoYXIgKmluLCBjaGFyICplbmNvZGluZykKK3sKKwl1bnNpZ25lZCBjaGFyICpvdXQ7CisgICAgICAgIGludCByZXQsc2l6ZSxvdXRfc2l6ZSx0ZW1wOworICAgICAgICB4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyIGhhbmRsZXI7CisKKyAgICAgICAgc2l6ZSA9IChpbnQpc3RybGVuKGluKSsxOyAKKyAgICAgICAgb3V0X3NpemUgPSBzaXplKjItMTsgCisgICAgICAgIG91dCA9IG1hbGxvYygoc2l6ZV90KW91dF9zaXplKTsgCisKKyAgICAgICAgaWYgKG91dCkgeworICAgICAgICAgICAgICAgIGhhbmRsZXIgPSB4bWxGaW5kQ2hhckVuY29kaW5nSGFuZGxlcihlbmNvZGluZyk7CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgaWYgKCFoYW5kbGVyKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBmcmVlKG91dCk7CisgICAgICAgICAgICAgICAgICAgICAgICBvdXQgPSBOVUxMOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBpZiAob3V0KSB7CisgICAgICAgICAgICAgICAgdGVtcD1zaXplLTE7CisgICAgICAgICAgICAgICAgcmV0ID0gaGFuZGxlci0mZ3Q7aW5wdXQob3V0LCAmYW1wO291dF9zaXplLCBpbiwgJmFtcDt0ZW1wKTsKKyAgICAgICAgICAgICAgICBpZiAocmV0IHx8IHRlbXAtc2l6ZSsxKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmV0KSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW50ZigiY29udmVyc2lvbiB3YXNuJ3Qgc3VjY2Vzc2Z1bC5cbiIpOworICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnRmKCJjb252ZXJzaW9uIHdhc24ndCBzdWNjZXNzZnVsLiBjb252ZXJ0ZWQ6ICVpIG9jdGV0cy5cbiIsdGVtcCk7CisgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICBmcmVlKG91dCk7CisgICAgICAgICAgICAgICAgICAgICAgICBvdXQgPSBOVUxMOworICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICBvdXQgPSByZWFsbG9jKG91dCxvdXRfc2l6ZSsxKTsgCisgICAgICAgICAgICAgICAgICAgICAgICBvdXRbb3V0X3NpemVdPTA7IC8qbnVsbCB0ZXJtaW5hdGluZyBvdXQqLworICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIHByaW50Zigibm8gbWVtXG4iKTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gKG91dCk7Cit9CQorCisKK2ludAorbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKKworCXVuc2lnbmVkIGNoYXIgKmNvbnRlbnQsICpvdXQ7CisJeG1sRG9jUHRyIGRvYzsKKwl4bWxOb2RlUHRyIHJvb3Rub2RlOworCWNoYXIgKmVuY29kaW5nID0gIklTTy04ODU5LTEiOworCQorCQkKKwlpZiAoYXJnYyAmbHQ7PSAxKSB7CisJCXByaW50ZigiVXNhZ2U6ICVzIGNvbnRlbnRcbiIsIGFyZ3ZbMF0pOworCQlyZXR1cm4oMCk7CisJfQorCisJY29udGVudCA9IGFyZ3ZbMV07CisKKwlvdXQgPSBjb252ZXJ0KGNvbnRlbnQsIGVuY29kaW5nKTsKKworCWRvYyA9IHhtbE5ld0RvYyAoIjEuMCIpOworCXJvb3Rub2RlID0geG1sTmV3RG9jTm9kZShkb2MsIE5VTEwsIChjb25zdCB4bWxDaGFyKikicm9vdCIsIG91dCk7CisJeG1sRG9jU2V0Um9vdEVsZW1lbnQoZG9jLCByb290bm9kZSk7CisKKwl4bWxTYXZlRm9ybWF0RmlsZUVuYygiLSIsIGRvYywgZW5jb2RpbmcsIDEpOworCXJldHVybiAoMSk7Cit9CisKKzwvcHJlPjxwPgorICAgIDwvcD48L2Rpdj48ZGl2IGNsYXNzPSJuYXZmb290ZXIiPjxocj48dGFibGUgd2lkdGg9IjEwMCUiIHN1bW1hcnk9Ik5hdmlnYXRpb24gZm9vdGVyIj48dHI+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJsZWZ0Ij48YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImFwZy5odG1sIj5QcmV2PC9hPqA8L3RkPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0iY2VudGVyIj48YSBhY2Nlc3NrZXk9InUiIGhyZWY9ImluZGV4Lmh0bWwiPlVwPC9hPjwvdGQ+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJyaWdodCI+oDxhIGFjY2Vzc2tleT0ibiIgaHJlZj0iYXBpLmh0bWwiPk5leHQ8L2E+PC90ZD48L3RyPjx0cj48dGQgd2lkdGg9IjQwJSIgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj5HLqBDb2RlIGZvciBSZXRyaWV2aW5nIEF0dHJpYnV0ZSBWYWx1ZSBFeGFtcGxloDwvdGQ+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJjZW50ZXIiPjxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iaW5kZXguaHRtbCI+SG9tZTwvYT48L3RkPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIj6gSS6gQWNrbm93bGVkZ2VtZW50czwvdGQ+PC90cj48L3RhYmxlPjwvZGl2PjwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy90dXRvcmlhbC9hcGkuaHRtbCBiL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2FwaS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE2ZTc5ODEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy90dXRvcmlhbC9hcGkuaHRtbApAQCAtMCwwICsxLDQgQEAKKzxodG1sPjxoZWFkPjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTEiPjx0aXRsZT5JLqBBY2tub3dsZWRnZW1lbnRzPC90aXRsZT48bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9IkRvY0Jvb2sgWFNMIFN0eWxlc2hlZXRzIFYxLjYxLjIiPjxsaW5rIHJlbD0iaG9tZSIgaHJlZj0iaW5kZXguaHRtbCIgdGl0bGU9IkxpYnhtbCBUdXRvcmlhbCI+PGxpbmsgcmVsPSJ1cCIgaHJlZj0iaW5kZXguaHRtbCIgdGl0bGU9IkxpYnhtbCBUdXRvcmlhbCI+PGxpbmsgcmVsPSJwcmV2aW91cyIgaHJlZj0iYXBoLmh0bWwiIHRpdGxlPSJILqBDb2RlIGZvciBFbmNvZGluZyBDb252ZXJzaW9uIEV4YW1wbGUiPjxsaW5rIHJlbD0ibmV4dCIgaHJlZj0iaXgwMS5odG1sIiB0aXRsZT0iSW5kZXgiPjwvaGVhZD48Ym9keSBiZ2NvbG9yPSJ3aGl0ZSIgdGV4dD0iYmxhY2siIGxpbms9IiMwMDAwRkYiIHZsaW5rPSIjODQwMDg0IiBhbGluaz0iIzAwMDBGRiI+PGRpdiBjbGFzcz0ibmF2aGVhZGVyIj48dGFibGUgd2lkdGg9IjEwMCUiIHN1bW1hcnk9Ik5hdmlnYXRpb24gaGVhZGVyIj48dHI+PHRoIGNvbHNwYW49IjMiIGFsaWduPSJjZW50ZXIiPkkuoEFja25vd2xlZGdlbWVudHM8L3RoPjwvdHI+PHRyPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0ibGVmdCI+PGEgYWNjZXNza2V5PSJwIiBocmVmPSJhcGguaHRtbCI+UHJldjwvYT6gPC90ZD48dGggd2lkdGg9IjYwJSIgYWxpZ249ImNlbnRlciI+oDwvdGg+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJyaWdodCI+oDxhIGFjY2Vzc2tleT0ibiIgaHJlZj0iaXgwMS5odG1sIj5OZXh0PC9hPjwvdGQ+PC90cj48L3RhYmxlPjxocj48L2Rpdj48ZGl2IGNsYXNzPSJhcHBlbmRpeCIgbGFuZz0iZW4iPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMiBjbGFzcz0idGl0bGUiPjxhIG5hbWU9ImlkMjU4ODU5NyI+PC9hPkkuoEFja25vd2xlZGdlbWVudHM8L2gyPjwvZGl2PjwvZGl2PjxkaXY+PC9kaXY+PC9kaXY+PHA+QSBudW1iZXIgb2YgcGVvcGxlIGhhdmUgZ2VuZXJvdXNseSBvZmZlcmVkIGZlZWRiYWNrLCBjb2RlIGFuZAorICAgIHN1Z2dlc3RlZCBpbXByb3ZlbWVudHMgdG8gdGhpcyB0dXRvcmlhbC4gSW4gbm8gcGFydGljdWxhciBvcmRlcjoKKyAgICAgIDxzcGFuIGNsYXNzPSJzaW1wbGVsaXN0Ij5EYW5pZWwgVmVpbGxhcmQsIE1hcmN1cyBMYWJpYiBJc2thbmRlciwgQ2hyaXN0b3BoZXIgUi4gSGFycmlzLCBJZ29yIFpsYXRrb3ZpYywgTmlyYWogVG9saWEsIERhdmlkIFR1cm92ZXI8L3NwYW4+CisgICAgPC9wPjwvZGl2PjxkaXYgY2xhc3M9Im5hdmZvb3RlciI+PGhyPjx0YWJsZSB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBmb290ZXIiPjx0cj48dGQgd2lkdGg9IjQwJSIgYWxpZ249ImxlZnQiPjxhIGFjY2Vzc2tleT0icCIgaHJlZj0iYXBoLmh0bWwiPlByZXY8L2E+oDwvdGQ+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJjZW50ZXIiPjxhIGFjY2Vzc2tleT0idSIgaHJlZj0iaW5kZXguaHRtbCI+VXA8L2E+PC90ZD48dGQgd2lkdGg9IjQwJSIgYWxpZ249InJpZ2h0Ij6gPGEgYWNjZXNza2V5PSJuIiBocmVmPSJpeDAxLmh0bWwiPk5leHQ8L2E+PC90ZD48L3RyPjx0cj48dGQgd2lkdGg9IjQwJSIgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj5ILqBDb2RlIGZvciBFbmNvZGluZyBDb252ZXJzaW9uIEV4YW1wbGWgPC90ZD48dGQgd2lkdGg9IjIwJSIgYWxpZ249ImNlbnRlciI+PGEgYWNjZXNza2V5PSJoIiBocmVmPSJpbmRleC5odG1sIj5Ib21lPC9hPjwvdGQ+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPqBJbmRleDwvdGQ+PC90cj48L3RhYmxlPjwvZGl2PjwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy90dXRvcmlhbC9hcjAxczAyLmh0bWwgYi9saWJ4bWwyL2RvYy90dXRvcmlhbC9hcjAxczAyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWUzMGE5OAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2FyMDFzMDIuaHRtbApAQCAtMCwwICsxLDE0IEBACis8aHRtbD48aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1JU08tODg1OS0xIj48dGl0bGU+RGF0YSBUeXBlczwvdGl0bGU+PG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJEb2NCb29rIFhTTCBTdHlsZXNoZWV0cyBWMS42MS4yIj48bGluayByZWw9ImhvbWUiIGhyZWY9ImluZGV4Lmh0bWwiIHRpdGxlPSJMaWJ4bWwgVHV0b3JpYWwiPjxsaW5rIHJlbD0idXAiIGhyZWY9ImluZGV4Lmh0bWwiIHRpdGxlPSJMaWJ4bWwgVHV0b3JpYWwiPjxsaW5rIHJlbD0icHJldmlvdXMiIGhyZWY9ImluZGV4Lmh0bWwiIHRpdGxlPSJMaWJ4bWwgVHV0b3JpYWwiPjxsaW5rIHJlbD0ibmV4dCIgaHJlZj0iYXIwMXMwMy5odG1sIiB0aXRsZT0iUGFyc2luZyB0aGUgZmlsZSI+PC9oZWFkPjxib2R5IGJnY29sb3I9IndoaXRlIiB0ZXh0PSJibGFjayIgbGluaz0iIzAwMDBGRiIgdmxpbms9IiM4NDAwODQiIGFsaW5rPSIjMDAwMEZGIj48ZGl2IGNsYXNzPSJuYXZoZWFkZXIiPjx0YWJsZSB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBoZWFkZXIiPjx0cj48dGggY29sc3Bhbj0iMyIgYWxpZ249ImNlbnRlciI+RGF0YSBUeXBlczwvdGg+PC90cj48dHI+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJsZWZ0Ij48YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImluZGV4Lmh0bWwiPlByZXY8L2E+oDwvdGQ+PHRoIHdpZHRoPSI2MCUiIGFsaWduPSJjZW50ZXIiPqA8L3RoPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0icmlnaHQiPqA8YSBhY2Nlc3NrZXk9Im4iIGhyZWY9ImFyMDFzMDMuaHRtbCI+TmV4dDwvYT48L3RkPjwvdHI+PC90YWJsZT48aHI+PC9kaXY+PGRpdiBjbGFzcz0ic2VjdDEiIGxhbmc9ImVuIj48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDIgY2xhc3M9InRpdGxlIiBzdHlsZT0iY2xlYXI6IGJvdGgiPjxhIG5hbWU9InhtbHR1dG9yaWFsZGF0YXR5cGVzIj48L2E+RGF0YSBUeXBlczwvaDI+PC9kaXY+PC9kaXY+PGRpdj48L2Rpdj48L2Rpdj48cD48c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkxpYnhtbDwvc3Bhbj4gZGVjbGFyZXMgYSBudW1iZXIgb2YgZGF0YSB0eXBlcyB3ZQorICAgIHdpbGwgZW5jb3VudGVyIHJlcGVhdGVkbHksIGhpZGluZyB0aGUgbWVzc3kgc3R1ZmYgc28geW91IGRvIG5vdCBoYXZlIHRvIGRlYWwKKyAgICB3aXRoIGl0IHVubGVzcyB5b3UgaGF2ZSBzb21lIHNwZWNpZmljIG5lZWQuPC9wPjxwPgorICAgICAgPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PGRsPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PGEgY2xhc3M9ImluZGV4dGVybSIgbmFtZT0iaWQyNTI2MTg2Ij48L2E+Cis8YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvaHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTENIQVIiIHRhcmdldD0iX3RvcCI+eG1sQ2hhcjwvYT48L3NwYW4+PC9kdD48ZGQ+PHA+QSBiYXNpYyByZXBsYWNlbWVudCBmb3IgY2hhciwgYSBieXRlIGluIGEgVVRGLTggZW5jb2RlZAorCSAgICBzdHJpbmcuIElmIHlvdXIgZGF0YSB1c2VzIGFub3RoZXIgZW5jb2RpbmcsIGl0IG11c3QgYmUgY29udmVydGVkIHRvCisJICAgICAgVVRGLTggZm9yIHVzZSB3aXRoIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+bGlieG1sJ3M8L3NwYW4+CisJICAgICAgZnVuY3Rpb25zLiBNb3JlIGluZm9ybWF0aW9uIG9uIGVuY29kaW5nIGlzIGF2YWlsYWJsZSBvbiB0aGUgPGEgaHJlZj0iaHR0cDovL3d3dy54bWxzb2Z0Lm9yZy9lbmNvZGluZy5odG1sIiB0YXJnZXQ9Il90b3AiPjxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+bGlieG1sPC9zcGFuPiBlbmNvZGluZyBzdXBwb3J0IHdlYiBwYWdlPC9hPi48L3A+PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjxhIGNsYXNzPSJpbmRleHRlcm0iIG5hbWU9ImlkMjUyNjIzMiI+PC9hPgorCSAgICA8YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvaHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTERPQyIgdGFyZ2V0PSJfdG9wIj54bWxEb2M8L2E+PC9zcGFuPjwvZHQ+PGRkPjxwPkEgc3RydWN0dXJlIGNvbnRhaW5pbmcgdGhlIHRyZWUgY3JlYXRlZCBieSBhIHBhcnNlZCBkb2MuIDxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9odG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MRE9DUFRSIiB0YXJnZXQ9Il90b3AiPnhtbERvY1B0cjwvYT4KKwkgIGlzIGEgcG9pbnRlciB0byB0aGUgc3RydWN0dXJlLjwvcD48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PGEgY2xhc3M9ImluZGV4dGVybSIgbmFtZT0iaWQyNTI2MjY2Ij48L2E+Cis8YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvaHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTE5PREVQVFIiIHRhcmdldD0iX3RvcCI+eG1sTm9kZVB0cjwvYT4KKwkgICAgYW5kIDxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9odG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MTk9ERSIgdGFyZ2V0PSJfdG9wIj54bWxOb2RlPC9hPjwvc3Bhbj48L2R0PjxkZD48cD5BIHN0cnVjdHVyZSBjb250YWluaW5nIGEgc2luZ2xlIG5vZGUuIDxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9odG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MTk9ERVBUUiIgdGFyZ2V0PSJfdG9wIj54bWxOb2RlUHRyPC9hPgorCSAgaXMgYSBwb2ludGVyIHRvIHRoZSBzdHJ1Y3R1cmUsIGFuZCBpcyB1c2VkIGluIHRyYXZlcnNpbmcgdGhlIGRvY3VtZW50IHRyZWUuPC9wPjwvZGQ+PC9kbD48L2Rpdj48cD4KKyAgICA8L3A+PC9kaXY+PGRpdiBjbGFzcz0ibmF2Zm9vdGVyIj48aHI+PHRhYmxlIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGZvb3RlciI+PHRyPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0ibGVmdCI+PGEgYWNjZXNza2V5PSJwIiBocmVmPSJpbmRleC5odG1sIj5QcmV2PC9hPqA8L3RkPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0iY2VudGVyIj48YSBhY2Nlc3NrZXk9InUiIGhyZWY9ImluZGV4Lmh0bWwiPlVwPC9hPjwvdGQ+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJyaWdodCI+oDxhIGFjY2Vzc2tleT0ibiIgaHJlZj0iYXIwMXMwMy5odG1sIj5OZXh0PC9hPjwvdGQ+PC90cj48dHI+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+TGlieG1sIFR1dG9yaWFsoDwvdGQ+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJjZW50ZXIiPjxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iaW5kZXguaHRtbCI+SG9tZTwvYT48L3RkPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIj6gUGFyc2luZyB0aGUgZmlsZTwvdGQ+PC90cj48L3RhYmxlPjwvZGl2PjwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy90dXRvcmlhbC9hcjAxczAzLmh0bWwgYi9saWJ4bWwyL2RvYy90dXRvcmlhbC9hcjAxczAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2QyOGZmZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2FyMDFzMDMuaHRtbApAQCAtMCwwICsxLDQ3IEBACis8aHRtbD48aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1JU08tODg1OS0xIj48dGl0bGU+UGFyc2luZyB0aGUgZmlsZTwvdGl0bGU+PG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJEb2NCb29rIFhTTCBTdHlsZXNoZWV0cyBWMS42MS4yIj48bGluayByZWw9ImhvbWUiIGhyZWY9ImluZGV4Lmh0bWwiIHRpdGxlPSJMaWJ4bWwgVHV0b3JpYWwiPjxsaW5rIHJlbD0idXAiIGhyZWY9ImluZGV4Lmh0bWwiIHRpdGxlPSJMaWJ4bWwgVHV0b3JpYWwiPjxsaW5rIHJlbD0icHJldmlvdXMiIGhyZWY9ImFyMDFzMDIuaHRtbCIgdGl0bGU9IkRhdGEgVHlwZXMiPjxsaW5rIHJlbD0ibmV4dCIgaHJlZj0iYXIwMXMwNC5odG1sIiB0aXRsZT0iUmV0cmlldmluZyBFbGVtZW50IENvbnRlbnQiPjwvaGVhZD48Ym9keSBiZ2NvbG9yPSJ3aGl0ZSIgdGV4dD0iYmxhY2siIGxpbms9IiMwMDAwRkYiIHZsaW5rPSIjODQwMDg0IiBhbGluaz0iIzAwMDBGRiI+PGRpdiBjbGFzcz0ibmF2aGVhZGVyIj48dGFibGUgd2lkdGg9IjEwMCUiIHN1bW1hcnk9Ik5hdmlnYXRpb24gaGVhZGVyIj48dHI+PHRoIGNvbHNwYW49IjMiIGFsaWduPSJjZW50ZXIiPlBhcnNpbmcgdGhlIGZpbGU8L3RoPjwvdHI+PHRyPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0ibGVmdCI+PGEgYWNjZXNza2V5PSJwIiBocmVmPSJhcjAxczAyLmh0bWwiPlByZXY8L2E+oDwvdGQ+PHRoIHdpZHRoPSI2MCUiIGFsaWduPSJjZW50ZXIiPqA8L3RoPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0icmlnaHQiPqA8YSBhY2Nlc3NrZXk9Im4iIGhyZWY9ImFyMDFzMDQuaHRtbCI+TmV4dDwvYT48L3RkPjwvdHI+PC90YWJsZT48aHI+PC9kaXY+PGRpdiBjbGFzcz0ic2VjdDEiIGxhbmc9ImVuIj48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDIgY2xhc3M9InRpdGxlIiBzdHlsZT0iY2xlYXI6IGJvdGgiPjxhIG5hbWU9InhtbHR1dG9yaWFscGFyc2luZyI+PC9hPlBhcnNpbmcgdGhlIGZpbGU8L2gyPjwvZGl2PjwvZGl2PjxkaXY+PC9kaXY+PC9kaXY+PHA+PGEgY2xhc3M9ImluZGV4dGVybSIgbmFtZT0iZmlsZXBhcnNpbmciPjwvYT4KK1BhcnNpbmcgdGhlIGZpbGUgcmVxdWlyZXMgb25seSB0aGUgbmFtZSBvZiB0aGUgZmlsZSBhbmQgYSBzaW5nbGUKKyAgICAgIGZ1bmN0aW9uIGNhbGwsIHBsdXMgZXJyb3IgY2hlY2tpbmcuIEZ1bGwgY29kZTogPGEgaHJlZj0iYXBjLmh0bWwiIHRpdGxlPSJDLqBDb2RlIGZvciBLZXl3b3JkIEV4YW1wbGUiPkFwcGVuZGl4oEMsIDxpPkNvZGUgZm9yIEtleXdvcmQgRXhhbXBsZTwvaT48L2E+PC9wPjxwPgorICAgIDwvcD48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+CisgICAgICAgIDxhIG5hbWU9ImRlY2xhcmVkb2MiPjwvYT48aW1nIHNyYz0iaW1hZ2VzL2NhbGxvdXRzLzEucG5nIiBhbHQ9IjEiIGJvcmRlcj0iMCI+IHhtbERvY1B0ciBkb2M7CisJPGEgbmFtZT0iZGVjbGFyZW5vZGUiPjwvYT48aW1nIHNyYz0iaW1hZ2VzL2NhbGxvdXRzLzIucG5nIiBhbHQ9IjIiIGJvcmRlcj0iMCI+IHhtbE5vZGVQdHIgY3VyOworCisJPGEgbmFtZT0icGFyc2VmaWxlIj48L2E+PGltZyBzcmM9ImltYWdlcy9jYWxsb3V0cy8zLnBuZyIgYWx0PSIzIiBib3JkZXI9IjAiPiBkb2MgPSB4bWxQYXJzZUZpbGUoZG9jbmFtZSk7CisJCisJPGEgbmFtZT0iY2hlY2twYXJzZWVycm9yIj48L2E+PGltZyBzcmM9ImltYWdlcy9jYWxsb3V0cy80LnBuZyIgYWx0PSI0IiBib3JkZXI9IjAiPiBpZiAoZG9jID09IE5VTEwgKSB7CisJCWZwcmludGYoc3RkZXJyLCJEb2N1bWVudCBub3QgcGFyc2VkIHN1Y2Nlc3NmdWxseS4gXG4iKTsKKwkJcmV0dXJuOworCX0KKworCTxhIG5hbWU9ImdldHJvb3RlbGVtZW50Ij48L2E+PGltZyBzcmM9ImltYWdlcy9jYWxsb3V0cy81LnBuZyIgYWx0PSI1IiBib3JkZXI9IjAiPiBjdXIgPSB4bWxEb2NHZXRSb290RWxlbWVudChkb2MpOworCQorCTxhIG5hbWU9ImNoZWNrZW1wdHllcnJvciI+PC9hPjxpbWcgc3JjPSJpbWFnZXMvY2FsbG91dHMvNi5wbmciIGFsdD0iNiIgYm9yZGVyPSIwIj4gaWYgKGN1ciA9PSBOVUxMKSB7CisJCWZwcmludGYoc3RkZXJyLCJlbXB0eSBkb2N1bWVudFxuIik7CisJCXhtbEZyZWVEb2MoZG9jKTsKKwkJcmV0dXJuOworCX0KKwkKKwk8YSBuYW1lPSJjaGVja3Jvb3R0eXBlIj48L2E+PGltZyBzcmM9ImltYWdlcy9jYWxsb3V0cy83LnBuZyIgYWx0PSI3IiBib3JkZXI9IjAiPiBpZiAoeG1sU3RyY21wKGN1ci0mZ3Q7bmFtZSwgKGNvbnN0IHhtbENoYXIgKikgInN0b3J5IikpIHsKKwkJZnByaW50ZihzdGRlcnIsImRvY3VtZW50IG9mIHRoZSB3cm9uZyB0eXBlLCByb290IG5vZGUgIT0gc3RvcnkiKTsKKwkJeG1sRnJlZURvYyhkb2MpOworCQlyZXR1cm47CisJfQorCisgICAgPC9wcmU+PHA+CisgICAgICA8L3A+PGRpdiBjbGFzcz0iY2FsbG91dGxpc3QiPjx0YWJsZSBib3JkZXI9IjAiIHN1bW1hcnk9IkNhbGxvdXQgbGlzdCI+PHRyPjx0ZCB3aWR0aD0iNSUiIHZhbGlnbj0idG9wIiBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iI2RlY2xhcmVkb2MiPjxpbWcgc3JjPSJpbWFnZXMvY2FsbG91dHMvMS5wbmciIGFsdD0iMSIgYm9yZGVyPSIwIj48L2E+IDwvdGQ+PHRkIHZhbGlnbj0idG9wIiBhbGlnbj0ibGVmdCI+PHA+RGVjbGFyZSB0aGUgcG9pbnRlciB0aGF0IHdpbGwgcG9pbnQgdG8geW91ciBwYXJzZWQgZG9jdW1lbnQuPC9wPjwvdGQ+PC90cj48dHI+PHRkIHdpZHRoPSI1JSIgdmFsaWduPSJ0b3AiIGFsaWduPSJsZWZ0Ij48YSBocmVmPSIjZGVjbGFyZW5vZGUiPjxpbWcgc3JjPSJpbWFnZXMvY2FsbG91dHMvMi5wbmciIGFsdD0iMiIgYm9yZGVyPSIwIj48L2E+IDwvdGQ+PHRkIHZhbGlnbj0idG9wIiBhbGlnbj0ibGVmdCI+PHA+RGVjbGFyZSBhIG5vZGUgcG9pbnRlciAoeW91J2xsIG5lZWQgdGhpcyBpbiBvcmRlciB0bworCSAgaW50ZXJhY3Qgd2l0aCBpbmRpdmlkdWFsIG5vZGVzKS48L3A+PC90ZD48L3RyPjx0cj48dGQgd2lkdGg9IjUlIiB2YWxpZ249InRvcCIgYWxpZ249ImxlZnQiPjxhIGhyZWY9IiNjaGVja3BhcnNlZXJyb3IiPjxpbWcgc3JjPSJpbWFnZXMvY2FsbG91dHMvNC5wbmciIGFsdD0iNCIgYm9yZGVyPSIwIj48L2E+IDwvdGQ+PHRkIHZhbGlnbj0idG9wIiBhbGlnbj0ibGVmdCI+PHA+Q2hlY2sgdG8gc2VlIHRoYXQgdGhlIGRvY3VtZW50IHdhcyBzdWNjZXNzZnVsbHkgcGFyc2VkLiBJZiBpdAorCSAgICB3YXMgbm90LCA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPmxpYnhtbDwvc3Bhbj4gd2lsbCBhdCB0aGlzIHBvaW50CisJICAgIHJlZ2lzdGVyIGFuIGVycm9yIGFuZCBzdG9wLiAKKwkgICAgPC9wPjxkaXYgY2xhc3M9Im5vdGUiIHN0eWxlPSJtYXJnaW4tbGVmdDogMC41aW47IG1hcmdpbi1yaWdodDogMC41aW47Ij48dGFibGUgYm9yZGVyPSIwIiBzdW1tYXJ5PSJOb3RlIj48dHI+PHRkIHJvd3NwYW49IjIiIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMjUiPjxpbWcgYWx0PSJbTm90ZV0iIHNyYz0iaW1hZ2VzL25vdGUucG5nIj48L3RkPjx0aCBhbGlnbj0ibGVmdCI+Tm90ZTwvdGg+PC90cj48dHI+PHRkIGNvbHNwYW49IjIiIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHA+PGEgY2xhc3M9ImluZGV4dGVybSIgbmFtZT0iaWQyNTI1MzM3Ij48L2E+CitPbmUgY29tbW9uIGV4YW1wbGUgb2YgYW4gZXJyb3IgYXQgdGhpcyBwb2ludCBpcyBpbXByb3BlcgorCSAgICBoYW5kbGluZyBvZiBlbmNvZGluZy4gVGhlIDxzcGFuIGNsYXNzPSJhY3JvbnltIj5YTUw8L3NwYW4+IHN0YW5kYXJkIHJlcXVpcmVzCisJICAgIGRvY3VtZW50cyBzdG9yZWQgd2l0aCBhbiBlbmNvZGluZyBvdGhlciB0aGFuIFVURi04IG9yIFVURi0xNiB0bworCSAgICBjb250YWluIGFuIGV4cGxpY2l0IGRlY2xhcmF0aW9uIG9mIHRoZWlyIGVuY29kaW5nLiBJZiB0aGUKKwkgICAgZGVjbGFyYXRpb24gaXMgdGhlcmUsIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+bGlieG1sPC9zcGFuPiB3aWxsCisJICAgIGF1dG9tYXRpY2FsbHkgcGVyZm9ybSB0aGUgbmVjZXNzYXJ5IGNvbnZlcnNpb24gdG8gVVRGLTggZm9yCisJCXlvdS4gTW9yZSBpbmZvcm1hdGlvbiBvbiA8c3BhbiBjbGFzcz0iYWNyb255bSI+WE1MJ3M8L3NwYW4+IGVuY29kaW5nCisJCXJlcXVpcmVtZW50cyBpcyBjb250YWluZWQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy14bWwjY2hhcmVuY29kaW5nIiB0YXJnZXQ9Il90b3AiPnN0YW5kYXJkPC9hPi48L3A+PC90ZD48L3RyPjwvdGFibGU+PC9kaXY+PHA+CisJICA8L3A+PC90ZD48L3RyPjx0cj48dGQgd2lkdGg9IjUlIiB2YWxpZ249InRvcCIgYWxpZ249ImxlZnQiPjxhIGhyZWY9IiNnZXRyb290ZWxlbWVudCI+PGltZyBzcmM9ImltYWdlcy9jYWxsb3V0cy81LnBuZyIgYWx0PSI1IiBib3JkZXI9IjAiPjwvYT4gPC90ZD48dGQgdmFsaWduPSJ0b3AiIGFsaWduPSJsZWZ0Ij48cD5SZXRyaWV2ZSB0aGUgZG9jdW1lbnQncyByb290IGVsZW1lbnQuPC9wPjwvdGQ+PC90cj48dHI+PHRkIHdpZHRoPSI1JSIgdmFsaWduPSJ0b3AiIGFsaWduPSJsZWZ0Ij48YSBocmVmPSIjY2hlY2tlbXB0eWVycm9yIj48aW1nIHNyYz0iaW1hZ2VzL2NhbGxvdXRzLzYucG5nIiBhbHQ9IjYiIGJvcmRlcj0iMCI+PC9hPiA8L3RkPjx0ZCB2YWxpZ249InRvcCIgYWxpZ249ImxlZnQiPjxwPkNoZWNrIHRvIG1ha2Ugc3VyZSB0aGUgZG9jdW1lbnQgYWN0dWFsbHkgY29udGFpbnMgc29tZXRoaW5nLjwvcD48L3RkPjwvdHI+PHRyPjx0ZCB3aWR0aD0iNSUiIHZhbGlnbj0idG9wIiBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iI2NoZWNrcm9vdHR5cGUiPjxpbWcgc3JjPSJpbWFnZXMvY2FsbG91dHMvNy5wbmciIGFsdD0iNyIgYm9yZGVyPSIwIj48L2E+IDwvdGQ+PHRkIHZhbGlnbj0idG9wIiBhbGlnbj0ibGVmdCI+PHA+SW4gb3VyIGNhc2UsIHdlIG5lZWQgdG8gbWFrZSBzdXJlIHRoZSBkb2N1bWVudCBpcyB0aGUgcmlnaHQKKwkgIHR5cGUuICJzdG9yeSIgaXMgdGhlIHJvb3QgdHlwZSBvZiB0aGUgZG9jdW1lbnRzIHVzZWQgaW4gdGhpcworCSAgdHV0b3JpYWwuPC9wPjwvdGQ+PC90cj48L3RhYmxlPjwvZGl2PjxwPgorICAgICAgPGEgY2xhc3M9ImluZGV4dGVybSIgbmFtZT0iaWQyNTI1NDE1Ij48L2E+CisgICAgPC9wPjwvZGl2PjxkaXYgY2xhc3M9Im5hdmZvb3RlciI+PGhyPjx0YWJsZSB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBmb290ZXIiPjx0cj48dGQgd2lkdGg9IjQwJSIgYWxpZ249ImxlZnQiPjxhIGFjY2Vzc2tleT0icCIgaHJlZj0iYXIwMXMwMi5odG1sIj5QcmV2PC9hPqA8L3RkPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0iY2VudGVyIj48YSBhY2Nlc3NrZXk9InUiIGhyZWY9ImluZGV4Lmh0bWwiPlVwPC9hPjwvdGQ+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJyaWdodCI+oDxhIGFjY2Vzc2tleT0ibiIgaHJlZj0iYXIwMXMwNC5odG1sIj5OZXh0PC9hPjwvdGQ+PC90cj48dHI+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+RGF0YSBUeXBlc6A8L3RkPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0iY2VudGVyIj48YSBhY2Nlc3NrZXk9ImgiIGhyZWY9ImluZGV4Lmh0bWwiPkhvbWU8L2E+PC90ZD48dGQgd2lkdGg9IjQwJSIgYWxpZ249InJpZ2h0IiB2YWxpZ249InRvcCI+oFJldHJpZXZpbmcgRWxlbWVudCBDb250ZW50PC90ZD48L3RyPjwvdGFibGU+PC9kaXY+PC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2FyMDFzMDQuaHRtbCBiL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2FyMDFzMDQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMTQ5MmViCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvdHV0b3JpYWwvYXIwMXMwNC5odG1sCkBAIC0wLDAgKzEsNTQgQEAKKzxodG1sPjxoZWFkPjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTEiPjx0aXRsZT5SZXRyaWV2aW5nIEVsZW1lbnQgQ29udGVudDwvdGl0bGU+PG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJEb2NCb29rIFhTTCBTdHlsZXNoZWV0cyBWMS42MS4yIj48bGluayByZWw9ImhvbWUiIGhyZWY9ImluZGV4Lmh0bWwiIHRpdGxlPSJMaWJ4bWwgVHV0b3JpYWwiPjxsaW5rIHJlbD0idXAiIGhyZWY9ImluZGV4Lmh0bWwiIHRpdGxlPSJMaWJ4bWwgVHV0b3JpYWwiPjxsaW5rIHJlbD0icHJldmlvdXMiIGhyZWY9ImFyMDFzMDMuaHRtbCIgdGl0bGU9IlBhcnNpbmcgdGhlIGZpbGUiPjxsaW5rIHJlbD0ibmV4dCIgaHJlZj0iYXIwMXMwNS5odG1sIiB0aXRsZT0iVXNpbmcgWFBhdGggdG8gUmV0cmlldmUgRWxlbWVudCBDb250ZW50Ij48L2hlYWQ+PGJvZHkgYmdjb2xvcj0id2hpdGUiIHRleHQ9ImJsYWNrIiBsaW5rPSIjMDAwMEZGIiB2bGluaz0iIzg0MDA4NCIgYWxpbms9IiMwMDAwRkYiPjxkaXYgY2xhc3M9Im5hdmhlYWRlciI+PHRhYmxlIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciI+PHRyPjx0aCBjb2xzcGFuPSIzIiBhbGlnbj0iY2VudGVyIj5SZXRyaWV2aW5nIEVsZW1lbnQgQ29udGVudDwvdGg+PC90cj48dHI+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJsZWZ0Ij48YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImFyMDFzMDMuaHRtbCI+UHJldjwvYT6gPC90ZD48dGggd2lkdGg9IjYwJSIgYWxpZ249ImNlbnRlciI+oDwvdGg+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJyaWdodCI+oDxhIGFjY2Vzc2tleT0ibiIgaHJlZj0iYXIwMXMwNS5odG1sIj5OZXh0PC9hPjwvdGQ+PC90cj48L3RhYmxlPjxocj48L2Rpdj48ZGl2IGNsYXNzPSJzZWN0MSIgbGFuZz0iZW4iPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMiBjbGFzcz0idGl0bGUiIHN0eWxlPSJjbGVhcjogYm90aCI+PGEgbmFtZT0ieG1sdHV0b3JpYWxnZXR0ZXh0Ij48L2E+UmV0cmlldmluZyBFbGVtZW50IENvbnRlbnQ8L2gyPjwvZGl2PjwvZGl2PjxkaXY+PC9kaXY+PC9kaXY+PHA+PGEgY2xhc3M9ImluZGV4dGVybSIgbmFtZT0iaWQyNTI1NDM5Ij48L2E+CitSZXRyaWV2aW5nIHRoZSBjb250ZW50IG9mIGFuIGVsZW1lbnQgaW52b2x2ZXMgdHJhdmVyc2luZyB0aGUgZG9jdW1lbnQKKyAgICB0cmVlIHVudGlsIHlvdSBmaW5kIHdoYXQgeW91IGFyZSBsb29raW5nIGZvci4gSW4gdGhpcyBjYXNlLCB3ZSBhcmUgbG9va2luZworICAgIGZvciBhbiBlbGVtZW50IGNhbGxlZCAia2V5d29yZCIgY29udGFpbmVkIHdpdGhpbiBlbGVtZW50IGNhbGxlZCAic3RvcnkiLiBUaGUKKyAgICBwcm9jZXNzIHRvIGZpbmQgdGhlIG5vZGUgd2UgYXJlIGludGVyZXN0ZWQgaW4gaW52b2x2ZXMgdGVkaW91c2x5IHdhbGtpbmcgdGhlCisgICAgdHJlZS4gV2UgYXNzdW1lIHlvdSBhbHJlYWR5IGhhdmUgYW4geG1sRG9jUHRyIGNhbGxlZCA8dHQgY2xhc3M9InZhcm5hbWUiPmRvYzwvdHQ+CisgICAgYW5kIGFuIHhtbE5vZFB0ciBjYWxsZWQgPHR0IGNsYXNzPSJ2YXJuYW1lIj5jdXI8L3R0Pi48L3A+PHA+CisgICAgICA8L3A+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPgorCTxhIG5hbWU9ImdldGNoaWxkbm9kZSI+PC9hPjxpbWcgc3JjPSJpbWFnZXMvY2FsbG91dHMvMS5wbmciIGFsdD0iMSIgYm9yZGVyPSIwIj5jdXIgPSBjdXItJmd0O3htbENoaWxkcmVuTm9kZTsKKwk8YSBuYW1lPSJodW50c3RvcnlpbmZvIj48L2E+PGltZyBzcmM9ImltYWdlcy9jYWxsb3V0cy8yLnBuZyIgYWx0PSIyIiBib3JkZXI9IjAiPndoaWxlIChjdXIgIT0gTlVMTCkgeworCQlpZiAoKCF4bWxTdHJjbXAoY3VyLSZndDtuYW1lLCAoY29uc3QgeG1sQ2hhciAqKSJzdG9yeWluZm8iKSkpeworCQkJcGFyc2VTdG9yeSAoZG9jLCBjdXIpOworCQl9CisJCSAKKwljdXIgPSBjdXItJmd0O25leHQ7CisJfQorICAgICAgPC9wcmU+PHA+CisKKyAgICAgIDwvcD48ZGl2IGNsYXNzPSJjYWxsb3V0bGlzdCI+PHRhYmxlIGJvcmRlcj0iMCIgc3VtbWFyeT0iQ2FsbG91dCBsaXN0Ij48dHI+PHRkIHdpZHRoPSI1JSIgdmFsaWduPSJ0b3AiIGFsaWduPSJsZWZ0Ij48YSBocmVmPSIjZ2V0Y2hpbGRub2RlIj48aW1nIHNyYz0iaW1hZ2VzL2NhbGxvdXRzLzEucG5nIiBhbHQ9IjEiIGJvcmRlcj0iMCI+PC9hPiA8L3RkPjx0ZCB2YWxpZ249InRvcCIgYWxpZ249ImxlZnQiPjxwPkdldCB0aGUgZmlyc3QgY2hpbGQgbm9kZSBvZiA8dHQgY2xhc3M9InZhcm5hbWUiPmN1cjwvdHQ+LiBBdCB0aGlzCisJICAgIHBvaW50LCA8dHQgY2xhc3M9InZhcm5hbWUiPmN1cjwvdHQ+IHBvaW50cyBhdCB0aGUgZG9jdW1lbnQgcm9vdCwgd2hpY2ggaXMKKwkgICAgdGhlIGVsZW1lbnQgInN0b3J5Ii48L3A+PC90ZD48L3RyPjx0cj48dGQgd2lkdGg9IjUlIiB2YWxpZ249InRvcCIgYWxpZ249ImxlZnQiPjxhIGhyZWY9IiNodW50c3RvcnlpbmZvIj48aW1nIHNyYz0iaW1hZ2VzL2NhbGxvdXRzLzIucG5nIiBhbHQ9IjIiIGJvcmRlcj0iMCI+PC9hPiA8L3RkPjx0ZCB2YWxpZ249InRvcCIgYWxpZ249ImxlZnQiPjxwPlRoaXMgbG9vcCBpdGVyYXRlcyB0aHJvdWdoIHRoZSBlbGVtZW50cyB0aGF0IGFyZSBjaGlsZHJlbiBvZgorCSAgInN0b3J5IiwgbG9va2luZyBmb3Igb25lIGNhbGxlZCAic3RvcnlpbmZvIi4gVGhhdAorCSAgaXMgdGhlIGVsZW1lbnQgdGhhdCB3aWxsIGNvbnRhaW4gdGhlICJrZXl3b3JkcyIgd2UgYXJlCisJICAgIGxvb2tpbmcgZm9yLiBJdCB1c2VzIHRoZSA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPmxpYnhtbDwvc3Bhbj4gc3RyaW5nCisJICBjb21wYXJpc29uCisJICAgIGZ1bmN0aW9uLCA8dHQgY2xhc3M9ImZ1bmN0aW9uIj48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MU1RSQ01QIiB0YXJnZXQ9Il90b3AiPnhtbFN0cmNtcDwvYT48L3R0Pi4gSWYgdGhlcmUgaXMgYSBtYXRjaCwgaXQgY2FsbHMgdGhlIGZ1bmN0aW9uIDx0dCBjbGFzcz0iZnVuY3Rpb24iPnBhcnNlU3Rvcnk8L3R0Pi48L3A+PC90ZD48L3RyPjwvdGFibGU+PC9kaXY+PHA+CisgICAgPC9wPjxwPgorICAgICAgPC9wPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4KK3ZvaWQKK3BhcnNlU3RvcnkgKHhtbERvY1B0ciBkb2MsIHhtbE5vZGVQdHIgY3VyKSB7CisKKwl4bWxDaGFyICprZXk7CisJPGEgbmFtZT0iYW5vdGhlcmdldGNoaWxkIj48L2E+PGltZyBzcmM9ImltYWdlcy9jYWxsb3V0cy8xLnBuZyIgYWx0PSIxIiBib3JkZXI9IjAiPiBjdXIgPSBjdXItJmd0O3htbENoaWxkcmVuTm9kZTsKKwk8YSBuYW1lPSJmaW5ka2V5d29yZCI+PC9hPjxpbWcgc3JjPSJpbWFnZXMvY2FsbG91dHMvMi5wbmciIGFsdD0iMiIgYm9yZGVyPSIwIj4gd2hpbGUgKGN1ciAhPSBOVUxMKSB7CisJICAgIGlmICgoIXhtbFN0cmNtcChjdXItJmd0O25hbWUsIChjb25zdCB4bWxDaGFyICopImtleXdvcmQiKSkpIHsKKwk8YSBuYW1lPSJmb3VuZGtleXdvcmQiPjwvYT48aW1nIHNyYz0iaW1hZ2VzL2NhbGxvdXRzLzMucG5nIiBhbHQ9IjMiIGJvcmRlcj0iMCI+CSAgICBrZXkgPSB4bWxOb2RlTGlzdEdldFN0cmluZyhkb2MsIGN1ci0mZ3Q7eG1sQ2hpbGRyZW5Ob2RlLCAxKTsKKwkJICAgIHByaW50Zigia2V5d29yZDogJXNcbiIsIGtleSk7CisJCSAgICB4bWxGcmVlKGtleSk7CisgCSAgICB9CisJY3VyID0gY3VyLSZndDtuZXh0OworCX0KKyAgICByZXR1cm47Cit9CisgICAgICA8L3ByZT48cD4KKyAgICAgIDwvcD48ZGl2IGNsYXNzPSJjYWxsb3V0bGlzdCI+PHRhYmxlIGJvcmRlcj0iMCIgc3VtbWFyeT0iQ2FsbG91dCBsaXN0Ij48dHI+PHRkIHdpZHRoPSI1JSIgdmFsaWduPSJ0b3AiIGFsaWduPSJsZWZ0Ij48YSBocmVmPSIjYW5vdGhlcmdldGNoaWxkIj48aW1nIHNyYz0iaW1hZ2VzL2NhbGxvdXRzLzEucG5nIiBhbHQ9IjEiIGJvcmRlcj0iMCI+PC9hPiA8L3RkPjx0ZCB2YWxpZ249InRvcCIgYWxpZ249ImxlZnQiPjxwPkFnYWluIHdlIGdldCB0aGUgZmlyc3QgY2hpbGQgbm9kZS48L3A+PC90ZD48L3RyPjx0cj48dGQgd2lkdGg9IjUlIiB2YWxpZ249InRvcCIgYWxpZ249ImxlZnQiPjxhIGhyZWY9IiNmaW5ka2V5d29yZCI+PGltZyBzcmM9ImltYWdlcy9jYWxsb3V0cy8yLnBuZyIgYWx0PSIyIiBib3JkZXI9IjAiPjwvYT4gPC90ZD48dGQgdmFsaWduPSJ0b3AiIGFsaWduPSJsZWZ0Ij48cD5MaWtlIHRoZSBsb29wIGFib3ZlLCB3ZSB0aGVuIGl0ZXJhdGUgdGhyb3VnaCB0aGUgbm9kZXMsIGxvb2tpbmcKKwkgIGZvciBvbmUgdGhhdCBtYXRjaGVzIHRoZSBlbGVtZW50IHdlJ3JlIGludGVyZXN0ZWQgaW4sIGluIHRoaXMgY2FzZQorCSAgImtleXdvcmQiLjwvcD48L3RkPjwvdHI+PHRyPjx0ZCB3aWR0aD0iNSUiIHZhbGlnbj0idG9wIiBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iI2ZvdW5ka2V5d29yZCI+PGltZyBzcmM9ImltYWdlcy9jYWxsb3V0cy8zLnBuZyIgYWx0PSIzIiBib3JkZXI9IjAiPjwvYT4gPC90ZD48dGQgdmFsaWduPSJ0b3AiIGFsaWduPSJsZWZ0Ij48cD5XaGVuIHdlIGZpbmQgdGhlICJrZXl3b3JkIiBlbGVtZW50LCB3ZSBuZWVkIHRvIHByaW50CisJICAgIGl0cyBjb250ZW50cy4gUmVtZW1iZXIgdGhhdCBpbiA8c3BhbiBjbGFzcz0iYWNyb255bSI+WE1MPC9zcGFuPiwgdGhlIHRleHQKKwkgICAgY29udGFpbmVkIHdpdGhpbiBhbiBlbGVtZW50IGlzIGEgY2hpbGQgbm9kZSBvZiB0aGF0IGVsZW1lbnQsIHNvIHdlCisJICAgIHR1cm4gdG8gPHR0IGNsYXNzPSJ2YXJuYW1lIj5jdXItJmd0O3htbENoaWxkcmVuTm9kZTwvdHQ+LiBUbyByZXRyaWV2ZSBpdCwgd2UKKwkgICAgdXNlIHRoZSBmdW5jdGlvbiA8dHQgY2xhc3M9ImZ1bmN0aW9uIj48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvaHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTE5PREVMSVNUR0VUU1RSSU5HIiB0YXJnZXQ9Il90b3AiPnhtbE5vZGVMaXN0R2V0U3RyaW5nPC9hPjwvdHQ+LCB3aGljaCBhbHNvIHRha2VzIHRoZSA8dHQgY2xhc3M9InZhcm5hbWUiPmRvYzwvdHQ+IHBvaW50ZXIgYXMgYW4gYXJndW1lbnQuIEluIHRoaXMgY2FzZSwgd2UganVzdCBwcmludCBpdCBvdXQuPC9wPjxkaXYgY2xhc3M9Im5vdGUiIHN0eWxlPSJtYXJnaW4tbGVmdDogMC41aW47IG1hcmdpbi1yaWdodDogMC41aW47Ij48dGFibGUgYm9yZGVyPSIwIiBzdW1tYXJ5PSJOb3RlIj48dHI+PHRkIHJvd3NwYW49IjIiIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMjUiPjxpbWcgYWx0PSJbTm90ZV0iIHNyYz0iaW1hZ2VzL25vdGUucG5nIj48L3RkPjx0aCBhbGlnbj0ibGVmdCI+Tm90ZTwvdGg+PC90cj48dHI+PHRkIGNvbHNwYW49IjIiIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHA+QmVjYXVzZSA8dHQgY2xhc3M9ImZ1bmN0aW9uIj54bWxOb2RlTGlzdEdldFN0cmluZzwvdHQ+IGFsbG9jYXRlcworCSAgICAgIG1lbW9yeSBmb3IgdGhlIHN0cmluZyBpdCByZXR1cm5zLCB5b3UgbXVzdCB1c2UKKwkgICAgICA8dHQgY2xhc3M9ImZ1bmN0aW9uIj54bWxGcmVlPC90dD4gdG8gZnJlZSBpdC48L3A+PC90ZD48L3RyPjwvdGFibGU+PC9kaXY+PC90ZD48L3RyPjwvdGFibGU+PC9kaXY+PHA+CisgICAgPC9wPjwvZGl2PjxkaXYgY2xhc3M9Im5hdmZvb3RlciI+PGhyPjx0YWJsZSB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBmb290ZXIiPjx0cj48dGQgd2lkdGg9IjQwJSIgYWxpZ249ImxlZnQiPjxhIGFjY2Vzc2tleT0icCIgaHJlZj0iYXIwMXMwMy5odG1sIj5QcmV2PC9hPqA8L3RkPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0iY2VudGVyIj48YSBhY2Nlc3NrZXk9InUiIGhyZWY9ImluZGV4Lmh0bWwiPlVwPC9hPjwvdGQ+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJyaWdodCI+oDxhIGFjY2Vzc2tleT0ibiIgaHJlZj0iYXIwMXMwNS5odG1sIj5OZXh0PC9hPjwvdGQ+PC90cj48dHI+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+UGFyc2luZyB0aGUgZmlsZaA8L3RkPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0iY2VudGVyIj48YSBhY2Nlc3NrZXk9ImgiIGhyZWY9ImluZGV4Lmh0bWwiPkhvbWU8L2E+PC90ZD48dGQgd2lkdGg9IjQwJSIgYWxpZ249InJpZ2h0IiB2YWxpZ249InRvcCI+oFVzaW5nIFhQYXRoIHRvIFJldHJpZXZlIEVsZW1lbnQgQ29udGVudDwvdGQ+PC90cj48L3RhYmxlPjwvZGl2PjwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy90dXRvcmlhbC9hcjAxczA1Lmh0bWwgYi9saWJ4bWwyL2RvYy90dXRvcmlhbC9hcjAxczA1Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWM0MDkyNQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2FyMDFzMDUuaHRtbApAQCAtMCwwICsxLDU1IEBACis8aHRtbD48aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1JU08tODg1OS0xIj48dGl0bGU+VXNpbmcgWFBhdGggdG8gUmV0cmlldmUgRWxlbWVudCBDb250ZW50PC90aXRsZT48bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9IkRvY0Jvb2sgWFNMIFN0eWxlc2hlZXRzIFYxLjYxLjIiPjxsaW5rIHJlbD0iaG9tZSIgaHJlZj0iaW5kZXguaHRtbCIgdGl0bGU9IkxpYnhtbCBUdXRvcmlhbCI+PGxpbmsgcmVsPSJ1cCIgaHJlZj0iaW5kZXguaHRtbCIgdGl0bGU9IkxpYnhtbCBUdXRvcmlhbCI+PGxpbmsgcmVsPSJwcmV2aW91cyIgaHJlZj0iYXIwMXMwNC5odG1sIiB0aXRsZT0iUmV0cmlldmluZyBFbGVtZW50IENvbnRlbnQiPjxsaW5rIHJlbD0ibmV4dCIgaHJlZj0iYXIwMXMwNi5odG1sIiB0aXRsZT0iV3JpdGluZyBlbGVtZW50IGNvbnRlbnQiPjwvaGVhZD48Ym9keSBiZ2NvbG9yPSJ3aGl0ZSIgdGV4dD0iYmxhY2siIGxpbms9IiMwMDAwRkYiIHZsaW5rPSIjODQwMDg0IiBhbGluaz0iIzAwMDBGRiI+PGRpdiBjbGFzcz0ibmF2aGVhZGVyIj48dGFibGUgd2lkdGg9IjEwMCUiIHN1bW1hcnk9Ik5hdmlnYXRpb24gaGVhZGVyIj48dHI+PHRoIGNvbHNwYW49IjMiIGFsaWduPSJjZW50ZXIiPlVzaW5nIFhQYXRoIHRvIFJldHJpZXZlIEVsZW1lbnQgQ29udGVudDwvdGg+PC90cj48dHI+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJsZWZ0Ij48YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImFyMDFzMDQuaHRtbCI+UHJldjwvYT6gPC90ZD48dGggd2lkdGg9IjYwJSIgYWxpZ249ImNlbnRlciI+oDwvdGg+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJyaWdodCI+oDxhIGFjY2Vzc2tleT0ibiIgaHJlZj0iYXIwMXMwNi5odG1sIj5OZXh0PC9hPjwvdGQ+PC90cj48L3RhYmxlPjxocj48L2Rpdj48ZGl2IGNsYXNzPSJzZWN0MSIgbGFuZz0iZW4iPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMiBjbGFzcz0idGl0bGUiIHN0eWxlPSJjbGVhcjogYm90aCI+PGEgbmFtZT0ieG1sdHV0b3JpYWx4cGF0aCI+PC9hPlVzaW5nIFhQYXRoIHRvIFJldHJpZXZlIEVsZW1lbnQgQ29udGVudDwvaDI+PC9kaXY+PC9kaXY+PGRpdj48L2Rpdj48L2Rpdj48cD5JbiBhZGRpdGlvbiB0byB3YWxraW5nIHRoZSBkb2N1bWVudCB0cmVlIHRvIGZpbmQgYW4gZWxlbWVudCwKKyAgICA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPkxpYnhtbDI8L3NwYW4+IGluY2x1ZGVzIHN1cHBvcnQgZm9yCisgICAgICB1c2Ugb2YgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5YUGF0aDwvc3Bhbj4gZXhwcmVzc2lvbnMgdG8gcmV0cmlldmUgc2V0cyBvZgorICAgICAgbm9kZXMgdGhhdCBtYXRjaCBhIHNwZWNpZmllZCBjcml0ZXJpYS4gRnVsbCBkb2N1bWVudGF0aW9uIG9mIHRoZQorICAgICAgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5YUGF0aDwvc3Bhbj4gPHNwYW4gY2xhc3M9ImFjcm9ueW0iPkFQSTwvc3Bhbj4gaXMgPGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnL2h0bWwvbGlieG1sLXhwYXRoLmh0bWwiIHRhcmdldD0iX3RvcCI+aGVyZTwvYT4uCisgICAgPC9wPjxwPjxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+WFBhdGg8L3NwYW4+IGFsbG93cyBzZWFyY2hpbmcgdGhyb3VnaCBhIGRvY3VtZW50CisgICAgZm9yIG5vZGVzIHRoYXQgbWF0Y2ggc3BlY2lmaWVkIGNyaXRlcmlhLiBJbiB0aGUgZXhhbXBsZSBiZWxvdyB3ZSBzZWFyY2gKKyAgICAgIHRocm91Z2ggYSBkb2N1bWVudCBmb3IgdGhlIGNvbnRlbnRzIG9mIGFsbCA8dHQgY2xhc3M9InZhcm5hbWUiPmtleXdvcmQ8L3R0PgorICAgIGVsZW1lbnRzLgorICAgICAgPC9wPjxkaXYgY2xhc3M9Im5vdGUiIHN0eWxlPSJtYXJnaW4tbGVmdDogMC41aW47IG1hcmdpbi1yaWdodDogMC41aW47Ij48dGFibGUgYm9yZGVyPSIwIiBzdW1tYXJ5PSJOb3RlIj48dHI+PHRkIHJvd3NwYW49IjIiIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMjUiPjxpbWcgYWx0PSJbTm90ZV0iIHNyYz0iaW1hZ2VzL25vdGUucG5nIj48L3RkPjx0aCBhbGlnbj0ibGVmdCI+Tm90ZTwvdGg+PC90cj48dHI+PHRkIGNvbHNwYW49IjIiIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHA+QSBmdWxsIGRpc2N1c3Npb24gb2YgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5YUGF0aDwvc3Bhbj4gaXMgYmV5b25kCisJICB0aGUgc2NvcGUgb2YgdGhpcyBkb2N1bWVudC4gRm9yIGRldGFpbHMgb24gaXRzIHVzZSwgc2VlIHRoZSA8YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi94cGF0aCIgdGFyZ2V0PSJfdG9wIj5YUGF0aCBzcGVjaWZpY2F0aW9uPC9hPi48L3A+PC90ZD48L3RyPjwvdGFibGU+PC9kaXY+PHA+CisgICAgICBGdWxsIGNvZGUgZm9yIHRoaXMgZXhhbXBsZSBpcyBhdCA8YSBocmVmPSJhcGQuaHRtbCIgdGl0bGU9IkQuoENvZGUgZm9yIFhQYXRoIEV4YW1wbGUiPkFwcGVuZGl4oEQsIDxpPkNvZGUgZm9yIFhQYXRoIEV4YW1wbGU8L2k+PC9hPi4KKyAgICA8L3A+PHA+VXNpbmcgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5YUGF0aDwvc3Bhbj4gcmVxdWlyZXMgc2V0dGluZyB1cCBhbgorICAgICAgeG1sWFBhdGhDb250ZXh0IGFuZCB0aGVuIHN1cHBseWluZyB0aGUgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5YUGF0aDwvc3Bhbj4KKyAgICAgIGV4cHJlc3Npb24gYW5kIHRoZSBjb250ZXh0IHRvIHRoZQorICAgICAgPHR0IGNsYXNzPSJmdW5jdGlvbiI+eG1sWFBhdGhFdmFsRXhwcmVzc2lvbjwvdHQ+IGZ1bmN0aW9uLiBUaGUgZnVuY3Rpb24gcmV0dXJucworICAgICAgYW4geG1sWFBhdGhPYmplY3RQdHIsIHdoaWNoIGluY2x1ZGVzIHRoZSBzZXQgb2Ygbm9kZXMgc2F0aXNmeWluZyB0aGUKKyAgICAgIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+WFBhdGg8L3NwYW4+IGV4cHJlc3Npb24uPC9wPjxwPgorICAgICAgPC9wPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4KKwl4bWxYUGF0aE9iamVjdFB0cgorCWdldG5vZGVzZXQgKHhtbERvY1B0ciBkb2MsIHhtbENoYXIgKnhwYXRoKXsKKwkKKwk8YSBuYW1lPSJjb2NvbnRleHQiPjwvYT48aW1nIHNyYz0iaW1hZ2VzL2NhbGxvdXRzLzEucG5nIiBhbHQ9IjEiIGJvcmRlcj0iMCI+eG1sWFBhdGhDb250ZXh0UHRyIGNvbnRleHQ7CisJeG1sWFBhdGhPYmplY3RQdHIgcmVzdWx0OworCisJPGEgbmFtZT0iY29jcmVhdGVjb250ZXh0Ij48L2E+PGltZyBzcmM9ImltYWdlcy9jYWxsb3V0cy8yLnBuZyIgYWx0PSIyIiBib3JkZXI9IjAiPmNvbnRleHQgPSB4bWxYUGF0aE5ld0NvbnRleHQoZG9jKTsKKwk8YSBuYW1lPSJjb3J1bnhwYXRoIj48L2E+PGltZyBzcmM9ImltYWdlcy9jYWxsb3V0cy8zLnBuZyIgYWx0PSIzIiBib3JkZXI9IjAiPnJlc3VsdCA9IHhtbFhQYXRoRXZhbEV4cHJlc3Npb24oeHBhdGgsIGNvbnRleHQpOworCTxhIG5hbWU9ImNvY2hlY2t4cGF0aHJlc3VsdCI+PC9hPjxpbWcgc3JjPSJpbWFnZXMvY2FsbG91dHMvNC5wbmciIGFsdD0iNCIgYm9yZGVyPSIwIj5pZih4bWxYUGF0aE5vZGVTZXRJc0VtcHR5KHJlc3VsdC0mZ3Q7bm9kZXNldHZhbCkpeworCQl4bWxYUGF0aEZyZWVPYmplY3QocmVzdWx0KTsKKyAgICAgICAgICAgICAgICBwcmludGYoIk5vIHJlc3VsdFxuIik7CisJCXJldHVybiBOVUxMOworICAgICAgPC9wcmU+PHA+CisgICAgICA8L3A+PGRpdiBjbGFzcz0iY2FsbG91dGxpc3QiPjx0YWJsZSBib3JkZXI9IjAiIHN1bW1hcnk9IkNhbGxvdXQgbGlzdCI+PHRyPjx0ZCB3aWR0aD0iNSUiIHZhbGlnbj0idG9wIiBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iI2NvY29udGV4dCI+PGltZyBzcmM9ImltYWdlcy9jYWxsb3V0cy8xLnBuZyIgYWx0PSIxIiBib3JkZXI9IjAiPjwvYT4gPC90ZD48dGQgdmFsaWduPSJ0b3AiIGFsaWduPSJsZWZ0Ij48cD5GaXJzdCB3ZSBkZWNsYXJlIG91ciB2YXJpYWJsZXMuPC9wPjwvdGQ+PC90cj48dHI+PHRkIHdpZHRoPSI1JSIgdmFsaWduPSJ0b3AiIGFsaWduPSJsZWZ0Ij48YSBocmVmPSIjY29jcmVhdGVjb250ZXh0Ij48aW1nIHNyYz0iaW1hZ2VzL2NhbGxvdXRzLzIucG5nIiBhbHQ9IjIiIGJvcmRlcj0iMCI+PC9hPiA8L3RkPjx0ZCB2YWxpZ249InRvcCIgYWxpZ249ImxlZnQiPjxwPkluaXRpYWxpemUgdGhlIDx0dCBjbGFzcz0idmFybmFtZSI+Y29udGV4dDwvdHQ+IHZhcmlhYmxlLjwvcD48L3RkPjwvdHI+PHRyPjx0ZCB3aWR0aD0iNSUiIHZhbGlnbj0idG9wIiBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iI2NvcnVueHBhdGgiPjxpbWcgc3JjPSJpbWFnZXMvY2FsbG91dHMvMy5wbmciIGFsdD0iMyIgYm9yZGVyPSIwIj48L2E+IDwvdGQ+PHRkIHZhbGlnbj0idG9wIiBhbGlnbj0ibGVmdCI+PHA+QXBwbHkgdGhlIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+WFBhdGg8L3NwYW4+IGV4cHJlc3Npb24uPC9wPjwvdGQ+PC90cj48dHI+PHRkIHdpZHRoPSI1JSIgdmFsaWduPSJ0b3AiIGFsaWduPSJsZWZ0Ij48YSBocmVmPSIjY29jaGVja3hwYXRocmVzdWx0Ij48aW1nIHNyYz0iaW1hZ2VzL2NhbGxvdXRzLzQucG5nIiBhbHQ9IjQiIGJvcmRlcj0iMCI+PC9hPiA8L3RkPjx0ZCB2YWxpZ249InRvcCIgYWxpZ249ImxlZnQiPjxwPkNoZWNrIHRoZSByZXN1bHQgYW5kIGZyZWUgdGhlIG1lbW9yeSBhbGxvY2F0ZWQgdG8KKwkgICAgPHR0IGNsYXNzPSJ2YXJuYW1lIj5yZXN1bHQ8L3R0PiBpZiBubyByZXN1bHQgaXMgZm91bmQuPC9wPjwvdGQ+PC90cj48L3RhYmxlPjwvZGl2PjxwPgorICAgIDwvcD48cD5UaGUgeG1sUGF0aE9iamVjdFB0ciByZXR1cm5lZCBieSB0aGUgZnVuY3Rpb24gY29udGFpbnMgYSBzZXQgb2Ygbm9kZXMKKyAgICBhbmQgb3RoZXIgaW5mb3JtYXRpb24gbmVlZGVkIHRvIGl0ZXJhdGUgdGhyb3VnaCB0aGUgc2V0IGFuZCBhY3Qgb24gdGhlCisgICAgICByZXN1bHRzLiBGb3IgdGhpcyBleGFtcGxlLCBvdXIgZnVuY3Rpb25zIHJldHVybnMgdGhlCisgICAgPHR0IGNsYXNzPSJ2YXJuYW1lIj54bWxYUGF0aE9iamVjdFB0cjwvdHQ+LiBXZSB1c2UgaXQgdG8gcHJpbnQgdGhlIGNvbnRlbnRzIG9mCisgICAgICA8dHQgY2xhc3M9InZhcm5hbWUiPmtleXdvcmQ8L3R0PiBub2RlcyBpbiBvdXIgZG9jdW1lbnQuIFRoZSBub2RlIHNldCBvYmplY3QKKyAgICAgIGluY2x1ZGVzIHRoZSBudW1iZXIgb2YgZWxlbWVudHMgaW4gdGhlIHNldCAoPHR0IGNsYXNzPSJ2YXJuYW1lIj5ub2RlTnI8L3R0PikgYW5kCisgICAgICBhbiBhcnJheSBvZiBub2RlcyAoPHR0IGNsYXNzPSJ2YXJuYW1lIj5ub2RlVGFiPC90dD4pOgorICAgICAgPC9wPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj4KKwk8YSBuYW1lPSJjb25vZGVzZXRjb3VudGVyIj48L2E+PGltZyBzcmM9ImltYWdlcy9jYWxsb3V0cy8xLnBuZyIgYWx0PSIxIiBib3JkZXI9IjAiPmZvciAoaT0wOyBpICZsdDsgbm9kZXNldC0mZ3Q7bm9kZU5yOyBpKyspIHsKKwk8YSBuYW1lPSJjb3ByaW50a2V5d29yZHMiPjwvYT48aW1nIHNyYz0iaW1hZ2VzL2NhbGxvdXRzLzIucG5nIiBhbHQ9IjIiIGJvcmRlcj0iMCI+a2V5d29yZCA9IHhtbE5vZGVMaXN0R2V0U3RyaW5nKGRvYywgbm9kZXNldC0mZ3Q7bm9kZVRhYltpXS0mZ3Q7eG1sQ2hpbGRyZW5Ob2RlLCAxKTsKKwkJcHJpbnRmKCJrZXl3b3JkOiAlc1xuIiwga2V5d29yZCk7CisJICAgICAgICB4bWxGcmVlKGtleXdvcmQpOworCX0KKyAgICAgIDwvcHJlPjxwPgorICAgICAgPC9wPjxkaXYgY2xhc3M9ImNhbGxvdXRsaXN0Ij48dGFibGUgYm9yZGVyPSIwIiBzdW1tYXJ5PSJDYWxsb3V0IGxpc3QiPjx0cj48dGQgd2lkdGg9IjUlIiB2YWxpZ249InRvcCIgYWxpZ249ImxlZnQiPjxhIGhyZWY9IiNjb25vZGVzZXRjb3VudGVyIj48aW1nIHNyYz0iaW1hZ2VzL2NhbGxvdXRzLzEucG5nIiBhbHQ9IjEiIGJvcmRlcj0iMCI+PC9hPiA8L3RkPjx0ZCB2YWxpZ249InRvcCIgYWxpZ249ImxlZnQiPjxwPlRoZSB2YWx1ZSBvZiA8dHQgY2xhc3M9InZhcm5hbWUiPm5vZGVzZXQtJmd0O05yPC90dD4gaG9sZHMgdGhlIG51bWJlciBvZgorCSAgZWxlbWVudHMgaW4gdGhlIG5vZGUgc2V0LiBIZXJlIHdlIHVzZSBpdCB0byBpdGVyYXRlIHRocm91Z2ggdGhlIGFycmF5LjwvcD48L3RkPjwvdHI+PHRyPjx0ZCB3aWR0aD0iNSUiIHZhbGlnbj0idG9wIiBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iI2NvcHJpbnRrZXl3b3JkcyI+PGltZyBzcmM9ImltYWdlcy9jYWxsb3V0cy8yLnBuZyIgYWx0PSIyIiBib3JkZXI9IjAiPjwvYT4gPC90ZD48dGQgdmFsaWduPSJ0b3AiIGFsaWduPSJsZWZ0Ij48cD5IZXJlIHdlIHByaW50IHRoZSBjb250ZW50cyBvZiBlYWNoIG9mIHRoZSBub2RlcyByZXR1cm5lZC4KKwkgICAgPC9wPjxkaXYgY2xhc3M9Im5vdGUiIHN0eWxlPSJtYXJnaW4tbGVmdDogMC41aW47IG1hcmdpbi1yaWdodDogMC41aW47Ij48dGFibGUgYm9yZGVyPSIwIiBzdW1tYXJ5PSJOb3RlIj48dHI+PHRkIHJvd3NwYW49IjIiIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMjUiPjxpbWcgYWx0PSJbTm90ZV0iIHNyYz0iaW1hZ2VzL25vdGUucG5nIj48L3RkPjx0aCBhbGlnbj0ibGVmdCI+Tm90ZTwvdGg+PC90cj48dHI+PHRkIGNvbHNwYW49IjIiIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHA+Tm90ZSB0aGF0IHdlIGFyZSBwcmludGluZyB0aGUgY2hpbGQgbm9kZSBvZiB0aGUgbm9kZSB0aGF0IGlzCisJCXJldHVybmVkLCBiZWNhdXNlIHRoZSBjb250ZW50cyBvZiB0aGUgPHR0IGNsYXNzPSJ2YXJuYW1lIj5rZXl3b3JkPC90dD4KKwkJZWxlbWVudCBhcmUgYSBjaGlsZCB0ZXh0IG5vZGUuPC9wPjwvdGQ+PC90cj48L3RhYmxlPjwvZGl2PjxwPgorCSAgPC9wPjwvdGQ+PC90cj48L3RhYmxlPjwvZGl2PjxwPgorICAgIDwvcD48L2Rpdj48ZGl2IGNsYXNzPSJuYXZmb290ZXIiPjxocj48dGFibGUgd2lkdGg9IjEwMCUiIHN1bW1hcnk9Ik5hdmlnYXRpb24gZm9vdGVyIj48dHI+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJsZWZ0Ij48YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImFyMDFzMDQuaHRtbCI+UHJldjwvYT6gPC90ZD48dGQgd2lkdGg9IjIwJSIgYWxpZ249ImNlbnRlciI+PGEgYWNjZXNza2V5PSJ1IiBocmVmPSJpbmRleC5odG1sIj5VcDwvYT48L3RkPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0icmlnaHQiPqA8YSBhY2Nlc3NrZXk9Im4iIGhyZWY9ImFyMDFzMDYuaHRtbCI+TmV4dDwvYT48L3RkPjwvdHI+PHRyPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPlJldHJpZXZpbmcgRWxlbWVudCBDb250ZW50oDwvdGQ+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJjZW50ZXIiPjxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iaW5kZXguaHRtbCI+SG9tZTwvYT48L3RkPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIj6gV3JpdGluZyBlbGVtZW50IGNvbnRlbnQ8L3RkPjwvdHI+PC90YWJsZT48L2Rpdj48L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvdHV0b3JpYWwvYXIwMXMwNi5odG1sIGIvbGlieG1sMi9kb2MvdHV0b3JpYWwvYXIwMXMwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMwOWU2ZWYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy90dXRvcmlhbC9hcjAxczA2Lmh0bWwKQEAgLTAsMCArMSwzNSBAQAorPGh0bWw+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9SVNPLTg4NTktMSI+PHRpdGxlPldyaXRpbmcgZWxlbWVudCBjb250ZW50PC90aXRsZT48bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9IkRvY0Jvb2sgWFNMIFN0eWxlc2hlZXRzIFYxLjYxLjIiPjxsaW5rIHJlbD0iaG9tZSIgaHJlZj0iaW5kZXguaHRtbCIgdGl0bGU9IkxpYnhtbCBUdXRvcmlhbCI+PGxpbmsgcmVsPSJ1cCIgaHJlZj0iaW5kZXguaHRtbCIgdGl0bGU9IkxpYnhtbCBUdXRvcmlhbCI+PGxpbmsgcmVsPSJwcmV2aW91cyIgaHJlZj0iYXIwMXMwNS5odG1sIiB0aXRsZT0iVXNpbmcgWFBhdGggdG8gUmV0cmlldmUgRWxlbWVudCBDb250ZW50Ij48bGluayByZWw9Im5leHQiIGhyZWY9ImFyMDFzMDcuaHRtbCIgdGl0bGU9IldyaXRpbmcgQXR0cmlidXRlIj48L2hlYWQ+PGJvZHkgYmdjb2xvcj0id2hpdGUiIHRleHQ9ImJsYWNrIiBsaW5rPSIjMDAwMEZGIiB2bGluaz0iIzg0MDA4NCIgYWxpbms9IiMwMDAwRkYiPjxkaXYgY2xhc3M9Im5hdmhlYWRlciI+PHRhYmxlIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciI+PHRyPjx0aCBjb2xzcGFuPSIzIiBhbGlnbj0iY2VudGVyIj5Xcml0aW5nIGVsZW1lbnQgY29udGVudDwvdGg+PC90cj48dHI+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJsZWZ0Ij48YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImFyMDFzMDUuaHRtbCI+UHJldjwvYT6gPC90ZD48dGggd2lkdGg9IjYwJSIgYWxpZ249ImNlbnRlciI+oDwvdGg+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJyaWdodCI+oDxhIGFjY2Vzc2tleT0ibiIgaHJlZj0iYXIwMXMwNy5odG1sIj5OZXh0PC9hPjwvdGQ+PC90cj48L3RhYmxlPjxocj48L2Rpdj48ZGl2IGNsYXNzPSJzZWN0MSIgbGFuZz0iZW4iPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMiBjbGFzcz0idGl0bGUiIHN0eWxlPSJjbGVhcjogYm90aCI+PGEgbmFtZT0ieG1sdHV0b3JpYWx3cml0aW5nY29udGVudCI+PC9hPldyaXRpbmcgZWxlbWVudCBjb250ZW50PC9oMj48L2Rpdj48L2Rpdj48ZGl2PjwvZGl2PjwvZGl2PjxwPjxhIGNsYXNzPSJpbmRleHRlcm0iIG5hbWU9ImlkMjU4Njk2OCI+PC9hPgorICAgICAgV3JpdGluZyBlbGVtZW50IGNvbnRlbnQgdXNlcyBtYW55IG9mIHRoZSBzYW1lIHN0ZXBzIHdlIHVzZWQgYWJvdmUKKyAgICAgICYjODIxMjsgcGFyc2luZyB0aGUgZG9jdW1lbnQgYW5kIHdhbGtpbmcgdGhlIHRyZWUuIFdlIHBhcnNlIHRoZSBkb2N1bWVudCwKKyAgICAgIHRoZW4gdHJhdmVyc2UgdGhlIHRyZWUgdG8gZmluZCB0aGUgcGxhY2Ugd2Ugd2FudCB0byBpbnNlcnQgb3VyIGVsZW1lbnQuIEZvcgorICAgICAgdGhpcyBleGFtcGxlLCB3ZSB3YW50IHRvIGFnYWluIGZpbmQgdGhlICJzdG9yeWluZm8iIGVsZW1lbnQgYW5kCisgICAgICB0aGlzIHRpbWUgaW5zZXJ0IGEga2V5d29yZC4gVGhlbiB3ZSdsbCB3cml0ZSB0aGUgZmlsZSB0byBkaXNrLiBGdWxsIGNvZGU6CisgICAgICA8YSBocmVmPSJhcGUuaHRtbCIgdGl0bGU9IkUuoENvZGUgZm9yIEFkZCBLZXl3b3JkIEV4YW1wbGUiPkFwcGVuZGl4oEUsIDxpPkNvZGUgZm9yIEFkZCBLZXl3b3JkIEV4YW1wbGU8L2k+PC9hPjwvcD48cD4KKyAgICAgIFRoZSBtYWluIGRpZmZlcmVuY2UgaW4gdGhpcyBleGFtcGxlIGlzIGluCisgICAgICA8dHQgY2xhc3M9ImZ1bmN0aW9uIj5wYXJzZVN0b3J5PC90dD46CisKKyAgICAgIDwvcD48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+Cit2b2lkCitwYXJzZVN0b3J5ICh4bWxEb2NQdHIgZG9jLCB4bWxOb2RlUHRyIGN1ciwgY2hhciAqa2V5d29yZCkgeworCisJPGEgbmFtZT0iYWRka2V5d29yZCI+PC9hPjxpbWcgc3JjPSJpbWFnZXMvY2FsbG91dHMvMS5wbmciIGFsdD0iMSIgYm9yZGVyPSIwIj4geG1sTmV3VGV4dENoaWxkIChjdXIsIE5VTEwsICJrZXl3b3JkIiwga2V5d29yZCk7CisgICAgcmV0dXJuOworfQorICAgICAgPC9wcmU+PHA+CisgICAgICA8L3A+PGRpdiBjbGFzcz0iY2FsbG91dGxpc3QiPjx0YWJsZSBib3JkZXI9IjAiIHN1bW1hcnk9IkNhbGxvdXQgbGlzdCI+PHRyPjx0ZCB3aWR0aD0iNSUiIHZhbGlnbj0idG9wIiBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iI2FkZGtleXdvcmQiPjxpbWcgc3JjPSJpbWFnZXMvY2FsbG91dHMvMS5wbmciIGFsdD0iMSIgYm9yZGVyPSIwIj48L2E+IDwvdGQ+PHRkIHZhbGlnbj0idG9wIiBhbGlnbj0ibGVmdCI+PHA+VGhlIDx0dCBjbGFzcz0iZnVuY3Rpb24iPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9odG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MTkVXVEVYVENISUxEIiB0YXJnZXQ9Il90b3AiPnhtbE5ld1RleHRDaGlsZDwvYT48L3R0PgorCQkJCSAgICAgZnVuY3Rpb24gYWRkcyBhIG5ldyBjaGlsZCBlbGVtZW50IGF0IHRoZQorCQkJCSAgICAgY3VycmVudCBub2RlIHBvaW50ZXIncyBsb2NhdGlvbiBpbiB0aGUKKwkgICAgdHJlZSwgc3BlY2lmaWVkIGJ5IDx0dCBjbGFzcz0idmFybmFtZSI+Y3VyPC90dD4uPC9wPjwvdGQ+PC90cj48L3RhYmxlPjwvZGl2PjxwPgorICAgICAgICAgPC9wPjxwPgorICAgICAgPGEgY2xhc3M9ImluZGV4dGVybSIgbmFtZT0iaWQyNTg3MDUyIj48L2E+CisgICAgICBPbmNlIHRoZSBub2RlIGhhcyBiZWVuIGFkZGVkLCB3ZSB3b3VsZCBsaWtlIHRvIHdyaXRlIHRoZSBkb2N1bWVudCB0bworICAgICAgZmlsZS4gSXMgeW91IHdhbnQgdGhlIGVsZW1lbnQgdG8gaGF2ZSBhIG5hbWVzcGFjZSwgeW91IGNhbiBhZGQgaXQgaGVyZSBhcworICAgICAgd2VsbC4gSW4gb3VyIGNhc2UsIHRoZSBuYW1lc3BhY2UgaXMgTlVMTC4KKyAgICAgIDwvcD48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+CisJeG1sU2F2ZUZvcm1hdEZpbGUgKGRvY25hbWUsIGRvYywgMSk7CisgICAgICA8L3ByZT48cD4KKyAgICAgIFRoZSBmaXJzdCBwYXJhbWV0ZXIgaXMgdGhlIG5hbWUgb2YgdGhlIGZpbGUgdG8gYmUgd3JpdHRlbi4gWW91J2xsIG5vdGljZQorICAgICAgaXQgaXMgdGhlIHNhbWUgYXMgdGhlIGZpbGUgd2UganVzdCByZWFkLiBJbiB0aGlzIGNhc2UsIHdlIGp1c3Qgd3JpdGUgb3ZlcgorICAgICAgdGhlIG9sZCBmaWxlLiBUaGUgc2Vjb25kIHBhcmFtZXRlciBpcyBhIHBvaW50ZXIgdG8gdGhlIHhtbERvYworICAgICAgc3RydWN0dXJlLiBTZXR0aW5nIHRoZSB0aGlyZCBwYXJhbWV0ZXIgZXF1YWwgdG8gb25lIGVuc3VyZXMgaW5kZW50aW5nIG9uIG91dHB1dC4KKyAgICA8L3A+PC9kaXY+PGRpdiBjbGFzcz0ibmF2Zm9vdGVyIj48aHI+PHRhYmxlIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGZvb3RlciI+PHRyPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0ibGVmdCI+PGEgYWNjZXNza2V5PSJwIiBocmVmPSJhcjAxczA1Lmh0bWwiPlByZXY8L2E+oDwvdGQ+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJjZW50ZXIiPjxhIGFjY2Vzc2tleT0idSIgaHJlZj0iaW5kZXguaHRtbCI+VXA8L2E+PC90ZD48dGQgd2lkdGg9IjQwJSIgYWxpZ249InJpZ2h0Ij6gPGEgYWNjZXNza2V5PSJuIiBocmVmPSJhcjAxczA3Lmh0bWwiPk5leHQ8L2E+PC90ZD48L3RyPjx0cj48dGQgd2lkdGg9IjQwJSIgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj5Vc2luZyBYUGF0aCB0byBSZXRyaWV2ZSBFbGVtZW50IENvbnRlbnSgPC90ZD48dGQgd2lkdGg9IjIwJSIgYWxpZ249ImNlbnRlciI+PGEgYWNjZXNza2V5PSJoIiBocmVmPSJpbmRleC5odG1sIj5Ib21lPC9hPjwvdGQ+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPqBXcml0aW5nIEF0dHJpYnV0ZTwvdGQ+PC90cj48L3RhYmxlPjwvZGl2PjwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy90dXRvcmlhbC9hcjAxczA3Lmh0bWwgYi9saWJ4bWwyL2RvYy90dXRvcmlhbC9hcjAxczA3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmQ1YzRkZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2FyMDFzMDcuaHRtbApAQCAtMCwwICsxLDMwIEBACis8aHRtbD48aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1JU08tODg1OS0xIj48dGl0bGU+V3JpdGluZyBBdHRyaWJ1dGU8L3RpdGxlPjxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iRG9jQm9vayBYU0wgU3R5bGVzaGVldHMgVjEuNjEuMiI+PGxpbmsgcmVsPSJob21lIiBocmVmPSJpbmRleC5odG1sIiB0aXRsZT0iTGlieG1sIFR1dG9yaWFsIj48bGluayByZWw9InVwIiBocmVmPSJpbmRleC5odG1sIiB0aXRsZT0iTGlieG1sIFR1dG9yaWFsIj48bGluayByZWw9InByZXZpb3VzIiBocmVmPSJhcjAxczA2Lmh0bWwiIHRpdGxlPSJXcml0aW5nIGVsZW1lbnQgY29udGVudCI+PGxpbmsgcmVsPSJuZXh0IiBocmVmPSJhcjAxczA4Lmh0bWwiIHRpdGxlPSJSZXRyaWV2aW5nIEF0dHJpYnV0ZXMiPjwvaGVhZD48Ym9keSBiZ2NvbG9yPSJ3aGl0ZSIgdGV4dD0iYmxhY2siIGxpbms9IiMwMDAwRkYiIHZsaW5rPSIjODQwMDg0IiBhbGluaz0iIzAwMDBGRiI+PGRpdiBjbGFzcz0ibmF2aGVhZGVyIj48dGFibGUgd2lkdGg9IjEwMCUiIHN1bW1hcnk9Ik5hdmlnYXRpb24gaGVhZGVyIj48dHI+PHRoIGNvbHNwYW49IjMiIGFsaWduPSJjZW50ZXIiPldyaXRpbmcgQXR0cmlidXRlPC90aD48L3RyPjx0cj48dGQgd2lkdGg9IjIwJSIgYWxpZ249ImxlZnQiPjxhIGFjY2Vzc2tleT0icCIgaHJlZj0iYXIwMXMwNi5odG1sIj5QcmV2PC9hPqA8L3RkPjx0aCB3aWR0aD0iNjAlIiBhbGlnbj0iY2VudGVyIj6gPC90aD48dGQgd2lkdGg9IjIwJSIgYWxpZ249InJpZ2h0Ij6gPGEgYWNjZXNza2V5PSJuIiBocmVmPSJhcjAxczA4Lmh0bWwiPk5leHQ8L2E+PC90ZD48L3RyPjwvdGFibGU+PGhyPjwvZGl2PjxkaXYgY2xhc3M9InNlY3QxIiBsYW5nPSJlbiI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgyIGNsYXNzPSJ0aXRsZSIgc3R5bGU9ImNsZWFyOiBib3RoIj48YSBuYW1lPSJ4bWx0dXRvcmlhbHdyaXRpbmdhdHRyaWJ1dGUiPjwvYT5Xcml0aW5nIEF0dHJpYnV0ZTwvaDI+PC9kaXY+PC9kaXY+PGRpdj48L2Rpdj48L2Rpdj48cD48YSBjbGFzcz0iaW5kZXh0ZXJtIiBuYW1lPSJpZDI1ODcwOTMiPjwvYT4KK1dyaXRpbmcgYW4gYXR0cmlidXRlIGlzIHNpbWlsYXIgdG8gd3JpdGluZyB0ZXh0IHRvIGEgbmV3IGVsZW1lbnQuIEluCisgICAgICB0aGlzIGNhc2UsIHdlJ2xsIGFkZCBhIHJlZmVyZW5jZSA8c3BhbiBjbGFzcz0iYWNyb255bSI+VVJJPC9zcGFuPiB0byBvdXIKKyAgICAgIGRvY3VtZW50LiBGdWxsIGNvZGU6PGEgaHJlZj0iYXBmLmh0bWwiIHRpdGxlPSJGLqBDb2RlIGZvciBBZGQgQXR0cmlidXRlIEV4YW1wbGUiPkFwcGVuZGl4oEYsIDxpPkNvZGUgZm9yIEFkZCBBdHRyaWJ1dGUgRXhhbXBsZTwvaT48L2E+LjwvcD48cD4KKyAgICAgIEEgPHR0IGNsYXNzPSJzZ21sdGFnLWVsZW1lbnQiPnJlZmVyZW5jZTwvdHQ+IGlzIGEgY2hpbGQgb2YgdGhlIDx0dCBjbGFzcz0ic2dtbHRhZy1lbGVtZW50Ij5zdG9yeTwvdHQ+CisgICAgICBlbGVtZW50LCBzbyBmaW5kaW5nIHRoZSBwbGFjZSB0byBwdXQgb3VyIG5ldyBlbGVtZW50IGFuZCBhdHRyaWJ1dGUgaXMKKyAgICAgIHNpbXBsZS4gQXMgc29vbiBhcyB3ZSBkbyB0aGUgZXJyb3ItY2hlY2tpbmcgdGVzdCBpbiBvdXIKKyAgICAgIDx0dCBjbGFzcz0iZnVuY3Rpb24iPnBhcnNlRG9jPC90dD4sIHdlIGFyZSBpbiB0aGUgcmlnaHQgc3BvdCB0byBhZGQgb3VyCisgICAgICBlbGVtZW50LiBCdXQgYmVmb3JlIHdlIGRvIHRoYXQsIHdlIG5lZWQgdG8gbWFrZSBhIGRlY2xhcmF0aW9uIHVzaW5nIGEKKyAgICAgIGRhdGEgdHlwZSB3ZSBoYXZlIG5vdCBzZWVuIHlldDoKKyAgICAgIDwvcD48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+CisJeG1sQXR0clB0ciBuZXdhdHRyOworICAgICAgPC9wcmU+PHA+CisgICAgICBXZSBhbHNvIG5lZWQgYW4gZXh0cmEgeG1sTm9kZVB0cjoKKyAgICAgIDwvcD48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+CisJeG1sTm9kZVB0ciBuZXdub2RlOworICAgICAgPC9wcmU+PHA+CisgICAgPC9wPjxwPgorICAgICAgVGhlIHJlc3Qgb2YgPHR0IGNsYXNzPSJmdW5jdGlvbiI+cGFyc2VEb2M8L3R0PiBpcyB0aGUgc2FtZSBhcyBiZWZvcmUgdW50aWwgd2UKKyAgICAgIGNoZWNrIHRvIHNlZSBpZiBvdXIgcm9vdCBlbGVtZW50IGlzIDx0dCBjbGFzcz0ic2dtbHRhZy1lbGVtZW50Ij5zdG9yeTwvdHQ+LiBJZiBpdCBpcywKKyAgICAgIHRoZW4gd2Uga25vdyB3ZSBhcmUgYXQgdGhlIHJpZ2h0IHNwb3QgdG8gYWRkIG91ciBlbGVtZW50OgorCisgICAgICA8L3A+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPgorCTxhIG5hbWU9ImFkZHJlZmVyZW5jZW5vZGUiPjwvYT48aW1nIHNyYz0iaW1hZ2VzL2NhbGxvdXRzLzEucG5nIiBhbHQ9IjEiIGJvcmRlcj0iMCI+IG5ld25vZGUgPSB4bWxOZXdUZXh0Q2hpbGQgKGN1ciwgTlVMTCwgInJlZmVyZW5jZSIsIE5VTEwpOworCTxhIG5hbWU9ImFkZGF0dHJpYnV0ZW5vZGUiPjwvYT48aW1nIHNyYz0iaW1hZ2VzL2NhbGxvdXRzLzIucG5nIiBhbHQ9IjIiIGJvcmRlcj0iMCI+IG5ld2F0dHIgPSB4bWxOZXdQcm9wIChuZXdub2RlLCAidXJpIiwgdXJpKTsJCisgICAgICA8L3ByZT48cD4KKyAgICAgIDwvcD48ZGl2IGNsYXNzPSJjYWxsb3V0bGlzdCI+PHRhYmxlIGJvcmRlcj0iMCIgc3VtbWFyeT0iQ2FsbG91dCBsaXN0Ij48dHI+PHRkIHdpZHRoPSI1JSIgdmFsaWduPSJ0b3AiIGFsaWduPSJsZWZ0Ij48YSBocmVmPSIjYWRkcmVmZXJlbmNlbm9kZSI+PGltZyBzcmM9ImltYWdlcy9jYWxsb3V0cy8xLnBuZyIgYWx0PSIxIiBib3JkZXI9IjAiPjwvYT4gPC90ZD48dGQgdmFsaWduPSJ0b3AiIGFsaWduPSJsZWZ0Ij48cD5GaXJzdCB3ZSBhZGQgYSBuZXcgbm9kZSBhdCB0aGUgbG9jYXRpb24gb2YgdGhlIGN1cnJlbnQgbm9kZQorCSAgICBwb2ludGVyLCA8dHQgY2xhc3M9InZhcm5hbWUiPmN1ci48L3R0PiB1c2luZyB0aGUgPGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnL2h0bWwvbGlieG1sLXRyZWUuaHRtbCNYTUxORVdURVhUQ0hJTEQiIHRhcmdldD0iX3RvcCI+eG1sTmV3VGV4dENoaWxkPC9hPiBmdW5jdGlvbi48L3A+PC90ZD48L3RyPjwvdGFibGU+PC9kaXY+PHA+CisgICA8L3A+PHA+T25jZSB0aGUgbm9kZSBpcyBhZGRlZCwgdGhlIGZpbGUgaXMgd3JpdHRlbiB0byBkaXNrIGp1c3QgYXMgaW4gdGhlCisgICAgcHJldmlvdXMgZXhhbXBsZSBpbiB3aGljaCB3ZSBhZGRlZCBhbiBlbGVtZW50IHdpdGggdGV4dCBjb250ZW50LjwvcD48L2Rpdj48ZGl2IGNsYXNzPSJuYXZmb290ZXIiPjxocj48dGFibGUgd2lkdGg9IjEwMCUiIHN1bW1hcnk9Ik5hdmlnYXRpb24gZm9vdGVyIj48dHI+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJsZWZ0Ij48YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImFyMDFzMDYuaHRtbCI+UHJldjwvYT6gPC90ZD48dGQgd2lkdGg9IjIwJSIgYWxpZ249ImNlbnRlciI+PGEgYWNjZXNza2V5PSJ1IiBocmVmPSJpbmRleC5odG1sIj5VcDwvYT48L3RkPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0icmlnaHQiPqA8YSBhY2Nlc3NrZXk9Im4iIGhyZWY9ImFyMDFzMDguaHRtbCI+TmV4dDwvYT48L3RkPjwvdHI+PHRyPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPldyaXRpbmcgZWxlbWVudCBjb250ZW50oDwvdGQ+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJjZW50ZXIiPjxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iaW5kZXguaHRtbCI+SG9tZTwvYT48L3RkPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIj6gUmV0cmlldmluZyBBdHRyaWJ1dGVzPC90ZD48L3RyPjwvdGFibGU+PC9kaXY+PC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2FyMDFzMDguaHRtbCBiL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2FyMDFzMDguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NThmODExCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvdHV0b3JpYWwvYXIwMXMwOC5odG1sCkBAIC0wLDAgKzEsMzggQEAKKzxodG1sPjxoZWFkPjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTEiPjx0aXRsZT5SZXRyaWV2aW5nIEF0dHJpYnV0ZXM8L3RpdGxlPjxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iRG9jQm9vayBYU0wgU3R5bGVzaGVldHMgVjEuNjEuMiI+PGxpbmsgcmVsPSJob21lIiBocmVmPSJpbmRleC5odG1sIiB0aXRsZT0iTGlieG1sIFR1dG9yaWFsIj48bGluayByZWw9InVwIiBocmVmPSJpbmRleC5odG1sIiB0aXRsZT0iTGlieG1sIFR1dG9yaWFsIj48bGluayByZWw9InByZXZpb3VzIiBocmVmPSJhcjAxczA3Lmh0bWwiIHRpdGxlPSJXcml0aW5nIEF0dHJpYnV0ZSI+PGxpbmsgcmVsPSJuZXh0IiBocmVmPSJhcjAxczA5Lmh0bWwiIHRpdGxlPSJFbmNvZGluZyBDb252ZXJzaW9uIj48L2hlYWQ+PGJvZHkgYmdjb2xvcj0id2hpdGUiIHRleHQ9ImJsYWNrIiBsaW5rPSIjMDAwMEZGIiB2bGluaz0iIzg0MDA4NCIgYWxpbms9IiMwMDAwRkYiPjxkaXYgY2xhc3M9Im5hdmhlYWRlciI+PHRhYmxlIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciI+PHRyPjx0aCBjb2xzcGFuPSIzIiBhbGlnbj0iY2VudGVyIj5SZXRyaWV2aW5nIEF0dHJpYnV0ZXM8L3RoPjwvdHI+PHRyPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0ibGVmdCI+PGEgYWNjZXNza2V5PSJwIiBocmVmPSJhcjAxczA3Lmh0bWwiPlByZXY8L2E+oDwvdGQ+PHRoIHdpZHRoPSI2MCUiIGFsaWduPSJjZW50ZXIiPqA8L3RoPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0icmlnaHQiPqA8YSBhY2Nlc3NrZXk9Im4iIGhyZWY9ImFyMDFzMDkuaHRtbCI+TmV4dDwvYT48L3RkPjwvdHI+PC90YWJsZT48aHI+PC9kaXY+PGRpdiBjbGFzcz0ic2VjdDEiIGxhbmc9ImVuIj48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDIgY2xhc3M9InRpdGxlIiBzdHlsZT0iY2xlYXI6IGJvdGgiPjxhIG5hbWU9InhtbHR1dG9yaWFsYXR0cmlidXRlIj48L2E+UmV0cmlldmluZyBBdHRyaWJ1dGVzPC9oMj48L2Rpdj48L2Rpdj48ZGl2PjwvZGl2PjwvZGl2PjxwPjxhIGNsYXNzPSJpbmRleHRlcm0iIG5hbWU9ImlkMjU4NzIzNiI+PC9hPgorUmV0cmlldmluZyB0aGUgdmFsdWUgb2YgYW4gYXR0cmlidXRlIGlzIHNpbWlsYXIgdG8gdGhlIHByZXZpb3VzCisgICAgZXhhbXBsZSBpbiB3aGljaCB3ZSByZXRyaWV2ZWQgYSBub2RlJ3MgdGV4dCBjb250ZW50cy4gSW4gdGhpcyBjYXNlIHdlJ2xsCisgICAgICBleHRyYWN0IHRoZSB2YWx1ZSBvZiB0aGUgPHNwYW4gY2xhc3M9ImFjcm9ueW0iPlVSSTwvc3Bhbj4gd2UgYWRkZWQgaW4gdGhlIHByZXZpb3VzCisgICAgICBzZWN0aW9uLiBGdWxsIGNvZGU6IDxhIGhyZWY9ImFwZy5odG1sIiB0aXRsZT0iRy6gQ29kZSBmb3IgUmV0cmlldmluZyBBdHRyaWJ1dGUgVmFsdWUgRXhhbXBsZSI+QXBwZW5kaXigRywgPGk+Q29kZSBmb3IgUmV0cmlldmluZyBBdHRyaWJ1dGUgVmFsdWUgRXhhbXBsZTwvaT48L2E+LjwvcD48cD4KKyAgICAgIFRoZSBpbml0aWFsIHN0ZXBzIGZvciB0aGlzIGV4YW1wbGUgYXJlIHNpbWlsYXIgdG8gdGhlIHByZXZpb3VzIG9uZXM6IHBhcnNlCisgICAgICB0aGUgZG9jLCBmaW5kIHRoZSBlbGVtZW50IHlvdSBhcmUgaW50ZXJlc3RlZCBpbiwgdGhlbiBlbnRlciBhIGZ1bmN0aW9uIHRvCisgICAgICBjYXJyeSBvdXQgdGhlIHNwZWNpZmljIHRhc2sgcmVxdWlyZWQuIEluIHRoaXMgY2FzZSwgd2UgY2FsbAorICAgICAgPHR0IGNsYXNzPSJmdW5jdGlvbiI+Z2V0UmVmZXJlbmNlPC90dD46CisgICAgICA8L3A+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPgordm9pZAorZ2V0UmVmZXJlbmNlICh4bWxEb2NQdHIgZG9jLCB4bWxOb2RlUHRyIGN1cikgeworCisJeG1sQ2hhciAqdXJpOworCWN1ciA9IGN1ci0mZ3Q7eG1sQ2hpbGRyZW5Ob2RlOworCXdoaWxlIChjdXIgIT0gTlVMTCkgeworCSAgICBpZiAoKCF4bWxTdHJjbXAoY3VyLSZndDtuYW1lLCAoY29uc3QgeG1sQ2hhciAqKSJyZWZlcmVuY2UiKSkpIHsKKwkJICAgPGEgbmFtZT0iZ2V0YXR0cmlidXRldmFsdWUiPjwvYT48aW1nIHNyYz0iaW1hZ2VzL2NhbGxvdXRzLzEucG5nIiBhbHQ9IjEiIGJvcmRlcj0iMCI+IHVyaSA9IHhtbEdldFByb3AoY3VyLCAidXJpIik7CisJCSAgICBwcmludGYoInVyaTogJXNcbiIsIHVyaSk7CisJCSAgICB4bWxGcmVlKHVyaSk7CisJICAgIH0KKwkgICAgY3VyID0gY3VyLSZndDtuZXh0OworCX0KKwlyZXR1cm47Cit9CisgICAgICA8L3ByZT48cD4KKyAgICAKKyAgICAgIDwvcD48ZGl2IGNsYXNzPSJjYWxsb3V0bGlzdCI+PHRhYmxlIGJvcmRlcj0iMCIgc3VtbWFyeT0iQ2FsbG91dCBsaXN0Ij48dHI+PHRkIHdpZHRoPSI1JSIgdmFsaWduPSJ0b3AiIGFsaWduPSJsZWZ0Ij48YSBocmVmPSIjZ2V0YXR0cmlidXRldmFsdWUiPjxpbWcgc3JjPSJpbWFnZXMvY2FsbG91dHMvMS5wbmciIGFsdD0iMSIgYm9yZGVyPSIwIj48L2E+IDwvdGQ+PHRkIHZhbGlnbj0idG9wIiBhbGlnbj0ibGVmdCI+PHA+CisJICAgIFRoZSBrZXkgZnVuY3Rpb24gaXMgPHR0IGNsYXNzPSJmdW5jdGlvbiI+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnL2h0bWwvbGlieG1sLXRyZWUuaHRtbCNYTUxHRVRQUk9QIiB0YXJnZXQ9Il90b3AiPnhtbEdldFByb3A8L2E+PC90dD4sIHdoaWNoIHJldHVybnMgYW4KKyAgICAgIDx0dCBjbGFzcz0idmFybmFtZSI+eG1sQ2hhcjwvdHQ+IGNvbnRhaW5pbmcgdGhlIGF0dHJpYnV0ZSdzIHZhbHVlLiBJbiB0aGlzIGNhc2UsCisJCQkJCSAgIHdlIGp1c3QgcHJpbnQgaXQgb3V0LgorICAgICAgPC9wPjxkaXYgY2xhc3M9Im5vdGUiIHN0eWxlPSJtYXJnaW4tbGVmdDogMC41aW47IG1hcmdpbi1yaWdodDogMC41aW47Ij48dGFibGUgYm9yZGVyPSIwIiBzdW1tYXJ5PSJOb3RlIj48dHI+PHRkIHJvd3NwYW49IjIiIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMjUiPjxpbWcgYWx0PSJbTm90ZV0iIHNyYz0iaW1hZ2VzL25vdGUucG5nIj48L3RkPjx0aCBhbGlnbj0ibGVmdCI+Tm90ZTwvdGg+PC90cj48dHI+PHRkIGNvbHNwYW49IjIiIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHA+CisJICBJZiB5b3UgYXJlIHVzaW5nIGEgPHNwYW4gY2xhc3M9ImFjcm9ueW0iPkRURDwvc3Bhbj4gdGhhdCBkZWNsYXJlcyBhIGZpeGVkIG9yCisJICBkZWZhdWx0IHZhbHVlIGZvciB0aGUgYXR0cmlidXRlLCB0aGlzIGZ1bmN0aW9uIHdpbGwgcmV0cmlldmUgaXQuCisJPC9wPjwvdGQ+PC90cj48L3RhYmxlPjwvZGl2PjxwPgorCSAgPC9wPjwvdGQ+PC90cj48L3RhYmxlPjwvZGl2PjxwPgorICAgICAKKyAgICA8L3A+PC9kaXY+PGRpdiBjbGFzcz0ibmF2Zm9vdGVyIj48aHI+PHRhYmxlIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGZvb3RlciI+PHRyPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0ibGVmdCI+PGEgYWNjZXNza2V5PSJwIiBocmVmPSJhcjAxczA3Lmh0bWwiPlByZXY8L2E+oDwvdGQ+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJjZW50ZXIiPjxhIGFjY2Vzc2tleT0idSIgaHJlZj0iaW5kZXguaHRtbCI+VXA8L2E+PC90ZD48dGQgd2lkdGg9IjQwJSIgYWxpZ249InJpZ2h0Ij6gPGEgYWNjZXNza2V5PSJuIiBocmVmPSJhcjAxczA5Lmh0bWwiPk5leHQ8L2E+PC90ZD48L3RyPjx0cj48dGQgd2lkdGg9IjQwJSIgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj5Xcml0aW5nIEF0dHJpYnV0ZaA8L3RkPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0iY2VudGVyIj48YSBhY2Nlc3NrZXk9ImgiIGhyZWY9ImluZGV4Lmh0bWwiPkhvbWU8L2E+PC90ZD48dGQgd2lkdGg9IjQwJSIgYWxpZ249InJpZ2h0IiB2YWxpZ249InRvcCI+oEVuY29kaW5nIENvbnZlcnNpb248L3RkPjwvdHI+PC90YWJsZT48L2Rpdj48L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvdHV0b3JpYWwvYXIwMXMwOS5odG1sIGIvbGlieG1sMi9kb2MvdHV0b3JpYWwvYXIwMXMwOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI5ODdhZGQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy90dXRvcmlhbC9hcjAxczA5Lmh0bWwKQEAgLTAsMCArMSw2MyBAQAorPGh0bWw+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9SVNPLTg4NTktMSI+PHRpdGxlPkVuY29kaW5nIENvbnZlcnNpb248L3RpdGxlPjxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iRG9jQm9vayBYU0wgU3R5bGVzaGVldHMgVjEuNjEuMiI+PGxpbmsgcmVsPSJob21lIiBocmVmPSJpbmRleC5odG1sIiB0aXRsZT0iTGlieG1sIFR1dG9yaWFsIj48bGluayByZWw9InVwIiBocmVmPSJpbmRleC5odG1sIiB0aXRsZT0iTGlieG1sIFR1dG9yaWFsIj48bGluayByZWw9InByZXZpb3VzIiBocmVmPSJhcjAxczA4Lmh0bWwiIHRpdGxlPSJSZXRyaWV2aW5nIEF0dHJpYnV0ZXMiPjxsaW5rIHJlbD0ibmV4dCIgaHJlZj0iYXBhLmh0bWwiIHRpdGxlPSJBLqBDb21waWxhdGlvbiI+PC9oZWFkPjxib2R5IGJnY29sb3I9IndoaXRlIiB0ZXh0PSJibGFjayIgbGluaz0iIzAwMDBGRiIgdmxpbms9IiM4NDAwODQiIGFsaW5rPSIjMDAwMEZGIj48ZGl2IGNsYXNzPSJuYXZoZWFkZXIiPjx0YWJsZSB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBoZWFkZXIiPjx0cj48dGggY29sc3Bhbj0iMyIgYWxpZ249ImNlbnRlciI+RW5jb2RpbmcgQ29udmVyc2lvbjwvdGg+PC90cj48dHI+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJsZWZ0Ij48YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImFyMDFzMDguaHRtbCI+UHJldjwvYT6gPC90ZD48dGggd2lkdGg9IjYwJSIgYWxpZ249ImNlbnRlciI+oDwvdGg+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJyaWdodCI+oDxhIGFjY2Vzc2tleT0ibiIgaHJlZj0iYXBhLmh0bWwiPk5leHQ8L2E+PC90ZD48L3RyPjwvdGFibGU+PGhyPjwvZGl2PjxkaXYgY2xhc3M9InNlY3QxIiBsYW5nPSJlbiI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgyIGNsYXNzPSJ0aXRsZSIgc3R5bGU9ImNsZWFyOiBib3RoIj48YSBuYW1lPSJ4bWx0dXRvcmlhbGNvbnZlcnQiPjwvYT5FbmNvZGluZyBDb252ZXJzaW9uPC9oMj48L2Rpdj48L2Rpdj48ZGl2PjwvZGl2PjwvZGl2PjxwPjxhIGNsYXNzPSJpbmRleHRlcm0iIG5hbWU9ImlkMjU4NzM0OCI+PC9hPgorRGF0YSBlbmNvZGluZyBjb21wYXRpYmlsaXR5IHByb2JsZW1zIGFyZSBvbmUgb2YgdGhlIG1vc3QgY29tbW9uCisgICAgICBkaWZmaWN1bHRpZXMgZW5jb3VudGVyZWQgYnkgcHJvZ3JhbW1lcnMgbmV3IHRvIDxzcGFuIGNsYXNzPSJhY3JvbnltIj5YTUw8L3NwYW4+IGluCisgICAgICBnZW5lcmFsIGFuZCA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPmxpYnhtbDwvc3Bhbj4gaW4gcGFydGljdWxhci4gVGhpbmtpbmcKKyAgICAgIHRocm91Z2ggdGhlIGRlc2lnbiBvZiB5b3VyIGFwcGxpY2F0aW9uIGluIGxpZ2h0IG9mIHRoaXMgaXNzdWUgd2lsbCBoZWxwCisgICAgICBhdm9pZCBkaWZmaWN1bHRpZXMgbGF0ZXIuIEludGVybmFsbHksIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+bGlieG1sPC9zcGFuPgorICAgICAgc3RvcmVzIGFuZCBtYW5pcHVsYXRlcyBkYXRhIGluIHRoZSBVVEYtOCBmb3JtYXQuIERhdGEgdXNlZCBieSB5b3VyIHByb2dyYW0KKyAgICAgIGluIG90aGVyIGZvcm1hdHMsIHN1Y2ggYXMgdGhlIGNvbW1vbmx5IHVzZWQgSVNPLTg4NTktMSBlbmNvZGluZywgbXVzdCBiZQorICAgICAgY29udmVydGVkIHRvIFVURi04IGJlZm9yZSBwYXNzaW5nIGl0IHRvIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+bGlieG1sPC9zcGFuPgorICAgICAgZnVuY3Rpb25zLiBJZiB5b3Ugd2FudCB5b3VyIHByb2dyYW0ncyBvdXRwdXQgaW4gYW4gZW5jb2Rpbmcgb3RoZXIgdGhhbgorICAgICAgVVRGLTgsIHlvdSBhbHNvIG11c3QgY29udmVydCBpdC48L3A+PHA+PHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5MaWJ4bWw8L3NwYW4+IHVzZXMKKyAgICAgIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+aWNvbnY8L3NwYW4+IGlmIGl0IGlzIGF2YWlsYWJsZSB0byBjb252ZXJ0CisgICAgZGF0YS4gV2l0aG91dCA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPmljb252PC9zcGFuPiwgb25seSBVVEYtOCwgVVRGLTE2IGFuZAorICAgIElTTy04ODU5LTEgY2FuIGJlIHVzZWQgYXMgZXh0ZXJuYWwgZm9ybWF0cy4gV2l0aAorICAgIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+aWNvbnY8L3NwYW4+LCBhbnkgZm9ybWF0IGNhbiBiZSB1c2VkIHByb3ZpZGVkCisgICAgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5pY29udjwvc3Bhbj4gaXMgYWJsZSB0byBjb252ZXJ0IGl0IHRvIGFuZCBmcm9tCisgICAgVVRGLTguIEN1cnJlbnRseSA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPmljb252PC9zcGFuPiBzdXBwb3J0cyBhYm91dCAxNTAKKyAgICBkaWZmZXJlbnQgY2hhcmFjdGVyIGZvcm1hdHMgd2l0aCBhYmlsaXR5IHRvIGNvbnZlcnQgZnJvbSBhbnkgdG8gYW55LiBXaGlsZQorICAgIHRoZSBhY3R1YWwgbnVtYmVyIG9mIHN1cHBvcnRlZCBmb3JtYXRzIHZhcmllcyBiZXR3ZWVuIGltcGxlbWVudGF0aW9ucywgZXZlcnkKKyAgICA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPmljb252PC9zcGFuPiBpbXBsZW1lbnRhdGlvbiBpcyBhbG1vc3QgZ3VhcmFudGVlZCB0bworICAgIHN1cHBvcnQgZXZlcnkgZm9ybWF0IGFueW9uZSBoYXMgZXZlciBoZWFyZCBvZi48L3A+PGRpdiBjbGFzcz0id2FybmluZyIgc3R5bGU9Im1hcmdpbi1sZWZ0OiAwLjVpbjsgbWFyZ2luLXJpZ2h0OiAwLjVpbjsiPjx0YWJsZSBib3JkZXI9IjAiIHN1bW1hcnk9Ildhcm5pbmciPjx0cj48dGQgcm93c3Bhbj0iMiIgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIyNSI+PGltZyBhbHQ9IltXYXJuaW5nXSIgc3JjPSJpbWFnZXMvd2FybmluZy5wbmciPjwvdGQ+PHRoIGFsaWduPSJsZWZ0Ij5XYXJuaW5nPC90aD48L3RyPjx0cj48dGQgY29sc3Bhbj0iMiIgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48cD5BIGNvbW1vbiBtaXN0YWtlIGlzIHRvIHVzZSBkaWZmZXJlbnQgZm9ybWF0cyBmb3IgdGhlIGludGVybmFsIGRhdGEKKwlpbiBkaWZmZXJlbnQgcGFydHMgb2Ygb25lJ3MgY29kZS4gVGhlIG1vc3QgY29tbW9uIGNhc2UgaXMgYW4gYXBwbGljYXRpb24KKwl0aGF0IGFzc3VtZXMgSVNPLTg4NTktMSB0byBiZSB0aGUgaW50ZXJuYWwgZGF0YSBmb3JtYXQsIGNvbWJpbmVkIHdpdGgKKwk8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPmxpYnhtbDwvc3Bhbj4sIHdoaWNoIGFzc3VtZXMgVVRGLTggdG8gYmUgdGhlCisJaW50ZXJuYWwgZGF0YSBmb3JtYXQuIFRoZSByZXN1bHQgaXMgYW4gYXBwbGljYXRpb24gdGhhdCB0cmVhdHMgaW50ZXJuYWwKKwlkYXRhIGRpZmZlcmVudGx5LCBkZXBlbmRpbmcgb24gd2hpY2ggY29kZSBzZWN0aW9uIGlzIGV4ZWN1dGluZy4gVGhlIG9uZSBvcgorCXRoZSBvdGhlciBwYXJ0IG9mIGNvZGUgd2lsbCB0aGVuLCBuYXR1cmFsbHksIG1pc2ludGVycHJldCB0aGUgZGF0YS4KKyAgICAgIDwvcD48L3RkPjwvdHI+PC90YWJsZT48L2Rpdj48cD5UaGlzIGV4YW1wbGUgY29uc3RydWN0cyBhIHNpbXBsZSBkb2N1bWVudCwgdGhlbiBhZGRzIGNvbnRlbnQgcHJvdmlkZWQKKyAgICBhdCB0aGUgY29tbWFuZCBsaW5lIHRvIHRoZSBkb2N1bWVudCdzIHJvb3QgZWxlbWVudCBhbmQgb3V0cHV0cyB0aGUgcmVzdWx0cworICAgIHRvIDx0dCBjbGFzcz0iZmlsZW5hbWUiPnN0ZG91dDwvdHQ+IGluIHRoZSBwcm9wZXIgZW5jb2RpbmcuIEZvciB0aGlzIGV4YW1wbGUsIHdlCisgICAgdXNlIElTTy04ODU5LTEgZW5jb2RpbmcuIFRoZSBlbmNvZGluZyBvZiB0aGUgc3RyaW5nIGlucHV0IGF0IHRoZSBjb21tYW5kCisgICAgbGluZSBpcyBjb252ZXJ0ZWQgZnJvbSBJU08tODg1OS0xIHRvIFVURi04LiBGdWxsIGNvZGU6IDxhIGhyZWY9ImFwaC5odG1sIiB0aXRsZT0iSC6gQ29kZSBmb3IgRW5jb2RpbmcgQ29udmVyc2lvbiBFeGFtcGxlIj5BcHBlbmRpeKBILCA8aT5Db2RlIGZvciBFbmNvZGluZyBDb252ZXJzaW9uIEV4YW1wbGU8L2k+PC9hPjwvcD48cD5UaGUgY29udmVyc2lvbiwgZW5jYXBzdWxhdGVkIGluIHRoZSBleGFtcGxlIGNvZGUgaW4gdGhlCisgICAgICA8dHQgY2xhc3M9ImZ1bmN0aW9uIj5jb252ZXJ0PC90dD4gZnVuY3Rpb24sIHVzZXMKKyAgICAgIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+bGlieG1sJ3M8L3NwYW4+CisgICAgPHR0IGNsYXNzPSJmdW5jdGlvbiI+eG1sRmluZENoYXJFbmNvZGluZ0hhbmRsZXI8L3R0PiBmdW5jdGlvbjoKKyAgICAgIDwvcD48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+CisJPGEgbmFtZT0iaGFuZGxlcmRhdGF0eXBlIj48L2E+PGltZyBzcmM9ImltYWdlcy9jYWxsb3V0cy8xLnBuZyIgYWx0PSIxIiBib3JkZXI9IjAiPnhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIgaGFuZGxlcjsKKyAgICAgICAgPGEgbmFtZT0iY2FsY3NpemUiPjwvYT48aW1nIHNyYz0iaW1hZ2VzL2NhbGxvdXRzLzIucG5nIiBhbHQ9IjIiIGJvcmRlcj0iMCI+c2l6ZSA9IChpbnQpc3RybGVuKGluKSsxOyAKKyAgICAgICAgb3V0X3NpemUgPSBzaXplKjItMTsgCisgICAgICAgIG91dCA9IG1hbGxvYygoc2l6ZV90KW91dF9zaXplKTsgCisKKyYjODIzMDsKKwk8YSBuYW1lPSJmaW5kaGFuZGxlcmZ1bmN0aW9uIj48L2E+PGltZyBzcmM9ImltYWdlcy9jYWxsb3V0cy8zLnBuZyIgYWx0PSIzIiBib3JkZXI9IjAiPmhhbmRsZXIgPSB4bWxGaW5kQ2hhckVuY29kaW5nSGFuZGxlcihlbmNvZGluZyk7CismIzgyMzA7CisJPGEgbmFtZT0iY2FsbGNvbnZlcnNpb25mdW5jdGlvbiI+PC9hPjxpbWcgc3JjPSJpbWFnZXMvY2FsbG91dHMvNC5wbmciIGFsdD0iNCIgYm9yZGVyPSIwIj5oYW5kbGVyLSZndDtpbnB1dChvdXQsICZhbXA7b3V0X3NpemUsIGluLCAmYW1wO3RlbXApOworJiM4MjMwOwkKKwk8YSBuYW1lPSJvdXRwdXRlbmNvZGluZyI+PC9hPjxpbWcgc3JjPSJpbWFnZXMvY2FsbG91dHMvNS5wbmciIGFsdD0iNSIgYm9yZGVyPSIwIj54bWxTYXZlRm9ybWF0RmlsZUVuYygiLSIsIGRvYywgZW5jb2RpbmcsIDEpOworICAgICAgPC9wcmU+PHA+CisgICAgICA8L3A+PGRpdiBjbGFzcz0iY2FsbG91dGxpc3QiPjx0YWJsZSBib3JkZXI9IjAiIHN1bW1hcnk9IkNhbGxvdXQgbGlzdCI+PHRyPjx0ZCB3aWR0aD0iNSUiIHZhbGlnbj0idG9wIiBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iI2hhbmRsZXJkYXRhdHlwZSI+PGltZyBzcmM9ImltYWdlcy9jYWxsb3V0cy8xLnBuZyIgYWx0PSIxIiBib3JkZXI9IjAiPjwvYT4gPC90ZD48dGQgdmFsaWduPSJ0b3AiIGFsaWduPSJsZWZ0Ij48cD48dHQgY2xhc3M9InZhcm5hbWUiPmhhbmRsZXI8L3R0PiBpcyBkZWNsYXJlZCBhcyBhIHBvaW50ZXIgdG8gYW4KKwkgICAgPHR0IGNsYXNzPSJmdW5jdGlvbiI+eG1sQ2hhckVuY29kaW5nSGFuZGxlcjwvdHQ+IGZ1bmN0aW9uLjwvcD48L3RkPjwvdHI+PHRyPjx0ZCB3aWR0aD0iNSUiIHZhbGlnbj0idG9wIiBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iI2NhbGNzaXplIj48aW1nIHNyYz0iaW1hZ2VzL2NhbGxvdXRzLzIucG5nIiBhbHQ9IjIiIGJvcmRlcj0iMCI+PC9hPiA8L3RkPjx0ZCB2YWxpZ249InRvcCIgYWxpZ249ImxlZnQiPjxwPlRoZSA8dHQgY2xhc3M9ImZ1bmN0aW9uIj54bWxDaGFyRW5jb2RpbmdIYW5kbGVyPC90dD4gZnVuY3Rpb24gbmVlZHMKKwkgIHRvIGJlIGdpdmVuIHRoZSBzaXplIG9mIHRoZSBpbnB1dCBhbmQgb3V0cHV0IHN0cmluZ3MsIHdoaWNoIGFyZQorCSAgICBjYWxjdWxhdGVkIGhlcmUgZm9yIHN0cmluZ3MgPHR0IGNsYXNzPSJ2YXJuYW1lIj5pbjwvdHQ+IGFuZAorCSAgPHR0IGNsYXNzPSJ2YXJuYW1lIj5vdXQ8L3R0Pi48L3A+PC90ZD48L3RyPjx0cj48dGQgd2lkdGg9IjUlIiB2YWxpZ249InRvcCIgYWxpZ249ImxlZnQiPjxhIGhyZWY9IiNmaW5kaGFuZGxlcmZ1bmN0aW9uIj48aW1nIHNyYz0iaW1hZ2VzL2NhbGxvdXRzLzMucG5nIiBhbHQ9IjMiIGJvcmRlcj0iMCI+PC9hPiA8L3RkPjx0ZCB2YWxpZ249InRvcCIgYWxpZ249ImxlZnQiPjxwPjx0dCBjbGFzcz0iZnVuY3Rpb24iPnhtbEZpbmRDaGFyRW5jb2RpbmdIYW5kbGVyPC90dD4gdGFrZXMgYXMgaXRzCisJICAgIGFyZ3VtZW50IHRoZSBkYXRhJ3MgaW5pdGlhbCBlbmNvZGluZyBhbmQgc2VhcmNoZXMKKwkgICAgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5saWJ4bWwnczwvc3Bhbj4gYnVpbHQtaW4gc2V0IG9mIGNvbnZlcnNpb24KKwkgICAgaGFuZGxlcnMsIHJldHVybmluZyBhIHBvaW50ZXIgdG8gdGhlIGZ1bmN0aW9uIG9yIE5VTEwgaWYgbm9uZSBpcworCSAgICBmb3VuZC48L3A+PC90ZD48L3RyPjx0cj48dGQgd2lkdGg9IjUlIiB2YWxpZ249InRvcCIgYWxpZ249ImxlZnQiPjxhIGhyZWY9IiNjYWxsY29udmVyc2lvbmZ1bmN0aW9uIj48aW1nIHNyYz0iaW1hZ2VzL2NhbGxvdXRzLzQucG5nIiBhbHQ9IjQiIGJvcmRlcj0iMCI+PC9hPiA8L3RkPjx0ZCB2YWxpZ249InRvcCIgYWxpZ249ImxlZnQiPjxwPlRoZSBjb252ZXJzaW9uIGZ1bmN0aW9uIGlkZW50aWZpZWQgYnkgPHR0IGNsYXNzPSJ2YXJuYW1lIj5oYW5kbGVyPC90dD4KKwkgIHJlcXVpcmVzIGFzIGl0cyBhcmd1bWVudHMgcG9pbnRlcnMgdG8gdGhlIGlucHV0IGFuZCBvdXRwdXQgc3RyaW5ncywKKwkgIGFsb25nIHdpdGggdGhlIGxlbmd0aCBvZiBlYWNoLiBUaGUgbGVuZ3RocyBtdXN0IGJlIGRldGVybWluZWQKKwkgIHNlcGFyYXRlbHkgYnkgdGhlIGFwcGxpY2F0aW9uLjwvcD48L3RkPjwvdHI+PHRyPjx0ZCB3aWR0aD0iNSUiIHZhbGlnbj0idG9wIiBhbGlnbj0ibGVmdCI+PGEgaHJlZj0iI291dHB1dGVuY29kaW5nIj48aW1nIHNyYz0iaW1hZ2VzL2NhbGxvdXRzLzUucG5nIiBhbHQ9IjUiIGJvcmRlcj0iMCI+PC9hPiA8L3RkPjx0ZCB2YWxpZ249InRvcCIgYWxpZ249ImxlZnQiPjxwPlRvIG91dHB1dCBpbiBhIHNwZWNpZmllZCBlbmNvZGluZyByYXRoZXIgdGhhbiBVVEYtOCwgd2UgdXNlCisJICAgIDx0dCBjbGFzcz0iZnVuY3Rpb24iPnhtbFNhdmVGb3JtYXRGaWxlRW5jPC90dD4sIHNwZWNpZnlpbmcgdGhlCisJICAgIGVuY29kaW5nLjwvcD48L3RkPjwvdHI+PC90YWJsZT48L2Rpdj48cD4KKyAgICA8L3A+PC9kaXY+PGRpdiBjbGFzcz0ibmF2Zm9vdGVyIj48aHI+PHRhYmxlIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGZvb3RlciI+PHRyPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0ibGVmdCI+PGEgYWNjZXNza2V5PSJwIiBocmVmPSJhcjAxczA4Lmh0bWwiPlByZXY8L2E+oDwvdGQ+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJjZW50ZXIiPjxhIGFjY2Vzc2tleT0idSIgaHJlZj0iaW5kZXguaHRtbCI+VXA8L2E+PC90ZD48dGQgd2lkdGg9IjQwJSIgYWxpZ249InJpZ2h0Ij6gPGEgYWNjZXNza2V5PSJuIiBocmVmPSJhcGEuaHRtbCI+TmV4dDwvYT48L3RkPjwvdHI+PHRyPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPlJldHJpZXZpbmcgQXR0cmlidXRlc6A8L3RkPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0iY2VudGVyIj48YSBhY2Nlc3NrZXk9ImgiIGhyZWY9ImluZGV4Lmh0bWwiPkhvbWU8L2E+PC90ZD48dGQgd2lkdGg9IjQwJSIgYWxpZ249InJpZ2h0IiB2YWxpZ249InRvcCI+oEEuoENvbXBpbGF0aW9uPC90ZD48L3RyPjwvdGFibGU+PC9kaXY+PC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2N1c3RvbWZvLnhzbCBiL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2N1c3RvbWZvLnhzbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZWE4MjQ3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvdHV0b3JpYWwvY3VzdG9tZm8ueHNsCkBAIC0wLDAgKzEsMjIgQEAKKzw/eG1sIHZlcnNpb249JzEuMCc/PgorPHhzbDpzdHlsZXNoZWV0IHhtbG5zOnhzbD0iaHR0cDovL3d3dy53My5vcmcvMTk5OS9YU0wvVHJhbnNmb3JtIgorICAgICAgICAgICAgICAgIHZlcnNpb249JzEuMCc+CisKKyAgPHhzbDppbXBvcnQgaHJlZj0iaHR0cDovL2RvY2Jvb2suc291cmNlZm9yZ2UubmV0L3JlbGVhc2UveHNsLzEuNjEuMi9mby9kb2Nib29rLnhzbCIgLz4KKworPCEtLSBkb24ndCBkaXNwbGF5IHVsaW5rIHRhcmdldHMgaW4gbWFpbiB0ZXh0IC0tPgorPHhzbDpwYXJhbSBuYW1lPSJ1bGluay5zaG93Ij4wPC94c2w6cGFyYW0+CisKKzwhLS0gZG9uJ3QgdXNlIGdyYXBoaWNzIGZvciBjYWxsb3V0cyAtLT4KKzx4c2w6cGFyYW0gbmFtZT0iY2FsbG91dC51bmljb2RlIj4xPC94c2w6cGFyYW0+Cis8eHNsOnBhcmFtIG5hbWU9ImNhbGxvdXQuZ3JhcGhpY3MiPjA8L3hzbDpwYXJhbT4KKworPCEtLSB0aWdodGVyIG1hcmdpbnMgLS0+Cis8eHNsOnBhcmFtIG5hbWU9InBhZ2UubWFyZ2luLmlubmVyIj4yaW48L3hzbDpwYXJhbT4KKzx4c2w6cGFyYW0gbmFtZT0icGFnZS5tYXJnaW4ub3V0ZXIiPjJpbjwveHNsOnBhcmFtPgorCis8IS0tIGVuYWJsZSBwZGYgYm9va21hcmtzIC0tPgorPHhzbDpwYXJhbSBuYW1lPSJmb3AuZXh0ZW5zaW9ucyI+MTwveHNsOnBhcmFtPgorCisKKzwveHNsOnN0eWxlc2hlZXQ+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvdHV0b3JpYWwvY3VzdG9taHRtbC54c2wgYi9saWJ4bWwyL2RvYy90dXRvcmlhbC9jdXN0b21odG1sLnhzbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ODM3NDY4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvdHV0b3JpYWwvY3VzdG9taHRtbC54c2wKQEAgLTAsMCArMSwxOCBAQAorPD94bWwgdmVyc2lvbj0nMS4wJz8+Cis8eHNsOnN0eWxlc2hlZXQgeG1sbnM6eHNsPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L1hTTC9UcmFuc2Zvcm0iCisgICAgICAgICAgICAgICAgdmVyc2lvbj0nMS4wJz4KKworPHhzbDppbXBvcnQgaHJlZj0iaHR0cDovL2RvY2Jvb2suc291cmNlZm9yZ2UubmV0L3JlbGVhc2UveHNsLzEuNjEuMi9odG1sL2NodW5rLnhzbCIgLz4KKworPCEtLSB1c2UgY2FsbG91dCBncmFwaGljcyAtLT4KKzx4c2w6cGFyYW0gbmFtZT0iY2FsbG91dC5ncmFwaGljcyI+MTwveHNsOnBhcmFtPgorCis8IS0tIHVzZSBhZG1vbml0aW9uIGdyYXBoaWNzIC0tPgorPHhzbDpwYXJhbSBuYW1lPSJhZG1vbi5ncmFwaGljcyI+MTwveHNsOnBhcmFtPgorPHhzbDp0ZW1wbGF0ZSBtYXRjaD0icmV2aGlzdG9yeSI+PC94c2w6dGVtcGxhdGU+Cis8eHNsOnRlbXBsYXRlIG1hdGNoPSJyZXZpc2lvbiI+PC94c2w6dGVtcGxhdGU+Cis8eHNsOnRlbXBsYXRlIG1hdGNoPSJyZXZudW1iZXIiPjwveHNsOnRlbXBsYXRlPgorCis8eHNsOnRlbXBsYXRlIG1hdGNoPSJyZXZyZW1hcmsiPjwveHNsOnRlbXBsYXRlPgorCis8L3hzbDpzdHlsZXNoZWV0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2ltYWdlcy9ibGFuay5wbmcgYi9saWJ4bWwyL2RvYy90dXRvcmlhbC9pbWFnZXMvYmxhbmsucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc2NGJmNGYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy90dXRvcmlhbC9pbWFnZXMvYmxhbmsucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2ltYWdlcy9jYWxsb3V0cy8xLnBuZyBiL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2ltYWdlcy9jYWxsb3V0cy8xLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZDQ3MzQzCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvdHV0b3JpYWwvaW1hZ2VzL2NhbGxvdXRzLzEucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2ltYWdlcy9jYWxsb3V0cy8xMC5wbmcgYi9saWJ4bWwyL2RvYy90dXRvcmlhbC9pbWFnZXMvY2FsbG91dHMvMTAucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk5N2JiYzgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy90dXRvcmlhbC9pbWFnZXMvY2FsbG91dHMvMTAucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2ltYWdlcy9jYWxsb3V0cy8yLnBuZyBiL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2ltYWdlcy9jYWxsb3V0cy8yLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZDA5MzQxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvdHV0b3JpYWwvaW1hZ2VzL2NhbGxvdXRzLzIucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2ltYWdlcy9jYWxsb3V0cy8zLnBuZyBiL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2ltYWdlcy9jYWxsb3V0cy8zLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZjdiNzAwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvdHV0b3JpYWwvaW1hZ2VzL2NhbGxvdXRzLzMucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2ltYWdlcy9jYWxsb3V0cy80LnBuZyBiL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2ltYWdlcy9jYWxsb3V0cy80LnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZGI4MzY0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvdHV0b3JpYWwvaW1hZ2VzL2NhbGxvdXRzLzQucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2ltYWdlcy9jYWxsb3V0cy81LnBuZyBiL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2ltYWdlcy9jYWxsb3V0cy81LnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZDdlYjQ2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvdHV0b3JpYWwvaW1hZ2VzL2NhbGxvdXRzLzUucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2ltYWdlcy9jYWxsb3V0cy82LnBuZyBiL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2ltYWdlcy9jYWxsb3V0cy82LnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYmE2OTRhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvdHV0b3JpYWwvaW1hZ2VzL2NhbGxvdXRzLzYucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2ltYWdlcy9jYWxsb3V0cy83LnBuZyBiL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2ltYWdlcy9jYWxsb3V0cy83LnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NzJlOTZmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvdHV0b3JpYWwvaW1hZ2VzL2NhbGxvdXRzLzcucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2ltYWdlcy9jYWxsb3V0cy84LnBuZyBiL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2ltYWdlcy9jYWxsb3V0cy84LnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZTYwOTczCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvdHV0b3JpYWwvaW1hZ2VzL2NhbGxvdXRzLzgucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2ltYWdlcy9jYWxsb3V0cy85LnBuZyBiL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2ltYWdlcy9jYWxsb3V0cy85LnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMDY3NmQyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvdHV0b3JpYWwvaW1hZ2VzL2NhbGxvdXRzLzkucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2ltYWdlcy9jYXV0aW9uLnBuZyBiL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2ltYWdlcy9jYXV0aW9uLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41Yjc4MDljCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvdHV0b3JpYWwvaW1hZ2VzL2NhdXRpb24ucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2ltYWdlcy9kcmFmdC5wbmcgYi9saWJ4bWwyL2RvYy90dXRvcmlhbC9pbWFnZXMvZHJhZnQucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAwODQ3MDgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy90dXRvcmlhbC9pbWFnZXMvZHJhZnQucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2ltYWdlcy9ob21lLnBuZyBiL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2ltYWdlcy9ob21lLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYmI3MTFkCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvdHV0b3JpYWwvaW1hZ2VzL2hvbWUucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2ltYWdlcy9pbXBvcnRhbnQucG5nIGIvbGlieG1sMi9kb2MvdHV0b3JpYWwvaW1hZ2VzL2ltcG9ydGFudC5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTJjOTBmNgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2ltYWdlcy9pbXBvcnRhbnQucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2ltYWdlcy9uZXh0LnBuZyBiL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2ltYWdlcy9uZXh0LnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NTgzNWJmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvdHV0b3JpYWwvaW1hZ2VzL25leHQucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2ltYWdlcy9ub3RlLnBuZyBiL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2ltYWdlcy9ub3RlLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMGMzYzY0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvdHV0b3JpYWwvaW1hZ2VzL25vdGUucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2ltYWdlcy9wcmV2LnBuZyBiL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2ltYWdlcy9wcmV2LnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZjI0NjU0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvdHV0b3JpYWwvaW1hZ2VzL3ByZXYucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2ltYWdlcy90aXAucG5nIGIvbGlieG1sMi9kb2MvdHV0b3JpYWwvaW1hZ2VzL3RpcC5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWM0YWFiMwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2ltYWdlcy90aXAucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2ltYWdlcy90b2MtYmxhbmsucG5nIGIvbGlieG1sMi9kb2MvdHV0b3JpYWwvaW1hZ2VzL3RvYy1ibGFuay5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmZmYWQxNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2ltYWdlcy90b2MtYmxhbmsucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2ltYWdlcy90b2MtbWludXMucG5nIGIvbGlieG1sMi9kb2MvdHV0b3JpYWwvaW1hZ2VzL3RvYy1taW51cy5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWJiYjAyMAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2ltYWdlcy90b2MtbWludXMucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2ltYWdlcy90b2MtcGx1cy5wbmcgYi9saWJ4bWwyL2RvYy90dXRvcmlhbC9pbWFnZXMvdG9jLXBsdXMucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk0MTMxMmMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy90dXRvcmlhbC9pbWFnZXMvdG9jLXBsdXMucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2ltYWdlcy91cC5wbmcgYi9saWJ4bWwyL2RvYy90dXRvcmlhbC9pbWFnZXMvdXAucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA3NjM0ZGUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy90dXRvcmlhbC9pbWFnZXMvdXAucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2ltYWdlcy93YXJuaW5nLnBuZyBiL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2ltYWdlcy93YXJuaW5nLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYzMzZGI4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvdHV0b3JpYWwvaW1hZ2VzL3dhcm5pbmcucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2luY2x1ZGVhZGRhdHRyaWJ1dGUuYyBiL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2luY2x1ZGVhZGRhdHRyaWJ1dGUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYjZhMThiCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvdHV0b3JpYWwvaW5jbHVkZWFkZGF0dHJpYnV0ZS5jCkBAIC0wLDAgKzEsNjQgQEAKKzwhW0NEQVRBWworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8bGlieG1sL3htbG1lbW9yeS5oPgorI2luY2x1ZGUgPGxpYnhtbC9wYXJzZXIuaD4KKworCit4bWxEb2NQdHIKK3BhcnNlRG9jKGNoYXIgKmRvY25hbWUsIGNoYXIgKnVyaSkgeworCisJeG1sRG9jUHRyIGRvYzsKKwl4bWxOb2RlUHRyIGN1cjsKKwl4bWxOb2RlUHRyIG5ld25vZGU7CisJeG1sQXR0clB0ciBuZXdhdHRyOworCisJZG9jID0geG1sUGFyc2VGaWxlKGRvY25hbWUpOworCQorCWlmIChkb2MgPT0gTlVMTCApIHsKKwkJZnByaW50ZihzdGRlcnIsIkRvY3VtZW50IG5vdCBwYXJzZWQgc3VjY2Vzc2Z1bGx5LiBcbiIpOworCQlyZXR1cm4gKE5VTEwpOworCX0KKwkKKwljdXIgPSB4bWxEb2NHZXRSb290RWxlbWVudChkb2MpOworCQorCWlmIChjdXIgPT0gTlVMTCkgeworCQlmcHJpbnRmKHN0ZGVyciwiZW1wdHkgZG9jdW1lbnRcbiIpOworCQl4bWxGcmVlRG9jKGRvYyk7CisJCXJldHVybiAoTlVMTCk7CisJfQorCQorCWlmICh4bWxTdHJjbXAoY3VyLT5uYW1lLCAoY29uc3QgeG1sQ2hhciAqKSAic3RvcnkiKSkgeworCQlmcHJpbnRmKHN0ZGVyciwiZG9jdW1lbnQgb2YgdGhlIHdyb25nIHR5cGUsIHJvb3Qgbm9kZSAhPSBzdG9yeSIpOworCQl4bWxGcmVlRG9jKGRvYyk7CisJCXJldHVybiAoTlVMTCk7CisJfQorCQorCW5ld25vZGUgPSB4bWxOZXdUZXh0Q2hpbGQgKGN1ciwgTlVMTCwgInJlZmVyZW5jZSIsIE5VTEwpOworCW5ld2F0dHIgPSB4bWxOZXdQcm9wIChuZXdub2RlLCAidXJpIiwgdXJpKTsKKwlyZXR1cm4oZG9jKTsKK30KKworaW50CittYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgeworCisJY2hhciAqZG9jbmFtZTsKKwljaGFyICp1cmk7CisJeG1sRG9jUHRyIGRvYzsKKworCWlmIChhcmdjIDw9IDIpIHsKKwkJcHJpbnRmKCJVc2FnZTogJXMgZG9jbmFtZSwgdXJpXG4iLCBhcmd2WzBdKTsKKwkJcmV0dXJuKDApOworCX0KKworCWRvY25hbWUgPSBhcmd2WzFdOworCXVyaSA9IGFyZ3ZbMl07CisJZG9jID0gcGFyc2VEb2MgKGRvY25hbWUsIHVyaSk7CisJaWYgKGRvYyAhPSBOVUxMKSB7CisJCXhtbFNhdmVGb3JtYXRGaWxlIChkb2NuYW1lLCBkb2MsIDEpOworCQl4bWxGcmVlRG9jKGRvYyk7CisJfQorCXJldHVybiAoMSk7Cit9CitdXT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2luY2x1ZGVhZGRrZXl3b3JkLmMgYi9saWJ4bWwyL2RvYy90dXRvcmlhbC9pbmNsdWRlYWRka2V5d29yZC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk3NTE2OGQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy90dXRvcmlhbC9pbmNsdWRlYWRka2V5d29yZC5jCkBAIC0wLDAgKzEsNzUgQEAKKzwhW0NEQVRBWworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8bGlieG1sL3htbG1lbW9yeS5oPgorI2luY2x1ZGUgPGxpYnhtbC9wYXJzZXIuaD4KKwordm9pZAorcGFyc2VTdG9yeSAoeG1sRG9jUHRyIGRvYywgeG1sTm9kZVB0ciBjdXIsIGNoYXIgKmtleXdvcmQpIHsKKworCXhtbE5ld1RleHRDaGlsZCAoY3VyLCBOVUxMLCAia2V5d29yZCIsIGtleXdvcmQpOworICAgIHJldHVybjsKK30KKworeG1sRG9jUHRyCitwYXJzZURvYyhjaGFyICpkb2NuYW1lLCBjaGFyICprZXl3b3JkKSB7CisKKwl4bWxEb2NQdHIgZG9jOworCXhtbE5vZGVQdHIgY3VyOworCisJZG9jID0geG1sUGFyc2VGaWxlKGRvY25hbWUpOworCQorCWlmIChkb2MgPT0gTlVMTCApIHsKKwkJZnByaW50ZihzdGRlcnIsIkRvY3VtZW50IG5vdCBwYXJzZWQgc3VjY2Vzc2Z1bGx5LiBcbiIpOworCQlyZXR1cm4gKE5VTEwpOworCX0KKwkKKwljdXIgPSB4bWxEb2NHZXRSb290RWxlbWVudChkb2MpOworCQorCWlmIChjdXIgPT0gTlVMTCkgeworCQlmcHJpbnRmKHN0ZGVyciwiZW1wdHkgZG9jdW1lbnRcbiIpOworCQl4bWxGcmVlRG9jKGRvYyk7CisJCXJldHVybiAoTlVMTCk7CisJfQorCQorCWlmICh4bWxTdHJjbXAoY3VyLT5uYW1lLCAoY29uc3QgeG1sQ2hhciAqKSAic3RvcnkiKSkgeworCQlmcHJpbnRmKHN0ZGVyciwiZG9jdW1lbnQgb2YgdGhlIHdyb25nIHR5cGUsIHJvb3Qgbm9kZSAhPSBzdG9yeSIpOworCQl4bWxGcmVlRG9jKGRvYyk7CisJCXJldHVybiAoTlVMTCk7CisJfQorCQorCWN1ciA9IGN1ci0+eG1sQ2hpbGRyZW5Ob2RlOworCXdoaWxlIChjdXIgIT0gTlVMTCkgeworCQlpZiAoKCF4bWxTdHJjbXAoY3VyLT5uYW1lLCAoY29uc3QgeG1sQ2hhciAqKSJzdG9yeWluZm8iKSkpeworCQkJcGFyc2VTdG9yeSAoZG9jLCBjdXIsIGtleXdvcmQpOworCQl9CisJCSAKKwljdXIgPSBjdXItPm5leHQ7CisJfQorCXJldHVybihkb2MpOworfQorCitpbnQKK21haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CisKKwljaGFyICpkb2NuYW1lOworCWNoYXIgKmtleXdvcmQ7CisJeG1sRG9jUHRyIGRvYzsKKworCWlmIChhcmdjIDw9IDIpIHsKKwkJcHJpbnRmKCJVc2FnZTogJXMgZG9jbmFtZSwga2V5d29yZFxuIiwgYXJndlswXSk7CisJCXJldHVybigwKTsKKwl9CisKKwlkb2NuYW1lID0gYXJndlsxXTsKKwlrZXl3b3JkID0gYXJndlsyXTsKKwlkb2MgPSBwYXJzZURvYyAoZG9jbmFtZSwga2V5d29yZCk7CisJaWYgKGRvYyAhPSBOVUxMKSB7CisJCXhtbFNhdmVGb3JtYXRGaWxlIChkb2NuYW1lLCBkb2MsIDApOworCQl4bWxGcmVlRG9jKGRvYyk7CisJfQorCQorCXJldHVybiAoMSk7Cit9CitdXT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2luY2x1ZGVjb252ZXJ0LmMgYi9saWJ4bWwyL2RvYy90dXRvcmlhbC9pbmNsdWRlY29udmVydC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ4MmU1NmYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy90dXRvcmlhbC9pbmNsdWRlY29udmVydC5jCkBAIC0wLDAgKzEsNzMgQEAKKzwhW0NEQVRBWworI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGxpYnhtbC9wYXJzZXIuaD4KKworCit1bnNpZ25lZCBjaGFyKgorY29udmVydCAodW5zaWduZWQgY2hhciAqaW4sIGNoYXIgKmVuY29kaW5nKQoreworCXVuc2lnbmVkIGNoYXIgKm91dDsKKyAgICAgICAgaW50IHJldCxzaXplLG91dF9zaXplLHRlbXA7CisgICAgICAgIHhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIgaGFuZGxlcjsKKworICAgICAgICBzaXplID0gKGludClzdHJsZW4oaW4pKzE7IAorICAgICAgICBvdXRfc2l6ZSA9IHNpemUqMi0xOyAKKyAgICAgICAgb3V0ID0gbWFsbG9jKChzaXplX3Qpb3V0X3NpemUpOyAKKworICAgICAgICBpZiAob3V0KSB7CisgICAgICAgICAgICAgICAgaGFuZGxlciA9IHhtbEZpbmRDaGFyRW5jb2RpbmdIYW5kbGVyKGVuY29kaW5nKTsKKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICBpZiAoIWhhbmRsZXIpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGZyZWUob3V0KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIG91dCA9IE5VTEw7CisgICAgICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIGlmIChvdXQpIHsKKyAgICAgICAgICAgICAgICB0ZW1wPXNpemUtMTsKKyAgICAgICAgICAgICAgICByZXQgPSBoYW5kbGVyLT5pbnB1dChvdXQsICZvdXRfc2l6ZSwgaW4sICZ0ZW1wKTsKKyAgICAgICAgICAgICAgICBpZiAocmV0IHx8IHRlbXAtc2l6ZSsxKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmV0KSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW50ZigiY29udmVyc2lvbiB3YXNuJ3Qgc3VjY2Vzc2Z1bC5cbiIpOworICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnRmKCJjb252ZXJzaW9uIHdhc24ndCBzdWNjZXNzZnVsLiBjb252ZXJ0ZWQ6ICVpIG9jdGV0cy5cbiIsdGVtcCk7CisgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICBmcmVlKG91dCk7CisgICAgICAgICAgICAgICAgICAgICAgICBvdXQgPSBOVUxMOworICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICBvdXQgPSByZWFsbG9jKG91dCxvdXRfc2l6ZSsxKTsgCisgICAgICAgICAgICAgICAgICAgICAgICBvdXRbb3V0X3NpemVdPTA7IC8qbnVsbCB0ZXJtaW5hdGluZyBvdXQqLworICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIHByaW50Zigibm8gbWVtXG4iKTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gKG91dCk7Cit9CQorCisKK2ludAorbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKKworCXVuc2lnbmVkIGNoYXIgKmNvbnRlbnQsICpvdXQ7CisJeG1sRG9jUHRyIGRvYzsKKwl4bWxOb2RlUHRyIHJvb3Rub2RlOworCWNoYXIgKmVuY29kaW5nID0gIklTTy04ODU5LTEiOworCQorCQkKKwlpZiAoYXJnYyA8PSAxKSB7CisJCXByaW50ZigiVXNhZ2U6ICVzIGNvbnRlbnRcbiIsIGFyZ3ZbMF0pOworCQlyZXR1cm4oMCk7CisJfQorCisJY29udGVudCA9IGFyZ3ZbMV07CisKKwlvdXQgPSBjb252ZXJ0KGNvbnRlbnQsIGVuY29kaW5nKTsKKworCWRvYyA9IHhtbE5ld0RvYyAoIjEuMCIpOworCXJvb3Rub2RlID0geG1sTmV3RG9jTm9kZShkb2MsIE5VTEwsIChjb25zdCB4bWxDaGFyKikicm9vdCIsIG91dCk7CisJeG1sRG9jU2V0Um9vdEVsZW1lbnQoZG9jLCByb290bm9kZSk7CisKKwl4bWxTYXZlRm9ybWF0RmlsZUVuYygiLSIsIGRvYywgZW5jb2RpbmcsIDEpOworCXJldHVybiAoMSk7Cit9CitdXT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2luY2x1ZGVnZXRhdHRyaWJ1dGUuYyBiL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2luY2x1ZGVnZXRhdHRyaWJ1dGUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMmI3NDcxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvdHV0b3JpYWwvaW5jbHVkZWdldGF0dHJpYnV0ZS5jCkBAIC0wLDAgKzEsNzIgQEAKKzwhW0NEQVRBWworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8bGlieG1sL3htbG1lbW9yeS5oPgorI2luY2x1ZGUgPGxpYnhtbC9wYXJzZXIuaD4KKwordm9pZAorZ2V0UmVmZXJlbmNlICh4bWxEb2NQdHIgZG9jLCB4bWxOb2RlUHRyIGN1cikgeworCisJeG1sQ2hhciAqdXJpOworCWN1ciA9IGN1ci0+eG1sQ2hpbGRyZW5Ob2RlOworCXdoaWxlIChjdXIgIT0gTlVMTCkgeworCSAgICBpZiAoKCF4bWxTdHJjbXAoY3VyLT5uYW1lLCAoY29uc3QgeG1sQ2hhciAqKSJyZWZlcmVuY2UiKSkpIHsKKwkJICAgIHVyaSA9IHhtbEdldFByb3AoY3VyLCAidXJpIik7CisJCSAgICBwcmludGYoInVyaTogJXNcbiIsIHVyaSk7CisJCSAgICB4bWxGcmVlKHVyaSk7CisJICAgIH0KKwkgICAgY3VyID0gY3VyLT5uZXh0OworCX0KKwlyZXR1cm47Cit9CisKKwordm9pZAorcGFyc2VEb2MoY2hhciAqZG9jbmFtZSkgeworCisJeG1sRG9jUHRyIGRvYzsKKwl4bWxOb2RlUHRyIGN1cjsKKworCWRvYyA9IHhtbFBhcnNlRmlsZShkb2NuYW1lKTsKKwkKKwlpZiAoZG9jID09IE5VTEwgKSB7CisJCWZwcmludGYoc3RkZXJyLCJEb2N1bWVudCBub3QgcGFyc2VkIHN1Y2Nlc3NmdWxseS4gXG4iKTsKKwkJcmV0dXJuOworCX0KKwkKKwljdXIgPSB4bWxEb2NHZXRSb290RWxlbWVudChkb2MpOworCQorCWlmIChjdXIgPT0gTlVMTCkgeworCQlmcHJpbnRmKHN0ZGVyciwiZW1wdHkgZG9jdW1lbnRcbiIpOworCQl4bWxGcmVlRG9jKGRvYyk7CisJCXJldHVybjsKKwl9CisJCisJaWYgKHhtbFN0cmNtcChjdXItPm5hbWUsIChjb25zdCB4bWxDaGFyICopICJzdG9yeSIpKSB7CisJCWZwcmludGYoc3RkZXJyLCJkb2N1bWVudCBvZiB0aGUgd3JvbmcgdHlwZSwgcm9vdCBub2RlICE9IHN0b3J5Iik7CisJCXhtbEZyZWVEb2MoZG9jKTsKKwkJcmV0dXJuOworCX0KKwkKKwlnZXRSZWZlcmVuY2UgKGRvYywgY3VyKTsKKwl4bWxGcmVlRG9jKGRvYyk7CisJcmV0dXJuOworfQorCitpbnQKK21haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CisKKwljaGFyICpkb2NuYW1lOworCisJaWYgKGFyZ2MgPD0gMSkgeworCQlwcmludGYoIlVzYWdlOiAlcyBkb2NuYW1lXG4iLCBhcmd2WzBdKTsKKwkJcmV0dXJuKDApOworCX0KKworCWRvY25hbWUgPSBhcmd2WzFdOworCXBhcnNlRG9jIChkb2NuYW1lKTsKKwkKKwlyZXR1cm4gKDEpOworfQorXV0+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy90dXRvcmlhbC9pbmNsdWRla2V5d29yZC5jIGIvbGlieG1sMi9kb2MvdHV0b3JpYWwvaW5jbHVkZWtleXdvcmQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOWJiNDY3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvdHV0b3JpYWwvaW5jbHVkZWtleXdvcmQuYwpAQCAtMCwwICsxLDc5IEBACis8IVtDREFUQVsKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPGxpYnhtbC94bWxtZW1vcnkuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvcGFyc2VyLmg+CisKK3ZvaWQKK3BhcnNlU3RvcnkgKHhtbERvY1B0ciBkb2MsIHhtbE5vZGVQdHIgY3VyKSB7CisKKwl4bWxDaGFyICprZXk7CisJY3VyID0gY3VyLT54bWxDaGlsZHJlbk5vZGU7CisJd2hpbGUgKGN1ciAhPSBOVUxMKSB7CisJICAgIGlmICgoIXhtbFN0cmNtcChjdXItPm5hbWUsIChjb25zdCB4bWxDaGFyICopImtleXdvcmQiKSkpIHsKKwkJICAgIGtleSA9IHhtbE5vZGVMaXN0R2V0U3RyaW5nKGRvYywgY3VyLT54bWxDaGlsZHJlbk5vZGUsIDEpOworCQkgICAgcHJpbnRmKCJrZXl3b3JkOiAlc1xuIiwga2V5KTsKKwkJICAgIHhtbEZyZWUoa2V5KTsKKyAJICAgIH0KKwljdXIgPSBjdXItPm5leHQ7CisJfQorICAgIHJldHVybjsKK30KKworc3RhdGljIHZvaWQKK3BhcnNlRG9jKGNoYXIgKmRvY25hbWUpIHsKKworCXhtbERvY1B0ciBkb2M7CisJeG1sTm9kZVB0ciBjdXI7CisKKwlkb2MgPSB4bWxQYXJzZUZpbGUoZG9jbmFtZSk7CisJCisJaWYgKGRvYyA9PSBOVUxMICkgeworCQlmcHJpbnRmKHN0ZGVyciwiRG9jdW1lbnQgbm90IHBhcnNlZCBzdWNjZXNzZnVsbHkuIFxuIik7CisJCXJldHVybjsKKwl9CisJCisJY3VyID0geG1sRG9jR2V0Um9vdEVsZW1lbnQoZG9jKTsKKwkKKwlpZiAoY3VyID09IE5VTEwpIHsKKwkJZnByaW50ZihzdGRlcnIsImVtcHR5IGRvY3VtZW50XG4iKTsKKwkJeG1sRnJlZURvYyhkb2MpOworCQlyZXR1cm47CisJfQorCQorCWlmICh4bWxTdHJjbXAoY3VyLT5uYW1lLCAoY29uc3QgeG1sQ2hhciAqKSAic3RvcnkiKSkgeworCQlmcHJpbnRmKHN0ZGVyciwiZG9jdW1lbnQgb2YgdGhlIHdyb25nIHR5cGUsIHJvb3Qgbm9kZSAhPSBzdG9yeSIpOworCQl4bWxGcmVlRG9jKGRvYyk7CisJCXJldHVybjsKKwl9CisJCisJY3VyID0gY3VyLT54bWxDaGlsZHJlbk5vZGU7CisJd2hpbGUgKGN1ciAhPSBOVUxMKSB7CisJCWlmICgoIXhtbFN0cmNtcChjdXItPm5hbWUsIChjb25zdCB4bWxDaGFyICopInN0b3J5aW5mbyIpKSl7CisJCQlwYXJzZVN0b3J5IChkb2MsIGN1cik7CisJCX0KKwkJIAorCWN1ciA9IGN1ci0+bmV4dDsKKwl9CisJCisJeG1sRnJlZURvYyhkb2MpOworCXJldHVybjsKK30KKworaW50CittYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgeworCisJY2hhciAqZG9jbmFtZTsKKwkJCisJaWYgKGFyZ2MgPD0gMSkgeworCQlwcmludGYoIlVzYWdlOiAlcyBkb2NuYW1lXG4iLCBhcmd2WzBdKTsKKwkJcmV0dXJuKDApOworCX0KKworCWRvY25hbWUgPSBhcmd2WzFdOworCXBhcnNlRG9jIChkb2NuYW1lKTsKKworCXJldHVybiAoMSk7Cit9CitdXT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2luY2x1ZGVzdG9yeS54bWwgYi9saWJ4bWwyL2RvYy90dXRvcmlhbC9pbmNsdWRlc3RvcnkueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhMjJjODkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy90dXRvcmlhbC9pbmNsdWRlc3RvcnkueG1sCkBAIC0wLDAgKzEsMTQgQEAKKzwhW0NEQVRBWworPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8c3Rvcnk+CisgIDxzdG9yeWluZm8+CisgICAgPGF1dGhvcj5Kb2huIEZsZWNrPC9hdXRob3I+CisgICAgPGRhdGV3cml0dGVuPkp1bmUgMiwgMjAwMjwvZGF0ZXdyaXR0ZW4+CisgICAgPGtleXdvcmQ+ZXhhbXBsZSBrZXl3b3JkPC9rZXl3b3JkPgorICA8L3N0b3J5aW5mbz4KKyAgPGJvZHk+CisgICAgPGhlYWRsaW5lPlRoaXMgaXMgdGhlIGhlYWRsaW5lPC9oZWFkbGluZT4KKyAgICA8cGFyYT5UaGlzIGlzIHRoZSBib2R5IHRleHQuPC9wYXJhPgorICA8L2JvZHk+Cis8L3N0b3J5PgorXV0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MvdHV0b3JpYWwvaW5jbHVkZXhwYXRoLmMgYi9saWJ4bWwyL2RvYy90dXRvcmlhbC9pbmNsdWRleHBhdGguYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YjY2ZTYwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvdHV0b3JpYWwvaW5jbHVkZXhwYXRoLmMKQEAgLTAsMCArMSw3NCBAQAorPCFbQ0RBVEFbCisjaW5jbHVkZSA8bGlieG1sL3BhcnNlci5oPgorI2luY2x1ZGUgPGxpYnhtbC94cGF0aC5oPgorCit4bWxEb2NQdHIKK2dldGRvYyAoY2hhciAqZG9jbmFtZSkgeworCXhtbERvY1B0ciBkb2M7CisJZG9jID0geG1sUGFyc2VGaWxlKGRvY25hbWUpOworCQorCWlmIChkb2MgPT0gTlVMTCApIHsKKwkJZnByaW50ZihzdGRlcnIsIkRvY3VtZW50IG5vdCBwYXJzZWQgc3VjY2Vzc2Z1bGx5LiBcbiIpOworCQlyZXR1cm4gTlVMTDsKKwl9CisKKwlyZXR1cm4gZG9jOworfQorCit4bWxYUGF0aE9iamVjdFB0cgorZ2V0bm9kZXNldCAoeG1sRG9jUHRyIGRvYywgeG1sQ2hhciAqeHBhdGgpeworCQorCXhtbFhQYXRoQ29udGV4dFB0ciBjb250ZXh0OworCXhtbFhQYXRoT2JqZWN0UHRyIHJlc3VsdDsKKworCWNvbnRleHQgPSB4bWxYUGF0aE5ld0NvbnRleHQoZG9jKTsKKwlpZiAoY29udGV4dCA9PSBOVUxMKSB7CisJCXByaW50ZigiRXJyb3IgaW4geG1sWFBhdGhOZXdDb250ZXh0XG4iKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCXJlc3VsdCA9IHhtbFhQYXRoRXZhbEV4cHJlc3Npb24oeHBhdGgsIGNvbnRleHQpOworCXhtbFhQYXRoRnJlZUNvbnRleHQoY29udGV4dCk7CisJaWYgKHJlc3VsdCA9PSBOVUxMKSB7CisJCXByaW50ZigiRXJyb3IgaW4geG1sWFBhdGhFdmFsRXhwcmVzc2lvblxuIik7CisJCXJldHVybiBOVUxMOworCX0KKwlpZih4bWxYUGF0aE5vZGVTZXRJc0VtcHR5KHJlc3VsdC0+bm9kZXNldHZhbCkpeworCQl4bWxYUGF0aEZyZWVPYmplY3QocmVzdWx0KTsKKyAgICAgICAgICAgICAgICBwcmludGYoIk5vIHJlc3VsdFxuIik7CisJCXJldHVybiBOVUxMOworCX0KKwlyZXR1cm4gcmVzdWx0OworfQoraW50CittYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgeworCisJY2hhciAqZG9jbmFtZTsKKwl4bWxEb2NQdHIgZG9jOworCXhtbENoYXIgKnhwYXRoID0gKHhtbENoYXIqKSAiLy9rZXl3b3JkIjsKKwl4bWxOb2RlU2V0UHRyIG5vZGVzZXQ7CisJeG1sWFBhdGhPYmplY3RQdHIgcmVzdWx0OworCWludCBpOworCXhtbENoYXIgKmtleXdvcmQ7CisJCQorCWlmIChhcmdjIDw9IDEpIHsKKwkJcHJpbnRmKCJVc2FnZTogJXMgZG9jbmFtZVxuIiwgYXJndlswXSk7CisJCXJldHVybigwKTsKKwl9CisKKwlkb2NuYW1lID0gYXJndlsxXTsKKwlkb2MgPSBnZXRkb2MoZG9jbmFtZSk7CisJcmVzdWx0ID0gZ2V0bm9kZXNldCAoZG9jLCB4cGF0aCk7CisJaWYgKHJlc3VsdCkgeworCQlub2Rlc2V0ID0gcmVzdWx0LT5ub2Rlc2V0dmFsOworCQlmb3IgKGk9MDsgaSA8IG5vZGVzZXQtPm5vZGVOcjsgaSsrKSB7CisJCQlrZXl3b3JkID0geG1sTm9kZUxpc3RHZXRTdHJpbmcoZG9jLCBub2Rlc2V0LT5ub2RlVGFiW2ldLT54bWxDaGlsZHJlbk5vZGUsIDEpOworCQlwcmludGYoImtleXdvcmQ6ICVzXG4iLCBrZXl3b3JkKTsKKwkJeG1sRnJlZShrZXl3b3JkKTsKKwkJfQorCQl4bWxYUGF0aEZyZWVPYmplY3QgKHJlc3VsdCk7CisJfQorCXhtbEZyZWVEb2MoZG9jKTsKKwl4bWxDbGVhbnVwUGFyc2VyKCk7CisJcmV0dXJuICgxKTsKK30KK11dPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2luZGV4Lmh0bWwgYi9saWJ4bWwyL2RvYy90dXRvcmlhbC9pbmRleC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUxZmQ0ODEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy90dXRvcmlhbC9pbmRleC5odG1sCkBAIC0wLDAgKzEsMTQgQEAKKzxodG1sPjxoZWFkPjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTEiPjx0aXRsZT5MaWJ4bWwgVHV0b3JpYWw8L3RpdGxlPjxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iRG9jQm9vayBYU0wgU3R5bGVzaGVldHMgVjEuNjEuMiI+PGxpbmsgcmVsPSJob21lIiBocmVmPSJpbmRleC5odG1sIiB0aXRsZT0iTGlieG1sIFR1dG9yaWFsIj48bGluayByZWw9Im5leHQiIGhyZWY9ImFyMDFzMDIuaHRtbCIgdGl0bGU9IkRhdGEgVHlwZXMiPjwvaGVhZD48Ym9keSBiZ2NvbG9yPSJ3aGl0ZSIgdGV4dD0iYmxhY2siIGxpbms9IiMwMDAwRkYiIHZsaW5rPSIjODQwMDg0IiBhbGluaz0iIzAwMDBGRiI+PGRpdiBjbGFzcz0ibmF2aGVhZGVyIj48dGFibGUgd2lkdGg9IjEwMCUiIHN1bW1hcnk9Ik5hdmlnYXRpb24gaGVhZGVyIj48dHI+PHRoIGNvbHNwYW49IjMiIGFsaWduPSJjZW50ZXIiPkxpYnhtbCBUdXRvcmlhbDwvdGg+PC90cj48dHI+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJsZWZ0Ij6gPC90ZD48dGggd2lkdGg9IjYwJSIgYWxpZ249ImNlbnRlciI+oDwvdGg+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJyaWdodCI+oDxhIGFjY2Vzc2tleT0ibiIgaHJlZj0iYXIwMXMwMi5odG1sIj5OZXh0PC9hPjwvdGQ+PC90cj48L3RhYmxlPjxocj48L2Rpdj48ZGl2IGNsYXNzPSJhcnRpY2xlIiBsYW5nPSJlbiI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgxIGNsYXNzPSJ0aXRsZSI+PGEgbmFtZT0iaWQyNDczNjYwIj48L2E+TGlieG1sIFR1dG9yaWFsPC9oMT48L2Rpdj48ZGl2PjxkaXYgY2xhc3M9ImF1dGhvciI+PGgzIGNsYXNzPSJhdXRob3IiPjxzcGFuIGNsYXNzPSJmaXJzdG5hbWUiPkpvaG48L3NwYW4+IDxzcGFuIGNsYXNzPSJzdXJuYW1lIj5GbGVjazwvc3Bhbj48L2gzPjwvZGl2PjwvZGl2PjxkaXY+PHAgY2xhc3M9ImNvcHlyaWdodCI+Q29weXJpZ2h0IKkgMjAwMiwgMjAwMyBKb2huIEZsZWNrPC9wPjwvZGl2PjxkaXY+PGRpdiBjbGFzcz0icmV2aGlzdG9yeSI+PHRhYmxlIGJvcmRlcj0iMSIgd2lkdGg9IjEwMCUiIHN1bW1hcnk9IlJldmlzaW9uIGhpc3RvcnkiPjx0cj48dGggYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIiBjb2xzcGFuPSIyIj48Yj5SZXZpc2lvbiBIaXN0b3J5PC9iPjwvdGg+PC90cj48dHI+PHRkIGFsaWduPSJsZWZ0Ij5SZXZpc2lvbiAxPC90ZD48dGQgYWxpZ249ImxlZnQiPkp1bmUgNCwgMjAwMjwvdGQ+PC90cj48dHI+PHRkIGFsaWduPSJsZWZ0IiBjb2xzcGFuPSIyIj5Jbml0aWFsIGRyYWZ0PC90ZD48L3RyPjx0cj48dGQgYWxpZ249ImxlZnQiPlJldmlzaW9uIDI8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+SnVuZSAxMiwgMjAwMjwvdGQ+PC90cj48dHI+PHRkIGFsaWduPSJsZWZ0IiBjb2xzcGFuPSIyIj5yZXRyaWV2aW5nIGF0dHJpYnV0ZSB2YWx1ZSBhZGRlZDwvdGQ+PC90cj48dHI+PHRkIGFsaWduPSJsZWZ0Ij5SZXZpc2lvbiAzPC90ZD48dGQgYWxpZ249ImxlZnQiPkF1Zy4gMzEsIDIwMDI8L3RkPjwvdHI+PHRyPjx0ZCBhbGlnbj0ibGVmdCIgY29sc3Bhbj0iMiI+ZnJlZWluZyBtZW1vcnkgZml4PC90ZD48L3RyPjx0cj48dGQgYWxpZ249ImxlZnQiPlJldmlzaW9uIDQ8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+Tm92LiAxMCwgMjAwMjwvdGQ+PC90cj48dHI+PHRkIGFsaWduPSJsZWZ0IiBjb2xzcGFuPSIyIj5lbmNvZGluZyBkaXNjdXNzaW9uIGFkZGVkPC90ZD48L3RyPjx0cj48dGQgYWxpZ249ImxlZnQiPlJldmlzaW9uIDU8L3RkPjx0ZCBhbGlnbj0ibGVmdCI+RGVjLiAxNSwgMjAwMjwvdGQ+PC90cj48dHI+PHRkIGFsaWduPSJsZWZ0IiBjb2xzcGFuPSIyIj5tb3JlIG1lbW9yeSBmcmVlaW5nIGNoYW5nZXM8L3RkPjwvdHI+PHRyPjx0ZCBhbGlnbj0ibGVmdCI+UmV2aXNpb24gNjwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij5KYW4uIDI2LiAyMDAzPC90ZD48L3RyPjx0cj48dGQgYWxpZ249ImxlZnQiIGNvbHNwYW49IjIiPmFkZCBpbmRleDwvdGQ+PC90cj48dHI+PHRkIGFsaWduPSJsZWZ0Ij5SZXZpc2lvbiA3PC90ZD48dGQgYWxpZ249ImxlZnQiPkFwcmlsIDI1LCAyMDAzPC90ZD48L3RyPjx0cj48dGQgYWxpZ249ImxlZnQiIGNvbHNwYW49IjIiPmFkZCBjb21waWxhdGlvbiBhcHBlbmRpeDwvdGQ+PC90cj48dHI+PHRkIGFsaWduPSJsZWZ0Ij5SZXZpc2lvbiA4PC90ZD48dGQgYWxpZ249ImxlZnQiPkp1bHkgMjQsIDIwMDM8L3RkPjwvdHI+PHRyPjx0ZCBhbGlnbj0ibGVmdCIgY29sc3Bhbj0iMiI+YWRkIFhQYXRoIGV4YW1wbGU8L3RkPjwvdHI+PHRyPjx0ZCBhbGlnbj0ibGVmdCI+UmV2aXNpb24gOTwvdGQ+PHRkIGFsaWduPSJsZWZ0Ij5GZWIuIDE0LCAyMDA0PC90ZD48L3RyPjx0cj48dGQgYWxpZ249ImxlZnQiIGNvbHNwYW49IjIiPkZpeCBidWcgaW4gWFBhdGggZXhhbXBsZTwvdGQ+PC90cj48dHI+PHRkIGFsaWduPSJsZWZ0Ij5SZXZpc2lvbiA3PC90ZD48dGQgYWxpZ249ImxlZnQiPkF1Zy4gMjQsIDIwMDQ8L3RkPjwvdHI+PHRyPjx0ZCBhbGlnbj0ibGVmdCIgY29sc3Bhbj0iMiI+Rml4IGFub3RoZXIgYnVnIGluIFhQYXRoIGV4YW1wbGU8L3RkPjwvdHI+PC90YWJsZT48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2PjwvZGl2Pjxocj48L2Rpdj48ZGl2IGNsYXNzPSJ0b2MiPjxwPjxiPlRhYmxlIG9mIENvbnRlbnRzPC9iPjwvcD48ZGw+PGR0PjxhIGhyZWY9ImluZGV4Lmh0bWwjaW50cm9kdWN0aW9uIj5JbnRyb2R1Y3Rpb248L2E+PC9kdD48ZHQ+PGEgaHJlZj0iYXIwMXMwMi5odG1sIj5EYXRhIFR5cGVzPC9hPjwvZHQ+PGR0PjxhIGhyZWY9ImFyMDFzMDMuaHRtbCI+UGFyc2luZyB0aGUgZmlsZTwvYT48L2R0PjxkdD48YSBocmVmPSJhcjAxczA0Lmh0bWwiPlJldHJpZXZpbmcgRWxlbWVudCBDb250ZW50PC9hPjwvZHQ+PGR0PjxhIGhyZWY9ImFyMDFzMDUuaHRtbCI+VXNpbmcgWFBhdGggdG8gUmV0cmlldmUgRWxlbWVudCBDb250ZW50PC9hPjwvZHQ+PGR0PjxhIGhyZWY9ImFyMDFzMDYuaHRtbCI+V3JpdGluZyBlbGVtZW50IGNvbnRlbnQ8L2E+PC9kdD48ZHQ+PGEgaHJlZj0iYXIwMXMwNy5odG1sIj5Xcml0aW5nIEF0dHJpYnV0ZTwvYT48L2R0PjxkdD48YSBocmVmPSJhcjAxczA4Lmh0bWwiPlJldHJpZXZpbmcgQXR0cmlidXRlczwvYT48L2R0PjxkdD48YSBocmVmPSJhcjAxczA5Lmh0bWwiPkVuY29kaW5nIENvbnZlcnNpb248L2E+PC9kdD48ZHQ+QS4gPGEgaHJlZj0iYXBhLmh0bWwiPkNvbXBpbGF0aW9uPC9hPjwvZHQ+PGR0PkIuIDxhIGhyZWY9ImFwYi5odG1sIj5TYW1wbGUgRG9jdW1lbnQ8L2E+PC9kdD48ZHQ+Qy4gPGEgaHJlZj0iYXBjLmh0bWwiPkNvZGUgZm9yIEtleXdvcmQgRXhhbXBsZTwvYT48L2R0PjxkdD5ELiA8YSBocmVmPSJhcGQuaHRtbCI+Q29kZSBmb3IgWFBhdGggRXhhbXBsZTwvYT48L2R0PjxkdD5FLiA8YSBocmVmPSJhcGUuaHRtbCI+Q29kZSBmb3IgQWRkIEtleXdvcmQgRXhhbXBsZTwvYT48L2R0PjxkdD5GLiA8YSBocmVmPSJhcGYuaHRtbCI+Q29kZSBmb3IgQWRkIEF0dHJpYnV0ZSBFeGFtcGxlPC9hPjwvZHQ+PGR0PkcuIDxhIGhyZWY9ImFwZy5odG1sIj5Db2RlIGZvciBSZXRyaWV2aW5nIEF0dHJpYnV0ZSBWYWx1ZSBFeGFtcGxlPC9hPjwvZHQ+PGR0PkguIDxhIGhyZWY9ImFwaC5odG1sIj5Db2RlIGZvciBFbmNvZGluZyBDb252ZXJzaW9uIEV4YW1wbGU8L2E+PC9kdD48ZHQ+SS4gPGEgaHJlZj0iYXBpLmh0bWwiPkFja25vd2xlZGdlbWVudHM8L2E+PC9kdD48L2RsPjwvZGl2PjxkaXYgY2xhc3M9ImFic3RyYWN0Ij48cCBjbGFzcz0idGl0bGUiPjxiPkFic3RyYWN0PC9iPjwvcD48cD5MaWJ4bWwgaXMgYSBmcmVlbHkgbGljZW5zZWQgQyBsYW5ndWFnZSBsaWJyYXJ5IGZvciBoYW5kbGluZworICAgIDxzcGFuIGNsYXNzPSJhY3JvbnltIj5YTUw8L3NwYW4+LCBwb3J0YWJsZSBhY3Jvc3MgYSBsYXJnZSBudW1iZXIgb2YgcGxhdGZvcm1zLiBUaGlzCisgICAgdHV0b3JpYWwgcHJvdmlkZXMgZXhhbXBsZXMgb2YgaXRzIGJhc2ljIGZ1bmN0aW9ucy48L3A+PC9kaXY+PGRpdiBjbGFzcz0ic2VjdDEiIGxhbmc9ImVuIj48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDIgY2xhc3M9InRpdGxlIiBzdHlsZT0iY2xlYXI6IGJvdGgiPjxhIG5hbWU9ImludHJvZHVjdGlvbiI+PC9hPkludHJvZHVjdGlvbjwvaDI+PC9kaXY+PC9kaXY+PGRpdj48L2Rpdj48L2Rpdj48cD5MaWJ4bWwgaXMgYSBDIGxhbmd1YWdlIGxpYnJhcnkgaW1wbGVtZW50aW5nIGZ1bmN0aW9ucyBmb3IgcmVhZGluZywKKyAgICAgIGNyZWF0aW5nIGFuZCBtYW5pcHVsYXRpbmcgPHNwYW4gY2xhc3M9ImFjcm9ueW0iPlhNTDwvc3Bhbj4gZGF0YS4gVGhpcyB0dXRvcmlhbAorICAgIHByb3ZpZGVzIGV4YW1wbGUgY29kZSBhbmQgZXhwbGFuYXRpb25zIG9mIGl0cyBiYXNpYyBmdW5jdGlvbmFsaXR5LjwvcD48cD5MaWJ4bWwgYW5kIG1vcmUgZGV0YWlscyBhYm91dCBpdHMgdXNlIGFyZSBhdmFpbGFibGUgb24gPGEgaHJlZj0iaHR0cDovL3d3dy54bWxzb2Z0Lm9yZy8iIHRhcmdldD0iX3RvcCI+dGhlIHByb2plY3QgaG9tZSBwYWdlPC9hPi4gSW5jbHVkZWQgdGhlcmUgaXMgY29tcGxldGUgPGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnL2h0bWwvbGlieG1sLWxpYi5odG1sIiB0YXJnZXQ9Il90b3AiPgorCTxzcGFuIGNsYXNzPSJhY3JvbnltIj5BUEk8L3NwYW4+IGRvY3VtZW50YXRpb248L2E+LiBUaGlzIHR1dG9yaWFsIGlzIG5vdCBtZWFudAorICAgIHRvIHN1YnN0aXR1dGUgZm9yIHRoYXQgY29tcGxldGUgZG9jdW1lbnRhdGlvbiwgYnV0IHRvIGlsbHVzdHJhdGUgdGhlCisgICAgZnVuY3Rpb25zIG5lZWRlZCB0byB1c2UgdGhlIGxpYnJhcnkgdG8gcGVyZm9ybSBiYXNpYyBvcGVyYXRpb25zLgorCis8L3A+PHA+VGhlIHR1dG9yaWFsIGlzIGJhc2VkIG9uIGEgc2ltcGxlIDxzcGFuIGNsYXNzPSJhY3JvbnltIj5YTUw8L3NwYW4+IGFwcGxpY2F0aW9uIEkKKyAgICB1c2UgZm9yIGFydGljbGVzIEkgd3JpdGUuIFRoZSBmb3JtYXQgaW5jbHVkZXMgbWV0YWRhdGEgYW5kIHRoZSBib2R5CisgICAgb2YgdGhlIGFydGljbGUuPC9wPjxwPlRoZSBleGFtcGxlIGNvZGUgaW4gdGhpcyB0dXRvcmlhbCBkZW1vbnN0cmF0ZXMgaG93IHRvOgorICAgICAgPC9wPjxkaXYgY2xhc3M9Iml0ZW1pemVkbGlzdCI+PHVsIHR5cGU9ImRpc2MiPjxsaT48cD5QYXJzZSB0aGUgZG9jdW1lbnQuPC9wPjwvbGk+PGxpPjxwPkV4dHJhY3QgdGhlIHRleHQgd2l0aGluIGEgc3BlY2lmaWVkIGVsZW1lbnQuPC9wPjwvbGk+PGxpPjxwPkFkZCBhbiBlbGVtZW50IGFuZCBpdHMgY29udGVudC48L3A+PC9saT48bGk+PHA+QWRkIGFuIGF0dHJpYnV0ZS48L3A+PC9saT48bGk+PHA+RXh0cmFjdCB0aGUgdmFsdWUgb2YgYW4gYXR0cmlidXRlLjwvcD48L2xpPjwvdWw+PC9kaXY+PHA+CisgICAgPC9wPjxwPkZ1bGwgY29kZSBmb3IgdGhlIGV4YW1wbGVzIGlzIGluY2x1ZGVkIGluIHRoZSBhcHBlbmRpY2VzLjwvcD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJuYXZmb290ZXIiPjxocj48dGFibGUgd2lkdGg9IjEwMCUiIHN1bW1hcnk9Ik5hdmlnYXRpb24gZm9vdGVyIj48dHI+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJsZWZ0Ij6gPC90ZD48dGQgd2lkdGg9IjIwJSIgYWxpZ249ImNlbnRlciI+oDwvdGQ+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJyaWdodCI+oDxhIGFjY2Vzc2tleT0ibiIgaHJlZj0iYXIwMXMwMi5odG1sIj5OZXh0PC9hPjwvdGQ+PC90cj48dHI+PHRkIHdpZHRoPSI0MCUiIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+oDwvdGQ+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJjZW50ZXIiPqA8L3RkPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIj6gRGF0YSBUeXBlczwvdGQ+PC90cj48L3RhYmxlPjwvZGl2PjwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy90dXRvcmlhbC9peDAxLmh0bWwgYi9saWJ4bWwyL2RvYy90dXRvcmlhbC9peDAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmNhOWQ0MgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL3R1dG9yaWFsL2l4MDEuaHRtbApAQCAtMCwwICsxIEBACis8aHRtbD48aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1JU08tODg1OS0xIj48dGl0bGU+SW5kZXg8L3RpdGxlPjxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iRG9jQm9vayBYU0wgU3R5bGVzaGVldHMgVjEuNjEuMiI+PGxpbmsgcmVsPSJob21lIiBocmVmPSJpbmRleC5odG1sIiB0aXRsZT0iTGlieG1sIFR1dG9yaWFsIj48bGluayByZWw9InVwIiBocmVmPSJpbmRleC5odG1sIiB0aXRsZT0iTGlieG1sIFR1dG9yaWFsIj48bGluayByZWw9InByZXZpb3VzIiBocmVmPSJhcGkuaHRtbCIgdGl0bGU9IkkuoEFja25vd2xlZGdlbWVudHMiPjwvaGVhZD48Ym9keSBiZ2NvbG9yPSJ3aGl0ZSIgdGV4dD0iYmxhY2siIGxpbms9IiMwMDAwRkYiIHZsaW5rPSIjODQwMDg0IiBhbGluaz0iIzAwMDBGRiI+PGRpdiBjbGFzcz0ibmF2aGVhZGVyIj48dGFibGUgd2lkdGg9IjEwMCUiIHN1bW1hcnk9Ik5hdmlnYXRpb24gaGVhZGVyIj48dHI+PHRoIGNvbHNwYW49IjMiIGFsaWduPSJjZW50ZXIiPkluZGV4PC90aD48L3RyPjx0cj48dGQgd2lkdGg9IjIwJSIgYWxpZ249ImxlZnQiPjxhIGFjY2Vzc2tleT0icCIgaHJlZj0iYXBpLmh0bWwiPlByZXY8L2E+oDwvdGQ+PHRoIHdpZHRoPSI2MCUiIGFsaWduPSJjZW50ZXIiPqA8L3RoPjx0ZCB3aWR0aD0iMjAlIiBhbGlnbj0icmlnaHQiPqA8L3RkPjwvdHI+PC90YWJsZT48aHI+PC9kaXY+PGRpdiBjbGFzcz0iaW5kZXgiPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMiBjbGFzcz0idGl0bGUiPjxhIG5hbWU9ImlkMjU4ODcwNCI+PC9hPkluZGV4PC9oMj48L2Rpdj48L2Rpdj48ZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9ImluZGV4Ij48ZGl2IGNsYXNzPSJpbmRleGRpdiI+PGgzPkE8L2gzPjxkbD48ZHQ+YXR0cmlidXRlPC9kdD48ZGQ+PGRsPjxkdD5yZXRyaWV2aW5nIHZhbHVlLCA8YSBocmVmPSJhcjAxczA4Lmh0bWwiPlJldHJpZXZpbmcgQXR0cmlidXRlczwvYT48L2R0PjxkdD53cml0aW5nLCA8YSBocmVmPSJhcjAxczA3Lmh0bWwiPldyaXRpbmcgQXR0cmlidXRlPC9hPjwvZHQ+PC9kbD48L2RkPjwvZGw+PC9kaXY+PGRpdiBjbGFzcz0iaW5kZXhkaXYiPjxoMz5DPC9oMz48ZGw+PGR0PmNvbXBpbGVyIGZsYWdzLCA8YSBocmVmPSJhcGEuaHRtbCI+Q29tcGlsYXRpb248L2E+PC9kdD48L2RsPjwvZGl2PjxkaXYgY2xhc3M9ImluZGV4ZGl2Ij48aDM+RTwvaDM+PGRsPjxkdD5lbGVtZW50PC9kdD48ZGQ+PGRsPjxkdD5yZXRyaWV2aW5nIGNvbnRlbnQsIDxhIGhyZWY9ImFyMDFzMDQuaHRtbCI+UmV0cmlldmluZyBFbGVtZW50IENvbnRlbnQ8L2E+PC9kdD48ZHQ+d3JpdGluZyBjb250ZW50LCA8YSBocmVmPSJhcjAxczA2Lmh0bWwiPldyaXRpbmcgZWxlbWVudCBjb250ZW50PC9hPjwvZHQ+PC9kbD48L2RkPjxkdD5lbmNvZGluZywgPGEgaHJlZj0iYXIwMXMwMy5odG1sIj5QYXJzaW5nIHRoZSBmaWxlPC9hPiwgPGEgaHJlZj0iYXIwMXMwOS5odG1sIj5FbmNvZGluZyBDb252ZXJzaW9uPC9hPjwvZHQ+PC9kbD48L2Rpdj48ZGl2IGNsYXNzPSJpbmRleGRpdiI+PGgzPkY8L2gzPjxkbD48ZHQ+ZmlsZTwvZHQ+PGRkPjxkbD48ZHQ+cGFyc2luZywgPGEgaHJlZj0iYXIwMXMwMy5odG1sIj5QYXJzaW5nIHRoZSBmaWxlPC9hPi08YSBocmVmPSJhcjAxczAzLmh0bWwiPlBhcnNpbmcgdGhlIGZpbGU8L2E+PC9kdD48ZHQ+c2F2aW5nLCA8YSBocmVmPSJhcjAxczA2Lmh0bWwiPldyaXRpbmcgZWxlbWVudCBjb250ZW50PC9hPjwvZHQ+PC9kbD48L2RkPjwvZGw+PC9kaXY+PGRpdiBjbGFzcz0iaW5kZXhkaXYiPjxoMz5YPC9oMz48ZGw+PGR0PnhtbENoYXIsIDxhIGhyZWY9ImFyMDFzMDIuaHRtbCI+RGF0YSBUeXBlczwvYT48L2R0PjxkdD54bWxEb2MsIDxhIGhyZWY9ImFyMDFzMDIuaHRtbCI+RGF0YSBUeXBlczwvYT48L2R0PjxkdD54bWxOb2RlUHRyLCA8YSBocmVmPSJhcjAxczAyLmh0bWwiPkRhdGEgVHlwZXM8L2E+PC9kdD48L2RsPjwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Im5hdmZvb3RlciI+PGhyPjx0YWJsZSB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBmb290ZXIiPjx0cj48dGQgd2lkdGg9IjQwJSIgYWxpZ249ImxlZnQiPjxhIGFjY2Vzc2tleT0icCIgaHJlZj0iYXBpLmh0bWwiPlByZXY8L2E+oDwvdGQ+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJjZW50ZXIiPjxhIGFjY2Vzc2tleT0idSIgaHJlZj0iaW5kZXguaHRtbCI+VXA8L2E+PC90ZD48dGQgd2lkdGg9IjQwJSIgYWxpZ249InJpZ2h0Ij6gPC90ZD48L3RyPjx0cj48dGQgd2lkdGg9IjQwJSIgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj5JLqBBY2tub3dsZWRnZW1lbnRzoDwvdGQ+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJjZW50ZXIiPjxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iaW5kZXguaHRtbCI+SG9tZTwvYT48L3RkPjx0ZCB3aWR0aD0iNDAlIiBhbGlnbj0icmlnaHQiIHZhbGlnbj0idG9wIj6gPC90ZD48L3RyPjwvdGFibGU+PC9kaXY+PC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL3R1dG9yaWFsL3htbHR1dG9yaWFsLnBkZiBiL2xpYnhtbDIvZG9jL3R1dG9yaWFsL3htbHR1dG9yaWFsLnBkZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NjdkNDQ1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvdHV0b3JpYWwveG1sdHV0b3JpYWwucGRmCkBAIC0wLDAgKzEsMTMzNiBAQAorJVBERi0xLjMKKyWqq6ytCis0IDAgb2JqCis8PCAvVHlwZSAvSW5mbworL1Byb2R1Y2VyIChGT1AgMC4yMC41KSA+PgorZW5kb2JqCis1IDAgb2JqCis8PCAvTGVuZ3RoIDE3NDggL0ZpbHRlciBbIC9BU0NJSTg1RGVjb2RlIC9GbGF0ZURlY29kZSBdCisgPj4KK3N0cmVhbQorR2IiLyo+RWRldSdSbkIzY3NvLGMndFJWPEAyUUciVGUxc0ksc1oqbiNLS2xOVk1RPDVCQTxDWmFMPV1gKjpIZHVSam0nPnE1ISdrKyEjYyI4KE5OZ2JwSGUmO2E7MWFQKE1Ackpmay0kQlMrJD9KY1JZLChfQTZrLFNVTmBUTzdlZlhoaDNpPTM6QlhITSVFMk9XXTBIK3NrJEhbT1xYRyN1MG1XQC5yInNgVy5nOTkhdGNSKihcLygiQD5xQEJXXlEyRypEPi8jbjNdXy5pbD1YLm8/T0QjVV4wNGRTXVNzKyxhJV5sUWduZi9dJmNlV0BrbyolQjBRb2tUQm46JGphaXJDSytQTFMlQ2RjaEB0O2tJT0d1ITgpZlFdRGhSL1UjPiM5JWw6O0o+YU89bkJkWDhOPztWVG9QVU1AP0JmUDsyRGJTQ0c4LiM7SDpucjpAWFtSb1VQNSM4ViEyWFltczMrLFBnK0woQW40WE9vdUYyaUxALnMjbTVbXCdlLGZxYFBTLFkib0AkamU9I2I/Z3U5Oy9yPXFNdDptYiUlRzUkRmpjc2RVYm4iLmk2WCNLbV1oWlNPRShpQEE6J0MhXSNZUVZOLSZjJl9udSZqR0QyZ2cySSxYPkFmL1FMNSU4bik3WFNDYjBXMFo4KikrXCY5Ql5iVG1rSi41XyRSV2VIXzJwMlhaTTlAb3QkVVhbXzUzcSomM1ZPJkopNSU4NlkkQVpXa0lATjomRktjcyVwNldNUUNjVUZiaDgpKDQwUFwqWkEiYmI4UitVdGk2SjtGZG1scichIzA4LSRcclVXLlMqYDBsJGw3bE9rZmVDdTNLVUczNzpkVjs2P2BTaUxuWDxuITRrcSo0VGZPQnBUXm0oXCJuWFVDZGRUQFRaRj0sJXEpLHVXXFxBW1IiNEUzXVFuOlA7UDJzVWZLX3VVNXMyYGpKdGZtOGpgX1AwLVJSdUwyJ0BnbHBYTjFtUUpULUVxSFldPT80WV46MSQiQiZaRUFTVGtLRGRTOj1OR1txa2lIaGlZN3VYNlJlNVdoRzsmU11PSEw9XDtCLVxGOFc2Jl8zPURoSDNOYlYjRl07N1VMKykqaFlAcV1oJ1UkQCIiXmooYHFlXSxNSjtSQnFeUXRGPHNjTiEtSmFwajlOP1VWSj48Zz1nc1xSRGFHa0dxLCFfWUhnNXFbLz8kUXREN09vLS1nOFNKS3RCRkg3OmllWEFtISxdPDNWT189MjpDLGpJXyghRUdDMzpiLThPJU5AVmNFczNpUnM7ZnVgbVxMJEtPbjk6WkVxLztSOTdjcFFCKzAzTyQjSS8xYGckUVlRPUdZYmRZampbMihcXWZKWEw6UHBBQk1PJCtcSjRTbSJEZHNqbGRdOD4zNm1cQXI+a0VxcG5FNCssMFpaMz5tYnRjXS9ZZV1FUk84YCgkOG9FPlg7ZzJnMV5HYVdlLC4iZjxaKlgiXllhP2kyJThJNmZOOUojcjJpS0dvb205MStPc2BcUic9cEVRT2dBL2hgdV5VPHMkLCJwPVVeS3Njay8lKjNzWURKcGYtUyxCOCI6YkpzNV8ha3JwcjQ0dVBNYUQ6QzcmKGhQaEhRS19JRyZbQFdcXUA6JlUyYDF1I3I5OmdgLV04bjdiQC11QEE5aVY2PyYjc1s7XTVlIjRVZEI2cVNYUFBMLWwvLEwiTCQ1YVNhXT9MWU1ONihAQFIiP0E8bitHXV42KVNGPU5KUFs2PXNeVzlsbkw2TGAtblpCTlBUQjM/Rlw4JExVRVE3NDsmKGRSVDdBRThoYXNlYEY1KWI8Ml9lO1wxV3IvYU1VVkRATjloZ1MkXExGKGloOjlFUUdvZiRUak4qM00wbWk5J0hoOzcqQl9YTSIzLG4udGYsbToncE1CW1twJWhTMGtDWnFeJTJXXV9FNjwxWDRIKWgrI0ouQTBrT3BZdFQzYGY0ImtzOFdnMklLOUYvU0JzcipiZTRjZTdCcSxdU0wyMTRSLT5cRSo2S20zTTteOFMxXixqYjVNNGtMJG11SGJcIyFaRHMyQSdibTs5NFpXVG5NdUU9JSE5IUcpYkpFaVNNdWpoRWVKb2pcW21fPy1AczhjKi5DMTI2OEcrVFYxK0FuImRxITY2Qk9RL3VXayo2IlpyXWhwZHFzQVlYNm1IOjRxLHAlL21OL2NsZ202XypWayI9RCZQP0EpUiZHVlstO2w1aDVkSF5bRTghNl48b2RlbHRTSFNaYkU4Pk8rcSlhIU5nc15dUV1RVFlhRz5CR3JGdTxkM04/Y3BjV3VBO2ppKXUlYmREVGZLU2dZXlBFIWp+PgorZW5kc3RyZWFtCitlbmRvYmoKKzYgMCBvYmoKKzw8IC9UeXBlIC9QYWdlCisvUGFyZW50IDEgMCBSCisvTWVkaWFCb3ggWyAwIDAgNjEyIDc5MiBdCisvUmVzb3VyY2VzIDMgMCBSCisvQ29udGVudHMgNSAwIFIKKy9Bbm5vdHMgNyAwIFIKKz4+CitlbmRvYmoKKzcgMCBvYmoKK1sKKzggMCBSCisxMCAwIFIKKzEyIDAgUgorMTQgMCBSCisxNiAwIFIKKzE4IDAgUgorMjAgMCBSCisyMiAwIFIKKzI0IDAgUgorMjYgMCBSCisyOCAwIFIKKzMwIDAgUgorMzIgMCBSCiszNCAwIFIKKzM2IDAgUgorMzggMCBSCis0MCAwIFIKKzQyIDAgUgorXQorZW5kb2JqCis4IDAgb2JqCis8PCAvVHlwZSAvQW5ub3QKKy9TdWJ0eXBlIC9MaW5rCisvUmVjdCBbIDE0NC4wIDMzNi4xMTEgMTkzLjQ0IDMyNi4xMTEgXQorL0MgWyAwIDAgMCBdCisvQm9yZGVyIFsgMCAwIDAgXQorL0EgOSAwIFIKKy9IIC9JCis+PgorZW5kb2JqCisxMCAwIG9iagorPDwgL1R5cGUgL0Fubm90CisvU3VidHlwZSAvTGluaworL1JlY3QgWyAxNDQuMCAzMjUuMTExIDE4OS44MiAzMTUuMTExIF0KKy9DIFsgMCAwIDAgXQorL0JvcmRlciBbIDAgMCAwIF0KKy9BIDExIDAgUgorL0ggL0kKKz4+CitlbmRvYmoKKzEyIDAgb2JqCis8PCAvVHlwZSAvQW5ub3QKKy9TdWJ0eXBlIC9MaW5rCisvUmVjdCBbIDE0NC4wIDMxNC4xMTEgMjA0LjU1IDMwNC4xMTEgXQorL0MgWyAwIDAgMCBdCisvQm9yZGVyIFsgMCAwIDAgXQorL0EgMTMgMCBSCisvSCAvSQorPj4KK2VuZG9iagorMTQgMCBvYmoKKzw8IC9UeXBlIC9Bbm5vdAorL1N1YnR5cGUgL0xpbmsKKy9SZWN0IFsgMTQ0LjAgMzAzLjExMSAyNTYuMjIgMjkzLjExMSBdCisvQyBbIDAgMCAwIF0KKy9Cb3JkZXIgWyAwIDAgMCBdCisvQSAxNSAwIFIKKy9IIC9JCis+PgorZW5kb2JqCisxNiAwIG9iagorPDwgL1R5cGUgL0Fubm90CisvU3VidHlwZSAvTGluaworL1JlY3QgWyAxNDQuMCAyOTIuMTExIDMxMi4wNSAyODIuMTExIF0KKy9DIFsgMCAwIDAgXQorL0JvcmRlciBbIDAgMCAwIF0KKy9BIDE3IDAgUgorL0ggL0kKKz4+CitlbmRvYmoKKzE4IDAgb2JqCis8PCAvVHlwZSAvQW5ub3QKKy9TdWJ0eXBlIC9MaW5rCisvUmVjdCBbIDE0NC4wIDI4MS4xMTEgMjQxLjIxIDI3MS4xMTEgXQorL0MgWyAwIDAgMCBdCisvQm9yZGVyIFsgMCAwIDAgXQorL0EgMTkgMCBSCisvSCAvSQorPj4KK2VuZG9iagorMjAgMCBvYmoKKzw8IC9UeXBlIC9Bbm5vdAorL1N1YnR5cGUgL0xpbmsKKy9SZWN0IFsgMTQ0LjAgMjcwLjExMSAyMTMuNzIgMjYwLjExMSBdCisvQyBbIDAgMCAwIF0KKy9Cb3JkZXIgWyAwIDAgMCBdCisvQSAyMSAwIFIKKy9IIC9JCis+PgorZW5kb2JqCisyMiAwIG9iagorPDwgL1R5cGUgL0Fubm90CisvU3VidHlwZSAvTGluaworL1JlY3QgWyAxNDQuMCAyNTkuMTExIDIyOC43MiAyNDkuMTExIF0KKy9DIFsgMCAwIDAgXQorL0JvcmRlciBbIDAgMCAwIF0KKy9BIDIzIDAgUgorL0ggL0kKKz4+CitlbmRvYmoKKzI0IDAgb2JqCis8PCAvVHlwZSAvQW5ub3QKKy9TdWJ0eXBlIC9MaW5rCisvUmVjdCBbIDE0NC4wIDI0OC4xMTEgMjMwLjk0IDIzOC4xMTEgXQorL0MgWyAwIDAgMCBdCisvQm9yZGVyIFsgMCAwIDAgXQorL0EgMjUgMCBSCisvSCAvSQorPj4KK2VuZG9iagorMjYgMCBvYmoKKzw8IC9UeXBlIC9Bbm5vdAorL1N1YnR5cGUgL0xpbmsKKy9SZWN0IFsgMTQ0LjAgMjM3LjExMSAyMDYuMjMgMjI3LjExMSBdCisvQyBbIDAgMCAwIF0KKy9Cb3JkZXIgWyAwIDAgMCBdCisvQSAyNyAwIFIKKy9IIC9JCis+PgorZW5kb2JqCisyOCAwIG9iagorPDwgL1R5cGUgL0Fubm90CisvU3VidHlwZSAvTGluaworL1JlY3QgWyAxNDQuMCAyMjYuMTExIDIyOS44MyAyMTYuMTExIF0KKy9DIFsgMCAwIDAgXQorL0JvcmRlciBbIDAgMCAwIF0KKy9BIDI5IDAgUgorL0ggL0kKKz4+CitlbmRvYmoKKzMwIDAgb2JqCis8PCAvVHlwZSAvQW5ub3QKKy9TdWJ0eXBlIC9MaW5rCisvUmVjdCBbIDE0NC4wIDIxNS4xMTEgMjY4LjcgMjA1LjExMSBdCisvQyBbIDAgMCAwIF0KKy9Cb3JkZXIgWyAwIDAgMCBdCisvQSAzMSAwIFIKKy9IIC9JCis+PgorZW5kb2JqCiszMiAwIG9iagorPDwgL1R5cGUgL0Fubm90CisvU3VidHlwZSAvTGluaworL1JlY3QgWyAxNDQuMCAyMDQuMTExIDI1Ny4wNCAxOTQuMTExIF0KKy9DIFsgMCAwIDAgXQorL0JvcmRlciBbIDAgMCAwIF0KKy9BIDMzIDAgUgorL0ggL0kKKz4+CitlbmRvYmoKKzM0IDAgb2JqCis8PCAvVHlwZSAvQW5ub3QKKy9TdWJ0eXBlIC9MaW5rCisvUmVjdCBbIDE0NC4wIDE5My4xMTEgMjg3Ljg2IDE4My4xMTEgXQorL0MgWyAwIDAgMCBdCisvQm9yZGVyIFsgMCAwIDAgXQorL0EgMzUgMCBSCisvSCAvSQorPj4KK2VuZG9iagorMzYgMCBvYmoKKzw8IC9UeXBlIC9Bbm5vdAorL1N1YnR5cGUgL0xpbmsKKy9SZWN0IFsgMTQ0LjAgMTgyLjExMSAyODYuMjEgMTcyLjExMSBdCisvQyBbIDAgMCAwIF0KKy9Cb3JkZXIgWyAwIDAgMCBdCisvQSAzNyAwIFIKKy9IIC9JCis+PgorZW5kb2JqCiszOCAwIG9iagorPDwgL1R5cGUgL0Fubm90CisvU3VidHlwZSAvTGluaworL1JlY3QgWyAxNDQuMCAxNzEuMTExIDMzOS4yNSAxNjEuMTExIF0KKy9DIFsgMCAwIDAgXQorL0JvcmRlciBbIDAgMCAwIF0KKy9BIDM5IDAgUgorL0ggL0kKKz4+CitlbmRvYmoKKzQwIDAgb2JqCis8PCAvVHlwZSAvQW5ub3QKKy9TdWJ0eXBlIC9MaW5rCisvUmVjdCBbIDE0NC4wIDE2MC4xMTEgMzE4Ljk4IDE1MC4xMTEgXQorL0MgWyAwIDAgMCBdCisvQm9yZGVyIFsgMCAwIDAgXQorL0EgNDEgMCBSCisvSCAvSQorPj4KK2VuZG9iagorNDIgMCBvYmoKKzw8IC9UeXBlIC9Bbm5vdAorL1N1YnR5cGUgL0xpbmsKKy9SZWN0IFsgMTQ0LjAgMTQ5LjExMSAyMzEuNzYgMTM5LjExMSBdCisvQyBbIDAgMCAwIF0KKy9Cb3JkZXIgWyAwIDAgMCBdCisvQSA0MyAwIFIKKy9IIC9JCis+PgorZW5kb2JqCis0NCAwIG9iagorPDwgL0xlbmd0aCAxOTcwIC9GaWx0ZXIgWyAvQVNDSUk4NURlY29kZSAvRmxhdGVEZWNvZGUgXQorID4+CitzdHJlYW0KK0dhdD0sPWNfPnIlIkApQGlPOi9MYHBuS0wvXzomLixmKDdgIVg3OkFCUGJxUiQ9QihbNG9Ua0BPV0lBKzQpJ1FVKD9CK2JRVW0iJnBQNWZZMmxSU3RJYyk1QT0rUFJGJ21iSDEkYlw1YzFtZU4xKzZNRlJwJjkzVC5iVG1DQ1tYdDtgZFNMJjYwLF5nMCYmKCpjWCFLPWcqO3E6ZXQ2MnJCVUNqUlo1bj8wNUZmXGJUOi9fNCJgJTA5QWNFbGZeMDheUD0/QT9URktKY0dlVWYiYjdKNUMzYjwsWC0kOlwnTlFYSD5cWSM7Il9BczpLZltsOlEuImIlTSpGIVIqM0FOJyMjNjlnOSFmUWMuImciMkdASStgN3FAJjVVJ3IkIl4/a0BcZF5DMWtrZjRTKEBHcS5PSlNhVWFcUj1FY3RhRiE6dTlOZnFMcywlTTBcYjwlI11IXSk0Qyw+XiRGLDw7Z3RMMjJdSClLS0RuWTI1MUpQWmpcX2VxbWdNUUVARHUmWEkhMkdjdVNybyU9MV1WTzZnPTk3QnVyayhjQj5JVFI8VV9aZCpUPzZSPCFHRyExNE5hWz1ENDpEbmhUdWpibFNXPVMuJTJtQnJLakAkailQTmMkOXQ9c1VEZSk1KihAdXUzJzo/NHBnaT44UjlKZHRzSGdFK2s9WSdTXVZOTDRVPCIrLSM7Vjg1dGQlJXJcWGo2IVtOcWhNRSwhKyJ0OTBcb0ExaytvJz4iJHJsZ1RHOmdSYTp0JT1taj5fJEk3Ri83aitgOWI/K1hpXmhVOkJoOywxQGU5czQhLSw/MCMoVU48PGJWWj9WQiVmMHBrXik9bC9TRWxIO1NDODdlKyhcKzsiRHM7QVEyIWM/dCglLUlLbGJYNzdtUSZCJCpQNTlGMHA6aTdlLVFTNXBobV8xV1YhMVE+IzRbOD4nUUBOSzU2IlJcNylkcDs0aiQ6LEhbJjQhNylyST9ZNjg9Uk4jXXFrcmRrS0BKSCZwcTxCM1BCaVA2WDNlNiVcVTZZcjZXW3A1VGgvIWVuUT1fSk1qaWYxcGM2a1lVTF8rSTtpPUolI3EyPjpEYE5PT3IrZD1ZW2NdZ1dDLW9WaVFIKSE7Q0xzO2hEaHEpR3VSbmxrODlaSz4rLUMwLkh0ZlJtUTVMQVtLbl5oWFYzZWkyKiE7QzFuQTRBYG0yQydxMjlsVkQ3N3Q+SjhQOXAzYFJQYCRoUWdmV0hrTyNfZGtpM0dPP1BlWk1oRk0/XXBXLXI2SGNgb3AuOmI0YTBUZkIoSm9qZ0tsN0FcaCFJJlA7XWRHNCl1J2MsK2ZwMUcrQWJmKjg8SUI4dDYjM0xXPGg8ZkorZ01HIm05YWYvK1JVOERIY1BrTl0vRjpAMFBCaXVfQEpQYGU/bFx0LicmYk5PR3Fwams6OUA7MDNOTSNOP1RyZ1RtJHArZE0kSV91XlAlNS9tJDFxQCkpQzRfYzAwXnU0XCgmb3FeRF1GT10qbF9VXzgqZ0QpbVsmM1xqZ3JpJSV0KzxDJ0hIR006O15PKCJtWypgUypSPy1ZNzxhIktOW206cGNvbjtOdVFJYmkiVDshWWBHPSRVKjlBWD03cWJQNTlhK3U1bkNgQ0RQIiRgR1NXL3NfbC10QFZhYF5CKFsic2NOY1EudW9AMjlcUlNHNklwNkwwcS1kMSQjIiYnXVVTQ24iUlMwSC1rJVJXIWpGNyExLCYuKTo1RihYNFRsXFpkKGAnWSNcYHFFJVQuVDVVKUkvUnVdSUFIbU1RS18/SkUrWDFETV9vcyFUIV06W10jdGhLWD9NYyQ8RCxQQiY7TUs8LlA5cj5aQWFUY0wsZkd0O1srbGtySD5ccjtsamVxMTFQQUY+RlhlZEpaOz5aJmwpRWtYUklmXEhhOiM9WGdCKTEtWl0mcSsiYlAqLkEmVidDX1giTDdQbE5OWD9sVnA5MSVIMW49WW5db2EjM0AsSWImSltMWlVtRk1nP2pQRTxkXC8xYTEsKTQzcFVKTCchVTprLTVeZlUyTzdhZVcwSDMwLXFvQFVKVlUiLlxSXyhrSnB0NXRbWDlRdV50W1lIdT1UYUAnMGQvOSlhbyNUOT0sNldaW1E9a1hNWjxvXGRqZGtMRGw9bD5EYTJzZ3AwZGI9PEtRVnMxYzo1c1lmaztrJF5dTkBjTy5eRCk0M3FdQEI6JTJgckJZSSEpa2NkaGBMOm5XR2FtIWhbZzcvPixjXiYxLyo5TEM5clYvbj87VVdfXD5pWFJjImAxcVBqOHUpOCdIJ0RxPzdaUVxqYEt0SDw+VjlPQE1gWlBtKFZhb0ZVVzRZJkE7S0s+byNvKlJzZDBnbldySz9SOyNyYCgoNztkSDhZbkxjQTE9b1s5Rzp0PGEuWSZMQDdJWV8oR1BfKEQtQnReLSMvQCxgcjwzLCorUUsqZ2hqVWYwZzA8JyxbYFhfTThfUGwlaSQ0WThCOTtHSUIyIVNCZVIsIk8kUjY1M29SXjE/LWRBbDYjZlsnN1RGRUY+KjRFQlZvb1ZuMElhJz0yLyhUNT9RYDVsJ0doWTx1Li0wIjc4bmQkNGBEOF9qMWRMSS9JZ3JcYUJJb1NgcUxNNUksbj8iVkdsOSpyfj4KK2VuZHN0cmVhbQorZW5kb2JqCis0NSAwIG9iagorPDwgL1R5cGUgL1BhZ2UKKy9QYXJlbnQgMSAwIFIKKy9NZWRpYUJveCBbIDAgMCA2MTIgNzkyIF0KKy9SZXNvdXJjZXMgMyAwIFIKKy9Db250ZW50cyA0NCAwIFIKKy9Bbm5vdHMgNDYgMCBSCis+PgorZW5kb2JqCis0NiAwIG9iagorWworNDcgMCBSCis0OCAwIFIKKzQ5IDAgUgorNTAgMCBSCis1MSAwIFIKKzUyIDAgUgorNTMgMCBSCis1NCAwIFIKKzU1IDAgUgorNTYgMCBSCis1NyAwIFIKK10KK2VuZG9iagorNDcgMCBvYmoKKzw8IC9UeXBlIC9Bbm5vdAorL1N1YnR5cGUgL0xpbmsKKy9SZWN0IFsgMzg0LjQ2IDYwMC42NzQgNDczLjA1IDU5MC42NzQgXQorL0MgWyAwIDAgMCBdCisvQm9yZGVyIFsgMCAwIDAgXQorL0EgPDwgL1VSSSAoaHR0cDovL3d3dy54bWxzb2Z0Lm9yZy8pCisvUyAvVVJJID4+CisvSCAvSQorPj4KK2VuZG9iagorNDggMCBvYmoKKzw8IC9UeXBlIC9Bbm5vdAorL1N1YnR5cGUgL0xpbmsKKy9SZWN0IFsgMjUzLjY5NCA1ODkuNjc0IDMzMS43NDQgNTc5LjY3NCBdCisvQyBbIDAgMCAwIF0KKy9Cb3JkZXIgWyAwIDAgMCBdCisvQSA8PCAvVVJJIChodHRwOi8veG1sc29mdC5vcmcvaHRtbC9saWJ4bWwtbGliLmh0bWwpCisvUyAvVVJJID4+CisvSCAvSQorPj4KK2VuZG9iagorNDkgMCBvYmoKKzw8IC9UeXBlIC9Bbm5vdAorL1N1YnR5cGUgL0xpbmsKKy9SZWN0IFsgMTQ0LjAgMjUxLjM0OCAxNzkuMCAyNDEuMzQ4IF0KKy9DIFsgMCAwIDAgXQorL0JvcmRlciBbIDAgMCAwIF0KKy9BIDw8IC9VUkkgKGh0dHA6Ly94bWxzb2Z0Lm9yZy9odG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MQ0hBUikKKy9TIC9VUkkgPj4KKy9IIC9JCis+PgorZW5kb2JqCis1MCAwIG9iagorPDwgL1R5cGUgL0Fubm90CisvU3VidHlwZSAvTGluaworL1JlY3QgWyAzNTIuNzgyIDIwNy4zNDggNDY5LjcyMiAxOTcuMzQ4IF0KKy9DIFsgMCAwIDAgXQorL0JvcmRlciBbIDAgMCAwIF0KKy9BIDw8IC9VUkkgKGh0dHA6Ly93d3cueG1sc29mdC5vcmcvZW5jb2RpbmcuaHRtbCkKKy9TIC9VUkkgPj4KKy9IIC9JCis+PgorZW5kb2JqCis1MSAwIG9iagorPDwgL1R5cGUgL0Fubm90CisvU3VidHlwZSAvTGluaworL1JlY3QgWyAyNjQuMCAxOTYuMzQ4IDI4Mi44OCAxODYuMzQ4IF0KKy9DIFsgMCAwIDAgXQorL0JvcmRlciBbIDAgMCAwIF0KKy9BIDw8IC9VUkkgKGh0dHA6Ly93d3cueG1sc29mdC5vcmcvZW5jb2RpbmcuaHRtbCkKKy9TIC9VUkkgPj4KKy9IIC9JCis+PgorZW5kb2JqCis1MiAwIG9iagorPDwgL1R5cGUgL0Fubm90CisvU3VidHlwZSAvTGluaworL1JlY3QgWyAxNDQuMCAxNzUuMzQ4IDE3Ni4yMiAxNjUuMzQ4IF0KKy9DIFsgMCAwIDAgXQorL0JvcmRlciBbIDAgMCAwIF0KKy9BIDw8IC9VUkkgKGh0dHA6Ly94bWxzb2Z0Lm9yZy9odG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MRE9DKQorL1MgL1VSSSA+PgorL0ggL0kKKz4+CitlbmRvYmoKKzUzIDAgb2JqCis8PCAvVHlwZSAvQW5ub3QKKy9TdWJ0eXBlIC9MaW5rCisvUmVjdCBbIDI4My40NCAxNjQuMzQ4IDMyNy4zMyAxNTQuMzQ4IF0KKy9DIFsgMCAwIDAgXQorL0JvcmRlciBbIDAgMCAwIF0KKy9BIDw8IC9VUkkgKGh0dHA6Ly94bWxzb2Z0Lm9yZy9odG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MRE9DUFRSKQorL1MgL1VSSSA+PgorL0ggL0kKKz4+CitlbmRvYmoKKzU0IDAgb2JqCis8PCAvVHlwZSAvQW5ub3QKKy9TdWJ0eXBlIC9MaW5rCisvUmVjdCBbIDE0NC4wIDE0My4zNDggMTkyLjg5IDEzMy4zNDggXQorL0MgWyAwIDAgMCBdCisvQm9yZGVyIFsgMCAwIDAgXQorL0EgPDwgL1VSSSAoaHR0cDovL3htbHNvZnQub3JnL2h0bWwvbGlieG1sLXRyZWUuaHRtbCNYTUxOT0RFUFRSKQorL1MgL1VSSSA+PgorL0ggL0kKKz4+CitlbmRvYmoKKzU1IDAgb2JqCis8PCAvVHlwZSAvQW5ub3QKKy9TdWJ0eXBlIC9MaW5rCisvUmVjdCBbIDIxMi4zMyAxNDMuMzQ4IDIzMS4yMiAxMzMuMzQ4IF0KKy9DIFsgMCAwIDAgXQorL0JvcmRlciBbIDAgMCAwIF0KKy9BIDw8IC9VUkkgKGh0dHA6Ly94bWxzb2Z0Lm9yZy9odG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MTk9ERSkKKy9TIC9VUkkgPj4KKy9IIC9JCis+PgorZW5kb2JqCis1NiAwIG9iagorPDwgL1R5cGUgL0Fubm90CisvU3VidHlwZSAvTGluaworL1JlY3QgWyAxNDQuMCAxMzIuMzQ4IDE2NS42NiAxMjIuMzQ4IF0KKy9DIFsgMCAwIDAgXQorL0JvcmRlciBbIDAgMCAwIF0KKy9BIDw8IC9VUkkgKGh0dHA6Ly94bWxzb2Z0Lm9yZy9odG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MTk9ERSkKKy9TIC9VUkkgPj4KKy9IIC9JCis+PgorZW5kb2JqCis1NyAwIG9iagorPDwgL1R5cGUgL0Fubm90CisvU3VidHlwZSAvTGluaworL1JlY3QgWyA0MjQuNTEyIDE0My4zNDggNDczLjQwMiAxMzMuMzQ4IF0KKy9DIFsgMCAwIDAgXQorL0JvcmRlciBbIDAgMCAwIF0KKy9BIDw8IC9VUkkgKGh0dHA6Ly94bWxzb2Z0Lm9yZy9odG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MTk9ERVBUUikKKy9TIC9VUkkgPj4KKy9IIC9JCis+PgorZW5kb2JqCis1OCAwIG9iagorPDwgL0xlbmd0aCAyMjU1IC9GaWx0ZXIgWyAvQVNDSUk4NURlY29kZSAvRmxhdGVEZWNvZGUgXQorID4+CitzdHJlYW0KK0dhdCQ6Q04lcmNuOV1WPFFTMidnS1tdaCdAMD4pZik3bFlNZj1CT2FHb25sMk5lTCN1OTFhLF5ASzFiclFadUUwPUBJYWpHTj9GWjROYWpuQkFfTT4kZFUhJCsiYGVKMU06XU9qdDdZS0V1L09ZUzQyZj5gOjs8cVo8STBLbktIcGU7O10mbD5eOjxfZGInRTlgQzdEODZjPmlNIVY/JXBxKGpdOChUbWpWSkAvaE8icCNqQDMkQ2opNFFZbEJjZ208TmliJ0IvNUJkOi9OUSYtNTRBOmpmPWJTISxSM2EjV2YqSlRSVGN1XDBsMD5vNT1EXWQ8PGdLJ2ZnbSkwPypBSzw1TVFRRTVGMmVBXC1sZEFsRGVYWTJQKSlRX0ZDZzo9WVZsQzFKajhbSFpzRlEwKDM9b1dIVHVpOUkzN0dkR1hEcUNKWU9PSz91OkBkTEhYWzVNZzRpXDxCQ24lMmc/OCFlLlhgZDBhVHVwQEhCcFQ6UWRvOG49NVJjYWNQU2cuVVRPWzZTIkNYKiU/NlpvJ14vckclMi5SPGNDL2cwST9oOm4lZy5MYWEocD44LkpSc0pZOD5MNC9YQTg4QUlEPm5wQHRPTkM4S0kpYkFHQzMkbSIhb2w/J146aD80LTZMPCJFI2E1ckFYMlNoTCsmX1YsVnFZRXRuPjBGajQzRSUrJkVrZj9MaTw0KWckdGVTMmxoazY+c2cyS1NqVi9CTVVub2s7RFNJQktJYlVoRFJxcy45c11CcDM9ciIqV11tbVUpVGBMJyZpczJbVmVzSz9uTmxRVys8Y2pSY1tSYkttM08jSHJxOXQhKWo8T1k5az08TGpYOGMyQT86Mlg7Vy9aN08qT21kVXI3PlU8ck5OMDBaYyFWTCx0QCNpLG49PDFhUlQpJ21qLU9nO0JUQ0FMXWVZYlRLSktPUCZSK2lLU3IjN2RfL0FgJHBQVSkkcGpCLj5haHEjblZuRk0tPC9gZz02OmdUcloidWhjbFtSNDZjRj0rJTRwbCVWITk+VkIpSlNvZW8xcnEmNzw2XVAvNkpKMC9ELCQzJVFZPDA1WywkQnVeQWVdaytGNF9PPWwyZ148IzJMbVNBVzpEZz9yIUkjJDsxJ1JUXi1kOzokUE5NMFNmakpjISJjUVpSP1tkQ0NBL3NuQiZoaCc0Iy4rMmQ/cm9OYy0pJ0BnSztjTiRKNyc9IlFha2VDRnVuSG49MVUzVVNIJjkmJC8sbHFNKSJZJzQqSDNnKXFEPClrWFBTO11va0xMYEpXcVdNUmxFJTNgbjBATzZ0WFUkVTs0PCNNQyZHJD9kPS5WY1NNRTxcM3NJUEpsLjdbQ00hWlMxI2FoSHEnMGBPYTc4RU5VX0VyNUA7OW9QW2JgaztYJ24qb29fMjhQX0FaO2Q+NjMmVGVFX15VSF86KWJTTTRiKj0jNz5IIjJQQXRMcjolRCN0IjxpJDgxTHBuPjgvdUVtMDxJVDVLSCNALzAuWjhlTE9KYWlRa0ljWkNkQEJDbFklUyJDUExYaD4pU0dhcSsuQTRyWl88OiM7V0JgbWsyOE9gI1hZQllIZShDWGw7N1s9Wm1uZj5DRnBfUWsmRUUyPS1cLylCVUc1Q2dFOiReZWEhVmNlNCxoLWV1bERyMWg5amQ2K2cyczQzaSFgWi5YXmI5KGFBcW5qY1FAIyktYzAmP1hvKmRfQiU3aVt1akxccEkkLGNaY2k2Qk5idDBsJ0krQmkubWw/UideWmApPDJEQ1JKS21FTmlsVltENkFtTCU5JmZwPXJTbmhuOkVyK0UhbyJPZS8lbmZdWF5ZXT1bKFZdLD1LVz4pUXI5Xi5oRWZIUDxTRVcsKyQ5QzBsLEdUMV09STVaNmwrMWExV0xkSChnQl0rYDxhR2FeUHNGKlxHUExfPC1MOiZPUjtbTDk8QCxhbFJaKkUyW2YoPltQMC0tTDRpOUpIWUxONHErbkMlayIrNjdENit1N11nMz1MKlNTa0JWOzVzPShWOzs7JVM8YWFyQl9HOXVIPi9PL3JDQVx0QztLW2ddT2c0MyFEXVUpJihJWXU0LHQ1LFEiNHA9X2tXXUtmMzdgIVEvaT1VSShdU1xBWTNOclVyOW4/bFBwZWkmbTZDb0whRmBmMStiSiQ4NHMnZjB0VUA9alFJalRVKCJSVUpsZUBoN2NgZC5mdUFEZUE0dFZFV1NbNUgtIlcwX2FebHE1REkoWjJfRFdKSUdoU2pxYyhuWSJyZFAuVipHNy5MT0YnPG91c2UnK15RTFMyTHJrXVRqb0hrUXBgV05JMilTWlVQXDQhcigzSWJvITkialY+MF0/O1pnU01FXEw8ITs7O2VXNzN0TlBTXE9KRkFCSVpMXiFJMEFdWCZVbSw1bDlETTFyRi0rSS9NSTE6UU5XJGwrXDFMNF8pLzZoPVJdWjxcYT1UIS9dbjZzaVY+aU48WVRPc2RDPkxjT0orbj9OYThnNyZZQFdnTG8zOUZMJ1BROWFGcjxCOVBnaSwrVmpXQ25VQzpnP0QtXFd1NiM/RiU4InU1OC5DcSxcR0UvIzJCTVk9Wm4vWToyPWFzXFhDN1I7KTJOQWgsM0RKVFk/XmhJSmNWSGpXPyVdVT4jIyJsbydvYUlNSDBNWC9FLm5Ia2c0SmEwITY6TiRwIVdoTDVpbmxpa0x0UUtVWFZSOCM5TGg9MVlFSkwob29cdCdVQEBpSzsuPEdPQG47S2cvPj0jZzxRLkhaN1NScUJKPDxdNlprZj9qKms+PVYzKz5Baj0/SC9fU05vaGsqNjdCO0hqSSYjXzpsNDIrXl0lIkIpTTw9NURLJVQ3OUNaXz1QKFczTk1VNmAjb1BjY2VsSDw0KTVAKklYNG9JOkFSNU9ZUT1saT9tamxnIjEiOltZMDAtOlxAKV9BPkY4IkFBWCFSVT9PY24zJ2k/U2glWjE/VDhrW0NqSiVIazZbI11BYmU3RHBZNUA6MFIlSik8JFgrLFxgKTlgfj4KK2VuZHN0cmVhbQorZW5kb2JqCis1OSAwIG9iagorPDwgL1R5cGUgL1BhZ2UKKy9QYXJlbnQgMSAwIFIKKy9NZWRpYUJveCBbIDAgMCA2MTIgNzkyIF0KKy9SZXNvdXJjZXMgMyAwIFIKKy9Db250ZW50cyA1OCAwIFIKKy9Bbm5vdHMgNjAgMCBSCis+PgorZW5kb2JqCis2MCAwIG9iagorWworNjEgMCBSCis2MiAwIFIKK10KK2VuZG9iagorNjEgMCBvYmoKKzw8IC9UeXBlIC9Bbm5vdAorL1N1YnR5cGUgL0xpbmsKKy9SZWN0IFsgMjQ5LjgxIDY3NC42NzQgNDE0LjggNjY0LjY3NCBdCisvQyBbIDAgMCAwIF0KKy9Cb3JkZXIgWyAwIDAgMCBdCisvQSAzMSAwIFIKKy9IIC9JCis+PgorZW5kb2JqCis2MiAwIG9iagorPDwgL1R5cGUgL0Fubm90CisvU3VidHlwZSAvTGluaworL1JlY3QgWyAzNjEuODMgMjIyLjE4IDM5NS43MSAyMTIuMTggXQorL0MgWyAwIDAgMCBdCisvQm9yZGVyIFsgMCAwIDAgXQorL0EgPDwgL1VSSSAoaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLXhtbCNjaGFyZW5jb2RpbmcpCisvUyAvVVJJID4+CisvSCAvSQorPj4KK2VuZG9iagorNjMgMCBvYmoKKzw8IC9MZW5ndGggMjI0NiAvRmlsdGVyIFsgL0FTQ0lJODVEZWNvZGUgL0ZsYXRlRGVjb2RlIF0KKyA+Pgorc3RyZWFtCitHYXUwRUQvXC9lJkg4OC5pPEMtYiRrPVlKVTBebDo1aGlcNkxUS11DKEU1J3NLLj4/VDxhM11sM0dDMjZeW0xxQW5MMlNMTWZuTSpoTU0hRF1BckUpckgqJlFvYTxMTCE9PEByb2lXdVwzTVduXElXUyZzJj0+MWBLWjpAO0RZRGkoNmFhXCE+cXIkIj9ZJW5wQXVjMFdmT1QxPUk0akBOaik0YUJRK3EzUGEzKGFVPGoiJmZeWCFaW0pkNiNZNiJjYWIuMXNjW15ULWoyNVRDJksicTRpXS5wIzRdSDwlKDJjKFU0Ul9SUUwuaHEmTU9LamNZTCtUNkMjKm1DTjIiJUV1J09wRWpsYWVFSWMsNzVTZCZsMWlARjs0dCo4YC4qJm4/OVFZPEJvNFBnSm9ndT1NOSowSmhtdWJDImJXXlRBVS1AXC1ITmxxNjlNKUhcQzEkcCRWWyZIME9QLVhKKj9GNkgrcmY3JDhNRmA+VTc1PzlFaFldbCEoX0dJb1xpL1tNIjxIY0UrbEJjVFBHLD1ESFhbQ2VWP2c4XVRNYiZxakBdTXVXSjVFXEcxJk9JZXJOOEEvaCxNc3QqQ15WXzhtS0opY3EwNzlZUzw4bU88SVlOa2ZHJFVINy1QJDIvYGsjckJaLW5WKGVNNVVBM0IrJmEsPmBjJlddb0xAPldHXSlANjZgPEsmczVRLTpsN05IRStNVyNQQFw9LWAhaiZkbSZhZVUiNU9gJCNeaEM9cW5GOjFPb2pUYGZBZFNwMmsoTk1DQmxVMjkhK14yT1tJTGp0Iiw0O0sndF06dURNWDRhYGg2PFddIlo+PjshMkheVHVmMnUrPkVrQ1hTWVMkSmQsUDtFMmZdXWV0Z2UrP1VBIWReRjUyRVlAZDZLXmVVNUFvYEJUVSRIIkoldEopO1M/RFhlVWJTZWxhTk5wTkJKOnFqUyUsODRWO2lHazYmQy9YPWsiRWMwWCpqL0MsZGBjaCNyY2E9OVBHciRMa1FNKFxpPSkrTGZLRyw3LDVtVjN1a3FmcDIjNGtbZytvW2dePVRbVUhKMEVYYiEmN18yXWlkXWNwVmg7O24+bitvWD0tVGdPIkhlSXJNJVYmYUc5WW0/OF5vR0BOayU9ZTRWX1lPZ2RfI2FjNkJGLEVAKiddKCpNXmZzZDQlJjY7SG8qcjxDQVMkciRUazEncVtGTz0mNjE6L18rWDc9LjNFUEltTFc2MiohOlFwVGphOm1mNlRXKFxeV25uTzpEUypTZUhRMDpcPjgtSlliUkpjIVJyP1lLMEA4aV0tJEYrJlghIj5lOj5tM1EyNDNQVTUzbjYoU25LTkFWU106JDdpOTN1PVRpZUkncnRiZGJUbWM2U2tiaWYoaFFzS0loM1JPLWJVRG9FJ0I6RWJSIzNZUXBgUk8iNWowJUlmYm9DPVxLSFMnIVBrczpmbiZ0SHRIYiZkWzZpaSxbZjRhSy1XVypZYlBzbktgU3Vob2AjJjtbUF8yaUdOZEBAVy1GYVooaU1iViM/Lj0qKT9YSVUwS2JkXz5EaCQkZGZPJytYOENIUkRFUHVscUZqQ0VBWWFKViNGKkJDNFVbLyVvcy9NXWhgMUViUmNVaDs3Z2BcSTszYG0uSC5tMWUoVV1MTixQLjw1PipQKz45XTkvLSZlYjQnPmcoJDxWIzYlMjgwTi0kO1xGMj44QEpFLDRPQm1OJFx1WyohPVlTIzQ2ZGBHTm5yKkNKSzY8MmpNbV5tKkIkOGpxKnFnNXFSJExRPyMtcS1mb2NcKVQ3RzxrSHQ6XEpGVzFXbChFWVxmQGRJQGQhMVRbZnBYUGgpNDhSZU0uaWkycCpXRmg9XStIaTZRLUopP0NFXEBCKHQ8KydLPUg0amZmM1oialJrJVFCO24hMilySmdsXWBZaiFlXT1WUS8nUG4kRiw7ZDdvL3Q+O1VvPGBeVmRyYTRQWW9yIk5iL3QzcipraSohU1ZeMlpLJCkkKyY0QHUmWE9ZZW1pOU0/QWozQXVQUzM7XmdmViQ0N2koNG9BLWA/KidvRkIhb2dYdDoyP288LTteY2tZVihSQCEocElcSF5TKz0qYmtUZV5ZMzEmJDZqLD1kN3AuZmZkVjtuWSJscDNZYjBVdWpNKUYiW00rREttSysyT3ReTE8+KV1PLjU/Um04P11ncl4lWjtJRExaamkxbTs9dWtldExvUj1JWlFwa0BCOl1LQDgoJihnJGs/OEtCNz5FJUtfQVhlbmRgMzZvSmM1KThEbzBjT2JmR0pMO01kXCorOlU7TSVlNWdLOFZqUTRQYUw7b100OXI1ZjtCZmNzPUk+UjtJKHUzYlBjMF0naiVhTyRkTG0iQTQic2UqaiUtVlcsa1BtZ1RvQ0k6aTdwSl9GKChocnNlPUhwc0lpQGVlMUtbQnIwbHEhZFNCclEoOCNnOis2TmBSKlwjOTM5LnRLdDlybEFDZz1PQzhWRWM4akVWUTNmMGFpY1pILVs0Q3BrWCJsJ3BrZTdyQSpUTz9qSEouI01GZ1cnYEohMlJrPWEiaytAOTpJYF0nIjdCTVU7OC9dbFwiM2FOU28lImJnVzVsR1llKXIwLyhkP0A9WnJYb2hBUjczIylZLTZxLjgtSTBPZic3WjRsVkU3c0Rubks5USYuJjhGcFB0dE9SVUAsX2w/IjRGMiFdOlJHTGtqQDE/WUFjR0I1KjlbSWNHX2BpXWNnN1toaUlfMVNCQy9NY1FJPFpZP0gpYldkSTBUaSNLNm9YPF4lLSImKilYVTxPOjNmWjM4YzFqS1dGcTVoa1VGPzczXC8yc1taXGRVclZYPi8tPGZvT21ATjNWI0lSbW4tOzNebSJeSl4+cz04QDVgcDhAXy1hPUljSSQpaGkkPGZcYDxTPzorZDUnc2srJWltKjg7PzhTO3JuaWUmbV46JzNIYS8+RkkkJjlkRDg8aTs6UmQvPWkhVzpIWCQ6XWByVyp0cTNkMX4+CitlbmRzdHJlYW0KK2VuZG9iagorNjQgMCBvYmoKKzw8IC9UeXBlIC9QYWdlCisvUGFyZW50IDEgMCBSCisvTWVkaWFCb3ggWyAwIDAgNjEyIDc5MiBdCisvUmVzb3VyY2VzIDMgMCBSCisvQ29udGVudHMgNjMgMCBSCisvQW5ub3RzIDY1IDAgUgorPj4KK2VuZG9iagorNjUgMCBvYmoKK1sKKzY2IDAgUgorNjcgMCBSCitdCitlbmRvYmoKKzY2IDAgb2JqCis8PCAvVHlwZSAvQW5ub3QKKy9TdWJ0eXBlIC9MaW5rCisvUmVjdCBbIDE4Ni41NiA1MTQuNCAyNDAuNTYgNTA0LjQgXQorL0MgWyAwIDAgMCBdCisvQm9yZGVyIFsgMCAwIDAgXQorL0EgPDwgL1VSSSAoaHR0cDovL3htbHNvZnQub3JnL2h0bWwvbGlieG1sLXBhcnNlci5odG1sI1hNTFNUUkNNUCkKKy9TIC9VUkkgPj4KKy9IIC9JCis+PgorZW5kb2JqCis2NyAwIG9iagorPDwgL1R5cGUgL0Fubm90CisvU3VidHlwZSAvTGluaworL1JlY3QgWyAyNjIuMTggMjI5Ljc4IDM4Mi4xOCAyMTkuNzggXQorL0MgWyAwIDAgMCBdCisvQm9yZGVyIFsgMCAwIDAgXQorL0EgPDwgL1VSSSAoaHR0cDovL3htbHNvZnQub3JnL2h0bWwvbGlieG1sLXRyZWUuaHRtbCNYTUxOT0RFTElTVEdFVFNUUklORykKKy9TIC9VUkkgPj4KKy9IIC9JCis+PgorZW5kb2JqCis2OCAwIG9iagorPDwgL0xlbmd0aCAyNDQ4IC9GaWx0ZXIgWyAvQVNDSUk4NURlY29kZSAvRmxhdGVEZWNvZGUgXQorID4+CitzdHJlYW0KK0dhdDxCQ04mOGpuOV1aKCQ0M1xjU3IqJ2FuVzhkK0tnVmJZTGNwPS1uZmM4KF03RmUoUVQzUzRgLilEPl5XJ3VOWTBfWGY5S1orc04rXWZcWTBYaGxOYE9YU2hKMF9jbzJeJ0pGUUw/IlklU1hSMUBdYFlQTF1ONnFZZShtTzJuLVooVFM+USYxIj1KPy4ydU1uIUY5SVNSKTloMCdAUWhaQTJyNVx1b2w3YzZAT0RmLkgkImFaXm5kKlRQczRuJS4xLWJcIUlsb2FXdThPUGgqNTRMLGI+WCQ5WU4rJVBKNSkpXk9samZXLHUrUyRjOVQoQVsuM0daZy49T19KIzw+TzpINz1TXSZjVCloVGQ9XS9KYzFmRWBnK2BxXnAkUmVDYjBJMGFYOUdWNDhaJm1qNEpUPVdGdUMxQzxSI3IpaUshIzpZcVBFKU1yT1dCbDBnPGM/IyNRUzdcPXRnXGooOGtUPU9DOVBnPj1aJ2FkJmFFc3RvWCUnaSdYLD04XmY5Mzo6cEMpOW9nWzBaSmYrLStrV0gtPHU+MCdbbm03Q20tVT5sK2FMRXUuNW42PE5LUSxzQDBgayE3TS49O2BoYVIjJiZhOWpfLjwtPFdoayRXSClrXlklUnBkciNVaG9UVVtzOGBcNyZNP3NBR0BdMHB0NEpJXl0raXQ2JCU6Vm5QZHI7YEA3b0RTYW5NSjM4RVctT1JuYE4hJTRwcCMwPy1zMTpfO10iLmJJKjFDI25AaUlmIWsiTldPRVkvSVRBXjgxZTBJS1A0KCtBST5HaDlZL0xeWSFCTzxzNihLXEZEJkxbQyQ3LjdLcmZYI2U6YTdWRmUxam8yUTdATVpTTysnV0toO29RVCUyI2Q6J0teWUtpRGAjZnNvaDFnaiooXUwnNiozbFpjdDVbWD48SG1rLjxjYChzaGNKQExHJj0yaWVfOHJcNDtWNnViT1sxTiwyZUUmcFQscShFWWJQUCU4X2lYXj9ZW1NAIlo0REI6JVJqLSRpJWo6JTc9Vl0xXVhJLV02VCRRRS9UVWM/aiVXX2NecHRbLkVRKHQ+JWY3RCdWTXAmZDIrRXRnI1NOPFs0NGBEZTwhQjMnT1sqPWhlNmVdbWNJcG5iOmUyNjxdPzRnKVk8TSshKCItWGxqTUk6Wz1tMG5ab2xXITs0JSxhMGZkOVRgLF0maW5fSFo/QjBFaF50bDdRKlNrVWxYU0JLUXRRN2ojLnE1TWM9XCROPydwUWhLMjReKVpQRSJkWDoucCUlTkwobGViZU4qJj1aUzEsdWRmTk90JTtQITw9bC5vK1JfJEw6XlNpOWZgLW8rWjJfREVHQyo/Q0QiSCoiIms4S3M8ZU1XQmZmNi8wNW9mR2ltaSJKYkZTQFVQams6ZWlZcSI8MVw5RjdmOjdMRWQpXT5sOChnVlciJmY7L0MwQE4/PzMhN1Yzbz8/JzgmMzNhL1FBcylRaDQjWVtJTnBRXT1sY0wzOiRBJyM/Q29JLiMyLFVaXUc4U2tDVmFeNytOKnFbJ1FwV0NqQjMub0pwLj0wQy9gMG8iJ25QN0Y9UD1QcDBXb1s3YExfdC4wUVZTK04xaihyMChjRUtMSEBpX3FVdGZnZ10tKkpqQEppaURGWkFzNE5BQlY3Ml8pbTdsY2stQztVKmAmS3BYIUA4TilUaWxdczdDLEZZJS5CZ2VPPkteKU4hW1VtXUxZPjkmKUVGPFdBb2RAKC5QKGBVbTM8aUA7L0dbUWZbcjdWaDNMJDZcISZMcFtyMGxwN2lcQURwZmxqO0dcNDpbVmJESWNmJlllTzsoJnAiRGYpRSplVzlLaShkPm83ZlBOUiksJ1E8OSJRWylVMTRgN2ZCajJSdUc4SjdBSjhcXEVVSU4xVmxFMmc0NFZjWDZXRztia0VaVzpPbT0vKCc6cyZbNFE+JGctYzdBIVdoO25VdG5pXC9cV3BkY3Q/UiopKzFlWVlsRmYubzZPR0A2MydJNy8wMmtYJ3BHJkBIMV1qdVxuVCxlZz1WPGI5IUBUYEdJKlJXPCcmZV1rYTBVNSdmNyZdLjcrUFZeM21mQ1xgWlxta28xZ08zaXA3Nyg7TzRPNSpBbS5iJFY/WSopcjAsWU9QcXJrbkViUzJwMSNWLllRMEMtcCZqdDgnLyIsJ0pRWGFzM1lLMzZWSiJXUGhQOE5TLGUmVVdeQUM3I25McVQxJlE7QScoXWBqUlc4LFYwbTxcSkM1YzNHN1FOSUsuWSJvTXNWPiEjOyIyLipyYl1oNF4wZGNrMjJIUTdqWTRZRklqKGAjYmQ7PzljWjhgUFdaUE4wLVxqOHVgJGRXSEF0ZkhYO0ROVlg/YVZrR1BLKFxNZUZXOFZSVWU2cjBvUj9eWTNDLVVTJyUqLDQnWG9sKVFaLjZoaU1PSC9VSlhXQG9yNG5VSjgjYHI+S2JNcj1WJ0hiPStsOjNJcEkxW0Y6UThNUjZEXzluWzIrV3MqQ0JgNC4wTk84QjZIKlJzIj4lSTcrcHAtbCw8bkpfcDRsaywvbj1mUVc/NmM+KVpZMzRFMzlxQGxdSVY8UTMmUmtKTUopbCFHOjE+N00/S2oxIiMrYl1ncFJWJSVxYXRrKVwhQk5KPVEoVipnPCxRcCtNclNfbCUwWykhRVVjLElsaClkQWFXLFlrM3RaLlsuSitkIkUrQWgjPUdwOmRuUUJwVzJbVjxXLDVfZ0JrbHJMXFInXDY9RzIkdS1JcGc2Pj5pQyVMViImc0lGZEYrZTVXaGosO19UKC0vSVBfSGBvQlpQOjNKS3QkKXI4WWFUX3JPcyRnUXBCQSFTVTwzUlZFMGUvO3FOLVxeS29CQWFqQ10+JyVWWkQ0MEspVm8xcWs8SyU5U0dwO0EiLW1jVSE+bEsvYz1lZGdZNmNocFVdTC9DODptciJIM3FURkJpKm1Hb3JJRTZPRTRNQU09ajFuTiRdI1VTMCdVKkxbW2ldLlohTztQK2lYJ2wnZWI5JzxIc0RHOmg7JE4xP3RSTCVlTjlrcT5BJXQ0Ry9EMEZlLmNAP1c4XXVON1tIUFdNXGhIS28sQF1QZChsX29JUCUucjsjUl8nP2xxVjAmSHVjbjopNWY9JUhaYVZuWTJiN15aQG1XblFJNXAiOVRHWUdEKFQxKS1xX2laVDE1SlE5bG9dPGUtVV4wUktySz02RCVZZ2BUWm5bPylhPmRIY0o0YD1eUFgvOUlIK1VPSCcsVDVNYiheMVdSYT4zVCZFXGQ6aX4+CitlbmRzdHJlYW0KK2VuZG9iagorNjkgMCBvYmoKKzw8IC9UeXBlIC9QYWdlCisvUGFyZW50IDEgMCBSCisvTWVkaWFCb3ggWyAwIDAgNjEyIDc5MiBdCisvUmVzb3VyY2VzIDMgMCBSCisvQ29udGVudHMgNjggMCBSCisvQW5ub3RzIDcwIDAgUgorPj4KK2VuZG9iagorNzAgMCBvYmoKK1sKKzcxIDAgUgorNzIgMCBSCis3MyAwIFIKK10KK2VuZG9iagorNzEgMCBvYmoKKzw8IC9UeXBlIC9Bbm5vdAorL1N1YnR5cGUgL0xpbmsKKy9SZWN0IFsgMzYzLjk4IDY5OC4wIDM4MS4xOSA2ODguMCBdCisvQyBbIDAgMCAwIF0KKy9Cb3JkZXIgWyAwIDAgMCBdCisvQSA8PCAvVVJJIChodHRwOi8veG1sc29mdC5vcmcvaHRtbC9saWJ4bWwteHBhdGguaHRtbCkKKy9TIC9VUkkgPj4KKy9IIC9JCis+PgorZW5kb2JqCis3MiAwIG9iagorPDwgL1R5cGUgL0Fubm90CisvU3VidHlwZSAvTGluaworL1JlY3QgWyAyNjMuMzggNTk3Ljg2NiAzNDEuOTggNTg3Ljg2NiBdCisvQyBbIDAgMCAwIF0KKy9Cb3JkZXIgWyAwIDAgMCBdCisvQSA8PCAvVVJJIChodHRwOi8vd3d3LnczLm9yZy9UUi94cGF0aCkKKy9TIC9VUkkgPj4KKy9IIC9JCis+PgorZW5kb2JqCis3MyAwIG9iagorPDwgL1R5cGUgL0Fubm90CisvU3VidHlwZSAvTGluaworL1JlY3QgWyAyNzAuMzggNTg2Ljg2NiA0MjQuODEgNTc2Ljg2NiBdCisvQyBbIDAgMCAwIF0KKy9Cb3JkZXIgWyAwIDAgMCBdCisvQSAzMyAwIFIKKy9IIC9JCis+PgorZW5kb2JqCis3NCAwIG9iagorPDwgL0xlbmd0aCAyNDUxIC9GaWx0ZXIgWyAvQVNDSUk4NURlY29kZSAvRmxhdGVEZWNvZGUgXQorID4+CitzdHJlYW0KK0dhc2FyOTlcLD8mXGNTcDsjLkVSZS8wQShrMm5NV1hLLms2Mz1mbkAuaSU2X1RjZjcyTTlwak1qZik1WUhVKWIsaCUyJFxRN2krbmRIR0kxcT5uOmNoWWx0TVtaUmcjMlZcMTlZa2A7ZTJoQ3FMTkQpXl85VCk2WS4sQV04UnQmLU5XJnNcTmsyMlpxP2BbNTRPVEEhWThTIjRwSSMwZGpQKTNaPlxpWixzVGFVYHEpQCJLYURTIUZUXz9KV1VsOy9SSCI8NSRhKzgsVmZQWCFDJFVpKSNJV3A8QlNHNSZxJDwsXi5MLm80V1k0S1pjPyJVMmZEOVkqX2psKSVCUmYrSj41VW5QO3NgR0FDPVgiJ0lNWHNgbWlkOlRrbidpQydMa1huR2ZlXUN1XE1WWSEvQC0xMmwlLy1aPTlQQE51MGtsWStAM0RqQSI2aEdkQDtWYCwnTDtlaElsNFhnOk8+J1kvNGQpVjJpIWQxO0pWJT0qbVNMTVY5JV82cC1PWWxSaSonbFhIJF91V1syYTpScUcnbDIqZzFTIWJmYWo4IkRdSTNBL0lESTdMNWBlNmduTGNYRTFRM2daXWFEPjApLXBfWC10TydrTUM5LUg2dEdJbShlNjArOVROa2hKUjUvRE9mX1w7SHMpWVZMbj9lTT9uKGovM2lsK0hjKTJnaktRWC4lM2JwbSduRHEuNlpHLFwvW2U4a25ybCMrdEQuSklPW19iRE8rRFZiOi1YcTBbPjYuYDkhYmhAUkk5LERicWQpbTRVSiY4cSFIbm9SJ3FxX1xiSWdzMHFcSFNpdCdkR2EpNS5JMl9dbyxBODslSCg3QEMlR1JnSGk4aGhGUCxEc14tI01YVyc3S05CTFBhWjguNzIoMypZMFM1U3MrTG5bUnBzUlNAKnBtKT9VUCcpMiddSidwYVJsTG1kXEkrSm10LiRGI0olZzQhIkJAWkE2RG9ESjlJWW8wMTQ9WilCTGlVaF0rJ2klTVgyXEZoUE9EVGJyN1FlWjhKLkpFKEYpb21WaiJEPD9cJmwscXJJRiFZRGQzRzJNLUchTkM5UzRubkRlJ01xcSZTT18oPm5CQFY3bzU3TCt1L1lRXTJcSz1sJVReT1dOOyQhSCxsP11wZUBZLlEpZEcwc0Y2aT06WUkiKSVdRlNySkpybWhycmcyTS4wYTpAdVlwWCdwV29uSkkpJU9NI0cjPF5uOV5GLmxmLVo8TlhHR2M7S0lAUjMmLk5VMj8qMl90KGVkYD1Ua0ZUViJVcTFBWjFBcWdWbGY9XldsYzM/ckhzbEZZKVosRV4tTiFnIi5ub05NY24jbjhrJEchIUImZ24tTzZvQEFFLkBrcmw5PltmWForWFpzJUIxckg2b2UkWGBAc0QjWyVrNWAsKjgtQygibGxjL1tUQ2hZMGFwZVRxWC1CZnN0Nl0zV1NrT2M/cGBFNWA+UygxJ2p1ZDI4RU9ZVykvL0VFaVs6KG49VUcvJjMmVnBtZWBESF40RGU/MC5pYThwIk1zLUxfUl0xWy4nPXA4azk/P1JsbnMqaFYnRDY1R0Qrb1BDWGElIWFvV2ZFMTItNVYqdF5XLy4+YEl0ZFk1N0JxWkhqVEMkS0pgb3E9IjxKPD0qXkZsZlRmUFxrQDpDJi9fcl50XmVrXVBBQWNqYkYvUW9zNlgxQDtRXC0wWUJtQlkyZDFjYk45cWRGbD5NMWMzTTVjPkohNCk0T2onN0Q6RFpDclMsTk5HaC1aUnEiJE08QVRTYiheNF8zPVM6IUY8LVYpbz0pcVFGWl4iX24oRE4nM1slU11CLUVoP1pLOjh0NDB0LjxiREMkQEtPUU5ITik7VG02XWszKHJGP19lKDJwK1ZITnRrOidQNltHJUxRPlVvczlJTUUtYVU6N2t0Y2VfVUVkcEtZcSFbQ1hbRzBEJ2xVI2x1YVdqPCs4Kzo+ZFQoJSFuI1lNLy5LTFthYU1UKjU7TjRXWj5Ib21NIj1FdU80RHNbOjNVaiIsaks5ZGBoaEsjaktvJmwxSGhGQSIxMGpJbk91YTo2a1RCaSpgbTJIN1s2ZWwhZWRvQmssWzIlbVNwa1pqKWlaTGcvY0dRWVlkZEsrRzYoKmdEYGN0KCctIkBaPkpfQERVW3RLIjxcJ15HPDAjPDJcSDBWMHFdTF09Ym88Q1BuO29fMU9XaitxZS5NTjUsbGk4X1tBOVFBTWVIUUI4SSMvYkRPRCdgPHAsSj5ANFwpUy86WSpAPFlqM1hZbkEoOVF1QSNHIzNfOkk8WStraHNuMmZgZUJNWz1GIi5ya1cyWCxwP1UlKWkrLU4tRzhTWmc4Z0EjSChlbyc0KDJpPixcK1FeYVFBLTZkTV4qWVxUJUgzK2JfTUtQNj1HSXJvcixyV2NcdXJEIU1DbipVQHQpRD1zdFdkKmc7NiNgXF4+YTs6TSRXbF4qKzYtXC0oLThAdTtrai1galgkZW1bMGZabWRzRWMxNVkwMztdJCpZJEVyRCEiUUFZRi1nTWdwYCZDIzxpRS0xOkdsTlwpUmpLPmZiRWVCIjk9UVxZTEFaQ0g0I1BfZSY2RFlSUy1bTWUxdSMoZiheZ0xxVkEiU2hoTGUjPSFiLiFYQTkpTy1AJCJMc21rI203WFFsQClJbGgsczxENmg9bV9VZU8wcS8sNDpJLWxzVUJTSE9rL1NSJVRFZGJjX3VJTVI6KGFBLWgmJjRSZkQkQUFJNV8iJEBcKyRQalJtKVxDO1Y3P0kmVDVBSCIlMyJ1MTBARk9VI2RIRT4oQXJKV2RXZTc+QFdRdSNPL1tLVkgkK1RPYi5FR2xAV3IuUzJRZUpsNCUiNDhDOS08Y1BsOm1ZZjYlcyY0aF4qKjM5Pl5gbEtgVVNAaXQ3W1RiRnAwNVNpJmw7LkRwNzBpZjQjViZITWdRI0ZyN2RTKWRIIkxuVSxPKiZfOD8tMChMIU4nbDonOSkkMTE/LFthO1NoTnQlZSsrYV06L3MzQT5da09FbFFvPWpdXi1MI1QkTTApJydwaj8jKmE4Ki9bU1o6U2xOOHJeYmFRdTtWR3N0aWkyXG9kXVc8T0ByS2g4OTQiZCVvMz1cZ2JKSldxTmlnJSdOWzZMNVZHa0FKSjZtbyEnMGdAJklZN1swN1hcRGpEPmItJSIhKExkVzZQPjBtcnJdWkZHK0xuOzk2XDlacD9oV2I8RkY6RyVPWFltOzhyKmJOI21nMWAiS00kNiw9cDliTjoiaz4sZmRycl8wQEdcSX4+CitlbmRzdHJlYW0KK2VuZG9iagorNzUgMCBvYmoKKzw8IC9UeXBlIC9QYWdlCisvUGFyZW50IDEgMCBSCisvTWVkaWFCb3ggWyAwIDAgNjEyIDc5MiBdCisvUmVzb3VyY2VzIDMgMCBSCisvQ29udGVudHMgNzQgMCBSCisvQW5ub3RzIDc2IDAgUgorPj4KK2VuZG9iagorNzYgMCBvYmoKK1sKKzc3IDAgUgorNzggMCBSCis3OSAwIFIKKzgwIDAgUgorXQorZW5kb2JqCis3NyAwIG9iagorPDwgL1R5cGUgL0Fubm90CisvU3VidHlwZSAvTGluaworL1JlY3QgWyAyNzIuMzMgNTc0LjU0IDQ1NS4zNyA1NjQuNTQgXQorL0MgWyAwIDAgMCBdCisvQm9yZGVyIFsgMCAwIDAgXQorL0EgMzUgMCBSCisvSCAvSQorPj4KK2VuZG9iagorNzggMCBvYmoKKzw8IC9UeXBlIC9Bbm5vdAorL1N1YnR5cGUgL0xpbmsKKy9SZWN0IFsgMTg2LjM0OCA0MzMuNjYgMjc2LjM0OCA0MjMuNjYgXQorL0MgWyAwIDAgMCBdCisvQm9yZGVyIFsgMCAwIDAgXQorL0EgPDwgL1VSSSAoaHR0cDovL3htbHNvZnQub3JnL2h0bWwvbGlieG1sLXRyZWUuaHRtbCNYTUxORVdURVhUQ0hJTEQpCisvUyAvVVJJID4+CisvSCAvSQorPj4KK2VuZG9iagorNzkgMCBvYmoKKzw8IC9UeXBlIC9Bbm5vdAorL1N1YnR5cGUgL0xpbmsKKy9SZWN0IFsgMzI0Ljc0NCAyMjAuNzU0IDQ3MC4wMTQgMjEwLjc1NCBdCisvQyBbIDAgMCAwIF0KKy9Cb3JkZXIgWyAwIDAgMCBdCisvQSAzNyAwIFIKKy9IIC9JCis+PgorZW5kb2JqCis4MCAwIG9iagorPDwgL1R5cGUgL0Fubm90CisvU3VidHlwZSAvTGluaworL1JlY3QgWyAxNDQuMCAyMDkuNzU0IDIwOC4xNiAxOTkuNzU0IF0KKy9DIFsgMCAwIDAgXQorL0JvcmRlciBbIDAgMCAwIF0KKy9BIDM3IDAgUgorL0ggL0kKKz4+CitlbmRvYmoKKzgxIDAgb2JqCis8PCAvTGVuZ3RoIDIxNTYgL0ZpbHRlciBbIC9BU0NJSTg1RGVjb2RlIC9GbGF0ZURlY29kZSBdCisgPj4KK3N0cmVhbQorR2F0VTQ9YDwoUiY6WEFXOl1oRiUoKXA5SmlMZz9wM0gsUz9CdEVQJVtoIkBebyE0UyNOQzpfcU1aMz5bNzdvQWE5J1pKMiFKPDJmSSxwZmZmcEEyNysicFI5Rl9vK1AnUEVHS0Y2Nlg5cjQvLF9IR0dLdEloR3FTNDZ0NWFMViorXG0rP1lmWUgyQiFVTF9ZI0ckYjo9cTkmUVdnQUQiW2k7YmI5ImI/Xl40WmM9cGN0OlQoXyUxb1RZZy4lODg+SlguK0ptK0xFMStmPTdUYkdJRFYvYGVUPUJFTC9lQ0pzMSNDaVZQJFknLm1LZik/RDRhb1JDQFxMLyxWUDptLV9Lcm1iQVlLJ0smQUdqTnUoNFVbTytIVTY1a2gxQWRtSFwjP0osbDxbbSdTOFJOb0hWcHIkQlAvTU9WQlM9YCc7MUNgPzNWUVhxYHEtPj9FcVxdPENGJF4sJ2lMVGZia2VhXHBbX2F0Uk0nV0RMLic6KXA+ZkchJjlPZm0jZU0paWc8UEVRJzBfbnBaZ1M7QC5qSkMwPGNXaUdcLSpEYiNWWGFRPjsoay9wcWgpPTQlVm1TLUJVIWdJX3FwUjRFZUpKJitcOEJRVFAsTDRqVmwvTlYpbmFHT0doNVVoMGUyPWQ/PEBQPjBmXm8+X1JRO29dQyc2KSInbktyPiwmUFkjJS5OWUhlSE1aX01LUiItWzVlc3AlZWFOJjJUR3FUUkhnQzdlIzBpT1g7QkhoRTtDTComQiNsNmBnb2lfU3U6WilrJzonZzcsSU1bUGpLZ2xgUGE+OnEsS2NFckBDXXUzPDNtaFQkMyFgaF5WVykiMjU2NyI2MWBgUCVUX0BEaG5eQmRzRDBVMnU7Q0NnWUA4XGdiTGYhXTpCV0dCUEMhVUJvI2tiJExydFdDTWFbSkJaZjdbI1E6Z048RENOJ1I2WFZcbl8/N3EmaWYzQ3BSUUFoP0xvbzp1PzhIJUBmXzllZkU1XjlcVW1cKzYiXDdpdWJwNW4pTmU3SWNZaTVDNlcxby5TOHJMVzIhNjUiJ1g9cWQmaU9aMSt0RUNpdFBHUjE5UjVobzxPX25fJHFbVVZPckpXUWxrI2lhS1s+WjIudDBOaUhuOytDXzk4UmotKlhuKj9qbWVnITY9bj87YyZBVjU3R2VqZltuIzwzMzlvITFSKGdqU1NTWm00XStQa18mZGYjYFZEI084Vmg9Kkw0QihiNTRuXTYtN1VCdS1gcD85PDZdbzcvSmlaV2ldRnRlcEdISVAqJWcuXU5YKkBvJShiKXJTMmRZIkdaYic6TSZPYGFaZGMkTjJSbztqK1VoUXMra00nVG1mPVk/WylnIl5xcU9JXlVYcDNsalgyNlQsKV00OXQkK1InZSEnQ3BuLWsxJl8ySUhxMSgnJFksbT9cIUlKQVF0SGtqXj5TKyxbVk4kWFAzMUxqTGlJSylCRk88VDEjXFQodT4oU1dRblplUlJTUTlXNl9JM1Y/bGRGS1dbbyE1NmdfJmpJOSJMUjtbTDpvZSk7RWs9YChQLUZkVnNnKzYoQ0U/JWQtUm5LPzxAcUh0PVRjKDJEWkBwVXEoMzIpbCNkXElFJjo2cj0kNztZLicuSSsxT1hocDQ+WUkmVVdTbkduU11LRlNWRms7UzxQYmBNXEk8MiUpSHJAKCojTiRPTVppYWBUcz89NmklUEdBKlRhQ25eX0suOWdCZVFIcXRIQ0kkPSlhc1huciFmJ1drV01IPzMzUE11PlYlaC9jb2xTMy9FbElRMDJiWmQxNSxnITMoPCdtWmE0UCt1QS4tb3BWaGEiR1w7W091X11ePm1tUTNrajJUUDk5WUhwSScmc0VIITFMRUdDKlIoJ2wmQypPR14maTRGN3JxMmxbJFpoTTpqKFYxclw+WSJDbSVRYDtrOkZDJkRnVThVWHMtWHFjW0kxYUpma0lXJ1RZL3VrIlFCW01VUyNsVTVyN0xnXzlhQC5rLjVjcDVQcXRuS2lTX0tcZ0JXQU44X0UrW186TnVuRG9pWm9nZWY3T1RZNi9aRTBoYVdoLi5dMiJaLC5HRV9aTF1LUTkpbWU9PnBvPU1uQGhtXDNKSVFdX3Q8KmEtbFZPZVc9XS0/anFHLD4xdVk7QT1vR1tbPzcjRyJfUiJRKSpLYGljPmosOCJuQ1hTTGhQRGphU0JkcmJOUmBbKVVkIzRQL1AsUmVYOGU7KHU5TDVKb0c0LEY9SnBxR0YhWDJUWCpKZXVGTSorPVkvZXI0R14iTFBvRmtTM28lcGloMUYldShKKy0yXTdWNlBhLlZLOipvZDM2I2NjWiw/JCkhR3RoQD0lP0B1KDQtUChnPGcmaGA4J1RIJC0paiQlQSJkTm9CXHI8KkVoUjdsbWleVVhEPywnaGcuRGA7KmMrWmQ0b042ZU80JT5FZkoqTDtpKWovbkpZcjpyZDIxVi1hKWhAYWpJTTxpW3MiOW4zVDNzLVsvSC9EJEZrIUVAN1VNKU5yNiEpSERRTGkkaXIkXSJbazteL1knMFcyVkRnT1E5cF1tazJtajB1Vj9vMS9zQEheMkxYR2EuWzhsOkhgNVheaWFNNyNhZXVdSStpYDxbLVFxM0BBNV48RTs9aE8pQDxyNTVKX0tsTm9lV1RaIkAlPmkiKV09a3QnODQpUyUmLTkqLXJvJDpeN3RtW0ZmSjA5OkRrWGciZjE3VWI/K29vZSdDIXFoMk4pL0RwVFU1KDhhWWhobGcySjhaVDpaR2BEYTZMXUEkZ0l0dSpFXms5LmFFSylIYXQ8YVFlRW40b0omMyRdYU5gZjpDdWFyXk0wT0NdOVtkMiUmZ0Uwa3AsMSVwbjtVMiMhWVNNcnJEOFdONyV+PgorZW5kc3RyZWFtCitlbmRvYmoKKzgyIDAgb2JqCis8PCAvVHlwZSAvUGFnZQorL1BhcmVudCAxIDAgUgorL01lZGlhQm94IFsgMCAwIDYxMiA3OTIgXQorL1Jlc291cmNlcyAzIDAgUgorL0NvbnRlbnRzIDgxIDAgUgorL0Fubm90cyA4MyAwIFIKKz4+CitlbmRvYmoKKzgzIDAgb2JqCitbCis4NCAwIFIKKzg1IDAgUgorODYgMCBSCis4NyAwIFIKK10KK2VuZG9iagorODQgMCBvYmoKKzw8IC9UeXBlIC9Bbm5vdAorL1N1YnR5cGUgL0xpbmsKKy9SZWN0IFsgMjA0Ljg5IDU0NS45OCAyNzkuODkgNTM1Ljk4IF0KKy9DIFsgMCAwIDAgXQorL0JvcmRlciBbIDAgMCAwIF0KKy9BIDw8IC9VUkkgKGh0dHA6Ly94bWxzb2Z0Lm9yZy9odG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MTkVXVEVYVENISUxEKQorL1MgL1VSSSA+PgorL0ggL0kKKz4+CitlbmRvYmoKKzg1IDAgb2JqCis8PCAvVHlwZSAvQW5ub3QKKy9TdWJ0eXBlIC9MaW5rCisvUmVjdCBbIDMzOC4zMzQgNDM3LjY1NCA0NzEuOTM0IDQyNy42NTQgXQorL0MgWyAwIDAgMCBdCisvQm9yZGVyIFsgMCAwIDAgXQorL0EgMzkgMCBSCisvSCAvSQorPj4KK2VuZG9iagorODYgMCBvYmoKKzw8IC9UeXBlIC9Bbm5vdAorL1N1YnR5cGUgL0xpbmsKKy9SZWN0IFsgMTQ0LjAgNDI2LjY1NCAyNDIuODggNDE2LjY1NCBdCisvQyBbIDAgMCAwIF0KKy9Cb3JkZXIgWyAwIDAgMCBdCisvQSAzOSAwIFIKKy9IIC9JCis+PgorZW5kb2JqCis4NyAwIG9iagorPDwgL1R5cGUgL0Fubm90CisvU3VidHlwZSAvTGluaworL1JlY3QgWyAyNDYuOTk4IDE3NS4wMzQgMzA2Ljk5OCAxNjUuMDM0IF0KKy9DIFsgMCAwIDAgXQorL0JvcmRlciBbIDAgMCAwIF0KKy9BIDw8IC9VUkkgKGh0dHA6Ly94bWxzb2Z0Lm9yZy9odG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MR0VUUFJPUCkKKy9TIC9VUkkgPj4KKy9IIC9JCis+PgorZW5kb2JqCis4OCAwIG9iagorPDwgL0xlbmd0aCAzMDYyIC9GaWx0ZXIgWyAvQVNDSUk4NURlY29kZSAvRmxhdGVEZWNvZGUgXQorID4+CitzdHJlYW0KK0dhdD0uRC9cTEQmY1YzKlosaF5XPyMtS2VJbkB1Z2FZY1BqOEM4NCtpWDQxKDVrIS0tLCRKXDI7Pi5ROF4qST9pKTlRLjsuSUlTOWE1aDJPMyNwNFduJTd1K24jcyZsKUZtZS5EUk9hKm5gS2ZwZnUzI1taPiVIMGhHZUoxYEVCUCMqXU8rRnMqX0JCcFN0aypZZG1CLC5WYnVuWD5dTjNwPig/QDdiKV0pMlpNV01zKGsoPVJqOW5NTkJmLUphYEJoNjw/OVY4JWF0PiVablJaS1sjKjVVSFYoTipnJUVDTGQtPVo+OGo8bzkpWiYyaCpfMFxYKzo3WlwjQnIjVSNQTnBfNU8pWFNVWGU1XV10MWdTXTthPVFOYkhuWU5qOWlqWFFFSFpqV086dTckMHNYazVGWlxOSyhzUEsvYXAzUERKU2QsNj9XTHBuKiczT2F1XzFIblJRQUxtQT1vWW1qb1txclFKNVk8N1ktPkM0OiJYZGA3UkFCc25BXG1PcUxvI2dtXEddKWBDcVpBMmtKXDwmUkk3Ry0lJWNhSTkpQDIyS1dEdSQkVWNrM01mWE9yVSNKRGBdKzRTQElOVDdyVkdaOE5Ra1RKWC9cc1toMEFyO0BNPW5oJS5iKXElWigkOFVDX09wMExHRzhySDAlaE49SCxRS0cjOy0uPiQsS0pcbDgyWVNDclJONiFbP2U+Kic2cyJSP0haQmIhMz5kPTEsSE5iakItJW90c1lqTF44TFghKTRdVi4zT0ZGKSNNYmBLTWJBRlMucHAvVVkpZytFa0VaMFM5Pi0oQFxiXl8lZmdcQlkxPSVVMUdbPF5jSVY5S1E6Wz1dRUxiPFQwXXBoW0olX2xKVTpFbF9oQyJXNE8/UURsIiMvazxMM1ZuUFJVNUZCbU9ILTJxZ2ckUU9HMScqKGU3OGo2bjVsZkkkMFpfXD1bMjtib0NWW106NkMmXWlKVldudDU+OkNlY3I4Kl8hISE5YzY4JSI2JiZRZGYjdDtkcGZRaSZWZTcrWlIhakNANSdFLislM1UrUlErRlFeLHNwamBjT1I1WnN1blErI2I8KT1zQjI7Y1x0OjVkcm10JFNvOEFVYU1kIi04Nk1WcGhRYT10QSUiY2YjaDk6UlJMb18kJTpjN10mMm08UCJAIkRia1U0Jj9pS0NGWzJMckhMZiQjXDdkJlRgUGVlUTNWby51IkFcN05iS2diQyRtW2c6JCE4XExYVmBwc0tfO0lWPjY3KVc0ISNnS2cmPiE5IVc7UXBjOUtPVkopSFZHKmZJPj4oJy1cK24vNUgkX1hrLzBWSWRiKDA2Kz8yVUBOUXInJGwxS25rQDBDZEFJakYoYi9MKCs0KVYsUjZPZ0MzXU9JXlBiVEBuRGltaj1MPVcsWGtocUVeL2MuckhOLyhtUGVUOEQqKidnMEkka0c3XURaQm06UFBgajYscjdsXUA1ajEzWWEma1hDVzdHallVNWZTWnVvUXNtajsyLixePjhjSEZMX0ZbLEUnYjZvVCtCJ2IySUNRLiZCPV1AWm0iJHFhJzdeQGBqdEFoQDY9dC8/ZydaTU5mYWldMyoyT2EuNF1GVlYxK1hBaFgqKUA5RnIxPlZLT2xcayxMK19ZaGBaXkVTMiJwa2JEXisqVEtYLk1xMXRbSkY9aiElJlJGTEVsMm5KYEc4J25YSU1SSDppYzkwK2YlYmpNOCI9Z1UqJnBBLG9YNFhyQ01sVDpVJVRsaypEaSFXW3E8aG8sUGA9XUoyJykhaCtOUTZnJWRabzUrdT0uSTNxTDI7X1R0OWhtMSxWUSJqQTYvNT1zPjVUUjMmai9mKD5EKmxgTiJsdUFQcERnU11tcz9ZNTpqOzRqb2lzJ15lMGQ5Pjk1MjtUVnVINUtYaTpMJCEtaSZQPlwqOGolZDx1SWtwXEtOIU87ZTpCM1Q2cihRUV5gKyE3dSdwQyohWElwcUQxRitWZDZWTEE6X1FHZXBDUy5xUTNeTmlJNnMrc0AjP2ArZm5ENTo7QCJBJWspPiNeLzM1Uzw0TjJhOmRLRCxaaDg+XjIhQj5wcjo8L3IqQWBXK3NhXExKVUNbaltnaSsrZTAiOVRMUmwjNms2PkBVSE1TVUAmL0AvUk4/NS1lIV5NPkVcLVQtMTNVSidSR1t0TklxXVM4TlxubCJwcmxeMSItcFZlQ1BvZV4hUUByPGg8aVdQcTVociFbdTAmWzphdEo5cEBuWicsb3NCb2dUITU3NXBOPmpETkNYXlBGamsqISIzNSNSMjQ1QCRcIichU1Y+MXJjaVdeMjxfNnFOL0xWWDQoUUJIblA4Ol5uPT9qPF9VW2wqSTJYQlNobCdzPCNLcUVCVCUxcnFmK3UrKidXSEdqXidPVHUmUmpQITslTSxOWlVvYidVQypwZnFxWWY/W1MqP3IwbDY2KzU2ZlFEOlU/J2hqZT8rVCImXENYPDpPZGNjIT1FUyguRkhUQzJGXiJDLDVyLk9RIilkSyF0bC8yPCdEKmYtKUJ0Mz1qNUUuUjklUl45VDdvZz8jRGJJTzpPc2NYY0ksMERFOFxwVEVlL2pUQXNtMW1BLXU/KVxNNlcuO1tSYHNLVSZZalhVdFU5PUJFMDg/Tl5aUVliaU0wV1g7aVJwWihhUz1wVmdOKUU6UklXNVlDRElEbzhUIzFAZCxPRmRfQUFbUi1LOlhMO0I8NDA2amBnTCojPUgjcUguOiZhNW8pTVs9aTVOYm4oT0xOQEQvPilKMGplJyVAPVVaRkhMXUdKQ1xmaG9pMjBJWD8pYXE/byNCPmdEaz41KVpWT2IrYls/W2Vra1BFJVgzWW4xV2I5bj86ZEEvPiY7OU1zQCpLV1FmISRlJDxXQ1dFLzQvT1hAcmBCbHI1RHBWYXIjMz5jTmFLNFJQK0Y+JSEnR1A5SHNGVnVLSidrZlw8XDdbRCM9JDZqK3E2KmZhaF1mQG4uTWkmPCJsJ0ZXYklkOUoqPkE9TCw3QSVMLS5mME9JbCs6LDVJRFMsSSgpIiRTQ0tZTmIsPlUtR2NlYFBRUjJJTXJcaCRYPD4jJmE5USY6YUhyOGlMV3A9Jkg7MFlPX15NK1g5QVcvNCRqMV1lay5WMyN0blojUSw6a2MiZ2VVSm40cT9JcXFmWGc+MEs/Ni1VbG4jW0JuQFJiTmpgdUZeayJSNlNPQ3FKaGNZJGhDNVEhRlEzW19wcl1NRSxvV3RMR2loV1QvQjdRVy1kQjs7LVduRS5WRVdAbGlPWyNGIz9VdUxBQyVRL2ctYzQ2dTkyYFImKDM7Q1IhZEplTmRoVFcxRz1aXipBPzw9bl1OaGVCQVQkMkAnWU02bHBUSC4qYEY+KGp0NGNyQ0NqPllyX04pTGFoVF1QXWNjQmNFMFJCbFRmW1QiVGFiYm5SPkRtNHF0MFJqJG40Tk08aVFzP1ttKVhsUnJzNkFsIlZRX01OKHVkYi8rSS8kR2xcXjouPWlrVUJNaSIsWShDTF9WQiEhbV1VLCNNczxRYkA2UCRqK3BHSERfRVQ3RSI8TWNoNldWciN0aytVTUwkZlVENilhMkBQQzlpRDdyWFhDW3JeVEtQZ1VtLk8iO05CVmxxXW9PcEtQMSRmJGFxXyZOKElrRVc6T0U5WTtTIitsRFJEQTVfcUFGXW4nPU5nUmpKZUlPJ15pSkskc0wlY19wLytQQTVPWjkqUkMobTFwTihTLipRNTBkYWxyNk4mcjwpUTtFJjpdPDowYE5ETyhlUl4kYXA8c3BKR25iYThgIztJN29eIjtWSG1haG4/Wis7cjVDOmBOZnEkYENmMCJdWz5KcnE7NUQjMEJBYjtMZTBIMiVyS1NfTCJxJSIlTDpGWC5fXS5KUFZbVCdwcy01ZTFIR3NJPGprLWMjL2pZaystTT5JXmBfLGhlJS8xRVlRLG1AcyEzajA4NDIvLiVeKS1XcEhncjNRY1I3JCMuXyEpaFFKLT1wN1lCTE8/MlhaXF0uS2tqXVNXKVEwSmRLSz83cF0hSzZoTiFsJGNJJz8vTk9GWTNiNyVXbEZRJVFEIi9FIlQ4aWM6aTthfj4KK2VuZHN0cmVhbQorZW5kb2JqCis4OSAwIG9iagorPDwgL1R5cGUgL1BhZ2UKKy9QYXJlbnQgMSAwIFIKKy9NZWRpYUJveCBbIDAgMCA2MTIgNzkyIF0KKy9SZXNvdXJjZXMgMyAwIFIKKy9Db250ZW50cyA4OCAwIFIKKy9Bbm5vdHMgOTAgMCBSCis+PgorZW5kb2JqCis5MCAwIG9iagorWworOTEgMCBSCitdCitlbmRvYmoKKzkxIDAgb2JqCis8PCAvVHlwZSAvQW5ub3QKKy9TdWJ0eXBlIC9MaW5rCisvUmVjdCBbIDIxOS4wIDM0NC41NCA0MzUuMzcgMzM0LjU0IF0KKy9DIFsgMCAwIDAgXQorL0JvcmRlciBbIDAgMCAwIF0KKy9BIDQxIDAgUgorL0ggL0kKKz4+CitlbmRvYmoKKzkyIDAgb2JqCis8PCAvTGVuZ3RoIDIwNDggL0ZpbHRlciBbIC9BU0NJSTg1RGVjb2RlIC9GbGF0ZURlY29kZSBdCisgPj4KK3N0cmVhbQorR2F0PSxEL1wvZSZIODguVGs1Li0kbyc+a0hKUiFgbFxjIWk2KzgkKlZnMD91TTcvLFxQIlNZREs0NGUuLV4jKjY+QjU9aEJaaUwtVCZbTlRrZFNhQXEnJ2ReTWQwbyo1Jyo6PikwVDlbSyxrcWRebDVMUUU5JlFvYzxoQyM4QlhZPTdRY1ZCZjYnNz5KbFokRihZLU9mVkglTGkpT2RzSjksakApKEFIXjBqVVZVT3FtSXBLWEpjVUBcQlV1KDJQJkNLIihiMigqc2NjQzBJOytWWkl0Ml4vdEtiSmppOWAwPyopOmY9WEBxVkskSFJzV0YjI1lVPmhETyMtWCRaUT4wbWI8Wi43RTtPbEdQcXQwXlg8YD90QFlILDVpOmw8N1hYUDUzcGxNMHJTcDRyLEhbZU4kP19TZEkyPWE6VCMsX0JNLEBEIiVuJ0stTlM2aC1qay0tcmVnRUpnOGVdTj50LGY9XyFZNiMxTTpRJD1BQExvIi4rbGJsWGwoYTFQZy9MYTAoW0tWbGotMiIuVF0mO11VW1Y5ciljPVNwMkA/XzFuLmBCM28jc2tBSlohLDxmOTs4QlkvXz9mQkltcWo9W2x1Xj81dU5QZW0naT1oYlZEYVIoNDgzO1ZraGtfciRbRmZYX0Y1QE9YPE5wYFtoUFlfKlNIQEFDZG8jXD5KXFJyNiRQIUBUUU1RW1lpXGBJRUdHX2I5b1pzPUJmP3VtZTo6VFYtVipSLF4iYVw5TzcsX2UyN0FwPydrbHU3Wm8lJSZIUk0zcWhxPU1SciVkVClfdFImYyQkInFpLkouRiJVOiNULDI4WDZiSmMkSFo/X01cVlY/aXMtbDNzUS1xUVBFPGJTLk1sLCxuRiRpUCVzXD5cKDVqYm9rLyswK1tcNCREaFg2aDhCVVw4XVdUZUosLDZwQz5VcC00WWNWTkNRPG9AaGFdTGVGQUk8Z2FHS1whJywmaFkyOFEoMTZxNjwzcTw+IjgtMEo7LzksUkhQbGImT1skSXAoRiZvYFtCRktjXmw9SDBhQGFENTciJTlnP29YXTFNMHQ3Y2VZLFArNTw9dHJsZS9EZV8pYV5yPURlTVNPM21qST9SO1JzPlhfVyhzNUE9PGZDWFkmZi1TcD5Wajo9Mk8sZylrWFU2OEcxajtmXSRIV0cmZVxuYS5jT1ZPQmIiJihRbjdFTiVMZC5dKSY6SW9PQmlZRUtLa21TODpadFpDMk0yNCZZU2lVaWhZIy5kJjcvXE5vbkJSO3JjKVFSaCZpTiQ+blNBWSgsVzNrYFE3OWpNP1MyS1BoQCItUlVgbFBhTUdSJiYpMTtNYVFSMGRRVGY2UDwuXklfOTFuVihqS0A1Vz4pW1U2U2hjNztSYSx0ZTo7b1VETjE6KG1gVWxdYG5WODZtY0BIPTQpLGAlVE9ddVo5ZS9iXlYkbktBbSRGQ2BJNlhYLCpPUSFQbTVeVTc6aD8rU2NgQGc6Tl0zWU5hU006U19IQD4lMWVZbGFbck5VL0txLnI4KVNkSGJrNGgiKkhgVUlGK1llVm5LJGhzZCd0KkdsNHJgcExlTEFmUFNyOzZCL1pjI0IjZUIjbXU4b1VGPHFEZWpPZlovL09YRS9UbGs/YHJTV2dHaGVyOmRCPmsqODZcQyVsWVM3MG8uOy1uJmViTS4iKzY7cFBxVEciR01LX148aWR1UmNRTCM+OT0wKlZFUzgycV00XyJuSGsnWCszcGQ0LEJqZSY2MS9zU2ZEMlxoalVqWTNjZXVcbTlsbTdFSEYpQ2FcUV4qJD5nKVE2TGpvQnNJI28/IkpwaiMxSFMrKENvTVEuU2FjMCpnKWI4TSQhQUpEN2Y1OmVSY1VbQDwpK2JHXyJVRW5zSCtxJyI5SF5VQGsoQGw1R0JbcWtmMzVuNCM1VTdyP0FuUU86UE5MM1llK2dFNWMhRS5lRXNDWiIvVi5zMjsxZUJsVSJmSDonbC0ucTM4NWtGJS9ccVdlUnJFLjM2PGoma3UkQlwqdEM6bWNZLjQwU3BHSC4pRjZoNVxgLT85bkdXbmk4LCVWRmNoYVJKZjBbQiJxLzVZL2o2U0k8UyxjcEgyYlhKQicrNUpGOXBPZyQxYnBkT2dUIkpXUUJXIlBwXW45Z15AITNnQmY6c1tdJzt0LElFOSFhNXE4clUtOmsuUEVwSzJTUj9VYzVgN0MxWy1FWjIhVSMxY21RTDRLZ1NubyRMJl06bGQoU14/ZyI7aS5yX0ZhIXAncWo2cnJJQ2ZuWiYpRjNRbFVDUHJydU1tY11xNCpBMjJIXGJhKjVYMzVTNzkkXlMqaDRHPmMkRzIsU1w5aD5WIitmWzdvMko4IU1oXzcocTQ0SVBlTnFqLiosTCNCWDMza1NXcmtVUytGVmM2SkJaV0dNcic4XjFyL2sxQy9wZkRMcDFHJzFRN0Q7a1ksLzY4bGxaLT81SVlrYnE4LWhycE9OKD9wQjZvajxbcjA2KXUmJi9JXXQ+MzE8X2ltTC9CdF5WKV1HbT0oKldfQGldJkBHbyY+J1VJQzdeZUU9T1xEY3E5YUdlZWBXV2c8cSQ2bGVZNWRgdT1ma0NZYW1yRUojXWZuIW5ePDU9SSJeTCt1J0tEbyNDRTQzbE4mcDoyNUw4MT0tWE5QOmdyMDpibCFHdXJwUlJgcVFTI1FpbloxYDxeOUFRZmE0KFBKVScxNkZUKGlYV2Q2Ul40X2BTO29+PgorZW5kc3RyZWFtCitlbmRvYmoKKzkzIDAgb2JqCis8PCAvVHlwZSAvUGFnZQorL1BhcmVudCAxIDAgUgorL01lZGlhQm94IFsgMCAwIDYxMiA3OTIgXQorL1Jlc291cmNlcyAzIDAgUgorL0NvbnRlbnRzIDkyIDAgUgorPj4KK2VuZG9iagorOTQgMCBvYmoKKzw8IC9MZW5ndGggMTE0OCAvRmlsdGVyIFsgL0FTQ0lJODVEZWNvZGUgL0ZsYXRlRGVjb2RlIF0KKyA+Pgorc3RyZWFtCitHYXRtOj5BTXRjJjpYQVc6ZjdYRDhMSmpsRC9UciVQLzhCLFNDV0JcUG0+aUctTltGaz0pc2QsY0A4J2pQJipedWVvJS9hSnAnPC9Ebl9YMVwncmIjUG1UMkgnTUs7ZidcbltlSkYiP2ZZVGlkPStwJkFeZHEvI2tyMy9qSm8lP2BPLUdhYlNTQj8pSmNYJ0B1Z0wwbShOaDNLVDZiXytKT08mJkZFT0liSDc3ZE8vPjEkTWwyLiFiYWYmMDg9JEBTMjgzY1wsJF1bWT9JQHVzVnM5YThfNjIlbztEbihAWzBxPi5aSTMsLS1XbUM0Ol8+bWosUTJwIVtRLUhYRCExYlFxXTJXakFVNkZMNGNYREVsLEgwO0RQTTlPXnFaKEIzXjsoVTo0cT9XVzdVP2x0ZF9vPWo5K0I3YWJrXTFNcSVoYU9eZktmPmtZUVNFYyltIWswSSxOYkRoV3NgQlNzUGVDRy5DVVRxP2sjKiMjbCRIVF5RP2YhNjhPMk9vX0klZl8nOGI1NSdlOTxUK0xMPlZIXzBiTG5EQFtFWzNiPkdLJVFLX1JQIVMyIWs8JkcySzMrRVJsOClwNSksYmEsOjpZaWZwRWchPXN1ayNrUlQkTTxhTW1OREQuJGZ1KSJrMnQnI24vTS4zJVRJY0RTYVhyZW1tTEk8bGg5aHNqT21pJVwmVkstSVpycy5oTyZMRDpIRyN1YDlldVZpa1koK2VXKSdnSmZoMDokVFViI1ctMWk/NWs4bUs8MkhXZlBHRThwMUgsbi9yalZzVlYiMnUsQ04lQ2RyLEtuNi1Aa1kxUTo5aHReSG81cT86aFRILnVIY1pdZjxtVWBCYVszIzFJO2dJV0IwYl90Z0JoVCFzWUhKMmZPPShfV0wlOVhRb2lyRDQhVUtJUjtsQC9qK1JKXldGJEAmIm5rMFI4YjFHJjE4QC9qV20rbzMtYDwjV0YhWnAjTTJDWityOiEwJm40OEM8Nm5iWis5MCRoQ240T3F0I2s5b1AtLUoral5cSEkxKzpNNGNHJT0iV3IrOT5aZ0NoPE1zPSQzODk4dTVyTDAxazFBa1wsLzJNWj4xS04+biEwaFAkMls4YG9xOy1OKCNBXWw4NDNfbFlEZ2pHcS5gWzchcCRDbi9POipfWzlcO2Y0Ry9UcFU7RkFcMmFkXEFTYzY0YW1RKmpeLUEnYGpsYDN0TC5jVVE7TUlLXGVtRiZJOG1laHFIPTk4ZmJJXnBcQDJgJWIlXk1xQCtZdF8jUkIjNDdKcj02MU5NcW1zTT9aK2xvXjM9WW8mMi4rJj11TGlhWzxCVG1dYWN0UEk/Si1JRlBWQGQ/RFliJmdWRHRlQ14wPWIlJltpb1BycmdCQDpjNStmYSc7RF47IWxSUCphWUZwTmRqYDZtXWFkRCUhc29BQT0nNSg4SEBMRHIoOThwW1RTJ2ZuJTJHPFg/M0RrJmhFIyIscDpuOj1qW0stPzIqNWNZYydrZCwhOSxMIydKU0Y/QDhsQytdQXBfaC4lQ34+CitlbmRzdHJlYW0KK2VuZG9iagorOTUgMCBvYmoKKzw8IC9UeXBlIC9QYWdlCisvUGFyZW50IDEgMCBSCisvTWVkaWFCb3ggWyAwIDAgNjEyIDc5MiBdCisvUmVzb3VyY2VzIDMgMCBSCisvQ29udGVudHMgOTQgMCBSCis+PgorZW5kb2JqCis5NiAwIG9iagorPDwgL0xlbmd0aCAxMzQzIC9GaWx0ZXIgWyAvQVNDSUk4NURlY29kZSAvRmxhdGVEZWNvZGUgXQorID4+CitzdHJlYW0KK0dhdFUzPkFyTGonUm80SD1AZV0iOTI5KF0yYyRwOUxZWDpXWCFnXU1YQWdYb0sqKTVBKDJSYFRDbmRzMF4jS0w3MGs2KkA4LUdEPGtQQlZpU0c+LGQ/LzgqWCw9J1AlMisjVDdLSDZsZ1lfK0NUMCpRQV4/dFsycipbYmBnL2BYaCJcYD4wKlRENFZoZi0iZSEwRClHRllaOlwwSDIlJ19II2kmXjFnNmBWP1paMjFZdTlvUkc0VDRWR2ZYJ0dbJUAkU0YuTmI7UUtMPDM+VzYjdF41IWgmZVNWZm5yaE9fWlU2JCUtN0IldEdbNnM4W0RzPiU6RWQtK0oqL04uQXEubjddY21qW0s+blRXW2IrR0tfO0MwRyRYPFpWQDxLb0A1VTpCbSNiNihtKmNmb25gOmhkTXBEYDJPXEVsKm1XYHQ7QTcuMDNKRzNgNFFvTTdUQl9uajNXTy5hZTlgLHFvP0tiXioiVi8ndTNIImNQJEokT1BybStMNEpWbWdoX1hwIi9Aa2UwNkNTQFFHWVwwTicsUE1PLGVtPWhCbzFLWnVRPnE6JWsobFY/NC1WZTVRVjdfdXVKKyRbX0FWSSRUaE9bXSlrUzcvOmNRY3BCMzV0QFp0clBrX09BYC1VTz0xMnEoLitJLlREaj9kcV1QWDBIUWlTcF5pbi1lXyhUNXMlJi1HdHBtUWNOczlwM0dzUik8VWFwQXFLc2FhZnVtRzNVZG5LNChVL0pLdEs2R3Nxb05JSWUoZkRJLk5qMShFODciIyo2b2xqK0g6IWA3L0NNKFVXJic7YiFSU04+KFZcQ2FjcixOJGhNKy9LcV80MjY2WFBSUSooRTFsZGcpUy1uSik2PiJEK0RQJFUlQzEpbnBvTGNuZSFvX1dIVFU8UG5qQ3F1Wyw6bFRcLl9pVStxPjUtPS9tUDo2J2owJCtwRldnMCg3Z2FxMWssJTQ5PjZEQS5ddTgkbXBtTyFTI1FSL00zcjhgZTRaVksrNERLIU1Ub15iUWpiM0wnWzpLVzQjIWopJjBNTEE8PG5JaDdMLkw+ai5lZTo5UGNDSFtyLiZjImk3YUdLOW03UGwqYkwwIT1oczJaO0poRGk/aXU1PWYuZ0BpQV1bck1lWWZgUTwuOjEkPGh0UlE0USZdXTNgMUU2RU9jSktYdS40THM1TDpVRFRXcEJRVT1QQ1RraDZXTFheVUk5XGE5Y1luLTkoVnNKLyRca2taWkJDWVBrNTdYLG44R2pxclsqZEJyQ2dIW10oLStsZXFIdCZPImYsbHNeOiZfX2xwcUNxXFhuWkpOWEhlQVwicW4mVyUoN1VRcztpP3RyTGxsai9UR2dTLkkiIi4vZC81WCNoJidSZj9sSU9fPWIscmxzTFNLMUEyR0xtNmppLl9aWDdEQitmNnUjVC1cVCU3PUZWQlhrWilzcGxAKm85aFI8ZDw2S2YiRzkwO2w+PlEzSGpfLllcIm9tX1MvWCVIS1ZhMHJBOWg7S3RbWl8oNGozUl1ycHBDbEcoQUtFcnVMLzQtWCRCQmsxQVlQbyhfNXAhVTkxRS9jP1EqWkc8UixfOGVSTUUlQFRBPitJQkNrJmpWLTkyR203XHJSQC1VQktaJEE+T18yJWtuN0JWOUxbNDlKXzlVO1FvTi09aTAoN0ZsTWBBWiJeTTxzNU0vbFhsaGFTXlpdL2NxXGspRkdOaGpFWSxibEc/YFQ9J1UyLV5QUTNjMWJBMktZYlpFTzZcPF5kOUxOVG1nIi89LWhSZ3NFTU1jKjQ9XWZcfj4KK2VuZHN0cmVhbQorZW5kb2JqCis5NyAwIG9iagorPDwgL1R5cGUgL1BhZ2UKKy9QYXJlbnQgMSAwIFIKKy9NZWRpYUJveCBbIDAgMCA2MTIgNzkyIF0KKy9SZXNvdXJjZXMgMyAwIFIKKy9Db250ZW50cyA5NiAwIFIKKz4+CitlbmRvYmoKKzk4IDAgb2JqCis8PCAvTGVuZ3RoIDEyNDAgL0ZpbHRlciBbIC9BU0NJSTg1RGVjb2RlIC9GbGF0ZURlY29kZSBdCisgPj4KK3N0cmVhbQorR2F0bTtnTVliOCY6Ti8zZClxN1wsXC04JWdkTmhcajRYWj9fYWtePVdUbypbWF9hYEVXJTBAKzp1cExpOThfazBpbUxDMCNTT01mUkBWTV0xSFR0QylrQz84SjpuSTxaaDVeVERGWXJYbk8hQVAtdVIkSktwVyJML0dPU19PSlEjSmxYLFMzSSdVVl1sKVNPZjpHRFxFODB1LFsuMztKQTtTQy5xUytkO3NlUmgjOEMuU2IpZVFQRy80LU5IbVFWaEU6UyczN1U3dV9TaigsSSk3PHI2cCEzNThvJ00xSjg8ZFpITUlKQ0ItbFFbZ0RyKi5ubFcjRXQnVFYpb1heX0s9QURYQihuYisqckVEUi1yaG1fXW1qMnFVKEtiW3A7TFdAXEIxLjUia0hYXHVWblMsKEAzVz0lTkY6RGdSKlBPb2xqcGFzUDVLXiJQMUcuTCZWRmFYPTk4YC45QVAyUUB0YmtQMztEPGdeU3AqNU9xRi1kVUlGWy4sM1MzNjNFWVQ4UjcxMDFFRT9Waj09bXIpZlwrMCMsYUlkZVxCK2cuYyxRTWZzZFUyb3EmP2AsXUsxTTwzUjFIMXEwblJOMXA1XUQkZS5uTzRqVlpGN1xob19oSEpQU1xPOFxvTSpDPi5hVXJxViMpNCYqQ21XaFAxPCdQblFgOmNCU0NcMFguXmlyWSI2aEo3dCxEVi1iSlwmP0BeRC1DOS5UNkBgTXQoZmBkXGFyVmxvP1knIVxVbUdUMTtmXy9sIio4clppXFVdYCoqZGdKcExvOW42cXJKXkldTiU6NmBAIjI/NnVTUmc4VShgZixVMzs1VyhoUUNSNWdtb0E9WC1pV3AjPk1LNj5SWV9ScCxdXiQjTU9FKkxWP28tMExdR1AvNEcrJFkhcDY8NC8oKTtvQD8rN0gtO0snJjE/KDEydG5SQSlOOkxjTj5PKCc1aHBoZydOTl0wKkYjMCkkIVhbUT4jOzNPOjZjQSlfR3EzcyM6LztqIVJlTWNAJVgsYy1yLD82Qkw+b1E7REhpazkxZWdVLWBUc0lKKG1yNWM8Qi4xR204S2NvPFA5NG5CIkBkaEcmZk9GJEBMcy8lLGZIY0NIMEYvK2RPX18hUSxmNTBPKlVpcChBWUUqIS1jaVglclItQj5NSlIjMUphcD5FWD1NcFYxIUphIkdQbFpIMDxzaXBTUSNNU1MuaFopaDlBcDoqbUcwaGpNQklgYzJNTzlMMjRgJzJraVxMYF84Ni4laztkO1BGa11wa15LJCY/UU1dKXBbWyYyVio+ODZuMDA/JicqTSRcRnJ0VWZscEw3TSV1Jk1eJUBkaWNALHMiQ1lnQjVcdTwrdFQ6UyJkbTZzXG1LcDF1YEdnYC1PXHMlWz1SUWxIQ0tmQzFjVVA9QnVXU1VgaSE9JzhLPCVKLyw+am0/IyY5U3IpWUlSXHQhbDt1XUg5SkgiJ1BaYWdgN0FMXE4kUmV0Ums1OFtSQ0YhRTBYal5UUi4yLjxKKnVARmpfWFFyck9QckdNKWJTSzBQXlZ0K3ArTmxwI3M8V1NVSjBhLWEqTjcsTjsrYVFMMmYlQ1kuK0xDWXBGK0FTQU0+JmdXQ0JoanRrKkhkK15CWWRaWDxhMXI1SydBQiZNKCRQSGsoJ34+CitlbmRzdHJlYW0KK2VuZG9iagorOTkgMCBvYmoKKzw8IC9UeXBlIC9QYWdlCisvUGFyZW50IDEgMCBSCisvTWVkaWFCb3ggWyAwIDAgNjEyIDc5MiBdCisvUmVzb3VyY2VzIDMgMCBSCisvQ29udGVudHMgOTggMCBSCis+PgorZW5kb2JqCisxMDAgMCBvYmoKKzw8IC9MZW5ndGggMTE4OCAvRmlsdGVyIFsgL0FTQ0lJODVEZWNvZGUgL0ZsYXRlRGVjb2RlIF0KKyA+Pgorc3RyZWFtCitHYXQ9Kz8jUzFfJ1JlPDJuLnItalkySW4mam1mUipacDk3cy5gQ2IwLWVuc2UzMnM8alNLNklMI2s/Zl86QCo1bEdbKkw2V2QkO15JW2tjSmghclNMbHRXNDZpZSRKSWYvKSUzYl9ZPD0rKiErMlxFTW4kP1Q/NllxKUZIJzZASilcbl9BSGJyL1hpIUFSUU1XSDBPKkZiSTlqLzpJMXNXZ2pla241MV86bTosM3NZTSMzP1E/ZyNpNmRLJCU8JFZpRDZqRzZJWyo/XmApSDR0R0ljXm9APEJsTWBnSGxcVE5dTyg6ayI0PHBaZG4qVENLREVLQSwyQys0NDZaLSUwPk8kQGE1J0BPREBnPXBgW1hJTnE0aTlVPlJvNHNyJVxJXzZfQkNeOG5ZdXE0bD4mVTopV2c5QkFeXlFcL1wmVzoocSVQYjRAbnVqRUI9PDpgTy9kNz9gdGwjZGtRPzNBPlQ1QUNTQ0llNCc7aHIlWFNzZU8jLlQqIUAzckxuPEFZJSk7NnBndFkkSScjTlxlYV0hdW8paCplYFxQQyVfT19qKEJPRSY2YSlRQEIwNiNjPjhhaHBIYzImY2RRZW5kPk8tKU9qMjpdWmZLKkcqNV83TFolYEtGbjVZcCdrQFxRcFcscV5Rc2lYRzQsMWFdMWpDVTVTbUJsTi9WXmdyW005b11uTFUzSGRAMkQ8ck0zZWVCK1ZnbSVeX3VLXiNYT1xyITdeWTxhU2QiIiJwKSshaydzWF1Abz5TZV4/OmFsMlssQlxKdSRec3MsOWBGKjFFXSxsMzVkZSxOb0E0JjA3Sld0PTc2RXImRG48OmsrWTRrc1leJ0JOWEJdaj9nWyswdG9eX2YnRmpLWWdsIWNSKzpjWiE5WylURmNTQ29ERzJGVTQmYWJidFhuY0dPc0k6LCRLaD9aai8uZlRcTzA8K3VgZ290YjJRYT1QJ09FLD9SaFBuLTkra2RuNllrUmM+c0JeI1U4QTZMbj1sTUklQz4pLGw8QGhUOCNJI3IvZEAucnN1b1syPWRUTWVbSkBhTzhNRFQ9K19KI3I+JyRTNUdHYGBbIlBPO2VeYyJ1NkJWOys0PmUnXktNR2gxSDpDTmBEUi87UHE2SCYmPmE8KlRjLUUlb2trdV9UKWhGXGRFXSorRWlhSC1DRXRjXEdSYCNiTmoiTS1UaWo9YCllKSdCTzFIdUlYNWxEV1VNNklYJSZXSWInaWFWKi9aT0AwQ11gX25VPlJUWzI5XmBHSkApaSwkXmRdWjZZKzZHWnUrNVlGYTc/Tm1jYTdhIVdNRSlNRy86PGc6OzdeJD1wSGFtX19yVUA5P181PHE7UW5LcW5ESTxCXT1FWzByQWNIdG0oU1MmbyVcLEZURzVqKkZdLGFoOENoSnE4Yi9gamZHbEVkKjYuMmw3WFFWKzdgaEZcImZdakIiYDVKRG1tTDVQJHAiTmwvaypLMDdJZk5IUSJUIlY1Xz5LIzRVVl04cCgjWG0zWEhTZytrKGojP2I2NiY8cTxfLExoRFREXzdqYzU+MzQxVy5iI1tXR1lENTRAMz1ELWtbL2xqODV+PgorZW5kc3RyZWFtCitlbmRvYmoKKzEwMSAwIG9iagorPDwgL1R5cGUgL1BhZ2UKKy9QYXJlbnQgMSAwIFIKKy9NZWRpYUJveCBbIDAgMCA2MTIgNzkyIF0KKy9SZXNvdXJjZXMgMyAwIFIKKy9Db250ZW50cyAxMDAgMCBSCis+PgorZW5kb2JqCisxMDIgMCBvYmoKKzw8IC9MZW5ndGggMTI1MCAvRmlsdGVyIFsgL0FTQ0lJODVEZWNvZGUgL0ZsYXRlRGVjb2RlIF0KKyA+Pgorc3RyZWFtCitHYXQlIz5FQDVtJ1JvTVMjX1EvbSZZLSpINC0hSC89cEJraylCZmsnMDRaK2psWk9JMDhfNltMQiFwQG1eKmdEUEsmJHA6Pi9lZHRJUW1iVmwuYTI8RWlxTXNKOVsiRktRcnNtb2EkI0Y3aHJwOThKayJgL1EyJzcxdDIyJV49ImgrNzZqSiFsMElkLStsLlVzcEMkcHI+aHBhXTxWSV0rL2VAKWlcLFEwcXFSWC9LMFJCalxjQmU8OSxTXExQVDZXQlBpbTFJaSFXSWk1KGY9TlBrIVZWMDlZVGZ0ZSlcbDppKl9fXkRkNT4vTENCRUk+b1ImaDlHVT8ocTlnSjRHcHRAb1RSSktsVDNYZVleYC5CWlhLXWxlKyUyPDIpQ09hU1AmLyRxYyI+WGVJWCluLGktPXIoP2YrO1lEV2JBUkBhJ1YzTTAqOC9vPzYsbTNya3M8LXUlNCEoYGJZaiIpVyh1MU8+QkA1UDdlYHJScGozYU1EZjE6WSxKIy9Lcz8vWUJpKEE6OFE2XFxMZiczZEE0SzQjampbQT9AOlNMKXVbJ0ByRz1iKVlRU0s5MGk/TipUYkAlZWpRPlhCQlJDIighXWQ+LGlbUXU0My8jZFk3Q0BlJUoyRz4oZDkxQlUnYyJFJVw3I0dASyoqSV0yU2BRJVZ1VTBHVVRiWmhgRmM9Mm9qOi91NEMpPishSjkkX0AsVVV0bFM0YHIuZylwVyJRRU9LP2ZGLjFjVjU7b280NG10TFBuNy0nbTFOWCVnPkxIb0lyNTg3KURBODxPUS0+OmJEZ0stJVotPFRUXS9WPiU0SGtLbzVyYFcyOzMxXi4wS1JZXFhGZUVNPVQ2JTY+UjI/I1YsVm5BK2RxPSo3JHMyVixEVlg/WiRmLGwwLjgyTTpCXU9MTERxTExSNFsvYCVQVTIuVSYrP21NW1xHbEo+UV08KzdkaEs/JmImc2peRVgtSzgnZmxESCdwVElacUBbNiJucW84J09RT3AvcWIiKjxmVmAicDZwYTk/Y1A5M1A6KT9RMUFELGVJbV0jOE5lZShqbF1acFIxTGt1Zyp1XWVoPmQvLj1oTzVodEpDYXQ9dS1PRFZpUj8kcE4vSGJVY2xLXHNDKkFfNHFaKUcmY2RFUEAsXVRuJ008VTZWY0xbTmlkLGQnYz9oUEVpVXJzMkNKTS4qYWA8PCNNRkpTP0lJTj1QX2twYUNBV1hRVWx1PFYvYEFfW2gnKTcwOkcnUkJyYHIyRjtOS3ROYkFjRG81JWJCVEg4WHVjJEpEUDFiMWQ8NjQwX2tWWz5nclczM2pjU2opQTQqNiNxSD9vPD03KHBnWjFabTQ8TTRuYEw7KGorbjtsYThYM2cpYTYkLVYkKGZpNWhUZ2lDdVtubyxiNE9FJT03b2BkOkRUQTJrT19DUEdIVzJYLDIwTF1kaGM3RmlpNDQwcWpPRSpAQTpXXlJjQFUkXldYVk5nKS1lcTJmT21EcSImVCJna1NpcGJNYnM2LUY4VWM9b2ZIOF1ZUygjTFlrSihPXi5XV1hTOzxNXFVFKSk6Wj9wPT5HQi0/JShXNFE8OGY7Ojl1aCFqdFlbWG8yTyxqRzpPO1ctZzAsNztlOTVDXE5UMWskLVhePnRBKi1DVlVuZFBdckdtI0ZtQ29WI34+CitlbmRzdHJlYW0KK2VuZG9iagorMTAzIDAgb2JqCis8PCAvVHlwZSAvUGFnZQorL1BhcmVudCAxIDAgUgorL01lZGlhQm94IFsgMCAwIDYxMiA3OTIgXQorL1Jlc291cmNlcyAzIDAgUgorL0NvbnRlbnRzIDEwMiAwIFIKKz4+CitlbmRvYmoKKzEwNCAwIG9iagorPDwgL0xlbmd0aCAxMjAzIC9GaWx0ZXIgWyAvQVNDSUk4NURlY29kZSAvRmxhdGVEZWNvZGUgXQorID4+CitzdHJlYW0KK0dhdCUiZ01ZYjgmOk4vM1lWJDhSWHV0UGswNVsvNSxeK2RULisyLkEkQjdCSzxcYV01PDBzQyItY2omOFFEREhxXVRjXD0wTSNyXUI/amFnL0xIaDlPW2ZdaERtPmxGRF9uKC5fKkA1NEx1Q2lHcytmJCxDcVdXbjxLWU08JF9KOXBsIzZPXGtBQnAkV0NxQilBaCNdOnEvV09xZnJtNCNlbSNkTzJBZ0QrXUpaKFpIUiYnQ0gtPzNVKyljJEpfLS1nOW91STpNay1PTXQ/cFgqZl4hZ1wlWGxGK3VYZCVFLlpTdDxORGNMLTo3ZTRFQmZwUDYvckhoWnBNKDZca1NSaT0+IlZLcDFPIy0uWDkrSFFebV45JzBTVz1tOjM2MlRgRGYsbSQrbWNGKkMtO2JiVlkhbmhJaGtJcVBwcW8kS0I2YklMXUMlUSJXNGcxLl9zTjtiPURWcyxJIjY5WSdUOmBYTF1tT19HUSRoR2d0SGIvP2NIWlItQC5aU090ImludSYxSl4mVUFXImhiVE8sM19FIzZpIWUyYWBjODlHNEYiQkk2TjFkYU5KPHBUXCJCXCRlXVM/Yi1TQidvRS9SbCUiLFNnJnJraF1IOjcpOU1ScEF0clFCXSVhPl9bZyVtKWslPm5ocUo9QlYoVz1JZSRhNF0yUDRKYXJiQTQiPmRkY19xa0grUixsWk0sNk9jIU9dYmA6aHVuLVN1QURtQGpSK2cqLD8/Jjg7TmssOFoxU0Y1WWJzRGxwPF9zIXVvRlpRL0ZpXi9zRmQhZi1TPV5uQEpcMGI7PjhhYWFJbnNdYnQ/QVV1RkU2SSIuJCI+dDJiZlcvTDtoNjkiPmc4RlM7NSlTKkgjS1ttaVBZX1lgP21LPVI2XnE1aipOSCJUcj5dLyVFXiQ4RFRALCpTIyQpYyRxITZ0SGlFXVpgXW1LWGo9QVczTnRYUUVhbGkxRk8razVnN2BAP1suKVMtLUhdTVZhQidAM0xfXGslN1csWidYVTpiRW5EKHBnPnU0YjEqLTk6bElnZExuZFtlSC1KSmohIjcnLUUkUiViS19xUCdTXzlJSy1lTGg8b1ZTaEhKXlQkTShPR1MiUHBhTyNEJEg2LFEvPSl0VkY8XDVySSFSYVFTVDJpRFphKlpHRjpKcGg7OjdcJ2NLT1E3QkJNYjEhUG9gW085c2paOWsuImk5bUdqK1VuYCEyPDNDbnFAQ2wzYkdKYHBlOyxBcCVzMTsrXU0oOHBJPk8/KjQqTjIhPzJdMzw4SFZ0KGZAPWBdbEpYUUFUK0okJ0xacUV0RGJmZGlsJFUqdSNBJSNAaSstL1teUzdtZGduZzdwaDg2NyVHWlwrS1JbPDdUMitRSztSdGg/c049ZFtvaWZWKGZvQSRHMDRsdE5QbzJWW1tMV1lNO1k1UktAKC9oZSczYTlWLVpfKl80KjcnXjNSOy5JdDRTdFE3bTlNOmpzMGMhUUs0WjdRK3VadVc3UF0zbEgwYFFvUD82bT1RXUlOVyJFS2YjZS1eYk1LQmY9QilMPyYlblwxckE6VClDW20xN01jbVc8WWxKV25ZaSpmISRQQVQtZnBBVXJubH4+CitlbmRzdHJlYW0KK2VuZG9iagorMTA1IDAgb2JqCis8PCAvVHlwZSAvUGFnZQorL1BhcmVudCAxIDAgUgorL01lZGlhQm94IFsgMCAwIDYxMiA3OTIgXQorL1Jlc291cmNlcyAzIDAgUgorL0NvbnRlbnRzIDEwNCAwIFIKKz4+CitlbmRvYmoKKzEwNiAwIG9iagorPDwgL0xlbmd0aCAxMzI2IC9GaWx0ZXIgWyAvQVNDSUk4NURlY29kZSAvRmxhdGVEZWNvZGUgXQorID4+CitzdHJlYW0KK0dhdFUzPkFyN1MnUm9lW2NqWGBzXiVkNnA4UHJaWCFHYFhMKkozVmpwRi1GVjlyOzMpMTZrRk8xM0Q/JSspK1JnNC9DPjcjUz4ma2NaYTlhXGBpLXFGTTxQbk11XC5Ib2EjaTQmYl89X19dRmhjRmldW1UqLixsMkc8NzZzcCVwNjkuJlBpYDVbJVc7ZDZIbjQxT2tFbDlZRU4rcT0+MWxUYDBfSks8WlY6UDw6TUhHUzlKTWhVaDspPD5cTFBXMTNpNyU7Tj8+T15iRjtUKFdFaCovWFBsKnNWZklUL1lhTyciUS5SQmY1OEdEOCsqUGxJQ1pjXVRkLThiMmhcWkYkNiojRjdAW0lVT3MxZWJcI2o5N2NkMydfYmFoUyFeWT1EWEBqXnFIVlk+NlFbSm9ZMz9AQU1HPzdpVUYicjZlS11IS2ViUmsjOzpZZkNqImxKVjlCNFpkTidTdTpmKD5KXW9jJSlfKTE3KCEpQiJUXkxoLTFRVXEyXnJWPHNFPWdjTUckLVptNlRcQVRFI10pclhDQiRSYy81azNJUlVUMERxbylLKVxtSVlYT2s0XyMwbW0oYmgzOi5WJXMuPj5qPWlrRVdJXW9GSyNbI2JmbVhLazFkaWY/WVdeRSIucm1GInM1ZVUhUUwqNllVRkNsQyY1OytIQEE+MyhybmVoaiJNOl0/dSNyRiRwUU1xLlMjZyIwQyw+Ym5kK1gxXjAhTmROX3BAMFhaZElyYl1IQC8pTzlPW11iMkJBL3JoKGhxJ0FJcWEiYUBhNipCVkAvWCoxZ0Y7dEQmJF9eM2RfNjVnMzxqSmdJZzcsVEdLY1RxK1U1SUkpdSMlUyZxSSwvVFFyND5zMTlZXTFgO0xscjgyJk1FVVRpS0A1O0khPGdILVBKcG8yTTYzPzk3UHRbK1Q1OU4lIlZCWHEqVVFIWi82T0sjWVVXTjJPYmEqW3E7J2czMzcsK19hUCkpdUU8cU8iRDNFI05cXzEvSlBhY2RBZk1YVFFxSHBSc0hNcWZfVikwZTtfQkNjK2hvUkEmOD9tMkVXajheWyo0RlVpJEEoRlBgKWVLR2ZoaUZXRmNsWiwmJFQpJ2xCJm4sQCxCIjIoRnNKSj07Rj1XZVksPktLZzg+UU5mN21IXTx1bidEZjopbUxFVlQ8R1xmbkRHbU4zOlNFTiotXk9JKW5TdDY0NycpT3MjK1s3MUBdLjJLaUBJJ3MoPiwwQlpeQGBMY2lTYlIuXGBUQCwsIVpCJE5bTW5KKEkhZllULkYxJ08rPFskKGppPl1oLTVVJSosODssPlhiYXBBZSliQ1ZwJzQjQygzOTgsRFpjNSgibGldaTNkZlc0YWE8KU5yXzdmInFGTT5VOipgWCVCVHBWQ0M6P1RsUFhcI2U+XzYobDJ0Si5TXi02Wj09WTc5Zz42b2lnR25LbGhrb0NONy9hYFxeV2FZdDtzKS9ZZXBcdGY2ZiJvR244PUJvWXBkYjM7RDU9XFc2SkohQy1GS0EmQT8/N2ZnLlZYMWIiVHIpdERCQENENUlzN25jYWcpbi8zdT9QIXFYbjNkMFFGKkx0QlU0LDI7aHMrZGprP1AsZlIhT3NnZFFfPTVSI0JMLCswIUQ1PnFTV3MyJzVcQiEpPjcmZV8nTiMkQjgqb0RhIXI2b01VMFxaMG5CZlk8NTY9PENgU1ElSUdZQjZVYW5SQXBgXixdPUtEcyxlKik8YjonV3FsVm84O29bX1NmJmZnTzdyckdGVzo/Vn4+CitlbmRzdHJlYW0KK2VuZG9iagorMTA3IDAgb2JqCis8PCAvVHlwZSAvUGFnZQorL1BhcmVudCAxIDAgUgorL01lZGlhQm94IFsgMCAwIDYxMiA3OTIgXQorL1Jlc291cmNlcyAzIDAgUgorL0NvbnRlbnRzIDEwNiAwIFIKKz4+CitlbmRvYmoKKzEwOCAwIG9iagorPDwgL0xlbmd0aCA4MTcgL0ZpbHRlciBbIC9BU0NJSTg1RGVjb2RlIC9GbGF0ZURlY29kZSBdCisgPj4KK3N0cmVhbQorR2F0JSE/I3VNWSdSZWtHXy4sNmEmLmhoLT5Pc15ILWdlOF1WcGZAWCYkMVtBJTRiWlxCX3ExVWQzcio5VnJORE00UWZ1OyJZUS8razJKOSUoZFM7UUkiT1xoXyNXLW4iJixadEBoXzBKS0NmL1hTXC4saWs2KSRPLChwIzo7RHM8NDBLdUBUSXNfdCxXLl42IUdybkEjOyRzKGY5KVk/bmpoY2hFJio/NEZbUUptcm9BTkMzQiEvZTouQkI8bzZyaFBCamwtK09IakFvaj1tQWs5YTQtLz5cKUpPUV0hQyQ0WyhncylYXzZcLVMyNlU7KXAmaWVpT2RNW1FTWUJdMm1wakpgSm9wb1pQMkpkTydWP1QkS1ljaUtpRCpjNDdoRVRnZ25aR0xBLSdHXCcjTG9CV1QhVG9qQS5XOVEvU05RXW5KYE9dQU5FSFhTOGonOmNlb0UrOWNHaWleVzxvckkqRks1UDhfMF0jST9JblthWi8nNEA+Zj1bQTFrQkdDV01dIWprRUQmUF4rXy4+JmJLbS41OzNxVEs/cHBWY1okQUdtKUdEPVE+Q2c5JE9FJzpralFXVmUuWVQ5RT1PNixQRDwvLilgT3InVms4UGFZQS9cbUVVNlQ6RVY6OVA5I1VlWVdmbkJVKWI6YilVQ1ovcyRbSCwyZDV0I1txXktTbDdVYGtdTTVnVCldLiRfRipcYC89VGIvbkRuISdzKStoWD4mPjRDWllhZ3NedCczZXJWblRoLj9ZUVxxOXNaRjQ0VFklNjRBNz9jK3FoajdUQmBUJz5HZCRdKWw0LVtLUjJZUFZTSl80L2pXOSRIWWZVJyhKVjUmXTBfP1A8PWVhZjwtNXMyRGdrR2FkMUdzOG5AOyk5MWQtNUNKIUYlWy8jRCgyMGxyNiZoYSxZZklvIjklYl9ZNGdYZjl1NWhAT0dKMVZDUnFTQ19WIT5NXCtlKyVIN0BFPl0odCU6VGAqLCwwYW4naFxvMixvTXVgXDlqNXIqOyFzQ0gzI25BUE5OR1xBcURKXXJvX3REWCVFZj5mQG5vQk9HbUxCZVpjYjBrMFBMQ1VSKVVJcH4+CitlbmRzdHJlYW0KK2VuZG9iagorMTA5IDAgb2JqCis8PCAvVHlwZSAvUGFnZQorL1BhcmVudCAxIDAgUgorL01lZGlhQm94IFsgMCAwIDYxMiA3OTIgXQorL1Jlc291cmNlcyAzIDAgUgorL0NvbnRlbnRzIDEwOCAwIFIKKy9Bbm5vdHMgMTEwIDAgUgorPj4KK2VuZG9iagorMTEwIDAgb2JqCitbCitdCitlbmRvYmoKKzExMyAwIG9iagorPDwKKyAvVGl0bGUgKFwzNzZcMzc3XDBcMTE0XDBcMTUxXDBcMTQyXDBcMTcwXDBcMTU1XDBcMTU0XDBcNDBcMFwxMjRcMFwxNjVcMFwxNjRcMFwxNTdcMFwxNjJcMFwxNTFcMFwxNDFcMFwxNTQpCisgL1BhcmVudCAxMTEgMCBSCisgL05leHQgMTE1IDAgUgorIC9BIDExMiAwIFIKKz4+IGVuZG9iagorMTE1IDAgb2JqCis8PAorIC9UaXRsZSAoXDM3NlwzNzdcMFwxMjRcMFwxNDFcMFwxNDJcMFwxNTRcMFwxNDVcMFw0MFwwXDE1N1wwXDE0NlwwXDQwXDBcMTAzXDBcMTU3XDBcMTU2XDBcMTY0XDBcMTQ1XDBcMTU2XDBcMTY0XDBcMTYzKQorIC9QYXJlbnQgMTExIDAgUgorIC9QcmV2IDExMyAwIFIKKyAvTmV4dCAxMTYgMCBSCisgL0EgMTE0IDAgUgorPj4gZW5kb2JqCisxMTYgMCBvYmoKKzw8CisgL1RpdGxlIChcMzc2XDM3N1wwXDExMVwwXDE1NlwwXDE2NFwwXDE2MlwwXDE1N1wwXDE0NFwwXDE2NVwwXDE0M1wwXDE2NFwwXDE1MVwwXDE1N1wwXDE1NikKKyAvUGFyZW50IDExMSAwIFIKKyAvUHJldiAxMTUgMCBSCisgL05leHQgMTE3IDAgUgorIC9BIDkgMCBSCis+PiBlbmRvYmoKKzExNyAwIG9iagorPDwKKyAvVGl0bGUgKFwzNzZcMzc3XDBcMTA0XDBcMTQxXDBcMTY0XDBcMTQxXDBcNDBcMFwxMjRcMFwxNzFcMFwxNjBcMFwxNDVcMFwxNjMpCisgL1BhcmVudCAxMTEgMCBSCisgL1ByZXYgMTE2IDAgUgorIC9OZXh0IDExOCAwIFIKKyAvQSAxMSAwIFIKKz4+IGVuZG9iagorMTE4IDAgb2JqCis8PAorIC9UaXRsZSAoXDM3NlwzNzdcMFwxMjBcMFwxNDFcMFwxNjJcMFwxNjNcMFwxNTFcMFwxNTZcMFwxNDdcMFw0MFwwXDE2NFwwXDE1MFwwXDE0NVwwXDQwXDBcMTQ2XDBcMTUxXDBcMTU0XDBcMTQ1KQorIC9QYXJlbnQgMTExIDAgUgorIC9QcmV2IDExNyAwIFIKKyAvTmV4dCAxMTkgMCBSCisgL0EgMTMgMCBSCis+PiBlbmRvYmoKKzExOSAwIG9iagorPDwKKyAvVGl0bGUgKFwzNzZcMzc3XDBcMTIyXDBcMTQ1XDBcMTY0XDBcMTYyXDBcMTUxXDBcMTQ1XDBcMTY2XDBcMTUxXDBcMTU2XDBcMTQ3XDBcNDBcMFwxMDVcMFwxNTRcMFwxNDVcMFwxNTVcMFwxNDVcMFwxNTZcMFwxNjRcMFw0MFwwXDEwM1wwXDE1N1wwXDE1NlwwXDE2NFwwXDE0NVwwXDE1NlwwXDE2NCkKKyAvUGFyZW50IDExMSAwIFIKKyAvUHJldiAxMTggMCBSCisgL05leHQgMTIwIDAgUgorIC9BIDE1IDAgUgorPj4gZW5kb2JqCisxMjAgMCBvYmoKKzw8CisgL1RpdGxlIChcMzc2XDM3N1wwXDEyNVwwXDE2M1wwXDE1MVwwXDE1NlwwXDE0N1wwXDQwXDBcMTMwXDBcMTIwXDBcMTQxXDBcMTY0XDBcMTUwXDBcNDBcMFwxNjRcMFwxNTdcMFw0MFwwXDEyMlwwXDE0NVwwXDE2NFwwXDE2MlwwXDE1MVwwXDE0NVwwXDE2NlwwXDE0NVwwXDQwXDBcMTA1XDBcMTU0XDBcMTQ1XDBcMTU1XDBcMTQ1XDBcMTU2XDBcMTY0XDBcNDBcMFwxMDNcMFwxNTdcMFwxNTZcMFwxNjRcMFwxNDVcMFwxNTZcMFwxNjQpCisgL1BhcmVudCAxMTEgMCBSCisgL1ByZXYgMTE5IDAgUgorIC9OZXh0IDEyMSAwIFIKKyAvQSAxNyAwIFIKKz4+IGVuZG9iagorMTIxIDAgb2JqCis8PAorIC9UaXRsZSAoXDM3NlwzNzdcMFwxMjdcMFwxNjJcMFwxNTFcMFwxNjRcMFwxNTFcMFwxNTZcMFwxNDdcMFw0MFwwXDE0NVwwXDE1NFwwXDE0NVwwXDE1NVwwXDE0NVwwXDE1NlwwXDE2NFwwXDQwXDBcMTQzXDBcMTU3XDBcMTU2XDBcMTY0XDBcMTQ1XDBcMTU2XDBcMTY0KQorIC9QYXJlbnQgMTExIDAgUgorIC9QcmV2IDEyMCAwIFIKKyAvTmV4dCAxMjIgMCBSCisgL0EgMTkgMCBSCis+PiBlbmRvYmoKKzEyMiAwIG9iagorPDwKKyAvVGl0bGUgKFwzNzZcMzc3XDBcMTI3XDBcMTYyXDBcMTUxXDBcMTY0XDBcMTUxXDBcMTU2XDBcMTQ3XDBcNDBcMFwxMDFcMFwxNjRcMFwxNjRcMFwxNjJcMFwxNTFcMFwxNDJcMFwxNjVcMFwxNjRcMFwxNDUpCisgL1BhcmVudCAxMTEgMCBSCisgL1ByZXYgMTIxIDAgUgorIC9OZXh0IDEyMyAwIFIKKyAvQSAyMSAwIFIKKz4+IGVuZG9iagorMTIzIDAgb2JqCis8PAorIC9UaXRsZSAoXDM3NlwzNzdcMFwxMjJcMFwxNDVcMFwxNjRcMFwxNjJcMFwxNTFcMFwxNDVcMFwxNjZcMFwxNTFcMFwxNTZcMFwxNDdcMFw0MFwwXDEwMVwwXDE2NFwwXDE2NFwwXDE2MlwwXDE1MVwwXDE0MlwwXDE2NVwwXDE2NFwwXDE0NVwwXDE2MykKKyAvUGFyZW50IDExMSAwIFIKKyAvUHJldiAxMjIgMCBSCisgL05leHQgMTI0IDAgUgorIC9BIDIzIDAgUgorPj4gZW5kb2JqCisxMjQgMCBvYmoKKzw8CisgL1RpdGxlIChcMzc2XDM3N1wwXDEwNVwwXDE1NlwwXDE0M1wwXDE1N1wwXDE0NFwwXDE1MVwwXDE1NlwwXDE0N1wwXDQwXDBcMTAzXDBcMTU3XDBcMTU2XDBcMTY2XDBcMTQ1XDBcMTYyXDBcMTYzXDBcMTUxXDBcMTU3XDBcMTU2KQorIC9QYXJlbnQgMTExIDAgUgorIC9QcmV2IDEyMyAwIFIKKyAvTmV4dCAxMjUgMCBSCisgL0EgMjUgMCBSCis+PiBlbmRvYmoKKzEyNSAwIG9iagorPDwKKyAvVGl0bGUgKFwzNzZcMzc3XDBcMTAxXDBcNTZcMFwyNDBcMFwxMDNcMFwxNTdcMFwxNTVcMFwxNjBcMFwxNTFcMFwxNTRcMFwxNDFcMFwxNjRcMFwxNTFcMFwxNTdcMFwxNTYpCisgL1BhcmVudCAxMTEgMCBSCisgL1ByZXYgMTI0IDAgUgorIC9OZXh0IDEyNiAwIFIKKyAvQSAyNyAwIFIKKz4+IGVuZG9iagorMTI2IDAgb2JqCis8PAorIC9UaXRsZSAoXDM3NlwzNzdcMFwxMDJcMFw1NlwwXDI0MFwwXDEyM1wwXDE0MVwwXDE1NVwwXDE2MFwwXDE1NFwwXDE0NVwwXDQwXDBcMTA0XDBcMTU3XDBcMTQzXDBcMTY1XDBcMTU1XDBcMTQ1XDBcMTU2XDBcMTY0KQorIC9QYXJlbnQgMTExIDAgUgorIC9QcmV2IDEyNSAwIFIKKyAvTmV4dCAxMjcgMCBSCisgL0EgMjkgMCBSCis+PiBlbmRvYmoKKzEyNyAwIG9iagorPDwKKyAvVGl0bGUgKFwzNzZcMzc3XDBcMTAzXDBcNTZcMFwyNDBcMFwxMDNcMFwxNTdcMFwxNDRcMFwxNDVcMFw0MFwwXDE0NlwwXDE1N1wwXDE2MlwwXDQwXDBcMTEzXDBcMTQ1XDBcMTcxXDBcMTY3XDBcMTU3XDBcMTYyXDBcMTQ0XDBcNDBcMFwxMDVcMFwxNzBcMFwxNDFcMFwxNTVcMFwxNjBcMFwxNTRcMFwxNDUpCisgL1BhcmVudCAxMTEgMCBSCisgL1ByZXYgMTI2IDAgUgorIC9OZXh0IDEyOCAwIFIKKyAvQSAzMSAwIFIKKz4+IGVuZG9iagorMTI4IDAgb2JqCis8PAorIC9UaXRsZSAoXDM3NlwzNzdcMFwxMDRcMFw1NlwwXDI0MFwwXDEwM1wwXDE1N1wwXDE0NFwwXDE0NVwwXDQwXDBcMTQ2XDBcMTU3XDBcMTYyXDBcNDBcMFwxMzBcMFwxMjBcMFwxNDFcMFwxNjRcMFwxNTBcMFw0MFwwXDEwNVwwXDE3MFwwXDE0MVwwXDE1NVwwXDE2MFwwXDE1NFwwXDE0NSkKKyAvUGFyZW50IDExMSAwIFIKKyAvUHJldiAxMjcgMCBSCisgL05leHQgMTI5IDAgUgorIC9BIDMzIDAgUgorPj4gZW5kb2JqCisxMjkgMCBvYmoKKzw8CisgL1RpdGxlIChcMzc2XDM3N1wwXDEwNVwwXDU2XDBcMjQwXDBcMTAzXDBcMTU3XDBcMTQ0XDBcMTQ1XDBcNDBcMFwxNDZcMFwxNTdcMFwxNjJcMFw0MFwwXDEwMVwwXDE0NFwwXDE0NFwwXDQwXDBcMTEzXDBcMTQ1XDBcMTcxXDBcMTY3XDBcMTU3XDBcMTYyXDBcMTQ0XDBcNDBcMFwxMDVcMFwxNzBcMFwxNDFcMFwxNTVcMFwxNjBcMFwxNTRcMFwxNDUpCisgL1BhcmVudCAxMTEgMCBSCisgL1ByZXYgMTI4IDAgUgorIC9OZXh0IDEzMCAwIFIKKyAvQSAzNSAwIFIKKz4+IGVuZG9iagorMTMwIDAgb2JqCis8PAorIC9UaXRsZSAoXDM3NlwzNzdcMFwxMDZcMFw1NlwwXDI0MFwwXDEwM1wwXDE1N1wwXDE0NFwwXDE0NVwwXDQwXDBcMTQ2XDBcMTU3XDBcMTYyXDBcNDBcMFwxMDFcMFwxNDRcMFwxNDRcMFw0MFwwXDEwMVwwXDE2NFwwXDE2NFwwXDE2MlwwXDE1MVwwXDE0MlwwXDE2NVwwXDE2NFwwXDE0NVwwXDQwXDBcMTA1XDBcMTcwXDBcMTQxXDBcMTU1XDBcMTYwXDBcMTU0XDBcMTQ1KQorIC9QYXJlbnQgMTExIDAgUgorIC9QcmV2IDEyOSAwIFIKKyAvTmV4dCAxMzEgMCBSCisgL0EgMzcgMCBSCis+PiBlbmRvYmoKKzEzMSAwIG9iagorPDwKKyAvVGl0bGUgKFwzNzZcMzc3XDBcMTA3XDBcNTZcMFwyNDBcMFwxMDNcMFwxNTdcMFwxNDRcMFwxNDVcMFw0MFwwXDE0NlwwXDE1N1wwXDE2MlwwXDQwXDBcMTIyXDBcMTQ1XDBcMTY0XDBcMTYyXDBcMTUxXDBcMTQ1XDBcMTY2XDBcMTUxXDBcMTU2XDBcMTQ3XDBcNDBcMFwxMDFcMFwxNjRcMFwxNjRcMFwxNjJcMFwxNTFcMFwxNDJcMFwxNjVcMFwxNjRcMFwxNDVcMFw0MFwwXDEyNlwwXDE0MVwwXDE1NFwwXDE2NVwwXDE0NVwwXDQwXDBcMTA1XDBcMTcwXDBcMTQxXDBcMTU1XDBcMTYwXDBcMTU0XDBcMTQ1KQorIC9QYXJlbnQgMTExIDAgUgorIC9QcmV2IDEzMCAwIFIKKyAvTmV4dCAxMzIgMCBSCisgL0EgMzkgMCBSCis+PiBlbmRvYmoKKzEzMiAwIG9iagorPDwKKyAvVGl0bGUgKFwzNzZcMzc3XDBcMTEwXDBcNTZcMFwyNDBcMFwxMDNcMFwxNTdcMFwxNDRcMFwxNDVcMFw0MFwwXDE0NlwwXDE1N1wwXDE2MlwwXDQwXDBcMTA1XDBcMTU2XDBcMTQzXDBcMTU3XDBcMTQ0XDBcMTUxXDBcMTU2XDBcMTQ3XDBcNDBcMFwxMDNcMFwxNTdcMFwxNTZcMFwxNjZcMFwxNDVcMFwxNjJcMFwxNjNcMFwxNTFcMFwxNTdcMFwxNTZcMFw0MFwwXDEwNVwwXDE3MFwwXDE0MVwwXDE1NVwwXDE2MFwwXDE1NFwwXDE0NSkKKyAvUGFyZW50IDExMSAwIFIKKyAvUHJldiAxMzEgMCBSCisgL05leHQgMTMzIDAgUgorIC9BIDQxIDAgUgorPj4gZW5kb2JqCisxMzMgMCBvYmoKKzw8CisgL1RpdGxlIChcMzc2XDM3N1wwXDExMVwwXDU2XDBcMjQwXDBcMTAxXDBcMTQzXDBcMTUzXDBcMTU2XDBcMTU3XDBcMTY3XDBcMTU0XDBcMTQ1XDBcMTQ0XDBcMTQ3XDBcMTQ1XDBcMTU1XDBcMTQ1XDBcMTU2XDBcMTY0XDBcMTYzKQorIC9QYXJlbnQgMTExIDAgUgorIC9QcmV2IDEzMiAwIFIKKyAvTmV4dCAxMzUgMCBSCisgL0EgNDMgMCBSCis+PiBlbmRvYmoKKzEzNSAwIG9iagorPDwKKyAvVGl0bGUgKFwzNzZcMzc3XDBcMTExXDBcMTU2XDBcMTQ0XDBcMTQ1XDBcMTcwKQorIC9QYXJlbnQgMTExIDAgUgorIC9QcmV2IDEzMyAwIFIKKyAvQSAxMzQgMCBSCis+PiBlbmRvYmoKKzEzNiAwIG9iagorPDwgL1R5cGUgL0ZvbnQKKy9TdWJ0eXBlIC9UeXBlMQorL05hbWUgL0YzCisvQmFzZUZvbnQgL0hlbHZldGljYS1Cb2xkCisvRW5jb2RpbmcgL1dpbkFuc2lFbmNvZGluZyA+PgorZW5kb2JqCisxMzcgMCBvYmoKKzw8IC9UeXBlIC9Gb250CisvU3VidHlwZSAvVHlwZTEKKy9OYW1lIC9GMTQKKy9CYXNlRm9udCAvWmFwZkRpbmdiYXRzID4+CitlbmRvYmoKKzEzOCAwIG9iagorPDwgL1R5cGUgL0ZvbnQKKy9TdWJ0eXBlIC9UeXBlMQorL05hbWUgL0Y1CisvQmFzZUZvbnQgL1RpbWVzLVJvbWFuCisvRW5jb2RpbmcgL1dpbkFuc2lFbmNvZGluZyA+PgorZW5kb2JqCisxMzkgMCBvYmoKKzw8IC9UeXBlIC9Gb250CisvU3VidHlwZSAvVHlwZTEKKy9OYW1lIC9GNgorL0Jhc2VGb250IC9UaW1lcy1JdGFsaWMKKy9FbmNvZGluZyAvV2luQW5zaUVuY29kaW5nID4+CitlbmRvYmoKKzE0MCAwIG9iagorPDwgL1R5cGUgL0ZvbnQKKy9TdWJ0eXBlIC9UeXBlMQorL05hbWUgL0YxCisvQmFzZUZvbnQgL0hlbHZldGljYQorL0VuY29kaW5nIC9XaW5BbnNpRW5jb2RpbmcgPj4KK2VuZG9iagorMTQxIDAgb2JqCis8PCAvVHlwZSAvRm9udAorL1N1YnR5cGUgL1R5cGUxCisvTmFtZSAvRjkKKy9CYXNlRm9udCAvQ291cmllcgorL0VuY29kaW5nIC9XaW5BbnNpRW5jb2RpbmcgPj4KK2VuZG9iagorMTQyIDAgb2JqCis8PCAvVHlwZSAvRm9udAorL1N1YnR5cGUgL1R5cGUxCisvTmFtZSAvRjcKKy9CYXNlRm9udCAvVGltZXMtQm9sZAorL0VuY29kaW5nIC9XaW5BbnNpRW5jb2RpbmcgPj4KK2VuZG9iagorMSAwIG9iagorPDwgL1R5cGUgL1BhZ2VzCisvQ291bnQgMTcKKy9LaWRzIFs2IDAgUiA0NSAwIFIgNTkgMCBSIDY0IDAgUiA2OSAwIFIgNzUgMCBSIDgyIDAgUiA4OSAwIFIgOTMgMCBSIDk1IDAgUiA5NyAwIFIgOTkgMCBSIDEwMSAwIFIgMTAzIDAgUiAxMDUgMCBSIDEwNyAwIFIgMTA5IDAgUiBdID4+CitlbmRvYmoKKzIgMCBvYmoKKzw8IC9UeXBlIC9DYXRhbG9nCisvUGFnZXMgMSAwIFIKKyAvT3V0bGluZXMgMTExIDAgUgorIC9QYWdlTW9kZSAvVXNlT3V0bGluZXMKKyA+PgorZW5kb2JqCiszIDAgb2JqCis8PCAKKy9Gb250IDw8IC9GMyAxMzYgMCBSIC9GNSAxMzggMCBSIC9GMTQgMTM3IDAgUiAvRjEgMTQwIDAgUiAvRjYgMTM5IDAgUiAvRjkgMTQxIDAgUiAvRjcgMTQyIDAgUiA+PiAKKy9Qcm9jU2V0IFsgL1BERiAvSW1hZ2VDIC9UZXh0IF0gPj4gCitlbmRvYmoKKzkgMCBvYmoKKzw8CisvUyAvR29UbworL0QgWzQ1IDAgUiAvWFlaIDEzOS4wIDY5My4wIG51bGxdCis+PgorZW5kb2JqCisxMSAwIG9iagorPDwKKy9TIC9Hb1RvCisvRCBbNDUgMCBSIC9YWVogMTM5LjAgMzYzLjY3NCBudWxsXQorPj4KK2VuZG9iagorMTMgMCBvYmoKKzw8CisvUyAvR29UbworL0QgWzU5IDAgUiAvWFlaIDEzOS4wIDcyNS4wIG51bGxdCis+PgorZW5kb2JqCisxNSAwIG9iagorPDwKKy9TIC9Hb1RvCisvRCBbNTkgMCBSIC9YWVogMTM5LjAgMTczLjE4IG51bGxdCis+PgorZW5kb2JqCisxNyAwIG9iagorPDwKKy9TIC9Hb1RvCisvRCBbNjQgMCBSIC9YWVogMTM5LjAgMTU2LjY0NiBudWxsXQorPj4KK2VuZG9iagorMTkgMCBvYmoKKzw8CisvUyAvR29UbworL0QgWzc1IDAgUiAvWFlaIDEzOS4wIDY2Ny44NjYgbnVsbF0KKz4+CitlbmRvYmoKKzIxIDAgb2JqCis8PAorL1MgL0dvVG8KKy9EIFs3NSAwIFIgL1hZWiAxMzkuMCAyODEuMDggbnVsbF0KKz4+CitlbmRvYmoKKzIzIDAgb2JqCis8PAorL1MgL0dvVG8KKy9EIFs4MiAwIFIgL1hZWiAxMzkuMCA1MDguOTggbnVsbF0KKz4+CitlbmRvYmoKKzI1IDAgb2JqCis8PAorL1MgL0dvVG8KKy9EIFs4OSAwIFIgL1hZWiAxMzkuMCA3MjUuMCBudWxsXQorPj4KK2VuZG9iagorMjcgMCBvYmoKKzw8CisvUyAvR29UbworL0QgWzkzIDAgUiAvWFlaIDEzOS4wIDY0OC4wIG51bGxdCis+PgorZW5kb2JqCisyOSAwIG9iagorPDwKKy9TIC9Hb1RvCisvRCBbOTMgMCBSIC9YWVogMTM5LjAgNTY0LjU2MSBudWxsXQorPj4KK2VuZG9iagorMzEgMCBvYmoKKzw8CisvUyAvR29UbworL0QgWzkzIDAgUiAvWFlaIDEzOS4wIDM4Ni45NDIgbnVsbF0KKz4+CitlbmRvYmoKKzMzIDAgb2JqCis8PAorL1MgL0dvVG8KKy9EIFs5NSAwIFIgL1hZWiAxMzkuMCAxODIuNDIgbnVsbF0KKz4+CitlbmRvYmoKKzM1IDAgb2JqCis8PAorL1MgL0dvVG8KKy9EIFs5OSAwIFIgL1hZWiAxMzkuMCA2NjUuNTYgbnVsbF0KKz4+CitlbmRvYmoKKzM3IDAgb2JqCis8PAorL1MgL0dvVG8KKy9EIFsxMDEgMCBSIC9YWVogMTM5LjAgNDk3Ljk0IG51bGxdCis+PgorZW5kb2JqCiszOSAwIG9iagorPDwKKy9TIC9Hb1RvCisvRCBbMTAzIDAgUiAvWFlaIDEzOS4wIDQzOC43OCBudWxsXQorPj4KK2VuZG9iagorNDEgMCBvYmoKKzw8CisvUyAvR29UbworL0QgWzEwNSAwIFIgL1hZWiAxMzkuMCAyODEuMDIgbnVsbF0KKz4+CitlbmRvYmoKKzQzIDAgb2JqCis8PAorL1MgL0dvVG8KKy9EIFsxMDcgMCBSIC9YWVogMTM5LjAgMTEzLjQgbnVsbF0KKz4+CitlbmRvYmoKKzExMSAwIG9iagorPDwKKyAvRmlyc3QgMTEzIDAgUgorIC9MYXN0IDEzNSAwIFIKKz4+IGVuZG9iagorMTEyIDAgb2JqCis8PAorL1MgL0dvVG8KKy9EIFs2IDAgUiAvWFlaIDEzOS4wIDcyNS4wIG51bGxdCis+PgorZW5kb2JqCisxMTQgMCBvYmoKKzw8CisvUyAvR29UbworL0QgWzYgMCBSIC9YWVogMTM5LjAgMzk2LjExIG51bGxdCis+PgorZW5kb2JqCisxMzQgMCBvYmoKKzw8CisvUyAvR29UbworL0QgWzEwOSAwIFIgL1hZWiAxMzkuMCA2ODIuMCBudWxsXQorPj4KK2VuZG9iagoreHJlZgorMCAxNDMKKzAwMDAwMDAwMDAgNjU1MzUgZiAKKzAwMDAwNDY5MDMgMDAwMDAgbiAKKzAwMDAwNDcwNzkgMDAwMDAgbiAKKzAwMDAwNDcxNzIgMDAwMDAgbiAKKzAwMDAwMDAwMTUgMDAwMDAgbiAKKzAwMDAwMDAwNzEgMDAwMDAgbiAKKzAwMDAwMDE5MTEgMDAwMDAgbiAKKzAwMDAwMDIwMzEgMDAwMDAgbiAKKzAwMDAwMDIxNzUgMDAwMDAgbiAKKzAwMDAwNDczMjUgMDAwMDAgbiAKKzAwMDAwMDIzMDkgMDAwMDAgbiAKKzAwMDAwNDczODkgMDAwMDAgbiAKKzAwMDAwMDI0NDUgMDAwMDAgbiAKKzAwMDAwNDc0NTYgMDAwMDAgbiAKKzAwMDAwMDI1ODEgMDAwMDAgbiAKKzAwMDAwNDc1MjEgMDAwMDAgbiAKKzAwMDAwMDI3MTcgMDAwMDAgbiAKKzAwMDAwNDc1ODcgMDAwMDAgbiAKKzAwMDAwMDI4NTMgMDAwMDAgbiAKKzAwMDAwNDc2NTQgMDAwMDAgbiAKKzAwMDAwMDI5ODkgMDAwMDAgbiAKKzAwMDAwNDc3MjEgMDAwMDAgbiAKKzAwMDAwMDMxMjUgMDAwMDAgbiAKKzAwMDAwNDc3ODcgMDAwMDAgbiAKKzAwMDAwMDMyNjEgMDAwMDAgbiAKKzAwMDAwNDc4NTMgMDAwMDAgbiAKKzAwMDAwMDMzOTcgMDAwMDAgbiAKKzAwMDAwNDc5MTggMDAwMDAgbiAKKzAwMDAwMDM1MzMgMDAwMDAgbiAKKzAwMDAwNDc5ODMgMDAwMDAgbiAKKzAwMDAwMDM2NjkgMDAwMDAgbiAKKzAwMDAwNDgwNTAgMDAwMDAgbiAKKzAwMDAwMDM4MDQgMDAwMDAgbiAKKzAwMDAwNDgxMTcgMDAwMDAgbiAKKzAwMDAwMDM5NDAgMDAwMDAgbiAKKzAwMDAwNDgxODMgMDAwMDAgbiAKKzAwMDAwMDQwNzYgMDAwMDAgbiAKKzAwMDAwNDgyNDkgMDAwMDAgbiAKKzAwMDAwMDQyMTIgMDAwMDAgbiAKKzAwMDAwNDgzMTYgMDAwMDAgbiAKKzAwMDAwMDQzNDggMDAwMDAgbiAKKzAwMDAwNDgzODMgMDAwMDAgbiAKKzAwMDAwMDQ0ODQgMDAwMDAgbiAKKzAwMDAwNDg0NTAgMDAwMDAgbiAKKzAwMDAwMDQ2MjAgMDAwMDAgbiAKKzAwMDAwMDY2ODMgMDAwMDAgbiAKKzAwMDAwMDY4MDYgMDAwMDAgbiAKKzAwMDAwMDY5MDMgMDAwMDAgbiAKKzAwMDAwMDcwNzggMDAwMDAgbiAKKzAwMDAwMDcyNzEgMDAwMDAgbiAKKzAwMDAwMDc0NjkgMDAwMDAgbiAKKzAwMDAwMDc2NTkgMDAwMDAgbiAKKzAwMDAwMDc4NDYgMDAwMDAgbiAKKzAwMDAwMDgwNDQgMDAwMDAgbiAKKzAwMDAwMDgyNDYgMDAwMDAgbiAKKzAwMDAwMDg0NDggMDAwMDAgbiAKKzAwMDAwMDg2NDggMDAwMDAgbiAKKzAwMDAwMDg4NDcgMDAwMDAgbiAKKzAwMDAwMDkwNTIgMDAwMDAgbiAKKzAwMDAwMTE0MDAgMDAwMDAgbiAKKzAwMDAwMTE1MjMgMDAwMDAgbiAKKzAwMDAwMTE1NTcgMDAwMDAgbiAKKzAwMDAwMTE2OTMgMDAwMDAgbiAKKzAwMDAwMTE4ODQgMDAwMDAgbiAKKzAwMDAwMTQyMjMgMDAwMDAgbiAKKzAwMDAwMTQzNDYgMDAwMDAgbiAKKzAwMDAwMTQzODAgMDAwMDAgbiAKKzAwMDAwMTQ1ODAgMDAwMDAgbiAKKzAwMDAwMTQ3OTEgMDAwMDAgbiAKKzAwMDAwMTczMzIgMDAwMDAgbiAKKzAwMDAwMTc0NTUgMDAwMDAgbiAKKzAwMDAwMTc0OTYgMDAwMDAgbiAKKzAwMDAwMTc2ODUgMDAwMDAgbiAKKzAwMDAwMTc4NjMgMDAwMDAgbiAKKzAwMDAwMTgwMDAgMDAwMDAgbiAKKzAwMDAwMjA1NDQgMDAwMDAgbiAKKzAwMDAwMjA2NjcgMDAwMDAgbiAKKzAwMDAwMjA3MTUgMDAwMDAgbiAKKzAwMDAwMjA4NTAgMDAwMDAgbiAKKzAwMDAwMjEwNTggMDAwMDAgbiAKKzAwMDAwMjExOTcgMDAwMDAgbiAKKzAwMDAwMjEzMzMgMDAwMDAgbiAKKzAwMDAwMjM1ODIgMDAwMDAgbiAKKzAwMDAwMjM3MDUgMDAwMDAgbiAKKzAwMDAwMjM3NTMgMDAwMDAgbiAKKzAwMDAwMjM5NTkgMDAwMDAgbiAKKzAwMDAwMjQwOTggMDAwMDAgbiAKKzAwMDAwMjQyMzQgMDAwMDAgbiAKKzAwMDAwMjQ0MzkgMDAwMDAgbiAKKzAwMDAwMjc1OTQgMDAwMDAgbiAKKzAwMDAwMjc3MTcgMDAwMDAgbiAKKzAwMDAwMjc3NDQgMDAwMDAgbiAKKzAwMDAwMjc4NzggMDAwMDAgbiAKKzAwMDAwMzAwMTkgMDAwMDAgbiAKKzAwMDAwMzAxMjcgMDAwMDAgbiAKKzAwMDAwMzEzNjggMDAwMDAgbiAKKzAwMDAwMzE0NzYgMDAwMDAgbiAKKzAwMDAwMzI5MTIgMDAwMDAgbiAKKzAwMDAwMzMwMjAgMDAwMDAgbiAKKzAwMDAwMzQzNTMgMDAwMDAgbiAKKzAwMDAwMzQ0NjEgMDAwMDAgbiAKKzAwMDAwMzU3NDMgMDAwMDAgbiAKKzAwMDAwMzU4NTMgMDAwMDAgbiAKKzAwMDAwMzcxOTcgMDAwMDAgbiAKKzAwMDAwMzczMDcgMDAwMDAgbiAKKzAwMDAwMzg2MDQgMDAwMDAgbiAKKzAwMDAwMzg3MTQgMDAwMDAgbiAKKzAwMDAwNDAxMzQgMDAwMDAgbiAKKzAwMDAwNDAyNDQgMDAwMDAgbiAKKzAwMDAwNDExNTQgMDAwMDAgbiAKKzAwMDAwNDEyODAgMDAwMDAgbiAKKzAwMDAwNDg1MTYgMDAwMDAgbiAKKzAwMDAwNDg1NzAgMDAwMDAgbiAKKzAwMDAwNDEzMDEgMDAwMDAgbiAKKzAwMDAwNDg2MzUgMDAwMDAgbiAKKzAwMDAwNDE0NzYgMDAwMDAgbiAKKzAwMDAwNDE2NzcgMDAwMDAgbiAKKzAwMDAwNDE4NDggMDAwMDAgbiAKKzAwMDAwNDIwMDcgMDAwMDAgbiAKKzAwMDAwNDIyMDEgMDAwMDAgbiAKKzAwMDAwNDI0NTUgMDAwMDAgbiAKKzAwMDAwNDI3ODQgMDAwMDAgbiAKKzAwMDAwNDMwMjAgMDAwMDAgbiAKKzAwMDAwNDMyMjEgMDAwMDAgbiAKKzAwMDAwNDM0NDYgMDAwMDAgbiAKKzAwMDAwNDM2NTkgMDAwMDAgbiAKKzAwMDAwNDM4NDIgMDAwMDAgbiAKKzAwMDAwNDQwNDggMDAwMDAgbiAKKzAwMDAwNDQzMDYgMDAwMDAgbiAKKzAwMDAwNDQ1NTIgMDAwMDAgbiAKKzAwMDAwNDQ4MzMgMDAwMDAgbiAKKzAwMDAwNDUxMjYgMDAwMDAgbiAKKzAwMDAwNDU0OTYgMDAwMDAgbiAKKzAwMDAwNDU4MjUgMDAwMDAgbiAKKzAwMDAwNDg3MDEgMDAwMDAgbiAKKzAwMDAwNDYwMzggMDAwMDAgbiAKKzAwMDAwNDYxNTQgMDAwMDAgbiAKKzAwMDAwNDYyNjggMDAwMDAgbiAKKzAwMDAwNDYzNTQgMDAwMDAgbiAKKzAwMDAwNDY0NjUgMDAwMDAgbiAKKzAwMDAwNDY1NzcgMDAwMDAgbiAKKzAwMDAwNDY2ODYgMDAwMDAgbiAKKzAwMDAwNDY3OTMgMDAwMDAgbiAKK3RyYWlsZXIKKzw8CisvU2l6ZSAxNDMKKy9Sb290IDIgMCBSCisvSW5mbyA0IDAgUgorPj4KK3N0YXJ0eHJlZgorNDg3NjgKKyUlRU9GCmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy90dXRvcmlhbC94bWx0dXRvcmlhbC54bWwgYi9saWJ4bWwyL2RvYy90dXRvcmlhbC94bWx0dXRvcmlhbC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzhlZGVjYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL3R1dG9yaWFsL3htbHR1dG9yaWFsLnhtbApAQCAtMCwwICsxLDc0NyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IURPQ1RZUEUgYXJ0aWNsZSBQVUJMSUMgIi0vL09BU0lTLy9EVEQgRG9jQm9vayBYTUwgVjQuMi8vRU4iCisgICAgImh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvZG9jYm9vay94bWwvNC4yL2RvY2Jvb2t4LmR0ZCIgWworPCFFTlRJVFkgS0VZV09SRCBTWVNURU0gImluY2x1ZGVrZXl3b3JkLmMiPgorPCFFTlRJVFkgWFBBVEggU1lTVEVNICJpbmNsdWRleHBhdGguYyI+Cis8IUVOVElUWSBTVE9SWSBTWVNURU0gImluY2x1ZGVzdG9yeS54bWwiPgorPCFFTlRJVFkgQURES0VZV09SRCBTWVNURU0gImluY2x1ZGVhZGRrZXl3b3JkLmMiPgorPCFFTlRJVFkgQUREQVRUUklCVVRFIFNZU1RFTSAiaW5jbHVkZWFkZGF0dHJpYnV0ZS5jIj4KKzwhRU5USVRZIEdFVEFUVFJJQlVURSBTWVNURU0gImluY2x1ZGVnZXRhdHRyaWJ1dGUuYyI+Cis8IUVOVElUWSBDT05WRVJUIFNZU1RFTSAiaW5jbHVkZWNvbnZlcnQuYyI+CitdPgorPGFydGljbGUgbGFuZz0iZW4iPgorICA8YXJ0aWNsZWluZm8+CisgICAgPHRpdGxlPkxpYnhtbCBUdXRvcmlhbDwvdGl0bGU+CisgICAgPGF1dGhvcj4KKyAgICAgIDxmaXJzdG5hbWU+Sm9objwvZmlyc3RuYW1lPgorICAgICAgPHN1cm5hbWU+RmxlY2s8L3N1cm5hbWU+CisgICAgICA8ZW1haWw+amZsZWNrQGlua3N0YWluLm5ldDwvZW1haWw+CisgICAgPC9hdXRob3I+CisgICAgPGNvcHlyaWdodD4KKyAgICAgIDx5ZWFyPjIwMDIsIDIwMDM8L3llYXI+CisgICAgICA8aG9sZGVyPkpvaG4gRmxlY2s8L2hvbGRlcj4KKyAgICA8L2NvcHlyaWdodD4KKyAgICA8cmV2aGlzdG9yeT4KKyAgICAgIDxyZXZpc2lvbj4KKwk8cmV2bnVtYmVyPjE8L3Jldm51bWJlcj4KKwk8ZGF0ZT5KdW5lIDQsIDIwMDI8L2RhdGU+CisJPHJldnJlbWFyaz5Jbml0aWFsIGRyYWZ0PC9yZXZyZW1hcms+CisgICAgICA8L3JldmlzaW9uPgorICAgICAgPHJldmlzaW9uPgorCTxyZXZudW1iZXI+MjwvcmV2bnVtYmVyPgorCTxkYXRlPkp1bmUgMTIsIDIwMDI8L2RhdGU+CisJPHJldnJlbWFyaz5yZXRyaWV2aW5nIGF0dHJpYnV0ZSB2YWx1ZSBhZGRlZDwvcmV2cmVtYXJrPgorICAgICAgPC9yZXZpc2lvbj4KKyAgICAgIDxyZXZpc2lvbj4KKwk8cmV2bnVtYmVyPjM8L3Jldm51bWJlcj4KKwk8ZGF0ZT5BdWcuIDMxLCAyMDAyPC9kYXRlPgorCTxyZXZyZW1hcms+ZnJlZWluZyBtZW1vcnkgZml4PC9yZXZyZW1hcms+CisgICAgICA8L3JldmlzaW9uPgorICAgICAgPHJldmlzaW9uPgorCTxyZXZudW1iZXI+NDwvcmV2bnVtYmVyPgorCTxkYXRlPk5vdi4gMTAsIDIwMDI8L2RhdGU+CisJPHJldnJlbWFyaz5lbmNvZGluZyBkaXNjdXNzaW9uIGFkZGVkPC9yZXZyZW1hcms+CisgICAgICA8L3JldmlzaW9uPgorICAgICAgPHJldmlzaW9uPgorCTxyZXZudW1iZXI+NTwvcmV2bnVtYmVyPgorCTxkYXRlPkRlYy4gMTUsIDIwMDI8L2RhdGU+CisJPHJldnJlbWFyaz5tb3JlIG1lbW9yeSBmcmVlaW5nIGNoYW5nZXM8L3JldnJlbWFyaz4KKyAgICAgIDwvcmV2aXNpb24+CisgICAgICA8cmV2aXNpb24+CisJPHJldm51bWJlcj42PC9yZXZudW1iZXI+CisJPGRhdGU+SmFuLiAyNi4gMjAwMzwvZGF0ZT4KKwk8cmV2cmVtYXJrPmFkZCBpbmRleDwvcmV2cmVtYXJrPgorICAgICAgPC9yZXZpc2lvbj4KKyAgICAgIDxyZXZpc2lvbj4KKwk8cmV2bnVtYmVyPjc8L3Jldm51bWJlcj4KKwk8ZGF0ZT5BcHJpbCAyNSwgMjAwMzwvZGF0ZT4KKwk8cmV2cmVtYXJrPmFkZCBjb21waWxhdGlvbiBhcHBlbmRpeDwvcmV2cmVtYXJrPgorICAgICAgPC9yZXZpc2lvbj4KKyAgICAgIDxyZXZpc2lvbj4KKwk8cmV2bnVtYmVyPjg8L3Jldm51bWJlcj4KKwk8ZGF0ZT5KdWx5IDI0LCAyMDAzPC9kYXRlPgorCTxyZXZyZW1hcms+YWRkIFhQYXRoIGV4YW1wbGU8L3JldnJlbWFyaz4KKyAgICAgIDwvcmV2aXNpb24+CisgICAgICA8cmV2aXNpb24+CisJPHJldm51bWJlcj45PC9yZXZudW1iZXI+CisJPGRhdGU+RmViLiAxNCwgMjAwNDwvZGF0ZT4KKwk8cmV2cmVtYXJrPkZpeCBidWcgaW4gWFBhdGggZXhhbXBsZTwvcmV2cmVtYXJrPgorICAgICAgPC9yZXZpc2lvbj4KKyAgICAgIDxyZXZpc2lvbj4KKwk8cmV2bnVtYmVyPjc8L3Jldm51bWJlcj4KKwk8ZGF0ZT5BdWcuIDI0LCAyMDA0PC9kYXRlPgorCTxyZXZyZW1hcms+Rml4IGFub3RoZXIgYnVnIGluIFhQYXRoIGV4YW1wbGU8L3JldnJlbWFyaz4KKyAgICAgIDwvcmV2aXNpb24+CisgICAgPC9yZXZoaXN0b3J5PgorICA8L2FydGljbGVpbmZvPgorICA8YWJzdHJhY3Q+CisgICAgPHBhcmE+TGlieG1sIGlzIGEgZnJlZWx5IGxpY2Vuc2VkIEMgbGFuZ3VhZ2UgbGlicmFyeSBmb3IgaGFuZGxpbmcKKyAgICA8YWNyb255bT5YTUw8L2Fjcm9ueW0+LCBwb3J0YWJsZSBhY3Jvc3MgYSBsYXJnZSBudW1iZXIgb2YgcGxhdGZvcm1zLiBUaGlzCisgICAgdHV0b3JpYWwgcHJvdmlkZXMgZXhhbXBsZXMgb2YgaXRzIGJhc2ljIGZ1bmN0aW9ucy48L3BhcmE+CisgIDwvYWJzdHJhY3Q+CisgIDxzZWN0MSBpZD0iaW50cm9kdWN0aW9uIj4KKyAgICA8dGl0bGU+SW50cm9kdWN0aW9uPC90aXRsZT4KKyAgICA8cGFyYT5MaWJ4bWwgaXMgYSBDIGxhbmd1YWdlIGxpYnJhcnkgaW1wbGVtZW50aW5nIGZ1bmN0aW9ucyBmb3IgcmVhZGluZywKKyAgICAgIGNyZWF0aW5nIGFuZCBtYW5pcHVsYXRpbmcgPGFjcm9ueW0+WE1MPC9hY3JvbnltPiBkYXRhLiBUaGlzIHR1dG9yaWFsCisgICAgcHJvdmlkZXMgZXhhbXBsZSBjb2RlIGFuZCBleHBsYW5hdGlvbnMgb2YgaXRzIGJhc2ljIGZ1bmN0aW9uYWxpdHkuPC9wYXJhPgorICAgIDxwYXJhPkxpYnhtbCBhbmQgbW9yZSBkZXRhaWxzIGFib3V0IGl0cyB1c2UgYXJlIGF2YWlsYWJsZSBvbiA8dWxpbmsKKwkJCQkJCQkJCXVybD0iaHR0cDovL3d3dy54bWxzb2Z0Lm9yZy8iPnRoZSBwcm9qZWN0IGhvbWUgcGFnZTwvdWxpbms+LiBJbmNsdWRlZCB0aGVyZSBpcyBjb21wbGV0ZSA8dWxpbmsgdXJsPSJodHRwOi8veG1sc29mdC5vcmcvaHRtbC9saWJ4bWwtbGliLmh0bWwiPgorCTxhY3JvbnltPkFQSTwvYWNyb255bT4gZG9jdW1lbnRhdGlvbjwvdWxpbms+LiBUaGlzIHR1dG9yaWFsIGlzIG5vdCBtZWFudAorICAgIHRvIHN1YnN0aXR1dGUgZm9yIHRoYXQgY29tcGxldGUgZG9jdW1lbnRhdGlvbiwgYnV0IHRvIGlsbHVzdHJhdGUgdGhlCisgICAgZnVuY3Rpb25zIG5lZWRlZCB0byB1c2UgdGhlIGxpYnJhcnkgdG8gcGVyZm9ybSBiYXNpYyBvcGVyYXRpb25zLgorPCEtLQorIExpbmtzIHRvCisgICAgICBvdGhlciByZXNvdXJjZXMgY2FuIGJlIGZvdW5kIGluIDx4cmVmIGxpbmtlbmQ9ImZ1cnRoZXJyZXNvdXJjZXMiIC8+LgorLS0+Cis8L3BhcmE+CisgICAgPHBhcmE+VGhlIHR1dG9yaWFsIGlzIGJhc2VkIG9uIGEgc2ltcGxlIDxhY3JvbnltPlhNTDwvYWNyb255bT4gYXBwbGljYXRpb24gSQorICAgIHVzZSBmb3IgYXJ0aWNsZXMgSSB3cml0ZS4gVGhlIGZvcm1hdCBpbmNsdWRlcyBtZXRhZGF0YSBhbmQgdGhlIGJvZHkKKyAgICBvZiB0aGUgYXJ0aWNsZS48L3BhcmE+CisgICAgPHBhcmE+VGhlIGV4YW1wbGUgY29kZSBpbiB0aGlzIHR1dG9yaWFsIGRlbW9uc3RyYXRlcyBob3cgdG86CisgICAgICA8aXRlbWl6ZWRsaXN0PgorCTxsaXN0aXRlbT4KKwkgIDxwYXJhPlBhcnNlIHRoZSBkb2N1bWVudC48L3BhcmE+CisJPC9saXN0aXRlbT4KKwk8bGlzdGl0ZW0+CisJICA8cGFyYT5FeHRyYWN0IHRoZSB0ZXh0IHdpdGhpbiBhIHNwZWNpZmllZCBlbGVtZW50LjwvcGFyYT4KKwk8L2xpc3RpdGVtPgorCTxsaXN0aXRlbT4KKwkgIDxwYXJhPkFkZCBhbiBlbGVtZW50IGFuZCBpdHMgY29udGVudC48L3BhcmE+CisJPC9saXN0aXRlbT4KKwk8bGlzdGl0ZW0+CisJICA8cGFyYT5BZGQgYW4gYXR0cmlidXRlLjwvcGFyYT4KKwk8L2xpc3RpdGVtPiAgICAgIAorCTxsaXN0aXRlbT4KKwkgIDxwYXJhPkV4dHJhY3QgdGhlIHZhbHVlIG9mIGFuIGF0dHJpYnV0ZS48L3BhcmE+CisJPC9saXN0aXRlbT4KKyAgICAgIDwvaXRlbWl6ZWRsaXN0PgorICAgIDwvcGFyYT4KKyAgICA8cGFyYT5GdWxsIGNvZGUgZm9yIHRoZSBleGFtcGxlcyBpcyBpbmNsdWRlZCBpbiB0aGUgYXBwZW5kaWNlcy48L3BhcmE+CisKKyAgPC9zZWN0MT4KKworICA8c2VjdDEgaWQ9InhtbHR1dG9yaWFsZGF0YXR5cGVzIj4KKyAgICA8dGl0bGU+RGF0YSBUeXBlczwvdGl0bGU+CisgICAgPHBhcmE+PGFwcGxpY2F0aW9uPkxpYnhtbDwvYXBwbGljYXRpb24+IGRlY2xhcmVzIGEgbnVtYmVyIG9mIGRhdGEgdHlwZXMgd2UKKyAgICB3aWxsIGVuY291bnRlciByZXBlYXRlZGx5LCBoaWRpbmcgdGhlIG1lc3N5IHN0dWZmIHNvIHlvdSBkbyBub3QgaGF2ZSB0byBkZWFsCisgICAgd2l0aCBpdCB1bmxlc3MgeW91IGhhdmUgc29tZSBzcGVjaWZpYyBuZWVkLjwvcGFyYT4KKyAgICA8cGFyYT4KKyAgICAgIDx2YXJpYWJsZWxpc3Q+CisJPHZhcmxpc3RlbnRyeT4KKwkgIDx0ZXJtPjxpbmRleHRlcm0+CisJICAgICAgPHByaW1hcnk+eG1sQ2hhcjwvcHJpbWFyeT4KKwkgICAgPC9pbmRleHRlcm0+Cis8dWxpbmsKKwkgIHVybD0iaHR0cDovL3htbHNvZnQub3JnL2h0bWwvbGlieG1sLXRyZWUuaHRtbCNYTUxDSEFSIj54bWxDaGFyPC91bGluaz48L3Rlcm0+CisJICA8bGlzdGl0ZW0+CisJICAgIDxwYXJhPkEgYmFzaWMgcmVwbGFjZW1lbnQgZm9yIGNoYXIsIGEgYnl0ZSBpbiBhIFVURi04IGVuY29kZWQKKwkgICAgc3RyaW5nLiBJZiB5b3VyIGRhdGEgdXNlcyBhbm90aGVyIGVuY29kaW5nLCBpdCBtdXN0IGJlIGNvbnZlcnRlZCB0bworCSAgICAgIFVURi04IGZvciB1c2Ugd2l0aCA8YXBwbGljYXRpb24+bGlieG1sJ3M8L2FwcGxpY2F0aW9uPgorCSAgICAgIGZ1bmN0aW9ucy4gTW9yZSBpbmZvcm1hdGlvbiBvbiBlbmNvZGluZyBpcyBhdmFpbGFibGUgb24gdGhlIDx1bGluaworCQl1cmw9Imh0dHA6Ly93d3cueG1sc29mdC5vcmcvZW5jb2RpbmcuaHRtbCI+PGFwcGxpY2F0aW9uPmxpYnhtbDwvYXBwbGljYXRpb24+IGVuY29kaW5nIHN1cHBvcnQgd2ViIHBhZ2U8L3VsaW5rPi48L3BhcmE+CisJICA8L2xpc3RpdGVtPgorCTwvdmFybGlzdGVudHJ5PgorCTx2YXJsaXN0ZW50cnk+CisJICA8dGVybT48aW5kZXh0ZXJtPgorCSAgICAgIDxwcmltYXJ5PnhtbERvYzwvcHJpbWFyeT4KKwkgICAgPC9pbmRleHRlcm0+CisJICAgIDx1bGluayB1cmw9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9odG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MRE9DIj54bWxEb2M8L3VsaW5rPjwvdGVybT4KKwkgIDxsaXN0aXRlbT4KKwkgICAgPHBhcmE+QSBzdHJ1Y3R1cmUgY29udGFpbmluZyB0aGUgdHJlZSBjcmVhdGVkIGJ5IGEgcGFyc2VkIGRvYy4gPHVsaW5rCisJICB1cmw9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9odG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MRE9DUFRSIj54bWxEb2NQdHI8L3VsaW5rPgorCSAgaXMgYSBwb2ludGVyIHRvIHRoZSBzdHJ1Y3R1cmUuPC9wYXJhPgorCSAgPC9saXN0aXRlbT4KKwk8L3Zhcmxpc3RlbnRyeT4KKwk8dmFybGlzdGVudHJ5PgorCSAgPHRlcm0+PGluZGV4dGVybT4KKwkgICAgICA8cHJpbWFyeT54bWxOb2RlUHRyPC9wcmltYXJ5PgorCSAgICA8L2luZGV4dGVybT4KKzx1bGluaworCSAgdXJsPSJodHRwOi8veG1sc29mdC5vcmcvaHRtbC9saWJ4bWwtdHJlZS5odG1sI1hNTE5PREVQVFIiPnhtbE5vZGVQdHI8L3VsaW5rPgorCSAgICBhbmQgPHVsaW5rIHVybD0iaHR0cDovL3htbHNvZnQub3JnL2h0bWwvbGlieG1sLXRyZWUuaHRtbCNYTUxOT0RFIj54bWxOb2RlPC91bGluaz48L3Rlcm0+CisJICA8bGlzdGl0ZW0+CisJICAgIDxwYXJhPkEgc3RydWN0dXJlIGNvbnRhaW5pbmcgYSBzaW5nbGUgbm9kZS4gPHVsaW5rCisJICB1cmw9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9odG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MTk9ERVBUUiI+eG1sTm9kZVB0cjwvdWxpbms+CisJICBpcyBhIHBvaW50ZXIgdG8gdGhlIHN0cnVjdHVyZSwgYW5kIGlzIHVzZWQgaW4gdHJhdmVyc2luZyB0aGUgZG9jdW1lbnQgdHJlZS48L3BhcmE+CisJICA8L2xpc3RpdGVtPgorCTwvdmFybGlzdGVudHJ5PgorICAgICAgPC92YXJpYWJsZWxpc3Q+CisgICAgPC9wYXJhPgorCisgIDwvc2VjdDE+CisKKyAgPHNlY3QxIGlkPSJ4bWx0dXRvcmlhbHBhcnNpbmciPgorICAgIDx0aXRsZT5QYXJzaW5nIHRoZSBmaWxlPC90aXRsZT4KKyAgICA8cGFyYT48aW5kZXh0ZXJtIGlkPSJmaWxlcGFyc2luZyIgY2xhc3M9InN0YXJ0b2ZyYW5nZSI+CisJPHByaW1hcnk+ZmlsZTwvcHJpbWFyeT4KKwk8c2Vjb25kYXJ5PnBhcnNpbmc8L3NlY29uZGFyeT4KKyAgICAgIDwvaW5kZXh0ZXJtPgorUGFyc2luZyB0aGUgZmlsZSByZXF1aXJlcyBvbmx5IHRoZSBuYW1lIG9mIHRoZSBmaWxlIGFuZCBhIHNpbmdsZQorICAgICAgZnVuY3Rpb24gY2FsbCwgcGx1cyBlcnJvciBjaGVja2luZy4gRnVsbCBjb2RlOiA8eHJlZgorICAgIGxpbmtlbmQ9ImtleXdvcmRhcHBlbmRpeCIgLz48L3BhcmE+CisgICAgPHBhcmE+CisgICAgPHByb2dyYW1saXN0aW5nPgorICAgICAgICA8Y28gaWQ9ImRlY2xhcmVkb2MiIC8+IHhtbERvY1B0ciBkb2M7CisJPGNvIGlkPSJkZWNsYXJlbm9kZSIgLz4geG1sTm9kZVB0ciBjdXI7CisKKwk8Y28gaWQ9InBhcnNlZmlsZSIgLz4gZG9jID0geG1sUGFyc2VGaWxlKGRvY25hbWUpOworCQorCTxjbyBpZD0iY2hlY2twYXJzZWVycm9yIiAvPiBpZiAoZG9jID09IE5VTEwgKSB7CisJCWZwcmludGYoc3RkZXJyLCJEb2N1bWVudCBub3QgcGFyc2VkIHN1Y2Nlc3NmdWxseS4gXG4iKTsKKwkJcmV0dXJuOworCX0KKworCTxjbyBpZD0iZ2V0cm9vdGVsZW1lbnQiIC8+IGN1ciA9IHhtbERvY0dldFJvb3RFbGVtZW50KGRvYyk7CisJCisJPGNvIGlkPSJjaGVja2VtcHR5ZXJyb3IiIC8+IGlmIChjdXIgPT0gTlVMTCkgeworCQlmcHJpbnRmKHN0ZGVyciwiZW1wdHkgZG9jdW1lbnRcbiIpOworCQl4bWxGcmVlRG9jKGRvYyk7CisJCXJldHVybjsKKwl9CisJCisJPGNvIGlkPSJjaGVja3Jvb3R0eXBlIiAvPiBpZiAoeG1sU3RyY21wKGN1ci0+bmFtZSwgKGNvbnN0IHhtbENoYXIgKikgInN0b3J5IikpIHsKKwkJZnByaW50ZihzdGRlcnIsImRvY3VtZW50IG9mIHRoZSB3cm9uZyB0eXBlLCByb290IG5vZGUgIT0gc3RvcnkiKTsKKwkJeG1sRnJlZURvYyhkb2MpOworCQlyZXR1cm47CisJfQorCisgICAgPC9wcm9ncmFtbGlzdGluZz4KKyAgICAgIDxjYWxsb3V0bGlzdD4KKwk8Y2FsbG91dCBhcmVhcmVmcz0iZGVjbGFyZWRvYyI+CisJICA8cGFyYT5EZWNsYXJlIHRoZSBwb2ludGVyIHRoYXQgd2lsbCBwb2ludCB0byB5b3VyIHBhcnNlZCBkb2N1bWVudC48L3BhcmE+CisJPC9jYWxsb3V0PgorCTxjYWxsb3V0IGFyZWFyZWZzPSJkZWNsYXJlbm9kZSI+CisJICA8cGFyYT5EZWNsYXJlIGEgbm9kZSBwb2ludGVyICh5b3UnbGwgbmVlZCB0aGlzIGluIG9yZGVyIHRvCisJICBpbnRlcmFjdCB3aXRoIGluZGl2aWR1YWwgbm9kZXMpLjwvcGFyYT4KKwk8L2NhbGxvdXQ+CisJPGNhbGxvdXQgYXJlYXJlZnM9ImNoZWNrcGFyc2VlcnJvciI+CisJICA8cGFyYT5DaGVjayB0byBzZWUgdGhhdCB0aGUgZG9jdW1lbnQgd2FzIHN1Y2Nlc3NmdWxseSBwYXJzZWQuIElmIGl0CisJICAgIHdhcyBub3QsIDxhcHBsaWNhdGlvbj5saWJ4bWw8L2FwcGxpY2F0aW9uPiB3aWxsIGF0IHRoaXMgcG9pbnQKKwkgICAgcmVnaXN0ZXIgYW4gZXJyb3IgYW5kIHN0b3AuIAorCSAgICA8bm90ZT4KKwkgICAgICA8cGFyYT48aW5kZXh0ZXJtPgorCQkgIDxwcmltYXJ5PmVuY29kaW5nPC9wcmltYXJ5PgorCQk8L2luZGV4dGVybT4KK09uZSBjb21tb24gZXhhbXBsZSBvZiBhbiBlcnJvciBhdCB0aGlzIHBvaW50IGlzIGltcHJvcGVyCisJICAgIGhhbmRsaW5nIG9mIGVuY29kaW5nLiBUaGUgPGFjcm9ueW0+WE1MPC9hY3JvbnltPiBzdGFuZGFyZCByZXF1aXJlcworCSAgICBkb2N1bWVudHMgc3RvcmVkIHdpdGggYW4gZW5jb2Rpbmcgb3RoZXIgdGhhbiBVVEYtOCBvciBVVEYtMTYgdG8KKwkgICAgY29udGFpbiBhbiBleHBsaWNpdCBkZWNsYXJhdGlvbiBvZiB0aGVpciBlbmNvZGluZy4gSWYgdGhlCisJICAgIGRlY2xhcmF0aW9uIGlzIHRoZXJlLCA8YXBwbGljYXRpb24+bGlieG1sPC9hcHBsaWNhdGlvbj4gd2lsbAorCSAgICBhdXRvbWF0aWNhbGx5IHBlcmZvcm0gdGhlIG5lY2Vzc2FyeSBjb252ZXJzaW9uIHRvIFVURi04IGZvcgorCQl5b3UuIE1vcmUgaW5mb3JtYXRpb24gb24gPGFjcm9ueW0+WE1MJ3M8L2Fjcm9ueW0+IGVuY29kaW5nCisJCXJlcXVpcmVtZW50cyBpcyBjb250YWluZWQgaW4gdGhlIDx1bGluaworCQkgIHVybD0iaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLXhtbCNjaGFyZW5jb2RpbmciPnN0YW5kYXJkPC91bGluaz4uPC9wYXJhPgorCSAgICA8L25vdGU+CisJICA8L3BhcmE+CisJPC9jYWxsb3V0PgorCTxjYWxsb3V0IGFyZWFyZWZzPSJnZXRyb290ZWxlbWVudCI+CisJICA8cGFyYT5SZXRyaWV2ZSB0aGUgZG9jdW1lbnQncyByb290IGVsZW1lbnQuPC9wYXJhPgorCTwvY2FsbG91dD4KKwk8Y2FsbG91dCBhcmVhcmVmcz0iY2hlY2tlbXB0eWVycm9yIj4KKwkgIDxwYXJhPkNoZWNrIHRvIG1ha2Ugc3VyZSB0aGUgZG9jdW1lbnQgYWN0dWFsbHkgY29udGFpbnMgc29tZXRoaW5nLjwvcGFyYT4KKwk8L2NhbGxvdXQ+CisJPGNhbGxvdXQgYXJlYXJlZnM9ImNoZWNrcm9vdHR5cGUiPgorCSAgPHBhcmE+SW4gb3VyIGNhc2UsIHdlIG5lZWQgdG8gbWFrZSBzdXJlIHRoZSBkb2N1bWVudCBpcyB0aGUgcmlnaHQKKwkgIHR5cGUuICZxdW90O3N0b3J5JnF1b3Q7IGlzIHRoZSByb290IHR5cGUgb2YgdGhlIGRvY3VtZW50cyB1c2VkIGluIHRoaXMKKwkgIHR1dG9yaWFsLjwvcGFyYT4KKwk8L2NhbGxvdXQ+CisgICAgICA8L2NhbGxvdXRsaXN0PgorICAgICAgPGluZGV4dGVybSBzdGFydHJlZj0iZmlsZXBhcnNpbmciIGNsYXNzPSJlbmRvZnJhbmdlIiAvPgorICAgIDwvcGFyYT4KKyAgPC9zZWN0MT4KKworICA8c2VjdDEgaWQ9InhtbHR1dG9yaWFsZ2V0dGV4dCI+CisgICAgPHRpdGxlPlJldHJpZXZpbmcgRWxlbWVudCBDb250ZW50PC90aXRsZT4KKyAgICA8cGFyYT48aW5kZXh0ZXJtPgorCTxwcmltYXJ5PmVsZW1lbnQ8L3ByaW1hcnk+CisJPHNlY29uZGFyeT5yZXRyaWV2aW5nIGNvbnRlbnQ8L3NlY29uZGFyeT4KKyAgICAgIDwvaW5kZXh0ZXJtPgorUmV0cmlldmluZyB0aGUgY29udGVudCBvZiBhbiBlbGVtZW50IGludm9sdmVzIHRyYXZlcnNpbmcgdGhlIGRvY3VtZW50CisgICAgdHJlZSB1bnRpbCB5b3UgZmluZCB3aGF0IHlvdSBhcmUgbG9va2luZyBmb3IuIEluIHRoaXMgY2FzZSwgd2UgYXJlIGxvb2tpbmcKKyAgICBmb3IgYW4gZWxlbWVudCBjYWxsZWQgJnF1b3Q7a2V5d29yZCZxdW90OyBjb250YWluZWQgd2l0aGluIGVsZW1lbnQgY2FsbGVkICZxdW90O3N0b3J5JnF1b3Q7LiBUaGUKKyAgICBwcm9jZXNzIHRvIGZpbmQgdGhlIG5vZGUgd2UgYXJlIGludGVyZXN0ZWQgaW4gaW52b2x2ZXMgdGVkaW91c2x5IHdhbGtpbmcgdGhlCisgICAgdHJlZS4gV2UgYXNzdW1lIHlvdSBhbHJlYWR5IGhhdmUgYW4geG1sRG9jUHRyIGNhbGxlZCA8dmFybmFtZT5kb2M8L3Zhcm5hbWU+CisgICAgYW5kIGFuIHhtbE5vZFB0ciBjYWxsZWQgPHZhcm5hbWU+Y3VyPC92YXJuYW1lPi48L3BhcmE+CisKKyAgICA8cGFyYT4KKyAgICAgIDxwcm9ncmFtbGlzdGluZz4KKwk8Y28gaWQ9ImdldGNoaWxkbm9kZSIgLz5jdXIgPSBjdXItPnhtbENoaWxkcmVuTm9kZTsKKwk8Y28gaWQ9Imh1bnRzdG9yeWluZm8iIC8+d2hpbGUgKGN1ciAhPSBOVUxMKSB7CisJCWlmICgoIXhtbFN0cmNtcChjdXItPm5hbWUsIChjb25zdCB4bWxDaGFyICopInN0b3J5aW5mbyIpKSl7CisJCQlwYXJzZVN0b3J5IChkb2MsIGN1cik7CisJCX0KKwkJIAorCWN1ciA9IGN1ci0+bmV4dDsKKwl9CisgICAgICA8L3Byb2dyYW1saXN0aW5nPgorCisgICAgICA8Y2FsbG91dGxpc3Q+CisJPGNhbGxvdXQgYXJlYXJlZnM9ImdldGNoaWxkbm9kZSI+CisJICA8cGFyYT5HZXQgdGhlIGZpcnN0IGNoaWxkIG5vZGUgb2YgPHZhcm5hbWU+Y3VyPC92YXJuYW1lPi4gQXQgdGhpcworCSAgICBwb2ludCwgPHZhcm5hbWU+Y3VyPC92YXJuYW1lPiBwb2ludHMgYXQgdGhlIGRvY3VtZW50IHJvb3QsIHdoaWNoIGlzCisJICAgIHRoZSBlbGVtZW50ICZxdW90O3N0b3J5JnF1b3Q7LjwvcGFyYT4KKwk8L2NhbGxvdXQ+CisJPGNhbGxvdXQgYXJlYXJlZnM9Imh1bnRzdG9yeWluZm8iPgorCSAgPHBhcmE+VGhpcyBsb29wIGl0ZXJhdGVzIHRocm91Z2ggdGhlIGVsZW1lbnRzIHRoYXQgYXJlIGNoaWxkcmVuIG9mCisJICAmcXVvdDtzdG9yeSZxdW90OywgbG9va2luZyBmb3Igb25lIGNhbGxlZCAmcXVvdDtzdG9yeWluZm8mcXVvdDsuIFRoYXQKKwkgIGlzIHRoZSBlbGVtZW50IHRoYXQgd2lsbCBjb250YWluIHRoZSAmcXVvdDtrZXl3b3JkcyZxdW90OyB3ZSBhcmUKKwkgICAgbG9va2luZyBmb3IuIEl0IHVzZXMgdGhlIDxhcHBsaWNhdGlvbj5saWJ4bWw8L2FwcGxpY2F0aW9uPiBzdHJpbmcKKwkgIGNvbXBhcmlzb24KKwkgICAgZnVuY3Rpb24sIDxmdW5jdGlvbj48dWxpbmsKKwkJCQkgICAgICAgdXJsPSJodHRwOi8veG1sc29mdC5vcmcvaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjWE1MU1RSQ01QIj54bWxTdHJjbXA8L3VsaW5rPjwvZnVuY3Rpb24+LiBJZiB0aGVyZSBpcyBhIG1hdGNoLCBpdCBjYWxscyB0aGUgZnVuY3Rpb24gPGZ1bmN0aW9uPnBhcnNlU3Rvcnk8L2Z1bmN0aW9uPi48L3BhcmE+CisJPC9jYWxsb3V0PgorICAgICAgPC9jYWxsb3V0bGlzdD4KKyAgICA8L3BhcmE+CisKKyAgICA8cGFyYT4KKyAgICAgIDxwcm9ncmFtbGlzdGluZz4KK3ZvaWQKK3BhcnNlU3RvcnkgKHhtbERvY1B0ciBkb2MsIHhtbE5vZGVQdHIgY3VyKSB7CisKKwl4bWxDaGFyICprZXk7CisJPGNvIGlkPSJhbm90aGVyZ2V0Y2hpbGQiIC8+IGN1ciA9IGN1ci0+eG1sQ2hpbGRyZW5Ob2RlOworCTxjbyBpZD0iZmluZGtleXdvcmQiIC8+IHdoaWxlIChjdXIgIT0gTlVMTCkgeworCSAgICBpZiAoKCF4bWxTdHJjbXAoY3VyLT5uYW1lLCAoY29uc3QgeG1sQ2hhciAqKSJrZXl3b3JkIikpKSB7CisJPGNvIGlkPSJmb3VuZGtleXdvcmQiIC8+CSAgICBrZXkgPSB4bWxOb2RlTGlzdEdldFN0cmluZyhkb2MsIGN1ci0+eG1sQ2hpbGRyZW5Ob2RlLCAxKTsKKwkJICAgIHByaW50Zigia2V5d29yZDogJXNcbiIsIGtleSk7CisJCSAgICB4bWxGcmVlKGtleSk7CisgCSAgICB9CisJY3VyID0gY3VyLT5uZXh0OworCX0KKyAgICByZXR1cm47Cit9CisgICAgICA8L3Byb2dyYW1saXN0aW5nPgorICAgICAgPGNhbGxvdXRsaXN0PgorCTxjYWxsb3V0IGFyZWFyZWZzPSJhbm90aGVyZ2V0Y2hpbGQiPgorCSAgPHBhcmE+QWdhaW4gd2UgZ2V0IHRoZSBmaXJzdCBjaGlsZCBub2RlLjwvcGFyYT4KKwk8L2NhbGxvdXQ+CisJPGNhbGxvdXQgYXJlYXJlZnM9ImZpbmRrZXl3b3JkIj4KKwkgIDxwYXJhPkxpa2UgdGhlIGxvb3AgYWJvdmUsIHdlIHRoZW4gaXRlcmF0ZSB0aHJvdWdoIHRoZSBub2RlcywgbG9va2luZworCSAgZm9yIG9uZSB0aGF0IG1hdGNoZXMgdGhlIGVsZW1lbnQgd2UncmUgaW50ZXJlc3RlZCBpbiwgaW4gdGhpcyBjYXNlCisJICAmcXVvdDtrZXl3b3JkJnF1b3Q7LjwvcGFyYT4KKwk8L2NhbGxvdXQ+CisJPGNhbGxvdXQgYXJlYXJlZnM9ImZvdW5ka2V5d29yZCI+CisJICA8cGFyYT5XaGVuIHdlIGZpbmQgdGhlICZxdW90O2tleXdvcmQmcXVvdDsgZWxlbWVudCwgd2UgbmVlZCB0byBwcmludAorCSAgICBpdHMgY29udGVudHMuIFJlbWVtYmVyIHRoYXQgaW4gPGFjcm9ueW0+WE1MPC9hY3JvbnltPiwgdGhlIHRleHQKKwkgICAgY29udGFpbmVkIHdpdGhpbiBhbiBlbGVtZW50IGlzIGEgY2hpbGQgbm9kZSBvZiB0aGF0IGVsZW1lbnQsIHNvIHdlCisJICAgIHR1cm4gdG8gPHZhcm5hbWU+Y3VyLSZndDt4bWxDaGlsZHJlbk5vZGU8L3Zhcm5hbWU+LiBUbyByZXRyaWV2ZSBpdCwgd2UKKwkgICAgdXNlIHRoZSBmdW5jdGlvbiA8ZnVuY3Rpb24+PHVsaW5rCisJCQkJCSAgICAgIHVybD0iaHR0cDovL3htbHNvZnQub3JnL2h0bWwvbGlieG1sLXRyZWUuaHRtbCNYTUxOT0RFTElTVEdFVFNUUklORyI+eG1sTm9kZUxpc3RHZXRTdHJpbmc8L3VsaW5rPjwvZnVuY3Rpb24+LCB3aGljaCBhbHNvIHRha2VzIHRoZSA8dmFybmFtZT5kb2M8L3Zhcm5hbWU+IHBvaW50ZXIgYXMgYW4gYXJndW1lbnQuIEluIHRoaXMgY2FzZSwgd2UganVzdCBwcmludCBpdCBvdXQuPC9wYXJhPgorCSAgPG5vdGU+CisJICAgIDxwYXJhPkJlY2F1c2UgPGZ1bmN0aW9uPnhtbE5vZGVMaXN0R2V0U3RyaW5nPC9mdW5jdGlvbj4gYWxsb2NhdGVzCisJICAgICAgbWVtb3J5IGZvciB0aGUgc3RyaW5nIGl0IHJldHVybnMsIHlvdSBtdXN0IHVzZQorCSAgICAgIDxmdW5jdGlvbj54bWxGcmVlPC9mdW5jdGlvbj4gdG8gZnJlZSBpdC48L3BhcmE+CisJICA8L25vdGU+CisJPC9jYWxsb3V0PgorICAgICAgPC9jYWxsb3V0bGlzdD4KKyAgICA8L3BhcmE+CisKKyAgPC9zZWN0MT4KKyAgPHNlY3QxIGlkPSJ4bWx0dXRvcmlhbHhwYXRoIj4KKyAgICA8dGl0bGU+VXNpbmcgWFBhdGggdG8gUmV0cmlldmUgRWxlbWVudCBDb250ZW50PC90aXRsZT4KKyAgICA8cGFyYT5JbiBhZGRpdGlvbiB0byB3YWxraW5nIHRoZSBkb2N1bWVudCB0cmVlIHRvIGZpbmQgYW4gZWxlbWVudCwKKyAgICA8YXBwbGljYXRpb24+TGlieG1sMjwvYXBwbGljYXRpb24+IGluY2x1ZGVzIHN1cHBvcnQgZm9yCisgICAgICB1c2Ugb2YgPGFwcGxpY2F0aW9uPlhQYXRoPC9hcHBsaWNhdGlvbj4gZXhwcmVzc2lvbnMgdG8gcmV0cmlldmUgc2V0cyBvZgorICAgICAgbm9kZXMgdGhhdCBtYXRjaCBhIHNwZWNpZmllZCBjcml0ZXJpYS4gRnVsbCBkb2N1bWVudGF0aW9uIG9mIHRoZQorICAgICAgPGFwcGxpY2F0aW9uPlhQYXRoPC9hcHBsaWNhdGlvbj4gPGFjcm9ueW0+QVBJPC9hY3JvbnltPiBpcyA8dWxpbmsKKwl1cmw9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9odG1sL2xpYnhtbC14cGF0aC5odG1sIj5oZXJlPC91bGluaz4uCisgICAgPC9wYXJhPgorICAgIDxwYXJhPjxhcHBsaWNhdGlvbj5YUGF0aDwvYXBwbGljYXRpb24+IGFsbG93cyBzZWFyY2hpbmcgdGhyb3VnaCBhIGRvY3VtZW50CisgICAgZm9yIG5vZGVzIHRoYXQgbWF0Y2ggc3BlY2lmaWVkIGNyaXRlcmlhLiBJbiB0aGUgZXhhbXBsZSBiZWxvdyB3ZSBzZWFyY2gKKyAgICAgIHRocm91Z2ggYSBkb2N1bWVudCBmb3IgdGhlIGNvbnRlbnRzIG9mIGFsbCA8dmFybmFtZT5rZXl3b3JkPC92YXJuYW1lPgorICAgIGVsZW1lbnRzLgorICAgICAgPG5vdGU+CisJPHBhcmE+QSBmdWxsIGRpc2N1c3Npb24gb2YgPGFwcGxpY2F0aW9uPlhQYXRoPC9hcHBsaWNhdGlvbj4gaXMgYmV5b25kCisJICB0aGUgc2NvcGUgb2YgdGhpcyBkb2N1bWVudC4gRm9yIGRldGFpbHMgb24gaXRzIHVzZSwgc2VlIHRoZSA8dWxpbmsKKwkgICAgdXJsPSJodHRwOi8vd3d3LnczLm9yZy9UUi94cGF0aCI+WFBhdGggc3BlY2lmaWNhdGlvbjwvdWxpbms+LjwvcGFyYT4KKyAgICAgIDwvbm90ZT4KKyAgICAgIEZ1bGwgY29kZSBmb3IgdGhpcyBleGFtcGxlIGlzIGF0IDx4cmVmIGxpbmtlbmQ9InhwYXRoYXBwZW5kaXgiIC8+LgorICAgIDwvcGFyYT4KKyAgICA8cGFyYT5Vc2luZyA8YXBwbGljYXRpb24+WFBhdGg8L2FwcGxpY2F0aW9uPiByZXF1aXJlcyBzZXR0aW5nIHVwIGFuCisgICAgICB4bWxYUGF0aENvbnRleHQgYW5kIHRoZW4gc3VwcGx5aW5nIHRoZSA8YXBwbGljYXRpb24+WFBhdGg8L2FwcGxpY2F0aW9uPgorICAgICAgZXhwcmVzc2lvbiBhbmQgdGhlIGNvbnRleHQgdG8gdGhlCisgICAgICA8ZnVuY3Rpb24+eG1sWFBhdGhFdmFsRXhwcmVzc2lvbjwvZnVuY3Rpb24+IGZ1bmN0aW9uLiBUaGUgZnVuY3Rpb24gcmV0dXJucworICAgICAgYW4geG1sWFBhdGhPYmplY3RQdHIsIHdoaWNoIGluY2x1ZGVzIHRoZSBzZXQgb2Ygbm9kZXMgc2F0aXNmeWluZyB0aGUKKyAgICAgIDxhcHBsaWNhdGlvbj5YUGF0aDwvYXBwbGljYXRpb24+IGV4cHJlc3Npb24uPC9wYXJhPgorICAgIDxwYXJhPgorICAgICAgPHByb2dyYW1saXN0aW5nPgorCXhtbFhQYXRoT2JqZWN0UHRyCisJZ2V0bm9kZXNldCAoeG1sRG9jUHRyIGRvYywgeG1sQ2hhciAqeHBhdGgpeworCQorCTxjbyBpZD0iY29jb250ZXh0IiAvPnhtbFhQYXRoQ29udGV4dFB0ciBjb250ZXh0OworCXhtbFhQYXRoT2JqZWN0UHRyIHJlc3VsdDsKKworCTxjbyBpZD0iY29jcmVhdGVjb250ZXh0IiAvPmNvbnRleHQgPSB4bWxYUGF0aE5ld0NvbnRleHQoZG9jKTsKKwk8Y28gaWQ9ImNvcnVueHBhdGgiIC8+cmVzdWx0ID0geG1sWFBhdGhFdmFsRXhwcmVzc2lvbih4cGF0aCwgY29udGV4dCk7CisJPGNvIGlkPSJjb2NoZWNreHBhdGhyZXN1bHQiIC8+aWYoeG1sWFBhdGhOb2RlU2V0SXNFbXB0eShyZXN1bHQtPm5vZGVzZXR2YWwpKXsKKwkJeG1sWFBhdGhGcmVlT2JqZWN0KHJlc3VsdCk7CisgICAgICAgICAgICAgICAgcHJpbnRmKCJObyByZXN1bHRcbiIpOworCQlyZXR1cm4gTlVMTDsKKyAgICAgIDwvcHJvZ3JhbWxpc3Rpbmc+CisgICAgICA8Y2FsbG91dGxpc3Q+CisJPGNhbGxvdXQgYXJlYXJlZnM9ImNvY29udGV4dCI+CisJICA8cGFyYT5GaXJzdCB3ZSBkZWNsYXJlIG91ciB2YXJpYWJsZXMuPC9wYXJhPgorCTwvY2FsbG91dD4KKwk8Y2FsbG91dCBhcmVhcmVmcz0iY29jcmVhdGVjb250ZXh0Ij4KKwkgIDxwYXJhPkluaXRpYWxpemUgdGhlIDx2YXJuYW1lPmNvbnRleHQ8L3Zhcm5hbWU+IHZhcmlhYmxlLjwvcGFyYT4KKwk8L2NhbGxvdXQ+CisJPGNhbGxvdXQgYXJlYXJlZnM9ImNvcnVueHBhdGgiPgorCSAgPHBhcmE+QXBwbHkgdGhlIDxhcHBsaWNhdGlvbj5YUGF0aDwvYXBwbGljYXRpb24+IGV4cHJlc3Npb24uPC9wYXJhPgorCTwvY2FsbG91dD4KKwk8Y2FsbG91dCBhcmVhcmVmcz0iY29jaGVja3hwYXRocmVzdWx0Ij4KKwkgIDxwYXJhPkNoZWNrIHRoZSByZXN1bHQgYW5kIGZyZWUgdGhlIG1lbW9yeSBhbGxvY2F0ZWQgdG8KKwkgICAgPHZhcm5hbWU+cmVzdWx0PC92YXJuYW1lPiBpZiBubyByZXN1bHQgaXMgZm91bmQuPC9wYXJhPgorCTwvY2FsbG91dD4KKyAgICAgIDwvY2FsbG91dGxpc3Q+CisgICAgPC9wYXJhPgorICAgIDxwYXJhPlRoZSB4bWxQYXRoT2JqZWN0UHRyIHJldHVybmVkIGJ5IHRoZSBmdW5jdGlvbiBjb250YWlucyBhIHNldCBvZiBub2RlcworICAgIGFuZCBvdGhlciBpbmZvcm1hdGlvbiBuZWVkZWQgdG8gaXRlcmF0ZSB0aHJvdWdoIHRoZSBzZXQgYW5kIGFjdCBvbiB0aGUKKyAgICAgIHJlc3VsdHMuIEZvciB0aGlzIGV4YW1wbGUsIG91ciBmdW5jdGlvbnMgcmV0dXJucyB0aGUKKyAgICA8dmFybmFtZT54bWxYUGF0aE9iamVjdFB0cjwvdmFybmFtZT4uIFdlIHVzZSBpdCB0byBwcmludCB0aGUgY29udGVudHMgb2YKKyAgICAgIDx2YXJuYW1lPmtleXdvcmQ8L3Zhcm5hbWU+IG5vZGVzIGluIG91ciBkb2N1bWVudC4gVGhlIG5vZGUgc2V0IG9iamVjdAorICAgICAgaW5jbHVkZXMgdGhlIG51bWJlciBvZiBlbGVtZW50cyBpbiB0aGUgc2V0ICg8dmFybmFtZT5ub2RlTnI8L3Zhcm5hbWU+KSBhbmQKKyAgICAgIGFuIGFycmF5IG9mIG5vZGVzICg8dmFybmFtZT5ub2RlVGFiPC92YXJuYW1lPik6CisgICAgICA8cHJvZ3JhbWxpc3Rpbmc+CisJPGNvIGlkPSJjb25vZGVzZXRjb3VudGVyIiAvPmZvciAoaT0wOyBpICZsdDsgbm9kZXNldC0+bm9kZU5yOyBpKyspIHsKKwk8Y28gaWQ9ImNvcHJpbnRrZXl3b3JkcyIgLz5rZXl3b3JkID0geG1sTm9kZUxpc3RHZXRTdHJpbmcoZG9jLCBub2Rlc2V0LT5ub2RlVGFiW2ldLT54bWxDaGlsZHJlbk5vZGUsIDEpOworCQlwcmludGYoImtleXdvcmQ6ICVzXG4iLCBrZXl3b3JkKTsKKwkgICAgICAgIHhtbEZyZWUoa2V5d29yZCk7CisJfQorICAgICAgPC9wcm9ncmFtbGlzdGluZz4KKyAgICAgIDxjYWxsb3V0bGlzdD4KKwk8Y2FsbG91dCBhcmVhcmVmcz0iY29ub2Rlc2V0Y291bnRlciI+CisJICA8cGFyYT5UaGUgdmFsdWUgb2YgPHZhcm5hbWU+bm9kZXNldC0+TnI8L3Zhcm5hbWU+IGhvbGRzIHRoZSBudW1iZXIgb2YKKwkgIGVsZW1lbnRzIGluIHRoZSBub2RlIHNldC4gSGVyZSB3ZSB1c2UgaXQgdG8gaXRlcmF0ZSB0aHJvdWdoIHRoZSBhcnJheS48L3BhcmE+CisJPC9jYWxsb3V0PgorCTxjYWxsb3V0IGFyZWFyZWZzPSJjb3ByaW50a2V5d29yZHMiPgorCSAgPHBhcmE+SGVyZSB3ZSBwcmludCB0aGUgY29udGVudHMgb2YgZWFjaCBvZiB0aGUgbm9kZXMgcmV0dXJuZWQuCisJICAgIDxub3RlPgorCSAgICAgIDxwYXJhPk5vdGUgdGhhdCB3ZSBhcmUgcHJpbnRpbmcgdGhlIGNoaWxkIG5vZGUgb2YgdGhlIG5vZGUgdGhhdCBpcworCQlyZXR1cm5lZCwgYmVjYXVzZSB0aGUgY29udGVudHMgb2YgdGhlIDx2YXJuYW1lPmtleXdvcmQ8L3Zhcm5hbWU+CisJCWVsZW1lbnQgYXJlIGEgY2hpbGQgdGV4dCBub2RlLjwvcGFyYT4KKwkgICAgPC9ub3RlPgorCSAgPC9wYXJhPgorCTwvY2FsbG91dD4KKyAgICAgIDwvY2FsbG91dGxpc3Q+CisgICAgPC9wYXJhPgorICA8L3NlY3QxPgorPHNlY3QxIGlkPSJ4bWx0dXRvcmlhbHdyaXRpbmdjb250ZW50Ij4KKyAgICA8dGl0bGU+V3JpdGluZyBlbGVtZW50IGNvbnRlbnQ8L3RpdGxlPgorICAgIDxwYXJhPjxpbmRleHRlcm0+CisJPHByaW1hcnk+ZWxlbWVudDwvcHJpbWFyeT4KKwk8c2Vjb25kYXJ5PndyaXRpbmcgY29udGVudDwvc2Vjb25kYXJ5PgorICAgICAgPC9pbmRleHRlcm0+CisgICAgICBXcml0aW5nIGVsZW1lbnQgY29udGVudCB1c2VzIG1hbnkgb2YgdGhlIHNhbWUgc3RlcHMgd2UgdXNlZCBhYm92ZQorICAgICAgJm1kYXNoOyBwYXJzaW5nIHRoZSBkb2N1bWVudCBhbmQgd2Fsa2luZyB0aGUgdHJlZS4gV2UgcGFyc2UgdGhlIGRvY3VtZW50LAorICAgICAgdGhlbiB0cmF2ZXJzZSB0aGUgdHJlZSB0byBmaW5kIHRoZSBwbGFjZSB3ZSB3YW50IHRvIGluc2VydCBvdXIgZWxlbWVudC4gRm9yCisgICAgICB0aGlzIGV4YW1wbGUsIHdlIHdhbnQgdG8gYWdhaW4gZmluZCB0aGUgJnF1b3Q7c3RvcnlpbmZvJnF1b3Q7IGVsZW1lbnQgYW5kCisgICAgICB0aGlzIHRpbWUgaW5zZXJ0IGEga2V5d29yZC4gVGhlbiB3ZSdsbCB3cml0ZSB0aGUgZmlsZSB0byBkaXNrLiBGdWxsIGNvZGU6CisgICAgICA8eHJlZiBsaW5rZW5kPSJhZGRrZXl3b3JkYXBwZW5kaXgiIC8+PC9wYXJhPgorICAgIDxwYXJhPgorICAgICAgVGhlIG1haW4gZGlmZmVyZW5jZSBpbiB0aGlzIGV4YW1wbGUgaXMgaW4KKyAgICAgIDxmdW5jdGlvbj5wYXJzZVN0b3J5PC9mdW5jdGlvbj46CisKKyAgICAgIDxwcm9ncmFtbGlzdGluZz4KK3ZvaWQKK3BhcnNlU3RvcnkgKHhtbERvY1B0ciBkb2MsIHhtbE5vZGVQdHIgY3VyLCBjaGFyICprZXl3b3JkKSB7CisKKwk8Y28gaWQ9ImFkZGtleXdvcmQiIC8+IHhtbE5ld1RleHRDaGlsZCAoY3VyLCBOVUxMLCAia2V5d29yZCIsIGtleXdvcmQpOworICAgIHJldHVybjsKK30KKyAgICAgIDwvcHJvZ3JhbWxpc3Rpbmc+CisgICAgICA8Y2FsbG91dGxpc3Q+CisJPGNhbGxvdXQgYXJlYXJlZnM9ImFkZGtleXdvcmQiPgorCSAgPHBhcmE+VGhlIDxmdW5jdGlvbj48dWxpbmsKKwkJCQkgICAgIHVybD0iaHR0cDovL3htbHNvZnQub3JnL2h0bWwvbGlieG1sLXRyZWUuaHRtbCNYTUxORVdURVhUQ0hJTEQiPnhtbE5ld1RleHRDaGlsZDwvdWxpbms+PC9mdW5jdGlvbj4KKwkJCQkgICAgIGZ1bmN0aW9uIGFkZHMgYSBuZXcgY2hpbGQgZWxlbWVudCBhdCB0aGUKKwkJCQkgICAgIGN1cnJlbnQgbm9kZSBwb2ludGVyJ3MgbG9jYXRpb24gaW4gdGhlCisJICAgIHRyZWUsIHNwZWNpZmllZCBieSA8dmFybmFtZT5jdXI8L3Zhcm5hbWU+LjwvcGFyYT4KKwk8L2NhbGxvdXQ+CisgICAgICA8L2NhbGxvdXRsaXN0PgorICAgICAgICAgPC9wYXJhPgorCisgICAgPHBhcmE+CisgICAgICA8aW5kZXh0ZXJtPgorCTxwcmltYXJ5PmZpbGU8L3ByaW1hcnk+CisJPHNlY29uZGFyeT5zYXZpbmc8L3NlY29uZGFyeT4KKyAgICAgIDwvaW5kZXh0ZXJtPgorICAgICAgT25jZSB0aGUgbm9kZSBoYXMgYmVlbiBhZGRlZCwgd2Ugd291bGQgbGlrZSB0byB3cml0ZSB0aGUgZG9jdW1lbnQgdG8KKyAgICAgIGZpbGUuIElzIHlvdSB3YW50IHRoZSBlbGVtZW50IHRvIGhhdmUgYSBuYW1lc3BhY2UsIHlvdSBjYW4gYWRkIGl0IGhlcmUgYXMKKyAgICAgIHdlbGwuIEluIG91ciBjYXNlLCB0aGUgbmFtZXNwYWNlIGlzIE5VTEwuCisgICAgICA8cHJvZ3JhbWxpc3Rpbmc+CisJeG1sU2F2ZUZvcm1hdEZpbGUgKGRvY25hbWUsIGRvYywgMSk7CisgICAgICA8L3Byb2dyYW1saXN0aW5nPgorICAgICAgVGhlIGZpcnN0IHBhcmFtZXRlciBpcyB0aGUgbmFtZSBvZiB0aGUgZmlsZSB0byBiZSB3cml0dGVuLiBZb3UnbGwgbm90aWNlCisgICAgICBpdCBpcyB0aGUgc2FtZSBhcyB0aGUgZmlsZSB3ZSBqdXN0IHJlYWQuIEluIHRoaXMgY2FzZSwgd2UganVzdCB3cml0ZSBvdmVyCisgICAgICB0aGUgb2xkIGZpbGUuIFRoZSBzZWNvbmQgcGFyYW1ldGVyIGlzIGEgcG9pbnRlciB0byB0aGUgeG1sRG9jCisgICAgICBzdHJ1Y3R1cmUuIFNldHRpbmcgdGhlIHRoaXJkIHBhcmFtZXRlciBlcXVhbCB0byBvbmUgZW5zdXJlcyBpbmRlbnRpbmcgb24gb3V0cHV0LgorICAgIDwvcGFyYT4KKyAgPC9zZWN0MT4KKworICA8c2VjdDEgaWQ9InhtbHR1dG9yaWFsd3JpdGluZ2F0dHJpYnV0ZSI+CisgICAgPHRpdGxlPldyaXRpbmcgQXR0cmlidXRlPC90aXRsZT4KKyAgICA8cGFyYT48aW5kZXh0ZXJtPgorCTxwcmltYXJ5PmF0dHJpYnV0ZTwvcHJpbWFyeT4KKwk8c2Vjb25kYXJ5PndyaXRpbmc8L3NlY29uZGFyeT4KKyAgICAgIDwvaW5kZXh0ZXJtPgorV3JpdGluZyBhbiBhdHRyaWJ1dGUgaXMgc2ltaWxhciB0byB3cml0aW5nIHRleHQgdG8gYSBuZXcgZWxlbWVudC4gSW4KKyAgICAgIHRoaXMgY2FzZSwgd2UnbGwgYWRkIGEgcmVmZXJlbmNlIDxhY3JvbnltPlVSSTwvYWNyb255bT4gdG8gb3VyCisgICAgICBkb2N1bWVudC4gRnVsbCBjb2RlOjx4cmVmIGxpbmtlbmQ9ImFkZGF0dHJpYnV0ZWFwcGVuZGl4IiAvPi48L3BhcmE+CisgICAgPHBhcmE+CisgICAgICBBIDxzZ21sdGFnPnJlZmVyZW5jZTwvc2dtbHRhZz4gaXMgYSBjaGlsZCBvZiB0aGUgPHNnbWx0YWc+c3Rvcnk8L3NnbWx0YWc+CisgICAgICBlbGVtZW50LCBzbyBmaW5kaW5nIHRoZSBwbGFjZSB0byBwdXQgb3VyIG5ldyBlbGVtZW50IGFuZCBhdHRyaWJ1dGUgaXMKKyAgICAgIHNpbXBsZS4gQXMgc29vbiBhcyB3ZSBkbyB0aGUgZXJyb3ItY2hlY2tpbmcgdGVzdCBpbiBvdXIKKyAgICAgIDxmdW5jdGlvbj5wYXJzZURvYzwvZnVuY3Rpb24+LCB3ZSBhcmUgaW4gdGhlIHJpZ2h0IHNwb3QgdG8gYWRkIG91cgorICAgICAgZWxlbWVudC4gQnV0IGJlZm9yZSB3ZSBkbyB0aGF0LCB3ZSBuZWVkIHRvIG1ha2UgYSBkZWNsYXJhdGlvbiB1c2luZyBhCisgICAgICBkYXRhIHR5cGUgd2UgaGF2ZSBub3Qgc2VlbiB5ZXQ6CisgICAgICA8cHJvZ3JhbWxpc3Rpbmc+CisJeG1sQXR0clB0ciBuZXdhdHRyOworICAgICAgPC9wcm9ncmFtbGlzdGluZz4KKyAgICAgIFdlIGFsc28gbmVlZCBhbiBleHRyYSB4bWxOb2RlUHRyOgorICAgICAgPHByb2dyYW1saXN0aW5nPgorCXhtbE5vZGVQdHIgbmV3bm9kZTsKKyAgICAgIDwvcHJvZ3JhbWxpc3Rpbmc+CisgICAgPC9wYXJhPgorICAgIDxwYXJhPgorICAgICAgVGhlIHJlc3Qgb2YgPGZ1bmN0aW9uPnBhcnNlRG9jPC9mdW5jdGlvbj4gaXMgdGhlIHNhbWUgYXMgYmVmb3JlIHVudGlsIHdlCisgICAgICBjaGVjayB0byBzZWUgaWYgb3VyIHJvb3QgZWxlbWVudCBpcyA8c2dtbHRhZz5zdG9yeTwvc2dtbHRhZz4uIElmIGl0IGlzLAorICAgICAgdGhlbiB3ZSBrbm93IHdlIGFyZSBhdCB0aGUgcmlnaHQgc3BvdCB0byBhZGQgb3VyIGVsZW1lbnQ6CisKKyAgICAgIDxwcm9ncmFtbGlzdGluZz4KKwk8Y28gaWQ9ImFkZHJlZmVyZW5jZW5vZGUiIC8+IG5ld25vZGUgPSB4bWxOZXdUZXh0Q2hpbGQgKGN1ciwgTlVMTCwgInJlZmVyZW5jZSIsIE5VTEwpOworCTxjbyBpZD0iYWRkYXR0cmlidXRlbm9kZSIgLz4gbmV3YXR0ciA9IHhtbE5ld1Byb3AgKG5ld25vZGUsICJ1cmkiLCB1cmkpOwkKKyAgICAgIDwvcHJvZ3JhbWxpc3Rpbmc+CisgICAgICA8Y2FsbG91dGxpc3Q+CisJPGNhbGxvdXQgYXJlYXJlZnM9ImFkZHJlZmVyZW5jZW5vZGUiPgorCSAgPHBhcmE+Rmlyc3Qgd2UgYWRkIGEgbmV3IG5vZGUgYXQgdGhlIGxvY2F0aW9uIG9mIHRoZSBjdXJyZW50IG5vZGUKKwkgICAgcG9pbnRlciwgPHZhcm5hbWU+Y3VyLjwvdmFybmFtZT4gdXNpbmcgdGhlIDx1bGluaworCQkJCQkJCSAgICAgIHVybD0iaHR0cDovL3htbHNvZnQub3JnL2h0bWwvbGlieG1sLXRyZWUuaHRtbCNYTUxORVdURVhUQ0hJTEQiPnhtbE5ld1RleHRDaGlsZDwvdWxpbms+IGZ1bmN0aW9uLjwvcGFyYT4KKwk8L2NhbGxvdXQ+CisgICAgICA8L2NhbGxvdXRsaXN0PgorICAgPC9wYXJhPgorCisgICAgPHBhcmE+T25jZSB0aGUgbm9kZSBpcyBhZGRlZCwgdGhlIGZpbGUgaXMgd3JpdHRlbiB0byBkaXNrIGp1c3QgYXMgaW4gdGhlCisgICAgcHJldmlvdXMgZXhhbXBsZSBpbiB3aGljaCB3ZSBhZGRlZCBhbiBlbGVtZW50IHdpdGggdGV4dCBjb250ZW50LjwvcGFyYT4KKworICA8L3NlY3QxPgorCisgIDxzZWN0MSBpZD0ieG1sdHV0b3JpYWxhdHRyaWJ1dGUiPgorICAgIDx0aXRsZT5SZXRyaWV2aW5nIEF0dHJpYnV0ZXM8L3RpdGxlPgorICAgIDxwYXJhPjxpbmRleHRlcm0+CisJPHByaW1hcnk+YXR0cmlidXRlPC9wcmltYXJ5PgorCTxzZWNvbmRhcnk+cmV0cmlldmluZyB2YWx1ZTwvc2Vjb25kYXJ5PgorICAgICAgPC9pbmRleHRlcm0+CitSZXRyaWV2aW5nIHRoZSB2YWx1ZSBvZiBhbiBhdHRyaWJ1dGUgaXMgc2ltaWxhciB0byB0aGUgcHJldmlvdXMKKyAgICBleGFtcGxlIGluIHdoaWNoIHdlIHJldHJpZXZlZCBhIG5vZGUncyB0ZXh0IGNvbnRlbnRzLiBJbiB0aGlzIGNhc2Ugd2UnbGwKKyAgICAgIGV4dHJhY3QgdGhlIHZhbHVlIG9mIHRoZSA8YWNyb255bT5VUkk8L2Fjcm9ueW0+IHdlIGFkZGVkIGluIHRoZSBwcmV2aW91cworICAgICAgc2VjdGlvbi4gRnVsbCBjb2RlOiA8eHJlZiBsaW5rZW5kPSJnZXRhdHRyaWJ1dGVhcHBlbmRpeCIgLz4uPC9wYXJhPgorICAgIDxwYXJhPgorICAgICAgVGhlIGluaXRpYWwgc3RlcHMgZm9yIHRoaXMgZXhhbXBsZSBhcmUgc2ltaWxhciB0byB0aGUgcHJldmlvdXMgb25lczogcGFyc2UKKyAgICAgIHRoZSBkb2MsIGZpbmQgdGhlIGVsZW1lbnQgeW91IGFyZSBpbnRlcmVzdGVkIGluLCB0aGVuIGVudGVyIGEgZnVuY3Rpb24gdG8KKyAgICAgIGNhcnJ5IG91dCB0aGUgc3BlY2lmaWMgdGFzayByZXF1aXJlZC4gSW4gdGhpcyBjYXNlLCB3ZSBjYWxsCisgICAgICA8ZnVuY3Rpb24+Z2V0UmVmZXJlbmNlPC9mdW5jdGlvbj46CisgICAgICA8cHJvZ3JhbWxpc3Rpbmc+Cit2b2lkCitnZXRSZWZlcmVuY2UgKHhtbERvY1B0ciBkb2MsIHhtbE5vZGVQdHIgY3VyKSB7CisKKwl4bWxDaGFyICp1cmk7CisJY3VyID0gY3VyLT54bWxDaGlsZHJlbk5vZGU7CisJd2hpbGUgKGN1ciAhPSBOVUxMKSB7CisJICAgIGlmICgoIXhtbFN0cmNtcChjdXItPm5hbWUsIChjb25zdCB4bWxDaGFyICopInJlZmVyZW5jZSIpKSkgeworCQkgICA8Y28gaWQ9ImdldGF0dHJpYnV0ZXZhbHVlIiAvPiB1cmkgPSB4bWxHZXRQcm9wKGN1ciwgInVyaSIpOworCQkgICAgcHJpbnRmKCJ1cmk6ICVzXG4iLCB1cmkpOworCQkgICAgeG1sRnJlZSh1cmkpOworCSAgICB9CisJICAgIGN1ciA9IGN1ci0+bmV4dDsKKwl9CisJcmV0dXJuOworfQorICAgICAgPC9wcm9ncmFtbGlzdGluZz4KKyAgICAKKyAgICAgIDxjYWxsb3V0bGlzdD4KKwk8Y2FsbG91dCBhcmVhcmVmcz0iZ2V0YXR0cmlidXRldmFsdWUiPgorCSAgPHBhcmE+CisJICAgIFRoZSBrZXkgZnVuY3Rpb24gaXMgPGZ1bmN0aW9uPjx1bGluaworCQkJCQkgICB1cmw9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9odG1sL2xpYnhtbC10cmVlLmh0bWwjWE1MR0VUUFJPUCI+eG1sR2V0UHJvcDwvdWxpbms+PC9mdW5jdGlvbj4sIHdoaWNoIHJldHVybnMgYW4KKyAgICAgIDx2YXJuYW1lPnhtbENoYXI8L3Zhcm5hbWU+IGNvbnRhaW5pbmcgdGhlIGF0dHJpYnV0ZSdzIHZhbHVlLiBJbiB0aGlzIGNhc2UsCisJCQkJCSAgIHdlIGp1c3QgcHJpbnQgaXQgb3V0LgorICAgICAgPG5vdGU+CisJPHBhcmE+CisJICBJZiB5b3UgYXJlIHVzaW5nIGEgPGFjcm9ueW0+RFREPC9hY3JvbnltPiB0aGF0IGRlY2xhcmVzIGEgZml4ZWQgb3IKKwkgIGRlZmF1bHQgdmFsdWUgZm9yIHRoZSBhdHRyaWJ1dGUsIHRoaXMgZnVuY3Rpb24gd2lsbCByZXRyaWV2ZSBpdC4KKwk8L3BhcmE+CisJICAgIDwvbm90ZT4KKwkgIDwvcGFyYT4KKwk8L2NhbGxvdXQ+CisgICAgICA8L2NhbGxvdXRsaXN0PgorICAgICAKKyAgICA8L3BhcmE+CisgIDwvc2VjdDE+CisKKyAgPHNlY3QxIGlkPSJ4bWx0dXRvcmlhbGNvbnZlcnQiPgorICAgIDx0aXRsZT5FbmNvZGluZyBDb252ZXJzaW9uPC90aXRsZT4KKworICAgIDxwYXJhPjxpbmRleHRlcm0+CisJPHByaW1hcnk+ZW5jb2Rpbmc8L3ByaW1hcnk+CisgICAgICA8L2luZGV4dGVybT4KK0RhdGEgZW5jb2RpbmcgY29tcGF0aWJpbGl0eSBwcm9ibGVtcyBhcmUgb25lIG9mIHRoZSBtb3N0IGNvbW1vbgorICAgICAgZGlmZmljdWx0aWVzIGVuY291bnRlcmVkIGJ5IHByb2dyYW1tZXJzIG5ldyB0byA8YWNyb255bT5YTUw8L2Fjcm9ueW0+IGluCisgICAgICBnZW5lcmFsIGFuZCA8YXBwbGljYXRpb24+bGlieG1sPC9hcHBsaWNhdGlvbj4gaW4gcGFydGljdWxhci4gVGhpbmtpbmcKKyAgICAgIHRocm91Z2ggdGhlIGRlc2lnbiBvZiB5b3VyIGFwcGxpY2F0aW9uIGluIGxpZ2h0IG9mIHRoaXMgaXNzdWUgd2lsbCBoZWxwCisgICAgICBhdm9pZCBkaWZmaWN1bHRpZXMgbGF0ZXIuIEludGVybmFsbHksIDxhcHBsaWNhdGlvbj5saWJ4bWw8L2FwcGxpY2F0aW9uPgorICAgICAgc3RvcmVzIGFuZCBtYW5pcHVsYXRlcyBkYXRhIGluIHRoZSBVVEYtOCBmb3JtYXQuIERhdGEgdXNlZCBieSB5b3VyIHByb2dyYW0KKyAgICAgIGluIG90aGVyIGZvcm1hdHMsIHN1Y2ggYXMgdGhlIGNvbW1vbmx5IHVzZWQgSVNPLTg4NTktMSBlbmNvZGluZywgbXVzdCBiZQorICAgICAgY29udmVydGVkIHRvIFVURi04IGJlZm9yZSBwYXNzaW5nIGl0IHRvIDxhcHBsaWNhdGlvbj5saWJ4bWw8L2FwcGxpY2F0aW9uPgorICAgICAgZnVuY3Rpb25zLiBJZiB5b3Ugd2FudCB5b3VyIHByb2dyYW0ncyBvdXRwdXQgaW4gYW4gZW5jb2Rpbmcgb3RoZXIgdGhhbgorICAgICAgVVRGLTgsIHlvdSBhbHNvIG11c3QgY29udmVydCBpdC48L3BhcmE+CisKKyAgICAgIDxwYXJhPjxhcHBsaWNhdGlvbj5MaWJ4bWw8L2FwcGxpY2F0aW9uPiB1c2VzCisgICAgICA8YXBwbGljYXRpb24+aWNvbnY8L2FwcGxpY2F0aW9uPiBpZiBpdCBpcyBhdmFpbGFibGUgdG8gY29udmVydAorICAgIGRhdGEuIFdpdGhvdXQgPGFwcGxpY2F0aW9uPmljb252PC9hcHBsaWNhdGlvbj4sIG9ubHkgVVRGLTgsIFVURi0xNiBhbmQKKyAgICBJU08tODg1OS0xIGNhbiBiZSB1c2VkIGFzIGV4dGVybmFsIGZvcm1hdHMuIFdpdGgKKyAgICA8YXBwbGljYXRpb24+aWNvbnY8L2FwcGxpY2F0aW9uPiwgYW55IGZvcm1hdCBjYW4gYmUgdXNlZCBwcm92aWRlZAorICAgIDxhcHBsaWNhdGlvbj5pY29udjwvYXBwbGljYXRpb24+IGlzIGFibGUgdG8gY29udmVydCBpdCB0byBhbmQgZnJvbQorICAgIFVURi04LiBDdXJyZW50bHkgPGFwcGxpY2F0aW9uPmljb252PC9hcHBsaWNhdGlvbj4gc3VwcG9ydHMgYWJvdXQgMTUwCisgICAgZGlmZmVyZW50IGNoYXJhY3RlciBmb3JtYXRzIHdpdGggYWJpbGl0eSB0byBjb252ZXJ0IGZyb20gYW55IHRvIGFueS4gV2hpbGUKKyAgICB0aGUgYWN0dWFsIG51bWJlciBvZiBzdXBwb3J0ZWQgZm9ybWF0cyB2YXJpZXMgYmV0d2VlbiBpbXBsZW1lbnRhdGlvbnMsIGV2ZXJ5CisgICAgPGFwcGxpY2F0aW9uPmljb252PC9hcHBsaWNhdGlvbj4gaW1wbGVtZW50YXRpb24gaXMgYWxtb3N0IGd1YXJhbnRlZWQgdG8KKyAgICBzdXBwb3J0IGV2ZXJ5IGZvcm1hdCBhbnlvbmUgaGFzIGV2ZXIgaGVhcmQgb2YuPC9wYXJhPgorCisgICAgPHdhcm5pbmc+CisgICAgICA8cGFyYT5BIGNvbW1vbiBtaXN0YWtlIGlzIHRvIHVzZSBkaWZmZXJlbnQgZm9ybWF0cyBmb3IgdGhlIGludGVybmFsIGRhdGEKKwlpbiBkaWZmZXJlbnQgcGFydHMgb2Ygb25lJ3MgY29kZS4gVGhlIG1vc3QgY29tbW9uIGNhc2UgaXMgYW4gYXBwbGljYXRpb24KKwl0aGF0IGFzc3VtZXMgSVNPLTg4NTktMSB0byBiZSB0aGUgaW50ZXJuYWwgZGF0YSBmb3JtYXQsIGNvbWJpbmVkIHdpdGgKKwk8YXBwbGljYXRpb24+bGlieG1sPC9hcHBsaWNhdGlvbj4sIHdoaWNoIGFzc3VtZXMgVVRGLTggdG8gYmUgdGhlCisJaW50ZXJuYWwgZGF0YSBmb3JtYXQuIFRoZSByZXN1bHQgaXMgYW4gYXBwbGljYXRpb24gdGhhdCB0cmVhdHMgaW50ZXJuYWwKKwlkYXRhIGRpZmZlcmVudGx5LCBkZXBlbmRpbmcgb24gd2hpY2ggY29kZSBzZWN0aW9uIGlzIGV4ZWN1dGluZy4gVGhlIG9uZSBvcgorCXRoZSBvdGhlciBwYXJ0IG9mIGNvZGUgd2lsbCB0aGVuLCBuYXR1cmFsbHksIG1pc2ludGVycHJldCB0aGUgZGF0YS4KKyAgICAgIDwvcGFyYT4KKyAgICA8L3dhcm5pbmc+CisKKyAgICA8cGFyYT5UaGlzIGV4YW1wbGUgY29uc3RydWN0cyBhIHNpbXBsZSBkb2N1bWVudCwgdGhlbiBhZGRzIGNvbnRlbnQgcHJvdmlkZWQKKyAgICBhdCB0aGUgY29tbWFuZCBsaW5lIHRvIHRoZSBkb2N1bWVudCdzIHJvb3QgZWxlbWVudCBhbmQgb3V0cHV0cyB0aGUgcmVzdWx0cworICAgIHRvIDxmaWxlbmFtZT5zdGRvdXQ8L2ZpbGVuYW1lPiBpbiB0aGUgcHJvcGVyIGVuY29kaW5nLiBGb3IgdGhpcyBleGFtcGxlLCB3ZQorICAgIHVzZSBJU08tODg1OS0xIGVuY29kaW5nLiBUaGUgZW5jb2Rpbmcgb2YgdGhlIHN0cmluZyBpbnB1dCBhdCB0aGUgY29tbWFuZAorICAgIGxpbmUgaXMgY29udmVydGVkIGZyb20gSVNPLTg4NTktMSB0byBVVEYtOC4gRnVsbCBjb2RlOiA8eHJlZgorICAgIGxpbmtlbmQ9ImNvbnZlcnRhcHBlbmRpeCIgLz48L3BhcmE+CisKKyAgICA8cGFyYT5UaGUgY29udmVyc2lvbiwgZW5jYXBzdWxhdGVkIGluIHRoZSBleGFtcGxlIGNvZGUgaW4gdGhlCisgICAgICA8ZnVuY3Rpb24+Y29udmVydDwvZnVuY3Rpb24+IGZ1bmN0aW9uLCB1c2VzCisgICAgICA8YXBwbGljYXRpb24+bGlieG1sJ3M8L2FwcGxpY2F0aW9uPgorICAgIDxmdW5jdGlvbj54bWxGaW5kQ2hhckVuY29kaW5nSGFuZGxlcjwvZnVuY3Rpb24+IGZ1bmN0aW9uOgorICAgICAgPHByb2dyYW1saXN0aW5nPgorCTxjbyBpZD0iaGFuZGxlcmRhdGF0eXBlIiAvPnhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIgaGFuZGxlcjsKKyAgICAgICAgPGNvIGlkPSJjYWxjc2l6ZSIgLz5zaXplID0gKGludClzdHJsZW4oaW4pKzE7IAorICAgICAgICBvdXRfc2l6ZSA9IHNpemUqMi0xOyAKKyAgICAgICAgb3V0ID0gbWFsbG9jKChzaXplX3Qpb3V0X3NpemUpOyAKKworJmhlbGxpcDsKKwk8Y28gaWQ9ImZpbmRoYW5kbGVyZnVuY3Rpb24iIC8+aGFuZGxlciA9IHhtbEZpbmRDaGFyRW5jb2RpbmdIYW5kbGVyKGVuY29kaW5nKTsKKyZoZWxsaXA7CisJPGNvIGlkPSJjYWxsY29udmVyc2lvbmZ1bmN0aW9uIiAvPmhhbmRsZXItPmlucHV0KG91dCwgJmFtcDtvdXRfc2l6ZSwgaW4sICZhbXA7dGVtcCk7CismaGVsbGlwOwkKKwk8Y28gaWQ9Im91dHB1dGVuY29kaW5nIiAvPnhtbFNhdmVGb3JtYXRGaWxlRW5jKCItIiwgZG9jLCBlbmNvZGluZywgMSk7CisgICAgICA8L3Byb2dyYW1saXN0aW5nPgorICAgICAgPGNhbGxvdXRsaXN0PgorCTxjYWxsb3V0IGFyZWFyZWZzPSJoYW5kbGVyZGF0YXR5cGUiPgorCSAgPHBhcmE+PHZhcm5hbWU+aGFuZGxlcjwvdmFybmFtZT4gaXMgZGVjbGFyZWQgYXMgYSBwb2ludGVyIHRvIGFuCisJICAgIDxmdW5jdGlvbj54bWxDaGFyRW5jb2RpbmdIYW5kbGVyPC9mdW5jdGlvbj4gZnVuY3Rpb24uPC9wYXJhPgorCTwvY2FsbG91dD4KKwk8Y2FsbG91dCBhcmVhcmVmcz0iY2FsY3NpemUiPgorCSAgPHBhcmE+VGhlIDxmdW5jdGlvbj54bWxDaGFyRW5jb2RpbmdIYW5kbGVyPC9mdW5jdGlvbj4gZnVuY3Rpb24gbmVlZHMKKwkgIHRvIGJlIGdpdmVuIHRoZSBzaXplIG9mIHRoZSBpbnB1dCBhbmQgb3V0cHV0IHN0cmluZ3MsIHdoaWNoIGFyZQorCSAgICBjYWxjdWxhdGVkIGhlcmUgZm9yIHN0cmluZ3MgPHZhcm5hbWU+aW48L3Zhcm5hbWU+IGFuZAorCSAgPHZhcm5hbWU+b3V0PC92YXJuYW1lPi48L3BhcmE+CisJPC9jYWxsb3V0PgorCTxjYWxsb3V0IGFyZWFyZWZzPSJmaW5kaGFuZGxlcmZ1bmN0aW9uIj4KKwkgIDxwYXJhPjxmdW5jdGlvbj54bWxGaW5kQ2hhckVuY29kaW5nSGFuZGxlcjwvZnVuY3Rpb24+IHRha2VzIGFzIGl0cworCSAgICBhcmd1bWVudCB0aGUgZGF0YSdzIGluaXRpYWwgZW5jb2RpbmcgYW5kIHNlYXJjaGVzCisJICAgIDxhcHBsaWNhdGlvbj5saWJ4bWwnczwvYXBwbGljYXRpb24+IGJ1aWx0LWluIHNldCBvZiBjb252ZXJzaW9uCisJICAgIGhhbmRsZXJzLCByZXR1cm5pbmcgYSBwb2ludGVyIHRvIHRoZSBmdW5jdGlvbiBvciBOVUxMIGlmIG5vbmUgaXMKKwkgICAgZm91bmQuPC9wYXJhPgorCTwvY2FsbG91dD4KKwk8Y2FsbG91dCBhcmVhcmVmcz0iY2FsbGNvbnZlcnNpb25mdW5jdGlvbiI+CisJICA8cGFyYT5UaGUgY29udmVyc2lvbiBmdW5jdGlvbiBpZGVudGlmaWVkIGJ5IDx2YXJuYW1lPmhhbmRsZXI8L3Zhcm5hbWU+CisJICByZXF1aXJlcyBhcyBpdHMgYXJndW1lbnRzIHBvaW50ZXJzIHRvIHRoZSBpbnB1dCBhbmQgb3V0cHV0IHN0cmluZ3MsCisJICBhbG9uZyB3aXRoIHRoZSBsZW5ndGggb2YgZWFjaC4gVGhlIGxlbmd0aHMgbXVzdCBiZSBkZXRlcm1pbmVkCisJICBzZXBhcmF0ZWx5IGJ5IHRoZSBhcHBsaWNhdGlvbi48L3BhcmE+CisJPC9jYWxsb3V0PgorCTxjYWxsb3V0IGFyZWFyZWZzPSJvdXRwdXRlbmNvZGluZyI+CisJICA8cGFyYT5UbyBvdXRwdXQgaW4gYSBzcGVjaWZpZWQgZW5jb2RpbmcgcmF0aGVyIHRoYW4gVVRGLTgsIHdlIHVzZQorCSAgICA8ZnVuY3Rpb24+eG1sU2F2ZUZvcm1hdEZpbGVFbmM8L2Z1bmN0aW9uPiwgc3BlY2lmeWluZyB0aGUKKwkgICAgZW5jb2RpbmcuPC9wYXJhPgorCTwvY2FsbG91dD4KKyAgICAgIDwvY2FsbG91dGxpc3Q+CisgICAgPC9wYXJhPgorICA8L3NlY3QxPgorCisgIDxhcHBlbmRpeCBpZD0iY29tcGlsYXRpb24iPgorICAgIDx0aXRsZT5Db21waWxhdGlvbjwvdGl0bGU+CisgICAgPHBhcmE+PGluZGV4dGVybT4KKwk8cHJpbWFyeT5jb21waWxlciBmbGFnczwvcHJpbWFyeT4KKyAgICAgIDwvaW5kZXh0ZXJtPgorICAgICAgPGFwcGxpY2F0aW9uPkxpYnhtbDwvYXBwbGljYXRpb24+IGluY2x1ZGVzIGEgc2NyaXB0LAorICAgIDxhcHBsaWNhdGlvbj54bWwyLWNvbmZpZzwvYXBwbGljYXRpb24+LCB0aGF0IGNhbiBiZSB1c2VkIHRvIGdlbmVyYXRlCisgICAgZmxhZ3MgZm9yIGNvbXBpbGF0aW9uIGFuZCBsaW5raW5nIG9mIHByb2dyYW1zIHdyaXR0ZW4gd2l0aCB0aGUKKyAgICAgIGxpYnJhcnkuIEZvciBwcmUtcHJvY2Vzc29yIGFuZCBjb21waWxlciBmbGFncywgdXNlIDxjb21tYW5kPnhtbDItY29uZmlnCisJLS1jZmxhZ3M8L2NvbW1hbmQ+LiBGb3IgbGlicmFyeSBsaW5raW5nIGZsYWdzLCB1c2UgPGNvbW1hbmQ+eG1sMi1jb25maWcKKwktLWxpYnM8L2NvbW1hbmQ+LiBPdGhlciBvcHRpb25zIGFyZSBhdmFpbGFibGUgdXNpbmcgPGNvbW1hbmQ+eG1sMi1jb25maWcKKyAgICAtLWhlbHA8L2NvbW1hbmQ+LjwvcGFyYT4gICAKKyAgPC9hcHBlbmRpeD4KKworICA8YXBwZW5kaXggaWQ9InNhbXBsZWRvYyI+CisgICAgPHRpdGxlPlNhbXBsZSBEb2N1bWVudDwvdGl0bGU+CisgICAgPHByb2dyYW1saXN0aW5nPiZTVE9SWTs8L3Byb2dyYW1saXN0aW5nPgorICA8L2FwcGVuZGl4PgorICA8YXBwZW5kaXggaWQ9ImtleXdvcmRhcHBlbmRpeCI+CisgICAgPHRpdGxlPkNvZGUgZm9yIEtleXdvcmQgRXhhbXBsZTwvdGl0bGU+CisgICAgPHBhcmE+CisgICAgICA8cHJvZ3JhbWxpc3Rpbmc+JktFWVdPUkQ7PC9wcm9ncmFtbGlzdGluZz4KKyAgICA8L3BhcmE+CisgIDwvYXBwZW5kaXg+CisgIDxhcHBlbmRpeCBpZD0ieHBhdGhhcHBlbmRpeCI+CisgICAgPHRpdGxlPkNvZGUgZm9yIFhQYXRoIEV4YW1wbGU8L3RpdGxlPgorICAgIDxwYXJhPgorICAgICAgPHByb2dyYW1saXN0aW5nPiZYUEFUSDs8L3Byb2dyYW1saXN0aW5nPgorICAgIDwvcGFyYT4KKyAgPC9hcHBlbmRpeD4KKzxhcHBlbmRpeCBpZD0iYWRka2V5d29yZGFwcGVuZGl4Ij4KKyAgICA8dGl0bGU+Q29kZSBmb3IgQWRkIEtleXdvcmQgRXhhbXBsZTwvdGl0bGU+CisgICAgPHBhcmE+CisgICAgICA8cHJvZ3JhbWxpc3Rpbmc+JkFEREtFWVdPUkQ7PC9wcm9ncmFtbGlzdGluZz4KKyAgICA8L3BhcmE+CisgIDwvYXBwZW5kaXg+Cis8YXBwZW5kaXggaWQ9ImFkZGF0dHJpYnV0ZWFwcGVuZGl4Ij4KKyAgICA8dGl0bGU+Q29kZSBmb3IgQWRkIEF0dHJpYnV0ZSBFeGFtcGxlPC90aXRsZT4KKyAgICA8cGFyYT4KKyAgICAgIDxwcm9ncmFtbGlzdGluZz4mQUREQVRUUklCVVRFOzwvcHJvZ3JhbWxpc3Rpbmc+CisgICAgPC9wYXJhPgorICA8L2FwcGVuZGl4PgorPGFwcGVuZGl4IGlkPSJnZXRhdHRyaWJ1dGVhcHBlbmRpeCI+CisgICAgPHRpdGxlPkNvZGUgZm9yIFJldHJpZXZpbmcgQXR0cmlidXRlIFZhbHVlIEV4YW1wbGU8L3RpdGxlPgorICAgIDxwYXJhPgorICAgICAgPHByb2dyYW1saXN0aW5nPiZHRVRBVFRSSUJVVEU7PC9wcm9ncmFtbGlzdGluZz4KKyAgICA8L3BhcmE+CisgIDwvYXBwZW5kaXg+CisgIDxhcHBlbmRpeCBpZD0iY29udmVydGFwcGVuZGl4Ij4KKyAgICA8dGl0bGU+Q29kZSBmb3IgRW5jb2RpbmcgQ29udmVyc2lvbiBFeGFtcGxlPC90aXRsZT4KKyAgICA8cGFyYT4KKyAgICAgIDxwcm9ncmFtbGlzdGluZz4mQ09OVkVSVDs8L3Byb2dyYW1saXN0aW5nPgorICAgIDwvcGFyYT4KKyAgPC9hcHBlbmRpeD4KKyAgPGFwcGVuZGl4PgorICAgIDx0aXRsZT5BY2tub3dsZWRnZW1lbnRzPC90aXRsZT4KKyAgICA8cGFyYT5BIG51bWJlciBvZiBwZW9wbGUgaGF2ZSBnZW5lcm91c2x5IG9mZmVyZWQgZmVlZGJhY2ssIGNvZGUgYW5kCisgICAgc3VnZ2VzdGVkIGltcHJvdmVtZW50cyB0byB0aGlzIHR1dG9yaWFsLiBJbiBubyBwYXJ0aWN1bGFyIG9yZGVyOgorICAgICAgPHNpbXBsZWxpc3QgdHlwZT0iaW5saW5lIj4KKwk8bWVtYmVyPkRhbmllbCBWZWlsbGFyZDwvbWVtYmVyPgorCTxtZW1iZXI+TWFyY3VzIExhYmliIElza2FuZGVyPC9tZW1iZXI+CisJPG1lbWJlcj5DaHJpc3RvcGhlciBSLiBIYXJyaXM8L21lbWJlcj4KKwk8bWVtYmVyPklnb3IgWmxhdGtvdmljPC9tZW1iZXI+CisJPG1lbWJlcj5OaXJhaiBUb2xpYTwvbWVtYmVyPgorCTxtZW1iZXI+RGF2aWQgVHVyb3ZlcjwvbWVtYmVyPgorICAgICAgPC9zaW1wbGVsaXN0PgorICAgIDwvcGFyYT4KKyAgPC9hcHBlbmRpeD4KKyAgPGluZGV4IC8+Cis8L2FydGljbGU+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy91cGdyYWRlLmh0bWwgYi9saWJ4bWwyL2RvYy91cGdyYWRlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTY5YzNjMQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL3VwZ3JhZGUuaHRtbApAQCAtMCwwICsxLDExMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIj4KKzxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj48aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz48bGluayByZWw9IlNIT1JUQ1VUIElDT04iIGhyZWY9Ii9mYXZpY29uLmljbyIgLz48c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorVEQge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0JPRFkge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYTsgbWFyZ2luLXRvcDogMmVtOyBtYXJnaW4tbGVmdDogMGVtOyBtYXJnaW4tcmlnaHQ6IDBlbX0KK0gxIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMiB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDMge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0E6bGluaywgQTp2aXNpdGVkLCBBOmFjdGl2ZSB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIH0KKzwvc3R5bGU+PHRpdGxlPlVwZ3JhZGluZyAxLnggY29kZTwvdGl0bGU+PC9oZWFkPjxib2R5IGJnY29sb3I9IiM4Yjc3NjUiIHRleHQ9IiMwMDAwMDAiIGxpbms9IiNhMDYwNjAiIHZsaW5rPSIjMDAwMDAwIj48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iMTAwJSIgY2VsbHBhZGRpbmc9IjUiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIHdpZHRoPSIxMjAiPjxhIGhyZWY9Imh0dHA6Ly9zd3BhdC5mZmlpLm9yZy8iPjxpbWcgc3JjPSJlcGF0ZW50cy5wbmciIGFsdD0iQWN0aW9uIGFnYWluc3Qgc29mdHdhcmUgcGF0ZW50cyIgLz48L2E+PC90ZD48dGQgd2lkdGg9IjE4MCI+PGEgaHJlZj0iaHR0cDovL3d3dy5nbm9tZS5vcmcvIj48aW1nIHNyYz0iZ25vbWUyLnBuZyIgYWx0PSJHbm9tZTIgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvU3RhdHVzIj48aW1nIHNyYz0idzNjLnBuZyIgYWx0PSJXM0MgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy5yZWRoYXQuY29tLyI+PGltZyBzcmM9InJlZGhhdC5naWYiIGFsdD0iUmVkIEhhdCBMb2dvIiAvPjwvYT48ZGl2IGFsaWduPSJsZWZ0Ij48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvIj48aW1nIHNyYz0iTGlieG1sMi1Mb2dvLTE4MHgxNjguZ2lmIiBhbHQ9Ik1hZGUgd2l0aCBMaWJ4bWwyIExvZ28iIC8+PC9hPjwvZGl2PjwvdGQ+PHRkPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSI5MCUiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIiBiZ2NvbG9yPSIjZmZmYWNkIj48dHI+PHRkIGFsaWduPSJjZW50ZXIiPjxoMT5UaGUgWE1MIEMgcGFyc2VyIGFuZCB0b29sa2l0IG9mIEdub21lPC9oMT48aDI+VXBncmFkaW5nIDEueCBjb2RlPC9oMj48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iNCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiIgd2lkdGg9IjEwMCUiPjx0cj48dGQgdmFsaWduPSJ0b3AiIHdpZHRoPSIyMDAiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPkRldmVsb3BlciBNZW51PC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjxmb3JtIGFjdGlvbj0ic2VhcmNoLnBocCIgZW5jdHlwZT0iYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIiBtZXRob2Q9ImdldCI+PGlucHV0IG5hbWU9InF1ZXJ5IiB0eXBlPSJ0ZXh0IiBzaXplPSIyMCIgdmFsdWU9IiIgLz48aW5wdXQgbmFtZT0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJTZWFyY2ggLi4uIiAvPjwvZm9ybT48dWw+PGxpPjxhIGhyZWY9ImluZGV4Lmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5NYWluIE1lbnU8L2E+PC9saT48bGk+PGEgaHJlZj0iaHRtbC9pbmRleC5odG1sIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+UmVmZXJlbmNlIE1hbnVhbDwvYT48L2xpPjxsaT48YSBocmVmPSJleGFtcGxlcy9pbmRleC5odG1sIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+Q29kZSBFeGFtcGxlczwvYT48L2xpPjxsaT48YSBocmVmPSJndWlkZWxpbmVzLmh0bWwiPlhNTCBHdWlkZWxpbmVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9InR1dG9yaWFsL2luZGV4Lmh0bWwiPlR1dG9yaWFsPC9hPjwvbGk+PGxpPjxhIGhyZWY9InhtbHJlYWRlci5odG1sIj5UaGUgUmVhZGVyIEludGVyZmFjZTwvYT48L2xpPjxsaT48YSBocmVmPSJDaGFuZ2VMb2cuaHRtbCI+Q2hhbmdlTG9nPC9hPjwvbGk+PGxpPjxhIGhyZWY9IlhTTFQuaHRtbCI+WFNMVDwvYT48L2xpPjxsaT48YSBocmVmPSJweXRob24uaHRtbCI+UHl0aG9uIGFuZCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJhcmNoaXRlY3R1cmUuaHRtbCI+bGlieG1sMiBhcmNoaXRlY3R1cmU8L2E+PC9saT48bGk+PGEgaHJlZj0idHJlZS5odG1sIj5UaGUgdHJlZSBvdXRwdXQ8L2E+PC9saT48bGk+PGEgaHJlZj0iaW50ZXJmYWNlLmh0bWwiPlRoZSBTQVggaW50ZXJmYWNlPC9hPjwvbGk+PGxpPjxhIGhyZWY9InhtbG1lbS5odG1sIj5NZW1vcnkgTWFuYWdlbWVudDwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWxpby5odG1sIj5JL08gSW50ZXJmYWNlczwvYT48L2xpPjxsaT48YSBocmVmPSJsaWJyYXJ5Lmh0bWwiPlRoZSBwYXJzZXIgaW50ZXJmYWNlczwvYT48L2xpPjxsaT48YSBocmVmPSJlbnRpdGllcy5odG1sIj5FbnRpdGllcyBvciBubyBlbnRpdGllczwvYT48L2xpPjxsaT48YSBocmVmPSJuYW1lc3BhY2VzLmh0bWwiPk5hbWVzcGFjZXM8L2E+PC9saT48bGk+PGEgaHJlZj0idXBncmFkZS5odG1sIj5VcGdyYWRpbmcgMS54IGNvZGU8L2E+PC9saT48bGk+PGEgaHJlZj0idGhyZWFkcy5odG1sIj5UaHJlYWQgc2FmZXR5PC9hPjwvbGk+PGxpPjxhIGhyZWY9IkRPTS5odG1sIj5ET00gUHJpbmNpcGxlczwvYT48L2xpPjxsaT48YSBocmVmPSJleGFtcGxlLmh0bWwiPkEgcmVhbCBleGFtcGxlPC9hPjwvbGk+PGxpPjxhIGhyZWY9InhtbC5odG1sIj5mbGF0IHBhZ2U8L2E+LCA8YSBocmVmPSJzaXRlLnhzbCI+c3R5bGVzaGVldDwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPkFQSSBJbmRleGVzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iQVBJY2h1bmswLmh0bWwiPkFscGhhYmV0aWM8L2E+PC9saT48bGk+PGEgaHJlZj0iQVBJY29uc3RydWN0b3JzLmh0bWwiPkNvbnN0cnVjdG9yczwvYT48L2xpPjxsaT48YSBocmVmPSJBUElmdW5jdGlvbnMuaHRtbCI+RnVuY3Rpb25zL1R5cGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkFQSWZpbGVzLmh0bWwiPk1vZHVsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iQVBJc3ltYm9scy5odG1sIj5TeW1ib2xzPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+UmVsYXRlZCBsaW5rczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9Imh0dHA6Ly9tYWlsLmdub21lLm9yZy9hcmNoaXZlcy94bWwvIj5NYWlsIGFyY2hpdmU8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnL1hTTFQvIj5YU0xUIGxpYnhzbHQ8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3BoZC5jcy51bmliby5pdC9nZG9tZTIvIj5ET00gZ2RvbWUyPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuYWxla3NleS5jb20veG1sc2VjLyI+WE1MLURTaWcgeG1sc2VjPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImZ0cDovL3htbHNvZnQub3JnLyI+RlRQPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemxhdGtvdmljLmNvbS9wcm9qZWN0cy9saWJ4bWwvIj5XaW5kb3dzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9vcGVuY3N3Lm9yZy9wYWNrYWdlcy9saWJ4bWwyIj5Tb2xhcmlzIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuZXhwbGFpbi5jb20uYXUvb3NzL2xpYnhtbDJ4c2x0Lmh0bWwiPk1hY09zWCBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbHhtbC5kZS8iPmx4bWwgUHl0aG9uIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9jcGFuLnV3aW5uaXBlZy5jYS9kaXN0L1hNTC1MaWJYTUwiPlBlcmwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbHBsdXNwbHVzLnNvdXJjZWZvcmdlLm5ldC8iPkMrKyBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnplbmQuY29tL3BocDUvYXJ0aWNsZXMvcGhwNS14bWxwaHAucGhwI0hlYWRpbmc0Ij5QSFAgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9saWJ4bWwyLXBhcy8iPlBhc2NhbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1sLnJ1Ynlmb3JnZS5vcmcvIj5SdWJ5IGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly90Y2x4bWwuc291cmNlZm9yZ2UubmV0LyI+VGNsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvYnVnbGlzdC5jZ2k/cHJvZHVjdD1saWJ4bWwyIj5CdWcgVHJhY2tlcjwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMyIgY2VsbHNwYWNpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjxwPkluY29tcGF0aWJsZSBjaGFuZ2VzOjwvcD48cD5WZXJzaW9uIDIgb2YgbGlieG1sMiBpcyB0aGUgZmlyc3QgdmVyc2lvbiBpbnRyb2R1Y2luZyBzZXJpb3VzIGJhY2t3YXJkCitpbmNvbXBhdGlibGUgY2hhbmdlcy4gVGhlIG1haW4gZ29hbHMgd2VyZTo8L3A+PHVsPgorICA8bGk+YSBnZW5lcmFsIGNsZWFudXAuIEEgbnVtYmVyIG9mIG1pc3Rha2VzIGluaGVyaXRlZCBmcm9tIHRoZSB2ZXJ5IGVhcmx5CisgICAgdmVyc2lvbnMgY291bGRuJ3QgYmUgY2hhbmdlZCBkdWUgdG8gY29tcGF0aWJpbGl0eSBjb25zdHJhaW50cy4gRXhhbXBsZQorICAgIHRoZSAiY2hpbGRzIiBlbGVtZW50IGluIHRoZSBub2Rlcy48L2xpPgorICA8bGk+VW5pZm9ybWl6YXRpb24gb2YgdGhlIHZhcmlvdXMgbm9kZXMsIGF0IGxlYXN0IGZvciB0aGVpciBoZWFkZXIgYW5kIGxpbmsKKyAgICBwYXJ0cyAoZG9jLCBwYXJlbnQsIGNoaWxkcmVuLCBwcmV2LCBuZXh0KSwgdGhlIGdvYWwgaXMgYSBzaW1wbGVyCisgICAgcHJvZ3JhbW1pbmcgbW9kZWwgYW5kIHNpbXBsaWZ5aW5nIHRoZSB0YXNrIG9mIHRoZSBET00gaW1wbGVtZW50b3JzLjwvbGk+CisgIDxsaT5iZXR0ZXIgY29uZm9ybWFuY2VzIHRvIHRoZSBYTUwgc3BlY2lmaWNhdGlvbiwgZm9yIGV4YW1wbGUgdmVyc2lvbiAxLngKKyAgICBoYWQgYW4gaGV1cmlzdGljIHRvIHRyeSB0byBkZXRlY3QgaWdub3JhYmxlIHdoaXRlIHNwYWNlcy4gQXMgYSByZXN1bHQgdGhlCisgICAgU0FYIGV2ZW50IGdlbmVyYXRlZCB3ZXJlIGlnbm9yYWJsZVdoaXRlc3BhY2UoKSB3aGlsZSB0aGUgc3BlYyByZXF1aXJlcworICAgIGNoYXJhY3RlcigpIGluIHRoYXQgY2FzZS4gVGhpcyBhbHNvIG1lYW4gdGhhdCBhIG51bWJlciBvZiBET00gbm9kZQorICAgIGNvbnRhaW5pbmcgYmxhbmsgdGV4dCBtYXkgcG9wdWxhdGUgdGhlIERPTSB0cmVlIHdoaWNoIHdlcmUgbm90IHByZXNlbnQKKyAgICBiZWZvcmUuPC9saT4KKzwvdWw+PGgzPkhvdyB0byBmaXggbGlieG1sLTEueCBjb2RlOjwvaDM+PHA+U28gY2xpZW50IGNvZGUgb2YgbGlieG1sIGRlc2lnbmVkIHRvIHJ1biB3aXRoIHZlcnNpb24gMS54IG1heSBoYXZlIHRvIGJlCitjaGFuZ2VkIHRvIGNvbXBpbGUgYWdhaW5zdCB2ZXJzaW9uIDIueCBvZiBsaWJ4bWwuIEhlcmUgaXMgYSBsaXN0IG9mIGNoYW5nZXMKK3RoYXQgSSBoYXZlIGNvbGxlY3RlZCwgdGhleSBtYXkgbm90IGJlIHN1ZmZpY2llbnQsIHNvIGluIGNhc2UgeW91IGZpbmQgb3RoZXIKK2NoYW5nZSB3aGljaCBhcmUgcmVxdWlyZWQsIDxhIGhyZWY9Im1haWx0bzpEYW5pZWwuVmVpbGxhcmRAdzMub3JnIj5kcm9wIG1lIGEKK21haWw8L2E+OjwvcD48b2w+CisgIDxsaT5UaGUgcGFja2FnZSBuYW1lIGhhdmUgY2hhbmdlZCBmcm9tIGxpYnhtbCB0byBsaWJ4bWwyLCB0aGUgbGlicmFyeSBuYW1lCisgICAgaXMgbm93IC1seG1sMiAuIFRoZXJlIGlzIGEgbmV3IHhtbDItY29uZmlnIHNjcmlwdCB3aGljaCBzaG91bGQgYmUgdXNlZCB0bworICAgIHNlbGVjdCB0aGUgcmlnaHQgcGFyYW1ldGVycyBsaWJ4bWwyPC9saT4KKyAgPGxpPk5vZGUgPHN0cm9uZz5jaGlsZHM8L3N0cm9uZz4gZmllbGQgaGFzIGJlZW4gcmVuYW1lZAorICAgIDxzdHJvbmc+Y2hpbGRyZW48L3N0cm9uZz4gc28gcy9jaGlsZHMvY2hpbGRyZW4vZyBzaG91bGQgYmUgIGFwcGxpZWQKKyAgICAocHJvYmFiaWxpdHkgb2YgaGF2aW5nICJjaGlsZHMiIGFueXdoZXJlIGVsc2UgaXMgY2xvc2UgdG8gMCs8L2xpPgorICA8bGk+VGhlIGRvY3VtZW50IGRvbid0IGhhdmUgYW55bW9yZSBhIDxzdHJvbmc+cm9vdDwvc3Ryb25nPiBlbGVtZW50IGl0IGhhcworICAgIGJlZW4gcmVwbGFjZWQgYnkgPHN0cm9uZz5jaGlsZHJlbjwvc3Ryb25nPiBhbmQgdXN1YWxseSB5b3Ugd2lsbCBnZXQgYQorICAgIGxpc3Qgb2YgZWxlbWVudCBoZXJlLiBGb3IgZXhhbXBsZSBhIER0ZCBlbGVtZW50IGZvciB0aGUgaW50ZXJuYWwgc3Vic2V0CisgICAgYW5kIGl0J3MgZGVjbGFyYXRpb24gbWF5IGJlIGZvdW5kIGluIHRoYXQgbGlzdCwgYXMgd2VsbCBhcyBwcm9jZXNzaW5nCisgICAgaW5zdHJ1Y3Rpb25zIG9yIGNvbW1lbnRzIGZvdW5kIGJlZm9yZSBvciBhZnRlciB0aGUgZG9jdW1lbnQgcm9vdCBlbGVtZW50LgorICAgIFVzZSA8c3Ryb25nPnhtbERvY0dldFJvb3RFbGVtZW50KGRvYyk8L3N0cm9uZz4gdG8gZ2V0IHRoZSByb290IGVsZW1lbnQgb2YKKyAgICBhIGRvY3VtZW50LiBBbHRlcm5hdGl2ZWx5IGlmIHlvdSBhcmUgc3VyZSB0byBub3QgcmVmZXJlbmNlIERURHMgbm9yIGhhdmUKKyAgICBQSXMgb3IgY29tbWVudHMgYmVmb3JlIG9yIGFmdGVyIHRoZSByb290IGVsZW1lbnQKKyAgICBzLy0mZ3Q7cm9vdC8tJmd0O2NoaWxkcmVuL2cgd2lsbCBwcm9iYWJseSBkbyBpdC48L2xpPgorICA8bGk+VGhlIHdoaXRlIHNwYWNlIGlzc3VlLCB0aGlzIG9uZSBpcyBtb3JlIGNvbXBsZXgsIHVubGVzcyBzcGVjaWFsIGNhc2Ugb2YKKyAgICB2YWxpZGF0aW5nIHBhcnNpbmcsIHRoZSBsaW5lIGJyZWFrcyBhbmQgc3BhY2VzIHVzdWFsbHkgdXNlZCBmb3IgaW5kZW50aW5nCisgICAgYW5kIGZvcm1hdHRpbmcgdGhlIGRvY3VtZW50IGNvbnRlbnQgYmVjb21lcyBzaWduaWZpY2FudC4gU28gdGhleSBhcmUKKyAgICByZXBvcnRlZCBieSBTQVggYW5kIGlmIHlvdXIgdXNpbmcgdGhlIERPTSB0cmVlLCBjb3JyZXNwb25kaW5nIG5vZGVzIGFyZQorICAgIGdlbmVyYXRlZC4gVG9vIGFwcHJvYWNoIGNhbiBiZSB0YWtlbjoKKyAgICA8b2w+CisgICAgICA8bGk+bGF6eSBvbmUsIHVzZSB0aGUgY29tcGF0aWJpbGl0eSBjYWxsCisgICAgICAgIDxzdHJvbmc+eG1sS2VlcEJsYW5rc0RlZmF1bHQoMCk8L3N0cm9uZz4gYnV0IGJlIGF3YXJlIHRoYXQgeW91IGFyZQorICAgICAgICByZWx5aW5nIG9uIGEgc3BlY2lhbCAoYW5kIHBvc3NpYmx5IGJyb2tlbikgc2V0IG9mIGhldXJpc3RpY3Mgb2YKKyAgICAgICAgbGlieG1sIHRvIGRldGVjdCBpZ25vcmFibGUgYmxhbmtzLiBEb24ndCBjb21wbGFpbiBpZiBpdCBicmVha3Mgb3IKKyAgICAgICAgbWFrZSB5b3VyIGFwcGxpY2F0aW9uIG5vdCAxMDAlIGNsZWFuIHcuci50LiB0byBpdCdzIGlucHV0LjwvbGk+CisgICAgICA8bGk+dGhlIFJpZ2h0IFdheTogY2hhbmdlIHlvdSBjb2RlIHRvIGFjY2VwdCBwb3NzaWJseSBpbnNpZ25pZmljYW50CisgICAgICAgIGJsYW5rcyBjaGFyYWN0ZXJzLCBvciBoYXZlIHlvdXIgdHJlZSBwb3B1bGF0ZWQgd2l0aCB3ZWlyZCBibGFuayB0ZXh0CisgICAgICAgIG5vZGVzLiBZb3UgY2FuIHNwb3QgdGhlbSB1c2luZyB0aGUgY29tbW9kaXR5IGZ1bmN0aW9uCisgICAgICAgIDxzdHJvbmc+eG1sSXNCbGFua05vZGUobm9kZSk8L3N0cm9uZz4gcmV0dXJuaW5nIDEgZm9yIHN1Y2ggYmxhbmsKKyAgICAgICAgbm9kZXMuPC9saT4KKyAgICA8L29sPgorICAgIDxwPk5vdGUgYWxzbyB0aGF0IHdpdGggdGhlIG5ldyBkZWZhdWx0IHRoZSBvdXRwdXQgZnVuY3Rpb25zIGRvbid0IGFkZCBhbnkKKyAgICBleHRyYSBpbmRlbnRhdGlvbiB3aGVuIHNhdmluZyBhIHRyZWUgaW4gb3JkZXIgdG8gYmUgYWJsZSB0byByb3VuZCB0cmlwCisgICAgKHJlYWQgYW5kIHNhdmUpIHdpdGhvdXQgaW5mbGF0aW5nIHRoZSBkb2N1bWVudCB3aXRoIGV4dHJhIGZvcm1hdHRpbmcKKyAgICBjaGFycy48L3A+CisgIDwvbGk+CisgIDxsaT5UaGUgaW5jbHVkZSBwYXRoIGhhcyBjaGFuZ2VkIHRvICRwcmVmaXgvbGlieG1sLyBhbmQgdGhlIGluY2x1ZGVzCisgICAgdGhlbXNlbHZlcyB1c2VzIHRoaXMgbmV3IHByZWZpeCBpbiBpbmNsdWRlcyBpbnN0cnVjdGlvbnMuLi4gSWYgeW91IGFyZQorICAgIHVzaW5nIChhcyBleHBlY3RlZCkgdGhlCisgICAgPHByZT54bWwyLWNvbmZpZyAtLWNmbGFnczwvcHJlPgorICAgIDxwPm91dHB1dCB0byBnZW5lcmF0ZSB5b3UgY29tcGlsZSBjb21tYW5kcyB0aGlzIHdpbGwgcHJvYmFibHkgd29yayBvdXQgb2YKKyAgICB0aGUgYm94PC9wPgorICA8L2xpPgorICA8bGk+eG1sRGV0ZWN0Q2hhckVuY29kaW5nIHRha2VzIGFuIGV4dHJhIGFyZ3VtZW50IGluZGljYXRpbmcgdGhlIGxlbmd0aCBpbgorICAgIGJ5dGUgb2YgdGhlIGhlYWQgb2YgdGhlIGRvY3VtZW50IGF2YWlsYWJsZSBmb3IgY2hhcmFjdGVyIGRldGVjdGlvbi48L2xpPgorPC9vbD48aDM+RW5zdXJpbmcgYm90aCBsaWJ4bWwtMS54IGFuZCBsaWJ4bWwtMi54IGNvbXBhdGliaWxpdHk8L2gzPjxwPlR3byBuZXcgdmVyc2lvbiBvZiBsaWJ4bWwgKDEuOC4xMSkgYW5kIGxpYnhtbDIgKDIuMy40KSBoYXZlIGJlZW4gcmVsZWFzZWQKK3RvIGFsbG93IHNtb290aCB1cGdyYWRlIG9mIGV4aXN0aW5nIGxpYnhtbCB2MWNvZGUgd2hpbGUgcmV0YWluaW5nCitjb21wYXRpYmlsaXR5LiBUaGV5IG9mZmVycyB0aGUgZm9sbG93aW5nOjwvcD48b2w+CisgIDxsaT5zaW1pbGFyIGluY2x1ZGUgbmFtaW5nLCBvbmUgc2hvdWxkIHVzZQorICAgIDxzdHJvbmc+I2luY2x1ZGUmbHQ7bGlieG1sLy4uLiZndDs8L3N0cm9uZz4gaW4gYm90aCBjYXNlcy48L2xpPgorICA8bGk+c2ltaWxhciBpZGVudGlmaWVycyBkZWZpbmVkIHZpYSBtYWNyb3MgZm9yIHRoZSBjaGlsZCBhbmQgcm9vdCBmaWVsZHM6CisgICAgcmVzcGVjdGl2ZWx5IDxzdHJvbmc+eG1sQ2hpbGRyZW5Ob2RlPC9zdHJvbmc+IGFuZAorICAgIDxzdHJvbmc+eG1sUm9vdE5vZGU8L3N0cm9uZz48L2xpPgorICA8bGk+YSBuZXcgbWFjcm8gPHN0cm9uZz5MSUJYTUxfVEVTVF9WRVJTSU9OPC9zdHJvbmc+IHdoaWNoIHNob3VsZCBiZQorICAgIGluc2VydGVkIG9uY2UgaW4gdGhlIGNsaWVudCBjb2RlPC9saT4KKzwvb2w+PHA+U28gdGhlIHJvYWRtYXAgdG8gdXBncmFkZSB5b3VyIGV4aXN0aW5nIGxpYnhtbCBhcHBsaWNhdGlvbnMgaXMgdGhlCitmb2xsb3dpbmc6PC9wPjxvbD4KKyAgPGxpPmluc3RhbGwgdGhlICBsaWJ4bWwtMS44LjggKGFuZCBsaWJ4bWwtZGV2ZWwtMS44LjgpIHBhY2thZ2VzPC9saT4KKyAgPGxpPmZpbmQgYWxsIG9jY3VycmVuY2VzIHdoZXJlIHRoZSB4bWxEb2MgPHN0cm9uZz5yb290PC9zdHJvbmc+IGZpZWxkIGlzCisgICAgdXNlZCBhbmQgY2hhbmdlIGl0IHRvIDxzdHJvbmc+eG1sUm9vdE5vZGU8L3N0cm9uZz48L2xpPgorICA8bGk+c2ltaWxhcmx5IGZpbmQgYWxsIG9jY3VycmVuY2VzIHdoZXJlIHRoZSB4bWxOb2RlCisgICAgPHN0cm9uZz5jaGlsZHM8L3N0cm9uZz4gZmllbGQgaXMgdXNlZCBhbmQgY2hhbmdlIGl0IHRvCisgICAgPHN0cm9uZz54bWxDaGlsZHJlbk5vZGU8L3N0cm9uZz48L2xpPgorICA8bGk+YWRkIGEgPHN0cm9uZz5MSUJYTUxfVEVTVF9WRVJTSU9OPC9zdHJvbmc+IG1hY3JvIHNvbWV3aGVyZSBpbiB5b3VyCisgICAgPHN0cm9uZz5tYWluKCk8L3N0cm9uZz4gb3IgaW4gdGhlIGxpYnJhcnkgaW5pdCBlbnRyeSBwb2ludDwvbGk+CisgIDxsaT5SZWNvbXBpbGUsIGNoZWNrIGNvbXBhdGliaWxpdHksIGl0IHNob3VsZCBzdGlsbCB3b3JrPC9saT4KKyAgPGxpPkNoYW5nZSB5b3VyIGNvbmZpZ3VyZSBzY3JpcHQgdG8gbG9vayBmaXJzdCBmb3IgeG1sMi1jb25maWcgYW5kIGZhbGwKKyAgICBiYWNrIHVzaW5nIHhtbC1jb25maWcgLiBVc2UgdGhlIC0tY2ZsYWdzIGFuZCAtLWxpYnMgb3V0cHV0IG9mIHRoZSBjb21tYW5kCisgICAgYXMgdGhlIEluY2x1ZGUgYW5kIExpbmtpbmcgcGFyYW1ldGVycyBuZWVkZWQgdG8gdXNlIGxpYnhtbC48L2xpPgorICA8bGk+aW5zdGFsbCBsaWJ4bWwyLTIuMy54IGFuZCAgbGlieG1sMi1kZXZlbC0yLjMueCAobGlieG1sLTEuOC55IGFuZAorICAgIGxpYnhtbC1kZXZlbC0xLjgueSBjYW4gYmUga2VwdCBzaW11bHRhbmVvdXNseSk8L2xpPgorICA8bGk+cmVtb3ZlIHlvdXIgY29uZmlnLmNhY2hlLCByZWxhdW5jaCB5b3VyIGNvbmZpZ3VyYXRpb24gbWVjaGFuaXNtLCBhbmQKKyAgICByZWNvbXBpbGUsIGlmIHN0ZXBzIDIgYW5kIDMgd2VyZSBkb25lIHJpZ2h0IGl0IHNob3VsZCBjb21waWxlIGFzLWlzPC9saT4KKyAgPGxpPlRlc3QgdGhhdCB5b3VyIGFwcGxpY2F0aW9uIGlzIHN0aWxsIHJ1bm5pbmcgY29ycmVjdGx5LCBpZiBub3QgdGhpcyBtYXkKKyAgICBiZSBkdWUgdG8gZXh0cmEgZW1wdHkgbm9kZXMgZHVlIHRvIGZvcm1hdGluZyBzcGFjZXMgYmVpbmcga2VwdCBpbiBsaWJ4bWwyCisgICAgY29udHJhcnkgdG8gbGlieG1sMSwgaW4gdGhhdCBjYXNlIGluc2VydCB4bWxLZWVwQmxhbmtzRGVmYXVsdCgxKSBpbiB5b3VyCisgICAgY29kZSBiZWZvcmUgY2FsbGluZyB0aGUgcGFyc2VyIChuZXh0IHRvCisgICAgPHN0cm9uZz5MSUJYTUxfVEVTVF9WRVJTSU9OPC9zdHJvbmc+IGlzIGEgZmluZSBwbGFjZSkuPC9saT4KKzwvb2w+PHA+Rm9sbG93aW5nIHRob3NlIHN0ZXBzIHNob3VsZCB3b3JrLiBJdCB3b3JrZWQgZm9yIHNvbWUgb2YgbXkgb3duIGNvZGUuPC9wPjxwPkxldCBtZSBwdXQgc29tZSBlbXBoYXNpcyBvbiB0aGUgZmFjdCB0aGF0IHRoZXJlIGlzIGZhciBtb3JlIGNoYW5nZXMgZnJvbQorbGlieG1sIDEueCB0byAyLnggdGhhbiB0aGUgb25lcyB5b3UgbWF5IGhhdmUgdG8gcGF0Y2ggZm9yLiBUaGUgb3ZlcmFsbCBjb2RlCitoYXMgYmVlbiBjb25zaWRlcmFibHkgY2xlYW5lZCB1cCBhbmQgdGhlIGNvbmZvcm1hbmNlIHRvIHRoZSBYTUwgc3BlY2lmaWNhdGlvbgoraGFzIGJlZW4gZHJhc3RpY2FsbHkgaW1wcm92ZWQgdG9vLiBEb24ndCB0YWtlIHRob3NlIGNoYW5nZXMgYXMgYW4gZXhjdXNlIHRvCitub3QgdXBncmFkZSwgaXQgbWF5IGNvc3QgYSBsb3Qgb24gdGhlIGxvbmcgdGVybSAuLi48L3A+PHA+PGEgaHJlZj0iYnVncy5odG1sIj5EYW5pZWwgVmVpbGxhcmQ8L2E+PC9wPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy93M2MucG5nIGIvbGlieG1sMi9kb2MvdzNjLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNTQxYzIwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MvdzNjLnBuZwpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy93aWtpLnhzbCBiL2xpYnhtbDIvZG9jL3dpa2kueHNsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMwNzJkMjAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy93aWtpLnhzbApAQCAtMCwwICsxLDU4OSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IS0tCisgIFN0eWxlc2hlZXQgdG8gZ2VuZXJhdGUgdGhlIEhUTUwgZG9jdW1lbnRhdGlvbiBmcm9tIGFuIFhNTCBBUEkgZGVzY3JpcHRpb25zOgorICB4c2x0cHJvYyB3aWtpLnhzbCBsaWJ4bWwyLWFwaS54bWwKKworICBEYW5pZWwgVmVpbGxhcmQKKy0tPgorPHhzbDpzdHlsZXNoZWV0IHZlcnNpb249IjEuMCIKKyAgeG1sbnM6eHNsPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L1hTTC9UcmFuc2Zvcm0iCisgIHhtbG5zOmV4c2w9Imh0dHA6Ly9leHNsdC5vcmcvY29tbW9uIgorICB4bWxuczpzdHI9Imh0dHA6Ly9leHNsdC5vcmcvc3RyaW5ncyIKKyAgZXh0ZW5zaW9uLWVsZW1lbnQtcHJlZml4ZXM9ImV4c2wgc3RyIgorICBleGNsdWRlLXJlc3VsdC1wcmVmaXhlcz0iZXhzbCBzdHIiPgorCisgIDwhLS0gR2VuZXJhdGUgWEhUTUwtMS4wIHRyYW5zaXRpb25hbCAtLT4KKyAgPHhzbDpvdXRwdXQgbWV0aG9kPSJ4bWwiIGVuY29kaW5nPSJVVEYtOCIgaW5kZW50PSJ5ZXMiCisgICAgICBkb2N0eXBlLXB1YmxpYz0iLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iCisgICAgICBkb2N0eXBlLXN5c3RlbT0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCIvPgorCisgIDwhLS0gQnVpbGQga2V5cyBmb3IgYWxsIHN5bWJvbHMgLS0+CisgIDx4c2w6a2V5IG5hbWU9InN5bWJvbHMiIG1hdGNoPSIvYXBpL3N5bWJvbHMvKiIgdXNlPSJAbmFtZSIvPgorCisgIDwhLS0gdGhlIHRhcmdldCBkaXJlY3RvcnkgZm9yIHRoZSBIVE1MIG91dHB1dCAtLT4KKyAgPHhzbDp2YXJpYWJsZSBuYW1lPSJodG1sZGlyIj53aWtpPC94c2w6dmFyaWFibGU+CisgIDx4c2w6dmFyaWFibGUgbmFtZT0iaHJlZl9iYXNlIj4uLi88L3hzbDp2YXJpYWJsZT4KKworICA8eHNsOnRlbXBsYXRlIG5hbWU9InN0eWxlIj4KKyAgICA8bGluayByZWw9IlNIT1JUQ1VUIElDT04iIGhyZWY9Ii9mYXZpY29uLmljbyIvPiAKKyAgICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorVEQge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0JPRFkge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYTsgbWFyZ2luLXRvcDogMmVtOyBtYXJnaW4tbGVmdDogMGVtOyBtYXJnaW4tcmlnaHQ6IDBlbX0KK0gxIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMiB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDMge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0E6bGluaywgQTp2aXNpdGVkLCBBOmFjdGl2ZSB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIH0KKzwvc3R5bGU+CisgIDwveHNsOnRlbXBsYXRlPgorCisgIDx4c2w6dGVtcGxhdGUgbmFtZT0iZG9jc3R5bGUiPgorICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAgICBkaXYuZGVwcmVjYXRlZCBwcmUucHJvZ3JhbWxpc3Rpbmcge2JvcmRlci1zdHlsZTogZG91YmxlO2JvcmRlci1jb2xvcjpyZWR9CisgICAgICBwcmUucHJvZ3JhbWxpc3Rpbmcge2JvcmRlci1zdHlsZTogZG91YmxlO30KKyAgICA8L3N0eWxlPgorICA8L3hzbDp0ZW1wbGF0ZT4KKworICA8IS0tIFRoaXMgaXMgY29udm9sdXRlZCBidXQgbmVlZGVkIHRvIGZvcmNlIHRoZSBjdXJyZW50IGRvY3VtZW50IHRvCisgICAgICAgYmUgdGhlIEFQSSBvbmUgYW5kIG5vdCB0aGUgcmVzdWx0IHRyZWUgZnJvbSB0aGUgdG9rZW5pemUoKSByZXN1bHQsCisgICAgICAgYmVjYXVzZSB0aGUga2V5cyBhcmUgb25seSBkZWZpbmVkIG9uIHRoZSBtYWluIGRvY3VtZW50IC0tPgorICA8eHNsOnRlbXBsYXRlIG1vZGU9ImR1bXB0b2tlbiIgbWF0Y2g9JyonPgorICAgIDx4c2w6cGFyYW0gbmFtZT0idG9rZW4iLz4KKyAgICA8eHNsOnZhcmlhYmxlIG5hbWU9InJlZiIgc2VsZWN0PSJrZXkoJ3N5bWJvbHMnLCAkdG9rZW4pIi8+CisgICAgPHhzbDpjaG9vc2U+CisgICAgICA8eHNsOndoZW4gdGVzdD0iJHJlZiI+CisgICAgICAgIDxhIGhyZWY9ImxpYnhtbC17JHJlZi9AZmlsZX0uaHRtbCN7JHJlZi9AbmFtZX0iPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkdG9rZW4iLz48L2E+CisgICAgICA8L3hzbDp3aGVuPgorICAgICAgPHhzbDpvdGhlcndpc2U+CisgICAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkdG9rZW4iLz4KKyAgICAgIDwveHNsOm90aGVyd2lzZT4KKyAgICA8L3hzbDpjaG9vc2U+CisgIDwveHNsOnRlbXBsYXRlPgorCisgIDwhLS0gZHVtcHMgYSBzdHJpbmcsIG1ha2luZyBjcm9zcy1yZWZlcmVuY2UgbGlua3MgLS0+CisgIDx4c2w6dGVtcGxhdGUgbmFtZT0iZHVtcHRleHQiPgorICAgIDx4c2w6cGFyYW0gbmFtZT0idGV4dCIvPgorICAgIDx4c2w6dmFyaWFibGUgbmFtZT0iY3R4dCIgc2VsZWN0PScuJy8+CisgICAgPCEtLSA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iJHRleHQiLz4gLS0+CisgICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9InN0cjp0b2tlbml6ZSgkdGV4dCwgJyAmIzk7JykiPgorICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSIkY3R4dCIgbW9kZT0nZHVtcHRva2VuJz4KKyAgICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9InRva2VuIiBzZWxlY3Q9InN0cmluZyguKSIvPgorICAgICAgPC94c2w6YXBwbHktdGVtcGxhdGVzPgorICAgICAgPHhzbDppZiB0ZXN0PSJwb3NpdGlvbigpICE9IGxhc3QoKSI+CisgICAgICAgIDx4c2w6dGV4dD4gPC94c2w6dGV4dD4KKyAgICAgIDwveHNsOmlmPgorICAgIDwveHNsOmZvci1lYWNoPgorICA8L3hzbDp0ZW1wbGF0ZT4KKworICA8eHNsOnRlbXBsYXRlIG1hdGNoPSJtYWNybyIgbW9kZT0idG9jIj4KKyAgICA8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+CisgICAgPHhzbDp0ZXh0PiNkZWZpbmUgPC94c2w6dGV4dD48YSBocmVmPSIje0BuYW1lfSI+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+PC9hPgorICAgIDwvcHJlPgorICA8L3hzbDp0ZW1wbGF0ZT4KKworICA8eHNsOnRlbXBsYXRlIG1hdGNoPSJ2YXJpYWJsZSIgbW9kZT0idG9jIj4KKyAgICA8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+CisgICAgPHhzbDp0ZXh0PlZhcmlhYmxlIDwveHNsOnRleHQ+CisgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImR1bXB0ZXh0Ij4KKyAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJ0ZXh0IiBzZWxlY3Q9InN0cmluZyhAdHlwZSkiLz4KKyAgICA8L3hzbDpjYWxsLXRlbXBsYXRlPgorICAgIDx4c2w6dGV4dD4gPC94c2w6dGV4dD4KKyAgICA8YSBuYW1lPSJ7QG5hbWV9Ij48L2E+CisgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+CisgICAgPHhzbDp0ZXh0PgorCis8L3hzbDp0ZXh0PgorICAgIDwvcHJlPgorICA8L3hzbDp0ZW1wbGF0ZT4KKworICA8eHNsOnRlbXBsYXRlIG1hdGNoPSJ0eXBlZGVmIiBtb2RlPSJ0b2MiPgorICAgIDx4c2w6dmFyaWFibGUgbmFtZT0ibmFtZSIgc2VsZWN0PSJzdHJpbmcoQG5hbWUpIi8+CisgICAgPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPgorICAgIDx4c2w6Y2hvb3NlPgorICAgICAgPHhzbDp3aGVuIHRlc3Q9IkB0eXBlID0gJ2VudW0nIj4KKwk8eHNsOnRleHQ+RW51bSA8L3hzbDp0ZXh0PgorCTxhIGhyZWY9IiN7JG5hbWV9Ij48eHNsOnZhbHVlLW9mIHNlbGVjdD0iJG5hbWUiLz48L2E+CisJPHhzbDp0ZXh0PgorPC94c2w6dGV4dD4KKyAgICAgIDwveHNsOndoZW4+CisgICAgICA8eHNsOm90aGVyd2lzZT4KKwk8eHNsOnRleHQ+VHlwZWRlZiA8L3hzbDp0ZXh0PgorCTx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJkdW1wdGV4dCI+CisJICA8eHNsOndpdGgtcGFyYW0gbmFtZT0idGV4dCIgc2VsZWN0PSJAdHlwZSIvPgorCTwveHNsOmNhbGwtdGVtcGxhdGU+CisJPHhzbDp0ZXh0PiA8L3hzbDp0ZXh0PgorCTxhIG5hbWU9InskbmFtZX0iPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkbmFtZSIvPjwvYT4KKwk8eHNsOnRleHQ+Cis8L3hzbDp0ZXh0PgorICAgICAgPC94c2w6b3RoZXJ3aXNlPgorICAgIDwveHNsOmNob29zZT4KKyAgICA8L3ByZT4KKyAgPC94c2w6dGVtcGxhdGU+CisKKyAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD0idHlwZWRlZltAdHlwZSA9ICdlbnVtJ10iPgorICAgIDx4c2w6dmFyaWFibGUgbmFtZT0ibmFtZSIgc2VsZWN0PSJzdHJpbmcoQG5hbWUpIi8+CisgICAgPGgzPkVudW0gPGEgbmFtZT0ieyRuYW1lfSI+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRuYW1lIi8+PC9hPjwvaDM+CisgICAgPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPgorICAgICAgPHhzbDp0ZXh0PkVudW0gPC94c2w6dGV4dD4KKyAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkbmFtZSIvPgorICAgICAgPHhzbDp0ZXh0PiB7Cis8L3hzbDp0ZXh0PgorICAgICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9Ii9hcGkvc3ltYm9scy9lbnVtW0B0eXBlID0gJG5hbWVdIj4KKyAgICAgICAgPHhzbDpzb3J0IHNlbGVjdD0iQHZhbHVlIiBkYXRhLXR5cGU9Im51bWJlciIgb3JkZXI9ImFzY2VuZGluZyIvPgorICAgICAgICA8eHNsOnRleHQ+ICAgIDwveHNsOnRleHQ+CisgICAgICAgIDxhIG5hbWU9IntAbmFtZX0iPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPjwvYT4KKyAgICAgICAgPHhzbDp0ZXh0PiA9IDwveHNsOnRleHQ+CisgICAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAdmFsdWUiLz4KKyAgICAgICAgPHhzbDppZiB0ZXN0PSJAaW5mbyAhPSAnJyI+CisJICA8eHNsOnRleHQ+IDogPC94c2w6dGV4dD4KKwkgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJkdW1wdGV4dCI+CisJICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJ0ZXh0IiBzZWxlY3Q9IkBpbmZvIi8+CisJICA8L3hzbDpjYWxsLXRlbXBsYXRlPgorICAgICAgICA8L3hzbDppZj4KKyAgICAgICAgPHhzbDp0ZXh0PgorPC94c2w6dGV4dD4KKyAgICAgIDwveHNsOmZvci1lYWNoPgorICAgICAgPHhzbDp0ZXh0Pn0KKzwveHNsOnRleHQ+CisgICAgPC9wcmU+CisgIDwveHNsOnRlbXBsYXRlPgorCisgIDx4c2w6dGVtcGxhdGUgbWF0Y2g9InN0cnVjdCIgbW9kZT0idG9jIj4KKyAgICA8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+CisgICAgPHhzbDp0ZXh0PlN0cnVjdHVyZSA8L3hzbDp0ZXh0PjxhIGhyZWY9IiN7QG5hbWV9Ij48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz48L2E+PGJyLz4KKyAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iQHR5cGUiLz48eHNsOnRleHQ+Cis8L3hzbDp0ZXh0PgorICAgIDx4c2w6aWYgdGVzdD0ibm90KGZpZWxkKSI+CisgICAgICA8eHNsOnRleHQ+VGhlIGNvbnRlbnQgb2YgdGhpcyBzdHJ1Y3R1cmUgaXMgbm90IG1hZGUgcHVibGljIGJ5IHRoZSBBUEkuCis8L3hzbDp0ZXh0PgorICAgIDwveHNsOmlmPgorICAgIDwvcHJlPgorICA8L3hzbDp0ZW1wbGF0ZT4KKworICA8eHNsOnRlbXBsYXRlIG1hdGNoPSJzdHJ1Y3QiPgorICAgIDxoMz48YSBuYW1lPSJ7QG5hbWV9Ij5TdHJ1Y3R1cmUgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+PC9hPjwvaDM+CisgICAgPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPgorICAgIDx4c2w6dGV4dD5TdHJ1Y3R1cmUgPC94c2w6dGV4dD48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz48YnIvPgorICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAdHlwZSIvPjx4c2w6dGV4dD4geworPC94c2w6dGV4dD4KKyAgICA8eHNsOmlmIHRlc3Q9Im5vdChmaWVsZCkiPgorICAgICAgPHhzbDp0ZXh0PlRoZSBjb250ZW50IG9mIHRoaXMgc3RydWN0dXJlIGlzIG5vdCBtYWRlIHB1YmxpYyBieSB0aGUgQVBJLgorPC94c2w6dGV4dD4KKyAgICA8L3hzbDppZj4KKyAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0iZmllbGQiPgorICAgICAgICA8eHNsOnRleHQ+ICAgIDwveHNsOnRleHQ+CisJPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImR1bXB0ZXh0Ij4KKwkgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJ0ZXh0IiBzZWxlY3Q9IkB0eXBlIi8+CisJPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKwk8eHNsOnRleHQ+JiM5OzwveHNsOnRleHQ+CisJPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+CisJPHhzbDppZiB0ZXN0PSJAaW5mbyAhPSAnJyI+CisJICA8eHNsOnRleHQ+JiM5OzogPC94c2w6dGV4dD4KKwkgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJkdW1wdGV4dCI+CisJICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJ0ZXh0IiBzZWxlY3Q9InN1YnN0cmluZyhAaW5mbywgMSwgNDApIi8+CisJICA8L3hzbDpjYWxsLXRlbXBsYXRlPgorCTwveHNsOmlmPgorCTx4c2w6dGV4dD4KKzwveHNsOnRleHQ+CisgICAgPC94c2w6Zm9yLWVhY2g+CisgICAgPHhzbDp0ZXh0Pn08L3hzbDp0ZXh0PgorICAgIDwvcHJlPgorICA8L3hzbDp0ZW1wbGF0ZT4KKworICA8eHNsOnRlbXBsYXRlIG1hdGNoPSJtYWNybyI+CisgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJuYW1lIiBzZWxlY3Q9InN0cmluZyhAbmFtZSkiLz4KKyAgICA8aDM+PGEgbmFtZT0ieyRuYW1lfSI+PC9hPk1hY3JvOiA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iJG5hbWUiLz48L2gzPgorICAgIDxwcmU+PHhzbDp0ZXh0PiNkZWZpbmUgPC94c2w6dGV4dD48eHNsOnZhbHVlLW9mIHNlbGVjdD0iJG5hbWUiLz48L3ByZT4KKyAgICA8cD4KKyAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iZHVtcHRleHQiPgorICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9InRleHQiIHNlbGVjdD0iaW5mbyIvPgorICAgIDwveHNsOmNhbGwtdGVtcGxhdGU+CisgICAgPC9wPjx4c2w6dGV4dD4KKzwveHNsOnRleHQ+CisgIDwveHNsOnRlbXBsYXRlPgorCisgIDx4c2w6dGVtcGxhdGUgbWF0Y2g9ImZ1bmN0aW9uIiBtb2RlPSJ0b2MiPgorICAgIDx4c2w6dmFyaWFibGUgbmFtZT0ibmFtZSIgc2VsZWN0PSJzdHJpbmcoQG5hbWUpIi8+CisgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJubGVuIiBzZWxlY3Q9InN0cmluZy1sZW5ndGgoJG5hbWUpIi8+CisgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJ0bGVuIiBzZWxlY3Q9InN0cmluZy1sZW5ndGgocmV0dXJuL0B0eXBlKSIvPgorICAgIDx4c2w6dmFyaWFibGUgbmFtZT0iYmxlbiIgc2VsZWN0PSIoKCRubGVuICsgOCkgLSAoKCRubGVuICsgOCkgbW9kIDgpKSArICgoJHRsZW4gKyA4KSAtICgoJHRsZW4gKyA4KSBtb2QgOCkpIi8+CisgICAgPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPgorICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJkdW1wdGV4dCI+CisgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0idGV4dCIgc2VsZWN0PSJyZXR1cm4vQHR5cGUiLz4KKyAgICA8L3hzbDpjYWxsLXRlbXBsYXRlPgorICAgIDx4c2w6dGV4dD4mIzk7PC94c2w6dGV4dD4KKyAgICA8YSBocmVmPSIje0BuYW1lfSI+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+PC9hPgorICAgIDx4c2w6aWYgdGVzdD0iJGJsZW4gLSA0MCAmbHQ7IC04Ij4KKyAgICAgIDx4c2w6dGV4dD4mIzk7PC94c2w6dGV4dD4KKyAgICA8L3hzbDppZj4KKyAgICA8eHNsOmlmIHRlc3Q9IiRibGVuIC0gNDAgJmx0OyAwIj4KKyAgICAgIDx4c2w6dGV4dD4mIzk7PC94c2w6dGV4dD4KKyAgICA8L3hzbDppZj4KKyAgICA8eHNsOnRleHQ+JiM5Oyg8L3hzbDp0ZXh0PgorICAgIDx4c2w6aWYgdGVzdD0ibm90KGFyZykiPgorICAgICAgPHhzbDp0ZXh0PnZvaWQ8L3hzbDp0ZXh0PgorICAgIDwveHNsOmlmPgorICAgIDx4c2w6Zm9yLWVhY2ggc2VsZWN0PSJhcmciPgorICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImR1bXB0ZXh0Ij4KKyAgICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9InRleHQiIHNlbGVjdD0iQHR5cGUiLz4KKyAgICAgIDwveHNsOmNhbGwtdGVtcGxhdGU+CisgICAgICA8eHNsOnRleHQ+IDwveHNsOnRleHQ+CisgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz4KKyAgICAgIDx4c2w6aWYgdGVzdD0icG9zaXRpb24oKSAhPSBsYXN0KCkiPgorICAgICAgICA8eHNsOnRleHQ+LCA8L3hzbDp0ZXh0Pjxici8+CisJPHhzbDppZiB0ZXN0PSIkYmxlbiAtIDQwICZndDsgOCI+CisJICA8eHNsOnRleHQ+JiM5OzwveHNsOnRleHQ+CisJPC94c2w6aWY+CisJPHhzbDppZiB0ZXN0PSIkYmxlbiAtIDQwICZndDsgMCI+CisJICA8eHNsOnRleHQ+JiM5OzwveHNsOnRleHQ+CisJPC94c2w6aWY+CisJPHhzbDp0ZXh0PiYjOTsmIzk7JiM5OyYjOTsmIzk7IDwveHNsOnRleHQ+CisgICAgICA8L3hzbDppZj4KKyAgICA8L3hzbDpmb3ItZWFjaD4KKyAgICA8eHNsOnRleHQ+KTwveHNsOnRleHQ+CisgICAgPC9wcmU+PHhzbDp0ZXh0PgorPC94c2w6dGV4dD4KKyAgPC94c2w6dGVtcGxhdGU+CisKKyAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iZnVuY3R5cGUiIG1vZGU9InRvYyI+CisgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJuYW1lIiBzZWxlY3Q9InN0cmluZyhAbmFtZSkiLz4KKyAgICA8eHNsOnZhcmlhYmxlIG5hbWU9Im5sZW4iIHNlbGVjdD0ic3RyaW5nLWxlbmd0aCgkbmFtZSkiLz4KKyAgICA8eHNsOnZhcmlhYmxlIG5hbWU9InRsZW4iIHNlbGVjdD0ic3RyaW5nLWxlbmd0aChyZXR1cm4vQHR5cGUpIi8+CisgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJibGVuIiBzZWxlY3Q9IigoJG5sZW4gKyA4KSAtICgoJG5sZW4gKyA4KSBtb2QgOCkpICsgKCgkdGxlbiArIDgpIC0gKCgkdGxlbiArIDgpIG1vZCA4KSkiLz4KKyAgICA8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+CisgICAgPHhzbDp0ZXh0PkZ1bmN0aW9uIHR5cGU6IDwveHNsOnRleHQ+CisgICAgPGEgaHJlZj0iI3skbmFtZX0iPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkbmFtZSIvPjwvYT4KKyAgICA8eHNsOnRleHQ+Cis8L3hzbDp0ZXh0PgorICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJkdW1wdGV4dCI+CisgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0idGV4dCIgc2VsZWN0PSJyZXR1cm4vQHR5cGUiLz4KKyAgICA8L3hzbDpjYWxsLXRlbXBsYXRlPgorICAgIDx4c2w6dGV4dD4mIzk7PC94c2w6dGV4dD4KKyAgICA8YSBocmVmPSIjeyRuYW1lfSI+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRuYW1lIi8+PC9hPgorICAgIDx4c2w6aWYgdGVzdD0iJGJsZW4gLSA0MCAmbHQ7IC04Ij4KKyAgICAgIDx4c2w6dGV4dD4mIzk7PC94c2w6dGV4dD4KKyAgICA8L3hzbDppZj4KKyAgICA8eHNsOmlmIHRlc3Q9IiRibGVuIC0gNDAgJmx0OyAwIj4KKyAgICAgIDx4c2w6dGV4dD4mIzk7PC94c2w6dGV4dD4KKyAgICA8L3hzbDppZj4KKyAgICA8eHNsOnRleHQ+JiM5Oyg8L3hzbDp0ZXh0PgorICAgIDx4c2w6aWYgdGVzdD0ibm90KGFyZykiPgorICAgICAgPHhzbDp0ZXh0PnZvaWQ8L3hzbDp0ZXh0PgorICAgIDwveHNsOmlmPgorICAgIDx4c2w6Zm9yLWVhY2ggc2VsZWN0PSJhcmciPgorICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImR1bXB0ZXh0Ij4KKyAgICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9InRleHQiIHNlbGVjdD0iQHR5cGUiLz4KKyAgICAgIDwveHNsOmNhbGwtdGVtcGxhdGU+CisgICAgICA8eHNsOnRleHQ+IDwveHNsOnRleHQ+CisgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz4KKyAgICAgIDx4c2w6aWYgdGVzdD0icG9zaXRpb24oKSAhPSBsYXN0KCkiPgorICAgICAgICA8eHNsOnRleHQ+LCA8L3hzbDp0ZXh0Pjxici8+CisJPHhzbDppZiB0ZXN0PSIkYmxlbiAtIDQwICZndDsgOCI+CisJICA8eHNsOnRleHQ+JiM5OzwveHNsOnRleHQ+CisJPC94c2w6aWY+CisJPHhzbDppZiB0ZXN0PSIkYmxlbiAtIDQwICZndDsgMCI+CisJICA8eHNsOnRleHQ+JiM5OzwveHNsOnRleHQ+CisJPC94c2w6aWY+CisJPHhzbDp0ZXh0PiYjOTsmIzk7JiM5OyYjOTsmIzk7IDwveHNsOnRleHQ+CisgICAgICA8L3hzbDppZj4KKyAgICA8L3hzbDpmb3ItZWFjaD4KKyAgICA8eHNsOnRleHQ+KQorPC94c2w6dGV4dD4KKyAgICA8L3ByZT4KKyAgICA8eHNsOnRleHQ+Cis8L3hzbDp0ZXh0PgorICA8L3hzbDp0ZW1wbGF0ZT4KKworICA8eHNsOnRlbXBsYXRlIG1hdGNoPSJmdW5jdHlwZSI+CisgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJuYW1lIiBzZWxlY3Q9InN0cmluZyhAbmFtZSkiLz4KKyAgICA8eHNsOnZhcmlhYmxlIG5hbWU9Im5sZW4iIHNlbGVjdD0ic3RyaW5nLWxlbmd0aCgkbmFtZSkiLz4KKyAgICA8eHNsOnZhcmlhYmxlIG5hbWU9InRsZW4iIHNlbGVjdD0ic3RyaW5nLWxlbmd0aChyZXR1cm4vQHR5cGUpIi8+CisgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJibGVuIiBzZWxlY3Q9IigoJG5sZW4gKyA4KSAtICgoJG5sZW4gKyA4KSBtb2QgOCkpICsgKCgkdGxlbiArIDgpIC0gKCgkdGxlbiArIDgpIG1vZCA4KSkiLz4KKyAgICA8aDM+CisgICAgICA8YSBuYW1lPSJ7JG5hbWV9Ij48L2E+CisgICAgICA8eHNsOnRleHQ+RnVuY3Rpb24gdHlwZTogPC94c2w6dGV4dD4KKyAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkbmFtZSIvPgorICAgIDwvaDM+CisgICAgPHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPgorICAgIDx4c2w6dGV4dD5GdW5jdGlvbiB0eXBlOiA8L3hzbDp0ZXh0PgorICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkbmFtZSIvPgorICAgIDx4c2w6dGV4dD4KKzwveHNsOnRleHQ+CisgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImR1bXB0ZXh0Ij4KKyAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJ0ZXh0IiBzZWxlY3Q9InJldHVybi9AdHlwZSIvPgorICAgIDwveHNsOmNhbGwtdGVtcGxhdGU+CisgICAgPHhzbDp0ZXh0PiYjOTs8L3hzbDp0ZXh0PgorICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPgorICAgIDx4c2w6aWYgdGVzdD0iJGJsZW4gLSA0MCAmbHQ7IC04Ij4KKyAgICAgIDx4c2w6dGV4dD4mIzk7PC94c2w6dGV4dD4KKyAgICA8L3hzbDppZj4KKyAgICA8eHNsOmlmIHRlc3Q9IiRibGVuIC0gNDAgJmx0OyAwIj4KKyAgICAgIDx4c2w6dGV4dD4mIzk7PC94c2w6dGV4dD4KKyAgICA8L3hzbDppZj4KKyAgICA8eHNsOnRleHQ+JiM5Oyg8L3hzbDp0ZXh0PgorICAgIDx4c2w6aWYgdGVzdD0ibm90KGFyZykiPgorICAgICAgPHhzbDp0ZXh0PnZvaWQ8L3hzbDp0ZXh0PgorICAgIDwveHNsOmlmPgorICAgIDx4c2w6Zm9yLWVhY2ggc2VsZWN0PSJhcmciPgorICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImR1bXB0ZXh0Ij4KKyAgICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9InRleHQiIHNlbGVjdD0iQHR5cGUiLz4KKyAgICAgIDwveHNsOmNhbGwtdGVtcGxhdGU+CisgICAgICA8eHNsOnRleHQ+IDwveHNsOnRleHQ+CisgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz4KKyAgICAgIDx4c2w6aWYgdGVzdD0icG9zaXRpb24oKSAhPSBsYXN0KCkiPgorICAgICAgICA8eHNsOnRleHQ+LCA8L3hzbDp0ZXh0Pjxici8+CisJPHhzbDppZiB0ZXN0PSIkYmxlbiAtIDQwICZndDsgOCI+CisJICA8eHNsOnRleHQ+JiM5OzwveHNsOnRleHQ+CisJPC94c2w6aWY+CisJPHhzbDppZiB0ZXN0PSIkYmxlbiAtIDQwICZndDsgMCI+CisJICA8eHNsOnRleHQ+JiM5OzwveHNsOnRleHQ+CisJPC94c2w6aWY+CisJPHhzbDp0ZXh0PiYjOTsmIzk7JiM5OyYjOTsmIzk7IDwveHNsOnRleHQ+CisgICAgICA8L3hzbDppZj4KKyAgICA8L3hzbDpmb3ItZWFjaD4KKyAgICA8eHNsOnRleHQ+KQorPC94c2w6dGV4dD4KKyAgICA8L3ByZT4KKyAgICA8cD4KKyAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iZHVtcHRleHQiPgorICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9InRleHQiIHNlbGVjdD0iaW5mbyIvPgorICAgIDwveHNsOmNhbGwtdGVtcGxhdGU+CisgICAgPC9wPgorICAgIDx4c2w6aWYgdGVzdD0iYXJnIHwgcmV0dXJuIj4KKyAgICAgIDxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIvPjx0Ym9keT4KKyAgICAgIDx4c2w6Zm9yLWVhY2ggc2VsZWN0PSJhcmciPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+PC90dD48L2k+Ojwvc3Bhbj48L3RkPgorCSAgPHRkPgorCSAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iZHVtcHRleHQiPgorCSAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJ0ZXh0IiBzZWxlY3Q9IkBpbmZvIi8+CisJICAgIDwveHNsOmNhbGwtdGVtcGxhdGU+CisJICA8L3RkPgorICAgICAgICA8L3RyPgorICAgICAgPC94c2w6Zm9yLWVhY2g+CisgICAgICA8eHNsOmlmIHRlc3Q9InJldHVybi9AaW5mbyI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5SZXR1cm5zPC90dD48L2k+Ojwvc3Bhbj48L3RkPgorCSAgPHRkPgorCSAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iZHVtcHRleHQiPgorCSAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJ0ZXh0IiBzZWxlY3Q9InJldHVybi9AaW5mbyIvPgorCSAgICA8L3hzbDpjYWxsLXRlbXBsYXRlPgorCSAgPC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgIDwveHNsOmlmPgorICAgICAgPC90Ym9keT48L3RhYmxlPjwvZGl2PgorICAgIDwveHNsOmlmPgorICAgIDxici8+CisgICAgPHhzbDp0ZXh0PgorPC94c2w6dGV4dD4KKyAgPC94c2w6dGVtcGxhdGU+CisKKyAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iZnVuY3Rpb24iPgorICAgIDx4c2w6dmFyaWFibGUgbmFtZT0ibmFtZSIgc2VsZWN0PSJzdHJpbmcoQG5hbWUpIi8+CisgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJubGVuIiBzZWxlY3Q9InN0cmluZy1sZW5ndGgoJG5hbWUpIi8+CisgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJ0bGVuIiBzZWxlY3Q9InN0cmluZy1sZW5ndGgocmV0dXJuL0B0eXBlKSIvPgorICAgIDx4c2w6dmFyaWFibGUgbmFtZT0iYmxlbiIgc2VsZWN0PSIoKCRubGVuICsgOCkgLSAoKCRubGVuICsgOCkgbW9kIDgpKSArICgoJHRsZW4gKyA4KSAtICgoJHRsZW4gKyA4KSBtb2QgOCkpIi8+CisgICAgPGgzPjxhIG5hbWU9InskbmFtZX0iPjwvYT5GdW5jdGlvbjogPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRuYW1lIi8+PC9oMz4KKyAgICA8cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+CisgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImR1bXB0ZXh0Ij4KKyAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJ0ZXh0IiBzZWxlY3Q9InJldHVybi9AdHlwZSIvPgorICAgIDwveHNsOmNhbGwtdGVtcGxhdGU+CisgICAgPHhzbDp0ZXh0PiYjOTs8L3hzbDp0ZXh0PgorICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPgorICAgIDx4c2w6aWYgdGVzdD0iJGJsZW4gLSA0MCAmbHQ7IC04Ij4KKyAgICAgIDx4c2w6dGV4dD4mIzk7PC94c2w6dGV4dD4KKyAgICA8L3hzbDppZj4KKyAgICA8eHNsOmlmIHRlc3Q9IiRibGVuIC0gNDAgJmx0OyAwIj4KKyAgICAgIDx4c2w6dGV4dD4mIzk7PC94c2w6dGV4dD4KKyAgICA8L3hzbDppZj4KKyAgICA8eHNsOnRleHQ+JiM5Oyg8L3hzbDp0ZXh0PgorICAgIDx4c2w6aWYgdGVzdD0ibm90KGFyZykiPgorICAgICAgPHhzbDp0ZXh0PnZvaWQ8L3hzbDp0ZXh0PgorICAgIDwveHNsOmlmPgorICAgIDx4c2w6Zm9yLWVhY2ggc2VsZWN0PSJhcmciPgorICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImR1bXB0ZXh0Ij4KKyAgICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9InRleHQiIHNlbGVjdD0iQHR5cGUiLz4KKyAgICAgIDwveHNsOmNhbGwtdGVtcGxhdGU+CisgICAgICA8eHNsOnRleHQ+IDwveHNsOnRleHQ+CisgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz4KKyAgICAgIDx4c2w6aWYgdGVzdD0icG9zaXRpb24oKSAhPSBsYXN0KCkiPgorICAgICAgICA8eHNsOnRleHQ+LCA8L3hzbDp0ZXh0Pjxici8+CisJPHhzbDppZiB0ZXN0PSIkYmxlbiAtIDQwICZndDsgOCI+CisJICA8eHNsOnRleHQ+JiM5OzwveHNsOnRleHQ+CisJPC94c2w6aWY+CisJPHhzbDppZiB0ZXN0PSIkYmxlbiAtIDQwICZndDsgMCI+CisJICA8eHNsOnRleHQ+JiM5OzwveHNsOnRleHQ+CisJPC94c2w6aWY+CisJPHhzbDp0ZXh0PiYjOTsmIzk7JiM5OyYjOTsmIzk7IDwveHNsOnRleHQ+CisgICAgICA8L3hzbDppZj4KKyAgICA8L3hzbDpmb3ItZWFjaD4KKyAgICA8eHNsOnRleHQ+KTwveHNsOnRleHQ+PGJyLz4KKyAgICA8eHNsOnRleHQ+Cis8L3hzbDp0ZXh0PgorICAgIDwvcHJlPgorICAgIDxwPgorICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJkdW1wdGV4dCI+CisgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0idGV4dCIgc2VsZWN0PSJpbmZvIi8+CisgICAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKyAgICA8L3A+PHhzbDp0ZXh0PgorPC94c2w6dGV4dD4KKyAgICA8eHNsOmlmIHRlc3Q9ImFyZyB8IHJldHVybi9AaW5mbyI+CisgICAgICA8ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiLz48dGJvZHk+CisgICAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0iYXJnIj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0Pjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPjwvdHQ+PC9pPjo8L3NwYW4+PC90ZD4KKwkgIDx0ZD4KKwkgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImR1bXB0ZXh0Ij4KKwkgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0idGV4dCIgc2VsZWN0PSJAaW5mbyIvPgorCSAgICA8L3hzbDpjYWxsLXRlbXBsYXRlPgorCSAgPC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgIDwveHNsOmZvci1lYWNoPgorICAgICAgPHhzbDppZiB0ZXN0PSJyZXR1cm4vQGluZm8iPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+UmV0dXJuczwvdHQ+PC9pPjo8L3NwYW4+PC90ZD4KKwkgIDx0ZD4KKwkgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImR1bXB0ZXh0Ij4KKwkgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0idGV4dCIgc2VsZWN0PSJyZXR1cm4vQGluZm8iLz4KKwkgICAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKwkgIDwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICA8L3hzbDppZj4KKyAgICAgIDwvdGJvZHk+PC90YWJsZT48L2Rpdj4KKyAgICA8L3hzbDppZj4KKyAgPC94c2w6dGVtcGxhdGU+CisKKyAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iZXhwb3J0cyIgbW9kZT0idG9jIj4KKyAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImtleSgnc3ltYm9scycsIHN0cmluZyhAc3ltYm9sKSlbMV0iIG1vZGU9InRvYyIvPgorICA8L3hzbDp0ZW1wbGF0ZT4KKworICA8eHNsOnRlbXBsYXRlIG1hdGNoPSJleHBvcnRzIj4KKyAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImtleSgnc3ltYm9scycsIHN0cmluZyhAc3ltYm9sKSlbMV0iLz4KKyAgPC94c2w6dGVtcGxhdGU+CisKKyAgPHhzbDp0ZW1wbGF0ZSBuYW1lPSJkZXNjcmlwdGlvbiI+CisgICAgPHhzbDppZiB0ZXN0PSJkZXByZWNhdGVkIj4KKyAgICAgIDxoMiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZDtjb2xvcjpyZWQ7dGV4dC1hbGlnbjpjZW50ZXIiPlRoaXMgbW9kdWxlIGlzIGRlcHJlY2F0ZWQ8L2gyPgorICAgIDwveHNsOmlmPgorICAgIDx4c2w6aWYgdGVzdD0iZGVzY3JpcHRpb24iPgorICAgICAgPHA+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9ImRlc2NyaXB0aW9uIi8+PC9wPgorICAgIDwveHNsOmlmPgorICA8L3hzbDp0ZW1wbGF0ZT4KKworICA8eHNsOnRlbXBsYXRlIG5hbWU9ImRvY29tcG9uZW50cyI+CisgICAgPHhzbDpwYXJhbSBuYW1lPSJtb2RlIi8+CisgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJleHBvcnRzW0B0eXBlPSdtYWNybyddIiBtb2RlPSIkbW9kZSI+CisgICAgICA8eHNsOnNvcnQgc2VsZWN0PSdAc3ltYm9sJy8+CisgICAgPC94c2w6YXBwbHktdGVtcGxhdGVzPgorICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZXhwb3J0c1tAdHlwZT0nZW51bSddIiBtb2RlPSIkbW9kZSI+CisgICAgICA8eHNsOnNvcnQgc2VsZWN0PSdAc3ltYm9sJy8+CisgICAgPC94c2w6YXBwbHktdGVtcGxhdGVzPgorICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZXhwb3J0c1tAdHlwZT0ndHlwZWRlZiddIiBtb2RlPSIkbW9kZSI+CisgICAgICA8eHNsOnNvcnQgc2VsZWN0PSdAc3ltYm9sJy8+CisgICAgPC94c2w6YXBwbHktdGVtcGxhdGVzPgorICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZXhwb3J0c1tAdHlwZT0nc3RydWN0J10iIG1vZGU9IiRtb2RlIj4KKyAgICAgIDx4c2w6c29ydCBzZWxlY3Q9J0BzeW1ib2wnLz4KKyAgICA8L3hzbDphcHBseS10ZW1wbGF0ZXM+CisgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJleHBvcnRzW0B0eXBlPSdmdW5jdGlvbiddIiBtb2RlPSIkbW9kZSI+CisgICAgICA8eHNsOnNvcnQgc2VsZWN0PSdAc3ltYm9sJy8+CisgICAgPC94c2w6YXBwbHktdGVtcGxhdGVzPgorICA8L3hzbDp0ZW1wbGF0ZT4KKyAgCisgIDx4c2w6dGVtcGxhdGUgbWF0Y2g9ImZpbGUiPgorICAgIDx4c2w6dmFyaWFibGUgbmFtZT0ibmFtZSIgc2VsZWN0PSJAbmFtZSIvPgorICAgIDx4c2w6dmFyaWFibGUgbmFtZT0idGl0bGUiPk1vZHVsZSA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iJG5hbWUiLz4gZnJvbSA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iL2FwaS9AbmFtZSIvPjwveHNsOnZhcmlhYmxlPgorICAgIDx4c2w6ZG9jdW1lbnQgaHJlZj0ieyRodG1sZGlyfS9saWJ4bWwteyRuYW1lfS5odG1sIiBtZXRob2Q9InhtbCIgZW5jb2Rpbmc9IlVURi04IgorICAgICAgZG9jdHlwZS1wdWJsaWM9Ii0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIgorICAgICAgZG9jdHlwZS1zeXN0ZW09Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPgorCSAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0ic3R5bGUiLz4KKwkgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImRvY3N0eWxlIi8+CisgICAgICA8dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMyIgY2VsbHNwYWNpbmc9IjEiIHdpZHRoPSIxMDAlIj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD4KKwkgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImRlc2NyaXB0aW9uIi8+CisJICAgIDx4c2w6Y2hvb3NlPgorCSAgICAgIDx4c2w6d2hlbiB0ZXN0PSJkZXByZWNhdGVkIj4KKwkgICAgICAgIDxkaXYgY2xhc3M9ImRlcHJlY2F0ZWQiPgorCQkgIDxoMj5UYWJsZSBvZiBDb250ZW50czwvaDI+CisJCSAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJleHBvcnRzIiBtb2RlPSJ0b2MiLz4KKwkJICA8aDI+RGVzY3JpcHRpb248L2gyPgorCQkgIDx4c2w6dGV4dD4KKzwveHNsOnRleHQ+CisJCSAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJleHBvcnRzIi8+CisJCTwvZGl2PgorCSAgICAgIDwveHNsOndoZW4+CisJICAgICAgPHhzbDpvdGhlcndpc2U+CisJCTxoMj5UYWJsZSBvZiBDb250ZW50czwvaDI+CisJCTx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZXhwb3J0c1tAdHlwZT0nbWFjcm8nXSIgbW9kZT0idG9jIj4KKwkJICA8eHNsOnNvcnQgc2VsZWN0PSdAc3ltYm9sJy8+CisJCTwveHNsOmFwcGx5LXRlbXBsYXRlcz4KKwkJPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJleHBvcnRzW0B0eXBlPSdlbnVtJ10iIG1vZGU9InRvYyI+CisJCSAgPHhzbDpzb3J0IHNlbGVjdD0nQHN5bWJvbCcvPgorCQk8L3hzbDphcHBseS10ZW1wbGF0ZXM+CisJCTx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZXhwb3J0c1tAdHlwZT0ndHlwZWRlZiddIiBtb2RlPSJ0b2MiPgorCQkgIDx4c2w6c29ydCBzZWxlY3Q9J0BzeW1ib2wnLz4KKwkJPC94c2w6YXBwbHktdGVtcGxhdGVzPgorCQk8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImV4cG9ydHNbQHR5cGU9J3N0cnVjdCddIiBtb2RlPSJ0b2MiPgorCQkgIDx4c2w6c29ydCBzZWxlY3Q9J0BzeW1ib2wnLz4KKwkJPC94c2w6YXBwbHktdGVtcGxhdGVzPgorCQk8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImV4cG9ydHNbQHR5cGU9J2Z1bmN0aW9uJ10iIG1vZGU9InRvYyI+CisJCSAgPHhzbDpzb3J0IHNlbGVjdD0nQHN5bWJvbCcvPgorCQk8L3hzbDphcHBseS10ZW1wbGF0ZXM+CisJCTxoMj5EZXNjcmlwdGlvbjwvaDI+CisJCTx4c2w6dGV4dD4KKzwveHNsOnRleHQ+CisJCTx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZXhwb3J0c1tAdHlwZT0nbWFjcm8nXSI+CisJCSAgPHhzbDpzb3J0IHNlbGVjdD0nQHN5bWJvbCcvPgorCQk8L3hzbDphcHBseS10ZW1wbGF0ZXM+CisJCTx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZXhwb3J0c1tAdHlwZT0nZW51bSddIj4KKwkJICA8eHNsOnNvcnQgc2VsZWN0PSdAc3ltYm9sJy8+CisJCTwveHNsOmFwcGx5LXRlbXBsYXRlcz4KKwkJPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJleHBvcnRzW0B0eXBlPSd0eXBlZGVmJ10iPgorCQkgIDx4c2w6c29ydCBzZWxlY3Q9J0BzeW1ib2wnLz4KKwkJPC94c2w6YXBwbHktdGVtcGxhdGVzPgorCQk8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImV4cG9ydHNbQHR5cGU9J3N0cnVjdCddIj4KKwkJICA8eHNsOnNvcnQgc2VsZWN0PSdAc3ltYm9sJy8+CisJCTwveHNsOmFwcGx5LXRlbXBsYXRlcz4KKwkJPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJleHBvcnRzW0B0eXBlPSdmdW5jdGlvbiddIj4KKwkJICA8eHNsOnNvcnQgc2VsZWN0PSdAc3ltYm9sJy8+CisJCTwveHNsOmFwcGx5LXRlbXBsYXRlcz4KKwkgICAgICA8L3hzbDpvdGhlcndpc2U+CisJICAgIDwveHNsOmNob29zZT4KKyAgICA8L3RkPgorICA8L3RyPgorPC90YWJsZT4KKyAgICA8L3hzbDpkb2N1bWVudD4KKyAgPC94c2w6dGVtcGxhdGU+CisKKyAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iZmlsZSIgbW9kZT0idG9jIj4KKyAgICA8eHNsOnZhcmlhYmxlIG5hbWU9Im5hbWUiIHNlbGVjdD0iQG5hbWUiLz4KKyAgICA8Yj48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvd2lraS9pbmRleC5waHA/dGl0bGU9TGlieG1sMjpBcGk6eyRuYW1lfSI+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRuYW1lIi8+PC9hPjwvYj48YnIvPgorICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9InN1bW1hcnkiLz4KKyAgICAgIDxici8+PGJyLz4KKyAgPC94c2w6dGVtcGxhdGU+CisKKyAgPHhzbDp0ZW1wbGF0ZSBuYW1lPSJtYWlucGFnZSI+CisgICAgPHhzbDpwYXJhbSBuYW1lPSJmaWxlIiBzZWxlY3Q9ImNvbmNhdCgkaHRtbGRpciwgJy9saWJ4bWwtaW5kZXguaHRtbCcpIi8+CisgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJ0aXRsZSI+UmVmZXJlbmNlIE1hbnVhbCBmb3IgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9Ii9hcGkvQG5hbWUiLz48L3hzbDp2YXJpYWJsZT4KKyAgICA8eHNsOmRvY3VtZW50IGhyZWY9InskZmlsZX0iIG1ldGhvZD0ieG1sIiBlbmNvZGluZz0iVVRGLTgiCisgICAgICBkb2N0eXBlLXB1YmxpYz0iLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iCisgICAgICBkb2N0eXBlLXN5c3RlbT0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+CisgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0ic3R5bGUiLz4KKyAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJkb2NzdHlsZSIvPgorICAgICAgPHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiB3aWR0aD0iMTAwJSI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+CisgICAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9Ii9hcGkvZmlsZXMvZmlsZSIgbW9kZT0idG9jIi8+CisgICAgICAgICAgPC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgIDwvdGFibGU+CisgICAgPC94c2w6ZG9jdW1lbnQ+CisgIDwveHNsOnRlbXBsYXRlPgorCisgIDx4c2w6dGVtcGxhdGUgbWF0Y2g9Ii8iPgorICAgIDwhLS0gU2F2ZSB0aGUgbWFpbiBsaWJ4bWwtaW5kZXguaHRtbCBhcyB3ZWxsIGFzIGEgY291cGxlIG9mIGNvcGllcyAtLT4KKyAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0ibWFpbnBhZ2UiLz4KKyAgICA8IS0tIG5vdyBidWlsZCB0aGUgZmlsZSBmb3IgZWFjaCBvZiB0aGUgbW9kdWxlcyAtLT4KKyAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9Ii9hcGkvZmlsZXMvZmlsZSIvPgorICA8L3hzbDp0ZW1wbGF0ZT4KKworPC94c2w6c3R5bGVzaGVldD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL3htbC5odG1sIGIvbGlieG1sMi9kb2MveG1sLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzczMjg1ZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL3htbC5odG1sCkBAIC0wLDAgKzEsNTk5NSBAQAorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFsLy9FTiIKKyAgICAiaHR0cDovL3d3dy53My5vcmcvVFIvaHRtbDQvbG9vc2UuZHRkIj4KKzxodG1sPgorPGhlYWQ+CisgIDx0aXRsZT5UaGUgWE1MIEMgcGFyc2VyIGFuZCB0b29sa2l0IG9mIEdub21lPC90aXRsZT4KKyAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiLz4KKzwvaGVhZD4KKzxib2R5IGJnY29sb3I9IiNmZmZmZmYiPgorPGgxIGFsaWduPSJjZW50ZXIiPlRoZSBYTUwgQyBwYXJzZXIgYW5kIHRvb2xraXQgb2YgR25vbWU8L2gxPgorCis8aDE+Tm90ZTogdGhpcyBpcyB0aGUgZmxhdCBjb250ZW50IG9mIHRoZSA8YSBocmVmPSJpbmRleC5odG1sIj53ZWIKK3NpdGU8L2E+PC9oMT4KKworPGgxIHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXIiPmxpYnhtbCwgYS5rLmEuIGdub21lLXhtbDwvaDE+CisKKzxwPjwvcD4KKworPHAKK3N0eWxlPSJ0ZXh0LWFsaWduOiByaWdodDsgZm9udC1zdHlsZTogaXRhbGljOyBmb250LXNpemU6IDEwcHQiPiJQcm9ncmFtbWluZword2l0aCBsaWJ4bWwyIGlzIGxpa2UgdGhlIHRocmlsbGluZyBlbWJyYWNlIG9mIGFuIGV4b3RpYyBzdHJhbmdlci4iIDxhCitocmVmPSJodHRwOi8vZGl2ZWludG9tYXJrLm9yZy9hcmNoaXZlcy8yMDA0LzAyLzE4L2xpYnhtbDIiPk1hcmsKK1BpbGdyaW08L2E+PC9wPgorCis8cD5MaWJ4bWwyIGlzIHRoZSBYTUwgQyBwYXJzZXIgYW5kIHRvb2xraXQgZGV2ZWxvcGVkIGZvciB0aGUgR25vbWUgcHJvamVjdAorKGJ1dCB1c2FibGUgb3V0c2lkZSBvZiB0aGUgR25vbWUgcGxhdGZvcm0pLCBpdCBpcyBmcmVlIHNvZnR3YXJlIGF2YWlsYWJsZQordW5kZXIgdGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UuaHRtbCI+TUlUCitMaWNlbnNlPC9hPi4gWE1MIGl0c2VsZiBpcyBhIG1ldGFsYW5ndWFnZSB0byBkZXNpZ24gbWFya3VwIGxhbmd1YWdlcywgaS5lLgordGV4dCBsYW5ndWFnZSB3aGVyZSBzZW1hbnRpYyBhbmQgc3RydWN0dXJlIGFyZSBhZGRlZCB0byB0aGUgY29udGVudCB1c2luZworZXh0cmEgIm1hcmt1cCIgaW5mb3JtYXRpb24gZW5jbG9zZWQgYmV0d2VlbiBhbmdsZSBicmFja2V0cy4gSFRNTCBpcyB0aGUgbW9zdAord2VsbC1rbm93biBtYXJrdXAgbGFuZ3VhZ2UuIFRob3VnaCB0aGUgbGlicmFyeSBpcyB3cml0dGVuIGluIEMgPGEKK2hyZWY9InB5dGhvbi5odG1sIj5hIHZhcmlldHkgb2YgbGFuZ3VhZ2UgYmluZGluZ3M8L2E+IG1ha2UgaXQgYXZhaWxhYmxlIGluCitvdGhlciBlbnZpcm9ubWVudHMuPC9wPgorCis8cD5MaWJ4bWwyIGlzIGtub3duIHRvIGJlIHZlcnkgcG9ydGFibGUsIHRoZSBsaWJyYXJ5IHNob3VsZCBidWlsZCBhbmQgd29yaword2l0aG91dCBzZXJpb3VzIHRyb3VibGVzIG9uIGEgdmFyaWV0eSBvZiBzeXN0ZW1zIChMaW51eCwgVW5peCwgV2luZG93cywKK0N5Z1dpbiwgTWFjT1MsIE1hY09TIFgsIFJJU0MgT3MsIE9TLzIsIFZNUywgUU5YLCBNVlMsIFZ4V29ya3MsIC4uLik8L3A+CisKKzxwPkxpYnhtbDIgaW1wbGVtZW50cyBhIG51bWJlciBvZiBleGlzdGluZyBzdGFuZGFyZHMgcmVsYXRlZCB0byBtYXJrdXAKK2xhbmd1YWdlczo8L3A+Cis8dWw+CisgIDxsaT50aGUgWE1MIHN0YW5kYXJkOiA8YQorICAgIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy14bWwiPmh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy14bWw8L2E+PC9saT4KKyAgPGxpPk5hbWVzcGFjZXMgaW4gWE1MOiA8YQorICAgIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy14bWwtbmFtZXMvIj5odHRwOi8vd3d3LnczLm9yZy9UUi9SRUMteG1sLW5hbWVzLzwvYT48L2xpPgorICA8bGk+WE1MIEJhc2U6IDxhCisgICAgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIveG1sYmFzZS8iPmh0dHA6Ly93d3cudzMub3JnL1RSL3htbGJhc2UvPC9hPjwvbGk+CisgIDxsaT48YSBocmVmPSJodHRwOi8vd3d3LmNpcy5vaGlvLXN0YXRlLmVkdS9yZmMvcmZjMjM5Ni50eHQiPlJGQyAyMzk2PC9hPiA6CisgICAgVW5pZm9ybSBSZXNvdXJjZSBJZGVudGlmaWVycyA8YQorICAgIGhyZWY9Imh0dHA6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzIzOTYudHh0Ij5odHRwOi8vd3d3LmlldGYub3JnL3JmYy9yZmMyMzk2LnR4dDwvYT48L2xpPgorICA8bGk+WE1MIFBhdGggTGFuZ3VhZ2UgKFhQYXRoKSAxLjA6IDxhCisgICAgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIveHBhdGgiPmh0dHA6Ly93d3cudzMub3JnL1RSL3hwYXRoPC9hPjwvbGk+CisgIDxsaT5IVE1MNCBwYXJzZXI6IDxhCisgICAgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvaHRtbDQwMS8iPmh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0MDEvPC9hPjwvbGk+CisgIDxsaT5YTUwgUG9pbnRlciBMYW5ndWFnZSAoWFBvaW50ZXIpIFZlcnNpb24gMS4wOiA8YQorICAgIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hwdHIiPmh0dHA6Ly93d3cudzMub3JnL1RSL3hwdHI8L2E+PC9saT4KKyAgPGxpPlhNTCBJbmNsdXNpb25zIChYSW5jbHVkZSkgVmVyc2lvbiAxLjA6IDxhCisgICAgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIveGluY2x1ZGUvIj5odHRwOi8vd3d3LnczLm9yZy9UUi94aW5jbHVkZS88L2E+PC9saT4KKyAgPGxpPklTTy04ODU5LXggZW5jb2RpbmdzLCBhcyB3ZWxsIGFzIDxhCisgICAgaHJlZj0iaHR0cDovL3d3dy5jaXMub2hpby1zdGF0ZS5lZHUvcmZjL3JmYzIwNDQudHh0Ij5yZmMyMDQ0PC9hPiBbVVRGLThdCisgICAgYW5kIDxhIGhyZWY9Imh0dHA6Ly93d3cuY2lzLm9oaW8tc3RhdGUuZWR1L3JmYy9yZmMyNzgxLnR4dCI+cmZjMjc4MTwvYT4KKyAgICBbVVRGLTE2XSBVbmljb2RlIGVuY29kaW5ncywgYW5kIG1vcmUgaWYgdXNpbmcgaWNvbnYgc3VwcG9ydDwvbGk+CisgIDxsaT5wYXJ0IG9mIFNHTUwgT3BlbiBUZWNobmljYWwgUmVzb2x1dGlvbiBUUjk0MDE6MTk5NzwvbGk+CisgIDxsaT5YTUwgQ2F0YWxvZ3MgV29ya2luZyBEcmFmdCAwNiBBdWd1c3QgMjAwMTogPGEKKyAgICBocmVmPSJodHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL2NvbW1pdHRlZXMvZW50aXR5L3NwZWMtMjAwMS0wOC0wNi5odG1sIj5odHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL2NvbW1pdHRlZXMvZW50aXR5L3NwZWMtMjAwMS0wOC0wNi5odG1sPC9hPjwvbGk+CisgIDxsaT5DYW5vbmljYWwgWE1MIFZlcnNpb24gMS4wOiA8YQorICAgIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3htbC1jMTRuIj5odHRwOi8vd3d3LnczLm9yZy9UUi94bWwtYzE0bjwvYT4KKyAgICBhbmQgdGhlIEV4Y2x1c2l2ZSBYTUwgQ2Fub25pY2FsaXphdGlvbiBDUiBkcmFmdCA8YQorICAgIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3htbC1leGMtYzE0biI+aHR0cDovL3d3dy53My5vcmcvVFIveG1sLWV4Yy1jMTRuPC9hPjwvbGk+CisgIDxsaT5SZWxheCBORywgSVNPL0lFQyAxOTc1Ny0yOjIwMDMsIDxhCisgICAgaHJlZj0iaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9jb21taXR0ZWVzL3JlbGF4LW5nL3NwZWMtMjAwMTEyMDMuaHRtbCI+aHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9jb21taXR0ZWVzL3JlbGF4LW5nL3NwZWMtMjAwMTEyMDMuaHRtbDwvYT48L2xpPgorICA8bGk+VzNDIFhNTCBTY2hlbWFzIFBhcnQgMjogRGF0YXR5cGVzIDxhCisgICAgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvMjAwMS9SRUMteG1sc2NoZW1hLTItMjAwMTA1MDIvIj5SRUMgMDIgTWF5CisgICAgMjAwMTwvYT48L2xpPgorICA8bGk+VzNDIDxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3htbC1pZC8iPnhtbDppZDwvYT4gV29ya2luZyBEcmFmdCA3CisgICAgQXByaWwgMjAwNDwvbGk+Cis8L3VsPgorCis8cD5JbiBtb3N0IGNhc2VzIGxpYnhtbDIgdHJpZXMgdG8gaW1wbGVtZW50IHRoZSBzcGVjaWZpY2F0aW9ucyBpbiBhCityZWxhdGl2ZWx5IHN0cmljdGx5IGNvbXBsaWFudCB3YXkuIEFzIG9mIHJlbGVhc2UgMi40LjE2LCBsaWJ4bWwyIHBhc3NlZCBhbGwKKzE4MDArIHRlc3RzIGZyb20gdGhlIDxhCitocmVmPSJodHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL2NvbW1pdHRlZXMveG1sLWNvbmZvcm1hbmNlLyI+T0FTSVMgWE1MIFRlc3RzCitTdWl0ZTwvYT4uPC9wPgorCis8cD5UbyBzb21lIGV4dGVudCBsaWJ4bWwyIHByb3ZpZGVzIHN1cHBvcnQgZm9yIHRoZSBmb2xsb3dpbmcgYWRkaXRpb25hbAorc3BlY2lmaWNhdGlvbnMgYnV0IGRvZXNuJ3QgY2xhaW0gdG8gaW1wbGVtZW50IHRoZW0gY29tcGxldGVseTo8L3A+Cis8dWw+CisgIDxsaT5Eb2N1bWVudCBPYmplY3QgTW9kZWwgKERPTSkgPGEKKyAgICBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9ET00tTGV2ZWwtMi1Db3JlLyI+aHR0cDovL3d3dy53My5vcmcvVFIvRE9NLUxldmVsLTItQ29yZS88L2E+CisgICAgdGhlIGRvY3VtZW50IG1vZGVsLCBidXQgaXQgZG9lc24ndCBpbXBsZW1lbnQgdGhlIEFQSSBpdHNlbGYsIGdkb21lMiBkb2VzCisgICAgdGhpcyBvbiB0b3Agb2YgbGlieG1sMjwvbGk+CisgIDxsaT48YSBocmVmPSJodHRwOi8vd3d3LmNpcy5vaGlvLXN0YXRlLmVkdS9yZmMvcmZjOTU5LnR4dCI+UkZDIDk1OTwvYT4gOgorICAgIGxpYnhtbDIgaW1wbGVtZW50cyBhIGJhc2ljIEZUUCBjbGllbnQgY29kZTwvbGk+CisgIDxsaT48YSBocmVmPSJodHRwOi8vd3d3LmNpcy5vaGlvLXN0YXRlLmVkdS9yZmMvcmZjMTk0NS50eHQiPlJGQyAxOTQ1PC9hPiA6CisgICAgSFRUUC8xLjAsIGFnYWluIGEgYmFzaWMgSFRUUCBjbGllbnQgY29kZTwvbGk+CisgIDxsaT5TQVg6IGEgU0FYMiBsaWtlIGludGVyZmFjZSBhbmQgYSBtaW5pbWFsIFNBWDEgaW1wbGVtZW50YXRpb24gY29tcGF0aWJsZQorICAgIHdpdGggZWFybHkgZXhwYXQgdmVyc2lvbnM8L2xpPgorPC91bD4KKworPHA+QSBwYXJ0aWFsIGltcGxlbWVudGF0aW9uIG9mIDxhCitocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi8yMDAxL1JFQy14bWxzY2hlbWEtMS0yMDAxMDUwMi8iPlhNTCBTY2hlbWFzIFBhcnQKKzE6IFN0cnVjdHVyZTwvYT4gaXMgYmVpbmcgd29ya2VkIG9uIGJ1dCBpdCB3b3VsZCBiZSBmYXIgdG9vIGVhcmx5IHRvIG1ha2UgYW55Citjb25mb3JtYW5jZSBzdGF0ZW1lbnQgYWJvdXQgaXQgYXQgdGhlIG1vbWVudC48L3A+CisKKzxwPlNlcGFyYXRlIGRvY3VtZW50czo8L3A+Cis8dWw+CisgIDxsaT48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvWFNMVC8iPnRoZSBsaWJ4c2x0IHBhZ2U8L2E+IHByb3ZpZGluZyBhbgorICAgIGltcGxlbWVudGF0aW9uIG9mIFhTTFQgMS4wIGFuZCBjb21tb24gZXh0ZW5zaW9ucyBsaWtlIEVYU0xUIGZvcgorICBsaWJ4bWwyPC9saT4KKyAgPGxpPjxhIGhyZWY9Imh0dHA6Ly9nZG9tZTIuY3MudW5pYm8uaXQvIj50aGUgZ2RvbWUyIHBhZ2U8L2E+CisgICAgOiBhIHN0YW5kYXJkIERPTTIgaW1wbGVtZW50YXRpb24gZm9yIGxpYnhtbDI8L2xpPgorICA8bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5hbGVrc2V5LmNvbS94bWxzZWMvIj50aGUgWE1MU2VjIHBhZ2U8L2E+OiBhbgorICAgIGltcGxlbWVudGF0aW9uIG9mIDxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3htbGRzaWctY29yZS8iPlczQyBYTUwKKyAgICBEaWdpdGFsIFNpZ25hdHVyZTwvYT4gZm9yIGxpYnhtbDI8L2xpPgorICA8bGk+YWxzbyBjaGVjayB0aGUgcmVsYXRlZCBsaW5rcyBzZWN0aW9uIGZvciBtb3JlIHJlbGF0ZWQgYW5kIGFjdGl2ZQorICAgIHByb2plY3RzLjwvbGk+Cis8L3VsPgorPHA+IEhvc3Rpbmcgc3BvbnNvcmVkIGJ5IDxhIGhyZWY9Imh0dHA6Ly93d3cuYW9lbWVkaWEuZGUvb3BlbnNvdXJjZS1jbXMuaHRtbCIKKz5PcGVuIFNvdXJjZSBDTVMgc2VydmljZXM8L2E+IGZyb20gQU9FIG1lZGlhLjwvcD4KKworPHA+TG9nbyBkZXNpZ25lZCBieSA8YSBocmVmPSJtYWlsdG86bGl5YW5hZ2VAYWNjZXNzLmNoIj5NYXJjIExpeWFuYWdlPC9hPi48L3A+CisKKzxoMj48YSBuYW1lPSJJbnRyb2R1Y3RpIj5JbnRyb2R1Y3Rpb248L2E+PC9oMj4KKworPHA+VGhpcyBkb2N1bWVudCBkZXNjcmliZXMgbGlieG1sLCB0aGUgPGEKK2hyZWY9Imh0dHA6Ly93d3cudzMub3JnL1hNTC8iPlhNTDwvYT4gQyBwYXJzZXIgYW5kIHRvb2xraXQgZGV2ZWxvcGVkIGZvciB0aGUKKzxhIGhyZWY9Imh0dHA6Ly93d3cuZ25vbWUub3JnLyI+R25vbWU8L2E+IHByb2plY3QuIDxhCitocmVmPSJodHRwOi8vd3d3LnczLm9yZy9YTUwvIj5YTUwgaXMgYSBzdGFuZGFyZDwvYT4gZm9yIGJ1aWxkaW5nIHRhZy1iYXNlZAorc3RydWN0dXJlZCBkb2N1bWVudHMvZGF0YS48L3A+CisKKzxwPkhlcmUgYXJlIHNvbWUga2V5IHBvaW50cyBhYm91dCBsaWJ4bWw6PC9wPgorPHVsPgorICA8bGk+TGlieG1sMiBleHBvcnRzIFB1c2ggKHByb2dyZXNzaXZlKSBhbmQgUHVsbCAoYmxvY2tpbmcpIHR5cGUgcGFyc2VyCisgICAgaW50ZXJmYWNlcyBmb3IgYm90aCBYTUwgYW5kIEhUTUwuPC9saT4KKyAgPGxpPkxpYnhtbDIgY2FuIGRvIERURCB2YWxpZGF0aW9uIGF0IHBhcnNlIHRpbWUsIHVzaW5nIGEgcGFyc2VkIGRvY3VtZW50CisgICAgaW5zdGFuY2UsIG9yIHdpdGggYW4gYXJiaXRyYXJ5IERURC48L2xpPgorICA8bGk+TGlieG1sMiBpbmNsdWRlcyBjb21wbGV0ZSA8YQorICAgIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hwYXRoIj5YUGF0aDwvYT4sIDxhCisgICAgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIveHB0ciI+WFBvaW50ZXI8L2E+IGFuZCA8YQorICAgIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hpbmNsdWRlIj5YSW5jbHVkZTwvYT4gaW1wbGVtZW50YXRpb25zLjwvbGk+CisgIDxsaT5JdCBpcyB3cml0dGVuIGluIHBsYWluIEMsIG1ha2luZyBhcyBmZXcgYXNzdW1wdGlvbnMgYXMgcG9zc2libGUsIGFuZAorICAgIHN0aWNraW5nIGNsb3NlbHkgdG8gQU5TSSBDL1BPU0lYIGZvciBlYXN5IGVtYmVkZGluZy4gV29ya3Mgb24KKyAgICBMaW51eC9Vbml4L1dpbmRvd3MsIHBvcnRlZCB0byBhIG51bWJlciBvZiBvdGhlciBwbGF0Zm9ybXMuPC9saT4KKyAgPGxpPkJhc2ljIHN1cHBvcnQgZm9yIEhUVFAgYW5kIEZUUCBjbGllbnQgYWxsb3dpbmcgYXBwbGljYXRpb25zIHRvIGZldGNoCisgICAgcmVtb3RlIHJlc291cmNlcy48L2xpPgorICA8bGk+VGhlIGRlc2lnbiBpcyBtb2R1bGFyLCBtb3N0IG9mIHRoZSBleHRlbnNpb25zIGNhbiBiZSBjb21waWxlZCBvdXQuPC9saT4KKyAgPGxpPlRoZSBpbnRlcm5hbCBkb2N1bWVudCByZXByZXNlbnRhdGlvbiBpcyBhcyBjbG9zZSBhcyBwb3NzaWJsZSB0byB0aGUgPGEKKyAgICBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9ET00vIj5ET008L2E+IGludGVyZmFjZXMuPC9saT4KKyAgPGxpPkxpYnhtbDIgYWxzbyBoYXMgYSA8YQorICAgIGhyZWY9Imh0dHA6Ly93d3cubWVnZ2luc29uLmNvbS9TQVgvaW5kZXguaHRtbCI+U0FYIGxpa2UgaW50ZXJmYWNlPC9hPjsKKyAgICB0aGUgaW50ZXJmYWNlIGlzIGRlc2lnbmVkIHRvIGJlIGNvbXBhdGlibGUgd2l0aCA8YQorICAgIGhyZWY9Imh0dHA6Ly93d3cuamNsYXJrLmNvbS94bWwvZXhwYXQuaHRtbCI+RXhwYXQ8L2E+LjwvbGk+CisgIDxsaT5UaGlzIGxpYnJhcnkgaXMgcmVsZWFzZWQgdW5kZXIgdGhlIDxhCisgICAgaHJlZj0iaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9taXQtbGljZW5zZS5odG1sIj5NSVQKKyAgICBMaWNlbnNlPC9hPi4gU2VlIHRoZSBDb3B5cmlnaHQgZmlsZSBpbiB0aGUgZGlzdHJpYnV0aW9uIGZvciB0aGUgcHJlY2lzZQorICAgIHdvcmRpbmcuPC9saT4KKzwvdWw+CisKKzxwPldhcm5pbmc6IHVubGVzcyB5b3UgYXJlIGZvcmNlZCB0byBiZWNhdXNlIHlvdXIgYXBwbGljYXRpb24gbGlua3Mgd2l0aCBhCitHbm9tZS0xLlggbGlicmFyeSByZXF1aXJpbmcgaXQsICA8c3Ryb25nPjxzcGFuCitzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogI0ZGMDAwMCI+RG8gTm90IFVzZSBsaWJ4bWwxPC9zcGFuPjwvc3Ryb25nPiwgdXNlCitsaWJ4bWwyPC9wPgorCis8aDI+PGEgbmFtZT0iRkFRIj5GQVE8L2E+PC9oMj4KKworPHA+VGFibGUgb2YgQ29udGVudHM6PC9wPgorPHVsPgorICA8bGk+PGEgaHJlZj0iRkFRLmh0bWwjTGljZW5zZSI+TGljZW5zZShzKTwvYT48L2xpPgorICA8bGk+PGEgaHJlZj0iRkFRLmh0bWwjSW5zdGFsbGF0aSI+SW5zdGFsbGF0aW9uPC9hPjwvbGk+CisgIDxsaT48YSBocmVmPSJGQVEuaHRtbCNDb21waWxhdGlvIj5Db21waWxhdGlvbjwvYT48L2xpPgorICA8bGk+PGEgaHJlZj0iRkFRLmh0bWwjRGV2ZWxvcGVyIj5EZXZlbG9wZXIgY29ybmVyPC9hPjwvbGk+Cis8L3VsPgorCis8aDM+PGEgbmFtZT0iTGljZW5zZSI+TGljZW5zZTwvYT4ocyk8L2gzPgorPG9sPgorICA8bGk+PGVtPkxpY2Vuc2luZyBUZXJtcyBmb3IgbGlieG1sPC9lbT4KKyAgICA8cD5saWJ4bWwyIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSA8YQorICAgIGhyZWY9Imh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UuaHRtbCI+TUlUCisgICAgTGljZW5zZTwvYT47IHNlZSB0aGUgZmlsZSBDb3B5cmlnaHQgaW4gdGhlIGRpc3RyaWJ1dGlvbiBmb3IgdGhlIHByZWNpc2UKKyAgICB3b3JkaW5nPC9wPgorICA8L2xpPgorICA8bGk+PGVtPkNhbiBJIGVtYmVkIGxpYnhtbDIgaW4gYSBwcm9wcmlldGFyeSBhcHBsaWNhdGlvbiA/PC9lbT4KKyAgICA8cD5ZZXMuIFRoZSBNSVQgTGljZW5zZSBhbGxvd3MgeW91IHRvIGtlZXAgcHJvcHJpZXRhcnkgdGhlIGNoYW5nZXMgeW91CisgICAgbWFkZSB0byBsaWJ4bWwsIGJ1dCBpdCB3b3VsZCBiZSBncmFjZWZ1bCB0byBzZW5kLWJhY2sgYnVnIGZpeGVzIGFuZAorICAgIGltcHJvdmVtZW50cyBhcyBwYXRjaGVzIGZvciBwb3NzaWJsZSBpbmNvcnBvcmF0aW9uIGluIHRoZSBtYWluCisgICAgZGV2ZWxvcG1lbnQgdHJlZS48L3A+CisgIDwvbGk+Cis8L29sPgorCis8aDM+PGEgbmFtZT0iSW5zdGFsbGF0aSI+SW5zdGFsbGF0aW9uPC9hPjwvaDM+Cis8b2w+CisgIDxsaT48c3Ryb25nPjxzcGFuIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiAjRkYwMDAwIj5EbyBOb3QgVXNlCisgICAgbGlieG1sMTwvc3Bhbj48L3N0cm9uZz4sIHVzZSBsaWJ4bWwyPC9saT4KKyAgPHA+PC9wPgorICA8bGk+PGVtPldoZXJlIGNhbiBJIGdldCBsaWJ4bWw8L2VtPiA/CisgICAgPHA+VGhlIG9yaWdpbmFsIGRpc3RyaWJ1dGlvbiBjb21lcyBmcm9tIDxhCisgICAgaHJlZj0iZnRwOi8veG1sc29mdC5vcmcvbGlieG1sMi8iPnhtbHNvZnQub3JnPC9hPiBvciA8YQorICAgIGhyZWY9ImZ0cDovL2Z0cC5nbm9tZS5vcmcvcHViL0dOT01FL3NvdXJjZXMvbGlieG1sMi8yLjYvIj5nbm9tZS5vcmc8L2E+PC9wPgorICAgIDxwPk1vc3QgTGludXggYW5kIEJTRCBkaXN0cmlidXRpb25zIGluY2x1ZGUgbGlieG1sLCB0aGlzIGlzIHByb2JhYmx5IHRoZQorICAgIHNhZmVyIHdheSBmb3IgZW5kLXVzZXJzIHRvIHVzZSBsaWJ4bWwuPC9wPgorICAgIDxwPkRhdmlkIERvb2xpbiBwcm92aWRlcyBwcmVjb21waWxlZCBXaW5kb3dzIHZlcnNpb25zIGF0IDxhCisgICAgaHJlZj0iaHR0cDovL3d3dy5jZS5iZXJrZWxleS5lZHUvfmRvb2xpbi9jb2RlL2xpYnhtbHdpbjMyLyAgICAgICAgICI+aHR0cDovL3d3dy5jZS5iZXJrZWxleS5lZHUvfmRvb2xpbi9jb2RlL2xpYnhtbHdpbjMyLzwvYT48L3A+CisgIDwvbGk+CisgIDxwPjwvcD4KKyAgPGxpPjxlbT5JIHNlZSBsaWJ4bWwgYW5kIGxpYnhtbDIgcmVsZWFzZXMsIHdoaWNoIG9uZSBzaG91bGQgSSBpbnN0YWxsID88L2VtPgorICAgIDx1bD4KKyAgICAgIDxsaT5JZiB5b3UgYXJlIG5vdCBjb25zdHJhaW5lZCBieSBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IGlzc3VlcyB3aXRoCisgICAgICAgIGV4aXN0aW5nIGFwcGxpY2F0aW9ucywgaW5zdGFsbCBsaWJ4bWwyIG9ubHk8L2xpPgorICAgICAgPGxpPklmIHlvdSBhcmUgbm90IGRvaW5nIGRldmVsb3BtZW50LCB5b3UgY2FuIHNhZmVseSBpbnN0YWxsIGJvdGguCisgICAgICAgIFVzdWFsbHkgdGhlIHBhY2thZ2VzIDxhCisgICAgICAgIGhyZWY9Imh0dHA6Ly9ycG1maW5kLm5ldC9saW51eC9SUE0vbGlieG1sLmh0bWwiPmxpYnhtbDwvYT4gYW5kIDxhCisgICAgICAgIGhyZWY9Imh0dHA6Ly9ycG1maW5kLm5ldC9saW51eC9SUE0vbGlieG1sMi5odG1sIj5saWJ4bWwyPC9hPiBhcmUKKyAgICAgICAgY29tcGF0aWJsZSAodGhpcyBpcyBub3QgdGhlIGNhc2UgZm9yIGRldmVsb3BtZW50IHBhY2thZ2VzKS48L2xpPgorICAgICAgPGxpPklmIHlvdSBhcmUgYSBkZXZlbG9wZXIgYW5kIHlvdXIgc3lzdGVtIHByb3ZpZGVzIHNlcGFyYXRlIHBhY2thZ2luZworICAgICAgICBmb3Igc2hhcmVkIGxpYnJhcmllcyBhbmQgdGhlIGRldmVsb3BtZW50IGNvbXBvbmVudHMsIGl0IGlzIHBvc3NpYmxlCisgICAgICAgIHRvIGluc3RhbGwgbGlieG1sIGFuZCBsaWJ4bWwyLCBhbmQgYWxzbyA8YQorICAgICAgICBocmVmPSJodHRwOi8vcnBtZmluZC5uZXQvbGludXgvUlBNL2xpYnhtbC1kZXZlbC5odG1sIj5saWJ4bWwtZGV2ZWw8L2E+CisgICAgICAgIGFuZCA8YQorICAgICAgICBocmVmPSJodHRwOi8vcnBtZmluZC5uZXQvbGludXgvUlBNL2xpYnhtbDItZGV2ZWwuaHRtbCI+bGlieG1sMi1kZXZlbDwvYT4KKyAgICAgICAgdG9vIGZvciBsaWJ4bWwyICZndDs9IDIuMy4wPC9saT4KKyAgICAgIDxsaT5JZiB5b3UgYXJlIGRldmVsb3BpbmcgYSBuZXcgYXBwbGljYXRpb24sIHBsZWFzZSBkZXZlbG9wIGFnYWluc3QKKyAgICAgICAgbGlieG1sMigtZGV2ZWwpPC9saT4KKyAgICA8L3VsPgorICA8L2xpPgorICA8bGk+PGVtPkkgY2FuJ3QgaW5zdGFsbCB0aGUgbGlieG1sIHBhY2thZ2UsIGl0IGNvbmZsaWN0cyB3aXRoIGxpYnhtbDA8L2VtPgorICAgIDxwPllvdSBwcm9iYWJseSBoYXZlIGFuIG9sZCBsaWJ4bWwwIHBhY2thZ2UgdXNlZCB0byBwcm92aWRlIHRoZSBzaGFyZWQKKyAgICBsaWJyYXJ5IGZvciBsaWJ4bWwuc28uMCwgeW91IGNhbiBwcm9iYWJseSBzYWZlbHkgcmVtb3ZlIGl0LiBUaGUgbGlieG1sCisgICAgcGFja2FnZXMgcHJvdmlkZWQgb24gPGEKKyAgICBocmVmPSJmdHA6Ly94bWxzb2Z0Lm9yZy9saWJ4bWwyLyI+eG1sc29mdC5vcmc8L2E+IHByb3ZpZGUKKyAgICBsaWJ4bWwuc28uMDwvcD4KKyAgPC9saT4KKyAgPGxpPjxlbT5JIGNhbid0IGluc3RhbGwgdGhlIGxpYnhtbCgyKSBSUE0gcGFja2FnZSBkdWUgdG8gZmFpbGVkCisgICAgZGVwZW5kZW5jaWVzPC9lbT4KKyAgICA8cD5UaGUgbW9zdCBnZW5lcmljIHNvbHV0aW9uIGlzIHRvIHJlLWZldGNoIHRoZSBsYXRlc3Qgc3JjLnJwbSAsIGFuZAorICAgIHJlYnVpbGQgaXQgbG9jYWxseSB3aXRoPC9wPgorICAgIDxwPjxjb2RlPnJwbSAtLXJlYnVpbGQgbGlieG1sKDIpLXh4eC5zcmMucnBtPC9jb2RlPi48L3A+CisgICAgPHA+SWYgZXZlcnl0aGluZyBnb2VzIHdlbGwgaXQgd2lsbCBnZW5lcmF0ZSB0d28gYmluYXJ5IHJwbSBwYWNrYWdlcyAob25lCisgICAgcHJvdmlkaW5nIHRoZSBzaGFyZWQgbGlicyBhbmQgeG1sbGludCwgYW5kIHRoZSBvdGhlciBvbmUsIHRoZSAtZGV2ZWwKKyAgICBwYWNrYWdlLCBwcm92aWRpbmcgaW5jbHVkZXMsIHN0YXRpYyBsaWJyYXJpZXMgYW5kIHNjcmlwdHMgbmVlZGVkIHRvIGJ1aWxkCisgICAgYXBwbGljYXRpb25zIHdpdGggbGlieG1sKDIpKSB0aGF0IHlvdSBjYW4gaW5zdGFsbCBsb2NhbGx5LjwvcD4KKyAgPC9saT4KKzwvb2w+CisKKzxoMz48YSBuYW1lPSJDb21waWxhdGlvIj5Db21waWxhdGlvbjwvYT48L2gzPgorPG9sPgorICA8bGk+PGVtPldoYXQgaXMgdGhlIHByb2Nlc3MgdG8gY29tcGlsZSBsaWJ4bWwyID88L2VtPgorICAgIDxwPkFzIG1vc3QgVU5JWCBsaWJyYXJpZXMgbGlieG1sMiBmb2xsb3dzIHRoZSAic3RhbmRhcmQiOjwvcD4KKyAgICA8cD48Y29kZT5ndW56aXAgLWMgeHh4LnRhci5neiB8IHRhciB4dmYgLTwvY29kZT48L3A+CisgICAgPHA+PGNvZGU+Y2QgbGlieG1sLXh4eHg8L2NvZGU+PC9wPgorICAgIDxwPjxjb2RlPi4vY29uZmlndXJlIC0taGVscDwvY29kZT48L3A+CisgICAgPHA+dG8gc2VlIHRoZSBvcHRpb25zLCB0aGVuIHRoZSBjb21waWxhdGlvbi9pbnN0YWxsYXRpb24gcHJvcGVyPC9wPgorICAgIDxwPjxjb2RlPi4vY29uZmlndXJlIFtwb3NzaWJsZSBvcHRpb25zXTwvY29kZT48L3A+CisgICAgPHA+PGNvZGU+bWFrZTwvY29kZT48L3A+CisgICAgPHA+PGNvZGU+bWFrZSBpbnN0YWxsPC9jb2RlPjwvcD4KKyAgICA8cD5BdCB0aGF0IHBvaW50IHlvdSBtYXkgaGF2ZSB0byByZXJ1biBsZGNvbmZpZyBvciBhIHNpbWlsYXIgdXRpbGl0eSB0bworICAgIHVwZGF0ZSB5b3VyIGxpc3Qgb2YgaW5zdGFsbGVkIHNoYXJlZCBsaWJzLjwvcD4KKyAgPC9saT4KKyAgPGxpPjxlbT5XaGF0IG90aGVyIGxpYnJhcmllcyBhcmUgbmVlZGVkIHRvIGNvbXBpbGUvaW5zdGFsbCBsaWJ4bWwyID88L2VtPgorICAgIDxwPkxpYnhtbDIgZG9lcyBub3QgcmVxdWlyZSBhbnkgb3RoZXIgbGlicmFyeSwgdGhlIG5vcm1hbCBDIEFOU0kgQVBJCisgICAgc2hvdWxkIGJlIHN1ZmZpY2llbnQgKHBsZWFzZSByZXBvcnQgYW55IHZpb2xhdGlvbiB0byB0aGlzIHJ1bGUgeW91IG1heQorICAgIGZpbmQpLjwvcD4KKyAgICA8cD5Ib3dldmVyIGlmIGZvdW5kIGF0IGNvbmZpZ3VyYXRpb24gdGltZSBsaWJ4bWwyIHdpbGwgZGV0ZWN0IGFuZCB1c2UgdGhlCisgICAgZm9sbG93aW5nIGxpYnM6PC9wPgorICAgIDx1bD4KKyAgICAgIDxsaT48YSBocmVmPSJodHRwOi8vd3d3LmluZm8temlwLm9yZy9wdWIvaW5mb3ppcC96bGliLyI+bGliejwvYT4gOiBhCisgICAgICAgIGhpZ2hseSBwb3J0YWJsZSBhbmQgYXZhaWxhYmxlIHdpZGVseSBjb21wcmVzc2lvbiBsaWJyYXJ5LjwvbGk+CisgICAgICA8bGk+aWNvbnY6IGEgcG93ZXJmdWwgY2hhcmFjdGVyIGVuY29kaW5nIGNvbnZlcnNpb24gbGlicmFyeS4gSXQgaXMKKyAgICAgICAgaW5jbHVkZWQgYnkgZGVmYXVsdCBpbiByZWNlbnQgZ2xpYmMgbGlicmFyaWVzLCBzbyBpdCBkb2Vzbid0IG5lZWQgdG8KKyAgICAgICAgYmUgaW5zdGFsbGVkIHNwZWNpZmljYWxseSBvbiBMaW51eC4gSXQgbm93IHNlZW1zIGEgPGEKKyAgICAgICAgaHJlZj0iaHR0cDovL3d3dy5vcGVubmMub3JnL29ubGluZXB1YnMvNzkwODc5OS94c2gvaWNvbnYuaHRtbCI+cGFydAorICAgICAgICBvZiB0aGUgb2ZmaWNpYWwgVU5JWDwvYT4gc3BlY2lmaWNhdGlvbi4gSGVyZSBpcyBvbmUgPGEKKyAgICAgICAgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2xpYmljb252LyI+aW1wbGVtZW50YXRpb24gb2YgdGhlCisgICAgICAgIGxpYnJhcnk8L2E+IHdoaWNoIHNvdXJjZSBjYW4gYmUgZm91bmQgPGEKKyAgICAgICAgaHJlZj0iZnRwOi8vZnRwLmlsb2cuZnIvcHViL1VzZXJzL2hhaWJsZS9nbnUvIj5oZXJlPC9hPi48L2xpPgorICAgIDwvdWw+CisgIDwvbGk+CisgIDxwPjwvcD4KKyAgPGxpPjxlbT5NYWtlIGNoZWNrIGZhaWxzIG9uIHNvbWUgcGxhdGZvcm1zPC9lbT4KKyAgICA8cD5Tb21ldGltZXMgdGhlIHJlZ3Jlc3Npb24gdGVzdHMnIHJlc3VsdHMgZG9uJ3QgY29tcGxldGVseSBtYXRjaCB0aGUKKyAgICB2YWx1ZSBwcm9kdWNlZCBieSB0aGUgcGFyc2VyLCBhbmQgdGhlIG1ha2VmaWxlIHVzZXMgZGlmZiB0byBwcmludCB0aGUKKyAgICBkZWx0YS4gT24gc29tZSBwbGF0Zm9ybXMgdGhlIGRpZmYgcmV0dXJuIGJyZWFrcyB0aGUgY29tcGlsYXRpb24gcHJvY2VzczsKKyAgICBpZiB0aGUgZGlmZiBpcyBzbWFsbCB0aGlzIGlzIHByb2JhYmx5IG5vdCBhIHNlcmlvdXMgcHJvYmxlbS48L3A+CisgICAgPHA+U29tZXRpbWVzIChlc3BlY2lhbGx5IG9uIFNvbGFyaXMpIG1ha2UgY2hlY2tzIGZhaWwgZHVlIHRvIGxpbWl0YXRpb25zCisgICAgaW4gbWFrZS4gVHJ5IHVzaW5nIEdOVS1tYWtlIGluc3RlYWQuPC9wPgorICA8L2xpPgorICA8bGk+PGVtPkkgdXNlIHRoZSBTVk4gdmVyc2lvbiBhbmQgdGhlcmUgaXMgbm8gY29uZmlndXJlIHNjcmlwdDwvZW0+CisgICAgPHA+VGhlIGNvbmZpZ3VyZSBzY3JpcHQgKGFuZCBvdGhlciBNYWtlZmlsZXMpIGFyZSBnZW5lcmF0ZWQuIFVzZSB0aGUKKyAgICBhdXRvZ2VuLnNoIHNjcmlwdCB0byByZWdlbmVyYXRlIHRoZSBjb25maWd1cmUgc2NyaXB0IGFuZCBNYWtlZmlsZXMsCisgICAgbGlrZTo8L3A+CisgICAgPHA+PGNvZGU+Li9hdXRvZ2VuLnNoIC0tcHJlZml4PS91c3IgLS1kaXNhYmxlLXNoYXJlZDwvY29kZT48L3A+CisgIDwvbGk+CisgIDxsaT48ZW0+SSBoYXZlIHRyb3VibGVzIHdoZW4gcnVubmluZyBtYWtlIHRlc3RzIHdpdGggZ2NjLTMuMDwvZW0+CisgICAgPHA+SXQgc2VlbXMgdGhlIGluaXRpYWwgcmVsZWFzZSBvZiBnY2MtMy4wIGhhcyBhIHByb2JsZW0gd2l0aCB0aGUKKyAgICBvcHRpbWl6ZXIgd2hpY2ggbWlzY29tcGlsZXMgdGhlIFVSSSBtb2R1bGUuIFBsZWFzZSB1c2UgYW5vdGhlcgorICAgIGNvbXBpbGVyLjwvcD4KKyAgPC9saT4KKzwvb2w+CisKKzxoMz48YSBuYW1lPSJEZXZlbG9wZXIiPkRldmVsb3BlcjwvYT4gY29ybmVyPC9oMz4KKzxvbD4KKyAgPGxpPjxlbT5Ucm91YmxlcyBjb21waWxpbmcgb3IgbGlua2luZyBwcm9ncmFtcyB1c2luZyBsaWJ4bWwyPC9lbT4KKyAgICA8cD5Vc3VhbGx5IHRoZSBwcm9ibGVtIGNvbWVzIGZyb20gdGhlIGZhY3QgdGhhdCB0aGUgY29tcGlsZXIgZG9lc24ndCBnZXQKKyAgICB0aGUgcmlnaHQgY29tcGlsYXRpb24gb3IgbGlua2luZyBmbGFncy4gVGhlcmUgaXMgYSBzbWFsbCBzaGVsbCBzY3JpcHQKKyAgICA8Y29kZT54bWwyLWNvbmZpZzwvY29kZT4gd2hpY2ggaXMgaW5zdGFsbGVkIGFzIHBhcnQgb2YgbGlieG1sMiB1c3VhbAorICAgIGluc3RhbGwgcHJvY2VzcyB3aGljaCBwcm92aWRlcyB0aG9zZSBmbGFncy4gVXNlPC9wPgorICAgIDxwPjxjb2RlPnhtbDItY29uZmlnIC0tY2ZsYWdzPC9jb2RlPjwvcD4KKyAgICA8cD50byBnZXQgdGhlIGNvbXBpbGF0aW9uIGZsYWdzIGFuZDwvcD4KKyAgICA8cD48Y29kZT54bWwyLWNvbmZpZyAtLWxpYnM8L2NvZGU+PC9wPgorICAgIDxwPnRvIGdldCB0aGUgbGlua2VyIGZsYWdzLiBVc3VhbGx5IHRoaXMgaXMgZG9uZSBkaXJlY3RseSBmcm9tIHRoZQorICAgIE1ha2VmaWxlIGFzOjwvcD4KKyAgICA8cD48Y29kZT5DRkxBR1M9YHhtbDItY29uZmlnIC0tY2ZsYWdzYDwvY29kZT48L3A+CisgICAgPHA+PGNvZGU+TElCUz1geG1sMi1jb25maWcgLS1saWJzYDwvY29kZT48L3A+CisgIDwvbGk+CisgIDxsaT48ZW0+SSB3YW50IHRvIGluc3RhbGwgbXkgb3duIGNvcHkgb2YgbGlieG1sMiBpbiBteSBob21lIGRpcmVjdG9yeSBhbmQKKyAgICBsaW5rIG15IHByb2dyYW1zIGFnYWluc3QgaXQsIGJ1dCBpdCBkb2Vzbid0IHdvcms8L2VtPgorICAgIDxwPlRoZXJlIGFyZSBtYW55IGRpZmZlcmVudCB3YXlzIHRvIGFjY29tcGxpc2ggdGhpcy4gIEhlcmUgaXMgb25lIHdheSB0bworICAgIGRvIHRoaXMgdW5kZXIgTGludXguICBTdXBwb3NlIHlvdXIgaG9tZSBkaXJlY3RvcnkgaXMgPGNvZGU+L2hvbWUvdXNlci4KKyAgICA8L2NvZGU+VGhlbjo8L3A+CisgICAgPHVsPgorICAgICAgPGxpPkNyZWF0ZSBhIHN1YmRpcmVjdG9yeSwgbGV0J3MgY2FsbCBpdCA8Y29kZT5teXhtbDwvY29kZT48L2xpPgorICAgICAgPGxpPnVucGFjayB0aGUgbGlieG1sMiBkaXN0cmlidXRpb24gaW50byB0aGF0IHN1YmRpcmVjdG9yeTwvbGk+CisgICAgICA8bGk+Y2hkaXIgaW50byB0aGUgdW5wYWNrZWQgZGlzdHJpYnV0aW9uCisgICAgICAgICg8Y29kZT4vaG9tZS91c2VyL215eG1sL2xpYnhtbDIgPC9jb2RlPik8L2xpPgorICAgICAgPGxpPmNvbmZpZ3VyZSB0aGUgbGlicmFyeSB1c2luZyB0aGUgIjxjb2RlPi0tcHJlZml4PC9jb2RlPiIgc3dpdGNoLAorICAgICAgICBzcGVjaWZ5aW5nIGFuIGluc3RhbGxhdGlvbiBzdWJkaXJlY3RvcnkgaW4KKyAgICAgICAgPGNvZGU+L2hvbWUvdXNlci9teXhtbDwvY29kZT4sIGUuZy4KKyAgICAgICAgPHA+PGNvZGU+Li9jb25maWd1cmUgLS1wcmVmaXggL2hvbWUvdXNlci9teXhtbC94bWxpbnN0PC9jb2RlPiB7b3RoZXIKKyAgICAgICAgY29uZmlndXJhdGlvbiBvcHRpb25zfTwvcD4KKyAgICAgIDwvbGk+CisgICAgICA8bGk+bm93IHJ1biA8Y29kZT5tYWtlPC9jb2RlPiBmb2xsb3dlZCBieSA8Y29kZT5tYWtlIGluc3RhbGw8L2NvZGU+PC9saT4KKyAgICAgIDxsaT5BdCB0aGlzIHBvaW50LCB0aGUgaW5zdGFsbGF0aW9uIHN1YmRpcmVjdG9yeSBjb250YWlucyB0aGUgY29tcGxldGUKKyAgICAgICAgInByaXZhdGUiIGluY2x1ZGUgZmlsZXMsIGxpYnJhcnkgZmlsZXMgYW5kIGJpbmFyeSBwcm9ncmFtIGZpbGVzIChlLmcuCisgICAgICAgIHhtbGxpbnQpLCBsb2NhdGVkIGluCisgICAgICAgIDxwPjxjb2RlPi9ob21lL3VzZXIvbXl4bWwveG1saW5zdC9saWIsCisgICAgICAgIC9ob21lL3VzZXIvbXl4bWwveG1saW5zdC9pbmNsdWRlIDwvY29kZT4gYW5kIDxjb2RlPgorICAgICAgICAvaG9tZS91c2VyL215eG1sL3htbGluc3QvYmluPC9jb2RlPjwvcD4KKyAgICAgICAgcmVzcGVjdGl2ZWx5LjwvbGk+CisgICAgICA8bGk+SW4gb3JkZXIgdG8gdXNlIHRoaXMgInByaXZhdGUiIGxpYnJhcnksIHlvdSBzaG91bGQgZmlyc3QgYWRkIGl0IHRvCisgICAgICAgIHRoZSBiZWdpbm5pbmcgb2YgeW91ciBkZWZhdWx0IFBBVEggKHNvIHRoYXQgeW91ciBvd24gcHJpdmF0ZSBwcm9ncmFtCisgICAgICAgIGZpbGVzIHN1Y2ggYXMgeG1sbGludCB3aWxsIGJlIHVzZWQgaW5zdGVhZCBvZiB0aGUgbm9ybWFsIHN5c3RlbQorICAgICAgICBvbmVzKS4gIFRvIGRvIHRoaXMsIHRoZSBCYXNoIGNvbW1hbmQgd291bGQgYmUKKyAgICAgICAgPHA+PGNvZGU+ZXhwb3J0IFBBVEg9L2hvbWUvdXNlci9teXhtbC94bWxpbnN0L2JpbjokUEFUSDwvY29kZT48L3A+CisgICAgICA8L2xpPgorICAgICAgPGxpPk5vdyBzdXBwb3NlIHlvdSBoYXZlIGEgcHJvZ3JhbSA8Y29kZT50ZXN0MS5jPC9jb2RlPiB0aGF0IHlvdSB3b3VsZAorICAgICAgICBsaWtlIHRvIGNvbXBpbGUgd2l0aCB5b3VyICJwcml2YXRlIiBsaWJyYXJ5LiAgU2ltcGx5IGNvbXBpbGUgaXQgdXNpbmcKKyAgICAgICAgdGhlIGNvbW1hbmQKKyAgICAgICAgPHA+PGNvZGU+Z2NjIGB4bWwyLWNvbmZpZyAtLWNmbGFncyAtLWxpYnNgIC1vIHRlc3QgdGVzdC5jPC9jb2RlPjwvcD4KKyAgICAgICAgTm90ZSB0aGF0LCBiZWNhdXNlIHlvdXIgUEFUSCBoYXMgYmVlbiBzZXQgd2l0aCA8Y29kZT4KKyAgICAgICAgL2hvbWUvdXNlci9teXhtbC94bWxpbnN0L2JpbjwvY29kZT4gYXQgdGhlIGJlZ2lubmluZywgdGhlIHhtbDItY29uZmlnCisgICAgICAgIHByb2dyYW0gd2hpY2ggeW91IGp1c3QgaW5zdGFsbGVkIHdpbGwgYmUgdXNlZCBpbnN0ZWFkIG9mIHRoZSBzeXN0ZW0KKyAgICAgICAgZGVmYXVsdCBvbmUsIGFuZCB0aGlzIHdpbGwgPGVtPmF1dG9tYXRpY2FsbHk8L2VtPiBnZXQgdGhlIGNvcnJlY3QKKyAgICAgICAgbGlicmFyaWVzIGxpbmtlZCB3aXRoIHlvdXIgcHJvZ3JhbS48L2xpPgorICAgIDwvdWw+CisgIDwvbGk+CisKKyAgPHA+PC9wPgorICA8bGk+PGVtPnhtbERvY0R1bXAoKSBnZW5lcmF0ZXMgb3V0cHV0IG9uIG9uZSBsaW5lLjwvZW0+CisgICAgPHA+TGlieG1sMiB3aWxsIG5vdCA8c3Ryb25nPmludmVudDwvc3Ryb25nPiBzcGFjZXMgaW4gdGhlIGNvbnRlbnQgb2YgYQorICAgIGRvY3VtZW50IHNpbmNlIDxzdHJvbmc+YWxsIHNwYWNlcyBpbiB0aGUgY29udGVudCBvZiBhIGRvY3VtZW50IGFyZQorICAgIHNpZ25pZmljYW50PC9zdHJvbmc+LiBJZiB5b3UgYnVpbGQgYSB0cmVlIGZyb20gdGhlIEFQSSBhbmQgd2FudAorICAgIGluZGVudGF0aW9uOjwvcD4KKyAgICA8b2w+CisgICAgICA8bGk+dGhlIGNvcnJlY3Qgd2F5IGlzIHRvIGdlbmVyYXRlIHRob3NlIHlvdXJzZWxmIHRvby48L2xpPgorICAgICAgPGxpPnRoZSBkYW5nZXJvdXMgd2F5IGlzIHRvIGFzayBsaWJ4bWwyIHRvIGFkZCB0aG9zZSBibGFua3MgdG8geW91cgorICAgICAgICBjb250ZW50IDxzdHJvbmc+bW9kaWZ5aW5nIHRoZSBjb250ZW50IG9mIHlvdXIgZG9jdW1lbnQgaW4gdGhlCisgICAgICAgIHByb2Nlc3M8L3N0cm9uZz4uIFRoZSByZXN1bHQgbWF5IG5vdCBiZSB3aGF0IHlvdSBleHBlY3QuIFRoZXJlIGlzCisgICAgICAgIDxzdHJvbmc+Tk88L3N0cm9uZz4gd2F5IHRvIGd1YXJhbnRlZSB0aGF0IHN1Y2ggYSBtb2RpZmljYXRpb24gd29uJ3QKKyAgICAgICAgYWZmZWN0IG90aGVyIHBhcnRzIG9mIHRoZSBjb250ZW50IG9mIHlvdXIgZG9jdW1lbnQuIFNlZSA8YQorICAgICAgICBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwjeG1sS2VlcEJsYW5rc0RlZmF1bHQiPnhtbEtlZXBCbGFua3NEZWZhdWx0CisgICAgICAgICgpPC9hPiBhbmQgPGEKKyAgICAgICAgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnL2h0bWwvbGlieG1sLXRyZWUuaHRtbCN4bWxTYXZlRm9ybWF0RmlsZSI+eG1sU2F2ZUZvcm1hdEZpbGUKKyAgICAgICAgKCk8L2E+PC9saT4KKyAgICA8L29sPgorICA8L2xpPgorICA8cD48L3A+CisgIDxsaT48ZW0+RXh0cmEgbm9kZXMgaW4gdGhlIGRvY3VtZW50OjwvZW0+CisgICAgPHA+PGVtPkZvciBhbiBYTUwgZmlsZSBhcyBiZWxvdzo8L2VtPjwvcD4KKyAgICA8cHJlPiZsdDs/eG1sIHZlcnNpb249IjEuMCI/Jmd0OworJmx0O1BMQU4geG1sbnM9Imh0dHA6Ly93d3cuYXJndXMuY2EvYXV0b3Rlc3QvMS4wLyImZ3Q7CismbHQ7Tk9ERSBDb21tRmxhZz0iMCIvJmd0OworJmx0O05PREUgQ29tbUZsYWc9IjEiLyZndDsKKyZsdDsvUExBTiZndDs8L3ByZT4KKyAgICA8cD48ZW0+YWZ0ZXIgcGFyc2luZyBpdCB3aXRoIHRoZSBmdW5jdGlvbgorICAgIHB4bWxEb2M9eG1sUGFyc2VGaWxlKC4uLik7PC9lbT48L3A+CisgICAgPHA+PGVtPkkgd2FudCB0byB0aGUgZ2V0IHRoZSBjb250ZW50IG9mIHRoZSBmaXJzdCBub2RlIChub2RlIHdpdGggdGhlCisgICAgQ29tbUZsYWc9IjAiKTwvZW0+PC9wPgorICAgIDxwPjxlbT5zbyBJIGRpZCBpdCBhcyBmb2xsb3dpbmc7PC9lbT48L3A+CisgICAgPHByZT54bWxOb2RlUHRyIHBub2RlOworcG5vZGU9cHhtbERvYy0mZ3Q7Y2hpbGRyZW4tJmd0O2NoaWxkcmVuOzwvcHJlPgorICAgIDxwPjxlbT5idXQgaXQgZG9lcyBub3Qgd29yay4gSWYgSSBjaGFuZ2UgaXQgdG88L2VtPjwvcD4KKyAgICA8cHJlPnBub2RlPXB4bWxEb2MtJmd0O2NoaWxkcmVuLSZndDtjaGlsZHJlbi0mZ3Q7bmV4dDs8L3ByZT4KKyAgICA8cD48ZW0+dGhlbiBpdCB3b3Jrcy4gIENhbiBzb21lb25lIGV4cGxhaW4gaXQgdG8gbWUuPC9lbT48L3A+CisgICAgPHA+PC9wPgorICAgIDxwPkluIFhNTCBhbGwgY2hhcmFjdGVycyBpbiB0aGUgY29udGVudCBvZiB0aGUgZG9jdW1lbnQgYXJlIHNpZ25pZmljYW50CisgICAgPHN0cm9uZz5pbmNsdWRpbmcgYmxhbmtzIGFuZCBmb3JtYXR0aW5nIGxpbmUgYnJlYWtzPC9zdHJvbmc+LjwvcD4KKyAgICA8cD5UaGUgZXh0cmEgbm9kZXMgeW91IGFyZSB3b25kZXJpbmcgYWJvdXQgYXJlIGp1c3QgdGhhdCwgdGV4dCBub2RlcyB3aXRoCisgICAgdGhlIGZvcm1hdHRpbmcgc3BhY2VzIHdoaWNoIGFyZSBwYXJ0IG9mIHRoZSBkb2N1bWVudCBidXQgdGhhdCBwZW9wbGUgdGVuZAorICAgIHRvIGZvcmdldC4gVGhlcmUgaXMgYSBmdW5jdGlvbiA8YQorICAgIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9odG1sL2xpYnhtbC1wYXJzZXIuaHRtbCI+eG1sS2VlcEJsYW5rc0RlZmF1bHQKKyAgICAoKTwvYT4gIHRvIHJlbW92ZSB0aG9zZSBhdCBwYXJzZSB0aW1lLCBidXQgdGhhdCdzIGFuIGhldXJpc3RpYywgYW5kIGl0cworICAgIHVzZSBzaG91bGQgYmUgbGltaXRlZCB0byBjYXNlcyB3aGVyZSB5b3UgYXJlIGNlcnRhaW4gdGhlcmUgaXMgbm8KKyAgICBtaXhlZC1jb250ZW50IGluIHRoZSBkb2N1bWVudC48L3A+CisgIDwvbGk+CisgIDxsaT48ZW0+SSBnZXQgY29tcGlsYXRpb24gZXJyb3JzIG9mIGV4aXN0aW5nIGNvZGUgbGlrZSB3aGVuIGFjY2Vzc2luZworICAgIDxzdHJvbmc+cm9vdDwvc3Ryb25nPiBvciA8c3Ryb25nPmNoaWxkIGZpZWxkczwvc3Ryb25nPiBvZiBub2Rlcy48L2VtPgorICAgIDxwPllvdSBhcmUgY29tcGlsaW5nIGNvZGUgZGV2ZWxvcGVkIGZvciBsaWJ4bWwgdmVyc2lvbiAxIGFuZCB1c2luZyBhCisgICAgbGlieG1sMiBkZXZlbG9wbWVudCBlbnZpcm9ubWVudC4gRWl0aGVyIHN3aXRjaCBiYWNrIHRvIGxpYnhtbCB2MSBkZXZlbCBvcgorICAgIGV2ZW4gYmV0dGVyIGZpeCB0aGUgY29kZSB0byBjb21waWxlIHdpdGggbGlieG1sMiAob3IgYm90aCkgYnkgPGEKKyAgICBocmVmPSJ1cGdyYWRlLmh0bWwiPmZvbGxvd2luZyB0aGUgaW5zdHJ1Y3Rpb25zPC9hPi48L3A+CisgIDwvbGk+CisgIDxsaT48ZW0+SSBnZXQgY29tcGlsYXRpb24gZXJyb3JzIGFib3V0IG5vbiBleGlzdGluZworICAgIDxzdHJvbmc+eG1sUm9vdE5vZGU8L3N0cm9uZz4gb3IgPHN0cm9uZz54bWxDaGlsZHJlbk5vZGU8L3N0cm9uZz4KKyAgICBmaWVsZHMuPC9lbT4KKyAgICA8cD5UaGUgc291cmNlIGNvZGUgeW91IGFyZSB1c2luZyBoYXMgYmVlbiA8YQorICAgIGhyZWY9InVwZ3JhZGUuaHRtbCI+dXBncmFkZWQ8L2E+IHRvIGJlIGFibGUgdG8gY29tcGlsZSB3aXRoIGJvdGggbGlieG1sCisgICAgYW5kIGxpYnhtbDIsIGJ1dCB5b3UgbmVlZCB0byBpbnN0YWxsIGEgbW9yZSByZWNlbnQgdmVyc2lvbjoKKyAgICBsaWJ4bWwoLWRldmVsKSAmZ3Q7PSAxLjguOCBvciBsaWJ4bWwyKC1kZXZlbCkgJmd0Oz0gMi4xLjA8L3A+CisgIDwvbGk+CisgIDxsaT48ZW0+UmFuZG9tIGNyYXNoZXMgaW4gdGhyZWFkZWQgYXBwbGljYXRpb25zPC9lbT4KKyAgICA8cD5SZWFkIGFuZCBmb2xsb3cgYWxsIGFkdmljZXMgb24gdGhlIDxhIGhyZWY9InRocmVhZHMuaHRtbCI+dGhyZWFkCisgICAgc2FmZXR5PC9hPiBwYWdlLCBhbmQgbWFrZSAxMDAlIHN1cmUgeW91IG5ldmVyIGNhbGwgeG1sQ2xlYW51cFBhcnNlcigpCisgICAgd2hpbGUgdGhlIGxpYnJhcnkgb3IgYW4gWE1MIGRvY3VtZW50IG1pZ2h0IHN0aWxsIGJlIGluIHVzZSBieSBhbm90aGVyCisgICAgdGhyZWFkLjwvcD4KKyAgPC9saT4KKyAgPGxpPjxlbT5UaGUgZXhhbXBsZSBwcm92aWRlZCBpbiB0aGUgd2ViIHBhZ2UgZG9lcyBub3QgY29tcGlsZS48L2VtPgorICAgIDxwPkl0J3MgaGFyZCB0byBtYWludGFpbiB0aGUgZG9jdW1lbnRhdGlvbiBpbiBzeW5jIHdpdGggdGhlIGNvZGUKKyAgICAmbHQ7Z3Jpbi8mZ3Q7IC4uLjwvcD4KKyAgICA8cD5DaGVjayB0aGUgcHJldmlvdXMgcG9pbnRzIDEvIGFuZCAyLyByYWlzZWQgYmVmb3JlLCBhbmQgcGxlYXNlIHNlbmQKKyAgICBwYXRjaGVzLjwvcD4KKyAgPC9saT4KKyAgPGxpPjxlbT5XaGVyZSBjYW4gSSBnZXQgbW9yZSBleGFtcGxlcyBhbmQgaW5mb3JtYXRpb24gdGhhbiBwcm92aWRlZCBvbiB0aGUKKyAgICB3ZWIgcGFnZT88L2VtPgorICAgIDxwPklkZWFsbHkgYSBsaWJ4bWwyIGJvb2sgd291bGQgYmUgbmljZS4gSSBoYXZlIG5vIHN1Y2ggcGxhbiAuLi4gQnV0IHlvdQorICAgIGNhbjo8L3A+CisgICAgPHVsPgorICAgICAgPGxpPmNoZWNrIG1vcmUgZGVlcGx5IHRoZSA8YSBocmVmPSJodG1sL2xpYnhtbC1saWIuaHRtbCI+ZXhpc3RpbmcKKyAgICAgICAgZ2VuZXJhdGVkIGRvYzwvYT48L2xpPgorICAgICAgPGxpPmhhdmUgYSBsb29rIGF0IDxhIGhyZWY9ImV4YW1wbGVzL2luZGV4Lmh0bWwiPnRoZSBzZXQgb2YKKyAgICAgICAgZXhhbXBsZXM8L2E+LjwvbGk+CisgICAgICA8bGk+bG9vayBmb3IgZXhhbXBsZXMgb2YgdXNlIGZvciBsaWJ4bWwyIGZ1bmN0aW9uIHVzaW5nIHRoZSBHbm9tZSBjb2RlCisgICAgICAgICAgb3IgYnkgYXNraW5nIG9uIEdvb2dsZS48L2xpPgorICAgICAgPGxpPjxhCisgICAgICAgIGhyZWY9Imh0dHA6Ly9zdm4uZ25vbWUub3JnL3ZpZXd2Yy9saWJ4bWwyL3RydW5rLyI+QnJvd3NlCisgICAgICAgIHRoZSBsaWJ4bWwyIHNvdXJjZTwvYT4gLCBJIHRyeSB0byB3cml0ZSBjb2RlIGFzIGNsZWFuIGFuZCBkb2N1bWVudGVkCisgICAgICAgIGFzIHBvc3NpYmxlLCBzbyBsb29raW5nIGF0IGl0IG1heSBiZSBoZWxwZnVsLiBJbiBwYXJ0aWN1bGFyIHRoZSBjb2RlCisgICAgICAgIG9mIDxhIGhyZWY9Imh0dHA6Ly9zdm4uZ25vbWUub3JnL3ZpZXd2Yy9saWJ4bWwyL3RydW5rL3htbGxpbnQuYz92aWV3PW1hcmt1cCI+eG1sbGludC5jPC9hPiBhbmQgb2YgdGhlIHZhcmlvdXMgdGVzdFhYWC5jIHRlc3QgcHJvZ3JhbXMgc2hvdWxkCisgICAgICAgIHByb3ZpZGUgZ29vZCBleGFtcGxlcyBvZiBob3cgdG8gZG8gdGhpbmdzIHdpdGggdGhlIGxpYnJhcnkuPC9saT4KKyAgICA8L3VsPgorICA8L2xpPgorICA8cD48L3A+CisgIDxsaT48ZW0+V2hhdCBhYm91dCBDKysgPzwvZW0+CisgICAgPHA+bGlieG1sMiBpcyB3cml0dGVuIGluIHB1cmUgQyBpbiBvcmRlciB0byBhbGxvdyBlYXN5IHJldXNlIG9uIGEgbnVtYmVyCisgICAgb2YgcGxhdGZvcm1zLCBpbmNsdWRpbmcgZW1iZWRkZWQgc3lzdGVtcy4gSSBkb24ndCBpbnRlbmQgdG8gY29udmVydCB0bworICAgIEMrKy48L3A+CisgICAgPHA+VGhlcmUgaXMgaG93ZXZlciBhIEMrKyB3cmFwcGVyIHdoaWNoIG1heSBmdWxmaWxsIHlvdXIgbmVlZHM6PC9wPgorICAgIDx1bD4KKyAgICAgIDxsaT5ieSBBcmkgSm9obnNvbiAmbHQ7YXJpQGJ0aWdhdGUuY29tJmd0OzoKKyAgICAgICAgPHA+V2Vic2l0ZTogPGEKKyAgICAgICAgaHJlZj0iaHR0cDovL2xpYnhtbHBsdXNwbHVzLnNvdXJjZWZvcmdlLm5ldC8iPmh0dHA6Ly9saWJ4bWxwbHVzcGx1cy5zb3VyY2Vmb3JnZS5uZXQvPC9hPjwvcD4KKyAgICAgICAgPHA+RG93bmxvYWQ6IDxhCisgICAgICAgIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdC9zaG93ZmlsZXMucGhwP2dyb3VwX2lkPTEyOTk5Ij5odHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3Qvc2hvd2ZpbGVzLnBocD9ncm91cF9pZD0xMjk5OTwvYT48L3A+CisgICAgICA8L2xpPgorICAgIDwvdWw+CisgIDwvbGk+CisgIDxsaT48ZW0+SG93IHRvIHZhbGlkYXRlIGEgZG9jdW1lbnQgYSBwb3N0ZXJpb3JpID88L2VtPgorICAgIDxwPkl0IGlzIHBvc3NpYmxlIHRvIHZhbGlkYXRlIGRvY3VtZW50cyB3aGljaCBoYWQgbm90IGJlZW4gdmFsaWRhdGVkIGF0CisgICAgaW5pdGlhbCBwYXJzaW5nIHRpbWUgb3IgZG9jdW1lbnRzIHdoaWNoIGhhdmUgYmVlbiBidWlsdCBmcm9tIHNjcmF0Y2gKKyAgICB1c2luZyB0aGUgQVBJLiBVc2UgdGhlIDxhCisgICAgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnL2h0bWwvbGlieG1sLXZhbGlkLmh0bWwjeG1sVmFsaWRhdGVEdGQiPnhtbFZhbGlkYXRlRHRkKCk8L2E+CisgICAgZnVuY3Rpb24uIEl0IGlzIGFsc28gcG9zc2libGUgdG8gc2ltcGx5IGFkZCBhIERURCB0byBhbiBleGlzdGluZworICAgIGRvY3VtZW50OjwvcD4KKyAgICA8cHJlPnhtbERvY1B0ciBkb2M7IC8qIHlvdXIgZXhpc3RpbmcgZG9jdW1lbnQgKi8KK3htbER0ZFB0ciBkdGQgPSB4bWxQYXJzZURURChOVUxMLCBmaWxlbmFtZV9vZl9kdGQpOyAvKiBwYXJzZSB0aGUgRFREICovCisKKyAgICAgICAgZHRkLSZndDtuYW1lID0geG1sU3RyRHVwKCh4bWxDaGFyKikicm9vdF9uYW1lIik7IC8qIHVzZSB0aGUgZ2l2ZW4gcm9vdCAqLworCisgICAgICAgIGRvYy0mZ3Q7aW50U3Vic2V0ID0gZHRkOworICAgICAgICBpZiAoZG9jLSZndDtjaGlsZHJlbiA9PSBOVUxMKSB4bWxBZGRDaGlsZCgoeG1sTm9kZVB0cilkb2MsICh4bWxOb2RlUHRyKWR0ZCk7CisgICAgICAgIGVsc2UgeG1sQWRkUHJldlNpYmxpbmcoZG9jLSZndDtjaGlsZHJlbiwgKHhtbE5vZGVQdHIpZHRkKTsKKyAgICAgICAgICA8L3ByZT4KKyAgPC9saT4KKyAgPGxpPjxlbT5TbyB3aGF0IGlzIHRoaXMgZnVua3kgInhtbENoYXIiIHVzZWQgYWxsIHRoZSB0aW1lPzwvZW0+CisgICAgPHA+SXQgaXMgYSBudWxsIHRlcm1pbmF0ZWQgc2VxdWVuY2Ugb2YgdXRmLTggY2hhcmFjdGVycy4gQW5kIG9ubHkgdXRmLTghCisgICAgWW91IG5lZWQgdG8gY29udmVydCBzdHJpbmdzIGVuY29kZWQgaW4gZGlmZmVyZW50IHdheXMgdG8gdXRmLTggYmVmb3JlCisgICAgcGFzc2luZyB0aGVtIHRvIHRoZSBBUEkuICBUaGlzIGNhbiBiZSBhY2NvbXBsaXNoZWQgd2l0aCB0aGUgaWNvbnYgbGlicmFyeQorICAgIGZvciBpbnN0YW5jZS48L3A+CisgIDwvbGk+CisgIDxsaT5ldGMgLi4uPC9saT4KKzwvb2w+CisKKzxwPjwvcD4KKworPGgyPjxhIG5hbWU9IkRvY3VtZW50YXQiPkRldmVsb3BlciBNZW51PC9hPjwvaDI+CisKKzxwPlRoZXJlIGFyZSBzZXZlcmFsIG9uLWxpbmUgcmVzb3VyY2VzIHJlbGF0ZWQgdG8gdXNpbmcgbGlieG1sOjwvcD4KKzxvbD4KKyAgPGxpPlVzZSB0aGUgPGEgaHJlZj0ic2VhcmNoLnBocCI+c2VhcmNoIGVuZ2luZTwvYT4gdG8gbG9vayB1cAorICBpbmZvcm1hdGlvbi48L2xpPgorICA8bGk+Q2hlY2sgdGhlIDxhIGhyZWY9IkZBUS5odG1sIj5GQVEuPC9hPjwvbGk+CisgIDxsaT5DaGVjayB0aGUgPGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnL2h0bWwvbGlieG1sLWxpYi5odG1sIj5leHRlbnNpdmUKKyAgICBkb2N1bWVudGF0aW9uPC9hPiBhdXRvbWF0aWNhbGx5IGV4dHJhY3RlZCBmcm9tIGNvZGUgY29tbWVudHMuPC9saT4KKyAgPGxpPkxvb2sgYXQgdGhlIGRvY3VtZW50YXRpb24gYWJvdXQgPGEgaHJlZj0iZW5jb2RpbmcuaHRtbCI+bGlieG1sCisgICAgaW50ZXJuYXRpb25hbGl6YXRpb24gc3VwcG9ydDwvYT4uPC9saT4KKyAgPGxpPlRoaXMgcGFnZSBwcm92aWRlcyBhIGdsb2JhbCBvdmVydmlldyBhbmQgPGEgaHJlZj0iZXhhbXBsZS5odG1sIj5zb21lCisgICAgZXhhbXBsZXM8L2E+IG9uIGhvdyB0byB1c2UgbGlieG1sLjwvbGk+CisgIDxsaT48YSBocmVmPSJleGFtcGxlcy9pbmRleC5odG1sIj5Db2RlIGV4YW1wbGVzPC9hPjwvbGk+CisgIDxsaT5Kb2huIEZsZWNrJ3MgbGlieG1sMiB0dXRvcmlhbDogPGEgaHJlZj0idHV0b3JpYWwvaW5kZXguaHRtbCI+aHRtbDwvYT4KKyAgICBvciA8YSBocmVmPSJ0dXRvcmlhbC94bWx0dXRvcmlhbC5wZGYiPnBkZjwvYT4uPC9saT4KKyAgPGxpPklmIHlvdSBuZWVkIHRvIHBhcnNlIGxhcmdlIGZpbGVzLCBjaGVjayB0aGUgPGEKKyAgICBocmVmPSJ4bWxyZWFkZXIuaHRtbCI+eG1sUmVhZGVyPC9hPiBBUEkgdHV0b3JpYWw8L2xpPgorICA8bGk+PGEgaHJlZj0ibWFpbHRvOmphbWVzQGRhYS5jb20uYXUiPkphbWVzIEhlbnN0cmlkZ2U8L2E+IHdyb3RlIDxhCisgICAgaHJlZj0iaHR0cDovL3d3dy5qYW1lc2guaWQuYXUvYXJ0aWNsZXMvbGlieG1sLXNheC9saWJ4bWwtc2F4Lmh0bWwiPnNvbWUgbmljZQorICAgIGRvY3VtZW50YXRpb248L2E+IGV4cGxhaW5pbmcgaG93IHRvIHVzZSB0aGUgbGlieG1sIFNBWCBpbnRlcmZhY2UuPC9saT4KKyAgPGxpPkdlb3JnZSBMZWJsIHdyb3RlIDxhCisgICAgaHJlZj0iaHR0cDovL3d3dy0xMDYuaWJtLmNvbS9kZXZlbG9wZXJ3b3Jrcy9saWJyYXJ5L2wtZ25vbWUzLyI+YW4gYXJ0aWNsZQorICAgIGZvciBJQk0gZGV2ZWxvcGVyV29ya3M8L2E+IGFib3V0IHVzaW5nIGxpYnhtbC48L2xpPgorICA8bGk+Q2hlY2sgPGEgaHJlZj0iaHR0cDovL3N2bi5nbm9tZS5vcmcvdmlld3ZjL2xpYnhtbDIvdHJ1bmsvVE9ETz92aWV3PW1hcmt1cCI+dGhlIFRPRE8KKyAgICBmaWxlPC9hPi48L2xpPgorICA8bGk+UmVhZCB0aGUgPGEgaHJlZj0idXBncmFkZS5odG1sIj4xLnggdG8gMi54IHVwZ3JhZGUgcGF0aDwvYT4KKyAgICBkZXNjcmlwdGlvbi4gSWYgeW91IGFyZSBzdGFydGluZyBhIG5ldyBwcm9qZWN0IHVzaW5nIGxpYnhtbCB5b3Ugc2hvdWxkCisgICAgcmVhbGx5IHVzZSB0aGUgMi54IHZlcnNpb24uPC9saT4KKyAgPGxpPkFuZCBkb24ndCBmb3JnZXQgdG8gbG9vayBhdCB0aGUgPGEKKyAgICBocmVmPSJodHRwOi8vbWFpbC5nbm9tZS5vcmcvYXJjaGl2ZXMveG1sLyI+bWFpbGluZy1saXN0IGFyY2hpdmU8L2E+LjwvbGk+Cis8L29sPgorCis8aDI+PGEgbmFtZT0iUmVwb3J0aW5nIj5SZXBvcnRpbmcgYnVncyBhbmQgZ2V0dGluZyBoZWxwPC9hPjwvaDI+CisKKzxwPldlbGwsIGJ1Z3Mgb3IgbWlzc2luZyBmZWF0dXJlcyBhcmUgYWx3YXlzIHBvc3NpYmxlLCBhbmQgSSB3aWxsIG1ha2UgYQorcG9pbnQgb2YgZml4aW5nIHRoZW0gaW4gYSB0aW1lbHkgZmFzaGlvbi4gVGhlIGJlc3Qgd2F5IHRvIHJlcG9ydCBhIGJ1ZyBpcyB0bwordXNlIHRoZSA8YSBocmVmPSJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2J1Z2xpc3QuY2dpP3Byb2R1Y3Q9bGlieG1sMiI+R25vbWUKK2J1ZyB0cmFja2luZyBkYXRhYmFzZTwvYT4gKG1ha2Ugc3VyZSB0byB1c2UgdGhlICJsaWJ4bWwyIiBtb2R1bGUgbmFtZSkuIEkKK2xvb2sgYXQgcmVwb3J0cyB0aGVyZSByZWd1bGFybHkgYW5kIGl0J3MgZ29vZCB0byBoYXZlIGEgcmVtaW5kZXIgd2hlbiBhIGJ1ZworaXMgc3RpbGwgb3Blbi4gQmUgc3VyZSB0byBzcGVjaWZ5IHRoYXQgdGhlIGJ1ZyBpcyBmb3IgdGhlIHBhY2thZ2UgbGlieG1sMi48L3A+CisKKzxwPkZvciBzbWFsbCBwcm9ibGVtcyB5b3UgY2FuIHRyeSB0byBnZXQgaGVscCBvbiBJUkMsIHRoZSAjeG1sIGNoYW5uZWwgb24KK2lyYy5nbm9tZS5vcmcgKHBvcnQgNjY2NykgdXN1YWxseSBoYXZlIGEgZmV3IHBlcnNvbiBzdWJzY3JpYmVkIHdoaWNoIG1heSBoZWxwCisoYnV0IHRoZXJlIGlzIG5vIGd1YXJhbnRlZSBhbmQgaWYgYSByZWFsIGlzc3VlIGlzIHJhaXNlZCBpdCBzaG91bGQgZ28gb24gdGhlCittYWlsaW5nLWxpc3QgZm9yIGFyY2hpdmFsKS48L3A+CisKKzxwPlRoZXJlIGlzIGFsc28gYSBtYWlsaW5nLWxpc3QgPGEKK2hyZWY9Im1haWx0bzp4bWxAZ25vbWUub3JnIj54bWxAZ25vbWUub3JnPC9hPiBmb3IgbGlieG1sLCB3aXRoIGFuICA8YQoraHJlZj0iaHR0cDovL21haWwuZ25vbWUub3JnL2FyY2hpdmVzL3htbC8iPm9uLWxpbmUgYXJjaGl2ZTwvYT4gKDxhCitocmVmPSJodHRwOi8veG1sc29mdC5vcmcvbWVzc2FnZXMiPm9sZDwvYT4pLiBUbyBzdWJzY3JpYmUgdG8gdGhpcyBsaXN0LAorcGxlYXNlIHZpc2l0IHRoZSA8YQoraHJlZj0iaHR0cDovL21haWwuZ25vbWUub3JnL21haWxtYW4vbGlzdGluZm8veG1sIj5hc3NvY2lhdGVkIFdlYjwvYT4gcGFnZSBhbmQKK2ZvbGxvdyB0aGUgaW5zdHJ1Y3Rpb25zLiA8c3Ryb25nPkRvIG5vdCBzZW5kIGNvZGUsIEkgd29uJ3QgZGVidWcgaXQ8L3N0cm9uZz4KKyhidXQgcGF0Y2hlcyBhcmUgcmVhbGx5IGFwcHJlY2lhdGVkISkuPC9wPgorCis8cD5QbGVhc2Ugbm90ZSB0aGF0IHdpdGggdGhlIGN1cnJlbnQgYW1vdW50IG9mIHZpcnVzIGFuZCBTUEFNLCBzZW5kaW5nIG1haWwKK3RvIHRoZSBsaXN0IHdpdGhvdXQgYmVpbmcgc3Vic2NyaWJlZCB3b24ndCB3b3JrLiBUaGVyZSBpcyAqZmFyIHRvbyBtYW55Citib3VuY2VzKiAoaW4gdGhlIG9yZGVyIG9mIGEgdGhvdXNhbmQgYSBkYXkgISkgSSBjYW5ub3QgYXBwcm92ZSB0aGVtIG1hbnVhbGx5Cithbnltb3JlLiBJZiB5b3VyIG1haWwgdG8gdGhlIGxpc3QgYm91bmNlZCB3YWl0aW5nIGZvciBhZG1pbmlzdHJhdG9yIGFwcHJvdmFsLAoraXQgaXMgTE9TVCAhIFJlcG9zdCBpdCBhbmQgZml4IHRoZSBwcm9ibGVtIHRyaWdnZXJpbmcgdGhlIGVycm9yLiBBbHNvIHBsZWFzZQorbm90ZSB0aGF0IDxzcGFuIHN0eWxlPSJjb2xvcjogI0ZGMDAwMDsgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRiI+ZW1haWxzIHdpdGgKK2EgbGVnYWwgd2FybmluZyBhc2tpbmcgdG8gbm90IGNvcHkgb3IgcmVkaXN0cmlidXRlIGZyZWVseSB0aGUgaW5mb3JtYXRpb24KK3RoZXkgY29udGFpbjwvc3Bhbj4gYXJlIDxzdHJvbmc+Tk9UPC9zdHJvbmc+IGFjY2VwdGFibGUgZm9yIHRoZSBtYWlsaW5nLWxpc3QsCitzdWNoIG1haWwgd2lsbCBhcyBtdWNoIGFzIHBvc3NpYmxlIGJlIGRpc2NhcmRlZCBhdXRvbWF0aWNhbGx5LCBhbmQgYXJlIGxlc3MKK2xpa2VseSB0byBiZSBhbnN3ZXJlZCBpZiB0aGV5IG1hZGUgaXQgdG8gdGhlIGxpc3QsIDxzdHJvbmc+RE8gTk9UPC9zdHJvbmc+Citwb3N0IHRvIHRoZSBsaXN0IGZyb20gYW4gZW1haWwgYWRkcmVzcyB3aGVyZSBzdWNoIGxlZ2FsIHJlcXVpcmVtZW50cyBhcmUKK2F1dG9tYXRpY2FsbHkgYWRkZWQsIGdldCBwcml2YXRlIHBheWluZyBzdXBwb3J0IGlmIHlvdSBjYW4ndCBzaGFyZQoraW5mb3JtYXRpb24uPC9wPgorCis8cD5DaGVjayB0aGUgZm9sbG93aW5nIDxzdHJvbmc+PHNwYW4gc3R5bGU9ImNvbG9yOiAjRkYwMDAwIj5iZWZvcmUKK3Bvc3Rpbmc8L3NwYW4+PC9zdHJvbmc+OjwvcD4KKzx1bD4KKyAgPGxpPlJlYWQgdGhlIDxhIGhyZWY9IkZBUS5odG1sIj5GQVE8L2E+IGFuZCA8YSBocmVmPSJzZWFyY2gucGhwIj51c2UgdGhlCisgICAgc2VhcmNoIGVuZ2luZTwvYT4gdG8gZ2V0IGluZm9ybWF0aW9uIHJlbGF0ZWQgdG8geW91ciBwcm9ibGVtLjwvbGk+CisgIDxsaT5NYWtlIHN1cmUgeW91IGFyZSA8YSBocmVmPSJmdHA6Ly94bWxzb2Z0Lm9yZy9saWJ4bWwyLyI+dXNpbmcgYSByZWNlbnQKKyAgICB2ZXJzaW9uPC9hPiwgYW5kIHRoYXQgdGhlIHByb2JsZW0gc3RpbGwgc2hvd3MgdXAgaW4gYSByZWNlbnQgdmVyc2lvbi48L2xpPgorICA8bGk+Q2hlY2sgdGhlIDxhIGhyZWY9Imh0dHA6Ly9tYWlsLmdub21lLm9yZy9hcmNoaXZlcy94bWwvIj5saXN0CisgICAgYXJjaGl2ZXM8L2E+IHRvIHNlZSBpZiB0aGUgcHJvYmxlbSB3YXMgcmVwb3J0ZWQgYWxyZWFkeS4gSW4gdGhpcyBjYXNlCisgICAgdGhlcmUgaXMgcHJvYmFibHkgYSBmaXggYXZhaWxhYmxlLCBzaW1pbGFybHkgY2hlY2sgdGhlIDxhCisgICAgaHJlZj0iaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9idWdsaXN0LmNnaT9wcm9kdWN0PWxpYnhtbDIiPnJlZ2lzdGVyZWQKKyAgICBvcGVuIGJ1Z3M8L2E+LjwvbGk+CisgIDxsaT5NYWtlIHN1cmUgeW91IGNhbiByZXByb2R1Y2UgdGhlIGJ1ZyB3aXRoIHhtbGxpbnQgb3Igb25lIG9mIHRoZSB0ZXN0CisgICAgcHJvZ3JhbXMgZm91bmQgaW4gc291cmNlIGluIHRoZSBkaXN0cmlidXRpb24uPC9saT4KKyAgPGxpPlBsZWFzZSBzZW5kIHRoZSBjb21tYW5kIHNob3dpbmcgdGhlIGVycm9yIGFzIHdlbGwgYXMgdGhlIGlucHV0IChhcyBhbgorICAgIGF0dGFjaG1lbnQpPC9saT4KKzwvdWw+CisKKzxwPlRoZW4gc2VuZCB0aGUgYnVnIHdpdGggYXNzb2NpYXRlZCBpbmZvcm1hdGlvbiB0byByZXByb2R1Y2UgaXQgdG8gdGhlIDxhCitocmVmPSJtYWlsdG86eG1sQGdub21lLm9yZyI+eG1sQGdub21lLm9yZzwvYT4gbGlzdDsgaWYgaXQncyByZWFsbHkgbGlieG1sCityZWxhdGVkIEkgd2lsbCBhcHByb3ZlIGl0LiBQbGVhc2UgZG8gbm90IHNlbmQgbWFpbCB0byBtZSBkaXJlY3RseSwgaXQgbWFrZXMKK3RoaW5ncyByZWFsbHkgaGFyZCB0byB0cmFjayBhbmQgaW4gc29tZSBjYXNlcyBJIGFtIG5vdCB0aGUgYmVzdCBwZXJzb24gdG8KK2Fuc3dlciBhIGdpdmVuIHF1ZXN0aW9uLCBhc2sgb24gdGhlIGxpc3QuPC9wPgorCis8cD5UbyA8c3BhbiBzdHlsZT0iY29sb3I6ICNFNTAwMDAiPmJlIHJlYWxseSBjbGVhciBhYm91dCBzdXBwb3J0PC9zcGFuPjo8L3A+Cis8dWw+CisgIDxsaT5TdXBwb3J0IG9yIGhlbHAgPHNwYW4gc3R5bGU9ImNvbG9yOiAjRTUwMDAwIj5yZXF1ZXN0cyBNVVNUIGJlIHNlbnQgdG8KKyAgICB0aGUgbGlzdCBvciBvbiBidWd6aWxsYTwvc3Bhbj4gaW4gY2FzZSBvZiBwcm9ibGVtcywgc28gdGhhdCB0aGUgUXVlc3Rpb24KKyAgICBhbmQgQW5zd2VycyBjYW4gYmUgc2hhcmVkIHB1YmxpY2x5LiBGYWlsaW5nIHRvIGRvIHNvIGNhcnJpZXMgdGhlIGltcGxpY2l0CisgICAgbWVzc2FnZSAiSSB3YW50IGZyZWUgc3VwcG9ydCBidXQgSSBkb24ndCB3YW50IHRvIHNoYXJlIHRoZSBiZW5lZml0cyB3aXRoCisgICAgb3RoZXJzIiBhbmQgaXMgbm90IHdlbGNvbWUuIEkgd2lsbCBhdXRvbWF0aWNhbGx5IENhcmJvbi1Db3B5IHRoZQorICAgIHhtbEBnbm9tZS5vcmcgbWFpbGluZyBsaXN0IGZvciBhbnkgdGVjaG5pY2FsIHJlcGx5IG1hZGUgYWJvdXQgbGlieG1sMiBvcgorICAgIGxpYnhzbHQuPC9saT4KKyAgPGxpPlRoZXJlIGlzIDxzcGFuIHN0eWxlPSJjb2xvcjogI0U1MDAwMCI+bm8gZ3VhcmFudGVlIG9mIHN1cHBvcnQ8L3NwYW4+LiBJZgorICAgIHlvdXIgcXVlc3Rpb24gcmVtYWlucyB1bmFuc3dlcmVkIGFmdGVyIGEgd2VlaywgcmVwb3N0IGl0LCBtYWtpbmcgc3VyZSB5b3UKKyAgICBnYXZlIGFsbCB0aGUgZGV0YWlsIG5lZWRlZCBhbmQgdGhlIGluZm9ybWF0aW9uIHJlcXVlc3RlZC48L2xpPgorICA8bGk+RmFpbGluZyB0byBwcm92aWRlIGluZm9ybWF0aW9uIGFzIHJlcXVlc3RlZCBvciBkb3VibGUgY2hlY2tpbmcgZmlyc3QKKyAgICBmb3IgcHJpb3IgZmVlZGJhY2sgYWxzbyBjYXJyaWVzIHRoZSBpbXBsaWNpdCBtZXNzYWdlICJ0aGUgdGltZSBvZiB0aGUKKyAgICBsaWJyYXJ5IG1haW50YWluZXJzIGlzIGxlc3MgdmFsdWFibGUgdGhhbiBteSB0aW1lIiBhbmQgbWlnaHQgbm90IGJlCisgICAgd2VsY29tZS48L2xpPgorPC91bD4KKworPHA+T2YgY291cnNlLCBidWdzIHJlcG9ydGVkIHdpdGggYSBzdWdnZXN0ZWQgcGF0Y2ggZm9yIGZpeGluZyB0aGVtIHdpbGwKK3Byb2JhYmx5IGJlIHByb2Nlc3NlZCBmYXN0ZXIgdGhhbiB0aG9zZSB3aXRob3V0LjwvcD4KKworPHA+SWYgeW91J3JlIGxvb2tpbmcgZm9yIGhlbHAsIGEgcXVpY2sgbG9vayBhdCA8YQoraHJlZj0iaHR0cDovL21haWwuZ25vbWUub3JnL2FyY2hpdmVzL3htbC8iPnRoZSBsaXN0IGFyY2hpdmU8L2E+IG1heSBhY3R1YWxseQorcHJvdmlkZSB0aGUgYW5zd2VyLiBJIHVzdWFsbHkgc2VuZCBzb3VyY2Ugc2FtcGxlcyB3aGVuIGFuc3dlcmluZyBsaWJ4bWwyCit1c2FnZSBxdWVzdGlvbnMuIFRoZSA8YQoraHJlZj0iaHR0cDovL3htbHNvZnQub3JnL2h0bWwvYm9vazEuaHRtbCI+YXV0by1nZW5lcmF0ZWQgZG9jdW1lbnRhdGlvbjwvYT4gaXMKK25vdCBhcyBwb2xpc2hlZCBhcyBJIHdvdWxkIGxpa2UgKGkgbmVlZCB0byBsZWFybiBtb3JlIGFib3V0IERvY0Jvb2spLCBidXQKK2l0J3MgYSBnb29kIHN0YXJ0aW5nIHBvaW50LjwvcD4KKworPGgyPjxhIG5hbWU9ImhlbHAiPkhvdyB0byBoZWxwPC9hPjwvaDI+CisKKzxwPllvdSBjYW4gaGVscCB0aGUgcHJvamVjdCBpbiB2YXJpb3VzIHdheXMsIHRoZSBiZXN0IHRoaW5nIHRvIGRvIGZpcnN0IGlzIHRvCitzdWJzY3JpYmUgdG8gdGhlIG1haWxpbmctbGlzdCBhcyBleHBsYWluZWQgYmVmb3JlLCBjaGVjayB0aGUgPGEKK2hyZWY9Imh0dHA6Ly9tYWlsLmdub21lLm9yZy9hcmNoaXZlcy94bWwvIj5hcmNoaXZlcyA8L2E+YW5kIHRoZSA8YQoraHJlZj0iaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9idWdsaXN0LmNnaT9wcm9kdWN0PWxpYnhtbDIiPkdub21lIGJ1ZworZGF0YWJhc2U8L2E+OjwvcD4KKzxvbD4KKyAgPGxpPlByb3ZpZGUgcGF0Y2hlcyB3aGVuIHlvdSBmaW5kIHByb2JsZW1zLjwvbGk+CisgIDxsaT5Qcm92aWRlIHRoZSBkaWZmcyB3aGVuIHlvdSBwb3J0IGxpYnhtbDIgdG8gYSBuZXcgcGxhdGZvcm0uIFRoZXkgbWF5IG5vdAorICAgIGJlIGludGVncmF0ZWQgaW4gYWxsIGNhc2VzIGJ1dCBoZWxwIHBpbnBvaW50aW5nIHBvcnRhYmlsaXR5IHByb2JsZW1zCisgIGFuZDwvbGk+CisgIDxsaT5Qcm92aWRlIGRvY3VtZW50YXRpb24gZml4ZXMgKGVpdGhlciBhcyBwYXRjaGVzIHRvIHRoZSBjb2RlIGNvbW1lbnRzIG9yCisgICAgYXMgSFRNTCBkaWZmcykuPC9saT4KKyAgPGxpPlByb3ZpZGUgbmV3IGRvY3VtZW50YXRpb25zIHBpZWNlcyAodHJhbnNsYXRpb25zLCBleGFtcGxlcywgZXRjCisgIC4uLikuPC9saT4KKyAgPGxpPkNoZWNrIHRoZSBUT0RPIGZpbGUgYW5kIHRyeSB0byBjbG9zZSBvbmUgb2YgdGhlIGl0ZW1zLjwvbGk+CisgIDxsaT5UYWtlIG9uZSBvZiB0aGUgcG9pbnRzIHJhaXNlZCBpbiB0aGUgYXJjaGl2ZSBvciB0aGUgYnVnIGRhdGFiYXNlIGFuZAorICAgIHByb3ZpZGUgYSBmaXguIDxhIGhyZWY9Im1haWx0bzpkYW5pZWxAdmVpbGxhcmQuY29tIj5HZXQgaW4gdG91Y2ggd2l0aCBtZQorICAgIDwvYT5iZWZvcmUgdG8gYXZvaWQgc3luY2hyb25pemF0aW9uIHByb2JsZW1zIGFuZCBjaGVjayB0aGF0IHRoZSBzdWdnZXN0ZWQKKyAgICBmaXggd2lsbCBmaXQgaW4gbmljZWx5IDotKTwvbGk+Cis8L29sPgorCis8aDI+PGEgbmFtZT0iRG93bmxvYWRzIj5Eb3dubG9hZHM8L2E+PC9oMj4KKworPHA+VGhlIGxhdGVzdCB2ZXJzaW9ucyBvZiBsaWJ4bWwyIGNhbiBiZSBmb3VuZCBvbiB0aGUgPGEKK2hyZWY9ImZ0cDovL3htbHNvZnQub3JnL2xpYnhtbDIvIj54bWxzb2Z0Lm9yZzwvYT4gc2VydmVyICggPGEKK2hyZWY9ImZ0cDovL3htbHNvZnQub3JnL2xpYnhtbDIvIj5GVFA8L2E+IGFuZCByc3luYyBhcmUgYXZhaWxhYmxlKSwgdGhlcmUgYXJlIGFsc28KK21pcnJvcnMgKDxhIGhyZWY9ImZ0cDovL2ZyLnJwbWZpbmQubmV0L3B1Yi9saWJ4bWwvIj5GcmFuY2U8L2E+IGFuZAorQW50b25pbiBTcHJpbnpsIGFsc28gcHJvdmlkZSA8YSBocmVmPSJmdHA6Ly9nZC50dXdpZW4uYWMuYXQvcHViL2xpYnhtbC8iPmEKK21pcnJvciBpbiBBdXN0cmlhPC9hPikuIChOT1RFIHRoYXQgeW91IG5lZWQgYm90aCB0aGUgPGEKK2hyZWY9Imh0dHA6Ly9ycG1maW5kLm5ldC9saW51eC9SUE0vbGlieG1sMi5odG1sIj5saWJ4bWwoMik8L2E+IGFuZCA8YQoraHJlZj0iaHR0cDovL3JwbWZpbmQubmV0L2xpbnV4L1JQTS9saWJ4bWwyLWRldmVsLmh0bWwiPmxpYnhtbCgyKS1kZXZlbDwvYT4KK3BhY2thZ2VzIGluc3RhbGxlZCB0byBjb21waWxlIGFwcGxpY2F0aW9ucyB1c2luZyBsaWJ4bWwgaWYgdXNpbmcgUlBNcy4pPC9wPgorCis8cD5Zb3UgY2FuIGZpbmQgYWxsIHRoZSBoaXN0b3J5IG9mIGxpYnhtbCgyKSBhbmQgbGlieHNsdCByZWxlYXNlcyBpbiB0aGUgPGEKK2hyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9zb3VyY2VzL29sZC8iPm9sZDwvYT4gZGlyZWN0b3J5LiBUaGUgcHJlY29tcGlsZWQKK1dpbmRvd3MgYmluYXJpZXMgbWFkZSBieSBJZ29yIFpsYXRvdmljIGFyZSBhdmFpbGFibGUgaW4gdGhlIDxhCitocmVmPSJodHRwOi8veG1sc29mdC5vcmcvc291cmNlcy93aW4zMi8iPndpbjMyPC9hPiBkaXJlY3RvcnkuPC9wPgorCis8cD5CaW5hcnkgcG9ydHM6PC9wPgorPHVsPgorICA8bGk+UlBNcyBmb3IgeDg2XzY0IGFyZSBhdmFpbGFibGUgZGlyZWN0bHkgb24gPGEKKyAgICBocmVmPSJmdHA6Ly94bWxzb2Z0Lm9yZy9saWJ4bWwyLyI+eG1sc29mdC5vcmc8L2E+LCB0aGUgc291cmNlIFJQTSB3aWxsIGNvbXBpbGUgb24KKyAgICBhbnkgYXJjaGl0ZWN0dXJlIHN1cHBvcnRlZC48L2xpPgorICA8bGk+PGEgaHJlZj0ibWFpbHRvOmlnb3JAemxhdGtvdmljLmNvbSI+SWdvciBabGF0a292aWM8L2E+IGlzIG5vdyB0aGUKKyAgICBtYWludGFpbmVyIG9mIHRoZSBXaW5kb3dzIHBvcnQsIDxhCisgICAgaHJlZj0iaHR0cDovL3d3dy56bGF0a292aWMuY29tL3Byb2plY3RzL2xpYnhtbC9pbmRleC5odG1sIj5oZSBwcm92aWRlcworICAgIGJpbmFyaWVzPC9hPi48L2xpPgorICA8bGk+T3BlbkNTVyBwcm92aWRlcyA8YQorICAgIGhyZWY9Imh0dHA6Ly9vcGVuY3N3Lm9yZy9wYWNrYWdlcy9saWJ4bWwyIj5Tb2xhcmlzCisgIGJpbmFyaWVzPC9hPi48L2xpPgorICA8bGk+PGEgaHJlZj0ibWFpbHRvOlN0ZXZlLkJhbGxAZXhwbGFpbi5jb20uYXUiPlN0ZXZlIEJhbGw8L2E+IHByb3ZpZGVzIDxhCisgICAgaHJlZj0iaHR0cDovL3d3dy5leHBsYWluLmNvbS5hdS9vc3MvbGlieG1sMnhzbHQuaHRtbCI+TWFjIE9zIFgKKyAgICBiaW5hcmllczwvYT4uPC9saT4KKyAgPGxpPlRoZSBIUC1VWCBwb3J0aW5nIGNlbnRlciBwcm92aWRlcyA8YQorICAgIGhyZWY9Imh0dHA6Ly9ocHV4LmNvbm5lY3Qub3JnLnVrL2hwcGQvaHB1eC9Hbm9tZS8iPkhQLVVYIGJpbmFyaWVzPC9hPjwvbGk+CisgIDxsaT5CdWxsIHByb3ZpZGVzIHByZWNvbXBpbGVkIDxhCisgICAgaHJlZj0iaHR0cDovL2dub21lLmJ1bGxmcmVld2FyZS5jb20vbmV3X2luZGV4Lmh0bWwiPlJQTXMgZm9yIEFJWDwvYT4gYXMKKyAgICBwYXRyIG9mIHRoZWlyIEdOT01FIHBhY2thZ2VzPC9saT4KKzwvdWw+CisKKzxwPklmIHlvdSBrbm93IG90aGVyIHN1cHBvcnRlZCBiaW5hcnkgcG9ydHMsIHBsZWFzZSA8YQoraHJlZj0iaHR0cDovL3ZlaWxsYXJkLmNvbS8iPmNvbnRhY3QgbWU8L2E+LjwvcD4KKworPHA+PGEgbmFtZT0iU25hcHNob3QiPlNuYXBzaG90OjwvYT48L3A+Cis8dWw+CisgIDxsaT5Db2RlIGZyb20gdGhlIEdOT01FIEdJVCBiYXNlIGxpYnhtbDIgbW9kdWxlLCB1cGRhdGVkIGhvdXJseSA8YQorICAgIGhyZWY9ImZ0cDovL3htbHNvZnQub3JnL2xpYnhtbDIvbGlieG1sMi1naXQtc25hcHNob3QudGFyLmd6Ij5saWJ4bWwyLWdpdC1zbmFwc2hvdC50YXIuZ3o8L2E+LjwvbGk+CisgIDxsaT5Eb2NzLCBjb250ZW50IG9mIHRoZSB3ZWIgc2l0ZSwgdGhlIGxpc3QgYXJjaGl2ZSBpbmNsdWRlZCA8YQorICAgIGhyZWY9ImZ0cDovL3htbHNvZnQub3JnL2xpYnhtbDIvbGlieG1sLWRvY3MudGFyLmd6Ij5saWJ4bWwtZG9jcy50YXIuZ3o8L2E+LjwvbGk+Cis8L3VsPgorCis8cD48YSBuYW1lPSJDb250cmlicyI+Q29udHJpYnV0aW9uczo8L2E+PC9wPgorCis8cD5JIGRvIGFjY2VwdCBleHRlcm5hbCBjb250cmlidXRpb25zLCBlc3BlY2lhbGx5IGlmIGNvbXBpbGluZyBvbiBhbm90aGVyCitwbGF0Zm9ybSwgIGdldCBpbiB0b3VjaCB3aXRoIHRoZSBsaXN0IHRvIHVwbG9hZCB0aGUgcGFja2FnZSwgd3JhcHBlcnMgZm9yCit2YXJpb3VzIGxhbmd1YWdlcyBoYXZlIGJlZW4gcHJvdmlkZWQsIGFuZCBjYW4gYmUgZm91bmQgaW4gdGhlIDxhCitocmVmPSJweXRob24uaHRtbCI+YmluZGluZ3Mgc2VjdGlvbjwvYT48L3A+CisKKzxwPkxpYnhtbDIgaXMgYWxzbyBhdmFpbGFibGUgZnJvbSBHSVQ6PC9wPgorPHVsPgorICA8bGk+PHA+U2VlIDxhIGhyZWY9Imh0dHA6Ly9naXQuZ25vbWUub3JnL2Jyb3dzZS9saWJ4bWwyLyI+bGlieG1sMiBHaXQgd2ViPC9hPi4KKyAgICAgICAgIFRvIGNoZWNrb3V0IGEgbG9jYWwgdHJlZSB1c2U6PC9wPgorICAgICAgIDxwcmU+Z2l0IGNsb25lIGdpdDovL2dpdC5nbm9tZS5vcmcvbGlieG1sMjwvcHJlPgorICA8L2xpPgorICA8bGk+VGhlIDxzdHJvbmc+bGlieHNsdDwvc3Ryb25nPiBtb2R1bGUgaXMgYWxzbyBwcmVzZW50IAorICAgICAgPGEgaHJlZj0iaHR0cDovL2dpdC5nbm9tZS5vcmcvYnJvd3NlL2xpYnhzbHQvIj50aGVyZTwvYT4uPC9saT4KKzwvdWw+CisKKzxoMj48YSBuYW1lPSJOZXdzIj5SZWxlYXNlczwvYT48L2gyPgorCis8cD5UaGUgPGEgaHJlZj0iQ2hhbmdlTG9nLmh0bWwiPmNoYW5nZSBsb2c8L2E+IGRlc2NyaWJlcyB0aGUgcmVjZW50cyBjb21taXRzCit0byB0aGUgPGEgaHJlZj0iaHR0cDovL2dpdC5nbm9tZS5vcmcvYnJvd3NlL2xpYnhtbDIvIj5HSVQ8L2E+IGNvZGUgYmFzZS48L3A+CisKKzxwPkhlcmUgaXMgdGhlIGxpc3Qgb2YgcHVibGljIHJlbGVhc2VzOjwvcD4KKworPGgzPjIuOS4yOiBPY3QgMTYgMjAxNDwvaDM+Cis8dWw+CisgIDxsaT5TZWN1cml0eTo8YnIvPgorICBGaXggZm9yIENWRS0yMDE0LTM2NjAgYmlsbGlvbiBsYXVnaCB2YXJpYW50IChEYW5pZWwgVmVpbGxhcmQpLDxici8+CisgIENWRS0yMDE0LTAxOTEgRG8gbm90IGZldGNoIGV4dGVybmFsIHBhcmFtZXRlciBlbnRpdGllcyAoRGFuaWVsIFZlaWxsYXJkKTxici8+CisgIDwvbGk+CisKKyAgPGxpPkJ1ZyBGaXhlczo8YnIvPgorICBmaXggbWVtb3J5IGxlYWsgeG1sIGhlYWRlciBlbmNvZGluZyBmaWVsZCB3aXRoIFhNTF9QQVJTRV9JR05PUkVfRU5DIChCYXJ0IERlIFNjaHV5bWVyKSw8YnIvPgorICB4bWxtZW1vcnk6IGhhbmRsZSByZWFsbG9jIHByb3Blcmx5IChZZWdvciBZZWZyZW1vdiksPGJyLz4KKyAgUHl0aG9uIGdlbmVyYXRvciBidWcgcmFpc2VkIGJ5IHRoZSBjb25zdCBjaGFuZ2UgKERhbmllbCBWZWlsbGFyZCksPGJyLz4KKyAgV2luZG93cyBDcml0aWNhbCBzZWN0aW9ucyBub3QgcmVsZWFzZWQgY29ycmVjdGx5IChEYW5pZWwgVmVpbGxhcmQpLDxici8+CisgIFBhcnNlciBlcnJvciBvbiByZXBlYXRlZCByZWN1cnNpdmUgZW50aXR5IGV4cGFuc2lvbiBjb250YWluaW5nICZhbXA7bHQ7IChEYW5pZWwgVmVpbGxhcmQpLDxici8+CisgIHhwb2ludGVyIDogZml4aW5nIE51bGwgUG9pbnRlcnMgKEdhdXJhdiBHdXB0YSksPGJyLz4KKyAgUmVtb3ZlIFVubmVjZXNzYXJ5IE51bGwgY2hlY2sgaW4geHBvaW50ZXIuYyAoR2F1cmF2IEd1cHRhKSw8YnIvPgorICBwYXJzZXIgYnVnIG9uIG1pc2Zvcm1lZCBuYW1lc3BhY2UgYXR0cmlidXRlcyAoRGVubmlzIEZpbGRlciksPGJyLz4KKyAgUG9pbnRlciBkZXJlZmVyZW5jZWQgYmVmb3JlIG51bGwgY2hlY2sgKERhbmllbCBWZWlsbGFyZCksPGJyLz4KKyAgTGVhayBvZiBzdHJ1Y3QgYWRkcmluZm8gaW4geG1sTmFub0ZUUENvbm5lY3QoKSAoR2F1cmF2IEd1cHRhKSw8YnIvPgorICBQb3NzaWJsZSBvdmVyZmxvdyBpbiBIVE1MUGFyc2VyLmMgKERhbmllbCBWZWlsbGFyZCksPGJyLz4KKyAgcHl0aG9uL3Rlc3RzL3N5bmMucHkgYXNzdW1lcyBQeXRob24gZGljdGlvbmFyaWVzIGFyZSBvcmRlcmVkIChKb2huIEJlY2spLDxici8+CisgIEZpeCBFbnVtIGNoZWNrIGFuZCBtaXNzaW5nIGJyZWFrIChHYXVyYXYgR3VwdGEpLDxici8+CisgIHhtbElPOiBIYW5kbGUgZXJyb3IgcmV0dXJucyBmcm9tIGR1cCgpIChQaGlsaXAgV2l0aG5hbGwpLDxici8+CisgIEZpeCBhIHByb2JsZW0gcHJvcGVybHkgc2F2aW5nIFVSSXMgKERhbmllbCBWZWlsbGFyZCksPGJyLz4KKyAgd3JvbmcgZXJyb3IgY29sdW1uIGluIHN0cnVjdHVyZWQgZXJyb3Igd2hlbiBwYXJzaW5nIGF0dHJpYnV0ZSB2YWx1ZXMgKEp1ZXJnZW4gS2VpbCksPGJyLz4KKyAgd3JvbmcgZXJyb3IgY29sdW1uIGluIHN0cnVjdHVyZWQgZXJyb3Igd2hlbiBza2lwcGluZyB3aGl0ZXNwYWNlIGluIHhtbCBkZWNsIChKdWVyZ2VuIEtlaWwpLDxici8+CisgIG5vIGVycm9yIGNvbHVtbiBpbiBzdHJ1Y3R1cmVkIGVycm9yIGhhbmRsZXIgZm9yIHhtbCBzY2hlbWEgdmFsaWRhdGlvbiBlcnJvcnMgKEp1ZXJnZW4gS2VpbCksPGJyLz4KKyAgQ291cGxlIG9mIE1pc3NpbmcgTnVsbCBjaGVja3MgKEdhdXJhdiBHdXB0YSksPGJyLz4KKyAgQWRkIGNvdXBsZSBvZiBtaXNzaW5nIE51bGwgY2hlY2tzIChEYW5pZWwgVmVpbGxhcmQpLDxici8+CisgIHhtbHNjaGVtYXN0eXBlczogRml4IHBvdGVudGlhbCBhcnJheSBvdmVyZmxvdyAoUGhpbGlwIFdpdGhuYWxsKSw8YnIvPgorICBydW50ZXN0OiBGaXggYSBtZW1vcnkgbGVhayBvbiBwYXJzZSBmYWlsdXJlIChQaGlsaXAgV2l0aG5hbGwpLDxici8+CisgIHhtbElPOiBGaXggYW4gRkQgbGVhayBvbiBnemRvcGVuKCkgZmFpbHVyZSAoUGhpbGlwIFdpdGhuYWxsKSw8YnIvPgorICB4bWxjYXRhbG9nOiBGaXggYSBtZW1vcnkgbGVhayBvbiBxdWl0IChQaGlsaXAgV2l0aG5hbGwpLDxici8+CisgIEhUTUxwYXJzZXI6IENvcnJlY3RseSBpbml0aWFsaXNlIGEgc3RhY2sgYWxsb2NhdGVkIHN0cnVjdHVyZSAoUGhpbGlwIFdpdGhuYWxsKSw8YnIvPgorICBDaGVjayBmb3IgdG1vbiBpbiBfeG1sU2NoZW1hRGF0ZUFkZCgpIGlzIGluY29ycmVjdCAoRGF2aWQgS2lsemVyKSw8YnIvPgorICBBdm9pZCBQb3NzaWJsZSBOdWxsIFBvaW50ZXIgaW4gdHJpby5jIChHYXVyYXYgR3VwdGEpLDxici8+CisgIEZpeCBwcm9jZXNzaW5nIGluIFNBWDIgaW4gY2FzZSBvZiBhbiBhbGxvY2F0aW9uIGZhaWx1cmUgKERhbmllbCBWZWlsbGFyZCksPGJyLz4KKyAgWE1MIFNoZWxsIGNvbW1hbmQgImNkIiBkb2VzIG5vdCBoYW5kbGUgIi8iIGF0IGVuZCBvZiBwYXRoIChEYW5pZWwgVmVpbGxhcmQpLDxici8+CisgIEZpeCB2YXJpb3VzIE1pc3NpbmcgTnVsbCBjaGVja3MgKEdhdXJhdiBHdXB0YSksPGJyLz4KKyAgRml4IGEgcG90ZW50aWFsIE5VTEwgZGVyZWZlcmVuY2UgKERhbmllbCBWZWlsbGFyZCksPGJyLz4KKyAgQWRkIGEgY291cGxlIG9mIG1pc2lzbmcgY2hlY2sgaW4geG1sUmVsYXhOR0NsZWFudXBUcmVlIChHYXVyYXYgR3VwdGEpLDxici8+CisgIEFkZCBhIG1pc3NpbmcgYXJndW1lbnQgY2hlY2sgKEdhdXJhdiBHdXB0YSksPGJyLz4KKyAgQWRkaW5nIGEgY2hlY2sgaW4gY2FzZSBvZiBhbGxvY2F0aW9uIGVycm9yIChHYXVyYXYgR3VwdGEpLDxici8+CisgIHhtbFNhdmVVcmkoKSBpbmNvcnJlY3RseSByZWNvbXBvc2VzIFVSSXMgd2l0aCByb290bGVzcyBwYXRocyAoRGVubmlzIEZpbGRlciksPGJyLz4KKyAgQWRkaW5nIHNvbWUgbWlzc2luZyBOVUxMIGNoZWNrcyAoR2F1cmF2KSw8YnIvPgorICBGaXhlcyBmb3IgeG1sSW5pdFBhcnNlckN0eHQgKERhbmllbCBWZWlsbGFyZCksPGJyLz4KKyAgRml4IHJlZ3Jlc3Npb25zIGludHJvZHVjZWQgYnkgQ1ZFLTIwMTQtMDE5MSBwYXRjaCAoRGFuaWVsIFZlaWxsYXJkKSw8YnIvPgorICBlcnJvbmVvdXNseSBpZ25vcmVzIGEgdmFsaWRhdGlvbiBlcnJvciBpZiBubyBlcnJvciBjYWxsYmFjayBzZXQgKERhbmllbCBWZWlsbGFyZCksPGJyLz4KKyAgeG1sbGludCB3YXMgbm90IHBhcnNpbmcgdGhlIC0tYzE0bjExIGZsYWcgKFPDqXJnaW8gQmF0aXN0YSksPGJyLz4KKyAgQXZvaWQgUG9zc2libGUgbnVsbCBwb2ludGVyIGRlcmVmZXJlbmNlIGluIG1lbW9yeSBkZWJ1ZyBtb2RlIChHYXVyYXYpLDxici8+CisgIEF2b2lkIERvdWJsZSBOdWxsIENoZWNrIChHYXVyYXYpLDxici8+CisgIFJlc3RvcmUgY29udGV4dCBzaXplIGFuZCBwb3NpdGlvbiBhZnRlciBYUEFUSF9PUF9BUkcgKE5pY2sgV2VsbG5ob2ZlciksPGJyLz4KKyAgRml4IHhtbFBhcnNlSW5Ob2RlQ29udGV4dCgpIGlmIG5vZGUgaXMgbm90IGVsZW1lbnQgKERhbmllbCBWZWlsbGFyZCksPGJyLz4KKyAgQXZvaWQgYSBwb3NzaWJsZSBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UgKEdhdXJhdiksPGJyLz4KKyAgRml4IHhtbFRleHRXcml0ZXJXcml0ZUVsZW1lbnQgd2hlbiBhIG51bGwgY29udGVudCBpcyBnaXZlbiAoRGFuaWVsIFZlaWxsYXJkKSw8YnIvPgorICBGaXggYW4gdHlwbyAnb25yZXN0JyBpbiBodG1sU2NyaXB0QXR0cmlidXRlcyAoRGFuaWVsIFZlaWxsYXJkKSw8YnIvPgorICBmaXhpbmcgYSBwdG90ZW50aWFsIHVuaW5pdGlhbGl6ZWQgYWNjZXNzIChEYW5pZWwgVmVpbGxhcmQpLDxici8+CisgIEZpeCBhbiBmZCBsZWFrIGluIGFuIGVycm9yIGNhc2UgKERhbmllbCBWZWlsbGFyZCksPGJyLz4KKyAgTWlzc2luZyBpbml0aWFsaXphdGlvbiBmb3IgdGhlIGNhdGFsb2cgbW9kdWxlIChEYW5pZWwgVmVpbGxhcmQpLDxici8+CisgIEhhbmRsaW5nIG9mIFhQYXRoIGZ1bmN0aW9uIGFyZ3VtZW50cyBpbiBlcnJvciBjYXNlIChOaWNrIFdlbGxuaG9mZXIpLDxici8+CisgIEZpeCBhIGNvdXBsZSBvZiBtaXNzaW5nIE5VTEwgY2hlY2tzIChHYXVyYXYpLDxici8+CisgIEF2b2lkIGEgcG9zc2liaWxpdHkgb2YgZGFuZ2xpbmcgZW5jb2RpbmcgaGFuZGxlciAoR2F1cmF2KSw8YnIvPgorICBGaXggSFRNTCBwdXNoIHBhcnNlciB0byBhY2NlcHQgSFRNTF9QQVJTRV9OT0RFRkRURCAoQXJub2xkIEhlbmRyaWtzKSw8YnIvPgorICBGaXggYSBidWcgbG9hZGluZyBzb21lIGNvbXByZXNzZWQgZmlsZXMgKE1pa2UgQWxleGFuZGVyKSw8YnIvPgorICBGaXggWFBhdGggbm9kZSBjb21wYXJpc29uIGJ1ZyAoR2F1cmF2KSw8YnIvPgorICBUeXBlIG1pc21hdGNoIGluIHhtbHNjaGVtYXMuYyAoR2F1cmF2KSw8YnIvPgorICBUeXBlIG1pc21hdGNoIGluIHhtbHNjaGVtYXN0eXBlcy5jIChHYXVyYXYpLDxici8+CisgIEF2b2lkIGEgZGVhZGNvZGUgaW4gY2F0YWxvZy5jIChEYW5pZWwgVmVpbGxhcmQpLDxici8+CisgIHJ1biBjbG9zZSBzb2NrZXQgb24gU29sYXJpcywgc2FtZSBhcyB3ZSBkbyBvbiBvdGhlciBwbGF0Zm9ybXMgKERlbmlzIFBhdWspLDxici8+CisgIEZpeCBwb2ludGVyIGRlcmVmZXJlbmNlZCBiZWZvcmUgbnVsbCBjaGVjayAoR2F1cmF2KSw8YnIvPgorICBGaXggYSBwb3RlbnRpYWwgTlVMTCBkZXJlZmVyZW5jZSBpbiB0cmVlIGNvZGUgKERhbmllbCBWZWlsbGFyZCksPGJyLz4KKyAgRml4IHBvdGVudGlhbCBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2VzIGluIHJlZ2V4cCBjb2RlIChHYXVyYXYpLDxici8+CisgIHhtbGxpbnQgLS1wcmV0dHkgY3Jhc2hlZCB3aXRob3V0IGZvbGxvd2luZyBudW1lcmljIGFyZ3VtZW50IChUaW0gR2FsZWNrYXMpLDxici8+CisgIEZpeCBYUGF0aCBleHByZXNzaW9ucyBvZiB0aGUgZm9ybSAnQG5zOionIChOaWNrIFdlbGxuaG9mZXIpLDxici8+CisgIEZpeCBYUGF0aCAnLy8nIG9wdGltaXphdGlvbiB3aXRoIHByZWRpY2F0ZXMgKE5pY2sgV2VsbG5ob2ZlciksPGJyLz4KKyAgQ2xlYXIgdXAgYSBwb3RlbnRpYWwgTlVMTCBkZXJlZmVyZW5jZSAoRGFuaWVsIFZlaWxsYXJkKSw8YnIvPgorICBGaXggYSBwb3NzaWJsZSBOVUxMIGRlcmVmZXJlbmNlIChHYXVyYXYpLDxici8+CisgIEF2b2lkIGNyYXNoIGlmIGFsbG9jYXRpb24gZmFpbHMgKERhbmllbCBWZWlsbGFyZCksPGJyLz4KKyAgUmVtb3ZlIG9jY2FzaW9uYWwgbGVhZGluZyBzcGFjZSBpbiBYUGF0aCBudW1iZXIgZm9ybWF0dGluZyAoRGFuaWVsIFZlaWxsYXJkKSw8YnIvPgorICBGaXggaGFuZGxpbmcgb2YgbW1hcCBlcnJvcnMgKERhbmllbCBWZWlsbGFyZCksPGJyLz4KKyAgQ2F0Y2ggbWFsbG9jIGVycm9yIGFuZCBleGl0IGFjY29yZGluZ2x5IChEYW5pZWwgVmVpbGxhcmQpLDxici8+CisgIG1pc3NpbmcgZWxzZSBpbiB4bGluay5jIChBbWkgRmlzY2htYW4pLDxici8+CisgIEZpeCBhIHBhcnNpbmcgYnVnIG9uIG5vbi1hc2NpaSBlbGVtZW50IGFuZCBDUi9MRiB1c2FnZSAoRGFuaWVsIFZlaWxsYXJkKSw8YnIvPgorICBGaXggYSByZWdyZXNzaW9uIGluIHhtbEdldERvY0NvbXByZXNzTW9kZSgpIChEYW5pZWwgVmVpbGxhcmQpLDxici8+CisgIHByb3Blcmx5IHF1b3RlIHRoZSBuYW1lc3BhY2UgdXJpcyB3cml0dGVuIG91dCBkdXJpbmcgYzE0biAoQWxla3NleSBTYW5pbiksPGJyLz4KKyAgUmVtb3ZlIHByZW1hdHVyZSBYSW5jbHVkZSBjaGVjayBvbiBVUkkgYmVpbmcgcmVsYXRpdmUgKEFsZXhleSBOZXltYW4pLDxici8+CisgIEZpeCBtaXNzaW5nIGJyZWFrIG9uIGxhc3QoKSBmdW5jdGlvbiBmb3IgYXR0cmlidXRlcyAoZGNiKSw8YnIvPgorICBEbyBub3QgVVJJIGVzY2FwZSBpbiBzZXJ2ZXIgc2lkZSBpbmNsdWRlcyAoUm9tYWluIEJvbmR1ZSksPGJyLz4KKyAgRml4IGFuIGVycm9yIGluIHhtbENsZWFudXBQYXJzZXIgKEFsZXhhbmRlciBQYXN0dWtob3YpPGJyLz4KKyAgPC9saT4KKworICA8bGk+RG9jdW1lbnRhdGlvbjo8YnIvPgorICB0eXBvIGluIGVycm9yIG1lc3NhZ2VzICJjb2xvbiBhcmUgZm9yYmlkZGVuIGZyb20uLi4iIChEYW5pZWwgVmVpbGxhcmQpLDxici8+CisgIEZpeCBhIGxpbmsgdG8gSmFtZXMgU0FYIGRvY3VtZW50YXRpb24gb2xkIHBhZ2UgKERhbmllbCBWZWlsbGFyZCksPGJyLz4KKyAgRml4IHR5cG9zIGluIHJlbGF4bmcuYyAoSmFuIFBva29ybsO9KSw8YnIvPgorICBGaXggYSBkb2MgdHlwbyAoRGFuaWVsIFZlaWxsYXJkKSw8YnIvPgorICBGaXggdHlwb3MgaW4ge3RyZWUseHBhdGh9LmMgKGVycnJvcikgKEphbiBQb2tvcm7DvSksPGJyLz4KKyAgQWRkIGxpbWl0YXRpb25zIGFib3V0IGVuY29kaW5nIGNvbnZlcnNpb24gKERhbmllbCBWZWlsbGFyZCksPGJyLz4KKyAgRml4IHR5cG9zIGluIHhtbHNjaGVtYXN7LHR5cGVzfS5jIChKYW4gUG9rb3Juw70pLDxici8+CisgIEZpeCBpbmNvcnJlY3Qgc3BlbGxpbmcgZW50aXRlcy0mZ3Q7ZW50aXRpZXMgKEphbiBQb2tvcm7DvSksPGJyLz4KKyAgRm9yZ290IHRvIGRvY3VtZW50IDIuOS4xIHJlbGVhc2UsIHJlZ2VuZXJhdGUgZG9jcyAoRGFuaWVsIFZlaWxsYXJkKTxici8+CisgIDwvbGk+CisKKyAgPGxpPlBvcnRhYmlsaXR5Ojxici8+CisgIEFDX0NPTkZJR19GSUxFUyBhbmQgZXhlY3V0YWJsZSBiaXQgKFJvdW1lbiBQZXRyb3YpLDxici8+CisgIHJlbW92ZSBIQVZFX0NPTkZJR19IIGRlcGVuZGVuY3kgaW4gdGVzdGxpbWl0cy5jIChSb3VtZW4gUGV0cm92KSw8YnIvPgorICBmaXggc29tZSB0YWJzIG1peGluZyBpbmNvbXBhdGlibGUgd2l0aCBweXRob24zIChSb3VtZW4gUGV0cm92KSw8YnIvPgorICBWaXN1YWwgU3R1ZGlvIDE0IENUUCBkZWZpbmVzIHNucHJpbnRmKCkgKEZyYW5jaXMgRHVwb250KSw8YnIvPgorICBPUzQwMDogZG8gbm90IHRyeSB0byBjb3B5IHVuZXhpc3RpbmcgZG9jIGZpbGVzIChQYXRyaWNrIE1vbm5lcmF0KSw8YnIvPgorICBPUzQwMDogdXNlIGVpdGhlciBjb25maWd1cmUuYWMgb3IgY29uZmlndXJlLmluLiAoUGF0cmljayBNb25uZXJhdCksPGJyLz4KKyAgb3M0MDA6IG1ha2Utc3JjLnNoOiBjcmVhdGUgcGh5c2ljYWwgZmlsZSB3aXRoIHRhcmdldCBDQ1NJRCAoUGF0cmljayBNb25uZXJhdCksPGJyLz4KKyAgT1M0MDA6IEFkZCBzb21lIG1vcmUgQyBtYWNyb3MgZXF1aXZhbGVudCBwcm9jZWR1cmVzLiAoUGF0cmljayBNb25uZXJhdCksPGJyLz4KKyAgT1M0MDA6IHVzZSBDIG1hY3JvcyB0byBpbXBsZW1lbnQgZXF1aXZhbGVudCBSUEcgc3VwcG9ydCBwcm9jZWR1cmVzLiAoUGF0cmljayBNb25uZXJhdCksPGJyLz4KKyAgT1M0MDA6IGltcGxlbWVudCBYUGF0aCBtYWNyb3MgYXMgcHJvY2VkdXJlcyBmb3IgSUxFL1JQRyBzdXBwb3J0LiAoUGF0cmljayBNb25uZXJhdCksPGJyLz4KKyAgT1M0MDA6IGluY2x1ZGUgaW4gZGlzdHJpYnV0aW9uIHRhcmJhbGwuIChQYXRyaWNrIE1vbm5lcmF0KSw8YnIvPgorICBPUzQwMDogQWRkIFJFQURNRTogY29tcGlsYXRpb24gZGlyZWN0aXZlcyBhbmQgT1MvNDAwIHNwZWNpZmljIHN0dWZmLiAoUGF0cmljayBNb25uZXJhdCksPGJyLz4KKyAgT1M0MDA6IEFkZCBjb21waWxhdGlvbiBzY3JpcHRzLiAoUGF0cmljayBNb25uZXJhdCksPGJyLz4KKyAgT1M0MDA6IElMRSBSUEcgbGFuZ3VhZ2UgaGVhZGVyIGZpbGVzLiAoUGF0cmljayBNb25uZXJhdCksPGJyLz4KKyAgT1M0MDA6IGltcGxlbWVudCBzb21lIG1hY3JvcyBhcyBmdW5jdGlvbnMgZm9yIElMRS9SUEcgbGFuZ3VhZ2Ugc3VwcG9ydCAodGhhdCBhcyBubyBtYWNyb3MpLiAoUGF0cmljayBNb25uZXJhdCksPGJyLz4KKyAgT1M0MDA6IFVURjgmbHQ7LS0mZ3Q7RUJDRElDIHdyYXBwZXJzIGZvciBzeXN0ZW0gYW5kIGV4dGVybmFsIGxpYnJhcnkgY2FsbHMgKFBhdHJpY2sgTW9ubmVyYXQpLDxici8+CisgIE9TNDAwOiBFYXN5IGNoYXJhY3RlciB0cmFuc2NvZGluZyBzdXBwb3J0IChQYXRyaWNrIE1vbm5lcmF0KSw8YnIvPgorICBPUzQwMDogaWNvbnYgZnVuY3Rpb25zIGNvbXBhdGliaWxpdHkgd3JhcHBlcnMgYW5kIHRhYmxlIGJ1aWxkZXIuIChQYXRyaWNrIE1vbm5lcmF0KSw8YnIvPgorICBPUzQwMDogY3JlYXRlIGFyY2hpdGVjdHVyZSBkaXJlY3RvcnkuIEltcGxlbWVudCBkbGZjbiBlbXVsYXRpb24uIChQYXRyaWNrIE1vbm5lcmF0KSw8YnIvPgorICBGaXggYnVpbGRpbmcgd2hlbiBjb25maWd1cmluZyB3aXRob3V0IHhwYXRoIGFuZCB4cHRyIChEYW5pZWwgVmVpbGxhcmQpLDxici8+CisgIGNvbmZpZ3VyZTogQWRkIC0td2l0aC1weXRob24taW5zdGFsbC1kaXIgKEpvbmFzIEVyaWtzc29uKSw8YnIvPgorICBGaXggY29tcGlsYXRpb24gd2l0aCBtaW5pbXVtIGFuZCB4aW5jbHVkZS4gKE5pY29sYXMgTGUgQ2FtKSw8YnIvPgorICBDb21waWxlIG91dCB1c2Ugb2YgeG1sVmFsaWRhdGVOQ05hbWUoKSB3aGVuIG5vdCBhdmFpbGFibGUuIChOaWNvbGFzIExlIENhbSksPGJyLz4KKyAgRml4IGNvbXBpbGF0aW9uIHdpdGggbWluaW11bSBhbmQgc2NoZW1hdHJvbi4gKE5pY29sYXMgTGUgQ2FtKSw8YnIvPgorICBMZWdhY3kgbmVlZHMgeG1sU0FYMlN0YXJ0RWxlbWVudCgpIGFuZCB4bWxTQVgyRW5kRWxlbWVudCgpLiAoTmljb2xhcyBMZSBDYW0pLDxici8+CisgIERvbid0IHVzZSB4bWxWYWxpZGF0ZU5hbWUoKSB3aGVuIG5vdCBhdmFpbGFibGUuIChOaWNvbGFzIExlIENhbSksPGJyLz4KKyAgRml4IGEgcG9ydGFiaWxpdHkgaXNzdWUgb24gV2luZG93cyAoTG9uZ3N0cmV0aCBKb24pLDxici8+CisgIFZhcmlvdXMgcG9ydGFiaWxpdHkgcGF0Y2hlcyBmb3IgT3BlblZNUyAoSmFjb2IgKEpvdWspIEphbnNlbiksPGJyLz4KKyAgVXNlIHNwZWNpZmljIG1hY3JvcyBmb3IgcG9ydGFiaWxpdHkgdG8gT1MvNDAwIChQYXRyaWNrIE1vbm5lcmF0KSw8YnIvPgorICBBZGQgbWFjcm9zIG5lZWRlZCBmb3IgT1MvNDAwIHBvcnRhYmlsaXR5IChQYXRyaWNrIE1vbm5lcmF0KSw8YnIvPgorICBQb3J0YWJpbGl0eSBwYXRjaCBmb3IgZm9wZW4gb24gT1MvNDAwIChQYXRyaWNrIE1vbm5lcmF0KSw8YnIvPgorICBQb3J0YWJpbGl0eSBmaXhlcyBmb3IgT1MvNDAwIChQYXRyaWNrIE1vbm5lcmF0KSw8YnIvPgorICBJbXByb3ZlIHZhX2xpc3QgcG9ydGFiaWxpdHkgKFBhdHJpY2sgTW9ubmVyYXQpLDxici8+CisgIFBvcnRhYmlsaXR5IGZpeCAoUGF0cmljayBNb25uZXJhdCksPGJyLz4KKyAgUG9ydGFiaWxpdHkgZml4IChQYXRyaWNrIE1vbm5lcmF0KSw8YnIvPgorICBHZW5lcmljIHBvcnRhYmlsaXR5IGZpeCAoUGF0cmljayBNb25uZXJhdCksPGJyLz4KKyAgU2hvcnRlbmluZyBsaW5lcyBpbiBoZWFkZXJzIChQYXRyaWNrIE1vbm5lcmF0KSw8YnIvPgorICBidWlsZDogVXNlIHBrZy1jb25maWcgdG8gZmluZCBsaWJsem1hIGluIHByZWZlcmVuY2UgdG8gQUNfQ0hFQ0tfTElCIChQaGlsaXAgV2l0aG5hbGwpLDxici8+CisgIGJ1aWxkOiBBZGQgQExaTUFfTElCU0AgdG8gbGlieG1s4oCZcyBwa2ctY29uZmlnIGZpbGVzIChQaGlsaXAgV2l0aG5hbGwpLDxici8+CisgIGZpeCBzb21lIHRhYnMgbWl4aW5nIGluY29tcGF0aWJsZSB3aXRoIHB5dGhvbjMgKERhbmllbCBWZWlsbGFyZCksPGJyLz4KKyAgYWRkIGFkZGl0aW9uYWwgZGVmaW5lcyBjaGVja3MgZm9yIHN1cHBvcnQgIi4vY29uZmlndXJlIC0td2l0aC1taW5pbXVtIiAoRGVuaXMgUGF1ayksPGJyLz4KKyAgQW5vdGhlciByb3VuZCBvZiBmaXhlcyBmb3Igb2xkZXIgdmVyc2lvbnMgb2YgUHl0aG9uIChBcmZyZXZlciBGcmVodGVzIFRhaWZlcnNhciBBcmFoZXNpcyksPGJyLz4KKyAgcHl0aG9uOiBmaXggZHJ2X2xpYnhtbDIucHkgZm9yIHB5dGhvbjMgY29tcGF0aWJpbGl0eSAoQWxleGFuZHJlIFJvc3RvdnRzZXYpLDxici8+CisgIHB5dGhvbjogRml4IGNvbXBpbGVyIHdhcm5pbmdzIHdoZW4gYnVpbGRpbmcgcHl0aG9uMyBiaW5kaW5ncyAoQXJtaW4gSyksPGJyLz4KKyAgRml4IGZvciBjb21waWxhdGlvbiB3aXRoIHB5dGhvbiAyLjYuOCAoUGV0ciBTdW1iZXJhKTxici8+CisgIDwvbGk+CisKKyAgPGxpPkltcHJvdmVtZW50czo8YnIvPgorICB3aW4zMi9saWJ4bWwyLmRlZi5zcmMgYWZ0ZXIgcmVidWlsZCBpbiBkb2MgKFJvdW1lbiBQZXRyb3YpLDxici8+CisgIGVsZmdjY2hhY2suaDogbW9yZSBsZWdhY3kgbmVlZHMgeG1sU0FYMlN0YXJ0RWxlbWVudCgpIGFuZCB4bWxTQVgyRW5kRWxlbWVudCgpIChSb3VtZW4gUGV0cm92KSw8YnIvPgorICBlbGZnY2NoYWNrLmg6IGFkZCB4bWxYUGF0aE5vZGVFdmFsIGFuZCB4bWxYUGF0aFNldENvbnRleHROb2RlIChSb3VtZW4gUGV0cm92KSw8YnIvPgorICBQcm92aWRlIGNtYWtlIG1vZHVsZSAoU2FtdWVsIE1hcnRpbiksPGJyLz4KKyAgRml4IGEgY291cGxlIG9mIGlzc3VlcyByYWlzZWQgYnkgbWFrZSBkaXN0IChEYW5pZWwgVmVpbGxhcmQpLDxici8+CisgIEZpeCBhbmQgYWRkIGNvbnN0IHF1YWxpZmllcnMgKEt1cnQgUm9lY2t4KSw8YnIvPgorICBQcmVwYXJpbmcgZm9yIHVwY29taW5nIHJlbGVhc2Ugb2YgMi45LjIgKERhbmllbCBWZWlsbGFyZCksPGJyLz4KKyAgRml4IHpsaWIgYW5kIGx6bWEgbGlicmFyaWVzIGNoZWNrIHZpYSBjb21tYW5kIGxpbmUgKERtaXRyaXkpLDxici8+CisgIHdyb25nIGVycm9yIGNvbHVtbiBpbiBzdHJ1Y3R1cmVkIGVycm9yIHdoZW4gcGFyc2luZyBlbmQgdGFnIChKdWVyZ2VuIEtlaWwpLDxici8+CisgIGRvYy9uZXdzLmh0bWw6IHNtYWxsIHVwZGF0ZSB0byBhdm9pZCBsaW5lIGpvaW4gd2hpbGUgZ2VuZXJhdGluZyBORVdTLiAoUGF0cmljayBNb25uZXJhdCksPGJyLz4KKyAgQWRkIG1ldGhvZHMgZm9yIHB5dGhvbjMgaXRlcmF0b3IgKFJvbiBBbmdlbGVzKSw8YnIvPgorICBTdXBwb3J0IGVsZW1lbnQgbm9kZSB0cmF2ZXJzYWwgaW4gZG9jdW1lbnQgZnJhZ21lbnRzLiAoS3lsZSBWYW5kZXJCZWVrKSw8YnIvPgorICB4bWxOb2RlU2V0TmFtZTogQWxsb3cgc2V0dGluZyB0aGUgbmFtZSB0byBhIHN1YnN0cmluZyBvZiB0aGUgY3VycmVudGx5IHNldCBuYW1lIChUcmlzdGFuIFZhbiBCZXJrb20pLDxici8+CisgIEFkZGVkIG1hY3JvcyBmb3IgYXJndW1lbnQgY2FzdHMgKEVyaWMgWnVyY2hlciksPGJyLz4KKyAgYWRkaW5nIGluaXQgY2FsbHMgdG8geG1sIGFuZCBodG1sIFJlYWQgcGFyc2luZyBlbnRyeSBwb2ludHMgKERhbmllbCBWZWlsbGFyZCksPGJyLz4KKyAgR2V0IHJpZCBvZiAnUkVQTEFDRU1FTlQgQ0hBUkFDVEVSJyBVbmljb2RlIGNoYXJzIGluIHhtbHNjaGVtYXMuYyAoSmFuIFBva29ybsO9KSw8YnIvPgorICBJbXBsZW1lbnQgY2hvaWNlIGZvciBuYW1lIGNsYXNzZXMgb24gYXR0cmlidXRlcyAoU2hhdW4gTWNDYW5jZSksPGJyLz4KKyAgVHdvIHNtYWxsIG5hbWVzcGFjZSB0d2Vha3MgKERhbmllbCBWZWlsbGFyZCksPGJyLz4KKyAgeG1sbGludCAtLW1lbW9yeSBzaG91bGQgZmFpbCBvbiBlbXB0eSBmaWxlcyAoRGFuaWVsIFZlaWxsYXJkKSw8YnIvPgorICBDYXN0IGVuY29kaW5nIG5hbWUgdG8gY2hhciBwb2ludGVyIHRvIG1hdGNoIGFyZyB0eXBlIChOaWtvbGF5IFNpdm92KTxici8+CisgIDwvbGk+CisKKyAgPGxpPkNsZWFudXBzOjxici8+CisgIFJlbW92YWwgb2Ygb2xkIGNvbmZpZ3VyZS5pbiAoRGFuaWVsIFZlaWxsYXJkKSw8YnIvPgorICBVbnJlYWNoYWJsZSBjb2RlIGluIHRyZWUuYyAoR2F1cmF2IEd1cHRhKSw8YnIvPgorICBSZW1vdmUgYSBjb3VwbGUgb2YgZGVhZCBjb25kaXRpb25zIChHYXVyYXYgR3VwdGEpLDxici8+CisgIEF2b2lkIHNvbWUgZGVhZCBjb2RlIGFuZCBjbGVhbnVwIGluIHJlbGF4bmcuYyAoR2F1cmF2KSw8YnIvPgorICBEcm9wIG5vdCBuZWVkZWQgY2hlY2tzIChEZW5pcyBQYXVrKSw8YnIvPgorICBGaXggYSB3cm9uZyB0ZXN0IChEYW5pZWwgVmVpbGxhcmQpPGJyLz4KKyAgPC9saT4KKzwvdWw+Cis8aDM+Mi45LjE6IEFwciAxOSAyMDEzPC9oMz4KKzx1bD4KKyAgPGxpPiBGZWF0dXJlczo8YnIvPgorICAgIFN1cHBvcnQgZm9yIFB5dGhvbjMgKERhbmllbCBWZWlsbGFyZCksPGJyLz4KKyAgICBBZGQgeG1sWFBhdGhTZXRDb250ZXh0Tm9kZSBhbmQgeG1sWFBhdGhOb2RlRXZhbCAoQWxleCBCbGlnaCk8YnIvPgorICA8L2xpPgorCisgIDxsaT4gRG9jdW1lbnRhdGlvbjo8YnIvPgorICAgIEFkZCBkb2N1bWVudGF0aW9uIGZvciB4bWxsaW50IC0teHBhdGggKERhbmllbCBWZWlsbGFyZCksPGJyLz4KKyAgICBGaXggdGhlIFVSTCBvZiB0aGUgU0FYIGRvY3VtZW50YXRpb24gZnJvbSBKYW1lcyAoRGFuaWVsIFZlaWxsYXJkKSw8YnIvPgorICAgIEZpeCBzcGVsbGluZyBvZiAibGVuZ3RoIi4gKE1pY2hhZWwgV29vZCk8YnIvPgorICA8L2xpPgorCisgIDxsaT4gUG9ydGFiaWxpdHk6PGJyLz4KKyAgICBGaXggcHl0aG9uIGJpbmRpbmdzIHdpdGggdmVyc2lvbnMgb2xkZXIgdGhhbiAyLjcgKERhbmllbCBWZWlsbGFyZCksPGJyLz4KKyAgICByZWJ1aWxkIGRvY3M6TWFrZWZpbGUuYW0gKFJvdW1lbiBQZXRyb3YpLDxici8+CisgICAgZWxmZ2NjaGFjay5oIGFmdGVyIHJlYnVpbGQgaW4gZG9jIChSb3VtZW4gUGV0cm92KSw8YnIvPgorICAgIGVsZmdjY2hhY2sgZm9yIGJ1ZiBtb2R1bGUgKFJvdW1lbiBQZXRyb3YpLDxici8+CisgICAgRml4IGEgdW5lZWRlZCBhbmQgd3JvbmcgZXh0cmEgbGluayBwYXJhbWV0ZXIgKERhbmllbCBWZWlsbGFyZCksPGJyLz4KKyAgICBGZXcgY2xlYW51cCBwYXRjaGVzIGZvciBXaW5kb3dzIChEZW5pcyBQYXVrKSw8YnIvPgorICAgIEZpeCBycG1idWlsZCAtLW5vY2hlY2sgKE1hcmsgU2FsdGVyKSw8YnIvPgorICAgIEZpeCBmb3Igd2luMzIvY29uZmlndXJlLmpzIGFuZCBXSVRIX1RIUkVBRF9BTExPQyAoRGFuaWVsIFJpY2hhcmQpLDxici8+CisgICAgRml4IEJyb2tlbiBtdWx0aS1hcmNoIHN1cHBvcnQgaW4geG1sMi1jb25maWcgKERhbmllbCBWZWlsbGFyZCksPGJyLz4KKyAgICBGaXggYSBwb3J0YWJpbGl0eSBpc3N1ZSBmb3IgR0NDICZsdDsgMy40LjAgKERhbmllbCBWZWlsbGFyZCksPGJyLz4KKyAgICBXaW5kb3dzIGJ1aWxkIGZpeGVzIChEYW5pZWwgUmljaGFyZCksPGJyLz4KKyAgICBGaXggYSB0aHJlYWQgcG9ydGFiaWxpdHkgcHJvYmxlbSAoRnJpZWRyaWNoIEhhdWJlbnNhayksPGJyLz4KKyAgICBEb3duZ3JhZGUgYXV0b2NvbmYgcmVxdWlyZW1lbnQgdG8gMi42MyAoRGFuaWVsIFZlaWxsYXJkKTxici8+CisgIDwvbGk+CisKKyAgPGxpPiBCdWcgRml4ZXM6PGJyLz4KKyAgICBGaXggYSBsaW5raW5nIGVycm9yIGZvciBweXRob24gYmluZGluZ3MgKERhbmllbCBWZWlsbGFyZCksPGJyLz4KKyAgICBGaXggYSBjb3VwbGUgb2YgcmV0dXJuIHdpdGhvdXQgdmFsdWUgKErDvHJpIEFlZGxhKSw8YnIvPgorICAgIEltcHJvdmUgdGhlIGhhc2hpbmcgZnVuY3Rpb25zIChEYW5pZWwgRnJhbmtlKSw8YnIvPgorICAgIEltcHJvdmUgaGFuZGxpbmcgb2YgeG1sU3RvcFBhcnNlcigpIChEYW5pZWwgVmVpbGxhcmQpLDxici8+CisgICAgUmVtb3ZlIHJpc2sgb2YgbG9ja3VwIGluIGRpY3Rpb25hcnkgaW5pdGlhbGl6YXRpb24gKERhbmllbCBWZWlsbGFyZCksPGJyLz4KKyAgICBBY3RpdmF0ZSBkZXRlY3Rpb24gb2YgZW5jb2RpbmcgaW4gZXh0ZXJuYWwgc3Vic2V0IChEYW5pZWwgVmVpbGxhcmQpLDxici8+CisgICAgRml4IGFuIG91dHB1dCBidWZmZXIgZmx1c2hpbmcgY29udmVyc2lvbiBidWcgKE1pa2hhaWwgVGl0b3YpLDxici8+CisgICAgRml4IGFuIG9sZCBidWcgaW4geG1sU2NoZW1hVmFsaWRhdGVPbmVFbGVtZW50IChDc2FiYSBMw6FzemzDsyksPGJyLz4KKyAgICBGaXggY29uZmlndXJlIGNhbm5vdCByZW1vdmUgbWVzc2FnZXMgKEdpbGxlcyBFc3BpbmFzc2UpLDxici8+CisgICAgZml4IHNjaGVtYSB2YWxpZGF0aW9uIGluIGNvbWJpbmF0aW9uIHdpdGggeHNpOm5pbCAoRGFuaWVsIFZlaWxsYXJkKSw8YnIvPgorICAgIHhtbEN0eHRSZWFkRmlsZSBkb2Vzbid0IHdvcmsgd2l0aCBsaXRlcmFsIElQdjYgVVJMcyAoU3RldmUgV29sZiksPGJyLz4KKyAgICBGaXggYSBmZXcgcHJvYmxlbXMgd2l0aCBzZXRFbnRpdHlMb2FkZXIgKEFsZXhleSBOZXltYW4pLDxici8+CisgICAgRGV0ZWN0IGV4Y2Vzc2l2ZSBlbnRpdGllcyBleHBhbnNpb24gdXBvbiByZXBsYWNlbWVudCAoRGFuaWVsIFZlaWxsYXJkKSw8YnIvPgorICAgIEZpeCB0aGUgZmx1c2hpbmcgb3V0IG9mIHJhdyBidWZmZXJzIG9uIGVuY29kaW5nIGNvbnZlcnNpb25zIChEYW5pZWwsPGJyLz4KK1ZlaWxsYXJkKSw8YnIvPgorICAgIEZpeCBzb21lIGJ1ZmZlciBjb252ZXJzaW9uIGlzc3VlcyAoRGFuaWVsIFZlaWxsYXJkKSw8YnIvPgorICAgIFdoZW4gY2FsbGluZyB4bWxOb2RlRHVtcCBtYWtlIHN1cmUgd2UgZ3JvdyB0aGUgYnVmZmVyIHF1aWNrbHkgKERhbmllbCw8YnIvPgorVmVpbGxhcmQpLDxici8+CisgICAgRml4IGFuIGVycm9yIGluIHRoZSBwcm9ncmVzc2l2ZSBEVEQgcGFyc2luZyBjb2RlIChEYW4gV2luc2hpcCksPGJyLz4KKyAgICB4bWxsaW50IHNob3VsZCBub3QgbG9hZCBEVEQgYnkgZGVmYXVsdCB3aGVuIHVzaW5nIHRoZSByZWFkZXIgKERhbmllbCw8YnIvPgorVmVpbGxhcmQpLDxici8+CisgICAgVHJ5IElCTS0wMzcgd2hlbiBsb29raW5nIGZvciBFQkNESUMgaGFuZGxlcnMgKFBldHIgU3VtYmVyYSksPGJyLz4KKyAgICBGaXggcG90ZW50aWFsIG91dCBvZiBib3VuZCBhY2Nlc3MgKERhbmllbCBWZWlsbGFyZCksPGJyLz4KKyAgICBGaXggbGFyZ2UgcGFyc2Ugb2YgZmlsZSBmcm9tIG1lbW9yeSAoRGFuaWVsIFZlaWxsYXJkKSw8YnIvPgorICAgIEZpeCBhIGJ1ZyBpbiB0aGUgbnNjbGVhbiBvcHRpb24gb2YgdGhlIHBhcnNlciAoRGFuaWVsIFZlaWxsYXJkKSw8YnIvPgorICAgIEZpeCBhIHJlZ3Jlc3Npb24gaW4gMi45LjAgYnJlYWtpbmcgdmFsaWRhdGlvbiB3aGlsZSBzdHJlYW1pbmcgKERhbmllbCw8YnIvPgorVmVpbGxhcmQpLDxici8+CisgICAgUmVtb3ZlIHBvdGVudGlhbCBjYWxscyB0byBleGl0KCkgKERhbmllbCBWZWlsbGFyZCk8YnIvPgorICA8L2xpPgorCisgIDxsaT4gSW1wcm92ZW1lbnRzOjxici8+CisgICAgUmVnZW5lcmF0ZWQgQVBJLCBhbmQgdGVzdGFwaSwgcmVidWlsZCBkb2N1bWVudGF0aW9uIChEYW5pZWwgVmVpbGxhcmQpLDxici8+CisgICAgRml4IHRyZWUgaXRlcmF0b3JzIGJyb2tlbiBieSAydG8zIHNjcmlwdCAoRGFuaWVsIFZlaWxsYXJkKSw8YnIvPgorICAgIHVwZGF0ZSBhbGwgdGVzdHMgZm9yIFB5dGhvbjMgYW5kIFB5dGhvbjIgKERhbmllbCBWZWlsbGFyZCksPGJyLz4KKyAgICBBIGZldyBtb3JlIGZpeGVzIGZvciBweXRob24gMyBhZmZlY3RpbmcgbGlieG1sMi5weSAoRGFuaWVsIFZlaWxsYXJkKSw8YnIvPgorICAgIEZpeCBjb21waWxhdGlvbiBvbiBQeXRob24zIChEYW5pZWwgVmVpbGxhcmQpLDxici8+CisgICAgQ29udmVydGluZyBhcGlidWlsZC5weSB0byBweXRob24zIChEYW5pZWwgVmVpbGxhcmQpLDxici8+CisgICAgRmlyc3QgcGFzcyBhdCBzdGFydGluZyBwb3J0aW5nIHRvIHB5dGhvbjMgKERhbmllbCBWZWlsbGFyZCksPGJyLz4KKyAgICB1cGRhdGVkIGNvbmZpZ3VyZS5pbiBmb3IgcHl0aG9uMyAoRGFuaWVsIFZlaWxsYXJkKSw8YnIvPgorICAgIEFkZCBzdXBwb3J0IGZvciB4cGF0aFJlZ2lzdGVyVmFyaWFibGUgaW4gUHl0aG9uIChTaGF1biBNY0NhbmNlKSw8YnIvPgorICAgIEFkZGVkIGEgcmVncmVzc2lvbiB0ZXN0cyBmcm9tIGJ1ZyA2OTQyMjggZGF0YSAoRGFuaWVsIFZlaWxsYXJkKSw8YnIvPgorICAgIENhY2hlIHByZXNlbmNlIG9mICcmbHQ7JyBpbiBlbnRpdGllcyBjb250ZW50IChEYW5pZWwgVmVpbGxhcmQpLDxici8+CisgICAgQXZvaWQgZXh0cmEgcHJvY2Vzc2luZyBvbiBlbnRpdGllcyAoRGFuaWVsIFZlaWxsYXJkKSw8YnIvPgorICAgIFB5dGhvbiBiaW5kaW5nIGZvciB4bWxSZWdpc3RlcklucHV0Q2FsbGJhY2sgKEFsZXhleSBOZXltYW4pLDxici8+CisgICAgUHl0aG9uIGJpbmRpbmdzOiBET00gY2FzdHMgZXZlcnl0aGluZyB0byB4bWxOb2RlIChBbGV4ZXkgTmV5bWFuKSw8YnIvPgorICAgIERlZmluZSBMSUJYTUxfVEhSRUFEX0FMTE9DX0VOQUJMRUQgdmlhIHhtbHZlcnNpb24uaCAoVGltIFN0YXJsaW5nKSw8YnIvPgorICAgIEFkZGluZyBzdHJlYW1pbmcgdmFsaWRhdGlvbiB0byBydW50ZXN0IGNoZWNrcyAoRGFuaWVsIFZlaWxsYXJkKSw8YnIvPgorICAgIEFkZCBhIC0tcHVzaHNtYWxsIG9wdGlvbiB0byB4bWxsaW50IChEYW5pZWwgVmVpbGxhcmQpPGJyLz4KKyAgPC9saT4KKworICA8bGk+IENsZWFudXBzOjxici8+CisgICAgU3dpdGNoZWQgY29tbWVudCBpbiBmaWxlIHRvIFVURi04IGVuY29kaW5nIChEYW5pZWwgVmVpbGxhcmQpLDxici8+CisgICAgRXh0ZW5kIGdpdGlnbm9yZSAoRGFuaWVsIFZlaWxsYXJkKSw8YnIvPgorICAgIFNpbGVudCB0aGUgbmV3IHB5dGhvbiB0ZXN0IG9uIGlucHV0IChBbGV4ZXkgTmV5bWFuKSw8YnIvPgorICAgIENsZWFudXAgb2YgYSBkdXBsaWNhdGUgdGVzdCAoRGFuaWVsIFZlaWxsYXJkKSw8YnIvPgorICAgIENsZWFudXAgb24gZHVwbGljYXRlIHRlc3QgZXhwcmVzc2lvbnMgKERhbmllbCBWZWlsbGFyZCksPGJyLz4KKyAgICBGaXggY29tcGlsZXIgd2FybmluZyBhZnRlciAxNTNjZjE1OTA1Y2Y0ZWMwODA2MTJhZGE2NzAzNzU3ZDEwY2FiYTFlIChQYXRyaWNrLDxici8+CitHYW5zdGVyZXIpLDxici8+CisgICAgU3BlYyBjbGVhbnVwcyBhbmQgYSBmaXggZm9yIG11bHRpYXJjaCBzdXBwb3J0IChEYW5pZWwgVmVpbGxhcmQpLDxici8+CisgICAgU2lsZW5jZSBhIGNsYW5nIHdhcm5pbmcgKERhbmllbCBWZWlsbGFyZCksPGJyLz4KKyAgICBDbGVhbnVwIHRoZSBDb3B5cmlnaHQgdG8gYmUgcHVyZSBNSVQgTGljZW5jZSB3b3JkaW5nIChEYW5pZWwgVmVpbGxhcmQpLDxici8+CisgICAgcmFuZF9zZWVkIHNob3VsZCBiZSBzdGF0aWMgaW4gZGljdC5jIChXb3V0ZXIgVmFuIFJvb3kpLDxici8+CisgICAgRml4IHR5cG9zIGluIHBhcnNlciBjb21tZW50cyAoSmFuIFBva29ybsO9KTxici8+CisgIDwvbGk+Cis8L3VsPgorPGgzPjIuOS4wOiBTZXAgMTEgMjAxMjwvaDM+Cis8dWw+CisgIDxsaT4gRmVhdHVyZXM6PGJyLz4KKyAgICBBIGZldyBuZXcgQVBJIGVudHJ5IHBvaW50cyw8YnIvPgorICAgIE1vcmUgcmVzaWxpZW50IHB1c2ggcGFyc2VyIG1vZGUsPGJyLz4KKyAgICBBIGxvdCBvZiBwb3J0YWJpbGl0eSBpbXByb3ZlbWVudCw8YnIvPgorICAgIEZhc3RlciBYUGF0aCBldmFsdWF0aW9uPGJyLz4KKyAgPC9saT4KKworICA8bGk+IERvY3VtZW50YXRpb246PGJyLz4KKyAgICB4bWwyLWNvbmZpZy4xIG1hcmt1cCBlcnJvciAoQ2hyaXN0aWFuIFdlaXNnZXJiZXIpLDxici8+CisgICAgbGlieG1sKDMpIG1hbnBhZ2UgdHlwbyBmaXggKEpvaG4gQnJhZHNoYXcpLDxici8+CisgICAgTW9yZSBjbGVhbnVwcyB0byB0aGUgZG9jdW1lbnRhdGlvbiBwYXJ0IG9mIGxpYnhtbDIgKERhbmllbCBSaWNoYXJkIEcpPGJyLz4KKyAgPC9saT4KKworICA8bGk+IFBvcnRhYmlsaXR5Ojxici8+CisgICAgQnVnIDY3NjU0NCAtIGZhaWxzIHRvIGJ1aWxkIHdpdGggLS13aXRob3V0LXNheDEgKEFraXJhIFRBR09IKSw8YnIvPgorICAgIGZpeCBidWlsZHMgbm90IGhhdmluZyBzdGRpbnQuaCAoUm9iIFJpY2hhcmRzKSw8YnIvPgorICAgIEdldFByb2NBZGRyZXNzQSBpcyBhdmFpbGFibGUgb25seSBvbiBXaW5DRSAoRGFuaWVsIFZlaWxsYXJkKSw8YnIvPgorICAgIE1vcmUgdXBkYXRlcyBhbmQgY2xlYW51cHMgb24gYXV0b3Rvb2xzIGFuZCBNYWtlZmlsZXMgKERhbmllbCBSaWNoYXJkIEcpLDxici8+CisgICAgTW9yZSBjaGFuZ2VzIGZvciBXaW4zMiBjb21waWxhdGlvbiAoRXJpYyBadXJjaGVyKSw8YnIvPgorICAgIEJhc2ljIGNoYW5nZXMgZm9yIFdpbjMyIGJ1aWxkcyBvZiByZWxlYXNlIDIuOS4wOiBjb21waWxlIGJ1Zi5jIChFcmljIFp1cmNoZXIpLDxici8+CisgICAgQnVuZGxlcyBhbGwgZ2VuZXJhdGVkIGZpbGVzIGZvciBweXRob24gaW50byB0aGUgZGlzdHJpYnV0aW9uIChEYW5pZWwgUmljaGFyZCBHKSw8YnIvPgorICAgIEZpeCBjb21waWxlciB3YXJuaW5ncyBvZiB3aW5jZWNvbXBhdC5jIChQYXRyaWNrIEdhbnN0ZXJlciksPGJyLz4KKyAgICBGaXggbm9uIF9fR05VQ19fIGJ1aWxkIChQYXRyaWNrIEdhbnN0ZXJlciksPGJyLz4KKyAgICBGaXggd2luZG93cyB1bmljb2RlIGJ1aWxkIChQYXRyaWNrIEdhbnN0ZXJlciksPGJyLz4KKyAgICBjbGVhbiByZWRlZmluaXRpb24gb2Yge3Z9c25wcmludGYgaW4gQy1zb3VyY2UgKFJvdW1lbiBQZXRyb3YpLDxici8+CisgICAgdXNlIHhtbEJ1Zi4uLiBpZiBERUJVR19JTlBVVCBpcyBkZWZpbmVkIChSb3VtZW4gUGV0cm92KSw8YnIvPgorICAgIGZpeCBydW50ZXN0cyB0byB1c2UgcHRocmVhZHMgc3VwcG9ydCBmb3IgdmFyaW91cyBVbml4IHBsYXRmb3JtcyAoRGFuaWVsIFJpY2hhcmQgRyksPGJyLz4KKyAgICBWYXJpb3VzICJtYWtlIGRpc3RjaGVjayIgYW5kIHBvcnRhYmlsaXR5IGZpeHVwcyAybmQgcGFydCAoRGFuaWVsIFJpY2hhcmQgRyksPGJyLz4KKyAgICBWYXJpb3VzICJtYWtlIGRpc3RjaGVjayIgYW5kIHBvcnRhYmlsaXR5IGZpeHVwcyAoRGFuaWVsIFJpY2hhcmQgRyksPGJyLz4KKyAgICBGaXggY29tcGlsYXRpb24gb24gb2xkZXIgVmlzdWFsIFN0dWRpbyAoRGFuaWVsIFZlaWxsYXJkKTxici8+CisgIDwvbGk+CisKKyAgPGxpPiBCdWcgRml4ZXM6PGJyLz4KKyAgICBDaGFuZ2UgdGhlIFhQYXRoIGNvZGUgdG8gcGVyY29sYXRlIGFsbG9jYXRpb24gZXJyb3JzIChEYW5pZWwgVmVpbGxhcmQpLDxici8+CisgICAgRml4IHJldXNlIG9mIHhtbEluaXRQYXJzZXIgKERhbmllbCBWZWlsbGFyZCksPGJyLz4KKyAgICBGaXggcG90ZW50aWFsIGNyYXNoIG9uIGVudGl0aWVzIGVycm9ycyAoRGFuaWVsIFZlaWxsYXJkKSw8YnIvPgorICAgIGluaXRpYWxpemUgdmFyIChSb2IgUmljaGFyZHMpLDxici8+CisgICAgRml4IHRoZSBYUGF0aCBhcml0eSBjaGVjayB0byBhbHNvIGNoZWNrIHRoZSBYUGF0aCBzdGFjayBsaW1pdHMgKERhbmllbCBWZWlsbGFyZCksPGJyLz4KKyAgICBGaXggcHJvYmxlbSB3aXRoIHNwZWNpZmljIGFuZCBnZW5lcmljIGVycm9yIGhhbmRsZXJzIChQaWV0cm8gQ2VydXR0aSksPGJyLz4KKyAgICBBdm9pZCBhIHBvdGVudGlhbCBpbmZpbml0ZSByZWN1cnNpb24gKERhbmllbCBWZWlsbGFyZCksPGJyLz4KKyAgICBGaXggYW4gWFNEIGVycm9yIHdoZW4gZ2VuZXJhdGluZyBpbnRlcm5hbCBhdXRvbWF0YSAoRGFuaWVsIFZlaWxsYXJkKSw8YnIvPgorICAgIFBhdGNoIGZvciB4aW5jbHVkZSBvZiB0ZXh0IHVzaW5nIG11bHRpYnl0ZSBjaGFyYWN0ZXJzIChWaXRhbHkgT3N0YW5pbiksPGJyLz4KKyAgICBGaXggYSBzZWdmYXVsdCBvbiBYU0QgdmFsaWRhdGlvbiBvbiBwYXR0ZXJuIGVycm9yIChEYW5pZWwgVmVpbGxhcmQpLDxici8+CisgICAgRml4IG1pc3NpbmcgeG1sc2F2ZS5oIG1vZHVsZSB3aGljaCB3YXMgaWdub3JlZCBpbiByZWNlbnQgYnVpbGRzIChEYW5pZWwgVmVpbGxhcmQpLDxici8+CisgICAgQWRkIGEgbWlzc2luZyBlbGVtZW50IGNoZWNrIChEYW5pZWwgVmVpbGxhcmQpLDxici8+CisgICAgQWRkaW5nIHZhcmlvdXMgY2hlY2tzIG9uIG5vZGUgdHlwZSB0aG91Z2ggdGhlIEFQSSAoRGFuaWVsIFZlaWxsYXJkKSw8YnIvPgorICAgIE5hbWVzcGFjZSBub2RlcyBjYW4ndCBiZSB1bmxpbmtlZCB3aXRoIHhtbFVubGlua05vZGUgKERhbmllbCBWZWlsbGFyZCksPGJyLz4KKyAgICBGaXggbWFrZSBkaXN0IHRvIGluY2x1ZGUgbmV3IHByaXZhdGUgaGVhZGVyIGZpbGVzIChEYW5pZWwgVmVpbGxhcmQpLDxici8+CisgICAgTW9yZSBmaXh1cHMgb24gdGhlIHB1c2ggcGFyc2VyIGJlaGF2aW91ciAoRGFuaWVsIFZlaWxsYXJkKSw8YnIvPgorICAgIFN0cmVuZ3RoZW4gYmVoYXZpb3VyIG9mIHRoZSBwdXNoIHBhcnNlciBpbiBwcm9ibGVtYXRpYyBzaXR1YXRpb25zIChEYW5pZWwgVmVpbGxhcmQpLDxici8+CisgICAgRW5mb3JjZSBYTUxfUEFSU0VSX0VPRiBzdGF0ZSBoYW5kbGluZyB0aHJvdWdoIHRoZSBwYXJzZXIgKERhbmllbCBWZWlsbGFyZCksPGJyLz4KKyAgICBGaXh1cCBsaW1pdHMgcGFyc2VyIChEYW5pZWwgVmVpbGxhcmQpLDxici8+CisgICAgRG8gbm90IGZldGNoIGV4dGVybmFsIHBhcnNlZCBlbnRpdGllcyAoRGFuaWVsIFZlaWxsYXJkKSw8YnIvPgorICAgIEZpeCBhbiBlcnJvciBpbiBwcmV2aW91cyBjb21taXQgKEFyb24gWHUpLDxici8+CisgICAgRml4IGVudGl0aWVzIGxvY2FsIGJ1ZmZlcnMgc2l6ZSBwcm9ibGVtcyAoRGFuaWVsIFZlaWxsYXJkKSw8YnIvPgorICAgIEZpeCBwYXJzZXIgbG9jYWwgYnVmZmVycyBzaXplIHByb2JsZW1zIChEYW5pZWwgVmVpbGxhcmQpLDxici8+CisgICAgRml4IGEgZmFpbHVyZSB0byByZXBvcnQgeG1scmVhZGVyIHBhcnNpbmcgZmFpbHVyZXMgKERhbmllbCBWZWlsbGFyZCk8YnIvPgorICA8L2xpPgorCisgIDxsaT4gSW1wcm92ZW1lbnRzOjxici8+CisgICAgS2VlcCBsaWJ4bWwyLnN5bXMgd2hlbiBydW5uaW5nICJtYWtlIGRpc3RjbGVhbiIgKERhbmllbCBWZWlsbGFyZCksPGJyLz4KKyAgICBBbGxvdyB0byBzZXQgdGhlIHF1b3RpbmcgY2hhcmFjdGVyIG9mIGFuIHhtbFdyaXRlciAoQ3NhYmEgUmFkdWx5KSw8YnIvPgorICAgIEtlZXAgbm9uLXNpZ25pZmljYW50IGJsYW5rcyBub2RlIGluIEhUTUwgcGFyc2VyIChEYW5pZWwgVmVpbGxhcmQpLDxici8+CisgICAgQWRkIGEgZm9yYmlkZGVuIHZhcmlhYmxlIGVycm9yIG51bWJlciBhbmQgbWVzc2FnZSB0byBYUGF0aCAoRGFuaWVsIFZlaWxsYXJkKSw8YnIvPgorICAgIFN1cHBvcnQgbG9uZyBwYXRoIG5hbWVzIG9uIFdOVCAoTWljaGFlbCBTdGFobCksPGJyLz4KKyAgICBJbXByb3ZlIEhUTUwgZXNjYXBpbmcgb2YgYXR0cmlidXRlIG9uIG91dHB1dCAoRGFuaWVsIFZlaWxsYXJkKSw8YnIvPgorICAgIEhhbmRsZSBJQ1VfTElCUyBhcyBMSUJBREQsIG5vdCBMREZMQUdTIHRvIHByZXZlbnQgbGlua2luZyBlcnJvcnMgKEFyZnJldmVyIEZyZWh0ZXMgVGFpZmVyc2FyIEFyYWhlc2lzKSw8YnIvPgorICAgIFN3aXRjaGluZyBYUGF0aCBub2RlIHNvcnRpbmcgdG8gVGltc29ydCAoVm9qdGVjaCBGcmllZCksPGJyLz4KKyAgICBPcHRpbWl6aW5nICcvLycgaW4gWFBhdGggZXhwcmVzc2lvbnMgKE5pY2sgV2VsbG5ob2ZlciksPGJyLz4KKyAgICBFeHBvc2UgeG1sQnVmU2hyaW5rIGluIHRoZSBwdWJsaWMgdHJlZSBBUEkgKERhbmllbCBWZWlsbGFyZCksPGJyLz4KKyAgICBWaXNpYmxlIEhUTUwgZWxlbWVudHMgY2xvc2UgdGhlIGhlYWQgdGFnIChDb25yYWQgSXJ3aW4pLDxici8+CisgICAgRml4IGZpbGUgYW5kIGxpbmUgcmVwb3J0IGZvciBYU0QgU0FYIGFuZCByZWFkZXIgc3RyZWFtaW5nIHZhbGlkYXRpb24gKERhbmllbCBWZWlsbGFyZCksPGJyLz4KKyAgICBGaXggY29uc3QgcXVhbGlmeWVyIHRvIGRlZmluaXRpb24gb2YgeG1sQnVmZmVyRGV0YWNoIChEYW5pZWwgVmVpbGxhcmQpLDxici8+CisgICAgbWluaW1pemUgdXNlIG9mIEhBVkVfQ09ORklHX0ggKFJvdW1lbiBQZXRyb3YpLDxici8+CisgICAgZml4dXAgcmVncmVzc2lvbiBpbiBWYXJpb3VzICJtYWtlIGRpc3RjaGVjayIgYW5kIHBvcnRhYmlsaXR5IGZpeHVwcyAoUm91bWVuIFBldHJvdiksPGJyLz4KKyAgICBBZGQgc3VwcG9ydCBmb3IgYmlnIGxpbmUgbnVtYmVycyBpbiBlcnJvciByZXBvcnRpbmcgKERhbmllbCBWZWlsbGFyZCksPGJyLz4KKyAgICBBdm9pZCB1c2luZyB4bWxCdWZmZXIgZm9yIHNlcmlhbGl6YXRpb24gKERhbmllbCBWZWlsbGFyZCksPGJyLz4KKyAgICBJbXByb3ZlIGNvbXBhdGliaWxpdHkgYmV0d2VlbiB4bWxCdWYgYW5kIHhtbEJ1ZmZlciAoRGFuaWVsIFZlaWxsYXJkKSw8YnIvPgorICAgIFByb3ZpZGUgbmV3IGFjY2Vzc29ycyBmb3IgeG1sT3V0cHV0QnVmZmVyIChEYW5pZWwgVmVpbGxhcmQpLDxici8+CisgICAgSW1wcm92ZW1lbnRzIGZvciBvbGQgYnVmZmVyIGNvbXBhdGliaWxpdHkgKERhbmllbCBWZWlsbGFyZCksPGJyLz4KKyAgICBFeHBhbmQgdGhlIGxpbWl0IHRlc3QgcHJvZ3JhbSAoRGFuaWVsIFZlaWxsYXJkKSw8YnIvPgorICAgIEltcHJvdmUgZXJyb3IgcmVwb3J0aW5nIG9uIHBhcnNlciBlcnJvcnMgKERhbmllbCBWZWlsbGFyZCksPGJyLz4KKyAgICBJbXBsZW1lbnQgc29tZSBkZWZhdWx0IGxpbWl0cyBpbiB0aGUgWFBhdGggbW9kdWxlIChEYW5pZWwgVmVpbGxhcmQpLDxici8+CisgICAgSW50cm9kdWNlIHNvbWUgZGVmYXVsdCBwYXJzZXIgbGltaXRzIChEYW5pZWwgVmVpbGxhcmQpLDxici8+CisgICAgQ2xlYW51cHMgYW5kIG5ldyBsaW1pdCBBUElzIGZvciBkaWN0aW9uYXJpZXMgKERhbmllbCBWZWlsbGFyZCksPGJyLz4KKyAgICBGaXh1cCBmb3IgYnVmLmMgKERhbmllbCBWZWlsbGFyZCksPGJyLz4KKyAgICBDbGVhbnVwIFVSSSBtb2R1bGUgbWVtb3J5IGFsbG9jYXRpb24gY29kZSAoRGFuaWVsIFZlaWxsYXJkKSw8YnIvPgorICAgIEV4dGVuZCB0ZXN0bGltaXRzIChEYW5pZWwgVmVpbGxhcmQpLDxici8+CisgICAgTW9yZSBhdm9pZCBxdWFkcmF0aWMgYmVoYXZpb3VyIChEYW5pZWwgVmVpbGxhcmQpLDxici8+CisgICAgSW1wb3NlIGEgcmVhc29uYWJsZSBsaW1pdCBvbiBQSSBzaXplIChEYW5pZWwgVmVpbGxhcmQpLDxici8+CisgICAgZmlyc3QgdmVyc2lvbiBvZiB0ZXN0bGltaXRzIG5ldyB0ZXN0IChEYW5pZWwgVmVpbGxhcmQpLDxici8+CisgICAgQXZvaWQgcXVhZHJhdGljIGJlaGF2aW91ciBpbiBzb21lIHB1c2ggcGFyc2luZyBjYXNlcyAoRGFuaWVsIFZlaWxsYXJkKSw8YnIvPgorICAgIEltcG9zZSBhIHJlYXNvbmFibGUgbGltaXQgb24gY29tbWVudCBzaXplIChEYW5pZWwgVmVpbGxhcmQpLDxici8+CisgICAgSW1wb3NlIGEgcmVhc29uYWJsZSBsaW1pdCBvbiBhdHRyaWJ1dGUgc2l6ZSAoRGFuaWVsIFZlaWxsYXJkKSw8YnIvPgorICAgIEhhcmRlbiB0aGUgYnVmZmVyIGNvZGUgYW5kIG1ha2UgaXQgbW9yZSBjb21wYXRpYmxlIChEYW5pZWwgVmVpbGxhcmQpLDxici8+CisgICAgTW9yZSBjbGVhbnVwcyBmb3IgaW5wdXQvYnVmZmVycyBjb2RlIChEYW5pZWwgVmVpbGxhcmQpLDxici8+CisgICAgQ2xlYW51cCBmdW5jdGlvbiB4bWxCdWZSZXNldElucHV0KCksPGJyLz4gdG8gc2V0IGlucHV0IGZyb20gQnVmZmVyIChEYW5pZWwgVmVpbGxhcmQpCisgICAgU3dpY3RoIHRoZSB0ZXN0IHByb2dyYW0gZm9yIGNoYXJhY3RlcnMgdG8gbmV3IGlucHV0IGJ1ZmZlcnMgKERhbmllbCBWZWlsbGFyZCksPGJyLz4KKyAgICBDb252ZXJ0IHRoZSBIVE1MIHRyZWUgbW9kdWxlIHRvIHRoZSBuZXcgYnVmZmVycyAoRGFuaWVsIFZlaWxsYXJkKSw8YnIvPgorICAgIENvbnZlcnQgb2YgdGhlIEhUTUwgcGFyc2VyIHRvIG5ldyBpbnB1dCBidWZmZXJzIChEYW5pZWwgVmVpbGxhcmQpLDxici8+CisgICAgQ29udmVydCB0aGUgd3JpdGVyIHRvIG5ldyBvdXRwdXQgYnVmZmVyIGFuZCBzYXZlIEFQSXMgKERhbmllbCBWZWlsbGFyZCksPGJyLz4KKyAgICBDb252ZXJ0IFhNTFJlYWRlciB0byB0aGUgbmV3IGlucHV0IGJ1ZmZlcnMgKERhbmllbCBWZWlsbGFyZCksPGJyLz4KKyAgICBOZXcgc2F2aW5nIGZ1bmN0aW9ucyB1c2luZyB4bWxCdWYgYW5kIGNvbnZlcnNpb24gKERhbmllbCBWZWlsbGFyZCksPGJyLz4KKyAgICBQcm92aWRlIG5ldyB4bWxCdWYgYmFzZWQgc2F2aW5nIGZ1bmN0aW9ucyAoRGFuaWVsIFZlaWxsYXJkKSw8YnIvPgorICAgIENvbnZlcnQgWEluY2x1ZGUgdG8gdGhlIG5ldyBpbnB1dCBidWZmZXJzIChEYW5pZWwgVmVpbGxhcmQpLDxici8+CisgICAgQ29udmVydCBjYXRhbG9nIGNvZGUgdG8gdGhlIG5ldyBpbnB1dCBidWZmZXJzIChEYW5pZWwgVmVpbGxhcmQpLDxici8+CisgICAgQ29udmVydCBDMTROIHRvIHRoZSBuZXcgSW5wdXQgYnVmZmVyIChEYW5pZWwgVmVpbGxhcmQpLDxici8+CisgICAgQ29udmVydCB4bWxJTy5jIHRvIHRoZSBuZXcgaW5wdXQgYW5kIG91dHB1dCBidWZmZXJzIChEYW5pZWwgVmVpbGxhcmQpLDxici8+CisgICAgQ29udmVydCBYTUwgcGFyc2VyIHRvIHRoZSBuZXcgaW5wdXQgYnVmZmVycyAoRGFuaWVsIFZlaWxsYXJkKSw8YnIvPgorICAgIEluY29tcGF0aWJsZSBjaGFuZ2UgdG8gdGhlIElucHV0IGFuZCBPdXRwdXQgYnVmZmVycyAoRGFuaWVsIFZlaWxsYXJkKSw8YnIvPgorICAgIEFkZGluZyBuZXcgZW5jb2RpbmcgZnVuY3Rpb24gdG8gZGVhbCB3aXRoIHRoZSBuZXcgc3RydWN0dXJlcyAoRGFuaWVsIFZlaWxsYXJkKSw8YnIvPgorICAgIENvbnZlcnQgWFBhdGggdG8geG1sQnVmIChEYW5pZWwgVmVpbGxhcmQpLDxici8+CisgICAgQWRkaW5nIGEgbmV3IGJ1ZiBtb2R1bGUgZm9yIGJ1ZmZlcnMgKERhbmllbCBWZWlsbGFyZCksPGJyLz4KKyAgICBNZW1vcnkgZXJyb3Igd2l0aGluIFNBWDIgcmV1c2UgY29tbW9uIGZyYW1ld29yayAoRGFuaWVsIFZlaWxsYXJkKSw8YnIvPgorICAgIEZpeCB4bWxsaW50IC0teHBhdGggbm9kZSBpbml0aWFsaXphdGlvbiAoRGFuaWVsIFZlaWxsYXJkKTxici8+CisgIDwvbGk+CisKKyAgPGxpPiBDbGVhbnVwczo8YnIvPgorICAgIFZhcmlvdXMgY2xlYW51cHMgdG8gYXZvaWQgY29tcGlsZXIgd2FybmluZ3MgKERhbmllbCBWZWlsbGFyZCksPGJyLz4KKyAgICBCaWcgc3BhY2UgYW5kIHRhYiBjbGVhbnVwIChEYW5pZWwgVmVpbGxhcmQpLDxici8+CisgICAgRm9sbG93dXAgdG8gTGliWE1MMiBkb2NzL2V4YW1wbGVzIGNsZWFudXAgcGF0Y2ggKERhbmllbCBWZWlsbGFyZCksPGJyLz4KKyAgICBTZWNvbmQgcm91bmQgb2YgY2xlYW51cHMgZm9yIExpYlhNTDIgZG9jcy9leGFtcGxlcyAoRGFuaWVsIFJpY2hhcmQpLDxici8+CisgICAgUmVtb3ZlIGFsbCAuY3ZzaWdub3JlIGFzIHRoZXkgYXJlIG5vdCB1c2VkIGFueW1vcmUgKERhbmllbCBWZWlsbGFyZCksPGJyLz4KKyAgICBGaXggYSBUaW1zb3J0IGZ1bmN0aW9uIGhlbHBlciBjb21tZW50IChEYW5pZWwgVmVpbGxhcmQpLDxici8+CisgICAgU21hbGwgY2xlYW51cCBmb3IgdmFsZ3JpbmQgdGFyZ2V0IChEYW5pZWwgVmVpbGxhcmQpLDxici8+CisgICAgUGF0Y2ggZm9yIHBvcnRhYmlsaXR5IG9mIGxhdGluIGNoYXJhY3RlcnMgaW4gQyBmaWxlcyAoRGFuaWVsIFZlaWxsYXJkKSw8YnIvPgorICAgIENsZWFudXAgc29tZSBvZiB0aGUgcGFyc2VyIGNvZGUgKERhbmllbCBWZWlsbGFyZCksPGJyLz4KKyAgICBGaXggYSB2YXJpYWJsZSBuYW1lIGluIGNvbW1lbnQgKERhbmllbCBWZWlsbGFyZCksPGJyLz4KKyAgICBSZWdlbmVyYXRlZCB0ZXN0YXBpLmMgKERhbmllbCBWZWlsbGFyZCksPGJyLz4KKyAgICBSZWdlbmVyYXRpbmcgZG9jcyBhbmQgQVBJIGZpbGVzIChEYW5pZWwgVmVpbGxhcmQpLDxici8+CisgICAgU21hbGwgY2xlYW51cCBvZiB1bnVzZWQgdmFyaWFibGVzIGluIHRlc3QgKERhbmllbCBWZWlsbGFyZCksPGJyLz4KKyAgICBFeHBhbmQgLmdpdGlnbm9yZSB3aXRoIG1vcmUgZmlsZXMgKERhbmllbCBWZWlsbGFyZCk8YnIvPgorICA8L2xpPgorPC91bD4KKzxoMz4yLjguMDogTWF5IDIzIDIwMTI8L2gzPgorPHVsPgorICA8bGk+RmVhdHVyZXM6CisgIGFkZCBsem1hIGNvbXByZXNzaW9uIHN1cHBvcnQgKEFuZGVycyBGIEJqb3JrbHVuZCkKKyAgPC9saT4KKworICA8bGk+RG9jdW1lbnRhdGlvbjoKKyAgICB4bWxjYXRhbG9nOiBBZGQgdXJpIGFuZCBkZWxlZ2F0ZVVSSSB0byBwb3NzaWJsZSBhZGQgdHlwZXMgaW4gbWFuIHBhZ2UuIChWaWxsZSBTa3l0dMOkKSwKKyAgICBVcGRhdGUgUkVBRE1FLnRlc3RzIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIFVSSSBoYW5kbGluZyBjb2RlIGlzIG5vdCBPT00gcmVzaWxpZW50IChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEZpeCBhbiBlcnJvciBpbiBjb21tZW50IChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEZpeGVkIGJ1ZyAjNjE3MDE2IChEYW5pZWwgTXVzdGllbGVzKSwKKyAgICBGaXhlZCB0d28gdHlwb3MgaW4gdGhlIFJFQURNRSBkb2N1bWVudCAoRGFuaWVsIE5lZWwpLAorICAgIGFkZCBnZW5lcmF0ZWQgaHRtbCBmaWxlcyAoQW5kZXJzIEYgQmpvcmtsdW5kKSwKKyAgICBDbGFyaWZ5IHRoZSBuZWVkIHRvIHVzZSB4bWxGcmVlTm9kZSBhZnRlciB4bWxVbmxpbmtOb2RlIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEltcHJvdmUgZG9jdW1lbnRhdGlvbiBhIGJpdCAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBVcGRhdGVkIFVSTCBmb3IgbHhtbCBweXRob24gYmluZGluZ3MgKERhbmllbCBWZWlsbGFyZCkKKyAgPC9saT4KKworICA8bGk+UG9ydGFiaWxpdHk6CisgICAgUmVzdG9yZSBjb2RlIGZvciBXaW5kb3dzIGNvbXBpbGF0aW9uIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIFJlbW92ZSBnaXQgZXJyb3IgbWVzc2FnZSBkdXJpbmcgY29uZmlndXJlIChDaHJpc3RpYW4gRHl3YW4pLAorICAgIHhtbGxpbnQ6IEJ1aWxkIGZpeCBmb3IgZW5kVGltZXIgaWYgIWRlZmluZWQoSEFWRV9HRVRUSU1FT0ZEQVkpIChQYXRyaWNrIFIuIEdhbnN0ZXJlciksCisgICAgcmVtb3ZlIGEgYmFzaGlzbSBpbiBjb25mZ3VyZS5pbiAoSm9obiBIZWluKSwKKyAgICB1bmRlZiBFUlJPUiBpZiBhbHJlYWR5IGRlZmluZWQgKFBhdHJpY2sgUi4gR2Fuc3RlcmVyKSwKKyAgICBGaXggbGlicmFyeSBwcm9ibGVtcyB3aXRoIG1pbmd3LXc2NCAoTWljaGFlbCBDcm9uZW53b3J0aCksCisgICAgZml4IHdpbmRvd3MgYnVpbGQuIGlmZGVmIGFkZGl0aW9uIGZyb20gYnVnIDY2NjQ5MSBtYWtlcyBubyBzZW5zZSAoUm9iIFJpY2hhcmRzKSwKKyAgICBwcmVmZXIgbmF0aXZlIHRocmVhZHMgb24gd2luMzIgKFNhbSBUaHVyc2ZpZWxkKSwKKyAgICBBbGxvdyB0byBjb21waWxlIHdpdGggVmlzdWFsIFN0dWRpbyAyMDEwIChUaG9tYXMgTGVtbSksCisgICAgRml4IG1pbmd3J3Mgc25wcmludGYgY29uZmlndXJlIGNoZWNrIChBbmRvbmkgTW9yYWxlcyksCisgICAgZml4ZWQgYSA2NGJpdCBiaWcgZW5kaWFuIGlzc3VlIChNYXJjdXMgTWVpc3NuZXIpLAorICAgIEZpeCBwb3J0YWJpbGl0eSBmYWlsdXJlIGlmIG5ldGRiLmggbGFja3MgTk9fQUREUkVTUyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggd2luZG93cyBidWlsZCBmcm9tIGx6bWEgYWRkaXRpb24gKFJvYiBSaWNoYXJkcyksCisgICAgYXV0b2dlbjogT25seSBjaGVjayBmb3IgbGlidG9vbGl6ZSAoQ29saW4gV2FsdGVycyksCisgICAgRml4IHRoZSBXaW5kb3dzIGJ1aWxkIGZpbGVzIChQYXRyaWNrIHZvbiBSZXRoKSwKKyAgICA2MzQ4NDYgUmVtb3ZlIGEgbGlua2luZyBvcHRpb24gYnJlYWtpbmcgV2luZG93cyBWQzEwIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIDU5OTI0MSBmaXggYW4gaW5pdGlhbGl6YXRpb24gcHJvYmxlbSBvbiBXaW42NCAoQW5kcmV3IFcuIE5vc2Vua28pLAorICAgIGZpeCB3aW4gYnVpbGQgKFJvYiBSaWNoYXJkcykKKyAgPC9saT4KKworICA8bGk+QnVnIGZpeGVzOgorICAgIFBhcnQgZm9yIHJhbmRfciBjaGVja2luZyBtaXNzaW5nIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIENsZWFudXAgb24gcmFuZG9taXphdGlvbiAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggdW5kZWZpbmVkIHJlZmVyZW5jZSBpbiBweXRob24gbW9kdWxlIChQYWNobyBSYW1vcyksCisgICAgRml4IGEgcmFjZSBpbiB4bWxOZXdJbnB1dFN0cmVhbSAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggd2VpcmQgc3RyZWFtaW5nIFJlbGF4TkcgZXJyb3JzIChOb2FtKSwKKyAgICBGaXggdmFyaW91cyBidWdzIGluIG5ldyBjb2RlIHJhaXNlZCBieSB0aGUgQVBJIGNoZWNraW5nIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEZpeCB2YXJpb3VzIHByb2JsZW1zIHdpdGggIm1ha2UgZGlzdCIgKERhbmllbCBWZWlsbGFyZCksCisgICAgRml4IGEgbWVtb3J5IGxlYWsgaW4gdGhlIHh6bGliIGNvZGUgKERhbmllbCBWZWlsbGFyZCksCisgICAgSFRNTCBwYXJzZXIgZXJyb3Igd2l0aCAmbHQ7bm9zY3JpcHQmZ3Q7IGluIHRoZSAmbHQ7aGVhZCZndDsgKERlbmlzIFBhdWspLAorICAgIFhTRDogb3B0aW9uYWwgZWxlbWVudCBpbiBjb21wbGV4IHR5cGUgZXh0ZW5zaW9uIChSZW1pIEdhY29nbmUpLAorICAgIEZpeCBodG1sIHNlcmlhbGl6YXRpb24gZXJyb3IgYW5kIGh0bWxTZXRNZXRhRW5jb2RpbmcoKSAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggYSB3cm9uZyByZXR1cm4gdmFsdWUgaW4gcHJldmlvdXMgcGF0Y2ggKERhbmllbCBWZWlsbGFyZCksCisgICAgRml4IGFuIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgdXNlIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEZpeCBhIGNvbXBpbGF0aW9uIHByb2JsZW0gd2l0aCAtLW1pbmltdW0gKEJyYW5kb24gU2xhY2spLAorICAgIFJlbW92ZSByZWR1bmRhbnQgYW5kIHVuZ2FyZGVkIGluY2x1ZGUgb2YgcmVzb2x2LmggKERhbmllbCBWZWlsbGFyZCksCisgICAgeGluY2x1ZGUgd2l0aCBwYXJzZT0idGV4dCIgZG9lcyBub3QgdXNlIHRoZSBlbnRpdHkgbG9hZGVyIChTaGF1biBNY0NhbmNlKSwKKyAgICBBbGxvdyB0byBwYXJzZSAxIGJ5dGUgSFRNTCBmaWxlcyAoRGVuaXMgUGF1ayksCisgICAgUGF0Y2ggdGhhdCBmaXhlcyB0aGUgc2tpcHBpbmcgb2YgdGhlIEhUTUxfUEFSU0VfTk9JTVBMSUVEIGZsYWcgKE1hcnRpbiBTY2hyw7ZkZXIpLAorICAgIEF2b2lkIG1lbW9yeSBsZWFrIGlmIHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlSU8gZmFpbHMgKExpbiBZaS1MaSksCisgICAgUHJldmVudCBhbiBpbmZpbml0ZSBsb29wIHdoZW4gZHVtcGluZyBhIG5vZGUgd2l0aCBlbmNvZGluZyBwcm9ibGVtcyAoVGltb3RoeSBFbGxpb3R0KSwKKyAgICB4bWxQYXJzZU5vZGVJbkNvbnRleHQgcHJvYmxlbXMgd2l0aCBhbiBlbXB0eSBkb2N1bWVudCAoVGltIEVsbGlvdHQpLAorICAgIEhUTUwgZWxlbWVudCBwb3NpdGlvbiBpcyBub3QgZGV0ZWN0ZWQgcHJvcHBlcmx5IChQYXZlbCBBbmRyZWpzKSwKKyAgICBGaXggYW4gb2ZmIGJ5IG9uZSBwb2ludGVyIGFjY2VzcyAoSsO8cmkgQWVkbGEpLAorICAgIFRyeSB0byBmaXggYSBwcm9ibGVtIHdpdGggZW50aXRpZXMgaW4gU0FYIG1vZGUgKERhbmllbCBWZWlsbGFyZCksCisgICAgRml4IGEgY3Jhc2ggd2l0aCB4bWxsaW50IC0tcGF0aCBvbiBlbXB0eSByZXN1bHRzIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEZpeGVkIGJ1ZyAjNjY3OTQ2IChEYW5pZWwgTXVzdGllbGVzKSwKKyAgICBGaXggYSBsb2dpYyBlcnJvciBpbiBTY2hlbWFzIENvbXBvbmVudCBDb25zdHJhaW50cyAoUnlhbiBTbGVldmkpLAorICAgIEZpeCBhIHdyb25nIGVudW0gdHlwZSB1c2UgaW4gU2NoZW1hcyBUeXBlcyAoTmljbyBXZWJlciksCisgICAgRml4IFNBWDIgYnVpbGRlciBpbiBjYXNlIG9mIHVuZGVmaW5lZCBhdHRyaWJ1dGVzIG5hbWVzcGFjZSAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggU0FYMiBidWlsZGVyIGluIGNhc2Ugb2YgdW5kZWZpbmVkIGVsZW1lbnQgbmFtZXNwYWNlcyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBmaXggcmVmZXJlbmNlIHRvIFNURE9VVF9GSUxFTk8gb24gTVNWQyAoVGF5IFJheSBDaHVhbiksCisgICAgZml4IGEgcGFpciBvZiBwb3NzaWJsZSBvdXQgb2YgYXJyYXkgY2hhciByZWZlcmVuY2VzIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEZpeCBhbiBhbGxvY2F0aW9uIGVycm9yIHdoZW4gY29weWluZyBlbnRpdGllcyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBNYWtlIHN1cmUgdGhlIHBhcnNlciByZXR1cm5zIHdoZW4gZ2V0dGluZyBhIFN0b3Agb3JkZXIgKENocmlzIEV2YW5zKSwKKyAgICBGaXggc29tZSBwb3RlbnRpYWwgcHJvYmxlbXMgb24gcmVhbGxvY2F0aW9uIGZhaWx1cmVzKHBhcnNlci5jKSAoWGlhIFhpbmZlbmcpLAorICAgIEZpeCBhIHNjaGVtYSB0eXBlIGR1cmF0aW9uIGNvbXBhcmlzb24gb3ZlcmZsb3cgKERhbmllbCBWZWlsbGFyZCksCisgICAgRml4IGFuIHVuaW1wbGVtZW50ZWQgcGFydCBpbiBSTkcgdmFsdWUgdmFsaWRhdGlvbiAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggbWlzc2luZyBlcnJvciBzdGF0dXMgaW4gWFBhdGggZXZhbHVhdGlvbiAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBIYXJkZW5pbmcgb2YgWFBhdGggZXZhbHVhdGlvbiAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggYW4gb2ZmIGJ5IG9uZSBlcnJvciBpbiBlbmNvZGluZyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggUkVMQVggTkcgaW5jbHVkZSBidWcgIzY1NTI4OCAoU2hhdW4gTWNDYW5jZSksCisgICAgRml4IFhTRCB2YWxpZGF0aW9uIGJ1ZyAjNjMwMTMwIChUb3lvZGEgRWl6aSksCisgICAgRml4IHNvbWUgcG90ZW50aWFsIHByb2JsZW1zIG9uIHJlYWxsb2NhdGlvbiBmYWlsdXJlcyAoQ2hyaXMgRXZhbnMpLAorICAgIF9feG1sUmFpc2VFcnJvcjogZml4IHVzZSBvZiB0aGUgc3RydWN0dXJlZCBjYWxsYmFjayBjaGFubmVsIChEbWl0cnkgVi4gTGV2aW4pLAorICAgIF9feG1sUmFpc2VFcnJvcjogZml4IHRoZSBzdHJ1Y3R1cmVkIGNhbGxiYWNrIGNoYW5uZWwncyBkYXRhIGluaXRpYWxpemF0aW9uIChEbWl0cnkgVi4gTGV2aW4pLAorICAgIEZpeCBtZW1vcnkgY29ycnVwdGlvbiB3aGVuIHhtbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeUludGVybmFsIGlzIGNhbGxlZCBmcm9tIHhtbFBhcnNlQmFsYW5jZWRDaHVuayAoUm9iIFJpY2hhcmRzKSwKKyAgICBTbWFsbCBmaXggZm9yIHByZXZpb3VzIGNvbW1pdCAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggYSBwb3RlbnRpYWwgZnJlZWluZyBlcnJvciBpbiBYUGF0aCAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggYSBwb3RlbnRpYWwgbWVtb3J5IGFjY2VzcyBlcnJvciAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBSZWFjdGl2YXRlIHRoZSBzaGFyZWQgbGlicmFyeSB2ZXJzaW9ubmluZyBzY3JpcHQgKERhbmllbCBWZWlsbGFyZCkKKyAgPC9saT4KKworICA8bGk+SW1wcm92ZW1lbnRzOgorICAgIHVzZSBtaW5ndyBDOTkgY29tcGF0aWJsZSBmdW5jdGlvbnMge3Z9c25wcmludGYgaW5zdGVhZCB0aG9zZSBmcm9tIE1TVkMgcnVudGltZSAoUm91bWVuIFBldHJvdiksCisgICAgTmV3IHN5bWJvbHMgYWRkZWQgZm9yIHRoZSBuZXh0IHJlbGVhc2UgKERhbmllbCBWZWlsbGFyZCksCisgICAgeG1sVGV4dFJlYWRlciBiYWlscyB0b28gcXVpY2tseSBvbiBlcnJvciAoQW5keSBMdXRvbWlyc2tpKSwKKyAgICBVc2UgYSBoeWJyaWQgYWxsb2NhdGlvbiBzY2hlbWUgaW4geG1sTm9kZVNldENvbnRlbnQgKENvbnJhZCBJcndpbiksCisgICAgVXNlIGJ1ZmZlcnMgd2hlbiBjb25zdHJ1Y3Rpbmcgc3RyaW5nIG5vZGUgbGlzdHMuIChDb25yYWQgSXJ3aW4pLAorICAgIEFkZCBIVE1MIHBhcnNlciBzdXBwb3J0IGZvciBIVE1MNSBtZXRhIGNoYXJzZXQgZW5jb2RpbmcgZGVjbGFyYXRpb24gKERlbmlzIFBhdWspLAorICAgIHdyb25nIG1lc3NhZ2UgZm9yIGRvdWJsZSBoeXBoZW4gaW4gY29tbWVudCBYTUwgZXJyb3IgKEJyeWFuIEhlbmRlcnNvbiksCisgICAgRml4ICJtYWtlIHRzdCIgdG8gZ3JhYiBsem1hIGxpYiB0b28gKERhbmllbCBWZWlsbGFyZCksCisgICAgQWRkICJ3aGVyZWlzIiBjb21tYW5kIHRvIHhtbGxpbnQgc2hlbGwgKFJ5YW4pLAorICAgIEltcHJvdmUgeG1sbGludCBzaGVsbCAoUnlhbiksCisgICAgYWRkIGZ1bmN0aW9uIHhtbFRleHRSZWFkZXJSZWxheE5HVmFsaWRhdGVDdHh0KCkgKE5vYW0gUG9zdGF2c2t5KSwKKyAgICBBZGQgLS1zeXN0ZW0gc3VwcG9ydCB0byBhdXRvZ2VuLnNoIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEFkZCBoYXNoIHJhbmRvbWl6YXRpb24gdG8gaGFzaCBhbmQgZGljdCBzdHJ1Y3R1cmVzIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIGluY2x1ZGVkIHh6bGliIGluIGRpc3QgKEFuZGVycyBGIEJqb3JrbHVuZCksCisgICAgbW92ZSB4ei9sem1hIGhlbHBlcnMgdG8gc2VwYXJhdGUgaW5jbHVkZWQgZmlsZXMgKEFuZGVycyBGIEJqb3JrbHVuZCksCisgICAgYWRkIGdlbmVyYXRlZCBkZXZoZWxwIGZpbGVzIChBbmRlcnMgRiBCam9ya2x1bmQpLAorICAgIGFkZCBYTUxfV0lUSF9MWk1BIHRvIGFwaSAoQW5kZXJzIEYgQmpvcmtsdW5kKSwKKyAgICBhdXRvZ2VuLnNoOiBIb25vciBOT0NPTkZJR1VSRSBlbnZpcm9ubWVudCB2YXJpYWJsZSAoQ29saW4gV2FsdGVycyksCisgICAgSW1wcm92ZSB0aGUgZXJyb3IgcmVwb3J0IG9uIHVuZGVmaW5lZCBSRUZzIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEFkZCBleGNlcHRpb24gZm9yIG5ldyBXM0MgUEkgeG1sLW1vZGVsIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEFkZCBvcHRpb25zIHRvIGlnbm9yZSB0aGUgaW50ZXJuYWwgZW5jb2RpbmcgKERhbmllbCBWZWlsbGFyZCksCisgICAgdGVzdGFwaTogdXNlIHRoZSByaWdodCB0eXBlIGZvciB0aGUgY2hlY2sgKFN0ZWZhbiBLb3N0KSwKKyAgICB2YXJpb3VzOiBoYW5kbGUgcmV0dXJuIHZhbHVlcyBvZiB3cml0ZSBjYWxscyAoU3RlZmFuIEtvc3QpLAorICAgIHRlc3RXcml0ZXI6IHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdEVsZW1lbnQgd2FudHMgYW4gaW50IGluc3RlYWQgb2YgYSBsb25nIGludCAoU3RlZmFuIEtvc3QpLAorICAgIHJ1bnhtbGNvbmY6IHVwZGF0ZSB0byBsYXRlc3QgdGVzdHN1aXRlIHZlcnNpb24gKFN0ZWZhbiBLb3N0KSwKKyAgICBjb25maWd1cmU6IGFkZCAtV25vLWxvbmctbG9uZyB0byBDRkxBR1MgKFN0ZWZhbiBLb3N0KSwKKyAgICBjb25maWd1cmU6IHN1cHBvcnQgc2lsZW50IGF1dG9tYWtlIHJ1bGVzIGlmIHBvc3NpYmxlIChTdGVmYW4gS29zdCksCisgICAgeG1sbWVtb3J5OiBhZGQgYSBjYXN0IGFzIHNpemVfdCBoYXMgbm8gcG9ydGFibGUgcHJpbnRmIG1vZGlmaWVyIChTdGVmYW4gS29zdCksCisgICAgX194bWxSYWlzZUVycm9yOiByZW1vdmUgcmVkdW5kYW50IHNjaGFubmVsIGluaXRpYWxpemF0aW9uIChEbWl0cnkgVi4gTGV2aW4pLAorICAgIF9feG1sUmFpc2VFcnJvcjogZG8gY2hlYXAgY29kZSBjaGVjayBlYXJseSAoRG1pdHJ5IFYuIExldmluKQorICA8L2xpPgorCisgIDxsaT5DbGVhbnVwczoKKyAgICBDbGVhbnVwcyBiZWZvcmUgMi44LjAtcmMyIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEF2b2lkIGFuIGV4dHJhIG9wZXJhdGlvbiAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBSZW1vdmUgdmVzdGlnaWFsIGRlLUFOU0ktZmljYXRpb24gc3VwcG9ydC4gKEphdmllciBKYXJkw7NuKSwKKyAgICBhdXRvZ2VuLnNoOiBGaXggdHlwbyAoSmF2aWVyIEphcmTDs24pLAorICAgIERvIG5vdCB1c2UgdW5zaWduZWQgYnV0IHVuc2lnbmVkIGludCAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBSZW1vdmUgdHdvIHJlZmVyZW5jZXMgdG8gdV9zaG9ydCAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggLVdlbXB0eS1ib2R5IHdhcm5pbmcgZnJvbSBjbGFuZyAoTmljbyBXZWJlciksCisgICAgQ2xlYW51cHMgb2YgbHptYSBzdXBwb3J0IChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEF1Z21lbnQgdGhlIGxpc3Qgb2YgaWdub3JlZCBmaWxlcyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBweXRob246IHJlbW92ZSB1bnVzZWQgdmFyaWFibGUgKFN0ZWZhbiBLb3N0KSwKKyAgICBweXRob246IGZsYWcgdHdvIHVudXNlZCBhcmdzIChTdGVmYW4gS29zdCksCisgICAgY29uZmlndXJlOiBhY2NvbmZpZy5oIGlzIGRlcHJlY2F0ZWQgc2luY2UgYXV0b2NvbmYtMi41MCAoU3RlZmFuIEtvc3QpLAorICAgIHhwYXRoOiByZW1vdmUgdW51c2VkIHZhcmlhYmxlIChTdGVmYW4gS29zdCkKKyAgPC9saT4KKzwvdWw+Cis8aDM+Mi43Ljg6IE5vdiA0IDIwMTA8L2gzPgorPHVsPgorICA8bGk+IEZlYXR1cmVzOgorICAgIDQ4MDMyMyBhZGQgY29kZSB0byBwbHVnIGluIElDVSBjb252ZXJ0ZXJzIGJ5IGRlZmF1bHQgKEdpdXNlcHBlIEl1Y3VsYW5vKSwKKyAgICBBZGQgeG1sU2F2ZU9wdGlvbiBYTUxfU0FWRV9XU05PTlNJRyAoQWRhbSBTcHJhZ2cpCisgIDwvbGk+CisgIDxsaT4gRG9jdW1lbnRhdGlvbjoKKyAgICBGaXggZGV2aGVscCBkb2N1bWVudGF0aW9uIGluc3RhbGxhdGlvbiAoTWlrZSBIb21tZXkpLAorICAgIEZpeCB3ZWIgc2l0ZSBlbmNvZGluZyBwcm9ibGVtcyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggYSBjb3VwbGUgb2YgdHlwbyBpbiBIVE1MIHBhcnNlciBlcnJvciBtZXNzYWdlcyAoTWljaGFlbCBEYXkpLAorICAgIEZvcmdvdCB0byB1cGRhdGUgdGhlIG5ld3MgcGFnZSBmb3IgMC43LjcgKERhbmllbCBWZWlsbGFyZCkKKyAgPC9saT4KKyAgPGxpPiBQb3J0YWJpbGl0eToKKyAgICA2MDcyNzMgRml4IHB5dGhvbiBkZXRlY3Rpb24gb24gTVN5cy9XaW5kb3dzIChMUk4pLAorICAgIDYxNDA4NyBGaXggU29ja2V0IEFQSSB1c2FnZSB0byBhbGxvdyBXaW5kb3dzNjQgY29tcGlsYXRpb24gKE96a2FuIFNlemVyKSwKKyAgICBGaXggY29tcGlsYXRpb24gd2l0aCBDbGFuZyAoS29vcCBNYXN0KSwKKyAgICBGaXggV2luMzIgYnVpbGQgKFJvYiBSaWNoYXJkcykKKyAgPC9saT4KKyAgPGxpPiBCdWcgRml4ZXM6CisgICAgNTk1Nzg5IGZpeCBhIHJlbWFpbmluZyBwb3RlbnRpYWwgU29sYXJpcyBwcm9ibGVtIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIDYxNzQ2OCBmaXggcHJvZ3Jlc3NpdmUgSFRNTCBwYXJzaW5nIHdpdGggc3R5bGUgdXNpbmcgIiciIChEZW5pcyBQYXVrKSwKKyAgICA2MTY0NzggRml4IHhtbGxpbnQgc2hlbGwgd3JpdGUgY29tbWFuZCAoR3dlbm4gS2FoeiksCisgICAgNjE0MDA1IFBvc3NpYmxlIGVycm9uZW91cyBIVE1MIHBhcnNpbmcgb24gdW50ZXJtaW5hdGVkIHNjcmlwdCAoUGllcnJlIEJlbHppbGUpLAorICAgIDYyNzk4NyBGaXggWFNEIElEQyBlcnJvcnMgaW4gaW1wb3J0ZWQgc2NoZW1hcyAoSmltIFBhbmV0dGEpLAorICAgIDYyOTMyNSBYUGF0aCByb3VuZGluZyBlcnJvcnMgZmlyc3QgY2xlYW51cCAoUGhpbCBTaGFmZXIpLAorICAgIDYzMDE0MCBmaXggaXNvOTk1eCBlbmNvZGluZyBlcnJvciAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBtYWtlIHN1cmUgaHRtbEN0eHRSZXNldCBkbyByZXNldCB0aGUgZGlzYWJsZVNBWCBmaWVsZCAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggYSBjaGFuZ2Ugb2Ygc2VtYW50aWMgb24gWFBhdGggcHJlY2VkaW5nIGFuZCBmb2xsb3dpbmcgYXhpcyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggYSBwb3RlbnRpYWwgc2VnZmF1bHQgZHVlIHRvIHdlYWsgc3ltYm9scyBvbiBwdGhyZWFkcyAoTWlrZSBIb21tZXkpLAorICAgIEZpeCBhIGxlYWsgaW4gWFBhdGggY29tcGlsYXRpb24gKERhbmllbCBWZWlsbGFyZCksCisgICAgRml4IHRoZSBzZW1hbnRpYyBvZiBYUGF0aCBheGlzIGZvciBuYW1lc3BhY2UvYXR0cmlidXRlIGNvbnRleHQgbm9kZXMgKERhbmllbCBWZWlsbGFyZCksCisgICAgQXZvaWQgYSBkZXNjcmlwdG9yIGxlYWsgaW4gY2F0YWxvZyBsb2FkaW5nIGNvZGUgKENhcmxvIEJyYW1pbmkpLAorICAgIEZpeCBhIHNtYWxsIGJ1ZyBpbiBYUGF0aCBldmFsdWF0aW9uIGNvZGUgKE1hcml1cyBXYWNodGxlciksCisgICAgRml4IGhhbmRsaW5nIG9mIFhNTC0xLjAgWE1MIG5hbWVzcGFjZSBkZWNsYXJhdGlvbiAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggZXJyb3JzIGluIFhTRCBkb3VibGUgdmFsaWRhdGlvbiBjaGVjayAoQ3NhYmEgUmFkdWx5KSwKKyAgICBGaXggaGFuZGxpbmcgb2YgYXBvcyBpbiBVUklzIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIHhtbFRleHRSZWFkZXJSZWFkT3V0ZXJYbWwgc2hvdWxkIGhhbmRsZSBEVEQgKFJvYiBSaWNoYXJkcyksCisgICAgQXV0b2dlbi5zaCBuZWVkcyB0byBjcmVhdGUgbTQgZGlyZWN0b3J5IChSb2IgUmljaGFyZHMpCisgIDwvbGk+CisgIDxsaT4gSW1wcm92ZW1lbnRzOgorICAgIDYwNjU5MiB1cGRhdGUgbGFuZ3VhZ2UgSUQgcGFyc2VyIHRvIFJGQyA1NjQ2IChEYW5pZWwgVmVpbGxhcmQpLAorICAgIFNvcnQgcHl0aG9uIGdlbmVyYXRlZCBzdHVicyAoTWlrZSBIb21tZXkpLAorICAgIEFkZCBhbiBIVE1MIHBhcnNlciBvcHRpb24gdG8gYXZvaWQgYSBkZWZhdWx0IGRvY3R5cGUgKERhbmllbCBWZWlsbGFyZCkKKyAgPC9saT4KKyAgPGxpPiBDbGVhbnVwczoKKyAgICA2MTg4MzEgZG9uJ3Qgc2hpcCBnZW5lcmF0ZWQgZmlsZXMgaW4gZ2l0IChBZHJpYW4gQnVuayksCisgICAgU3dpdGNoIGZyb20gdGhlIG9ic29sZXRlIG1raW5zdGFsbGRpcnMgdG8gQUNfUFJPR19NS0RJUl9QIChBZHJpYW4gQnVuayksCisgICAgVmFyaW91cyBjbGVhbnVwcyBvbiBlbmNvZGluZyBoYW5kbGluZyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggeG1sbGludCB0byB1c2UgZm9ybWF0PTEgZm9yIGRlZmF1bHQgZm9ybWF0dGluZyAoQWRhbSBTcHJhZ2cpLAorICAgIEZvcmNlIF94bWxTYXZlQ3R4dC5mb3JtYXQgdG8gYmUgMCBvciAxIChBZGFtIFNwcmFnZyksCisgICAgQ2xlYW51cCBlbmNvZGluZyBwb2ludGVyIGNvbXBhcmlzb24gKE5pa29sYXkgU2l2b3YpLAorICAgIFNtYWxsIGNvZGUgY2xlYW51cCBvbiBwcmV2aW91cyBwYXRjaCAoRGFuaWVsIFZlaWxsYXJkKQorICA8L2xpPgorPC91bD4KKzxoMz4yLjcuNzogTWFyIDE1IDIwMTA8L2gzPgorPHVsPgorICA8bGk+IEltcHJvdmVtZW50czoKKyAgICBBZGRpbmcgYSAtLXhwYXRoIG9wdGlvbiB0byB4bWxsaW50IChEYW5pZWwgVmVpbGxhcmQpLAorICAgIE1ha2UgSFRNTCBwYXJzZXIgbm9uLXJlY3Vyc2l2ZSAoRXVnZW5lIFBpbWVub3YpCisgIDwvbGk+CisgIDxsaT4gUG9ydGFiaWxpdHk6CisgICAgcmVsYXhuZy5jOiBjYXN0IHRvIGFsbG93IGNvbXBpbGF0aW9uIHdpdGggc3VuIHN0dWRpbyAxMSAoQmVuIFdhbHRvbiksCisgICAgRml4IGJ1aWxkIGZhaWx1cmUgb24gU3BhcmMgc29sYXJpcyAoUm91bWVuIFBldHJvdiksCisgICAgdXNlIGF1dG9yZWNvbmYgaW4gYXV0b2dlbi5zaCAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggYnVpbGQgd2l0aCBtaW5ndyAoUm91bWVuIFBldHJvdiksCisgICAgVXBncmFkZSBzb21lIG9mIHRoZSBjb25maWd1cmUgYW5kIGF1dG9nZW4gKERhbmllbCBWZWlsbGFyZCksCisgICAgRml4IHJlbGF4TkcgdGVzdHMgaW4gcnVudGVzdCBmb3IgV2luZG93cyBydW50ZXN0LmM6IGluaXRpYWxpemUgcmV0IChSb2IgUmljaGFyZHMpLAorICAgIEZpeCBhIGNvbnN0IHdhcm5pbmcgaW4geG1sTm9kZVNldEJhc2UgKE1hcnRpbiBUcmFwcGVsKSwKKyAgICBGaXggcHl0aG9uIGdlbmVyYXRvciB0byBub3QgdXNlIGRlcHJlY2F0ZWQgeG1sbGliIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIFVwZGF0ZSBzb21lIGF1dG9tYWtlIGZpbGVzIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIDU5ODc4NSBGaXggbmFub2h0dHAgb24gV2luZG93cyAoc3BhZGl4KQorICA8L2xpPgorICA8bGk+IEJ1ZyBGaXhlczoKKyAgICBsaWJ4bWwgdmlvbGF0ZXMgdGhlIHpsaWIgaW50ZXJmYWNlIGFuZCBjcmFzaGVzIChNYXJrIEFkbGVyKSwKKyAgICBGaXggYnJva2VuIGVzY2FwZSBiZWhhdmlvdXIgaW4gcmVnZXhwIHJhbmdlcyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggIG1pc3Npbmcgd2luMzIgbGlicmFyaWVzIGluIGxpYnhtbC0yLjAucGMgKFZvbGtlciBHcmFic2NoKSwKKyAgICBGaXggZGV0ZWN0aW9uIG9mIHB5dGhvbiBsaW5rZXIgZmxhZ3MgKERhbmllbCBNYWNrcyksCisgICAgZml4IGJ1aWxkIGVycm9yIGluIGxpYnhtbDIvcHl0aG9uIChQYXVsIFNtaXRoKSwKKyAgICBDaHVua1BhcnNlcjogSW5jb3JyZWN0IGRlY29kaW5nIG9mIHNtYWxsIHhtbCBmaWxlcyAoUmF1bCBIdWRlYSksCisgICAgaHRtbENoZWNrRW5jb2RpbmcgZG9lc24ndCB1cGRhdGUgaW5wdXQtZW5kIGFmdGVyIHNocmluayAoRXVnZW5lIFBpbWVub3YpLAorICAgIEZpeCBhIG1pc3NpbmcgI2lmZGVmIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEZpeCBlbmNvZGluZyBzZWxlY3Rpb24gZm9yIHhtbFBhcnNlSW5Ob2RlQ29udGV4dCAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICB4bWxQcmV2aW91c0VsZW1lbnRTaWJsaW5nIG1pc3Rha2UgKEZyYW7Dg8Knb2lzIERlbHlvbiksCisgICAgNjA4NzczIGFkZCBhIG1pc3NpbmcgY2hlY2sgaW4geG1sR1JPVyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggeG1sUGFyc2VJbk5vZGVDb250ZXh0IGZvciBIVE1MIGNvbnRlbnQgKERhbmllbCBWZWlsbGFyZCksCisgICAgRml4IGxvc3QgbmFtZXNwYWNlIHdoZW4gY29weWluZyBub2RlICogdHJlZS5jOiByZWNvbmNpbGUgbmFtZXNwYWNlIGlmIG5vdCBmb3VuZCAoUm9iIFJpY2hhcmRzKSwKKyAgICBGaXggc29tZSBtaXNzaW5nIGNvbW1hcyBpbiBIVE1MIGVsZW1lbnQgbGlzdHMgKEV1Z2VuZSBQaW1lbm92KSwKKyAgICBDb3JyZWN0IHZhcmlhYmxlIHR5cGUgdG8gdW5zaWduZWQgKE5pa29sYXkgU2l2b3YpLAorICAgIFJlY29nbml6ZSBJRCBhdHRyaWJ1dGUgaW4gSFRNTCB3aXRob3V0IERPQ1RZUEUgKERhbmllbCBWZWlsbGFyZCksCisgICAgRml4IG1lbW9yeSBsZWFrIGluIHhtbFhQYXRoRXZhbEV4cHJlc3Npb24oKSAoTWFydGluKSwKKyAgICBGaXggYW4gaW5pdCBidWcgaW4gZ2xvYmFsLmMgKEthaSBIZW5uaW5nKSwKKyAgICBGaXggeG1sTm9kZVNldEJhc2UoKSBjb21tZW50IChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEZpeCBicm9rZW4gZXNjYXBlIGJlaGF2aW91ciBpbiByZWdleHAgcmFuZ2VzIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIERvbid0IGdpdmUgZGVmYXVsdCBIVE1MIGJvb2xlYW4gYXR0cmlidXRlIHZhbHVlcyBpbiBwYXJzZXIgKERhbmllbCBWZWlsbGFyZCksCisgICAgeG1sQ3R4dFJlc2V0TGFzdEVycm9yIHNob3VsZCByZXNldCBjdHh0LWVyck5vIChEYW5pZWwgVmVpbGxhcmQpCisgIDwvbGk+CisgIDxsaT4gQ2xlYW51cHM6CisgICAgQ2xlYW51cCBhIGNvdXBsZSBvZiB3ZWlyZG5lc3MgaW4gSFRNTCBwYXJzZXIgKEV1Z2VuZSBQaW1lbm92KQorICA8L2xpPgorPC91bD4KKzxoMz4yLjcuNjogT2N0ICA2IDIwMDk8L2gzPgorPHVsPgorICA8bGk+IEJ1ZyBGaXhlczoKKyAgICAgUmVzdG9yZSB0aHJlYWQgc3VwcG9ydCBpbiBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gKEFuZHJldyBXLiBOb3NlbmtvKSwKKyAgICAgVVJJIHdpdGggbm8gcGF0aCBwYXJzaW5nIHByb2JsZW0gKERhbmllbCBWZWlsbGFyZCksCisgICAgIE1pbm9yIHBhdGNoIGZvciBjb25kaXRpb25hbCBkZWZpbmVzIGluIHRocmVhZHMuYyAoRXJpYyBadXJjaGVyKQorICA8L2xpPgorPC91bD4KKzxoMz4yLjcuNTogU2VwIDI0IDIwMDk8L2gzPgorPHVsPgorICA8bGk+IEJ1ZyBGaXhlczoKKyAgICBSZXN0b3JlIGJlaGF2aW9yIG9mIC0td2l0aC10aHJlYWRzIHdpdGhvdXQgYXJndW1lbnQgKEFuZHJldyBXLiBOb3NlbmtvKSwKKyAgICBGaXggbWVtb3J5IGxlYWsgd2hlbiBkb2MgaXMgTlVMTCAoUm9iIFJpY2hhcmRzKSwKKyAgICA1OTU3OTIgZml4aW5nIGEgUmVsYXhORyBidWcgaW50cm9kdWNlZCBpbiAyLjcuNCAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggYSBSZWxheG5nIGJ1ZyByYWlzZWQgYnkgbGlidmlydCB0ZXN0IHN1aXRlIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEZpeCBhIHBhcnNpbmcgcHJvYmxlbSB3aXRoIGxpdHRsZSBkYXRhIGF0IHN0YXJ0dXAgKERhbmllbCBWZWlsbGFyZCksCisgICAgbGluayBweXRob24gbW9kdWxlIHdpdGggcHl0aG9uIGxpYnJhcnkgKEZyZWRlcmljIENyb3phdCksCisgICAgNTk0ODc0IEZvcmdvdCBhbiBmY2xvc2UgaW4geG1sbGludCAoRGFuaWVsIFZlaWxsYXJkKQorICA8L2xpPgorICA8bGk+IENsZWFudXA6CisgICAgQWRkaW5nIHN5bWJvbHMueG1sIHRvIEVYVFJBX0RJU1QgKERhbmllbCBWZWlsbGFyZCkKKyAgPC9saT4KKzwvdWw+Cis8aDM+Mi43LjQ6IFNlcCAxMCAyMDA5PC9oMz4KKzx1bD4KKyAgPGxpPkltcHJvdmVtZW50czoKKyAgICBTd2l0Y2ggdG8gR0lUIChHTk9NRSksCisgICAgQWRkIHN5bWJvbCB2ZXJzaW9uaW5nIHRvIGxpYnhtbDIgc2hhcmVkIGxpYnMgKERhbmllbCBWZWlsbGFyZCkKKyAgPC9saT4KKyAgPGxpPlBvcnRhYmlsaXR5OgorICAgIDU5Mzg1NyB0cnkgdG8gd29yayBhcm91bmQgdGhyZWFkIHBibSBNaW5HVyA0LjQgKERhbmllbCBWZWlsbGFyZCksCisgICAgNTk0MjUwIHJlbmFtZSBBVFRSSUJVVEVfQUxMT0NfU0laRSB0byBhdm9pZCBjbGFzaGVzIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEZpeCBXaW5kb3dzIGJ1aWxkICogcmVsYXhuZy5jOiBmaXggd2luZG93cyBidWlsZCAoUm9iIFJpY2hhcmRzKSwKKyAgICBGaXggdGhlIGdsb2JhbHMuaCB0byB1c2UgWE1MUFVCRlVOIChQYXVsIFNtaXRoKSwKKyAgICBQcm9ibGVtIHdpdGggZXh0ZXJuIGV4dGVybiBpbiBoZWFkZXIgKERhbmllbCBWZWlsbGFyZCksCisgICAgQWRkIC1sbmV0d29yayBmb3IgY29tcGlsaW5nIG9uIEhhaWt1IChTY290dCBNY0NyZWFyeSksCisgICAgUnVudGVzdCBwb3J0YWJpbGl0eSBwYXRjaCBmb3IgU29sYXJpcyAoVGltIFJpY2UpLAorICAgIFNtYWxsIHBhdGNoIHRvIGFjY29tb2RhdGUgdGhlIEhhaWt1IE9TIChTY290dCBNY0NyZWFyeSksCisgICAgNTg0NjA1IHBhY2thZ2UgVnhXb3JrcyBmb2xkZXIgaW4gdGhlIGRpc3RyaWJ1dGlvbiAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICA1NzQwMTcgUmVhbGxvYyB0b28gZXhwZW5zaXZlIG9uIG1vc3QgcGxhdGZvcm0gKERhbmllbCBWZWlsbGFyZCksCisgICAgRml4IHdpbmRvd3MgYnVpbGQgKFJvYiBSaWNoYXJkcyksCisgICAgNTQ1NTc5IGRvZXNuJ3QgY29tcGlsZSB3aXRob3V0IHNjaGVtYSBzdXBwb3J0IChEYW5pZWwgVmVpbGxhcmQpLAorICAgIHhtbGxpbnQgdXNlIHhtbEdldE5vZGVQYXRoIHdoZW4gbm90IGNvbXBpbGVkIGluIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIFRyeSB0byBhdm9pZCBfX2ltcF9feG1sRnJlZSBsaW5rIHRyb3VibGUgb24gbXN5cyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBBbGxvdyB0byBzZWxlY3QgdGhlIHRocmVhZGluZyBzeXN0ZW0gb24gV2luZG93cyAoTFJOKSwKKyAgICBGaXggU29sYXJpcyBiaW5hcnkgbGlua3MsIGNsZWFudXBzIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEJ1ZyA1NzEwNTkgw6LCgMKTIE1TVkMgZG9lc24ndCB3b3JrIHdpdGggdGhlIGJha2VmaWxlIChJbnRyb24pLAorICAgIGZpeCBBVFRSSUJVVEVfUFJJTlRGIGhlYWRlciBjbGFzaCAoQmVsZ2Fib3IgYW5kIE1pa2UgSG9tbWV5KSwKKyAgICBmaXhlcyBmb3IgQm9ybGFuZC9Db2RlR2Vhci9FbWJhcmNhZGVybyBjb21waWxlcnMgKEVyaWMgWnVyY2hlcikKKyAgPC9saT4KKyAgPGxpPkRvY3VtZW50YXRpb246CisgICAgNTQ0OTEwIHR5cG86ICJyZW5jaWxpYXRlTnMiIChMZW9uaWQgRXZkb2tpbW92KSwKKyAgICBBZGQgVnhXb3JrcyB0byBsaXN0IG9mIE9TZXMgKERhbmllbCBWZWlsbGFyZCksCisgICAgUmVnZW5lcmF0ZSB0aGUgZG9jdW1lbnRhdGlvbiBhbmQgdXBkYXRlIGZvciBnaXQgKERhbmllbCBWZWlsbGFyZCksCisgICAgNTYwNTI0IMOCwr8geG1sVGV4dFJlYWRlckxvY2FsTmFtZSBkZXNjcmlwdGlvbiAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBBZGRlZCBzcG9uc29yaW5nIGJ5IEFPRSBtZWRpYSBmb3IgdGhlIHNlcnZlciAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICB1cGRhdGVkIFVSTHMgZm9yIEdOT01FIChWaW5jZW50IExlZmV2cmUpLAorICAgIG1vcmUgd2FybmluZ3MgYWJvdXQgeG1sQ2xlYW51cFRocmVhZHMgYW5kIHhtbENsZWFudXBQYXJzZXIgKERhbmllbCBWZWlsbGFyZCkKKyAgPC9saT4KKyAgPGxpPkJ1ZyBmaXhlczoKKyAgICA1OTQ1MTQgbWVtb3J5IGxlYWtzIC0gZHVwbGljYXRlIGluaXRpYWxpemF0aW9uIChNT0QpLAorICAgIFdyb25nIGJsb2NrIG9wZW5pbmcgaW4gaHRtbE5vZGVEdW1wT3V0cHV0SW50ZXJuYWwgKERhbmllbCBWZWlsbGFyZCksCisgICAgNDkyMzE3IEZpeCAgUmVsYXgtTkcgdmFsaWRhdGlvbiBwcm9ibGVtcyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICA1NTg0NTIgZmlnaHQgd2l0aCByZWcgdGVzdCBhbmQgZXJyb3IgcmVwb3J0IChEYW5pZWwgVmVpbGxhcmQpLAorICAgIDU1ODQ1MiBSTkcgY29tcGlsYXRpb24gb2Ygb3B0aW9uYWwgbXVsdGlwbGUgY2hpbGQgKERhbmllbCBWZWlsbGFyZCksCisgICAgNTc5NzQ2IFhTRCB2YWxpZGF0aW9uIG5vdCBjb3JyZWN0IC8gbmlsYWJsZSBncm91cHMgKERhbmllbCBWZWlsbGFyZCksCisgICAgNTAyOTYwIHByb3ZpZGUgbmFtZXNwYWNlIHN0YWNrIHdoZW4gcGFyc2luZyBlbnRpdHkgKERhbmllbCBWZWlsbGFyZCksCisgICAgNTY2MDEyIHBhcnQgMiBmaXggcmVncmVzaW9uIHRlc3RzIGFuZCBwdXNoIG1vZGUgKERhbmllbCBWZWlsbGFyZCksCisgICAgNTY2MDEyIGF1dG9kZXRlY3RlZCBlbmNvZGluZyBhbmQgZW5jb2RpbmcgY29uZmxpY3QgKERhbmllbCBWZWlsbGFyZCksCisgICAgNTg0MjIwIHhwb2ludGVyKC8pIGFuZCB4aW5jbHVkZSBwcm9ibGVtcyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICA1ODc2NjMgSW5jb3JyZWN0IEF0dHJpYnV0ZS1WYWx1ZSBOb3JtYWxpemF0aW9uIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIDQ0NDk5NCBIVE1MIGNodW5rZWQgZmFpbHVyZSBmb3IgYXR0cmlidXRlIHdpdGggJmx0OyZndDsgKERhbmllbCBWZWlsbGFyZCksCisgICAgRml4IGVuZCBvZiBidWZmZXIgY2hhciBiZWluZyBzcGxpdCBpbiBYTUwgcGFyc2VyIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIE5vbiBBU0NJSSBjaGFyYWN0ZXIgbWF5IGJlIHNwbGl0IGF0IGJ1ZmZlciBlbmQgKEFkaWVsIE1pdHRtYW5uKSwKKyAgICA0NDAyMjYgQWRkIHhtbFhJbmNsdWRlUHJvY2Vzc1RyZWVGbGFnc0RhdGEgQVBJIChTdGVmYW4gQmVobmVsKSwKKyAgICA1NzIxMjkgc3BlZWQgdXAgcGFyc2luZyBvZiBsYXJnZSBIVE1MIHRleHQgbm9kZXMgKE1hcmt1cyBLdWxsKSwKKyAgICBGaXggSFRNTCBwYXJzaW5nIHdpdGggMCBjaGFyYWN0ZXIgaW4gQ0RBVEEgKERhbmllbCBWZWlsbGFyZCksCisgICAgRml4IFNldEdlbmVyaWNFcnJvckZ1bmMgYW5kIFNldFN0cnVjdHVyZWQgY2xhc2ggKFdhbmcgTGFtKSwKKyAgICA1NjYwMTIgIEluY29tcGxldGUgRUJDRElDIHBhcnNpbmcgc3VwcG9ydCAoTWFydGluIEtvZ2xlciksCisgICAgNTQxMzM1IEhUTUwgYXZvaWQgY3JlYXRpbmcgMiBoZWFkIG9yIDIgYm9keSBlbGVtZW50IChEYW5pZWwgVmVpbGxhcmQpLAorICAgIDU0MTIzNyBlcnJvciBjb3JyZWN0aW5nIG1pc3NpbmcgZW5kIHRhZ3MgaW4gSFRNTCAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICA1ODM0MzkgbWlzc2luZyBsaW5lIG51bWJlcnMgaW4gcHVzaCBtb2RlIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIDU4Nzg2NyB4bWxsaW50IC0taHRtbCAtLXhtbG91dCBzZXJpYWxpemluZyBhcyBIVE1MIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIDU1OTUwMSBhdm9pZCBzZWxlY3QgYW5kIHVzZSBwb2xsIGZvciBuYW5vaHR0cCAoUmFwaGFlbCBQcmV2b3N0KSwKKyAgICA1NTk0MTAgLSAgUmVnZXhwIGJ1ZyBvbiAoLi4uKT8gY29uc3RydWN0cyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggYSBzbWFsbCBwcm9ibGVtIG9uIHByZXZpb3VzIEhUTUwgcGFyc2VyIHBhdGNoIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIDU5MjQzMCAtICBIVE1MIHBhcnNlciBydW5zIGludG8gZW5kbGVzcyBsb29wIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIDQ0Nzg5OSBwb3RlbnRpYWwgZG91YmxlIGZyZWUgaW4geG1sRnJlZVRleHRSZWFkZXIgKERhbmllbCBWZWlsbGFyZCksCisgICAgNDQ2NjEzIHNtYWxsIHZhbGlkYXRpb24gYnVnIG1peGVkIGNvbnRlbnQgd2l0aCBOUyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggdGhlIHByb2JsZW0gb2YgcmV2YWxpZGF0aW5nIGEgZG9jIHdpdGggUk5HIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEZpeCB4bWxLZWVwQmxhbmtzRGVmYXVsdCB0byBub3QgYnJlYWsgaW5kZW50IChOaWNrIFdlbGxuaG9mZXIpLAorICAgIDUxMjEzMSByZWZzIGZyb20gZXh0ZXJuYWxSZWYgcGFydCBuZWVkIHRvIGJlIGFkZGVkIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIDUxMjEzMSBjcmFzaCBpbiB4bWxSZWxheE5HVmFsaWRhdGVGdWxsRWxlbWVudCAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICA1ODg0NDEgYWxsb3cgJy4nIGluIEhUTUwgTmFtZXMgZXZlbiBpZiBpbnZhbGlkIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIDU4MjkxMyBGaXggaHRtbFNldE1ldGFFbmNvZGluZygpIHRvIGJlIG5pY2VyIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIDU3OTMxNyBUcnkgdG8gZmluZCB0aGUgSFRNTCBlbmNvZGluZyBpbmZvcm1hdGlvbiAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICA1NzU4NzUgZG9uJ3Qgb3V0cHV0IGNoYXJzZXQ9aHRtbCAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICA1NzEyNzEgZml4IHNlbWFudGljIG9mIHhzZDphbGwgd2l0aCBtaW5PY2N1cnM9MCAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICA1NzA3MDIgZml4IGEgYnVnIGluIHJlZ2V4cCBkZXRlcm1pbmlzbSBjaGVja2luZyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICA1Njc2MTkgeG1sVmFsaWRhdGVOb3RhdGlvblVzZSBtaXNzaW5nIHBhcmFtIHRlc3QgKERhbmllbCBWZWlsbGFyZCksCisgICAgNTc0MzkzIMOCwr8gdXRmLTggZmlsZW5hbWUgbWFnaWMgZm9yIGNvbXByZXNzZWQgZmlsZXMgKEhhbnMgQnJldWVyKSwKKyAgICBGaXggYSBjb3VwbGUgb2YgcHJvYmxlbXMgaW4gdGhlIHBhcnNlciAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICA1ODU1MDUgw4LCvyBEb2N1bWVudCBpZHMgYW5kIHJlZnMgcG9wdWxhdGVkIGJ5IFhTRCAoV2F5bmUgSmVuc2VuKSwKKyAgICA1ODI5MDYgWFNEIHZhbGlkYXRpbmcgbXVsdGlwbGUgaW1wb3J0cyBvZiB0aGUgc2FtZSBzY2hlbWEgKEphc29uIENoaWxkcyksCisgICAgQnVnIDU4Mjg4NyDDgsK/IHByb2JsZW1zIHZhbGlkYXRpbmcgY29tcGxleCBzY2hlbWFzIChKYXNvbiBDaGlsZHMpLAorICAgIEJ1ZyA1Nzk3Mjkgw4LCvyBmaXggWFNEIHNjaGVtYXMgcGFyc2luZyBjcmFzaCAoTWlyb3NsYXYgQmFqdG9zKSwKKyAgICA1NzYzNjggw4LCvyBodG1sQ2h1bmtQYXJzZXIgd2l0aCBzcGVjaWFsIGF0dHJpYnV0ZXMgKEppcmkgTmV0b2xpY2t5KSwKKyAgICBCdWcgNTY1NzQ3IMOCwr8gcmVsYXggYW55VVJJIGRhdGEgY2hhcmFjdGVyIGNoZWNraW5nIChWaW5jZW50IExlZmV2cmUpLAorICAgIFByZXNlcnZlIGF0dHJpYnV0ZXMgb2YgaW5jbHVkZSBzdGFydCBvbiB0cmVlIGNvcHkgKFBldHIgUGFqYXMpLAorICAgIFNraXAgc2lsZW50bHkgdW5yZWNvZ25pemVkIFhQb2ludGVyIHNjaGVtZXMgKEpha3ViIFdpbGspLAorICAgIEZpeCBsZWFrIG9uIFNBWDEsIHhtbGxpbnQgLS1zYXgxIG9wdGlvbiBhbmQgZGVidWcgKERhbmllbCBWZWlsbGFyZCksCisgICAgcG90ZW50aWFsIE5VTEwgZGVyZWZlcmVuY2Ugb24gbm9uLWdsaWJjIChKaW0gTWV5ZXJpbmcpLAorICAgIEZpeCBhbiBYU0QgdmFsaWRhdGlvbiBjcmFzaCAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBGaXggYSByZWdyZXNzaW9uIGluIHN0cmVhbWluZyBlbnRpdGllcyBzdXBwb3J0IChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEZpeCBhIGNvdXBsZSBvZiBBQkkgaXNzdWVzIHdpdGggQzE0TiAxLjEgKEFsZWtzZXkgU2FuaW4pLAorICAgIEFsZWtzZXkgU2FuaW4gc3VwcG9ydCBmb3IgYzE0biAxLjEgKEFsZWtzZXkgU2FuaW4pLAorICAgIHJlYWRlciBidWcgZml4IHdpdGggZW50aXRpZXMgKERhbmllbCBWZWlsbGFyZCksCisgICAgdXNlIG9wdGlvbnMgZnJvbSBjdXJyZW50IHBhcnNlciBjdHh0IGZvciBleHRlcm5hbCBlbnRpdGllcyAoUm9iIFJpY2hhcmRzKSwKKyAgICA1ODE2MTIgdXNlICVzIHRvIHByaW50ZiBzdHJpbmdzIChDaHJpc3RpYW4gUGVyc2NoKSwKKyAgICA1ODQ2MDUgY2hhbmdlIHRoZSB0aHJlYWRpbmcgaW5pdGlhbGl6YXRpb24gc2VxdWVuY2UgKElnb3IgTm92b3NlbHRzZXYpLAorICAgIDU4MDcwNSBrZWVwIGxpbmUgbnVtYmVycyBpbiBIVE1MIHBhcnNlciAoQWFyb24gUGF0dGVyc29uKSwKKyAgICA1ODE4MDMgYnJva2VuIEhUTUwgdGFibGUgYXR0cmlidXRlcyBpbml0IChSb2xhbmQgU3RlaW5lciksCisgICAgZG8gbm90IHNldCBlcnJvciBjb2RlIGluIHhtbE5zV2FybiAoUm9iIFJpY2hhcmRzKSwKKyAgICA1NjQyMTcgZml4IHN0cnVjdHVyZWQgZXJyb3IgaGFuZGxpbmcgcHJvYmxlbXMsCisgICAgcmV1c2Ugb3B0aW9ucyBmcm9tIGN1cnJlbnQgcGFyc2VyIGZvciBlbnRpdGllcyAoUm9iIFJpY2hhcmRzKSwKKyAgICB4bWxYUGF0aFJlZ2lzdGVyTnMgc2hvdWxkIG5vdCBhbGxvdyBlbnB0eSBwcmVmaXhlcyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBhZGQgYSBtaXNzaW5nIGNoZWNrIGluIHhtbEFkZFNpYmxpbmcgKEtyaXMgQnJldWtlciksCisgICAgYXZvaWQgbGVha3Mgb24gZXJyb3JzIChKaW5tZWkgVGF0dXlhKQorICA8L2xpPgorICA8bGk+Q2xlYW51cDoKKyAgICBDaGFzaW5nIGRlYWQgYXNzaWdubWVudHMgcmVwb3J0ZWQgYnkgY2xhbmctc2NhbiAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBBIGZldyBtb3JlIHNhZmV0eSBjbGVhbnVwIHJhaXNlZCBieSBzY2FuIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEZpeGluZyBhc3NvcnRlZCBwb3RlbnRpYWwgcHJvYmxlbXMgcmFpc2VkIGJ5IHNjYW4gKERhbmllbCBWZWlsbGFyZCksCisgICAgUG90ZW50aWFsIHVuaW5pdGlhbGl6ZWQgYXJndW1lbnRzIHJhaXNlZCBieSBzY2FuIChEYW5pZWwgVmVpbGxhcmQpLAorICAgIEZpeCBhIGJ1bmNoIG9mIHNjYW4gJ2RlYWQgaW5jcmVtZW50cycgYW5kIGNsZWFudXAgKERhbmllbCBWZWlsbGFyZCksCisgICAgUmVtb3ZlIGEgcGVkYW50aWMgd2FybmluZyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICA1NTU4MzMgYWx3YXlzIHVzZSBybSAtZiBpbiB1bmluc3RhbGwtbG9jYWwgKERhbmllbCBWZWlsbGFyZCksCisgICAgNTQyMzk0IHhtbFJlZ2lzdGVyT3V0cHV0Q2FsbGJhY2tzIE1BWF9JTlBVVF9DQUxMQkFDSyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBBdXRvcmVnZW5lcmF0ZSBsaWJ4bWwyLnN5bXMgYXV0b21hdGVkIGNoZWNraW5ncyAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBNYWtlIHhtbFJlY292ZXJEb2MgY29uc3QgKE1hcnRpbiBUcmFwcGVsKSAoRGFuaWVsIFZlaWxsYXJkKSwKKyAgICBCb3RoIGFyZ3Mgb2YgeG1sU3RyY2FzZXN0ciBhcmUgY29uc3QgKERhbmllbCBWZWlsbGFyZCksCisgICAgaGlkZSB0aGUgbmJQYXJzZSogdmFyaWFibGVzIHVzZWQgZm9yIGRlYnVnZ2luZyAoTWlrZSBIb21tZXkpLAorICAgIDU3MDgwNiBjaGFuZ2VkIGluY2x1ZGUgb2YgY29uZmlnLmggKFdpbGxpYW0gTS4gQnJhY2spLAorICAgIGNsZWFudXBzIGFuZCBlcnJvciByZXBvcnRzIHdoZW4geG1sVGV4dFdyaXRlclZTcHJpbnRmIGZhaWxzIChKaW5tZWkgVGF0dXlhKQorICA8L2xpPgorPC91bD4KKzxoMz4yLjcuMzogSmFuIDE4IDIwMDk8L2gzPgorPHVsPgorICA8bGk+QnVpbGQgZml4OiBmaXggYnVpbGQgd2hlbiBIVE1MIHN1cHBvcnQgaXMgbm90IGluY2x1ZGVkLjwvbGk+CisgIDxsaT5CdWcgZml4ZXM6IGF2b2lkIG1lbW9yeSBvdmVyZmxvdyBpbiBnaWdhbnRpYyB0ZXh0IG5vZGVzLAorICAgICAgaW5kZW50YXRpb24gcHJvYmxlbSBvbiB0aGUgd3JpdGVkIChSb2IgUmljaGFyZHMpLAorICAgICAgeG1sQWRkQ2hpbGRMaXN0IHBvaW50ZXIgcHJvYmxlbSAoUm9iIFJpY2hhcmRzIGFuZCBLZXZpbiBNaWxidXJuKSwKKyAgICAgIHhtbEFkZENoaWxkIHByb2JsZW0gd2l0aCBhdHRyaWJ1dGUgKFJvYiBSaWNoYXJkcyBhbmQgS3JpcyBCcmV1a2VyKSwKKyAgICAgIGF2b2lkIGEgbWVtb3J5IGxlYWsgaW4gYW4gZWRnZSBjYXNlIChEYW5pZWwgWmltbWVybWFubiksCisgICAgICBkZWFsbG9jYXRlIHNvbWUgcHRocmVhZCBkYXRhIChBbGV4IE90dCkuPC9saT4KKyAgPGxpPkltcHJvdmVtZW50czogY29uZmlndXJlIG9wdGlvbiB0byBhdm9pZCByZWJ1aWxkaW5nIGRvY3MgKEFkcmlhbiBCdW5rKSwKKyAgICAgIGxpbWl0IHRleHQgbm9kZXMgdG8gMTBNQiBtYXggYnkgZGVmYXVsdCwgYWRkIGVsZW1lbnQgdHJhdmVyc2FsCisgICAgICBBUElzLCBhZGQgYSBwYXJzZXIgb3B0aW9uIHRvIGVuYWJsZSBwcmUgMi43IFNBWCBiZWhhdmlvciAoUm9iIFJpY2hhcmRzKSwKKyAgICAgIGFkZCBnY2MgbWFsbG9jIGNoZWNraW5nIChNYXJjdXMgTWVpc3NuZXIpLCBhZGQgZ2NjIHByaW50ZiBsaWtlIGZ1bmN0aW9ucworICAgICAgcGFyYW1ldGVycyBjaGVja2luZyAoTWFyY3VzIE1laXNzbmVyKS48L2xpPgorPC91bD4KKzxoMz4yLjcuMjogT2N0IDMgMjAwODwvaDM+Cis8dWw+CisgICAgPGxpPlBvcnRhYmlsaXR5IGZpeDogZml4IHNvbGFyaXMgY29tcGlsYXRpb24gcHJvYmxlbSwgZml4IGNvbXBpbGF0aW9uCisgICAgICAgIGlmIFhQYXRoIGlzIG5vdCBjb25maWd1cmVkIGluPC9saT4KKyAgICA8bGk+QnVnIGZpeGVzOiBuYXN0eSBlbnRpdHkgYnVnIGludHJvZHVjZWQgaW4gMi43LjAsIHJlc3RvcmUgb2xkIGJlaGF2aW91cgorICAgICAgICB3aGVuIHNhdmluZyBhbiBIVE1MIGRvYyB3aXRoIGFuIHhtbCBkdW1wIGZ1bmN0aW9uLCBIVE1MIFVURi04IHBhcnNpbmcKKyAgICAgICAgYnVnLCBmaXggcmVhZGVyIGN1c3RvbSBlcnJvciBoYW5kbGVycyAoUmljY2FyZG8gU2N1c3NhdCkKKyAgICA8bGk+SW1wcm92ZW1lbnQ6IHhtbFNhdmUgb3B0aW9ucyBmb3IgbW9yZSBmbGV4aWJpbGl0eSB0byBzYXZlIGFzCisgICAgICAgIFhNTC9IVE1ML1hIVE1MLCBoYW5kbGUgbGVhZGluZyBCT00gaW4gSFRNTCBkb2N1bWVudHM8L2xpPgorPC91bD4KKworPGgzPjIuNy4xOiBTZXAgMSAyMDA4PC9oMz4KKzx1bD4KKyAgICA8bGk+UG9ydGFiaWxpdHkgZml4OiBCb3JsYW5kIEMgZml4IChNb3JpdHogQm90aCk8L2xpPgorICAgIDxsaT5CdWcgZml4ZXM6IHB5dGhvbiBzZXJpYWxpemF0aW9uIHdyYXBwZXJzLCBYUGF0aCBRTmFtZSBjb3JuZXIKKyAgICAgICAgY2FzZSBoYW5ka2luZyBhbmQgbGVha3MgKE1hcnRpbik8L2xpPgorICAgIDxsaT5JbXByb3ZlbWVudDogZXh0ZW5kIHRoZSB4bWxTYXZlIHRvIGhhbmRsZSBIVE1MIGRvY3VtZW50cyBhbmQgdHJlZXM8L2xpPgorICAgIDxsaT5DbGVhbnVwOiBweXRob24gc2VyaWFsaXphdGlvbiB3cmFwcGVyczwvbGk+Cis8L3VsPgorCis8aDM+Mi43LjA6IEF1ZyAzMCAyMDA4PC9oMz4KKzx1bD4KKyAgPGxpPkRvY3VtZW50YXRpb246IHN3aXRjaCBDaGFuZ2VMb2cgdG8gVVRGLTgsIGltcHJvdmUgbXV0aXRocmVhZHMgYW5kCisgICAgICB4bWxQYXJzZXJDbGVhbnVwIGRvY3M8L2xpPgorICA8bGk+UG9ydGFiaWxpdHkgZml4ZXM6IE9sZGVyIFdpbjMyIHBsYXRmb3JtcyAoUm9iIFJpY2hhcmRzKSwgTVNWQworICAgICAgcG9ydGluZyBmaXggKFJvYiBSaWNoYXJkcyksIE1hYyBPUyBYIHJlZ3Jlc3Npb24gdGVzdHMgKFN2ZW4gSGVyemJlcmcpLAorICAgICAgbm9uIEdOVUNDIGJ1aWxkcyAoUm9iIFJpY2hhcmRzKSwgY29tcGlsYXRpb24gb24gSGFpa3UgKEFuZHJlYXMgRsODwqRyYmVyKQorICAgICAgPC9saT4KKyAgPGxpPkJ1ZyBmaXhlczogdmFyaW91cyByZWFsbG9jIHByb2JsZW1zIChBc2h3aW4pLCBwb3RlbnRpYWwgZG91YmxlLWZyZWUKKyAgICAgIChBc2h3aW4pLCByZWdleHAgY3Jhc2gsIGljcmFzaCB3aXRoIGludmFsaWQgd2hpdGVzcGFjZSBmYWNldHMgKFJvYgorICAgICAgUmljaGFyZHMpLCBwYXR0ZXJuIGZpeCB3aGVuIHN0cmVhbWluZyAoV2lsbGlhbSBCcmFjayksIHZhcmlvdXMgWE1MCisgICAgICBwYXJzaW5nIGFuZCB2YWxpZGF0aW9uIGZpeGVzIGJhc2VkIG9uIHRoZSBXM0MgcmVncmVzc2lvbiB0ZXN0cywgcmVhZGVyCisgICAgICB0cmVlIHNraXBwaW5nIGZ1bmN0aW9uIGZpeCAoQXNod2luKSwgU2NoZW1hcyByZWdleHBzIGVzY2FwaW5nIGZpeAorICAgICAgKFZvbGtlciBHcmFic2NoKSwgaGFuZGxpbmcgb2YgZW50aXR5IHB1c2ggZXJyb3JzIChBc2h3aW4pLCBmaXggYSBzbG93ZG93bgorICAgICAgd2hlbiBlbmNvZGVyIGNhbnQgc2VyaWFsaXplIGNoYXJhY3RlcnMgb24gb3V0cHV0PC9saT4KKyAgPGxpPkNvZGUgY2xlYW51cDogY29tcGlsYXRpb24gZml4IHdpdGhvdXQgdGhlIHJlYWRlciwgd2l0aG91dCB0aGUgb3V0cHV0CisgICAgICAoUm9iZXJ0IFNjaHdlYmVsKSwgcHl0aG9uIHdoaXRlc3BhY2UgKE1hcnRpbiksIG1hbnkgc3BhY2UvdGFicyBjbGVhbnVwcywKKyAgICAgIHNlcmlvdXMgY2xlYW51cCBvZiB0aGUgZW50aXR5IGhhbmRsaW5nIGNvZGU8L2xpPgorICA8bGk+SW1wcm92ZW1lbnQ6IHN3aXRjaCBwYXJzZXIgdG8gWE1MLTEuMCA1dGggZWRpdGlvbiwgYWRkIHBhcnNpbmcgZmxhZ3MKKyAgICAgIGZvciBvbGQgdmVyc2lvbnMsIHN3aXRjaCBVUkkgcGFyc2luZyB0byBSRkMgMzk4NiwKKyAgICAgIGFkZCB4bWxTY2hlbWFWYWxpZEN0eHRHZXRQYXJzZXJDdHh0IChIb2xnZXIgS2FlbGJlcmVyKSwKKyAgICAgIG5ldyBoYXNoaW5nIGZ1bmN0aW9ucyBmb3IgZGljdGlvbm5hcmllcyAoYmFzZWQgb24gU3RlZmFuIEJlaG5lbCB3b3JrKSwKKyAgICAgIGltcHJvdmUgaGFuZGxpbmcgb2YgbWlzcGxhY2VkIGh0bWwvaGVhZC9ib2R5IGluIEhUTUwgcGFyc2VyLCBiZXR0ZXIKKyAgICAgIHJlZ3Jlc3Npb24gdGVzdCB0b29scyBhbmQgY29kZSBjb3ZlcmFnZSBkaXNwbGF5LCBiZXR0ZXIgYWxnb3JpdGhtcworICAgICAgdG8gZGV0ZWN0IHZhcmlvdXMgdmVyc2lvbnMgb2YgdGhlIGJpbGxpb24gbGF1Z2h0cyBhdHRhY2tzLCBtYWtlCisgICAgICBhcmJpdHJhcnkgcGFyc2VyIGxpbWl0cyBhdm9pZGFibGUgYXMgYSBwYXJzZXIgb3B0aW9uPC9saT4KKzwvdWw+Cis8aDM+Mi42LjMyOiBBcHIgOCAyMDA4PC9oMz4KKzx1bD4KKyAgPGxpPkRvY3VtZW50YXRpb246IHJldHVybmluZyBoZWFwIG1lbW9yeSB0byBrZXJuZWwgKFdvbGZyYW0gU2FuZyksCisgICAgICB0cnlpbmcgdG8gY2xhcmlmeSB4bWxDbGVhbnVwUGFyc2VyKCkgdXNlLCB4bWxYUGF0aENvbnRleHQgaW1wcm92ZW1lbnQKKyAgICAgIChKYWNrIEphbnNlbiksIGltcHJvdmUgdGhlICpSZWNvdmVyKiBmdW5jdGlvbnMgZG9jdW1lbnRhdGlvbiwKKyAgICAgIFhtbE5vZGVUeXBlIGRvYyBsaW5rIGZpeCAoTWFydGlqbiBBcnRzKTwvbGk+CisgIDxsaT5CdWcgZml4ZXM6IGludGVybmFsIHN1YnNldCBtZW1vcnkgbGVhayAoQXNod2luKSwgYXZvaWQgcHJvYmxlbSB3aXRoCisgICAgICBwYXRocyBzdGFydGluZyB3aXRoIC8vIChQZXRyIFN1bWJlcmEpLCBzdHJlYW1pbmcgWFNEIHZhbGlkYXRpb24gY2FsbGJhY2sKKyAgICAgIHBhdGNoZXMgKEFzaHdpbiksIGZpeCByZWRpcmVjdGlvbiBvbiBwb3J0IG90aGVyIHRoYW4gODAgKFdpbGxpYW0gQnJhY2spLAorICAgICAgU0FYMiBsZWFrIChBc2h3aW4pLCBYSW5jbHVkZSBmcmFnbWVudCBvZiBvd24gZG9jdW1lbnQgKENocmlzIFJ5YW4pLAorICAgICAgcmVnZXhwIGJ1ZyB3aXRoICcuJyAoQW5kcmV3IFRvc2gpLCBmbHVzaCB0aGUgd3JpdGVyIGF0IHRoZSBlbmQgb2YgdGhlCisgICAgICBkb2N1bWVudCAoQWxmcmVkIE1pY2thdXRzY2gpLCBvdXRwdXQgSS9PIGJ1ZyBmaXggKFdpbGxpYW0gQnJhY2spLAorICAgICAgd3JpdGVyIENEQVRBIG91dHB1dCBhZnRlciBhIHRleHQgbm9kZSAoQWxleCBLaGVzaW4pLCBVVEYtMTYgZW5jb2RpbmcKKyAgICAgIGRldGVjdGlvbiAoV2lsbGlhbSBCcmFjayksIGZpeCBoYW5kbGluZyBvZiBlbXB0eSBDREFUQSBub2RlcyBmb3IgU2FmYXJpCisgICAgICB0ZWFtLCBweXRob24gYmluZGluZyBwcm9ibGVtIHdpdGggbmFtZXNwYWNlIG5vZGVzLCBpbXByb3ZlIEhUTUwgcGFyc2luZworICAgICAgKEFybm9sZCBIZW5kcmlrcyksIHJlZ2V4cCBhdXRvbWF0YSBidWlsZCBidWcsIG1lbW9yeSBsZWFrIGZpeCAoVmFzaWx5CisgICAgICBDaGVrYWxraW4pLCBYU0QgdGVzdCBjcmFzaCwgd2VpcmQgc3lzdGVtIHBhcmFtZXRlciBlbnRpdHkgcGFyc2luZyBwcm9ibGVtLAorICAgICAgYWxsb3cgc2F2ZSB0byBmaWxlOi8vL1g6LyB3aW5kb3dzIHBhdGhzLCB2YXJpb3VzIGF0dHJpYnV0ZSBub3JtYWxpc2F0aW9uCisgICAgICBwcm9ibGVtcywgZXh0ZXJuYWxTdWJzZXRTcGxpdCBmaXggKEFzaHdpbiksIGF0dHJpYnV0ZSByZWRlZmluaXRpb24gaW4KKyAgICAgIHRoZSBEVEQgKEFzaHdpbiksIGZpeCBpbiBjaGFyIHJlZiBwYXJzaW5nIGNoZWNrIChBbGV4IEtoZXNpbiksIG1hbnkKKyAgICAgIG91dCBvZiBtZW1vcnkgaGFuZGxpbmcgZml4ZXMgKEFzaHdpbiksIFhQYXRoIG91dCBvZiBtZW1vcnkgaGFuZGxpbmcgZml4ZXMKKyAgICAgIChBbHZhcm8gSGVycmVyYSksIHZhcmlvdXMgcmVhbGxvYyBwcm9ibGVtcyAoQXNod2luKSwgVUNTNCBlbmNvZGluZworICAgICAgY29udmVyc2lvbiBidWZmZXIgc2l6ZSAoQ2hyaXN0aWFuIEZydXRoKSwgcHJvYmxlbXMgd2l0aCBFYXROYW1lCisgICAgICBmdW5jdGlvbnMgb24gbWVtb3J5IGVycm9ycywgQk9NIGhhbmRsaW5nIGluIGV4dGVybmFsIHBhcnNlZCBlbnRpdGllcworICAgICAgKE1hcmsgUm93ZSk8L2xpPgorICA8bGk+Q29kZSBjbGVhbnVwOiBmaXggYnVpbGQgdW5kZXIgVlMgMjAwOCAoRGF2aWQgV2ltc2V5KSwgcmVtb3ZlIHVzZWxlc3MKKyAgICAgIG11dGV4IGluIHhtbERpY3QgKEZsb3JlbnQgR3VpbGlhbiksIE1pbmd3MzIgY29tcGlsYXRpb24gZml4IChDYXJsbworICAgICAgQnJhbWluaSksIFdpbiBhbmQgTWFjT1MgRU9MIGNsZWFudXBzIChGbG9yZW50IEd1aWxpYW5pKSwgaWNvbnYgbmVlZAorICAgICAgYSBjb25zdCBkZXRlY3Rpb24gKFJvdW1lbiBQZXRyb3YpLCBzaW1wbGlmeSB4bWxTZXRQcm9wIChKdWxpZW4gQ2hhcmJvbiksCisgICAgICBjcm9zcyBjb21waWxhdGlvbiBmaXhlcyBmb3IgTWluZ3cgKFJvdW1lbiBQZXRyb3YpLCBTQ08gT3BlbnNlcnZlciBidWlsZAorICAgICAgZml4IChGbG9yZW50IEd1aWxpYW5pKSwgaWNvbnYgdXNlcyBjb25zdCBvbiBXaW4zMiAoUm9iIFJpY2hhcmRzKSwKKyAgICAgIGR1cGxpY2F0ZSBjb2RlIHJlbW92YWwgKEFzaHdpbiksIG1pc3NpbmcgbWFsbG9jIHRlc3QgYW5kIGVycm9yIHJlcG9ydHMKKyAgICAgIChBc2h3aW4pLCBWTVMgbWFrZWZpbGUgZml4IChUeWNobyBIaWxob3JzdCk8L2xpPgorICA8bGk+aW1wcm92ZW1lbnRzOiBiZXR0ZXIgcGx1ZyBvZiBzY2hlbWF0cm9uIGluIHRoZSBub3JtYWwgZXJyb3IgaGFuZGxpbmcKKyAgICAgIChUb2JpYXMgTWluaWNoKTwvbGk+Cis8L3VsPgorCis8aDM+Mi42LjMxOiBKYW4gMTEgMjAwODwvaDM+Cis8dWw+CisgIDxsaT5TZWN1cml0eSBmaXg6IG1pc3Npbmcgb2YgY2hlY2tzIGluIFVURi04IHBhcnNpbmc8L2xpPgorICA8bGk+QnVnIGZpeGVzOiByZWdleHAgYnVnLCBkdW1wIGF0dHJpYnV0ZSBmcm9tIFhIVE1MIGRvY3VtZW50LCBmaXgKKyAgICAgIHhtbEZyZWUoTlVMTCkgdG8gbm90IGNyYXNoIGluIGRlYnVnIG1vZGUsIFNjaGVtYXRyb24gcGFyc2luZyBjcmFzaAorICAgICAgKFJvYiBSaWNoYXJkcyksIGdsb2JhbCBsb2NrIGZyZWUgb24gV2luZG93cyAoTWFyYy1BbnRvaW5lIFJ1ZWwpLAorICAgICAgWFNEIGNyYXNoIGR1ZSB0byBkb3VibGUgZnJlZSAoUm9iIFJpY2hhcmRzKSwgaW5kZW50YXRpb24gZml4IGluCisgICAgICB4bWxUZXh0V3JpdGVyRnVsbEVuZEVsZW1lbnQgKEZlbGlwZSBQZW5hKSwgZXJyb3IgaW4gYXR0cmlidXRlIHR5cGUKKyAgICAgIHBhcnNpbmcgaWYgYXR0cmlidXRlIHJlZGVjbGFyZWQsIGF2b2lkIGNyYXNoIGluIGhhc2ggbGlzdCBzY2FubmVyIGlmCisgICAgICBkZWxldGluZyBlbGVtZW50cywgY29sdW1uIGNvdW50ZXIgYnVnIGZpeCAoQ2hyaXN0aWFuIFNjaG1pZHQpLAorICAgICAgSFRNTCBlbWJlZCBlbGVtZW50IHNhdmluZyBmaXggKFN0ZWZhbiBCZWhuZWwpLCBhdm9pZCAtTC91c3IvbGliCisgICAgICBvdXRwdXQgZnJvbSB4bWwyLWNvbmZpZyAoRnJlZCBDcm96YXQpLCBhdm9pZCBhbiB4bWxsaW50IGNyYXNoIAorICAgICAgKFN0ZWZhbiBLb3N0KSwgZG9uJ3Qgc3RvcCBIVE1MIHBhcnNpbmcgb24gb3V0IG9mIHJhbmdlIGNoYXJzLgorICAgICAgPC9saT4KKyAgPGxpPkNvZGUgY2xlYW51cDogZml4IG9wZW4oKSBjYWxsIHRoaXJkIGFyZ3VtZW50LCByZWdleHAgY3V0J24gcGFzdGUKKyAgICAgIGNvcHkgZXJyb3IsIHVudXNlZCB2YXJpYWJsZSBpbiBfX3htbEdsb2JhbEluaXRNdXRleExvY2sgKEhhbm5lcyBFZGVyKSwKKyAgICAgIHNvbWUgbWFrZSBkaXN0Y2hlY2sgcmVhbHRlZCBmaXhlcyAoSm9obiBDYXJyKTwvbGk+CisgIDxsaT5JbXByb3ZlbWVudHM6IEhUVFAgSGVhZGVyOiBpbmNsdWRlcyBwb3J0IG51bWJlciAoV2lsbGlhbSBCcmFjayksCisgICAgICB0ZXN0VVJJIC0tZGVidWcgb3B0aW9uLCA8L2xpPgorPC91bD4KKzxoMz4yLjYuMzA6IEF1ZyAyMyAyMDA3PC9oMz4KKzx1bD4KKyAgPGxpPlBvcnRhYmlsaXR5OiBTb2xhcmlzIGNyYXNoIG9uIGVycm9yIGhhbmRsaW5nLCB3aW5kb3dzIHBhdGggZml4ZXMKKyAgICAgIChSb2xhbmQgU2Nod2FyeiBhbmQgUm9iIFJpY2hhcmRzKSwgbWluZ3cgYnVpbGQgKFJvbGFuZCBTY2h3YXJ6KTwvbGk+CisgIDxsaT5CdWdmaXhlczogeG1sWFBhdGhOb2RlU2V0U29ydCBwcm9ibGVtIChXaWxsaWFtIEJyYWNrKSwgbGVhayB3aGVuCisgICAgICByZXVzaW5nIGEgd3JpdGVyIGZvciBhIG5ldyBkb2N1bWVudCAoRG9kamkgU2VrZXRlbGkpLCBTY2hlbWFzCisgICAgICB4c2k6bmlsIGhhbmRsaW5nIHBhdGNoIChGcmFuayBHcm9zcyksIHJlbGF0aXZlIFVSSSBidWlsZCBwcm9ibGVtCisgICAgICAoUGF0cmlrIEZpbW1sKSwgY3Jhc2ggaW4geG1sRG9jRm9ybWF0RHVtcCwgaW52YWxpZCBjaGFyIGluIGNvbW1lbnQKKyAgICAgIGRldGVjdGlvbiBidWcsIGZpeCBkaXNwYXJpdHkgd2l0aCB4bWxTQVhVc2VyUGFyc2VNZW1vcnksIGF1dG9tYXRhCisgICAgICBnZW5lcmF0aW9uIGZvciBjb21wbGV4IHJlZ2V4cCBjb3VudHMgcHJvYmxlbXMsIFNjaGVtYXMgSURDIGltcG9ydAorICAgICAgcHJvYmxlbXMgKEZyYW5rIEdyb3NzKSwgeHBhdGggcHJlZGljYXRlIGV2YWlsYXRpb24gZXJyb3IgaGFuZGxpbmcKKyAgICAgIChXaWxsaWFtIEJyYWNrKTwvbGk+Cis8L3VsPgorPGgzPjIuNi4yOTogSnVuIDEyIDIwMDc8L2gzPgorPHVsPgorICA8bGk+UG9ydGFiaWxpdHk6IHBhdGNoZXMgZnJvbSBBbmRyZWFzIFN0cmlja2UgZm9yIFdpbkNFaSwKKyAgICAgIGZpeCBjb21waWxhdGlvbiB3YXJuaW5ncyAoV2lsbGlhbSBCcmFjayksIGF2b2lkIHdhcm5pbmdzIG9uIEFwcGxlIE9TL1gKKyAgICAgIChXZW5keSBEb3lsZSBhbmQgTWFyayBSb3dlKSwgV2luZG93cyBjb21waWxhdGlvbiBhbmQgdGhyZWFkaW5nCisgICAgICBpbXByb3ZlbWVudHMgKFJvYiBSaWNoYXJkcyksIGNvbXBpbGF0aW9uIGFnYWluc3Qgb2xkIFB5dGhvbiB2ZXJzaW9ucywKKyAgICAgIG5ldyBHTlUgdGFyIGNoYW5nZXMgKFJ5YW4gSGlsbCk8L2xpPgorICA8bGk+RG9jdW1lbnRhdGlvbjogeG1sVVJJVW5lc2NhcGVTdHJpbmcgY29tbWVudCwgPC9saT4KKyAgPGxpPkJ1Z2ZpeGVzOiB4bWxCdWZmZXJBZGQgcHJvYmxlbSAoUmljaGFyZCBKb25lcyksICdtYWtlIHZhbGdyaW5kJworICAgICAgZmxhZyBmaXggKFJpY2hhcmQgSm9uZXMpLCByZWdleHAgaW50ZXJwcmV0YXRpb24gb2YgXCwKKyAgICAgIGh0bWxDcmVhdGVEb2NQYXJzZXJDdHh0IChKZWFuLURhbmllbCBEdXBhcyksIGNvbmZpZ3VyZS5pbgorICAgICAgdHlwbyAoQmpvcm4gUmVlc2UpLCBlbnRpdHkgY29udGVudCBmYWlsdXJlLCB4bWxMaXN0QXBwZW5kKCkgZml4CisgICAgICAoR2Vvcmdlcy1BbmRyw4PCqSBTaWxiZXIpLCBYUGF0aCBudW1iZXIgc2VyaWFsaXphdGlvbiAoV2lsbGlhbSBCcmFjayksCisgICAgICBuYW5vaHR0cCBnemlwcGVkIHN0cmVhbSBmaXggKFdpbGxpYW0gQnJhY2sgYW5kIEFsZXggQ29ybmVqbyksCisgICAgICB4bWxDaGFyRW5jRmlyc3RMaW5lIHR5cG8gKE1hcmsgUm93ZSksIHVyaSBidWcgKEZyYW7Dg8Knb2lzIERlbHlvbiksCisgICAgICBYUGF0aCBzdHJpbmcgdmFsdWUgb2YgUEkgbm9kZXMgKFdpbGxpYW0gQnJhY2spLCBYUGF0aCBub2RlIHNldAorICAgICAgc29ydGluZyBidWdzIChXaWxsaWFtIEJyYWNrKSwgYXZvaWQgb3V0cHV0dGluZyBuYW1lc3BhY2UgZGVjbAorICAgICAgZHVwcyBpbiB0aGUgd3JpdGVyIChSb2IgUmljaGFyZHMpLCB4bWxDdHh0UmVzZXQgYnVnLCBVVEYtOCBlbmNvZGluZworICAgICAgZXJyb3IgaGFuZGxpbmcsIHJlY3VzdGlvbiBvbiBuZXh0IGluIGNhdGFsb2dzLCBmaXggYSBSZWxheC1ORyBjcmFzaCwKKyAgICAgIHdvcmthcm91bmQgd3JvbmcgZmlsZTogVVJJcywgaHRtbE5vZGVEdW1wRm9ybWF0T3V0cHV0IG9uIGF0dHJpYnV0ZXMsCisgICAgICBpbnZhbGlkIGNoYXJhY3RlciBpbiBhdHRyaWJ1dGUgZGV0ZWN0aW9uIGJ1ZywgYmlnIGNvbW1lbnRzIGJlZm9yZSAKKyAgICAgIGludGVybmFsIHN1YnNldCBzdHJlYW1pbmcgYnVnLCBIVE1MIHBhcnNpbmcgb2YgYXR0cmlidXRlcyB3aXRoIDogaW4KKyAgICAgIHRoZSBuYW1lLCBJRG5lc3Mgb2YgbmFtZSBpbiBIVE1MIChEYWdmaW5uIEkuIE1hbm5zw4PCpWtlcikgPC9saT4KKyAgPGxpPkltcHJvdmVtZW50OiBrZWVwIFVSSSBxdWVyeSBwYXJ0cyBpbiByYXcgZm9ybSAoUmljaGFyZCBKb25lcyksCisgICAgICBlbWJlZCB0YWcgc3VwcG9ydCBpbiBIVE1MIChNaWNoYWVsIERheSkgPC9saT4KKzwvdWw+CisKKzxoMz4yLjYuMjg6IEFwciAxNyAyMDA3PC9oMz4KKzx1bD4KKyAgPGxpPkRvY3VtZW50YXRpb246IGNvbW1lbnQgZml4ZXMgKE1hcmt1cyBLZWltKSwgeHBhdGggY29tbWVudHMgZml4ZXMgdG9vCisgICAgICAoSmFtZXMgRGVubmV0dCk8L2xpPgorICA8bGk+QnVnIGZpeGVzOiBYUGF0aCBidWcgKFdpbGxpYW0gQnJhY2spLCBIVE1MIHBhcnNlciBhdXRvY2xvc2Ugc3RhY2sgdXNhZ2UKKyAgICAgIChVc2FtYWggTWFsaWspLCB2YXJpb3VzIHJlZ2V4cCBidWcgZml4ZXMgKERWIGFuZCBXaWxsaWFtKSwgcGF0aCBjb252ZXJzaW9uCisgICAgICBvbiBXaW5kb3dzIChJZ29yIFpsYXRrb3ZpYyksIGh0bWxDdHh0UmVzZXQgZml4IChNaWNoYWVsIERheSksIFhQYXRoCisgICAgICBwcmluY2lwYWwgbm9kZSBvZiBheGlzIGJ1ZywgSFRNTCBzZXJpYWxpemF0aW9uIG9mIHNvbWUgY29kZXBvaW50CisgICAgICAoU3RldmVuIFJhaW53YXRlciksIHVzZXIgZGF0YSBwcm9wYWdhdGlvbiBpbiBYSW5jbHVkZSAoTWljaGFlbCBEYXkpLAorICAgICAgc3RhbmRhbG9uZSBhbmQgWE1MIGRlY2wgZGV0ZWN0aW9uIChNaWNoYWVsIERheSksIFB5dGhvbiBpZCBvdXB0dXQKKyAgICAgIGZvciBzb21lIGlkLCBmaXggdGhlIGJpZyBweXRob24gc3RyaW5nIG1lbW9yeSBsZWFrLCBVUkkgcGFyc2luZyBmaXhlcworICAgICAgKFN0w4PCqXBoYW5lIEJpZG91bCBhbmQgV2lsbGlhbSksIGxvbmcgY29tbWVudHMgcGFyc2luZyBidWcgKFdpbGxpYW0pLAorICAgICAgY29uY3VycmVudCB0aHJlYWRzIGluaXRpYWxpemF0aW9uIChUZWQgUGhlbHBzKSwgaW52YWxpZCBjaGFyCisgICAgICBpbiB0ZXh0IFhJbmNsdWRlIChXaWxsaWFtKSwgWFBhdGggbWVtb3J5IGxlYWsgKFdpbGxpYW0pLCB0YWIgaW4KKyAgICAgIHB5dGhvbiBwcm9ibGVtcyAoQW5kcmVhcyBIYW5rZSksIFhQYXRoIG5vZGUgY29tcGFyaXNvbiBlcnJvcgorICAgICAgKE9sZWcgUGFyYXNjaGVua28pLCBjbGVhbnVwIHBhdGNoIGZvciByZWFkZXIgKEp1bGllbiBSZWljaGVsKSwKKyAgICAgIFhNTCBTY2hlbWFzIGF0dHJpYnV0ZSBncm91cCAoV2lsbGlhbSksIEhUTUwgcGFyc2luZyBwcm9ibGVtIChXaWxsaWFtKSwKKyAgICAgIGZpeCBjaGFyIDB4MmQgaW4gcmVnZXhwcyAoV2lsbGlhbSksIHJlZ2V4cCBxdWFudGlmaWVyIHJhbmdlIHdpdGgKKyAgICAgIG1pbiBvY2N1cnMgb2YgMCAoV2lsbGlhbSksIEhUTUwgc2NyaXB0L3N0eWxlIHBhcnNpbmcgKE1pa2UgRGF5KTwvbGk+CisgIDxsaT5JbXByb3ZlbWVudDogbWFrZSB4bWxUZXh0UmVhZGVyU2V0dXAoKSBwdWJsaWM8L2xpPgorICA8bGk+Q29tcGlsYXRpb24gYW5kIHBvc3RhYmlsaXR5OiBmaXggYSBtaXNzaW5nIGluY2x1ZGUgcHJvYmxlbSAoV2lsbGlhbSksCisgICAgICBfX3NzX2ZhbWlsbHkgb24gQUlYIGFnYWluIChCasODwrZybiBXaWJlcmcpLCBjb21waWxhdGlvbiB3aXRob3V0IHpsaWIKKyAgICAgIChNaWNoYWVsIERheSksIGNhdGFsb2cgcGF0Y2ggZm9yIFdpbjMyIChDaHJpc3RpYW4gRWhybGljaGVyKSwKKyAgICAgIFdpbmRvd3MgQ0UgZml4ZXMgKEFuZHJlYXMgU3RyaWNrZSk8L2xpPgorICA8bGk+VmFyaW91cyBDVlMgdG8gU1ZOIGluZnJhc3RydWN0dXJlIGNoYW5nZXM8L2xpPgorPC91bD4KKzxoMz4yLjYuMjc6IE9jdCAyNSAyMDA2PC9oMz4KKzx1bD4KKyAgPGxpPlBvcnRhYmlsaXR5IGZpeGVzOiBmaWxlIG5hbWVzIG9uIHdpbmRvd3MgKFJvbGFuZCBTY2h3aW5nZWwsIAorICAgICAgRW1lbHlhbm92IEFsZXhleSksIHdpbmRvd3MgY29tcGlsZSBmaXh1cCAoUm9iIFJpY2hhcmRzKSwgCisgICAgICBBSVggaWNvbnYoKSBpcyBhcHBhcmVudGx5IGNhc2Ugc2Vuc2l0aXZlPC9saT4KKyAgPGxpPmltcHJvdmVtZW50czogUHl0aG9uIFhQYXRoIHR5cGVzIG1hcHBpbmcgKE5pYyBGZXJyaWVyKSwgWFBhdGggb3B0aW1pemF0aW9uCisgICAgICAoS2FzaW1pZXIpLCBhZGQgeG1sWFBhdGhDb21waWxlZEV2YWxUb0Jvb2xlYW4gKEthc2ltaWVyKSwgUHl0aG9uIG5vZGUKKyAgICAgIGVxdWFsaXR5IGFuZCBjb21wYXJpc29uIChBbmRyZWFzIFBha3VsYXQpLCB4bWxYUGF0aENvbGxlY3RBbmRUZXN0CisgICAgICBpbXByb3ZlbWVtdCAoS2FzaW1pZXIpLCBleHBvc2UgaWYgbGlicmFyeSB3YXMgY29tcGlsZWQgd2l0aCB6bGliIAorICAgICAgc3VwcG9ydCAoQW5kcmV3IE5vc2Vua28pLCBjYWNoZSBmb3IgeG1sU2NoZW1hSURDTWF0Y2hlciBzdHJ1Y3RzCisgICAgICAoS2FzaW1pZXIpLCB4bWxUZXh0Q29uY2F0IHNob3VsZCB3b3JrIHdpdGggY29tbWVudHMgYW5kIFBJcyAoUm9iCisgICAgICBSaWNoYXJkcyksIGV4cG9ydCBodG1sTmV3UGFyc2VyQ3R4dCBuZWVkZWQgYnkgTWljaGFlbCBEYXksIHJlZmFjdG9yaW5nCisgICAgICBvZiBjYXRhbG9nIGVudGl0eSBsb2FkZXJzIChNaWNoYWVsIERheSksIGFkZCBYUG9pbnRlciBzdXBwb3J0IHRvIAorICAgICAgcHl0aG9uIGJpbmRpbmdzIChSb3NzIFJlZWRzdHJvbSwgQnJpYW4gV2VzdCBhbmQgU3RlZmFuIEFuY2EpLCAKKyAgICAgIHRyeSB0byBzb3J0IG91dCBtb3N0IGZpbGUgcGF0aCB0byBVUkkgY29udmVyc2lvbnMgYW5kIHhtbFBhdGhUb1VyaSwKKyAgICAgIGFkZCAtLWh0bWwgLS1tZW1vcnkgY2FzZSB0byB4bWxsaW50PC9saT4KKyAgPGxpPmJ1aWxkaW5nIGZpeDogZml4IC0td2l0aC1taW5pbXVtIChGZWxpcGUgQ29udHJlcmFzKSwgVk1TIGZpeCwgCisgICAgICBjb25zdCdpZmljYXRpb24gb2YgSFRNTCBwYXJzZXIgc3RydWN0dXJlcyAoTWF0dGhpYXMgQ2xhc2VuKSwKKyAgICAgIHBvcnRhYmlsaXR5IGZpeCAoRW1lbHlhbm92IEFsZXhleSksIHdnZXQgYXV0b2RldGVjdGlvbiAoUGV0ZXIKKyAgICAgIEJyZWl0ZW5sb2huZXIpLCAgcmVtb3ZlIHRoZSBidWlsZCBwYXRoIHJlY29yZGVkIGluIHRoZSBweXRob24KKyAgICAgIHNoYXJlZCBtb2R1bGUsIHNlcGFyYXRlIGxpYnJhcnkgZmxhZ3MgZm9yIHNoYXJlZCBhbmQgc3RhdGljIGJ1aWxkcworICAgICAgKE1pa2hhaWwgWmFiYWx1ZXYpLCBmaXggLS13aXRoLW1pbmltdW0gLS13aXRoLXNheDEgYnVpbGRzLCBmaXgKKyAgICAgIC0td2l0aC1taW5pbXVtIC0td2l0aC1zY2hlbWFzIGJ1aWxkczwvbGk+CisgIDxsaT5idWcgZml4OiB4bWxHZXROb2RlUGF0aCBmaXggKEthc2ltaWVyKSwgeG1sRE9NV3JhcEFkb3B0Tm9kZSBhbmQKKyAgICAgIGF0dHJpYnV0ZSAoS2FzaW1pZXIpLCBjcmFzaCB3aGVuIHVzaW5nIHRoZSByZWNvdmVyIG1vZGUsIAorICAgICAgeG1sWFBhdGhFdmFsRXhwciBwcm9ibGVtIChLYXNpbWllciksIHhtbFhQYXRoQ29tcEV4cHJBZGQgYnVnIChLYXNpbWllciksCisgICAgICBtaXNzaW5nIGRlc3RyeSBpbiB4bWxGcmVlUk11dGV4IChBbmRyZXcgTm9zZW5rbyksIFhNTCBTY2hlbWFzIGZpeGVzCisgICAgICAoS2FzaW1pZXIpLCB3YXJuaW5nIG9uIGVudGl0aWVzIHByb2Nlc3NpbmcsIFhIVE1MIHNjcmlwdCBhbmQgc3R5bGUKKyAgICAgIHNlcmlhbGl6YXRpb24gKEthc2ltaWVyKSwgcHl0aG9uIGdlbmVyYXRvciBmb3IgbG9uZyB0eXBlcywgYnVnIGluCisgICAgICB4bWxTY2hlbWFDbGVhclZhbGlkQ3R4dCAoQmVydHJhbmQgRnJpdHNjaCksIHhtbFNjaGVtYVhQYXRoRXZhbHVhdGUKKyAgICAgIGFsbG9jYXRpb24gYnVnIChNYXJ0b24gSWxsZXMpLCBlcnJvciBtZXNzYWdlIGVuZCBvZiBsaW5lIChSb2IgUmljaGFyZHMpLAorICAgICAgZml4IGF0dHJpYnV0ZSBzZXJpYWxpemF0aW9uIGluIHdyaXRlciAoUm9iIFJpY2hhcmRzKSwgUEhQNCBEVEQgdmFsaWRhdGlvbgorICAgICAgY3Jhc2hlciwgcGFyc2VyIHNhZmV0eSBwYXRjaCAoQmVuIERhcm5lbGwpLCBfcHJpdmF0ZSBjb250ZXh0IHByb3BhZ2F0aW9uCisgICAgICB3aGVuIHBhcnNpbmcgZW50aXRpZXMgKHdpdGggTWljaGFlbCBEYXkpLCBmaXggZW50aXRpZXMgYmVoYXZpb3VyIHdoZW4gCisgICAgICB1c2luZyBTQVgsIFVSSSB0byBmaWxlIHBhdGggZml4IChNaWtoYWlsIFphYmFsdWV2KSwgZGlzYXBlYXJpbmcgdmFsaWRpdHkKKyAgICAgIGNvbnRleHQsIGFyZyBlcnJvciBpbiBTQVggY2FsbGJhY2sgKE1pa2UgSG9tbWV5KSwgZml4IG1peGVkLWNvbnRlbnQKKyAgICAgIGF1dG9kZXRlY3Qgd2hlbiB1c2luZyAtLW5vYmxhbmtzLCBmaXggeG1sSU9QYXJzZURURCBlcnJvciBoYW5kbGluZywKKyAgICAgIGZpeCBidWcgaW4geG1sU3BsaXRRTmFtZSBvbiBzcGVjaWFsIE5hbWVzLCBmaXggUmVsYXgtTkcgZWxlbWVudCBjb250ZW50CisgICAgICB2YWxpZGF0aW9uIGJ1ZywgZml4IHhtbFJlY29uY2lsaWF0ZU5zIGJ1ZywgZml4IHBvdGVudGlhbCBhdHRyaWJ1dGUgCisgICAgICBYTUwgcGFyc2luZyBidWcsIGZpeCBsaW5lL2NvbHVtbiBhY2NvdW50aW5nIGluIFhNTCBwYXJzZXIsIGNodW5raW5nIGJ1ZworICAgICAgaW4gdGhlIEhUTUwgcGFyc2VyIG9uIHNjcmlwdCwgdHJ5IHRvIGRldGVjdCBvYnZpb3VzbHkgYnVnZ3kgSFRNTAorICAgICAgbWV0YSBlbmNvZGluZyBpbmRpY2F0aW9ucywgYnVncyB3aXRoIGVuY29kaW5nIEJPTSBhbmQgeG1sU2F2ZURvYywgCisgICAgICBIVE1MIGVudGl0aWVzIGluIGF0dHJpYnV0ZXMgcGFyc2luZywgSFRNTCBtaW5pbWl6ZWQgYXR0cmlidXRlIHZhbHVlcywKKyAgICAgIGh0bWxSZWFkRG9jIGFuZCBodG1sUmVhZElPIHdlcmUgYnJva2VuLCBlcnJvciBoYW5kbGluZyBidWcgaW4KKyAgICAgIHhtbFhQYXRoRXZhbEV4cHJlc3Npb24gKE9sYWYgV2Fsa293aWFrKSwgZml4IGEgcHJvYmxlbSBpbgorICAgICAgaHRtbEN0eHRVc2VPcHRpb25zLCB4bWxOZXdJbnB1dEZyb21GaWxlIGNvdWxkIGxlYWsgKE1hcml1cyBLb25pdHplciksCisgICAgICBidWcgb24gbWlzZm9ybWVkIFNTRCByZWdleHBzIChDaHJpc3RvcGhlciBCb3VtZW5vdCkKKyAgICAgIDwvbGk+CisgIDxsaT5kb2N1bWVudGF0aW9uOiB3YXJuaW5nIGFib3V0IFhNTF9QQVJTRV9DT01QQUNUIChLYXNpbWllciBCdWNoY2lrKSwKKyAgICAgIGZpeCB4bWxYUGF0aENhc3RUb1N0cmluZyBkb2N1bWVudGF0aW9uLCBpbXByb3ZlIG1hbiBwYWdlcyBmb3IKKyAgICAgIHhtbGxpdG4gYW5kIHhtbGNhdGFsb2cgKERhbmllbCBMZWlkZXJ0KSwgZml4ZWQgY29tbWVudHMgb2YgYSBmZXcKKyAgICAgIGZ1bmN0aW9uczwvbGk+Cis8L3VsPgorPGgzPjIuNi4yNjogSnVuIDYgMjAwNjwvaDM+Cis8dWw+CisgIDxsaT5wb3J0YWJpbGl0eSBmaXhlczogUHl0aG9uIGRldGVjdGlvbiAoSm9zZXBoIFNhY2NvKSwgY29tcGlsYXRpb24KKyAgICBlcnJvcihXaWxsaWFtIEJyYWNrIGFuZCBHcmFoYW0gQmVubmV0dCksIEx5bnhPUyBwYXRjaCAoT2xsaSBTYXZpYSk8L2xpPgorICA8bGk+YnVnIGZpeGVzOiBlbmNvZGluZyBidWZmZXIgcHJvYmxlbSwgbWl4IG9mIGNvZGUgYW5kIGRhdGEgaW4KKyAgICB4bWxJTy5jKEtqYXJ0YW4gTWFyYWFzKSwgZW50aXRpZXMgaW4gWFNEIHZhbGlkYXRpb24gKEthc2ltaWVyIEJ1Y2hjaWspLAorICAgIHZhcmlvdXNYU0QgdmFsaWRhdGlvbiBmaXhlcyAoS2FzaW1pZXIpLCBtZW1vcnkgbGVhayBpbiBwYXR0ZXJuIChSb2IKKyAgICBSaWNoYXJkcyBhbmRLYXNpbWllciksIGF0dHJpYnV0ZSB3aXRoIGNvbG9uIGluIG5hbWUgKFJvYiBSaWNoYXJkcyksIFhQYXRoCisgICAgbGVhayBpbmVycm9yIHJlcG9ydGluZyAoQWxla3NleSBTYW5pbiksIFhJbmNsdWRlIHRleHQgaW5jbHVkZSBvZgorICAgIHNlbGZkb2N1bWVudC48L2xpPgorICA8bGk+aW1wcm92ZW1lbnRzOiBYcGF0aCBvcHRpbWl6YXRpb25zIChLYXNpbWllciksIFhQYXRoIG9iamVjdAorICAgIGNhY2hlKEthc2ltaWVyKTwvbGk+Cis8L3VsPgorCis8aDM+Mi42LjI1OiBKdW4gNiAyMDA2OjwvaDM+CisKKzxwPkRvIG5vdCB1c2Ugb3IgcGFja2FnZSAyLjYuMjU8L3A+CisKKzxoMz4yLjYuMjQ6IEFwciAyOCAyMDA2PC9oMz4KKzx1bD4KKyAgPGxpPlBvcnRhYmlsaXR5IGZpeGVzOiBjb25maWd1cmUgb24gV2luZG93cywgdGVzdGFwaSBjb21waWxlIG9uIHdpbmRvd3MKKyAgICAgIChLYXNpbWllciBCdWNoY2lrLCB2ZW5rYXQgbmFpZHUpLCBCb3JsYW5kIEMrKyA2IGNvbXBpbGUgKEVyaWMgWnVyY2hlciksCisgICAgICBIUC1VWCBjb21waWxlciB3b3JrYXJvdW5kIChSaWNrIEpvbmVzKSwgeG1sMi1jb25maWcgYnVnZml4LCBnY2MtNC4xCisgICAgICBjbGVhbnVwcywgUHl0aG9uIGRldGVjdGlvbiBzY2hlbWUgKEpvc2VwaCBTYWNjbyksIFVURi04IGZpbGUgcGF0aHMgb24KKyAgICAgIFdpbmRvd3MgKFJvbGFuZCBTY2h3aW5nZWwpLgorICAgICAgPC9saT4KKyAgPGxpPkltcHJvdmVtZW50czogeG1sRE9NV3JhcFJlY29uY2lsZU5hbWVzcGFjZXMgeG1sRE9NV3JhcENsb25lTm9kZSAoS2FzaW1pZXIKKyAgICAgIEJ1Y2hjaWspLCBYTUwgY2F0YWxvZyBkZWJ1Z2dpbmcgKFJpY2sgSm9uZXMpLCB1cGRhdGUgdG8gVW5pY29kZSA0LjAxLjwvbGk+CisgIDxsaT5CdWcgZml4ZXM6IHhtbFBhcnNlQ2h1bmsoKSBwcm9ibGVtIGluIDIuNi4yMywgeG1sUGFyc2VJbk5vZGVDb250ZXh0KCkKKyAgICAgIG9uIEhUTUwgZG9jcywgVVJJIGJlaGF2aW91ciBvbiBXaW5kb3dzIChSb2IgUmljaGFyZHMpLCBjb21tZW50IHN0cmVhbWluZworICAgICAgYnVnLCB4bWxQYXJzZUNvbW1lbnQgKHdpdGggV2lsbGlhbSBCcmFjayksIHJlZ2V4cCBidWcgZml4ZXMgKERWICZhbXA7CisgICAgICBZb3VyaSBHb2xvdmFub3YpLCB4bWxHZXROb2RlUGF0aCBvbiB0ZXh0L0NEQVRBIChLYXNpbWllciksCisgICAgICBvbmUgUmVsYXgtTkcgaW50ZXJsZWF2ZSBidWcsIHhtbGxpbnQgLS1wYXRoIGFuZCAtLXZhbGlkLAorICAgICAgWFNEIGJ1Z2ZpeGVzIChLYXNpbWllciksIHJlbW92ZSBkZWJ1ZworICAgICAgbGVmdCBpbiBQeXRob24gYmluZGluZ3MgKE5pYyBGZXJyaWVyKSwgeG1sQ2F0YWxvZ0FkZCBidWcgKE1hcnRpbiBDb2xlKSwKKyAgICAgIHhtbFNldFByb3AgZml4ZXMgKFJvYiBSaWNoYXJkcyksIEhUTUwgSURuZXNzIChSb2IgUmljaGFyZHMpLCBhIGxhcmdlCisgICAgICBudW1iZXIgb2YgY2xlYW51cHMgYW5kIHNtYWxsIGZpeGVzIGJhc2VkIG9uIENvdmVyaXR5IHJlcG9ydHMsIGJ1ZworICAgICAgaW4gY2hhcmFjdGVyIHJhbmdlcywgVW5pY29kZSB0YWJsZXMgY29uc3QgKEFpdmFycyBLYWx2YW5zKSwgc2NoZW1hcworICAgICAgZml4IChTdGVmYW4gS29zdCksIHhtbFJlbGF4TkdQYXJzZSBlcnJvciBkZWFsbG9jYXRpb24sIAorICAgICAgeG1sU2NoZW1hQWRkU2NoZW1hRG9jIGVycm9yIGRlYWxsb2NhdGlvbiwgZXJyb3IgaGFuZGxpbmcgb24gdW5hbGxvd2VkCisgICAgICBjb2RlIHBvaW50LCBpeG1sbGludCAtLW5vbmV0IHRvIG5ldmVyIHJlYWNoIHRoZSBuZXQgKEdhcnkgQ29hZHkpLAorICAgICAgbGluZSBicmVhayBpbiB3cml0ZXIgYWZ0ZXIgZW5kIFBJIChKYXNvbiBWaWVycykuIDwvbGk+CisgIDxsaT5Eb2N1bWVudGF0aW9uOiBtYW4gcGFnZXMgdXBkYXRlcyBhbmQgY2xlYW51cHMgKERhbmllbCBMZWlkZXJ0KS48L2xpPgorICA8bGk+TmV3IGZlYXR1cmVzOiBSZWxheCBORyBzdHJ1Y3R1cmUgZXJyb3IgaGFuZGxlcnMuPC9saT4KKzwvdWw+CisKKzxoMz4yLjYuMjM6IEphbiA1IDIwMDY8L2gzPgorPHVsPgorICA8bGk+cG9ydGFiaWxpdHkgZml4ZXM6IFdpbmRvd3MgKFJvYiBSaWNoYXJkcyksIGdldGFkZHJpbmZvIG9uIFdpbmRvd3MKKyAgICAoS29samEgTm93YWssIFJvYiBSaWNoYXJkcyksIGljYyB3YXJuaW5ncyAoS2phcnRhbiBNYXJhYXMpLAorICAgIC0td2l0aC1taW5pbXVtIGNvbXBpbGF0aW9uIGZpeGVzIChXaWxsaWFtIEJyYWNrKSwgZXJyb3IgY2FzZSBoYW5kbGluZyBmaXgKKyAgICBvbiBTb2xhcmlzIChBbGJlcnQgQ2hpbiksIGRvbid0IHVzZSAnbGlzdCcgYXMgcGFyYW1ldGVyIG5hbWUgcmVwb3J0ZWQgYnkKKyAgICBTYW11ZWwgRGlheiBHYXJjaWEsIG1vcmUgb2xkIFVuaWNlcyBwb3J0YWJpbGl0eSBmaXhlcyAoQWxiZXJ0IENoaW4pLAorICAgIE1pbkdXIGNvbXBpbGF0aW9uIChNYXJrIEp1bmtlciksIEhQLVVYIGNvbXBpbGVyIHdhcm5pbmdzIChSaWNrCisgIEpvbmVzKSw8L2xpPgorICA8bGk+Y29kZSBjbGVhbnVwOiB4bWxSZXBvcnRFcnJvciAoQWRyaWFuIE1vdWF0KSwgcmVtb3ZlIHhtbEJ1ZmZlckNsb3NlCisgICAgKEdlZXJ0IEphbnNlbiksIHVucmVhY2hhYmxlIGNvZGUgKE9sZWtzYW5kciBLb25vbmVua28pLCByZWZhY3RvcmluZworICAgIHBhcnNpbmcgY29kZSAoQmpvcm4gUmVlc2UpPC9saT4KKyAgPGxpPmJ1ZyBmaXhlczogeG1sQnVpbGRSZWxhdGl2ZVVSSSBhbmQgZW1wdHkgcGF0aCAoV2lsbGlhbSBCcmFjayksCisgICAgY29tYmluYXRvcnkgZXhwbG9zaW9uIGFuZCBwZXJmb3JtYW5jZXMgaW4gcmVnZXhwIGNvZGUsIGxlYWsgaW4KKyAgICB4bWxUZXh0UmVhZGVyUmVhZFN0cmluZygpLCB4bWxTdHJpbmdMZW5EZWNvZGVFbnRpdGllcyBwcm9ibGVtIChNYXNzaW1vCisgICAgTW9yYXJhKSwgSWRlbnRpdHkgQ29uc3RyYWludHMgYnVncyBhbmQgYSBzZWdmYXVsdCAoS2FzaW1pZXIgQnVjaGNpayksCisgICAgWFBhdGggcGF0dGVybiBiYXNlZCBldmFsdWF0aW9uIGJ1Z3MgKERWICZhbXA7IEthc2ltaWVyKSwKKyAgICB4bWxTY2hlbWFDb250ZW50TW9kZWxEdW1wKCkgbWVtb3J5IGxlYWsgKEthc2ltaWVyKSwgcG90ZW50aWFsIGxlYWsgaW4KKyAgICB4bWxTY2hlbWFDaGVja0NTZWxlY3RvclhQYXRoKCksIHhtbFRleHRXcml0ZXJWU3ByaW50ZigpIG1pc3VzZSBvZgorICAgIHZzbnByaW50ZiAoV2lsbGlhbSBCcmFjayksIFhIVE1MIHNlcmlhbGl6YXRpb24gZml4IChSb2IgUmljaGFyZHMpLCBDUkxGCisgICAgc3BsaXQgcHJvYmxlbSAoV2lsbGlhbSksIGlzc3VlcyB3aXRoIG5vbi1uYW1lc3BhY2VkIGF0dHJpYnV0ZXMgaW4KKyAgICB4bWxBZGRDaGlsZCgpIHhtbEFkZE5leHRTaWJsaW5nKCkgYW5kIHhtbEFkZFByZXZTaWJsaW5nKCkgKFJvYiBSaWNoYXJkcyksCisgICAgSFRNTCBwYXJzaW5nIG9mIHNjcmlwdCwgUHl0aG9uIG11c3Qgbm90IG91dHB1dCB0byBzdGRvdXQgKE5pYyBGZXJyaWVyKSwKKyAgICBleGNsdXNpdmUgQzE0TiBuYW1lc3BhY2UgdmlzaWJpbGl0eSAoQWxla3NleSBTYW5pbiksIFhTRCBkYXRheXBlCisgICAgdG90YWxEaWdpdHMgYnVnIChLYXNpbWllciBCdWNoY2lrKSwgZXJyb3IgaGFuZGxpbmcgd2hlbiB3cml0aW5nIHRvIGFuCisgICAgeG1sQnVmZmVyIChSb2IgUmljaGFyZHMpLCBydW50ZXN0IHNjaGVtYXMgZXJyb3Igbm90IHJlcG9ydGVkIChIaXNhc2hpCisgICAgRnVqaW5ha2EpLCBzaWduZWQvdW5zaWduZWQgcHJvYmxlbSBpbiBkYXRlL3RpbWUgY29kZSAoQWxiZXJ0IENoaW4pLCBmaXgKKyAgICBYU0kgZHJpdmVuIFhTRCB2YWxpZGF0aW9uIChLYXNpbWllciksIHBhcnNpbmcgb2YgeHM6ZGVjaW1hbCAoS2FzaW1pZXIpLAorICAgIGZpeCBEVEQgd3JpdGVyIG91dHB1dCAoUm9iIFJpY2hhcmRzKSwgbGVhayBpbiB4bWxUZXh0UmVhZGVyUmVhZElubmVyWG1sCisgICAgKEdhcnkgQ29hZHkpLCByZWdleHAgYnVnIGFmZmVjdGluZyBzY2hlbWFzIChLYXNpbWllciksIGNvbmZpZ3VyYXRpb24gb2YKKyAgICBydW50aW1lIGRlYnVnZ2luZyAoS2FzaW1pZXIpLCB4bWxOb2RlQnVmR2V0Q29udGVudCBidWcgb24gZW50aXR5IHJlZnMKKyAgICAoT2xla3NhbmRyIEtvbm9uZW5rbyksIHhtbFJlZ0V4ZWNQdXNoU3RyaW5nMiBidWcgKFNyZWVuaSBOYWlyKSwKKyAgICBjb21waWxhdGlvbiBhbmQgYnVpbGQgZml4ZXMgKE1pY2hhZWwgRGF5KSwgcmVtb3ZlZCBkZXBlbmRhbmNpZXMgb24KKyAgICB4bWxTY2hlbWFWYWxpZEVycm9yIChLYXNpbWllciksIGJ1ZyB3aXRoICZsdDt4bWw6Zm9vLyZndDssIG1vcmUgWFBhdGgKKyAgICBwYXR0ZXJuIGJhc2VkIGV2YWx1YXRpb24gZml4ZXMgKEthc2ltaWVyKTwvbGk+CisgIDxsaT5pbXByb3ZlbWVudHM6IFhTRCBTY2hlbWFzIHJlZGVmaW5pdGlvbnMvcmVzdHJpY3Rpb25zIChLYXNpbWllcgorICAgIEJ1Y2hjaWspLCBub2RlIGNvcHkgY2hlY2tzIGFuZCBmaXggZm9yIGF0dHJpYnV0ZSAoUm9iIFJpY2hhcmRzKSwgY291bnRlZAorICAgIHRyYW5zaXRpb24gYnVnIGluIHJlZ2V4cHMsIGN0eHQtJmd0O3N0YW5kYWxvbmUgPSAtMiB0byBpbmRpY2F0ZSBubworICAgIHN0YW5kYWxvbmUgYXR0cmlidXRlIHdhcyBmb3VuZCwgYWRkIHhtbFNjaGVtYVNldFBhcnNlclN0cnVjdHVyZWRFcnJvcnMoKQorICAgIChLYXNpbWllciBCdWNoY2lrKSwgYWRkIHhtbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZUN0eHQoKSB0byBBUEkKKyAgICAoS2FzaW1pZXIpLCBoYW5kbGUgZ3ppcHBlZCBIVFRQIHJlc291cmNlcyAoR2FyeSBDb2FkeSksIGFkZAorICAgIGh0bWxEb2NEdW1wTWVtb3J5Rm9ybWF0LiAoUm9iIFJpY2hhcmRzKSw8L2xpPgorICA8bGk+ZG9jdW1lbnRhdGlvbjogdHlwbyAoTWljaGFlbCBEYXkpLCBsaWJ4bWwgbWFuIHBhZ2UgKEFsYmVydCBDaGluKSwgc2F2ZQorICAgIGZ1bmN0aW9uIHRvIFhNTCBidWZmZXIgKEdlZXJ0IEphbnNlbiksIHNtYWxsIGRvYyBmaXggKEFyb24gU3RhbnN2aWspLDwvbGk+Cis8L3VsPgorCis8aDM+Mi42LjIyOiBTZXAgMTIgMjAwNTwvaDM+Cis8dWw+CisgIDxsaT5idWlsZCBmaXhlczogY29tcGlsZSB3aXRob3V0IHNjaGVtYXRyb24gKFN0w4PCqXBoYW5lIEJpZG91bCk8L2xpPgorICA8bGk+YnVnIGZpeGVzOiB4bWxEZWJ1Z0R1bXBOb2RlIG9uIG5hbWVzcGFjZSBub2RlIChPbGVnIFBhcmFzY2hlbmtvKWksCisgICAgQ0RBVEEgcHVzaCBwYXJzZXIgYnVnLCB4bWxFbGVtRHVtcCBwcm9ibGVtIHdpdGggWEhUTUwxIGRvYywKKyAgICBYTUxfRkVBVFVSRV94eHggY2xhc2ggd2l0aCBleHBhdCBoZWFkZXJzIHJlbmFtZWQgWE1MX1dJVEhfeHh4LCBmaXggc29tZQorICAgIG91dHB1dCBmb3JtYXR0aW5nIGZvciBtZXRhIGVsZW1lbnQgKFJvYiBSaWNoYXJkcyksIHNjcmlwdCBhbmQgc3R5bGUKKyAgICBYSFRNTDEgc2VyaWFsaXphdGlvbiAoRGF2aWQgTWFkb3JlKSwgQXR0cmlidXRlIGRlcml2YXRpb24gZml4dXBzIGluIFhTRAorICAgIChLYXNpbWllciBCdWNoY2lrKSwgYmV0dGVyIElEQyBlcnJvciByZXBvcnRzIChLYXNpbWllciBCdWNoY2lrKTwvbGk+CisgIDxsaT5pbXByb3ZlbWVudHM6IGFkZCBYTUxfU0FWRV9OT19FTVBUWSB4bWxTYXZlT3B0aW9uIChSb2IgUmljaGFyZHMpLCBhZGQKKyAgICBYTUxfU0FWRV9OT19YSFRNTCB4bWxTYXZlT3B0aW9uLCBYTUwgU2NoZW1hcyBpbXByb3ZlbWVudHMgcHJlcGFyaW5nIGZvcgorICAgIGRlcml2ZSAoS2FzaW1pZXIgQnVjaGNpaykuPC9saT4KKyAgPGxpPmRvY3VtZW50YXRpb246IGdlbmVyYXRpb24gb2YgZ3RrLWRvYyBsaWtlIGRvY3MsIGludGVncmF0aW9uIHdpdGgKKyAgICBkZXZoZWxwLjwvbGk+Cis8L3VsPgorCis8aDM+Mi42LjIxOiBTZXAgNCAyMDA1PC9oMz4KKzx1bD4KKyAgPGxpPmJ1aWxkIGZpeGVzOiBDeWd3aW4gcG9ydGFiaWxpdHkgZml4ZXMgKEdlcnJpdCBQLiBIYWFzZSksIGNhbGxpbmcKKyAgICBjb252ZW50aW9uIHByb2JsZW1zIG9uIFdpbmRvd3MgKE1hcmN1cyBCb2VyZ2VyKSwgY2xlYW51cHMgYmFzZWQgb24gTGludXMnCisgICAgc3BhcnNlIHRvb2wsIHVwZGF0ZSBvZiB3aW4zMi9jb25maWd1cmUuanMgKFJvYiBSaWNoYXJkcyksIHJlbW92ZSB3YXJuaW5ncworICAgIG9uIFdpbmRvd3MoTWFyY3VzIEJvZXJnZXIpLCBjb21waWxhdGlvbiB3aXRob3V0IFNBWDEsIGRldGVjdGlvbiBvZiB0aGUKKyAgICBQeXRob24gYmluYXJ5LCB1c2UgJEdDQyBpbmVzdGFkIG9mICRDQyA9ICdnY2MnIChBbmRyZXcgVy4gTm9zZW5rbyksCisgICAgY29tcGlsYXRpb24vbGluayB3aXRoIHRocmVhZHMgYW5kIG9sZCBnY2MsIGNvbXBpbGUgcHJvYmxlbSBieSBDMzcwIG9uCisgICAgWi9PUyw8L2xpPgorICA8bGk+YnVnIGZpeGVzOiBodHRwX3Byb3h5IGVudmlyb25tZW50cyAoUGV0ZXIgQnJlaXRlbmxvaG5lciksIEhUTUwgVVRGLTgKKyAgICBidWcgKEppcmkgTmV0b2xpY2t5KSwgWFBhdGggTmFOIGNvbXBhcmUgYnVnIChXaWxsaWFtIEJyYWNrKSwKKyAgICBodG1sUGFyc2VTY3JpcHQgcG90ZW50aWFsIGJ1ZywgU2NoZW1hcyByZWdleHAgaGFuZGxpbmcgb2Ygc3BhY2VzLCBCYXNlNjQKKyAgICBTY2hlbWFzIGNvbXBhcmlzb25zIE5JU1QgcGFzc2VzLCBhdXRvbWF0YSBidWlsZCBlcnJvciB4c2Q6YWxsLAorICAgIHhtbEdldE5vZGVQYXRoIGZvciBuYW1lc3BhY2VkIGF0dHJpYnV0ZXMgKEFsZXhhbmRlciBQb2hveWRhKSwgeG1sU2NoZW1hcworICAgIGZvcmVpZ24gbmFtZXNwYWNlcyBoYW5kbGluZywgWE1MIFNjaGVtYXMgZmFjZXQgY29tcGFyaXNvbiAoS3Vwcml5YW5vdgorICAgIEFuYXRvbGlqKSwgeG1sU2NoZW1hUFNpbXBsZVR5cGVFcnIgZXJyb3IgcmVwb3J0IChLYXNpbWllciBCdWNoY2lrKSwgeG1sOgorICAgIG5hbWVzcGFjZSBhaG5kbGluZyBpbiBTY2hlbWFzIChLYXNpbWllciksIGVtcHR5IG1vZGVsIGdyb3VwIGluIFNjaGVtYXMKKyAgICAoS2FzaW1pZXIpLCB3aWxjYXJkIGluIFNjaGVtYXMgKEthc2ltaWVyKSwgVVJJIGNvbXBvc2l0aW9uIChXaWxsaWFtKSwKKyAgICB4czphbnlUeXBlIGluIFNjaGVtYXMgKEthc2ltaWVyKSwgUHl0aG9uIHJlc29sdmVyIGVtbWl0dGluZyBlcnJvcgorICAgIG1lc3NhZ2VzIGRpcmVjdGx5LCBQeXRob24geG1sQXR0ci5wYXJlbnQgKEpha3ViIFBpb3RyIENsYXBhKSwgdHJ5aW5nIHRvCisgICAgZml4IHRoZSBmaWxlIHBhdGgvVVJJIGNvbnZlcnNpb24sIHhtbFRleHRSZWFkZXJHZXRBdHRyaWJ1dGUgZml4IChSb2IKKyAgICBSaWNoYXJkcyksIHhtbFNjaGVtYUZyZWVBbm5vdCBtZW1sZWFrIChLYXNpbWllciksIEhUTUwgVVRGLTgKKyAgICBzZXJpYWxpemF0aW9uLCBzdHJlYW1pbmcgWFBhdGgsIFNjaGVtYXMgZGV0ZXJtaW5pc20gZGV0ZWN0aW9uIHByb2JsZW0sCisgICAgWEluY2x1ZGUgYnVnLCBTY2hlbWFzIGNvbnRleHQgdHlwZSAoRGVhbiBIaWxsKSwgdmFsaWRhdGlvbiBmaXggKERlcmVrCisgICAgUG9vbiksIHhtbFRleHRSZWFkZXJHZXRBdHRyaWJ1dGVbTnNdIG5hbWVzcGFjZXMgKFJvYiBSaWNoYXJkcyksIFNjaGVtYXMKKyAgICB0eXBlIGZpeCAoS3ViYSBOb3dha293c2tpKSwgVVRGLTggcGFyc2VyIGJ1ZywgZXJyb3IgaW4gZW5jb2RpbmcgaGFuZGxpbmcsCisgICAgeG1sR2V0TGluZU5vIGZpeGVzLCBidWcgb24gZW50aXRpZXMgaGFuZGxpbmcsIGVudGl0eSBuYW1lIGV4dHJhY3Rpb24gaW4KKyAgICBlcnJvciBoYW5kbGluZyB3aXRoIFhJbmNsdWRlLCB0ZXh0IG5vZGVzIGluIEhUTUwgYm9keSB0YWdzIChHYXJ5IENvYWR5KSwKKyAgICB4bWw6aWQgYW5kIElEbmVzcyBhdCB0aGUgdHJlZWUgbGV2ZWwgZml4ZXMsIFhQYXRoIHN0cmVhbWluZyBwYXR0ZXJucworICBidWdzLjwvbGk+CisgIDxsaT5pbXByb3ZlbWVudHM6IHN0cnVjdHVyZWQgaW50ZXJmYWNlcyBmb3Igc2NoZW1hcyBhbmQgUk5HIGVycm9yIHJlcG9ydHMKKyAgICAoTWFyY3VzIEJvZXJnZXIpLCBvcHRpbWl6YXRpb24gb2YgdGhlIGNoYXIgZGF0YSBpbm5lciBsb29wIHBhcnNpbmcKKyAgICAodGhhbmtzIHRvIEJlaGRhZCBFc2ZhaGJvZCBmb3IgdGhlIGlkZWEpLCBzY2hlbWF0cm9uIHZhbGlkYXRpb24gdGhvdWdoCisgICAgbm90IGZpbmlzaGVkIHlldCwgeG1sU2F2ZU9wdGlvbiB0byBvbWl0IFhNTCBkZWNsYXJhdGlvbiwga2V5cmVmIG1hdGNoCisgICAgZXJyb3IgcmVwb3J0cyAoS2FzaW1pZXIpLCBmb3JtYWwgZXhwcmVzc2lvbiBoYW5kbGluZyBjb2RlIG5vdCBwbHVnZ2VkCisgICAgeWV0LCBtb3JlIGxheCBtb2RlIGZvciB0aGUgSFRNTCBwYXJzZXIsIHBhcnNlciBYTUxfUEFSU0VfQ09NUEFDVCBvcHRpb24KKyAgICBmb3IgdGV4dCBub2RlcyBhbGxvY2F0aW9uLjwvbGk+CisgIDxsaT5kb2N1bWVudGF0aW9uOiB4bWxsaW50IG1hbiBwYWdlIGhhZCAtLW5vbmV0IGR1cGxpY2F0ZWQ8L2xpPgorPC91bD4KKworPGgzPjIuNi4yMDogSnVsIDEwIDIwMDU8L2gzPgorPHVsPgorICA8bGk+YnVpbGQgZml4ZXM6IFdpbmRvd3MgYnVpbGQgKFJvYiBSaWNoYXJkcyksIE1pbmd3IGNvbXBpbGF0aW9uIChJZ29yCisgICAgWmxhdGtvdmljKSwgV2luZG93cyBNYWtlZmlsZSAoSWdvciksIGdjYyB3YXJuaW5ncyAoS2FzaW1pZXIgYW5kCisgICAgYW5kcml5QGdvb2dsZS5jb20pLCB1c2UgZ2NjIHdlYWsgcmVmZXJlbmNlcyB0byBwdGhyZWFkIHRvIGF2b2lkIHRoZQorICAgIHB0aHJlYWQgZGVwZW5kYW5jeSBvbiBMaW51eCwgY29tcGlsYXRpb24gcHJvYmxlbSAoU3RldmUgTmFpcm4pLCBjb21waWxpbmcKKyAgICBvZiBzdWJzZXQgKE1vcnRlbiBXZWxpbmRlciksIElQdjYvc3NfZmFtaWx5IGNvbXBpbGF0aW9uIChXaWxsaWFtIEJyYWNrKSwKKyAgICBjb21waWxhdGlvbiB3aGVuIGRpc2FibGluZyBwYXJ0cyBvZiB0aGUgbGlicmFyeSwgc3RhbmRhbG9uZSB0ZXN0CisgICAgZGlzdHJpYnV0aW9uLjwvbGk+CisgIDxsaT5idWcgZml4ZXM6IGJ1ZyBpbiBsYW5nKCksIG1lbW9yeSBjbGVhbnVwIG9uIGVycm9ycyAoV2lsbGlhbSBCcmFjayksCisgICAgSFRUUCBxdWVyeSBzdHJpbmdzIChBcm9uIFN0YW5zdmlrKSwgbWVtb3J5IGxlYWsgaW4gRFREIChXaWxsaWFtKSwgaW50ZWdlcgorICAgIG92ZXJmbG93IGluIFhQYXRoIChXaWxsaWFtKSwgbmFub2Z0cCBidWZmZXIgc2l6ZSwgcGF0dGVybiAiLiIgYXB0aCBmaXh1cAorICAgIChLYXNpbWllciksIGxlYWsgaW4gdHJlZSByZXBvcnRlZCBieSBNYWxjb2xtIFJvd2UsIHJlcGxhY2VOb2RlIHBhdGNoCisgICAgKEJyZW50IEhlbmRyaWNrcyksIENEQVRBIHdpdGggTlVMTCBjb250ZW50IChNYXJrIFZha29jKSwgeG1sOmJhc2UgZml4dXAKKyAgICBvbiBYSW5jbHVkZSAoV2lsbGlhbSksIHBhdHRlcm4gZml4ZXMgKFdpbGxpYW0pLCBhdHRyaWJ1dGUgYnVnIGluCisgICAgZXhjbHVzaXZlIGMxNG4gKEFsZWtzZXkgU2FuaW4pLCB4bWw6c3BhY2UgYW5kIHhtbDpsYW5nIHdpdGggU0FYMiAoUm9iCisgICAgUmljaGFyZHMpLCBuYW1lc3BhY2UgdHJvdWJsZSBpbiBjb21wbGV4IHBhcnNpbmcgKE1hbGNvbG0gUm93ZSksIFhTRCB0eXBlCisgICAgUU5hbWVzIGZpeGVzIChLYXNpbWllciksIFhQYXRoIHN0cmVhbWluZyBmaXh1cHMgKFdpbGxpYW0pLCBSZWxheE5HIGJ1ZworICAgIChSb2IgUmljaGFyZHMpLCBTY2hlbWFzIGZvciBTY2hlbWFzIGZpeGVzIChLYXNpbWllciksIHJlbW92YWwgb2YgSUQgKFJvYgorICAgIFJpY2hhcmRzKSwgYSBzbWFsbCBSZWxheE5HIGxlYWssIEhUTUwgcGFyc2luZyBpbiBwdXNoIG1vZGUgYnVnIChKYW1lcworICAgIEJ1cnNhKSwgZmFpbHVyZSB0byBkZXRlY3QgVVRGLTggcGFyc2luZyBidWdzIGluIENEQVRBIHNlY3Rpb25zLAorICAgIGFyZUJsYW5rcygpIGhldXJpc3RpYyBmYWlsdXJlLCBkdXBsaWNhdGUgYXR0cmlidXRlcyBpbiBEVEQgYnVnCisgIChXaWxsaWFtKS48L2xpPgorICA8bGk+aW1wcm92ZW1lbnRzOiBsb3Qgb2Ygd29yayBvbiBTY2hlbWFzIGJ5IEthc2ltaWVyIEJ1Y2hjaWsgYm90aCBvbgorICAgIGNvbmZvcm1hbmNlIGFuZCBzdHJlYW1pbmcsIFNjaGVtYXMgdmFsaWRhdGlvbiBtZXNzYWdlcyAoS2FzaW1pZXIgQnVjaGNpaywKKyAgICBNYXR0aGV3IEJ1cmdlc3MpLCBuYW1lc3BhY2UgcmVtb3ZhbCBhdCB0aGUgcHl0aG9uIGxldmVsIChCcmVudAorICAgIEhlbmRyaWNrcyksIFVwZGF0ZSB0byBuZXcgU2NoZW1hcyByZWdyZXNzaW9uIHRlc3RzIGZyb20gVzNDL05pc3QKKyAgICAoS2FzaW1pZXIpLCB4bWxTY2hlbWFWYWxpZGF0ZUZpbGUoKSAoS2FzaW1pZXIpLCBpbXBsZW1lbnRhdGlvbiBvZgorICAgIHhtbFRleHRSZWFkZXJSZWFkSW5uZXJYbWwgYW5kIHhtbFRleHRSZWFkZXJSZWFkT3V0ZXJYbWwgKEphbWVzIFdlcnQpLAorICAgIHN0YW5kYWxvbmUgdGVzdCBmcmFtZXdvcmsgYW5kIHByb2dyYW1zLCBuZXcgRE9NIGltcG9ydCBBUElzCisgICAgeG1sRE9NV3JhcFJlY29uY2lsZU5hbWVzcGFjZXMoKSB4bWxET01XcmFwQWRvcHROb2RlKCkgYW5kCisgICAgeG1sRE9NV3JhcFJlbW92ZU5vZGUoKSwgZXh0ZW5zaW9uIG9mIHhtbGxpbnQgY2FwYWJpbGl0aWVzIGZvciBTQVggYW5kCisgICAgU2NoZW1hcyByZWdyZXNzaW9uIHRlc3RzLCB4bWxTdG9wUGFyc2VyKCkgYXZhaWxhYmxlIGluIHB1bGwgbW9kZSB0b28sCisgICAgaWVuaGFuY2VtZW50IHRvIHhtbGxpbnQgLS1zaGVsbCBuYW1lc3BhY2VzIHN1cHBvcnQsIFdpbmRvd3MgcG9ydCBvZiB0aGUKKyAgICBzdGFuZGFsb25lIHRlc3RpbmcgdG9vbHMgKEthc2ltaWVyIGFuZCBXaWxsaWFtKSwKKyAgICB4bWxTY2hlbWFWYWxpZGF0ZVN0cmVhbSgpIHhtbFNjaGVtYVNBWFBsdWcoKSBhbmQgeG1sU2NoZW1hU0FYVW5wbHVnKCkgU0FYCisgICAgU2NoZW1hcyBBUElzLCBTY2hlbWFzIHhtbFJlYWRlciBzdXBwb3J0LjwvbGk+Cis8L3VsPgorCis8aDM+Mi42LjE5OiBBcHIgMDIgMjAwNTwvaDM+Cis8dWw+CisgIDxsaT5idWlsZCBmaXhlczogZHJvcCAubGEgZnJvbSBSUE1zLCAtLXdpdGgtbWluaW11bSBidWlsZCBmaXggKFdpbGxpYW0KKyAgICBCcmFjayksIHVzZSBYTUxfU09DS0xFTl9UIGluc3RlYWQgb2YgU09DS0xFTl9UIGJlY2F1c2UgaXQgYnJlYWtzIHdpdGggQUlYCisgICAgNS4zIGNvbXBpbGVyLCBmaXhlZCBlbGZnY2NoYWNrLmggZ2VuZXJhdGlvbiBhbmQgUExUIHJlZHVjdGlvbiBjb2RlIG9uCisgICAgTGludXgvRUxGL2djYzQ8L2xpPgorICA8bGk+YnVnIGZpeGVzOiBzY2hlbWFzIHR5cGUgZGVjaW1hbCBmaXh1cHMgKFdpbGxpYW0gQnJhY2spLCB4bW1saW50IHJldHVybgorICAgIGNvZGUgKEdlcnJ5IE11cnBoeSksIHNtYWxsIHNjaGVtYXMgZml4ZXMgKE1hdHRoZXcgQnVyZ2VzcyBhbmQgR1VZCisgICAgRmFicmljZSksIHdvcmthcm91bmQgIkRBVjoiIG5hbWVzcGFjZSBicm9rZW5lc3MgaW4gYzE0biAoQWxla3NleSBTYW5pbiksCisgICAgc2VnZmF1bHQgaW4gU2NoZW1hcyAoS2FzaW1pZXIgQnVjaGNpayksIFNjaGVtYXMgYXR0cmlidXRlIHZhbGlkYXRpb24KKyAgICAoS2FzaW1pZXIpLCBQcm9wIHJlbGF0ZWQgZnVuY3Rpb25zIGFuZCB4bWxOZXdOb2RlRWF0TmFtZSAoUm9iIFJpY2hhcmRzKSwKKyAgICBIVE1MIHNlcmlhbGl6YXRpb24gb2YgbmFtZSBhdHRyaWJ1dGUgb24gYSBlbGVtZW50cywgUHl0aG9uIGVycm9yIGhhbmRsZXJzCisgICAgbGVha3MgYW5kIGltcHJvdmVtZW50IChCcmVudCBIZW5kcmlja3MpLCB1bmluaXRpYWxpemVkIHZhcmlhYmxlIGluCisgICAgZW5jb2RpbmcgY29kZSwgUmVsYXgtTkcgdmFsaWRhdGlvbiBidWcsIHBvdGVudGlhbCBjcmFzaCBpZgorICAgIGdub3JhYmxlV2hpdGVzcGFjZSBpcyBOVUxMLCB4bWxTQVhQYXJzZURvYyBhbmQgeG1sUGFyc2VEb2Mgc2lnbmF0dXJlcywKKyAgICBzd2l0Y2hlZCBiYWNrIHRvIGFzc3VtaW5nIFVURi04IGluIGNhc2Ugbm8gZW5jb2RpbmcgaXMgZ2l2ZW4gYXQKKyAgICBzZXJpYWxpemF0aW9uIHRpbWU8L2xpPgorICA8bGk+aW1wcm92ZW1lbnRzOiBsb3Qgb2Ygd29yayBvbiBTY2hlbWFzIGJ5IEthc2ltaWVyIEJ1Y2hjaWsgb24gZmFjZXRzCisgICAgY2hlY2tpbmcgYW5kIGFsc28gbWl4ZWQgaGFuZGxpbmcuPC9saT4KKyAgPGxpPjwvbGk+Cis8L3VsPgorCis8aDM+Mi42LjE4OiBNYXIgMTMgMjAwNTwvaDM+Cis8dWw+CisgIDxsaT5idWlsZCBmaXhlczogd2FybmluZ3MgKFBldGVyIEJyZWl0ZW5sb2huZXIpLCB0ZXN0YXBpLmMgZ2VuZXJhdGlvbiwKKyAgICBCYWtlZmlsZSBzdXBwb3J0IChGcmFuY2VzY28gTW9udG9yc2kpLCBXaW5kb3dzIGNvbXBpbGF0aW9uIChKb2VsIFJlZWQpLAorICAgIHNvbWUgZ2NjNCBmaXhlcywgSFAtVVggcG9ydGFiaWxpdHkgZml4ZXMgKFJpY2sgSm9uZXMpLjwvbGk+CisgIDxsaT5idWcgZml4ZXM6IHhtbFNjaGVtYUVsZW1lbnREdW1wIG5hbWVzcGFjZSAoS2FzaW1pZXIgQnVjaGNpayksIHB1c2ggYW5kCisgICAgeG1scmVhZGVyIHN0b3BwaW5nIG9uIG5vbi1mYXRhbCBlcnJvcnMsIHRocmVhZCBzdXBwb3J0IGZvciBkaWN0aW9ubmFyaWVzCisgICAgcmVmZXJlbmNlIGNvdW50aW5nIChHYXJ5IENvYWR5KSwgaW50ZXJuYWwgc3Vic2V0IGFuZCBwdXNoIHByb2JsZW0sIFVSTAorICAgIHNhdmVkIGluIHhtbENvcHlEb2MsIHZhcmlvdXMgc2NoZW1hcyBidWcgZml4ZXMgKEthc2ltaWVyKSwgUHl0aG9uIHBhdGhzCisgICAgZml4dXAgKFN0ZXBoYW5lIEJpZG91bCksIHhtbEdldE5vZGVQYXRoIGFuZCBuYW1lc3BhY2VzLCB4bWxTZXROc1Byb3AgZml4CisgICAgKE1pa2UgSG9tbWV5KSwgd2FybmluZyBzaG91bGQgbm90IGNvdW50IGFzIGVycm9yIChXaWxsaWFtIEJyYWNrKSwKKyAgICB4bWxDcmVhdGVQdXNoUGFyc2VyIGVtcHR5IGNodW5rLCBYSW5jbHVkZSBwYXJzZXIgZmxhZ3MgKFdpbGxpYW0pLCBjbGVhbnVwCisgICAgRlRQIGFuZCBIVFRQIGNvZGUgdG8gcmV1c2UgdGhlIHVyaSBwYXJzaW5nIGFuZCBJUHY2IChXaWxsaWFtKSwKKyAgICB4bWxUZXh0V3JpdGVyU3RhcnRBdHRyaWJ1dGVOUyBmaXggKFJvYiBSaWNoYXJkcyksIFhNTExJTlRfSU5ERU5UIGJlaW5nCisgICAgZW1wdHkgKFdpbGxpYW0pLCB4bWxXcml0ZXIgYnVncyAoUm9iIFJpY2hhcmRzKSwgbXVsdGl0aHJlYWRpbmcgb24gV2luZG93cworICAgIChSaWNoIFNhbHopLCB4bWxTZWFyY2hOc0J5SHJlZiBmaXggKEthc2ltaWVyKSwgUHl0aG9uIGJpbmRpbmcgbGVhayAoQnJlbnQKKyAgICBIZW5kcmlja3MpLCBhbGlhc2luZyBidWcgZXhwb3NlZCBieSBnY2M0IG9uIHMzOTAsIHhtbFRleHRSZWFkZXJOZXh0IGJ1ZworICAgIChSb2IgUmljaGFyZHMpLCBTY2hlbWFzIGRlY2ltYWwgdHlwZSBmaXhlcyAoV2lsbGlhbSBCcmFjayksCisgICAgeG1sQnl0ZUNvbnN1bWVkIHN0YXRpYyBidWZmZXIgKEJlbiBNYXVyZXIpLjwvbGk+CisgIDxsaT5pbXByb3ZlbWVudDogc3BlZWR1cCBwYXJzaW5nIGNvbW1lbnRzIGFuZCBEVERzLCBkaWN0aW9ubmFyeSBzdXBwb3J0IGZvcgorICAgIGhhc2ggdGFibGVzLCBTY2hlbWFzIElkZW50aXR5IGNvbnN0cmFpbnRzIChLYXNpbWllciksIHN0cmVhbWluZyBYUGF0aAorICAgIHN1YnNldCwgeG1sVGV4dFJlYWRlclJlYWRTdHJpbmcgYWRkZWQgKEJqb3JuIFJlZXNlKSwgU2NoZW1hcyBjYW5vbmljYWwKKyAgICB2YWx1ZXMgaGFuZGxpbmcgKEthc2ltaWVyKSwgYWRkIHhtbFRleHRSZWFkZXJCeXRlQ29uc3VtZWQgKEFyb24KKyAgU3RhbnN2aWspLDwvbGk+CisgIDxsaT5Eb2N1bWVudGF0aW9uOiBXaWtpIHN1cHBvcnQgKEpvZWwgUmVlZCk8L2xpPgorPC91bD4KKworPGgzPjIuNi4xNzogSmFuIDE2IDIwMDU8L2gzPgorPHVsPgorICA8bGk+YnVpbGQgZml4ZXM6IFdpbmRvd3MsIHdhcm5pbmdzIHJlbW92YWwgKFdpbGxpYW0gQnJhY2spLAorICAgIG1haW50YWluZXItY2xlYW4gZGVwZW5kZW5jeShXaWxsaWFtKSwgYnVpbGQgaW4gYSBkaWZmZXJlbnQgZGlyZWN0b3J5CisgICAgKFdpbGxpYW0pLCBmaXhpbmcgLS13aXRoLW1pbmltdW0gY29uZmlndXJlIGJ1aWxkIChXaWxsaWFtKSwgQmVPUyBidWlsZAorICAgIChNYXJjaW4gS29uaWNraSksIFB5dGhvbi0yLjQgZGV0ZWN0aW9uIChXaWxsaWFtKSwgY29tcGlsYXRpb24gb24gQUlYIChEYW4KKyAgICBNY05pY2hvbCk8L2xpPgorICA8bGk+YnVnIGZpeGVzOiB4bWxUZXh0UmVhZGVySGFzQXR0cmlidXRlcyAoUm9iIFJpY2hhcmRzKSwgeG1sQ3R4dFJlYWRGaWxlKCkKKyAgICB0byB1c2UgdGhlIGNhdGFsb2cocyksIGxvb3Agb24gb3V0cHV0IChXaWxsaWFtIEJyYWNrKSwgWFBhdGggbWVtb3J5IGxlYWssCisgICAgSUQgZGVhbGxvY2F0aW9uIHByb2JsZW0gKFN0ZXZlIFNoZXBhcmQpLCBkZWJ1Z0R1bXBOb2RlIGNyYXNoIChXaWxsaWFtKSwKKyAgICB3YXJuaW5nIG5vdCB1c2luZyBlcnJvciBjYWxsYmFjayAoV2lsbGlhbSksIHhtbFN0b3BQYXJzZXIgYnVnIChXaWxsaWFtKSwKKyAgICBVVEYtMTYgd2l0aCBCT00gb24gRFREcyAoV2lsbGlhbSksIG5hbWVzcGFjZSBidWcgb24gZW1wdHkgZWxlbWVudHMgaW4KKyAgICBwdXNoIG1vZGUgKFJvYiBSaWNoYXJkcyksIGxpbmUgYW5kIGNvbCBjb21wdXRhdGlvbnMgZml4dXBzIChBbGVrc2V5CisgICAgU2FuaW4pLCB4bWxVUklFc2NhcGUgZml4IChXaWxsaWFtKSwgeG1sWFBhdGhFcnIgb24gYmFkIHJhbmdlIChXaWxsaWFtKSwKKyAgICBwYXR0ZXJucyB3aXRoIHRvbyBtYW55IHN0ZXBzLCBidWcgaW4gUk5HIGNob2ljZSBvcHRpbWl6YXRpb24sIGxpbmUgbnVtYmVyCisgICAgc29tZXRpbWVzIG1pc3NpbmcuPC9saT4KKyAgPGxpPmltcHJvdmVtZW50czogWFNEIFNjaGVtYXMgKEthc2ltaWVyIEJ1Y2hjaWspLCBweXRob24gZ2VuZXJhdG9yCisgICAgKFdpbGxpYW0pLCB4bWxVVEY4U3RycG9zIHNwZWVkdXAgKFdpbGxpYW0pLCB1bmljb2RlIFB5dGhvbiBzdHJpbmdzCisgICAgKFdpbGxpYW0pLCBYU0QgZXJyb3IgcmVwb3J0cyAoS2FzaW1pZXIgQnVjaGNpayksIFB5dGhvbiBfX3N0cl9fIGNhbGwKKyAgICBzZXJpYWxpemUoKS48L2xpPgorICA8bGk+bmV3IEFQSXM6IGFkZGVkIHhtbERpY3RFeGlzdHMoKSwgR2V0TGluZU51bWJlciBhbmQgR2V0Q29sdW1uTnVtYmVyIGZvcgorICAgIHRoZSB4bWxSZWFkZXIgKEFsZWtzZXkgU2FuaW4pLCBEeW5hbWljIFNoYXJlZCBMaWJyYXJpZXMgQVBJcyAobW9zdGx5IEpvZWwKKyAgICBSZWVkKSwgZXJyb3IgZXh0cmFjdGlvbiBBUEkgZnJvbSByZWdleHBzLCBuZXcgWE1MU2F2ZSBvcHRpb24gZm9yIGZvcm1hdAorICAgIChQaGlsIFNoYWZlcik8L2xpPgorICA8bGk+ZG9jdW1lbnRhdGlvbjogc2l0ZSBpbXByb3ZlbWVudCAoSm9obiBGbGVjayksIEZBUSBlbnRyaWVzCisgIChXaWxsaWFtKS48L2xpPgorPC91bD4KKworPGgzPjIuNi4xNjogTm92IDEwIDIwMDQ8L2gzPgorPHVsPgorICA8bGk+Z2VuZXJhbCBoYXJkZW5pbmcgYW5kIGJ1ZyBmaXhpbmcgY3Jvc3NpbmcgYWxsIHRoZSBBUEkgYmFzZWQgb24gbmV3CisgICAgYXV0b21hdGVkIHJlZ3Jlc3Npb24gdGVzdGluZzwvbGk+CisgIDxsaT5idWlsZCBmaXg6IElQdjYgYnVpbGQgYW5kIHRlc3Qgb24gQUlYIChEb2RqaSBTZWtldGVsaSk8L2xpPgorICA8bGk+YnVnIGZpeGVzOiBwcm9ibGVtIHdpdGggWE1MOjpMaWJ4bWwgcmVwb3J0ZWQgYnkgUGV0ciBQYWphcywgIGVuY29kaW5nCisgICAgY29udmVyc2lvbiBmdW5jdGlvbnMgcmV0dXJuIHZhbHVlcywgVVRGLTggYnVnIGFmZmVjdGluZyBYUGF0aCByZXBvcnRlZCBieQorICAgIE1hcmt1cyBCZXJ0aGVhdSwgY2F0YWxvZyBwcm9ibGVtIHdpdGggTlVMTCBlbnRyaWVzIChXaWxsaWFtIEJyYWNrKTwvbGk+CisgIDxsaT5kb2N1bWVudGF0aW9uOiBmaXggdG8geG1sbGludCBtYW4gcGFnZSwgc29tZSBBUEkgZnVuY3Rpb24gZGVzY3JpdHBpb24KKyAgICB3ZXJlIHVwZGF0ZWQuPC9saT4KKyAgPGxpPmltcHJvdmVtZW50czogRFREIHZhbGlkYXRpb24gQVBJcyBwcm92aWRlZCBhdCB0aGUgUHl0aG9uIGxldmVsIChCcmVudAorICAgIEhlbmRyaWNrcyk8L2xpPgorPC91bD4KKworPGgzPjIuNi4xNTogT2N0IDI3IDIwMDQ8L2gzPgorPHVsPgorICA8bGk+c2VjdXJpdHkgZml4ZXMgb24gdGhlIG5hbm9mdHAgYW5kIG5hbm9odHRwIG1vZHVsZXM8L2xpPgorICA8bGk+YnVpbGQgZml4ZXM6IHhtbGxpbnQgZGV0ZWN0aW9uIGJ1ZyBpbiBjb25maWd1cmUsIGJ1aWxkaW5nIG91dHNpZGUgdGhlCisgICAgc291cmNlIHRyZWUgKFRob21hcyBGaXR6c2ltbW9ucyk8L2xpPgorICA8bGk+YnVnIGZpeGVzOiBIVE1MIHBhcnNlciBvbiBicm9rZW4gQVNDSUkgY2hhcnMgaW4gbmFtZXMgKFdpbGxpYW0pLCBQeXRob24KKyAgICBwYXRocyAoTWFsY29sbSBUcmVkaW5uaWNrKSwgeG1sSGFzTnNQcm9wIGFuZCBkZWZhdWx0IG5hbWVzcGFjZSAoV2lsbGlhbSksCisgICAgc2F2aW5nIHRvIHB5dGhvbiBmaWxlIG9iamVjdHMgKE1hbGNvbG0gVHJlZGlubmljayksIERURCBsb29rdXAgZml4CisgICAgKE1hbGNvbG0pLCBzYXZlIGJhY2sgJmx0O2dyb3VwJmd0OyBpbiBjYXRhbG9ncyAoV2lsbGlhbSksIHRyZWUgYnVpbGQKKyAgICBmaXhlcyAoRFYgYW5kIFJvYiBSaWNoYXJkcyksIFNjaGVtYXMgbWVtb3J5IGJ1Zywgc3RydWN0dXJlZCBlcnJvciBoYW5kbGVyCisgICAgb24gUHl0aG9uIDY0Yml0cywgdGhyZWFkIGxvY2FsIG1lbW9yeSBkZWFsbG9jYXRpb24sIG1lbW9yeSBsZWFrIHJlcG9ydGVkCisgICAgYnkgVm9sa2VyIFJvdGgsIHhtbFZhbGlkYXRlRHRkIGluIHRoZSBwcmVzZW5jZSBvZiBhbiBpbnRlcm5hbCBzdWJzZXQsCisgICAgZW50aXRpZXMgYW5kIF9wcml2YXRlIHByb2JsZW0gKFdpbGxpYW0pLCB4bWxCdWlsZFJlbGF0aXZlVVJJIGVycm9yCisgICAgKFdpbGxpYW0pLjwvbGk+CisgIDxsaT5pbXByb3ZlbWVudHM6IGJldHRlciBYSW5jbHVkZSBlcnJvciByZXBvcnRzIChXaWxsaWFtKSwgdHJlZSBkZWJ1Z2dpbmcKKyAgICBtb2R1bGUgYW5kIHRlc3RzLCBjb252ZW5pZW5jZSBmdW5jdGlvbnMgYXQgdGhlIFJlYWRlciBBUEkgKEdyYWhhbQorICAgIEJlbm5ldHQpLCBhZGQgc3VwcG9ydCBmb3IgUEkgaW4gdGhlIEhUTUwgcGFyc2VyLjwvbGk+Cis8L3VsPgorCis8aDM+Mi42LjE0OiBTZXAgMjkgMjAwNDwvaDM+Cis8dWw+CisgIDxsaT5idWlsZCBmaXhlczogY29uZmlndXJlIHBhdGhzIGZvciB4bWxsaW50IGFuZCB4c2x0cHJvYywgY29tcGlsYXRpb24KKyAgICB3aXRob3V0IEhUTUwgcGFyc2VyLCBjb21waWxhdGlvbiB3YXJuaW5nIGNsZWFudXBzIChXaWxsaWFtIEJyYWNrICZhbXA7CisgICAgTWFsY29sbSBUcmVkaW5uaWNrKSwgVk1TIG1ha2VmaWxlIHVwZGF0ZSAoQ3JhaWcgQmVycnkpLDwvbGk+CisgIDxsaT5idWcgZml4ZXM6IHhtbEdldFVURjhDaGFyIChXaWxsaWFtIEJyYWNrKSwgUU5hbWUgcHJvcGVydGllcyAoS2FzaW1pZXIKKyAgICBCdWNoY2lrKSwgWEluY2x1ZGUgdGVzdGluZywgTm90YXRpb24gc2VyaWFsaXphdGlvbiwgVVRGOFRvSVNPODg1OXgKKyAgICB0cmFuc2NvZGluZyAoTWFyayBJdHpjb3ZpdHopLCBsb3RzIG9mIFhNTCBTY2hlbWFzIGNsZWFudXAgYW5kIGZpeGVzCisgICAgKEthc2ltaWVyKSwgQ2hhbmdlTG9nIGNsZWFudXAgKFN0ZXBhbiBLYXNhbCksIG1lbW9yeSBmaXhlcyAoTWFyayBWYWtvYyksCisgICAgaGFuZGxpbmcgb2YgZmFpbGVkIHJlYWxsb2MoKSwgb3V0IG9mIGJvdW5kIGFycmF5IGFkcmVzc2luZyBpbiBTY2hlbWFzCisgICAgZGF0ZSBoYW5kbGluZywgUHl0aG9uIHNwYWNlL3RhYnMgY2xlYW51cHMgKE1hbGNvbG0gVHJlZGlubmljayksIE5NVE9LRU5TCisgICAgRTIwIHZhbGlkYXRpb24gZml4IChNYWxjb2xtKSw8L2xpPgorICA8bGk+aW1wcm92ZW1lbnRzOiBhZGRlZCBXM0MgWE1MIFNjaGVtYXMgdGVzdHN1aXRlIChLYXNpbWllciBCdWNoY2lrKSwgYWRkCisgICAgeG1sU2NoZW1hVmFsaWRhdGVPbmVFbGVtZW50IChLYXNpbWllciksIFB5dGhvbiBleGNlcHRpb24gaGllcmVhcmNoeQorICAgIChNYWxjb2xtIFRyZWRpbm5pY2spLCBQeXRob24gbGlieG1sMiBkcml2ZXIgaW1wcm92ZW1lbnQgKE1hbGNvbG0KKyAgICBUcmVkaW5uaWNrKSwgU2NoZW1hcyBzdXBwb3J0IGZvciB4c2k6c2NoZW1hTG9jYXRpb24sCisgICAgeHNpOm5vTmFtZXNwYWNlU2NoZW1hTG9jYXRpb24sIHhzaTp0eXBlIChLYXNpbWllciBCdWNoY2lrKTwvbGk+Cis8L3VsPgorCis8aDM+Mi42LjEzOiBBdWcgMzEgMjAwNDwvaDM+Cis8dWw+CisgIDxsaT5idWlsZCBmaXhlczogV2luZG93cyBhbmQgemxpYiAoSWdvciBabGF0a292aWMpLCAtTyBmbGFnIHdpdGggZ2NjLAorICAgIFNvbGFyaXMgY29tcGlsZXIgd2FybmluZywgZml4aW5nIFJQTSBCdWlsZFJlcXVpcmVzLDwvbGk+CisgIDxsaT5maXhlczogRFREIGxvYWRpbmcgb24gV2luZG93cyAoSWdvciksIFNjaGVtYXMgZXJyb3IgcmVwb3J0cyBBUElzCisgICAgKEthc2ltaWVyIEJ1Y2hjaWspLCBTY2hlbWFzIHZhbGlkYXRpb24gY3Jhc2gsIHhtbENoZWNrVVRGOCAoV2lsbGlhbSBCcmFjaworICAgIGFuZCBKdWxpdXMgTWl0dGVuendlaSksIFNjaGVtYXMgZmFjZXQgY2hlY2sgKEthc2ltaWVyKSwgZGVmYXVsdCBuYW1lc3BhY2UKKyAgICBwcm9ibGVtIChXaWxsaWFtKSwgU2NoZW1hcyBoZXhiaW5hcnkgZW1wdHkgdmFsdWVzLCBlbmNvZGluZyBlcnJvciBjb3VsZAorICAgIGdlbnJhdGUgYSBzZXJpYWxpemF0aW9uIGxvb3AuPC9saT4KKyAgPGxpPkltcHJvdmVtZW50czogU2NoZW1hcyB2YWxpZGl0eSBpbXByb3ZlbWVudHMgKEthc2ltaWVyKSwgYWRkZWQgLS1wYXRoCisgICAgYW5kIC0tbG9hZC10cmFjZSBvcHRpb25zIHRvIHhtbGxpbnQ8L2xpPgorICA8bGk+ZG9jdW1lbnRhdGlvbjogdHV0b3JpYWwgdXBkYXRlIChKb2huIEZsZWNrKTwvbGk+Cis8L3VsPgorCis8aDM+Mi42LjEyOiBBdWcgMjIgMjAwNDwvaDM+Cis8dWw+CisgIDxsaT5idWlsZCBmaXhlczogZml4IC0td2l0aC1taW5pbXVtLCBlbGZnY2NoYWNrLmggZml4ZXMgKFBldGVyCisgICAgQnJlaXRlbmxvaG5lciksIHBlcmwgcGF0aCBsb29rdXAgKFdpbGxpYW0pLCBkaWZmIG9uIFNvbGFyaXMgKEFsYmVydAorICAgIENoaW4pLCBzb21lIDY0Yml0cyBjbGVhbnVwcy48L2xpPgorICA8bGk+UHl0aG9uOiBhdm9pZCBhIHdhcm5pbmcgd2l0aCAyLjMgKFdpbGxpYW0gQnJhY2spLCB0YWIgYW5kIHNwYWNlIG1peGVzCisgICAgKFdpbGxpYW0pLCB3cmFwcGVyIGdlbmVyYXRvciBmaXhlcyAoV2lsbGlhbSksIEN5Z3dpbiBzdXBwb3J0IChHZXJyaXQgUC4KKyAgICBIYWFzZSksIG5vZGUgd3JhcHBlciBmaXggKE1hcmMtQW50b2luZSBQYXJlbnQpLCBYTUwgU2NoZW1hcyBzdXBwb3J0CisgICAgKFRvcmtlbCBMeW5nKTwvbGk+CisgIDxsaT5TY2hlbWFzOiBhIGxvdCBvZiBidWcgZml4ZXMgYW5kIGltcHJvdmVtZW50cyBmcm9tIEthc2ltaWVyIEJ1Y2hjaWs8L2xpPgorICA8bGk+Zml4ZXM6IFJWVCBmaXhlcyAoV2lsbGlhbSksIFhQYXRoIGNvbnRleHQgcmVzZXRzIGJ1ZyAoV2lsbGlhbSksIG1lbW9yeQorICAgIGRlYnVnIChTdGV2ZSBIYXkpLCBjYXRhbG9nIHdoaXRlIHNwYWNlIGhhbmRsaW5nIChQZXRlciBCcmVpdGVubG9obmVyKSwKKyAgICB4bWxSZWFkZXIgc3RhdGUgYWZ0ZXIgYXR0cmlidXRlIHJlYWRpbmcgKFdpbGxpYW0pLCBzdHJ1Y3R1cmVkIGVycm9yCisgICAgaGFuZGxlciAoV2lsbGlhbSksIFhJbmNsdWRlIGdlbmVyYXRlZCB4bWw6YmFzZSBmaXh1cCAoV2lsbGlhbSksIFdpbmRvd3MKKyAgICBtZW1vcnkgcmVhbGxvY2F0aW9uIHByb2JsZW0gKFN0ZXZlIEhheSksIE91dCBvZiBNZW1vcnkgY29uZGl0aW9ucworICAgIGhhbmRsaW5nIChXaWxsaWFtIGFuZCBPbGl2aWVyIEFuZHJpZXUpLCBodG1sTmV3RG9jKCkgY2hhcnNldCBidWcsCisgICAgaHRtbFJlYWRNZW1vcnkgaW5pdCAoV2lsbGlhbSksIGEgcG9zdGVyaW9yaSB2YWxpZGF0aW9uIERURCBiYXNlCisgICAgKFdpbGxpYW0pLCBub3RhdGlvbnMgc2VyaWFsaXphdGlvbiBtaXNzaW5nLCB4bWxHZXROb2RlUGF0aCAoRG9kamkpLAorICAgIHhtbENoZWNrVVRGOCAoRGllZ28gVGFydGFyYSksIG1pc3NpbmcgbGluZSBudW1iZXJzIG9uIGVudGl0eQorICAoV2lsbGlhbSk8L2xpPgorICA8bGk+aW1wcm92ZW1lbnRzOiBEb2NCb29rIGNhdGFsb2cgYnVpbGQgc2NyaXAgKFdpbGxpYW0pLCB4bWxjYXRhbG9nIHRvb2wKKyAgICAoQWxiZXJ0IENoaW4pLCB4bWxsaW50IC0tYzE0biBvcHRpb24sIG5vX3Byb3h5IGVudmlyb25tZW50IChNaWtlIEhvbW1leSksCisgICAgeG1sUGFyc2VJbk5vZGVDb250ZXh0KCkgYWRkaXRpb24sIGV4dGVuZCB4bWxsaW50IC0tc2hlbGwsIGFsbG93IFhJbmNsdWRlCisgICAgdG8gbm90IGdlbmVyYXRlIHN0YXJ0L2VuZCBub2RlcywgZXh0ZW5kIHhtbGxpbnQgLS12ZXJzaW9uIHRvIGluY2x1ZGUgQ1ZTCisgICAgdGFnIChXaWxsaWFtKTwvbGk+CisgIDxsaT5kb2N1bWVudGF0aW9uOiB3ZWIgcGFnZXMgZml4ZXMsIHZhbGlkaXR5IEFQSSBkb2NzIGZpeGVzIChXaWxsaWFtKQorICAgIHNjaGVtYXMgQVBJIGZpeCAoRXJpYyBIYXN6bGFraWV3aWN6KSwgeG1sbGludCBtYW4gcGFnZSAoSm9obiBGbGVjayk8L2xpPgorPC91bD4KKworPGgzPjIuNi4xMTogSnVseSA1IDIwMDQ8L2gzPgorPHVsPgorICA8bGk+U2NoZW1hczogYSBsb3Qgb2YgY2hhbmdlcyBhbmQgaW1wcm92ZW1lbnRzIGJ5IEthc2ltaWVyIEJ1Y2hjaWsgZm9yCisgICAgYXR0cmlidXRlcywgbmFtZXNwYWNlcyBhbmQgc2ltcGxlIHR5cGVzLjwvbGk+CisgIDxsaT5idWlsZCBmaXhlczogLS13aXRoLW1pbmltdW0gKFdpbGxpYW0gQnJhY2spLCAgc29tZSBnY2MgY2xlYW51cAorICAgIChXaWxsaWFtKSwgLS13aXRoLXRocmVhZC1hbGxvYyAoV2lsbGlhbSk8L2xpPgorICA8bGk+cG9ydGFiaWxpdHk6IFdpbmRvd3MgYmluYXJ5IHBhY2thZ2UgY2hhbmdlIChJZ29yIFpsYXRrb3ZpYyksIENhdGFsb2cKKyAgICBwYXRoIG9uIFdpbmRvd3M8L2xpPgorICA8bGk+ZG9jdW1lbnRhdGlvbjogdXBkYXRlIHRvIHRoZSB0dXRvcmlhbCAoSm9obiBGbGVjayksIHhtbGxpbnQgcmV0dXJuIGNvZGUKKyAgICAoSm9obiBGbGVjayksIG1hbiBwYWdlcyAoVmlsbGUgU2t5dHRhKSw8L2xpPgorICA8bGk+YnVnIGZpeGVzOiBDMTROIGJ1ZyBzZXJpYWxpemluZyBuYW1lc3BhY2VzIChBbGVrc2V5IFNhbmluKSwgdGVzdFNBWAorICAgIHByb3Blcmx5IGluaXRpYWxpemUgdGhlIGxpYnJhcnkgKFdpbGxpYW0pLCBlbXB0eSBub2RlIHNldCBpbiBYUGF0aAorICAgIChXaWxsaWFtKSwgeG1sU2NoZW1hcyBlcnJvcnMgKFdpbGxpYW0pLCBpbnZhbGlkIGNoYXJyZWYgcHJvYmxlbSBwb2ludGVkCisgICAgYnkgTW9ydXMgV2FsdGVyLCBYSW5jbHVkZSB4bWw6YmFzZSBnZW5lcmF0aW9uIChXaWxsaWFtKSwgUmVsYXgtTkcgYnVnCisgICAgd2l0aCBkaXYgcHJvY2Vzc2luZyAoV2lsbGlhbSksIFhQb2ludGVyIGFuZCB4bWw6YmFzZSBwcm9ibGVtKFdpbGxpYW0pLAorICAgIFJlYWRlciBhbmQgZW50aXRpZXMsIHhtbGxpbnQgcmV0dXJuIGNvZGUgZm9yIHNjaGVtYXMgKFdpbGxpYW0pLCByZWFkZXIKKyAgICBzdHJlYW1pbmcgcHJvYmxlbSAoU3RldmUgQmFsbCksIERURCBzZXJpYWxpemF0aW9uIHByb2JsZW0gKFdpbGxpYW0pLAorICAgIGxpYnhtbC5tNCBmaXhlcyAoTWlrZSBIb21tZXkpLCBkbyBub3QgcHJvdmlkZSBkZXN0cnVjdG9ycyBhcyBtZXRob2RzIG9uCisgICAgUHl0aG9uIGNsYXNzZXMsIHhtbFJlYWRlciBidWZmZXIgYnVnLCBQeXRob24gYmluZGluZ3MgbWVtb3J5IGludGVyZmFjZXMKKyAgICBpbXByb3ZlbWVudCAod2l0aCBTdMODwqlwaGFuZSBCaWRvdWwpLCBGaXhlZCB0aGUgcHVzaCBwYXJzZXIgdG8gYmUgYmFjayB0bworICAgIHN5bmNocm9ub3VzIGJlaGF2aW91ci48L2xpPgorICA8bGk+aW1wcm92ZW1lbnQ6IGN1c3RvbSBwZXItdGhyZWFkIEkvTyBlbmhhbmNlbWVudCAoUm9iIFJpY2hhcmRzKSwgcmVnaXN0ZXIKKyAgICBuYW1lc3BhY2UgaW4gZGVidWcgc2hlbGwgKFN0ZWZhbm8gRGViZW5lZGV0dGkpLCBQeXRob24gYmFzZWQgcmVncmVzc2lvbgorICAgIHRlc3QgZm9yIG5vbi1Vbml4IHVzZXJzIChXaWxsaWFtKSwgZHluYW1pY2FsbHkgaW5jcmVhc2UgdGhlIG51bWJlciBvZgorICAgIFhQYXRoIGV4dGVuc2lvbiBmdW5jdGlvbnMgaW4gUHl0aG9uIGFuZCBmaXggYSBtZW1vcnkgbGVhayAoTWFyYy1BbnRvaW5lCisgICAgUGFyZW50IGFuZCBXaWxsaWFtKTwvbGk+CisgIDxsaT5wZXJmb3JtYW5jZTogaGFjayBkb25lIHdpdGggQXJqYW4gdmFuIGRlIFZlbiB0byByZWR1Y2UgRUxGIGZvb3RwcmludAorICAgIGFuZCBnZW5lcmF0ZWQgY29kZSBvbiBMaW51eCwgcGx1cyB1c2UgZ2NjIHJ1bnRpbWUgcHJvZmlsaW5nIHRvIG9wdGltaXplCisgICAgdGhlIGNvZGUgZ2VuZXJhdGVkIGluIHRoZSBSUE0gcGFja2FnZXMuPC9saT4KKzwvdWw+CisKKzxoMz4yLjYuMTA6IE1heSAxNyAyMDA0PC9oMz4KKzx1bD4KKyAgPGxpPldlYiBwYWdlIGdlbmVyYXRlZCBmb3IgQ2hhbmdlTG9nPC9saT4KKyAgPGxpPmJ1aWxkIGZpeGVzOiAtLXdpdGhvdXQtaHRtbCBwcm9ibGVtcywgbWFrZSBjaGVjayB3aXRob3V0IG1ha2UgYWxsPC9saT4KKyAgPGxpPnBvcnRhYmlsaXR5OiBwcm9ibGVtIHdpdGggeHBhdGguYyBvbiBXaW5kb3dzIChNU0MgYW5kIEJvcmxhbmQpLCBtZW1jbXAKKyAgICB2cy4gc3RybmNtcCBvbiBTb2xhcmlzLCBYUGF0aCB0ZXN0cyBvbiBXaW5kb3dzIChNYXJrIFZha29jKSwgQysrIGRvIG5vdAorICAgIHVzZSAibGlzdCIgYXMgcGFyYW1ldGVyIG5hbWUsIG1ha2UgdGVzdHMgd29yayB3aXRoIFB5dGhvbiAxLjUgKEVkCisgIERhdmlzKSw8L2xpPgorICA8bGk+aW1wcm92ZW1lbnRzOiBtYWRlIHhtbFRleHRSZWFkZXJNb2RlIHB1YmxpYywgc21hbGwgYnVmZmVycyByZXNpemluZworICAgIChNb3J0ZW4gV2VsaW5kZXIpLCBhZGQgLS1tYXhtZW0gb3B0aW9uIHRvIHhtbGxpbnQsIGFkZAorICAgIHhtbFBvcElucHV0Q2FsbGJhY2soKSBmb3IgTWF0dCBTZXJnZWFudCwgcmVmYWN0b3Jpbmcgb2Ygc2VyaWFsaXphdGlvbgorICAgIGVzY2FwaW5nLCBhZGRlZCBlc2NhcGluZyBjdXN0b21pemF0aW9uPC9saT4KKyAgPGxpPmJ1Z2ZpeGVzOiB4c2Q6ZXh0ZW5zaW9uIChUYWloZWkgR29pKSwgYXNzb3J0ZWQgcmVnZXhwIGJ1Z3MgKFdpbGxpYW0KKyAgICBCcmFjayksIHhtbFJlYWRlciBlbmQgb2Ygc3RyZWFtIHByb2JsZW0sIG5vZGUgZGVyZWdpc3RyYXRpb24gd2l0aCByZWFkZXIsCisgICAgVVJJIGVzY2FwaW5nIGFuZCBmaWxlbWFuZXMsICBYSFRNTDEgZm9ybWF0dGluZyAoTmljayBXZWxsbmhvZmVyKSwgcmVnZXhwCisgICAgdHJhbnNpdGlvbiByZWR1Y3Rpb24gKFdpbGxpYW0pLCB2YXJpb3VzIFhTRCBTY2hlbWFzIGZpeGVzIChLYXNpbWllcgorICAgIEJ1Y2hjaWspLCBYSW5jbHVkZSBmYWxsYmFjayBwcm9ibGVtIChXaWxsaWFtKSwgd2VpcmQgcHJvYmxlbXMgd2l0aCBEVEQKKyAgICAoV2lsbGlhbSksIHN0cnVjdHVyZWQgZXJyb3IgaGFuZGxlciBjYWxsYmFjayBjb250ZXh0IChXaWxsaWFtKSwgcmV2ZXJzZQorICAgIHhtbEVuY29kZVNwZWNpYWxDaGFycygpIGJlaGF2aW91ciBiYWNrIHRvIGVzY2FwaW5nICciJzwvbGk+Cis8L3VsPgorCis8aDM+Mi42Ljk6IEFwciAxOCAyMDA0PC9oMz4KKzx1bD4KKyAgPGxpPmltcGxlbWVudCB4bWw6aWQgV29ya2luZyBEcmFmdCwgcmVsYXhlZCBYUGF0aCBpZCgpIGNoZWNraW5nPC9saT4KKyAgPGxpPmJ1Z2ZpeGVzOiB4bWxDdHh0UmVzZXQgKEJyZW50IEhlbmRyaWNrcyksIGxpbmUgbnVtYmVyIGFuZCBDREFUQSAoRGF2ZQorICAgIEJlY2tldHQpLCBSZWxheC1ORyBjb21waWxhdGlvbiAoV2lsbGlhbSBCcmFjayksIFJlZ2V4cCBwYXRjaGVzICh3aXRoCisgICAgV2lsbGlhbSksIHhtbFVyaUVzY2FwZSAoTWFyayBWYWtvYyksIGEgUmVsYXgtTkcgbm90QWxsb3dlZCBwcm9ibGVtICh3aXRoCisgICAgV2lsbGlhbSksIFJlbGF4LU5HIG5hbWUgY2xhc3NlcyBjb21wYXJlcyAoV2lsbGlhbSksIFhJbmNsdWRlIGR1cGxpY2F0ZQorICAgIGZhbGxiYWNrIChXaWxsaWFtKSwgZXh0ZXJuYWwgRFREIGVuY29kaW5nIGRldGVjdGlvbiAoV2lsbGlhbSksIGEgRFRECisgICAgdmFsaWRhdGlvbiBidWcgKFdpbGxpYW0pLCB4bWxSZWFkZXIgQ2xvc2UoKSBmaXgsIHJlY3VzaXZlIGV4dGVudGlvbgorICAgIHNjaGVtYXM8L2xpPgorICA8bGk+aW1wcm92ZW1lbnRzOiB1c2UgeG1sUmVhZCogQVBJcyBpbiB0ZXN0IHRvb2xzIChNYXJrIFZha29jKSwgaW5kZW50aW5nCisgICAgc2F2ZSBvcHRpbWl6YXRpb24sIGJldHRlciBoYW5kbGUgSUlTIGJyb2tlbiBIVFRQIHJlZGlyZWN0ICBiZWhhdmlvdXIgKElhbgorICAgIEh1bW1lbCksIEhUTUwgcGFyc2VyIGZyYW1lc2V0IChKYW1lcyBCdXJzYSksIGxpYnhtbDItcHl0aG9uIFJQTQorICAgIGRlcGVuZGFuY3ksIFhNTCBTY2hlbWFzIHVuaW9uIHN1cHBvcnQgKEthc2ltaWVyIEJ1Y2hjaWspLCB3YXJuaW5nIHJlbW92YWwKKyAgICBjbGFudXAgKFdpbGxpYW0pLCBrZWVwIENoYW5nZUxvZyBjb21wcmVzc2VkIHdoZW4gaW5zdGFsbGluZyBmcm9tIFJQTXM8L2xpPgorICA8bGk+ZG9jdW1lbnRhdGlvbjogZXhhbXBsZXMgYW5kIHhtbERvY0R1bXBNZW1vcnkgZG9jcyAoSm9obiBGbGVjayksIG5ldworICAgIGV4YW1wbGUgKGxvYWQsIHhwYXRoLCBtb2RpZnksIHNhdmUpLCB4bWxDYXRhbG9nRHVtcCgpIGNvbW1lbnRzLDwvbGk+CisgIDxsaT5XaW5kb3dzOiBCb3JsYW5kIEMrKyBidWlsZGVyIChFcmljIFp1cmNoZXIpLCB3b3JrIGFyb3VuZCBNaWNyb3NvZnQKKyAgICBjb21waWxlciBOYU4gaGFuZGxpbmcgYnVnIChNYXJrIFZha29jKTwvbGk+Cis8L3VsPgorCis8aDM+Mi42Ljg6IE1hciAyMyAyMDA0PC9oMz4KKzx1bD4KKyAgPGxpPkZpcnN0IHN0ZXAgb2YgdGhlIGNsZWFudXAgb2YgdGhlIHNlcmlhbGl6YXRpb24gY29kZSBhbmQgQVBJczwvbGk+CisgIDxsaT5YTUwgU2NoZW1hczogbWl4ZWQgY29udGVudCAoQWRhbSBEaWNrbWVpc3MpLCBRTmFtZSBoYW5kbGluZyBmaXhlcyAoQWRhbQorICAgIERpY2ttZWlzcyksIGFueVVSSSBmb3IgIiIgKEpvaG4gQmVsbW9udGUpPC9saT4KKyAgPGxpPlB5dGhvbjogQ2Fub25pY2FsaXphdGlvbiBDMTROIHN1cHBvcnQgYWRkZWQgKEFudGhvbnkgQ2Fycmljbyk8L2xpPgorICA8bGk+eG1sRG9jQ29weU5vZGUoKSBleHRlbnNpb24gKFdpbGxpYW0pPC9saT4KKyAgPGxpPlJlbGF4LU5HOiBmaXggd2hlbiBwcm9jZXNzaW5nIFhJbmNsdWRlIHJlc3VsdHMgKFdpbGxpYW0pLCBleHRlcm5hbAorICAgIHJlZmVyZW5jZSBpbiBpbnRlcmxlYXZlIChXaWxsaWFtKSwgbWlzc2luZyBlcnJvciBvbiAmbHQ7Y2hvaWNlJmd0OworICAgIGZhaWx1cmUgKFdpbGxpYW0pLCBtZW1vcnkgbGVhayBpbiBzY2hlbWFzIGRhdGF0eXBlIGZhY2V0cy48L2xpPgorICA8bGk+eG1sV3JpdGVyOiBwYXRjaCBmb3IgYmV0dGVyIERURCBzdXBwb3J0IChBbGZyZWQgTWlja2F1dHNjaCk8L2xpPgorICA8bGk+YnVnIGZpeGVzOiB4bWxYUGF0aExhbmdGdW5jdGlvbiBtZW1vcnkgbGVhayAoTWlrZSBIb21tZXkgYW5kIFdpbGxpYW0KKyAgICBCcmFjayksIG5vIElEIGVycm9ycyBpZiB1c2luZyBIVE1MX1BBUlNFX05PRVJST1IsIHhtbGNhdGFsb2cgZmFsbGJhY2tzIHRvCisgICAgVVJJIG9uIFNZU1RFTSBsb29rdXAgZmFpbHVyZSwgWEluY2x1ZGUgcGFyc2UgZmxhZ3MgaW5oZXJpdGFuY2UgKFdpbGxpYW0pLAorICAgIFhJbmNsdWRlIGFuZCBYUG9pbnRlciBmaXhlcyBmb3IgZW50aXRpZXMgKFdpbGxpYW0pLCBYTUwgcGFyc2VyIGJ1ZworICAgIHJlcG9ydGVkIGJ5IEhvbGdlciBSYXVjaCwgbmFub2h0dHAgZmQgbGVhayAoV2lsbGlhbSksICByZWdleHBzIGNoYXIKKyAgICBncm91cHMgJy0nIGhhbmRsaW5nIChXaWxsaWFtKSwgZGljdGlvbm5hcnkgcmVmZXJlbmNlIGNvdW50aW5nIHByb2JsZW1zLAorICAgIGRvIG5vdCBjbG9zZSBzdGRlcnIuPC9saT4KKyAgPGxpPnBlcmZvcm1hbmNlIHBhdGNoZXMgZnJvbSBQZXRyIFBhamFzPC9saT4KKyAgPGxpPkRvY3VtZW50YXRpb24gZml4ZXM6IFhNTF9DQVRBTE9HX0ZJTEVTIGluIG1hbiBwYWdlcyAoTWlrZSBIb21tZXkpPC9saT4KKyAgPGxpPmNvbXBpbGF0aW9uIGFuZCBwb3J0YWJpbGl0eSBmaXhlczogLS13aXRob3V0LXZhbGlkLCBjYXRhbG9nIGNsZWFudXBzCisgICAgKFBldGVyIEJyZWl0ZW5sb2huZXIpLCBNaW5nVyBwYXRjaCAoUm9sYW5kIFNjaHdpbmdlbCksIGNyb3NzLWNvbXBpbGF0aW9uCisgICAgdG8gV2luZG93cyAoQ2hyaXN0b3BoZSBkZSBWaWVubmUpLCAgLS13aXRoLWh0bWwtZGlyIGZpeHVwIChKdWxpbyBNZXJpbm8KKyAgICBWaWRhbCksIFdpbmRvd3MgYnVpbGQgKEVyaWMgWnVyY2hlcik8L2xpPgorPC91bD4KKworPGgzPjIuNi43OiBGZWIgMjMgMjAwNDwvaDM+Cis8dWw+CisgIDxsaT5kb2N1bWVudGF0aW9uOiB0dXRvcmlhbCB1cGRhdGVzIChKb2huIEZsZWNrKSwgYmVuY2htYXJrIHJlc3VsdHM8L2xpPgorICA8bGk+eG1sV3JpdGVyOiB1cGRhdGVzIGFuZCBmaXhlcyAoQWxmcmVkIE1pY2thdXRzY2gsIEx1Y2FzIEJyYXNpbGlubyk8L2xpPgorICA8bGk+WFBhdGggb3B0aW1pemF0aW9uIChQZXRyIFBhamFzKTwvbGk+CisgIDxsaT5EVEQgSUQgaGFuZGxpbmcgb3B0aW1pemF0aW9uPC9saT4KKyAgPGxpPmJ1Z2ZpeGVzOiB4cGF0aCBudW1iZXIgd2l0aCAgJmd0OyAxOSBmcmFjdGlvbmFsIChXaWxsaWFtIEJyYWNrKSwgcHVzaAorICAgIG1vZGUgd2l0aCB1bmVzY2FwZWQgJyZndDsnIGNoYXJhY3RlcnMsIGZpeCB4bWxsaW50IC0tc3RyZWFtIC0tdGltaW5nLCBmaXgKKyAgICB4bWxsaW50IC0tbWVtb3J5IC0tc3RyZWFtIG1lbW9yeSB1c2FnZSwgeG1sQXR0clNlcmlhbGl6ZVR4dENvbnRlbnQKKyAgICBoYW5kbGluZyBOVUxMLCB0cnlpbmcgdG8gZml4IFJlbGF4LU5HL1BlcmwgaW50ZXJmYWNlLjwvbGk+CisgIDxsaT5weXRob246IDIuMyBjb21wYXRpYmlsaXR5LCB3aGl0ZXNwYWNlIGZpeGVzIChNYWxjb2xtIFRyZWRpbm5pY2spPC9saT4KKyAgPGxpPkFkZGVkIHJlbGF4bmcgb3B0aW9uIHRvIHhtbGxpbnQgLS1zaGVsbDwvbGk+Cis8L3VsPgorCis8aDM+Mi42LjY6IEZlYiAxMiAyMDA0PC9oMz4KKzx1bD4KKyAgPGxpPm5hbm9odHRwIGFuZCBuYW5vZnRwOiBidWZmZXIgb3ZlcmZsb3cgZXJyb3Igb24gVVJJIHBhcnNpbmcgKElnb3IgYW5kCisgICAgV2lsbGlhbSkgcmVwb3J0ZWQgYnkgWXV1aWNoaSBUZXJhbmlzaGk8L2xpPgorICA8bGk+YnVnZml4ZXM6IG1ha2UgdGVzdCBhbmQgcGF0aCBpc3N1ZXMsIHhtbFdyaXRlciBhdHRyaWJ1dGUgc2VyaWFsaXphdGlvbgorICAgIChXaWxsaWFtIEJyYWNrKSwgeG1sV3JpdGVyIGluZGVudGF0aW9uIChXaWxsaWFtKSwgc2NoZW1hcyB2YWxpZGF0aW9uCisgICAgKEVyaWMgSGFzemxha2lld2ljeiksIFhJbmNsdWRlIGRpY3Rpb25uYXJpZXMgaXNzdWVzIChXaWxsaWFtIGFuZCBPbGVnCisgICAgUGFyYXNjaGVua28pLCBYSW5jbHVkZSBlbXB0eSBmYWxsYmFjayAoV2lsbGlhbSksIEhUTUwgd2FybmluZ3MgKFdpbGxpYW0pLAorICAgIFhQb2ludGVyIGluIFhJbmNsdWRlIChXaWxsaWFtKSwgUHl0aG9uIG5hbWVzcGFjZSBzZXJpYWxpemF0aW9uLAorICAgIGlzb2xhdDFUb1VURjggYm91bmQgZXJyb3IgKEFsZnJlZCBNaWNrYXV0c2NoKSwgb3V0cHV0IG9mIHBhcmFtZXRlcgorICAgIGVudGl0aWVzIGluIGludGVybmFsIHN1YnNldCAoV2lsbGlhbSksIGludGVybmFsIHN1YnNldCBidWcgaW4gcHVzaCBtb2RlLAorICAgICZsdDt4czphbGwmZ3Q7IGZpeCAoQWxleGV5IFNhcnl0Y2hldik8L2xpPgorICA8bGk+QnVpbGQ6IGZpeCBmb3IgYXV0b21ha2UtMS44IChBbGV4YW5kZXIgV2luc3RvbiksIHdhcm5pbmdzIHJlbW92YWwKKyAgICAoUGhpbGlwIEx1ZGxhbSksIFNPQ0tMRU5fVCBkZXRlY3Rpb24gZml4ZXMgKERhbmllbCBSaWNoYXJkKSwgZml4CisgICAgLS13aXRoLW1pbmltdW0gY29uZmlndXJhdGlvbi48L2xpPgorICA8bGk+WEluY2x1ZGU6IGFsbG93IHRoZSAyMDAxIG5hbWVzcGFjZSB3aXRob3V0IHdhcm5pbmcuPC9saT4KKyAgPGxpPkRvY3VtZW50YXRpb246IG1pc3NpbmcgZXhhbXBsZS9pbmRleC5odG1sIChKb2huIEZsZWNrKSwgdmVyc2lvbgorICAgIGRlcGVuZGFuY2llcyAoSm9obiBGbGVjayk8L2xpPgorICA8bGk+cmVhZGVyIEFQSTogc3RydWN0dXJlZCBlcnJvciByZXBvcnRpbmcgKFN0ZXZlIEJhbGwpPC9saT4KKyAgPGxpPldpbmRvd3MgY29tcGlsYXRpb246IG1pbmd3LCBtc3lzIChNaWtoYWlsIEdydXNoaW5za2l5KSwgZnVuY3Rpb24KKyAgICBwcm90b3R5cGUgKENhbWVyb24gSm9obnNvbiksIE1TVkM2IGNvbXBpbGVyIHdhcm5pbmdzLCBfV0lOU09DS0FQSV8KKyAgcGF0Y2g8L2xpPgorICA8bGk+UGFyc2VyczogYWRkZWQgeG1sQnl0ZUNvbnN1bWVkKGN0eHQpIEFQSSB0byBnZXQgdGhlIGJ5dGUgb2ZmZXN0IGluCisgICAgaW5wdXQuPC9saT4KKzwvdWw+CisKKzxoMz4yLjYuNTogSmFuIDI1IDIwMDQ8L2gzPgorPHVsPgorICA8bGk+QnVnZml4ZXM6IGRpY3Rpb25uYXJpZXMgZm9yIHNjaGVtYXMgKFdpbGxpYW0gQnJhY2spLCByZWdleHAgc2VnZmF1bHQKKyAgICAoV2lsbGlhbSksIHhzOmFsbCBwcm9ibGVtIChXaWxsaWFtKSwgYSBudW1iZXIgb2YgWFBvaW50ZXIgYnVnZml4ZXMKKyAgICAoV2lsbGlhbSksIHhtbGxpbnQgZXJyb3IgZ28gdG8gc3RkZXJyLCBEVEQgdmFsaWRhdGlvbiBwcm9ibGVtIHdpdGgKKyAgICBuYW1lc3BhY2UsIG1lbW9yeSBsZWFrIChXaWxsaWFtKSwgU0FYMSBjbGVhbnVwIGFuZCBtaW5pbWFsIG9wdGlvbnMgZml4ZXMKKyAgICAoTWFyayBWYWRvYyksIHBhcnNlciBjb250ZXh0IHJlc2V0IG9uIGVycm9yIChTaGF1biBNY0NhbmNlKSwgWFBhdGggdW5pb24KKyAgICBldmFsdWF0aW9uIHByb2JsZW0gKFdpbGxpYW0pICwgeG1sUmVhbGxvY0xvYyB3aXRoIE5VTEwgKEFsZWtzZXkgU2FuaW4pLAorICAgIFhNTCBTY2hlbWFzIGRvdWJsZSBmcmVlIChTdGV2ZSBCYWxsKSwgWEluY2x1ZGUgd2l0aCBubyBocmVmLCBhcmd1bWVudAorICAgIGNhbGxiYWNrcyBvcmRlciBmb3IgWFBhdGggY2FsbGJhY2tzIChGcmVkZXJpYyBQZXRlcnMpPC9saT4KKyAgPGxpPkRvY3VtZW50YXRpb246IHB5dGhvbiBzY3JpcHRzIChXaWxsaWFtIEJyYWNrKSwgeHNsdCBzdHlsZXNoZWV0cyAoSm9obgorICAgIEZsZWNrKSwgZG9jIChTdmVuIFppbW1lcm1hbiksIEkvTyBleGFtcGxlLjwvbGk+CisgIDxsaT5QeXRob24gYmluZGluZ3M6IGZpeGVzIChXaWxsaWFtKSwgZW51bSBzdXBwb3J0IChTdMODwqlwaGFuZSBCaWRvdWwpLAorICAgIHN0cnVjdHVyZWQgZXJyb3IgcmVwb3J0aW5nIChTdMODwqlwaGFuZSBCaWRvdWwpPC9saT4KKyAgPGxpPlhJbmNsdWRlOiB2YXJpb3VzIGZpeGVzIGZvciBjb25mb3JtYW5jZSwgcHJvYmxlbSByZWxhdGVkIHRvIGRpY3Rpb25uYXJ5CisgICAgcmVmZXJlbmNlcyAoV2lsbGlhbSAmYW1wOyBtZSksIHJlY3Vyc2lvbiAoV2lsbGlhbSk8L2xpPgorICA8bGk+eG1sV3JpdGVyOiBpbmRlbnRhdGlvbiAoTHVjYXMgQnJhc2lsaW5vKSwgbWVtb3J5IGxlYWtzIChBbGZyZWQKKyAgICBNaWNrYXV0c2NoKSw8L2xpPgorICA8bGk+eG1sU2NoZW1hczogbm9ybWFsaXplZFN0cmluZyBkYXRhdHlwZSAoSm9obiBCZWxtb250ZSk8L2xpPgorICA8bGk+Y29kZSBjbGVhbnVwIGZvciBzdHJpbmdzIGZ1bmN0aW9ucyAoV2lsbGlhbSk8L2xpPgorICA8bGk+V2luZG93czogY29tcGlsZXIgcGF0Y2hlcyAoTWFyayBWYWtvYyk8L2xpPgorICA8bGk+UGFyc2VyIG9wdGltaXphdGlvbnMsIGEgZmV3IG5ldyBYUGF0aCBhbmQgZGljdGlvbm5hcnkgQVBJcyBmb3IgZnV0dXJlCisgICAgWFNMVCBvcHRpbWl6YXRpb25zLjwvbGk+Cis8L3VsPgorCis8aDM+Mi42LjQ6IERlYyAyNCAyMDAzPC9oMz4KKzx1bD4KKyAgPGxpPldpbmRvd3MgYnVpbGQgZml4ZXMgKElnb3IgWmxhdGtvdmljKTwvbGk+CisgIDxsaT5Tb21lIHNlcmlvdXMgWEluY2x1ZGUgcHJvYmxlbXMgcmVwb3J0ZWQgYnkgT2xlZyBQYXJhc2NoZW5rbyBhbmQ8L2xpPgorICA8bGk+VW5peCBhbmQgTWFrZWZpbGUgcGFja2FnaW5nIGZpeGVzIChtZSwgV2lsbGlhbSBCcmFjayw8L2xpPgorICA8bGk+RG9jdW1lbnRhdGlvbiBpbXByb3ZlbWVudHMgKEpvaG4gRmxlY2ssIFdpbGxpYW0gQnJhY2spLCBleGFtcGxlIGZpeAorICAgIChMdWNhcyBCcmFzaWxpbm8pPC9saT4KKyAgPGxpPmJ1Z2ZpeGVzOiB4bWxUZXh0UmVhZGVyRXhwYW5kKCkgd2l0aCB4bWxSZWFkZXJXYWxrZXIsIFhQYXRoIGhhbmRsaW5nIG9mCisgICAgTlVMTCBzdHJpbmdzIChXaWxsaWFtIEJyYWNrKSAsIEFQSSBidWlsZGluZyByZWFkZXIgb3IgcGFyc2VyIGZyb20KKyAgICBmaWxlZGVzY3JpcHRvciBzaG91bGQgbm90IGNsb3NlIGl0LCBjaGFuZ2VkIFhQYXRoIHNvcnRpbmcgdG8gYmUgc3RhYmxlCisgICAgYWdhaW4gKFdpbGxpYW0gQnJhY2spLCB4bWxHZXROb2RlUGF0aCgpIGdlbmVyYXRpbmcgJyhudWxsKScgKFdpbGxpYW0KKyAgICBCcmFjayksIERURCB2YWxpZGF0aW9uIGFuZCBuYW1lc3BhY2UgYnVnIChXaWxsaWFtIEJyYWNrKSwgWE1MIFNjaGVtYXMKKyAgICBkb3VibGUgaW5jbHVzaW9uIGJlaGF2aW91cjwvbGk+Cis8L3VsPgorCis8aDM+Mi42LjM6IERlYyAxMCAyMDAzPC9oMz4KKzx1bD4KKyAgPGxpPmRvY3VtZW50YXRpb24gdXBkYXRlcyBhbmQgY2xlYW51cCAoRFYsIFdpbGxpYW0gQnJhY2ssIEpvaG4gRmxlY2spPC9saT4KKyAgPGxpPmFkZGVkIGEgcmVwb3NpdG9yeSBvZiBleGFtcGxlcywgZXhhbXBsZXMgZnJvbSBBbGVrc2V5IFNhbmluLCBEb2RqaQorICAgIFNla2V0ZWxpLCBBbGZyZWQgTWlja2F1dHNjaDwvbGk+CisgIDxsaT5XaW5kb3dzIHVwZGF0ZXM6IE1hcmsgVmFrb2MsIElnb3IgWmxhdGtvdmljLCBFcmljIFp1cmNoZXIsIE1pbmd3CisgICAgKEtlbm5ldGggSGFsZXkpPC9saT4KKyAgPGxpPlVuaWNvZGUgcmFuZ2UgY2hlY2tpbmcgKFdpbGxpYW0gQnJhY2spPC9saT4KKyAgPGxpPmNvZGUgY2xlYW51cCAoV2lsbGlhbSBCcmFjayk8L2xpPgorICA8bGk+UHl0aG9uIGJpbmRpbmdzOiBkb2MgKEpvaG4gRmxlY2spLCAgYnVnIGZpeGVzPC9saT4KKyAgPGxpPlVURi0xNiBjbGVhbnVwIGFuZCBCT00gaXNzdWVzIChXaWxsaWFtIEJyYWNrKTwvbGk+CisgIDxsaT5idWcgZml4ZXM6IElEIGFuZCB4bWxSZWFkZXIgdmFsaWRhdGlvbiwgWFBhdGggKFdpbGxpYW0gQnJhY2spLAorICAgIHhtbFdyaXRlciAoQWxmcmVkIE1pY2thdXRzY2gpLCBoYXNoLmggaW5jbHVzaW9uIHByb2JsZW0sIEhUTUwgcGFyc2VyCisgICAgKEphbWVzIEJ1cnNhKSwgYXR0cmlidXRlIGRlZmF1bHRpbmcgYW5kIHZhbGlkYXRpb24sIHNvbWUgc2VyaWFsaXphdGlvbgorICAgIGNsZWFudXBzLCBYTUxfR0VUX0xJTkUgbWFjcm8sIG1lbW9yeSBkZWJ1ZyB3aGVuIHVzaW5nIHRocmVhZHMgKFdpbGxpYW0KKyAgICBCcmFjayksIHNlcmlhbGl6YXRpb24gb2YgYXR0cmlidXRlcyBhbmQgZW50aXRpZXMgY29udGVudCwgeG1sV3JpdGVyCisgICAgKERhbmllbCBTY2h1bG1hbik8L2xpPgorICA8bGk+WEluY2x1ZGUgYnVnZml4LCBuZXcgQVBJcyBhbmQgdXBkYXRlIHRvIHRoZSBsYXN0IHZlcnNpb24gaW5jbHVkaW5nIHRoZQorICAgIG5hbWVzcGFjZSBjaGFuZ2UuPC9saT4KKyAgPGxpPlhNTCBTY2hlbWFzIGltcHJvdmVtZW50czogaW5jbHVkZSAoUm9iZXJ0IFN0ZXBhbmVrKSwgaW1wb3J0IGFuZAorICAgIG5hbWVzcGFjZSBoYW5kbGluZywgZml4ZWQgdGhlIHJlZ3Jlc3Npb24gdGVzdHMgdHJvdWJsZXMsIGFkZGVkIGV4YW1wbGVzCisgICAgYmFzZWQgb24gRXJpYyB2YW4gZGVyIFZsaXN0IGJvb2ssIHJlZ2V4cCBmaXhlczwvbGk+CisgIDxsaT5wcmVsaW1pbmFyeSBwYXR0ZXJuIHN1cHBvcnQgZm9yIHN0cmVhbWluZyAobmVlZGVkIGZvciBzY2hlbWFzCisgICAgY29uc3RyYWludHMpLCBhZGRlZCB4bWxUZXh0UmVhZGVyUHJlc2VydmVQYXR0ZXJuKCkgdG8gY29sbGVjdCBzdWJkb2N1bWVudAorICAgIHdoZW4gc3RyZWFtaW5nLjwvbGk+CisgIDxsaT52YXJpb3VzIGZpeGVzIGluIHRoZSBzdHJ1Y3R1cmVkIGVycm9yIGhhbmRsaW5nPC9saT4KKzwvdWw+CisKKzxoMz4yLjYuMjogTm92IDQgMjAwMzwvaDM+Cis8dWw+CisgIDxsaT5YUGF0aCBjb250ZXh0IHVucmVnaXN0cmF0aW9uIGZpeGVzPC9saT4KKyAgPGxpPnRleHQgbm9kZSBjb2FsZXNjaW5nIGZpeGVzIChNYXJrIExpbGJhY2spPC9saT4KKyAgPGxpPkFQSSB0byBzY3JlYXRlIGEgVzNDIFNjaGVtYXMgZnJvbSBhbiBleGlzdGluZyBkb2N1bWVudCAoU3RldmUgQmFsbCk8L2xpPgorICA8bGk+QmVPUyBwYXRjaGVzIChNYXJjaW4gJ1NoYXJkJyBLb25pY2tpKTwvbGk+CisgIDxsaT54bWxTdHJWUHJpbnRmIGZ1bmN0aW9uIGFkZGVkIChBbGVrc2V5IFNhbmluKTwvbGk+CisgIDxsaT5jb21waWxhdGlvbiBmaXhlcyAoTWFyayBWYWtvYyk8L2xpPgorICA8bGk+c3RkaW4gcGFyc2luZyBmaXggKFdpbGxpYW0gQnJhY2spPC9saT4KKyAgPGxpPmEgcG9zdGVyaW9yaSBEVEQgdmFsaWRhdGlvbiBmaXhlczwvbGk+CisgIDxsaT54bWxSZWFkZXIgYnVnIGZpeGVzOiBXYWxrZXIgZml4ZXMsIHB5dGhvbiBiaW5kaW5nczwvbGk+CisgIDxsaT5maXhlZCB4bWxTdG9wUGFyc2VyKCkgdG8gcmVhbGx5IHN0b3AgdGhlIHBhcnNlciBhbmQgZXJyb3JzPC9saT4KKyAgPGxpPmFsd2F5cyBnZW5lcmF0ZSBsaW5lIG51bWJlcnMgd2hlbiB1c2luZyB0aGUgbmV3IHhtbFJlYWR4eHgKKyAgZnVuY3Rpb25zPC9saT4KKyAgPGxpPmFkZGVkIFhJbmNsdWRlIHN1cHBvcnQgdG8gdGhlIHhtbFJlYWRlciBpbnRlcmZhY2U8L2xpPgorICA8bGk+aW1wbGVtZW50ZWQgWE1MX1BBUlNFX05PTkVUIHBhcnNlciBvcHRpb248L2xpPgorICA8bGk+RG9jQm9vayBYU0xUIHByb2Nlc3NpbmcgYnVnIGZpeGVkPC9saT4KKyAgPGxpPkhUTUwgc2VyaWFsaXphdGlvbiBmb3IgJmx0O3AmZ3Q7IGVsZW1lbnRzIChXaWxsaWFtIEJyYWNrIGFuZCBtZSk8L2xpPgorICA8bGk+WFBvaW50ZXIgZmFpbHVyZSBpbiBYSW5jbHVkZSBhcmUgbm93IGhhbmRsZWQgYXMgcmVzb3VyY2UgZXJyb3JzPC9saT4KKyAgPGxpPmZpeGVkIHhtbGxpbnQgLS1odG1sIHRvIHVzZSB0aGUgSFRNTCBzZXJpYWxpemVyIG9uIG91dHB1dCAoYWRkZWQKKyAgICAtLXhtbG91dCB0byBpbXBsZW1lbnQgdGhlIHByZXZpb3VzIGJlaGF2aW91ciBvZiBzYXZpbmcgaXQgdXNpbmcgdGhlIFhNTAorICAgIHNlcmlhbGl6ZXIpPC9saT4KKzwvdWw+CisKKzxoMz4yLjYuMTogT2N0IDI4IDIwMDM8L2gzPgorPHVsPgorICA8bGk+TW9zdGx5IGJ1Z2ZpeGVzIGFmdGVyIHRoZSBiaWcgMi42LjAgY2hhbmdlczwvbGk+CisgIDxsaT5Vbml4IGNvbXBpbGF0aW9uIHBhdGNoZXM6IGxpYnhtbC5tNCAoUGF0cmljayBXZWxjaGUpLCB3YXJuaW5ncyBjbGVhbnVwCisgICAgKFdpbGxpYW0gQnJhY2spPC9saT4KKyAgPGxpPldpbmRvd3MgY29tcGlsYXRpb24gcGF0Y2hlcyAoSm9hY2hpbSBCYXVjaCwgU3RlcGhhbmUgQmlkb3VsLCBJZ29yCisgICAgWmxhdGtvdmljKTwvbGk+CisgIDxsaT54bWxXcml0ZXIgYnVnZml4IChBbGZyZWQgTWlja2F1dHNjaCk8L2xpPgorICA8bGk+Y2h2YWxpZC5bY2hdOiBjb3VwbGUgb2YgZml4ZXMgZnJvbSBTdGVwaGFuZSBCaWRvdWw8L2xpPgorICA8bGk+Y29udGV4dCByZXNldDogZXJyb3Igc3RhdGUgcmVzZXQsIHB1c2ggcGFyc2VyIHJlc2V0IChHcmFoYW0KKyAgQmVubmV0dCk8L2xpPgorICA8bGk+Y29udGV4dCByZXVzZTogZ2VuZXJhdGUgZXJyb3JzIGlmIGZpbGUgaXMgbm90IHJlYWRhYmxlPC9saT4KKyAgPGxpPmRlZmF1bHRlZCBhdHRyaWJ1dGVzIGZvciBlbGVtZW50IGNvbWluZyBmcm9tIGludGVybmFsIGVudGl0aWVzCisgICAgKFN0ZXBoYW5lIEJpZG91bCk8L2xpPgorICA8bGk+UHl0aG9uOiB0YWIgYW5kIHNwYWNlcyBtaXggKFdpbGxpYW0gQnJhY2spPC9saT4KKyAgPGxpPkVycm9yIGhhbmRsZXIgY291bGQgY3Jhc2ggaW4gRFREIHZhbGlkYXRpb24gaW4gMi42LjA8L2xpPgorICA8bGk+eG1sUmVhZGVyOiBkbyBub3QgdXNlIHRoZSBkb2N1bWVudCBvciBlbGVtZW50IF9wcml2YXRlIGZpZWxkPC9saT4KKyAgPGxpPnRlc3RTQVguYzogYXZvaWQgYSBwcm9ibGVtIHdpdGggc29tZSBQSXMgKE1hc3NpbW8gTW9yYXJhKTwvbGk+CisgIDxsaT5nZW5lcmFsIGJ1ZyBmaXhlczogbWFuZGF0b3J5IGVuY29kaW5nIGluIHRleHQgZGVjbCwgc2VyaWFsaXppbmcKKyAgICBEb2N1bWVudCBGcmFnbWVudCBub2RlcywgeG1sU2VhcmNoTnMgMi42LjAgcHJvYmxlbSAoS2FzaW1pZXIgQnVjaGNpayksCisgICAgWFBhdGggZXJyb3JzIG5vdCByZXBvcnRlZCwgIHNsb3cgSFRNTCBwYXJzaW5nIG9mIGxhcmdlIGRvY3VtZW50cy48L2xpPgorPC91bD4KKworPGgzPjIuNi4wOiBPY3QgMjAgMjAwMzwvaDM+Cis8dWw+CisgIDxsaT5NYWpvciByZXZpc2lvbiByZWxlYXNlOiBzaG91bGQgYmUgQVBJIGFuZCBBQkkgY29tcGF0aWJsZSBidXQgZ290IGEgbG90CisgICAgb2YgY2hhbmdlPC9saT4KKyAgPGxpPkluY3JlYXNlZCB0aGUgbGlicmFyeSBtb2R1bGFyaXR5LCBmYXIgbW9yZSBvcHRpb25zIGNhbiBiZSBzdHJpcHBlZCBvdXQsCisgICAgYSAtLXdpdGgtbWluaW11bSBjb25maWd1cmF0aW9uIHdpbGwgd2VpZ2h0IGFyb3VuZCAxNjBLQnl0ZXM8L2xpPgorICA8bGk+VXNlIHBlciBwYXJzZXIgYW5kIHBlciBkb2N1bWVudCBkaWN0aW9ubmFyeSwgYWxsb2NhdGUgbmFtZXMgYW5kIHNtYWxsCisgICAgdGV4dCBub2RlcyBmcm9tIHRoZSBkaWN0aW9ubmFyeTwvbGk+CisgIDxsaT5Td2l0Y2ggdG8gYSBTQVgyIGxpa2UgcGFyc2VyIHJld3JvdGUgbW9zdCBvZiB0aGUgWE1MIHBhcnNlciBjb3JlLAorICAgIHByb3ZpZGVzIG5hbWVzcGFjZSByZXNvbHV0aW9uIGFuZCBkZWZhdWx0ZWQgYXR0cmlidXRlcywgbWluaW1pemUgbWVtb3J5CisgICAgYWxsb2NhdGlvbnMgYW5kIGNvcGllcywgbmFtZXNwYWNlIGNoZWNraW5nIGFuZCBzcGVjaWZpYyBlcnJvciBoYW5kbGluZywKKyAgICBpbW11dGFibGUgYnVmZmVycywgbWFrZSBwcmVkZWZpbmVkIGVudGl0aWVzIHN0YXRpYyBzdHJ1Y3R1cmVzLCBldGMuLi48L2xpPgorICA8bGk+cmV3cm90ZSBhbGwgdGhlIGVycm9yIGhhbmRsaW5nIGluIHRoZSBsaWJyYXJ5LCBhbGwgZXJyb3JzIGNhbiBiZQorICAgIGludGVyY2VwdGVkIGF0IGEgc3RydWN0dXJlZCBsZXZlbCwgd2l0aCBwcmVjaXNlIGluZm9ybWF0aW9uCisgIGF2YWlsYWJsZS48L2xpPgorICA8bGk+TmV3IHNpbXBsZXIgYW5kIG1vcmUgZ2VuZXJpYyBYTUwgYW5kIEhUTUwgcGFyc2VyIEFQSXMsIGFsbG93aW5nIHRvCisgICAgZWFzaWxseSBtb2RpZnkgdGhlIHBhcnNpbmcgb3B0aW9ucyBhbmQgcmV1c2UgcGFyc2VyIGNvbnRleHQgZm9yIG11bHRpcGxlCisgICAgY29uc2VjdXRpdmUgZG9jdW1lbnRzLjwvbGk+CisgIDxsaT5TaW1pbGFyIG5ldyBBUElzIGZvciB0aGUgeG1sUmVhZGVyLCBmb3Igb3B0aW9ucyBhbmQgcmV1c2UsIHByb3ZpZGVkIG5ldworICAgIGZ1bmN0aW9ucyB0byBhY2Nlc3MgY29udGVudCBhcyBjb25zdCBzdHJpbmdzLCB1c2UgdGhlbSBmb3IgUHl0aG9uCisgIGJpbmRpbmdzPC9saT4KKyAgPGxpPmEgIGxvdCBvZiBvdGhlciBzbWFsbGVyIEFQSSBpbXByb3ZlbWVudHM6IHhtbFN0clByaW50ZiAoQWxla3NleSBTYW5pbiksCisgICAgV2Fsa2VyIGkuZS4gcmVhZGVyIG9uIGEgZG9jdW1lbnQgdHJlZSBiYXNlZCBvbiBBbGZyZWQgTWlja2F1dHNjaCBjb2RlLAorICAgIG1ha2Ugcm9vbSBpbiBub2RlcyBmb3IgbGluZSBudW1iZXJzLCByZWZlcmVuY2UgY291bnRpbmcgYW5kIGZ1dHVyZSBQU1ZJCisgICAgZXh0ZW5zaW9ucywgZ2VuZXJhdGlvbiBvZiBjaGFyYWN0ZXIgcmFuZ2VzIHRvIGJlIGNoZWNrZWQgd2l0aCBmYXN0ZXIKKyAgICBhbGdvcml0aG0gKFdpbGxpYW0pLCAgeG1sUGFyc2VyTWF4RGVwdGggKENydXRjaGVyIER1bm5hdmFudCksIGJ1ZmZlcgorICAgIGFjY2VzczwvbGk+CisgIDxsaT5OZXcgeG1sV3JpdGVyIEFQSSBwcm92aWRlZCBieSBBbGZyZWQgTWlja2F1dHNjaDwvbGk+CisgIDxsaT5TY2hlbWFzOiBiYXNlNjQgc3VwcG9ydCBieSBBbnRob255IENhcnJpY288L2xpPgorICA8bGk+UGFyc2VyJmx0Oy0mZ3Q7SFRUUCBpbnRlZ3JhdGlvbiBmaXgsIHByb3BlciBwcm9jZXNzaW5nIG9mIHRoZSBNaW1lLVR5cGUKKyAgICBhbmQgY2hhcnNldCBpbmZvcm1hdGlvbiBpZiBhdmFpbGFibGUuPC9saT4KKyAgPGxpPlJlbGF4LU5HOiBidWcgZml4ZXMgaW5jbHVkaW5nIHRoZSBvbmUgcmVwb3J0ZWQgYnkgTWFydGlqbiBGYWFzc2VuIGFuZAorICAgIHplcm9Pck1vcmUsIGJldHRlciBlcnJvciByZXBvcnRpbmcuPC9saT4KKyAgPGxpPlB5dGhvbiBiaW5kaW5ncyAoU3TDg8KpcGhhbmUgQmlkb3VsKSwgbmV2ZXIgdXNlIHN0ZG91dCBmb3IgZXJyb3JzCisgIG91dHB1dDwvbGk+CisgIDxsaT5Qb3J0YWJpbGl0eTogYWxsIHRoZSBoZWFkZXJzIGhhdmUgbWFjcm9zIGZvciBleHBvcnQgYW5kIGNhbGxpbmcKKyAgICBjb252ZW50aW9uIGRlZmluaXRpb25zIChJZ29yIFpsYXRrb3ZpYyksIFZNUyB1cGRhdGUgKENyYWlnIEEuIEJlcnJ5KSwKKyAgICBXaW5kb3dzOiB0aHJlYWRzIChKZXNzZSBQZWx0b24pLCBCb3JsYW5kIGNvbXBpbGVyIChFcmljIFp1cmNoZXIsICBJZ29yKSwKKyAgICBNaW5ndyAoSWdvciksIHR5cG9zIChNYXJrIFZha29jKSwgIGJldGEgdmVyc2lvbiAoU3RlcGhhbmUgQmlkb3VsKSwKKyAgICB3YXJuaW5nIGNsZWFudXBzIG9uIEFJWCBhbmQgTUlQUyBjb21waWxlcnMgKFdpbGxpYW0gQnJhY2spLCBCZU9TIChNYXJjaW4KKyAgICAnU2hhcmQnIEtvbmlja2kpPC9saT4KKyAgPGxpPkRvY3VtZW50YXRpb24gZml4ZXMgYW5kIFJFQURNRSAoV2lsbGlhbSBCcmFjayksIHNlYXJjaCBmaXggKFdpbGxpYW0pLAorICAgIHR1dG9yaWFsIHVwZGF0ZXMgKEpvaG4gRmxlY2spLCBuYW1lc3BhY2UgZG9jcyAoU3RlZmFuIEtvc3QpPC9saT4KKyAgPGxpPkJ1ZyBmaXhlczogeG1sQ2xlYW51cFBhcnNlciAoRGF2ZSBCZWNrZXR0KSwgdGhyZWFkaW5nIHVuaW5pdGlhbGl6ZWQKKyAgICBtdXRleGVzLCBIVE1MIGRvY3R5cGUgbG93ZXJjYXNlLCAgU0FYL0lPIChXaWxsaWFtKSwgY29tcHJlc3Npb24gZGV0ZWN0aW9uCisgICAgYW5kIHJlc3RvcmUgKFdpbGxpYW0pLCBhdHRyaWJ1dGUgZGVjbGFyYXRpb24gaW4gRFREcyAoV2lsbGlhbSksIG5hbWVzcGFjZQorICAgIG9uIGF0dHJpYnV0ZSBpbiBIVE1MIG91dHB1dCAoV2lsbGlhbSksIGlucHV0IGZpbGVuYW1lIChSb2IgUmljaGFyZHMpLAorICAgIG5hbWVzcGFjZSBEVEQgdmFsaWRhdGlvbiwgeG1sUmVwbGFjZU5vZGUgKENocmlzIFJ5bGFuZCksIEkvTyBjYWxsYmFja3MKKyAgICAoTWFya3VzIEtlaW0pLCBDREFUQSBzZXJpYWxpemF0aW9uIChTaGF1biBNY0NhbmNlKSwgeG1sUmVhZGVyIChQZXRlcgorICAgIERlcnIpLCBoaWdoIGNvZGVwb2ludCBjaGFycmVmIGxpa2UgJmFtcDsjeDEwRkZGRjssIGJ1ZmZlciBhY2Nlc3MgaW4gcHVzaAorICAgIG1vZGUgKEp1c3RpbiBGbGV0Y2hlciksIFRMUyB0aHJlYWRzIG9uIFdpbmRvd3MgKEplc3NlIFBlbHRvbiksIFhQYXRoIGJ1ZworICAgIChXaWxsaWFtKSwgeG1sQ2xlYW51cFBhcnNlciAoTWFyYyBMaXlhbmFnZSksIENEQVRBIG91dHB1dCAoV2lsbGlhbSksIEhUVFAKKyAgICBlcnJvciBoYW5kbGluZy48L2xpPgorICA8bGk+eG1sbGludCBvcHRpb25zOiAtLWR0ZHZhbGlkZnBpIGZvciBUb2JpYXMgUmVpZiwgLS1zYXgxIGZvciBjb21wYXQKKyAgICB0ZXN0aW5nLCAgLS1ub2RpY3QgZm9yIGJ1aWxkaW5nIHdpdGhvdXQgdHJlZSBkaWN0aW9ubmFyeSwgLS1ub2NkYXRhIHRvCisgICAgcmVwbGFjZSBDREFUQSBieSB0ZXh0LCAtLW5zY2xlYW4gdG8gcmVtb3ZlIHN1cnBlcmZsdW91cyAgbmFtZXNwYWNlCisgICAgZGVjbGFyYXRpb25zPC9saT4KKyAgPGxpPmFkZGVkIHhtbDItY29uZmlnIC0tbGlidG9vbC1saWJzIG9wdGlvbiBmcm9tIEtldmluIFAuIEZsZW1pbmc8L2xpPgorICA8bGk+YSBsb3Qgb2YgcHJvZmlsaW5nIGFuZCB0dW5pbmcgb2YgdGhlIGNvZGUsIHNwZWVkdXAgcGF0Y2ggZm9yCisgICAgeG1sU2VhcmNoTnMoKSBieSBMdWNhIFBhZG92YW5pLiBUaGUgeG1sUmVhZGVyIHNob3VsZCBkbyBmYXIgbGVzcworICAgIGFsbG9jYXRpb24gYW5kIGl0IHNwZWVkIHNob3VsZCBnZXQgY2xvc2VyIHRvIFNBWC4gQ2hyaXMgQW5kZXJzb24gd29ya2VkCisgICAgb24gc3BlZWRpbmcgYW5kIGNsZWFuaW5nIHVwIHJlcGV0aXRpdmUgY2hlY2tpbmcgY29kZS48L2xpPgorICA8bGk+Y2xlYW51cCBvZiAibWFrZSB0ZXN0cyI8L2xpPgorICA8bGk+bGlieG1sLTIuMC11bmluc3RhbGxlZC5wYyBmcm9tIE1hbGNvbG0gVHJlZGlubmljazwvbGk+CisgIDxsaT5kZWFjdGl2YXRlZCB0aGUgYnJva2VuIGRvY0Jvb2sgU0dNTCBwYXJzZXIgY29kZSBhbmQgcGx1Z2dlZCB0aGUgWE1MCisgICAgcGFyc2VyIGluc3RlYWQuPC9saT4KKzwvdWw+CisKKzxoMz4yLjUuMTE6IFNlcCA5IDIwMDM8L2gzPgorCis8cD5BIGJ1Z2ZpeCBvbmx5IHJlbGVhc2U6PC9wPgorPHVsPgorICA8bGk+cmlzayBvZiBjcmFzaCBpbiBSZWxheC1ORzwvbGk+CisgIDxsaT5yaXNrIG9mIGNyYXNoIHdoZW4gdXNpbmcgbXVsdGl0aHJlYWRlZCBwcm9ncmFtczwvbGk+Cis8L3VsPgorCis8aDM+Mi41LjEwOiBBdWcgMTUgMjAwMzwvaDM+CisKKzxwPkEgYnVnZml4ZXMgb25seSByZWxlYXNlPC9wPgorPHVsPgorICA8bGk+V2luZG93cyBNYWtlZmlsZXMgKFdpbGxpYW0gQnJhY2spPC9saT4KKyAgPGxpPlVURi0xNiBzdXBwb3J0IGZpeGVzIChNYXJrIEl0emNvdml0eik8L2xpPgorICA8bGk+TWFrZWZpbGUgYW5kIHBvcnRhYmlsaXR5IChXaWxsaWFtIEJyYWNrKSBhdXRvbWFrZSwgTGludXggYWxwaGEsIE1pbmd3CisgICAgb24gV2luZG93cyAoTWlraGFpbCBHcnVzaGluc2tpeSk8L2xpPgorICA8bGk+SFRNTCBwYXJzZXIgKE9saXZlciBTdG9lbmViZXJnKTwvbGk+CisgIDxsaT5YSW5jbHVkZSBwZXJmb3JtYW5jZSBwcm9ibGVtIHJlcG9ydGVkIGJ5IEtldmluIFJ1c2NvZTwvbGk+CisgIDxsaT5YTUwgcGFyc2VyIHBlcmZvcm1hbmNlIHByb2JsZW0gcmVwb3J0ZWQgYnkgR3JhbnQgR29vZGFsZTwvbGk+CisgIDxsaT54bWxTQVhQYXJzZURURCgpIGJ1ZyBmaXggZnJvbSBNYWxjb2xtIFRyZWRpbm5pY2s8L2xpPgorICA8bGk+YW5kIGEgY291cGxlIG90aGVyIGNsZWFudXA8L2xpPgorPC91bD4KKworPGgzPjIuNS45OiBBdWcgOSAyMDAzPC9oMz4KKzx1bD4KKyAgPGxpPmJ1Z2ZpeGVzOiBJUHY2IHBvcnRhYmlsaXR5LCB4bWxIYXNOc1Byb3AgKE1hcmt1cyBLZWltKSwgV2luZG93cyBidWlsZAorICAgIChXaWxpYW0gQnJha2UsIEplc3NlIFBlbHRvbiwgSWdvciksIFNjaGVtYXMgKFBldGVyIFNvYmlzY2gpLCB0aHJlYWRpbmcKKyAgICAoUm9iIFJpY2hhcmRzKSwgaGV4QmluYXJ5IHR5cGUgKCksIFVURi0xNiBCT00gKERvZGppIFNla2V0ZWxpKSwKKyAgICB4bWxSZWFkZXIsIFJlbGF4LU5HIHNjaGVtYXMgY29tcGlsYXRpb24sIG5hbWVzcGFjZSBoYW5kbGluZywgIEVYU0xUIChTZWFuCisgICAgR3JpZmZpbiksIEhUTUwgcGFyc2luZyBwcm9ibGVtIChXaWxsaWFtIEJyYWNrKSwgRFREIHZhbGlkYXRpb24gZm9yIG1peGVkCisgICAgY29udGVudCArIG5hbWVzcGFjZXMsIEhUTUwgc2VyaWFsaXphdGlvbiwgbGlicmFyeSBpbml0aWFsaXphdGlvbiwKKyAgICBwcm9ncmVzc2l2ZSBIVE1MIHBhcnNlcjwvbGk+CisgIDxsaT5iZXR0ZXIgaW50ZXJmYWNlcyBmb3IgUmVsYXgtTkcgZXJyb3IgaGFuZGxpbmcgKEpvYWNoaW0gQmF1Y2gsICk8L2xpPgorICA8bGk+YWRkaW5nIHhtbFhJbmNsdWRlUHJvY2Vzc1RyZWUoKSBmb3IgWEluY2x1ZCdpbmcgaW4gYSBzdWJ0cmVlPC9saT4KKyAgPGxpPmRvYyBmaXhlcyBhbmQgaW1wcm92ZW1lbnRzIChKb2huIEZsZWNrKTwvbGk+CisgIDxsaT5jb25maWd1cmUgZmxhZyBmb3IgLXdpdGgtZmV4Y2VwdGlvbnMgd2hlbiBlbWJlZGRpbmcgaW4gQysrPC9saT4KKyAgPGxpPmNvdXBsZSBvZiBuZXcgVVRGLTggaGVscGVyIGZ1bmN0aW9ucyAoV2lsbGlhbSBCcmFjayk8L2xpPgorICA8bGk+Z2VuZXJhbCBlbmNvZGluZyBjbGVhbnVwICsgSVNPLTg4NTkteCB3aXRob3V0IGljb252IChQZXRlciBKYWNvYmkpPC9saT4KKyAgPGxpPnhtbFRleHRSZWFkZXIgY2xlYW51cCArIGVudW0gZm9yIG5vZGUgdHlwZXMgKEJqb3JuIFJlZXNlKTwvbGk+CisgIDxsaT5nZW5lcmFsIGNvbXBpbGF0aW9uL3dhcm5pbmcgY2xlYW51cCBTb2xhcmlzL0hQLVVYLy4uLiAoV2lsbGlhbQorICBCcmFjayk8L2xpPgorPC91bD4KKworPGgzPjIuNS44OiBKdWwgNiAyMDAzPC9oMz4KKzx1bD4KKyAgPGxpPmJ1Z2ZpeGVzOiBYUGF0aCwgWEluY2x1ZGUsIGZpbGUvVVJJIG1hcHBpbmcsIFVURi0xNiBzYXZlIChNYXJrCisgICAgSXR6Y292aXR6KSwgVVRGLTggY2hlY2tpbmcsIFVSSSBzYXZpbmcsIGVycm9yIHByaW50aW5nIChXaWxsaWFtIEJyYWNrKSwKKyAgICBQSSByZWxhdGVkIG1lbWxlYWssIGNvbXBpbGF0aW9uIHdpdGhvdXQgc2NoZW1hcyBvciB3aXRob3V0IHhwYXRoIChKb2VyZworICAgIFNjaG1pdHotTGlubmV3ZWJlci9HYXJyeSBQZW5uaW5ndG9uKSwgeG1sVW5saW5rTm9kZSBwcm9ibGVtIHdpdGggRFREcywKKyAgICBycG0gcHJvYmxlbSBvbiAsIGk4Nl82NCwgcmVtb3ZlZCBhIGZldyBjb21waWxhdGlvbiBwcm9ibGVtcyBmcm9tIDIuNS43LAorICAgIHhtbElPUGFyc2VEVEQsIGFuZCB4bWxTQVhQYXJzZURURCAoTWFsY29sbSBUcmVkaW5uaWNrKTwvbGk+CisgIDxsaT5wb3J0YWJpbGl0eTogREpHUFAgKE1zRG9zKSAsIE9wZW5WTVMgKENyYWlnIEEuIEJlcnJ5KTwvbGk+CisgIDxsaT5XaWxsaWFtIEJyYWNrIGZpeGVkIG11bHRpdGhyZWFkaW5nIGxvY2sgcHJvYmxlbXM8L2xpPgorICA8bGk+SVB2NiBwYXRjaCBmb3IgRlRQIGFuZCBIVFRQIGFjY2Vzc2VzIChBcmNoYW5hIFNoYWgvV2lwcm8pPC9saT4KKyAgPGxpPldpbmRvd3MgZml4ZXMgKElnb3IgWmxhdGtvdmljLCAgRXJpYyBadXJjaGVyKSwgdGhyZWFkaW5nIChTdMODwqlwaGFuZQorICAgIEJpZG91bCk8L2xpPgorICA8bGk+QSBmZXcgVzNDIFNjaGVtYXMgU3RydWN0dXJlIGltcHJvdmVtZW50czwvbGk+CisgIDxsaT5XM0MgU2NoZW1hcyBEYXRhdHlwZSBpbXByb3ZlbWVudHMgKENoYXJsaWUgQm96ZW1hbik8L2xpPgorICA8bGk+UHl0aG9uIGJpbmRpbmdzIGZvciB0aHJlYWQgZ2xvYmFscyAoU3TDg8KpcGhhbmUgQmlkb3VsKSwgYW5kIG1ldGhvZC9jbGFzcworICAgIGdlbmVyYXRvcjwvbGk+CisgIDxsaT5hZGRlZCAtLW5vbmV0IG9wdGlvbiB0byB4bWxsaW50PC9saT4KKyAgPGxpPmRvY3VtZW50YXRpb24gaW1wcm92ZW1lbnRzIChKb2huIEZsZWNrKTwvbGk+Cis8L3VsPgorCis8aDM+Mi41Ljc6IEFwciAyNSAyMDAzPC9oMz4KKzx1bD4KKyAgPGxpPlJlbGF4LU5HOiBDb21waWxpbmcgdG8gcmVnZXhwIGFuZCBzdHJlYW1pbmcgdmFsaWRhdGlvbiBvbiB0b3Agb2YgdGhlCisgICAgeG1sUmVhZGVyIGludGVyZmFjZSwgYWRkZWQgdG8geG1sbGludCAtLXN0cmVhbTwvbGk+CisgIDxsaT54bWxSZWFkZXI6IEV4cGFuZCgpLCBOZXh0KCkgYW5kIERPTSBhY2Nlc3MgZ2x1ZSwgYnVnIGZpeGVzPC9saT4KKyAgPGxpPlN1cHBvcnQgZm9yIGxhcmdlIGZpbGVzOiBSR04gdmFsaWRhdGVkIGEgNC41R0IgaW5zdGFuY2U8L2xpPgorICA8bGk+VGhyZWFkIHN1cHBvcnQgaXMgbm93IGNvbmZpZ3VyZWQgaW4gYnkgZGVmYXVsdDwvbGk+CisgIDxsaT5GaXhlczogdXBkYXRlIG9mIHRoZSBUcmlvIGNvZGUgKEJqb3JuKSwgV1hTIERhdGUgYW5kIER1cmF0aW9uIGZpeGVzCisgICAgKENoYXJsZXMgQm96ZW1hbiksIERURCBhbmQgbmFtZXNwYWNlcyAoQnJlbnQgSGVuZHJpY2tzKSwgSFRNTCBwdXNoIHBhcnNlcgorICAgIGFuZCB6ZXJvIGJ5dGVzIGhhbmRsaW5nLCBzb21lIG1pc3NpbmcgV2luZG93cyBmaWxlIHBhdGggY29udmVyc2lvbnMsCisgICAgYmVoYXZpb3VyIG9mIHRoZSBwYXJzZXIgYW5kIHZhbGlkYXRvciBpbiB0aGUgcHJlc2VuY2Ugb2YgIm91dCBvZiBtZW1vcnkiCisgICAgZXJyb3IgY29uZGl0aW9uczwvbGk+CisgIDxsaT5leHRlbmRlZCB0aGUgQVBJIHRvIGJlIGFibGUgdG8gcGx1ZyBhIGdhcmJhZ2UgY29sbGVjdGluZyBtZW1vcnkKKyAgICBhbGxvY2F0b3IsIGFkZGVkIHhtbE1hbGxvY0F0b21pYygpIGFuZCBtb2RpZmllZCB0aGUgYWxsb2NhdGlvbnMKKyAgICBhY2NvcmRpbmdseS48L2xpPgorICA8bGk+UGVyZm9ybWFuY2VzOiByZW1vdmVkIGV4Y2Vzc2l2ZSBtYWxsb2MoKSBjYWxscywgc3BlZWR1cCBvZiB0aGUgcHVzaCBhbmQKKyAgICB4bWxSZWFkZXIgaW50ZXJmYWNlcywgcmVtb3ZlZCBleGNlc3NpdmUgdGhyZWFkIGxvY2tpbmc8L2xpPgorICA8bGk+RG9jdW1lbnRhdGlvbjogbWFuIHBhZ2UgKEpvaG4gRmxlY2spLCB4bWxSZWFkZXIgZG9jdW1lbnRhdGlvbjwvbGk+CisgIDxsaT5QeXRob246IGFkZGluZyBiaW5kaW5nIGZvciB4bWxDYXRhbG9nQWRkTG9jYWwgKEJyZW50IE0gSGVuZHJpY2tzKTwvbGk+Cis8L3VsPgorCis8aDM+Mi41LjY6IEFwciAxIDIwMDM8L2gzPgorPHVsPgorICA8bGk+Rml4ZWQgVzNDIFhNTCBTY2hlbWFzIGRhdGF0eXBlLCBzaG91bGQgYmUgY29tcGxpYW50IG5vdyBleGNlcHQgZm9yCisgICAgYmluSGV4IGFuZCBiYXNlNjQgd2hpY2ggYXJlIG5vdCBzdXBwb3J0ZWQgeWV0LjwvbGk+CisgIDxsaT5idWcgZml4ZXM6IG5vbi1BU0NJSSBJRHMsIEhUTUwgb3V0cHV0LCBYSW5jbHVkZSBvbiBsYXJnZSBkb2NzIGFuZAorICAgIFhJbmNsdWRlIGVudGl0aWVzIGhhbmRsaW5nLCBlbmNvZGluZyBkZXRlY3Rpb24gb24gZXh0ZXJuYWwgc3Vic2V0cywgWE1MCisgICAgU2NoZW1hcyBidWdzIGFuZCBtZW1vcnkgbGVha3MsIEhUTUwgcGFyc2VyIChKYW1lcyBCdXJzYSk8L2xpPgorICA8bGk+cG9ydGFiaWxpdHk6IHB5dGhvbi90cmlvIChBbGJlcnQgQ2hpbiksIFN1biBjb21waWxlciB3YXJuaW5nczwvbGk+CisgIDxsaT5kb2N1bWVudGF0aW9uOiBhZGRlZCAtLXJlbGF4bmcgb3B0aW9uIHRvIHhtbGxpbnQgbWFuIHBhZ2UgKEpvaG4pPC9saT4KKyAgPGxpPmltcHJvdmVkIGVycm9yIHJlcG9ydGluZzogeG1sOnNwYWNlLCBzdGFydC9lbmQgdGFnIG1pc21hdGNoZXMsIFJlbGF4IE5HCisgICAgZXJyb3JzPC9saT4KKzwvdWw+CisKKzxoMz4yLjUuNTogTWFyIDI0IDIwMDM8L2gzPgorPHVsPgorICA8bGk+TG90IG9mIGZpeGVzIG9uIHRoZSBSZWxheCBORyBpbXBsZW1lbnRhdGlvbi4gTW9yZSB0ZXN0aW5nIGluY2x1ZGluZworICAgIERvY0Jvb2sgYW5kIFRFSSBleGFtcGxlcy48L2xpPgorICA8bGk+SW5jcmVhc2VkIHRoZSBzdXBwb3J0IGZvciBXM0MgWE1MIFNjaGVtYXMgZGF0YXR5cGU8L2xpPgorICA8bGk+U2V2ZXJhbCBidWcgZml4ZXMgaW4gdGhlIFVSSSBoYW5kbGluZyBsYXllcjwvbGk+CisgIDxsaT5CdWcgZml4ZXM6IEhUTUwgcGFyc2VyLCB4bWxSZWFkZXIsIERURCB2YWxpZGF0aW9uLCBYUGF0aCwgZW5jb2RpbmcKKyAgICBjb252ZXJzaW9uLCBsaW5lIGNvdW50aW5nIGluIHRoZSBwYXJzZXIuPC9saT4KKyAgPGxpPkFkZGVkIHN1cHBvcnQgZm9yICRYTUxMSU5UX0lOREVOVCBlbnZpcm9ubWVudCB2YXJpYWJsZSwgRlRQIGRlbGV0ZTwvbGk+CisgIDxsaT5GaXhlZCB0aGUgUlBNIHNwZWMgZmlsZSBuYW1lPC9saT4KKzwvdWw+CisKKzxoMz4yLjUuNDogRmViIDIwIDIwMDM8L2gzPgorPHVsPgorICA8bGk+Q29uZm9ybWFuY2UgdGVzdGluZyBhbmQgbG90IG9mIGZpeGVzIG9uIFJlbGF4IE5HIGFuZCBYSW5jbHVkZQorICAgIGltcGxlbWVudGF0aW9uPC9saT4KKyAgPGxpPkltcGxlbWVudGF0aW9uIG9mIFhQb2ludGVyIGVsZW1lbnQoKSBzY2hlbWU8L2xpPgorICA8bGk+QnVnIGZpeGVzOiBYTUwgcGFyc2VyLCBYSW5jbHVkZSBlbnRpdGllcyBtZXJnZSwgdmFsaWRpdHkgY2hlY2tpbmcgb24KKyAgICBuYW1lc3BhY2VzLAorICAgIDxwPjIgc2VyaWFsaXphdGlvbiBidWdzLCBub2RlIGluZm8gZ2VuZXJhdGlvbiBwcm9ibGVtcywgYSBEVEQgcmVnZXhwCisgICAgZ2VuZXJhdGlvbiBwcm9ibGVtLjwvcD4KKyAgPC9saT4KKyAgPGxpPlBvcnRhYmlsaXR5OiB3aW5kb3dzIHVwZGF0ZXMgYW5kIHBhdGggY2Fub25pY2FsaXphdGlvbiAoSWdvcik8L2xpPgorICA8bGk+QSBmZXcgdHlwbyBmaXhlcyAoS2phcnRhbiBNYXJhYXMpPC9saT4KKyAgPGxpPlB5dGhvbiBiaW5kaW5ncyBnZW5lcmF0b3IgZml4ZXMgKFN0ZXBoYW5lIEJpZG91bCk8L2xpPgorPC91bD4KKworPGgzPjIuNS4zOiBGZWIgMTAgMjAwMzwvaDM+Cis8dWw+CisgIDxsaT5SZWxheE5HIGFuZCBYTUwgU2NoZW1hcyBkYXRhdHlwZXMgaW1wcm92ZW1lbnRzLCBhbmQgYWRkZWQgYSBmaXJzdAorICAgIHZlcnNpb24gb2YgUmVsYXhORyBQeXRob24gYmluZGluZ3M8L2xpPgorICA8bGk+Rml4ZXM6IFhMaW5rIChTZWFuIENoaXR0ZW5kZW4pLCBYSW5jbHVkZSAoU2VhbiBDaGl0dGVuZGVuKSwgQVBJIGZpeCBmb3IKKyAgICBzZXJpYWxpemluZyBuYW1lc3BhY2Ugbm9kZXMsIGVuY29kaW5nIGNvbnZlcnNpb24gYnVnLCBYSFRNTDEKKyAgc2VyaWFsaXphdGlvbjwvbGk+CisgIDxsaT5Qb3J0YWJpbGl0eSBmaXhlczogV2luZG93cyAoSWdvciksIEFNRCA2NGJpdHMgUlBNIHNwZWMgZmlsZTwvbGk+Cis8L3VsPgorCis8aDM+Mi41LjI6IEZlYiA1IDIwMDM8L2gzPgorPHVsPgorICA8bGk+Rmlyc3QgaW1wbGVtZW50YXRpb24gb2YgUmVsYXhORywgYWRkZWQgLS1yZWxheG5nIGZsYWcgdG8geG1sbGludDwvbGk+CisgIDxsaT5TY2hlbWFzIHN1cHBvcnQgbm93IGNvbXBpbGVkIGluIGJ5IGRlZmF1bHQuPC9saT4KKyAgPGxpPkJ1ZyBmaXhlczogRFREIHZhbGlkYXRpb24sIG5hbWVzcGFjZSBjaGVja2luZywgWEluY2x1ZGUgYW5kIGVudGl0aWVzLAorICAgIGRlbGVnYXRlVVJJIGluIFhNTCBDYXRhbG9ncywgSFRNTCBwYXJzZXIsIFhNTCByZWFkZXIgKFN0w4PCqXBoYW5lIEJpZG91bCksCisgICAgWFBhdGggcGFyc2VyIGFuZCBldmFsdWF0aW9uLCAgVVRGOFRvVVRGOCBzZXJpYWxpemF0aW9uLCBYTUwgcmVhZGVyIG1lbW9yeQorICAgIGNvbnN1bXB0aW9uLCBIVE1MIHBhcnNlciwgSFRNTCBzZXJpYWxpemF0aW9uIGluIHRoZSBwcmVzZW5jZSBvZgorICBuYW1lc3BhY2VzPC9saT4KKyAgPGxpPmFkZGVkIGFuIEhUTUwgQVBJIHRvIGNoZWNrIGVsZW1lbnRzIGFuZCBhdHRyaWJ1dGVzLjwvbGk+CisgIDxsaT5Eb2N1bWVudGF0aW9uIGltcHJvdmVtZW50LCBQREYgZm9yIHRoZSB0dXRvcmlhbCAoSm9obiBGbGVjayksIGRvYworICAgIHBhdGNoZXMgKFN0ZWZhbiBLb3N0KTwvbGk+CisgIDxsaT5Qb3J0YWJpbGl0eSBmaXhlczogTmV0QlNEIChKdWxpbyBNZXJpbm8pLCBXaW5kb3dzIChJZ29yIFpsYXRrb3ZpYyk8L2xpPgorICA8bGk+QWRkZWQgcHl0aG9uIGJpbmRpbmdzIGZvciBYUG9pbnRlciwgY29udGV4dHVhbCBlcnJvciByZXBvcnRpbmcKKyAgICAoU3TDg8KpcGhhbmUgQmlkb3VsKTwvbGk+CisgIDxsaT5VUkkvZmlsZSBlc2NhcGluZyBwcm9ibGVtcyAoU3RlZmFubyBaYWNjaGlyb2xpKTwvbGk+Cis8L3VsPgorCis8aDM+Mi41LjE6IEphbiA4IDIwMDM8L2gzPgorPHVsPgorICA8bGk+Rml4ZXMgYSBtZW1vcnkgbGVhayBhbmQgY29uZmlndXJhdGlvbi9jb21waWxhdGlvbiBwcm9ibGVtcyBpbiAyLjUuMDwvbGk+CisgIDxsaT5kb2N1bWVudGF0aW9uIHVwZGF0ZXMgKEpvaG4pPC9saT4KKyAgPGxpPmEgY291cGxlIG9mIFhtbFRleHRSZWFkZXIgZml4ZXM8L2xpPgorPC91bD4KKworPGgzPjIuNS4wOiBKYW4gNiAyMDAzPC9oMz4KKzx1bD4KKyAgPGxpPk5ldyA8YSBocmVmPSJ4bWxyZWFkZXIuaHRtbCI+WG1sdGV4dFJlYWRlciBpbnRlcmZhY2U8L2E+IGJhc2VkIG9uIEMjCisgICAgQVBJICh3aXRoIGhlbHAgb2YgU3TDg8KpcGhhbmUgQmlkb3VsKTwvbGk+CisgIDxsaT5XaW5kb3dzOiBtb3JlIGV4cG9ydHMsIGluY2x1ZGluZyB0aGUgbmV3IEFQSSAoSWdvcik8L2xpPgorICA8bGk+WEluY2x1ZGUgZmFsbGJhY2sgZml4PC9saT4KKyAgPGxpPlB5dGhvbjogYmluZGluZ3MgZm9yIHRoZSBuZXcgQVBJLCBwYWNrYWdpbmcgKFN0w4PCqXBoYW5lIEJpZG91bCksCisgICAgZHJ2X2xpYnhtbDIucHkgUHl0aG9uIHhtbC5zYXggZHJpdmVyIChTdMODwqlwaGFuZSBCaWRvdWwpLCBmaXhlcywgc3BlZWR1cAorICAgIGFuZCBpdGVyYXRvcnMgZm9yIFB5dGhvbi0yLjIgKEhhbm51IEtyb3NpbmcpPC9saT4KKyAgPGxpPlR1dG9yaWFsIGZpeGVzIChqb2huIEZsZWNrIGFuZCBOaXJhaiBUb2xpYSkgeG1sbGludCBtYW4gdXBkYXRlCisgIChKb2huKTwvbGk+CisgIDxsaT5GaXggYW4gWE1MIHBhcnNlciBidWcgcmFpc2VkIGJ5IFZ5YWNoZXNsYXYgUGluZHl1cmE8L2xpPgorICA8bGk+Rml4IGZvciBWTVMgc2VyaWFsaXphdGlvbiAoTmlnZWwgSGFsbCkgYW5kIGNvbmZpZyAoQ3JhaWcgQS4gQmVycnkpPC9saT4KKyAgPGxpPkVudGl0aWVzIGhhbmRsaW5nIGZpeGVzPC9saT4KKyAgPGxpPm5ldyBBUEkgdG8gb3B0aW9uYWxseSB0cmFjayBub2RlIGNyZWF0aW9uIGFuZCBkZWxldGlvbiAoTHVrYXMKKyAgU2Nocm9lZGVyKTwvbGk+CisgIDxsaT5BZGRlZCBkb2N1bWVudGF0aW9uIGZvciB0aGUgWG1sdGV4dFJlYWRlciBpbnRlcmZhY2UgYW5kIHNvbWUgPGEKKyAgICBocmVmPSJndWlkZWxpbmVzLmh0bWwiPlhNTCBndWlkZWxpbmVzPC9hPjwvbGk+Cis8L3VsPgorCis8aDM+Mi40LjMwOiBEZWMgMTIgMjAwMjwvaDM+Cis8dWw+CisgIDxsaT4yLjQuMjkgYnJva2UgdGhlIHB5dGhvbiBiaW5kaW5ncywgcmVyZWxlYXNpbmc8L2xpPgorICA8bGk+SW1wcm92ZW1lbnQvZml4ZXMgb2YgdGhlIFhNTCBBUEkgZ2VuZXJhdG9yLCBhbmQgY291cGxlIG9mIG1pbm9yIGNvZGUKKyAgICBmaXhlcy48L2xpPgorPC91bD4KKworPGgzPjIuNC4yOTogRGVjIDExIDIwMDI8L2gzPgorPHVsPgorICA8bGk+V2luZG93cyBmaXhlcyAoSWdvcik6IFdpbmRvd3MgQ0UgcG9ydCwgcHRocmVhZCBsaW5raW5nLCBweXRob24gYmluZGluZ3MKKyAgICAoU3TDg8KpcGhhbmUgQmlkb3VsKSwgTWluZ3cgKE1hZ251cyBIZW5vY2gpLCBhbmQgZXhwb3J0IGxpc3QgdXBkYXRlczwvbGk+CisgIDxsaT5GaXggZm9yIHByZXYgaW4gcHl0aG9uIGJpbmRpbmdzIChFUkRJIEdlcmdvKTwvbGk+CisgIDxsaT5GaXggZm9yIGVudGl0aWVzIGhhbmRsaW5nIChNYXJjdXMgQ2xhcmtlKTwvbGk+CisgIDxsaT5SZWZhY3RvcmVkIHRoZSBYTUwgYW5kIEhUTUwgZHVtcHMgdG8gYSBzaW5nbGUgY29kZSBwYXRoLCBmaXhlZCBYSFRNTDEKKyAgICBkdW1wPC9saT4KKyAgPGxpPkZpeCBmb3IgVVJJIHBhcnNpbmcgd2hlbiBoYW5kbGluZyBVUk5zIHdpdGggZnJhZ21lbnQgaWRlbnRpZmllcnM8L2xpPgorICA8bGk+Rml4IGZvciBIVFRQIFVSTCBlc2NhcGluZyBwcm9ibGVtPC9saT4KKyAgPGxpPmFkZGVkIGFuIFRleHRYbWxSZWFkZXIgKEMjKSBsaWtlIEFQSSAod29yayBpbiBwcm9ncmVzcyk8L2xpPgorICA8bGk+UmV3cm90ZSB0aGUgQVBJIGluIFhNTCBnZW5lcmF0aW9uIHNjcmlwdCwgaW5jbHVkZXMgYSBDIHBhcnNlciBhbmQgc2F2ZXMKKyAgICBtb3JlIGluZm9ybWF0aW9uIG5lZWRlZCBmb3IgQyMgYmluZGluZ3M8L2xpPgorPC91bD4KKworPGgzPjIuNC4yODogTm92IDIyIDIwMDI8L2gzPgorPHVsPgorICA8bGk+YSBjb3VwbGUgb2YgcHl0aG9uIGJpbmRpbmcgZml4ZXM8L2xpPgorICA8bGk+MiBidWcgZml4ZXMgaW4gdGhlIFhNTCBwdXNoIHBhcnNlcjwvbGk+CisgIDxsaT5wb3RlbnRpYWwgbWVtb3J5IGxlYWsgcmVtb3ZlZCAoTWFydGluIFN0b2lsb3YpPC9saT4KKyAgPGxpPmZpeCB0byB0aGUgY29uZmlndXJlIHNjcmlwdCBmb3IgVW5peCAoRGltaXRyaSBQYXBhZG9wb3Vsb3MpPC9saT4KKyAgPGxpPmFkZGVkIGVuY29kaW5nIHN1cHBvcnQgZm9yIFhJbmNsdWRlIHBhcnNlPSJ0ZXh0IjwvbGk+CisgIDxsaT5hdXRvZGV0ZWN0aW9uIG9mIFhIVE1MMSBhbmQgc3BlY2lmaWMgc2VyaWFsaXphdGlvbiBydWxlcyBhZGRlZDwvbGk+CisgIDxsaT5uYXN0eSB0aHJlYWRpbmcgYnVnIGZpeGVkIChXaWxsaWFtIEJyYWNrKTwvbGk+Cis8L3VsPgorCis8aDM+Mi40LjI3OiBOb3YgMTcgMjAwMjwvaDM+Cis8dWw+CisgIDxsaT5maXhlcyBmb3IgdGhlIFB5dGhvbiBiaW5kaW5nczwvbGk+CisgIDxsaT5hIG51bWJlciBvZiBidWcgZml4ZXM6IFNHTUwgY2F0YWxvZ3MsIHhtbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeSgpLAorICAgIEhUTUwgcGFyc2VyLCAgU2NoZW1hcyAoQ2hhcmxlcyBCb3plbWFuKSwgZG9jdW1lbnQgZnJhZ21lbnQgc3VwcG9ydAorICAgIChDaHJpc3RpYW4gR2xhaG4pLCB4bWxSZWNvbmNpbGlhdGVOcyAoQnJpYW4gU3RhZmZvcmQpLCBYUG9pbnRlciwKKyAgICB4bWxGcmVlTm9kZSgpLCB4bWxTQVhQYXJzZU1lbW9yeSAoUGV0ZXIgSm9uZXMpLCB4bWxHZXROb2RlUGF0aCAoUGV0cgorICAgIFBhamFzKSwgZW50aXRpZXMgcHJvY2Vzc2luZzwvbGk+CisgIDxsaT5hZGRlZCBncmVwIHRvIHhtbGxpbnQgLS1zaGVsbDwvbGk+CisgIDxsaT5WTVMgdXBkYXRlIHBhdGNoIGZyb20gQ3JhaWcgQS4gQmVycnk8L2xpPgorICA8bGk+Y2xlYW51cCBvZiB0aGUgV2luZG93cyBidWlsZCB3aXRoIHN1cHBvcnQgZm9yIG1vcmUgY29tcGlsZXJzIChJZ29yKSwKKyAgICBiZXR0ZXIgdGhyZWFkIHN1cHBvcnQgb24gV2luZG93czwvbGk+CisgIDxsaT5jbGVhbnVwIG9mIFVuaXggTWFrZWZpbGVzIGFuZCBzcGVjIGZpbGU8L2xpPgorICA8bGk+SW1wcm92ZW1lbnRzIHRvIHRoZSBkb2N1bWVudGF0aW9uIChKb2huIEZsZWNrKTwvbGk+Cis8L3VsPgorCis8aDM+Mi40LjI2OiBPY3QgMTggMjAwMjwvaDM+Cis8dWw+CisgIDxsaT5QYXRjaGVzIGZvciBXaW5kb3dzIENFIHBvcnQsIGltcHJvdmVtZW50cyBvbiBXaW5kb3dzIHBhdGhzIGhhbmRsaW5nPC9saT4KKyAgPGxpPkZpeGVzIHRvIHRoZSB2YWxpZGF0aW9uICBjb2RlIChEVEQgYW5kIFNjaGVtYXMpLCB4bWxOb2RlR2V0UGF0aCgpICwKKyAgICBIVE1MIHNlcmlhbGl6YXRpb24sIE5hbWVzcGFjZSBjb21wbGlhbmNlLCAgYW5kIGEgbnVtYmVyIG9mIHNtYWxsCisgIHByb2JsZW1zPC9saT4KKzwvdWw+CisKKzxoMz4yLjQuMjU6IFNlcCAyNiAyMDAyPC9oMz4KKzx1bD4KKyAgPGxpPkEgbnVtYmVyIG9mIGJ1ZyBmaXhlczogWFBhdGgsIHZhbGlkYXRpb24sIFB5dGhvbiBiaW5kaW5ncywgRE9NIGFuZAorICAgIHRyZWUsIHhtbEkvTywgIEh0bWw8L2xpPgorICA8bGk+U2VyaW91cyByZXdyaXRlIG9mIFhJbmNsdWRlPC9saT4KKyAgPGxpPk1hZGUgWE1MIFNjaGVtYXMgcmVnZXhwIHBhcnQgb2YgdGhlIGRlZmF1bHQgYnVpbGQgYW5kIEFQSXMsIHNtYWxsIGZpeAorICAgIGFuZCBpbXByb3ZlbWVudCBvZiB0aGUgcmVnZXhwIGNvcmU8L2xpPgorICA8bGk+Q2hhbmdlZCB0aGUgdmFsaWRhdGlvbiBjb2RlIHRvIHJldXNlIFhNTCBTY2hlbWFzIHJlZ2V4cCBBUElzPC9saT4KKyAgPGxpPkJldHRlciBoYW5kbGluZyBvZiBXaW5kb3dzIGZpbGUgcGF0aHMsIGltcHJvdmVtZW50IG9mIE1ha2VmaWxlcyAoSWdvciwKKyAgICBEYW5pZWwgR2VocmlnZXIsIE1hcmsgVmFrb2MpPC9saT4KKyAgPGxpPkltcHJvdmVkIHRoZSBweXRob24gSS9PIGJpbmRpbmdzLCB0aGUgdGVzdHMsIGFkZGVkIHJlc29sdmVyIGFuZCByZWdleHAKKyAgICBBUElzPC9saT4KKyAgPGxpPk5ldyBsb2dvcyBmcm9tIE1hcmMgTGl5YW5hZ2U8L2xpPgorICA8bGk+VHV0b3JpYWwgaW1wcm92ZW1lbnRzOiBKb2huIEZsZWNrLCBDaHJpc3RvcGhlciBIYXJyaXM8L2xpPgorICA8bGk+TWFrZWZpbGU6IEZpeGVzIGZvciBBTUQgeDg2XzY0IChNYW5kcmFrZSksIERFU1RESVIgKENocmlzdG9waGUKKyAgTWVybGV0KTwvbGk+CisgIDxsaT5yZW1vdmFsIG9mIGFsbCBzdGRlcnIvcGVycm9yIHVzZSBmb3IgZXJyb3IgcmVwb3J0aW5nPC9saT4KKyAgPGxpPkJldHRlciBlcnJvciByZXBvcnRpbmc6IFhQYXRoIGFuZCBEVEQgdmFsaWRhdGlvbjwvbGk+CisgIDxsaT51cGRhdGUgb2YgdGhlIHRyaW8gcG9ydGFiaWxpdHkgbGF5ZXIgKEJqb3JuIFJlZXNlKTwvbGk+Cis8L3VsPgorCis8cD48c3Ryb25nPjIuNC4yNDogQXVnIDIyIDIwMDI8L3N0cm9uZz48L3A+Cis8dWw+CisgIDxsaT5YUGF0aCBmaXhlcyAoV2lsbGlhbSksIHhmOmVzY2FwZS11cmkoKSAoV2VzbGV5IFRlcnBzdHJhKTwvbGk+CisgIDxsaT5QeXRob24gYmluZGluZyBmaXhlczogbWFrZWZpbGVzIChXaWxsaWFtKSwgZ2VuZXJhdG9yLCBycG0gYnVpbGQsIHg4Ni02NAorICAgIChmY3JvemF0KTwvbGk+CisgIDxsaT5IVE1MICZsdDtzdHlsZSZndDsgYW5kIGJvb2xlYW4gYXR0cmlidXRlcyBzZXJpYWxpemVyIGZpeGVzPC9saT4KKyAgPGxpPkMxNE4gaW1wcm92ZW1lbnRzIGJ5IEFsZWtzZXk8L2xpPgorICA8bGk+ZG9jIGNsZWFudXBzOiBSaWNrIEpvbmVzPC9saT4KKyAgPGxpPldpbmRvd3MgY29tcGlsZXIgbWFrZWZpbGUgdXBkYXRlczogSWdvciBhbmQgRWxpemFiZXRoIEJhcmhhbTwvbGk+CisgIDxsaT5YSW5jbHVkZTogaW1wbGVtZW50YXRpb24gb2YgZmFsbGJhY2sgYW5kIHhtbDpiYXNlIGZpeHVwIGFkZGVkPC9saT4KKzwvdWw+CisKKzxoMz4yLjQuMjM6IEp1bHkgNiAyMDAyPC9oMz4KKzx1bD4KKyAgPGxpPnBlcmZvcm1hbmNlcyBwYXRjaGVzOiBQZXRlciBKYWNvYmk8L2xpPgorICA8bGk+YzE0biBmaXhlcywgdGVzdHN1aXRlIGFuZCBwZXJmb3JtYW5jZXM6IEFsZWtzZXkgU2FuaW48L2xpPgorICA8bGk+YWRkZWQgeG1sRG9jRm9ybWF0RHVtcDogQ2hlbWEgQ2Vsb3JpbzwvbGk+CisgIDxsaT5uZXcgdHV0b3JpYWw6IEpvaG4gRmxlY2s8L2xpPgorICA8bGk+bmV3IGhhc2ggZnVuY3Rpb25zIGFuZCBwZXJmb3JtYW5jZXM6IFNhbmRlciBWZXNpaywgcG9ydGFiaWxpdHkgZml4IGZyb20KKyAgICBQZXRlciBKYWNvYmk8L2xpPgorICA8bGk+YSBudW1iZXIgb2YgYnVnIGZpeGVzOiBYUGF0aCAoV2lsbGlhbSBCcmFjaywgUmljaGFyZCBKaW5rcyksIFhNTCBhbmQKKyAgICBIVE1MIHBhcnNlcnMsIElEIGxvb2t1cCBmdW5jdGlvbjwvbGk+CisgIDxsaT5yZW1vdmFsIG9mIGFsbCByZW1haW5pbmcgc3ByaW50ZjogQWxla3NleSBTYW5pbjwvbGk+Cis8L3VsPgorCis8aDM+Mi40LjIyOiBNYXkgMjcgMjAwMjwvaDM+Cis8dWw+CisgIDxsaT5hIG51bWJlciBvZiBidWcgZml4ZXM6IGNvbmZpZ3VyZSBzY3JpcHRzLCBiYXNlIGhhbmRsaW5nLCBwYXJzZXIsIG1lbW9yeQorICAgIHVzYWdlLCBIVE1MIHBhcnNlciwgWFBhdGgsIGRvY3VtZW50YXRpb24gKENocmlzdGlhbiBDb3JuZWxzc2VuKSwKKyAgICBpbmRlbnRhdGlvbiwgVVJJIHBhcnNpbmc8L2xpPgorICA8bGk+T3B0aW1pemF0aW9ucyBmb3IgWE1MU2VjLCBmaXhpbmcgYW5kIG1ha2luZyBwdWJsaWMgc29tZSBvZiB0aGUgbmV0d29yaworICAgIHByb3RvY29sIGhhbmRsZXJzIChBbGVrc2V5KTwvbGk+CisgIDxsaT5wZXJmb3JtYW5jZSBwYXRjaCBmcm9tIEdhcnkgUGVubmluZ3RvbjwvbGk+CisgIDxsaT5DaGFybGVzIEJvemVtYW4gcHJvdmlkZWQgZGF0ZSBhbmQgdGltZSBzdXBwb3J0IGZvciBYTUwgU2NoZW1hcworICBkYXRhdHlwZXM8L2xpPgorPC91bD4KKworPGgzPjIuNC4yMTogQXByIDI5IDIwMDI8L2gzPgorCis8cD5UaGlzIHJlbGVhc2UgaXMgYm90aCBhIGJ1ZyBmaXggcmVsZWFzZSBhbmQgYWxzbyBjb250YWlucyB0aGUgZWFybHkgWE1MCitTY2hlbWFzIDxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3htbHNjaGVtYS0xLyI+c3RydWN0dXJlczwvYT4gYW5kIDxhCitocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi94bWxzY2hlbWEtMi8iPmRhdGF0eXBlczwvYT4gY29kZSwgYmV3YXJlLCBhbGwKK2ludGVyZmFjZXMgYXJlIGxpa2VseSB0byBjaGFuZ2UsIHRoZXJlIGlzIGh1Z2UgaG9sZXMsIGl0IGlzIGNsZWFybHkgYSB3b3JrIGluCitwcm9ncmVzcyBhbmQgZG9uJ3QgZXZlbiB0aGluayBvZiBwdXR0aW5nIHRoaXMgY29kZSBpbiBhIHByb2R1Y3Rpb24gc3lzdGVtLAoraXQncyBhY3R1YWxseSBub3QgY29tcGlsZWQgaW4gYnkgZGVmYXVsdC4gVGhlIHJlYWwgZml4ZXMgYXJlOgorPC9wPgorCis8dWw+CisgIDxsaT5hIGNvdXBsZSBvZiBidWdzIG9yIGxpbWl0YXRpb25zIGludHJvZHVjZWQgaW4gMi40LjIwPC9saT4KKyAgPGxpPnBhdGNoZXMgZm9yIEJvcmxhbmQgQysrIGFuZCBNU0MgYnkgSWdvcjwvbGk+CisgIDxsaT5zb21lIGZpeGVzIG9uIFhQYXRoIHN0cmluZ3MgYW5kIGNvbmZvcm1hbmNlIHBhdGNoZXMgYnkgUmljaGFyZAorICBKaW5rczwvbGk+CisgIDxsaT5wYXRjaCBmcm9tIEFsZWtzZXkgZm9yIHRoZSBFeGNDMTROIHNwZWNpZmljYXRpb248L2xpPgorICA8bGk+T1NGLzEgYnVnIGZpeCBieSBCam9ybjwvbGk+Cis8L3VsPgorCis8aDM+Mi40LjIwOiBBcHIgMTUgMjAwMjwvaDM+Cis8dWw+CisgIDxsaT5idWcgZml4ZXM6IGZpbGUgZGVzY3JpcHRvciBsZWFrLCBYUGF0aCwgSFRNTCBvdXRwdXQsIERURCB2YWxpZGF0aW9uPC9saT4KKyAgPGxpPlhQYXRoIGNvbmZvcm1hbmNlIHRlc3RpbmcgYnkgUmljaGFyZCBKaW5rczwvbGk+CisgIDxsaT5Qb3J0YWJpbGl0eSBmaXhlczogU29sYXJpcywgTVBFL2lYLCBXaW5kb3dzLCBPU0YvMSwgcHl0aG9uIGJpbmRpbmdzLAorICAgIGxpYnhtbC5tNDwvbGk+Cis8L3VsPgorCis8aDM+Mi40LjE5OiBNYXIgMjUgMjAwMjwvaDM+Cis8dWw+CisgIDxsaT5idWcgZml4ZXM6IGhhbGYgYSBkb3plbiBYUGF0aCBidWdzLCBWYWxpZGF0aW9uLCBJU08tTGF0aW4gdG8gVVRGOAorICAgIGVuY29kZXI8L2xpPgorICA8bGk+cG9ydGFiaWxpdHkgZml4ZXMgaW4gdGhlIEhUVFAgY29kZTwvbGk+CisgIDxsaT5tZW1vcnkgYWxsb2NhdGlvbiBjaGVja3MgdXNpbmcgdmFsZ3JpbmQsIGFuZCBwcm9maWxpbmcgdGVzdHM8L2xpPgorICA8bGk+cmV2YW1wIG9mIHRoZSBXaW5kb3dzIGJ1aWxkIGFuZCBNYWtlZmlsZXM8L2xpPgorPC91bD4KKworPGgzPjIuNC4xODogTWFyIDE4IDIwMDI8L2gzPgorPHVsPgorICA8bGk+YnVnIGZpeGVzOiB0cmVlLCBTQVgsIGNhbm9uaWNhbGl6YXRpb24sIHZhbGlkYXRpb24sIHBvcnRhYmlsaXR5LAorICBYUGF0aDwvbGk+CisgIDxsaT5yZW1vdmVkIHRoZSAtLXdpdGgtYnVmZmVyIG9wdGlvbiBpdCB3YXMgYmVjb21pbmcgdW5tYWludGFpbmFibGU8L2xpPgorICA8bGk+c2VyaW91cyBjbGVhbnVwIG9mIHRoZSBQeXRob24gbWFrZWZpbGVzPC9saT4KKyAgPGxpPnNwZWVkdXAgcGF0Y2ggdG8gWFBhdGggdmVyeSBlZmZlY3RpdmUgZm9yIERvY0Jvb2sgc3R5bGVzaGVldHM8L2xpPgorICA8bGk+Rml4ZXMgZm9yIFdpbmRvd3MgYnVpbGQsIGNsZWFudXAgb2YgdGhlIGRvY3VtZW50YXRpb248L2xpPgorPC91bD4KKworPGgzPjIuNC4xNzogTWFyIDggMjAwMjwvaDM+Cis8dWw+CisgIDxsaT5hIGxvdCBvZiBidWcgZml4ZXMsIGluY2x1ZGluZyAibmFtZXNwYWNlIG5vZGVzIGhhdmUgbm8gcGFyZW50cyBpbgorICBYUGF0aCI8L2xpPgorICA8bGk+Zml4ZWQvaW1wcm92ZWQgdGhlIFB5dGhvbiB3cmFwcGVycywgYWRkZWQgbW9yZSBleGFtcGxlcyBhbmQgbW9yZQorICAgIHJlZ3Jlc3Npb24gdGVzdHMsIFhQYXRoIGV4dGVuc2lvbiBmdW5jdGlvbnMgY2FuIG5vdyByZXR1cm4gbm9kZS1zZXRzPC9saT4KKyAgPGxpPmFkZGVkIHRoZSBYTUwgQ2Fub25pY2FsaXphdGlvbiBzdXBwb3J0IGZyb20gQWxla3NleSBTYW5pbjwvbGk+Cis8L3VsPgorCis8aDM+Mi40LjE2OiBGZWIgMjAgMjAwMjwvaDM+Cis8dWw+CisgIDxsaT5hIGxvdCBvZiBidWcgZml4ZXMsIG1vc3Qgb2YgdGhlbSB3ZXJlIHRyaWdnZXJlZCBieSB0aGUgWE1MIFRlc3RzdWl0ZQorICAgIGZyb20gT0FTSVMgYW5kIFczQy4gQ29tcGxpYW5jZSBoYXMgYmVlbiBzaWduaWZpY2FudGx5IGltcHJvdmVkLjwvbGk+CisgIDxsaT5hIGNvdXBsZSBvZiBwb3J0YWJpbGl0eSBmaXhlcyB0b28uPC9saT4KKzwvdWw+CisKKzxoMz4yLjQuMTU6IEZlYiAxMSAyMDAyPC9oMz4KKzx1bD4KKyAgPGxpPkZpeGVkIHRoZSBNYWtlZmlsZXMsIGVzcGVjaWFsbHkgdGhlIHB5dGhvbiBtb2R1bGUgb25lczwvbGk+CisgIDxsaT5BIGZldyBidWcgZml4ZXMgYW5kIGNsZWFudXA8L2xpPgorICA8bGk+SW5jbHVkZXMgY2xlYW51cDwvbGk+Cis8L3VsPgorCis8aDM+Mi40LjE0OiBGZWIgOCAyMDAyPC9oMz4KKzx1bD4KKyAgPGxpPkNoYW5nZSBvZiBMaWNlbnNlIHRvIHRoZSA8YQorICAgIGhyZWY9Imh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UuaHRtbCI+TUlUCisgICAgTGljZW5zZTwvYT4gYmFzaWNhbGx5IGZvciBpbnRlZ3JhdGlvbiBpbiBYRnJlZTg2IGNvZGViYXNlLCBhbmQgcmVtb3ZpbmcKKyAgICBjb25mdXNpb24gYXJvdW5kIHRoZSBwcmV2aW91cyBkdWFsLWxpY2Vuc2luZzwvbGk+CisgIDxsaT5hZGRlZCBQeXRob24gYmluZGluZ3MsIGJldGEgc29mdHdhcmUgYnV0IHNob3VsZCBhbHJlYWR5IGJlIHF1aXRlCisgICAgY29tcGxldGU8L2xpPgorICA8bGk+YSBsYXJnZSBudW1iZXIgb2YgZml4ZXMgYW5kIGNsZWFudXBzLCBlc3BlY2lhbGx5IGZvciBhbGwgdHJlZQorICAgIG1hbmlwdWxhdGlvbnM8L2xpPgorICA8bGk+Y2xlYW51cCBvZiB0aGUgaGVhZGVycywgZ2VuZXJhdGlvbiBvZiBhIHJlZmVyZW5jZSBBUEkgZGVmaW5pdGlvbiBpbgorICBYTUw8L2xpPgorPC91bD4KKworPGgzPjIuNC4xMzogSmFuIDE0IDIwMDI8L2gzPgorPHVsPgorICA8bGk+dXBkYXRlIG9mIHRoZSBkb2N1bWVudGF0aW9uOiBKb2huIEZsZWNrIGFuZCBDaGFybGllIEJvemVtYW48L2xpPgorICA8bGk+Y2xlYW51cCBvZiB0aW1pbmcgY29kZSBmcm9tIEp1c3RpbiBGbGV0Y2hlcjwvbGk+CisgIDxsaT5maXhlcyBmb3IgV2luZG93cyBhbmQgaW5pdGlhbCB0aHJlYWQgc3VwcG9ydCBvbiBXaW4zMjogSWdvciBhbmQgU2VyZ3VlaQorICAgIE5hcm9qbnlpPC9saT4KKyAgPGxpPkN5Z3dpbiBwYXRjaCBmcm9tIFJvYmVydCBDb2xsaW5zPC9saT4KKyAgPGxpPmFkZGVkIHhtbFNldEVudGl0eVJlZmVyZW5jZUZ1bmMoKSBmb3IgS2VpdGggSXNkYWxlIHdvcmsgb24geHNsZGJnPC9saT4KKzwvdWw+CisKKzxoMz4yLjQuMTI6IERlYyA3IDIwMDE8L2gzPgorPHVsPgorICA8bGk+YSBmZXcgYnVnIGZpeGVzOiB0aHJlYWQgKEdhcnkgUGVubmluZ3RvbiksIHhtbGxpbnQgKEdlZXJ0IEtsb29zdGVybWFuKSwKKyAgICBYTUwgcGFyc2VyIChSb2JpbiBCZXJqb24pLCBYUG9pbnRlciAoRGFubnkgSmFtc2h5KSwgSS9PIGNsZWFudXBzCisgIChyb2JlcnQpPC9saT4KKyAgPGxpPkVyaWMgTGF2aWduZSBjb250cmlidXRlZCBwcm9qZWN0IGZpbGVzIGZvciBNYWNPUzwvbGk+CisgIDxsaT5zb21lIG1ha2VmaWxlcyBjbGVhbnVwczwvbGk+Cis8L3VsPgorCis8aDM+Mi40LjExOiBOb3YgMjYgMjAwMTwvaDM+Cis8dWw+CisgIDxsaT5maXhlZCBhIGNvdXBsZSBvZiBlcnJvcnMgaW4gdGhlIGluY2x1ZGVzLCBmaXhlZCBhIGZldyBidWdzLCBzb21lIGNvZGUKKyAgICBjbGVhbnVwczwvbGk+CisgIDxsaT54bWxsaW50IG1hbiBwYWdlcyBpbXByb3ZlbWVudCBieSBIZWlrbyBSdXBwPC9saT4KKyAgPGxpPnVwZGF0ZWQgVk1TIGJ1aWxkIGluc3RydWN0aW9ucyBmcm9tIEpvaG4gQSBGb3RoZXJpbmdoYW08L2xpPgorICA8bGk+V2luZG93cyBNYWtlZmlsZXMgdXBkYXRlcyBmcm9tIElnb3I8L2xpPgorPC91bD4KKworPGgzPjIuNC4xMDogTm92IDEwIDIwMDE8L2gzPgorPHVsPgorICA8bGk+VVJJIGVzY2FwaW5nIGZpeCAoSm9lbCBZb3VuZyk8L2xpPgorICA8bGk+YWRkZWQgeG1sR2V0Tm9kZVBhdGgoKSAoZm9yIHBhdGhzIG9yIFhQb2ludGVycyBnZW5lcmF0aW9uKTwvbGk+CisgIDxsaT5GaXhlcyBuYW1lc3BhY2UgaGFuZGxpbmcgcHJvYmxlbXMgd2hlbiB1c2luZyBEVEQgYW5kIHZhbGlkYXRpb248L2xpPgorICA8bGk+aW1wcm92ZW1lbnRzIG9uIHhtbGxpbnQ6IE1vcnVzIFdhbHRlciBwYXRjaGVzIGZvciAtLWZvcm1hdCBhbmQKKyAgICAtLWVuY29kZSwgU3RlZmFuIEtvc3QgYW5kIEhlaWtvIFJ1cHAgaW1wcm92ZW1lbnRzIG9uIHRoZSAtLXNoZWxsPC9saT4KKyAgPGxpPmZpeGVzIGZvciB4bWxjYXRhbG9nIGxpbmtpbmcgcG9pbnRlZCBieSBXZWlxaSBHYW88L2xpPgorICA8bGk+Zml4ZXMgdG8gdGhlIEhUTUwgcGFyc2VyPC9saT4KKzwvdWw+CisKKzxoMz4yLjQuOTogTm92IDYgMjAwMTwvaDM+Cis8dWw+CisgIDxsaT5maXhlcyBtb3JlIGNhdGFsb2cgYnVnczwvbGk+CisgIDxsaT5hdm9pZCBhIGNvbXBpbGF0aW9uIHByb2JsZW0sIGltcHJvdmUgeG1sR2V0TGluZU5vKCk8L2xpPgorPC91bD4KKworPGgzPjIuNC44OiBOb3YgNCAyMDAxPC9oMz4KKzx1bD4KKyAgPGxpPmZpeGVkIFNHTUwgY2F0YWxvZ3MgYnJva2VuIGluIHByZXZpb3VzIHJlbGVhc2UsIHVwZGF0ZWQgeG1sY2F0YWxvZworICB0b29sPC9saT4KKyAgPGxpPmZpeGVkIGEgY29tcGlsZSBlcnJvcnMgYW5kIHNvbWUgaW5jbHVkZXMgdHJvdWJsZXMuPC9saT4KKzwvdWw+CisKKzxoMz4yLjQuNzogT2N0IDMwIDIwMDE8L2gzPgorPHVsPgorICA8bGk+ZXhwb3J0ZWQgc29tZSBkZWJ1Z2dpbmcgaW50ZXJmYWNlczwvbGk+CisgIDxsaT5zZXJpb3VzIHJld3JpdGUgb2YgdGhlIGNhdGFsb2cgY29kZTwvbGk+CisgIDxsaT5pbnRlZ3JhdGVkIEdhcnkgUGVubmluZ3RvbiB0aHJlYWQgc2FmZXR5IHBhdGNoLCBhZGRlZCBjb25maWd1cmUgb3B0aW9uCisgICAgYW5kIHJlZ3Jlc3Npb24gdGVzdHM8L2xpPgorICA8bGk+cmVtb3ZlZCBhbiBIVE1MIHBhcnNlciBidWc8L2xpPgorICA8bGk+Zml4ZWQgYSBjb3VwbGUgb2YgcG90ZW50aWFsbHkgc2VyaW91cyB2YWxpZGF0aW9uIGJ1Z3M8L2xpPgorICA8bGk+aW50ZWdyYXRlZCB0aGUgU0dNTCBEb2NCb29rIHN1cHBvcnQgaW4geG1sbGludDwvbGk+CisgIDxsaT5jaGFuZ2VkIHRoZSBuYW5vZnRwIGFub255bW91cyBsb2dpbiBwYXNzd2Q8L2xpPgorICA8bGk+c29tZSBJL08gY2xlYW51cCBhbmQgYSBjb3VwbGUgb2YgaW50ZXJmYWNlcyBmb3IgUGVybCB3cmFwcGVyPC9saT4KKyAgPGxpPmdlbmVyYWwgYnVnIGZpeGVzPC9saT4KKyAgPGxpPnVwZGF0ZWQgeG1sbGludCBtYW4gcGFnZSBieSBKb2huIEZsZWNrPC9saT4KKyAgPGxpPnNvbWUgVk1TIGFuZCBXaW5kb3dzIHVwZGF0ZXM8L2xpPgorPC91bD4KKworPGgzPjIuNC42OiBPY3QgMTAgMjAwMTwvaDM+Cis8dWw+CisgIDxsaT5hZGRlZCBhbiB1cGRhdGVkIG1hbiBwYWdlcyBieSBKb2huIEZsZWNrPC9saT4KKyAgPGxpPnBvcnRhYmlsaXR5IGFuZCBjb25maWd1cmUgZml4ZXM8L2xpPgorICA8bGk+YW4gaW5maW5pdGUgbG9vcCBvbiB0aGUgSFRNTCBwYXJzZXIgd2FzIHJlbW92ZWQgKFdpbGxpYW0pPC9saT4KKyAgPGxpPldpbmRvd3MgbWFrZWZpbGUgcGF0Y2hlcyBmcm9tIElnb3I8L2xpPgorICA8bGk+Zml4ZWQgaGFsZiBhIGRvemVuIGJ1Z3MgcmVwb3J0ZWQgZm9yIGxpYnhtbCBvciBsaWJ4c2x0PC9saT4KKyAgPGxpPnVwZGF0ZWQgeG1sY2F0YWxvZyB0byBiZSBhYmxlIHRvIG1vZGlmeSBTR01MIHN1cGVyIGNhdGFsb2dzPC9saT4KKzwvdWw+CisKKzxoMz4yLjQuNTogU2VwIDE0IDIwMDE8L2gzPgorPHVsPgorICA8bGk+UmVtb3ZlIGEgZmV3IGFubm95aW5nIGJ1Z3MgaW4gMi40LjQ8L2xpPgorICA8bGk+Zm9yY2VzIHRoZSBIVE1MIHNlcmlhbGl6ZXIgdG8gb3V0cHV0IGRlY2ltYWwgY2hhcnJlZnMgc2luY2Ugc29tZQorICAgIHZlcnNpb24gb2YgTmV0c2NhcGUgY2FuJ3QgaGFuZGxlIGhleGFkZWNpbWFsIG9uZXM8L2xpPgorPC91bD4KKworPGgzPjEuOC4xNjogU2VwIDE0IDIwMDE8L2gzPgorPHVsPgorICA8bGk+bWFpbnRlbmFuY2UgcmVsZWFzZSBvZiB0aGUgb2xkIGxpYnhtbDEgYnJhbmNoLCBjb3VwbGUgb2YgYnVnIGFuZAorICAgIHBvcnRhYmlsaXR5IGZpeGVzPC9saT4KKzwvdWw+CisKKzxoMz4yLjQuNDogU2VwIDEyIDIwMDE8L2gzPgorPHVsPgorICA8bGk+YWRkZWQgLS1jb252ZXJ0IHRvIHhtbGNhdGFsb2csIGJ1ZyBmaXhlcyBhbmQgY2xlYW51cHMgb2YgWE1MCisgIENhdGFsb2c8L2xpPgorICA8bGk+YSBmZXcgYnVnIGZpeGVzIGFuZCBzb21lIHBvcnRhYmlsaXR5IGNoYW5nZXM8L2xpPgorICA8bGk+c29tZSBkb2N1bWVudGF0aW9uIGNsZWFudXBzPC9saT4KKzwvdWw+CisKKzxoMz4yLjQuMzogIEF1ZyAyMyAyMDAxPC9oMz4KKzx1bD4KKyAgPGxpPlhNTCBDYXRhbG9nIHN1cHBvcnQgc2VlIHRoZSBkb2M8L2xpPgorICA8bGk+TmV3IE5hTi9JbmZpbml0eSBmbG9hdGluZyBwb2ludCBjb2RlPC9saT4KKyAgPGxpPkEgZmV3IGJ1ZyBmaXhlczwvbGk+Cis8L3VsPgorCis8aDM+Mi40LjI6ICBBdWcgMTUgMjAwMTwvaDM+Cis8dWw+CisgIDxsaT5hZGRzIHhtbExpbmVOdW1iZXJzRGVmYXVsdCgpIHRvIGNvbnRyb2wgbGluZSBudW1iZXIgZ2VuZXJhdGlvbjwvbGk+CisgIDxsaT5sb3Qgb2YgYnVnIGZpeGVzPC9saT4KKyAgPGxpPnRoZSBNaWNyb3NvZnQgTVNDIHByb2plY3RzIGZpbGVzIHNob3VsZCBub3cgYmUgdXAgdG8gZGF0ZTwvbGk+CisgIDxsaT5pbmhlcml0YW5jZSBvZiBuYW1lc3BhY2VzIGZyb20gRFREIGRlZmF1bHRlZCBhdHRyaWJ1dGVzPC9saT4KKyAgPGxpPmZpeGVzIGEgc2VyaW91cyBwb3RlbnRpYWwgc2VjdXJpdHkgYnVnPC9saT4KKyAgPGxpPmFkZGVkIGEgLS1mb3JtYXQgb3B0aW9uIHRvIHhtbGxpbnQ8L2xpPgorPC91bD4KKworPGgzPjIuNC4xOiAgSnVseSAyNCAyMDAxPC9oMz4KKzx1bD4KKyAgPGxpPnBvc3NpYmlsaXR5IHRvIGtlZXAgbGluZSBudW1iZXJzIGluIHRoZSB0cmVlPC9saT4KKyAgPGxpPnNvbWUgY29tcHV0YXRpb24gTmFOIGZpeGVzPC9saT4KKyAgPGxpPmV4dGVuc2lvbiBvZiB0aGUgWFBhdGggQVBJPC9saT4KKyAgPGxpPmNsZWFudXAgZm9yIGFscGhhIGFuZCBpYTY0IHRhcmdldHM8L2xpPgorICA8bGk+cGF0Y2ggdG8gYWxsb3cgc2F2aW5nIHRocm91Z2ggSFRUUCBQVVQgb3IgUE9TVDwvbGk+Cis8L3VsPgorCis8aDM+Mi40LjA6IEp1bHkgMTAgMjAwMTwvaDM+Cis8dWw+CisgIDxsaT5GaXhlZCBhIGZldyBidWdzIGluIFhQYXRoLCB2YWxpZGF0aW9uLCBhbmQgdHJlZSBoYW5kbGluZy48L2xpPgorICA8bGk+Rml4ZWQgWE1MIEJhc2UgaW1wbGVtZW50YXRpb24sIGFkZGVkIGEgY291cGxlIG9mIGV4YW1wbGVzIHRvIHRoZQorICAgIHJlZ3Jlc3Npb24gdGVzdHM8L2xpPgorICA8bGk+QSBiaXQgb2YgY2xlYW51cDwvbGk+Cis8L3VsPgorCis8aDM+Mi4zLjE0OiBKdWx5IDUgMjAwMTwvaDM+Cis8dWw+CisgIDxsaT5maXhlZCBzb21lIGVudGl0aWVzIHByb2JsZW1zIGFuZCByZWR1Y2UgbWVtb3J5IHJlcXVpcmVtZW50IHdoZW4KKyAgICBzdWJzdGl0dXRpbmcgdGhlbTwvbGk+CisgIDxsaT5sb3RzIG9mIGltcHJvdmVtZW50cyBpbiB0aGUgWFBhdGggcXVlcmllcyBpbnRlcnByZXRlciBjYW4gYmUKKyAgICBzdWJzdGFudGlhbGx5IGZhc3RlcjwvbGk+CisgIDxsaT5NYWtlZmlsZXMgYW5kIGNvbmZpZ3VyZSBjbGVhbnVwczwvbGk+CisgIDxsaT5GaXhlcyB0byBYUGF0aCB2YXJpYWJsZSBldmFsLCBhbmQgY29tcGFyZSBvbiBlbXB0eSBub2RlIHNldDwvbGk+CisgIDxsaT5IVE1MIHRhZyBjbG9zaW5nIGJ1ZyBmaXhlZDwvbGk+CisgIDxsaT5GaXhlZCBhbiBVUkkgcmVmZXJlbmNlIGNvbXB1dGF0aW9uIHByb2JsZW0gd2hlbiB2YWxpZGF0aW5nPC9saT4KKzwvdWw+CisKKzxoMz4yLjMuMTM6IEp1bmUgMjggMjAwMTwvaDM+Cis8dWw+CisgIDxsaT4yLjMuMTIgY29uZmlndXJlLmluIHdhcyBicm9rZW4gYXMgd2VsbCBhcyB0aGUgcHVzaCBtb2RlIFhNTCBwYXJzZXI8L2xpPgorICA8bGk+YSBmZXcgbW9yZSBmaXhlcyBmb3IgY29tcGlsYXRpb24gb24gV2luZG93cyBNU0MgYnkgWW9uIERlcmVrPC9saT4KKzwvdWw+CisKKzxoMz4xLjguMTQ6IEp1bmUgMjggMjAwMTwvaDM+Cis8dWw+CisgIDxsaT5aYmlnbmlldyBDaHlsYSBnYXZlIGEgcGF0Y2ggdG8gdXNlIHRoZSBvbGQgWE1MIHBhcnNlciBpbiBwdXNoIG1vZGU8L2xpPgorICA8bGk+U21hbGwgTWFrZWZpbGUgZml4PC9saT4KKzwvdWw+CisKKzxoMz4yLjMuMTI6IEp1bmUgMjYgMjAwMTwvaDM+Cis8dWw+CisgIDxsaT5sb3RzIG9mIGNsZWFudXA8L2xpPgorICA8bGk+YSBjb3VwbGUgb2YgdmFsaWRhdGlvbiBmaXg8L2xpPgorICA8bGk+Zml4ZWQgbGluZSBudW1iZXIgY291bnRpbmc8L2xpPgorICA8bGk+Zml4ZWQgc2VyaW91cyBwcm9ibGVtcyBpbiB0aGUgWEluY2x1ZGUgcHJvY2Vzc2luZzwvbGk+CisgIDxsaT5hZGRlZCBzdXBwb3J0IGZvciBVVEY4IEJPTSBhdCBiZWdpbm5pbmcgb2YgZW50aXRpZXM8L2xpPgorICA8bGk+Zml4ZWQgYSBzdHJhbmdlIGdjYyBvcHRpbWl6ZXIgYnVncyBpbiB4cGF0aCBoYW5kbGluZyBvZiBmbG9hdCwgZ2NjLTMuMAorICAgIG1pc2NvbXBpbGUgdXJpLmMgKFdpbGxpYW0pLCBUaG9tYXMgTGVpdG5lciBwcm92aWRlZCBhIGZpeCBmb3IgdGhlCisgICAgb3B0aW1pemVyIG9uIFRydTY0PC9saT4KKyAgPGxpPmluY29ycG9yYXRlZCBZb24gRGVyZWsgYW5kIElnb3IgWmxhdGtvdmljICBmaXhlcyBhbmQgaW1wcm92ZW1lbnRzIGZvcgorICAgIGNvbXBpbGF0aW9uIG9uIFdpbmRvd3MgTVNDPC9saT4KKyAgPGxpPnVwZGF0ZSBvZiBsaWJ4bWwtZG9jLmVsIChGZWxpeCBOYXR0ZXIpPC9saT4KKyAgPGxpPmZpeGVkIDIgYnVncyBpbiBVUkkgbm9ybWFsaXphdGlvbiBjb2RlPC9saT4KKzwvdWw+CisKKzxoMz4yLjMuMTE6IEp1bmUgMTcgMjAwMTwvaDM+Cis8dWw+CisgIDxsaT51cGRhdGVzIHRvIHRyaW8sIE1ha2VmaWxlcyBhbmQgY29uZmlndXJlIHNob3VsZCBmaXggc29tZSBwb3J0YWJpbGl0eQorICAgIHByb2JsZW1zIChhbHBoYSk8L2xpPgorICA8bGk+Zml4ZWQgc29tZSBIVE1MIHNlcmlhbGl6YXRpb24gcHJvYmxlbXMgKHByZSwgc2NyaXB0LCBhbmQgYmxvY2svaW5saW5lCisgICAgaGFuZGxpbmcpLCBhZGRlZCBlbmNvZGluZyBhd2FyZSBBUElzLCBjbGVhbnVwIG9mIHRoaXMgY29kZTwvbGk+CisgIDxsaT5hZGRlZCB4bWxIYXNOc1Byb3AoKTwvbGk+CisgIDxsaT5pbXBsZW1lbnRlZCBhIHNwZWNpZmljIFBJIGZvciBlbmNvZGluZyBzdXBwb3J0IGluIHRoZSBEb2NCb29rIFNHTUwKKyAgICBwYXJzZXI8L2xpPgorICA8bGk+c29tZSBYUGF0aCBmaXhlcyAoLUluZmluaXR5LCAvIGFzIGEgZnVuY3Rpb24gcGFyYW1ldGVyIGFuZCBuYW1lc3BhY2VzCisgICAgbm9kZSBzZWxlY3Rpb24pPC9saT4KKyAgPGxpPmZpeGVkIGEgcGVyZm9ybWFuY2UgcHJvYmxlbSBhbmQgYW4gZXJyb3IgaW4gdGhlIHZhbGlkYXRpb24gY29kZTwvbGk+CisgIDxsaT5maXhlZCBYSW5jbHVkZSByb3V0aW5lIHRvIGltcGxlbWVudCB0aGUgcmVjdXJzaXZlIGJlaGF2aW91cjwvbGk+CisgIDxsaT5maXhlZCB4bWxGcmVlTm9kZSBwcm9ibGVtIHdoZW4gbGlieG1sIGlzIGluY2x1ZGVkIHN0YXRpY2FsbHkgdHdpY2U8L2xpPgorICA8bGk+YWRkZWQgLS12ZXJzaW9uIHRvIHhtbGxpbnQgZm9yIGJ1ZyByZXBvcnRzPC9saT4KKzwvdWw+CisKKzxoMz4yLjMuMTA6IEp1bmUgMSAyMDAxPC9oMz4KKzx1bD4KKyAgPGxpPmZpeGVkIHRoZSBTR01MIGNhdGFsb2cgc3VwcG9ydDwvbGk+CisgIDxsaT5hIG51bWJlciBvZiByZXBvcnRlZCBidWdzIGdvdCBmaXhlZCwgaW4gWFBhdGgsIGljb252IGRldGVjdGlvbiwKKyAgICBYSW5jbHVkZSBwcm9jZXNzaW5nPC9saT4KKyAgPGxpPlhQYXRoIHN0cmluZyBmdW5jdGlvbiBzaG91bGQgbm93IGhhbmRsZSB1bmljb2RlIGNvcnJlY3RseTwvbGk+Cis8L3VsPgorCis8aDM+Mi4zLjk6IE1heSAxOSAyMDAxPC9oMz4KKworPHA+TG90cyBvZiBidWdmaXhlcywgYW5kIGFkZGVkIGEgYmFzaWMgU0dNTCBjYXRhbG9nIHN1cHBvcnQ6Cis8L3A+Cis8dWw+CisgIDxsaT5IVE1MIHB1c2ggYnVnZml4ICM1NDg5MSBhbmQgYW5vdGhlciBwYXRjaCBmcm9tIEpvbmFzIEJvcmdzdHJvbTwvbGk+CisgIDxsaT5zb21lIHNlcmlvdXMgc3BlZWQgb3B0aW1pemF0aW9uIGFnYWluPC9saT4KKyAgPGxpPnNvbWUgZG9jdW1lbnRhdGlvbiBjbGVhbnVwczwvbGk+CisgIDxsaT50cnlpbmcgdG8gZ2V0IGJldHRlciBsaW5raW5nIG9uIFNvbGFyaXMgKC1SKTwvbGk+CisgIDxsaT5YUGF0aCBBUEkgY2xlYW51cCBmcm9tIFRob21hcyBCcm95ZXI8L2xpPgorICA8bGk+VmFsaWRhdGlvbiBidWcgZml4ZWQgIzU0NjMxLCBhZGRlZCBhIHBhdGNoIGZyb20gR2FyeSBQZW5uaW5ndG9uLCBmaXhlZAorICAgIHhtbFZhbGlkR2V0VmFsaWRFbGVtZW50cygpPC9saT4KKyAgPGxpPkFkZGVkIGFuIElOU1RBTEwgZmlsZTwvbGk+CisgIDxsaT5BdHRyaWJ1dGUgcmVtb3ZhbCBhZGRlZCB0byBBUEk6ICM1NDQzMzwvbGk+CisgIDxsaT5hZGRlZCBhIGJhc2ljIHN1cHBvcnQgZm9yIFNHTUwgY2F0YWxvZ3M8L2xpPgorICA8bGk+Zml4ZWQgeG1sS2VlcEJsYW5rc0RlZmF1bHQoMCkgQVBJPC9saT4KKyAgPGxpPmJ1Z2ZpeCBpbiB4bWxOb2RlR2V0TGFuZygpPC9saT4KKyAgPGxpPmZpeGVkIGEgc21hbGwgY29uZmlndXJlIHBvcnRhYmlsaXR5IHByb2JsZW08L2xpPgorICA8bGk+Zml4ZWQgYW4gaW52ZXJzaW9uIG9mIFNZU1RFTSBhbmQgUFVCTElDIGlkZW50aWZpZXIgaW4gSFRNTCBkb2N1bWVudDwvbGk+Cis8L3VsPgorCis8aDM+MS44LjEzOiBNYXkgMTQgMjAwMTwvaDM+Cis8dWw+CisgIDxsaT5idWdmaXhlcyByZWxlYXNlIG9mIHRoZSBvbGQgbGlieG1sMSBicmFuY2ggdXNlZCBieSBHbm9tZTwvbGk+Cis8L3VsPgorCis8aDM+Mi4zLjg6IE1heSAzIDIwMDE8L2gzPgorPHVsPgorICA8bGk+SW50ZWdyYXRlZCBhbiBTR01MIERvY0Jvb2sgcGFyc2VyIGZvciB0aGUgR25vbWUgcHJvamVjdDwvbGk+CisgIDxsaT5GaXhlZCBhIGZldyB0aGluZ3MgaW4gdGhlIEhUTUwgcGFyc2VyPC9saT4KKyAgPGxpPkZpeGVkIHNvbWUgWFBhdGggYnVncyByYWlzZWQgYnkgWFNMVCB1c2UsIHRyaWVkIHRvIGZpeCB0aGUgZmxvYXRpbmcKKyAgICBwb2ludCBwb3J0YWJpbGl0eSBpc3N1ZTwvbGk+CisgIDxsaT5TcGVlZCBpbXByb3ZlbWVudCAoOE0vcyBmb3IgU0FYLCAzTS9zIGZvciBET00sIDEuNU0vcyBmb3IKKyAgICBET00rdmFsaWRhdGlvbiB1c2luZyB0aGUgWE1MIFJFQyBhcyBpbnB1dCBhbmQgYSA3MDBNSHogY2VsZXJvbikuPC9saT4KKyAgPGxpPmluY29ycG9yYXRlZCBtb3JlIFdpbmRvd3MgY2xlYW51cDwvbGk+CisgIDxsaT5hZGRlZCB4bWxTYXZlRm9ybWF0RmlsZSgpPC9saT4KKyAgPGxpPmZpeGVkIHByb2JsZW1zIGluIGNvcHlpbmcgbm9kZXMgd2l0aCBlbnRpdGllcyByZWZlcmVuY2VzIChnZG9tZSk8L2xpPgorICA8bGk+cmVtb3ZlZCBzb21lIHRyb3VibGVzIHN1cnJvdW5kaW5nIHRoZSBuZXcgdmFsaWRhdGlvbiBtb2R1bGU8L2xpPgorPC91bD4KKworPGgzPjIuMy43OiBBcHJpbCAyMiAyMDAxPC9oMz4KKzx1bD4KKyAgPGxpPmxvdHMgb2Ygc21hbGwgYnVnIGZpeGVzLCBjb3JyZWN0ZWQgWFBvaW50ZXI8L2xpPgorICA8bGk+Tm9uIGRldGVybWluaXN0aWMgY29udGVudCBtb2RlbCB2YWxpZGF0aW9uIHN1cHBvcnQ8L2xpPgorICA8bGk+YWRkZWQgeG1sRG9jQ29weU5vZGUgZm9yIGdkb21lMjwvbGk+CisgIDxsaT5yZXZhbXBlZCB0aGUgd2F5IHRoZSBIVE1MIHBhcnNlciBoYW5kbGVzIGVuZCBvZiB0YWdzPC9saT4KKyAgPGxpPlhQYXRoOiBjb3JyZWN0aW9ucyBvZiBuYW1lc3BhY2VzIHN1cHBvcnQgYW5kIG51bWJlciBmb3JtYXR0aW5nPC9saT4KKyAgPGxpPldpbmRvd3M6IElnb3IgWmxhdGtvdmljIHBhdGNoZXMgZm9yIE1TQyBjb21waWxhdGlvbjwvbGk+CisgIDxsaT5IVE1MIG91dHB1dCBmaXhlcyBmcm9tIFAgQyBDaG93IGFuZCBXaWxsaWFtIE0uIEJyYWNrPC9saT4KKyAgPGxpPkltcHJvdmVkIHZhbGlkYXRpb24gc3BlZWQgc2Vuc2libGUgZm9yIERvY0Jvb2s8L2xpPgorICA8bGk+Zml4ZWQgYSBiaWcgYnVnIHdpdGggSUQgZGVjbGFyZWQgaW4gZXh0ZXJuYWwgcGFyc2VkIGVudGl0aWVzPC9saT4KKyAgPGxpPnBvcnRhYmlsaXR5IGZpeGVzLCB1cGRhdGUgb2YgVHJpbyBmcm9tIEJqb3JuIFJlZXNlPC9saT4KKzwvdWw+CisKKzxoMz4yLjMuNjogQXByaWwgOCAyMDAxPC9oMz4KKzx1bD4KKyAgPGxpPkNvZGUgY2xlYW51cCB1c2luZyBleHRyZW1lIGdjYyBjb21waWxlciB3YXJuaW5nIG9wdGlvbnMsIGZvdW5kIGFuZAorICAgIGNsZWFyZWQgaGFsZiBhIGRvemVuIHBvdGVudGlhbCBwcm9ibGVtPC9saT4KKyAgPGxpPnRoZSBFYXplbCB0ZWFtIGZvdW5kIGFuIFhNTCBwYXJzZXIgYnVnPC9saT4KKyAgPGxpPmNsZWFuZWQgdXAgdGhlIHVzZXIgb2Ygc29tZSBvZiB0aGUgc3RyaW5nIGZvcm1hdHRpbmcgZnVuY3Rpb24uIHVzZWQgdGhlCisgICAgdHJpbyBsaWJyYXJ5IGNvZGUgdG8gcHJvdmlkZSB0aGUgb25lIG5lZWRlZCB3aGVuIHRoZSBwbGF0Zm9ybSBpcyBtaXNzaW5nCisgICAgdGhlbTwvbGk+CisgIDxsaT54cGF0aDogcmVtb3ZlZCBhIG1lbW9yeSBsZWFrIGFuZCBmaXhlZCB0aGUgcHJlZGljYXRlIGV2YWx1YXRpb24KKyAgICBwcm9ibGVtLCBleHRlbmRlZCB0aGUgdGVzdHN1aXRlIGFuZCBjbGVhbmVkIHVwIHRoZSByZXN1bHQuIFhQb2ludGVyIHNlZW1zCisgICAgYnJva2VuIC4uLjwvbGk+Cis8L3VsPgorCis8aDM+Mi4zLjU6IE1hciAyMyAyMDAxPC9oMz4KKzx1bD4KKyAgPGxpPkJpZ2dlc3QgY2hhbmdlIGlzIHNlcGFyYXRlIHBhcnNpbmcgYW5kIGV2YWx1YXRpb24gb2YgWFBhdGggZXhwcmVzc2lvbnMsCisgICAgdGhlcmUgaXMgc29tZSBuZXcgQVBJcyBmb3IgdGhpcyB0b288L2xpPgorICA8bGk+aW5jbHVkZWQgYSBudW1iZXIgb2YgYnVnIGZpeGVzKFhNTCBwdXNoIHBhcnNlciwgNTE4NzYsIG5vdGF0aW9ucywKKyAgNTIyOTkpPC9saT4KKyAgPGxpPkZpeGVkIHNvbWUgcG9ydGFiaWxpdHkgaXNzdWVzPC9saT4KKzwvdWw+CisKKzxoMz4yLjMuNDogTWFyIDEwIDIwMDE8L2gzPgorPHVsPgorICA8bGk+Rml4ZWQgYnVncyAjNTE4NjAgYW5kICM1MTg2MTwvbGk+CisgIDxsaT5BZGRlZCBhIGdsb2JhbCB2YXJpYWJsZSB4bWxEZWZhdWx0QnVmZmVyU2l6ZSB0byBhbGxvdyBkZWZhdWx0IGJ1ZmZlcgorICAgIHNpemUgdG8gYmUgYXBwbGljYXRpb24gdHVuYWJsZS48L2xpPgorICA8bGk+U29tZSBjbGVhbnVwIGluIHRoZSB2YWxpZGF0aW9uIGNvZGUsIHN0aWxsIGEgYnVnIGxlZnQgYW5kIHRoaXMgcGFydAorICAgIHNob3VsZCBwcm9iYWJseSBiZSByZXdyaXR0ZW4gdG8gc3VwcG9ydCBhbWJpZ3VvdXMgY29udGVudCBtb2RlbCA6LVw8L2xpPgorICA8bGk+Rml4IGEgY291cGxlIG9mIHNlcmlvdXMgYnVncyBpbnRyb2R1Y2VkIG9yIHJhaXNlZCBieSBjaGFuZ2VzIGluIDIuMy4zCisgICAgcGFyc2VyPC9saT4KKyAgPGxpPkZpeGVkIGFub3RoZXIgYnVnIGluIHhtbE5vZGVHZXRDb250ZW50KCk8L2xpPgorICA8bGk+Qmpvcm4gZml4ZWQgWFBhdGggbm9kZSBjb2xsZWN0aW9uIGFuZCBOdW1iZXIgZm9ybWF0dGluZzwvbGk+CisgIDxsaT5GaXhlZCBhIGxvb3AgcmVwb3J0ZWQgaW4gdGhlIEhUTUwgcGFyc2luZzwvbGk+CisgIDxsaT5ibGFuayBzcGFjZSBhcmUgcmVwb3J0ZWQgZXZlbiBpZiB0aGUgRHRkIGNvbnRlbnQgbW9kZWwgcHJvdmVzIHRoYXQgdGhleQorICAgIGFyZSBmb3JtYXR0aW5nIHNwYWNlcywgdGhpcyBpcyBmb3IgWE1MIGNvbmZvcm1hbmNlPC9saT4KKzwvdWw+CisKKzxoMz4yLjMuMzogTWFyIDEgMjAwMTwvaDM+Cis8dWw+CisgIDxsaT5zbWFsbCBjaGFuZ2UgaW4gWFBhdGggZm9yIFhTTFQ8L2xpPgorICA8bGk+ZG9jdW1lbnRhdGlvbiBjbGVhbnVwczwvbGk+CisgIDxsaT5maXggaW4gdmFsaWRhdGlvbiBieSBHYXJ5IFBlbm5pbmd0b248L2xpPgorICA8bGk+c2VyaW91cyBwYXJzaW5nIHBlcmZvcm1hbmNlcyBpbXByb3ZlbWVudHM8L2xpPgorPC91bD4KKworPGgzPjIuMy4yOiBGZWIgMjQgMjAwMTwvaDM+Cis8dWw+CisgIDxsaT5jaGFzaW5nIFhQYXRoIGJ1Z3MsIGZvdW5kIGEgYnVuY2gsIGNvbXBsZXRlZCBzb21lIFRPRE88L2xpPgorICA8bGk+Zml4ZWQgYSBEdGQgcGFyc2luZyBidWc8L2xpPgorICA8bGk+Zml4ZWQgYSBidWcgaW4geG1sTm9kZUdldENvbnRlbnQ8L2xpPgorICA8bGk+SUQvSURSRUYgc3VwcG9ydCBwYXJ0bHkgcmV3cml0dGVuIGJ5IEdhcnkgUGVubmluZ3RvbjwvbGk+Cis8L3VsPgorCis8aDM+Mi4zLjE6IEZlYiAxNSAyMDAxPC9oMz4KKzx1bD4KKyAgPGxpPnNvbWUgWFBhdGggYW5kIEhUTUwgYnVnIGZpeGVzIGZvciBYU0xUPC9saT4KKyAgPGxpPnNtYWxsIGV4dGVuc2lvbiBvZiB0aGUgaGFzaCB0YWJsZSBpbnRlcmZhY2VzIGZvciBET00gZ2RvbWUyCisgICAgaW1wbGVtZW50YXRpb248L2xpPgorICA8bGk+QSBmZXcgYnVnIGZpeGVzPC9saT4KKzwvdWw+CisKKzxoMz4yLjMuMDogRmViIDggMjAwMSAoMi4yLjEyIHdhcyBvbiAyNSBKYW4gYnV0IEkgZGlkbid0IGtlcHQgdHJhY2spPC9oMz4KKzx1bD4KKyAgPGxpPkxvdHMgb2YgWFBhdGggYnVnIGZpeGVzPC9saT4KKyAgPGxpPkFkZCBhIG1vZGUgd2l0aCBEdGQgbG9va3VwIGJ1dCB3aXRob3V0IHZhbGlkYXRpb24gZXJyb3IgcmVwb3J0aW5nIGZvcgorICAgIFhTTFQ8L2xpPgorICA8bGk+QWRkIHN1cHBvcnQgZm9yIHRleHQgbm9kZSB3aXRob3V0IGVzY2FwaW5nIChYU0xUKTwvbGk+CisgIDxsaT5idWcgZml4ZXMgZm9yIHhtbENoZWNrRmlsZW5hbWU8L2xpPgorICA8bGk+dmFsaWRhdGlvbiBjb2RlIGJ1ZyBmaXhlcyBmcm9tIEdhcnkgUGVubmluZ3RvbjwvbGk+CisgIDxsaT5QYXRjaCBmcm9tIFBhdWwgRC4gU21pdGggY29ycmVjdGluZyBVUkkgcGF0aCBub3JtYWxpemF0aW9uPC9saT4KKyAgPGxpPlBhdGNoIHRvIGFsbG93IHNpbXVsdGFuZW91cyBpbnN0YWxsIG9mIGxpYnhtbC1kZXZlbCBhbmQKKyAgbGlieG1sMi1kZXZlbDwvbGk+CisgIDxsaT50aGUgZXhhbXBsZSBNYWtlZmlsZSBpcyBub3cgZml4ZWQ8L2xpPgorICA8bGk+YWRkZWQgSFRNTCB0byB0aGUgUlBNIHBhY2thZ2VzPC9saT4KKyAgPGxpPnRyZWUgY29weWluZyBidWdmaXhlczwvbGk+CisgIDxsaT51cGRhdGVzIHRvIFdpbmRvd3MgbWFrZWZpbGVzPC9saT4KKyAgPGxpPm9wdGltaXphdGlvbiBwYXRjaCBmcm9tIEJqb3JuIFJlZXNlPC9saT4KKzwvdWw+CisKKzxoMz4yLjIuMTE6IEphbiA0IDIwMDE8L2gzPgorPHVsPgorICA8bGk+YnVuY2ggb2YgYnVnIGZpeGVzIChtZW1vcnkgSS9PLCB4cGF0aCwgZnRwL2h0dHAsIC4uLik8L2xpPgorICA8bGk+YWRkZWQgaHRtbEhhbmRsZU9taXR0ZWRFbGVtKCk8L2xpPgorICA8bGk+QXBwbGllZCBCam9ybiBSZWVzZSdzIElQVjYgZmlyc3QgcGF0Y2g8L2xpPgorICA8bGk+QXBwbGllZCBQYXVsIEQuIFNtaXRoIHBhdGNoZXMgZm9yIHZhbGlkYXRpb24gb2YgWEluY2x1ZGUgcmVzdWx0czwvbGk+CisgIDxsaT5hZGRlZCBYUG9pbnRlciB4bWxucygpIG5ldyBzY2hlbWUgc3VwcG9ydDwvbGk+Cis8L3VsPgorCis8aDM+Mi4yLjEwOiBOb3YgMjUgMjAwMDwvaDM+Cis8dWw+CisgIDxsaT5GaXggdGhlIFdpbmRvd3MgcHJvYmxlbXMgb2YgMi4yLjg8L2xpPgorICA8bGk+aW50ZWdyYXRlIE9wZW5WTVMgcGF0Y2hlczwvbGk+CisgIDxsaT5iZXR0ZXIgaGFuZGxpbmcgb2Ygc29tZSBuYXN0eSBIVE1MIGlucHV0PC9saT4KKyAgPGxpPkltcHJvdmVkIHRoZSBYUG9pbnRlciBpbXBsZW1lbnRhdGlvbjwvbGk+CisgIDxsaT5pbnRlZ3JhdGUgYSBudW1iZXIgb2YgcHJvdmlkZWQgcGF0Y2hlczwvbGk+Cis8L3VsPgorCis8aDM+Mi4yLjk6IE5vdiAyNSAyMDAwPC9oMz4KKzx1bD4KKyAgPGxpPmVycm9uZW91cyByZWxlYXNlIDotKDwvbGk+Cis8L3VsPgorCis8aDM+Mi4yLjg6IE5vdiAxMyAyMDAwPC9oMz4KKzx1bD4KKyAgPGxpPkZpcnN0IHZlcnNpb24gb2YgPGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIveGluY2x1ZGUiPlhJbmNsdWRlPC9hPgorICAgIHN1cHBvcnQ8L2xpPgorICA8bGk+UGF0Y2ggaW4gY29uZGl0aW9uYWwgc2VjdGlvbiBoYW5kbGluZzwvbGk+CisgIDxsaT51cGRhdGVkIE1TIGNvbXBpbGVyIHByb2plY3Q8L2xpPgorICA8bGk+Zml4ZWQgc29tZSBYUGF0aCBwcm9ibGVtczwvbGk+CisgIDxsaT5hZGRlZCBhbiBVUkkgZXNjYXBpbmcgZnVuY3Rpb248L2xpPgorICA8bGk+c29tZSBvdGhlciBidWcgZml4ZXM8L2xpPgorPC91bD4KKworPGgzPjIuMi43OiBPY3QgMzEgMjAwMDwvaDM+Cis8dWw+CisgIDxsaT5hZGRlZCBtZXNzYWdlIHJlZGlyZWN0aW9uPC9saT4KKyAgPGxpPlhQYXRoIGltcHJvdmVtZW50cyAodGhhbmtzIFRPTSAhKTwvbGk+CisgIDxsaT54bWxJT1BhcnNlRFREKCkgYWRkZWQ8L2xpPgorICA8bGk+dmFyaW91cyBzbWFsbCBmaXhlcyBpbiB0aGUgSFRNTCwgVVJJLCBIVFRQIGFuZCBYUG9pbnRlciBzdXBwb3J0PC9saT4KKyAgPGxpPnNvbWUgY2xlYW51cCBvZiB0aGUgTWFrZWZpbGUsIGF1dG9jb25mIGFuZCB0aGUgZGlzdHJpYnV0aW9uIGNvbnRlbnQ8L2xpPgorPC91bD4KKworPGgzPjIuMi42OiBPY3QgMjUgMjAwMDo8L2gzPgorPHVsPgorICA8bGk+QWRkZWQgYW4gaGFzaCB0YWJsZSBtb2R1bGUsIG1pZ3JhdGVkIGEgbnVtYmVyIG9mIGludGVybmFsIHN0cnVjdHVyZSB0bworICAgIHRob3NlPC9saT4KKyAgPGxpPkZpeGVkIGEgcG9zdGVyaW9yaSB2YWxpZGF0aW9uIHByb2JsZW1zPC9saT4KKyAgPGxpPkhUVFAgbW9kdWxlIGNsZWFudXBzPC9saT4KKyAgPGxpPkhUTUwgcGFyc2VyIGltcHJvdmVtZW50cyAodGFnIGVycm9ycywgc2NyaXB0L3N0eWxlIGhhbmRsaW5nLCBhdHRyaWJ1dGUKKyAgICBub3JtYWxpemF0aW9uKTwvbGk+CisgIDxsaT5jb2FsZXNjaW5nIG9mIGFkamFjZW50IHRleHQgbm9kZXM8L2xpPgorICA8bGk+Y291cGxlIG9mIFhQYXRoIGJ1ZyBmaXhlcywgZXhwb3J0ZWQgdGhlIGludGVybmFsIEFQSTwvbGk+Cis8L3VsPgorCis8aDM+Mi4yLjU6IE9jdCAxNSAyMDAwOjwvaDM+Cis8dWw+CisgIDxsaT5YUG9pbnRlciBpbXBsZW1lbnRhdGlvbiBhbmQgdGVzdHN1aXRlPC9saT4KKyAgPGxpPkxvdCBvZiBYUGF0aCBmaXhlcywgYWRkZWQgdmFyaWFibGUgYW5kIGZ1bmN0aW9ucyByZWdpc3RyYXRpb24sIG1vcmUKKyAgICB0ZXN0czwvbGk+CisgIDxsaT5Qb3J0YWJpbGl0eSBmaXhlcywgbG90cyBvZiBlbmhhbmNlbWVudHMgdG93YXJkIGFuIGVhc3kgV2luZG93cyBidWlsZAorICAgIGFuZCByZWxlYXNlPC9saT4KKyAgPGxpPkxhdGUgdmFsaWRhdGlvbiBmaXhlczwvbGk+CisgIDxsaT5JbnRlZ3JhdGVkIGEgbG90IG9mIGNvbnRyaWJ1dGVkIHBhdGNoZXM8L2xpPgorICA8bGk+YWRkZWQgbWVtb3J5IG1hbmFnZW1lbnQgZG9jczwvbGk+CisgIDxsaT5hIHBlcmZvcm1hbmNlIHByb2JsZW0gd2hlbiB1c2luZyBsYXJnZSBidWZmZXIgc2VlbXMgZml4ZWQ8L2xpPgorPC91bD4KKworPGgzPjIuMi40OiBPY3QgMSAyMDAwOjwvaDM+Cis8dWw+CisgIDxsaT5tYWluIFhQYXRoIHByb2JsZW0gZml4ZWQ8L2xpPgorICA8bGk+SW50ZWdyYXRlZCBwb3J0YWJpbGl0eSBwYXRjaGVzIGZvciBXaW5kb3dzPC9saT4KKyAgPGxpPlNlcmlvdXMgYnVnIGZpeGVzIG9uIHRoZSBVUkkgYW5kIEhUTUwgY29kZTwvbGk+Cis8L3VsPgorCis8aDM+Mi4yLjM6IFNlcCAxNyAyMDAwPC9oMz4KKzx1bD4KKyAgPGxpPmJ1ZyBmaXhlczwvbGk+CisgIDxsaT5jbGVhbnVwIG9mIGVudGl0eSBoYW5kbGluZyBjb2RlPC9saT4KKyAgPGxpPm92ZXJhbGwgcmV2aWV3IG9mIGFsbCBsb29wcyBpbiB0aGUgcGFyc2VycywgYWxsIHNwcmludGYgdXNhZ2UgaGFzIGJlZW4KKyAgICBjaGVja2VkIHRvbzwvbGk+CisgIDxsaT5GYXIgYmV0dGVyIGhhbmRsaW5nIG9mIGxhcmdlcyBEdGQuIFZhbGlkYXRpbmcgYWdhaW5zdCBEb2NCb29rIFhNTCBEdGQKKyAgICB3b3JrcyBzbW9vdGhseSBub3cuPC9saT4KKzwvdWw+CisKKzxoMz4xLjguMTA6IFNlcCA2IDIwMDA8L2gzPgorPHVsPgorICA8bGk+YnVnIGZpeCByZWxlYXNlIGZvciBzb21lIEdub21lIHByb2plY3RzPC9saT4KKzwvdWw+CisKKzxoMz4yLjIuMjogQXVndXN0IDEyIDIwMDA8L2gzPgorPHVsPgorICA8bGk+bW9zdGx5IGJ1ZyBmaXhlczwvbGk+CisgIDxsaT5zdGFydGVkIGFkZGluZyByb3V0aW5lcyB0byBhY2Nlc3MgeG1sIHBhcnNlciBjb250ZXh0IG9wdGlvbnM8L2xpPgorPC91bD4KKworPGgzPjIuMi4xOiBKdWx5IDIxIDIwMDA8L2gzPgorPHVsPgorICA8bGk+YSBwdXJlbHkgYnVnIGZpeGVzIHJlbGVhc2U8L2xpPgorICA8bGk+Zml4ZWQgYW4gZW5jb2Rpbmcgc3VwcG9ydCBwcm9ibGVtIHdoZW4gcGFyc2luZyBmcm9tIGEgbWVtb3J5IGJsb2NrPC9saT4KKyAgPGxpPmZpeGVkIGEgRE9DVFlQRSBwYXJzaW5nIHByb2JsZW08L2xpPgorICA8bGk+cmVtb3ZlZCBhIGJ1ZyBpbiB0aGUgZnVuY3Rpb24gYWxsb3dpbmcgdG8gb3ZlcnJpZGUgdGhlIG1lbW9yeQorICAgIGFsbG9jYXRpb24gcm91dGluZXM8L2xpPgorPC91bD4KKworPGgzPjIuMi4wOiBKdWx5IDE0IDIwMDA8L2gzPgorPHVsPgorICA8bGk+YXBwbGllZCBhIGxvdCBvZiBwb3J0YWJpbGl0eSBmaXhlczwvbGk+CisgIDxsaT5iZXR0ZXIgZW5jb2Rpbmcgc3VwcG9ydC9jbGVhbnVwIGFuZCBzYXZpbmcgKGNvbnRlbnQgaXMgbm93IGFsd2F5cworICAgIGVuY29kZWQgaW4gVVRGLTgpPC9saT4KKyAgPGxpPnRoZSBIVE1MIHBhcnNlciBub3cgY29ycmVjdGx5IGhhbmRsZXMgZW5jb2RpbmdzPC9saT4KKyAgPGxpPmFkZGVkIHhtbEhhc1Byb3AoKTwvbGk+CisgIDxsaT5maXhlZCBhIHNlcmlvdXMgcHJvYmxlbSB3aXRoICZhbXA7IzM4OzwvbGk+CisgIDxsaT5wcm9wYWdhdGVkIHRoZSBmaXggdG8gRlRQIGNsaWVudDwvbGk+CisgIDxsaT5jbGVhbnVwLCBidWdmaXhlcywgZXRjIC4uLjwvbGk+CisgIDxsaT5BZGRlZCBhIHBhZ2UgYWJvdXQgPGEgaHJlZj0iZW5jb2RpbmcuaHRtbCI+bGlieG1sIEludGVybmF0aW9uYWxpemF0aW9uCisgICAgc3VwcG9ydDwvYT48L2xpPgorPC91bD4KKworPGgzPjEuOC45OiAgSnVseSA5IDIwMDA8L2gzPgorPHVsPgorICA8bGk+Zml4ZWQgdGhlIHNwZWMgdGhlIFJQTXMgc2hvdWxkIGJlIGJldHRlcjwvbGk+CisgIDxsaT5maXhlZCBhIHNlcmlvdXMgYnVnIGluIHRoZSBGVFAgaW1wbGVtZW50YXRpb24sIHJlbGVhc2VkIDEuOC45IHRvIHNvbHZlCisgICAgcnBtZmluZCB1c2VycyBwcm9ibGVtPC9saT4KKzwvdWw+CisKKzxoMz4yLjEuMTogSnVseSAxIDIwMDA8L2gzPgorPHVsPgorICA8bGk+Zml4ZXMgYSBjb3VwbGUgb2YgYnVncyBpbiB0aGUgMi4xLjAgcGFja2FnaW5nPC9saT4KKyAgPGxpPmltcHJvdmVtZW50cyBvbiB0aGUgSFRNTCBwYXJzZXI8L2xpPgorPC91bD4KKworPGgzPjIuMS4wIGFuZCAxLjguODogSnVuZSAyOSAyMDAwPC9oMz4KKzx1bD4KKyAgPGxpPjEuOC44IGlzIG1vc3RseSBhIGNvbW1vZGl0eSBwYWNrYWdlIGZvciB1cGdyYWRpbmcgdG8gbGlieG1sMiBhY2NvcmRpbmcKKyAgICB0byA8YSBocmVmPSJ1cGdyYWRlLmh0bWwiPm5ldyBpbnN0cnVjdGlvbnM8L2E+LiBJdCBmaXhlcyBhIG5hc3R5IHByb2JsZW0KKyAgICBhYm91dCAmYW1wOyMzODsgY2hhcnJlZiBwYXJzaW5nPC9saT4KKyAgPGxpPjIuMS4wIGFsc28gZWFzZSB0aGUgdXBncmFkZSBmcm9tIGxpYnhtbCB2MSB0byB0aGUgcmVjZW50IHZlcnNpb24uIGl0CisgICAgYWxzbyBjb250YWlucyBudW1lcm91cyBmaXhlcyBhbmQgZW5oYW5jZW1lbnRzOgorICAgIDx1bD4KKyAgICAgIDxsaT5hZGRlZCB4bWxTdG9wUGFyc2VyKCkgdG8gc3RvcCBwYXJzaW5nPC9saT4KKyAgICAgIDxsaT5pbXByb3ZlZCBhIGxvdCBwYXJzaW5nIHNwZWVkIHdoZW4gdGhlcmUgaXMgbGFyZ2UgQ0RBVEEgYmxvY3M8L2xpPgorICAgICAgPGxpPmluY2x1ZGVzIFhQYXRoIHBhdGNoZXMgcHJvdmlkZWQgYnkgUGljZGFyIFRlY2hub2xvZ3k8L2xpPgorICAgICAgPGxpPnRyaWVkIHRvIGZpeCBhcyBtdWNoIGFzIHBvc3NpYmxlIERURCB2YWxpZGF0aW9uIGFuZCBuYW1lc3BhY2UKKyAgICAgICAgcmVsYXRlZCBwcm9ibGVtczwvbGk+CisgICAgICA8bGk+b3V0cHV0IHRvIGEgZ2l2ZW4gZW5jb2RpbmcgaGFzIGJlZW4gYWRkZWQvdGVzdGVkPC9saT4KKyAgICAgIDxsaT5sb3Qgb2YgdmFyaW91cyBmaXhlczwvbGk+CisgICAgPC91bD4KKyAgPC9saT4KKzwvdWw+CisKKzxoMz4yLjAuMDogQXByIDEyIDIwMDA8L2gzPgorPHVsPgorICA8bGk+Rmlyc3QgcHVibGljIHJlbGVhc2Ugb2YgbGlieG1sMi4gSWYgeW91IGFyZSB1c2luZyBsaWJ4bWwsIGl0J3MgYSBnb29kCisgICAgaWRlYSB0byBjaGVjayB0aGUgMS54IHRvIDIueCB1cGdyYWRlIGluc3RydWN0aW9ucy4gTk9URTogd2hpbGUgaW5pdGlhbGx5CisgICAgc2NoZWR1bGVkIGZvciBBcHIgMyB0aGUgcmVsZWFzZSBvY2N1cnJlZCBvbmx5IG9uIEFwciAxMiBkdWUgdG8gbWFzc2l2ZQorICAgIHdvcmtsb2FkLjwvbGk+CisgIDxsaT5UaGUgaW5jbHVkZSBhcmUgbm93IGxvY2F0ZWQgdW5kZXIgJHByZWZpeC9pbmNsdWRlL2xpYnhtbCAoaW5zdGVhZCBvZgorICAgICRwcmVmaXgvaW5jbHVkZS9nbm9tZS14bWwpLCB0aGV5IGFsc28gYXJlIHJlZmVyZW5jZWQgYnkKKyAgICA8cHJlPiNpbmNsdWRlICZsdDtsaWJ4bWwveHh4LmgmZ3Q7PC9wcmU+CisgICAgPHA+aW5zdGVhZCBvZjwvcD4KKyAgICA8cHJlPiNpbmNsdWRlICJ4eHguaCI8L3ByZT4KKyAgPC9saT4KKyAgPGxpPmEgbmV3IFVSSSBtb2R1bGUgZm9yIHBhcnNpbmcgVVJJcyBhbmQgZm9sbG93aW5nIHN0cmljdGx5IFJGQyAyMzk2PC9saT4KKyAgPGxpPnRoZSBtZW1vcnkgYWxsb2NhdGlvbiByb3V0aW5lcyB1c2VkIGJ5IGxpYnhtbCBjYW4gbm93IGJlIG92ZXJsb2FkZWQKKyAgICBkeW5hbWljYWxseSBieSB1c2luZyB4bWxNZW1TZXR1cCgpPC9saT4KKyAgPGxpPlRoZSBwcmV2aW91c2x5IENWUyBvbmx5IHRvb2wgdGVzdGVyIGhhcyBiZWVuIHJlbmFtZWQKKyAgICA8c3Ryb25nPnhtbGxpbnQ8L3N0cm9uZz4gYW5kIGlzIG5vdyBpbnN0YWxsZWQgYXMgcGFydCBvZiB0aGUgbGlieG1sMgorICAgIHBhY2thZ2U8L2xpPgorICA8bGk+VGhlIEkvTyBpbnRlcmZhY2UgaGFzIGJlZW4gcmV2YW1wZWQuIFRoZXJlIGlzIG5vdyB3YXlzIHRvIHBsdWcgaW4KKyAgICBzcGVjaWZpYyBJL08gbW9kdWxlcywgZWl0aGVyIGF0IHRoZSBVUkkgc2NoZW1lIGRldGVjdGlvbiBsZXZlbCB1c2luZworICAgIHhtbFJlZ2lzdGVySW5wdXRDYWxsYmFja3MoKSAgb3IgYnkgcGFzc2luZyBJL08gZnVuY3Rpb25zIHdoZW4gY3JlYXRpbmcgYQorICAgIHBhcnNlciBjb250ZXh0IHVzaW5nIHhtbENyZWF0ZUlPUGFyc2VyQ3R4dCgpPC9saT4KKyAgPGxpPnRoZXJlIGlzIGEgQyBwcmVwcm9jZXNzb3IgbWFjcm8gTElCWE1MX1ZFUlNJT04gcHJvdmlkaW5nIHRoZSB2ZXJzaW9uCisgICAgbnVtYmVyIG9mIHRoZSBsaWJ4bWwgbW9kdWxlIGluIHVzZTwvbGk+CisgIDxsaT5hIG51bWJlciBvZiBvcHRpb25hbCBmZWF0dXJlcyBvZiBsaWJ4bWwgY2FuIG5vdyBiZSBleGNsdWRlZCBhdAorICAgIGNvbmZpZ3VyZSB0aW1lIChGVFAvSFRUUC9IVE1ML1hQYXRoL0RlYnVnKTwvbGk+Cis8L3VsPgorCis8aDM+Mi4wLjBiZXRhOiBNYXIgMTQgMjAwMDwvaDM+Cis8dWw+CisgIDxsaT5UaGlzIGlzIGEgZmlyc3QgQmV0YSByZWxlYXNlIG9mIGxpYnhtbCB2ZXJzaW9uIDI8L2xpPgorICA8bGk+SXQncyBhdmFpbGFibGUgb25seSBmcm9tPGEgaHJlZj0iZnRwOi8veG1sc29mdC5vcmcvbGlieG1sMi8iPnhtbHNvZnQub3JnCisgICAgRlRQPC9hPiwgaXQncyBwYWNrYWdlZCBhcyBsaWJ4bWwyLTIuMC4wYmV0YSBhbmQgYXZhaWxhYmxlIGFzIHRhciBhbmQKKyAgUlBNczwvbGk+CisgIDxsaT5UaGlzIHZlcnNpb24gaXMgbm93IHRoZSBoZWFkIGluIHRoZSBHbm9tZSBDVlMgYmFzZSwgdGhlIG9sZCBvbmUgaXMKKyAgICBhdmFpbGFibGUgdW5kZXIgdGhlIHRhZyBMSUJfWE1MXzFfWDwvbGk+CisgIDxsaT5UaGlzIGluY2x1ZGVzIGEgdmVyeSBsYXJnZSBzZXQgb2YgY2hhbmdlcy4gRnJvbSBhICBwcm9ncmFtbWF0aWMgcG9pbnQKKyAgICBvZiB2aWV3IGFwcGxpY2F0aW9ucyBzaG91bGQgbm90IGhhdmUgdG8gYmUgbW9kaWZpZWQgdG9vIG11Y2gsIGNoZWNrIHRoZQorICAgIDxhIGhyZWY9InVwZ3JhZGUuaHRtbCI+dXBncmFkZSBwYWdlPC9hPjwvbGk+CisgIDxsaT5Tb21lIGludGVyZmFjZXMgbWF5IGNoYW5nZXMgKGVzcGVjaWFsbHkgYSBiaXQgYWJvdXQgZW5jb2RpbmcpLjwvbGk+CisgIDxsaT50aGUgdXBkYXRlcyBpbmNsdWRlczoKKyAgICA8dWw+CisgICAgICA8bGk+Zml4IEkxOE4gc3VwcG9ydC4gSVNPLUxhdGluLXgvVVRGLTgvVVRGLTE2IChuZWFybHkpIHNlZW1zIGNvcnJlY3RseQorICAgICAgICBoYW5kbGVkIG5vdzwvbGk+CisgICAgICA8bGk+QmV0dGVyIGhhbmRsaW5nIG9mIGVudGl0aWVzLCBlc3BlY2lhbGx5IHdlbGwtZm9ybWVkbmVzcyBjaGVja2luZworICAgICAgICBhbmQgcHJvcGVyIFBFcmVmIGV4dGVuc2lvbnMgaW4gZXh0ZXJuYWwgc3Vic2V0czwvbGk+CisgICAgICA8bGk+RFREIGNvbmRpdGlvbmFsIHNlY3Rpb25zPC9saT4KKyAgICAgIDxsaT5WYWxpZGF0aW9uIG5vdyBjb3JyZWN0bHkgaGFuZGxlIGVudGl0aWVzIGNvbnRlbnQ8L2xpPgorICAgICAgPGxpPjxhIGhyZWY9Imh0dHA6Ly9ycG1maW5kLm5ldC90b29scy9nZG9tZS9tZXNzYWdlcy8wMDM5Lmh0bWwiPmNoYW5nZQorICAgICAgICBzdHJ1Y3R1cmVzIHRvIGFjY29tbW9kYXRlIERPTTwvYT48L2xpPgorICAgIDwvdWw+CisgIDwvbGk+CisgIDxsaT5TZXJpb3VzIHByb2dyZXNzIHdlcmUgbWFkZSB0b3dhcmQgY29tcGxpYW5jZSwgPGEKKyAgICBocmVmPSJjb25mL3Jlc3VsdC5odG1sIj5oZXJlIGFyZSB0aGUgcmVzdWx0IG9mIHRoZSB0ZXN0PC9hPiBhZ2FpbnN0IHRoZQorICAgIE9BU0lTIHRlc3RzdWl0ZSAoZXhjZXB0IHRoZSBKYXBhbmVzZSB0ZXN0cyBzaW5jZSBJIGRvbid0IHN1cHBvcnQgdGhhdAorICAgIGVuY29kaW5nIHlldCkuIFRoaXMgVVJMIGlzIHJlYnVpbHQgZXZlcnkgY291cGxlIG9mIGhvdXJzIHVzaW5nIHRoZSBDVlMKKyAgICBoZWFkIHZlcnNpb24uPC9saT4KKzwvdWw+CisKKzxoMz4xLjguNzogTWFyIDYgMjAwMDwvaDM+Cis8dWw+CisgIDxsaT5UaGlzIGlzIGEgYnVnIGZpeCByZWxlYXNlOjwvbGk+CisgIDxsaT5JdCBpcyBwb3NzaWJsZSB0byBkaXNhYmxlIHRoZSBpZ25vcmFibGUgYmxhbmtzIGhldXJpc3RpYyB1c2VkIGJ5CisgICAgbGlieG1sLTEueCwgYSBuZXcgZnVuY3Rpb24gIHhtbEtlZXBCbGFua3NEZWZhdWx0KDApIHdpbGwgYWxsb3cgdGhpcy4gTm90ZQorICAgIHRoYXQgZm9yIGFkaGVyZW5jZSB0byBYTUwgc3BlYywgdGhpcyBiZWhhdmlvdXIgd2lsbCBiZSBkaXNhYmxlZCBieQorICAgIGRlZmF1bHQgaW4gMi54IC4gVGhlIHNhbWUgZnVuY3Rpb24gd2lsbCBhbGxvdyB0byBrZWVwIGNvbXBhdGliaWxpdHkgZm9yCisgICAgb2xkIGNvZGUuPC9saT4KKyAgPGxpPkJsYW5rcyBpbiAmbHQ7YSZndDsgICZsdDsvYSZndDsgY29uc3RydWN0cyBhcmUgbm90IGlnbm9yZWQgYW55bW9yZSwKKyAgICBhdm9pZGluZyBoZXVyaXN0aWMgaXMgcmVhbGx5IHRoZSBSaWdodCBXYXkgOi1cPC9saT4KKyAgPGxpPlRoZSB1bmNoZWNrZWQgdXNlIG9mIHNucHJpbnRmIHdoaWNoIHdhcyBicmVha2luZyBsaWJ4bWwtMS44LjYKKyAgICBjb21waWxhdGlvbiBvbiBzb21lIHBsYXRmb3JtcyBoYXMgYmVlbiBmaXhlZDwvbGk+CisgIDxsaT5uYW5vZnRwLmMgbmFub2h0dHAuYzogRml4ZWQgJyMnIGFuZCAnPycgc3RyaXBwaW5nIHdoZW4gcHJvY2Vzc2luZworICBVUklzPC9saT4KKzwvdWw+CisKKzxoMz4xLjguNjogSmFuIDMxIDIwMDA8L2gzPgorPHVsPgorICA8bGk+YWRkZWQgYSBuYW5vRlRQIHRyYW5zcG9ydCBtb2R1bGUsIGRlYnVnZ2VkIHVudGlsIHRoZSBuZXcgdmVyc2lvbiBvZiA8YQorICAgIGhyZWY9Imh0dHA6Ly9ycG1maW5kLm5ldC9saW51eC9ycG0yaHRtbC9ycG1maW5kLmh0bWwiPnJwbWZpbmQ8L2E+IGNhbiB1c2UKKyAgICBpdCB3aXRob3V0IHRyb3VibGVzPC9saT4KKzwvdWw+CisKKzxoMz4xLjguNTogSmFuIDIxIDIwMDA8L2gzPgorPHVsPgorICA8bGk+YWRkaW5nIEFQSXMgdG8gcGFyc2UgYSB3ZWxsIGJhbGFuY2VkIGNodW5rIG9mIFhNTCAocHJvZHVjdGlvbiA8YQorICAgIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy14bWwjTlQtY29udGVudCI+WzQzXSBjb250ZW50PC9hPiBvZiB0aGUKKyAgICBYTUwgc3BlYyk8L2xpPgorICA8bGk+Zml4ZWQgYSBoaWRlb3VzIGJ1ZyBpbiB4bWxHZXRQcm9wIHBvaW50ZWQgYnkgUnVuZS5EanVyaHV1c0BmYXN0Lm5vPC9saT4KKyAgPGxpPkpvZHkgR29sZGJlcmcgJmx0O2pnb2xkYmVyZ0Bob21lLmNvbSZndDsgcHJvdmlkZWQgYW5vdGhlciBwYXRjaCB0cnlpbmcKKyAgICB0byBzb2x2ZSB0aGUgemxpYiBjaGVja3MgcHJvYmxlbXM8L2xpPgorICA8bGk+VGhlIGN1cnJlbnQgc3RhdGUgaW4gZ25vbWUgQ1ZTIGJhc2UgaXMgZXhwZWN0ZWQgdG8gc2hpcCBhcyAxLjguNSB3aXRoCisgICAgZ251bWVyaWMgc29vbjwvbGk+Cis8L3VsPgorCis8aDM+MS44LjQ6IEphbiAxMyAyMDAwPC9oMz4KKzx1bD4KKyAgPGxpPmJ1ZyBmaXhlcywgcmVpbnRyb2R1Y2VkIHhtbE5ld0dsb2JhbE5zKCksIGZpeGVkIHhtbE5ld05zKCk8L2xpPgorICA8bGk+YWxsIGV4aXQoKSBjYWxsIHNob3VsZCBoYXZlIGJlZW4gcmVtb3ZlZCBmcm9tIGxpYnhtbDwvbGk+CisgIDxsaT5maXhlZCBhIHByb2JsZW0gd2l0aCBJTkNMVURFX1dJTlNPQ0sgb24gV0lOMzIgcGxhdGZvcm08L2xpPgorICA8bGk+YWRkZWQgbmV3RG9jRnJhZ21lbnQoKTwvbGk+Cis8L3VsPgorCis8aDM+MS44LjM6IEphbiA1IDIwMDA8L2gzPgorPHVsPgorICA8bGk+YSBQdXNoIGludGVyZmFjZSBmb3IgdGhlIFhNTCBhbmQgSFRNTCBwYXJzZXJzPC9saT4KKyAgPGxpPmEgc2hlbGwtbGlrZSBpbnRlcmZhY2UgdG8gdGhlIGRvY3VtZW50IHRyZWUgKHRyeSB0ZXN0ZXIgLS1zaGVsbCA6LSk8L2xpPgorICA8bGk+bG90cyBvZiBidWcgZml4ZXMgYW5kIGltcHJvdmVtZW50IGFkZGVkIG92ZXIgWE1hcyBob2xpZGF5czwvbGk+CisgIDxsaT5maXhlZCB0aGUgRFREIHBhcnNpbmcgY29kZSB0byB3b3JrIHdpdGggdGhlIHhodG1sIERURDwvbGk+CisgIDxsaT5hZGRlZCB4bWxSZW1vdmVQcm9wKCksIHhtbFJlbW92ZUlEKCkgYW5kIHhtbFJlbW92ZVJlZigpPC9saT4KKyAgPGxpPkZpeGVkIGJ1Z3MgaW4geG1sTmV3TnMoKTwvbGk+CisgIDxsaT5FeHRlcm5hbCBlbnRpdHkgbG9hZGluZyBjb2RlIGhhcyBiZWVuIHJldmFtcGVkLCBub3cgaXQgdXNlcworICAgIHhtbExvYWRFeHRlcm5hbEVudGl0eSgpLCBzb21lIGZpeCBvbiBlbnRpdGllcyBwcm9jZXNzaW5nIHdlcmUgYWRkZWQ8L2xpPgorICA8bGk+Y2xlYW5lZCB1cCBXSU4zMiBpbmNsdWRlcyBvZiBzb2NrZXQgc3R1ZmY8L2xpPgorPC91bD4KKworPGgzPjEuOC4yOiBEZWMgMjEgMTk5OTwvaDM+Cis8dWw+CisgIDxsaT5JIGdvdCBhbm90aGVyIHByb2JsZW0gd2l0aCBpbmNsdWRlcyBhbmQgQysrLCBJIGhvcGUgdGhpcyBpc3N1ZSBpcyBmaXhlZAorICAgIGZvciBnb29kIHRoaXMgdGltZTwvbGk+CisgIDxsaT5BZGRlZCBhIGZldyB0cmVlIG1vZGlmaWNhdGlvbiBmdW5jdGlvbnM6IHhtbFJlcGxhY2VOb2RlLAorICAgIHhtbEFkZFByZXZTaWJsaW5nLCB4bWxBZGROZXh0U2libGluZywgeG1sTm9kZVNldE5hbWUgYW5kCisgICAgeG1sRG9jU2V0Um9vdEVsZW1lbnQ8L2xpPgorICA8bGk+VHJpZWQgdG8gaW1wcm92ZSB0aGUgSFRNTCBvdXRwdXQgd2l0aCBoZWxwIGZyb20gPGEKKyAgICBocmVmPSJtYWlsdG86Y2xhaGV5QHVtaWNoLmVkdSI+Q2hyaXMgTGFoZXk8L2E+PC9saT4KKzwvdWw+CisKKzxoMz4xLjguMTogRGVjIDE4IDE5OTk8L2gzPgorPHVsPgorICA8bGk+dmFyaW91cyBwYXRjaGVzIHRvIGF2b2lkIHRyb3VibGVzIHdoZW4gdXNpbmcgbGlieG1sIHdpdGggQysrIGNvbXBpbGVycworICAgIHRoZSAibmFtZXNwYWNlIiBrZXl3b3JkIGFuZCBDIGVzY2FwaW5nIGluIGluY2x1ZGUgZmlsZXM8L2xpPgorICA8bGk+YSBwcm9ibGVtIGluIG9uZSBvZiB0aGUgY29yZSBtYWNyb3MgSVNfQ0hBUiB3YXMgY29ycmVjdGVkPC9saT4KKyAgPGxpPmZpeGVkIGEgYnVnIGludHJvZHVjZWQgaW4gMS44LjAgYnJlYWtpbmcgZGVmYXVsdCBuYW1lc3BhY2UgcHJvY2Vzc2luZywKKyAgICBhbmQgbW9yZSBzcGVjaWZpY2FsbHkgdGhlIERpYSBhcHBsaWNhdGlvbjwvbGk+CisgIDxsaT5maXhlZCBhIHBvc3RlcmlvcmkgdmFsaWRhdGlvbiAodmFsaWRhdGlvbiBhZnRlciBwYXJzaW5nLCBvciBieSB1c2luZyBhCisgICAgRHRkIG5vdCBzcGVjaWZpZWQgaW4gdGhlIG9yaWdpbmFsIGRvY3VtZW50KTwvbGk+CisgIDxsaT5maXhlZCBhIGJ1ZyBpbjwvbGk+Cis8L3VsPgorCis8aDM+MS44LjA6IERlYyAxMiAxOTk5PC9oMz4KKzx1bD4KKyAgPGxpPmNsZWFudXAsIGVzcGVjaWFsbHkgbWVtb3J5IHdpc2U8L2xpPgorICA8bGk+dGhlIHBhcnNlciBzaG91bGQgYmUgbW9yZSByZWxpYWJsZSwgZXNwZWNpYWxseSB0aGUgSFRNTCBvbmUsIGl0IHNob3VsZAorICAgIG5vdCBjcmFzaCwgd2hhdGV2ZXIgdGhlIGlucHV0ICE8L2xpPgorICA8bGk+SW50ZWdyYXRlZCB2YXJpb3VzIHBhdGNoZXMsIGVzcGVjaWFsbHkgYSBzcGVlZHVwIGltcHJvdmVtZW50IGZvciBsYXJnZQorICAgIGRhdGFzZXQgZnJvbSA8YSBocmVmPSJtYWlsdG86Y255Z2FyZEBiZWxsYXRsYW50aWMubmV0Ij5DYXJsIE55Z2FyZDwvYT4sCisgICAgY29uZmlndXJlIHdpdGggLS13aXRoLWJ1ZmZlcnMgdG8gZW5hYmxlIHRoZW0uPC9saT4KKyAgPGxpPmF0dHJpYnV0ZSBub3JtYWxpemF0aW9uLCBvb3BzIHNob3VsZCBoYXZlIGJlZW4gYWRkZWQgbG9uZyBhZ28gITwvbGk+CisgIDxsaT5hdHRyaWJ1dGVzIGRlZmF1bHRlZCBmcm9tIERURHMgc2hvdWxkIGJlIGF2YWlsYWJsZSwgeG1sU2V0UHJvcCgpIG5vdworICAgIGRvZXMgZW50aXRpZXMgZXNjYXBpbmcgYnkgZGVmYXVsdC48L2xpPgorPC91bD4KKworPGgzPjEuNy40OiBPY3QgMjUgMTk5OTwvaDM+Cis8dWw+CisgIDxsaT5Mb3RzIG9mIEhUTUwgaW1wcm92ZW1lbnQ8L2xpPgorICA8bGk+Rml4ZWQgc29tZSBlcnJvcnMgd2hlbiBzYXZpbmcgYm90aCBYTUwgYW5kIEhUTUw8L2xpPgorICA8bGk+TW9yZSBleGFtcGxlcywgdGhlIHJlZ3Jlc3Npb24gdGVzdHMgc2hvdWxkIG5vdyBsb29rIGNsZWFuPC9saT4KKyAgPGxpPkZpeGVkIGEgYnVnIHdpdGggY29udGlndW91cyBjaGFycmVmPC9saT4KKzwvdWw+CisKKzxoMz4xLjcuMzogU2VwIDI5IDE5OTk8L2gzPgorPHVsPgorICA8bGk+cG9ydGFiaWxpdHkgcHJvYmxlbXMgZml4ZWQ8L2xpPgorICA8bGk+c25wcmludGYgd2FzIHVzZWQgdW5jb25kaXRpb25hbGx5LCBsZWFkaW5nIHRvIGxpbmsgcHJvYmxlbXMgb24gc3lzdGVtCisgICAgd2VyZSBpdCdzIG5vdCBhdmFpbGFibGUsIGZpeGVkPC9saT4KKzwvdWw+CisKKzxoMz4xLjcuMTogU2VwIDI0IDE5OTk8L2gzPgorPHVsPgorICA8bGk+VGhlIGJhc2ljIHR5cGUgZm9yIHN0cmluZ3MgbWFuaXB1bGF0ZWQgYnkgbGlieG1sIGhhcyBiZWVuIHJlbmFtZWQgaW4KKyAgICAxLjcuMSBmcm9tIDxzdHJvbmc+Q0hBUjwvc3Ryb25nPiB0byA8c3Ryb25nPnhtbENoYXI8L3N0cm9uZz4uIFRoZSByZWFzb24KKyAgICBpcyB0aGF0IENIQVIgd2FzIGNvbmZsaWN0aW5nIHdpdGggYSBwcmVkZWZpbmVkIHR5cGUgb24gV2luZG93cy4gSG93ZXZlcgorICAgIG9uIG5vbiBXSU4zMiBlbnZpcm9ubWVudCwgY29tcGF0aWJpbGl0eSBpcyBwcm92aWRlZCBieSB0aGUgd2F5IG9mICBhCisgICAgPHN0cm9uZz4jZGVmaW5lIDwvc3Ryb25nPi48L2xpPgorICA8bGk+Q2hhbmdlZCBhbm90aGVyIGVycm9yIDogdGhlIHVzZSBvZiBhIHN0cnVjdHVyZSBmaWVsZCBjYWxsZWQgZXJybm8sIGFuZAorICAgIGxlYWRpbmcgdG8gdHJvdWJsZXMgb24gcGxhdGZvcm1zIHdoZXJlIGl0J3MgYSBtYWNybzwvbGk+Cis8L3VsPgorCis8aDM+MS43LjA6IFNlcCAyMyAxOTk5PC9oMz4KKzx1bD4KKyAgPGxpPkFkZGVkIHRoZSBhYmlsaXR5IHRvIGZldGNoIHJlbW90ZSBEVEQgb3IgcGFyc2VkIGVudGl0aWVzLCBzZWUgdGhlIDxhCisgICAgaHJlZj0iaHRtbC9saWJ4bWwtbmFub2h0dHAuaHRtbCI+bmFub2h0dHA8L2E+IG1vZHVsZS48L2xpPgorICA8bGk+QWRkZWQgYW4gZXJybm8gdG8gcmVwb3J0IGVycm9ycyBieSBhbm90aGVyIG1lYW4gdGhhbiBhIHNpbXBsZSBwcmludGYKKyAgICBsaWtlIGNhbGxiYWNrPC9saT4KKyAgPGxpPkZpbmlzaGVkIElEL0lEUkVGIHN1cHBvcnQgYW5kIGNoZWNraW5nIHdoZW4gdmFsaWRhdGlvbjwvbGk+CisgIDxsaT5TZXJpb3VzIG1lbW9yeSBsZWFrcyBmaXhlZCAodGhlcmUgaXMgbm93IGEgPGEKKyAgICBocmVmPSJodG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCI+bWVtb3J5IHdyYXBwZXI8L2E+IG1vZHVsZSk8L2xpPgorICA8bGk+SW1wcm92ZW1lbnQgb2YgPGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIveHBhdGgiPlhQYXRoPC9hPgorICAgIGltcGxlbWVudGF0aW9uPC9saT4KKyAgPGxpPkFkZGVkIGFuIEhUTUwgcGFyc2VyIGZyb250LWVuZDwvbGk+Cis8L3VsPgorCis8aDI+PGEgbmFtZT0iWE1MIj5YTUw8L2E+PC9oMj4KKworPHA+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLXhtbCI+WE1MIGlzIGEgc3RhbmRhcmQ8L2E+IGZvcgorbWFya3VwLWJhc2VkIHN0cnVjdHVyZWQgZG9jdW1lbnRzLiBIZXJlIGlzIDxhIG5hbWU9ImV4YW1wbGUiPmFuIGV4YW1wbGUgWE1MCitkb2N1bWVudDwvYT46PC9wPgorPHByZT4mbHQ7P3htbCB2ZXJzaW9uPSIxLjAiPyZndDsKKyZsdDtFWEFNUExFIHByb3AxPSJnbm9tZSBpcyBncmVhdCIgcHJvcDI9IiZhbXA7YW1wOyBsaW51eCB0b28iJmd0OworICAmbHQ7aGVhZCZndDsKKyAgICZsdDt0aXRsZSZndDtXZWxjb21lIHRvIEdub21lJmx0Oy90aXRsZSZndDsKKyAgJmx0Oy9oZWFkJmd0OworICAmbHQ7Y2hhcHRlciZndDsKKyAgICZsdDt0aXRsZSZndDtUaGUgTGludXggYWR2ZW50dXJlJmx0Oy90aXRsZSZndDsKKyAgICZsdDtwJmd0O2JsYSBibGEgYmxhIC4uLiZsdDsvcCZndDsKKyAgICZsdDtpbWFnZSBocmVmPSJsaW51cy5naWYiLyZndDsKKyAgICZsdDtwJmd0Oy4uLiZsdDsvcCZndDsKKyAgJmx0Oy9jaGFwdGVyJmd0OworJmx0Oy9FWEFNUExFJmd0OzwvcHJlPgorCis8cD5UaGUgZmlyc3QgbGluZSBzcGVjaWZpZXMgdGhhdCBpdCBpcyBhbiBYTUwgZG9jdW1lbnQgYW5kIGdpdmVzIHVzZWZ1bAoraW5mb3JtYXRpb24gYWJvdXQgaXRzIGVuY29kaW5nLiAgVGhlbiB0aGUgcmVzdCBvZiB0aGUgZG9jdW1lbnQgaXMgYSB0ZXh0Citmb3JtYXQgd2hvc2Ugc3RydWN0dXJlIGlzIHNwZWNpZmllZCBieSB0YWdzIGJldHdlZW4gYnJhY2tldHMuIDxzdHJvbmc+RWFjaAordGFnIG9wZW5lZCBoYXMgdG8gYmUgY2xvc2VkPC9zdHJvbmc+LiBYTUwgaXMgcGVkYW50aWMgYWJvdXQgdGhpcy4gSG93ZXZlciwgaWYKK2EgdGFnIGlzIGVtcHR5IChubyBjb250ZW50KSwgYSBzaW5nbGUgdGFnIGNhbiBzZXJ2ZSBhcyBib3RoIHRoZSBvcGVuaW5nIGFuZAorY2xvc2luZyB0YWcgaWYgaXQgZW5kcyB3aXRoIDxjb2RlPi8mZ3Q7PC9jb2RlPiByYXRoZXIgdGhhbiB3aXRoCis8Y29kZT4mZ3Q7PC9jb2RlPi4gTm90ZSB0aGF0LCBmb3IgZXhhbXBsZSwgdGhlIGltYWdlIHRhZyBoYXMgbm8gY29udGVudCAoanVzdAorYW4gYXR0cmlidXRlKSBhbmQgaXMgY2xvc2VkIGJ5IGVuZGluZyB0aGUgdGFnIHdpdGggPGNvZGU+LyZndDs8L2NvZGU+LjwvcD4KKworPHA+WE1MIGNhbiBiZSBhcHBsaWVkIHN1Y2Nlc3NmdWxseSB0byBhIHdpZGUgcmFuZ2Ugb2YgdGFza3MsIHJhbmdpbmcgZnJvbQorbG9uZyB0ZXJtIHN0cnVjdHVyZWQgZG9jdW1lbnQgbWFpbnRlbmFuY2UgKHdoZXJlIGl0IGZvbGxvd3MgdGhlIHN0ZXBzIG9mCitTR01MKSB0byBzaW1wbGUgZGF0YSBlbmNvZGluZyBtZWNoYW5pc21zIGxpa2UgY29uZmlndXJhdGlvbiBmaWxlIGZvcm1hdHRpbmcKKyhnbGFkZSksIHNwcmVhZHNoZWV0cyAoZ251bWVyaWMpLCBvciBldmVuIHNob3J0ZXIgbGl2ZWQgZG9jdW1lbnRzIHN1Y2ggYXMKK1dlYkRBViB3aGVyZSBpdCBpcyB1c2VkIHRvIGVuY29kZSByZW1vdGUgY2FsbHMgYmV0d2VlbiBhIGNsaWVudCBhbmQgYQorc2VydmVyLjwvcD4KKworPGgyPjxhIG5hbWU9IlhTTFQiPlhTTFQ8L2E+PC9oMj4KKworPHA+Q2hlY2sgPGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnL1hTTFQiPnRoZSBzZXBhcmF0ZSBsaWJ4c2x0IHBhZ2U8L2E+PC9wPgorCis8cD48YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi94c2x0Ij5YU0wgVHJhbnNmb3JtYXRpb25zPC9hPiwgIGlzIGEKK2xhbmd1YWdlIGZvciB0cmFuc2Zvcm1pbmcgWE1MIGRvY3VtZW50cyBpbnRvIG90aGVyIFhNTCBkb2N1bWVudHMgKG9yCitIVE1ML3RleHR1YWwgb3V0cHV0KS48L3A+CisKKzxwPkEgc2VwYXJhdGUgbGlicmFyeSBjYWxsZWQgbGlieHNsdCBpcyBhdmFpbGFibGUgaW1wbGVtZW50aW5nIFhTTFQtMS4wIGZvcgorbGlieG1sMi4gVGhpcyBtb2R1bGUgImxpYnhzbHQiIHRvbyBjYW4gYmUgZm91bmQgaW4gdGhlIEdub21lIFNWTiBiYXNlLjwvcD4KKworPHA+WW91IGNhbiBjaGVjayB0aGUgcHJvZ3Jlc3NlcyBvbiB0aGUgbGlieHNsdCA8YQoraHJlZj0iaHR0cDovL3htbHNvZnQub3JnL1hTTFQvQ2hhbmdlTG9nLmh0bWwiPkNoYW5nZWxvZzwvYT4uPC9wPgorCis8aDI+PGEgbmFtZT0iUHl0aG9uIj5QeXRob24gYW5kIGJpbmRpbmdzPC9hPjwvaDI+CisKKzxwPlRoZXJlIGFyZSBhIG51bWJlciBvZiBsYW5ndWFnZSBiaW5kaW5ncyBhbmQgd3JhcHBlcnMgYXZhaWxhYmxlIGZvcgorbGlieG1sMiwgdGhlIGxpc3QgYmVsb3cgaXMgbm90IGV4aGF1c3RpdmUuIFBsZWFzZSBjb250YWN0IHRoZSA8YQoraHJlZj0iaHR0cDovL21haWwuZ25vbWUub3JnL21haWxtYW4vbGlzdGluZm8veG1sLWJpbmRpbmdzIj54bWwtYmluZGluZ3NAZ25vbWUub3JnPC9hPgorKDxhIGhyZWY9Imh0dHA6Ly9tYWlsLmdub21lLm9yZy9hcmNoaXZlcy94bWwtYmluZGluZ3MvIj5hcmNoaXZlczwvYT4pIGluCitvcmRlciB0byBnZXQgdXBkYXRlcyB0byB0aGlzIGxpc3Qgb3IgdG8gZGlzY3VzcyB0aGUgc3BlY2lmaWMgdG9waWMgb2YgbGlieG1sMgorb3IgbGlieHNsdCB3cmFwcGVycyBvciBiaW5kaW5nczo8L3A+Cis8dWw+CisgIDxsaT48YSBocmVmPSJodHRwOi8vbGlieG1scGx1c3BsdXMuc291cmNlZm9yZ2UubmV0LyI+TGlieG1sKys8L2E+IHNlZW1zIHRoZQorICAgIG1vc3QgdXAtdG8tZGF0ZSBDKysgYmluZGluZ3MgZm9yIGxpYnhtbDIsIGNoZWNrIHRoZSA8YQorICAgIGhyZWY9Imh0dHA6Ly9saWJ4bWxwbHVzcGx1cy5zb3VyY2Vmb3JnZS5uZXQvcmVmZXJlbmNlL2h0bWwvaGllcmFyY2h5Lmh0bWwiPmRvY3VtZW50YXRpb248L2E+CisgICAgYW5kIHRoZSA8YQorICAgIGhyZWY9Imh0dHA6Ly9jdnMuc291cmNlZm9yZ2UubmV0L2NnaS1iaW4vdmlld2N2cy5jZ2kvbGlieG1scGx1c3BsdXMvbGlieG1sJTJiJTJiL2V4YW1wbGVzLyI+ZXhhbXBsZXM8L2E+LjwvbGk+CisgIDxsaT5UaGVyZSBpcyBhbm90aGVyIDxhIGhyZWY9Imh0dHA6Ly9saWJnZG9tZS1jcHAuYmVybGlvcy5kZS8iPkMrKyB3cmFwcGVyCisgICAgYmFzZWQgb24gdGhlIGdkb21lMiBiaW5kaW5nczwvYT4gbWFpbnRhaW5lZCBieSBUb2JpYXMgUGV0ZXJzLjwvbGk+CisgIDxsaT5hbmQgYSB0aGlyZCBDKysgd3JhcHBlciBieSBQZXRlciBKb25lcyAmbHQ7cGpvbmVzQHBtYWRlLm9yZyZndDsKKyAgICA8cD5XZWJzaXRlOiA8YQorICAgIGhyZWY9Imh0dHA6Ly9wbWFkZS5vcmcvcGpvbmVzL3NvZnR3YXJlL3htbHdyYXBwLyI+aHR0cDovL3BtYWRlLm9yZy9wam9uZXMvc29mdHdhcmUveG1sd3JhcHAvPC9hPjwvcD4KKyAgPC9saT4KKyAgPGxpPlhNTDo6TGliWE1MIDxhIGhyZWY9Imh0dHA6Ly9jcGFuLnV3aW5uaXBlZy5jYS9kaXN0L1hNTC1MaWJYTUwiPlBlcmwKKyAgICAgIGJpbmRpbmdzPC9hPiBhcmUgYXZhaWxhYmxlIG9uIENQQU4sIGFzIHdlbGwgYXMgWE1MOjpMaWJYU0xUCisgICAgICA8YSBocmVmPSJodHRwOi8vY3Bhbi51d2lubmlwZWcuY2EvZGlzdC9YTUwtTGliWFNMVCI+UGVybCBsaWJ4c2x0CisgICAgICBiaW5kaW5nczwvYT4uPC9saT4KKyAgPGxpPklmIHlvdSdyZSBpbnRlcmVzdGVkIGludG8gc2NyaXB0aW5nIFhNTCBwcm9jZXNzaW5nLCBoYXZlIGEgbG9vayBhdCA8YQorICAgIGhyZWY9Imh0dHA6Ly94c2guc291cmNlZm9yZ2UubmV0LyI+WFNIPC9hPiBhbiBYTUwgZWRpdGluZyBzaGVsbCBiYXNlZCBvbgorICAgIExpYnhtbDIgUGVybCBiaW5kaW5ncy48L2xpPgorICA8bGk+PGEgaHJlZj0ibWFpbHRvOmRrdWhsbWFuQGN1dHRlci5yZXh4LmNvbSI+RGF2ZSBLdWhsbWFuPC9hPiBwcm92aWRlcyBhbgorICAgIGVhcmxpZXIgdmVyc2lvbiBvZiB0aGUgbGlieG1sL2xpYnhzbHQgPGEKKyAgICBocmVmPSJodHRwOi8vd3d3LnJleHguY29tL35ka3VobG1hbiI+d3JhcHBlcnMgZm9yIFB5dGhvbjwvYT4uPC9saT4KKyAgPGxpPkdvcGFsLlYgYW5kIFBldGVyIE1pbnRlbiBkZXZlbG9wIDxhCisgICAgaHJlZj0iaHR0cDovL3NhdmFubmFoLmdudS5vcmcvcHJvamVjdHMvbGlieG1sc2hhcnAiPmxpYnhtbCM8L2E+LCBhIHNldCBvZgorICAgIEMjIGxpYnhtbDIgYmluZGluZ3MuPC9saT4KKyAgPGxpPlBldHIgS296ZWxrYSBwcm92aWRlcyA8YQorICAgIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbGlieG1sMi1wYXMiPlBhc2NhbCB1bml0cyB0byBnbHVlCisgICAgbGlieG1sMjwvYT4gd2l0aCBLeWxpeCwgRGVscGhpIGFuZCBvdGhlciBQYXNjYWwgY29tcGlsZXJzLjwvbGk+CisgIDxsaT5Vd2UgRmVjaG5lciBhbHNvIHByb3ZpZGVzIDxhCisgICAgaHJlZj0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9pZG9tMi1wYXMvIj5pZG9tMjwvYT4sIGEgRE9NMgorICAgIGltcGxlbWVudGF0aW9uIGZvciBLeWxpeDIvRDUvRDYgZnJvbSBCb3JsYW5kLjwvbGk+CisgIDxsaT5UaGVyZSBpcyA8YSBocmVmPSJodHRwOi8vbGlieG1sLnJ1Ynlmb3JnZS5vcmcvIj5iaW5kaW5ncyBmb3IgUnVieTwvYT4gCisgICAgYW5kIGxpYnhtbDIgYmluZGluZ3MgYXJlIGFsc28gYXZhaWxhYmxlIGluIFJ1YnkgdGhyb3VnaCB0aGUgPGEKKyAgICBocmVmPSJodHRwOi8vbGliZ2RvbWUtcnVieS5iZXJsaW9zLmRlLyI+bGliZ2RvbWUtcnVieTwvYT4gbW9kdWxlCisgICAgbWFpbnRhaW5lZCBieSBUb2JpYXMgUGV0ZXJzLjwvbGk+CisgIDxsaT5TdGV2ZSBCYWxsIGFuZCBjb250cmlidXRvcnMgbWFpbnRhaW5zIDxhCisgICAgaHJlZj0iaHR0cDovL3RjbHhtbC5zb3VyY2Vmb3JnZS5uZXQvIj5saWJ4bWwyIGFuZCBsaWJ4c2x0IGJpbmRpbmdzIGZvcgorICAgIFRjbDwvYT4uPC9saT4KKyAgPGxpPmxpYnhtbDIgYW5kIGxpYnhzbHQgYXJlIHRoZSBkZWZhdWx0IFhNTCBsaWJyYXJpZXMgZm9yIFBIUDUuPC9saT4KKyAgPGxpPjxhIGhyZWY9Imh0dHA6Ly9zYXZhbm5haC5nbnUub3JnL3Byb2plY3RzL2NsYXNzcGF0aHgvIj5MaWJ4bWxKPC9hPiBpcworICAgIGFuIGVmZm9ydCB0byBjcmVhdGUgYSAxMDAlIEpBWFAtY29tcGF0aWJsZSBKYXZhIHdyYXBwZXIgZm9yIGxpYnhtbDIgYW5kCisgICAgbGlieHNsdCBhcyBwYXJ0IG9mIEdOVSBDbGFzc3BhdGhYIHByb2plY3QuPC9saT4KKyAgPGxpPlBhdHJpY2sgTWNQaGVlIHByb3ZpZGVzIFJleHggYmluZGluZ3MgZm9mIGxpYnhtbDIgYW5kIGxpYnhzbHQsIGxvb2sgZm9yCisgICAgPGEgaHJlZj0iaHR0cDovL3d3dy5pbnRlcmxvZy5jb20vfnB0am0vc29mdHdhcmUuaHRtbCI+UmV4eFhNTDwvYT4uPC9saT4KKyAgPGxpPjxhCisgICAgaHJlZj0iaHR0cDovL3d3dy5zYXRpbWFnZS5mci9zb2Z0d2FyZS9lbi94bWxfc3VpdGUuaHRtbCI+U2F0aW1hZ2U8L2E+CisgICAgcHJvdmlkZXMgPGEKKyAgICBocmVmPSJodHRwOi8vd3d3LnNhdGltYWdlLmZyL3NvZnR3YXJlL2VuL2Rvd25sb2Fkc19vc2F4ZW4uaHRtbCI+WE1MTGliCisgICAgb3NheDwvYT4uIFRoaXMgaXMgYW4gb3NheCBmb3IgTWFjIE9TIFggd2l0aCBhIHNldCBvZiBjb21tYW5kcyB0bworICAgIGltcGxlbWVudCBpbiBBcHBsZVNjcmlwdCB0aGUgWE1MIERPTSwgWFBBVEggYW5kIFhTTFQuIEFsc28gaW5jbHVkZXMKKyAgICBjb21tYW5kcyBmb3IgUHJvcGVydHktbGlzdHMgKEFwcGxlJ3MgZmFzdCBsb29rdXAgdGFibGUgWE1MIGZvcm1hdC4pPC9saT4KKyAgPGxpPkZyYW5jZXNjbyBNb250b3JzaSBkZXZlbG9wcGVkIDxhCisgICAgaHJlZj0iaHR0cHM6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdC9zaG93ZmlsZXMucGhwP2dyb3VwX2lkPTUxMzA1JmFtcDtwYWNrYWdlX2lkPTQ1MTgyIj53eFhtbDI8L2E+CisgICAgd3JhcHBlcnMgdGhhdCBpbnRlcmZhY2UgbGlieG1sMiwgYWxsb3dpbmcgd3hXaWRnZXRzIGFwcGxpY2F0aW9ucyB0bworICAgIGxvYWQvc2F2ZS9lZGl0IFhNTCBpbnN0YW5jZXMuPC9saT4KKzwvdWw+CisKKzxwPlRoZSBkaXN0cmlidXRpb24gaW5jbHVkZXMgYSBzZXQgb2YgUHl0aG9uIGJpbmRpbmdzLCB3aGljaCBhcmUgZ3VhcmFudGVlZAordG8gYmUgbWFpbnRhaW5lZCBhcyBwYXJ0IG9mIHRoZSBsaWJyYXJ5IGluIHRoZSBmdXR1cmUsIHRob3VnaCB0aGUgUHl0aG9uCitpbnRlcmZhY2UgaGF2ZSBub3QgeWV0IHJlYWNoZWQgdGhlIGNvbXBsZXRlbmVzcyBvZiB0aGUgQyBBUEkuPC9wPgorCis8cD5Ob3RlIHRoYXQgc29tZSBvZiB0aGUgUHl0aG9uIHB1cmlzdCBkaXNsaWtlIHRoZSBkZWZhdWx0IHNldCBvZiBQeXRob24KK2JpbmRpbmdzLCByYXRoZXIgdGhhbiBjb21wbGFpbmluZyBJIHN1Z2dlc3QgdGhleSBoYXZlIGEgbG9vayBhdCA8YQoraHJlZj0iaHR0cDovL2x4bWwuZGUvIj5seG1sIHRoZSBtb3JlIHB5dGhvbmljIGJpbmRpbmdzIGZvciBsaWJ4bWwyCithbmQgbGlieHNsdDwvYT4gYW5kIDxhCitocmVmPSJodHRwOi8vbHhtbC5kZS9tYWlsaW5nbGlzdC8iPmNoZWNrIHRoZSBtYWlsaW5nLWxpc3Q8L2E+LjwvcD4KKworPHA+PGEgaHJlZj0ibWFpbHRvOnN0ZXBoYW5lLmJpZG91bEBzb2Z0d2FyZWFnLmNvbSI+U3TDg8KpcGhhbmUgQmlkb3VsPC9hPgorbWFpbnRhaW5zIDxhIGhyZWY9Imh0dHA6Ly91c2Vycy5za3luZXQuYmUvc2JpL2xpYnhtbC1weXRob24vIj5hIFdpbmRvd3MgcG9ydAorb2YgdGhlIFB5dGhvbiBiaW5kaW5nczwvYT4uPC9wPgorCis8cD5Ob3RlIHRvIHBlb3BsZSBpbnRlcmVzdGVkIGluIGJ1aWxkaW5nIGJpbmRpbmdzLCB0aGUgQVBJIGlzIGZvcm1hbGl6ZWQgYXMKKzxhIGhyZWY9ImxpYnhtbDItYXBpLnhtbCI+YW4gWE1MIEFQSSBkZXNjcmlwdGlvbiBmaWxlPC9hPiB3aGljaCBhbGxvd3MgdG8KK2F1dG9tYXRlIGEgbGFyZ2UgcGFydCBvZiB0aGUgUHl0aG9uIGJpbmRpbmdzLCB0aGlzIGluY2x1ZGVzIGZ1bmN0aW9uCitkZXNjcmlwdGlvbnMsIGVudW1zLCBzdHJ1Y3R1cmVzLCB0eXBlZGVmcywgZXRjLi4uIFRoZSBQeXRob24gc2NyaXB0IHVzZWQgdG8KK2J1aWxkIHRoZSBiaW5kaW5ncyBpcyBweXRob24vZ2VuZXJhdG9yLnB5IGluIHRoZSBzb3VyY2UgZGlzdHJpYnV0aW9uLjwvcD4KKworPHA+VG8gaW5zdGFsbCB0aGUgUHl0aG9uIGJpbmRpbmdzIHRoZXJlIGFyZSAyIG9wdGlvbnM6PC9wPgorPHVsPgorICA8bGk+SWYgeW91IHVzZSBhbiBSUE0gYmFzZWQgZGlzdHJpYnV0aW9uLCBzaW1wbHkgaW5zdGFsbCB0aGUgPGEKKyAgICBocmVmPSJodHRwOi8vcnBtZmluZC5uZXQvbGludXgvcnBtMmh0bWwvc2VhcmNoLnBocD9xdWVyeT1saWJ4bWwyLXB5dGhvbiI+bGlieG1sMi1weXRob24KKyAgICBSUE08L2E+IChhbmQgaWYgbmVlZGVkIHRoZSA8YQorICAgIGhyZWY9Imh0dHA6Ly9ycG1maW5kLm5ldC9saW51eC9ycG0yaHRtbC9zZWFyY2gucGhwP3F1ZXJ5PWxpYnhzbHQtcHl0aG9uIj5saWJ4c2x0LXB5dGhvbgorICAgIFJQTTwvYT4pLjwvbGk+CisgIDxsaT5PdGhlcndpc2UgdXNlIHRoZSA8YSBocmVmPSJmdHA6Ly94bWxzb2Z0Lm9yZy9saWJ4bWwyL3B5dGhvbi8iPmxpYnhtbDItcHl0aG9uCisgICAgbW9kdWxlIGRpc3RyaWJ1dGlvbjwvYT4gY29ycmVzcG9uZGluZyB0byB5b3VyIGluc3RhbGxlZCB2ZXJzaW9uIG9mCisgICAgbGlieG1sMiBhbmQgbGlieHNsdC4gTm90ZSB0aGF0IHRvIGluc3RhbGwgaXQgeW91IHdpbGwgbmVlZCBib3RoIGxpYnhtbDIKKyAgICBhbmQgbGlieHNsdCBpbnN0YWxsZWQgYW5kIHJ1biAicHl0aG9uIHNldHVwLnB5IGJ1aWxkIGluc3RhbGwiIGluIHRoZQorICAgIG1vZHVsZSB0cmVlLjwvbGk+Cis8L3VsPgorCis8cD5UaGUgZGlzdHJpYnV0aW9uIGluY2x1ZGVzIGEgc2V0IG9mIGV4YW1wbGVzIGFuZCByZWdyZXNzaW9uIHRlc3RzIGZvciB0aGUKK3B5dGhvbiBiaW5kaW5ncyBpbiB0aGUgPGNvZGU+cHl0aG9uL3Rlc3RzPC9jb2RlPiBkaXJlY3RvcnkuIEhlcmUgYXJlIHNvbWUKK2V4Y2VycHRzIGZyb20gdGhvc2UgdGVzdHM6PC9wPgorCis8aDM+dHN0LnB5OjwvaDM+CisKKzxwPlRoaXMgaXMgYSBiYXNpYyB0ZXN0IG9mIHRoZSBmaWxlIGludGVyZmFjZSBhbmQgRE9NIG5hdmlnYXRpb246PC9wPgorPHByZT5pbXBvcnQgbGlieG1sMiwgc3lzCisKK2RvYyA9IGxpYnhtbDIucGFyc2VGaWxlKCJ0c3QueG1sIikKK2lmIGRvYy5uYW1lICE9ICJ0c3QueG1sIjoKKyAgICBwcmludCAiZG9jLm5hbWUgZmFpbGVkIgorICAgIHN5cy5leGl0KDEpCityb290ID0gZG9jLmNoaWxkcmVuCitpZiByb290Lm5hbWUgIT0gImRvYyI6CisgICAgcHJpbnQgInJvb3QubmFtZSBmYWlsZWQiCisgICAgc3lzLmV4aXQoMSkKK2NoaWxkID0gcm9vdC5jaGlsZHJlbgoraWYgY2hpbGQubmFtZSAhPSAiZm9vIjoKKyAgICBwcmludCAiY2hpbGQubmFtZSBmYWlsZWQiCisgICAgc3lzLmV4aXQoMSkKK2RvYy5mcmVlRG9jKCk8L3ByZT4KKworPHA+VGhlIFB5dGhvbiBtb2R1bGUgaXMgY2FsbGVkIGxpYnhtbDI7IHBhcnNlRmlsZSBpcyB0aGUgZXF1aXZhbGVudCBvZgoreG1sUGFyc2VGaWxlIChtb3N0IG9mIHRoZSBiaW5kaW5ncyBhcmUgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQsIGFuZCB0aGUgeG1sCitwcmVmaXggaXMgcmVtb3ZlZCBhbmQgdGhlIGNhc2luZyBjb252ZW50aW9uIGFyZSBrZXB0KS4gQWxsIG5vZGUgc2VlbiBhdCB0aGUKK2JpbmRpbmcgbGV2ZWwgc2hhcmUgdGhlIHNhbWUgc3Vic2V0IG9mIGFjY2Vzc29yczo8L3A+Cis8dWw+CisgIDxsaT48Y29kZT5uYW1lPC9jb2RlPiA6IHJldHVybnMgdGhlIG5vZGUgbmFtZTwvbGk+CisgIDxsaT48Y29kZT50eXBlPC9jb2RlPiA6IHJldHVybnMgYSBzdHJpbmcgaW5kaWNhdGluZyB0aGUgbm9kZSB0eXBlPC9saT4KKyAgPGxpPjxjb2RlPmNvbnRlbnQ8L2NvZGU+IDogcmV0dXJucyB0aGUgY29udGVudCBvZiB0aGUgbm9kZSwgaXQgaXMgYmFzZWQgb24KKyAgICB4bWxOb2RlR2V0Q29udGVudCgpIGFuZCBoZW5jZSBpcyByZWN1cnNpdmUuPC9saT4KKyAgPGxpPjxjb2RlPnBhcmVudDwvY29kZT4gLCA8Y29kZT5jaGlsZHJlbjwvY29kZT4sIDxjb2RlPmxhc3Q8L2NvZGU+LAorICAgIDxjb2RlPm5leHQ8L2NvZGU+LCA8Y29kZT5wcmV2PC9jb2RlPiwgPGNvZGU+ZG9jPC9jb2RlPiwKKyAgICA8Y29kZT5wcm9wZXJ0aWVzPC9jb2RlPjogcG9pbnRpbmcgdG8gdGhlIGFzc29jaWF0ZWQgZWxlbWVudCBpbiB0aGUgdHJlZSwKKyAgICB0aG9zZSBtYXkgcmV0dXJuIE5vbmUgaW4gY2FzZSBubyBzdWNoIGxpbmsgZXhpc3RzLjwvbGk+Cis8L3VsPgorCis8cD5BbHNvIG5vdGUgdGhlIG5lZWQgdG8gZXhwbGljaXRseSBkZWFsbG9jYXRlIGRvY3VtZW50cyB3aXRoIGZyZWVEb2MoKSAuCitSZWZlcmVuY2UgY291bnRpbmcgZm9yIGxpYnhtbDIgdHJlZXMgd291bGQgbmVlZCBxdWl0ZSBhIGxvdCBvZiB3b3JrIHRvCitmdW5jdGlvbiBwcm9wZXJseSwgYW5kIHJhdGhlciB0aGFuIHJpc2sgbWVtb3J5IGxlYWtzIGlmIG5vdCBpbXBsZW1lbnRlZAorY29ycmVjdGx5IGl0IHNvdW5kcyBzYWZlciB0byBoYXZlIGFuIGV4cGxpY2l0IGZ1bmN0aW9uIHRvIGZyZWUgYSB0cmVlLiBUaGUKK3dyYXBwZXIgcHl0aG9uIG9iamVjdHMgbGlrZSBkb2MsIHJvb3Qgb3IgY2hpbGQgYXJlIHRoZW0gYXV0b21hdGljYWxseSBnYXJiYWdlCitjb2xsZWN0ZWQuPC9wPgorCis8aDM+dmFsaWRhdGUucHk6PC9oMz4KKworPHA+VGhpcyB0ZXN0IGNoZWNrIHRoZSB2YWxpZGF0aW9uIGludGVyZmFjZXMgYW5kIHJlZGlyZWN0aW9uIG9mIGVycm9yCittZXNzYWdlczo8L3A+Cis8cHJlPmltcG9ydCBsaWJ4bWwyCisKKyNkZWFjdGl2YXRlIGVycm9yIG1lc3NhZ2VzIGZyb20gdGhlIHZhbGlkYXRpb24KK2RlZiBub2VycihjdHgsIHN0cik6CisgICAgcGFzcworCitsaWJ4bWwyLnJlZ2lzdGVyRXJyb3JIYW5kbGVyKG5vZXJyLCBOb25lKQorCitjdHh0ID0gbGlieG1sMi5jcmVhdGVGaWxlUGFyc2VyQ3R4dCgiaW52YWxpZC54bWwiKQorY3R4dC52YWxpZGF0ZSgxKQorY3R4dC5wYXJzZURvY3VtZW50KCkKK2RvYyA9IGN0eHQuZG9jKCkKK3ZhbGlkID0gY3R4dC5pc1ZhbGlkKCkKK2RvYy5mcmVlRG9jKCkKK2lmIHZhbGlkICE9IDA6CisgICAgcHJpbnQgInZhbGlkaXR5IGNoZWNrIGZhaWxlZCI8L3ByZT4KKworPHA+VGhlIGZpcnN0IHRoaW5nIHRvIG5vdGljZSBpcyB0aGUgY2FsbCB0byByZWdpc3RlckVycm9ySGFuZGxlcigpLCBpdAorZGVmaW5lcyBhIG5ldyBlcnJvciBoYW5kbGVyIGdsb2JhbCB0byB0aGUgbGlicmFyeS4gSXQgaXMgdXNlZCB0byBhdm9pZCBzZWVpbmcKK3RoZSBlcnJvciBtZXNzYWdlcyB3aGVuIHRyeWluZyB0byB2YWxpZGF0ZSB0aGUgaW52YWxpZCBkb2N1bWVudC48L3A+CisKKzxwPlRoZSBtYWluIGludGVyZXN0IG9mIHRoYXQgdGVzdCBpcyB0aGUgY3JlYXRpb24gb2YgYSBwYXJzZXIgY29udGV4dCB3aXRoCitjcmVhdGVGaWxlUGFyc2VyQ3R4dCgpIGFuZCBob3cgdGhlIGJlaGF2aW91ciBjYW4gYmUgY2hhbmdlZCBiZWZvcmUgY2FsbGluZworcGFyc2VEb2N1bWVudCgpIC4gU2ltaWxhcmx5IHRoZSBpbmZvcm1hdGlvbiByZXN1bHRpbmcgZnJvbSB0aGUgcGFyc2luZyBwaGFzZQoraXMgYWxzbyBhdmFpbGFibGUgdXNpbmcgY29udGV4dCBtZXRob2RzLjwvcD4KKworPHA+Q29udGV4dHMgbGlrZSBub2RlcyBhcmUgZGVmaW5lZCBhcyBjbGFzcyBhbmQgdGhlIGxpYnhtbDIgd3JhcHBlcnMgbWFwcyB0aGUKK0MgZnVuY3Rpb24gaW50ZXJmYWNlcyBpbiB0ZXJtcyBvZiBvYmplY3RzIG1ldGhvZCBhcyBtdWNoIGFzIHBvc3NpYmxlLiBUaGUKK2Jlc3QgdG8gZ2V0IGEgY29tcGxldGUgdmlldyBvZiB3aGF0IG1ldGhvZHMgYXJlIHN1cHBvcnRlZCBpcyB0byBsb29rIGF0IHRoZQorbGlieG1sMi5weSBtb2R1bGUgY29udGFpbmluZyBhbGwgdGhlIHdyYXBwZXJzLjwvcD4KKworPGgzPnB1c2gucHk6PC9oMz4KKworPHA+VGhpcyB0ZXN0IHNob3cgaG93IHRvIGFjdGl2YXRlIHRoZSBwdXNoIHBhcnNlciBpbnRlcmZhY2U6PC9wPgorPHByZT5pbXBvcnQgbGlieG1sMgorCitjdHh0ID0gbGlieG1sMi5jcmVhdGVQdXNoUGFyc2VyKE5vbmUsICImbHQ7Zm9vIiwgNCwgInRlc3QueG1sIikKK2N0eHQucGFyc2VDaHVuaygiLyZndDsiLCAyLCAxKQorZG9jID0gY3R4dC5kb2MoKQorCitkb2MuZnJlZURvYygpPC9wcmU+CisKKzxwPlRoZSBjb250ZXh0IGlzIGNyZWF0ZWQgd2l0aCBhIHNwZWNpYWwgY2FsbCBiYXNlZCBvbiB0aGUKK3htbENyZWF0ZVB1c2hQYXJzZXIoKSBmcm9tIHRoZSBDIGxpYnJhcnkuIFRoZSBmaXJzdCBhcmd1bWVudCBpcyBhbiBvcHRpb25hbAorU0FYIGNhbGxiYWNrIG9iamVjdCwgdGhlbiB0aGUgaW5pdGlhbCBzZXQgb2YgZGF0YSwgdGhlIGxlbmd0aCBhbmQgdGhlIG5hbWUgb2YKK3RoZSByZXNvdXJjZSBpbiBjYXNlIFVSSS1SZWZlcmVuY2VzIG5lZWQgdG8gYmUgY29tcHV0ZWQgYnkgdGhlIHBhcnNlci48L3A+CisKKzxwPlRoZW4gdGhlIGRhdGEgYXJlIHB1c2hlZCB1c2luZyB0aGUgcGFyc2VDaHVuaygpIG1ldGhvZCwgdGhlIGxhc3QgY2FsbAorc2V0dGluZyB0aGUgdGhpcmQgYXJndW1lbnQgdGVybWluYXRlIHRvIDEuPC9wPgorCis8aDM+cHVzaFNBWC5weTo8L2gzPgorCis8cD50aGlzIHRlc3Qgc2hvdyB0aGUgdXNlIG9mIHRoZSBldmVudCBiYXNlZCBwYXJzaW5nIGludGVyZmFjZXMuIEluIHRoaXMgY2FzZQordGhlIHBhcnNlciBkb2VzIG5vdCBidWlsZCBhIGRvY3VtZW50LCBidXQgcHJvdmlkZXMgY2FsbGJhY2sgaW5mb3JtYXRpb24gYXMKK3RoZSBwYXJzZXIgbWFrZXMgcHJvZ3Jlc3NlcyBhbmFseXppbmcgdGhlIGRhdGEgYmVpbmcgcHJvdmlkZWQ6PC9wPgorPHByZT5pbXBvcnQgbGlieG1sMgorbG9nID0gIiIKKworY2xhc3MgY2FsbGJhY2s6CisgICAgZGVmIHN0YXJ0RG9jdW1lbnQoc2VsZik6CisgICAgICAgIGdsb2JhbCBsb2cKKyAgICAgICAgbG9nID0gbG9nICsgInN0YXJ0RG9jdW1lbnQ6IgorCisgICAgZGVmIGVuZERvY3VtZW50KHNlbGYpOgorICAgICAgICBnbG9iYWwgbG9nCisgICAgICAgIGxvZyA9IGxvZyArICJlbmREb2N1bWVudDoiCisKKyAgICBkZWYgc3RhcnRFbGVtZW50KHNlbGYsIHRhZywgYXR0cnMpOgorICAgICAgICBnbG9iYWwgbG9nCisgICAgICAgIGxvZyA9IGxvZyArICJzdGFydEVsZW1lbnQgJXMgJXM6IiAlICh0YWcsIGF0dHJzKQorCisgICAgZGVmIGVuZEVsZW1lbnQoc2VsZiwgdGFnKToKKyAgICAgICAgZ2xvYmFsIGxvZworICAgICAgICBsb2cgPSBsb2cgKyAiZW5kRWxlbWVudCAlczoiICUgKHRhZykKKworICAgIGRlZiBjaGFyYWN0ZXJzKHNlbGYsIGRhdGEpOgorICAgICAgICBnbG9iYWwgbG9nCisgICAgICAgIGxvZyA9IGxvZyArICJjaGFyYWN0ZXJzOiAlczoiICUgKGRhdGEpCisKKyAgICBkZWYgd2FybmluZyhzZWxmLCBtc2cpOgorICAgICAgICBnbG9iYWwgbG9nCisgICAgICAgIGxvZyA9IGxvZyArICJ3YXJuaW5nOiAlczoiICUgKG1zZykKKworICAgIGRlZiBlcnJvcihzZWxmLCBtc2cpOgorICAgICAgICBnbG9iYWwgbG9nCisgICAgICAgIGxvZyA9IGxvZyArICJlcnJvcjogJXM6IiAlIChtc2cpCisKKyAgICBkZWYgZmF0YWxFcnJvcihzZWxmLCBtc2cpOgorICAgICAgICBnbG9iYWwgbG9nCisgICAgICAgIGxvZyA9IGxvZyArICJmYXRhbEVycm9yOiAlczoiICUgKG1zZykKKworaGFuZGxlciA9IGNhbGxiYWNrKCkKKworY3R4dCA9IGxpYnhtbDIuY3JlYXRlUHVzaFBhcnNlcihoYW5kbGVyLCAiJmx0O2ZvbyIsIDQsICJ0ZXN0LnhtbCIpCitjaHVuayA9ICIgdXJsPSd0c3QnJmd0O2IiCitjdHh0LnBhcnNlQ2h1bmsoY2h1bmssIGxlbihjaHVuayksIDApCitjaHVuayA9ICJhciZsdDsvZm9vJmd0OyIKK2N0eHQucGFyc2VDaHVuayhjaHVuaywgbGVuKGNodW5rKSwgMSkKKworcmVmZXJlbmNlID0gInN0YXJ0RG9jdW1lbnQ6c3RhcnRFbGVtZW50IGZvbyB7J3VybCc6ICd0c3QnfToiICsgXCAKKyAgICAgICAgICAgICJjaGFyYWN0ZXJzOiBiYXI6ZW5kRWxlbWVudCBmb286ZW5kRG9jdW1lbnQ6IgoraWYgbG9nICE9IHJlZmVyZW5jZToKKyAgICBwcmludCAiRXJyb3IgZ290OiAlcyIgJSBsb2cKKyAgICBwcmludCAiRXhwZWN0ZWQ6ICVzIiAlIHJlZmVyZW5jZTwvcHJlPgorCis8cD5UaGUga2V5IG9iamVjdCBpbiB0aGF0IHRlc3QgaXMgdGhlIGhhbmRsZXIsIGl0IHByb3ZpZGVzIGEgbnVtYmVyIG9mIGVudHJ5Citwb2ludHMgd2hpY2ggY2FuIGJlIGNhbGxlZCBieSB0aGUgcGFyc2VyIGFzIGl0IG1ha2VzIHByb2dyZXNzZXMgdG8gaW5kaWNhdGUKK3RoZSBpbmZvcm1hdGlvbiBzZXQgb2J0YWluZWQuIFRoZSBmdWxsIHNldCBvZiBjYWxsYmFjayBpcyBsYXJnZXIgdGhhbiB3aGF0Cit0aGUgY2FsbGJhY2sgY2xhc3MgaW4gdGhhdCBzcGVjaWZpYyBleGFtcGxlIGltcGxlbWVudHMgKHNlZSB0aGUgU0FYCitkZWZpbml0aW9uIGZvciBhIGNvbXBsZXRlIGxpc3QpLiBUaGUgd3JhcHBlciB3aWxsIG9ubHkgY2FsbCB0aG9zZSBzdXBwbGllZCBieQordGhlIG9iamVjdCB3aGVuIGFjdGl2YXRlZC4gVGhlIHN0YXJ0RWxlbWVudCByZWNlaXZlcyB0aGUgbmFtZXMgb2YgdGhlIGVsZW1lbnQKK2FuZCBhIGRpY3Rpb25hcnkgY29udGFpbmluZyB0aGUgYXR0cmlidXRlcyBjYXJyaWVkIGJ5IHRoaXMgZWxlbWVudC48L3A+CisKKzxwPkFsc28gbm90ZSB0aGF0IHRoZSByZWZlcmVuY2Ugc3RyaW5nIGdlbmVyYXRlZCBmcm9tIHRoZSBjYWxsYmFjayBzaG93cyBhCitzaW5nbGUgY2hhcmFjdGVyIGNhbGwgZXZlbiB0aG91Z2ggdGhlIHN0cmluZyAiYmFyIiBpcyBwYXNzZWQgdG8gdGhlIHBhcnNlcgorZnJvbSAyIGRpZmZlcmVudCBjYWxsIHRvIHBhcnNlQ2h1bmsoKTwvcD4KKworPGgzPnhwYXRoLnB5OjwvaDM+CisKKzxwPlRoaXMgaXMgYSBiYXNpYyB0ZXN0IG9mIFhQYXRoIHdyYXBwZXJzIHN1cHBvcnQ8L3A+Cis8cHJlPmltcG9ydCBsaWJ4bWwyCisKK2RvYyA9IGxpYnhtbDIucGFyc2VGaWxlKCJ0c3QueG1sIikKK2N0eHQgPSBkb2MueHBhdGhOZXdDb250ZXh0KCkKK3JlcyA9IGN0eHQueHBhdGhFdmFsKCIvLyoiKQoraWYgbGVuKHJlcykgIT0gMjoKKyAgICBwcmludCAieHBhdGggcXVlcnk6IHdyb25nIG5vZGUgc2V0IHNpemUiCisgICAgc3lzLmV4aXQoMSkKK2lmIHJlc1swXS5uYW1lICE9ICJkb2MiIG9yIHJlc1sxXS5uYW1lICE9ICJmb28iOgorICAgIHByaW50ICJ4cGF0aCBxdWVyeTogd3Jvbmcgbm9kZSBzZXQgdmFsdWUiCisgICAgc3lzLmV4aXQoMSkKK2RvYy5mcmVlRG9jKCkKK2N0eHQueHBhdGhGcmVlQ29udGV4dCgpPC9wcmU+CisKKzxwPlRoaXMgdGVzdCBwYXJzZXMgYSBmaWxlLCB0aGVuIGNyZWF0ZSBhbiBYUGF0aCBjb250ZXh0IHRvIGV2YWx1YXRlIFhQYXRoCitleHByZXNzaW9uIG9uIGl0LiBUaGUgeHBhdGhFdmFsKCkgbWV0aG9kIGV4ZWN1dGUgYW4gWFBhdGggcXVlcnkgYW5kIHJldHVybnMKK3RoZSByZXN1bHQgbWFwcGVkIGluIGEgUHl0aG9uIHdheS4gU3RyaW5nIGFuZCBudW1iZXJzIGFyZSBuYXRpdmVseSBjb252ZXJ0ZWQsCithbmQgbm9kZSBzZXRzIGFyZSByZXR1cm5lZCBhcyBhIHR1cGxlIG9mIGxpYnhtbDIgUHl0aG9uIG5vZGVzIHdyYXBwZXJzLiBMaWtlCit0aGUgZG9jdW1lbnQsIHRoZSBYUGF0aCBjb250ZXh0IG5lZWQgdG8gYmUgZnJlZWQgZXhwbGljaXRseSwgYWxzbyBub3QgdGhhdAordGhlIHJlc3VsdCBvZiB0aGUgWFBhdGggcXVlcnkgbWF5IHBvaW50IGJhY2sgdG8gdGhlIGRvY3VtZW50IHRyZWUgYW5kIGhlbmNlCit0aGUgZG9jdW1lbnQgbXVzdCBiZSBmcmVlZCBhZnRlciB0aGUgcmVzdWx0IG9mIHRoZSBxdWVyeSBpcyB1c2VkLjwvcD4KKworPGgzPnhwYXRoZXh0LnB5OjwvaDM+CisKKzxwPlRoaXMgdGVzdCBzaG93cyBob3cgdG8gZXh0ZW5kIHRoZSBYUGF0aCBlbmdpbmUgd2l0aCBmdW5jdGlvbnMgd3JpdHRlbiBpbgorcHl0aG9uOjwvcD4KKzxwcmU+aW1wb3J0IGxpYnhtbDIKKworZGVmIGZvbyhjdHgsIHgpOgorICAgIHJldHVybiB4ICsgMQorCitkb2MgPSBsaWJ4bWwyLnBhcnNlRmlsZSgidHN0LnhtbCIpCitjdHh0ID0gZG9jLnhwYXRoTmV3Q29udGV4dCgpCitsaWJ4bWwyLnJlZ2lzdGVyWFBhdGhGdW5jdGlvbihjdHh0Ll9vLCAiZm9vIiwgTm9uZSwgZm9vKQorcmVzID0gY3R4dC54cGF0aEV2YWwoImZvbygxKSIpCitpZiByZXMgIT0gMjoKKyAgICBwcmludCAieHBhdGggZXh0ZW5zaW9uIGZhaWx1cmUiCitkb2MuZnJlZURvYygpCitjdHh0LnhwYXRoRnJlZUNvbnRleHQoKTwvcHJlPgorCis8cD5Ob3RlIGhvdyB0aGUgZXh0ZW5zaW9uIGZ1bmN0aW9uIGlzIHJlZ2lzdGVyZWQgd2l0aCB0aGUgY29udGV4dCAoYnV0IHRoYXQKK3BhcnQgaXMgbm90IHlldCBmaW5hbGl6ZWQsIHRoaXMgbWF5IGNoYW5nZSBzbGlnaHRseSBpbiB0aGUgZnV0dXJlKS48L3A+CisKKzxoMz50c3R4cGF0aC5weTo8L2gzPgorCis8cD5UaGlzIHRlc3QgaXMgc2ltaWxhciB0byB0aGUgcHJldmlvdXMgb25lIGJ1dCBzaG93cyBob3cgdGhlIGV4dGVuc2lvbgorZnVuY3Rpb24gY2FuIGFjY2VzcyB0aGUgWFBhdGggZXZhbHVhdGlvbiBjb250ZXh0OjwvcD4KKzxwcmU+ZGVmIGZvbyhjdHgsIHgpOgorICAgIGdsb2JhbCBjYWxsZWQKKworICAgICMKKyAgICAjIHRlc3QgdGhhdCBhY2Nlc3MgdG8gdGhlIFhQYXRoIGV2YWx1YXRpb24gY29udGV4dHMKKyAgICAjCisgICAgcGN0eHQgPSBsaWJ4bWwyLnhwYXRoUGFyc2VyQ29udGV4dChfb2JqPWN0eCkKKyAgICBjdHh0ID0gcGN0eHQuY29udGV4dCgpCisgICAgY2FsbGVkID0gY3R4dC5mdW5jdGlvbigpCisgICAgcmV0dXJuIHggKyAxPC9wcmU+CisKKzxwPkFsbCB0aGUgaW50ZXJmYWNlcyBhcm91bmQgdGhlIFhQYXRoIHBhcnNlcihvciByYXRoZXIgZXZhbHVhdGlvbikgY29udGV4dAorYXJlIG5vdCBmaW5hbGl6ZWQsIGJ1dCBpdCBzaG91bGQgYmUgc3VmZmljaWVudCB0byBkbyBjb250ZXh0dWFsIHdvcmsgYXQgdGhlCitldmFsdWF0aW9uIHBvaW50LjwvcD4KKworPGgzPk1lbW9yeSBkZWJ1Z2dpbmc6PC9oMz4KKworPHA+bGFzdCBidXQgbm90IGxlYXN0LCBhbGwgdGVzdHMgc3RhcnRzIHdpdGggdGhlIGZvbGxvd2luZyBwcm9sb2d1ZTo8L3A+Cis8cHJlPiNtZW1vcnkgZGVidWcgc3BlY2lmaWMKK2xpYnhtbDIuZGVidWdNZW1vcnkoMSk8L3ByZT4KKworPHA+YW5kIGVuZHMgd2l0aCB0aGUgZm9sbG93aW5nIGVwaWxvZ3VlOjwvcD4KKzxwcmU+I21lbW9yeSBkZWJ1ZyBzcGVjaWZpYworbGlieG1sMi5jbGVhbnVwUGFyc2VyKCkKK2lmIGxpYnhtbDIuZGVidWdNZW1vcnkoMSkgPT0gMDoKKyAgICBwcmludCAiT0siCitlbHNlOgorICAgIHByaW50ICJNZW1vcnkgbGVhayAlZCBieXRlcyIgJSAobGlieG1sMi5kZWJ1Z01lbW9yeSgxKSkKKyAgICBsaWJ4bWwyLmR1bXBNZW1vcnkoKTwvcHJlPgorCis8cD5UaG9zZSBhY3RpdmF0ZSB0aGUgbWVtb3J5IGRlYnVnZ2luZyBpbnRlcmZhY2Ugb2YgbGlieG1sMiB3aGVyZSBhbGwKK2FsbG9jYXRlZCBibG9jayBpbiB0aGUgbGlicmFyeSBhcmUgdHJhY2tlZC4gVGhlIHByb2xvZ3VlIHRoZW4gY2xlYW5zIHVwIHRoZQorbGlicmFyeSBzdGF0ZSBhbmQgY2hlY2tzIHRoYXQgYWxsIGFsbG9jYXRlZCBtZW1vcnkgaGFzIGJlZW4gZnJlZWQuIElmIG5vdCBpdAorY2FsbHMgZHVtcE1lbW9yeSgpIHdoaWNoIHNhdmVzIHRoYXQgbGlzdCBpbiBhIDxjb2RlPi5tZW1kdW1wPC9jb2RlPiBmaWxlLjwvcD4KKworPGgyPjxhIG5hbWU9ImFyY2hpdGVjdHVyZSI+bGlieG1sMiBhcmNoaXRlY3R1cmU8L2E+PC9oMj4KKworPHA+TGlieG1sMiBpcyBtYWRlIG9mIG11bHRpcGxlIGNvbXBvbmVudHM7IHNvbWUgb2YgdGhlbSBhcmUgb3B0aW9uYWwsIGFuZAorbW9zdCBvZiB0aGUgYmxvY2sgaW50ZXJmYWNlcyBhcmUgcHVibGljLiBUaGUgbWFpbiBjb21wb25lbnRzIGFyZTo8L3A+Cis8dWw+CisgIDxsaT5hbiBJbnB1dC9PdXRwdXQgbGF5ZXI8L2xpPgorICA8bGk+RlRQIGFuZCBIVFRQIGNsaWVudCBsYXllcnMgKG9wdGlvbmFsKTwvbGk+CisgIDxsaT5hbiBJbnRlcm5hdGlvbmFsaXphdGlvbiBsYXllciBtYW5hZ2luZyB0aGUgZW5jb2RpbmdzIHN1cHBvcnQ8L2xpPgorICA8bGk+YSBVUkkgbW9kdWxlPC9saT4KKyAgPGxpPnRoZSBYTUwgcGFyc2VyIGFuZCBpdHMgYmFzaWMgU0FYIGludGVyZmFjZTwvbGk+CisgIDxsaT5hbiBIVE1MIHBhcnNlciB1c2luZyB0aGUgc2FtZSBTQVggaW50ZXJmYWNlIChvcHRpb25hbCk8L2xpPgorICA8bGk+YSBTQVggdHJlZSBtb2R1bGUgdG8gYnVpbGQgYW4gaW4tbWVtb3J5IERPTSByZXByZXNlbnRhdGlvbjwvbGk+CisgIDxsaT5hIHRyZWUgbW9kdWxlIHRvIG1hbmlwdWxhdGUgdGhlIERPTSByZXByZXNlbnRhdGlvbjwvbGk+CisgIDxsaT5hIHZhbGlkYXRpb24gbW9kdWxlIHVzaW5nIHRoZSBET00gcmVwcmVzZW50YXRpb24gKG9wdGlvbmFsKTwvbGk+CisgIDxsaT5hbiBYUGF0aCBtb2R1bGUgZm9yIGdsb2JhbCBsb29rdXAgaW4gYSBET00gcmVwcmVzZW50YXRpb24KKyAgKG9wdGlvbmFsKTwvbGk+CisgIDxsaT5hIGRlYnVnIG1vZHVsZSAob3B0aW9uYWwpPC9saT4KKzwvdWw+CisKKzxwPkdyYXBoaWNhbGx5IHRoaXMgZ2l2ZXMgdGhlIGZvbGxvd2luZzo8L3A+CisKKzxwPjxpbWcgc3JjPSJsaWJ4bWwuZ2lmIiBhbHQ9ImEgZ3JhcGhpY2FsIHZpZXcgb2YgdGhlIHZhcmlvdXMiPjwvcD4KKworPHA+PC9wPgorCis8aDI+PGEgbmFtZT0idHJlZSI+VGhlIHRyZWUgb3V0cHV0PC9hPjwvaDI+CisKKzxwPlRoZSBwYXJzZXIgcmV0dXJucyBhIHRyZWUgYnVpbHQgZHVyaW5nIHRoZSBkb2N1bWVudCBhbmFseXNpcy4gVGhlIHZhbHVlCityZXR1cm5lZCBpcyBhbiA8c3Ryb25nPnhtbERvY1B0cjwvc3Ryb25nPiAoaS5lLiwgYSBwb2ludGVyIHRvIGFuCis8c3Ryb25nPnhtbERvYzwvc3Ryb25nPiBzdHJ1Y3R1cmUpLiBUaGlzIHN0cnVjdHVyZSBjb250YWlucyBpbmZvcm1hdGlvbiBzdWNoCithcyB0aGUgZmlsZSBuYW1lLCB0aGUgZG9jdW1lbnQgdHlwZSwgYW5kIGEgPHN0cm9uZz5jaGlsZHJlbjwvc3Ryb25nPiBwb2ludGVyCit3aGljaCBpcyB0aGUgcm9vdCBvZiB0aGUgZG9jdW1lbnQgKG9yIG1vcmUgZXhhY3RseSB0aGUgZmlyc3QgY2hpbGQgdW5kZXIgdGhlCityb290IHdoaWNoIGlzIHRoZSBkb2N1bWVudCkuIFRoZSB0cmVlIGlzIG1hZGUgb2YgPHN0cm9uZz54bWxOb2RlPC9zdHJvbmc+cywKK2NoYWluZWQgaW4gZG91YmxlLWxpbmtlZCBsaXN0cyBvZiBzaWJsaW5ncyBhbmQgd2l0aCBhIGNoaWxkcmVuJmx0Oy0mZ3Q7cGFyZW50CityZWxhdGlvbnNoaXAuIEFuIHhtbE5vZGUgY2FuIGFsc28gY2FycnkgcHJvcGVydGllcyAoYSBjaGFpbiBvZiB4bWxBdHRyCitzdHJ1Y3R1cmVzKS4gQW4gYXR0cmlidXRlIG1heSBoYXZlIGEgdmFsdWUgd2hpY2ggaXMgYSBsaXN0IG9mIFRFWFQgb3IKK0VOVElUWV9SRUYgbm9kZXMuPC9wPgorCis8cD5IZXJlIGlzIGFuIGV4YW1wbGUgKGVycm9uZW91cyB3aXRoIHJlc3BlY3QgdG8gdGhlIFhNTCBzcGVjIHNpbmNlIHRoZXJlCitzaG91bGQgYmUgb25seSBvbmUgRUxFTUVOVCB1bmRlciB0aGUgcm9vdCk6PC9wPgorCis8cD48aW1nIHNyYz0ic3RydWN0dXJlLmdpZiIgYWx0PSIgc3RydWN0dXJlLmdpZiAiPjwvcD4KKworPHA+SW4gdGhlIHNvdXJjZSBwYWNrYWdlIHRoZXJlIGlzIGEgc21hbGwgcHJvZ3JhbSAobm90IGluc3RhbGxlZCBieSBkZWZhdWx0KQorY2FsbGVkIDxzdHJvbmc+eG1sbGludDwvc3Ryb25nPiB3aGljaCBwYXJzZXMgWE1MIGZpbGVzIGdpdmVuIGFzIGFyZ3VtZW50IGFuZAorcHJpbnRzIHRoZW0gYmFjayBhcyBwYXJzZWQuIFRoaXMgaXMgdXNlZnVsIGZvciBkZXRlY3RpbmcgZXJyb3JzIGJvdGggaW4gWE1MCitjb2RlIGFuZCBpbiB0aGUgWE1MIHBhcnNlciBpdHNlbGYuIEl0IGhhcyBhbiBvcHRpb24gPHN0cm9uZz4tLWRlYnVnPC9zdHJvbmc+Cit3aGljaCBwcmludHMgdGhlIGFjdHVhbCBpbi1tZW1vcnkgc3RydWN0dXJlIG9mIHRoZSBkb2N1bWVudDsgaGVyZSBpcyB0aGUKK3Jlc3VsdCB3aXRoIHRoZSA8YSBocmVmPSIjZXhhbXBsZSI+ZXhhbXBsZTwvYT4gZ2l2ZW4gYmVmb3JlOjwvcD4KKzxwcmU+RE9DVU1FTlQKK3ZlcnNpb249MS4wCitzdGFuZGFsb25lPXRydWUKKyAgRUxFTUVOVCBFWEFNUExFCisgICAgQVRUUklCVVRFIHByb3AxCisgICAgICBURVhUCisgICAgICBjb250ZW50PWdub21lIGlzIGdyZWF0CisgICAgQVRUUklCVVRFIHByb3AyCisgICAgICBFTlRJVFlfUkVGCisgICAgICBURVhUCisgICAgICBjb250ZW50PSBsaW51eCB0b28gCisgICAgRUxFTUVOVCBoZWFkCisgICAgICBFTEVNRU5UIHRpdGxlCisgICAgICAgIFRFWFQKKyAgICAgICAgY29udGVudD1XZWxjb21lIHRvIEdub21lCisgICAgRUxFTUVOVCBjaGFwdGVyCisgICAgICBFTEVNRU5UIHRpdGxlCisgICAgICAgIFRFWFQKKyAgICAgICAgY29udGVudD1UaGUgTGludXggYWR2ZW50dXJlCisgICAgICBFTEVNRU5UIHAKKyAgICAgICAgVEVYVAorICAgICAgICBjb250ZW50PWJsYSBibGEgYmxhIC4uLgorICAgICAgRUxFTUVOVCBpbWFnZQorICAgICAgICBBVFRSSUJVVEUgaHJlZgorICAgICAgICAgIFRFWFQKKyAgICAgICAgICBjb250ZW50PWxpbnVzLmdpZgorICAgICAgRUxFTUVOVCBwCisgICAgICAgIFRFWFQKKyAgICAgICAgY29udGVudD0uLi48L3ByZT4KKworPHA+VGhpcyBzaG91bGQgYmUgdXNlZnVsIGZvciBsZWFybmluZyB0aGUgaW50ZXJuYWwgcmVwcmVzZW50YXRpb24gbW9kZWwuPC9wPgorCis8aDI+PGEgbmFtZT0iaW50ZXJmYWNlIj5UaGUgU0FYIGludGVyZmFjZTwvYT48L2gyPgorCis8cD5Tb21ldGltZXMgdGhlIERPTSB0cmVlIG91dHB1dCBpcyBqdXN0IHRvbyBsYXJnZSB0byBmaXQgcmVhc29uYWJseSBpbnRvCittZW1vcnkuIEluIHRoYXQgY2FzZSAoYW5kIGlmIHlvdSBkb24ndCBleHBlY3QgdG8gc2F2ZSBiYWNrIHRoZSBYTUwgZG9jdW1lbnQKK2xvYWRlZCB1c2luZyBsaWJ4bWwpLCBpdCdzIGJldHRlciB0byB1c2UgdGhlIFNBWCBpbnRlcmZhY2Ugb2YgbGlieG1sLiBTQVggaXMKK2EgPHN0cm9uZz5jYWxsYmFjay1iYXNlZCBpbnRlcmZhY2U8L3N0cm9uZz4gdG8gdGhlIHBhcnNlci4gQmVmb3JlIHBhcnNpbmcsCit0aGUgYXBwbGljYXRpb24gbGF5ZXIgcmVnaXN0ZXJzIGEgY3VzdG9taXplZCBzZXQgb2YgY2FsbGJhY2tzIHdoaWNoIGFyZQorY2FsbGVkIGJ5IHRoZSBsaWJyYXJ5IGFzIGl0IHByb2dyZXNzZXMgdGhyb3VnaCB0aGUgWE1MIGlucHV0LjwvcD4KKworPHA+VG8gZ2V0IG1vcmUgZGV0YWlsZWQgc3RlcC1ieS1zdGVwIGd1aWRhbmNlIG9uIHVzaW5nIHRoZSBTQVggaW50ZXJmYWNlIG9mCitsaWJ4bWwsIHNlZSB0aGUgPGEKK2hyZWY9Imh0dHA6Ly93d3cuamFtZXNoLmlkLmF1L2FydGljbGVzL2xpYnhtbC1zYXgvbGlieG1sLXNheC5odG1sIj5uaWNlCitkb2N1bWVudGF0aW9uPC9hPi53cml0dGVuIGJ5IDxhIGhyZWY9Im1haWx0bzpqYW1lc0BkYWEuY29tLmF1Ij5KYW1lcworSGVuc3RyaWRnZTwvYT4uPC9wPgorCis8cD5Zb3UgY2FuIGRlYnVnIHRoZSBTQVggYmVoYXZpb3VyIGJ5IHVzaW5nIHRoZSA8c3Ryb25nPnRlc3RTQVg8L3N0cm9uZz4KK3Byb2dyYW0gbG9jYXRlZCBpbiB0aGUgZ25vbWUteG1sIG1vZHVsZSAoaXQncyB1c3VhbGx5IG5vdCBzaGlwcGVkIGluIHRoZQorYmluYXJ5IHBhY2thZ2VzIG9mIGxpYnhtbCwgYnV0IHlvdSBjYW4gZmluZCBpdCBpbiB0aGUgdGFyIHNvdXJjZQorZGlzdHJpYnV0aW9uKS4gSGVyZSBpcyB0aGUgc2VxdWVuY2Ugb2YgY2FsbGJhY2tzIHRoYXQgd291bGQgYmUgcmVwb3J0ZWQgYnkKK3Rlc3RTQVggd2hlbiBwYXJzaW5nIHRoZSBleGFtcGxlIFhNTCBkb2N1bWVudCBzaG93biBlYXJsaWVyOjwvcD4KKzxwcmU+U0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguZ2V0RW50aXR5KGFtcCkKK1NBWC5zdGFydEVsZW1lbnQoRVhBTVBMRSwgcHJvcDE9J2dub21lIGlzIGdyZWF0JywgcHJvcDI9JyZhbXA7YW1wOyBsaW51eCB0b28nKQorU0FYLmNoYXJhY3RlcnMoICAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChoZWFkKQorU0FYLmNoYXJhY3RlcnMoICAgICwgNCkKK1NBWC5zdGFydEVsZW1lbnQodGl0bGUpCitTQVguY2hhcmFjdGVycyhXZWxjb21lIHRvIEdub21lLCAxNikKK1NBWC5lbmRFbGVtZW50KHRpdGxlKQorU0FYLmNoYXJhY3RlcnMoICAgLCAzKQorU0FYLmVuZEVsZW1lbnQoaGVhZCkKK1NBWC5jaGFyYWN0ZXJzKCAgICwgMykKK1NBWC5zdGFydEVsZW1lbnQoY2hhcHRlcikKK1NBWC5jaGFyYWN0ZXJzKCAgICAsIDQpCitTQVguc3RhcnRFbGVtZW50KHRpdGxlKQorU0FYLmNoYXJhY3RlcnMoVGhlIExpbnV4IGFkdmVudHVyZSwgMTkpCitTQVguZW5kRWxlbWVudCh0aXRsZSkKK1NBWC5jaGFyYWN0ZXJzKCAgICAsIDQpCitTQVguc3RhcnRFbGVtZW50KHApCitTQVguY2hhcmFjdGVycyhibGEgYmxhIGJsYSAuLi4sIDE1KQorU0FYLmVuZEVsZW1lbnQocCkKK1NBWC5jaGFyYWN0ZXJzKCAgICAsIDQpCitTQVguc3RhcnRFbGVtZW50KGltYWdlLCBocmVmPSdsaW51cy5naWYnKQorU0FYLmVuZEVsZW1lbnQoaW1hZ2UpCitTQVguY2hhcmFjdGVycyggICAgLCA0KQorU0FYLnN0YXJ0RWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoLi4uLCAzKQorU0FYLmVuZEVsZW1lbnQocCkKK1NBWC5jaGFyYWN0ZXJzKCAgICwgMykKK1NBWC5lbmRFbGVtZW50KGNoYXB0ZXIpCitTQVguY2hhcmFjdGVycyggLCAxKQorU0FYLmVuZEVsZW1lbnQoRVhBTVBMRSkKK1NBWC5lbmREb2N1bWVudCgpPC9wcmU+CisKKzxwPk1vc3Qgb2YgdGhlIG90aGVyIGludGVyZmFjZXMgb2YgbGlieG1sMiBhcmUgYmFzZWQgb24gdGhlIERPTSB0cmVlLWJ1aWxkaW5nCitmYWNpbGl0eSwgc28gbmVhcmx5IGV2ZXJ5dGhpbmcgdXAgdG8gdGhlIGVuZCBvZiB0aGlzIGRvY3VtZW50IHByZXN1cHBvc2VzIHRoZQordXNlIG9mIHRoZSBzdGFuZGFyZCBET00gdHJlZSBidWlsZC4gTm90ZSB0aGF0IHRoZSBET00gdHJlZSBpdHNlbGYgaXMgYnVpbHQgYnkKK2Egc2V0IG9mIHJlZ2lzdGVyZWQgZGVmYXVsdCBjYWxsYmFja3MsIHdpdGhvdXQgaW50ZXJuYWwgc3BlY2lmaWMKK2ludGVyZmFjZS48L3A+CisKKzxoMj48YSBuYW1lPSJWYWxpZGF0aW9uIj5WYWxpZGF0aW9uICZhbXA7IERURHM8L2E+PC9oMj4KKworPHA+VGFibGUgb2YgQ29udGVudDo8L3A+Cis8b2w+CisgIDxsaT48YSBocmVmPSIjR2VuZXJhbDUiPkdlbmVyYWwgb3ZlcnZpZXc8L2E+PC9saT4KKyAgPGxpPjxhIGhyZWY9IiNkZWZpbml0aW9uIj5UaGUgZGVmaW5pdGlvbjwvYT48L2xpPgorICA8bGk+PGEgaHJlZj0iI1NpbXBsZSI+U2ltcGxlIHJ1bGVzPC9hPgorICAgIDxvbD4KKyAgICAgIDxsaT48YSBocmVmPSIjcmVmZXJlbmNlIj5Ib3cgdG8gcmVmZXJlbmNlIGEgRFREIGZyb20gYSBkb2N1bWVudDwvYT48L2xpPgorICAgICAgPGxpPjxhIGhyZWY9IiNEZWNsYXJpbmciPkRlY2xhcmluZyBlbGVtZW50czwvYT48L2xpPgorICAgICAgPGxpPjxhIGhyZWY9IiNEZWNsYXJpbmcxIj5EZWNsYXJpbmcgYXR0cmlidXRlczwvYT48L2xpPgorICAgIDwvb2w+CisgIDwvbGk+CisgIDxsaT48YSBocmVmPSIjU29tZSI+U29tZSBleGFtcGxlczwvYT48L2xpPgorICA8bGk+PGEgaHJlZj0iI3ZhbGlkYXRlIj5Ib3cgdG8gdmFsaWRhdGU8L2E+PC9saT4KKyAgPGxpPjxhIGhyZWY9IiNPdGhlciI+T3RoZXIgcmVzb3VyY2VzPC9hPjwvbGk+Cis8L29sPgorCis8aDM+PGEgbmFtZT0iR2VuZXJhbDUiPkdlbmVyYWwgb3ZlcnZpZXc8L2E+PC9oMz4KKworPHA+V2VsbCB3aGF0IGlzIHZhbGlkYXRpb24gYW5kIHdoYXQgaXMgYSBEVEQgPzwvcD4KKworPHA+RFREIGlzIHRoZSBhY3JvbnltIGZvciBEb2N1bWVudCBUeXBlIERlZmluaXRpb24uIFRoaXMgaXMgYSBkZXNjcmlwdGlvbiBvZgordGhlIGNvbnRlbnQgZm9yIGEgZmFtaWx5IG9mIFhNTCBmaWxlcy4gVGhpcyBpcyBwYXJ0IG9mIHRoZSBYTUwgMS4wCitzcGVjaWZpY2F0aW9uLCBhbmQgYWxsb3dzIG9uZSB0byBkZXNjcmliZSBhbmQgdmVyaWZ5IHRoYXQgYSBnaXZlbiBkb2N1bWVudAoraW5zdGFuY2UgY29uZm9ybXMgdG8gdGhlIHNldCBvZiBydWxlcyBkZXRhaWxpbmcgaXRzIHN0cnVjdHVyZSBhbmQgY29udGVudC48L3A+CisKKzxwPlZhbGlkYXRpb24gaXMgdGhlIHByb2Nlc3Mgb2YgY2hlY2tpbmcgYSBkb2N1bWVudCBhZ2FpbnN0IGEgRFREIChtb3JlCitnZW5lcmFsbHkgYWdhaW5zdCBhIHNldCBvZiBjb25zdHJ1Y3Rpb24gcnVsZXMpLjwvcD4KKworPHA+VGhlIHZhbGlkYXRpb24gcHJvY2VzcyBhbmQgYnVpbGRpbmcgRFREcyBhcmUgdGhlIHR3byBtb3N0IGRpZmZpY3VsdCBwYXJ0cworb2YgdGhlIFhNTCBsaWZlIGN5Y2xlLiBCcmllZmx5IGEgRFREIGRlZmluZXMgYWxsIHRoZSBwb3NzaWJsZSBlbGVtZW50cyB0byBiZQorZm91bmQgd2l0aGluIHlvdXIgZG9jdW1lbnQsIHdoYXQgaXMgdGhlIGZvcm1hbCBzaGFwZSBvZiB5b3VyIGRvY3VtZW50IHRyZWUKKyhieSBkZWZpbmluZyB0aGUgYWxsb3dlZCBjb250ZW50IG9mIGFuIGVsZW1lbnQ7IGVpdGhlciB0ZXh0LCBhIHJlZ3VsYXIKK2V4cHJlc3Npb24gZm9yIHRoZSBhbGxvd2VkIGxpc3Qgb2YgY2hpbGRyZW4sIG9yIG1peGVkIGNvbnRlbnQgaS5lLiBib3RoIHRleHQKK2FuZCBjaGlsZHJlbikuIFRoZSBEVEQgYWxzbyBkZWZpbmVzIHRoZSB2YWxpZCBhdHRyaWJ1dGVzIGZvciBhbGwgZWxlbWVudHMgYW5kCit0aGUgdHlwZXMgb2YgdGhvc2UgYXR0cmlidXRlcy48L3A+CisKKzxoMz48YSBuYW1lPSJkZWZpbml0aW9uMSI+VGhlIGRlZmluaXRpb248L2E+PC9oMz4KKworPHA+VGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy14bWwiPlczQyBYTUwgUmVjb21tZW5kYXRpb248L2E+ICg8YQoraHJlZj0iaHR0cDovL3d3dy54bWwuY29tL2F4bWwvYXhtbC5odG1sIj5UaW0gQnJheSdzIGFubm90YXRlZCB2ZXJzaW9uIG9mCitSZXYxPC9hPik6PC9wPgorPHVsPgorICA8bGk+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLXhtbCNlbGVtZGVjbHMiPkRlY2xhcmluZworICBlbGVtZW50czwvYT48L2xpPgorICA8bGk+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLXhtbCNhdHRkZWNscyI+RGVjbGFyaW5nCisgIGF0dHJpYnV0ZXM8L2E+PC9saT4KKzwvdWw+CisKKzxwPih1bmZvcnR1bmF0ZWx5KSBhbGwgdGhpcyBpcyBpbmhlcml0ZWQgZnJvbSB0aGUgU0dNTCB3b3JsZCwgdGhlIHN5bnRheCBpcworYW5jaWVudC4uLjwvcD4KKworPGgzPjxhIG5hbWU9IlNpbXBsZTEiPlNpbXBsZSBydWxlczwvYT48L2gzPgorCis8cD5Xcml0aW5nIERURHMgY2FuIGJlIGRvbmUgaW4gbWFueSB3YXlzLiBUaGUgcnVsZXMgdG8gYnVpbGQgdGhlbSBpZiB5b3UgbmVlZAorc29tZXRoaW5nIHBlcm1hbmVudCBvciBzb21ldGhpbmcgd2hpY2ggY2FuIGV2b2x2ZSBvdmVyIHRpbWUgY2FuIGJlIHJhZGljYWxseQorZGlmZmVyZW50LiBSZWFsbHkgY29tcGxleCBEVERzIGxpa2UgRG9jQm9vayBvbmVzIGFyZSBmbGV4aWJsZSBidXQgcXVpdGUKK2hhcmRlciB0byBkZXNpZ24uIEkgd2lsbCBqdXN0IGZvY3VzIG9uIERURHMgZm9yIGEgZm9ybWF0cyB3aXRoIGEgZml4ZWQgc2ltcGxlCitzdHJ1Y3R1cmUuIEl0IGlzIGp1c3QgYSBzZXQgb2YgYmFzaWMgcnVsZXMsIGFuZCBkZWZpbml0ZWx5IG5vdCBleGhhdXN0aXZlIG5vcgordXNhYmxlIGZvciBjb21wbGV4IERURCBkZXNpZ24uPC9wPgorCis8aDQ+PGEgbmFtZT0icmVmZXJlbmNlMSI+SG93IHRvIHJlZmVyZW5jZSBhIERURCBmcm9tIGEgZG9jdW1lbnQ8L2E+OjwvaDQ+CisKKzxwPkFzc3VtaW5nIHRoZSB0b3AgZWxlbWVudCBvZiB0aGUgZG9jdW1lbnQgaXMgPGNvZGU+c3BlYzwvY29kZT4gYW5kIHRoZSBkdGQKK2lzIHBsYWNlZCBpbiB0aGUgZmlsZSA8Y29kZT5teWR0ZDwvY29kZT4gaW4gdGhlIHN1YmRpcmVjdG9yeQorPGNvZGU+ZHRkczwvY29kZT4gb2YgdGhlIGRpcmVjdG9yeSBmcm9tIHdoZXJlIHRoZSBkb2N1bWVudCB3ZXJlIGxvYWRlZDo8L3A+CisKKzxwPjxjb2RlPiZsdDshRE9DVFlQRSBzcGVjIFNZU1RFTSAiZHRkcy9teWR0ZCImZ3Q7PC9jb2RlPjwvcD4KKworPHA+Tm90ZXM6PC9wPgorPHVsPgorICA8bGk+VGhlIHN5c3RlbSBzdHJpbmcgaXMgYWN0dWFsbHkgYW4gVVJJLVJlZmVyZW5jZSAoYXMgZGVmaW5lZCBpbiA8YQorICAgIGhyZWY9Imh0dHA6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzIzOTYudHh0Ij5SRkMgMjM5NjwvYT4pIHNvIHlvdSBjYW4gdXNlIGEKKyAgICBmdWxsIFVSTCBzdHJpbmcgaW5kaWNhdGluZyB0aGUgbG9jYXRpb24gb2YgeW91ciBEVEQgb24gdGhlIFdlYi4gVGhpcyBpcyBhCisgICAgcmVhbGx5IGdvb2QgdGhpbmcgdG8gZG8gaWYgeW91IHdhbnQgb3RoZXJzIHRvIHZhbGlkYXRlIHlvdXIgZG9jdW1lbnQuPC9saT4KKyAgPGxpPkl0IGlzIGFsc28gcG9zc2libGUgdG8gYXNzb2NpYXRlIGEgPGNvZGU+UFVCTElDPC9jb2RlPiBpZGVudGlmaWVyIChhCisgICAgbWFnaWMgc3RyaW5nKSBzbyB0aGF0IHRoZSBEVEQgaXMgbG9va2VkIHVwIGluIGNhdGFsb2dzIG9uIHRoZSBjbGllbnQgc2lkZQorICAgIHdpdGhvdXQgaGF2aW5nIHRvIGxvY2F0ZSBpdCBvbiB0aGUgd2ViLjwvbGk+CisgIDxsaT5BIERURCBjb250YWlucyBhIHNldCBvZiBlbGVtZW50IGFuZCBhdHRyaWJ1dGUgZGVjbGFyYXRpb25zLCBidXQgdGhleQorICAgIGRvbid0IGRlZmluZSB3aGF0IHRoZSByb290IG9mIHRoZSBkb2N1bWVudCBzaG91bGQgYmUuIFRoaXMgaXMgZXhwbGljaXRseQorICAgIHRvbGQgdG8gdGhlIHBhcnNlci92YWxpZGF0b3IgYXMgdGhlIGZpcnN0IGVsZW1lbnQgb2YgdGhlCisgICAgPGNvZGU+RE9DVFlQRTwvY29kZT4gZGVjbGFyYXRpb24uPC9saT4KKzwvdWw+CisKKzxoND48YSBuYW1lPSJEZWNsYXJpbmcyIj5EZWNsYXJpbmcgZWxlbWVudHM8L2E+OjwvaDQ+CisKKzxwPlRoZSBmb2xsb3dpbmcgZGVjbGFyZXMgYW4gZWxlbWVudCA8Y29kZT5zcGVjPC9jb2RlPjo8L3A+CisKKzxwPjxjb2RlPiZsdDshRUxFTUVOVCBzcGVjIChmcm9udCwgYm9keSwgYmFjaz8pJmd0OzwvY29kZT48L3A+CisKKzxwPkl0IGFsc28gZXhwcmVzc2VzIHRoYXQgdGhlIHNwZWMgZWxlbWVudCBjb250YWlucyBvbmUgPGNvZGU+ZnJvbnQ8L2NvZGU+LAorb25lIDxjb2RlPmJvZHk8L2NvZGU+IGFuZCBvbmUgb3B0aW9uYWwgPGNvZGU+YmFjazwvY29kZT4gY2hpbGRyZW4gZWxlbWVudHMgaW4KK3RoaXMgb3JkZXIuIFRoZSBkZWNsYXJhdGlvbiBvZiBvbmUgZWxlbWVudCBvZiB0aGUgc3RydWN0dXJlIGFuZCBpdHMgY29udGVudAorYXJlIGRvbmUgaW4gYSBzaW5nbGUgZGVjbGFyYXRpb24uIFNpbWlsYXJseSB0aGUgZm9sbG93aW5nIGRlY2xhcmVzCis8Y29kZT5kaXYxPC9jb2RlPiBlbGVtZW50czo8L3A+CisKKzxwPjxjb2RlPiZsdDshRUxFTUVOVCBkaXYxIChoZWFkLCAocCB8IGxpc3QgfCBub3RlKSosIGRpdjI/KSZndDs8L2NvZGU+PC9wPgorCis8cD53aGljaCBtZWFucyBkaXYxIGNvbnRhaW5zIG9uZSA8Y29kZT5oZWFkPC9jb2RlPiB0aGVuIGEgc2VyaWVzIG9mIG9wdGlvbmFsCis8Y29kZT5wPC9jb2RlPiwgPGNvZGU+bGlzdDwvY29kZT5zIGFuZCA8Y29kZT5ub3RlPC9jb2RlPnMgYW5kIHRoZW4gYW4KK29wdGlvbmFsIDxjb2RlPmRpdjI8L2NvZGU+LiBBbmQgbGFzdCBidXQgbm90IGxlYXN0IGFuIGVsZW1lbnQgY2FuIGNvbnRhaW4KK3RleHQ6PC9wPgorCis8cD48Y29kZT4mbHQ7IUVMRU1FTlQgYiAoI1BDREFUQSkmZ3Q7PC9jb2RlPjwvcD4KKworPHA+PGNvZGU+YjwvY29kZT4gY29udGFpbnMgdGV4dCBvciBiZWluZyBvZiBtaXhlZCBjb250ZW50ICh0ZXh0IGFuZCBlbGVtZW50cworaW4gbm8gcGFydGljdWxhciBvcmRlcik6PC9wPgorCis8cD48Y29kZT4mbHQ7IUVMRU1FTlQgcCAoI1BDREFUQXxhfHVsfGJ8aXxlbSkqJmd0OzwvY29kZT48L3A+CisKKzxwPjxjb2RlPnAgPC9jb2RlPmNhbiBjb250YWluIHRleHQgb3IgPGNvZGU+YTwvY29kZT4sIDxjb2RlPnVsPC9jb2RlPiwKKzxjb2RlPmI8L2NvZGU+LCA8Y29kZT5pIDwvY29kZT5vciA8Y29kZT5lbTwvY29kZT4gZWxlbWVudHMgaW4gbm8gcGFydGljdWxhcgorb3JkZXIuPC9wPgorCis8aDQ+PGEgbmFtZT0iRGVjbGFyaW5nMSI+RGVjbGFyaW5nIGF0dHJpYnV0ZXM8L2E+OjwvaDQ+CisKKzxwPkFnYWluIHRoZSBhdHRyaWJ1dGVzIGRlY2xhcmF0aW9uIGluY2x1ZGVzIHRoZWlyIGNvbnRlbnQgZGVmaW5pdGlvbjo8L3A+CisKKzxwPjxjb2RlPiZsdDshQVRUTElTVCB0ZXJtZGVmIG5hbWUgQ0RBVEEgI0lNUExJRUQmZ3Q7PC9jb2RlPjwvcD4KKworPHA+bWVhbnMgdGhhdCB0aGUgZWxlbWVudCA8Y29kZT50ZXJtZGVmPC9jb2RlPiBjYW4gaGF2ZSBhIDxjb2RlPm5hbWU8L2NvZGU+CithdHRyaWJ1dGUgY29udGFpbmluZyB0ZXh0ICg8Y29kZT5DREFUQTwvY29kZT4pIGFuZCB3aGljaCBpcyBvcHRpb25hbAorKDxjb2RlPiNJTVBMSUVEPC9jb2RlPikuIFRoZSBhdHRyaWJ1dGUgdmFsdWUgY2FuIGFsc28gYmUgZGVmaW5lZCB3aXRoaW4gYQorc2V0OjwvcD4KKworPHA+PGNvZGU+Jmx0OyFBVFRMSVNUIGxpc3QgdHlwZSAoYnVsbGV0c3xvcmRlcmVkfGdsb3NzYXJ5KQorIm9yZGVyZWQiJmd0OzwvY29kZT48L3A+CisKKzxwPm1lYW5zIDxjb2RlPmxpc3Q8L2NvZGU+IGVsZW1lbnQgaGF2ZSBhIDxjb2RlPnR5cGU8L2NvZGU+IGF0dHJpYnV0ZSB3aXRoIDMKK2FsbG93ZWQgdmFsdWVzICJidWxsZXRzIiwgIm9yZGVyZWQiIG9yICJnbG9zc2FyeSIgYW5kIHdoaWNoIGRlZmF1bHQgdG8KKyJvcmRlcmVkIiBpZiB0aGUgYXR0cmlidXRlIGlzIG5vdCBleHBsaWNpdGx5IHNwZWNpZmllZC48L3A+CisKKzxwPlRoZSBjb250ZW50IHR5cGUgb2YgYW4gYXR0cmlidXRlIGNhbiBiZSB0ZXh0ICg8Y29kZT5DREFUQTwvY29kZT4pLAorYW5jaG9yL3JlZmVyZW5jZS9yZWZlcmVuY2VzCisoPGNvZGU+SUQ8L2NvZGU+Lzxjb2RlPklEUkVGPC9jb2RlPi88Y29kZT5JRFJFRlM8L2NvZGU+KSwgZW50aXR5KGllcykKKyg8Y29kZT5FTlRJVFk8L2NvZGU+Lzxjb2RlPkVOVElUSUVTPC9jb2RlPikgb3IgbmFtZShzKQorKDxjb2RlPk5NVE9LRU48L2NvZGU+Lzxjb2RlPk5NVE9LRU5TPC9jb2RlPikuIFRoZSBmb2xsb3dpbmcgZGVmaW5lcyB0aGF0IGEKKzxjb2RlPmNoYXB0ZXI8L2NvZGU+IGVsZW1lbnQgY2FuIGhhdmUgYW4gb3B0aW9uYWwgPGNvZGU+aWQ8L2NvZGU+IGF0dHJpYnV0ZQorb2YgdHlwZSA8Y29kZT5JRDwvY29kZT4sIHVzYWJsZSBmb3IgcmVmZXJlbmNlIGZyb20gYXR0cmlidXRlIG9mIHR5cGUKK0lEUkVGOjwvcD4KKworPHA+PGNvZGU+Jmx0OyFBVFRMSVNUIGNoYXB0ZXIgaWQgSUQgI0lNUExJRUQmZ3Q7PC9jb2RlPjwvcD4KKworPHA+VGhlIGxhc3QgdmFsdWUgb2YgYW4gYXR0cmlidXRlIGRlZmluaXRpb24gY2FuIGJlIDxjb2RlPiNSRVFVSVJFRAorPC9jb2RlPm1lYW5pbmcgdGhhdCB0aGUgYXR0cmlidXRlIGhhcyB0byBiZSBnaXZlbiwgPGNvZGU+I0lNUExJRUQ8L2NvZGU+CittZWFuaW5nIHRoYXQgaXQgaXMgb3B0aW9uYWwsIG9yIHRoZSBkZWZhdWx0IHZhbHVlIChwb3NzaWJseSBwcmVmaXhlZCBieQorPGNvZGU+I0ZJWEVEPC9jb2RlPiBpZiBpdCBpcyB0aGUgb25seSBhbGxvd2VkKS48L3A+CisKKzxwPk5vdGVzOjwvcD4KKzx1bD4KKyAgPGxpPlVzdWFsbHkgdGhlIGF0dHJpYnV0ZXMgcGVydGFpbmluZyB0byBhIGdpdmVuIGVsZW1lbnQgYXJlIGRlY2xhcmVkIGluIGEKKyAgICBzaW5nbGUgZXhwcmVzc2lvbiwgYnV0IGl0IGlzIGp1c3QgYSBjb252ZW50aW9uIGFkb3B0ZWQgYnkgYSBsb3Qgb2YgRFRECisgICAgd3JpdGVyczoKKyAgICA8cHJlPiZsdDshQVRUTElTVCB0ZXJtZGVmCisgICAgICAgICAgaWQgICAgICBJRCAgICAgICNSRVFVSVJFRAorICAgICAgICAgIG5hbWUgICAgQ0RBVEEgICAjSU1QTElFRCZndDs8L3ByZT4KKyAgICA8cD5UaGUgcHJldmlvdXMgY29uc3RydWN0IGRlZmluZXMgYm90aCA8Y29kZT5pZDwvY29kZT4gYW5kCisgICAgPGNvZGU+bmFtZTwvY29kZT4gYXR0cmlidXRlcyBmb3IgdGhlIGVsZW1lbnQgPGNvZGU+dGVybWRlZjwvY29kZT4uPC9wPgorICA8L2xpPgorPC91bD4KKworPGgzPjxhIG5hbWU9IlNvbWUxIj5Tb21lIGV4YW1wbGVzPC9hPjwvaDM+CisKKzxwPlRoZSBkaXJlY3RvcnkgPGNvZGU+dGVzdC92YWxpZC9kdGRzLzwvY29kZT4gaW4gdGhlIGxpYnhtbDIgZGlzdHJpYnV0aW9uCitjb250YWlucyBzb21lIGNvbXBsZXggRFREIGV4YW1wbGVzLiBUaGUgZXhhbXBsZSBpbiB0aGUgZmlsZQorPGNvZGU+dGVzdC92YWxpZC9kaWEueG1sPC9jb2RlPiBzaG93cyBhbiBYTUwgZmlsZSB3aGVyZSB0aGUgc2ltcGxlIERURCBpcworZGlyZWN0bHkgaW5jbHVkZWQgd2l0aGluIHRoZSBkb2N1bWVudC48L3A+CisKKzxoMz48YSBuYW1lPSJ2YWxpZGF0ZTEiPkhvdyB0byB2YWxpZGF0ZTwvYT48L2gzPgorCis8cD5UaGUgc2ltcGxlc3Qgd2F5IGlzIHRvIHVzZSB0aGUgeG1sbGludCBwcm9ncmFtIGluY2x1ZGVkIHdpdGggbGlieG1sLiBUaGUKKzxjb2RlPi0tdmFsaWQ8L2NvZGU+IG9wdGlvbiB0dXJucy1vbiB2YWxpZGF0aW9uIG9mIHRoZSBmaWxlcyBnaXZlbiBhcyBpbnB1dC4KK0ZvciBleGFtcGxlIHRoZSBmb2xsb3dpbmcgdmFsaWRhdGVzIGEgY29weSBvZiB0aGUgZmlyc3QgcmV2aXNpb24gb2YgdGhlIFhNTAorMS4wIHNwZWNpZmljYXRpb246PC9wPgorCis8cD48Y29kZT54bWxsaW50IC0tdmFsaWQgLS1ub291dCB0ZXN0L3ZhbGlkL1JFQy14bWwtMTk5ODAyMTAueG1sPC9jb2RlPjwvcD4KKworPHA+dGhlIC0tIG5vb3V0IGlzIHVzZWQgdG8gZGlzYWJsZSBvdXRwdXQgb2YgdGhlIHJlc3VsdGluZyB0cmVlLjwvcD4KKworPHA+VGhlIDxjb2RlPi0tZHRkdmFsaWQgZHRkPC9jb2RlPiBhbGxvd3MgdmFsaWRhdGlvbiBvZiB0aGUgZG9jdW1lbnQocykKK2FnYWluc3QgYSBnaXZlbiBEVEQuPC9wPgorCis8cD5MaWJ4bWwyIGV4cG9ydHMgYW4gQVBJIHRvIGhhbmRsZSBEVERzIGFuZCB2YWxpZGF0aW9uLCBjaGVjayB0aGUgPGEKK2hyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9odG1sL2xpYnhtbC12YWxpZC5odG1sIj5hc3NvY2lhdGVkCitkZXNjcmlwdGlvbjwvYT4uPC9wPgorCis8aDM+PGEgbmFtZT0iT3RoZXIxIj5PdGhlciByZXNvdXJjZXM8L2E+PC9oMz4KKworPHA+RFREcyBhcmUgYXMgb2xkIGFzIFNHTUwuIFNvIHRoZXJlIG1heSBiZSBhIG51bWJlciBvZiBleGFtcGxlcyBvbi1saW5lLCBJCit3aWxsIGp1c3QgbGlzdCBvbmUgZm9yIG5vdywgb3RoZXJzIHBvaW50ZXJzIHdlbGNvbWU6PC9wPgorPHVsPgorICA8bGk+PGEgaHJlZj0iaHR0cDovL3d3dy54bWwxMDEuY29tOjgwODEvZHRkLyI+WE1MLTEwMSBEVEQ8L2E+PC9saT4KKzwvdWw+CisKKzxwPkkgc3VnZ2VzdCBsb29raW5nIGF0IHRoZSBleGFtcGxlcyBmb3VuZCB1bmRlciB0ZXN0L3ZhbGlkL2R0ZCBhbmQgYW55IG9mCit0aGUgbGFyZ2UgbnVtYmVyIG9mIGJvb2tzIGF2YWlsYWJsZSBvbiBYTUwuIFRoZSBkaWEgZXhhbXBsZSBpbiB0ZXN0L3ZhbGlkCitzaG91bGQgYmUgYm90aCBzaW1wbGUgYW5kIGNvbXBsZXRlIGVub3VnaCB0byBhbGxvdyB5b3UgdG8gYnVpbGQgeW91ciBvd24uPC9wPgorCis8cD48L3A+CisKKzxoMj48YSBuYW1lPSJNZW1vcnkiPk1lbW9yeSBNYW5hZ2VtZW50PC9hPjwvaDI+CisKKzxwPlRhYmxlIG9mIENvbnRlbnQ6PC9wPgorPG9sPgorICA8bGk+PGEgaHJlZj0iI0dlbmVyYWwzIj5HZW5lcmFsIG92ZXJ2aWV3PC9hPjwvbGk+CisgIDxsaT48YSBocmVmPSIjc2V0dGluZyI+U2V0dGluZyBsaWJ4bWwyIHNldCBvZiBtZW1vcnkgcm91dGluZXM8L2E+PC9saT4KKyAgPGxpPjxhIGhyZWY9IiNjbGVhbnVwIj5DbGVhbmluZyB1cCBhZnRlciB1c2luZyB0aGUgbGlicmFyeTwvYT48L2xpPgorICA8bGk+PGEgaHJlZj0iI0RlYnVnZ2luZyI+RGVidWdnaW5nIHJvdXRpbmVzPC9hPjwvbGk+CisgIDxsaT48YSBocmVmPSIjR2VuZXJhbDQiPkdlbmVyYWwgbWVtb3J5IHJlcXVpcmVtZW50czwvYT48L2xpPgorICA8bGk+PGEgaHJlZj0iI0NvbXBhY3RpbmciPlJldHVybmluZyBtZW1vcnkgdG8gdGhlIGtlcm5lbDwvYT48L2xpPgorPC9vbD4KKworPGgzPjxhIG5hbWU9IkdlbmVyYWwzIj5HZW5lcmFsIG92ZXJ2aWV3PC9hPjwvaDM+CisKKzxwPlRoZSBtb2R1bGUgPGNvZGU+PGEKK2hyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9odG1sL2xpYnhtbC14bWxtZW1vcnkuaHRtbCI+eG1sbWVtb3J5Lmg8L2E+PC9jb2RlPgorcHJvdmlkZXMgdGhlIGludGVyZmFjZXMgdG8gdGhlIGxpYnhtbDIgbWVtb3J5IHN5c3RlbTo8L3A+Cis8dWw+CisgIDxsaT5saWJ4bWwyIGRvZXMgbm90IHVzZSB0aGUgbGliYyBtZW1vcnkgYWxsb2NhdG9yIGRpcmVjdGx5IGJ1dCB4bWxGcmVlKCksCisgICAgeG1sTWFsbG9jKCkgYW5kIHhtbFJlYWxsb2MoKTwvbGk+CisgIDxsaT50aG9zZSByb3V0aW5lcyBjYW4gYmUgcmVhbGxvY2F0ZWQgdG8gYSBzcGVjaWZpYyBzZXQgb2Ygcm91dGluZSwgYnkKKyAgICBkZWZhdWx0IHRoZSBsaWJjIG9uZXMgaS5lLiBmcmVlKCksIG1hbGxvYygpIGFuZCByZWFsbG9jKCk8L2xpPgorICA8bGk+dGhlIHhtbG1lbW9yeS5jIG1vZHVsZSBpbmNsdWRlcyBhIHNldCBvZiBkZWJ1Z2dpbmcgcm91dGluZTwvbGk+Cis8L3VsPgorCis8aDM+PGEgbmFtZT0ic2V0dGluZyI+U2V0dGluZyBsaWJ4bWwyIHNldCBvZiBtZW1vcnkgcm91dGluZXM8L2E+PC9oMz4KKworPHA+SXQgaXMgc29tZXRpbWVzIHVzZWZ1bCB0byBub3QgdXNlIHRoZSBkZWZhdWx0IG1lbW9yeSBhbGxvY2F0b3IsIGVpdGhlciBmb3IKK2RlYnVnZ2luZywgYW5hbHlzaXMgb3IgdG8gaW1wbGVtZW50IGEgc3BlY2lmaWMgYmVoYXZpb3VyIG9uIG1lbW9yeSBtYW5hZ2VtZW50CisobGlrZSBvbiBlbWJlZGRlZCBzeXN0ZW1zKS4gVHdvIGZ1bmN0aW9uIGNhbGxzIGFyZSBhdmFpbGFibGUgdG8gZG8gc286PC9wPgorPHVsPgorICA8bGk+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnL2h0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sIj54bWxNZW1HZXQKKyAgICAoKTwvYT4gd2hpY2ggcmV0dXJuIHRoZSBjdXJyZW50IHNldCBvZiBmdW5jdGlvbnMgaW4gdXNlIGJ5IHRoZSBwYXJzZXI8L2xpPgorICA8bGk+PGEKKyAgICBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwiPnhtbE1lbVNldHVwKCk8L2E+CisgICAgd2hpY2ggYWxsb3cgdG8gc2V0IHVwIGEgbmV3IHNldCBvZiBtZW1vcnkgYWxsb2NhdGlvbiBmdW5jdGlvbnM8L2xpPgorPC91bD4KKworPHA+T2YgY291cnNlIGEgY2FsbCB0byB4bWxNZW1TZXR1cCgpIHNob3VsZCBwcm9iYWJseSBiZSBkb25lIGJlZm9yZSBjYWxsaW5nCithbnkgb3RoZXIgbGlieG1sMiByb3V0aW5lcyAodW5sZXNzIHlvdSBhcmUgc3VyZSB5b3VyIGFsbG9jYXRpb25zIHJvdXRpbmVzIGFyZQorY29tcGF0aWJsZXMpLjwvcD4KKworPGgzPjxhIG5hbWU9ImNsZWFudXAiPkNsZWFuaW5nIHVwIGFmdGVyIHVzaW5nIHRoZSBsaWJyYXJ5PC9hPjwvaDM+CisKKzxwPkxpYnhtbDIgaXMgbm90IHN0YXRlbGVzcywgdGhlcmUgaXMgYSBmZXcgc2V0IG9mIG1lbW9yeSBzdHJ1Y3R1cmVzIG5lZWRpbmcKK2FsbG9jYXRpb24gYmVmb3JlIHRoZSBwYXJzZXIgaXMgZnVsbHkgZnVuY3Rpb25hbCAoc29tZSBlbmNvZGluZyBzdHJ1Y3R1cmVzCitmb3IgZXhhbXBsZSkuIFRoaXMgYWxzbyBtZWFuIHRoYXQgb25jZSBwYXJzaW5nIGlzIGZpbmlzaGVkIHRoZXJlIGlzIGEgdGlueQorYW1vdW50IG9mIG1lbW9yeSAoYSBmZXcgaHVuZHJlZCBieXRlcykgd2hpY2ggY2FuIGJlIHJlY29sbGVjdGVkIGlmIHlvdSBkb24ndAorcmV1c2UgdGhlIGxpYnJhcnkgb3IgYW55IGRvY3VtZW50IGJ1aWx0IHdpdGggaXQ6PC9wPgorPHVsPgorICA8bGk+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnL2h0bWwvbGlieG1sLXBhcnNlci5odG1sIj54bWxDbGVhbnVwUGFyc2VyCisgICAgKCk8L2E+IGlzIGEgY2VudHJhbGl6ZWQgcm91dGluZSB0byBmcmVlIHRoZSBsaWJyYXJ5IHN0YXRlIGFuZCBkYXRhLiBOb3RlCisgICAgdGhhdCBpdCB3b24ndCBkZWFsbG9jYXRlIGFueSBwcm9kdWNlZCB0cmVlIGlmIGFueSAodXNlIHRoZSB4bWxGcmVlRG9jKCkKKyAgICBhbmQgcmVsYXRlZCByb3V0aW5lcyBmb3IgdGhpcykuIFRoaXMgc2hvdWxkIGJlIGNhbGxlZCBvbmx5IHdoZW4gdGhlIGxpYnJhcnkKKyAgICBpcyBub3QgdXNlZCBhbnltb3JlLjwvbGk+CisgIDxsaT48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwiPnhtbEluaXRQYXJzZXIKKyAgICAoKTwvYT4gaXMgdGhlIGR1YWwgcm91dGluZSBhbGxvd2luZyB0byBwcmVhbGxvY2F0ZSB0aGUgcGFyc2luZyBzdGF0ZQorICAgIHdoaWNoIGNhbiBiZSB1c2VmdWwgZm9yIGV4YW1wbGUgdG8gYXZvaWQgaW5pdGlhbGl6YXRpb24gcmVlbnRyYW5jeQorICAgIHByb2JsZW1zIHdoZW4gdXNpbmcgbGlieG1sMiBpbiBtdWx0aXRocmVhZGVkIGFwcGxpY2F0aW9uczwvbGk+Cis8L3VsPgorCis8cD5HZW5lcmFsbHkgeG1sQ2xlYW51cFBhcnNlcigpIGlzIHNhZmUgYXNzdW1pbmcgbm8gcGFyc2luZyBpcyBvbmdvaW5nIGFuZAorbm8gZG9jdW1lbnQgaXMgc3RpbGwgYmVpbmcgdXNlZCwgaWYgbmVlZGVkIHRoZSBzdGF0ZSB3aWxsIGJlIHJlYnVpbGQgYXQgdGhlCituZXh0IGludm9jYXRpb24gb2YgcGFyc2VyIHJvdXRpbmVzIChvciBieSB4bWxJbml0UGFyc2VyKCkpLCBidXQgYmUgY2FyZWZ1bAorb2YgdGhlIGNvbnNlcXVlbmNlcyBpbiBtdWx0aXRocmVhZGVkIGFwcGxpY2F0aW9ucy48L3A+CisKKzxoMz48YSBuYW1lPSJEZWJ1Z2dpbmciPkRlYnVnZ2luZyByb3V0aW5lczwvYT48L2gzPgorCis8cD5XaGVuIGNvbmZpZ3VyZWQgdXNpbmcgLS13aXRoLW1lbS1kZWJ1ZyBmbGFnIChvZmYgYnkgZGVmYXVsdCksIGxpYnhtbDIgdXNlcworYSBzZXQgb2YgbWVtb3J5IGFsbG9jYXRpb24gZGVidWdnaW5nIHJvdXRpbmVzIGtlZXBpbmcgdHJhY2sgb2YgYWxsIGFsbG9jYXRlZAorYmxvY2tzIGFuZCB0aGUgbG9jYXRpb24gaW4gdGhlIGNvZGUgd2hlcmUgdGhlIHJvdXRpbmUgd2FzIGNhbGxlZC4gQSBjb3VwbGUgb2YKK290aGVyIGRlYnVnZ2luZyByb3V0aW5lcyBhbGxvdyB0byBkdW1wIHRoZSBtZW1vcnkgYWxsb2NhdGVkIGluZm9zIHRvIGEgZmlsZQorb3IgY2FsbCBhIHNwZWNpZmljIHJvdXRpbmUgd2hlbiBhIGdpdmVuIGJsb2NrIG51bWJlciBpcyBhbGxvY2F0ZWQ6PC9wPgorPHVsPgorICA8bGk+PGEKKyAgICBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwiPnhtbE1hbGxvY0xvYygpPC9hPgorICAgIDxhCisgICAgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnL2h0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sIj54bWxSZWFsbG9jTG9jKCk8L2E+CisgICAgYW5kIDxhCisgICAgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnL2h0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sIj54bWxNZW1TdHJkdXBMb2MoKTwvYT4KKyAgICBhcmUgdGhlIG1lbW9yeSBkZWJ1Z2dpbmcgcmVwbGFjZW1lbnQgYWxsb2NhdGlvbiByb3V0aW5lczwvbGk+CisgIDxsaT48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwiPnhtbE1lbW9yeUR1bXAKKyAgICAoKTwvYT4gZHVtcHMgYWxsIHRoZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgYWxsb2NhdGVkIG1lbW9yeSBibG9jayBsZWZ0cworICAgIGluIHRoZSA8Y29kZT4ubWVtZHVtcDwvY29kZT4gZmlsZTwvbGk+Cis8L3VsPgorCis8cD5XaGVuIGRldmVsb3BpbmcgbGlieG1sMiBtZW1vcnkgZGVidWcgaXMgZW5hYmxlZCwgdGhlIHRlc3RzIHByb2dyYW1zIGNhbGwKK3htbE1lbW9yeUR1bXAgKCkgYW5kIHRoZSAibWFrZSB0ZXN0IiByZWdyZXNzaW9uIHRlc3RzIHdpbGwgY2hlY2sgZm9yIGFueQorbWVtb3J5IGxlYWsgZHVyaW5nIHRoZSBmdWxsIHJlZ3Jlc3Npb24gdGVzdCBzZXF1ZW5jZSwgdGhpcyBoZWxwcyBhIGxvdAorZW5zdXJpbmcgdGhhdCBsaWJ4bWwyICBkb2VzIG5vdCBsZWFrIG1lbW9yeSBhbmQgYnVsbGV0IHByb29mIG1lbW9yeQorYWxsb2NhdGlvbnMgdXNlIChzb21lIGxpYmMgaW1wbGVtZW50YXRpb25zIGFyZSBrbm93biB0byBiZSBmYXIgdG9vIHBlcm1pc3NpdmUKK3Jlc3VsdGluZyBpbiBtYWpvciBwb3J0YWJpbGl0eSBwcm9ibGVtcyEpLjwvcD4KKworPHA+SWYgdGhlIC5tZW1kdW1wIHJlcG9ydHMgYSBsZWFrLCBpdCBkaXNwbGF5cyB0aGUgYWxsb2NhdGlvbiBmdW5jdGlvbiBhbmQKK2Fsc28gdHJpZXMgdG8gZ2l2ZSBzb21lIGluZm9ybWF0aW9uIGFib3V0IHRoZSBjb250ZW50IGFuZCBzdHJ1Y3R1cmUgb2YgdGhlCithbGxvY2F0ZWQgYmxvY2tzIGxlZnQuIFRoaXMgaXMgc3VmZmljaWVudCBpbiBtb3N0IGNhc2VzIHRvIGZpbmQgdGhlIGN1bHByaXQsCitidXQgbm90IGFsd2F5cy4gQXNzdW1pbmcgdGhlIGFsbG9jYXRpb24gcHJvYmxlbSBpcyByZXByb2R1Y2libGUsIGl0IGlzCitwb3NzaWJsZSB0byBmaW5kIG1vcmUgZWFzaWx5OjwvcD4KKzxvbD4KKyAgPGxpPndyaXRlIGRvd24gdGhlIGJsb2NrIG51bWJlciB4eHh4IG5vdCBhbGxvY2F0ZWQ8L2xpPgorICA8bGk+ZXhwb3J0IHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBYTUxfTUVNX0JSRUFLUE9JTlQ9eHh4eCAsIHRoZSBlYXNpZXN0CisgICAgd2hlbiB1c2luZyBHREIgaXMgdG8gc2ltcGx5IGdpdmUgdGhlIGNvbW1hbmQKKyAgICA8cD48Y29kZT5zZXQgZW52aXJvbm1lbnQgWE1MX01FTV9CUkVBS1BPSU5UIHh4eHg8L2NvZGU+PC9wPgorICAgIDxwPmJlZm9yZSBydW5uaW5nIHRoZSBwcm9ncmFtLjwvcD4KKyAgPC9saT4KKyAgPGxpPnJ1biB0aGUgcHJvZ3JhbSB1bmRlciBhIGRlYnVnZ2VyIGFuZCBzZXQgYSBicmVha3BvaW50IG9uCisgICAgeG1sTWFsbG9jQnJlYWtwb2ludCgpIGEgc3BlY2lmaWMgZnVuY3Rpb24gY2FsbGVkIHdoZW4gdGhpcyBwcmVjaXNlIGJsb2NrCisgICAgaXMgYWxsb2NhdGVkPC9saT4KKyAgPGxpPndoZW4gdGhlIGJyZWFrcG9pbnQgaXMgcmVhY2hlZCB5b3UgY2FuIHRoZW4gZG8gYSBmaW5lIGFuYWx5c2lzIG9mIHRoZQorICAgIGFsbG9jYXRpb24gYW4gc3RlcCAgdG8gc2VlIHRoZSBjb25kaXRpb24gcmVzdWx0aW5nIGluIHRoZSBtaXNzaW5nCisgICAgZGVhbGxvY2F0aW9uLjwvbGk+Cis8L29sPgorCis8cD5JIHVzZWQgdG8gdXNlIGEgY29tbWVyY2lhbCB0b29sIHRvIGRlYnVnIGxpYnhtbDIgbWVtb3J5IHByb2JsZW1zIGJ1dCBhZnRlcgorbm90aWNpbmcgdGhhdCBpdCB3YXMgbm90IGRldGVjdGluZyBtZW1vcnkgbGVha3MgdGhhdCBzaW1wbGUgbWVjaGFuaXNtIHdhcwordXNlZCBhbmQgcHJvdmVkIGV4dHJlbWVseSBlZmZpY2llbnQgdW50aWwgbm93LiBMYXRlbHkgSSBoYXZlIGFsc28gdXNlZCA8YQoraHJlZj0iaHR0cDovL2RldmVsb3Blci5rZGUub3JnL35zZXdhcmRqLyI+dmFsZ3JpbmQ8L2E+IHdpdGggcXVpdGUgc29tZQorc3VjY2VzcywgaXQgaXMgdGllZCB0byB0aGUgaTM4NiBhcmNoaXRlY3R1cmUgc2luY2UgaXQgd29ya3MgYnkgZW11bGF0aW5nIHRoZQorcHJvY2Vzc29yIGFuZCBpbnN0cnVjdGlvbiBzZXQsIGl0IGlzIHNsb3cgYnV0ICBleHRyZW1lbHkgZWZmaWNpZW50LCBpLmUuIGl0CitzcG90IG1lbW9yeSB1c2FnZSBlcnJvcnMgaW4gYSB2ZXJ5IHByZWNpc2Ugd2F5LjwvcD4KKworPGgzPjxhIG5hbWU9IkdlbmVyYWw0Ij5HZW5lcmFsIG1lbW9yeSByZXF1aXJlbWVudHM8L2E+PC9oMz4KKworPHA+SG93IG11Y2ggbGlieG1sMiBtZW1vcnkgcmVxdWlyZSA/IEl0J3MgaGFyZCB0byB0ZWxsIGluIGF2ZXJhZ2UgaXQgZGVwZW5kcworb2YgYSBudW1iZXIgb2YgdGhpbmdzOjwvcD4KKzx1bD4KKyAgPGxpPnRoZSBwYXJzZXIgaXRzZWxmIHNob3VsZCB3b3JrICBpbiBhIGZpeGVkIGFtb3VudCBvZiBtZW1vcnksIGV4Y2VwdCBmb3IKKyAgICBpbmZvcm1hdGlvbiBtYWludGFpbmVkIGFib3V0IHRoZSBzdGFja3Mgb2YgbmFtZXMgYW5kICBlbnRpdGllcyBsb2NhdGlvbnMuCisgICAgVGhlIEkvTyBhbmQgZW5jb2RpbmcgaGFuZGxlcnMgd2lsbCBwcm9iYWJseSBhY2NvdW50IGZvciBhIGZldyBLQnl0ZXMuCisgICAgVGhpcyBpcyB0cnVlIGZvciBib3RoIHRoZSBYTUwgYW5kIEhUTUwgcGFyc2VyICh0aG91Z2ggdGhlIEhUTUwgcGFyc2VyCisgICAgbmVlZCBtb3JlIHN0YXRlKS48L2xpPgorICA8bGk+SWYgeW91IGFyZSBnZW5lcmF0aW5nIHRoZSBET00gdHJlZSB0aGVuIG1lbW9yeSByZXF1aXJlbWVudHMgd2lsbCBncm93CisgICAgbmVhcmx5IGxpbmVhciB3aXRoIHRoZSBzaXplIG9mIHRoZSBkYXRhLiBJbiBnZW5lcmFsIGZvciBhIGJhbGFuY2VkCisgICAgdGV4dHVhbCBkb2N1bWVudCB0aGUgaW50ZXJuYWwgbWVtb3J5IHJlcXVpcmVtZW50IGlzIGFib3V0IDQgdGltZXMgdGhlCisgICAgc2l6ZSBvZiB0aGUgVVRGOCBzZXJpYWxpemF0aW9uIG9mIHRoaXMgZG9jdW1lbnQgKGV4YW1wbGUgdGhlIFhNTC0xLjAKKyAgICByZWNvbW1lbmRhdGlvbiBpcyBhIGJpdCBtb3JlIG9mIDE1MEtCeXRlcyBhbmQgdGFrZXMgNjUwS0J5dGVzIG9mIG1haW4KKyAgICBtZW1vcnkgd2hlbiBwYXJzZWQpLiBWYWxpZGF0aW9uIHdpbGwgYWRkIGEgYW1vdW50IG9mIG1lbW9yeSByZXF1aXJlZCBmb3IKKyAgICBtYWludGFpbmluZyB0aGUgZXh0ZXJuYWwgRHRkIHN0YXRlIHdoaWNoIHNob3VsZCBiZSBsaW5lYXIgd2l0aCB0aGUKKyAgICBjb21wbGV4aXR5IG9mIHRoZSBjb250ZW50IG1vZGVsIGRlZmluZWQgYnkgdGhlIER0ZDwvbGk+CisgIDxsaT5JZiB5b3UgbmVlZCB0byB3b3JrIHdpdGggZml4ZWQgbWVtb3J5IHJlcXVpcmVtZW50cyBvciBkb24ndCBuZWVkIHRoZQorICAgIGZ1bGwgRE9NIHRyZWUgdGhlbiB1c2luZyB0aGUgPGEgaHJlZj0ieG1scmVhZGVyLmh0bWwiPnhtbFJlYWRlcgorICAgIGludGVyZmFjZTwvYT4gaXMgcHJvYmFibHkgdGhlIGJlc3Qgd2F5IHRvIHByb2NlZWQsIGl0IHN0aWxsIGFsbG93cyB0bworICAgIHZhbGlkYXRlIG9yIG9wZXJhdGUgb24gc3Vic2V0IG9mIHRoZSB0cmVlIGlmIG5lZWRlZC48L2xpPgorICA8bGk+SWYgeW91IGRvbid0IGNhcmUgYWJvdXQgdGhlIGFkdmFuY2VkIGZlYXR1cmVzIG9mIGxpYnhtbDIgbGlrZQorICAgIHZhbGlkYXRpb24sIERPTSwgWFBhdGggb3IgWFBvaW50ZXIsIGRvbid0IHVzZSBlbnRpdGllcywgbmVlZCB0byB3b3JrIHdpdGgKKyAgICBmaXhlZCBtZW1vcnkgcmVxdWlyZW1lbnRzLCBhbmQgdHJ5IHRvIGdldCB0aGUgZmFzdGVzdCBwYXJzaW5nIHBvc3NpYmxlCisgICAgdGhlbiB0aGUgU0FYIGludGVyZmFjZSBzaG91bGQgYmUgdXNlZCwgYnV0IGl0IGhhcyBrbm93biByZXN0cmljdGlvbnMuPC9saT4KKzwvdWw+CisKKzxwPjwvcD4KKzxoMz48YSBuYW1lPSJDb21wYWN0aW5nIj5SZXR1cm5pbmcgbWVtb3J5IHRvIHRoZSBrZXJuZWw8L2E+PC9oMz4KKworPHA+WW91IG1heSBlbmNvdW50ZXIgdGhhdCB5b3VyIHByb2Nlc3MgdXNpbmcgbGlieG1sMiBkb2VzIG5vdCBoYXZlIGEKK3JlZHVjZWQgbWVtb3J5IHVzYWdlIGFsdGhvdWdoIHlvdSBmcmVlZCB0aGUgdHJlZXMuIFRoaXMgaXMgYmVjYXVzZQorbGlieG1sMiBhbGxvY2F0ZXMgbWVtb3J5IGluIGEgbnVtYmVyIG9mIHNtYWxsIGNodW5rcy4gV2hlbiBmcmVlaW5nIG9uZQorb2YgdGhvc2UgY2h1bmtzLCB0aGUgT1MgbWF5IGRlY2lkZSB0aGF0IGdpdmluZyB0aGlzIGxpdHRsZSBtZW1vcnkgYmFjawordG8gdGhlIGtlcm5lbCB3aWxsIGNhdXNlIHRvbyBtdWNoIG92ZXJoZWFkIGFuZCBkZWxheSB0aGUgb3BlcmF0aW9uLiBBcworYWxsIGNodW5rcyBhcmUgdGhpcyBzbWFsbCwgdGhleSBnZXQgYWN0dWFsbHkgZnJlZWQgYnV0IG5vdCByZXR1cm5lZCB0bwordGhlIGtlcm5lbC4gT24gc3lzdGVtcyB1c2luZyBnbGliYywgdGhlcmUgaXMgYSBmdW5jdGlvbiBjYWxsCisibWFsbG9jX3RyaW0iIGZyb20gbWFsbG9jLmggd2hpY2ggZG9lcyB0aGlzIG1pc3Npbmcgb3BlcmF0aW9uIChub3RlIHRoYXQKK2l0IGlzIGFsbG93ZWQgdG8gZmFpbCkuIFRodXMsIGFmdGVyIGZyZWVpbmcgeW91ciB0cmVlIHlvdSBtYXkgc2ltcGx5IHRyeQorIm1hbGxvY190cmltKDApOyIgdG8gcmVhbGx5IGdldCB0aGUgbWVtb3J5IGJhY2suIElmIHlvdXIgT1MgZG9lcyBub3QKK3Byb3ZpZGUgbWFsbG9jX3RyaW0sIHRyeSBzZWFyY2hpbmcgZm9yIGEgc2ltaWxhciBmdW5jdGlvbi48L3A+Cis8cD48L3A+CisKKzxoMj48YSBuYW1lPSJFbmNvZGluZ3MiPkVuY29kaW5ncyBzdXBwb3J0PC9hPjwvaDI+CisKKzxwPklmIHlvdSBhcmUgbm90IHJlYWxseSBmYW1pbGlhciB3aXRoIEludGVybmF0aW9uYWxpemF0aW9uICh1c3VhbCBzaG9ydGN1dAoraXMgSTE4TikgLCBVbmljb2RlLCBjaGFyYWN0ZXJzIGFuZCBnbHlwaHMsIEkgc3VnZ2VzdCB5b3UgcmVhZCBhIDxhCitocmVmPSJodHRwOi8vd3d3LnRicmF5Lm9yZy9vbmdvaW5nL1doZW4vMjAweC8yMDAzLzA0LzA2L1VuaWNvZGUiPnByZXNlbnRhdGlvbjwvYT4KK2J5IFRpbSBCcmF5IG9uIFVuaWNvZGUgYW5kIHdoeSB5b3Ugc2hvdWxkIGNhcmUgYWJvdXQgaXQuPC9wPgorCis8cD5JZiB5b3UgZG9uJ3QgdW5kZXJzdGFuZCB3aHkgPGI+aXQgZG9lcyBub3QgbWFrZSBzZW5zZSB0byBoYXZlIGEgc3RyaW5nCit3aXRob3V0IGtub3dpbmcgd2hhdCBlbmNvZGluZyBpdCB1c2VzPC9iPiwgdGhlbiBhcyBKb2VsIFNwb2xza3kgc2FpZCA8YQoraHJlZj0iaHR0cDovL3d3dy5qb2Vsb25zb2Z0d2FyZS5jb20vYXJ0aWNsZXMvVW5pY29kZS5odG1sIj5wbGVhc2UgZG8gbm90Cit3cml0ZSBhbm90aGVyIGxpbmUgb2YgY29kZSB1bnRpbCB5b3UgZmluaXNoIHJlYWRpbmcgdGhhdCBhcnRpY2xlLjwvYT4uIEl0IGlzCithIHByZXJlcXVpc2l0ZSB0byB1bmRlcnN0YW5kIHRoaXMgcGFnZSwgYW5kIGF2b2lkIGEgbG90IG9mIHByb2JsZW1zIHdpdGgKK2xpYnhtbDIsIFhNTCBvciB0ZXh0IHByb2Nlc3NpbmcgaW4gZ2VuZXJhbC48L3A+CisKKzxwPlRhYmxlIG9mIENvbnRlbnQ6PC9wPgorPG9sPgorICA8bGk+PGEgaHJlZj0iZW5jb2RpbmcuaHRtbCNXaGF0Ij5XaGF0IGRvZXMgaW50ZXJuYXRpb25hbGl6YXRpb24gc3VwcG9ydAorICAgIG1lYW4gPzwvYT48L2xpPgorICA8bGk+PGEgaHJlZj0iZW5jb2RpbmcuaHRtbCNpbnRlcm5hbCI+VGhlIGludGVybmFsIGVuY29kaW5nLCBob3cgYW5kCisgIHdoeTwvYT48L2xpPgorICA8bGk+PGEgaHJlZj0iZW5jb2RpbmcuaHRtbCNpbXBsZW1lbnRlIj5Ib3cgaXMgaXQgaW1wbGVtZW50ZWQgPzwvYT48L2xpPgorICA8bGk+PGEgaHJlZj0iZW5jb2RpbmcuaHRtbCNEZWZhdWx0Ij5EZWZhdWx0IHN1cHBvcnRlZCBlbmNvZGluZ3M8L2E+PC9saT4KKyAgPGxpPjxhIGhyZWY9ImVuY29kaW5nLmh0bWwjZXh0ZW5kIj5Ib3cgdG8gZXh0ZW5kIHRoZSBleGlzdGluZworICBzdXBwb3J0PC9hPjwvbGk+Cis8L29sPgorCis8aDM+PGEgbmFtZT0iV2hhdCI+V2hhdCBkb2VzIGludGVybmF0aW9uYWxpemF0aW9uIHN1cHBvcnQgbWVhbiA/PC9hPjwvaDM+CisKKzxwPlhNTCB3YXMgZGVzaWduZWQgZnJvbSB0aGUgc3RhcnQgdG8gYWxsb3cgdGhlIHN1cHBvcnQgb2YgYW55IGNoYXJhY3RlciBzZXQKK2J5IHVzaW5nIFVuaWNvZGUuIEFueSBjb25mb3JtYW50IFhNTCBwYXJzZXIgaGFzIHRvIHN1cHBvcnQgdGhlIFVURi04IGFuZAorVVRGLTE2IGRlZmF1bHQgZW5jb2RpbmdzIHdoaWNoIGNhbiBib3RoIGV4cHJlc3MgdGhlIGZ1bGwgdW5pY29kZSByYW5nZXMuIFVURjgKK2lzIGEgdmFyaWFibGUgbGVuZ3RoIGVuY29kaW5nIHdob3NlIGdyZWF0ZXN0IHBvaW50cyBhcmUgdG8gcmV1c2UgdGhlIHNhbWUKK2VuY29kaW5nIGZvciBBU0NJSSBhbmQgdG8gc2F2ZSBzcGFjZSBmb3IgV2VzdGVybiBlbmNvZGluZ3MsIGJ1dCBpdCBpcyBhIGJpdAorbW9yZSBjb21wbGV4IHRvIGhhbmRsZSBpbiBwcmFjdGljZS4gVVRGLTE2IHVzZSAyIGJ5dGVzIHBlciBjaGFyYWN0ZXIgKGFuZAorc29tZXRpbWVzIGNvbWJpbmVzIHR3byBwYWlycyksIGl0IG1ha2VzIGltcGxlbWVudGF0aW9uIGVhc2llciwgYnV0IGxvb2tzIGEKK2JpdCBvdmVya2lsbCBmb3IgV2VzdGVybiBsYW5ndWFnZXMgZW5jb2RpbmcuIE1vcmVvdmVyIHRoZSBYTUwgc3BlY2lmaWNhdGlvbgorYWxsb3dzIHRoZSBkb2N1bWVudCB0byBiZSBlbmNvZGVkIGluIG90aGVyIGVuY29kaW5ncyBhdCB0aGUgY29uZGl0aW9uIHRoYXQKK3RoZXkgYXJlIGNsZWFybHkgbGFiZWxlZCBhcyBzdWNoLiBGb3IgZXhhbXBsZSB0aGUgZm9sbG93aW5nIGlzIGEgd2VsbGZvcm1lZAorWE1MIGRvY3VtZW50IGVuY29kZWQgaW4gSVNPLTg4NTktMSBhbmQgdXNpbmcgYWNjZW50dWF0ZWQgbGV0dGVycyB0aGF0IHdlCitGcmVuY2ggbGlrZSBmb3IgYm90aCBtYXJrdXAgYW5kIGNvbnRlbnQ6PC9wPgorPHByZT4mbHQ7P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJJU08tODg1OS0xIj8mZ3Q7CismbHQ7dHImZWdyYXZlO3MmZ3Q7bCZhZ3JhdmU7ICZsdDsvdHImZWdyYXZlO3MmZ3Q7PC9wcmU+CisKKzxwPkhhdmluZyBpbnRlcm5hdGlvbmFsaXphdGlvbiBzdXBwb3J0IGluIGxpYnhtbDIgbWVhbnMgdGhlIGZvbGxvd2luZzo8L3A+Cis8dWw+CisgIDxsaT50aGUgZG9jdW1lbnQgaXMgcHJvcGVybHkgcGFyc2VkPC9saT4KKyAgPGxpPmluZm9ybWF0aW9uIGFib3V0IGl0J3MgZW5jb2RpbmcgaXMgc2F2ZWQ8L2xpPgorICA8bGk+aXQgY2FuIGJlIG1vZGlmaWVkPC9saT4KKyAgPGxpPml0IGNhbiBiZSBzYXZlZCBpbiBpdHMgb3JpZ2luYWwgZW5jb2Rpbmc8L2xpPgorICA8bGk+aXQgY2FuIGFsc28gYmUgc2F2ZWQgaW4gYW5vdGhlciBlbmNvZGluZyBzdXBwb3J0ZWQgYnkgbGlieG1sMiAoZm9yCisgICAgZXhhbXBsZSBzdHJhaWdodCBVVEY4IG9yIGV2ZW4gYW4gQVNDSUkgZm9ybSk8L2xpPgorPC91bD4KKworPHA+QW5vdGhlciB2ZXJ5IGltcG9ydGFudCBwb2ludCBpcyB0aGF0IHRoZSB3aG9sZSBsaWJ4bWwyIEFQSSwgd2l0aCB0aGUKK2V4Y2VwdGlvbiBvZiBhIGZldyByb3V0aW5lcyB0byByZWFkIHdpdGggYSBzcGVjaWZpYyBlbmNvZGluZyBvciBzYXZlIHRvIGEKK3NwZWNpZmljIGVuY29kaW5nLCBpcyBjb21wbGV0ZWx5IGFnbm9zdGljIGFib3V0IHRoZSBvcmlnaW5hbCBlbmNvZGluZyBvZiB0aGUKK2RvY3VtZW50LjwvcD4KKworPHA+SXQgc2hvdWxkIGJlIG5vdGVkIHRvbyB0aGF0IHRoZSBIVE1MIHBhcnNlciBlbWJlZGRlZCBpbiBsaWJ4bWwyIG5vdyBvYmV5Cit0aGUgc2FtZSBydWxlcyB0b28sIHRoZSBmb2xsb3dpbmcgZG9jdW1lbnQgd2lsbCBiZSAoYXMgb2YgMi4yLjIpIGhhbmRsZWQgIGluCithbiBpbnRlcm5hdGlvbmFsaXplZCBmYXNoaW9uIGJ5IGxpYnhtbDIgdG9vOjwvcD4KKzxwcmU+Jmx0OyFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwvL0VOIgorICAgICAgICAgICAgICAgICAgICAgICJodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtaHRtbDQwL2xvb3NlLmR0ZCImZ3Q7CismbHQ7aHRtbCBsYW5nPSJmciImZ3Q7CismbHQ7aGVhZCZndDsKKyAgJmx0O01FVEEgSFRUUC1FUVVJVj0iQ29udGVudC1UeXBlIiBDT05URU5UPSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9SVNPLTg4NTktMSImZ3Q7CismbHQ7L2hlYWQmZ3Q7CismbHQ7Ym9keSZndDsKKyZsdDtwJmd0O1czQyBjciZlYWN1dGU7ZSBkZXMgc3RhbmRhcmRzIHBvdXIgbGUgV2ViLiZsdDsvYm9keSZndDsKKyZsdDsvaHRtbCZndDs8L3ByZT4KKworPGgzPjxhIG5hbWU9ImludGVybmFsIj5UaGUgaW50ZXJuYWwgZW5jb2RpbmcsIGhvdyBhbmQgd2h5PC9hPjwvaDM+CisKKzxwPk9uZSBvZiB0aGUgY29yZSBkZWNpc2lvbnMgd2FzIHRvIGZvcmNlIGFsbCBkb2N1bWVudHMgdG8gYmUgY29udmVydGVkIHRvIGEKK2RlZmF1bHQgaW50ZXJuYWwgZW5jb2RpbmcsIGFuZCB0aGF0IGVuY29kaW5nIHRvIGJlIFVURi04LCBoZXJlIGFyZSB0aGUKK3JhdGlvbmFsZXMgZm9yIHRob3NlIGNob2ljZXM6PC9wPgorPHVsPgorICA8bGk+a2VlcGluZyB0aGUgbmF0aXZlIGVuY29kaW5nIGluIHRoZSBpbnRlcm5hbCBmb3JtIHdvdWxkIGZvcmNlIHRoZSBsaWJ4bWwKKyAgICB1c2VycyAob3IgdGhlIGNvZGUgYXNzb2NpYXRlZCkgdG8gYmUgZnVsbHkgYXdhcmUgb2YgdGhlIGVuY29kaW5nIG9mIHRoZQorICAgIG9yaWdpbmFsIGRvY3VtZW50LCBmb3IgZXhhbXBsZXMgd2hlbiBhZGRpbmcgYSB0ZXh0IG5vZGUgdG8gYSBkb2N1bWVudCwKKyAgICB0aGUgY29udGVudCB3b3VsZCBoYXZlIHRvIGJlIHByb3ZpZGVkIGluIHRoZSBkb2N1bWVudCBlbmNvZGluZywgaS5lLiB0aGUKKyAgICBjbGllbnQgY29kZSB3b3VsZCBoYXZlIHRvIGNoZWNrIGl0IGJlZm9yZSBoYW5kLCBtYWtlIHN1cmUgaXQncyBjb25mb3JtYW50CisgICAgdG8gdGhlIGVuY29kaW5nLCBldGMgLi4uIFZlcnkgaGFyZCBpbiBwcmFjdGljZSwgdGhvdWdoIGluIHNvbWUgc3BlY2lmaWMKKyAgICBjYXNlcyB0aGlzIG1heSBtYWtlIHNlbnNlLjwvbGk+CisgIDxsaT50aGUgc2Vjb25kIGRlY2lzaW9uIHdhcyB3aGljaCBlbmNvZGluZy4gRnJvbSB0aGUgWE1MIHNwZWMgb25seSBVVEY4IGFuZAorICAgIFVURjE2IHJlYWxseSBtYWtlcyBzZW5zZSBhcyBiZWluZyB0aGUgdHdvIG9ubHkgZW5jb2RpbmdzIGZvciB3aGljaCB0aGVyZQorICAgIGlzIG1hbmRhdG9yeSBzdXBwb3J0LiBVQ1MtNCAoMzIgYml0cyBmaXhlZCBzaXplIGVuY29kaW5nKSBjb3VsZCBiZQorICAgIGNvbnNpZGVyZWQgYW4gaW50ZWxsaWdlbnQgY2hvaWNlIHRvbyBzaW5jZSBpdCdzIGEgZGlyZWN0IFVuaWNvZGUgbWFwcGluZworICAgIHN1cHBvcnQuIEkgc2VsZWN0ZWQgVVRGLTggb24gdGhlIGJhc2lzIG9mIGVmZmljaWVuY3kgYW5kIGNvbXBhdGliaWxpdHkKKyAgICB3aXRoIHN1cnJvdW5kaW5nIHNvZnR3YXJlOgorICAgIDx1bD4KKyAgICAgIDxsaT5VVEYtOCB3aGlsZSBhIGJpdCBtb3JlIGNvbXBsZXggdG8gY29udmVydCBmcm9tL3RvIChpLmUuIHNsaWdodGx5CisgICAgICAgIG1vcmUgY29zdGx5IHRvIGltcG9ydCBhbmQgZXhwb3J0IENQVSB3aXNlKSBpcyBhbHNvIGZhciBtb3JlIGNvbXBhY3QKKyAgICAgICAgdGhhbiBVVEYtMTYgKGFuZCBVQ1MtNCkgZm9yIGEgbWFqb3JpdHkgb2YgdGhlIGRvY3VtZW50cyBJIHNlZSBpdCB1c2VkCisgICAgICAgIGZvciByaWdodCBub3cgKFJQTSBSREYgY2F0YWxvZ3MsIGFkdm9nYXRvIGRhdGEsIHZhcmlvdXMgY29uZmlndXJhdGlvbgorICAgICAgICBmaWxlIGZvcm1hdHMsIGV0Yy4pIGFuZCB0aGUga2V5IHBvaW50IGZvciB0b2RheSdzIGNvbXB1dGVyCisgICAgICAgIGFyY2hpdGVjdHVyZSBpcyBlZmZpY2llbnQgdXNlcyBvZiBjYWNoZXMuIElmIG9uZSBuZWFybHkgZG91YmxlIHRoZQorICAgICAgICBtZW1vcnkgcmVxdWlyZW1lbnQgdG8gc3RvcmUgdGhlIHNhbWUgYW1vdW50IG9mIGRhdGEsIHRoaXMgd2lsbCB0cmFzaAorICAgICAgICBjYWNoZXMgKG1haW4gbWVtb3J5L2V4dGVybmFsIGNhY2hlcy9pbnRlcm5hbCBjYWNoZXMpIGFuZCBteSB0YWtlIGlzCisgICAgICAgIHRoYXQgdGhpcyBoYXJtcyB0aGUgc3lzdGVtIGZhciBtb3JlIHRoYW4gdGhlIENQVSByZXF1aXJlbWVudHMgbmVlZGVkCisgICAgICAgIGZvciB0aGUgY29udmVyc2lvbiB0byBVVEYtODwvbGk+CisgICAgICA8bGk+TW9zdCBvZiBsaWJ4bWwyIHZlcnNpb24gMSB1c2VycyB3ZXJlIHVzaW5nIGl0IHdpdGggc3RyYWlnaHQgQVNDSUkKKyAgICAgICAgbW9zdCBvZiB0aGUgdGltZSwgZG9pbmcgdGhlIGNvbnZlcnNpb24gd2l0aCBhbiBpbnRlcm5hbCBlbmNvZGluZworICAgICAgICByZXF1aXJpbmcgYWxsIHRoZWlyIGNvZGUgdG8gYmUgcmV3cml0dGVuIHdhcyBhIHNlcmlvdXMgc2hvdy1zdG9wcGVyCisgICAgICAgIGZvciB1c2luZyBVVEYtMTYgb3IgVUNTLTQuPC9saT4KKyAgICAgIDxsaT5VVEYtOCBpcyBiZWluZyB1c2VkIGFzIHRoZSBkZS1mYWN0byBpbnRlcm5hbCBlbmNvZGluZyBzdGFuZGFyZCBmb3IKKyAgICAgICAgcmVsYXRlZCBjb2RlIGxpa2UgdGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cucGFuZ28ub3JnLyI+cGFuZ288L2E+CisgICAgICAgIHVwY29taW5nIEdub21lIHRleHQgd2lkZ2V0LCBhbmQgYSBsb3Qgb2YgVW5peCBjb2RlICh5ZXQgYW5vdGhlciBwbGFjZQorICAgICAgICB3aGVyZSBVbml4IHByb2dyYW1tZXIgYmFzZSB0YWtlcyBhIGRpZmZlcmVudCBhcHByb2FjaCBmcm9tIE1pY3Jvc29mdAorICAgICAgICAtIHRoZXkgYXJlIHVzaW5nIFVURi0xNik8L2xpPgorICAgIDwvdWw+CisgIDwvbGk+Cis8L3VsPgorCis8cD5XaGF0IGRvZXMgdGhpcyBtZWFuIGluIHByYWN0aWNlIGZvciB0aGUgbGlieG1sMiB1c2VyOjwvcD4KKzx1bD4KKyAgPGxpPnhtbENoYXIsIHRoZSBsaWJ4bWwyIGRhdGEgdHlwZSBpcyBhIGJ5dGUsIHRob3NlIGJ5dGVzIG11c3QgYmUgYXNzZW1ibGVkCisgICAgYXMgVVRGLTggdmFsaWQgc3RyaW5ncy4gVGhlIHByb3BlciB3YXkgdG8gdGVybWluYXRlIGFuIHhtbENoYXIgKiBzdHJpbmcKKyAgICBpcyBzaW1wbHkgdG8gYXBwZW5kIDAgYnl0ZSwgYXMgdXN1YWwuPC9saT4KKyAgPGxpPk9uZSBqdXN0IG5lZWQgdG8gbWFrZSBzdXJlIHRoYXQgd2hlbiB1c2luZyBjaGFycyBvdXRzaWRlIHRoZSBBU0NJSSBzZXQsCisgICAgdGhlIHZhbHVlcyBoYXMgYmVlbiBwcm9wZXJseSBjb252ZXJ0ZWQgdG8gVVRGLTg8L2xpPgorPC91bD4KKworPGgzPjxhIG5hbWU9ImltcGxlbWVudGUiPkhvdyBpcyBpdCBpbXBsZW1lbnRlZCA/PC9hPjwvaDM+CisKKzxwPkxldCdzIGRlc2NyaWJlIGhvdyBhbGwgdGhpcyB3b3JrcyB3aXRoaW4gbGlieG1sLCBiYXNpY2FsbHkgdGhlIEkxOE4KKyhpbnRlcm5hdGlvbmFsaXphdGlvbikgc3VwcG9ydCBnZXQgdHJpZ2dlcmVkIG9ubHkgZHVyaW5nIEkvTyBvcGVyYXRpb24sIGkuZS4KK3doZW4gcmVhZGluZyBhIGRvY3VtZW50IG9yIHNhdmluZyBvbmUuIExldCdzIGxvb2sgZmlyc3QgYXQgdGhlIHJlYWRpbmcKK3NlcXVlbmNlOjwvcD4KKzxvbD4KKyAgPGxpPndoZW4gYSBkb2N1bWVudCBpcyBwcm9jZXNzZWQsIHdlIHVzdWFsbHkgZG9uJ3Qga25vdyB0aGUgZW5jb2RpbmcsIGEKKyAgICBzaW1wbGUgaGV1cmlzdGljIGFsbG93cyB0byBkZXRlY3QgVVRGLTE2IGFuZCBVQ1MtNCBmcm9tIGVuY29kaW5ncyB3aGVyZQorICAgIHRoZSBBU0NJSSByYW5nZSAoMC0weDdGKSBtYXBzIHdpdGggQVNDSUk8L2xpPgorICA8bGk+dGhlIHhtbCBkZWNsYXJhdGlvbiBpZiBhdmFpbGFibGUgaXMgcGFyc2VkLCBpbmNsdWRpbmcgdGhlIGVuY29kaW5nCisgICAgZGVjbGFyYXRpb24uIEF0IHRoYXQgcG9pbnQsIGlmIHRoZSBhdXRvZGV0ZWN0ZWQgZW5jb2RpbmcgaXMgZGlmZmVyZW50CisgICAgZnJvbSB0aGUgb25lIGRlY2xhcmVkIGEgY2FsbCB0byB4bWxTd2l0Y2hFbmNvZGluZygpIGlzIGlzc3VlZC48L2xpPgorICA8bGk+SWYgdGhlcmUgaXMgbm8gZW5jb2RpbmcgZGVjbGFyYXRpb24sIHRoZW4gdGhlIGlucHV0IGhhcyB0byBiZSBpbiBlaXRoZXIKKyAgICBVVEYtOCBvciBVVEYtMTYsIGlmIGl0IGlzIG5vdCB0aGVuIGF0IHNvbWUgcG9pbnQgd2hlbiBwcm9jZXNzaW5nIHRoZQorICAgIGlucHV0LCB0aGUgY29udmVydGVyL2NoZWNrZXIgb2YgVVRGLTggZm9ybSB3aWxsIHJhaXNlIGFuIGVuY29kaW5nIGVycm9yLgorICAgIFlvdSBtYXkgZW5kLXVwIHdpdGggYSBnYXJibGVkIGRvY3VtZW50LCBvciBubyBkb2N1bWVudCBhdCBhbGwgISBFeGFtcGxlOgorICAgIDxwcmU+fi9YTUwgLSZndDsgLi94bWxsaW50IGVyci54bWwgCitlcnIueG1sOjE6IGVycm9yOiBJbnB1dCBpcyBub3QgcHJvcGVyIFVURi04LCBpbmRpY2F0ZSBlbmNvZGluZyAhCismbHQ7dHImZWdyYXZlO3MmZ3Q7bCZhZ3JhdmU7wqAmbHQ7L3RyJmVncmF2ZTtzJmd0OworICAgXgorZXJyLnhtbDoxOiBlcnJvcjogQnl0ZXM6IDB4RTggMHg3MyAweDNFIDB4NkMKKyZsdDt0ciZlZ3JhdmU7cyZndDtsJmFncmF2ZTvCoCZsdDsvdHImZWdyYXZlO3MmZ3Q7CisgICBePC9wcmU+CisgIDwvbGk+CisgIDxsaT54bWxTd2l0Y2hFbmNvZGluZygpIGRvZXMgYW4gZW5jb2RpbmcgbmFtZSBsb29rdXAsIGNhbm9uaWNhbGl6ZSBpdCwgYW5kCisgICAgdGhlbiBzZWFyY2ggdGhlIGRlZmF1bHQgcmVnaXN0ZXJlZCBlbmNvZGluZyBjb252ZXJ0ZXJzIGZvciB0aGF0IGVuY29kaW5nLgorICAgIElmIGl0J3Mgbm90IHdpdGhpbiB0aGUgZGVmYXVsdCBzZXQgYW5kIGljb252KCkgc3VwcG9ydCBoYXMgYmVlbiBjb21waWxlZAorICAgIGl0LCBpdCB3aWxsIGFzayBpY29udiBmb3Igc3VjaCBhbiBlbmNvZGVyLiBJZiB0aGlzIGZhaWxzIHRoZW4gdGhlIHBhcnNlcgorICAgIHdpbGwgcmVwb3J0IGFuIGVycm9yIGFuZCBzdG9wcyBwcm9jZXNzaW5nOgorICAgIDxwcmU+fi9YTUwgLSZndDsgLi94bWxsaW50IGVycjIueG1sIAorZXJyMi54bWw6MTogZXJyb3I6IFVuc3VwcG9ydGVkIGVuY29kaW5nIFVuc3VwcG9ydGVkRW5jCismbHQ7P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVbnN1cHBvcnRlZEVuYyI/Jmd0OworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXjwvcHJlPgorICA8L2xpPgorICA8bGk+RnJvbSB0aGF0IHBvaW50IHRoZSBlbmNvZGVyIHByb2Nlc3NlcyBwcm9ncmVzc2l2ZWx5IHRoZSBpbnB1dCAoaXQgaXMKKyAgICBwbHVnZ2VkIGFzIGEgZnJvbnQtZW5kIHRvIHRoZSBJL08gbW9kdWxlKSBmb3IgdGhhdCBlbnRpdHkuIEl0IGNhcHR1cmVzCisgICAgYW5kIGNvbnZlcnRzIG9uLXRoZS1mbHkgdGhlIGRvY3VtZW50IHRvIGJlIHBhcnNlZCB0byBVVEYtOC4gVGhlIHBhcnNlcgorICAgIGl0c2VsZiBqdXN0IGRvZXMgVVRGLTggY2hlY2tpbmcgb2YgdGhpcyBpbnB1dCBhbmQgcHJvY2VzcyBpdAorICAgIHRyYW5zcGFyZW50bHkuIFRoZSBvbmx5IGRpZmZlcmVuY2UgaXMgdGhhdCB0aGUgZW5jb2RpbmcgaW5mb3JtYXRpb24gaGFzCisgICAgYmVlbiBhZGRlZCB0byB0aGUgcGFyc2luZyBjb250ZXh0IChtb3JlIHByZWNpc2VseSB0byB0aGUgaW5wdXQKKyAgICBjb3JyZXNwb25kaW5nIHRvIHRoaXMgZW50aXR5KS48L2xpPgorICA8bGk+VGhlIHJlc3VsdCAod2hlbiB1c2luZyBET00pIGlzIGFuIGludGVybmFsIGZvcm0gY29tcGxldGVseSBpbiBVVEYtOAorICAgIHdpdGgganVzdCBhbiBlbmNvZGluZyBpbmZvcm1hdGlvbiBvbiB0aGUgZG9jdW1lbnQgbm9kZS48L2xpPgorPC9vbD4KKworPHA+T2sgdGhlbiB3aGF0IGhhcHBlbnMgd2hlbiBzYXZpbmcgdGhlIGRvY3VtZW50IChhc3N1bWluZyB5b3UKK2NvbGxlY3RlZC9idWlsdCBhbiB4bWxEb2MgRE9NIGxpa2Ugc3RydWN0dXJlKSA/IEl0IGRlcGVuZHMgb24gdGhlIGZ1bmN0aW9uCitjYWxsZWQsIHhtbFNhdmVGaWxlKCkgd2lsbCBqdXN0IHRyeSB0byBzYXZlIGluIHRoZSBvcmlnaW5hbCBlbmNvZGluZywgd2hpbGUKK3htbFNhdmVGaWxlVG8oKSBhbmQgeG1sU2F2ZUZpbGVFbmMoKSBjYW4gb3B0aW9uYWxseSBzYXZlIHRvIGEgZ2l2ZW4KK2VuY29kaW5nOjwvcD4KKzxvbD4KKyAgPGxpPmlmIG5vIGVuY29kaW5nIGlzIGdpdmVuLCBsaWJ4bWwyIHdpbGwgbG9vayBmb3IgYW4gZW5jb2RpbmcgdmFsdWUKKyAgICBhc3NvY2lhdGVkIHRvIHRoZSBkb2N1bWVudCBhbmQgaWYgaXQgZXhpc3RzIHdpbGwgdHJ5IHRvIHNhdmUgdG8gdGhhdAorICAgIGVuY29kaW5nLAorICAgIDxwPm90aGVyd2lzZSBldmVyeXRoaW5nIGlzIHdyaXR0ZW4gaW4gdGhlIGludGVybmFsIGZvcm0sIGkuZS4gVVRGLTg8L3A+CisgIDwvbGk+CisgIDxsaT5zbyBpZiBhbiBlbmNvZGluZyB3YXMgc3BlY2lmaWVkLCBlaXRoZXIgYXQgdGhlIEFQSSBsZXZlbCBvciBvbiB0aGUKKyAgICBkb2N1bWVudCwgbGlieG1sMiB3aWxsIGFnYWluIGNhbm9uaWNhbGl6ZSB0aGUgZW5jb2RpbmcgbmFtZSwgbG9va3VwIGZvciBhCisgICAgY29udmVydGVyIGluIHRoZSByZWdpc3RlcmVkIHNldCBvciB0aHJvdWdoIGljb252LiBJZiBub3QgZm91bmQgdGhlCisgICAgZnVuY3Rpb24gd2lsbCByZXR1cm4gYW4gZXJyb3IgY29kZTwvbGk+CisgIDxsaT50aGUgY29udmVydGVyIGlzIHBsYWNlZCBiZWZvcmUgdGhlIEkvTyBidWZmZXIgbGF5ZXIsIGFzIGFub3RoZXIga2luZCBvZgorICAgIGJ1ZmZlciwgdGhlbiBsaWJ4bWwyIHdpbGwgc2ltcGx5IHB1c2ggdGhlIFVURi04IHNlcmlhbGl6YXRpb24gdG8gdGhyb3VnaAorICAgIHRoYXQgYnVmZmVyLCB3aGljaCB3aWxsIHRoZW4gcHJvZ3Jlc3NpdmVseSBiZSBjb252ZXJ0ZWQgYW5kIHB1c2hlZCBvbnRvCisgICAgdGhlIEkvTyBsYXllci48L2xpPgorICA8bGk+SXQgaXMgcG9zc2libGUgdGhhdCB0aGUgY29udmVydGVyIGNvZGUgZmFpbHMgb24gc29tZSBpbnB1dCwgZm9yIGV4YW1wbGUKKyAgICB0cnlpbmcgdG8gcHVzaCBhbiBVVEYtOCBlbmNvZGVkIENoaW5lc2UgY2hhcmFjdGVyIHRocm91Z2ggdGhlIFVURi04IHRvCisgICAgSVNPLTg4NTktMSBjb252ZXJ0ZXIgd29uJ3Qgd29yay4gU2luY2UgdGhlIGVuY29kZXJzIGFyZSBwcm9ncmVzc2l2ZSB0aGV5CisgICAgd2lsbCBqdXN0IHJlcG9ydCB0aGUgZXJyb3IgYW5kIHRoZSBudW1iZXIgb2YgYnl0ZXMgY29udmVydGVkLCBhdCB0aGF0CisgICAgcG9pbnQgbGlieG1sMiB3aWxsIGRlY29kZSB0aGUgb2ZmZW5kaW5nIGNoYXJhY3RlciwgcmVtb3ZlIGl0IGZyb20gdGhlCisgICAgYnVmZmVyIGFuZCByZXBsYWNlIGl0IHdpdGggdGhlIGFzc29jaWF0ZWQgY2hhclJlZiBlbmNvZGluZyAmYW1wOyMxMjM7IGFuZAorICAgIHJlc3VtZSB0aGUgY29udmVyc2lvbi4gVGhpcyBndWFyYW50ZWVzIHRoYXQgYW55IGRvY3VtZW50IHdpbGwgYmUgc2F2ZWQKKyAgICB3aXRob3V0IGxvc3NlcyAoZXhjZXB0IGZvciBtYXJrdXAgbmFtZXMgd2hlcmUgdGhpcyBpcyBub3QgbGVnYWwsIHRoaXMgaXMKKyAgICBhIHByb2JsZW0gaW4gdGhlIGN1cnJlbnQgdmVyc2lvbiwgaW4gcHJhY3RpY2UgYXZvaWQgdXNpbmcgbm9uLWFzY2lpCisgICAgY2hhcmFjdGVycyBmb3IgdGFnIG9yIGF0dHJpYnV0ZSBuYW1lcykuIEEgc3BlY2lhbCAiYXNjaWkiIGVuY29kaW5nIG5hbWUKKyAgICBpcyB1c2VkIHRvIHNhdmUgZG9jdW1lbnRzIHRvIGEgcHVyZSBhc2NpaSBmb3JtIGNhbiBiZSB1c2VkIHdoZW4KKyAgICBwb3J0YWJpbGl0eSBpcyByZWFsbHkgY3J1Y2lhbDwvbGk+Cis8L29sPgorCis8cD5IZXJlIGFyZSBhIGZldyBleGFtcGxlcyBiYXNlZCBvbiB0aGUgc2FtZSB0ZXN0IGRvY3VtZW50IGFuZCBhc3N1bWluIGEKK3Rlcm1pbmFsIHVzaW5nIElTTy04ODU5LTEgYXMgdGhlIHRleHQgZW5jb2Rpbmc6PC9wPgorPHByZT5+L1hNTCAtJmd0OyAuL3htbGxpbnQgaXNvbGF0MSAKKyZsdDs/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IklTTy04ODU5LTEiPyZndDsKKyZsdDt0ciZlZ3JhdmU7cyZndDtsw4PCoCZsdDsvdHImZWdyYXZlO3MmZ3Q7Cit+L1hNTCAtJmd0OyAuL3htbGxpbnQgLS1lbmNvZGUgVVRGLTggaXNvbGF0MSAKKyZsdDs/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8mZ3Q7CismbHQ7dHLDg8KocyZndDtsw4MgJm5ic3A7Jmx0Oy90csODwqhzJmd0Oworfi9YTUwgLSZndDsgPC9wcmU+CisKKzxwPlRoZSBzYW1lIHByb2Nlc3NpbmcgaXMgYXBwbGllZCAoYW5kIHJldXNlIG1vc3Qgb2YgdGhlIGNvZGUpIGZvciBIVE1MIEkxOE4KK3Byb2Nlc3NpbmcuIExvb2tpbmcgdXAgYW5kIG1vZGlmeWluZyB0aGUgY29udGVudCBlbmNvZGluZyBpcyBhIGJpdCBtb3JlCitkaWZmaWN1bHQgc2luY2UgaXQgaXMgbG9jYXRlZCBpbiBhICZsdDttZXRhJmd0OyB0YWcgdW5kZXIgdGhlICZsdDtoZWFkJmd0OywKK3NvIGEgY291cGxlIG9mIGZ1bmN0aW9ucyBodG1sR2V0TWV0YUVuY29kaW5nKCkgYW5kIGh0bWxTZXRNZXRhRW5jb2RpbmcoKSBoYXZlCitiZWVuIHByb3ZpZGVkLiBUaGUgcGFyc2VyIGFsc28gYXR0ZW1wdHMgdG8gc3dpdGNoIGVuY29kaW5nIG9uIHRoZSBmbHkgd2hlbgorZGV0ZWN0aW5nIHN1Y2ggYSB0YWcgb24gaW5wdXQuIEV4Y2VwdCBmb3IgdGhhdCB0aGUgcHJvY2Vzc2luZyBpcyB0aGUgc2FtZQorKGFuZCBhZ2FpbiByZXVzZXMgdGhlIHNhbWUgY29kZSkuPC9wPgorCis8aDM+PGEgbmFtZT0iRGVmYXVsdCI+RGVmYXVsdCBzdXBwb3J0ZWQgZW5jb2RpbmdzPC9hPjwvaDM+CisKKzxwPmxpYnhtbDIgaGFzIGEgc2V0IG9mIGRlZmF1bHQgY29udmVydGVycyBmb3IgdGhlIGZvbGxvd2luZyBlbmNvZGluZ3MKKyhsb2NhdGVkIGluIGVuY29kaW5nLmMpOjwvcD4KKzxvbD4KKyAgPGxpPlVURi04IGlzIHN1cHBvcnRlZCBieSBkZWZhdWx0IChudWxsIGhhbmRsZXJzKTwvbGk+CisgIDxsaT5VVEYtMTYsIGJvdGggbGl0dGxlIGFuZCBiaWcgZW5kaWFuPC9saT4KKyAgPGxpPklTTy1MYXRpbi0xIChJU08tODg1OS0xKSBjb3ZlcmluZyBtb3N0IHdlc3Rlcm4gbGFuZ3VhZ2VzPC9saT4KKyAgPGxpPkFTQ0lJLCB1c2VmdWwgbW9zdGx5IGZvciBzYXZpbmc8L2xpPgorICA8bGk+SFRNTCwgYSBzcGVjaWZpYyBoYW5kbGVyIGZvciB0aGUgY29udmVyc2lvbiBvZiBVVEYtOCB0byBBU0NJSSB3aXRoIEhUTUwKKyAgICBwcmVkZWZpbmVkIGVudGl0aWVzIGxpa2UgJmFtcDtjb3B5OyBmb3IgdGhlIENvcHlyaWdodCBzaWduLjwvbGk+Cis8L29sPgorCis8cD5Nb3JlIG92ZXIgd2hlbiBjb21waWxlZCBvbiBhbiBVbml4IHBsYXRmb3JtIHdpdGggaWNvbnYgc3VwcG9ydCB0aGUgZnVsbAorc2V0IG9mIGVuY29kaW5ncyBzdXBwb3J0ZWQgYnkgaWNvbnYgY2FuIGJlIGluc3RhbnRseSBiZSB1c2VkIGJ5IGxpYnhtbC4gT24gYQorbGludXggbWFjaGluZSB3aXRoIGdsaWJjLTIuMSB0aGUgbGlzdCBvZiBzdXBwb3J0ZWQgZW5jb2RpbmdzIGFuZCBhbGlhc2VzIGZpbGwKKzMgZnVsbCBwYWdlcywgYW5kIGluY2x1ZGUgVUNTLTQsIHRoZSBmdWxsIHNldCBvZiBJU08tTGF0aW4gZW5jb2RpbmdzLCBhbmQgdGhlCit2YXJpb3VzIEphcGFuZXNlIG9uZXMuPC9wPgorCis8cD5UbyBjb252ZXJ0IGZyb20gdGhlIFVURi04IHZhbHVlcyByZXR1cm5lZCBmcm9tIHRoZSBBUEkgdG8gYW5vdGhlciBlbmNvZGluZwordGhlbiBpdCBpcyBwb3NzaWJsZSB0byB1c2UgdGhlIGZ1bmN0aW9uIHByb3ZpZGVkIGZyb20gPGEKK2hyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwiPnRoZSBlbmNvZGluZyBtb2R1bGU8L2E+IGxpa2UgPGEKK2hyZWY9Imh0bWwvbGlieG1sLWVuY29kaW5nLmh0bWwjVVRGOFRvaXNvbGF0MSI+VVRGOFRvaXNvbGF0MTwvYT4sIG9yIHVzZSB0aGUKK1BPU0lYIDxhCitocmVmPSJodHRwOi8vd3d3Lm9wZW5ncm91cC5vcmcvb25saW5lcHVicy8wMDk2OTUzOTkvZnVuY3Rpb25zL2ljb252Lmh0bWwiPmljb252KCk8L2E+CitBUEkgZGlyZWN0bHkuPC9wPgorCis8aDQ+RW5jb2RpbmcgYWxpYXNlczwvaDQ+CisKKzxwPkZyb20gMi4yLjMsIGxpYnhtbDIgaGFzIHN1cHBvcnQgdG8gcmVnaXN0ZXIgZW5jb2RpbmcgbmFtZXMgYWxpYXNlcy4gVGhlCitnb2FsIGlzIHRvIGJlIGFibGUgdG8gcGFyc2UgZG9jdW1lbnQgd2hvc2UgZW5jb2RpbmcgaXMgc3VwcG9ydGVkIGJ1dCB3aGVyZQordGhlIG5hbWUgZGlmZmVycyAoZm9yIGV4YW1wbGUgZnJvbSB0aGUgZGVmYXVsdCBzZXQgb2YgbmFtZXMgYWNjZXB0ZWQgYnkKK2ljb252KS4gVGhlIGZvbGxvd2luZyBmdW5jdGlvbnMgYWxsb3cgdG8gcmVnaXN0ZXIgYW5kIGhhbmRsZSBuZXcgYWxpYXNlcyBmb3IKK2V4aXN0aW5nIGVuY29kaW5ncy4gT25jZSByZWdpc3RlcmVkIGxpYnhtbDIgd2lsbCBhdXRvbWF0aWNhbGx5IGxvb2t1cCB0aGUKK2FsaWFzZXMgd2hlbiBoYW5kbGluZyBhIGRvY3VtZW50OjwvcD4KKzx1bD4KKyAgPGxpPmludCB4bWxBZGRFbmNvZGluZ0FsaWFzKGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKmFsaWFzKTs8L2xpPgorICA8bGk+aW50IHhtbERlbEVuY29kaW5nQWxpYXMoY29uc3QgY2hhciAqYWxpYXMpOzwvbGk+CisgIDxsaT5jb25zdCBjaGFyICogeG1sR2V0RW5jb2RpbmdBbGlhcyhjb25zdCBjaGFyICphbGlhcyk7PC9saT4KKyAgPGxpPnZvaWQgeG1sQ2xlYW51cEVuY29kaW5nQWxpYXNlcyh2b2lkKTs8L2xpPgorPC91bD4KKworPGgzPjxhIG5hbWU9ImV4dGVuZCI+SG93IHRvIGV4dGVuZCB0aGUgZXhpc3Rpbmcgc3VwcG9ydDwvYT48L2gzPgorCis8cD5XZWxsIGFkZGluZyBzdXBwb3J0IGZvciBuZXcgZW5jb2RpbmcsIG9yIG92ZXJyaWRpbmcgb25lIG9mIHRoZSBlbmNvZGVycworKGFzc3VtaW5nIGl0IGlzIGJ1Z2d5KSBzaG91bGQgbm90IGJlIGhhcmQsIGp1c3Qgd3JpdGUgaW5wdXQgYW5kIG91dHB1dAorY29udmVyc2lvbiByb3V0aW5lcyB0by9mcm9tIFVURi04LCBhbmQgcmVnaXN0ZXIgdGhlbSB1c2luZworeG1sTmV3Q2hhckVuY29kaW5nSGFuZGxlcihuYW1lLCB4eHhUb1VURjgsIFVURjhUb3h4eCksICBhbmQgdGhleSB3aWxsIGJlCitjYWxsZWQgYXV0b21hdGljYWxseSBpZiB0aGUgcGFyc2VyKHMpIGVuY291bnRlciBzdWNoIGFuIGVuY29kaW5nIG5hbWUKKyhyZWdpc3RlciBpdCB1cHBlcmNhc2UsIHRoaXMgd2lsbCBoZWxwKS4gVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBlbmNvZGVycywKK3RoZWlyIGFyZ3VtZW50cyBhbmQgZXhwZWN0ZWQgcmV0dXJuIHZhbHVlcyBhcmUgZGVzY3JpYmVkIGluIHRoZSBlbmNvZGluZy5oCitoZWFkZXIuPC9wPgorCis8aDI+PGEgbmFtZT0iSU8iPkkvTyBJbnRlcmZhY2VzPC9hPjwvaDI+CisKKzxwPlRhYmxlIG9mIENvbnRlbnQ6PC9wPgorPG9sPgorICA8bGk+PGEgaHJlZj0iI0dlbmVyYWwxIj5HZW5lcmFsIG92ZXJ2aWV3PC9hPjwvbGk+CisgIDxsaT48YSBocmVmPSIjYmFzaWMiPlRoZSBiYXNpYyBidWZmZXIgdHlwZTwvYT48L2xpPgorICA8bGk+PGEgaHJlZj0iI0lucHV0Ij5JbnB1dCBJL08gaGFuZGxlcnM8L2E+PC9saT4KKyAgPGxpPjxhIGhyZWY9IiNPdXRwdXQiPk91dHB1dCBJL08gaGFuZGxlcnM8L2E+PC9saT4KKyAgPGxpPjxhIGhyZWY9IiNlbnRpdGllcyI+VGhlIGVudGl0aWVzIGxvYWRlcjwvYT48L2xpPgorICA8bGk+PGEgaHJlZj0iI0V4YW1wbGUyIj5FeGFtcGxlIG9mIGN1c3RvbWl6ZWQgSS9PPC9hPjwvbGk+Cis8L29sPgorCis8aDM+PGEgbmFtZT0iR2VuZXJhbDEiPkdlbmVyYWwgb3ZlcnZpZXc8L2E+PC9oMz4KKworPHA+VGhlIG1vZHVsZSA8Y29kZT48YQoraHJlZj0iaHR0cDovL3htbHNvZnQub3JnL2h0bWwvbGlieG1sLXhtbGlvLmh0bWwiPnhtbElPLmg8L2E+PC9jb2RlPiBwcm92aWRlcwordGhlIGludGVyZmFjZXMgdG8gdGhlIGxpYnhtbDIgSS9PIHN5c3RlbS4gVGhpcyBjb25zaXN0cyBvZiA0IG1haW4gcGFydHM6PC9wPgorPHVsPgorICA8bGk+RW50aXRpZXMgbG9hZGVyLCB0aGlzIGlzIGEgcm91dGluZSB3aGljaCB0cmllcyB0byBmZXRjaCB0aGUgZW50aXRpZXMKKyAgICAoZmlsZXMpIGJhc2VkIG9uIHRoZWlyIFBVQkxJQyBhbmQgU1lTVEVNIGlkZW50aWZpZXJzLiBUaGUgZGVmYXVsdCBsb2FkZXIKKyAgICBkb24ndCBsb29rIGF0IHRoZSBwdWJsaWMgaWRlbnRpZmllciBzaW5jZSBsaWJ4bWwyIGRvIG5vdCBtYWludGFpbiBhCisgICAgY2F0YWxvZy4gWW91IGNhbiByZWRlZmluZSB5b3Ugb3duIGVudGl0eSBsb2FkZXIgYnkgdXNpbmcKKyAgICA8Y29kZT54bWxHZXRFeHRlcm5hbEVudGl0eUxvYWRlcigpPC9jb2RlPiBhbmQKKyAgICA8Y29kZT54bWxTZXRFeHRlcm5hbEVudGl0eUxvYWRlcigpPC9jb2RlPi4gPGEgaHJlZj0iI2VudGl0aWVzIj5DaGVjayB0aGUKKyAgICBleGFtcGxlPC9hPi48L2xpPgorICA8bGk+SW5wdXQgSS9PIGJ1ZmZlcnMgd2hpY2ggYXJlIGEgY29tbW9kaXR5IHN0cnVjdHVyZSB1c2VkIGJ5IHRoZSBwYXJzZXIocykKKyAgICBpbnB1dCBsYXllciB0byBoYW5kbGUgZmV0Y2hpbmcgdGhlIGluZm9ybWF0aW9uIHRvIGZlZWQgdGhlIHBhcnNlci4gVGhpcworICAgIHByb3ZpZGVzIGJ1ZmZlcmluZyBhbmQgaXMgYWxzbyBhIHBsYWNlaG9sZGVyIHdoZXJlIHRoZSBlbmNvZGluZworICAgIGNvbnZlcnRlcnMgdG8gVVRGOCBhcmUgcGlnZ3ktYmFja2VkLjwvbGk+CisgIDxsaT5PdXRwdXQgSS9PIGJ1ZmZlcnMgYXJlIHNpbWlsYXIgdG8gdGhlIElucHV0IG9uZXMgYW5kIGZ1bGZpbGwgc2ltaWxhcgorICAgIHRhc2sgYnV0IHdoZW4gZ2VuZXJhdGluZyBhIHNlcmlhbGl6YXRpb24gZnJvbSBhIHRyZWUuPC9saT4KKyAgPGxpPkEgbWVjaGFuaXNtIHRvIHJlZ2lzdGVyIHNldHMgb2YgSS9PIGNhbGxiYWNrcyBhbmQgYXNzb2NpYXRlIHRoZW0gd2l0aAorICAgIHNwZWNpZmljIG5hbWluZyBzY2hlbWVzIGxpa2UgdGhlIHByb3RvY29sIHBhcnQgb2YgdGhlIFVSSXMuCisgICAgPHA+VGhpcyBhZmZlY3QgdGhlIGRlZmF1bHQgSS9PIG9wZXJhdGlvbnMgYW5kIGFsbG93cyB0byB1c2Ugc3BlY2lmaWMgSS9PCisgICAgaGFuZGxlcnMgZm9yIGNlcnRhaW4gbmFtZXMuPC9wPgorICA8L2xpPgorPC91bD4KKworPHA+VGhlIGdlbmVyYWwgbWVjaGFuaXNtIHVzZWQgd2hlbiBsb2FkaW5nIGh0dHA6Ly9ycG1maW5kLm5ldC94bWwuaHRtbCBmb3IKK2V4YW1wbGUgaW4gdGhlIEhUTUwgcGFyc2VyIGlzIHRoZSBmb2xsb3dpbmc6PC9wPgorPG9sPgorICA8bGk+VGhlIGRlZmF1bHQgZW50aXR5IGxvYWRlciBjYWxscyA8Y29kZT54bWxOZXdJbnB1dEZyb21GaWxlKCk8L2NvZGU+IHdpdGgKKyAgICB0aGUgcGFyc2luZyBjb250ZXh0IGFuZCB0aGUgVVJJIHN0cmluZy48L2xpPgorICA8bGk+dGhlIFVSSSBzdHJpbmcgaXMgY2hlY2tlZCBhZ2FpbnN0IHRoZSBleGlzdGluZyByZWdpc3RlcmVkIGhhbmRsZXJzCisgICAgdXNpbmcgdGhlaXIgbWF0Y2goKSBjYWxsYmFjayBmdW5jdGlvbiwgaWYgdGhlIEhUVFAgbW9kdWxlIHdhcyBjb21waWxlZAorICAgIGluLCBpdCBpcyByZWdpc3RlcmVkIGFuZCBpdHMgbWF0Y2goKSBmdW5jdGlvbiB3aWxsIHN1Y2NlZWRzPC9saT4KKyAgPGxpPnRoZSBvcGVuKCkgZnVuY3Rpb24gb2YgdGhlIGhhbmRsZXIgaXMgY2FsbGVkIGFuZCBpZiBzdWNjZXNzZnVsIHdpbGwKKyAgICByZXR1cm4gYW4gSS9PIElucHV0IGJ1ZmZlcjwvbGk+CisgIDxsaT50aGUgcGFyc2VyIHdpbGwgdGhlIHN0YXJ0IHJlYWRpbmcgZnJvbSB0aGlzIGJ1ZmZlciBhbmQgcHJvZ3Jlc3NpdmVseQorICAgIGZldGNoIGluZm9ybWF0aW9uIGZyb20gdGhlIHJlc291cmNlLCBjYWxsaW5nIHRoZSByZWFkKCkgZnVuY3Rpb24gb2YgdGhlCisgICAgaGFuZGxlciB1bnRpbCB0aGUgcmVzb3VyY2UgaXMgZXhoYXVzdGVkPC9saT4KKyAgPGxpPmlmIGFuIGVuY29kaW5nIGNoYW5nZSBpcyBkZXRlY3RlZCBpdCB3aWxsIGJlIGluc3RhbGxlZCBvbiB0aGUgaW5wdXQKKyAgICBidWZmZXIsIHByb3ZpZGluZyBidWZmZXJpbmcgYW5kIGVmZmljaWVudCB1c2Ugb2YgdGhlIGNvbnZlcnNpb24KKyAgcm91dGluZXM8L2xpPgorICA8bGk+b25jZSB0aGUgcGFyc2VyIGhhcyBmaW5pc2hlZCwgdGhlIGNsb3NlKCkgZnVuY3Rpb24gb2YgdGhlIGhhbmRsZXIgaXMKKyAgICBjYWxsZWQgb25jZSBhbmQgdGhlIElucHV0IGJ1ZmZlciBhbmQgYXNzb2NpYXRlZCByZXNvdXJjZXMgYXJlCisgIGRlYWxsb2NhdGVkLjwvbGk+Cis8L29sPgorCis8cD5UaGUgdXNlciBkZWZpbmVkIGNhbGxiYWNrcyBhcmUgY2hlY2tlZCBmaXJzdCB0byBhbGxvdyBvdmVycmlkaW5nIG9mIHRoZQorZGVmYXVsdCBsaWJ4bWwyIEkvTyByb3V0aW5lcy48L3A+CisKKzxoMz48YSBuYW1lPSJiYXNpYyI+VGhlIGJhc2ljIGJ1ZmZlciB0eXBlPC9hPjwvaDM+CisKKzxwPkFsbCB0aGUgYnVmZmVyIG1hbmlwdWxhdGlvbiBoYW5kbGluZyBpcyBkb25lIHVzaW5nIHRoZQorPGNvZGU+eG1sQnVmZmVyPC9jb2RlPiB0eXBlIGRlZmluZSBpbiA8Y29kZT48YQoraHJlZj0iaHR0cDovL3htbHNvZnQub3JnL2h0bWwvbGlieG1sLXRyZWUuaHRtbCI+dHJlZS5oPC9hPiA8L2NvZGU+d2hpY2ggaXMgYQorcmVzaXphYmxlIG1lbW9yeSBidWZmZXIuIFRoZSBidWZmZXIgYWxsb2NhdGlvbiBzdHJhdGVneSBjYW4gYmUgc2VsZWN0ZWQgdG8gYmUKK2VpdGhlciBiZXN0LWZpdCBvciB1c2UgYW4gZXhwb25lbnRpYWwgZG91Ymxpbmcgb25lIChDUFUgdnMuIG1lbW9yeSB1c2UKK3RyYWRlLW9mZikuIFRoZSB2YWx1ZXMgYXJlIDxjb2RlPlhNTF9CVUZGRVJfQUxMT0NfRVhBQ1Q8L2NvZGU+IGFuZAorPGNvZGU+WE1MX0JVRkZFUl9BTExPQ19ET1VCTEVJVDwvY29kZT4sIGFuZCBjYW4gYmUgc2V0IGluZGl2aWR1YWxseSBvciBvbiBhCitzeXN0ZW0gd2lkZSBiYXNpcyB1c2luZyA8Y29kZT54bWxCdWZmZXJTZXRBbGxvY2F0aW9uU2NoZW1lKCk8L2NvZGU+LiBBIG51bWJlcgorb2YgZnVuY3Rpb25zIGFsbG93cyB0byBtYW5pcHVsYXRlIGJ1ZmZlcnMgd2l0aCBuYW1lcyBzdGFydGluZyB3aXRoIHRoZQorPGNvZGU+eG1sQnVmZmVyLi4uPC9jb2RlPiBwcmVmaXguPC9wPgorCis8aDM+PGEgbmFtZT0iSW5wdXQiPklucHV0IEkvTyBoYW5kbGVyczwvYT48L2gzPgorCis8cD5BbiBJbnB1dCBJL08gaGFuZGxlciBpcyBhIHNpbXBsZSBzdHJ1Y3R1cmUKKzxjb2RlPnhtbFBhcnNlcklucHV0QnVmZmVyPC9jb2RlPiBjb250YWluaW5nIGEgY29udGV4dCBhc3NvY2lhdGVkIHRvIHRoZQorcmVzb3VyY2UgKGZpbGUgZGVzY3JpcHRvciwgb3IgcG9pbnRlciB0byBhIHByb3RvY29sIGhhbmRsZXIpLCB0aGUgcmVhZCgpIGFuZAorY2xvc2UoKSBjYWxsYmFja3MgdG8gdXNlIGFuZCBhbiB4bWxCdWZmZXIuIEFuZCBleHRyYSB4bWxCdWZmZXIgYW5kIGEgY2hhcnNldAorZW5jb2RpbmcgaGFuZGxlciBhcmUgYWxzbyBwcmVzZW50IHRvIHN1cHBvcnQgY2hhcnNldCBjb252ZXJzaW9uIHdoZW4KK25lZWRlZC48L3A+CisKKzxoMz48YSBuYW1lPSJPdXRwdXQiPk91dHB1dCBJL08gaGFuZGxlcnM8L2E+PC9oMz4KKworPHA+QW4gT3V0cHV0IGhhbmRsZXIgPGNvZGU+eG1sT3V0cHV0QnVmZmVyPC9jb2RlPiBpcyBjb21wbGV0ZWx5IHNpbWlsYXIgdG8gYW4KK0lucHV0IG9uZSBleGNlcHQgdGhlIGNhbGxiYWNrcyBhcmUgd3JpdGUoKSBhbmQgY2xvc2UoKS48L3A+CisKKzxoMz48YSBuYW1lPSJlbnRpdGllcyI+VGhlIGVudGl0aWVzIGxvYWRlcjwvYT48L2gzPgorCis8cD5UaGUgZW50aXR5IGxvYWRlciByZXNvbHZlcyByZXF1ZXN0cyBmb3IgbmV3IGVudGl0aWVzIGFuZCBjcmVhdGUgaW5wdXRzIGZvcgordGhlIHBhcnNlci4gQ3JlYXRpbmcgYW4gaW5wdXQgZnJvbSBhIGZpbGVuYW1lIG9yIGFuIFVSSSBzdHJpbmcgaXMgZG9uZQordGhyb3VnaCB0aGUgeG1sTmV3SW5wdXRGcm9tRmlsZSgpIHJvdXRpbmUuICBUaGUgZGVmYXVsdCBlbnRpdHkgbG9hZGVyIGRvIG5vdAoraGFuZGxlIHRoZSBQVUJMSUMgaWRlbnRpZmllciBhc3NvY2lhdGVkIHdpdGggYW4gZW50aXR5IChpZiBhbnkpLiBTbyBpdCBqdXN0CitjYWxscyB4bWxOZXdJbnB1dEZyb21GaWxlKCkgd2l0aCB0aGUgU1lTVEVNIGlkZW50aWZpZXIgKHdoaWNoIGlzIG1hbmRhdG9yeSBpbgorWE1MKS48L3A+CisKKzxwPklmIHlvdSB3YW50IHRvIGhvb2sgdXAgYSBjYXRhbG9nIG1lY2hhbmlzbSB0aGVuIHlvdSBzaW1wbHkgbmVlZCB0bworb3ZlcnJpZGUgdGhlIGRlZmF1bHQgZW50aXR5IGxvYWRlciwgaGVyZSBpcyBhbiBleGFtcGxlOjwvcD4KKzxwcmU+I2luY2x1ZGUgJmx0O2xpYnhtbC94bWxJTy5oJmd0OworCit4bWxFeHRlcm5hbEVudGl0eUxvYWRlciBkZWZhdWx0TG9hZGVyID0gTlVMTDsKKworeG1sUGFyc2VySW5wdXRQdHIKK3htbE15RXh0ZXJuYWxFbnRpdHlMb2FkZXIoY29uc3QgY2hhciAqVVJMLCBjb25zdCBjaGFyICpJRCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxQYXJzZXJDdHh0UHRyIGN0eHQpIHsKKyAgICB4bWxQYXJzZXJJbnB1dFB0ciByZXQ7CisgICAgY29uc3QgY2hhciAqZmlsZUlEID0gTlVMTDsKKyAgICAvKiBsb29rdXAgZm9yIHRoZSBmaWxlSUQgZGVwZW5kaW5nIG9uIElEICovCisKKyAgICByZXQgPSB4bWxOZXdJbnB1dEZyb21GaWxlKGN0eHQsIGZpbGVJRCk7CisgICAgaWYgKHJldCAhPSBOVUxMKQorICAgICAgICByZXR1cm4ocmV0KTsKKyAgICBpZiAoZGVmYXVsdExvYWRlciAhPSBOVUxMKQorICAgICAgICByZXQgPSBkZWZhdWx0TG9hZGVyKFVSTCwgSUQsIGN0eHQpOworICAgIHJldHVybihyZXQpOworfQorCitpbnQgbWFpbiguLikgeworICAgIC4uLgorCisgICAgLyoKKyAgICAgKiBJbnN0YWxsIG91ciBvd24gZW50aXR5IGxvYWRlcgorICAgICAqLworICAgIGRlZmF1bHRMb2FkZXIgPSB4bWxHZXRFeHRlcm5hbEVudGl0eUxvYWRlcigpOworICAgIHhtbFNldEV4dGVybmFsRW50aXR5TG9hZGVyKHhtbE15RXh0ZXJuYWxFbnRpdHlMb2FkZXIpOworCisgICAgLi4uCit9PC9wcmU+CisKKzxoMz48YSBuYW1lPSJFeGFtcGxlMiI+RXhhbXBsZSBvZiBjdXN0b21pemVkIEkvTzwvYT48L2gzPgorCis8cD5UaGlzIGV4YW1wbGUgY29tZSBmcm9tIDxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9tZXNzYWdlcy8wNzA4Lmh0bWwiPmEKK3JlYWwgdXNlIGNhc2U8L2E+LCAgeG1sRG9jRHVtcCgpIGNsb3NlcyB0aGUgRklMRSAqIHBhc3NlZCBieSB0aGUgYXBwbGljYXRpb24KK2FuZCB0aGlzIHdhcyBhIHByb2JsZW0uIFRoZSA8YQoraHJlZj0iaHR0cDovL3htbHNvZnQub3JnL21lc3NhZ2VzLzA3MTEuaHRtbCI+c29sdXRpb248L2E+IHdhcyB0byByZWRlZmluZSBhCituZXcgb3V0cHV0IGhhbmRsZXIgd2l0aCB0aGUgY2xvc2luZyBjYWxsIGRlYWN0aXZhdGVkOjwvcD4KKzxvbD4KKyAgPGxpPkZpcnN0IGRlZmluZSBhIG5ldyBJL08gb3V0cHV0IGFsbG9jYXRvciB3aGVyZSB0aGUgb3V0cHV0IGRvbid0IGNsb3NlCisgICAgdGhlIGZpbGU6CisgICAgPHByZT54bWxPdXRwdXRCdWZmZXJQdHIKK3htbE91dHB1dEJ1ZmZlckNyZWF0ZU93bihGSUxFICpmaWxlLCB4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyIGVuY29kZXIpIHsKKyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3htbE91dHB1dEJ1ZmZlclB0ciByZXQ7CismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsKKyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2lmICh4bWxPdXRwdXRDYWxsYmFja0luaXRpYWxpemVkID09IDApCismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt4bWxSZWdpc3RlckRlZmF1bHRPdXRwdXRDYWxsYmFja3MoKTsKKworJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7aWYgKGZpbGUgPT0gTlVMTCkgcmV0dXJuKE5VTEwpOworJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7cmV0ID0geG1sQWxsb2NPdXRwdXRCdWZmZXIoZW5jb2Rlcik7CismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtpZiAocmV0ICE9IE5VTEwpIHsKKyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3JldC0mZ3Q7Y29udGV4dCA9IGZpbGU7CismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtyZXQtJmd0O3dyaXRlY2FsbGJhY2sgPSB4bWxGaWxlV3JpdGU7CismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtyZXQtJmd0O2Nsb3NlY2FsbGJhY2sgPSBOVUxMOyAgLyogTm8gY2xvc2UgY2FsbGJhY2sgKi8KKyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO30KKyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3JldHVybihyZXQpOworfSA8L3ByZT4KKyAgPC9saT4KKyAgPGxpPkFuZCB0aGVuIHVzZSBpdCB0byBzYXZlIHRoZSBkb2N1bWVudDoKKyAgICA8cHJlPkZJTEUgKmY7Cit4bWxPdXRwdXRCdWZmZXJQdHIgb3V0cHV0OworeG1sRG9jUHRyIGRvYzsKK2ludCByZXM7CisKK2YgPSAuLi4KK2RvYyA9IC4uLi4KKworb3V0cHV0ID0geG1sT3V0cHV0QnVmZmVyQ3JlYXRlT3duKGYsIE5VTEwpOworcmVzID0geG1sU2F2ZUZpbGVUbyhvdXRwdXQsIGRvYywgTlVMTCk7CisgICAgPC9wcmU+CisgIDwvbGk+Cis8L29sPgorCis8aDI+PGEgbmFtZT0iQ2F0YWxvZyI+Q2F0YWxvZyBzdXBwb3J0PC9hPjwvaDI+CisKKzxwPlRhYmxlIG9mIENvbnRlbnQ6PC9wPgorPG9sPgorICA8bGk+PGEgaHJlZj0iR2VuZXJhbDIiPkdlbmVyYWwgb3ZlcnZpZXc8L2E+PC9saT4KKyAgPGxpPjxhIGhyZWY9IiNkZWZpbml0aW9uIj5UaGUgZGVmaW5pdGlvbjwvYT48L2xpPgorICA8bGk+PGEgaHJlZj0iI1NpbXBsZSI+VXNpbmcgY2F0YWxvZ3M8L2E+PC9saT4KKyAgPGxpPjxhIGhyZWY9IiNTb21lIj5Tb21lIGV4YW1wbGVzPC9hPjwvbGk+CisgIDxsaT48YSBocmVmPSIjcmVmZXJlbmNlIj5Ib3cgdG8gdHVuZSAgY2F0YWxvZyB1c2FnZTwvYT48L2xpPgorICA8bGk+PGEgaHJlZj0iI3ZhbGlkYXRlIj5Ib3cgdG8gZGVidWcgY2F0YWxvZyBwcm9jZXNzaW5nPC9hPjwvbGk+CisgIDxsaT48YSBocmVmPSIjRGVjbGFyaW5nIj5Ib3cgdG8gY3JlYXRlIGFuZCBtYWludGFpbiBjYXRhbG9nczwvYT48L2xpPgorICA8bGk+PGEgaHJlZj0iI2ltcGxlbWVudG8iPlRoZSBpbXBsZW1lbnRvciBjb3JuZXIgcXVpY2sgcmV2aWV3IG9mIHRoZQorICBBUEk8L2E+PC9saT4KKyAgPGxpPjxhIGhyZWY9IiNPdGhlciI+T3RoZXIgcmVzb3VyY2VzPC9hPjwvbGk+Cis8L29sPgorCis8aDM+PGEgbmFtZT0iR2VuZXJhbDIiPkdlbmVyYWwgb3ZlcnZpZXc8L2E+PC9oMz4KKworPHA+V2hhdCBpcyBhIGNhdGFsb2c/IEJhc2ljYWxseSBpdCdzIGEgbG9va3VwIG1lY2hhbmlzbSB1c2VkIHdoZW4gYW4gZW50aXR5CisoYSBmaWxlIG9yIGEgcmVtb3RlIHJlc291cmNlKSByZWZlcmVuY2VzIGFub3RoZXIgZW50aXR5LiBUaGUgY2F0YWxvZyBsb29rdXAKK2lzIGluc2VydGVkIGJldHdlZW4gdGhlIG1vbWVudCB0aGUgcmVmZXJlbmNlIGlzIHJlY29nbml6ZWQgYnkgdGhlIHNvZnR3YXJlCisoWE1MIHBhcnNlciwgc3R5bGVzaGVldCBwcm9jZXNzaW5nLCBvciBldmVuIGltYWdlcyByZWZlcmVuY2VkIGZvciBpbmNsdXNpb24KK2luIGEgcmVuZGVyaW5nKSBhbmQgdGhlIHRpbWUgd2hlcmUgbG9hZGluZyB0aGF0IHJlc291cmNlIGlzIGFjdHVhbGx5CitzdGFydGVkLjwvcD4KKworPHA+SXQgaXMgYmFzaWNhbGx5IHVzZWQgZm9yIDMgdGhpbmdzOjwvcD4KKzx1bD4KKyAgPGxpPm1hcHBpbmcgZnJvbSAibG9naWNhbCIgbmFtZXMsIHRoZSBwdWJsaWMgaWRlbnRpZmllcnMgYW5kIGEgbW9yZQorICAgIGNvbmNyZXRlIG5hbWUgdXNhYmxlIGZvciBkb3dubG9hZCAoYW5kIFVSSSkuIEZvciBleGFtcGxlIGl0IGNhbiBhc3NvY2lhdGUKKyAgICB0aGUgbG9naWNhbCBuYW1lCisgICAgPHA+Ii0vL09BU0lTLy9EVEQgRG9jQm9vayBYTUwgVjQuMS4yLy9FTiI8L3A+CisgICAgPHA+b2YgdGhlIERvY0Jvb2sgNC4xLjIgWE1MIERURCB3aXRoIHRoZSBhY3R1YWwgVVJMIHdoZXJlIGl0IGNhbiBiZQorICAgIGRvd25sb2FkZWQ8L3A+CisgICAgPHA+aHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9kb2Nib29rL3htbC80LjEuMi9kb2Nib29reC5kdGQ8L3A+CisgIDwvbGk+CisgIDxsaT5yZW1hcHBpbmcgZnJvbSBhIGdpdmVuIFVSTCB0byBhbm90aGVyIG9uZSwgbGlrZSBhbiBIVFRQIGluZGlyZWN0aW9uCisgICAgc2F5aW5nIHRoYXQKKyAgICA8cD4iaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9jb21taXR0ZXMvdHIueHNsIjwvcD4KKyAgICA8cD5zaG91bGQgcmVhbGx5IGJlIGxvb2tlZCBhdDwvcD4KKyAgICA8cD4iaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9jb21taXR0ZXMvZW50aXR5L3N0eWxlc2hlZXRzL2Jhc2UvdHIueHNsIjwvcD4KKyAgPC9saT4KKyAgPGxpPnByb3ZpZGluZyBhIGxvY2FsIGNhY2hlIG1lY2hhbmlzbSBhbGxvd2luZyB0byBsb2FkIHRoZSBlbnRpdGllcworICAgIGFzc29jaWF0ZWQgdG8gcHVibGljIGlkZW50aWZpZXJzIG9yIHJlbW90ZSByZXNvdXJjZXMsIHRoaXMgaXMgYSByZWFsbHkKKyAgICBpbXBvcnRhbnQgZmVhdHVyZSBmb3IgYW55IHNpZ25pZmljYW50IGRlcGxveW1lbnQgb2YgWE1MIG9yIFNHTUwgc2luY2UgaXQKKyAgICBhbGxvd3MgdG8gYXZvaWQgdGhlIGFsZWFzIGFuZCBkZWxheXMgYXNzb2NpYXRlZCB0byBmZXRjaGluZyByZW1vdGUKKyAgICByZXNvdXJjZXMuPC9saT4KKzwvdWw+CisKKzxoMz48YSBuYW1lPSJkZWZpbml0aW9uIj5UaGUgZGVmaW5pdGlvbnM8L2E+PC9oMz4KKworPHA+TGlieG1sLCBhcyBvZiAyLjQuMyBpbXBsZW1lbnRzIDIga2luZCBvZiBjYXRhbG9nczo8L3A+Cis8dWw+CisgIDxsaT50aGUgb2xkZXIgU0dNTCBjYXRhbG9ncywgdGhlIG9mZmljaWFsIHNwZWMgaXMgIFNHTUwgT3BlbiBUZWNobmljYWwKKyAgICBSZXNvbHV0aW9uIFRSOTQwMToxOTk3LCBidXQgaXMgYmV0dGVyIHVuZGVyc3Rvb2QgYnkgcmVhZGluZyA8YQorICAgIGhyZWY9Imh0dHA6Ly93d3cuamNsYXJrLmNvbS9zcC9jYXRhbG9nLmh0bSI+dGhlIFNQIENhdGFsb2cgcGFnZTwvYT4gZnJvbQorICAgIEphbWVzIENsYXJrLiBUaGlzIGlzIHJlbGF0aXZlbHkgb2xkIGFuZCBub3QgdGhlIHByZWZlcnJlZCBtb2RlIG9mCisgICAgb3BlcmF0aW9uIG9mIGxpYnhtbC48L2xpPgorICA8bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9jb21taXR0ZWVzL2VudGl0eS9zcGVjLmh0bWwiPlhNTAorICAgIENhdGFsb2dzPC9hPiBpcyBmYXIgbW9yZSBmbGV4aWJsZSwgbW9yZSByZWNlbnQsIHVzZXMgYW4gWE1MIHN5bnRheCBhbmQKKyAgICBzaG91bGQgc2NhbGUgcXVpdGUgYmV0dGVyLiBUaGlzIGlzIHRoZSBkZWZhdWx0IG9wdGlvbiBvZiBsaWJ4bWwuPC9saT4KKzwvdWw+CisKKzxwPjwvcD4KKworPGgzPjxhIG5hbWU9IlNpbXBsZSI+VXNpbmcgY2F0YWxvZzwvYT48L2gzPgorCis8cD5JbiBhIG5vcm1hbCBlbnZpcm9ubWVudCBsaWJ4bWwyIHdpbGwgYnkgZGVmYXVsdCBjaGVjayB0aGUgcHJlc2VuY2Ugb2YgYQorY2F0YWxvZyBpbiAvZXRjL3htbC9jYXRhbG9nLCBhbmQgYXNzdW1pbmcgaXQgaGFzIGJlZW4gY29ycmVjdGx5IHBvcHVsYXRlZCwKK3RoZSBwcm9jZXNzaW5nIGlzIGNvbXBsZXRlbHkgdHJhbnNwYXJlbnQgdG8gdGhlIGRvY3VtZW50IHVzZXIuIFRvIHRha2UgYQorY29uY3JldGUgZXhhbXBsZSwgc3VwcG9zZSB5b3UgYXJlIGF1dGhvcmluZyBhIERvY0Jvb2sgZG9jdW1lbnQsIHRoaXMgb25lCitzdGFydHMgd2l0aCB0aGUgZm9sbG93aW5nIERPQ1RZUEUgZGVmaW5pdGlvbjo8L3A+Cis8cHJlPiZsdDs/eG1sIHZlcnNpb249JzEuMCc/Jmd0OworJmx0OyFET0NUWVBFIGJvb2sgUFVCTElDICItLy9Ob3JtYW4gV2Fsc2gvL0RURCBEb2NCayBYTUwgVjMuMS40Ly9FTiIKKyAgICAgICAgICAiaHR0cDovL253YWxzaC5jb20vZG9jYm9vay94bWwvMy4xLjQvZGIzeG1sLmR0ZCImZ3Q7PC9wcmU+CisKKzxwPldoZW4gdmFsaWRhdGluZyB0aGUgZG9jdW1lbnQgd2l0aCBsaWJ4bWwsIHRoZSBjYXRhbG9nIHdpbGwgYmUKK2F1dG9tYXRpY2FsbHkgY29uc3VsdGVkIHRvIGxvb2t1cCB0aGUgcHVibGljIGlkZW50aWZpZXIgIi0vL05vcm1hbiBXYWxzaC8vRFRECitEb2NCayBYTUwgVjMuMS40Ly9FTiIgYW5kIHRoZSBzeXN0ZW0gaWRlbnRpZmllcgorImh0dHA6Ly9ud2Fsc2guY29tL2RvY2Jvb2sveG1sLzMuMS40L2RiM3htbC5kdGQiLCBhbmQgaWYgdGhlc2UgZW50aXRpZXMgaGF2ZQorYmVlbiBpbnN0YWxsZWQgb24geW91ciBzeXN0ZW0gYW5kIHRoZSBjYXRhbG9ncyBhY3R1YWxseSBwb2ludCB0byB0aGVtLCBsaWJ4bWwKK3dpbGwgZmV0Y2ggdGhlbSBmcm9tIHRoZSBsb2NhbCBkaXNrLjwvcD4KKworPHAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdCI+PHN0cm9uZz5Ob3RlPC9zdHJvbmc+OiBSZWFsbHkgZG9uJ3QgdXNlIHRoaXMKK0RPQ1RZUEUgZXhhbXBsZSBpdCdzIGEgcmVhbGx5IG9sZCB2ZXJzaW9uLCBidXQgaXMgZmluZSBhcyBhbiBleGFtcGxlLjwvcD4KKworPHA+TGlieG1sMiB3aWxsIGNoZWNrIHRoZSBjYXRhbG9nIGVhY2ggdGltZSB0aGF0IGl0IGlzIHJlcXVlc3RlZCB0byBsb2FkIGFuCitlbnRpdHksIHRoaXMgaW5jbHVkZXMgRFRELCBleHRlcm5hbCBwYXJzZWQgZW50aXRpZXMsIHN0eWxlc2hlZXRzLCBldGMgLi4uIElmCit5b3VyIHN5c3RlbSBpcyBjb3JyZWN0bHkgY29uZmlndXJlZCBhbGwgdGhlIGF1dGhvcmluZyBwaGFzZSBhbmQgcHJvY2Vzc2luZworc2hvdWxkIHVzZSBvbmx5IGxvY2FsIGZpbGVzLCBldmVuIGlmIHlvdXIgZG9jdW1lbnQgc3RheXMgcG9ydGFibGUgYmVjYXVzZSBpdAordXNlcyB0aGUgY2Fub25pY2FsIHB1YmxpYyBhbmQgc3lzdGVtIElELCByZWZlcmVuY2luZyB0aGUgcmVtb3RlIGRvY3VtZW50LjwvcD4KKworPGgzPjxhIG5hbWU9IlNvbWUiPlNvbWUgZXhhbXBsZXM6PC9hPjwvaDM+CisKKzxwPkhlcmUgaXMgYSBjb3VwbGUgb2YgZnJhZ21lbnRzIGZyb20gWE1MIENhdGFsb2dzIHVzZWQgaW4gbGlieG1sMiBlYXJseQorcmVncmVzc2lvbiB0ZXN0cyBpbiA8Y29kZT50ZXN0L2NhdGFsb2dzPC9jb2RlPiA6PC9wPgorPHByZT4mbHQ7P3htbCB2ZXJzaW9uPSIxLjAiPyZndDsKKyZsdDshRE9DVFlQRSBjYXRhbG9nIFBVQkxJQyAKKyAgICItLy9PQVNJUy8vRFREIEVudGl0eSBSZXNvbHV0aW9uIFhNTCBDYXRhbG9nIFYxLjAvL0VOIgorICAgImh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvY29tbWl0dGVlcy9lbnRpdHkvcmVsZWFzZS8xLjAvY2F0YWxvZy5kdGQiJmd0OworJmx0O2NhdGFsb2cgeG1sbnM9InVybjpvYXNpczpuYW1lczp0YzplbnRpdHk6eG1sbnM6eG1sOmNhdGFsb2ciJmd0OworICAmbHQ7cHVibGljIHB1YmxpY0lkPSItLy9PQVNJUy8vRFREIERvY0Jvb2sgWE1MIFY0LjEuMi8vRU4iCisgICB1cmk9Imh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvZG9jYm9vay94bWwvNC4xLjIvZG9jYm9va3guZHRkIi8mZ3Q7CisuLi48L3ByZT4KKworPHA+VGhpcyBpcyB0aGUgYmVnaW5uaW5nIG9mIGEgY2F0YWxvZyBmb3IgRG9jQm9vayA0LjEuMiwgWE1MIENhdGFsb2dzIGFyZQord3JpdHRlbiBpbiBYTUwsICB0aGVyZSBpcyBhIHNwZWNpZmljIG5hbWVzcGFjZSBmb3IgY2F0YWxvZyBlbGVtZW50cworInVybjpvYXNpczpuYW1lczp0YzplbnRpdHk6eG1sbnM6eG1sOmNhdGFsb2ciLiBUaGUgZmlyc3QgZW50cnkgaW4gdGhpcworY2F0YWxvZyBpcyBhIDxjb2RlPnB1YmxpYzwvY29kZT4gbWFwcGluZyBpdCBhbGxvd3MgdG8gYXNzb2NpYXRlIGEgUHVibGljCitJZGVudGlmaWVyIHdpdGggYW4gVVJJLjwvcD4KKzxwcmU+Li4uCisgICAgJmx0O3Jld3JpdGVTeXN0ZW0gc3lzdGVtSWRTdGFydFN0cmluZz0iaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9kb2Nib29rLyIKKyAgICAgICAgICAgICAgICAgICByZXdyaXRlUHJlZml4PSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay8iLyZndDsKKy4uLjwvcHJlPgorCis8cD5BIDxjb2RlPnJld3JpdGVTeXN0ZW08L2NvZGU+IGlzIGEgdmVyeSBwb3dlcmZ1bCBpbnN0cnVjdGlvbiwgaXQgc2F5cyB0aGF0CithbnkgVVJJIHN0YXJ0aW5nIHdpdGggYSBnaXZlbiBwcmVmaXggc2hvdWxkIGJlIGxvb2tlZCBhdCBhbm90aGVyICBVUkkKK2NvbnN0cnVjdGVkIGJ5IHJlcGxhY2luZyB0aGUgcHJlZml4IHdpdGggYW4gbmV3IG9uZS4gSW4gZWZmZWN0IHRoaXMgYWN0cyBsaWtlCithIGNhY2hlIHN5c3RlbSBmb3IgYSBmdWxsIGFyZWEgb2YgdGhlIFdlYi4gSW4gcHJhY3RpY2UgaXQgaXMgZXh0cmVtZWx5IHVzZWZ1bAord2l0aCBhIGZpbGUgcHJlZml4IGlmIHlvdSBoYXZlIGluc3RhbGxlZCBhIGNvcHkgb2YgdGhvc2UgcmVzb3VyY2VzIG9uIHlvdXIKK2xvY2FsIHN5c3RlbS48L3A+Cis8cHJlPi4uLgorJmx0O2RlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL09BU0lTLy9EVEQgWE1MIENhdGFsb2cgLy8iCisgICAgICAgICAgICAgICAgY2F0YWxvZz0iZmlsZTovLy91c3Ivc2hhcmUveG1sL2RvY2Jvb2sueG1sIi8mZ3Q7CismbHQ7ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vT0FTSVMvL0VOVElUSUVTIERvY0Jvb2sgWE1MIgorICAgICAgICAgICAgICAgIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rLnhtbCIvJmd0OworJmx0O2RlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL09BU0lTLy9EVEQgRG9jQm9vayBYTUwiCisgICAgICAgICAgICAgICAgY2F0YWxvZz0iZmlsZTovLy91c3Ivc2hhcmUveG1sL2RvY2Jvb2sueG1sIi8mZ3Q7CismbHQ7ZGVsZWdhdGVTeXN0ZW0gc3lzdGVtSWRTdGFydFN0cmluZz0iaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9kb2Nib29rLyIKKyAgICAgICAgICAgICAgICBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay54bWwiLyZndDsKKyZsdDtkZWxlZ2F0ZVVSSSB1cmlTdGFydFN0cmluZz0iaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9kb2Nib29rLyIKKyAgICAgICAgICAgICAgICBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay54bWwiLyZndDsKKy4uLjwvcHJlPgorCis8cD5EZWxlZ2F0aW9uIGlzIHRoZSBjb3JlIGZlYXR1cmVzIHdoaWNoIGFsbG93cyB0byBidWlsZCBhIHRyZWUgb2YgY2F0YWxvZ3MsCitlYXNpZXIgdG8gbWFpbnRhaW4gdGhhbiBhIHNpbmdsZSBjYXRhbG9nLCBiYXNlZCBvbiBQdWJsaWMgSWRlbnRpZmllciwgU3lzdGVtCitJZGVudGlmaWVyIG9yIFVSSSBwcmVmaXhlcyBpdCBpbnN0cnVjdHMgdGhlIGNhdGFsb2cgc29mdHdhcmUgdG8gbG9vayB1cAorZW50cmllcyBpbiBhbm90aGVyIHJlc291cmNlLiBUaGlzIGZlYXR1cmUgYWxsb3cgdG8gYnVpbGQgaGllcmFyY2hpZXMgb2YKK2NhdGFsb2dzLCB0aGUgc2V0IG9mIGVudHJpZXMgcHJlc2VudGVkIHNob3VsZCBiZSBzdWZmaWNpZW50IHRvIHJlZGlyZWN0IHRoZQorcmVzb2x1dGlvbiBvZiBhbGwgRG9jQm9vayByZWZlcmVuY2VzIHRvIHRoZSBzcGVjaWZpYyBjYXRhbG9nIGluCis8Y29kZT4vdXNyL3NoYXJlL3htbC9kb2Nib29rLnhtbDwvY29kZT4gdGhpcyBvbmUgaW4gdHVybiBjb3VsZCBkZWxlZ2F0ZSBhbGwKK3JlZmVyZW5jZXMgZm9yIERvY0Jvb2sgNC4yLjEgdG8gYSBzcGVjaWZpYyBjYXRhbG9nIGluc3RhbGxlZCBhdCB0aGUgc2FtZSB0aW1lCithcyB0aGUgRG9jQm9vayByZXNvdXJjZXMgb24gdGhlIGxvY2FsIG1hY2hpbmUuPC9wPgorCis8aDM+PGEgbmFtZT0icmVmZXJlbmNlIj5Ib3cgdG8gdHVuZSBjYXRhbG9nIHVzYWdlOjwvYT48L2gzPgorCis8cD5UaGUgdXNlciBjYW4gY2hhbmdlIHRoZSBkZWZhdWx0IGNhdGFsb2cgYmVoYXZpb3VyIGJ5IHJlZGlyZWN0aW5nIHF1ZXJpZXMKK3RvIGl0cyBvd24gc2V0IG9mIGNhdGFsb2dzLCB0aGlzIGNhbiBiZSBkb25lIGJ5IHNldHRpbmcgdGhlCis8Y29kZT5YTUxfQ0FUQUxPR19GSUxFUzwvY29kZT4gZW52aXJvbm1lbnQgdmFyaWFibGUgdG8gYSBsaXN0IG9mIGNhdGFsb2dzLCBhbgorZW1wdHkgb25lIHNob3VsZCBkZWFjdGl2YXRlIGxvYWRpbmcgdGhlIGRlZmF1bHQgPGNvZGU+L2V0Yy94bWwvY2F0YWxvZzwvY29kZT4KK2RlZmF1bHQgY2F0YWxvZzwvcD4KKworPGgzPjxhIG5hbWU9InZhbGlkYXRlIj5Ib3cgdG8gZGVidWcgY2F0YWxvZyBwcm9jZXNzaW5nOjwvYT48L2gzPgorCis8cD5TZXR0aW5nIHVwIHRoZSA8Y29kZT5YTUxfREVCVUdfQ0FUQUxPRzwvY29kZT4gZW52aXJvbm1lbnQgdmFyaWFibGUgd2lsbAorbWFrZSBsaWJ4bWwyIG91dHB1dCBkZWJ1Z2dpbmcgaW5mb3JtYXRpb24gZm9yIGVhY2ggY2F0YWxvZyBvcGVyYXRpb25zLCBmb3IKK2V4YW1wbGU6PC9wPgorPHByZT5vcmNoaXM6fi9YTUwgLSZndDsgeG1sbGludCAtLW1lbW9yeSAtLW5vb3V0IHRlc3QvZW50Mgord2FybmluZzogZmFpbGVkIHRvIGxvYWQgZXh0ZXJuYWwgZW50aXR5ICJ0aXRsZS54bWwiCitvcmNoaXM6fi9YTUwgLSZndDsgZXhwb3J0IFhNTF9ERUJVR19DQVRBTE9HPQorb3JjaGlzOn4vWE1MIC0mZ3Q7IHhtbGxpbnQgLS1tZW1vcnkgLS1ub291dCB0ZXN0L2VudDIKK0ZhaWxlZCB0byBwYXJzZSBjYXRhbG9nIC9ldGMveG1sL2NhdGFsb2cKK0ZhaWxlZCB0byBwYXJzZSBjYXRhbG9nIC9ldGMveG1sL2NhdGFsb2cKK3dhcm5pbmc6IGZhaWxlZCB0byBsb2FkIGV4dGVybmFsIGVudGl0eSAidGl0bGUueG1sIgorQ2F0YWxvZ3MgY2xlYW51cAorb3JjaGlzOn4vWE1MIC0mZ3Q7IDwvcHJlPgorCis8cD5UaGUgdGVzdC9lbnQyIHJlZmVyZW5jZXMgYW4gZW50aXR5LCBydW5uaW5nIHRoZSBwYXJzZXIgZnJvbSBtZW1vcnkgbWFrZXMKK3RoZSBiYXNlIFVSSSB1bmF2YWlsYWJsZSBhbmQgdGhlIHRoZSAidGl0bGUueG1sIiBlbnRpdHkgY2Fubm90IGJlIGxvYWRlZC4KK1NldHRpbmcgdXAgdGhlIGRlYnVnIGVudmlyb25tZW50IHZhcmlhYmxlIGFsbG93cyB0byBkZXRlY3QgdGhhdCBhbiBhdHRlbXB0IGlzCittYWRlIHRvIGxvYWQgdGhlIDxjb2RlPi9ldGMveG1sL2NhdGFsb2c8L2NvZGU+IGJ1dCBzaW5jZSBpdCdzIG5vdCBwcmVzZW50IHRoZQorcmVzb2x1dGlvbiBmYWlscy48L3A+CisKKzxwPkJ1dCB0aGUgbW9zdCBhZHZhbmNlZCB3YXkgdG8gZGVidWcgWE1MIGNhdGFsb2cgcHJvY2Vzc2luZyBpcyB0byB1c2UgdGhlCis8c3Ryb25nPnhtbGNhdGFsb2c8L3N0cm9uZz4gY29tbWFuZCBzaGlwcGVkIHdpdGggbGlieG1sMiwgaXQgYWxsb3dzIHRvIGxvYWQKK2NhdGFsb2dzIGFuZCBtYWtlIHJlc29sdXRpb24gcXVlcmllcyB0byBzZWUgd2hhdCBpcyBnb2luZyBvbi4gVGhpcyBpcyBhbHNvCit1c2VkIGZvciB0aGUgcmVncmVzc2lvbiB0ZXN0czo8L3A+Cis8cHJlPm9yY2hpczp+L1hNTCAtJmd0OyAuL3htbGNhdGFsb2cgdGVzdC9jYXRhbG9ncy9kb2Nib29rLnhtbCBcCisgICAgICAgICAgICAgICAgICAgIi0vL09BU0lTLy9EVEQgRG9jQm9vayBYTUwgVjQuMS4yLy9FTiIKK2h0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvZG9jYm9vay94bWwvNC4xLjIvZG9jYm9va3guZHRkCitvcmNoaXM6fi9YTUwgLSZndDsgPC9wcmU+CisKKzxwPkZvciBkZWJ1Z2dpbmcgd2hhdCBpcyBnb2luZyBvbiwgYWRkaW5nIG9uZSAtdiBmbGFncyBpbmNyZWFzZSB0aGUgdmVyYm9zaXR5CitsZXZlbCB0byBpbmRpY2F0ZSB0aGUgcHJvY2Vzc2luZyBkb25lIChhZGRpbmcgYSBzZWNvbmQgZmxhZyBhbHNvIGluZGljYXRlCit3aGF0IGVsZW1lbnRzIGFyZSByZWNvZ25pemVkIGF0IHBhcnNpbmcpOjwvcD4KKzxwcmU+b3JjaGlzOn4vWE1MIC0mZ3Q7IC4veG1sY2F0YWxvZyAtdiB0ZXN0L2NhdGFsb2dzL2RvY2Jvb2sueG1sIFwKKyAgICAgICAgICAgICAgICAgICAiLS8vT0FTSVMvL0RURCBEb2NCb29rIFhNTCBWNC4xLjIvL0VOIgorUGFyc2luZyBjYXRhbG9nIHRlc3QvY2F0YWxvZ3MvZG9jYm9vay54bWwncyBjb250ZW50CitGb3VuZCBwdWJsaWMgbWF0Y2ggLS8vT0FTSVMvL0RURCBEb2NCb29rIFhNTCBWNC4xLjIvL0VOCitodHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL2RvY2Jvb2sveG1sLzQuMS4yL2RvY2Jvb2t4LmR0ZAorQ2F0YWxvZ3MgY2xlYW51cAorb3JjaGlzOn4vWE1MIC0mZ3Q7IDwvcHJlPgorCis8cD5BIHNoZWxsIGludGVyZmFjZSBpcyBhbHNvIGF2YWlsYWJsZSB0byBkZWJ1ZyBhbmQgcHJvY2VzcyBtdWx0aXBsZSBxdWVyaWVzCisoYW5kIGZvciByZWdyZXNzaW9uIHRlc3RzKTo8L3A+Cis8cHJlPm9yY2hpczp+L1hNTCAtJmd0OyAuL3htbGNhdGFsb2cgLXNoZWxsIHRlc3QvY2F0YWxvZ3MvZG9jYm9vay54bWwgXAorICAgICAgICAgICAgICAgICAgICItLy9PQVNJUy8vRFREIERvY0Jvb2sgWE1MIFY0LjEuMi8vRU4iCismZ3Q7IGhlbHAgICAKK0NvbW1hbmRzIGF2YWlsYWJsZToKK3B1YmxpYyBQdWJsaWNJRDogbWFrZSBhIFBVQkxJQyBpZGVudGlmaWVyIGxvb2t1cAorc3lzdGVtIFN5c3RlbUlEOiBtYWtlIGEgU1lTVEVNIGlkZW50aWZpZXIgbG9va3VwCityZXNvbHZlIFB1YmxpY0lEIFN5c3RlbUlEOiBkbyBhIGZ1bGwgcmVzb2x2ZXIgbG9va3VwCithZGQgJ3R5cGUnICdvcmlnJyAncmVwbGFjZScgOiBhZGQgYW4gZW50cnkKK2RlbCAndmFsdWVzJyA6IHJlbW92ZSB2YWx1ZXMKK2R1bXA6IHByaW50IHRoZSBjdXJyZW50IGNhdGFsb2cgc3RhdGUKK2RlYnVnOiBpbmNyZWFzZSB0aGUgdmVyYm9zaXR5IGxldmVsCitxdWlldDogZGVjcmVhc2UgdGhlIHZlcmJvc2l0eSBsZXZlbAorZXhpdDogIHF1aXQgdGhlIHNoZWxsCismZ3Q7IHB1YmxpYyAiLS8vT0FTSVMvL0RURCBEb2NCb29rIFhNTCBWNC4xLjIvL0VOIgoraHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9kb2Nib29rL3htbC80LjEuMi9kb2Nib29reC5kdGQKKyZndDsgcXVpdAorb3JjaGlzOn4vWE1MIC0mZ3Q7IDwvcHJlPgorCis8cD5UaGlzIHNob3VsZCBiZSBzdWZmaWNpZW50IGZvciBtb3N0IGRlYnVnZ2luZyBwdXJwb3NlLCB0aGlzIHdhcyBhY3R1YWxseQordXNlZCBoZWF2aWx5IHRvIGRlYnVnIHRoZSBYTUwgQ2F0YWxvZyBpbXBsZW1lbnRhdGlvbiBpdHNlbGYuPC9wPgorCis8aDM+PGEgbmFtZT0iRGVjbGFyaW5nIj5Ib3cgdG8gY3JlYXRlIGFuZCBtYWludGFpbjwvYT4gY2F0YWxvZ3M6PC9oMz4KKworPHA+QmFzaWNhbGx5IFhNTCBDYXRhbG9ncyBhcmUgWE1MIGZpbGVzLCB5b3UgY2FuIGVpdGhlciB1c2UgWE1MIHRvb2xzIHRvCittYW5hZ2UgdGhlbSBvciB1c2UgIDxzdHJvbmc+eG1sY2F0YWxvZzwvc3Ryb25nPiBmb3IgdGhpcy4gVGhlIGJhc2ljIHN0ZXAgaXMKK3RvIGNyZWF0ZSBhIGNhdGFsb2cgdGhlIC1jcmVhdGUgb3B0aW9uIHByb3ZpZGUgdGhpcyBmYWNpbGl0eTo8L3A+Cis8cHJlPm9yY2hpczp+L1hNTCAtJmd0OyAuL3htbGNhdGFsb2cgLS1jcmVhdGUgdHN0LnhtbAorJmx0Oz94bWwgdmVyc2lvbj0iMS4wIj8mZ3Q7CismbHQ7IURPQ1RZUEUgY2F0YWxvZyBQVUJMSUMgIi0vL09BU0lTLy9EVEQgRW50aXR5IFJlc29sdXRpb24gWE1MIENhdGFsb2cgVjEuMC8vRU4iCisgICAgICAgICAiaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9jb21taXR0ZWVzL2VudGl0eS9yZWxlYXNlLzEuMC9jYXRhbG9nLmR0ZCImZ3Q7CismbHQ7Y2F0YWxvZyB4bWxucz0idXJuOm9hc2lzOm5hbWVzOnRjOmVudGl0eTp4bWxuczp4bWw6Y2F0YWxvZyIvJmd0Oworb3JjaGlzOn4vWE1MIC0mZ3Q7IDwvcHJlPgorCis8cD5CeSBkZWZhdWx0IHhtbGNhdGFsb2cgZG9lcyBub3Qgb3ZlcndyaXRlIHRoZSBvcmlnaW5hbCBjYXRhbG9nIGFuZCBzYXZlIHRoZQorcmVzdWx0IG9uIHRoZSBzdGFuZGFyZCBvdXRwdXQsIHRoaXMgY2FuIGJlIG92ZXJyaWRkZW4gdXNpbmcgdGhlIC1ub291dAorb3B0aW9uLiBUaGUgPGNvZGU+LWFkZDwvY29kZT4gY29tbWFuZCBhbGxvd3MgdG8gYWRkIGVudHJpZXMgaW4gdGhlCitjYXRhbG9nOjwvcD4KKzxwcmU+b3JjaGlzOn4vWE1MIC0mZ3Q7IC4veG1sY2F0YWxvZyAtLW5vb3V0IC0tY3JlYXRlIC0tYWRkICJwdWJsaWMiIFwKKyAgIi0vL09BU0lTLy9EVEQgRG9jQm9vayBYTUwgVjQuMS4yLy9FTiIgXAorICBodHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL2RvY2Jvb2sveG1sLzQuMS4yL2RvY2Jvb2t4LmR0ZCB0c3QueG1sCitvcmNoaXM6fi9YTUwgLSZndDsgY2F0IHRzdC54bWwKKyZsdDs/eG1sIHZlcnNpb249IjEuMCI/Jmd0OworJmx0OyFET0NUWVBFIGNhdGFsb2cgUFVCTElDICItLy9PQVNJUy8vRFREIEVudGl0eSBSZXNvbHV0aW9uIFhNTCBDYXRhbG9nIFYxLjAvL0VOIiBcCisgICJodHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL2NvbW1pdHRlZXMvZW50aXR5L3JlbGVhc2UvMS4wL2NhdGFsb2cuZHRkIiZndDsKKyZsdDtjYXRhbG9nIHhtbG5zPSJ1cm46b2FzaXM6bmFtZXM6dGM6ZW50aXR5OnhtbG5zOnhtbDpjYXRhbG9nIiZndDsKKyZsdDtwdWJsaWMgcHVibGljSWQ9Ii0vL09BU0lTLy9EVEQgRG9jQm9vayBYTUwgVjQuMS4yLy9FTiIKKyAgICAgICAgdXJpPSJodHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL2RvY2Jvb2sveG1sLzQuMS4yL2RvY2Jvb2t4LmR0ZCIvJmd0OworJmx0Oy9jYXRhbG9nJmd0Oworb3JjaGlzOn4vWE1MIC0mZ3Q7IDwvcHJlPgorCis8cD5UaGUgPGNvZGU+LWFkZDwvY29kZT4gb3B0aW9uIHdpbGwgYWx3YXlzIHRha2UgMyBwYXJhbWV0ZXJzIGV2ZW4gaWYgc29tZSBvZgordGhlIFhNTCBDYXRhbG9nIGNvbnN0cnVjdHMgKGxpa2UgbmV4dENhdGFsb2cpIHdpbGwgaGF2ZSBvbmx5IGEgc2luZ2xlCithcmd1bWVudCwganVzdCBwYXNzIGEgdGhpcmQgZW1wdHkgc3RyaW5nLCBpdCB3aWxsIGJlIGlnbm9yZWQuPC9wPgorCis8cD5TaW1pbGFybHkgdGhlIDxjb2RlPi1kZWw8L2NvZGU+IG9wdGlvbiByZW1vdmUgbWF0Y2hpbmcgZW50cmllcyBmcm9tIHRoZQorY2F0YWxvZzo8L3A+Cis8cHJlPm9yY2hpczp+L1hNTCAtJmd0OyAuL3htbGNhdGFsb2cgLS1kZWwgXAorICAiaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9kb2Nib29rL3htbC80LjEuMi9kb2Nib29reC5kdGQiIHRzdC54bWwKKyZsdDs/eG1sIHZlcnNpb249IjEuMCI/Jmd0OworJmx0OyFET0NUWVBFIGNhdGFsb2cgUFVCTElDICItLy9PQVNJUy8vRFREIEVudGl0eSBSZXNvbHV0aW9uIFhNTCBDYXRhbG9nIFYxLjAvL0VOIgorICAgICJodHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL2NvbW1pdHRlZXMvZW50aXR5L3JlbGVhc2UvMS4wL2NhdGFsb2cuZHRkIiZndDsKKyZsdDtjYXRhbG9nIHhtbG5zPSJ1cm46b2FzaXM6bmFtZXM6dGM6ZW50aXR5OnhtbG5zOnhtbDpjYXRhbG9nIi8mZ3Q7CitvcmNoaXM6fi9YTUwgLSZndDsgPC9wcmU+CisKKzxwPlRoZSBjYXRhbG9nIGlzIG5vdyBlbXB0eS4gTm90ZSB0aGF0IHRoZSBtYXRjaGluZyBvZiA8Y29kZT4tZGVsPC9jb2RlPiBpcworZXhhY3QgYW5kIHdvdWxkIGhhdmUgd29ya2VkIGluIGEgc2ltaWxhciBmYXNoaW9uIHdpdGggdGhlIFB1YmxpYyBJRAorc3RyaW5nLjwvcD4KKworPHA+VGhpcyBpcyBydWRpbWVudGFyeSBidXQgc2hvdWxkIGJlIHN1ZmZpY2llbnQgdG8gbWFuYWdlIGEgbm90IHRvbyBjb21wbGV4CitjYXRhbG9nIHRyZWUgb2YgcmVzb3VyY2VzLjwvcD4KKworPGgzPjxhIG5hbWU9ImltcGxlbWVudG8iPlRoZSBpbXBsZW1lbnRvciBjb3JuZXIgcXVpY2sgcmV2aWV3IG9mIHRoZQorQVBJOjwvYT48L2gzPgorCis8cD5GaXJzdCwgYW5kIGxpa2UgZm9yIGV2ZXJ5IG90aGVyIG1vZHVsZSBvZiBsaWJ4bWwsIHRoZXJlIGlzIGFuCithdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCA8YSBocmVmPSJodG1sL2xpYnhtbC1jYXRhbG9nLmh0bWwiPkFQSSBwYWdlIGZvcgorY2F0YWxvZyBzdXBwb3J0PC9hPi48L3A+CisKKzxwPlRoZSBoZWFkZXIgZm9yIHRoZSBjYXRhbG9nIGludGVyZmFjZXMgc2hvdWxkIGJlIGluY2x1ZGVkIGFzOjwvcD4KKzxwcmU+I2luY2x1ZGUgJmx0O2xpYnhtbC9jYXRhbG9nLmgmZ3Q7PC9wcmU+CisKKzxwPlRoZSBBUEkgaXMgdm9sdW50YXJpbHkga2VwdCB2ZXJ5IHNpbXBsZS4gRmlyc3QgaXQgaXMgbm90IG9idmlvdXMgdGhhdAorYXBwbGljYXRpb25zIHJlYWxseSBuZWVkIGFjY2VzcyB0byBpdCBzaW5jZSBpdCBpcyB0aGUgZGVmYXVsdCBiZWhhdmlvdXIgb2YKK2xpYnhtbDIgKE5vdGU6IGl0IGlzIHBvc3NpYmxlIHRvIGNvbXBsZXRlbHkgb3ZlcnJpZGUgbGlieG1sMiBkZWZhdWx0IGNhdGFsb2cKK2J5IHVzaW5nIDxhIGhyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sIj54bWxTZXRFeHRlcm5hbEVudGl0eUxvYWRlcjwvYT4gdG8KK3BsdWcgYW4gYXBwbGljYXRpb24gc3BlY2lmaWMgcmVzb2x2ZXIpLjwvcD4KKworPHA+QmFzaWNhbGx5IGxpYnhtbDIgc3VwcG9ydCAyIGNhdGFsb2cgbGlzdHM6PC9wPgorPHVsPgorICA8bGk+dGhlIGRlZmF1bHQgb25lLCBnbG9iYWwgc2hhcmVkIGJ5IGFsbCB0aGUgYXBwbGljYXRpb248L2xpPgorICA8bGk+YSBwZXItZG9jdW1lbnQgY2F0YWxvZywgdGhpcyBvbmUgaXMgYnVpbHQgaWYgdGhlIGRvY3VtZW50IHVzZXMgdGhlCisgICAgPGNvZGU+b2FzaXMteG1sLWNhdGFsb2c8L2NvZGU+IFBJcyB0byBzcGVjaWZ5IGl0cyBvd24gY2F0YWxvZyBsaXN0LCBpdCBpcworICAgIGFzc29jaWF0ZWQgdG8gdGhlIHBhcnNlciBjb250ZXh0IGFuZCBkZXN0cm95ZWQgd2hlbiB0aGUgcGFyc2luZyBjb250ZXh0CisgICAgaXMgZGVzdHJveWVkLjwvbGk+Cis8L3VsPgorCis8cD50aGUgZG9jdW1lbnQgb25lIHdpbGwgYmUgdXNlZCBmaXJzdCBpZiBpdCBleGlzdHMuPC9wPgorCis8aDQ+SW5pdGlhbGl6YXRpb24gcm91dGluZXM6PC9oND4KKworPHA+eG1sSW5pdGlhbGl6ZUNhdGFsb2coKSwgeG1sTG9hZENhdGFsb2coKSBhbmQgeG1sTG9hZENhdGFsb2dzKCkgc2hvdWxkIGJlCit1c2VkIGF0IHN0YXJ0dXAgdG8gaW5pdGlhbGl6ZSB0aGUgY2F0YWxvZywgaWYgdGhlIGNhdGFsb2cgc2hvdWxkIGJlCitpbml0aWFsaXplZCB3aXRoIHNwZWNpZmljIHZhbHVlcyB4bWxMb2FkQ2F0YWxvZygpICBvciB4bWxMb2FkQ2F0YWxvZ3MoKQorc2hvdWxkIGJlIGNhbGxlZCBiZWZvcmUgeG1sSW5pdGlhbGl6ZUNhdGFsb2coKSB3aGljaCB3b3VsZCBvdGhlcndpc2UgZG8gYQorZGVmYXVsdCBpbml0aWFsaXphdGlvbiBmaXJzdC48L3A+CisKKzxwPlRoZSB4bWxDYXRhbG9nQWRkTG9jYWwoKSBjYWxsIGlzIHVzZWQgYnkgdGhlIHBhcnNlciB0byBncm93IHRoZSBkb2N1bWVudAorb3duIGNhdGFsb2cgbGlzdCBpZiBuZWVkZWQuPC9wPgorCis8aDQ+UHJlZmVyZW5jZXMgc2V0dXA6PC9oND4KKworPHA+VGhlIFhNTCBDYXRhbG9nIHNwZWMgcmVxdWlyZXMgdGhlIHBvc3NpYmlsaXR5IHRvIHNlbGVjdCBkZWZhdWx0CitwcmVmZXJlbmNlcyBiZXR3ZWVuICBwdWJsaWMgYW5kIHN5c3RlbSBkZWxlZ2F0aW9uLAoreG1sQ2F0YWxvZ1NldERlZmF1bHRQcmVmZXIoKSBhbGxvd3MgdGhpcywgeG1sQ2F0YWxvZ1NldERlZmF1bHRzKCkgYW5kCit4bWxDYXRhbG9nR2V0RGVmYXVsdHMoKSBhbGxvdyB0byBjb250cm9sICBpZiBYTUwgQ2F0YWxvZ3MgcmVzb2x1dGlvbiBzaG91bGQKK2JlIGZvcmJpZGRlbiwgYWxsb3dlZCBmb3IgZ2xvYmFsIGNhdGFsb2csIGZvciBkb2N1bWVudCBjYXRhbG9nIG9yIGJvdGgsIHRoZQorZGVmYXVsdCBpcyB0byBhbGxvdyBib3RoLjwvcD4KKworPHA+QW5kIG9mIGNvdXJzZSB4bWxDYXRhbG9nU2V0RGVidWcoKSBhbGxvd3MgdG8gZ2VuZXJhdGUgZGVidWcgbWVzc2FnZXMKKyh0aHJvdWdoIHRoZSB4bWxHZW5lcmljRXJyb3IoKSBtZWNoYW5pc20pLjwvcD4KKworPGg0PlF1ZXJ5aW5nIHJvdXRpbmVzOjwvaDQ+CisKKzxwPnhtbENhdGFsb2dSZXNvbHZlKCksIHhtbENhdGFsb2dSZXNvbHZlU3lzdGVtKCksIHhtbENhdGFsb2dSZXNvbHZlUHVibGljKCkKK2FuZCB4bWxDYXRhbG9nUmVzb2x2ZVVSSSgpIGFyZSByZWxhdGl2ZWx5IGV4cGxpY2l0IGlmIHlvdSByZWFkIHRoZSBYTUwKK0NhdGFsb2cgc3BlY2lmaWNhdGlvbiB0aGV5IGNvcnJlc3BvbmQgdG8gc2VjdGlvbiA3IGFsZ29yaXRobXMsIHRoZXkgc2hvdWxkCithbHNvIHdvcmsgaWYgeW91IGhhdmUgbG9hZGVkIGFuIFNHTUwgY2F0YWxvZyB3aXRoIGEgc2ltcGxpZmllZCBzZW1hbnRpYy48L3A+CisKKzxwPnhtbENhdGFsb2dMb2NhbFJlc29sdmUoKSBhbmQgeG1sQ2F0YWxvZ0xvY2FsUmVzb2x2ZVVSSSgpIGFyZSB0aGUgc2FtZSBidXQKK29wZXJhdGUgb24gdGhlIGRvY3VtZW50IGNhdGFsb2cgbGlzdDwvcD4KKworPGg0PkNsZWFudXAgYW5kIE1pc2NlbGxhbmVvdXM6PC9oND4KKworPHA+eG1sQ2F0YWxvZ0NsZWFudXAoKSBmcmVlLXVwIHRoZSBnbG9iYWwgY2F0YWxvZywgeG1sQ2F0YWxvZ0ZyZWVMb2NhbCgpIGlzCit0aGUgcGVyLWRvY3VtZW50IGVxdWl2YWxlbnQuPC9wPgorCis8cD54bWxDYXRhbG9nQWRkKCkgYW5kIHhtbENhdGFsb2dSZW1vdmUoKSBhcmUgdXNlZCB0byBkeW5hbWljYWxseSBtb2RpZnkgdGhlCitmaXJzdCBjYXRhbG9nIGluIHRoZSBnbG9iYWwgbGlzdCwgYW5kIHhtbENhdGFsb2dEdW1wKCkgYWxsb3dzIHRvIGR1bXAgYQorY2F0YWxvZyBzdGF0ZSwgdGhvc2Ugcm91dGluZXMgYXJlIHByaW1hcmlseSBkZXNpZ25lZCBmb3IgeG1sY2F0YWxvZywgSSdtIG5vdAorc3VyZSB0aGF0IGV4cG9zaW5nIG1vcmUgY29tcGxleCBpbnRlcmZhY2VzIChsaWtlIG5hdmlnYXRpb24gb25lcykgd291bGQgYmUKK3JlYWxseSB1c2VmdWwuPC9wPgorCis8cD5UaGUgeG1sUGFyc2VDYXRhbG9nRmlsZSgpIGlzIGEgZnVuY3Rpb24gdXNlZCB0byBsb2FkIFhNTCBDYXRhbG9nIGZpbGVzLAoraXQncyBzaW1pbGFyIGFzIHhtbFBhcnNlRmlsZSgpIGV4Y2VwdCBpdCBieXBhc3MgYWxsIGNhdGFsb2cgbG9va3VwcywgaXQncworcHJvdmlkZWQgYmVjYXVzZSB0aGlzIGZ1bmN0aW9uYWxpdHkgbWF5IGJlIHVzZWZ1bCBmb3IgY2xpZW50IHRvb2xzLjwvcD4KKworPGg0PnRocmVhZGVkIGVudmlyb25tZW50czo8L2g0PgorCis8cD5TaW5jZSB0aGUgY2F0YWxvZyB0cmVlIGlzIGJ1aWx0IHByb2dyZXNzaXZlbHksIHNvbWUgY2FyZSBoYXMgYmVlbiB0YWtlbiB0bwordHJ5IHRvIGF2b2lkIHRyb3VibGVzIGluIG11bHRpdGhyZWFkZWQgZW52aXJvbm1lbnRzLiBUaGUgY29kZSBpcyBub3cgdGhyZWFkCitzYWZlIGFzc3VtaW5nIHRoYXQgdGhlIGxpYnhtbDIgbGlicmFyeSBoYXMgYmVlbiBjb21waWxlZCB3aXRoIHRocmVhZHMKK3N1cHBvcnQuPC9wPgorCis8cD48L3A+CisKKzxoMz48YSBuYW1lPSJPdGhlciI+T3RoZXIgcmVzb3VyY2VzPC9hPjwvaDM+CisKKzxwPlRoZSBYTUwgQ2F0YWxvZyBzcGVjaWZpY2F0aW9uIGlzIHJlbGF0aXZlbHkgcmVjZW50IHNvIHRoZXJlIGlzbid0IG11Y2gKK2xpdGVyYXR1cmUgdG8gcG9pbnQgYXQ6PC9wPgorPHVsPgorICA8bGk+WW91IGNhbiBmaW5kIGEgZ29vZCByYW50IGZyb20gTm9ybSBXYWxzaCBhYm91dCA8YQorICAgIGhyZWY9Imh0dHA6Ly93d3cuYXJib3J0ZXh0LmNvbS9UaGlua19UYW5rL1hNTF9SZXNvdXJjZXMvSXNzdWVfVGhyZWUvaXNzdWVfdGhyZWUuaHRtbCI+dGhlCisgICAgbmVlZCBmb3IgY2F0YWxvZ3M8L2E+LCBpdCBwcm92aWRlcyBhIGxvdCBvZiBjb250ZXh0IGluZm9ybWF0aW9uIGV2ZW4gaWYKKyAgICBJIGRvbid0IGFncmVlIHdpdGggZXZlcnl0aGluZyBwcmVzZW50ZWQuIE5vcm0gYWxzbyB3cm90ZSBhIG1vcmUgcmVjZW50CisgICAgYXJ0aWNsZSA8YQorICAgIGhyZWY9Imh0dHA6Ly93d3dzLnN1bi5jb20vc29mdHdhcmUveG1sL2RldmVsb3BlcnMvcmVzb2x2ZXIvYXJ0aWNsZS8iPlhNTAorICAgIGVudGl0aWVzIGFuZCBVUkkgcmVzb2x2ZXJzPC9hPiBkZXNjcmliaW5nIHRoZW0uPC9saT4KKyAgPGxpPkFuIDxhIGhyZWY9Imh0dHA6Ly9ob21lLmNjaWwub3JnL35jb3dhbi9YTUwvWENhdGFsb2cuaHRtbCI+b2xkIFhNTAorICAgIGNhdGFsb2cgcHJvcG9zYWw8L2E+IGZyb20gSm9obiBDb3dhbjwvbGk+CisgIDxsaT5UaGUgPGEgaHJlZj0iaHR0cDovL3d3dy5yZGRsLm9yZy8iPlJlc291cmNlIERpcmVjdG9yeSBEZXNjcmlwdGlvbgorICAgIExhbmd1YWdlPC9hPiAoUkRETCkgYW5vdGhlciBjYXRhbG9nIHN5c3RlbSBidXQgbW9yZSBvcmllbnRlZCB0b3dhcmQKKyAgICBwcm92aWRpbmcgbWV0YWRhdGEgZm9yIFhNTCBuYW1lc3BhY2VzLjwvbGk+CisgIDxsaT50aGUgcGFnZSBmcm9tIHRoZSBPQVNJUyBUZWNobmljYWwgPGEKKyAgICBocmVmPSJodHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL2NvbW1pdHRlZXMvZW50aXR5LyI+Q29tbWl0dGVlIG9uIEVudGl0eQorICAgIFJlc29sdXRpb248L2E+IHdobyBtYWludGFpbnMgWE1MIENhdGFsb2csIHlvdSB3aWxsIGZpbmQgcG9pbnRlcnMgdG8gdGhlCisgICAgc3BlY2lmaWNhdGlvbiB1cGRhdGUsIHNvbWUgYmFja2dyb3VuZCBhbmQgcG9pbnRlcnMgdG8gb3RoZXJzIHRvb2xzCisgICAgcHJvdmlkaW5nIFhNTCBDYXRhbG9nIHN1cHBvcnQ8L2xpPgorICA8bGk+VGhlcmUgaXMgYSA8YSBocmVmPSJidWlsZERvY0Jvb2tDYXRhbG9nIj5zaGVsbCBzY3JpcHQ8L2E+IHRvIGdlbmVyYXRlCisgICAgWE1MIENhdGFsb2dzIGZvciBEb2NCb29rIDQuMS4yIC4gSWYgaXQgY2FuIHdyaXRlIHRvIHRoZSAvZXRjL3htbC8KKyAgICBkaXJlY3RvcnksIGl0IHdpbGwgc2V0LXVwIC9ldGMveG1sL2NhdGFsb2cgYW5kIC9ldGMveG1sL2RvY2Jvb2sgYmFzZWQgb24KKyAgICB0aGUgcmVzb3VyY2VzIGZvdW5kIG9uIHRoZSBzeXN0ZW0uIE90aGVyd2lzZSBpdCB3aWxsIGp1c3QgY3JlYXRlCisgICAgfi94bWxjYXRhbG9nIGFuZCB+L2Ria3htbGNhdGFsb2cgYW5kIGRvaW5nOgorICAgIDxwPjxjb2RlPmV4cG9ydCBYTUxfQ0FUQUxPR19GSUxFUz0kSE9NRS94bWxjYXRhbG9nPC9jb2RlPjwvcD4KKyAgICA8cD5zaG91bGQgYWxsb3cgdG8gcHJvY2VzcyBEb2NCb29rIGRvY3VtZW50YXRpb25zIHdpdGhvdXQgcmVxdWlyaW5nCisgICAgbmV0d29yayBhY2Nlc3NlcyBmb3IgdGhlIERURCBvciBzdHlsZXNoZWV0czwvcD4KKyAgPC9saT4KKyAgPGxpPkkgaGF2ZSB1cGxvYWRlZCA8YSBocmVmPSJmdHA6Ly94bWxzb2Z0Lm9yZy9saWJ4bWwyL3Rlc3QvZGJrNDEyY2F0YWxvZy50YXIuZ3oiPmEKKyAgICBzbWFsbCB0YXJiYWxsPC9hPiBjb250YWluaW5nIFhNTCBDYXRhbG9ncyBmb3IgRG9jQm9vayA0LjEuMiB3aGljaCBzZWVtcworICAgIHRvIHdvcmsgZmluZSBmb3IgbWUgdG9vPC9saT4KKyAgPGxpPlRoZSA8YSBocmVmPSJodHRwOi8vd3d3LnhtbHNvZnQub3JnL3htbGNhdGFsb2dfbWFuLmh0bWwiPnhtbGNhdGFsb2cKKyAgICBtYW51YWwgcGFnZTwvYT48L2xpPgorPC91bD4KKworPHA+SWYgeW91IGhhdmUgc3VnZ2VzdGlvbnMgZm9yIGNvcnJlY3Rpb25zIG9yIGFkZGl0aW9ucywgc2ltcGx5IGNvbnRhY3QKK21lOjwvcD4KKworPGgyPjxhIG5hbWU9ImxpYnJhcnkiPlRoZSBwYXJzZXIgaW50ZXJmYWNlczwvYT48L2gyPgorCis8cD5UaGlzIHNlY3Rpb24gaXMgZGlyZWN0bHkgaW50ZW5kZWQgdG8gaGVscCBwcm9ncmFtbWVycyBnZXR0aW5nIGJvb3RzdHJhcHBlZAordXNpbmcgdGhlIFhNTCB0b2xsa2l0IGZyb20gdGhlIEMgbGFuZ3VhZ2UuIEl0IGlzIG5vdCBpbnRlbmRlZCB0byBiZQorZXh0ZW5zaXZlLiBJIGhvcGUgdGhlIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGRvY3VtZW50cyB3aWxsIHByb3ZpZGUgdGhlCitjb21wbGV0ZW5lc3MgcmVxdWlyZWQsIGJ1dCBhcyBhIHNlcGFyYXRlIHNldCBvZiBkb2N1bWVudHMuIFRoZSBpbnRlcmZhY2VzIG9mCit0aGUgWE1MIHBhcnNlciBhcmUgYnkgcHJpbmNpcGxlIGxvdyBsZXZlbCwgVGhvc2UgaW50ZXJlc3RlZCBpbiBhIGhpZ2hlciBsZXZlbAorQVBJIHNob3VsZCA8YSBocmVmPSIjRE9NIj5sb29rIGF0IERPTTwvYT4uPC9wPgorCis8cD5UaGUgPGEgaHJlZj0iaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwiPnBhcnNlciBpbnRlcmZhY2VzIGZvciBYTUw8L2E+IGFyZQorc2VwYXJhdGVkIGZyb20gdGhlIDxhIGhyZWY9Imh0bWwvbGlieG1sLWh0bWxwYXJzZXIuaHRtbCI+SFRNTCBwYXJzZXIKK2ludGVyZmFjZXM8L2E+LiAgTGV0J3MgaGF2ZSBhIGxvb2sgYXQgaG93IHRoZSBYTUwgcGFyc2VyIGNhbiBiZSBjYWxsZWQ6PC9wPgorCis8aDM+PGEgbmFtZT0iSW52b2tpbmciPkludm9raW5nIHRoZSBwYXJzZXIgOiB0aGUgcHVsbCBtZXRob2Q8L2E+PC9oMz4KKworPHA+VXN1YWxseSwgdGhlIGZpcnN0IHRoaW5nIHRvIGRvIGlzIHRvIHJlYWQgYW4gWE1MIGlucHV0LiBUaGUgcGFyc2VyIGFjY2VwdHMKK2RvY3VtZW50cyBlaXRoZXIgZnJvbSBpbi1tZW1vcnkgc3RyaW5ncyBvciBmcm9tIGZpbGVzLiAgVGhlIGZ1bmN0aW9ucyBhcmUKK2RlZmluZWQgaW4gInBhcnNlci5oIjo8L3A+Cis8ZGw+CisgIDxkdD48Y29kZT54bWxEb2NQdHIgeG1sUGFyc2VNZW1vcnkoY2hhciAqYnVmZmVyLCBpbnQgc2l6ZSk7PC9jb2RlPjwvZHQ+CisgICAgPGRkPjxwPlBhcnNlIGEgbnVsbC10ZXJtaW5hdGVkIHN0cmluZyBjb250YWluaW5nIHRoZSBkb2N1bWVudC48L3A+CisgICAgPC9kZD4KKzwvZGw+Cis8ZGw+CisgIDxkdD48Y29kZT54bWxEb2NQdHIgeG1sUGFyc2VGaWxlKGNvbnN0IGNoYXIgKmZpbGVuYW1lKTs8L2NvZGU+PC9kdD4KKyAgICA8ZGQ+PHA+UGFyc2UgYW4gWE1MIGRvY3VtZW50IGNvbnRhaW5lZCBpbiBhIChwb3NzaWJseSBjb21wcmVzc2VkKQorICAgICAgZmlsZS48L3A+CisgICAgPC9kZD4KKzwvZGw+CisKKzxwPlRoZSBwYXJzZXIgcmV0dXJucyBhIHBvaW50ZXIgdG8gdGhlIGRvY3VtZW50IHN0cnVjdHVyZSAob3IgTlVMTCBpbiBjYXNlIG9mCitmYWlsdXJlKS48L3A+CisKKzxoMyBpZD0iSW52b2tpbmcxIj5JbnZva2luZyB0aGUgcGFyc2VyOiB0aGUgcHVzaCBtZXRob2Q8L2gzPgorCis8cD5JbiBvcmRlciBmb3IgdGhlIGFwcGxpY2F0aW9uIHRvIGtlZXAgdGhlIGNvbnRyb2wgd2hlbiB0aGUgZG9jdW1lbnQgaXMKK2JlaW5nIGZldGNoZWQgKHdoaWNoIGlzIGNvbW1vbiBmb3IgR1VJIGJhc2VkIHByb2dyYW1zKSBsaWJ4bWwyIHByb3ZpZGVzIGEKK3B1c2ggaW50ZXJmYWNlLCB0b28sIGFzIG9mIHZlcnNpb24gMS44LjMuIEhlcmUgYXJlIHRoZSBpbnRlcmZhY2UKK2Z1bmN0aW9uczo8L3A+Cis8cHJlPnhtbFBhcnNlckN0eHRQdHIgeG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQoeG1sU0FYSGFuZGxlclB0ciBzYXgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKnVzZXJfZGF0YSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqY2h1bmssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzaXplLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpmaWxlbmFtZSk7CitpbnQgICAgICAgICAgICAgIHhtbFBhcnNlQ2h1bmsgICAgICAgICAgKHhtbFBhcnNlckN0eHRQdHIgY3R4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqY2h1bmssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzaXplLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdGVybWluYXRlKTs8L3ByZT4KKworPHA+YW5kIGhlcmUgaXMgYSBzaW1wbGUgZXhhbXBsZSBzaG93aW5nIGhvdyB0byB1c2UgdGhlIGludGVyZmFjZTo8L3A+Cis8cHJlPiAgICAgICAgICAgIEZJTEUgKmY7CisKKyAgICAgICAgICAgIGYgPSBmb3BlbihmaWxlbmFtZSwgInIiKTsKKyAgICAgICAgICAgIGlmIChmICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICBpbnQgcmVzLCBzaXplID0gMTAyNDsKKyAgICAgICAgICAgICAgICBjaGFyIGNoYXJzWzEwMjRdOworICAgICAgICAgICAgICAgIHhtbFBhcnNlckN0eHRQdHIgY3R4dDsKKworICAgICAgICAgICAgICAgIHJlcyA9IGZyZWFkKGNoYXJzLCAxLCA0LCBmKTsKKyAgICAgICAgICAgICAgICBpZiAocmVzICZndDsgMCkgeworICAgICAgICAgICAgICAgICAgICBjdHh0ID0geG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQoTlVMTCwgTlVMTCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhcnMsIHJlcywgZmlsZW5hbWUpOworICAgICAgICAgICAgICAgICAgICB3aGlsZSAoKHJlcyA9IGZyZWFkKGNoYXJzLCAxLCBzaXplLCBmKSkgJmd0OyAwKSB7CisgICAgICAgICAgICAgICAgICAgICAgICB4bWxQYXJzZUNodW5rKGN0eHQsIGNoYXJzLCByZXMsIDApOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIHhtbFBhcnNlQ2h1bmsoY3R4dCwgY2hhcnMsIDAsIDEpOworICAgICAgICAgICAgICAgICAgICBkb2MgPSBjdHh0LSZndDtteURvYzsKKyAgICAgICAgICAgICAgICAgICAgeG1sRnJlZVBhcnNlckN0eHQoY3R4dCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfTwvcHJlPgorCis8cD5UaGUgSFRNTCBwYXJzZXIgZW1iZWRkZWQgaW50byBsaWJ4bWwyIGFsc28gaGFzIGEgcHVzaCBpbnRlcmZhY2U7IHRoZQorZnVuY3Rpb25zIGFyZSBqdXN0IHByZWZpeGVkIGJ5ICJodG1sIiByYXRoZXIgdGhhbiAieG1sIi48L3A+CisKKzxoMyBpZD0iSW52b2tpbmcyIj5JbnZva2luZyB0aGUgcGFyc2VyOiB0aGUgU0FYIGludGVyZmFjZTwvaDM+CisKKzxwPlRoZSB0cmVlLWJ1aWxkaW5nIGludGVyZmFjZSBtYWtlcyB0aGUgcGFyc2VyIG1lbW9yeS1odW5ncnksIGZpcnN0IGxvYWRpbmcKK3RoZSBkb2N1bWVudCBpbiBtZW1vcnkgYW5kIHRoZW4gYnVpbGRpbmcgdGhlIHRyZWUgaXRzZWxmLiBSZWFkaW5nIGEgZG9jdW1lbnQKK3dpdGhvdXQgYnVpbGRpbmcgdGhlIHRyZWUgaXMgcG9zc2libGUgdXNpbmcgdGhlIFNBWCBpbnRlcmZhY2VzIChzZWUgU0FYLmggYW5kCis8YSBocmVmPSJodHRwOi8vd3d3LmRhYS5jb20uYXUvfmphbWVzL2dub21lL3htbC1zYXgveG1sLXNheC5odG1sIj5KYW1lcworSGVuc3RyaWRnZSdzIGRvY3VtZW50YXRpb248L2E+KS4gTm90ZSBhbHNvIHRoYXQgdGhlIHB1c2ggaW50ZXJmYWNlIGNhbiBiZQorbGltaXRlZCB0byBTQVg6IGp1c3QgdXNlIHRoZSB0d28gZmlyc3QgYXJndW1lbnRzIG9mCis8Y29kZT54bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dCgpPC9jb2RlPi48L3A+CisKKzxoMz48YSBuYW1lPSJCdWlsZGluZyI+QnVpbGRpbmcgYSB0cmVlIGZyb20gc2NyYXRjaDwvYT48L2gzPgorCis8cD5UaGUgb3RoZXIgd2F5IHRvIGdldCBhbiBYTUwgdHJlZSBpbiBtZW1vcnkgaXMgYnkgYnVpbGRpbmcgaXQuIEJhc2ljYWxseQordGhlcmUgaXMgYSBzZXQgb2YgZnVuY3Rpb25zIGRlZGljYXRlZCB0byBidWlsZGluZyBuZXcgZWxlbWVudHMuIChUaGVzZSBhcmUKK2Fsc28gZGVzY3JpYmVkIGluICZsdDtsaWJ4bWwvdHJlZS5oJmd0Oy4pIEZvciBleGFtcGxlLCBoZXJlIGlzIGEgcGllY2Ugb2YKK2NvZGUgdGhhdCBwcm9kdWNlcyB0aGUgWE1MIGRvY3VtZW50IHVzZWQgaW4gdGhlIHByZXZpb3VzIGV4YW1wbGVzOjwvcD4KKzxwcmU+ICAgICNpbmNsdWRlICZsdDtsaWJ4bWwvdHJlZS5oJmd0OworICAgIHhtbERvY1B0ciBkb2M7CisgICAgeG1sTm9kZVB0ciB0cmVlLCBzdWJ0cmVlOworCisgICAgZG9jID0geG1sTmV3RG9jKCIxLjAiKTsKKyAgICBkb2MtJmd0O2NoaWxkcmVuID0geG1sTmV3RG9jTm9kZShkb2MsIE5VTEwsICJFWEFNUExFIiwgTlVMTCk7CisgICAgeG1sU2V0UHJvcChkb2MtJmd0O2NoaWxkcmVuLCAicHJvcDEiLCAiZ25vbWUgaXMgZ3JlYXQiKTsKKyAgICB4bWxTZXRQcm9wKGRvYy0mZ3Q7Y2hpbGRyZW4sICJwcm9wMiIsICImYW1wOyBsaW51eCB0b28iKTsKKyAgICB0cmVlID0geG1sTmV3Q2hpbGQoZG9jLSZndDtjaGlsZHJlbiwgTlVMTCwgImhlYWQiLCBOVUxMKTsKKyAgICBzdWJ0cmVlID0geG1sTmV3Q2hpbGQodHJlZSwgTlVMTCwgInRpdGxlIiwgIldlbGNvbWUgdG8gR25vbWUiKTsKKyAgICB0cmVlID0geG1sTmV3Q2hpbGQoZG9jLSZndDtjaGlsZHJlbiwgTlVMTCwgImNoYXB0ZXIiLCBOVUxMKTsKKyAgICBzdWJ0cmVlID0geG1sTmV3Q2hpbGQodHJlZSwgTlVMTCwgInRpdGxlIiwgIlRoZSBMaW51eCBhZHZlbnR1cmUiKTsKKyAgICBzdWJ0cmVlID0geG1sTmV3Q2hpbGQodHJlZSwgTlVMTCwgInAiLCAiYmxhIGJsYSBibGEgLi4uIik7CisgICAgc3VidHJlZSA9IHhtbE5ld0NoaWxkKHRyZWUsIE5VTEwsICJpbWFnZSIsIE5VTEwpOworICAgIHhtbFNldFByb3Aoc3VidHJlZSwgImhyZWYiLCAibGludXMuZ2lmIik7PC9wcmU+CisKKzxwPk5vdCByZWFsbHkgcm9ja2V0IHNjaWVuY2UgLi4uPC9wPgorCis8aDM+PGEgbmFtZT0iVHJhdmVyc2luZyI+VHJhdmVyc2luZyB0aGUgdHJlZTwvYT48L2gzPgorCis8cD5CYXNpY2FsbHkgYnkgPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sIj5pbmNsdWRpbmcgInRyZWUuaCI8L2E+IHlvdXIKK2NvZGUgaGFzIGFjY2VzcyB0byB0aGUgaW50ZXJuYWwgc3RydWN0dXJlIG9mIGFsbCB0aGUgZWxlbWVudHMgb2YgdGhlIHRyZWUuCitUaGUgbmFtZXMgc2hvdWxkIGJlIHNvbWV3aGF0IHNpbXBsZSBsaWtlIDxzdHJvbmc+cGFyZW50PC9zdHJvbmc+LAorPHN0cm9uZz5jaGlsZHJlbjwvc3Ryb25nPiwgPHN0cm9uZz5uZXh0PC9zdHJvbmc+LCA8c3Ryb25nPnByZXY8L3N0cm9uZz4sCis8c3Ryb25nPnByb3BlcnRpZXM8L3N0cm9uZz4sIGV0Yy4uLiBGb3IgZXhhbXBsZSwgc3RpbGwgd2l0aCB0aGUgcHJldmlvdXMKK2V4YW1wbGU6PC9wPgorPHByZT48Y29kZT5kb2MtJmd0O2NoaWxkcmVuLSZndDtjaGlsZHJlbi0mZ3Q7Y2hpbGRyZW48L2NvZGU+PC9wcmU+CisKKzxwPnBvaW50cyB0byB0aGUgdGl0bGUgZWxlbWVudCw8L3A+Cis8cHJlPmRvYy0mZ3Q7Y2hpbGRyZW4tJmd0O2NoaWxkcmVuLSZndDtuZXh0LSZndDtjaGlsZHJlbi0mZ3Q7Y2hpbGRyZW48L3ByZT4KKworPHA+cG9pbnRzIHRvIHRoZSB0ZXh0IG5vZGUgY29udGFpbmluZyB0aGUgY2hhcHRlciB0aXRsZSAiVGhlIExpbnV4CithZHZlbnR1cmUiLjwvcD4KKworPHA+PHN0cm9uZz5OT1RFPC9zdHJvbmc+OiBYTUwgYWxsb3dzIDxlbT5QSTwvZW0+cyBhbmQgPGVtPmNvbW1lbnRzPC9lbT4gdG8gYmUKK3ByZXNlbnQgYmVmb3JlIHRoZSBkb2N1bWVudCByb290LCBzbyA8Y29kZT5kb2MtJmd0O2NoaWxkcmVuPC9jb2RlPiBtYXkgcG9pbnQKK3RvIGFuIGVsZW1lbnQgd2hpY2ggaXMgbm90IHRoZSBkb2N1bWVudCBSb290IEVsZW1lbnQ7IGEgZnVuY3Rpb24KKzxjb2RlPnhtbERvY0dldFJvb3RFbGVtZW50KCk8L2NvZGU+IHdhcyBhZGRlZCBmb3IgdGhpcyBwdXJwb3NlLjwvcD4KKworPGgzPjxhIG5hbWU9Ik1vZGlmeWluZyI+TW9kaWZ5aW5nIHRoZSB0cmVlPC9hPjwvaDM+CisKKzxwPkZ1bmN0aW9ucyBhcmUgcHJvdmlkZWQgZm9yIHJlYWRpbmcgYW5kIHdyaXRpbmcgdGhlIGRvY3VtZW50IGNvbnRlbnQuIEhlcmUKK2lzIGFuIGV4Y2VycHQgZnJvbSB0aGUgPGEgaHJlZj0iaHRtbC9saWJ4bWwtdHJlZS5odG1sIj50cmVlIEFQSTwvYT46PC9wPgorPGRsPgorICA8ZHQ+PGNvZGU+eG1sQXR0clB0ciB4bWxTZXRQcm9wKHhtbE5vZGVQdHIgbm9kZSwgY29uc3QgeG1sQ2hhciAqbmFtZSwgY29uc3QKKyAgeG1sQ2hhciAqdmFsdWUpOzwvY29kZT48L2R0PgorICAgIDxkZD48cD5UaGlzIHNldHMgKG9yIGNoYW5nZXMpIGFuIGF0dHJpYnV0ZSBjYXJyaWVkIGJ5IGFuIEVMRU1FTlQgbm9kZS4KKyAgICAgIFRoZSB2YWx1ZSBjYW4gYmUgTlVMTC48L3A+CisgICAgPC9kZD4KKzwvZGw+Cis8ZGw+CisgIDxkdD48Y29kZT5jb25zdCB4bWxDaGFyICp4bWxHZXRQcm9wKHhtbE5vZGVQdHIgbm9kZSwgY29uc3QgeG1sQ2hhcgorICAqbmFtZSk7PC9jb2RlPjwvZHQ+CisgICAgPGRkPjxwPlRoaXMgZnVuY3Rpb24gcmV0dXJucyBhIHBvaW50ZXIgdG8gbmV3IGNvcHkgb2YgdGhlIHByb3BlcnR5CisgICAgICBjb250ZW50LiBOb3RlIHRoYXQgdGhlIHVzZXIgbXVzdCBkZWFsbG9jYXRlIHRoZSByZXN1bHQuPC9wPgorICAgIDwvZGQ+Cis8L2RsPgorCis8cD5Ud28gZnVuY3Rpb25zIGFyZSBwcm92aWRlZCBmb3IgcmVhZGluZyBhbmQgd3JpdGluZyB0aGUgdGV4dCBhc3NvY2lhdGVkCit3aXRoIGVsZW1lbnRzOjwvcD4KKzxkbD4KKyAgPGR0Pjxjb2RlPnhtbE5vZGVQdHIgeG1sU3RyaW5nR2V0Tm9kZUxpc3QoeG1sRG9jUHRyIGRvYywgY29uc3QgeG1sQ2hhcgorICAqdmFsdWUpOzwvY29kZT48L2R0PgorICAgIDxkZD48cD5UaGlzIGZ1bmN0aW9uIHRha2VzIGFuICJleHRlcm5hbCIgc3RyaW5nIGFuZCBjb252ZXJ0cyBpdCB0byBvbmUKKyAgICAgIHRleHQgbm9kZSBvciBwb3NzaWJseSB0byBhIGxpc3Qgb2YgZW50aXR5IGFuZCB0ZXh0IG5vZGVzLiBBbGwKKyAgICAgIG5vbi1wcmVkZWZpbmVkIGVudGl0eSByZWZlcmVuY2VzIGxpa2UgJmFtcDtHbm9tZTsgd2lsbCBiZSBzdG9yZWQKKyAgICAgIGludGVybmFsbHkgYXMgZW50aXR5IG5vZGVzLCBoZW5jZSB0aGUgcmVzdWx0IG9mIHRoZSBmdW5jdGlvbiBtYXkgbm90IGJlCisgICAgICBhIHNpbmdsZSBub2RlLjwvcD4KKyAgICA8L2RkPgorPC9kbD4KKzxkbD4KKyAgPGR0Pjxjb2RlPnhtbENoYXIgKnhtbE5vZGVMaXN0R2V0U3RyaW5nKHhtbERvY1B0ciBkb2MsIHhtbE5vZGVQdHIgbGlzdCwgaW50CisgIGluTGluZSk7PC9jb2RlPjwvZHQ+CisgICAgPGRkPjxwPlRoaXMgZnVuY3Rpb24gaXMgdGhlIGludmVyc2Ugb2YKKyAgICAgIDxjb2RlPnhtbFN0cmluZ0dldE5vZGVMaXN0KCk8L2NvZGU+LiBJdCBnZW5lcmF0ZXMgYSBuZXcgc3RyaW5nCisgICAgICBjb250YWluaW5nIHRoZSBjb250ZW50IG9mIHRoZSB0ZXh0IGFuZCBlbnRpdHkgbm9kZXMuIE5vdGUgdGhlIGV4dHJhCisgICAgICBhcmd1bWVudCBpbkxpbmUuIElmIHRoaXMgYXJndW1lbnQgaXMgc2V0IHRvIDEsIHRoZSBmdW5jdGlvbiB3aWxsIGV4cGFuZAorICAgICAgZW50aXR5IHJlZmVyZW5jZXMuICBGb3IgZXhhbXBsZSwgaW5zdGVhZCBvZiByZXR1cm5pbmcgdGhlICZhbXA7R25vbWU7CisgICAgICBYTUwgZW5jb2RpbmcgaW4gdGhlIHN0cmluZywgaXQgd2lsbCBzdWJzdGl0dXRlIGl0IHdpdGggaXRzIHZhbHVlIChzYXksCisgICAgICAiR05VIE5ldHdvcmsgT2JqZWN0IE1vZGVsIEVudmlyb25tZW50IikuPC9wPgorICAgIDwvZGQ+Cis8L2RsPgorCis8aDM+PGEgbmFtZT0iU2F2aW5nIj5TYXZpbmcgYSB0cmVlPC9hPjwvaDM+CisKKzxwPkJhc2ljYWxseSAzIG9wdGlvbnMgYXJlIHBvc3NpYmxlOjwvcD4KKzxkbD4KKyAgPGR0Pjxjb2RlPnZvaWQgeG1sRG9jRHVtcE1lbW9yeSh4bWxEb2NQdHIgY3VyLCB4bWxDaGFyKiptZW0sIGludAorICAqc2l6ZSk7PC9jb2RlPjwvZHQ+CisgICAgPGRkPjxwPlJldHVybnMgYSBidWZmZXIgaW50byB3aGljaCB0aGUgZG9jdW1lbnQgaGFzIGJlZW4gc2F2ZWQuPC9wPgorICAgIDwvZGQ+Cis8L2RsPgorPGRsPgorICA8ZHQ+PGNvZGU+ZXh0ZXJuIHZvaWQgeG1sRG9jRHVtcChGSUxFICpmLCB4bWxEb2NQdHIgZG9jKTs8L2NvZGU+PC9kdD4KKyAgICA8ZGQ+PHA+RHVtcHMgYSBkb2N1bWVudCB0byBhbiBvcGVuIGZpbGUgZGVzY3JpcHRvci48L3A+CisgICAgPC9kZD4KKzwvZGw+Cis8ZGw+CisgIDxkdD48Y29kZT5pbnQgeG1sU2F2ZUZpbGUoY29uc3QgY2hhciAqZmlsZW5hbWUsIHhtbERvY1B0ciBjdXIpOzwvY29kZT48L2R0PgorICAgIDxkZD48cD5TYXZlcyB0aGUgZG9jdW1lbnQgdG8gYSBmaWxlLiBJbiB0aGlzIGNhc2UsIHRoZSBjb21wcmVzc2lvbgorICAgICAgaW50ZXJmYWNlIGlzIHRyaWdnZXJlZCBpZiBpdCBoYXMgYmVlbiB0dXJuZWQgb24uPC9wPgorICAgIDwvZGQ+Cis8L2RsPgorCis8aDM+PGEgbmFtZT0iQ29tcHJlc3NpbyI+Q29tcHJlc3Npb248L2E+PC9oMz4KKworPHA+VGhlIGxpYnJhcnkgdHJhbnNwYXJlbnRseSBoYW5kbGVzIGNvbXByZXNzaW9uIHdoZW4gZG9pbmcgZmlsZS1iYXNlZAorYWNjZXNzZXMuIFRoZSBsZXZlbCBvZiBjb21wcmVzc2lvbiBvbiBzYXZlcyBjYW4gYmUgdHVybmVkIG9uIGVpdGhlciBnbG9iYWxseQorb3IgaW5kaXZpZHVhbGx5IGZvciBvbmUgZmlsZTo8L3A+Cis8ZGw+CisgIDxkdD48Y29kZT5pbnQgIHhtbEdldERvY0NvbXByZXNzTW9kZSAoeG1sRG9jUHRyIGRvYyk7PC9jb2RlPjwvZHQ+CisgICAgPGRkPjxwPkdldHMgdGhlIGRvY3VtZW50IGNvbXByZXNzaW9uIHJhdGlvICgwLTkpLjwvcD4KKyAgICA8L2RkPgorPC9kbD4KKzxkbD4KKyAgPGR0Pjxjb2RlPnZvaWQgeG1sU2V0RG9jQ29tcHJlc3NNb2RlICh4bWxEb2NQdHIgZG9jLCBpbnQgbW9kZSk7PC9jb2RlPjwvZHQ+CisgICAgPGRkPjxwPlNldHMgdGhlIGRvY3VtZW50IGNvbXByZXNzaW9uIHJhdGlvLjwvcD4KKyAgICA8L2RkPgorPC9kbD4KKzxkbD4KKyAgPGR0Pjxjb2RlPmludCAgeG1sR2V0Q29tcHJlc3NNb2RlKHZvaWQpOzwvY29kZT48L2R0PgorICAgIDxkZD48cD5HZXRzIHRoZSBkZWZhdWx0IGNvbXByZXNzaW9uIHJhdGlvLjwvcD4KKyAgICA8L2RkPgorPC9kbD4KKzxkbD4KKyAgPGR0Pjxjb2RlPnZvaWQgeG1sU2V0Q29tcHJlc3NNb2RlKGludCBtb2RlKTs8L2NvZGU+PC9kdD4KKyAgICA8ZGQ+PHA+U2V0cyB0aGUgZGVmYXVsdCBjb21wcmVzc2lvbiByYXRpby48L3A+CisgICAgPC9kZD4KKzwvZGw+CisKKzxoMj48YSBuYW1lPSJFbnRpdGllcyI+RW50aXRpZXMgb3Igbm8gZW50aXRpZXM8L2E+PC9oMj4KKworPHA+RW50aXRpZXMgaW4gcHJpbmNpcGxlIGFyZSBzaW1pbGFyIHRvIHNpbXBsZSBDIG1hY3Jvcy4gQW4gZW50aXR5IGRlZmluZXMgYW4KK2FiYnJldmlhdGlvbiBmb3IgYSBnaXZlbiBzdHJpbmcgdGhhdCB5b3UgY2FuIHJldXNlIG1hbnkgdGltZXMgdGhyb3VnaG91dCB0aGUKK2NvbnRlbnQgb2YgeW91ciBkb2N1bWVudC4gRW50aXRpZXMgYXJlIGVzcGVjaWFsbHkgdXNlZnVsIHdoZW4gYSBnaXZlbiBzdHJpbmcKK21heSBvY2N1ciBmcmVxdWVudGx5IHdpdGhpbiBhIGRvY3VtZW50LCBvciB0byBjb25maW5lIHRoZSBjaGFuZ2UgbmVlZGVkIHRvIGEKK2RvY3VtZW50IHRvIGEgcmVzdHJpY3RlZCBhcmVhIGluIHRoZSBpbnRlcm5hbCBzdWJzZXQgb2YgdGhlIGRvY3VtZW50IChhdCB0aGUKK2JlZ2lubmluZykuIEV4YW1wbGU6PC9wPgorPHByZT4xICZsdDs/eG1sIHZlcnNpb249IjEuMCI/Jmd0OworMiAmbHQ7IURPQ1RZUEUgRVhBTVBMRSBTWVNURU0gImV4YW1wbGUuZHRkIiBbCiszICZsdDshRU5USVRZIHhtbCAiRXh0ZW5zaWJsZSBNYXJrdXAgTGFuZ3VhZ2UiJmd0OworNCBdJmd0OworNSAmbHQ7RVhBTVBMRSZndDsKKzYgICAgJmFtcDt4bWw7Cis3ICZsdDsvRVhBTVBMRSZndDs8L3ByZT4KKworPHA+TGluZSAzIGRlY2xhcmVzIHRoZSB4bWwgZW50aXR5LiBMaW5lIDYgdXNlcyB0aGUgeG1sIGVudGl0eSwgYnkgcHJlZml4aW5nCitpdHMgbmFtZSB3aXRoICcmYW1wOycgYW5kIGZvbGxvd2luZyBpdCBieSAnOycgd2l0aG91dCBhbnkgc3BhY2VzIGFkZGVkLiBUaGVyZQorYXJlIDUgcHJlZGVmaW5lZCBlbnRpdGllcyBpbiBsaWJ4bWwyIGFsbG93aW5nIHlvdSB0byBlc2NhcGUgY2hhcmFjdGVycyB3aXRoCitwcmVkZWZpbmVkIG1lYW5pbmcgaW4gc29tZSBwYXJ0cyBvZiB0aGUgeG1sIGRvY3VtZW50IGNvbnRlbnQ6Cis8c3Ryb25nPiZhbXA7bHQ7PC9zdHJvbmc+IGZvciB0aGUgY2hhcmFjdGVyICcmbHQ7JywgPHN0cm9uZz4mYW1wO2d0Ozwvc3Ryb25nPgorZm9yIHRoZSBjaGFyYWN0ZXIgJyZndDsnLCAgPHN0cm9uZz4mYW1wO2Fwb3M7PC9zdHJvbmc+IGZvciB0aGUgY2hhcmFjdGVyICcnJywKKzxzdHJvbmc+JmFtcDtxdW90Ozwvc3Ryb25nPiBmb3IgdGhlIGNoYXJhY3RlciAnIicsIGFuZAorPHN0cm9uZz4mYW1wO2FtcDs8L3N0cm9uZz4gZm9yIHRoZSBjaGFyYWN0ZXIgJyZhbXA7Jy48L3A+CisKKzxwPk9uZSBvZiB0aGUgcHJvYmxlbXMgcmVsYXRlZCB0byBlbnRpdGllcyBpcyB0aGF0IHlvdSBtYXkgd2FudCB0aGUgcGFyc2VyIHRvCitzdWJzdGl0dXRlIGFuIGVudGl0eSdzIGNvbnRlbnQgc28gdGhhdCB5b3UgY2FuIHNlZSB0aGUgcmVwbGFjZW1lbnQgdGV4dCBpbgoreW91ciBhcHBsaWNhdGlvbi4gT3IgeW91IG1heSBwcmVmZXIgdG8ga2VlcCBlbnRpdHkgcmVmZXJlbmNlcyBhcyBzdWNoIGluIHRoZQorY29udGVudCB0byBiZSBhYmxlIHRvIHNhdmUgdGhlIGRvY3VtZW50IGJhY2sgd2l0aG91dCBsb3NpbmcgdGhpcyB1c3VhbGx5CitwcmVjaW91cyBpbmZvcm1hdGlvbiAoaWYgdGhlIHVzZXIgd2VudCB0aHJvdWdoIHRoZSBwYWluIG9mIGV4cGxpY2l0bHkKK2RlZmluaW5nIGVudGl0aWVzLCBoZSBtYXkgaGF2ZSBhIGEgcmF0aGVyIG5lZ2F0aXZlIGF0dGl0dWRlIGlmIHlvdSBibGluZGx5CitzdWJzdGl0dXRlIHRoZW0gYXMgc2F2aW5nIHRpbWUpLiBUaGUgPGEKK2hyZWY9Imh0bWwvbGlieG1sLXBhcnNlci5odG1sI3htbFN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHQiPnhtbFN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHQoKTwvYT4KK2Z1bmN0aW9uIGFsbG93cyB5b3UgdG8gY2hlY2sgYW5kIGNoYW5nZSB0aGUgYmVoYXZpb3VyLCB3aGljaCBpcyB0byBub3QKK3N1YnN0aXR1dGUgZW50aXRpZXMgYnkgZGVmYXVsdC48L3A+CisKKzxwPkhlcmUgaXMgdGhlIERPTSB0cmVlIGJ1aWx0IGJ5IGxpYnhtbDIgZm9yIHRoZSBwcmV2aW91cyBkb2N1bWVudCBpbiB0aGUKK2RlZmF1bHQgY2FzZTo8L3A+Cis8cHJlPi9nbm9tZS9zcmMvZ25vbWUteG1sIC0mZ3Q7IC4veG1sbGludCAtLWRlYnVnIHRlc3QvZW50MQorRE9DVU1FTlQKK3ZlcnNpb249MS4wCisgICBFTEVNRU5UIEVYQU1QTEUKKyAgICAgVEVYVAorICAgICBjb250ZW50PQorICAgICBFTlRJVFlfUkVGCisgICAgICAgSU5URVJOQUxfR0VORVJBTF9FTlRJVFkgeG1sCisgICAgICAgY29udGVudD1FeHRlbnNpYmxlIE1hcmt1cCBMYW5ndWFnZQorICAgICBURVhUCisgICAgIGNvbnRlbnQ9PC9wcmU+CisKKzxwPkFuZCBoZXJlIGlzIHRoZSByZXN1bHQgd2hlbiBzdWJzdGl0dXRpbmcgZW50aXRpZXM6PC9wPgorPHByZT4vZ25vbWUvc3JjL2dub21lLXhtbCAtJmd0OyAuL3Rlc3RlciAtLWRlYnVnIC0tbm9lbnQgdGVzdC9lbnQxCitET0NVTUVOVAordmVyc2lvbj0xLjAKKyAgIEVMRU1FTlQgRVhBTVBMRQorICAgICBURVhUCisgICAgIGNvbnRlbnQ9ICAgICBFeHRlbnNpYmxlIE1hcmt1cCBMYW5ndWFnZTwvcHJlPgorCis8cD5TbywgZW50aXRpZXMgb3Igbm8gZW50aXRpZXM/IEJhc2ljYWxseSwgaXQgZGVwZW5kcyBvbiB5b3VyIHVzZSBjYXNlLiBJCitzdWdnZXN0IHRoYXQgeW91IGtlZXAgdGhlIG5vbi1zdWJzdGl0dXRpbmcgZGVmYXVsdCBiZWhhdmlvdXIgYW5kIGF2b2lkIHVzaW5nCitlbnRpdGllcyBpbiB5b3VyIFhNTCBkb2N1bWVudCBvciBkYXRhIGlmIHlvdSBhcmUgbm90IHdpbGxpbmcgdG8gaGFuZGxlIHRoZQorZW50aXR5IHJlZmVyZW5jZXMgZWxlbWVudHMgaW4gdGhlIERPTSB0cmVlLjwvcD4KKworPHA+Tm90ZSB0aGF0IGF0IHNhdmUgdGltZSBsaWJ4bWwyIGVuZm9yY2VzIHRoZSBjb252ZXJzaW9uIG9mIHRoZSBwcmVkZWZpbmVkCitlbnRpdGllcyB3aGVyZSBuZWNlc3NhcnkgdG8gcHJldmVudCB3ZWxsLWZvcm1lZG5lc3MgcHJvYmxlbXMsIGFuZCB3aWxsIGFsc28KK3RyYW5zcGFyZW50bHkgcmVwbGFjZSB0aG9zZSB3aXRoIGNoYXJzIChpLmUuIGl0IHdpbGwgbm90IGdlbmVyYXRlIGVudGl0eQorcmVmZXJlbmNlIGVsZW1lbnRzIGluIHRoZSBET00gdHJlZSBvciBjYWxsIHRoZSByZWZlcmVuY2UoKSBTQVggY2FsbGJhY2sgd2hlbgorZmluZGluZyB0aGVtIGluIHRoZSBpbnB1dCkuPC9wPgorCis8cD48c3BhbiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogI0ZGMDAwMCI+V0FSTklORzwvc3Bhbj46IGhhbmRsaW5nIGVudGl0aWVzCitvbiB0b3Agb2YgdGhlIGxpYnhtbDIgU0FYIGludGVyZmFjZSBpcyBkaWZmaWN1bHQhISEgSWYgeW91IHBsYW4gdG8gdXNlCitub24tcHJlZGVmaW5lZCBlbnRpdGllcyBpbiB5b3VyIGRvY3VtZW50cywgdGhlbiB0aGUgbGVhcm5pbmcgY3VydmUgdG8gaGFuZGxlCit0aGVuIHVzaW5nIHRoZSBTQVggQVBJIG1heSBiZSBsb25nLiBJZiB5b3UgcGxhbiB0byB1c2UgY29tcGxleCBkb2N1bWVudHMsIEkKK3N0cm9uZ2x5IHN1Z2dlc3QgeW91IGNvbnNpZGVyIHVzaW5nIHRoZSBET00gaW50ZXJmYWNlIGluc3RlYWQgYW5kIGxldCBsaWJ4bWwKK2RlYWwgd2l0aCB0aGUgY29tcGxleGl0eSByYXRoZXIgdGhhbiB0cnlpbmcgdG8gZG8gaXQgeW91cnNlbGYuPC9wPgorCis8aDI+PGEgbmFtZT0iTmFtZXNwYWNlcyI+TmFtZXNwYWNlczwvYT48L2gyPgorCis8cD5UaGUgbGlieG1sMiBsaWJyYXJ5IGltcGxlbWVudHMgPGEKK2hyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy14bWwtbmFtZXMvIj5YTUwgbmFtZXNwYWNlczwvYT4gc3VwcG9ydCBieQorcmVjb2duaXppbmcgbmFtZXNwYWNlIGNvbnN0cnVjdHMgaW4gdGhlIGlucHV0LCBhbmQgZG9lcyBuYW1lc3BhY2UgbG9va3VwCithdXRvbWF0aWNhbGx5IHdoZW4gYnVpbGRpbmcgdGhlIERPTSB0cmVlLiBBIG5hbWVzcGFjZSBkZWNsYXJhdGlvbiBpcworYXNzb2NpYXRlZCB3aXRoIGFuIGluLW1lbW9yeSBzdHJ1Y3R1cmUgYW5kIGFsbCBlbGVtZW50cyBvciBhdHRyaWJ1dGVzIHdpdGhpbgordGhhdCBuYW1lc3BhY2UgcG9pbnQgdG8gaXQuIEhlbmNlIHRlc3RpbmcgdGhlIG5hbWVzcGFjZSBpcyBhIHNpbXBsZSBhbmQgZmFzdAorZXF1YWxpdHkgb3BlcmF0aW9uIGF0IHRoZSB1c2VyIGxldmVsLjwvcD4KKworPHA+SSBzdWdnZXN0IHRoYXQgcGVvcGxlIHVzaW5nIGxpYnhtbDIgdXNlIGEgbmFtZXNwYWNlLCBhbmQgZGVjbGFyZSBpdCBpbiB0aGUKK3Jvb3QgZWxlbWVudCBvZiB0aGVpciBkb2N1bWVudCBhcyB0aGUgZGVmYXVsdCBuYW1lc3BhY2UuIFRoZW4gdGhleSBkb24ndCBuZWVkCit0byB1c2UgdGhlIHByZWZpeCBpbiB0aGUgY29udGVudCBidXQgd2Ugd2lsbCBoYXZlIGEgYmFzaXMgZm9yIGZ1dHVyZSBzZW1hbnRpYworcmVmaW5lbWVudCBhbmQgIG1lcmdpbmcgb2YgZGF0YSBmcm9tIGRpZmZlcmVudCBzb3VyY2VzLiBUaGlzIGRvZXNuJ3QgaW5jcmVhc2UKK3RoZSBzaXplIG9mIHRoZSBYTUwgb3V0cHV0IHNpZ25pZmljYW50bHksIGJ1dCBzaWduaWZpY2FudGx5IGluY3JlYXNlcyBpdHMKK3ZhbHVlIGluIHRoZSBsb25nLXRlcm0uIEV4YW1wbGU6PC9wPgorPHByZT4mbHQ7bXlkb2MgeG1sbnM9Imh0dHA6Ly9teWRvYy5leGFtcGxlLm9yZy9zY2hlbWFzLyImZ3Q7CisgICAmbHQ7ZWxlbTEmZ3Q7Li4uJmx0Oy9lbGVtMSZndDsKKyAgICZsdDtlbGVtMiZndDsuLi4mbHQ7L2VsZW0yJmd0OworJmx0Oy9teWRvYyZndDs8L3ByZT4KKworPHA+VGhlIG5hbWVzcGFjZSB2YWx1ZSBoYXMgdG8gYmUgYW4gYWJzb2x1dGUgVVJMLCBidXQgdGhlIFVSTCBkb2Vzbid0IGhhdmUgdG8KK3BvaW50IHRvIGFueSBleGlzdGluZyByZXNvdXJjZSBvbiB0aGUgV2ViLiBJdCB3aWxsIGJpbmQgYWxsIHRoZSBlbGVtZW50IGFuZAorYXR0cmlidXRlcyB3aXRoIHRoYXQgVVJMLiBJIHN1Z2dlc3QgdG8gdXNlIGFuIFVSTCB3aXRoaW4gYSBkb21haW4geW91Citjb250cm9sLCBhbmQgdGhhdCB0aGUgVVJMIHNob3VsZCBjb250YWluIHNvbWUga2luZCBvZiB2ZXJzaW9uIGluZm9ybWF0aW9uIGlmCitwb3NzaWJsZS4gRm9yIGV4YW1wbGUsIDxjb2RlPiJodHRwOi8vd3d3Lmdub21lLm9yZy9nbnVtZXJpYy8xLjAvIjwvY29kZT4gaXMgYQorZ29vZCBuYW1lc3BhY2Ugc2NoZW1lLjwvcD4KKworPHA+VGhlbiB3aGVuIHlvdSBsb2FkIGEgZmlsZSwgbWFrZSBzdXJlIHRoYXQgYSBuYW1lc3BhY2UgY2FycnlpbmcgdGhlCit2ZXJzaW9uLWluZGVwZW5kZW50IHByZWZpeCBpcyBpbnN0YWxsZWQgb24gdGhlIHJvb3QgZWxlbWVudCBvZiB5b3VyIGRvY3VtZW50LAorYW5kIGlmIHRoZSB2ZXJzaW9uIGluZm9ybWF0aW9uIGRvbid0IG1hdGNoIHNvbWV0aGluZyB5b3Uga25vdywgd2FybiB0aGUgdXNlcgorYW5kIGJlIGxpYmVyYWwgaW4gd2hhdCB5b3UgYWNjZXB0IGFzIHRoZSBpbnB1dC4gQWxzbyBkbyAqbm90KiB0cnkgdG8gYmFzZQorbmFtZXNwYWNlIGNoZWNraW5nIG9uIHRoZSBwcmVmaXggdmFsdWUuICZsdDtmb286dGV4dCZndDsgbWF5IGJlIGV4YWN0bHkgdGhlCitzYW1lIGFzICZsdDtiYXI6dGV4dCZndDsgaW4gYW5vdGhlciBkb2N1bWVudC4gV2hhdCByZWFsbHkgbWF0dGVycyBpcyB0aGUgVVJJCithc3NvY2lhdGVkIHdpdGggdGhlIGVsZW1lbnQgb3IgdGhlIGF0dHJpYnV0ZSwgbm90IHRoZSBwcmVmaXggc3RyaW5nICh3aGljaCBpcworanVzdCBhIHNob3J0Y3V0IGZvciB0aGUgZnVsbCBVUkkpLiBJbiBsaWJ4bWwsIGVsZW1lbnQgYW5kIGF0dHJpYnV0ZXMgaGF2ZSBhbgorPGNvZGU+bnM8L2NvZGU+IGZpZWxkIHBvaW50aW5nIHRvIGFuIHhtbE5zIHN0cnVjdHVyZSBkZXRhaWxpbmcgdGhlIG5hbWVzcGFjZQorcHJlZml4IGFuZCBpdHMgVVJJLjwvcD4KKworPHA+QEBJbnRlcmZhY2VzQEA8L3A+Cis8cHJlPnhtbE5vZGVQdHIgbm9kZTsKK2lmKCFzdHJuY21wKG5vZGUtJmd0O25hbWUsIm15dGFnIiw1KQorICAmYW1wOyZhbXA7IG5vZGUtJmd0O25zCisgICZhbXA7JmFtcDsgIXN0cmNtcChub2RlLSZndDtucy0mZ3Q7aHJlZiwiaHR0cDovL3d3dy5teXNpdGUuY29tL215bnMvMS4wIikpIHsKKyAgLi4uCit9PC9wcmU+CisKKzxwPlVzdWFsbHkgcGVvcGxlIG9iamVjdCB0byB1c2luZyBuYW1lc3BhY2VzIHRvZ2V0aGVyIHdpdGggdmFsaWRpdHkgY2hlY2tpbmcuCitJIHdpbGwgdHJ5IHRvIG1ha2Ugc3VyZSB0aGF0IHVzaW5nIG5hbWVzcGFjZXMgd29uJ3QgYnJlYWsgdmFsaWRpdHkgY2hlY2tpbmcsCitzbyBldmVuIGlmIHlvdSBwbGFuIHRvIHVzZSBvciBjdXJyZW50bHkgYXJlIHVzaW5nIHZhbGlkYXRpb24gSSBzdHJvbmdseQorc3VnZ2VzdCBhZGRpbmcgbmFtZXNwYWNlcyB0byB5b3VyIGRvY3VtZW50LiBBIGRlZmF1bHQgbmFtZXNwYWNlIHNjaGVtZQorPGNvZGU+eG1sbnM9Imh0dHA6Ly8uLi4uIjwvY29kZT4gc2hvdWxkIG5vdCBicmVhayB2YWxpZGl0eSBldmVuIG9uIGxlc3MKK2ZsZXhpYmxlIHBhcnNlcnMuIFVzaW5nIG5hbWVzcGFjZXMgdG8gbWl4IGFuZCBkaWZmZXJlbnRpYXRlIGNvbnRlbnQgY29taW5nCitmcm9tIG11bHRpcGxlIERURHMgd2lsbCBjZXJ0YWlubHkgYnJlYWsgY3VycmVudCB2YWxpZGF0aW9uIHNjaGVtZXMuIFRvIGNoZWNrCitzdWNoIGRvY3VtZW50cyBvbmUgbmVlZHMgdG8gdXNlIHNjaGVtYS12YWxpZGF0aW9uLCB3aGljaCBpcyBzdXBwb3J0ZWQgaW4KK2xpYnhtbDIgYXMgd2VsbC4gU2VlIDxhIGhyZWY9Imh0dHA6Ly93d3cucmVsYXhuZy5vcmcvIj5yZWxhZ3gtbmc8L2E+IGFuZCA8YQoraHJlZj0iaHR0cDovL3d3dy53M2Mub3JnL1hNTC9TY2hlbWEiPnczYy1zY2hlbWE8L2E+LjwvcD4KKworPGgyPjxhIG5hbWU9IlVwZ3JhZGluZyI+VXBncmFkaW5nIDEueCBjb2RlPC9hPjwvaDI+CisKKzxwPkluY29tcGF0aWJsZSBjaGFuZ2VzOjwvcD4KKworPHA+VmVyc2lvbiAyIG9mIGxpYnhtbDIgaXMgdGhlIGZpcnN0IHZlcnNpb24gaW50cm9kdWNpbmcgc2VyaW91cyBiYWNrd2FyZAoraW5jb21wYXRpYmxlIGNoYW5nZXMuIFRoZSBtYWluIGdvYWxzIHdlcmU6PC9wPgorPHVsPgorICA8bGk+YSBnZW5lcmFsIGNsZWFudXAuIEEgbnVtYmVyIG9mIG1pc3Rha2VzIGluaGVyaXRlZCBmcm9tIHRoZSB2ZXJ5IGVhcmx5CisgICAgdmVyc2lvbnMgY291bGRuJ3QgYmUgY2hhbmdlZCBkdWUgdG8gY29tcGF0aWJpbGl0eSBjb25zdHJhaW50cy4gRXhhbXBsZQorICAgIHRoZSAiY2hpbGRzIiBlbGVtZW50IGluIHRoZSBub2Rlcy48L2xpPgorICA8bGk+VW5pZm9ybWl6YXRpb24gb2YgdGhlIHZhcmlvdXMgbm9kZXMsIGF0IGxlYXN0IGZvciB0aGVpciBoZWFkZXIgYW5kIGxpbmsKKyAgICBwYXJ0cyAoZG9jLCBwYXJlbnQsIGNoaWxkcmVuLCBwcmV2LCBuZXh0KSwgdGhlIGdvYWwgaXMgYSBzaW1wbGVyCisgICAgcHJvZ3JhbW1pbmcgbW9kZWwgYW5kIHNpbXBsaWZ5aW5nIHRoZSB0YXNrIG9mIHRoZSBET00gaW1wbGVtZW50b3JzLjwvbGk+CisgIDxsaT5iZXR0ZXIgY29uZm9ybWFuY2VzIHRvIHRoZSBYTUwgc3BlY2lmaWNhdGlvbiwgZm9yIGV4YW1wbGUgdmVyc2lvbiAxLngKKyAgICBoYWQgYW4gaGV1cmlzdGljIHRvIHRyeSB0byBkZXRlY3QgaWdub3JhYmxlIHdoaXRlIHNwYWNlcy4gQXMgYSByZXN1bHQgdGhlCisgICAgU0FYIGV2ZW50IGdlbmVyYXRlZCB3ZXJlIGlnbm9yYWJsZVdoaXRlc3BhY2UoKSB3aGlsZSB0aGUgc3BlYyByZXF1aXJlcworICAgIGNoYXJhY3RlcigpIGluIHRoYXQgY2FzZS4gVGhpcyBhbHNvIG1lYW4gdGhhdCBhIG51bWJlciBvZiBET00gbm9kZQorICAgIGNvbnRhaW5pbmcgYmxhbmsgdGV4dCBtYXkgcG9wdWxhdGUgdGhlIERPTSB0cmVlIHdoaWNoIHdlcmUgbm90IHByZXNlbnQKKyAgICBiZWZvcmUuPC9saT4KKzwvdWw+CisKKzxoMz5Ib3cgdG8gZml4IGxpYnhtbC0xLnggY29kZTo8L2gzPgorCis8cD5TbyBjbGllbnQgY29kZSBvZiBsaWJ4bWwgZGVzaWduZWQgdG8gcnVuIHdpdGggdmVyc2lvbiAxLnggbWF5IGhhdmUgdG8gYmUKK2NoYW5nZWQgdG8gY29tcGlsZSBhZ2FpbnN0IHZlcnNpb24gMi54IG9mIGxpYnhtbC4gSGVyZSBpcyBhIGxpc3Qgb2YgY2hhbmdlcwordGhhdCBJIGhhdmUgY29sbGVjdGVkLCB0aGV5IG1heSBub3QgYmUgc3VmZmljaWVudCwgc28gaW4gY2FzZSB5b3UgZmluZCBvdGhlcgorY2hhbmdlIHdoaWNoIGFyZSByZXF1aXJlZCwgPGEgaHJlZj0ibWFpbHRvOkRhbmllbC5WZWlsbGFyZEB3My5vcmciPmRyb3AgbWUgYQorbWFpbDwvYT46PC9wPgorPG9sPgorICA8bGk+VGhlIHBhY2thZ2UgbmFtZSBoYXZlIGNoYW5nZWQgZnJvbSBsaWJ4bWwgdG8gbGlieG1sMiwgdGhlIGxpYnJhcnkgbmFtZQorICAgIGlzIG5vdyAtbHhtbDIgLiBUaGVyZSBpcyBhIG5ldyB4bWwyLWNvbmZpZyBzY3JpcHQgd2hpY2ggc2hvdWxkIGJlIHVzZWQgdG8KKyAgICBzZWxlY3QgdGhlIHJpZ2h0IHBhcmFtZXRlcnMgbGlieG1sMjwvbGk+CisgIDxsaT5Ob2RlIDxzdHJvbmc+Y2hpbGRzPC9zdHJvbmc+IGZpZWxkIGhhcyBiZWVuIHJlbmFtZWQKKyAgICA8c3Ryb25nPmNoaWxkcmVuPC9zdHJvbmc+IHNvIHMvY2hpbGRzL2NoaWxkcmVuL2cgc2hvdWxkIGJlICBhcHBsaWVkCisgICAgKHByb2JhYmlsaXR5IG9mIGhhdmluZyAiY2hpbGRzIiBhbnl3aGVyZSBlbHNlIGlzIGNsb3NlIHRvIDArPC9saT4KKyAgPGxpPlRoZSBkb2N1bWVudCBkb24ndCBoYXZlIGFueW1vcmUgYSA8c3Ryb25nPnJvb3Q8L3N0cm9uZz4gZWxlbWVudCBpdCBoYXMKKyAgICBiZWVuIHJlcGxhY2VkIGJ5IDxzdHJvbmc+Y2hpbGRyZW48L3N0cm9uZz4gYW5kIHVzdWFsbHkgeW91IHdpbGwgZ2V0IGEKKyAgICBsaXN0IG9mIGVsZW1lbnQgaGVyZS4gRm9yIGV4YW1wbGUgYSBEdGQgZWxlbWVudCBmb3IgdGhlIGludGVybmFsIHN1YnNldAorICAgIGFuZCBpdCdzIGRlY2xhcmF0aW9uIG1heSBiZSBmb3VuZCBpbiB0aGF0IGxpc3QsIGFzIHdlbGwgYXMgcHJvY2Vzc2luZworICAgIGluc3RydWN0aW9ucyBvciBjb21tZW50cyBmb3VuZCBiZWZvcmUgb3IgYWZ0ZXIgdGhlIGRvY3VtZW50IHJvb3QgZWxlbWVudC4KKyAgICBVc2UgPHN0cm9uZz54bWxEb2NHZXRSb290RWxlbWVudChkb2MpPC9zdHJvbmc+IHRvIGdldCB0aGUgcm9vdCBlbGVtZW50IG9mCisgICAgYSBkb2N1bWVudC4gQWx0ZXJuYXRpdmVseSBpZiB5b3UgYXJlIHN1cmUgdG8gbm90IHJlZmVyZW5jZSBEVERzIG5vciBoYXZlCisgICAgUElzIG9yIGNvbW1lbnRzIGJlZm9yZSBvciBhZnRlciB0aGUgcm9vdCBlbGVtZW50CisgICAgcy8tJmd0O3Jvb3QvLSZndDtjaGlsZHJlbi9nIHdpbGwgcHJvYmFibHkgZG8gaXQuPC9saT4KKyAgPGxpPlRoZSB3aGl0ZSBzcGFjZSBpc3N1ZSwgdGhpcyBvbmUgaXMgbW9yZSBjb21wbGV4LCB1bmxlc3Mgc3BlY2lhbCBjYXNlIG9mCisgICAgdmFsaWRhdGluZyBwYXJzaW5nLCB0aGUgbGluZSBicmVha3MgYW5kIHNwYWNlcyB1c3VhbGx5IHVzZWQgZm9yIGluZGVudGluZworICAgIGFuZCBmb3JtYXR0aW5nIHRoZSBkb2N1bWVudCBjb250ZW50IGJlY29tZXMgc2lnbmlmaWNhbnQuIFNvIHRoZXkgYXJlCisgICAgcmVwb3J0ZWQgYnkgU0FYIGFuZCBpZiB5b3VyIHVzaW5nIHRoZSBET00gdHJlZSwgY29ycmVzcG9uZGluZyBub2RlcyBhcmUKKyAgICBnZW5lcmF0ZWQuIFRvbyBhcHByb2FjaCBjYW4gYmUgdGFrZW46CisgICAgPG9sPgorICAgICAgPGxpPmxhenkgb25lLCB1c2UgdGhlIGNvbXBhdGliaWxpdHkgY2FsbAorICAgICAgICA8c3Ryb25nPnhtbEtlZXBCbGFua3NEZWZhdWx0KDApPC9zdHJvbmc+IGJ1dCBiZSBhd2FyZSB0aGF0IHlvdSBhcmUKKyAgICAgICAgcmVseWluZyBvbiBhIHNwZWNpYWwgKGFuZCBwb3NzaWJseSBicm9rZW4pIHNldCBvZiBoZXVyaXN0aWNzIG9mCisgICAgICAgIGxpYnhtbCB0byBkZXRlY3QgaWdub3JhYmxlIGJsYW5rcy4gRG9uJ3QgY29tcGxhaW4gaWYgaXQgYnJlYWtzIG9yCisgICAgICAgIG1ha2UgeW91ciBhcHBsaWNhdGlvbiBub3QgMTAwJSBjbGVhbiB3LnIudC4gdG8gaXQncyBpbnB1dC48L2xpPgorICAgICAgPGxpPnRoZSBSaWdodCBXYXk6IGNoYW5nZSB5b3UgY29kZSB0byBhY2NlcHQgcG9zc2libHkgaW5zaWduaWZpY2FudAorICAgICAgICBibGFua3MgY2hhcmFjdGVycywgb3IgaGF2ZSB5b3VyIHRyZWUgcG9wdWxhdGVkIHdpdGggd2VpcmQgYmxhbmsgdGV4dAorICAgICAgICBub2Rlcy4gWW91IGNhbiBzcG90IHRoZW0gdXNpbmcgdGhlIGNvbW1vZGl0eSBmdW5jdGlvbgorICAgICAgICA8c3Ryb25nPnhtbElzQmxhbmtOb2RlKG5vZGUpPC9zdHJvbmc+IHJldHVybmluZyAxIGZvciBzdWNoIGJsYW5rCisgICAgICAgIG5vZGVzLjwvbGk+CisgICAgPC9vbD4KKyAgICA8cD5Ob3RlIGFsc28gdGhhdCB3aXRoIHRoZSBuZXcgZGVmYXVsdCB0aGUgb3V0cHV0IGZ1bmN0aW9ucyBkb24ndCBhZGQgYW55CisgICAgZXh0cmEgaW5kZW50YXRpb24gd2hlbiBzYXZpbmcgYSB0cmVlIGluIG9yZGVyIHRvIGJlIGFibGUgdG8gcm91bmQgdHJpcAorICAgIChyZWFkIGFuZCBzYXZlKSB3aXRob3V0IGluZmxhdGluZyB0aGUgZG9jdW1lbnQgd2l0aCBleHRyYSBmb3JtYXR0aW5nCisgICAgY2hhcnMuPC9wPgorICA8L2xpPgorICA8bGk+VGhlIGluY2x1ZGUgcGF0aCBoYXMgY2hhbmdlZCB0byAkcHJlZml4L2xpYnhtbC8gYW5kIHRoZSBpbmNsdWRlcworICAgIHRoZW1zZWx2ZXMgdXNlcyB0aGlzIG5ldyBwcmVmaXggaW4gaW5jbHVkZXMgaW5zdHJ1Y3Rpb25zLi4uIElmIHlvdSBhcmUKKyAgICB1c2luZyAoYXMgZXhwZWN0ZWQpIHRoZQorICAgIDxwcmU+eG1sMi1jb25maWcgLS1jZmxhZ3M8L3ByZT4KKyAgICA8cD5vdXRwdXQgdG8gZ2VuZXJhdGUgeW91IGNvbXBpbGUgY29tbWFuZHMgdGhpcyB3aWxsIHByb2JhYmx5IHdvcmsgb3V0IG9mCisgICAgdGhlIGJveDwvcD4KKyAgPC9saT4KKyAgPGxpPnhtbERldGVjdENoYXJFbmNvZGluZyB0YWtlcyBhbiBleHRyYSBhcmd1bWVudCBpbmRpY2F0aW5nIHRoZSBsZW5ndGggaW4KKyAgICBieXRlIG9mIHRoZSBoZWFkIG9mIHRoZSBkb2N1bWVudCBhdmFpbGFibGUgZm9yIGNoYXJhY3RlciBkZXRlY3Rpb24uPC9saT4KKzwvb2w+CisKKzxoMz5FbnN1cmluZyBib3RoIGxpYnhtbC0xLnggYW5kIGxpYnhtbC0yLnggY29tcGF0aWJpbGl0eTwvaDM+CisKKzxwPlR3byBuZXcgdmVyc2lvbiBvZiBsaWJ4bWwgKDEuOC4xMSkgYW5kIGxpYnhtbDIgKDIuMy40KSBoYXZlIGJlZW4gcmVsZWFzZWQKK3RvIGFsbG93IHNtb290aCB1cGdyYWRlIG9mIGV4aXN0aW5nIGxpYnhtbCB2MWNvZGUgd2hpbGUgcmV0YWluaW5nCitjb21wYXRpYmlsaXR5LiBUaGV5IG9mZmVycyB0aGUgZm9sbG93aW5nOjwvcD4KKzxvbD4KKyAgPGxpPnNpbWlsYXIgaW5jbHVkZSBuYW1pbmcsIG9uZSBzaG91bGQgdXNlCisgICAgPHN0cm9uZz4jaW5jbHVkZSZsdDtsaWJ4bWwvLi4uJmd0Ozwvc3Ryb25nPiBpbiBib3RoIGNhc2VzLjwvbGk+CisgIDxsaT5zaW1pbGFyIGlkZW50aWZpZXJzIGRlZmluZWQgdmlhIG1hY3JvcyBmb3IgdGhlIGNoaWxkIGFuZCByb290IGZpZWxkczoKKyAgICByZXNwZWN0aXZlbHkgPHN0cm9uZz54bWxDaGlsZHJlbk5vZGU8L3N0cm9uZz4gYW5kCisgICAgPHN0cm9uZz54bWxSb290Tm9kZTwvc3Ryb25nPjwvbGk+CisgIDxsaT5hIG5ldyBtYWNybyA8c3Ryb25nPkxJQlhNTF9URVNUX1ZFUlNJT048L3N0cm9uZz4gd2hpY2ggc2hvdWxkIGJlCisgICAgaW5zZXJ0ZWQgb25jZSBpbiB0aGUgY2xpZW50IGNvZGU8L2xpPgorPC9vbD4KKworPHA+U28gdGhlIHJvYWRtYXAgdG8gdXBncmFkZSB5b3VyIGV4aXN0aW5nIGxpYnhtbCBhcHBsaWNhdGlvbnMgaXMgdGhlCitmb2xsb3dpbmc6PC9wPgorPG9sPgorICA8bGk+aW5zdGFsbCB0aGUgIGxpYnhtbC0xLjguOCAoYW5kIGxpYnhtbC1kZXZlbC0xLjguOCkgcGFja2FnZXM8L2xpPgorICA8bGk+ZmluZCBhbGwgb2NjdXJyZW5jZXMgd2hlcmUgdGhlIHhtbERvYyA8c3Ryb25nPnJvb3Q8L3N0cm9uZz4gZmllbGQgaXMKKyAgICB1c2VkIGFuZCBjaGFuZ2UgaXQgdG8gPHN0cm9uZz54bWxSb290Tm9kZTwvc3Ryb25nPjwvbGk+CisgIDxsaT5zaW1pbGFybHkgZmluZCBhbGwgb2NjdXJyZW5jZXMgd2hlcmUgdGhlIHhtbE5vZGUKKyAgICA8c3Ryb25nPmNoaWxkczwvc3Ryb25nPiBmaWVsZCBpcyB1c2VkIGFuZCBjaGFuZ2UgaXQgdG8KKyAgICA8c3Ryb25nPnhtbENoaWxkcmVuTm9kZTwvc3Ryb25nPjwvbGk+CisgIDxsaT5hZGQgYSA8c3Ryb25nPkxJQlhNTF9URVNUX1ZFUlNJT048L3N0cm9uZz4gbWFjcm8gc29tZXdoZXJlIGluIHlvdXIKKyAgICA8c3Ryb25nPm1haW4oKTwvc3Ryb25nPiBvciBpbiB0aGUgbGlicmFyeSBpbml0IGVudHJ5IHBvaW50PC9saT4KKyAgPGxpPlJlY29tcGlsZSwgY2hlY2sgY29tcGF0aWJpbGl0eSwgaXQgc2hvdWxkIHN0aWxsIHdvcms8L2xpPgorICA8bGk+Q2hhbmdlIHlvdXIgY29uZmlndXJlIHNjcmlwdCB0byBsb29rIGZpcnN0IGZvciB4bWwyLWNvbmZpZyBhbmQgZmFsbAorICAgIGJhY2sgdXNpbmcgeG1sLWNvbmZpZyAuIFVzZSB0aGUgLS1jZmxhZ3MgYW5kIC0tbGlicyBvdXRwdXQgb2YgdGhlIGNvbW1hbmQKKyAgICBhcyB0aGUgSW5jbHVkZSBhbmQgTGlua2luZyBwYXJhbWV0ZXJzIG5lZWRlZCB0byB1c2UgbGlieG1sLjwvbGk+CisgIDxsaT5pbnN0YWxsIGxpYnhtbDItMi4zLnggYW5kICBsaWJ4bWwyLWRldmVsLTIuMy54IChsaWJ4bWwtMS44LnkgYW5kCisgICAgbGlieG1sLWRldmVsLTEuOC55IGNhbiBiZSBrZXB0IHNpbXVsdGFuZW91c2x5KTwvbGk+CisgIDxsaT5yZW1vdmUgeW91ciBjb25maWcuY2FjaGUsIHJlbGF1bmNoIHlvdXIgY29uZmlndXJhdGlvbiBtZWNoYW5pc20sIGFuZAorICAgIHJlY29tcGlsZSwgaWYgc3RlcHMgMiBhbmQgMyB3ZXJlIGRvbmUgcmlnaHQgaXQgc2hvdWxkIGNvbXBpbGUgYXMtaXM8L2xpPgorICA8bGk+VGVzdCB0aGF0IHlvdXIgYXBwbGljYXRpb24gaXMgc3RpbGwgcnVubmluZyBjb3JyZWN0bHksIGlmIG5vdCB0aGlzIG1heQorICAgIGJlIGR1ZSB0byBleHRyYSBlbXB0eSBub2RlcyBkdWUgdG8gZm9ybWF0aW5nIHNwYWNlcyBiZWluZyBrZXB0IGluIGxpYnhtbDIKKyAgICBjb250cmFyeSB0byBsaWJ4bWwxLCBpbiB0aGF0IGNhc2UgaW5zZXJ0IHhtbEtlZXBCbGFua3NEZWZhdWx0KDEpIGluIHlvdXIKKyAgICBjb2RlIGJlZm9yZSBjYWxsaW5nIHRoZSBwYXJzZXIgKG5leHQgdG8KKyAgICA8c3Ryb25nPkxJQlhNTF9URVNUX1ZFUlNJT048L3N0cm9uZz4gaXMgYSBmaW5lIHBsYWNlKS48L2xpPgorPC9vbD4KKworPHA+Rm9sbG93aW5nIHRob3NlIHN0ZXBzIHNob3VsZCB3b3JrLiBJdCB3b3JrZWQgZm9yIHNvbWUgb2YgbXkgb3duIGNvZGUuPC9wPgorCis8cD5MZXQgbWUgcHV0IHNvbWUgZW1waGFzaXMgb24gdGhlIGZhY3QgdGhhdCB0aGVyZSBpcyBmYXIgbW9yZSBjaGFuZ2VzIGZyb20KK2xpYnhtbCAxLnggdG8gMi54IHRoYW4gdGhlIG9uZXMgeW91IG1heSBoYXZlIHRvIHBhdGNoIGZvci4gVGhlIG92ZXJhbGwgY29kZQoraGFzIGJlZW4gY29uc2lkZXJhYmx5IGNsZWFuZWQgdXAgYW5kIHRoZSBjb25mb3JtYW5jZSB0byB0aGUgWE1MIHNwZWNpZmljYXRpb24KK2hhcyBiZWVuIGRyYXN0aWNhbGx5IGltcHJvdmVkIHRvby4gRG9uJ3QgdGFrZSB0aG9zZSBjaGFuZ2VzIGFzIGFuIGV4Y3VzZSB0bworbm90IHVwZ3JhZGUsIGl0IG1heSBjb3N0IGEgbG90IG9uIHRoZSBsb25nIHRlcm0gLi4uPC9wPgorCis8aDI+PGEgbmFtZT0iVGhyZWFkIj5UaHJlYWQgc2FmZXR5PC9hPjwvaDI+CisKKzxwPlN0YXJ0aW5nIHdpdGggMi40LjcsIGxpYnhtbDIgbWFrZXMgcHJvdmlzaW9ucyB0byBlbnN1cmUgdGhhdCBjb25jdXJyZW50Cit0aHJlYWRzIGNhbiBzYWZlbHkgd29yayBpbiBwYXJhbGxlbCBwYXJzaW5nIGRpZmZlcmVudCBkb2N1bWVudHMuIFRoZXJlIGlzCitob3dldmVyIGEgY291cGxlIG9mIHRoaW5ncyB0byBkbyB0byBlbnN1cmUgaXQ6PC9wPgorPHVsPgorICA8bGk+Y29uZmlndXJlIHRoZSBsaWJyYXJ5IGFjY29yZGluZ2x5IHVzaW5nIHRoZSAtLXdpdGgtdGhyZWFkcyBvcHRpb25zPC9saT4KKyAgPGxpPmNhbGwgeG1sSW5pdFBhcnNlcigpIGluIHRoZSAibWFpbiIgdGhyZWFkIGJlZm9yZSB1c2luZyBhbnkgb2YgdGhlCisgICAgbGlieG1sMiBBUEkgKGV4Y2VwdCBwb3NzaWJseSBzZWxlY3RpbmcgYSBkaWZmZXJlbnQgbWVtb3J5IGFsbG9jYXRvcik8L2xpPgorPC91bD4KKworPHA+Tm90ZSB0aGF0IHRoZSB0aHJlYWQgc2FmZXR5IGNhbm5vdCBiZSBlbnN1cmVkIGZvciBtdWx0aXBsZSB0aHJlYWRzIHNoYXJpbmcKK3RoZSBzYW1lIGRvY3VtZW50LCB0aGUgbG9ja2luZyBtdXN0IGJlIGRvbmUgYXQgdGhlIGFwcGxpY2F0aW9uIGxldmVsLCBsaWJ4bWwKK2V4cG9ydHMgYSBiYXNpYyBtdXRleCBhbmQgcmVlbnRyYW50IG11dGV4ZXMgQVBJIGluICZsdDtsaWJ4bWwvdGhyZWFkcy5oJmd0Oy4KK1RoZSBwYXJ0cyBvZiB0aGUgbGlicmFyeSBjaGVja2VkIGZvciB0aHJlYWQgc2FmZXR5IGFyZTo8L3A+Cis8dWw+CisgIDxsaT5jb25jdXJyZW50IGxvYWRpbmc8L2xpPgorICA8bGk+ZmlsZSBhY2Nlc3MgcmVzb2x1dGlvbjwvbGk+CisgIDxsaT5jYXRhbG9nIGFjY2VzczwvbGk+CisgIDxsaT5jYXRhbG9nIGJ1aWxkaW5nPC9saT4KKyAgPGxpPmVudGl0aWVzIGxvb2t1cC9hY2Nlc3NlczwvbGk+CisgIDxsaT52YWxpZGF0aW9uPC9saT4KKyAgPGxpPmdsb2JhbCB2YXJpYWJsZXMgcGVyLXRocmVhZCBvdmVycmlkZTwvbGk+CisgIDxsaT5tZW1vcnkgaGFuZGxpbmc8L2xpPgorPC91bD4KKworPHA+WFBhdGggaGFzIGJlZW4gdGVzdGVkIGZvciB0aHJlYWRlZCB1c2FnZSBvbiBub24tbW9kaWZpZWQgZG9jdW1lbnQKKyAgIGZvciBleGFtcGxlIHdoZW4gdXNpbmcgbGlieHNsdCwgYnV0IG1ha2UgMTAwJSBzdXJlIHRoZSBkb2N1bWVudHMKKyAgIGFyZSBhY2Nlc3NlZCByZWFkLW9ubHkgITwvcD4KKworPGgyPjxhIG5hbWU9IkRPTSI+PC9hPjxhIG5hbWU9IlByaW5jaXBsZXMiPkRPTSBQcmluY2lwbGVzPC9hPjwvaDI+CisKKzxwPjxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL0RPTS8iPkRPTTwvYT4gc3RhbmRzIGZvciB0aGUgPGVtPkRvY3VtZW50CitPYmplY3QgTW9kZWw8L2VtPjsgdGhpcyBpcyBhbiBBUEkgZm9yIGFjY2Vzc2luZyBYTUwgb3IgSFRNTCBzdHJ1Y3R1cmVkCitkb2N1bWVudHMuIE5hdGl2ZSBzdXBwb3J0IGZvciBET00gaW4gR25vbWUgaXMgb24gdGhlIHdheSAobW9kdWxlIGdub21lLWRvbSksCithbmQgd2lsbCBiZSBiYXNlZCBvbiBnbm9tZS14bWwuIFRoaXMgd2lsbCBiZSBhIGZhciBjbGVhbmVyIGludGVyZmFjZSB0bworbWFuaXB1bGF0ZSBYTUwgZmlsZXMgd2l0aGluIEdub21lIHNpbmNlIGl0IHdvbid0IGV4cG9zZSB0aGUgaW50ZXJuYWwKK3N0cnVjdHVyZS48L3A+CisKKzxwPlRoZSBjdXJyZW50IERPTSBpbXBsZW1lbnRhdGlvbiBvbiB0b3Agb2YgbGlieG1sMiBpcyB0aGUgPGEKK2hyZWY9Imh0dHA6Ly9zdm4uZ25vbWUub3JnL3ZpZXd2Yy9nZG9tZTIvdHJ1bmsvIj5nZG9tZTIgR25vbWUgbW9kdWxlPC9hPiwgdGhpcworaXMgYSBmdWxsIERPTSBpbnRlcmZhY2UsIHRoYW5rcyB0byBQYW9sbyBDYXNhcmluaSwgY2hlY2sgdGhlIDxhCitocmVmPSJodHRwOi8vZ2RvbWUyLmNzLnVuaWJvLml0LyI+R2RvbWUyIGhvbWVwYWdlPC9hPiBmb3IgbW9yZQoraW5mb3JtYXRpb24uPC9wPgorCis8aDI+PGEgbmFtZT0iRXhhbXBsZSI+PC9hPjxhIG5hbWU9InJlYWwiPkEgcmVhbCBleGFtcGxlPC9hPjwvaDI+CisKKzxwPkhlcmUgaXMgYSByZWFsIHNpemUgZXhhbXBsZSwgd2hlcmUgdGhlIGFjdHVhbCBjb250ZW50IG9mIHRoZSBhcHBsaWNhdGlvbgorZGF0YSBpcyBub3Qga2VwdCBpbiB0aGUgRE9NIHRyZWUgYnV0IHVzZXMgaW50ZXJuYWwgc3RydWN0dXJlcy4gSXQgaXMgYmFzZWQgb24KK2EgcHJvcG9zYWwgdG8ga2VlcCBhIGRhdGFiYXNlIG9mIGpvYnMgcmVsYXRlZCB0byBHbm9tZSwgd2l0aCBhbiBYTUwgYmFzZWQKK3N0b3JhZ2Ugc3RydWN0dXJlLiBIZXJlIGlzIGFuIDxhIGhyZWY9Imdqb2JzLnhtbCI+WE1MIGVuY29kZWQgam9icworYmFzZTwvYT46PC9wPgorPHByZT4mbHQ7P3htbCB2ZXJzaW9uPSIxLjAiPyZndDsKKyZsdDtnam9iOkhlbHBpbmcgeG1sbnM6Z2pvYj0iaHR0cDovL3d3dy5nbm9tZS5vcmcvc29tZS1sb2NhdGlvbiImZ3Q7CisgICZsdDtnam9iOkpvYnMmZ3Q7CisKKyAgICAmbHQ7Z2pvYjpKb2ImZ3Q7CisgICAgICAmbHQ7Z2pvYjpQcm9qZWN0IElEPSIzIi8mZ3Q7CisgICAgICAmbHQ7Z2pvYjpBcHBsaWNhdGlvbiZndDtHQmFja3VwJmx0Oy9nam9iOkFwcGxpY2F0aW9uJmd0OworICAgICAgJmx0O2dqb2I6Q2F0ZWdvcnkmZ3Q7RGV2ZWxvcG1lbnQmbHQ7L2dqb2I6Q2F0ZWdvcnkmZ3Q7CisKKyAgICAgICZsdDtnam9iOlVwZGF0ZSZndDsKKyAgICAgICAgJmx0O2dqb2I6U3RhdHVzJmd0O09wZW4mbHQ7L2dqb2I6U3RhdHVzJmd0OworICAgICAgICAmbHQ7Z2pvYjpNb2RpZmllZCZndDtNb24sIDA3IEp1biAxOTk5IDIwOjI3OjQ1IC0wNDAwIE1FVCBEU1QmbHQ7L2dqb2I6TW9kaWZpZWQmZ3Q7CisgICAgICAgICZsdDtnam9iOlNhbGFyeSZndDtVU0QgMC4wMCZsdDsvZ2pvYjpTYWxhcnkmZ3Q7CisgICAgICAmbHQ7L2dqb2I6VXBkYXRlJmd0OworCisgICAgICAmbHQ7Z2pvYjpEZXZlbG9wZXJzJmd0OworICAgICAgICAmbHQ7Z2pvYjpEZXZlbG9wZXImZ3Q7CisgICAgICAgICZsdDsvZ2pvYjpEZXZlbG9wZXImZ3Q7CisgICAgICAmbHQ7L2dqb2I6RGV2ZWxvcGVycyZndDsKKworICAgICAgJmx0O2dqb2I6Q29udGFjdCZndDsKKyAgICAgICAgJmx0O2dqb2I6UGVyc29uJmd0O05hdGhhbiBDbGVtb25zJmx0Oy9nam9iOlBlcnNvbiZndDsKKyAgICAgICAgJmx0O2dqb2I6RW1haWwmZ3Q7bmF0aGFuQHdpbmRzb2ZzdG9ybS5uZXQmbHQ7L2dqb2I6RW1haWwmZ3Q7CisgICAgICAgICZsdDtnam9iOkNvbXBhbnkmZ3Q7CisgICAgICAgICZsdDsvZ2pvYjpDb21wYW55Jmd0OworICAgICAgICAmbHQ7Z2pvYjpPcmdhbmlzYXRpb24mZ3Q7CisgICAgICAgICZsdDsvZ2pvYjpPcmdhbmlzYXRpb24mZ3Q7CisgICAgICAgICZsdDtnam9iOldlYnBhZ2UmZ3Q7CisgICAgICAgICZsdDsvZ2pvYjpXZWJwYWdlJmd0OworICAgICAgICAmbHQ7Z2pvYjpTbmFpbG1haWwmZ3Q7CisgICAgICAgICZsdDsvZ2pvYjpTbmFpbG1haWwmZ3Q7CisgICAgICAgICZsdDtnam9iOlBob25lJmd0OworICAgICAgICAmbHQ7L2dqb2I6UGhvbmUmZ3Q7CisgICAgICAmbHQ7L2dqb2I6Q29udGFjdCZndDsKKworICAgICAgJmx0O2dqb2I6UmVxdWlyZW1lbnRzJmd0OworICAgICAgVGhlIHByb2dyYW0gc2hvdWxkIGJlIHJlbGVhc2VkIGFzIGZyZWUgc29mdHdhcmUsIHVuZGVyIHRoZSBHUEwuCisgICAgICAmbHQ7L2dqb2I6UmVxdWlyZW1lbnRzJmd0OworCisgICAgICAmbHQ7Z2pvYjpTa2lsbHMmZ3Q7CisgICAgICAmbHQ7L2dqb2I6U2tpbGxzJmd0OworCisgICAgICAmbHQ7Z2pvYjpEZXRhaWxzJmd0OworICAgICAgQSBHTk9NRSBiYXNlZCBzeXN0ZW0gdGhhdCB3aWxsIGFsbG93IGEgc3VwZXJ1c2VyIHRvIGNvbmZpZ3VyZSAKKyAgICAgIGNvbXByZXNzZWQgYW5kIHVuY29tcHJlc3NlZCBmaWxlcyBhbmQvb3IgZmlsZSBzeXN0ZW1zIHRvIGJlIGJhY2tlZCAKKyAgICAgIHVwIHdpdGggYSBzdXBwb3J0ZWQgbWVkaWEgaW4gdGhlIHN5c3RlbS4gIFRoaXMgc2hvdWxkIGJlIGFibGUgdG8gCisgICAgICBwZXJmb3JtIHZpYSBmaW5kIGNvbW1hbmRzIGdlbmVyYXRpbmcgYSBsaXN0IG9mIGZpbGVzIHRoYXQgYXJlIHBhc3NlZCAKKyAgICAgIHRvIHRhciwgZGQsIGNwaW8sIGNwLCBnemlwLCBldGMuLCB0byBiZSBkaXJlY3RlZCB0byB0aGUgdGFwZSBtYWNoaW5lIAorICAgICAgb3IgdmlhIG9wZXJhdGlvbnMgcGVyZm9ybWVkIG9uIHRoZSBmaWxlc3lzdGVtIGl0c2VsZi4gRW1haWwgCisgICAgICBub3RpZmljYXRpb24gYW5kIEdVSSBzdGF0dXMgZGlzcGxheSB2ZXJ5IGltcG9ydGFudC4KKyAgICAgICZsdDsvZ2pvYjpEZXRhaWxzJmd0OworCisgICAgJmx0Oy9nam9iOkpvYiZndDsKKworICAmbHQ7L2dqb2I6Sm9icyZndDsKKyZsdDsvZ2pvYjpIZWxwaW5nJmd0OzwvcHJlPgorCis8cD5XaGlsZSBsb2FkaW5nIHRoZSBYTUwgZmlsZSBpbnRvIGFuIGludGVybmFsIERPTSB0cmVlIGlzIGEgbWF0dGVyIG9mCitjYWxsaW5nIG9ubHkgYSBjb3VwbGUgb2YgZnVuY3Rpb25zLCBicm93c2luZyB0aGUgdHJlZSB0byBnYXRoZXIgdGhlIGRhdGEgYW5kCitnZW5lcmF0ZSB0aGUgaW50ZXJuYWwgc3RydWN0dXJlcyBpcyBoYXJkZXIsIGFuZCBtb3JlIGVycm9yIHByb25lLjwvcD4KKworPHA+VGhlIHN1Z2dlc3RlZCBwcmluY2lwbGUgaXMgdG8gYmUgdG9sZXJhbnQgd2l0aCByZXNwZWN0IHRvIHRoZSBpbnB1dAorc3RydWN0dXJlLiBGb3IgZXhhbXBsZSwgdGhlIG9yZGVyaW5nIG9mIHRoZSBhdHRyaWJ1dGVzIGlzIG5vdCBzaWduaWZpY2FudCwKK3RoZSBYTUwgc3BlY2lmaWNhdGlvbiBpcyBjbGVhciBhYm91dCBpdC4gSXQncyBhbHNvIHVzdWFsbHkgYSBnb29kIGlkZWEgbm90IHRvCitkZXBlbmQgb24gdGhlIG9yZGVyIG9mIHRoZSBjaGlsZHJlbiBvZiBhIGdpdmVuIG5vZGUsIHVubGVzcyBpdCByZWFsbHkgbWFrZXMKK3RoaW5ncyBoYXJkZXIuIEhlcmUgaXMgc29tZSBjb2RlIHRvIHBhcnNlIHRoZSBpbmZvcm1hdGlvbiBmb3IgYSBwZXJzb246PC9wPgorPHByZT4vKgorICogQSBwZXJzb24gcmVjb3JkCisgKi8KK3R5cGVkZWYgc3RydWN0IHBlcnNvbiB7CisgICAgY2hhciAqbmFtZTsKKyAgICBjaGFyICplbWFpbDsKKyAgICBjaGFyICpjb21wYW55OworICAgIGNoYXIgKm9yZ2FuaXNhdGlvbjsKKyAgICBjaGFyICpzbWFpbDsKKyAgICBjaGFyICp3ZWJQYWdlOworICAgIGNoYXIgKnBob25lOworfSBwZXJzb24sICpwZXJzb25QdHI7CisKKy8qCisgKiBBbmQgdGhlIGNvZGUgbmVlZGVkIHRvIHBhcnNlIGl0CisgKi8KK3BlcnNvblB0ciBwYXJzZVBlcnNvbih4bWxEb2NQdHIgZG9jLCB4bWxOc1B0ciBucywgeG1sTm9kZVB0ciBjdXIpIHsKKyAgICBwZXJzb25QdHIgcmV0ID0gTlVMTDsKKworREVCVUcoInBhcnNlUGVyc29uXG4iKTsKKyAgICAvKgorICAgICAqIGFsbG9jYXRlIHRoZSBzdHJ1Y3QKKyAgICAgKi8KKyAgICByZXQgPSAocGVyc29uUHRyKSBtYWxsb2Moc2l6ZW9mKHBlcnNvbikpOworICAgIGlmIChyZXQgPT0gTlVMTCkgeworICAgICAgICBmcHJpbnRmKHN0ZGVyciwib3V0IG9mIG1lbW9yeVxuIik7CisgICAgICAgIHJldHVybihOVUxMKTsKKyAgICB9CisgICAgbWVtc2V0KHJldCwgMCwgc2l6ZW9mKHBlcnNvbikpOworCisgICAgLyogV2UgZG9uJ3QgY2FyZSB3aGF0IHRoZSB0b3AgbGV2ZWwgZWxlbWVudCBuYW1lIGlzICovCisgICAgY3VyID0gY3VyLSZndDt4bWxDaGlsZHJlbk5vZGU7CisgICAgd2hpbGUgKGN1ciAhPSBOVUxMKSB7CisgICAgICAgIGlmICgoIXN0cmNtcChjdXItJmd0O25hbWUsICJQZXJzb24iKSkgJmFtcDsmYW1wOyAoY3VyLSZndDtucyA9PSBucykpCisgICAgICAgICAgICByZXQtJmd0O25hbWUgPSB4bWxOb2RlTGlzdEdldFN0cmluZyhkb2MsIGN1ci0mZ3Q7eG1sQ2hpbGRyZW5Ob2RlLCAxKTsKKyAgICAgICAgaWYgKCghc3RyY21wKGN1ci0mZ3Q7bmFtZSwgIkVtYWlsIikpICZhbXA7JmFtcDsgKGN1ci0mZ3Q7bnMgPT0gbnMpKQorICAgICAgICAgICAgcmV0LSZndDtlbWFpbCA9IHhtbE5vZGVMaXN0R2V0U3RyaW5nKGRvYywgY3VyLSZndDt4bWxDaGlsZHJlbk5vZGUsIDEpOworICAgICAgICBjdXIgPSBjdXItJmd0O25leHQ7CisgICAgfQorCisgICAgcmV0dXJuKHJldCk7Cit9PC9wcmU+CisKKzxwPkhlcmUgYXJlIGEgY291cGxlIG9mIHRoaW5ncyB0byBub3RpY2U6PC9wPgorPHVsPgorICA8bGk+VXN1YWxseSBhIHJlY3Vyc2l2ZSBwYXJzaW5nIHN0eWxlIGlzIHRoZSBtb3JlIGNvbnZlbmllbnQgb25lOiBYTUwgZGF0YQorICAgIGlzIGJ5IG5hdHVyZSBzdWJqZWN0IHRvIHJlcGV0aXRpdmUgY29uc3RydWN0cyBhbmQgdXN1YWxseSBleGhpYml0cyBoaWdobHkKKyAgICBzdHJ1Y3R1cmVkIHBhdHRlcm5zLjwvbGk+CisgIDxsaT5UaGUgdHdvIGFyZ3VtZW50cyBvZiB0eXBlIDxlbT54bWxEb2NQdHI8L2VtPiBhbmQgPGVtPnhtbE5zUHRyPC9lbT4sCisgICAgaS5lLiB0aGUgcG9pbnRlciB0byB0aGUgZ2xvYmFsIFhNTCBkb2N1bWVudCBhbmQgdGhlIG5hbWVzcGFjZSByZXNlcnZlZCB0bworICAgIHRoZSBhcHBsaWNhdGlvbi4gRG9jdW1lbnQgd2lkZSBpbmZvcm1hdGlvbiBhcmUgbmVlZGVkIGZvciBleGFtcGxlIHRvCisgICAgZGVjb2RlIGVudGl0aWVzIGFuZCBpdCdzIGEgZ29vZCBjb2RpbmcgcHJhY3RpY2UgdG8gZGVmaW5lIGEgbmFtZXNwYWNlIGZvcgorICAgIHlvdXIgYXBwbGljYXRpb24gc2V0IG9mIGRhdGEgYW5kIHRlc3QgdGhhdCB0aGUgZWxlbWVudCBhbmQgYXR0cmlidXRlcworICAgIHlvdSdyZSBhbmFseXppbmcgYWN0dWFsbHkgcGVydGFpbnMgdG8geW91ciBhcHBsaWNhdGlvbiBzcGFjZS4gVGhpcyBpcworICAgIGRvbmUgYnkgYSBzaW1wbGUgZXF1YWxpdHkgdGVzdCAoY3VyLSZndDtucyA9PSBucykuPC9saT4KKyAgPGxpPlRvIHJldHJpZXZlIHRleHQgYW5kIGF0dHJpYnV0ZXMgdmFsdWUsIHlvdSBjYW4gdXNlIHRoZSBmdW5jdGlvbgorICAgIDxlbT54bWxOb2RlTGlzdEdldFN0cmluZzwvZW0+IHRvIGdhdGhlciBhbGwgdGhlIHRleHQgYW5kIGVudGl0eSByZWZlcmVuY2UKKyAgICBub2RlcyBnZW5lcmF0ZWQgYnkgdGhlIERPTSBvdXRwdXQgYW5kIHByb2R1Y2UgYW4gc2luZ2xlIHRleHQgc3RyaW5nLjwvbGk+Cis8L3VsPgorCis8cD5IZXJlIGlzIGFub3RoZXIgcGllY2Ugb2YgY29kZSB1c2VkIHRvIHBhcnNlIGFub3RoZXIgbGV2ZWwgb2YgdGhlCitzdHJ1Y3R1cmU6PC9wPgorPHByZT4jaW5jbHVkZSAmbHQ7bGlieG1sL3RyZWUuaCZndDsKKy8qCisgKiBhIERlc2NyaXB0aW9uIGZvciBhIEpvYgorICovCit0eXBlZGVmIHN0cnVjdCBqb2IgeworICAgIGNoYXIgKnByb2plY3RJRDsKKyAgICBjaGFyICphcHBsaWNhdGlvbjsKKyAgICBjaGFyICpjYXRlZ29yeTsKKyAgICBwZXJzb25QdHIgY29udGFjdDsKKyAgICBpbnQgbmJEZXZlbG9wZXJzOworICAgIHBlcnNvblB0ciBkZXZlbG9wZXJzWzEwMF07IC8qIHVzaW5nIGR5bmFtaWMgYWxsb2MgaXMgbGVmdCBhcyBhbiBleGVyY2lzZSAqLworfSBqb2IsICpqb2JQdHI7CisKKy8qCisgKiBBbmQgdGhlIGNvZGUgbmVlZGVkIHRvIHBhcnNlIGl0CisgKi8KK2pvYlB0ciBwYXJzZUpvYih4bWxEb2NQdHIgZG9jLCB4bWxOc1B0ciBucywgeG1sTm9kZVB0ciBjdXIpIHsKKyAgICBqb2JQdHIgcmV0ID0gTlVMTDsKKworREVCVUcoInBhcnNlSm9iXG4iKTsKKyAgICAvKgorICAgICAqIGFsbG9jYXRlIHRoZSBzdHJ1Y3QKKyAgICAgKi8KKyAgICByZXQgPSAoam9iUHRyKSBtYWxsb2Moc2l6ZW9mKGpvYikpOworICAgIGlmIChyZXQgPT0gTlVMTCkgeworICAgICAgICBmcHJpbnRmKHN0ZGVyciwib3V0IG9mIG1lbW9yeVxuIik7CisgICAgICAgIHJldHVybihOVUxMKTsKKyAgICB9CisgICAgbWVtc2V0KHJldCwgMCwgc2l6ZW9mKGpvYikpOworCisgICAgLyogV2UgZG9uJ3QgY2FyZSB3aGF0IHRoZSB0b3AgbGV2ZWwgZWxlbWVudCBuYW1lIGlzICovCisgICAgY3VyID0gY3VyLSZndDt4bWxDaGlsZHJlbk5vZGU7CisgICAgd2hpbGUgKGN1ciAhPSBOVUxMKSB7CisgICAgICAgIAorICAgICAgICBpZiAoKCFzdHJjbXAoY3VyLSZndDtuYW1lLCAiUHJvamVjdCIpKSAmYW1wOyZhbXA7IChjdXItJmd0O25zID09IG5zKSkgeworICAgICAgICAgICAgcmV0LSZndDtwcm9qZWN0SUQgPSB4bWxHZXRQcm9wKGN1ciwgIklEIik7CisgICAgICAgICAgICBpZiAocmV0LSZndDtwcm9qZWN0SUQgPT0gTlVMTCkgeworICAgICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiUHJvamVjdCBoYXMgbm8gSURcbiIpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIGlmICgoIXN0cmNtcChjdXItJmd0O25hbWUsICJBcHBsaWNhdGlvbiIpKSAmYW1wOyZhbXA7IChjdXItJmd0O25zID09IG5zKSkKKyAgICAgICAgICAgIHJldC0mZ3Q7YXBwbGljYXRpb24gPSB4bWxOb2RlTGlzdEdldFN0cmluZyhkb2MsIGN1ci0mZ3Q7eG1sQ2hpbGRyZW5Ob2RlLCAxKTsKKyAgICAgICAgaWYgKCghc3RyY21wKGN1ci0mZ3Q7bmFtZSwgIkNhdGVnb3J5IikpICZhbXA7JmFtcDsgKGN1ci0mZ3Q7bnMgPT0gbnMpKQorICAgICAgICAgICAgcmV0LSZndDtjYXRlZ29yeSA9IHhtbE5vZGVMaXN0R2V0U3RyaW5nKGRvYywgY3VyLSZndDt4bWxDaGlsZHJlbk5vZGUsIDEpOworICAgICAgICBpZiAoKCFzdHJjbXAoY3VyLSZndDtuYW1lLCAiQ29udGFjdCIpKSAmYW1wOyZhbXA7IChjdXItJmd0O25zID09IG5zKSkKKyAgICAgICAgICAgIHJldC0mZ3Q7Y29udGFjdCA9IHBhcnNlUGVyc29uKGRvYywgbnMsIGN1cik7CisgICAgICAgIGN1ciA9IGN1ci0mZ3Q7bmV4dDsKKyAgICB9CisKKyAgICByZXR1cm4ocmV0KTsKK308L3ByZT4KKworPHA+T25jZSB5b3UgYXJlIHVzZWQgdG8gaXQsIHdyaXRpbmcgdGhpcyBraW5kIG9mIGNvZGUgaXMgcXVpdGUgc2ltcGxlLCBidXQKK2JvcmluZy4gVWx0aW1hdGVseSwgaXQgY291bGQgYmUgcG9zc2libGUgdG8gd3JpdGUgc3R1YmJlcnMgdGFraW5nIGVpdGhlciBDCitkYXRhIHN0cnVjdHVyZSBkZWZpbml0aW9ucywgYSBzZXQgb2YgWE1MIGV4YW1wbGVzIG9yIGFuIFhNTCBEVEQgYW5kIHByb2R1Y2UKK3RoZSBjb2RlIG5lZWRlZCB0byBpbXBvcnQgYW5kIGV4cG9ydCB0aGUgY29udGVudCBiZXR3ZWVuIEMgZGF0YSBhbmQgWE1MCitzdG9yYWdlLiBUaGlzIGlzIGxlZnQgYXMgYW4gZXhlcmNpc2UgdG8gdGhlIHJlYWRlciA6LSk8L3A+CisKKzxwPkZlZWwgZnJlZSB0byB1c2UgPGEgaHJlZj0iZXhhbXBsZS9nam9icmVhZC5jIj50aGUgY29kZSBmb3IgdGhlIGZ1bGwgQworcGFyc2luZyBleGFtcGxlPC9hPiBhcyBhIHRlbXBsYXRlLCBpdCBpcyBhbHNvIGF2YWlsYWJsZSB3aXRoIE1ha2VmaWxlIGluIHRoZQorR25vbWUgU1ZOIGJhc2UgdW5kZXIgbGlieG1sMi9leGFtcGxlPC9wPgorCis8aDI+PGEgbmFtZT0iQ29udHJpYnV0aSI+Q29udHJpYnV0aW9uczwvYT48L2gyPgorPHVsPgorICA8bGk+Qmpvcm4gUmVlc2UsIFdpbGxpYW0gQnJhY2sgYW5kIFRob21hcyBCcm95ZXIgaGF2ZSBwcm92aWRlZCBhIG51bWJlciBvZgorICAgIHBhdGNoZXMsIEdhcnkgUGVubmluZ3RvbiB3b3JrZWQgb24gdGhlIHZhbGlkYXRpb24gQVBJLCB0aHJlYWRpbmcgc3VwcG9ydAorICAgIGFuZCBTb2xhcmlzIHBvcnQuPC9saT4KKyAgPGxpPkpvaG4gRmxlY2sgaGVscHMgbWFpbnRhaW5pbmcgdGhlIGRvY3VtZW50YXRpb24gYW5kIG1hbiBwYWdlcy48L2xpPgorICA8bGk+PGEgaHJlZj0ibWFpbHRvOmlnb3JAemxhdGtvdmljLmNvbSI+SWdvciAgWmxhdGtvdmljPC9hPiBpcyBub3cgdGhlCisgICAgbWFpbnRhaW5lciBvZiB0aGUgV2luZG93cyBwb3J0LCA8YQorICAgIGhyZWY9Imh0dHA6Ly93d3cuemxhdGtvdmljLmNvbS9wcm9qZWN0cy9saWJ4bWwvaW5kZXguaHRtbCI+aGUgcHJvdmlkZXMKKyAgICBiaW5hcmllczwvYT48L2xpPgorICA8bGk+PGEgaHJlZj0ibWFpbHRvOkdhcnkuUGVubmluZ3RvbkBzdW4uY29tIj5HYXJ5IFBlbm5pbmd0b248L2E+IHByb3ZpZGVzCisgICAgPGEgaHJlZj0iaHR0cDovL2dhcnlwZW5uaW5ndG9uLm5ldC9saWJ4bWwyLyI+U29sYXJpcyBiaW5hcmllczwvYT48L2xpPgorICA8bGk+PGEKKyAgICBocmVmPSJodHRwOi8vbWFpbC5nbm9tZS5vcmcvYXJjaGl2ZXMveG1sLzIwMDEtTWFyY2gvbXNnMDAwMTQuaHRtbCI+TWF0dAorICAgIFNlcmdlYW50PC9hPiBkZXZlbG9wZWQgPGEKKyAgICBocmVmPSJodHRwOi8vYXhraXQub3JnL2Rvd25sb2FkLyI+WE1MOjpMaWJYU0xUPC9hPiwgYSBQZXJsIHdyYXBwZXIgZm9yCisgICAgbGlieG1sMi9saWJ4c2x0IGFzIHBhcnQgb2YgdGhlIDxhIGhyZWY9Imh0dHA6Ly9heGtpdC5jb20vIj5BeEtpdCBYTUwKKyAgICBhcHBsaWNhdGlvbiBzZXJ2ZXI8L2E+PC9saT4KKyAgPGxpPjxhIGhyZWY9Im1haWx0bzpmbmF0dGVyQGdteC5uZXQiPkZlbGl4IE5hdHRlcjwvYT4gYW5kIDxhCisgICAgaHJlZj0ibWFpbHRvOmdlZXJ0a0BhaS5ydWcubmwiPkdlZXJ0IEtsb29zdGVybWFuPC9hPiBwcm92aWRlIDxhCisgICAgaHJlZj0ibGlieG1sLWRvYy5lbCI+YW4gZW1hY3MgbW9kdWxlPC9hPiB0byBsb29rdXAgbGlieG1sKDIpIGZ1bmN0aW9ucworICAgIGRvY3VtZW50YXRpb248L2xpPgorICA8bGk+PGEgaHJlZj0ibWFpbHRvOnNoZXJ3aW5AbmxtLm5paC5nb3YiPlppeWluZyBTaGVyd2luPC9hPiBwcm92aWRlZCA8YQorICAgIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9tZXNzYWdlcy8wNDg4Lmh0bWwiPm1hbiBwYWdlczwvYT48L2xpPgorICA8bGk+dGhlcmUgaXMgYSBtb2R1bGUgZm9yIDxhCisgICAgaHJlZj0iaHR0cDovL2Fjcy1taXNjLnNvdXJjZWZvcmdlLm5ldC9uc3htbC5odG1sIj5saWJ4bWwvbGlieHNsdCBzdXBwb3J0CisgICAgaW4gT3Blbk5TRC9BT0xTZXJ2ZXI8L2E+PC9saT4KKyAgPGxpPjxhIGhyZWY9Im1haWx0bzpka3VobG1hbkBjdXR0ZXIucmV4eC5jb20iPkRhdmUgS3VobG1hbjwvYT4gcHJvdmlkZWQgdGhlCisgICAgZmlyc3QgdmVyc2lvbiBvZiBsaWJ4bWwvbGlieHNsdCA8YQorICAgIGhyZWY9Imh0dHA6Ly93d3cucmV4eC5jb20vfmRrdWhsbWFuIj53cmFwcGVycyBmb3IgUHl0aG9uPC9hPjwvbGk+CisgIDxsaT5QZXRyIEtvemVsa2EgcHJvdmlkZXMgPGEKKyAgICBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2xpYnhtbDItcGFzIj5QYXNjYWwgdW5pdHMgdG8gZ2x1ZQorICAgIGxpYnhtbDI8L2E+IHdpdGggS3lsaXggYW5kIERlbHBoaSBhbmQgb3RoZXIgUGFzY2FsIGNvbXBpbGVyczwvbGk+CisgIDxsaT48YSBocmVmPSJtYWlsdG86YWxla3NleUBhbGVrc2V5LmNvbSI+QWxla3NleSBTYW5pbjwvYT4gaW1wbGVtZW50ZWQgdGhlCisgICAgPGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvU2lnbmF0dXJlLyI+WE1MIENhbm9uaWNhbGl6YXRpb24gYW5kIFhNTAorICAgIERpZ2l0YWwgU2lnbmF0dXJlPC9hPiA8YQorICAgIGhyZWY9Imh0dHA6Ly93d3cuYWxla3NleS5jb20veG1sc2VjLyI+aW1wbGVtZW50YXRpb25zIGZvciBsaWJ4bWwyPC9hPjwvbGk+CisgIDxsaT48YSBocmVmPSJtYWlsdG86U3RldmUuQmFsbEBleHBsYWluLmNvbS5hdSI+U3RldmUgQmFsbDwvYT4gYW5kCisgICAgY29udHJpYnV0b3JzIG1haW50YWluIDxhIGhyZWY9Imh0dHA6Ly90Y2x4bWwuc291cmNlZm9yZ2UubmV0LyI+dGNsCisgICAgYmluZGluZ3MgZm9yIGxpYnhtbDIgYW5kIGxpYnhzbHQ8L2E+LCBhcyB3ZWxsIGFzIDxhCisgICAgaHJlZj0iaHR0cDovL3RjbHhtbC5zZi5uZXQvdGt4bWxsaW50Lmh0bWwiPnRreG1sbGludDwvYT4gYSBHVUkgZm9yCisgICAgeG1sbGludCBhbmQgPGEgaHJlZj0iaHR0cDovL3RjbHhtbC5zZi5uZXQvdGt4c2x0cHJvYy5odG1sIj50a3hzbHRwcm9jPC9hPgorICAgIGEgR1VJIGZvciB4c2x0cHJvYy48L2xpPgorPC91bD4KKworPHA+PC9wPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MveG1sY2F0YWxvZy4xIGIvbGlieG1sMi9kb2MveG1sY2F0YWxvZy4xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI0YTZiMjIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy94bWxjYXRhbG9nLjEKQEAgLTAsMCArMSwzNDAgQEAKKydcIiB0CisuXCIgICAgIFRpdGxlOiB4bWxjYXRhbG9nCisuXCIgICAgQXV0aG9yOiBKb2huIEZsZWNrIDxqZmxlY2tAaW5rc3RhaW4ubmV0PgorLlwiIEdlbmVyYXRvcjogRG9jQm9vayBYU0wgU3R5bGVzaGVldHMgdjEuNzYuMSA8aHR0cDovL2RvY2Jvb2suc2YubmV0Lz4KKy5cIiAgICAgIERhdGU6ICREYXRlJAorLlwiICAgIE1hbnVhbDogeG1sY2F0YWxvZyBNYW51YWwKKy5cIiAgICBTb3VyY2U6IGxpYnhtbDIKKy5cIiAgTGFuZ3VhZ2U6IEVuZ2xpc2gKKy5cIgorLlRIICJYTUxDQVRBTE9HIiAiMSIgIiREYXRlJCIgImxpYnhtbDIiICJ4bWxjYXRhbG9nIE1hbnVhbCIKKy5cIiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLlwiICogRGVmaW5lIHNvbWUgcG9ydGFiaWxpdHkgc3R1ZmYKKy5cIiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLlwiIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisuXCIgaHR0cDovL2J1Z3MuZGViaWFuLm9yZy81MDc2NzMKKy5cIiBodHRwOi8vbGlzdHMuZ251Lm9yZy9hcmNoaXZlL2h0bWwvZ3JvZmYvMjAwOS0wMi9tc2cwMDAxMy5odG1sCisuXCIgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKy5pZSBcbiguZyAuZHMgQXEgXChhcQorLmVsICAgICAgIC5kcyBBcSAnCisuXCIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy5cIiAqIHNldCBkZWZhdWx0IGZvcm1hdHRpbmcKKy5cIiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLlwiIGRpc2FibGUgaHlwaGVuYXRpb24KKy5uaAorLlwiIGRpc2FibGUganVzdGlmaWNhdGlvbiAoYWRqdXN0IHRleHQgdG8gbGVmdCBtYXJnaW4gb25seSkKKy5hZCBsCisuXCIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy5cIiAqIE1BSU4gQ09OVEVOVCBTVEFSVFMgSEVSRSAqCisuXCIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy5TSCAiTkFNRSIKK3htbGNhdGFsb2cgXC0gQ29tbWFuZCBsaW5lIHRvb2wgdG8gcGFyc2UgYW5kIG1hbmlwdWxhdGUgWE1MIG9yIFNHTUwgY2F0YWxvZyBmaWxlc1wmLgorLlNIICJTWU5PUFNJUyIKKy5IUCBcdydcZkJ4bWxjYXRhbG9nXGZSXCAndQorXGZCeG1sY2F0YWxvZ1xmUiBbXGZCXC1cLXNnbWxcZlIgfCBcZkJcLVwtc2hlbGxcZlIgfCBcZkJcLVwtY3JlYXRlXGZSIHwgXGZCXC1cLWRlbFwgXGZSXGZCXGZJVkFMVUUoUylcZlJcZlIgfCBbXCBcZkJcLVwtYWRkXCBcZlJcZkJcZklUWVBFXGZSXGZSXGZCXCBcZlJcZkJcZklPUklHXGZSXGZSXGZCXCBcZlJcZkJcZklSRVBMQUNFXGZSXGZSXGZCXCBcZlJcIHxcIFxmQlwtXC1hZGRcIFxmUlxmQlxmSUZJTEVOQU1FXGZSXGZSXSB8IFxmQlwtXC1ub291dFxmUiB8IFxmQlwtXC1ub1wtc3VwZXJcLXVwZGF0ZVxmUiB8IFtcZkJcLXZcZlJcIHxcIFxmQlwtXC12ZXJib3NlXGZSXV0ge1xmSUNBVEFMT0dGSUxFXGZSfSB7XGZJRU5USVRJRVNcZlIuLi59CisuU0ggIkRFU0NSSVBUSU9OIgorLlBQCisKK1xmQnhtbGNhdGFsb2dcZlIKK2lzIGEgY29tbWFuZCBsaW5lIGFwcGxpY2F0aW9uIGFsbG93aW5nIHVzZXJzIHRvIG1vbml0b3IgYW5kIG1hbmlwdWxhdGUKK1hNTAorYW5kCitTR01MCitjYXRhbG9nc1wmLiBJdCBpcyBpbmNsdWRlZCBpbgorXGZCbGlieG1sXGZSKDMpXCYuCisuUFAKK0l0cyBmdW5jdGlvbnMgY2FuIGJlIGludm9rZWQgZnJvbSBhIHNpbmdsZSBjb21tYW5kIGZyb20gdGhlIGNvbW1hbmQgbGluZSwgb3IgaXQgY2FuIHBlcmZvcm0gbXVsdGlwbGUgZnVuY3Rpb25zIGluIGludGVyYWN0aXZlIG1vZGVcJi4gSXQgY2FuIG9wZXJhdGUgb24gYm90aAorWE1MCithbmQKK1NHTUwKK2ZpbGVzXCYuCisuU0ggIk9QVElPTlMiCisuUFAKKworXGZCeG1sY2F0YWxvZ1xmUgorYWNjZXB0cyB0aGUgZm9sbG93aW5nIG9wdGlvbnMgKGluIGFscGhhYmV0aWNhbCBvcmRlcik6CisuUFAKK1xmQlwtXC1hZGQgXGZSXGZCXGZJVFlQRVxmUlxmUlxmQiBcZlJcZkJcZklPUklHXGZSXGZSXGZCIFxmUlxmQlxmSVJFUExBQ0VcZlJcZlJcZkIgXGZSCisuUlMgNAorQWRkIGFuIGVudHJ5IHRvCitDQVRBTE9HRklMRVwmLgorXGZJVFlQRVxmUgoraW5kaWNhdGVzIHRoZSB0eXBlIG9mIGVudHJ5XCYuIFBvc3NpYmxlIHR5cGVzIGFyZToKK1xmSXB1YmxpY1xmUiwgXGZJc3lzdGVtXGZSLCBcZkl1cmlcZlIsIFxmSXJld3JpdGVTeXN0ZW1cZlIsIFxmSXJld3JpdGVVUklcZlIsIFxmSWRlbGVnYXRlUHVibGljXGZSLCBcZklkZWxlZ2F0ZVN5c3RlbVxmUiwgXGZJZGVsZWdhdGVVUklcZlIsIFxmSW5leHRDYXRhbG9nXGZSXCYuCitcZklPUklHXGZSCitpcyB0aGUgb3JpZ2luYWwgcmVmZXJlbmNlIHRvIGJlIHJlcGxhY2VkLCBhbmQKK1xmSVJFUExBQ0VcZlIKK2lzIHRoZQorVVJJCitvZiB0aGUgcmVwbGFjZW1lbnQgZW50aXR5IHRvIGJlIHVzZWRcJi4gVGhlCitcZkJcLVwtYWRkXGZSCitvcHRpb24gd2lsbCBub3Qgb3ZlcndyaXRlCitDQVRBTE9HRklMRSwgb3V0cHV0dGluZyB0bworc3Rkb3V0LCB1bmxlc3MKK1xmQlwtXC1ub291dFxmUgoraXMgdXNlZFwmLiBUaGUKK1xmQlwtXC1hZGRcZlIKK3dpbGwgYWx3YXlzIHRha2UgdGhyZWUgcGFyYW1ldGVycyBldmVuIGlmIHNvbWUgb2YgdGhlCitYTUwKK2NhdGFsb2cgY29uc3RydWN0cyB3aWxsIGhhdmUgb25seSBhIHNpbmdsZSBhcmd1bWVudFwmLgorLlJFCisuUFAKK1xmQlwtXC1hZGQgXGZSXGZCXGZJRklMRU5BTUVcZlJcZlIKKy5SUyA0CitJZiB0aGUKK1xmQlwtXC1hZGRcZlIKK29wdGlvbiBpcyB1c2VkIGZvbGxvd2luZyB0aGUKK1xmQlwtXC1zZ21sXGZSCitvcHRpb24sIG9ubHkgYSBzaW5nbGUgYXJndW1lbnQsIGEKK1xmSUZJTEVOQU1FXGZSLCBpcyB1c2VkXCYuIFRoaXMgaXMgdXNlZCB0byBhZGQgdGhlIG5hbWUgb2YgYSBjYXRhbG9nIGZpbGUgdG8gYW4KK1NHTUwKK3N1cGVyY2F0YWxvZywgYSBmaWxlIHRoYXQgY29udGFpbnMgcmVmZXJlbmNlcyB0byBvdGhlciBpbmNsdWRlZAorU0dNTAorY2F0YWxvZyBmaWxlc1wmLgorLlJFCisuUFAKK1xmQlwtXC1jcmVhdGVcZlIKKy5SUyA0CitDcmVhdGUgYSBuZXcKK1hNTAorY2F0YWxvZ1wmLiBPdXRwdXRzIHRvCitzdGRvdXQsIGlnbm9yaW5nCitcZklmaWxlbmFtZVxmUgordW5sZXNzCitcZkJcLVwtbm9vdXRcZlIKK2lzIHVzZWQsIGluIHdoaWNoIGNhc2UgaXQgY3JlYXRlcyBhIG5ldyBjYXRhbG9nIGZpbGUKK1xmSWZpbGVuYW1lXGZSXCYuCisuUkUKKy5QUAorXGZCXC1cLWRlbCBcZlJcZkJcZklWQUxVRShTKVxmUlxmUgorLlJTIDQKK1JlbW92ZSBlbnRyaWVzIGZyb20KK1xmSUNBVEFMT0dGSUxFXGZSCittYXRjaGluZworXGZJVkFMVUUoUylcZlJcJi4gVGhlCitcZkJcLVwtZGVsXGZSCitvcHRpb24gd2lsbCBub3Qgb3ZlcndyaXRlCitcZklDQVRBTE9HRklMRVxmUiwgb3V0cHV0dGluZyB0bworc3Rkb3V0LCB1bmxlc3MKK1xmQlwtXC1ub291dFxmUgoraXMgdXNlZFwmLgorLlJFCisuUFAKK1xmQlwtXC1ub291dFxmUgorLlJTIDQKK1NhdmUgb3V0cHV0IHRvIHRoZSBuYW1lZCBmaWxlIHJhdGhlciB0aGFuIG91dHB1dHRpbmcgdG8KK3N0ZG91dFwmLgorLlJFCisuUFAKK1xmQlwtXC1ub1wtc3VwZXJcLXVwZGF0ZVxmUgorLlJTIDQKK0RvIG5vdCB1cGRhdGUgdGhlCitTR01MCitzdXBlciBjYXRhbG9nXCYuCisuUkUKKy5QUAorXGZCXC1cLXNoZWxsXGZSCisuUlMgNAorUnVuIGEgc2hlbGwgYWxsb3dpbmcgaW50ZXJhY3RpdmUgcXVlcmllcyBvbiBjYXRhbG9nIGZpbGUKK1xmSUNBVEFMT0dGSUxFXGZSXCYuIEZvciB0aGUgc2V0IG9mIGF2YWlsYWJsZSBjb21tYW5kcyBzZWUKK3RoZSBzZWN0aW9uIGNhbGxlZCBcKGxxU0hFTEwgQ09NTUFORFNcKHJxXCYuCisuUkUKKy5QUAorXGZCXC1cLXNnbWxcZlIKKy5SUyA0CitVc2VzCitTR01MCitzdXBlciBjYXRhbG9ncyBmb3IKK1xmQlwtXC1hZGRcZlIKK2FuZAorXGZCXC1cLWRlbFxmUgorb3B0aW9uc1wmLgorLlJFCisuUFAKK1xmQlwtdlxmUiwgXGZCXC1cLXZlcmJvc2VcZlIKKy5SUyA0CitPdXRwdXQgZGVidWdnaW5nIGluZm9ybWF0aW9uXCYuCisuUkUKKy5TSCAiU0hFTEwgQ09NTUFORFMiCisuUFAKK0ludm9raW5nCitcZkJ4bWxjYXRhbG9nXGZSCit3aXRoIHRoZQorXGZCXC1cLXNoZWxsIFxmUlxmQlxmSUNBVEFMT0dGSUxFXGZSXGZSCitvcHRpb24gb3BlbnMgYSBjb21tYW5kIGxpbmUgc2hlbGwgYWxsb3dpbmcgaW50ZXJhY3RpdmUgYWNjZXNzIHRvIHRoZSBjYXRhbG9nIGZpbGUgaWRlbnRpZmllZCBieQorXGZJQ0FUQUxPR0ZJTEVcZlJcJi4gSW52b2tpbmcgdGhlIHNoZWxsIHByb3ZpZGVzIGEgY29tbWFuZCBsaW5lIHByb21wdCBhZnRlciB3aGljaCB0aGUgZm9sbG93aW5nIGNvbW1hbmRzIChkZXNjcmliZWQgaW4gYWxwaGFiZXRpY2FsIG9yZGVyKSBjYW4gYmUgZW50ZXJlZFwmLgorLlBQCitcZkJhZGQgXGZSXGZCXGZJVFlQRVxmUlxmUlxmQiBcZlJcZkJcZklPUklHXGZSXGZSXGZCIFxmUlxmQlxmSVJFUExBQ0VcZlJcZlJcZkIgXGZSCisuUlMgNAorQWRkIGFuIGVudHJ5IHRvIHRoZSBjYXRhbG9nIGZpbGVcJi4KK1xmSVRZUEVcZlIKK2luZGljYXRlcyB0aGUgdHlwZSBvZiBlbnRyeVwmLiBQb3NzaWJsZSB0eXBlcyBhcmU6CitcZklwdWJsaWNcZlIsIFxmSXN5c3RlbVxmUiwgXGZJdXJpXGZSLCBcZklyZXdyaXRlU3lzdGVtXGZSLCBcZklyZXdyaXRlVVJJXGZSLCBcZklkZWxlZ2F0ZVB1YmxpY1xmUiwgXGZJZGVsZWdhdGVTeXN0ZW1cZlIsIFxmSWRlbGVnYXRlVVJJXGZSLCBcZkluZXh0Q2F0YWxvZ1xmUlwmLgorXGZJT1JJR1xmUgoraXMgdGhlIG9yaWdpbmFsIHJlZmVyZW5jZSB0byBiZSByZXBsYWNlZCwgYW5kCitcZklSRVBMQUNFXGZSCitpcyB0aGUKK1VSSQorb2YgdGhlIHJlcGxhY2VtZW50IGVudGl0eSB0byBiZSB1c2VkXCYuIFRoZQorXGZCXC1cLWFkZFxmUgorb3B0aW9uIHdpbGwgbm90IG92ZXJ3cml0ZQorQ0FUQUxPR0ZJTEUsIG91dHB1dHRpbmcgdG8KK3N0ZG91dCwgdW5sZXNzCitcZkJcLVwtbm9vdXRcZlIKK2lzIHVzZWRcJi4gVGhlCitcZkJcLVwtYWRkXGZSCit3aWxsIGFsd2F5cyB0YWtlIHRocmVlIHBhcmFtZXRlcnMgZXZlbiBpZiBzb21lIG9mIHRoZQorWE1MCitjYXRhbG9nIGNvbnN0cnVjdHMgd2lsbCBoYXZlIG9ubHkgYSBzaW5nbGUgYXJndW1lbnRcJi4KKy5SRQorLlBQCitcZkJkZWJ1Z1xmUgorLlJTIDQKK1ByaW50IGRlYnVnZ2luZyBzdGF0ZW1lbnRzIHNob3dpbmcgdGhlIHN0ZXBzCitcZkJ4bWxjYXRhbG9nXGZSCitpcyBleGVjdXRpbmdcJi4KKy5SRQorLlBQCitcZkJkZWwgXGZSXGZCXGZJVkFMVUUoUylcZlJcZlIKKy5SUyA0CitSZW1vdmUgdGhlIGNhdGFsb2cgZW50cnkgY29ycmVzcG9uZGluZyB0bworXGZJVkFMVUUoUylcZlJcJi4KKy5SRQorLlBQCitcZkJkdW1wXGZSCisuUlMgNAorUHJpbnQgdGhlIGN1cnJlbnQgY2F0YWxvZ1wmLgorLlJFCisuUFAKK1xmQmV4aXRcZlIKKy5SUyA0CitRdWl0IHRoZSBzaGVsbFwmLgorLlJFCisuUFAKK1xmQnB1YmxpYyBcZlJcZkJcZklQVUJMSUNcLUlEXGZSXGZSCisuUlMgNAorRXhlY3V0ZSBhIEZvcm1hbCBQdWJsaWMgSWRlbnRpZmllciBsb29rXC11cCBvZiB0aGUgY2F0YWxvZyBlbnRyeSBmb3IKK1xmSVBVQkxJQ1wtSURcZlJcJi4gVGhlIGNvcnJlc3BvbmRpbmcgZW50cnkgd2lsbCBiZSBvdXRwdXQgdG8gdGhlIGNvbW1hbmQgbGluZVwmLgorLlJFCisuUFAKK1xmQnF1aWV0XGZSCisuUlMgNAorU3RvcCBwcmludGluZyBkZWJ1Z2dpbmcgc3RhdGVtZW50c1wmLgorLlJFCisuUFAKK1xmQnN5c3RlbSBcZlJcZkJcZklTWVNURU1cLUlEXGZSXGZSCisuUlMgNAorRXhlY3V0ZSBhIEZvcm1hbCBQdWJsaWMgSWRlbnRpZmllciBsb29rXC11cCBvZiB0aGUgY2F0YWxvZyBlbnRyeSBmb3IKK1xmSVNZU1RFTVwtSURcZlJcJi4gVGhlIGNvcnJlc3BvbmRpbmcgZW50cnkgd2lsbCBiZSBvdXRwdXQgdG8gdGhlIGNvbW1hbmQgbGluZVwmLgorLlJFCisuU0ggIkVOVklST05NRU5UIgorLlBQCitcZkJYTUxfQ0FUQUxPR19GSUxFU1xmUgorLlJTIDQKK1hNTAorY2F0YWxvZyBiZWhhdmlvciBjYW4gYmUgY2hhbmdlZCBieSByZWRpcmVjdGluZyBxdWVyaWVzIHRvIHRoZSB1c2VyXCooQXFzIG93biBzZXQgb2YgY2F0YWxvZ3NcJi4gVGhpcyBjYW4gYmUgZG9uZSBieSBzZXR0aW5nIHRoZQorXGZCWE1MX0NBVEFMT0dfRklMRVNcZlIKK2Vudmlyb25tZW50IHZhcmlhYmxlIHRvIGEgbGlzdCBvZiBjYXRhbG9nc1wmLiBBbiBlbXB0eSBvbmUgc2hvdWxkIGRlYWN0aXZhdGUgbG9hZGluZyB0aGUgZGVmYXVsdAorL2V0Yy94bWwvY2F0YWxvZworY2F0YWxvZ1wmLgorLlJFCisuU0ggIkRJQUdOT1NUSUNTIgorLlBQCisKK1xmQnhtbGNhdGFsb2dcZlIKK3JldHVybiBjb2RlcyBwcm92aWRlIGluZm9ybWF0aW9uIHRoYXQgY2FuIGJlIHVzZWQgd2hlbiBjYWxsaW5nIGl0IGZyb20gc2NyaXB0c1wmLgorLlBQCitcZkIwXGZSCisuUlMgNAorTm8gZXJyb3IKKy5SRQorLlBQCitcZkIxXGZSCisuUlMgNAorRmFpbGVkIHRvIHJlbW92ZSBhbiBlbnRyeSBmcm9tIHRoZSBjYXRhbG9nCisuUkUKKy5QUAorXGZCMlxmUgorLlJTIDQKK0ZhaWxlZCB0byBzYXZlIHRvIHRoZSBjYXRhbG9nLCBjaGVjayBmaWxlIHBlcm1pc3Npb25zCisuUkUKKy5QUAorXGZCM1xmUgorLlJTIDQKK0ZhaWxlZCB0byBhZGQgYW4gZW50cnkgdG8gdGhlIGNhdGFsb2cKKy5SRQorLlBQCitcZkI0XGZSCisuUlMgNAorRmFpbGVkIHRvIGxvb2sgdXAgYW4gZW50cnkgaW4gdGhlIGNhdGFsb2cKKy5SRQorLlNIICJTRUUgQUxTTyIKKy5QUAorXGZCbGlieG1sXGZSKDMpCisuUFAKK01vcmUgaW5mb3JtYXRpb24gY2FuIGJlIGZvdW5kIGF0Cisuc3AKKy5SUyA0CisuaWUgbiBce1wKK1xoJy0wNCdcKGJ1XGgnKzAzJ1xjCisuXH0KKy5lbCBce1wKKy5zcCAtMQorLklQIFwoYnUgMi4zCisuXH0KK1xmQmxpYnhtbFxmUigzKQord2ViIHBhZ2UKK1xtW2JsdWVdXGZCXCVodHRwOi8vd3d3LnhtbHNvZnQub3JnL1xmUlxtW10KKy5SRQorLnNwCisuUlMgNAorLmllIG4gXHtcCitcaCctMDQnXChidVxoJyswMydcYworLlx9CisuZWwgXHtcCisuc3AgLTEKKy5JUCBcKGJ1IDIuMworLlx9CitcZkJsaWJ4bWxcZlIoMykKK2NhdGFsb2cgc3VwcG9ydCB3ZWIgcGFnZSBhdAorXG1bYmx1ZV1cZkJcJWh0dHA6Ly93d3cueG1sc29mdC5vcmcvY2F0YWxvZy5odG1sXGZSXG1bXQorLlJFCisuc3AKKy5SUyA0CisuaWUgbiBce1wKK1xoJy0wNCdcKGJ1XGgnKzAzJ1xjCisuXH0KKy5lbCBce1wKKy5zcCAtMQorLklQIFwoYnUgMi4zCisuXH0KK0phbWVzIENsYXJrXCooQXFzCitTR01MCitjYXRhbG9nIHBhZ2UKK1xtW2JsdWVdXGZCXCVodHRwOi8vd3d3LmpjbGFyay5jb20vc3AvY2F0YWxvZy5odG1cZlJcbVtdCisuUkUKKy5zcAorLlJTIDQKKy5pZSBuIFx7XAorXGgnLTA0J1woYnVcaCcrMDMnXGMKKy5cfQorLmVsIFx7XAorLnNwIC0xCisuSVAgXChidSAyLjMKKy5cfQorT0FTSVMKK1hNTAorY2F0YWxvZyBzcGVjaWZpY2F0aW9uCitcbVtibHVlXVxmQlwlaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9jb21taXR0ZWVzL2VudGl0eS9zcGVjLmh0bWxcZlJcbVtdCisuUkUKKy5zcAorLlNIICJBVVRIT1IiCisuUFAKK1xmQkpvaG4gRmxlY2tcZlIgPFwmamZsZWNrQGlua3N0YWluXCYubmV0XCY+CisuUlMgNAorQXV0aG9yLgorLlJFCisuU0ggIkNPUFlSSUdIVCIKKy5icgorQ29weXJpZ2h0IFwoY28gMjAwMSwgMjAwNAorLmJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy94bWxjYXRhbG9nX21hbi5odG1sIGIvbGlieG1sMi9kb2MveG1sY2F0YWxvZ19tYW4uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kN2IwMmJhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MveG1sY2F0YWxvZ19tYW4uaHRtbApAQCAtMCwwICsxLDEwMSBAQAorPGh0bWw+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9SVNPLTg4NTktMSI+PHRpdGxlPnhtbGNhdGFsb2c8L3RpdGxlPjxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iRG9jQm9vayBYU0wgU3R5bGVzaGVldHMgVjEuNjEuMiI+PC9oZWFkPjxib2R5IGJnY29sb3I9IndoaXRlIiB0ZXh0PSJibGFjayIgbGluaz0iIzAwMDBGRiIgdmxpbms9IiM4NDAwODQiIGFsaW5rPSIjMDAwMEZGIj48ZGl2IGNsYXNzPSJyZWZlbnRyeSIgbGFuZz0iZW4iPjxhIG5hbWU9ImlkMjQzMTYxNCI+PC9hPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48L2Rpdj48ZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InJlZm5hbWVkaXYiPjxoMj5OYW1lPC9oMj48cD54bWxjYXRhbG9nICYjODIxMjsgQ29tbWFuZCBsaW5lIHRvb2wgdG8gcGFyc2UgYW5kIG1hbmlwdWxhdGUgPHNwYW4gY2xhc3M9ImFjcm9ueW0iPlhNTDwvc3Bhbj4gb3IKKyAgICAgIDxzcGFuIGNsYXNzPSJhY3JvbnltIj5TR01MPC9zcGFuPiBjYXRhbG9nIGZpbGVzLjwvcD48L2Rpdj48ZGl2IGNsYXNzPSJyZWZzeW5vcHNpc2RpdiI+PGgyPlN5bm9wc2lzPC9oMj48ZGl2IGNsYXNzPSJjbWRzeW5vcHNpcyI+PHA+PHR0IGNsYXNzPSJjb21tYW5kIj54bWxjYXRhbG9nPC90dD4gIFtbLS1zaGVsbF0gfCAgWy0tY3JlYXRlXSB8ICBbLS1hZGQgPGkgY2xhc3M9InJlcGxhY2VhYmxlIj48dHQ+dHlwZTwvdHQ+PC9pPgorCSAgPGkgY2xhc3M9InJlcGxhY2VhYmxlIj48dHQ+b3JpZzwvdHQ+PC9pPiA8aSBjbGFzcz0icmVwbGFjZWFibGUiPjx0dD5yZXBsYWNlPC90dD48L2k+XSB8ICBbLS1kZWwgPGkgY2xhc3M9InJlcGxhY2VhYmxlIj48dHQ+dmFsdWVzPC90dD48L2k+XSB8ICBbLS1ub291dF0gfCAgWy0tdmVyYm9zZV1dIFs8dHQgY2xhc3M9Im9wdGlvbiI+PGkgY2xhc3M9InJlcGxhY2VhYmxlIj48dHQ+Y2F0YWxvZ2ZpbGU8L3R0PjwvaT48L3R0Pl0gWzx0dCBjbGFzcz0ib3B0aW9uIj48aSBjbGFzcz0icmVwbGFjZWFibGUiPjx0dD5lbnRpdGllczwvdHQ+PC9pPjwvdHQ+XTwvcD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJyZWZzZWN0MSIgbGFuZz0iZW4iPjxhIG5hbWU9ImludHJvZHVjdGlvbiI+PC9hPjxoMj5JbnRyb2R1Y3Rpb248L2gyPjxwPgorICAgICAgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj54bWxjYXRhbG9nPC9zcGFuPiBpcyBhIGNvbW1hbmQgbGluZSBhcHBsaWNhdGlvbgorICAgICAgYWxsb3dpbmcgdXNlcnMgdG8gbW9uaXRvciBhbmQgbWFuaXB1bGF0ZSA8c3BhbiBjbGFzcz0iYWNyb255bSI+WE1MPC9zcGFuPiBhbmQKKyAgICAgIDxzcGFuIGNsYXNzPSJhY3JvbnltIj5TR01MPC9zcGFuPiBjYXRhbG9ncy4gSXQgaXMgaW5jbHVkZWQgaW4KKyAgICAgIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+bGlieG1sMjwvc3Bhbj4uCisgICAgPC9wPjxwPgorICAgICAgSXRzIGZ1bmN0aW9ucyBjYW4gYmUgaW52b2tlZCBmcm9tIGEgc2luZ2xlIGNvbW1hbmQgZnJvbSB0aGUgY29tbWFuZCBsaW5lLAorICAgICAgb3IgaXQgY2FuIHBlcmZvcm0gbXVsdGlwbGUgZnVuY3Rpb25zIGluIGludGVyYWN0aXZlIG1vZGUuIEl0IGNhbiBvcGVyYXRlCisgICAgICBvbiBib3RoIDxzcGFuIGNsYXNzPSJhY3JvbnltIj5YTUw8L3NwYW4+IGFuZCA8c3BhbiBjbGFzcz0iYWNyb255bSI+U0dNTDwvc3Bhbj4gZmlsZXMuCisgICAgPC9wPjwvZGl2PjxkaXYgY2xhc3M9InJlZnNlY3QxIiBsYW5nPSJlbiI+PGEgbmFtZT0iY2xvcHRpb25zIj48L2E+PGgyPkNvbW1hbmQgTGluZSBPcHRpb25zPC9oMj48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjxkbD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjx0dCBjbGFzcz0ib3B0aW9uIj4tLXNoZWxsPC90dD4gPGkgY2xhc3M9InJlcGxhY2VhYmxlIj48dHQ+ZmlsZW5hbWU8L3R0PjwvaT48L3NwYW4+PC9kdD48ZGQ+CisJICAgIFJ1biBhIHNoZWxsCisJICAgIGFsbG93aW5nIGludGVyYWN0aXZlIHF1ZXJpZXMgb24gY2F0YWxvZyBmaWxlCisJICAgIDxpIGNsYXNzPSJyZXBsYWNlYWJsZSI+PHR0PmZpbGVuYW1lPC90dD48L2k+LgorCSAgPC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjx0dCBjbGFzcz0ib3B0aW9uIj4tLWNyZWF0ZTwvdHQ+IDxpIGNsYXNzPSJyZXBsYWNlYWJsZSI+PHR0PmZpbGVuYW1lPC90dD48L2k+PC9zcGFuPjwvZHQ+PGRkPgorCSAgICBDcmVhdGUgYSBuZXcKKwkgICAgPHNwYW4gY2xhc3M9ImFjcm9ueW0iPlhNTDwvc3Bhbj4gY2F0YWxvZy4gT3V0cHV0cyB0byBzdGRvdXQsIGlnbm9yaW5nCisJICAgIDxpIGNsYXNzPSJyZXBsYWNlYWJsZSI+PHR0PmZpbGVuYW1lPC90dD48L2k+IHVubGVzcyA8dHQgY2xhc3M9Im9wdGlvbiI+LS1ub291dDwvdHQ+IGlzCisJICAgIHVzZWQsIGluIHdoaWNoIGNhc2UgaXQgY3JlYXRlcyBhIG5ldyBjYXRhbG9nIGZpbGUKKwkgICAgPGkgY2xhc3M9InJlcGxhY2VhYmxlIj48dHQ+ZmlsZW5hbWU8L3R0PjwvaT4uCisJICA8L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHR0IGNsYXNzPSJvcHRpb24iPi0tYWRkPC90dD4gPGkgY2xhc3M9InJlcGxhY2VhYmxlIj48dHQ+J3R5cGUnPC90dD48L2k+IDxpIGNsYXNzPSJyZXBsYWNlYWJsZSI+PHR0PidvcmlnJzwvdHQ+PC9pPiA8aSBjbGFzcz0icmVwbGFjZWFibGUiPjx0dD4ncmVwbGFjZSc8L3R0PjwvaT4gPGkgY2xhc3M9InJlcGxhY2VhYmxlIj48dHQ+ZmlsZW5hbWU8L3R0PjwvaT48L3NwYW4+PC9kdD48ZGQ+PHA+CisJICAgIEFkZCBhbiBlbnRyeSB0byBjYXRhbG9nIGZpbGUKKwkgICAgPHR0IGNsYXNzPSJmaWxlbmFtZSI+ZmlsZW5hbWU8L3R0Pi4gPGkgY2xhc3M9InJlcGxhY2VhYmxlIj48dHQ+dHlwZTwvdHQ+PC9pPgorCSAgICBpbmRpY2F0ZXMgdGhlIHR5cGUgb2YgZW50cnkuIFBvc3NpYmxlIHR5cGVzIGFyZSAncHVibGljJywgJ3N5c3RlbScsICd1cmknLAorCSAgICAncmV3cml0ZVN5c3RlbScsICdyZXdyaXRlVVJJJywgJ2RlbGVnYXRlUHVibGljJywgJ2RlbGVnYXRlU3lzdGVtJywKKwkgICAgJ2RlbGVnYXRlVVJJJyBhbmQgJ25leHRDYXRhbG9nJy4gPGkgY2xhc3M9InJlcGxhY2VhYmxlIj48dHQ+J29yaWcnPC90dD48L2k+IGlzIHRoZSBvcmlnaW5hbAorCSAgICByZWZlcmVuY2UgdG8gYmUgcmVwbGFjZWQsIGFuZCA8aSBjbGFzcz0icmVwbGFjZWFibGUiPjx0dD4ncmVwbGFjZSc8L3R0PjwvaT4KKwkgICAgaXMgdGhlIDxzcGFuIGNsYXNzPSJhY3JvbnltIj5VUkk8L3NwYW4+IG9mIHRoZSByZXBsYWNlbWVudCBlbnRpdHkgdG8gYmUKKwkgICAgdXNlZC4gVGhlIDx0dCBjbGFzcz0ib3B0aW9uIj4tLWFkZDwvdHQ+IG9wdGlvbiB3aWxsIG5vdCBvdmVyd3JpdGUKKwkgICAgPGkgY2xhc3M9InJlcGxhY2VhYmxlIj48dHQ+ZmlsZW5hbWU8L3R0PjwvaT4sIG91dHB1dGluZyB0byBzdGRvdXQsIHVubGVzcworCSAgICA8dHQgY2xhc3M9Im9wdGlvbiI+LS1ub291dDwvdHQ+IGlzIHVzZWQuIFRoZSA8dHQgY2xhc3M9Im9wdGlvbiI+LS1hZGQ8L3R0PiB3aWxsCisJICAgIGFsd2F5cyB0YWtlIHRocmVlIHBhcmFtZXRlcnMgZXZlbiBpZiBzb21lIG9mIHRoZQorCSAgICA8c3BhbiBjbGFzcz0iYWNyb255bSI+WE1MPC9zcGFuPiBjYXRhbG9nIGNvbnN0cnVjdHMgd2lsbCBoYXZlIG9ubHkgYSBzaW5nbGUKKwkgICAgYXJndW1lbnQuCisKKwkgIDwvcD48cD4KKwkgICAgSWYgdGhlIDx0dCBjbGFzcz0ib3B0aW9uIj4tLWFkZDwvdHQ+IG9wdGlvbiBpcyB1c2VkIGZvbGxvd2luZyB0aGUKKwkgICAgPHR0IGNsYXNzPSJvcHRpb24iPi0tc2dtbDwvdHQ+IG9wdGlvbiwgb25seSBhIHNpbmdsZSBhcmd1bWVudCwgYQorCSAgICA8aSBjbGFzcz0icmVwbGFjZWFibGUiPjx0dD5maWxlbmFtZTwvdHQ+PC9pPiwgaXMgdXNlZC4gVGhpcyBpcyB1c2VkIHRvIGFkZAorCSAgICB0aGUgbmFtZSBvZiBhIGNhdGFsb2cgZmlsZSB0byBhbiA8c3BhbiBjbGFzcz0iYWNyb255bSI+U0dNTDwvc3Bhbj4KKwkgICAgc3VwZXJjYXRhbG9nLCBhIGZpbGUgdGhhdCBjb250YWlucyByZWZlcmVuY2VzIHRvIG90aGVyIGluY2x1ZGVkCisJICAgIDxzcGFuIGNsYXNzPSJhY3JvbnltIj5TR01MPC9zcGFuPiBjYXRhbG9nIGZpbGVzLgorCSAgPC9wPjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48dHQgY2xhc3M9Im9wdGlvbiI+LS1kZWw8L3R0PiA8aSBjbGFzcz0icmVwbGFjZWFibGUiPjx0dD4ndmFsdWVzJzwvdHQ+PC9pPiA8aSBjbGFzcz0icmVwbGFjZWFibGUiPjx0dD5maWxlbmFtZTwvdHQ+PC9pPjwvc3Bhbj48L2R0PjxkZD4KKwkgICAgUmVtb3ZlIGVudHJpZXMgZnJvbSB0aGUgY2F0YWxvZyBmaWxlCisJICAgIDxpIGNsYXNzPSJyZXBsYWNlYWJsZSI+PHR0PmZpbGVuYW1lPC90dD48L2k+IG1hdGNoaW5nCisJICAgIDxpIGNsYXNzPSJyZXBsYWNlYWJsZSI+PHR0Pid2YWx1ZXMnPC90dD48L2k+LiBUaGUgPHR0IGNsYXNzPSJvcHRpb24iPi0tZGVsPC90dD4gb3B0aW9uCisJICAgIHdpbGwgbm90IG92ZXJ3cml0ZSA8aSBjbGFzcz0icmVwbGFjZWFibGUiPjx0dD5maWxlbmFtZTwvdHQ+PC9pPiwgb3V0cHV0aW5nIHRvCisJICAgIHN0ZG91dCwgdW5sZXNzIDx0dCBjbGFzcz0ib3B0aW9uIj4tLW5vb3V0PC90dD4gaXMgdXNlZC4KKwkgIDwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48dHQgY2xhc3M9Im9wdGlvbiI+LS1ub291dDwvdHQ+PC9zcGFuPjwvZHQ+PGRkPgorCSAgICBTYXZlIG91dHB1dCB0byB0aGUgbmFtZWQgZmlsZSByYXRoZXIgdGhhbgorCSAgICBvdXRwdXRpbmcgdG8gc3Rkb3V0LgorCSAgPC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjx0dCBjbGFzcz0ib3B0aW9uIj4tLXNnbWw8L3R0Pjwvc3Bhbj48L2R0PjxkZD4KKwkgICAgVXNlcyBTR01MIFN1cGVyIGNhdGFsb2dzIGZvciAtLWFkZCBhbmQgLS1kZWwgb3B0aW9ucworCSAgPC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjx0dCBjbGFzcz0ib3B0aW9uIj4tdjwvdHQ+IG9yIDx0dCBjbGFzcz0ib3B0aW9uIj4tLXZlcmJvc2U8L3R0Pjwvc3Bhbj48L2R0PjxkZD4KKwkgICAgb3V0cHV0IGRlYnVnZ2luZworCSAgICBpbmZvcm1hdGlvbi4KKwkgIDwvZGQ+PC9kbD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJyZWZzZWN0MSIgbGFuZz0iZW4iPjxhIG5hbWU9InNoZWxsIj48L2E+PGgyPlNoZWxsIENvbW1hbmRzPC9oMj48cD5JbnZva2luZyA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPnhtbGNhdGFsb2c8L3NwYW4+IHdpdGggdGhlCisgICAgICA8dHQgY2xhc3M9Im9wdGlvbiI+LS1zaGVsbDwvdHQ+IDxpIGNsYXNzPSJyZXBsYWNlYWJsZSI+PHR0PmZpbGVuYW1lPC90dD48L2k+IG9wdGlvbiBvcGVucworICAgIGEgY29tbWFuZCBsaW5lIHNoZWxsIGFsbG93aW5nIGludGVyYWN0aXZlIGFjY2VzcyB0byB0aGUgY2F0YWxvZyBmaWxlCisgICAgICBpZGVudGlmaWVkIGJ5IDxpIGNsYXNzPSJyZXBsYWNlYWJsZSI+PHR0PmZpbGVuYW1lPC90dD48L2k+LiBJbnZva2luZyB0aGUgc2hlbGwKKyAgICBwcm92aWRlcyBhIGNvbW1hbmQgbGluZSBwcm9tcHQgYWZ0ZXIgd2hpY2ggY29tbWFuZHMgY2FuIGJlIGVudGVyZWQuCisgICAgPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PGRsPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHR0IGNsYXNzPSJvcHRpb24iPnB1YmxpYzwvdHQ+IDxpIGNsYXNzPSJyZXBsYWNlYWJsZSI+PHR0PidQdWJsaWNJRCc8L3R0PjwvaT48L3NwYW4+PC9kdD48ZGQ+CisJICAgIEV4ZWN1dGUgYQorCSAgICBwdWJsaWMgaWRlbnRpZmllciBsb29rdXAgb2YgdGhlIGNhdGFsb2cgZW50cnkgZm9yCisJICAgIDxpIGNsYXNzPSJyZXBsYWNlYWJsZSI+PHR0PidQdWJsaWNJRCc8L3R0PjwvaT4uIFRoZSBjb3JyZXNwb25kaW5nIGVudHJ5IHdpbGwgYmUKKwkgICAgb3V0cHV0IHRvIHRoZSBjb21tYW5kIGxpbmUuCisJICA8L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHR0IGNsYXNzPSJvcHRpb24iPnN5c3RlbTwvdHQ+IDxpIGNsYXNzPSJyZXBsYWNlYWJsZSI+PHR0PidTeXN0ZW1JRCc8L3R0PjwvaT48L3NwYW4+PC9kdD48ZGQ+CisJICAgIEV4ZWN1dGUgYQorCSAgICBwdWJsaWMgaWRlbnRpZmllciBsb29rdXAgb2YgdGhlIGNhdGFsb2cgZW50cnkgZm9yCisJICAgIDxpIGNsYXNzPSJyZXBsYWNlYWJsZSI+PHR0PidTeXN0ZW1JRCc8L3R0PjwvaT4uIFRoZSBjb3JyZXNwb25kaW5nIGVudHJ5IHdpbGwgYmUKKwkgICAgb3V0cHV0IHRvIHRoZSBjb21tYW5kIGxpbmUuCisJICA8L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHR0IGNsYXNzPSJvcHRpb24iPmFkZCA8L3R0PiA8aSBjbGFzcz0icmVwbGFjZWFibGUiPjx0dD4ndHlwZSc8L3R0PjwvaT4gPGkgY2xhc3M9InJlcGxhY2VhYmxlIj48dHQ+J29yaWcnPC90dD48L2k+IDxpIGNsYXNzPSJyZXBsYWNlYWJsZSI+PHR0PidyZXBsYWNlJzwvdHQ+PC9pPjwvc3Bhbj48L2R0PjxkZD4KKwkgICAgQWRkIGFuIGVudHJ5IHRvIHRoZSBjYXRhbG9nCisJICAgIGZpbGUuIDxpIGNsYXNzPSJyZXBsYWNlYWJsZSI+PHR0PnR5cGU8L3R0PjwvaT4gaW5kaWNhdGVzIHRoZSB0eXBlIG9mCisJICAgIGVudHJ5LiBQb3NzaWJsZSB0eXBlcyBhcmUgJ3B1YmxpYycsICdzeXN0ZW0nLCAndXJpJywgJ3Jld3JpdGVTeXN0ZW0nLCAncmV3cml0ZVVSSScsCisJICAgICdkZWxlZ2F0ZVB1YmxpYycsICdkZWxlZ2F0ZVN5c3RlbScsICdkZWxlZ2F0ZVVSSScgYW5kICduZXh0Q2F0YWxvZycuIDxpIGNsYXNzPSJyZXBsYWNlYWJsZSI+PHR0PidvcmlnJzwvdHQ+PC9pPgorCSAgICBpcyB0aGUgb3JpZ2luYWwgcmVmZXJlbmNlIHRvICBiZSByZXBsYWNlZCwgYW5kCisJICAgIDxpIGNsYXNzPSJyZXBsYWNlYWJsZSI+PHR0PidyZXBsYWNlJzwvdHQ+PC9pPiBpcyB0aGUgPHNwYW4gY2xhc3M9ImFjcm9ueW0iPlVSSTwvc3Bhbj4gb2YgdGhlCisJICAgIHJlcGxhY2VtZW50IGVudGl0eSB0byBiZSB1c2VkLgorCSAgPC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjx0dCBjbGFzcz0ib3B0aW9uIj5kZWw8L3R0PiA8aSBjbGFzcz0icmVwbGFjZWFibGUiPjx0dD4ndmFsdWVzJzwvdHQ+PC9pPjwvc3Bhbj48L2R0PjxkZD4KKwkgICAgUmVtb3ZlIHRoZQorCSAgICBjYXRhbG9nIGVudHJ5IGNvcnJlc3BvbmRpbmcgdG8gPGkgY2xhc3M9InJlcGxhY2VhYmxlIj48dHQ+J3ZhbHVlcyc8L3R0PjwvaT4uCisJICA8L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHR0IGNsYXNzPSJvcHRpb24iPmR1bXA8L3R0Pjwvc3Bhbj48L2R0PjxkZD4KKwkgICAgUHJpbnQgdGhlIGN1cnJlbnQgY2F0YWxvZy4KKwkgIDwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48dHQgY2xhc3M9Im9wdGlvbiI+ZGVidWc8L3R0Pjwvc3Bhbj48L2R0PjxkZD4KKwkgICAgUHJpbnQgZGVidWdnaW5nIHN0YXRlbWVudHMgc2hvd2luZyB0aGUgc3RlcHMKKwkgICAgPHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj54bWxjYXRhbG9nPC9zcGFuPiBpcyBleGVjdXRpbmcuCisJICA8L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHR0IGNsYXNzPSJvcHRpb24iPnF1aWV0PC90dD48L3NwYW4+PC9kdD48ZGQ+CisJICAgIFN0b3AgcHJpbnRpbmcgZGVidWdnaW5nIHN0YXRlbWVudHMuCisJICA8L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHR0IGNsYXNzPSJvcHRpb24iPmV4aXQ8L3R0Pjwvc3Bhbj48L2R0PjxkZD4KKwkgICAgUXVpdCB0aGUgc2hlbGwuCisJICA8L2RkPjwvZGw+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0icmVmc2VjdDEiIGxhbmc9ImVuIj48YSBuYW1lPSJyZXR1cm4iPjwvYT48aDI+UmV0dXJuIHZhbHVlczwvaDI+PHA+PHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj54bWxjYXRhbG9nPC9zcGFuPidzIHJldHVybiBjb2RlcyBwcm92aWRlCisgICAgaW5mb3JtYXRpb24gdGhhdCBjYW4gYmUgdXNlZCB3aGVuIGNhbGxpbmcgaXQgZnJvbSBzY3JpcHRzLjwvcD48cD4wOiBub3JtYWw8L3A+PHA+MTogRmFpbGVkIHRvIHJlbW92ZSBhbiBlbnRyeSBmcm9tIHRoZSBjYXRhbG9nPC9wPjxwPjI6IEZhaWxlZCB0byBzYXZlIHRvIHRoZSBjYXRhbG9nLCBjaGVjayBmaWxlIHBlcm1pc3Npb25zPC9wPjxwPjM6IEZhaWxlZCB0byBhZGQgYW4gZW50cnkgdG8gdGhlIGNhdGFsb2c8L3A+PHA+NDogRmFpbGVkIHRvIGxvb2t1cCBhbmQgZW50cnkgaW4gdGhlIGNhdGFsb2c8L3A+PC9kaXY+PGRpdiBjbGFzcz0icmVmc2VjdDEiIGxhbmc9ImVuIj48aDI+Q2F0YWxvZ3M8L2gyPjxwPkNhdGFsb2cgYmVoYXZpb3IgY2FuIGJlIGNoYW5nZWQgYnkgcmVkaXJlY3RpbmcKKyAgICAgcXVlcmllcyB0byB0aGUgdXNlcidzIG93biBzZXQgb2YgY2F0YWxvZ3MuIFRoaXMgY2FuIGJlIGRvbmUgYnkgc2V0dGluZyB0aGUKKyAgICAgPHR0IGNsYXNzPSJ2YXJuYW1lIj5YTUxfQ0FUQUxPR19GSUxFUzwvdHQ+IGVudmlyb25tZW50IHZhcmlhYmxlIHRvIGEgbGlzdCBvZgorICAgICBjYXRhbG9ncy4gQW4gZW1wdHkgb25lIHNob3VsZCBkZWFjdGl2YXRlIGxvYWRpbmcgdGhlIGRlZmF1bHQKKyAgICAgIDx0dCBjbGFzcz0iZmlsZW5hbWUiPi9ldGMveG1sL2NhdGFsb2c8L3R0PiBkZWZhdWx0IGNhdGFsb2cuPC9wPjwvZGl2PjxkaXYgY2xhc3M9InJlZnNlY3QxIiBsYW5nPSJlbiI+PGgyPlJlZmVyZW5jZXM8L2gyPjxwPjxhIGhyZWY9Imh0dHA6Ly93d3cueG1sc29mdC5vcmcvIiB0YXJnZXQ9Il90b3AiPmxpYnhtbCB3ZWIgcGFnZTwvYT48L3A+PHA+PGEgaHJlZj0iaHR0cDovL3d3dy54bWxzb2Z0Lm9yZy9jYXRhbG9nLmh0bWwiIHRhcmdldD0iX3RvcCI+PHNwYW4gY2xhc3M9ImFwcGxpY2F0aW9uIj5saWJ4bWw8L3NwYW4+CisgICAgY2F0YWxvZyBzdXBwb3J0IHdlYiBwYWdlOjwvYT48L3A+PHA+PGEgaHJlZj0iaHR0cDovL3d3dy5qY2xhcmsuY29tL3NwL2NhdGFsb2cuaHRtIiB0YXJnZXQ9Il90b3AiPkphbWVzIENsYXJrJ3MKKyAgICA8c3BhbiBjbGFzcz0iYWNyb255bSI+U0dNTDwvc3Bhbj4gY2F0YWxvZyBwYWdlOjwvYT48L3A+PHA+PGEgaHJlZj0iaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9jb21taXR0ZWVzL2VudGl0eS9zcGVjLmh0bWwiIHRhcmdldD0iX3RvcCI+PHNwYW4gY2xhc3M9ImFjcm9ueW0iPk9BU0lTPC9zcGFuPgorICAgIDxzcGFuIGNsYXNzPSJhY3JvbnltIj5YTUw8L3NwYW4+IGNhdGFsb2cgc3BlY2lmaWNhdGlvbjogPC9hPjwvcD48L2Rpdj48L2Rpdj48L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MveG1sY2F0YWxvZ19tYW4ueG1sIGIvbGlieG1sMi9kb2MveG1sY2F0YWxvZ19tYW4ueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA0OWVkOGYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy94bWxjYXRhbG9nX21hbi54bWwKQEAgLTAsMCArMSw0NTAgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPD94bWwtc3R5bGVzaGVldCB0eXBlPSJ0ZXh0L3hzbCIKKyAgIGhyZWY9Imh0dHA6Ly9kb2Nib29rLnNvdXJjZWZvcmdlLm5ldC9yZWxlYXNlL3hzbC9jdXJyZW50L21hbnBhZ2VzL2RvY2Jvb2sueHNsIj8+Cis8IURPQ1RZUEUgcmVmZW50cnkgUFVCTElDICItLy9PQVNJUy8vRFREIERvY0Jvb2sgWE1MIFY0LjEuMi8vRU4iCisgICAgImh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvZG9jYm9vay94bWwvNC4xLjIvZG9jYm9va3guZHRkIiBbCisKKyAgICA8IUVOVElUWSB4bWxjYXRhbG9nICI8Y29tbWFuZD54bWxjYXRhbG9nPC9jb21tYW5kPiI+CitdPgorCis8cmVmZW50cnk+CisKKzxyZWZlbnRyeWluZm8+CisJPHRpdGxlPnhtbGNhdGFsb2cgTWFudWFsPC90aXRsZT4KKwk8cHJvZHVjdG5hbWU+bGlieG1sMjwvcHJvZHVjdG5hbWU+CisJPGNvcHlyaWdodD4KKwkJPHllYXI+MjAwMTwveWVhcj4KKwkJPHllYXI+MjAwNDwveWVhcj4KKwk8L2NvcHlyaWdodD4KKwk8YXV0aG9yPgorCQk8Zmlyc3RuYW1lPkpvaG48L2ZpcnN0bmFtZT4KKwkJPHN1cm5hbWU+RmxlY2s8L3N1cm5hbWU+CisJCTxhZmZpbGlhdGlvbj4KKwkJCTxhZGRyZXNzPgorCQkJCTxlbWFpbD5qZmxlY2tAaW5rc3RhaW4ubmV0PC9lbWFpbD4KKwkJCTwvYWRkcmVzcz4KKwkJPC9hZmZpbGlhdGlvbj4KKwk8L2F1dGhvcj4KKwk8IS0tIGRhdGUgc2hvdWxkIGJlIHRoZSBkYXRlIG9mIHRoZSBsYXRlc3QgY2hhbmdlIG9yIHRoZSByZWxlYXNlIHZlcnNpb24gLS0+CisJPGRhdGU+JERhdGUkPC9kYXRlPgorCTwhLS0gc3RpbGwgYSBiaXQgYnVnZ3kgb3V0cHV0LCB3aWxsIHRhbGsgdG8gZG9jYm9vay14c2wgdXBzdHJlYW0gdG8gZml4IHRoaXMgLS0+CisJPCEtLSA8cmVsZWFzZWluZm8+VGhpcyBpcyByZWxlYXNlIDAuMyBvZiB0aGUgeG1sY2F0YWxvZyBNYW51YWwuPC9yZWxlYXNlaW5mbz4gLS0+CisJPCEtLSA8ZWRpdGlvbj4wLjM8L2VkaXRpb24+IC0tPgorPC9yZWZlbnRyeWluZm8+CisKKzxyZWZtZXRhPgorCTxyZWZlbnRyeXRpdGxlPnhtbGNhdGFsb2c8L3JlZmVudHJ5dGl0bGU+CisJPG1hbnZvbG51bT4xPC9tYW52b2xudW0+Cis8L3JlZm1ldGE+CisKKzxyZWZuYW1lZGl2PgorCTxyZWZuYW1lPnhtbGNhdGFsb2c8L3JlZm5hbWU+CisJPHJlZnB1cnBvc2U+CisJCUNvbW1hbmQgbGluZSB0b29sIHRvIHBhcnNlIGFuZCBtYW5pcHVsYXRlIDxhY3JvbnltPlhNTDwvYWNyb255bT4KKwkJb3IgPGFjcm9ueW0+U0dNTDwvYWNyb255bT4gY2F0YWxvZyBmaWxlcy4KKwk8L3JlZnB1cnBvc2U+Cis8L3JlZm5hbWVkaXY+CisKKzxyZWZzeW5vcHNpc2Rpdj4KKwk8Y21kc3lub3BzaXM+CisJPGNvbW1hbmQ+eG1sY2F0YWxvZzwvY29tbWFuZD4KKwk8Z3JvdXAgY2hvaWNlPSJvcHQiPgorCQk8YXJnIGNob2ljZT0icGxhaW4iPjxvcHRpb24+LS1zZ21sPC9vcHRpb24+PC9hcmc+CisJCTxhcmcgY2hvaWNlPSJwbGFpbiI+PG9wdGlvbj4tLXNoZWxsPC9vcHRpb24+PC9hcmc+CisJCTxhcmcgY2hvaWNlPSJwbGFpbiI+PG9wdGlvbj4tLWNyZWF0ZTwvb3B0aW9uPjwvYXJnPgorCQk8YXJnIGNob2ljZT0icGxhaW4iPjxvcHRpb24+LS1kZWwgPHJlcGxhY2VhYmxlPlZBTFVFKFMpPC9yZXBsYWNlYWJsZT48L29wdGlvbj48L2FyZz4KKwkJPGFyZyBjaG9pY2U9InBsYWluIj4KKwkJCTxncm91cCBjaG9pY2U9Im9wdCI+CisJCQkJPGFyZyBjaG9pY2U9InBsYWluIj4KKwkJCQkJPG9wdGlvbj4tLWFkZAorCQkJCQkgPHJlcGxhY2VhYmxlPlRZUEU8L3JlcGxhY2VhYmxlPgorCQkJCQkgPHJlcGxhY2VhYmxlPk9SSUc8L3JlcGxhY2VhYmxlPgorCQkJCQkgPHJlcGxhY2VhYmxlPlJFUExBQ0U8L3JlcGxhY2VhYmxlPgorCQkJCQk8L29wdGlvbj4KKwkJCQk8L2FyZz4KKwkJCQk8YXJnIGNob2ljZT0icGxhaW4iPjxvcHRpb24+LS1hZGQgPHJlcGxhY2VhYmxlPkZJTEVOQU1FPC9yZXBsYWNlYWJsZT48L29wdGlvbj48L2FyZz4KKwkJCTwvZ3JvdXA+CQkKKwkJPC9hcmc+CisJCTxhcmcgY2hvaWNlPSJwbGFpbiI+PG9wdGlvbj4tLW5vb3V0PC9vcHRpb24+PC9hcmc+CisJCTxhcmcgY2hvaWNlPSJwbGFpbiI+PG9wdGlvbj4tLW5vLXN1cGVyLXVwZGF0ZTwvb3B0aW9uPjwvYXJnPgorCQk8YXJnIGNob2ljZT0icGxhaW4iPgorCQkJPGdyb3VwIGNob2ljZT0ib3B0Ij4KKwkJCQk8YXJnIGNob2ljZT0icGxhaW4iPjxvcHRpb24+LXY8L29wdGlvbj48L2FyZz4KKwkJCQk8YXJnIGNob2ljZT0icGxhaW4iPjxvcHRpb24+LS12ZXJib3NlPC9vcHRpb24+PC9hcmc+CisJCQk8L2dyb3VwPgorCQk8L2FyZz4KKwk8L2dyb3VwPgorCTxhcmcgY2hvaWNlPSJyZXEiIHJlcD0ibm9yZXBlYXQiPjxyZXBsYWNlYWJsZT5DQVRBTE9HRklMRTwvcmVwbGFjZWFibGU+PC9hcmc+CisJPGFyZyBjaG9pY2U9InJlcSIgcmVwPSJyZXBlYXQiPjxyZXBsYWNlYWJsZT5FTlRJVElFUzwvcmVwbGFjZWFibGU+PC9hcmc+CisJPC9jbWRzeW5vcHNpcz4KKzwvcmVmc3lub3BzaXNkaXY+CisKKzxyZWZzZWN0MSBpZD0iZGVzY3JpcHRpb24iPgorCTx0aXRsZT5ERVNDUklQVElPTjwvdGl0bGU+CisJPHBhcmE+CisJCSZ4bWxjYXRhbG9nOyBpcyBhIGNvbW1hbmQgbGluZSBhcHBsaWNhdGlvbiBhbGxvd2luZyB1c2VycyB0byBtb25pdG9yIGFuZAorCQltYW5pcHVsYXRlIDxhY3JvbnltPlhNTDwvYWNyb255bT4gYW5kIDxhY3JvbnltPlNHTUw8L2Fjcm9ueW0+IGNhdGFsb2dzLiBJdAorCQlpcyBpbmNsdWRlZCBpbiA8Y2l0ZXJlZmVudHJ5PgorCQkJPHJlZmVudHJ5dGl0bGU+bGlieG1sPC9yZWZlbnRyeXRpdGxlPgorCQkJPG1hbnZvbG51bT4zPC9tYW52b2xudW0+CisJCTwvY2l0ZXJlZmVudHJ5Pi4KKwk8L3BhcmE+CisJPHBhcmE+CisJCUl0cyBmdW5jdGlvbnMgY2FuIGJlIGludm9rZWQgZnJvbSBhIHNpbmdsZSBjb21tYW5kIGZyb20gdGhlIGNvbW1hbmQgbGluZSwKKwkJb3IgaXQgY2FuIHBlcmZvcm0gbXVsdGlwbGUgZnVuY3Rpb25zIGluIGludGVyYWN0aXZlIG1vZGUuIEl0IGNhbiBvcGVyYXRlCisJCW9uIGJvdGggPGFjcm9ueW0+WE1MPC9hY3JvbnltPiBhbmQgPGFjcm9ueW0+U0dNTDwvYWNyb255bT4gZmlsZXMuCisJPC9wYXJhPgorPC9yZWZzZWN0MT4KKworPHJlZnNlY3QxIGlkPSJvcHRpb25zIj4KKwk8dGl0bGU+T1BUSU9OUzwvdGl0bGU+CisJPHBhcmE+CisJCSZ4bWxjYXRhbG9nOyBhY2NlcHRzIHRoZSBmb2xsb3dpbmcgb3B0aW9ucyAoaW4gYWxwaGFiZXRpY2FsIG9yZGVyKToKKwk8L3BhcmE+CisJCisJPHZhcmlhYmxlbGlzdD4KKworCQk8dmFybGlzdGVudHJ5PgorCTx0ZXJtPgorCQk8b3B0aW9uPi0tYWRkCisJCSA8cmVwbGFjZWFibGU+VFlQRTwvcmVwbGFjZWFibGU+CisJCSA8cmVwbGFjZWFibGU+T1JJRzwvcmVwbGFjZWFibGU+CisJCSA8cmVwbGFjZWFibGU+UkVQTEFDRTwvcmVwbGFjZWFibGU+CisJCTwvb3B0aW9uPgorCTwvdGVybT4KKwk8bGlzdGl0ZW0+CisJCTxwYXJhPgorCQkJQWRkIGFuIGVudHJ5IHRvIDxmaWxlbmFtZT5DQVRBTE9HRklMRTwvZmlsZW5hbWU+LiA8cmVwbGFjZWFibGU+VFlQRTwvcmVwbGFjZWFibGU+CisJCQlpbmRpY2F0ZXMgdGhlIHR5cGUgb2YgZW50cnkuIFBvc3NpYmxlIHR5cGVzIGFyZTogPHNpbXBsZWxpc3QgdHlwZT0iaW5saW5lIj4KKwkJCQk8bWVtYmVyPjxwYXJhbWV0ZXI+cHVibGljPC9wYXJhbWV0ZXI+PC9tZW1iZXI+CisJCQkJPG1lbWJlcj48cGFyYW1ldGVyPnN5c3RlbTwvcGFyYW1ldGVyPjwvbWVtYmVyPgorCQkJCTxtZW1iZXI+PHBhcmFtZXRlcj51cmk8L3BhcmFtZXRlcj48L21lbWJlcj4KKwkJCQk8bWVtYmVyPjxwYXJhbWV0ZXI+cmV3cml0ZVN5c3RlbTwvcGFyYW1ldGVyPjwvbWVtYmVyPgorCQkJCTxtZW1iZXI+PHBhcmFtZXRlcj5yZXdyaXRlVVJJPC9wYXJhbWV0ZXI+PC9tZW1iZXI+CisJCQkJPG1lbWJlcj48cGFyYW1ldGVyPmRlbGVnYXRlUHVibGljPC9wYXJhbWV0ZXI+PC9tZW1iZXI+CisJCQkJPG1lbWJlcj48cGFyYW1ldGVyPmRlbGVnYXRlU3lzdGVtPC9wYXJhbWV0ZXI+PC9tZW1iZXI+CisJCQkJPG1lbWJlcj48cGFyYW1ldGVyPmRlbGVnYXRlVVJJPC9wYXJhbWV0ZXI+PC9tZW1iZXI+CisJCQkJPG1lbWJlcj48cGFyYW1ldGVyPm5leHRDYXRhbG9nPC9wYXJhbWV0ZXI+PC9tZW1iZXI+CisJCQk8L3NpbXBsZWxpc3Q+LiA8cmVwbGFjZWFibGU+T1JJRzwvcmVwbGFjZWFibGU+IGlzIHRoZSBvcmlnaW5hbAorCQkJcmVmZXJlbmNlIHRvIGJlIHJlcGxhY2VkLCBhbmQgPHJlcGxhY2VhYmxlPlJFUExBQ0U8L3JlcGxhY2VhYmxlPgorCQkJaXMgdGhlIDxhY3JvbnltPlVSSTwvYWNyb255bT4gb2YgdGhlIHJlcGxhY2VtZW50IGVudGl0eSB0byBiZQorCQkJdXNlZC4gVGhlIDxvcHRpb24+LS1hZGQ8L29wdGlvbj4gb3B0aW9uIHdpbGwgbm90IG92ZXJ3cml0ZQorCQkJPGZpbGVuYW1lPkNBVEFMT0dGSUxFPC9maWxlbmFtZT4sIG91dHB1dHRpbmcKKwkJCXRvIDxmaWxlbmFtZSBjbGFzcz0iZGV2aWNlZmlsZSI+c3Rkb3V0PC9maWxlbmFtZT4sIHVubGVzcworCQkJPG9wdGlvbj4tLW5vb3V0PC9vcHRpb24+IGlzIHVzZWQuIFRoZSA8b3B0aW9uPi0tYWRkPC9vcHRpb24+IHdpbGwKKwkJCWFsd2F5cyB0YWtlIHRocmVlIHBhcmFtZXRlcnMgZXZlbiBpZiBzb21lIG9mIHRoZSA8YWNyb255bT5YTUw8L2Fjcm9ueW0+CisJCQljYXRhbG9nIGNvbnN0cnVjdHMgd2lsbCBoYXZlIG9ubHkgYSBzaW5nbGUgYXJndW1lbnQuCisJCTwvcGFyYT4KKwkJPCEtLQorCQkJRklYTUUgLSBJcyBteSBsaXN0IG9mIHBvc3NpYmxlIHR5cGVzIGNvcnJlY3Q/IEFyZSBTR01MIHR5cGVzIHRoZSBzYW1lPworCQktLT4KKwk8L2xpc3RpdGVtPgorCQk8L3Zhcmxpc3RlbnRyeT4KKworCQk8dmFybGlzdGVudHJ5PgorCTx0ZXJtPjxvcHRpb24+LS1hZGQgPHJlcGxhY2VhYmxlPkZJTEVOQU1FPC9yZXBsYWNlYWJsZT48L29wdGlvbj48L3Rlcm0+CisJPGxpc3RpdGVtPgorCQk8cGFyYT4KKwkJCUlmIHRoZSA8b3B0aW9uPi0tYWRkPC9vcHRpb24+IG9wdGlvbiBpcyB1c2VkIGZvbGxvd2luZworCQkJdGhlIDxvcHRpb24+LS1zZ21sPC9vcHRpb24+IG9wdGlvbiwgb25seSBhIHNpbmdsZSBhcmd1bWVudCwKKwkJCWEgPHJlcGxhY2VhYmxlPkZJTEVOQU1FPC9yZXBsYWNlYWJsZT4sIGlzIHVzZWQuIFRoaXMgaXMgdXNlZCB0byBhZGQKKwkJCXRoZSBuYW1lIG9mIGEgY2F0YWxvZyBmaWxlIHRvIGFuIDxhY3JvbnltPlNHTUw8L2Fjcm9ueW0+IHN1cGVyY2F0YWxvZywKKwkJCWEgZmlsZSB0aGF0IGNvbnRhaW5zIHJlZmVyZW5jZXMgdG8gb3RoZXIgaW5jbHVkZWQgPGFjcm9ueW0+U0dNTDwvYWNyb255bT4KKwkJCWNhdGFsb2cgZmlsZXMuCisJCTwvcGFyYT4KKwk8L2xpc3RpdGVtPgorCQk8L3Zhcmxpc3RlbnRyeT4KKworCQk8dmFybGlzdGVudHJ5PgorCTx0ZXJtPjxvcHRpb24+LS1jcmVhdGU8L29wdGlvbj48L3Rlcm0+CisJPGxpc3RpdGVtPgorCQk8cGFyYT4KKwkJCUNyZWF0ZSBhIG5ldyA8YWNyb255bT5YTUw8L2Fjcm9ueW0+IGNhdGFsb2cuIE91dHB1dHMKKwkJCXRvIDxmaWxlbmFtZSBjbGFzcz0iZGV2aWNlZmlsZSI+c3Rkb3V0PC9maWxlbmFtZT4sCisJCQlpZ25vcmluZyA8cmVwbGFjZWFibGU+ZmlsZW5hbWU8L3JlcGxhY2VhYmxlPiB1bmxlc3MgPG9wdGlvbj4tLW5vb3V0PC9vcHRpb24+IGlzCisJCQl1c2VkLCBpbiB3aGljaCBjYXNlIGl0IGNyZWF0ZXMgYSBuZXcgY2F0YWxvZworCQkJZmlsZSA8cmVwbGFjZWFibGU+ZmlsZW5hbWU8L3JlcGxhY2VhYmxlPi4KKwkJPC9wYXJhPgorCTwvbGlzdGl0ZW0+CisJCTwvdmFybGlzdGVudHJ5PgorCisJCTx2YXJsaXN0ZW50cnk+CisJPHRlcm0+PG9wdGlvbj4tLWRlbCA8cmVwbGFjZWFibGU+VkFMVUUoUyk8L3JlcGxhY2VhYmxlPjwvb3B0aW9uPjwvdGVybT4KKwk8bGlzdGl0ZW0+CisJCTxwYXJhPgorCQkJUmVtb3ZlIGVudHJpZXMgZnJvbSA8cmVwbGFjZWFibGU+Q0FUQUxPR0ZJTEU8L3JlcGxhY2VhYmxlPgorCQkJbWF0Y2hpbmcgPHJlcGxhY2VhYmxlPlZBTFVFKFMpPC9yZXBsYWNlYWJsZT4uIFRoZSA8b3B0aW9uPi0tZGVsPC9vcHRpb24+CisJCQlvcHRpb24gd2lsbCBub3Qgb3ZlcndyaXRlIDxyZXBsYWNlYWJsZT5DQVRBTE9HRklMRTwvcmVwbGFjZWFibGU+LAorCQkJb3V0cHV0dGluZyB0byA8ZmlsZW5hbWUgY2xhc3M9ImRldmljZWZpbGUiPnN0ZG91dDwvZmlsZW5hbWU+LAorCQkJdW5sZXNzIDxvcHRpb24+LS1ub291dDwvb3B0aW9uPiBpcyB1c2VkLgorCQk8L3BhcmE+CisJPC9saXN0aXRlbT4KKwkJPC92YXJsaXN0ZW50cnk+CisJCQorCQk8dmFybGlzdGVudHJ5PgorCTx0ZXJtPjxvcHRpb24+LS1ub291dDwvb3B0aW9uPjwvdGVybT4KKwk8bGlzdGl0ZW0+CisJCTxwYXJhPgorCQkJU2F2ZSBvdXRwdXQgdG8gdGhlIG5hbWVkIGZpbGUgcmF0aGVyIHRoYW4gb3V0cHV0dGluZworCQkJdG8gPGZpbGVuYW1lIGNsYXNzPSJkZXZpY2VmaWxlIj5zdGRvdXQ8L2ZpbGVuYW1lPi4KKwkJPC9wYXJhPgorCTwvbGlzdGl0ZW0+CisJCTwvdmFybGlzdGVudHJ5PgorCQkKKwkJPHZhcmxpc3RlbnRyeT4KKwk8dGVybT48b3B0aW9uPi0tbm8tc3VwZXItdXBkYXRlPC9vcHRpb24+PC90ZXJtPgorCTxsaXN0aXRlbT4KKwkJPHBhcmE+CisJCQlEbyBub3QgdXBkYXRlIHRoZSA8YWNyb255bT5TR01MPC9hY3JvbnltPiBzdXBlciBjYXRhbG9nLgorCQk8L3BhcmE+CisJPC9saXN0aXRlbT4KKwkJPC92YXJsaXN0ZW50cnk+CisJCQorCQk8dmFybGlzdGVudHJ5PgorCTx0ZXJtPjxvcHRpb24+LS1zaGVsbDwvb3B0aW9uPjwvdGVybT4KKwk8bGlzdGl0ZW0+CisJCTxwYXJhPgorCQkJUnVuIGEgc2hlbGwgYWxsb3dpbmcgaW50ZXJhY3RpdmUgcXVlcmllcyBvbiBjYXRhbG9nCisJCQlmaWxlIDxyZXBsYWNlYWJsZT5DQVRBTE9HRklMRTwvcmVwbGFjZWFibGU+LiBGb3IgdGhlIHNldCBvZiBhdmFpbGFibGUKKwkJCWNvbW1hbmRzIHNlZSA8eHJlZiBsaW5rZW5kPSJzaGVsbCIvPi4KKwkJPC9wYXJhPgorCTwvbGlzdGl0ZW0+CisJCTwvdmFybGlzdGVudHJ5PgorCQkKKwkJPHZhcmxpc3RlbnRyeT4KKwk8dGVybT48b3B0aW9uPi0tc2dtbDwvb3B0aW9uPjwvdGVybT4KKwk8bGlzdGl0ZW0+CisJCTxwYXJhPgorCQkJVXNlcyA8YWNyb255bT5TR01MPC9hY3JvbnltPiBzdXBlciBjYXRhbG9ncyBmb3IgPG9wdGlvbj4tLWFkZDwvb3B0aW9uPgorCQkJYW5kIDxvcHRpb24+LS1kZWw8L29wdGlvbj4gb3B0aW9ucy4KKwkJPC9wYXJhPgorCTwvbGlzdGl0ZW0+CisJCTwvdmFybGlzdGVudHJ5PgorCQkKKwkJPHZhcmxpc3RlbnRyeT4KKwk8dGVybT48b3B0aW9uPi12PC9vcHRpb24+PC90ZXJtPgorCTx0ZXJtPjxvcHRpb24+LS12ZXJib3NlPC9vcHRpb24+PC90ZXJtPgorCTxsaXN0aXRlbT4KKwkJPHBhcmE+T3V0cHV0IGRlYnVnZ2luZyBpbmZvcm1hdGlvbi48L3BhcmE+CisJPC9saXN0aXRlbT4KKwkJPC92YXJsaXN0ZW50cnk+CisJCisJPC92YXJpYWJsZWxpc3Q+Cis8L3JlZnNlY3QxPgorCis8cmVmc2VjdDEgaWQ9InNoZWxsIj4KKwk8dGl0bGU+U0hFTEwgQ09NTUFORFM8L3RpdGxlPgorCTxwYXJhPgorCQlJbnZva2luZyAmeG1sY2F0YWxvZzsgd2l0aAorCQl0aGUgPG9wdGlvbj4tLXNoZWxsIDxyZXBsYWNlYWJsZT5DQVRBTE9HRklMRTwvcmVwbGFjZWFibGU+PC9vcHRpb24+IG9wdGlvbiBvcGVucworCQlhIGNvbW1hbmQgbGluZSBzaGVsbCBhbGxvd2luZyBpbnRlcmFjdGl2ZSBhY2Nlc3MgdG8gdGhlIGNhdGFsb2cgZmlsZQorCQlpZGVudGlmaWVkIGJ5IDxyZXBsYWNlYWJsZT5DQVRBTE9HRklMRTwvcmVwbGFjZWFibGU+LiBJbnZva2luZyB0aGUgc2hlbGwKKwkJcHJvdmlkZXMgYSBjb21tYW5kIGxpbmUgcHJvbXB0IGFmdGVyIHdoaWNoIHRoZSBmb2xsb3dpbmcgY29tbWFuZHMgKGRlc2NyaWJlZCBpbgorCQlhbHBoYWJldGljYWwgb3JkZXIpIGNhbiBiZSBlbnRlcmVkLgorCTwvcGFyYT4KKwkKKwk8dmFyaWFibGVsaXN0PgorCisJCTx2YXJsaXN0ZW50cnk+CisJPHRlcm0+CisJCTxvcHRpb24+YWRkCisJCSA8cmVwbGFjZWFibGU+VFlQRTwvcmVwbGFjZWFibGU+CisJCSA8cmVwbGFjZWFibGU+T1JJRzwvcmVwbGFjZWFibGU+CisJCSA8cmVwbGFjZWFibGU+UkVQTEFDRTwvcmVwbGFjZWFibGU+CisJCTwvb3B0aW9uPgorCTwvdGVybT4KKwk8bGlzdGl0ZW0+CisJCTxwYXJhPgorCQkJQWRkIGFuIGVudHJ5IHRvIHRoZSBjYXRhbG9nIGZpbGUuIDxyZXBsYWNlYWJsZT5UWVBFPC9yZXBsYWNlYWJsZT4KKwkJCWluZGljYXRlcyB0aGUgdHlwZSBvZiBlbnRyeS4gUG9zc2libGUgdHlwZXMgYXJlOiA8c2ltcGxlbGlzdCB0eXBlPSJpbmxpbmUiPgorCQkJCTxtZW1iZXI+PHBhcmFtZXRlcj5wdWJsaWM8L3BhcmFtZXRlcj48L21lbWJlcj4KKwkJCQk8bWVtYmVyPjxwYXJhbWV0ZXI+c3lzdGVtPC9wYXJhbWV0ZXI+PC9tZW1iZXI+CisJCQkJPG1lbWJlcj48cGFyYW1ldGVyPnVyaTwvcGFyYW1ldGVyPjwvbWVtYmVyPgorCQkJCTxtZW1iZXI+PHBhcmFtZXRlcj5yZXdyaXRlU3lzdGVtPC9wYXJhbWV0ZXI+PC9tZW1iZXI+CisJCQkJPG1lbWJlcj48cGFyYW1ldGVyPnJld3JpdGVVUkk8L3BhcmFtZXRlcj48L21lbWJlcj4KKwkJCQk8bWVtYmVyPjxwYXJhbWV0ZXI+ZGVsZWdhdGVQdWJsaWM8L3BhcmFtZXRlcj48L21lbWJlcj4KKwkJCQk8bWVtYmVyPjxwYXJhbWV0ZXI+ZGVsZWdhdGVTeXN0ZW08L3BhcmFtZXRlcj48L21lbWJlcj4KKwkJCQk8bWVtYmVyPjxwYXJhbWV0ZXI+ZGVsZWdhdGVVUkk8L3BhcmFtZXRlcj48L21lbWJlcj4KKwkJCQk8bWVtYmVyPjxwYXJhbWV0ZXI+bmV4dENhdGFsb2c8L3BhcmFtZXRlcj48L21lbWJlcj4KKwkJCTwvc2ltcGxlbGlzdD4uIDxyZXBsYWNlYWJsZT5PUklHPC9yZXBsYWNlYWJsZT4gaXMgdGhlIG9yaWdpbmFsCisJCQlyZWZlcmVuY2UgdG8gYmUgcmVwbGFjZWQsIGFuZCA8cmVwbGFjZWFibGU+UkVQTEFDRTwvcmVwbGFjZWFibGU+CisJCQlpcyB0aGUgPGFjcm9ueW0+VVJJPC9hY3JvbnltPiBvZiB0aGUgcmVwbGFjZW1lbnQgZW50aXR5IHRvIGJlCisJCQl1c2VkLiBUaGUgPG9wdGlvbj4tLWFkZDwvb3B0aW9uPiBvcHRpb24gd2lsbCBub3Qgb3ZlcndyaXRlCisJCQk8ZmlsZW5hbWU+Q0FUQUxPR0ZJTEU8L2ZpbGVuYW1lPiwgb3V0cHV0dGluZworCQkJdG8gPGZpbGVuYW1lIGNsYXNzPSJkZXZpY2VmaWxlIj5zdGRvdXQ8L2ZpbGVuYW1lPiwgdW5sZXNzCisJCQk8b3B0aW9uPi0tbm9vdXQ8L29wdGlvbj4gaXMgdXNlZC4gVGhlIDxvcHRpb24+LS1hZGQ8L29wdGlvbj4gd2lsbAorCQkJYWx3YXlzIHRha2UgdGhyZWUgcGFyYW1ldGVycyBldmVuIGlmIHNvbWUgb2YgdGhlIDxhY3JvbnltPlhNTDwvYWNyb255bT4KKwkJCWNhdGFsb2cgY29uc3RydWN0cyB3aWxsIGhhdmUgb25seSBhIHNpbmdsZSBhcmd1bWVudC4KKwkJPC9wYXJhPgorCTwvbGlzdGl0ZW0+CisJCTwvdmFybGlzdGVudHJ5PgorCisJCTx2YXJsaXN0ZW50cnk+CisJPHRlcm0+PG9wdGlvbj5kZWJ1Zzwvb3B0aW9uPjwvdGVybT4KKwk8bGlzdGl0ZW0+CisJCTxwYXJhPgorCQkJUHJpbnQgZGVidWdnaW5nIHN0YXRlbWVudHMgc2hvd2luZyB0aGUgc3RlcHMgJnhtbGNhdGFsb2c7IGlzIGV4ZWN1dGluZy4KKwkJPC9wYXJhPgorCTwvbGlzdGl0ZW0+CisJCTwvdmFybGlzdGVudHJ5PgorCisJCTx2YXJsaXN0ZW50cnk+CisJPHRlcm0+PG9wdGlvbj5kZWwgPHJlcGxhY2VhYmxlPlZBTFVFKFMpPC9yZXBsYWNlYWJsZT48L29wdGlvbj48L3Rlcm0+CisJPGxpc3RpdGVtPgorCQk8cGFyYT4KKwkJCVJlbW92ZSB0aGUgY2F0YWxvZyBlbnRyeSBjb3JyZXNwb25kaW5nIHRvIDxyZXBsYWNlYWJsZT5WQUxVRShTKTwvcmVwbGFjZWFibGU+LgorCQk8L3BhcmE+CisJPC9saXN0aXRlbT4KKwkJPC92YXJsaXN0ZW50cnk+CisKKwkJPHZhcmxpc3RlbnRyeT4KKwk8dGVybT48b3B0aW9uPmR1bXA8L29wdGlvbj48L3Rlcm0+CisJPGxpc3RpdGVtPgorCQk8cGFyYT5QcmludCB0aGUgY3VycmVudCBjYXRhbG9nLjwvcGFyYT4KKwk8L2xpc3RpdGVtPgorCQk8L3Zhcmxpc3RlbnRyeT4KKworCQk8dmFybGlzdGVudHJ5PgorCTx0ZXJtPjxvcHRpb24+ZXhpdDwvb3B0aW9uPjwvdGVybT4KKwk8bGlzdGl0ZW0+CisJCTxwYXJhPlF1aXQgdGhlIHNoZWxsLjwvcGFyYT4KKwk8L2xpc3RpdGVtPgorCQk8L3Zhcmxpc3RlbnRyeT4KKwkKKwkJPHZhcmxpc3RlbnRyeT4KKwk8dGVybT48b3B0aW9uPnB1YmxpYyA8cmVwbGFjZWFibGU+UFVCTElDLUlEPC9yZXBsYWNlYWJsZT48L29wdGlvbj48L3Rlcm0+CisJPGxpc3RpdGVtPgorCQk8cGFyYT4KKwkJCUV4ZWN1dGUgYSBGb3JtYWwgUHVibGljIElkZW50aWZpZXIgbG9vay11cCBvZiB0aGUgY2F0YWxvZyBlbnRyeQorCQkJZm9yIDxyZXBsYWNlYWJsZT5QVUJMSUMtSUQ8L3JlcGxhY2VhYmxlPi4gVGhlIGNvcnJlc3BvbmRpbmcgZW50cnkgd2lsbCBiZQorCQkJb3V0cHV0IHRvIHRoZSBjb21tYW5kIGxpbmUuCisJCTwvcGFyYT4KKwk8L2xpc3RpdGVtPgorCQk8L3Zhcmxpc3RlbnRyeT4KKworCQk8dmFybGlzdGVudHJ5PgorCTx0ZXJtPjxvcHRpb24+cXVpZXQ8L29wdGlvbj48L3Rlcm0+CisJPGxpc3RpdGVtPgorCQk8cGFyYT5TdG9wIHByaW50aW5nIGRlYnVnZ2luZyBzdGF0ZW1lbnRzLjwvcGFyYT4KKwk8L2xpc3RpdGVtPgorCQk8L3Zhcmxpc3RlbnRyeT4KKwkJCisJCTx2YXJsaXN0ZW50cnk+CisJPHRlcm0+PG9wdGlvbj5zeXN0ZW0gPHJlcGxhY2VhYmxlPlNZU1RFTS1JRDwvcmVwbGFjZWFibGU+PC9vcHRpb24+PC90ZXJtPgorCTxsaXN0aXRlbT4KKwkJPHBhcmE+CisJCQlFeGVjdXRlIGEgRm9ybWFsIFB1YmxpYyBJZGVudGlmaWVyIGxvb2stdXAgb2YgdGhlIGNhdGFsb2cgZW50cnkKKwkJCWZvciA8cmVwbGFjZWFibGU+U1lTVEVNLUlEPC9yZXBsYWNlYWJsZT4uIFRoZSBjb3JyZXNwb25kaW5nIGVudHJ5IHdpbGwgYmUKKwkJCW91dHB1dCB0byB0aGUgY29tbWFuZCBsaW5lLgorCQk8L3BhcmE+CisJPC9saXN0aXRlbT4KKwkJPC92YXJsaXN0ZW50cnk+CisKKwk8L3ZhcmlhYmxlbGlzdD4KKzwvcmVmc2VjdDE+CisKKzxyZWZzZWN0MSBpZD0iZW52aXJvbm1lbnQiPgorCTx0aXRsZT5FTlZJUk9OTUVOVDwvdGl0bGU+CisJPHZhcmlhYmxlbGlzdD4KKworCQk8dmFybGlzdGVudHJ5PgorCTx0ZXJtPjxlbnZhcj5YTUxfQ0FUQUxPR19GSUxFUzwvZW52YXI+PC90ZXJtPgorCTxsaXN0aXRlbT4KKwkJPHBhcmE+PGFjcm9ueW0+WE1MPC9hY3JvbnltPiBjYXRhbG9nIGJlaGF2aW9yIGNhbiBiZSBjaGFuZ2VkIGJ5IHJlZGlyZWN0aW5nCisJCQlxdWVyaWVzIHRvIHRoZSB1c2VyJ3Mgb3duIHNldCBvZiBjYXRhbG9ncy4gVGhpcyBjYW4gYmUgZG9uZSBieSBzZXR0aW5nCisJCQl0aGUgPGVudmFyPlhNTF9DQVRBTE9HX0ZJTEVTPC9lbnZhcj4gZW52aXJvbm1lbnQgdmFyaWFibGUgdG8gYSBsaXN0CisJCQlvZiBjYXRhbG9ncy4gQW4gZW1wdHkgb25lIHNob3VsZCBkZWFjdGl2YXRlIGxvYWRpbmcgdGhlCisJCQlkZWZhdWx0IDxmaWxlbmFtZT4vZXRjL3htbC9jYXRhbG9nPC9maWxlbmFtZT4gY2F0YWxvZy4KKwkJPC9wYXJhPgorCTwvbGlzdGl0ZW0+CisJCTwvdmFybGlzdGVudHJ5PgorCisJPC92YXJpYWJsZWxpc3Q+CQorPC9yZWZzZWN0MT4KKworPHJlZnNlY3QxIGlkPSJkaWFnbm9zdGljcyI+CisJPHRpdGxlPkRJQUdOT1NUSUNTPC90aXRsZT4KKwk8cGFyYT4KKwkJJnhtbGNhdGFsb2c7IHJldHVybiBjb2RlcyBwcm92aWRlIGluZm9ybWF0aW9uIHRoYXQgY2FuIGJlIHVzZWQgd2hlbgorCQljYWxsaW5nIGl0IGZyb20gc2NyaXB0cy4KKwk8L3BhcmE+CisJPHZhcmlhYmxlbGlzdD4KKworCQk8dmFybGlzdGVudHJ5PgorCTx0ZXJtPjxlcnJvcmNvZGU+MDwvZXJyb3Jjb2RlPjwvdGVybT4KKwk8bGlzdGl0ZW0+CisJCTxwYXJhPk5vIGVycm9yPC9wYXJhPgorCTwvbGlzdGl0ZW0+CisJCTwvdmFybGlzdGVudHJ5PgorCisJCTx2YXJsaXN0ZW50cnk+CisJPHRlcm0+PGVycm9yY29kZT4xPC9lcnJvcmNvZGU+PC90ZXJtPgorCTxsaXN0aXRlbT4KKwkJPHBhcmE+RmFpbGVkIHRvIHJlbW92ZSBhbiBlbnRyeSBmcm9tIHRoZSBjYXRhbG9nPC9wYXJhPgorCTwvbGlzdGl0ZW0+CisJCTwvdmFybGlzdGVudHJ5PgorCisJCTx2YXJsaXN0ZW50cnk+CisJPHRlcm0+PGVycm9yY29kZT4yPC9lcnJvcmNvZGU+PC90ZXJtPgorCTxsaXN0aXRlbT4KKwkJPHBhcmE+RmFpbGVkIHRvIHNhdmUgdG8gdGhlIGNhdGFsb2csIGNoZWNrIGZpbGUgcGVybWlzc2lvbnM8L3BhcmE+CisJPC9saXN0aXRlbT4KKwkJPC92YXJsaXN0ZW50cnk+CisKKwkJPHZhcmxpc3RlbnRyeT4KKwk8dGVybT48ZXJyb3Jjb2RlPjM8L2Vycm9yY29kZT48L3Rlcm0+CisJPGxpc3RpdGVtPgorCQk8cGFyYT5GYWlsZWQgdG8gYWRkIGFuIGVudHJ5IHRvIHRoZSBjYXRhbG9nPC9wYXJhPgorCTwvbGlzdGl0ZW0+CisJCTwvdmFybGlzdGVudHJ5PgorCisJCTx2YXJsaXN0ZW50cnk+CisJPHRlcm0+PGVycm9yY29kZT40PC9lcnJvcmNvZGU+PC90ZXJtPgorCTxsaXN0aXRlbT4KKwkJPHBhcmE+RmFpbGVkIHRvIGxvb2sgdXAgYW4gZW50cnkgaW4gdGhlIGNhdGFsb2c8L3BhcmE+CisJPC9saXN0aXRlbT4KKwkJPC92YXJsaXN0ZW50cnk+CisKKwk8L3ZhcmlhYmxlbGlzdD4KKzwvcmVmc2VjdDE+CisKKzxyZWZzZWN0MSBpZD0ic2VlYWxzbyI+CisJPHRpdGxlPlNFRSBBTFNPPC90aXRsZT4KKwk8cGFyYT48Y2l0ZXJlZmVudHJ5PgorCQkJPHJlZmVudHJ5dGl0bGU+bGlieG1sPC9yZWZlbnRyeXRpdGxlPgorCQkJPG1hbnZvbG51bT4zPC9tYW52b2xudW0+CisJCTwvY2l0ZXJlZmVudHJ5PgorCTwvcGFyYT4KKwk8cGFyYT4KKwkJTW9yZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgYXQKKwkJPGl0ZW1pemVkbGlzdD4KKwkJCTxsaXN0aXRlbT4KKwkJCQk8cGFyYT48Y2l0ZXJlZmVudHJ5PgorCQkJCQkJPHJlZmVudHJ5dGl0bGU+bGlieG1sPC9yZWZlbnRyeXRpdGxlPgorCQkJCQkJPG1hbnZvbG51bT4zPC9tYW52b2xudW0+CisJCQkJCTwvY2l0ZXJlZmVudHJ5PiB3ZWIgcGFnZSA8dWxpbmsgdXJsPSJodHRwOi8vd3d3LnhtbHNvZnQub3JnLyIvPgorCQkJCTwvcGFyYT4KKwkJCTwvbGlzdGl0ZW0+CisJCQk8bGlzdGl0ZW0+CisJCQkJPHBhcmE+PGNpdGVyZWZlbnRyeT4KKwkJCQkJCTxyZWZlbnRyeXRpdGxlPmxpYnhtbDwvcmVmZW50cnl0aXRsZT4KKwkJCQkJCTxtYW52b2xudW0+MzwvbWFudm9sbnVtPgorCQkJCQk8L2NpdGVyZWZlbnRyeT4gY2F0YWxvZyBzdXBwb3J0IHdlYiBwYWdlCisJCQkJCWF0IDx1bGluayB1cmw9Imh0dHA6Ly93d3cueG1sc29mdC5vcmcvY2F0YWxvZy5odG1sIi8+CisJCQkJPC9wYXJhPgorCQkJPC9saXN0aXRlbT4KKwkJCTxsaXN0aXRlbT4KKwkJCQk8cGFyYT5KYW1lcyBDbGFyaydzIDxhY3JvbnltPlNHTUw8L2Fjcm9ueW0+IGNhdGFsb2cKKwkJCQkJcGFnZSA8dWxpbmsgdXJsPSJodHRwOi8vd3d3LmpjbGFyay5jb20vc3AvY2F0YWxvZy5odG0iLz4KKwkJCQk8L3BhcmE+CisJCQk8L2xpc3RpdGVtPgorCQkJPGxpc3RpdGVtPgorCQkJCTxwYXJhPjxhY3JvbnltPk9BU0lTPC9hY3JvbnltPiA8YWNyb255bT5YTUw8L2Fjcm9ueW0+IGNhdGFsb2cgc3BlY2lmaWNhdGlvbgorCQkJCQk8dWxpbmsgdXJsPSJodHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL2NvbW1pdHRlZXMvZW50aXR5L3NwZWMuaHRtbCIvPgorCQkJCTwvcGFyYT4KKwkJCTwvbGlzdGl0ZW0+CisJCTwvaXRlbWl6ZWRsaXN0PgorCTwvcGFyYT4KKzwvcmVmc2VjdDE+CisKKzwvcmVmZW50cnk+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy94bWxkdGQuaHRtbCBiL2xpYnhtbDIvZG9jL3htbGR0ZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM2MzMzZjAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy94bWxkdGQuaHRtbApAQCAtMCwwICsxLDEwNyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIj4KKzxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj48aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz48bGluayByZWw9IlNIT1JUQ1VUIElDT04iIGhyZWY9Ii9mYXZpY29uLmljbyIgLz48c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorVEQge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0JPRFkge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYTsgbWFyZ2luLXRvcDogMmVtOyBtYXJnaW4tbGVmdDogMGVtOyBtYXJnaW4tcmlnaHQ6IDBlbX0KK0gxIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMiB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDMge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0E6bGluaywgQTp2aXNpdGVkLCBBOmFjdGl2ZSB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIH0KKzwvc3R5bGU+PHRpdGxlPlZhbGlkYXRpb24gJmFtcDsgRFREczwvdGl0bGU+PC9oZWFkPjxib2R5IGJnY29sb3I9IiM4Yjc3NjUiIHRleHQ9IiMwMDAwMDAiIGxpbms9IiNhMDYwNjAiIHZsaW5rPSIjMDAwMDAwIj48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iMTAwJSIgY2VsbHBhZGRpbmc9IjUiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIHdpZHRoPSIxMjAiPjxhIGhyZWY9Imh0dHA6Ly9zd3BhdC5mZmlpLm9yZy8iPjxpbWcgc3JjPSJlcGF0ZW50cy5wbmciIGFsdD0iQWN0aW9uIGFnYWluc3Qgc29mdHdhcmUgcGF0ZW50cyIgLz48L2E+PC90ZD48dGQgd2lkdGg9IjE4MCI+PGEgaHJlZj0iaHR0cDovL3d3dy5nbm9tZS5vcmcvIj48aW1nIHNyYz0iZ25vbWUyLnBuZyIgYWx0PSJHbm9tZTIgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvU3RhdHVzIj48aW1nIHNyYz0idzNjLnBuZyIgYWx0PSJXM0MgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy5yZWRoYXQuY29tLyI+PGltZyBzcmM9InJlZGhhdC5naWYiIGFsdD0iUmVkIEhhdCBMb2dvIiAvPjwvYT48ZGl2IGFsaWduPSJsZWZ0Ij48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvIj48aW1nIHNyYz0iTGlieG1sMi1Mb2dvLTE4MHgxNjguZ2lmIiBhbHQ9Ik1hZGUgd2l0aCBMaWJ4bWwyIExvZ28iIC8+PC9hPjwvZGl2PjwvdGQ+PHRkPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSI5MCUiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIiBiZ2NvbG9yPSIjZmZmYWNkIj48dHI+PHRkIGFsaWduPSJjZW50ZXIiPjxoMT5UaGUgWE1MIEMgcGFyc2VyIGFuZCB0b29sa2l0IG9mIEdub21lPC9oMT48aDI+VmFsaWRhdGlvbiAmYW1wOyBEVERzPC9oMj48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iNCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMiIgd2lkdGg9IjEwMCUiPjx0cj48dGQgdmFsaWduPSJ0b3AiIHdpZHRoPSIyMDAiIGJnY29sb3I9IiM4Yjc3NjUiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPk1haW4gTWVudTwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48Zm9ybSBhY3Rpb249InNlYXJjaC5waHAiIGVuY3R5cGU9ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIgbWV0aG9kPSJnZXQiPjxpbnB1dCBuYW1lPSJxdWVyeSIgdHlwZT0idGV4dCIgc2l6ZT0iMjAiIHZhbHVlPSIiIC8+PGlucHV0IG5hbWU9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU2VhcmNoIC4uLiIgLz48L2Zvcm0+PHVsPjxsaT48YSBocmVmPSJpbmRleC5odG1sIj5Ib21lPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0bWwvaW5kZXguaHRtbCI+UmVmZXJlbmNlIE1hbnVhbDwvYT48L2xpPjxsaT48YSBocmVmPSJpbnRyby5odG1sIj5JbnRyb2R1Y3Rpb248L2E+PC9saT48bGk+PGEgaHJlZj0iRkFRLmh0bWwiPkZBUTwvYT48L2xpPjxsaT48YSBocmVmPSJkb2NzLmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5EZXZlbG9wZXIgTWVudTwvYT48L2xpPjxsaT48YSBocmVmPSJidWdzLmh0bWwiPlJlcG9ydGluZyBidWdzIGFuZCBnZXR0aW5nIGhlbHA8L2E+PC9saT48bGk+PGEgaHJlZj0iaGVscC5odG1sIj5Ib3cgdG8gaGVscDwvYT48L2xpPjxsaT48YSBocmVmPSJkb3dubG9hZHMuaHRtbCI+RG93bmxvYWRzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Im5ld3MuaHRtbCI+UmVsZWFzZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iWE1MaW5mby5odG1sIj5YTUw8L2E+PC9saT48bGk+PGEgaHJlZj0iWFNMVC5odG1sIj5YU0xUPC9hPjwvbGk+PGxpPjxhIGhyZWY9InhtbGR0ZC5odG1sIj5WYWxpZGF0aW9uICZhbXA7IERURHM8L2E+PC9saT48bGk+PGEgaHJlZj0iZW5jb2RpbmcuaHRtbCI+RW5jb2RpbmdzIHN1cHBvcnQ8L2E+PC9saT48bGk+PGEgaHJlZj0iY2F0YWxvZy5odG1sIj5DYXRhbG9nIHN1cHBvcnQ8L2E+PC9saT48bGk+PGEgaHJlZj0ibmFtZXNwYWNlcy5odG1sIj5OYW1lc3BhY2VzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImNvbnRyaWJzLmh0bWwiPkNvbnRyaWJ1dGlvbnM8L2E+PC9saT48bGk+PGEgaHJlZj0iZXhhbXBsZXMvaW5kZXguaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPkNvZGUgRXhhbXBsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHRtbC9pbmRleC5odG1sIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+QVBJIE1lbnU8L2E+PC9saT48bGk+PGEgaHJlZj0iZ3VpZGVsaW5lcy5odG1sIj5YTUwgR3VpZGVsaW5lczwvYT48L2xpPjxsaT48YSBocmVmPSJDaGFuZ2VMb2cuaHRtbCI+UmVjZW50IENoYW5nZXM8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5SZWxhdGVkIGxpbmtzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iaHR0cDovL21haWwuZ25vbWUub3JnL2FyY2hpdmVzL3htbC8iPk1haWwgYXJjaGl2ZTwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvWFNMVC8iPlhTTFQgbGlieHNsdDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vcGhkLmNzLnVuaWJvLml0L2dkb21lMi8iPkRPTSBnZG9tZTI8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5hbGVrc2V5LmNvbS94bWxzZWMvIj5YTUwtRFNpZyB4bWxzZWM8L2E+PC9saT48bGk+PGEgaHJlZj0iZnRwOi8veG1sc29mdC5vcmcvIj5GVFA8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56bGF0a292aWMuY29tL3Byb2plY3RzL2xpYnhtbC8iPldpbmRvd3MgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL29wZW5jc3cub3JnL3BhY2thZ2VzL2xpYnhtbDIiPlNvbGFyaXMgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5leHBsYWluLmNvbS5hdS9vc3MvbGlieG1sMnhzbHQuaHRtbCI+TWFjT3NYIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9seG1sLmRlLyI+bHhtbCBQeXRob24gYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2NwYW4udXdpbm5pcGVnLmNhL2Rpc3QvWE1MLUxpYlhNTCI+UGVybCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1scGx1c3BsdXMuc291cmNlZm9yZ2UubmV0LyI+QysrIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemVuZC5jb20vcGhwNS9hcnRpY2xlcy9waHA1LXhtbHBocC5waHAjSGVhZGluZzQiPlBIUCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2xpYnhtbDItcGFzLyI+UGFzY2FsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWwucnVieWZvcmdlLm9yZy8iPlJ1YnkgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3RjbHhtbC5zb3VyY2Vmb3JnZS5uZXQvIj5UY2wgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9idWdsaXN0LmNnaT9wcm9kdWN0PWxpYnhtbDIiPkJ1ZyBUcmFja2VyPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIzIiBjZWxsc3BhY2luZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHA+VGFibGUgb2YgQ29udGVudDo8L3A+PG9sPgorICA8bGk+PGEgaHJlZj0iI0dlbmVyYWw1Ij5HZW5lcmFsIG92ZXJ2aWV3PC9hPjwvbGk+CisgIDxsaT48YSBocmVmPSIjZGVmaW5pdGlvbiI+VGhlIGRlZmluaXRpb248L2E+PC9saT4KKyAgPGxpPjxhIGhyZWY9IiNTaW1wbGUiPlNpbXBsZSBydWxlczwvYT4KKyAgICA8b2w+CisgICAgICA8bGk+PGEgaHJlZj0iI3JlZmVyZW5jZSI+SG93IHRvIHJlZmVyZW5jZSBhIERURCBmcm9tIGEgZG9jdW1lbnQ8L2E+PC9saT4KKyAgICAgIDxsaT48YSBocmVmPSIjRGVjbGFyaW5nIj5EZWNsYXJpbmcgZWxlbWVudHM8L2E+PC9saT4KKyAgICAgIDxsaT48YSBocmVmPSIjRGVjbGFyaW5nMSI+RGVjbGFyaW5nIGF0dHJpYnV0ZXM8L2E+PC9saT4KKyAgICA8L29sPgorICA8L2xpPgorICA8bGk+PGEgaHJlZj0iI1NvbWUiPlNvbWUgZXhhbXBsZXM8L2E+PC9saT4KKyAgPGxpPjxhIGhyZWY9IiN2YWxpZGF0ZSI+SG93IHRvIHZhbGlkYXRlPC9hPjwvbGk+CisgIDxsaT48YSBocmVmPSIjT3RoZXIiPk90aGVyIHJlc291cmNlczwvYT48L2xpPgorPC9vbD48aDM+PGEgbmFtZT0iR2VuZXJhbDUiIGlkPSJHZW5lcmFsNSI+R2VuZXJhbCBvdmVydmlldzwvYT48L2gzPjxwPldlbGwgd2hhdCBpcyB2YWxpZGF0aW9uIGFuZCB3aGF0IGlzIGEgRFREID88L3A+PHA+RFREIGlzIHRoZSBhY3JvbnltIGZvciBEb2N1bWVudCBUeXBlIERlZmluaXRpb24uIFRoaXMgaXMgYSBkZXNjcmlwdGlvbiBvZgordGhlIGNvbnRlbnQgZm9yIGEgZmFtaWx5IG9mIFhNTCBmaWxlcy4gVGhpcyBpcyBwYXJ0IG9mIHRoZSBYTUwgMS4wCitzcGVjaWZpY2F0aW9uLCBhbmQgYWxsb3dzIG9uZSB0byBkZXNjcmliZSBhbmQgdmVyaWZ5IHRoYXQgYSBnaXZlbiBkb2N1bWVudAoraW5zdGFuY2UgY29uZm9ybXMgdG8gdGhlIHNldCBvZiBydWxlcyBkZXRhaWxpbmcgaXRzIHN0cnVjdHVyZSBhbmQgY29udGVudC48L3A+PHA+VmFsaWRhdGlvbiBpcyB0aGUgcHJvY2VzcyBvZiBjaGVja2luZyBhIGRvY3VtZW50IGFnYWluc3QgYSBEVEQgKG1vcmUKK2dlbmVyYWxseSBhZ2FpbnN0IGEgc2V0IG9mIGNvbnN0cnVjdGlvbiBydWxlcykuPC9wPjxwPlRoZSB2YWxpZGF0aW9uIHByb2Nlc3MgYW5kIGJ1aWxkaW5nIERURHMgYXJlIHRoZSB0d28gbW9zdCBkaWZmaWN1bHQgcGFydHMKK29mIHRoZSBYTUwgbGlmZSBjeWNsZS4gQnJpZWZseSBhIERURCBkZWZpbmVzIGFsbCB0aGUgcG9zc2libGUgZWxlbWVudHMgdG8gYmUKK2ZvdW5kIHdpdGhpbiB5b3VyIGRvY3VtZW50LCB3aGF0IGlzIHRoZSBmb3JtYWwgc2hhcGUgb2YgeW91ciBkb2N1bWVudCB0cmVlCisoYnkgZGVmaW5pbmcgdGhlIGFsbG93ZWQgY29udGVudCBvZiBhbiBlbGVtZW50OyBlaXRoZXIgdGV4dCwgYSByZWd1bGFyCitleHByZXNzaW9uIGZvciB0aGUgYWxsb3dlZCBsaXN0IG9mIGNoaWxkcmVuLCBvciBtaXhlZCBjb250ZW50IGkuZS4gYm90aCB0ZXh0CithbmQgY2hpbGRyZW4pLiBUaGUgRFREIGFsc28gZGVmaW5lcyB0aGUgdmFsaWQgYXR0cmlidXRlcyBmb3IgYWxsIGVsZW1lbnRzIGFuZAordGhlIHR5cGVzIG9mIHRob3NlIGF0dHJpYnV0ZXMuPC9wPjxoMz48YSBuYW1lPSJkZWZpbml0aW9uMSIgaWQ9ImRlZmluaXRpb24xIj5UaGUgZGVmaW5pdGlvbjwvYT48L2gzPjxwPlRoZSA8YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMteG1sIj5XM0MgWE1MIFJlY29tbWVuZGF0aW9uPC9hPiAoPGEgaHJlZj0iaHR0cDovL3d3dy54bWwuY29tL2F4bWwvYXhtbC5odG1sIj5UaW0gQnJheSdzIGFubm90YXRlZCB2ZXJzaW9uIG9mCitSZXYxPC9hPik6PC9wPjx1bD4KKyAgPGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy14bWwjZWxlbWRlY2xzIj5EZWNsYXJpbmcKKyAgZWxlbWVudHM8L2E+PC9saT4KKyAgPGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy14bWwjYXR0ZGVjbHMiPkRlY2xhcmluZworICBhdHRyaWJ1dGVzPC9hPjwvbGk+Cis8L3VsPjxwPih1bmZvcnR1bmF0ZWx5KSBhbGwgdGhpcyBpcyBpbmhlcml0ZWQgZnJvbSB0aGUgU0dNTCB3b3JsZCwgdGhlIHN5bnRheCBpcworYW5jaWVudC4uLjwvcD48aDM+PGEgbmFtZT0iU2ltcGxlMSIgaWQ9IlNpbXBsZTEiPlNpbXBsZSBydWxlczwvYT48L2gzPjxwPldyaXRpbmcgRFREcyBjYW4gYmUgZG9uZSBpbiBtYW55IHdheXMuIFRoZSBydWxlcyB0byBidWlsZCB0aGVtIGlmIHlvdSBuZWVkCitzb21ldGhpbmcgcGVybWFuZW50IG9yIHNvbWV0aGluZyB3aGljaCBjYW4gZXZvbHZlIG92ZXIgdGltZSBjYW4gYmUgcmFkaWNhbGx5CitkaWZmZXJlbnQuIFJlYWxseSBjb21wbGV4IERURHMgbGlrZSBEb2NCb29rIG9uZXMgYXJlIGZsZXhpYmxlIGJ1dCBxdWl0ZQoraGFyZGVyIHRvIGRlc2lnbi4gSSB3aWxsIGp1c3QgZm9jdXMgb24gRFREcyBmb3IgYSBmb3JtYXRzIHdpdGggYSBmaXhlZCBzaW1wbGUKK3N0cnVjdHVyZS4gSXQgaXMganVzdCBhIHNldCBvZiBiYXNpYyBydWxlcywgYW5kIGRlZmluaXRlbHkgbm90IGV4aGF1c3RpdmUgbm9yCit1c2FibGUgZm9yIGNvbXBsZXggRFREIGRlc2lnbi48L3A+PGg0PjxhIG5hbWU9InJlZmVyZW5jZTEiIGlkPSJyZWZlcmVuY2UxIj5Ib3cgdG8gcmVmZXJlbmNlIGEgRFREIGZyb20gYSBkb2N1bWVudDwvYT46PC9oND48cD5Bc3N1bWluZyB0aGUgdG9wIGVsZW1lbnQgb2YgdGhlIGRvY3VtZW50IGlzIDxjb2RlPnNwZWM8L2NvZGU+IGFuZCB0aGUgZHRkCitpcyBwbGFjZWQgaW4gdGhlIGZpbGUgPGNvZGU+bXlkdGQ8L2NvZGU+IGluIHRoZSBzdWJkaXJlY3RvcnkKKzxjb2RlPmR0ZHM8L2NvZGU+IG9mIHRoZSBkaXJlY3RvcnkgZnJvbSB3aGVyZSB0aGUgZG9jdW1lbnQgd2VyZSBsb2FkZWQ6PC9wPjxwPjxjb2RlPiZsdDshRE9DVFlQRSBzcGVjIFNZU1RFTSAiZHRkcy9teWR0ZCImZ3Q7PC9jb2RlPjwvcD48cD5Ob3Rlczo8L3A+PHVsPgorICA8bGk+VGhlIHN5c3RlbSBzdHJpbmcgaXMgYWN0dWFsbHkgYW4gVVJJLVJlZmVyZW5jZSAoYXMgZGVmaW5lZCBpbiA8YSBocmVmPSJodHRwOi8vd3d3LmlldGYub3JnL3JmYy9yZmMyMzk2LnR4dCI+UkZDIDIzOTY8L2E+KSBzbyB5b3UgY2FuIHVzZSBhCisgICAgZnVsbCBVUkwgc3RyaW5nIGluZGljYXRpbmcgdGhlIGxvY2F0aW9uIG9mIHlvdXIgRFREIG9uIHRoZSBXZWIuIFRoaXMgaXMgYQorICAgIHJlYWxseSBnb29kIHRoaW5nIHRvIGRvIGlmIHlvdSB3YW50IG90aGVycyB0byB2YWxpZGF0ZSB5b3VyIGRvY3VtZW50LjwvbGk+CisgIDxsaT5JdCBpcyBhbHNvIHBvc3NpYmxlIHRvIGFzc29jaWF0ZSBhIDxjb2RlPlBVQkxJQzwvY29kZT4gaWRlbnRpZmllciAoYQorICAgIG1hZ2ljIHN0cmluZykgc28gdGhhdCB0aGUgRFREIGlzIGxvb2tlZCB1cCBpbiBjYXRhbG9ncyBvbiB0aGUgY2xpZW50IHNpZGUKKyAgICB3aXRob3V0IGhhdmluZyB0byBsb2NhdGUgaXQgb24gdGhlIHdlYi48L2xpPgorICA8bGk+QSBEVEQgY29udGFpbnMgYSBzZXQgb2YgZWxlbWVudCBhbmQgYXR0cmlidXRlIGRlY2xhcmF0aW9ucywgYnV0IHRoZXkKKyAgICBkb24ndCBkZWZpbmUgd2hhdCB0aGUgcm9vdCBvZiB0aGUgZG9jdW1lbnQgc2hvdWxkIGJlLiBUaGlzIGlzIGV4cGxpY2l0bHkKKyAgICB0b2xkIHRvIHRoZSBwYXJzZXIvdmFsaWRhdG9yIGFzIHRoZSBmaXJzdCBlbGVtZW50IG9mIHRoZQorICAgIDxjb2RlPkRPQ1RZUEU8L2NvZGU+IGRlY2xhcmF0aW9uLjwvbGk+Cis8L3VsPjxoND48YSBuYW1lPSJEZWNsYXJpbmcyIiBpZD0iRGVjbGFyaW5nMiI+RGVjbGFyaW5nIGVsZW1lbnRzPC9hPjo8L2g0PjxwPlRoZSBmb2xsb3dpbmcgZGVjbGFyZXMgYW4gZWxlbWVudCA8Y29kZT5zcGVjPC9jb2RlPjo8L3A+PHA+PGNvZGU+Jmx0OyFFTEVNRU5UIHNwZWMgKGZyb250LCBib2R5LCBiYWNrPykmZ3Q7PC9jb2RlPjwvcD48cD5JdCBhbHNvIGV4cHJlc3NlcyB0aGF0IHRoZSBzcGVjIGVsZW1lbnQgY29udGFpbnMgb25lIDxjb2RlPmZyb250PC9jb2RlPiwKK29uZSA8Y29kZT5ib2R5PC9jb2RlPiBhbmQgb25lIG9wdGlvbmFsIDxjb2RlPmJhY2s8L2NvZGU+IGNoaWxkcmVuIGVsZW1lbnRzIGluCit0aGlzIG9yZGVyLiBUaGUgZGVjbGFyYXRpb24gb2Ygb25lIGVsZW1lbnQgb2YgdGhlIHN0cnVjdHVyZSBhbmQgaXRzIGNvbnRlbnQKK2FyZSBkb25lIGluIGEgc2luZ2xlIGRlY2xhcmF0aW9uLiBTaW1pbGFybHkgdGhlIGZvbGxvd2luZyBkZWNsYXJlcworPGNvZGU+ZGl2MTwvY29kZT4gZWxlbWVudHM6PC9wPjxwPjxjb2RlPiZsdDshRUxFTUVOVCBkaXYxIChoZWFkLCAocCB8IGxpc3QgfCBub3RlKSosIGRpdjI/KSZndDs8L2NvZGU+PC9wPjxwPndoaWNoIG1lYW5zIGRpdjEgY29udGFpbnMgb25lIDxjb2RlPmhlYWQ8L2NvZGU+IHRoZW4gYSBzZXJpZXMgb2Ygb3B0aW9uYWwKKzxjb2RlPnA8L2NvZGU+LCA8Y29kZT5saXN0PC9jb2RlPnMgYW5kIDxjb2RlPm5vdGU8L2NvZGU+cyBhbmQgdGhlbiBhbgorb3B0aW9uYWwgPGNvZGU+ZGl2MjwvY29kZT4uIEFuZCBsYXN0IGJ1dCBub3QgbGVhc3QgYW4gZWxlbWVudCBjYW4gY29udGFpbgordGV4dDo8L3A+PHA+PGNvZGU+Jmx0OyFFTEVNRU5UIGIgKCNQQ0RBVEEpJmd0OzwvY29kZT48L3A+PHA+PGNvZGU+YjwvY29kZT4gY29udGFpbnMgdGV4dCBvciBiZWluZyBvZiBtaXhlZCBjb250ZW50ICh0ZXh0IGFuZCBlbGVtZW50cworaW4gbm8gcGFydGljdWxhciBvcmRlcik6PC9wPjxwPjxjb2RlPiZsdDshRUxFTUVOVCBwICgjUENEQVRBfGF8dWx8YnxpfGVtKSomZ3Q7PC9jb2RlPjwvcD48cD48Y29kZT5wIDwvY29kZT5jYW4gY29udGFpbiB0ZXh0IG9yIDxjb2RlPmE8L2NvZGU+LCA8Y29kZT51bDwvY29kZT4sCis8Y29kZT5iPC9jb2RlPiwgPGNvZGU+aSA8L2NvZGU+b3IgPGNvZGU+ZW08L2NvZGU+IGVsZW1lbnRzIGluIG5vIHBhcnRpY3VsYXIKK29yZGVyLjwvcD48aDQ+PGEgbmFtZT0iRGVjbGFyaW5nMSIgaWQ9IkRlY2xhcmluZzEiPkRlY2xhcmluZyBhdHRyaWJ1dGVzPC9hPjo8L2g0PjxwPkFnYWluIHRoZSBhdHRyaWJ1dGVzIGRlY2xhcmF0aW9uIGluY2x1ZGVzIHRoZWlyIGNvbnRlbnQgZGVmaW5pdGlvbjo8L3A+PHA+PGNvZGU+Jmx0OyFBVFRMSVNUIHRlcm1kZWYgbmFtZSBDREFUQSAjSU1QTElFRCZndDs8L2NvZGU+PC9wPjxwPm1lYW5zIHRoYXQgdGhlIGVsZW1lbnQgPGNvZGU+dGVybWRlZjwvY29kZT4gY2FuIGhhdmUgYSA8Y29kZT5uYW1lPC9jb2RlPgorYXR0cmlidXRlIGNvbnRhaW5pbmcgdGV4dCAoPGNvZGU+Q0RBVEE8L2NvZGU+KSBhbmQgd2hpY2ggaXMgb3B0aW9uYWwKKyg8Y29kZT4jSU1QTElFRDwvY29kZT4pLiBUaGUgYXR0cmlidXRlIHZhbHVlIGNhbiBhbHNvIGJlIGRlZmluZWQgd2l0aGluIGEKK3NldDo8L3A+PHA+PGNvZGU+Jmx0OyFBVFRMSVNUIGxpc3QgdHlwZSAoYnVsbGV0c3xvcmRlcmVkfGdsb3NzYXJ5KQorIm9yZGVyZWQiJmd0OzwvY29kZT48L3A+PHA+bWVhbnMgPGNvZGU+bGlzdDwvY29kZT4gZWxlbWVudCBoYXZlIGEgPGNvZGU+dHlwZTwvY29kZT4gYXR0cmlidXRlIHdpdGggMworYWxsb3dlZCB2YWx1ZXMgImJ1bGxldHMiLCAib3JkZXJlZCIgb3IgImdsb3NzYXJ5IiBhbmQgd2hpY2ggZGVmYXVsdCB0bworIm9yZGVyZWQiIGlmIHRoZSBhdHRyaWJ1dGUgaXMgbm90IGV4cGxpY2l0bHkgc3BlY2lmaWVkLjwvcD48cD5UaGUgY29udGVudCB0eXBlIG9mIGFuIGF0dHJpYnV0ZSBjYW4gYmUgdGV4dCAoPGNvZGU+Q0RBVEE8L2NvZGU+KSwKK2FuY2hvci9yZWZlcmVuY2UvcmVmZXJlbmNlcworKDxjb2RlPklEPC9jb2RlPi88Y29kZT5JRFJFRjwvY29kZT4vPGNvZGU+SURSRUZTPC9jb2RlPiksIGVudGl0eShpZXMpCisoPGNvZGU+RU5USVRZPC9jb2RlPi88Y29kZT5FTlRJVElFUzwvY29kZT4pIG9yIG5hbWUocykKKyg8Y29kZT5OTVRPS0VOPC9jb2RlPi88Y29kZT5OTVRPS0VOUzwvY29kZT4pLiBUaGUgZm9sbG93aW5nIGRlZmluZXMgdGhhdCBhCis8Y29kZT5jaGFwdGVyPC9jb2RlPiBlbGVtZW50IGNhbiBoYXZlIGFuIG9wdGlvbmFsIDxjb2RlPmlkPC9jb2RlPiBhdHRyaWJ1dGUKK29mIHR5cGUgPGNvZGU+SUQ8L2NvZGU+LCB1c2FibGUgZm9yIHJlZmVyZW5jZSBmcm9tIGF0dHJpYnV0ZSBvZiB0eXBlCitJRFJFRjo8L3A+PHA+PGNvZGU+Jmx0OyFBVFRMSVNUIGNoYXB0ZXIgaWQgSUQgI0lNUExJRUQmZ3Q7PC9jb2RlPjwvcD48cD5UaGUgbGFzdCB2YWx1ZSBvZiBhbiBhdHRyaWJ1dGUgZGVmaW5pdGlvbiBjYW4gYmUgPGNvZGU+I1JFUVVJUkVECis8L2NvZGU+bWVhbmluZyB0aGF0IHRoZSBhdHRyaWJ1dGUgaGFzIHRvIGJlIGdpdmVuLCA8Y29kZT4jSU1QTElFRDwvY29kZT4KK21lYW5pbmcgdGhhdCBpdCBpcyBvcHRpb25hbCwgb3IgdGhlIGRlZmF1bHQgdmFsdWUgKHBvc3NpYmx5IHByZWZpeGVkIGJ5Cis8Y29kZT4jRklYRUQ8L2NvZGU+IGlmIGl0IGlzIHRoZSBvbmx5IGFsbG93ZWQpLjwvcD48cD5Ob3Rlczo8L3A+PHVsPgorICA8bGk+VXN1YWxseSB0aGUgYXR0cmlidXRlcyBwZXJ0YWluaW5nIHRvIGEgZ2l2ZW4gZWxlbWVudCBhcmUgZGVjbGFyZWQgaW4gYQorICAgIHNpbmdsZSBleHByZXNzaW9uLCBidXQgaXQgaXMganVzdCBhIGNvbnZlbnRpb24gYWRvcHRlZCBieSBhIGxvdCBvZiBEVEQKKyAgICB3cml0ZXJzOgorICAgIDxwcmU+Jmx0OyFBVFRMSVNUIHRlcm1kZWYKKyAgICAgICAgICBpZCAgICAgIElEICAgICAgI1JFUVVJUkVECisgICAgICAgICAgbmFtZSAgICBDREFUQSAgICNJTVBMSUVEJmd0OzwvcHJlPgorICAgIDxwPlRoZSBwcmV2aW91cyBjb25zdHJ1Y3QgZGVmaW5lcyBib3RoIDxjb2RlPmlkPC9jb2RlPiBhbmQKKyAgICA8Y29kZT5uYW1lPC9jb2RlPiBhdHRyaWJ1dGVzIGZvciB0aGUgZWxlbWVudCA8Y29kZT50ZXJtZGVmPC9jb2RlPi48L3A+CisgIDwvbGk+Cis8L3VsPjxoMz48YSBuYW1lPSJTb21lMSIgaWQ9IlNvbWUxIj5Tb21lIGV4YW1wbGVzPC9hPjwvaDM+PHA+VGhlIGRpcmVjdG9yeSA8Y29kZT50ZXN0L3ZhbGlkL2R0ZHMvPC9jb2RlPiBpbiB0aGUgbGlieG1sMiBkaXN0cmlidXRpb24KK2NvbnRhaW5zIHNvbWUgY29tcGxleCBEVEQgZXhhbXBsZXMuIFRoZSBleGFtcGxlIGluIHRoZSBmaWxlCis8Y29kZT50ZXN0L3ZhbGlkL2RpYS54bWw8L2NvZGU+IHNob3dzIGFuIFhNTCBmaWxlIHdoZXJlIHRoZSBzaW1wbGUgRFREIGlzCitkaXJlY3RseSBpbmNsdWRlZCB3aXRoaW4gdGhlIGRvY3VtZW50LjwvcD48aDM+PGEgbmFtZT0idmFsaWRhdGUxIiBpZD0idmFsaWRhdGUxIj5Ib3cgdG8gdmFsaWRhdGU8L2E+PC9oMz48cD5UaGUgc2ltcGxlc3Qgd2F5IGlzIHRvIHVzZSB0aGUgeG1sbGludCBwcm9ncmFtIGluY2x1ZGVkIHdpdGggbGlieG1sLiBUaGUKKzxjb2RlPi0tdmFsaWQ8L2NvZGU+IG9wdGlvbiB0dXJucy1vbiB2YWxpZGF0aW9uIG9mIHRoZSBmaWxlcyBnaXZlbiBhcyBpbnB1dC4KK0ZvciBleGFtcGxlIHRoZSBmb2xsb3dpbmcgdmFsaWRhdGVzIGEgY29weSBvZiB0aGUgZmlyc3QgcmV2aXNpb24gb2YgdGhlIFhNTAorMS4wIHNwZWNpZmljYXRpb246PC9wPjxwPjxjb2RlPnhtbGxpbnQgLS12YWxpZCAtLW5vb3V0IHRlc3QvdmFsaWQvUkVDLXhtbC0xOTk4MDIxMC54bWw8L2NvZGU+PC9wPjxwPnRoZSAtLSBub291dCBpcyB1c2VkIHRvIGRpc2FibGUgb3V0cHV0IG9mIHRoZSByZXN1bHRpbmcgdHJlZS48L3A+PHA+VGhlIDxjb2RlPi0tZHRkdmFsaWQgZHRkPC9jb2RlPiBhbGxvd3MgdmFsaWRhdGlvbiBvZiB0aGUgZG9jdW1lbnQocykKK2FnYWluc3QgYSBnaXZlbiBEVEQuPC9wPjxwPkxpYnhtbDIgZXhwb3J0cyBhbiBBUEkgdG8gaGFuZGxlIERURHMgYW5kIHZhbGlkYXRpb24sIGNoZWNrIHRoZSA8YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvaHRtbC9saWJ4bWwtdmFsaWQuaHRtbCI+YXNzb2NpYXRlZAorZGVzY3JpcHRpb248L2E+LjwvcD48aDM+PGEgbmFtZT0iT3RoZXIxIiBpZD0iT3RoZXIxIj5PdGhlciByZXNvdXJjZXM8L2E+PC9oMz48cD5EVERzIGFyZSBhcyBvbGQgYXMgU0dNTC4gU28gdGhlcmUgbWF5IGJlIGEgbnVtYmVyIG9mIGV4YW1wbGVzIG9uLWxpbmUsIEkKK3dpbGwganVzdCBsaXN0IG9uZSBmb3Igbm93LCBvdGhlcnMgcG9pbnRlcnMgd2VsY29tZTo8L3A+PHVsPgorICA8bGk+PGEgaHJlZj0iaHR0cDovL3d3dy54bWwxMDEuY29tOjgwODEvZHRkLyI+WE1MLTEwMSBEVEQ8L2E+PC9saT4KKzwvdWw+PHA+SSBzdWdnZXN0IGxvb2tpbmcgYXQgdGhlIGV4YW1wbGVzIGZvdW5kIHVuZGVyIHRlc3QvdmFsaWQvZHRkIGFuZCBhbnkgb2YKK3RoZSBsYXJnZSBudW1iZXIgb2YgYm9va3MgYXZhaWxhYmxlIG9uIFhNTC4gVGhlIGRpYSBleGFtcGxlIGluIHRlc3QvdmFsaWQKK3Nob3VsZCBiZSBib3RoIHNpbXBsZSBhbmQgY29tcGxldGUgZW5vdWdoIHRvIGFsbG93IHlvdSB0byBidWlsZCB5b3VyIG93bi48L3A+PHA+PC9wPjxwPjxhIGhyZWY9ImJ1Z3MuaHRtbCI+RGFuaWVsIFZlaWxsYXJkPC9hPjwvcD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MveG1saW8uaHRtbCBiL2xpYnhtbDIvZG9jL3htbGlvLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTFiYjY0NgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL3htbGlvLmh0bWwKQEAgLTAsMCArMSwxNDEgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+PGxpbmsgcmVsPSJTSE9SVENVVCBJQ09OIiBocmVmPSIvZmF2aWNvbi5pY28iIC8+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK1REIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitCT0RZIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2E7IG1hcmdpbi10b3A6IDJlbTsgbWFyZ2luLWxlZnQ6IDBlbTsgbWFyZ2luLXJpZ2h0OiAwZW19CitIMSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDIge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gzIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitBOmxpbmssIEE6dmlzaXRlZCwgQTphY3RpdmUgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB9Cis8L3N0eWxlPjx0aXRsZT5JL08gSW50ZXJmYWNlczwvdGl0bGU+PC9oZWFkPjxib2R5IGJnY29sb3I9IiM4Yjc3NjUiIHRleHQ9IiMwMDAwMDAiIGxpbms9IiNhMDYwNjAiIHZsaW5rPSIjMDAwMDAwIj48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iMTAwJSIgY2VsbHBhZGRpbmc9IjUiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIHdpZHRoPSIxMjAiPjxhIGhyZWY9Imh0dHA6Ly9zd3BhdC5mZmlpLm9yZy8iPjxpbWcgc3JjPSJlcGF0ZW50cy5wbmciIGFsdD0iQWN0aW9uIGFnYWluc3Qgc29mdHdhcmUgcGF0ZW50cyIgLz48L2E+PC90ZD48dGQgd2lkdGg9IjE4MCI+PGEgaHJlZj0iaHR0cDovL3d3dy5nbm9tZS5vcmcvIj48aW1nIHNyYz0iZ25vbWUyLnBuZyIgYWx0PSJHbm9tZTIgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvU3RhdHVzIj48aW1nIHNyYz0idzNjLnBuZyIgYWx0PSJXM0MgTG9nbyIgLz48L2E+PGEgaHJlZj0iaHR0cDovL3d3dy5yZWRoYXQuY29tLyI+PGltZyBzcmM9InJlZGhhdC5naWYiIGFsdD0iUmVkIEhhdCBMb2dvIiAvPjwvYT48ZGl2IGFsaWduPSJsZWZ0Ij48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvIj48aW1nIHNyYz0iTGlieG1sMi1Mb2dvLTE4MHgxNjguZ2lmIiBhbHQ9Ik1hZGUgd2l0aCBMaWJ4bWwyIExvZ28iIC8+PC9hPjwvZGl2PjwvdGQ+PHRkPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSI5MCUiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMCIgYWxpZ249ImNlbnRlciIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIiBiZ2NvbG9yPSIjZmZmYWNkIj48dHI+PHRkIGFsaWduPSJjZW50ZXIiPjxoMT5UaGUgWE1MIEMgcGFyc2VyIGFuZCB0b29sa2l0IG9mIEdub21lPC9oMT48aDI+SS9PIEludGVyZmFjZXM8L2gyPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI0IiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCB2YWxpZ249InRvcCIgd2lkdGg9IjIwMCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSIgYmdjb2xvcj0iIzAwMDAwMCI+PHRyPjx0ZD48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+RGV2ZWxvcGVyIE1lbnU8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PGZvcm0gYWN0aW9uPSJzZWFyY2gucGhwIiBlbmN0eXBlPSJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiIG1ldGhvZD0iZ2V0Ij48aW5wdXQgbmFtZT0icXVlcnkiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iIiAvPjxpbnB1dCBuYW1lPSJzdWJtaXQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNlYXJjaCAuLi4iIC8+PC9mb3JtPjx1bD48bGk+PGEgaHJlZj0iaW5kZXguaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPk1haW4gTWVudTwvYT48L2xpPjxsaT48YSBocmVmPSJodG1sL2luZGV4Lmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5SZWZlcmVuY2UgTWFudWFsPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImV4YW1wbGVzL2luZGV4Lmh0bWwiIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5Db2RlIEV4YW1wbGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imd1aWRlbGluZXMuaHRtbCI+WE1MIEd1aWRlbGluZXM8L2E+PC9saT48bGk+PGEgaHJlZj0idHV0b3JpYWwvaW5kZXguaHRtbCI+VHV0b3JpYWw8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1scmVhZGVyLmh0bWwiPlRoZSBSZWFkZXIgSW50ZXJmYWNlPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkNoYW5nZUxvZy5odG1sIj5DaGFuZ2VMb2c8L2E+PC9saT48bGk+PGEgaHJlZj0iWFNMVC5odG1sIj5YU0xUPC9hPjwvbGk+PGxpPjxhIGhyZWY9InB5dGhvbi5odG1sIj5QeXRob24gYW5kIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImFyY2hpdGVjdHVyZS5odG1sIj5saWJ4bWwyIGFyY2hpdGVjdHVyZTwvYT48L2xpPjxsaT48YSBocmVmPSJ0cmVlLmh0bWwiPlRoZSB0cmVlIG91dHB1dDwvYT48L2xpPjxsaT48YSBocmVmPSJpbnRlcmZhY2UuaHRtbCI+VGhlIFNBWCBpbnRlcmZhY2U8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1sbWVtLmh0bWwiPk1lbW9yeSBNYW5hZ2VtZW50PC9hPjwvbGk+PGxpPjxhIGhyZWY9InhtbGlvLmh0bWwiPkkvTyBJbnRlcmZhY2VzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImxpYnJhcnkuaHRtbCI+VGhlIHBhcnNlciBpbnRlcmZhY2VzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImVudGl0aWVzLmh0bWwiPkVudGl0aWVzIG9yIG5vIGVudGl0aWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Im5hbWVzcGFjZXMuaHRtbCI+TmFtZXNwYWNlczwvYT48L2xpPjxsaT48YSBocmVmPSJ1cGdyYWRlLmh0bWwiPlVwZ3JhZGluZyAxLnggY29kZTwvYT48L2xpPjxsaT48YSBocmVmPSJ0aHJlYWRzLmh0bWwiPlRocmVhZCBzYWZldHk8L2E+PC9saT48bGk+PGEgaHJlZj0iRE9NLmh0bWwiPkRPTSBQcmluY2lwbGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9ImV4YW1wbGUuaHRtbCI+QSByZWFsIGV4YW1wbGU8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1sLmh0bWwiPmZsYXQgcGFnZTwvYT4sIDxhIGhyZWY9InNpdGUueHNsIj5zdHlsZXNoZWV0PC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj48dHI+PHRkIGNvbHNwYW49IjEiIGJnY29sb3I9IiNlZWNmYTEiIGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+PGI+QVBJIEluZGV4ZXM8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSJBUEljaHVuazAuaHRtbCI+QWxwaGFiZXRpYzwvYT48L2xpPjxsaT48YSBocmVmPSJBUEljb25zdHJ1Y3RvcnMuaHRtbCI+Q29uc3RydWN0b3JzPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkFQSWZ1bmN0aW9ucy5odG1sIj5GdW5jdGlvbnMvVHlwZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iQVBJZmlsZXMuaHRtbCI+TW9kdWxlczwvYT48L2xpPjxsaT48YSBocmVmPSJBUElzeW1ib2xzLmh0bWwiPlN5bWJvbHM8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5SZWxhdGVkIGxpbmtzPC9iPjwvY2VudGVyPjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNmZmZhY2QiPjx1bD48bGk+PGEgaHJlZj0iaHR0cDovL21haWwuZ25vbWUub3JnL2FyY2hpdmVzL3htbC8iPk1haWwgYXJjaGl2ZTwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvWFNMVC8iPlhTTFQgbGlieHNsdDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vcGhkLmNzLnVuaWJvLml0L2dkb21lMi8iPkRPTSBnZG9tZTI8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5hbGVrc2V5LmNvbS94bWxzZWMvIj5YTUwtRFNpZyB4bWxzZWM8L2E+PC9saT48bGk+PGEgaHJlZj0iZnRwOi8veG1sc29mdC5vcmcvIj5GVFA8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56bGF0a292aWMuY29tL3Byb2plY3RzL2xpYnhtbC8iPldpbmRvd3MgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL29wZW5jc3cub3JnL3BhY2thZ2VzL2xpYnhtbDIiPlNvbGFyaXMgYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5leHBsYWluLmNvbS5hdS9vc3MvbGlieG1sMnhzbHQuaHRtbCI+TWFjT3NYIGJpbmFyaWVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9seG1sLmRlLyI+bHhtbCBQeXRob24gYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2NwYW4udXdpbm5pcGVnLmNhL2Rpc3QvWE1MLUxpYlhNTCI+UGVybCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbGlieG1scGx1c3BsdXMuc291cmNlZm9yZ2UubmV0LyI+QysrIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuemVuZC5jb20vcGhwNS9hcnRpY2xlcy9waHA1LXhtbHBocC5waHAjSGVhZGluZzQiPlBIUCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2xpYnhtbDItcGFzLyI+UGFzY2FsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWwucnVieWZvcmdlLm9yZy8iPlJ1YnkgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3RjbHhtbC5zb3VyY2Vmb3JnZS5uZXQvIj5UY2wgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9idWdsaXN0LmNnaT9wcm9kdWN0PWxpYnhtbDIiPkJ1ZyBUcmFja2VyPC9hPjwvbGk+PC91bD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzhiNzc2NSI+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZD48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIzIiBjZWxsc3BhY2luZz0iMSIgd2lkdGg9IjEwMCUiPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHA+VGFibGUgb2YgQ29udGVudDo8L3A+PG9sPgorICA8bGk+PGEgaHJlZj0iI0dlbmVyYWwxIj5HZW5lcmFsIG92ZXJ2aWV3PC9hPjwvbGk+CisgIDxsaT48YSBocmVmPSIjYmFzaWMiPlRoZSBiYXNpYyBidWZmZXIgdHlwZTwvYT48L2xpPgorICA8bGk+PGEgaHJlZj0iI0lucHV0Ij5JbnB1dCBJL08gaGFuZGxlcnM8L2E+PC9saT4KKyAgPGxpPjxhIGhyZWY9IiNPdXRwdXQiPk91dHB1dCBJL08gaGFuZGxlcnM8L2E+PC9saT4KKyAgPGxpPjxhIGhyZWY9IiNlbnRpdGllcyI+VGhlIGVudGl0aWVzIGxvYWRlcjwvYT48L2xpPgorICA8bGk+PGEgaHJlZj0iI0V4YW1wbGUyIj5FeGFtcGxlIG9mIGN1c3RvbWl6ZWQgSS9PPC9hPjwvbGk+Cis8L29sPjxoMz48YSBuYW1lPSJHZW5lcmFsMSIgaWQ9IkdlbmVyYWwxIj5HZW5lcmFsIG92ZXJ2aWV3PC9hPjwvaDM+PHA+VGhlIG1vZHVsZSA8Y29kZT48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvaHRtbC9saWJ4bWwteG1saW8uaHRtbCI+eG1sSU8uaDwvYT48L2NvZGU+IHByb3ZpZGVzCit0aGUgaW50ZXJmYWNlcyB0byB0aGUgbGlieG1sMiBJL08gc3lzdGVtLiBUaGlzIGNvbnNpc3RzIG9mIDQgbWFpbiBwYXJ0czo8L3A+PHVsPgorICA8bGk+RW50aXRpZXMgbG9hZGVyLCB0aGlzIGlzIGEgcm91dGluZSB3aGljaCB0cmllcyB0byBmZXRjaCB0aGUgZW50aXRpZXMKKyAgICAoZmlsZXMpIGJhc2VkIG9uIHRoZWlyIFBVQkxJQyBhbmQgU1lTVEVNIGlkZW50aWZpZXJzLiBUaGUgZGVmYXVsdCBsb2FkZXIKKyAgICBkb24ndCBsb29rIGF0IHRoZSBwdWJsaWMgaWRlbnRpZmllciBzaW5jZSBsaWJ4bWwyIGRvIG5vdCBtYWludGFpbiBhCisgICAgY2F0YWxvZy4gWW91IGNhbiByZWRlZmluZSB5b3Ugb3duIGVudGl0eSBsb2FkZXIgYnkgdXNpbmcKKyAgICA8Y29kZT54bWxHZXRFeHRlcm5hbEVudGl0eUxvYWRlcigpPC9jb2RlPiBhbmQKKyAgICA8Y29kZT54bWxTZXRFeHRlcm5hbEVudGl0eUxvYWRlcigpPC9jb2RlPi4gPGEgaHJlZj0iI2VudGl0aWVzIj5DaGVjayB0aGUKKyAgICBleGFtcGxlPC9hPi48L2xpPgorICA8bGk+SW5wdXQgSS9PIGJ1ZmZlcnMgd2hpY2ggYXJlIGEgY29tbW9kaXR5IHN0cnVjdHVyZSB1c2VkIGJ5IHRoZSBwYXJzZXIocykKKyAgICBpbnB1dCBsYXllciB0byBoYW5kbGUgZmV0Y2hpbmcgdGhlIGluZm9ybWF0aW9uIHRvIGZlZWQgdGhlIHBhcnNlci4gVGhpcworICAgIHByb3ZpZGVzIGJ1ZmZlcmluZyBhbmQgaXMgYWxzbyBhIHBsYWNlaG9sZGVyIHdoZXJlIHRoZSBlbmNvZGluZworICAgIGNvbnZlcnRlcnMgdG8gVVRGOCBhcmUgcGlnZ3ktYmFja2VkLjwvbGk+CisgIDxsaT5PdXRwdXQgSS9PIGJ1ZmZlcnMgYXJlIHNpbWlsYXIgdG8gdGhlIElucHV0IG9uZXMgYW5kIGZ1bGZpbGwgc2ltaWxhcgorICAgIHRhc2sgYnV0IHdoZW4gZ2VuZXJhdGluZyBhIHNlcmlhbGl6YXRpb24gZnJvbSBhIHRyZWUuPC9saT4KKyAgPGxpPkEgbWVjaGFuaXNtIHRvIHJlZ2lzdGVyIHNldHMgb2YgSS9PIGNhbGxiYWNrcyBhbmQgYXNzb2NpYXRlIHRoZW0gd2l0aAorICAgIHNwZWNpZmljIG5hbWluZyBzY2hlbWVzIGxpa2UgdGhlIHByb3RvY29sIHBhcnQgb2YgdGhlIFVSSXMuCisgICAgPHA+VGhpcyBhZmZlY3QgdGhlIGRlZmF1bHQgSS9PIG9wZXJhdGlvbnMgYW5kIGFsbG93cyB0byB1c2Ugc3BlY2lmaWMgSS9PCisgICAgaGFuZGxlcnMgZm9yIGNlcnRhaW4gbmFtZXMuPC9wPgorICA8L2xpPgorPC91bD48cD5UaGUgZ2VuZXJhbCBtZWNoYW5pc20gdXNlZCB3aGVuIGxvYWRpbmcgaHR0cDovL3JwbWZpbmQubmV0L3htbC5odG1sIGZvcgorZXhhbXBsZSBpbiB0aGUgSFRNTCBwYXJzZXIgaXMgdGhlIGZvbGxvd2luZzo8L3A+PG9sPgorICA8bGk+VGhlIGRlZmF1bHQgZW50aXR5IGxvYWRlciBjYWxscyA8Y29kZT54bWxOZXdJbnB1dEZyb21GaWxlKCk8L2NvZGU+IHdpdGgKKyAgICB0aGUgcGFyc2luZyBjb250ZXh0IGFuZCB0aGUgVVJJIHN0cmluZy48L2xpPgorICA8bGk+dGhlIFVSSSBzdHJpbmcgaXMgY2hlY2tlZCBhZ2FpbnN0IHRoZSBleGlzdGluZyByZWdpc3RlcmVkIGhhbmRsZXJzCisgICAgdXNpbmcgdGhlaXIgbWF0Y2goKSBjYWxsYmFjayBmdW5jdGlvbiwgaWYgdGhlIEhUVFAgbW9kdWxlIHdhcyBjb21waWxlZAorICAgIGluLCBpdCBpcyByZWdpc3RlcmVkIGFuZCBpdHMgbWF0Y2goKSBmdW5jdGlvbiB3aWxsIHN1Y2NlZWRzPC9saT4KKyAgPGxpPnRoZSBvcGVuKCkgZnVuY3Rpb24gb2YgdGhlIGhhbmRsZXIgaXMgY2FsbGVkIGFuZCBpZiBzdWNjZXNzZnVsIHdpbGwKKyAgICByZXR1cm4gYW4gSS9PIElucHV0IGJ1ZmZlcjwvbGk+CisgIDxsaT50aGUgcGFyc2VyIHdpbGwgdGhlIHN0YXJ0IHJlYWRpbmcgZnJvbSB0aGlzIGJ1ZmZlciBhbmQgcHJvZ3Jlc3NpdmVseQorICAgIGZldGNoIGluZm9ybWF0aW9uIGZyb20gdGhlIHJlc291cmNlLCBjYWxsaW5nIHRoZSByZWFkKCkgZnVuY3Rpb24gb2YgdGhlCisgICAgaGFuZGxlciB1bnRpbCB0aGUgcmVzb3VyY2UgaXMgZXhoYXVzdGVkPC9saT4KKyAgPGxpPmlmIGFuIGVuY29kaW5nIGNoYW5nZSBpcyBkZXRlY3RlZCBpdCB3aWxsIGJlIGluc3RhbGxlZCBvbiB0aGUgaW5wdXQKKyAgICBidWZmZXIsIHByb3ZpZGluZyBidWZmZXJpbmcgYW5kIGVmZmljaWVudCB1c2Ugb2YgdGhlIGNvbnZlcnNpb24KKyAgcm91dGluZXM8L2xpPgorICA8bGk+b25jZSB0aGUgcGFyc2VyIGhhcyBmaW5pc2hlZCwgdGhlIGNsb3NlKCkgZnVuY3Rpb24gb2YgdGhlIGhhbmRsZXIgaXMKKyAgICBjYWxsZWQgb25jZSBhbmQgdGhlIElucHV0IGJ1ZmZlciBhbmQgYXNzb2NpYXRlZCByZXNvdXJjZXMgYXJlCisgIGRlYWxsb2NhdGVkLjwvbGk+Cis8L29sPjxwPlRoZSB1c2VyIGRlZmluZWQgY2FsbGJhY2tzIGFyZSBjaGVja2VkIGZpcnN0IHRvIGFsbG93IG92ZXJyaWRpbmcgb2YgdGhlCitkZWZhdWx0IGxpYnhtbDIgSS9PIHJvdXRpbmVzLjwvcD48aDM+PGEgbmFtZT0iYmFzaWMiIGlkPSJiYXNpYyI+VGhlIGJhc2ljIGJ1ZmZlciB0eXBlPC9hPjwvaDM+PHA+QWxsIHRoZSBidWZmZXIgbWFuaXB1bGF0aW9uIGhhbmRsaW5nIGlzIGRvbmUgdXNpbmcgdGhlCis8Y29kZT54bWxCdWZmZXI8L2NvZGU+IHR5cGUgZGVmaW5lIGluIDxjb2RlPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9odG1sL2xpYnhtbC10cmVlLmh0bWwiPnRyZWUuaDwvYT4gPC9jb2RlPndoaWNoIGlzIGEKK3Jlc2l6YWJsZSBtZW1vcnkgYnVmZmVyLiBUaGUgYnVmZmVyIGFsbG9jYXRpb24gc3RyYXRlZ3kgY2FuIGJlIHNlbGVjdGVkIHRvIGJlCitlaXRoZXIgYmVzdC1maXQgb3IgdXNlIGFuIGV4cG9uZW50aWFsIGRvdWJsaW5nIG9uZSAoQ1BVIHZzLiBtZW1vcnkgdXNlCit0cmFkZS1vZmYpLiBUaGUgdmFsdWVzIGFyZSA8Y29kZT5YTUxfQlVGRkVSX0FMTE9DX0VYQUNUPC9jb2RlPiBhbmQKKzxjb2RlPlhNTF9CVUZGRVJfQUxMT0NfRE9VQkxFSVQ8L2NvZGU+LCBhbmQgY2FuIGJlIHNldCBpbmRpdmlkdWFsbHkgb3Igb24gYQorc3lzdGVtIHdpZGUgYmFzaXMgdXNpbmcgPGNvZGU+eG1sQnVmZmVyU2V0QWxsb2NhdGlvblNjaGVtZSgpPC9jb2RlPi4gQSBudW1iZXIKK29mIGZ1bmN0aW9ucyBhbGxvd3MgdG8gbWFuaXB1bGF0ZSBidWZmZXJzIHdpdGggbmFtZXMgc3RhcnRpbmcgd2l0aCB0aGUKKzxjb2RlPnhtbEJ1ZmZlci4uLjwvY29kZT4gcHJlZml4LjwvcD48aDM+PGEgbmFtZT0iSW5wdXQiIGlkPSJJbnB1dCI+SW5wdXQgSS9PIGhhbmRsZXJzPC9hPjwvaDM+PHA+QW4gSW5wdXQgSS9PIGhhbmRsZXIgaXMgYSBzaW1wbGUgc3RydWN0dXJlCis8Y29kZT54bWxQYXJzZXJJbnB1dEJ1ZmZlcjwvY29kZT4gY29udGFpbmluZyBhIGNvbnRleHQgYXNzb2NpYXRlZCB0byB0aGUKK3Jlc291cmNlIChmaWxlIGRlc2NyaXB0b3IsIG9yIHBvaW50ZXIgdG8gYSBwcm90b2NvbCBoYW5kbGVyKSwgdGhlIHJlYWQoKSBhbmQKK2Nsb3NlKCkgY2FsbGJhY2tzIHRvIHVzZSBhbmQgYW4geG1sQnVmZmVyLiBBbmQgZXh0cmEgeG1sQnVmZmVyIGFuZCBhIGNoYXJzZXQKK2VuY29kaW5nIGhhbmRsZXIgYXJlIGFsc28gcHJlc2VudCB0byBzdXBwb3J0IGNoYXJzZXQgY29udmVyc2lvbiB3aGVuCituZWVkZWQuPC9wPjxoMz48YSBuYW1lPSJPdXRwdXQiIGlkPSJPdXRwdXQiPk91dHB1dCBJL08gaGFuZGxlcnM8L2E+PC9oMz48cD5BbiBPdXRwdXQgaGFuZGxlciA8Y29kZT54bWxPdXRwdXRCdWZmZXI8L2NvZGU+IGlzIGNvbXBsZXRlbHkgc2ltaWxhciB0byBhbgorSW5wdXQgb25lIGV4Y2VwdCB0aGUgY2FsbGJhY2tzIGFyZSB3cml0ZSgpIGFuZCBjbG9zZSgpLjwvcD48aDM+PGEgbmFtZT0iZW50aXRpZXMiIGlkPSJlbnRpdGllcyI+VGhlIGVudGl0aWVzIGxvYWRlcjwvYT48L2gzPjxwPlRoZSBlbnRpdHkgbG9hZGVyIHJlc29sdmVzIHJlcXVlc3RzIGZvciBuZXcgZW50aXRpZXMgYW5kIGNyZWF0ZSBpbnB1dHMgZm9yCit0aGUgcGFyc2VyLiBDcmVhdGluZyBhbiBpbnB1dCBmcm9tIGEgZmlsZW5hbWUgb3IgYW4gVVJJIHN0cmluZyBpcyBkb25lCit0aHJvdWdoIHRoZSB4bWxOZXdJbnB1dEZyb21GaWxlKCkgcm91dGluZS4gIFRoZSBkZWZhdWx0IGVudGl0eSBsb2FkZXIgZG8gbm90CitoYW5kbGUgdGhlIFBVQkxJQyBpZGVudGlmaWVyIGFzc29jaWF0ZWQgd2l0aCBhbiBlbnRpdHkgKGlmIGFueSkuIFNvIGl0IGp1c3QKK2NhbGxzIHhtbE5ld0lucHV0RnJvbUZpbGUoKSB3aXRoIHRoZSBTWVNURU0gaWRlbnRpZmllciAod2hpY2ggaXMgbWFuZGF0b3J5IGluCitYTUwpLjwvcD48cD5JZiB5b3Ugd2FudCB0byBob29rIHVwIGEgY2F0YWxvZyBtZWNoYW5pc20gdGhlbiB5b3Ugc2ltcGx5IG5lZWQgdG8KK292ZXJyaWRlIHRoZSBkZWZhdWx0IGVudGl0eSBsb2FkZXIsIGhlcmUgaXMgYW4gZXhhbXBsZTo8L3A+PHByZT4jaW5jbHVkZSAmbHQ7bGlieG1sL3htbElPLmgmZ3Q7CisKK3htbEV4dGVybmFsRW50aXR5TG9hZGVyIGRlZmF1bHRMb2FkZXIgPSBOVUxMOworCit4bWxQYXJzZXJJbnB1dFB0cgoreG1sTXlFeHRlcm5hbEVudGl0eUxvYWRlcihjb25zdCBjaGFyICpVUkwsIGNvbnN0IGNoYXIgKklELAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFBhcnNlckN0eHRQdHIgY3R4dCkgeworICAgIHhtbFBhcnNlcklucHV0UHRyIHJldDsKKyAgICBjb25zdCBjaGFyICpmaWxlSUQgPSBOVUxMOworICAgIC8qIGxvb2t1cCBmb3IgdGhlIGZpbGVJRCBkZXBlbmRpbmcgb24gSUQgKi8KKworICAgIHJldCA9IHhtbE5ld0lucHV0RnJvbUZpbGUoY3R4dCwgZmlsZUlEKTsKKyAgICBpZiAocmV0ICE9IE5VTEwpCisgICAgICAgIHJldHVybihyZXQpOworICAgIGlmIChkZWZhdWx0TG9hZGVyICE9IE5VTEwpCisgICAgICAgIHJldCA9IGRlZmF1bHRMb2FkZXIoVVJMLCBJRCwgY3R4dCk7CisgICAgcmV0dXJuKHJldCk7Cit9CisKK2ludCBtYWluKC4uKSB7CisgICAgLi4uCisKKyAgICAvKgorICAgICAqIEluc3RhbGwgb3VyIG93biBlbnRpdHkgbG9hZGVyCisgICAgICovCisgICAgZGVmYXVsdExvYWRlciA9IHhtbEdldEV4dGVybmFsRW50aXR5TG9hZGVyKCk7CisgICAgeG1sU2V0RXh0ZXJuYWxFbnRpdHlMb2FkZXIoeG1sTXlFeHRlcm5hbEVudGl0eUxvYWRlcik7CisKKyAgICAuLi4KK308L3ByZT48aDM+PGEgbmFtZT0iRXhhbXBsZTIiIGlkPSJFeGFtcGxlMiI+RXhhbXBsZSBvZiBjdXN0b21pemVkIEkvTzwvYT48L2gzPjxwPlRoaXMgZXhhbXBsZSBjb21lIGZyb20gPGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnL21lc3NhZ2VzLzA3MDguaHRtbCI+YQorcmVhbCB1c2UgY2FzZTwvYT4sICB4bWxEb2NEdW1wKCkgY2xvc2VzIHRoZSBGSUxFICogcGFzc2VkIGJ5IHRoZSBhcHBsaWNhdGlvbgorYW5kIHRoaXMgd2FzIGEgcHJvYmxlbS4gVGhlIDxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9tZXNzYWdlcy8wNzExLmh0bWwiPnNvbHV0aW9uPC9hPiB3YXMgdG8gcmVkZWZpbmUgYQorbmV3IG91dHB1dCBoYW5kbGVyIHdpdGggdGhlIGNsb3NpbmcgY2FsbCBkZWFjdGl2YXRlZDo8L3A+PG9sPgorICA8bGk+Rmlyc3QgZGVmaW5lIGEgbmV3IEkvTyBvdXRwdXQgYWxsb2NhdG9yIHdoZXJlIHRoZSBvdXRwdXQgZG9uJ3QgY2xvc2UKKyAgICB0aGUgZmlsZToKKyAgICA8cHJlPnhtbE91dHB1dEJ1ZmZlclB0cgoreG1sT3V0cHV0QnVmZmVyQ3JlYXRlT3duKEZJTEUgKmZpbGUsIHhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIgZW5jb2RlcikgeworwqDCoMKgwqB4bWxPdXRwdXRCdWZmZXJQdHIgcmV0OworwqDCoMKgwqAKK8KgwqDCoMKgaWYgKHhtbE91dHB1dENhbGxiYWNrSW5pdGlhbGl6ZWQgPT0gMCkKK8KgwqDCoMKgwqDCoMKgwqB4bWxSZWdpc3RlckRlZmF1bHRPdXRwdXRDYWxsYmFja3MoKTsKKworwqDCoMKgwqBpZiAoZmlsZSA9PSBOVUxMKSByZXR1cm4oTlVMTCk7CivCoMKgwqDCoHJldCA9IHhtbEFsbG9jT3V0cHV0QnVmZmVyKGVuY29kZXIpOworwqDCoMKgwqBpZiAocmV0ICE9IE5VTEwpIHsKK8KgwqDCoMKgwqDCoMKgwqByZXQtJmd0O2NvbnRleHQgPSBmaWxlOworwqDCoMKgwqDCoMKgwqDCoHJldC0mZ3Q7d3JpdGVjYWxsYmFjayA9IHhtbEZpbGVXcml0ZTsKK8KgwqDCoMKgwqDCoMKgwqByZXQtJmd0O2Nsb3NlY2FsbGJhY2sgPSBOVUxMOyAgLyogTm8gY2xvc2UgY2FsbGJhY2sgKi8KK8KgwqDCoMKgfQorwqDCoMKgwqByZXR1cm4ocmV0KTsKK30gPC9wcmU+CisgIDwvbGk+CisgIDxsaT5BbmQgdGhlbiB1c2UgaXQgdG8gc2F2ZSB0aGUgZG9jdW1lbnQ6CisgICAgPHByZT5GSUxFICpmOworeG1sT3V0cHV0QnVmZmVyUHRyIG91dHB1dDsKK3htbERvY1B0ciBkb2M7CitpbnQgcmVzOworCitmID0gLi4uCitkb2MgPSAuLi4uCisKK291dHB1dCA9IHhtbE91dHB1dEJ1ZmZlckNyZWF0ZU93bihmLCBOVUxMKTsKK3JlcyA9IHhtbFNhdmVGaWxlVG8ob3V0cHV0LCBkb2MsIE5VTEwpOworICAgIDwvcHJlPgorICA8L2xpPgorPC9vbD48cD48YSBocmVmPSJidWdzLmh0bWwiPkRhbmllbCBWZWlsbGFyZDwvYT48L3A+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL3htbGxpbnQuMSBiL2xpYnhtbDIvZG9jL3htbGxpbnQuMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NDBhMTE0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MveG1sbGludC4xCkBAIC0wLDAgKzEsNjQ3IEBACisnXCIgdAorLlwiICAgICBUaXRsZTogeG1sbGludAorLlwiICAgIEF1dGhvcjogSm9obiBGbGVjayA8amZsZWNrQGlua3N0YWluLm5ldD4KKy5cIiBHZW5lcmF0b3I6IERvY0Jvb2sgWFNMIFN0eWxlc2hlZXRzIHYxLjc4LjEgPGh0dHA6Ly9kb2Nib29rLnNmLm5ldC8+CisuXCIgICAgICBEYXRlOiAkRGF0ZSQKKy5cIiAgICBNYW51YWw6IHhtbGxpbnQgTWFudWFsCisuXCIgICAgU291cmNlOiBsaWJ4bWwyCisuXCIgIExhbmd1YWdlOiBFbmdsaXNoCisuXCIKKy5USCAiWE1MTElOVCIgIjEiICIkRGF0ZSQiICJsaWJ4bWwyIiAieG1sbGludCBNYW51YWwiCisuXCIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy5cIiAqIERlZmluZSBzb21lIHBvcnRhYmlsaXR5IHN0dWZmCisuXCIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy5cIiB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorLlwiIGh0dHA6Ly9idWdzLmRlYmlhbi5vcmcvNTA3NjczCisuXCIgaHR0cDovL2xpc3RzLmdudS5vcmcvYXJjaGl2ZS9odG1sL2dyb2ZmLzIwMDktMDIvbXNnMDAwMTMuaHRtbAorLlwiIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisuaWUgXG4oLmcgLmRzIEFxIFwoYXEKKy5lbCAgICAgICAuZHMgQXEgJworLlwiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisuXCIgKiBzZXQgZGVmYXVsdCBmb3JtYXR0aW5nCisuXCIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy5cIiBkaXNhYmxlIGh5cGhlbmF0aW9uCisubmgKKy5cIiBkaXNhYmxlIGp1c3RpZmljYXRpb24gKGFkanVzdCB0ZXh0IHRvIGxlZnQgbWFyZ2luIG9ubHkpCisuYWQgbAorLlwiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisuXCIgKiBNQUlOIENPTlRFTlQgU1RBUlRTIEhFUkUgKgorLlwiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisuU0ggIk5BTUUiCit4bWxsaW50IFwtIGNvbW1hbmQgbGluZSBYTUwgdG9vbAorLlNIICJTWU5PUFNJUyIKKy5IUCBcdydcZkJ4bWxsaW50XGZSXCAndQorXGZCeG1sbGludFxmUiBbXGZCXC1cLXZlcnNpb25cZlIgfCBcZkJcLVwtZGVidWdcZlIgfCBcZkJcLVwtc2hlbGxcZlIgfCBcZkJcLVwteHBhdGhcICJcZlJcZkJcZklYUGF0aF9leHByZXNzaW9uXGZSXGZSXGZCIlxmUiB8IFxmQlwtXC1kZWJ1Z2VudFxmUiB8IFxmQlwtXC1jb3B5XGZSIHwgXGZCXC1cLXJlY292ZXJcZlIgfCBcZkJcLVwtbm9lbnRcZlIgfCBcZkJcLVwtbm9vdXRcZlIgfCBcZkJcLVwtbm9uZXRcZlIgfCBcZkJcLVwtcGF0aFwgIlxmUlxmQlxmSVBBVEgoUylcZlJcZlJcZkIiXGZSIHwgXGZCXC1cLWxvYWRcLXRyYWNlXGZSIHwgXGZCXC1cLWh0bWxvdXRcZlIgfCBcZkJcLVwtbm93cmFwXGZSIHwgXGZCXC1cLXZhbGlkXGZSIHwgXGZCXC1cLXBvc3R2YWxpZFxmUiB8IFxmQlwtXC1kdGR2YWxpZFwgXGZSXGZCXGZJVVJMXGZSXGZSIHwgXGZCXC1cLWR0ZHZhbGlkZnBpXCBcZlJcZkJcZklGUElcZlJcZlIgfCBcZkJcLVwtdGltaW5nXGZSIHwgXGZCXC1cLW91dHB1dFwgXGZSXGZCXGZJRklMRVxmUlxmUiB8IFxmQlwtXC1yZXBlYXRcZlIgfCBcZkJcLVwtaW5zZXJ0XGZSIHwgXGZCXC1cLWNvbXByZXNzXGZSIHwgXGZCXC1cLWh0bWxcZlIgfCBcZkJcLVwteG1sb3V0XGZSIHwgXGZCXC1cLXB1c2hcZlIgfCBcZkJcLVwtbWVtb3J5XGZSIHwgXGZCXC1cLW1heG1lbVwgXGZSXGZCXGZJTkJCWVRFU1xmUlxmUiB8IFxmQlwtXC1ub3dhcm5pbmdcZlIgfCBcZkJcLVwtbm9ibGFua3NcZlIgfCBcZkJcLVwtbm9jZGF0YVxmUiB8IFxmQlwtXC1mb3JtYXRcZlIgfCBcZkJcLVwtZW5jb2RlXCBcZlJcZkJcZklFTkNPRElOR1xmUlxmUiB8IFxmQlwtXC1kcm9wZHRkXGZSIHwgXGZCXC1cLW5zY2xlYW5cZlIgfCBcZkJcLVwtdGVzdElPXGZSIHwgXGZCXC1cLWNhdGFsb2dzXGZSIHwgXGZCXC1cLW5vY2F0YWxvZ3NcZlIgfCBcZkJcLVwtYXV0b1xmUiB8IFxmQlwtXC14aW5jbHVkZVxmUiB8IFxmQlwtXC1ub3hpbmNsdWRlbm9kZVxmUiB8IFxmQlwtXC1sb2FkZHRkXGZSIHwgXGZCXC1cLWR0ZGF0dHJcZlIgfCBcZkJcLVwtc3RyZWFtXGZSIHwgXGZCXC1cLXdhbGtlclxmUiB8IFxmQlwtXC1wYXR0ZXJuXCBcZlJcZkJcZklQQVRURVJOVkFMVUVcZlJcZlIgfCBcZkJcLVwtY2hrcmVnaXN0ZXJcZlIgfCBcZkJcLVwtcmVsYXhuZ1wgXGZSXGZCXGZJU0NIRU1BXGZSXGZSIHwgXGZCXC1cLXNjaGVtYVwgXGZSXGZCXGZJU0NIRU1BXGZSXGZSIHwgXGZCXC1cLWMxNG5cZlJdIHtcZklYTUxcLUZJTEUoUylcZlIuLi4gfCBcLX0KKy5IUCBcdydcZkJ4bWxsaW50XGZSXCAndQorXGZCeG1sbGludFxmUiBcZkJcLVwtaGVscFxmUgorLlNIICJERVNDUklQVElPTiIKKy5QUAorVGhlCitcZkJ4bWxsaW50XGZSCitwcm9ncmFtIHBhcnNlcyBvbmUgb3IgbW9yZQorWE1MCitmaWxlcywgc3BlY2lmaWVkIG9uIHRoZSBjb21tYW5kIGxpbmUgYXMKK1xmSVhNTFwtRklMRVxmUgorKG9yIHRoZSBzdGFuZGFyZCBpbnB1dCBpZiB0aGUgZmlsZW5hbWUgcHJvdmlkZWQgaXMKK1xmQlwtXGZSCispXCYuIEl0IHByaW50cyB2YXJpb3VzIHR5cGVzIG9mIG91dHB1dCwgZGVwZW5kaW5nIHVwb24gdGhlIG9wdGlvbnMgc2VsZWN0ZWRcJi4gSXQgaXMgdXNlZnVsIGZvciBkZXRlY3RpbmcgZXJyb3JzIGJvdGggaW4KK1hNTAorY29kZSBhbmQgaW4gdGhlCitYTUwKK3BhcnNlciBpdHNlbGZcJi4KKy5QUAorXGZCeG1sbGludFxmUgoraXMgaW5jbHVkZWQgaW4KK1xmQmxpYnhtbFxmUigzKVwmLgorLlNIICJPUFRJT05TIgorLlBQCitcZkJ4bWxsaW50XGZSCithY2NlcHRzIHRoZSBmb2xsb3dpbmcgb3B0aW9ucyAoaW4gYWxwaGFiZXRpY2FsIG9yZGVyKToKKy5QUAorXGZCXC1cLWF1dG9cZlIKKy5SUyA0CitHZW5lcmF0ZSBhIHNtYWxsIGRvY3VtZW50IGZvciB0ZXN0aW5nIHB1cnBvc2VzXCYuCisuUkUKKy5QUAorXGZCXC1cLWNhdGFsb2dzXGZSCisuUlMgNAorVXNlIHRoZQorU0dNTAorY2F0YWxvZyhzKSBmcm9tCitcZkJTR01MX0NBVEFMT0dfRklMRVNcZlJcJi4gT3RoZXJ3aXNlCitYTUwKK2NhdGFsb2dzIHN0YXJ0aW5nIGZyb20KKy9ldGMveG1sL2NhdGFsb2cKK2FyZSB1c2VkIGJ5IGRlZmF1bHRcJi4KKy5SRQorLlBQCitcZkJcLVwtY2hrcmVnaXN0ZXJcZlIKKy5SUyA0CitUdXJuIG9uIG5vZGUgcmVnaXN0cmF0aW9uXCYuIFVzZWZ1bCBmb3IgZGV2ZWxvcGVycyB0ZXN0aW5nCitcZkJsaWJ4bWxcZlIoMykKK25vZGUgdHJhY2tpbmcgY29kZVwmLgorLlJFCisuUFAKK1xmQlwtXC1jb21wcmVzc1xmUgorLlJTIDQKK1R1cm4gb24KK1xmQmd6aXBcZlIoMSkKK2NvbXByZXNzaW9uIG9mIG91dHB1dFwmLgorLlJFCisuUFAKK1xmQlwtXC1jb3B5XGZSCisuUlMgNAorVGVzdCB0aGUgaW50ZXJuYWwgY29weSBpbXBsZW1lbnRhdGlvblwmLgorLlJFCisuUFAKK1xmQlwtXC1jMTRuXGZSCisuUlMgNAorVXNlIHRoZSBXM0MKK1hNTAorQ2Fub25pY2FsaXNhdGlvbiAoQzE0TikgdG8gc2VyaWFsaXplIHRoZSByZXN1bHQgb2YgcGFyc2luZyB0bworc3Rkb3V0XCYuIEl0IGtlZXBzIGNvbW1lbnRzIGluIHRoZSByZXN1bHRcJi4KKy5SRQorLlBQCitcZkJcLVwtZHRkdmFsaWQgXGZSXGZCXGZJVVJMXGZSXGZSCisuUlMgNAorVXNlIHRoZQorRFRECitzcGVjaWZpZWQgYnkgYW4KK1xmSVVSTFxmUgorZm9yIHZhbGlkYXRpb25cJi4KKy5SRQorLlBQCitcZkJcLVwtZHRkdmFsaWRmcGkgXGZSXGZCXGZJRlBJXGZSXGZSCisuUlMgNAorVXNlIHRoZQorRFRECitzcGVjaWZpZWQgYnkgYSBGb3JtYWwgUHVibGljIElkZW50aWZpZXIKK1xmSUZQSVxmUgorZm9yIHZhbGlkYXRpb24sIG5vdGUgdGhhdCB0aGlzIHdpbGwgcmVxdWlyZSBhIGNhdGFsb2cgZXhwb3J0aW5nIHRoYXQgRm9ybWFsIFB1YmxpYyBJZGVudGlmaWVyIHRvIHdvcmtcJi4KKy5SRQorLlBQCitcZkJcLVwtZGVidWdcZlIKKy5SUyA0CitQYXJzZSBhIGZpbGUgYW5kIG91dHB1dCBhbiBhbm5vdGF0ZWQgdHJlZSBvZiB0aGUgaW5cLW1lbW9yeSB2ZXJzaW9uIG9mIHRoZSBkb2N1bWVudFwmLgorLlJFCisuUFAKK1xmQlwtXC1kZWJ1Z2VudFxmUgorLlJTIDQKK0RlYnVnIHRoZSBlbnRpdGllcyBkZWZpbmVkIGluIHRoZSBkb2N1bWVudFwmLgorLlJFCisuUFAKK1xmQlwtXC1kcm9wZHRkXGZSCisuUlMgNAorUmVtb3ZlCitEVEQKK2Zyb20gb3V0cHV0XCYuCisuUkUKKy5QUAorXGZCXC1cLWR0ZGF0dHJcZlIKKy5SUyA0CitGZXRjaCBleHRlcm5hbAorRFRECithbmQgcG9wdWxhdGUgdGhlIHRyZWUgd2l0aCBpbmhlcml0ZWQgYXR0cmlidXRlc1wmLgorLlJFCisuUFAKK1xmQlwtXC1lbmNvZGUgXGZSXGZCXGZJRU5DT0RJTkdcZlJcZlIKKy5SUyA0CitPdXRwdXQgaW4gdGhlIGdpdmVuIGVuY29kaW5nXCYuIE5vdGUgdGhhdCB0aGlzIHdvcmtzIGZvciBmdWxsIGRvY3VtZW50IG5vdCBmcmFnbWVudHMgb3IgcmVzdWx0IGZyb20gWFBhdGggcXVlcmllc1wmLgorLlJFCisuUFAKK1xmQlwtXC1mb3JtYXRcZlIKKy5SUyA0CitSZWZvcm1hdCBhbmQgcmVpbmRlbnQgdGhlIG91dHB1dFwmLiBUaGUKK1xmQlhNTExJTlRfSU5ERU5UXGZSCitlbnZpcm9ubWVudCB2YXJpYWJsZSBjb250cm9scyB0aGUgaW5kZW50YXRpb25cJi4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgdHdvIHNwYWNlcyAiICIpXCYuCisuUkUKKy5QUAorXGZCXC1cLWhlbHBcZlIKKy5SUyA0CitQcmludCBvdXQgYSBzaG9ydCB1c2FnZSBzdW1tYXJ5IGZvcgorXGZCeG1sbGludFxmUlwmLgorLlJFCisuUFAKK1xmQlwtXC1odG1sXGZSCisuUlMgNAorVXNlIHRoZQorSFRNTAorcGFyc2VyXCYuCisuUkUKKy5QUAorXGZCXC1cLWh0bWxvdXRcZlIKKy5SUyA0CitPdXRwdXQgcmVzdWx0cyBhcyBhbgorSFRNTAorZmlsZVwmLiBUaGlzIGNhdXNlcworXGZCeG1sbGludFxmUgordG8gb3V0cHV0IHRoZSBuZWNlc3NhcnkKK0hUTUwKK3RhZ3Mgc3Vycm91bmRpbmcgdGhlIHJlc3VsdCB0cmVlIG91dHB1dCBzbyB0aGUgcmVzdWx0cyBjYW4gYmUgZGlzcGxheWVkL3ZpZXdlZCBpbiBhIGJyb3dzZXJcJi4KKy5SRQorLlBQCitcZkJcLVwtaW5zZXJ0XGZSCisuUlMgNAorVGVzdCBmb3IgdmFsaWQgaW5zZXJ0aW9uc1wmLgorLlJFCisuUFAKK1xmQlwtXC1sb2FkZHRkXGZSCisuUlMgNAorRmV0Y2ggYW4gZXh0ZXJuYWwKK0RURFwmLgorLlJFCisuUFAKK1xmQlwtXC1sb2FkXC10cmFjZVxmUgorLlJTIDQKK0Rpc3BsYXkgYWxsIHRoZSBkb2N1bWVudHMgbG9hZGVkIGR1cmluZyB0aGUgcHJvY2Vzc2luZyB0bworc3RkZXJyXCYuCisuUkUKKy5QUAorXGZCXC1cLW1heG1lbSBcZlJcZkJcZklOTkJZVEVTXGZSXGZSCisuUlMgNAorVGVzdCB0aGUgcGFyc2VyIG1lbW9yeSBzdXBwb3J0XCYuCitcZklOTkJZVEVTXGZSCitpcyB0aGUgbWF4aW11bSBudW1iZXIgb2YgYnl0ZXMgdGhlIGxpYnJhcnkgaXMgYWxsb3dlZCB0byBhbGxvY2F0ZVwmLiBUaGlzIGNhbiBhbHNvIGJlIHVzZWQgdG8gbWFrZSBzdXJlIGJhdGNoIHByb2Nlc3Npbmcgb2YKK1hNTAorZmlsZXMgd2lsbCBub3QgZXhoYXVzdCB0aGUgdmlydHVhbCBtZW1vcnkgb2YgdGhlIHNlcnZlciBydW5uaW5nIHRoZW1cJi4KKy5SRQorLlBQCitcZkJcLVwtbWVtb3J5XGZSCisuUlMgNAorUGFyc2UgZnJvbSBtZW1vcnlcJi4KKy5SRQorLlBQCitcZkJcLVwtbm9ibGFua3NcZlIKKy5SUyA0CitEcm9wIGlnbm9yYWJsZSBibGFuayBzcGFjZXNcJi4KKy5SRQorLlBQCitcZkJcLVwtbm9jYXRhbG9nc1xmUgorLlJTIDQKK0RvIG5vdCB1c2UgYW55IGNhdGFsb2dzXCYuCisuUkUKKy5QUAorXGZCXC1cLW5vY2RhdGFcZlIKKy5SUyA0CitTdWJzdGl0dXRlIENEQVRBIHNlY3Rpb24gYnkgZXF1aXZhbGVudCB0ZXh0IG5vZGVzXCYuCisuUkUKKy5QUAorXGZCXC1cLW5vZW50XGZSCisuUlMgNAorU3Vic3RpdHV0ZSBlbnRpdHkgdmFsdWVzIGZvciBlbnRpdHkgcmVmZXJlbmNlc1wmLiBCeSBkZWZhdWx0LAorXGZCeG1sbGludFxmUgorbGVhdmVzIGVudGl0eSByZWZlcmVuY2VzIGluIHBsYWNlXCYuCisuUkUKKy5QUAorXGZCXC1cLW5vbmV0XGZSCisuUlMgNAorRG8gbm90IHVzZSB0aGUgSW50ZXJuZXQgdG8gZmV0Y2gKK0RURHMgb3IgZW50aXRpZXNcJi4KKy5SRQorLlBQCitcZkJcLVwtbm9vdXRcZlIKKy5SUyA0CitTdXBwcmVzcyBvdXRwdXRcJi4gQnkgZGVmYXVsdCwKK1xmQnhtbGxpbnRcZlIKK291dHB1dHMgdGhlIHJlc3VsdCB0cmVlXCYuCisuUkUKKy5QUAorXGZCXC1cLW5vd2FybmluZ1xmUgorLlJTIDQKK0RvIG5vdCBlbWl0IHdhcm5pbmdzIGZyb20gdGhlIHBhcnNlciBhbmQvb3IgdmFsaWRhdG9yXCYuCisuUkUKKy5QUAorXGZCXC1cLW5vd3JhcFxmUgorLlJTIDQKK0RvIG5vdCBvdXRwdXQKK0hUTUwKK2RvYyB3cmFwcGVyXCYuCisuUkUKKy5QUAorXGZCXC1cLW5veGluY2x1ZGVub2RlXGZSCisuUlMgNAorRG8gWEluY2x1ZGUgcHJvY2Vzc2luZyBidXQgZG8gbm90IGdlbmVyYXRlIFhJbmNsdWRlIHN0YXJ0IGFuZCBlbmQgbm9kZXNcJi4KKy5SRQorLlBQCitcZkJcLVwtbnNjbGVhblxmUgorLlJTIDQKK1JlbW92ZSByZWR1bmRhbnQgbmFtZXNwYWNlIGRlY2xhcmF0aW9uc1wmLgorLlJFCisuUFAKK1xmQlwtXC1vdXRwdXQgXGZSXGZCXGZJRklMRVxmUlxmUgorLlJTIDQKK0RlZmluZSBhIGZpbGUgcGF0aCB3aGVyZQorXGZCeG1sbGludFxmUgord2lsbCBzYXZlIHRoZSByZXN1bHQgb2YgcGFyc2luZ1wmLiBVc3VhbGx5IHRoZSBwcm9ncmFtcyBidWlsZCBhIHRyZWUgYW5kIHNhdmUgaXQgb24KK3N0ZG91dCwgd2l0aCB0aGlzIG9wdGlvbiB0aGUgcmVzdWx0CitYTUwKK2luc3RhbmNlIHdpbGwgYmUgc2F2ZWQgb250byBhIGZpbGVcJi4KKy5SRQorLlBQCitcZkJcLVwtcGF0aCAiXGZSXGZCXGZJUEFUSChTKVxmUlxmUlxmQiJcZlIKKy5SUyA0CitVc2UgdGhlIChzcGFjZVwtIG9yIGNvbG9uXC1zZXBhcmF0ZWQpIGxpc3Qgb2YgZmlsZXN5c3RlbSBwYXRocyBzcGVjaWZpZWQgYnkKK1xmSVBBVEhTXGZSCit0byBsb2FkCitEVERzIG9yIGVudGl0aWVzXCYuIEVuY2xvc2Ugc3BhY2VcLXNlcGFyYXRlZCBsaXN0cyBieSBxdW90YXRpb24gbWFya3NcJi4KKy5SRQorLlBQCitcZkJcLVwtcGF0dGVybiBcZlJcZkJcZklQQVRURVJOVkFMVUVcZlJcZlIKKy5SUyA0CitVc2VkIHRvIGV4ZXJjaXNlIHRoZSBwYXR0ZXJuIHJlY29nbml0aW9uIGVuZ2luZSwgd2hpY2ggY2FuIGJlIHVzZWQgd2l0aCB0aGUgcmVhZGVyIGludGVyZmFjZSB0byB0aGUgcGFyc2VyXCYuIEl0IGFsbG93cyB0byBzZWxlY3Qgc29tZSBub2RlcyBpbiB0aGUgZG9jdW1lbnQgYmFzZWQgb24gYW4gWFBhdGggKHN1YnNldCkgZXhwcmVzc2lvblwmLiBVc2VkIGZvciBkZWJ1Z2dpbmdcJi4KKy5SRQorLlBQCitcZkJcLVwtcG9zdHZhbGlkXGZSCisuUlMgNAorVmFsaWRhdGUgYWZ0ZXIgcGFyc2luZyBoYXMgY29tcGxldGVkXCYuCisuUkUKKy5QUAorXGZCXC1cLXB1c2hcZlIKKy5SUyA0CitVc2UgdGhlIHB1c2ggbW9kZSBvZiB0aGUgcGFyc2VyXCYuCisuUkUKKy5QUAorXGZCXC1cLXJlY292ZXJcZlIKKy5SUyA0CitPdXRwdXQgYW55IHBhcnNhYmxlIHBvcnRpb25zIG9mIGFuIGludmFsaWQgZG9jdW1lbnRcJi4KKy5SRQorLlBQCitcZkJcLVwtcmVsYXhuZyBcZlJcZkJcZklTQ0hFTUFcZlJcZlIKKy5SUyA0CitVc2UgUmVsYXhORyBmaWxlIG5hbWVkCitcZklTQ0hFTUFcZlIKK2ZvciB2YWxpZGF0aW9uXCYuCisuUkUKKy5QUAorXGZCXC1cLXJlcGVhdFxmUgorLlJTIDQKK1JlcGVhdCAxMDAgdGltZXMsIGZvciB0aW1pbmcgb3IgcHJvZmlsaW5nXCYuCisuUkUKKy5QUAorXGZCXC1cLXNjaGVtYSBcZlJcZkJcZklTQ0hFTUFcZlJcZlIKKy5SUyA0CitVc2UgYSBXM0MKK1hNTAorU2NoZW1hIGZpbGUgbmFtZWQKK1xmSVNDSEVNQVxmUgorZm9yIHZhbGlkYXRpb25cJi4KKy5SRQorLlBQCitcZkJcLVwtc2hlbGxcZlIKKy5SUyA0CitSdW4gYSBuYXZpZ2F0aW5nIHNoZWxsXCYuIERldGFpbHMgb24gYXZhaWxhYmxlIGNvbW1hbmRzIGluIHNoZWxsIG1vZGUgYXJlIGJlbG93IChzZWUKK3RoZSBzZWN0aW9uIGNhbGxlZCBcKGxxU0hFTEwgQ09NTUFORFNcKHJxKVwmLgorLlJFCisuUFAKK1xmQlwtXC14cGF0aCAiXGZSXGZCXGZJWFBhdGhfZXhwcmVzc2lvblxmUlxmUlxmQiJcZlIKKy5SUyA0CitSdW4gYW4gWFBhdGggZXhwcmVzc2lvbiBnaXZlbiBhcyBhcmd1bWVudCBhbmQgcHJpbnQgdGhlIHJlc3VsdFwmLiBJbiBjYXNlIG9mIGEgbm9kZXNldCByZXN1bHQsIGVhY2ggbm9kZSBpbiB0aGUgbm9kZSBzZXQgaXMgc2VyaWFsaXplZCBpbiBmdWxsIGluIHRoZSBvdXRwdXRcJi4gSW4gY2FzZSBvZiBhbiBlbXB0eSBub2RlIHNldCB0aGUgIlhQYXRoIHNldCBpcyBlbXB0eSIgcmVzdWx0IHdpbGwgYmUgc2hvd24gYW5kIGFuIGVycm9yIGV4aXQgY29kZSB3aWxsIGJlIHJldHVybmVkXCYuCisuUkUKKy5QUAorXGZCXC1cLXN0cmVhbVxmUgorLlJTIDQKK1VzZSBzdHJlYW1pbmcKK0FQSQorXC0gdXNlZnVsIHdoZW4gdXNlZCBpbiBjb21iaW5hdGlvbiB3aXRoCitcZkJcLVwtcmVsYXhuZ1xmUgorb3IKK1xmQlwtXC12YWxpZFxmUgorb3B0aW9ucyBmb3IgdmFsaWRhdGlvbiBvZiBmaWxlcyB0aGF0IGFyZSB0b28gbGFyZ2UgdG8gYmUgaGVsZCBpbiBtZW1vcnlcJi4KKy5SRQorLlBQCitcZkJcLVwtdGVzdElPXGZSCisuUlMgNAorVGVzdCB1c2VyIGlucHV0L291dHB1dCBzdXBwb3J0XCYuCisuUkUKKy5QUAorXGZCXC1cLXRpbWluZ1xmUgorLlJTIDQKK091dHB1dCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgdGltZSBpdCB0YWtlcworXGZCeG1sbGludFxmUgordG8gcGVyZm9ybSB0aGUgdmFyaW91cyBzdGVwc1wmLgorLlJFCisuUFAKK1xmQlwtXC12YWxpZFxmUgorLlJTIDQKK0RldGVybWluZSBpZiB0aGUgZG9jdW1lbnQgaXMgYSB2YWxpZCBpbnN0YW5jZSBvZiB0aGUgaW5jbHVkZWQgRG9jdW1lbnQgVHlwZSBEZWZpbml0aW9uIChEVEQpXCYuIEEKK0RURAordG8gYmUgdmFsaWRhdGVkIGFnYWluc3QgYWxzbyBjYW4gYmUgc3BlY2lmaWVkIGF0IHRoZSBjb21tYW5kIGxpbmUgdXNpbmcgdGhlCitcZkJcLVwtZHRkdmFsaWRcZlIKK29wdGlvblwmLiBCeSBkZWZhdWx0LAorXGZCeG1sbGludFxmUgorYWxzbyBjaGVja3MgdG8gZGV0ZXJtaW5lIGlmIHRoZSBkb2N1bWVudCBpcyB3ZWxsXC1mb3JtZWRcJi4KKy5SRQorLlBQCitcZkJcLVwtdmVyc2lvblxmUgorLlJTIDQKK0Rpc3BsYXkgdGhlIHZlcnNpb24gb2YKK1xmQmxpYnhtbFxmUigzKQordXNlZFwmLgorLlJFCisuUFAKK1xmQlwtXC13YWxrZXJcZlIKKy5SUyA0CitUZXN0IHRoZSB3YWxrZXIgbW9kdWxlLCB3aGljaCBpcyBhIHJlYWRlciBpbnRlcmZhY2UgYnV0IGZvciBhIGRvY3VtZW50IHRyZWUsIGluc3RlYWQgb2YgdXNpbmcgdGhlIHJlYWRlcgorQVBJCitvbiBhbiB1bnBhcnNlZCBkb2N1bWVudCBpdCB3b3JrcyBvbiBhbiBleGlzdGluZyBpblwtbWVtb3J5IHRyZWVcJi4gVXNlZCBmb3IgZGVidWdnaW5nXCYuCisuUkUKKy5QUAorXGZCXC1cLXhpbmNsdWRlXGZSCisuUlMgNAorRG8gWEluY2x1ZGUgcHJvY2Vzc2luZ1wmLgorLlJFCisuUFAKK1xmQlwtXC14bWxvdXRcZlIKKy5SUyA0CitVc2VkIGluIGNvbmp1bmN0aW9uIHdpdGgKK1xmQlwtXC1odG1sXGZSXCYuIFVzdWFsbHkgd2hlbgorSFRNTAoraXMgcGFyc2VkIHRoZSBkb2N1bWVudCBpcyBzYXZlZCB3aXRoIHRoZQorSFRNTAorc2VyaWFsaXplclwmLiBCdXQgd2l0aCB0aGlzIG9wdGlvbiB0aGUgcmVzdWx0aW5nIGRvY3VtZW50IGlzIHNhdmVkIHdpdGggdGhlCitYTUwKK3NlcmlhbGl6ZXJcJi4gVGhpcyBpcyBwcmltYXJpbHkgdXNlZCB0byBnZW5lcmF0ZQorWEhUTUwKK2Zyb20KK0hUTUwKK2lucHV0XCYuCisuUkUKKy5TSCAiU0hFTEwgQ09NTUFORFMiCisuUFAKK1xmQnhtbGxpbnRcZlIKK29mZmVycyBhbiBpbnRlcmFjdGl2ZSBzaGVsbCBtb2RlIGludm9rZWQgd2l0aCB0aGUKK1xmQlwtXC1zaGVsbFxmUgorY29tbWFuZFwmLiBBdmFpbGFibGUgY29tbWFuZHMgaW4gc2hlbGwgbW9kZSBpbmNsdWRlIChpbiBhbHBoYWJldGljYWwgb3JkZXIpOgorLlBQCitcZkJiYXNlXGZSCisuUlMgNAorRGlzcGxheQorWE1MCitiYXNlIG9mIHRoZSBub2RlXCYuCisuUkUKKy5QUAorXGZCYnllXGZSCisuUlMgNAorTGVhdmUgdGhlIHNoZWxsXCYuCisuUkUKKy5QUAorXGZCY2F0IFxmUlxmQlxmSU5PREVcZlJcZlIKKy5SUyA0CitEaXNwbGF5IHRoZSBnaXZlbiBub2RlIG9yIHRoZSBjdXJyZW50IG9uZVwmLgorLlJFCisuUFAKK1xmQmNkIFxmUlxmQlxmSVBBVEhcZlJcZlIKKy5SUyA0CitDaGFuZ2UgdGhlIGN1cnJlbnQgbm9kZSB0byB0aGUgZ2l2ZW4gcGF0aCAoaWYgdW5pcXVlKSBvciByb290IGlmIG5vIGFyZ3VtZW50IGlzIGdpdmVuXCYuCisuUkUKKy5QUAorXGZCZGlyIFxmUlxmQlxmSVBBVEhcZlJcZlIKKy5SUyA0CitEdW1wcyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgbm9kZSAobmFtZXNwYWNlLCBhdHRyaWJ1dGVzLCBjb250ZW50KVwmLgorLlJFCisuUFAKK1xmQmR1IFxmUlxmQlxmSVBBVEhcZlJcZlIKKy5SUyA0CitTaG93IHRoZSBzdHJ1Y3R1cmUgb2YgdGhlIHN1YnRyZWUgdW5kZXIgdGhlIGdpdmVuIHBhdGggb3IgdGhlIGN1cnJlbnQgbm9kZVwmLgorLlJFCisuUFAKK1xmQmV4aXRcZlIKKy5SUyA0CitMZWF2ZSB0aGUgc2hlbGxcJi4KKy5SRQorLlBQCitcZkJoZWxwXGZSCisuUlMgNAorU2hvdyB0aGlzIGhlbHBcJi4KKy5SRQorLlBQCitcZkJmcmVlXGZSCisuUlMgNAorRGlzcGxheSBtZW1vcnkgdXNhZ2VcJi4KKy5SRQorLlBQCitcZkJsb2FkIFxmUlxmQlxmSUZJTEVOQU1FXGZSXGZSCisuUlMgNAorTG9hZCBhIG5ldyBkb2N1bWVudCB3aXRoIHRoZSBnaXZlbiBmaWxlbmFtZVwmLgorLlJFCisuUFAKK1xmQmxzIFxmUlxmQlxmSVBBVEhcZlJcZlIKKy5SUyA0CitMaXN0IGNvbnRlbnRzIG9mIHRoZSBnaXZlbiBwYXRoIG9yIHRoZSBjdXJyZW50IGRpcmVjdG9yeVwmLgorLlJFCisuUFAKK1xmQnB3ZFxmUgorLlJTIDQKK0Rpc3BsYXkgdGhlIHBhdGggdG8gdGhlIGN1cnJlbnQgbm9kZVwmLgorLlJFCisuUFAKK1xmQnF1aXRcZlIKKy5SUyA0CitMZWF2ZSB0aGUgc2hlbGxcJi4KKy5SRQorLlBQCitcZkJzYXZlIFxmUlxmQlxmSUZJTEVOQU1FXGZSXGZSCisuUlMgNAorU2F2ZSB0aGUgY3VycmVudCBkb2N1bWVudCB0byB0aGUgZ2l2ZW4gZmlsZW5hbWUgb3IgdG8gdGhlIG9yaWdpbmFsIG5hbWVcJi4KKy5SRQorLlBQCitcZkJ2YWxpZGF0ZVxmUgorLlJTIDQKK0NoZWNrIHRoZSBkb2N1bWVudCBmb3IgZXJyb3JzXCYuCisuUkUKKy5QUAorXGZCd3JpdGUgXGZSXGZCXGZJRklMRU5BTUVcZlJcZlIKKy5SUyA0CitXcml0ZSB0aGUgY3VycmVudCBub2RlIHRvIHRoZSBnaXZlbiBmaWxlbmFtZVwmLgorLlJFCisuU0ggIkVOVklST05NRU5UIgorLlBQCitcZkJTR01MX0NBVEFMT0dfRklMRVNcZlIKKy5SUyA0CitTR01MCitjYXRhbG9nIGJlaGF2aW9yIGNhbiBiZSBjaGFuZ2VkIGJ5IHJlZGlyZWN0aW5nIHF1ZXJpZXMgdG8gdGhlIHVzZXJcKihBcXMgb3duIHNldCBvZiBjYXRhbG9nc1wmLiBUaGlzIGNhbiBiZSBkb25lIGJ5IHNldHRpbmcgdGhlCitcZkJTR01MX0NBVEFMT0dfRklMRVNcZlIKK2Vudmlyb25tZW50IHZhcmlhYmxlIHRvIGEgbGlzdCBvZiBjYXRhbG9nc1wmLiBBbiBlbXB0eSBvbmUgc2hvdWxkIGRlYWN0aXZhdGUgbG9hZGluZyB0aGUgZGVmYXVsdAorL2V0Yy9zZ21sL2NhdGFsb2cKK2NhdGFsb2dcJi4KKy5SRQorLlBQCitcZkJYTUxfQ0FUQUxPR19GSUxFU1xmUgorLlJTIDQKK1hNTAorY2F0YWxvZyBiZWhhdmlvciBjYW4gYmUgY2hhbmdlZCBieSByZWRpcmVjdGluZyBxdWVyaWVzIHRvIHRoZSB1c2VyXCooQXFzIG93biBzZXQgb2YgY2F0YWxvZ3NcJi4gVGhpcyBjYW4gYmUgZG9uZSBieSBzZXR0aW5nIHRoZQorXGZCWE1MX0NBVEFMT0dfRklMRVNcZlIKK2Vudmlyb25tZW50IHZhcmlhYmxlIHRvIGEgbGlzdCBvZiBjYXRhbG9nc1wmLiBBbiBlbXB0eSBvbmUgc2hvdWxkIGRlYWN0aXZhdGUgbG9hZGluZyB0aGUgZGVmYXVsdAorL2V0Yy94bWwvY2F0YWxvZworY2F0YWxvZ1wmLgorLlJFCisuUFAKK1xmQlhNTF9ERUJVR19DQVRBTE9HXGZSCisuUlMgNAorU2V0dGluZyB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUKK1xmQlhNTF9ERUJVR19DQVRBTE9HXGZSCit0bworXGZJbm9uXC16ZXJvXGZSCit1c2luZyB0aGUKK1xmQmV4cG9ydFxmUgorY29tbWFuZCBvdXRwdXRzIGRlYnVnZ2luZyBpbmZvcm1hdGlvbiByZWxhdGVkIHRvIGNhdGFsb2cgb3BlcmF0aW9uc1wmLgorLlJFCisuUFAKK1xmQlhNTExJTlRfSU5ERU5UXGZSCisuUlMgNAorU2V0dGluZyB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUKK1xmQlhNTExJTlRfSU5ERU5UXGZSCitjb250cm9scyB0aGUgaW5kZW50YXRpb25cJi4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgdHdvIHNwYWNlcyAiICJcJi4KKy5SRQorLlNIICJESUFHTk9TVElDUyIKKy5QUAorXGZCeG1sbGludFxmUgorcmV0dXJuIGNvZGVzIHByb3ZpZGUgaW5mb3JtYXRpb24gdGhhdCBjYW4gYmUgdXNlZCB3aGVuIGNhbGxpbmcgaXQgZnJvbSBzY3JpcHRzXCYuCisuUFAKK1xmQjBcZlIKKy5SUyA0CitObyBlcnJvcgorLlJFCisuUFAKK1xmQjFcZlIKKy5SUyA0CitVbmNsYXNzaWZpZWQKKy5SRQorLlBQCitcZkIyXGZSCisuUlMgNAorRXJyb3IgaW4KK0RURAorLlJFCisuUFAKK1xmQjNcZlIKKy5SUyA0CitWYWxpZGF0aW9uIGVycm9yCisuUkUKKy5QUAorXGZCNFxmUgorLlJTIDQKK1ZhbGlkYXRpb24gZXJyb3IKKy5SRQorLlBQCitcZkI1XGZSCisuUlMgNAorRXJyb3IgaW4gc2NoZW1hIGNvbXBpbGF0aW9uCisuUkUKKy5QUAorXGZCNlxmUgorLlJTIDQKK0Vycm9yIHdyaXRpbmcgb3V0cHV0CisuUkUKKy5QUAorXGZCN1xmUgorLlJTIDQKK0Vycm9yIGluIHBhdHRlcm4gKGdlbmVyYXRlZCB3aGVuCitcZkJcLVwtcGF0dGVyblxmUgorb3B0aW9uIGlzIHVzZWQpCisuUkUKKy5QUAorXGZCOFxmUgorLlJTIDQKK0Vycm9yIGluIFJlYWRlciByZWdpc3RyYXRpb24gKGdlbmVyYXRlZCB3aGVuCitcZkJcLVwtY2hrcmVnaXN0ZXJcZlIKK29wdGlvbiBpcyB1c2VkKQorLlJFCisuUFAKK1xmQjlcZlIKKy5SUyA0CitPdXQgb2YgbWVtb3J5IGVycm9yCisuUkUKKy5TSCAiU0VFIEFMU08iCisuUFAKK1xmQmxpYnhtbFxmUigzKQorLlBQCitNb3JlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBhdAorLnNwCisuUlMgNAorLmllIG4gXHtcCitcaCctMDQnXChidVxoJyswMydcYworLlx9CisuZWwgXHtcCisuc3AgLTEKKy5JUCBcKGJ1IDIuMworLlx9CitcZkJsaWJ4bWxcZlIoMykKK3dlYiBwYWdlCitcbVtibHVlXVxmQlwlaHR0cDovL3d3dy54bWxzb2Z0Lm9yZy9cZlJcbVtdCisuUkUKKy5zcAorLlJTIDQKKy5pZSBuIFx7XAorXGgnLTA0J1woYnVcaCcrMDMnXGMKKy5cfQorLmVsIFx7XAorLnNwIC0xCisuSVAgXChidSAyLjMKKy5cfQorVzNDCitYU0xUCitwYWdlCitcbVtibHVlXVxmQlwlaHR0cDovL3d3dy53My5vcmcvVFIveHNsdFxmUlxtW10KKy5SRQorLnNwCisuU0ggIkFVVEhPUlMiCisuUFAKK1xmQkpvaG4gRmxlY2tcZlIgPFwmamZsZWNrQGlua3N0YWluXCYubmV0XCY+CisuUlMgNAorQXV0aG9yLgorLlJFCisuUFAKK1xmQlppeWluZyBTaGVyd2luXGZSIDxcJnNoZXJ3aW5AbmxtXCYubmloXCYuZ292XCY+CisuUlMgNAorQXV0aG9yLgorLlJFCisuUFAKK1xmQkhlaWtvIFJ1cHBcZlIgPFwmaHdyQHBpbGh1aG5cJi5kZVwmPgorLlJTIDQKK0F1dGhvci4KKy5SRQorLlNIICJDT1BZUklHSFQiCisuYnIKK0NvcHlyaWdodCBcKGNvIDIwMDEsIDIwMDQKKy5icgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MveG1sbGludC5odG1sIGIvbGlieG1sMi9kb2MveG1sbGludC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBhNTU4NzcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy94bWxsaW50Lmh0bWwKQEAgLTAsMCArMSwxNzUgQEAKKzxodG1sPjxoZWFkPjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTEiPjx0aXRsZT54bWxsaW50PC90aXRsZT48bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9IkRvY0Jvb2sgWFNMIFN0eWxlc2hlZXRzIFYxLjYxLjIiPjwvaGVhZD48Ym9keSBiZ2NvbG9yPSJ3aGl0ZSIgdGV4dD0iYmxhY2siIGxpbms9IiMwMDAwRkYiIHZsaW5rPSIjODQwMDg0IiBhbGluaz0iIzAwMDBGRiI+PGRpdiBjbGFzcz0icmVmZW50cnkiIGxhbmc9ImVuIj48YSBuYW1lPSJpZDI4NzYzMDIiPjwvYT48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PC9kaXY+PGRpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJyZWZuYW1lZGl2Ij48aDI+TmFtZTwvaDI+PHA+eG1sbGludCAmIzgyMTI7IGNvbW1hbmQgbGluZSA8c3BhbiBjbGFzcz0iYWNyb255bSI+WE1MPC9zcGFuPiB0b29sPC9wPjwvZGl2PjxkaXYgY2xhc3M9InJlZnN5bm9wc2lzZGl2Ij48aDI+U3lub3BzaXM8L2gyPjxkaXYgY2xhc3M9ImNtZHN5bm9wc2lzIj48cD48dHQgY2xhc3M9ImNvbW1hbmQiPnhtbGxpbnQ8L3R0PiAgW1stLXZlcnNpb25dIHwgIFstLWRlYnVnXSB8ICBbLS1zaGVsbF0gfCAgWy0tZGVidWdlbnRdIHwgIFstLWNvcHldIHwgIFstLXJlY292ZXJdIHwgIFstLW5vZW50XSB8ICBbLS1ub291dF0gfCAgWy0tbm9uZXRdIHwgIFstLWh0bWxvdXRdIHwgIFstLW5vd3JhcF0gfCAgWy0tdmFsaWRdIHwgIFstLXBvc3R2YWxpZF0gfCAgWy0tZHRkdmFsaWQgPGkgY2xhc3M9InJlcGxhY2VhYmxlIj48dHQ+VVJMPC90dD48L2k+XSB8ICBbLS1kdGR2YWxpZGZwaSA8aSBjbGFzcz0icmVwbGFjZWFibGUiPjx0dD5GUEk8L3R0PjwvaT5dIHwgIFstLXRpbWluZ10gfCAgWy0tb3V0cHV0IDxpIGNsYXNzPSJyZXBsYWNlYWJsZSI+PHR0PmZpbGU8L3R0PjwvaT5dIHwgIFstLXJlcGVhdF0gfCAgWy0taW5zZXJ0XSB8ICBbLS1jb21wcmVzc10gfCAgWy0taHRtbF0gfCAgWy0teG1sb3V0XSB8ICBbLS1wdXNoXSB8ICBbLS1tZW1vcnldIHwgIFstLW1heG1lbSA8aSBjbGFzcz0icmVwbGFjZWFibGUiPjx0dD5uYmJ5dGVzPC90dD48L2k+XSB8ICBbLS1ub3dhcm5pbmddIHwgIFstLW5vYmxhbmtzXSB8ICBbLS1ub2NkYXRhXSB8ICBbLS1mb3JtYXRdIHwgIFstLWVuY29kZSA8aSBjbGFzcz0icmVwbGFjZWFibGUiPjx0dD5lbmNvZGluZzwvdHQ+PC9pPl0gfCAgWy0tZHJvcGR0ZF0gfCAgWy0tbnNjbGVhbl0gfCAgWy0tdGVzdElPXSB8ICBbLS1jYXRhbG9nc10gfCAgWy0tbm9jYXRhbG9nc10gfCAgWy0tYXV0b10gfCAgWy0teGluY2x1ZGVdIHwgIFstLW5veGluY2x1ZGVub2RlXSB8ICBbLS1sb2FkZHRkXSB8ICBbLS1kdGRhdHRyXSB8ICBbLS1zdHJlYW1dIHwgIFstLXdhbGtlcl0gfCAgWy0tcGF0dGVybiA8aSBjbGFzcz0icmVwbGFjZWFibGUiPjx0dD5wYXR0ZXJudmFsdWU8L3R0PjwvaT5dIHwgIFstLWNoa3JlZ2lzdGVyXSB8ICBbLS1yZWxheG5nXSB8ICBbLS1zY2hlbWFdIHwgIFstLWMxNG5dXSBbPHR0IGNsYXNzPSJvcHRpb24iPjxpIGNsYXNzPSJyZXBsYWNlYWJsZSI+PHR0PnhtbGZpbGU8L3R0PjwvaT48L3R0Pl08L3A+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0icmVmc2VjdDEiIGxhbmc9ImVuIj48YSBuYW1lPSJpbnRyb2R1Y3Rpb24iPjwvYT48aDI+SW50cm9kdWN0aW9uPC9oMj48cD4KKyAgICAgIFRoZSB4bWxsaW50IHByb2dyYW0gcGFyc2VzIG9uZSBvciBtb3JlIFhNTCBmaWxlcywgc3BlY2lmaWVkIG9uIHRoZQorICAgICAgY29tbWFuZCBsaW5lIGFzIDxpIGNsYXNzPSJyZXBsYWNlYWJsZSI+PHR0PnhtbGZpbGU8L3R0PjwvaT4uIEl0IHByaW50cyB2YXJpb3VzCisgICAgICB0eXBlcyBvZiBvdXRwdXQsIGRlcGVuZGluZyB1cG9uIHRoZSBvcHRpb25zIHNlbGVjdGVkLiBJdCBpcyB1c2VmdWwgZm9yCisgICAgICBkZXRlY3RpbmcgZXJyb3JzIGJvdGggaW4gPHNwYW4gY2xhc3M9ImFjcm9ueW0iPlhNTDwvc3Bhbj4gY29kZSBhbmQgaW4gdGhlCisgICAgICA8c3BhbiBjbGFzcz0iYWNyb255bSI+WE1MPC9zcGFuPiBwYXJzZXIgaXRzZWxmLgorICAgIDwvcD48cD4KKyAgICAgIEl0IGlzIGluY2x1ZGVkIGluIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+bGlieG1sMjwvc3Bhbj4uCisgICAgPC9wPjwvZGl2PjxkaXYgY2xhc3M9InJlZnNlY3QxIiBsYW5nPSJlbiI+PGEgbmFtZT0ib3B0aW9ucyI+PC9hPjxoMj5PcHRpb25zPC9oMj48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjxkbD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjx0dCBjbGFzcz0ib3B0aW9uIj4tLXZlcnNpb248L3R0Pjwvc3Bhbj48L2R0PjxkZD4KKwkgICAgRGlzcGxheSB0aGUgdmVyc2lvbiBvZgorCSAgICA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPmxpYnhtbDI8L3NwYW4+IHVzZWQuCisJICA8L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHR0IGNsYXNzPSJvcHRpb24iPi0tZGVidWc8L3R0Pjwvc3Bhbj48L2R0PjxkZD4KKwkgICAgUGFyc2UgYSBmaWxlIGFuZCBvdXRwdXQgYW4gYW5ub3RhdGVkIHRyZWUgb2YgdGhlCisJICAgIGluLW1lbW9yeSB2ZXJzaW9uIG9mIHRoZSBkb2N1bWVudC4KKwkgIDwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48dHQgY2xhc3M9Im9wdGlvbiI+LS1zaGVsbDwvdHQ+PC9zcGFuPjwvZHQ+PGRkPgorCSAgICBSdW4gYSBuYXZpZ2F0aW5nIHNoZWxsLiBEZXRhaWxzIG9uIGF2YWlsYWJsZSBjb21tYW5kcyBpbiBzaGVsbCBtb2RlCisJICAgIGFyZSBiZWxvdy4KKwkgIDwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48dHQgY2xhc3M9Im9wdGlvbiI+LS1kZWJ1Z2VudDwvdHQ+PC9zcGFuPjwvZHQ+PGRkPgorCSAgICBEZWJ1ZyB0aGUgZW50aXRpZXMgZGVmaW5lZCBpbiB0aGUgZG9jdW1lbnQuCisJICA8L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHR0IGNsYXNzPSJvcHRpb24iPi0tY29weTwvdHQ+IDwvc3Bhbj48L2R0PjxkZD4KKwkgICAgVGVzdCB0aGUgaW50ZXJuYWwgY29weSBpbXBsZW1lbnRhdGlvbi4KKwkgIDwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48dHQgY2xhc3M9Im9wdGlvbiI+LS1yZWNvdmVyPC90dD48L3NwYW4+PC9kdD48ZGQ+CisJICAgIE91dHB1dCBhbnkgcGFyc2FibGUgcG9ydGlvbnMgb2YgYW4gaW52YWxpZAorCSAgICBkb2N1bWVudC4KKwkgIDwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48dHQgY2xhc3M9Im9wdGlvbiI+LS1ub2VudDwvdHQ+PC9zcGFuPjwvZHQ+PGRkPgorCSAgICBTdWJzdGl0dXRlIGVudGl0eSB2YWx1ZXMgZm9yIGVudGl0eQorCSAgICByZWZlcmVuY2VzLiBCeSBkZWZhdWx0LCA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPnhtbGxpbnQ8L3NwYW4+IGxlYXZlcyBlbnRpdHkKKwkgICAgcmVmZXJlbmNlcyBpbiBwbGFjZS4KKwkgIDwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48dHQgY2xhc3M9Im9wdGlvbiI+LS1ub2NkYXRhPC90dD48L3NwYW4+PC9kdD48ZGQ+CisJICAgIFN1YnN0aXR1dGUgQ0RBVEEgc2VjdGlvbiBieSBlcXVpdmFsZW50IHRleHQgbm9kZXMuCisJICA8L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHR0IGNsYXNzPSJvcHRpb24iPi0tbnNjbGVhbjwvdHQ+PC9zcGFuPjwvZHQ+PGRkPgorCSAgICBSZW1vdmUgcmVkdW5kYW50IG5hbWVzcGFjZSBkZWNsYXJhdGlvbnMuCisJICA8L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHR0IGNsYXNzPSJvcHRpb24iPi0tbm9vdXQ8L3R0Pjwvc3Bhbj48L2R0PjxkZD4KKwkgICAgU3VwcHJlc3Mgb3V0cHV0LiBCeSBkZWZhdWx0LAorCSAgICA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPnhtbGxpbnQ8L3NwYW4+IG91dHB1dHMgdGhlIHJlc3VsdCB0cmVlLgorCSAgPC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjx0dCBjbGFzcz0ib3B0aW9uIj4tLWh0bWxvdXQ8L3R0Pjwvc3Bhbj48L2R0PjxkZD4KKwkgICAgT3V0cHV0IHJlc3VsdHMgYXMgYW4gPHNwYW4gY2xhc3M9ImFjcm9ueW0iPkhUTUw8L3NwYW4+CisJICAgIGZpbGUuIFRoaXMgY2F1c2VzIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+eG1sbGludDwvc3Bhbj4gdG8gb3V0cHV0CisJICAgIHRoZSBuZWNlc3NhcnkgPHNwYW4gY2xhc3M9ImFjcm9ueW0iPkhUTUw8L3NwYW4+IHRhZ3Mgc3Vycm91bmRpbmcgdGhlIHJlc3VsdCB0cmVlCisJICAgIG91dHB1dCBzbyB0aGUgcmVzdWx0cyBjYW4gYmUgZGlzcGxheWVkIGluIGEgYnJvd3Nlci4gCisJICA8L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHR0IGNsYXNzPSJvcHRpb24iPi0tbm93cmFwIDwvdHQ+PC9zcGFuPjwvZHQ+PGRkPgorCSAgICBEbyBub3Qgb3V0cHV0IEhUTUwgZG9jIHdyYXBwZXIuCisJICA8L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHR0IGNsYXNzPSJvcHRpb24iPi0tdmFsaWQgPC90dD48L3NwYW4+PC9kdD48ZGQ+CisJICAgIERldGVybWluZSBpZiB0aGUgZG9jdW1lbnQgaXMgYSB2YWxpZCBpbnN0YW5jZQorCSAgICBvZiB0aGUgaW5jbHVkZWQgRG9jdW1lbnQgVHlwZSBEZWZpbml0aW9uICg8c3BhbiBjbGFzcz0iYWNyb255bSI+RFREPC9zcGFuPikuIEEKKwkgICAgPHNwYW4gY2xhc3M9ImFjcm9ueW0iPkRURDwvc3Bhbj4gdG8gYmUgdmFsaWRhdGVkIGFnYWluc3QgYWxzbyBjYW4gYmUgc3BlY2lmaWVkIGF0CisJICAgIHRoZSBjb21tYW5kIGxpbmUgdXNpbmcgdGhlIDx0dCBjbGFzcz0ib3B0aW9uIj4tLWR0ZHZhbGlkPC90dD4gb3B0aW9uLiBCeSBkZWZhdWx0LAorCSAgICA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPnhtbGxpbnQ8L3NwYW4+IGFsc28gY2hlY2tzIHRvIGRldGVybWluZSBpZiB0aGUKKwkgICAgZG9jdW1lbnQgaXMgd2VsbC1mb3JtZWQuCisJICA8L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHR0IGNsYXNzPSJvcHRpb24iPi0tcG9zdHZhbGlkPC90dD48L3NwYW4+PC9kdD48ZGQ+CisJICAgIFZhbGlkYXRlIGFmdGVyIHBhcnNpbmcgaXMgY29tcGxldGVkLgorCSAgPC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPiA8dHQgY2xhc3M9Im9wdGlvbiI+LS1kdGR2YWxpZDwvdHQ+IDxpIGNsYXNzPSJyZXBsYWNlYWJsZSI+PHR0PlVSTDwvdHQ+PC9pPjwvc3Bhbj48L2R0PjxkZD4KKwkgICAgVXNlIHRoZQorICAgICAgPHNwYW4gY2xhc3M9ImFjcm9ueW0iPkRURDwvc3Bhbj4gc3BlY2lmaWVkIGJ5IDxpIGNsYXNzPSJyZXBsYWNlYWJsZSI+PHR0PlVSTDwvdHQ+PC9pPiBmb3IKKyAgICAgIHZhbGlkYXRpb24uCisJICA8L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+IDx0dCBjbGFzcz0ib3B0aW9uIj4tLWR0ZHZhbGlkZnBpPC90dD4gPGkgY2xhc3M9InJlcGxhY2VhYmxlIj48dHQ+RlBJPC90dD48L2k+PC9zcGFuPjwvZHQ+PGRkPgorCSAgICBVc2UgdGhlCisgICAgICA8c3BhbiBjbGFzcz0iYWNyb255bSI+RFREPC9zcGFuPiBzcGVjaWZpZWQgYnkgdGhlIFB1YmxpYyBJZGVudGlmaWVyCisgICAgICA8aSBjbGFzcz0icmVwbGFjZWFibGUiPjx0dD5GUEk8L3R0PjwvaT4gZm9yIHZhbGlkYXRpb24sIG5vdGUgdGhhdCB0aGlzCisgICAgICB3aWxsIHJlcXVpcmUgYSBDYXRhbG9nIGV4cG9ydGluZyB0aGF0IFB1YmxpYyBJZGVudGlmaWVyIHRvIHdvcmsuCisJICA8L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHR0IGNsYXNzPSJvcHRpb24iPi0tdGltaW5nPC90dD48L3NwYW4+PC9kdD48ZGQ+CisJICAgIE91dHB1dCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgdGltZSBpdCB0YWtlcworCSAgICA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPnhtbGxpbnQ8L3NwYW4+IHRvIHBlcmZvcm0gdGhlIHZhcmlvdXMgc3RlcHMuCisJICA8L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHR0IGNsYXNzPSJvcHRpb24iPi0tb3V0cHV0PC90dD4gPGkgY2xhc3M9InJlcGxhY2VhYmxlIj48dHQ+ZmlsZTwvdHQ+PC9pPjwvc3Bhbj48L2R0PjxkZD5EZWZpbmUgYSBmaWxlIHBhdGggd2hlcmUgeG1sbGludCB3aWxsIHNhdmUgdGhlIHJlc3VsdCBvZgorCSAgcGFyc2luZy4gVXN1YWxseSB0aGUgcHJvZ3JhbXMgYnVpbGQgYSB0cmVlIGFuZCBzYXZlIGl0IG9uIHN0ZG91dCwgd2l0aAorCSAgdGhpcyBvcHRpb24gdGhlIHJlc3VsdCBYTUwgaW5zdGFuY2Ugd2lsbCBiZSBzYXZlZCBvbnRvIGEgZmlsZS48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHR0IGNsYXNzPSJvcHRpb24iPi0tcmVwZWF0PC90dD48L3NwYW4+PC9kdD48ZGQ+CisJICAgIFJlcGVhdCAxMDAgdGltZXMsIGZvciB0aW1pbmcgb3IgcHJvZmlsaW5nLgorCSAgPC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjx0dCBjbGFzcz0ib3B0aW9uIj4tLWluc2VydDwvdHQ+PC9zcGFuPjwvZHQ+PGRkPgorCSAgICBUZXN0IGZvciB2YWxpZCBpbnNlcnRpb25zLgorCSAgPC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjx0dCBjbGFzcz0ib3B0aW9uIj4tLWNvbXByZXNzPC90dD48L3NwYW4+PC9kdD48ZGQ+CisJICAgIFR1cm4gb24gZ3ppcCBjb21wcmVzc2lvbiBvZiBvdXRwdXQuCisJICA8L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHR0IGNsYXNzPSJvcHRpb24iPi0taHRtbDwvdHQ+PC9zcGFuPjwvZHQ+PGRkPgorCSAgICBVc2UgdGhlIDxzcGFuIGNsYXNzPSJhY3JvbnltIj5IVE1MPC9zcGFuPiBwYXJzZXIuCisJICA8L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHR0IGNsYXNzPSJvcHRpb24iPi0teG1sb3V0PC90dD48L3NwYW4+PC9kdD48ZGQ+VXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIDx0dCBjbGFzcz0ib3B0aW9uIj4tLWh0bWw8L3R0Pi4gVXN1YWxseQorICB3aGVuIEhUTUwgaXMgcGFyc2VkIHRoZSBkb2N1bWVudCBpcyBzYXZlZCB3aXRoIHRoZSBIVE1MIHNlcmlhbGl6ZXIsIGJ1dCB3aXRoCisgIHRoaXMgb3B0aW9uIHRoZSByZXN1bHRpbmcgZG9jdW1lbnQgaXMgc2F2ZWQgd2l0aCB0aGUgWE1MIHNlcmlhbGl6ZXIuIFRoaXMgaXMKKyAgcHJpbWFyaWx5IHVzZWQgdG8gZ2VuZXJhdGUgWEhUTUwgZnJvbSBIVE1MIGlucHV0LjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48dHQgY2xhc3M9Im9wdGlvbiI+LS1wdXNoPC90dD48L3NwYW4+PC9kdD48ZGQ+CisJICAgIFVzZSB0aGUgcHVzaCBtb2RlIG9mIHRoZSBwYXJzZXIuCisJICA8L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHR0IGNsYXNzPSJvcHRpb24iPi0tbWVtb3J5PC90dD48L3NwYW4+PC9kdD48ZGQ+CisJICAgUGFyc2UgZnJvbSBtZW1vcnkuCisJICA8L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHR0IGNsYXNzPSJvcHRpb24iPi0tbWF4bWVtPC90dD4gPGkgY2xhc3M9InJlcGxhY2VhYmxlIj48dHQ+bm5ieXRlczwvdHQ+PC9pPjwvc3Bhbj48L2R0PjxkZD5UZXN0IHRoZSBwYXJzZXIgbWVtb3J5CisgIHN1cHBvcnQuIDxpIGNsYXNzPSJyZXBsYWNlYWJsZSI+PHR0Pm5uYnl0ZXM8L3R0PjwvaT4gaXMgdGhlIG1heGltdW0gbnVtYmVyIG9mIGJ5dGVzIHRoZQorICBsaWJyYXJ5IGlzIGFsbG93ZWQgdG8gYWxsb2NhdGUuIFRoaXMgY2FuIGFsc28gYmUgdXNlZCB0byBtYWtlIHN1cmUgYmF0Y2gKKyAgcHJvY2Vzc2luZyBvZiBYTUwgZmlsZXMgd2lsbCBub3QgZXhoYXVzdCB0aGUgdmlydHVhbCBtZW1vcnkgb2YgdGhlIHNlcnZlcgorICBydW5uaW5nIHRoZW0uPC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjx0dCBjbGFzcz0ib3B0aW9uIj4tLW5vd2FybmluZzwvdHQ+PC9zcGFuPjwvZHQ+PGRkPgorCSAgIERvIG5vdCBlbWl0IHdhcm5pbmdzIGZyb20gdGhlIHBhcnNlciBhbmQvb3IgdmFsaWRhdG9yLgorCSAgPC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjx0dCBjbGFzcz0ib3B0aW9uIj4tLW5vYmxhbmtzPC90dD48L3NwYW4+PC9kdD48ZGQ+CisJICAgRHJvcCBpZ25vcmFibGUgYmxhbmsgc3BhY2VzLgorCSAgPC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjx0dCBjbGFzcz0ib3B0aW9uIj4tLWZvcm1hdDwvdHQ+PC9zcGFuPjwvZHQ+PGRkPgorCSAgIFJlZm9ybWF0IGFuZCByZWluZGVudCB0aGUgb3V0cHV0LiBUaGUgJFhNTExJTlRfSU5ERU5UCisJICAgZW52aXJvbm1lbnQgdmFyaWFibGUgY29udHJvbHMgdGhlIGluZGVudGF0aW9uIChkZWZhdWx0IAorCSAgIHZhbHVlIGlzIHR3byBzcGFjZXMgIiAgIikuCisJICA8L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHR0IGNsYXNzPSJvcHRpb24iPi0tdGVzdElPPC90dD48L3NwYW4+PC9kdD48ZGQ+CisJICAgVGVzdCB1c2VyIGlucHV0L291dHB1dCBzdXBwb3J0LgorCSAgPC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjx0dCBjbGFzcz0ib3B0aW9uIj4tLWVuY29kZTwvdHQ+IDxpIGNsYXNzPSJyZXBsYWNlYWJsZSI+PHR0PmVuY29kaW5nPC90dD48L2k+PC9zcGFuPjwvZHQ+PGRkPgorCSAgIE91dHB1dCBpbiB0aGUgZ2l2ZW4gZW5jb2RpbmcuCisJICA8L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHR0IGNsYXNzPSJvcHRpb24iPi0tY2F0YWxvZ3M8L3R0Pjwvc3Bhbj48L2R0PjxkZD4KKwkgICBVc2UgdGhlIGNhdGFsb2dzIGZyb20gJFNHTUxfQ0FUQUxPR19GSUxFUy4gT3RoZXJ3aXNlIC9ldGMveG1sL2NhdGFsb2cKKwkgICBpcyB1c2VkIGJ5IGRlZmF1bHQuCisJICA8L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHR0IGNsYXNzPSJvcHRpb24iPi0tbm9jYXRhbG9nczwvdHQ+PC9zcGFuPjwvZHQ+PGRkPgorCSAgIERvIG5vdCB1c2UgYW55IGNhdGFsb2dzLgorCSAgPC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjx0dCBjbGFzcz0ib3B0aW9uIj4tLWF1dG88L3R0Pjwvc3Bhbj48L2R0PjxkZD4KKwkgICBHZW5lcmF0ZSBhIHNtYWxsIGRvY3VtZW50IGZvciB0ZXN0aW5nIHB1cnBvc2VzLgorCSAgPC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjx0dCBjbGFzcz0ib3B0aW9uIj4tLXhpbmNsdWRlPC90dD48L3NwYW4+PC9kdD48ZGQ+CisJICAgRG8gWEluY2x1ZGUgcHJvY2Vzc2luZy4KKwkgIDwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48dHQgY2xhc3M9Im9wdGlvbiI+LS1ub3hpbmNsdWRlbm9kZTwvdHQ+PC9zcGFuPjwvZHQ+PGRkPgorCSAgIERvIFhJbmNsdWRlIHByb2Nlc3NpbmcgYnV0IGRvIG5vdCBnZW5lcmF0ZSBYSW5jbHVkZSBzdGFydCBhbmQgZW5kCisJICAgbm9kZXMuCisJICA8L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHR0IGNsYXNzPSJvcHRpb24iPi0tbG9hZGR0ZDwvdHQ+PC9zcGFuPjwvZHQ+PGRkPgorCSAgIEZldGNoIGV4dGVybmFsIERURC4KKwkgIDwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48dHQgY2xhc3M9Im9wdGlvbiI+LS1kdGRhdHRyPC90dD48L3NwYW4+PC9kdD48ZGQ+CisJICAgRmV0Y2ggZXh0ZXJuYWwgRFREIGFuZCBwb3B1bGF0ZSB0aGUgdHJlZSB3aXRoIGluaGVyaXRlZCBhdHRyaWJ1dGVzLgorCSAgPC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjx0dCBjbGFzcz0ib3B0aW9uIj4tLWRyb3BkdGQ8L3R0Pjwvc3Bhbj48L2R0PjxkZD4KKwkgICAgUmVtb3ZlIDxzcGFuIGNsYXNzPSJhY3JvbnltIj5EVEQ8L3NwYW4+IGZyb20gb3V0cHV0LgorCSAgPC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjx0dCBjbGFzcz0ib3B0aW9uIj4tLXN0cmVhbTwvdHQ+PC9zcGFuPjwvZHQ+PGRkPlVzZSBzdHJlYW1pbmcgQVBJIC0gdXNlZnVsIHdoZW4gIHVzZWQgIGluIGNvbWJpbmF0aW9uIHdpdGgKKyAgICAgICAgICAgICAgLS1yZWxheG5nIG9yIC0tdmFsaWQgb3B0aW9ucyBmb3IgdmFsaWRhdGlvbiBvZiBmaWxlcyB0aGF0IGFyZQorCSAgICB0b28gbGFyZ2UgdG8gYmUgaGVsZCBpbiBtZW1vcnkuPC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjx0dCBjbGFzcz0ib3B0aW9uIj4tLXdhbGtlcjwvdHQ+PC9zcGFuPjwvZHQ+PGRkPlRlc3QgdGhlIHdhbGtlciBtb2R1bGUsIHdoaWNoIGlzIGEgcmVhZGVyIGludGVyZmFjZSBidXQgZm9yIGEKKyAgZG9jdW1lbnQgdHJlZSwgaW5zdGVhZCBvZiB1c2luZyB0aGUgcmVhZGVyIEFQSSBvbiBhbiB1bnBhcnNlZCBkb2N1bWVudCBpdAorICB3b3JrcyBvbiBhIGV4aXN0aW5nIGluLW1lbW9yeSB0cmVlLiBVc2VkIGluIGRlYnVnZ2luZy48L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHR0IGNsYXNzPSJvcHRpb24iPi0tY2hrcmVnaXN0ZXI8L3R0Pjwvc3Bhbj48L2R0PjxkZD5UdXJuIG9uIG5vZGUgcmVnaXN0cmF0aW9uLiBVc2VmdWwgZm9yIGRldmVsb3BlcnMgdGVzdGluZworCSAgbGlieG1sMiBub2RlIHRyYWNraW5nIGNvZGUuPC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjx0dCBjbGFzcz0ib3B0aW9uIj4tLXBhdHRlcm48L3R0PiA8aSBjbGFzcz0icmVwbGFjZWFibGUiPjx0dD5wYXR0ZXJudmFsdWU8L3R0PjwvaT48L3NwYW4+PC9kdD48ZGQ+VXNlZCB0byBleGVyY2lzZSB0aGUgcGF0dGVybiByZWNvZ25pdGlvbiBlbmdpbmUsIHdoaWNoIGNhbiBiZQorCSAgdXNlZCB3aXRoIHRoZSByZWFkZXIgaW50ZXJmYWNlIHRvIHRoZSBwYXJzZXIuIEl0IGFsbG93cyB0byBzZWxlY3Qgc29tZQorCSAgbm9kZXMgaW4gdGhlIGRvY3VtZW50IGJhc2VkIG9uIGFuIFhQYXRoIChzdWJzZXQpIGV4cHJlc3Npb24uIFVzZWQgZm9yCisJICBkZWJ1Z2dpbmcuPC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjx0dCBjbGFzcz0ib3B0aW9uIj4tLXJlbGF4bmc8L3R0PiA8aSBjbGFzcz0icmVwbGFjZWFibGUiPjx0dD5zY2hlbWE8L3R0PjwvaT48L3NwYW4+PC9kdD48ZGQ+VXNlIFJlbGF4TkcgZmlsZSBuYW1lZCA8aSBjbGFzcz0icmVwbGFjZWFibGUiPjx0dD5zY2hlbWE8L3R0PjwvaT4gZm9yCisJICB2YWxpZGF0aW9uLjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48dHQgY2xhc3M9Im9wdGlvbiI+LS1zY2hlbWE8L3R0PiA8aSBjbGFzcz0icmVwbGFjZWFibGUiPjx0dD5zY2hlbWE8L3R0PjwvaT48L3NwYW4+PC9kdD48ZGQ+VXNlIGEgVzNDIFhNTCBTY2hlbWEgZmlsZSBuYW1lZCA8aSBjbGFzcz0icmVwbGFjZWFibGUiPjx0dD5zY2hlbWE8L3R0PjwvaT4gZm9yIHZhbGlkYXRpb24uPC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPgorICAgICAgPHR0IGNsYXNzPSJvcHRpb24iPi0tYzE0bjwvdHQ+PC9zcGFuPjwvZHQ+PGRkPlVzZSB0aGUgVzNDIFhNTCBDYW5vbmljYWxpc2F0aW9uIChDMTROKSB0bworc2VyaWFsaXplIHRoZSByZXN1bHQgb2YgcGFyc2luZyB0byBzdGRvdXQuIEl0IGtlZXBzIGNvbW1lbnRzIGluCit0aGUgcmVzdWx0LjwvZGQ+PC9kbD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJyZWZzZWN0MSIgbGFuZz0iZW4iPjxhIG5hbWU9InNoZWxsIj48L2E+PGgyPlNoZWxsPC9oMj48cD4KKyAgICAgIDxzcGFuIGNsYXNzPSJhcHBsaWNhdGlvbiI+eG1sbGludDwvc3Bhbj4gb2ZmZXJzIGFuIGludGVyYWN0aXZlIHNoZWxsIG1vZGUKKyAgICAgIGludm9rZWQgd2l0aCB0aGUgPHR0IGNsYXNzPSJvcHRpb24iPi0tc2hlbGw8L3R0PiBjb21tYW5kLiBBdmFpbGFibGUgY29tbWFuZHMgaW4KKyAgICAgIHNoZWxsIG1vZGUgaW5jbHVkZToKKyAgICA8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48ZGw+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48dHQgY2xhc3M9Im9wdGlvbiI+YmFzZTwvdHQ+PC9zcGFuPjwvZHQ+PGRkPgorCSAgICBkaXNwbGF5IFhNTCBiYXNlIG9mIHRoZSBub2RlCisJICA8L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHR0IGNsYXNzPSJvcHRpb24iPmJ5ZTwvdHQ+PC9zcGFuPjwvZHQ+PGRkPgorCSAgICBsZWF2ZSBzaGVsbAorCSAgPC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjx0dCBjbGFzcz0ib3B0aW9uIj5jYXQgPGkgY2xhc3M9InJlcGxhY2VhYmxlIj48dHQ+bm9kZTwvdHQ+PC9pPjwvdHQ+PC9zcGFuPjwvZHQ+PGRkPgorCSAgICBEaXNwbGF5IG5vZGUgaWYgZ2l2ZW4gb3IgY3VycmVudCBub2RlLgorCSAgPC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjx0dCBjbGFzcz0ib3B0aW9uIj5jZCA8aSBjbGFzcz0icmVwbGFjZWFibGUiPjx0dD5wYXRoPC90dD48L2k+PC90dD48L3NwYW4+PC9kdD48ZGQ+CisJICAgIENoYW5nZSB0aGUgY3VycmVudCBub2RlIHRvIDxpIGNsYXNzPSJyZXBsYWNlYWJsZSI+PHR0PnBhdGg8L3R0PjwvaT4gKGlmIGdpdmVuCisJICAgIGFuZCB1bmlxdWUpIG9yIHJvb3QgaWYgbm8gYXJndW1lbnQgZ2l2ZW4uCisJICA8L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHR0IGNsYXNzPSJvcHRpb24iPmRpciA8aSBjbGFzcz0icmVwbGFjZWFibGUiPjx0dD5wYXRoPC90dD48L2k+PC90dD48L3NwYW4+PC9kdD48ZGQ+CisJICAgIER1bXBzIGluZm9ybWF0aW9uIGFib3V0IHRoZSBub2RlIChuYW1lc3BhY2UsIGF0dHJpYnV0ZXMsIGNvbnRlbnQpLgorCSAgPC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjx0dCBjbGFzcz0ib3B0aW9uIj5kdSA8aSBjbGFzcz0icmVwbGFjZWFibGUiPjx0dD5wYXRoPC90dD48L2k+PC90dD48L3NwYW4+PC9kdD48ZGQ+CisJICAgIFNob3cgdGhlIHN0cnVjdHVyZSBvZiB0aGUgc3VidHJlZSB1bmRlciBwYXRoIG9yIHRoZSBjdXJyZW50IG5vZGUuCisJICA8L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHR0IGNsYXNzPSJvcHRpb24iPmV4aXQ8L3R0Pjwvc3Bhbj48L2R0PjxkZD4KKwkgICAgTGVhdmUgdGhlIHNoZWxsLgorCSAgPC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjx0dCBjbGFzcz0ib3B0aW9uIj5oZWxwPC90dD48L3NwYW4+PC9kdD48ZGQ+CisJICAgIFNob3cgdGhpcyBoZWxwLgorCSAgPC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjx0dCBjbGFzcz0ib3B0aW9uIj5mcmVlPC90dD48L3NwYW4+PC9kdD48ZGQ+CisJICAgIERpc3BsYXkgbWVtb3J5IHVzYWdlLgorCSAgPC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjx0dCBjbGFzcz0ib3B0aW9uIj5sb2FkIDxpIGNsYXNzPSJyZXBsYWNlYWJsZSI+PHR0Pm5hbWU8L3R0PjwvaT48L3R0Pjwvc3Bhbj48L2R0PjxkZD4KKwkgICAgTG9hZCBhIG5ldyBkb2N1bWVudCB3aXRoIHRoZSBnaXZlbiBuYW1lLgorCSAgPC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjx0dCBjbGFzcz0ib3B0aW9uIj5scyA8aSBjbGFzcz0icmVwbGFjZWFibGUiPjx0dD5wYXRoPC90dD48L2k+PC90dD48L3NwYW4+PC9kdD48ZGQ+CisJICAgIExpc3QgY29udGVudHMgb2YgPGkgY2xhc3M9InJlcGxhY2VhYmxlIj48dHQ+cGF0aDwvdHQ+PC9pPiAoaWYgZ2l2ZW4pIG9yIHRoZQorCSAgICBjdXJyZW50IGRpcmVjdG9yeS4KKwkgIDwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48dHQgY2xhc3M9Im9wdGlvbiI+cHdkPC90dD48L3NwYW4+PC9kdD48ZGQ+CisJICAgIERpc3BsYXkgdGhlIHBhdGggdG8gdGhlIGN1cnJlbnQgbm9kZS4KKwkgIDwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj48dHQgY2xhc3M9Im9wdGlvbiI+cXVpdDwvdHQ+PC9zcGFuPjwvZHQ+PGRkPgorCSAgICBMZWF2ZSB0aGUgc2hlbGwuCisJICA8L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+PHR0IGNsYXNzPSJvcHRpb24iPnNhdmUgPGkgY2xhc3M9InJlcGxhY2VhYmxlIj48dHQ+bmFtZTwvdHQ+PC9pPjwvdHQ+PC9zcGFuPjwvZHQ+PGRkPgorCSAgICBTYXZlcyB0aGUgY3VycmVudCBkb2N1bWVudCB0byA8aSBjbGFzcz0icmVwbGFjZWFibGUiPjx0dD5uYW1lPC90dD48L2k+IGlmCisJICAgIGdpdmVuIG9yIHRvIHRoZSBvcmlnaW5hbCBuYW1lLgorCSAgPC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjx0dCBjbGFzcz0ib3B0aW9uIj52YWxpZGF0ZTwvdHQ+PC9zcGFuPjwvZHQ+PGRkPgorCSAgICBDaGVjayB0aGUgZG9jdW1lbnQgZm9yIGVycm9yLgorCSAgPC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjx0dCBjbGFzcz0ib3B0aW9uIj53cml0ZSA8aSBjbGFzcz0icmVwbGFjZWFibGUiPjx0dD5uYW1lPC90dD48L2k+PC90dD48L3NwYW4+PC9kdD48ZGQ+CisJICAgIFdyaXRlIHRoZSBjdXJyZW50IG5vZGUgdG8gdGhlIGdpdmVuIGZpbGVuYW1lLgorCSAgPC9kZD48L2RsPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InJlZnNlY3QxIiBsYW5nPSJlbiI+PGgyPkNhdGFsb2dzPC9oMj48cD5DYXRhbG9nIGJlaGF2aW9yIGNhbiBiZSBjaGFuZ2VkIGJ5IHJlZGlyZWN0aW5nCisgICAgIHF1ZXJpZXMgdG8gdGhlIHVzZXIncyBvd24gc2V0IG9mIGNhdGFsb2dzLiBUaGlzIGNhbiBiZSBkb25lIGJ5IHNldHRpbmcgdGhlCisgICAgIDx0dCBjbGFzcz0idmFybmFtZSI+WE1MX0NBVEFMT0dfRklMRVM8L3R0PiBlbnZpcm9ubWVudCB2YXJpYWJsZSB0byBhIGxpc3Qgb2YKKyAgICAgY2F0YWxvZ3MuIEFuIGVtcHR5IG9uZSBzaG91bGQgZGVhY3RpdmF0ZSBsb2FkaW5nIHRoZSBkZWZhdWx0CisgICAgICA8dHQgY2xhc3M9ImZpbGVuYW1lIj4vZXRjL3htbC9jYXRhbG9nPC90dD4gZGVmYXVsdCBjYXRhbG9nLjwvcD48L2Rpdj48ZGl2IGNsYXNzPSJyZWZzZWN0MSIgbGFuZz0iZW4iPjxoMj5EZWJ1Z2dpbmcgQ2F0YWxvZ3M8L2gyPjxwPlNldHRpbmcgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlIDx0dCBjbGFzcz0idmFybmFtZSI+WE1MX0RFQlVHX0NBVEFMT0c8L3R0PgorICAgIHVzaW5nIHRoZSBjb21tYW5kIDxiIGNsYXNzPSJjb21tYW5kIj4iZXhwb3J0IFhNTF9ERUJVR19DQVRBTE9HPSI8L2I+CisgICAgb3V0cHV0cyBkZWJ1Z2dpbmcgaW5mb3JtYXRpb24gcmVsYXRlZCB0byBjYXRhbG9nIG9wZXJhdGlvbnMuPC9wPjwvZGl2PjxkaXYgY2xhc3M9InJlZnNlY3QxIiBsYW5nPSJlbiI+PGgyPkVycm9yIFJldHVybiBDb2RlczwvaDI+PHA+T24gdGhlIGNvbXBsZXRpb24gb2YgZXhlY3V0aW9uLCA8c3BhbiBjbGFzcz0iYXBwbGljYXRpb24iPlhtbGxpbnQ8L3NwYW4+CisgICAgcmV0dXJucyB0aGUgZm9sbG93aW5nIGVycm9yIGNvZGVzOjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjxkbD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjA8L3NwYW4+PC9kdD48ZGQ+Tm8gZXJyb3I8L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+MTwvc3Bhbj48L2R0PjxkZD5VbmNsYXNzaWZpZWQ8L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+Mjwvc3Bhbj48L2R0PjxkZD5FcnJvciBpbiBEVEQ8L2RkPjxkdD48c3BhbiBjbGFzcz0idGVybSI+Mzwvc3Bhbj48L2R0PjxkZD5WYWxpZGF0aW9uIGVycm9yPC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjQ8L3NwYW4+PC9kdD48ZGQ+VmFsaWRhdGlvbiBlcnJvcjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj41PC9zcGFuPjwvZHQ+PGRkPkVycm9yIGluIHNjaGVtYSBjb21waWxhdGlvbjwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj42PC9zcGFuPjwvZHQ+PGRkPkVycm9yIHdyaXRpbmcgb3V0cHV0PC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjc8L3NwYW4+PC9kdD48ZGQ+RXJyb3IgaW4gcGF0dGVybiAoZ2VuZXJhdGVkIHdoZW4KKwkgIFs8c3BhbiBjbGFzcz0ib3B0aW9uYWwiPi0tcGF0dGVybjwvc3Bhbj5dIG9wdGlvbiBpcyB1c2VkKTwvZGQ+PGR0PjxzcGFuIGNsYXNzPSJ0ZXJtIj44PC9zcGFuPjwvZHQ+PGRkPkVycm9yIGluIFJlYWRlciByZWdpc3RyYXRpb24gKGdlbmVyYXRlZCB3aGVuCisJICBbPHNwYW4gY2xhc3M9Im9wdGlvbmFsIj4tLWNoa3JlZ2lzdGVyPC9zcGFuPl0gb3B0aW9uIGlzIHVzZWQpPC9kZD48ZHQ+PHNwYW4gY2xhc3M9InRlcm0iPjk8L3NwYW4+PC9kdD48ZGQ+T3V0IG9mIG1lbW9yeSBlcnJvcjwvZGQ+PC9kbD48L2Rpdj48L2Rpdj48L2Rpdj48L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MveG1sbGludC54bWwgYi9saWJ4bWwyL2RvYy94bWxsaW50LnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMDA4MTc5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9kb2MveG1sbGludC54bWwKQEAgLTAsMCArMSw5MzAgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPD94bWwtc3R5bGVzaGVldCB0eXBlPSJ0ZXh0L3hzbCIKKyAgIGhyZWY9Imh0dHA6Ly9kb2Nib29rLnNvdXJjZWZvcmdlLm5ldC9yZWxlYXNlL3hzbC9jdXJyZW50L21hbnBhZ2VzL2RvY2Jvb2sueHNsIj8+Cis8IURPQ1RZUEUgcmVmZW50cnkgUFVCTElDICItLy9PQVNJUy8vRFREIERvY0Jvb2sgWE1MIFY0LjEuMi8vRU4iCisgICAgImh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvZG9jYm9vay94bWwvNC4xLjIvZG9jYm9va3guZHRkIiBbCisgICAgCisgICAgPCFFTlRJVFkgeG1sbGludCAiPGNvbW1hbmQ+eG1sbGludDwvY29tbWFuZD4iPgorXT4KKworPHJlZmVudHJ5PgorCis8cmVmZW50cnlpbmZvPgorCTx0aXRsZT54bWxsaW50IE1hbnVhbDwvdGl0bGU+CisJPHByb2R1Y3RuYW1lPmxpYnhtbDI8L3Byb2R1Y3RuYW1lPgorCTxjb3B5cmlnaHQ+CisJCTx5ZWFyPjIwMDE8L3llYXI+CisJCTx5ZWFyPjIwMDQ8L3llYXI+CisJPC9jb3B5cmlnaHQ+CisJPGF1dGhvcmdyb3VwPgorCQk8YXV0aG9yPgorCQkJPGZpcnN0bmFtZT5Kb2huPC9maXJzdG5hbWU+CisJCQk8c3VybmFtZT5GbGVjazwvc3VybmFtZT4KKwkJCTxhZmZpbGlhdGlvbj4KKwkJCQk8YWRkcmVzcz4KKwkJCQkJPGVtYWlsPmpmbGVja0BpbmtzdGFpbi5uZXQ8L2VtYWlsPgorCQkJCTwvYWRkcmVzcz4KKwkJCTwvYWZmaWxpYXRpb24+CisJCTwvYXV0aG9yPgorCQk8YXV0aG9yPgorCQkJPGZpcnN0bmFtZT5aaXlpbmc8L2ZpcnN0bmFtZT4KKwkJCTxzdXJuYW1lPlNoZXJ3aW48L3N1cm5hbWU+CisJCQk8YWZmaWxpYXRpb24+CisJCQkJPGFkZHJlc3M+CisJCQkJCTxlbWFpbD5zaGVyd2luQG5sbS5uaWguZ292PC9lbWFpbD4KKwkJCQk8L2FkZHJlc3M+CisJCQk8L2FmZmlsaWF0aW9uPgorCQk8L2F1dGhvcj4KKwkJPGF1dGhvcj4KKwkJCTxmaXJzdG5hbWU+SGVpa288L2ZpcnN0bmFtZT4KKwkJCTxzdXJuYW1lPlJ1cHA8L3N1cm5hbWU+CisJCQk8YWZmaWxpYXRpb24+CisJCQkJPGFkZHJlc3M+CisJCQkJCTxlbWFpbD5od3JAcGlsaHVobi5kZTwvZW1haWw+CisJCQkJPC9hZGRyZXNzPgorCQkJPC9hZmZpbGlhdGlvbj4KKwkJPC9hdXRob3I+CisJPC9hdXRob3Jncm91cD4KKwk8IS0tIGRhdGUgc2hvdWxkIGJlIHRoZSBkYXRlIG9mIHRoZSBsYXRlc3QgY2hhbmdlIG9yIHRoZSByZWxlYXNlIHZlcnNpb24gLS0+CisJPGRhdGU+JERhdGUkPC9kYXRlPgorCTwhLS0gc3RpbGwgYSBiaXQgYnVnZ3kgb3V0cHV0LCB3aWxsIHRhbGsgdG8gZG9jYm9vay14c2wgdXBzdHJlYW0gdG8gZml4IHRoaXMgLS0+CisJPCEtLSA8cmVsZWFzZWluZm8+VGhpcyBpcyByZWxlYXNlIDAuNSBvZiB0aGUgeG1sbGludCBNYW51YWwuPC9yZWxlYXNlaW5mbz4gLS0+CisJPCEtLSA8ZWRpdGlvbj4wLjU8L2VkaXRpb24+IC0tPgorPC9yZWZlbnRyeWluZm8+CisKKzxyZWZtZXRhPgorCTxyZWZlbnRyeXRpdGxlPnhtbGxpbnQ8L3JlZmVudHJ5dGl0bGU+CisJPG1hbnZvbG51bT4xPC9tYW52b2xudW0+Cis8L3JlZm1ldGE+CisKKzxyZWZuYW1lZGl2PgorCTxyZWZuYW1lPnhtbGxpbnQ8L3JlZm5hbWU+CisJPHJlZnB1cnBvc2U+Y29tbWFuZCBsaW5lIDxhY3JvbnltPlhNTDwvYWNyb255bT4gdG9vbDwvcmVmcHVycG9zZT4KKzwvcmVmbmFtZWRpdj4KKworPHJlZnN5bm9wc2lzZGl2PgorCTxjbWRzeW5vcHNpcz4KKwk8Y29tbWFuZD54bWxsaW50PC9jb21tYW5kPgorCQk8Z3JvdXAgY2hvaWNlPSJvcHQiPgorCQkJPGFyZyBjaG9pY2U9InBsYWluIj48b3B0aW9uPi0tdmVyc2lvbjwvb3B0aW9uPjwvYXJnPgorCQkJPGFyZyBjaG9pY2U9InBsYWluIj48b3B0aW9uPi0tZGVidWc8L29wdGlvbj48L2FyZz4KKwkJCTxhcmcgY2hvaWNlPSJwbGFpbiI+PG9wdGlvbj4tLXNoZWxsPC9vcHRpb24+PC9hcmc+CisJCQk8YXJnIGNob2ljZT0icGxhaW4iPjxvcHRpb24+LS14cGF0aCAiPHJlcGxhY2VhYmxlIGNsYXNzPSJvcHRpb24iPlhQYXRoX2V4cHJlc3Npb248L3JlcGxhY2VhYmxlPiI8L29wdGlvbj48L2FyZz4KKwkJCTxhcmcgY2hvaWNlPSJwbGFpbiI+PG9wdGlvbj4tLWRlYnVnZW50PC9vcHRpb24+PC9hcmc+CisJCQk8YXJnIGNob2ljZT0icGxhaW4iPjxvcHRpb24+LS1jb3B5PC9vcHRpb24+PC9hcmc+CisJCQk8YXJnIGNob2ljZT0icGxhaW4iPjxvcHRpb24+LS1yZWNvdmVyPC9vcHRpb24+PC9hcmc+CisJCQk8YXJnIGNob2ljZT0icGxhaW4iPjxvcHRpb24+LS1ub2VudDwvb3B0aW9uPjwvYXJnPgorCQkJPGFyZyBjaG9pY2U9InBsYWluIj48b3B0aW9uPi0tbm9vdXQ8L29wdGlvbj48L2FyZz4KKwkJCTxhcmcgY2hvaWNlPSJwbGFpbiI+PG9wdGlvbj4tLW5vbmV0PC9vcHRpb24+PC9hcmc+CisJCQk8YXJnIGNob2ljZT0icGxhaW4iPjxvcHRpb24+LS1wYXRoICI8cmVwbGFjZWFibGUgY2xhc3M9Im9wdGlvbiI+UEFUSChTKTwvcmVwbGFjZWFibGU+Ijwvb3B0aW9uPjwvYXJnPgorCQkJPGFyZyBjaG9pY2U9InBsYWluIj48b3B0aW9uPi0tbG9hZC10cmFjZTwvb3B0aW9uPjwvYXJnPgorCQkJPGFyZyBjaG9pY2U9InBsYWluIj48b3B0aW9uPi0taHRtbG91dDwvb3B0aW9uPjwvYXJnPgorCQkJPGFyZyBjaG9pY2U9InBsYWluIj48b3B0aW9uPi0tbm93cmFwPC9vcHRpb24+PC9hcmc+CisJCQk8YXJnIGNob2ljZT0icGxhaW4iPjxvcHRpb24+LS12YWxpZDwvb3B0aW9uPjwvYXJnPgorCQkJPGFyZyBjaG9pY2U9InBsYWluIj48b3B0aW9uPi0tcG9zdHZhbGlkPC9vcHRpb24+PC9hcmc+CisJCQk8YXJnIGNob2ljZT0icGxhaW4iPjxvcHRpb24+LS1kdGR2YWxpZCA8cmVwbGFjZWFibGUgY2xhc3M9Im9wdGlvbiI+VVJMPC9yZXBsYWNlYWJsZT48L29wdGlvbj48L2FyZz4KKwkJCTxhcmcgY2hvaWNlPSJwbGFpbiI+PG9wdGlvbj4tLWR0ZHZhbGlkZnBpIDxyZXBsYWNlYWJsZSBjbGFzcz0ib3B0aW9uIj5GUEk8L3JlcGxhY2VhYmxlPjwvb3B0aW9uPjwvYXJnPgorCQkJPGFyZyBjaG9pY2U9InBsYWluIj48b3B0aW9uPi0tdGltaW5nPC9vcHRpb24+PC9hcmc+CisJCQk8YXJnIGNob2ljZT0icGxhaW4iPjxvcHRpb24+LS1vdXRwdXQgPHJlcGxhY2VhYmxlIGNsYXNzPSJvcHRpb24iPkZJTEU8L3JlcGxhY2VhYmxlPjwvb3B0aW9uPjwvYXJnPgorCQkJPGFyZyBjaG9pY2U9InBsYWluIj48b3B0aW9uPi0tcmVwZWF0PC9vcHRpb24+PC9hcmc+CisJCQk8YXJnIGNob2ljZT0icGxhaW4iPjxvcHRpb24+LS1pbnNlcnQ8L29wdGlvbj48L2FyZz4KKwkJCTxhcmcgY2hvaWNlPSJwbGFpbiI+PG9wdGlvbj4tLWNvbXByZXNzPC9vcHRpb24+PC9hcmc+CisJCQk8YXJnIGNob2ljZT0icGxhaW4iPjxvcHRpb24+LS1odG1sPC9vcHRpb24+PC9hcmc+CisJCQk8YXJnIGNob2ljZT0icGxhaW4iPjxvcHRpb24+LS14bWxvdXQ8L29wdGlvbj48L2FyZz4KKwkJCTxhcmcgY2hvaWNlPSJwbGFpbiI+PG9wdGlvbj4tLXB1c2g8L29wdGlvbj48L2FyZz4KKwkJCTxhcmcgY2hvaWNlPSJwbGFpbiI+PG9wdGlvbj4tLW1lbW9yeTwvb3B0aW9uPjwvYXJnPgorCQkJPGFyZyBjaG9pY2U9InBsYWluIj48b3B0aW9uPi0tbWF4bWVtIDxyZXBsYWNlYWJsZSBjbGFzcz0ib3B0aW9uIj5OQkJZVEVTPC9yZXBsYWNlYWJsZT48L29wdGlvbj48L2FyZz4KKwkJCTxhcmcgY2hvaWNlPSJwbGFpbiI+PG9wdGlvbj4tLW5vd2FybmluZzwvb3B0aW9uPjwvYXJnPgorCQkJPGFyZyBjaG9pY2U9InBsYWluIj48b3B0aW9uPi0tbm9ibGFua3M8L29wdGlvbj48L2FyZz4KKwkJCTxhcmcgY2hvaWNlPSJwbGFpbiI+PG9wdGlvbj4tLW5vY2RhdGE8L29wdGlvbj48L2FyZz4KKwkJCTxhcmcgY2hvaWNlPSJwbGFpbiI+PG9wdGlvbj4tLWZvcm1hdDwvb3B0aW9uPjwvYXJnPgorCQkJPGFyZyBjaG9pY2U9InBsYWluIj48b3B0aW9uPi0tZW5jb2RlIDxyZXBsYWNlYWJsZSBjbGFzcz0ib3B0aW9uIj5FTkNPRElORzwvcmVwbGFjZWFibGU+PC9vcHRpb24+PC9hcmc+CisJCQk8YXJnIGNob2ljZT0icGxhaW4iPjxvcHRpb24+LS1kcm9wZHRkPC9vcHRpb24+PC9hcmc+CisJCQk8YXJnIGNob2ljZT0icGxhaW4iPjxvcHRpb24+LS1uc2NsZWFuPC9vcHRpb24+PC9hcmc+CisJCQk8YXJnIGNob2ljZT0icGxhaW4iPjxvcHRpb24+LS10ZXN0SU88L29wdGlvbj48L2FyZz4KKwkJCTxhcmcgY2hvaWNlPSJwbGFpbiI+PG9wdGlvbj4tLWNhdGFsb2dzPC9vcHRpb24+PC9hcmc+CisJCQk8YXJnIGNob2ljZT0icGxhaW4iPjxvcHRpb24+LS1ub2NhdGFsb2dzPC9vcHRpb24+PC9hcmc+CisJCQk8YXJnIGNob2ljZT0icGxhaW4iPjxvcHRpb24+LS1hdXRvPC9vcHRpb24+PC9hcmc+CisJCQk8YXJnIGNob2ljZT0icGxhaW4iPjxvcHRpb24+LS14aW5jbHVkZTwvb3B0aW9uPjwvYXJnPgorCQkJPGFyZyBjaG9pY2U9InBsYWluIj48b3B0aW9uPi0tbm94aW5jbHVkZW5vZGU8L29wdGlvbj48L2FyZz4KKwkJCTxhcmcgY2hvaWNlPSJwbGFpbiI+PG9wdGlvbj4tLWxvYWRkdGQ8L29wdGlvbj48L2FyZz4KKwkJCTxhcmcgY2hvaWNlPSJwbGFpbiI+PG9wdGlvbj4tLWR0ZGF0dHI8L29wdGlvbj48L2FyZz4KKwkJCTxhcmcgY2hvaWNlPSJwbGFpbiI+PG9wdGlvbj4tLXN0cmVhbTwvb3B0aW9uPjwvYXJnPgorCQkJPGFyZyBjaG9pY2U9InBsYWluIj48b3B0aW9uPi0td2Fsa2VyPC9vcHRpb24+PC9hcmc+CisJCQk8YXJnIGNob2ljZT0icGxhaW4iPjxvcHRpb24+LS1wYXR0ZXJuIDxyZXBsYWNlYWJsZSBjbGFzcz0ib3B0aW9uIj5QQVRURVJOVkFMVUU8L3JlcGxhY2VhYmxlPjwvb3B0aW9uPjwvYXJnPgorCQkJPGFyZyBjaG9pY2U9InBsYWluIj48b3B0aW9uPi0tY2hrcmVnaXN0ZXI8L29wdGlvbj48L2FyZz4KKwkJCTxhcmcgY2hvaWNlPSJwbGFpbiI+PG9wdGlvbj4tLXJlbGF4bmcgPHJlcGxhY2VhYmxlIGNsYXNzPSJvcHRpb24iPlNDSEVNQTwvcmVwbGFjZWFibGU+PC9vcHRpb24+PC9hcmc+CisJCQk8YXJnIGNob2ljZT0icGxhaW4iPjxvcHRpb24+LS1zY2hlbWEgPHJlcGxhY2VhYmxlIGNsYXNzPSJvcHRpb24iPlNDSEVNQTwvcmVwbGFjZWFibGU+PC9vcHRpb24+PC9hcmc+CisJCQk8YXJnIGNob2ljZT0icGxhaW4iPjxvcHRpb24+LS1jMTRuPC9vcHRpb24+PC9hcmc+CisJCTwvZ3JvdXA+CisJCTxncm91cCBjaG9pY2U9InJlcSI+CisJCQk8YXJnIGNob2ljZT0icGxhaW4iIHJlcD0icmVwZWF0Ij48cmVwbGFjZWFibGU+WE1MLUZJTEUoUyk8L3JlcGxhY2VhYmxlPjwvYXJnPgorCQkJPGFyZyBjaG9pY2U9InBsYWluIiByZXA9Im5vcmVwZWF0Ij4tPC9hcmc+CisJCTwvZ3JvdXA+CisJPC9jbWRzeW5vcHNpcz4KKwk8Y21kc3lub3BzaXM+CisJCTxjb21tYW5kPnhtbGxpbnQ8L2NvbW1hbmQ+CisJCTxhcmcgY2hvaWNlPSJwbGFpbiI+PG9wdGlvbj4tLWhlbHA8L29wdGlvbj48L2FyZz4KKwk8L2NtZHN5bm9wc2lzPgorPC9yZWZzeW5vcHNpc2Rpdj4KKworPHJlZnNlY3QxIGlkPSJkZXNjcmlwdGlvbiI+CisJPHRpdGxlPkRFU0NSSVBUSU9OPC90aXRsZT4KKwk8cGFyYT4KKwkJVGhlICZ4bWxsaW50OyBwcm9ncmFtIHBhcnNlcyBvbmUgb3IgbW9yZSA8YWNyb255bT5YTUw8L2Fjcm9ueW0+IGZpbGVzLAorCQlzcGVjaWZpZWQgb24gdGhlIGNvbW1hbmQgbGluZSBhcyA8cmVwbGFjZWFibGU+WE1MLUZJTEU8L3JlcGxhY2VhYmxlPgorCQkob3IgdGhlIHN0YW5kYXJkIGlucHV0IGlmIHRoZSBmaWxlbmFtZSBwcm92aWRlZAorCQlpcyA8ZW1waGFzaXMgcm9sZT0iYm9sZCI+LTwvZW1waGFzaXM+ICkuIEl0IHByaW50cyB2YXJpb3VzIHR5cGVzIG9mCisJCW91dHB1dCwgZGVwZW5kaW5nIHVwb24gdGhlIG9wdGlvbnMgc2VsZWN0ZWQuIEl0IGlzIHVzZWZ1bCBmb3IgZGV0ZWN0aW5nCisJCWVycm9ycyBib3RoIGluIDxhY3JvbnltPlhNTDwvYWNyb255bT4gY29kZSBhbmQgaW4KKwkJdGhlIDxhY3JvbnltPlhNTDwvYWNyb255bT4gcGFyc2VyIGl0c2VsZi4KKwk8L3BhcmE+CisJPHBhcmE+JnhtbGxpbnQ7IGlzIGluY2x1ZGVkIGluIDxjaXRlcmVmZW50cnk+CisJCTxyZWZlbnRyeXRpdGxlPmxpYnhtbDwvcmVmZW50cnl0aXRsZT4KKwkJPG1hbnZvbG51bT4zPC9tYW52b2xudW0+CisJPC9jaXRlcmVmZW50cnk+LjwvcGFyYT4KKzwvcmVmc2VjdDE+CisKKzxyZWZzZWN0MSBpZD0ib3B0aW9ucyI+CisJPHRpdGxlPk9QVElPTlM8L3RpdGxlPgorCTxwYXJhPgorCQkmeG1sbGludDsgYWNjZXB0cyB0aGUgZm9sbG93aW5nIG9wdGlvbnMgKGluIGFscGhhYmV0aWNhbCBvcmRlcik6CisJPC9wYXJhPgorCisJPHZhcmlhYmxlbGlzdD4KKworCQk8dmFybGlzdGVudHJ5PgorCTx0ZXJtPjxvcHRpb24+LS1hdXRvPC9vcHRpb24+PC90ZXJtPgorCTxsaXN0aXRlbT4KKwkJPHBhcmE+R2VuZXJhdGUgYSBzbWFsbCBkb2N1bWVudCBmb3IgdGVzdGluZyBwdXJwb3Nlcy48L3BhcmE+CisJPC9saXN0aXRlbT4KKwkJPC92YXJsaXN0ZW50cnk+CisKKwkJPHZhcmxpc3RlbnRyeT4KKwk8dGVybT48b3B0aW9uPi0tY2F0YWxvZ3M8L29wdGlvbj48L3Rlcm0+CisJPGxpc3RpdGVtPgorCQk8cGFyYT4KKwkJCVVzZSB0aGUgPGFjcm9ueW0+U0dNTDwvYWNyb255bT4gY2F0YWxvZyhzKSBmcm9tIDxlbnZhcj5TR01MX0NBVEFMT0dfRklMRVM8L2VudmFyPi4KKwkJCU90aGVyd2lzZSA8YWNyb255bT5YTUw8L2Fjcm9ueW0+IGNhdGFsb2dzIHN0YXJ0aW5nCisJCQlmcm9tIDxmaWxlbmFtZT4vZXRjL3htbC9jYXRhbG9nPC9maWxlbmFtZT4gYXJlIHVzZWQgYnkgZGVmYXVsdC4KKwkJPC9wYXJhPgorCTwvbGlzdGl0ZW0+CisJCTwvdmFybGlzdGVudHJ5PgorCisJCTx2YXJsaXN0ZW50cnk+CisJPHRlcm0+PG9wdGlvbj4tLWNoa3JlZ2lzdGVyPC9vcHRpb24+PC90ZXJtPgorCTxsaXN0aXRlbT4KKwkJPHBhcmE+CisJCQlUdXJuIG9uIG5vZGUgcmVnaXN0cmF0aW9uLiBVc2VmdWwgZm9yIGRldmVsb3BlcnMgdGVzdGluZyA8Y2l0ZXJlZmVudHJ5PgorCQk8cmVmZW50cnl0aXRsZT5saWJ4bWw8L3JlZmVudHJ5dGl0bGU+CisJCTxtYW52b2xudW0+MzwvbWFudm9sbnVtPgorCTwvY2l0ZXJlZmVudHJ5PiBub2RlIHRyYWNraW5nIGNvZGUuCisJCTwvcGFyYT4KKwk8L2xpc3RpdGVtPgorCQk8L3Zhcmxpc3RlbnRyeT4KKworCQk8dmFybGlzdGVudHJ5PgorCTx0ZXJtPjxvcHRpb24+LS1jb21wcmVzczwvb3B0aW9uPjwvdGVybT4KKwk8bGlzdGl0ZW0+CisJCTxwYXJhPgorCQkJVHVybiBvbiA8Y2l0ZXJlZmVudHJ5PgorCQk8cmVmZW50cnl0aXRsZT5nemlwPC9yZWZlbnRyeXRpdGxlPgorCQk8bWFudm9sbnVtPjE8L21hbnZvbG51bT4KKwk8L2NpdGVyZWZlbnRyeT4gY29tcHJlc3Npb24gb2Ygb3V0cHV0LgorCQk8L3BhcmE+CisJPC9saXN0aXRlbT4KKwkJPC92YXJsaXN0ZW50cnk+CisKKwkJPHZhcmxpc3RlbnRyeT4KKwk8dGVybT48b3B0aW9uPi0tY29weTwvb3B0aW9uPjwvdGVybT4KKwk8bGlzdGl0ZW0+CisJCTxwYXJhPlRlc3QgdGhlIGludGVybmFsIGNvcHkgaW1wbGVtZW50YXRpb24uPC9wYXJhPgorCTwvbGlzdGl0ZW0+CisJCTwvdmFybGlzdGVudHJ5PgorCisJCTx2YXJsaXN0ZW50cnk+CisJPHRlcm0+PG9wdGlvbj4tLWMxNG48L29wdGlvbj48L3Rlcm0+CisJPGxpc3RpdGVtPgorCQk8cGFyYT4KKwkJCVVzZSB0aGUgVzNDIDxhY3JvbnltPlhNTDwvYWNyb255bT4gQ2Fub25pY2FsaXNhdGlvbiAoPGFjcm9ueW0+QzE0TjwvYWNyb255bT4pIHRvCisJCQlzZXJpYWxpemUgdGhlIHJlc3VsdCBvZiBwYXJzaW5nIHRvIDxmaWxlbmFtZSBjbGFzcz0iZGV2aWNlZmlsZSI+c3Rkb3V0PC9maWxlbmFtZT4uCisJCQlJdCBrZWVwcyBjb21tZW50cyBpbiB0aGUgcmVzdWx0LgorCQk8L3BhcmE+CisJPC9saXN0aXRlbT4KKwkJPC92YXJsaXN0ZW50cnk+CisKKwkJPHZhcmxpc3RlbnRyeT4KKwk8dGVybT48b3B0aW9uPi0tZHRkdmFsaWQgPHJlcGxhY2VhYmxlIGNsYXNzPSJvcHRpb24iPlVSTDwvcmVwbGFjZWFibGU+PC9vcHRpb24+PC90ZXJtPgorCTxsaXN0aXRlbT4KKwkJPHBhcmE+CisJCQlVc2UgdGhlIDxhY3JvbnltPkRURDwvYWNyb255bT4gc3BlY2lmaWVkIGJ5CisJCQlhbiA8cmVwbGFjZWFibGU+VVJMPC9yZXBsYWNlYWJsZT4gZm9yIHZhbGlkYXRpb24uCisJCTwvcGFyYT4KKwk8L2xpc3RpdGVtPgorCQk8L3Zhcmxpc3RlbnRyeT4KKworCQk8dmFybGlzdGVudHJ5PgorCTx0ZXJtPjxvcHRpb24+LS1kdGR2YWxpZGZwaSA8cmVwbGFjZWFibGUgY2xhc3M9Im9wdGlvbiI+RlBJPC9yZXBsYWNlYWJsZT48L29wdGlvbj48L3Rlcm0+CisJPGxpc3RpdGVtPgorCQk8cGFyYT4KKwkJCVVzZSB0aGUgPGFjcm9ueW0+RFREPC9hY3JvbnltPiBzcGVjaWZpZWQgYnkgYSBGb3JtYWwgUHVibGljCisJCQlJZGVudGlmaWVyIDxyZXBsYWNlYWJsZT5GUEk8L3JlcGxhY2VhYmxlPiBmb3IgdmFsaWRhdGlvbiwgbm90ZSB0aGF0IHRoaXMKKwkJCXdpbGwgcmVxdWlyZSBhIGNhdGFsb2cgZXhwb3J0aW5nIHRoYXQgRm9ybWFsIFB1YmxpYyBJZGVudGlmaWVyIHRvIHdvcmsuCisJCTwvcGFyYT4KKwk8L2xpc3RpdGVtPgorCQk8L3Zhcmxpc3RlbnRyeT4KKworCQk8dmFybGlzdGVudHJ5PgorCTx0ZXJtPjxvcHRpb24+LS1kZWJ1Zzwvb3B0aW9uPjwvdGVybT4KKwk8bGlzdGl0ZW0+CisJCTxwYXJhPgorCQkJUGFyc2UgYSBmaWxlIGFuZCBvdXRwdXQgYW4gYW5ub3RhdGVkIHRyZWUgb2YgdGhlCisJCQlpbi1tZW1vcnkgdmVyc2lvbiBvZiB0aGUgZG9jdW1lbnQuCisJCTwvcGFyYT4KKwk8L2xpc3RpdGVtPgorCQk8L3Zhcmxpc3RlbnRyeT4KKworCQk8dmFybGlzdGVudHJ5PgorCTx0ZXJtPjxvcHRpb24+LS1kZWJ1Z2VudDwvb3B0aW9uPjwvdGVybT4KKwk8bGlzdGl0ZW0+CisJCTxwYXJhPkRlYnVnIHRoZSBlbnRpdGllcyBkZWZpbmVkIGluIHRoZSBkb2N1bWVudC48L3BhcmE+CisJPC9saXN0aXRlbT4KKwkJPC92YXJsaXN0ZW50cnk+CisKKwkJPHZhcmxpc3RlbnRyeT4KKwk8dGVybT48b3B0aW9uPi0tZHJvcGR0ZDwvb3B0aW9uPjwvdGVybT4KKwk8bGlzdGl0ZW0+CisJCTxwYXJhPlJlbW92ZSA8YWNyb255bT5EVEQ8L2Fjcm9ueW0+IGZyb20gb3V0cHV0LjwvcGFyYT4KKwk8L2xpc3RpdGVtPgorCQk8L3Zhcmxpc3RlbnRyeT4KKworCQk8dmFybGlzdGVudHJ5PgorCTx0ZXJtPjxvcHRpb24+LS1kdGRhdHRyPC9vcHRpb24+PC90ZXJtPgorCTxsaXN0aXRlbT4KKwkJPHBhcmE+CisJCQlGZXRjaCBleHRlcm5hbCA8YWNyb255bT5EVEQ8L2Fjcm9ueW0+IGFuZCBwb3B1bGF0ZSB0aGUgdHJlZSB3aXRoCisJCQlpbmhlcml0ZWQgYXR0cmlidXRlcy4KKwkJPC9wYXJhPgorCTwvbGlzdGl0ZW0+CisJCTwvdmFybGlzdGVudHJ5PgorCisJCTx2YXJsaXN0ZW50cnk+CisJPHRlcm0+PG9wdGlvbj4tLWVuY29kZSA8cmVwbGFjZWFibGUgY2xhc3M9Im9wdGlvbiI+RU5DT0RJTkc8L3JlcGxhY2VhYmxlPjwvb3B0aW9uPjwvdGVybT4KKwk8bGlzdGl0ZW0+CisJCTxwYXJhPk91dHB1dCBpbiB0aGUgZ2l2ZW4gZW5jb2RpbmcuIE5vdGUgdGhhdCB0aGlzIHdvcmtzIGZvciBmdWxsIGRvY3VtZW50IG5vdCBmcmFnbWVudHMgb3IgcmVzdWx0IGZyb20gWFBhdGggcXVlcmllcy48L3BhcmE+CisJPC9saXN0aXRlbT4KKwkJPC92YXJsaXN0ZW50cnk+CisKKwkJPHZhcmxpc3RlbnRyeT4KKwk8dGVybT48b3B0aW9uPi0tZm9ybWF0PC9vcHRpb24+PC90ZXJtPgorCTxsaXN0aXRlbT4KKwkJPHBhcmE+CisJCQlSZWZvcm1hdCBhbmQgcmVpbmRlbnQgdGhlIG91dHB1dC4gVGhlIDxlbnZhcj5YTUxMSU5UX0lOREVOVDwvZW52YXI+CisJCQllbnZpcm9ubWVudCB2YXJpYWJsZSBjb250cm9scyB0aGUgaW5kZW50YXRpb24uIFRoZSBkZWZhdWx0IHZhbHVlIGlzIHR3bworCQkJc3BhY2VzICZxdW90OyAgJnF1b3Q7KS4KKwkJPC9wYXJhPgorCTwvbGlzdGl0ZW0+CisJCTwvdmFybGlzdGVudHJ5PgorCisJCTx2YXJsaXN0ZW50cnk+CisJPHRlcm0+PG9wdGlvbj4tLWhlbHA8L29wdGlvbj48L3Rlcm0+CisJPGxpc3RpdGVtPgorCQk8cGFyYT5QcmludCBvdXQgYSBzaG9ydCB1c2FnZSBzdW1tYXJ5IGZvciAmeG1sbGludDsuPC9wYXJhPgorCTwvbGlzdGl0ZW0+CisJCTwvdmFybGlzdGVudHJ5PgorCisJCTx2YXJsaXN0ZW50cnk+CisJPHRlcm0+PG9wdGlvbj4tLWh0bWw8L29wdGlvbj48L3Rlcm0+CisJPGxpc3RpdGVtPgorCQk8cGFyYT5Vc2UgdGhlIDxhY3JvbnltPkhUTUw8L2Fjcm9ueW0+IHBhcnNlci48L3BhcmE+CisJPC9saXN0aXRlbT4KKwkJPC92YXJsaXN0ZW50cnk+CisKKwkJPHZhcmxpc3RlbnRyeT4KKwk8dGVybT48b3B0aW9uPi0taHRtbG91dDwvb3B0aW9uPjwvdGVybT4KKwk8bGlzdGl0ZW0+CisJCTxwYXJhPgorCQkJT3V0cHV0IHJlc3VsdHMgYXMgYW4gPGFjcm9ueW0+SFRNTDwvYWNyb255bT4gZmlsZS4gVGhpcworCQkJY2F1c2VzICZ4bWxsaW50OyB0byBvdXRwdXQgdGhlIG5lY2Vzc2FyeSA8YWNyb255bT5IVE1MPC9hY3JvbnltPgorCQkJdGFncyBzdXJyb3VuZGluZyB0aGUgcmVzdWx0IHRyZWUgb3V0cHV0IHNvIHRoZSByZXN1bHRzIGNhbiBiZQorCQkJZGlzcGxheWVkL3ZpZXdlZCBpbiBhIGJyb3dzZXIuCisJCTwvcGFyYT4KKwk8L2xpc3RpdGVtPgorCQk8L3Zhcmxpc3RlbnRyeT4KKworCQk8dmFybGlzdGVudHJ5PgorCTx0ZXJtPjxvcHRpb24+LS1pbnNlcnQ8L29wdGlvbj48L3Rlcm0+CisJPGxpc3RpdGVtPgorCQk8cGFyYT5UZXN0IGZvciB2YWxpZCBpbnNlcnRpb25zLjwvcGFyYT4KKwk8L2xpc3RpdGVtPgorCQk8L3Zhcmxpc3RlbnRyeT4KKworCQk8dmFybGlzdGVudHJ5PgorCTx0ZXJtPjxvcHRpb24+LS1sb2FkZHRkPC9vcHRpb24+PC90ZXJtPgorCTxsaXN0aXRlbT4KKwkJPHBhcmE+RmV0Y2ggYW4gZXh0ZXJuYWwgPGFjcm9ueW0+RFREPC9hY3JvbnltPi48L3BhcmE+CisJPC9saXN0aXRlbT4KKwkJPC92YXJsaXN0ZW50cnk+CisKKwkJPHZhcmxpc3RlbnRyeT4KKwk8dGVybT48b3B0aW9uPi0tbG9hZC10cmFjZTwvb3B0aW9uPjwvdGVybT4KKwk8bGlzdGl0ZW0+CisJCTxwYXJhPgorCQkJRGlzcGxheSBhbGwgdGhlIGRvY3VtZW50cyBsb2FkZWQgZHVyaW5nIHRoZSBwcm9jZXNzaW5nCisJCQl0byA8ZmlsZW5hbWUgY2xhc3M9ImRldmljZWZpbGUiPnN0ZGVycjwvZmlsZW5hbWU+LgorCQk8L3BhcmE+CisJPC9saXN0aXRlbT4KKwkJPC92YXJsaXN0ZW50cnk+CisKKwkJPHZhcmxpc3RlbnRyeT4KKwk8dGVybT48b3B0aW9uPi0tbWF4bWVtIDxyZXBsYWNlYWJsZSBjbGFzcz0ib3B0aW9uIj5OTkJZVEVTPC9yZXBsYWNlYWJsZT48L29wdGlvbj48L3Rlcm0+CisJPGxpc3RpdGVtPgorCQk8cGFyYT4KKwkJCVRlc3QgdGhlIHBhcnNlciBtZW1vcnkgc3VwcG9ydC4gPHJlcGxhY2VhYmxlPk5OQllURVM8L3JlcGxhY2VhYmxlPgorCQkJaXMgdGhlIG1heGltdW0gbnVtYmVyIG9mIGJ5dGVzIHRoZSBsaWJyYXJ5IGlzIGFsbG93ZWQgdG8gYWxsb2NhdGUuCisJCQlUaGlzIGNhbiBhbHNvIGJlIHVzZWQgdG8gbWFrZSBzdXJlIGJhdGNoIHByb2Nlc3NpbmcKKwkJCW9mIDxhY3JvbnltPlhNTDwvYWNyb255bT4gZmlsZXMgd2lsbCBub3QgZXhoYXVzdCB0aGUgdmlydHVhbCBtZW1vcnkKKwkJCW9mIHRoZSBzZXJ2ZXIgcnVubmluZyB0aGVtLgorCQk8L3BhcmE+CisJPC9saXN0aXRlbT4KKwkJPC92YXJsaXN0ZW50cnk+CisKKwkJPHZhcmxpc3RlbnRyeT4KKwk8dGVybT48b3B0aW9uPi0tbWVtb3J5PC9vcHRpb24+PC90ZXJtPgorCTxsaXN0aXRlbT4KKwkJPHBhcmE+UGFyc2UgZnJvbSBtZW1vcnkuPC9wYXJhPgorCTwvbGlzdGl0ZW0+CisJCTwvdmFybGlzdGVudHJ5PgorCisJCTx2YXJsaXN0ZW50cnk+CisJPHRlcm0+PG9wdGlvbj4tLW5vYmxhbmtzPC9vcHRpb24+PC90ZXJtPgorCTxsaXN0aXRlbT4KKwkJPHBhcmE+RHJvcCBpZ25vcmFibGUgYmxhbmsgc3BhY2VzLjwvcGFyYT4KKwk8L2xpc3RpdGVtPgorCQk8L3Zhcmxpc3RlbnRyeT4KKworCQk8dmFybGlzdGVudHJ5PgorCTx0ZXJtPjxvcHRpb24+LS1ub2NhdGFsb2dzPC9vcHRpb24+PC90ZXJtPgorCTxsaXN0aXRlbT4KKwkJPHBhcmE+RG8gbm90IHVzZSBhbnkgY2F0YWxvZ3MuPC9wYXJhPgorCTwvbGlzdGl0ZW0+CisJCTwvdmFybGlzdGVudHJ5PgorCisJCTx2YXJsaXN0ZW50cnk+CisJPHRlcm0+PG9wdGlvbj4tLW5vY2RhdGE8L29wdGlvbj48L3Rlcm0+CisJPGxpc3RpdGVtPgorCQk8cGFyYT5TdWJzdGl0dXRlIENEQVRBIHNlY3Rpb24gYnkgZXF1aXZhbGVudCB0ZXh0IG5vZGVzLjwvcGFyYT4KKwk8L2xpc3RpdGVtPgorCQk8L3Zhcmxpc3RlbnRyeT4KKworCQk8dmFybGlzdGVudHJ5PgorCTx0ZXJtPjxvcHRpb24+LS1ub2VudDwvb3B0aW9uPjwvdGVybT4KKwk8bGlzdGl0ZW0+CisJCTxwYXJhPgorCQkJU3Vic3RpdHV0ZSBlbnRpdHkgdmFsdWVzIGZvciBlbnRpdHkgcmVmZXJlbmNlcy4gQnkgZGVmYXVsdCwgJnhtbGxpbnQ7CisJCQlsZWF2ZXMgZW50aXR5IHJlZmVyZW5jZXMgaW4gcGxhY2UuCisJCTwvcGFyYT4KKwk8L2xpc3RpdGVtPgorCQk8L3Zhcmxpc3RlbnRyeT4KKworCQk8dmFybGlzdGVudHJ5PgorCTx0ZXJtPjxvcHRpb24+LS1ub25ldDwvb3B0aW9uPjwvdGVybT4KKwk8bGlzdGl0ZW0+CisJCTxwYXJhPgorCQkJRG8gbm90IHVzZSB0aGUgSW50ZXJuZXQgdG8gZmV0Y2ggPGFjcm9ueW0+RFREPC9hY3JvbnltPnMgb3IgZW50aXRpZXMuCisJCTwvcGFyYT4KKwk8L2xpc3RpdGVtPgorCQk8L3Zhcmxpc3RlbnRyeT4KKworCQk8dmFybGlzdGVudHJ5PgorCTx0ZXJtPjxvcHRpb24+LS1ub291dDwvb3B0aW9uPjwvdGVybT4KKwk8bGlzdGl0ZW0+CisJCTxwYXJhPgorCQkJU3VwcHJlc3Mgb3V0cHV0LiBCeSBkZWZhdWx0LCAmeG1sbGludDsgb3V0cHV0cyB0aGUgcmVzdWx0IHRyZWUuCisJCTwvcGFyYT4KKwk8L2xpc3RpdGVtPgorCQk8L3Zhcmxpc3RlbnRyeT4KKworCQk8dmFybGlzdGVudHJ5PgorCTx0ZXJtPjxvcHRpb24+LS1ub3dhcm5pbmc8L29wdGlvbj48L3Rlcm0+CisJPGxpc3RpdGVtPgorCQk8cGFyYT5EbyBub3QgZW1pdCB3YXJuaW5ncyBmcm9tIHRoZSBwYXJzZXIgYW5kL29yIHZhbGlkYXRvci48L3BhcmE+CisJPC9saXN0aXRlbT4KKwkJPC92YXJsaXN0ZW50cnk+CisKKwkJPHZhcmxpc3RlbnRyeT4KKwk8dGVybT48b3B0aW9uPi0tbm93cmFwPC9vcHRpb24+PC90ZXJtPgorCTxsaXN0aXRlbT4KKwkJPHBhcmE+RG8gbm90IG91dHB1dCA8YWNyb255bT5IVE1MPC9hY3JvbnltPiBkb2Mgd3JhcHBlci48L3BhcmE+CisJPC9saXN0aXRlbT4KKwkJPC92YXJsaXN0ZW50cnk+CisKKwkJPHZhcmxpc3RlbnRyeT4KKwk8dGVybT48b3B0aW9uPi0tbm94aW5jbHVkZW5vZGU8L29wdGlvbj48L3Rlcm0+CisJPGxpc3RpdGVtPgorCQk8cGFyYT4KKwkJCURvIFhJbmNsdWRlIHByb2Nlc3NpbmcgYnV0IGRvIG5vdCBnZW5lcmF0ZSBYSW5jbHVkZSBzdGFydCBhbmQgZW5kIG5vZGVzLgorCQk8L3BhcmE+CisJPC9saXN0aXRlbT4KKwkJPC92YXJsaXN0ZW50cnk+CisKKwkJPHZhcmxpc3RlbnRyeT4KKwk8dGVybT48b3B0aW9uPi0tbnNjbGVhbjwvb3B0aW9uPjwvdGVybT4KKwk8bGlzdGl0ZW0+CisJCTxwYXJhPlJlbW92ZSByZWR1bmRhbnQgbmFtZXNwYWNlIGRlY2xhcmF0aW9ucy48L3BhcmE+CisJPC9saXN0aXRlbT4KKwkJPC92YXJsaXN0ZW50cnk+CisKKwkJPHZhcmxpc3RlbnRyeT4KKwk8dGVybT48b3B0aW9uPi0tb3V0cHV0IDxyZXBsYWNlYWJsZSBjbGFzcz0ib3B0aW9uIj5GSUxFPC9yZXBsYWNlYWJsZT48L29wdGlvbj48L3Rlcm0+CisJPGxpc3RpdGVtPgorCQk8cGFyYT4KKwkJCURlZmluZSBhIGZpbGUgcGF0aCB3aGVyZSAmeG1sbGludDsgd2lsbCBzYXZlIHRoZSByZXN1bHQgb2YgcGFyc2luZy4KKwkJCVVzdWFsbHkgdGhlIHByb2dyYW1zIGJ1aWxkIGEgdHJlZSBhbmQgc2F2ZSBpdAorCQkJb24gPGZpbGVuYW1lIGNsYXNzPSJkZXZpY2VmaWxlIj5zdGRvdXQ8L2ZpbGVuYW1lPiwgd2l0aCB0aGlzIG9wdGlvbgorCQkJdGhlIHJlc3VsdCA8YWNyb255bT5YTUw8L2Fjcm9ueW0+IGluc3RhbmNlIHdpbGwgYmUgc2F2ZWQgb250byBhIGZpbGUuCisJCTwvcGFyYT4KKwk8L2xpc3RpdGVtPgorCQk8L3Zhcmxpc3RlbnRyeT4KKworCQk8dmFybGlzdGVudHJ5PgorCTx0ZXJtPjxvcHRpb24+LS1wYXRoICI8cmVwbGFjZWFibGUgY2xhc3M9Im9wdGlvbiI+UEFUSChTKTwvcmVwbGFjZWFibGU+Ijwvb3B0aW9uPjwvdGVybT4KKwk8bGlzdGl0ZW0+CisJCTxwYXJhPgorCQkJVXNlIHRoZSAoc3BhY2UtIG9yIGNvbG9uLXNlcGFyYXRlZCkgbGlzdCBvZiBmaWxlc3lzdGVtIHBhdGhzIHNwZWNpZmllZAorCQkJYnkgPHJlcGxhY2VhYmxlPlBBVEhTPC9yZXBsYWNlYWJsZT4gdG8gbG9hZCA8YWNyb255bT5EVEQ8L2Fjcm9ueW0+cyBvcgorCQkJZW50aXRpZXMuIEVuY2xvc2Ugc3BhY2Utc2VwYXJhdGVkIGxpc3RzIGJ5IHF1b3RhdGlvbiBtYXJrcy4KKwkJPC9wYXJhPgorCTwvbGlzdGl0ZW0+CisJCTwvdmFybGlzdGVudHJ5PgorCisJCTx2YXJsaXN0ZW50cnk+CisJPHRlcm0+PG9wdGlvbj4tLXBhdHRlcm4gPHJlcGxhY2VhYmxlIGNsYXNzPSJvcHRpb24iPlBBVFRFUk5WQUxVRTwvcmVwbGFjZWFibGU+PC9vcHRpb24+PC90ZXJtPgorCTxsaXN0aXRlbT4KKwkJPHBhcmE+CisJCQlVc2VkIHRvIGV4ZXJjaXNlIHRoZSBwYXR0ZXJuIHJlY29nbml0aW9uIGVuZ2luZSwgd2hpY2ggY2FuIGJlIHVzZWQKKwkJCXdpdGggdGhlIHJlYWRlciBpbnRlcmZhY2UgdG8gdGhlIHBhcnNlci4gSXQgYWxsb3dzIHRvIHNlbGVjdCBzb21lCisJCQlub2RlcyBpbiB0aGUgZG9jdW1lbnQgYmFzZWQgb24gYW4gWFBhdGggKHN1YnNldCkgZXhwcmVzc2lvbi4gVXNlZAorCQkJZm9yIGRlYnVnZ2luZy4KKwkJPC9wYXJhPgorCTwvbGlzdGl0ZW0+CisJCTwvdmFybGlzdGVudHJ5PgorCisJCTx2YXJsaXN0ZW50cnk+CisJPHRlcm0+PG9wdGlvbj4tLXBvc3R2YWxpZDwvb3B0aW9uPjwvdGVybT4KKwk8bGlzdGl0ZW0+CisJCTxwYXJhPlZhbGlkYXRlIGFmdGVyIHBhcnNpbmcgaGFzIGNvbXBsZXRlZC48L3BhcmE+CisJPC9saXN0aXRlbT4KKwkJPC92YXJsaXN0ZW50cnk+CisKKwkJPHZhcmxpc3RlbnRyeT4KKwk8dGVybT48b3B0aW9uPi0tcHVzaDwvb3B0aW9uPjwvdGVybT4KKwk8bGlzdGl0ZW0+CisJCTxwYXJhPlVzZSB0aGUgcHVzaCBtb2RlIG9mIHRoZSBwYXJzZXIuPC9wYXJhPgorCTwvbGlzdGl0ZW0+CisJCTwvdmFybGlzdGVudHJ5PgorCisJCTx2YXJsaXN0ZW50cnk+CisJPHRlcm0+PG9wdGlvbj4tLXJlY292ZXI8L29wdGlvbj48L3Rlcm0+CisJPGxpc3RpdGVtPgorCQk8cGFyYT5PdXRwdXQgYW55IHBhcnNhYmxlIHBvcnRpb25zIG9mIGFuIGludmFsaWQgZG9jdW1lbnQuPC9wYXJhPgorCTwvbGlzdGl0ZW0+CisJCTwvdmFybGlzdGVudHJ5PgorCisJCTx2YXJsaXN0ZW50cnk+CisJPHRlcm0+PG9wdGlvbj4tLXJlbGF4bmcgPHJlcGxhY2VhYmxlIGNsYXNzPSJvcHRpb24iPlNDSEVNQTwvcmVwbGFjZWFibGU+PC9vcHRpb24+PC90ZXJtPgorCTxsaXN0aXRlbT4KKwkJPHBhcmE+CisJCQlVc2UgUmVsYXhORyBmaWxlIG5hbWVkIDxyZXBsYWNlYWJsZSBjbGFzcz0ib3B0aW9uIj5TQ0hFTUE8L3JlcGxhY2VhYmxlPgorCQkJZm9yIHZhbGlkYXRpb24uCisJCTwvcGFyYT4KKwk8L2xpc3RpdGVtPgorCQk8L3Zhcmxpc3RlbnRyeT4KKworCQk8dmFybGlzdGVudHJ5PgorCTx0ZXJtPjxvcHRpb24+LS1yZXBlYXQ8L29wdGlvbj48L3Rlcm0+CisJPGxpc3RpdGVtPgorCQk8cGFyYT5SZXBlYXQgMTAwIHRpbWVzLCBmb3IgdGltaW5nIG9yIHByb2ZpbGluZy48L3BhcmE+CisJPC9saXN0aXRlbT4KKwkJPC92YXJsaXN0ZW50cnk+CisKKwkJPHZhcmxpc3RlbnRyeT4KKwk8dGVybT48b3B0aW9uPi0tc2NoZW1hIDxyZXBsYWNlYWJsZT5TQ0hFTUE8L3JlcGxhY2VhYmxlPjwvb3B0aW9uPjwvdGVybT4KKwk8bGlzdGl0ZW0+CisJCTxwYXJhPgorCQkJVXNlIGEgVzNDIDxhY3JvbnltPlhNTDwvYWNyb255bT4gU2NoZW1hIGZpbGUKKwkJCW5hbWVkIDxyZXBsYWNlYWJsZT5TQ0hFTUE8L3JlcGxhY2VhYmxlPiBmb3IgdmFsaWRhdGlvbi4KKwkJPC9wYXJhPgorCTwvbGlzdGl0ZW0+CisJCTwvdmFybGlzdGVudHJ5PgorCisJCTx2YXJsaXN0ZW50cnk+CisJPHRlcm0+PG9wdGlvbj4tLXNoZWxsPC9vcHRpb24+PC90ZXJtPgorCTxsaXN0aXRlbT4KKwkJPHBhcmE+CisJCQlSdW4gYSBuYXZpZ2F0aW5nIHNoZWxsLiBEZXRhaWxzIG9uIGF2YWlsYWJsZSBjb21tYW5kcyBpbiBzaGVsbCBtb2RlCisJCQlhcmUgYmVsb3cgKHNlZSA8eHJlZiBsaW5rZW5kPSJzaGVsbCIvPikuCisJCTwvcGFyYT4KKwk8L2xpc3RpdGVtPgorCQk8L3Zhcmxpc3RlbnRyeT4KKworCQk8dmFybGlzdGVudHJ5PgorCTx0ZXJtPjxvcHRpb24+LS14cGF0aCAiPHJlcGxhY2VhYmxlIGNsYXNzPSJvcHRpb24iPlhQYXRoX2V4cHJlc3Npb248L3JlcGxhY2VhYmxlPiI8L29wdGlvbj48L3Rlcm0+CisJPGxpc3RpdGVtPgorCQk8cGFyYT4KKwkJCVJ1biBhbiBYUGF0aCBleHByZXNzaW9uIGdpdmVuIGFzIGFyZ3VtZW50IGFuZCBwcmludCB0aGUKKwkJCXJlc3VsdC4gSW4gY2FzZSBvZiBhIG5vZGVzZXQgcmVzdWx0LCBlYWNoIG5vZGUgaW4gdGhlCisJCQlub2RlIHNldCBpcyBzZXJpYWxpemVkIGluIGZ1bGwgaW4gdGhlIG91dHB1dC4gSW4gY2FzZQorCQkJb2YgYW4gZW1wdHkgbm9kZSBzZXQgdGhlICJYUGF0aCBzZXQgaXMgZW1wdHkiIHJlc3VsdAorCQkJd2lsbCBiZSBzaG93biBhbmQgYW4gZXJyb3IgZXhpdCBjb2RlIHdpbGwgYmUgcmV0dXJuZWQuCisJCTwvcGFyYT4KKwk8L2xpc3RpdGVtPgorCQk8L3Zhcmxpc3RlbnRyeT4KKworCQk8dmFybGlzdGVudHJ5PgorCTx0ZXJtPjxvcHRpb24+LS1zdHJlYW08L29wdGlvbj48L3Rlcm0+CisJPGxpc3RpdGVtPgorCQk8cGFyYT4KKwkJCVVzZSBzdHJlYW1pbmcgPGFjcm9ueW0+QVBJPC9hY3JvbnltPiAtIHVzZWZ1bCB3aGVuIHVzZWQgaW4gY29tYmluYXRpb24KKwkJCXdpdGggPG9wdGlvbj4tLXJlbGF4bmc8L29wdGlvbj4gb3IgPG9wdGlvbj4tLXZhbGlkPC9vcHRpb24+IG9wdGlvbnMKKwkJCWZvciB2YWxpZGF0aW9uIG9mIGZpbGVzIHRoYXQgYXJlIHRvbyBsYXJnZSB0byBiZSBoZWxkIGluIG1lbW9yeS4KKwkJPC9wYXJhPgorCTwvbGlzdGl0ZW0+CisJCTwvdmFybGlzdGVudHJ5PgorCisJCTx2YXJsaXN0ZW50cnk+CisJPHRlcm0+PG9wdGlvbj4tLXRlc3RJTzwvb3B0aW9uPjwvdGVybT4KKwk8bGlzdGl0ZW0+CisJCTxwYXJhPlRlc3QgdXNlciBpbnB1dC9vdXRwdXQgc3VwcG9ydC48L3BhcmE+CisJPC9saXN0aXRlbT4KKwkJPC92YXJsaXN0ZW50cnk+CisKKwkJPHZhcmxpc3RlbnRyeT4KKwk8dGVybT48b3B0aW9uPi0tdGltaW5nPC9vcHRpb24+PC90ZXJtPgorCTxsaXN0aXRlbT4KKwkJPHBhcmE+CisJCQlPdXRwdXQgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHRpbWUgaXQgdGFrZXMgJnhtbGxpbnQ7IHRvIHBlcmZvcm0gdGhlCisJCQl2YXJpb3VzIHN0ZXBzLgorCQk8L3BhcmE+CisJPC9saXN0aXRlbT4KKwkJPC92YXJsaXN0ZW50cnk+CisKKwkJPHZhcmxpc3RlbnRyeT4KKwk8dGVybT48b3B0aW9uPi0tdmFsaWQ8L29wdGlvbj48L3Rlcm0+CisJPGxpc3RpdGVtPgorCQk8cGFyYT4KKwkJCURldGVybWluZSBpZiB0aGUgZG9jdW1lbnQgaXMgYSB2YWxpZCBpbnN0YW5jZSBvZiB0aGUgaW5jbHVkZWQKKwkJCURvY3VtZW50IFR5cGUgRGVmaW5pdGlvbiAoPGFjcm9ueW0+RFREPC9hY3JvbnltPikuCisJCQlBIDxhY3JvbnltPkRURDwvYWNyb255bT4gdG8gYmUgdmFsaWRhdGVkIGFnYWluc3QgYWxzbyBjYW4gYmUKKwkJCXNwZWNpZmllZCBhdCB0aGUgY29tbWFuZCBsaW5lIHVzaW5nIHRoZSA8b3B0aW9uPi0tZHRkdmFsaWQ8L29wdGlvbj4KKwkJCW9wdGlvbi4gQnkgZGVmYXVsdCwgJnhtbGxpbnQ7IGFsc28gY2hlY2tzIHRvIGRldGVybWluZSBpZiB0aGUKKwkJCWRvY3VtZW50IGlzIHdlbGwtZm9ybWVkLgorCQk8L3BhcmE+CisJPC9saXN0aXRlbT4KKwkJPC92YXJsaXN0ZW50cnk+CisKKwkJPHZhcmxpc3RlbnRyeT4KKwk8dGVybT48b3B0aW9uPi0tdmVyc2lvbjwvb3B0aW9uPjwvdGVybT4KKwk8bGlzdGl0ZW0+CisJCTxwYXJhPgorCQkJRGlzcGxheSB0aGUgdmVyc2lvbiBvZiA8Y2l0ZXJlZmVudHJ5PgorCQk8cmVmZW50cnl0aXRsZT5saWJ4bWw8L3JlZmVudHJ5dGl0bGU+CisJCTxtYW52b2xudW0+MzwvbWFudm9sbnVtPgorCTwvY2l0ZXJlZmVudHJ5PiB1c2VkLgorCQk8L3BhcmE+CisJPC9saXN0aXRlbT4KKwkJPC92YXJsaXN0ZW50cnk+CisKKwkJPHZhcmxpc3RlbnRyeT4KKwk8dGVybT48b3B0aW9uPi0td2Fsa2VyPC9vcHRpb24+PC90ZXJtPgorCTxsaXN0aXRlbT4KKwkJPHBhcmE+CisJCQlUZXN0IHRoZSB3YWxrZXIgbW9kdWxlLCB3aGljaCBpcyBhIHJlYWRlciBpbnRlcmZhY2UgYnV0IGZvciBhCisJCQlkb2N1bWVudCB0cmVlLCBpbnN0ZWFkIG9mIHVzaW5nIHRoZSByZWFkZXIgPGFjcm9ueW0+QVBJPC9hY3JvbnltPiBvbgorCQkJYW4gdW5wYXJzZWQgZG9jdW1lbnQgaXQgd29ya3Mgb24gYW4gZXhpc3RpbmcgaW4tbWVtb3J5IHRyZWUuIFVzZWQgZm9yCisJCQlkZWJ1Z2dpbmcuCisJCTwvcGFyYT4KKwk8L2xpc3RpdGVtPgorCQk8L3Zhcmxpc3RlbnRyeT4KKworCQk8dmFybGlzdGVudHJ5PgorCTx0ZXJtPjxvcHRpb24+LS14aW5jbHVkZTwvb3B0aW9uPjwvdGVybT4KKwk8bGlzdGl0ZW0+CisJCTxwYXJhPkRvIFhJbmNsdWRlIHByb2Nlc3NpbmcuPC9wYXJhPgorCTwvbGlzdGl0ZW0+CisJCTwvdmFybGlzdGVudHJ5PgorCisJCTx2YXJsaXN0ZW50cnk+CisJPHRlcm0+PG9wdGlvbj4tLXhtbG91dDwvb3B0aW9uPjwvdGVybT4KKwk8bGlzdGl0ZW0+CisJCTxwYXJhPgorCQkJVXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIDxvcHRpb24+LS1odG1sPC9vcHRpb24+LiBVc3VhbGx5CisJCQl3aGVuIDxhY3JvbnltPkhUTUw8L2Fjcm9ueW0+IGlzIHBhcnNlZCB0aGUgZG9jdW1lbnQgaXMgc2F2ZWQgd2l0aAorCQkJdGhlIDxhY3JvbnltPkhUTUw8L2Fjcm9ueW0+IHNlcmlhbGl6ZXIuIEJ1dCB3aXRoIHRoaXMgb3B0aW9uIHRoZQorCQkJcmVzdWx0aW5nIGRvY3VtZW50IGlzIHNhdmVkIHdpdGggdGhlIDxhY3JvbnltPlhNTDwvYWNyb255bT4KKwkJCXNlcmlhbGl6ZXIuIFRoaXMgaXMgcHJpbWFyaWx5IHVzZWQgdG8KKwkJCWdlbmVyYXRlIDxhY3JvbnltPlhIVE1MPC9hY3JvbnltPiBmcm9tIDxhY3JvbnltPkhUTUw8L2Fjcm9ueW0+IGlucHV0LgorCQk8L3BhcmE+CisJPC9saXN0aXRlbT4KKwkJPC92YXJsaXN0ZW50cnk+CisKKwk8L3ZhcmlhYmxlbGlzdD4KKzwvcmVmc2VjdDE+CisKKzxyZWZzZWN0MSBpZD0ic2hlbGwiPgorCTx0aXRsZT5TSEVMTCBDT01NQU5EUzwvdGl0bGU+CisJPHBhcmE+CisJCSZ4bWxsaW50OyBvZmZlcnMgYW4gaW50ZXJhY3RpdmUgc2hlbGwgbW9kZSBpbnZva2VkIHdpdGgKKwkJdGhlIDxvcHRpb24+LS1zaGVsbDwvb3B0aW9uPiBjb21tYW5kLiBBdmFpbGFibGUgY29tbWFuZHMgaW4gc2hlbGwgbW9kZQorCQlpbmNsdWRlIChpbiBhbHBoYWJldGljYWwgb3JkZXIpOgorCTwvcGFyYT4KKwk8dmFyaWFibGVsaXN0PgorCisJCTx2YXJsaXN0ZW50cnk+CisJPHRlcm0+PGNvbW1hbmQ+YmFzZTwvY29tbWFuZD48L3Rlcm0+CisJPGxpc3RpdGVtPgorCQk8cGFyYT5EaXNwbGF5IDxhY3JvbnltPlhNTDwvYWNyb255bT4gYmFzZSBvZiB0aGUgbm9kZS48L3BhcmE+CisJPC9saXN0aXRlbT4KKwkJPC92YXJsaXN0ZW50cnk+CisKKwkJPHZhcmxpc3RlbnRyeT4KKwk8dGVybT48Y29tbWFuZD5ieWU8L2NvbW1hbmQ+PC90ZXJtPgorCTxsaXN0aXRlbT4KKwkJPHBhcmE+TGVhdmUgdGhlIHNoZWxsLjwvcGFyYT4KKwk8L2xpc3RpdGVtPgorCQk8L3Zhcmxpc3RlbnRyeT4KKworCQk8dmFybGlzdGVudHJ5PgorCTx0ZXJtPjxjb21tYW5kPmNhdCA8cmVwbGFjZWFibGU+Tk9ERTwvcmVwbGFjZWFibGU+PC9jb21tYW5kPjwvdGVybT4KKwk8bGlzdGl0ZW0+CisJCTxwYXJhPkRpc3BsYXkgdGhlIGdpdmVuIG5vZGUgb3IgdGhlIGN1cnJlbnQgb25lLjwvcGFyYT4KKwk8L2xpc3RpdGVtPgorCQk8L3Zhcmxpc3RlbnRyeT4KKworCQk8dmFybGlzdGVudHJ5PgorCTx0ZXJtPjxjb21tYW5kPmNkIDxyZXBsYWNlYWJsZT5QQVRIPC9yZXBsYWNlYWJsZT48L2NvbW1hbmQ+PC90ZXJtPgorCTxsaXN0aXRlbT4KKwkJPHBhcmE+CisJCQlDaGFuZ2UgdGhlIGN1cnJlbnQgbm9kZSB0byB0aGUgZ2l2ZW4gcGF0aCAoaWYgdW5pcXVlKSBvciByb290IGlmIG5vCisJCQlhcmd1bWVudCBpcyBnaXZlbi4KKwkJPC9wYXJhPgorCTwvbGlzdGl0ZW0+CisJCTwvdmFybGlzdGVudHJ5PgorCisJCTx2YXJsaXN0ZW50cnk+CisJPHRlcm0+PGNvbW1hbmQ+ZGlyIDxyZXBsYWNlYWJsZT5QQVRIPC9yZXBsYWNlYWJsZT48L2NvbW1hbmQ+PC90ZXJtPgorCTxsaXN0aXRlbT4KKwkJPHBhcmE+CisJCQlEdW1wcyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgbm9kZSAobmFtZXNwYWNlLCBhdHRyaWJ1dGVzLCBjb250ZW50KS4KKwkJPC9wYXJhPgorCTwvbGlzdGl0ZW0+CisJCTwvdmFybGlzdGVudHJ5PgorCisJCTx2YXJsaXN0ZW50cnk+CisJPHRlcm0+PGNvbW1hbmQ+ZHUgPHJlcGxhY2VhYmxlPlBBVEg8L3JlcGxhY2VhYmxlPjwvY29tbWFuZD48L3Rlcm0+CisJPGxpc3RpdGVtPgorCQk8cGFyYT4KKwkJCVNob3cgdGhlIHN0cnVjdHVyZSBvZiB0aGUgc3VidHJlZSB1bmRlciB0aGUgZ2l2ZW4gcGF0aCBvciB0aGUgY3VycmVudCBub2RlLgorCQk8L3BhcmE+CisJPC9saXN0aXRlbT4KKwkJPC92YXJsaXN0ZW50cnk+CisKKwkJPHZhcmxpc3RlbnRyeT4KKwk8dGVybT48Y29tbWFuZD5leGl0PC9jb21tYW5kPjwvdGVybT4KKwk8bGlzdGl0ZW0+CisJCTxwYXJhPkxlYXZlIHRoZSBzaGVsbC48L3BhcmE+CisJPC9saXN0aXRlbT4KKwkJPC92YXJsaXN0ZW50cnk+CisKKwkJPHZhcmxpc3RlbnRyeT4KKwk8dGVybT48Y29tbWFuZD5oZWxwPC9jb21tYW5kPjwvdGVybT4KKwk8bGlzdGl0ZW0+CisJCTxwYXJhPlNob3cgdGhpcyBoZWxwLjwvcGFyYT4KKwk8L2xpc3RpdGVtPgorCQk8L3Zhcmxpc3RlbnRyeT4KKworCQk8dmFybGlzdGVudHJ5PgorCTx0ZXJtPjxjb21tYW5kPmZyZWU8L2NvbW1hbmQ+PC90ZXJtPgorCTxsaXN0aXRlbT4KKwkJPHBhcmE+RGlzcGxheSBtZW1vcnkgdXNhZ2UuPC9wYXJhPgorCTwvbGlzdGl0ZW0+CisJCTwvdmFybGlzdGVudHJ5PgorCisJCTx2YXJsaXN0ZW50cnk+CisJPHRlcm0+PGNvbW1hbmQ+bG9hZCA8cmVwbGFjZWFibGU+RklMRU5BTUU8L3JlcGxhY2VhYmxlPjwvY29tbWFuZD48L3Rlcm0+CisJPGxpc3RpdGVtPgorCQk8cGFyYT5Mb2FkIGEgbmV3IGRvY3VtZW50IHdpdGggdGhlIGdpdmVuIGZpbGVuYW1lLjwvcGFyYT4KKwk8L2xpc3RpdGVtPgorCQk8L3Zhcmxpc3RlbnRyeT4KKworCQk8dmFybGlzdGVudHJ5PgorCTx0ZXJtPjxjb21tYW5kPmxzIDxyZXBsYWNlYWJsZT5QQVRIPC9yZXBsYWNlYWJsZT48L2NvbW1hbmQ+PC90ZXJtPgorCTxsaXN0aXRlbT4KKwkJPHBhcmE+TGlzdCBjb250ZW50cyBvZiB0aGUgZ2l2ZW4gcGF0aCBvciB0aGUgY3VycmVudCBkaXJlY3RvcnkuPC9wYXJhPgorCTwvbGlzdGl0ZW0+CisJCTwvdmFybGlzdGVudHJ5PgorCisJCTx2YXJsaXN0ZW50cnk+CisJPHRlcm0+PGNvbW1hbmQ+cHdkPC9jb21tYW5kPjwvdGVybT4KKwk8bGlzdGl0ZW0+CisJCTxwYXJhPkRpc3BsYXkgdGhlIHBhdGggdG8gdGhlIGN1cnJlbnQgbm9kZS48L3BhcmE+CisJPC9saXN0aXRlbT4KKwkJPC92YXJsaXN0ZW50cnk+CisKKwkJPHZhcmxpc3RlbnRyeT4KKwk8dGVybT48Y29tbWFuZD5xdWl0PC9jb21tYW5kPjwvdGVybT4KKwk8bGlzdGl0ZW0+CisJCTxwYXJhPkxlYXZlIHRoZSBzaGVsbC48L3BhcmE+CisJPC9saXN0aXRlbT4KKwkJPC92YXJsaXN0ZW50cnk+CisKKwkJPHZhcmxpc3RlbnRyeT4KKwk8dGVybT48Y29tbWFuZD5zYXZlIDxyZXBsYWNlYWJsZT5GSUxFTkFNRTwvcmVwbGFjZWFibGU+PC9jb21tYW5kPjwvdGVybT4KKwk8bGlzdGl0ZW0+CisJCTxwYXJhPgorCQkJU2F2ZSB0aGUgY3VycmVudCBkb2N1bWVudCB0byB0aGUgZ2l2ZW4gZmlsZW5hbWUgb3IgdG8gdGhlIG9yaWdpbmFsIG5hbWUuCisJCTwvcGFyYT4KKwk8L2xpc3RpdGVtPgorCQk8L3Zhcmxpc3RlbnRyeT4KKworCQk8dmFybGlzdGVudHJ5PgorCTx0ZXJtPjxvcHRpb24+dmFsaWRhdGU8L29wdGlvbj48L3Rlcm0+CisJPGxpc3RpdGVtPgorCQk8cGFyYT5DaGVjayB0aGUgZG9jdW1lbnQgZm9yIGVycm9ycy48L3BhcmE+CisJPC9saXN0aXRlbT4KKwkJPC92YXJsaXN0ZW50cnk+CisKKwkJPHZhcmxpc3RlbnRyeT4KKwk8dGVybT48Y29tbWFuZD53cml0ZSA8cmVwbGFjZWFibGU+RklMRU5BTUU8L3JlcGxhY2VhYmxlPjwvY29tbWFuZD48L3Rlcm0+CisJPGxpc3RpdGVtPgorCQk8cGFyYT5Xcml0ZSB0aGUgY3VycmVudCBub2RlIHRvIHRoZSBnaXZlbiBmaWxlbmFtZS48L3BhcmE+CisJPC9saXN0aXRlbT4KKwkJPC92YXJsaXN0ZW50cnk+CisKKwk8L3ZhcmlhYmxlbGlzdD4KKzwvcmVmc2VjdDE+CisKKzxyZWZzZWN0MSBpZD0iZW52aXJvbm1lbnQiPgorCTx0aXRsZT5FTlZJUk9OTUVOVDwvdGl0bGU+CisJPHZhcmlhYmxlbGlzdD4KKworCQk8dmFybGlzdGVudHJ5PgorCTx0ZXJtPjxlbnZhcj5TR01MX0NBVEFMT0dfRklMRVM8L2VudmFyPjwvdGVybT4KKwk8bGlzdGl0ZW0+CisJCTxwYXJhPjxhY3JvbnltPlNHTUw8L2Fjcm9ueW0+IGNhdGFsb2cgYmVoYXZpb3IgY2FuIGJlIGNoYW5nZWQgYnkgcmVkaXJlY3RpbmcKKwkJCXF1ZXJpZXMgdG8gdGhlIHVzZXIncyBvd24gc2V0IG9mIGNhdGFsb2dzLiBUaGlzIGNhbiBiZSBkb25lIGJ5IHNldHRpbmcKKwkJCXRoZSA8ZW52YXI+U0dNTF9DQVRBTE9HX0ZJTEVTPC9lbnZhcj4gZW52aXJvbm1lbnQgdmFyaWFibGUgdG8gYSBsaXN0CisJCQlvZiBjYXRhbG9ncy4gQW4gZW1wdHkgb25lIHNob3VsZCBkZWFjdGl2YXRlIGxvYWRpbmcgdGhlCisJCQlkZWZhdWx0IDxmaWxlbmFtZT4vZXRjL3NnbWwvY2F0YWxvZzwvZmlsZW5hbWU+IGNhdGFsb2cuCisJCTwvcGFyYT4KKwk8L2xpc3RpdGVtPgorCQk8L3Zhcmxpc3RlbnRyeT4KKworCQk8dmFybGlzdGVudHJ5PgorCTx0ZXJtPjxlbnZhcj5YTUxfQ0FUQUxPR19GSUxFUzwvZW52YXI+PC90ZXJtPgorCTxsaXN0aXRlbT4KKwkJPHBhcmE+PGFjcm9ueW0+WE1MPC9hY3JvbnltPiBjYXRhbG9nIGJlaGF2aW9yIGNhbiBiZSBjaGFuZ2VkIGJ5IHJlZGlyZWN0aW5nCisJCQlxdWVyaWVzIHRvIHRoZSB1c2VyJ3Mgb3duIHNldCBvZiBjYXRhbG9ncy4gVGhpcyBjYW4gYmUgZG9uZSBieSBzZXR0aW5nCisJCQl0aGUgPGVudmFyPlhNTF9DQVRBTE9HX0ZJTEVTPC9lbnZhcj4gZW52aXJvbm1lbnQgdmFyaWFibGUgdG8gYSBsaXN0CisJCQlvZiBjYXRhbG9ncy4gQW4gZW1wdHkgb25lIHNob3VsZCBkZWFjdGl2YXRlIGxvYWRpbmcgdGhlCisJCQlkZWZhdWx0IDxmaWxlbmFtZT4vZXRjL3htbC9jYXRhbG9nPC9maWxlbmFtZT4gY2F0YWxvZy4KKwkJPC9wYXJhPgorCTwvbGlzdGl0ZW0+CisJCTwvdmFybGlzdGVudHJ5PgorCisJCTx2YXJsaXN0ZW50cnk+CisJPHRlcm0+PGVudmFyPlhNTF9ERUJVR19DQVRBTE9HPC9lbnZhcj48L3Rlcm0+CisJPGxpc3RpdGVtPgorCQk8cGFyYT5TZXR0aW5nIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSA8ZW52YXI+WE1MX0RFQlVHX0NBVEFMT0c8L2VudmFyPgorCQkJdG8gPHBhcmFtZXRlcj5ub24temVybzwvcGFyYW1ldGVyPiB1c2luZyB0aGUgPGNvbW1hbmQ+ZXhwb3J0PC9jb21tYW5kPgorCQkJY29tbWFuZCBvdXRwdXRzIGRlYnVnZ2luZyBpbmZvcm1hdGlvbiByZWxhdGVkIHRvIGNhdGFsb2cgb3BlcmF0aW9ucy4KKwkJPC9wYXJhPgorCTwvbGlzdGl0ZW0+CisJCTwvdmFybGlzdGVudHJ5PgorCisJCTx2YXJsaXN0ZW50cnk+CisJPHRlcm0+PGVudmFyPlhNTExJTlRfSU5ERU5UPC9lbnZhcj48L3Rlcm0+CisJPGxpc3RpdGVtPgorCQk8cGFyYT5TZXR0aW5nIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSA8ZW52YXI+WE1MTElOVF9JTkRFTlQ8L2VudmFyPgorCQkJY29udHJvbHMgdGhlIGluZGVudGF0aW9uLiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyB0d28gc3BhY2VzICZxdW90OyAgJnF1b3Q7LgorCQk8L3BhcmE+CisJPC9saXN0aXRlbT4KKwkJPC92YXJsaXN0ZW50cnk+CisJCQorCTwvdmFyaWFibGVsaXN0PgorPC9yZWZzZWN0MT4KKworPHJlZnNlY3QxIGlkPSJkaWFnbm9zdGljcyI+CisJPHRpdGxlPkRJQUdOT1NUSUNTPC90aXRsZT4KKwk8cGFyYT4KKwkJJnhtbGxpbnQ7IHJldHVybiBjb2RlcyBwcm92aWRlIGluZm9ybWF0aW9uIHRoYXQgY2FuIGJlIHVzZWQgd2hlbgorCQljYWxsaW5nIGl0IGZyb20gc2NyaXB0cy4KKwk8L3BhcmE+CisJPCEtLSBiZXR0ZXIgdXNlIHNlZ21lbnRlZGxpc3QgZWxlbWVudCBsYXRlciwKKwkgICAgIHdoaWNoIGlzIGN1cnJlbnRseSBvbmx5IHN1cHBvcnRlZCBpbiBzbmFwc2hvdHMgLS0+CisJPHZhcmlhYmxlbGlzdD4KKworCQk8dmFybGlzdGVudHJ5PgorCTx0ZXJtPjxlcnJvcmNvZGU+MDwvZXJyb3Jjb2RlPjwvdGVybT4KKwk8bGlzdGl0ZW0+CisJCTxwYXJhPk5vIGVycm9yPC9wYXJhPgorCTwvbGlzdGl0ZW0+CisJCTwvdmFybGlzdGVudHJ5PgorCisJCTx2YXJsaXN0ZW50cnk+CisJPHRlcm0+PGVycm9yY29kZT4xPC9lcnJvcmNvZGU+PC90ZXJtPgorCTxsaXN0aXRlbT4KKwkJPHBhcmE+VW5jbGFzc2lmaWVkPC9wYXJhPgorCTwvbGlzdGl0ZW0+CisJCTwvdmFybGlzdGVudHJ5PgorCisJCTx2YXJsaXN0ZW50cnk+CisJPHRlcm0+PGVycm9yY29kZT4yPC9lcnJvcmNvZGU+PC90ZXJtPgorCTxsaXN0aXRlbT4KKwkJPHBhcmE+RXJyb3IgaW4gPGFjcm9ueW0+RFREPC9hY3JvbnltPjwvcGFyYT4KKwk8L2xpc3RpdGVtPgorCQk8L3Zhcmxpc3RlbnRyeT4KKworCQk8dmFybGlzdGVudHJ5PgorCTx0ZXJtPjxlcnJvcmNvZGU+MzwvZXJyb3Jjb2RlPjwvdGVybT4KKwk8bGlzdGl0ZW0+CisJCTxwYXJhPlZhbGlkYXRpb24gZXJyb3I8L3BhcmE+CisJPC9saXN0aXRlbT4KKwkJPC92YXJsaXN0ZW50cnk+CisKKwkJPHZhcmxpc3RlbnRyeT4KKwk8dGVybT48ZXJyb3Jjb2RlPjQ8L2Vycm9yY29kZT48L3Rlcm0+CisJPGxpc3RpdGVtPgorCQk8cGFyYT5WYWxpZGF0aW9uIGVycm9yPC9wYXJhPgorCTwvbGlzdGl0ZW0+CisJCTwvdmFybGlzdGVudHJ5PgorCisJCTx2YXJsaXN0ZW50cnk+CisJPHRlcm0+PGVycm9yY29kZT41PC9lcnJvcmNvZGU+PC90ZXJtPgorCTxsaXN0aXRlbT4KKwkJPHBhcmE+RXJyb3IgaW4gc2NoZW1hIGNvbXBpbGF0aW9uPC9wYXJhPgorCTwvbGlzdGl0ZW0+CisJCTwvdmFybGlzdGVudHJ5PgorCisJCTx2YXJsaXN0ZW50cnk+CisJPHRlcm0+PGVycm9yY29kZT42PC9lcnJvcmNvZGU+PC90ZXJtPgorCTxsaXN0aXRlbT4KKwkJPHBhcmE+RXJyb3Igd3JpdGluZyBvdXRwdXQ8L3BhcmE+CisJPC9saXN0aXRlbT4KKwkJPC92YXJsaXN0ZW50cnk+CisKKwkJPHZhcmxpc3RlbnRyeT4KKwk8dGVybT48ZXJyb3Jjb2RlPjc8L2Vycm9yY29kZT48L3Rlcm0+CisJPGxpc3RpdGVtPgorCQk8cGFyYT4KKwkJCUVycm9yIGluIHBhdHRlcm4gKGdlbmVyYXRlZCB3aGVuIDxvcHRpb24+LS1wYXR0ZXJuPC9vcHRpb24+IG9wdGlvbiBpcyB1c2VkKQorCQk8L3BhcmE+CisJPC9saXN0aXRlbT4KKwkJPC92YXJsaXN0ZW50cnk+CisKKwkJPHZhcmxpc3RlbnRyeT4KKwk8dGVybT48ZXJyb3Jjb2RlPjg8L2Vycm9yY29kZT48L3Rlcm0+CisJPGxpc3RpdGVtPgorCQk8cGFyYT4KKwkJCUVycm9yIGluIFJlYWRlciByZWdpc3RyYXRpb24gKGdlbmVyYXRlZAorCQkJd2hlbiA8b3B0aW9uPi0tY2hrcmVnaXN0ZXI8L29wdGlvbj4gb3B0aW9uIGlzIHVzZWQpCisJCTwvcGFyYT4KKwk8L2xpc3RpdGVtPgorCQk8L3Zhcmxpc3RlbnRyeT4KKworCQk8dmFybGlzdGVudHJ5PgorCTx0ZXJtPjxlcnJvcmNvZGU+OTwvZXJyb3Jjb2RlPjwvdGVybT4KKwk8bGlzdGl0ZW0+CisJCTxwYXJhPk91dCBvZiBtZW1vcnkgZXJyb3I8L3BhcmE+CisJPC9saXN0aXRlbT4KKwkJPC92YXJsaXN0ZW50cnk+CisKKwk8L3ZhcmlhYmxlbGlzdD4KKzwvcmVmc2VjdDE+CisKKzxyZWZzZWN0MSBpZD0ic2VlYWxzbyI+CisJPHRpdGxlPlNFRSBBTFNPPC90aXRsZT4KKwk8cGFyYT48Y2l0ZXJlZmVudHJ5PgorCQkJPHJlZmVudHJ5dGl0bGU+bGlieG1sPC9yZWZlbnRyeXRpdGxlPgorCQkJPG1hbnZvbG51bT4zPC9tYW52b2xudW0+CisJCTwvY2l0ZXJlZmVudHJ5PgorCTwvcGFyYT4KKwk8cGFyYT4KKwkJTW9yZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgYXQKKwkJPGl0ZW1pemVkbGlzdD4KKwkJCTxsaXN0aXRlbT4KKwkJCQk8cGFyYT48Y2l0ZXJlZmVudHJ5PgorCQkJCQkJPHJlZmVudHJ5dGl0bGU+bGlieG1sPC9yZWZlbnRyeXRpdGxlPgorCQkJCQkJPG1hbnZvbG51bT4zPC9tYW52b2xudW0+CisJCQkJCTwvY2l0ZXJlZmVudHJ5PiB3ZWIgcGFnZSA8dWxpbmsgdXJsPSJodHRwOi8vd3d3LnhtbHNvZnQub3JnLyIvPgorCQkJCTwvcGFyYT4KKwkJCTwvbGlzdGl0ZW0+CisJCQk8bGlzdGl0ZW0+CisJCQkJPHBhcmE+VzNDIDxhY3JvbnltPlhTTFQ8L2Fjcm9ueW0+IHBhZ2UgPHVsaW5rIHVybD0iaHR0cDovL3d3dy53My5vcmcvVFIveHNsdCIvPgorCQkJCTwvcGFyYT4KKwkJCTwvbGlzdGl0ZW0+CisJCTwvaXRlbWl6ZWRsaXN0PgorCTwvcGFyYT4KKzwvcmVmc2VjdDE+CisKKzwvcmVmZW50cnk+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2RvYy94bWxtZW0uaHRtbCBiL2xpYnhtbDIvZG9jL3htbG1lbS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJhOWU1MTcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2RvYy94bWxtZW0uaHRtbApAQCAtMCwwICsxLDEyMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIj4KKzxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj48aGVhZD48bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz48bGluayByZWw9IlNIT1JUQ1VUIElDT04iIGhyZWY9Ii9mYXZpY29uLmljbyIgLz48c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorVEQge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0JPRFkge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYTsgbWFyZ2luLXRvcDogMmVtOyBtYXJnaW4tbGVmdDogMGVtOyBtYXJnaW4tcmlnaHQ6IDBlbX0KK0gxIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMiB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorSDMge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0E6bGluaywgQTp2aXNpdGVkLCBBOmFjdGl2ZSB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIH0KKzwvc3R5bGU+PHRpdGxlPk1lbW9yeSBNYW5hZ2VtZW50PC90aXRsZT48L2hlYWQ+PGJvZHkgYmdjb2xvcj0iIzhiNzc2NSIgdGV4dD0iIzAwMDAwMCIgbGluaz0iI2EwNjA2MCIgdmxpbms9IiMwMDAwMDAiPjx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSIxMDAlIiBjZWxscGFkZGluZz0iNSIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgd2lkdGg9IjEyMCI+PGEgaHJlZj0iaHR0cDovL3N3cGF0LmZmaWkub3JnLyI+PGltZyBzcmM9ImVwYXRlbnRzLnBuZyIgYWx0PSJBY3Rpb24gYWdhaW5zdCBzb2Z0d2FyZSBwYXRlbnRzIiAvPjwvYT48L3RkPjx0ZCB3aWR0aD0iMTgwIj48YSBocmVmPSJodHRwOi8vd3d3Lmdub21lLm9yZy8iPjxpbWcgc3JjPSJnbm9tZTIucG5nIiBhbHQ9Ikdub21lMiBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9TdGF0dXMiPjxpbWcgc3JjPSJ3M2MucG5nIiBhbHQ9IlczQyBMb2dvIiAvPjwvYT48YSBocmVmPSJodHRwOi8vd3d3LnJlZGhhdC5jb20vIj48aW1nIHNyYz0icmVkaGF0LmdpZiIgYWx0PSJSZWQgSGF0IExvZ28iIC8+PC9hPjxkaXYgYWxpZ249ImxlZnQiPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy8iPjxpbWcgc3JjPSJMaWJ4bWwyLUxvZ28tMTgweDE2OC5naWYiIGFsdD0iTWFkZSB3aXRoIExpYnhtbDIgTG9nbyIgLz48L2E+PC9kaXY+PC90ZD48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjkwJSIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIwIiBhbGlnbj0iY2VudGVyIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiIGJnY29sb3I9IiNmZmZhY2QiPjx0cj48dGQgYWxpZ249ImNlbnRlciI+PGgxPlRoZSBYTUwgQyBwYXJzZXIgYW5kIHRvb2xraXQgb2YgR25vbWU8L2gxPjxoMj5NZW1vcnkgTWFuYWdlbWVudDwvaDI+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjQiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiIHdpZHRoPSIxMDAlIj48dHI+PHRkIHZhbGlnbj0idG9wIiB3aWR0aD0iMjAwIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIiBiZ2NvbG9yPSIjMDAwMDAwIj48dHI+PHRkPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5EZXZlbG9wZXIgTWVudTwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48Zm9ybSBhY3Rpb249InNlYXJjaC5waHAiIGVuY3R5cGU9ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIgbWV0aG9kPSJnZXQiPjxpbnB1dCBuYW1lPSJxdWVyeSIgdHlwZT0idGV4dCIgc2l6ZT0iMjAiIHZhbHVlPSIiIC8+PGlucHV0IG5hbWU9InN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU2VhcmNoIC4uLiIgLz48L2Zvcm0+PHVsPjxsaT48YSBocmVmPSJpbmRleC5odG1sIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+TWFpbiBNZW51PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0bWwvaW5kZXguaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPlJlZmVyZW5jZSBNYW51YWw8L2E+PC9saT48bGk+PGEgaHJlZj0iZXhhbXBsZXMvaW5kZXguaHRtbCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPkNvZGUgRXhhbXBsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iZ3VpZGVsaW5lcy5odG1sIj5YTUwgR3VpZGVsaW5lczwvYT48L2xpPjxsaT48YSBocmVmPSJ0dXRvcmlhbC9pbmRleC5odG1sIj5UdXRvcmlhbDwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWxyZWFkZXIuaHRtbCI+VGhlIFJlYWRlciBJbnRlcmZhY2U8L2E+PC9saT48bGk+PGEgaHJlZj0iQ2hhbmdlTG9nLmh0bWwiPkNoYW5nZUxvZzwvYT48L2xpPjxsaT48YSBocmVmPSJYU0xULmh0bWwiPlhTTFQ8L2E+PC9saT48bGk+PGEgaHJlZj0icHl0aG9uLmh0bWwiPlB5dGhvbiBhbmQgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iYXJjaGl0ZWN0dXJlLmh0bWwiPmxpYnhtbDIgYXJjaGl0ZWN0dXJlPC9hPjwvbGk+PGxpPjxhIGhyZWY9InRyZWUuaHRtbCI+VGhlIHRyZWUgb3V0cHV0PC9hPjwvbGk+PGxpPjxhIGhyZWY9ImludGVyZmFjZS5odG1sIj5UaGUgU0FYIGludGVyZmFjZTwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWxtZW0uaHRtbCI+TWVtb3J5IE1hbmFnZW1lbnQ8L2E+PC9saT48bGk+PGEgaHJlZj0ieG1saW8uaHRtbCI+SS9PIEludGVyZmFjZXM8L2E+PC9saT48bGk+PGEgaHJlZj0ibGlicmFyeS5odG1sIj5UaGUgcGFyc2VyIGludGVyZmFjZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iZW50aXRpZXMuaHRtbCI+RW50aXRpZXMgb3Igbm8gZW50aXRpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0ibmFtZXNwYWNlcy5odG1sIj5OYW1lc3BhY2VzPC9hPjwvbGk+PGxpPjxhIGhyZWY9InVwZ3JhZGUuaHRtbCI+VXBncmFkaW5nIDEueCBjb2RlPC9hPjwvbGk+PGxpPjxhIGhyZWY9InRocmVhZHMuaHRtbCI+VGhyZWFkIHNhZmV0eTwvYT48L2xpPjxsaT48YSBocmVmPSJET00uaHRtbCI+RE9NIFByaW5jaXBsZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iZXhhbXBsZS5odG1sIj5BIHJlYWwgZXhhbXBsZTwvYT48L2xpPjxsaT48YSBocmVmPSJ4bWwuaHRtbCI+ZmxhdCBwYWdlPC9hPiwgPGEgaHJlZj0ic2l0ZS54c2wiPnN0eWxlc2hlZXQ8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiPjx0cj48dGQgY29sc3Bhbj0iMSIgYmdjb2xvcj0iI2VlY2ZhMSIgYWxpZ249ImNlbnRlciI+PGNlbnRlcj48Yj5BUEkgSW5kZXhlczwvYj48L2NlbnRlcj48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48dWw+PGxpPjxhIGhyZWY9IkFQSWNodW5rMC5odG1sIj5BbHBoYWJldGljPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkFQSWNvbnN0cnVjdG9ycy5odG1sIj5Db25zdHJ1Y3RvcnM8L2E+PC9saT48bGk+PGEgaHJlZj0iQVBJZnVuY3Rpb25zLmh0bWwiPkZ1bmN0aW9ucy9UeXBlczwvYT48L2xpPjxsaT48YSBocmVmPSJBUElmaWxlcy5odG1sIj5Nb2R1bGVzPC9hPjwvbGk+PGxpPjxhIGhyZWY9IkFQSXN5bWJvbHMuaHRtbCI+U3ltYm9sczwvYT48L2xpPjwvdWw+PC90ZD48L3RyPjwvdGFibGU+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+PHRyPjx0ZCBjb2xzcGFuPSIxIiBiZ2NvbG9yPSIjZWVjZmExIiBhbGlnbj0iY2VudGVyIj48Y2VudGVyPjxiPlJlbGF0ZWQgbGlua3M8L2I+PC9jZW50ZXI+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iI2ZmZmFjZCI+PHVsPjxsaT48YSBocmVmPSJodHRwOi8vbWFpbC5nbm9tZS5vcmcvYXJjaGl2ZXMveG1sLyI+TWFpbCBhcmNoaXZlPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9YU0xULyI+WFNMVCBsaWJ4c2x0PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9waGQuY3MudW5pYm8uaXQvZ2RvbWUyLyI+RE9NIGdkb21lMjwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmFsZWtzZXkuY29tL3htbHNlYy8iPlhNTC1EU2lnIHhtbHNlYzwvYT48L2xpPjxsaT48YSBocmVmPSJmdHA6Ly94bWxzb2Z0Lm9yZy8iPkZUUDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnpsYXRrb3ZpYy5jb20vcHJvamVjdHMvbGlieG1sLyI+V2luZG93cyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vb3BlbmNzdy5vcmcvcGFja2FnZXMvbGlieG1sMiI+U29sYXJpcyBiaW5hcmllczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmV4cGxhaW4uY29tLmF1L29zcy9saWJ4bWwyeHNsdC5odG1sIj5NYWNPc1ggYmluYXJpZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2x4bWwuZGUvIj5seG1sIFB5dGhvbiBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vY3Bhbi51d2lubmlwZWcuY2EvZGlzdC9YTUwtTGliWE1MIj5QZXJsIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9saWJ4bWxwbHVzcGx1cy5zb3VyY2Vmb3JnZS5uZXQvIj5DKysgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy56ZW5kLmNvbS9waHA1L2FydGljbGVzL3BocDUteG1scGhwLnBocCNIZWFkaW5nNCI+UEhQIGJpbmRpbmdzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbGlieG1sMi1wYXMvIj5QYXNjYWwgYmluZGluZ3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cDovL2xpYnhtbC5ydWJ5Zm9yZ2Uub3JnLyI+UnVieSBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vdGNseG1sLnNvdXJjZWZvcmdlLm5ldC8iPlRjbCBiaW5kaW5nczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2J1Z2xpc3QuY2dpP3Byb2R1Y3Q9bGlieG1sMiI+QnVnIFRyYWNrZXI8L2E+PC9saT48L3VsPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjOGI3NzY1Ij48dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiIHdpZHRoPSIxMDAlIj48dHI+PHRkPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSIgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMwMDAwMDAiPjx0cj48dGQ+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCBiZ2NvbG9yPSIjZmZmYWNkIj48cD5UYWJsZSBvZiBDb250ZW50OjwvcD48b2w+CisgIDxsaT48YSBocmVmPSIjR2VuZXJhbDMiPkdlbmVyYWwgb3ZlcnZpZXc8L2E+PC9saT4KKyAgPGxpPjxhIGhyZWY9IiNzZXR0aW5nIj5TZXR0aW5nIGxpYnhtbDIgc2V0IG9mIG1lbW9yeSByb3V0aW5lczwvYT48L2xpPgorICA8bGk+PGEgaHJlZj0iI2NsZWFudXAiPkNsZWFuaW5nIHVwIGFmdGVyIHVzaW5nIHRoZSBsaWJyYXJ5PC9hPjwvbGk+CisgIDxsaT48YSBocmVmPSIjRGVidWdnaW5nIj5EZWJ1Z2dpbmcgcm91dGluZXM8L2E+PC9saT4KKyAgPGxpPjxhIGhyZWY9IiNHZW5lcmFsNCI+R2VuZXJhbCBtZW1vcnkgcmVxdWlyZW1lbnRzPC9hPjwvbGk+CisgIDxsaT48YSBocmVmPSIjQ29tcGFjdGluZyI+UmV0dXJuaW5nIG1lbW9yeSB0byB0aGUga2VybmVsPC9hPjwvbGk+Cis8L29sPjxoMz48YSBuYW1lPSJHZW5lcmFsMyIgaWQ9IkdlbmVyYWwzIj5HZW5lcmFsIG92ZXJ2aWV3PC9hPjwvaDM+PHA+VGhlIG1vZHVsZSA8Y29kZT48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwiPnhtbG1lbW9yeS5oPC9hPjwvY29kZT4KK3Byb3ZpZGVzIHRoZSBpbnRlcmZhY2VzIHRvIHRoZSBsaWJ4bWwyIG1lbW9yeSBzeXN0ZW06PC9wPjx1bD4KKyAgPGxpPmxpYnhtbDIgZG9lcyBub3QgdXNlIHRoZSBsaWJjIG1lbW9yeSBhbGxvY2F0b3IgZGlyZWN0bHkgYnV0IHhtbEZyZWUoKSwKKyAgICB4bWxNYWxsb2MoKSBhbmQgeG1sUmVhbGxvYygpPC9saT4KKyAgPGxpPnRob3NlIHJvdXRpbmVzIGNhbiBiZSByZWFsbG9jYXRlZCB0byBhIHNwZWNpZmljIHNldCBvZiByb3V0aW5lLCBieQorICAgIGRlZmF1bHQgdGhlIGxpYmMgb25lcyBpLmUuIGZyZWUoKSwgbWFsbG9jKCkgYW5kIHJlYWxsb2MoKTwvbGk+CisgIDxsaT50aGUgeG1sbWVtb3J5LmMgbW9kdWxlIGluY2x1ZGVzIGEgc2V0IG9mIGRlYnVnZ2luZyByb3V0aW5lPC9saT4KKzwvdWw+PGgzPjxhIG5hbWU9InNldHRpbmciIGlkPSJzZXR0aW5nIj5TZXR0aW5nIGxpYnhtbDIgc2V0IG9mIG1lbW9yeSByb3V0aW5lczwvYT48L2gzPjxwPkl0IGlzIHNvbWV0aW1lcyB1c2VmdWwgdG8gbm90IHVzZSB0aGUgZGVmYXVsdCBtZW1vcnkgYWxsb2NhdG9yLCBlaXRoZXIgZm9yCitkZWJ1Z2dpbmcsIGFuYWx5c2lzIG9yIHRvIGltcGxlbWVudCBhIHNwZWNpZmljIGJlaGF2aW91ciBvbiBtZW1vcnkgbWFuYWdlbWVudAorKGxpa2Ugb24gZW1iZWRkZWQgc3lzdGVtcykuIFR3byBmdW5jdGlvbiBjYWxscyBhcmUgYXZhaWxhYmxlIHRvIGRvIHNvOjwvcD48dWw+CisgIDxsaT48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwiPnhtbE1lbUdldAorICAgICgpPC9hPiB3aGljaCByZXR1cm4gdGhlIGN1cnJlbnQgc2V0IG9mIGZ1bmN0aW9ucyBpbiB1c2UgYnkgdGhlIHBhcnNlcjwvbGk+CisgIDxsaT48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwiPnhtbE1lbVNldHVwKCk8L2E+CisgICAgd2hpY2ggYWxsb3cgdG8gc2V0IHVwIGEgbmV3IHNldCBvZiBtZW1vcnkgYWxsb2NhdGlvbiBmdW5jdGlvbnM8L2xpPgorPC91bD48cD5PZiBjb3Vyc2UgYSBjYWxsIHRvIHhtbE1lbVNldHVwKCkgc2hvdWxkIHByb2JhYmx5IGJlIGRvbmUgYmVmb3JlIGNhbGxpbmcKK2FueSBvdGhlciBsaWJ4bWwyIHJvdXRpbmVzICh1bmxlc3MgeW91IGFyZSBzdXJlIHlvdXIgYWxsb2NhdGlvbnMgcm91dGluZXMgYXJlCitjb21wYXRpYmxlcykuPC9wPjxoMz48YSBuYW1lPSJjbGVhbnVwIiBpZD0iY2xlYW51cCI+Q2xlYW5pbmcgdXAgYWZ0ZXIgdXNpbmcgdGhlIGxpYnJhcnk8L2E+PC9oMz48cD5MaWJ4bWwyIGlzIG5vdCBzdGF0ZWxlc3MsIHRoZXJlIGlzIGEgZmV3IHNldCBvZiBtZW1vcnkgc3RydWN0dXJlcyBuZWVkaW5nCithbGxvY2F0aW9uIGJlZm9yZSB0aGUgcGFyc2VyIGlzIGZ1bGx5IGZ1bmN0aW9uYWwgKHNvbWUgZW5jb2Rpbmcgc3RydWN0dXJlcworZm9yIGV4YW1wbGUpLiBUaGlzIGFsc28gbWVhbiB0aGF0IG9uY2UgcGFyc2luZyBpcyBmaW5pc2hlZCB0aGVyZSBpcyBhIHRpbnkKK2Ftb3VudCBvZiBtZW1vcnkgKGEgZmV3IGh1bmRyZWQgYnl0ZXMpIHdoaWNoIGNhbiBiZSByZWNvbGxlY3RlZCBpZiB5b3UgZG9uJ3QKK3JldXNlIHRoZSBsaWJyYXJ5IG9yIGFueSBkb2N1bWVudCBidWlsdCB3aXRoIGl0OjwvcD48dWw+CisgIDxsaT48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvaHRtbC9saWJ4bWwtcGFyc2VyLmh0bWwiPnhtbENsZWFudXBQYXJzZXIKKyAgICAoKTwvYT4gaXMgYSBjZW50cmFsaXplZCByb3V0aW5lIHRvIGZyZWUgdGhlIGxpYnJhcnkgc3RhdGUgYW5kIGRhdGEuIE5vdGUKKyAgICB0aGF0IGl0IHdvbid0IGRlYWxsb2NhdGUgYW55IHByb2R1Y2VkIHRyZWUgaWYgYW55ICh1c2UgdGhlIHhtbEZyZWVEb2MoKQorICAgIGFuZCByZWxhdGVkIHJvdXRpbmVzIGZvciB0aGlzKS4gVGhpcyBzaG91bGQgYmUgY2FsbGVkIG9ubHkgd2hlbiB0aGUgbGlicmFyeQorICAgIGlzIG5vdCB1c2VkIGFueW1vcmUuPC9saT4KKyAgPGxpPjxhIGhyZWY9Imh0dHA6Ly94bWxzb2Z0Lm9yZy9odG1sL2xpYnhtbC1wYXJzZXIuaHRtbCI+eG1sSW5pdFBhcnNlcgorICAgICgpPC9hPiBpcyB0aGUgZHVhbCByb3V0aW5lIGFsbG93aW5nIHRvIHByZWFsbG9jYXRlIHRoZSBwYXJzaW5nIHN0YXRlCisgICAgd2hpY2ggY2FuIGJlIHVzZWZ1bCBmb3IgZXhhbXBsZSB0byBhdm9pZCBpbml0aWFsaXphdGlvbiByZWVudHJhbmN5CisgICAgcHJvYmxlbXMgd2hlbiB1c2luZyBsaWJ4bWwyIGluIG11bHRpdGhyZWFkZWQgYXBwbGljYXRpb25zPC9saT4KKzwvdWw+PHA+R2VuZXJhbGx5IHhtbENsZWFudXBQYXJzZXIoKSBpcyBzYWZlIGFzc3VtaW5nIG5vIHBhcnNpbmcgaXMgb25nb2luZyBhbmQKK25vIGRvY3VtZW50IGlzIHN0aWxsIGJlaW5nIHVzZWQsIGlmIG5lZWRlZCB0aGUgc3RhdGUgd2lsbCBiZSByZWJ1aWxkIGF0IHRoZQorbmV4dCBpbnZvY2F0aW9uIG9mIHBhcnNlciByb3V0aW5lcyAob3IgYnkgeG1sSW5pdFBhcnNlcigpKSwgYnV0IGJlIGNhcmVmdWwKK29mIHRoZSBjb25zZXF1ZW5jZXMgaW4gbXVsdGl0aHJlYWRlZCBhcHBsaWNhdGlvbnMuPC9wPjxoMz48YSBuYW1lPSJEZWJ1Z2dpbmciIGlkPSJEZWJ1Z2dpbmciPkRlYnVnZ2luZyByb3V0aW5lczwvYT48L2gzPjxwPldoZW4gY29uZmlndXJlZCB1c2luZyAtLXdpdGgtbWVtLWRlYnVnIGZsYWcgKG9mZiBieSBkZWZhdWx0KSwgbGlieG1sMiB1c2VzCithIHNldCBvZiBtZW1vcnkgYWxsb2NhdGlvbiBkZWJ1Z2dpbmcgcm91dGluZXMga2VlcGluZyB0cmFjayBvZiBhbGwgYWxsb2NhdGVkCitibG9ja3MgYW5kIHRoZSBsb2NhdGlvbiBpbiB0aGUgY29kZSB3aGVyZSB0aGUgcm91dGluZSB3YXMgY2FsbGVkLiBBIGNvdXBsZSBvZgorb3RoZXIgZGVidWdnaW5nIHJvdXRpbmVzIGFsbG93IHRvIGR1bXAgdGhlIG1lbW9yeSBhbGxvY2F0ZWQgaW5mb3MgdG8gYSBmaWxlCitvciBjYWxsIGEgc3BlY2lmaWMgcm91dGluZSB3aGVuIGEgZ2l2ZW4gYmxvY2sgbnVtYmVyIGlzIGFsbG9jYXRlZDo8L3A+PHVsPgorICA8bGk+PGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnL2h0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sIj54bWxNYWxsb2NMb2MoKTwvYT4KKyAgICA8YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwiPnhtbFJlYWxsb2NMb2MoKTwvYT4KKyAgICBhbmQgPGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnL2h0bWwvbGlieG1sLXhtbG1lbW9yeS5odG1sIj54bWxNZW1TdHJkdXBMb2MoKTwvYT4KKyAgICBhcmUgdGhlIG1lbW9yeSBkZWJ1Z2dpbmcgcmVwbGFjZW1lbnQgYWxsb2NhdGlvbiByb3V0aW5lczwvbGk+CisgIDxsaT48YSBocmVmPSJodHRwOi8veG1sc29mdC5vcmcvaHRtbC9saWJ4bWwteG1sbWVtb3J5Lmh0bWwiPnhtbE1lbW9yeUR1bXAKKyAgICAoKTwvYT4gZHVtcHMgYWxsIHRoZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgYWxsb2NhdGVkIG1lbW9yeSBibG9jayBsZWZ0cworICAgIGluIHRoZSA8Y29kZT4ubWVtZHVtcDwvY29kZT4gZmlsZTwvbGk+Cis8L3VsPjxwPldoZW4gZGV2ZWxvcGluZyBsaWJ4bWwyIG1lbW9yeSBkZWJ1ZyBpcyBlbmFibGVkLCB0aGUgdGVzdHMgcHJvZ3JhbXMgY2FsbAoreG1sTWVtb3J5RHVtcCAoKSBhbmQgdGhlICJtYWtlIHRlc3QiIHJlZ3Jlc3Npb24gdGVzdHMgd2lsbCBjaGVjayBmb3IgYW55CittZW1vcnkgbGVhayBkdXJpbmcgdGhlIGZ1bGwgcmVncmVzc2lvbiB0ZXN0IHNlcXVlbmNlLCB0aGlzIGhlbHBzIGEgbG90CitlbnN1cmluZyB0aGF0IGxpYnhtbDIgIGRvZXMgbm90IGxlYWsgbWVtb3J5IGFuZCBidWxsZXQgcHJvb2YgbWVtb3J5CithbGxvY2F0aW9ucyB1c2UgKHNvbWUgbGliYyBpbXBsZW1lbnRhdGlvbnMgYXJlIGtub3duIHRvIGJlIGZhciB0b28gcGVybWlzc2l2ZQorcmVzdWx0aW5nIGluIG1ham9yIHBvcnRhYmlsaXR5IHByb2JsZW1zISkuPC9wPjxwPklmIHRoZSAubWVtZHVtcCByZXBvcnRzIGEgbGVhaywgaXQgZGlzcGxheXMgdGhlIGFsbG9jYXRpb24gZnVuY3Rpb24gYW5kCithbHNvIHRyaWVzIHRvIGdpdmUgc29tZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgY29udGVudCBhbmQgc3RydWN0dXJlIG9mIHRoZQorYWxsb2NhdGVkIGJsb2NrcyBsZWZ0LiBUaGlzIGlzIHN1ZmZpY2llbnQgaW4gbW9zdCBjYXNlcyB0byBmaW5kIHRoZSBjdWxwcml0LAorYnV0IG5vdCBhbHdheXMuIEFzc3VtaW5nIHRoZSBhbGxvY2F0aW9uIHByb2JsZW0gaXMgcmVwcm9kdWNpYmxlLCBpdCBpcworcG9zc2libGUgdG8gZmluZCBtb3JlIGVhc2lseTo8L3A+PG9sPgorICA8bGk+d3JpdGUgZG93biB0aGUgYmxvY2sgbnVtYmVyIHh4eHggbm90IGFsbG9jYXRlZDwvbGk+CisgIDxsaT5leHBvcnQgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlIFhNTF9NRU1fQlJFQUtQT0lOVD14eHh4ICwgdGhlIGVhc2llc3QKKyAgICB3aGVuIHVzaW5nIEdEQiBpcyB0byBzaW1wbHkgZ2l2ZSB0aGUgY29tbWFuZAorICAgIDxwPjxjb2RlPnNldCBlbnZpcm9ubWVudCBYTUxfTUVNX0JSRUFLUE9JTlQgeHh4eDwvY29kZT48L3A+CisgICAgPHA+YmVmb3JlIHJ1bm5pbmcgdGhlIHByb2dyYW0uPC9wPgorICA8L2xpPgorICA8bGk+cnVuIHRoZSBwcm9ncmFtIHVuZGVyIGEgZGVidWdnZXIgYW5kIHNldCBhIGJyZWFrcG9pbnQgb24KKyAgICB4bWxNYWxsb2NCcmVha3BvaW50KCkgYSBzcGVjaWZpYyBmdW5jdGlvbiBjYWxsZWQgd2hlbiB0aGlzIHByZWNpc2UgYmxvY2sKKyAgICBpcyBhbGxvY2F0ZWQ8L2xpPgorICA8bGk+d2hlbiB0aGUgYnJlYWtwb2ludCBpcyByZWFjaGVkIHlvdSBjYW4gdGhlbiBkbyBhIGZpbmUgYW5hbHlzaXMgb2YgdGhlCisgICAgYWxsb2NhdGlvbiBhbiBzdGVwICB0byBzZWUgdGhlIGNvbmRpdGlvbiByZXN1bHRpbmcgaW4gdGhlIG1pc3NpbmcKKyAgICBkZWFsbG9jYXRpb24uPC9saT4KKzwvb2w+PHA+SSB1c2VkIHRvIHVzZSBhIGNvbW1lcmNpYWwgdG9vbCB0byBkZWJ1ZyBsaWJ4bWwyIG1lbW9yeSBwcm9ibGVtcyBidXQgYWZ0ZXIKK25vdGljaW5nIHRoYXQgaXQgd2FzIG5vdCBkZXRlY3RpbmcgbWVtb3J5IGxlYWtzIHRoYXQgc2ltcGxlIG1lY2hhbmlzbSB3YXMKK3VzZWQgYW5kIHByb3ZlZCBleHRyZW1lbHkgZWZmaWNpZW50IHVudGlsIG5vdy4gTGF0ZWx5IEkgaGF2ZSBhbHNvIHVzZWQgPGEgaHJlZj0iaHR0cDovL2RldmVsb3Blci5rZGUub3JnL35zZXdhcmRqLyI+dmFsZ3JpbmQ8L2E+IHdpdGggcXVpdGUgc29tZQorc3VjY2VzcywgaXQgaXMgdGllZCB0byB0aGUgaTM4NiBhcmNoaXRlY3R1cmUgc2luY2UgaXQgd29ya3MgYnkgZW11bGF0aW5nIHRoZQorcHJvY2Vzc29yIGFuZCBpbnN0cnVjdGlvbiBzZXQsIGl0IGlzIHNsb3cgYnV0ICBleHRyZW1lbHkgZWZmaWNpZW50LCBpLmUuIGl0CitzcG90IG1lbW9yeSB1c2FnZSBlcnJvcnMgaW4gYSB2ZXJ5IHByZWNpc2Ugd2F5LjwvcD48aDM+PGEgbmFtZT0iR2VuZXJhbDQiIGlkPSJHZW5lcmFsNCI+R2VuZXJhbCBtZW1vcnkgcmVxdWlyZW1lbnRzPC9hPjwvaDM+PHA+SG93IG11Y2ggbGlieG1sMiBtZW1vcnkgcmVxdWlyZSA/IEl0J3MgaGFyZCB0byB0ZWxsIGluIGF2ZXJhZ2UgaXQgZGVwZW5kcworb2YgYSBudW1iZXIgb2YgdGhpbmdzOjwvcD48dWw+CisgIDxsaT50aGUgcGFyc2VyIGl0c2VsZiBzaG91bGQgd29yayAgaW4gYSBmaXhlZCBhbW91bnQgb2YgbWVtb3J5LCBleGNlcHQgZm9yCisgICAgaW5mb3JtYXRpb24gbWFpbnRhaW5lZCBhYm91dCB0aGUgc3RhY2tzIG9mIG5hbWVzIGFuZCAgZW50aXRpZXMgbG9jYXRpb25zLgorICAgIFRoZSBJL08gYW5kIGVuY29kaW5nIGhhbmRsZXJzIHdpbGwgcHJvYmFibHkgYWNjb3VudCBmb3IgYSBmZXcgS0J5dGVzLgorICAgIFRoaXMgaXMgdHJ1ZSBmb3IgYm90aCB0aGUgWE1MIGFuZCBIVE1MIHBhcnNlciAodGhvdWdoIHRoZSBIVE1MIHBhcnNlcgorICAgIG5lZWQgbW9yZSBzdGF0ZSkuPC9saT4KKyAgPGxpPklmIHlvdSBhcmUgZ2VuZXJhdGluZyB0aGUgRE9NIHRyZWUgdGhlbiBtZW1vcnkgcmVxdWlyZW1lbnRzIHdpbGwgZ3JvdworICAgIG5lYXJseSBsaW5lYXIgd2l0aCB0aGUgc2l6ZSBvZiB0aGUgZGF0YS4gSW4gZ2VuZXJhbCBmb3IgYSBiYWxhbmNlZAorICAgIHRleHR1YWwgZG9jdW1lbnQgdGhlIGludGVybmFsIG1lbW9yeSByZXF1aXJlbWVudCBpcyBhYm91dCA0IHRpbWVzIHRoZQorICAgIHNpemUgb2YgdGhlIFVURjggc2VyaWFsaXphdGlvbiBvZiB0aGlzIGRvY3VtZW50IChleGFtcGxlIHRoZSBYTUwtMS4wCisgICAgcmVjb21tZW5kYXRpb24gaXMgYSBiaXQgbW9yZSBvZiAxNTBLQnl0ZXMgYW5kIHRha2VzIDY1MEtCeXRlcyBvZiBtYWluCisgICAgbWVtb3J5IHdoZW4gcGFyc2VkKS4gVmFsaWRhdGlvbiB3aWxsIGFkZCBhIGFtb3VudCBvZiBtZW1vcnkgcmVxdWlyZWQgZm9yCisgICAgbWFpbnRhaW5pbmcgdGhlIGV4dGVybmFsIER0ZCBzdGF0ZSB3aGljaCBzaG91bGQgYmUgbGluZWFyIHdpdGggdGhlCisgICAgY29tcGxleGl0eSBvZiB0aGUgY29udGVudCBtb2RlbCBkZWZpbmVkIGJ5IHRoZSBEdGQ8L2xpPgorICA8bGk+SWYgeW91IG5lZWQgdG8gd29yayB3aXRoIGZpeGVkIG1lbW9yeSByZXF1aXJlbWVudHMgb3IgZG9uJ3QgbmVlZCB0aGUKKyAgICBmdWxsIERPTSB0cmVlIHRoZW4gdXNpbmcgdGhlIDxhIGhyZWY9InhtbHJlYWRlci5odG1sIj54bWxSZWFkZXIKKyAgICBpbnRlcmZhY2U8L2E+IGlzIHByb2JhYmx5IHRoZSBiZXN0IHdheSB0byBwcm9jZWVkLCBpdCBzdGlsbCBhbGxvd3MgdG8KKyAgICB2YWxpZGF0ZSBvciBvcGVyYXRlIG9uIHN1YnNldCBvZiB0aGUgdHJlZSBpZiBuZWVkZWQuPC9saT4KKyAgPGxpPklmIHlvdSBkb24ndCBjYXJlIGFib3V0IHRoZSBhZHZhbmNlZCBmZWF0dXJlcyBvZiBsaWJ4bWwyIGxpa2UKKyAgICB2YWxpZGF0aW9uLCBET00sIFhQYXRoIG9yIFhQb2ludGVyLCBkb24ndCB1c2UgZW50aXRpZXMsIG5lZWQgdG8gd29yayB3aXRoCisgICAgZml4ZWQgbWVtb3J5IHJlcXVpcmVtZW50cywgYW5kIHRyeSB0byBnZXQgdGhlIGZhc3Rlc3QgcGFyc2luZyBwb3NzaWJsZQorICAgIHRoZW4gdGhlIFNBWCBpbnRlcmZhY2Ugc2hvdWxkIGJlIHVzZWQsIGJ1dCBpdCBoYXMga25vd24gcmVzdHJpY3Rpb25zLjwvbGk+Cis8L3VsPjxwPjwvcD48aDM+PGEgbmFtZT0iQ29tcGFjdGluZyIgaWQ9IkNvbXBhY3RpbmciPlJldHVybmluZyBtZW1vcnkgdG8gdGhlIGtlcm5lbDwvYT48L2gzPjxwPllvdSBtYXkgZW5jb3VudGVyIHRoYXQgeW91ciBwcm9jZXNzIHVzaW5nIGxpYnhtbDIgZG9lcyBub3QgaGF2ZSBhCityZWR1Y2VkIG1lbW9yeSB1c2FnZSBhbHRob3VnaCB5b3UgZnJlZWQgdGhlIHRyZWVzLiBUaGlzIGlzIGJlY2F1c2UKK2xpYnhtbDIgYWxsb2NhdGVzIG1lbW9yeSBpbiBhIG51bWJlciBvZiBzbWFsbCBjaHVua3MuIFdoZW4gZnJlZWluZyBvbmUKK29mIHRob3NlIGNodW5rcywgdGhlIE9TIG1heSBkZWNpZGUgdGhhdCBnaXZpbmcgdGhpcyBsaXR0bGUgbWVtb3J5IGJhY2sKK3RvIHRoZSBrZXJuZWwgd2lsbCBjYXVzZSB0b28gbXVjaCBvdmVyaGVhZCBhbmQgZGVsYXkgdGhlIG9wZXJhdGlvbi4gQXMKK2FsbCBjaHVua3MgYXJlIHRoaXMgc21hbGwsIHRoZXkgZ2V0IGFjdHVhbGx5IGZyZWVkIGJ1dCBub3QgcmV0dXJuZWQgdG8KK3RoZSBrZXJuZWwuIE9uIHN5c3RlbXMgdXNpbmcgZ2xpYmMsIHRoZXJlIGlzIGEgZnVuY3Rpb24gY2FsbAorIm1hbGxvY190cmltIiBmcm9tIG1hbGxvYy5oIHdoaWNoIGRvZXMgdGhpcyBtaXNzaW5nIG9wZXJhdGlvbiAobm90ZSB0aGF0CitpdCBpcyBhbGxvd2VkIHRvIGZhaWwpLiBUaHVzLCBhZnRlciBmcmVlaW5nIHlvdXIgdHJlZSB5b3UgbWF5IHNpbXBseSB0cnkKKyJtYWxsb2NfdHJpbSgwKTsiIHRvIHJlYWxseSBnZXQgdGhlIG1lbW9yeSBiYWNrLiBJZiB5b3VyIE9TIGRvZXMgbm90Citwcm92aWRlIG1hbGxvY190cmltLCB0cnkgc2VhcmNoaW5nIGZvciBhIHNpbWlsYXIgZnVuY3Rpb24uPC9wPjxwPjwvcD48cD48YSBocmVmPSJidWdzLmh0bWwiPkRhbmllbCBWZWlsbGFyZDwvYT48L3A+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvZG9jL3htbHJlYWRlci5odG1sIGIvbGlieG1sMi9kb2MveG1scmVhZGVyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzg2MDhjMQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL3htbHJlYWRlci5odG1sCkBAIC0wLDAgKzEsNDc1IEBACis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wMSBUcmFuc2l0aW9uYWwvL0VOIgorICAgICJodHRwOi8vd3d3LnczLm9yZy9UUi9odG1sNC9sb29zZS5kdGQiPgorPGh0bWw+Cis8aGVhZD4KKyAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWwiPgorICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPjwvc3R5bGU+Cis8IS0tCitURCB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorQk9EWSB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhOyBtYXJnaW4tdG9wOiAyZW07IG1hcmdpbi1sZWZ0OiAwZW07IG1hcmdpbi1yaWdodDogMGVtfQorSDEge2ZvbnQtZmFtaWx5OiBWZXJkYW5hLEFyaWFsLEhlbHZldGljYX0KK0gyIHtmb250LWZhbWlseTogVmVyZGFuYSxBcmlhbCxIZWx2ZXRpY2F9CitIMyB7Zm9udC1mYW1pbHk6IFZlcmRhbmEsQXJpYWwsSGVsdmV0aWNhfQorQTpsaW5rLCBBOnZpc2l0ZWQsIEE6YWN0aXZlIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgfQorICA8L3N0eWxlPgorLS0+CisgIDx0aXRsZT5MaWJ4bWwyIFhtbFRleHRSZWFkZXIgSW50ZXJmYWNlIHR1dG9yaWFsPC90aXRsZT4KKzwvaGVhZD4KKworPGJvZHkgYmdjb2xvcj0iI2ZmZmFjZCIgdGV4dD0iIzAwMDAwMCI+Cis8aDEgYWxpZ249ImNlbnRlciI+TGlieG1sMiBYbWxUZXh0UmVhZGVyIEludGVyZmFjZSB0dXRvcmlhbDwvaDE+CisKKzxwPjwvcD4KKworPHA+VGhpcyBkb2N1bWVudCBkZXNjcmliZXMgdGhlIHVzZSBvZiB0aGUgWG1sVGV4dFJlYWRlciBzdHJlYW1pbmcgQVBJIGFkZGVkCit0byBsaWJ4bWwyIGluIHZlcnNpb24gMi41LjAgLiBUaGlzIEFQSSBpcyBjbG9zZWx5IG1vZGVsZWQgYWZ0ZXIgdGhlIDxhCitocmVmPSJodHRwOi8vZG90Z251Lm9yZy9wbmV0bGliLWRvYy9TeXN0ZW0vWG1sL1htbFRleHRSZWFkZXIuaHRtbCI+WG1sVGV4dFJlYWRlcjwvYT4KK2FuZCA8YQoraHJlZj0iaHR0cDovL2RvdGdudS5vcmcvcG5ldGxpYi1kb2MvU3lzdGVtL1htbC9YbWxSZWFkZXIuaHRtbCI+WG1sUmVhZGVyPC9hPgorY2xhc3NlcyBvZiB0aGUgQyMgbGFuZ3VhZ2UuPC9wPgorCis8cD5UaGlzIHR1dG9yaWFsIHdpbGwgcHJlc2VudCB0aGUga2V5IHBvaW50cyBvZiB0aGlzIEFQSSwgYW5kIHdvcmtpbmcKK2V4YW1wbGVzIHVzaW5nIGJvdGggQyBhbmQgdGhlIFB5dGhvbiBiaW5kaW5nczo8L3A+CisKKzxwPlRhYmxlIG9mIGNvbnRlbnQ6PC9wPgorPHVsPgorICA8bGk+PGEgaHJlZj0iI0ludHJvZHVjdGkiPkludHJvZHVjdGlvbjogd2h5IGEgbmV3IEFQSTwvYT48L2xpPgorICA8bGk+PGEgaHJlZj0iI1dhbGtpbmciPldhbGtpbmcgYSBzaW1wbGUgdHJlZTwvYT48L2xpPgorICA8bGk+PGEgaHJlZj0iI0V4dHJhY3RpbmciPkV4dHJhY3RpbmcgaW5mb3JtYXRpb25zIGZvciB0aGUgY3VycmVudAorICBub2RlPC9hPjwvbGk+CisgIDxsaT48YSBocmVmPSIjRXh0cmFjdGluZzEiPkV4dHJhY3RpbmcgaW5mb3JtYXRpb25zIGZvciB0aGUKKyAgYXR0cmlidXRlczwvYT48L2xpPgorICA8bGk+PGEgaHJlZj0iI1ZhbGlkYXRpbmciPlZhbGlkYXRpbmcgYSBkb2N1bWVudDwvYT48L2xpPgorICA8bGk+PGEgaHJlZj0iI0VudGl0aWVzIj5FbnRpdGllcyBzdWJzdGl0dXRpb248L2E+PC9saT4KKyAgPGxpPjxhIGhyZWY9IiNMMTE0MiI+UmVsYXgtTkcgVmFsaWRhdGlvbjwvYT48L2xpPgorICA8bGk+PGEgaHJlZj0iI01peGluZyI+TWl4aW5nIHRoZSByZWFkZXIgYW5kIHRyZWUgb3IgWFBhdGgKKyAgb3BlcmF0aW9uczwvYT48L2xpPgorPC91bD4KKworPHA+PC9wPgorCis8aDI+PGEgbmFtZT0iSW50cm9kdWN0aSI+SW50cm9kdWN0aW9uOiB3aHkgYSBuZXcgQVBJPC9hPjwvaDI+CisKKzxwPkxpYnhtbDIgPGEgaHJlZj0iaHR0cDovL3htbHNvZnQub3JnL2h0bWwvbGlieG1sLXRyZWUuaHRtbCI+bWFpbiBBUEkgaXMKK3RyZWUgYmFzZWQ8L2E+LCB3aGVyZSB0aGUgcGFyc2luZyBvcGVyYXRpb24gcmVzdWx0cyBpbiBhIGRvY3VtZW50IGxvYWRlZAorY29tcGxldGVseSBpbiBtZW1vcnksIGFuZCBleHBvc2UgaXQgYXMgYSB0cmVlIG9mIG5vZGVzIGFsbCBhdmFpbGJsZSBhdCB0aGUKK3NhbWUgdGltZS4gVGhpcyBpcyB2ZXJ5IHNpbXBsZSBhbmQgcXVpdGUgcG93ZXJmdWwsIGJ1dCBoYXMgdGhlIG1ham9yCitsaW1pdGF0aW9uIHRoYXQgdGhlIHNpemUgb2YgdGhlIGRvY3VtZW50IHRoYXQgY2FuIGJlIGhhbWRsZWQgaXMgbGltaXRlZCBieQordGhlIHNpemUgb2YgdGhlIG1lbW9yeSBhdmFpbGFibGUuIExpYnhtbDIgYWxzbyBwcm92aWRlIGEgPGEKK2hyZWY9Imh0dHA6Ly93d3cuc2F4cHJvamVjdC5vcmcvIj5TQVg8L2E+IGJhc2VkIEFQSSwgYnV0IHRoYXQgdmVyc2lvbiB3YXMKK2Rlc2lnbmVkIHVwb24gb25lIG9mIHRoZSBlYXJseSA8YQoraHJlZj0iaHR0cDovL3d3dy5qY2xhcmsuY29tL3htbC9leHBhdC5odG1sIj5leHBhdDwvYT4gdmVyc2lvbiBvZiBTQVgsIFNBWCBpcworYWxzbyBub3QgZm9ybWFsbHkgZGVmaW5lZCBmb3IgQy4gU0FYIGJhc2ljYWxseSB3b3JrIGJ5IHJlZ2lzdGVyaW5nIGNhbGxiYWNrcword2hpY2ggYXJlIGNhbGxlZCBkaXJlY3RseSBieSB0aGUgcGFyc2VyIGFzIGl0IHByb2dyZXNzZXMgdGhyb3VnaCB0aGUgZG9jdW1lbnQKK3N0cmVhbXMuIFRoZSBwcm9ibGVtIGlzIHRoYXQgdGhpcyBwcm9ncmFtbWluZyBtb2RlbCBpcyByZWxhdGl2ZWx5IGNvbXBsZXgsCitub3Qgd2VsbCBzdGFuZGFyZGl6ZWQsIGNhbm5vdCBwcm92aWRlIHZhbGlkYXRpb24gZGlyZWN0bHksIG1ha2VzIGVudGl0eSwKK25hbWVzcGFjZSBhbmQgYmFzZSBwcm9jZXNzaW5nIHJlbGF0aXZlbHkgaGFyZC48L3A+CisKKzxwPlRoZSA8YQoraHJlZj0iaHR0cDovL2RvdGdudS5vcmcvcG5ldGxpYi1kb2MvU3lzdGVtL1htbC9YbWxUZXh0UmVhZGVyLmh0bWwiPlhtbFRleHRSZWFkZXIKK0FQSSBmcm9tIEMjPC9hPiBwcm92aWRlcyBhIGZhciBzaW1wbGVyIHByb2dyYW1taW5nIG1vZGVsLiBUaGUgQVBJIGFjdHMgYXMgYQorY3Vyc29yIGdvaW5nIGZvcndhcmQgb24gdGhlIGRvY3VtZW50IHN0cmVhbSBhbmQgc3RvcHBpbmcgYXQgZWFjaCBub2RlIGluIHRoZQord2F5LiBUaGUgdXNlcidzIGNvZGUga2VlcHMgY29udHJvbCBvZiB0aGUgcHJvZ3Jlc3MgYW5kIHNpbXBseSBjYWxscyBhCitSZWFkKCkgZnVuY3Rpb24gcmVwZWF0ZWRseSB0byBwcm9ncmVzcyB0byBlYWNoIG5vZGUgaW4gc2VxdWVuY2UgaW4gZG9jdW1lbnQKK29yZGVyLiBUaGVyZSBpcyBkaXJlY3Qgc3VwcG9ydCBmb3IgbmFtZXNwYWNlcywgeG1sOmJhc2UsIGVudGl0eSBoYW5kbGluZyBhbmQKK2FkZGluZyBEVEQgdmFsaWRhdGlvbiBvbiB0b3Agb2YgaXQgd2FzIHJlbGF0aXZlbHkgc2ltcGxlLiBUaGlzIEFQSSBpcyByZWFsbHkKK2Nsb3NlIHRvIHRoZSA8YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9ET00tTGV2ZWwtMi1Db3JlLyI+RE9NIENvcmUKK3NwZWNpZmljYXRpb248L2E+IFRoaXMgcHJvdmlkZXMgYSBmYXIgbW9yZSBzdGFuZGFyZCwgZWFzeSB0byB1c2UgYW5kIHBvd2VyZnVsCitBUEkgdGhhbiB0aGUgZXhpc3RpbmcgU0FYLiBNb3Jlb3ZlciBpbnRlZ3JhdGluZyBleHRlbnNpb24gZmVhdHVyZXMgYmFzZWQgb24KK3RoZSB0cmVlIHNlZW1zIHJlbGF0aXZlbHkgZWFzeS48L3A+CisKKzxwPkluIGEgbnV0c2hlbGwgdGhlIFhtbFRleHRSZWFkZXIgQVBJIHByb3ZpZGVzIGEgc2ltcGxlciwgbW9yZSBzdGFuZGFyZCBhbmQKK21vcmUgZXh0ZW5zaWJsZSBpbnRlcmZhY2UgdG8gaGFuZGxlIGxhcmdlIGRvY3VtZW50cyB0aGFuIHRoZSBleGlzdGluZyBTQVgKK3ZlcnNpb24uPC9wPgorCis8aDI+PGEgbmFtZT0iV2Fsa2luZyI+V2Fsa2luZyBhIHNpbXBsZSB0cmVlPC9hPjwvaDI+CisKKzxwPkJhc2ljYWxseSB0aGUgWG1sVGV4dFJlYWRlciBBUEkgaXMgYSBmb3J3YXJkIG9ubHkgdHJlZSB3YWxraW5nIGludGVyZmFjZS4KK1RoZSBiYXNpYyBzdGVwcyBhcmU6PC9wPgorPG9sPgorICA8bGk+cHJlcGFyZSBhIHJlYWRlciBjb250ZXh0IG9wZXJhdGluZyBvbiBzb21lIGlucHV0PC9saT4KKyAgPGxpPnJ1biBhIGxvb3AgaXRlcmF0aW5nIG92ZXIgYWxsIG5vZGVzIGluIHRoZSBkb2N1bWVudDwvbGk+CisgIDxsaT5mcmVlIHVwIHRoZSByZWFkZXIgY29udGV4dDwvbGk+Cis8L29sPgorCis8cD5IZXJlIGlzIGEgYmFzaWMgQyBzYW1wbGUgZG9pbmcgdGhpczo8L3A+Cis8cHJlPiNpbmNsdWRlICZsdDtsaWJ4bWwveG1scmVhZGVyLmgmZ3Q7CisKK3ZvaWQgcHJvY2Vzc05vZGUoeG1sVGV4dFJlYWRlclB0ciByZWFkZXIpIHsKKyAgICAvKiBoYW5kbGluZyBvZiBhIG5vZGUgaW4gdGhlIHRyZWUgKi8KK30KKworaW50IHN0cmVhbUZpbGUoY2hhciAqZmlsZW5hbWUpIHsKKyAgICB4bWxUZXh0UmVhZGVyUHRyIHJlYWRlcjsKKyAgICBpbnQgcmV0OworCisgICAgcmVhZGVyID0geG1sTmV3VGV4dFJlYWRlckZpbGVuYW1lKGZpbGVuYW1lKTsKKyAgICBpZiAocmVhZGVyICE9IE5VTEwpIHsKKyAgICAgICAgcmV0ID0geG1sVGV4dFJlYWRlclJlYWQocmVhZGVyKTsKKyAgICAgICAgd2hpbGUgKHJldCA9PSAxKSB7CisgICAgICAgICAgICBwcm9jZXNzTm9kZShyZWFkZXIpOworICAgICAgICAgICAgcmV0ID0geG1sVGV4dFJlYWRlclJlYWQocmVhZGVyKTsKKyAgICAgICAgfQorICAgICAgICB4bWxGcmVlVGV4dFJlYWRlcihyZWFkZXIpOworICAgICAgICBpZiAocmV0ICE9IDApIHsKKyAgICAgICAgICAgIHByaW50ZigiJXMgOiBmYWlsZWQgdG8gcGFyc2VcbiIsIGZpbGVuYW1lKTsKKyAgICAgICAgfQorICAgIH0gZWxzZSB7CisgICAgICAgIHByaW50ZigiVW5hYmxlIHRvIG9wZW4gJXNcbiIsIGZpbGVuYW1lKTsKKyAgICB9Cit9PC9wcmU+CisKKzxwPkEgZmV3IHRoaW5ncyB0byBub3RpY2U6PC9wPgorPHVsPgorICA8bGk+dGhlIGluY2x1ZGUgZmlsZSBuZWVkZWQgOiA8Y29kZT5saWJ4bWwveG1scmVhZGVyLmg8L2NvZGU+PC9saT4KKyAgPGxpPnRoZSBjcmVhdGlvbiBvZiB0aGUgcmVhZGVyIHVzaW5nIGEgZmlsZW5hbWU8L2xpPgorICA8bGk+dGhlIHJlcGVhdGVkIGNhbGwgdG8geG1sVGV4dFJlYWRlclJlYWQoKSBhbmQgaG93IGFueSByZXR1cm4gdmFsdWUKKyAgICBkaWZmZXJlbnQgZnJvbSAxIHNob3VsZCBzdG9wIHRoZSBsb29wPC9saT4KKyAgPGxpPnRoYXQgYSBuZWdhdGl2ZSByZXR1cm4gbWVhbnMgYSBwYXJzaW5nIGVycm9yPC9saT4KKyAgPGxpPmhvdyB4bWxGcmVlVGV4dFJlYWRlcigpIHNob3VsZCBiZSB1c2VkIHRvIGZyZWUgdXAgdGhlIHJlc291cmNlcyB1c2VkIGJ5CisgICAgdGhlIHJlYWRlci48L2xpPgorPC91bD4KKworPHA+SGVyZSBpcyBzaW1pbGFyIGNvZGUgaW4gcHl0aG9uIGZvciBleGFjdGx5IHRoZSBzYW1lIHByb2Nlc3Npbmc6PC9wPgorPHByZT5pbXBvcnQgbGlieG1sMgorCitkZWYgcHJvY2Vzc05vZGUocmVhZGVyKToKKyAgICBwYXNzCisKK2RlZiBzdHJlYW1GaWxlKGZpbGVuYW1lKToKKyAgICB0cnk6CisgICAgICAgIHJlYWRlciA9IGxpYnhtbDIubmV3VGV4dFJlYWRlckZpbGVuYW1lKGZpbGVuYW1lKQorICAgIGV4Y2VwdDoKKyAgICAgICAgcHJpbnQgInVuYWJsZSB0byBvcGVuICVzIiAlIChmaWxlbmFtZSkKKyAgICAgICAgcmV0dXJuCisKKyAgICByZXQgPSByZWFkZXIuUmVhZCgpCisgICAgd2hpbGUgcmV0ID09IDE6CisgICAgICAgIHByb2Nlc3NOb2RlKHJlYWRlcikKKyAgICAgICAgcmV0ID0gcmVhZGVyLlJlYWQoKQorCisgICAgaWYgcmV0ICE9IDA6CisgICAgICAgIHByaW50ICIlcyA6IGZhaWxlZCB0byBwYXJzZSIgJSAoZmlsZW5hbWUpPC9wcmU+CisKKzxwPlRoZSBvbmx5IHRoaW5ncyB3b3J0aCBhZGRpbmcgYXJlIHRoYXQgdGhlIDxhCitocmVmPSJodHRwOi8vZG90Z251Lm9yZy9wbmV0bGliLWRvYy9TeXN0ZW0vWG1sL1htbFRleHRSZWFkZXIuaHRtbCI+eG1sVGV4dFJlYWRlcgoraXMgYWJzdHJhY3RlZCBhcyBhIGNsYXNzIGxpa2UgaW4gQyM8L2E+IHdpdGggdGhlIHNhbWUgbWV0aG9kIG5hbWVzIChidXQgdGhlCitwcm9wZXJ0aWVzIGFyZSBjdXJyZW50bHkgYWNjZXNzZWQgd2l0aCBtZXRob2RzKSBhbmQgdGhhdCBvbmUgZG9lc24ndCBuZWVkIHRvCitmcmVlIHRoZSByZWFkZXIgYXQgdGhlIGVuZCBvZiB0aGUgcHJvY2Vzc2luZy4gSXQgd2lsbCBnZXQgZ2FyYmFnZSBjb2xsZWN0ZWQKK29uY2UgYWxsIHJlZmVyZW5jZXMgaGF2ZSBkaXNhcGVhcmVkLjwvcD4KKworPGgyPjxhIG5hbWU9IkV4dHJhY3RpbmciPkV4dHJhY3RpbmcgaW5mb3JtYXRpb24gZm9yIHRoZSBjdXJyZW50IG5vZGU8L2E+PC9oMj4KKworPHA+U28gZmFyIHRoZSBleGFtcGxlIGNvZGUgZGlkIG5vdCBpbmRpY2F0ZSBob3cgaW5mb3JtYXRpb24gd2FzIGV4dHJhY3RlZAorZnJvbSB0aGUgcmVhZGVyLiBJdCB3YXMgYWJzdHJhdGVkIGFzIGEgY2FsbCB0byB0aGUgcHJvY2Vzc05vZGUoKSByb3V0aW5lLAord2l0aCB0aGUgcmVhZGVyIGFzIHRoZSBhcmd1bWVudC4gQXQgZWFjaCBpbnZvY2F0aW9uLCB0aGUgcGFyc2VyIGlzIHN0b3BwZWQgb24KK2EgZ2l2ZW4gbm9kZSBhbmQgdGhlIHJlYWRlciBjYW4gYmUgdXNlZCB0byBxdWVyeSB0aG9zZSBub2RlIHByb3BlcnRpZXMuIEVhY2gKKzxlbT5Qcm9wZXJ0eTwvZW0+IGlzIGF2YWlsYWJsZSBhdCB0aGUgQyBsZXZlbCBhcyBhIGZ1bmN0aW9uIHRha2luZyBhIHNpbmdsZQoreG1sVGV4dFJlYWRlclB0ciBhcmd1bWVudCB3aG9zZSBuYW1lIGlzCis8Y29kZT54bWxUZXh0UmVhZGVyPC9jb2RlPjxlbT5Qcm9wZXJ0eTwvZW0+ICwgaWYgdGhlIHJldHVybiB0eXBlIGlzIGFuCis8Y29kZT54bWxDaGFyICo8L2NvZGU+IHN0cmluZyB0aGVuIGl0IG11c3QgYmUgZGVhbGxvY2F0ZWQgd2l0aAorPGNvZGU+eG1sRnJlZSgpPC9jb2RlPiB0byBhdm9pZCBsZWFrcy4gRm9yIHRoZSBQeXRob24gaW50ZXJmYWNlLCB0aGVyZSBpcyBhCis8ZW0+UHJvcGVydHk8L2VtPiBtZXRob2QgdG8gdGhlIHJlYWRlciBjbGFzcyB0aGF0IGNhbiBiZSBjYWxsZWQgb24gdGhlCitpbnN0YW5jZS4gVGhlIGxpc3Qgb2YgdGhlIHByb3BlcnRpZXMgaXMgYmFzZWQgb24gdGhlIDxhCitocmVmPSJodHRwOi8vZG90Z251Lm9yZy9wbmV0bGliLWRvYy9TeXN0ZW0vWG1sL1htbFRleHRSZWFkZXIuaHRtbCI+QyMKK1htbFRleHRSZWFkZXIgY2xhc3M8L2E+IHNldCBvZiBwcm9wZXJ0aWVzIGFuZCBtZXRob2RzOjwvcD4KKzx1bD4KKyAgPGxpPjxlbT5Ob2RlVHlwZTwvZW0+OiBUaGUgbm9kZSB0eXBlLCAxIGZvciBzdGFydCBlbGVtZW50LCAxNSBmb3IgZW5kIG9mCisgICAgZWxlbWVudCwgMiBmb3IgYXR0cmlidXRlcywgMyBmb3IgdGV4dCBub2RlcywgNCBmb3IgQ0RhdGEgc2VjdGlvbnMsIDUgZm9yCisgICAgZW50aXR5IHJlZmVyZW5jZXMsIDYgZm9yIGVudGl0eSBkZWNsYXJhdGlvbnMsIDcgZm9yIFBJcywgOCBmb3IgY29tbWVudHMsCisgICAgOSBmb3IgdGhlIGRvY3VtZW50IG5vZGVzLCAxMCBmb3IgRFREL0RvY3R5cGUgbm9kZXMsIDExIGZvciBkb2N1bWVudAorICAgIGZyYWdtZW50IGFuZCAxMiBmb3Igbm90YXRpb24gbm9kZXMuPC9saT4KKyAgPGxpPjxlbT5OYW1lPC9lbT46IHRoZSA8YQorICAgIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy14bWwtbmFtZXMvI25zLXF1YWxuYW1lcyI+cXVhbGlmaWVkCisgICAgbmFtZTwvYT4gb2YgdGhlIG5vZGUsIGVxdWFsIHRvICg8ZW0+UHJlZml4PC9lbT46KTxlbT5Mb2NhbE5hbWU8L2VtPi48L2xpPgorICA8bGk+PGVtPkxvY2FsTmFtZTwvZW0+OiB0aGUgPGEKKyAgICBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMteG1sLW5hbWVzLyNOVC1Mb2NhbFBhcnQiPmxvY2FsIG5hbWU8L2E+IG9mCisgICAgdGhlIG5vZGUuPC9saT4KKyAgPGxpPjxlbT5QcmVmaXg8L2VtPjogYSAgc2hvcnRoYW5kIHJlZmVyZW5jZSB0byB0aGUgPGEKKyAgICBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMteG1sLW5hbWVzLyI+bmFtZXNwYWNlPC9hPiBhc3NvY2lhdGVkIHdpdGgKKyAgICB0aGUgbm9kZS48L2xpPgorICA8bGk+PGVtPk5hbWVzcGFjZVVyaTwvZW0+OiB0aGUgVVJJIGRlZmluaW5nIHRoZSA8YQorICAgIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy14bWwtbmFtZXMvIj5uYW1lc3BhY2U8L2E+IGFzc29jaWF0ZWQgd2l0aAorICAgIHRoZSBub2RlLjwvbGk+CisgIDxsaT48ZW0+QmFzZVVyaTo8L2VtPiB0aGUgYmFzZSBVUkkgb2YgdGhlIG5vZGUuIFNlZSB0aGUgPGEKKyAgICBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi94bWxiYXNlLyI+WE1MIEJhc2UgVzNDIHNwZWNpZmljYXRpb248L2E+LjwvbGk+CisgIDxsaT48ZW0+RGVwdGg6PC9lbT4gdGhlIGRlcHRoIG9mIHRoZSBub2RlIGluIHRoZSB0cmVlLCBzdGFydHMgYXQgMCBmb3IgdGhlCisgICAgcm9vdCBub2RlLjwvbGk+CisgIDxsaT48ZW0+SGFzQXR0cmlidXRlczwvZW0+OiB3aGV0aGVyIHRoZSBub2RlIGhhcyBhdHRyaWJ1dGVzLjwvbGk+CisgIDxsaT48ZW0+SGFzVmFsdWU8L2VtPjogd2hldGhlciB0aGUgbm9kZSBjYW4gaGF2ZSBhIHRleHQgdmFsdWUuPC9saT4KKyAgPGxpPjxlbT5WYWx1ZTwvZW0+OiBwcm92aWRlcyB0aGUgdGV4dCB2YWx1ZSBvZiB0aGUgbm9kZSBpZiBwcmVzZW50LjwvbGk+CisgIDxsaT48ZW0+SXNEZWZhdWx0PC9lbT46IHdoZXRoZXIgYW4gQXR0cmlidXRlICBub2RlIHdhcyBnZW5lcmF0ZWQgZnJvbSB0aGUKKyAgICBkZWZhdWx0IHZhbHVlIGRlZmluZWQgaW4gdGhlIERURCBvciBzY2hlbWEgKDxlbT51bnN1cHBvcnRlZAorICB5ZXQ8L2VtPikuPC9saT4KKyAgPGxpPjxlbT5YbWxMYW5nPC9lbT46IHRoZSA8YQorICAgIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy14bWwjc2VjLWxhbmctdGFnIj54bWw6bGFuZzwvYT4gc2NvcGUKKyAgICB3aXRoaW4gd2hpY2ggdGhlIG5vZGUgcmVzaWRlcy48L2xpPgorICA8bGk+PGVtPklzRW1wdHlFbGVtZW50PC9lbT46IGNoZWNrIGlmIHRoZSBjdXJyZW50IG5vZGUgaXMgZW1wdHksIHRoaXMgaXMgYQorICAgIGJpdCBiaXphcnJlIGluIHRoZSBzZW5zZSB0aGF0IDxjb2RlPiZsdDthLyZndDs8L2NvZGU+IHdpbGwgYmUgY29uc2lkZXJlZAorICAgIGVtcHR5IHdoaWxlIDxjb2RlPiZsdDthJmd0OyZsdDsvYSZndDs8L2NvZGU+IHdpbGwgbm90LjwvbGk+CisgIDxsaT48ZW0+QXR0cmlidXRlQ291bnQ8L2VtPjogcHJvdmlkZXMgdGhlIG51bWJlciBvZiBhdHRyaWJ1dGVzIG9mIHRoZQorICAgIGN1cnJlbnQgbm9kZS48L2xpPgorPC91bD4KKworPHA+TGV0J3MgbG9vayBmaXJzdCBhdCBhIHNtYWxsIGV4YW1wbGUgdG8gZ2V0IHRoaXMgaW4gcHJhY3RpY2UgYnkgcmVkZWZpbmluZwordGhlIHByb2Nlc3NOb2RlKCkgZnVuY3Rpb24gaW4gdGhlIFB5dGhvbiBleGFtcGxlOjwvcD4KKzxwcmU+ZGVmIHByb2Nlc3NOb2RlKHJlYWRlcik6CisgICAgcHJpbnQgIiVkICVkICVzICVkIiAlIChyZWFkZXIuRGVwdGgoKSwgcmVhZGVyLk5vZGVUeXBlKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkZXIuTmFtZSgpLCByZWFkZXIuSXNFbXB0eUVsZW1lbnQoKSk8L3ByZT4KKworPHA+YW5kIGxvb2sgYXQgdGhlIHJlc3VsdCBvZiBjYWxsaW5nIHN0cmVhbUZpbGUoInRzdC54bWwiKSBmb3IgdmFyaW91cworY29udGVudCBvZiB0aGUgWE1MIHRlc3QgZmlsZS48L3A+CisKKzxwPkZvciB0aGUgbWluaW1hbCBkb2N1bWVudCAiPGNvZGU+Jmx0O2RvYy8mZ3Q7PC9jb2RlPiIgd2UgZ2V0OjwvcD4KKzxwcmU+MCAxIGRvYyAxPC9wcmU+CisKKzxwPk9ubHkgb25lIG5vZGUgaXMgZm91bmQsIGl0cyBkZXB0aCBpcyAwLCB0eXBlIDEgaW5kaWNhdGUgYW4gZWxlbWVudCBzdGFydCwKK29mIG5hbWUgImRvYyIgYW5kIGl0IGlzIGVtcHR5LiBUcnlpbmcgbm93IHdpdGgKKyI8Y29kZT4mbHQ7ZG9jJmd0OyZsdDsvZG9jJmd0OzwvY29kZT4iIGluc3RlYWQgbGVhZHMgdG86PC9wPgorPHByZT4wIDEgZG9jIDAKKzAgMTUgZG9jIDA8L3ByZT4KKworPHA+VGhlIGRvY3VtZW50IHJvb3Qgbm9kZSBpcyBub3QgZmxhZ2dlZCBhcyBlbXB0eSBhbnltb3JlIGFuZCBib3RoIGEgc3RhcnQKK2FuZCBhbiBlbmQgb2YgZWxlbWVudCBhcmUgZGV0ZWN0ZWQuIFRoZSBmb2xsb3dpbmcgZG9jdW1lbnQgc2hvd3MgaG93CitjaGFyYWN0ZXIgZGF0YSBhcmUgcmVwb3J0ZWQ6PC9wPgorPHByZT4mbHQ7ZG9jJmd0OyZsdDthLyZndDsmbHQ7YiZndDtzb21lIHRleHQmbHQ7L2ImZ3Q7CismbHQ7Yy8mZ3Q7Jmx0Oy9kb2MmZ3Q7PC9wcmU+CisKKzxwPldlIG1vZGlmeWluZyB0aGUgcHJvY2Vzc05vZGUoKSBmdW5jdGlvbiB0byBhbHNvIHJlcG9ydCB0aGUgbm9kZSBWYWx1ZTo8L3A+Cis8cHJlPmRlZiBwcm9jZXNzTm9kZShyZWFkZXIpOgorICAgIHByaW50ICIlZCAlZCAlcyAlZCAlcyIgJSAocmVhZGVyLkRlcHRoKCksIHJlYWRlci5Ob2RlVHlwZSgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZGVyLk5hbWUoKSwgcmVhZGVyLklzRW1wdHlFbGVtZW50KCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkZXIuVmFsdWUoKSk8L3ByZT4KKworPHA+VGhlIHJlc3VsdCBvZiB0aGUgdGVzdCBpczo8L3A+Cis8cHJlPjAgMSBkb2MgMCBOb25lCisxIDEgYSAxIE5vbmUKKzEgMSBiIDAgTm9uZQorMiAzICN0ZXh0IDAgc29tZSB0ZXh0CisxIDE1IGIgMCBOb25lCisxIDMgI3RleHQgMAorCisxIDEgYyAxIE5vbmUKKzAgMTUgZG9jIDAgTm9uZTwvcHJlPgorCis8cD5UaGVyZSBhcmUgYSBmZXcgdGhpbmdzIHRvIG5vdGU6PC9wPgorPHVsPgorICA8bGk+dGhlIGluY3JlYXNlIG9mIHRoZSBkZXB0aCB2YWx1ZSAoZmlyc3Qgcm93KSBhcyBjaGlsZHJlbiBub2RlcyBhcmUKKyAgICBleHBsb3JlZDwvbGk+CisgIDxsaT50aGUgdGV4dCBub2RlIGNoaWxkIG9mIHRoZSBiIGVsZW1lbnQsIG9mIHR5cGUgMyBhbmQgaXRzIGNvbnRlbnQ8L2xpPgorICA8bGk+dGhlIHRleHQgbm9kZSBjb250YWluaW5nIHRoZSBsaW5lIHJldHVybiBiZXR3ZWVuIGVsZW1lbnRzIGIgYW5kIGM8L2xpPgorICA8bGk+dGhhdCBlbGVtZW50cyBoYXZlIHRoZSBWYWx1ZSBOb25lIChvciBOVUxMIGluIEMpPC9saT4KKzwvdWw+CisKKzxwPlRoZSBlcXVpdmFsZW50IHJvdXRpbmUgZm9yIDxjb2RlPnByb2Nlc3NOb2RlKCk8L2NvZGU+IGFzIHVzZWQgYnkKKzxjb2RlPnhtbGxpbnQgLS1zdHJlYW0gLS1kZWJ1ZzwvY29kZT4gaXMgdGhlIGZvbGxvd2luZyBhbmQgY2FuIGJlIGZvdW5kIGluCit0aGUgeG1sbGludC5jIG1vZHVsZSBpbiB0aGUgc291cmNlIGRpc3RyaWJ1dGlvbjo8L3A+Cis8cHJlPnN0YXRpYyB2b2lkIHByb2Nlc3NOb2RlKHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyKSB7CisgICAgeG1sQ2hhciAqbmFtZSwgKnZhbHVlOworCisgICAgbmFtZSA9IHhtbFRleHRSZWFkZXJOYW1lKHJlYWRlcik7CisgICAgaWYgKG5hbWUgPT0gTlVMTCkKKyAgICAgICAgbmFtZSA9IHhtbFN0cmR1cChCQURfQ0FTVCAiLS0iKTsKKyAgICB2YWx1ZSA9IHhtbFRleHRSZWFkZXJWYWx1ZShyZWFkZXIpOworCisgICAgcHJpbnRmKCIlZCAlZCAlcyAlZCIsCisgICAgICAgICAgICB4bWxUZXh0UmVhZGVyRGVwdGgocmVhZGVyKSwKKyAgICAgICAgICAgIHhtbFRleHRSZWFkZXJOb2RlVHlwZShyZWFkZXIpLAorICAgICAgICAgICAgbmFtZSwKKyAgICAgICAgICAgIHhtbFRleHRSZWFkZXJJc0VtcHR5RWxlbWVudChyZWFkZXIpKTsKKyAgICB4bWxGcmVlKG5hbWUpOworICAgIGlmICh2YWx1ZSA9PSBOVUxMKQorICAgICAgICBwcmludGYoIlxuIik7CisgICAgZWxzZSB7CisgICAgICAgIHByaW50ZigiICVzXG4iLCB2YWx1ZSk7CisgICAgICAgIHhtbEZyZWUodmFsdWUpOworICAgIH0KK308L3ByZT4KKworPGgyPjxhIG5hbWU9IkV4dHJhY3RpbmcxIj5FeHRyYWN0aW5nIGluZm9ybWF0aW9uIGZvciB0aGUgYXR0cmlidXRlczwvYT48L2gyPgorCis8cD5UaGUgcHJldmlvdXMgZXhhbXBsZXMgZG9uJ3QgaW5kaWNhdGUgaG93IGF0dHJpYnV0ZXMgYXJlIHByb2Nlc3NlZC4gVGhlCitzaW1wbGUgdGVzdCAiPGNvZGU+Jmx0O2RvYyBhPSJiIi8mZ3Q7PC9jb2RlPiIgcHJvdmlkZXMgdGhlIGZvbGxvd2luZworcmVzdWx0OjwvcD4KKzxwcmU+MCAxIGRvYyAxIE5vbmU8L3ByZT4KKworPHA+VGhpcyBwcm92ZXMgdGhhdCBhdHRyaWJ1dGUgbm9kZXMgYXJlIG5vdCB0cmF2ZXJzZWQgYnkgZGVmYXVsdC4gVGhlCis8ZW0+SGFzQXR0cmlidXRlczwvZW0+IHByb3BlcnR5IGFsbG93IHRvIGRldGVjdCB0aGVpciBwcmVzZW5jZS4gVG8gY2hlY2sKK3RoZWlyIGNvbnRlbnQgdGhlIEFQSSBoYXMgc3BlY2lhbCBpbnN0cnVjdGlvbnMuIEJhc2ljYWxseSB0d28ga2luZHMgb2Ygb3BlcmF0aW9ucworYXJlIHBvc3NpYmxlOjwvcD4KKzxvbD4KKyAgPGxpPnRvIG1vdmUgdGhlIHJlYWRlciB0byB0aGUgYXR0cmlidXRlIG5vZGVzIG9mIHRoZSBjdXJyZW50IGVsZW1lbnQsIGluCisgICAgdGhhdCBjYXNlIHRoZSBjdXJzb3IgaXMgcG9zaXRpb25uZWQgb24gdGhlIGF0dHJpYnV0ZSBub2RlPC9saT4KKyAgPGxpPnRvIGRpcmVjdGx5IHF1ZXJ5IHRoZSBlbGVtZW50IG5vZGUgZm9yIHRoZSBhdHRyaWJ1dGUgdmFsdWU8L2xpPgorPC9vbD4KKworPHA+SW4gYm90aCBjYXNlIHRoZSBhdHRyaWJ1dGUgY2FuIGJlIGRlc2lnbmVkIGVpdGhlciBieSBpdHMgcG9zaXRpb24gaW4gdGhlCitsaXN0IG9mIGF0dHJpYnV0ZSAoPGVtPk1vdmVUb0F0dHJpYnV0ZU5vPC9lbT4gb3IgPGVtPkdldEF0dHJpYnV0ZU5vPC9lbT4pIG9yCitieSB0aGVpciBuYW1lIChhbmQgbmFtZXNwYWNlKTo8L3A+Cis8dWw+CisgIDxsaT48ZW0+R2V0QXR0cmlidXRlTm88L2VtPihubyk6IHByb3ZpZGVzIHRoZSB2YWx1ZSBvZiB0aGUgYXR0cmlidXRlIHdpdGgKKyAgICB0aGUgc3BlY2lmaWVkIGluZGV4IG5vIHJlbGF0aXZlIHRvIHRoZSBjb250YWluaW5nIGVsZW1lbnQuPC9saT4KKyAgPGxpPjxlbT5HZXRBdHRyaWJ1dGU8L2VtPihuYW1lKTogcHJvdmlkZXMgdGhlIHZhbHVlIG9mIHRoZSBhdHRyaWJ1dGUgd2l0aAorICAgIHRoZSBzcGVjaWZpZWQgcXVhbGlmaWVkIG5hbWUuPC9saT4KKyAgPGxpPkdldEF0dHJpYnV0ZU5zKGxvY2FsTmFtZSwgbmFtZXNwYWNlVVJJKTogcHJvdmlkZXMgdGhlIHZhbHVlIG9mIHRoZQorICAgIGF0dHJpYnV0ZSB3aXRoIHRoZSBzcGVjaWZpZWQgbG9jYWwgbmFtZSBhbmQgbmFtZXNwYWNlIFVSSS48L2xpPgorICA8bGk+PGVtPk1vdmVUb0F0dHJpYnV0ZU5vPC9lbT4obm8pOiBtb3ZlcyB0aGUgcG9zaXRpb24gb2YgdGhlIGN1cnJlbnQKKyAgICBpbnN0YW5jZSB0byB0aGUgYXR0cmlidXRlIHdpdGggdGhlIHNwZWNpZmllZCBpbmRleCByZWxhdGl2ZSB0byB0aGUKKyAgICBjb250YWluaW5nIGVsZW1lbnQuPC9saT4KKyAgPGxpPjxlbT5Nb3ZlVG9BdHRyaWJ1dGU8L2VtPihuYW1lKTogbW92ZXMgdGhlIHBvc2l0aW9uIG9mIHRoZSBjdXJyZW50CisgICAgaW5zdGFuY2UgdG8gdGhlIGF0dHJpYnV0ZSB3aXRoIHRoZSBzcGVjaWZpZWQgcXVhbGlmaWVkIG5hbWUuPC9saT4KKyAgPGxpPjxlbT5Nb3ZlVG9BdHRyaWJ1dGVOczwvZW0+KGxvY2FsTmFtZSwgbmFtZXNwYWNlVVJJKTogbW92ZXMgdGhlIHBvc2l0aW9uCisgICAgb2YgdGhlIGN1cnJlbnQgaW5zdGFuY2UgdG8gdGhlIGF0dHJpYnV0ZSB3aXRoIHRoZSBzcGVjaWZpZWQgbG9jYWwgbmFtZQorICAgIGFuZCBuYW1lc3BhY2UgVVJJLjwvbGk+CisgIDxsaT48ZW0+TW92ZVRvRmlyc3RBdHRyaWJ1dGU8L2VtPjogbW92ZXMgdGhlIHBvc2l0aW9uIG9mIHRoZSBjdXJyZW50CisgICAgaW5zdGFuY2UgdG8gdGhlIGZpcnN0IGF0dHJpYnV0ZSBhc3NvY2lhdGVkIHdpdGggdGhlIGN1cnJlbnQgbm9kZS48L2xpPgorICA8bGk+PGVtPk1vdmVUb05leHRBdHRyaWJ1dGU8L2VtPjogbW92ZXMgdGhlIHBvc2l0aW9uIG9mIHRoZSBjdXJyZW50CisgICAgaW5zdGFuY2UgdG8gdGhlIG5leHQgYXR0cmlidXRlIGFzc29jaWF0ZWQgd2l0aCB0aGUgY3VycmVudCBub2RlLjwvbGk+CisgIDxsaT48ZW0+TW92ZVRvRWxlbWVudDwvZW0+OiBtb3ZlcyB0aGUgcG9zaXRpb24gb2YgdGhlIGN1cnJlbnQgaW5zdGFuY2UgdG8KKyAgICB0aGUgbm9kZSB0aGF0IGNvbnRhaW5zIHRoZSBjdXJyZW50IEF0dHJpYnV0ZSAgbm9kZS48L2xpPgorPC91bD4KKworPHA+QWZ0ZXIgbW9kaWZ5aW5nIHRoZSBwcm9jZXNzTm9kZSgpIGZ1bmN0aW9uIHRvIHNob3cgYXR0cmlidXRlczo8L3A+Cis8cHJlPmRlZiBwcm9jZXNzTm9kZShyZWFkZXIpOgorICAgIHByaW50ICIlZCAlZCAlcyAlZCAlcyIgJSAocmVhZGVyLkRlcHRoKCksIHJlYWRlci5Ob2RlVHlwZSgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZGVyLk5hbWUoKSwgcmVhZGVyLklzRW1wdHlFbGVtZW50KCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkZXIuVmFsdWUoKSkKKyAgICBpZiByZWFkZXIuTm9kZVR5cGUoKSA9PSAxOiAjIEVsZW1lbnQKKyAgICAgICAgd2hpbGUgcmVhZGVyLk1vdmVUb05leHRBdHRyaWJ1dGUoKToKKyAgICAgICAgICAgIHByaW50ICItLSAlZCAlZCAoJXMpIFslc10iICUgKHJlYWRlci5EZXB0aCgpLCByZWFkZXIuTm9kZVR5cGUoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRlci5OYW1lKCkscmVhZGVyLlZhbHVlKCkpPC9wcmU+CisKKzxwPlRoZSBvdXRwdXQgZm9yIHRoZSBzYW1lIGlucHV0IGRvY3VtZW50IHJlZmxlY3RzIHRoZSBhdHRyaWJ1dGU6PC9wPgorPHByZT4wIDEgZG9jIDEgTm9uZQorLS0gMSAyIChhKSBbYl08L3ByZT4KKworPHA+VGhlcmUgYXJlIGEgY291cGxlIG9mIHRoaW5ncyB0byBub3RlIG9uIHRoZSBhdHRyaWJ1dGUgcHJvY2Vzc2luZzo8L3A+Cis8dWw+CisgIDxsaT5UaGVpciBkZXB0aCBpcyB0aGUgb25lIG9mIHRoZSBjYXJyeWluZyBlbGVtZW50IHBsdXMgb25lLjwvbGk+CisgIDxsaT5OYW1lc3BhY2UgZGVjbGFyYXRpb25zIGFyZSBzZWVuIGFzIGF0dHJpYnV0ZXMsIGFzIGluIERPTS48L2xpPgorPC91bD4KKworPGgyPjxhIG5hbWU9IlZhbGlkYXRpbmciPlZhbGlkYXRpbmcgYSBkb2N1bWVudDwvYT48L2gyPgorCis8cD5MaWJ4bWwyIGltcGxlbWVudGF0aW9uIGFkZHMgc29tZSBleHRyYSBmZWF0dXJlcyBvbiB0b3Agb2YgdGhlIFhtbFRleHRSZWFkZXIKK0FQSS4gVGhlIG1haW4gb25lIGlzIHRoZSBhYmlsaXR5IHRvIERURCB2YWxpZGF0ZSB0aGUgcGFyc2VkIGRvY3VtZW50Citwcm9ncmVzc2l2ZWx5LiBUaGlzIGlzIHNpbXBseSB0aGUgYWN0aXZhdGlvbiBvZiB0aGUgYXNzb2NpYXRlZCBmZWF0dXJlIG9mIHRoZQorcGFyc2VyIHVzZWQgYnkgdGhlIHJlYWRlciBzdHJ1Y3R1cmUuIFRoZXJlIGFyZSBhIGZldyBvcHRpb25zIGF2YWlsYWJsZQorZGVmaW5lZCBhcyB0aGUgZW51bSB4bWxQYXJzZXJQcm9wZXJ0aWVzIGluIHRoZSBsaWJ4bWwveG1scmVhZGVyLmggaGVhZGVyCitmaWxlOjwvcD4KKzx1bD4KKyAgPGxpPlhNTF9QQVJTRVJfTE9BRERURDogZm9yY2UgbG9hZGluZyB0aGUgRFREICh3aXRob3V0IHZhbGlkYXRpbmcpPC9saT4KKyAgPGxpPlhNTF9QQVJTRVJfREVGQVVMVEFUVFJTOiBmb3JjZSBhdHRyaWJ1dGUgZGVmYXVsdGluZyAodGhpcyBhbHNvIGltcGx5CisgICAgbG9hZGluZyB0aGUgRFREKTwvbGk+CisgIDxsaT5YTUxfUEFSU0VSX1ZBTElEQVRFOiBhY3RpdmF0ZSBEVEQgdmFsaWRhdGlvbiAodGhpcyBhbHNvIGltcGx5IGxvYWRpbmcKKyAgICB0aGUgRFREKTwvbGk+CisgIDxsaT5YTUxfUEFSU0VSX1NVQlNUX0VOVElUSUVTOiBzdWJzdGl0dXRlIGVudGl0aWVzIG9uIHRoZSBmbHksIGVudGl0eQorICAgIHJlZmVyZW5jZSBub2RlcyBhcmUgbm90IGdlbmVyYXRlZCBhbmQgYXJlIHJlcGxhY2VkIGJ5IHRoZWlyIGV4cGFuZGVkCisgICAgY29udGVudC48L2xpPgorICA8bGk+bW9yZSBzZXR0aW5ncyBtaWdodCBiZSBhZGRlZCwgdGhvc2Ugd2VyZSB0aGUgb25lIGF2YWlsYWJsZSBhdCB0aGUgMi41LjAKKyAgICByZWxlYXNlLi4uPC9saT4KKzwvdWw+CisKKzxwPlRoZSBHZXRQYXJzZXJQcm9wKCkgYW5kIFNldFBhcnNlclByb3AoKSBtZXRob2RzIGNhbiB0aGVuIGJlIHVzZWQgdG8gZ2V0CithbmQgc2V0IHRoZSB2YWx1ZXMgb2YgdGhvc2UgcGFyc2VyIHByb3BlcnRpZXMgb2YgdGhlIHJlYWRlci4gRm9yIGV4YW1wbGU8L3A+Cis8cHJlPmRlZiBwYXJzZUFuZFZhbGlkYXRlKGZpbGUpOgorICAgIHJlYWRlciA9IGxpYnhtbDIubmV3VGV4dFJlYWRlckZpbGVuYW1lKGZpbGUpCisgICAgcmVhZGVyLlNldFBhcnNlclByb3AobGlieG1sMi5QQVJTRVJfVkFMSURBVEUsIDEpCisgICAgcmV0ID0gcmVhZGVyLlJlYWQoKQorICAgIHdoaWxlIHJldCA9PSAxOgorICAgICAgICByZXQgPSByZWFkZXIuUmVhZCgpCisgICAgaWYgcmV0ICE9IDA6CisgICAgICAgIHByaW50ICJFcnJvciBwYXJzaW5nIGFuZCB2YWxpZGF0aW5nICVzIiAlIChmaWxlKTwvcHJlPgorCis8cD5UaGlzIHJvdXRpbmUgd2lsbCBwYXJzZSBhbmQgdmFsaWRhdGUgdGhlIGZpbGUuIEVycm9yIG1lc3NhZ2VzIGNhbiBiZQorY2FwdHVyZWQgYnkgcmVnaXN0ZXJpbmcgYW4gZXJyb3IgaGFuZGxlci4gU2VlIHB5dGhvbi90ZXN0cy9yZWFkZXIyLnB5IGZvcgorbW9yZSBjb21wbGV0ZSBQeXRob24gZXhhbXBsZXMuIEF0IHRoZSBDIGxldmVsIHRoZSBlcXVpdmFsZW50IGNhbGwgdG8gY2F0aXZhdGUKK3RoZSB2YWxpZGF0aW9uIGZlYXR1cmUgaXMganVzdDo8L3A+Cis8cHJlPnJldCA9IHhtbFRleHRSZWFkZXJTZXRQYXJzZXJQcm9wKHJlYWRlciwgWE1MX1BBUlNFUl9WQUxJREFURSwgMSk8L3ByZT4KKworPHA+YW5kIGEgcmV0dXJuIHZhbHVlIG9mIDAgaW5kaWNhdGVzIHN1Y2Nlc3MuPC9wPgorCis8aDI+PGEgbmFtZT0iRW50aXRpZXMiPkVudGl0aWVzIHN1YnN0aXR1dGlvbjwvYT48L2gyPgorCis8cD5CeSBkZWZhdWx0IHRoZSB4bWxSZWFkZXIgd2lsbCByZXBvcnQgZW50aXRpZXMgYXMgc3VjaCBhbmQgbm90IHJlcGxhY2UgdGhlbQord2l0aCB0aGVpciBjb250ZW50LiBUaGlzIGRlZmF1bHQgYmVoYXZpb3VyIGNhbiBob3dldmVyIGJlIG92ZXJyaWRlbiB1c2luZzo8L3A+CisKKzxwPjxjb2RlPnJlYWRlci5TZXRQYXJzZXJQcm9wKGxpYnhtbDIuUEFSU0VSX1NVQlNUX0VOVElUSUVTLDEpPC9jb2RlPjwvcD4KKworPGgyPjxhIG5hbWU9IkwxMTQyIj5SZWxheC1ORyBWYWxpZGF0aW9uPC9hPjwvaDI+CisKKzxwIHN0eWxlPSJmb250LXNpemU6IDEwcHQiPkludHJvZHVjZWQgaW4gdmVyc2lvbiAyLjUuNzwvcD4KKworPHA+TGlieG1sMiBjYW4gbm93IHZhbGlkYXRlIHRoZSBkb2N1bWVudCBiZWluZyByZWFkIHVzaW5nIHRoZSB4bWxSZWFkZXIgdXNpbmcKK1JlbGF4LU5HIHNjaGVtYXMuIFdoaWxlIHRoZSBSZWxheCBORyB2YWxpZGF0b3IgY2FuJ3QgYWx3YXlzIHdvcmsgaW4gYQorc3RyZWFtYWJsZSBtb2RlLCBvbmx5IHN1YnNldHMgd2hpY2ggY2Fubm90IGJlIHJlZHVjZWQgdG8gcmVndWxhciBleHByZXNzaW9ucworbmVlZCB0byBoYXZlIHRoZWlyIHN1YnRyZWUgZXhwYW5kZWQgZm9yIHZhbGlkYXRpb24uIEluIHByYWN0aWNlIGl0IG1lYW5zCit0aGF0LCB1bmxlc3MgdGhlIHNjaGVtYXMgZm9yIHRoZSB0b3AgbGV2ZWwgZWxlbWVudCBjb250ZW50IGlzIG5vdCBleHByZXNzYWJsZQorYXMgYSByZWdleHAsIG9ubHkgY2h1bmsgb2YgdGhlIGRvY3VtZW50IG5lZWRzIHRvIGJlIHBhcnNlZCB3aGlsZQordmFsaWRhdGluZy48L3A+CisKKzxwPlRoZSBzdGVwcyB0byBkbyBzbyBhcmU6PC9wPgorPHVsPgorICA8bGk+Y3JlYXRlIGEgcmVhZGVyIHdvcmtpbmcgb24gYSBkb2N1bWVudCBhcyB1c3VhbDwvbGk+CisgIDxsaT5iZWZvcmUgYW55IGNhbGwgdG8gcmVhZCBhc3NvY2lhdGUgaXQgdG8gYSBSZWxheCBORyBzY2hlbWFzLCBlaXRoZXIgdGhlCisgICAgcHJlcGFyc2VkIHNjaGVtYXMgb3IgdGhlIFVSTCB0byB0aGUgc2NoZW1hcyB0byB1c2U8L2xpPgorICA8bGk+ZXJyb3JzIHdpbGwgYmUgcmVwb3J0ZWQgdGhlIHVzdWFsIHdheSwgYW5kIHRoZSB2YWxpZGl0eSBzdGF0dXMgY2FuIGJlCisgICAgb2J0YWluZWQgdXNpbmcgdGhlIElzVmFsaWQoKSBpbnRlcmZhY2Ugb2YgdGhlIHJlYWRlciBsaWtlIGZvciBEVERzLjwvbGk+Cis8L3VsPgorCis8cD5FeGFtcGxlLCBhc3N1bWluZyB0aGUgcmVhZGVyIGhhcyBhbHJlYWR5IGJlaW5nIGNyZWF0ZWQgYW5kIHRoYXQgdGhlIHNjaGVtYQorc3RyaW5nIGNvbnRhaW5zIHRoZSBSZWxheC1ORyBzY2hlbWFzOjwvcD4KKzxwcmU+PGNvZGU+cm5ncCA9IGxpYnhtbDIucmVsYXhOR05ld01lbVBhcnNlckN0eHQoc2NoZW1hLCBsZW4oc2NoZW1hKSk8YnI+CitybmdzID0gcm5ncC5yZWxheE5HUGFyc2UoKTxicj4KK3JlYWRlci5SZWxheE5HU2V0U2NoZW1hKHJuZ3MpPGJyPgorcmV0ID0gcmVhZGVyLlJlYWQoKTxicj4KK3doaWxlIHJldCA9PSAxOjxicj4KKyAgICByZXQgPSByZWFkZXIuUmVhZCgpPGJyPgoraWYgcmV0ICE9IDA6PGJyPgorICAgIHByaW50ICJFcnJvciBwYXJzaW5nIHRoZSBkb2N1bWVudCI8YnI+CitpZiByZWFkZXIuSXNWYWxpZCgpICE9IDE6PGJyPgorICAgIHByaW50ICJEb2N1bWVudCBmYWlsZWQgdG8gdmFsaWRhdGUiPC9jb2RlPjxicj4KKzwvcHJlPgorCis8cD5TZWUgPGNvZGU+cmVhZGVyNi5weTwvY29kZT4gaW4gdGhlIHNvdXJjZXMgb3IgZG9jdW1lbnRhdGlvbiBmb3IgYSBjb21wbGV0ZQorZXhhbXBsZS48L3A+CisKKzxoMj48YSBuYW1lPSJNaXhpbmciPk1peGluZyB0aGUgcmVhZGVyIGFuZCB0cmVlIG9yIFhQYXRoIG9wZXJhdGlvbnM8L2E+PC9oMj4KKworPHAgc3R5bGU9ImZvbnQtc2l6ZTogMTBwdCI+SW50cm9kdWNlZCBpbiB2ZXJzaW9uIDIuNS43PC9wPgorCis8cD5XaGlsZSB0aGUgcmVhZGVyIGlzIGEgc3RyZWFtaW5nIGludGVyZmFjZSwgaXRzIHVuZGVybHlpbmcgaW1wbGVtZW50YXRpb24KK2lzIGJhc2VkIG9uIHRoZSBET00gYnVpbGRlciBvZiBsaWJ4bWwyLiBBcyBhIHJlc3VsdCBpdCBpcyByZWxhdGl2ZWx5IHNpbXBsZQordG8gbWl4IG9wZXJhdGlvbnMgYmFzZWQgb24gYm90aCBtb2RlbHMgdW5kZXIgc29tZSBjb25zdHJhaW50cy4gVG8gZG8gc28gdGhlCityZWFkZXIgaGFzIGFuIEV4cGFuZCgpIG9wZXJhdGlvbiBhbGxvd2luZyB0byBncm93IHRoZSBzdWJ0cmVlIHVuZGVyIHRoZQorY3VycmVudCBub2RlLiBJdCByZXR1cm5zIGEgcG9pbnRlciB0byBhIHN0YW5kYXJkIG5vZGUgd2hpY2ggY2FuIGJlCittYW5pcHVsYXRlZCBpbiB0aGUgdXN1YWwgd2F5cy4gVGhlIG5vZGUgd2lsbCBnZXQgYWxsIGl0cyBhbmNlc3RvcnMgYW5kIHRoZQorZnVsbCBzdWJ0cmVlIGF2YWlsYWJsZS4gVXN1YWwgb3BlcmF0aW9ucyBsaWtlIFhQYXRoIHF1ZXJpZXMgY2FuIGJlIHVzZWQgb24KK3RoYXQgcmVkdWNlZCB2aWV3IG9mIHRoZSBkb2N1bWVudC4gSGVyZSBpcyBhbiBleGFtcGxlIGV4dHJhY3RlZCBmcm9tCityZWFkZXI1LnB5IGluIHRoZSBzb3VyY2VzIHdoaWNoIGV4dHJhY3QgYW5kIHByaW50cyB0aGUgYmlibGlvZ3JhcGh5IGZvciB0aGUKKyJEcmFnb24iIGNvbXBpbGVyIGJvb2sgZnJvbSB0aGUgWE1MIDEuMCByZWNvbW1lbmRhdGlvbjo8L3A+Cis8cHJlPmYgPSBvcGVuKCcuLi8uLi90ZXN0L3ZhbGlkL1JFQy14bWwtMTk5ODAyMTAueG1sJykKK2lucHV0ID0gbGlieG1sMi5pbnB1dEJ1ZmZlcihmKQorcmVhZGVyID0gaW5wdXQubmV3VGV4dFJlYWRlcigiUkVDIikKK3Jlcz0iIgord2hpbGUgcmVhZGVyLlJlYWQoKToKKyAgICB3aGlsZSByZWFkZXIuTmFtZSgpID09ICdiaWJsJzoKKyAgICAgICAgbm9kZSA9IHJlYWRlci5FeHBhbmQoKSAgICAgICAgICAgICMgZXhwYW5kIHRoZSBzdWJ0cmVlCisgICAgICAgIGlmIG5vZGUueHBhdGhFdmFsKCJAaWQgPSAnQWhvJyIpOiAjIHVzZSBYUGF0aCBvbiBpdAorICAgICAgICAgICAgcmVzID0gcmVzICsgbm9kZS5zZXJpYWxpemUoKQorICAgICAgICBpZiByZWFkZXIuTmV4dCgpICE9IDE6ICAgICAgICAgICAgIyBza2lwIHRoZSBzdWJ0cmVlCisgICAgICAgICAgICBicmVhazs8L3ByZT4KKworPHA+Tm90ZSwgaG93ZXZlciB0aGF0IHRoZSBub2RlIGluc3RhbmNlIHJldHVybmVkIGJ5IHRoZSBFeHBhbmQoKSBjYWxsIGlzIG9ubHkKK3ZhbGlkIHVudGlsIHRoZSBuZXh0IFJlYWQoKSBvcGVyYXRpb24uIFRoZSBFeHBhbmQoKSBvcGVyYXRpb24gZG9lcyBub3QKK2FmZmVjdHMgdGhlIFJlYWQoKSBvbmVzLCBob3dldmVyIHVzdWFsbHkgb25jZSBwcm9jZXNzZWQgdGhlIGZ1bGwgc3VidHJlZSBpcworbm90IHVzZWZ1bCBhbnltb3JlLCBhbmQgdGhlIE5leHQoKSBvcGVyYXRpb24gYWxsb3dzIHRvIHNraXAgaXQgY29tcGxldGVseSBhbmQKK3Byb2Nlc3MgdG8gdGhlIHN1Y2Nlc3NvciBvciByZXR1cm4gMCBpZiB0aGUgZG9jdW1lbnQgZW5kIGlzIHJlYWNoZWQuPC9wPgorCis8cD48YSBocmVmPSJtYWlsdG86eG1sQGdub21lLm9yZyI+RGFuaWVsIFZlaWxsYXJkPC9hPjwvcD4KKworPHA+JElkJDwvcD4KKworPHA+PC9wPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9kb2MveHNhLnhzbCBiL2xpYnhtbDIvZG9jL3hzYS54c2wKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzAxNTFkNAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZG9jL3hzYS54c2wKQEAgLTAsMCArMSw1NCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IS0tCisgIFN0eWxlc2hlZXQgZ2VuZXJhdGluZyB0aGUgWFNBIGVudHJ5IGZvciBsaWJ4bWwyIGJhc2VkIG9uIHRoZSAKKyAgbGF0ZXN0IE5ld3MgZW50cnkuCisgIFNlZSBodHRwOi8vd3d3LmdhcnNob2wucHJpdi5uby9kb3dubG9hZC94c2EvIGZvciBhIGRlc2NyaXB0aW9uIG9mIFhTQQorIC0tPgorPHhzbDpzdHlsZXNoZWV0IHhtbG5zOnhzbD0iaHR0cDovL3d3dy53My5vcmcvMTk5OS9YU0wvVHJhbnNmb3JtIiB2ZXJzaW9uPSIxLjAiCisgICAgIHhtbG5zOnhodG1sPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiBleGNsdWRlLXJlc3VsdC1wcmVmaXhlcz0ieGh0bWwiPgorICA8eHNsOm91dHB1dCBtZXRob2Q9InhtbCIKKyAgICAgIGRvY3R5cGUtcHVibGljPSItLy9MTSBHYXJzaG9sLy9EVEQgWE1MIFNvZnR3YXJlIEF1dG91cGRhdGUgMS4wLy9FTi8vWE1MIgorICAgICAgZG9jdHlwZS1zeXN0ZW09Imh0dHA6Ly93d3cuZ2Fyc2hvbC5wcml2Lm5vL2Rvd25sb2FkL3hzYS94c2EuZHRkIgorICAgICAgaW5kZW50PSJ5ZXMiLz4KKworICA8eHNsOnRlbXBsYXRlIG1hdGNoPSIvIj4KKzx4c2E+CisgIDx2ZW5kb3I+CisgICAgPG5hbWU+RGFuaWVsIFZlaWxsYXJkPC9uYW1lPgorICAgIDxlbWFpbD5kYW5pZWxAdmVpbGxhcmQuY29tPC9lbWFpbD4KKyAgICA8dXJsPmh0dHA6Ly92ZWlsbGFyZC5jb20vPC91cmw+CisgIDwvdmVuZG9yPgorICA8cHJvZHVjdCBpZD0ibGlieG1sMiI+CisgICAgPG5hbWU+bGlieG1sMjwvbmFtZT4KKyAgICA8dmVyc2lvbj48eHNsOnZhbHVlLW9mIHNlbGVjdD0ic3Vic3RyaW5nLWJlZm9yZSgvL3hodG1sOmgzWzJdLCAnOicpIi8+PC92ZXJzaW9uPgorICAgIDxsYXN0LXJlbGVhc2U+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9InN1YnN0cmluZy1hZnRlcigvL3hodG1sOmgzWzJdLCAnOicpIi8+PC9sYXN0LXJlbGVhc2U+CisgICAgPGluZm8tdXJsPmh0dHA6Ly94bWxzb2Z0Lm9yZy88L2luZm8tdXJsPgorICAgIDxjaGFuZ2VzPgorICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iLy94aHRtbDpoM1syXS9mb2xsb3dpbmctc2libGluZzo6KlsxXSIvPgorICAgIDwvY2hhbmdlcz4KKyAgPC9wcm9kdWN0PgorPC94c2E+CisgIDwveHNsOnRlbXBsYXRlPgorICA8eHNsOnRlbXBsYXRlIG1hdGNoPSJ4aHRtbDpoMyI+CisgIDwveHNsOnRlbXBsYXRlPgorICA8eHNsOnRlbXBsYXRlIG1hdGNoPSJ4aHRtbDp1bCI+CisgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSIuLy94aHRtbDpsaSIvPgorICAgIDx4c2w6dGV4dD4KKzwveHNsOnRleHQ+CisgIDwveHNsOnRlbXBsYXRlPgorICA8eHNsOnRlbXBsYXRlIG1hdGNoPSJ4aHRtbDpsaSI+CisgICAgPHhzbDp0ZXh0PiAgIC0gPC94c2w6dGV4dD4KKyAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iLiIvPgorICAgIDx4c2w6dGV4dD4KKzwveHNsOnRleHQ+CisgIDwveHNsOnRlbXBsYXRlPgorICA8eHNsOnRlbXBsYXRlIG1hdGNoPSJ4aHRtbDphIj4KKyAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iLiIvPgorICAgIDx4c2w6dGV4dD4gYXQgCis8L3hzbDp0ZXh0PgorICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAaHJlZiIvPgorICAgIDx4c2w6dGV4dD4KKzwveHNsOnRleHQ+CisgIDwveHNsOnRlbXBsYXRlPgorPC94c2w6c3R5bGVzaGVldD4KKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9lbGZnY2NoYWNrLmggYi9saWJ4bWwyL2VsZmdjY2hhY2suaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YzUyODg0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9lbGZnY2NoYWNrLmgKQEAgLTAsMCArMSwxNzgwOCBAQAorLyoKKyAqIGVsZmdjY2hhY2suaDogaGFjayBieSBBcmphbiB2YW4gZGUgVmVuIDxhcmphbnZAcmVkaGF0LmNvbT4gdG8gc3BlZWQKKyAqICAgICAgICAgICAgICAgdXAgdGhlIGNvZGUgd2hlbiB1c2luZyBnY2MgZm9yIGNhbGwgd2l0aGluIHRoZSBsaWJyYXJ5LgorICoKKyAqIEJhc2VkIG9uIHRoZSBhbmFseXNpcyBodHRwOi8vcGVvcGxlLnJlZGhhdC5jb20vZHJlcHBlci9kc29ob3d0by5wZGYKKyAqIGZyb20gVWxyaWNoIGRyZXBwZXIuIFJld3JpdHRlbiB0byBiZSBnZW5lcmF0ZWQgZnJvbSB0aGUgWE1MIGRlc2NyaXB0aW9uCisgKiBmaWxlIGZvciBsaWJ4bWwyIEFQSQorICogYXV0b2dlbmVyYXRlZCB3aXRoIHhzbHRwcm9jIGRvYy9lbGZnY2NoYWNrLnhzbCBkb2MvbGlieG1sMi1hcGkueG1sCisgKi8KKworI2lmZGVmIElOX0xJQlhNTAorI2lmZGVmIF9fR05VQ19fCisjaWZkZWYgUElDCisjaWZkZWYgbGludXgKKyNpZiAoX19HTlVDX18gPT0gMyAmJiBfX0dOVUNfTUlOT1JfXyA+PSAzKSB8fCAoX19HTlVDX18gPiAzKQorCisjaW5jbHVkZSAibGlieG1sL2MxNG4uaCIKKyNpbmNsdWRlICJsaWJ4bWwvY2F0YWxvZy5oIgorI2luY2x1ZGUgImxpYnhtbC9jaHZhbGlkLmgiCisjaW5jbHVkZSAibGlieG1sL2RlYnVnWE1MLmgiCisjaW5jbHVkZSAibGlieG1sL2RpY3QuaCIKKyNpbmNsdWRlICJsaWJ4bWwvRE9DQnBhcnNlci5oIgorI2luY2x1ZGUgImxpYnhtbC9lbmNvZGluZy5oIgorI2luY2x1ZGUgImxpYnhtbC9lbnRpdGllcy5oIgorI2luY2x1ZGUgImxpYnhtbC9nbG9iYWxzLmgiCisjaW5jbHVkZSAibGlieG1sL2hhc2guaCIKKyNpbmNsdWRlICJsaWJ4bWwvSFRNTHBhcnNlci5oIgorI2luY2x1ZGUgImxpYnhtbC9IVE1MdHJlZS5oIgorI2luY2x1ZGUgImxpYnhtbC9saXN0LmgiCisjaW5jbHVkZSAibGlieG1sL25hbm9mdHAuaCIKKyNpbmNsdWRlICJsaWJ4bWwvbmFub2h0dHAuaCIKKyNpbmNsdWRlICJsaWJ4bWwvcGFyc2VyLmgiCisjaW5jbHVkZSAibGlieG1sL3BhcnNlckludGVybmFscy5oIgorI2luY2x1ZGUgImxpYnhtbC9wYXR0ZXJuLmgiCisjaW5jbHVkZSAibGlieG1sL3JlbGF4bmcuaCIKKyNpbmNsdWRlICJsaWJ4bWwvU0FYMi5oIgorI2luY2x1ZGUgImxpYnhtbC9TQVguaCIKKyNpbmNsdWRlICJsaWJ4bWwvc2NoZW1hc0ludGVybmFscy5oIgorI2luY2x1ZGUgImxpYnhtbC9zY2hlbWF0cm9uLmgiCisjaW5jbHVkZSAibGlieG1sL3RocmVhZHMuaCIKKyNpbmNsdWRlICJsaWJ4bWwvdHJlZS5oIgorI2luY2x1ZGUgImxpYnhtbC91cmkuaCIKKyNpbmNsdWRlICJsaWJ4bWwvdmFsaWQuaCIKKyNpbmNsdWRlICJsaWJ4bWwveGluY2x1ZGUuaCIKKyNpbmNsdWRlICJsaWJ4bWwveGxpbmsuaCIKKyNpbmNsdWRlICJsaWJ4bWwveG1sYXV0b21hdGEuaCIKKyNpbmNsdWRlICJsaWJ4bWwveG1sZXJyb3IuaCIKKyNpbmNsdWRlICJsaWJ4bWwveG1sZXhwb3J0cy5oIgorI2luY2x1ZGUgImxpYnhtbC94bWxJTy5oIgorI2luY2x1ZGUgImxpYnhtbC94bWxtZW1vcnkuaCIKKyNpbmNsdWRlICJsaWJ4bWwveG1scmVhZGVyLmgiCisjaW5jbHVkZSAibGlieG1sL3htbHJlZ2V4cC5oIgorI2luY2x1ZGUgImxpYnhtbC94bWxzYXZlLmgiCisjaW5jbHVkZSAibGlieG1sL3htbHNjaGVtYXMuaCIKKyNpbmNsdWRlICJsaWJ4bWwveG1sc2NoZW1hc3R5cGVzLmgiCisjaW5jbHVkZSAibGlieG1sL3htbHN0cmluZy5oIgorI2luY2x1ZGUgImxpYnhtbC94bWx1bmljb2RlLmgiCisjaW5jbHVkZSAibGlieG1sL3htbHZlcnNpb24uaCIKKyNpbmNsdWRlICJsaWJ4bWwveG1sd3JpdGVyLmgiCisjaW5jbHVkZSAibGlieG1sL3hwYXRoLmgiCisjaW5jbHVkZSAibGlieG1sL3hwYXRoSW50ZXJuYWxzLmgiCisjaW5jbHVkZSAibGlieG1sL3hwb2ludGVyLmgiCisjaW5jbHVkZSAibGlieG1sL3htbG1vZHVsZS5oIgorCisvKiBzcGVjaWFsIGhvdCBzcG90IG5vdCBleHBvcnRlZCBvbmVzICovCisKKyNpZmRlZiBib3R0b21fZ2xvYmFscworI3VuZGVmIF9feG1sR2VuZXJpY0Vycm9yCitleHRlcm4gX190eXBlb2YgKF9feG1sR2VuZXJpY0Vycm9yKSBfX3htbEdlbmVyaWNFcnJvciBfX2F0dHJpYnV0ZSgoYWxpYXMoIl9feG1sR2VuZXJpY0Vycm9yX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiBfX3htbEdlbmVyaWNFcnJvcgorZXh0ZXJuIF9fdHlwZW9mIChfX3htbEdlbmVyaWNFcnJvcikgX194bWxHZW5lcmljRXJyb3JfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSBfX3htbEdlbmVyaWNFcnJvciBfX3htbEdlbmVyaWNFcnJvcl9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fZ2xvYmFscworI3VuZGVmIF9feG1sR2VuZXJpY0Vycm9yQ29udGV4dAorZXh0ZXJuIF9fdHlwZW9mIChfX3htbEdlbmVyaWNFcnJvckNvbnRleHQpIF9feG1sR2VuZXJpY0Vycm9yQ29udGV4dCBfX2F0dHJpYnV0ZSgoYWxpYXMoIl9feG1sR2VuZXJpY0Vycm9yQ29udGV4dF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgX194bWxHZW5lcmljRXJyb3JDb250ZXh0CitleHRlcm4gX190eXBlb2YgKF9feG1sR2VuZXJpY0Vycm9yQ29udGV4dCkgX194bWxHZW5lcmljRXJyb3JDb250ZXh0X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgX194bWxHZW5lcmljRXJyb3JDb250ZXh0IF9feG1sR2VuZXJpY0Vycm9yQ29udGV4dF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKy8qIGxpc3QgZ2VuZXJhdGVkIGZyb20gbGlieG1sMi1hcGkueG1sICovCisjaWYgZGVmaW5lZChMSUJYTUxfRE9DQl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9ET0NCcGFyc2VyCisjdW5kZWYgZG9jYkNyZWF0ZVB1c2hQYXJzZXJDdHh0CitleHRlcm4gX190eXBlb2YgKGRvY2JDcmVhdGVQdXNoUGFyc2VyQ3R4dCkgZG9jYkNyZWF0ZVB1c2hQYXJzZXJDdHh0IF9fYXR0cmlidXRlKChhbGlhcygiZG9jYkNyZWF0ZVB1c2hQYXJzZXJDdHh0X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiBkb2NiQ3JlYXRlUHVzaFBhcnNlckN0eHQKK2V4dGVybiBfX3R5cGVvZiAoZG9jYkNyZWF0ZVB1c2hQYXJzZXJDdHh0KSBkb2NiQ3JlYXRlUHVzaFBhcnNlckN0eHRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSBkb2NiQ3JlYXRlUHVzaFBhcnNlckN0eHQgZG9jYkNyZWF0ZVB1c2hQYXJzZXJDdHh0X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9IVE1McGFyc2VyCisjdW5kZWYgaHRtbEF0dHJBbGxvd2VkCitleHRlcm4gX190eXBlb2YgKGh0bWxBdHRyQWxsb3dlZCkgaHRtbEF0dHJBbGxvd2VkIF9fYXR0cmlidXRlKChhbGlhcygiaHRtbEF0dHJBbGxvd2VkX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiBodG1sQXR0ckFsbG93ZWQKK2V4dGVybiBfX3R5cGVvZiAoaHRtbEF0dHJBbGxvd2VkKSBodG1sQXR0ckFsbG93ZWRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSBodG1sQXR0ckFsbG93ZWQgaHRtbEF0dHJBbGxvd2VkX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9IVE1McGFyc2VyCisjdW5kZWYgaHRtbEF1dG9DbG9zZVRhZworZXh0ZXJuIF9fdHlwZW9mIChodG1sQXV0b0Nsb3NlVGFnKSBodG1sQXV0b0Nsb3NlVGFnIF9fYXR0cmlidXRlKChhbGlhcygiaHRtbEF1dG9DbG9zZVRhZ19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgaHRtbEF1dG9DbG9zZVRhZworZXh0ZXJuIF9fdHlwZW9mIChodG1sQXV0b0Nsb3NlVGFnKSBodG1sQXV0b0Nsb3NlVGFnX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgaHRtbEF1dG9DbG9zZVRhZyBodG1sQXV0b0Nsb3NlVGFnX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9IVE1McGFyc2VyCisjdW5kZWYgaHRtbENyZWF0ZUZpbGVQYXJzZXJDdHh0CitleHRlcm4gX190eXBlb2YgKGh0bWxDcmVhdGVGaWxlUGFyc2VyQ3R4dCkgaHRtbENyZWF0ZUZpbGVQYXJzZXJDdHh0IF9fYXR0cmlidXRlKChhbGlhcygiaHRtbENyZWF0ZUZpbGVQYXJzZXJDdHh0X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiBodG1sQ3JlYXRlRmlsZVBhcnNlckN0eHQKK2V4dGVybiBfX3R5cGVvZiAoaHRtbENyZWF0ZUZpbGVQYXJzZXJDdHh0KSBodG1sQ3JlYXRlRmlsZVBhcnNlckN0eHRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSBodG1sQ3JlYXRlRmlsZVBhcnNlckN0eHQgaHRtbENyZWF0ZUZpbGVQYXJzZXJDdHh0X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9IVE1McGFyc2VyCisjdW5kZWYgaHRtbENyZWF0ZU1lbW9yeVBhcnNlckN0eHQKK2V4dGVybiBfX3R5cGVvZiAoaHRtbENyZWF0ZU1lbW9yeVBhcnNlckN0eHQpIGh0bWxDcmVhdGVNZW1vcnlQYXJzZXJDdHh0IF9fYXR0cmlidXRlKChhbGlhcygiaHRtbENyZWF0ZU1lbW9yeVBhcnNlckN0eHRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIGh0bWxDcmVhdGVNZW1vcnlQYXJzZXJDdHh0CitleHRlcm4gX190eXBlb2YgKGh0bWxDcmVhdGVNZW1vcnlQYXJzZXJDdHh0KSBodG1sQ3JlYXRlTWVtb3J5UGFyc2VyQ3R4dF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIGh0bWxDcmVhdGVNZW1vcnlQYXJzZXJDdHh0IGh0bWxDcmVhdGVNZW1vcnlQYXJzZXJDdHh0X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKSAmJiBkZWZpbmVkKExJQlhNTF9QVVNIX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX0hUTUxwYXJzZXIKKyN1bmRlZiBodG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQKK2V4dGVybiBfX3R5cGVvZiAoaHRtbENyZWF0ZVB1c2hQYXJzZXJDdHh0KSBodG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQgX19hdHRyaWJ1dGUoKGFsaWFzKCJodG1sQ3JlYXRlUHVzaFBhcnNlckN0eHRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIGh0bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dAorZXh0ZXJuIF9fdHlwZW9mIChodG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQpIGh0bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIGh0bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dCBodG1sQ3JlYXRlUHVzaFBhcnNlckN0eHRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX0hUTUxwYXJzZXIKKyN1bmRlZiBodG1sQ3R4dFJlYWREb2MKK2V4dGVybiBfX3R5cGVvZiAoaHRtbEN0eHRSZWFkRG9jKSBodG1sQ3R4dFJlYWREb2MgX19hdHRyaWJ1dGUoKGFsaWFzKCJodG1sQ3R4dFJlYWREb2NfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIGh0bWxDdHh0UmVhZERvYworZXh0ZXJuIF9fdHlwZW9mIChodG1sQ3R4dFJlYWREb2MpIGh0bWxDdHh0UmVhZERvY19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIGh0bWxDdHh0UmVhZERvYyBodG1sQ3R4dFJlYWREb2NfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX0hUTUxwYXJzZXIKKyN1bmRlZiBodG1sQ3R4dFJlYWRGZAorZXh0ZXJuIF9fdHlwZW9mIChodG1sQ3R4dFJlYWRGZCkgaHRtbEN0eHRSZWFkRmQgX19hdHRyaWJ1dGUoKGFsaWFzKCJodG1sQ3R4dFJlYWRGZF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgaHRtbEN0eHRSZWFkRmQKK2V4dGVybiBfX3R5cGVvZiAoaHRtbEN0eHRSZWFkRmQpIGh0bWxDdHh0UmVhZEZkX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgaHRtbEN0eHRSZWFkRmQgaHRtbEN0eHRSZWFkRmRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX0hUTUxwYXJzZXIKKyN1bmRlZiBodG1sQ3R4dFJlYWRGaWxlCitleHRlcm4gX190eXBlb2YgKGh0bWxDdHh0UmVhZEZpbGUpIGh0bWxDdHh0UmVhZEZpbGUgX19hdHRyaWJ1dGUoKGFsaWFzKCJodG1sQ3R4dFJlYWRGaWxlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiBodG1sQ3R4dFJlYWRGaWxlCitleHRlcm4gX190eXBlb2YgKGh0bWxDdHh0UmVhZEZpbGUpIGh0bWxDdHh0UmVhZEZpbGVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSBodG1sQ3R4dFJlYWRGaWxlIGh0bWxDdHh0UmVhZEZpbGVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX0hUTUxwYXJzZXIKKyN1bmRlZiBodG1sQ3R4dFJlYWRJTworZXh0ZXJuIF9fdHlwZW9mIChodG1sQ3R4dFJlYWRJTykgaHRtbEN0eHRSZWFkSU8gX19hdHRyaWJ1dGUoKGFsaWFzKCJodG1sQ3R4dFJlYWRJT19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgaHRtbEN0eHRSZWFkSU8KK2V4dGVybiBfX3R5cGVvZiAoaHRtbEN0eHRSZWFkSU8pIGh0bWxDdHh0UmVhZElPX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgaHRtbEN0eHRSZWFkSU8gaHRtbEN0eHRSZWFkSU9fX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX0hUTUxwYXJzZXIKKyN1bmRlZiBodG1sQ3R4dFJlYWRNZW1vcnkKK2V4dGVybiBfX3R5cGVvZiAoaHRtbEN0eHRSZWFkTWVtb3J5KSBodG1sQ3R4dFJlYWRNZW1vcnkgX19hdHRyaWJ1dGUoKGFsaWFzKCJodG1sQ3R4dFJlYWRNZW1vcnlfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIGh0bWxDdHh0UmVhZE1lbW9yeQorZXh0ZXJuIF9fdHlwZW9mIChodG1sQ3R4dFJlYWRNZW1vcnkpIGh0bWxDdHh0UmVhZE1lbW9yeV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIGh0bWxDdHh0UmVhZE1lbW9yeSBodG1sQ3R4dFJlYWRNZW1vcnlfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX0hUTUxwYXJzZXIKKyN1bmRlZiBodG1sQ3R4dFJlc2V0CitleHRlcm4gX190eXBlb2YgKGh0bWxDdHh0UmVzZXQpIGh0bWxDdHh0UmVzZXQgX19hdHRyaWJ1dGUoKGFsaWFzKCJodG1sQ3R4dFJlc2V0X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiBodG1sQ3R4dFJlc2V0CitleHRlcm4gX190eXBlb2YgKGh0bWxDdHh0UmVzZXQpIGh0bWxDdHh0UmVzZXRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSBodG1sQ3R4dFJlc2V0IGh0bWxDdHh0UmVzZXRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX0hUTUxwYXJzZXIKKyN1bmRlZiBodG1sQ3R4dFVzZU9wdGlvbnMKK2V4dGVybiBfX3R5cGVvZiAoaHRtbEN0eHRVc2VPcHRpb25zKSBodG1sQ3R4dFVzZU9wdGlvbnMgX19hdHRyaWJ1dGUoKGFsaWFzKCJodG1sQ3R4dFVzZU9wdGlvbnNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIGh0bWxDdHh0VXNlT3B0aW9ucworZXh0ZXJuIF9fdHlwZW9mIChodG1sQ3R4dFVzZU9wdGlvbnMpIGh0bWxDdHh0VXNlT3B0aW9uc19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIGh0bWxDdHh0VXNlT3B0aW9ucyBodG1sQ3R4dFVzZU9wdGlvbnNfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX1NBWDIKKyN1bmRlZiBodG1sRGVmYXVsdFNBWEhhbmRsZXJJbml0CitleHRlcm4gX190eXBlb2YgKGh0bWxEZWZhdWx0U0FYSGFuZGxlckluaXQpIGh0bWxEZWZhdWx0U0FYSGFuZGxlckluaXQgX19hdHRyaWJ1dGUoKGFsaWFzKCJodG1sRGVmYXVsdFNBWEhhbmRsZXJJbml0X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiBodG1sRGVmYXVsdFNBWEhhbmRsZXJJbml0CitleHRlcm4gX190eXBlb2YgKGh0bWxEZWZhdWx0U0FYSGFuZGxlckluaXQpIGh0bWxEZWZhdWx0U0FYSGFuZGxlckluaXRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSBodG1sRGVmYXVsdFNBWEhhbmRsZXJJbml0IGh0bWxEZWZhdWx0U0FYSGFuZGxlckluaXRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpICYmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9IVE1MdHJlZQorI3VuZGVmIGh0bWxEb2NDb250ZW50RHVtcEZvcm1hdE91dHB1dAorZXh0ZXJuIF9fdHlwZW9mIChodG1sRG9jQ29udGVudER1bXBGb3JtYXRPdXRwdXQpIGh0bWxEb2NDb250ZW50RHVtcEZvcm1hdE91dHB1dCBfX2F0dHJpYnV0ZSgoYWxpYXMoImh0bWxEb2NDb250ZW50RHVtcEZvcm1hdE91dHB1dF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgaHRtbERvY0NvbnRlbnREdW1wRm9ybWF0T3V0cHV0CitleHRlcm4gX190eXBlb2YgKGh0bWxEb2NDb250ZW50RHVtcEZvcm1hdE91dHB1dCkgaHRtbERvY0NvbnRlbnREdW1wRm9ybWF0T3V0cHV0X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgaHRtbERvY0NvbnRlbnREdW1wRm9ybWF0T3V0cHV0IGh0bWxEb2NDb250ZW50RHVtcEZvcm1hdE91dHB1dF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX0hUTUxfRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX0hUTUx0cmVlCisjdW5kZWYgaHRtbERvY0NvbnRlbnREdW1wT3V0cHV0CitleHRlcm4gX190eXBlb2YgKGh0bWxEb2NDb250ZW50RHVtcE91dHB1dCkgaHRtbERvY0NvbnRlbnREdW1wT3V0cHV0IF9fYXR0cmlidXRlKChhbGlhcygiaHRtbERvY0NvbnRlbnREdW1wT3V0cHV0X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiBodG1sRG9jQ29udGVudER1bXBPdXRwdXQKK2V4dGVybiBfX3R5cGVvZiAoaHRtbERvY0NvbnRlbnREdW1wT3V0cHV0KSBodG1sRG9jQ29udGVudER1bXBPdXRwdXRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSBodG1sRG9jQ29udGVudER1bXBPdXRwdXQgaHRtbERvY0NvbnRlbnREdW1wT3V0cHV0X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKSAmJiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fSFRNTHRyZWUKKyN1bmRlZiBodG1sRG9jRHVtcAorZXh0ZXJuIF9fdHlwZW9mIChodG1sRG9jRHVtcCkgaHRtbERvY0R1bXAgX19hdHRyaWJ1dGUoKGFsaWFzKCJodG1sRG9jRHVtcF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgaHRtbERvY0R1bXAKK2V4dGVybiBfX3R5cGVvZiAoaHRtbERvY0R1bXApIGh0bWxEb2NEdW1wX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgaHRtbERvY0R1bXAgaHRtbERvY0R1bXBfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpICYmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9IVE1MdHJlZQorI3VuZGVmIGh0bWxEb2NEdW1wTWVtb3J5CitleHRlcm4gX190eXBlb2YgKGh0bWxEb2NEdW1wTWVtb3J5KSBodG1sRG9jRHVtcE1lbW9yeSBfX2F0dHJpYnV0ZSgoYWxpYXMoImh0bWxEb2NEdW1wTWVtb3J5X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiBodG1sRG9jRHVtcE1lbW9yeQorZXh0ZXJuIF9fdHlwZW9mIChodG1sRG9jRHVtcE1lbW9yeSkgaHRtbERvY0R1bXBNZW1vcnlfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSBodG1sRG9jRHVtcE1lbW9yeSBodG1sRG9jRHVtcE1lbW9yeV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX0hUTUxfRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX0hUTUx0cmVlCisjdW5kZWYgaHRtbERvY0R1bXBNZW1vcnlGb3JtYXQKK2V4dGVybiBfX3R5cGVvZiAoaHRtbERvY0R1bXBNZW1vcnlGb3JtYXQpIGh0bWxEb2NEdW1wTWVtb3J5Rm9ybWF0IF9fYXR0cmlidXRlKChhbGlhcygiaHRtbERvY0R1bXBNZW1vcnlGb3JtYXRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIGh0bWxEb2NEdW1wTWVtb3J5Rm9ybWF0CitleHRlcm4gX190eXBlb2YgKGh0bWxEb2NEdW1wTWVtb3J5Rm9ybWF0KSBodG1sRG9jRHVtcE1lbW9yeUZvcm1hdF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIGh0bWxEb2NEdW1wTWVtb3J5Rm9ybWF0IGh0bWxEb2NEdW1wTWVtb3J5Rm9ybWF0X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9IVE1McGFyc2VyCisjdW5kZWYgaHRtbEVsZW1lbnRBbGxvd2VkSGVyZQorZXh0ZXJuIF9fdHlwZW9mIChodG1sRWxlbWVudEFsbG93ZWRIZXJlKSBodG1sRWxlbWVudEFsbG93ZWRIZXJlIF9fYXR0cmlidXRlKChhbGlhcygiaHRtbEVsZW1lbnRBbGxvd2VkSGVyZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgaHRtbEVsZW1lbnRBbGxvd2VkSGVyZQorZXh0ZXJuIF9fdHlwZW9mIChodG1sRWxlbWVudEFsbG93ZWRIZXJlKSBodG1sRWxlbWVudEFsbG93ZWRIZXJlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgaHRtbEVsZW1lbnRBbGxvd2VkSGVyZSBodG1sRWxlbWVudEFsbG93ZWRIZXJlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9IVE1McGFyc2VyCisjdW5kZWYgaHRtbEVsZW1lbnRTdGF0dXNIZXJlCitleHRlcm4gX190eXBlb2YgKGh0bWxFbGVtZW50U3RhdHVzSGVyZSkgaHRtbEVsZW1lbnRTdGF0dXNIZXJlIF9fYXR0cmlidXRlKChhbGlhcygiaHRtbEVsZW1lbnRTdGF0dXNIZXJlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiBodG1sRWxlbWVudFN0YXR1c0hlcmUKK2V4dGVybiBfX3R5cGVvZiAoaHRtbEVsZW1lbnRTdGF0dXNIZXJlKSBodG1sRWxlbWVudFN0YXR1c0hlcmVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSBodG1sRWxlbWVudFN0YXR1c0hlcmUgaHRtbEVsZW1lbnRTdGF0dXNIZXJlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9IVE1McGFyc2VyCisjdW5kZWYgaHRtbEVuY29kZUVudGl0aWVzCitleHRlcm4gX190eXBlb2YgKGh0bWxFbmNvZGVFbnRpdGllcykgaHRtbEVuY29kZUVudGl0aWVzIF9fYXR0cmlidXRlKChhbGlhcygiaHRtbEVuY29kZUVudGl0aWVzX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiBodG1sRW5jb2RlRW50aXRpZXMKK2V4dGVybiBfX3R5cGVvZiAoaHRtbEVuY29kZUVudGl0aWVzKSBodG1sRW5jb2RlRW50aXRpZXNfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSBodG1sRW5jb2RlRW50aXRpZXMgaHRtbEVuY29kZUVudGl0aWVzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9IVE1McGFyc2VyCisjdW5kZWYgaHRtbEVudGl0eUxvb2t1cAorZXh0ZXJuIF9fdHlwZW9mIChodG1sRW50aXR5TG9va3VwKSBodG1sRW50aXR5TG9va3VwIF9fYXR0cmlidXRlKChhbGlhcygiaHRtbEVudGl0eUxvb2t1cF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgaHRtbEVudGl0eUxvb2t1cAorZXh0ZXJuIF9fdHlwZW9mIChodG1sRW50aXR5TG9va3VwKSBodG1sRW50aXR5TG9va3VwX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgaHRtbEVudGl0eUxvb2t1cCBodG1sRW50aXR5TG9va3VwX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9IVE1McGFyc2VyCisjdW5kZWYgaHRtbEVudGl0eVZhbHVlTG9va3VwCitleHRlcm4gX190eXBlb2YgKGh0bWxFbnRpdHlWYWx1ZUxvb2t1cCkgaHRtbEVudGl0eVZhbHVlTG9va3VwIF9fYXR0cmlidXRlKChhbGlhcygiaHRtbEVudGl0eVZhbHVlTG9va3VwX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiBodG1sRW50aXR5VmFsdWVMb29rdXAKK2V4dGVybiBfX3R5cGVvZiAoaHRtbEVudGl0eVZhbHVlTG9va3VwKSBodG1sRW50aXR5VmFsdWVMb29rdXBfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSBodG1sRW50aXR5VmFsdWVMb29rdXAgaHRtbEVudGl0eVZhbHVlTG9va3VwX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9IVE1McGFyc2VyCisjdW5kZWYgaHRtbEZyZWVQYXJzZXJDdHh0CitleHRlcm4gX190eXBlb2YgKGh0bWxGcmVlUGFyc2VyQ3R4dCkgaHRtbEZyZWVQYXJzZXJDdHh0IF9fYXR0cmlidXRlKChhbGlhcygiaHRtbEZyZWVQYXJzZXJDdHh0X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiBodG1sRnJlZVBhcnNlckN0eHQKK2V4dGVybiBfX3R5cGVvZiAoaHRtbEZyZWVQYXJzZXJDdHh0KSBodG1sRnJlZVBhcnNlckN0eHRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSBodG1sRnJlZVBhcnNlckN0eHQgaHRtbEZyZWVQYXJzZXJDdHh0X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9IVE1MdHJlZQorI3VuZGVmIGh0bWxHZXRNZXRhRW5jb2RpbmcKK2V4dGVybiBfX3R5cGVvZiAoaHRtbEdldE1ldGFFbmNvZGluZykgaHRtbEdldE1ldGFFbmNvZGluZyBfX2F0dHJpYnV0ZSgoYWxpYXMoImh0bWxHZXRNZXRhRW5jb2RpbmdfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIGh0bWxHZXRNZXRhRW5jb2RpbmcKK2V4dGVybiBfX3R5cGVvZiAoaHRtbEdldE1ldGFFbmNvZGluZykgaHRtbEdldE1ldGFFbmNvZGluZ19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIGh0bWxHZXRNZXRhRW5jb2RpbmcgaHRtbEdldE1ldGFFbmNvZGluZ19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX0hUTUxfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fSFRNTHBhcnNlcgorI3VuZGVmIGh0bWxIYW5kbGVPbWl0dGVkRWxlbQorZXh0ZXJuIF9fdHlwZW9mIChodG1sSGFuZGxlT21pdHRlZEVsZW0pIGh0bWxIYW5kbGVPbWl0dGVkRWxlbSBfX2F0dHJpYnV0ZSgoYWxpYXMoImh0bWxIYW5kbGVPbWl0dGVkRWxlbV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgaHRtbEhhbmRsZU9taXR0ZWRFbGVtCitleHRlcm4gX190eXBlb2YgKGh0bWxIYW5kbGVPbWl0dGVkRWxlbSkgaHRtbEhhbmRsZU9taXR0ZWRFbGVtX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgaHRtbEhhbmRsZU9taXR0ZWRFbGVtIGh0bWxIYW5kbGVPbWl0dGVkRWxlbV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX0hUTUxfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fSFRNTHBhcnNlcgorI3VuZGVmIGh0bWxJbml0QXV0b0Nsb3NlCitleHRlcm4gX190eXBlb2YgKGh0bWxJbml0QXV0b0Nsb3NlKSBodG1sSW5pdEF1dG9DbG9zZSBfX2F0dHJpYnV0ZSgoYWxpYXMoImh0bWxJbml0QXV0b0Nsb3NlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiBodG1sSW5pdEF1dG9DbG9zZQorZXh0ZXJuIF9fdHlwZW9mIChodG1sSW5pdEF1dG9DbG9zZSkgaHRtbEluaXRBdXRvQ2xvc2VfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSBodG1sSW5pdEF1dG9DbG9zZSBodG1sSW5pdEF1dG9DbG9zZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX0hUTUxfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fSFRNTHBhcnNlcgorI3VuZGVmIGh0bWxJc0F1dG9DbG9zZWQKK2V4dGVybiBfX3R5cGVvZiAoaHRtbElzQXV0b0Nsb3NlZCkgaHRtbElzQXV0b0Nsb3NlZCBfX2F0dHJpYnV0ZSgoYWxpYXMoImh0bWxJc0F1dG9DbG9zZWRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIGh0bWxJc0F1dG9DbG9zZWQKK2V4dGVybiBfX3R5cGVvZiAoaHRtbElzQXV0b0Nsb3NlZCkgaHRtbElzQXV0b0Nsb3NlZF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIGh0bWxJc0F1dG9DbG9zZWQgaHRtbElzQXV0b0Nsb3NlZF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX0hUTUxfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fSFRNTHRyZWUKKyN1bmRlZiBodG1sSXNCb29sZWFuQXR0cgorZXh0ZXJuIF9fdHlwZW9mIChodG1sSXNCb29sZWFuQXR0cikgaHRtbElzQm9vbGVhbkF0dHIgX19hdHRyaWJ1dGUoKGFsaWFzKCJodG1sSXNCb29sZWFuQXR0cl9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgaHRtbElzQm9vbGVhbkF0dHIKK2V4dGVybiBfX3R5cGVvZiAoaHRtbElzQm9vbGVhbkF0dHIpIGh0bWxJc0Jvb2xlYW5BdHRyX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgaHRtbElzQm9vbGVhbkF0dHIgaHRtbElzQm9vbGVhbkF0dHJfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX0hUTUxwYXJzZXIKKyN1bmRlZiBodG1sSXNTY3JpcHRBdHRyaWJ1dGUKK2V4dGVybiBfX3R5cGVvZiAoaHRtbElzU2NyaXB0QXR0cmlidXRlKSBodG1sSXNTY3JpcHRBdHRyaWJ1dGUgX19hdHRyaWJ1dGUoKGFsaWFzKCJodG1sSXNTY3JpcHRBdHRyaWJ1dGVfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIGh0bWxJc1NjcmlwdEF0dHJpYnV0ZQorZXh0ZXJuIF9fdHlwZW9mIChodG1sSXNTY3JpcHRBdHRyaWJ1dGUpIGh0bWxJc1NjcmlwdEF0dHJpYnV0ZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIGh0bWxJc1NjcmlwdEF0dHJpYnV0ZSBodG1sSXNTY3JpcHRBdHRyaWJ1dGVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX0hUTUxwYXJzZXIKKyN1bmRlZiBodG1sTmV3RG9jCitleHRlcm4gX190eXBlb2YgKGh0bWxOZXdEb2MpIGh0bWxOZXdEb2MgX19hdHRyaWJ1dGUoKGFsaWFzKCJodG1sTmV3RG9jX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiBodG1sTmV3RG9jCitleHRlcm4gX190eXBlb2YgKGh0bWxOZXdEb2MpIGh0bWxOZXdEb2NfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSBodG1sTmV3RG9jIGh0bWxOZXdEb2NfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX0hUTUxwYXJzZXIKKyN1bmRlZiBodG1sTmV3RG9jTm9EdEQKK2V4dGVybiBfX3R5cGVvZiAoaHRtbE5ld0RvY05vRHREKSBodG1sTmV3RG9jTm9EdEQgX19hdHRyaWJ1dGUoKGFsaWFzKCJodG1sTmV3RG9jTm9EdERfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIGh0bWxOZXdEb2NOb0R0RAorZXh0ZXJuIF9fdHlwZW9mIChodG1sTmV3RG9jTm9EdEQpIGh0bWxOZXdEb2NOb0R0RF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIGh0bWxOZXdEb2NOb0R0RCBodG1sTmV3RG9jTm9EdERfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX0hUTUxwYXJzZXIKKyN1bmRlZiBodG1sTmV3UGFyc2VyQ3R4dAorZXh0ZXJuIF9fdHlwZW9mIChodG1sTmV3UGFyc2VyQ3R4dCkgaHRtbE5ld1BhcnNlckN0eHQgX19hdHRyaWJ1dGUoKGFsaWFzKCJodG1sTmV3UGFyc2VyQ3R4dF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgaHRtbE5ld1BhcnNlckN0eHQKK2V4dGVybiBfX3R5cGVvZiAoaHRtbE5ld1BhcnNlckN0eHQpIGh0bWxOZXdQYXJzZXJDdHh0X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgaHRtbE5ld1BhcnNlckN0eHQgaHRtbE5ld1BhcnNlckN0eHRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpICYmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9IVE1MdHJlZQorI3VuZGVmIGh0bWxOb2RlRHVtcAorZXh0ZXJuIF9fdHlwZW9mIChodG1sTm9kZUR1bXApIGh0bWxOb2RlRHVtcCBfX2F0dHJpYnV0ZSgoYWxpYXMoImh0bWxOb2RlRHVtcF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgaHRtbE5vZGVEdW1wCitleHRlcm4gX190eXBlb2YgKGh0bWxOb2RlRHVtcCkgaHRtbE5vZGVEdW1wX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgaHRtbE5vZGVEdW1wIGh0bWxOb2RlRHVtcF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX0hUTUxfRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX0hUTUx0cmVlCisjdW5kZWYgaHRtbE5vZGVEdW1wRmlsZQorZXh0ZXJuIF9fdHlwZW9mIChodG1sTm9kZUR1bXBGaWxlKSBodG1sTm9kZUR1bXBGaWxlIF9fYXR0cmlidXRlKChhbGlhcygiaHRtbE5vZGVEdW1wRmlsZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgaHRtbE5vZGVEdW1wRmlsZQorZXh0ZXJuIF9fdHlwZW9mIChodG1sTm9kZUR1bXBGaWxlKSBodG1sTm9kZUR1bXBGaWxlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgaHRtbE5vZGVEdW1wRmlsZSBodG1sTm9kZUR1bXBGaWxlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKSAmJiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fSFRNTHRyZWUKKyN1bmRlZiBodG1sTm9kZUR1bXBGaWxlRm9ybWF0CitleHRlcm4gX190eXBlb2YgKGh0bWxOb2RlRHVtcEZpbGVGb3JtYXQpIGh0bWxOb2RlRHVtcEZpbGVGb3JtYXQgX19hdHRyaWJ1dGUoKGFsaWFzKCJodG1sTm9kZUR1bXBGaWxlRm9ybWF0X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiBodG1sTm9kZUR1bXBGaWxlRm9ybWF0CitleHRlcm4gX190eXBlb2YgKGh0bWxOb2RlRHVtcEZpbGVGb3JtYXQpIGh0bWxOb2RlRHVtcEZpbGVGb3JtYXRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSBodG1sTm9kZUR1bXBGaWxlRm9ybWF0IGh0bWxOb2RlRHVtcEZpbGVGb3JtYXRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpICYmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9IVE1MdHJlZQorI3VuZGVmIGh0bWxOb2RlRHVtcEZvcm1hdE91dHB1dAorZXh0ZXJuIF9fdHlwZW9mIChodG1sTm9kZUR1bXBGb3JtYXRPdXRwdXQpIGh0bWxOb2RlRHVtcEZvcm1hdE91dHB1dCBfX2F0dHJpYnV0ZSgoYWxpYXMoImh0bWxOb2RlRHVtcEZvcm1hdE91dHB1dF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgaHRtbE5vZGVEdW1wRm9ybWF0T3V0cHV0CitleHRlcm4gX190eXBlb2YgKGh0bWxOb2RlRHVtcEZvcm1hdE91dHB1dCkgaHRtbE5vZGVEdW1wRm9ybWF0T3V0cHV0X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgaHRtbE5vZGVEdW1wRm9ybWF0T3V0cHV0IGh0bWxOb2RlRHVtcEZvcm1hdE91dHB1dF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX0hUTUxfRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX0hUTUx0cmVlCisjdW5kZWYgaHRtbE5vZGVEdW1wT3V0cHV0CitleHRlcm4gX190eXBlb2YgKGh0bWxOb2RlRHVtcE91dHB1dCkgaHRtbE5vZGVEdW1wT3V0cHV0IF9fYXR0cmlidXRlKChhbGlhcygiaHRtbE5vZGVEdW1wT3V0cHV0X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiBodG1sTm9kZUR1bXBPdXRwdXQKK2V4dGVybiBfX3R5cGVvZiAoaHRtbE5vZGVEdW1wT3V0cHV0KSBodG1sTm9kZUR1bXBPdXRwdXRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSBodG1sTm9kZUR1bXBPdXRwdXQgaHRtbE5vZGVEdW1wT3V0cHV0X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9IVE1McGFyc2VyCisjdW5kZWYgaHRtbE5vZGVTdGF0dXMKK2V4dGVybiBfX3R5cGVvZiAoaHRtbE5vZGVTdGF0dXMpIGh0bWxOb2RlU3RhdHVzIF9fYXR0cmlidXRlKChhbGlhcygiaHRtbE5vZGVTdGF0dXNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIGh0bWxOb2RlU3RhdHVzCitleHRlcm4gX190eXBlb2YgKGh0bWxOb2RlU3RhdHVzKSBodG1sTm9kZVN0YXR1c19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIGh0bWxOb2RlU3RhdHVzIGh0bWxOb2RlU3RhdHVzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9IVE1McGFyc2VyCisjdW5kZWYgaHRtbFBhcnNlQ2hhclJlZgorZXh0ZXJuIF9fdHlwZW9mIChodG1sUGFyc2VDaGFyUmVmKSBodG1sUGFyc2VDaGFyUmVmIF9fYXR0cmlidXRlKChhbGlhcygiaHRtbFBhcnNlQ2hhclJlZl9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgaHRtbFBhcnNlQ2hhclJlZgorZXh0ZXJuIF9fdHlwZW9mIChodG1sUGFyc2VDaGFyUmVmKSBodG1sUGFyc2VDaGFyUmVmX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgaHRtbFBhcnNlQ2hhclJlZiBodG1sUGFyc2VDaGFyUmVmX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKSAmJiBkZWZpbmVkKExJQlhNTF9QVVNIX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX0hUTUxwYXJzZXIKKyN1bmRlZiBodG1sUGFyc2VDaHVuaworZXh0ZXJuIF9fdHlwZW9mIChodG1sUGFyc2VDaHVuaykgaHRtbFBhcnNlQ2h1bmsgX19hdHRyaWJ1dGUoKGFsaWFzKCJodG1sUGFyc2VDaHVua19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgaHRtbFBhcnNlQ2h1bmsKK2V4dGVybiBfX3R5cGVvZiAoaHRtbFBhcnNlQ2h1bmspIGh0bWxQYXJzZUNodW5rX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgaHRtbFBhcnNlQ2h1bmsgaHRtbFBhcnNlQ2h1bmtfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX0hUTUxwYXJzZXIKKyN1bmRlZiBodG1sUGFyc2VEb2MKK2V4dGVybiBfX3R5cGVvZiAoaHRtbFBhcnNlRG9jKSBodG1sUGFyc2VEb2MgX19hdHRyaWJ1dGUoKGFsaWFzKCJodG1sUGFyc2VEb2NfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIGh0bWxQYXJzZURvYworZXh0ZXJuIF9fdHlwZW9mIChodG1sUGFyc2VEb2MpIGh0bWxQYXJzZURvY19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIGh0bWxQYXJzZURvYyBodG1sUGFyc2VEb2NfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX0hUTUxwYXJzZXIKKyN1bmRlZiBodG1sUGFyc2VEb2N1bWVudAorZXh0ZXJuIF9fdHlwZW9mIChodG1sUGFyc2VEb2N1bWVudCkgaHRtbFBhcnNlRG9jdW1lbnQgX19hdHRyaWJ1dGUoKGFsaWFzKCJodG1sUGFyc2VEb2N1bWVudF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgaHRtbFBhcnNlRG9jdW1lbnQKK2V4dGVybiBfX3R5cGVvZiAoaHRtbFBhcnNlRG9jdW1lbnQpIGh0bWxQYXJzZURvY3VtZW50X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgaHRtbFBhcnNlRG9jdW1lbnQgaHRtbFBhcnNlRG9jdW1lbnRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX0hUTUxwYXJzZXIKKyN1bmRlZiBodG1sUGFyc2VFbGVtZW50CitleHRlcm4gX190eXBlb2YgKGh0bWxQYXJzZUVsZW1lbnQpIGh0bWxQYXJzZUVsZW1lbnQgX19hdHRyaWJ1dGUoKGFsaWFzKCJodG1sUGFyc2VFbGVtZW50X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiBodG1sUGFyc2VFbGVtZW50CitleHRlcm4gX190eXBlb2YgKGh0bWxQYXJzZUVsZW1lbnQpIGh0bWxQYXJzZUVsZW1lbnRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSBodG1sUGFyc2VFbGVtZW50IGh0bWxQYXJzZUVsZW1lbnRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX0hUTUxwYXJzZXIKKyN1bmRlZiBodG1sUGFyc2VFbnRpdHlSZWYKK2V4dGVybiBfX3R5cGVvZiAoaHRtbFBhcnNlRW50aXR5UmVmKSBodG1sUGFyc2VFbnRpdHlSZWYgX19hdHRyaWJ1dGUoKGFsaWFzKCJodG1sUGFyc2VFbnRpdHlSZWZfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIGh0bWxQYXJzZUVudGl0eVJlZgorZXh0ZXJuIF9fdHlwZW9mIChodG1sUGFyc2VFbnRpdHlSZWYpIGh0bWxQYXJzZUVudGl0eVJlZl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIGh0bWxQYXJzZUVudGl0eVJlZiBodG1sUGFyc2VFbnRpdHlSZWZfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX0hUTUxwYXJzZXIKKyN1bmRlZiBodG1sUGFyc2VGaWxlCitleHRlcm4gX190eXBlb2YgKGh0bWxQYXJzZUZpbGUpIGh0bWxQYXJzZUZpbGUgX19hdHRyaWJ1dGUoKGFsaWFzKCJodG1sUGFyc2VGaWxlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiBodG1sUGFyc2VGaWxlCitleHRlcm4gX190eXBlb2YgKGh0bWxQYXJzZUZpbGUpIGh0bWxQYXJzZUZpbGVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSBodG1sUGFyc2VGaWxlIGh0bWxQYXJzZUZpbGVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX0hUTUxwYXJzZXIKKyN1bmRlZiBodG1sUmVhZERvYworZXh0ZXJuIF9fdHlwZW9mIChodG1sUmVhZERvYykgaHRtbFJlYWREb2MgX19hdHRyaWJ1dGUoKGFsaWFzKCJodG1sUmVhZERvY19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgaHRtbFJlYWREb2MKK2V4dGVybiBfX3R5cGVvZiAoaHRtbFJlYWREb2MpIGh0bWxSZWFkRG9jX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgaHRtbFJlYWREb2MgaHRtbFJlYWREb2NfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX0hUTUxwYXJzZXIKKyN1bmRlZiBodG1sUmVhZEZkCitleHRlcm4gX190eXBlb2YgKGh0bWxSZWFkRmQpIGh0bWxSZWFkRmQgX19hdHRyaWJ1dGUoKGFsaWFzKCJodG1sUmVhZEZkX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiBodG1sUmVhZEZkCitleHRlcm4gX190eXBlb2YgKGh0bWxSZWFkRmQpIGh0bWxSZWFkRmRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSBodG1sUmVhZEZkIGh0bWxSZWFkRmRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX0hUTUxwYXJzZXIKKyN1bmRlZiBodG1sUmVhZEZpbGUKK2V4dGVybiBfX3R5cGVvZiAoaHRtbFJlYWRGaWxlKSBodG1sUmVhZEZpbGUgX19hdHRyaWJ1dGUoKGFsaWFzKCJodG1sUmVhZEZpbGVfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIGh0bWxSZWFkRmlsZQorZXh0ZXJuIF9fdHlwZW9mIChodG1sUmVhZEZpbGUpIGh0bWxSZWFkRmlsZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIGh0bWxSZWFkRmlsZSBodG1sUmVhZEZpbGVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX0hUTUxwYXJzZXIKKyN1bmRlZiBodG1sUmVhZElPCitleHRlcm4gX190eXBlb2YgKGh0bWxSZWFkSU8pIGh0bWxSZWFkSU8gX19hdHRyaWJ1dGUoKGFsaWFzKCJodG1sUmVhZElPX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiBodG1sUmVhZElPCitleHRlcm4gX190eXBlb2YgKGh0bWxSZWFkSU8pIGh0bWxSZWFkSU9fX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSBodG1sUmVhZElPIGh0bWxSZWFkSU9fX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX0hUTUxwYXJzZXIKKyN1bmRlZiBodG1sUmVhZE1lbW9yeQorZXh0ZXJuIF9fdHlwZW9mIChodG1sUmVhZE1lbW9yeSkgaHRtbFJlYWRNZW1vcnkgX19hdHRyaWJ1dGUoKGFsaWFzKCJodG1sUmVhZE1lbW9yeV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgaHRtbFJlYWRNZW1vcnkKK2V4dGVybiBfX3R5cGVvZiAoaHRtbFJlYWRNZW1vcnkpIGh0bWxSZWFkTWVtb3J5X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgaHRtbFJlYWRNZW1vcnkgaHRtbFJlYWRNZW1vcnlfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX0hUTUxwYXJzZXIKKyN1bmRlZiBodG1sU0FYUGFyc2VEb2MKK2V4dGVybiBfX3R5cGVvZiAoaHRtbFNBWFBhcnNlRG9jKSBodG1sU0FYUGFyc2VEb2MgX19hdHRyaWJ1dGUoKGFsaWFzKCJodG1sU0FYUGFyc2VEb2NfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIGh0bWxTQVhQYXJzZURvYworZXh0ZXJuIF9fdHlwZW9mIChodG1sU0FYUGFyc2VEb2MpIGh0bWxTQVhQYXJzZURvY19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIGh0bWxTQVhQYXJzZURvYyBodG1sU0FYUGFyc2VEb2NfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX0hUTUxwYXJzZXIKKyN1bmRlZiBodG1sU0FYUGFyc2VGaWxlCitleHRlcm4gX190eXBlb2YgKGh0bWxTQVhQYXJzZUZpbGUpIGh0bWxTQVhQYXJzZUZpbGUgX19hdHRyaWJ1dGUoKGFsaWFzKCJodG1sU0FYUGFyc2VGaWxlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiBodG1sU0FYUGFyc2VGaWxlCitleHRlcm4gX190eXBlb2YgKGh0bWxTQVhQYXJzZUZpbGUpIGh0bWxTQVhQYXJzZUZpbGVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSBodG1sU0FYUGFyc2VGaWxlIGh0bWxTQVhQYXJzZUZpbGVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpICYmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9IVE1MdHJlZQorI3VuZGVmIGh0bWxTYXZlRmlsZQorZXh0ZXJuIF9fdHlwZW9mIChodG1sU2F2ZUZpbGUpIGh0bWxTYXZlRmlsZSBfX2F0dHJpYnV0ZSgoYWxpYXMoImh0bWxTYXZlRmlsZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgaHRtbFNhdmVGaWxlCitleHRlcm4gX190eXBlb2YgKGh0bWxTYXZlRmlsZSkgaHRtbFNhdmVGaWxlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgaHRtbFNhdmVGaWxlIGh0bWxTYXZlRmlsZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX0hUTUxfRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX0hUTUx0cmVlCisjdW5kZWYgaHRtbFNhdmVGaWxlRW5jCitleHRlcm4gX190eXBlb2YgKGh0bWxTYXZlRmlsZUVuYykgaHRtbFNhdmVGaWxlRW5jIF9fYXR0cmlidXRlKChhbGlhcygiaHRtbFNhdmVGaWxlRW5jX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiBodG1sU2F2ZUZpbGVFbmMKK2V4dGVybiBfX3R5cGVvZiAoaHRtbFNhdmVGaWxlRW5jKSBodG1sU2F2ZUZpbGVFbmNfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSBodG1sU2F2ZUZpbGVFbmMgaHRtbFNhdmVGaWxlRW5jX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKSAmJiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fSFRNTHRyZWUKKyN1bmRlZiBodG1sU2F2ZUZpbGVGb3JtYXQKK2V4dGVybiBfX3R5cGVvZiAoaHRtbFNhdmVGaWxlRm9ybWF0KSBodG1sU2F2ZUZpbGVGb3JtYXQgX19hdHRyaWJ1dGUoKGFsaWFzKCJodG1sU2F2ZUZpbGVGb3JtYXRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIGh0bWxTYXZlRmlsZUZvcm1hdAorZXh0ZXJuIF9fdHlwZW9mIChodG1sU2F2ZUZpbGVGb3JtYXQpIGh0bWxTYXZlRmlsZUZvcm1hdF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIGh0bWxTYXZlRmlsZUZvcm1hdCBodG1sU2F2ZUZpbGVGb3JtYXRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX0hUTUx0cmVlCisjdW5kZWYgaHRtbFNldE1ldGFFbmNvZGluZworZXh0ZXJuIF9fdHlwZW9mIChodG1sU2V0TWV0YUVuY29kaW5nKSBodG1sU2V0TWV0YUVuY29kaW5nIF9fYXR0cmlidXRlKChhbGlhcygiaHRtbFNldE1ldGFFbmNvZGluZ19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgaHRtbFNldE1ldGFFbmNvZGluZworZXh0ZXJuIF9fdHlwZW9mIChodG1sU2V0TWV0YUVuY29kaW5nKSBodG1sU2V0TWV0YUVuY29kaW5nX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgaHRtbFNldE1ldGFFbmNvZGluZyBodG1sU2V0TWV0YUVuY29kaW5nX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9IVE1McGFyc2VyCisjdW5kZWYgaHRtbFRhZ0xvb2t1cAorZXh0ZXJuIF9fdHlwZW9mIChodG1sVGFnTG9va3VwKSBodG1sVGFnTG9va3VwIF9fYXR0cmlidXRlKChhbGlhcygiaHRtbFRhZ0xvb2t1cF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgaHRtbFRhZ0xvb2t1cAorZXh0ZXJuIF9fdHlwZW9mIChodG1sVGFnTG9va3VwKSBodG1sVGFnTG9va3VwX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgaHRtbFRhZ0xvb2t1cCBodG1sVGFnTG9va3VwX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3BhcnNlcgorI3VuZGVmIGlucHV0UG9wCitleHRlcm4gX190eXBlb2YgKGlucHV0UG9wKSBpbnB1dFBvcCBfX2F0dHJpYnV0ZSgoYWxpYXMoImlucHV0UG9wX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiBpbnB1dFBvcAorZXh0ZXJuIF9fdHlwZW9mIChpbnB1dFBvcCkgaW5wdXRQb3BfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSBpbnB1dFBvcCBpbnB1dFBvcF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fcGFyc2VyCisjdW5kZWYgaW5wdXRQdXNoCitleHRlcm4gX190eXBlb2YgKGlucHV0UHVzaCkgaW5wdXRQdXNoIF9fYXR0cmlidXRlKChhbGlhcygiaW5wdXRQdXNoX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiBpbnB1dFB1c2gKK2V4dGVybiBfX3R5cGVvZiAoaW5wdXRQdXNoKSBpbnB1dFB1c2hfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSBpbnB1dFB1c2ggaW5wdXRQdXNoX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9wYXJzZXIKKyN1bmRlZiBuYW1lUG9wCitleHRlcm4gX190eXBlb2YgKG5hbWVQb3ApIG5hbWVQb3AgX19hdHRyaWJ1dGUoKGFsaWFzKCJuYW1lUG9wX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiBuYW1lUG9wCitleHRlcm4gX190eXBlb2YgKG5hbWVQb3ApIG5hbWVQb3BfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSBuYW1lUG9wIG5hbWVQb3BfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3BhcnNlcgorI3VuZGVmIG5hbWVQdXNoCitleHRlcm4gX190eXBlb2YgKG5hbWVQdXNoKSBuYW1lUHVzaCBfX2F0dHJpYnV0ZSgoYWxpYXMoIm5hbWVQdXNoX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiBuYW1lUHVzaAorZXh0ZXJuIF9fdHlwZW9mIChuYW1lUHVzaCkgbmFtZVB1c2hfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSBuYW1lUHVzaCBuYW1lUHVzaF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fcGFyc2VyCisjdW5kZWYgbm9kZVBvcAorZXh0ZXJuIF9fdHlwZW9mIChub2RlUG9wKSBub2RlUG9wIF9fYXR0cmlidXRlKChhbGlhcygibm9kZVBvcF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgbm9kZVBvcAorZXh0ZXJuIF9fdHlwZW9mIChub2RlUG9wKSBub2RlUG9wX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgbm9kZVBvcCBub2RlUG9wX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9wYXJzZXIKKyN1bmRlZiBub2RlUHVzaAorZXh0ZXJuIF9fdHlwZW9mIChub2RlUHVzaCkgbm9kZVB1c2ggX19hdHRyaWJ1dGUoKGFsaWFzKCJub2RlUHVzaF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgbm9kZVB1c2gKK2V4dGVybiBfX3R5cGVvZiAobm9kZVB1c2gpIG5vZGVQdXNoX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgbm9kZVB1c2ggbm9kZVB1c2hfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feHBhdGgKKyN1bmRlZiB2YWx1ZVBvcAorZXh0ZXJuIF9fdHlwZW9mICh2YWx1ZVBvcCkgdmFsdWVQb3AgX19hdHRyaWJ1dGUoKGFsaWFzKCJ2YWx1ZVBvcF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgdmFsdWVQb3AKK2V4dGVybiBfX3R5cGVvZiAodmFsdWVQb3ApIHZhbHVlUG9wX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgdmFsdWVQb3AgdmFsdWVQb3BfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94cGF0aAorI3VuZGVmIHZhbHVlUHVzaAorZXh0ZXJuIF9fdHlwZW9mICh2YWx1ZVB1c2gpIHZhbHVlUHVzaCBfX2F0dHJpYnV0ZSgoYWxpYXMoInZhbHVlUHVzaF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgdmFsdWVQdXNoCitleHRlcm4gX190eXBlb2YgKHZhbHVlUHVzaCkgdmFsdWVQdXNoX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgdmFsdWVQdXNoIHZhbHVlUHVzaF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX0NBVEFMT0dfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fY2F0YWxvZworI3VuZGVmIHhtbEFDYXRhbG9nQWRkCitleHRlcm4gX190eXBlb2YgKHhtbEFDYXRhbG9nQWRkKSB4bWxBQ2F0YWxvZ0FkZCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbEFDYXRhbG9nQWRkX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxBQ2F0YWxvZ0FkZAorZXh0ZXJuIF9fdHlwZW9mICh4bWxBQ2F0YWxvZ0FkZCkgeG1sQUNhdGFsb2dBZGRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxBQ2F0YWxvZ0FkZCB4bWxBQ2F0YWxvZ0FkZF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX0NBVEFMT0dfRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX2NhdGFsb2cKKyN1bmRlZiB4bWxBQ2F0YWxvZ0R1bXAKK2V4dGVybiBfX3R5cGVvZiAoeG1sQUNhdGFsb2dEdW1wKSB4bWxBQ2F0YWxvZ0R1bXAgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxBQ2F0YWxvZ0R1bXBfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEFDYXRhbG9nRHVtcAorZXh0ZXJuIF9fdHlwZW9mICh4bWxBQ2F0YWxvZ0R1bXApIHhtbEFDYXRhbG9nRHVtcF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEFDYXRhbG9nRHVtcCB4bWxBQ2F0YWxvZ0R1bXBfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9DQVRBTE9HX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX2NhdGFsb2cKKyN1bmRlZiB4bWxBQ2F0YWxvZ1JlbW92ZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxBQ2F0YWxvZ1JlbW92ZSkgeG1sQUNhdGFsb2dSZW1vdmUgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxBQ2F0YWxvZ1JlbW92ZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sQUNhdGFsb2dSZW1vdmUKK2V4dGVybiBfX3R5cGVvZiAoeG1sQUNhdGFsb2dSZW1vdmUpIHhtbEFDYXRhbG9nUmVtb3ZlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sQUNhdGFsb2dSZW1vdmUgeG1sQUNhdGFsb2dSZW1vdmVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9DQVRBTE9HX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX2NhdGFsb2cKKyN1bmRlZiB4bWxBQ2F0YWxvZ1Jlc29sdmUKK2V4dGVybiBfX3R5cGVvZiAoeG1sQUNhdGFsb2dSZXNvbHZlKSB4bWxBQ2F0YWxvZ1Jlc29sdmUgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxBQ2F0YWxvZ1Jlc29sdmVfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEFDYXRhbG9nUmVzb2x2ZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxBQ2F0YWxvZ1Jlc29sdmUpIHhtbEFDYXRhbG9nUmVzb2x2ZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEFDYXRhbG9nUmVzb2x2ZSB4bWxBQ2F0YWxvZ1Jlc29sdmVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9DQVRBTE9HX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX2NhdGFsb2cKKyN1bmRlZiB4bWxBQ2F0YWxvZ1Jlc29sdmVQdWJsaWMKK2V4dGVybiBfX3R5cGVvZiAoeG1sQUNhdGFsb2dSZXNvbHZlUHVibGljKSB4bWxBQ2F0YWxvZ1Jlc29sdmVQdWJsaWMgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxBQ2F0YWxvZ1Jlc29sdmVQdWJsaWNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEFDYXRhbG9nUmVzb2x2ZVB1YmxpYworZXh0ZXJuIF9fdHlwZW9mICh4bWxBQ2F0YWxvZ1Jlc29sdmVQdWJsaWMpIHhtbEFDYXRhbG9nUmVzb2x2ZVB1YmxpY19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEFDYXRhbG9nUmVzb2x2ZVB1YmxpYyB4bWxBQ2F0YWxvZ1Jlc29sdmVQdWJsaWNfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9DQVRBTE9HX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX2NhdGFsb2cKKyN1bmRlZiB4bWxBQ2F0YWxvZ1Jlc29sdmVTeXN0ZW0KK2V4dGVybiBfX3R5cGVvZiAoeG1sQUNhdGFsb2dSZXNvbHZlU3lzdGVtKSB4bWxBQ2F0YWxvZ1Jlc29sdmVTeXN0ZW0gX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxBQ2F0YWxvZ1Jlc29sdmVTeXN0ZW1fX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEFDYXRhbG9nUmVzb2x2ZVN5c3RlbQorZXh0ZXJuIF9fdHlwZW9mICh4bWxBQ2F0YWxvZ1Jlc29sdmVTeXN0ZW0pIHhtbEFDYXRhbG9nUmVzb2x2ZVN5c3RlbV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEFDYXRhbG9nUmVzb2x2ZVN5c3RlbSB4bWxBQ2F0YWxvZ1Jlc29sdmVTeXN0ZW1fX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9DQVRBTE9HX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX2NhdGFsb2cKKyN1bmRlZiB4bWxBQ2F0YWxvZ1Jlc29sdmVVUkkKK2V4dGVybiBfX3R5cGVvZiAoeG1sQUNhdGFsb2dSZXNvbHZlVVJJKSB4bWxBQ2F0YWxvZ1Jlc29sdmVVUkkgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxBQ2F0YWxvZ1Jlc29sdmVVUklfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEFDYXRhbG9nUmVzb2x2ZVVSSQorZXh0ZXJuIF9fdHlwZW9mICh4bWxBQ2F0YWxvZ1Jlc29sdmVVUkkpIHhtbEFDYXRhbG9nUmVzb2x2ZVVSSV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEFDYXRhbG9nUmVzb2x2ZVVSSSB4bWxBQ2F0YWxvZ1Jlc29sdmVVUklfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fdmFsaWQKKyN1bmRlZiB4bWxBZGRBdHRyaWJ1dGVEZWNsCitleHRlcm4gX190eXBlb2YgKHhtbEFkZEF0dHJpYnV0ZURlY2wpIHhtbEFkZEF0dHJpYnV0ZURlY2wgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxBZGRBdHRyaWJ1dGVEZWNsX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxBZGRBdHRyaWJ1dGVEZWNsCitleHRlcm4gX190eXBlb2YgKHhtbEFkZEF0dHJpYnV0ZURlY2wpIHhtbEFkZEF0dHJpYnV0ZURlY2xfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxBZGRBdHRyaWJ1dGVEZWNsIHhtbEFkZEF0dHJpYnV0ZURlY2xfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3RyZWUKKyN1bmRlZiB4bWxBZGRDaGlsZAorZXh0ZXJuIF9fdHlwZW9mICh4bWxBZGRDaGlsZCkgeG1sQWRkQ2hpbGQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxBZGRDaGlsZF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sQWRkQ2hpbGQKK2V4dGVybiBfX3R5cGVvZiAoeG1sQWRkQ2hpbGQpIHhtbEFkZENoaWxkX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sQWRkQ2hpbGQgeG1sQWRkQ2hpbGRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3RyZWUKKyN1bmRlZiB4bWxBZGRDaGlsZExpc3QKK2V4dGVybiBfX3R5cGVvZiAoeG1sQWRkQ2hpbGRMaXN0KSB4bWxBZGRDaGlsZExpc3QgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxBZGRDaGlsZExpc3RfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEFkZENoaWxkTGlzdAorZXh0ZXJuIF9fdHlwZW9mICh4bWxBZGRDaGlsZExpc3QpIHhtbEFkZENoaWxkTGlzdF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEFkZENoaWxkTGlzdCB4bWxBZGRDaGlsZExpc3RfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX2VudGl0aWVzCisjdW5kZWYgeG1sQWRkRG9jRW50aXR5CitleHRlcm4gX190eXBlb2YgKHhtbEFkZERvY0VudGl0eSkgeG1sQWRkRG9jRW50aXR5IF9fYXR0cmlidXRlKChhbGlhcygieG1sQWRkRG9jRW50aXR5X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxBZGREb2NFbnRpdHkKK2V4dGVybiBfX3R5cGVvZiAoeG1sQWRkRG9jRW50aXR5KSB4bWxBZGREb2NFbnRpdHlfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxBZGREb2NFbnRpdHkgeG1sQWRkRG9jRW50aXR5X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9lbnRpdGllcworI3VuZGVmIHhtbEFkZER0ZEVudGl0eQorZXh0ZXJuIF9fdHlwZW9mICh4bWxBZGREdGRFbnRpdHkpIHhtbEFkZER0ZEVudGl0eSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbEFkZER0ZEVudGl0eV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sQWRkRHRkRW50aXR5CitleHRlcm4gX190eXBlb2YgKHhtbEFkZER0ZEVudGl0eSkgeG1sQWRkRHRkRW50aXR5X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sQWRkRHRkRW50aXR5IHhtbEFkZER0ZEVudGl0eV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fdmFsaWQKKyN1bmRlZiB4bWxBZGRFbGVtZW50RGVjbAorZXh0ZXJuIF9fdHlwZW9mICh4bWxBZGRFbGVtZW50RGVjbCkgeG1sQWRkRWxlbWVudERlY2wgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxBZGRFbGVtZW50RGVjbF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sQWRkRWxlbWVudERlY2wKK2V4dGVybiBfX3R5cGVvZiAoeG1sQWRkRWxlbWVudERlY2wpIHhtbEFkZEVsZW1lbnREZWNsX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sQWRkRWxlbWVudERlY2wgeG1sQWRkRWxlbWVudERlY2xfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX2VuY29kaW5nCisjdW5kZWYgeG1sQWRkRW5jb2RpbmdBbGlhcworZXh0ZXJuIF9fdHlwZW9mICh4bWxBZGRFbmNvZGluZ0FsaWFzKSB4bWxBZGRFbmNvZGluZ0FsaWFzIF9fYXR0cmlidXRlKChhbGlhcygieG1sQWRkRW5jb2RpbmdBbGlhc19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sQWRkRW5jb2RpbmdBbGlhcworZXh0ZXJuIF9fdHlwZW9mICh4bWxBZGRFbmNvZGluZ0FsaWFzKSB4bWxBZGRFbmNvZGluZ0FsaWFzX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sQWRkRW5jb2RpbmdBbGlhcyB4bWxBZGRFbmNvZGluZ0FsaWFzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV92YWxpZAorI3VuZGVmIHhtbEFkZElECitleHRlcm4gX190eXBlb2YgKHhtbEFkZElEKSB4bWxBZGRJRCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbEFkZElEX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxBZGRJRAorZXh0ZXJuIF9fdHlwZW9mICh4bWxBZGRJRCkgeG1sQWRkSURfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxBZGRJRCB4bWxBZGRJRF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fdHJlZQorI3VuZGVmIHhtbEFkZE5leHRTaWJsaW5nCitleHRlcm4gX190eXBlb2YgKHhtbEFkZE5leHRTaWJsaW5nKSB4bWxBZGROZXh0U2libGluZyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbEFkZE5leHRTaWJsaW5nX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxBZGROZXh0U2libGluZworZXh0ZXJuIF9fdHlwZW9mICh4bWxBZGROZXh0U2libGluZykgeG1sQWRkTmV4dFNpYmxpbmdfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxBZGROZXh0U2libGluZyB4bWxBZGROZXh0U2libGluZ19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fdmFsaWQKKyN1bmRlZiB4bWxBZGROb3RhdGlvbkRlY2wKK2V4dGVybiBfX3R5cGVvZiAoeG1sQWRkTm90YXRpb25EZWNsKSB4bWxBZGROb3RhdGlvbkRlY2wgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxBZGROb3RhdGlvbkRlY2xfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEFkZE5vdGF0aW9uRGVjbAorZXh0ZXJuIF9fdHlwZW9mICh4bWxBZGROb3RhdGlvbkRlY2wpIHhtbEFkZE5vdGF0aW9uRGVjbF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEFkZE5vdGF0aW9uRGVjbCB4bWxBZGROb3RhdGlvbkRlY2xfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVFJFRV9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfWElOQ0xVREVfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fdHJlZQorI3VuZGVmIHhtbEFkZFByZXZTaWJsaW5nCitleHRlcm4gX190eXBlb2YgKHhtbEFkZFByZXZTaWJsaW5nKSB4bWxBZGRQcmV2U2libGluZyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbEFkZFByZXZTaWJsaW5nX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxBZGRQcmV2U2libGluZworZXh0ZXJuIF9fdHlwZW9mICh4bWxBZGRQcmV2U2libGluZykgeG1sQWRkUHJldlNpYmxpbmdfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxBZGRQcmV2U2libGluZyB4bWxBZGRQcmV2U2libGluZ19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV92YWxpZAorI3VuZGVmIHhtbEFkZFJlZgorZXh0ZXJuIF9fdHlwZW9mICh4bWxBZGRSZWYpIHhtbEFkZFJlZiBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbEFkZFJlZl9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sQWRkUmVmCitleHRlcm4gX190eXBlb2YgKHhtbEFkZFJlZikgeG1sQWRkUmVmX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sQWRkUmVmIHhtbEFkZFJlZl9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fdHJlZQorI3VuZGVmIHhtbEFkZFNpYmxpbmcKK2V4dGVybiBfX3R5cGVvZiAoeG1sQWRkU2libGluZykgeG1sQWRkU2libGluZyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbEFkZFNpYmxpbmdfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEFkZFNpYmxpbmcKK2V4dGVybiBfX3R5cGVvZiAoeG1sQWRkU2libGluZykgeG1sQWRkU2libGluZ19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEFkZFNpYmxpbmcgeG1sQWRkU2libGluZ19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sSU8KKyN1bmRlZiB4bWxBbGxvY091dHB1dEJ1ZmZlcgorZXh0ZXJuIF9fdHlwZW9mICh4bWxBbGxvY091dHB1dEJ1ZmZlcikgeG1sQWxsb2NPdXRwdXRCdWZmZXIgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxBbGxvY091dHB1dEJ1ZmZlcl9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sQWxsb2NPdXRwdXRCdWZmZXIKK2V4dGVybiBfX3R5cGVvZiAoeG1sQWxsb2NPdXRwdXRCdWZmZXIpIHhtbEFsbG9jT3V0cHV0QnVmZmVyX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sQWxsb2NPdXRwdXRCdWZmZXIgeG1sQWxsb2NPdXRwdXRCdWZmZXJfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21feG1sSU8KKyN1bmRlZiB4bWxBbGxvY1BhcnNlcklucHV0QnVmZmVyCitleHRlcm4gX190eXBlb2YgKHhtbEFsbG9jUGFyc2VySW5wdXRCdWZmZXIpIHhtbEFsbG9jUGFyc2VySW5wdXRCdWZmZXIgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxBbGxvY1BhcnNlcklucHV0QnVmZmVyX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxBbGxvY1BhcnNlcklucHV0QnVmZmVyCitleHRlcm4gX190eXBlb2YgKHhtbEFsbG9jUGFyc2VySW5wdXRCdWZmZXIpIHhtbEFsbG9jUGFyc2VySW5wdXRCdWZmZXJfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxBbGxvY1BhcnNlcklucHV0QnVmZmVyIHhtbEFsbG9jUGFyc2VySW5wdXRCdWZmZXJfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHNhdmUKKyN1bmRlZiB4bWxBdHRyU2VyaWFsaXplVHh0Q29udGVudAorZXh0ZXJuIF9fdHlwZW9mICh4bWxBdHRyU2VyaWFsaXplVHh0Q29udGVudCkgeG1sQXR0clNlcmlhbGl6ZVR4dENvbnRlbnQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxBdHRyU2VyaWFsaXplVHh0Q29udGVudF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sQXR0clNlcmlhbGl6ZVR4dENvbnRlbnQKK2V4dGVybiBfX3R5cGVvZiAoeG1sQXR0clNlcmlhbGl6ZVR4dENvbnRlbnQpIHhtbEF0dHJTZXJpYWxpemVUeHRDb250ZW50X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sQXR0clNlcmlhbGl6ZVR4dENvbnRlbnQgeG1sQXR0clNlcmlhbGl6ZVR4dENvbnRlbnRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUdFWFBfRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfQVVUT01BVEFfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1scmVnZXhwCisjdW5kZWYgeG1sQXV0b21hdGFDb21waWxlCitleHRlcm4gX190eXBlb2YgKHhtbEF1dG9tYXRhQ29tcGlsZSkgeG1sQXV0b21hdGFDb21waWxlIF9fYXR0cmlidXRlKChhbGlhcygieG1sQXV0b21hdGFDb21waWxlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxBdXRvbWF0YUNvbXBpbGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sQXV0b21hdGFDb21waWxlKSB4bWxBdXRvbWF0YUNvbXBpbGVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxBdXRvbWF0YUNvbXBpbGUgeG1sQXV0b21hdGFDb21waWxlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfUkVHRVhQX0VOQUJMRUQpICYmIGRlZmluZWQoTElCWE1MX0FVVE9NQVRBX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHJlZ2V4cAorI3VuZGVmIHhtbEF1dG9tYXRhR2V0SW5pdFN0YXRlCitleHRlcm4gX190eXBlb2YgKHhtbEF1dG9tYXRhR2V0SW5pdFN0YXRlKSB4bWxBdXRvbWF0YUdldEluaXRTdGF0ZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbEF1dG9tYXRhR2V0SW5pdFN0YXRlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxBdXRvbWF0YUdldEluaXRTdGF0ZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxBdXRvbWF0YUdldEluaXRTdGF0ZSkgeG1sQXV0b21hdGFHZXRJbml0U3RhdGVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxBdXRvbWF0YUdldEluaXRTdGF0ZSB4bWxBdXRvbWF0YUdldEluaXRTdGF0ZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1JFR0VYUF9FTkFCTEVEKSAmJiBkZWZpbmVkKExJQlhNTF9BVVRPTUFUQV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxyZWdleHAKKyN1bmRlZiB4bWxBdXRvbWF0YUlzRGV0ZXJtaW5pc3QKK2V4dGVybiBfX3R5cGVvZiAoeG1sQXV0b21hdGFJc0RldGVybWluaXN0KSB4bWxBdXRvbWF0YUlzRGV0ZXJtaW5pc3QgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxBdXRvbWF0YUlzRGV0ZXJtaW5pc3RfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEF1dG9tYXRhSXNEZXRlcm1pbmlzdAorZXh0ZXJuIF9fdHlwZW9mICh4bWxBdXRvbWF0YUlzRGV0ZXJtaW5pc3QpIHhtbEF1dG9tYXRhSXNEZXRlcm1pbmlzdF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEF1dG9tYXRhSXNEZXRlcm1pbmlzdCB4bWxBdXRvbWF0YUlzRGV0ZXJtaW5pc3RfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUdFWFBfRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfQVVUT01BVEFfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1scmVnZXhwCisjdW5kZWYgeG1sQXV0b21hdGFOZXdBbGxUcmFucworZXh0ZXJuIF9fdHlwZW9mICh4bWxBdXRvbWF0YU5ld0FsbFRyYW5zKSB4bWxBdXRvbWF0YU5ld0FsbFRyYW5zIF9fYXR0cmlidXRlKChhbGlhcygieG1sQXV0b21hdGFOZXdBbGxUcmFuc19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sQXV0b21hdGFOZXdBbGxUcmFucworZXh0ZXJuIF9fdHlwZW9mICh4bWxBdXRvbWF0YU5ld0FsbFRyYW5zKSB4bWxBdXRvbWF0YU5ld0FsbFRyYW5zX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sQXV0b21hdGFOZXdBbGxUcmFucyB4bWxBdXRvbWF0YU5ld0FsbFRyYW5zX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfUkVHRVhQX0VOQUJMRUQpICYmIGRlZmluZWQoTElCWE1MX0FVVE9NQVRBX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHJlZ2V4cAorI3VuZGVmIHhtbEF1dG9tYXRhTmV3Q291bnRUcmFucworZXh0ZXJuIF9fdHlwZW9mICh4bWxBdXRvbWF0YU5ld0NvdW50VHJhbnMpIHhtbEF1dG9tYXRhTmV3Q291bnRUcmFucyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbEF1dG9tYXRhTmV3Q291bnRUcmFuc19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sQXV0b21hdGFOZXdDb3VudFRyYW5zCitleHRlcm4gX190eXBlb2YgKHhtbEF1dG9tYXRhTmV3Q291bnRUcmFucykgeG1sQXV0b21hdGFOZXdDb3VudFRyYW5zX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sQXV0b21hdGFOZXdDb3VudFRyYW5zIHhtbEF1dG9tYXRhTmV3Q291bnRUcmFuc19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1JFR0VYUF9FTkFCTEVEKSAmJiBkZWZpbmVkKExJQlhNTF9BVVRPTUFUQV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxyZWdleHAKKyN1bmRlZiB4bWxBdXRvbWF0YU5ld0NvdW50VHJhbnMyCitleHRlcm4gX190eXBlb2YgKHhtbEF1dG9tYXRhTmV3Q291bnRUcmFuczIpIHhtbEF1dG9tYXRhTmV3Q291bnRUcmFuczIgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxBdXRvbWF0YU5ld0NvdW50VHJhbnMyX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxBdXRvbWF0YU5ld0NvdW50VHJhbnMyCitleHRlcm4gX190eXBlb2YgKHhtbEF1dG9tYXRhTmV3Q291bnRUcmFuczIpIHhtbEF1dG9tYXRhTmV3Q291bnRUcmFuczJfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxBdXRvbWF0YU5ld0NvdW50VHJhbnMyIHhtbEF1dG9tYXRhTmV3Q291bnRUcmFuczJfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUdFWFBfRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfQVVUT01BVEFfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1scmVnZXhwCisjdW5kZWYgeG1sQXV0b21hdGFOZXdDb3VudGVkVHJhbnMKK2V4dGVybiBfX3R5cGVvZiAoeG1sQXV0b21hdGFOZXdDb3VudGVkVHJhbnMpIHhtbEF1dG9tYXRhTmV3Q291bnRlZFRyYW5zIF9fYXR0cmlidXRlKChhbGlhcygieG1sQXV0b21hdGFOZXdDb3VudGVkVHJhbnNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEF1dG9tYXRhTmV3Q291bnRlZFRyYW5zCitleHRlcm4gX190eXBlb2YgKHhtbEF1dG9tYXRhTmV3Q291bnRlZFRyYW5zKSB4bWxBdXRvbWF0YU5ld0NvdW50ZWRUcmFuc19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEF1dG9tYXRhTmV3Q291bnRlZFRyYW5zIHhtbEF1dG9tYXRhTmV3Q291bnRlZFRyYW5zX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfUkVHRVhQX0VOQUJMRUQpICYmIGRlZmluZWQoTElCWE1MX0FVVE9NQVRBX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHJlZ2V4cAorI3VuZGVmIHhtbEF1dG9tYXRhTmV3Q291bnRlcgorZXh0ZXJuIF9fdHlwZW9mICh4bWxBdXRvbWF0YU5ld0NvdW50ZXIpIHhtbEF1dG9tYXRhTmV3Q291bnRlciBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbEF1dG9tYXRhTmV3Q291bnRlcl9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sQXV0b21hdGFOZXdDb3VudGVyCitleHRlcm4gX190eXBlb2YgKHhtbEF1dG9tYXRhTmV3Q291bnRlcikgeG1sQXV0b21hdGFOZXdDb3VudGVyX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sQXV0b21hdGFOZXdDb3VudGVyIHhtbEF1dG9tYXRhTmV3Q291bnRlcl9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1JFR0VYUF9FTkFCTEVEKSAmJiBkZWZpbmVkKExJQlhNTF9BVVRPTUFUQV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxyZWdleHAKKyN1bmRlZiB4bWxBdXRvbWF0YU5ld0NvdW50ZXJUcmFucworZXh0ZXJuIF9fdHlwZW9mICh4bWxBdXRvbWF0YU5ld0NvdW50ZXJUcmFucykgeG1sQXV0b21hdGFOZXdDb3VudGVyVHJhbnMgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxBdXRvbWF0YU5ld0NvdW50ZXJUcmFuc19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sQXV0b21hdGFOZXdDb3VudGVyVHJhbnMKK2V4dGVybiBfX3R5cGVvZiAoeG1sQXV0b21hdGFOZXdDb3VudGVyVHJhbnMpIHhtbEF1dG9tYXRhTmV3Q291bnRlclRyYW5zX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sQXV0b21hdGFOZXdDb3VudGVyVHJhbnMgeG1sQXV0b21hdGFOZXdDb3VudGVyVHJhbnNfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUdFWFBfRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfQVVUT01BVEFfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1scmVnZXhwCisjdW5kZWYgeG1sQXV0b21hdGFOZXdFcHNpbG9uCitleHRlcm4gX190eXBlb2YgKHhtbEF1dG9tYXRhTmV3RXBzaWxvbikgeG1sQXV0b21hdGFOZXdFcHNpbG9uIF9fYXR0cmlidXRlKChhbGlhcygieG1sQXV0b21hdGFOZXdFcHNpbG9uX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxBdXRvbWF0YU5ld0Vwc2lsb24KK2V4dGVybiBfX3R5cGVvZiAoeG1sQXV0b21hdGFOZXdFcHNpbG9uKSB4bWxBdXRvbWF0YU5ld0Vwc2lsb25fX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxBdXRvbWF0YU5ld0Vwc2lsb24geG1sQXV0b21hdGFOZXdFcHNpbG9uX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfUkVHRVhQX0VOQUJMRUQpICYmIGRlZmluZWQoTElCWE1MX0FVVE9NQVRBX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHJlZ2V4cAorI3VuZGVmIHhtbEF1dG9tYXRhTmV3TmVnVHJhbnMKK2V4dGVybiBfX3R5cGVvZiAoeG1sQXV0b21hdGFOZXdOZWdUcmFucykgeG1sQXV0b21hdGFOZXdOZWdUcmFucyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbEF1dG9tYXRhTmV3TmVnVHJhbnNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEF1dG9tYXRhTmV3TmVnVHJhbnMKK2V4dGVybiBfX3R5cGVvZiAoeG1sQXV0b21hdGFOZXdOZWdUcmFucykgeG1sQXV0b21hdGFOZXdOZWdUcmFuc19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEF1dG9tYXRhTmV3TmVnVHJhbnMgeG1sQXV0b21hdGFOZXdOZWdUcmFuc19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1JFR0VYUF9FTkFCTEVEKSAmJiBkZWZpbmVkKExJQlhNTF9BVVRPTUFUQV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxyZWdleHAKKyN1bmRlZiB4bWxBdXRvbWF0YU5ld09uY2VUcmFucworZXh0ZXJuIF9fdHlwZW9mICh4bWxBdXRvbWF0YU5ld09uY2VUcmFucykgeG1sQXV0b21hdGFOZXdPbmNlVHJhbnMgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxBdXRvbWF0YU5ld09uY2VUcmFuc19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sQXV0b21hdGFOZXdPbmNlVHJhbnMKK2V4dGVybiBfX3R5cGVvZiAoeG1sQXV0b21hdGFOZXdPbmNlVHJhbnMpIHhtbEF1dG9tYXRhTmV3T25jZVRyYW5zX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sQXV0b21hdGFOZXdPbmNlVHJhbnMgeG1sQXV0b21hdGFOZXdPbmNlVHJhbnNfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUdFWFBfRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfQVVUT01BVEFfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1scmVnZXhwCisjdW5kZWYgeG1sQXV0b21hdGFOZXdPbmNlVHJhbnMyCitleHRlcm4gX190eXBlb2YgKHhtbEF1dG9tYXRhTmV3T25jZVRyYW5zMikgeG1sQXV0b21hdGFOZXdPbmNlVHJhbnMyIF9fYXR0cmlidXRlKChhbGlhcygieG1sQXV0b21hdGFOZXdPbmNlVHJhbnMyX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxBdXRvbWF0YU5ld09uY2VUcmFuczIKK2V4dGVybiBfX3R5cGVvZiAoeG1sQXV0b21hdGFOZXdPbmNlVHJhbnMyKSB4bWxBdXRvbWF0YU5ld09uY2VUcmFuczJfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxBdXRvbWF0YU5ld09uY2VUcmFuczIgeG1sQXV0b21hdGFOZXdPbmNlVHJhbnMyX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfUkVHRVhQX0VOQUJMRUQpICYmIGRlZmluZWQoTElCWE1MX0FVVE9NQVRBX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHJlZ2V4cAorI3VuZGVmIHhtbEF1dG9tYXRhTmV3U3RhdGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sQXV0b21hdGFOZXdTdGF0ZSkgeG1sQXV0b21hdGFOZXdTdGF0ZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbEF1dG9tYXRhTmV3U3RhdGVfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEF1dG9tYXRhTmV3U3RhdGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sQXV0b21hdGFOZXdTdGF0ZSkgeG1sQXV0b21hdGFOZXdTdGF0ZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEF1dG9tYXRhTmV3U3RhdGUgeG1sQXV0b21hdGFOZXdTdGF0ZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1JFR0VYUF9FTkFCTEVEKSAmJiBkZWZpbmVkKExJQlhNTF9BVVRPTUFUQV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxyZWdleHAKKyN1bmRlZiB4bWxBdXRvbWF0YU5ld1RyYW5zaXRpb24KK2V4dGVybiBfX3R5cGVvZiAoeG1sQXV0b21hdGFOZXdUcmFuc2l0aW9uKSB4bWxBdXRvbWF0YU5ld1RyYW5zaXRpb24gX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxBdXRvbWF0YU5ld1RyYW5zaXRpb25fX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEF1dG9tYXRhTmV3VHJhbnNpdGlvbgorZXh0ZXJuIF9fdHlwZW9mICh4bWxBdXRvbWF0YU5ld1RyYW5zaXRpb24pIHhtbEF1dG9tYXRhTmV3VHJhbnNpdGlvbl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEF1dG9tYXRhTmV3VHJhbnNpdGlvbiB4bWxBdXRvbWF0YU5ld1RyYW5zaXRpb25fX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUdFWFBfRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfQVVUT01BVEFfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1scmVnZXhwCisjdW5kZWYgeG1sQXV0b21hdGFOZXdUcmFuc2l0aW9uMgorZXh0ZXJuIF9fdHlwZW9mICh4bWxBdXRvbWF0YU5ld1RyYW5zaXRpb24yKSB4bWxBdXRvbWF0YU5ld1RyYW5zaXRpb24yIF9fYXR0cmlidXRlKChhbGlhcygieG1sQXV0b21hdGFOZXdUcmFuc2l0aW9uMl9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sQXV0b21hdGFOZXdUcmFuc2l0aW9uMgorZXh0ZXJuIF9fdHlwZW9mICh4bWxBdXRvbWF0YU5ld1RyYW5zaXRpb24yKSB4bWxBdXRvbWF0YU5ld1RyYW5zaXRpb24yX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sQXV0b21hdGFOZXdUcmFuc2l0aW9uMiB4bWxBdXRvbWF0YU5ld1RyYW5zaXRpb24yX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfUkVHRVhQX0VOQUJMRUQpICYmIGRlZmluZWQoTElCWE1MX0FVVE9NQVRBX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHJlZ2V4cAorI3VuZGVmIHhtbEF1dG9tYXRhU2V0RmluYWxTdGF0ZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxBdXRvbWF0YVNldEZpbmFsU3RhdGUpIHhtbEF1dG9tYXRhU2V0RmluYWxTdGF0ZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbEF1dG9tYXRhU2V0RmluYWxTdGF0ZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sQXV0b21hdGFTZXRGaW5hbFN0YXRlCitleHRlcm4gX190eXBlb2YgKHhtbEF1dG9tYXRhU2V0RmluYWxTdGF0ZSkgeG1sQXV0b21hdGFTZXRGaW5hbFN0YXRlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sQXV0b21hdGFTZXRGaW5hbFN0YXRlIHhtbEF1dG9tYXRhU2V0RmluYWxTdGF0ZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX0RFQlVHX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX2RlYnVnWE1MCisjdW5kZWYgeG1sQm9vbFRvVGV4dAorZXh0ZXJuIF9fdHlwZW9mICh4bWxCb29sVG9UZXh0KSB4bWxCb29sVG9UZXh0IF9fYXR0cmlidXRlKChhbGlhcygieG1sQm9vbFRvVGV4dF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sQm9vbFRvVGV4dAorZXh0ZXJuIF9fdHlwZW9mICh4bWxCb29sVG9UZXh0KSB4bWxCb29sVG9UZXh0X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sQm9vbFRvVGV4dCB4bWxCb29sVG9UZXh0X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX2J1ZgorI3VuZGVmIHhtbEJ1ZkNvbnRlbnQKK2V4dGVybiBfX3R5cGVvZiAoeG1sQnVmQ29udGVudCkgeG1sQnVmQ29udGVudCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbEJ1ZkNvbnRlbnRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEJ1ZkNvbnRlbnQKK2V4dGVybiBfX3R5cGVvZiAoeG1sQnVmQ29udGVudCkgeG1sQnVmQ29udGVudF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEJ1ZkNvbnRlbnQgeG1sQnVmQ29udGVudF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fYnVmCisjdW5kZWYgeG1sQnVmRW5kCitleHRlcm4gX190eXBlb2YgKHhtbEJ1ZkVuZCkgeG1sQnVmRW5kIF9fYXR0cmlidXRlKChhbGlhcygieG1sQnVmRW5kX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxCdWZFbmQKK2V4dGVybiBfX3R5cGVvZiAoeG1sQnVmRW5kKSB4bWxCdWZFbmRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxCdWZFbmQgeG1sQnVmRW5kX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV90cmVlCisjdW5kZWYgeG1sQnVmR2V0Tm9kZUNvbnRlbnQKK2V4dGVybiBfX3R5cGVvZiAoeG1sQnVmR2V0Tm9kZUNvbnRlbnQpIHhtbEJ1ZkdldE5vZGVDb250ZW50IF9fYXR0cmlidXRlKChhbGlhcygieG1sQnVmR2V0Tm9kZUNvbnRlbnRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEJ1ZkdldE5vZGVDb250ZW50CitleHRlcm4gX190eXBlb2YgKHhtbEJ1ZkdldE5vZGVDb250ZW50KSB4bWxCdWZHZXROb2RlQ29udGVudF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEJ1ZkdldE5vZGVDb250ZW50IHhtbEJ1ZkdldE5vZGVDb250ZW50X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxzYXZlCisjdW5kZWYgeG1sQnVmTm9kZUR1bXAKK2V4dGVybiBfX3R5cGVvZiAoeG1sQnVmTm9kZUR1bXApIHhtbEJ1Zk5vZGVEdW1wIF9fYXR0cmlidXRlKChhbGlhcygieG1sQnVmTm9kZUR1bXBfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEJ1Zk5vZGVEdW1wCitleHRlcm4gX190eXBlb2YgKHhtbEJ1Zk5vZGVEdW1wKSB4bWxCdWZOb2RlRHVtcF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEJ1Zk5vZGVEdW1wIHhtbEJ1Zk5vZGVEdW1wX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX2J1ZgorI3VuZGVmIHhtbEJ1ZlNocmluaworZXh0ZXJuIF9fdHlwZW9mICh4bWxCdWZTaHJpbmspIHhtbEJ1ZlNocmluayBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbEJ1ZlNocmlua19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sQnVmU2hyaW5rCitleHRlcm4gX190eXBlb2YgKHhtbEJ1ZlNocmluaykgeG1sQnVmU2hyaW5rX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sQnVmU2hyaW5rIHhtbEJ1ZlNocmlua19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fYnVmCisjdW5kZWYgeG1sQnVmVXNlCitleHRlcm4gX190eXBlb2YgKHhtbEJ1ZlVzZSkgeG1sQnVmVXNlIF9fYXR0cmlidXRlKChhbGlhcygieG1sQnVmVXNlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxCdWZVc2UKK2V4dGVybiBfX3R5cGVvZiAoeG1sQnVmVXNlKSB4bWxCdWZVc2VfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxCdWZVc2UgeG1sQnVmVXNlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV90cmVlCisjdW5kZWYgeG1sQnVmZmVyQWRkCitleHRlcm4gX190eXBlb2YgKHhtbEJ1ZmZlckFkZCkgeG1sQnVmZmVyQWRkIF9fYXR0cmlidXRlKChhbGlhcygieG1sQnVmZmVyQWRkX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxCdWZmZXJBZGQKK2V4dGVybiBfX3R5cGVvZiAoeG1sQnVmZmVyQWRkKSB4bWxCdWZmZXJBZGRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxCdWZmZXJBZGQgeG1sQnVmZmVyQWRkX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV90cmVlCisjdW5kZWYgeG1sQnVmZmVyQWRkSGVhZAorZXh0ZXJuIF9fdHlwZW9mICh4bWxCdWZmZXJBZGRIZWFkKSB4bWxCdWZmZXJBZGRIZWFkIF9fYXR0cmlidXRlKChhbGlhcygieG1sQnVmZmVyQWRkSGVhZF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sQnVmZmVyQWRkSGVhZAorZXh0ZXJuIF9fdHlwZW9mICh4bWxCdWZmZXJBZGRIZWFkKSB4bWxCdWZmZXJBZGRIZWFkX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sQnVmZmVyQWRkSGVhZCB4bWxCdWZmZXJBZGRIZWFkX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV90cmVlCisjdW5kZWYgeG1sQnVmZmVyQ0NhdAorZXh0ZXJuIF9fdHlwZW9mICh4bWxCdWZmZXJDQ2F0KSB4bWxCdWZmZXJDQ2F0IF9fYXR0cmlidXRlKChhbGlhcygieG1sQnVmZmVyQ0NhdF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sQnVmZmVyQ0NhdAorZXh0ZXJuIF9fdHlwZW9mICh4bWxCdWZmZXJDQ2F0KSB4bWxCdWZmZXJDQ2F0X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sQnVmZmVyQ0NhdCB4bWxCdWZmZXJDQ2F0X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV90cmVlCisjdW5kZWYgeG1sQnVmZmVyQ2F0CitleHRlcm4gX190eXBlb2YgKHhtbEJ1ZmZlckNhdCkgeG1sQnVmZmVyQ2F0IF9fYXR0cmlidXRlKChhbGlhcygieG1sQnVmZmVyQ2F0X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxCdWZmZXJDYXQKK2V4dGVybiBfX3R5cGVvZiAoeG1sQnVmZmVyQ2F0KSB4bWxCdWZmZXJDYXRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxCdWZmZXJDYXQgeG1sQnVmZmVyQ2F0X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV90cmVlCisjdW5kZWYgeG1sQnVmZmVyQ29udGVudAorZXh0ZXJuIF9fdHlwZW9mICh4bWxCdWZmZXJDb250ZW50KSB4bWxCdWZmZXJDb250ZW50IF9fYXR0cmlidXRlKChhbGlhcygieG1sQnVmZmVyQ29udGVudF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sQnVmZmVyQ29udGVudAorZXh0ZXJuIF9fdHlwZW9mICh4bWxCdWZmZXJDb250ZW50KSB4bWxCdWZmZXJDb250ZW50X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sQnVmZmVyQ29udGVudCB4bWxCdWZmZXJDb250ZW50X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV90cmVlCisjdW5kZWYgeG1sQnVmZmVyQ3JlYXRlCitleHRlcm4gX190eXBlb2YgKHhtbEJ1ZmZlckNyZWF0ZSkgeG1sQnVmZmVyQ3JlYXRlIF9fYXR0cmlidXRlKChhbGlhcygieG1sQnVmZmVyQ3JlYXRlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxCdWZmZXJDcmVhdGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sQnVmZmVyQ3JlYXRlKSB4bWxCdWZmZXJDcmVhdGVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxCdWZmZXJDcmVhdGUgeG1sQnVmZmVyQ3JlYXRlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV90cmVlCisjdW5kZWYgeG1sQnVmZmVyQ3JlYXRlU2l6ZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxCdWZmZXJDcmVhdGVTaXplKSB4bWxCdWZmZXJDcmVhdGVTaXplIF9fYXR0cmlidXRlKChhbGlhcygieG1sQnVmZmVyQ3JlYXRlU2l6ZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sQnVmZmVyQ3JlYXRlU2l6ZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxCdWZmZXJDcmVhdGVTaXplKSB4bWxCdWZmZXJDcmVhdGVTaXplX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sQnVmZmVyQ3JlYXRlU2l6ZSB4bWxCdWZmZXJDcmVhdGVTaXplX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV90cmVlCisjdW5kZWYgeG1sQnVmZmVyQ3JlYXRlU3RhdGljCitleHRlcm4gX190eXBlb2YgKHhtbEJ1ZmZlckNyZWF0ZVN0YXRpYykgeG1sQnVmZmVyQ3JlYXRlU3RhdGljIF9fYXR0cmlidXRlKChhbGlhcygieG1sQnVmZmVyQ3JlYXRlU3RhdGljX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxCdWZmZXJDcmVhdGVTdGF0aWMKK2V4dGVybiBfX3R5cGVvZiAoeG1sQnVmZmVyQ3JlYXRlU3RhdGljKSB4bWxCdWZmZXJDcmVhdGVTdGF0aWNfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxCdWZmZXJDcmVhdGVTdGF0aWMgeG1sQnVmZmVyQ3JlYXRlU3RhdGljX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV90cmVlCisjdW5kZWYgeG1sQnVmZmVyRGV0YWNoCitleHRlcm4gX190eXBlb2YgKHhtbEJ1ZmZlckRldGFjaCkgeG1sQnVmZmVyRGV0YWNoIF9fYXR0cmlidXRlKChhbGlhcygieG1sQnVmZmVyRGV0YWNoX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxCdWZmZXJEZXRhY2gKK2V4dGVybiBfX3R5cGVvZiAoeG1sQnVmZmVyRGV0YWNoKSB4bWxCdWZmZXJEZXRhY2hfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxCdWZmZXJEZXRhY2ggeG1sQnVmZmVyRGV0YWNoX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV90cmVlCisjdW5kZWYgeG1sQnVmZmVyRHVtcAorZXh0ZXJuIF9fdHlwZW9mICh4bWxCdWZmZXJEdW1wKSB4bWxCdWZmZXJEdW1wIF9fYXR0cmlidXRlKChhbGlhcygieG1sQnVmZmVyRHVtcF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sQnVmZmVyRHVtcAorZXh0ZXJuIF9fdHlwZW9mICh4bWxCdWZmZXJEdW1wKSB4bWxCdWZmZXJEdW1wX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sQnVmZmVyRHVtcCB4bWxCdWZmZXJEdW1wX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV90cmVlCisjdW5kZWYgeG1sQnVmZmVyRW1wdHkKK2V4dGVybiBfX3R5cGVvZiAoeG1sQnVmZmVyRW1wdHkpIHhtbEJ1ZmZlckVtcHR5IF9fYXR0cmlidXRlKChhbGlhcygieG1sQnVmZmVyRW1wdHlfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEJ1ZmZlckVtcHR5CitleHRlcm4gX190eXBlb2YgKHhtbEJ1ZmZlckVtcHR5KSB4bWxCdWZmZXJFbXB0eV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEJ1ZmZlckVtcHR5IHhtbEJ1ZmZlckVtcHR5X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV90cmVlCisjdW5kZWYgeG1sQnVmZmVyRnJlZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxCdWZmZXJGcmVlKSB4bWxCdWZmZXJGcmVlIF9fYXR0cmlidXRlKChhbGlhcygieG1sQnVmZmVyRnJlZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sQnVmZmVyRnJlZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxCdWZmZXJGcmVlKSB4bWxCdWZmZXJGcmVlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sQnVmZmVyRnJlZSB4bWxCdWZmZXJGcmVlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV90cmVlCisjdW5kZWYgeG1sQnVmZmVyR3JvdworZXh0ZXJuIF9fdHlwZW9mICh4bWxCdWZmZXJHcm93KSB4bWxCdWZmZXJHcm93IF9fYXR0cmlidXRlKChhbGlhcygieG1sQnVmZmVyR3Jvd19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sQnVmZmVyR3JvdworZXh0ZXJuIF9fdHlwZW9mICh4bWxCdWZmZXJHcm93KSB4bWxCdWZmZXJHcm93X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sQnVmZmVyR3JvdyB4bWxCdWZmZXJHcm93X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV90cmVlCisjdW5kZWYgeG1sQnVmZmVyTGVuZ3RoCitleHRlcm4gX190eXBlb2YgKHhtbEJ1ZmZlckxlbmd0aCkgeG1sQnVmZmVyTGVuZ3RoIF9fYXR0cmlidXRlKChhbGlhcygieG1sQnVmZmVyTGVuZ3RoX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxCdWZmZXJMZW5ndGgKK2V4dGVybiBfX3R5cGVvZiAoeG1sQnVmZmVyTGVuZ3RoKSB4bWxCdWZmZXJMZW5ndGhfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxCdWZmZXJMZW5ndGggeG1sQnVmZmVyTGVuZ3RoX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV90cmVlCisjdW5kZWYgeG1sQnVmZmVyUmVzaXplCitleHRlcm4gX190eXBlb2YgKHhtbEJ1ZmZlclJlc2l6ZSkgeG1sQnVmZmVyUmVzaXplIF9fYXR0cmlidXRlKChhbGlhcygieG1sQnVmZmVyUmVzaXplX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxCdWZmZXJSZXNpemUKK2V4dGVybiBfX3R5cGVvZiAoeG1sQnVmZmVyUmVzaXplKSB4bWxCdWZmZXJSZXNpemVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxCdWZmZXJSZXNpemUgeG1sQnVmZmVyUmVzaXplX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV90cmVlCisjdW5kZWYgeG1sQnVmZmVyU2V0QWxsb2NhdGlvblNjaGVtZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxCdWZmZXJTZXRBbGxvY2F0aW9uU2NoZW1lKSB4bWxCdWZmZXJTZXRBbGxvY2F0aW9uU2NoZW1lIF9fYXR0cmlidXRlKChhbGlhcygieG1sQnVmZmVyU2V0QWxsb2NhdGlvblNjaGVtZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sQnVmZmVyU2V0QWxsb2NhdGlvblNjaGVtZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxCdWZmZXJTZXRBbGxvY2F0aW9uU2NoZW1lKSB4bWxCdWZmZXJTZXRBbGxvY2F0aW9uU2NoZW1lX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sQnVmZmVyU2V0QWxsb2NhdGlvblNjaGVtZSB4bWxCdWZmZXJTZXRBbGxvY2F0aW9uU2NoZW1lX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV90cmVlCisjdW5kZWYgeG1sQnVmZmVyU2hyaW5rCitleHRlcm4gX190eXBlb2YgKHhtbEJ1ZmZlclNocmluaykgeG1sQnVmZmVyU2hyaW5rIF9fYXR0cmlidXRlKChhbGlhcygieG1sQnVmZmVyU2hyaW5rX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxCdWZmZXJTaHJpbmsKK2V4dGVybiBfX3R5cGVvZiAoeG1sQnVmZmVyU2hyaW5rKSB4bWxCdWZmZXJTaHJpbmtfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxCdWZmZXJTaHJpbmsgeG1sQnVmZmVyU2hyaW5rX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV90cmVlCisjdW5kZWYgeG1sQnVmZmVyV3JpdGVDSEFSCitleHRlcm4gX190eXBlb2YgKHhtbEJ1ZmZlcldyaXRlQ0hBUikgeG1sQnVmZmVyV3JpdGVDSEFSIF9fYXR0cmlidXRlKChhbGlhcygieG1sQnVmZmVyV3JpdGVDSEFSX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxCdWZmZXJXcml0ZUNIQVIKK2V4dGVybiBfX3R5cGVvZiAoeG1sQnVmZmVyV3JpdGVDSEFSKSB4bWxCdWZmZXJXcml0ZUNIQVJfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxCdWZmZXJXcml0ZUNIQVIgeG1sQnVmZmVyV3JpdGVDSEFSX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV90cmVlCisjdW5kZWYgeG1sQnVmZmVyV3JpdGVDaGFyCitleHRlcm4gX190eXBlb2YgKHhtbEJ1ZmZlcldyaXRlQ2hhcikgeG1sQnVmZmVyV3JpdGVDaGFyIF9fYXR0cmlidXRlKChhbGlhcygieG1sQnVmZmVyV3JpdGVDaGFyX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxCdWZmZXJXcml0ZUNoYXIKK2V4dGVybiBfX3R5cGVvZiAoeG1sQnVmZmVyV3JpdGVDaGFyKSB4bWxCdWZmZXJXcml0ZUNoYXJfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxCdWZmZXJXcml0ZUNoYXIgeG1sQnVmZmVyV3JpdGVDaGFyX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV90cmVlCisjdW5kZWYgeG1sQnVmZmVyV3JpdGVRdW90ZWRTdHJpbmcKK2V4dGVybiBfX3R5cGVvZiAoeG1sQnVmZmVyV3JpdGVRdW90ZWRTdHJpbmcpIHhtbEJ1ZmZlcldyaXRlUXVvdGVkU3RyaW5nIF9fYXR0cmlidXRlKChhbGlhcygieG1sQnVmZmVyV3JpdGVRdW90ZWRTdHJpbmdfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEJ1ZmZlcldyaXRlUXVvdGVkU3RyaW5nCitleHRlcm4gX190eXBlb2YgKHhtbEJ1ZmZlcldyaXRlUXVvdGVkU3RyaW5nKSB4bWxCdWZmZXJXcml0ZVF1b3RlZFN0cmluZ19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEJ1ZmZlcldyaXRlUXVvdGVkU3RyaW5nIHhtbEJ1ZmZlcldyaXRlUXVvdGVkU3RyaW5nX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV90cmVlCisjdW5kZWYgeG1sQnVpbGRRTmFtZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxCdWlsZFFOYW1lKSB4bWxCdWlsZFFOYW1lIF9fYXR0cmlidXRlKChhbGlhcygieG1sQnVpbGRRTmFtZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sQnVpbGRRTmFtZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxCdWlsZFFOYW1lKSB4bWxCdWlsZFFOYW1lX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sQnVpbGRRTmFtZSB4bWxCdWlsZFFOYW1lX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV91cmkKKyN1bmRlZiB4bWxCdWlsZFJlbGF0aXZlVVJJCitleHRlcm4gX190eXBlb2YgKHhtbEJ1aWxkUmVsYXRpdmVVUkkpIHhtbEJ1aWxkUmVsYXRpdmVVUkkgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxCdWlsZFJlbGF0aXZlVVJJX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxCdWlsZFJlbGF0aXZlVVJJCitleHRlcm4gX190eXBlb2YgKHhtbEJ1aWxkUmVsYXRpdmVVUkkpIHhtbEJ1aWxkUmVsYXRpdmVVUklfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxCdWlsZFJlbGF0aXZlVVJJIHhtbEJ1aWxkUmVsYXRpdmVVUklfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3VyaQorI3VuZGVmIHhtbEJ1aWxkVVJJCitleHRlcm4gX190eXBlb2YgKHhtbEJ1aWxkVVJJKSB4bWxCdWlsZFVSSSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbEJ1aWxkVVJJX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxCdWlsZFVSSQorZXh0ZXJuIF9fdHlwZW9mICh4bWxCdWlsZFVSSSkgeG1sQnVpbGRVUklfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxCdWlsZFVSSSB4bWxCdWlsZFVSSV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fZW5jb2RpbmcKKyN1bmRlZiB4bWxCeXRlQ29uc3VtZWQKK2V4dGVybiBfX3R5cGVvZiAoeG1sQnl0ZUNvbnN1bWVkKSB4bWxCeXRlQ29uc3VtZWQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxCeXRlQ29uc3VtZWRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEJ5dGVDb25zdW1lZAorZXh0ZXJuIF9fdHlwZW9mICh4bWxCeXRlQ29uc3VtZWQpIHhtbEJ5dGVDb25zdW1lZF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEJ5dGVDb25zdW1lZCB4bWxCeXRlQ29uc3VtZWRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfQzE0Tl9FTkFCTEVEKSAmJiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fYzE0bgorI3VuZGVmIHhtbEMxNE5Eb2NEdW1wTWVtb3J5CitleHRlcm4gX190eXBlb2YgKHhtbEMxNE5Eb2NEdW1wTWVtb3J5KSB4bWxDMTRORG9jRHVtcE1lbW9yeSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbEMxNE5Eb2NEdW1wTWVtb3J5X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxDMTRORG9jRHVtcE1lbW9yeQorZXh0ZXJuIF9fdHlwZW9mICh4bWxDMTRORG9jRHVtcE1lbW9yeSkgeG1sQzE0TkRvY0R1bXBNZW1vcnlfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxDMTRORG9jRHVtcE1lbW9yeSB4bWxDMTRORG9jRHVtcE1lbW9yeV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX0MxNE5fRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX2MxNG4KKyN1bmRlZiB4bWxDMTRORG9jU2F2ZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxDMTRORG9jU2F2ZSkgeG1sQzE0TkRvY1NhdmUgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxDMTRORG9jU2F2ZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sQzE0TkRvY1NhdmUKK2V4dGVybiBfX3R5cGVvZiAoeG1sQzE0TkRvY1NhdmUpIHhtbEMxNE5Eb2NTYXZlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sQzE0TkRvY1NhdmUgeG1sQzE0TkRvY1NhdmVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9DMTROX0VOQUJMRUQpICYmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9jMTRuCisjdW5kZWYgeG1sQzE0TkRvY1NhdmVUbworZXh0ZXJuIF9fdHlwZW9mICh4bWxDMTRORG9jU2F2ZVRvKSB4bWxDMTRORG9jU2F2ZVRvIF9fYXR0cmlidXRlKChhbGlhcygieG1sQzE0TkRvY1NhdmVUb19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sQzE0TkRvY1NhdmVUbworZXh0ZXJuIF9fdHlwZW9mICh4bWxDMTRORG9jU2F2ZVRvKSB4bWxDMTRORG9jU2F2ZVRvX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sQzE0TkRvY1NhdmVUbyB4bWxDMTRORG9jU2F2ZVRvX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfQzE0Tl9FTkFCTEVEKSAmJiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fYzE0bgorI3VuZGVmIHhtbEMxNE5FeGVjdXRlCitleHRlcm4gX190eXBlb2YgKHhtbEMxNE5FeGVjdXRlKSB4bWxDMTRORXhlY3V0ZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbEMxNE5FeGVjdXRlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxDMTRORXhlY3V0ZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxDMTRORXhlY3V0ZSkgeG1sQzE0TkV4ZWN1dGVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxDMTRORXhlY3V0ZSB4bWxDMTRORXhlY3V0ZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV91cmkKKyN1bmRlZiB4bWxDYW5vbmljUGF0aAorZXh0ZXJuIF9fdHlwZW9mICh4bWxDYW5vbmljUGF0aCkgeG1sQ2Fub25pY1BhdGggX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxDYW5vbmljUGF0aF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sQ2Fub25pY1BhdGgKK2V4dGVybiBfX3R5cGVvZiAoeG1sQ2Fub25pY1BhdGgpIHhtbENhbm9uaWNQYXRoX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sQ2Fub25pY1BhdGggeG1sQ2Fub25pY1BhdGhfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfQ0FUQUxPR19FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9jYXRhbG9nCisjdW5kZWYgeG1sQ2F0YWxvZ0FkZAorZXh0ZXJuIF9fdHlwZW9mICh4bWxDYXRhbG9nQWRkKSB4bWxDYXRhbG9nQWRkIF9fYXR0cmlidXRlKChhbGlhcygieG1sQ2F0YWxvZ0FkZF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sQ2F0YWxvZ0FkZAorZXh0ZXJuIF9fdHlwZW9mICh4bWxDYXRhbG9nQWRkKSB4bWxDYXRhbG9nQWRkX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sQ2F0YWxvZ0FkZCB4bWxDYXRhbG9nQWRkX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfQ0FUQUxPR19FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9jYXRhbG9nCisjdW5kZWYgeG1sQ2F0YWxvZ0FkZExvY2FsCitleHRlcm4gX190eXBlb2YgKHhtbENhdGFsb2dBZGRMb2NhbCkgeG1sQ2F0YWxvZ0FkZExvY2FsIF9fYXR0cmlidXRlKChhbGlhcygieG1sQ2F0YWxvZ0FkZExvY2FsX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxDYXRhbG9nQWRkTG9jYWwKK2V4dGVybiBfX3R5cGVvZiAoeG1sQ2F0YWxvZ0FkZExvY2FsKSB4bWxDYXRhbG9nQWRkTG9jYWxfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxDYXRhbG9nQWRkTG9jYWwgeG1sQ2F0YWxvZ0FkZExvY2FsX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfQ0FUQUxPR19FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9jYXRhbG9nCisjdW5kZWYgeG1sQ2F0YWxvZ0NsZWFudXAKK2V4dGVybiBfX3R5cGVvZiAoeG1sQ2F0YWxvZ0NsZWFudXApIHhtbENhdGFsb2dDbGVhbnVwIF9fYXR0cmlidXRlKChhbGlhcygieG1sQ2F0YWxvZ0NsZWFudXBfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbENhdGFsb2dDbGVhbnVwCitleHRlcm4gX190eXBlb2YgKHhtbENhdGFsb2dDbGVhbnVwKSB4bWxDYXRhbG9nQ2xlYW51cF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbENhdGFsb2dDbGVhbnVwIHhtbENhdGFsb2dDbGVhbnVwX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfQ0FUQUxPR19FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9jYXRhbG9nCisjdW5kZWYgeG1sQ2F0YWxvZ0NvbnZlcnQKK2V4dGVybiBfX3R5cGVvZiAoeG1sQ2F0YWxvZ0NvbnZlcnQpIHhtbENhdGFsb2dDb252ZXJ0IF9fYXR0cmlidXRlKChhbGlhcygieG1sQ2F0YWxvZ0NvbnZlcnRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbENhdGFsb2dDb252ZXJ0CitleHRlcm4gX190eXBlb2YgKHhtbENhdGFsb2dDb252ZXJ0KSB4bWxDYXRhbG9nQ29udmVydF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbENhdGFsb2dDb252ZXJ0IHhtbENhdGFsb2dDb252ZXJ0X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfQ0FUQUxPR19FTkFCTEVEKSAmJiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fY2F0YWxvZworI3VuZGVmIHhtbENhdGFsb2dEdW1wCitleHRlcm4gX190eXBlb2YgKHhtbENhdGFsb2dEdW1wKSB4bWxDYXRhbG9nRHVtcCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbENhdGFsb2dEdW1wX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxDYXRhbG9nRHVtcAorZXh0ZXJuIF9fdHlwZW9mICh4bWxDYXRhbG9nRHVtcCkgeG1sQ2F0YWxvZ0R1bXBfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxDYXRhbG9nRHVtcCB4bWxDYXRhbG9nRHVtcF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX0NBVEFMT0dfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fY2F0YWxvZworI3VuZGVmIHhtbENhdGFsb2dGcmVlTG9jYWwKK2V4dGVybiBfX3R5cGVvZiAoeG1sQ2F0YWxvZ0ZyZWVMb2NhbCkgeG1sQ2F0YWxvZ0ZyZWVMb2NhbCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbENhdGFsb2dGcmVlTG9jYWxfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbENhdGFsb2dGcmVlTG9jYWwKK2V4dGVybiBfX3R5cGVvZiAoeG1sQ2F0YWxvZ0ZyZWVMb2NhbCkgeG1sQ2F0YWxvZ0ZyZWVMb2NhbF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbENhdGFsb2dGcmVlTG9jYWwgeG1sQ2F0YWxvZ0ZyZWVMb2NhbF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX0NBVEFMT0dfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fY2F0YWxvZworI3VuZGVmIHhtbENhdGFsb2dHZXREZWZhdWx0cworZXh0ZXJuIF9fdHlwZW9mICh4bWxDYXRhbG9nR2V0RGVmYXVsdHMpIHhtbENhdGFsb2dHZXREZWZhdWx0cyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbENhdGFsb2dHZXREZWZhdWx0c19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sQ2F0YWxvZ0dldERlZmF1bHRzCitleHRlcm4gX190eXBlb2YgKHhtbENhdGFsb2dHZXREZWZhdWx0cykgeG1sQ2F0YWxvZ0dldERlZmF1bHRzX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sQ2F0YWxvZ0dldERlZmF1bHRzIHhtbENhdGFsb2dHZXREZWZhdWx0c19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX0NBVEFMT0dfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fY2F0YWxvZworI3VuZGVmIHhtbENhdGFsb2dHZXRQdWJsaWMKK2V4dGVybiBfX3R5cGVvZiAoeG1sQ2F0YWxvZ0dldFB1YmxpYykgeG1sQ2F0YWxvZ0dldFB1YmxpYyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbENhdGFsb2dHZXRQdWJsaWNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbENhdGFsb2dHZXRQdWJsaWMKK2V4dGVybiBfX3R5cGVvZiAoeG1sQ2F0YWxvZ0dldFB1YmxpYykgeG1sQ2F0YWxvZ0dldFB1YmxpY19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbENhdGFsb2dHZXRQdWJsaWMgeG1sQ2F0YWxvZ0dldFB1YmxpY19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX0NBVEFMT0dfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fY2F0YWxvZworI3VuZGVmIHhtbENhdGFsb2dHZXRTeXN0ZW0KK2V4dGVybiBfX3R5cGVvZiAoeG1sQ2F0YWxvZ0dldFN5c3RlbSkgeG1sQ2F0YWxvZ0dldFN5c3RlbSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbENhdGFsb2dHZXRTeXN0ZW1fX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbENhdGFsb2dHZXRTeXN0ZW0KK2V4dGVybiBfX3R5cGVvZiAoeG1sQ2F0YWxvZ0dldFN5c3RlbSkgeG1sQ2F0YWxvZ0dldFN5c3RlbV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbENhdGFsb2dHZXRTeXN0ZW0geG1sQ2F0YWxvZ0dldFN5c3RlbV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX0NBVEFMT0dfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fY2F0YWxvZworI3VuZGVmIHhtbENhdGFsb2dJc0VtcHR5CitleHRlcm4gX190eXBlb2YgKHhtbENhdGFsb2dJc0VtcHR5KSB4bWxDYXRhbG9nSXNFbXB0eSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbENhdGFsb2dJc0VtcHR5X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxDYXRhbG9nSXNFbXB0eQorZXh0ZXJuIF9fdHlwZW9mICh4bWxDYXRhbG9nSXNFbXB0eSkgeG1sQ2F0YWxvZ0lzRW1wdHlfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxDYXRhbG9nSXNFbXB0eSB4bWxDYXRhbG9nSXNFbXB0eV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX0NBVEFMT0dfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fY2F0YWxvZworI3VuZGVmIHhtbENhdGFsb2dMb2NhbFJlc29sdmUKK2V4dGVybiBfX3R5cGVvZiAoeG1sQ2F0YWxvZ0xvY2FsUmVzb2x2ZSkgeG1sQ2F0YWxvZ0xvY2FsUmVzb2x2ZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbENhdGFsb2dMb2NhbFJlc29sdmVfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbENhdGFsb2dMb2NhbFJlc29sdmUKK2V4dGVybiBfX3R5cGVvZiAoeG1sQ2F0YWxvZ0xvY2FsUmVzb2x2ZSkgeG1sQ2F0YWxvZ0xvY2FsUmVzb2x2ZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbENhdGFsb2dMb2NhbFJlc29sdmUgeG1sQ2F0YWxvZ0xvY2FsUmVzb2x2ZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX0NBVEFMT0dfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fY2F0YWxvZworI3VuZGVmIHhtbENhdGFsb2dMb2NhbFJlc29sdmVVUkkKK2V4dGVybiBfX3R5cGVvZiAoeG1sQ2F0YWxvZ0xvY2FsUmVzb2x2ZVVSSSkgeG1sQ2F0YWxvZ0xvY2FsUmVzb2x2ZVVSSSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbENhdGFsb2dMb2NhbFJlc29sdmVVUklfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbENhdGFsb2dMb2NhbFJlc29sdmVVUkkKK2V4dGVybiBfX3R5cGVvZiAoeG1sQ2F0YWxvZ0xvY2FsUmVzb2x2ZVVSSSkgeG1sQ2F0YWxvZ0xvY2FsUmVzb2x2ZVVSSV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbENhdGFsb2dMb2NhbFJlc29sdmVVUkkgeG1sQ2F0YWxvZ0xvY2FsUmVzb2x2ZVVSSV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX0NBVEFMT0dfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fY2F0YWxvZworI3VuZGVmIHhtbENhdGFsb2dSZW1vdmUKK2V4dGVybiBfX3R5cGVvZiAoeG1sQ2F0YWxvZ1JlbW92ZSkgeG1sQ2F0YWxvZ1JlbW92ZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbENhdGFsb2dSZW1vdmVfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbENhdGFsb2dSZW1vdmUKK2V4dGVybiBfX3R5cGVvZiAoeG1sQ2F0YWxvZ1JlbW92ZSkgeG1sQ2F0YWxvZ1JlbW92ZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbENhdGFsb2dSZW1vdmUgeG1sQ2F0YWxvZ1JlbW92ZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX0NBVEFMT0dfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fY2F0YWxvZworI3VuZGVmIHhtbENhdGFsb2dSZXNvbHZlCitleHRlcm4gX190eXBlb2YgKHhtbENhdGFsb2dSZXNvbHZlKSB4bWxDYXRhbG9nUmVzb2x2ZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbENhdGFsb2dSZXNvbHZlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxDYXRhbG9nUmVzb2x2ZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxDYXRhbG9nUmVzb2x2ZSkgeG1sQ2F0YWxvZ1Jlc29sdmVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxDYXRhbG9nUmVzb2x2ZSB4bWxDYXRhbG9nUmVzb2x2ZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX0NBVEFMT0dfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fY2F0YWxvZworI3VuZGVmIHhtbENhdGFsb2dSZXNvbHZlUHVibGljCitleHRlcm4gX190eXBlb2YgKHhtbENhdGFsb2dSZXNvbHZlUHVibGljKSB4bWxDYXRhbG9nUmVzb2x2ZVB1YmxpYyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbENhdGFsb2dSZXNvbHZlUHVibGljX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxDYXRhbG9nUmVzb2x2ZVB1YmxpYworZXh0ZXJuIF9fdHlwZW9mICh4bWxDYXRhbG9nUmVzb2x2ZVB1YmxpYykgeG1sQ2F0YWxvZ1Jlc29sdmVQdWJsaWNfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxDYXRhbG9nUmVzb2x2ZVB1YmxpYyB4bWxDYXRhbG9nUmVzb2x2ZVB1YmxpY19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX0NBVEFMT0dfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fY2F0YWxvZworI3VuZGVmIHhtbENhdGFsb2dSZXNvbHZlU3lzdGVtCitleHRlcm4gX190eXBlb2YgKHhtbENhdGFsb2dSZXNvbHZlU3lzdGVtKSB4bWxDYXRhbG9nUmVzb2x2ZVN5c3RlbSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbENhdGFsb2dSZXNvbHZlU3lzdGVtX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxDYXRhbG9nUmVzb2x2ZVN5c3RlbQorZXh0ZXJuIF9fdHlwZW9mICh4bWxDYXRhbG9nUmVzb2x2ZVN5c3RlbSkgeG1sQ2F0YWxvZ1Jlc29sdmVTeXN0ZW1fX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxDYXRhbG9nUmVzb2x2ZVN5c3RlbSB4bWxDYXRhbG9nUmVzb2x2ZVN5c3RlbV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX0NBVEFMT0dfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fY2F0YWxvZworI3VuZGVmIHhtbENhdGFsb2dSZXNvbHZlVVJJCitleHRlcm4gX190eXBlb2YgKHhtbENhdGFsb2dSZXNvbHZlVVJJKSB4bWxDYXRhbG9nUmVzb2x2ZVVSSSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbENhdGFsb2dSZXNvbHZlVVJJX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxDYXRhbG9nUmVzb2x2ZVVSSQorZXh0ZXJuIF9fdHlwZW9mICh4bWxDYXRhbG9nUmVzb2x2ZVVSSSkgeG1sQ2F0YWxvZ1Jlc29sdmVVUklfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxDYXRhbG9nUmVzb2x2ZVVSSSB4bWxDYXRhbG9nUmVzb2x2ZVVSSV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX0NBVEFMT0dfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fY2F0YWxvZworI3VuZGVmIHhtbENhdGFsb2dTZXREZWJ1ZworZXh0ZXJuIF9fdHlwZW9mICh4bWxDYXRhbG9nU2V0RGVidWcpIHhtbENhdGFsb2dTZXREZWJ1ZyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbENhdGFsb2dTZXREZWJ1Z19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sQ2F0YWxvZ1NldERlYnVnCitleHRlcm4gX190eXBlb2YgKHhtbENhdGFsb2dTZXREZWJ1ZykgeG1sQ2F0YWxvZ1NldERlYnVnX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sQ2F0YWxvZ1NldERlYnVnIHhtbENhdGFsb2dTZXREZWJ1Z19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX0NBVEFMT0dfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fY2F0YWxvZworI3VuZGVmIHhtbENhdGFsb2dTZXREZWZhdWx0UHJlZmVyCitleHRlcm4gX190eXBlb2YgKHhtbENhdGFsb2dTZXREZWZhdWx0UHJlZmVyKSB4bWxDYXRhbG9nU2V0RGVmYXVsdFByZWZlciBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbENhdGFsb2dTZXREZWZhdWx0UHJlZmVyX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxDYXRhbG9nU2V0RGVmYXVsdFByZWZlcgorZXh0ZXJuIF9fdHlwZW9mICh4bWxDYXRhbG9nU2V0RGVmYXVsdFByZWZlcikgeG1sQ2F0YWxvZ1NldERlZmF1bHRQcmVmZXJfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxDYXRhbG9nU2V0RGVmYXVsdFByZWZlciB4bWxDYXRhbG9nU2V0RGVmYXVsdFByZWZlcl9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX0NBVEFMT0dfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fY2F0YWxvZworI3VuZGVmIHhtbENhdGFsb2dTZXREZWZhdWx0cworZXh0ZXJuIF9fdHlwZW9mICh4bWxDYXRhbG9nU2V0RGVmYXVsdHMpIHhtbENhdGFsb2dTZXREZWZhdWx0cyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbENhdGFsb2dTZXREZWZhdWx0c19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sQ2F0YWxvZ1NldERlZmF1bHRzCitleHRlcm4gX190eXBlb2YgKHhtbENhdGFsb2dTZXREZWZhdWx0cykgeG1sQ2F0YWxvZ1NldERlZmF1bHRzX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sQ2F0YWxvZ1NldERlZmF1bHRzIHhtbENhdGFsb2dTZXREZWZhdWx0c19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9lbmNvZGluZworI3VuZGVmIHhtbENoYXJFbmNDbG9zZUZ1bmMKK2V4dGVybiBfX3R5cGVvZiAoeG1sQ2hhckVuY0Nsb3NlRnVuYykgeG1sQ2hhckVuY0Nsb3NlRnVuYyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbENoYXJFbmNDbG9zZUZ1bmNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbENoYXJFbmNDbG9zZUZ1bmMKK2V4dGVybiBfX3R5cGVvZiAoeG1sQ2hhckVuY0Nsb3NlRnVuYykgeG1sQ2hhckVuY0Nsb3NlRnVuY19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbENoYXJFbmNDbG9zZUZ1bmMgeG1sQ2hhckVuY0Nsb3NlRnVuY19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fZW5jb2RpbmcKKyN1bmRlZiB4bWxDaGFyRW5jRmlyc3RMaW5lCitleHRlcm4gX190eXBlb2YgKHhtbENoYXJFbmNGaXJzdExpbmUpIHhtbENoYXJFbmNGaXJzdExpbmUgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxDaGFyRW5jRmlyc3RMaW5lX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxDaGFyRW5jRmlyc3RMaW5lCitleHRlcm4gX190eXBlb2YgKHhtbENoYXJFbmNGaXJzdExpbmUpIHhtbENoYXJFbmNGaXJzdExpbmVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxDaGFyRW5jRmlyc3RMaW5lIHhtbENoYXJFbmNGaXJzdExpbmVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX2VuY29kaW5nCisjdW5kZWYgeG1sQ2hhckVuY0luRnVuYworZXh0ZXJuIF9fdHlwZW9mICh4bWxDaGFyRW5jSW5GdW5jKSB4bWxDaGFyRW5jSW5GdW5jIF9fYXR0cmlidXRlKChhbGlhcygieG1sQ2hhckVuY0luRnVuY19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sQ2hhckVuY0luRnVuYworZXh0ZXJuIF9fdHlwZW9mICh4bWxDaGFyRW5jSW5GdW5jKSB4bWxDaGFyRW5jSW5GdW5jX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sQ2hhckVuY0luRnVuYyB4bWxDaGFyRW5jSW5GdW5jX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9lbmNvZGluZworI3VuZGVmIHhtbENoYXJFbmNPdXRGdW5jCitleHRlcm4gX190eXBlb2YgKHhtbENoYXJFbmNPdXRGdW5jKSB4bWxDaGFyRW5jT3V0RnVuYyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbENoYXJFbmNPdXRGdW5jX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxDaGFyRW5jT3V0RnVuYworZXh0ZXJuIF9fdHlwZW9mICh4bWxDaGFyRW5jT3V0RnVuYykgeG1sQ2hhckVuY091dEZ1bmNfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxDaGFyRW5jT3V0RnVuYyB4bWxDaGFyRW5jT3V0RnVuY19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fY2h2YWxpZAorI3VuZGVmIHhtbENoYXJJblJhbmdlCitleHRlcm4gX190eXBlb2YgKHhtbENoYXJJblJhbmdlKSB4bWxDaGFySW5SYW5nZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbENoYXJJblJhbmdlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxDaGFySW5SYW5nZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxDaGFySW5SYW5nZSkgeG1sQ2hhckluUmFuZ2VfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxDaGFySW5SYW5nZSB4bWxDaGFySW5SYW5nZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21feG1sc3RyaW5nCisjdW5kZWYgeG1sQ2hhclN0cmR1cAorZXh0ZXJuIF9fdHlwZW9mICh4bWxDaGFyU3RyZHVwKSB4bWxDaGFyU3RyZHVwIF9fYXR0cmlidXRlKChhbGlhcygieG1sQ2hhclN0cmR1cF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sQ2hhclN0cmR1cAorZXh0ZXJuIF9fdHlwZW9mICh4bWxDaGFyU3RyZHVwKSB4bWxDaGFyU3RyZHVwX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sQ2hhclN0cmR1cCB4bWxDaGFyU3RyZHVwX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV94bWxzdHJpbmcKKyN1bmRlZiB4bWxDaGFyU3RybmR1cAorZXh0ZXJuIF9fdHlwZW9mICh4bWxDaGFyU3RybmR1cCkgeG1sQ2hhclN0cm5kdXAgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxDaGFyU3RybmR1cF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sQ2hhclN0cm5kdXAKK2V4dGVybiBfX3R5cGVvZiAoeG1sQ2hhclN0cm5kdXApIHhtbENoYXJTdHJuZHVwX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sQ2hhclN0cm5kdXAgeG1sQ2hhclN0cm5kdXBfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3htbElPCisjdW5kZWYgeG1sQ2hlY2tGaWxlbmFtZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxDaGVja0ZpbGVuYW1lKSB4bWxDaGVja0ZpbGVuYW1lIF9fYXR0cmlidXRlKChhbGlhcygieG1sQ2hlY2tGaWxlbmFtZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sQ2hlY2tGaWxlbmFtZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxDaGVja0ZpbGVuYW1lKSB4bWxDaGVja0ZpbGVuYW1lX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sQ2hlY2tGaWxlbmFtZSB4bWxDaGVja0ZpbGVuYW1lX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV94bWxJTworI3VuZGVmIHhtbENoZWNrSFRUUElucHV0CitleHRlcm4gX190eXBlb2YgKHhtbENoZWNrSFRUUElucHV0KSB4bWxDaGVja0hUVFBJbnB1dCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbENoZWNrSFRUUElucHV0X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxDaGVja0hUVFBJbnB1dAorZXh0ZXJuIF9fdHlwZW9mICh4bWxDaGVja0hUVFBJbnB1dCkgeG1sQ2hlY2tIVFRQSW5wdXRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxDaGVja0hUVFBJbnB1dCB4bWxDaGVja0hUVFBJbnB1dF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fcGFyc2VyCisjdW5kZWYgeG1sQ2hlY2tMYW5ndWFnZUlECitleHRlcm4gX190eXBlb2YgKHhtbENoZWNrTGFuZ3VhZ2VJRCkgeG1sQ2hlY2tMYW5ndWFnZUlEIF9fYXR0cmlidXRlKChhbGlhcygieG1sQ2hlY2tMYW5ndWFnZUlEX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxDaGVja0xhbmd1YWdlSUQKK2V4dGVybiBfX3R5cGVvZiAoeG1sQ2hlY2tMYW5ndWFnZUlEKSB4bWxDaGVja0xhbmd1YWdlSURfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxDaGVja0xhbmd1YWdlSUQgeG1sQ2hlY2tMYW5ndWFnZUlEX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV94bWxzdHJpbmcKKyN1bmRlZiB4bWxDaGVja1VURjgKK2V4dGVybiBfX3R5cGVvZiAoeG1sQ2hlY2tVVEY4KSB4bWxDaGVja1VURjggX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxDaGVja1VURjhfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbENoZWNrVVRGOAorZXh0ZXJuIF9fdHlwZW9mICh4bWxDaGVja1VURjgpIHhtbENoZWNrVVRGOF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbENoZWNrVVRGOCB4bWxDaGVja1VURjhfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3BhcnNlckludGVybmFscworI3VuZGVmIHhtbENoZWNrVmVyc2lvbgorZXh0ZXJuIF9fdHlwZW9mICh4bWxDaGVja1ZlcnNpb24pIHhtbENoZWNrVmVyc2lvbiBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbENoZWNrVmVyc2lvbl9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sQ2hlY2tWZXJzaW9uCitleHRlcm4gX190eXBlb2YgKHhtbENoZWNrVmVyc2lvbikgeG1sQ2hlY2tWZXJzaW9uX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sQ2hlY2tWZXJzaW9uIHhtbENoZWNrVmVyc2lvbl9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3RyZWUKKyN1bmRlZiB4bWxDaGlsZEVsZW1lbnRDb3VudAorZXh0ZXJuIF9fdHlwZW9mICh4bWxDaGlsZEVsZW1lbnRDb3VudCkgeG1sQ2hpbGRFbGVtZW50Q291bnQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxDaGlsZEVsZW1lbnRDb3VudF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sQ2hpbGRFbGVtZW50Q291bnQKK2V4dGVybiBfX3R5cGVvZiAoeG1sQ2hpbGRFbGVtZW50Q291bnQpIHhtbENoaWxkRWxlbWVudENvdW50X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sQ2hpbGRFbGVtZW50Q291bnQgeG1sQ2hpbGRFbGVtZW50Q291bnRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fZW5jb2RpbmcKKyN1bmRlZiB4bWxDbGVhbnVwQ2hhckVuY29kaW5nSGFuZGxlcnMKK2V4dGVybiBfX3R5cGVvZiAoeG1sQ2xlYW51cENoYXJFbmNvZGluZ0hhbmRsZXJzKSB4bWxDbGVhbnVwQ2hhckVuY29kaW5nSGFuZGxlcnMgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxDbGVhbnVwQ2hhckVuY29kaW5nSGFuZGxlcnNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbENsZWFudXBDaGFyRW5jb2RpbmdIYW5kbGVycworZXh0ZXJuIF9fdHlwZW9mICh4bWxDbGVhbnVwQ2hhckVuY29kaW5nSGFuZGxlcnMpIHhtbENsZWFudXBDaGFyRW5jb2RpbmdIYW5kbGVyc19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbENsZWFudXBDaGFyRW5jb2RpbmdIYW5kbGVycyB4bWxDbGVhbnVwQ2hhckVuY29kaW5nSGFuZGxlcnNfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX2VuY29kaW5nCisjdW5kZWYgeG1sQ2xlYW51cEVuY29kaW5nQWxpYXNlcworZXh0ZXJuIF9fdHlwZW9mICh4bWxDbGVhbnVwRW5jb2RpbmdBbGlhc2VzKSB4bWxDbGVhbnVwRW5jb2RpbmdBbGlhc2VzIF9fYXR0cmlidXRlKChhbGlhcygieG1sQ2xlYW51cEVuY29kaW5nQWxpYXNlc19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sQ2xlYW51cEVuY29kaW5nQWxpYXNlcworZXh0ZXJuIF9fdHlwZW9mICh4bWxDbGVhbnVwRW5jb2RpbmdBbGlhc2VzKSB4bWxDbGVhbnVwRW5jb2RpbmdBbGlhc2VzX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sQ2xlYW51cEVuY29kaW5nQWxpYXNlcyB4bWxDbGVhbnVwRW5jb2RpbmdBbGlhc2VzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9nbG9iYWxzCisjdW5kZWYgeG1sQ2xlYW51cEdsb2JhbHMKK2V4dGVybiBfX3R5cGVvZiAoeG1sQ2xlYW51cEdsb2JhbHMpIHhtbENsZWFudXBHbG9iYWxzIF9fYXR0cmlidXRlKChhbGlhcygieG1sQ2xlYW51cEdsb2JhbHNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbENsZWFudXBHbG9iYWxzCitleHRlcm4gX190eXBlb2YgKHhtbENsZWFudXBHbG9iYWxzKSB4bWxDbGVhbnVwR2xvYmFsc19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbENsZWFudXBHbG9iYWxzIHhtbENsZWFudXBHbG9iYWxzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV94bWxJTworI3VuZGVmIHhtbENsZWFudXBJbnB1dENhbGxiYWNrcworZXh0ZXJuIF9fdHlwZW9mICh4bWxDbGVhbnVwSW5wdXRDYWxsYmFja3MpIHhtbENsZWFudXBJbnB1dENhbGxiYWNrcyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbENsZWFudXBJbnB1dENhbGxiYWNrc19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sQ2xlYW51cElucHV0Q2FsbGJhY2tzCitleHRlcm4gX190eXBlb2YgKHhtbENsZWFudXBJbnB1dENhbGxiYWNrcykgeG1sQ2xlYW51cElucHV0Q2FsbGJhY2tzX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sQ2xlYW51cElucHV0Q2FsbGJhY2tzIHhtbENsZWFudXBJbnB1dENhbGxiYWNrc19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21feG1sbWVtb3J5CisjdW5kZWYgeG1sQ2xlYW51cE1lbW9yeQorZXh0ZXJuIF9fdHlwZW9mICh4bWxDbGVhbnVwTWVtb3J5KSB4bWxDbGVhbnVwTWVtb3J5IF9fYXR0cmlidXRlKChhbGlhcygieG1sQ2xlYW51cE1lbW9yeV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sQ2xlYW51cE1lbW9yeQorZXh0ZXJuIF9fdHlwZW9mICh4bWxDbGVhbnVwTWVtb3J5KSB4bWxDbGVhbnVwTWVtb3J5X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sQ2xlYW51cE1lbW9yeSB4bWxDbGVhbnVwTWVtb3J5X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxJTworI3VuZGVmIHhtbENsZWFudXBPdXRwdXRDYWxsYmFja3MKK2V4dGVybiBfX3R5cGVvZiAoeG1sQ2xlYW51cE91dHB1dENhbGxiYWNrcykgeG1sQ2xlYW51cE91dHB1dENhbGxiYWNrcyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbENsZWFudXBPdXRwdXRDYWxsYmFja3NfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbENsZWFudXBPdXRwdXRDYWxsYmFja3MKK2V4dGVybiBfX3R5cGVvZiAoeG1sQ2xlYW51cE91dHB1dENhbGxiYWNrcykgeG1sQ2xlYW51cE91dHB1dENhbGxiYWNrc19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbENsZWFudXBPdXRwdXRDYWxsYmFja3MgeG1sQ2xlYW51cE91dHB1dENhbGxiYWNrc19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9wYXJzZXIKKyN1bmRlZiB4bWxDbGVhbnVwUGFyc2VyCitleHRlcm4gX190eXBlb2YgKHhtbENsZWFudXBQYXJzZXIpIHhtbENsZWFudXBQYXJzZXIgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxDbGVhbnVwUGFyc2VyX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxDbGVhbnVwUGFyc2VyCitleHRlcm4gX190eXBlb2YgKHhtbENsZWFudXBQYXJzZXIpIHhtbENsZWFudXBQYXJzZXJfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxDbGVhbnVwUGFyc2VyIHhtbENsZWFudXBQYXJzZXJfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfTEVHQUNZX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX2xlZ2FjeQorI3VuZGVmIHhtbENsZWFudXBQcmVkZWZpbmVkRW50aXRpZXMKK2V4dGVybiBfX3R5cGVvZiAoeG1sQ2xlYW51cFByZWRlZmluZWRFbnRpdGllcykgeG1sQ2xlYW51cFByZWRlZmluZWRFbnRpdGllcyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbENsZWFudXBQcmVkZWZpbmVkRW50aXRpZXNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbENsZWFudXBQcmVkZWZpbmVkRW50aXRpZXMKK2V4dGVybiBfX3R5cGVvZiAoeG1sQ2xlYW51cFByZWRlZmluZWRFbnRpdGllcykgeG1sQ2xlYW51cFByZWRlZmluZWRFbnRpdGllc19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbENsZWFudXBQcmVkZWZpbmVkRW50aXRpZXMgeG1sQ2xlYW51cFByZWRlZmluZWRFbnRpdGllc19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV90aHJlYWRzCisjdW5kZWYgeG1sQ2xlYW51cFRocmVhZHMKK2V4dGVybiBfX3R5cGVvZiAoeG1sQ2xlYW51cFRocmVhZHMpIHhtbENsZWFudXBUaHJlYWRzIF9fYXR0cmlidXRlKChhbGlhcygieG1sQ2xlYW51cFRocmVhZHNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbENsZWFudXBUaHJlYWRzCitleHRlcm4gX190eXBlb2YgKHhtbENsZWFudXBUaHJlYWRzKSB4bWxDbGVhbnVwVGhyZWFkc19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbENsZWFudXBUaHJlYWRzIHhtbENsZWFudXBUaHJlYWRzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9wYXJzZXJJbnRlcm5hbHMKKyN1bmRlZiB4bWxDbGVhck5vZGVJbmZvU2VxCitleHRlcm4gX190eXBlb2YgKHhtbENsZWFyTm9kZUluZm9TZXEpIHhtbENsZWFyTm9kZUluZm9TZXEgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxDbGVhck5vZGVJbmZvU2VxX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxDbGVhck5vZGVJbmZvU2VxCitleHRlcm4gX190eXBlb2YgKHhtbENsZWFyTm9kZUluZm9TZXEpIHhtbENsZWFyTm9kZUluZm9TZXFfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxDbGVhck5vZGVJbmZvU2VxIHhtbENsZWFyTm9kZUluZm9TZXFfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3BhcnNlckludGVybmFscworI3VuZGVmIHhtbENsZWFyUGFyc2VyQ3R4dAorZXh0ZXJuIF9fdHlwZW9mICh4bWxDbGVhclBhcnNlckN0eHQpIHhtbENsZWFyUGFyc2VyQ3R4dCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbENsZWFyUGFyc2VyQ3R4dF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sQ2xlYXJQYXJzZXJDdHh0CitleHRlcm4gX190eXBlb2YgKHhtbENsZWFyUGFyc2VyQ3R4dCkgeG1sQ2xlYXJQYXJzZXJDdHh0X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sQ2xlYXJQYXJzZXJDdHh0IHhtbENsZWFyUGFyc2VyQ3R4dF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9DQVRBTE9HX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX2NhdGFsb2cKKyN1bmRlZiB4bWxDb252ZXJ0U0dNTENhdGFsb2cKK2V4dGVybiBfX3R5cGVvZiAoeG1sQ29udmVydFNHTUxDYXRhbG9nKSB4bWxDb252ZXJ0U0dNTENhdGFsb2cgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxDb252ZXJ0U0dNTENhdGFsb2dfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbENvbnZlcnRTR01MQ2F0YWxvZworZXh0ZXJuIF9fdHlwZW9mICh4bWxDb252ZXJ0U0dNTENhdGFsb2cpIHhtbENvbnZlcnRTR01MQ2F0YWxvZ19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbENvbnZlcnRTR01MQ2F0YWxvZyB4bWxDb252ZXJ0U0dNTENhdGFsb2dfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3ZhbGlkCisjdW5kZWYgeG1sQ29weUF0dHJpYnV0ZVRhYmxlCitleHRlcm4gX190eXBlb2YgKHhtbENvcHlBdHRyaWJ1dGVUYWJsZSkgeG1sQ29weUF0dHJpYnV0ZVRhYmxlIF9fYXR0cmlidXRlKChhbGlhcygieG1sQ29weUF0dHJpYnV0ZVRhYmxlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxDb3B5QXR0cmlidXRlVGFibGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sQ29weUF0dHJpYnV0ZVRhYmxlKSB4bWxDb3B5QXR0cmlidXRlVGFibGVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxDb3B5QXR0cmlidXRlVGFibGUgeG1sQ29weUF0dHJpYnV0ZVRhYmxlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3BhcnNlckludGVybmFscworI3VuZGVmIHhtbENvcHlDaGFyCitleHRlcm4gX190eXBlb2YgKHhtbENvcHlDaGFyKSB4bWxDb3B5Q2hhciBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbENvcHlDaGFyX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxDb3B5Q2hhcgorZXh0ZXJuIF9fdHlwZW9mICh4bWxDb3B5Q2hhcikgeG1sQ29weUNoYXJfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxDb3B5Q2hhciB4bWxDb3B5Q2hhcl9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fcGFyc2VySW50ZXJuYWxzCisjdW5kZWYgeG1sQ29weUNoYXJNdWx0aUJ5dGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sQ29weUNoYXJNdWx0aUJ5dGUpIHhtbENvcHlDaGFyTXVsdGlCeXRlIF9fYXR0cmlidXRlKChhbGlhcygieG1sQ29weUNoYXJNdWx0aUJ5dGVfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbENvcHlDaGFyTXVsdGlCeXRlCitleHRlcm4gX190eXBlb2YgKHhtbENvcHlDaGFyTXVsdGlCeXRlKSB4bWxDb3B5Q2hhck11bHRpQnl0ZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbENvcHlDaGFyTXVsdGlCeXRlIHhtbENvcHlDaGFyTXVsdGlCeXRlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV90cmVlCisjdW5kZWYgeG1sQ29weURvYworZXh0ZXJuIF9fdHlwZW9mICh4bWxDb3B5RG9jKSB4bWxDb3B5RG9jIF9fYXR0cmlidXRlKChhbGlhcygieG1sQ29weURvY19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sQ29weURvYworZXh0ZXJuIF9fdHlwZW9mICh4bWxDb3B5RG9jKSB4bWxDb3B5RG9jX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sQ29weURvYyB4bWxDb3B5RG9jX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3ZhbGlkCisjdW5kZWYgeG1sQ29weURvY0VsZW1lbnRDb250ZW50CitleHRlcm4gX190eXBlb2YgKHhtbENvcHlEb2NFbGVtZW50Q29udGVudCkgeG1sQ29weURvY0VsZW1lbnRDb250ZW50IF9fYXR0cmlidXRlKChhbGlhcygieG1sQ29weURvY0VsZW1lbnRDb250ZW50X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxDb3B5RG9jRWxlbWVudENvbnRlbnQKK2V4dGVybiBfX3R5cGVvZiAoeG1sQ29weURvY0VsZW1lbnRDb250ZW50KSB4bWxDb3B5RG9jRWxlbWVudENvbnRlbnRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxDb3B5RG9jRWxlbWVudENvbnRlbnQgeG1sQ29weURvY0VsZW1lbnRDb250ZW50X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fdHJlZQorI3VuZGVmIHhtbENvcHlEdGQKK2V4dGVybiBfX3R5cGVvZiAoeG1sQ29weUR0ZCkgeG1sQ29weUR0ZCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbENvcHlEdGRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbENvcHlEdGQKK2V4dGVybiBfX3R5cGVvZiAoeG1sQ29weUR0ZCkgeG1sQ29weUR0ZF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbENvcHlEdGQgeG1sQ29weUR0ZF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV92YWxpZAorI3VuZGVmIHhtbENvcHlFbGVtZW50Q29udGVudAorZXh0ZXJuIF9fdHlwZW9mICh4bWxDb3B5RWxlbWVudENvbnRlbnQpIHhtbENvcHlFbGVtZW50Q29udGVudCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbENvcHlFbGVtZW50Q29udGVudF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sQ29weUVsZW1lbnRDb250ZW50CitleHRlcm4gX190eXBlb2YgKHhtbENvcHlFbGVtZW50Q29udGVudCkgeG1sQ29weUVsZW1lbnRDb250ZW50X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sQ29weUVsZW1lbnRDb250ZW50IHhtbENvcHlFbGVtZW50Q29udGVudF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3ZhbGlkCisjdW5kZWYgeG1sQ29weUVsZW1lbnRUYWJsZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxDb3B5RWxlbWVudFRhYmxlKSB4bWxDb3B5RWxlbWVudFRhYmxlIF9fYXR0cmlidXRlKChhbGlhcygieG1sQ29weUVsZW1lbnRUYWJsZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sQ29weUVsZW1lbnRUYWJsZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxDb3B5RWxlbWVudFRhYmxlKSB4bWxDb3B5RWxlbWVudFRhYmxlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sQ29weUVsZW1lbnRUYWJsZSB4bWxDb3B5RWxlbWVudFRhYmxlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVFJFRV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9lbnRpdGllcworI3VuZGVmIHhtbENvcHlFbnRpdGllc1RhYmxlCitleHRlcm4gX190eXBlb2YgKHhtbENvcHlFbnRpdGllc1RhYmxlKSB4bWxDb3B5RW50aXRpZXNUYWJsZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbENvcHlFbnRpdGllc1RhYmxlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxDb3B5RW50aXRpZXNUYWJsZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxDb3B5RW50aXRpZXNUYWJsZSkgeG1sQ29weUVudGl0aWVzVGFibGVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxDb3B5RW50aXRpZXNUYWJsZSB4bWxDb3B5RW50aXRpZXNUYWJsZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fdmFsaWQKKyN1bmRlZiB4bWxDb3B5RW51bWVyYXRpb24KK2V4dGVybiBfX3R5cGVvZiAoeG1sQ29weUVudW1lcmF0aW9uKSB4bWxDb3B5RW51bWVyYXRpb24gX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxDb3B5RW51bWVyYXRpb25fX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbENvcHlFbnVtZXJhdGlvbgorZXh0ZXJuIF9fdHlwZW9mICh4bWxDb3B5RW51bWVyYXRpb24pIHhtbENvcHlFbnVtZXJhdGlvbl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbENvcHlFbnVtZXJhdGlvbiB4bWxDb3B5RW51bWVyYXRpb25fX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fZXJyb3IKKyN1bmRlZiB4bWxDb3B5RXJyb3IKK2V4dGVybiBfX3R5cGVvZiAoeG1sQ29weUVycm9yKSB4bWxDb3B5RXJyb3IgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxDb3B5RXJyb3JfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbENvcHlFcnJvcgorZXh0ZXJuIF9fdHlwZW9mICh4bWxDb3B5RXJyb3IpIHhtbENvcHlFcnJvcl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbENvcHlFcnJvciB4bWxDb3B5RXJyb3JfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3RyZWUKKyN1bmRlZiB4bWxDb3B5TmFtZXNwYWNlCitleHRlcm4gX190eXBlb2YgKHhtbENvcHlOYW1lc3BhY2UpIHhtbENvcHlOYW1lc3BhY2UgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxDb3B5TmFtZXNwYWNlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxDb3B5TmFtZXNwYWNlCitleHRlcm4gX190eXBlb2YgKHhtbENvcHlOYW1lc3BhY2UpIHhtbENvcHlOYW1lc3BhY2VfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxDb3B5TmFtZXNwYWNlIHhtbENvcHlOYW1lc3BhY2VfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3RyZWUKKyN1bmRlZiB4bWxDb3B5TmFtZXNwYWNlTGlzdAorZXh0ZXJuIF9fdHlwZW9mICh4bWxDb3B5TmFtZXNwYWNlTGlzdCkgeG1sQ29weU5hbWVzcGFjZUxpc3QgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxDb3B5TmFtZXNwYWNlTGlzdF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sQ29weU5hbWVzcGFjZUxpc3QKK2V4dGVybiBfX3R5cGVvZiAoeG1sQ29weU5hbWVzcGFjZUxpc3QpIHhtbENvcHlOYW1lc3BhY2VMaXN0X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sQ29weU5hbWVzcGFjZUxpc3QgeG1sQ29weU5hbWVzcGFjZUxpc3RfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3RyZWUKKyN1bmRlZiB4bWxDb3B5Tm9kZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxDb3B5Tm9kZSkgeG1sQ29weU5vZGUgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxDb3B5Tm9kZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sQ29weU5vZGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sQ29weU5vZGUpIHhtbENvcHlOb2RlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sQ29weU5vZGUgeG1sQ29weU5vZGVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3RyZWUKKyN1bmRlZiB4bWxDb3B5Tm9kZUxpc3QKK2V4dGVybiBfX3R5cGVvZiAoeG1sQ29weU5vZGVMaXN0KSB4bWxDb3B5Tm9kZUxpc3QgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxDb3B5Tm9kZUxpc3RfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbENvcHlOb2RlTGlzdAorZXh0ZXJuIF9fdHlwZW9mICh4bWxDb3B5Tm9kZUxpc3QpIHhtbENvcHlOb2RlTGlzdF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbENvcHlOb2RlTGlzdCB4bWxDb3B5Tm9kZUxpc3RfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVFJFRV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV92YWxpZAorI3VuZGVmIHhtbENvcHlOb3RhdGlvblRhYmxlCitleHRlcm4gX190eXBlb2YgKHhtbENvcHlOb3RhdGlvblRhYmxlKSB4bWxDb3B5Tm90YXRpb25UYWJsZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbENvcHlOb3RhdGlvblRhYmxlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxDb3B5Tm90YXRpb25UYWJsZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxDb3B5Tm90YXRpb25UYWJsZSkgeG1sQ29weU5vdGF0aW9uVGFibGVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxDb3B5Tm90YXRpb25UYWJsZSB4bWxDb3B5Tm90YXRpb25UYWJsZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV90cmVlCisjdW5kZWYgeG1sQ29weVByb3AKK2V4dGVybiBfX3R5cGVvZiAoeG1sQ29weVByb3ApIHhtbENvcHlQcm9wIF9fYXR0cmlidXRlKChhbGlhcygieG1sQ29weVByb3BfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbENvcHlQcm9wCitleHRlcm4gX190eXBlb2YgKHhtbENvcHlQcm9wKSB4bWxDb3B5UHJvcF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbENvcHlQcm9wIHhtbENvcHlQcm9wX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV90cmVlCisjdW5kZWYgeG1sQ29weVByb3BMaXN0CitleHRlcm4gX190eXBlb2YgKHhtbENvcHlQcm9wTGlzdCkgeG1sQ29weVByb3BMaXN0IF9fYXR0cmlidXRlKChhbGlhcygieG1sQ29weVByb3BMaXN0X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxDb3B5UHJvcExpc3QKK2V4dGVybiBfX3R5cGVvZiAoeG1sQ29weVByb3BMaXN0KSB4bWxDb3B5UHJvcExpc3RfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxDb3B5UHJvcExpc3QgeG1sQ29weVByb3BMaXN0X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9wYXJzZXIKKyN1bmRlZiB4bWxDcmVhdGVEb2NQYXJzZXJDdHh0CitleHRlcm4gX190eXBlb2YgKHhtbENyZWF0ZURvY1BhcnNlckN0eHQpIHhtbENyZWF0ZURvY1BhcnNlckN0eHQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxDcmVhdGVEb2NQYXJzZXJDdHh0X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxDcmVhdGVEb2NQYXJzZXJDdHh0CitleHRlcm4gX190eXBlb2YgKHhtbENyZWF0ZURvY1BhcnNlckN0eHQpIHhtbENyZWF0ZURvY1BhcnNlckN0eHRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxDcmVhdGVEb2NQYXJzZXJDdHh0IHhtbENyZWF0ZURvY1BhcnNlckN0eHRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX2VudGl0aWVzCisjdW5kZWYgeG1sQ3JlYXRlRW50aXRpZXNUYWJsZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxDcmVhdGVFbnRpdGllc1RhYmxlKSB4bWxDcmVhdGVFbnRpdGllc1RhYmxlIF9fYXR0cmlidXRlKChhbGlhcygieG1sQ3JlYXRlRW50aXRpZXNUYWJsZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sQ3JlYXRlRW50aXRpZXNUYWJsZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxDcmVhdGVFbnRpdGllc1RhYmxlKSB4bWxDcmVhdGVFbnRpdGllc1RhYmxlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sQ3JlYXRlRW50aXRpZXNUYWJsZSB4bWxDcmVhdGVFbnRpdGllc1RhYmxlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9wYXJzZXIKKyN1bmRlZiB4bWxDcmVhdGVFbnRpdHlQYXJzZXJDdHh0CitleHRlcm4gX190eXBlb2YgKHhtbENyZWF0ZUVudGl0eVBhcnNlckN0eHQpIHhtbENyZWF0ZUVudGl0eVBhcnNlckN0eHQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxDcmVhdGVFbnRpdHlQYXJzZXJDdHh0X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxDcmVhdGVFbnRpdHlQYXJzZXJDdHh0CitleHRlcm4gX190eXBlb2YgKHhtbENyZWF0ZUVudGl0eVBhcnNlckN0eHQpIHhtbENyZWF0ZUVudGl0eVBhcnNlckN0eHRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxDcmVhdGVFbnRpdHlQYXJzZXJDdHh0IHhtbENyZWF0ZUVudGl0eVBhcnNlckN0eHRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3ZhbGlkCisjdW5kZWYgeG1sQ3JlYXRlRW51bWVyYXRpb24KK2V4dGVybiBfX3R5cGVvZiAoeG1sQ3JlYXRlRW51bWVyYXRpb24pIHhtbENyZWF0ZUVudW1lcmF0aW9uIF9fYXR0cmlidXRlKChhbGlhcygieG1sQ3JlYXRlRW51bWVyYXRpb25fX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbENyZWF0ZUVudW1lcmF0aW9uCitleHRlcm4gX190eXBlb2YgKHhtbENyZWF0ZUVudW1lcmF0aW9uKSB4bWxDcmVhdGVFbnVtZXJhdGlvbl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbENyZWF0ZUVudW1lcmF0aW9uIHhtbENyZWF0ZUVudW1lcmF0aW9uX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9wYXJzZXIKKyN1bmRlZiB4bWxDcmVhdGVGaWxlUGFyc2VyQ3R4dAorZXh0ZXJuIF9fdHlwZW9mICh4bWxDcmVhdGVGaWxlUGFyc2VyQ3R4dCkgeG1sQ3JlYXRlRmlsZVBhcnNlckN0eHQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxDcmVhdGVGaWxlUGFyc2VyQ3R4dF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sQ3JlYXRlRmlsZVBhcnNlckN0eHQKK2V4dGVybiBfX3R5cGVvZiAoeG1sQ3JlYXRlRmlsZVBhcnNlckN0eHQpIHhtbENyZWF0ZUZpbGVQYXJzZXJDdHh0X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sQ3JlYXRlRmlsZVBhcnNlckN0eHQgeG1sQ3JlYXRlRmlsZVBhcnNlckN0eHRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3BhcnNlcgorI3VuZGVmIHhtbENyZWF0ZUlPUGFyc2VyQ3R4dAorZXh0ZXJuIF9fdHlwZW9mICh4bWxDcmVhdGVJT1BhcnNlckN0eHQpIHhtbENyZWF0ZUlPUGFyc2VyQ3R4dCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbENyZWF0ZUlPUGFyc2VyQ3R4dF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sQ3JlYXRlSU9QYXJzZXJDdHh0CitleHRlcm4gX190eXBlb2YgKHhtbENyZWF0ZUlPUGFyc2VyQ3R4dCkgeG1sQ3JlYXRlSU9QYXJzZXJDdHh0X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sQ3JlYXRlSU9QYXJzZXJDdHh0IHhtbENyZWF0ZUlPUGFyc2VyQ3R4dF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fdHJlZQorI3VuZGVmIHhtbENyZWF0ZUludFN1YnNldAorZXh0ZXJuIF9fdHlwZW9mICh4bWxDcmVhdGVJbnRTdWJzZXQpIHhtbENyZWF0ZUludFN1YnNldCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbENyZWF0ZUludFN1YnNldF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sQ3JlYXRlSW50U3Vic2V0CitleHRlcm4gX190eXBlb2YgKHhtbENyZWF0ZUludFN1YnNldCkgeG1sQ3JlYXRlSW50U3Vic2V0X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sQ3JlYXRlSW50U3Vic2V0IHhtbENyZWF0ZUludFN1YnNldF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fcGFyc2VyCisjdW5kZWYgeG1sQ3JlYXRlTWVtb3J5UGFyc2VyQ3R4dAorZXh0ZXJuIF9fdHlwZW9mICh4bWxDcmVhdGVNZW1vcnlQYXJzZXJDdHh0KSB4bWxDcmVhdGVNZW1vcnlQYXJzZXJDdHh0IF9fYXR0cmlidXRlKChhbGlhcygieG1sQ3JlYXRlTWVtb3J5UGFyc2VyQ3R4dF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sQ3JlYXRlTWVtb3J5UGFyc2VyQ3R4dAorZXh0ZXJuIF9fdHlwZW9mICh4bWxDcmVhdGVNZW1vcnlQYXJzZXJDdHh0KSB4bWxDcmVhdGVNZW1vcnlQYXJzZXJDdHh0X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sQ3JlYXRlTWVtb3J5UGFyc2VyQ3R4dCB4bWxDcmVhdGVNZW1vcnlQYXJzZXJDdHh0X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1BVU0hfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fcGFyc2VyCisjdW5kZWYgeG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQKK2V4dGVybiBfX3R5cGVvZiAoeG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQpIHhtbENyZWF0ZVB1c2hQYXJzZXJDdHh0IF9fYXR0cmlidXRlKChhbGlhcygieG1sQ3JlYXRlUHVzaFBhcnNlckN0eHRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbENyZWF0ZVB1c2hQYXJzZXJDdHh0CitleHRlcm4gX190eXBlb2YgKHhtbENyZWF0ZVB1c2hQYXJzZXJDdHh0KSB4bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbENyZWF0ZVB1c2hQYXJzZXJDdHh0IHhtbENyZWF0ZVB1c2hQYXJzZXJDdHh0X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3VyaQorI3VuZGVmIHhtbENyZWF0ZVVSSQorZXh0ZXJuIF9fdHlwZW9mICh4bWxDcmVhdGVVUkkpIHhtbENyZWF0ZVVSSSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbENyZWF0ZVVSSV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sQ3JlYXRlVVJJCitleHRlcm4gX190eXBlb2YgKHhtbENyZWF0ZVVSSSkgeG1sQ3JlYXRlVVJJX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sQ3JlYXRlVVJJIHhtbENyZWF0ZVVSSV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fcGFyc2VyCisjdW5kZWYgeG1sQ3JlYXRlVVJMUGFyc2VyQ3R4dAorZXh0ZXJuIF9fdHlwZW9mICh4bWxDcmVhdGVVUkxQYXJzZXJDdHh0KSB4bWxDcmVhdGVVUkxQYXJzZXJDdHh0IF9fYXR0cmlidXRlKChhbGlhcygieG1sQ3JlYXRlVVJMUGFyc2VyQ3R4dF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sQ3JlYXRlVVJMUGFyc2VyQ3R4dAorZXh0ZXJuIF9fdHlwZW9mICh4bWxDcmVhdGVVUkxQYXJzZXJDdHh0KSB4bWxDcmVhdGVVUkxQYXJzZXJDdHh0X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sQ3JlYXRlVVJMUGFyc2VyQ3R4dCB4bWxDcmVhdGVVUkxQYXJzZXJDdHh0X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9lcnJvcgorI3VuZGVmIHhtbEN0eHRHZXRMYXN0RXJyb3IKK2V4dGVybiBfX3R5cGVvZiAoeG1sQ3R4dEdldExhc3RFcnJvcikgeG1sQ3R4dEdldExhc3RFcnJvciBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbEN0eHRHZXRMYXN0RXJyb3JfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEN0eHRHZXRMYXN0RXJyb3IKK2V4dGVybiBfX3R5cGVvZiAoeG1sQ3R4dEdldExhc3RFcnJvcikgeG1sQ3R4dEdldExhc3RFcnJvcl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEN0eHRHZXRMYXN0RXJyb3IgeG1sQ3R4dEdldExhc3RFcnJvcl9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fcGFyc2VyCisjdW5kZWYgeG1sQ3R4dFJlYWREb2MKK2V4dGVybiBfX3R5cGVvZiAoeG1sQ3R4dFJlYWREb2MpIHhtbEN0eHRSZWFkRG9jIF9fYXR0cmlidXRlKChhbGlhcygieG1sQ3R4dFJlYWREb2NfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEN0eHRSZWFkRG9jCitleHRlcm4gX190eXBlb2YgKHhtbEN0eHRSZWFkRG9jKSB4bWxDdHh0UmVhZERvY19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEN0eHRSZWFkRG9jIHhtbEN0eHRSZWFkRG9jX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9wYXJzZXIKKyN1bmRlZiB4bWxDdHh0UmVhZEZkCitleHRlcm4gX190eXBlb2YgKHhtbEN0eHRSZWFkRmQpIHhtbEN0eHRSZWFkRmQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxDdHh0UmVhZEZkX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxDdHh0UmVhZEZkCitleHRlcm4gX190eXBlb2YgKHhtbEN0eHRSZWFkRmQpIHhtbEN0eHRSZWFkRmRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxDdHh0UmVhZEZkIHhtbEN0eHRSZWFkRmRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3BhcnNlcgorI3VuZGVmIHhtbEN0eHRSZWFkRmlsZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxDdHh0UmVhZEZpbGUpIHhtbEN0eHRSZWFkRmlsZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbEN0eHRSZWFkRmlsZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sQ3R4dFJlYWRGaWxlCitleHRlcm4gX190eXBlb2YgKHhtbEN0eHRSZWFkRmlsZSkgeG1sQ3R4dFJlYWRGaWxlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sQ3R4dFJlYWRGaWxlIHhtbEN0eHRSZWFkRmlsZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fcGFyc2VyCisjdW5kZWYgeG1sQ3R4dFJlYWRJTworZXh0ZXJuIF9fdHlwZW9mICh4bWxDdHh0UmVhZElPKSB4bWxDdHh0UmVhZElPIF9fYXR0cmlidXRlKChhbGlhcygieG1sQ3R4dFJlYWRJT19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sQ3R4dFJlYWRJTworZXh0ZXJuIF9fdHlwZW9mICh4bWxDdHh0UmVhZElPKSB4bWxDdHh0UmVhZElPX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sQ3R4dFJlYWRJTyB4bWxDdHh0UmVhZElPX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9wYXJzZXIKKyN1bmRlZiB4bWxDdHh0UmVhZE1lbW9yeQorZXh0ZXJuIF9fdHlwZW9mICh4bWxDdHh0UmVhZE1lbW9yeSkgeG1sQ3R4dFJlYWRNZW1vcnkgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxDdHh0UmVhZE1lbW9yeV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sQ3R4dFJlYWRNZW1vcnkKK2V4dGVybiBfX3R5cGVvZiAoeG1sQ3R4dFJlYWRNZW1vcnkpIHhtbEN0eHRSZWFkTWVtb3J5X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sQ3R4dFJlYWRNZW1vcnkgeG1sQ3R4dFJlYWRNZW1vcnlfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3BhcnNlcgorI3VuZGVmIHhtbEN0eHRSZXNldAorZXh0ZXJuIF9fdHlwZW9mICh4bWxDdHh0UmVzZXQpIHhtbEN0eHRSZXNldCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbEN0eHRSZXNldF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sQ3R4dFJlc2V0CitleHRlcm4gX190eXBlb2YgKHhtbEN0eHRSZXNldCkgeG1sQ3R4dFJlc2V0X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sQ3R4dFJlc2V0IHhtbEN0eHRSZXNldF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fZXJyb3IKKyN1bmRlZiB4bWxDdHh0UmVzZXRMYXN0RXJyb3IKK2V4dGVybiBfX3R5cGVvZiAoeG1sQ3R4dFJlc2V0TGFzdEVycm9yKSB4bWxDdHh0UmVzZXRMYXN0RXJyb3IgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxDdHh0UmVzZXRMYXN0RXJyb3JfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEN0eHRSZXNldExhc3RFcnJvcgorZXh0ZXJuIF9fdHlwZW9mICh4bWxDdHh0UmVzZXRMYXN0RXJyb3IpIHhtbEN0eHRSZXNldExhc3RFcnJvcl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEN0eHRSZXNldExhc3RFcnJvciB4bWxDdHh0UmVzZXRMYXN0RXJyb3JfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3BhcnNlcgorI3VuZGVmIHhtbEN0eHRSZXNldFB1c2gKK2V4dGVybiBfX3R5cGVvZiAoeG1sQ3R4dFJlc2V0UHVzaCkgeG1sQ3R4dFJlc2V0UHVzaCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbEN0eHRSZXNldFB1c2hfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEN0eHRSZXNldFB1c2gKK2V4dGVybiBfX3R5cGVvZiAoeG1sQ3R4dFJlc2V0UHVzaCkgeG1sQ3R4dFJlc2V0UHVzaF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEN0eHRSZXNldFB1c2ggeG1sQ3R4dFJlc2V0UHVzaF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fcGFyc2VyCisjdW5kZWYgeG1sQ3R4dFVzZU9wdGlvbnMKK2V4dGVybiBfX3R5cGVvZiAoeG1sQ3R4dFVzZU9wdGlvbnMpIHhtbEN0eHRVc2VPcHRpb25zIF9fYXR0cmlidXRlKChhbGlhcygieG1sQ3R4dFVzZU9wdGlvbnNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEN0eHRVc2VPcHRpb25zCitleHRlcm4gX190eXBlb2YgKHhtbEN0eHRVc2VPcHRpb25zKSB4bWxDdHh0VXNlT3B0aW9uc19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEN0eHRVc2VPcHRpb25zIHhtbEN0eHRVc2VPcHRpb25zX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9wYXJzZXJJbnRlcm5hbHMKKyN1bmRlZiB4bWxDdXJyZW50Q2hhcgorZXh0ZXJuIF9fdHlwZW9mICh4bWxDdXJyZW50Q2hhcikgeG1sQ3VycmVudENoYXIgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxDdXJyZW50Q2hhcl9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sQ3VycmVudENoYXIKK2V4dGVybiBfX3R5cGVvZiAoeG1sQ3VycmVudENoYXIpIHhtbEN1cnJlbnRDaGFyX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sQ3VycmVudENoYXIgeG1sQ3VycmVudENoYXJfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3RyZWUKKyN1bmRlZiB4bWxET01XcmFwQWRvcHROb2RlCitleHRlcm4gX190eXBlb2YgKHhtbERPTVdyYXBBZG9wdE5vZGUpIHhtbERPTVdyYXBBZG9wdE5vZGUgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxET01XcmFwQWRvcHROb2RlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxET01XcmFwQWRvcHROb2RlCitleHRlcm4gX190eXBlb2YgKHhtbERPTVdyYXBBZG9wdE5vZGUpIHhtbERPTVdyYXBBZG9wdE5vZGVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxET01XcmFwQWRvcHROb2RlIHhtbERPTVdyYXBBZG9wdE5vZGVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3RyZWUKKyN1bmRlZiB4bWxET01XcmFwQ2xvbmVOb2RlCitleHRlcm4gX190eXBlb2YgKHhtbERPTVdyYXBDbG9uZU5vZGUpIHhtbERPTVdyYXBDbG9uZU5vZGUgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxET01XcmFwQ2xvbmVOb2RlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxET01XcmFwQ2xvbmVOb2RlCitleHRlcm4gX190eXBlb2YgKHhtbERPTVdyYXBDbG9uZU5vZGUpIHhtbERPTVdyYXBDbG9uZU5vZGVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxET01XcmFwQ2xvbmVOb2RlIHhtbERPTVdyYXBDbG9uZU5vZGVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3RyZWUKKyN1bmRlZiB4bWxET01XcmFwRnJlZUN0eHQKK2V4dGVybiBfX3R5cGVvZiAoeG1sRE9NV3JhcEZyZWVDdHh0KSB4bWxET01XcmFwRnJlZUN0eHQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxET01XcmFwRnJlZUN0eHRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbERPTVdyYXBGcmVlQ3R4dAorZXh0ZXJuIF9fdHlwZW9mICh4bWxET01XcmFwRnJlZUN0eHQpIHhtbERPTVdyYXBGcmVlQ3R4dF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbERPTVdyYXBGcmVlQ3R4dCB4bWxET01XcmFwRnJlZUN0eHRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3RyZWUKKyN1bmRlZiB4bWxET01XcmFwTmV3Q3R4dAorZXh0ZXJuIF9fdHlwZW9mICh4bWxET01XcmFwTmV3Q3R4dCkgeG1sRE9NV3JhcE5ld0N0eHQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxET01XcmFwTmV3Q3R4dF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sRE9NV3JhcE5ld0N0eHQKK2V4dGVybiBfX3R5cGVvZiAoeG1sRE9NV3JhcE5ld0N0eHQpIHhtbERPTVdyYXBOZXdDdHh0X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sRE9NV3JhcE5ld0N0eHQgeG1sRE9NV3JhcE5ld0N0eHRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3RyZWUKKyN1bmRlZiB4bWxET01XcmFwUmVjb25jaWxlTmFtZXNwYWNlcworZXh0ZXJuIF9fdHlwZW9mICh4bWxET01XcmFwUmVjb25jaWxlTmFtZXNwYWNlcykgeG1sRE9NV3JhcFJlY29uY2lsZU5hbWVzcGFjZXMgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxET01XcmFwUmVjb25jaWxlTmFtZXNwYWNlc19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sRE9NV3JhcFJlY29uY2lsZU5hbWVzcGFjZXMKK2V4dGVybiBfX3R5cGVvZiAoeG1sRE9NV3JhcFJlY29uY2lsZU5hbWVzcGFjZXMpIHhtbERPTVdyYXBSZWNvbmNpbGVOYW1lc3BhY2VzX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sRE9NV3JhcFJlY29uY2lsZU5hbWVzcGFjZXMgeG1sRE9NV3JhcFJlY29uY2lsZU5hbWVzcGFjZXNfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3RyZWUKKyN1bmRlZiB4bWxET01XcmFwUmVtb3ZlTm9kZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxET01XcmFwUmVtb3ZlTm9kZSkgeG1sRE9NV3JhcFJlbW92ZU5vZGUgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxET01XcmFwUmVtb3ZlTm9kZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sRE9NV3JhcFJlbW92ZU5vZGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sRE9NV3JhcFJlbW92ZU5vZGUpIHhtbERPTVdyYXBSZW1vdmVOb2RlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sRE9NV3JhcFJlbW92ZU5vZGUgeG1sRE9NV3JhcFJlbW92ZU5vZGVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfREVCVUdfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fZGVidWdYTUwKKyN1bmRlZiB4bWxEZWJ1Z0NoZWNrRG9jdW1lbnQKK2V4dGVybiBfX3R5cGVvZiAoeG1sRGVidWdDaGVja0RvY3VtZW50KSB4bWxEZWJ1Z0NoZWNrRG9jdW1lbnQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxEZWJ1Z0NoZWNrRG9jdW1lbnRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbERlYnVnQ2hlY2tEb2N1bWVudAorZXh0ZXJuIF9fdHlwZW9mICh4bWxEZWJ1Z0NoZWNrRG9jdW1lbnQpIHhtbERlYnVnQ2hlY2tEb2N1bWVudF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbERlYnVnQ2hlY2tEb2N1bWVudCB4bWxEZWJ1Z0NoZWNrRG9jdW1lbnRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9ERUJVR19FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9kZWJ1Z1hNTAorI3VuZGVmIHhtbERlYnVnRHVtcEF0dHIKK2V4dGVybiBfX3R5cGVvZiAoeG1sRGVidWdEdW1wQXR0cikgeG1sRGVidWdEdW1wQXR0ciBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbERlYnVnRHVtcEF0dHJfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbERlYnVnRHVtcEF0dHIKK2V4dGVybiBfX3R5cGVvZiAoeG1sRGVidWdEdW1wQXR0cikgeG1sRGVidWdEdW1wQXR0cl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbERlYnVnRHVtcEF0dHIgeG1sRGVidWdEdW1wQXR0cl9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX0RFQlVHX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX2RlYnVnWE1MCisjdW5kZWYgeG1sRGVidWdEdW1wQXR0ckxpc3QKK2V4dGVybiBfX3R5cGVvZiAoeG1sRGVidWdEdW1wQXR0ckxpc3QpIHhtbERlYnVnRHVtcEF0dHJMaXN0IF9fYXR0cmlidXRlKChhbGlhcygieG1sRGVidWdEdW1wQXR0ckxpc3RfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbERlYnVnRHVtcEF0dHJMaXN0CitleHRlcm4gX190eXBlb2YgKHhtbERlYnVnRHVtcEF0dHJMaXN0KSB4bWxEZWJ1Z0R1bXBBdHRyTGlzdF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbERlYnVnRHVtcEF0dHJMaXN0IHhtbERlYnVnRHVtcEF0dHJMaXN0X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfREVCVUdfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fZGVidWdYTUwKKyN1bmRlZiB4bWxEZWJ1Z0R1bXBEVEQKK2V4dGVybiBfX3R5cGVvZiAoeG1sRGVidWdEdW1wRFREKSB4bWxEZWJ1Z0R1bXBEVEQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxEZWJ1Z0R1bXBEVERfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbERlYnVnRHVtcERURAorZXh0ZXJuIF9fdHlwZW9mICh4bWxEZWJ1Z0R1bXBEVEQpIHhtbERlYnVnRHVtcERURF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbERlYnVnRHVtcERURCB4bWxEZWJ1Z0R1bXBEVERfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9ERUJVR19FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9kZWJ1Z1hNTAorI3VuZGVmIHhtbERlYnVnRHVtcERvY3VtZW50CitleHRlcm4gX190eXBlb2YgKHhtbERlYnVnRHVtcERvY3VtZW50KSB4bWxEZWJ1Z0R1bXBEb2N1bWVudCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbERlYnVnRHVtcERvY3VtZW50X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxEZWJ1Z0R1bXBEb2N1bWVudAorZXh0ZXJuIF9fdHlwZW9mICh4bWxEZWJ1Z0R1bXBEb2N1bWVudCkgeG1sRGVidWdEdW1wRG9jdW1lbnRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxEZWJ1Z0R1bXBEb2N1bWVudCB4bWxEZWJ1Z0R1bXBEb2N1bWVudF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX0RFQlVHX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX2RlYnVnWE1MCisjdW5kZWYgeG1sRGVidWdEdW1wRG9jdW1lbnRIZWFkCitleHRlcm4gX190eXBlb2YgKHhtbERlYnVnRHVtcERvY3VtZW50SGVhZCkgeG1sRGVidWdEdW1wRG9jdW1lbnRIZWFkIF9fYXR0cmlidXRlKChhbGlhcygieG1sRGVidWdEdW1wRG9jdW1lbnRIZWFkX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxEZWJ1Z0R1bXBEb2N1bWVudEhlYWQKK2V4dGVybiBfX3R5cGVvZiAoeG1sRGVidWdEdW1wRG9jdW1lbnRIZWFkKSB4bWxEZWJ1Z0R1bXBEb2N1bWVudEhlYWRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxEZWJ1Z0R1bXBEb2N1bWVudEhlYWQgeG1sRGVidWdEdW1wRG9jdW1lbnRIZWFkX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfREVCVUdfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fZGVidWdYTUwKKyN1bmRlZiB4bWxEZWJ1Z0R1bXBFbnRpdGllcworZXh0ZXJuIF9fdHlwZW9mICh4bWxEZWJ1Z0R1bXBFbnRpdGllcykgeG1sRGVidWdEdW1wRW50aXRpZXMgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxEZWJ1Z0R1bXBFbnRpdGllc19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sRGVidWdEdW1wRW50aXRpZXMKK2V4dGVybiBfX3R5cGVvZiAoeG1sRGVidWdEdW1wRW50aXRpZXMpIHhtbERlYnVnRHVtcEVudGl0aWVzX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sRGVidWdEdW1wRW50aXRpZXMgeG1sRGVidWdEdW1wRW50aXRpZXNfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9ERUJVR19FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9kZWJ1Z1hNTAorI3VuZGVmIHhtbERlYnVnRHVtcE5vZGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sRGVidWdEdW1wTm9kZSkgeG1sRGVidWdEdW1wTm9kZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbERlYnVnRHVtcE5vZGVfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbERlYnVnRHVtcE5vZGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sRGVidWdEdW1wTm9kZSkgeG1sRGVidWdEdW1wTm9kZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbERlYnVnRHVtcE5vZGUgeG1sRGVidWdEdW1wTm9kZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX0RFQlVHX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX2RlYnVnWE1MCisjdW5kZWYgeG1sRGVidWdEdW1wTm9kZUxpc3QKK2V4dGVybiBfX3R5cGVvZiAoeG1sRGVidWdEdW1wTm9kZUxpc3QpIHhtbERlYnVnRHVtcE5vZGVMaXN0IF9fYXR0cmlidXRlKChhbGlhcygieG1sRGVidWdEdW1wTm9kZUxpc3RfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbERlYnVnRHVtcE5vZGVMaXN0CitleHRlcm4gX190eXBlb2YgKHhtbERlYnVnRHVtcE5vZGVMaXN0KSB4bWxEZWJ1Z0R1bXBOb2RlTGlzdF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbERlYnVnRHVtcE5vZGVMaXN0IHhtbERlYnVnRHVtcE5vZGVMaXN0X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfREVCVUdfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fZGVidWdYTUwKKyN1bmRlZiB4bWxEZWJ1Z0R1bXBPbmVOb2RlCitleHRlcm4gX190eXBlb2YgKHhtbERlYnVnRHVtcE9uZU5vZGUpIHhtbERlYnVnRHVtcE9uZU5vZGUgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxEZWJ1Z0R1bXBPbmVOb2RlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxEZWJ1Z0R1bXBPbmVOb2RlCitleHRlcm4gX190eXBlb2YgKHhtbERlYnVnRHVtcE9uZU5vZGUpIHhtbERlYnVnRHVtcE9uZU5vZGVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxEZWJ1Z0R1bXBPbmVOb2RlIHhtbERlYnVnRHVtcE9uZU5vZGVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9ERUJVR19FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9kZWJ1Z1hNTAorI3VuZGVmIHhtbERlYnVnRHVtcFN0cmluZworZXh0ZXJuIF9fdHlwZW9mICh4bWxEZWJ1Z0R1bXBTdHJpbmcpIHhtbERlYnVnRHVtcFN0cmluZyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbERlYnVnRHVtcFN0cmluZ19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sRGVidWdEdW1wU3RyaW5nCitleHRlcm4gX190eXBlb2YgKHhtbERlYnVnRHVtcFN0cmluZykgeG1sRGVidWdEdW1wU3RyaW5nX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sRGVidWdEdW1wU3RyaW5nIHhtbERlYnVnRHVtcFN0cmluZ19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX0xFR0FDWV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9sZWdhY3kKKyN1bmRlZiB4bWxEZWNvZGVFbnRpdGllcworZXh0ZXJuIF9fdHlwZW9mICh4bWxEZWNvZGVFbnRpdGllcykgeG1sRGVjb2RlRW50aXRpZXMgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxEZWNvZGVFbnRpdGllc19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sRGVjb2RlRW50aXRpZXMKK2V4dGVybiBfX3R5cGVvZiAoeG1sRGVjb2RlRW50aXRpZXMpIHhtbERlY29kZUVudGl0aWVzX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sRGVjb2RlRW50aXRpZXMgeG1sRGVjb2RlRW50aXRpZXNfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fU0FYMgorI3VuZGVmIHhtbERlZmF1bHRTQVhIYW5kbGVySW5pdAorZXh0ZXJuIF9fdHlwZW9mICh4bWxEZWZhdWx0U0FYSGFuZGxlckluaXQpIHhtbERlZmF1bHRTQVhIYW5kbGVySW5pdCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbERlZmF1bHRTQVhIYW5kbGVySW5pdF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sRGVmYXVsdFNBWEhhbmRsZXJJbml0CitleHRlcm4gX190eXBlb2YgKHhtbERlZmF1bHRTQVhIYW5kbGVySW5pdCkgeG1sRGVmYXVsdFNBWEhhbmRsZXJJbml0X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sRGVmYXVsdFNBWEhhbmRsZXJJbml0IHhtbERlZmF1bHRTQVhIYW5kbGVySW5pdF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fZW5jb2RpbmcKKyN1bmRlZiB4bWxEZWxFbmNvZGluZ0FsaWFzCitleHRlcm4gX190eXBlb2YgKHhtbERlbEVuY29kaW5nQWxpYXMpIHhtbERlbEVuY29kaW5nQWxpYXMgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxEZWxFbmNvZGluZ0FsaWFzX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxEZWxFbmNvZGluZ0FsaWFzCitleHRlcm4gX190eXBlb2YgKHhtbERlbEVuY29kaW5nQWxpYXMpIHhtbERlbEVuY29kaW5nQWxpYXNfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxEZWxFbmNvZGluZ0FsaWFzIHhtbERlbEVuY29kaW5nQWxpYXNfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX2dsb2JhbHMKKyN1bmRlZiB4bWxEZXJlZ2lzdGVyTm9kZURlZmF1bHQKK2V4dGVybiBfX3R5cGVvZiAoeG1sRGVyZWdpc3Rlck5vZGVEZWZhdWx0KSB4bWxEZXJlZ2lzdGVyTm9kZURlZmF1bHQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxEZXJlZ2lzdGVyTm9kZURlZmF1bHRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbERlcmVnaXN0ZXJOb2RlRGVmYXVsdAorZXh0ZXJuIF9fdHlwZW9mICh4bWxEZXJlZ2lzdGVyTm9kZURlZmF1bHQpIHhtbERlcmVnaXN0ZXJOb2RlRGVmYXVsdF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbERlcmVnaXN0ZXJOb2RlRGVmYXVsdCB4bWxEZXJlZ2lzdGVyTm9kZURlZmF1bHRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX2VuY29kaW5nCisjdW5kZWYgeG1sRGV0ZWN0Q2hhckVuY29kaW5nCitleHRlcm4gX190eXBlb2YgKHhtbERldGVjdENoYXJFbmNvZGluZykgeG1sRGV0ZWN0Q2hhckVuY29kaW5nIF9fYXR0cmlidXRlKChhbGlhcygieG1sRGV0ZWN0Q2hhckVuY29kaW5nX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxEZXRlY3RDaGFyRW5jb2RpbmcKK2V4dGVybiBfX3R5cGVvZiAoeG1sRGV0ZWN0Q2hhckVuY29kaW5nKSB4bWxEZXRlY3RDaGFyRW5jb2RpbmdfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxEZXRlY3RDaGFyRW5jb2RpbmcgeG1sRGV0ZWN0Q2hhckVuY29kaW5nX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9kaWN0CisjdW5kZWYgeG1sRGljdENsZWFudXAKK2V4dGVybiBfX3R5cGVvZiAoeG1sRGljdENsZWFudXApIHhtbERpY3RDbGVhbnVwIF9fYXR0cmlidXRlKChhbGlhcygieG1sRGljdENsZWFudXBfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbERpY3RDbGVhbnVwCitleHRlcm4gX190eXBlb2YgKHhtbERpY3RDbGVhbnVwKSB4bWxEaWN0Q2xlYW51cF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbERpY3RDbGVhbnVwIHhtbERpY3RDbGVhbnVwX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9kaWN0CisjdW5kZWYgeG1sRGljdENyZWF0ZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxEaWN0Q3JlYXRlKSB4bWxEaWN0Q3JlYXRlIF9fYXR0cmlidXRlKChhbGlhcygieG1sRGljdENyZWF0ZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sRGljdENyZWF0ZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxEaWN0Q3JlYXRlKSB4bWxEaWN0Q3JlYXRlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sRGljdENyZWF0ZSB4bWxEaWN0Q3JlYXRlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9kaWN0CisjdW5kZWYgeG1sRGljdENyZWF0ZVN1YgorZXh0ZXJuIF9fdHlwZW9mICh4bWxEaWN0Q3JlYXRlU3ViKSB4bWxEaWN0Q3JlYXRlU3ViIF9fYXR0cmlidXRlKChhbGlhcygieG1sRGljdENyZWF0ZVN1Yl9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sRGljdENyZWF0ZVN1YgorZXh0ZXJuIF9fdHlwZW9mICh4bWxEaWN0Q3JlYXRlU3ViKSB4bWxEaWN0Q3JlYXRlU3ViX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sRGljdENyZWF0ZVN1YiB4bWxEaWN0Q3JlYXRlU3ViX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9kaWN0CisjdW5kZWYgeG1sRGljdEV4aXN0cworZXh0ZXJuIF9fdHlwZW9mICh4bWxEaWN0RXhpc3RzKSB4bWxEaWN0RXhpc3RzIF9fYXR0cmlidXRlKChhbGlhcygieG1sRGljdEV4aXN0c19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sRGljdEV4aXN0cworZXh0ZXJuIF9fdHlwZW9mICh4bWxEaWN0RXhpc3RzKSB4bWxEaWN0RXhpc3RzX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sRGljdEV4aXN0cyB4bWxEaWN0RXhpc3RzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9kaWN0CisjdW5kZWYgeG1sRGljdEZyZWUKK2V4dGVybiBfX3R5cGVvZiAoeG1sRGljdEZyZWUpIHhtbERpY3RGcmVlIF9fYXR0cmlidXRlKChhbGlhcygieG1sRGljdEZyZWVfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbERpY3RGcmVlCitleHRlcm4gX190eXBlb2YgKHhtbERpY3RGcmVlKSB4bWxEaWN0RnJlZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbERpY3RGcmVlIHhtbERpY3RGcmVlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9kaWN0CisjdW5kZWYgeG1sRGljdEdldFVzYWdlCitleHRlcm4gX190eXBlb2YgKHhtbERpY3RHZXRVc2FnZSkgeG1sRGljdEdldFVzYWdlIF9fYXR0cmlidXRlKChhbGlhcygieG1sRGljdEdldFVzYWdlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxEaWN0R2V0VXNhZ2UKK2V4dGVybiBfX3R5cGVvZiAoeG1sRGljdEdldFVzYWdlKSB4bWxEaWN0R2V0VXNhZ2VfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxEaWN0R2V0VXNhZ2UgeG1sRGljdEdldFVzYWdlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9kaWN0CisjdW5kZWYgeG1sRGljdExvb2t1cAorZXh0ZXJuIF9fdHlwZW9mICh4bWxEaWN0TG9va3VwKSB4bWxEaWN0TG9va3VwIF9fYXR0cmlidXRlKChhbGlhcygieG1sRGljdExvb2t1cF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sRGljdExvb2t1cAorZXh0ZXJuIF9fdHlwZW9mICh4bWxEaWN0TG9va3VwKSB4bWxEaWN0TG9va3VwX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sRGljdExvb2t1cCB4bWxEaWN0TG9va3VwX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9kaWN0CisjdW5kZWYgeG1sRGljdE93bnMKK2V4dGVybiBfX3R5cGVvZiAoeG1sRGljdE93bnMpIHhtbERpY3RPd25zIF9fYXR0cmlidXRlKChhbGlhcygieG1sRGljdE93bnNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbERpY3RPd25zCitleHRlcm4gX190eXBlb2YgKHhtbERpY3RPd25zKSB4bWxEaWN0T3duc19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbERpY3RPd25zIHhtbERpY3RPd25zX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9kaWN0CisjdW5kZWYgeG1sRGljdFFMb29rdXAKK2V4dGVybiBfX3R5cGVvZiAoeG1sRGljdFFMb29rdXApIHhtbERpY3RRTG9va3VwIF9fYXR0cmlidXRlKChhbGlhcygieG1sRGljdFFMb29rdXBfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbERpY3RRTG9va3VwCitleHRlcm4gX190eXBlb2YgKHhtbERpY3RRTG9va3VwKSB4bWxEaWN0UUxvb2t1cF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbERpY3RRTG9va3VwIHhtbERpY3RRTG9va3VwX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9kaWN0CisjdW5kZWYgeG1sRGljdFJlZmVyZW5jZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxEaWN0UmVmZXJlbmNlKSB4bWxEaWN0UmVmZXJlbmNlIF9fYXR0cmlidXRlKChhbGlhcygieG1sRGljdFJlZmVyZW5jZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sRGljdFJlZmVyZW5jZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxEaWN0UmVmZXJlbmNlKSB4bWxEaWN0UmVmZXJlbmNlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sRGljdFJlZmVyZW5jZSB4bWxEaWN0UmVmZXJlbmNlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9kaWN0CisjdW5kZWYgeG1sRGljdFNldExpbWl0CitleHRlcm4gX190eXBlb2YgKHhtbERpY3RTZXRMaW1pdCkgeG1sRGljdFNldExpbWl0IF9fYXR0cmlidXRlKChhbGlhcygieG1sRGljdFNldExpbWl0X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxEaWN0U2V0TGltaXQKK2V4dGVybiBfX3R5cGVvZiAoeG1sRGljdFNldExpbWl0KSB4bWxEaWN0U2V0TGltaXRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxEaWN0U2V0TGltaXQgeG1sRGljdFNldExpbWl0X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9kaWN0CisjdW5kZWYgeG1sRGljdFNpemUKK2V4dGVybiBfX3R5cGVvZiAoeG1sRGljdFNpemUpIHhtbERpY3RTaXplIF9fYXR0cmlidXRlKChhbGlhcygieG1sRGljdFNpemVfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbERpY3RTaXplCitleHRlcm4gX190eXBlb2YgKHhtbERpY3RTaXplKSB4bWxEaWN0U2l6ZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbERpY3RTaXplIHhtbERpY3RTaXplX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV90cmVlCisjdW5kZWYgeG1sRG9jQ29weU5vZGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sRG9jQ29weU5vZGUpIHhtbERvY0NvcHlOb2RlIF9fYXR0cmlidXRlKChhbGlhcygieG1sRG9jQ29weU5vZGVfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbERvY0NvcHlOb2RlCitleHRlcm4gX190eXBlb2YgKHhtbERvY0NvcHlOb2RlKSB4bWxEb2NDb3B5Tm9kZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbERvY0NvcHlOb2RlIHhtbERvY0NvcHlOb2RlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV90cmVlCisjdW5kZWYgeG1sRG9jQ29weU5vZGVMaXN0CitleHRlcm4gX190eXBlb2YgKHhtbERvY0NvcHlOb2RlTGlzdCkgeG1sRG9jQ29weU5vZGVMaXN0IF9fYXR0cmlidXRlKChhbGlhcygieG1sRG9jQ29weU5vZGVMaXN0X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxEb2NDb3B5Tm9kZUxpc3QKK2V4dGVybiBfX3R5cGVvZiAoeG1sRG9jQ29weU5vZGVMaXN0KSB4bWxEb2NDb3B5Tm9kZUxpc3RfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxEb2NDb3B5Tm9kZUxpc3QgeG1sRG9jQ29weU5vZGVMaXN0X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxzYXZlCisjdW5kZWYgeG1sRG9jRHVtcAorZXh0ZXJuIF9fdHlwZW9mICh4bWxEb2NEdW1wKSB4bWxEb2NEdW1wIF9fYXR0cmlidXRlKChhbGlhcygieG1sRG9jRHVtcF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sRG9jRHVtcAorZXh0ZXJuIF9fdHlwZW9mICh4bWxEb2NEdW1wKSB4bWxEb2NEdW1wX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sRG9jRHVtcCB4bWxEb2NEdW1wX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHNhdmUKKyN1bmRlZiB4bWxEb2NEdW1wRm9ybWF0TWVtb3J5CitleHRlcm4gX190eXBlb2YgKHhtbERvY0R1bXBGb3JtYXRNZW1vcnkpIHhtbERvY0R1bXBGb3JtYXRNZW1vcnkgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxEb2NEdW1wRm9ybWF0TWVtb3J5X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxEb2NEdW1wRm9ybWF0TWVtb3J5CitleHRlcm4gX190eXBlb2YgKHhtbERvY0R1bXBGb3JtYXRNZW1vcnkpIHhtbERvY0R1bXBGb3JtYXRNZW1vcnlfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxEb2NEdW1wRm9ybWF0TWVtb3J5IHhtbERvY0R1bXBGb3JtYXRNZW1vcnlfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sc2F2ZQorI3VuZGVmIHhtbERvY0R1bXBGb3JtYXRNZW1vcnlFbmMKK2V4dGVybiBfX3R5cGVvZiAoeG1sRG9jRHVtcEZvcm1hdE1lbW9yeUVuYykgeG1sRG9jRHVtcEZvcm1hdE1lbW9yeUVuYyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbERvY0R1bXBGb3JtYXRNZW1vcnlFbmNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbERvY0R1bXBGb3JtYXRNZW1vcnlFbmMKK2V4dGVybiBfX3R5cGVvZiAoeG1sRG9jRHVtcEZvcm1hdE1lbW9yeUVuYykgeG1sRG9jRHVtcEZvcm1hdE1lbW9yeUVuY19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbERvY0R1bXBGb3JtYXRNZW1vcnlFbmMgeG1sRG9jRHVtcEZvcm1hdE1lbW9yeUVuY19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxzYXZlCisjdW5kZWYgeG1sRG9jRHVtcE1lbW9yeQorZXh0ZXJuIF9fdHlwZW9mICh4bWxEb2NEdW1wTWVtb3J5KSB4bWxEb2NEdW1wTWVtb3J5IF9fYXR0cmlidXRlKChhbGlhcygieG1sRG9jRHVtcE1lbW9yeV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sRG9jRHVtcE1lbW9yeQorZXh0ZXJuIF9fdHlwZW9mICh4bWxEb2NEdW1wTWVtb3J5KSB4bWxEb2NEdW1wTWVtb3J5X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sRG9jRHVtcE1lbW9yeSB4bWxEb2NEdW1wTWVtb3J5X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHNhdmUKKyN1bmRlZiB4bWxEb2NEdW1wTWVtb3J5RW5jCitleHRlcm4gX190eXBlb2YgKHhtbERvY0R1bXBNZW1vcnlFbmMpIHhtbERvY0R1bXBNZW1vcnlFbmMgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxEb2NEdW1wTWVtb3J5RW5jX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxEb2NEdW1wTWVtb3J5RW5jCitleHRlcm4gX190eXBlb2YgKHhtbERvY0R1bXBNZW1vcnlFbmMpIHhtbERvY0R1bXBNZW1vcnlFbmNfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxEb2NEdW1wTWVtb3J5RW5jIHhtbERvY0R1bXBNZW1vcnlFbmNfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sc2F2ZQorI3VuZGVmIHhtbERvY0Zvcm1hdER1bXAKK2V4dGVybiBfX3R5cGVvZiAoeG1sRG9jRm9ybWF0RHVtcCkgeG1sRG9jRm9ybWF0RHVtcCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbERvY0Zvcm1hdER1bXBfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbERvY0Zvcm1hdER1bXAKK2V4dGVybiBfX3R5cGVvZiAoeG1sRG9jRm9ybWF0RHVtcCkgeG1sRG9jRm9ybWF0RHVtcF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbERvY0Zvcm1hdER1bXAgeG1sRG9jRm9ybWF0RHVtcF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV90cmVlCisjdW5kZWYgeG1sRG9jR2V0Um9vdEVsZW1lbnQKK2V4dGVybiBfX3R5cGVvZiAoeG1sRG9jR2V0Um9vdEVsZW1lbnQpIHhtbERvY0dldFJvb3RFbGVtZW50IF9fYXR0cmlidXRlKChhbGlhcygieG1sRG9jR2V0Um9vdEVsZW1lbnRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbERvY0dldFJvb3RFbGVtZW50CitleHRlcm4gX190eXBlb2YgKHhtbERvY0dldFJvb3RFbGVtZW50KSB4bWxEb2NHZXRSb290RWxlbWVudF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbERvY0dldFJvb3RFbGVtZW50IHhtbERvY0dldFJvb3RFbGVtZW50X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3RyZWUKKyN1bmRlZiB4bWxEb2NTZXRSb290RWxlbWVudAorZXh0ZXJuIF9fdHlwZW9mICh4bWxEb2NTZXRSb290RWxlbWVudCkgeG1sRG9jU2V0Um9vdEVsZW1lbnQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxEb2NTZXRSb290RWxlbWVudF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sRG9jU2V0Um9vdEVsZW1lbnQKK2V4dGVybiBfX3R5cGVvZiAoeG1sRG9jU2V0Um9vdEVsZW1lbnQpIHhtbERvY1NldFJvb3RFbGVtZW50X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sRG9jU2V0Um9vdEVsZW1lbnQgeG1sRG9jU2V0Um9vdEVsZW1lbnRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fdmFsaWQKKyN1bmRlZiB4bWxEdW1wQXR0cmlidXRlRGVjbAorZXh0ZXJuIF9fdHlwZW9mICh4bWxEdW1wQXR0cmlidXRlRGVjbCkgeG1sRHVtcEF0dHJpYnV0ZURlY2wgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxEdW1wQXR0cmlidXRlRGVjbF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sRHVtcEF0dHJpYnV0ZURlY2wKK2V4dGVybiBfX3R5cGVvZiAoeG1sRHVtcEF0dHJpYnV0ZURlY2wpIHhtbER1bXBBdHRyaWJ1dGVEZWNsX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sRHVtcEF0dHJpYnV0ZURlY2wgeG1sRHVtcEF0dHJpYnV0ZURlY2xfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fdmFsaWQKKyN1bmRlZiB4bWxEdW1wQXR0cmlidXRlVGFibGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sRHVtcEF0dHJpYnV0ZVRhYmxlKSB4bWxEdW1wQXR0cmlidXRlVGFibGUgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxEdW1wQXR0cmlidXRlVGFibGVfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbER1bXBBdHRyaWJ1dGVUYWJsZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxEdW1wQXR0cmlidXRlVGFibGUpIHhtbER1bXBBdHRyaWJ1dGVUYWJsZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbER1bXBBdHRyaWJ1dGVUYWJsZSB4bWxEdW1wQXR0cmlidXRlVGFibGVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fdmFsaWQKKyN1bmRlZiB4bWxEdW1wRWxlbWVudERlY2wKK2V4dGVybiBfX3R5cGVvZiAoeG1sRHVtcEVsZW1lbnREZWNsKSB4bWxEdW1wRWxlbWVudERlY2wgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxEdW1wRWxlbWVudERlY2xfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbER1bXBFbGVtZW50RGVjbAorZXh0ZXJuIF9fdHlwZW9mICh4bWxEdW1wRWxlbWVudERlY2wpIHhtbER1bXBFbGVtZW50RGVjbF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbER1bXBFbGVtZW50RGVjbCB4bWxEdW1wRWxlbWVudERlY2xfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fdmFsaWQKKyN1bmRlZiB4bWxEdW1wRWxlbWVudFRhYmxlCitleHRlcm4gX190eXBlb2YgKHhtbER1bXBFbGVtZW50VGFibGUpIHhtbER1bXBFbGVtZW50VGFibGUgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxEdW1wRWxlbWVudFRhYmxlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxEdW1wRWxlbWVudFRhYmxlCitleHRlcm4gX190eXBlb2YgKHhtbER1bXBFbGVtZW50VGFibGUpIHhtbER1bXBFbGVtZW50VGFibGVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxEdW1wRWxlbWVudFRhYmxlIHhtbER1bXBFbGVtZW50VGFibGVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fZW50aXRpZXMKKyN1bmRlZiB4bWxEdW1wRW50aXRpZXNUYWJsZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxEdW1wRW50aXRpZXNUYWJsZSkgeG1sRHVtcEVudGl0aWVzVGFibGUgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxEdW1wRW50aXRpZXNUYWJsZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sRHVtcEVudGl0aWVzVGFibGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sRHVtcEVudGl0aWVzVGFibGUpIHhtbER1bXBFbnRpdGllc1RhYmxlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sRHVtcEVudGl0aWVzVGFibGUgeG1sRHVtcEVudGl0aWVzVGFibGVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fZW50aXRpZXMKKyN1bmRlZiB4bWxEdW1wRW50aXR5RGVjbAorZXh0ZXJuIF9fdHlwZW9mICh4bWxEdW1wRW50aXR5RGVjbCkgeG1sRHVtcEVudGl0eURlY2wgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxEdW1wRW50aXR5RGVjbF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sRHVtcEVudGl0eURlY2wKK2V4dGVybiBfX3R5cGVvZiAoeG1sRHVtcEVudGl0eURlY2wpIHhtbER1bXBFbnRpdHlEZWNsX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sRHVtcEVudGl0eURlY2wgeG1sRHVtcEVudGl0eURlY2xfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fdmFsaWQKKyN1bmRlZiB4bWxEdW1wTm90YXRpb25EZWNsCitleHRlcm4gX190eXBlb2YgKHhtbER1bXBOb3RhdGlvbkRlY2wpIHhtbER1bXBOb3RhdGlvbkRlY2wgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxEdW1wTm90YXRpb25EZWNsX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxEdW1wTm90YXRpb25EZWNsCitleHRlcm4gX190eXBlb2YgKHhtbER1bXBOb3RhdGlvbkRlY2wpIHhtbER1bXBOb3RhdGlvbkRlY2xfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxEdW1wTm90YXRpb25EZWNsIHhtbER1bXBOb3RhdGlvbkRlY2xfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fdmFsaWQKKyN1bmRlZiB4bWxEdW1wTm90YXRpb25UYWJsZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxEdW1wTm90YXRpb25UYWJsZSkgeG1sRHVtcE5vdGF0aW9uVGFibGUgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxEdW1wTm90YXRpb25UYWJsZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sRHVtcE5vdGF0aW9uVGFibGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sRHVtcE5vdGF0aW9uVGFibGUpIHhtbER1bXBOb3RhdGlvblRhYmxlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sRHVtcE5vdGF0aW9uVGFibGUgeG1sRHVtcE5vdGF0aW9uVGFibGVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sc2F2ZQorI3VuZGVmIHhtbEVsZW1EdW1wCitleHRlcm4gX190eXBlb2YgKHhtbEVsZW1EdW1wKSB4bWxFbGVtRHVtcCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbEVsZW1EdW1wX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxFbGVtRHVtcAorZXh0ZXJuIF9fdHlwZW9mICh4bWxFbGVtRHVtcCkgeG1sRWxlbUR1bXBfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxFbGVtRHVtcCB4bWxFbGVtRHVtcF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX0xFR0FDWV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9sZWdhY3kKKyN1bmRlZiB4bWxFbmNvZGVFbnRpdGllcworZXh0ZXJuIF9fdHlwZW9mICh4bWxFbmNvZGVFbnRpdGllcykgeG1sRW5jb2RlRW50aXRpZXMgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxFbmNvZGVFbnRpdGllc19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sRW5jb2RlRW50aXRpZXMKK2V4dGVybiBfX3R5cGVvZiAoeG1sRW5jb2RlRW50aXRpZXMpIHhtbEVuY29kZUVudGl0aWVzX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sRW5jb2RlRW50aXRpZXMgeG1sRW5jb2RlRW50aXRpZXNfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fZW50aXRpZXMKKyN1bmRlZiB4bWxFbmNvZGVFbnRpdGllc1JlZW50cmFudAorZXh0ZXJuIF9fdHlwZW9mICh4bWxFbmNvZGVFbnRpdGllc1JlZW50cmFudCkgeG1sRW5jb2RlRW50aXRpZXNSZWVudHJhbnQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxFbmNvZGVFbnRpdGllc1JlZW50cmFudF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sRW5jb2RlRW50aXRpZXNSZWVudHJhbnQKK2V4dGVybiBfX3R5cGVvZiAoeG1sRW5jb2RlRW50aXRpZXNSZWVudHJhbnQpIHhtbEVuY29kZUVudGl0aWVzUmVlbnRyYW50X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sRW5jb2RlRW50aXRpZXNSZWVudHJhbnQgeG1sRW5jb2RlRW50aXRpZXNSZWVudHJhbnRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX2VudGl0aWVzCisjdW5kZWYgeG1sRW5jb2RlU3BlY2lhbENoYXJzCitleHRlcm4gX190eXBlb2YgKHhtbEVuY29kZVNwZWNpYWxDaGFycykgeG1sRW5jb2RlU3BlY2lhbENoYXJzIF9fYXR0cmlidXRlKChhbGlhcygieG1sRW5jb2RlU3BlY2lhbENoYXJzX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxFbmNvZGVTcGVjaWFsQ2hhcnMKK2V4dGVybiBfX3R5cGVvZiAoeG1sRW5jb2RlU3BlY2lhbENoYXJzKSB4bWxFbmNvZGVTcGVjaWFsQ2hhcnNfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxFbmNvZGVTcGVjaWFsQ2hhcnMgeG1sRW5jb2RlU3BlY2lhbENoYXJzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9wYXJzZXJJbnRlcm5hbHMKKyN1bmRlZiB4bWxFcnJNZW1vcnkKK2V4dGVybiBfX3R5cGVvZiAoeG1sRXJyTWVtb3J5KSB4bWxFcnJNZW1vcnkgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxFcnJNZW1vcnlfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEVyck1lbW9yeQorZXh0ZXJuIF9fdHlwZW9mICh4bWxFcnJNZW1vcnkpIHhtbEVyck1lbW9yeV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEVyck1lbW9yeSB4bWxFcnJNZW1vcnlfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfUkVHRVhQX0VOQUJMRUQpICYmIGRlZmluZWQoTElCWE1MX0VYUFJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1scmVnZXhwCisjdW5kZWYgeG1sRXhwQ3R4dE5iQ29ucworZXh0ZXJuIF9fdHlwZW9mICh4bWxFeHBDdHh0TmJDb25zKSB4bWxFeHBDdHh0TmJDb25zIF9fYXR0cmlidXRlKChhbGlhcygieG1sRXhwQ3R4dE5iQ29uc19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sRXhwQ3R4dE5iQ29ucworZXh0ZXJuIF9fdHlwZW9mICh4bWxFeHBDdHh0TmJDb25zKSB4bWxFeHBDdHh0TmJDb25zX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sRXhwQ3R4dE5iQ29ucyB4bWxFeHBDdHh0TmJDb25zX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfUkVHRVhQX0VOQUJMRUQpICYmIGRlZmluZWQoTElCWE1MX0VYUFJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1scmVnZXhwCisjdW5kZWYgeG1sRXhwQ3R4dE5iTm9kZXMKK2V4dGVybiBfX3R5cGVvZiAoeG1sRXhwQ3R4dE5iTm9kZXMpIHhtbEV4cEN0eHROYk5vZGVzIF9fYXR0cmlidXRlKChhbGlhcygieG1sRXhwQ3R4dE5iTm9kZXNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEV4cEN0eHROYk5vZGVzCitleHRlcm4gX190eXBlb2YgKHhtbEV4cEN0eHROYk5vZGVzKSB4bWxFeHBDdHh0TmJOb2Rlc19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEV4cEN0eHROYk5vZGVzIHhtbEV4cEN0eHROYk5vZGVzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfUkVHRVhQX0VOQUJMRUQpICYmIGRlZmluZWQoTElCWE1MX0VYUFJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1scmVnZXhwCisjdW5kZWYgeG1sRXhwRHVtcAorZXh0ZXJuIF9fdHlwZW9mICh4bWxFeHBEdW1wKSB4bWxFeHBEdW1wIF9fYXR0cmlidXRlKChhbGlhcygieG1sRXhwRHVtcF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sRXhwRHVtcAorZXh0ZXJuIF9fdHlwZW9mICh4bWxFeHBEdW1wKSB4bWxFeHBEdW1wX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sRXhwRHVtcCB4bWxFeHBEdW1wX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfUkVHRVhQX0VOQUJMRUQpICYmIGRlZmluZWQoTElCWE1MX0VYUFJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1scmVnZXhwCisjdW5kZWYgeG1sRXhwRXhwRGVyaXZlCitleHRlcm4gX190eXBlb2YgKHhtbEV4cEV4cERlcml2ZSkgeG1sRXhwRXhwRGVyaXZlIF9fYXR0cmlidXRlKChhbGlhcygieG1sRXhwRXhwRGVyaXZlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxFeHBFeHBEZXJpdmUKK2V4dGVybiBfX3R5cGVvZiAoeG1sRXhwRXhwRGVyaXZlKSB4bWxFeHBFeHBEZXJpdmVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxFeHBFeHBEZXJpdmUgeG1sRXhwRXhwRGVyaXZlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfUkVHRVhQX0VOQUJMRUQpICYmIGRlZmluZWQoTElCWE1MX0VYUFJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1scmVnZXhwCisjdW5kZWYgeG1sRXhwRnJlZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxFeHBGcmVlKSB4bWxFeHBGcmVlIF9fYXR0cmlidXRlKChhbGlhcygieG1sRXhwRnJlZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sRXhwRnJlZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxFeHBGcmVlKSB4bWxFeHBGcmVlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sRXhwRnJlZSB4bWxFeHBGcmVlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfUkVHRVhQX0VOQUJMRUQpICYmIGRlZmluZWQoTElCWE1MX0VYUFJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1scmVnZXhwCisjdW5kZWYgeG1sRXhwRnJlZUN0eHQKK2V4dGVybiBfX3R5cGVvZiAoeG1sRXhwRnJlZUN0eHQpIHhtbEV4cEZyZWVDdHh0IF9fYXR0cmlidXRlKChhbGlhcygieG1sRXhwRnJlZUN0eHRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEV4cEZyZWVDdHh0CitleHRlcm4gX190eXBlb2YgKHhtbEV4cEZyZWVDdHh0KSB4bWxFeHBGcmVlQ3R4dF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEV4cEZyZWVDdHh0IHhtbEV4cEZyZWVDdHh0X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfUkVHRVhQX0VOQUJMRUQpICYmIGRlZmluZWQoTElCWE1MX0VYUFJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1scmVnZXhwCisjdW5kZWYgeG1sRXhwR2V0TGFuZ3VhZ2UKK2V4dGVybiBfX3R5cGVvZiAoeG1sRXhwR2V0TGFuZ3VhZ2UpIHhtbEV4cEdldExhbmd1YWdlIF9fYXR0cmlidXRlKChhbGlhcygieG1sRXhwR2V0TGFuZ3VhZ2VfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEV4cEdldExhbmd1YWdlCitleHRlcm4gX190eXBlb2YgKHhtbEV4cEdldExhbmd1YWdlKSB4bWxFeHBHZXRMYW5ndWFnZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEV4cEdldExhbmd1YWdlIHhtbEV4cEdldExhbmd1YWdlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfUkVHRVhQX0VOQUJMRUQpICYmIGRlZmluZWQoTElCWE1MX0VYUFJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1scmVnZXhwCisjdW5kZWYgeG1sRXhwR2V0U3RhcnQKK2V4dGVybiBfX3R5cGVvZiAoeG1sRXhwR2V0U3RhcnQpIHhtbEV4cEdldFN0YXJ0IF9fYXR0cmlidXRlKChhbGlhcygieG1sRXhwR2V0U3RhcnRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEV4cEdldFN0YXJ0CitleHRlcm4gX190eXBlb2YgKHhtbEV4cEdldFN0YXJ0KSB4bWxFeHBHZXRTdGFydF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEV4cEdldFN0YXJ0IHhtbEV4cEdldFN0YXJ0X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfUkVHRVhQX0VOQUJMRUQpICYmIGRlZmluZWQoTElCWE1MX0VYUFJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1scmVnZXhwCisjdW5kZWYgeG1sRXhwSXNOaWxsYWJsZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxFeHBJc05pbGxhYmxlKSB4bWxFeHBJc05pbGxhYmxlIF9fYXR0cmlidXRlKChhbGlhcygieG1sRXhwSXNOaWxsYWJsZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sRXhwSXNOaWxsYWJsZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxFeHBJc05pbGxhYmxlKSB4bWxFeHBJc05pbGxhYmxlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sRXhwSXNOaWxsYWJsZSB4bWxFeHBJc05pbGxhYmxlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfUkVHRVhQX0VOQUJMRUQpICYmIGRlZmluZWQoTElCWE1MX0VYUFJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1scmVnZXhwCisjdW5kZWYgeG1sRXhwTWF4VG9rZW4KK2V4dGVybiBfX3R5cGVvZiAoeG1sRXhwTWF4VG9rZW4pIHhtbEV4cE1heFRva2VuIF9fYXR0cmlidXRlKChhbGlhcygieG1sRXhwTWF4VG9rZW5fX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEV4cE1heFRva2VuCitleHRlcm4gX190eXBlb2YgKHhtbEV4cE1heFRva2VuKSB4bWxFeHBNYXhUb2tlbl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEV4cE1heFRva2VuIHhtbEV4cE1heFRva2VuX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfUkVHRVhQX0VOQUJMRUQpICYmIGRlZmluZWQoTElCWE1MX0VYUFJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1scmVnZXhwCisjdW5kZWYgeG1sRXhwTmV3QXRvbQorZXh0ZXJuIF9fdHlwZW9mICh4bWxFeHBOZXdBdG9tKSB4bWxFeHBOZXdBdG9tIF9fYXR0cmlidXRlKChhbGlhcygieG1sRXhwTmV3QXRvbV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sRXhwTmV3QXRvbQorZXh0ZXJuIF9fdHlwZW9mICh4bWxFeHBOZXdBdG9tKSB4bWxFeHBOZXdBdG9tX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sRXhwTmV3QXRvbSB4bWxFeHBOZXdBdG9tX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfUkVHRVhQX0VOQUJMRUQpICYmIGRlZmluZWQoTElCWE1MX0VYUFJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1scmVnZXhwCisjdW5kZWYgeG1sRXhwTmV3Q3R4dAorZXh0ZXJuIF9fdHlwZW9mICh4bWxFeHBOZXdDdHh0KSB4bWxFeHBOZXdDdHh0IF9fYXR0cmlidXRlKChhbGlhcygieG1sRXhwTmV3Q3R4dF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sRXhwTmV3Q3R4dAorZXh0ZXJuIF9fdHlwZW9mICh4bWxFeHBOZXdDdHh0KSB4bWxFeHBOZXdDdHh0X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sRXhwTmV3Q3R4dCB4bWxFeHBOZXdDdHh0X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfUkVHRVhQX0VOQUJMRUQpICYmIGRlZmluZWQoTElCWE1MX0VYUFJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1scmVnZXhwCisjdW5kZWYgeG1sRXhwTmV3T3IKK2V4dGVybiBfX3R5cGVvZiAoeG1sRXhwTmV3T3IpIHhtbEV4cE5ld09yIF9fYXR0cmlidXRlKChhbGlhcygieG1sRXhwTmV3T3JfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEV4cE5ld09yCitleHRlcm4gX190eXBlb2YgKHhtbEV4cE5ld09yKSB4bWxFeHBOZXdPcl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEV4cE5ld09yIHhtbEV4cE5ld09yX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfUkVHRVhQX0VOQUJMRUQpICYmIGRlZmluZWQoTElCWE1MX0VYUFJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1scmVnZXhwCisjdW5kZWYgeG1sRXhwTmV3UmFuZ2UKK2V4dGVybiBfX3R5cGVvZiAoeG1sRXhwTmV3UmFuZ2UpIHhtbEV4cE5ld1JhbmdlIF9fYXR0cmlidXRlKChhbGlhcygieG1sRXhwTmV3UmFuZ2VfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEV4cE5ld1JhbmdlCitleHRlcm4gX190eXBlb2YgKHhtbEV4cE5ld1JhbmdlKSB4bWxFeHBOZXdSYW5nZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEV4cE5ld1JhbmdlIHhtbEV4cE5ld1JhbmdlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfUkVHRVhQX0VOQUJMRUQpICYmIGRlZmluZWQoTElCWE1MX0VYUFJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1scmVnZXhwCisjdW5kZWYgeG1sRXhwTmV3U2VxCitleHRlcm4gX190eXBlb2YgKHhtbEV4cE5ld1NlcSkgeG1sRXhwTmV3U2VxIF9fYXR0cmlidXRlKChhbGlhcygieG1sRXhwTmV3U2VxX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxFeHBOZXdTZXEKK2V4dGVybiBfX3R5cGVvZiAoeG1sRXhwTmV3U2VxKSB4bWxFeHBOZXdTZXFfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxFeHBOZXdTZXEgeG1sRXhwTmV3U2VxX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfUkVHRVhQX0VOQUJMRUQpICYmIGRlZmluZWQoTElCWE1MX0VYUFJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1scmVnZXhwCisjdW5kZWYgeG1sRXhwUGFyc2UKK2V4dGVybiBfX3R5cGVvZiAoeG1sRXhwUGFyc2UpIHhtbEV4cFBhcnNlIF9fYXR0cmlidXRlKChhbGlhcygieG1sRXhwUGFyc2VfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEV4cFBhcnNlCitleHRlcm4gX190eXBlb2YgKHhtbEV4cFBhcnNlKSB4bWxFeHBQYXJzZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEV4cFBhcnNlIHhtbEV4cFBhcnNlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfUkVHRVhQX0VOQUJMRUQpICYmIGRlZmluZWQoTElCWE1MX0VYUFJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1scmVnZXhwCisjdW5kZWYgeG1sRXhwUmVmCitleHRlcm4gX190eXBlb2YgKHhtbEV4cFJlZikgeG1sRXhwUmVmIF9fYXR0cmlidXRlKChhbGlhcygieG1sRXhwUmVmX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxFeHBSZWYKK2V4dGVybiBfX3R5cGVvZiAoeG1sRXhwUmVmKSB4bWxFeHBSZWZfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxFeHBSZWYgeG1sRXhwUmVmX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfUkVHRVhQX0VOQUJMRUQpICYmIGRlZmluZWQoTElCWE1MX0VYUFJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1scmVnZXhwCisjdW5kZWYgeG1sRXhwU3RyaW5nRGVyaXZlCitleHRlcm4gX190eXBlb2YgKHhtbEV4cFN0cmluZ0Rlcml2ZSkgeG1sRXhwU3RyaW5nRGVyaXZlIF9fYXR0cmlidXRlKChhbGlhcygieG1sRXhwU3RyaW5nRGVyaXZlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxFeHBTdHJpbmdEZXJpdmUKK2V4dGVybiBfX3R5cGVvZiAoeG1sRXhwU3RyaW5nRGVyaXZlKSB4bWxFeHBTdHJpbmdEZXJpdmVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxFeHBTdHJpbmdEZXJpdmUgeG1sRXhwU3RyaW5nRGVyaXZlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfUkVHRVhQX0VOQUJMRUQpICYmIGRlZmluZWQoTElCWE1MX0VYUFJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1scmVnZXhwCisjdW5kZWYgeG1sRXhwU3Vic3VtZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxFeHBTdWJzdW1lKSB4bWxFeHBTdWJzdW1lIF9fYXR0cmlidXRlKChhbGlhcygieG1sRXhwU3Vic3VtZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sRXhwU3Vic3VtZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxFeHBTdWJzdW1lKSB4bWxFeHBTdWJzdW1lX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sRXhwU3Vic3VtZSB4bWxFeHBTdWJzdW1lX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3htbElPCisjdW5kZWYgeG1sRmlsZUNsb3NlCitleHRlcm4gX190eXBlb2YgKHhtbEZpbGVDbG9zZSkgeG1sRmlsZUNsb3NlIF9fYXR0cmlidXRlKChhbGlhcygieG1sRmlsZUNsb3NlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxGaWxlQ2xvc2UKK2V4dGVybiBfX3R5cGVvZiAoeG1sRmlsZUNsb3NlKSB4bWxGaWxlQ2xvc2VfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxGaWxlQ2xvc2UgeG1sRmlsZUNsb3NlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV94bWxJTworI3VuZGVmIHhtbEZpbGVNYXRjaAorZXh0ZXJuIF9fdHlwZW9mICh4bWxGaWxlTWF0Y2gpIHhtbEZpbGVNYXRjaCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbEZpbGVNYXRjaF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sRmlsZU1hdGNoCitleHRlcm4gX190eXBlb2YgKHhtbEZpbGVNYXRjaCkgeG1sRmlsZU1hdGNoX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sRmlsZU1hdGNoIHhtbEZpbGVNYXRjaF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21feG1sSU8KKyN1bmRlZiB4bWxGaWxlT3BlbgorZXh0ZXJuIF9fdHlwZW9mICh4bWxGaWxlT3BlbikgeG1sRmlsZU9wZW4gX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxGaWxlT3Blbl9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sRmlsZU9wZW4KK2V4dGVybiBfX3R5cGVvZiAoeG1sRmlsZU9wZW4pIHhtbEZpbGVPcGVuX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sRmlsZU9wZW4geG1sRmlsZU9wZW5fX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3htbElPCisjdW5kZWYgeG1sRmlsZVJlYWQKK2V4dGVybiBfX3R5cGVvZiAoeG1sRmlsZVJlYWQpIHhtbEZpbGVSZWFkIF9fYXR0cmlidXRlKChhbGlhcygieG1sRmlsZVJlYWRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEZpbGVSZWFkCitleHRlcm4gX190eXBlb2YgKHhtbEZpbGVSZWFkKSB4bWxGaWxlUmVhZF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEZpbGVSZWFkIHhtbEZpbGVSZWFkX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9lbmNvZGluZworI3VuZGVmIHhtbEZpbmRDaGFyRW5jb2RpbmdIYW5kbGVyCitleHRlcm4gX190eXBlb2YgKHhtbEZpbmRDaGFyRW5jb2RpbmdIYW5kbGVyKSB4bWxGaW5kQ2hhckVuY29kaW5nSGFuZGxlciBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbEZpbmRDaGFyRW5jb2RpbmdIYW5kbGVyX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxGaW5kQ2hhckVuY29kaW5nSGFuZGxlcgorZXh0ZXJuIF9fdHlwZW9mICh4bWxGaW5kQ2hhckVuY29kaW5nSGFuZGxlcikgeG1sRmluZENoYXJFbmNvZGluZ0hhbmRsZXJfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxGaW5kQ2hhckVuY29kaW5nSGFuZGxlciB4bWxGaW5kQ2hhckVuY29kaW5nSGFuZGxlcl9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3RyZWUKKyN1bmRlZiB4bWxGaXJzdEVsZW1lbnRDaGlsZAorZXh0ZXJuIF9fdHlwZW9mICh4bWxGaXJzdEVsZW1lbnRDaGlsZCkgeG1sRmlyc3RFbGVtZW50Q2hpbGQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxGaXJzdEVsZW1lbnRDaGlsZF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sRmlyc3RFbGVtZW50Q2hpbGQKK2V4dGVybiBfX3R5cGVvZiAoeG1sRmlyc3RFbGVtZW50Q2hpbGQpIHhtbEZpcnN0RWxlbWVudENoaWxkX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sRmlyc3RFbGVtZW50Q2hpbGQgeG1sRmlyc3RFbGVtZW50Q2hpbGRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fdmFsaWQKKyN1bmRlZiB4bWxGcmVlQXR0cmlidXRlVGFibGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sRnJlZUF0dHJpYnV0ZVRhYmxlKSB4bWxGcmVlQXR0cmlidXRlVGFibGUgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxGcmVlQXR0cmlidXRlVGFibGVfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEZyZWVBdHRyaWJ1dGVUYWJsZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxGcmVlQXR0cmlidXRlVGFibGUpIHhtbEZyZWVBdHRyaWJ1dGVUYWJsZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEZyZWVBdHRyaWJ1dGVUYWJsZSB4bWxGcmVlQXR0cmlidXRlVGFibGVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfUkVHRVhQX0VOQUJMRUQpICYmIGRlZmluZWQoTElCWE1MX0FVVE9NQVRBX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHJlZ2V4cAorI3VuZGVmIHhtbEZyZWVBdXRvbWF0YQorZXh0ZXJuIF9fdHlwZW9mICh4bWxGcmVlQXV0b21hdGEpIHhtbEZyZWVBdXRvbWF0YSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbEZyZWVBdXRvbWF0YV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sRnJlZUF1dG9tYXRhCitleHRlcm4gX190eXBlb2YgKHhtbEZyZWVBdXRvbWF0YSkgeG1sRnJlZUF1dG9tYXRhX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sRnJlZUF1dG9tYXRhIHhtbEZyZWVBdXRvbWF0YV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX0NBVEFMT0dfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fY2F0YWxvZworI3VuZGVmIHhtbEZyZWVDYXRhbG9nCitleHRlcm4gX190eXBlb2YgKHhtbEZyZWVDYXRhbG9nKSB4bWxGcmVlQ2F0YWxvZyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbEZyZWVDYXRhbG9nX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxGcmVlQ2F0YWxvZworZXh0ZXJuIF9fdHlwZW9mICh4bWxGcmVlQ2F0YWxvZykgeG1sRnJlZUNhdGFsb2dfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxGcmVlQ2F0YWxvZyB4bWxGcmVlQ2F0YWxvZ19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV90cmVlCisjdW5kZWYgeG1sRnJlZURvYworZXh0ZXJuIF9fdHlwZW9mICh4bWxGcmVlRG9jKSB4bWxGcmVlRG9jIF9fYXR0cmlidXRlKChhbGlhcygieG1sRnJlZURvY19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sRnJlZURvYworZXh0ZXJuIF9fdHlwZW9mICh4bWxGcmVlRG9jKSB4bWxGcmVlRG9jX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sRnJlZURvYyB4bWxGcmVlRG9jX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV92YWxpZAorI3VuZGVmIHhtbEZyZWVEb2NFbGVtZW50Q29udGVudAorZXh0ZXJuIF9fdHlwZW9mICh4bWxGcmVlRG9jRWxlbWVudENvbnRlbnQpIHhtbEZyZWVEb2NFbGVtZW50Q29udGVudCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbEZyZWVEb2NFbGVtZW50Q29udGVudF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sRnJlZURvY0VsZW1lbnRDb250ZW50CitleHRlcm4gX190eXBlb2YgKHhtbEZyZWVEb2NFbGVtZW50Q29udGVudCkgeG1sRnJlZURvY0VsZW1lbnRDb250ZW50X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sRnJlZURvY0VsZW1lbnRDb250ZW50IHhtbEZyZWVEb2NFbGVtZW50Q29udGVudF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fdHJlZQorI3VuZGVmIHhtbEZyZWVEdGQKK2V4dGVybiBfX3R5cGVvZiAoeG1sRnJlZUR0ZCkgeG1sRnJlZUR0ZCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbEZyZWVEdGRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEZyZWVEdGQKK2V4dGVybiBfX3R5cGVvZiAoeG1sRnJlZUR0ZCkgeG1sRnJlZUR0ZF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEZyZWVEdGQgeG1sRnJlZUR0ZF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fdmFsaWQKKyN1bmRlZiB4bWxGcmVlRWxlbWVudENvbnRlbnQKK2V4dGVybiBfX3R5cGVvZiAoeG1sRnJlZUVsZW1lbnRDb250ZW50KSB4bWxGcmVlRWxlbWVudENvbnRlbnQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxGcmVlRWxlbWVudENvbnRlbnRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEZyZWVFbGVtZW50Q29udGVudAorZXh0ZXJuIF9fdHlwZW9mICh4bWxGcmVlRWxlbWVudENvbnRlbnQpIHhtbEZyZWVFbGVtZW50Q29udGVudF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEZyZWVFbGVtZW50Q29udGVudCB4bWxGcmVlRWxlbWVudENvbnRlbnRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3ZhbGlkCisjdW5kZWYgeG1sRnJlZUVsZW1lbnRUYWJsZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxGcmVlRWxlbWVudFRhYmxlKSB4bWxGcmVlRWxlbWVudFRhYmxlIF9fYXR0cmlidXRlKChhbGlhcygieG1sRnJlZUVsZW1lbnRUYWJsZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sRnJlZUVsZW1lbnRUYWJsZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxGcmVlRWxlbWVudFRhYmxlKSB4bWxGcmVlRWxlbWVudFRhYmxlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sRnJlZUVsZW1lbnRUYWJsZSB4bWxGcmVlRWxlbWVudFRhYmxlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9lbnRpdGllcworI3VuZGVmIHhtbEZyZWVFbnRpdGllc1RhYmxlCitleHRlcm4gX190eXBlb2YgKHhtbEZyZWVFbnRpdGllc1RhYmxlKSB4bWxGcmVlRW50aXRpZXNUYWJsZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbEZyZWVFbnRpdGllc1RhYmxlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxGcmVlRW50aXRpZXNUYWJsZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxGcmVlRW50aXRpZXNUYWJsZSkgeG1sRnJlZUVudGl0aWVzVGFibGVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxGcmVlRW50aXRpZXNUYWJsZSB4bWxGcmVlRW50aXRpZXNUYWJsZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fdmFsaWQKKyN1bmRlZiB4bWxGcmVlRW51bWVyYXRpb24KK2V4dGVybiBfX3R5cGVvZiAoeG1sRnJlZUVudW1lcmF0aW9uKSB4bWxGcmVlRW51bWVyYXRpb24gX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxGcmVlRW51bWVyYXRpb25fX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEZyZWVFbnVtZXJhdGlvbgorZXh0ZXJuIF9fdHlwZW9mICh4bWxGcmVlRW51bWVyYXRpb24pIHhtbEZyZWVFbnVtZXJhdGlvbl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEZyZWVFbnVtZXJhdGlvbiB4bWxGcmVlRW51bWVyYXRpb25fX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3ZhbGlkCisjdW5kZWYgeG1sRnJlZUlEVGFibGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sRnJlZUlEVGFibGUpIHhtbEZyZWVJRFRhYmxlIF9fYXR0cmlidXRlKChhbGlhcygieG1sRnJlZUlEVGFibGVfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEZyZWVJRFRhYmxlCitleHRlcm4gX190eXBlb2YgKHhtbEZyZWVJRFRhYmxlKSB4bWxGcmVlSURUYWJsZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEZyZWVJRFRhYmxlIHhtbEZyZWVJRFRhYmxlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9wYXJzZXJJbnRlcm5hbHMKKyN1bmRlZiB4bWxGcmVlSW5wdXRTdHJlYW0KK2V4dGVybiBfX3R5cGVvZiAoeG1sRnJlZUlucHV0U3RyZWFtKSB4bWxGcmVlSW5wdXRTdHJlYW0gX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxGcmVlSW5wdXRTdHJlYW1fX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEZyZWVJbnB1dFN0cmVhbQorZXh0ZXJuIF9fdHlwZW9mICh4bWxGcmVlSW5wdXRTdHJlYW0pIHhtbEZyZWVJbnB1dFN0cmVhbV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEZyZWVJbnB1dFN0cmVhbSB4bWxGcmVlSW5wdXRTdHJlYW1fX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3RocmVhZHMKKyN1bmRlZiB4bWxGcmVlTXV0ZXgKK2V4dGVybiBfX3R5cGVvZiAoeG1sRnJlZU11dGV4KSB4bWxGcmVlTXV0ZXggX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxGcmVlTXV0ZXhfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEZyZWVNdXRleAorZXh0ZXJuIF9fdHlwZW9mICh4bWxGcmVlTXV0ZXgpIHhtbEZyZWVNdXRleF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEZyZWVNdXRleCB4bWxGcmVlTXV0ZXhfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3RyZWUKKyN1bmRlZiB4bWxGcmVlTm9kZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxGcmVlTm9kZSkgeG1sRnJlZU5vZGUgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxGcmVlTm9kZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sRnJlZU5vZGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sRnJlZU5vZGUpIHhtbEZyZWVOb2RlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sRnJlZU5vZGUgeG1sRnJlZU5vZGVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3RyZWUKKyN1bmRlZiB4bWxGcmVlTm9kZUxpc3QKK2V4dGVybiBfX3R5cGVvZiAoeG1sRnJlZU5vZGVMaXN0KSB4bWxGcmVlTm9kZUxpc3QgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxGcmVlTm9kZUxpc3RfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEZyZWVOb2RlTGlzdAorZXh0ZXJuIF9fdHlwZW9mICh4bWxGcmVlTm9kZUxpc3QpIHhtbEZyZWVOb2RlTGlzdF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEZyZWVOb2RlTGlzdCB4bWxGcmVlTm9kZUxpc3RfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3ZhbGlkCisjdW5kZWYgeG1sRnJlZU5vdGF0aW9uVGFibGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sRnJlZU5vdGF0aW9uVGFibGUpIHhtbEZyZWVOb3RhdGlvblRhYmxlIF9fYXR0cmlidXRlKChhbGlhcygieG1sRnJlZU5vdGF0aW9uVGFibGVfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEZyZWVOb3RhdGlvblRhYmxlCitleHRlcm4gX190eXBlb2YgKHhtbEZyZWVOb3RhdGlvblRhYmxlKSB4bWxGcmVlTm90YXRpb25UYWJsZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEZyZWVOb3RhdGlvblRhYmxlIHhtbEZyZWVOb3RhdGlvblRhYmxlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV90cmVlCisjdW5kZWYgeG1sRnJlZU5zCitleHRlcm4gX190eXBlb2YgKHhtbEZyZWVOcykgeG1sRnJlZU5zIF9fYXR0cmlidXRlKChhbGlhcygieG1sRnJlZU5zX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxGcmVlTnMKK2V4dGVybiBfX3R5cGVvZiAoeG1sRnJlZU5zKSB4bWxGcmVlTnNfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxGcmVlTnMgeG1sRnJlZU5zX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV90cmVlCisjdW5kZWYgeG1sRnJlZU5zTGlzdAorZXh0ZXJuIF9fdHlwZW9mICh4bWxGcmVlTnNMaXN0KSB4bWxGcmVlTnNMaXN0IF9fYXR0cmlidXRlKChhbGlhcygieG1sRnJlZU5zTGlzdF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sRnJlZU5zTGlzdAorZXh0ZXJuIF9fdHlwZW9mICh4bWxGcmVlTnNMaXN0KSB4bWxGcmVlTnNMaXN0X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sRnJlZU5zTGlzdCB4bWxGcmVlTnNMaXN0X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9wYXJzZXJJbnRlcm5hbHMKKyN1bmRlZiB4bWxGcmVlUGFyc2VyQ3R4dAorZXh0ZXJuIF9fdHlwZW9mICh4bWxGcmVlUGFyc2VyQ3R4dCkgeG1sRnJlZVBhcnNlckN0eHQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxGcmVlUGFyc2VyQ3R4dF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sRnJlZVBhcnNlckN0eHQKK2V4dGVybiBfX3R5cGVvZiAoeG1sRnJlZVBhcnNlckN0eHQpIHhtbEZyZWVQYXJzZXJDdHh0X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sRnJlZVBhcnNlckN0eHQgeG1sRnJlZVBhcnNlckN0eHRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3htbElPCisjdW5kZWYgeG1sRnJlZVBhcnNlcklucHV0QnVmZmVyCitleHRlcm4gX190eXBlb2YgKHhtbEZyZWVQYXJzZXJJbnB1dEJ1ZmZlcikgeG1sRnJlZVBhcnNlcklucHV0QnVmZmVyIF9fYXR0cmlidXRlKChhbGlhcygieG1sRnJlZVBhcnNlcklucHV0QnVmZmVyX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxGcmVlUGFyc2VySW5wdXRCdWZmZXIKK2V4dGVybiBfX3R5cGVvZiAoeG1sRnJlZVBhcnNlcklucHV0QnVmZmVyKSB4bWxGcmVlUGFyc2VySW5wdXRCdWZmZXJfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxGcmVlUGFyc2VySW5wdXRCdWZmZXIgeG1sRnJlZVBhcnNlcklucHV0QnVmZmVyX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1BBVFRFUk5fRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fcGF0dGVybgorI3VuZGVmIHhtbEZyZWVQYXR0ZXJuCitleHRlcm4gX190eXBlb2YgKHhtbEZyZWVQYXR0ZXJuKSB4bWxGcmVlUGF0dGVybiBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbEZyZWVQYXR0ZXJuX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxGcmVlUGF0dGVybgorZXh0ZXJuIF9fdHlwZW9mICh4bWxGcmVlUGF0dGVybikgeG1sRnJlZVBhdHRlcm5fX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxGcmVlUGF0dGVybiB4bWxGcmVlUGF0dGVybl9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1BBVFRFUk5fRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fcGF0dGVybgorI3VuZGVmIHhtbEZyZWVQYXR0ZXJuTGlzdAorZXh0ZXJuIF9fdHlwZW9mICh4bWxGcmVlUGF0dGVybkxpc3QpIHhtbEZyZWVQYXR0ZXJuTGlzdCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbEZyZWVQYXR0ZXJuTGlzdF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sRnJlZVBhdHRlcm5MaXN0CitleHRlcm4gX190eXBlb2YgKHhtbEZyZWVQYXR0ZXJuTGlzdCkgeG1sRnJlZVBhdHRlcm5MaXN0X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sRnJlZVBhdHRlcm5MaXN0IHhtbEZyZWVQYXR0ZXJuTGlzdF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV90cmVlCisjdW5kZWYgeG1sRnJlZVByb3AKK2V4dGVybiBfX3R5cGVvZiAoeG1sRnJlZVByb3ApIHhtbEZyZWVQcm9wIF9fYXR0cmlidXRlKChhbGlhcygieG1sRnJlZVByb3BfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEZyZWVQcm9wCitleHRlcm4gX190eXBlb2YgKHhtbEZyZWVQcm9wKSB4bWxGcmVlUHJvcF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEZyZWVQcm9wIHhtbEZyZWVQcm9wX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV90cmVlCisjdW5kZWYgeG1sRnJlZVByb3BMaXN0CitleHRlcm4gX190eXBlb2YgKHhtbEZyZWVQcm9wTGlzdCkgeG1sRnJlZVByb3BMaXN0IF9fYXR0cmlidXRlKChhbGlhcygieG1sRnJlZVByb3BMaXN0X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxGcmVlUHJvcExpc3QKK2V4dGVybiBfX3R5cGVvZiAoeG1sRnJlZVByb3BMaXN0KSB4bWxGcmVlUHJvcExpc3RfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxGcmVlUHJvcExpc3QgeG1sRnJlZVByb3BMaXN0X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV90aHJlYWRzCisjdW5kZWYgeG1sRnJlZVJNdXRleAorZXh0ZXJuIF9fdHlwZW9mICh4bWxGcmVlUk11dGV4KSB4bWxGcmVlUk11dGV4IF9fYXR0cmlidXRlKChhbGlhcygieG1sRnJlZVJNdXRleF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sRnJlZVJNdXRleAorZXh0ZXJuIF9fdHlwZW9mICh4bWxGcmVlUk11dGV4KSB4bWxGcmVlUk11dGV4X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sRnJlZVJNdXRleCB4bWxGcmVlUk11dGV4X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV92YWxpZAorI3VuZGVmIHhtbEZyZWVSZWZUYWJsZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxGcmVlUmVmVGFibGUpIHhtbEZyZWVSZWZUYWJsZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbEZyZWVSZWZUYWJsZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sRnJlZVJlZlRhYmxlCitleHRlcm4gX190eXBlb2YgKHhtbEZyZWVSZWZUYWJsZSkgeG1sRnJlZVJlZlRhYmxlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sRnJlZVJlZlRhYmxlIHhtbEZyZWVSZWZUYWJsZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9QQVRURVJOX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3BhdHRlcm4KKyN1bmRlZiB4bWxGcmVlU3RyZWFtQ3R4dAorZXh0ZXJuIF9fdHlwZW9mICh4bWxGcmVlU3RyZWFtQ3R4dCkgeG1sRnJlZVN0cmVhbUN0eHQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxGcmVlU3RyZWFtQ3R4dF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sRnJlZVN0cmVhbUN0eHQKK2V4dGVybiBfX3R5cGVvZiAoeG1sRnJlZVN0cmVhbUN0eHQpIHhtbEZyZWVTdHJlYW1DdHh0X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sRnJlZVN0cmVhbUN0eHQgeG1sRnJlZVN0cmVhbUN0eHRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1scmVhZGVyCisjdW5kZWYgeG1sRnJlZVRleHRSZWFkZXIKK2V4dGVybiBfX3R5cGVvZiAoeG1sRnJlZVRleHRSZWFkZXIpIHhtbEZyZWVUZXh0UmVhZGVyIF9fYXR0cmlidXRlKChhbGlhcygieG1sRnJlZVRleHRSZWFkZXJfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEZyZWVUZXh0UmVhZGVyCitleHRlcm4gX190eXBlb2YgKHhtbEZyZWVUZXh0UmVhZGVyKSB4bWxGcmVlVGV4dFJlYWRlcl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEZyZWVUZXh0UmVhZGVyIHhtbEZyZWVUZXh0UmVhZGVyX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHdyaXRlcgorI3VuZGVmIHhtbEZyZWVUZXh0V3JpdGVyCitleHRlcm4gX190eXBlb2YgKHhtbEZyZWVUZXh0V3JpdGVyKSB4bWxGcmVlVGV4dFdyaXRlciBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbEZyZWVUZXh0V3JpdGVyX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxGcmVlVGV4dFdyaXRlcgorZXh0ZXJuIF9fdHlwZW9mICh4bWxGcmVlVGV4dFdyaXRlcikgeG1sRnJlZVRleHRXcml0ZXJfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxGcmVlVGV4dFdyaXRlciB4bWxGcmVlVGV4dFdyaXRlcl9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV91cmkKKyN1bmRlZiB4bWxGcmVlVVJJCitleHRlcm4gX190eXBlb2YgKHhtbEZyZWVVUkkpIHhtbEZyZWVVUkkgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxGcmVlVVJJX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxGcmVlVVJJCitleHRlcm4gX190eXBlb2YgKHhtbEZyZWVVUkkpIHhtbEZyZWVVUklfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxGcmVlVVJJIHhtbEZyZWVVUklfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVkFMSURfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fdmFsaWQKKyN1bmRlZiB4bWxGcmVlVmFsaWRDdHh0CitleHRlcm4gX190eXBlb2YgKHhtbEZyZWVWYWxpZEN0eHQpIHhtbEZyZWVWYWxpZEN0eHQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxGcmVlVmFsaWRDdHh0X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxGcmVlVmFsaWRDdHh0CitleHRlcm4gX190eXBlb2YgKHhtbEZyZWVWYWxpZEN0eHQpIHhtbEZyZWVWYWxpZEN0eHRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxGcmVlVmFsaWRDdHh0IHhtbEZyZWVWYWxpZEN0eHRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21feG1sbWVtb3J5CisjdW5kZWYgeG1sR2NNZW1HZXQKK2V4dGVybiBfX3R5cGVvZiAoeG1sR2NNZW1HZXQpIHhtbEdjTWVtR2V0IF9fYXR0cmlidXRlKChhbGlhcygieG1sR2NNZW1HZXRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEdjTWVtR2V0CitleHRlcm4gX190eXBlb2YgKHhtbEdjTWVtR2V0KSB4bWxHY01lbUdldF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEdjTWVtR2V0IHhtbEdjTWVtR2V0X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV94bWxtZW1vcnkKKyN1bmRlZiB4bWxHY01lbVNldHVwCitleHRlcm4gX190eXBlb2YgKHhtbEdjTWVtU2V0dXApIHhtbEdjTWVtU2V0dXAgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxHY01lbVNldHVwX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxHY01lbVNldHVwCitleHRlcm4gX190eXBlb2YgKHhtbEdjTWVtU2V0dXApIHhtbEdjTWVtU2V0dXBfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxHY01lbVNldHVwIHhtbEdjTWVtU2V0dXBfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3RyZWUKKyN1bmRlZiB4bWxHZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lCitleHRlcm4gX190eXBlb2YgKHhtbEdldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUpIHhtbEdldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxHZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxHZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lCitleHRlcm4gX190eXBlb2YgKHhtbEdldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUpIHhtbEdldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxHZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lIHhtbEdldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX2VuY29kaW5nCisjdW5kZWYgeG1sR2V0Q2hhckVuY29kaW5nSGFuZGxlcgorZXh0ZXJuIF9fdHlwZW9mICh4bWxHZXRDaGFyRW5jb2RpbmdIYW5kbGVyKSB4bWxHZXRDaGFyRW5jb2RpbmdIYW5kbGVyIF9fYXR0cmlidXRlKChhbGlhcygieG1sR2V0Q2hhckVuY29kaW5nSGFuZGxlcl9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sR2V0Q2hhckVuY29kaW5nSGFuZGxlcgorZXh0ZXJuIF9fdHlwZW9mICh4bWxHZXRDaGFyRW5jb2RpbmdIYW5kbGVyKSB4bWxHZXRDaGFyRW5jb2RpbmdIYW5kbGVyX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sR2V0Q2hhckVuY29kaW5nSGFuZGxlciB4bWxHZXRDaGFyRW5jb2RpbmdIYW5kbGVyX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9lbmNvZGluZworI3VuZGVmIHhtbEdldENoYXJFbmNvZGluZ05hbWUKK2V4dGVybiBfX3R5cGVvZiAoeG1sR2V0Q2hhckVuY29kaW5nTmFtZSkgeG1sR2V0Q2hhckVuY29kaW5nTmFtZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbEdldENoYXJFbmNvZGluZ05hbWVfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEdldENoYXJFbmNvZGluZ05hbWUKK2V4dGVybiBfX3R5cGVvZiAoeG1sR2V0Q2hhckVuY29kaW5nTmFtZSkgeG1sR2V0Q2hhckVuY29kaW5nTmFtZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEdldENoYXJFbmNvZGluZ05hbWUgeG1sR2V0Q2hhckVuY29kaW5nTmFtZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fdHJlZQorI3VuZGVmIHhtbEdldENvbXByZXNzTW9kZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxHZXRDb21wcmVzc01vZGUpIHhtbEdldENvbXByZXNzTW9kZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbEdldENvbXByZXNzTW9kZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sR2V0Q29tcHJlc3NNb2RlCitleHRlcm4gX190eXBlb2YgKHhtbEdldENvbXByZXNzTW9kZSkgeG1sR2V0Q29tcHJlc3NNb2RlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sR2V0Q29tcHJlc3NNb2RlIHhtbEdldENvbXByZXNzTW9kZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fdHJlZQorI3VuZGVmIHhtbEdldERvY0NvbXByZXNzTW9kZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxHZXREb2NDb21wcmVzc01vZGUpIHhtbEdldERvY0NvbXByZXNzTW9kZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbEdldERvY0NvbXByZXNzTW9kZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sR2V0RG9jQ29tcHJlc3NNb2RlCitleHRlcm4gX190eXBlb2YgKHhtbEdldERvY0NvbXByZXNzTW9kZSkgeG1sR2V0RG9jQ29tcHJlc3NNb2RlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sR2V0RG9jQ29tcHJlc3NNb2RlIHhtbEdldERvY0NvbXByZXNzTW9kZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fZW50aXRpZXMKKyN1bmRlZiB4bWxHZXREb2NFbnRpdHkKK2V4dGVybiBfX3R5cGVvZiAoeG1sR2V0RG9jRW50aXR5KSB4bWxHZXREb2NFbnRpdHkgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxHZXREb2NFbnRpdHlfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEdldERvY0VudGl0eQorZXh0ZXJuIF9fdHlwZW9mICh4bWxHZXREb2NFbnRpdHkpIHhtbEdldERvY0VudGl0eV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEdldERvY0VudGl0eSB4bWxHZXREb2NFbnRpdHlfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3ZhbGlkCisjdW5kZWYgeG1sR2V0RHRkQXR0ckRlc2MKK2V4dGVybiBfX3R5cGVvZiAoeG1sR2V0RHRkQXR0ckRlc2MpIHhtbEdldER0ZEF0dHJEZXNjIF9fYXR0cmlidXRlKChhbGlhcygieG1sR2V0RHRkQXR0ckRlc2NfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEdldER0ZEF0dHJEZXNjCitleHRlcm4gX190eXBlb2YgKHhtbEdldER0ZEF0dHJEZXNjKSB4bWxHZXREdGRBdHRyRGVzY19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEdldER0ZEF0dHJEZXNjIHhtbEdldER0ZEF0dHJEZXNjX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV92YWxpZAorI3VuZGVmIHhtbEdldER0ZEVsZW1lbnREZXNjCitleHRlcm4gX190eXBlb2YgKHhtbEdldER0ZEVsZW1lbnREZXNjKSB4bWxHZXREdGRFbGVtZW50RGVzYyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbEdldER0ZEVsZW1lbnREZXNjX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxHZXREdGRFbGVtZW50RGVzYworZXh0ZXJuIF9fdHlwZW9mICh4bWxHZXREdGRFbGVtZW50RGVzYykgeG1sR2V0RHRkRWxlbWVudERlc2NfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxHZXREdGRFbGVtZW50RGVzYyB4bWxHZXREdGRFbGVtZW50RGVzY19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fZW50aXRpZXMKKyN1bmRlZiB4bWxHZXREdGRFbnRpdHkKK2V4dGVybiBfX3R5cGVvZiAoeG1sR2V0RHRkRW50aXR5KSB4bWxHZXREdGRFbnRpdHkgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxHZXREdGRFbnRpdHlfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEdldER0ZEVudGl0eQorZXh0ZXJuIF9fdHlwZW9mICh4bWxHZXREdGRFbnRpdHkpIHhtbEdldER0ZEVudGl0eV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEdldER0ZEVudGl0eSB4bWxHZXREdGRFbnRpdHlfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3ZhbGlkCisjdW5kZWYgeG1sR2V0RHRkTm90YXRpb25EZXNjCitleHRlcm4gX190eXBlb2YgKHhtbEdldER0ZE5vdGF0aW9uRGVzYykgeG1sR2V0RHRkTm90YXRpb25EZXNjIF9fYXR0cmlidXRlKChhbGlhcygieG1sR2V0RHRkTm90YXRpb25EZXNjX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxHZXREdGROb3RhdGlvbkRlc2MKK2V4dGVybiBfX3R5cGVvZiAoeG1sR2V0RHRkTm90YXRpb25EZXNjKSB4bWxHZXREdGROb3RhdGlvbkRlc2NfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxHZXREdGROb3RhdGlvbkRlc2MgeG1sR2V0RHRkTm90YXRpb25EZXNjX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV92YWxpZAorI3VuZGVmIHhtbEdldER0ZFFBdHRyRGVzYworZXh0ZXJuIF9fdHlwZW9mICh4bWxHZXREdGRRQXR0ckRlc2MpIHhtbEdldER0ZFFBdHRyRGVzYyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbEdldER0ZFFBdHRyRGVzY19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sR2V0RHRkUUF0dHJEZXNjCitleHRlcm4gX190eXBlb2YgKHhtbEdldER0ZFFBdHRyRGVzYykgeG1sR2V0RHRkUUF0dHJEZXNjX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sR2V0RHRkUUF0dHJEZXNjIHhtbEdldER0ZFFBdHRyRGVzY19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fdmFsaWQKKyN1bmRlZiB4bWxHZXREdGRRRWxlbWVudERlc2MKK2V4dGVybiBfX3R5cGVvZiAoeG1sR2V0RHRkUUVsZW1lbnREZXNjKSB4bWxHZXREdGRRRWxlbWVudERlc2MgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxHZXREdGRRRWxlbWVudERlc2NfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEdldER0ZFFFbGVtZW50RGVzYworZXh0ZXJuIF9fdHlwZW9mICh4bWxHZXREdGRRRWxlbWVudERlc2MpIHhtbEdldER0ZFFFbGVtZW50RGVzY19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEdldER0ZFFFbGVtZW50RGVzYyB4bWxHZXREdGRRRWxlbWVudERlc2NfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX2VuY29kaW5nCisjdW5kZWYgeG1sR2V0RW5jb2RpbmdBbGlhcworZXh0ZXJuIF9fdHlwZW9mICh4bWxHZXRFbmNvZGluZ0FsaWFzKSB4bWxHZXRFbmNvZGluZ0FsaWFzIF9fYXR0cmlidXRlKChhbGlhcygieG1sR2V0RW5jb2RpbmdBbGlhc19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sR2V0RW5jb2RpbmdBbGlhcworZXh0ZXJuIF9fdHlwZW9mICh4bWxHZXRFbmNvZGluZ0FsaWFzKSB4bWxHZXRFbmNvZGluZ0FsaWFzX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sR2V0RW5jb2RpbmdBbGlhcyB4bWxHZXRFbmNvZGluZ0FsaWFzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV94bWxJTworI3VuZGVmIHhtbEdldEV4dGVybmFsRW50aXR5TG9hZGVyCitleHRlcm4gX190eXBlb2YgKHhtbEdldEV4dGVybmFsRW50aXR5TG9hZGVyKSB4bWxHZXRFeHRlcm5hbEVudGl0eUxvYWRlciBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbEdldEV4dGVybmFsRW50aXR5TG9hZGVyX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxHZXRFeHRlcm5hbEVudGl0eUxvYWRlcgorZXh0ZXJuIF9fdHlwZW9mICh4bWxHZXRFeHRlcm5hbEVudGl0eUxvYWRlcikgeG1sR2V0RXh0ZXJuYWxFbnRpdHlMb2FkZXJfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxHZXRFeHRlcm5hbEVudGl0eUxvYWRlciB4bWxHZXRFeHRlcm5hbEVudGl0eUxvYWRlcl9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9MRUdBQ1lfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fbGVnYWN5CisjdW5kZWYgeG1sR2V0RmVhdHVyZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxHZXRGZWF0dXJlKSB4bWxHZXRGZWF0dXJlIF9fYXR0cmlidXRlKChhbGlhcygieG1sR2V0RmVhdHVyZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sR2V0RmVhdHVyZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxHZXRGZWF0dXJlKSB4bWxHZXRGZWF0dXJlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sR2V0RmVhdHVyZSB4bWxHZXRGZWF0dXJlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfTEVHQUNZX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX2xlZ2FjeQorI3VuZGVmIHhtbEdldEZlYXR1cmVzTGlzdAorZXh0ZXJuIF9fdHlwZW9mICh4bWxHZXRGZWF0dXJlc0xpc3QpIHhtbEdldEZlYXR1cmVzTGlzdCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbEdldEZlYXR1cmVzTGlzdF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sR2V0RmVhdHVyZXNMaXN0CitleHRlcm4gX190eXBlb2YgKHhtbEdldEZlYXR1cmVzTGlzdCkgeG1sR2V0RmVhdHVyZXNMaXN0X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sR2V0RmVhdHVyZXNMaXN0IHhtbEdldEZlYXR1cmVzTGlzdF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV90aHJlYWRzCisjdW5kZWYgeG1sR2V0R2xvYmFsU3RhdGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sR2V0R2xvYmFsU3RhdGUpIHhtbEdldEdsb2JhbFN0YXRlIF9fYXR0cmlidXRlKChhbGlhcygieG1sR2V0R2xvYmFsU3RhdGVfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEdldEdsb2JhbFN0YXRlCitleHRlcm4gX190eXBlb2YgKHhtbEdldEdsb2JhbFN0YXRlKSB4bWxHZXRHbG9iYWxTdGF0ZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEdldEdsb2JhbFN0YXRlIHhtbEdldEdsb2JhbFN0YXRlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV92YWxpZAorI3VuZGVmIHhtbEdldElECitleHRlcm4gX190eXBlb2YgKHhtbEdldElEKSB4bWxHZXRJRCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbEdldElEX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxHZXRJRAorZXh0ZXJuIF9fdHlwZW9mICh4bWxHZXRJRCkgeG1sR2V0SURfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxHZXRJRCB4bWxHZXRJRF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fdHJlZQorI3VuZGVmIHhtbEdldEludFN1YnNldAorZXh0ZXJuIF9fdHlwZW9mICh4bWxHZXRJbnRTdWJzZXQpIHhtbEdldEludFN1YnNldCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbEdldEludFN1YnNldF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sR2V0SW50U3Vic2V0CitleHRlcm4gX190eXBlb2YgKHhtbEdldEludFN1YnNldCkgeG1sR2V0SW50U3Vic2V0X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sR2V0SW50U3Vic2V0IHhtbEdldEludFN1YnNldF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fdHJlZQorI3VuZGVmIHhtbEdldExhc3RDaGlsZAorZXh0ZXJuIF9fdHlwZW9mICh4bWxHZXRMYXN0Q2hpbGQpIHhtbEdldExhc3RDaGlsZCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbEdldExhc3RDaGlsZF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sR2V0TGFzdENoaWxkCitleHRlcm4gX190eXBlb2YgKHhtbEdldExhc3RDaGlsZCkgeG1sR2V0TGFzdENoaWxkX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sR2V0TGFzdENoaWxkIHhtbEdldExhc3RDaGlsZF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fZXJyb3IKKyN1bmRlZiB4bWxHZXRMYXN0RXJyb3IKK2V4dGVybiBfX3R5cGVvZiAoeG1sR2V0TGFzdEVycm9yKSB4bWxHZXRMYXN0RXJyb3IgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxHZXRMYXN0RXJyb3JfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEdldExhc3RFcnJvcgorZXh0ZXJuIF9fdHlwZW9mICh4bWxHZXRMYXN0RXJyb3IpIHhtbEdldExhc3RFcnJvcl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEdldExhc3RFcnJvciB4bWxHZXRMYXN0RXJyb3JfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3RyZWUKKyN1bmRlZiB4bWxHZXRMaW5lTm8KK2V4dGVybiBfX3R5cGVvZiAoeG1sR2V0TGluZU5vKSB4bWxHZXRMaW5lTm8gX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxHZXRMaW5lTm9fX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEdldExpbmVObworZXh0ZXJuIF9fdHlwZW9mICh4bWxHZXRMaW5lTm8pIHhtbEdldExpbmVOb19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEdldExpbmVObyB4bWxHZXRMaW5lTm9fX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3RyZWUKKyN1bmRlZiB4bWxHZXROb05zUHJvcAorZXh0ZXJuIF9fdHlwZW9mICh4bWxHZXROb05zUHJvcCkgeG1sR2V0Tm9Oc1Byb3AgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxHZXROb05zUHJvcF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sR2V0Tm9Oc1Byb3AKK2V4dGVybiBfX3R5cGVvZiAoeG1sR2V0Tm9Oc1Byb3ApIHhtbEdldE5vTnNQcm9wX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sR2V0Tm9Oc1Byb3AgeG1sR2V0Tm9Oc1Byb3BfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVFJFRV9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9ERUJVR19FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV90cmVlCisjdW5kZWYgeG1sR2V0Tm9kZVBhdGgKK2V4dGVybiBfX3R5cGVvZiAoeG1sR2V0Tm9kZVBhdGgpIHhtbEdldE5vZGVQYXRoIF9fYXR0cmlidXRlKChhbGlhcygieG1sR2V0Tm9kZVBhdGhfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEdldE5vZGVQYXRoCitleHRlcm4gX190eXBlb2YgKHhtbEdldE5vZGVQYXRoKSB4bWxHZXROb2RlUGF0aF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEdldE5vZGVQYXRoIHhtbEdldE5vZGVQYXRoX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVFJFRV9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3RyZWUKKyN1bmRlZiB4bWxHZXROc0xpc3QKK2V4dGVybiBfX3R5cGVvZiAoeG1sR2V0TnNMaXN0KSB4bWxHZXROc0xpc3QgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxHZXROc0xpc3RfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEdldE5zTGlzdAorZXh0ZXJuIF9fdHlwZW9mICh4bWxHZXROc0xpc3QpIHhtbEdldE5zTGlzdF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEdldE5zTGlzdCB4bWxHZXROc0xpc3RfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fdHJlZQorI3VuZGVmIHhtbEdldE5zUHJvcAorZXh0ZXJuIF9fdHlwZW9mICh4bWxHZXROc1Byb3ApIHhtbEdldE5zUHJvcCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbEdldE5zUHJvcF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sR2V0TnNQcm9wCitleHRlcm4gX190eXBlb2YgKHhtbEdldE5zUHJvcCkgeG1sR2V0TnNQcm9wX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sR2V0TnNQcm9wIHhtbEdldE5zUHJvcF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fZW50aXRpZXMKKyN1bmRlZiB4bWxHZXRQYXJhbWV0ZXJFbnRpdHkKK2V4dGVybiBfX3R5cGVvZiAoeG1sR2V0UGFyYW1ldGVyRW50aXR5KSB4bWxHZXRQYXJhbWV0ZXJFbnRpdHkgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxHZXRQYXJhbWV0ZXJFbnRpdHlfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEdldFBhcmFtZXRlckVudGl0eQorZXh0ZXJuIF9fdHlwZW9mICh4bWxHZXRQYXJhbWV0ZXJFbnRpdHkpIHhtbEdldFBhcmFtZXRlckVudGl0eV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEdldFBhcmFtZXRlckVudGl0eSB4bWxHZXRQYXJhbWV0ZXJFbnRpdHlfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX2VudGl0aWVzCisjdW5kZWYgeG1sR2V0UHJlZGVmaW5lZEVudGl0eQorZXh0ZXJuIF9fdHlwZW9mICh4bWxHZXRQcmVkZWZpbmVkRW50aXR5KSB4bWxHZXRQcmVkZWZpbmVkRW50aXR5IF9fYXR0cmlidXRlKChhbGlhcygieG1sR2V0UHJlZGVmaW5lZEVudGl0eV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sR2V0UHJlZGVmaW5lZEVudGl0eQorZXh0ZXJuIF9fdHlwZW9mICh4bWxHZXRQcmVkZWZpbmVkRW50aXR5KSB4bWxHZXRQcmVkZWZpbmVkRW50aXR5X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sR2V0UHJlZGVmaW5lZEVudGl0eSB4bWxHZXRQcmVkZWZpbmVkRW50aXR5X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV90cmVlCisjdW5kZWYgeG1sR2V0UHJvcAorZXh0ZXJuIF9fdHlwZW9mICh4bWxHZXRQcm9wKSB4bWxHZXRQcm9wIF9fYXR0cmlidXRlKChhbGlhcygieG1sR2V0UHJvcF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sR2V0UHJvcAorZXh0ZXJuIF9fdHlwZW9mICh4bWxHZXRQcm9wKSB4bWxHZXRQcm9wX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sR2V0UHJvcCB4bWxHZXRQcm9wX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV92YWxpZAorI3VuZGVmIHhtbEdldFJlZnMKK2V4dGVybiBfX3R5cGVvZiAoeG1sR2V0UmVmcykgeG1sR2V0UmVmcyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbEdldFJlZnNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEdldFJlZnMKK2V4dGVybiBfX3R5cGVvZiAoeG1sR2V0UmVmcykgeG1sR2V0UmVmc19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEdldFJlZnMgeG1sR2V0UmVmc19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fdGhyZWFkcworI3VuZGVmIHhtbEdldFRocmVhZElkCitleHRlcm4gX190eXBlb2YgKHhtbEdldFRocmVhZElkKSB4bWxHZXRUaHJlYWRJZCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbEdldFRocmVhZElkX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxHZXRUaHJlYWRJZAorZXh0ZXJuIF9fdHlwZW9mICh4bWxHZXRUaHJlYWRJZCkgeG1sR2V0VGhyZWFkSWRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxHZXRUaHJlYWRJZCB4bWxHZXRUaHJlYWRJZF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21feG1sc3RyaW5nCisjdW5kZWYgeG1sR2V0VVRGOENoYXIKK2V4dGVybiBfX3R5cGVvZiAoeG1sR2V0VVRGOENoYXIpIHhtbEdldFVURjhDaGFyIF9fYXR0cmlidXRlKChhbGlhcygieG1sR2V0VVRGOENoYXJfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEdldFVURjhDaGFyCitleHRlcm4gX190eXBlb2YgKHhtbEdldFVURjhDaGFyKSB4bWxHZXRVVEY4Q2hhcl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEdldFVURjhDaGFyIHhtbEdldFVURjhDaGFyX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX0xFR0FDWV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9sZWdhY3kKKyN1bmRlZiB4bWxIYW5kbGVFbnRpdHkKK2V4dGVybiBfX3R5cGVvZiAoeG1sSGFuZGxlRW50aXR5KSB4bWxIYW5kbGVFbnRpdHkgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxIYW5kbGVFbnRpdHlfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEhhbmRsZUVudGl0eQorZXh0ZXJuIF9fdHlwZW9mICh4bWxIYW5kbGVFbnRpdHkpIHhtbEhhbmRsZUVudGl0eV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEhhbmRsZUVudGl0eSB4bWxIYW5kbGVFbnRpdHlfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fcGFyc2VyCisjdW5kZWYgeG1sSGFzRmVhdHVyZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxIYXNGZWF0dXJlKSB4bWxIYXNGZWF0dXJlIF9fYXR0cmlidXRlKChhbGlhcygieG1sSGFzRmVhdHVyZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sSGFzRmVhdHVyZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxIYXNGZWF0dXJlKSB4bWxIYXNGZWF0dXJlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sSGFzRmVhdHVyZSB4bWxIYXNGZWF0dXJlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV90cmVlCisjdW5kZWYgeG1sSGFzTnNQcm9wCitleHRlcm4gX190eXBlb2YgKHhtbEhhc05zUHJvcCkgeG1sSGFzTnNQcm9wIF9fYXR0cmlidXRlKChhbGlhcygieG1sSGFzTnNQcm9wX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxIYXNOc1Byb3AKK2V4dGVybiBfX3R5cGVvZiAoeG1sSGFzTnNQcm9wKSB4bWxIYXNOc1Byb3BfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxIYXNOc1Byb3AgeG1sSGFzTnNQcm9wX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV90cmVlCisjdW5kZWYgeG1sSGFzUHJvcAorZXh0ZXJuIF9fdHlwZW9mICh4bWxIYXNQcm9wKSB4bWxIYXNQcm9wIF9fYXR0cmlidXRlKChhbGlhcygieG1sSGFzUHJvcF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sSGFzUHJvcAorZXh0ZXJuIF9fdHlwZW9mICh4bWxIYXNQcm9wKSB4bWxIYXNQcm9wX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sSGFzUHJvcCB4bWxIYXNQcm9wX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9oYXNoCisjdW5kZWYgeG1sSGFzaEFkZEVudHJ5CitleHRlcm4gX190eXBlb2YgKHhtbEhhc2hBZGRFbnRyeSkgeG1sSGFzaEFkZEVudHJ5IF9fYXR0cmlidXRlKChhbGlhcygieG1sSGFzaEFkZEVudHJ5X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxIYXNoQWRkRW50cnkKK2V4dGVybiBfX3R5cGVvZiAoeG1sSGFzaEFkZEVudHJ5KSB4bWxIYXNoQWRkRW50cnlfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxIYXNoQWRkRW50cnkgeG1sSGFzaEFkZEVudHJ5X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9oYXNoCisjdW5kZWYgeG1sSGFzaEFkZEVudHJ5MgorZXh0ZXJuIF9fdHlwZW9mICh4bWxIYXNoQWRkRW50cnkyKSB4bWxIYXNoQWRkRW50cnkyIF9fYXR0cmlidXRlKChhbGlhcygieG1sSGFzaEFkZEVudHJ5Ml9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sSGFzaEFkZEVudHJ5MgorZXh0ZXJuIF9fdHlwZW9mICh4bWxIYXNoQWRkRW50cnkyKSB4bWxIYXNoQWRkRW50cnkyX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sSGFzaEFkZEVudHJ5MiB4bWxIYXNoQWRkRW50cnkyX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9oYXNoCisjdW5kZWYgeG1sSGFzaEFkZEVudHJ5MworZXh0ZXJuIF9fdHlwZW9mICh4bWxIYXNoQWRkRW50cnkzKSB4bWxIYXNoQWRkRW50cnkzIF9fYXR0cmlidXRlKChhbGlhcygieG1sSGFzaEFkZEVudHJ5M19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sSGFzaEFkZEVudHJ5MworZXh0ZXJuIF9fdHlwZW9mICh4bWxIYXNoQWRkRW50cnkzKSB4bWxIYXNoQWRkRW50cnkzX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sSGFzaEFkZEVudHJ5MyB4bWxIYXNoQWRkRW50cnkzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9oYXNoCisjdW5kZWYgeG1sSGFzaENvcHkKK2V4dGVybiBfX3R5cGVvZiAoeG1sSGFzaENvcHkpIHhtbEhhc2hDb3B5IF9fYXR0cmlidXRlKChhbGlhcygieG1sSGFzaENvcHlfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEhhc2hDb3B5CitleHRlcm4gX190eXBlb2YgKHhtbEhhc2hDb3B5KSB4bWxIYXNoQ29weV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEhhc2hDb3B5IHhtbEhhc2hDb3B5X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9oYXNoCisjdW5kZWYgeG1sSGFzaENyZWF0ZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxIYXNoQ3JlYXRlKSB4bWxIYXNoQ3JlYXRlIF9fYXR0cmlidXRlKChhbGlhcygieG1sSGFzaENyZWF0ZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sSGFzaENyZWF0ZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxIYXNoQ3JlYXRlKSB4bWxIYXNoQ3JlYXRlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sSGFzaENyZWF0ZSB4bWxIYXNoQ3JlYXRlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9oYXNoCisjdW5kZWYgeG1sSGFzaENyZWF0ZURpY3QKK2V4dGVybiBfX3R5cGVvZiAoeG1sSGFzaENyZWF0ZURpY3QpIHhtbEhhc2hDcmVhdGVEaWN0IF9fYXR0cmlidXRlKChhbGlhcygieG1sSGFzaENyZWF0ZURpY3RfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEhhc2hDcmVhdGVEaWN0CitleHRlcm4gX190eXBlb2YgKHhtbEhhc2hDcmVhdGVEaWN0KSB4bWxIYXNoQ3JlYXRlRGljdF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEhhc2hDcmVhdGVEaWN0IHhtbEhhc2hDcmVhdGVEaWN0X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9oYXNoCisjdW5kZWYgeG1sSGFzaEZyZWUKK2V4dGVybiBfX3R5cGVvZiAoeG1sSGFzaEZyZWUpIHhtbEhhc2hGcmVlIF9fYXR0cmlidXRlKChhbGlhcygieG1sSGFzaEZyZWVfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEhhc2hGcmVlCitleHRlcm4gX190eXBlb2YgKHhtbEhhc2hGcmVlKSB4bWxIYXNoRnJlZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEhhc2hGcmVlIHhtbEhhc2hGcmVlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9oYXNoCisjdW5kZWYgeG1sSGFzaExvb2t1cAorZXh0ZXJuIF9fdHlwZW9mICh4bWxIYXNoTG9va3VwKSB4bWxIYXNoTG9va3VwIF9fYXR0cmlidXRlKChhbGlhcygieG1sSGFzaExvb2t1cF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sSGFzaExvb2t1cAorZXh0ZXJuIF9fdHlwZW9mICh4bWxIYXNoTG9va3VwKSB4bWxIYXNoTG9va3VwX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sSGFzaExvb2t1cCB4bWxIYXNoTG9va3VwX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9oYXNoCisjdW5kZWYgeG1sSGFzaExvb2t1cDIKK2V4dGVybiBfX3R5cGVvZiAoeG1sSGFzaExvb2t1cDIpIHhtbEhhc2hMb29rdXAyIF9fYXR0cmlidXRlKChhbGlhcygieG1sSGFzaExvb2t1cDJfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEhhc2hMb29rdXAyCitleHRlcm4gX190eXBlb2YgKHhtbEhhc2hMb29rdXAyKSB4bWxIYXNoTG9va3VwMl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEhhc2hMb29rdXAyIHhtbEhhc2hMb29rdXAyX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9oYXNoCisjdW5kZWYgeG1sSGFzaExvb2t1cDMKK2V4dGVybiBfX3R5cGVvZiAoeG1sSGFzaExvb2t1cDMpIHhtbEhhc2hMb29rdXAzIF9fYXR0cmlidXRlKChhbGlhcygieG1sSGFzaExvb2t1cDNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEhhc2hMb29rdXAzCitleHRlcm4gX190eXBlb2YgKHhtbEhhc2hMb29rdXAzKSB4bWxIYXNoTG9va3VwM19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEhhc2hMb29rdXAzIHhtbEhhc2hMb29rdXAzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9oYXNoCisjdW5kZWYgeG1sSGFzaFFMb29rdXAKK2V4dGVybiBfX3R5cGVvZiAoeG1sSGFzaFFMb29rdXApIHhtbEhhc2hRTG9va3VwIF9fYXR0cmlidXRlKChhbGlhcygieG1sSGFzaFFMb29rdXBfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEhhc2hRTG9va3VwCitleHRlcm4gX190eXBlb2YgKHhtbEhhc2hRTG9va3VwKSB4bWxIYXNoUUxvb2t1cF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEhhc2hRTG9va3VwIHhtbEhhc2hRTG9va3VwX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9oYXNoCisjdW5kZWYgeG1sSGFzaFFMb29rdXAyCitleHRlcm4gX190eXBlb2YgKHhtbEhhc2hRTG9va3VwMikgeG1sSGFzaFFMb29rdXAyIF9fYXR0cmlidXRlKChhbGlhcygieG1sSGFzaFFMb29rdXAyX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxIYXNoUUxvb2t1cDIKK2V4dGVybiBfX3R5cGVvZiAoeG1sSGFzaFFMb29rdXAyKSB4bWxIYXNoUUxvb2t1cDJfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxIYXNoUUxvb2t1cDIgeG1sSGFzaFFMb29rdXAyX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9oYXNoCisjdW5kZWYgeG1sSGFzaFFMb29rdXAzCitleHRlcm4gX190eXBlb2YgKHhtbEhhc2hRTG9va3VwMykgeG1sSGFzaFFMb29rdXAzIF9fYXR0cmlidXRlKChhbGlhcygieG1sSGFzaFFMb29rdXAzX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxIYXNoUUxvb2t1cDMKK2V4dGVybiBfX3R5cGVvZiAoeG1sSGFzaFFMb29rdXAzKSB4bWxIYXNoUUxvb2t1cDNfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxIYXNoUUxvb2t1cDMgeG1sSGFzaFFMb29rdXAzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9oYXNoCisjdW5kZWYgeG1sSGFzaFJlbW92ZUVudHJ5CitleHRlcm4gX190eXBlb2YgKHhtbEhhc2hSZW1vdmVFbnRyeSkgeG1sSGFzaFJlbW92ZUVudHJ5IF9fYXR0cmlidXRlKChhbGlhcygieG1sSGFzaFJlbW92ZUVudHJ5X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxIYXNoUmVtb3ZlRW50cnkKK2V4dGVybiBfX3R5cGVvZiAoeG1sSGFzaFJlbW92ZUVudHJ5KSB4bWxIYXNoUmVtb3ZlRW50cnlfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxIYXNoUmVtb3ZlRW50cnkgeG1sSGFzaFJlbW92ZUVudHJ5X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9oYXNoCisjdW5kZWYgeG1sSGFzaFJlbW92ZUVudHJ5MgorZXh0ZXJuIF9fdHlwZW9mICh4bWxIYXNoUmVtb3ZlRW50cnkyKSB4bWxIYXNoUmVtb3ZlRW50cnkyIF9fYXR0cmlidXRlKChhbGlhcygieG1sSGFzaFJlbW92ZUVudHJ5Ml9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sSGFzaFJlbW92ZUVudHJ5MgorZXh0ZXJuIF9fdHlwZW9mICh4bWxIYXNoUmVtb3ZlRW50cnkyKSB4bWxIYXNoUmVtb3ZlRW50cnkyX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sSGFzaFJlbW92ZUVudHJ5MiB4bWxIYXNoUmVtb3ZlRW50cnkyX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9oYXNoCisjdW5kZWYgeG1sSGFzaFJlbW92ZUVudHJ5MworZXh0ZXJuIF9fdHlwZW9mICh4bWxIYXNoUmVtb3ZlRW50cnkzKSB4bWxIYXNoUmVtb3ZlRW50cnkzIF9fYXR0cmlidXRlKChhbGlhcygieG1sSGFzaFJlbW92ZUVudHJ5M19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sSGFzaFJlbW92ZUVudHJ5MworZXh0ZXJuIF9fdHlwZW9mICh4bWxIYXNoUmVtb3ZlRW50cnkzKSB4bWxIYXNoUmVtb3ZlRW50cnkzX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sSGFzaFJlbW92ZUVudHJ5MyB4bWxIYXNoUmVtb3ZlRW50cnkzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9oYXNoCisjdW5kZWYgeG1sSGFzaFNjYW4KK2V4dGVybiBfX3R5cGVvZiAoeG1sSGFzaFNjYW4pIHhtbEhhc2hTY2FuIF9fYXR0cmlidXRlKChhbGlhcygieG1sSGFzaFNjYW5fX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEhhc2hTY2FuCitleHRlcm4gX190eXBlb2YgKHhtbEhhc2hTY2FuKSB4bWxIYXNoU2Nhbl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEhhc2hTY2FuIHhtbEhhc2hTY2FuX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9oYXNoCisjdW5kZWYgeG1sSGFzaFNjYW4zCitleHRlcm4gX190eXBlb2YgKHhtbEhhc2hTY2FuMykgeG1sSGFzaFNjYW4zIF9fYXR0cmlidXRlKChhbGlhcygieG1sSGFzaFNjYW4zX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxIYXNoU2NhbjMKK2V4dGVybiBfX3R5cGVvZiAoeG1sSGFzaFNjYW4zKSB4bWxIYXNoU2NhbjNfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxIYXNoU2NhbjMgeG1sSGFzaFNjYW4zX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9oYXNoCisjdW5kZWYgeG1sSGFzaFNjYW5GdWxsCitleHRlcm4gX190eXBlb2YgKHhtbEhhc2hTY2FuRnVsbCkgeG1sSGFzaFNjYW5GdWxsIF9fYXR0cmlidXRlKChhbGlhcygieG1sSGFzaFNjYW5GdWxsX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxIYXNoU2NhbkZ1bGwKK2V4dGVybiBfX3R5cGVvZiAoeG1sSGFzaFNjYW5GdWxsKSB4bWxIYXNoU2NhbkZ1bGxfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxIYXNoU2NhbkZ1bGwgeG1sSGFzaFNjYW5GdWxsX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9oYXNoCisjdW5kZWYgeG1sSGFzaFNjYW5GdWxsMworZXh0ZXJuIF9fdHlwZW9mICh4bWxIYXNoU2NhbkZ1bGwzKSB4bWxIYXNoU2NhbkZ1bGwzIF9fYXR0cmlidXRlKChhbGlhcygieG1sSGFzaFNjYW5GdWxsM19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sSGFzaFNjYW5GdWxsMworZXh0ZXJuIF9fdHlwZW9mICh4bWxIYXNoU2NhbkZ1bGwzKSB4bWxIYXNoU2NhbkZ1bGwzX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sSGFzaFNjYW5GdWxsMyB4bWxIYXNoU2NhbkZ1bGwzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9oYXNoCisjdW5kZWYgeG1sSGFzaFNpemUKK2V4dGVybiBfX3R5cGVvZiAoeG1sSGFzaFNpemUpIHhtbEhhc2hTaXplIF9fYXR0cmlidXRlKChhbGlhcygieG1sSGFzaFNpemVfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEhhc2hTaXplCitleHRlcm4gX190eXBlb2YgKHhtbEhhc2hTaXplKSB4bWxIYXNoU2l6ZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEhhc2hTaXplIHhtbEhhc2hTaXplX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9oYXNoCisjdW5kZWYgeG1sSGFzaFVwZGF0ZUVudHJ5CitleHRlcm4gX190eXBlb2YgKHhtbEhhc2hVcGRhdGVFbnRyeSkgeG1sSGFzaFVwZGF0ZUVudHJ5IF9fYXR0cmlidXRlKChhbGlhcygieG1sSGFzaFVwZGF0ZUVudHJ5X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxIYXNoVXBkYXRlRW50cnkKK2V4dGVybiBfX3R5cGVvZiAoeG1sSGFzaFVwZGF0ZUVudHJ5KSB4bWxIYXNoVXBkYXRlRW50cnlfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxIYXNoVXBkYXRlRW50cnkgeG1sSGFzaFVwZGF0ZUVudHJ5X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9oYXNoCisjdW5kZWYgeG1sSGFzaFVwZGF0ZUVudHJ5MgorZXh0ZXJuIF9fdHlwZW9mICh4bWxIYXNoVXBkYXRlRW50cnkyKSB4bWxIYXNoVXBkYXRlRW50cnkyIF9fYXR0cmlidXRlKChhbGlhcygieG1sSGFzaFVwZGF0ZUVudHJ5Ml9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sSGFzaFVwZGF0ZUVudHJ5MgorZXh0ZXJuIF9fdHlwZW9mICh4bWxIYXNoVXBkYXRlRW50cnkyKSB4bWxIYXNoVXBkYXRlRW50cnkyX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sSGFzaFVwZGF0ZUVudHJ5MiB4bWxIYXNoVXBkYXRlRW50cnkyX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9oYXNoCisjdW5kZWYgeG1sSGFzaFVwZGF0ZUVudHJ5MworZXh0ZXJuIF9fdHlwZW9mICh4bWxIYXNoVXBkYXRlRW50cnkzKSB4bWxIYXNoVXBkYXRlRW50cnkzIF9fYXR0cmlidXRlKChhbGlhcygieG1sSGFzaFVwZGF0ZUVudHJ5M19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sSGFzaFVwZGF0ZUVudHJ5MworZXh0ZXJuIF9fdHlwZW9mICh4bWxIYXNoVXBkYXRlRW50cnkzKSB4bWxIYXNoVXBkYXRlRW50cnkzX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sSGFzaFVwZGF0ZUVudHJ5MyB4bWxIYXNoVXBkYXRlRW50cnkzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX0ZUUF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxJTworI3VuZGVmIHhtbElPRlRQQ2xvc2UKK2V4dGVybiBfX3R5cGVvZiAoeG1sSU9GVFBDbG9zZSkgeG1sSU9GVFBDbG9zZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbElPRlRQQ2xvc2VfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbElPRlRQQ2xvc2UKK2V4dGVybiBfX3R5cGVvZiAoeG1sSU9GVFBDbG9zZSkgeG1sSU9GVFBDbG9zZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbElPRlRQQ2xvc2UgeG1sSU9GVFBDbG9zZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX0ZUUF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxJTworI3VuZGVmIHhtbElPRlRQTWF0Y2gKK2V4dGVybiBfX3R5cGVvZiAoeG1sSU9GVFBNYXRjaCkgeG1sSU9GVFBNYXRjaCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbElPRlRQTWF0Y2hfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbElPRlRQTWF0Y2gKK2V4dGVybiBfX3R5cGVvZiAoeG1sSU9GVFBNYXRjaCkgeG1sSU9GVFBNYXRjaF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbElPRlRQTWF0Y2ggeG1sSU9GVFBNYXRjaF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX0ZUUF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxJTworI3VuZGVmIHhtbElPRlRQT3BlbgorZXh0ZXJuIF9fdHlwZW9mICh4bWxJT0ZUUE9wZW4pIHhtbElPRlRQT3BlbiBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbElPRlRQT3Blbl9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sSU9GVFBPcGVuCitleHRlcm4gX190eXBlb2YgKHhtbElPRlRQT3BlbikgeG1sSU9GVFBPcGVuX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sSU9GVFBPcGVuIHhtbElPRlRQT3Blbl9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX0ZUUF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxJTworI3VuZGVmIHhtbElPRlRQUmVhZAorZXh0ZXJuIF9fdHlwZW9mICh4bWxJT0ZUUFJlYWQpIHhtbElPRlRQUmVhZCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbElPRlRQUmVhZF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sSU9GVFBSZWFkCitleHRlcm4gX190eXBlb2YgKHhtbElPRlRQUmVhZCkgeG1sSU9GVFBSZWFkX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sSU9GVFBSZWFkIHhtbElPRlRQUmVhZF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX0hUVFBfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sSU8KKyN1bmRlZiB4bWxJT0hUVFBDbG9zZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxJT0hUVFBDbG9zZSkgeG1sSU9IVFRQQ2xvc2UgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxJT0hUVFBDbG9zZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sSU9IVFRQQ2xvc2UKK2V4dGVybiBfX3R5cGVvZiAoeG1sSU9IVFRQQ2xvc2UpIHhtbElPSFRUUENsb3NlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sSU9IVFRQQ2xvc2UgeG1sSU9IVFRQQ2xvc2VfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9IVFRQX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbElPCisjdW5kZWYgeG1sSU9IVFRQTWF0Y2gKK2V4dGVybiBfX3R5cGVvZiAoeG1sSU9IVFRQTWF0Y2gpIHhtbElPSFRUUE1hdGNoIF9fYXR0cmlidXRlKChhbGlhcygieG1sSU9IVFRQTWF0Y2hfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbElPSFRUUE1hdGNoCitleHRlcm4gX190eXBlb2YgKHhtbElPSFRUUE1hdGNoKSB4bWxJT0hUVFBNYXRjaF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbElPSFRUUE1hdGNoIHhtbElPSFRUUE1hdGNoX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfSFRUUF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxJTworI3VuZGVmIHhtbElPSFRUUE9wZW4KK2V4dGVybiBfX3R5cGVvZiAoeG1sSU9IVFRQT3BlbikgeG1sSU9IVFRQT3BlbiBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbElPSFRUUE9wZW5fX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbElPSFRUUE9wZW4KK2V4dGVybiBfX3R5cGVvZiAoeG1sSU9IVFRQT3BlbikgeG1sSU9IVFRQT3Blbl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbElPSFRUUE9wZW4geG1sSU9IVFRQT3Blbl9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX0hUVFBfRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbElPCisjdW5kZWYgeG1sSU9IVFRQT3BlblcKK2V4dGVybiBfX3R5cGVvZiAoeG1sSU9IVFRQT3BlblcpIHhtbElPSFRUUE9wZW5XIF9fYXR0cmlidXRlKChhbGlhcygieG1sSU9IVFRQT3BlbldfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbElPSFRUUE9wZW5XCitleHRlcm4gX190eXBlb2YgKHhtbElPSFRUUE9wZW5XKSB4bWxJT0hUVFBPcGVuV19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbElPSFRUUE9wZW5XIHhtbElPSFRUUE9wZW5XX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfSFRUUF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxJTworI3VuZGVmIHhtbElPSFRUUFJlYWQKK2V4dGVybiBfX3R5cGVvZiAoeG1sSU9IVFRQUmVhZCkgeG1sSU9IVFRQUmVhZCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbElPSFRUUFJlYWRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbElPSFRUUFJlYWQKK2V4dGVybiBfX3R5cGVvZiAoeG1sSU9IVFRQUmVhZCkgeG1sSU9IVFRQUmVhZF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbElPSFRUUFJlYWQgeG1sSU9IVFRQUmVhZF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1ZBTElEX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3BhcnNlcgorI3VuZGVmIHhtbElPUGFyc2VEVEQKK2V4dGVybiBfX3R5cGVvZiAoeG1sSU9QYXJzZURURCkgeG1sSU9QYXJzZURURCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbElPUGFyc2VEVERfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbElPUGFyc2VEVEQKK2V4dGVybiBfX3R5cGVvZiAoeG1sSU9QYXJzZURURCkgeG1sSU9QYXJzZURURF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbElPUGFyc2VEVEQgeG1sSU9QYXJzZURURF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9lbmNvZGluZworI3VuZGVmIHhtbEluaXRDaGFyRW5jb2RpbmdIYW5kbGVycworZXh0ZXJuIF9fdHlwZW9mICh4bWxJbml0Q2hhckVuY29kaW5nSGFuZGxlcnMpIHhtbEluaXRDaGFyRW5jb2RpbmdIYW5kbGVycyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbEluaXRDaGFyRW5jb2RpbmdIYW5kbGVyc19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sSW5pdENoYXJFbmNvZGluZ0hhbmRsZXJzCitleHRlcm4gX190eXBlb2YgKHhtbEluaXRDaGFyRW5jb2RpbmdIYW5kbGVycykgeG1sSW5pdENoYXJFbmNvZGluZ0hhbmRsZXJzX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sSW5pdENoYXJFbmNvZGluZ0hhbmRsZXJzIHhtbEluaXRDaGFyRW5jb2RpbmdIYW5kbGVyc19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fZ2xvYmFscworI3VuZGVmIHhtbEluaXRHbG9iYWxzCitleHRlcm4gX190eXBlb2YgKHhtbEluaXRHbG9iYWxzKSB4bWxJbml0R2xvYmFscyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbEluaXRHbG9iYWxzX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxJbml0R2xvYmFscworZXh0ZXJuIF9fdHlwZW9mICh4bWxJbml0R2xvYmFscykgeG1sSW5pdEdsb2JhbHNfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxJbml0R2xvYmFscyB4bWxJbml0R2xvYmFsc19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21feG1sbWVtb3J5CisjdW5kZWYgeG1sSW5pdE1lbW9yeQorZXh0ZXJuIF9fdHlwZW9mICh4bWxJbml0TWVtb3J5KSB4bWxJbml0TWVtb3J5IF9fYXR0cmlidXRlKChhbGlhcygieG1sSW5pdE1lbW9yeV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sSW5pdE1lbW9yeQorZXh0ZXJuIF9fdHlwZW9mICh4bWxJbml0TWVtb3J5KSB4bWxJbml0TWVtb3J5X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sSW5pdE1lbW9yeSB4bWxJbml0TWVtb3J5X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9wYXJzZXJJbnRlcm5hbHMKKyN1bmRlZiB4bWxJbml0Tm9kZUluZm9TZXEKK2V4dGVybiBfX3R5cGVvZiAoeG1sSW5pdE5vZGVJbmZvU2VxKSB4bWxJbml0Tm9kZUluZm9TZXEgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxJbml0Tm9kZUluZm9TZXFfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEluaXROb2RlSW5mb1NlcQorZXh0ZXJuIF9fdHlwZW9mICh4bWxJbml0Tm9kZUluZm9TZXEpIHhtbEluaXROb2RlSW5mb1NlcV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEluaXROb2RlSW5mb1NlcSB4bWxJbml0Tm9kZUluZm9TZXFfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3BhcnNlcgorI3VuZGVmIHhtbEluaXRQYXJzZXIKK2V4dGVybiBfX3R5cGVvZiAoeG1sSW5pdFBhcnNlcikgeG1sSW5pdFBhcnNlciBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbEluaXRQYXJzZXJfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEluaXRQYXJzZXIKK2V4dGVybiBfX3R5cGVvZiAoeG1sSW5pdFBhcnNlcikgeG1sSW5pdFBhcnNlcl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEluaXRQYXJzZXIgeG1sSW5pdFBhcnNlcl9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fcGFyc2VySW50ZXJuYWxzCisjdW5kZWYgeG1sSW5pdFBhcnNlckN0eHQKK2V4dGVybiBfX3R5cGVvZiAoeG1sSW5pdFBhcnNlckN0eHQpIHhtbEluaXRQYXJzZXJDdHh0IF9fYXR0cmlidXRlKChhbGlhcygieG1sSW5pdFBhcnNlckN0eHRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEluaXRQYXJzZXJDdHh0CitleHRlcm4gX190eXBlb2YgKHhtbEluaXRQYXJzZXJDdHh0KSB4bWxJbml0UGFyc2VyQ3R4dF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEluaXRQYXJzZXJDdHh0IHhtbEluaXRQYXJzZXJDdHh0X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV90aHJlYWRzCisjdW5kZWYgeG1sSW5pdFRocmVhZHMKK2V4dGVybiBfX3R5cGVvZiAoeG1sSW5pdFRocmVhZHMpIHhtbEluaXRUaHJlYWRzIF9fYXR0cmlidXRlKChhbGlhcygieG1sSW5pdFRocmVhZHNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEluaXRUaHJlYWRzCitleHRlcm4gX190eXBlb2YgKHhtbEluaXRUaHJlYWRzKSB4bWxJbml0VGhyZWFkc19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEluaXRUaHJlYWRzIHhtbEluaXRUaHJlYWRzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX0NBVEFMT0dfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fY2F0YWxvZworI3VuZGVmIHhtbEluaXRpYWxpemVDYXRhbG9nCitleHRlcm4gX190eXBlb2YgKHhtbEluaXRpYWxpemVDYXRhbG9nKSB4bWxJbml0aWFsaXplQ2F0YWxvZyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbEluaXRpYWxpemVDYXRhbG9nX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxJbml0aWFsaXplQ2F0YWxvZworZXh0ZXJuIF9fdHlwZW9mICh4bWxJbml0aWFsaXplQ2F0YWxvZykgeG1sSW5pdGlhbGl6ZUNhdGFsb2dfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxJbml0aWFsaXplQ2F0YWxvZyB4bWxJbml0aWFsaXplQ2F0YWxvZ19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9kaWN0CisjdW5kZWYgeG1sSW5pdGlhbGl6ZURpY3QKK2V4dGVybiBfX3R5cGVvZiAoeG1sSW5pdGlhbGl6ZURpY3QpIHhtbEluaXRpYWxpemVEaWN0IF9fYXR0cmlidXRlKChhbGlhcygieG1sSW5pdGlhbGl6ZURpY3RfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbEluaXRpYWxpemVEaWN0CitleHRlcm4gX190eXBlb2YgKHhtbEluaXRpYWxpemVEaWN0KSB4bWxJbml0aWFsaXplRGljdF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbEluaXRpYWxpemVEaWN0IHhtbEluaXRpYWxpemVEaWN0X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9nbG9iYWxzCisjdW5kZWYgeG1sSW5pdGlhbGl6ZUdsb2JhbFN0YXRlCitleHRlcm4gX190eXBlb2YgKHhtbEluaXRpYWxpemVHbG9iYWxTdGF0ZSkgeG1sSW5pdGlhbGl6ZUdsb2JhbFN0YXRlIF9fYXR0cmlidXRlKChhbGlhcygieG1sSW5pdGlhbGl6ZUdsb2JhbFN0YXRlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxJbml0aWFsaXplR2xvYmFsU3RhdGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sSW5pdGlhbGl6ZUdsb2JhbFN0YXRlKSB4bWxJbml0aWFsaXplR2xvYmFsU3RhdGVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxJbml0aWFsaXplR2xvYmFsU3RhdGUgeG1sSW5pdGlhbGl6ZUdsb2JhbFN0YXRlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX0xFR0FDWV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9sZWdhY3kKKyN1bmRlZiB4bWxJbml0aWFsaXplUHJlZGVmaW5lZEVudGl0aWVzCitleHRlcm4gX190eXBlb2YgKHhtbEluaXRpYWxpemVQcmVkZWZpbmVkRW50aXRpZXMpIHhtbEluaXRpYWxpemVQcmVkZWZpbmVkRW50aXRpZXMgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxJbml0aWFsaXplUHJlZGVmaW5lZEVudGl0aWVzX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxJbml0aWFsaXplUHJlZGVmaW5lZEVudGl0aWVzCitleHRlcm4gX190eXBlb2YgKHhtbEluaXRpYWxpemVQcmVkZWZpbmVkRW50aXRpZXMpIHhtbEluaXRpYWxpemVQcmVkZWZpbmVkRW50aXRpZXNfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxJbml0aWFsaXplUHJlZGVmaW5lZEVudGl0aWVzIHhtbEluaXRpYWxpemVQcmVkZWZpbmVkRW50aXRpZXNfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fY2h2YWxpZAorI3VuZGVmIHhtbElzQmFzZUNoYXIKK2V4dGVybiBfX3R5cGVvZiAoeG1sSXNCYXNlQ2hhcikgeG1sSXNCYXNlQ2hhciBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbElzQmFzZUNoYXJfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbElzQmFzZUNoYXIKK2V4dGVybiBfX3R5cGVvZiAoeG1sSXNCYXNlQ2hhcikgeG1sSXNCYXNlQ2hhcl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbElzQmFzZUNoYXIgeG1sSXNCYXNlQ2hhcl9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fY2h2YWxpZAorI3VuZGVmIHhtbElzQmxhbmsKK2V4dGVybiBfX3R5cGVvZiAoeG1sSXNCbGFuaykgeG1sSXNCbGFuayBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbElzQmxhbmtfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbElzQmxhbmsKK2V4dGVybiBfX3R5cGVvZiAoeG1sSXNCbGFuaykgeG1sSXNCbGFua19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbElzQmxhbmsgeG1sSXNCbGFua19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fdHJlZQorI3VuZGVmIHhtbElzQmxhbmtOb2RlCitleHRlcm4gX190eXBlb2YgKHhtbElzQmxhbmtOb2RlKSB4bWxJc0JsYW5rTm9kZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbElzQmxhbmtOb2RlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxJc0JsYW5rTm9kZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxJc0JsYW5rTm9kZSkgeG1sSXNCbGFua05vZGVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxJc0JsYW5rTm9kZSB4bWxJc0JsYW5rTm9kZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fY2h2YWxpZAorI3VuZGVmIHhtbElzQ2hhcgorZXh0ZXJuIF9fdHlwZW9mICh4bWxJc0NoYXIpIHhtbElzQ2hhciBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbElzQ2hhcl9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sSXNDaGFyCitleHRlcm4gX190eXBlb2YgKHhtbElzQ2hhcikgeG1sSXNDaGFyX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sSXNDaGFyIHhtbElzQ2hhcl9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fY2h2YWxpZAorI3VuZGVmIHhtbElzQ29tYmluaW5nCitleHRlcm4gX190eXBlb2YgKHhtbElzQ29tYmluaW5nKSB4bWxJc0NvbWJpbmluZyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbElzQ29tYmluaW5nX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxJc0NvbWJpbmluZworZXh0ZXJuIF9fdHlwZW9mICh4bWxJc0NvbWJpbmluZykgeG1sSXNDb21iaW5pbmdfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxJc0NvbWJpbmluZyB4bWxJc0NvbWJpbmluZ19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fY2h2YWxpZAorI3VuZGVmIHhtbElzRGlnaXQKK2V4dGVybiBfX3R5cGVvZiAoeG1sSXNEaWdpdCkgeG1sSXNEaWdpdCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbElzRGlnaXRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbElzRGlnaXQKK2V4dGVybiBfX3R5cGVvZiAoeG1sSXNEaWdpdCkgeG1sSXNEaWdpdF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbElzRGlnaXQgeG1sSXNEaWdpdF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fY2h2YWxpZAorI3VuZGVmIHhtbElzRXh0ZW5kZXIKK2V4dGVybiBfX3R5cGVvZiAoeG1sSXNFeHRlbmRlcikgeG1sSXNFeHRlbmRlciBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbElzRXh0ZW5kZXJfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbElzRXh0ZW5kZXIKK2V4dGVybiBfX3R5cGVvZiAoeG1sSXNFeHRlbmRlcikgeG1sSXNFeHRlbmRlcl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbElzRXh0ZW5kZXIgeG1sSXNFeHRlbmRlcl9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fdmFsaWQKKyN1bmRlZiB4bWxJc0lECitleHRlcm4gX190eXBlb2YgKHhtbElzSUQpIHhtbElzSUQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxJc0lEX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxJc0lECitleHRlcm4gX190eXBlb2YgKHhtbElzSUQpIHhtbElzSURfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxJc0lEIHhtbElzSURfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX2NodmFsaWQKKyN1bmRlZiB4bWxJc0lkZW9ncmFwaGljCitleHRlcm4gX190eXBlb2YgKHhtbElzSWRlb2dyYXBoaWMpIHhtbElzSWRlb2dyYXBoaWMgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxJc0lkZW9ncmFwaGljX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxJc0lkZW9ncmFwaGljCitleHRlcm4gX190eXBlb2YgKHhtbElzSWRlb2dyYXBoaWMpIHhtbElzSWRlb2dyYXBoaWNfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxJc0lkZW9ncmFwaGljIHhtbElzSWRlb2dyYXBoaWNfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3BhcnNlckludGVybmFscworI3VuZGVmIHhtbElzTGV0dGVyCitleHRlcm4gX190eXBlb2YgKHhtbElzTGV0dGVyKSB4bWxJc0xldHRlciBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbElzTGV0dGVyX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxJc0xldHRlcgorZXh0ZXJuIF9fdHlwZW9mICh4bWxJc0xldHRlcikgeG1sSXNMZXR0ZXJfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxJc0xldHRlciB4bWxJc0xldHRlcl9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fdGhyZWFkcworI3VuZGVmIHhtbElzTWFpblRocmVhZAorZXh0ZXJuIF9fdHlwZW9mICh4bWxJc01haW5UaHJlYWQpIHhtbElzTWFpblRocmVhZCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbElzTWFpblRocmVhZF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sSXNNYWluVGhyZWFkCitleHRlcm4gX190eXBlb2YgKHhtbElzTWFpblRocmVhZCkgeG1sSXNNYWluVGhyZWFkX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sSXNNYWluVGhyZWFkIHhtbElzTWFpblRocmVhZF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fdmFsaWQKKyN1bmRlZiB4bWxJc01peGVkRWxlbWVudAorZXh0ZXJuIF9fdHlwZW9mICh4bWxJc01peGVkRWxlbWVudCkgeG1sSXNNaXhlZEVsZW1lbnQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxJc01peGVkRWxlbWVudF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sSXNNaXhlZEVsZW1lbnQKK2V4dGVybiBfX3R5cGVvZiAoeG1sSXNNaXhlZEVsZW1lbnQpIHhtbElzTWl4ZWRFbGVtZW50X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sSXNNaXhlZEVsZW1lbnQgeG1sSXNNaXhlZEVsZW1lbnRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX2NodmFsaWQKKyN1bmRlZiB4bWxJc1B1YmlkQ2hhcgorZXh0ZXJuIF9fdHlwZW9mICh4bWxJc1B1YmlkQ2hhcikgeG1sSXNQdWJpZENoYXIgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxJc1B1YmlkQ2hhcl9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sSXNQdWJpZENoYXIKK2V4dGVybiBfX3R5cGVvZiAoeG1sSXNQdWJpZENoYXIpIHhtbElzUHViaWRDaGFyX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sSXNQdWJpZENoYXIgeG1sSXNQdWJpZENoYXJfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3ZhbGlkCisjdW5kZWYgeG1sSXNSZWYKK2V4dGVybiBfX3R5cGVvZiAoeG1sSXNSZWYpIHhtbElzUmVmIF9fYXR0cmlidXRlKChhbGlhcygieG1sSXNSZWZfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbElzUmVmCitleHRlcm4gX190eXBlb2YgKHhtbElzUmVmKSB4bWxJc1JlZl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbElzUmVmIHhtbElzUmVmX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV94bWxzYXZlCisjdW5kZWYgeG1sSXNYSFRNTAorZXh0ZXJuIF9fdHlwZW9mICh4bWxJc1hIVE1MKSB4bWxJc1hIVE1MIF9fYXR0cmlidXRlKChhbGlhcygieG1sSXNYSFRNTF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sSXNYSFRNTAorZXh0ZXJuIF9fdHlwZW9mICh4bWxJc1hIVE1MKSB4bWxJc1hIVE1MX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sSXNYSFRNTCB4bWxJc1hIVE1MX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9wYXJzZXJJbnRlcm5hbHMKKyN1bmRlZiB4bWxLZWVwQmxhbmtzRGVmYXVsdAorZXh0ZXJuIF9fdHlwZW9mICh4bWxLZWVwQmxhbmtzRGVmYXVsdCkgeG1sS2VlcEJsYW5rc0RlZmF1bHQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxLZWVwQmxhbmtzRGVmYXVsdF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sS2VlcEJsYW5rc0RlZmF1bHQKK2V4dGVybiBfX3R5cGVvZiAoeG1sS2VlcEJsYW5rc0RlZmF1bHQpIHhtbEtlZXBCbGFua3NEZWZhdWx0X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sS2VlcEJsYW5rc0RlZmF1bHQgeG1sS2VlcEJsYW5rc0RlZmF1bHRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVFJFRV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV90cmVlCisjdW5kZWYgeG1sTGFzdEVsZW1lbnRDaGlsZAorZXh0ZXJuIF9fdHlwZW9mICh4bWxMYXN0RWxlbWVudENoaWxkKSB4bWxMYXN0RWxlbWVudENoaWxkIF9fYXR0cmlidXRlKChhbGlhcygieG1sTGFzdEVsZW1lbnRDaGlsZF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sTGFzdEVsZW1lbnRDaGlsZAorZXh0ZXJuIF9fdHlwZW9mICh4bWxMYXN0RWxlbWVudENoaWxkKSB4bWxMYXN0RWxlbWVudENoaWxkX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sTGFzdEVsZW1lbnRDaGlsZCB4bWxMYXN0RWxlbWVudENoaWxkX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3BhcnNlckludGVybmFscworI3VuZGVmIHhtbExpbmVOdW1iZXJzRGVmYXVsdAorZXh0ZXJuIF9fdHlwZW9mICh4bWxMaW5lTnVtYmVyc0RlZmF1bHQpIHhtbExpbmVOdW1iZXJzRGVmYXVsdCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbExpbmVOdW1iZXJzRGVmYXVsdF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sTGluZU51bWJlcnNEZWZhdWx0CitleHRlcm4gX190eXBlb2YgKHhtbExpbmVOdW1iZXJzRGVmYXVsdCkgeG1sTGluZU51bWJlcnNEZWZhdWx0X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sTGluZU51bWJlcnNEZWZhdWx0IHhtbExpbmVOdW1iZXJzRGVmYXVsdF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fbGlzdAorI3VuZGVmIHhtbExpbmtHZXREYXRhCitleHRlcm4gX190eXBlb2YgKHhtbExpbmtHZXREYXRhKSB4bWxMaW5rR2V0RGF0YSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbExpbmtHZXREYXRhX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxMaW5rR2V0RGF0YQorZXh0ZXJuIF9fdHlwZW9mICh4bWxMaW5rR2V0RGF0YSkgeG1sTGlua0dldERhdGFfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxMaW5rR2V0RGF0YSB4bWxMaW5rR2V0RGF0YV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fbGlzdAorI3VuZGVmIHhtbExpc3RBcHBlbmQKK2V4dGVybiBfX3R5cGVvZiAoeG1sTGlzdEFwcGVuZCkgeG1sTGlzdEFwcGVuZCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbExpc3RBcHBlbmRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbExpc3RBcHBlbmQKK2V4dGVybiBfX3R5cGVvZiAoeG1sTGlzdEFwcGVuZCkgeG1sTGlzdEFwcGVuZF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbExpc3RBcHBlbmQgeG1sTGlzdEFwcGVuZF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fbGlzdAorI3VuZGVmIHhtbExpc3RDbGVhcgorZXh0ZXJuIF9fdHlwZW9mICh4bWxMaXN0Q2xlYXIpIHhtbExpc3RDbGVhciBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbExpc3RDbGVhcl9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sTGlzdENsZWFyCitleHRlcm4gX190eXBlb2YgKHhtbExpc3RDbGVhcikgeG1sTGlzdENsZWFyX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sTGlzdENsZWFyIHhtbExpc3RDbGVhcl9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fbGlzdAorI3VuZGVmIHhtbExpc3RDb3B5CitleHRlcm4gX190eXBlb2YgKHhtbExpc3RDb3B5KSB4bWxMaXN0Q29weSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbExpc3RDb3B5X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxMaXN0Q29weQorZXh0ZXJuIF9fdHlwZW9mICh4bWxMaXN0Q29weSkgeG1sTGlzdENvcHlfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxMaXN0Q29weSB4bWxMaXN0Q29weV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fbGlzdAorI3VuZGVmIHhtbExpc3RDcmVhdGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sTGlzdENyZWF0ZSkgeG1sTGlzdENyZWF0ZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbExpc3RDcmVhdGVfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbExpc3RDcmVhdGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sTGlzdENyZWF0ZSkgeG1sTGlzdENyZWF0ZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbExpc3RDcmVhdGUgeG1sTGlzdENyZWF0ZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fbGlzdAorI3VuZGVmIHhtbExpc3REZWxldGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sTGlzdERlbGV0ZSkgeG1sTGlzdERlbGV0ZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbExpc3REZWxldGVfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbExpc3REZWxldGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sTGlzdERlbGV0ZSkgeG1sTGlzdERlbGV0ZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbExpc3REZWxldGUgeG1sTGlzdERlbGV0ZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fbGlzdAorI3VuZGVmIHhtbExpc3REdXAKK2V4dGVybiBfX3R5cGVvZiAoeG1sTGlzdER1cCkgeG1sTGlzdER1cCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbExpc3REdXBfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbExpc3REdXAKK2V4dGVybiBfX3R5cGVvZiAoeG1sTGlzdER1cCkgeG1sTGlzdER1cF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbExpc3REdXAgeG1sTGlzdER1cF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fbGlzdAorI3VuZGVmIHhtbExpc3RFbXB0eQorZXh0ZXJuIF9fdHlwZW9mICh4bWxMaXN0RW1wdHkpIHhtbExpc3RFbXB0eSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbExpc3RFbXB0eV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sTGlzdEVtcHR5CitleHRlcm4gX190eXBlb2YgKHhtbExpc3RFbXB0eSkgeG1sTGlzdEVtcHR5X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sTGlzdEVtcHR5IHhtbExpc3RFbXB0eV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fbGlzdAorI3VuZGVmIHhtbExpc3RFbmQKK2V4dGVybiBfX3R5cGVvZiAoeG1sTGlzdEVuZCkgeG1sTGlzdEVuZCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbExpc3RFbmRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbExpc3RFbmQKK2V4dGVybiBfX3R5cGVvZiAoeG1sTGlzdEVuZCkgeG1sTGlzdEVuZF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbExpc3RFbmQgeG1sTGlzdEVuZF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fbGlzdAorI3VuZGVmIHhtbExpc3RGcm9udAorZXh0ZXJuIF9fdHlwZW9mICh4bWxMaXN0RnJvbnQpIHhtbExpc3RGcm9udCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbExpc3RGcm9udF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sTGlzdEZyb250CitleHRlcm4gX190eXBlb2YgKHhtbExpc3RGcm9udCkgeG1sTGlzdEZyb250X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sTGlzdEZyb250IHhtbExpc3RGcm9udF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fbGlzdAorI3VuZGVmIHhtbExpc3RJbnNlcnQKK2V4dGVybiBfX3R5cGVvZiAoeG1sTGlzdEluc2VydCkgeG1sTGlzdEluc2VydCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbExpc3RJbnNlcnRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbExpc3RJbnNlcnQKK2V4dGVybiBfX3R5cGVvZiAoeG1sTGlzdEluc2VydCkgeG1sTGlzdEluc2VydF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbExpc3RJbnNlcnQgeG1sTGlzdEluc2VydF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fbGlzdAorI3VuZGVmIHhtbExpc3RNZXJnZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxMaXN0TWVyZ2UpIHhtbExpc3RNZXJnZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbExpc3RNZXJnZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sTGlzdE1lcmdlCitleHRlcm4gX190eXBlb2YgKHhtbExpc3RNZXJnZSkgeG1sTGlzdE1lcmdlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sTGlzdE1lcmdlIHhtbExpc3RNZXJnZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fbGlzdAorI3VuZGVmIHhtbExpc3RQb3BCYWNrCitleHRlcm4gX190eXBlb2YgKHhtbExpc3RQb3BCYWNrKSB4bWxMaXN0UG9wQmFjayBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbExpc3RQb3BCYWNrX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxMaXN0UG9wQmFjaworZXh0ZXJuIF9fdHlwZW9mICh4bWxMaXN0UG9wQmFjaykgeG1sTGlzdFBvcEJhY2tfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxMaXN0UG9wQmFjayB4bWxMaXN0UG9wQmFja19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fbGlzdAorI3VuZGVmIHhtbExpc3RQb3BGcm9udAorZXh0ZXJuIF9fdHlwZW9mICh4bWxMaXN0UG9wRnJvbnQpIHhtbExpc3RQb3BGcm9udCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbExpc3RQb3BGcm9udF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sTGlzdFBvcEZyb250CitleHRlcm4gX190eXBlb2YgKHhtbExpc3RQb3BGcm9udCkgeG1sTGlzdFBvcEZyb250X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sTGlzdFBvcEZyb250IHhtbExpc3RQb3BGcm9udF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fbGlzdAorI3VuZGVmIHhtbExpc3RQdXNoQmFjaworZXh0ZXJuIF9fdHlwZW9mICh4bWxMaXN0UHVzaEJhY2spIHhtbExpc3RQdXNoQmFjayBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbExpc3RQdXNoQmFja19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sTGlzdFB1c2hCYWNrCitleHRlcm4gX190eXBlb2YgKHhtbExpc3RQdXNoQmFjaykgeG1sTGlzdFB1c2hCYWNrX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sTGlzdFB1c2hCYWNrIHhtbExpc3RQdXNoQmFja19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fbGlzdAorI3VuZGVmIHhtbExpc3RQdXNoRnJvbnQKK2V4dGVybiBfX3R5cGVvZiAoeG1sTGlzdFB1c2hGcm9udCkgeG1sTGlzdFB1c2hGcm9udCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbExpc3RQdXNoRnJvbnRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbExpc3RQdXNoRnJvbnQKK2V4dGVybiBfX3R5cGVvZiAoeG1sTGlzdFB1c2hGcm9udCkgeG1sTGlzdFB1c2hGcm9udF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbExpc3RQdXNoRnJvbnQgeG1sTGlzdFB1c2hGcm9udF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fbGlzdAorI3VuZGVmIHhtbExpc3RSZW1vdmVBbGwKK2V4dGVybiBfX3R5cGVvZiAoeG1sTGlzdFJlbW92ZUFsbCkgeG1sTGlzdFJlbW92ZUFsbCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbExpc3RSZW1vdmVBbGxfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbExpc3RSZW1vdmVBbGwKK2V4dGVybiBfX3R5cGVvZiAoeG1sTGlzdFJlbW92ZUFsbCkgeG1sTGlzdFJlbW92ZUFsbF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbExpc3RSZW1vdmVBbGwgeG1sTGlzdFJlbW92ZUFsbF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fbGlzdAorI3VuZGVmIHhtbExpc3RSZW1vdmVGaXJzdAorZXh0ZXJuIF9fdHlwZW9mICh4bWxMaXN0UmVtb3ZlRmlyc3QpIHhtbExpc3RSZW1vdmVGaXJzdCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbExpc3RSZW1vdmVGaXJzdF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sTGlzdFJlbW92ZUZpcnN0CitleHRlcm4gX190eXBlb2YgKHhtbExpc3RSZW1vdmVGaXJzdCkgeG1sTGlzdFJlbW92ZUZpcnN0X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sTGlzdFJlbW92ZUZpcnN0IHhtbExpc3RSZW1vdmVGaXJzdF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fbGlzdAorI3VuZGVmIHhtbExpc3RSZW1vdmVMYXN0CitleHRlcm4gX190eXBlb2YgKHhtbExpc3RSZW1vdmVMYXN0KSB4bWxMaXN0UmVtb3ZlTGFzdCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbExpc3RSZW1vdmVMYXN0X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxMaXN0UmVtb3ZlTGFzdAorZXh0ZXJuIF9fdHlwZW9mICh4bWxMaXN0UmVtb3ZlTGFzdCkgeG1sTGlzdFJlbW92ZUxhc3RfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxMaXN0UmVtb3ZlTGFzdCB4bWxMaXN0UmVtb3ZlTGFzdF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fbGlzdAorI3VuZGVmIHhtbExpc3RSZXZlcnNlCitleHRlcm4gX190eXBlb2YgKHhtbExpc3RSZXZlcnNlKSB4bWxMaXN0UmV2ZXJzZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbExpc3RSZXZlcnNlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxMaXN0UmV2ZXJzZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxMaXN0UmV2ZXJzZSkgeG1sTGlzdFJldmVyc2VfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxMaXN0UmV2ZXJzZSB4bWxMaXN0UmV2ZXJzZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fbGlzdAorI3VuZGVmIHhtbExpc3RSZXZlcnNlU2VhcmNoCitleHRlcm4gX190eXBlb2YgKHhtbExpc3RSZXZlcnNlU2VhcmNoKSB4bWxMaXN0UmV2ZXJzZVNlYXJjaCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbExpc3RSZXZlcnNlU2VhcmNoX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxMaXN0UmV2ZXJzZVNlYXJjaAorZXh0ZXJuIF9fdHlwZW9mICh4bWxMaXN0UmV2ZXJzZVNlYXJjaCkgeG1sTGlzdFJldmVyc2VTZWFyY2hfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxMaXN0UmV2ZXJzZVNlYXJjaCB4bWxMaXN0UmV2ZXJzZVNlYXJjaF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fbGlzdAorI3VuZGVmIHhtbExpc3RSZXZlcnNlV2FsaworZXh0ZXJuIF9fdHlwZW9mICh4bWxMaXN0UmV2ZXJzZVdhbGspIHhtbExpc3RSZXZlcnNlV2FsayBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbExpc3RSZXZlcnNlV2Fsa19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sTGlzdFJldmVyc2VXYWxrCitleHRlcm4gX190eXBlb2YgKHhtbExpc3RSZXZlcnNlV2FsaykgeG1sTGlzdFJldmVyc2VXYWxrX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sTGlzdFJldmVyc2VXYWxrIHhtbExpc3RSZXZlcnNlV2Fsa19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fbGlzdAorI3VuZGVmIHhtbExpc3RTZWFyY2gKK2V4dGVybiBfX3R5cGVvZiAoeG1sTGlzdFNlYXJjaCkgeG1sTGlzdFNlYXJjaCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbExpc3RTZWFyY2hfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbExpc3RTZWFyY2gKK2V4dGVybiBfX3R5cGVvZiAoeG1sTGlzdFNlYXJjaCkgeG1sTGlzdFNlYXJjaF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbExpc3RTZWFyY2ggeG1sTGlzdFNlYXJjaF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fbGlzdAorI3VuZGVmIHhtbExpc3RTaXplCitleHRlcm4gX190eXBlb2YgKHhtbExpc3RTaXplKSB4bWxMaXN0U2l6ZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbExpc3RTaXplX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxMaXN0U2l6ZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxMaXN0U2l6ZSkgeG1sTGlzdFNpemVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxMaXN0U2l6ZSB4bWxMaXN0U2l6ZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fbGlzdAorI3VuZGVmIHhtbExpc3RTb3J0CitleHRlcm4gX190eXBlb2YgKHhtbExpc3RTb3J0KSB4bWxMaXN0U29ydCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbExpc3RTb3J0X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxMaXN0U29ydAorZXh0ZXJuIF9fdHlwZW9mICh4bWxMaXN0U29ydCkgeG1sTGlzdFNvcnRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxMaXN0U29ydCB4bWxMaXN0U29ydF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fbGlzdAorI3VuZGVmIHhtbExpc3RXYWxrCitleHRlcm4gX190eXBlb2YgKHhtbExpc3RXYWxrKSB4bWxMaXN0V2FsayBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbExpc3RXYWxrX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxMaXN0V2FsaworZXh0ZXJuIF9fdHlwZW9mICh4bWxMaXN0V2FsaykgeG1sTGlzdFdhbGtfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxMaXN0V2FsayB4bWxMaXN0V2Fsa19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9DQVRBTE9HX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX2NhdGFsb2cKKyN1bmRlZiB4bWxMb2FkQUNhdGFsb2cKK2V4dGVybiBfX3R5cGVvZiAoeG1sTG9hZEFDYXRhbG9nKSB4bWxMb2FkQUNhdGFsb2cgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxMb2FkQUNhdGFsb2dfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbExvYWRBQ2F0YWxvZworZXh0ZXJuIF9fdHlwZW9mICh4bWxMb2FkQUNhdGFsb2cpIHhtbExvYWRBQ2F0YWxvZ19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbExvYWRBQ2F0YWxvZyB4bWxMb2FkQUNhdGFsb2dfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9DQVRBTE9HX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX2NhdGFsb2cKKyN1bmRlZiB4bWxMb2FkQ2F0YWxvZworZXh0ZXJuIF9fdHlwZW9mICh4bWxMb2FkQ2F0YWxvZykgeG1sTG9hZENhdGFsb2cgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxMb2FkQ2F0YWxvZ19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sTG9hZENhdGFsb2cKK2V4dGVybiBfX3R5cGVvZiAoeG1sTG9hZENhdGFsb2cpIHhtbExvYWRDYXRhbG9nX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sTG9hZENhdGFsb2cgeG1sTG9hZENhdGFsb2dfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9DQVRBTE9HX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX2NhdGFsb2cKKyN1bmRlZiB4bWxMb2FkQ2F0YWxvZ3MKK2V4dGVybiBfX3R5cGVvZiAoeG1sTG9hZENhdGFsb2dzKSB4bWxMb2FkQ2F0YWxvZ3MgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxMb2FkQ2F0YWxvZ3NfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbExvYWRDYXRhbG9ncworZXh0ZXJuIF9fdHlwZW9mICh4bWxMb2FkQ2F0YWxvZ3MpIHhtbExvYWRDYXRhbG9nc19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbExvYWRDYXRhbG9ncyB4bWxMb2FkQ2F0YWxvZ3NfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21feG1sSU8KKyN1bmRlZiB4bWxMb2FkRXh0ZXJuYWxFbnRpdHkKK2V4dGVybiBfX3R5cGVvZiAoeG1sTG9hZEV4dGVybmFsRW50aXR5KSB4bWxMb2FkRXh0ZXJuYWxFbnRpdHkgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxMb2FkRXh0ZXJuYWxFbnRpdHlfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbExvYWRFeHRlcm5hbEVudGl0eQorZXh0ZXJuIF9fdHlwZW9mICh4bWxMb2FkRXh0ZXJuYWxFbnRpdHkpIHhtbExvYWRFeHRlcm5hbEVudGl0eV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbExvYWRFeHRlcm5hbEVudGl0eSB4bWxMb2FkRXh0ZXJuYWxFbnRpdHlfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfQ0FUQUxPR19FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9jYXRhbG9nCisjdW5kZWYgeG1sTG9hZFNHTUxTdXBlckNhdGFsb2cKK2V4dGVybiBfX3R5cGVvZiAoeG1sTG9hZFNHTUxTdXBlckNhdGFsb2cpIHhtbExvYWRTR01MU3VwZXJDYXRhbG9nIF9fYXR0cmlidXRlKChhbGlhcygieG1sTG9hZFNHTUxTdXBlckNhdGFsb2dfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbExvYWRTR01MU3VwZXJDYXRhbG9nCitleHRlcm4gX190eXBlb2YgKHhtbExvYWRTR01MU3VwZXJDYXRhbG9nKSB4bWxMb2FkU0dNTFN1cGVyQ2F0YWxvZ19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbExvYWRTR01MU3VwZXJDYXRhbG9nIHhtbExvYWRTR01MU3VwZXJDYXRhbG9nX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3RocmVhZHMKKyN1bmRlZiB4bWxMb2NrTGlicmFyeQorZXh0ZXJuIF9fdHlwZW9mICh4bWxMb2NrTGlicmFyeSkgeG1sTG9ja0xpYnJhcnkgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxMb2NrTGlicmFyeV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sTG9ja0xpYnJhcnkKK2V4dGVybiBfX3R5cGVvZiAoeG1sTG9ja0xpYnJhcnkpIHhtbExvY2tMaWJyYXJ5X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sTG9ja0xpYnJhcnkgeG1sTG9ja0xpYnJhcnlfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfREVCVUdfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fZGVidWdYTUwKKyN1bmRlZiB4bWxMc0NvdW50Tm9kZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxMc0NvdW50Tm9kZSkgeG1sTHNDb3VudE5vZGUgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxMc0NvdW50Tm9kZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sTHNDb3VudE5vZGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sTHNDb3VudE5vZGUpIHhtbExzQ291bnROb2RlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sTHNDb3VudE5vZGUgeG1sTHNDb3VudE5vZGVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9ERUJVR19FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9kZWJ1Z1hNTAorI3VuZGVmIHhtbExzT25lTm9kZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxMc09uZU5vZGUpIHhtbExzT25lTm9kZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbExzT25lTm9kZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sTHNPbmVOb2RlCitleHRlcm4gX190eXBlb2YgKHhtbExzT25lTm9kZSkgeG1sTHNPbmVOb2RlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sTHNPbmVOb2RlIHhtbExzT25lTm9kZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV94bWxtZW1vcnkKKyN1bmRlZiB4bWxNYWxsb2NBdG9taWNMb2MKK2V4dGVybiBfX3R5cGVvZiAoeG1sTWFsbG9jQXRvbWljTG9jKSB4bWxNYWxsb2NBdG9taWNMb2MgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxNYWxsb2NBdG9taWNMb2NfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbE1hbGxvY0F0b21pY0xvYworZXh0ZXJuIF9fdHlwZW9mICh4bWxNYWxsb2NBdG9taWNMb2MpIHhtbE1hbGxvY0F0b21pY0xvY19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbE1hbGxvY0F0b21pY0xvYyB4bWxNYWxsb2NBdG9taWNMb2NfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3htbG1lbW9yeQorI3VuZGVmIHhtbE1hbGxvY0xvYworZXh0ZXJuIF9fdHlwZW9mICh4bWxNYWxsb2NMb2MpIHhtbE1hbGxvY0xvYyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbE1hbGxvY0xvY19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sTWFsbG9jTG9jCitleHRlcm4gX190eXBlb2YgKHhtbE1hbGxvY0xvYykgeG1sTWFsbG9jTG9jX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sTWFsbG9jTG9jIHhtbE1hbGxvY0xvY19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21feG1sbWVtb3J5CisjdW5kZWYgeG1sTWVtQmxvY2tzCitleHRlcm4gX190eXBlb2YgKHhtbE1lbUJsb2NrcykgeG1sTWVtQmxvY2tzIF9fYXR0cmlidXRlKChhbGlhcygieG1sTWVtQmxvY2tzX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxNZW1CbG9ja3MKK2V4dGVybiBfX3R5cGVvZiAoeG1sTWVtQmxvY2tzKSB4bWxNZW1CbG9ja3NfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxNZW1CbG9ja3MgeG1sTWVtQmxvY2tzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV94bWxtZW1vcnkKKyN1bmRlZiB4bWxNZW1EaXNwbGF5CitleHRlcm4gX190eXBlb2YgKHhtbE1lbURpc3BsYXkpIHhtbE1lbURpc3BsYXkgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxNZW1EaXNwbGF5X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxNZW1EaXNwbGF5CitleHRlcm4gX190eXBlb2YgKHhtbE1lbURpc3BsYXkpIHhtbE1lbURpc3BsYXlfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxNZW1EaXNwbGF5IHhtbE1lbURpc3BsYXlfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3htbG1lbW9yeQorI3VuZGVmIHhtbE1lbURpc3BsYXlMYXN0CitleHRlcm4gX190eXBlb2YgKHhtbE1lbURpc3BsYXlMYXN0KSB4bWxNZW1EaXNwbGF5TGFzdCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbE1lbURpc3BsYXlMYXN0X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxNZW1EaXNwbGF5TGFzdAorZXh0ZXJuIF9fdHlwZW9mICh4bWxNZW1EaXNwbGF5TGFzdCkgeG1sTWVtRGlzcGxheUxhc3RfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxNZW1EaXNwbGF5TGFzdCB4bWxNZW1EaXNwbGF5TGFzdF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21feG1sbWVtb3J5CisjdW5kZWYgeG1sTWVtRnJlZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxNZW1GcmVlKSB4bWxNZW1GcmVlIF9fYXR0cmlidXRlKChhbGlhcygieG1sTWVtRnJlZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sTWVtRnJlZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxNZW1GcmVlKSB4bWxNZW1GcmVlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sTWVtRnJlZSB4bWxNZW1GcmVlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV94bWxtZW1vcnkKKyN1bmRlZiB4bWxNZW1HZXQKK2V4dGVybiBfX3R5cGVvZiAoeG1sTWVtR2V0KSB4bWxNZW1HZXQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxNZW1HZXRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbE1lbUdldAorZXh0ZXJuIF9fdHlwZW9mICh4bWxNZW1HZXQpIHhtbE1lbUdldF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbE1lbUdldCB4bWxNZW1HZXRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3htbG1lbW9yeQorI3VuZGVmIHhtbE1lbU1hbGxvYworZXh0ZXJuIF9fdHlwZW9mICh4bWxNZW1NYWxsb2MpIHhtbE1lbU1hbGxvYyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbE1lbU1hbGxvY19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sTWVtTWFsbG9jCitleHRlcm4gX190eXBlb2YgKHhtbE1lbU1hbGxvYykgeG1sTWVtTWFsbG9jX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sTWVtTWFsbG9jIHhtbE1lbU1hbGxvY19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21feG1sbWVtb3J5CisjdW5kZWYgeG1sTWVtUmVhbGxvYworZXh0ZXJuIF9fdHlwZW9mICh4bWxNZW1SZWFsbG9jKSB4bWxNZW1SZWFsbG9jIF9fYXR0cmlidXRlKChhbGlhcygieG1sTWVtUmVhbGxvY19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sTWVtUmVhbGxvYworZXh0ZXJuIF9fdHlwZW9mICh4bWxNZW1SZWFsbG9jKSB4bWxNZW1SZWFsbG9jX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sTWVtUmVhbGxvYyB4bWxNZW1SZWFsbG9jX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV94bWxtZW1vcnkKKyN1bmRlZiB4bWxNZW1TZXR1cAorZXh0ZXJuIF9fdHlwZW9mICh4bWxNZW1TZXR1cCkgeG1sTWVtU2V0dXAgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxNZW1TZXR1cF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sTWVtU2V0dXAKK2V4dGVybiBfX3R5cGVvZiAoeG1sTWVtU2V0dXApIHhtbE1lbVNldHVwX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sTWVtU2V0dXAgeG1sTWVtU2V0dXBfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3htbG1lbW9yeQorI3VuZGVmIHhtbE1lbVNob3cKK2V4dGVybiBfX3R5cGVvZiAoeG1sTWVtU2hvdykgeG1sTWVtU2hvdyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbE1lbVNob3dfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbE1lbVNob3cKK2V4dGVybiBfX3R5cGVvZiAoeG1sTWVtU2hvdykgeG1sTWVtU2hvd19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbE1lbVNob3cgeG1sTWVtU2hvd19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21feG1sbWVtb3J5CisjdW5kZWYgeG1sTWVtU3RyZHVwTG9jCitleHRlcm4gX190eXBlb2YgKHhtbE1lbVN0cmR1cExvYykgeG1sTWVtU3RyZHVwTG9jIF9fYXR0cmlidXRlKChhbGlhcygieG1sTWVtU3RyZHVwTG9jX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxNZW1TdHJkdXBMb2MKK2V4dGVybiBfX3R5cGVvZiAoeG1sTWVtU3RyZHVwTG9jKSB4bWxNZW1TdHJkdXBMb2NfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxNZW1TdHJkdXBMb2MgeG1sTWVtU3RyZHVwTG9jX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV94bWxtZW1vcnkKKyN1bmRlZiB4bWxNZW1Vc2VkCitleHRlcm4gX190eXBlb2YgKHhtbE1lbVVzZWQpIHhtbE1lbVVzZWQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxNZW1Vc2VkX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxNZW1Vc2VkCitleHRlcm4gX190eXBlb2YgKHhtbE1lbVVzZWQpIHhtbE1lbVVzZWRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxNZW1Vc2VkIHhtbE1lbVVzZWRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3htbG1lbW9yeQorI3VuZGVmIHhtbE1lbW9yeUR1bXAKK2V4dGVybiBfX3R5cGVvZiAoeG1sTWVtb3J5RHVtcCkgeG1sTWVtb3J5RHVtcCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbE1lbW9yeUR1bXBfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbE1lbW9yeUR1bXAKK2V4dGVybiBfX3R5cGVvZiAoeG1sTWVtb3J5RHVtcCkgeG1sTWVtb3J5RHVtcF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbE1lbW9yeUR1bXAgeG1sTWVtb3J5RHVtcF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21feG1sbWVtb3J5CisjdW5kZWYgeG1sTWVtb3J5U3RyZHVwCitleHRlcm4gX190eXBlb2YgKHhtbE1lbW9yeVN0cmR1cCkgeG1sTWVtb3J5U3RyZHVwIF9fYXR0cmlidXRlKChhbGlhcygieG1sTWVtb3J5U3RyZHVwX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxNZW1vcnlTdHJkdXAKK2V4dGVybiBfX3R5cGVvZiAoeG1sTWVtb3J5U3RyZHVwKSB4bWxNZW1vcnlTdHJkdXBfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxNZW1vcnlTdHJkdXAgeG1sTWVtb3J5U3RyZHVwX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX01PRFVMRVNfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sbW9kdWxlCisjdW5kZWYgeG1sTW9kdWxlQ2xvc2UKK2V4dGVybiBfX3R5cGVvZiAoeG1sTW9kdWxlQ2xvc2UpIHhtbE1vZHVsZUNsb3NlIF9fYXR0cmlidXRlKChhbGlhcygieG1sTW9kdWxlQ2xvc2VfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbE1vZHVsZUNsb3NlCitleHRlcm4gX190eXBlb2YgKHhtbE1vZHVsZUNsb3NlKSB4bWxNb2R1bGVDbG9zZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbE1vZHVsZUNsb3NlIHhtbE1vZHVsZUNsb3NlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfTU9EVUxFU19FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxtb2R1bGUKKyN1bmRlZiB4bWxNb2R1bGVGcmVlCitleHRlcm4gX190eXBlb2YgKHhtbE1vZHVsZUZyZWUpIHhtbE1vZHVsZUZyZWUgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxNb2R1bGVGcmVlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxNb2R1bGVGcmVlCitleHRlcm4gX190eXBlb2YgKHhtbE1vZHVsZUZyZWUpIHhtbE1vZHVsZUZyZWVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxNb2R1bGVGcmVlIHhtbE1vZHVsZUZyZWVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9NT0RVTEVTX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbG1vZHVsZQorI3VuZGVmIHhtbE1vZHVsZU9wZW4KK2V4dGVybiBfX3R5cGVvZiAoeG1sTW9kdWxlT3BlbikgeG1sTW9kdWxlT3BlbiBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbE1vZHVsZU9wZW5fX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbE1vZHVsZU9wZW4KK2V4dGVybiBfX3R5cGVvZiAoeG1sTW9kdWxlT3BlbikgeG1sTW9kdWxlT3Blbl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbE1vZHVsZU9wZW4geG1sTW9kdWxlT3Blbl9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX01PRFVMRVNfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sbW9kdWxlCisjdW5kZWYgeG1sTW9kdWxlU3ltYm9sCitleHRlcm4gX190eXBlb2YgKHhtbE1vZHVsZVN5bWJvbCkgeG1sTW9kdWxlU3ltYm9sIF9fYXR0cmlidXRlKChhbGlhcygieG1sTW9kdWxlU3ltYm9sX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxNb2R1bGVTeW1ib2wKK2V4dGVybiBfX3R5cGVvZiAoeG1sTW9kdWxlU3ltYm9sKSB4bWxNb2R1bGVTeW1ib2xfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxNb2R1bGVTeW1ib2wgeG1sTW9kdWxlU3ltYm9sX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3RocmVhZHMKKyN1bmRlZiB4bWxNdXRleExvY2sKK2V4dGVybiBfX3R5cGVvZiAoeG1sTXV0ZXhMb2NrKSB4bWxNdXRleExvY2sgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxNdXRleExvY2tfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbE11dGV4TG9jaworZXh0ZXJuIF9fdHlwZW9mICh4bWxNdXRleExvY2spIHhtbE11dGV4TG9ja19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbE11dGV4TG9jayB4bWxNdXRleExvY2tfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3RocmVhZHMKKyN1bmRlZiB4bWxNdXRleFVubG9jaworZXh0ZXJuIF9fdHlwZW9mICh4bWxNdXRleFVubG9jaykgeG1sTXV0ZXhVbmxvY2sgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxNdXRleFVubG9ja19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sTXV0ZXhVbmxvY2sKK2V4dGVybiBfX3R5cGVvZiAoeG1sTXV0ZXhVbmxvY2spIHhtbE11dGV4VW5sb2NrX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sTXV0ZXhVbmxvY2sgeG1sTXV0ZXhVbmxvY2tfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfTEVHQUNZX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX2xlZ2FjeQorI3VuZGVmIHhtbE5hbWVzcGFjZVBhcnNlTkNOYW1lCitleHRlcm4gX190eXBlb2YgKHhtbE5hbWVzcGFjZVBhcnNlTkNOYW1lKSB4bWxOYW1lc3BhY2VQYXJzZU5DTmFtZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbE5hbWVzcGFjZVBhcnNlTkNOYW1lX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxOYW1lc3BhY2VQYXJzZU5DTmFtZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxOYW1lc3BhY2VQYXJzZU5DTmFtZSkgeG1sTmFtZXNwYWNlUGFyc2VOQ05hbWVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxOYW1lc3BhY2VQYXJzZU5DTmFtZSB4bWxOYW1lc3BhY2VQYXJzZU5DTmFtZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX0xFR0FDWV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9sZWdhY3kKKyN1bmRlZiB4bWxOYW1lc3BhY2VQYXJzZU5TRGVmCitleHRlcm4gX190eXBlb2YgKHhtbE5hbWVzcGFjZVBhcnNlTlNEZWYpIHhtbE5hbWVzcGFjZVBhcnNlTlNEZWYgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxOYW1lc3BhY2VQYXJzZU5TRGVmX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxOYW1lc3BhY2VQYXJzZU5TRGVmCitleHRlcm4gX190eXBlb2YgKHhtbE5hbWVzcGFjZVBhcnNlTlNEZWYpIHhtbE5hbWVzcGFjZVBhcnNlTlNEZWZfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxOYW1lc3BhY2VQYXJzZU5TRGVmIHhtbE5hbWVzcGFjZVBhcnNlTlNEZWZfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9MRUdBQ1lfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fbGVnYWN5CisjdW5kZWYgeG1sTmFtZXNwYWNlUGFyc2VRTmFtZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxOYW1lc3BhY2VQYXJzZVFOYW1lKSB4bWxOYW1lc3BhY2VQYXJzZVFOYW1lIF9fYXR0cmlidXRlKChhbGlhcygieG1sTmFtZXNwYWNlUGFyc2VRTmFtZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sTmFtZXNwYWNlUGFyc2VRTmFtZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxOYW1lc3BhY2VQYXJzZVFOYW1lKSB4bWxOYW1lc3BhY2VQYXJzZVFOYW1lX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sTmFtZXNwYWNlUGFyc2VRTmFtZSB4bWxOYW1lc3BhY2VQYXJzZVFOYW1lX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfRlRQX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX25hbm9mdHAKKyN1bmRlZiB4bWxOYW5vRlRQQ2hlY2tSZXNwb25zZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxOYW5vRlRQQ2hlY2tSZXNwb25zZSkgeG1sTmFub0ZUUENoZWNrUmVzcG9uc2UgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxOYW5vRlRQQ2hlY2tSZXNwb25zZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sTmFub0ZUUENoZWNrUmVzcG9uc2UKK2V4dGVybiBfX3R5cGVvZiAoeG1sTmFub0ZUUENoZWNrUmVzcG9uc2UpIHhtbE5hbm9GVFBDaGVja1Jlc3BvbnNlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sTmFub0ZUUENoZWNrUmVzcG9uc2UgeG1sTmFub0ZUUENoZWNrUmVzcG9uc2VfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9GVFBfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fbmFub2Z0cAorI3VuZGVmIHhtbE5hbm9GVFBDbGVhbnVwCitleHRlcm4gX190eXBlb2YgKHhtbE5hbm9GVFBDbGVhbnVwKSB4bWxOYW5vRlRQQ2xlYW51cCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbE5hbm9GVFBDbGVhbnVwX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxOYW5vRlRQQ2xlYW51cAorZXh0ZXJuIF9fdHlwZW9mICh4bWxOYW5vRlRQQ2xlYW51cCkgeG1sTmFub0ZUUENsZWFudXBfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxOYW5vRlRQQ2xlYW51cCB4bWxOYW5vRlRQQ2xlYW51cF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX0ZUUF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9uYW5vZnRwCisjdW5kZWYgeG1sTmFub0ZUUENsb3NlCitleHRlcm4gX190eXBlb2YgKHhtbE5hbm9GVFBDbG9zZSkgeG1sTmFub0ZUUENsb3NlIF9fYXR0cmlidXRlKChhbGlhcygieG1sTmFub0ZUUENsb3NlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxOYW5vRlRQQ2xvc2UKK2V4dGVybiBfX3R5cGVvZiAoeG1sTmFub0ZUUENsb3NlKSB4bWxOYW5vRlRQQ2xvc2VfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxOYW5vRlRQQ2xvc2UgeG1sTmFub0ZUUENsb3NlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfRlRQX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX25hbm9mdHAKKyN1bmRlZiB4bWxOYW5vRlRQQ2xvc2VDb25uZWN0aW9uCitleHRlcm4gX190eXBlb2YgKHhtbE5hbm9GVFBDbG9zZUNvbm5lY3Rpb24pIHhtbE5hbm9GVFBDbG9zZUNvbm5lY3Rpb24gX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxOYW5vRlRQQ2xvc2VDb25uZWN0aW9uX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxOYW5vRlRQQ2xvc2VDb25uZWN0aW9uCitleHRlcm4gX190eXBlb2YgKHhtbE5hbm9GVFBDbG9zZUNvbm5lY3Rpb24pIHhtbE5hbm9GVFBDbG9zZUNvbm5lY3Rpb25fX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxOYW5vRlRQQ2xvc2VDb25uZWN0aW9uIHhtbE5hbm9GVFBDbG9zZUNvbm5lY3Rpb25fX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9GVFBfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fbmFub2Z0cAorI3VuZGVmIHhtbE5hbm9GVFBDb25uZWN0CitleHRlcm4gX190eXBlb2YgKHhtbE5hbm9GVFBDb25uZWN0KSB4bWxOYW5vRlRQQ29ubmVjdCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbE5hbm9GVFBDb25uZWN0X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxOYW5vRlRQQ29ubmVjdAorZXh0ZXJuIF9fdHlwZW9mICh4bWxOYW5vRlRQQ29ubmVjdCkgeG1sTmFub0ZUUENvbm5lY3RfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxOYW5vRlRQQ29ubmVjdCB4bWxOYW5vRlRQQ29ubmVjdF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX0ZUUF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9uYW5vZnRwCisjdW5kZWYgeG1sTmFub0ZUUENvbm5lY3RUbworZXh0ZXJuIF9fdHlwZW9mICh4bWxOYW5vRlRQQ29ubmVjdFRvKSB4bWxOYW5vRlRQQ29ubmVjdFRvIF9fYXR0cmlidXRlKChhbGlhcygieG1sTmFub0ZUUENvbm5lY3RUb19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sTmFub0ZUUENvbm5lY3RUbworZXh0ZXJuIF9fdHlwZW9mICh4bWxOYW5vRlRQQ29ubmVjdFRvKSB4bWxOYW5vRlRQQ29ubmVjdFRvX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sTmFub0ZUUENvbm5lY3RUbyB4bWxOYW5vRlRQQ29ubmVjdFRvX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfRlRQX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX25hbm9mdHAKKyN1bmRlZiB4bWxOYW5vRlRQQ3dkCitleHRlcm4gX190eXBlb2YgKHhtbE5hbm9GVFBDd2QpIHhtbE5hbm9GVFBDd2QgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxOYW5vRlRQQ3dkX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxOYW5vRlRQQ3dkCitleHRlcm4gX190eXBlb2YgKHhtbE5hbm9GVFBDd2QpIHhtbE5hbm9GVFBDd2RfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxOYW5vRlRQQ3dkIHhtbE5hbm9GVFBDd2RfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9GVFBfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fbmFub2Z0cAorI3VuZGVmIHhtbE5hbm9GVFBEZWxlCitleHRlcm4gX190eXBlb2YgKHhtbE5hbm9GVFBEZWxlKSB4bWxOYW5vRlRQRGVsZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbE5hbm9GVFBEZWxlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxOYW5vRlRQRGVsZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxOYW5vRlRQRGVsZSkgeG1sTmFub0ZUUERlbGVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxOYW5vRlRQRGVsZSB4bWxOYW5vRlRQRGVsZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX0ZUUF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9uYW5vZnRwCisjdW5kZWYgeG1sTmFub0ZUUEZyZWVDdHh0CitleHRlcm4gX190eXBlb2YgKHhtbE5hbm9GVFBGcmVlQ3R4dCkgeG1sTmFub0ZUUEZyZWVDdHh0IF9fYXR0cmlidXRlKChhbGlhcygieG1sTmFub0ZUUEZyZWVDdHh0X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxOYW5vRlRQRnJlZUN0eHQKK2V4dGVybiBfX3R5cGVvZiAoeG1sTmFub0ZUUEZyZWVDdHh0KSB4bWxOYW5vRlRQRnJlZUN0eHRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxOYW5vRlRQRnJlZUN0eHQgeG1sTmFub0ZUUEZyZWVDdHh0X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfRlRQX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX25hbm9mdHAKKyN1bmRlZiB4bWxOYW5vRlRQR2V0CitleHRlcm4gX190eXBlb2YgKHhtbE5hbm9GVFBHZXQpIHhtbE5hbm9GVFBHZXQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxOYW5vRlRQR2V0X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxOYW5vRlRQR2V0CitleHRlcm4gX190eXBlb2YgKHhtbE5hbm9GVFBHZXQpIHhtbE5hbm9GVFBHZXRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxOYW5vRlRQR2V0IHhtbE5hbm9GVFBHZXRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9GVFBfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fbmFub2Z0cAorI3VuZGVmIHhtbE5hbm9GVFBHZXRDb25uZWN0aW9uCitleHRlcm4gX190eXBlb2YgKHhtbE5hbm9GVFBHZXRDb25uZWN0aW9uKSB4bWxOYW5vRlRQR2V0Q29ubmVjdGlvbiBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbE5hbm9GVFBHZXRDb25uZWN0aW9uX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxOYW5vRlRQR2V0Q29ubmVjdGlvbgorZXh0ZXJuIF9fdHlwZW9mICh4bWxOYW5vRlRQR2V0Q29ubmVjdGlvbikgeG1sTmFub0ZUUEdldENvbm5lY3Rpb25fX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxOYW5vRlRQR2V0Q29ubmVjdGlvbiB4bWxOYW5vRlRQR2V0Q29ubmVjdGlvbl9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX0ZUUF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9uYW5vZnRwCisjdW5kZWYgeG1sTmFub0ZUUEdldFJlc3BvbnNlCitleHRlcm4gX190eXBlb2YgKHhtbE5hbm9GVFBHZXRSZXNwb25zZSkgeG1sTmFub0ZUUEdldFJlc3BvbnNlIF9fYXR0cmlidXRlKChhbGlhcygieG1sTmFub0ZUUEdldFJlc3BvbnNlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxOYW5vRlRQR2V0UmVzcG9uc2UKK2V4dGVybiBfX3R5cGVvZiAoeG1sTmFub0ZUUEdldFJlc3BvbnNlKSB4bWxOYW5vRlRQR2V0UmVzcG9uc2VfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxOYW5vRlRQR2V0UmVzcG9uc2UgeG1sTmFub0ZUUEdldFJlc3BvbnNlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfRlRQX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX25hbm9mdHAKKyN1bmRlZiB4bWxOYW5vRlRQR2V0U29ja2V0CitleHRlcm4gX190eXBlb2YgKHhtbE5hbm9GVFBHZXRTb2NrZXQpIHhtbE5hbm9GVFBHZXRTb2NrZXQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxOYW5vRlRQR2V0U29ja2V0X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxOYW5vRlRQR2V0U29ja2V0CitleHRlcm4gX190eXBlb2YgKHhtbE5hbm9GVFBHZXRTb2NrZXQpIHhtbE5hbm9GVFBHZXRTb2NrZXRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxOYW5vRlRQR2V0U29ja2V0IHhtbE5hbm9GVFBHZXRTb2NrZXRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9GVFBfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fbmFub2Z0cAorI3VuZGVmIHhtbE5hbm9GVFBJbml0CitleHRlcm4gX190eXBlb2YgKHhtbE5hbm9GVFBJbml0KSB4bWxOYW5vRlRQSW5pdCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbE5hbm9GVFBJbml0X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxOYW5vRlRQSW5pdAorZXh0ZXJuIF9fdHlwZW9mICh4bWxOYW5vRlRQSW5pdCkgeG1sTmFub0ZUUEluaXRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxOYW5vRlRQSW5pdCB4bWxOYW5vRlRQSW5pdF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX0ZUUF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9uYW5vZnRwCisjdW5kZWYgeG1sTmFub0ZUUExpc3QKK2V4dGVybiBfX3R5cGVvZiAoeG1sTmFub0ZUUExpc3QpIHhtbE5hbm9GVFBMaXN0IF9fYXR0cmlidXRlKChhbGlhcygieG1sTmFub0ZUUExpc3RfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbE5hbm9GVFBMaXN0CitleHRlcm4gX190eXBlb2YgKHhtbE5hbm9GVFBMaXN0KSB4bWxOYW5vRlRQTGlzdF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbE5hbm9GVFBMaXN0IHhtbE5hbm9GVFBMaXN0X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfRlRQX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX25hbm9mdHAKKyN1bmRlZiB4bWxOYW5vRlRQTmV3Q3R4dAorZXh0ZXJuIF9fdHlwZW9mICh4bWxOYW5vRlRQTmV3Q3R4dCkgeG1sTmFub0ZUUE5ld0N0eHQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxOYW5vRlRQTmV3Q3R4dF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sTmFub0ZUUE5ld0N0eHQKK2V4dGVybiBfX3R5cGVvZiAoeG1sTmFub0ZUUE5ld0N0eHQpIHhtbE5hbm9GVFBOZXdDdHh0X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sTmFub0ZUUE5ld0N0eHQgeG1sTmFub0ZUUE5ld0N0eHRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9GVFBfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fbmFub2Z0cAorI3VuZGVmIHhtbE5hbm9GVFBPcGVuCitleHRlcm4gX190eXBlb2YgKHhtbE5hbm9GVFBPcGVuKSB4bWxOYW5vRlRQT3BlbiBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbE5hbm9GVFBPcGVuX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxOYW5vRlRQT3BlbgorZXh0ZXJuIF9fdHlwZW9mICh4bWxOYW5vRlRQT3BlbikgeG1sTmFub0ZUUE9wZW5fX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxOYW5vRlRQT3BlbiB4bWxOYW5vRlRQT3Blbl9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX0ZUUF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9uYW5vZnRwCisjdW5kZWYgeG1sTmFub0ZUUFByb3h5CitleHRlcm4gX190eXBlb2YgKHhtbE5hbm9GVFBQcm94eSkgeG1sTmFub0ZUUFByb3h5IF9fYXR0cmlidXRlKChhbGlhcygieG1sTmFub0ZUUFByb3h5X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxOYW5vRlRQUHJveHkKK2V4dGVybiBfX3R5cGVvZiAoeG1sTmFub0ZUUFByb3h5KSB4bWxOYW5vRlRQUHJveHlfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxOYW5vRlRQUHJveHkgeG1sTmFub0ZUUFByb3h5X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfRlRQX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX25hbm9mdHAKKyN1bmRlZiB4bWxOYW5vRlRQUXVpdAorZXh0ZXJuIF9fdHlwZW9mICh4bWxOYW5vRlRQUXVpdCkgeG1sTmFub0ZUUFF1aXQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxOYW5vRlRQUXVpdF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sTmFub0ZUUFF1aXQKK2V4dGVybiBfX3R5cGVvZiAoeG1sTmFub0ZUUFF1aXQpIHhtbE5hbm9GVFBRdWl0X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sTmFub0ZUUFF1aXQgeG1sTmFub0ZUUFF1aXRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9GVFBfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fbmFub2Z0cAorI3VuZGVmIHhtbE5hbm9GVFBSZWFkCitleHRlcm4gX190eXBlb2YgKHhtbE5hbm9GVFBSZWFkKSB4bWxOYW5vRlRQUmVhZCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbE5hbm9GVFBSZWFkX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxOYW5vRlRQUmVhZAorZXh0ZXJuIF9fdHlwZW9mICh4bWxOYW5vRlRQUmVhZCkgeG1sTmFub0ZUUFJlYWRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxOYW5vRlRQUmVhZCB4bWxOYW5vRlRQUmVhZF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX0ZUUF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9uYW5vZnRwCisjdW5kZWYgeG1sTmFub0ZUUFNjYW5Qcm94eQorZXh0ZXJuIF9fdHlwZW9mICh4bWxOYW5vRlRQU2NhblByb3h5KSB4bWxOYW5vRlRQU2NhblByb3h5IF9fYXR0cmlidXRlKChhbGlhcygieG1sTmFub0ZUUFNjYW5Qcm94eV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sTmFub0ZUUFNjYW5Qcm94eQorZXh0ZXJuIF9fdHlwZW9mICh4bWxOYW5vRlRQU2NhblByb3h5KSB4bWxOYW5vRlRQU2NhblByb3h5X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sTmFub0ZUUFNjYW5Qcm94eSB4bWxOYW5vRlRQU2NhblByb3h5X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfRlRQX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX25hbm9mdHAKKyN1bmRlZiB4bWxOYW5vRlRQVXBkYXRlVVJMCitleHRlcm4gX190eXBlb2YgKHhtbE5hbm9GVFBVcGRhdGVVUkwpIHhtbE5hbm9GVFBVcGRhdGVVUkwgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxOYW5vRlRQVXBkYXRlVVJMX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxOYW5vRlRQVXBkYXRlVVJMCitleHRlcm4gX190eXBlb2YgKHhtbE5hbm9GVFBVcGRhdGVVUkwpIHhtbE5hbm9GVFBVcGRhdGVVUkxfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxOYW5vRlRQVXBkYXRlVVJMIHhtbE5hbm9GVFBVcGRhdGVVUkxfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9IVFRQX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX25hbm9odHRwCisjdW5kZWYgeG1sTmFub0hUVFBBdXRoSGVhZGVyCitleHRlcm4gX190eXBlb2YgKHhtbE5hbm9IVFRQQXV0aEhlYWRlcikgeG1sTmFub0hUVFBBdXRoSGVhZGVyIF9fYXR0cmlidXRlKChhbGlhcygieG1sTmFub0hUVFBBdXRoSGVhZGVyX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxOYW5vSFRUUEF1dGhIZWFkZXIKK2V4dGVybiBfX3R5cGVvZiAoeG1sTmFub0hUVFBBdXRoSGVhZGVyKSB4bWxOYW5vSFRUUEF1dGhIZWFkZXJfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxOYW5vSFRUUEF1dGhIZWFkZXIgeG1sTmFub0hUVFBBdXRoSGVhZGVyX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfSFRUUF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9uYW5vaHR0cAorI3VuZGVmIHhtbE5hbm9IVFRQQ2xlYW51cAorZXh0ZXJuIF9fdHlwZW9mICh4bWxOYW5vSFRUUENsZWFudXApIHhtbE5hbm9IVFRQQ2xlYW51cCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbE5hbm9IVFRQQ2xlYW51cF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sTmFub0hUVFBDbGVhbnVwCitleHRlcm4gX190eXBlb2YgKHhtbE5hbm9IVFRQQ2xlYW51cCkgeG1sTmFub0hUVFBDbGVhbnVwX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sTmFub0hUVFBDbGVhbnVwIHhtbE5hbm9IVFRQQ2xlYW51cF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX0hUVFBfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fbmFub2h0dHAKKyN1bmRlZiB4bWxOYW5vSFRUUENsb3NlCitleHRlcm4gX190eXBlb2YgKHhtbE5hbm9IVFRQQ2xvc2UpIHhtbE5hbm9IVFRQQ2xvc2UgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxOYW5vSFRUUENsb3NlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxOYW5vSFRUUENsb3NlCitleHRlcm4gX190eXBlb2YgKHhtbE5hbm9IVFRQQ2xvc2UpIHhtbE5hbm9IVFRQQ2xvc2VfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxOYW5vSFRUUENsb3NlIHhtbE5hbm9IVFRQQ2xvc2VfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9IVFRQX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX25hbm9odHRwCisjdW5kZWYgeG1sTmFub0hUVFBDb250ZW50TGVuZ3RoCitleHRlcm4gX190eXBlb2YgKHhtbE5hbm9IVFRQQ29udGVudExlbmd0aCkgeG1sTmFub0hUVFBDb250ZW50TGVuZ3RoIF9fYXR0cmlidXRlKChhbGlhcygieG1sTmFub0hUVFBDb250ZW50TGVuZ3RoX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxOYW5vSFRUUENvbnRlbnRMZW5ndGgKK2V4dGVybiBfX3R5cGVvZiAoeG1sTmFub0hUVFBDb250ZW50TGVuZ3RoKSB4bWxOYW5vSFRUUENvbnRlbnRMZW5ndGhfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxOYW5vSFRUUENvbnRlbnRMZW5ndGggeG1sTmFub0hUVFBDb250ZW50TGVuZ3RoX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfSFRUUF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9uYW5vaHR0cAorI3VuZGVmIHhtbE5hbm9IVFRQRW5jb2RpbmcKK2V4dGVybiBfX3R5cGVvZiAoeG1sTmFub0hUVFBFbmNvZGluZykgeG1sTmFub0hUVFBFbmNvZGluZyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbE5hbm9IVFRQRW5jb2RpbmdfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbE5hbm9IVFRQRW5jb2RpbmcKK2V4dGVybiBfX3R5cGVvZiAoeG1sTmFub0hUVFBFbmNvZGluZykgeG1sTmFub0hUVFBFbmNvZGluZ19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbE5hbm9IVFRQRW5jb2RpbmcgeG1sTmFub0hUVFBFbmNvZGluZ19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX0hUVFBfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fbmFub2h0dHAKKyN1bmRlZiB4bWxOYW5vSFRUUEZldGNoCitleHRlcm4gX190eXBlb2YgKHhtbE5hbm9IVFRQRmV0Y2gpIHhtbE5hbm9IVFRQRmV0Y2ggX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxOYW5vSFRUUEZldGNoX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxOYW5vSFRUUEZldGNoCitleHRlcm4gX190eXBlb2YgKHhtbE5hbm9IVFRQRmV0Y2gpIHhtbE5hbm9IVFRQRmV0Y2hfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxOYW5vSFRUUEZldGNoIHhtbE5hbm9IVFRQRmV0Y2hfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9IVFRQX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX25hbm9odHRwCisjdW5kZWYgeG1sTmFub0hUVFBJbml0CitleHRlcm4gX190eXBlb2YgKHhtbE5hbm9IVFRQSW5pdCkgeG1sTmFub0hUVFBJbml0IF9fYXR0cmlidXRlKChhbGlhcygieG1sTmFub0hUVFBJbml0X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxOYW5vSFRUUEluaXQKK2V4dGVybiBfX3R5cGVvZiAoeG1sTmFub0hUVFBJbml0KSB4bWxOYW5vSFRUUEluaXRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxOYW5vSFRUUEluaXQgeG1sTmFub0hUVFBJbml0X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfSFRUUF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9uYW5vaHR0cAorI3VuZGVmIHhtbE5hbm9IVFRQTWV0aG9kCitleHRlcm4gX190eXBlb2YgKHhtbE5hbm9IVFRQTWV0aG9kKSB4bWxOYW5vSFRUUE1ldGhvZCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbE5hbm9IVFRQTWV0aG9kX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxOYW5vSFRUUE1ldGhvZAorZXh0ZXJuIF9fdHlwZW9mICh4bWxOYW5vSFRUUE1ldGhvZCkgeG1sTmFub0hUVFBNZXRob2RfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxOYW5vSFRUUE1ldGhvZCB4bWxOYW5vSFRUUE1ldGhvZF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX0hUVFBfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fbmFub2h0dHAKKyN1bmRlZiB4bWxOYW5vSFRUUE1ldGhvZFJlZGlyCitleHRlcm4gX190eXBlb2YgKHhtbE5hbm9IVFRQTWV0aG9kUmVkaXIpIHhtbE5hbm9IVFRQTWV0aG9kUmVkaXIgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxOYW5vSFRUUE1ldGhvZFJlZGlyX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxOYW5vSFRUUE1ldGhvZFJlZGlyCitleHRlcm4gX190eXBlb2YgKHhtbE5hbm9IVFRQTWV0aG9kUmVkaXIpIHhtbE5hbm9IVFRQTWV0aG9kUmVkaXJfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxOYW5vSFRUUE1ldGhvZFJlZGlyIHhtbE5hbm9IVFRQTWV0aG9kUmVkaXJfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9IVFRQX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX25hbm9odHRwCisjdW5kZWYgeG1sTmFub0hUVFBNaW1lVHlwZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxOYW5vSFRUUE1pbWVUeXBlKSB4bWxOYW5vSFRUUE1pbWVUeXBlIF9fYXR0cmlidXRlKChhbGlhcygieG1sTmFub0hUVFBNaW1lVHlwZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sTmFub0hUVFBNaW1lVHlwZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxOYW5vSFRUUE1pbWVUeXBlKSB4bWxOYW5vSFRUUE1pbWVUeXBlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sTmFub0hUVFBNaW1lVHlwZSB4bWxOYW5vSFRUUE1pbWVUeXBlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfSFRUUF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9uYW5vaHR0cAorI3VuZGVmIHhtbE5hbm9IVFRQT3BlbgorZXh0ZXJuIF9fdHlwZW9mICh4bWxOYW5vSFRUUE9wZW4pIHhtbE5hbm9IVFRQT3BlbiBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbE5hbm9IVFRQT3Blbl9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sTmFub0hUVFBPcGVuCitleHRlcm4gX190eXBlb2YgKHhtbE5hbm9IVFRQT3BlbikgeG1sTmFub0hUVFBPcGVuX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sTmFub0hUVFBPcGVuIHhtbE5hbm9IVFRQT3Blbl9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX0hUVFBfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fbmFub2h0dHAKKyN1bmRlZiB4bWxOYW5vSFRUUE9wZW5SZWRpcgorZXh0ZXJuIF9fdHlwZW9mICh4bWxOYW5vSFRUUE9wZW5SZWRpcikgeG1sTmFub0hUVFBPcGVuUmVkaXIgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxOYW5vSFRUUE9wZW5SZWRpcl9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sTmFub0hUVFBPcGVuUmVkaXIKK2V4dGVybiBfX3R5cGVvZiAoeG1sTmFub0hUVFBPcGVuUmVkaXIpIHhtbE5hbm9IVFRQT3BlblJlZGlyX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sTmFub0hUVFBPcGVuUmVkaXIgeG1sTmFub0hUVFBPcGVuUmVkaXJfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9IVFRQX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX25hbm9odHRwCisjdW5kZWYgeG1sTmFub0hUVFBSZWFkCitleHRlcm4gX190eXBlb2YgKHhtbE5hbm9IVFRQUmVhZCkgeG1sTmFub0hUVFBSZWFkIF9fYXR0cmlidXRlKChhbGlhcygieG1sTmFub0hUVFBSZWFkX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxOYW5vSFRUUFJlYWQKK2V4dGVybiBfX3R5cGVvZiAoeG1sTmFub0hUVFBSZWFkKSB4bWxOYW5vSFRUUFJlYWRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxOYW5vSFRUUFJlYWQgeG1sTmFub0hUVFBSZWFkX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfSFRUUF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9uYW5vaHR0cAorI3VuZGVmIHhtbE5hbm9IVFRQUmVkaXIKK2V4dGVybiBfX3R5cGVvZiAoeG1sTmFub0hUVFBSZWRpcikgeG1sTmFub0hUVFBSZWRpciBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbE5hbm9IVFRQUmVkaXJfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbE5hbm9IVFRQUmVkaXIKK2V4dGVybiBfX3R5cGVvZiAoeG1sTmFub0hUVFBSZWRpcikgeG1sTmFub0hUVFBSZWRpcl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbE5hbm9IVFRQUmVkaXIgeG1sTmFub0hUVFBSZWRpcl9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX0hUVFBfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fbmFub2h0dHAKKyN1bmRlZiB4bWxOYW5vSFRUUFJldHVybkNvZGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sTmFub0hUVFBSZXR1cm5Db2RlKSB4bWxOYW5vSFRUUFJldHVybkNvZGUgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxOYW5vSFRUUFJldHVybkNvZGVfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbE5hbm9IVFRQUmV0dXJuQ29kZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxOYW5vSFRUUFJldHVybkNvZGUpIHhtbE5hbm9IVFRQUmV0dXJuQ29kZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbE5hbm9IVFRQUmV0dXJuQ29kZSB4bWxOYW5vSFRUUFJldHVybkNvZGVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9IVFRQX0VOQUJMRUQpICYmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9uYW5vaHR0cAorI3VuZGVmIHhtbE5hbm9IVFRQU2F2ZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxOYW5vSFRUUFNhdmUpIHhtbE5hbm9IVFRQU2F2ZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbE5hbm9IVFRQU2F2ZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sTmFub0hUVFBTYXZlCitleHRlcm4gX190eXBlb2YgKHhtbE5hbm9IVFRQU2F2ZSkgeG1sTmFub0hUVFBTYXZlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sTmFub0hUVFBTYXZlIHhtbE5hbm9IVFRQU2F2ZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX0hUVFBfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fbmFub2h0dHAKKyN1bmRlZiB4bWxOYW5vSFRUUFNjYW5Qcm94eQorZXh0ZXJuIF9fdHlwZW9mICh4bWxOYW5vSFRUUFNjYW5Qcm94eSkgeG1sTmFub0hUVFBTY2FuUHJveHkgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxOYW5vSFRUUFNjYW5Qcm94eV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sTmFub0hUVFBTY2FuUHJveHkKK2V4dGVybiBfX3R5cGVvZiAoeG1sTmFub0hUVFBTY2FuUHJveHkpIHhtbE5hbm9IVFRQU2NhblByb3h5X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sTmFub0hUVFBTY2FuUHJveHkgeG1sTmFub0hUVFBTY2FuUHJveHlfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUdFWFBfRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfQVVUT01BVEFfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1scmVnZXhwCisjdW5kZWYgeG1sTmV3QXV0b21hdGEKK2V4dGVybiBfX3R5cGVvZiAoeG1sTmV3QXV0b21hdGEpIHhtbE5ld0F1dG9tYXRhIF9fYXR0cmlidXRlKChhbGlhcygieG1sTmV3QXV0b21hdGFfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbE5ld0F1dG9tYXRhCitleHRlcm4gX190eXBlb2YgKHhtbE5ld0F1dG9tYXRhKSB4bWxOZXdBdXRvbWF0YV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbE5ld0F1dG9tYXRhIHhtbE5ld0F1dG9tYXRhX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3RyZWUKKyN1bmRlZiB4bWxOZXdDRGF0YUJsb2NrCitleHRlcm4gX190eXBlb2YgKHhtbE5ld0NEYXRhQmxvY2spIHhtbE5ld0NEYXRhQmxvY2sgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxOZXdDRGF0YUJsb2NrX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxOZXdDRGF0YUJsb2NrCitleHRlcm4gX190eXBlb2YgKHhtbE5ld0NEYXRhQmxvY2spIHhtbE5ld0NEYXRhQmxvY2tfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxOZXdDRGF0YUJsb2NrIHhtbE5ld0NEYXRhQmxvY2tfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfQ0FUQUxPR19FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9jYXRhbG9nCisjdW5kZWYgeG1sTmV3Q2F0YWxvZworZXh0ZXJuIF9fdHlwZW9mICh4bWxOZXdDYXRhbG9nKSB4bWxOZXdDYXRhbG9nIF9fYXR0cmlidXRlKChhbGlhcygieG1sTmV3Q2F0YWxvZ19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sTmV3Q2F0YWxvZworZXh0ZXJuIF9fdHlwZW9mICh4bWxOZXdDYXRhbG9nKSB4bWxOZXdDYXRhbG9nX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sTmV3Q2F0YWxvZyB4bWxOZXdDYXRhbG9nX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX2VuY29kaW5nCisjdW5kZWYgeG1sTmV3Q2hhckVuY29kaW5nSGFuZGxlcgorZXh0ZXJuIF9fdHlwZW9mICh4bWxOZXdDaGFyRW5jb2RpbmdIYW5kbGVyKSB4bWxOZXdDaGFyRW5jb2RpbmdIYW5kbGVyIF9fYXR0cmlidXRlKChhbGlhcygieG1sTmV3Q2hhckVuY29kaW5nSGFuZGxlcl9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sTmV3Q2hhckVuY29kaW5nSGFuZGxlcgorZXh0ZXJuIF9fdHlwZW9mICh4bWxOZXdDaGFyRW5jb2RpbmdIYW5kbGVyKSB4bWxOZXdDaGFyRW5jb2RpbmdIYW5kbGVyX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sTmV3Q2hhckVuY29kaW5nSGFuZGxlciB4bWxOZXdDaGFyRW5jb2RpbmdIYW5kbGVyX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV90cmVlCisjdW5kZWYgeG1sTmV3Q2hhclJlZgorZXh0ZXJuIF9fdHlwZW9mICh4bWxOZXdDaGFyUmVmKSB4bWxOZXdDaGFyUmVmIF9fYXR0cmlidXRlKChhbGlhcygieG1sTmV3Q2hhclJlZl9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sTmV3Q2hhclJlZgorZXh0ZXJuIF9fdHlwZW9mICh4bWxOZXdDaGFyUmVmKSB4bWxOZXdDaGFyUmVmX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sTmV3Q2hhclJlZiB4bWxOZXdDaGFyUmVmX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV90cmVlCisjdW5kZWYgeG1sTmV3Q2hpbGQKK2V4dGVybiBfX3R5cGVvZiAoeG1sTmV3Q2hpbGQpIHhtbE5ld0NoaWxkIF9fYXR0cmlidXRlKChhbGlhcygieG1sTmV3Q2hpbGRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbE5ld0NoaWxkCitleHRlcm4gX190eXBlb2YgKHhtbE5ld0NoaWxkKSB4bWxOZXdDaGlsZF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbE5ld0NoaWxkIHhtbE5ld0NoaWxkX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3RyZWUKKyN1bmRlZiB4bWxOZXdDb21tZW50CitleHRlcm4gX190eXBlb2YgKHhtbE5ld0NvbW1lbnQpIHhtbE5ld0NvbW1lbnQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxOZXdDb21tZW50X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxOZXdDb21tZW50CitleHRlcm4gX190eXBlb2YgKHhtbE5ld0NvbW1lbnQpIHhtbE5ld0NvbW1lbnRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxOZXdDb21tZW50IHhtbE5ld0NvbW1lbnRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3RyZWUKKyN1bmRlZiB4bWxOZXdEb2MKK2V4dGVybiBfX3R5cGVvZiAoeG1sTmV3RG9jKSB4bWxOZXdEb2MgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxOZXdEb2NfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbE5ld0RvYworZXh0ZXJuIF9fdHlwZW9mICh4bWxOZXdEb2MpIHhtbE5ld0RvY19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbE5ld0RvYyB4bWxOZXdEb2NfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3RyZWUKKyN1bmRlZiB4bWxOZXdEb2NDb21tZW50CitleHRlcm4gX190eXBlb2YgKHhtbE5ld0RvY0NvbW1lbnQpIHhtbE5ld0RvY0NvbW1lbnQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxOZXdEb2NDb21tZW50X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxOZXdEb2NDb21tZW50CitleHRlcm4gX190eXBlb2YgKHhtbE5ld0RvY0NvbW1lbnQpIHhtbE5ld0RvY0NvbW1lbnRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxOZXdEb2NDb21tZW50IHhtbE5ld0RvY0NvbW1lbnRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3ZhbGlkCisjdW5kZWYgeG1sTmV3RG9jRWxlbWVudENvbnRlbnQKK2V4dGVybiBfX3R5cGVvZiAoeG1sTmV3RG9jRWxlbWVudENvbnRlbnQpIHhtbE5ld0RvY0VsZW1lbnRDb250ZW50IF9fYXR0cmlidXRlKChhbGlhcygieG1sTmV3RG9jRWxlbWVudENvbnRlbnRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbE5ld0RvY0VsZW1lbnRDb250ZW50CitleHRlcm4gX190eXBlb2YgKHhtbE5ld0RvY0VsZW1lbnRDb250ZW50KSB4bWxOZXdEb2NFbGVtZW50Q29udGVudF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbE5ld0RvY0VsZW1lbnRDb250ZW50IHhtbE5ld0RvY0VsZW1lbnRDb250ZW50X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fdHJlZQorI3VuZGVmIHhtbE5ld0RvY0ZyYWdtZW50CitleHRlcm4gX190eXBlb2YgKHhtbE5ld0RvY0ZyYWdtZW50KSB4bWxOZXdEb2NGcmFnbWVudCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbE5ld0RvY0ZyYWdtZW50X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxOZXdEb2NGcmFnbWVudAorZXh0ZXJuIF9fdHlwZW9mICh4bWxOZXdEb2NGcmFnbWVudCkgeG1sTmV3RG9jRnJhZ21lbnRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxOZXdEb2NGcmFnbWVudCB4bWxOZXdEb2NGcmFnbWVudF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV90cmVlCisjdW5kZWYgeG1sTmV3RG9jTm9kZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxOZXdEb2NOb2RlKSB4bWxOZXdEb2NOb2RlIF9fYXR0cmlidXRlKChhbGlhcygieG1sTmV3RG9jTm9kZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sTmV3RG9jTm9kZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxOZXdEb2NOb2RlKSB4bWxOZXdEb2NOb2RlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sTmV3RG9jTm9kZSB4bWxOZXdEb2NOb2RlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV90cmVlCisjdW5kZWYgeG1sTmV3RG9jTm9kZUVhdE5hbWUKK2V4dGVybiBfX3R5cGVvZiAoeG1sTmV3RG9jTm9kZUVhdE5hbWUpIHhtbE5ld0RvY05vZGVFYXROYW1lIF9fYXR0cmlidXRlKChhbGlhcygieG1sTmV3RG9jTm9kZUVhdE5hbWVfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbE5ld0RvY05vZGVFYXROYW1lCitleHRlcm4gX190eXBlb2YgKHhtbE5ld0RvY05vZGVFYXROYW1lKSB4bWxOZXdEb2NOb2RlRWF0TmFtZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbE5ld0RvY05vZGVFYXROYW1lIHhtbE5ld0RvY05vZGVFYXROYW1lX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV90cmVlCisjdW5kZWYgeG1sTmV3RG9jUEkKK2V4dGVybiBfX3R5cGVvZiAoeG1sTmV3RG9jUEkpIHhtbE5ld0RvY1BJIF9fYXR0cmlidXRlKChhbGlhcygieG1sTmV3RG9jUElfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbE5ld0RvY1BJCitleHRlcm4gX190eXBlb2YgKHhtbE5ld0RvY1BJKSB4bWxOZXdEb2NQSV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbE5ld0RvY1BJIHhtbE5ld0RvY1BJX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV90cmVlCisjdW5kZWYgeG1sTmV3RG9jUHJvcAorZXh0ZXJuIF9fdHlwZW9mICh4bWxOZXdEb2NQcm9wKSB4bWxOZXdEb2NQcm9wIF9fYXR0cmlidXRlKChhbGlhcygieG1sTmV3RG9jUHJvcF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sTmV3RG9jUHJvcAorZXh0ZXJuIF9fdHlwZW9mICh4bWxOZXdEb2NQcm9wKSB4bWxOZXdEb2NQcm9wX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sTmV3RG9jUHJvcCB4bWxOZXdEb2NQcm9wX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fdHJlZQorI3VuZGVmIHhtbE5ld0RvY1Jhd05vZGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sTmV3RG9jUmF3Tm9kZSkgeG1sTmV3RG9jUmF3Tm9kZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbE5ld0RvY1Jhd05vZGVfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbE5ld0RvY1Jhd05vZGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sTmV3RG9jUmF3Tm9kZSkgeG1sTmV3RG9jUmF3Tm9kZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbE5ld0RvY1Jhd05vZGUgeG1sTmV3RG9jUmF3Tm9kZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV90cmVlCisjdW5kZWYgeG1sTmV3RG9jVGV4dAorZXh0ZXJuIF9fdHlwZW9mICh4bWxOZXdEb2NUZXh0KSB4bWxOZXdEb2NUZXh0IF9fYXR0cmlidXRlKChhbGlhcygieG1sTmV3RG9jVGV4dF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sTmV3RG9jVGV4dAorZXh0ZXJuIF9fdHlwZW9mICh4bWxOZXdEb2NUZXh0KSB4bWxOZXdEb2NUZXh0X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sTmV3RG9jVGV4dCB4bWxOZXdEb2NUZXh0X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV90cmVlCisjdW5kZWYgeG1sTmV3RG9jVGV4dExlbgorZXh0ZXJuIF9fdHlwZW9mICh4bWxOZXdEb2NUZXh0TGVuKSB4bWxOZXdEb2NUZXh0TGVuIF9fYXR0cmlidXRlKChhbGlhcygieG1sTmV3RG9jVGV4dExlbl9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sTmV3RG9jVGV4dExlbgorZXh0ZXJuIF9fdHlwZW9mICh4bWxOZXdEb2NUZXh0TGVuKSB4bWxOZXdEb2NUZXh0TGVuX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sTmV3RG9jVGV4dExlbiB4bWxOZXdEb2NUZXh0TGVuX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV90cmVlCisjdW5kZWYgeG1sTmV3RHRkCitleHRlcm4gX190eXBlb2YgKHhtbE5ld0R0ZCkgeG1sTmV3RHRkIF9fYXR0cmlidXRlKChhbGlhcygieG1sTmV3RHRkX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxOZXdEdGQKK2V4dGVybiBfX3R5cGVvZiAoeG1sTmV3RHRkKSB4bWxOZXdEdGRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxOZXdEdGQgeG1sTmV3RHRkX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV92YWxpZAorI3VuZGVmIHhtbE5ld0VsZW1lbnRDb250ZW50CitleHRlcm4gX190eXBlb2YgKHhtbE5ld0VsZW1lbnRDb250ZW50KSB4bWxOZXdFbGVtZW50Q29udGVudCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbE5ld0VsZW1lbnRDb250ZW50X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxOZXdFbGVtZW50Q29udGVudAorZXh0ZXJuIF9fdHlwZW9mICh4bWxOZXdFbGVtZW50Q29udGVudCkgeG1sTmV3RWxlbWVudENvbnRlbnRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxOZXdFbGVtZW50Q29udGVudCB4bWxOZXdFbGVtZW50Q29udGVudF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fZW50aXRpZXMKKyN1bmRlZiB4bWxOZXdFbnRpdHkKK2V4dGVybiBfX3R5cGVvZiAoeG1sTmV3RW50aXR5KSB4bWxOZXdFbnRpdHkgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxOZXdFbnRpdHlfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbE5ld0VudGl0eQorZXh0ZXJuIF9fdHlwZW9mICh4bWxOZXdFbnRpdHkpIHhtbE5ld0VudGl0eV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbE5ld0VudGl0eSB4bWxOZXdFbnRpdHlfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3BhcnNlckludGVybmFscworI3VuZGVmIHhtbE5ld0VudGl0eUlucHV0U3RyZWFtCitleHRlcm4gX190eXBlb2YgKHhtbE5ld0VudGl0eUlucHV0U3RyZWFtKSB4bWxOZXdFbnRpdHlJbnB1dFN0cmVhbSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbE5ld0VudGl0eUlucHV0U3RyZWFtX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxOZXdFbnRpdHlJbnB1dFN0cmVhbQorZXh0ZXJuIF9fdHlwZW9mICh4bWxOZXdFbnRpdHlJbnB1dFN0cmVhbSkgeG1sTmV3RW50aXR5SW5wdXRTdHJlYW1fX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxOZXdFbnRpdHlJbnB1dFN0cmVhbSB4bWxOZXdFbnRpdHlJbnB1dFN0cmVhbV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9MRUdBQ1lfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fbGVnYWN5CisjdW5kZWYgeG1sTmV3R2xvYmFsTnMKK2V4dGVybiBfX3R5cGVvZiAoeG1sTmV3R2xvYmFsTnMpIHhtbE5ld0dsb2JhbE5zIF9fYXR0cmlidXRlKChhbGlhcygieG1sTmV3R2xvYmFsTnNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbE5ld0dsb2JhbE5zCitleHRlcm4gX190eXBlb2YgKHhtbE5ld0dsb2JhbE5zKSB4bWxOZXdHbG9iYWxOc19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbE5ld0dsb2JhbE5zIHhtbE5ld0dsb2JhbE5zX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3BhcnNlckludGVybmFscworI3VuZGVmIHhtbE5ld0lPSW5wdXRTdHJlYW0KK2V4dGVybiBfX3R5cGVvZiAoeG1sTmV3SU9JbnB1dFN0cmVhbSkgeG1sTmV3SU9JbnB1dFN0cmVhbSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbE5ld0lPSW5wdXRTdHJlYW1fX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbE5ld0lPSW5wdXRTdHJlYW0KK2V4dGVybiBfX3R5cGVvZiAoeG1sTmV3SU9JbnB1dFN0cmVhbSkgeG1sTmV3SU9JbnB1dFN0cmVhbV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbE5ld0lPSW5wdXRTdHJlYW0geG1sTmV3SU9JbnB1dFN0cmVhbV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fcGFyc2VySW50ZXJuYWxzCisjdW5kZWYgeG1sTmV3SW5wdXRGcm9tRmlsZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxOZXdJbnB1dEZyb21GaWxlKSB4bWxOZXdJbnB1dEZyb21GaWxlIF9fYXR0cmlidXRlKChhbGlhcygieG1sTmV3SW5wdXRGcm9tRmlsZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sTmV3SW5wdXRGcm9tRmlsZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxOZXdJbnB1dEZyb21GaWxlKSB4bWxOZXdJbnB1dEZyb21GaWxlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sTmV3SW5wdXRGcm9tRmlsZSB4bWxOZXdJbnB1dEZyb21GaWxlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9wYXJzZXJJbnRlcm5hbHMKKyN1bmRlZiB4bWxOZXdJbnB1dFN0cmVhbQorZXh0ZXJuIF9fdHlwZW9mICh4bWxOZXdJbnB1dFN0cmVhbSkgeG1sTmV3SW5wdXRTdHJlYW0gX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxOZXdJbnB1dFN0cmVhbV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sTmV3SW5wdXRTdHJlYW0KK2V4dGVybiBfX3R5cGVvZiAoeG1sTmV3SW5wdXRTdHJlYW0pIHhtbE5ld0lucHV0U3RyZWFtX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sTmV3SW5wdXRTdHJlYW0geG1sTmV3SW5wdXRTdHJlYW1fX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3RocmVhZHMKKyN1bmRlZiB4bWxOZXdNdXRleAorZXh0ZXJuIF9fdHlwZW9mICh4bWxOZXdNdXRleCkgeG1sTmV3TXV0ZXggX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxOZXdNdXRleF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sTmV3TXV0ZXgKK2V4dGVybiBfX3R5cGVvZiAoeG1sTmV3TXV0ZXgpIHhtbE5ld011dGV4X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sTmV3TXV0ZXggeG1sTmV3TXV0ZXhfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3RyZWUKKyN1bmRlZiB4bWxOZXdOb2RlCitleHRlcm4gX190eXBlb2YgKHhtbE5ld05vZGUpIHhtbE5ld05vZGUgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxOZXdOb2RlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxOZXdOb2RlCitleHRlcm4gX190eXBlb2YgKHhtbE5ld05vZGUpIHhtbE5ld05vZGVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxOZXdOb2RlIHhtbE5ld05vZGVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3RyZWUKKyN1bmRlZiB4bWxOZXdOb2RlRWF0TmFtZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxOZXdOb2RlRWF0TmFtZSkgeG1sTmV3Tm9kZUVhdE5hbWUgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxOZXdOb2RlRWF0TmFtZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sTmV3Tm9kZUVhdE5hbWUKK2V4dGVybiBfX3R5cGVvZiAoeG1sTmV3Tm9kZUVhdE5hbWUpIHhtbE5ld05vZGVFYXROYW1lX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sTmV3Tm9kZUVhdE5hbWUgeG1sTmV3Tm9kZUVhdE5hbWVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3RyZWUKKyN1bmRlZiB4bWxOZXdOcworZXh0ZXJuIF9fdHlwZW9mICh4bWxOZXdOcykgeG1sTmV3TnMgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxOZXdOc19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sTmV3TnMKK2V4dGVybiBfX3R5cGVvZiAoeG1sTmV3TnMpIHhtbE5ld05zX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sTmV3TnMgeG1sTmV3TnNfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3RyZWUKKyN1bmRlZiB4bWxOZXdOc1Byb3AKK2V4dGVybiBfX3R5cGVvZiAoeG1sTmV3TnNQcm9wKSB4bWxOZXdOc1Byb3AgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxOZXdOc1Byb3BfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbE5ld05zUHJvcAorZXh0ZXJuIF9fdHlwZW9mICh4bWxOZXdOc1Byb3ApIHhtbE5ld05zUHJvcF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbE5ld05zUHJvcCB4bWxOZXdOc1Byb3BfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3RyZWUKKyN1bmRlZiB4bWxOZXdOc1Byb3BFYXROYW1lCitleHRlcm4gX190eXBlb2YgKHhtbE5ld05zUHJvcEVhdE5hbWUpIHhtbE5ld05zUHJvcEVhdE5hbWUgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxOZXdOc1Byb3BFYXROYW1lX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxOZXdOc1Byb3BFYXROYW1lCitleHRlcm4gX190eXBlb2YgKHhtbE5ld05zUHJvcEVhdE5hbWUpIHhtbE5ld05zUHJvcEVhdE5hbWVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxOZXdOc1Byb3BFYXROYW1lIHhtbE5ld05zUHJvcEVhdE5hbWVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3RyZWUKKyN1bmRlZiB4bWxOZXdQSQorZXh0ZXJuIF9fdHlwZW9mICh4bWxOZXdQSSkgeG1sTmV3UEkgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxOZXdQSV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sTmV3UEkKK2V4dGVybiBfX3R5cGVvZiAoeG1sTmV3UEkpIHhtbE5ld1BJX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sTmV3UEkgeG1sTmV3UElfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3BhcnNlckludGVybmFscworI3VuZGVmIHhtbE5ld1BhcnNlckN0eHQKK2V4dGVybiBfX3R5cGVvZiAoeG1sTmV3UGFyc2VyQ3R4dCkgeG1sTmV3UGFyc2VyQ3R4dCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbE5ld1BhcnNlckN0eHRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbE5ld1BhcnNlckN0eHQKK2V4dGVybiBfX3R5cGVvZiAoeG1sTmV3UGFyc2VyQ3R4dCkgeG1sTmV3UGFyc2VyQ3R4dF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbE5ld1BhcnNlckN0eHQgeG1sTmV3UGFyc2VyQ3R4dF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX0hUTUxfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV90cmVlCisjdW5kZWYgeG1sTmV3UHJvcAorZXh0ZXJuIF9fdHlwZW9mICh4bWxOZXdQcm9wKSB4bWxOZXdQcm9wIF9fYXR0cmlidXRlKChhbGlhcygieG1sTmV3UHJvcF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sTmV3UHJvcAorZXh0ZXJuIF9fdHlwZW9mICh4bWxOZXdQcm9wKSB4bWxOZXdQcm9wX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sTmV3UHJvcCB4bWxOZXdQcm9wX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3RocmVhZHMKKyN1bmRlZiB4bWxOZXdSTXV0ZXgKK2V4dGVybiBfX3R5cGVvZiAoeG1sTmV3Uk11dGV4KSB4bWxOZXdSTXV0ZXggX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxOZXdSTXV0ZXhfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbE5ld1JNdXRleAorZXh0ZXJuIF9fdHlwZW9mICh4bWxOZXdSTXV0ZXgpIHhtbE5ld1JNdXRleF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbE5ld1JNdXRleCB4bWxOZXdSTXV0ZXhfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3RyZWUKKyN1bmRlZiB4bWxOZXdSZWZlcmVuY2UKK2V4dGVybiBfX3R5cGVvZiAoeG1sTmV3UmVmZXJlbmNlKSB4bWxOZXdSZWZlcmVuY2UgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxOZXdSZWZlcmVuY2VfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbE5ld1JlZmVyZW5jZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxOZXdSZWZlcmVuY2UpIHhtbE5ld1JlZmVyZW5jZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbE5ld1JlZmVyZW5jZSB4bWxOZXdSZWZlcmVuY2VfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3BhcnNlckludGVybmFscworI3VuZGVmIHhtbE5ld1N0cmluZ0lucHV0U3RyZWFtCitleHRlcm4gX190eXBlb2YgKHhtbE5ld1N0cmluZ0lucHV0U3RyZWFtKSB4bWxOZXdTdHJpbmdJbnB1dFN0cmVhbSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbE5ld1N0cmluZ0lucHV0U3RyZWFtX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxOZXdTdHJpbmdJbnB1dFN0cmVhbQorZXh0ZXJuIF9fdHlwZW9mICh4bWxOZXdTdHJpbmdJbnB1dFN0cmVhbSkgeG1sTmV3U3RyaW5nSW5wdXRTdHJlYW1fX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxOZXdTdHJpbmdJbnB1dFN0cmVhbSB4bWxOZXdTdHJpbmdJbnB1dFN0cmVhbV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fdHJlZQorI3VuZGVmIHhtbE5ld1RleHQKK2V4dGVybiBfX3R5cGVvZiAoeG1sTmV3VGV4dCkgeG1sTmV3VGV4dCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbE5ld1RleHRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbE5ld1RleHQKK2V4dGVybiBfX3R5cGVvZiAoeG1sTmV3VGV4dCkgeG1sTmV3VGV4dF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbE5ld1RleHQgeG1sTmV3VGV4dF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3RyZWUKKyN1bmRlZiB4bWxOZXdUZXh0Q2hpbGQKK2V4dGVybiBfX3R5cGVvZiAoeG1sTmV3VGV4dENoaWxkKSB4bWxOZXdUZXh0Q2hpbGQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxOZXdUZXh0Q2hpbGRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbE5ld1RleHRDaGlsZAorZXh0ZXJuIF9fdHlwZW9mICh4bWxOZXdUZXh0Q2hpbGQpIHhtbE5ld1RleHRDaGlsZF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbE5ld1RleHRDaGlsZCB4bWxOZXdUZXh0Q2hpbGRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fdHJlZQorI3VuZGVmIHhtbE5ld1RleHRMZW4KK2V4dGVybiBfX3R5cGVvZiAoeG1sTmV3VGV4dExlbikgeG1sTmV3VGV4dExlbiBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbE5ld1RleHRMZW5fX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbE5ld1RleHRMZW4KK2V4dGVybiBfX3R5cGVvZiAoeG1sTmV3VGV4dExlbikgeG1sTmV3VGV4dExlbl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbE5ld1RleHRMZW4geG1sTmV3VGV4dExlbl9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1scmVhZGVyCisjdW5kZWYgeG1sTmV3VGV4dFJlYWRlcgorZXh0ZXJuIF9fdHlwZW9mICh4bWxOZXdUZXh0UmVhZGVyKSB4bWxOZXdUZXh0UmVhZGVyIF9fYXR0cmlidXRlKChhbGlhcygieG1sTmV3VGV4dFJlYWRlcl9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sTmV3VGV4dFJlYWRlcgorZXh0ZXJuIF9fdHlwZW9mICh4bWxOZXdUZXh0UmVhZGVyKSB4bWxOZXdUZXh0UmVhZGVyX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sTmV3VGV4dFJlYWRlciB4bWxOZXdUZXh0UmVhZGVyX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHJlYWRlcgorI3VuZGVmIHhtbE5ld1RleHRSZWFkZXJGaWxlbmFtZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxOZXdUZXh0UmVhZGVyRmlsZW5hbWUpIHhtbE5ld1RleHRSZWFkZXJGaWxlbmFtZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbE5ld1RleHRSZWFkZXJGaWxlbmFtZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sTmV3VGV4dFJlYWRlckZpbGVuYW1lCitleHRlcm4gX190eXBlb2YgKHhtbE5ld1RleHRSZWFkZXJGaWxlbmFtZSkgeG1sTmV3VGV4dFJlYWRlckZpbGVuYW1lX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sTmV3VGV4dFJlYWRlckZpbGVuYW1lIHhtbE5ld1RleHRSZWFkZXJGaWxlbmFtZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx3cml0ZXIKKyN1bmRlZiB4bWxOZXdUZXh0V3JpdGVyCitleHRlcm4gX190eXBlb2YgKHhtbE5ld1RleHRXcml0ZXIpIHhtbE5ld1RleHRXcml0ZXIgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxOZXdUZXh0V3JpdGVyX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxOZXdUZXh0V3JpdGVyCitleHRlcm4gX190eXBlb2YgKHhtbE5ld1RleHRXcml0ZXIpIHhtbE5ld1RleHRXcml0ZXJfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxOZXdUZXh0V3JpdGVyIHhtbE5ld1RleHRXcml0ZXJfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sd3JpdGVyCisjdW5kZWYgeG1sTmV3VGV4dFdyaXRlckRvYworZXh0ZXJuIF9fdHlwZW9mICh4bWxOZXdUZXh0V3JpdGVyRG9jKSB4bWxOZXdUZXh0V3JpdGVyRG9jIF9fYXR0cmlidXRlKChhbGlhcygieG1sTmV3VGV4dFdyaXRlckRvY19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sTmV3VGV4dFdyaXRlckRvYworZXh0ZXJuIF9fdHlwZW9mICh4bWxOZXdUZXh0V3JpdGVyRG9jKSB4bWxOZXdUZXh0V3JpdGVyRG9jX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sTmV3VGV4dFdyaXRlckRvYyB4bWxOZXdUZXh0V3JpdGVyRG9jX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHdyaXRlcgorI3VuZGVmIHhtbE5ld1RleHRXcml0ZXJGaWxlbmFtZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxOZXdUZXh0V3JpdGVyRmlsZW5hbWUpIHhtbE5ld1RleHRXcml0ZXJGaWxlbmFtZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbE5ld1RleHRXcml0ZXJGaWxlbmFtZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sTmV3VGV4dFdyaXRlckZpbGVuYW1lCitleHRlcm4gX190eXBlb2YgKHhtbE5ld1RleHRXcml0ZXJGaWxlbmFtZSkgeG1sTmV3VGV4dFdyaXRlckZpbGVuYW1lX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sTmV3VGV4dFdyaXRlckZpbGVuYW1lIHhtbE5ld1RleHRXcml0ZXJGaWxlbmFtZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx3cml0ZXIKKyN1bmRlZiB4bWxOZXdUZXh0V3JpdGVyTWVtb3J5CitleHRlcm4gX190eXBlb2YgKHhtbE5ld1RleHRXcml0ZXJNZW1vcnkpIHhtbE5ld1RleHRXcml0ZXJNZW1vcnkgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxOZXdUZXh0V3JpdGVyTWVtb3J5X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxOZXdUZXh0V3JpdGVyTWVtb3J5CitleHRlcm4gX190eXBlb2YgKHhtbE5ld1RleHRXcml0ZXJNZW1vcnkpIHhtbE5ld1RleHRXcml0ZXJNZW1vcnlfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxOZXdUZXh0V3JpdGVyTWVtb3J5IHhtbE5ld1RleHRXcml0ZXJNZW1vcnlfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sd3JpdGVyCisjdW5kZWYgeG1sTmV3VGV4dFdyaXRlclB1c2hQYXJzZXIKK2V4dGVybiBfX3R5cGVvZiAoeG1sTmV3VGV4dFdyaXRlclB1c2hQYXJzZXIpIHhtbE5ld1RleHRXcml0ZXJQdXNoUGFyc2VyIF9fYXR0cmlidXRlKChhbGlhcygieG1sTmV3VGV4dFdyaXRlclB1c2hQYXJzZXJfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbE5ld1RleHRXcml0ZXJQdXNoUGFyc2VyCitleHRlcm4gX190eXBlb2YgKHhtbE5ld1RleHRXcml0ZXJQdXNoUGFyc2VyKSB4bWxOZXdUZXh0V3JpdGVyUHVzaFBhcnNlcl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbE5ld1RleHRXcml0ZXJQdXNoUGFyc2VyIHhtbE5ld1RleHRXcml0ZXJQdXNoUGFyc2VyX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHdyaXRlcgorI3VuZGVmIHhtbE5ld1RleHRXcml0ZXJUcmVlCitleHRlcm4gX190eXBlb2YgKHhtbE5ld1RleHRXcml0ZXJUcmVlKSB4bWxOZXdUZXh0V3JpdGVyVHJlZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbE5ld1RleHRXcml0ZXJUcmVlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxOZXdUZXh0V3JpdGVyVHJlZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxOZXdUZXh0V3JpdGVyVHJlZSkgeG1sTmV3VGV4dFdyaXRlclRyZWVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxOZXdUZXh0V3JpdGVyVHJlZSB4bWxOZXdUZXh0V3JpdGVyVHJlZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1ZBTElEX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3ZhbGlkCisjdW5kZWYgeG1sTmV3VmFsaWRDdHh0CitleHRlcm4gX190eXBlb2YgKHhtbE5ld1ZhbGlkQ3R4dCkgeG1sTmV3VmFsaWRDdHh0IF9fYXR0cmlidXRlKChhbGlhcygieG1sTmV3VmFsaWRDdHh0X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxOZXdWYWxpZEN0eHQKK2V4dGVybiBfX3R5cGVvZiAoeG1sTmV3VmFsaWRDdHh0KSB4bWxOZXdWYWxpZEN0eHRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxOZXdWYWxpZEN0eHQgeG1sTmV3VmFsaWRDdHh0X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3BhcnNlckludGVybmFscworI3VuZGVmIHhtbE5leHRDaGFyCitleHRlcm4gX190eXBlb2YgKHhtbE5leHRDaGFyKSB4bWxOZXh0Q2hhciBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbE5leHRDaGFyX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxOZXh0Q2hhcgorZXh0ZXJuIF9fdHlwZW9mICh4bWxOZXh0Q2hhcikgeG1sTmV4dENoYXJfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxOZXh0Q2hhciB4bWxOZXh0Q2hhcl9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3RyZWUKKyN1bmRlZiB4bWxOZXh0RWxlbWVudFNpYmxpbmcKK2V4dGVybiBfX3R5cGVvZiAoeG1sTmV4dEVsZW1lbnRTaWJsaW5nKSB4bWxOZXh0RWxlbWVudFNpYmxpbmcgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxOZXh0RWxlbWVudFNpYmxpbmdfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbE5leHRFbGVtZW50U2libGluZworZXh0ZXJuIF9fdHlwZW9mICh4bWxOZXh0RWxlbWVudFNpYmxpbmcpIHhtbE5leHRFbGVtZW50U2libGluZ19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbE5leHRFbGVtZW50U2libGluZyB4bWxOZXh0RWxlbWVudFNpYmxpbmdfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21feG1sSU8KKyN1bmRlZiB4bWxOb05ldEV4dGVybmFsRW50aXR5TG9hZGVyCitleHRlcm4gX190eXBlb2YgKHhtbE5vTmV0RXh0ZXJuYWxFbnRpdHlMb2FkZXIpIHhtbE5vTmV0RXh0ZXJuYWxFbnRpdHlMb2FkZXIgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxOb05ldEV4dGVybmFsRW50aXR5TG9hZGVyX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxOb05ldEV4dGVybmFsRW50aXR5TG9hZGVyCitleHRlcm4gX190eXBlb2YgKHhtbE5vTmV0RXh0ZXJuYWxFbnRpdHlMb2FkZXIpIHhtbE5vTmV0RXh0ZXJuYWxFbnRpdHlMb2FkZXJfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxOb05ldEV4dGVybmFsRW50aXR5TG9hZGVyIHhtbE5vTmV0RXh0ZXJuYWxFbnRpdHlMb2FkZXJfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3RyZWUKKyN1bmRlZiB4bWxOb2RlQWRkQ29udGVudAorZXh0ZXJuIF9fdHlwZW9mICh4bWxOb2RlQWRkQ29udGVudCkgeG1sTm9kZUFkZENvbnRlbnQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxOb2RlQWRkQ29udGVudF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sTm9kZUFkZENvbnRlbnQKK2V4dGVybiBfX3R5cGVvZiAoeG1sTm9kZUFkZENvbnRlbnQpIHhtbE5vZGVBZGRDb250ZW50X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sTm9kZUFkZENvbnRlbnQgeG1sTm9kZUFkZENvbnRlbnRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3RyZWUKKyN1bmRlZiB4bWxOb2RlQWRkQ29udGVudExlbgorZXh0ZXJuIF9fdHlwZW9mICh4bWxOb2RlQWRkQ29udGVudExlbikgeG1sTm9kZUFkZENvbnRlbnRMZW4gX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxOb2RlQWRkQ29udGVudExlbl9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sTm9kZUFkZENvbnRlbnRMZW4KK2V4dGVybiBfX3R5cGVvZiAoeG1sTm9kZUFkZENvbnRlbnRMZW4pIHhtbE5vZGVBZGRDb250ZW50TGVuX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sTm9kZUFkZENvbnRlbnRMZW4geG1sTm9kZUFkZENvbnRlbnRMZW5fX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3RyZWUKKyN1bmRlZiB4bWxOb2RlQnVmR2V0Q29udGVudAorZXh0ZXJuIF9fdHlwZW9mICh4bWxOb2RlQnVmR2V0Q29udGVudCkgeG1sTm9kZUJ1ZkdldENvbnRlbnQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxOb2RlQnVmR2V0Q29udGVudF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sTm9kZUJ1ZkdldENvbnRlbnQKK2V4dGVybiBfX3R5cGVvZiAoeG1sTm9kZUJ1ZkdldENvbnRlbnQpIHhtbE5vZGVCdWZHZXRDb250ZW50X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sTm9kZUJ1ZkdldENvbnRlbnQgeG1sTm9kZUJ1ZkdldENvbnRlbnRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHNhdmUKKyN1bmRlZiB4bWxOb2RlRHVtcAorZXh0ZXJuIF9fdHlwZW9mICh4bWxOb2RlRHVtcCkgeG1sTm9kZUR1bXAgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxOb2RlRHVtcF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sTm9kZUR1bXAKK2V4dGVybiBfX3R5cGVvZiAoeG1sTm9kZUR1bXApIHhtbE5vZGVEdW1wX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sTm9kZUR1bXAgeG1sTm9kZUR1bXBfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sc2F2ZQorI3VuZGVmIHhtbE5vZGVEdW1wT3V0cHV0CitleHRlcm4gX190eXBlb2YgKHhtbE5vZGVEdW1wT3V0cHV0KSB4bWxOb2RlRHVtcE91dHB1dCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbE5vZGVEdW1wT3V0cHV0X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxOb2RlRHVtcE91dHB1dAorZXh0ZXJuIF9fdHlwZW9mICh4bWxOb2RlRHVtcE91dHB1dCkgeG1sTm9kZUR1bXBPdXRwdXRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxOb2RlRHVtcE91dHB1dCB4bWxOb2RlRHVtcE91dHB1dF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV90cmVlCisjdW5kZWYgeG1sTm9kZUdldEJhc2UKK2V4dGVybiBfX3R5cGVvZiAoeG1sTm9kZUdldEJhc2UpIHhtbE5vZGVHZXRCYXNlIF9fYXR0cmlidXRlKChhbGlhcygieG1sTm9kZUdldEJhc2VfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbE5vZGVHZXRCYXNlCitleHRlcm4gX190eXBlb2YgKHhtbE5vZGVHZXRCYXNlKSB4bWxOb2RlR2V0QmFzZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbE5vZGVHZXRCYXNlIHhtbE5vZGVHZXRCYXNlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV90cmVlCisjdW5kZWYgeG1sTm9kZUdldENvbnRlbnQKK2V4dGVybiBfX3R5cGVvZiAoeG1sTm9kZUdldENvbnRlbnQpIHhtbE5vZGVHZXRDb250ZW50IF9fYXR0cmlidXRlKChhbGlhcygieG1sTm9kZUdldENvbnRlbnRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbE5vZGVHZXRDb250ZW50CitleHRlcm4gX190eXBlb2YgKHhtbE5vZGVHZXRDb250ZW50KSB4bWxOb2RlR2V0Q29udGVudF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbE5vZGVHZXRDb250ZW50IHhtbE5vZGVHZXRDb250ZW50X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV90cmVlCisjdW5kZWYgeG1sTm9kZUdldExhbmcKK2V4dGVybiBfX3R5cGVvZiAoeG1sTm9kZUdldExhbmcpIHhtbE5vZGVHZXRMYW5nIF9fYXR0cmlidXRlKChhbGlhcygieG1sTm9kZUdldExhbmdfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbE5vZGVHZXRMYW5nCitleHRlcm4gX190eXBlb2YgKHhtbE5vZGVHZXRMYW5nKSB4bWxOb2RlR2V0TGFuZ19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbE5vZGVHZXRMYW5nIHhtbE5vZGVHZXRMYW5nX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV90cmVlCisjdW5kZWYgeG1sTm9kZUdldFNwYWNlUHJlc2VydmUKK2V4dGVybiBfX3R5cGVvZiAoeG1sTm9kZUdldFNwYWNlUHJlc2VydmUpIHhtbE5vZGVHZXRTcGFjZVByZXNlcnZlIF9fYXR0cmlidXRlKChhbGlhcygieG1sTm9kZUdldFNwYWNlUHJlc2VydmVfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbE5vZGVHZXRTcGFjZVByZXNlcnZlCitleHRlcm4gX190eXBlb2YgKHhtbE5vZGVHZXRTcGFjZVByZXNlcnZlKSB4bWxOb2RlR2V0U3BhY2VQcmVzZXJ2ZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbE5vZGVHZXRTcGFjZVByZXNlcnZlIHhtbE5vZGVHZXRTcGFjZVByZXNlcnZlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV90cmVlCisjdW5kZWYgeG1sTm9kZUlzVGV4dAorZXh0ZXJuIF9fdHlwZW9mICh4bWxOb2RlSXNUZXh0KSB4bWxOb2RlSXNUZXh0IF9fYXR0cmlidXRlKChhbGlhcygieG1sTm9kZUlzVGV4dF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sTm9kZUlzVGV4dAorZXh0ZXJuIF9fdHlwZW9mICh4bWxOb2RlSXNUZXh0KSB4bWxOb2RlSXNUZXh0X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sTm9kZUlzVGV4dCB4bWxOb2RlSXNUZXh0X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fdHJlZQorI3VuZGVmIHhtbE5vZGVMaXN0R2V0UmF3U3RyaW5nCitleHRlcm4gX190eXBlb2YgKHhtbE5vZGVMaXN0R2V0UmF3U3RyaW5nKSB4bWxOb2RlTGlzdEdldFJhd1N0cmluZyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbE5vZGVMaXN0R2V0UmF3U3RyaW5nX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxOb2RlTGlzdEdldFJhd1N0cmluZworZXh0ZXJuIF9fdHlwZW9mICh4bWxOb2RlTGlzdEdldFJhd1N0cmluZykgeG1sTm9kZUxpc3RHZXRSYXdTdHJpbmdfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxOb2RlTGlzdEdldFJhd1N0cmluZyB4bWxOb2RlTGlzdEdldFJhd1N0cmluZ19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV90cmVlCisjdW5kZWYgeG1sTm9kZUxpc3RHZXRTdHJpbmcKK2V4dGVybiBfX3R5cGVvZiAoeG1sTm9kZUxpc3RHZXRTdHJpbmcpIHhtbE5vZGVMaXN0R2V0U3RyaW5nIF9fYXR0cmlidXRlKChhbGlhcygieG1sTm9kZUxpc3RHZXRTdHJpbmdfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbE5vZGVMaXN0R2V0U3RyaW5nCitleHRlcm4gX190eXBlb2YgKHhtbE5vZGVMaXN0R2V0U3RyaW5nKSB4bWxOb2RlTGlzdEdldFN0cmluZ19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbE5vZGVMaXN0R2V0U3RyaW5nIHhtbE5vZGVMaXN0R2V0U3RyaW5nX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfWElOQ0xVREVfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fdHJlZQorI3VuZGVmIHhtbE5vZGVTZXRCYXNlCitleHRlcm4gX190eXBlb2YgKHhtbE5vZGVTZXRCYXNlKSB4bWxOb2RlU2V0QmFzZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbE5vZGVTZXRCYXNlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxOb2RlU2V0QmFzZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxOb2RlU2V0QmFzZSkgeG1sTm9kZVNldEJhc2VfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxOb2RlU2V0QmFzZSB4bWxOb2RlU2V0QmFzZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV90cmVlCisjdW5kZWYgeG1sTm9kZVNldENvbnRlbnQKK2V4dGVybiBfX3R5cGVvZiAoeG1sTm9kZVNldENvbnRlbnQpIHhtbE5vZGVTZXRDb250ZW50IF9fYXR0cmlidXRlKChhbGlhcygieG1sTm9kZVNldENvbnRlbnRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbE5vZGVTZXRDb250ZW50CitleHRlcm4gX190eXBlb2YgKHhtbE5vZGVTZXRDb250ZW50KSB4bWxOb2RlU2V0Q29udGVudF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbE5vZGVTZXRDb250ZW50IHhtbE5vZGVTZXRDb250ZW50X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fdHJlZQorI3VuZGVmIHhtbE5vZGVTZXRDb250ZW50TGVuCitleHRlcm4gX190eXBlb2YgKHhtbE5vZGVTZXRDb250ZW50TGVuKSB4bWxOb2RlU2V0Q29udGVudExlbiBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbE5vZGVTZXRDb250ZW50TGVuX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxOb2RlU2V0Q29udGVudExlbgorZXh0ZXJuIF9fdHlwZW9mICh4bWxOb2RlU2V0Q29udGVudExlbikgeG1sTm9kZVNldENvbnRlbnRMZW5fX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxOb2RlU2V0Q29udGVudExlbiB4bWxOb2RlU2V0Q29udGVudExlbl9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fdHJlZQorI3VuZGVmIHhtbE5vZGVTZXRMYW5nCitleHRlcm4gX190eXBlb2YgKHhtbE5vZGVTZXRMYW5nKSB4bWxOb2RlU2V0TGFuZyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbE5vZGVTZXRMYW5nX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxOb2RlU2V0TGFuZworZXh0ZXJuIF9fdHlwZW9mICh4bWxOb2RlU2V0TGFuZykgeG1sTm9kZVNldExhbmdfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxOb2RlU2V0TGFuZyB4bWxOb2RlU2V0TGFuZ19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fdHJlZQorI3VuZGVmIHhtbE5vZGVTZXROYW1lCitleHRlcm4gX190eXBlb2YgKHhtbE5vZGVTZXROYW1lKSB4bWxOb2RlU2V0TmFtZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbE5vZGVTZXROYW1lX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxOb2RlU2V0TmFtZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxOb2RlU2V0TmFtZSkgeG1sTm9kZVNldE5hbWVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxOb2RlU2V0TmFtZSB4bWxOb2RlU2V0TmFtZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fdHJlZQorI3VuZGVmIHhtbE5vZGVTZXRTcGFjZVByZXNlcnZlCitleHRlcm4gX190eXBlb2YgKHhtbE5vZGVTZXRTcGFjZVByZXNlcnZlKSB4bWxOb2RlU2V0U3BhY2VQcmVzZXJ2ZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbE5vZGVTZXRTcGFjZVByZXNlcnZlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxOb2RlU2V0U3BhY2VQcmVzZXJ2ZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxOb2RlU2V0U3BhY2VQcmVzZXJ2ZSkgeG1sTm9kZVNldFNwYWNlUHJlc2VydmVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxOb2RlU2V0U3BhY2VQcmVzZXJ2ZSB4bWxOb2RlU2V0U3BhY2VQcmVzZXJ2ZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV91cmkKKyN1bmRlZiB4bWxOb3JtYWxpemVVUklQYXRoCitleHRlcm4gX190eXBlb2YgKHhtbE5vcm1hbGl6ZVVSSVBhdGgpIHhtbE5vcm1hbGl6ZVVSSVBhdGggX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxOb3JtYWxpemVVUklQYXRoX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxOb3JtYWxpemVVUklQYXRoCitleHRlcm4gX190eXBlb2YgKHhtbE5vcm1hbGl6ZVVSSVBhdGgpIHhtbE5vcm1hbGl6ZVVSSVBhdGhfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxOb3JtYWxpemVVUklQYXRoIHhtbE5vcm1hbGl6ZVVSSVBhdGhfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3htbElPCisjdW5kZWYgeG1sTm9ybWFsaXplV2luZG93c1BhdGgKK2V4dGVybiBfX3R5cGVvZiAoeG1sTm9ybWFsaXplV2luZG93c1BhdGgpIHhtbE5vcm1hbGl6ZVdpbmRvd3NQYXRoIF9fYXR0cmlidXRlKChhbGlhcygieG1sTm9ybWFsaXplV2luZG93c1BhdGhfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbE5vcm1hbGl6ZVdpbmRvd3NQYXRoCitleHRlcm4gX190eXBlb2YgKHhtbE5vcm1hbGl6ZVdpbmRvd3NQYXRoKSB4bWxOb3JtYWxpemVXaW5kb3dzUGF0aF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbE5vcm1hbGl6ZVdpbmRvd3NQYXRoIHhtbE5vcm1hbGl6ZVdpbmRvd3NQYXRoX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxJTworI3VuZGVmIHhtbE91dHB1dEJ1ZmZlckNsb3NlCitleHRlcm4gX190eXBlb2YgKHhtbE91dHB1dEJ1ZmZlckNsb3NlKSB4bWxPdXRwdXRCdWZmZXJDbG9zZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbE91dHB1dEJ1ZmZlckNsb3NlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxPdXRwdXRCdWZmZXJDbG9zZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxPdXRwdXRCdWZmZXJDbG9zZSkgeG1sT3V0cHV0QnVmZmVyQ2xvc2VfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxPdXRwdXRCdWZmZXJDbG9zZSB4bWxPdXRwdXRCdWZmZXJDbG9zZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxJTworI3VuZGVmIHhtbE91dHB1dEJ1ZmZlckNyZWF0ZUJ1ZmZlcgorZXh0ZXJuIF9fdHlwZW9mICh4bWxPdXRwdXRCdWZmZXJDcmVhdGVCdWZmZXIpIHhtbE91dHB1dEJ1ZmZlckNyZWF0ZUJ1ZmZlciBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbE91dHB1dEJ1ZmZlckNyZWF0ZUJ1ZmZlcl9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sT3V0cHV0QnVmZmVyQ3JlYXRlQnVmZmVyCitleHRlcm4gX190eXBlb2YgKHhtbE91dHB1dEJ1ZmZlckNyZWF0ZUJ1ZmZlcikgeG1sT3V0cHV0QnVmZmVyQ3JlYXRlQnVmZmVyX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sT3V0cHV0QnVmZmVyQ3JlYXRlQnVmZmVyIHhtbE91dHB1dEJ1ZmZlckNyZWF0ZUJ1ZmZlcl9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxJTworI3VuZGVmIHhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZkCitleHRlcm4gX190eXBlb2YgKHhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZkKSB4bWxPdXRwdXRCdWZmZXJDcmVhdGVGZCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZkX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxPdXRwdXRCdWZmZXJDcmVhdGVGZAorZXh0ZXJuIF9fdHlwZW9mICh4bWxPdXRwdXRCdWZmZXJDcmVhdGVGZCkgeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxPdXRwdXRCdWZmZXJDcmVhdGVGZCB4bWxPdXRwdXRCdWZmZXJDcmVhdGVGZF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxJTworI3VuZGVmIHhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZSkgeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZSkgeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGUgeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxJTworI3VuZGVmIHhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lCitleHRlcm4gX190eXBlb2YgKHhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lKSB4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZSkgeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZSB4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV94bWxJTworI3VuZGVmIHhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRGVmYXVsdAorZXh0ZXJuIF9fdHlwZW9mICh4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQpIHhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRGVmYXVsdCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRGVmYXVsdF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0CitleHRlcm4gX190eXBlb2YgKHhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRGVmYXVsdCkgeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0IHhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRGVmYXVsdF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sSU8KKyN1bmRlZiB4bWxPdXRwdXRCdWZmZXJDcmVhdGVJTworZXh0ZXJuIF9fdHlwZW9mICh4bWxPdXRwdXRCdWZmZXJDcmVhdGVJTykgeG1sT3V0cHV0QnVmZmVyQ3JlYXRlSU8gX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxPdXRwdXRCdWZmZXJDcmVhdGVJT19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sT3V0cHV0QnVmZmVyQ3JlYXRlSU8KK2V4dGVybiBfX3R5cGVvZiAoeG1sT3V0cHV0QnVmZmVyQ3JlYXRlSU8pIHhtbE91dHB1dEJ1ZmZlckNyZWF0ZUlPX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sT3V0cHV0QnVmZmVyQ3JlYXRlSU8geG1sT3V0cHV0QnVmZmVyQ3JlYXRlSU9fX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sSU8KKyN1bmRlZiB4bWxPdXRwdXRCdWZmZXJGbHVzaAorZXh0ZXJuIF9fdHlwZW9mICh4bWxPdXRwdXRCdWZmZXJGbHVzaCkgeG1sT3V0cHV0QnVmZmVyRmx1c2ggX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxPdXRwdXRCdWZmZXJGbHVzaF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sT3V0cHV0QnVmZmVyRmx1c2gKK2V4dGVybiBfX3R5cGVvZiAoeG1sT3V0cHV0QnVmZmVyRmx1c2gpIHhtbE91dHB1dEJ1ZmZlckZsdXNoX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sT3V0cHV0QnVmZmVyRmx1c2ggeG1sT3V0cHV0QnVmZmVyRmx1c2hfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sSU8KKyN1bmRlZiB4bWxPdXRwdXRCdWZmZXJHZXRDb250ZW50CitleHRlcm4gX190eXBlb2YgKHhtbE91dHB1dEJ1ZmZlckdldENvbnRlbnQpIHhtbE91dHB1dEJ1ZmZlckdldENvbnRlbnQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxPdXRwdXRCdWZmZXJHZXRDb250ZW50X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxPdXRwdXRCdWZmZXJHZXRDb250ZW50CitleHRlcm4gX190eXBlb2YgKHhtbE91dHB1dEJ1ZmZlckdldENvbnRlbnQpIHhtbE91dHB1dEJ1ZmZlckdldENvbnRlbnRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxPdXRwdXRCdWZmZXJHZXRDb250ZW50IHhtbE91dHB1dEJ1ZmZlckdldENvbnRlbnRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sSU8KKyN1bmRlZiB4bWxPdXRwdXRCdWZmZXJHZXRTaXplCitleHRlcm4gX190eXBlb2YgKHhtbE91dHB1dEJ1ZmZlckdldFNpemUpIHhtbE91dHB1dEJ1ZmZlckdldFNpemUgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxPdXRwdXRCdWZmZXJHZXRTaXplX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxPdXRwdXRCdWZmZXJHZXRTaXplCitleHRlcm4gX190eXBlb2YgKHhtbE91dHB1dEJ1ZmZlckdldFNpemUpIHhtbE91dHB1dEJ1ZmZlckdldFNpemVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxPdXRwdXRCdWZmZXJHZXRTaXplIHhtbE91dHB1dEJ1ZmZlckdldFNpemVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sSU8KKyN1bmRlZiB4bWxPdXRwdXRCdWZmZXJXcml0ZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxPdXRwdXRCdWZmZXJXcml0ZSkgeG1sT3V0cHV0QnVmZmVyV3JpdGUgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxPdXRwdXRCdWZmZXJXcml0ZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sT3V0cHV0QnVmZmVyV3JpdGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sT3V0cHV0QnVmZmVyV3JpdGUpIHhtbE91dHB1dEJ1ZmZlcldyaXRlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sT3V0cHV0QnVmZmVyV3JpdGUgeG1sT3V0cHV0QnVmZmVyV3JpdGVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sSU8KKyN1bmRlZiB4bWxPdXRwdXRCdWZmZXJXcml0ZUVzY2FwZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxPdXRwdXRCdWZmZXJXcml0ZUVzY2FwZSkgeG1sT3V0cHV0QnVmZmVyV3JpdGVFc2NhcGUgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxPdXRwdXRCdWZmZXJXcml0ZUVzY2FwZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sT3V0cHV0QnVmZmVyV3JpdGVFc2NhcGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sT3V0cHV0QnVmZmVyV3JpdGVFc2NhcGUpIHhtbE91dHB1dEJ1ZmZlcldyaXRlRXNjYXBlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sT3V0cHV0QnVmZmVyV3JpdGVFc2NhcGUgeG1sT3V0cHV0QnVmZmVyV3JpdGVFc2NhcGVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sSU8KKyN1bmRlZiB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZworZXh0ZXJuIF9fdHlwZW9mICh4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZykgeG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZ19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcKK2V4dGVybiBfX3R5cGVvZiAoeG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcpIHhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcgeG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmdfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fcGFyc2VyCisjdW5kZWYgeG1sUGFyc2VBdHRWYWx1ZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxQYXJzZUF0dFZhbHVlKSB4bWxQYXJzZUF0dFZhbHVlIF9fYXR0cmlidXRlKChhbGlhcygieG1sUGFyc2VBdHRWYWx1ZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sUGFyc2VBdHRWYWx1ZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxQYXJzZUF0dFZhbHVlKSB4bWxQYXJzZUF0dFZhbHVlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sUGFyc2VBdHRWYWx1ZSB4bWxQYXJzZUF0dFZhbHVlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1NBWDFfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fcGFyc2VyCisjdW5kZWYgeG1sUGFyc2VBdHRyaWJ1dGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sUGFyc2VBdHRyaWJ1dGUpIHhtbFBhcnNlQXR0cmlidXRlIF9fYXR0cmlidXRlKChhbGlhcygieG1sUGFyc2VBdHRyaWJ1dGVfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFBhcnNlQXR0cmlidXRlCitleHRlcm4gX190eXBlb2YgKHhtbFBhcnNlQXR0cmlidXRlKSB4bWxQYXJzZUF0dHJpYnV0ZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFBhcnNlQXR0cmlidXRlIHhtbFBhcnNlQXR0cmlidXRlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3BhcnNlcgorI3VuZGVmIHhtbFBhcnNlQXR0cmlidXRlTGlzdERlY2wKK2V4dGVybiBfX3R5cGVvZiAoeG1sUGFyc2VBdHRyaWJ1dGVMaXN0RGVjbCkgeG1sUGFyc2VBdHRyaWJ1dGVMaXN0RGVjbCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFBhcnNlQXR0cmlidXRlTGlzdERlY2xfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFBhcnNlQXR0cmlidXRlTGlzdERlY2wKK2V4dGVybiBfX3R5cGVvZiAoeG1sUGFyc2VBdHRyaWJ1dGVMaXN0RGVjbCkgeG1sUGFyc2VBdHRyaWJ1dGVMaXN0RGVjbF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFBhcnNlQXR0cmlidXRlTGlzdERlY2wgeG1sUGFyc2VBdHRyaWJ1dGVMaXN0RGVjbF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fcGFyc2VyCisjdW5kZWYgeG1sUGFyc2VBdHRyaWJ1dGVUeXBlCitleHRlcm4gX190eXBlb2YgKHhtbFBhcnNlQXR0cmlidXRlVHlwZSkgeG1sUGFyc2VBdHRyaWJ1dGVUeXBlIF9fYXR0cmlidXRlKChhbGlhcygieG1sUGFyc2VBdHRyaWJ1dGVUeXBlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxQYXJzZUF0dHJpYnV0ZVR5cGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sUGFyc2VBdHRyaWJ1dGVUeXBlKSB4bWxQYXJzZUF0dHJpYnV0ZVR5cGVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxQYXJzZUF0dHJpYnV0ZVR5cGUgeG1sUGFyc2VBdHRyaWJ1dGVUeXBlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1NBWDFfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fcGFyc2VyCisjdW5kZWYgeG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5CitleHRlcm4gX190eXBlb2YgKHhtbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeSkgeG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5IF9fYXR0cmlidXRlKChhbGlhcygieG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnkKK2V4dGVybiBfX3R5cGVvZiAoeG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5KSB4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnkgeG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfU0FYMV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9wYXJzZXIKKyN1bmRlZiB4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlSZWNvdmVyCitleHRlcm4gX190eXBlb2YgKHhtbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXIpIHhtbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXIgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlSZWNvdmVyX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlSZWNvdmVyCitleHRlcm4gX190eXBlb2YgKHhtbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXIpIHhtbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXJfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlSZWNvdmVyIHhtbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXJfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fcGFyc2VyCisjdW5kZWYgeG1sUGFyc2VDRFNlY3QKK2V4dGVybiBfX3R5cGVvZiAoeG1sUGFyc2VDRFNlY3QpIHhtbFBhcnNlQ0RTZWN0IF9fYXR0cmlidXRlKChhbGlhcygieG1sUGFyc2VDRFNlY3RfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFBhcnNlQ0RTZWN0CitleHRlcm4gX190eXBlb2YgKHhtbFBhcnNlQ0RTZWN0KSB4bWxQYXJzZUNEU2VjdF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFBhcnNlQ0RTZWN0IHhtbFBhcnNlQ0RTZWN0X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX0NBVEFMT0dfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fY2F0YWxvZworI3VuZGVmIHhtbFBhcnNlQ2F0YWxvZ0ZpbGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sUGFyc2VDYXRhbG9nRmlsZSkgeG1sUGFyc2VDYXRhbG9nRmlsZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFBhcnNlQ2F0YWxvZ0ZpbGVfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFBhcnNlQ2F0YWxvZ0ZpbGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sUGFyc2VDYXRhbG9nRmlsZSkgeG1sUGFyc2VDYXRhbG9nRmlsZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFBhcnNlQ2F0YWxvZ0ZpbGUgeG1sUGFyc2VDYXRhbG9nRmlsZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9wYXJzZXIKKyN1bmRlZiB4bWxQYXJzZUNoYXJEYXRhCitleHRlcm4gX190eXBlb2YgKHhtbFBhcnNlQ2hhckRhdGEpIHhtbFBhcnNlQ2hhckRhdGEgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxQYXJzZUNoYXJEYXRhX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxQYXJzZUNoYXJEYXRhCitleHRlcm4gX190eXBlb2YgKHhtbFBhcnNlQ2hhckRhdGEpIHhtbFBhcnNlQ2hhckRhdGFfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxQYXJzZUNoYXJEYXRhIHhtbFBhcnNlQ2hhckRhdGFfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX2VuY29kaW5nCisjdW5kZWYgeG1sUGFyc2VDaGFyRW5jb2RpbmcKK2V4dGVybiBfX3R5cGVvZiAoeG1sUGFyc2VDaGFyRW5jb2RpbmcpIHhtbFBhcnNlQ2hhckVuY29kaW5nIF9fYXR0cmlidXRlKChhbGlhcygieG1sUGFyc2VDaGFyRW5jb2RpbmdfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFBhcnNlQ2hhckVuY29kaW5nCitleHRlcm4gX190eXBlb2YgKHhtbFBhcnNlQ2hhckVuY29kaW5nKSB4bWxQYXJzZUNoYXJFbmNvZGluZ19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFBhcnNlQ2hhckVuY29kaW5nIHhtbFBhcnNlQ2hhckVuY29kaW5nX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9wYXJzZXIKKyN1bmRlZiB4bWxQYXJzZUNoYXJSZWYKK2V4dGVybiBfX3R5cGVvZiAoeG1sUGFyc2VDaGFyUmVmKSB4bWxQYXJzZUNoYXJSZWYgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxQYXJzZUNoYXJSZWZfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFBhcnNlQ2hhclJlZgorZXh0ZXJuIF9fdHlwZW9mICh4bWxQYXJzZUNoYXJSZWYpIHhtbFBhcnNlQ2hhclJlZl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFBhcnNlQ2hhclJlZiB4bWxQYXJzZUNoYXJSZWZfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfUFVTSF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9wYXJzZXIKKyN1bmRlZiB4bWxQYXJzZUNodW5rCitleHRlcm4gX190eXBlb2YgKHhtbFBhcnNlQ2h1bmspIHhtbFBhcnNlQ2h1bmsgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxQYXJzZUNodW5rX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxQYXJzZUNodW5rCitleHRlcm4gX190eXBlb2YgKHhtbFBhcnNlQ2h1bmspIHhtbFBhcnNlQ2h1bmtfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxQYXJzZUNodW5rIHhtbFBhcnNlQ2h1bmtfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fcGFyc2VyCisjdW5kZWYgeG1sUGFyc2VDb21tZW50CitleHRlcm4gX190eXBlb2YgKHhtbFBhcnNlQ29tbWVudCkgeG1sUGFyc2VDb21tZW50IF9fYXR0cmlidXRlKChhbGlhcygieG1sUGFyc2VDb21tZW50X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxQYXJzZUNvbW1lbnQKK2V4dGVybiBfX3R5cGVvZiAoeG1sUGFyc2VDb21tZW50KSB4bWxQYXJzZUNvbW1lbnRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxQYXJzZUNvbW1lbnQgeG1sUGFyc2VDb21tZW50X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9wYXJzZXIKKyN1bmRlZiB4bWxQYXJzZUNvbnRlbnQKK2V4dGVybiBfX3R5cGVvZiAoeG1sUGFyc2VDb250ZW50KSB4bWxQYXJzZUNvbnRlbnQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxQYXJzZUNvbnRlbnRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFBhcnNlQ29udGVudAorZXh0ZXJuIF9fdHlwZW9mICh4bWxQYXJzZUNvbnRlbnQpIHhtbFBhcnNlQ29udGVudF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFBhcnNlQ29udGVudCB4bWxQYXJzZUNvbnRlbnRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3BhcnNlcgorI3VuZGVmIHhtbFBhcnNlQ3R4dEV4dGVybmFsRW50aXR5CitleHRlcm4gX190eXBlb2YgKHhtbFBhcnNlQ3R4dEV4dGVybmFsRW50aXR5KSB4bWxQYXJzZUN0eHRFeHRlcm5hbEVudGl0eSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFBhcnNlQ3R4dEV4dGVybmFsRW50aXR5X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxQYXJzZUN0eHRFeHRlcm5hbEVudGl0eQorZXh0ZXJuIF9fdHlwZW9mICh4bWxQYXJzZUN0eHRFeHRlcm5hbEVudGl0eSkgeG1sUGFyc2VDdHh0RXh0ZXJuYWxFbnRpdHlfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxQYXJzZUN0eHRFeHRlcm5hbEVudGl0eSB4bWxQYXJzZUN0eHRFeHRlcm5hbEVudGl0eV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9WQUxJRF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9wYXJzZXIKKyN1bmRlZiB4bWxQYXJzZURURAorZXh0ZXJuIF9fdHlwZW9mICh4bWxQYXJzZURURCkgeG1sUGFyc2VEVEQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxQYXJzZURURF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sUGFyc2VEVEQKK2V4dGVybiBfX3R5cGVvZiAoeG1sUGFyc2VEVEQpIHhtbFBhcnNlRFREX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sUGFyc2VEVEQgeG1sUGFyc2VEVERfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fcGFyc2VyCisjdW5kZWYgeG1sUGFyc2VEZWZhdWx0RGVjbAorZXh0ZXJuIF9fdHlwZW9mICh4bWxQYXJzZURlZmF1bHREZWNsKSB4bWxQYXJzZURlZmF1bHREZWNsIF9fYXR0cmlidXRlKChhbGlhcygieG1sUGFyc2VEZWZhdWx0RGVjbF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sUGFyc2VEZWZhdWx0RGVjbAorZXh0ZXJuIF9fdHlwZW9mICh4bWxQYXJzZURlZmF1bHREZWNsKSB4bWxQYXJzZURlZmF1bHREZWNsX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sUGFyc2VEZWZhdWx0RGVjbCB4bWxQYXJzZURlZmF1bHREZWNsX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1NBWDFfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fcGFyc2VyCisjdW5kZWYgeG1sUGFyc2VEb2MKK2V4dGVybiBfX3R5cGVvZiAoeG1sUGFyc2VEb2MpIHhtbFBhcnNlRG9jIF9fYXR0cmlidXRlKChhbGlhcygieG1sUGFyc2VEb2NfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFBhcnNlRG9jCitleHRlcm4gX190eXBlb2YgKHhtbFBhcnNlRG9jKSB4bWxQYXJzZURvY19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFBhcnNlRG9jIHhtbFBhcnNlRG9jX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3BhcnNlcgorI3VuZGVmIHhtbFBhcnNlRG9jVHlwZURlY2wKK2V4dGVybiBfX3R5cGVvZiAoeG1sUGFyc2VEb2NUeXBlRGVjbCkgeG1sUGFyc2VEb2NUeXBlRGVjbCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFBhcnNlRG9jVHlwZURlY2xfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFBhcnNlRG9jVHlwZURlY2wKK2V4dGVybiBfX3R5cGVvZiAoeG1sUGFyc2VEb2NUeXBlRGVjbCkgeG1sUGFyc2VEb2NUeXBlRGVjbF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFBhcnNlRG9jVHlwZURlY2wgeG1sUGFyc2VEb2NUeXBlRGVjbF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fcGFyc2VyCisjdW5kZWYgeG1sUGFyc2VEb2N1bWVudAorZXh0ZXJuIF9fdHlwZW9mICh4bWxQYXJzZURvY3VtZW50KSB4bWxQYXJzZURvY3VtZW50IF9fYXR0cmlidXRlKChhbGlhcygieG1sUGFyc2VEb2N1bWVudF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sUGFyc2VEb2N1bWVudAorZXh0ZXJuIF9fdHlwZW9mICh4bWxQYXJzZURvY3VtZW50KSB4bWxQYXJzZURvY3VtZW50X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sUGFyc2VEb2N1bWVudCB4bWxQYXJzZURvY3VtZW50X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9wYXJzZXIKKyN1bmRlZiB4bWxQYXJzZUVsZW1lbnQKK2V4dGVybiBfX3R5cGVvZiAoeG1sUGFyc2VFbGVtZW50KSB4bWxQYXJzZUVsZW1lbnQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxQYXJzZUVsZW1lbnRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFBhcnNlRWxlbWVudAorZXh0ZXJuIF9fdHlwZW9mICh4bWxQYXJzZUVsZW1lbnQpIHhtbFBhcnNlRWxlbWVudF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFBhcnNlRWxlbWVudCB4bWxQYXJzZUVsZW1lbnRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3BhcnNlcgorI3VuZGVmIHhtbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2wKK2V4dGVybiBfX3R5cGVvZiAoeG1sUGFyc2VFbGVtZW50Q2hpbGRyZW5Db250ZW50RGVjbCkgeG1sUGFyc2VFbGVtZW50Q2hpbGRyZW5Db250ZW50RGVjbCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2xfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2wKK2V4dGVybiBfX3R5cGVvZiAoeG1sUGFyc2VFbGVtZW50Q2hpbGRyZW5Db250ZW50RGVjbCkgeG1sUGFyc2VFbGVtZW50Q2hpbGRyZW5Db250ZW50RGVjbF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2wgeG1sUGFyc2VFbGVtZW50Q2hpbGRyZW5Db250ZW50RGVjbF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fcGFyc2VyCisjdW5kZWYgeG1sUGFyc2VFbGVtZW50Q29udGVudERlY2wKK2V4dGVybiBfX3R5cGVvZiAoeG1sUGFyc2VFbGVtZW50Q29udGVudERlY2wpIHhtbFBhcnNlRWxlbWVudENvbnRlbnREZWNsIF9fYXR0cmlidXRlKChhbGlhcygieG1sUGFyc2VFbGVtZW50Q29udGVudERlY2xfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFBhcnNlRWxlbWVudENvbnRlbnREZWNsCitleHRlcm4gX190eXBlb2YgKHhtbFBhcnNlRWxlbWVudENvbnRlbnREZWNsKSB4bWxQYXJzZUVsZW1lbnRDb250ZW50RGVjbF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFBhcnNlRWxlbWVudENvbnRlbnREZWNsIHhtbFBhcnNlRWxlbWVudENvbnRlbnREZWNsX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9wYXJzZXIKKyN1bmRlZiB4bWxQYXJzZUVsZW1lbnREZWNsCitleHRlcm4gX190eXBlb2YgKHhtbFBhcnNlRWxlbWVudERlY2wpIHhtbFBhcnNlRWxlbWVudERlY2wgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxQYXJzZUVsZW1lbnREZWNsX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxQYXJzZUVsZW1lbnREZWNsCitleHRlcm4gX190eXBlb2YgKHhtbFBhcnNlRWxlbWVudERlY2wpIHhtbFBhcnNlRWxlbWVudERlY2xfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxQYXJzZUVsZW1lbnREZWNsIHhtbFBhcnNlRWxlbWVudERlY2xfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3BhcnNlcgorI3VuZGVmIHhtbFBhcnNlRWxlbWVudE1peGVkQ29udGVudERlY2wKK2V4dGVybiBfX3R5cGVvZiAoeG1sUGFyc2VFbGVtZW50TWl4ZWRDb250ZW50RGVjbCkgeG1sUGFyc2VFbGVtZW50TWl4ZWRDb250ZW50RGVjbCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFBhcnNlRWxlbWVudE1peGVkQ29udGVudERlY2xfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFBhcnNlRWxlbWVudE1peGVkQ29udGVudERlY2wKK2V4dGVybiBfX3R5cGVvZiAoeG1sUGFyc2VFbGVtZW50TWl4ZWRDb250ZW50RGVjbCkgeG1sUGFyc2VFbGVtZW50TWl4ZWRDb250ZW50RGVjbF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFBhcnNlRWxlbWVudE1peGVkQ29udGVudERlY2wgeG1sUGFyc2VFbGVtZW50TWl4ZWRDb250ZW50RGVjbF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fcGFyc2VyCisjdW5kZWYgeG1sUGFyc2VFbmNOYW1lCitleHRlcm4gX190eXBlb2YgKHhtbFBhcnNlRW5jTmFtZSkgeG1sUGFyc2VFbmNOYW1lIF9fYXR0cmlidXRlKChhbGlhcygieG1sUGFyc2VFbmNOYW1lX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxQYXJzZUVuY05hbWUKK2V4dGVybiBfX3R5cGVvZiAoeG1sUGFyc2VFbmNOYW1lKSB4bWxQYXJzZUVuY05hbWVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxQYXJzZUVuY05hbWUgeG1sUGFyc2VFbmNOYW1lX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9wYXJzZXIKKyN1bmRlZiB4bWxQYXJzZUVuY29kaW5nRGVjbAorZXh0ZXJuIF9fdHlwZW9mICh4bWxQYXJzZUVuY29kaW5nRGVjbCkgeG1sUGFyc2VFbmNvZGluZ0RlY2wgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxQYXJzZUVuY29kaW5nRGVjbF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sUGFyc2VFbmNvZGluZ0RlY2wKK2V4dGVybiBfX3R5cGVvZiAoeG1sUGFyc2VFbmNvZGluZ0RlY2wpIHhtbFBhcnNlRW5jb2RpbmdEZWNsX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sUGFyc2VFbmNvZGluZ0RlY2wgeG1sUGFyc2VFbmNvZGluZ0RlY2xfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfU0FYMV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9wYXJzZXIKKyN1bmRlZiB4bWxQYXJzZUVuZFRhZworZXh0ZXJuIF9fdHlwZW9mICh4bWxQYXJzZUVuZFRhZykgeG1sUGFyc2VFbmRUYWcgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxQYXJzZUVuZFRhZ19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sUGFyc2VFbmRUYWcKK2V4dGVybiBfX3R5cGVvZiAoeG1sUGFyc2VFbmRUYWcpIHhtbFBhcnNlRW5kVGFnX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sUGFyc2VFbmRUYWcgeG1sUGFyc2VFbmRUYWdfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9TQVgxX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3BhcnNlcgorI3VuZGVmIHhtbFBhcnNlRW50aXR5CitleHRlcm4gX190eXBlb2YgKHhtbFBhcnNlRW50aXR5KSB4bWxQYXJzZUVudGl0eSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFBhcnNlRW50aXR5X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxQYXJzZUVudGl0eQorZXh0ZXJuIF9fdHlwZW9mICh4bWxQYXJzZUVudGl0eSkgeG1sUGFyc2VFbnRpdHlfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxQYXJzZUVudGl0eSB4bWxQYXJzZUVudGl0eV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9wYXJzZXIKKyN1bmRlZiB4bWxQYXJzZUVudGl0eURlY2wKK2V4dGVybiBfX3R5cGVvZiAoeG1sUGFyc2VFbnRpdHlEZWNsKSB4bWxQYXJzZUVudGl0eURlY2wgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxQYXJzZUVudGl0eURlY2xfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFBhcnNlRW50aXR5RGVjbAorZXh0ZXJuIF9fdHlwZW9mICh4bWxQYXJzZUVudGl0eURlY2wpIHhtbFBhcnNlRW50aXR5RGVjbF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFBhcnNlRW50aXR5RGVjbCB4bWxQYXJzZUVudGl0eURlY2xfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3BhcnNlcgorI3VuZGVmIHhtbFBhcnNlRW50aXR5UmVmCitleHRlcm4gX190eXBlb2YgKHhtbFBhcnNlRW50aXR5UmVmKSB4bWxQYXJzZUVudGl0eVJlZiBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFBhcnNlRW50aXR5UmVmX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxQYXJzZUVudGl0eVJlZgorZXh0ZXJuIF9fdHlwZW9mICh4bWxQYXJzZUVudGl0eVJlZikgeG1sUGFyc2VFbnRpdHlSZWZfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxQYXJzZUVudGl0eVJlZiB4bWxQYXJzZUVudGl0eVJlZl9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fcGFyc2VyCisjdW5kZWYgeG1sUGFyc2VFbnRpdHlWYWx1ZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxQYXJzZUVudGl0eVZhbHVlKSB4bWxQYXJzZUVudGl0eVZhbHVlIF9fYXR0cmlidXRlKChhbGlhcygieG1sUGFyc2VFbnRpdHlWYWx1ZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sUGFyc2VFbnRpdHlWYWx1ZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxQYXJzZUVudGl0eVZhbHVlKSB4bWxQYXJzZUVudGl0eVZhbHVlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sUGFyc2VFbnRpdHlWYWx1ZSB4bWxQYXJzZUVudGl0eVZhbHVlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9wYXJzZXIKKyN1bmRlZiB4bWxQYXJzZUVudW1lcmF0ZWRUeXBlCitleHRlcm4gX190eXBlb2YgKHhtbFBhcnNlRW51bWVyYXRlZFR5cGUpIHhtbFBhcnNlRW51bWVyYXRlZFR5cGUgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxQYXJzZUVudW1lcmF0ZWRUeXBlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxQYXJzZUVudW1lcmF0ZWRUeXBlCitleHRlcm4gX190eXBlb2YgKHhtbFBhcnNlRW51bWVyYXRlZFR5cGUpIHhtbFBhcnNlRW51bWVyYXRlZFR5cGVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxQYXJzZUVudW1lcmF0ZWRUeXBlIHhtbFBhcnNlRW51bWVyYXRlZFR5cGVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3BhcnNlcgorI3VuZGVmIHhtbFBhcnNlRW51bWVyYXRpb25UeXBlCitleHRlcm4gX190eXBlb2YgKHhtbFBhcnNlRW51bWVyYXRpb25UeXBlKSB4bWxQYXJzZUVudW1lcmF0aW9uVHlwZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFBhcnNlRW51bWVyYXRpb25UeXBlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxQYXJzZUVudW1lcmF0aW9uVHlwZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxQYXJzZUVudW1lcmF0aW9uVHlwZSkgeG1sUGFyc2VFbnVtZXJhdGlvblR5cGVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxQYXJzZUVudW1lcmF0aW9uVHlwZSB4bWxQYXJzZUVudW1lcmF0aW9uVHlwZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fcGFyc2VyCisjdW5kZWYgeG1sUGFyc2VFeHRQYXJzZWRFbnQKK2V4dGVybiBfX3R5cGVvZiAoeG1sUGFyc2VFeHRQYXJzZWRFbnQpIHhtbFBhcnNlRXh0UGFyc2VkRW50IF9fYXR0cmlidXRlKChhbGlhcygieG1sUGFyc2VFeHRQYXJzZWRFbnRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFBhcnNlRXh0UGFyc2VkRW50CitleHRlcm4gX190eXBlb2YgKHhtbFBhcnNlRXh0UGFyc2VkRW50KSB4bWxQYXJzZUV4dFBhcnNlZEVudF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFBhcnNlRXh0UGFyc2VkRW50IHhtbFBhcnNlRXh0UGFyc2VkRW50X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1NBWDFfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fcGFyc2VyCisjdW5kZWYgeG1sUGFyc2VFeHRlcm5hbEVudGl0eQorZXh0ZXJuIF9fdHlwZW9mICh4bWxQYXJzZUV4dGVybmFsRW50aXR5KSB4bWxQYXJzZUV4dGVybmFsRW50aXR5IF9fYXR0cmlidXRlKChhbGlhcygieG1sUGFyc2VFeHRlcm5hbEVudGl0eV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sUGFyc2VFeHRlcm5hbEVudGl0eQorZXh0ZXJuIF9fdHlwZW9mICh4bWxQYXJzZUV4dGVybmFsRW50aXR5KSB4bWxQYXJzZUV4dGVybmFsRW50aXR5X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sUGFyc2VFeHRlcm5hbEVudGl0eSB4bWxQYXJzZUV4dGVybmFsRW50aXR5X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3BhcnNlcgorI3VuZGVmIHhtbFBhcnNlRXh0ZXJuYWxJRAorZXh0ZXJuIF9fdHlwZW9mICh4bWxQYXJzZUV4dGVybmFsSUQpIHhtbFBhcnNlRXh0ZXJuYWxJRCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFBhcnNlRXh0ZXJuYWxJRF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sUGFyc2VFeHRlcm5hbElECitleHRlcm4gX190eXBlb2YgKHhtbFBhcnNlRXh0ZXJuYWxJRCkgeG1sUGFyc2VFeHRlcm5hbElEX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sUGFyc2VFeHRlcm5hbElEIHhtbFBhcnNlRXh0ZXJuYWxJRF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fcGFyc2VyCisjdW5kZWYgeG1sUGFyc2VFeHRlcm5hbFN1YnNldAorZXh0ZXJuIF9fdHlwZW9mICh4bWxQYXJzZUV4dGVybmFsU3Vic2V0KSB4bWxQYXJzZUV4dGVybmFsU3Vic2V0IF9fYXR0cmlidXRlKChhbGlhcygieG1sUGFyc2VFeHRlcm5hbFN1YnNldF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sUGFyc2VFeHRlcm5hbFN1YnNldAorZXh0ZXJuIF9fdHlwZW9mICh4bWxQYXJzZUV4dGVybmFsU3Vic2V0KSB4bWxQYXJzZUV4dGVybmFsU3Vic2V0X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sUGFyc2VFeHRlcm5hbFN1YnNldCB4bWxQYXJzZUV4dGVybmFsU3Vic2V0X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1NBWDFfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fcGFyc2VyCisjdW5kZWYgeG1sUGFyc2VGaWxlCitleHRlcm4gX190eXBlb2YgKHhtbFBhcnNlRmlsZSkgeG1sUGFyc2VGaWxlIF9fYXR0cmlidXRlKChhbGlhcygieG1sUGFyc2VGaWxlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxQYXJzZUZpbGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sUGFyc2VGaWxlKSB4bWxQYXJzZUZpbGVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxQYXJzZUZpbGUgeG1sUGFyc2VGaWxlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3BhcnNlcgorI3VuZGVmIHhtbFBhcnNlSW5Ob2RlQ29udGV4dAorZXh0ZXJuIF9fdHlwZW9mICh4bWxQYXJzZUluTm9kZUNvbnRleHQpIHhtbFBhcnNlSW5Ob2RlQ29udGV4dCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFBhcnNlSW5Ob2RlQ29udGV4dF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sUGFyc2VJbk5vZGVDb250ZXh0CitleHRlcm4gX190eXBlb2YgKHhtbFBhcnNlSW5Ob2RlQ29udGV4dCkgeG1sUGFyc2VJbk5vZGVDb250ZXh0X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sUGFyc2VJbk5vZGVDb250ZXh0IHhtbFBhcnNlSW5Ob2RlQ29udGV4dF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fcGFyc2VyCisjdW5kZWYgeG1sUGFyc2VNYXJrdXBEZWNsCitleHRlcm4gX190eXBlb2YgKHhtbFBhcnNlTWFya3VwRGVjbCkgeG1sUGFyc2VNYXJrdXBEZWNsIF9fYXR0cmlidXRlKChhbGlhcygieG1sUGFyc2VNYXJrdXBEZWNsX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxQYXJzZU1hcmt1cERlY2wKK2V4dGVybiBfX3R5cGVvZiAoeG1sUGFyc2VNYXJrdXBEZWNsKSB4bWxQYXJzZU1hcmt1cERlY2xfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxQYXJzZU1hcmt1cERlY2wgeG1sUGFyc2VNYXJrdXBEZWNsX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1NBWDFfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fcGFyc2VyCisjdW5kZWYgeG1sUGFyc2VNZW1vcnkKK2V4dGVybiBfX3R5cGVvZiAoeG1sUGFyc2VNZW1vcnkpIHhtbFBhcnNlTWVtb3J5IF9fYXR0cmlidXRlKChhbGlhcygieG1sUGFyc2VNZW1vcnlfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFBhcnNlTWVtb3J5CitleHRlcm4gX190eXBlb2YgKHhtbFBhcnNlTWVtb3J5KSB4bWxQYXJzZU1lbW9yeV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFBhcnNlTWVtb3J5IHhtbFBhcnNlTWVtb3J5X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3BhcnNlcgorI3VuZGVmIHhtbFBhcnNlTWlzYworZXh0ZXJuIF9fdHlwZW9mICh4bWxQYXJzZU1pc2MpIHhtbFBhcnNlTWlzYyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFBhcnNlTWlzY19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sUGFyc2VNaXNjCitleHRlcm4gX190eXBlb2YgKHhtbFBhcnNlTWlzYykgeG1sUGFyc2VNaXNjX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sUGFyc2VNaXNjIHhtbFBhcnNlTWlzY19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fcGFyc2VyCisjdW5kZWYgeG1sUGFyc2VOYW1lCitleHRlcm4gX190eXBlb2YgKHhtbFBhcnNlTmFtZSkgeG1sUGFyc2VOYW1lIF9fYXR0cmlidXRlKChhbGlhcygieG1sUGFyc2VOYW1lX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxQYXJzZU5hbWUKK2V4dGVybiBfX3R5cGVvZiAoeG1sUGFyc2VOYW1lKSB4bWxQYXJzZU5hbWVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxQYXJzZU5hbWUgeG1sUGFyc2VOYW1lX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX0xFR0FDWV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9sZWdhY3kKKyN1bmRlZiB4bWxQYXJzZU5hbWVzcGFjZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxQYXJzZU5hbWVzcGFjZSkgeG1sUGFyc2VOYW1lc3BhY2UgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxQYXJzZU5hbWVzcGFjZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sUGFyc2VOYW1lc3BhY2UKK2V4dGVybiBfX3R5cGVvZiAoeG1sUGFyc2VOYW1lc3BhY2UpIHhtbFBhcnNlTmFtZXNwYWNlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sUGFyc2VOYW1lc3BhY2UgeG1sUGFyc2VOYW1lc3BhY2VfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fcGFyc2VyCisjdW5kZWYgeG1sUGFyc2VObXRva2VuCitleHRlcm4gX190eXBlb2YgKHhtbFBhcnNlTm10b2tlbikgeG1sUGFyc2VObXRva2VuIF9fYXR0cmlidXRlKChhbGlhcygieG1sUGFyc2VObXRva2VuX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxQYXJzZU5tdG9rZW4KK2V4dGVybiBfX3R5cGVvZiAoeG1sUGFyc2VObXRva2VuKSB4bWxQYXJzZU5tdG9rZW5fX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxQYXJzZU5tdG9rZW4geG1sUGFyc2VObXRva2VuX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9wYXJzZXIKKyN1bmRlZiB4bWxQYXJzZU5vdGF0aW9uRGVjbAorZXh0ZXJuIF9fdHlwZW9mICh4bWxQYXJzZU5vdGF0aW9uRGVjbCkgeG1sUGFyc2VOb3RhdGlvbkRlY2wgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxQYXJzZU5vdGF0aW9uRGVjbF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sUGFyc2VOb3RhdGlvbkRlY2wKK2V4dGVybiBfX3R5cGVvZiAoeG1sUGFyc2VOb3RhdGlvbkRlY2wpIHhtbFBhcnNlTm90YXRpb25EZWNsX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sUGFyc2VOb3RhdGlvbkRlY2wgeG1sUGFyc2VOb3RhdGlvbkRlY2xfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3BhcnNlcgorI3VuZGVmIHhtbFBhcnNlTm90YXRpb25UeXBlCitleHRlcm4gX190eXBlb2YgKHhtbFBhcnNlTm90YXRpb25UeXBlKSB4bWxQYXJzZU5vdGF0aW9uVHlwZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFBhcnNlTm90YXRpb25UeXBlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxQYXJzZU5vdGF0aW9uVHlwZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxQYXJzZU5vdGF0aW9uVHlwZSkgeG1sUGFyc2VOb3RhdGlvblR5cGVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxQYXJzZU5vdGF0aW9uVHlwZSB4bWxQYXJzZU5vdGF0aW9uVHlwZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fcGFyc2VyCisjdW5kZWYgeG1sUGFyc2VQRVJlZmVyZW5jZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxQYXJzZVBFUmVmZXJlbmNlKSB4bWxQYXJzZVBFUmVmZXJlbmNlIF9fYXR0cmlidXRlKChhbGlhcygieG1sUGFyc2VQRVJlZmVyZW5jZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sUGFyc2VQRVJlZmVyZW5jZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxQYXJzZVBFUmVmZXJlbmNlKSB4bWxQYXJzZVBFUmVmZXJlbmNlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sUGFyc2VQRVJlZmVyZW5jZSB4bWxQYXJzZVBFUmVmZXJlbmNlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9wYXJzZXIKKyN1bmRlZiB4bWxQYXJzZVBJCitleHRlcm4gX190eXBlb2YgKHhtbFBhcnNlUEkpIHhtbFBhcnNlUEkgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxQYXJzZVBJX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxQYXJzZVBJCitleHRlcm4gX190eXBlb2YgKHhtbFBhcnNlUEkpIHhtbFBhcnNlUElfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxQYXJzZVBJIHhtbFBhcnNlUElfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3BhcnNlcgorI3VuZGVmIHhtbFBhcnNlUElUYXJnZXQKK2V4dGVybiBfX3R5cGVvZiAoeG1sUGFyc2VQSVRhcmdldCkgeG1sUGFyc2VQSVRhcmdldCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFBhcnNlUElUYXJnZXRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFBhcnNlUElUYXJnZXQKK2V4dGVybiBfX3R5cGVvZiAoeG1sUGFyc2VQSVRhcmdldCkgeG1sUGFyc2VQSVRhcmdldF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFBhcnNlUElUYXJnZXQgeG1sUGFyc2VQSVRhcmdldF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fcGFyc2VyCisjdW5kZWYgeG1sUGFyc2VQdWJpZExpdGVyYWwKK2V4dGVybiBfX3R5cGVvZiAoeG1sUGFyc2VQdWJpZExpdGVyYWwpIHhtbFBhcnNlUHViaWRMaXRlcmFsIF9fYXR0cmlidXRlKChhbGlhcygieG1sUGFyc2VQdWJpZExpdGVyYWxfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFBhcnNlUHViaWRMaXRlcmFsCitleHRlcm4gX190eXBlb2YgKHhtbFBhcnNlUHViaWRMaXRlcmFsKSB4bWxQYXJzZVB1YmlkTGl0ZXJhbF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFBhcnNlUHViaWRMaXRlcmFsIHhtbFBhcnNlUHViaWRMaXRlcmFsX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX0xFR0FDWV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9sZWdhY3kKKyN1bmRlZiB4bWxQYXJzZVF1b3RlZFN0cmluZworZXh0ZXJuIF9fdHlwZW9mICh4bWxQYXJzZVF1b3RlZFN0cmluZykgeG1sUGFyc2VRdW90ZWRTdHJpbmcgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxQYXJzZVF1b3RlZFN0cmluZ19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sUGFyc2VRdW90ZWRTdHJpbmcKK2V4dGVybiBfX3R5cGVvZiAoeG1sUGFyc2VRdW90ZWRTdHJpbmcpIHhtbFBhcnNlUXVvdGVkU3RyaW5nX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sUGFyc2VRdW90ZWRTdHJpbmcgeG1sUGFyc2VRdW90ZWRTdHJpbmdfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fcGFyc2VyCisjdW5kZWYgeG1sUGFyc2VSZWZlcmVuY2UKK2V4dGVybiBfX3R5cGVvZiAoeG1sUGFyc2VSZWZlcmVuY2UpIHhtbFBhcnNlUmVmZXJlbmNlIF9fYXR0cmlidXRlKChhbGlhcygieG1sUGFyc2VSZWZlcmVuY2VfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFBhcnNlUmVmZXJlbmNlCitleHRlcm4gX190eXBlb2YgKHhtbFBhcnNlUmVmZXJlbmNlKSB4bWxQYXJzZVJlZmVyZW5jZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFBhcnNlUmVmZXJlbmNlIHhtbFBhcnNlUmVmZXJlbmNlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9wYXJzZXIKKyN1bmRlZiB4bWxQYXJzZVNERGVjbAorZXh0ZXJuIF9fdHlwZW9mICh4bWxQYXJzZVNERGVjbCkgeG1sUGFyc2VTRERlY2wgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxQYXJzZVNERGVjbF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sUGFyc2VTRERlY2wKK2V4dGVybiBfX3R5cGVvZiAoeG1sUGFyc2VTRERlY2wpIHhtbFBhcnNlU0REZWNsX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sUGFyc2VTRERlY2wgeG1sUGFyc2VTRERlY2xfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfU0FYMV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9wYXJzZXIKKyN1bmRlZiB4bWxQYXJzZVN0YXJ0VGFnCitleHRlcm4gX190eXBlb2YgKHhtbFBhcnNlU3RhcnRUYWcpIHhtbFBhcnNlU3RhcnRUYWcgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxQYXJzZVN0YXJ0VGFnX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxQYXJzZVN0YXJ0VGFnCitleHRlcm4gX190eXBlb2YgKHhtbFBhcnNlU3RhcnRUYWcpIHhtbFBhcnNlU3RhcnRUYWdfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxQYXJzZVN0YXJ0VGFnIHhtbFBhcnNlU3RhcnRUYWdfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fcGFyc2VyCisjdW5kZWYgeG1sUGFyc2VTeXN0ZW1MaXRlcmFsCitleHRlcm4gX190eXBlb2YgKHhtbFBhcnNlU3lzdGVtTGl0ZXJhbCkgeG1sUGFyc2VTeXN0ZW1MaXRlcmFsIF9fYXR0cmlidXRlKChhbGlhcygieG1sUGFyc2VTeXN0ZW1MaXRlcmFsX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxQYXJzZVN5c3RlbUxpdGVyYWwKK2V4dGVybiBfX3R5cGVvZiAoeG1sUGFyc2VTeXN0ZW1MaXRlcmFsKSB4bWxQYXJzZVN5c3RlbUxpdGVyYWxfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxQYXJzZVN5c3RlbUxpdGVyYWwgeG1sUGFyc2VTeXN0ZW1MaXRlcmFsX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9wYXJzZXIKKyN1bmRlZiB4bWxQYXJzZVRleHREZWNsCitleHRlcm4gX190eXBlb2YgKHhtbFBhcnNlVGV4dERlY2wpIHhtbFBhcnNlVGV4dERlY2wgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxQYXJzZVRleHREZWNsX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxQYXJzZVRleHREZWNsCitleHRlcm4gX190eXBlb2YgKHhtbFBhcnNlVGV4dERlY2wpIHhtbFBhcnNlVGV4dERlY2xfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxQYXJzZVRleHREZWNsIHhtbFBhcnNlVGV4dERlY2xfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3VyaQorI3VuZGVmIHhtbFBhcnNlVVJJCitleHRlcm4gX190eXBlb2YgKHhtbFBhcnNlVVJJKSB4bWxQYXJzZVVSSSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFBhcnNlVVJJX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxQYXJzZVVSSQorZXh0ZXJuIF9fdHlwZW9mICh4bWxQYXJzZVVSSSkgeG1sUGFyc2VVUklfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxQYXJzZVVSSSB4bWxQYXJzZVVSSV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fdXJpCisjdW5kZWYgeG1sUGFyc2VVUklSYXcKK2V4dGVybiBfX3R5cGVvZiAoeG1sUGFyc2VVUklSYXcpIHhtbFBhcnNlVVJJUmF3IF9fYXR0cmlidXRlKChhbGlhcygieG1sUGFyc2VVUklSYXdfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFBhcnNlVVJJUmF3CitleHRlcm4gX190eXBlb2YgKHhtbFBhcnNlVVJJUmF3KSB4bWxQYXJzZVVSSVJhd19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFBhcnNlVVJJUmF3IHhtbFBhcnNlVVJJUmF3X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV91cmkKKyN1bmRlZiB4bWxQYXJzZVVSSVJlZmVyZW5jZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxQYXJzZVVSSVJlZmVyZW5jZSkgeG1sUGFyc2VVUklSZWZlcmVuY2UgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxQYXJzZVVSSVJlZmVyZW5jZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sUGFyc2VVUklSZWZlcmVuY2UKK2V4dGVybiBfX3R5cGVvZiAoeG1sUGFyc2VVUklSZWZlcmVuY2UpIHhtbFBhcnNlVVJJUmVmZXJlbmNlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sUGFyc2VVUklSZWZlcmVuY2UgeG1sUGFyc2VVUklSZWZlcmVuY2VfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3BhcnNlcgorI3VuZGVmIHhtbFBhcnNlVmVyc2lvbkluZm8KK2V4dGVybiBfX3R5cGVvZiAoeG1sUGFyc2VWZXJzaW9uSW5mbykgeG1sUGFyc2VWZXJzaW9uSW5mbyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFBhcnNlVmVyc2lvbkluZm9fX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFBhcnNlVmVyc2lvbkluZm8KK2V4dGVybiBfX3R5cGVvZiAoeG1sUGFyc2VWZXJzaW9uSW5mbykgeG1sUGFyc2VWZXJzaW9uSW5mb19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFBhcnNlVmVyc2lvbkluZm8geG1sUGFyc2VWZXJzaW9uSW5mb19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fcGFyc2VyCisjdW5kZWYgeG1sUGFyc2VWZXJzaW9uTnVtCitleHRlcm4gX190eXBlb2YgKHhtbFBhcnNlVmVyc2lvbk51bSkgeG1sUGFyc2VWZXJzaW9uTnVtIF9fYXR0cmlidXRlKChhbGlhcygieG1sUGFyc2VWZXJzaW9uTnVtX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxQYXJzZVZlcnNpb25OdW0KK2V4dGVybiBfX3R5cGVvZiAoeG1sUGFyc2VWZXJzaW9uTnVtKSB4bWxQYXJzZVZlcnNpb25OdW1fX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxQYXJzZVZlcnNpb25OdW0geG1sUGFyc2VWZXJzaW9uTnVtX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9wYXJzZXIKKyN1bmRlZiB4bWxQYXJzZVhNTERlY2wKK2V4dGVybiBfX3R5cGVvZiAoeG1sUGFyc2VYTUxEZWNsKSB4bWxQYXJzZVhNTERlY2wgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxQYXJzZVhNTERlY2xfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFBhcnNlWE1MRGVjbAorZXh0ZXJuIF9fdHlwZW9mICh4bWxQYXJzZVhNTERlY2wpIHhtbFBhcnNlWE1MRGVjbF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFBhcnNlWE1MRGVjbCB4bWxQYXJzZVhNTERlY2xfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3BhcnNlckludGVybmFscworI3VuZGVmIHhtbFBhcnNlckFkZE5vZGVJbmZvCitleHRlcm4gX190eXBlb2YgKHhtbFBhcnNlckFkZE5vZGVJbmZvKSB4bWxQYXJzZXJBZGROb2RlSW5mbyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFBhcnNlckFkZE5vZGVJbmZvX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxQYXJzZXJBZGROb2RlSW5mbworZXh0ZXJuIF9fdHlwZW9mICh4bWxQYXJzZXJBZGROb2RlSW5mbykgeG1sUGFyc2VyQWRkTm9kZUluZm9fX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxQYXJzZXJBZGROb2RlSW5mbyB4bWxQYXJzZXJBZGROb2RlSW5mb19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fZXJyb3IKKyN1bmRlZiB4bWxQYXJzZXJFcnJvcgorZXh0ZXJuIF9fdHlwZW9mICh4bWxQYXJzZXJFcnJvcikgeG1sUGFyc2VyRXJyb3IgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxQYXJzZXJFcnJvcl9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sUGFyc2VyRXJyb3IKK2V4dGVybiBfX3R5cGVvZiAoeG1sUGFyc2VyRXJyb3IpIHhtbFBhcnNlckVycm9yX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sUGFyc2VyRXJyb3IgeG1sUGFyc2VyRXJyb3JfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3BhcnNlckludGVybmFscworI3VuZGVmIHhtbFBhcnNlckZpbmROb2RlSW5mbworZXh0ZXJuIF9fdHlwZW9mICh4bWxQYXJzZXJGaW5kTm9kZUluZm8pIHhtbFBhcnNlckZpbmROb2RlSW5mbyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFBhcnNlckZpbmROb2RlSW5mb19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sUGFyc2VyRmluZE5vZGVJbmZvCitleHRlcm4gX190eXBlb2YgKHhtbFBhcnNlckZpbmROb2RlSW5mbykgeG1sUGFyc2VyRmluZE5vZGVJbmZvX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sUGFyc2VyRmluZE5vZGVJbmZvIHhtbFBhcnNlckZpbmROb2RlSW5mb19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fcGFyc2VySW50ZXJuYWxzCisjdW5kZWYgeG1sUGFyc2VyRmluZE5vZGVJbmZvSW5kZXgKK2V4dGVybiBfX3R5cGVvZiAoeG1sUGFyc2VyRmluZE5vZGVJbmZvSW5kZXgpIHhtbFBhcnNlckZpbmROb2RlSW5mb0luZGV4IF9fYXR0cmlidXRlKChhbGlhcygieG1sUGFyc2VyRmluZE5vZGVJbmZvSW5kZXhfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFBhcnNlckZpbmROb2RlSW5mb0luZGV4CitleHRlcm4gX190eXBlb2YgKHhtbFBhcnNlckZpbmROb2RlSW5mb0luZGV4KSB4bWxQYXJzZXJGaW5kTm9kZUluZm9JbmRleF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFBhcnNlckZpbmROb2RlSW5mb0luZGV4IHhtbFBhcnNlckZpbmROb2RlSW5mb0luZGV4X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV94bWxJTworI3VuZGVmIHhtbFBhcnNlckdldERpcmVjdG9yeQorZXh0ZXJuIF9fdHlwZW9mICh4bWxQYXJzZXJHZXREaXJlY3RvcnkpIHhtbFBhcnNlckdldERpcmVjdG9yeSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFBhcnNlckdldERpcmVjdG9yeV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sUGFyc2VyR2V0RGlyZWN0b3J5CitleHRlcm4gX190eXBlb2YgKHhtbFBhcnNlckdldERpcmVjdG9yeSkgeG1sUGFyc2VyR2V0RGlyZWN0b3J5X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sUGFyc2VyR2V0RGlyZWN0b3J5IHhtbFBhcnNlckdldERpcmVjdG9yeV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fcGFyc2VyCisjdW5kZWYgeG1sUGFyc2VySGFuZGxlUEVSZWZlcmVuY2UKK2V4dGVybiBfX3R5cGVvZiAoeG1sUGFyc2VySGFuZGxlUEVSZWZlcmVuY2UpIHhtbFBhcnNlckhhbmRsZVBFUmVmZXJlbmNlIF9fYXR0cmlidXRlKChhbGlhcygieG1sUGFyc2VySGFuZGxlUEVSZWZlcmVuY2VfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFBhcnNlckhhbmRsZVBFUmVmZXJlbmNlCitleHRlcm4gX190eXBlb2YgKHhtbFBhcnNlckhhbmRsZVBFUmVmZXJlbmNlKSB4bWxQYXJzZXJIYW5kbGVQRVJlZmVyZW5jZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFBhcnNlckhhbmRsZVBFUmVmZXJlbmNlIHhtbFBhcnNlckhhbmRsZVBFUmVmZXJlbmNlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX0xFR0FDWV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9sZWdhY3kKKyN1bmRlZiB4bWxQYXJzZXJIYW5kbGVSZWZlcmVuY2UKK2V4dGVybiBfX3R5cGVvZiAoeG1sUGFyc2VySGFuZGxlUmVmZXJlbmNlKSB4bWxQYXJzZXJIYW5kbGVSZWZlcmVuY2UgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxQYXJzZXJIYW5kbGVSZWZlcmVuY2VfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFBhcnNlckhhbmRsZVJlZmVyZW5jZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxQYXJzZXJIYW5kbGVSZWZlcmVuY2UpIHhtbFBhcnNlckhhbmRsZVJlZmVyZW5jZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFBhcnNlckhhbmRsZVJlZmVyZW5jZSB4bWxQYXJzZXJIYW5kbGVSZWZlcmVuY2VfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21feG1sSU8KKyN1bmRlZiB4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZkCitleHRlcm4gX190eXBlb2YgKHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmQpIHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZkX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZkCitleHRlcm4gX190eXBlb2YgKHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmQpIHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZkIHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3htbElPCisjdW5kZWYgeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlCitleHRlcm4gX190eXBlb2YgKHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZSkgeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlIF9fYXR0cmlidXRlKChhbGlhcygieG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlKSB4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGUgeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV94bWxJTworI3VuZGVmIHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWUKK2V4dGVybiBfX3R5cGVvZiAoeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZSkgeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWUKK2V4dGVybiBfX3R5cGVvZiAoeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZSkgeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWUgeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21feG1sSU8KKyN1bmRlZiB4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRGVmYXVsdAorZXh0ZXJuIF9fdHlwZW9mICh4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRGVmYXVsdCkgeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRGVmYXVsdF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQKK2V4dGVybiBfX3R5cGVvZiAoeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQpIHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQgeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3htbElPCisjdW5kZWYgeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVJTworZXh0ZXJuIF9fdHlwZW9mICh4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUlPKSB4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUlPIF9fYXR0cmlidXRlKChhbGlhcygieG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVJT19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVJTworZXh0ZXJuIF9fdHlwZW9mICh4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUlPKSB4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUlPX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVJTyB4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUlPX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV94bWxJTworI3VuZGVmIHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlTWVtCitleHRlcm4gX190eXBlb2YgKHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlTWVtKSB4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZU1lbSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlTWVtX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZU1lbQorZXh0ZXJuIF9fdHlwZW9mICh4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZU1lbSkgeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVNZW1fX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZU1lbSB4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZU1lbV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21feG1sSU8KKyN1bmRlZiB4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZVN0YXRpYworZXh0ZXJuIF9fdHlwZW9mICh4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZVN0YXRpYykgeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVTdGF0aWMgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZVN0YXRpY19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVTdGF0aWMKK2V4dGVybiBfX3R5cGVvZiAoeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVTdGF0aWMpIHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlU3RhdGljX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVTdGF0aWMgeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVTdGF0aWNfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3htbElPCisjdW5kZWYgeG1sUGFyc2VySW5wdXRCdWZmZXJHcm93CitleHRlcm4gX190eXBlb2YgKHhtbFBhcnNlcklucHV0QnVmZmVyR3JvdykgeG1sUGFyc2VySW5wdXRCdWZmZXJHcm93IF9fYXR0cmlidXRlKChhbGlhcygieG1sUGFyc2VySW5wdXRCdWZmZXJHcm93X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxQYXJzZXJJbnB1dEJ1ZmZlckdyb3cKK2V4dGVybiBfX3R5cGVvZiAoeG1sUGFyc2VySW5wdXRCdWZmZXJHcm93KSB4bWxQYXJzZXJJbnB1dEJ1ZmZlckdyb3dfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxQYXJzZXJJbnB1dEJ1ZmZlckdyb3cgeG1sUGFyc2VySW5wdXRCdWZmZXJHcm93X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV94bWxJTworI3VuZGVmIHhtbFBhcnNlcklucHV0QnVmZmVyUHVzaAorZXh0ZXJuIF9fdHlwZW9mICh4bWxQYXJzZXJJbnB1dEJ1ZmZlclB1c2gpIHhtbFBhcnNlcklucHV0QnVmZmVyUHVzaCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFBhcnNlcklucHV0QnVmZmVyUHVzaF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sUGFyc2VySW5wdXRCdWZmZXJQdXNoCitleHRlcm4gX190eXBlb2YgKHhtbFBhcnNlcklucHV0QnVmZmVyUHVzaCkgeG1sUGFyc2VySW5wdXRCdWZmZXJQdXNoX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sUGFyc2VySW5wdXRCdWZmZXJQdXNoIHhtbFBhcnNlcklucHV0QnVmZmVyUHVzaF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21feG1sSU8KKyN1bmRlZiB4bWxQYXJzZXJJbnB1dEJ1ZmZlclJlYWQKK2V4dGVybiBfX3R5cGVvZiAoeG1sUGFyc2VySW5wdXRCdWZmZXJSZWFkKSB4bWxQYXJzZXJJbnB1dEJ1ZmZlclJlYWQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxQYXJzZXJJbnB1dEJ1ZmZlclJlYWRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFBhcnNlcklucHV0QnVmZmVyUmVhZAorZXh0ZXJuIF9fdHlwZW9mICh4bWxQYXJzZXJJbnB1dEJ1ZmZlclJlYWQpIHhtbFBhcnNlcklucHV0QnVmZmVyUmVhZF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFBhcnNlcklucHV0QnVmZmVyUmVhZCB4bWxQYXJzZXJJbnB1dEJ1ZmZlclJlYWRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3BhcnNlckludGVybmFscworI3VuZGVmIHhtbFBhcnNlcklucHV0R3JvdworZXh0ZXJuIF9fdHlwZW9mICh4bWxQYXJzZXJJbnB1dEdyb3cpIHhtbFBhcnNlcklucHV0R3JvdyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFBhcnNlcklucHV0R3Jvd19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sUGFyc2VySW5wdXRHcm93CitleHRlcm4gX190eXBlb2YgKHhtbFBhcnNlcklucHV0R3JvdykgeG1sUGFyc2VySW5wdXRHcm93X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sUGFyc2VySW5wdXRHcm93IHhtbFBhcnNlcklucHV0R3Jvd19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fcGFyc2VySW50ZXJuYWxzCisjdW5kZWYgeG1sUGFyc2VySW5wdXRSZWFkCitleHRlcm4gX190eXBlb2YgKHhtbFBhcnNlcklucHV0UmVhZCkgeG1sUGFyc2VySW5wdXRSZWFkIF9fYXR0cmlidXRlKChhbGlhcygieG1sUGFyc2VySW5wdXRSZWFkX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxQYXJzZXJJbnB1dFJlYWQKK2V4dGVybiBfX3R5cGVvZiAoeG1sUGFyc2VySW5wdXRSZWFkKSB4bWxQYXJzZXJJbnB1dFJlYWRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxQYXJzZXJJbnB1dFJlYWQgeG1sUGFyc2VySW5wdXRSZWFkX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9wYXJzZXJJbnRlcm5hbHMKKyN1bmRlZiB4bWxQYXJzZXJJbnB1dFNocmluaworZXh0ZXJuIF9fdHlwZW9mICh4bWxQYXJzZXJJbnB1dFNocmluaykgeG1sUGFyc2VySW5wdXRTaHJpbmsgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxQYXJzZXJJbnB1dFNocmlua19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sUGFyc2VySW5wdXRTaHJpbmsKK2V4dGVybiBfX3R5cGVvZiAoeG1sUGFyc2VySW5wdXRTaHJpbmspIHhtbFBhcnNlcklucHV0U2hyaW5rX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sUGFyc2VySW5wdXRTaHJpbmsgeG1sUGFyc2VySW5wdXRTaHJpbmtfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX2Vycm9yCisjdW5kZWYgeG1sUGFyc2VyUHJpbnRGaWxlQ29udGV4dAorZXh0ZXJuIF9fdHlwZW9mICh4bWxQYXJzZXJQcmludEZpbGVDb250ZXh0KSB4bWxQYXJzZXJQcmludEZpbGVDb250ZXh0IF9fYXR0cmlidXRlKChhbGlhcygieG1sUGFyc2VyUHJpbnRGaWxlQ29udGV4dF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sUGFyc2VyUHJpbnRGaWxlQ29udGV4dAorZXh0ZXJuIF9fdHlwZW9mICh4bWxQYXJzZXJQcmludEZpbGVDb250ZXh0KSB4bWxQYXJzZXJQcmludEZpbGVDb250ZXh0X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sUGFyc2VyUHJpbnRGaWxlQ29udGV4dCB4bWxQYXJzZXJQcmludEZpbGVDb250ZXh0X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9lcnJvcgorI3VuZGVmIHhtbFBhcnNlclByaW50RmlsZUluZm8KK2V4dGVybiBfX3R5cGVvZiAoeG1sUGFyc2VyUHJpbnRGaWxlSW5mbykgeG1sUGFyc2VyUHJpbnRGaWxlSW5mbyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFBhcnNlclByaW50RmlsZUluZm9fX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFBhcnNlclByaW50RmlsZUluZm8KK2V4dGVybiBfX3R5cGVvZiAoeG1sUGFyc2VyUHJpbnRGaWxlSW5mbykgeG1sUGFyc2VyUHJpbnRGaWxlSW5mb19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFBhcnNlclByaW50RmlsZUluZm8geG1sUGFyc2VyUHJpbnRGaWxlSW5mb19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fZXJyb3IKKyN1bmRlZiB4bWxQYXJzZXJWYWxpZGl0eUVycm9yCitleHRlcm4gX190eXBlb2YgKHhtbFBhcnNlclZhbGlkaXR5RXJyb3IpIHhtbFBhcnNlclZhbGlkaXR5RXJyb3IgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxQYXJzZXJWYWxpZGl0eUVycm9yX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxQYXJzZXJWYWxpZGl0eUVycm9yCitleHRlcm4gX190eXBlb2YgKHhtbFBhcnNlclZhbGlkaXR5RXJyb3IpIHhtbFBhcnNlclZhbGlkaXR5RXJyb3JfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxQYXJzZXJWYWxpZGl0eUVycm9yIHhtbFBhcnNlclZhbGlkaXR5RXJyb3JfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX2Vycm9yCisjdW5kZWYgeG1sUGFyc2VyVmFsaWRpdHlXYXJuaW5nCitleHRlcm4gX190eXBlb2YgKHhtbFBhcnNlclZhbGlkaXR5V2FybmluZykgeG1sUGFyc2VyVmFsaWRpdHlXYXJuaW5nIF9fYXR0cmlidXRlKChhbGlhcygieG1sUGFyc2VyVmFsaWRpdHlXYXJuaW5nX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxQYXJzZXJWYWxpZGl0eVdhcm5pbmcKK2V4dGVybiBfX3R5cGVvZiAoeG1sUGFyc2VyVmFsaWRpdHlXYXJuaW5nKSB4bWxQYXJzZXJWYWxpZGl0eVdhcm5pbmdfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxQYXJzZXJWYWxpZGl0eVdhcm5pbmcgeG1sUGFyc2VyVmFsaWRpdHlXYXJuaW5nX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9lcnJvcgorI3VuZGVmIHhtbFBhcnNlcldhcm5pbmcKK2V4dGVybiBfX3R5cGVvZiAoeG1sUGFyc2VyV2FybmluZykgeG1sUGFyc2VyV2FybmluZyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFBhcnNlcldhcm5pbmdfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFBhcnNlcldhcm5pbmcKK2V4dGVybiBfX3R5cGVvZiAoeG1sUGFyc2VyV2FybmluZykgeG1sUGFyc2VyV2FybmluZ19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFBhcnNlcldhcm5pbmcgeG1sUGFyc2VyV2FybmluZ19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fdXJpCisjdW5kZWYgeG1sUGF0aFRvVVJJCitleHRlcm4gX190eXBlb2YgKHhtbFBhdGhUb1VSSSkgeG1sUGF0aFRvVVJJIF9fYXR0cmlidXRlKChhbGlhcygieG1sUGF0aFRvVVJJX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxQYXRoVG9VUkkKK2V4dGVybiBfX3R5cGVvZiAoeG1sUGF0aFRvVVJJKSB4bWxQYXRoVG9VUklfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxQYXRoVG9VUkkgeG1sUGF0aFRvVVJJX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1BBVFRFUk5fRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fcGF0dGVybgorI3VuZGVmIHhtbFBhdHRlcm5Gcm9tUm9vdAorZXh0ZXJuIF9fdHlwZW9mICh4bWxQYXR0ZXJuRnJvbVJvb3QpIHhtbFBhdHRlcm5Gcm9tUm9vdCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFBhdHRlcm5Gcm9tUm9vdF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sUGF0dGVybkZyb21Sb290CitleHRlcm4gX190eXBlb2YgKHhtbFBhdHRlcm5Gcm9tUm9vdCkgeG1sUGF0dGVybkZyb21Sb290X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sUGF0dGVybkZyb21Sb290IHhtbFBhdHRlcm5Gcm9tUm9vdF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1BBVFRFUk5fRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fcGF0dGVybgorI3VuZGVmIHhtbFBhdHRlcm5HZXRTdHJlYW1DdHh0CitleHRlcm4gX190eXBlb2YgKHhtbFBhdHRlcm5HZXRTdHJlYW1DdHh0KSB4bWxQYXR0ZXJuR2V0U3RyZWFtQ3R4dCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFBhdHRlcm5HZXRTdHJlYW1DdHh0X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxQYXR0ZXJuR2V0U3RyZWFtQ3R4dAorZXh0ZXJuIF9fdHlwZW9mICh4bWxQYXR0ZXJuR2V0U3RyZWFtQ3R4dCkgeG1sUGF0dGVybkdldFN0cmVhbUN0eHRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxQYXR0ZXJuR2V0U3RyZWFtQ3R4dCB4bWxQYXR0ZXJuR2V0U3RyZWFtQ3R4dF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1BBVFRFUk5fRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fcGF0dGVybgorI3VuZGVmIHhtbFBhdHRlcm5NYXRjaAorZXh0ZXJuIF9fdHlwZW9mICh4bWxQYXR0ZXJuTWF0Y2gpIHhtbFBhdHRlcm5NYXRjaCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFBhdHRlcm5NYXRjaF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sUGF0dGVybk1hdGNoCitleHRlcm4gX190eXBlb2YgKHhtbFBhdHRlcm5NYXRjaCkgeG1sUGF0dGVybk1hdGNoX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sUGF0dGVybk1hdGNoIHhtbFBhdHRlcm5NYXRjaF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1BBVFRFUk5fRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fcGF0dGVybgorI3VuZGVmIHhtbFBhdHRlcm5NYXhEZXB0aAorZXh0ZXJuIF9fdHlwZW9mICh4bWxQYXR0ZXJuTWF4RGVwdGgpIHhtbFBhdHRlcm5NYXhEZXB0aCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFBhdHRlcm5NYXhEZXB0aF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sUGF0dGVybk1heERlcHRoCitleHRlcm4gX190eXBlb2YgKHhtbFBhdHRlcm5NYXhEZXB0aCkgeG1sUGF0dGVybk1heERlcHRoX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sUGF0dGVybk1heERlcHRoIHhtbFBhdHRlcm5NYXhEZXB0aF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1BBVFRFUk5fRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fcGF0dGVybgorI3VuZGVmIHhtbFBhdHRlcm5NaW5EZXB0aAorZXh0ZXJuIF9fdHlwZW9mICh4bWxQYXR0ZXJuTWluRGVwdGgpIHhtbFBhdHRlcm5NaW5EZXB0aCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFBhdHRlcm5NaW5EZXB0aF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sUGF0dGVybk1pbkRlcHRoCitleHRlcm4gX190eXBlb2YgKHhtbFBhdHRlcm5NaW5EZXB0aCkgeG1sUGF0dGVybk1pbkRlcHRoX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sUGF0dGVybk1pbkRlcHRoIHhtbFBhdHRlcm5NaW5EZXB0aF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1BBVFRFUk5fRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fcGF0dGVybgorI3VuZGVmIHhtbFBhdHRlcm5TdHJlYW1hYmxlCitleHRlcm4gX190eXBlb2YgKHhtbFBhdHRlcm5TdHJlYW1hYmxlKSB4bWxQYXR0ZXJuU3RyZWFtYWJsZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFBhdHRlcm5TdHJlYW1hYmxlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxQYXR0ZXJuU3RyZWFtYWJsZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxQYXR0ZXJuU3RyZWFtYWJsZSkgeG1sUGF0dGVyblN0cmVhbWFibGVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxQYXR0ZXJuU3RyZWFtYWJsZSB4bWxQYXR0ZXJuU3RyZWFtYWJsZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1BBVFRFUk5fRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fcGF0dGVybgorI3VuZGVmIHhtbFBhdHRlcm5jb21waWxlCitleHRlcm4gX190eXBlb2YgKHhtbFBhdHRlcm5jb21waWxlKSB4bWxQYXR0ZXJuY29tcGlsZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFBhdHRlcm5jb21waWxlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxQYXR0ZXJuY29tcGlsZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxQYXR0ZXJuY29tcGlsZSkgeG1sUGF0dGVybmNvbXBpbGVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxQYXR0ZXJuY29tcGlsZSB4bWxQYXR0ZXJuY29tcGlsZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9wYXJzZXJJbnRlcm5hbHMKKyN1bmRlZiB4bWxQZWRhbnRpY1BhcnNlckRlZmF1bHQKK2V4dGVybiBfX3R5cGVvZiAoeG1sUGVkYW50aWNQYXJzZXJEZWZhdWx0KSB4bWxQZWRhbnRpY1BhcnNlckRlZmF1bHQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxQZWRhbnRpY1BhcnNlckRlZmF1bHRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFBlZGFudGljUGFyc2VyRGVmYXVsdAorZXh0ZXJuIF9fdHlwZW9mICh4bWxQZWRhbnRpY1BhcnNlckRlZmF1bHQpIHhtbFBlZGFudGljUGFyc2VyRGVmYXVsdF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFBlZGFudGljUGFyc2VyRGVmYXVsdCB4bWxQZWRhbnRpY1BhcnNlckRlZmF1bHRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3BhcnNlcgorI3VuZGVmIHhtbFBvcElucHV0CitleHRlcm4gX190eXBlb2YgKHhtbFBvcElucHV0KSB4bWxQb3BJbnB1dCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFBvcElucHV0X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxQb3BJbnB1dAorZXh0ZXJuIF9fdHlwZW9mICh4bWxQb3BJbnB1dCkgeG1sUG9wSW5wdXRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxQb3BJbnB1dCB4bWxQb3BJbnB1dF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21feG1sSU8KKyN1bmRlZiB4bWxQb3BJbnB1dENhbGxiYWNrcworZXh0ZXJuIF9fdHlwZW9mICh4bWxQb3BJbnB1dENhbGxiYWNrcykgeG1sUG9wSW5wdXRDYWxsYmFja3MgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxQb3BJbnB1dENhbGxiYWNrc19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sUG9wSW5wdXRDYWxsYmFja3MKK2V4dGVybiBfX3R5cGVvZiAoeG1sUG9wSW5wdXRDYWxsYmFja3MpIHhtbFBvcElucHV0Q2FsbGJhY2tzX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sUG9wSW5wdXRDYWxsYmFja3MgeG1sUG9wSW5wdXRDYWxsYmFja3NfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVFJFRV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV90cmVlCisjdW5kZWYgeG1sUHJldmlvdXNFbGVtZW50U2libGluZworZXh0ZXJuIF9fdHlwZW9mICh4bWxQcmV2aW91c0VsZW1lbnRTaWJsaW5nKSB4bWxQcmV2aW91c0VsZW1lbnRTaWJsaW5nIF9fYXR0cmlidXRlKChhbGlhcygieG1sUHJldmlvdXNFbGVtZW50U2libGluZ19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sUHJldmlvdXNFbGVtZW50U2libGluZworZXh0ZXJuIF9fdHlwZW9mICh4bWxQcmV2aW91c0VsZW1lbnRTaWJsaW5nKSB4bWxQcmV2aW91c0VsZW1lbnRTaWJsaW5nX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sUHJldmlvdXNFbGVtZW50U2libGluZyB4bWxQcmV2aW91c0VsZW1lbnRTaWJsaW5nX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3VyaQorI3VuZGVmIHhtbFByaW50VVJJCitleHRlcm4gX190eXBlb2YgKHhtbFByaW50VVJJKSB4bWxQcmludFVSSSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFByaW50VVJJX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxQcmludFVSSQorZXh0ZXJuIF9fdHlwZW9mICh4bWxQcmludFVSSSkgeG1sUHJpbnRVUklfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxQcmludFVSSSB4bWxQcmludFVSSV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fcGFyc2VyCisjdW5kZWYgeG1sUHVzaElucHV0CitleHRlcm4gX190eXBlb2YgKHhtbFB1c2hJbnB1dCkgeG1sUHVzaElucHV0IF9fYXR0cmlidXRlKChhbGlhcygieG1sUHVzaElucHV0X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxQdXNoSW5wdXQKK2V4dGVybiBfX3R5cGVvZiAoeG1sUHVzaElucHV0KSB4bWxQdXNoSW5wdXRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxQdXNoSW5wdXQgeG1sUHVzaElucHV0X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV90aHJlYWRzCisjdW5kZWYgeG1sUk11dGV4TG9jaworZXh0ZXJuIF9fdHlwZW9mICh4bWxSTXV0ZXhMb2NrKSB4bWxSTXV0ZXhMb2NrIF9fYXR0cmlidXRlKChhbGlhcygieG1sUk11dGV4TG9ja19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sUk11dGV4TG9jaworZXh0ZXJuIF9fdHlwZW9mICh4bWxSTXV0ZXhMb2NrKSB4bWxSTXV0ZXhMb2NrX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sUk11dGV4TG9jayB4bWxSTXV0ZXhMb2NrX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV90aHJlYWRzCisjdW5kZWYgeG1sUk11dGV4VW5sb2NrCitleHRlcm4gX190eXBlb2YgKHhtbFJNdXRleFVubG9jaykgeG1sUk11dGV4VW5sb2NrIF9fYXR0cmlidXRlKChhbGlhcygieG1sUk11dGV4VW5sb2NrX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxSTXV0ZXhVbmxvY2sKK2V4dGVybiBfX3R5cGVvZiAoeG1sUk11dGV4VW5sb2NrKSB4bWxSTXV0ZXhVbmxvY2tfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxSTXV0ZXhVbmxvY2sgeG1sUk11dGV4VW5sb2NrX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9wYXJzZXIKKyN1bmRlZiB4bWxSZWFkRG9jCitleHRlcm4gX190eXBlb2YgKHhtbFJlYWREb2MpIHhtbFJlYWREb2MgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxSZWFkRG9jX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxSZWFkRG9jCitleHRlcm4gX190eXBlb2YgKHhtbFJlYWREb2MpIHhtbFJlYWREb2NfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxSZWFkRG9jIHhtbFJlYWREb2NfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3BhcnNlcgorI3VuZGVmIHhtbFJlYWRGZAorZXh0ZXJuIF9fdHlwZW9mICh4bWxSZWFkRmQpIHhtbFJlYWRGZCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFJlYWRGZF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sUmVhZEZkCitleHRlcm4gX190eXBlb2YgKHhtbFJlYWRGZCkgeG1sUmVhZEZkX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sUmVhZEZkIHhtbFJlYWRGZF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fcGFyc2VyCisjdW5kZWYgeG1sUmVhZEZpbGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sUmVhZEZpbGUpIHhtbFJlYWRGaWxlIF9fYXR0cmlidXRlKChhbGlhcygieG1sUmVhZEZpbGVfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFJlYWRGaWxlCitleHRlcm4gX190eXBlb2YgKHhtbFJlYWRGaWxlKSB4bWxSZWFkRmlsZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFJlYWRGaWxlIHhtbFJlYWRGaWxlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9wYXJzZXIKKyN1bmRlZiB4bWxSZWFkSU8KK2V4dGVybiBfX3R5cGVvZiAoeG1sUmVhZElPKSB4bWxSZWFkSU8gX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxSZWFkSU9fX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFJlYWRJTworZXh0ZXJuIF9fdHlwZW9mICh4bWxSZWFkSU8pIHhtbFJlYWRJT19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFJlYWRJTyB4bWxSZWFkSU9fX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3BhcnNlcgorI3VuZGVmIHhtbFJlYWRNZW1vcnkKK2V4dGVybiBfX3R5cGVvZiAoeG1sUmVhZE1lbW9yeSkgeG1sUmVhZE1lbW9yeSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFJlYWRNZW1vcnlfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFJlYWRNZW1vcnkKK2V4dGVybiBfX3R5cGVvZiAoeG1sUmVhZE1lbW9yeSkgeG1sUmVhZE1lbW9yeV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFJlYWRNZW1vcnkgeG1sUmVhZE1lbW9yeV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1scmVhZGVyCisjdW5kZWYgeG1sUmVhZGVyRm9yRG9jCitleHRlcm4gX190eXBlb2YgKHhtbFJlYWRlckZvckRvYykgeG1sUmVhZGVyRm9yRG9jIF9fYXR0cmlidXRlKChhbGlhcygieG1sUmVhZGVyRm9yRG9jX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxSZWFkZXJGb3JEb2MKK2V4dGVybiBfX3R5cGVvZiAoeG1sUmVhZGVyRm9yRG9jKSB4bWxSZWFkZXJGb3JEb2NfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxSZWFkZXJGb3JEb2MgeG1sUmVhZGVyRm9yRG9jX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHJlYWRlcgorI3VuZGVmIHhtbFJlYWRlckZvckZkCitleHRlcm4gX190eXBlb2YgKHhtbFJlYWRlckZvckZkKSB4bWxSZWFkZXJGb3JGZCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFJlYWRlckZvckZkX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxSZWFkZXJGb3JGZAorZXh0ZXJuIF9fdHlwZW9mICh4bWxSZWFkZXJGb3JGZCkgeG1sUmVhZGVyRm9yRmRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxSZWFkZXJGb3JGZCB4bWxSZWFkZXJGb3JGZF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxyZWFkZXIKKyN1bmRlZiB4bWxSZWFkZXJGb3JGaWxlCitleHRlcm4gX190eXBlb2YgKHhtbFJlYWRlckZvckZpbGUpIHhtbFJlYWRlckZvckZpbGUgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxSZWFkZXJGb3JGaWxlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxSZWFkZXJGb3JGaWxlCitleHRlcm4gX190eXBlb2YgKHhtbFJlYWRlckZvckZpbGUpIHhtbFJlYWRlckZvckZpbGVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxSZWFkZXJGb3JGaWxlIHhtbFJlYWRlckZvckZpbGVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1scmVhZGVyCisjdW5kZWYgeG1sUmVhZGVyRm9ySU8KK2V4dGVybiBfX3R5cGVvZiAoeG1sUmVhZGVyRm9ySU8pIHhtbFJlYWRlckZvcklPIF9fYXR0cmlidXRlKChhbGlhcygieG1sUmVhZGVyRm9ySU9fX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFJlYWRlckZvcklPCitleHRlcm4gX190eXBlb2YgKHhtbFJlYWRlckZvcklPKSB4bWxSZWFkZXJGb3JJT19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFJlYWRlckZvcklPIHhtbFJlYWRlckZvcklPX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHJlYWRlcgorI3VuZGVmIHhtbFJlYWRlckZvck1lbW9yeQorZXh0ZXJuIF9fdHlwZW9mICh4bWxSZWFkZXJGb3JNZW1vcnkpIHhtbFJlYWRlckZvck1lbW9yeSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFJlYWRlckZvck1lbW9yeV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sUmVhZGVyRm9yTWVtb3J5CitleHRlcm4gX190eXBlb2YgKHhtbFJlYWRlckZvck1lbW9yeSkgeG1sUmVhZGVyRm9yTWVtb3J5X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sUmVhZGVyRm9yTWVtb3J5IHhtbFJlYWRlckZvck1lbW9yeV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxyZWFkZXIKKyN1bmRlZiB4bWxSZWFkZXJOZXdEb2MKK2V4dGVybiBfX3R5cGVvZiAoeG1sUmVhZGVyTmV3RG9jKSB4bWxSZWFkZXJOZXdEb2MgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxSZWFkZXJOZXdEb2NfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFJlYWRlck5ld0RvYworZXh0ZXJuIF9fdHlwZW9mICh4bWxSZWFkZXJOZXdEb2MpIHhtbFJlYWRlck5ld0RvY19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFJlYWRlck5ld0RvYyB4bWxSZWFkZXJOZXdEb2NfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1scmVhZGVyCisjdW5kZWYgeG1sUmVhZGVyTmV3RmQKK2V4dGVybiBfX3R5cGVvZiAoeG1sUmVhZGVyTmV3RmQpIHhtbFJlYWRlck5ld0ZkIF9fYXR0cmlidXRlKChhbGlhcygieG1sUmVhZGVyTmV3RmRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFJlYWRlck5ld0ZkCitleHRlcm4gX190eXBlb2YgKHhtbFJlYWRlck5ld0ZkKSB4bWxSZWFkZXJOZXdGZF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFJlYWRlck5ld0ZkIHhtbFJlYWRlck5ld0ZkX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHJlYWRlcgorI3VuZGVmIHhtbFJlYWRlck5ld0ZpbGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sUmVhZGVyTmV3RmlsZSkgeG1sUmVhZGVyTmV3RmlsZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFJlYWRlck5ld0ZpbGVfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFJlYWRlck5ld0ZpbGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sUmVhZGVyTmV3RmlsZSkgeG1sUmVhZGVyTmV3RmlsZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFJlYWRlck5ld0ZpbGUgeG1sUmVhZGVyTmV3RmlsZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxyZWFkZXIKKyN1bmRlZiB4bWxSZWFkZXJOZXdJTworZXh0ZXJuIF9fdHlwZW9mICh4bWxSZWFkZXJOZXdJTykgeG1sUmVhZGVyTmV3SU8gX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxSZWFkZXJOZXdJT19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sUmVhZGVyTmV3SU8KK2V4dGVybiBfX3R5cGVvZiAoeG1sUmVhZGVyTmV3SU8pIHhtbFJlYWRlck5ld0lPX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sUmVhZGVyTmV3SU8geG1sUmVhZGVyTmV3SU9fX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1scmVhZGVyCisjdW5kZWYgeG1sUmVhZGVyTmV3TWVtb3J5CitleHRlcm4gX190eXBlb2YgKHhtbFJlYWRlck5ld01lbW9yeSkgeG1sUmVhZGVyTmV3TWVtb3J5IF9fYXR0cmlidXRlKChhbGlhcygieG1sUmVhZGVyTmV3TWVtb3J5X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxSZWFkZXJOZXdNZW1vcnkKK2V4dGVybiBfX3R5cGVvZiAoeG1sUmVhZGVyTmV3TWVtb3J5KSB4bWxSZWFkZXJOZXdNZW1vcnlfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxSZWFkZXJOZXdNZW1vcnkgeG1sUmVhZGVyTmV3TWVtb3J5X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHJlYWRlcgorI3VuZGVmIHhtbFJlYWRlck5ld1dhbGtlcgorZXh0ZXJuIF9fdHlwZW9mICh4bWxSZWFkZXJOZXdXYWxrZXIpIHhtbFJlYWRlck5ld1dhbGtlciBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFJlYWRlck5ld1dhbGtlcl9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sUmVhZGVyTmV3V2Fsa2VyCitleHRlcm4gX190eXBlb2YgKHhtbFJlYWRlck5ld1dhbGtlcikgeG1sUmVhZGVyTmV3V2Fsa2VyX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sUmVhZGVyTmV3V2Fsa2VyIHhtbFJlYWRlck5ld1dhbGtlcl9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxyZWFkZXIKKyN1bmRlZiB4bWxSZWFkZXJXYWxrZXIKK2V4dGVybiBfX3R5cGVvZiAoeG1sUmVhZGVyV2Fsa2VyKSB4bWxSZWFkZXJXYWxrZXIgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxSZWFkZXJXYWxrZXJfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFJlYWRlcldhbGtlcgorZXh0ZXJuIF9fdHlwZW9mICh4bWxSZWFkZXJXYWxrZXIpIHhtbFJlYWRlcldhbGtlcl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFJlYWRlcldhbGtlciB4bWxSZWFkZXJXYWxrZXJfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21feG1sbWVtb3J5CisjdW5kZWYgeG1sUmVhbGxvY0xvYworZXh0ZXJuIF9fdHlwZW9mICh4bWxSZWFsbG9jTG9jKSB4bWxSZWFsbG9jTG9jIF9fYXR0cmlidXRlKChhbGlhcygieG1sUmVhbGxvY0xvY19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sUmVhbGxvY0xvYworZXh0ZXJuIF9fdHlwZW9mICh4bWxSZWFsbG9jTG9jKSB4bWxSZWFsbG9jTG9jX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sUmVhbGxvY0xvYyB4bWxSZWFsbG9jTG9jX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fdHJlZQorI3VuZGVmIHhtbFJlY29uY2lsaWF0ZU5zCitleHRlcm4gX190eXBlb2YgKHhtbFJlY29uY2lsaWF0ZU5zKSB4bWxSZWNvbmNpbGlhdGVOcyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFJlY29uY2lsaWF0ZU5zX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxSZWNvbmNpbGlhdGVOcworZXh0ZXJuIF9fdHlwZW9mICh4bWxSZWNvbmNpbGlhdGVOcykgeG1sUmVjb25jaWxpYXRlTnNfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxSZWNvbmNpbGlhdGVOcyB4bWxSZWNvbmNpbGlhdGVOc19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1NBWDFfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fcGFyc2VyCisjdW5kZWYgeG1sUmVjb3ZlckRvYworZXh0ZXJuIF9fdHlwZW9mICh4bWxSZWNvdmVyRG9jKSB4bWxSZWNvdmVyRG9jIF9fYXR0cmlidXRlKChhbGlhcygieG1sUmVjb3ZlckRvY19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sUmVjb3ZlckRvYworZXh0ZXJuIF9fdHlwZW9mICh4bWxSZWNvdmVyRG9jKSB4bWxSZWNvdmVyRG9jX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sUmVjb3ZlckRvYyB4bWxSZWNvdmVyRG9jX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfU0FYMV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9wYXJzZXIKKyN1bmRlZiB4bWxSZWNvdmVyRmlsZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxSZWNvdmVyRmlsZSkgeG1sUmVjb3ZlckZpbGUgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxSZWNvdmVyRmlsZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sUmVjb3ZlckZpbGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sUmVjb3ZlckZpbGUpIHhtbFJlY292ZXJGaWxlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sUmVjb3ZlckZpbGUgeG1sUmVjb3ZlckZpbGVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9TQVgxX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3BhcnNlcgorI3VuZGVmIHhtbFJlY292ZXJNZW1vcnkKK2V4dGVybiBfX3R5cGVvZiAoeG1sUmVjb3Zlck1lbW9yeSkgeG1sUmVjb3Zlck1lbW9yeSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFJlY292ZXJNZW1vcnlfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFJlY292ZXJNZW1vcnkKK2V4dGVybiBfX3R5cGVvZiAoeG1sUmVjb3Zlck1lbW9yeSkgeG1sUmVjb3Zlck1lbW9yeV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFJlY292ZXJNZW1vcnkgeG1sUmVjb3Zlck1lbW9yeV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1JFR0VYUF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxyZWdleHAKKyN1bmRlZiB4bWxSZWdFeGVjRXJySW5mbworZXh0ZXJuIF9fdHlwZW9mICh4bWxSZWdFeGVjRXJySW5mbykgeG1sUmVnRXhlY0VyckluZm8gX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxSZWdFeGVjRXJySW5mb19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sUmVnRXhlY0VyckluZm8KK2V4dGVybiBfX3R5cGVvZiAoeG1sUmVnRXhlY0VyckluZm8pIHhtbFJlZ0V4ZWNFcnJJbmZvX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sUmVnRXhlY0VyckluZm8geG1sUmVnRXhlY0VyckluZm9fX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUdFWFBfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1scmVnZXhwCisjdW5kZWYgeG1sUmVnRXhlY05leHRWYWx1ZXMKK2V4dGVybiBfX3R5cGVvZiAoeG1sUmVnRXhlY05leHRWYWx1ZXMpIHhtbFJlZ0V4ZWNOZXh0VmFsdWVzIF9fYXR0cmlidXRlKChhbGlhcygieG1sUmVnRXhlY05leHRWYWx1ZXNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFJlZ0V4ZWNOZXh0VmFsdWVzCitleHRlcm4gX190eXBlb2YgKHhtbFJlZ0V4ZWNOZXh0VmFsdWVzKSB4bWxSZWdFeGVjTmV4dFZhbHVlc19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFJlZ0V4ZWNOZXh0VmFsdWVzIHhtbFJlZ0V4ZWNOZXh0VmFsdWVzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfUkVHRVhQX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHJlZ2V4cAorI3VuZGVmIHhtbFJlZ0V4ZWNQdXNoU3RyaW5nCitleHRlcm4gX190eXBlb2YgKHhtbFJlZ0V4ZWNQdXNoU3RyaW5nKSB4bWxSZWdFeGVjUHVzaFN0cmluZyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFJlZ0V4ZWNQdXNoU3RyaW5nX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxSZWdFeGVjUHVzaFN0cmluZworZXh0ZXJuIF9fdHlwZW9mICh4bWxSZWdFeGVjUHVzaFN0cmluZykgeG1sUmVnRXhlY1B1c2hTdHJpbmdfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxSZWdFeGVjUHVzaFN0cmluZyB4bWxSZWdFeGVjUHVzaFN0cmluZ19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1JFR0VYUF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxyZWdleHAKKyN1bmRlZiB4bWxSZWdFeGVjUHVzaFN0cmluZzIKK2V4dGVybiBfX3R5cGVvZiAoeG1sUmVnRXhlY1B1c2hTdHJpbmcyKSB4bWxSZWdFeGVjUHVzaFN0cmluZzIgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxSZWdFeGVjUHVzaFN0cmluZzJfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFJlZ0V4ZWNQdXNoU3RyaW5nMgorZXh0ZXJuIF9fdHlwZW9mICh4bWxSZWdFeGVjUHVzaFN0cmluZzIpIHhtbFJlZ0V4ZWNQdXNoU3RyaW5nMl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFJlZ0V4ZWNQdXNoU3RyaW5nMiB4bWxSZWdFeGVjUHVzaFN0cmluZzJfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUdFWFBfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1scmVnZXhwCisjdW5kZWYgeG1sUmVnRnJlZUV4ZWNDdHh0CitleHRlcm4gX190eXBlb2YgKHhtbFJlZ0ZyZWVFeGVjQ3R4dCkgeG1sUmVnRnJlZUV4ZWNDdHh0IF9fYXR0cmlidXRlKChhbGlhcygieG1sUmVnRnJlZUV4ZWNDdHh0X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxSZWdGcmVlRXhlY0N0eHQKK2V4dGVybiBfX3R5cGVvZiAoeG1sUmVnRnJlZUV4ZWNDdHh0KSB4bWxSZWdGcmVlRXhlY0N0eHRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxSZWdGcmVlRXhlY0N0eHQgeG1sUmVnRnJlZUV4ZWNDdHh0X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfUkVHRVhQX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHJlZ2V4cAorI3VuZGVmIHhtbFJlZ0ZyZWVSZWdleHAKK2V4dGVybiBfX3R5cGVvZiAoeG1sUmVnRnJlZVJlZ2V4cCkgeG1sUmVnRnJlZVJlZ2V4cCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFJlZ0ZyZWVSZWdleHBfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFJlZ0ZyZWVSZWdleHAKK2V4dGVybiBfX3R5cGVvZiAoeG1sUmVnRnJlZVJlZ2V4cCkgeG1sUmVnRnJlZVJlZ2V4cF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFJlZ0ZyZWVSZWdleHAgeG1sUmVnRnJlZVJlZ2V4cF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1JFR0VYUF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxyZWdleHAKKyN1bmRlZiB4bWxSZWdOZXdFeGVjQ3R4dAorZXh0ZXJuIF9fdHlwZW9mICh4bWxSZWdOZXdFeGVjQ3R4dCkgeG1sUmVnTmV3RXhlY0N0eHQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxSZWdOZXdFeGVjQ3R4dF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sUmVnTmV3RXhlY0N0eHQKK2V4dGVybiBfX3R5cGVvZiAoeG1sUmVnTmV3RXhlY0N0eHQpIHhtbFJlZ05ld0V4ZWNDdHh0X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sUmVnTmV3RXhlY0N0eHQgeG1sUmVnTmV3RXhlY0N0eHRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUdFWFBfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1scmVnZXhwCisjdW5kZWYgeG1sUmVnZXhwQ29tcGlsZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxSZWdleHBDb21waWxlKSB4bWxSZWdleHBDb21waWxlIF9fYXR0cmlidXRlKChhbGlhcygieG1sUmVnZXhwQ29tcGlsZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sUmVnZXhwQ29tcGlsZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxSZWdleHBDb21waWxlKSB4bWxSZWdleHBDb21waWxlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sUmVnZXhwQ29tcGlsZSB4bWxSZWdleHBDb21waWxlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfUkVHRVhQX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHJlZ2V4cAorI3VuZGVmIHhtbFJlZ2V4cEV4ZWMKK2V4dGVybiBfX3R5cGVvZiAoeG1sUmVnZXhwRXhlYykgeG1sUmVnZXhwRXhlYyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFJlZ2V4cEV4ZWNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFJlZ2V4cEV4ZWMKK2V4dGVybiBfX3R5cGVvZiAoeG1sUmVnZXhwRXhlYykgeG1sUmVnZXhwRXhlY19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFJlZ2V4cEV4ZWMgeG1sUmVnZXhwRXhlY19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1JFR0VYUF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxyZWdleHAKKyN1bmRlZiB4bWxSZWdleHBJc0RldGVybWluaXN0CitleHRlcm4gX190eXBlb2YgKHhtbFJlZ2V4cElzRGV0ZXJtaW5pc3QpIHhtbFJlZ2V4cElzRGV0ZXJtaW5pc3QgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxSZWdleHBJc0RldGVybWluaXN0X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxSZWdleHBJc0RldGVybWluaXN0CitleHRlcm4gX190eXBlb2YgKHhtbFJlZ2V4cElzRGV0ZXJtaW5pc3QpIHhtbFJlZ2V4cElzRGV0ZXJtaW5pc3RfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxSZWdleHBJc0RldGVybWluaXN0IHhtbFJlZ2V4cElzRGV0ZXJtaW5pc3RfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUdFWFBfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1scmVnZXhwCisjdW5kZWYgeG1sUmVnZXhwUHJpbnQKK2V4dGVybiBfX3R5cGVvZiAoeG1sUmVnZXhwUHJpbnQpIHhtbFJlZ2V4cFByaW50IF9fYXR0cmlidXRlKChhbGlhcygieG1sUmVnZXhwUHJpbnRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFJlZ2V4cFByaW50CitleHRlcm4gX190eXBlb2YgKHhtbFJlZ2V4cFByaW50KSB4bWxSZWdleHBQcmludF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFJlZ2V4cFByaW50IHhtbFJlZ2V4cFByaW50X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX2VuY29kaW5nCisjdW5kZWYgeG1sUmVnaXN0ZXJDaGFyRW5jb2RpbmdIYW5kbGVyCitleHRlcm4gX190eXBlb2YgKHhtbFJlZ2lzdGVyQ2hhckVuY29kaW5nSGFuZGxlcikgeG1sUmVnaXN0ZXJDaGFyRW5jb2RpbmdIYW5kbGVyIF9fYXR0cmlidXRlKChhbGlhcygieG1sUmVnaXN0ZXJDaGFyRW5jb2RpbmdIYW5kbGVyX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxSZWdpc3RlckNoYXJFbmNvZGluZ0hhbmRsZXIKK2V4dGVybiBfX3R5cGVvZiAoeG1sUmVnaXN0ZXJDaGFyRW5jb2RpbmdIYW5kbGVyKSB4bWxSZWdpc3RlckNoYXJFbmNvZGluZ0hhbmRsZXJfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxSZWdpc3RlckNoYXJFbmNvZGluZ0hhbmRsZXIgeG1sUmVnaXN0ZXJDaGFyRW5jb2RpbmdIYW5kbGVyX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV94bWxJTworI3VuZGVmIHhtbFJlZ2lzdGVyRGVmYXVsdElucHV0Q2FsbGJhY2tzCitleHRlcm4gX190eXBlb2YgKHhtbFJlZ2lzdGVyRGVmYXVsdElucHV0Q2FsbGJhY2tzKSB4bWxSZWdpc3RlckRlZmF1bHRJbnB1dENhbGxiYWNrcyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFJlZ2lzdGVyRGVmYXVsdElucHV0Q2FsbGJhY2tzX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxSZWdpc3RlckRlZmF1bHRJbnB1dENhbGxiYWNrcworZXh0ZXJuIF9fdHlwZW9mICh4bWxSZWdpc3RlckRlZmF1bHRJbnB1dENhbGxiYWNrcykgeG1sUmVnaXN0ZXJEZWZhdWx0SW5wdXRDYWxsYmFja3NfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxSZWdpc3RlckRlZmF1bHRJbnB1dENhbGxiYWNrcyB4bWxSZWdpc3RlckRlZmF1bHRJbnB1dENhbGxiYWNrc19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sSU8KKyN1bmRlZiB4bWxSZWdpc3RlckRlZmF1bHRPdXRwdXRDYWxsYmFja3MKK2V4dGVybiBfX3R5cGVvZiAoeG1sUmVnaXN0ZXJEZWZhdWx0T3V0cHV0Q2FsbGJhY2tzKSB4bWxSZWdpc3RlckRlZmF1bHRPdXRwdXRDYWxsYmFja3MgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxSZWdpc3RlckRlZmF1bHRPdXRwdXRDYWxsYmFja3NfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFJlZ2lzdGVyRGVmYXVsdE91dHB1dENhbGxiYWNrcworZXh0ZXJuIF9fdHlwZW9mICh4bWxSZWdpc3RlckRlZmF1bHRPdXRwdXRDYWxsYmFja3MpIHhtbFJlZ2lzdGVyRGVmYXVsdE91dHB1dENhbGxiYWNrc19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFJlZ2lzdGVyRGVmYXVsdE91dHB1dENhbGxiYWNrcyB4bWxSZWdpc3RlckRlZmF1bHRPdXRwdXRDYWxsYmFja3NfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfSFRUUF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxJTworI3VuZGVmIHhtbFJlZ2lzdGVySFRUUFBvc3RDYWxsYmFja3MKK2V4dGVybiBfX3R5cGVvZiAoeG1sUmVnaXN0ZXJIVFRQUG9zdENhbGxiYWNrcykgeG1sUmVnaXN0ZXJIVFRQUG9zdENhbGxiYWNrcyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFJlZ2lzdGVySFRUUFBvc3RDYWxsYmFja3NfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFJlZ2lzdGVySFRUUFBvc3RDYWxsYmFja3MKK2V4dGVybiBfX3R5cGVvZiAoeG1sUmVnaXN0ZXJIVFRQUG9zdENhbGxiYWNrcykgeG1sUmVnaXN0ZXJIVFRQUG9zdENhbGxiYWNrc19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFJlZ2lzdGVySFRUUFBvc3RDYWxsYmFja3MgeG1sUmVnaXN0ZXJIVFRQUG9zdENhbGxiYWNrc19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV94bWxJTworI3VuZGVmIHhtbFJlZ2lzdGVySW5wdXRDYWxsYmFja3MKK2V4dGVybiBfX3R5cGVvZiAoeG1sUmVnaXN0ZXJJbnB1dENhbGxiYWNrcykgeG1sUmVnaXN0ZXJJbnB1dENhbGxiYWNrcyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFJlZ2lzdGVySW5wdXRDYWxsYmFja3NfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFJlZ2lzdGVySW5wdXRDYWxsYmFja3MKK2V4dGVybiBfX3R5cGVvZiAoeG1sUmVnaXN0ZXJJbnB1dENhbGxiYWNrcykgeG1sUmVnaXN0ZXJJbnB1dENhbGxiYWNrc19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFJlZ2lzdGVySW5wdXRDYWxsYmFja3MgeG1sUmVnaXN0ZXJJbnB1dENhbGxiYWNrc19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fZ2xvYmFscworI3VuZGVmIHhtbFJlZ2lzdGVyTm9kZURlZmF1bHQKK2V4dGVybiBfX3R5cGVvZiAoeG1sUmVnaXN0ZXJOb2RlRGVmYXVsdCkgeG1sUmVnaXN0ZXJOb2RlRGVmYXVsdCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFJlZ2lzdGVyTm9kZURlZmF1bHRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFJlZ2lzdGVyTm9kZURlZmF1bHQKK2V4dGVybiBfX3R5cGVvZiAoeG1sUmVnaXN0ZXJOb2RlRGVmYXVsdCkgeG1sUmVnaXN0ZXJOb2RlRGVmYXVsdF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFJlZ2lzdGVyTm9kZURlZmF1bHQgeG1sUmVnaXN0ZXJOb2RlRGVmYXVsdF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sSU8KKyN1bmRlZiB4bWxSZWdpc3Rlck91dHB1dENhbGxiYWNrcworZXh0ZXJuIF9fdHlwZW9mICh4bWxSZWdpc3Rlck91dHB1dENhbGxiYWNrcykgeG1sUmVnaXN0ZXJPdXRwdXRDYWxsYmFja3MgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxSZWdpc3Rlck91dHB1dENhbGxiYWNrc19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sUmVnaXN0ZXJPdXRwdXRDYWxsYmFja3MKK2V4dGVybiBfX3R5cGVvZiAoeG1sUmVnaXN0ZXJPdXRwdXRDYWxsYmFja3MpIHhtbFJlZ2lzdGVyT3V0cHV0Q2FsbGJhY2tzX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sUmVnaXN0ZXJPdXRwdXRDYWxsYmFja3MgeG1sUmVnaXN0ZXJPdXRwdXRDYWxsYmFja3NfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3JlbGF4bmcKKyN1bmRlZiB4bWxSZWxheE5HQ2xlYW51cFR5cGVzCitleHRlcm4gX190eXBlb2YgKHhtbFJlbGF4TkdDbGVhbnVwVHlwZXMpIHhtbFJlbGF4TkdDbGVhbnVwVHlwZXMgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxSZWxheE5HQ2xlYW51cFR5cGVzX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxSZWxheE5HQ2xlYW51cFR5cGVzCitleHRlcm4gX190eXBlb2YgKHhtbFJlbGF4TkdDbGVhbnVwVHlwZXMpIHhtbFJlbGF4TkdDbGVhbnVwVHlwZXNfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxSZWxheE5HQ2xlYW51cFR5cGVzIHhtbFJlbGF4TkdDbGVhbnVwVHlwZXNfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpICYmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9yZWxheG5nCisjdW5kZWYgeG1sUmVsYXhOR0R1bXAKK2V4dGVybiBfX3R5cGVvZiAoeG1sUmVsYXhOR0R1bXApIHhtbFJlbGF4TkdEdW1wIF9fYXR0cmlidXRlKChhbGlhcygieG1sUmVsYXhOR0R1bXBfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFJlbGF4TkdEdW1wCitleHRlcm4gX190eXBlb2YgKHhtbFJlbGF4TkdEdW1wKSB4bWxSZWxheE5HRHVtcF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFJlbGF4TkdEdW1wIHhtbFJlbGF4TkdEdW1wX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKSAmJiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fcmVsYXhuZworI3VuZGVmIHhtbFJlbGF4TkdEdW1wVHJlZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxSZWxheE5HRHVtcFRyZWUpIHhtbFJlbGF4TkdEdW1wVHJlZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFJlbGF4TkdEdW1wVHJlZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sUmVsYXhOR0R1bXBUcmVlCitleHRlcm4gX190eXBlb2YgKHhtbFJlbGF4TkdEdW1wVHJlZSkgeG1sUmVsYXhOR0R1bXBUcmVlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sUmVsYXhOR0R1bXBUcmVlIHhtbFJlbGF4TkdEdW1wVHJlZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fcmVsYXhuZworI3VuZGVmIHhtbFJlbGF4TkdGcmVlCitleHRlcm4gX190eXBlb2YgKHhtbFJlbGF4TkdGcmVlKSB4bWxSZWxheE5HRnJlZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFJlbGF4TkdGcmVlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxSZWxheE5HRnJlZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxSZWxheE5HRnJlZSkgeG1sUmVsYXhOR0ZyZWVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxSZWxheE5HRnJlZSB4bWxSZWxheE5HRnJlZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fcmVsYXhuZworI3VuZGVmIHhtbFJlbGF4TkdGcmVlUGFyc2VyQ3R4dAorZXh0ZXJuIF9fdHlwZW9mICh4bWxSZWxheE5HRnJlZVBhcnNlckN0eHQpIHhtbFJlbGF4TkdGcmVlUGFyc2VyQ3R4dCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFJlbGF4TkdGcmVlUGFyc2VyQ3R4dF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sUmVsYXhOR0ZyZWVQYXJzZXJDdHh0CitleHRlcm4gX190eXBlb2YgKHhtbFJlbGF4TkdGcmVlUGFyc2VyQ3R4dCkgeG1sUmVsYXhOR0ZyZWVQYXJzZXJDdHh0X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sUmVsYXhOR0ZyZWVQYXJzZXJDdHh0IHhtbFJlbGF4TkdGcmVlUGFyc2VyQ3R4dF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fcmVsYXhuZworI3VuZGVmIHhtbFJlbGF4TkdGcmVlVmFsaWRDdHh0CitleHRlcm4gX190eXBlb2YgKHhtbFJlbGF4TkdGcmVlVmFsaWRDdHh0KSB4bWxSZWxheE5HRnJlZVZhbGlkQ3R4dCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFJlbGF4TkdGcmVlVmFsaWRDdHh0X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxSZWxheE5HRnJlZVZhbGlkQ3R4dAorZXh0ZXJuIF9fdHlwZW9mICh4bWxSZWxheE5HRnJlZVZhbGlkQ3R4dCkgeG1sUmVsYXhOR0ZyZWVWYWxpZEN0eHRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxSZWxheE5HRnJlZVZhbGlkQ3R4dCB4bWxSZWxheE5HRnJlZVZhbGlkQ3R4dF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fcmVsYXhuZworI3VuZGVmIHhtbFJlbGF4TkdHZXRQYXJzZXJFcnJvcnMKK2V4dGVybiBfX3R5cGVvZiAoeG1sUmVsYXhOR0dldFBhcnNlckVycm9ycykgeG1sUmVsYXhOR0dldFBhcnNlckVycm9ycyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFJlbGF4TkdHZXRQYXJzZXJFcnJvcnNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFJlbGF4TkdHZXRQYXJzZXJFcnJvcnMKK2V4dGVybiBfX3R5cGVvZiAoeG1sUmVsYXhOR0dldFBhcnNlckVycm9ycykgeG1sUmVsYXhOR0dldFBhcnNlckVycm9yc19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFJlbGF4TkdHZXRQYXJzZXJFcnJvcnMgeG1sUmVsYXhOR0dldFBhcnNlckVycm9yc19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fcmVsYXhuZworI3VuZGVmIHhtbFJlbGF4TkdHZXRWYWxpZEVycm9ycworZXh0ZXJuIF9fdHlwZW9mICh4bWxSZWxheE5HR2V0VmFsaWRFcnJvcnMpIHhtbFJlbGF4TkdHZXRWYWxpZEVycm9ycyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFJlbGF4TkdHZXRWYWxpZEVycm9yc19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sUmVsYXhOR0dldFZhbGlkRXJyb3JzCitleHRlcm4gX190eXBlb2YgKHhtbFJlbGF4TkdHZXRWYWxpZEVycm9ycykgeG1sUmVsYXhOR0dldFZhbGlkRXJyb3JzX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sUmVsYXhOR0dldFZhbGlkRXJyb3JzIHhtbFJlbGF4TkdHZXRWYWxpZEVycm9yc19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fcmVsYXhuZworI3VuZGVmIHhtbFJlbGF4TkdJbml0VHlwZXMKK2V4dGVybiBfX3R5cGVvZiAoeG1sUmVsYXhOR0luaXRUeXBlcykgeG1sUmVsYXhOR0luaXRUeXBlcyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFJlbGF4TkdJbml0VHlwZXNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFJlbGF4TkdJbml0VHlwZXMKK2V4dGVybiBfX3R5cGVvZiAoeG1sUmVsYXhOR0luaXRUeXBlcykgeG1sUmVsYXhOR0luaXRUeXBlc19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFJlbGF4TkdJbml0VHlwZXMgeG1sUmVsYXhOR0luaXRUeXBlc19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fcmVsYXhuZworI3VuZGVmIHhtbFJlbGF4TkdOZXdEb2NQYXJzZXJDdHh0CitleHRlcm4gX190eXBlb2YgKHhtbFJlbGF4TkdOZXdEb2NQYXJzZXJDdHh0KSB4bWxSZWxheE5HTmV3RG9jUGFyc2VyQ3R4dCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFJlbGF4TkdOZXdEb2NQYXJzZXJDdHh0X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxSZWxheE5HTmV3RG9jUGFyc2VyQ3R4dAorZXh0ZXJuIF9fdHlwZW9mICh4bWxSZWxheE5HTmV3RG9jUGFyc2VyQ3R4dCkgeG1sUmVsYXhOR05ld0RvY1BhcnNlckN0eHRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxSZWxheE5HTmV3RG9jUGFyc2VyQ3R4dCB4bWxSZWxheE5HTmV3RG9jUGFyc2VyQ3R4dF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fcmVsYXhuZworI3VuZGVmIHhtbFJlbGF4TkdOZXdNZW1QYXJzZXJDdHh0CitleHRlcm4gX190eXBlb2YgKHhtbFJlbGF4TkdOZXdNZW1QYXJzZXJDdHh0KSB4bWxSZWxheE5HTmV3TWVtUGFyc2VyQ3R4dCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFJlbGF4TkdOZXdNZW1QYXJzZXJDdHh0X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxSZWxheE5HTmV3TWVtUGFyc2VyQ3R4dAorZXh0ZXJuIF9fdHlwZW9mICh4bWxSZWxheE5HTmV3TWVtUGFyc2VyQ3R4dCkgeG1sUmVsYXhOR05ld01lbVBhcnNlckN0eHRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxSZWxheE5HTmV3TWVtUGFyc2VyQ3R4dCB4bWxSZWxheE5HTmV3TWVtUGFyc2VyQ3R4dF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fcmVsYXhuZworI3VuZGVmIHhtbFJlbGF4TkdOZXdQYXJzZXJDdHh0CitleHRlcm4gX190eXBlb2YgKHhtbFJlbGF4TkdOZXdQYXJzZXJDdHh0KSB4bWxSZWxheE5HTmV3UGFyc2VyQ3R4dCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFJlbGF4TkdOZXdQYXJzZXJDdHh0X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxSZWxheE5HTmV3UGFyc2VyQ3R4dAorZXh0ZXJuIF9fdHlwZW9mICh4bWxSZWxheE5HTmV3UGFyc2VyQ3R4dCkgeG1sUmVsYXhOR05ld1BhcnNlckN0eHRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxSZWxheE5HTmV3UGFyc2VyQ3R4dCB4bWxSZWxheE5HTmV3UGFyc2VyQ3R4dF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fcmVsYXhuZworI3VuZGVmIHhtbFJlbGF4TkdOZXdWYWxpZEN0eHQKK2V4dGVybiBfX3R5cGVvZiAoeG1sUmVsYXhOR05ld1ZhbGlkQ3R4dCkgeG1sUmVsYXhOR05ld1ZhbGlkQ3R4dCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFJlbGF4TkdOZXdWYWxpZEN0eHRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFJlbGF4TkdOZXdWYWxpZEN0eHQKK2V4dGVybiBfX3R5cGVvZiAoeG1sUmVsYXhOR05ld1ZhbGlkQ3R4dCkgeG1sUmVsYXhOR05ld1ZhbGlkQ3R4dF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFJlbGF4TkdOZXdWYWxpZEN0eHQgeG1sUmVsYXhOR05ld1ZhbGlkQ3R4dF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fcmVsYXhuZworI3VuZGVmIHhtbFJlbGF4TkdQYXJzZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxSZWxheE5HUGFyc2UpIHhtbFJlbGF4TkdQYXJzZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFJlbGF4TkdQYXJzZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sUmVsYXhOR1BhcnNlCitleHRlcm4gX190eXBlb2YgKHhtbFJlbGF4TkdQYXJzZSkgeG1sUmVsYXhOR1BhcnNlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sUmVsYXhOR1BhcnNlIHhtbFJlbGF4TkdQYXJzZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fcmVsYXhuZworI3VuZGVmIHhtbFJlbGF4TkdTZXRQYXJzZXJFcnJvcnMKK2V4dGVybiBfX3R5cGVvZiAoeG1sUmVsYXhOR1NldFBhcnNlckVycm9ycykgeG1sUmVsYXhOR1NldFBhcnNlckVycm9ycyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFJlbGF4TkdTZXRQYXJzZXJFcnJvcnNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFJlbGF4TkdTZXRQYXJzZXJFcnJvcnMKK2V4dGVybiBfX3R5cGVvZiAoeG1sUmVsYXhOR1NldFBhcnNlckVycm9ycykgeG1sUmVsYXhOR1NldFBhcnNlckVycm9yc19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFJlbGF4TkdTZXRQYXJzZXJFcnJvcnMgeG1sUmVsYXhOR1NldFBhcnNlckVycm9yc19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fcmVsYXhuZworI3VuZGVmIHhtbFJlbGF4TkdTZXRQYXJzZXJTdHJ1Y3R1cmVkRXJyb3JzCitleHRlcm4gX190eXBlb2YgKHhtbFJlbGF4TkdTZXRQYXJzZXJTdHJ1Y3R1cmVkRXJyb3JzKSB4bWxSZWxheE5HU2V0UGFyc2VyU3RydWN0dXJlZEVycm9ycyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFJlbGF4TkdTZXRQYXJzZXJTdHJ1Y3R1cmVkRXJyb3JzX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxSZWxheE5HU2V0UGFyc2VyU3RydWN0dXJlZEVycm9ycworZXh0ZXJuIF9fdHlwZW9mICh4bWxSZWxheE5HU2V0UGFyc2VyU3RydWN0dXJlZEVycm9ycykgeG1sUmVsYXhOR1NldFBhcnNlclN0cnVjdHVyZWRFcnJvcnNfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxSZWxheE5HU2V0UGFyc2VyU3RydWN0dXJlZEVycm9ycyB4bWxSZWxheE5HU2V0UGFyc2VyU3RydWN0dXJlZEVycm9yc19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fcmVsYXhuZworI3VuZGVmIHhtbFJlbGF4TkdTZXRWYWxpZEVycm9ycworZXh0ZXJuIF9fdHlwZW9mICh4bWxSZWxheE5HU2V0VmFsaWRFcnJvcnMpIHhtbFJlbGF4TkdTZXRWYWxpZEVycm9ycyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFJlbGF4TkdTZXRWYWxpZEVycm9yc19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sUmVsYXhOR1NldFZhbGlkRXJyb3JzCitleHRlcm4gX190eXBlb2YgKHhtbFJlbGF4TkdTZXRWYWxpZEVycm9ycykgeG1sUmVsYXhOR1NldFZhbGlkRXJyb3JzX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sUmVsYXhOR1NldFZhbGlkRXJyb3JzIHhtbFJlbGF4TkdTZXRWYWxpZEVycm9yc19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fcmVsYXhuZworI3VuZGVmIHhtbFJlbGF4TkdTZXRWYWxpZFN0cnVjdHVyZWRFcnJvcnMKK2V4dGVybiBfX3R5cGVvZiAoeG1sUmVsYXhOR1NldFZhbGlkU3RydWN0dXJlZEVycm9ycykgeG1sUmVsYXhOR1NldFZhbGlkU3RydWN0dXJlZEVycm9ycyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFJlbGF4TkdTZXRWYWxpZFN0cnVjdHVyZWRFcnJvcnNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFJlbGF4TkdTZXRWYWxpZFN0cnVjdHVyZWRFcnJvcnMKK2V4dGVybiBfX3R5cGVvZiAoeG1sUmVsYXhOR1NldFZhbGlkU3RydWN0dXJlZEVycm9ycykgeG1sUmVsYXhOR1NldFZhbGlkU3RydWN0dXJlZEVycm9yc19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFJlbGF4TkdTZXRWYWxpZFN0cnVjdHVyZWRFcnJvcnMgeG1sUmVsYXhOR1NldFZhbGlkU3RydWN0dXJlZEVycm9yc19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fcmVsYXhuZworI3VuZGVmIHhtbFJlbGF4TkdWYWxpZGF0ZURvYworZXh0ZXJuIF9fdHlwZW9mICh4bWxSZWxheE5HVmFsaWRhdGVEb2MpIHhtbFJlbGF4TkdWYWxpZGF0ZURvYyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFJlbGF4TkdWYWxpZGF0ZURvY19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sUmVsYXhOR1ZhbGlkYXRlRG9jCitleHRlcm4gX190eXBlb2YgKHhtbFJlbGF4TkdWYWxpZGF0ZURvYykgeG1sUmVsYXhOR1ZhbGlkYXRlRG9jX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sUmVsYXhOR1ZhbGlkYXRlRG9jIHhtbFJlbGF4TkdWYWxpZGF0ZURvY19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fcmVsYXhuZworI3VuZGVmIHhtbFJlbGF4TkdWYWxpZGF0ZUZ1bGxFbGVtZW50CitleHRlcm4gX190eXBlb2YgKHhtbFJlbGF4TkdWYWxpZGF0ZUZ1bGxFbGVtZW50KSB4bWxSZWxheE5HVmFsaWRhdGVGdWxsRWxlbWVudCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFJlbGF4TkdWYWxpZGF0ZUZ1bGxFbGVtZW50X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxSZWxheE5HVmFsaWRhdGVGdWxsRWxlbWVudAorZXh0ZXJuIF9fdHlwZW9mICh4bWxSZWxheE5HVmFsaWRhdGVGdWxsRWxlbWVudCkgeG1sUmVsYXhOR1ZhbGlkYXRlRnVsbEVsZW1lbnRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxSZWxheE5HVmFsaWRhdGVGdWxsRWxlbWVudCB4bWxSZWxheE5HVmFsaWRhdGVGdWxsRWxlbWVudF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fcmVsYXhuZworI3VuZGVmIHhtbFJlbGF4TkdWYWxpZGF0ZVBvcEVsZW1lbnQKK2V4dGVybiBfX3R5cGVvZiAoeG1sUmVsYXhOR1ZhbGlkYXRlUG9wRWxlbWVudCkgeG1sUmVsYXhOR1ZhbGlkYXRlUG9wRWxlbWVudCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFJlbGF4TkdWYWxpZGF0ZVBvcEVsZW1lbnRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFJlbGF4TkdWYWxpZGF0ZVBvcEVsZW1lbnQKK2V4dGVybiBfX3R5cGVvZiAoeG1sUmVsYXhOR1ZhbGlkYXRlUG9wRWxlbWVudCkgeG1sUmVsYXhOR1ZhbGlkYXRlUG9wRWxlbWVudF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFJlbGF4TkdWYWxpZGF0ZVBvcEVsZW1lbnQgeG1sUmVsYXhOR1ZhbGlkYXRlUG9wRWxlbWVudF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fcmVsYXhuZworI3VuZGVmIHhtbFJlbGF4TkdWYWxpZGF0ZVB1c2hDRGF0YQorZXh0ZXJuIF9fdHlwZW9mICh4bWxSZWxheE5HVmFsaWRhdGVQdXNoQ0RhdGEpIHhtbFJlbGF4TkdWYWxpZGF0ZVB1c2hDRGF0YSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFJlbGF4TkdWYWxpZGF0ZVB1c2hDRGF0YV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sUmVsYXhOR1ZhbGlkYXRlUHVzaENEYXRhCitleHRlcm4gX190eXBlb2YgKHhtbFJlbGF4TkdWYWxpZGF0ZVB1c2hDRGF0YSkgeG1sUmVsYXhOR1ZhbGlkYXRlUHVzaENEYXRhX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sUmVsYXhOR1ZhbGlkYXRlUHVzaENEYXRhIHhtbFJlbGF4TkdWYWxpZGF0ZVB1c2hDRGF0YV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fcmVsYXhuZworI3VuZGVmIHhtbFJlbGF4TkdWYWxpZGF0ZVB1c2hFbGVtZW50CitleHRlcm4gX190eXBlb2YgKHhtbFJlbGF4TkdWYWxpZGF0ZVB1c2hFbGVtZW50KSB4bWxSZWxheE5HVmFsaWRhdGVQdXNoRWxlbWVudCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFJlbGF4TkdWYWxpZGF0ZVB1c2hFbGVtZW50X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxSZWxheE5HVmFsaWRhdGVQdXNoRWxlbWVudAorZXh0ZXJuIF9fdHlwZW9mICh4bWxSZWxheE5HVmFsaWRhdGVQdXNoRWxlbWVudCkgeG1sUmVsYXhOR1ZhbGlkYXRlUHVzaEVsZW1lbnRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxSZWxheE5HVmFsaWRhdGVQdXNoRWxlbWVudCB4bWxSZWxheE5HVmFsaWRhdGVQdXNoRWxlbWVudF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fcmVsYXhuZworI3VuZGVmIHhtbFJlbGF4UGFyc2VyU2V0RmxhZworZXh0ZXJuIF9fdHlwZW9mICh4bWxSZWxheFBhcnNlclNldEZsYWcpIHhtbFJlbGF4UGFyc2VyU2V0RmxhZyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFJlbGF4UGFyc2VyU2V0RmxhZ19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sUmVsYXhQYXJzZXJTZXRGbGFnCitleHRlcm4gX190eXBlb2YgKHhtbFJlbGF4UGFyc2VyU2V0RmxhZykgeG1sUmVsYXhQYXJzZXJTZXRGbGFnX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sUmVsYXhQYXJzZXJTZXRGbGFnIHhtbFJlbGF4UGFyc2VyU2V0RmxhZ19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV92YWxpZAorI3VuZGVmIHhtbFJlbW92ZUlECitleHRlcm4gX190eXBlb2YgKHhtbFJlbW92ZUlEKSB4bWxSZW1vdmVJRCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFJlbW92ZUlEX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxSZW1vdmVJRAorZXh0ZXJuIF9fdHlwZW9mICh4bWxSZW1vdmVJRCkgeG1sUmVtb3ZlSURfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxSZW1vdmVJRCB4bWxSZW1vdmVJRF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fdHJlZQorI3VuZGVmIHhtbFJlbW92ZVByb3AKK2V4dGVybiBfX3R5cGVvZiAoeG1sUmVtb3ZlUHJvcCkgeG1sUmVtb3ZlUHJvcCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFJlbW92ZVByb3BfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFJlbW92ZVByb3AKK2V4dGVybiBfX3R5cGVvZiAoeG1sUmVtb3ZlUHJvcCkgeG1sUmVtb3ZlUHJvcF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFJlbW92ZVByb3AgeG1sUmVtb3ZlUHJvcF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fdmFsaWQKKyN1bmRlZiB4bWxSZW1vdmVSZWYKK2V4dGVybiBfX3R5cGVvZiAoeG1sUmVtb3ZlUmVmKSB4bWxSZW1vdmVSZWYgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxSZW1vdmVSZWZfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFJlbW92ZVJlZgorZXh0ZXJuIF9fdHlwZW9mICh4bWxSZW1vdmVSZWYpIHhtbFJlbW92ZVJlZl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFJlbW92ZVJlZiB4bWxSZW1vdmVSZWZfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVFJFRV9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fdHJlZQorI3VuZGVmIHhtbFJlcGxhY2VOb2RlCitleHRlcm4gX190eXBlb2YgKHhtbFJlcGxhY2VOb2RlKSB4bWxSZXBsYWNlTm9kZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFJlcGxhY2VOb2RlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxSZXBsYWNlTm9kZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxSZXBsYWNlTm9kZSkgeG1sUmVwbGFjZU5vZGVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxSZXBsYWNlTm9kZSB4bWxSZXBsYWNlTm9kZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9lcnJvcgorI3VuZGVmIHhtbFJlc2V0RXJyb3IKK2V4dGVybiBfX3R5cGVvZiAoeG1sUmVzZXRFcnJvcikgeG1sUmVzZXRFcnJvciBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFJlc2V0RXJyb3JfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFJlc2V0RXJyb3IKK2V4dGVybiBfX3R5cGVvZiAoeG1sUmVzZXRFcnJvcikgeG1sUmVzZXRFcnJvcl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFJlc2V0RXJyb3IgeG1sUmVzZXRFcnJvcl9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fZXJyb3IKKyN1bmRlZiB4bWxSZXNldExhc3RFcnJvcgorZXh0ZXJuIF9fdHlwZW9mICh4bWxSZXNldExhc3RFcnJvcikgeG1sUmVzZXRMYXN0RXJyb3IgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxSZXNldExhc3RFcnJvcl9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sUmVzZXRMYXN0RXJyb3IKK2V4dGVybiBfX3R5cGVvZiAoeG1sUmVzZXRMYXN0RXJyb3IpIHhtbFJlc2V0TGFzdEVycm9yX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sUmVzZXRMYXN0RXJyb3IgeG1sUmVzZXRMYXN0RXJyb3JfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX1NBWDIKKyN1bmRlZiB4bWxTQVgyQXR0cmlidXRlRGVjbAorZXh0ZXJuIF9fdHlwZW9mICh4bWxTQVgyQXR0cmlidXRlRGVjbCkgeG1sU0FYMkF0dHJpYnV0ZURlY2wgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTQVgyQXR0cmlidXRlRGVjbF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU0FYMkF0dHJpYnV0ZURlY2wKK2V4dGVybiBfX3R5cGVvZiAoeG1sU0FYMkF0dHJpYnV0ZURlY2wpIHhtbFNBWDJBdHRyaWJ1dGVEZWNsX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU0FYMkF0dHJpYnV0ZURlY2wgeG1sU0FYMkF0dHJpYnV0ZURlY2xfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX1NBWDIKKyN1bmRlZiB4bWxTQVgyQ0RhdGFCbG9jaworZXh0ZXJuIF9fdHlwZW9mICh4bWxTQVgyQ0RhdGFCbG9jaykgeG1sU0FYMkNEYXRhQmxvY2sgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTQVgyQ0RhdGFCbG9ja19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU0FYMkNEYXRhQmxvY2sKK2V4dGVybiBfX3R5cGVvZiAoeG1sU0FYMkNEYXRhQmxvY2spIHhtbFNBWDJDRGF0YUJsb2NrX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU0FYMkNEYXRhQmxvY2sgeG1sU0FYMkNEYXRhQmxvY2tfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX1NBWDIKKyN1bmRlZiB4bWxTQVgyQ2hhcmFjdGVycworZXh0ZXJuIF9fdHlwZW9mICh4bWxTQVgyQ2hhcmFjdGVycykgeG1sU0FYMkNoYXJhY3RlcnMgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTQVgyQ2hhcmFjdGVyc19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU0FYMkNoYXJhY3RlcnMKK2V4dGVybiBfX3R5cGVvZiAoeG1sU0FYMkNoYXJhY3RlcnMpIHhtbFNBWDJDaGFyYWN0ZXJzX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU0FYMkNoYXJhY3RlcnMgeG1sU0FYMkNoYXJhY3RlcnNfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX1NBWDIKKyN1bmRlZiB4bWxTQVgyQ29tbWVudAorZXh0ZXJuIF9fdHlwZW9mICh4bWxTQVgyQ29tbWVudCkgeG1sU0FYMkNvbW1lbnQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTQVgyQ29tbWVudF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU0FYMkNvbW1lbnQKK2V4dGVybiBfX3R5cGVvZiAoeG1sU0FYMkNvbW1lbnQpIHhtbFNBWDJDb21tZW50X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU0FYMkNvbW1lbnQgeG1sU0FYMkNvbW1lbnRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX1NBWDIKKyN1bmRlZiB4bWxTQVgyRWxlbWVudERlY2wKK2V4dGVybiBfX3R5cGVvZiAoeG1sU0FYMkVsZW1lbnREZWNsKSB4bWxTQVgyRWxlbWVudERlY2wgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTQVgyRWxlbWVudERlY2xfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFNBWDJFbGVtZW50RGVjbAorZXh0ZXJuIF9fdHlwZW9mICh4bWxTQVgyRWxlbWVudERlY2wpIHhtbFNBWDJFbGVtZW50RGVjbF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFNBWDJFbGVtZW50RGVjbCB4bWxTQVgyRWxlbWVudERlY2xfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX1NBWDIKKyN1bmRlZiB4bWxTQVgyRW5kRG9jdW1lbnQKK2V4dGVybiBfX3R5cGVvZiAoeG1sU0FYMkVuZERvY3VtZW50KSB4bWxTQVgyRW5kRG9jdW1lbnQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTQVgyRW5kRG9jdW1lbnRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFNBWDJFbmREb2N1bWVudAorZXh0ZXJuIF9fdHlwZW9mICh4bWxTQVgyRW5kRG9jdW1lbnQpIHhtbFNBWDJFbmREb2N1bWVudF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFNBWDJFbmREb2N1bWVudCB4bWxTQVgyRW5kRG9jdW1lbnRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfU0FYMV9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9ET0NCX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX0xFR0FDWV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9TQVgyCisjdW5kZWYgeG1sU0FYMkVuZEVsZW1lbnQKK2V4dGVybiBfX3R5cGVvZiAoeG1sU0FYMkVuZEVsZW1lbnQpIHhtbFNBWDJFbmRFbGVtZW50IF9fYXR0cmlidXRlKChhbGlhcygieG1sU0FYMkVuZEVsZW1lbnRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFNBWDJFbmRFbGVtZW50CitleHRlcm4gX190eXBlb2YgKHhtbFNBWDJFbmRFbGVtZW50KSB4bWxTQVgyRW5kRWxlbWVudF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFNBWDJFbmRFbGVtZW50IHhtbFNBWDJFbmRFbGVtZW50X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX1NBWDIKKyN1bmRlZiB4bWxTQVgyRW5kRWxlbWVudE5zCitleHRlcm4gX190eXBlb2YgKHhtbFNBWDJFbmRFbGVtZW50TnMpIHhtbFNBWDJFbmRFbGVtZW50TnMgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTQVgyRW5kRWxlbWVudE5zX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxTQVgyRW5kRWxlbWVudE5zCitleHRlcm4gX190eXBlb2YgKHhtbFNBWDJFbmRFbGVtZW50TnMpIHhtbFNBWDJFbmRFbGVtZW50TnNfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxTQVgyRW5kRWxlbWVudE5zIHhtbFNBWDJFbmRFbGVtZW50TnNfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX1NBWDIKKyN1bmRlZiB4bWxTQVgyRW50aXR5RGVjbAorZXh0ZXJuIF9fdHlwZW9mICh4bWxTQVgyRW50aXR5RGVjbCkgeG1sU0FYMkVudGl0eURlY2wgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTQVgyRW50aXR5RGVjbF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU0FYMkVudGl0eURlY2wKK2V4dGVybiBfX3R5cGVvZiAoeG1sU0FYMkVudGl0eURlY2wpIHhtbFNBWDJFbnRpdHlEZWNsX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU0FYMkVudGl0eURlY2wgeG1sU0FYMkVudGl0eURlY2xfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX1NBWDIKKyN1bmRlZiB4bWxTQVgyRXh0ZXJuYWxTdWJzZXQKK2V4dGVybiBfX3R5cGVvZiAoeG1sU0FYMkV4dGVybmFsU3Vic2V0KSB4bWxTQVgyRXh0ZXJuYWxTdWJzZXQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTQVgyRXh0ZXJuYWxTdWJzZXRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFNBWDJFeHRlcm5hbFN1YnNldAorZXh0ZXJuIF9fdHlwZW9mICh4bWxTQVgyRXh0ZXJuYWxTdWJzZXQpIHhtbFNBWDJFeHRlcm5hbFN1YnNldF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFNBWDJFeHRlcm5hbFN1YnNldCB4bWxTQVgyRXh0ZXJuYWxTdWJzZXRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX1NBWDIKKyN1bmRlZiB4bWxTQVgyR2V0Q29sdW1uTnVtYmVyCitleHRlcm4gX190eXBlb2YgKHhtbFNBWDJHZXRDb2x1bW5OdW1iZXIpIHhtbFNBWDJHZXRDb2x1bW5OdW1iZXIgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTQVgyR2V0Q29sdW1uTnVtYmVyX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxTQVgyR2V0Q29sdW1uTnVtYmVyCitleHRlcm4gX190eXBlb2YgKHhtbFNBWDJHZXRDb2x1bW5OdW1iZXIpIHhtbFNBWDJHZXRDb2x1bW5OdW1iZXJfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxTQVgyR2V0Q29sdW1uTnVtYmVyIHhtbFNBWDJHZXRDb2x1bW5OdW1iZXJfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX1NBWDIKKyN1bmRlZiB4bWxTQVgyR2V0RW50aXR5CitleHRlcm4gX190eXBlb2YgKHhtbFNBWDJHZXRFbnRpdHkpIHhtbFNBWDJHZXRFbnRpdHkgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTQVgyR2V0RW50aXR5X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxTQVgyR2V0RW50aXR5CitleHRlcm4gX190eXBlb2YgKHhtbFNBWDJHZXRFbnRpdHkpIHhtbFNBWDJHZXRFbnRpdHlfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxTQVgyR2V0RW50aXR5IHhtbFNBWDJHZXRFbnRpdHlfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX1NBWDIKKyN1bmRlZiB4bWxTQVgyR2V0TGluZU51bWJlcgorZXh0ZXJuIF9fdHlwZW9mICh4bWxTQVgyR2V0TGluZU51bWJlcikgeG1sU0FYMkdldExpbmVOdW1iZXIgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTQVgyR2V0TGluZU51bWJlcl9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU0FYMkdldExpbmVOdW1iZXIKK2V4dGVybiBfX3R5cGVvZiAoeG1sU0FYMkdldExpbmVOdW1iZXIpIHhtbFNBWDJHZXRMaW5lTnVtYmVyX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU0FYMkdldExpbmVOdW1iZXIgeG1sU0FYMkdldExpbmVOdW1iZXJfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX1NBWDIKKyN1bmRlZiB4bWxTQVgyR2V0UGFyYW1ldGVyRW50aXR5CitleHRlcm4gX190eXBlb2YgKHhtbFNBWDJHZXRQYXJhbWV0ZXJFbnRpdHkpIHhtbFNBWDJHZXRQYXJhbWV0ZXJFbnRpdHkgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTQVgyR2V0UGFyYW1ldGVyRW50aXR5X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxTQVgyR2V0UGFyYW1ldGVyRW50aXR5CitleHRlcm4gX190eXBlb2YgKHhtbFNBWDJHZXRQYXJhbWV0ZXJFbnRpdHkpIHhtbFNBWDJHZXRQYXJhbWV0ZXJFbnRpdHlfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxTQVgyR2V0UGFyYW1ldGVyRW50aXR5IHhtbFNBWDJHZXRQYXJhbWV0ZXJFbnRpdHlfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX1NBWDIKKyN1bmRlZiB4bWxTQVgyR2V0UHVibGljSWQKK2V4dGVybiBfX3R5cGVvZiAoeG1sU0FYMkdldFB1YmxpY0lkKSB4bWxTQVgyR2V0UHVibGljSWQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTQVgyR2V0UHVibGljSWRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFNBWDJHZXRQdWJsaWNJZAorZXh0ZXJuIF9fdHlwZW9mICh4bWxTQVgyR2V0UHVibGljSWQpIHhtbFNBWDJHZXRQdWJsaWNJZF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFNBWDJHZXRQdWJsaWNJZCB4bWxTQVgyR2V0UHVibGljSWRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX1NBWDIKKyN1bmRlZiB4bWxTQVgyR2V0U3lzdGVtSWQKK2V4dGVybiBfX3R5cGVvZiAoeG1sU0FYMkdldFN5c3RlbUlkKSB4bWxTQVgyR2V0U3lzdGVtSWQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTQVgyR2V0U3lzdGVtSWRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFNBWDJHZXRTeXN0ZW1JZAorZXh0ZXJuIF9fdHlwZW9mICh4bWxTQVgyR2V0U3lzdGVtSWQpIHhtbFNBWDJHZXRTeXN0ZW1JZF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFNBWDJHZXRTeXN0ZW1JZCB4bWxTQVgyR2V0U3lzdGVtSWRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX1NBWDIKKyN1bmRlZiB4bWxTQVgySGFzRXh0ZXJuYWxTdWJzZXQKK2V4dGVybiBfX3R5cGVvZiAoeG1sU0FYMkhhc0V4dGVybmFsU3Vic2V0KSB4bWxTQVgySGFzRXh0ZXJuYWxTdWJzZXQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTQVgySGFzRXh0ZXJuYWxTdWJzZXRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFNBWDJIYXNFeHRlcm5hbFN1YnNldAorZXh0ZXJuIF9fdHlwZW9mICh4bWxTQVgySGFzRXh0ZXJuYWxTdWJzZXQpIHhtbFNBWDJIYXNFeHRlcm5hbFN1YnNldF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFNBWDJIYXNFeHRlcm5hbFN1YnNldCB4bWxTQVgySGFzRXh0ZXJuYWxTdWJzZXRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX1NBWDIKKyN1bmRlZiB4bWxTQVgySGFzSW50ZXJuYWxTdWJzZXQKK2V4dGVybiBfX3R5cGVvZiAoeG1sU0FYMkhhc0ludGVybmFsU3Vic2V0KSB4bWxTQVgySGFzSW50ZXJuYWxTdWJzZXQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTQVgySGFzSW50ZXJuYWxTdWJzZXRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFNBWDJIYXNJbnRlcm5hbFN1YnNldAorZXh0ZXJuIF9fdHlwZW9mICh4bWxTQVgySGFzSW50ZXJuYWxTdWJzZXQpIHhtbFNBWDJIYXNJbnRlcm5hbFN1YnNldF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFNBWDJIYXNJbnRlcm5hbFN1YnNldCB4bWxTQVgySGFzSW50ZXJuYWxTdWJzZXRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX1NBWDIKKyN1bmRlZiB4bWxTQVgySWdub3JhYmxlV2hpdGVzcGFjZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxTQVgySWdub3JhYmxlV2hpdGVzcGFjZSkgeG1sU0FYMklnbm9yYWJsZVdoaXRlc3BhY2UgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTQVgySWdub3JhYmxlV2hpdGVzcGFjZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU0FYMklnbm9yYWJsZVdoaXRlc3BhY2UKK2V4dGVybiBfX3R5cGVvZiAoeG1sU0FYMklnbm9yYWJsZVdoaXRlc3BhY2UpIHhtbFNBWDJJZ25vcmFibGVXaGl0ZXNwYWNlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU0FYMklnbm9yYWJsZVdoaXRlc3BhY2UgeG1sU0FYMklnbm9yYWJsZVdoaXRlc3BhY2VfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX1NBWDIKKyN1bmRlZiB4bWxTQVgySW5pdERlZmF1bHRTQVhIYW5kbGVyCitleHRlcm4gX190eXBlb2YgKHhtbFNBWDJJbml0RGVmYXVsdFNBWEhhbmRsZXIpIHhtbFNBWDJJbml0RGVmYXVsdFNBWEhhbmRsZXIgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTQVgySW5pdERlZmF1bHRTQVhIYW5kbGVyX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxTQVgySW5pdERlZmF1bHRTQVhIYW5kbGVyCitleHRlcm4gX190eXBlb2YgKHhtbFNBWDJJbml0RGVmYXVsdFNBWEhhbmRsZXIpIHhtbFNBWDJJbml0RGVmYXVsdFNBWEhhbmRsZXJfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxTQVgySW5pdERlZmF1bHRTQVhIYW5kbGVyIHhtbFNBWDJJbml0RGVmYXVsdFNBWEhhbmRsZXJfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfRE9DQl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9TQVgyCisjdW5kZWYgeG1sU0FYMkluaXREb2NiRGVmYXVsdFNBWEhhbmRsZXIKK2V4dGVybiBfX3R5cGVvZiAoeG1sU0FYMkluaXREb2NiRGVmYXVsdFNBWEhhbmRsZXIpIHhtbFNBWDJJbml0RG9jYkRlZmF1bHRTQVhIYW5kbGVyIF9fYXR0cmlidXRlKChhbGlhcygieG1sU0FYMkluaXREb2NiRGVmYXVsdFNBWEhhbmRsZXJfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFNBWDJJbml0RG9jYkRlZmF1bHRTQVhIYW5kbGVyCitleHRlcm4gX190eXBlb2YgKHhtbFNBWDJJbml0RG9jYkRlZmF1bHRTQVhIYW5kbGVyKSB4bWxTQVgySW5pdERvY2JEZWZhdWx0U0FYSGFuZGxlcl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFNBWDJJbml0RG9jYkRlZmF1bHRTQVhIYW5kbGVyIHhtbFNBWDJJbml0RG9jYkRlZmF1bHRTQVhIYW5kbGVyX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9TQVgyCisjdW5kZWYgeG1sU0FYMkluaXRIdG1sRGVmYXVsdFNBWEhhbmRsZXIKK2V4dGVybiBfX3R5cGVvZiAoeG1sU0FYMkluaXRIdG1sRGVmYXVsdFNBWEhhbmRsZXIpIHhtbFNBWDJJbml0SHRtbERlZmF1bHRTQVhIYW5kbGVyIF9fYXR0cmlidXRlKChhbGlhcygieG1sU0FYMkluaXRIdG1sRGVmYXVsdFNBWEhhbmRsZXJfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFNBWDJJbml0SHRtbERlZmF1bHRTQVhIYW5kbGVyCitleHRlcm4gX190eXBlb2YgKHhtbFNBWDJJbml0SHRtbERlZmF1bHRTQVhIYW5kbGVyKSB4bWxTQVgySW5pdEh0bWxEZWZhdWx0U0FYSGFuZGxlcl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFNBWDJJbml0SHRtbERlZmF1bHRTQVhIYW5kbGVyIHhtbFNBWDJJbml0SHRtbERlZmF1bHRTQVhIYW5kbGVyX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX1NBWDIKKyN1bmRlZiB4bWxTQVgySW50ZXJuYWxTdWJzZXQKK2V4dGVybiBfX3R5cGVvZiAoeG1sU0FYMkludGVybmFsU3Vic2V0KSB4bWxTQVgySW50ZXJuYWxTdWJzZXQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTQVgySW50ZXJuYWxTdWJzZXRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFNBWDJJbnRlcm5hbFN1YnNldAorZXh0ZXJuIF9fdHlwZW9mICh4bWxTQVgySW50ZXJuYWxTdWJzZXQpIHhtbFNBWDJJbnRlcm5hbFN1YnNldF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFNBWDJJbnRlcm5hbFN1YnNldCB4bWxTQVgySW50ZXJuYWxTdWJzZXRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX1NBWDIKKyN1bmRlZiB4bWxTQVgySXNTdGFuZGFsb25lCitleHRlcm4gX190eXBlb2YgKHhtbFNBWDJJc1N0YW5kYWxvbmUpIHhtbFNBWDJJc1N0YW5kYWxvbmUgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTQVgySXNTdGFuZGFsb25lX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxTQVgySXNTdGFuZGFsb25lCitleHRlcm4gX190eXBlb2YgKHhtbFNBWDJJc1N0YW5kYWxvbmUpIHhtbFNBWDJJc1N0YW5kYWxvbmVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxTQVgySXNTdGFuZGFsb25lIHhtbFNBWDJJc1N0YW5kYWxvbmVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX1NBWDIKKyN1bmRlZiB4bWxTQVgyTm90YXRpb25EZWNsCitleHRlcm4gX190eXBlb2YgKHhtbFNBWDJOb3RhdGlvbkRlY2wpIHhtbFNBWDJOb3RhdGlvbkRlY2wgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTQVgyTm90YXRpb25EZWNsX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxTQVgyTm90YXRpb25EZWNsCitleHRlcm4gX190eXBlb2YgKHhtbFNBWDJOb3RhdGlvbkRlY2wpIHhtbFNBWDJOb3RhdGlvbkRlY2xfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxTQVgyTm90YXRpb25EZWNsIHhtbFNBWDJOb3RhdGlvbkRlY2xfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX1NBWDIKKyN1bmRlZiB4bWxTQVgyUHJvY2Vzc2luZ0luc3RydWN0aW9uCitleHRlcm4gX190eXBlb2YgKHhtbFNBWDJQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24pIHhtbFNBWDJQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24gX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTQVgyUHJvY2Vzc2luZ0luc3RydWN0aW9uX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxTQVgyUHJvY2Vzc2luZ0luc3RydWN0aW9uCitleHRlcm4gX190eXBlb2YgKHhtbFNBWDJQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24pIHhtbFNBWDJQcm9jZXNzaW5nSW5zdHJ1Y3Rpb25fX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxTQVgyUHJvY2Vzc2luZ0luc3RydWN0aW9uIHhtbFNBWDJQcm9jZXNzaW5nSW5zdHJ1Y3Rpb25fX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX1NBWDIKKyN1bmRlZiB4bWxTQVgyUmVmZXJlbmNlCitleHRlcm4gX190eXBlb2YgKHhtbFNBWDJSZWZlcmVuY2UpIHhtbFNBWDJSZWZlcmVuY2UgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTQVgyUmVmZXJlbmNlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxTQVgyUmVmZXJlbmNlCitleHRlcm4gX190eXBlb2YgKHhtbFNBWDJSZWZlcmVuY2UpIHhtbFNBWDJSZWZlcmVuY2VfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxTQVgyUmVmZXJlbmNlIHhtbFNBWDJSZWZlcmVuY2VfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX1NBWDIKKyN1bmRlZiB4bWxTQVgyUmVzb2x2ZUVudGl0eQorZXh0ZXJuIF9fdHlwZW9mICh4bWxTQVgyUmVzb2x2ZUVudGl0eSkgeG1sU0FYMlJlc29sdmVFbnRpdHkgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTQVgyUmVzb2x2ZUVudGl0eV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU0FYMlJlc29sdmVFbnRpdHkKK2V4dGVybiBfX3R5cGVvZiAoeG1sU0FYMlJlc29sdmVFbnRpdHkpIHhtbFNBWDJSZXNvbHZlRW50aXR5X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU0FYMlJlc29sdmVFbnRpdHkgeG1sU0FYMlJlc29sdmVFbnRpdHlfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX1NBWDIKKyN1bmRlZiB4bWxTQVgyU2V0RG9jdW1lbnRMb2NhdG9yCitleHRlcm4gX190eXBlb2YgKHhtbFNBWDJTZXREb2N1bWVudExvY2F0b3IpIHhtbFNBWDJTZXREb2N1bWVudExvY2F0b3IgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTQVgyU2V0RG9jdW1lbnRMb2NhdG9yX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxTQVgyU2V0RG9jdW1lbnRMb2NhdG9yCitleHRlcm4gX190eXBlb2YgKHhtbFNBWDJTZXREb2N1bWVudExvY2F0b3IpIHhtbFNBWDJTZXREb2N1bWVudExvY2F0b3JfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxTQVgyU2V0RG9jdW1lbnRMb2NhdG9yIHhtbFNBWDJTZXREb2N1bWVudExvY2F0b3JfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX1NBWDIKKyN1bmRlZiB4bWxTQVgyU3RhcnREb2N1bWVudAorZXh0ZXJuIF9fdHlwZW9mICh4bWxTQVgyU3RhcnREb2N1bWVudCkgeG1sU0FYMlN0YXJ0RG9jdW1lbnQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTQVgyU3RhcnREb2N1bWVudF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU0FYMlN0YXJ0RG9jdW1lbnQKK2V4dGVybiBfX3R5cGVvZiAoeG1sU0FYMlN0YXJ0RG9jdW1lbnQpIHhtbFNBWDJTdGFydERvY3VtZW50X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU0FYMlN0YXJ0RG9jdW1lbnQgeG1sU0FYMlN0YXJ0RG9jdW1lbnRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfU0FYMV9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9ET0NCX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX0xFR0FDWV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9TQVgyCisjdW5kZWYgeG1sU0FYMlN0YXJ0RWxlbWVudAorZXh0ZXJuIF9fdHlwZW9mICh4bWxTQVgyU3RhcnRFbGVtZW50KSB4bWxTQVgyU3RhcnRFbGVtZW50IF9fYXR0cmlidXRlKChhbGlhcygieG1sU0FYMlN0YXJ0RWxlbWVudF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU0FYMlN0YXJ0RWxlbWVudAorZXh0ZXJuIF9fdHlwZW9mICh4bWxTQVgyU3RhcnRFbGVtZW50KSB4bWxTQVgyU3RhcnRFbGVtZW50X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU0FYMlN0YXJ0RWxlbWVudCB4bWxTQVgyU3RhcnRFbGVtZW50X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX1NBWDIKKyN1bmRlZiB4bWxTQVgyU3RhcnRFbGVtZW50TnMKK2V4dGVybiBfX3R5cGVvZiAoeG1sU0FYMlN0YXJ0RWxlbWVudE5zKSB4bWxTQVgyU3RhcnRFbGVtZW50TnMgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTQVgyU3RhcnRFbGVtZW50TnNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFNBWDJTdGFydEVsZW1lbnROcworZXh0ZXJuIF9fdHlwZW9mICh4bWxTQVgyU3RhcnRFbGVtZW50TnMpIHhtbFNBWDJTdGFydEVsZW1lbnROc19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFNBWDJTdGFydEVsZW1lbnROcyB4bWxTQVgyU3RhcnRFbGVtZW50TnNfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX1NBWDIKKyN1bmRlZiB4bWxTQVgyVW5wYXJzZWRFbnRpdHlEZWNsCitleHRlcm4gX190eXBlb2YgKHhtbFNBWDJVbnBhcnNlZEVudGl0eURlY2wpIHhtbFNBWDJVbnBhcnNlZEVudGl0eURlY2wgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTQVgyVW5wYXJzZWRFbnRpdHlEZWNsX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxTQVgyVW5wYXJzZWRFbnRpdHlEZWNsCitleHRlcm4gX190eXBlb2YgKHhtbFNBWDJVbnBhcnNlZEVudGl0eURlY2wpIHhtbFNBWDJVbnBhcnNlZEVudGl0eURlY2xfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxTQVgyVW5wYXJzZWRFbnRpdHlEZWNsIHhtbFNBWDJVbnBhcnNlZEVudGl0eURlY2xfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfU0FYMV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9TQVgyCisjdW5kZWYgeG1sU0FYRGVmYXVsdFZlcnNpb24KK2V4dGVybiBfX3R5cGVvZiAoeG1sU0FYRGVmYXVsdFZlcnNpb24pIHhtbFNBWERlZmF1bHRWZXJzaW9uIF9fYXR0cmlidXRlKChhbGlhcygieG1sU0FYRGVmYXVsdFZlcnNpb25fX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFNBWERlZmF1bHRWZXJzaW9uCitleHRlcm4gX190eXBlb2YgKHhtbFNBWERlZmF1bHRWZXJzaW9uKSB4bWxTQVhEZWZhdWx0VmVyc2lvbl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFNBWERlZmF1bHRWZXJzaW9uIHhtbFNBWERlZmF1bHRWZXJzaW9uX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVkFMSURfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fcGFyc2VyCisjdW5kZWYgeG1sU0FYUGFyc2VEVEQKK2V4dGVybiBfX3R5cGVvZiAoeG1sU0FYUGFyc2VEVEQpIHhtbFNBWFBhcnNlRFREIF9fYXR0cmlidXRlKChhbGlhcygieG1sU0FYUGFyc2VEVERfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFNBWFBhcnNlRFRECitleHRlcm4gX190eXBlb2YgKHhtbFNBWFBhcnNlRFREKSB4bWxTQVhQYXJzZURURF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFNBWFBhcnNlRFREIHhtbFNBWFBhcnNlRFREX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfU0FYMV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9wYXJzZXIKKyN1bmRlZiB4bWxTQVhQYXJzZURvYworZXh0ZXJuIF9fdHlwZW9mICh4bWxTQVhQYXJzZURvYykgeG1sU0FYUGFyc2VEb2MgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTQVhQYXJzZURvY19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU0FYUGFyc2VEb2MKK2V4dGVybiBfX3R5cGVvZiAoeG1sU0FYUGFyc2VEb2MpIHhtbFNBWFBhcnNlRG9jX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU0FYUGFyc2VEb2MgeG1sU0FYUGFyc2VEb2NfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9TQVgxX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3BhcnNlcgorI3VuZGVmIHhtbFNBWFBhcnNlRW50aXR5CitleHRlcm4gX190eXBlb2YgKHhtbFNBWFBhcnNlRW50aXR5KSB4bWxTQVhQYXJzZUVudGl0eSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFNBWFBhcnNlRW50aXR5X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxTQVhQYXJzZUVudGl0eQorZXh0ZXJuIF9fdHlwZW9mICh4bWxTQVhQYXJzZUVudGl0eSkgeG1sU0FYUGFyc2VFbnRpdHlfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxTQVhQYXJzZUVudGl0eSB4bWxTQVhQYXJzZUVudGl0eV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1NBWDFfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fcGFyc2VyCisjdW5kZWYgeG1sU0FYUGFyc2VGaWxlCitleHRlcm4gX190eXBlb2YgKHhtbFNBWFBhcnNlRmlsZSkgeG1sU0FYUGFyc2VGaWxlIF9fYXR0cmlidXRlKChhbGlhcygieG1sU0FYUGFyc2VGaWxlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxTQVhQYXJzZUZpbGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sU0FYUGFyc2VGaWxlKSB4bWxTQVhQYXJzZUZpbGVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxTQVhQYXJzZUZpbGUgeG1sU0FYUGFyc2VGaWxlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfU0FYMV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9wYXJzZXIKKyN1bmRlZiB4bWxTQVhQYXJzZUZpbGVXaXRoRGF0YQorZXh0ZXJuIF9fdHlwZW9mICh4bWxTQVhQYXJzZUZpbGVXaXRoRGF0YSkgeG1sU0FYUGFyc2VGaWxlV2l0aERhdGEgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTQVhQYXJzZUZpbGVXaXRoRGF0YV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU0FYUGFyc2VGaWxlV2l0aERhdGEKK2V4dGVybiBfX3R5cGVvZiAoeG1sU0FYUGFyc2VGaWxlV2l0aERhdGEpIHhtbFNBWFBhcnNlRmlsZVdpdGhEYXRhX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU0FYUGFyc2VGaWxlV2l0aERhdGEgeG1sU0FYUGFyc2VGaWxlV2l0aERhdGFfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9TQVgxX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3BhcnNlcgorI3VuZGVmIHhtbFNBWFBhcnNlTWVtb3J5CitleHRlcm4gX190eXBlb2YgKHhtbFNBWFBhcnNlTWVtb3J5KSB4bWxTQVhQYXJzZU1lbW9yeSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFNBWFBhcnNlTWVtb3J5X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxTQVhQYXJzZU1lbW9yeQorZXh0ZXJuIF9fdHlwZW9mICh4bWxTQVhQYXJzZU1lbW9yeSkgeG1sU0FYUGFyc2VNZW1vcnlfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxTQVhQYXJzZU1lbW9yeSB4bWxTQVhQYXJzZU1lbW9yeV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1NBWDFfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fcGFyc2VyCisjdW5kZWYgeG1sU0FYUGFyc2VNZW1vcnlXaXRoRGF0YQorZXh0ZXJuIF9fdHlwZW9mICh4bWxTQVhQYXJzZU1lbW9yeVdpdGhEYXRhKSB4bWxTQVhQYXJzZU1lbW9yeVdpdGhEYXRhIF9fYXR0cmlidXRlKChhbGlhcygieG1sU0FYUGFyc2VNZW1vcnlXaXRoRGF0YV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU0FYUGFyc2VNZW1vcnlXaXRoRGF0YQorZXh0ZXJuIF9fdHlwZW9mICh4bWxTQVhQYXJzZU1lbW9yeVdpdGhEYXRhKSB4bWxTQVhQYXJzZU1lbW9yeVdpdGhEYXRhX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU0FYUGFyc2VNZW1vcnlXaXRoRGF0YSB4bWxTQVhQYXJzZU1lbW9yeVdpdGhEYXRhX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfU0FYMV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9wYXJzZXIKKyN1bmRlZiB4bWxTQVhVc2VyUGFyc2VGaWxlCitleHRlcm4gX190eXBlb2YgKHhtbFNBWFVzZXJQYXJzZUZpbGUpIHhtbFNBWFVzZXJQYXJzZUZpbGUgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTQVhVc2VyUGFyc2VGaWxlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxTQVhVc2VyUGFyc2VGaWxlCitleHRlcm4gX190eXBlb2YgKHhtbFNBWFVzZXJQYXJzZUZpbGUpIHhtbFNBWFVzZXJQYXJzZUZpbGVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxTQVhVc2VyUGFyc2VGaWxlIHhtbFNBWFVzZXJQYXJzZUZpbGVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9TQVgxX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3BhcnNlcgorI3VuZGVmIHhtbFNBWFVzZXJQYXJzZU1lbW9yeQorZXh0ZXJuIF9fdHlwZW9mICh4bWxTQVhVc2VyUGFyc2VNZW1vcnkpIHhtbFNBWFVzZXJQYXJzZU1lbW9yeSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFNBWFVzZXJQYXJzZU1lbW9yeV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU0FYVXNlclBhcnNlTWVtb3J5CitleHRlcm4gX190eXBlb2YgKHhtbFNBWFVzZXJQYXJzZU1lbW9yeSkgeG1sU0FYVXNlclBhcnNlTWVtb3J5X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU0FYVXNlclBhcnNlTWVtb3J5IHhtbFNBWFVzZXJQYXJzZU1lbW9yeV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9TQVgyCisjdW5kZWYgeG1sU0FYVmVyc2lvbgorZXh0ZXJuIF9fdHlwZW9mICh4bWxTQVhWZXJzaW9uKSB4bWxTQVhWZXJzaW9uIF9fYXR0cmlidXRlKChhbGlhcygieG1sU0FYVmVyc2lvbl9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU0FYVmVyc2lvbgorZXh0ZXJuIF9fdHlwZW9mICh4bWxTQVhWZXJzaW9uKSB4bWxTQVhWZXJzaW9uX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU0FYVmVyc2lvbiB4bWxTQVhWZXJzaW9uX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxzYXZlCisjdW5kZWYgeG1sU2F2ZUNsb3NlCitleHRlcm4gX190eXBlb2YgKHhtbFNhdmVDbG9zZSkgeG1sU2F2ZUNsb3NlIF9fYXR0cmlidXRlKChhbGlhcygieG1sU2F2ZUNsb3NlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxTYXZlQ2xvc2UKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2F2ZUNsb3NlKSB4bWxTYXZlQ2xvc2VfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxTYXZlQ2xvc2UgeG1sU2F2ZUNsb3NlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHNhdmUKKyN1bmRlZiB4bWxTYXZlRG9jCitleHRlcm4gX190eXBlb2YgKHhtbFNhdmVEb2MpIHhtbFNhdmVEb2MgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTYXZlRG9jX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxTYXZlRG9jCitleHRlcm4gX190eXBlb2YgKHhtbFNhdmVEb2MpIHhtbFNhdmVEb2NfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxTYXZlRG9jIHhtbFNhdmVEb2NfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sc2F2ZQorI3VuZGVmIHhtbFNhdmVGaWxlCitleHRlcm4gX190eXBlb2YgKHhtbFNhdmVGaWxlKSB4bWxTYXZlRmlsZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFNhdmVGaWxlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxTYXZlRmlsZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxTYXZlRmlsZSkgeG1sU2F2ZUZpbGVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxTYXZlRmlsZSB4bWxTYXZlRmlsZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxzYXZlCisjdW5kZWYgeG1sU2F2ZUZpbGVFbmMKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2F2ZUZpbGVFbmMpIHhtbFNhdmVGaWxlRW5jIF9fYXR0cmlidXRlKChhbGlhcygieG1sU2F2ZUZpbGVFbmNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFNhdmVGaWxlRW5jCitleHRlcm4gX190eXBlb2YgKHhtbFNhdmVGaWxlRW5jKSB4bWxTYXZlRmlsZUVuY19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFNhdmVGaWxlRW5jIHhtbFNhdmVGaWxlRW5jX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHNhdmUKKyN1bmRlZiB4bWxTYXZlRmlsZVRvCitleHRlcm4gX190eXBlb2YgKHhtbFNhdmVGaWxlVG8pIHhtbFNhdmVGaWxlVG8gX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTYXZlRmlsZVRvX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxTYXZlRmlsZVRvCitleHRlcm4gX190eXBlb2YgKHhtbFNhdmVGaWxlVG8pIHhtbFNhdmVGaWxlVG9fX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxTYXZlRmlsZVRvIHhtbFNhdmVGaWxlVG9fX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sc2F2ZQorI3VuZGVmIHhtbFNhdmVGbHVzaAorZXh0ZXJuIF9fdHlwZW9mICh4bWxTYXZlRmx1c2gpIHhtbFNhdmVGbHVzaCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFNhdmVGbHVzaF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU2F2ZUZsdXNoCitleHRlcm4gX190eXBlb2YgKHhtbFNhdmVGbHVzaCkgeG1sU2F2ZUZsdXNoX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU2F2ZUZsdXNoIHhtbFNhdmVGbHVzaF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxzYXZlCisjdW5kZWYgeG1sU2F2ZUZvcm1hdEZpbGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2F2ZUZvcm1hdEZpbGUpIHhtbFNhdmVGb3JtYXRGaWxlIF9fYXR0cmlidXRlKChhbGlhcygieG1sU2F2ZUZvcm1hdEZpbGVfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFNhdmVGb3JtYXRGaWxlCitleHRlcm4gX190eXBlb2YgKHhtbFNhdmVGb3JtYXRGaWxlKSB4bWxTYXZlRm9ybWF0RmlsZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFNhdmVGb3JtYXRGaWxlIHhtbFNhdmVGb3JtYXRGaWxlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHNhdmUKKyN1bmRlZiB4bWxTYXZlRm9ybWF0RmlsZUVuYworZXh0ZXJuIF9fdHlwZW9mICh4bWxTYXZlRm9ybWF0RmlsZUVuYykgeG1sU2F2ZUZvcm1hdEZpbGVFbmMgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTYXZlRm9ybWF0RmlsZUVuY19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU2F2ZUZvcm1hdEZpbGVFbmMKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2F2ZUZvcm1hdEZpbGVFbmMpIHhtbFNhdmVGb3JtYXRGaWxlRW5jX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU2F2ZUZvcm1hdEZpbGVFbmMgeG1sU2F2ZUZvcm1hdEZpbGVFbmNfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sc2F2ZQorI3VuZGVmIHhtbFNhdmVGb3JtYXRGaWxlVG8KK2V4dGVybiBfX3R5cGVvZiAoeG1sU2F2ZUZvcm1hdEZpbGVUbykgeG1sU2F2ZUZvcm1hdEZpbGVUbyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFNhdmVGb3JtYXRGaWxlVG9fX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFNhdmVGb3JtYXRGaWxlVG8KK2V4dGVybiBfX3R5cGVvZiAoeG1sU2F2ZUZvcm1hdEZpbGVUbykgeG1sU2F2ZUZvcm1hdEZpbGVUb19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFNhdmVGb3JtYXRGaWxlVG8geG1sU2F2ZUZvcm1hdEZpbGVUb19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxzYXZlCisjdW5kZWYgeG1sU2F2ZVNldEF0dHJFc2NhcGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2F2ZVNldEF0dHJFc2NhcGUpIHhtbFNhdmVTZXRBdHRyRXNjYXBlIF9fYXR0cmlidXRlKChhbGlhcygieG1sU2F2ZVNldEF0dHJFc2NhcGVfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFNhdmVTZXRBdHRyRXNjYXBlCitleHRlcm4gX190eXBlb2YgKHhtbFNhdmVTZXRBdHRyRXNjYXBlKSB4bWxTYXZlU2V0QXR0ckVzY2FwZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFNhdmVTZXRBdHRyRXNjYXBlIHhtbFNhdmVTZXRBdHRyRXNjYXBlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHNhdmUKKyN1bmRlZiB4bWxTYXZlU2V0RXNjYXBlCitleHRlcm4gX190eXBlb2YgKHhtbFNhdmVTZXRFc2NhcGUpIHhtbFNhdmVTZXRFc2NhcGUgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTYXZlU2V0RXNjYXBlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxTYXZlU2V0RXNjYXBlCitleHRlcm4gX190eXBlb2YgKHhtbFNhdmVTZXRFc2NhcGUpIHhtbFNhdmVTZXRFc2NhcGVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxTYXZlU2V0RXNjYXBlIHhtbFNhdmVTZXRFc2NhcGVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sc2F2ZQorI3VuZGVmIHhtbFNhdmVUb0J1ZmZlcgorZXh0ZXJuIF9fdHlwZW9mICh4bWxTYXZlVG9CdWZmZXIpIHhtbFNhdmVUb0J1ZmZlciBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFNhdmVUb0J1ZmZlcl9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU2F2ZVRvQnVmZmVyCitleHRlcm4gX190eXBlb2YgKHhtbFNhdmVUb0J1ZmZlcikgeG1sU2F2ZVRvQnVmZmVyX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU2F2ZVRvQnVmZmVyIHhtbFNhdmVUb0J1ZmZlcl9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxzYXZlCisjdW5kZWYgeG1sU2F2ZVRvRmQKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2F2ZVRvRmQpIHhtbFNhdmVUb0ZkIF9fYXR0cmlidXRlKChhbGlhcygieG1sU2F2ZVRvRmRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFNhdmVUb0ZkCitleHRlcm4gX190eXBlb2YgKHhtbFNhdmVUb0ZkKSB4bWxTYXZlVG9GZF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFNhdmVUb0ZkIHhtbFNhdmVUb0ZkX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHNhdmUKKyN1bmRlZiB4bWxTYXZlVG9GaWxlbmFtZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxTYXZlVG9GaWxlbmFtZSkgeG1sU2F2ZVRvRmlsZW5hbWUgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTYXZlVG9GaWxlbmFtZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU2F2ZVRvRmlsZW5hbWUKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2F2ZVRvRmlsZW5hbWUpIHhtbFNhdmVUb0ZpbGVuYW1lX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU2F2ZVRvRmlsZW5hbWUgeG1sU2F2ZVRvRmlsZW5hbWVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sc2F2ZQorI3VuZGVmIHhtbFNhdmVUb0lPCitleHRlcm4gX190eXBlb2YgKHhtbFNhdmVUb0lPKSB4bWxTYXZlVG9JTyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFNhdmVUb0lPX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxTYXZlVG9JTworZXh0ZXJuIF9fdHlwZW9mICh4bWxTYXZlVG9JTykgeG1sU2F2ZVRvSU9fX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxTYXZlVG9JTyB4bWxTYXZlVG9JT19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxzYXZlCisjdW5kZWYgeG1sU2F2ZVRyZWUKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2F2ZVRyZWUpIHhtbFNhdmVUcmVlIF9fYXR0cmlidXRlKChhbGlhcygieG1sU2F2ZVRyZWVfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFNhdmVUcmVlCitleHRlcm4gX190eXBlb2YgKHhtbFNhdmVUcmVlKSB4bWxTYXZlVHJlZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFNhdmVUcmVlIHhtbFNhdmVUcmVlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3VyaQorI3VuZGVmIHhtbFNhdmVVcmkKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2F2ZVVyaSkgeG1sU2F2ZVVyaSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFNhdmVVcmlfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFNhdmVVcmkKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2F2ZVVyaSkgeG1sU2F2ZVVyaV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFNhdmVVcmkgeG1sU2F2ZVVyaV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9MRUdBQ1lfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fbGVnYWN5CisjdW5kZWYgeG1sU2Nhbk5hbWUKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2Nhbk5hbWUpIHhtbFNjYW5OYW1lIF9fYXR0cmlidXRlKChhbGlhcygieG1sU2Nhbk5hbWVfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFNjYW5OYW1lCitleHRlcm4gX190eXBlb2YgKHhtbFNjYW5OYW1lKSB4bWxTY2FuTmFtZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFNjYW5OYW1lIHhtbFNjYW5OYW1lX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxzY2hlbWFzCisjdW5kZWYgeG1sU2NoZW1hQ2hlY2tGYWNldAorZXh0ZXJuIF9fdHlwZW9mICh4bWxTY2hlbWFDaGVja0ZhY2V0KSB4bWxTY2hlbWFDaGVja0ZhY2V0IF9fYXR0cmlidXRlKChhbGlhcygieG1sU2NoZW1hQ2hlY2tGYWNldF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU2NoZW1hQ2hlY2tGYWNldAorZXh0ZXJuIF9fdHlwZW9mICh4bWxTY2hlbWFDaGVja0ZhY2V0KSB4bWxTY2hlbWFDaGVja0ZhY2V0X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU2NoZW1hQ2hlY2tGYWNldCB4bWxTY2hlbWFDaGVja0ZhY2V0X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxzY2hlbWFzdHlwZXMKKyN1bmRlZiB4bWxTY2hlbWFDbGVhbnVwVHlwZXMKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2NoZW1hQ2xlYW51cFR5cGVzKSB4bWxTY2hlbWFDbGVhbnVwVHlwZXMgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTY2hlbWFDbGVhbnVwVHlwZXNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFNjaGVtYUNsZWFudXBUeXBlcworZXh0ZXJuIF9fdHlwZW9mICh4bWxTY2hlbWFDbGVhbnVwVHlwZXMpIHhtbFNjaGVtYUNsZWFudXBUeXBlc19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFNjaGVtYUNsZWFudXBUeXBlcyB4bWxTY2hlbWFDbGVhbnVwVHlwZXNfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHNjaGVtYXN0eXBlcworI3VuZGVmIHhtbFNjaGVtYUNvbGxhcHNlU3RyaW5nCitleHRlcm4gX190eXBlb2YgKHhtbFNjaGVtYUNvbGxhcHNlU3RyaW5nKSB4bWxTY2hlbWFDb2xsYXBzZVN0cmluZyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFNjaGVtYUNvbGxhcHNlU3RyaW5nX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxTY2hlbWFDb2xsYXBzZVN0cmluZworZXh0ZXJuIF9fdHlwZW9mICh4bWxTY2hlbWFDb2xsYXBzZVN0cmluZykgeG1sU2NoZW1hQ29sbGFwc2VTdHJpbmdfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxTY2hlbWFDb2xsYXBzZVN0cmluZyB4bWxTY2hlbWFDb2xsYXBzZVN0cmluZ19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sc2NoZW1hc3R5cGVzCisjdW5kZWYgeG1sU2NoZW1hQ29tcGFyZVZhbHVlcworZXh0ZXJuIF9fdHlwZW9mICh4bWxTY2hlbWFDb21wYXJlVmFsdWVzKSB4bWxTY2hlbWFDb21wYXJlVmFsdWVzIF9fYXR0cmlidXRlKChhbGlhcygieG1sU2NoZW1hQ29tcGFyZVZhbHVlc19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU2NoZW1hQ29tcGFyZVZhbHVlcworZXh0ZXJuIF9fdHlwZW9mICh4bWxTY2hlbWFDb21wYXJlVmFsdWVzKSB4bWxTY2hlbWFDb21wYXJlVmFsdWVzX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU2NoZW1hQ29tcGFyZVZhbHVlcyB4bWxTY2hlbWFDb21wYXJlVmFsdWVzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxzY2hlbWFzdHlwZXMKKyN1bmRlZiB4bWxTY2hlbWFDb21wYXJlVmFsdWVzV2h0c3AKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2NoZW1hQ29tcGFyZVZhbHVlc1dodHNwKSB4bWxTY2hlbWFDb21wYXJlVmFsdWVzV2h0c3AgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTY2hlbWFDb21wYXJlVmFsdWVzV2h0c3BfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFNjaGVtYUNvbXBhcmVWYWx1ZXNXaHRzcAorZXh0ZXJuIF9fdHlwZW9mICh4bWxTY2hlbWFDb21wYXJlVmFsdWVzV2h0c3ApIHhtbFNjaGVtYUNvbXBhcmVWYWx1ZXNXaHRzcF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFNjaGVtYUNvbXBhcmVWYWx1ZXNXaHRzcCB4bWxTY2hlbWFDb21wYXJlVmFsdWVzV2h0c3BfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHNjaGVtYXN0eXBlcworI3VuZGVmIHhtbFNjaGVtYUNvcHlWYWx1ZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxTY2hlbWFDb3B5VmFsdWUpIHhtbFNjaGVtYUNvcHlWYWx1ZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFNjaGVtYUNvcHlWYWx1ZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU2NoZW1hQ29weVZhbHVlCitleHRlcm4gX190eXBlb2YgKHhtbFNjaGVtYUNvcHlWYWx1ZSkgeG1sU2NoZW1hQ29weVZhbHVlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU2NoZW1hQ29weVZhbHVlIHhtbFNjaGVtYUNvcHlWYWx1ZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHNjaGVtYXMKKyN1bmRlZiB4bWxTY2hlbWFEdW1wCitleHRlcm4gX190eXBlb2YgKHhtbFNjaGVtYUR1bXApIHhtbFNjaGVtYUR1bXAgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTY2hlbWFEdW1wX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxTY2hlbWFEdW1wCitleHRlcm4gX190eXBlb2YgKHhtbFNjaGVtYUR1bXApIHhtbFNjaGVtYUR1bXBfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxTY2hlbWFEdW1wIHhtbFNjaGVtYUR1bXBfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHNjaGVtYXMKKyN1bmRlZiB4bWxTY2hlbWFGcmVlCitleHRlcm4gX190eXBlb2YgKHhtbFNjaGVtYUZyZWUpIHhtbFNjaGVtYUZyZWUgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTY2hlbWFGcmVlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxTY2hlbWFGcmVlCitleHRlcm4gX190eXBlb2YgKHhtbFNjaGVtYUZyZWUpIHhtbFNjaGVtYUZyZWVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxTY2hlbWFGcmVlIHhtbFNjaGVtYUZyZWVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHNjaGVtYXMKKyN1bmRlZiB4bWxTY2hlbWFGcmVlRmFjZXQKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2NoZW1hRnJlZUZhY2V0KSB4bWxTY2hlbWFGcmVlRmFjZXQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTY2hlbWFGcmVlRmFjZXRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFNjaGVtYUZyZWVGYWNldAorZXh0ZXJuIF9fdHlwZW9mICh4bWxTY2hlbWFGcmVlRmFjZXQpIHhtbFNjaGVtYUZyZWVGYWNldF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFNjaGVtYUZyZWVGYWNldCB4bWxTY2hlbWFGcmVlRmFjZXRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHNjaGVtYXMKKyN1bmRlZiB4bWxTY2hlbWFGcmVlUGFyc2VyQ3R4dAorZXh0ZXJuIF9fdHlwZW9mICh4bWxTY2hlbWFGcmVlUGFyc2VyQ3R4dCkgeG1sU2NoZW1hRnJlZVBhcnNlckN0eHQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTY2hlbWFGcmVlUGFyc2VyQ3R4dF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU2NoZW1hRnJlZVBhcnNlckN0eHQKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2NoZW1hRnJlZVBhcnNlckN0eHQpIHhtbFNjaGVtYUZyZWVQYXJzZXJDdHh0X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU2NoZW1hRnJlZVBhcnNlckN0eHQgeG1sU2NoZW1hRnJlZVBhcnNlckN0eHRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHNjaGVtYXMKKyN1bmRlZiB4bWxTY2hlbWFGcmVlVHlwZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxTY2hlbWFGcmVlVHlwZSkgeG1sU2NoZW1hRnJlZVR5cGUgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTY2hlbWFGcmVlVHlwZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU2NoZW1hRnJlZVR5cGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2NoZW1hRnJlZVR5cGUpIHhtbFNjaGVtYUZyZWVUeXBlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU2NoZW1hRnJlZVR5cGUgeG1sU2NoZW1hRnJlZVR5cGVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHNjaGVtYXMKKyN1bmRlZiB4bWxTY2hlbWFGcmVlVmFsaWRDdHh0CitleHRlcm4gX190eXBlb2YgKHhtbFNjaGVtYUZyZWVWYWxpZEN0eHQpIHhtbFNjaGVtYUZyZWVWYWxpZEN0eHQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTY2hlbWFGcmVlVmFsaWRDdHh0X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxTY2hlbWFGcmVlVmFsaWRDdHh0CitleHRlcm4gX190eXBlb2YgKHhtbFNjaGVtYUZyZWVWYWxpZEN0eHQpIHhtbFNjaGVtYUZyZWVWYWxpZEN0eHRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxTY2hlbWFGcmVlVmFsaWRDdHh0IHhtbFNjaGVtYUZyZWVWYWxpZEN0eHRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHNjaGVtYXN0eXBlcworI3VuZGVmIHhtbFNjaGVtYUZyZWVWYWx1ZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxTY2hlbWFGcmVlVmFsdWUpIHhtbFNjaGVtYUZyZWVWYWx1ZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFNjaGVtYUZyZWVWYWx1ZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU2NoZW1hRnJlZVZhbHVlCitleHRlcm4gX190eXBlb2YgKHhtbFNjaGVtYUZyZWVWYWx1ZSkgeG1sU2NoZW1hRnJlZVZhbHVlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU2NoZW1hRnJlZVZhbHVlIHhtbFNjaGVtYUZyZWVWYWx1ZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sc2NoZW1hcworI3VuZGVmIHhtbFNjaGVtYUZyZWVXaWxkY2FyZAorZXh0ZXJuIF9fdHlwZW9mICh4bWxTY2hlbWFGcmVlV2lsZGNhcmQpIHhtbFNjaGVtYUZyZWVXaWxkY2FyZCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFNjaGVtYUZyZWVXaWxkY2FyZF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU2NoZW1hRnJlZVdpbGRjYXJkCitleHRlcm4gX190eXBlb2YgKHhtbFNjaGVtYUZyZWVXaWxkY2FyZCkgeG1sU2NoZW1hRnJlZVdpbGRjYXJkX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU2NoZW1hRnJlZVdpbGRjYXJkIHhtbFNjaGVtYUZyZWVXaWxkY2FyZF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sc2NoZW1hc3R5cGVzCisjdW5kZWYgeG1sU2NoZW1hR2V0QnVpbHRJbkxpc3RTaW1wbGVUeXBlSXRlbVR5cGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2NoZW1hR2V0QnVpbHRJbkxpc3RTaW1wbGVUeXBlSXRlbVR5cGUpIHhtbFNjaGVtYUdldEJ1aWx0SW5MaXN0U2ltcGxlVHlwZUl0ZW1UeXBlIF9fYXR0cmlidXRlKChhbGlhcygieG1sU2NoZW1hR2V0QnVpbHRJbkxpc3RTaW1wbGVUeXBlSXRlbVR5cGVfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFNjaGVtYUdldEJ1aWx0SW5MaXN0U2ltcGxlVHlwZUl0ZW1UeXBlCitleHRlcm4gX190eXBlb2YgKHhtbFNjaGVtYUdldEJ1aWx0SW5MaXN0U2ltcGxlVHlwZUl0ZW1UeXBlKSB4bWxTY2hlbWFHZXRCdWlsdEluTGlzdFNpbXBsZVR5cGVJdGVtVHlwZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFNjaGVtYUdldEJ1aWx0SW5MaXN0U2ltcGxlVHlwZUl0ZW1UeXBlIHhtbFNjaGVtYUdldEJ1aWx0SW5MaXN0U2ltcGxlVHlwZUl0ZW1UeXBlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxzY2hlbWFzdHlwZXMKKyN1bmRlZiB4bWxTY2hlbWFHZXRCdWlsdEluVHlwZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxTY2hlbWFHZXRCdWlsdEluVHlwZSkgeG1sU2NoZW1hR2V0QnVpbHRJblR5cGUgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTY2hlbWFHZXRCdWlsdEluVHlwZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU2NoZW1hR2V0QnVpbHRJblR5cGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2NoZW1hR2V0QnVpbHRJblR5cGUpIHhtbFNjaGVtYUdldEJ1aWx0SW5UeXBlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU2NoZW1hR2V0QnVpbHRJblR5cGUgeG1sU2NoZW1hR2V0QnVpbHRJblR5cGVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHNjaGVtYXN0eXBlcworI3VuZGVmIHhtbFNjaGVtYUdldENhbm9uVmFsdWUKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2NoZW1hR2V0Q2Fub25WYWx1ZSkgeG1sU2NoZW1hR2V0Q2Fub25WYWx1ZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFNjaGVtYUdldENhbm9uVmFsdWVfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFNjaGVtYUdldENhbm9uVmFsdWUKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2NoZW1hR2V0Q2Fub25WYWx1ZSkgeG1sU2NoZW1hR2V0Q2Fub25WYWx1ZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFNjaGVtYUdldENhbm9uVmFsdWUgeG1sU2NoZW1hR2V0Q2Fub25WYWx1ZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sc2NoZW1hc3R5cGVzCisjdW5kZWYgeG1sU2NoZW1hR2V0Q2Fub25WYWx1ZVdodHNwCitleHRlcm4gX190eXBlb2YgKHhtbFNjaGVtYUdldENhbm9uVmFsdWVXaHRzcCkgeG1sU2NoZW1hR2V0Q2Fub25WYWx1ZVdodHNwIF9fYXR0cmlidXRlKChhbGlhcygieG1sU2NoZW1hR2V0Q2Fub25WYWx1ZVdodHNwX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxTY2hlbWFHZXRDYW5vblZhbHVlV2h0c3AKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2NoZW1hR2V0Q2Fub25WYWx1ZVdodHNwKSB4bWxTY2hlbWFHZXRDYW5vblZhbHVlV2h0c3BfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxTY2hlbWFHZXRDYW5vblZhbHVlV2h0c3AgeG1sU2NoZW1hR2V0Q2Fub25WYWx1ZVdodHNwX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxzY2hlbWFzdHlwZXMKKyN1bmRlZiB4bWxTY2hlbWFHZXRGYWNldFZhbHVlQXNVTG9uZworZXh0ZXJuIF9fdHlwZW9mICh4bWxTY2hlbWFHZXRGYWNldFZhbHVlQXNVTG9uZykgeG1sU2NoZW1hR2V0RmFjZXRWYWx1ZUFzVUxvbmcgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTY2hlbWFHZXRGYWNldFZhbHVlQXNVTG9uZ19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU2NoZW1hR2V0RmFjZXRWYWx1ZUFzVUxvbmcKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2NoZW1hR2V0RmFjZXRWYWx1ZUFzVUxvbmcpIHhtbFNjaGVtYUdldEZhY2V0VmFsdWVBc1VMb25nX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU2NoZW1hR2V0RmFjZXRWYWx1ZUFzVUxvbmcgeG1sU2NoZW1hR2V0RmFjZXRWYWx1ZUFzVUxvbmdfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHNjaGVtYXMKKyN1bmRlZiB4bWxTY2hlbWFHZXRQYXJzZXJFcnJvcnMKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2NoZW1hR2V0UGFyc2VyRXJyb3JzKSB4bWxTY2hlbWFHZXRQYXJzZXJFcnJvcnMgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTY2hlbWFHZXRQYXJzZXJFcnJvcnNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFNjaGVtYUdldFBhcnNlckVycm9ycworZXh0ZXJuIF9fdHlwZW9mICh4bWxTY2hlbWFHZXRQYXJzZXJFcnJvcnMpIHhtbFNjaGVtYUdldFBhcnNlckVycm9yc19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFNjaGVtYUdldFBhcnNlckVycm9ycyB4bWxTY2hlbWFHZXRQYXJzZXJFcnJvcnNfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHNjaGVtYXN0eXBlcworI3VuZGVmIHhtbFNjaGVtYUdldFByZWRlZmluZWRUeXBlCitleHRlcm4gX190eXBlb2YgKHhtbFNjaGVtYUdldFByZWRlZmluZWRUeXBlKSB4bWxTY2hlbWFHZXRQcmVkZWZpbmVkVHlwZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFNjaGVtYUdldFByZWRlZmluZWRUeXBlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxTY2hlbWFHZXRQcmVkZWZpbmVkVHlwZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxTY2hlbWFHZXRQcmVkZWZpbmVkVHlwZSkgeG1sU2NoZW1hR2V0UHJlZGVmaW5lZFR5cGVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxTY2hlbWFHZXRQcmVkZWZpbmVkVHlwZSB4bWxTY2hlbWFHZXRQcmVkZWZpbmVkVHlwZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sc2NoZW1hc3R5cGVzCisjdW5kZWYgeG1sU2NoZW1hR2V0VmFsVHlwZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxTY2hlbWFHZXRWYWxUeXBlKSB4bWxTY2hlbWFHZXRWYWxUeXBlIF9fYXR0cmlidXRlKChhbGlhcygieG1sU2NoZW1hR2V0VmFsVHlwZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU2NoZW1hR2V0VmFsVHlwZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxTY2hlbWFHZXRWYWxUeXBlKSB4bWxTY2hlbWFHZXRWYWxUeXBlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU2NoZW1hR2V0VmFsVHlwZSB4bWxTY2hlbWFHZXRWYWxUeXBlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxzY2hlbWFzCisjdW5kZWYgeG1sU2NoZW1hR2V0VmFsaWRFcnJvcnMKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2NoZW1hR2V0VmFsaWRFcnJvcnMpIHhtbFNjaGVtYUdldFZhbGlkRXJyb3JzIF9fYXR0cmlidXRlKChhbGlhcygieG1sU2NoZW1hR2V0VmFsaWRFcnJvcnNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFNjaGVtYUdldFZhbGlkRXJyb3JzCitleHRlcm4gX190eXBlb2YgKHhtbFNjaGVtYUdldFZhbGlkRXJyb3JzKSB4bWxTY2hlbWFHZXRWYWxpZEVycm9yc19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFNjaGVtYUdldFZhbGlkRXJyb3JzIHhtbFNjaGVtYUdldFZhbGlkRXJyb3JzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxzY2hlbWFzdHlwZXMKKyN1bmRlZiB4bWxTY2hlbWFJbml0VHlwZXMKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2NoZW1hSW5pdFR5cGVzKSB4bWxTY2hlbWFJbml0VHlwZXMgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTY2hlbWFJbml0VHlwZXNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFNjaGVtYUluaXRUeXBlcworZXh0ZXJuIF9fdHlwZW9mICh4bWxTY2hlbWFJbml0VHlwZXMpIHhtbFNjaGVtYUluaXRUeXBlc19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFNjaGVtYUluaXRUeXBlcyB4bWxTY2hlbWFJbml0VHlwZXNfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHNjaGVtYXN0eXBlcworI3VuZGVmIHhtbFNjaGVtYUlzQnVpbHRJblR5cGVGYWNldAorZXh0ZXJuIF9fdHlwZW9mICh4bWxTY2hlbWFJc0J1aWx0SW5UeXBlRmFjZXQpIHhtbFNjaGVtYUlzQnVpbHRJblR5cGVGYWNldCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFNjaGVtYUlzQnVpbHRJblR5cGVGYWNldF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU2NoZW1hSXNCdWlsdEluVHlwZUZhY2V0CitleHRlcm4gX190eXBlb2YgKHhtbFNjaGVtYUlzQnVpbHRJblR5cGVGYWNldCkgeG1sU2NoZW1hSXNCdWlsdEluVHlwZUZhY2V0X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU2NoZW1hSXNCdWlsdEluVHlwZUZhY2V0IHhtbFNjaGVtYUlzQnVpbHRJblR5cGVGYWNldF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sc2NoZW1hcworI3VuZGVmIHhtbFNjaGVtYUlzVmFsaWQKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2NoZW1hSXNWYWxpZCkgeG1sU2NoZW1hSXNWYWxpZCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFNjaGVtYUlzVmFsaWRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFNjaGVtYUlzVmFsaWQKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2NoZW1hSXNWYWxpZCkgeG1sU2NoZW1hSXNWYWxpZF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFNjaGVtYUlzVmFsaWQgeG1sU2NoZW1hSXNWYWxpZF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sc2NoZW1hcworI3VuZGVmIHhtbFNjaGVtYU5ld0RvY1BhcnNlckN0eHQKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2NoZW1hTmV3RG9jUGFyc2VyQ3R4dCkgeG1sU2NoZW1hTmV3RG9jUGFyc2VyQ3R4dCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFNjaGVtYU5ld0RvY1BhcnNlckN0eHRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFNjaGVtYU5ld0RvY1BhcnNlckN0eHQKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2NoZW1hTmV3RG9jUGFyc2VyQ3R4dCkgeG1sU2NoZW1hTmV3RG9jUGFyc2VyQ3R4dF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFNjaGVtYU5ld0RvY1BhcnNlckN0eHQgeG1sU2NoZW1hTmV3RG9jUGFyc2VyQ3R4dF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sc2NoZW1hcworI3VuZGVmIHhtbFNjaGVtYU5ld0ZhY2V0CitleHRlcm4gX190eXBlb2YgKHhtbFNjaGVtYU5ld0ZhY2V0KSB4bWxTY2hlbWFOZXdGYWNldCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFNjaGVtYU5ld0ZhY2V0X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxTY2hlbWFOZXdGYWNldAorZXh0ZXJuIF9fdHlwZW9mICh4bWxTY2hlbWFOZXdGYWNldCkgeG1sU2NoZW1hTmV3RmFjZXRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxTY2hlbWFOZXdGYWNldCB4bWxTY2hlbWFOZXdGYWNldF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sc2NoZW1hcworI3VuZGVmIHhtbFNjaGVtYU5ld01lbVBhcnNlckN0eHQKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2NoZW1hTmV3TWVtUGFyc2VyQ3R4dCkgeG1sU2NoZW1hTmV3TWVtUGFyc2VyQ3R4dCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFNjaGVtYU5ld01lbVBhcnNlckN0eHRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFNjaGVtYU5ld01lbVBhcnNlckN0eHQKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2NoZW1hTmV3TWVtUGFyc2VyQ3R4dCkgeG1sU2NoZW1hTmV3TWVtUGFyc2VyQ3R4dF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFNjaGVtYU5ld01lbVBhcnNlckN0eHQgeG1sU2NoZW1hTmV3TWVtUGFyc2VyQ3R4dF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sc2NoZW1hc3R5cGVzCisjdW5kZWYgeG1sU2NoZW1hTmV3Tk9UQVRJT05WYWx1ZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxTY2hlbWFOZXdOT1RBVElPTlZhbHVlKSB4bWxTY2hlbWFOZXdOT1RBVElPTlZhbHVlIF9fYXR0cmlidXRlKChhbGlhcygieG1sU2NoZW1hTmV3Tk9UQVRJT05WYWx1ZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU2NoZW1hTmV3Tk9UQVRJT05WYWx1ZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxTY2hlbWFOZXdOT1RBVElPTlZhbHVlKSB4bWxTY2hlbWFOZXdOT1RBVElPTlZhbHVlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU2NoZW1hTmV3Tk9UQVRJT05WYWx1ZSB4bWxTY2hlbWFOZXdOT1RBVElPTlZhbHVlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxzY2hlbWFzCisjdW5kZWYgeG1sU2NoZW1hTmV3UGFyc2VyQ3R4dAorZXh0ZXJuIF9fdHlwZW9mICh4bWxTY2hlbWFOZXdQYXJzZXJDdHh0KSB4bWxTY2hlbWFOZXdQYXJzZXJDdHh0IF9fYXR0cmlidXRlKChhbGlhcygieG1sU2NoZW1hTmV3UGFyc2VyQ3R4dF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU2NoZW1hTmV3UGFyc2VyQ3R4dAorZXh0ZXJuIF9fdHlwZW9mICh4bWxTY2hlbWFOZXdQYXJzZXJDdHh0KSB4bWxTY2hlbWFOZXdQYXJzZXJDdHh0X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU2NoZW1hTmV3UGFyc2VyQ3R4dCB4bWxTY2hlbWFOZXdQYXJzZXJDdHh0X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxzY2hlbWFzdHlwZXMKKyN1bmRlZiB4bWxTY2hlbWFOZXdRTmFtZVZhbHVlCitleHRlcm4gX190eXBlb2YgKHhtbFNjaGVtYU5ld1FOYW1lVmFsdWUpIHhtbFNjaGVtYU5ld1FOYW1lVmFsdWUgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTY2hlbWFOZXdRTmFtZVZhbHVlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxTY2hlbWFOZXdRTmFtZVZhbHVlCitleHRlcm4gX190eXBlb2YgKHhtbFNjaGVtYU5ld1FOYW1lVmFsdWUpIHhtbFNjaGVtYU5ld1FOYW1lVmFsdWVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxTY2hlbWFOZXdRTmFtZVZhbHVlIHhtbFNjaGVtYU5ld1FOYW1lVmFsdWVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHNjaGVtYXN0eXBlcworI3VuZGVmIHhtbFNjaGVtYU5ld1N0cmluZ1ZhbHVlCitleHRlcm4gX190eXBlb2YgKHhtbFNjaGVtYU5ld1N0cmluZ1ZhbHVlKSB4bWxTY2hlbWFOZXdTdHJpbmdWYWx1ZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFNjaGVtYU5ld1N0cmluZ1ZhbHVlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxTY2hlbWFOZXdTdHJpbmdWYWx1ZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxTY2hlbWFOZXdTdHJpbmdWYWx1ZSkgeG1sU2NoZW1hTmV3U3RyaW5nVmFsdWVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxTY2hlbWFOZXdTdHJpbmdWYWx1ZSB4bWxTY2hlbWFOZXdTdHJpbmdWYWx1ZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sc2NoZW1hcworI3VuZGVmIHhtbFNjaGVtYU5ld1ZhbGlkQ3R4dAorZXh0ZXJuIF9fdHlwZW9mICh4bWxTY2hlbWFOZXdWYWxpZEN0eHQpIHhtbFNjaGVtYU5ld1ZhbGlkQ3R4dCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFNjaGVtYU5ld1ZhbGlkQ3R4dF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU2NoZW1hTmV3VmFsaWRDdHh0CitleHRlcm4gX190eXBlb2YgKHhtbFNjaGVtYU5ld1ZhbGlkQ3R4dCkgeG1sU2NoZW1hTmV3VmFsaWRDdHh0X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU2NoZW1hTmV3VmFsaWRDdHh0IHhtbFNjaGVtYU5ld1ZhbGlkQ3R4dF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sc2NoZW1hcworI3VuZGVmIHhtbFNjaGVtYVBhcnNlCitleHRlcm4gX190eXBlb2YgKHhtbFNjaGVtYVBhcnNlKSB4bWxTY2hlbWFQYXJzZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFNjaGVtYVBhcnNlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxTY2hlbWFQYXJzZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxTY2hlbWFQYXJzZSkgeG1sU2NoZW1hUGFyc2VfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxTY2hlbWFQYXJzZSB4bWxTY2hlbWFQYXJzZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sc2NoZW1hcworI3VuZGVmIHhtbFNjaGVtYVNBWFBsdWcKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2NoZW1hU0FYUGx1ZykgeG1sU2NoZW1hU0FYUGx1ZyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFNjaGVtYVNBWFBsdWdfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFNjaGVtYVNBWFBsdWcKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2NoZW1hU0FYUGx1ZykgeG1sU2NoZW1hU0FYUGx1Z19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFNjaGVtYVNBWFBsdWcgeG1sU2NoZW1hU0FYUGx1Z19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sc2NoZW1hcworI3VuZGVmIHhtbFNjaGVtYVNBWFVucGx1ZworZXh0ZXJuIF9fdHlwZW9mICh4bWxTY2hlbWFTQVhVbnBsdWcpIHhtbFNjaGVtYVNBWFVucGx1ZyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFNjaGVtYVNBWFVucGx1Z19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU2NoZW1hU0FYVW5wbHVnCitleHRlcm4gX190eXBlb2YgKHhtbFNjaGVtYVNBWFVucGx1ZykgeG1sU2NoZW1hU0FYVW5wbHVnX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU2NoZW1hU0FYVW5wbHVnIHhtbFNjaGVtYVNBWFVucGx1Z19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sc2NoZW1hcworI3VuZGVmIHhtbFNjaGVtYVNldFBhcnNlckVycm9ycworZXh0ZXJuIF9fdHlwZW9mICh4bWxTY2hlbWFTZXRQYXJzZXJFcnJvcnMpIHhtbFNjaGVtYVNldFBhcnNlckVycm9ycyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFNjaGVtYVNldFBhcnNlckVycm9yc19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU2NoZW1hU2V0UGFyc2VyRXJyb3JzCitleHRlcm4gX190eXBlb2YgKHhtbFNjaGVtYVNldFBhcnNlckVycm9ycykgeG1sU2NoZW1hU2V0UGFyc2VyRXJyb3JzX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU2NoZW1hU2V0UGFyc2VyRXJyb3JzIHhtbFNjaGVtYVNldFBhcnNlckVycm9yc19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sc2NoZW1hcworI3VuZGVmIHhtbFNjaGVtYVNldFBhcnNlclN0cnVjdHVyZWRFcnJvcnMKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2NoZW1hU2V0UGFyc2VyU3RydWN0dXJlZEVycm9ycykgeG1sU2NoZW1hU2V0UGFyc2VyU3RydWN0dXJlZEVycm9ycyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFNjaGVtYVNldFBhcnNlclN0cnVjdHVyZWRFcnJvcnNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFNjaGVtYVNldFBhcnNlclN0cnVjdHVyZWRFcnJvcnMKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2NoZW1hU2V0UGFyc2VyU3RydWN0dXJlZEVycm9ycykgeG1sU2NoZW1hU2V0UGFyc2VyU3RydWN0dXJlZEVycm9yc19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFNjaGVtYVNldFBhcnNlclN0cnVjdHVyZWRFcnJvcnMgeG1sU2NoZW1hU2V0UGFyc2VyU3RydWN0dXJlZEVycm9yc19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sc2NoZW1hcworI3VuZGVmIHhtbFNjaGVtYVNldFZhbGlkRXJyb3JzCitleHRlcm4gX190eXBlb2YgKHhtbFNjaGVtYVNldFZhbGlkRXJyb3JzKSB4bWxTY2hlbWFTZXRWYWxpZEVycm9ycyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFNjaGVtYVNldFZhbGlkRXJyb3JzX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxTY2hlbWFTZXRWYWxpZEVycm9ycworZXh0ZXJuIF9fdHlwZW9mICh4bWxTY2hlbWFTZXRWYWxpZEVycm9ycykgeG1sU2NoZW1hU2V0VmFsaWRFcnJvcnNfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxTY2hlbWFTZXRWYWxpZEVycm9ycyB4bWxTY2hlbWFTZXRWYWxpZEVycm9yc19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sc2NoZW1hcworI3VuZGVmIHhtbFNjaGVtYVNldFZhbGlkT3B0aW9ucworZXh0ZXJuIF9fdHlwZW9mICh4bWxTY2hlbWFTZXRWYWxpZE9wdGlvbnMpIHhtbFNjaGVtYVNldFZhbGlkT3B0aW9ucyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFNjaGVtYVNldFZhbGlkT3B0aW9uc19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU2NoZW1hU2V0VmFsaWRPcHRpb25zCitleHRlcm4gX190eXBlb2YgKHhtbFNjaGVtYVNldFZhbGlkT3B0aW9ucykgeG1sU2NoZW1hU2V0VmFsaWRPcHRpb25zX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU2NoZW1hU2V0VmFsaWRPcHRpb25zIHhtbFNjaGVtYVNldFZhbGlkT3B0aW9uc19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sc2NoZW1hcworI3VuZGVmIHhtbFNjaGVtYVNldFZhbGlkU3RydWN0dXJlZEVycm9ycworZXh0ZXJuIF9fdHlwZW9mICh4bWxTY2hlbWFTZXRWYWxpZFN0cnVjdHVyZWRFcnJvcnMpIHhtbFNjaGVtYVNldFZhbGlkU3RydWN0dXJlZEVycm9ycyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFNjaGVtYVNldFZhbGlkU3RydWN0dXJlZEVycm9yc19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU2NoZW1hU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzCitleHRlcm4gX190eXBlb2YgKHhtbFNjaGVtYVNldFZhbGlkU3RydWN0dXJlZEVycm9ycykgeG1sU2NoZW1hU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU2NoZW1hU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzIHhtbFNjaGVtYVNldFZhbGlkU3RydWN0dXJlZEVycm9yc19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sc2NoZW1hc3R5cGVzCisjdW5kZWYgeG1sU2NoZW1hVmFsUHJlZGVmVHlwZU5vZGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2NoZW1hVmFsUHJlZGVmVHlwZU5vZGUpIHhtbFNjaGVtYVZhbFByZWRlZlR5cGVOb2RlIF9fYXR0cmlidXRlKChhbGlhcygieG1sU2NoZW1hVmFsUHJlZGVmVHlwZU5vZGVfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFNjaGVtYVZhbFByZWRlZlR5cGVOb2RlCitleHRlcm4gX190eXBlb2YgKHhtbFNjaGVtYVZhbFByZWRlZlR5cGVOb2RlKSB4bWxTY2hlbWFWYWxQcmVkZWZUeXBlTm9kZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFNjaGVtYVZhbFByZWRlZlR5cGVOb2RlIHhtbFNjaGVtYVZhbFByZWRlZlR5cGVOb2RlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxzY2hlbWFzdHlwZXMKKyN1bmRlZiB4bWxTY2hlbWFWYWxQcmVkZWZUeXBlTm9kZU5vTm9ybQorZXh0ZXJuIF9fdHlwZW9mICh4bWxTY2hlbWFWYWxQcmVkZWZUeXBlTm9kZU5vTm9ybSkgeG1sU2NoZW1hVmFsUHJlZGVmVHlwZU5vZGVOb05vcm0gX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTY2hlbWFWYWxQcmVkZWZUeXBlTm9kZU5vTm9ybV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU2NoZW1hVmFsUHJlZGVmVHlwZU5vZGVOb05vcm0KK2V4dGVybiBfX3R5cGVvZiAoeG1sU2NoZW1hVmFsUHJlZGVmVHlwZU5vZGVOb05vcm0pIHhtbFNjaGVtYVZhbFByZWRlZlR5cGVOb2RlTm9Ob3JtX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU2NoZW1hVmFsUHJlZGVmVHlwZU5vZGVOb05vcm0geG1sU2NoZW1hVmFsUHJlZGVmVHlwZU5vZGVOb05vcm1fX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHNjaGVtYXMKKyN1bmRlZiB4bWxTY2hlbWFWYWxpZEN0eHRHZXRPcHRpb25zCitleHRlcm4gX190eXBlb2YgKHhtbFNjaGVtYVZhbGlkQ3R4dEdldE9wdGlvbnMpIHhtbFNjaGVtYVZhbGlkQ3R4dEdldE9wdGlvbnMgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTY2hlbWFWYWxpZEN0eHRHZXRPcHRpb25zX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxTY2hlbWFWYWxpZEN0eHRHZXRPcHRpb25zCitleHRlcm4gX190eXBlb2YgKHhtbFNjaGVtYVZhbGlkQ3R4dEdldE9wdGlvbnMpIHhtbFNjaGVtYVZhbGlkQ3R4dEdldE9wdGlvbnNfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxTY2hlbWFWYWxpZEN0eHRHZXRPcHRpb25zIHhtbFNjaGVtYVZhbGlkQ3R4dEdldE9wdGlvbnNfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHNjaGVtYXMKKyN1bmRlZiB4bWxTY2hlbWFWYWxpZEN0eHRHZXRQYXJzZXJDdHh0CitleHRlcm4gX190eXBlb2YgKHhtbFNjaGVtYVZhbGlkQ3R4dEdldFBhcnNlckN0eHQpIHhtbFNjaGVtYVZhbGlkQ3R4dEdldFBhcnNlckN0eHQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTY2hlbWFWYWxpZEN0eHRHZXRQYXJzZXJDdHh0X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxTY2hlbWFWYWxpZEN0eHRHZXRQYXJzZXJDdHh0CitleHRlcm4gX190eXBlb2YgKHhtbFNjaGVtYVZhbGlkQ3R4dEdldFBhcnNlckN0eHQpIHhtbFNjaGVtYVZhbGlkQ3R4dEdldFBhcnNlckN0eHRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxTY2hlbWFWYWxpZEN0eHRHZXRQYXJzZXJDdHh0IHhtbFNjaGVtYVZhbGlkQ3R4dEdldFBhcnNlckN0eHRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHNjaGVtYXMKKyN1bmRlZiB4bWxTY2hlbWFWYWxpZGF0ZURvYworZXh0ZXJuIF9fdHlwZW9mICh4bWxTY2hlbWFWYWxpZGF0ZURvYykgeG1sU2NoZW1hVmFsaWRhdGVEb2MgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTY2hlbWFWYWxpZGF0ZURvY19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU2NoZW1hVmFsaWRhdGVEb2MKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2NoZW1hVmFsaWRhdGVEb2MpIHhtbFNjaGVtYVZhbGlkYXRlRG9jX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU2NoZW1hVmFsaWRhdGVEb2MgeG1sU2NoZW1hVmFsaWRhdGVEb2NfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHNjaGVtYXN0eXBlcworI3VuZGVmIHhtbFNjaGVtYVZhbGlkYXRlRmFjZXQKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2NoZW1hVmFsaWRhdGVGYWNldCkgeG1sU2NoZW1hVmFsaWRhdGVGYWNldCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFNjaGVtYVZhbGlkYXRlRmFjZXRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFNjaGVtYVZhbGlkYXRlRmFjZXQKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2NoZW1hVmFsaWRhdGVGYWNldCkgeG1sU2NoZW1hVmFsaWRhdGVGYWNldF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFNjaGVtYVZhbGlkYXRlRmFjZXQgeG1sU2NoZW1hVmFsaWRhdGVGYWNldF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sc2NoZW1hc3R5cGVzCisjdW5kZWYgeG1sU2NoZW1hVmFsaWRhdGVGYWNldFdodHNwCitleHRlcm4gX190eXBlb2YgKHhtbFNjaGVtYVZhbGlkYXRlRmFjZXRXaHRzcCkgeG1sU2NoZW1hVmFsaWRhdGVGYWNldFdodHNwIF9fYXR0cmlidXRlKChhbGlhcygieG1sU2NoZW1hVmFsaWRhdGVGYWNldFdodHNwX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0V2h0c3AKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2NoZW1hVmFsaWRhdGVGYWNldFdodHNwKSB4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0V2h0c3BfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0V2h0c3AgeG1sU2NoZW1hVmFsaWRhdGVGYWNldFdodHNwX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxzY2hlbWFzCisjdW5kZWYgeG1sU2NoZW1hVmFsaWRhdGVGaWxlCitleHRlcm4gX190eXBlb2YgKHhtbFNjaGVtYVZhbGlkYXRlRmlsZSkgeG1sU2NoZW1hVmFsaWRhdGVGaWxlIF9fYXR0cmlidXRlKChhbGlhcygieG1sU2NoZW1hVmFsaWRhdGVGaWxlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxTY2hlbWFWYWxpZGF0ZUZpbGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2NoZW1hVmFsaWRhdGVGaWxlKSB4bWxTY2hlbWFWYWxpZGF0ZUZpbGVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxTY2hlbWFWYWxpZGF0ZUZpbGUgeG1sU2NoZW1hVmFsaWRhdGVGaWxlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxzY2hlbWFzdHlwZXMKKyN1bmRlZiB4bWxTY2hlbWFWYWxpZGF0ZUxlbmd0aEZhY2V0CitleHRlcm4gX190eXBlb2YgKHhtbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXQpIHhtbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTY2hlbWFWYWxpZGF0ZUxlbmd0aEZhY2V0X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxTY2hlbWFWYWxpZGF0ZUxlbmd0aEZhY2V0CitleHRlcm4gX190eXBlb2YgKHhtbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXQpIHhtbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxTY2hlbWFWYWxpZGF0ZUxlbmd0aEZhY2V0IHhtbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHNjaGVtYXN0eXBlcworI3VuZGVmIHhtbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXRXaHRzcAorZXh0ZXJuIF9fdHlwZW9mICh4bWxTY2hlbWFWYWxpZGF0ZUxlbmd0aEZhY2V0V2h0c3ApIHhtbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXRXaHRzcCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXRXaHRzcF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldFdodHNwCitleHRlcm4gX190eXBlb2YgKHhtbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXRXaHRzcCkgeG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldFdodHNwX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldFdodHNwIHhtbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXRXaHRzcF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sc2NoZW1hc3R5cGVzCisjdW5kZWYgeG1sU2NoZW1hVmFsaWRhdGVMaXN0U2ltcGxlVHlwZUZhY2V0CitleHRlcm4gX190eXBlb2YgKHhtbFNjaGVtYVZhbGlkYXRlTGlzdFNpbXBsZVR5cGVGYWNldCkgeG1sU2NoZW1hVmFsaWRhdGVMaXN0U2ltcGxlVHlwZUZhY2V0IF9fYXR0cmlidXRlKChhbGlhcygieG1sU2NoZW1hVmFsaWRhdGVMaXN0U2ltcGxlVHlwZUZhY2V0X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxTY2hlbWFWYWxpZGF0ZUxpc3RTaW1wbGVUeXBlRmFjZXQKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2NoZW1hVmFsaWRhdGVMaXN0U2ltcGxlVHlwZUZhY2V0KSB4bWxTY2hlbWFWYWxpZGF0ZUxpc3RTaW1wbGVUeXBlRmFjZXRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxTY2hlbWFWYWxpZGF0ZUxpc3RTaW1wbGVUeXBlRmFjZXQgeG1sU2NoZW1hVmFsaWRhdGVMaXN0U2ltcGxlVHlwZUZhY2V0X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxzY2hlbWFzCisjdW5kZWYgeG1sU2NoZW1hVmFsaWRhdGVPbmVFbGVtZW50CitleHRlcm4gX190eXBlb2YgKHhtbFNjaGVtYVZhbGlkYXRlT25lRWxlbWVudCkgeG1sU2NoZW1hVmFsaWRhdGVPbmVFbGVtZW50IF9fYXR0cmlidXRlKChhbGlhcygieG1sU2NoZW1hVmFsaWRhdGVPbmVFbGVtZW50X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxTY2hlbWFWYWxpZGF0ZU9uZUVsZW1lbnQKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2NoZW1hVmFsaWRhdGVPbmVFbGVtZW50KSB4bWxTY2hlbWFWYWxpZGF0ZU9uZUVsZW1lbnRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxTY2hlbWFWYWxpZGF0ZU9uZUVsZW1lbnQgeG1sU2NoZW1hVmFsaWRhdGVPbmVFbGVtZW50X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxzY2hlbWFzdHlwZXMKKyN1bmRlZiB4bWxTY2hlbWFWYWxpZGF0ZVByZWRlZmluZWRUeXBlCitleHRlcm4gX190eXBlb2YgKHhtbFNjaGVtYVZhbGlkYXRlUHJlZGVmaW5lZFR5cGUpIHhtbFNjaGVtYVZhbGlkYXRlUHJlZGVmaW5lZFR5cGUgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTY2hlbWFWYWxpZGF0ZVByZWRlZmluZWRUeXBlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxTY2hlbWFWYWxpZGF0ZVByZWRlZmluZWRUeXBlCitleHRlcm4gX190eXBlb2YgKHhtbFNjaGVtYVZhbGlkYXRlUHJlZGVmaW5lZFR5cGUpIHhtbFNjaGVtYVZhbGlkYXRlUHJlZGVmaW5lZFR5cGVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxTY2hlbWFWYWxpZGF0ZVByZWRlZmluZWRUeXBlIHhtbFNjaGVtYVZhbGlkYXRlUHJlZGVmaW5lZFR5cGVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHNjaGVtYXMKKyN1bmRlZiB4bWxTY2hlbWFWYWxpZGF0ZVNldEZpbGVuYW1lCitleHRlcm4gX190eXBlb2YgKHhtbFNjaGVtYVZhbGlkYXRlU2V0RmlsZW5hbWUpIHhtbFNjaGVtYVZhbGlkYXRlU2V0RmlsZW5hbWUgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTY2hlbWFWYWxpZGF0ZVNldEZpbGVuYW1lX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxTY2hlbWFWYWxpZGF0ZVNldEZpbGVuYW1lCitleHRlcm4gX190eXBlb2YgKHhtbFNjaGVtYVZhbGlkYXRlU2V0RmlsZW5hbWUpIHhtbFNjaGVtYVZhbGlkYXRlU2V0RmlsZW5hbWVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxTY2hlbWFWYWxpZGF0ZVNldEZpbGVuYW1lIHhtbFNjaGVtYVZhbGlkYXRlU2V0RmlsZW5hbWVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHNjaGVtYXMKKyN1bmRlZiB4bWxTY2hlbWFWYWxpZGF0ZVNldExvY2F0b3IKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2NoZW1hVmFsaWRhdGVTZXRMb2NhdG9yKSB4bWxTY2hlbWFWYWxpZGF0ZVNldExvY2F0b3IgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTY2hlbWFWYWxpZGF0ZVNldExvY2F0b3JfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFNjaGVtYVZhbGlkYXRlU2V0TG9jYXRvcgorZXh0ZXJuIF9fdHlwZW9mICh4bWxTY2hlbWFWYWxpZGF0ZVNldExvY2F0b3IpIHhtbFNjaGVtYVZhbGlkYXRlU2V0TG9jYXRvcl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFNjaGVtYVZhbGlkYXRlU2V0TG9jYXRvciB4bWxTY2hlbWFWYWxpZGF0ZVNldExvY2F0b3JfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHNjaGVtYXMKKyN1bmRlZiB4bWxTY2hlbWFWYWxpZGF0ZVN0cmVhbQorZXh0ZXJuIF9fdHlwZW9mICh4bWxTY2hlbWFWYWxpZGF0ZVN0cmVhbSkgeG1sU2NoZW1hVmFsaWRhdGVTdHJlYW0gX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTY2hlbWFWYWxpZGF0ZVN0cmVhbV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU2NoZW1hVmFsaWRhdGVTdHJlYW0KK2V4dGVybiBfX3R5cGVvZiAoeG1sU2NoZW1hVmFsaWRhdGVTdHJlYW0pIHhtbFNjaGVtYVZhbGlkYXRlU3RyZWFtX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU2NoZW1hVmFsaWRhdGVTdHJlYW0geG1sU2NoZW1hVmFsaWRhdGVTdHJlYW1fX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHNjaGVtYXN0eXBlcworI3VuZGVmIHhtbFNjaGVtYVZhbHVlQXBwZW5kCitleHRlcm4gX190eXBlb2YgKHhtbFNjaGVtYVZhbHVlQXBwZW5kKSB4bWxTY2hlbWFWYWx1ZUFwcGVuZCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFNjaGVtYVZhbHVlQXBwZW5kX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxTY2hlbWFWYWx1ZUFwcGVuZAorZXh0ZXJuIF9fdHlwZW9mICh4bWxTY2hlbWFWYWx1ZUFwcGVuZCkgeG1sU2NoZW1hVmFsdWVBcHBlbmRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxTY2hlbWFWYWx1ZUFwcGVuZCB4bWxTY2hlbWFWYWx1ZUFwcGVuZF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sc2NoZW1hc3R5cGVzCisjdW5kZWYgeG1sU2NoZW1hVmFsdWVHZXRBc0Jvb2xlYW4KK2V4dGVybiBfX3R5cGVvZiAoeG1sU2NoZW1hVmFsdWVHZXRBc0Jvb2xlYW4pIHhtbFNjaGVtYVZhbHVlR2V0QXNCb29sZWFuIF9fYXR0cmlidXRlKChhbGlhcygieG1sU2NoZW1hVmFsdWVHZXRBc0Jvb2xlYW5fX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFNjaGVtYVZhbHVlR2V0QXNCb29sZWFuCitleHRlcm4gX190eXBlb2YgKHhtbFNjaGVtYVZhbHVlR2V0QXNCb29sZWFuKSB4bWxTY2hlbWFWYWx1ZUdldEFzQm9vbGVhbl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFNjaGVtYVZhbHVlR2V0QXNCb29sZWFuIHhtbFNjaGVtYVZhbHVlR2V0QXNCb29sZWFuX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxzY2hlbWFzdHlwZXMKKyN1bmRlZiB4bWxTY2hlbWFWYWx1ZUdldEFzU3RyaW5nCitleHRlcm4gX190eXBlb2YgKHhtbFNjaGVtYVZhbHVlR2V0QXNTdHJpbmcpIHhtbFNjaGVtYVZhbHVlR2V0QXNTdHJpbmcgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTY2hlbWFWYWx1ZUdldEFzU3RyaW5nX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxTY2hlbWFWYWx1ZUdldEFzU3RyaW5nCitleHRlcm4gX190eXBlb2YgKHhtbFNjaGVtYVZhbHVlR2V0QXNTdHJpbmcpIHhtbFNjaGVtYVZhbHVlR2V0QXNTdHJpbmdfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxTY2hlbWFWYWx1ZUdldEFzU3RyaW5nIHhtbFNjaGVtYVZhbHVlR2V0QXNTdHJpbmdfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHNjaGVtYXN0eXBlcworI3VuZGVmIHhtbFNjaGVtYVZhbHVlR2V0TmV4dAorZXh0ZXJuIF9fdHlwZW9mICh4bWxTY2hlbWFWYWx1ZUdldE5leHQpIHhtbFNjaGVtYVZhbHVlR2V0TmV4dCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFNjaGVtYVZhbHVlR2V0TmV4dF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU2NoZW1hVmFsdWVHZXROZXh0CitleHRlcm4gX190eXBlb2YgKHhtbFNjaGVtYVZhbHVlR2V0TmV4dCkgeG1sU2NoZW1hVmFsdWVHZXROZXh0X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU2NoZW1hVmFsdWVHZXROZXh0IHhtbFNjaGVtYVZhbHVlR2V0TmV4dF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sc2NoZW1hc3R5cGVzCisjdW5kZWYgeG1sU2NoZW1hV2hpdGVTcGFjZVJlcGxhY2UKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2NoZW1hV2hpdGVTcGFjZVJlcGxhY2UpIHhtbFNjaGVtYVdoaXRlU3BhY2VSZXBsYWNlIF9fYXR0cmlidXRlKChhbGlhcygieG1sU2NoZW1hV2hpdGVTcGFjZVJlcGxhY2VfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFNjaGVtYVdoaXRlU3BhY2VSZXBsYWNlCitleHRlcm4gX190eXBlb2YgKHhtbFNjaGVtYVdoaXRlU3BhY2VSZXBsYWNlKSB4bWxTY2hlbWFXaGl0ZVNwYWNlUmVwbGFjZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFNjaGVtYVdoaXRlU3BhY2VSZXBsYWNlIHhtbFNjaGVtYVdoaXRlU3BhY2VSZXBsYWNlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfU0NIRU1BVFJPTl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9zY2hlbWF0cm9uCisjdW5kZWYgeG1sU2NoZW1hdHJvbkZyZWUKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2NoZW1hdHJvbkZyZWUpIHhtbFNjaGVtYXRyb25GcmVlIF9fYXR0cmlidXRlKChhbGlhcygieG1sU2NoZW1hdHJvbkZyZWVfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFNjaGVtYXRyb25GcmVlCitleHRlcm4gX190eXBlb2YgKHhtbFNjaGVtYXRyb25GcmVlKSB4bWxTY2hlbWF0cm9uRnJlZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFNjaGVtYXRyb25GcmVlIHhtbFNjaGVtYXRyb25GcmVlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfU0NIRU1BVFJPTl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9zY2hlbWF0cm9uCisjdW5kZWYgeG1sU2NoZW1hdHJvbkZyZWVQYXJzZXJDdHh0CitleHRlcm4gX190eXBlb2YgKHhtbFNjaGVtYXRyb25GcmVlUGFyc2VyQ3R4dCkgeG1sU2NoZW1hdHJvbkZyZWVQYXJzZXJDdHh0IF9fYXR0cmlidXRlKChhbGlhcygieG1sU2NoZW1hdHJvbkZyZWVQYXJzZXJDdHh0X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxTY2hlbWF0cm9uRnJlZVBhcnNlckN0eHQKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2NoZW1hdHJvbkZyZWVQYXJzZXJDdHh0KSB4bWxTY2hlbWF0cm9uRnJlZVBhcnNlckN0eHRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxTY2hlbWF0cm9uRnJlZVBhcnNlckN0eHQgeG1sU2NoZW1hdHJvbkZyZWVQYXJzZXJDdHh0X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfU0NIRU1BVFJPTl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9zY2hlbWF0cm9uCisjdW5kZWYgeG1sU2NoZW1hdHJvbkZyZWVWYWxpZEN0eHQKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2NoZW1hdHJvbkZyZWVWYWxpZEN0eHQpIHhtbFNjaGVtYXRyb25GcmVlVmFsaWRDdHh0IF9fYXR0cmlidXRlKChhbGlhcygieG1sU2NoZW1hdHJvbkZyZWVWYWxpZEN0eHRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFNjaGVtYXRyb25GcmVlVmFsaWRDdHh0CitleHRlcm4gX190eXBlb2YgKHhtbFNjaGVtYXRyb25GcmVlVmFsaWRDdHh0KSB4bWxTY2hlbWF0cm9uRnJlZVZhbGlkQ3R4dF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFNjaGVtYXRyb25GcmVlVmFsaWRDdHh0IHhtbFNjaGVtYXRyb25GcmVlVmFsaWRDdHh0X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfU0NIRU1BVFJPTl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9zY2hlbWF0cm9uCisjdW5kZWYgeG1sU2NoZW1hdHJvbk5ld0RvY1BhcnNlckN0eHQKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2NoZW1hdHJvbk5ld0RvY1BhcnNlckN0eHQpIHhtbFNjaGVtYXRyb25OZXdEb2NQYXJzZXJDdHh0IF9fYXR0cmlidXRlKChhbGlhcygieG1sU2NoZW1hdHJvbk5ld0RvY1BhcnNlckN0eHRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFNjaGVtYXRyb25OZXdEb2NQYXJzZXJDdHh0CitleHRlcm4gX190eXBlb2YgKHhtbFNjaGVtYXRyb25OZXdEb2NQYXJzZXJDdHh0KSB4bWxTY2hlbWF0cm9uTmV3RG9jUGFyc2VyQ3R4dF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFNjaGVtYXRyb25OZXdEb2NQYXJzZXJDdHh0IHhtbFNjaGVtYXRyb25OZXdEb2NQYXJzZXJDdHh0X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfU0NIRU1BVFJPTl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9zY2hlbWF0cm9uCisjdW5kZWYgeG1sU2NoZW1hdHJvbk5ld01lbVBhcnNlckN0eHQKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2NoZW1hdHJvbk5ld01lbVBhcnNlckN0eHQpIHhtbFNjaGVtYXRyb25OZXdNZW1QYXJzZXJDdHh0IF9fYXR0cmlidXRlKChhbGlhcygieG1sU2NoZW1hdHJvbk5ld01lbVBhcnNlckN0eHRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFNjaGVtYXRyb25OZXdNZW1QYXJzZXJDdHh0CitleHRlcm4gX190eXBlb2YgKHhtbFNjaGVtYXRyb25OZXdNZW1QYXJzZXJDdHh0KSB4bWxTY2hlbWF0cm9uTmV3TWVtUGFyc2VyQ3R4dF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFNjaGVtYXRyb25OZXdNZW1QYXJzZXJDdHh0IHhtbFNjaGVtYXRyb25OZXdNZW1QYXJzZXJDdHh0X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfU0NIRU1BVFJPTl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9zY2hlbWF0cm9uCisjdW5kZWYgeG1sU2NoZW1hdHJvbk5ld1BhcnNlckN0eHQKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2NoZW1hdHJvbk5ld1BhcnNlckN0eHQpIHhtbFNjaGVtYXRyb25OZXdQYXJzZXJDdHh0IF9fYXR0cmlidXRlKChhbGlhcygieG1sU2NoZW1hdHJvbk5ld1BhcnNlckN0eHRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFNjaGVtYXRyb25OZXdQYXJzZXJDdHh0CitleHRlcm4gX190eXBlb2YgKHhtbFNjaGVtYXRyb25OZXdQYXJzZXJDdHh0KSB4bWxTY2hlbWF0cm9uTmV3UGFyc2VyQ3R4dF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFNjaGVtYXRyb25OZXdQYXJzZXJDdHh0IHhtbFNjaGVtYXRyb25OZXdQYXJzZXJDdHh0X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfU0NIRU1BVFJPTl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9zY2hlbWF0cm9uCisjdW5kZWYgeG1sU2NoZW1hdHJvbk5ld1ZhbGlkQ3R4dAorZXh0ZXJuIF9fdHlwZW9mICh4bWxTY2hlbWF0cm9uTmV3VmFsaWRDdHh0KSB4bWxTY2hlbWF0cm9uTmV3VmFsaWRDdHh0IF9fYXR0cmlidXRlKChhbGlhcygieG1sU2NoZW1hdHJvbk5ld1ZhbGlkQ3R4dF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU2NoZW1hdHJvbk5ld1ZhbGlkQ3R4dAorZXh0ZXJuIF9fdHlwZW9mICh4bWxTY2hlbWF0cm9uTmV3VmFsaWRDdHh0KSB4bWxTY2hlbWF0cm9uTmV3VmFsaWRDdHh0X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU2NoZW1hdHJvbk5ld1ZhbGlkQ3R4dCB4bWxTY2hlbWF0cm9uTmV3VmFsaWRDdHh0X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfU0NIRU1BVFJPTl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9zY2hlbWF0cm9uCisjdW5kZWYgeG1sU2NoZW1hdHJvblBhcnNlCitleHRlcm4gX190eXBlb2YgKHhtbFNjaGVtYXRyb25QYXJzZSkgeG1sU2NoZW1hdHJvblBhcnNlIF9fYXR0cmlidXRlKChhbGlhcygieG1sU2NoZW1hdHJvblBhcnNlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxTY2hlbWF0cm9uUGFyc2UKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2NoZW1hdHJvblBhcnNlKSB4bWxTY2hlbWF0cm9uUGFyc2VfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxTY2hlbWF0cm9uUGFyc2UgeG1sU2NoZW1hdHJvblBhcnNlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfU0NIRU1BVFJPTl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9zY2hlbWF0cm9uCisjdW5kZWYgeG1sU2NoZW1hdHJvblNldFZhbGlkU3RydWN0dXJlZEVycm9ycworZXh0ZXJuIF9fdHlwZW9mICh4bWxTY2hlbWF0cm9uU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzKSB4bWxTY2hlbWF0cm9uU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzIF9fYXR0cmlidXRlKChhbGlhcygieG1sU2NoZW1hdHJvblNldFZhbGlkU3RydWN0dXJlZEVycm9yc19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU2NoZW1hdHJvblNldFZhbGlkU3RydWN0dXJlZEVycm9ycworZXh0ZXJuIF9fdHlwZW9mICh4bWxTY2hlbWF0cm9uU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzKSB4bWxTY2hlbWF0cm9uU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU2NoZW1hdHJvblNldFZhbGlkU3RydWN0dXJlZEVycm9ycyB4bWxTY2hlbWF0cm9uU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfU0NIRU1BVFJPTl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9zY2hlbWF0cm9uCisjdW5kZWYgeG1sU2NoZW1hdHJvblZhbGlkYXRlRG9jCitleHRlcm4gX190eXBlb2YgKHhtbFNjaGVtYXRyb25WYWxpZGF0ZURvYykgeG1sU2NoZW1hdHJvblZhbGlkYXRlRG9jIF9fYXR0cmlidXRlKChhbGlhcygieG1sU2NoZW1hdHJvblZhbGlkYXRlRG9jX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxTY2hlbWF0cm9uVmFsaWRhdGVEb2MKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2NoZW1hdHJvblZhbGlkYXRlRG9jKSB4bWxTY2hlbWF0cm9uVmFsaWRhdGVEb2NfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxTY2hlbWF0cm9uVmFsaWRhdGVEb2MgeG1sU2NoZW1hdHJvblZhbGlkYXRlRG9jX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3RyZWUKKyN1bmRlZiB4bWxTZWFyY2hOcworZXh0ZXJuIF9fdHlwZW9mICh4bWxTZWFyY2hOcykgeG1sU2VhcmNoTnMgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTZWFyY2hOc19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU2VhcmNoTnMKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2VhcmNoTnMpIHhtbFNlYXJjaE5zX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU2VhcmNoTnMgeG1sU2VhcmNoTnNfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3RyZWUKKyN1bmRlZiB4bWxTZWFyY2hOc0J5SHJlZgorZXh0ZXJuIF9fdHlwZW9mICh4bWxTZWFyY2hOc0J5SHJlZikgeG1sU2VhcmNoTnNCeUhyZWYgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTZWFyY2hOc0J5SHJlZl9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU2VhcmNoTnNCeUhyZWYKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2VhcmNoTnNCeUhyZWYpIHhtbFNlYXJjaE5zQnlIcmVmX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU2VhcmNoTnNCeUhyZWYgeG1sU2VhcmNoTnNCeUhyZWZfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3RyZWUKKyN1bmRlZiB4bWxTZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lCitleHRlcm4gX190eXBlb2YgKHhtbFNldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUpIHhtbFNldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxTZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lCitleHRlcm4gX190eXBlb2YgKHhtbFNldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUpIHhtbFNldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxTZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lIHhtbFNldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3RyZWUKKyN1bmRlZiB4bWxTZXRDb21wcmVzc01vZGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2V0Q29tcHJlc3NNb2RlKSB4bWxTZXRDb21wcmVzc01vZGUgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTZXRDb21wcmVzc01vZGVfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFNldENvbXByZXNzTW9kZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxTZXRDb21wcmVzc01vZGUpIHhtbFNldENvbXByZXNzTW9kZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFNldENvbXByZXNzTW9kZSB4bWxTZXRDb21wcmVzc01vZGVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3RyZWUKKyN1bmRlZiB4bWxTZXREb2NDb21wcmVzc01vZGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2V0RG9jQ29tcHJlc3NNb2RlKSB4bWxTZXREb2NDb21wcmVzc01vZGUgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTZXREb2NDb21wcmVzc01vZGVfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFNldERvY0NvbXByZXNzTW9kZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxTZXREb2NDb21wcmVzc01vZGUpIHhtbFNldERvY0NvbXByZXNzTW9kZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFNldERvY0NvbXByZXNzTW9kZSB4bWxTZXREb2NDb21wcmVzc01vZGVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfTEVHQUNZX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3BhcnNlcgorI3VuZGVmIHhtbFNldEVudGl0eVJlZmVyZW5jZUZ1bmMKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2V0RW50aXR5UmVmZXJlbmNlRnVuYykgeG1sU2V0RW50aXR5UmVmZXJlbmNlRnVuYyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFNldEVudGl0eVJlZmVyZW5jZUZ1bmNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFNldEVudGl0eVJlZmVyZW5jZUZ1bmMKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2V0RW50aXR5UmVmZXJlbmNlRnVuYykgeG1sU2V0RW50aXR5UmVmZXJlbmNlRnVuY19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFNldEVudGl0eVJlZmVyZW5jZUZ1bmMgeG1sU2V0RW50aXR5UmVmZXJlbmNlRnVuY19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV94bWxJTworI3VuZGVmIHhtbFNldEV4dGVybmFsRW50aXR5TG9hZGVyCitleHRlcm4gX190eXBlb2YgKHhtbFNldEV4dGVybmFsRW50aXR5TG9hZGVyKSB4bWxTZXRFeHRlcm5hbEVudGl0eUxvYWRlciBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFNldEV4dGVybmFsRW50aXR5TG9hZGVyX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxTZXRFeHRlcm5hbEVudGl0eUxvYWRlcgorZXh0ZXJuIF9fdHlwZW9mICh4bWxTZXRFeHRlcm5hbEVudGl0eUxvYWRlcikgeG1sU2V0RXh0ZXJuYWxFbnRpdHlMb2FkZXJfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxTZXRFeHRlcm5hbEVudGl0eUxvYWRlciB4bWxTZXRFeHRlcm5hbEVudGl0eUxvYWRlcl9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9MRUdBQ1lfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fbGVnYWN5CisjdW5kZWYgeG1sU2V0RmVhdHVyZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxTZXRGZWF0dXJlKSB4bWxTZXRGZWF0dXJlIF9fYXR0cmlidXRlKChhbGlhcygieG1sU2V0RmVhdHVyZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU2V0RmVhdHVyZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxTZXRGZWF0dXJlKSB4bWxTZXRGZWF0dXJlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU2V0RmVhdHVyZSB4bWxTZXRGZWF0dXJlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX2Vycm9yCisjdW5kZWYgeG1sU2V0R2VuZXJpY0Vycm9yRnVuYworZXh0ZXJuIF9fdHlwZW9mICh4bWxTZXRHZW5lcmljRXJyb3JGdW5jKSB4bWxTZXRHZW5lcmljRXJyb3JGdW5jIF9fYXR0cmlidXRlKChhbGlhcygieG1sU2V0R2VuZXJpY0Vycm9yRnVuY19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU2V0R2VuZXJpY0Vycm9yRnVuYworZXh0ZXJuIF9fdHlwZW9mICh4bWxTZXRHZW5lcmljRXJyb3JGdW5jKSB4bWxTZXRHZW5lcmljRXJyb3JGdW5jX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU2V0R2VuZXJpY0Vycm9yRnVuYyB4bWxTZXRHZW5lcmljRXJyb3JGdW5jX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV90cmVlCisjdW5kZWYgeG1sU2V0TGlzdERvYworZXh0ZXJuIF9fdHlwZW9mICh4bWxTZXRMaXN0RG9jKSB4bWxTZXRMaXN0RG9jIF9fYXR0cmlidXRlKChhbGlhcygieG1sU2V0TGlzdERvY19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU2V0TGlzdERvYworZXh0ZXJuIF9fdHlwZW9mICh4bWxTZXRMaXN0RG9jKSB4bWxTZXRMaXN0RG9jX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU2V0TGlzdERvYyB4bWxTZXRMaXN0RG9jX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV90cmVlCisjdW5kZWYgeG1sU2V0TnMKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2V0TnMpIHhtbFNldE5zIF9fYXR0cmlidXRlKChhbGlhcygieG1sU2V0TnNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFNldE5zCitleHRlcm4gX190eXBlb2YgKHhtbFNldE5zKSB4bWxTZXROc19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFNldE5zIHhtbFNldE5zX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfWElOQ0xVREVfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3RyZWUKKyN1bmRlZiB4bWxTZXROc1Byb3AKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2V0TnNQcm9wKSB4bWxTZXROc1Byb3AgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTZXROc1Byb3BfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFNldE5zUHJvcAorZXh0ZXJuIF9fdHlwZW9mICh4bWxTZXROc1Byb3ApIHhtbFNldE5zUHJvcF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFNldE5zUHJvcCB4bWxTZXROc1Byb3BfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX1hJTkNMVURFX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV90cmVlCisjdW5kZWYgeG1sU2V0UHJvcAorZXh0ZXJuIF9fdHlwZW9mICh4bWxTZXRQcm9wKSB4bWxTZXRQcm9wIF9fYXR0cmlidXRlKChhbGlhcygieG1sU2V0UHJvcF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU2V0UHJvcAorZXh0ZXJuIF9fdHlwZW9mICh4bWxTZXRQcm9wKSB4bWxTZXRQcm9wX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU2V0UHJvcCB4bWxTZXRQcm9wX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX2Vycm9yCisjdW5kZWYgeG1sU2V0U3RydWN0dXJlZEVycm9yRnVuYworZXh0ZXJuIF9fdHlwZW9mICh4bWxTZXRTdHJ1Y3R1cmVkRXJyb3JGdW5jKSB4bWxTZXRTdHJ1Y3R1cmVkRXJyb3JGdW5jIF9fYXR0cmlidXRlKChhbGlhcygieG1sU2V0U3RydWN0dXJlZEVycm9yRnVuY19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU2V0U3RydWN0dXJlZEVycm9yRnVuYworZXh0ZXJuIF9fdHlwZW9mICh4bWxTZXRTdHJ1Y3R1cmVkRXJyb3JGdW5jKSB4bWxTZXRTdHJ1Y3R1cmVkRXJyb3JGdW5jX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU2V0U3RydWN0dXJlZEVycm9yRnVuYyB4bWxTZXRTdHJ1Y3R1cmVkRXJyb3JGdW5jX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV90cmVlCisjdW5kZWYgeG1sU2V0VHJlZURvYworZXh0ZXJuIF9fdHlwZW9mICh4bWxTZXRUcmVlRG9jKSB4bWxTZXRUcmVlRG9jIF9fYXR0cmlidXRlKChhbGlhcygieG1sU2V0VHJlZURvY19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU2V0VHJlZURvYworZXh0ZXJuIF9fdHlwZW9mICh4bWxTZXRUcmVlRG9jKSB4bWxTZXRUcmVlRG9jX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU2V0VHJlZURvYyB4bWxTZXRUcmVlRG9jX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1NBWDFfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fcGFyc2VyCisjdW5kZWYgeG1sU2V0dXBQYXJzZXJGb3JCdWZmZXIKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2V0dXBQYXJzZXJGb3JCdWZmZXIpIHhtbFNldHVwUGFyc2VyRm9yQnVmZmVyIF9fYXR0cmlidXRlKChhbGlhcygieG1sU2V0dXBQYXJzZXJGb3JCdWZmZXJfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFNldHVwUGFyc2VyRm9yQnVmZmVyCitleHRlcm4gX190eXBlb2YgKHhtbFNldHVwUGFyc2VyRm9yQnVmZmVyKSB4bWxTZXR1cFBhcnNlckZvckJ1ZmZlcl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFNldHVwUGFyc2VyRm9yQnVmZmVyIHhtbFNldHVwUGFyc2VyRm9yQnVmZmVyX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfREVCVUdfRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fZGVidWdYTUwKKyN1bmRlZiB4bWxTaGVsbAorZXh0ZXJuIF9fdHlwZW9mICh4bWxTaGVsbCkgeG1sU2hlbGwgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTaGVsbF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU2hlbGwKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2hlbGwpIHhtbFNoZWxsX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU2hlbGwgeG1sU2hlbGxfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9ERUJVR19FTkFCTEVEKSAmJiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9kZWJ1Z1hNTAorI3VuZGVmIHhtbFNoZWxsQmFzZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxTaGVsbEJhc2UpIHhtbFNoZWxsQmFzZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFNoZWxsQmFzZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU2hlbGxCYXNlCitleHRlcm4gX190eXBlb2YgKHhtbFNoZWxsQmFzZSkgeG1sU2hlbGxCYXNlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU2hlbGxCYXNlIHhtbFNoZWxsQmFzZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX0RFQlVHX0VOQUJMRUQpICYmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpICYmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9kZWJ1Z1hNTAorI3VuZGVmIHhtbFNoZWxsQ2F0CitleHRlcm4gX190eXBlb2YgKHhtbFNoZWxsQ2F0KSB4bWxTaGVsbENhdCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFNoZWxsQ2F0X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxTaGVsbENhdAorZXh0ZXJuIF9fdHlwZW9mICh4bWxTaGVsbENhdCkgeG1sU2hlbGxDYXRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxTaGVsbENhdCB4bWxTaGVsbENhdF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX0RFQlVHX0VOQUJMRUQpICYmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX2RlYnVnWE1MCisjdW5kZWYgeG1sU2hlbGxEaXIKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2hlbGxEaXIpIHhtbFNoZWxsRGlyIF9fYXR0cmlidXRlKChhbGlhcygieG1sU2hlbGxEaXJfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFNoZWxsRGlyCitleHRlcm4gX190eXBlb2YgKHhtbFNoZWxsRGlyKSB4bWxTaGVsbERpcl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFNoZWxsRGlyIHhtbFNoZWxsRGlyX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfREVCVUdfRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fZGVidWdYTUwKKyN1bmRlZiB4bWxTaGVsbER1CitleHRlcm4gX190eXBlb2YgKHhtbFNoZWxsRHUpIHhtbFNoZWxsRHUgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTaGVsbER1X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxTaGVsbER1CitleHRlcm4gX190eXBlb2YgKHhtbFNoZWxsRHUpIHhtbFNoZWxsRHVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxTaGVsbER1IHhtbFNoZWxsRHVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9ERUJVR19FTkFCTEVEKSAmJiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9kZWJ1Z1hNTAorI3VuZGVmIHhtbFNoZWxsTGlzdAorZXh0ZXJuIF9fdHlwZW9mICh4bWxTaGVsbExpc3QpIHhtbFNoZWxsTGlzdCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFNoZWxsTGlzdF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU2hlbGxMaXN0CitleHRlcm4gX190eXBlb2YgKHhtbFNoZWxsTGlzdCkgeG1sU2hlbGxMaXN0X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU2hlbGxMaXN0IHhtbFNoZWxsTGlzdF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX0RFQlVHX0VOQUJMRUQpICYmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX2RlYnVnWE1MCisjdW5kZWYgeG1sU2hlbGxMb2FkCitleHRlcm4gX190eXBlb2YgKHhtbFNoZWxsTG9hZCkgeG1sU2hlbGxMb2FkIF9fYXR0cmlidXRlKChhbGlhcygieG1sU2hlbGxMb2FkX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxTaGVsbExvYWQKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2hlbGxMb2FkKSB4bWxTaGVsbExvYWRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxTaGVsbExvYWQgeG1sU2hlbGxMb2FkX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfREVCVUdfRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX2RlYnVnWE1MCisjdW5kZWYgeG1sU2hlbGxQcmludE5vZGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2hlbGxQcmludE5vZGUpIHhtbFNoZWxsUHJpbnROb2RlIF9fYXR0cmlidXRlKChhbGlhcygieG1sU2hlbGxQcmludE5vZGVfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFNoZWxsUHJpbnROb2RlCitleHRlcm4gX190eXBlb2YgKHhtbFNoZWxsUHJpbnROb2RlKSB4bWxTaGVsbFByaW50Tm9kZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFNoZWxsUHJpbnROb2RlIHhtbFNoZWxsUHJpbnROb2RlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfREVCVUdfRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fZGVidWdYTUwKKyN1bmRlZiB4bWxTaGVsbFByaW50WFBhdGhFcnJvcgorZXh0ZXJuIF9fdHlwZW9mICh4bWxTaGVsbFByaW50WFBhdGhFcnJvcikgeG1sU2hlbGxQcmludFhQYXRoRXJyb3IgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTaGVsbFByaW50WFBhdGhFcnJvcl9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU2hlbGxQcmludFhQYXRoRXJyb3IKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2hlbGxQcmludFhQYXRoRXJyb3IpIHhtbFNoZWxsUHJpbnRYUGF0aEVycm9yX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU2hlbGxQcmludFhQYXRoRXJyb3IgeG1sU2hlbGxQcmludFhQYXRoRXJyb3JfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9ERUJVR19FTkFCTEVEKSAmJiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV9kZWJ1Z1hNTAorI3VuZGVmIHhtbFNoZWxsUHJpbnRYUGF0aFJlc3VsdAorZXh0ZXJuIF9fdHlwZW9mICh4bWxTaGVsbFByaW50WFBhdGhSZXN1bHQpIHhtbFNoZWxsUHJpbnRYUGF0aFJlc3VsdCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFNoZWxsUHJpbnRYUGF0aFJlc3VsdF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU2hlbGxQcmludFhQYXRoUmVzdWx0CitleHRlcm4gX190eXBlb2YgKHhtbFNoZWxsUHJpbnRYUGF0aFJlc3VsdCkgeG1sU2hlbGxQcmludFhQYXRoUmVzdWx0X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU2hlbGxQcmludFhQYXRoUmVzdWx0IHhtbFNoZWxsUHJpbnRYUGF0aFJlc3VsdF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX0RFQlVHX0VOQUJMRUQpICYmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX2RlYnVnWE1MCisjdW5kZWYgeG1sU2hlbGxQd2QKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2hlbGxQd2QpIHhtbFNoZWxsUHdkIF9fYXR0cmlidXRlKChhbGlhcygieG1sU2hlbGxQd2RfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFNoZWxsUHdkCitleHRlcm4gX190eXBlb2YgKHhtbFNoZWxsUHdkKSB4bWxTaGVsbFB3ZF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFNoZWxsUHdkIHhtbFNoZWxsUHdkX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfREVCVUdfRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX2RlYnVnWE1MCisjdW5kZWYgeG1sU2hlbGxTYXZlCitleHRlcm4gX190eXBlb2YgKHhtbFNoZWxsU2F2ZSkgeG1sU2hlbGxTYXZlIF9fYXR0cmlidXRlKChhbGlhcygieG1sU2hlbGxTYXZlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxTaGVsbFNhdmUKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2hlbGxTYXZlKSB4bWxTaGVsbFNhdmVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxTaGVsbFNhdmUgeG1sU2hlbGxTYXZlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfREVCVUdfRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfVkFMSURfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fZGVidWdYTUwKKyN1bmRlZiB4bWxTaGVsbFZhbGlkYXRlCitleHRlcm4gX190eXBlb2YgKHhtbFNoZWxsVmFsaWRhdGUpIHhtbFNoZWxsVmFsaWRhdGUgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTaGVsbFZhbGlkYXRlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxTaGVsbFZhbGlkYXRlCitleHRlcm4gX190eXBlb2YgKHhtbFNoZWxsVmFsaWRhdGUpIHhtbFNoZWxsVmFsaWRhdGVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxTaGVsbFZhbGlkYXRlIHhtbFNoZWxsVmFsaWRhdGVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9ERUJVR19FTkFCTEVEKSAmJiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKSAmJiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fZGVidWdYTUwKKyN1bmRlZiB4bWxTaGVsbFdyaXRlCitleHRlcm4gX190eXBlb2YgKHhtbFNoZWxsV3JpdGUpIHhtbFNoZWxsV3JpdGUgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTaGVsbFdyaXRlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxTaGVsbFdyaXRlCitleHRlcm4gX190eXBlb2YgKHhtbFNoZWxsV3JpdGUpIHhtbFNoZWxsV3JpdGVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxTaGVsbFdyaXRlIHhtbFNoZWxsV3JpdGVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fcGFyc2VyCisjdW5kZWYgeG1sU2tpcEJsYW5rQ2hhcnMKK2V4dGVybiBfX3R5cGVvZiAoeG1sU2tpcEJsYW5rQ2hhcnMpIHhtbFNraXBCbGFua0NoYXJzIF9fYXR0cmlidXRlKChhbGlhcygieG1sU2tpcEJsYW5rQ2hhcnNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFNraXBCbGFua0NoYXJzCitleHRlcm4gX190eXBlb2YgKHhtbFNraXBCbGFua0NoYXJzKSB4bWxTa2lwQmxhbmtDaGFyc19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFNraXBCbGFua0NoYXJzIHhtbFNraXBCbGFua0NoYXJzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV92YWxpZAorI3VuZGVmIHhtbFNucHJpbnRmRWxlbWVudENvbnRlbnQKK2V4dGVybiBfX3R5cGVvZiAoeG1sU25wcmludGZFbGVtZW50Q29udGVudCkgeG1sU25wcmludGZFbGVtZW50Q29udGVudCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFNucHJpbnRmRWxlbWVudENvbnRlbnRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFNucHJpbnRmRWxlbWVudENvbnRlbnQKK2V4dGVybiBfX3R5cGVvZiAoeG1sU25wcmludGZFbGVtZW50Q29udGVudCkgeG1sU25wcmludGZFbGVtZW50Q29udGVudF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFNucHJpbnRmRWxlbWVudENvbnRlbnQgeG1sU25wcmludGZFbGVtZW50Q29udGVudF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fcGFyc2VyCisjdW5kZWYgeG1sU3BsaXRRTmFtZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxTcGxpdFFOYW1lKSB4bWxTcGxpdFFOYW1lIF9fYXR0cmlidXRlKChhbGlhcygieG1sU3BsaXRRTmFtZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU3BsaXRRTmFtZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxTcGxpdFFOYW1lKSB4bWxTcGxpdFFOYW1lX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU3BsaXRRTmFtZSB4bWxTcGxpdFFOYW1lX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV90cmVlCisjdW5kZWYgeG1sU3BsaXRRTmFtZTIKK2V4dGVybiBfX3R5cGVvZiAoeG1sU3BsaXRRTmFtZTIpIHhtbFNwbGl0UU5hbWUyIF9fYXR0cmlidXRlKChhbGlhcygieG1sU3BsaXRRTmFtZTJfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFNwbGl0UU5hbWUyCitleHRlcm4gX190eXBlb2YgKHhtbFNwbGl0UU5hbWUyKSB4bWxTcGxpdFFOYW1lMl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFNwbGl0UU5hbWUyIHhtbFNwbGl0UU5hbWUyX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV90cmVlCisjdW5kZWYgeG1sU3BsaXRRTmFtZTMKK2V4dGVybiBfX3R5cGVvZiAoeG1sU3BsaXRRTmFtZTMpIHhtbFNwbGl0UU5hbWUzIF9fYXR0cmlidXRlKChhbGlhcygieG1sU3BsaXRRTmFtZTNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFNwbGl0UU5hbWUzCitleHRlcm4gX190eXBlb2YgKHhtbFNwbGl0UU5hbWUzKSB4bWxTcGxpdFFOYW1lM19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFNwbGl0UU5hbWUzIHhtbFNwbGl0UU5hbWUzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV92YWxpZAorI3VuZGVmIHhtbFNwcmludGZFbGVtZW50Q29udGVudAorZXh0ZXJuIF9fdHlwZW9mICh4bWxTcHJpbnRmRWxlbWVudENvbnRlbnQpIHhtbFNwcmludGZFbGVtZW50Q29udGVudCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFNwcmludGZFbGVtZW50Q29udGVudF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU3ByaW50ZkVsZW1lbnRDb250ZW50CitleHRlcm4gX190eXBlb2YgKHhtbFNwcmludGZFbGVtZW50Q29udGVudCkgeG1sU3ByaW50ZkVsZW1lbnRDb250ZW50X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU3ByaW50ZkVsZW1lbnRDb250ZW50IHhtbFNwcmludGZFbGVtZW50Q29udGVudF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9wYXJzZXIKKyN1bmRlZiB4bWxTdG9wUGFyc2VyCitleHRlcm4gX190eXBlb2YgKHhtbFN0b3BQYXJzZXIpIHhtbFN0b3BQYXJzZXIgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTdG9wUGFyc2VyX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxTdG9wUGFyc2VyCitleHRlcm4gX190eXBlb2YgKHhtbFN0b3BQYXJzZXIpIHhtbFN0b3BQYXJzZXJfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxTdG9wUGFyc2VyIHhtbFN0b3BQYXJzZXJfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3htbHN0cmluZworI3VuZGVmIHhtbFN0ckVxdWFsCitleHRlcm4gX190eXBlb2YgKHhtbFN0ckVxdWFsKSB4bWxTdHJFcXVhbCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFN0ckVxdWFsX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxTdHJFcXVhbAorZXh0ZXJuIF9fdHlwZW9mICh4bWxTdHJFcXVhbCkgeG1sU3RyRXF1YWxfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxTdHJFcXVhbCB4bWxTdHJFcXVhbF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21feG1sc3RyaW5nCisjdW5kZWYgeG1sU3RyUHJpbnRmCitleHRlcm4gX190eXBlb2YgKHhtbFN0clByaW50ZikgeG1sU3RyUHJpbnRmIF9fYXR0cmlidXRlKChhbGlhcygieG1sU3RyUHJpbnRmX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxTdHJQcmludGYKK2V4dGVybiBfX3R5cGVvZiAoeG1sU3RyUHJpbnRmKSB4bWxTdHJQcmludGZfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxTdHJQcmludGYgeG1sU3RyUHJpbnRmX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV94bWxzdHJpbmcKKyN1bmRlZiB4bWxTdHJRRXF1YWwKK2V4dGVybiBfX3R5cGVvZiAoeG1sU3RyUUVxdWFsKSB4bWxTdHJRRXF1YWwgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTdHJRRXF1YWxfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFN0clFFcXVhbAorZXh0ZXJuIF9fdHlwZW9mICh4bWxTdHJRRXF1YWwpIHhtbFN0clFFcXVhbF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFN0clFFcXVhbCB4bWxTdHJRRXF1YWxfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3htbHN0cmluZworI3VuZGVmIHhtbFN0clZQcmludGYKK2V4dGVybiBfX3R5cGVvZiAoeG1sU3RyVlByaW50ZikgeG1sU3RyVlByaW50ZiBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFN0clZQcmludGZfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFN0clZQcmludGYKK2V4dGVybiBfX3R5cGVvZiAoeG1sU3RyVlByaW50ZikgeG1sU3RyVlByaW50Zl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFN0clZQcmludGYgeG1sU3RyVlByaW50Zl9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21feG1sc3RyaW5nCisjdW5kZWYgeG1sU3RyY2FzZWNtcAorZXh0ZXJuIF9fdHlwZW9mICh4bWxTdHJjYXNlY21wKSB4bWxTdHJjYXNlY21wIF9fYXR0cmlidXRlKChhbGlhcygieG1sU3RyY2FzZWNtcF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU3RyY2FzZWNtcAorZXh0ZXJuIF9fdHlwZW9mICh4bWxTdHJjYXNlY21wKSB4bWxTdHJjYXNlY21wX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU3RyY2FzZWNtcCB4bWxTdHJjYXNlY21wX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV94bWxzdHJpbmcKKyN1bmRlZiB4bWxTdHJjYXNlc3RyCitleHRlcm4gX190eXBlb2YgKHhtbFN0cmNhc2VzdHIpIHhtbFN0cmNhc2VzdHIgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTdHJjYXNlc3RyX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxTdHJjYXNlc3RyCitleHRlcm4gX190eXBlb2YgKHhtbFN0cmNhc2VzdHIpIHhtbFN0cmNhc2VzdHJfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxTdHJjYXNlc3RyIHhtbFN0cmNhc2VzdHJfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3htbHN0cmluZworI3VuZGVmIHhtbFN0cmNhdAorZXh0ZXJuIF9fdHlwZW9mICh4bWxTdHJjYXQpIHhtbFN0cmNhdCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFN0cmNhdF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU3RyY2F0CitleHRlcm4gX190eXBlb2YgKHhtbFN0cmNhdCkgeG1sU3RyY2F0X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU3RyY2F0IHhtbFN0cmNhdF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21feG1sc3RyaW5nCisjdW5kZWYgeG1sU3RyY2hyCitleHRlcm4gX190eXBlb2YgKHhtbFN0cmNocikgeG1sU3RyY2hyIF9fYXR0cmlidXRlKChhbGlhcygieG1sU3RyY2hyX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxTdHJjaHIKK2V4dGVybiBfX3R5cGVvZiAoeG1sU3RyY2hyKSB4bWxTdHJjaHJfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxTdHJjaHIgeG1sU3RyY2hyX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV94bWxzdHJpbmcKKyN1bmRlZiB4bWxTdHJjbXAKK2V4dGVybiBfX3R5cGVvZiAoeG1sU3RyY21wKSB4bWxTdHJjbXAgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTdHJjbXBfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFN0cmNtcAorZXh0ZXJuIF9fdHlwZW9mICh4bWxTdHJjbXApIHhtbFN0cmNtcF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFN0cmNtcCB4bWxTdHJjbXBfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3htbHN0cmluZworI3VuZGVmIHhtbFN0cmR1cAorZXh0ZXJuIF9fdHlwZW9mICh4bWxTdHJkdXApIHhtbFN0cmR1cCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFN0cmR1cF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU3RyZHVwCitleHRlcm4gX190eXBlb2YgKHhtbFN0cmR1cCkgeG1sU3RyZHVwX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU3RyZHVwIHhtbFN0cmR1cF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9QQVRURVJOX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3BhdHRlcm4KKyN1bmRlZiB4bWxTdHJlYW1Qb3AKK2V4dGVybiBfX3R5cGVvZiAoeG1sU3RyZWFtUG9wKSB4bWxTdHJlYW1Qb3AgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTdHJlYW1Qb3BfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFN0cmVhbVBvcAorZXh0ZXJuIF9fdHlwZW9mICh4bWxTdHJlYW1Qb3ApIHhtbFN0cmVhbVBvcF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFN0cmVhbVBvcCB4bWxTdHJlYW1Qb3BfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9QQVRURVJOX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3BhdHRlcm4KKyN1bmRlZiB4bWxTdHJlYW1QdXNoCitleHRlcm4gX190eXBlb2YgKHhtbFN0cmVhbVB1c2gpIHhtbFN0cmVhbVB1c2ggX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTdHJlYW1QdXNoX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxTdHJlYW1QdXNoCitleHRlcm4gX190eXBlb2YgKHhtbFN0cmVhbVB1c2gpIHhtbFN0cmVhbVB1c2hfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxTdHJlYW1QdXNoIHhtbFN0cmVhbVB1c2hfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9QQVRURVJOX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3BhdHRlcm4KKyN1bmRlZiB4bWxTdHJlYW1QdXNoQXR0cgorZXh0ZXJuIF9fdHlwZW9mICh4bWxTdHJlYW1QdXNoQXR0cikgeG1sU3RyZWFtUHVzaEF0dHIgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTdHJlYW1QdXNoQXR0cl9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU3RyZWFtUHVzaEF0dHIKK2V4dGVybiBfX3R5cGVvZiAoeG1sU3RyZWFtUHVzaEF0dHIpIHhtbFN0cmVhbVB1c2hBdHRyX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU3RyZWFtUHVzaEF0dHIgeG1sU3RyZWFtUHVzaEF0dHJfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9QQVRURVJOX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3BhdHRlcm4KKyN1bmRlZiB4bWxTdHJlYW1QdXNoTm9kZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxTdHJlYW1QdXNoTm9kZSkgeG1sU3RyZWFtUHVzaE5vZGUgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTdHJlYW1QdXNoTm9kZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU3RyZWFtUHVzaE5vZGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sU3RyZWFtUHVzaE5vZGUpIHhtbFN0cmVhbVB1c2hOb2RlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU3RyZWFtUHVzaE5vZGUgeG1sU3RyZWFtUHVzaE5vZGVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9QQVRURVJOX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3BhdHRlcm4KKyN1bmRlZiB4bWxTdHJlYW1XYW50c0FueU5vZGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sU3RyZWFtV2FudHNBbnlOb2RlKSB4bWxTdHJlYW1XYW50c0FueU5vZGUgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTdHJlYW1XYW50c0FueU5vZGVfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFN0cmVhbVdhbnRzQW55Tm9kZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxTdHJlYW1XYW50c0FueU5vZGUpIHhtbFN0cmVhbVdhbnRzQW55Tm9kZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFN0cmVhbVdhbnRzQW55Tm9kZSB4bWxTdHJlYW1XYW50c0FueU5vZGVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fcGFyc2VySW50ZXJuYWxzCisjdW5kZWYgeG1sU3RyaW5nQ3VycmVudENoYXIKK2V4dGVybiBfX3R5cGVvZiAoeG1sU3RyaW5nQ3VycmVudENoYXIpIHhtbFN0cmluZ0N1cnJlbnRDaGFyIF9fYXR0cmlidXRlKChhbGlhcygieG1sU3RyaW5nQ3VycmVudENoYXJfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFN0cmluZ0N1cnJlbnRDaGFyCitleHRlcm4gX190eXBlb2YgKHhtbFN0cmluZ0N1cnJlbnRDaGFyKSB4bWxTdHJpbmdDdXJyZW50Q2hhcl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFN0cmluZ0N1cnJlbnRDaGFyIHhtbFN0cmluZ0N1cnJlbnRDaGFyX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9wYXJzZXIKKyN1bmRlZiB4bWxTdHJpbmdEZWNvZGVFbnRpdGllcworZXh0ZXJuIF9fdHlwZW9mICh4bWxTdHJpbmdEZWNvZGVFbnRpdGllcykgeG1sU3RyaW5nRGVjb2RlRW50aXRpZXMgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTdHJpbmdEZWNvZGVFbnRpdGllc19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU3RyaW5nRGVjb2RlRW50aXRpZXMKK2V4dGVybiBfX3R5cGVvZiAoeG1sU3RyaW5nRGVjb2RlRW50aXRpZXMpIHhtbFN0cmluZ0RlY29kZUVudGl0aWVzX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU3RyaW5nRGVjb2RlRW50aXRpZXMgeG1sU3RyaW5nRGVjb2RlRW50aXRpZXNfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3RyZWUKKyN1bmRlZiB4bWxTdHJpbmdHZXROb2RlTGlzdAorZXh0ZXJuIF9fdHlwZW9mICh4bWxTdHJpbmdHZXROb2RlTGlzdCkgeG1sU3RyaW5nR2V0Tm9kZUxpc3QgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTdHJpbmdHZXROb2RlTGlzdF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU3RyaW5nR2V0Tm9kZUxpc3QKK2V4dGVybiBfX3R5cGVvZiAoeG1sU3RyaW5nR2V0Tm9kZUxpc3QpIHhtbFN0cmluZ0dldE5vZGVMaXN0X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU3RyaW5nR2V0Tm9kZUxpc3QgeG1sU3RyaW5nR2V0Tm9kZUxpc3RfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3BhcnNlcgorI3VuZGVmIHhtbFN0cmluZ0xlbkRlY29kZUVudGl0aWVzCitleHRlcm4gX190eXBlb2YgKHhtbFN0cmluZ0xlbkRlY29kZUVudGl0aWVzKSB4bWxTdHJpbmdMZW5EZWNvZGVFbnRpdGllcyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFN0cmluZ0xlbkRlY29kZUVudGl0aWVzX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxTdHJpbmdMZW5EZWNvZGVFbnRpdGllcworZXh0ZXJuIF9fdHlwZW9mICh4bWxTdHJpbmdMZW5EZWNvZGVFbnRpdGllcykgeG1sU3RyaW5nTGVuRGVjb2RlRW50aXRpZXNfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxTdHJpbmdMZW5EZWNvZGVFbnRpdGllcyB4bWxTdHJpbmdMZW5EZWNvZGVFbnRpdGllc19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fdHJlZQorI3VuZGVmIHhtbFN0cmluZ0xlbkdldE5vZGVMaXN0CitleHRlcm4gX190eXBlb2YgKHhtbFN0cmluZ0xlbkdldE5vZGVMaXN0KSB4bWxTdHJpbmdMZW5HZXROb2RlTGlzdCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFN0cmluZ0xlbkdldE5vZGVMaXN0X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxTdHJpbmdMZW5HZXROb2RlTGlzdAorZXh0ZXJuIF9fdHlwZW9mICh4bWxTdHJpbmdMZW5HZXROb2RlTGlzdCkgeG1sU3RyaW5nTGVuR2V0Tm9kZUxpc3RfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxTdHJpbmdMZW5HZXROb2RlTGlzdCB4bWxTdHJpbmdMZW5HZXROb2RlTGlzdF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21feG1sc3RyaW5nCisjdW5kZWYgeG1sU3RybGVuCitleHRlcm4gX190eXBlb2YgKHhtbFN0cmxlbikgeG1sU3RybGVuIF9fYXR0cmlidXRlKChhbGlhcygieG1sU3RybGVuX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxTdHJsZW4KK2V4dGVybiBfX3R5cGVvZiAoeG1sU3RybGVuKSB4bWxTdHJsZW5fX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxTdHJsZW4geG1sU3RybGVuX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV94bWxzdHJpbmcKKyN1bmRlZiB4bWxTdHJuY2FzZWNtcAorZXh0ZXJuIF9fdHlwZW9mICh4bWxTdHJuY2FzZWNtcCkgeG1sU3RybmNhc2VjbXAgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTdHJuY2FzZWNtcF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU3RybmNhc2VjbXAKK2V4dGVybiBfX3R5cGVvZiAoeG1sU3RybmNhc2VjbXApIHhtbFN0cm5jYXNlY21wX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU3RybmNhc2VjbXAgeG1sU3RybmNhc2VjbXBfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3htbHN0cmluZworI3VuZGVmIHhtbFN0cm5jYXQKK2V4dGVybiBfX3R5cGVvZiAoeG1sU3RybmNhdCkgeG1sU3RybmNhdCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFN0cm5jYXRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFN0cm5jYXQKK2V4dGVybiBfX3R5cGVvZiAoeG1sU3RybmNhdCkgeG1sU3RybmNhdF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFN0cm5jYXQgeG1sU3RybmNhdF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21feG1sc3RyaW5nCisjdW5kZWYgeG1sU3RybmNhdE5ldworZXh0ZXJuIF9fdHlwZW9mICh4bWxTdHJuY2F0TmV3KSB4bWxTdHJuY2F0TmV3IF9fYXR0cmlidXRlKChhbGlhcygieG1sU3RybmNhdE5ld19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sU3RybmNhdE5ldworZXh0ZXJuIF9fdHlwZW9mICh4bWxTdHJuY2F0TmV3KSB4bWxTdHJuY2F0TmV3X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sU3RybmNhdE5ldyB4bWxTdHJuY2F0TmV3X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV94bWxzdHJpbmcKKyN1bmRlZiB4bWxTdHJuY21wCitleHRlcm4gX190eXBlb2YgKHhtbFN0cm5jbXApIHhtbFN0cm5jbXAgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTdHJuY21wX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxTdHJuY21wCitleHRlcm4gX190eXBlb2YgKHhtbFN0cm5jbXApIHhtbFN0cm5jbXBfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxTdHJuY21wIHhtbFN0cm5jbXBfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3htbHN0cmluZworI3VuZGVmIHhtbFN0cm5kdXAKK2V4dGVybiBfX3R5cGVvZiAoeG1sU3RybmR1cCkgeG1sU3RybmR1cCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFN0cm5kdXBfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFN0cm5kdXAKK2V4dGVybiBfX3R5cGVvZiAoeG1sU3RybmR1cCkgeG1sU3RybmR1cF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFN0cm5kdXAgeG1sU3RybmR1cF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21feG1sc3RyaW5nCisjdW5kZWYgeG1sU3Ryc3RyCitleHRlcm4gX190eXBlb2YgKHhtbFN0cnN0cikgeG1sU3Ryc3RyIF9fYXR0cmlidXRlKChhbGlhcygieG1sU3Ryc3RyX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxTdHJzdHIKK2V4dGVybiBfX3R5cGVvZiAoeG1sU3Ryc3RyKSB4bWxTdHJzdHJfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxTdHJzdHIgeG1sU3Ryc3RyX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV94bWxzdHJpbmcKKyN1bmRlZiB4bWxTdHJzdWIKK2V4dGVybiBfX3R5cGVvZiAoeG1sU3Ryc3ViKSB4bWxTdHJzdWIgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTdHJzdWJfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFN0cnN1YgorZXh0ZXJuIF9fdHlwZW9mICh4bWxTdHJzdWIpIHhtbFN0cnN1Yl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFN0cnN1YiB4bWxTdHJzdWJfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3BhcnNlckludGVybmFscworI3VuZGVmIHhtbFN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHQKK2V4dGVybiBfX3R5cGVvZiAoeG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdCkgeG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHQKK2V4dGVybiBfX3R5cGVvZiAoeG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdCkgeG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHQgeG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fcGFyc2VySW50ZXJuYWxzCisjdW5kZWYgeG1sU3dpdGNoRW5jb2RpbmcKK2V4dGVybiBfX3R5cGVvZiAoeG1sU3dpdGNoRW5jb2RpbmcpIHhtbFN3aXRjaEVuY29kaW5nIF9fYXR0cmlidXRlKChhbGlhcygieG1sU3dpdGNoRW5jb2RpbmdfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFN3aXRjaEVuY29kaW5nCitleHRlcm4gX190eXBlb2YgKHhtbFN3aXRjaEVuY29kaW5nKSB4bWxTd2l0Y2hFbmNvZGluZ19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFN3aXRjaEVuY29kaW5nIHhtbFN3aXRjaEVuY29kaW5nX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV9wYXJzZXJJbnRlcm5hbHMKKyN1bmRlZiB4bWxTd2l0Y2hJbnB1dEVuY29kaW5nCitleHRlcm4gX190eXBlb2YgKHhtbFN3aXRjaElucHV0RW5jb2RpbmcpIHhtbFN3aXRjaElucHV0RW5jb2RpbmcgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxTd2l0Y2hJbnB1dEVuY29kaW5nX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxTd2l0Y2hJbnB1dEVuY29kaW5nCitleHRlcm4gX190eXBlb2YgKHhtbFN3aXRjaElucHV0RW5jb2RpbmcpIHhtbFN3aXRjaElucHV0RW5jb2RpbmdfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxTd2l0Y2hJbnB1dEVuY29kaW5nIHhtbFN3aXRjaElucHV0RW5jb2RpbmdfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3BhcnNlckludGVybmFscworI3VuZGVmIHhtbFN3aXRjaFRvRW5jb2RpbmcKK2V4dGVybiBfX3R5cGVvZiAoeG1sU3dpdGNoVG9FbmNvZGluZykgeG1sU3dpdGNoVG9FbmNvZGluZyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFN3aXRjaFRvRW5jb2RpbmdfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFN3aXRjaFRvRW5jb2RpbmcKK2V4dGVybiBfX3R5cGVvZiAoeG1sU3dpdGNoVG9FbmNvZGluZykgeG1sU3dpdGNoVG9FbmNvZGluZ19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFN3aXRjaFRvRW5jb2RpbmcgeG1sU3dpdGNoVG9FbmNvZGluZ19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fdHJlZQorI3VuZGVmIHhtbFRleHRDb25jYXQKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dENvbmNhdCkgeG1sVGV4dENvbmNhdCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFRleHRDb25jYXRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFRleHRDb25jYXQKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dENvbmNhdCkgeG1sVGV4dENvbmNhdF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFRleHRDb25jYXQgeG1sVGV4dENvbmNhdF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fdHJlZQorI3VuZGVmIHhtbFRleHRNZXJnZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0TWVyZ2UpIHhtbFRleHRNZXJnZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFRleHRNZXJnZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGV4dE1lcmdlCitleHRlcm4gX190eXBlb2YgKHhtbFRleHRNZXJnZSkgeG1sVGV4dE1lcmdlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGV4dE1lcmdlIHhtbFRleHRNZXJnZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1scmVhZGVyCisjdW5kZWYgeG1sVGV4dFJlYWRlckF0dHJpYnV0ZUNvdW50CitleHRlcm4gX190eXBlb2YgKHhtbFRleHRSZWFkZXJBdHRyaWJ1dGVDb3VudCkgeG1sVGV4dFJlYWRlckF0dHJpYnV0ZUNvdW50IF9fYXR0cmlidXRlKChhbGlhcygieG1sVGV4dFJlYWRlckF0dHJpYnV0ZUNvdW50X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxUZXh0UmVhZGVyQXR0cmlidXRlQ291bnQKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFJlYWRlckF0dHJpYnV0ZUNvdW50KSB4bWxUZXh0UmVhZGVyQXR0cmlidXRlQ291bnRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxUZXh0UmVhZGVyQXR0cmlidXRlQ291bnQgeG1sVGV4dFJlYWRlckF0dHJpYnV0ZUNvdW50X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHJlYWRlcgorI3VuZGVmIHhtbFRleHRSZWFkZXJCYXNlVXJpCitleHRlcm4gX190eXBlb2YgKHhtbFRleHRSZWFkZXJCYXNlVXJpKSB4bWxUZXh0UmVhZGVyQmFzZVVyaSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFRleHRSZWFkZXJCYXNlVXJpX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxUZXh0UmVhZGVyQmFzZVVyaQorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0UmVhZGVyQmFzZVVyaSkgeG1sVGV4dFJlYWRlckJhc2VVcmlfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxUZXh0UmVhZGVyQmFzZVVyaSB4bWxUZXh0UmVhZGVyQmFzZVVyaV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxyZWFkZXIKKyN1bmRlZiB4bWxUZXh0UmVhZGVyQnl0ZUNvbnN1bWVkCitleHRlcm4gX190eXBlb2YgKHhtbFRleHRSZWFkZXJCeXRlQ29uc3VtZWQpIHhtbFRleHRSZWFkZXJCeXRlQ29uc3VtZWQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxUZXh0UmVhZGVyQnl0ZUNvbnN1bWVkX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxUZXh0UmVhZGVyQnl0ZUNvbnN1bWVkCitleHRlcm4gX190eXBlb2YgKHhtbFRleHRSZWFkZXJCeXRlQ29uc3VtZWQpIHhtbFRleHRSZWFkZXJCeXRlQ29uc3VtZWRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxUZXh0UmVhZGVyQnl0ZUNvbnN1bWVkIHhtbFRleHRSZWFkZXJCeXRlQ29uc3VtZWRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1scmVhZGVyCisjdW5kZWYgeG1sVGV4dFJlYWRlckNsb3NlCitleHRlcm4gX190eXBlb2YgKHhtbFRleHRSZWFkZXJDbG9zZSkgeG1sVGV4dFJlYWRlckNsb3NlIF9fYXR0cmlidXRlKChhbGlhcygieG1sVGV4dFJlYWRlckNsb3NlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxUZXh0UmVhZGVyQ2xvc2UKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFJlYWRlckNsb3NlKSB4bWxUZXh0UmVhZGVyQ2xvc2VfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxUZXh0UmVhZGVyQ2xvc2UgeG1sVGV4dFJlYWRlckNsb3NlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHJlYWRlcgorI3VuZGVmIHhtbFRleHRSZWFkZXJDb25zdEJhc2VVcmkKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFJlYWRlckNvbnN0QmFzZVVyaSkgeG1sVGV4dFJlYWRlckNvbnN0QmFzZVVyaSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFRleHRSZWFkZXJDb25zdEJhc2VVcmlfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFRleHRSZWFkZXJDb25zdEJhc2VVcmkKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFJlYWRlckNvbnN0QmFzZVVyaSkgeG1sVGV4dFJlYWRlckNvbnN0QmFzZVVyaV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFRleHRSZWFkZXJDb25zdEJhc2VVcmkgeG1sVGV4dFJlYWRlckNvbnN0QmFzZVVyaV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxyZWFkZXIKKyN1bmRlZiB4bWxUZXh0UmVhZGVyQ29uc3RFbmNvZGluZworZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0UmVhZGVyQ29uc3RFbmNvZGluZykgeG1sVGV4dFJlYWRlckNvbnN0RW5jb2RpbmcgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxUZXh0UmVhZGVyQ29uc3RFbmNvZGluZ19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGV4dFJlYWRlckNvbnN0RW5jb2RpbmcKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFJlYWRlckNvbnN0RW5jb2RpbmcpIHhtbFRleHRSZWFkZXJDb25zdEVuY29kaW5nX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGV4dFJlYWRlckNvbnN0RW5jb2RpbmcgeG1sVGV4dFJlYWRlckNvbnN0RW5jb2RpbmdfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1scmVhZGVyCisjdW5kZWYgeG1sVGV4dFJlYWRlckNvbnN0TG9jYWxOYW1lCitleHRlcm4gX190eXBlb2YgKHhtbFRleHRSZWFkZXJDb25zdExvY2FsTmFtZSkgeG1sVGV4dFJlYWRlckNvbnN0TG9jYWxOYW1lIF9fYXR0cmlidXRlKChhbGlhcygieG1sVGV4dFJlYWRlckNvbnN0TG9jYWxOYW1lX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxUZXh0UmVhZGVyQ29uc3RMb2NhbE5hbWUKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFJlYWRlckNvbnN0TG9jYWxOYW1lKSB4bWxUZXh0UmVhZGVyQ29uc3RMb2NhbE5hbWVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxUZXh0UmVhZGVyQ29uc3RMb2NhbE5hbWUgeG1sVGV4dFJlYWRlckNvbnN0TG9jYWxOYW1lX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHJlYWRlcgorI3VuZGVmIHhtbFRleHRSZWFkZXJDb25zdE5hbWUKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFJlYWRlckNvbnN0TmFtZSkgeG1sVGV4dFJlYWRlckNvbnN0TmFtZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFRleHRSZWFkZXJDb25zdE5hbWVfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFRleHRSZWFkZXJDb25zdE5hbWUKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFJlYWRlckNvbnN0TmFtZSkgeG1sVGV4dFJlYWRlckNvbnN0TmFtZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFRleHRSZWFkZXJDb25zdE5hbWUgeG1sVGV4dFJlYWRlckNvbnN0TmFtZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxyZWFkZXIKKyN1bmRlZiB4bWxUZXh0UmVhZGVyQ29uc3ROYW1lc3BhY2VVcmkKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFJlYWRlckNvbnN0TmFtZXNwYWNlVXJpKSB4bWxUZXh0UmVhZGVyQ29uc3ROYW1lc3BhY2VVcmkgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxUZXh0UmVhZGVyQ29uc3ROYW1lc3BhY2VVcmlfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFRleHRSZWFkZXJDb25zdE5hbWVzcGFjZVVyaQorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0UmVhZGVyQ29uc3ROYW1lc3BhY2VVcmkpIHhtbFRleHRSZWFkZXJDb25zdE5hbWVzcGFjZVVyaV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFRleHRSZWFkZXJDb25zdE5hbWVzcGFjZVVyaSB4bWxUZXh0UmVhZGVyQ29uc3ROYW1lc3BhY2VVcmlfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1scmVhZGVyCisjdW5kZWYgeG1sVGV4dFJlYWRlckNvbnN0UHJlZml4CitleHRlcm4gX190eXBlb2YgKHhtbFRleHRSZWFkZXJDb25zdFByZWZpeCkgeG1sVGV4dFJlYWRlckNvbnN0UHJlZml4IF9fYXR0cmlidXRlKChhbGlhcygieG1sVGV4dFJlYWRlckNvbnN0UHJlZml4X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxUZXh0UmVhZGVyQ29uc3RQcmVmaXgKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFJlYWRlckNvbnN0UHJlZml4KSB4bWxUZXh0UmVhZGVyQ29uc3RQcmVmaXhfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxUZXh0UmVhZGVyQ29uc3RQcmVmaXggeG1sVGV4dFJlYWRlckNvbnN0UHJlZml4X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHJlYWRlcgorI3VuZGVmIHhtbFRleHRSZWFkZXJDb25zdFN0cmluZworZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0UmVhZGVyQ29uc3RTdHJpbmcpIHhtbFRleHRSZWFkZXJDb25zdFN0cmluZyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFRleHRSZWFkZXJDb25zdFN0cmluZ19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGV4dFJlYWRlckNvbnN0U3RyaW5nCitleHRlcm4gX190eXBlb2YgKHhtbFRleHRSZWFkZXJDb25zdFN0cmluZykgeG1sVGV4dFJlYWRlckNvbnN0U3RyaW5nX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGV4dFJlYWRlckNvbnN0U3RyaW5nIHhtbFRleHRSZWFkZXJDb25zdFN0cmluZ19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxyZWFkZXIKKyN1bmRlZiB4bWxUZXh0UmVhZGVyQ29uc3RWYWx1ZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0UmVhZGVyQ29uc3RWYWx1ZSkgeG1sVGV4dFJlYWRlckNvbnN0VmFsdWUgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxUZXh0UmVhZGVyQ29uc3RWYWx1ZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGV4dFJlYWRlckNvbnN0VmFsdWUKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFJlYWRlckNvbnN0VmFsdWUpIHhtbFRleHRSZWFkZXJDb25zdFZhbHVlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGV4dFJlYWRlckNvbnN0VmFsdWUgeG1sVGV4dFJlYWRlckNvbnN0VmFsdWVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1scmVhZGVyCisjdW5kZWYgeG1sVGV4dFJlYWRlckNvbnN0WG1sTGFuZworZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0UmVhZGVyQ29uc3RYbWxMYW5nKSB4bWxUZXh0UmVhZGVyQ29uc3RYbWxMYW5nIF9fYXR0cmlidXRlKChhbGlhcygieG1sVGV4dFJlYWRlckNvbnN0WG1sTGFuZ19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGV4dFJlYWRlckNvbnN0WG1sTGFuZworZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0UmVhZGVyQ29uc3RYbWxMYW5nKSB4bWxUZXh0UmVhZGVyQ29uc3RYbWxMYW5nX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGV4dFJlYWRlckNvbnN0WG1sTGFuZyB4bWxUZXh0UmVhZGVyQ29uc3RYbWxMYW5nX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHJlYWRlcgorI3VuZGVmIHhtbFRleHRSZWFkZXJDb25zdFhtbFZlcnNpb24KK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFJlYWRlckNvbnN0WG1sVmVyc2lvbikgeG1sVGV4dFJlYWRlckNvbnN0WG1sVmVyc2lvbiBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFRleHRSZWFkZXJDb25zdFhtbFZlcnNpb25fX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFRleHRSZWFkZXJDb25zdFhtbFZlcnNpb24KK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFJlYWRlckNvbnN0WG1sVmVyc2lvbikgeG1sVGV4dFJlYWRlckNvbnN0WG1sVmVyc2lvbl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFRleHRSZWFkZXJDb25zdFhtbFZlcnNpb24geG1sVGV4dFJlYWRlckNvbnN0WG1sVmVyc2lvbl9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxyZWFkZXIKKyN1bmRlZiB4bWxUZXh0UmVhZGVyQ3VycmVudERvYworZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0UmVhZGVyQ3VycmVudERvYykgeG1sVGV4dFJlYWRlckN1cnJlbnREb2MgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxUZXh0UmVhZGVyQ3VycmVudERvY19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGV4dFJlYWRlckN1cnJlbnREb2MKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFJlYWRlckN1cnJlbnREb2MpIHhtbFRleHRSZWFkZXJDdXJyZW50RG9jX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGV4dFJlYWRlckN1cnJlbnREb2MgeG1sVGV4dFJlYWRlckN1cnJlbnREb2NfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1scmVhZGVyCisjdW5kZWYgeG1sVGV4dFJlYWRlckN1cnJlbnROb2RlCitleHRlcm4gX190eXBlb2YgKHhtbFRleHRSZWFkZXJDdXJyZW50Tm9kZSkgeG1sVGV4dFJlYWRlckN1cnJlbnROb2RlIF9fYXR0cmlidXRlKChhbGlhcygieG1sVGV4dFJlYWRlckN1cnJlbnROb2RlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxUZXh0UmVhZGVyQ3VycmVudE5vZGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFJlYWRlckN1cnJlbnROb2RlKSB4bWxUZXh0UmVhZGVyQ3VycmVudE5vZGVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxUZXh0UmVhZGVyQ3VycmVudE5vZGUgeG1sVGV4dFJlYWRlckN1cnJlbnROb2RlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHJlYWRlcgorI3VuZGVmIHhtbFRleHRSZWFkZXJEZXB0aAorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0UmVhZGVyRGVwdGgpIHhtbFRleHRSZWFkZXJEZXB0aCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFRleHRSZWFkZXJEZXB0aF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGV4dFJlYWRlckRlcHRoCitleHRlcm4gX190eXBlb2YgKHhtbFRleHRSZWFkZXJEZXB0aCkgeG1sVGV4dFJlYWRlckRlcHRoX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGV4dFJlYWRlckRlcHRoIHhtbFRleHRSZWFkZXJEZXB0aF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxyZWFkZXIKKyN1bmRlZiB4bWxUZXh0UmVhZGVyRXhwYW5kCitleHRlcm4gX190eXBlb2YgKHhtbFRleHRSZWFkZXJFeHBhbmQpIHhtbFRleHRSZWFkZXJFeHBhbmQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxUZXh0UmVhZGVyRXhwYW5kX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxUZXh0UmVhZGVyRXhwYW5kCitleHRlcm4gX190eXBlb2YgKHhtbFRleHRSZWFkZXJFeHBhbmQpIHhtbFRleHRSZWFkZXJFeHBhbmRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxUZXh0UmVhZGVyRXhwYW5kIHhtbFRleHRSZWFkZXJFeHBhbmRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1scmVhZGVyCisjdW5kZWYgeG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlKSB4bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlIF9fYXR0cmlidXRlKChhbGlhcygieG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlKSB4bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZSB4bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHJlYWRlcgorI3VuZGVmIHhtbFRleHRSZWFkZXJHZXRBdHRyaWJ1dGVObworZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlTm8pIHhtbFRleHRSZWFkZXJHZXRBdHRyaWJ1dGVObyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFRleHRSZWFkZXJHZXRBdHRyaWJ1dGVOb19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZU5vCitleHRlcm4gX190eXBlb2YgKHhtbFRleHRSZWFkZXJHZXRBdHRyaWJ1dGVObykgeG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZU5vX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZU5vIHhtbFRleHRSZWFkZXJHZXRBdHRyaWJ1dGVOb19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxyZWFkZXIKKyN1bmRlZiB4bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlTnMKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZU5zKSB4bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlTnMgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlTnNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFRleHRSZWFkZXJHZXRBdHRyaWJ1dGVOcworZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlTnMpIHhtbFRleHRSZWFkZXJHZXRBdHRyaWJ1dGVOc19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFRleHRSZWFkZXJHZXRBdHRyaWJ1dGVOcyB4bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlTnNfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1scmVhZGVyCisjdW5kZWYgeG1sVGV4dFJlYWRlckdldEVycm9ySGFuZGxlcgorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0UmVhZGVyR2V0RXJyb3JIYW5kbGVyKSB4bWxUZXh0UmVhZGVyR2V0RXJyb3JIYW5kbGVyIF9fYXR0cmlidXRlKChhbGlhcygieG1sVGV4dFJlYWRlckdldEVycm9ySGFuZGxlcl9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGV4dFJlYWRlckdldEVycm9ySGFuZGxlcgorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0UmVhZGVyR2V0RXJyb3JIYW5kbGVyKSB4bWxUZXh0UmVhZGVyR2V0RXJyb3JIYW5kbGVyX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGV4dFJlYWRlckdldEVycm9ySGFuZGxlciB4bWxUZXh0UmVhZGVyR2V0RXJyb3JIYW5kbGVyX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHJlYWRlcgorI3VuZGVmIHhtbFRleHRSZWFkZXJHZXRQYXJzZXJDb2x1bW5OdW1iZXIKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFJlYWRlckdldFBhcnNlckNvbHVtbk51bWJlcikgeG1sVGV4dFJlYWRlckdldFBhcnNlckNvbHVtbk51bWJlciBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFRleHRSZWFkZXJHZXRQYXJzZXJDb2x1bW5OdW1iZXJfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFRleHRSZWFkZXJHZXRQYXJzZXJDb2x1bW5OdW1iZXIKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFJlYWRlckdldFBhcnNlckNvbHVtbk51bWJlcikgeG1sVGV4dFJlYWRlckdldFBhcnNlckNvbHVtbk51bWJlcl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFRleHRSZWFkZXJHZXRQYXJzZXJDb2x1bW5OdW1iZXIgeG1sVGV4dFJlYWRlckdldFBhcnNlckNvbHVtbk51bWJlcl9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxyZWFkZXIKKyN1bmRlZiB4bWxUZXh0UmVhZGVyR2V0UGFyc2VyTGluZU51bWJlcgorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0UmVhZGVyR2V0UGFyc2VyTGluZU51bWJlcikgeG1sVGV4dFJlYWRlckdldFBhcnNlckxpbmVOdW1iZXIgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxUZXh0UmVhZGVyR2V0UGFyc2VyTGluZU51bWJlcl9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGV4dFJlYWRlckdldFBhcnNlckxpbmVOdW1iZXIKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFJlYWRlckdldFBhcnNlckxpbmVOdW1iZXIpIHhtbFRleHRSZWFkZXJHZXRQYXJzZXJMaW5lTnVtYmVyX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGV4dFJlYWRlckdldFBhcnNlckxpbmVOdW1iZXIgeG1sVGV4dFJlYWRlckdldFBhcnNlckxpbmVOdW1iZXJfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1scmVhZGVyCisjdW5kZWYgeG1sVGV4dFJlYWRlckdldFBhcnNlclByb3AKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFJlYWRlckdldFBhcnNlclByb3ApIHhtbFRleHRSZWFkZXJHZXRQYXJzZXJQcm9wIF9fYXR0cmlidXRlKChhbGlhcygieG1sVGV4dFJlYWRlckdldFBhcnNlclByb3BfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFRleHRSZWFkZXJHZXRQYXJzZXJQcm9wCitleHRlcm4gX190eXBlb2YgKHhtbFRleHRSZWFkZXJHZXRQYXJzZXJQcm9wKSB4bWxUZXh0UmVhZGVyR2V0UGFyc2VyUHJvcF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFRleHRSZWFkZXJHZXRQYXJzZXJQcm9wIHhtbFRleHRSZWFkZXJHZXRQYXJzZXJQcm9wX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHJlYWRlcgorI3VuZGVmIHhtbFRleHRSZWFkZXJHZXRSZW1haW5kZXIKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFJlYWRlckdldFJlbWFpbmRlcikgeG1sVGV4dFJlYWRlckdldFJlbWFpbmRlciBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFRleHRSZWFkZXJHZXRSZW1haW5kZXJfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFRleHRSZWFkZXJHZXRSZW1haW5kZXIKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFJlYWRlckdldFJlbWFpbmRlcikgeG1sVGV4dFJlYWRlckdldFJlbWFpbmRlcl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFRleHRSZWFkZXJHZXRSZW1haW5kZXIgeG1sVGV4dFJlYWRlckdldFJlbWFpbmRlcl9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxyZWFkZXIKKyN1bmRlZiB4bWxUZXh0UmVhZGVySGFzQXR0cmlidXRlcworZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0UmVhZGVySGFzQXR0cmlidXRlcykgeG1sVGV4dFJlYWRlckhhc0F0dHJpYnV0ZXMgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxUZXh0UmVhZGVySGFzQXR0cmlidXRlc19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGV4dFJlYWRlckhhc0F0dHJpYnV0ZXMKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFJlYWRlckhhc0F0dHJpYnV0ZXMpIHhtbFRleHRSZWFkZXJIYXNBdHRyaWJ1dGVzX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGV4dFJlYWRlckhhc0F0dHJpYnV0ZXMgeG1sVGV4dFJlYWRlckhhc0F0dHJpYnV0ZXNfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1scmVhZGVyCisjdW5kZWYgeG1sVGV4dFJlYWRlckhhc1ZhbHVlCitleHRlcm4gX190eXBlb2YgKHhtbFRleHRSZWFkZXJIYXNWYWx1ZSkgeG1sVGV4dFJlYWRlckhhc1ZhbHVlIF9fYXR0cmlidXRlKChhbGlhcygieG1sVGV4dFJlYWRlckhhc1ZhbHVlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxUZXh0UmVhZGVySGFzVmFsdWUKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFJlYWRlckhhc1ZhbHVlKSB4bWxUZXh0UmVhZGVySGFzVmFsdWVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxUZXh0UmVhZGVySGFzVmFsdWUgeG1sVGV4dFJlYWRlckhhc1ZhbHVlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHJlYWRlcgorI3VuZGVmIHhtbFRleHRSZWFkZXJJc0RlZmF1bHQKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFJlYWRlcklzRGVmYXVsdCkgeG1sVGV4dFJlYWRlcklzRGVmYXVsdCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFRleHRSZWFkZXJJc0RlZmF1bHRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFRleHRSZWFkZXJJc0RlZmF1bHQKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFJlYWRlcklzRGVmYXVsdCkgeG1sVGV4dFJlYWRlcklzRGVmYXVsdF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFRleHRSZWFkZXJJc0RlZmF1bHQgeG1sVGV4dFJlYWRlcklzRGVmYXVsdF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxyZWFkZXIKKyN1bmRlZiB4bWxUZXh0UmVhZGVySXNFbXB0eUVsZW1lbnQKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFJlYWRlcklzRW1wdHlFbGVtZW50KSB4bWxUZXh0UmVhZGVySXNFbXB0eUVsZW1lbnQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxUZXh0UmVhZGVySXNFbXB0eUVsZW1lbnRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFRleHRSZWFkZXJJc0VtcHR5RWxlbWVudAorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0UmVhZGVySXNFbXB0eUVsZW1lbnQpIHhtbFRleHRSZWFkZXJJc0VtcHR5RWxlbWVudF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFRleHRSZWFkZXJJc0VtcHR5RWxlbWVudCB4bWxUZXh0UmVhZGVySXNFbXB0eUVsZW1lbnRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1scmVhZGVyCisjdW5kZWYgeG1sVGV4dFJlYWRlcklzTmFtZXNwYWNlRGVjbAorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0UmVhZGVySXNOYW1lc3BhY2VEZWNsKSB4bWxUZXh0UmVhZGVySXNOYW1lc3BhY2VEZWNsIF9fYXR0cmlidXRlKChhbGlhcygieG1sVGV4dFJlYWRlcklzTmFtZXNwYWNlRGVjbF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGV4dFJlYWRlcklzTmFtZXNwYWNlRGVjbAorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0UmVhZGVySXNOYW1lc3BhY2VEZWNsKSB4bWxUZXh0UmVhZGVySXNOYW1lc3BhY2VEZWNsX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGV4dFJlYWRlcklzTmFtZXNwYWNlRGVjbCB4bWxUZXh0UmVhZGVySXNOYW1lc3BhY2VEZWNsX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHJlYWRlcgorI3VuZGVmIHhtbFRleHRSZWFkZXJJc1ZhbGlkCitleHRlcm4gX190eXBlb2YgKHhtbFRleHRSZWFkZXJJc1ZhbGlkKSB4bWxUZXh0UmVhZGVySXNWYWxpZCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFRleHRSZWFkZXJJc1ZhbGlkX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxUZXh0UmVhZGVySXNWYWxpZAorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0UmVhZGVySXNWYWxpZCkgeG1sVGV4dFJlYWRlcklzVmFsaWRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxUZXh0UmVhZGVySXNWYWxpZCB4bWxUZXh0UmVhZGVySXNWYWxpZF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxyZWFkZXIKKyN1bmRlZiB4bWxUZXh0UmVhZGVyTG9jYWxOYW1lCitleHRlcm4gX190eXBlb2YgKHhtbFRleHRSZWFkZXJMb2NhbE5hbWUpIHhtbFRleHRSZWFkZXJMb2NhbE5hbWUgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxUZXh0UmVhZGVyTG9jYWxOYW1lX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxUZXh0UmVhZGVyTG9jYWxOYW1lCitleHRlcm4gX190eXBlb2YgKHhtbFRleHRSZWFkZXJMb2NhbE5hbWUpIHhtbFRleHRSZWFkZXJMb2NhbE5hbWVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxUZXh0UmVhZGVyTG9jYWxOYW1lIHhtbFRleHRSZWFkZXJMb2NhbE5hbWVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1scmVhZGVyCisjdW5kZWYgeG1sVGV4dFJlYWRlckxvY2F0b3JCYXNlVVJJCitleHRlcm4gX190eXBlb2YgKHhtbFRleHRSZWFkZXJMb2NhdG9yQmFzZVVSSSkgeG1sVGV4dFJlYWRlckxvY2F0b3JCYXNlVVJJIF9fYXR0cmlidXRlKChhbGlhcygieG1sVGV4dFJlYWRlckxvY2F0b3JCYXNlVVJJX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxUZXh0UmVhZGVyTG9jYXRvckJhc2VVUkkKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFJlYWRlckxvY2F0b3JCYXNlVVJJKSB4bWxUZXh0UmVhZGVyTG9jYXRvckJhc2VVUklfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxUZXh0UmVhZGVyTG9jYXRvckJhc2VVUkkgeG1sVGV4dFJlYWRlckxvY2F0b3JCYXNlVVJJX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHJlYWRlcgorI3VuZGVmIHhtbFRleHRSZWFkZXJMb2NhdG9yTGluZU51bWJlcgorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0UmVhZGVyTG9jYXRvckxpbmVOdW1iZXIpIHhtbFRleHRSZWFkZXJMb2NhdG9yTGluZU51bWJlciBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFRleHRSZWFkZXJMb2NhdG9yTGluZU51bWJlcl9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGV4dFJlYWRlckxvY2F0b3JMaW5lTnVtYmVyCitleHRlcm4gX190eXBlb2YgKHhtbFRleHRSZWFkZXJMb2NhdG9yTGluZU51bWJlcikgeG1sVGV4dFJlYWRlckxvY2F0b3JMaW5lTnVtYmVyX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGV4dFJlYWRlckxvY2F0b3JMaW5lTnVtYmVyIHhtbFRleHRSZWFkZXJMb2NhdG9yTGluZU51bWJlcl9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxyZWFkZXIKKyN1bmRlZiB4bWxUZXh0UmVhZGVyTG9va3VwTmFtZXNwYWNlCitleHRlcm4gX190eXBlb2YgKHhtbFRleHRSZWFkZXJMb29rdXBOYW1lc3BhY2UpIHhtbFRleHRSZWFkZXJMb29rdXBOYW1lc3BhY2UgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxUZXh0UmVhZGVyTG9va3VwTmFtZXNwYWNlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxUZXh0UmVhZGVyTG9va3VwTmFtZXNwYWNlCitleHRlcm4gX190eXBlb2YgKHhtbFRleHRSZWFkZXJMb29rdXBOYW1lc3BhY2UpIHhtbFRleHRSZWFkZXJMb29rdXBOYW1lc3BhY2VfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxUZXh0UmVhZGVyTG9va3VwTmFtZXNwYWNlIHhtbFRleHRSZWFkZXJMb29rdXBOYW1lc3BhY2VfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1scmVhZGVyCisjdW5kZWYgeG1sVGV4dFJlYWRlck1vdmVUb0F0dHJpYnV0ZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0UmVhZGVyTW92ZVRvQXR0cmlidXRlKSB4bWxUZXh0UmVhZGVyTW92ZVRvQXR0cmlidXRlIF9fYXR0cmlidXRlKChhbGlhcygieG1sVGV4dFJlYWRlck1vdmVUb0F0dHJpYnV0ZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGV4dFJlYWRlck1vdmVUb0F0dHJpYnV0ZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0UmVhZGVyTW92ZVRvQXR0cmlidXRlKSB4bWxUZXh0UmVhZGVyTW92ZVRvQXR0cmlidXRlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGV4dFJlYWRlck1vdmVUb0F0dHJpYnV0ZSB4bWxUZXh0UmVhZGVyTW92ZVRvQXR0cmlidXRlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHJlYWRlcgorI3VuZGVmIHhtbFRleHRSZWFkZXJNb3ZlVG9BdHRyaWJ1dGVObworZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0UmVhZGVyTW92ZVRvQXR0cmlidXRlTm8pIHhtbFRleHRSZWFkZXJNb3ZlVG9BdHRyaWJ1dGVObyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFRleHRSZWFkZXJNb3ZlVG9BdHRyaWJ1dGVOb19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGV4dFJlYWRlck1vdmVUb0F0dHJpYnV0ZU5vCitleHRlcm4gX190eXBlb2YgKHhtbFRleHRSZWFkZXJNb3ZlVG9BdHRyaWJ1dGVObykgeG1sVGV4dFJlYWRlck1vdmVUb0F0dHJpYnV0ZU5vX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGV4dFJlYWRlck1vdmVUb0F0dHJpYnV0ZU5vIHhtbFRleHRSZWFkZXJNb3ZlVG9BdHRyaWJ1dGVOb19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxyZWFkZXIKKyN1bmRlZiB4bWxUZXh0UmVhZGVyTW92ZVRvQXR0cmlidXRlTnMKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFJlYWRlck1vdmVUb0F0dHJpYnV0ZU5zKSB4bWxUZXh0UmVhZGVyTW92ZVRvQXR0cmlidXRlTnMgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxUZXh0UmVhZGVyTW92ZVRvQXR0cmlidXRlTnNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFRleHRSZWFkZXJNb3ZlVG9BdHRyaWJ1dGVOcworZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0UmVhZGVyTW92ZVRvQXR0cmlidXRlTnMpIHhtbFRleHRSZWFkZXJNb3ZlVG9BdHRyaWJ1dGVOc19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFRleHRSZWFkZXJNb3ZlVG9BdHRyaWJ1dGVOcyB4bWxUZXh0UmVhZGVyTW92ZVRvQXR0cmlidXRlTnNfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1scmVhZGVyCisjdW5kZWYgeG1sVGV4dFJlYWRlck1vdmVUb0VsZW1lbnQKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFJlYWRlck1vdmVUb0VsZW1lbnQpIHhtbFRleHRSZWFkZXJNb3ZlVG9FbGVtZW50IF9fYXR0cmlidXRlKChhbGlhcygieG1sVGV4dFJlYWRlck1vdmVUb0VsZW1lbnRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFRleHRSZWFkZXJNb3ZlVG9FbGVtZW50CitleHRlcm4gX190eXBlb2YgKHhtbFRleHRSZWFkZXJNb3ZlVG9FbGVtZW50KSB4bWxUZXh0UmVhZGVyTW92ZVRvRWxlbWVudF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFRleHRSZWFkZXJNb3ZlVG9FbGVtZW50IHhtbFRleHRSZWFkZXJNb3ZlVG9FbGVtZW50X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHJlYWRlcgorI3VuZGVmIHhtbFRleHRSZWFkZXJNb3ZlVG9GaXJzdEF0dHJpYnV0ZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0UmVhZGVyTW92ZVRvRmlyc3RBdHRyaWJ1dGUpIHhtbFRleHRSZWFkZXJNb3ZlVG9GaXJzdEF0dHJpYnV0ZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFRleHRSZWFkZXJNb3ZlVG9GaXJzdEF0dHJpYnV0ZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGV4dFJlYWRlck1vdmVUb0ZpcnN0QXR0cmlidXRlCitleHRlcm4gX190eXBlb2YgKHhtbFRleHRSZWFkZXJNb3ZlVG9GaXJzdEF0dHJpYnV0ZSkgeG1sVGV4dFJlYWRlck1vdmVUb0ZpcnN0QXR0cmlidXRlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGV4dFJlYWRlck1vdmVUb0ZpcnN0QXR0cmlidXRlIHhtbFRleHRSZWFkZXJNb3ZlVG9GaXJzdEF0dHJpYnV0ZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxyZWFkZXIKKyN1bmRlZiB4bWxUZXh0UmVhZGVyTW92ZVRvTmV4dEF0dHJpYnV0ZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0UmVhZGVyTW92ZVRvTmV4dEF0dHJpYnV0ZSkgeG1sVGV4dFJlYWRlck1vdmVUb05leHRBdHRyaWJ1dGUgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxUZXh0UmVhZGVyTW92ZVRvTmV4dEF0dHJpYnV0ZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGV4dFJlYWRlck1vdmVUb05leHRBdHRyaWJ1dGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFJlYWRlck1vdmVUb05leHRBdHRyaWJ1dGUpIHhtbFRleHRSZWFkZXJNb3ZlVG9OZXh0QXR0cmlidXRlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGV4dFJlYWRlck1vdmVUb05leHRBdHRyaWJ1dGUgeG1sVGV4dFJlYWRlck1vdmVUb05leHRBdHRyaWJ1dGVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1scmVhZGVyCisjdW5kZWYgeG1sVGV4dFJlYWRlck5hbWUKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFJlYWRlck5hbWUpIHhtbFRleHRSZWFkZXJOYW1lIF9fYXR0cmlidXRlKChhbGlhcygieG1sVGV4dFJlYWRlck5hbWVfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFRleHRSZWFkZXJOYW1lCitleHRlcm4gX190eXBlb2YgKHhtbFRleHRSZWFkZXJOYW1lKSB4bWxUZXh0UmVhZGVyTmFtZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFRleHRSZWFkZXJOYW1lIHhtbFRleHRSZWFkZXJOYW1lX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHJlYWRlcgorI3VuZGVmIHhtbFRleHRSZWFkZXJOYW1lc3BhY2VVcmkKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFJlYWRlck5hbWVzcGFjZVVyaSkgeG1sVGV4dFJlYWRlck5hbWVzcGFjZVVyaSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFRleHRSZWFkZXJOYW1lc3BhY2VVcmlfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFRleHRSZWFkZXJOYW1lc3BhY2VVcmkKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFJlYWRlck5hbWVzcGFjZVVyaSkgeG1sVGV4dFJlYWRlck5hbWVzcGFjZVVyaV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFRleHRSZWFkZXJOYW1lc3BhY2VVcmkgeG1sVGV4dFJlYWRlck5hbWVzcGFjZVVyaV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxyZWFkZXIKKyN1bmRlZiB4bWxUZXh0UmVhZGVyTmV4dAorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0UmVhZGVyTmV4dCkgeG1sVGV4dFJlYWRlck5leHQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxUZXh0UmVhZGVyTmV4dF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGV4dFJlYWRlck5leHQKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFJlYWRlck5leHQpIHhtbFRleHRSZWFkZXJOZXh0X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGV4dFJlYWRlck5leHQgeG1sVGV4dFJlYWRlck5leHRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1scmVhZGVyCisjdW5kZWYgeG1sVGV4dFJlYWRlck5leHRTaWJsaW5nCitleHRlcm4gX190eXBlb2YgKHhtbFRleHRSZWFkZXJOZXh0U2libGluZykgeG1sVGV4dFJlYWRlck5leHRTaWJsaW5nIF9fYXR0cmlidXRlKChhbGlhcygieG1sVGV4dFJlYWRlck5leHRTaWJsaW5nX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxUZXh0UmVhZGVyTmV4dFNpYmxpbmcKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFJlYWRlck5leHRTaWJsaW5nKSB4bWxUZXh0UmVhZGVyTmV4dFNpYmxpbmdfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxUZXh0UmVhZGVyTmV4dFNpYmxpbmcgeG1sVGV4dFJlYWRlck5leHRTaWJsaW5nX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHJlYWRlcgorI3VuZGVmIHhtbFRleHRSZWFkZXJOb2RlVHlwZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0UmVhZGVyTm9kZVR5cGUpIHhtbFRleHRSZWFkZXJOb2RlVHlwZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFRleHRSZWFkZXJOb2RlVHlwZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGV4dFJlYWRlck5vZGVUeXBlCitleHRlcm4gX190eXBlb2YgKHhtbFRleHRSZWFkZXJOb2RlVHlwZSkgeG1sVGV4dFJlYWRlck5vZGVUeXBlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGV4dFJlYWRlck5vZGVUeXBlIHhtbFRleHRSZWFkZXJOb2RlVHlwZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxyZWFkZXIKKyN1bmRlZiB4bWxUZXh0UmVhZGVyTm9ybWFsaXphdGlvbgorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0UmVhZGVyTm9ybWFsaXphdGlvbikgeG1sVGV4dFJlYWRlck5vcm1hbGl6YXRpb24gX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxUZXh0UmVhZGVyTm9ybWFsaXphdGlvbl9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGV4dFJlYWRlck5vcm1hbGl6YXRpb24KK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFJlYWRlck5vcm1hbGl6YXRpb24pIHhtbFRleHRSZWFkZXJOb3JtYWxpemF0aW9uX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGV4dFJlYWRlck5vcm1hbGl6YXRpb24geG1sVGV4dFJlYWRlck5vcm1hbGl6YXRpb25fX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1scmVhZGVyCisjdW5kZWYgeG1sVGV4dFJlYWRlclByZWZpeAorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0UmVhZGVyUHJlZml4KSB4bWxUZXh0UmVhZGVyUHJlZml4IF9fYXR0cmlidXRlKChhbGlhcygieG1sVGV4dFJlYWRlclByZWZpeF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGV4dFJlYWRlclByZWZpeAorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0UmVhZGVyUHJlZml4KSB4bWxUZXh0UmVhZGVyUHJlZml4X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGV4dFJlYWRlclByZWZpeCB4bWxUZXh0UmVhZGVyUHJlZml4X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHJlYWRlcgorI3VuZGVmIHhtbFRleHRSZWFkZXJQcmVzZXJ2ZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0UmVhZGVyUHJlc2VydmUpIHhtbFRleHRSZWFkZXJQcmVzZXJ2ZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFRleHRSZWFkZXJQcmVzZXJ2ZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGV4dFJlYWRlclByZXNlcnZlCitleHRlcm4gX190eXBlb2YgKHhtbFRleHRSZWFkZXJQcmVzZXJ2ZSkgeG1sVGV4dFJlYWRlclByZXNlcnZlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGV4dFJlYWRlclByZXNlcnZlIHhtbFRleHRSZWFkZXJQcmVzZXJ2ZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKSAmJiBkZWZpbmVkKExJQlhNTF9QQVRURVJOX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHJlYWRlcgorI3VuZGVmIHhtbFRleHRSZWFkZXJQcmVzZXJ2ZVBhdHRlcm4KK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFJlYWRlclByZXNlcnZlUGF0dGVybikgeG1sVGV4dFJlYWRlclByZXNlcnZlUGF0dGVybiBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFRleHRSZWFkZXJQcmVzZXJ2ZVBhdHRlcm5fX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFRleHRSZWFkZXJQcmVzZXJ2ZVBhdHRlcm4KK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFJlYWRlclByZXNlcnZlUGF0dGVybikgeG1sVGV4dFJlYWRlclByZXNlcnZlUGF0dGVybl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFRleHRSZWFkZXJQcmVzZXJ2ZVBhdHRlcm4geG1sVGV4dFJlYWRlclByZXNlcnZlUGF0dGVybl9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxyZWFkZXIKKyN1bmRlZiB4bWxUZXh0UmVhZGVyUXVvdGVDaGFyCitleHRlcm4gX190eXBlb2YgKHhtbFRleHRSZWFkZXJRdW90ZUNoYXIpIHhtbFRleHRSZWFkZXJRdW90ZUNoYXIgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxUZXh0UmVhZGVyUXVvdGVDaGFyX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxUZXh0UmVhZGVyUXVvdGVDaGFyCitleHRlcm4gX190eXBlb2YgKHhtbFRleHRSZWFkZXJRdW90ZUNoYXIpIHhtbFRleHRSZWFkZXJRdW90ZUNoYXJfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxUZXh0UmVhZGVyUXVvdGVDaGFyIHhtbFRleHRSZWFkZXJRdW90ZUNoYXJfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1scmVhZGVyCisjdW5kZWYgeG1sVGV4dFJlYWRlclJlYWQKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFJlYWRlclJlYWQpIHhtbFRleHRSZWFkZXJSZWFkIF9fYXR0cmlidXRlKChhbGlhcygieG1sVGV4dFJlYWRlclJlYWRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFRleHRSZWFkZXJSZWFkCitleHRlcm4gX190eXBlb2YgKHhtbFRleHRSZWFkZXJSZWFkKSB4bWxUZXh0UmVhZGVyUmVhZF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFRleHRSZWFkZXJSZWFkIHhtbFRleHRSZWFkZXJSZWFkX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHJlYWRlcgorI3VuZGVmIHhtbFRleHRSZWFkZXJSZWFkQXR0cmlidXRlVmFsdWUKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFJlYWRlclJlYWRBdHRyaWJ1dGVWYWx1ZSkgeG1sVGV4dFJlYWRlclJlYWRBdHRyaWJ1dGVWYWx1ZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFRleHRSZWFkZXJSZWFkQXR0cmlidXRlVmFsdWVfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFRleHRSZWFkZXJSZWFkQXR0cmlidXRlVmFsdWUKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFJlYWRlclJlYWRBdHRyaWJ1dGVWYWx1ZSkgeG1sVGV4dFJlYWRlclJlYWRBdHRyaWJ1dGVWYWx1ZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFRleHRSZWFkZXJSZWFkQXR0cmlidXRlVmFsdWUgeG1sVGV4dFJlYWRlclJlYWRBdHRyaWJ1dGVWYWx1ZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKSAmJiBkZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1scmVhZGVyCisjdW5kZWYgeG1sVGV4dFJlYWRlclJlYWRJbm5lclhtbAorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0UmVhZGVyUmVhZElubmVyWG1sKSB4bWxUZXh0UmVhZGVyUmVhZElubmVyWG1sIF9fYXR0cmlidXRlKChhbGlhcygieG1sVGV4dFJlYWRlclJlYWRJbm5lclhtbF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGV4dFJlYWRlclJlYWRJbm5lclhtbAorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0UmVhZGVyUmVhZElubmVyWG1sKSB4bWxUZXh0UmVhZGVyUmVhZElubmVyWG1sX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGV4dFJlYWRlclJlYWRJbm5lclhtbCB4bWxUZXh0UmVhZGVyUmVhZElubmVyWG1sX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpICYmIGRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxyZWFkZXIKKyN1bmRlZiB4bWxUZXh0UmVhZGVyUmVhZE91dGVyWG1sCitleHRlcm4gX190eXBlb2YgKHhtbFRleHRSZWFkZXJSZWFkT3V0ZXJYbWwpIHhtbFRleHRSZWFkZXJSZWFkT3V0ZXJYbWwgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxUZXh0UmVhZGVyUmVhZE91dGVyWG1sX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxUZXh0UmVhZGVyUmVhZE91dGVyWG1sCitleHRlcm4gX190eXBlb2YgKHhtbFRleHRSZWFkZXJSZWFkT3V0ZXJYbWwpIHhtbFRleHRSZWFkZXJSZWFkT3V0ZXJYbWxfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxUZXh0UmVhZGVyUmVhZE91dGVyWG1sIHhtbFRleHRSZWFkZXJSZWFkT3V0ZXJYbWxfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1scmVhZGVyCisjdW5kZWYgeG1sVGV4dFJlYWRlclJlYWRTdGF0ZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0UmVhZGVyUmVhZFN0YXRlKSB4bWxUZXh0UmVhZGVyUmVhZFN0YXRlIF9fYXR0cmlidXRlKChhbGlhcygieG1sVGV4dFJlYWRlclJlYWRTdGF0ZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGV4dFJlYWRlclJlYWRTdGF0ZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0UmVhZGVyUmVhZFN0YXRlKSB4bWxUZXh0UmVhZGVyUmVhZFN0YXRlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGV4dFJlYWRlclJlYWRTdGF0ZSB4bWxUZXh0UmVhZGVyUmVhZFN0YXRlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHJlYWRlcgorI3VuZGVmIHhtbFRleHRSZWFkZXJSZWFkU3RyaW5nCitleHRlcm4gX190eXBlb2YgKHhtbFRleHRSZWFkZXJSZWFkU3RyaW5nKSB4bWxUZXh0UmVhZGVyUmVhZFN0cmluZyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFRleHRSZWFkZXJSZWFkU3RyaW5nX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxUZXh0UmVhZGVyUmVhZFN0cmluZworZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0UmVhZGVyUmVhZFN0cmluZykgeG1sVGV4dFJlYWRlclJlYWRTdHJpbmdfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxUZXh0UmVhZGVyUmVhZFN0cmluZyB4bWxUZXh0UmVhZGVyUmVhZFN0cmluZ19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKSAmJiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHJlYWRlcgorI3VuZGVmIHhtbFRleHRSZWFkZXJSZWxheE5HU2V0U2NoZW1hCitleHRlcm4gX190eXBlb2YgKHhtbFRleHRSZWFkZXJSZWxheE5HU2V0U2NoZW1hKSB4bWxUZXh0UmVhZGVyUmVsYXhOR1NldFNjaGVtYSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFRleHRSZWFkZXJSZWxheE5HU2V0U2NoZW1hX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxUZXh0UmVhZGVyUmVsYXhOR1NldFNjaGVtYQorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0UmVhZGVyUmVsYXhOR1NldFNjaGVtYSkgeG1sVGV4dFJlYWRlclJlbGF4TkdTZXRTY2hlbWFfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxUZXh0UmVhZGVyUmVsYXhOR1NldFNjaGVtYSB4bWxUZXh0UmVhZGVyUmVsYXhOR1NldFNjaGVtYV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKSAmJiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHJlYWRlcgorI3VuZGVmIHhtbFRleHRSZWFkZXJSZWxheE5HVmFsaWRhdGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZSkgeG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFRleHRSZWFkZXJSZWxheE5HVmFsaWRhdGVfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFRleHRSZWFkZXJSZWxheE5HVmFsaWRhdGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZSkgeG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFRleHRSZWFkZXJSZWxheE5HVmFsaWRhdGUgeG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKSAmJiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHJlYWRlcgorI3VuZGVmIHhtbFRleHRSZWFkZXJSZWxheE5HVmFsaWRhdGVDdHh0CitleHRlcm4gX190eXBlb2YgKHhtbFRleHRSZWFkZXJSZWxheE5HVmFsaWRhdGVDdHh0KSB4bWxUZXh0UmVhZGVyUmVsYXhOR1ZhbGlkYXRlQ3R4dCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFRleHRSZWFkZXJSZWxheE5HVmFsaWRhdGVDdHh0X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxUZXh0UmVhZGVyUmVsYXhOR1ZhbGlkYXRlQ3R4dAorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0UmVhZGVyUmVsYXhOR1ZhbGlkYXRlQ3R4dCkgeG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZUN0eHRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxUZXh0UmVhZGVyUmVsYXhOR1ZhbGlkYXRlQ3R4dCB4bWxUZXh0UmVhZGVyUmVsYXhOR1ZhbGlkYXRlQ3R4dF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKSAmJiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHJlYWRlcgorI3VuZGVmIHhtbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0UmVhZGVyU2NoZW1hVmFsaWRhdGUpIHhtbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlCitleHRlcm4gX190eXBlb2YgKHhtbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZSkgeG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlIHhtbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKSAmJiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHJlYWRlcgorI3VuZGVmIHhtbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZUN0eHQKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlQ3R4dCkgeG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlQ3R4dCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZUN0eHRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZUN0eHQKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlQ3R4dCkgeG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlQ3R4dF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZUN0eHQgeG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlQ3R4dF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxyZWFkZXIKKyN1bmRlZiB4bWxUZXh0UmVhZGVyU2V0RXJyb3JIYW5kbGVyCitleHRlcm4gX190eXBlb2YgKHhtbFRleHRSZWFkZXJTZXRFcnJvckhhbmRsZXIpIHhtbFRleHRSZWFkZXJTZXRFcnJvckhhbmRsZXIgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxUZXh0UmVhZGVyU2V0RXJyb3JIYW5kbGVyX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxUZXh0UmVhZGVyU2V0RXJyb3JIYW5kbGVyCitleHRlcm4gX190eXBlb2YgKHhtbFRleHRSZWFkZXJTZXRFcnJvckhhbmRsZXIpIHhtbFRleHRSZWFkZXJTZXRFcnJvckhhbmRsZXJfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxUZXh0UmVhZGVyU2V0RXJyb3JIYW5kbGVyIHhtbFRleHRSZWFkZXJTZXRFcnJvckhhbmRsZXJfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1scmVhZGVyCisjdW5kZWYgeG1sVGV4dFJlYWRlclNldFBhcnNlclByb3AKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFJlYWRlclNldFBhcnNlclByb3ApIHhtbFRleHRSZWFkZXJTZXRQYXJzZXJQcm9wIF9fYXR0cmlidXRlKChhbGlhcygieG1sVGV4dFJlYWRlclNldFBhcnNlclByb3BfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFRleHRSZWFkZXJTZXRQYXJzZXJQcm9wCitleHRlcm4gX190eXBlb2YgKHhtbFRleHRSZWFkZXJTZXRQYXJzZXJQcm9wKSB4bWxUZXh0UmVhZGVyU2V0UGFyc2VyUHJvcF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFRleHRSZWFkZXJTZXRQYXJzZXJQcm9wIHhtbFRleHRSZWFkZXJTZXRQYXJzZXJQcm9wX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpICYmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1scmVhZGVyCisjdW5kZWYgeG1sVGV4dFJlYWRlclNldFNjaGVtYQorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0UmVhZGVyU2V0U2NoZW1hKSB4bWxUZXh0UmVhZGVyU2V0U2NoZW1hIF9fYXR0cmlidXRlKChhbGlhcygieG1sVGV4dFJlYWRlclNldFNjaGVtYV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGV4dFJlYWRlclNldFNjaGVtYQorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0UmVhZGVyU2V0U2NoZW1hKSB4bWxUZXh0UmVhZGVyU2V0U2NoZW1hX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGV4dFJlYWRlclNldFNjaGVtYSB4bWxUZXh0UmVhZGVyU2V0U2NoZW1hX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHJlYWRlcgorI3VuZGVmIHhtbFRleHRSZWFkZXJTZXRTdHJ1Y3R1cmVkRXJyb3JIYW5kbGVyCitleHRlcm4gX190eXBlb2YgKHhtbFRleHRSZWFkZXJTZXRTdHJ1Y3R1cmVkRXJyb3JIYW5kbGVyKSB4bWxUZXh0UmVhZGVyU2V0U3RydWN0dXJlZEVycm9ySGFuZGxlciBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFRleHRSZWFkZXJTZXRTdHJ1Y3R1cmVkRXJyb3JIYW5kbGVyX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxUZXh0UmVhZGVyU2V0U3RydWN0dXJlZEVycm9ySGFuZGxlcgorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0UmVhZGVyU2V0U3RydWN0dXJlZEVycm9ySGFuZGxlcikgeG1sVGV4dFJlYWRlclNldFN0cnVjdHVyZWRFcnJvckhhbmRsZXJfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxUZXh0UmVhZGVyU2V0U3RydWN0dXJlZEVycm9ySGFuZGxlciB4bWxUZXh0UmVhZGVyU2V0U3RydWN0dXJlZEVycm9ySGFuZGxlcl9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxyZWFkZXIKKyN1bmRlZiB4bWxUZXh0UmVhZGVyU2V0dXAKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFJlYWRlclNldHVwKSB4bWxUZXh0UmVhZGVyU2V0dXAgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxUZXh0UmVhZGVyU2V0dXBfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFRleHRSZWFkZXJTZXR1cAorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0UmVhZGVyU2V0dXApIHhtbFRleHRSZWFkZXJTZXR1cF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFRleHRSZWFkZXJTZXR1cCB4bWxUZXh0UmVhZGVyU2V0dXBfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1scmVhZGVyCisjdW5kZWYgeG1sVGV4dFJlYWRlclN0YW5kYWxvbmUKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFJlYWRlclN0YW5kYWxvbmUpIHhtbFRleHRSZWFkZXJTdGFuZGFsb25lIF9fYXR0cmlidXRlKChhbGlhcygieG1sVGV4dFJlYWRlclN0YW5kYWxvbmVfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFRleHRSZWFkZXJTdGFuZGFsb25lCitleHRlcm4gX190eXBlb2YgKHhtbFRleHRSZWFkZXJTdGFuZGFsb25lKSB4bWxUZXh0UmVhZGVyU3RhbmRhbG9uZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFRleHRSZWFkZXJTdGFuZGFsb25lIHhtbFRleHRSZWFkZXJTdGFuZGFsb25lX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHJlYWRlcgorI3VuZGVmIHhtbFRleHRSZWFkZXJWYWx1ZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0UmVhZGVyVmFsdWUpIHhtbFRleHRSZWFkZXJWYWx1ZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFRleHRSZWFkZXJWYWx1ZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGV4dFJlYWRlclZhbHVlCitleHRlcm4gX190eXBlb2YgKHhtbFRleHRSZWFkZXJWYWx1ZSkgeG1sVGV4dFJlYWRlclZhbHVlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGV4dFJlYWRlclZhbHVlIHhtbFRleHRSZWFkZXJWYWx1ZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWxyZWFkZXIKKyN1bmRlZiB4bWxUZXh0UmVhZGVyWG1sTGFuZworZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0UmVhZGVyWG1sTGFuZykgeG1sVGV4dFJlYWRlclhtbExhbmcgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxUZXh0UmVhZGVyWG1sTGFuZ19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGV4dFJlYWRlclhtbExhbmcKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFJlYWRlclhtbExhbmcpIHhtbFRleHRSZWFkZXJYbWxMYW5nX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGV4dFJlYWRlclhtbExhbmcgeG1sVGV4dFJlYWRlclhtbExhbmdfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sd3JpdGVyCisjdW5kZWYgeG1sVGV4dFdyaXRlckVuZEF0dHJpYnV0ZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0V3JpdGVyRW5kQXR0cmlidXRlKSB4bWxUZXh0V3JpdGVyRW5kQXR0cmlidXRlIF9fYXR0cmlidXRlKChhbGlhcygieG1sVGV4dFdyaXRlckVuZEF0dHJpYnV0ZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGV4dFdyaXRlckVuZEF0dHJpYnV0ZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0V3JpdGVyRW5kQXR0cmlidXRlKSB4bWxUZXh0V3JpdGVyRW5kQXR0cmlidXRlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGV4dFdyaXRlckVuZEF0dHJpYnV0ZSB4bWxUZXh0V3JpdGVyRW5kQXR0cmlidXRlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHdyaXRlcgorI3VuZGVmIHhtbFRleHRXcml0ZXJFbmRDREFUQQorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0V3JpdGVyRW5kQ0RBVEEpIHhtbFRleHRXcml0ZXJFbmRDREFUQSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFRleHRXcml0ZXJFbmRDREFUQV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGV4dFdyaXRlckVuZENEQVRBCitleHRlcm4gX190eXBlb2YgKHhtbFRleHRXcml0ZXJFbmRDREFUQSkgeG1sVGV4dFdyaXRlckVuZENEQVRBX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGV4dFdyaXRlckVuZENEQVRBIHhtbFRleHRXcml0ZXJFbmRDREFUQV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx3cml0ZXIKKyN1bmRlZiB4bWxUZXh0V3JpdGVyRW5kQ29tbWVudAorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0V3JpdGVyRW5kQ29tbWVudCkgeG1sVGV4dFdyaXRlckVuZENvbW1lbnQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxUZXh0V3JpdGVyRW5kQ29tbWVudF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGV4dFdyaXRlckVuZENvbW1lbnQKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFdyaXRlckVuZENvbW1lbnQpIHhtbFRleHRXcml0ZXJFbmRDb21tZW50X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGV4dFdyaXRlckVuZENvbW1lbnQgeG1sVGV4dFdyaXRlckVuZENvbW1lbnRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sd3JpdGVyCisjdW5kZWYgeG1sVGV4dFdyaXRlckVuZERURAorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0V3JpdGVyRW5kRFREKSB4bWxUZXh0V3JpdGVyRW5kRFREIF9fYXR0cmlidXRlKChhbGlhcygieG1sVGV4dFdyaXRlckVuZERURF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGV4dFdyaXRlckVuZERURAorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0V3JpdGVyRW5kRFREKSB4bWxUZXh0V3JpdGVyRW5kRFREX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGV4dFdyaXRlckVuZERURCB4bWxUZXh0V3JpdGVyRW5kRFREX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHdyaXRlcgorI3VuZGVmIHhtbFRleHRXcml0ZXJFbmREVERBdHRsaXN0CitleHRlcm4gX190eXBlb2YgKHhtbFRleHRXcml0ZXJFbmREVERBdHRsaXN0KSB4bWxUZXh0V3JpdGVyRW5kRFREQXR0bGlzdCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFRleHRXcml0ZXJFbmREVERBdHRsaXN0X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxUZXh0V3JpdGVyRW5kRFREQXR0bGlzdAorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0V3JpdGVyRW5kRFREQXR0bGlzdCkgeG1sVGV4dFdyaXRlckVuZERUREF0dGxpc3RfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxUZXh0V3JpdGVyRW5kRFREQXR0bGlzdCB4bWxUZXh0V3JpdGVyRW5kRFREQXR0bGlzdF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx3cml0ZXIKKyN1bmRlZiB4bWxUZXh0V3JpdGVyRW5kRFRERWxlbWVudAorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0V3JpdGVyRW5kRFRERWxlbWVudCkgeG1sVGV4dFdyaXRlckVuZERUREVsZW1lbnQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxUZXh0V3JpdGVyRW5kRFRERWxlbWVudF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGV4dFdyaXRlckVuZERUREVsZW1lbnQKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFdyaXRlckVuZERUREVsZW1lbnQpIHhtbFRleHRXcml0ZXJFbmREVERFbGVtZW50X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGV4dFdyaXRlckVuZERUREVsZW1lbnQgeG1sVGV4dFdyaXRlckVuZERUREVsZW1lbnRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sd3JpdGVyCisjdW5kZWYgeG1sVGV4dFdyaXRlckVuZERUREVudGl0eQorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0V3JpdGVyRW5kRFRERW50aXR5KSB4bWxUZXh0V3JpdGVyRW5kRFRERW50aXR5IF9fYXR0cmlidXRlKChhbGlhcygieG1sVGV4dFdyaXRlckVuZERUREVudGl0eV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGV4dFdyaXRlckVuZERUREVudGl0eQorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0V3JpdGVyRW5kRFRERW50aXR5KSB4bWxUZXh0V3JpdGVyRW5kRFRERW50aXR5X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGV4dFdyaXRlckVuZERUREVudGl0eSB4bWxUZXh0V3JpdGVyRW5kRFRERW50aXR5X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHdyaXRlcgorI3VuZGVmIHhtbFRleHRXcml0ZXJFbmREb2N1bWVudAorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0V3JpdGVyRW5kRG9jdW1lbnQpIHhtbFRleHRXcml0ZXJFbmREb2N1bWVudCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFRleHRXcml0ZXJFbmREb2N1bWVudF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGV4dFdyaXRlckVuZERvY3VtZW50CitleHRlcm4gX190eXBlb2YgKHhtbFRleHRXcml0ZXJFbmREb2N1bWVudCkgeG1sVGV4dFdyaXRlckVuZERvY3VtZW50X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGV4dFdyaXRlckVuZERvY3VtZW50IHhtbFRleHRXcml0ZXJFbmREb2N1bWVudF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx3cml0ZXIKKyN1bmRlZiB4bWxUZXh0V3JpdGVyRW5kRWxlbWVudAorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0V3JpdGVyRW5kRWxlbWVudCkgeG1sVGV4dFdyaXRlckVuZEVsZW1lbnQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxUZXh0V3JpdGVyRW5kRWxlbWVudF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGV4dFdyaXRlckVuZEVsZW1lbnQKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFdyaXRlckVuZEVsZW1lbnQpIHhtbFRleHRXcml0ZXJFbmRFbGVtZW50X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGV4dFdyaXRlckVuZEVsZW1lbnQgeG1sVGV4dFdyaXRlckVuZEVsZW1lbnRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sd3JpdGVyCisjdW5kZWYgeG1sVGV4dFdyaXRlckVuZFBJCitleHRlcm4gX190eXBlb2YgKHhtbFRleHRXcml0ZXJFbmRQSSkgeG1sVGV4dFdyaXRlckVuZFBJIF9fYXR0cmlidXRlKChhbGlhcygieG1sVGV4dFdyaXRlckVuZFBJX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxUZXh0V3JpdGVyRW5kUEkKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFdyaXRlckVuZFBJKSB4bWxUZXh0V3JpdGVyRW5kUElfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxUZXh0V3JpdGVyRW5kUEkgeG1sVGV4dFdyaXRlckVuZFBJX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHdyaXRlcgorI3VuZGVmIHhtbFRleHRXcml0ZXJGbHVzaAorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0V3JpdGVyRmx1c2gpIHhtbFRleHRXcml0ZXJGbHVzaCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFRleHRXcml0ZXJGbHVzaF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGV4dFdyaXRlckZsdXNoCitleHRlcm4gX190eXBlb2YgKHhtbFRleHRXcml0ZXJGbHVzaCkgeG1sVGV4dFdyaXRlckZsdXNoX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGV4dFdyaXRlckZsdXNoIHhtbFRleHRXcml0ZXJGbHVzaF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx3cml0ZXIKKyN1bmRlZiB4bWxUZXh0V3JpdGVyRnVsbEVuZEVsZW1lbnQKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFdyaXRlckZ1bGxFbmRFbGVtZW50KSB4bWxUZXh0V3JpdGVyRnVsbEVuZEVsZW1lbnQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxUZXh0V3JpdGVyRnVsbEVuZEVsZW1lbnRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFRleHRXcml0ZXJGdWxsRW5kRWxlbWVudAorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0V3JpdGVyRnVsbEVuZEVsZW1lbnQpIHhtbFRleHRXcml0ZXJGdWxsRW5kRWxlbWVudF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFRleHRXcml0ZXJGdWxsRW5kRWxlbWVudCB4bWxUZXh0V3JpdGVyRnVsbEVuZEVsZW1lbnRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sd3JpdGVyCisjdW5kZWYgeG1sVGV4dFdyaXRlclNldEluZGVudAorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0V3JpdGVyU2V0SW5kZW50KSB4bWxUZXh0V3JpdGVyU2V0SW5kZW50IF9fYXR0cmlidXRlKChhbGlhcygieG1sVGV4dFdyaXRlclNldEluZGVudF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGV4dFdyaXRlclNldEluZGVudAorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0V3JpdGVyU2V0SW5kZW50KSB4bWxUZXh0V3JpdGVyU2V0SW5kZW50X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGV4dFdyaXRlclNldEluZGVudCB4bWxUZXh0V3JpdGVyU2V0SW5kZW50X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHdyaXRlcgorI3VuZGVmIHhtbFRleHRXcml0ZXJTZXRJbmRlbnRTdHJpbmcKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFdyaXRlclNldEluZGVudFN0cmluZykgeG1sVGV4dFdyaXRlclNldEluZGVudFN0cmluZyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFRleHRXcml0ZXJTZXRJbmRlbnRTdHJpbmdfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFRleHRXcml0ZXJTZXRJbmRlbnRTdHJpbmcKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFdyaXRlclNldEluZGVudFN0cmluZykgeG1sVGV4dFdyaXRlclNldEluZGVudFN0cmluZ19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFRleHRXcml0ZXJTZXRJbmRlbnRTdHJpbmcgeG1sVGV4dFdyaXRlclNldEluZGVudFN0cmluZ19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx3cml0ZXIKKyN1bmRlZiB4bWxUZXh0V3JpdGVyU2V0UXVvdGVDaGFyCitleHRlcm4gX190eXBlb2YgKHhtbFRleHRXcml0ZXJTZXRRdW90ZUNoYXIpIHhtbFRleHRXcml0ZXJTZXRRdW90ZUNoYXIgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxUZXh0V3JpdGVyU2V0UXVvdGVDaGFyX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxUZXh0V3JpdGVyU2V0UXVvdGVDaGFyCitleHRlcm4gX190eXBlb2YgKHhtbFRleHRXcml0ZXJTZXRRdW90ZUNoYXIpIHhtbFRleHRXcml0ZXJTZXRRdW90ZUNoYXJfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxUZXh0V3JpdGVyU2V0UXVvdGVDaGFyIHhtbFRleHRXcml0ZXJTZXRRdW90ZUNoYXJfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sd3JpdGVyCisjdW5kZWYgeG1sVGV4dFdyaXRlclN0YXJ0QXR0cmlidXRlCitleHRlcm4gX190eXBlb2YgKHhtbFRleHRXcml0ZXJTdGFydEF0dHJpYnV0ZSkgeG1sVGV4dFdyaXRlclN0YXJ0QXR0cmlidXRlIF9fYXR0cmlidXRlKChhbGlhcygieG1sVGV4dFdyaXRlclN0YXJ0QXR0cmlidXRlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxUZXh0V3JpdGVyU3RhcnRBdHRyaWJ1dGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFdyaXRlclN0YXJ0QXR0cmlidXRlKSB4bWxUZXh0V3JpdGVyU3RhcnRBdHRyaWJ1dGVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxUZXh0V3JpdGVyU3RhcnRBdHRyaWJ1dGUgeG1sVGV4dFdyaXRlclN0YXJ0QXR0cmlidXRlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHdyaXRlcgorI3VuZGVmIHhtbFRleHRXcml0ZXJTdGFydEF0dHJpYnV0ZU5TCitleHRlcm4gX190eXBlb2YgKHhtbFRleHRXcml0ZXJTdGFydEF0dHJpYnV0ZU5TKSB4bWxUZXh0V3JpdGVyU3RhcnRBdHRyaWJ1dGVOUyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFRleHRXcml0ZXJTdGFydEF0dHJpYnV0ZU5TX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxUZXh0V3JpdGVyU3RhcnRBdHRyaWJ1dGVOUworZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0V3JpdGVyU3RhcnRBdHRyaWJ1dGVOUykgeG1sVGV4dFdyaXRlclN0YXJ0QXR0cmlidXRlTlNfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxUZXh0V3JpdGVyU3RhcnRBdHRyaWJ1dGVOUyB4bWxUZXh0V3JpdGVyU3RhcnRBdHRyaWJ1dGVOU19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx3cml0ZXIKKyN1bmRlZiB4bWxUZXh0V3JpdGVyU3RhcnRDREFUQQorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0V3JpdGVyU3RhcnRDREFUQSkgeG1sVGV4dFdyaXRlclN0YXJ0Q0RBVEEgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxUZXh0V3JpdGVyU3RhcnRDREFUQV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGV4dFdyaXRlclN0YXJ0Q0RBVEEKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFdyaXRlclN0YXJ0Q0RBVEEpIHhtbFRleHRXcml0ZXJTdGFydENEQVRBX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGV4dFdyaXRlclN0YXJ0Q0RBVEEgeG1sVGV4dFdyaXRlclN0YXJ0Q0RBVEFfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sd3JpdGVyCisjdW5kZWYgeG1sVGV4dFdyaXRlclN0YXJ0Q29tbWVudAorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0V3JpdGVyU3RhcnRDb21tZW50KSB4bWxUZXh0V3JpdGVyU3RhcnRDb21tZW50IF9fYXR0cmlidXRlKChhbGlhcygieG1sVGV4dFdyaXRlclN0YXJ0Q29tbWVudF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGV4dFdyaXRlclN0YXJ0Q29tbWVudAorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0V3JpdGVyU3RhcnRDb21tZW50KSB4bWxUZXh0V3JpdGVyU3RhcnRDb21tZW50X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGV4dFdyaXRlclN0YXJ0Q29tbWVudCB4bWxUZXh0V3JpdGVyU3RhcnRDb21tZW50X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHdyaXRlcgorI3VuZGVmIHhtbFRleHRXcml0ZXJTdGFydERURAorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0V3JpdGVyU3RhcnREVEQpIHhtbFRleHRXcml0ZXJTdGFydERURCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFRleHRXcml0ZXJTdGFydERURF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGV4dFdyaXRlclN0YXJ0RFRECitleHRlcm4gX190eXBlb2YgKHhtbFRleHRXcml0ZXJTdGFydERURCkgeG1sVGV4dFdyaXRlclN0YXJ0RFREX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGV4dFdyaXRlclN0YXJ0RFREIHhtbFRleHRXcml0ZXJTdGFydERURF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx3cml0ZXIKKyN1bmRlZiB4bWxUZXh0V3JpdGVyU3RhcnREVERBdHRsaXN0CitleHRlcm4gX190eXBlb2YgKHhtbFRleHRXcml0ZXJTdGFydERUREF0dGxpc3QpIHhtbFRleHRXcml0ZXJTdGFydERUREF0dGxpc3QgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxUZXh0V3JpdGVyU3RhcnREVERBdHRsaXN0X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxUZXh0V3JpdGVyU3RhcnREVERBdHRsaXN0CitleHRlcm4gX190eXBlb2YgKHhtbFRleHRXcml0ZXJTdGFydERUREF0dGxpc3QpIHhtbFRleHRXcml0ZXJTdGFydERUREF0dGxpc3RfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxUZXh0V3JpdGVyU3RhcnREVERBdHRsaXN0IHhtbFRleHRXcml0ZXJTdGFydERUREF0dGxpc3RfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sd3JpdGVyCisjdW5kZWYgeG1sVGV4dFdyaXRlclN0YXJ0RFRERWxlbWVudAorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0V3JpdGVyU3RhcnREVERFbGVtZW50KSB4bWxUZXh0V3JpdGVyU3RhcnREVERFbGVtZW50IF9fYXR0cmlidXRlKChhbGlhcygieG1sVGV4dFdyaXRlclN0YXJ0RFRERWxlbWVudF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGV4dFdyaXRlclN0YXJ0RFRERWxlbWVudAorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0V3JpdGVyU3RhcnREVERFbGVtZW50KSB4bWxUZXh0V3JpdGVyU3RhcnREVERFbGVtZW50X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGV4dFdyaXRlclN0YXJ0RFRERWxlbWVudCB4bWxUZXh0V3JpdGVyU3RhcnREVERFbGVtZW50X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHdyaXRlcgorI3VuZGVmIHhtbFRleHRXcml0ZXJTdGFydERUREVudGl0eQorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0V3JpdGVyU3RhcnREVERFbnRpdHkpIHhtbFRleHRXcml0ZXJTdGFydERUREVudGl0eSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFRleHRXcml0ZXJTdGFydERUREVudGl0eV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGV4dFdyaXRlclN0YXJ0RFRERW50aXR5CitleHRlcm4gX190eXBlb2YgKHhtbFRleHRXcml0ZXJTdGFydERUREVudGl0eSkgeG1sVGV4dFdyaXRlclN0YXJ0RFRERW50aXR5X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGV4dFdyaXRlclN0YXJ0RFRERW50aXR5IHhtbFRleHRXcml0ZXJTdGFydERUREVudGl0eV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx3cml0ZXIKKyN1bmRlZiB4bWxUZXh0V3JpdGVyU3RhcnREb2N1bWVudAorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0V3JpdGVyU3RhcnREb2N1bWVudCkgeG1sVGV4dFdyaXRlclN0YXJ0RG9jdW1lbnQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxUZXh0V3JpdGVyU3RhcnREb2N1bWVudF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGV4dFdyaXRlclN0YXJ0RG9jdW1lbnQKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFdyaXRlclN0YXJ0RG9jdW1lbnQpIHhtbFRleHRXcml0ZXJTdGFydERvY3VtZW50X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGV4dFdyaXRlclN0YXJ0RG9jdW1lbnQgeG1sVGV4dFdyaXRlclN0YXJ0RG9jdW1lbnRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sd3JpdGVyCisjdW5kZWYgeG1sVGV4dFdyaXRlclN0YXJ0RWxlbWVudAorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0V3JpdGVyU3RhcnRFbGVtZW50KSB4bWxUZXh0V3JpdGVyU3RhcnRFbGVtZW50IF9fYXR0cmlidXRlKChhbGlhcygieG1sVGV4dFdyaXRlclN0YXJ0RWxlbWVudF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGV4dFdyaXRlclN0YXJ0RWxlbWVudAorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0V3JpdGVyU3RhcnRFbGVtZW50KSB4bWxUZXh0V3JpdGVyU3RhcnRFbGVtZW50X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGV4dFdyaXRlclN0YXJ0RWxlbWVudCB4bWxUZXh0V3JpdGVyU3RhcnRFbGVtZW50X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHdyaXRlcgorI3VuZGVmIHhtbFRleHRXcml0ZXJTdGFydEVsZW1lbnROUworZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0V3JpdGVyU3RhcnRFbGVtZW50TlMpIHhtbFRleHRXcml0ZXJTdGFydEVsZW1lbnROUyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFRleHRXcml0ZXJTdGFydEVsZW1lbnROU19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGV4dFdyaXRlclN0YXJ0RWxlbWVudE5TCitleHRlcm4gX190eXBlb2YgKHhtbFRleHRXcml0ZXJTdGFydEVsZW1lbnROUykgeG1sVGV4dFdyaXRlclN0YXJ0RWxlbWVudE5TX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGV4dFdyaXRlclN0YXJ0RWxlbWVudE5TIHhtbFRleHRXcml0ZXJTdGFydEVsZW1lbnROU19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx3cml0ZXIKKyN1bmRlZiB4bWxUZXh0V3JpdGVyU3RhcnRQSQorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0V3JpdGVyU3RhcnRQSSkgeG1sVGV4dFdyaXRlclN0YXJ0UEkgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxUZXh0V3JpdGVyU3RhcnRQSV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGV4dFdyaXRlclN0YXJ0UEkKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFdyaXRlclN0YXJ0UEkpIHhtbFRleHRXcml0ZXJTdGFydFBJX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGV4dFdyaXRlclN0YXJ0UEkgeG1sVGV4dFdyaXRlclN0YXJ0UElfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sd3JpdGVyCisjdW5kZWYgeG1sVGV4dFdyaXRlcldyaXRlQXR0cmlidXRlCitleHRlcm4gX190eXBlb2YgKHhtbFRleHRXcml0ZXJXcml0ZUF0dHJpYnV0ZSkgeG1sVGV4dFdyaXRlcldyaXRlQXR0cmlidXRlIF9fYXR0cmlidXRlKChhbGlhcygieG1sVGV4dFdyaXRlcldyaXRlQXR0cmlidXRlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxUZXh0V3JpdGVyV3JpdGVBdHRyaWJ1dGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFdyaXRlcldyaXRlQXR0cmlidXRlKSB4bWxUZXh0V3JpdGVyV3JpdGVBdHRyaWJ1dGVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxUZXh0V3JpdGVyV3JpdGVBdHRyaWJ1dGUgeG1sVGV4dFdyaXRlcldyaXRlQXR0cmlidXRlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHdyaXRlcgorI3VuZGVmIHhtbFRleHRXcml0ZXJXcml0ZUF0dHJpYnV0ZU5TCitleHRlcm4gX190eXBlb2YgKHhtbFRleHRXcml0ZXJXcml0ZUF0dHJpYnV0ZU5TKSB4bWxUZXh0V3JpdGVyV3JpdGVBdHRyaWJ1dGVOUyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFRleHRXcml0ZXJXcml0ZUF0dHJpYnV0ZU5TX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxUZXh0V3JpdGVyV3JpdGVBdHRyaWJ1dGVOUworZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0V3JpdGVyV3JpdGVBdHRyaWJ1dGVOUykgeG1sVGV4dFdyaXRlcldyaXRlQXR0cmlidXRlTlNfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxUZXh0V3JpdGVyV3JpdGVBdHRyaWJ1dGVOUyB4bWxUZXh0V3JpdGVyV3JpdGVBdHRyaWJ1dGVOU19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx3cml0ZXIKKyN1bmRlZiB4bWxUZXh0V3JpdGVyV3JpdGVCYXNlNjQKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFdyaXRlcldyaXRlQmFzZTY0KSB4bWxUZXh0V3JpdGVyV3JpdGVCYXNlNjQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxUZXh0V3JpdGVyV3JpdGVCYXNlNjRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFRleHRXcml0ZXJXcml0ZUJhc2U2NAorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0V3JpdGVyV3JpdGVCYXNlNjQpIHhtbFRleHRXcml0ZXJXcml0ZUJhc2U2NF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFRleHRXcml0ZXJXcml0ZUJhc2U2NCB4bWxUZXh0V3JpdGVyV3JpdGVCYXNlNjRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sd3JpdGVyCisjdW5kZWYgeG1sVGV4dFdyaXRlcldyaXRlQmluSGV4CitleHRlcm4gX190eXBlb2YgKHhtbFRleHRXcml0ZXJXcml0ZUJpbkhleCkgeG1sVGV4dFdyaXRlcldyaXRlQmluSGV4IF9fYXR0cmlidXRlKChhbGlhcygieG1sVGV4dFdyaXRlcldyaXRlQmluSGV4X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxUZXh0V3JpdGVyV3JpdGVCaW5IZXgKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFdyaXRlcldyaXRlQmluSGV4KSB4bWxUZXh0V3JpdGVyV3JpdGVCaW5IZXhfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxUZXh0V3JpdGVyV3JpdGVCaW5IZXggeG1sVGV4dFdyaXRlcldyaXRlQmluSGV4X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHdyaXRlcgorI3VuZGVmIHhtbFRleHRXcml0ZXJXcml0ZUNEQVRBCitleHRlcm4gX190eXBlb2YgKHhtbFRleHRXcml0ZXJXcml0ZUNEQVRBKSB4bWxUZXh0V3JpdGVyV3JpdGVDREFUQSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFRleHRXcml0ZXJXcml0ZUNEQVRBX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxUZXh0V3JpdGVyV3JpdGVDREFUQQorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0V3JpdGVyV3JpdGVDREFUQSkgeG1sVGV4dFdyaXRlcldyaXRlQ0RBVEFfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxUZXh0V3JpdGVyV3JpdGVDREFUQSB4bWxUZXh0V3JpdGVyV3JpdGVDREFUQV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx3cml0ZXIKKyN1bmRlZiB4bWxUZXh0V3JpdGVyV3JpdGVDb21tZW50CitleHRlcm4gX190eXBlb2YgKHhtbFRleHRXcml0ZXJXcml0ZUNvbW1lbnQpIHhtbFRleHRXcml0ZXJXcml0ZUNvbW1lbnQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxUZXh0V3JpdGVyV3JpdGVDb21tZW50X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxUZXh0V3JpdGVyV3JpdGVDb21tZW50CitleHRlcm4gX190eXBlb2YgKHhtbFRleHRXcml0ZXJXcml0ZUNvbW1lbnQpIHhtbFRleHRXcml0ZXJXcml0ZUNvbW1lbnRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxUZXh0V3JpdGVyV3JpdGVDb21tZW50IHhtbFRleHRXcml0ZXJXcml0ZUNvbW1lbnRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sd3JpdGVyCisjdW5kZWYgeG1sVGV4dFdyaXRlcldyaXRlRFRECitleHRlcm4gX190eXBlb2YgKHhtbFRleHRXcml0ZXJXcml0ZURURCkgeG1sVGV4dFdyaXRlcldyaXRlRFREIF9fYXR0cmlidXRlKChhbGlhcygieG1sVGV4dFdyaXRlcldyaXRlRFREX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxUZXh0V3JpdGVyV3JpdGVEVEQKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFdyaXRlcldyaXRlRFREKSB4bWxUZXh0V3JpdGVyV3JpdGVEVERfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxUZXh0V3JpdGVyV3JpdGVEVEQgeG1sVGV4dFdyaXRlcldyaXRlRFREX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHdyaXRlcgorI3VuZGVmIHhtbFRleHRXcml0ZXJXcml0ZURUREF0dGxpc3QKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFdyaXRlcldyaXRlRFREQXR0bGlzdCkgeG1sVGV4dFdyaXRlcldyaXRlRFREQXR0bGlzdCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFRleHRXcml0ZXJXcml0ZURUREF0dGxpc3RfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFRleHRXcml0ZXJXcml0ZURUREF0dGxpc3QKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFdyaXRlcldyaXRlRFREQXR0bGlzdCkgeG1sVGV4dFdyaXRlcldyaXRlRFREQXR0bGlzdF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFRleHRXcml0ZXJXcml0ZURUREF0dGxpc3QgeG1sVGV4dFdyaXRlcldyaXRlRFREQXR0bGlzdF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx3cml0ZXIKKyN1bmRlZiB4bWxUZXh0V3JpdGVyV3JpdGVEVERFbGVtZW50CitleHRlcm4gX190eXBlb2YgKHhtbFRleHRXcml0ZXJXcml0ZURUREVsZW1lbnQpIHhtbFRleHRXcml0ZXJXcml0ZURUREVsZW1lbnQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxUZXh0V3JpdGVyV3JpdGVEVERFbGVtZW50X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxUZXh0V3JpdGVyV3JpdGVEVERFbGVtZW50CitleHRlcm4gX190eXBlb2YgKHhtbFRleHRXcml0ZXJXcml0ZURUREVsZW1lbnQpIHhtbFRleHRXcml0ZXJXcml0ZURUREVsZW1lbnRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxUZXh0V3JpdGVyV3JpdGVEVERFbGVtZW50IHhtbFRleHRXcml0ZXJXcml0ZURUREVsZW1lbnRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sd3JpdGVyCisjdW5kZWYgeG1sVGV4dFdyaXRlcldyaXRlRFRERW50aXR5CitleHRlcm4gX190eXBlb2YgKHhtbFRleHRXcml0ZXJXcml0ZURUREVudGl0eSkgeG1sVGV4dFdyaXRlcldyaXRlRFRERW50aXR5IF9fYXR0cmlidXRlKChhbGlhcygieG1sVGV4dFdyaXRlcldyaXRlRFRERW50aXR5X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxUZXh0V3JpdGVyV3JpdGVEVERFbnRpdHkKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFdyaXRlcldyaXRlRFRERW50aXR5KSB4bWxUZXh0V3JpdGVyV3JpdGVEVERFbnRpdHlfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxUZXh0V3JpdGVyV3JpdGVEVERFbnRpdHkgeG1sVGV4dFdyaXRlcldyaXRlRFRERW50aXR5X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHdyaXRlcgorI3VuZGVmIHhtbFRleHRXcml0ZXJXcml0ZURUREV4dGVybmFsRW50aXR5CitleHRlcm4gX190eXBlb2YgKHhtbFRleHRXcml0ZXJXcml0ZURUREV4dGVybmFsRW50aXR5KSB4bWxUZXh0V3JpdGVyV3JpdGVEVERFeHRlcm5hbEVudGl0eSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFRleHRXcml0ZXJXcml0ZURUREV4dGVybmFsRW50aXR5X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxUZXh0V3JpdGVyV3JpdGVEVERFeHRlcm5hbEVudGl0eQorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0V3JpdGVyV3JpdGVEVERFeHRlcm5hbEVudGl0eSkgeG1sVGV4dFdyaXRlcldyaXRlRFRERXh0ZXJuYWxFbnRpdHlfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxUZXh0V3JpdGVyV3JpdGVEVERFeHRlcm5hbEVudGl0eSB4bWxUZXh0V3JpdGVyV3JpdGVEVERFeHRlcm5hbEVudGl0eV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx3cml0ZXIKKyN1bmRlZiB4bWxUZXh0V3JpdGVyV3JpdGVEVERFeHRlcm5hbEVudGl0eUNvbnRlbnRzCitleHRlcm4gX190eXBlb2YgKHhtbFRleHRXcml0ZXJXcml0ZURUREV4dGVybmFsRW50aXR5Q29udGVudHMpIHhtbFRleHRXcml0ZXJXcml0ZURUREV4dGVybmFsRW50aXR5Q29udGVudHMgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxUZXh0V3JpdGVyV3JpdGVEVERFeHRlcm5hbEVudGl0eUNvbnRlbnRzX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxUZXh0V3JpdGVyV3JpdGVEVERFeHRlcm5hbEVudGl0eUNvbnRlbnRzCitleHRlcm4gX190eXBlb2YgKHhtbFRleHRXcml0ZXJXcml0ZURUREV4dGVybmFsRW50aXR5Q29udGVudHMpIHhtbFRleHRXcml0ZXJXcml0ZURUREV4dGVybmFsRW50aXR5Q29udGVudHNfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxUZXh0V3JpdGVyV3JpdGVEVERFeHRlcm5hbEVudGl0eUNvbnRlbnRzIHhtbFRleHRXcml0ZXJXcml0ZURUREV4dGVybmFsRW50aXR5Q29udGVudHNfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sd3JpdGVyCisjdW5kZWYgeG1sVGV4dFdyaXRlcldyaXRlRFRESW50ZXJuYWxFbnRpdHkKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFdyaXRlcldyaXRlRFRESW50ZXJuYWxFbnRpdHkpIHhtbFRleHRXcml0ZXJXcml0ZURUREludGVybmFsRW50aXR5IF9fYXR0cmlidXRlKChhbGlhcygieG1sVGV4dFdyaXRlcldyaXRlRFRESW50ZXJuYWxFbnRpdHlfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFRleHRXcml0ZXJXcml0ZURUREludGVybmFsRW50aXR5CitleHRlcm4gX190eXBlb2YgKHhtbFRleHRXcml0ZXJXcml0ZURUREludGVybmFsRW50aXR5KSB4bWxUZXh0V3JpdGVyV3JpdGVEVERJbnRlcm5hbEVudGl0eV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFRleHRXcml0ZXJXcml0ZURUREludGVybmFsRW50aXR5IHhtbFRleHRXcml0ZXJXcml0ZURUREludGVybmFsRW50aXR5X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHdyaXRlcgorI3VuZGVmIHhtbFRleHRXcml0ZXJXcml0ZURURE5vdGF0aW9uCitleHRlcm4gX190eXBlb2YgKHhtbFRleHRXcml0ZXJXcml0ZURURE5vdGF0aW9uKSB4bWxUZXh0V3JpdGVyV3JpdGVEVEROb3RhdGlvbiBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFRleHRXcml0ZXJXcml0ZURURE5vdGF0aW9uX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxUZXh0V3JpdGVyV3JpdGVEVEROb3RhdGlvbgorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0V3JpdGVyV3JpdGVEVEROb3RhdGlvbikgeG1sVGV4dFdyaXRlcldyaXRlRFRETm90YXRpb25fX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxUZXh0V3JpdGVyV3JpdGVEVEROb3RhdGlvbiB4bWxUZXh0V3JpdGVyV3JpdGVEVEROb3RhdGlvbl9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx3cml0ZXIKKyN1bmRlZiB4bWxUZXh0V3JpdGVyV3JpdGVFbGVtZW50CitleHRlcm4gX190eXBlb2YgKHhtbFRleHRXcml0ZXJXcml0ZUVsZW1lbnQpIHhtbFRleHRXcml0ZXJXcml0ZUVsZW1lbnQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxUZXh0V3JpdGVyV3JpdGVFbGVtZW50X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxUZXh0V3JpdGVyV3JpdGVFbGVtZW50CitleHRlcm4gX190eXBlb2YgKHhtbFRleHRXcml0ZXJXcml0ZUVsZW1lbnQpIHhtbFRleHRXcml0ZXJXcml0ZUVsZW1lbnRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxUZXh0V3JpdGVyV3JpdGVFbGVtZW50IHhtbFRleHRXcml0ZXJXcml0ZUVsZW1lbnRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sd3JpdGVyCisjdW5kZWYgeG1sVGV4dFdyaXRlcldyaXRlRWxlbWVudE5TCitleHRlcm4gX190eXBlb2YgKHhtbFRleHRXcml0ZXJXcml0ZUVsZW1lbnROUykgeG1sVGV4dFdyaXRlcldyaXRlRWxlbWVudE5TIF9fYXR0cmlidXRlKChhbGlhcygieG1sVGV4dFdyaXRlcldyaXRlRWxlbWVudE5TX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxUZXh0V3JpdGVyV3JpdGVFbGVtZW50TlMKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFdyaXRlcldyaXRlRWxlbWVudE5TKSB4bWxUZXh0V3JpdGVyV3JpdGVFbGVtZW50TlNfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxUZXh0V3JpdGVyV3JpdGVFbGVtZW50TlMgeG1sVGV4dFdyaXRlcldyaXRlRWxlbWVudE5TX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHdyaXRlcgorI3VuZGVmIHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdEF0dHJpYnV0ZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRBdHRyaWJ1dGUpIHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdEF0dHJpYnV0ZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdEF0dHJpYnV0ZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0QXR0cmlidXRlCitleHRlcm4gX190eXBlb2YgKHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdEF0dHJpYnV0ZSkgeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0QXR0cmlidXRlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0QXR0cmlidXRlIHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdEF0dHJpYnV0ZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx3cml0ZXIKKyN1bmRlZiB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRBdHRyaWJ1dGVOUworZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRBdHRyaWJ1dGVOUykgeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0QXR0cmlidXRlTlMgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRBdHRyaWJ1dGVOU19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0QXR0cmlidXRlTlMKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0QXR0cmlidXRlTlMpIHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdEF0dHJpYnV0ZU5TX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0QXR0cmlidXRlTlMgeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0QXR0cmlidXRlTlNfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sd3JpdGVyCisjdW5kZWYgeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0Q0RBVEEKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0Q0RBVEEpIHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdENEQVRBIF9fYXR0cmlidXRlKChhbGlhcygieG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0Q0RBVEFfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdENEQVRBCitleHRlcm4gX190eXBlb2YgKHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdENEQVRBKSB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRDREFUQV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdENEQVRBIHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdENEQVRBX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHdyaXRlcgorI3VuZGVmIHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdENvbW1lbnQKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0Q29tbWVudCkgeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0Q29tbWVudCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdENvbW1lbnRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdENvbW1lbnQKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0Q29tbWVudCkgeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0Q29tbWVudF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdENvbW1lbnQgeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0Q29tbWVudF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx3cml0ZXIKKyN1bmRlZiB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVEQKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFREKSB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVEQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVERfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdERURAorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVEQpIHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdERURF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdERURCB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVERfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sd3JpdGVyCisjdW5kZWYgeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFREQXR0bGlzdAorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVERBdHRsaXN0KSB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVERBdHRsaXN0IF9fYXR0cmlidXRlKChhbGlhcygieG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFREQXR0bGlzdF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFREQXR0bGlzdAorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVERBdHRsaXN0KSB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVERBdHRsaXN0X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFREQXR0bGlzdCB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVERBdHRsaXN0X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHdyaXRlcgorI3VuZGVmIHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdERUREVsZW1lbnQKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFRERWxlbWVudCkgeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFRERWxlbWVudCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdERUREVsZW1lbnRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdERUREVsZW1lbnQKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFRERWxlbWVudCkgeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFRERWxlbWVudF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdERUREVsZW1lbnQgeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFRERWxlbWVudF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx3cml0ZXIKKyN1bmRlZiB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVERJbnRlcm5hbEVudGl0eQorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVERJbnRlcm5hbEVudGl0eSkgeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFRESW50ZXJuYWxFbnRpdHkgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVERJbnRlcm5hbEVudGl0eV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFRESW50ZXJuYWxFbnRpdHkKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFRESW50ZXJuYWxFbnRpdHkpIHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdERUREludGVybmFsRW50aXR5X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFRESW50ZXJuYWxFbnRpdHkgeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFRESW50ZXJuYWxFbnRpdHlfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sd3JpdGVyCisjdW5kZWYgeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RWxlbWVudAorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRFbGVtZW50KSB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRFbGVtZW50IF9fYXR0cmlidXRlKChhbGlhcygieG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RWxlbWVudF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RWxlbWVudAorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRFbGVtZW50KSB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRFbGVtZW50X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RWxlbWVudCB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRFbGVtZW50X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHdyaXRlcgorI3VuZGVmIHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdEVsZW1lbnROUworZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRFbGVtZW50TlMpIHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdEVsZW1lbnROUyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdEVsZW1lbnROU19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RWxlbWVudE5TCitleHRlcm4gX190eXBlb2YgKHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdEVsZW1lbnROUykgeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RWxlbWVudE5TX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RWxlbWVudE5TIHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdEVsZW1lbnROU19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx3cml0ZXIKKyN1bmRlZiB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRQSQorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRQSSkgeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0UEkgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRQSV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0UEkKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0UEkpIHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdFBJX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0UEkgeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0UElfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sd3JpdGVyCisjdW5kZWYgeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0UmF3CitleHRlcm4gX190eXBlb2YgKHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdFJhdykgeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0UmF3IF9fYXR0cmlidXRlKChhbGlhcygieG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0UmF3X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRSYXcKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0UmF3KSB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRSYXdfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRSYXcgeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0UmF3X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHdyaXRlcgorI3VuZGVmIHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdFN0cmluZworZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRTdHJpbmcpIHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdFN0cmluZyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdFN0cmluZ19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0U3RyaW5nCitleHRlcm4gX190eXBlb2YgKHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdFN0cmluZykgeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0U3RyaW5nX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0U3RyaW5nIHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdFN0cmluZ19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx3cml0ZXIKKyN1bmRlZiB4bWxUZXh0V3JpdGVyV3JpdGVQSQorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0V3JpdGVyV3JpdGVQSSkgeG1sVGV4dFdyaXRlcldyaXRlUEkgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxUZXh0V3JpdGVyV3JpdGVQSV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGV4dFdyaXRlcldyaXRlUEkKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFdyaXRlcldyaXRlUEkpIHhtbFRleHRXcml0ZXJXcml0ZVBJX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGV4dFdyaXRlcldyaXRlUEkgeG1sVGV4dFdyaXRlcldyaXRlUElfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sd3JpdGVyCisjdW5kZWYgeG1sVGV4dFdyaXRlcldyaXRlUmF3CitleHRlcm4gX190eXBlb2YgKHhtbFRleHRXcml0ZXJXcml0ZVJhdykgeG1sVGV4dFdyaXRlcldyaXRlUmF3IF9fYXR0cmlidXRlKChhbGlhcygieG1sVGV4dFdyaXRlcldyaXRlUmF3X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxUZXh0V3JpdGVyV3JpdGVSYXcKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFdyaXRlcldyaXRlUmF3KSB4bWxUZXh0V3JpdGVyV3JpdGVSYXdfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxUZXh0V3JpdGVyV3JpdGVSYXcgeG1sVGV4dFdyaXRlcldyaXRlUmF3X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHdyaXRlcgorI3VuZGVmIHhtbFRleHRXcml0ZXJXcml0ZVJhd0xlbgorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0V3JpdGVyV3JpdGVSYXdMZW4pIHhtbFRleHRXcml0ZXJXcml0ZVJhd0xlbiBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFRleHRXcml0ZXJXcml0ZVJhd0xlbl9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGV4dFdyaXRlcldyaXRlUmF3TGVuCitleHRlcm4gX190eXBlb2YgKHhtbFRleHRXcml0ZXJXcml0ZVJhd0xlbikgeG1sVGV4dFdyaXRlcldyaXRlUmF3TGVuX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGV4dFdyaXRlcldyaXRlUmF3TGVuIHhtbFRleHRXcml0ZXJXcml0ZVJhd0xlbl9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx3cml0ZXIKKyN1bmRlZiB4bWxUZXh0V3JpdGVyV3JpdGVTdHJpbmcKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFdyaXRlcldyaXRlU3RyaW5nKSB4bWxUZXh0V3JpdGVyV3JpdGVTdHJpbmcgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxUZXh0V3JpdGVyV3JpdGVTdHJpbmdfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFRleHRXcml0ZXJXcml0ZVN0cmluZworZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0V3JpdGVyV3JpdGVTdHJpbmcpIHhtbFRleHRXcml0ZXJXcml0ZVN0cmluZ19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFRleHRXcml0ZXJXcml0ZVN0cmluZyB4bWxUZXh0V3JpdGVyV3JpdGVTdHJpbmdfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sd3JpdGVyCisjdW5kZWYgeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEF0dHJpYnV0ZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0QXR0cmlidXRlKSB4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0QXR0cmlidXRlIF9fYXR0cmlidXRlKChhbGlhcygieG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEF0dHJpYnV0ZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEF0dHJpYnV0ZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0QXR0cmlidXRlKSB4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0QXR0cmlidXRlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEF0dHJpYnV0ZSB4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0QXR0cmlidXRlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHdyaXRlcgorI3VuZGVmIHhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRBdHRyaWJ1dGVOUworZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0QXR0cmlidXRlTlMpIHhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRBdHRyaWJ1dGVOUyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRBdHRyaWJ1dGVOU19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEF0dHJpYnV0ZU5TCitleHRlcm4gX190eXBlb2YgKHhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRBdHRyaWJ1dGVOUykgeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEF0dHJpYnV0ZU5TX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEF0dHJpYnV0ZU5TIHhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRBdHRyaWJ1dGVOU19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx3cml0ZXIKKyN1bmRlZiB4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0Q0RBVEEKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdENEQVRBKSB4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0Q0RBVEEgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0Q0RBVEFfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRDREFUQQorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0Q0RBVEEpIHhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRDREFUQV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRDREFUQSB4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0Q0RBVEFfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sd3JpdGVyCisjdW5kZWYgeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdENvbW1lbnQKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdENvbW1lbnQpIHhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRDb21tZW50IF9fYXR0cmlidXRlKChhbGlhcygieG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdENvbW1lbnRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRDb21tZW50CitleHRlcm4gX190eXBlb2YgKHhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRDb21tZW50KSB4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0Q29tbWVudF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRDb21tZW50IHhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRDb21tZW50X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHdyaXRlcgorI3VuZGVmIHhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVEQKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERURCkgeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERURCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVERfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVEQKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERURCkgeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERURF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVEQgeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERURF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx3cml0ZXIKKyN1bmRlZiB4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFREQXR0bGlzdAorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFREQXR0bGlzdCkgeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREF0dGxpc3QgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFREQXR0bGlzdF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREF0dGxpc3QKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREF0dGxpc3QpIHhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVERBdHRsaXN0X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREF0dGxpc3QgeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREF0dGxpc3RfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sd3JpdGVyCisjdW5kZWYgeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREVsZW1lbnQKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREVsZW1lbnQpIHhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVERFbGVtZW50IF9fYXR0cmlidXRlKChhbGlhcygieG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREVsZW1lbnRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVERFbGVtZW50CitleHRlcm4gX190eXBlb2YgKHhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVERFbGVtZW50KSB4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFRERWxlbWVudF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVERFbGVtZW50IHhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVERFbGVtZW50X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHdyaXRlcgorI3VuZGVmIHhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVERJbnRlcm5hbEVudGl0eQorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFRESW50ZXJuYWxFbnRpdHkpIHhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVERJbnRlcm5hbEVudGl0eSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVERJbnRlcm5hbEVudGl0eV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREludGVybmFsRW50aXR5CitleHRlcm4gX190eXBlb2YgKHhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVERJbnRlcm5hbEVudGl0eSkgeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREludGVybmFsRW50aXR5X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREludGVybmFsRW50aXR5IHhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVERJbnRlcm5hbEVudGl0eV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx3cml0ZXIKKyN1bmRlZiB4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RWxlbWVudAorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RWxlbWVudCkgeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEVsZW1lbnQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RWxlbWVudF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEVsZW1lbnQKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEVsZW1lbnQpIHhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRFbGVtZW50X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEVsZW1lbnQgeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEVsZW1lbnRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sd3JpdGVyCisjdW5kZWYgeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEVsZW1lbnROUworZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RWxlbWVudE5TKSB4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RWxlbWVudE5TIF9fYXR0cmlidXRlKChhbGlhcygieG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEVsZW1lbnROU19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEVsZW1lbnROUworZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RWxlbWVudE5TKSB4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RWxlbWVudE5TX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEVsZW1lbnROUyB4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RWxlbWVudE5TX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3htbHdyaXRlcgorI3VuZGVmIHhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRQSQorZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0UEkpIHhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRQSSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRQSV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdFBJCitleHRlcm4gX190eXBlb2YgKHhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRQSSkgeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdFBJX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdFBJIHhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRQSV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx3cml0ZXIKKyN1bmRlZiB4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0UmF3CitleHRlcm4gX190eXBlb2YgKHhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRSYXcpIHhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRSYXcgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0UmF3X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0UmF3CitleHRlcm4gX190eXBlb2YgKHhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRSYXcpIHhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRSYXdfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0UmF3IHhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRSYXdfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feG1sd3JpdGVyCisjdW5kZWYgeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdFN0cmluZworZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0U3RyaW5nKSB4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0U3RyaW5nIF9fYXR0cmlidXRlKChhbGlhcygieG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdFN0cmluZ19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdFN0cmluZworZXh0ZXJuIF9fdHlwZW9mICh4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0U3RyaW5nKSB4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0U3RyaW5nX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdFN0cmluZyB4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0U3RyaW5nX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX2dsb2JhbHMKKyN1bmRlZiB4bWxUaHJEZWZCdWZmZXJBbGxvY1NjaGVtZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxUaHJEZWZCdWZmZXJBbGxvY1NjaGVtZSkgeG1sVGhyRGVmQnVmZmVyQWxsb2NTY2hlbWUgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxUaHJEZWZCdWZmZXJBbGxvY1NjaGVtZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGhyRGVmQnVmZmVyQWxsb2NTY2hlbWUKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGhyRGVmQnVmZmVyQWxsb2NTY2hlbWUpIHhtbFRockRlZkJ1ZmZlckFsbG9jU2NoZW1lX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGhyRGVmQnVmZmVyQWxsb2NTY2hlbWUgeG1sVGhyRGVmQnVmZmVyQWxsb2NTY2hlbWVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX2dsb2JhbHMKKyN1bmRlZiB4bWxUaHJEZWZEZWZhdWx0QnVmZmVyU2l6ZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxUaHJEZWZEZWZhdWx0QnVmZmVyU2l6ZSkgeG1sVGhyRGVmRGVmYXVsdEJ1ZmZlclNpemUgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxUaHJEZWZEZWZhdWx0QnVmZmVyU2l6ZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGhyRGVmRGVmYXVsdEJ1ZmZlclNpemUKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGhyRGVmRGVmYXVsdEJ1ZmZlclNpemUpIHhtbFRockRlZkRlZmF1bHRCdWZmZXJTaXplX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGhyRGVmRGVmYXVsdEJ1ZmZlclNpemUgeG1sVGhyRGVmRGVmYXVsdEJ1ZmZlclNpemVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX2dsb2JhbHMKKyN1bmRlZiB4bWxUaHJEZWZEZXJlZ2lzdGVyTm9kZURlZmF1bHQKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGhyRGVmRGVyZWdpc3Rlck5vZGVEZWZhdWx0KSB4bWxUaHJEZWZEZXJlZ2lzdGVyTm9kZURlZmF1bHQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxUaHJEZWZEZXJlZ2lzdGVyTm9kZURlZmF1bHRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFRockRlZkRlcmVnaXN0ZXJOb2RlRGVmYXVsdAorZXh0ZXJuIF9fdHlwZW9mICh4bWxUaHJEZWZEZXJlZ2lzdGVyTm9kZURlZmF1bHQpIHhtbFRockRlZkRlcmVnaXN0ZXJOb2RlRGVmYXVsdF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFRockRlZkRlcmVnaXN0ZXJOb2RlRGVmYXVsdCB4bWxUaHJEZWZEZXJlZ2lzdGVyTm9kZURlZmF1bHRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX2dsb2JhbHMKKyN1bmRlZiB4bWxUaHJEZWZEb1ZhbGlkaXR5Q2hlY2tpbmdEZWZhdWx0VmFsdWUKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGhyRGVmRG9WYWxpZGl0eUNoZWNraW5nRGVmYXVsdFZhbHVlKSB4bWxUaHJEZWZEb1ZhbGlkaXR5Q2hlY2tpbmdEZWZhdWx0VmFsdWUgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxUaHJEZWZEb1ZhbGlkaXR5Q2hlY2tpbmdEZWZhdWx0VmFsdWVfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFRockRlZkRvVmFsaWRpdHlDaGVja2luZ0RlZmF1bHRWYWx1ZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxUaHJEZWZEb1ZhbGlkaXR5Q2hlY2tpbmdEZWZhdWx0VmFsdWUpIHhtbFRockRlZkRvVmFsaWRpdHlDaGVja2luZ0RlZmF1bHRWYWx1ZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFRockRlZkRvVmFsaWRpdHlDaGVja2luZ0RlZmF1bHRWYWx1ZSB4bWxUaHJEZWZEb1ZhbGlkaXR5Q2hlY2tpbmdEZWZhdWx0VmFsdWVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX2dsb2JhbHMKKyN1bmRlZiB4bWxUaHJEZWZHZXRXYXJuaW5nc0RlZmF1bHRWYWx1ZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxUaHJEZWZHZXRXYXJuaW5nc0RlZmF1bHRWYWx1ZSkgeG1sVGhyRGVmR2V0V2FybmluZ3NEZWZhdWx0VmFsdWUgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxUaHJEZWZHZXRXYXJuaW5nc0RlZmF1bHRWYWx1ZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGhyRGVmR2V0V2FybmluZ3NEZWZhdWx0VmFsdWUKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGhyRGVmR2V0V2FybmluZ3NEZWZhdWx0VmFsdWUpIHhtbFRockRlZkdldFdhcm5pbmdzRGVmYXVsdFZhbHVlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGhyRGVmR2V0V2FybmluZ3NEZWZhdWx0VmFsdWUgeG1sVGhyRGVmR2V0V2FybmluZ3NEZWZhdWx0VmFsdWVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX2dsb2JhbHMKKyN1bmRlZiB4bWxUaHJEZWZJbmRlbnRUcmVlT3V0cHV0CitleHRlcm4gX190eXBlb2YgKHhtbFRockRlZkluZGVudFRyZWVPdXRwdXQpIHhtbFRockRlZkluZGVudFRyZWVPdXRwdXQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxUaHJEZWZJbmRlbnRUcmVlT3V0cHV0X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxUaHJEZWZJbmRlbnRUcmVlT3V0cHV0CitleHRlcm4gX190eXBlb2YgKHhtbFRockRlZkluZGVudFRyZWVPdXRwdXQpIHhtbFRockRlZkluZGVudFRyZWVPdXRwdXRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxUaHJEZWZJbmRlbnRUcmVlT3V0cHV0IHhtbFRockRlZkluZGVudFRyZWVPdXRwdXRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX2dsb2JhbHMKKyN1bmRlZiB4bWxUaHJEZWZLZWVwQmxhbmtzRGVmYXVsdFZhbHVlCitleHRlcm4gX190eXBlb2YgKHhtbFRockRlZktlZXBCbGFua3NEZWZhdWx0VmFsdWUpIHhtbFRockRlZktlZXBCbGFua3NEZWZhdWx0VmFsdWUgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxUaHJEZWZLZWVwQmxhbmtzRGVmYXVsdFZhbHVlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxUaHJEZWZLZWVwQmxhbmtzRGVmYXVsdFZhbHVlCitleHRlcm4gX190eXBlb2YgKHhtbFRockRlZktlZXBCbGFua3NEZWZhdWx0VmFsdWUpIHhtbFRockRlZktlZXBCbGFua3NEZWZhdWx0VmFsdWVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxUaHJEZWZLZWVwQmxhbmtzRGVmYXVsdFZhbHVlIHhtbFRockRlZktlZXBCbGFua3NEZWZhdWx0VmFsdWVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX2dsb2JhbHMKKyN1bmRlZiB4bWxUaHJEZWZMaW5lTnVtYmVyc0RlZmF1bHRWYWx1ZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxUaHJEZWZMaW5lTnVtYmVyc0RlZmF1bHRWYWx1ZSkgeG1sVGhyRGVmTGluZU51bWJlcnNEZWZhdWx0VmFsdWUgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxUaHJEZWZMaW5lTnVtYmVyc0RlZmF1bHRWYWx1ZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGhyRGVmTGluZU51bWJlcnNEZWZhdWx0VmFsdWUKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGhyRGVmTGluZU51bWJlcnNEZWZhdWx0VmFsdWUpIHhtbFRockRlZkxpbmVOdW1iZXJzRGVmYXVsdFZhbHVlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGhyRGVmTGluZU51bWJlcnNEZWZhdWx0VmFsdWUgeG1sVGhyRGVmTGluZU51bWJlcnNEZWZhdWx0VmFsdWVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX2dsb2JhbHMKKyN1bmRlZiB4bWxUaHJEZWZMb2FkRXh0RHRkRGVmYXVsdFZhbHVlCitleHRlcm4gX190eXBlb2YgKHhtbFRockRlZkxvYWRFeHREdGREZWZhdWx0VmFsdWUpIHhtbFRockRlZkxvYWRFeHREdGREZWZhdWx0VmFsdWUgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxUaHJEZWZMb2FkRXh0RHRkRGVmYXVsdFZhbHVlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxUaHJEZWZMb2FkRXh0RHRkRGVmYXVsdFZhbHVlCitleHRlcm4gX190eXBlb2YgKHhtbFRockRlZkxvYWRFeHREdGREZWZhdWx0VmFsdWUpIHhtbFRockRlZkxvYWRFeHREdGREZWZhdWx0VmFsdWVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxUaHJEZWZMb2FkRXh0RHRkRGVmYXVsdFZhbHVlIHhtbFRockRlZkxvYWRFeHREdGREZWZhdWx0VmFsdWVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX2dsb2JhbHMKKyN1bmRlZiB4bWxUaHJEZWZPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGhyRGVmT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0KSB4bWxUaHJEZWZPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxUaHJEZWZPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFRockRlZk91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRGVmYXVsdAorZXh0ZXJuIF9fdHlwZW9mICh4bWxUaHJEZWZPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQpIHhtbFRockRlZk91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRGVmYXVsdF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFRockRlZk91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRGVmYXVsdCB4bWxUaHJEZWZPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX2dsb2JhbHMKKyN1bmRlZiB4bWxUaHJEZWZQYXJzZXJEZWJ1Z0VudGl0aWVzCitleHRlcm4gX190eXBlb2YgKHhtbFRockRlZlBhcnNlckRlYnVnRW50aXRpZXMpIHhtbFRockRlZlBhcnNlckRlYnVnRW50aXRpZXMgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxUaHJEZWZQYXJzZXJEZWJ1Z0VudGl0aWVzX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxUaHJEZWZQYXJzZXJEZWJ1Z0VudGl0aWVzCitleHRlcm4gX190eXBlb2YgKHhtbFRockRlZlBhcnNlckRlYnVnRW50aXRpZXMpIHhtbFRockRlZlBhcnNlckRlYnVnRW50aXRpZXNfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxUaHJEZWZQYXJzZXJEZWJ1Z0VudGl0aWVzIHhtbFRockRlZlBhcnNlckRlYnVnRW50aXRpZXNfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX2dsb2JhbHMKKyN1bmRlZiB4bWxUaHJEZWZQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRGVmYXVsdAorZXh0ZXJuIF9fdHlwZW9mICh4bWxUaHJEZWZQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRGVmYXVsdCkgeG1sVGhyRGVmUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxUaHJEZWZQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRGVmYXVsdF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGhyRGVmUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGhyRGVmUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQpIHhtbFRockRlZlBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGhyRGVmUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQgeG1sVGhyRGVmUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX2dsb2JhbHMKKyN1bmRlZiB4bWxUaHJEZWZQZWRhbnRpY1BhcnNlckRlZmF1bHRWYWx1ZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxUaHJEZWZQZWRhbnRpY1BhcnNlckRlZmF1bHRWYWx1ZSkgeG1sVGhyRGVmUGVkYW50aWNQYXJzZXJEZWZhdWx0VmFsdWUgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxUaHJEZWZQZWRhbnRpY1BhcnNlckRlZmF1bHRWYWx1ZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVGhyRGVmUGVkYW50aWNQYXJzZXJEZWZhdWx0VmFsdWUKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGhyRGVmUGVkYW50aWNQYXJzZXJEZWZhdWx0VmFsdWUpIHhtbFRockRlZlBlZGFudGljUGFyc2VyRGVmYXVsdFZhbHVlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVGhyRGVmUGVkYW50aWNQYXJzZXJEZWZhdWx0VmFsdWUgeG1sVGhyRGVmUGVkYW50aWNQYXJzZXJEZWZhdWx0VmFsdWVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX2dsb2JhbHMKKyN1bmRlZiB4bWxUaHJEZWZSZWdpc3Rlck5vZGVEZWZhdWx0CitleHRlcm4gX190eXBlb2YgKHhtbFRockRlZlJlZ2lzdGVyTm9kZURlZmF1bHQpIHhtbFRockRlZlJlZ2lzdGVyTm9kZURlZmF1bHQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxUaHJEZWZSZWdpc3Rlck5vZGVEZWZhdWx0X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxUaHJEZWZSZWdpc3Rlck5vZGVEZWZhdWx0CitleHRlcm4gX190eXBlb2YgKHhtbFRockRlZlJlZ2lzdGVyTm9kZURlZmF1bHQpIHhtbFRockRlZlJlZ2lzdGVyTm9kZURlZmF1bHRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxUaHJEZWZSZWdpc3Rlck5vZGVEZWZhdWx0IHhtbFRockRlZlJlZ2lzdGVyTm9kZURlZmF1bHRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX2dsb2JhbHMKKyN1bmRlZiB4bWxUaHJEZWZTYXZlTm9FbXB0eVRhZ3MKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGhyRGVmU2F2ZU5vRW1wdHlUYWdzKSB4bWxUaHJEZWZTYXZlTm9FbXB0eVRhZ3MgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxUaHJEZWZTYXZlTm9FbXB0eVRhZ3NfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFRockRlZlNhdmVOb0VtcHR5VGFncworZXh0ZXJuIF9fdHlwZW9mICh4bWxUaHJEZWZTYXZlTm9FbXB0eVRhZ3MpIHhtbFRockRlZlNhdmVOb0VtcHR5VGFnc19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFRockRlZlNhdmVOb0VtcHR5VGFncyB4bWxUaHJEZWZTYXZlTm9FbXB0eVRhZ3NfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX2dsb2JhbHMKKyN1bmRlZiB4bWxUaHJEZWZTZXRHZW5lcmljRXJyb3JGdW5jCitleHRlcm4gX190eXBlb2YgKHhtbFRockRlZlNldEdlbmVyaWNFcnJvckZ1bmMpIHhtbFRockRlZlNldEdlbmVyaWNFcnJvckZ1bmMgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxUaHJEZWZTZXRHZW5lcmljRXJyb3JGdW5jX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxUaHJEZWZTZXRHZW5lcmljRXJyb3JGdW5jCitleHRlcm4gX190eXBlb2YgKHhtbFRockRlZlNldEdlbmVyaWNFcnJvckZ1bmMpIHhtbFRockRlZlNldEdlbmVyaWNFcnJvckZ1bmNfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxUaHJEZWZTZXRHZW5lcmljRXJyb3JGdW5jIHhtbFRockRlZlNldEdlbmVyaWNFcnJvckZ1bmNfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX2dsb2JhbHMKKyN1bmRlZiB4bWxUaHJEZWZTZXRTdHJ1Y3R1cmVkRXJyb3JGdW5jCitleHRlcm4gX190eXBlb2YgKHhtbFRockRlZlNldFN0cnVjdHVyZWRFcnJvckZ1bmMpIHhtbFRockRlZlNldFN0cnVjdHVyZWRFcnJvckZ1bmMgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxUaHJEZWZTZXRTdHJ1Y3R1cmVkRXJyb3JGdW5jX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxUaHJEZWZTZXRTdHJ1Y3R1cmVkRXJyb3JGdW5jCitleHRlcm4gX190eXBlb2YgKHhtbFRockRlZlNldFN0cnVjdHVyZWRFcnJvckZ1bmMpIHhtbFRockRlZlNldFN0cnVjdHVyZWRFcnJvckZ1bmNfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxUaHJEZWZTZXRTdHJ1Y3R1cmVkRXJyb3JGdW5jIHhtbFRockRlZlNldFN0cnVjdHVyZWRFcnJvckZ1bmNfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX2dsb2JhbHMKKyN1bmRlZiB4bWxUaHJEZWZTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0VmFsdWUKK2V4dGVybiBfX3R5cGVvZiAoeG1sVGhyRGVmU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdFZhbHVlKSB4bWxUaHJEZWZTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0VmFsdWUgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxUaHJEZWZTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0VmFsdWVfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFRockRlZlN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHRWYWx1ZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxUaHJEZWZTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0VmFsdWUpIHhtbFRockRlZlN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHRWYWx1ZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFRockRlZlN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHRWYWx1ZSB4bWxUaHJEZWZTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0VmFsdWVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX2dsb2JhbHMKKyN1bmRlZiB4bWxUaHJEZWZUcmVlSW5kZW50U3RyaW5nCitleHRlcm4gX190eXBlb2YgKHhtbFRockRlZlRyZWVJbmRlbnRTdHJpbmcpIHhtbFRockRlZlRyZWVJbmRlbnRTdHJpbmcgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxUaHJEZWZUcmVlSW5kZW50U3RyaW5nX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxUaHJEZWZUcmVlSW5kZW50U3RyaW5nCitleHRlcm4gX190eXBlb2YgKHhtbFRockRlZlRyZWVJbmRlbnRTdHJpbmcpIHhtbFRockRlZlRyZWVJbmRlbnRTdHJpbmdfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxUaHJEZWZUcmVlSW5kZW50U3RyaW5nIHhtbFRockRlZlRyZWVJbmRlbnRTdHJpbmdfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNBZWdlYW5OdW1iZXJzCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzQWVnZWFuTnVtYmVycykgeG1sVUNTSXNBZWdlYW5OdW1iZXJzIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNBZWdlYW5OdW1iZXJzX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxVQ1NJc0FlZ2Vhbk51bWJlcnMKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNBZWdlYW5OdW1iZXJzKSB4bWxVQ1NJc0FlZ2Vhbk51bWJlcnNfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxVQ1NJc0FlZ2Vhbk51bWJlcnMgeG1sVUNTSXNBZWdlYW5OdW1iZXJzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNBbHBoYWJldGljUHJlc2VudGF0aW9uRm9ybXMKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNBbHBoYWJldGljUHJlc2VudGF0aW9uRm9ybXMpIHhtbFVDU0lzQWxwaGFiZXRpY1ByZXNlbnRhdGlvbkZvcm1zIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNBbHBoYWJldGljUHJlc2VudGF0aW9uRm9ybXNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFVDU0lzQWxwaGFiZXRpY1ByZXNlbnRhdGlvbkZvcm1zCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzQWxwaGFiZXRpY1ByZXNlbnRhdGlvbkZvcm1zKSB4bWxVQ1NJc0FscGhhYmV0aWNQcmVzZW50YXRpb25Gb3Jtc19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFVDU0lzQWxwaGFiZXRpY1ByZXNlbnRhdGlvbkZvcm1zIHhtbFVDU0lzQWxwaGFiZXRpY1ByZXNlbnRhdGlvbkZvcm1zX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNBcmFiaWMKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNBcmFiaWMpIHhtbFVDU0lzQXJhYmljIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNBcmFiaWNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFVDU0lzQXJhYmljCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzQXJhYmljKSB4bWxVQ1NJc0FyYWJpY19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFVDU0lzQXJhYmljIHhtbFVDU0lzQXJhYmljX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNBcmFiaWNQcmVzZW50YXRpb25Gb3Jtc0EKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNBcmFiaWNQcmVzZW50YXRpb25Gb3Jtc0EpIHhtbFVDU0lzQXJhYmljUHJlc2VudGF0aW9uRm9ybXNBIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNBcmFiaWNQcmVzZW50YXRpb25Gb3Jtc0FfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFVDU0lzQXJhYmljUHJlc2VudGF0aW9uRm9ybXNBCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzQXJhYmljUHJlc2VudGF0aW9uRm9ybXNBKSB4bWxVQ1NJc0FyYWJpY1ByZXNlbnRhdGlvbkZvcm1zQV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFVDU0lzQXJhYmljUHJlc2VudGF0aW9uRm9ybXNBIHhtbFVDU0lzQXJhYmljUHJlc2VudGF0aW9uRm9ybXNBX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNBcmFiaWNQcmVzZW50YXRpb25Gb3Jtc0IKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNBcmFiaWNQcmVzZW50YXRpb25Gb3Jtc0IpIHhtbFVDU0lzQXJhYmljUHJlc2VudGF0aW9uRm9ybXNCIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNBcmFiaWNQcmVzZW50YXRpb25Gb3Jtc0JfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFVDU0lzQXJhYmljUHJlc2VudGF0aW9uRm9ybXNCCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzQXJhYmljUHJlc2VudGF0aW9uRm9ybXNCKSB4bWxVQ1NJc0FyYWJpY1ByZXNlbnRhdGlvbkZvcm1zQl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFVDU0lzQXJhYmljUHJlc2VudGF0aW9uRm9ybXNCIHhtbFVDU0lzQXJhYmljUHJlc2VudGF0aW9uRm9ybXNCX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNBcm1lbmlhbgorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0FybWVuaWFuKSB4bWxVQ1NJc0FybWVuaWFuIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNBcm1lbmlhbl9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNBcm1lbmlhbgorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0FybWVuaWFuKSB4bWxVQ1NJc0FybWVuaWFuX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNBcm1lbmlhbiB4bWxVQ1NJc0FybWVuaWFuX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNBcnJvd3MKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNBcnJvd3MpIHhtbFVDU0lzQXJyb3dzIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNBcnJvd3NfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFVDU0lzQXJyb3dzCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzQXJyb3dzKSB4bWxVQ1NJc0Fycm93c19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFVDU0lzQXJyb3dzIHhtbFVDU0lzQXJyb3dzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNCYXNpY0xhdGluCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzQmFzaWNMYXRpbikgeG1sVUNTSXNCYXNpY0xhdGluIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNCYXNpY0xhdGluX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxVQ1NJc0Jhc2ljTGF0aW4KK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNCYXNpY0xhdGluKSB4bWxVQ1NJc0Jhc2ljTGF0aW5fX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxVQ1NJc0Jhc2ljTGF0aW4geG1sVUNTSXNCYXNpY0xhdGluX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNCZW5nYWxpCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzQmVuZ2FsaSkgeG1sVUNTSXNCZW5nYWxpIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNCZW5nYWxpX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxVQ1NJc0JlbmdhbGkKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNCZW5nYWxpKSB4bWxVQ1NJc0JlbmdhbGlfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxVQ1NJc0JlbmdhbGkgeG1sVUNTSXNCZW5nYWxpX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNCbG9jaworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0Jsb2NrKSB4bWxVQ1NJc0Jsb2NrIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNCbG9ja19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNCbG9jaworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0Jsb2NrKSB4bWxVQ1NJc0Jsb2NrX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNCbG9jayB4bWxVQ1NJc0Jsb2NrX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNCbG9ja0VsZW1lbnRzCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzQmxvY2tFbGVtZW50cykgeG1sVUNTSXNCbG9ja0VsZW1lbnRzIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNCbG9ja0VsZW1lbnRzX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxVQ1NJc0Jsb2NrRWxlbWVudHMKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNCbG9ja0VsZW1lbnRzKSB4bWxVQ1NJc0Jsb2NrRWxlbWVudHNfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxVQ1NJc0Jsb2NrRWxlbWVudHMgeG1sVUNTSXNCbG9ja0VsZW1lbnRzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNCb3BvbW9mbworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0JvcG9tb2ZvKSB4bWxVQ1NJc0JvcG9tb2ZvIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNCb3BvbW9mb19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNCb3BvbW9mbworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0JvcG9tb2ZvKSB4bWxVQ1NJc0JvcG9tb2ZvX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNCb3BvbW9mbyB4bWxVQ1NJc0JvcG9tb2ZvX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNCb3BvbW9mb0V4dGVuZGVkCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzQm9wb21vZm9FeHRlbmRlZCkgeG1sVUNTSXNCb3BvbW9mb0V4dGVuZGVkIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNCb3BvbW9mb0V4dGVuZGVkX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxVQ1NJc0JvcG9tb2ZvRXh0ZW5kZWQKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNCb3BvbW9mb0V4dGVuZGVkKSB4bWxVQ1NJc0JvcG9tb2ZvRXh0ZW5kZWRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxVQ1NJc0JvcG9tb2ZvRXh0ZW5kZWQgeG1sVUNTSXNCb3BvbW9mb0V4dGVuZGVkX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNCb3hEcmF3aW5nCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzQm94RHJhd2luZykgeG1sVUNTSXNCb3hEcmF3aW5nIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNCb3hEcmF3aW5nX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxVQ1NJc0JveERyYXdpbmcKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNCb3hEcmF3aW5nKSB4bWxVQ1NJc0JveERyYXdpbmdfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxVQ1NJc0JveERyYXdpbmcgeG1sVUNTSXNCb3hEcmF3aW5nX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNCcmFpbGxlUGF0dGVybnMKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNCcmFpbGxlUGF0dGVybnMpIHhtbFVDU0lzQnJhaWxsZVBhdHRlcm5zIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNCcmFpbGxlUGF0dGVybnNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFVDU0lzQnJhaWxsZVBhdHRlcm5zCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzQnJhaWxsZVBhdHRlcm5zKSB4bWxVQ1NJc0JyYWlsbGVQYXR0ZXJuc19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFVDU0lzQnJhaWxsZVBhdHRlcm5zIHhtbFVDU0lzQnJhaWxsZVBhdHRlcm5zX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNCdWhpZAorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0J1aGlkKSB4bWxVQ1NJc0J1aGlkIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNCdWhpZF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNCdWhpZAorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0J1aGlkKSB4bWxVQ1NJc0J1aGlkX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNCdWhpZCB4bWxVQ1NJc0J1aGlkX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNCeXphbnRpbmVNdXNpY2FsU3ltYm9scworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0J5emFudGluZU11c2ljYWxTeW1ib2xzKSB4bWxVQ1NJc0J5emFudGluZU11c2ljYWxTeW1ib2xzIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNCeXphbnRpbmVNdXNpY2FsU3ltYm9sc19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNCeXphbnRpbmVNdXNpY2FsU3ltYm9scworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0J5emFudGluZU11c2ljYWxTeW1ib2xzKSB4bWxVQ1NJc0J5emFudGluZU11c2ljYWxTeW1ib2xzX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNCeXphbnRpbmVNdXNpY2FsU3ltYm9scyB4bWxVQ1NJc0J5emFudGluZU11c2ljYWxTeW1ib2xzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNDSktDb21wYXRpYmlsaXR5CitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eSkgeG1sVUNTSXNDSktDb21wYXRpYmlsaXR5IF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNDSktDb21wYXRpYmlsaXR5X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHkKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNDSktDb21wYXRpYmlsaXR5KSB4bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHlfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHkgeG1sVUNTSXNDSktDb21wYXRpYmlsaXR5X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNDSktDb21wYXRpYmlsaXR5Rm9ybXMKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNDSktDb21wYXRpYmlsaXR5Rm9ybXMpIHhtbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eUZvcm1zIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNDSktDb21wYXRpYmlsaXR5Rm9ybXNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eUZvcm1zCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eUZvcm1zKSB4bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHlGb3Jtc19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eUZvcm1zIHhtbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eUZvcm1zX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNDSktDb21wYXRpYmlsaXR5SWRlb2dyYXBocworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHlJZGVvZ3JhcGhzKSB4bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHlJZGVvZ3JhcGhzIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNDSktDb21wYXRpYmlsaXR5SWRlb2dyYXBoc19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNDSktDb21wYXRpYmlsaXR5SWRlb2dyYXBocworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHlJZGVvZ3JhcGhzKSB4bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHlJZGVvZ3JhcGhzX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNDSktDb21wYXRpYmlsaXR5SWRlb2dyYXBocyB4bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHlJZGVvZ3JhcGhzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNDSktDb21wYXRpYmlsaXR5SWRlb2dyYXBoc1N1cHBsZW1lbnQKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNDSktDb21wYXRpYmlsaXR5SWRlb2dyYXBoc1N1cHBsZW1lbnQpIHhtbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eUlkZW9ncmFwaHNTdXBwbGVtZW50IF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNDSktDb21wYXRpYmlsaXR5SWRlb2dyYXBoc1N1cHBsZW1lbnRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eUlkZW9ncmFwaHNTdXBwbGVtZW50CitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eUlkZW9ncmFwaHNTdXBwbGVtZW50KSB4bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHlJZGVvZ3JhcGhzU3VwcGxlbWVudF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eUlkZW9ncmFwaHNTdXBwbGVtZW50IHhtbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eUlkZW9ncmFwaHNTdXBwbGVtZW50X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNDSktSYWRpY2Fsc1N1cHBsZW1lbnQKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNDSktSYWRpY2Fsc1N1cHBsZW1lbnQpIHhtbFVDU0lzQ0pLUmFkaWNhbHNTdXBwbGVtZW50IF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNDSktSYWRpY2Fsc1N1cHBsZW1lbnRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFVDU0lzQ0pLUmFkaWNhbHNTdXBwbGVtZW50CitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzQ0pLUmFkaWNhbHNTdXBwbGVtZW50KSB4bWxVQ1NJc0NKS1JhZGljYWxzU3VwcGxlbWVudF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFVDU0lzQ0pLUmFkaWNhbHNTdXBwbGVtZW50IHhtbFVDU0lzQ0pLUmFkaWNhbHNTdXBwbGVtZW50X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNDSktTeW1ib2xzYW5kUHVuY3R1YXRpb24KK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNDSktTeW1ib2xzYW5kUHVuY3R1YXRpb24pIHhtbFVDU0lzQ0pLU3ltYm9sc2FuZFB1bmN0dWF0aW9uIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNDSktTeW1ib2xzYW5kUHVuY3R1YXRpb25fX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFVDU0lzQ0pLU3ltYm9sc2FuZFB1bmN0dWF0aW9uCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzQ0pLU3ltYm9sc2FuZFB1bmN0dWF0aW9uKSB4bWxVQ1NJc0NKS1N5bWJvbHNhbmRQdW5jdHVhdGlvbl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFVDU0lzQ0pLU3ltYm9sc2FuZFB1bmN0dWF0aW9uIHhtbFVDU0lzQ0pLU3ltYm9sc2FuZFB1bmN0dWF0aW9uX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNDSktVbmlmaWVkSWRlb2dyYXBocworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0NKS1VuaWZpZWRJZGVvZ3JhcGhzKSB4bWxVQ1NJc0NKS1VuaWZpZWRJZGVvZ3JhcGhzIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNDSktVbmlmaWVkSWRlb2dyYXBoc19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNDSktVbmlmaWVkSWRlb2dyYXBocworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0NKS1VuaWZpZWRJZGVvZ3JhcGhzKSB4bWxVQ1NJc0NKS1VuaWZpZWRJZGVvZ3JhcGhzX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNDSktVbmlmaWVkSWRlb2dyYXBocyB4bWxVQ1NJc0NKS1VuaWZpZWRJZGVvZ3JhcGhzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNDSktVbmlmaWVkSWRlb2dyYXBoc0V4dGVuc2lvbkEKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNDSktVbmlmaWVkSWRlb2dyYXBoc0V4dGVuc2lvbkEpIHhtbFVDU0lzQ0pLVW5pZmllZElkZW9ncmFwaHNFeHRlbnNpb25BIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNDSktVbmlmaWVkSWRlb2dyYXBoc0V4dGVuc2lvbkFfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFVDU0lzQ0pLVW5pZmllZElkZW9ncmFwaHNFeHRlbnNpb25BCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzQ0pLVW5pZmllZElkZW9ncmFwaHNFeHRlbnNpb25BKSB4bWxVQ1NJc0NKS1VuaWZpZWRJZGVvZ3JhcGhzRXh0ZW5zaW9uQV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFVDU0lzQ0pLVW5pZmllZElkZW9ncmFwaHNFeHRlbnNpb25BIHhtbFVDU0lzQ0pLVW5pZmllZElkZW9ncmFwaHNFeHRlbnNpb25BX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNDSktVbmlmaWVkSWRlb2dyYXBoc0V4dGVuc2lvbkIKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNDSktVbmlmaWVkSWRlb2dyYXBoc0V4dGVuc2lvbkIpIHhtbFVDU0lzQ0pLVW5pZmllZElkZW9ncmFwaHNFeHRlbnNpb25CIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNDSktVbmlmaWVkSWRlb2dyYXBoc0V4dGVuc2lvbkJfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFVDU0lzQ0pLVW5pZmllZElkZW9ncmFwaHNFeHRlbnNpb25CCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzQ0pLVW5pZmllZElkZW9ncmFwaHNFeHRlbnNpb25CKSB4bWxVQ1NJc0NKS1VuaWZpZWRJZGVvZ3JhcGhzRXh0ZW5zaW9uQl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFVDU0lzQ0pLVW5pZmllZElkZW9ncmFwaHNFeHRlbnNpb25CIHhtbFVDU0lzQ0pLVW5pZmllZElkZW9ncmFwaHNFeHRlbnNpb25CX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNDYXQKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNDYXQpIHhtbFVDU0lzQ2F0IF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNDYXRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFVDU0lzQ2F0CitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzQ2F0KSB4bWxVQ1NJc0NhdF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFVDU0lzQ2F0IHhtbFVDU0lzQ2F0X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNDYXRDCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzQ2F0QykgeG1sVUNTSXNDYXRDIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNDYXRDX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxVQ1NJc0NhdEMKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNDYXRDKSB4bWxVQ1NJc0NhdENfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxVQ1NJc0NhdEMgeG1sVUNTSXNDYXRDX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNDYXRDYworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0NhdENjKSB4bWxVQ1NJc0NhdENjIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNDYXRDY19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNDYXRDYworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0NhdENjKSB4bWxVQ1NJc0NhdENjX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNDYXRDYyB4bWxVQ1NJc0NhdENjX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNDYXRDZgorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0NhdENmKSB4bWxVQ1NJc0NhdENmIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNDYXRDZl9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNDYXRDZgorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0NhdENmKSB4bWxVQ1NJc0NhdENmX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNDYXRDZiB4bWxVQ1NJc0NhdENmX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNDYXRDbworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0NhdENvKSB4bWxVQ1NJc0NhdENvIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNDYXRDb19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNDYXRDbworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0NhdENvKSB4bWxVQ1NJc0NhdENvX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNDYXRDbyB4bWxVQ1NJc0NhdENvX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNDYXRDcworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0NhdENzKSB4bWxVQ1NJc0NhdENzIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNDYXRDc19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNDYXRDcworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0NhdENzKSB4bWxVQ1NJc0NhdENzX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNDYXRDcyB4bWxVQ1NJc0NhdENzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNDYXRMCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzQ2F0TCkgeG1sVUNTSXNDYXRMIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNDYXRMX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxVQ1NJc0NhdEwKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNDYXRMKSB4bWxVQ1NJc0NhdExfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxVQ1NJc0NhdEwgeG1sVUNTSXNDYXRMX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNDYXRMbAorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0NhdExsKSB4bWxVQ1NJc0NhdExsIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNDYXRMbF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNDYXRMbAorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0NhdExsKSB4bWxVQ1NJc0NhdExsX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNDYXRMbCB4bWxVQ1NJc0NhdExsX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNDYXRMbQorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0NhdExtKSB4bWxVQ1NJc0NhdExtIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNDYXRMbV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNDYXRMbQorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0NhdExtKSB4bWxVQ1NJc0NhdExtX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNDYXRMbSB4bWxVQ1NJc0NhdExtX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNDYXRMbworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0NhdExvKSB4bWxVQ1NJc0NhdExvIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNDYXRMb19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNDYXRMbworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0NhdExvKSB4bWxVQ1NJc0NhdExvX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNDYXRMbyB4bWxVQ1NJc0NhdExvX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNDYXRMdAorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0NhdEx0KSB4bWxVQ1NJc0NhdEx0IF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNDYXRMdF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNDYXRMdAorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0NhdEx0KSB4bWxVQ1NJc0NhdEx0X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNDYXRMdCB4bWxVQ1NJc0NhdEx0X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNDYXRMdQorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0NhdEx1KSB4bWxVQ1NJc0NhdEx1IF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNDYXRMdV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNDYXRMdQorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0NhdEx1KSB4bWxVQ1NJc0NhdEx1X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNDYXRMdSB4bWxVQ1NJc0NhdEx1X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNDYXRNCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzQ2F0TSkgeG1sVUNTSXNDYXRNIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNDYXRNX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxVQ1NJc0NhdE0KK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNDYXRNKSB4bWxVQ1NJc0NhdE1fX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxVQ1NJc0NhdE0geG1sVUNTSXNDYXRNX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNDYXRNYworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0NhdE1jKSB4bWxVQ1NJc0NhdE1jIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNDYXRNY19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNDYXRNYworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0NhdE1jKSB4bWxVQ1NJc0NhdE1jX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNDYXRNYyB4bWxVQ1NJc0NhdE1jX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNDYXRNZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0NhdE1lKSB4bWxVQ1NJc0NhdE1lIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNDYXRNZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNDYXRNZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0NhdE1lKSB4bWxVQ1NJc0NhdE1lX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNDYXRNZSB4bWxVQ1NJc0NhdE1lX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNDYXRNbgorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0NhdE1uKSB4bWxVQ1NJc0NhdE1uIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNDYXRNbl9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNDYXRNbgorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0NhdE1uKSB4bWxVQ1NJc0NhdE1uX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNDYXRNbiB4bWxVQ1NJc0NhdE1uX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNDYXROCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzQ2F0TikgeG1sVUNTSXNDYXROIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNDYXROX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxVQ1NJc0NhdE4KK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNDYXROKSB4bWxVQ1NJc0NhdE5fX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxVQ1NJc0NhdE4geG1sVUNTSXNDYXROX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNDYXROZAorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0NhdE5kKSB4bWxVQ1NJc0NhdE5kIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNDYXROZF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNDYXROZAorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0NhdE5kKSB4bWxVQ1NJc0NhdE5kX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNDYXROZCB4bWxVQ1NJc0NhdE5kX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNDYXRObAorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0NhdE5sKSB4bWxVQ1NJc0NhdE5sIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNDYXRObF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNDYXRObAorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0NhdE5sKSB4bWxVQ1NJc0NhdE5sX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNDYXRObCB4bWxVQ1NJc0NhdE5sX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNDYXRObworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0NhdE5vKSB4bWxVQ1NJc0NhdE5vIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNDYXROb19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNDYXRObworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0NhdE5vKSB4bWxVQ1NJc0NhdE5vX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNDYXRObyB4bWxVQ1NJc0NhdE5vX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNDYXRQCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzQ2F0UCkgeG1sVUNTSXNDYXRQIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNDYXRQX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxVQ1NJc0NhdFAKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNDYXRQKSB4bWxVQ1NJc0NhdFBfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxVQ1NJc0NhdFAgeG1sVUNTSXNDYXRQX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNDYXRQYworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0NhdFBjKSB4bWxVQ1NJc0NhdFBjIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNDYXRQY19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNDYXRQYworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0NhdFBjKSB4bWxVQ1NJc0NhdFBjX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNDYXRQYyB4bWxVQ1NJc0NhdFBjX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNDYXRQZAorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0NhdFBkKSB4bWxVQ1NJc0NhdFBkIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNDYXRQZF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNDYXRQZAorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0NhdFBkKSB4bWxVQ1NJc0NhdFBkX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNDYXRQZCB4bWxVQ1NJc0NhdFBkX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNDYXRQZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0NhdFBlKSB4bWxVQ1NJc0NhdFBlIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNDYXRQZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNDYXRQZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0NhdFBlKSB4bWxVQ1NJc0NhdFBlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNDYXRQZSB4bWxVQ1NJc0NhdFBlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNDYXRQZgorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0NhdFBmKSB4bWxVQ1NJc0NhdFBmIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNDYXRQZl9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNDYXRQZgorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0NhdFBmKSB4bWxVQ1NJc0NhdFBmX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNDYXRQZiB4bWxVQ1NJc0NhdFBmX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNDYXRQaQorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0NhdFBpKSB4bWxVQ1NJc0NhdFBpIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNDYXRQaV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNDYXRQaQorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0NhdFBpKSB4bWxVQ1NJc0NhdFBpX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNDYXRQaSB4bWxVQ1NJc0NhdFBpX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNDYXRQbworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0NhdFBvKSB4bWxVQ1NJc0NhdFBvIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNDYXRQb19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNDYXRQbworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0NhdFBvKSB4bWxVQ1NJc0NhdFBvX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNDYXRQbyB4bWxVQ1NJc0NhdFBvX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNDYXRQcworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0NhdFBzKSB4bWxVQ1NJc0NhdFBzIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNDYXRQc19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNDYXRQcworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0NhdFBzKSB4bWxVQ1NJc0NhdFBzX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNDYXRQcyB4bWxVQ1NJc0NhdFBzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNDYXRTCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzQ2F0UykgeG1sVUNTSXNDYXRTIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNDYXRTX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxVQ1NJc0NhdFMKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNDYXRTKSB4bWxVQ1NJc0NhdFNfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxVQ1NJc0NhdFMgeG1sVUNTSXNDYXRTX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNDYXRTYworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0NhdFNjKSB4bWxVQ1NJc0NhdFNjIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNDYXRTY19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNDYXRTYworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0NhdFNjKSB4bWxVQ1NJc0NhdFNjX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNDYXRTYyB4bWxVQ1NJc0NhdFNjX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNDYXRTaworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0NhdFNrKSB4bWxVQ1NJc0NhdFNrIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNDYXRTa19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNDYXRTaworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0NhdFNrKSB4bWxVQ1NJc0NhdFNrX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNDYXRTayB4bWxVQ1NJc0NhdFNrX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNDYXRTbQorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0NhdFNtKSB4bWxVQ1NJc0NhdFNtIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNDYXRTbV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNDYXRTbQorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0NhdFNtKSB4bWxVQ1NJc0NhdFNtX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNDYXRTbSB4bWxVQ1NJc0NhdFNtX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNDYXRTbworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0NhdFNvKSB4bWxVQ1NJc0NhdFNvIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNDYXRTb19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNDYXRTbworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0NhdFNvKSB4bWxVQ1NJc0NhdFNvX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNDYXRTbyB4bWxVQ1NJc0NhdFNvX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNDYXRaCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzQ2F0WikgeG1sVUNTSXNDYXRaIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNDYXRaX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxVQ1NJc0NhdFoKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNDYXRaKSB4bWxVQ1NJc0NhdFpfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxVQ1NJc0NhdFogeG1sVUNTSXNDYXRaX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNDYXRabAorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0NhdFpsKSB4bWxVQ1NJc0NhdFpsIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNDYXRabF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNDYXRabAorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0NhdFpsKSB4bWxVQ1NJc0NhdFpsX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNDYXRabCB4bWxVQ1NJc0NhdFpsX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNDYXRacAorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0NhdFpwKSB4bWxVQ1NJc0NhdFpwIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNDYXRacF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNDYXRacAorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0NhdFpwKSB4bWxVQ1NJc0NhdFpwX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNDYXRacCB4bWxVQ1NJc0NhdFpwX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNDYXRacworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0NhdFpzKSB4bWxVQ1NJc0NhdFpzIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNDYXRac19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNDYXRacworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0NhdFpzKSB4bWxVQ1NJc0NhdFpzX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNDYXRacyB4bWxVQ1NJc0NhdFpzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNDaGVyb2tlZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0NoZXJva2VlKSB4bWxVQ1NJc0NoZXJva2VlIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNDaGVyb2tlZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNDaGVyb2tlZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0NoZXJva2VlKSB4bWxVQ1NJc0NoZXJva2VlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNDaGVyb2tlZSB4bWxVQ1NJc0NoZXJva2VlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNDb21iaW5pbmdEaWFjcml0aWNhbE1hcmtzCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzQ29tYmluaW5nRGlhY3JpdGljYWxNYXJrcykgeG1sVUNTSXNDb21iaW5pbmdEaWFjcml0aWNhbE1hcmtzIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNDb21iaW5pbmdEaWFjcml0aWNhbE1hcmtzX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxVQ1NJc0NvbWJpbmluZ0RpYWNyaXRpY2FsTWFya3MKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNDb21iaW5pbmdEaWFjcml0aWNhbE1hcmtzKSB4bWxVQ1NJc0NvbWJpbmluZ0RpYWNyaXRpY2FsTWFya3NfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxVQ1NJc0NvbWJpbmluZ0RpYWNyaXRpY2FsTWFya3MgeG1sVUNTSXNDb21iaW5pbmdEaWFjcml0aWNhbE1hcmtzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNDb21iaW5pbmdEaWFjcml0aWNhbE1hcmtzZm9yU3ltYm9scworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0NvbWJpbmluZ0RpYWNyaXRpY2FsTWFya3Nmb3JTeW1ib2xzKSB4bWxVQ1NJc0NvbWJpbmluZ0RpYWNyaXRpY2FsTWFya3Nmb3JTeW1ib2xzIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNDb21iaW5pbmdEaWFjcml0aWNhbE1hcmtzZm9yU3ltYm9sc19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNDb21iaW5pbmdEaWFjcml0aWNhbE1hcmtzZm9yU3ltYm9scworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0NvbWJpbmluZ0RpYWNyaXRpY2FsTWFya3Nmb3JTeW1ib2xzKSB4bWxVQ1NJc0NvbWJpbmluZ0RpYWNyaXRpY2FsTWFya3Nmb3JTeW1ib2xzX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNDb21iaW5pbmdEaWFjcml0aWNhbE1hcmtzZm9yU3ltYm9scyB4bWxVQ1NJc0NvbWJpbmluZ0RpYWNyaXRpY2FsTWFya3Nmb3JTeW1ib2xzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNDb21iaW5pbmdIYWxmTWFya3MKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNDb21iaW5pbmdIYWxmTWFya3MpIHhtbFVDU0lzQ29tYmluaW5nSGFsZk1hcmtzIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNDb21iaW5pbmdIYWxmTWFya3NfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFVDU0lzQ29tYmluaW5nSGFsZk1hcmtzCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzQ29tYmluaW5nSGFsZk1hcmtzKSB4bWxVQ1NJc0NvbWJpbmluZ0hhbGZNYXJrc19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFVDU0lzQ29tYmluaW5nSGFsZk1hcmtzIHhtbFVDU0lzQ29tYmluaW5nSGFsZk1hcmtzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNDb21iaW5pbmdNYXJrc2ZvclN5bWJvbHMKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNDb21iaW5pbmdNYXJrc2ZvclN5bWJvbHMpIHhtbFVDU0lzQ29tYmluaW5nTWFya3Nmb3JTeW1ib2xzIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNDb21iaW5pbmdNYXJrc2ZvclN5bWJvbHNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFVDU0lzQ29tYmluaW5nTWFya3Nmb3JTeW1ib2xzCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzQ29tYmluaW5nTWFya3Nmb3JTeW1ib2xzKSB4bWxVQ1NJc0NvbWJpbmluZ01hcmtzZm9yU3ltYm9sc19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFVDU0lzQ29tYmluaW5nTWFya3Nmb3JTeW1ib2xzIHhtbFVDU0lzQ29tYmluaW5nTWFya3Nmb3JTeW1ib2xzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNDb250cm9sUGljdHVyZXMKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNDb250cm9sUGljdHVyZXMpIHhtbFVDU0lzQ29udHJvbFBpY3R1cmVzIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNDb250cm9sUGljdHVyZXNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFVDU0lzQ29udHJvbFBpY3R1cmVzCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzQ29udHJvbFBpY3R1cmVzKSB4bWxVQ1NJc0NvbnRyb2xQaWN0dXJlc19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFVDU0lzQ29udHJvbFBpY3R1cmVzIHhtbFVDU0lzQ29udHJvbFBpY3R1cmVzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNDdXJyZW5jeVN5bWJvbHMKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNDdXJyZW5jeVN5bWJvbHMpIHhtbFVDU0lzQ3VycmVuY3lTeW1ib2xzIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNDdXJyZW5jeVN5bWJvbHNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFVDU0lzQ3VycmVuY3lTeW1ib2xzCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzQ3VycmVuY3lTeW1ib2xzKSB4bWxVQ1NJc0N1cnJlbmN5U3ltYm9sc19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFVDU0lzQ3VycmVuY3lTeW1ib2xzIHhtbFVDU0lzQ3VycmVuY3lTeW1ib2xzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNDeXByaW90U3lsbGFiYXJ5CitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzQ3lwcmlvdFN5bGxhYmFyeSkgeG1sVUNTSXNDeXByaW90U3lsbGFiYXJ5IF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNDeXByaW90U3lsbGFiYXJ5X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxVQ1NJc0N5cHJpb3RTeWxsYWJhcnkKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNDeXByaW90U3lsbGFiYXJ5KSB4bWxVQ1NJc0N5cHJpb3RTeWxsYWJhcnlfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxVQ1NJc0N5cHJpb3RTeWxsYWJhcnkgeG1sVUNTSXNDeXByaW90U3lsbGFiYXJ5X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNDeXJpbGxpYworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0N5cmlsbGljKSB4bWxVQ1NJc0N5cmlsbGljIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNDeXJpbGxpY19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNDeXJpbGxpYworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0N5cmlsbGljKSB4bWxVQ1NJc0N5cmlsbGljX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNDeXJpbGxpYyB4bWxVQ1NJc0N5cmlsbGljX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNDeXJpbGxpY1N1cHBsZW1lbnQKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNDeXJpbGxpY1N1cHBsZW1lbnQpIHhtbFVDU0lzQ3lyaWxsaWNTdXBwbGVtZW50IF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNDeXJpbGxpY1N1cHBsZW1lbnRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFVDU0lzQ3lyaWxsaWNTdXBwbGVtZW50CitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzQ3lyaWxsaWNTdXBwbGVtZW50KSB4bWxVQ1NJc0N5cmlsbGljU3VwcGxlbWVudF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFVDU0lzQ3lyaWxsaWNTdXBwbGVtZW50IHhtbFVDU0lzQ3lyaWxsaWNTdXBwbGVtZW50X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNEZXNlcmV0CitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzRGVzZXJldCkgeG1sVUNTSXNEZXNlcmV0IF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNEZXNlcmV0X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxVQ1NJc0Rlc2VyZXQKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNEZXNlcmV0KSB4bWxVQ1NJc0Rlc2VyZXRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxVQ1NJc0Rlc2VyZXQgeG1sVUNTSXNEZXNlcmV0X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNEZXZhbmFnYXJpCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzRGV2YW5hZ2FyaSkgeG1sVUNTSXNEZXZhbmFnYXJpIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNEZXZhbmFnYXJpX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxVQ1NJc0RldmFuYWdhcmkKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNEZXZhbmFnYXJpKSB4bWxVQ1NJc0RldmFuYWdhcmlfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxVQ1NJc0RldmFuYWdhcmkgeG1sVUNTSXNEZXZhbmFnYXJpX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNEaW5nYmF0cworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0RpbmdiYXRzKSB4bWxVQ1NJc0RpbmdiYXRzIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNEaW5nYmF0c19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNEaW5nYmF0cworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0RpbmdiYXRzKSB4bWxVQ1NJc0RpbmdiYXRzX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNEaW5nYmF0cyB4bWxVQ1NJc0RpbmdiYXRzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNFbmNsb3NlZEFscGhhbnVtZXJpY3MKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNFbmNsb3NlZEFscGhhbnVtZXJpY3MpIHhtbFVDU0lzRW5jbG9zZWRBbHBoYW51bWVyaWNzIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNFbmNsb3NlZEFscGhhbnVtZXJpY3NfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFVDU0lzRW5jbG9zZWRBbHBoYW51bWVyaWNzCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzRW5jbG9zZWRBbHBoYW51bWVyaWNzKSB4bWxVQ1NJc0VuY2xvc2VkQWxwaGFudW1lcmljc19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFVDU0lzRW5jbG9zZWRBbHBoYW51bWVyaWNzIHhtbFVDU0lzRW5jbG9zZWRBbHBoYW51bWVyaWNzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNFbmNsb3NlZENKS0xldHRlcnNhbmRNb250aHMKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNFbmNsb3NlZENKS0xldHRlcnNhbmRNb250aHMpIHhtbFVDU0lzRW5jbG9zZWRDSktMZXR0ZXJzYW5kTW9udGhzIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNFbmNsb3NlZENKS0xldHRlcnNhbmRNb250aHNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFVDU0lzRW5jbG9zZWRDSktMZXR0ZXJzYW5kTW9udGhzCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzRW5jbG9zZWRDSktMZXR0ZXJzYW5kTW9udGhzKSB4bWxVQ1NJc0VuY2xvc2VkQ0pLTGV0dGVyc2FuZE1vbnRoc19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFVDU0lzRW5jbG9zZWRDSktMZXR0ZXJzYW5kTW9udGhzIHhtbFVDU0lzRW5jbG9zZWRDSktMZXR0ZXJzYW5kTW9udGhzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNFdGhpb3BpYworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0V0aGlvcGljKSB4bWxVQ1NJc0V0aGlvcGljIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNFdGhpb3BpY19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNFdGhpb3BpYworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0V0aGlvcGljKSB4bWxVQ1NJc0V0aGlvcGljX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNFdGhpb3BpYyB4bWxVQ1NJc0V0aGlvcGljX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNHZW5lcmFsUHVuY3R1YXRpb24KK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNHZW5lcmFsUHVuY3R1YXRpb24pIHhtbFVDU0lzR2VuZXJhbFB1bmN0dWF0aW9uIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNHZW5lcmFsUHVuY3R1YXRpb25fX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFVDU0lzR2VuZXJhbFB1bmN0dWF0aW9uCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzR2VuZXJhbFB1bmN0dWF0aW9uKSB4bWxVQ1NJc0dlbmVyYWxQdW5jdHVhdGlvbl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFVDU0lzR2VuZXJhbFB1bmN0dWF0aW9uIHhtbFVDU0lzR2VuZXJhbFB1bmN0dWF0aW9uX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNHZW9tZXRyaWNTaGFwZXMKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNHZW9tZXRyaWNTaGFwZXMpIHhtbFVDU0lzR2VvbWV0cmljU2hhcGVzIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNHZW9tZXRyaWNTaGFwZXNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFVDU0lzR2VvbWV0cmljU2hhcGVzCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzR2VvbWV0cmljU2hhcGVzKSB4bWxVQ1NJc0dlb21ldHJpY1NoYXBlc19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFVDU0lzR2VvbWV0cmljU2hhcGVzIHhtbFVDU0lzR2VvbWV0cmljU2hhcGVzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNHZW9yZ2lhbgorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0dlb3JnaWFuKSB4bWxVQ1NJc0dlb3JnaWFuIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNHZW9yZ2lhbl9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNHZW9yZ2lhbgorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0dlb3JnaWFuKSB4bWxVQ1NJc0dlb3JnaWFuX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNHZW9yZ2lhbiB4bWxVQ1NJc0dlb3JnaWFuX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNHb3RoaWMKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNHb3RoaWMpIHhtbFVDU0lzR290aGljIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNHb3RoaWNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFVDU0lzR290aGljCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzR290aGljKSB4bWxVQ1NJc0dvdGhpY19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFVDU0lzR290aGljIHhtbFVDU0lzR290aGljX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNHcmVlaworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0dyZWVrKSB4bWxVQ1NJc0dyZWVrIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNHcmVla19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNHcmVlaworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0dyZWVrKSB4bWxVQ1NJc0dyZWVrX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNHcmVlayB4bWxVQ1NJc0dyZWVrX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNHcmVla0V4dGVuZGVkCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzR3JlZWtFeHRlbmRlZCkgeG1sVUNTSXNHcmVla0V4dGVuZGVkIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNHcmVla0V4dGVuZGVkX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxVQ1NJc0dyZWVrRXh0ZW5kZWQKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNHcmVla0V4dGVuZGVkKSB4bWxVQ1NJc0dyZWVrRXh0ZW5kZWRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxVQ1NJc0dyZWVrRXh0ZW5kZWQgeG1sVUNTSXNHcmVla0V4dGVuZGVkX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNHcmVla2FuZENvcHRpYworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0dyZWVrYW5kQ29wdGljKSB4bWxVQ1NJc0dyZWVrYW5kQ29wdGljIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNHcmVla2FuZENvcHRpY19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNHcmVla2FuZENvcHRpYworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0dyZWVrYW5kQ29wdGljKSB4bWxVQ1NJc0dyZWVrYW5kQ29wdGljX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNHcmVla2FuZENvcHRpYyB4bWxVQ1NJc0dyZWVrYW5kQ29wdGljX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNHdWphcmF0aQorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0d1amFyYXRpKSB4bWxVQ1NJc0d1amFyYXRpIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNHdWphcmF0aV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNHdWphcmF0aQorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0d1amFyYXRpKSB4bWxVQ1NJc0d1amFyYXRpX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNHdWphcmF0aSB4bWxVQ1NJc0d1amFyYXRpX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNHdXJtdWtoaQorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0d1cm11a2hpKSB4bWxVQ1NJc0d1cm11a2hpIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNHdXJtdWtoaV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNHdXJtdWtoaQorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0d1cm11a2hpKSB4bWxVQ1NJc0d1cm11a2hpX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNHdXJtdWtoaSB4bWxVQ1NJc0d1cm11a2hpX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNIYWxmd2lkdGhhbmRGdWxsd2lkdGhGb3JtcworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0hhbGZ3aWR0aGFuZEZ1bGx3aWR0aEZvcm1zKSB4bWxVQ1NJc0hhbGZ3aWR0aGFuZEZ1bGx3aWR0aEZvcm1zIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNIYWxmd2lkdGhhbmRGdWxsd2lkdGhGb3Jtc19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNIYWxmd2lkdGhhbmRGdWxsd2lkdGhGb3JtcworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0hhbGZ3aWR0aGFuZEZ1bGx3aWR0aEZvcm1zKSB4bWxVQ1NJc0hhbGZ3aWR0aGFuZEZ1bGx3aWR0aEZvcm1zX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNIYWxmd2lkdGhhbmRGdWxsd2lkdGhGb3JtcyB4bWxVQ1NJc0hhbGZ3aWR0aGFuZEZ1bGx3aWR0aEZvcm1zX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNIYW5ndWxDb21wYXRpYmlsaXR5SmFtbworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0hhbmd1bENvbXBhdGliaWxpdHlKYW1vKSB4bWxVQ1NJc0hhbmd1bENvbXBhdGliaWxpdHlKYW1vIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNIYW5ndWxDb21wYXRpYmlsaXR5SmFtb19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNIYW5ndWxDb21wYXRpYmlsaXR5SmFtbworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0hhbmd1bENvbXBhdGliaWxpdHlKYW1vKSB4bWxVQ1NJc0hhbmd1bENvbXBhdGliaWxpdHlKYW1vX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNIYW5ndWxDb21wYXRpYmlsaXR5SmFtbyB4bWxVQ1NJc0hhbmd1bENvbXBhdGliaWxpdHlKYW1vX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNIYW5ndWxKYW1vCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzSGFuZ3VsSmFtbykgeG1sVUNTSXNIYW5ndWxKYW1vIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNIYW5ndWxKYW1vX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxVQ1NJc0hhbmd1bEphbW8KK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNIYW5ndWxKYW1vKSB4bWxVQ1NJc0hhbmd1bEphbW9fX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxVQ1NJc0hhbmd1bEphbW8geG1sVUNTSXNIYW5ndWxKYW1vX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNIYW5ndWxTeWxsYWJsZXMKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNIYW5ndWxTeWxsYWJsZXMpIHhtbFVDU0lzSGFuZ3VsU3lsbGFibGVzIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNIYW5ndWxTeWxsYWJsZXNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFVDU0lzSGFuZ3VsU3lsbGFibGVzCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzSGFuZ3VsU3lsbGFibGVzKSB4bWxVQ1NJc0hhbmd1bFN5bGxhYmxlc19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFVDU0lzSGFuZ3VsU3lsbGFibGVzIHhtbFVDU0lzSGFuZ3VsU3lsbGFibGVzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNIYW51bm9vCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzSGFudW5vbykgeG1sVUNTSXNIYW51bm9vIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNIYW51bm9vX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxVQ1NJc0hhbnVub28KK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNIYW51bm9vKSB4bWxVQ1NJc0hhbnVub29fX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxVQ1NJc0hhbnVub28geG1sVUNTSXNIYW51bm9vX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNIZWJyZXcKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNIZWJyZXcpIHhtbFVDU0lzSGVicmV3IF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNIZWJyZXdfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFVDU0lzSGVicmV3CitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzSGVicmV3KSB4bWxVQ1NJc0hlYnJld19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFVDU0lzSGVicmV3IHhtbFVDU0lzSGVicmV3X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNIaWdoUHJpdmF0ZVVzZVN1cnJvZ2F0ZXMKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNIaWdoUHJpdmF0ZVVzZVN1cnJvZ2F0ZXMpIHhtbFVDU0lzSGlnaFByaXZhdGVVc2VTdXJyb2dhdGVzIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNIaWdoUHJpdmF0ZVVzZVN1cnJvZ2F0ZXNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFVDU0lzSGlnaFByaXZhdGVVc2VTdXJyb2dhdGVzCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzSGlnaFByaXZhdGVVc2VTdXJyb2dhdGVzKSB4bWxVQ1NJc0hpZ2hQcml2YXRlVXNlU3Vycm9nYXRlc19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFVDU0lzSGlnaFByaXZhdGVVc2VTdXJyb2dhdGVzIHhtbFVDU0lzSGlnaFByaXZhdGVVc2VTdXJyb2dhdGVzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNIaWdoU3Vycm9nYXRlcworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0hpZ2hTdXJyb2dhdGVzKSB4bWxVQ1NJc0hpZ2hTdXJyb2dhdGVzIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNIaWdoU3Vycm9nYXRlc19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNIaWdoU3Vycm9nYXRlcworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0hpZ2hTdXJyb2dhdGVzKSB4bWxVQ1NJc0hpZ2hTdXJyb2dhdGVzX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNIaWdoU3Vycm9nYXRlcyB4bWxVQ1NJc0hpZ2hTdXJyb2dhdGVzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNIaXJhZ2FuYQorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0hpcmFnYW5hKSB4bWxVQ1NJc0hpcmFnYW5hIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNIaXJhZ2FuYV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNIaXJhZ2FuYQorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0hpcmFnYW5hKSB4bWxVQ1NJc0hpcmFnYW5hX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNIaXJhZ2FuYSB4bWxVQ1NJc0hpcmFnYW5hX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNJUEFFeHRlbnNpb25zCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzSVBBRXh0ZW5zaW9ucykgeG1sVUNTSXNJUEFFeHRlbnNpb25zIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNJUEFFeHRlbnNpb25zX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxVQ1NJc0lQQUV4dGVuc2lvbnMKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNJUEFFeHRlbnNpb25zKSB4bWxVQ1NJc0lQQUV4dGVuc2lvbnNfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxVQ1NJc0lQQUV4dGVuc2lvbnMgeG1sVUNTSXNJUEFFeHRlbnNpb25zX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNJZGVvZ3JhcGhpY0Rlc2NyaXB0aW9uQ2hhcmFjdGVycworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0lkZW9ncmFwaGljRGVzY3JpcHRpb25DaGFyYWN0ZXJzKSB4bWxVQ1NJc0lkZW9ncmFwaGljRGVzY3JpcHRpb25DaGFyYWN0ZXJzIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNJZGVvZ3JhcGhpY0Rlc2NyaXB0aW9uQ2hhcmFjdGVyc19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNJZGVvZ3JhcGhpY0Rlc2NyaXB0aW9uQ2hhcmFjdGVycworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0lkZW9ncmFwaGljRGVzY3JpcHRpb25DaGFyYWN0ZXJzKSB4bWxVQ1NJc0lkZW9ncmFwaGljRGVzY3JpcHRpb25DaGFyYWN0ZXJzX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNJZGVvZ3JhcGhpY0Rlc2NyaXB0aW9uQ2hhcmFjdGVycyB4bWxVQ1NJc0lkZW9ncmFwaGljRGVzY3JpcHRpb25DaGFyYWN0ZXJzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNLYW5idW4KK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNLYW5idW4pIHhtbFVDU0lzS2FuYnVuIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNLYW5idW5fX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFVDU0lzS2FuYnVuCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzS2FuYnVuKSB4bWxVQ1NJc0thbmJ1bl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFVDU0lzS2FuYnVuIHhtbFVDU0lzS2FuYnVuX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNLYW5neGlSYWRpY2FscworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0thbmd4aVJhZGljYWxzKSB4bWxVQ1NJc0thbmd4aVJhZGljYWxzIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNLYW5neGlSYWRpY2Fsc19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNLYW5neGlSYWRpY2FscworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0thbmd4aVJhZGljYWxzKSB4bWxVQ1NJc0thbmd4aVJhZGljYWxzX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNLYW5neGlSYWRpY2FscyB4bWxVQ1NJc0thbmd4aVJhZGljYWxzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNLYW5uYWRhCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzS2FubmFkYSkgeG1sVUNTSXNLYW5uYWRhIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNLYW5uYWRhX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxVQ1NJc0thbm5hZGEKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNLYW5uYWRhKSB4bWxVQ1NJc0thbm5hZGFfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxVQ1NJc0thbm5hZGEgeG1sVUNTSXNLYW5uYWRhX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNLYXRha2FuYQorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0thdGFrYW5hKSB4bWxVQ1NJc0thdGFrYW5hIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNLYXRha2FuYV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNLYXRha2FuYQorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0thdGFrYW5hKSB4bWxVQ1NJc0thdGFrYW5hX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNLYXRha2FuYSB4bWxVQ1NJc0thdGFrYW5hX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNLYXRha2FuYVBob25ldGljRXh0ZW5zaW9ucworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0thdGFrYW5hUGhvbmV0aWNFeHRlbnNpb25zKSB4bWxVQ1NJc0thdGFrYW5hUGhvbmV0aWNFeHRlbnNpb25zIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNLYXRha2FuYVBob25ldGljRXh0ZW5zaW9uc19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNLYXRha2FuYVBob25ldGljRXh0ZW5zaW9ucworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0thdGFrYW5hUGhvbmV0aWNFeHRlbnNpb25zKSB4bWxVQ1NJc0thdGFrYW5hUGhvbmV0aWNFeHRlbnNpb25zX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNLYXRha2FuYVBob25ldGljRXh0ZW5zaW9ucyB4bWxVQ1NJc0thdGFrYW5hUGhvbmV0aWNFeHRlbnNpb25zX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNLaG1lcgorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0tobWVyKSB4bWxVQ1NJc0tobWVyIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNLaG1lcl9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNLaG1lcgorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0tobWVyKSB4bWxVQ1NJc0tobWVyX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNLaG1lciB4bWxVQ1NJc0tobWVyX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNLaG1lclN5bWJvbHMKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNLaG1lclN5bWJvbHMpIHhtbFVDU0lzS2htZXJTeW1ib2xzIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNLaG1lclN5bWJvbHNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFVDU0lzS2htZXJTeW1ib2xzCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzS2htZXJTeW1ib2xzKSB4bWxVQ1NJc0tobWVyU3ltYm9sc19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFVDU0lzS2htZXJTeW1ib2xzIHhtbFVDU0lzS2htZXJTeW1ib2xzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNMYW8KK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNMYW8pIHhtbFVDU0lzTGFvIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNMYW9fX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFVDU0lzTGFvCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzTGFvKSB4bWxVQ1NJc0xhb19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFVDU0lzTGFvIHhtbFVDU0lzTGFvX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNMYXRpbjFTdXBwbGVtZW50CitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzTGF0aW4xU3VwcGxlbWVudCkgeG1sVUNTSXNMYXRpbjFTdXBwbGVtZW50IF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNMYXRpbjFTdXBwbGVtZW50X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxVQ1NJc0xhdGluMVN1cHBsZW1lbnQKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNMYXRpbjFTdXBwbGVtZW50KSB4bWxVQ1NJc0xhdGluMVN1cHBsZW1lbnRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxVQ1NJc0xhdGluMVN1cHBsZW1lbnQgeG1sVUNTSXNMYXRpbjFTdXBwbGVtZW50X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNMYXRpbkV4dGVuZGVkQQorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0xhdGluRXh0ZW5kZWRBKSB4bWxVQ1NJc0xhdGluRXh0ZW5kZWRBIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNMYXRpbkV4dGVuZGVkQV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNMYXRpbkV4dGVuZGVkQQorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0xhdGluRXh0ZW5kZWRBKSB4bWxVQ1NJc0xhdGluRXh0ZW5kZWRBX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNMYXRpbkV4dGVuZGVkQSB4bWxVQ1NJc0xhdGluRXh0ZW5kZWRBX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNMYXRpbkV4dGVuZGVkQWRkaXRpb25hbAorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0xhdGluRXh0ZW5kZWRBZGRpdGlvbmFsKSB4bWxVQ1NJc0xhdGluRXh0ZW5kZWRBZGRpdGlvbmFsIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNMYXRpbkV4dGVuZGVkQWRkaXRpb25hbF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNMYXRpbkV4dGVuZGVkQWRkaXRpb25hbAorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0xhdGluRXh0ZW5kZWRBZGRpdGlvbmFsKSB4bWxVQ1NJc0xhdGluRXh0ZW5kZWRBZGRpdGlvbmFsX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNMYXRpbkV4dGVuZGVkQWRkaXRpb25hbCB4bWxVQ1NJc0xhdGluRXh0ZW5kZWRBZGRpdGlvbmFsX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNMYXRpbkV4dGVuZGVkQgorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0xhdGluRXh0ZW5kZWRCKSB4bWxVQ1NJc0xhdGluRXh0ZW5kZWRCIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNMYXRpbkV4dGVuZGVkQl9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNMYXRpbkV4dGVuZGVkQgorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0xhdGluRXh0ZW5kZWRCKSB4bWxVQ1NJc0xhdGluRXh0ZW5kZWRCX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNMYXRpbkV4dGVuZGVkQiB4bWxVQ1NJc0xhdGluRXh0ZW5kZWRCX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNMZXR0ZXJsaWtlU3ltYm9scworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0xldHRlcmxpa2VTeW1ib2xzKSB4bWxVQ1NJc0xldHRlcmxpa2VTeW1ib2xzIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNMZXR0ZXJsaWtlU3ltYm9sc19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNMZXR0ZXJsaWtlU3ltYm9scworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0xldHRlcmxpa2VTeW1ib2xzKSB4bWxVQ1NJc0xldHRlcmxpa2VTeW1ib2xzX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNMZXR0ZXJsaWtlU3ltYm9scyB4bWxVQ1NJc0xldHRlcmxpa2VTeW1ib2xzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNMaW1idQorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0xpbWJ1KSB4bWxVQ1NJc0xpbWJ1IF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNMaW1idV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNMaW1idQorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc0xpbWJ1KSB4bWxVQ1NJc0xpbWJ1X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNMaW1idSB4bWxVQ1NJc0xpbWJ1X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNMaW5lYXJCSWRlb2dyYW1zCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzTGluZWFyQklkZW9ncmFtcykgeG1sVUNTSXNMaW5lYXJCSWRlb2dyYW1zIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNMaW5lYXJCSWRlb2dyYW1zX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxVQ1NJc0xpbmVhckJJZGVvZ3JhbXMKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNMaW5lYXJCSWRlb2dyYW1zKSB4bWxVQ1NJc0xpbmVhckJJZGVvZ3JhbXNfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxVQ1NJc0xpbmVhckJJZGVvZ3JhbXMgeG1sVUNTSXNMaW5lYXJCSWRlb2dyYW1zX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNMaW5lYXJCU3lsbGFiYXJ5CitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzTGluZWFyQlN5bGxhYmFyeSkgeG1sVUNTSXNMaW5lYXJCU3lsbGFiYXJ5IF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNMaW5lYXJCU3lsbGFiYXJ5X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxVQ1NJc0xpbmVhckJTeWxsYWJhcnkKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNMaW5lYXJCU3lsbGFiYXJ5KSB4bWxVQ1NJc0xpbmVhckJTeWxsYWJhcnlfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxVQ1NJc0xpbmVhckJTeWxsYWJhcnkgeG1sVUNTSXNMaW5lYXJCU3lsbGFiYXJ5X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNMb3dTdXJyb2dhdGVzCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzTG93U3Vycm9nYXRlcykgeG1sVUNTSXNMb3dTdXJyb2dhdGVzIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNMb3dTdXJyb2dhdGVzX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxVQ1NJc0xvd1N1cnJvZ2F0ZXMKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNMb3dTdXJyb2dhdGVzKSB4bWxVQ1NJc0xvd1N1cnJvZ2F0ZXNfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxVQ1NJc0xvd1N1cnJvZ2F0ZXMgeG1sVUNTSXNMb3dTdXJyb2dhdGVzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNNYWxheWFsYW0KK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNNYWxheWFsYW0pIHhtbFVDU0lzTWFsYXlhbGFtIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNNYWxheWFsYW1fX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFVDU0lzTWFsYXlhbGFtCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzTWFsYXlhbGFtKSB4bWxVQ1NJc01hbGF5YWxhbV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFVDU0lzTWFsYXlhbGFtIHhtbFVDU0lzTWFsYXlhbGFtX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNNYXRoZW1hdGljYWxBbHBoYW51bWVyaWNTeW1ib2xzCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzTWF0aGVtYXRpY2FsQWxwaGFudW1lcmljU3ltYm9scykgeG1sVUNTSXNNYXRoZW1hdGljYWxBbHBoYW51bWVyaWNTeW1ib2xzIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNNYXRoZW1hdGljYWxBbHBoYW51bWVyaWNTeW1ib2xzX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxVQ1NJc01hdGhlbWF0aWNhbEFscGhhbnVtZXJpY1N5bWJvbHMKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNNYXRoZW1hdGljYWxBbHBoYW51bWVyaWNTeW1ib2xzKSB4bWxVQ1NJc01hdGhlbWF0aWNhbEFscGhhbnVtZXJpY1N5bWJvbHNfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxVQ1NJc01hdGhlbWF0aWNhbEFscGhhbnVtZXJpY1N5bWJvbHMgeG1sVUNTSXNNYXRoZW1hdGljYWxBbHBoYW51bWVyaWNTeW1ib2xzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNNYXRoZW1hdGljYWxPcGVyYXRvcnMKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNNYXRoZW1hdGljYWxPcGVyYXRvcnMpIHhtbFVDU0lzTWF0aGVtYXRpY2FsT3BlcmF0b3JzIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNNYXRoZW1hdGljYWxPcGVyYXRvcnNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFVDU0lzTWF0aGVtYXRpY2FsT3BlcmF0b3JzCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzTWF0aGVtYXRpY2FsT3BlcmF0b3JzKSB4bWxVQ1NJc01hdGhlbWF0aWNhbE9wZXJhdG9yc19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFVDU0lzTWF0aGVtYXRpY2FsT3BlcmF0b3JzIHhtbFVDU0lzTWF0aGVtYXRpY2FsT3BlcmF0b3JzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNNaXNjZWxsYW5lb3VzTWF0aGVtYXRpY2FsU3ltYm9sc0EKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNNaXNjZWxsYW5lb3VzTWF0aGVtYXRpY2FsU3ltYm9sc0EpIHhtbFVDU0lzTWlzY2VsbGFuZW91c01hdGhlbWF0aWNhbFN5bWJvbHNBIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNNaXNjZWxsYW5lb3VzTWF0aGVtYXRpY2FsU3ltYm9sc0FfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFVDU0lzTWlzY2VsbGFuZW91c01hdGhlbWF0aWNhbFN5bWJvbHNBCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzTWlzY2VsbGFuZW91c01hdGhlbWF0aWNhbFN5bWJvbHNBKSB4bWxVQ1NJc01pc2NlbGxhbmVvdXNNYXRoZW1hdGljYWxTeW1ib2xzQV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFVDU0lzTWlzY2VsbGFuZW91c01hdGhlbWF0aWNhbFN5bWJvbHNBIHhtbFVDU0lzTWlzY2VsbGFuZW91c01hdGhlbWF0aWNhbFN5bWJvbHNBX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNNaXNjZWxsYW5lb3VzTWF0aGVtYXRpY2FsU3ltYm9sc0IKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNNaXNjZWxsYW5lb3VzTWF0aGVtYXRpY2FsU3ltYm9sc0IpIHhtbFVDU0lzTWlzY2VsbGFuZW91c01hdGhlbWF0aWNhbFN5bWJvbHNCIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNNaXNjZWxsYW5lb3VzTWF0aGVtYXRpY2FsU3ltYm9sc0JfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFVDU0lzTWlzY2VsbGFuZW91c01hdGhlbWF0aWNhbFN5bWJvbHNCCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzTWlzY2VsbGFuZW91c01hdGhlbWF0aWNhbFN5bWJvbHNCKSB4bWxVQ1NJc01pc2NlbGxhbmVvdXNNYXRoZW1hdGljYWxTeW1ib2xzQl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFVDU0lzTWlzY2VsbGFuZW91c01hdGhlbWF0aWNhbFN5bWJvbHNCIHhtbFVDU0lzTWlzY2VsbGFuZW91c01hdGhlbWF0aWNhbFN5bWJvbHNCX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNNaXNjZWxsYW5lb3VzU3ltYm9scworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc01pc2NlbGxhbmVvdXNTeW1ib2xzKSB4bWxVQ1NJc01pc2NlbGxhbmVvdXNTeW1ib2xzIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNNaXNjZWxsYW5lb3VzU3ltYm9sc19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNNaXNjZWxsYW5lb3VzU3ltYm9scworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc01pc2NlbGxhbmVvdXNTeW1ib2xzKSB4bWxVQ1NJc01pc2NlbGxhbmVvdXNTeW1ib2xzX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNNaXNjZWxsYW5lb3VzU3ltYm9scyB4bWxVQ1NJc01pc2NlbGxhbmVvdXNTeW1ib2xzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNNaXNjZWxsYW5lb3VzU3ltYm9sc2FuZEFycm93cworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc01pc2NlbGxhbmVvdXNTeW1ib2xzYW5kQXJyb3dzKSB4bWxVQ1NJc01pc2NlbGxhbmVvdXNTeW1ib2xzYW5kQXJyb3dzIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNNaXNjZWxsYW5lb3VzU3ltYm9sc2FuZEFycm93c19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNNaXNjZWxsYW5lb3VzU3ltYm9sc2FuZEFycm93cworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc01pc2NlbGxhbmVvdXNTeW1ib2xzYW5kQXJyb3dzKSB4bWxVQ1NJc01pc2NlbGxhbmVvdXNTeW1ib2xzYW5kQXJyb3dzX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNNaXNjZWxsYW5lb3VzU3ltYm9sc2FuZEFycm93cyB4bWxVQ1NJc01pc2NlbGxhbmVvdXNTeW1ib2xzYW5kQXJyb3dzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNNaXNjZWxsYW5lb3VzVGVjaG5pY2FsCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzTWlzY2VsbGFuZW91c1RlY2huaWNhbCkgeG1sVUNTSXNNaXNjZWxsYW5lb3VzVGVjaG5pY2FsIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNNaXNjZWxsYW5lb3VzVGVjaG5pY2FsX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxVQ1NJc01pc2NlbGxhbmVvdXNUZWNobmljYWwKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNNaXNjZWxsYW5lb3VzVGVjaG5pY2FsKSB4bWxVQ1NJc01pc2NlbGxhbmVvdXNUZWNobmljYWxfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxVQ1NJc01pc2NlbGxhbmVvdXNUZWNobmljYWwgeG1sVUNTSXNNaXNjZWxsYW5lb3VzVGVjaG5pY2FsX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNNb25nb2xpYW4KK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNNb25nb2xpYW4pIHhtbFVDU0lzTW9uZ29saWFuIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNNb25nb2xpYW5fX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFVDU0lzTW9uZ29saWFuCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzTW9uZ29saWFuKSB4bWxVQ1NJc01vbmdvbGlhbl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFVDU0lzTW9uZ29saWFuIHhtbFVDU0lzTW9uZ29saWFuX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNNdXNpY2FsU3ltYm9scworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc011c2ljYWxTeW1ib2xzKSB4bWxVQ1NJc011c2ljYWxTeW1ib2xzIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNNdXNpY2FsU3ltYm9sc19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNNdXNpY2FsU3ltYm9scworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc011c2ljYWxTeW1ib2xzKSB4bWxVQ1NJc011c2ljYWxTeW1ib2xzX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNNdXNpY2FsU3ltYm9scyB4bWxVQ1NJc011c2ljYWxTeW1ib2xzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNNeWFubWFyCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzTXlhbm1hcikgeG1sVUNTSXNNeWFubWFyIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNNeWFubWFyX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxVQ1NJc015YW5tYXIKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNNeWFubWFyKSB4bWxVQ1NJc015YW5tYXJfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxVQ1NJc015YW5tYXIgeG1sVUNTSXNNeWFubWFyX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNOdW1iZXJGb3JtcworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc051bWJlckZvcm1zKSB4bWxVQ1NJc051bWJlckZvcm1zIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNOdW1iZXJGb3Jtc19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNOdW1iZXJGb3JtcworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc051bWJlckZvcm1zKSB4bWxVQ1NJc051bWJlckZvcm1zX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNOdW1iZXJGb3JtcyB4bWxVQ1NJc051bWJlckZvcm1zX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNPZ2hhbQorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc09naGFtKSB4bWxVQ1NJc09naGFtIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNPZ2hhbV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNPZ2hhbQorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc09naGFtKSB4bWxVQ1NJc09naGFtX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNPZ2hhbSB4bWxVQ1NJc09naGFtX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNPbGRJdGFsaWMKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNPbGRJdGFsaWMpIHhtbFVDU0lzT2xkSXRhbGljIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNPbGRJdGFsaWNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFVDU0lzT2xkSXRhbGljCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzT2xkSXRhbGljKSB4bWxVQ1NJc09sZEl0YWxpY19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFVDU0lzT2xkSXRhbGljIHhtbFVDU0lzT2xkSXRhbGljX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNPcHRpY2FsQ2hhcmFjdGVyUmVjb2duaXRpb24KK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNPcHRpY2FsQ2hhcmFjdGVyUmVjb2duaXRpb24pIHhtbFVDU0lzT3B0aWNhbENoYXJhY3RlclJlY29nbml0aW9uIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNPcHRpY2FsQ2hhcmFjdGVyUmVjb2duaXRpb25fX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFVDU0lzT3B0aWNhbENoYXJhY3RlclJlY29nbml0aW9uCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzT3B0aWNhbENoYXJhY3RlclJlY29nbml0aW9uKSB4bWxVQ1NJc09wdGljYWxDaGFyYWN0ZXJSZWNvZ25pdGlvbl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFVDU0lzT3B0aWNhbENoYXJhY3RlclJlY29nbml0aW9uIHhtbFVDU0lzT3B0aWNhbENoYXJhY3RlclJlY29nbml0aW9uX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNPcml5YQorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc09yaXlhKSB4bWxVQ1NJc09yaXlhIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNPcml5YV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNPcml5YQorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc09yaXlhKSB4bWxVQ1NJc09yaXlhX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNPcml5YSB4bWxVQ1NJc09yaXlhX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNPc21hbnlhCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzT3NtYW55YSkgeG1sVUNTSXNPc21hbnlhIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNPc21hbnlhX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxVQ1NJc09zbWFueWEKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNPc21hbnlhKSB4bWxVQ1NJc09zbWFueWFfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxVQ1NJc09zbWFueWEgeG1sVUNTSXNPc21hbnlhX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNQaG9uZXRpY0V4dGVuc2lvbnMKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNQaG9uZXRpY0V4dGVuc2lvbnMpIHhtbFVDU0lzUGhvbmV0aWNFeHRlbnNpb25zIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNQaG9uZXRpY0V4dGVuc2lvbnNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFVDU0lzUGhvbmV0aWNFeHRlbnNpb25zCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzUGhvbmV0aWNFeHRlbnNpb25zKSB4bWxVQ1NJc1Bob25ldGljRXh0ZW5zaW9uc19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFVDU0lzUGhvbmV0aWNFeHRlbnNpb25zIHhtbFVDU0lzUGhvbmV0aWNFeHRlbnNpb25zX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNQcml2YXRlVXNlCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzUHJpdmF0ZVVzZSkgeG1sVUNTSXNQcml2YXRlVXNlIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNQcml2YXRlVXNlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxVQ1NJc1ByaXZhdGVVc2UKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNQcml2YXRlVXNlKSB4bWxVQ1NJc1ByaXZhdGVVc2VfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxVQ1NJc1ByaXZhdGVVc2UgeG1sVUNTSXNQcml2YXRlVXNlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNQcml2YXRlVXNlQXJlYQorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc1ByaXZhdGVVc2VBcmVhKSB4bWxVQ1NJc1ByaXZhdGVVc2VBcmVhIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNQcml2YXRlVXNlQXJlYV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNQcml2YXRlVXNlQXJlYQorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc1ByaXZhdGVVc2VBcmVhKSB4bWxVQ1NJc1ByaXZhdGVVc2VBcmVhX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNQcml2YXRlVXNlQXJlYSB4bWxVQ1NJc1ByaXZhdGVVc2VBcmVhX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNSdW5pYworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc1J1bmljKSB4bWxVQ1NJc1J1bmljIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNSdW5pY19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNSdW5pYworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc1J1bmljKSB4bWxVQ1NJc1J1bmljX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNSdW5pYyB4bWxVQ1NJc1J1bmljX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNTaGF2aWFuCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzU2hhdmlhbikgeG1sVUNTSXNTaGF2aWFuIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNTaGF2aWFuX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxVQ1NJc1NoYXZpYW4KK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNTaGF2aWFuKSB4bWxVQ1NJc1NoYXZpYW5fX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxVQ1NJc1NoYXZpYW4geG1sVUNTSXNTaGF2aWFuX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNTaW5oYWxhCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzU2luaGFsYSkgeG1sVUNTSXNTaW5oYWxhIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNTaW5oYWxhX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxVQ1NJc1NpbmhhbGEKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNTaW5oYWxhKSB4bWxVQ1NJc1NpbmhhbGFfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxVQ1NJc1NpbmhhbGEgeG1sVUNTSXNTaW5oYWxhX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNTbWFsbEZvcm1WYXJpYW50cworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc1NtYWxsRm9ybVZhcmlhbnRzKSB4bWxVQ1NJc1NtYWxsRm9ybVZhcmlhbnRzIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNTbWFsbEZvcm1WYXJpYW50c19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNTbWFsbEZvcm1WYXJpYW50cworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc1NtYWxsRm9ybVZhcmlhbnRzKSB4bWxVQ1NJc1NtYWxsRm9ybVZhcmlhbnRzX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNTbWFsbEZvcm1WYXJpYW50cyB4bWxVQ1NJc1NtYWxsRm9ybVZhcmlhbnRzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNTcGFjaW5nTW9kaWZpZXJMZXR0ZXJzCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzU3BhY2luZ01vZGlmaWVyTGV0dGVycykgeG1sVUNTSXNTcGFjaW5nTW9kaWZpZXJMZXR0ZXJzIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNTcGFjaW5nTW9kaWZpZXJMZXR0ZXJzX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxVQ1NJc1NwYWNpbmdNb2RpZmllckxldHRlcnMKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNTcGFjaW5nTW9kaWZpZXJMZXR0ZXJzKSB4bWxVQ1NJc1NwYWNpbmdNb2RpZmllckxldHRlcnNfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxVQ1NJc1NwYWNpbmdNb2RpZmllckxldHRlcnMgeG1sVUNTSXNTcGFjaW5nTW9kaWZpZXJMZXR0ZXJzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNTcGVjaWFscworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc1NwZWNpYWxzKSB4bWxVQ1NJc1NwZWNpYWxzIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNTcGVjaWFsc19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNTcGVjaWFscworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc1NwZWNpYWxzKSB4bWxVQ1NJc1NwZWNpYWxzX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNTcGVjaWFscyB4bWxVQ1NJc1NwZWNpYWxzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNTdXBlcnNjcmlwdHNhbmRTdWJzY3JpcHRzCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzU3VwZXJzY3JpcHRzYW5kU3Vic2NyaXB0cykgeG1sVUNTSXNTdXBlcnNjcmlwdHNhbmRTdWJzY3JpcHRzIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNTdXBlcnNjcmlwdHNhbmRTdWJzY3JpcHRzX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxVQ1NJc1N1cGVyc2NyaXB0c2FuZFN1YnNjcmlwdHMKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNTdXBlcnNjcmlwdHNhbmRTdWJzY3JpcHRzKSB4bWxVQ1NJc1N1cGVyc2NyaXB0c2FuZFN1YnNjcmlwdHNfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxVQ1NJc1N1cGVyc2NyaXB0c2FuZFN1YnNjcmlwdHMgeG1sVUNTSXNTdXBlcnNjcmlwdHNhbmRTdWJzY3JpcHRzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNTdXBwbGVtZW50YWxBcnJvd3NBCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzU3VwcGxlbWVudGFsQXJyb3dzQSkgeG1sVUNTSXNTdXBwbGVtZW50YWxBcnJvd3NBIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNTdXBwbGVtZW50YWxBcnJvd3NBX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxVQ1NJc1N1cHBsZW1lbnRhbEFycm93c0EKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNTdXBwbGVtZW50YWxBcnJvd3NBKSB4bWxVQ1NJc1N1cHBsZW1lbnRhbEFycm93c0FfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxVQ1NJc1N1cHBsZW1lbnRhbEFycm93c0EgeG1sVUNTSXNTdXBwbGVtZW50YWxBcnJvd3NBX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNTdXBwbGVtZW50YWxBcnJvd3NCCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzU3VwcGxlbWVudGFsQXJyb3dzQikgeG1sVUNTSXNTdXBwbGVtZW50YWxBcnJvd3NCIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNTdXBwbGVtZW50YWxBcnJvd3NCX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxVQ1NJc1N1cHBsZW1lbnRhbEFycm93c0IKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNTdXBwbGVtZW50YWxBcnJvd3NCKSB4bWxVQ1NJc1N1cHBsZW1lbnRhbEFycm93c0JfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxVQ1NJc1N1cHBsZW1lbnRhbEFycm93c0IgeG1sVUNTSXNTdXBwbGVtZW50YWxBcnJvd3NCX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNTdXBwbGVtZW50YWxNYXRoZW1hdGljYWxPcGVyYXRvcnMKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNTdXBwbGVtZW50YWxNYXRoZW1hdGljYWxPcGVyYXRvcnMpIHhtbFVDU0lzU3VwcGxlbWVudGFsTWF0aGVtYXRpY2FsT3BlcmF0b3JzIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNTdXBwbGVtZW50YWxNYXRoZW1hdGljYWxPcGVyYXRvcnNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFVDU0lzU3VwcGxlbWVudGFsTWF0aGVtYXRpY2FsT3BlcmF0b3JzCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzU3VwcGxlbWVudGFsTWF0aGVtYXRpY2FsT3BlcmF0b3JzKSB4bWxVQ1NJc1N1cHBsZW1lbnRhbE1hdGhlbWF0aWNhbE9wZXJhdG9yc19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFVDU0lzU3VwcGxlbWVudGFsTWF0aGVtYXRpY2FsT3BlcmF0b3JzIHhtbFVDU0lzU3VwcGxlbWVudGFsTWF0aGVtYXRpY2FsT3BlcmF0b3JzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNTdXBwbGVtZW50YXJ5UHJpdmF0ZVVzZUFyZWFBCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzU3VwcGxlbWVudGFyeVByaXZhdGVVc2VBcmVhQSkgeG1sVUNTSXNTdXBwbGVtZW50YXJ5UHJpdmF0ZVVzZUFyZWFBIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNTdXBwbGVtZW50YXJ5UHJpdmF0ZVVzZUFyZWFBX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxVQ1NJc1N1cHBsZW1lbnRhcnlQcml2YXRlVXNlQXJlYUEKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNTdXBwbGVtZW50YXJ5UHJpdmF0ZVVzZUFyZWFBKSB4bWxVQ1NJc1N1cHBsZW1lbnRhcnlQcml2YXRlVXNlQXJlYUFfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxVQ1NJc1N1cHBsZW1lbnRhcnlQcml2YXRlVXNlQXJlYUEgeG1sVUNTSXNTdXBwbGVtZW50YXJ5UHJpdmF0ZVVzZUFyZWFBX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNTdXBwbGVtZW50YXJ5UHJpdmF0ZVVzZUFyZWFCCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzU3VwcGxlbWVudGFyeVByaXZhdGVVc2VBcmVhQikgeG1sVUNTSXNTdXBwbGVtZW50YXJ5UHJpdmF0ZVVzZUFyZWFCIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNTdXBwbGVtZW50YXJ5UHJpdmF0ZVVzZUFyZWFCX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxVQ1NJc1N1cHBsZW1lbnRhcnlQcml2YXRlVXNlQXJlYUIKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNTdXBwbGVtZW50YXJ5UHJpdmF0ZVVzZUFyZWFCKSB4bWxVQ1NJc1N1cHBsZW1lbnRhcnlQcml2YXRlVXNlQXJlYUJfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxVQ1NJc1N1cHBsZW1lbnRhcnlQcml2YXRlVXNlQXJlYUIgeG1sVUNTSXNTdXBwbGVtZW50YXJ5UHJpdmF0ZVVzZUFyZWFCX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNTeXJpYWMKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNTeXJpYWMpIHhtbFVDU0lzU3lyaWFjIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNTeXJpYWNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFVDU0lzU3lyaWFjCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzU3lyaWFjKSB4bWxVQ1NJc1N5cmlhY19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFVDU0lzU3lyaWFjIHhtbFVDU0lzU3lyaWFjX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNUYWdhbG9nCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzVGFnYWxvZykgeG1sVUNTSXNUYWdhbG9nIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNUYWdhbG9nX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxVQ1NJc1RhZ2Fsb2cKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNUYWdhbG9nKSB4bWxVQ1NJc1RhZ2Fsb2dfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxVQ1NJc1RhZ2Fsb2cgeG1sVUNTSXNUYWdhbG9nX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNUYWdiYW53YQorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc1RhZ2JhbndhKSB4bWxVQ1NJc1RhZ2JhbndhIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNUYWdiYW53YV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNUYWdiYW53YQorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc1RhZ2JhbndhKSB4bWxVQ1NJc1RhZ2JhbndhX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNUYWdiYW53YSB4bWxVQ1NJc1RhZ2JhbndhX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNUYWdzCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzVGFncykgeG1sVUNTSXNUYWdzIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNUYWdzX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxVQ1NJc1RhZ3MKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNUYWdzKSB4bWxVQ1NJc1RhZ3NfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxVQ1NJc1RhZ3MgeG1sVUNTSXNUYWdzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNUYWlMZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc1RhaUxlKSB4bWxVQ1NJc1RhaUxlIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNUYWlMZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNUYWlMZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc1RhaUxlKSB4bWxVQ1NJc1RhaUxlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNUYWlMZSB4bWxVQ1NJc1RhaUxlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNUYWlYdWFuSmluZ1N5bWJvbHMKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNUYWlYdWFuSmluZ1N5bWJvbHMpIHhtbFVDU0lzVGFpWHVhbkppbmdTeW1ib2xzIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNUYWlYdWFuSmluZ1N5bWJvbHNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFVDU0lzVGFpWHVhbkppbmdTeW1ib2xzCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzVGFpWHVhbkppbmdTeW1ib2xzKSB4bWxVQ1NJc1RhaVh1YW5KaW5nU3ltYm9sc19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFVDU0lzVGFpWHVhbkppbmdTeW1ib2xzIHhtbFVDU0lzVGFpWHVhbkppbmdTeW1ib2xzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNUYW1pbAorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc1RhbWlsKSB4bWxVQ1NJc1RhbWlsIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNUYW1pbF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNUYW1pbAorZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc1RhbWlsKSB4bWxVQ1NJc1RhbWlsX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNUYW1pbCB4bWxVQ1NJc1RhbWlsX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNUZWx1Z3UKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNUZWx1Z3UpIHhtbFVDU0lzVGVsdWd1IF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNUZWx1Z3VfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFVDU0lzVGVsdWd1CitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzVGVsdWd1KSB4bWxVQ1NJc1RlbHVndV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFVDU0lzVGVsdWd1IHhtbFVDU0lzVGVsdWd1X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNUaGFhbmEKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNUaGFhbmEpIHhtbFVDU0lzVGhhYW5hIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNUaGFhbmFfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFVDU0lzVGhhYW5hCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzVGhhYW5hKSB4bWxVQ1NJc1RoYWFuYV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFVDU0lzVGhhYW5hIHhtbFVDU0lzVGhhYW5hX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNUaGFpCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzVGhhaSkgeG1sVUNTSXNUaGFpIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNUaGFpX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxVQ1NJc1RoYWkKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNUaGFpKSB4bWxVQ1NJc1RoYWlfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxVQ1NJc1RoYWkgeG1sVUNTSXNUaGFpX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNUaWJldGFuCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzVGliZXRhbikgeG1sVUNTSXNUaWJldGFuIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNUaWJldGFuX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxVQ1NJc1RpYmV0YW4KK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNUaWJldGFuKSB4bWxVQ1NJc1RpYmV0YW5fX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxVQ1NJc1RpYmV0YW4geG1sVUNTSXNUaWJldGFuX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNVZ2FyaXRpYworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc1VnYXJpdGljKSB4bWxVQ1NJc1VnYXJpdGljIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNVZ2FyaXRpY19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNVZ2FyaXRpYworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc1VnYXJpdGljKSB4bWxVQ1NJc1VnYXJpdGljX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNVZ2FyaXRpYyB4bWxVQ1NJc1VnYXJpdGljX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNVbmlmaWVkQ2FuYWRpYW5BYm9yaWdpbmFsU3lsbGFiaWNzCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzVW5pZmllZENhbmFkaWFuQWJvcmlnaW5hbFN5bGxhYmljcykgeG1sVUNTSXNVbmlmaWVkQ2FuYWRpYW5BYm9yaWdpbmFsU3lsbGFiaWNzIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNVbmlmaWVkQ2FuYWRpYW5BYm9yaWdpbmFsU3lsbGFiaWNzX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxVQ1NJc1VuaWZpZWRDYW5hZGlhbkFib3JpZ2luYWxTeWxsYWJpY3MKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNVbmlmaWVkQ2FuYWRpYW5BYm9yaWdpbmFsU3lsbGFiaWNzKSB4bWxVQ1NJc1VuaWZpZWRDYW5hZGlhbkFib3JpZ2luYWxTeWxsYWJpY3NfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxVQ1NJc1VuaWZpZWRDYW5hZGlhbkFib3JpZ2luYWxTeWxsYWJpY3MgeG1sVUNTSXNVbmlmaWVkQ2FuYWRpYW5BYm9yaWdpbmFsU3lsbGFiaWNzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNWYXJpYXRpb25TZWxlY3RvcnMKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNWYXJpYXRpb25TZWxlY3RvcnMpIHhtbFVDU0lzVmFyaWF0aW9uU2VsZWN0b3JzIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNWYXJpYXRpb25TZWxlY3RvcnNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFVDU0lzVmFyaWF0aW9uU2VsZWN0b3JzCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzVmFyaWF0aW9uU2VsZWN0b3JzKSB4bWxVQ1NJc1ZhcmlhdGlvblNlbGVjdG9yc19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFVDU0lzVmFyaWF0aW9uU2VsZWN0b3JzIHhtbFVDU0lzVmFyaWF0aW9uU2VsZWN0b3JzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNWYXJpYXRpb25TZWxlY3RvcnNTdXBwbGVtZW50CitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzVmFyaWF0aW9uU2VsZWN0b3JzU3VwcGxlbWVudCkgeG1sVUNTSXNWYXJpYXRpb25TZWxlY3RvcnNTdXBwbGVtZW50IF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNWYXJpYXRpb25TZWxlY3RvcnNTdXBwbGVtZW50X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxVQ1NJc1ZhcmlhdGlvblNlbGVjdG9yc1N1cHBsZW1lbnQKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNWYXJpYXRpb25TZWxlY3RvcnNTdXBwbGVtZW50KSB4bWxVQ1NJc1ZhcmlhdGlvblNlbGVjdG9yc1N1cHBsZW1lbnRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxVQ1NJc1ZhcmlhdGlvblNlbGVjdG9yc1N1cHBsZW1lbnQgeG1sVUNTSXNWYXJpYXRpb25TZWxlY3RvcnNTdXBwbGVtZW50X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNZaVJhZGljYWxzCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzWWlSYWRpY2FscykgeG1sVUNTSXNZaVJhZGljYWxzIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNZaVJhZGljYWxzX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxVQ1NJc1lpUmFkaWNhbHMKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNZaVJhZGljYWxzKSB4bWxVQ1NJc1lpUmFkaWNhbHNfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxVQ1NJc1lpUmFkaWNhbHMgeG1sVUNTSXNZaVJhZGljYWxzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNZaVN5bGxhYmxlcworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc1lpU3lsbGFibGVzKSB4bWxVQ1NJc1lpU3lsbGFibGVzIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNZaVN5bGxhYmxlc19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVUNTSXNZaVN5bGxhYmxlcworZXh0ZXJuIF9fdHlwZW9mICh4bWxVQ1NJc1lpU3lsbGFibGVzKSB4bWxVQ1NJc1lpU3lsbGFibGVzX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVUNTSXNZaVN5bGxhYmxlcyB4bWxVQ1NJc1lpU3lsbGFibGVzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94bWx1bmljb2RlCisjdW5kZWYgeG1sVUNTSXNZaWppbmdIZXhhZ3JhbVN5bWJvbHMKK2V4dGVybiBfX3R5cGVvZiAoeG1sVUNTSXNZaWppbmdIZXhhZ3JhbVN5bWJvbHMpIHhtbFVDU0lzWWlqaW5nSGV4YWdyYW1TeW1ib2xzIF9fYXR0cmlidXRlKChhbGlhcygieG1sVUNTSXNZaWppbmdIZXhhZ3JhbVN5bWJvbHNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFVDU0lzWWlqaW5nSGV4YWdyYW1TeW1ib2xzCitleHRlcm4gX190eXBlb2YgKHhtbFVDU0lzWWlqaW5nSGV4YWdyYW1TeW1ib2xzKSB4bWxVQ1NJc1lpamluZ0hleGFncmFtU3ltYm9sc19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFVDU0lzWWlqaW5nSGV4YWdyYW1TeW1ib2xzIHhtbFVDU0lzWWlqaW5nSGV4YWdyYW1TeW1ib2xzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3VyaQorI3VuZGVmIHhtbFVSSUVzY2FwZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxVUklFc2NhcGUpIHhtbFVSSUVzY2FwZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFVSSUVzY2FwZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVVJJRXNjYXBlCitleHRlcm4gX190eXBlb2YgKHhtbFVSSUVzY2FwZSkgeG1sVVJJRXNjYXBlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVVJJRXNjYXBlIHhtbFVSSUVzY2FwZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21fdXJpCisjdW5kZWYgeG1sVVJJRXNjYXBlU3RyCitleHRlcm4gX190eXBlb2YgKHhtbFVSSUVzY2FwZVN0cikgeG1sVVJJRXNjYXBlU3RyIF9fYXR0cmlidXRlKChhbGlhcygieG1sVVJJRXNjYXBlU3RyX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxVUklFc2NhcGVTdHIKK2V4dGVybiBfX3R5cGVvZiAoeG1sVVJJRXNjYXBlU3RyKSB4bWxVUklFc2NhcGVTdHJfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxVUklFc2NhcGVTdHIgeG1sVVJJRXNjYXBlU3RyX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV91cmkKKyN1bmRlZiB4bWxVUklVbmVzY2FwZVN0cmluZworZXh0ZXJuIF9fdHlwZW9mICh4bWxVUklVbmVzY2FwZVN0cmluZykgeG1sVVJJVW5lc2NhcGVTdHJpbmcgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxVUklVbmVzY2FwZVN0cmluZ19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVVJJVW5lc2NhcGVTdHJpbmcKK2V4dGVybiBfX3R5cGVvZiAoeG1sVVJJVW5lc2NhcGVTdHJpbmcpIHhtbFVSSVVuZXNjYXBlU3RyaW5nX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVVJJVW5lc2NhcGVTdHJpbmcgeG1sVVJJVW5lc2NhcGVTdHJpbmdfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3htbHN0cmluZworI3VuZGVmIHhtbFVURjhDaGFyY21wCitleHRlcm4gX190eXBlb2YgKHhtbFVURjhDaGFyY21wKSB4bWxVVEY4Q2hhcmNtcCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFVURjhDaGFyY21wX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxVVEY4Q2hhcmNtcAorZXh0ZXJuIF9fdHlwZW9mICh4bWxVVEY4Q2hhcmNtcCkgeG1sVVRGOENoYXJjbXBfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxVVEY4Q2hhcmNtcCB4bWxVVEY4Q2hhcmNtcF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21feG1sc3RyaW5nCisjdW5kZWYgeG1sVVRGOFNpemUKK2V4dGVybiBfX3R5cGVvZiAoeG1sVVRGOFNpemUpIHhtbFVURjhTaXplIF9fYXR0cmlidXRlKChhbGlhcygieG1sVVRGOFNpemVfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFVURjhTaXplCitleHRlcm4gX190eXBlb2YgKHhtbFVURjhTaXplKSB4bWxVVEY4U2l6ZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFVURjhTaXplIHhtbFVURjhTaXplX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV94bWxzdHJpbmcKKyN1bmRlZiB4bWxVVEY4U3RybGVuCitleHRlcm4gX190eXBlb2YgKHhtbFVURjhTdHJsZW4pIHhtbFVURjhTdHJsZW4gX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxVVEY4U3RybGVuX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxVVEY4U3RybGVuCitleHRlcm4gX190eXBlb2YgKHhtbFVURjhTdHJsZW4pIHhtbFVURjhTdHJsZW5fX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxVVEY4U3RybGVuIHhtbFVURjhTdHJsZW5fX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3htbHN0cmluZworI3VuZGVmIHhtbFVURjhTdHJsb2MKK2V4dGVybiBfX3R5cGVvZiAoeG1sVVRGOFN0cmxvYykgeG1sVVRGOFN0cmxvYyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFVURjhTdHJsb2NfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFVURjhTdHJsb2MKK2V4dGVybiBfX3R5cGVvZiAoeG1sVVRGOFN0cmxvYykgeG1sVVRGOFN0cmxvY19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFVURjhTdHJsb2MgeG1sVVRGOFN0cmxvY19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21feG1sc3RyaW5nCisjdW5kZWYgeG1sVVRGOFN0cm5kdXAKK2V4dGVybiBfX3R5cGVvZiAoeG1sVVRGOFN0cm5kdXApIHhtbFVURjhTdHJuZHVwIF9fYXR0cmlidXRlKChhbGlhcygieG1sVVRGOFN0cm5kdXBfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFVURjhTdHJuZHVwCitleHRlcm4gX190eXBlb2YgKHhtbFVURjhTdHJuZHVwKSB4bWxVVEY4U3RybmR1cF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFVURjhTdHJuZHVwIHhtbFVURjhTdHJuZHVwX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV94bWxzdHJpbmcKKyN1bmRlZiB4bWxVVEY4U3RycG9zCitleHRlcm4gX190eXBlb2YgKHhtbFVURjhTdHJwb3MpIHhtbFVURjhTdHJwb3MgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxVVEY4U3RycG9zX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxVVEY4U3RycG9zCitleHRlcm4gX190eXBlb2YgKHhtbFVURjhTdHJwb3MpIHhtbFVURjhTdHJwb3NfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxVVEY4U3RycG9zIHhtbFVURjhTdHJwb3NfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgYm90dG9tX3htbHN0cmluZworI3VuZGVmIHhtbFVURjhTdHJzaXplCitleHRlcm4gX190eXBlb2YgKHhtbFVURjhTdHJzaXplKSB4bWxVVEY4U3Ryc2l6ZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFVURjhTdHJzaXplX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxVVEY4U3Ryc2l6ZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxVVEY4U3Ryc2l6ZSkgeG1sVVRGOFN0cnNpemVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxVVEY4U3Ryc2l6ZSB4bWxVVEY4U3Ryc2l6ZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBib3R0b21feG1sc3RyaW5nCisjdW5kZWYgeG1sVVRGOFN0cnN1YgorZXh0ZXJuIF9fdHlwZW9mICh4bWxVVEY4U3Ryc3ViKSB4bWxVVEY4U3Ryc3ViIF9fYXR0cmlidXRlKChhbGlhcygieG1sVVRGOFN0cnN1Yl9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVVRGOFN0cnN1YgorZXh0ZXJuIF9fdHlwZW9mICh4bWxVVEY4U3Ryc3ViKSB4bWxVVEY4U3Ryc3ViX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVVRGOFN0cnN1YiB4bWxVVEY4U3Ryc3ViX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV90cmVlCisjdW5kZWYgeG1sVW5saW5rTm9kZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxVbmxpbmtOb2RlKSB4bWxVbmxpbmtOb2RlIF9fYXR0cmlidXRlKChhbGlhcygieG1sVW5saW5rTm9kZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVW5saW5rTm9kZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxVbmxpbmtOb2RlKSB4bWxVbmxpbmtOb2RlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVW5saW5rTm9kZSB4bWxVbmxpbmtOb2RlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIGJvdHRvbV90aHJlYWRzCisjdW5kZWYgeG1sVW5sb2NrTGlicmFyeQorZXh0ZXJuIF9fdHlwZW9mICh4bWxVbmxvY2tMaWJyYXJ5KSB4bWxVbmxvY2tMaWJyYXJ5IF9fYXR0cmlidXRlKChhbGlhcygieG1sVW5sb2NrTGlicmFyeV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVW5sb2NrTGlicmFyeQorZXh0ZXJuIF9fdHlwZW9mICh4bWxVbmxvY2tMaWJyYXJ5KSB4bWxVbmxvY2tMaWJyYXJ5X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVW5sb2NrTGlicmFyeSB4bWxVbmxvY2tMaWJyYXJ5X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV90cmVlCisjdW5kZWYgeG1sVW5zZXROc1Byb3AKK2V4dGVybiBfX3R5cGVvZiAoeG1sVW5zZXROc1Byb3ApIHhtbFVuc2V0TnNQcm9wIF9fYXR0cmlidXRlKChhbGlhcygieG1sVW5zZXROc1Byb3BfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFVuc2V0TnNQcm9wCitleHRlcm4gX190eXBlb2YgKHhtbFVuc2V0TnNQcm9wKSB4bWxVbnNldE5zUHJvcF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFVuc2V0TnNQcm9wIHhtbFVuc2V0TnNQcm9wX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVFJFRV9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3RyZWUKKyN1bmRlZiB4bWxVbnNldFByb3AKK2V4dGVybiBfX3R5cGVvZiAoeG1sVW5zZXRQcm9wKSB4bWxVbnNldFByb3AgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxVbnNldFByb3BfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFVuc2V0UHJvcAorZXh0ZXJuIF9fdHlwZW9mICh4bWxVbnNldFByb3ApIHhtbFVuc2V0UHJvcF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFVuc2V0UHJvcCB4bWxVbnNldFByb3BfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9WQUxJRF9FTkFCTEVEKSAmJiBkZWZpbmVkKExJQlhNTF9SRUdFWFBfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fdmFsaWQKKyN1bmRlZiB4bWxWYWxpZEJ1aWxkQ29udGVudE1vZGVsCitleHRlcm4gX190eXBlb2YgKHhtbFZhbGlkQnVpbGRDb250ZW50TW9kZWwpIHhtbFZhbGlkQnVpbGRDb250ZW50TW9kZWwgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxWYWxpZEJ1aWxkQ29udGVudE1vZGVsX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxWYWxpZEJ1aWxkQ29udGVudE1vZGVsCitleHRlcm4gX190eXBlb2YgKHhtbFZhbGlkQnVpbGRDb250ZW50TW9kZWwpIHhtbFZhbGlkQnVpbGRDb250ZW50TW9kZWxfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxWYWxpZEJ1aWxkQ29udGVudE1vZGVsIHhtbFZhbGlkQnVpbGRDb250ZW50TW9kZWxfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9WQUxJRF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV92YWxpZAorI3VuZGVmIHhtbFZhbGlkQ3R4dE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlCitleHRlcm4gX190eXBlb2YgKHhtbFZhbGlkQ3R4dE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlKSB4bWxWYWxpZEN0eHROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFZhbGlkQ3R4dE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxWYWxpZEN0eHROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxWYWxpZEN0eHROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZSkgeG1sVmFsaWRDdHh0Tm9ybWFsaXplQXR0cmlidXRlVmFsdWVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxWYWxpZEN0eHROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZSB4bWxWYWxpZEN0eHROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1ZBTElEX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3ZhbGlkCisjdW5kZWYgeG1sVmFsaWRHZXRQb3RlbnRpYWxDaGlsZHJlbgorZXh0ZXJuIF9fdHlwZW9mICh4bWxWYWxpZEdldFBvdGVudGlhbENoaWxkcmVuKSB4bWxWYWxpZEdldFBvdGVudGlhbENoaWxkcmVuIF9fYXR0cmlidXRlKChhbGlhcygieG1sVmFsaWRHZXRQb3RlbnRpYWxDaGlsZHJlbl9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVmFsaWRHZXRQb3RlbnRpYWxDaGlsZHJlbgorZXh0ZXJuIF9fdHlwZW9mICh4bWxWYWxpZEdldFBvdGVudGlhbENoaWxkcmVuKSB4bWxWYWxpZEdldFBvdGVudGlhbENoaWxkcmVuX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVmFsaWRHZXRQb3RlbnRpYWxDaGlsZHJlbiB4bWxWYWxpZEdldFBvdGVudGlhbENoaWxkcmVuX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVkFMSURfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fdmFsaWQKKyN1bmRlZiB4bWxWYWxpZEdldFZhbGlkRWxlbWVudHMKK2V4dGVybiBfX3R5cGVvZiAoeG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzKSB4bWxWYWxpZEdldFZhbGlkRWxlbWVudHMgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxWYWxpZEdldFZhbGlkRWxlbWVudHNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFZhbGlkR2V0VmFsaWRFbGVtZW50cworZXh0ZXJuIF9fdHlwZW9mICh4bWxWYWxpZEdldFZhbGlkRWxlbWVudHMpIHhtbFZhbGlkR2V0VmFsaWRFbGVtZW50c19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFZhbGlkR2V0VmFsaWRFbGVtZW50cyB4bWxWYWxpZEdldFZhbGlkRWxlbWVudHNfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9WQUxJRF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV92YWxpZAorI3VuZGVmIHhtbFZhbGlkTm9ybWFsaXplQXR0cmlidXRlVmFsdWUKK2V4dGVybiBfX3R5cGVvZiAoeG1sVmFsaWROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZSkgeG1sVmFsaWROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFZhbGlkTm9ybWFsaXplQXR0cmlidXRlVmFsdWVfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFZhbGlkTm9ybWFsaXplQXR0cmlidXRlVmFsdWUKK2V4dGVybiBfX3R5cGVvZiAoeG1sVmFsaWROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZSkgeG1sVmFsaWROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFZhbGlkTm9ybWFsaXplQXR0cmlidXRlVmFsdWUgeG1sVmFsaWROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1ZBTElEX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3ZhbGlkCisjdW5kZWYgeG1sVmFsaWRhdGVBdHRyaWJ1dGVEZWNsCitleHRlcm4gX190eXBlb2YgKHhtbFZhbGlkYXRlQXR0cmlidXRlRGVjbCkgeG1sVmFsaWRhdGVBdHRyaWJ1dGVEZWNsIF9fYXR0cmlidXRlKChhbGlhcygieG1sVmFsaWRhdGVBdHRyaWJ1dGVEZWNsX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxWYWxpZGF0ZUF0dHJpYnV0ZURlY2wKK2V4dGVybiBfX3R5cGVvZiAoeG1sVmFsaWRhdGVBdHRyaWJ1dGVEZWNsKSB4bWxWYWxpZGF0ZUF0dHJpYnV0ZURlY2xfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxWYWxpZGF0ZUF0dHJpYnV0ZURlY2wgeG1sVmFsaWRhdGVBdHRyaWJ1dGVEZWNsX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVkFMSURfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fdmFsaWQKKyN1bmRlZiB4bWxWYWxpZGF0ZUF0dHJpYnV0ZVZhbHVlCitleHRlcm4gX190eXBlb2YgKHhtbFZhbGlkYXRlQXR0cmlidXRlVmFsdWUpIHhtbFZhbGlkYXRlQXR0cmlidXRlVmFsdWUgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxWYWxpZGF0ZUF0dHJpYnV0ZVZhbHVlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxWYWxpZGF0ZUF0dHJpYnV0ZVZhbHVlCitleHRlcm4gX190eXBlb2YgKHhtbFZhbGlkYXRlQXR0cmlidXRlVmFsdWUpIHhtbFZhbGlkYXRlQXR0cmlidXRlVmFsdWVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxWYWxpZGF0ZUF0dHJpYnV0ZVZhbHVlIHhtbFZhbGlkYXRlQXR0cmlidXRlVmFsdWVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9WQUxJRF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV92YWxpZAorI3VuZGVmIHhtbFZhbGlkYXRlRG9jdW1lbnQKK2V4dGVybiBfX3R5cGVvZiAoeG1sVmFsaWRhdGVEb2N1bWVudCkgeG1sVmFsaWRhdGVEb2N1bWVudCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFZhbGlkYXRlRG9jdW1lbnRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFZhbGlkYXRlRG9jdW1lbnQKK2V4dGVybiBfX3R5cGVvZiAoeG1sVmFsaWRhdGVEb2N1bWVudCkgeG1sVmFsaWRhdGVEb2N1bWVudF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFZhbGlkYXRlRG9jdW1lbnQgeG1sVmFsaWRhdGVEb2N1bWVudF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1ZBTElEX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3ZhbGlkCisjdW5kZWYgeG1sVmFsaWRhdGVEb2N1bWVudEZpbmFsCitleHRlcm4gX190eXBlb2YgKHhtbFZhbGlkYXRlRG9jdW1lbnRGaW5hbCkgeG1sVmFsaWRhdGVEb2N1bWVudEZpbmFsIF9fYXR0cmlidXRlKChhbGlhcygieG1sVmFsaWRhdGVEb2N1bWVudEZpbmFsX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxWYWxpZGF0ZURvY3VtZW50RmluYWwKK2V4dGVybiBfX3R5cGVvZiAoeG1sVmFsaWRhdGVEb2N1bWVudEZpbmFsKSB4bWxWYWxpZGF0ZURvY3VtZW50RmluYWxfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxWYWxpZGF0ZURvY3VtZW50RmluYWwgeG1sVmFsaWRhdGVEb2N1bWVudEZpbmFsX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVkFMSURfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fdmFsaWQKKyN1bmRlZiB4bWxWYWxpZGF0ZUR0ZAorZXh0ZXJuIF9fdHlwZW9mICh4bWxWYWxpZGF0ZUR0ZCkgeG1sVmFsaWRhdGVEdGQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxWYWxpZGF0ZUR0ZF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVmFsaWRhdGVEdGQKK2V4dGVybiBfX3R5cGVvZiAoeG1sVmFsaWRhdGVEdGQpIHhtbFZhbGlkYXRlRHRkX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVmFsaWRhdGVEdGQgeG1sVmFsaWRhdGVEdGRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9WQUxJRF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV92YWxpZAorI3VuZGVmIHhtbFZhbGlkYXRlRHRkRmluYWwKK2V4dGVybiBfX3R5cGVvZiAoeG1sVmFsaWRhdGVEdGRGaW5hbCkgeG1sVmFsaWRhdGVEdGRGaW5hbCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFZhbGlkYXRlRHRkRmluYWxfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFZhbGlkYXRlRHRkRmluYWwKK2V4dGVybiBfX3R5cGVvZiAoeG1sVmFsaWRhdGVEdGRGaW5hbCkgeG1sVmFsaWRhdGVEdGRGaW5hbF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFZhbGlkYXRlRHRkRmluYWwgeG1sVmFsaWRhdGVEdGRGaW5hbF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1ZBTElEX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3ZhbGlkCisjdW5kZWYgeG1sVmFsaWRhdGVFbGVtZW50CitleHRlcm4gX190eXBlb2YgKHhtbFZhbGlkYXRlRWxlbWVudCkgeG1sVmFsaWRhdGVFbGVtZW50IF9fYXR0cmlidXRlKChhbGlhcygieG1sVmFsaWRhdGVFbGVtZW50X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxWYWxpZGF0ZUVsZW1lbnQKK2V4dGVybiBfX3R5cGVvZiAoeG1sVmFsaWRhdGVFbGVtZW50KSB4bWxWYWxpZGF0ZUVsZW1lbnRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxWYWxpZGF0ZUVsZW1lbnQgeG1sVmFsaWRhdGVFbGVtZW50X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVkFMSURfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fdmFsaWQKKyN1bmRlZiB4bWxWYWxpZGF0ZUVsZW1lbnREZWNsCitleHRlcm4gX190eXBlb2YgKHhtbFZhbGlkYXRlRWxlbWVudERlY2wpIHhtbFZhbGlkYXRlRWxlbWVudERlY2wgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxWYWxpZGF0ZUVsZW1lbnREZWNsX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxWYWxpZGF0ZUVsZW1lbnREZWNsCitleHRlcm4gX190eXBlb2YgKHhtbFZhbGlkYXRlRWxlbWVudERlY2wpIHhtbFZhbGlkYXRlRWxlbWVudERlY2xfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxWYWxpZGF0ZUVsZW1lbnREZWNsIHhtbFZhbGlkYXRlRWxlbWVudERlY2xfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfREVCVUdfRU5BQkxFRCkgfHwgZGVmaW5lZCAoTElCWE1MX0hUTUxfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfU0FYMV9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9ET0NCX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX0xFR0FDWV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV90cmVlCisjdW5kZWYgeG1sVmFsaWRhdGVOQ05hbWUKK2V4dGVybiBfX3R5cGVvZiAoeG1sVmFsaWRhdGVOQ05hbWUpIHhtbFZhbGlkYXRlTkNOYW1lIF9fYXR0cmlidXRlKChhbGlhcygieG1sVmFsaWRhdGVOQ05hbWVfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFZhbGlkYXRlTkNOYW1lCitleHRlcm4gX190eXBlb2YgKHhtbFZhbGlkYXRlTkNOYW1lKSB4bWxWYWxpZGF0ZU5DTmFtZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFZhbGlkYXRlTkNOYW1lIHhtbFZhbGlkYXRlTkNOYW1lX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVFJFRV9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3RyZWUKKyN1bmRlZiB4bWxWYWxpZGF0ZU5NVG9rZW4KK2V4dGVybiBfX3R5cGVvZiAoeG1sVmFsaWRhdGVOTVRva2VuKSB4bWxWYWxpZGF0ZU5NVG9rZW4gX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxWYWxpZGF0ZU5NVG9rZW5fX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFZhbGlkYXRlTk1Ub2tlbgorZXh0ZXJuIF9fdHlwZW9mICh4bWxWYWxpZGF0ZU5NVG9rZW4pIHhtbFZhbGlkYXRlTk1Ub2tlbl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFZhbGlkYXRlTk1Ub2tlbiB4bWxWYWxpZGF0ZU5NVG9rZW5fX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fdHJlZQorI3VuZGVmIHhtbFZhbGlkYXRlTmFtZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxWYWxpZGF0ZU5hbWUpIHhtbFZhbGlkYXRlTmFtZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFZhbGlkYXRlTmFtZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVmFsaWRhdGVOYW1lCitleHRlcm4gX190eXBlb2YgKHhtbFZhbGlkYXRlTmFtZSkgeG1sVmFsaWRhdGVOYW1lX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVmFsaWRhdGVOYW1lIHhtbFZhbGlkYXRlTmFtZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1ZBTElEX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3ZhbGlkCisjdW5kZWYgeG1sVmFsaWRhdGVOYW1lVmFsdWUKK2V4dGVybiBfX3R5cGVvZiAoeG1sVmFsaWRhdGVOYW1lVmFsdWUpIHhtbFZhbGlkYXRlTmFtZVZhbHVlIF9fYXR0cmlidXRlKChhbGlhcygieG1sVmFsaWRhdGVOYW1lVmFsdWVfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFZhbGlkYXRlTmFtZVZhbHVlCitleHRlcm4gX190eXBlb2YgKHhtbFZhbGlkYXRlTmFtZVZhbHVlKSB4bWxWYWxpZGF0ZU5hbWVWYWx1ZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFZhbGlkYXRlTmFtZVZhbHVlIHhtbFZhbGlkYXRlTmFtZVZhbHVlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVkFMSURfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fdmFsaWQKKyN1bmRlZiB4bWxWYWxpZGF0ZU5hbWVzVmFsdWUKK2V4dGVybiBfX3R5cGVvZiAoeG1sVmFsaWRhdGVOYW1lc1ZhbHVlKSB4bWxWYWxpZGF0ZU5hbWVzVmFsdWUgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxWYWxpZGF0ZU5hbWVzVmFsdWVfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFZhbGlkYXRlTmFtZXNWYWx1ZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxWYWxpZGF0ZU5hbWVzVmFsdWUpIHhtbFZhbGlkYXRlTmFtZXNWYWx1ZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFZhbGlkYXRlTmFtZXNWYWx1ZSB4bWxWYWxpZGF0ZU5hbWVzVmFsdWVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9WQUxJRF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV92YWxpZAorI3VuZGVmIHhtbFZhbGlkYXRlTm10b2tlblZhbHVlCitleHRlcm4gX190eXBlb2YgKHhtbFZhbGlkYXRlTm10b2tlblZhbHVlKSB4bWxWYWxpZGF0ZU5tdG9rZW5WYWx1ZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFZhbGlkYXRlTm10b2tlblZhbHVlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxWYWxpZGF0ZU5tdG9rZW5WYWx1ZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxWYWxpZGF0ZU5tdG9rZW5WYWx1ZSkgeG1sVmFsaWRhdGVObXRva2VuVmFsdWVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxWYWxpZGF0ZU5tdG9rZW5WYWx1ZSB4bWxWYWxpZGF0ZU5tdG9rZW5WYWx1ZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1ZBTElEX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3ZhbGlkCisjdW5kZWYgeG1sVmFsaWRhdGVObXRva2Vuc1ZhbHVlCitleHRlcm4gX190eXBlb2YgKHhtbFZhbGlkYXRlTm10b2tlbnNWYWx1ZSkgeG1sVmFsaWRhdGVObXRva2Vuc1ZhbHVlIF9fYXR0cmlidXRlKChhbGlhcygieG1sVmFsaWRhdGVObXRva2Vuc1ZhbHVlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxWYWxpZGF0ZU5tdG9rZW5zVmFsdWUKK2V4dGVybiBfX3R5cGVvZiAoeG1sVmFsaWRhdGVObXRva2Vuc1ZhbHVlKSB4bWxWYWxpZGF0ZU5tdG9rZW5zVmFsdWVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxWYWxpZGF0ZU5tdG9rZW5zVmFsdWUgeG1sVmFsaWRhdGVObXRva2Vuc1ZhbHVlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVkFMSURfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fdmFsaWQKKyN1bmRlZiB4bWxWYWxpZGF0ZU5vdGF0aW9uRGVjbAorZXh0ZXJuIF9fdHlwZW9mICh4bWxWYWxpZGF0ZU5vdGF0aW9uRGVjbCkgeG1sVmFsaWRhdGVOb3RhdGlvbkRlY2wgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxWYWxpZGF0ZU5vdGF0aW9uRGVjbF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVmFsaWRhdGVOb3RhdGlvbkRlY2wKK2V4dGVybiBfX3R5cGVvZiAoeG1sVmFsaWRhdGVOb3RhdGlvbkRlY2wpIHhtbFZhbGlkYXRlTm90YXRpb25EZWNsX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVmFsaWRhdGVOb3RhdGlvbkRlY2wgeG1sVmFsaWRhdGVOb3RhdGlvbkRlY2xfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9WQUxJRF9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3ZhbGlkCisjdW5kZWYgeG1sVmFsaWRhdGVOb3RhdGlvblVzZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxWYWxpZGF0ZU5vdGF0aW9uVXNlKSB4bWxWYWxpZGF0ZU5vdGF0aW9uVXNlIF9fYXR0cmlidXRlKChhbGlhcygieG1sVmFsaWRhdGVOb3RhdGlvblVzZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVmFsaWRhdGVOb3RhdGlvblVzZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxWYWxpZGF0ZU5vdGF0aW9uVXNlKSB4bWxWYWxpZGF0ZU5vdGF0aW9uVXNlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVmFsaWRhdGVOb3RhdGlvblVzZSB4bWxWYWxpZGF0ZU5vdGF0aW9uVXNlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVkFMSURfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21fdmFsaWQKKyN1bmRlZiB4bWxWYWxpZGF0ZU9uZUF0dHJpYnV0ZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxWYWxpZGF0ZU9uZUF0dHJpYnV0ZSkgeG1sVmFsaWRhdGVPbmVBdHRyaWJ1dGUgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxWYWxpZGF0ZU9uZUF0dHJpYnV0ZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVmFsaWRhdGVPbmVBdHRyaWJ1dGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sVmFsaWRhdGVPbmVBdHRyaWJ1dGUpIHhtbFZhbGlkYXRlT25lQXR0cmlidXRlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVmFsaWRhdGVPbmVBdHRyaWJ1dGUgeG1sVmFsaWRhdGVPbmVBdHRyaWJ1dGVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9WQUxJRF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV92YWxpZAorI3VuZGVmIHhtbFZhbGlkYXRlT25lRWxlbWVudAorZXh0ZXJuIF9fdHlwZW9mICh4bWxWYWxpZGF0ZU9uZUVsZW1lbnQpIHhtbFZhbGlkYXRlT25lRWxlbWVudCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFZhbGlkYXRlT25lRWxlbWVudF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVmFsaWRhdGVPbmVFbGVtZW50CitleHRlcm4gX190eXBlb2YgKHhtbFZhbGlkYXRlT25lRWxlbWVudCkgeG1sVmFsaWRhdGVPbmVFbGVtZW50X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVmFsaWRhdGVPbmVFbGVtZW50IHhtbFZhbGlkYXRlT25lRWxlbWVudF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1ZBTElEX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3ZhbGlkCisjdW5kZWYgeG1sVmFsaWRhdGVPbmVOYW1lc3BhY2UKK2V4dGVybiBfX3R5cGVvZiAoeG1sVmFsaWRhdGVPbmVOYW1lc3BhY2UpIHhtbFZhbGlkYXRlT25lTmFtZXNwYWNlIF9fYXR0cmlidXRlKChhbGlhcygieG1sVmFsaWRhdGVPbmVOYW1lc3BhY2VfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFZhbGlkYXRlT25lTmFtZXNwYWNlCitleHRlcm4gX190eXBlb2YgKHhtbFZhbGlkYXRlT25lTmFtZXNwYWNlKSB4bWxWYWxpZGF0ZU9uZU5hbWVzcGFjZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFZhbGlkYXRlT25lTmFtZXNwYWNlIHhtbFZhbGlkYXRlT25lTmFtZXNwYWNlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVkFMSURfRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfUkVHRVhQX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3ZhbGlkCisjdW5kZWYgeG1sVmFsaWRhdGVQb3BFbGVtZW50CitleHRlcm4gX190eXBlb2YgKHhtbFZhbGlkYXRlUG9wRWxlbWVudCkgeG1sVmFsaWRhdGVQb3BFbGVtZW50IF9fYXR0cmlidXRlKChhbGlhcygieG1sVmFsaWRhdGVQb3BFbGVtZW50X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxWYWxpZGF0ZVBvcEVsZW1lbnQKK2V4dGVybiBfX3R5cGVvZiAoeG1sVmFsaWRhdGVQb3BFbGVtZW50KSB4bWxWYWxpZGF0ZVBvcEVsZW1lbnRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxWYWxpZGF0ZVBvcEVsZW1lbnQgeG1sVmFsaWRhdGVQb3BFbGVtZW50X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVkFMSURfRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfUkVHRVhQX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3ZhbGlkCisjdW5kZWYgeG1sVmFsaWRhdGVQdXNoQ0RhdGEKK2V4dGVybiBfX3R5cGVvZiAoeG1sVmFsaWRhdGVQdXNoQ0RhdGEpIHhtbFZhbGlkYXRlUHVzaENEYXRhIF9fYXR0cmlidXRlKChhbGlhcygieG1sVmFsaWRhdGVQdXNoQ0RhdGFfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFZhbGlkYXRlUHVzaENEYXRhCitleHRlcm4gX190eXBlb2YgKHhtbFZhbGlkYXRlUHVzaENEYXRhKSB4bWxWYWxpZGF0ZVB1c2hDRGF0YV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFZhbGlkYXRlUHVzaENEYXRhIHhtbFZhbGlkYXRlUHVzaENEYXRhX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVkFMSURfRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfUkVHRVhQX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3ZhbGlkCisjdW5kZWYgeG1sVmFsaWRhdGVQdXNoRWxlbWVudAorZXh0ZXJuIF9fdHlwZW9mICh4bWxWYWxpZGF0ZVB1c2hFbGVtZW50KSB4bWxWYWxpZGF0ZVB1c2hFbGVtZW50IF9fYXR0cmlidXRlKChhbGlhcygieG1sVmFsaWRhdGVQdXNoRWxlbWVudF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVmFsaWRhdGVQdXNoRWxlbWVudAorZXh0ZXJuIF9fdHlwZW9mICh4bWxWYWxpZGF0ZVB1c2hFbGVtZW50KSB4bWxWYWxpZGF0ZVB1c2hFbGVtZW50X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVmFsaWRhdGVQdXNoRWxlbWVudCB4bWxWYWxpZGF0ZVB1c2hFbGVtZW50X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVFJFRV9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3RyZWUKKyN1bmRlZiB4bWxWYWxpZGF0ZVFOYW1lCitleHRlcm4gX190eXBlb2YgKHhtbFZhbGlkYXRlUU5hbWUpIHhtbFZhbGlkYXRlUU5hbWUgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxWYWxpZGF0ZVFOYW1lX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxWYWxpZGF0ZVFOYW1lCitleHRlcm4gX190eXBlb2YgKHhtbFZhbGlkYXRlUU5hbWUpIHhtbFZhbGlkYXRlUU5hbWVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxWYWxpZGF0ZVFOYW1lIHhtbFZhbGlkYXRlUU5hbWVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9WQUxJRF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV92YWxpZAorI3VuZGVmIHhtbFZhbGlkYXRlUm9vdAorZXh0ZXJuIF9fdHlwZW9mICh4bWxWYWxpZGF0ZVJvb3QpIHhtbFZhbGlkYXRlUm9vdCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFZhbGlkYXRlUm9vdF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sVmFsaWRhdGVSb290CitleHRlcm4gX190eXBlb2YgKHhtbFZhbGlkYXRlUm9vdCkgeG1sVmFsaWRhdGVSb290X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sVmFsaWRhdGVSb290IHhtbFZhbGlkYXRlUm9vdF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1hJTkNMVURFX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3hpbmNsdWRlCisjdW5kZWYgeG1sWEluY2x1ZGVGcmVlQ29udGV4dAorZXh0ZXJuIF9fdHlwZW9mICh4bWxYSW5jbHVkZUZyZWVDb250ZXh0KSB4bWxYSW5jbHVkZUZyZWVDb250ZXh0IF9fYXR0cmlidXRlKChhbGlhcygieG1sWEluY2x1ZGVGcmVlQ29udGV4dF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sWEluY2x1ZGVGcmVlQ29udGV4dAorZXh0ZXJuIF9fdHlwZW9mICh4bWxYSW5jbHVkZUZyZWVDb250ZXh0KSB4bWxYSW5jbHVkZUZyZWVDb250ZXh0X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sWEluY2x1ZGVGcmVlQ29udGV4dCB4bWxYSW5jbHVkZUZyZWVDb250ZXh0X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfWElOQ0xVREVfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feGluY2x1ZGUKKyN1bmRlZiB4bWxYSW5jbHVkZU5ld0NvbnRleHQKK2V4dGVybiBfX3R5cGVvZiAoeG1sWEluY2x1ZGVOZXdDb250ZXh0KSB4bWxYSW5jbHVkZU5ld0NvbnRleHQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxYSW5jbHVkZU5ld0NvbnRleHRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhJbmNsdWRlTmV3Q29udGV4dAorZXh0ZXJuIF9fdHlwZW9mICh4bWxYSW5jbHVkZU5ld0NvbnRleHQpIHhtbFhJbmNsdWRlTmV3Q29udGV4dF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhJbmNsdWRlTmV3Q29udGV4dCB4bWxYSW5jbHVkZU5ld0NvbnRleHRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9YSU5DTFVERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94aW5jbHVkZQorI3VuZGVmIHhtbFhJbmNsdWRlUHJvY2VzcworZXh0ZXJuIF9fdHlwZW9mICh4bWxYSW5jbHVkZVByb2Nlc3MpIHhtbFhJbmNsdWRlUHJvY2VzcyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFhJbmNsdWRlUHJvY2Vzc19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sWEluY2x1ZGVQcm9jZXNzCitleHRlcm4gX190eXBlb2YgKHhtbFhJbmNsdWRlUHJvY2VzcykgeG1sWEluY2x1ZGVQcm9jZXNzX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sWEluY2x1ZGVQcm9jZXNzIHhtbFhJbmNsdWRlUHJvY2Vzc19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1hJTkNMVURFX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3hpbmNsdWRlCisjdW5kZWYgeG1sWEluY2x1ZGVQcm9jZXNzRmxhZ3MKK2V4dGVybiBfX3R5cGVvZiAoeG1sWEluY2x1ZGVQcm9jZXNzRmxhZ3MpIHhtbFhJbmNsdWRlUHJvY2Vzc0ZsYWdzIF9fYXR0cmlidXRlKChhbGlhcygieG1sWEluY2x1ZGVQcm9jZXNzRmxhZ3NfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhJbmNsdWRlUHJvY2Vzc0ZsYWdzCitleHRlcm4gX190eXBlb2YgKHhtbFhJbmNsdWRlUHJvY2Vzc0ZsYWdzKSB4bWxYSW5jbHVkZVByb2Nlc3NGbGFnc19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhJbmNsdWRlUHJvY2Vzc0ZsYWdzIHhtbFhJbmNsdWRlUHJvY2Vzc0ZsYWdzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfWElOQ0xVREVfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feGluY2x1ZGUKKyN1bmRlZiB4bWxYSW5jbHVkZVByb2Nlc3NGbGFnc0RhdGEKK2V4dGVybiBfX3R5cGVvZiAoeG1sWEluY2x1ZGVQcm9jZXNzRmxhZ3NEYXRhKSB4bWxYSW5jbHVkZVByb2Nlc3NGbGFnc0RhdGEgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxYSW5jbHVkZVByb2Nlc3NGbGFnc0RhdGFfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhJbmNsdWRlUHJvY2Vzc0ZsYWdzRGF0YQorZXh0ZXJuIF9fdHlwZW9mICh4bWxYSW5jbHVkZVByb2Nlc3NGbGFnc0RhdGEpIHhtbFhJbmNsdWRlUHJvY2Vzc0ZsYWdzRGF0YV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhJbmNsdWRlUHJvY2Vzc0ZsYWdzRGF0YSB4bWxYSW5jbHVkZVByb2Nlc3NGbGFnc0RhdGFfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9YSU5DTFVERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94aW5jbHVkZQorI3VuZGVmIHhtbFhJbmNsdWRlUHJvY2Vzc05vZGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sWEluY2x1ZGVQcm9jZXNzTm9kZSkgeG1sWEluY2x1ZGVQcm9jZXNzTm9kZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFhJbmNsdWRlUHJvY2Vzc05vZGVfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhJbmNsdWRlUHJvY2Vzc05vZGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sWEluY2x1ZGVQcm9jZXNzTm9kZSkgeG1sWEluY2x1ZGVQcm9jZXNzTm9kZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhJbmNsdWRlUHJvY2Vzc05vZGUgeG1sWEluY2x1ZGVQcm9jZXNzTm9kZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1hJTkNMVURFX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3hpbmNsdWRlCisjdW5kZWYgeG1sWEluY2x1ZGVQcm9jZXNzVHJlZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxYSW5jbHVkZVByb2Nlc3NUcmVlKSB4bWxYSW5jbHVkZVByb2Nlc3NUcmVlIF9fYXR0cmlidXRlKChhbGlhcygieG1sWEluY2x1ZGVQcm9jZXNzVHJlZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sWEluY2x1ZGVQcm9jZXNzVHJlZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxYSW5jbHVkZVByb2Nlc3NUcmVlKSB4bWxYSW5jbHVkZVByb2Nlc3NUcmVlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sWEluY2x1ZGVQcm9jZXNzVHJlZSB4bWxYSW5jbHVkZVByb2Nlc3NUcmVlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfWElOQ0xVREVfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feGluY2x1ZGUKKyN1bmRlZiB4bWxYSW5jbHVkZVByb2Nlc3NUcmVlRmxhZ3MKK2V4dGVybiBfX3R5cGVvZiAoeG1sWEluY2x1ZGVQcm9jZXNzVHJlZUZsYWdzKSB4bWxYSW5jbHVkZVByb2Nlc3NUcmVlRmxhZ3MgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxYSW5jbHVkZVByb2Nlc3NUcmVlRmxhZ3NfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhJbmNsdWRlUHJvY2Vzc1RyZWVGbGFncworZXh0ZXJuIF9fdHlwZW9mICh4bWxYSW5jbHVkZVByb2Nlc3NUcmVlRmxhZ3MpIHhtbFhJbmNsdWRlUHJvY2Vzc1RyZWVGbGFnc19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhJbmNsdWRlUHJvY2Vzc1RyZWVGbGFncyB4bWxYSW5jbHVkZVByb2Nlc3NUcmVlRmxhZ3NfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9YSU5DTFVERV9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94aW5jbHVkZQorI3VuZGVmIHhtbFhJbmNsdWRlUHJvY2Vzc1RyZWVGbGFnc0RhdGEKK2V4dGVybiBfX3R5cGVvZiAoeG1sWEluY2x1ZGVQcm9jZXNzVHJlZUZsYWdzRGF0YSkgeG1sWEluY2x1ZGVQcm9jZXNzVHJlZUZsYWdzRGF0YSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFhJbmNsdWRlUHJvY2Vzc1RyZWVGbGFnc0RhdGFfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhJbmNsdWRlUHJvY2Vzc1RyZWVGbGFnc0RhdGEKK2V4dGVybiBfX3R5cGVvZiAoeG1sWEluY2x1ZGVQcm9jZXNzVHJlZUZsYWdzRGF0YSkgeG1sWEluY2x1ZGVQcm9jZXNzVHJlZUZsYWdzRGF0YV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhJbmNsdWRlUHJvY2Vzc1RyZWVGbGFnc0RhdGEgeG1sWEluY2x1ZGVQcm9jZXNzVHJlZUZsYWdzRGF0YV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1hJTkNMVURFX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3hpbmNsdWRlCisjdW5kZWYgeG1sWEluY2x1ZGVTZXRGbGFncworZXh0ZXJuIF9fdHlwZW9mICh4bWxYSW5jbHVkZVNldEZsYWdzKSB4bWxYSW5jbHVkZVNldEZsYWdzIF9fYXR0cmlidXRlKChhbGlhcygieG1sWEluY2x1ZGVTZXRGbGFnc19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sWEluY2x1ZGVTZXRGbGFncworZXh0ZXJuIF9fdHlwZW9mICh4bWxYSW5jbHVkZVNldEZsYWdzKSB4bWxYSW5jbHVkZVNldEZsYWdzX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sWEluY2x1ZGVTZXRGbGFncyB4bWxYSW5jbHVkZVNldEZsYWdzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feHBhdGgKKyN1bmRlZiB4bWxYUGF0aEFkZFZhbHVlcworZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aEFkZFZhbHVlcykgeG1sWFBhdGhBZGRWYWx1ZXMgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxYUGF0aEFkZFZhbHVlc19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sWFBhdGhBZGRWYWx1ZXMKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhBZGRWYWx1ZXMpIHhtbFhQYXRoQWRkVmFsdWVzX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sWFBhdGhBZGRWYWx1ZXMgeG1sWFBhdGhBZGRWYWx1ZXNfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94cGF0aAorI3VuZGVmIHhtbFhQYXRoQm9vbGVhbkZ1bmN0aW9uCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoQm9vbGVhbkZ1bmN0aW9uKSB4bWxYUGF0aEJvb2xlYW5GdW5jdGlvbiBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFhQYXRoQm9vbGVhbkZ1bmN0aW9uX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxYUGF0aEJvb2xlYW5GdW5jdGlvbgorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aEJvb2xlYW5GdW5jdGlvbikgeG1sWFBhdGhCb29sZWFuRnVuY3Rpb25fX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxYUGF0aEJvb2xlYW5GdW5jdGlvbiB4bWxYUGF0aEJvb2xlYW5GdW5jdGlvbl9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3hwYXRoCisjdW5kZWYgeG1sWFBhdGhDYXN0Qm9vbGVhblRvTnVtYmVyCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoQ2FzdEJvb2xlYW5Ub051bWJlcikgeG1sWFBhdGhDYXN0Qm9vbGVhblRvTnVtYmVyIF9fYXR0cmlidXRlKChhbGlhcygieG1sWFBhdGhDYXN0Qm9vbGVhblRvTnVtYmVyX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxYUGF0aENhc3RCb29sZWFuVG9OdW1iZXIKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhDYXN0Qm9vbGVhblRvTnVtYmVyKSB4bWxYUGF0aENhc3RCb29sZWFuVG9OdW1iZXJfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxYUGF0aENhc3RCb29sZWFuVG9OdW1iZXIgeG1sWFBhdGhDYXN0Qm9vbGVhblRvTnVtYmVyX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feHBhdGgKKyN1bmRlZiB4bWxYUGF0aENhc3RCb29sZWFuVG9TdHJpbmcKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhDYXN0Qm9vbGVhblRvU3RyaW5nKSB4bWxYUGF0aENhc3RCb29sZWFuVG9TdHJpbmcgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxYUGF0aENhc3RCb29sZWFuVG9TdHJpbmdfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQYXRoQ2FzdEJvb2xlYW5Ub1N0cmluZworZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aENhc3RCb29sZWFuVG9TdHJpbmcpIHhtbFhQYXRoQ2FzdEJvb2xlYW5Ub1N0cmluZ19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQYXRoQ2FzdEJvb2xlYW5Ub1N0cmluZyB4bWxYUGF0aENhc3RCb29sZWFuVG9TdHJpbmdfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94cGF0aAorI3VuZGVmIHhtbFhQYXRoQ2FzdE5vZGVTZXRUb0Jvb2xlYW4KK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhDYXN0Tm9kZVNldFRvQm9vbGVhbikgeG1sWFBhdGhDYXN0Tm9kZVNldFRvQm9vbGVhbiBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFhQYXRoQ2FzdE5vZGVTZXRUb0Jvb2xlYW5fX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQYXRoQ2FzdE5vZGVTZXRUb0Jvb2xlYW4KK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhDYXN0Tm9kZVNldFRvQm9vbGVhbikgeG1sWFBhdGhDYXN0Tm9kZVNldFRvQm9vbGVhbl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQYXRoQ2FzdE5vZGVTZXRUb0Jvb2xlYW4geG1sWFBhdGhDYXN0Tm9kZVNldFRvQm9vbGVhbl9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3hwYXRoCisjdW5kZWYgeG1sWFBhdGhDYXN0Tm9kZVNldFRvTnVtYmVyCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoQ2FzdE5vZGVTZXRUb051bWJlcikgeG1sWFBhdGhDYXN0Tm9kZVNldFRvTnVtYmVyIF9fYXR0cmlidXRlKChhbGlhcygieG1sWFBhdGhDYXN0Tm9kZVNldFRvTnVtYmVyX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxYUGF0aENhc3ROb2RlU2V0VG9OdW1iZXIKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhDYXN0Tm9kZVNldFRvTnVtYmVyKSB4bWxYUGF0aENhc3ROb2RlU2V0VG9OdW1iZXJfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxYUGF0aENhc3ROb2RlU2V0VG9OdW1iZXIgeG1sWFBhdGhDYXN0Tm9kZVNldFRvTnVtYmVyX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feHBhdGgKKyN1bmRlZiB4bWxYUGF0aENhc3ROb2RlU2V0VG9TdHJpbmcKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhDYXN0Tm9kZVNldFRvU3RyaW5nKSB4bWxYUGF0aENhc3ROb2RlU2V0VG9TdHJpbmcgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxYUGF0aENhc3ROb2RlU2V0VG9TdHJpbmdfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQYXRoQ2FzdE5vZGVTZXRUb1N0cmluZworZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aENhc3ROb2RlU2V0VG9TdHJpbmcpIHhtbFhQYXRoQ2FzdE5vZGVTZXRUb1N0cmluZ19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQYXRoQ2FzdE5vZGVTZXRUb1N0cmluZyB4bWxYUGF0aENhc3ROb2RlU2V0VG9TdHJpbmdfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94cGF0aAorI3VuZGVmIHhtbFhQYXRoQ2FzdE5vZGVUb051bWJlcgorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aENhc3ROb2RlVG9OdW1iZXIpIHhtbFhQYXRoQ2FzdE5vZGVUb051bWJlciBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFhQYXRoQ2FzdE5vZGVUb051bWJlcl9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sWFBhdGhDYXN0Tm9kZVRvTnVtYmVyCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoQ2FzdE5vZGVUb051bWJlcikgeG1sWFBhdGhDYXN0Tm9kZVRvTnVtYmVyX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sWFBhdGhDYXN0Tm9kZVRvTnVtYmVyIHhtbFhQYXRoQ2FzdE5vZGVUb051bWJlcl9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3hwYXRoCisjdW5kZWYgeG1sWFBhdGhDYXN0Tm9kZVRvU3RyaW5nCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoQ2FzdE5vZGVUb1N0cmluZykgeG1sWFBhdGhDYXN0Tm9kZVRvU3RyaW5nIF9fYXR0cmlidXRlKChhbGlhcygieG1sWFBhdGhDYXN0Tm9kZVRvU3RyaW5nX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxYUGF0aENhc3ROb2RlVG9TdHJpbmcKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhDYXN0Tm9kZVRvU3RyaW5nKSB4bWxYUGF0aENhc3ROb2RlVG9TdHJpbmdfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxYUGF0aENhc3ROb2RlVG9TdHJpbmcgeG1sWFBhdGhDYXN0Tm9kZVRvU3RyaW5nX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feHBhdGgKKyN1bmRlZiB4bWxYUGF0aENhc3ROdW1iZXJUb0Jvb2xlYW4KK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhDYXN0TnVtYmVyVG9Cb29sZWFuKSB4bWxYUGF0aENhc3ROdW1iZXJUb0Jvb2xlYW4gX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxYUGF0aENhc3ROdW1iZXJUb0Jvb2xlYW5fX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQYXRoQ2FzdE51bWJlclRvQm9vbGVhbgorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aENhc3ROdW1iZXJUb0Jvb2xlYW4pIHhtbFhQYXRoQ2FzdE51bWJlclRvQm9vbGVhbl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQYXRoQ2FzdE51bWJlclRvQm9vbGVhbiB4bWxYUGF0aENhc3ROdW1iZXJUb0Jvb2xlYW5fX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94cGF0aAorI3VuZGVmIHhtbFhQYXRoQ2FzdE51bWJlclRvU3RyaW5nCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoQ2FzdE51bWJlclRvU3RyaW5nKSB4bWxYUGF0aENhc3ROdW1iZXJUb1N0cmluZyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFhQYXRoQ2FzdE51bWJlclRvU3RyaW5nX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxYUGF0aENhc3ROdW1iZXJUb1N0cmluZworZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aENhc3ROdW1iZXJUb1N0cmluZykgeG1sWFBhdGhDYXN0TnVtYmVyVG9TdHJpbmdfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxYUGF0aENhc3ROdW1iZXJUb1N0cmluZyB4bWxYUGF0aENhc3ROdW1iZXJUb1N0cmluZ19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3hwYXRoCisjdW5kZWYgeG1sWFBhdGhDYXN0U3RyaW5nVG9Cb29sZWFuCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoQ2FzdFN0cmluZ1RvQm9vbGVhbikgeG1sWFBhdGhDYXN0U3RyaW5nVG9Cb29sZWFuIF9fYXR0cmlidXRlKChhbGlhcygieG1sWFBhdGhDYXN0U3RyaW5nVG9Cb29sZWFuX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxYUGF0aENhc3RTdHJpbmdUb0Jvb2xlYW4KK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhDYXN0U3RyaW5nVG9Cb29sZWFuKSB4bWxYUGF0aENhc3RTdHJpbmdUb0Jvb2xlYW5fX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxYUGF0aENhc3RTdHJpbmdUb0Jvb2xlYW4geG1sWFBhdGhDYXN0U3RyaW5nVG9Cb29sZWFuX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feHBhdGgKKyN1bmRlZiB4bWxYUGF0aENhc3RTdHJpbmdUb051bWJlcgorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aENhc3RTdHJpbmdUb051bWJlcikgeG1sWFBhdGhDYXN0U3RyaW5nVG9OdW1iZXIgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxYUGF0aENhc3RTdHJpbmdUb051bWJlcl9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sWFBhdGhDYXN0U3RyaW5nVG9OdW1iZXIKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhDYXN0U3RyaW5nVG9OdW1iZXIpIHhtbFhQYXRoQ2FzdFN0cmluZ1RvTnVtYmVyX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sWFBhdGhDYXN0U3RyaW5nVG9OdW1iZXIgeG1sWFBhdGhDYXN0U3RyaW5nVG9OdW1iZXJfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94cGF0aAorI3VuZGVmIHhtbFhQYXRoQ2FzdFRvQm9vbGVhbgorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aENhc3RUb0Jvb2xlYW4pIHhtbFhQYXRoQ2FzdFRvQm9vbGVhbiBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFhQYXRoQ2FzdFRvQm9vbGVhbl9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sWFBhdGhDYXN0VG9Cb29sZWFuCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoQ2FzdFRvQm9vbGVhbikgeG1sWFBhdGhDYXN0VG9Cb29sZWFuX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sWFBhdGhDYXN0VG9Cb29sZWFuIHhtbFhQYXRoQ2FzdFRvQm9vbGVhbl9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3hwYXRoCisjdW5kZWYgeG1sWFBhdGhDYXN0VG9OdW1iZXIKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhDYXN0VG9OdW1iZXIpIHhtbFhQYXRoQ2FzdFRvTnVtYmVyIF9fYXR0cmlidXRlKChhbGlhcygieG1sWFBhdGhDYXN0VG9OdW1iZXJfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQYXRoQ2FzdFRvTnVtYmVyCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoQ2FzdFRvTnVtYmVyKSB4bWxYUGF0aENhc3RUb051bWJlcl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQYXRoQ2FzdFRvTnVtYmVyIHhtbFhQYXRoQ2FzdFRvTnVtYmVyX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feHBhdGgKKyN1bmRlZiB4bWxYUGF0aENhc3RUb1N0cmluZworZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aENhc3RUb1N0cmluZykgeG1sWFBhdGhDYXN0VG9TdHJpbmcgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxYUGF0aENhc3RUb1N0cmluZ19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sWFBhdGhDYXN0VG9TdHJpbmcKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhDYXN0VG9TdHJpbmcpIHhtbFhQYXRoQ2FzdFRvU3RyaW5nX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sWFBhdGhDYXN0VG9TdHJpbmcgeG1sWFBhdGhDYXN0VG9TdHJpbmdfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94cGF0aAorI3VuZGVmIHhtbFhQYXRoQ2VpbGluZ0Z1bmN0aW9uCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoQ2VpbGluZ0Z1bmN0aW9uKSB4bWxYUGF0aENlaWxpbmdGdW5jdGlvbiBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFhQYXRoQ2VpbGluZ0Z1bmN0aW9uX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxYUGF0aENlaWxpbmdGdW5jdGlvbgorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aENlaWxpbmdGdW5jdGlvbikgeG1sWFBhdGhDZWlsaW5nRnVuY3Rpb25fX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxYUGF0aENlaWxpbmdGdW5jdGlvbiB4bWxYUGF0aENlaWxpbmdGdW5jdGlvbl9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3hwYXRoCisjdW5kZWYgeG1sWFBhdGhDbXBOb2RlcworZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aENtcE5vZGVzKSB4bWxYUGF0aENtcE5vZGVzIF9fYXR0cmlidXRlKChhbGlhcygieG1sWFBhdGhDbXBOb2Rlc19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sWFBhdGhDbXBOb2RlcworZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aENtcE5vZGVzKSB4bWxYUGF0aENtcE5vZGVzX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sWFBhdGhDbXBOb2RlcyB4bWxYUGF0aENtcE5vZGVzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feHBhdGgKKyN1bmRlZiB4bWxYUGF0aENvbXBhcmVWYWx1ZXMKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhDb21wYXJlVmFsdWVzKSB4bWxYUGF0aENvbXBhcmVWYWx1ZXMgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxYUGF0aENvbXBhcmVWYWx1ZXNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQYXRoQ29tcGFyZVZhbHVlcworZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aENvbXBhcmVWYWx1ZXMpIHhtbFhQYXRoQ29tcGFyZVZhbHVlc19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQYXRoQ29tcGFyZVZhbHVlcyB4bWxYUGF0aENvbXBhcmVWYWx1ZXNfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94cGF0aAorI3VuZGVmIHhtbFhQYXRoQ29tcGlsZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aENvbXBpbGUpIHhtbFhQYXRoQ29tcGlsZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFhQYXRoQ29tcGlsZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sWFBhdGhDb21waWxlCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoQ29tcGlsZSkgeG1sWFBhdGhDb21waWxlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sWFBhdGhDb21waWxlIHhtbFhQYXRoQ29tcGlsZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3hwYXRoCisjdW5kZWYgeG1sWFBhdGhDb21waWxlZEV2YWwKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhDb21waWxlZEV2YWwpIHhtbFhQYXRoQ29tcGlsZWRFdmFsIF9fYXR0cmlidXRlKChhbGlhcygieG1sWFBhdGhDb21waWxlZEV2YWxfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQYXRoQ29tcGlsZWRFdmFsCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoQ29tcGlsZWRFdmFsKSB4bWxYUGF0aENvbXBpbGVkRXZhbF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQYXRoQ29tcGlsZWRFdmFsIHhtbFhQYXRoQ29tcGlsZWRFdmFsX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feHBhdGgKKyN1bmRlZiB4bWxYUGF0aENvbXBpbGVkRXZhbFRvQm9vbGVhbgorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aENvbXBpbGVkRXZhbFRvQm9vbGVhbikgeG1sWFBhdGhDb21waWxlZEV2YWxUb0Jvb2xlYW4gX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxYUGF0aENvbXBpbGVkRXZhbFRvQm9vbGVhbl9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sWFBhdGhDb21waWxlZEV2YWxUb0Jvb2xlYW4KK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhDb21waWxlZEV2YWxUb0Jvb2xlYW4pIHhtbFhQYXRoQ29tcGlsZWRFdmFsVG9Cb29sZWFuX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sWFBhdGhDb21waWxlZEV2YWxUb0Jvb2xlYW4geG1sWFBhdGhDb21waWxlZEV2YWxUb0Jvb2xlYW5fX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94cGF0aAorI3VuZGVmIHhtbFhQYXRoQ29uY2F0RnVuY3Rpb24KK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhDb25jYXRGdW5jdGlvbikgeG1sWFBhdGhDb25jYXRGdW5jdGlvbiBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFhQYXRoQ29uY2F0RnVuY3Rpb25fX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQYXRoQ29uY2F0RnVuY3Rpb24KK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhDb25jYXRGdW5jdGlvbikgeG1sWFBhdGhDb25jYXRGdW5jdGlvbl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQYXRoQ29uY2F0RnVuY3Rpb24geG1sWFBhdGhDb25jYXRGdW5jdGlvbl9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3hwYXRoCisjdW5kZWYgeG1sWFBhdGhDb250YWluc0Z1bmN0aW9uCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoQ29udGFpbnNGdW5jdGlvbikgeG1sWFBhdGhDb250YWluc0Z1bmN0aW9uIF9fYXR0cmlidXRlKChhbGlhcygieG1sWFBhdGhDb250YWluc0Z1bmN0aW9uX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxYUGF0aENvbnRhaW5zRnVuY3Rpb24KK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhDb250YWluc0Z1bmN0aW9uKSB4bWxYUGF0aENvbnRhaW5zRnVuY3Rpb25fX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxYUGF0aENvbnRhaW5zRnVuY3Rpb24geG1sWFBhdGhDb250YWluc0Z1bmN0aW9uX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feHBhdGgKKyN1bmRlZiB4bWxYUGF0aENvbnRleHRTZXRDYWNoZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aENvbnRleHRTZXRDYWNoZSkgeG1sWFBhdGhDb250ZXh0U2V0Q2FjaGUgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxYUGF0aENvbnRleHRTZXRDYWNoZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sWFBhdGhDb250ZXh0U2V0Q2FjaGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhDb250ZXh0U2V0Q2FjaGUpIHhtbFhQYXRoQ29udGV4dFNldENhY2hlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sWFBhdGhDb250ZXh0U2V0Q2FjaGUgeG1sWFBhdGhDb250ZXh0U2V0Q2FjaGVfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94cGF0aAorI3VuZGVmIHhtbFhQYXRoQ29udmVydEJvb2xlYW4KK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhDb252ZXJ0Qm9vbGVhbikgeG1sWFBhdGhDb252ZXJ0Qm9vbGVhbiBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFhQYXRoQ29udmVydEJvb2xlYW5fX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQYXRoQ29udmVydEJvb2xlYW4KK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhDb252ZXJ0Qm9vbGVhbikgeG1sWFBhdGhDb252ZXJ0Qm9vbGVhbl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQYXRoQ29udmVydEJvb2xlYW4geG1sWFBhdGhDb252ZXJ0Qm9vbGVhbl9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3hwYXRoCisjdW5kZWYgeG1sWFBhdGhDb252ZXJ0TnVtYmVyCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoQ29udmVydE51bWJlcikgeG1sWFBhdGhDb252ZXJ0TnVtYmVyIF9fYXR0cmlidXRlKChhbGlhcygieG1sWFBhdGhDb252ZXJ0TnVtYmVyX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxYUGF0aENvbnZlcnROdW1iZXIKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhDb252ZXJ0TnVtYmVyKSB4bWxYUGF0aENvbnZlcnROdW1iZXJfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxYUGF0aENvbnZlcnROdW1iZXIgeG1sWFBhdGhDb252ZXJ0TnVtYmVyX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feHBhdGgKKyN1bmRlZiB4bWxYUGF0aENvbnZlcnRTdHJpbmcKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhDb252ZXJ0U3RyaW5nKSB4bWxYUGF0aENvbnZlcnRTdHJpbmcgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxYUGF0aENvbnZlcnRTdHJpbmdfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQYXRoQ29udmVydFN0cmluZworZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aENvbnZlcnRTdHJpbmcpIHhtbFhQYXRoQ29udmVydFN0cmluZ19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQYXRoQ29udmVydFN0cmluZyB4bWxYUGF0aENvbnZlcnRTdHJpbmdfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94cGF0aAorI3VuZGVmIHhtbFhQYXRoQ291bnRGdW5jdGlvbgorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aENvdW50RnVuY3Rpb24pIHhtbFhQYXRoQ291bnRGdW5jdGlvbiBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFhQYXRoQ291bnRGdW5jdGlvbl9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sWFBhdGhDb3VudEZ1bmN0aW9uCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoQ291bnRGdW5jdGlvbikgeG1sWFBhdGhDb3VudEZ1bmN0aW9uX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sWFBhdGhDb3VudEZ1bmN0aW9uIHhtbFhQYXRoQ291bnRGdW5jdGlvbl9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3hwYXRoCisjdW5kZWYgeG1sWFBhdGhDdHh0Q29tcGlsZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aEN0eHRDb21waWxlKSB4bWxYUGF0aEN0eHRDb21waWxlIF9fYXR0cmlidXRlKChhbGlhcygieG1sWFBhdGhDdHh0Q29tcGlsZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sWFBhdGhDdHh0Q29tcGlsZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aEN0eHRDb21waWxlKSB4bWxYUGF0aEN0eHRDb21waWxlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sWFBhdGhDdHh0Q29tcGlsZSB4bWxYUGF0aEN0eHRDb21waWxlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfREVCVUdfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feHBhdGgKKyN1bmRlZiB4bWxYUGF0aERlYnVnRHVtcENvbXBFeHByCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoRGVidWdEdW1wQ29tcEV4cHIpIHhtbFhQYXRoRGVidWdEdW1wQ29tcEV4cHIgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxYUGF0aERlYnVnRHVtcENvbXBFeHByX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxYUGF0aERlYnVnRHVtcENvbXBFeHByCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoRGVidWdEdW1wQ29tcEV4cHIpIHhtbFhQYXRoRGVidWdEdW1wQ29tcEV4cHJfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxYUGF0aERlYnVnRHVtcENvbXBFeHByIHhtbFhQYXRoRGVidWdEdW1wQ29tcEV4cHJfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKSAmJiBkZWZpbmVkKExJQlhNTF9ERUJVR19FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94cGF0aAorI3VuZGVmIHhtbFhQYXRoRGVidWdEdW1wT2JqZWN0CitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoRGVidWdEdW1wT2JqZWN0KSB4bWxYUGF0aERlYnVnRHVtcE9iamVjdCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFhQYXRoRGVidWdEdW1wT2JqZWN0X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxYUGF0aERlYnVnRHVtcE9iamVjdAorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aERlYnVnRHVtcE9iamVjdCkgeG1sWFBhdGhEZWJ1Z0R1bXBPYmplY3RfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxYUGF0aERlYnVnRHVtcE9iamVjdCB4bWxYUGF0aERlYnVnRHVtcE9iamVjdF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3hwYXRoCisjdW5kZWYgeG1sWFBhdGhEaWZmZXJlbmNlCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoRGlmZmVyZW5jZSkgeG1sWFBhdGhEaWZmZXJlbmNlIF9fYXR0cmlidXRlKChhbGlhcygieG1sWFBhdGhEaWZmZXJlbmNlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxYUGF0aERpZmZlcmVuY2UKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhEaWZmZXJlbmNlKSB4bWxYUGF0aERpZmZlcmVuY2VfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxYUGF0aERpZmZlcmVuY2UgeG1sWFBhdGhEaWZmZXJlbmNlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feHBhdGgKKyN1bmRlZiB4bWxYUGF0aERpc3RpbmN0CitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoRGlzdGluY3QpIHhtbFhQYXRoRGlzdGluY3QgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxYUGF0aERpc3RpbmN0X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxYUGF0aERpc3RpbmN0CitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoRGlzdGluY3QpIHhtbFhQYXRoRGlzdGluY3RfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxYUGF0aERpc3RpbmN0IHhtbFhQYXRoRGlzdGluY3RfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94cGF0aAorI3VuZGVmIHhtbFhQYXRoRGlzdGluY3RTb3J0ZWQKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhEaXN0aW5jdFNvcnRlZCkgeG1sWFBhdGhEaXN0aW5jdFNvcnRlZCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFhQYXRoRGlzdGluY3RTb3J0ZWRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQYXRoRGlzdGluY3RTb3J0ZWQKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhEaXN0aW5jdFNvcnRlZCkgeG1sWFBhdGhEaXN0aW5jdFNvcnRlZF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQYXRoRGlzdGluY3RTb3J0ZWQgeG1sWFBhdGhEaXN0aW5jdFNvcnRlZF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3hwYXRoCisjdW5kZWYgeG1sWFBhdGhEaXZWYWx1ZXMKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhEaXZWYWx1ZXMpIHhtbFhQYXRoRGl2VmFsdWVzIF9fYXR0cmlidXRlKChhbGlhcygieG1sWFBhdGhEaXZWYWx1ZXNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQYXRoRGl2VmFsdWVzCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoRGl2VmFsdWVzKSB4bWxYUGF0aERpdlZhbHVlc19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQYXRoRGl2VmFsdWVzIHhtbFhQYXRoRGl2VmFsdWVzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feHBhdGgKKyN1bmRlZiB4bWxYUGF0aEVxdWFsVmFsdWVzCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoRXF1YWxWYWx1ZXMpIHhtbFhQYXRoRXF1YWxWYWx1ZXMgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxYUGF0aEVxdWFsVmFsdWVzX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxYUGF0aEVxdWFsVmFsdWVzCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoRXF1YWxWYWx1ZXMpIHhtbFhQYXRoRXF1YWxWYWx1ZXNfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxYUGF0aEVxdWFsVmFsdWVzIHhtbFhQYXRoRXF1YWxWYWx1ZXNfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94cGF0aAorI3VuZGVmIHhtbFhQYXRoRXJyCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoRXJyKSB4bWxYUGF0aEVyciBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFhQYXRoRXJyX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxYUGF0aEVycgorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aEVycikgeG1sWFBhdGhFcnJfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxYUGF0aEVyciB4bWxYUGF0aEVycl9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3hwYXRoCisjdW5kZWYgeG1sWFBhdGhFdmFsCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoRXZhbCkgeG1sWFBhdGhFdmFsIF9fYXR0cmlidXRlKChhbGlhcygieG1sWFBhdGhFdmFsX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxYUGF0aEV2YWwKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhFdmFsKSB4bWxYUGF0aEV2YWxfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxYUGF0aEV2YWwgeG1sWFBhdGhFdmFsX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feHBhdGgKKyN1bmRlZiB4bWxYUGF0aEV2YWxFeHByCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoRXZhbEV4cHIpIHhtbFhQYXRoRXZhbEV4cHIgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxYUGF0aEV2YWxFeHByX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxYUGF0aEV2YWxFeHByCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoRXZhbEV4cHIpIHhtbFhQYXRoRXZhbEV4cHJfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxYUGF0aEV2YWxFeHByIHhtbFhQYXRoRXZhbEV4cHJfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94cGF0aAorI3VuZGVmIHhtbFhQYXRoRXZhbEV4cHJlc3Npb24KK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhFdmFsRXhwcmVzc2lvbikgeG1sWFBhdGhFdmFsRXhwcmVzc2lvbiBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFhQYXRoRXZhbEV4cHJlc3Npb25fX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQYXRoRXZhbEV4cHJlc3Npb24KK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhFdmFsRXhwcmVzc2lvbikgeG1sWFBhdGhFdmFsRXhwcmVzc2lvbl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQYXRoRXZhbEV4cHJlc3Npb24geG1sWFBhdGhFdmFsRXhwcmVzc2lvbl9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3hwYXRoCisjdW5kZWYgeG1sWFBhdGhFdmFsUHJlZGljYXRlCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoRXZhbFByZWRpY2F0ZSkgeG1sWFBhdGhFdmFsUHJlZGljYXRlIF9fYXR0cmlidXRlKChhbGlhcygieG1sWFBhdGhFdmFsUHJlZGljYXRlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxYUGF0aEV2YWxQcmVkaWNhdGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhFdmFsUHJlZGljYXRlKSB4bWxYUGF0aEV2YWxQcmVkaWNhdGVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxYUGF0aEV2YWxQcmVkaWNhdGUgeG1sWFBhdGhFdmFsUHJlZGljYXRlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feHBhdGgKKyN1bmRlZiB4bWxYUGF0aEV2YWx1YXRlUHJlZGljYXRlUmVzdWx0CitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoRXZhbHVhdGVQcmVkaWNhdGVSZXN1bHQpIHhtbFhQYXRoRXZhbHVhdGVQcmVkaWNhdGVSZXN1bHQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxYUGF0aEV2YWx1YXRlUHJlZGljYXRlUmVzdWx0X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxYUGF0aEV2YWx1YXRlUHJlZGljYXRlUmVzdWx0CitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoRXZhbHVhdGVQcmVkaWNhdGVSZXN1bHQpIHhtbFhQYXRoRXZhbHVhdGVQcmVkaWNhdGVSZXN1bHRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxYUGF0aEV2YWx1YXRlUHJlZGljYXRlUmVzdWx0IHhtbFhQYXRoRXZhbHVhdGVQcmVkaWNhdGVSZXN1bHRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94cGF0aAorI3VuZGVmIHhtbFhQYXRoRmFsc2VGdW5jdGlvbgorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aEZhbHNlRnVuY3Rpb24pIHhtbFhQYXRoRmFsc2VGdW5jdGlvbiBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFhQYXRoRmFsc2VGdW5jdGlvbl9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sWFBhdGhGYWxzZUZ1bmN0aW9uCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoRmFsc2VGdW5jdGlvbikgeG1sWFBhdGhGYWxzZUZ1bmN0aW9uX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sWFBhdGhGYWxzZUZ1bmN0aW9uIHhtbFhQYXRoRmFsc2VGdW5jdGlvbl9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3hwYXRoCisjdW5kZWYgeG1sWFBhdGhGbG9vckZ1bmN0aW9uCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoRmxvb3JGdW5jdGlvbikgeG1sWFBhdGhGbG9vckZ1bmN0aW9uIF9fYXR0cmlidXRlKChhbGlhcygieG1sWFBhdGhGbG9vckZ1bmN0aW9uX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxYUGF0aEZsb29yRnVuY3Rpb24KK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhGbG9vckZ1bmN0aW9uKSB4bWxYUGF0aEZsb29yRnVuY3Rpb25fX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxYUGF0aEZsb29yRnVuY3Rpb24geG1sWFBhdGhGbG9vckZ1bmN0aW9uX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feHBhdGgKKyN1bmRlZiB4bWxYUGF0aEZyZWVDb21wRXhwcgorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aEZyZWVDb21wRXhwcikgeG1sWFBhdGhGcmVlQ29tcEV4cHIgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxYUGF0aEZyZWVDb21wRXhwcl9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sWFBhdGhGcmVlQ29tcEV4cHIKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhGcmVlQ29tcEV4cHIpIHhtbFhQYXRoRnJlZUNvbXBFeHByX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sWFBhdGhGcmVlQ29tcEV4cHIgeG1sWFBhdGhGcmVlQ29tcEV4cHJfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94cGF0aAorI3VuZGVmIHhtbFhQYXRoRnJlZUNvbnRleHQKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhGcmVlQ29udGV4dCkgeG1sWFBhdGhGcmVlQ29udGV4dCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFhQYXRoRnJlZUNvbnRleHRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQYXRoRnJlZUNvbnRleHQKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhGcmVlQ29udGV4dCkgeG1sWFBhdGhGcmVlQ29udGV4dF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQYXRoRnJlZUNvbnRleHQgeG1sWFBhdGhGcmVlQ29udGV4dF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3hwYXRoCisjdW5kZWYgeG1sWFBhdGhGcmVlTm9kZVNldAorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aEZyZWVOb2RlU2V0KSB4bWxYUGF0aEZyZWVOb2RlU2V0IF9fYXR0cmlidXRlKChhbGlhcygieG1sWFBhdGhGcmVlTm9kZVNldF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sWFBhdGhGcmVlTm9kZVNldAorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aEZyZWVOb2RlU2V0KSB4bWxYUGF0aEZyZWVOb2RlU2V0X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sWFBhdGhGcmVlTm9kZVNldCB4bWxYUGF0aEZyZWVOb2RlU2V0X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feHBhdGgKKyN1bmRlZiB4bWxYUGF0aEZyZWVOb2RlU2V0TGlzdAorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aEZyZWVOb2RlU2V0TGlzdCkgeG1sWFBhdGhGcmVlTm9kZVNldExpc3QgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxYUGF0aEZyZWVOb2RlU2V0TGlzdF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sWFBhdGhGcmVlTm9kZVNldExpc3QKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhGcmVlTm9kZVNldExpc3QpIHhtbFhQYXRoRnJlZU5vZGVTZXRMaXN0X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sWFBhdGhGcmVlTm9kZVNldExpc3QgeG1sWFBhdGhGcmVlTm9kZVNldExpc3RfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94cGF0aAorI3VuZGVmIHhtbFhQYXRoRnJlZU9iamVjdAorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aEZyZWVPYmplY3QpIHhtbFhQYXRoRnJlZU9iamVjdCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFhQYXRoRnJlZU9iamVjdF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sWFBhdGhGcmVlT2JqZWN0CitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoRnJlZU9iamVjdCkgeG1sWFBhdGhGcmVlT2JqZWN0X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sWFBhdGhGcmVlT2JqZWN0IHhtbFhQYXRoRnJlZU9iamVjdF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3hwYXRoCisjdW5kZWYgeG1sWFBhdGhGcmVlUGFyc2VyQ29udGV4dAorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aEZyZWVQYXJzZXJDb250ZXh0KSB4bWxYUGF0aEZyZWVQYXJzZXJDb250ZXh0IF9fYXR0cmlidXRlKChhbGlhcygieG1sWFBhdGhGcmVlUGFyc2VyQ29udGV4dF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sWFBhdGhGcmVlUGFyc2VyQ29udGV4dAorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aEZyZWVQYXJzZXJDb250ZXh0KSB4bWxYUGF0aEZyZWVQYXJzZXJDb250ZXh0X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sWFBhdGhGcmVlUGFyc2VyQ29udGV4dCB4bWxYUGF0aEZyZWVQYXJzZXJDb250ZXh0X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feHBhdGgKKyN1bmRlZiB4bWxYUGF0aEZ1bmN0aW9uTG9va3VwCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoRnVuY3Rpb25Mb29rdXApIHhtbFhQYXRoRnVuY3Rpb25Mb29rdXAgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxYUGF0aEZ1bmN0aW9uTG9va3VwX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxYUGF0aEZ1bmN0aW9uTG9va3VwCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoRnVuY3Rpb25Mb29rdXApIHhtbFhQYXRoRnVuY3Rpb25Mb29rdXBfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxYUGF0aEZ1bmN0aW9uTG9va3VwIHhtbFhQYXRoRnVuY3Rpb25Mb29rdXBfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94cGF0aAorI3VuZGVmIHhtbFhQYXRoRnVuY3Rpb25Mb29rdXBOUworZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aEZ1bmN0aW9uTG9va3VwTlMpIHhtbFhQYXRoRnVuY3Rpb25Mb29rdXBOUyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFhQYXRoRnVuY3Rpb25Mb29rdXBOU19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sWFBhdGhGdW5jdGlvbkxvb2t1cE5TCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoRnVuY3Rpb25Mb29rdXBOUykgeG1sWFBhdGhGdW5jdGlvbkxvb2t1cE5TX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sWFBhdGhGdW5jdGlvbkxvb2t1cE5TIHhtbFhQYXRoRnVuY3Rpb25Mb29rdXBOU19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3hwYXRoCisjdW5kZWYgeG1sWFBhdGhIYXNTYW1lTm9kZXMKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhIYXNTYW1lTm9kZXMpIHhtbFhQYXRoSGFzU2FtZU5vZGVzIF9fYXR0cmlidXRlKChhbGlhcygieG1sWFBhdGhIYXNTYW1lTm9kZXNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQYXRoSGFzU2FtZU5vZGVzCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoSGFzU2FtZU5vZGVzKSB4bWxYUGF0aEhhc1NhbWVOb2Rlc19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQYXRoSGFzU2FtZU5vZGVzIHhtbFhQYXRoSGFzU2FtZU5vZGVzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feHBhdGgKKyN1bmRlZiB4bWxYUGF0aElkRnVuY3Rpb24KK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhJZEZ1bmN0aW9uKSB4bWxYUGF0aElkRnVuY3Rpb24gX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxYUGF0aElkRnVuY3Rpb25fX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQYXRoSWRGdW5jdGlvbgorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aElkRnVuY3Rpb24pIHhtbFhQYXRoSWRGdW5jdGlvbl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQYXRoSWRGdW5jdGlvbiB4bWxYUGF0aElkRnVuY3Rpb25fX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3hwYXRoCisjdW5kZWYgeG1sWFBhdGhJbml0CitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoSW5pdCkgeG1sWFBhdGhJbml0IF9fYXR0cmlidXRlKChhbGlhcygieG1sWFBhdGhJbml0X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxYUGF0aEluaXQKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhJbml0KSB4bWxYUGF0aEluaXRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxYUGF0aEluaXQgeG1sWFBhdGhJbml0X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feHBhdGgKKyN1bmRlZiB4bWxYUGF0aEludGVyc2VjdGlvbgorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aEludGVyc2VjdGlvbikgeG1sWFBhdGhJbnRlcnNlY3Rpb24gX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxYUGF0aEludGVyc2VjdGlvbl9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sWFBhdGhJbnRlcnNlY3Rpb24KK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhJbnRlcnNlY3Rpb24pIHhtbFhQYXRoSW50ZXJzZWN0aW9uX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sWFBhdGhJbnRlcnNlY3Rpb24geG1sWFBhdGhJbnRlcnNlY3Rpb25fX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3hwYXRoCisjdW5kZWYgeG1sWFBhdGhJc0luZgorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aElzSW5mKSB4bWxYUGF0aElzSW5mIF9fYXR0cmlidXRlKChhbGlhcygieG1sWFBhdGhJc0luZl9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sWFBhdGhJc0luZgorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aElzSW5mKSB4bWxYUGF0aElzSW5mX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sWFBhdGhJc0luZiB4bWxYUGF0aElzSW5mX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94cGF0aAorI3VuZGVmIHhtbFhQYXRoSXNOYU4KK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhJc05hTikgeG1sWFBhdGhJc05hTiBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFhQYXRoSXNOYU5fX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQYXRoSXNOYU4KK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhJc05hTikgeG1sWFBhdGhJc05hTl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQYXRoSXNOYU4geG1sWFBhdGhJc05hTl9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3hwYXRoCisjdW5kZWYgeG1sWFBhdGhJc05vZGVUeXBlCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoSXNOb2RlVHlwZSkgeG1sWFBhdGhJc05vZGVUeXBlIF9fYXR0cmlidXRlKChhbGlhcygieG1sWFBhdGhJc05vZGVUeXBlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxYUGF0aElzTm9kZVR5cGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhJc05vZGVUeXBlKSB4bWxYUGF0aElzTm9kZVR5cGVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxYUGF0aElzTm9kZVR5cGUgeG1sWFBhdGhJc05vZGVUeXBlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feHBhdGgKKyN1bmRlZiB4bWxYUGF0aExhbmdGdW5jdGlvbgorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aExhbmdGdW5jdGlvbikgeG1sWFBhdGhMYW5nRnVuY3Rpb24gX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxYUGF0aExhbmdGdW5jdGlvbl9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sWFBhdGhMYW5nRnVuY3Rpb24KK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhMYW5nRnVuY3Rpb24pIHhtbFhQYXRoTGFuZ0Z1bmN0aW9uX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sWFBhdGhMYW5nRnVuY3Rpb24geG1sWFBhdGhMYW5nRnVuY3Rpb25fX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94cGF0aAorI3VuZGVmIHhtbFhQYXRoTGFzdEZ1bmN0aW9uCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoTGFzdEZ1bmN0aW9uKSB4bWxYUGF0aExhc3RGdW5jdGlvbiBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFhQYXRoTGFzdEZ1bmN0aW9uX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxYUGF0aExhc3RGdW5jdGlvbgorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aExhc3RGdW5jdGlvbikgeG1sWFBhdGhMYXN0RnVuY3Rpb25fX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxYUGF0aExhc3RGdW5jdGlvbiB4bWxYUGF0aExhc3RGdW5jdGlvbl9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3hwYXRoCisjdW5kZWYgeG1sWFBhdGhMZWFkaW5nCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoTGVhZGluZykgeG1sWFBhdGhMZWFkaW5nIF9fYXR0cmlidXRlKChhbGlhcygieG1sWFBhdGhMZWFkaW5nX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxYUGF0aExlYWRpbmcKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhMZWFkaW5nKSB4bWxYUGF0aExlYWRpbmdfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxYUGF0aExlYWRpbmcgeG1sWFBhdGhMZWFkaW5nX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feHBhdGgKKyN1bmRlZiB4bWxYUGF0aExlYWRpbmdTb3J0ZWQKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhMZWFkaW5nU29ydGVkKSB4bWxYUGF0aExlYWRpbmdTb3J0ZWQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxYUGF0aExlYWRpbmdTb3J0ZWRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQYXRoTGVhZGluZ1NvcnRlZAorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aExlYWRpbmdTb3J0ZWQpIHhtbFhQYXRoTGVhZGluZ1NvcnRlZF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQYXRoTGVhZGluZ1NvcnRlZCB4bWxYUGF0aExlYWRpbmdTb3J0ZWRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94cGF0aAorI3VuZGVmIHhtbFhQYXRoTG9jYWxOYW1lRnVuY3Rpb24KK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhMb2NhbE5hbWVGdW5jdGlvbikgeG1sWFBhdGhMb2NhbE5hbWVGdW5jdGlvbiBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFhQYXRoTG9jYWxOYW1lRnVuY3Rpb25fX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQYXRoTG9jYWxOYW1lRnVuY3Rpb24KK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhMb2NhbE5hbWVGdW5jdGlvbikgeG1sWFBhdGhMb2NhbE5hbWVGdW5jdGlvbl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQYXRoTG9jYWxOYW1lRnVuY3Rpb24geG1sWFBhdGhMb2NhbE5hbWVGdW5jdGlvbl9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3hwYXRoCisjdW5kZWYgeG1sWFBhdGhNb2RWYWx1ZXMKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhNb2RWYWx1ZXMpIHhtbFhQYXRoTW9kVmFsdWVzIF9fYXR0cmlidXRlKChhbGlhcygieG1sWFBhdGhNb2RWYWx1ZXNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQYXRoTW9kVmFsdWVzCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoTW9kVmFsdWVzKSB4bWxYUGF0aE1vZFZhbHVlc19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQYXRoTW9kVmFsdWVzIHhtbFhQYXRoTW9kVmFsdWVzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feHBhdGgKKyN1bmRlZiB4bWxYUGF0aE11bHRWYWx1ZXMKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhNdWx0VmFsdWVzKSB4bWxYUGF0aE11bHRWYWx1ZXMgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxYUGF0aE11bHRWYWx1ZXNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQYXRoTXVsdFZhbHVlcworZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aE11bHRWYWx1ZXMpIHhtbFhQYXRoTXVsdFZhbHVlc19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQYXRoTXVsdFZhbHVlcyB4bWxYUGF0aE11bHRWYWx1ZXNfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94cGF0aAorI3VuZGVmIHhtbFhQYXRoTmFtZXNwYWNlVVJJRnVuY3Rpb24KK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhOYW1lc3BhY2VVUklGdW5jdGlvbikgeG1sWFBhdGhOYW1lc3BhY2VVUklGdW5jdGlvbiBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFhQYXRoTmFtZXNwYWNlVVJJRnVuY3Rpb25fX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQYXRoTmFtZXNwYWNlVVJJRnVuY3Rpb24KK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhOYW1lc3BhY2VVUklGdW5jdGlvbikgeG1sWFBhdGhOYW1lc3BhY2VVUklGdW5jdGlvbl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQYXRoTmFtZXNwYWNlVVJJRnVuY3Rpb24geG1sWFBhdGhOYW1lc3BhY2VVUklGdW5jdGlvbl9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3hwYXRoCisjdW5kZWYgeG1sWFBhdGhOZXdCb29sZWFuCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoTmV3Qm9vbGVhbikgeG1sWFBhdGhOZXdCb29sZWFuIF9fYXR0cmlidXRlKChhbGlhcygieG1sWFBhdGhOZXdCb29sZWFuX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxYUGF0aE5ld0Jvb2xlYW4KK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhOZXdCb29sZWFuKSB4bWxYUGF0aE5ld0Jvb2xlYW5fX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxYUGF0aE5ld0Jvb2xlYW4geG1sWFBhdGhOZXdCb29sZWFuX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feHBhdGgKKyN1bmRlZiB4bWxYUGF0aE5ld0NTdHJpbmcKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhOZXdDU3RyaW5nKSB4bWxYUGF0aE5ld0NTdHJpbmcgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxYUGF0aE5ld0NTdHJpbmdfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQYXRoTmV3Q1N0cmluZworZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aE5ld0NTdHJpbmcpIHhtbFhQYXRoTmV3Q1N0cmluZ19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQYXRoTmV3Q1N0cmluZyB4bWxYUGF0aE5ld0NTdHJpbmdfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94cGF0aAorI3VuZGVmIHhtbFhQYXRoTmV3Q29udGV4dAorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aE5ld0NvbnRleHQpIHhtbFhQYXRoTmV3Q29udGV4dCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFhQYXRoTmV3Q29udGV4dF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sWFBhdGhOZXdDb250ZXh0CitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoTmV3Q29udGV4dCkgeG1sWFBhdGhOZXdDb250ZXh0X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sWFBhdGhOZXdDb250ZXh0IHhtbFhQYXRoTmV3Q29udGV4dF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3hwYXRoCisjdW5kZWYgeG1sWFBhdGhOZXdGbG9hdAorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aE5ld0Zsb2F0KSB4bWxYUGF0aE5ld0Zsb2F0IF9fYXR0cmlidXRlKChhbGlhcygieG1sWFBhdGhOZXdGbG9hdF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sWFBhdGhOZXdGbG9hdAorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aE5ld0Zsb2F0KSB4bWxYUGF0aE5ld0Zsb2F0X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sWFBhdGhOZXdGbG9hdCB4bWxYUGF0aE5ld0Zsb2F0X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feHBhdGgKKyN1bmRlZiB4bWxYUGF0aE5ld05vZGVTZXQKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhOZXdOb2RlU2V0KSB4bWxYUGF0aE5ld05vZGVTZXQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxYUGF0aE5ld05vZGVTZXRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQYXRoTmV3Tm9kZVNldAorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aE5ld05vZGVTZXQpIHhtbFhQYXRoTmV3Tm9kZVNldF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQYXRoTmV3Tm9kZVNldCB4bWxYUGF0aE5ld05vZGVTZXRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94cGF0aAorI3VuZGVmIHhtbFhQYXRoTmV3Tm9kZVNldExpc3QKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhOZXdOb2RlU2V0TGlzdCkgeG1sWFBhdGhOZXdOb2RlU2V0TGlzdCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFhQYXRoTmV3Tm9kZVNldExpc3RfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQYXRoTmV3Tm9kZVNldExpc3QKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhOZXdOb2RlU2V0TGlzdCkgeG1sWFBhdGhOZXdOb2RlU2V0TGlzdF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQYXRoTmV3Tm9kZVNldExpc3QgeG1sWFBhdGhOZXdOb2RlU2V0TGlzdF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3hwYXRoCisjdW5kZWYgeG1sWFBhdGhOZXdQYXJzZXJDb250ZXh0CitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoTmV3UGFyc2VyQ29udGV4dCkgeG1sWFBhdGhOZXdQYXJzZXJDb250ZXh0IF9fYXR0cmlidXRlKChhbGlhcygieG1sWFBhdGhOZXdQYXJzZXJDb250ZXh0X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxYUGF0aE5ld1BhcnNlckNvbnRleHQKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhOZXdQYXJzZXJDb250ZXh0KSB4bWxYUGF0aE5ld1BhcnNlckNvbnRleHRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxYUGF0aE5ld1BhcnNlckNvbnRleHQgeG1sWFBhdGhOZXdQYXJzZXJDb250ZXh0X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feHBhdGgKKyN1bmRlZiB4bWxYUGF0aE5ld1N0cmluZworZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aE5ld1N0cmluZykgeG1sWFBhdGhOZXdTdHJpbmcgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxYUGF0aE5ld1N0cmluZ19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sWFBhdGhOZXdTdHJpbmcKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhOZXdTdHJpbmcpIHhtbFhQYXRoTmV3U3RyaW5nX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sWFBhdGhOZXdTdHJpbmcgeG1sWFBhdGhOZXdTdHJpbmdfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94cGF0aAorI3VuZGVmIHhtbFhQYXRoTmV3VmFsdWVUcmVlCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoTmV3VmFsdWVUcmVlKSB4bWxYUGF0aE5ld1ZhbHVlVHJlZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFhQYXRoTmV3VmFsdWVUcmVlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxYUGF0aE5ld1ZhbHVlVHJlZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aE5ld1ZhbHVlVHJlZSkgeG1sWFBhdGhOZXdWYWx1ZVRyZWVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxYUGF0aE5ld1ZhbHVlVHJlZSB4bWxYUGF0aE5ld1ZhbHVlVHJlZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3hwYXRoCisjdW5kZWYgeG1sWFBhdGhOZXh0QW5jZXN0b3IKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhOZXh0QW5jZXN0b3IpIHhtbFhQYXRoTmV4dEFuY2VzdG9yIF9fYXR0cmlidXRlKChhbGlhcygieG1sWFBhdGhOZXh0QW5jZXN0b3JfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQYXRoTmV4dEFuY2VzdG9yCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoTmV4dEFuY2VzdG9yKSB4bWxYUGF0aE5leHRBbmNlc3Rvcl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQYXRoTmV4dEFuY2VzdG9yIHhtbFhQYXRoTmV4dEFuY2VzdG9yX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feHBhdGgKKyN1bmRlZiB4bWxYUGF0aE5leHRBbmNlc3Rvck9yU2VsZgorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aE5leHRBbmNlc3Rvck9yU2VsZikgeG1sWFBhdGhOZXh0QW5jZXN0b3JPclNlbGYgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxYUGF0aE5leHRBbmNlc3Rvck9yU2VsZl9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sWFBhdGhOZXh0QW5jZXN0b3JPclNlbGYKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhOZXh0QW5jZXN0b3JPclNlbGYpIHhtbFhQYXRoTmV4dEFuY2VzdG9yT3JTZWxmX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sWFBhdGhOZXh0QW5jZXN0b3JPclNlbGYgeG1sWFBhdGhOZXh0QW5jZXN0b3JPclNlbGZfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94cGF0aAorI3VuZGVmIHhtbFhQYXRoTmV4dEF0dHJpYnV0ZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aE5leHRBdHRyaWJ1dGUpIHhtbFhQYXRoTmV4dEF0dHJpYnV0ZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFhQYXRoTmV4dEF0dHJpYnV0ZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sWFBhdGhOZXh0QXR0cmlidXRlCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoTmV4dEF0dHJpYnV0ZSkgeG1sWFBhdGhOZXh0QXR0cmlidXRlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sWFBhdGhOZXh0QXR0cmlidXRlIHhtbFhQYXRoTmV4dEF0dHJpYnV0ZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3hwYXRoCisjdW5kZWYgeG1sWFBhdGhOZXh0Q2hpbGQKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhOZXh0Q2hpbGQpIHhtbFhQYXRoTmV4dENoaWxkIF9fYXR0cmlidXRlKChhbGlhcygieG1sWFBhdGhOZXh0Q2hpbGRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQYXRoTmV4dENoaWxkCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoTmV4dENoaWxkKSB4bWxYUGF0aE5leHRDaGlsZF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQYXRoTmV4dENoaWxkIHhtbFhQYXRoTmV4dENoaWxkX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feHBhdGgKKyN1bmRlZiB4bWxYUGF0aE5leHREZXNjZW5kYW50CitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoTmV4dERlc2NlbmRhbnQpIHhtbFhQYXRoTmV4dERlc2NlbmRhbnQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxYUGF0aE5leHREZXNjZW5kYW50X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxYUGF0aE5leHREZXNjZW5kYW50CitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoTmV4dERlc2NlbmRhbnQpIHhtbFhQYXRoTmV4dERlc2NlbmRhbnRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxYUGF0aE5leHREZXNjZW5kYW50IHhtbFhQYXRoTmV4dERlc2NlbmRhbnRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94cGF0aAorI3VuZGVmIHhtbFhQYXRoTmV4dERlc2NlbmRhbnRPclNlbGYKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhOZXh0RGVzY2VuZGFudE9yU2VsZikgeG1sWFBhdGhOZXh0RGVzY2VuZGFudE9yU2VsZiBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFhQYXRoTmV4dERlc2NlbmRhbnRPclNlbGZfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQYXRoTmV4dERlc2NlbmRhbnRPclNlbGYKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhOZXh0RGVzY2VuZGFudE9yU2VsZikgeG1sWFBhdGhOZXh0RGVzY2VuZGFudE9yU2VsZl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQYXRoTmV4dERlc2NlbmRhbnRPclNlbGYgeG1sWFBhdGhOZXh0RGVzY2VuZGFudE9yU2VsZl9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3hwYXRoCisjdW5kZWYgeG1sWFBhdGhOZXh0Rm9sbG93aW5nCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoTmV4dEZvbGxvd2luZykgeG1sWFBhdGhOZXh0Rm9sbG93aW5nIF9fYXR0cmlidXRlKChhbGlhcygieG1sWFBhdGhOZXh0Rm9sbG93aW5nX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxYUGF0aE5leHRGb2xsb3dpbmcKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhOZXh0Rm9sbG93aW5nKSB4bWxYUGF0aE5leHRGb2xsb3dpbmdfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxYUGF0aE5leHRGb2xsb3dpbmcgeG1sWFBhdGhOZXh0Rm9sbG93aW5nX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feHBhdGgKKyN1bmRlZiB4bWxYUGF0aE5leHRGb2xsb3dpbmdTaWJsaW5nCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoTmV4dEZvbGxvd2luZ1NpYmxpbmcpIHhtbFhQYXRoTmV4dEZvbGxvd2luZ1NpYmxpbmcgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxYUGF0aE5leHRGb2xsb3dpbmdTaWJsaW5nX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxYUGF0aE5leHRGb2xsb3dpbmdTaWJsaW5nCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoTmV4dEZvbGxvd2luZ1NpYmxpbmcpIHhtbFhQYXRoTmV4dEZvbGxvd2luZ1NpYmxpbmdfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxYUGF0aE5leHRGb2xsb3dpbmdTaWJsaW5nIHhtbFhQYXRoTmV4dEZvbGxvd2luZ1NpYmxpbmdfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94cGF0aAorI3VuZGVmIHhtbFhQYXRoTmV4dE5hbWVzcGFjZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aE5leHROYW1lc3BhY2UpIHhtbFhQYXRoTmV4dE5hbWVzcGFjZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFhQYXRoTmV4dE5hbWVzcGFjZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sWFBhdGhOZXh0TmFtZXNwYWNlCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoTmV4dE5hbWVzcGFjZSkgeG1sWFBhdGhOZXh0TmFtZXNwYWNlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sWFBhdGhOZXh0TmFtZXNwYWNlIHhtbFhQYXRoTmV4dE5hbWVzcGFjZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3hwYXRoCisjdW5kZWYgeG1sWFBhdGhOZXh0UGFyZW50CitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoTmV4dFBhcmVudCkgeG1sWFBhdGhOZXh0UGFyZW50IF9fYXR0cmlidXRlKChhbGlhcygieG1sWFBhdGhOZXh0UGFyZW50X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxYUGF0aE5leHRQYXJlbnQKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhOZXh0UGFyZW50KSB4bWxYUGF0aE5leHRQYXJlbnRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxYUGF0aE5leHRQYXJlbnQgeG1sWFBhdGhOZXh0UGFyZW50X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feHBhdGgKKyN1bmRlZiB4bWxYUGF0aE5leHRQcmVjZWRpbmcKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhOZXh0UHJlY2VkaW5nKSB4bWxYUGF0aE5leHRQcmVjZWRpbmcgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxYUGF0aE5leHRQcmVjZWRpbmdfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQYXRoTmV4dFByZWNlZGluZworZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aE5leHRQcmVjZWRpbmcpIHhtbFhQYXRoTmV4dFByZWNlZGluZ19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQYXRoTmV4dFByZWNlZGluZyB4bWxYUGF0aE5leHRQcmVjZWRpbmdfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94cGF0aAorI3VuZGVmIHhtbFhQYXRoTmV4dFByZWNlZGluZ1NpYmxpbmcKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhOZXh0UHJlY2VkaW5nU2libGluZykgeG1sWFBhdGhOZXh0UHJlY2VkaW5nU2libGluZyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFhQYXRoTmV4dFByZWNlZGluZ1NpYmxpbmdfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQYXRoTmV4dFByZWNlZGluZ1NpYmxpbmcKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhOZXh0UHJlY2VkaW5nU2libGluZykgeG1sWFBhdGhOZXh0UHJlY2VkaW5nU2libGluZ19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQYXRoTmV4dFByZWNlZGluZ1NpYmxpbmcgeG1sWFBhdGhOZXh0UHJlY2VkaW5nU2libGluZ19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3hwYXRoCisjdW5kZWYgeG1sWFBhdGhOZXh0U2VsZgorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aE5leHRTZWxmKSB4bWxYUGF0aE5leHRTZWxmIF9fYXR0cmlidXRlKChhbGlhcygieG1sWFBhdGhOZXh0U2VsZl9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sWFBhdGhOZXh0U2VsZgorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aE5leHRTZWxmKSB4bWxYUGF0aE5leHRTZWxmX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sWFBhdGhOZXh0U2VsZiB4bWxYUGF0aE5leHRTZWxmX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feHBhdGgKKyN1bmRlZiB4bWxYUGF0aE5vZGVFdmFsCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoTm9kZUV2YWwpIHhtbFhQYXRoTm9kZUV2YWwgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxYUGF0aE5vZGVFdmFsX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxYUGF0aE5vZGVFdmFsCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoTm9kZUV2YWwpIHhtbFhQYXRoTm9kZUV2YWxfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxYUGF0aE5vZGVFdmFsIHhtbFhQYXRoTm9kZUV2YWxfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94cGF0aAorI3VuZGVmIHhtbFhQYXRoTm9kZUxlYWRpbmcKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhOb2RlTGVhZGluZykgeG1sWFBhdGhOb2RlTGVhZGluZyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFhQYXRoTm9kZUxlYWRpbmdfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQYXRoTm9kZUxlYWRpbmcKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhOb2RlTGVhZGluZykgeG1sWFBhdGhOb2RlTGVhZGluZ19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQYXRoTm9kZUxlYWRpbmcgeG1sWFBhdGhOb2RlTGVhZGluZ19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3hwYXRoCisjdW5kZWYgeG1sWFBhdGhOb2RlTGVhZGluZ1NvcnRlZAorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aE5vZGVMZWFkaW5nU29ydGVkKSB4bWxYUGF0aE5vZGVMZWFkaW5nU29ydGVkIF9fYXR0cmlidXRlKChhbGlhcygieG1sWFBhdGhOb2RlTGVhZGluZ1NvcnRlZF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sWFBhdGhOb2RlTGVhZGluZ1NvcnRlZAorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aE5vZGVMZWFkaW5nU29ydGVkKSB4bWxYUGF0aE5vZGVMZWFkaW5nU29ydGVkX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sWFBhdGhOb2RlTGVhZGluZ1NvcnRlZCB4bWxYUGF0aE5vZGVMZWFkaW5nU29ydGVkX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feHBhdGgKKyN1bmRlZiB4bWxYUGF0aE5vZGVTZXRBZGQKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhOb2RlU2V0QWRkKSB4bWxYUGF0aE5vZGVTZXRBZGQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxYUGF0aE5vZGVTZXRBZGRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQYXRoTm9kZVNldEFkZAorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aE5vZGVTZXRBZGQpIHhtbFhQYXRoTm9kZVNldEFkZF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQYXRoTm9kZVNldEFkZCB4bWxYUGF0aE5vZGVTZXRBZGRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94cGF0aAorI3VuZGVmIHhtbFhQYXRoTm9kZVNldEFkZE5zCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoTm9kZVNldEFkZE5zKSB4bWxYUGF0aE5vZGVTZXRBZGROcyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFhQYXRoTm9kZVNldEFkZE5zX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxYUGF0aE5vZGVTZXRBZGROcworZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aE5vZGVTZXRBZGROcykgeG1sWFBhdGhOb2RlU2V0QWRkTnNfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxYUGF0aE5vZGVTZXRBZGROcyB4bWxYUGF0aE5vZGVTZXRBZGROc19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3hwYXRoCisjdW5kZWYgeG1sWFBhdGhOb2RlU2V0QWRkVW5pcXVlCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoTm9kZVNldEFkZFVuaXF1ZSkgeG1sWFBhdGhOb2RlU2V0QWRkVW5pcXVlIF9fYXR0cmlidXRlKChhbGlhcygieG1sWFBhdGhOb2RlU2V0QWRkVW5pcXVlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxYUGF0aE5vZGVTZXRBZGRVbmlxdWUKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhOb2RlU2V0QWRkVW5pcXVlKSB4bWxYUGF0aE5vZGVTZXRBZGRVbmlxdWVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxYUGF0aE5vZGVTZXRBZGRVbmlxdWUgeG1sWFBhdGhOb2RlU2V0QWRkVW5pcXVlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feHBhdGgKKyN1bmRlZiB4bWxYUGF0aE5vZGVTZXRDb250YWlucworZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aE5vZGVTZXRDb250YWlucykgeG1sWFBhdGhOb2RlU2V0Q29udGFpbnMgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxYUGF0aE5vZGVTZXRDb250YWluc19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sWFBhdGhOb2RlU2V0Q29udGFpbnMKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhOb2RlU2V0Q29udGFpbnMpIHhtbFhQYXRoTm9kZVNldENvbnRhaW5zX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sWFBhdGhOb2RlU2V0Q29udGFpbnMgeG1sWFBhdGhOb2RlU2V0Q29udGFpbnNfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94cGF0aAorI3VuZGVmIHhtbFhQYXRoTm9kZVNldENyZWF0ZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aE5vZGVTZXRDcmVhdGUpIHhtbFhQYXRoTm9kZVNldENyZWF0ZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFhQYXRoTm9kZVNldENyZWF0ZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sWFBhdGhOb2RlU2V0Q3JlYXRlCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoTm9kZVNldENyZWF0ZSkgeG1sWFBhdGhOb2RlU2V0Q3JlYXRlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sWFBhdGhOb2RlU2V0Q3JlYXRlIHhtbFhQYXRoTm9kZVNldENyZWF0ZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3hwYXRoCisjdW5kZWYgeG1sWFBhdGhOb2RlU2V0RGVsCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoTm9kZVNldERlbCkgeG1sWFBhdGhOb2RlU2V0RGVsIF9fYXR0cmlidXRlKChhbGlhcygieG1sWFBhdGhOb2RlU2V0RGVsX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxYUGF0aE5vZGVTZXREZWwKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhOb2RlU2V0RGVsKSB4bWxYUGF0aE5vZGVTZXREZWxfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxYUGF0aE5vZGVTZXREZWwgeG1sWFBhdGhOb2RlU2V0RGVsX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feHBhdGgKKyN1bmRlZiB4bWxYUGF0aE5vZGVTZXRGcmVlTnMKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhOb2RlU2V0RnJlZU5zKSB4bWxYUGF0aE5vZGVTZXRGcmVlTnMgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxYUGF0aE5vZGVTZXRGcmVlTnNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQYXRoTm9kZVNldEZyZWVOcworZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aE5vZGVTZXRGcmVlTnMpIHhtbFhQYXRoTm9kZVNldEZyZWVOc19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQYXRoTm9kZVNldEZyZWVOcyB4bWxYUGF0aE5vZGVTZXRGcmVlTnNfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94cGF0aAorI3VuZGVmIHhtbFhQYXRoTm9kZVNldE1lcmdlCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoTm9kZVNldE1lcmdlKSB4bWxYUGF0aE5vZGVTZXRNZXJnZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFhQYXRoTm9kZVNldE1lcmdlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxYUGF0aE5vZGVTZXRNZXJnZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aE5vZGVTZXRNZXJnZSkgeG1sWFBhdGhOb2RlU2V0TWVyZ2VfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxYUGF0aE5vZGVTZXRNZXJnZSB4bWxYUGF0aE5vZGVTZXRNZXJnZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3hwYXRoCisjdW5kZWYgeG1sWFBhdGhOb2RlU2V0UmVtb3ZlCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoTm9kZVNldFJlbW92ZSkgeG1sWFBhdGhOb2RlU2V0UmVtb3ZlIF9fYXR0cmlidXRlKChhbGlhcygieG1sWFBhdGhOb2RlU2V0UmVtb3ZlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxYUGF0aE5vZGVTZXRSZW1vdmUKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhOb2RlU2V0UmVtb3ZlKSB4bWxYUGF0aE5vZGVTZXRSZW1vdmVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxYUGF0aE5vZGVTZXRSZW1vdmUgeG1sWFBhdGhOb2RlU2V0UmVtb3ZlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feHBhdGgKKyN1bmRlZiB4bWxYUGF0aE5vZGVTZXRTb3J0CitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoTm9kZVNldFNvcnQpIHhtbFhQYXRoTm9kZVNldFNvcnQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxYUGF0aE5vZGVTZXRTb3J0X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxYUGF0aE5vZGVTZXRTb3J0CitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoTm9kZVNldFNvcnQpIHhtbFhQYXRoTm9kZVNldFNvcnRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxYUGF0aE5vZGVTZXRTb3J0IHhtbFhQYXRoTm9kZVNldFNvcnRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94cGF0aAorI3VuZGVmIHhtbFhQYXRoTm9kZVRyYWlsaW5nCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoTm9kZVRyYWlsaW5nKSB4bWxYUGF0aE5vZGVUcmFpbGluZyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFhQYXRoTm9kZVRyYWlsaW5nX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxYUGF0aE5vZGVUcmFpbGluZworZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aE5vZGVUcmFpbGluZykgeG1sWFBhdGhOb2RlVHJhaWxpbmdfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxYUGF0aE5vZGVUcmFpbGluZyB4bWxYUGF0aE5vZGVUcmFpbGluZ19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3hwYXRoCisjdW5kZWYgeG1sWFBhdGhOb2RlVHJhaWxpbmdTb3J0ZWQKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhOb2RlVHJhaWxpbmdTb3J0ZWQpIHhtbFhQYXRoTm9kZVRyYWlsaW5nU29ydGVkIF9fYXR0cmlidXRlKChhbGlhcygieG1sWFBhdGhOb2RlVHJhaWxpbmdTb3J0ZWRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQYXRoTm9kZVRyYWlsaW5nU29ydGVkCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoTm9kZVRyYWlsaW5nU29ydGVkKSB4bWxYUGF0aE5vZGVUcmFpbGluZ1NvcnRlZF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQYXRoTm9kZVRyYWlsaW5nU29ydGVkIHhtbFhQYXRoTm9kZVRyYWlsaW5nU29ydGVkX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feHBhdGgKKyN1bmRlZiB4bWxYUGF0aE5vcm1hbGl6ZUZ1bmN0aW9uCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoTm9ybWFsaXplRnVuY3Rpb24pIHhtbFhQYXRoTm9ybWFsaXplRnVuY3Rpb24gX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxYUGF0aE5vcm1hbGl6ZUZ1bmN0aW9uX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxYUGF0aE5vcm1hbGl6ZUZ1bmN0aW9uCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoTm9ybWFsaXplRnVuY3Rpb24pIHhtbFhQYXRoTm9ybWFsaXplRnVuY3Rpb25fX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxYUGF0aE5vcm1hbGl6ZUZ1bmN0aW9uIHhtbFhQYXRoTm9ybWFsaXplRnVuY3Rpb25fX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94cGF0aAorI3VuZGVmIHhtbFhQYXRoTm90RXF1YWxWYWx1ZXMKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhOb3RFcXVhbFZhbHVlcykgeG1sWFBhdGhOb3RFcXVhbFZhbHVlcyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFhQYXRoTm90RXF1YWxWYWx1ZXNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQYXRoTm90RXF1YWxWYWx1ZXMKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhOb3RFcXVhbFZhbHVlcykgeG1sWFBhdGhOb3RFcXVhbFZhbHVlc19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQYXRoTm90RXF1YWxWYWx1ZXMgeG1sWFBhdGhOb3RFcXVhbFZhbHVlc19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3hwYXRoCisjdW5kZWYgeG1sWFBhdGhOb3RGdW5jdGlvbgorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aE5vdEZ1bmN0aW9uKSB4bWxYUGF0aE5vdEZ1bmN0aW9uIF9fYXR0cmlidXRlKChhbGlhcygieG1sWFBhdGhOb3RGdW5jdGlvbl9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sWFBhdGhOb3RGdW5jdGlvbgorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aE5vdEZ1bmN0aW9uKSB4bWxYUGF0aE5vdEZ1bmN0aW9uX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sWFBhdGhOb3RGdW5jdGlvbiB4bWxYUGF0aE5vdEZ1bmN0aW9uX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feHBhdGgKKyN1bmRlZiB4bWxYUGF0aE5zTG9va3VwCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoTnNMb29rdXApIHhtbFhQYXRoTnNMb29rdXAgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxYUGF0aE5zTG9va3VwX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxYUGF0aE5zTG9va3VwCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoTnNMb29rdXApIHhtbFhQYXRoTnNMb29rdXBfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxYUGF0aE5zTG9va3VwIHhtbFhQYXRoTnNMb29rdXBfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94cGF0aAorI3VuZGVmIHhtbFhQYXRoTnVtYmVyRnVuY3Rpb24KK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhOdW1iZXJGdW5jdGlvbikgeG1sWFBhdGhOdW1iZXJGdW5jdGlvbiBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFhQYXRoTnVtYmVyRnVuY3Rpb25fX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQYXRoTnVtYmVyRnVuY3Rpb24KK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhOdW1iZXJGdW5jdGlvbikgeG1sWFBhdGhOdW1iZXJGdW5jdGlvbl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQYXRoTnVtYmVyRnVuY3Rpb24geG1sWFBhdGhOdW1iZXJGdW5jdGlvbl9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3hwYXRoCisjdW5kZWYgeG1sWFBhdGhPYmplY3RDb3B5CitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoT2JqZWN0Q29weSkgeG1sWFBhdGhPYmplY3RDb3B5IF9fYXR0cmlidXRlKChhbGlhcygieG1sWFBhdGhPYmplY3RDb3B5X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxYUGF0aE9iamVjdENvcHkKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhPYmplY3RDb3B5KSB4bWxYUGF0aE9iamVjdENvcHlfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxYUGF0aE9iamVjdENvcHkgeG1sWFBhdGhPYmplY3RDb3B5X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feHBhdGgKKyN1bmRlZiB4bWxYUGF0aE9yZGVyRG9jRWxlbXMKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhPcmRlckRvY0VsZW1zKSB4bWxYUGF0aE9yZGVyRG9jRWxlbXMgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxYUGF0aE9yZGVyRG9jRWxlbXNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQYXRoT3JkZXJEb2NFbGVtcworZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aE9yZGVyRG9jRWxlbXMpIHhtbFhQYXRoT3JkZXJEb2NFbGVtc19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQYXRoT3JkZXJEb2NFbGVtcyB4bWxYUGF0aE9yZGVyRG9jRWxlbXNfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94cGF0aAorI3VuZGVmIHhtbFhQYXRoUGFyc2VOQ05hbWUKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhQYXJzZU5DTmFtZSkgeG1sWFBhdGhQYXJzZU5DTmFtZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFhQYXRoUGFyc2VOQ05hbWVfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQYXRoUGFyc2VOQ05hbWUKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhQYXJzZU5DTmFtZSkgeG1sWFBhdGhQYXJzZU5DTmFtZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQYXRoUGFyc2VOQ05hbWUgeG1sWFBhdGhQYXJzZU5DTmFtZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3hwYXRoCisjdW5kZWYgeG1sWFBhdGhQYXJzZU5hbWUKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhQYXJzZU5hbWUpIHhtbFhQYXRoUGFyc2VOYW1lIF9fYXR0cmlidXRlKChhbGlhcygieG1sWFBhdGhQYXJzZU5hbWVfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQYXRoUGFyc2VOYW1lCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoUGFyc2VOYW1lKSB4bWxYUGF0aFBhcnNlTmFtZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQYXRoUGFyc2VOYW1lIHhtbFhQYXRoUGFyc2VOYW1lX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feHBhdGgKKyN1bmRlZiB4bWxYUGF0aFBvcEJvb2xlYW4KK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhQb3BCb29sZWFuKSB4bWxYUGF0aFBvcEJvb2xlYW4gX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxYUGF0aFBvcEJvb2xlYW5fX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQYXRoUG9wQm9vbGVhbgorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aFBvcEJvb2xlYW4pIHhtbFhQYXRoUG9wQm9vbGVhbl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQYXRoUG9wQm9vbGVhbiB4bWxYUGF0aFBvcEJvb2xlYW5fX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94cGF0aAorI3VuZGVmIHhtbFhQYXRoUG9wRXh0ZXJuYWwKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhQb3BFeHRlcm5hbCkgeG1sWFBhdGhQb3BFeHRlcm5hbCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFhQYXRoUG9wRXh0ZXJuYWxfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQYXRoUG9wRXh0ZXJuYWwKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhQb3BFeHRlcm5hbCkgeG1sWFBhdGhQb3BFeHRlcm5hbF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQYXRoUG9wRXh0ZXJuYWwgeG1sWFBhdGhQb3BFeHRlcm5hbF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3hwYXRoCisjdW5kZWYgeG1sWFBhdGhQb3BOb2RlU2V0CitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoUG9wTm9kZVNldCkgeG1sWFBhdGhQb3BOb2RlU2V0IF9fYXR0cmlidXRlKChhbGlhcygieG1sWFBhdGhQb3BOb2RlU2V0X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxYUGF0aFBvcE5vZGVTZXQKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhQb3BOb2RlU2V0KSB4bWxYUGF0aFBvcE5vZGVTZXRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxYUGF0aFBvcE5vZGVTZXQgeG1sWFBhdGhQb3BOb2RlU2V0X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feHBhdGgKKyN1bmRlZiB4bWxYUGF0aFBvcE51bWJlcgorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aFBvcE51bWJlcikgeG1sWFBhdGhQb3BOdW1iZXIgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxYUGF0aFBvcE51bWJlcl9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sWFBhdGhQb3BOdW1iZXIKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhQb3BOdW1iZXIpIHhtbFhQYXRoUG9wTnVtYmVyX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sWFBhdGhQb3BOdW1iZXIgeG1sWFBhdGhQb3BOdW1iZXJfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94cGF0aAorI3VuZGVmIHhtbFhQYXRoUG9wU3RyaW5nCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoUG9wU3RyaW5nKSB4bWxYUGF0aFBvcFN0cmluZyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFhQYXRoUG9wU3RyaW5nX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxYUGF0aFBvcFN0cmluZworZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aFBvcFN0cmluZykgeG1sWFBhdGhQb3BTdHJpbmdfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxYUGF0aFBvcFN0cmluZyB4bWxYUGF0aFBvcFN0cmluZ19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3hwYXRoCisjdW5kZWYgeG1sWFBhdGhQb3NpdGlvbkZ1bmN0aW9uCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoUG9zaXRpb25GdW5jdGlvbikgeG1sWFBhdGhQb3NpdGlvbkZ1bmN0aW9uIF9fYXR0cmlidXRlKChhbGlhcygieG1sWFBhdGhQb3NpdGlvbkZ1bmN0aW9uX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxYUGF0aFBvc2l0aW9uRnVuY3Rpb24KK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhQb3NpdGlvbkZ1bmN0aW9uKSB4bWxYUGF0aFBvc2l0aW9uRnVuY3Rpb25fX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxYUGF0aFBvc2l0aW9uRnVuY3Rpb24geG1sWFBhdGhQb3NpdGlvbkZ1bmN0aW9uX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feHBhdGgKKyN1bmRlZiB4bWxYUGF0aFJlZ2lzdGVyQWxsRnVuY3Rpb25zCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoUmVnaXN0ZXJBbGxGdW5jdGlvbnMpIHhtbFhQYXRoUmVnaXN0ZXJBbGxGdW5jdGlvbnMgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxYUGF0aFJlZ2lzdGVyQWxsRnVuY3Rpb25zX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxYUGF0aFJlZ2lzdGVyQWxsRnVuY3Rpb25zCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoUmVnaXN0ZXJBbGxGdW5jdGlvbnMpIHhtbFhQYXRoUmVnaXN0ZXJBbGxGdW5jdGlvbnNfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxYUGF0aFJlZ2lzdGVyQWxsRnVuY3Rpb25zIHhtbFhQYXRoUmVnaXN0ZXJBbGxGdW5jdGlvbnNfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94cGF0aAorI3VuZGVmIHhtbFhQYXRoUmVnaXN0ZXJGdW5jCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoUmVnaXN0ZXJGdW5jKSB4bWxYUGF0aFJlZ2lzdGVyRnVuYyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFhQYXRoUmVnaXN0ZXJGdW5jX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxYUGF0aFJlZ2lzdGVyRnVuYworZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aFJlZ2lzdGVyRnVuYykgeG1sWFBhdGhSZWdpc3RlckZ1bmNfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxYUGF0aFJlZ2lzdGVyRnVuYyB4bWxYUGF0aFJlZ2lzdGVyRnVuY19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3hwYXRoCisjdW5kZWYgeG1sWFBhdGhSZWdpc3RlckZ1bmNMb29rdXAKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhSZWdpc3RlckZ1bmNMb29rdXApIHhtbFhQYXRoUmVnaXN0ZXJGdW5jTG9va3VwIF9fYXR0cmlidXRlKChhbGlhcygieG1sWFBhdGhSZWdpc3RlckZ1bmNMb29rdXBfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQYXRoUmVnaXN0ZXJGdW5jTG9va3VwCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoUmVnaXN0ZXJGdW5jTG9va3VwKSB4bWxYUGF0aFJlZ2lzdGVyRnVuY0xvb2t1cF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQYXRoUmVnaXN0ZXJGdW5jTG9va3VwIHhtbFhQYXRoUmVnaXN0ZXJGdW5jTG9va3VwX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feHBhdGgKKyN1bmRlZiB4bWxYUGF0aFJlZ2lzdGVyRnVuY05TCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoUmVnaXN0ZXJGdW5jTlMpIHhtbFhQYXRoUmVnaXN0ZXJGdW5jTlMgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxYUGF0aFJlZ2lzdGVyRnVuY05TX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxYUGF0aFJlZ2lzdGVyRnVuY05TCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoUmVnaXN0ZXJGdW5jTlMpIHhtbFhQYXRoUmVnaXN0ZXJGdW5jTlNfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxYUGF0aFJlZ2lzdGVyRnVuY05TIHhtbFhQYXRoUmVnaXN0ZXJGdW5jTlNfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94cGF0aAorI3VuZGVmIHhtbFhQYXRoUmVnaXN0ZXJOcworZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aFJlZ2lzdGVyTnMpIHhtbFhQYXRoUmVnaXN0ZXJOcyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFhQYXRoUmVnaXN0ZXJOc19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sWFBhdGhSZWdpc3Rlck5zCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoUmVnaXN0ZXJOcykgeG1sWFBhdGhSZWdpc3Rlck5zX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sWFBhdGhSZWdpc3Rlck5zIHhtbFhQYXRoUmVnaXN0ZXJOc19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3hwYXRoCisjdW5kZWYgeG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZSkgeG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlIF9fYXR0cmlidXRlKChhbGlhcygieG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlKSB4bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGVfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGUgeG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feHBhdGgKKyN1bmRlZiB4bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGVMb29rdXAKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlTG9va3VwKSB4bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGVMb29rdXAgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGVMb29rdXBfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZUxvb2t1cAorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGVMb29rdXApIHhtbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZUxvb2t1cF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZUxvb2t1cCB4bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGVMb29rdXBfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94cGF0aAorI3VuZGVmIHhtbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZU5TCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZU5TKSB4bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGVOUyBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZU5TX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGVOUworZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGVOUykgeG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlTlNfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGVOUyB4bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGVOU19faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3hwYXRoCisjdW5kZWYgeG1sWFBhdGhSZWdpc3RlcmVkRnVuY3NDbGVhbnVwCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoUmVnaXN0ZXJlZEZ1bmNzQ2xlYW51cCkgeG1sWFBhdGhSZWdpc3RlcmVkRnVuY3NDbGVhbnVwIF9fYXR0cmlidXRlKChhbGlhcygieG1sWFBhdGhSZWdpc3RlcmVkRnVuY3NDbGVhbnVwX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxYUGF0aFJlZ2lzdGVyZWRGdW5jc0NsZWFudXAKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhSZWdpc3RlcmVkRnVuY3NDbGVhbnVwKSB4bWxYUGF0aFJlZ2lzdGVyZWRGdW5jc0NsZWFudXBfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxYUGF0aFJlZ2lzdGVyZWRGdW5jc0NsZWFudXAgeG1sWFBhdGhSZWdpc3RlcmVkRnVuY3NDbGVhbnVwX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feHBhdGgKKyN1bmRlZiB4bWxYUGF0aFJlZ2lzdGVyZWROc0NsZWFudXAKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhSZWdpc3RlcmVkTnNDbGVhbnVwKSB4bWxYUGF0aFJlZ2lzdGVyZWROc0NsZWFudXAgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxYUGF0aFJlZ2lzdGVyZWROc0NsZWFudXBfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQYXRoUmVnaXN0ZXJlZE5zQ2xlYW51cAorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aFJlZ2lzdGVyZWROc0NsZWFudXApIHhtbFhQYXRoUmVnaXN0ZXJlZE5zQ2xlYW51cF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQYXRoUmVnaXN0ZXJlZE5zQ2xlYW51cCB4bWxYUGF0aFJlZ2lzdGVyZWROc0NsZWFudXBfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94cGF0aAorI3VuZGVmIHhtbFhQYXRoUmVnaXN0ZXJlZFZhcmlhYmxlc0NsZWFudXAKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhSZWdpc3RlcmVkVmFyaWFibGVzQ2xlYW51cCkgeG1sWFBhdGhSZWdpc3RlcmVkVmFyaWFibGVzQ2xlYW51cCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFhQYXRoUmVnaXN0ZXJlZFZhcmlhYmxlc0NsZWFudXBfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQYXRoUmVnaXN0ZXJlZFZhcmlhYmxlc0NsZWFudXAKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhSZWdpc3RlcmVkVmFyaWFibGVzQ2xlYW51cCkgeG1sWFBhdGhSZWdpc3RlcmVkVmFyaWFibGVzQ2xlYW51cF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQYXRoUmVnaXN0ZXJlZFZhcmlhYmxlc0NsZWFudXAgeG1sWFBhdGhSZWdpc3RlcmVkVmFyaWFibGVzQ2xlYW51cF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3hwYXRoCisjdW5kZWYgeG1sWFBhdGhSb290CitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoUm9vdCkgeG1sWFBhdGhSb290IF9fYXR0cmlidXRlKChhbGlhcygieG1sWFBhdGhSb290X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxYUGF0aFJvb3QKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhSb290KSB4bWxYUGF0aFJvb3RfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxYUGF0aFJvb3QgeG1sWFBhdGhSb290X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feHBhdGgKKyN1bmRlZiB4bWxYUGF0aFJvdW5kRnVuY3Rpb24KK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhSb3VuZEZ1bmN0aW9uKSB4bWxYUGF0aFJvdW5kRnVuY3Rpb24gX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxYUGF0aFJvdW5kRnVuY3Rpb25fX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQYXRoUm91bmRGdW5jdGlvbgorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aFJvdW5kRnVuY3Rpb24pIHhtbFhQYXRoUm91bmRGdW5jdGlvbl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQYXRoUm91bmRGdW5jdGlvbiB4bWxYUGF0aFJvdW5kRnVuY3Rpb25fX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94cGF0aAorI3VuZGVmIHhtbFhQYXRoU2V0Q29udGV4dE5vZGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhTZXRDb250ZXh0Tm9kZSkgeG1sWFBhdGhTZXRDb250ZXh0Tm9kZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFhQYXRoU2V0Q29udGV4dE5vZGVfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQYXRoU2V0Q29udGV4dE5vZGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhTZXRDb250ZXh0Tm9kZSkgeG1sWFBhdGhTZXRDb250ZXh0Tm9kZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQYXRoU2V0Q29udGV4dE5vZGUgeG1sWFBhdGhTZXRDb250ZXh0Tm9kZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3hwYXRoCisjdW5kZWYgeG1sWFBhdGhTdGFydHNXaXRoRnVuY3Rpb24KK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhTdGFydHNXaXRoRnVuY3Rpb24pIHhtbFhQYXRoU3RhcnRzV2l0aEZ1bmN0aW9uIF9fYXR0cmlidXRlKChhbGlhcygieG1sWFBhdGhTdGFydHNXaXRoRnVuY3Rpb25fX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQYXRoU3RhcnRzV2l0aEZ1bmN0aW9uCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoU3RhcnRzV2l0aEZ1bmN0aW9uKSB4bWxYUGF0aFN0YXJ0c1dpdGhGdW5jdGlvbl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQYXRoU3RhcnRzV2l0aEZ1bmN0aW9uIHhtbFhQYXRoU3RhcnRzV2l0aEZ1bmN0aW9uX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feHBhdGgKKyN1bmRlZiB4bWxYUGF0aFN0cmluZ0V2YWxOdW1iZXIKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhTdHJpbmdFdmFsTnVtYmVyKSB4bWxYUGF0aFN0cmluZ0V2YWxOdW1iZXIgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxYUGF0aFN0cmluZ0V2YWxOdW1iZXJfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQYXRoU3RyaW5nRXZhbE51bWJlcgorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aFN0cmluZ0V2YWxOdW1iZXIpIHhtbFhQYXRoU3RyaW5nRXZhbE51bWJlcl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQYXRoU3RyaW5nRXZhbE51bWJlciB4bWxYUGF0aFN0cmluZ0V2YWxOdW1iZXJfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94cGF0aAorI3VuZGVmIHhtbFhQYXRoU3RyaW5nRnVuY3Rpb24KK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhTdHJpbmdGdW5jdGlvbikgeG1sWFBhdGhTdHJpbmdGdW5jdGlvbiBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFhQYXRoU3RyaW5nRnVuY3Rpb25fX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQYXRoU3RyaW5nRnVuY3Rpb24KK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhTdHJpbmdGdW5jdGlvbikgeG1sWFBhdGhTdHJpbmdGdW5jdGlvbl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQYXRoU3RyaW5nRnVuY3Rpb24geG1sWFBhdGhTdHJpbmdGdW5jdGlvbl9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3hwYXRoCisjdW5kZWYgeG1sWFBhdGhTdHJpbmdMZW5ndGhGdW5jdGlvbgorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aFN0cmluZ0xlbmd0aEZ1bmN0aW9uKSB4bWxYUGF0aFN0cmluZ0xlbmd0aEZ1bmN0aW9uIF9fYXR0cmlidXRlKChhbGlhcygieG1sWFBhdGhTdHJpbmdMZW5ndGhGdW5jdGlvbl9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sWFBhdGhTdHJpbmdMZW5ndGhGdW5jdGlvbgorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aFN0cmluZ0xlbmd0aEZ1bmN0aW9uKSB4bWxYUGF0aFN0cmluZ0xlbmd0aEZ1bmN0aW9uX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sWFBhdGhTdHJpbmdMZW5ndGhGdW5jdGlvbiB4bWxYUGF0aFN0cmluZ0xlbmd0aEZ1bmN0aW9uX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feHBhdGgKKyN1bmRlZiB4bWxYUGF0aFN1YlZhbHVlcworZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aFN1YlZhbHVlcykgeG1sWFBhdGhTdWJWYWx1ZXMgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxYUGF0aFN1YlZhbHVlc19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sWFBhdGhTdWJWYWx1ZXMKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhTdWJWYWx1ZXMpIHhtbFhQYXRoU3ViVmFsdWVzX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sWFBhdGhTdWJWYWx1ZXMgeG1sWFBhdGhTdWJWYWx1ZXNfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94cGF0aAorI3VuZGVmIHhtbFhQYXRoU3Vic3RyaW5nQWZ0ZXJGdW5jdGlvbgorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aFN1YnN0cmluZ0FmdGVyRnVuY3Rpb24pIHhtbFhQYXRoU3Vic3RyaW5nQWZ0ZXJGdW5jdGlvbiBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFhQYXRoU3Vic3RyaW5nQWZ0ZXJGdW5jdGlvbl9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sWFBhdGhTdWJzdHJpbmdBZnRlckZ1bmN0aW9uCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoU3Vic3RyaW5nQWZ0ZXJGdW5jdGlvbikgeG1sWFBhdGhTdWJzdHJpbmdBZnRlckZ1bmN0aW9uX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sWFBhdGhTdWJzdHJpbmdBZnRlckZ1bmN0aW9uIHhtbFhQYXRoU3Vic3RyaW5nQWZ0ZXJGdW5jdGlvbl9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3hwYXRoCisjdW5kZWYgeG1sWFBhdGhTdWJzdHJpbmdCZWZvcmVGdW5jdGlvbgorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aFN1YnN0cmluZ0JlZm9yZUZ1bmN0aW9uKSB4bWxYUGF0aFN1YnN0cmluZ0JlZm9yZUZ1bmN0aW9uIF9fYXR0cmlidXRlKChhbGlhcygieG1sWFBhdGhTdWJzdHJpbmdCZWZvcmVGdW5jdGlvbl9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sWFBhdGhTdWJzdHJpbmdCZWZvcmVGdW5jdGlvbgorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aFN1YnN0cmluZ0JlZm9yZUZ1bmN0aW9uKSB4bWxYUGF0aFN1YnN0cmluZ0JlZm9yZUZ1bmN0aW9uX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sWFBhdGhTdWJzdHJpbmdCZWZvcmVGdW5jdGlvbiB4bWxYUGF0aFN1YnN0cmluZ0JlZm9yZUZ1bmN0aW9uX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feHBhdGgKKyN1bmRlZiB4bWxYUGF0aFN1YnN0cmluZ0Z1bmN0aW9uCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoU3Vic3RyaW5nRnVuY3Rpb24pIHhtbFhQYXRoU3Vic3RyaW5nRnVuY3Rpb24gX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxYUGF0aFN1YnN0cmluZ0Z1bmN0aW9uX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxYUGF0aFN1YnN0cmluZ0Z1bmN0aW9uCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoU3Vic3RyaW5nRnVuY3Rpb24pIHhtbFhQYXRoU3Vic3RyaW5nRnVuY3Rpb25fX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxYUGF0aFN1YnN0cmluZ0Z1bmN0aW9uIHhtbFhQYXRoU3Vic3RyaW5nRnVuY3Rpb25fX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94cGF0aAorI3VuZGVmIHhtbFhQYXRoU3VtRnVuY3Rpb24KK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhTdW1GdW5jdGlvbikgeG1sWFBhdGhTdW1GdW5jdGlvbiBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFhQYXRoU3VtRnVuY3Rpb25fX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQYXRoU3VtRnVuY3Rpb24KK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhTdW1GdW5jdGlvbikgeG1sWFBhdGhTdW1GdW5jdGlvbl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQYXRoU3VtRnVuY3Rpb24geG1sWFBhdGhTdW1GdW5jdGlvbl9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3hwYXRoCisjdW5kZWYgeG1sWFBhdGhUcmFpbGluZworZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aFRyYWlsaW5nKSB4bWxYUGF0aFRyYWlsaW5nIF9fYXR0cmlidXRlKChhbGlhcygieG1sWFBhdGhUcmFpbGluZ19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sWFBhdGhUcmFpbGluZworZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aFRyYWlsaW5nKSB4bWxYUGF0aFRyYWlsaW5nX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sWFBhdGhUcmFpbGluZyB4bWxYUGF0aFRyYWlsaW5nX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feHBhdGgKKyN1bmRlZiB4bWxYUGF0aFRyYWlsaW5nU29ydGVkCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoVHJhaWxpbmdTb3J0ZWQpIHhtbFhQYXRoVHJhaWxpbmdTb3J0ZWQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxYUGF0aFRyYWlsaW5nU29ydGVkX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxYUGF0aFRyYWlsaW5nU29ydGVkCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoVHJhaWxpbmdTb3J0ZWQpIHhtbFhQYXRoVHJhaWxpbmdTb3J0ZWRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxYUGF0aFRyYWlsaW5nU29ydGVkIHhtbFhQYXRoVHJhaWxpbmdTb3J0ZWRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94cGF0aAorI3VuZGVmIHhtbFhQYXRoVHJhbnNsYXRlRnVuY3Rpb24KK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhUcmFuc2xhdGVGdW5jdGlvbikgeG1sWFBhdGhUcmFuc2xhdGVGdW5jdGlvbiBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFhQYXRoVHJhbnNsYXRlRnVuY3Rpb25fX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQYXRoVHJhbnNsYXRlRnVuY3Rpb24KK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhUcmFuc2xhdGVGdW5jdGlvbikgeG1sWFBhdGhUcmFuc2xhdGVGdW5jdGlvbl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQYXRoVHJhbnNsYXRlRnVuY3Rpb24geG1sWFBhdGhUcmFuc2xhdGVGdW5jdGlvbl9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3hwYXRoCisjdW5kZWYgeG1sWFBhdGhUcnVlRnVuY3Rpb24KK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhUcnVlRnVuY3Rpb24pIHhtbFhQYXRoVHJ1ZUZ1bmN0aW9uIF9fYXR0cmlidXRlKChhbGlhcygieG1sWFBhdGhUcnVlRnVuY3Rpb25fX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQYXRoVHJ1ZUZ1bmN0aW9uCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoVHJ1ZUZ1bmN0aW9uKSB4bWxYUGF0aFRydWVGdW5jdGlvbl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQYXRoVHJ1ZUZ1bmN0aW9uIHhtbFhQYXRoVHJ1ZUZ1bmN0aW9uX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feHBhdGgKKyN1bmRlZiB4bWxYUGF0aFZhbHVlRmxpcFNpZ24KK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhWYWx1ZUZsaXBTaWduKSB4bWxYUGF0aFZhbHVlRmxpcFNpZ24gX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxYUGF0aFZhbHVlRmxpcFNpZ25fX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQYXRoVmFsdWVGbGlwU2lnbgorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aFZhbHVlRmxpcFNpZ24pIHhtbFhQYXRoVmFsdWVGbGlwU2lnbl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQYXRoVmFsdWVGbGlwU2lnbiB4bWxYUGF0aFZhbHVlRmxpcFNpZ25fX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94cGF0aAorI3VuZGVmIHhtbFhQYXRoVmFyaWFibGVMb29rdXAKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhWYXJpYWJsZUxvb2t1cCkgeG1sWFBhdGhWYXJpYWJsZUxvb2t1cCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFhQYXRoVmFyaWFibGVMb29rdXBfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQYXRoVmFyaWFibGVMb29rdXAKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhWYXJpYWJsZUxvb2t1cCkgeG1sWFBhdGhWYXJpYWJsZUxvb2t1cF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQYXRoVmFyaWFibGVMb29rdXAgeG1sWFBhdGhWYXJpYWJsZUxvb2t1cF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3hwYXRoCisjdW5kZWYgeG1sWFBhdGhWYXJpYWJsZUxvb2t1cE5TCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoVmFyaWFibGVMb29rdXBOUykgeG1sWFBhdGhWYXJpYWJsZUxvb2t1cE5TIF9fYXR0cmlidXRlKChhbGlhcygieG1sWFBhdGhWYXJpYWJsZUxvb2t1cE5TX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxYUGF0aFZhcmlhYmxlTG9va3VwTlMKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhWYXJpYWJsZUxvb2t1cE5TKSB4bWxYUGF0aFZhcmlhYmxlTG9va3VwTlNfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxYUGF0aFZhcmlhYmxlTG9va3VwTlMgeG1sWFBhdGhWYXJpYWJsZUxvb2t1cE5TX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feHBhdGgKKyN1bmRlZiB4bWxYUGF0aFdyYXBDU3RyaW5nCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoV3JhcENTdHJpbmcpIHhtbFhQYXRoV3JhcENTdHJpbmcgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxYUGF0aFdyYXBDU3RyaW5nX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxYUGF0aFdyYXBDU3RyaW5nCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoV3JhcENTdHJpbmcpIHhtbFhQYXRoV3JhcENTdHJpbmdfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxYUGF0aFdyYXBDU3RyaW5nIHhtbFhQYXRoV3JhcENTdHJpbmdfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94cGF0aAorI3VuZGVmIHhtbFhQYXRoV3JhcEV4dGVybmFsCitleHRlcm4gX190eXBlb2YgKHhtbFhQYXRoV3JhcEV4dGVybmFsKSB4bWxYUGF0aFdyYXBFeHRlcm5hbCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFhQYXRoV3JhcEV4dGVybmFsX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxYUGF0aFdyYXBFeHRlcm5hbAorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aFdyYXBFeHRlcm5hbCkgeG1sWFBhdGhXcmFwRXh0ZXJuYWxfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxYUGF0aFdyYXBFeHRlcm5hbCB4bWxYUGF0aFdyYXBFeHRlcm5hbF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3hwYXRoCisjdW5kZWYgeG1sWFBhdGhXcmFwTm9kZVNldAorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aFdyYXBOb2RlU2V0KSB4bWxYUGF0aFdyYXBOb2RlU2V0IF9fYXR0cmlidXRlKChhbGlhcygieG1sWFBhdGhXcmFwTm9kZVNldF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sWFBhdGhXcmFwTm9kZVNldAorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aFdyYXBOb2RlU2V0KSB4bWxYUGF0aFdyYXBOb2RlU2V0X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sWFBhdGhXcmFwTm9kZVNldCB4bWxYUGF0aFdyYXBOb2RlU2V0X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feHBhdGgKKyN1bmRlZiB4bWxYUGF0aFdyYXBTdHJpbmcKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhXcmFwU3RyaW5nKSB4bWxYUGF0aFdyYXBTdHJpbmcgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxYUGF0aFdyYXBTdHJpbmdfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQYXRoV3JhcFN0cmluZworZXh0ZXJuIF9fdHlwZW9mICh4bWxYUGF0aFdyYXBTdHJpbmcpIHhtbFhQYXRoV3JhcFN0cmluZ19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQYXRoV3JhcFN0cmluZyB4bWxYUGF0aFdyYXBTdHJpbmdfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94cGF0aAorI3VuZGVmIHhtbFhQYXRoZXJyb3IKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhlcnJvcikgeG1sWFBhdGhlcnJvciBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFhQYXRoZXJyb3JfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQYXRoZXJyb3IKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFBhdGhlcnJvcikgeG1sWFBhdGhlcnJvcl9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQYXRoZXJyb3IgeG1sWFBhdGhlcnJvcl9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1hQVFJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feHBvaW50ZXIKKyN1bmRlZiB4bWxYUHRyQnVpbGROb2RlTGlzdAorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUHRyQnVpbGROb2RlTGlzdCkgeG1sWFB0ckJ1aWxkTm9kZUxpc3QgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxYUHRyQnVpbGROb2RlTGlzdF9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sWFB0ckJ1aWxkTm9kZUxpc3QKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFB0ckJ1aWxkTm9kZUxpc3QpIHhtbFhQdHJCdWlsZE5vZGVMaXN0X19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sWFB0ckJ1aWxkTm9kZUxpc3QgeG1sWFB0ckJ1aWxkTm9kZUxpc3RfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUFRSX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3hwb2ludGVyCisjdW5kZWYgeG1sWFB0ckV2YWwKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFB0ckV2YWwpIHhtbFhQdHJFdmFsIF9fYXR0cmlidXRlKChhbGlhcygieG1sWFB0ckV2YWxfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQdHJFdmFsCitleHRlcm4gX190eXBlb2YgKHhtbFhQdHJFdmFsKSB4bWxYUHRyRXZhbF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQdHJFdmFsIHhtbFhQdHJFdmFsX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfWFBUUl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94cG9pbnRlcgorI3VuZGVmIHhtbFhQdHJFdmFsUmFuZ2VQcmVkaWNhdGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFB0ckV2YWxSYW5nZVByZWRpY2F0ZSkgeG1sWFB0ckV2YWxSYW5nZVByZWRpY2F0ZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFhQdHJFdmFsUmFuZ2VQcmVkaWNhdGVfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQdHJFdmFsUmFuZ2VQcmVkaWNhdGUKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFB0ckV2YWxSYW5nZVByZWRpY2F0ZSkgeG1sWFB0ckV2YWxSYW5nZVByZWRpY2F0ZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQdHJFdmFsUmFuZ2VQcmVkaWNhdGUgeG1sWFB0ckV2YWxSYW5nZVByZWRpY2F0ZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1hQVFJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feHBvaW50ZXIKKyN1bmRlZiB4bWxYUHRyRnJlZUxvY2F0aW9uU2V0CitleHRlcm4gX190eXBlb2YgKHhtbFhQdHJGcmVlTG9jYXRpb25TZXQpIHhtbFhQdHJGcmVlTG9jYXRpb25TZXQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxYUHRyRnJlZUxvY2F0aW9uU2V0X19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxYUHRyRnJlZUxvY2F0aW9uU2V0CitleHRlcm4gX190eXBlb2YgKHhtbFhQdHJGcmVlTG9jYXRpb25TZXQpIHhtbFhQdHJGcmVlTG9jYXRpb25TZXRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxYUHRyRnJlZUxvY2F0aW9uU2V0IHhtbFhQdHJGcmVlTG9jYXRpb25TZXRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUFRSX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3hwb2ludGVyCisjdW5kZWYgeG1sWFB0ckxvY2F0aW9uU2V0QWRkCitleHRlcm4gX190eXBlb2YgKHhtbFhQdHJMb2NhdGlvblNldEFkZCkgeG1sWFB0ckxvY2F0aW9uU2V0QWRkIF9fYXR0cmlidXRlKChhbGlhcygieG1sWFB0ckxvY2F0aW9uU2V0QWRkX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxYUHRyTG9jYXRpb25TZXRBZGQKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFB0ckxvY2F0aW9uU2V0QWRkKSB4bWxYUHRyTG9jYXRpb25TZXRBZGRfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxYUHRyTG9jYXRpb25TZXRBZGQgeG1sWFB0ckxvY2F0aW9uU2V0QWRkX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfWFBUUl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94cG9pbnRlcgorI3VuZGVmIHhtbFhQdHJMb2NhdGlvblNldENyZWF0ZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUHRyTG9jYXRpb25TZXRDcmVhdGUpIHhtbFhQdHJMb2NhdGlvblNldENyZWF0ZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFhQdHJMb2NhdGlvblNldENyZWF0ZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sWFB0ckxvY2F0aW9uU2V0Q3JlYXRlCitleHRlcm4gX190eXBlb2YgKHhtbFhQdHJMb2NhdGlvblNldENyZWF0ZSkgeG1sWFB0ckxvY2F0aW9uU2V0Q3JlYXRlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sWFB0ckxvY2F0aW9uU2V0Q3JlYXRlIHhtbFhQdHJMb2NhdGlvblNldENyZWF0ZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1hQVFJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feHBvaW50ZXIKKyN1bmRlZiB4bWxYUHRyTG9jYXRpb25TZXREZWwKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFB0ckxvY2F0aW9uU2V0RGVsKSB4bWxYUHRyTG9jYXRpb25TZXREZWwgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxYUHRyTG9jYXRpb25TZXREZWxfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQdHJMb2NhdGlvblNldERlbAorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUHRyTG9jYXRpb25TZXREZWwpIHhtbFhQdHJMb2NhdGlvblNldERlbF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQdHJMb2NhdGlvblNldERlbCB4bWxYUHRyTG9jYXRpb25TZXREZWxfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUFRSX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3hwb2ludGVyCisjdW5kZWYgeG1sWFB0ckxvY2F0aW9uU2V0TWVyZ2UKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFB0ckxvY2F0aW9uU2V0TWVyZ2UpIHhtbFhQdHJMb2NhdGlvblNldE1lcmdlIF9fYXR0cmlidXRlKChhbGlhcygieG1sWFB0ckxvY2F0aW9uU2V0TWVyZ2VfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQdHJMb2NhdGlvblNldE1lcmdlCitleHRlcm4gX190eXBlb2YgKHhtbFhQdHJMb2NhdGlvblNldE1lcmdlKSB4bWxYUHRyTG9jYXRpb25TZXRNZXJnZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQdHJMb2NhdGlvblNldE1lcmdlIHhtbFhQdHJMb2NhdGlvblNldE1lcmdlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfWFBUUl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94cG9pbnRlcgorI3VuZGVmIHhtbFhQdHJMb2NhdGlvblNldFJlbW92ZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUHRyTG9jYXRpb25TZXRSZW1vdmUpIHhtbFhQdHJMb2NhdGlvblNldFJlbW92ZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFhQdHJMb2NhdGlvblNldFJlbW92ZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sWFB0ckxvY2F0aW9uU2V0UmVtb3ZlCitleHRlcm4gX190eXBlb2YgKHhtbFhQdHJMb2NhdGlvblNldFJlbW92ZSkgeG1sWFB0ckxvY2F0aW9uU2V0UmVtb3ZlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sWFB0ckxvY2F0aW9uU2V0UmVtb3ZlIHhtbFhQdHJMb2NhdGlvblNldFJlbW92ZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1hQVFJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feHBvaW50ZXIKKyN1bmRlZiB4bWxYUHRyTmV3Q29sbGFwc2VkUmFuZ2UKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFB0ck5ld0NvbGxhcHNlZFJhbmdlKSB4bWxYUHRyTmV3Q29sbGFwc2VkUmFuZ2UgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxYUHRyTmV3Q29sbGFwc2VkUmFuZ2VfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQdHJOZXdDb2xsYXBzZWRSYW5nZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUHRyTmV3Q29sbGFwc2VkUmFuZ2UpIHhtbFhQdHJOZXdDb2xsYXBzZWRSYW5nZV9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQdHJOZXdDb2xsYXBzZWRSYW5nZSB4bWxYUHRyTmV3Q29sbGFwc2VkUmFuZ2VfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUFRSX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3hwb2ludGVyCisjdW5kZWYgeG1sWFB0ck5ld0NvbnRleHQKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFB0ck5ld0NvbnRleHQpIHhtbFhQdHJOZXdDb250ZXh0IF9fYXR0cmlidXRlKChhbGlhcygieG1sWFB0ck5ld0NvbnRleHRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQdHJOZXdDb250ZXh0CitleHRlcm4gX190eXBlb2YgKHhtbFhQdHJOZXdDb250ZXh0KSB4bWxYUHRyTmV3Q29udGV4dF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQdHJOZXdDb250ZXh0IHhtbFhQdHJOZXdDb250ZXh0X19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfWFBUUl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94cG9pbnRlcgorI3VuZGVmIHhtbFhQdHJOZXdMb2NhdGlvblNldE5vZGVTZXQKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFB0ck5ld0xvY2F0aW9uU2V0Tm9kZVNldCkgeG1sWFB0ck5ld0xvY2F0aW9uU2V0Tm9kZVNldCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFhQdHJOZXdMb2NhdGlvblNldE5vZGVTZXRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQdHJOZXdMb2NhdGlvblNldE5vZGVTZXQKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFB0ck5ld0xvY2F0aW9uU2V0Tm9kZVNldCkgeG1sWFB0ck5ld0xvY2F0aW9uU2V0Tm9kZVNldF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQdHJOZXdMb2NhdGlvblNldE5vZGVTZXQgeG1sWFB0ck5ld0xvY2F0aW9uU2V0Tm9kZVNldF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1hQVFJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feHBvaW50ZXIKKyN1bmRlZiB4bWxYUHRyTmV3TG9jYXRpb25TZXROb2RlcworZXh0ZXJuIF9fdHlwZW9mICh4bWxYUHRyTmV3TG9jYXRpb25TZXROb2RlcykgeG1sWFB0ck5ld0xvY2F0aW9uU2V0Tm9kZXMgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxYUHRyTmV3TG9jYXRpb25TZXROb2Rlc19faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sWFB0ck5ld0xvY2F0aW9uU2V0Tm9kZXMKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFB0ck5ld0xvY2F0aW9uU2V0Tm9kZXMpIHhtbFhQdHJOZXdMb2NhdGlvblNldE5vZGVzX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sWFB0ck5ld0xvY2F0aW9uU2V0Tm9kZXMgeG1sWFB0ck5ld0xvY2F0aW9uU2V0Tm9kZXNfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUFRSX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3hwb2ludGVyCisjdW5kZWYgeG1sWFB0ck5ld1JhbmdlCitleHRlcm4gX190eXBlb2YgKHhtbFhQdHJOZXdSYW5nZSkgeG1sWFB0ck5ld1JhbmdlIF9fYXR0cmlidXRlKChhbGlhcygieG1sWFB0ck5ld1JhbmdlX19pbnRlcm5hbF9hbGlhcyIpKSk7CisjZWxzZQorI2lmbmRlZiB4bWxYUHRyTmV3UmFuZ2UKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFB0ck5ld1JhbmdlKSB4bWxYUHRyTmV3UmFuZ2VfX2ludGVybmFsX2FsaWFzIF9fYXR0cmlidXRlKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpOworI2RlZmluZSB4bWxYUHRyTmV3UmFuZ2UgeG1sWFB0ck5ld1JhbmdlX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfWFBUUl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94cG9pbnRlcgorI3VuZGVmIHhtbFhQdHJOZXdSYW5nZU5vZGVPYmplY3QKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFB0ck5ld1JhbmdlTm9kZU9iamVjdCkgeG1sWFB0ck5ld1JhbmdlTm9kZU9iamVjdCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFhQdHJOZXdSYW5nZU5vZGVPYmplY3RfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQdHJOZXdSYW5nZU5vZGVPYmplY3QKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFB0ck5ld1JhbmdlTm9kZU9iamVjdCkgeG1sWFB0ck5ld1JhbmdlTm9kZU9iamVjdF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQdHJOZXdSYW5nZU5vZGVPYmplY3QgeG1sWFB0ck5ld1JhbmdlTm9kZU9iamVjdF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1hQVFJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feHBvaW50ZXIKKyN1bmRlZiB4bWxYUHRyTmV3UmFuZ2VOb2RlUG9pbnQKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFB0ck5ld1JhbmdlTm9kZVBvaW50KSB4bWxYUHRyTmV3UmFuZ2VOb2RlUG9pbnQgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxYUHRyTmV3UmFuZ2VOb2RlUG9pbnRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQdHJOZXdSYW5nZU5vZGVQb2ludAorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUHRyTmV3UmFuZ2VOb2RlUG9pbnQpIHhtbFhQdHJOZXdSYW5nZU5vZGVQb2ludF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQdHJOZXdSYW5nZU5vZGVQb2ludCB4bWxYUHRyTmV3UmFuZ2VOb2RlUG9pbnRfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUFRSX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3hwb2ludGVyCisjdW5kZWYgeG1sWFB0ck5ld1JhbmdlTm9kZXMKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFB0ck5ld1JhbmdlTm9kZXMpIHhtbFhQdHJOZXdSYW5nZU5vZGVzIF9fYXR0cmlidXRlKChhbGlhcygieG1sWFB0ck5ld1JhbmdlTm9kZXNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQdHJOZXdSYW5nZU5vZGVzCitleHRlcm4gX190eXBlb2YgKHhtbFhQdHJOZXdSYW5nZU5vZGVzKSB4bWxYUHRyTmV3UmFuZ2VOb2Rlc19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQdHJOZXdSYW5nZU5vZGVzIHhtbFhQdHJOZXdSYW5nZU5vZGVzX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfWFBUUl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94cG9pbnRlcgorI3VuZGVmIHhtbFhQdHJOZXdSYW5nZVBvaW50Tm9kZQorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUHRyTmV3UmFuZ2VQb2ludE5vZGUpIHhtbFhQdHJOZXdSYW5nZVBvaW50Tm9kZSBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFhQdHJOZXdSYW5nZVBvaW50Tm9kZV9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sWFB0ck5ld1JhbmdlUG9pbnROb2RlCitleHRlcm4gX190eXBlb2YgKHhtbFhQdHJOZXdSYW5nZVBvaW50Tm9kZSkgeG1sWFB0ck5ld1JhbmdlUG9pbnROb2RlX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sWFB0ck5ld1JhbmdlUG9pbnROb2RlIHhtbFhQdHJOZXdSYW5nZVBvaW50Tm9kZV9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1hQVFJfRU5BQkxFRCkKKyNpZmRlZiBib3R0b21feHBvaW50ZXIKKyN1bmRlZiB4bWxYUHRyTmV3UmFuZ2VQb2ludHMKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFB0ck5ld1JhbmdlUG9pbnRzKSB4bWxYUHRyTmV3UmFuZ2VQb2ludHMgX19hdHRyaWJ1dGUoKGFsaWFzKCJ4bWxYUHRyTmV3UmFuZ2VQb2ludHNfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQdHJOZXdSYW5nZVBvaW50cworZXh0ZXJuIF9fdHlwZW9mICh4bWxYUHRyTmV3UmFuZ2VQb2ludHMpIHhtbFhQdHJOZXdSYW5nZVBvaW50c19faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQdHJOZXdSYW5nZVBvaW50cyB4bWxYUHRyTmV3UmFuZ2VQb2ludHNfX2ludGVybmFsX2FsaWFzCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUFRSX0VOQUJMRUQpCisjaWZkZWYgYm90dG9tX3hwb2ludGVyCisjdW5kZWYgeG1sWFB0clJhbmdlVG9GdW5jdGlvbgorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUHRyUmFuZ2VUb0Z1bmN0aW9uKSB4bWxYUHRyUmFuZ2VUb0Z1bmN0aW9uIF9fYXR0cmlidXRlKChhbGlhcygieG1sWFB0clJhbmdlVG9GdW5jdGlvbl9faW50ZXJuYWxfYWxpYXMiKSkpOworI2Vsc2UKKyNpZm5kZWYgeG1sWFB0clJhbmdlVG9GdW5jdGlvbgorZXh0ZXJuIF9fdHlwZW9mICh4bWxYUHRyUmFuZ2VUb0Z1bmN0aW9uKSB4bWxYUHRyUmFuZ2VUb0Z1bmN0aW9uX19pbnRlcm5hbF9hbGlhcyBfX2F0dHJpYnV0ZSgodmlzaWJpbGl0eSgiaGlkZGVuIikpKTsKKyNkZWZpbmUgeG1sWFB0clJhbmdlVG9GdW5jdGlvbiB4bWxYUHRyUmFuZ2VUb0Z1bmN0aW9uX19pbnRlcm5hbF9hbGlhcworI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfWFBUUl9FTkFCTEVEKQorI2lmZGVmIGJvdHRvbV94cG9pbnRlcgorI3VuZGVmIHhtbFhQdHJXcmFwTG9jYXRpb25TZXQKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFB0cldyYXBMb2NhdGlvblNldCkgeG1sWFB0cldyYXBMb2NhdGlvblNldCBfX2F0dHJpYnV0ZSgoYWxpYXMoInhtbFhQdHJXcmFwTG9jYXRpb25TZXRfX2ludGVybmFsX2FsaWFzIikpKTsKKyNlbHNlCisjaWZuZGVmIHhtbFhQdHJXcmFwTG9jYXRpb25TZXQKK2V4dGVybiBfX3R5cGVvZiAoeG1sWFB0cldyYXBMb2NhdGlvblNldCkgeG1sWFB0cldyYXBMb2NhdGlvblNldF9faW50ZXJuYWxfYWxpYXMgX19hdHRyaWJ1dGUoKHZpc2liaWxpdHkoImhpZGRlbiIpKSk7CisjZGVmaW5lIHhtbFhQdHJXcmFwTG9jYXRpb25TZXQgeG1sWFB0cldyYXBMb2NhdGlvblNldF9faW50ZXJuYWxfYWxpYXMKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKworCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorCmRpZmYgLS1naXQgYS9saWJ4bWwyL2VuYy5oIGIvbGlieG1sMi9lbmMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNTdkMjA2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9lbmMuaApAQCAtMCwwICsxLDMyIEBACisvKgorICogU3VtbWFyeTogSW50ZXJuYWwgSW50ZXJmYWNlcyBmb3IgZW5jb2RpbmcgaW4gbGlieG1sMgorICogRGVzY3JpcHRpb246IHRoaXMgbW9kdWxlIGRlc2NyaWJlcyBhIGZldyBpbnRlcmZhY2VzIHdoaWNoIHdlcmUKKyAqICAgICAgICAgICAgICBhZGRkZWQgYWxvbmcgd2l0aCB0aGUgQVBJIGNoYW5nZXMgaW4gMi45LjAKKyAqICAgICAgICAgICAgICB0aG9zZSBhcmUgcHJpdmF0ZSByb3V0aW5lcyBhdCB0aGlzIHBvaW50CisgKgorICogQ29weTogU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgorICoKKyAqIEF1dGhvcjogRGFuaWVsIFZlaWxsYXJkCisgKi8KKworI2lmbmRlZiBfX1hNTF9FTkNfSF9fCisjZGVmaW5lIF9fWE1MX0VOQ19IX18KKworI2luY2x1ZGUgPGxpYnhtbC90cmVlLmg+CisKKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7CisjZW5kaWYKKworaW50IHhtbENoYXJFbmNGaXJzdExpbmVJbnQoeG1sQ2hhckVuY29kaW5nSGFuZGxlciAqaGFuZGxlciwgeG1sQnVmZmVyUHRyIG91dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbEJ1ZmZlclB0ciBpbiwgaW50IGxlbik7CitpbnQgeG1sQ2hhckVuY0ZpcnN0TGluZUlucHV0KHhtbFBhcnNlcklucHV0QnVmZmVyUHRyIGlucHV0LCBpbnQgbGVuKTsKK2ludCB4bWxDaGFyRW5jSW5wdXQoeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIgaW5wdXQsIGludCBmbHVzaCk7CitpbnQgeG1sQ2hhckVuY091dHB1dCh4bWxPdXRwdXRCdWZmZXJQdHIgb3V0cHV0LCBpbnQgaW5pdCk7CisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCisjZW5kaWYgLyogX19YTUxfRU5DX0hfXyAqLworCisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvZW5jb2RpbmcuYyBiL2xpYnhtbDIvZW5jb2RpbmcuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NzRlMWFlCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9lbmNvZGluZy5jCkBAIC0wLDAgKzEsNDA4NSBAQAorLyoKKyAqIGVuY29kaW5nLmMgOiBpbXBsZW1lbnRzIHRoZSBlbmNvZGluZyBjb252ZXJzaW9uIGZ1bmN0aW9ucyBuZWVkZWQgZm9yIFhNTAorICoKKyAqIFJlbGF0ZWQgc3BlY3M6CisgKiByZmMyMDQ0ICAgICAgICAoVVRGLTggYW5kIFVURi0xNikgRi4gWWVyZ2VhdSBBbGlzIFRlY2hub2xvZ2llcworICogcmZjMjc4MSAgICAgICAgVVRGLTE2LCBhbiBlbmNvZGluZyBvZiBJU08gMTA2NDYsIFAuIEhvZmZtYW4sIEYuIFllcmdlYXUKKyAqIFtJU08tMTA2NDZdICAgIFVURi04IGFuZCBVVEYtMTYgaW4gQW5uZXhlcworICogW0lTTy04ODU5LTFdICAgSVNPIExhdGluLTEgY2hhcmFjdGVycyBjb2Rlcy4KKyAqIFtVTklDT0RFXSAgICAgIFRoZSBVbmljb2RlIENvbnNvcnRpdW0sICJUaGUgVW5pY29kZSBTdGFuZGFyZCAtLQorICogICAgICAgICAgICAgICAgV29ybGR3aWRlIENoYXJhY3RlciBFbmNvZGluZyAtLSBWZXJzaW9uIDEuMCIsIEFkZGlzb24tCisgKiAgICAgICAgICAgICAgICBXZXNsZXksIFZvbHVtZSAxLCAxOTkxLCBWb2x1bWUgMiwgMTk5Mi4gIFVURi04IGlzCisgKiAgICAgICAgICAgICAgICBkZXNjcmliZWQgaW4gVW5pY29kZSBUZWNobmljYWwgUmVwb3J0ICM0LgorICogW1VTLUFTQ0lJXSAgICAgQ29kZWQgQ2hhcmFjdGVyIFNldC0tNy1iaXQgQW1lcmljYW4gU3RhbmRhcmQgQ29kZSBmb3IKKyAqICAgICAgICAgICAgICAgIEluZm9ybWF0aW9uIEludGVyY2hhbmdlLCBBTlNJIFgzLjQtMTk4Ni4KKyAqCisgKiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisgKgorICogZGFuaWVsQHZlaWxsYXJkLmNvbQorICoKKyAqIE9yaWdpbmFsIGNvZGUgZm9yIElzb0xhdGluMSBhbmQgVVRGLTE2IGJ5ICJNYXJ0aW4gSi4gRHVlcnN0IiA8ZHVlcnN0QHczLm9yZz4KKyAqLworCisjZGVmaW5lIElOX0xJQlhNTAorI2luY2x1ZGUgImxpYnhtbC5oIgorCisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8bGltaXRzLmg+CisKKyNpZmRlZiBIQVZFX0NUWVBFX0gKKyNpbmNsdWRlIDxjdHlwZS5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9TVERMSUJfSAorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2VuZGlmCisjaWZkZWYgTElCWE1MX0lDT05WX0VOQUJMRUQKKyNpZmRlZiBIQVZFX0VSUk5PX0gKKyNpbmNsdWRlIDxlcnJuby5oPgorI2VuZGlmCisjZW5kaWYKKyNpbmNsdWRlIDxsaWJ4bWwvZW5jb2RpbmcuaD4KKyNpbmNsdWRlIDxsaWJ4bWwveG1sbWVtb3J5Lmg+CisjaWZkZWYgTElCWE1MX0hUTUxfRU5BQkxFRAorI2luY2x1ZGUgPGxpYnhtbC9IVE1McGFyc2VyLmg+CisjZW5kaWYKKyNpbmNsdWRlIDxsaWJ4bWwvZ2xvYmFscy5oPgorI2luY2x1ZGUgPGxpYnhtbC94bWxlcnJvci5oPgorCisjaW5jbHVkZSAiYnVmLmgiCisjaW5jbHVkZSAiZW5jLmgiCisKK3N0YXRpYyB4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyIHhtbFVURjE2TEVIYW5kbGVyID0gTlVMTDsKK3N0YXRpYyB4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyIHhtbFVURjE2QkVIYW5kbGVyID0gTlVMTDsKKwordHlwZWRlZiBzdHJ1Y3QgX3htbENoYXJFbmNvZGluZ0FsaWFzIHhtbENoYXJFbmNvZGluZ0FsaWFzOwordHlwZWRlZiB4bWxDaGFyRW5jb2RpbmdBbGlhcyAqeG1sQ2hhckVuY29kaW5nQWxpYXNQdHI7CitzdHJ1Y3QgX3htbENoYXJFbmNvZGluZ0FsaWFzIHsKKyAgICBjb25zdCBjaGFyICpuYW1lOworICAgIGNvbnN0IGNoYXIgKmFsaWFzOworfTsKKworc3RhdGljIHhtbENoYXJFbmNvZGluZ0FsaWFzUHRyIHhtbENoYXJFbmNvZGluZ0FsaWFzZXMgPSBOVUxMOworc3RhdGljIGludCB4bWxDaGFyRW5jb2RpbmdBbGlhc2VzTmIgPSAwOworc3RhdGljIGludCB4bWxDaGFyRW5jb2RpbmdBbGlhc2VzTWF4ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX0lDT05WX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX0lDVV9FTkFCTEVEKQorI2lmIDAKKyNkZWZpbmUgREVCVUdfRU5DT0RJTkcgIC8qIERlZmluZSB0aGlzIHRvIGdldCBlbmNvZGluZyB0cmFjZXMgKi8KKyNlbmRpZgorI2Vsc2UKKyNpZmRlZiBMSUJYTUxfSVNPODg1OVhfRU5BQkxFRAorc3RhdGljIHZvaWQgeG1sUmVnaXN0ZXJDaGFyRW5jb2RpbmdIYW5kbGVyc0lTTzg4NTl4ICh2b2lkKTsKKyNlbmRpZgorI2VuZGlmCisKK3N0YXRpYyBpbnQgeG1sTGl0dGxlRW5kaWFuID0gMTsKKworLyoqCisgKiB4bWxFbmNvZGluZ0Vyck1lbW9yeToKKyAqIEBleHRyYTogIGV4dHJhIGluZm9ybWF0aW9ucworICoKKyAqIEhhbmRsZSBhbiBvdXQgb2YgbWVtb3J5IGNvbmRpdGlvbgorICovCitzdGF0aWMgdm9pZAoreG1sRW5jb2RpbmdFcnJNZW1vcnkoY29uc3QgY2hhciAqZXh0cmEpCit7CisgICAgX194bWxTaW1wbGVFcnJvcihYTUxfRlJPTV9JMThOLCBYTUxfRVJSX05PX01FTU9SWSwgTlVMTCwgTlVMTCwgZXh0cmEpOworfQorCisvKioKKyAqIHhtbEVyckVuY29kaW5nOgorICogQGVycm9yOiAgdGhlIGVycm9yIG51bWJlcgorICogQG1zZzogIHRoZSBlcnJvciBtZXNzYWdlCisgKgorICogbiBlbmNvZGluZyBlcnJvcgorICovCitzdGF0aWMgdm9pZAoreG1sRW5jb2RpbmdFcnIoeG1sUGFyc2VyRXJyb3JzIGVycm9yLCBjb25zdCBjaGFyICptc2csIGNvbnN0IGNoYXIgKnZhbCkKK3sKKyAgICBfX3htbFJhaXNlRXJyb3IoTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwKKyAgICAgICAgICAgICAgICAgICAgWE1MX0ZST01fSTE4TiwgZXJyb3IsIFhNTF9FUlJfRkFUQUwsCisgICAgICAgICAgICAgICAgICAgIE5VTEwsIDAsIHZhbCwgTlVMTCwgTlVMTCwgMCwgMCwgbXNnLCB2YWwpOworfQorCisjaWZkZWYgTElCWE1MX0lDVV9FTkFCTEVECitzdGF0aWMgdWNvbnZfdCoKK29wZW5JY3VDb252ZXJ0ZXIoY29uc3QgY2hhciogbmFtZSwgaW50IHRvVW5pY29kZSkKK3sKKyAgVUVycm9yQ29kZSBzdGF0dXMgPSBVX1pFUk9fRVJST1I7CisgIHVjb252X3QgKmNvbnYgPSAodWNvbnZfdCAqKSB4bWxNYWxsb2Moc2l6ZW9mKHVjb252X3QpKTsKKyAgaWYgKGNvbnYgPT0gTlVMTCkKKyAgICByZXR1cm4gTlVMTDsKKworICBjb252LT51Y29udiA9IHVjbnZfb3BlbihuYW1lLCAmc3RhdHVzKTsKKyAgaWYgKFVfRkFJTFVSRShzdGF0dXMpKQorICAgIGdvdG8gZXJyb3I7CisKKyAgc3RhdHVzID0gVV9aRVJPX0VSUk9SOworICBpZiAodG9Vbmljb2RlKSB7CisgICAgdWNudl9zZXRUb1VDYWxsQmFjayhjb252LT51Y29udiwgVUNOVl9UT19VX0NBTExCQUNLX1NUT1AsCisgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCBOVUxMLCBOVUxMLCAmc3RhdHVzKTsKKyAgfQorICBlbHNlIHsKKyAgICB1Y252X3NldEZyb21VQ2FsbEJhY2soY29udi0+dWNvbnYsIFVDTlZfRlJPTV9VX0NBTExCQUNLX1NUT1AsCisgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCBOVUxMLCBOVUxMLCAmc3RhdHVzKTsKKyAgfQorICBpZiAoVV9GQUlMVVJFKHN0YXR1cykpCisgICAgZ290byBlcnJvcjsKKworICBzdGF0dXMgPSBVX1pFUk9fRVJST1I7CisgIGNvbnYtPnV0ZjggPSB1Y252X29wZW4oIlVURi04IiwgJnN0YXR1cyk7CisgIGlmIChVX1NVQ0NFU1Moc3RhdHVzKSkKKyAgICByZXR1cm4gY29udjsKKworZXJyb3I6CisgIGlmIChjb252LT51Y29udikKKyAgICB1Y252X2Nsb3NlKGNvbnYtPnVjb252KTsKKyAgeG1sRnJlZShjb252KTsKKyAgcmV0dXJuIE5VTEw7Cit9CisKK3N0YXRpYyB2b2lkCitjbG9zZUljdUNvbnZlcnRlcih1Y29udl90ICpjb252KQoreworICBpZiAoY29udiAhPSBOVUxMKSB7CisgICAgdWNudl9jbG9zZShjb252LT51Y29udik7CisgICAgdWNudl9jbG9zZShjb252LT51dGY4KTsKKyAgICB4bWxGcmVlKGNvbnYpOworICB9Cit9CisjZW5kaWYgLyogTElCWE1MX0lDVV9FTkFCTEVEICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCUNvbnZlcnNpb25zIFRvL0Zyb20gVVRGOCBlbmNvZGluZwkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqCisgKiBhc2NpaVRvVVRGODoKKyAqIEBvdXQ6ICBhIHBvaW50ZXIgdG8gYW4gYXJyYXkgb2YgYnl0ZXMgdG8gc3RvcmUgdGhlIHJlc3VsdAorICogQG91dGxlbjogIHRoZSBsZW5ndGggb2YgQG91dAorICogQGluOiAgYSBwb2ludGVyIHRvIGFuIGFycmF5IG9mIEFTQ0lJIGNoYXJzCisgKiBAaW5sZW46ICB0aGUgbGVuZ3RoIG9mIEBpbgorICoKKyAqIFRha2UgYSBibG9jayBvZiBBU0NJSSBjaGFycyBpbiBhbmQgdHJ5IHRvIGNvbnZlcnQgaXQgdG8gYW4gVVRGLTgKKyAqIGJsb2NrIG9mIGNoYXJzIG91dC4KKyAqIFJldHVybnMgMCBpZiBzdWNjZXNzLCBvciAtMSBvdGhlcndpc2UKKyAqIFRoZSB2YWx1ZSBvZiBAaW5sZW4gYWZ0ZXIgcmV0dXJuIGlzIHRoZSBudW1iZXIgb2Ygb2N0ZXRzIGNvbnN1bWVkCisgKiAgICAgaWYgdGhlIHJldHVybiB2YWx1ZSBpcyBwb3NpdGl2ZSwgZWxzZSB1bnByZWRpY3RhYmxlLgorICogVGhlIHZhbHVlIG9mIEBvdXRsZW4gYWZ0ZXIgcmV0dXJuIGlzIHRoZSBudW1iZXIgb2Ygb2N0ZXRzIGNvbnN1bWVkLgorICovCitzdGF0aWMgaW50Cithc2NpaVRvVVRGOCh1bnNpZ25lZCBjaGFyKiBvdXQsIGludCAqb3V0bGVuLAorICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyKiBpbiwgaW50ICppbmxlbikgeworICAgIHVuc2lnbmVkIGNoYXIqIG91dHN0YXJ0ID0gb3V0OworICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGJhc2UgPSBpbjsKKyAgICBjb25zdCB1bnNpZ25lZCBjaGFyKiBwcm9jZXNzZWQgPSBpbjsKKyAgICB1bnNpZ25lZCBjaGFyKiBvdXRlbmQgPSBvdXQgKyAqb3V0bGVuOworICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGluZW5kOworICAgIHVuc2lnbmVkIGludCBjOworCisgICAgaW5lbmQgPSBpbiArICgqaW5sZW4pOworICAgIHdoaWxlICgoaW4gPCBpbmVuZCkgJiYgKG91dCAtIG91dHN0YXJ0ICsgNSA8ICpvdXRsZW4pKSB7CisJYz0gKmluKys7CisKKyAgICAgICAgaWYgKG91dCA+PSBvdXRlbmQpCisJICAgIGJyZWFrOworICAgICAgICBpZiAoYyA8IDB4ODApIHsKKwkgICAgKm91dCsrID0gYzsKKwl9IGVsc2UgeworCSAgICAqb3V0bGVuID0gb3V0IC0gb3V0c3RhcnQ7CisJICAgICppbmxlbiA9IHByb2Nlc3NlZCAtIGJhc2U7CisJICAgIHJldHVybigtMSk7CisJfQorCisJcHJvY2Vzc2VkID0gKGNvbnN0IHVuc2lnbmVkIGNoYXIqKSBpbjsKKyAgICB9CisgICAgKm91dGxlbiA9IG91dCAtIG91dHN0YXJ0OworICAgICppbmxlbiA9IHByb2Nlc3NlZCAtIGJhc2U7CisgICAgcmV0dXJuKCpvdXRsZW4pOworfQorCisjaWZkZWYgTElCWE1MX09VVFBVVF9FTkFCTEVECisvKioKKyAqIFVURjhUb2FzY2lpOgorICogQG91dDogIGEgcG9pbnRlciB0byBhbiBhcnJheSBvZiBieXRlcyB0byBzdG9yZSB0aGUgcmVzdWx0CisgKiBAb3V0bGVuOiAgdGhlIGxlbmd0aCBvZiBAb3V0CisgKiBAaW46ICBhIHBvaW50ZXIgdG8gYW4gYXJyYXkgb2YgVVRGLTggY2hhcnMKKyAqIEBpbmxlbjogIHRoZSBsZW5ndGggb2YgQGluCisgKgorICogVGFrZSBhIGJsb2NrIG9mIFVURi04IGNoYXJzIGluIGFuZCB0cnkgdG8gY29udmVydCBpdCB0byBhbiBBU0NJSQorICogYmxvY2sgb2YgY2hhcnMgb3V0LgorICoKKyAqIFJldHVybnMgMCBpZiBzdWNjZXNzLCAtMiBpZiB0aGUgdHJhbnNjb2RpbmcgZmFpbHMsIG9yIC0xIG90aGVyd2lzZQorICogVGhlIHZhbHVlIG9mIEBpbmxlbiBhZnRlciByZXR1cm4gaXMgdGhlIG51bWJlciBvZiBvY3RldHMgY29uc3VtZWQKKyAqICAgICBpZiB0aGUgcmV0dXJuIHZhbHVlIGlzIHBvc2l0aXZlLCBlbHNlIHVucHJlZGljdGFibGUuCisgKiBUaGUgdmFsdWUgb2YgQG91dGxlbiBhZnRlciByZXR1cm4gaXMgdGhlIG51bWJlciBvZiBvY3RldHMgY29uc3VtZWQuCisgKi8KK3N0YXRpYyBpbnQKK1VURjhUb2FzY2lpKHVuc2lnbmVkIGNoYXIqIG91dCwgaW50ICpvdXRsZW4sCisgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGluLCBpbnQgKmlubGVuKSB7CisgICAgY29uc3QgdW5zaWduZWQgY2hhciogcHJvY2Vzc2VkID0gaW47CisgICAgY29uc3QgdW5zaWduZWQgY2hhciogb3V0ZW5kOworICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqIG91dHN0YXJ0ID0gb3V0OworICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGluc3RhcnQgPSBpbjsKKyAgICBjb25zdCB1bnNpZ25lZCBjaGFyKiBpbmVuZDsKKyAgICB1bnNpZ25lZCBpbnQgYywgZDsKKyAgICBpbnQgdHJhaWxpbmc7CisKKyAgICBpZiAoKG91dCA9PSBOVUxMKSB8fCAob3V0bGVuID09IE5VTEwpIHx8IChpbmxlbiA9PSBOVUxMKSkgcmV0dXJuKC0xKTsKKyAgICBpZiAoaW4gPT0gTlVMTCkgeworICAgICAgICAvKgorCSAqIGluaXRpYWxpemF0aW9uIG5vdGhpbmcgdG8gZG8KKwkgKi8KKwkqb3V0bGVuID0gMDsKKwkqaW5sZW4gPSAwOworCXJldHVybigwKTsKKyAgICB9CisgICAgaW5lbmQgPSBpbiArICgqaW5sZW4pOworICAgIG91dGVuZCA9IG91dCArICgqb3V0bGVuKTsKKyAgICB3aGlsZSAoaW4gPCBpbmVuZCkgeworCWQgPSAqaW4rKzsKKwlpZiAgICAgIChkIDwgMHg4MCkgIHsgYz0gZDsgdHJhaWxpbmc9IDA7IH0KKwllbHNlIGlmIChkIDwgMHhDMCkgeworCSAgICAvKiB0cmFpbGluZyBieXRlIGluIGxlYWRpbmcgcG9zaXRpb24gKi8KKwkgICAgKm91dGxlbiA9IG91dCAtIG91dHN0YXJ0OworCSAgICAqaW5sZW4gPSBwcm9jZXNzZWQgLSBpbnN0YXJ0OworCSAgICByZXR1cm4oLTIpOworICAgICAgICB9IGVsc2UgaWYgKGQgPCAweEUwKSAgeyBjPSBkICYgMHgxRjsgdHJhaWxpbmc9IDE7IH0KKyAgICAgICAgZWxzZSBpZiAoZCA8IDB4RjApICB7IGM9IGQgJiAweDBGOyB0cmFpbGluZz0gMjsgfQorICAgICAgICBlbHNlIGlmIChkIDwgMHhGOCkgIHsgYz0gZCAmIDB4MDc7IHRyYWlsaW5nPSAzOyB9CisJZWxzZSB7CisJICAgIC8qIG5vIGNoYW5jZSBmb3IgdGhpcyBpbiBBc2NpaSAqLworCSAgICAqb3V0bGVuID0gb3V0IC0gb3V0c3RhcnQ7CisJICAgICppbmxlbiA9IHByb2Nlc3NlZCAtIGluc3RhcnQ7CisJICAgIHJldHVybigtMik7CisJfQorCisJaWYgKGluZW5kIC0gaW4gPCB0cmFpbGluZykgeworCSAgICBicmVhazsKKwl9CisKKwlmb3IgKCA7IHRyYWlsaW5nOyB0cmFpbGluZy0tKSB7CisJICAgIGlmICgoaW4gPj0gaW5lbmQpIHx8ICgoKGQ9ICppbisrKSAmIDB4QzApICE9IDB4ODApKQorCQlicmVhazsKKwkgICAgYyA8PD0gNjsKKwkgICAgYyB8PSBkICYgMHgzRjsKKwl9CisKKwkvKiBhc3NlcnRpb246IGMgaXMgYSBzaW5nbGUgVVRGLTQgdmFsdWUgKi8KKwlpZiAoYyA8IDB4ODApIHsKKwkgICAgaWYgKG91dCA+PSBvdXRlbmQpCisJCWJyZWFrOworCSAgICAqb3V0KysgPSBjOworCX0gZWxzZSB7CisJICAgIC8qIG5vIGNoYW5jZSBmb3IgdGhpcyBpbiBBc2NpaSAqLworCSAgICAqb3V0bGVuID0gb3V0IC0gb3V0c3RhcnQ7CisJICAgICppbmxlbiA9IHByb2Nlc3NlZCAtIGluc3RhcnQ7CisJICAgIHJldHVybigtMik7CisJfQorCXByb2Nlc3NlZCA9IGluOworICAgIH0KKyAgICAqb3V0bGVuID0gb3V0IC0gb3V0c3RhcnQ7CisgICAgKmlubGVuID0gcHJvY2Vzc2VkIC0gaW5zdGFydDsKKyAgICByZXR1cm4oKm91dGxlbik7Cit9CisjZW5kaWYgLyogTElCWE1MX09VVFBVVF9FTkFCTEVEICovCisKKy8qKgorICogaXNvbGF0MVRvVVRGODoKKyAqIEBvdXQ6ICBhIHBvaW50ZXIgdG8gYW4gYXJyYXkgb2YgYnl0ZXMgdG8gc3RvcmUgdGhlIHJlc3VsdAorICogQG91dGxlbjogIHRoZSBsZW5ndGggb2YgQG91dAorICogQGluOiAgYSBwb2ludGVyIHRvIGFuIGFycmF5IG9mIElTTyBMYXRpbiAxIGNoYXJzCisgKiBAaW5sZW46ICB0aGUgbGVuZ3RoIG9mIEBpbgorICoKKyAqIFRha2UgYSBibG9jayBvZiBJU08gTGF0aW4gMSBjaGFycyBpbiBhbmQgdHJ5IHRvIGNvbnZlcnQgaXQgdG8gYW4gVVRGLTgKKyAqIGJsb2NrIG9mIGNoYXJzIG91dC4KKyAqIFJldHVybnMgdGhlIG51bWJlciBvZiBieXRlcyB3cml0dGVuIGlmIHN1Y2Nlc3MsIG9yIC0xIG90aGVyd2lzZQorICogVGhlIHZhbHVlIG9mIEBpbmxlbiBhZnRlciByZXR1cm4gaXMgdGhlIG51bWJlciBvZiBvY3RldHMgY29uc3VtZWQKKyAqICAgICBpZiB0aGUgcmV0dXJuIHZhbHVlIGlzIHBvc2l0aXZlLCBlbHNlIHVucHJlZGljdGFibGUuCisgKiBUaGUgdmFsdWUgb2YgQG91dGxlbiBhZnRlciByZXR1cm4gaXMgdGhlIG51bWJlciBvZiBvY3RldHMgY29uc3VtZWQuCisgKi8KK2ludAoraXNvbGF0MVRvVVRGOCh1bnNpZ25lZCBjaGFyKiBvdXQsIGludCAqb3V0bGVuLAorICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyKiBpbiwgaW50ICppbmxlbikgeworICAgIHVuc2lnbmVkIGNoYXIqIG91dHN0YXJ0ID0gb3V0OworICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGJhc2UgPSBpbjsKKyAgICB1bnNpZ25lZCBjaGFyKiBvdXRlbmQ7CisgICAgY29uc3QgdW5zaWduZWQgY2hhciogaW5lbmQ7CisgICAgY29uc3QgdW5zaWduZWQgY2hhciogaW5zdG9wOworCisgICAgaWYgKChvdXQgPT0gTlVMTCkgfHwgKGluID09IE5VTEwpIHx8IChvdXRsZW4gPT0gTlVMTCkgfHwgKGlubGVuID09IE5VTEwpKQorCXJldHVybigtMSk7CisKKyAgICBvdXRlbmQgPSBvdXQgKyAqb3V0bGVuOworICAgIGluZW5kID0gaW4gKyAoKmlubGVuKTsKKyAgICBpbnN0b3AgPSBpbmVuZDsKKworICAgIHdoaWxlICgoaW4gPCBpbmVuZCkgJiYgKG91dCA8IG91dGVuZCAtIDEpKSB7CisJaWYgKCppbiA+PSAweDgwKSB7CisJICAgICpvdXQrKyA9ICgoKCppbikgPj4gIDYpICYgMHgxRikgfCAweEMwOworICAgICAgICAgICAgKm91dCsrID0gKCgqaW4pICYgMHgzRikgfCAweDgwOworCSAgICArK2luOworCX0KKwlpZiAoKGluc3RvcCAtIGluKSA+IChvdXRlbmQgLSBvdXQpKSBpbnN0b3AgPSBpbiArIChvdXRlbmQgLSBvdXQpOworCXdoaWxlICgoaW4gPCBpbnN0b3ApICYmICgqaW4gPCAweDgwKSkgeworCSAgICAqb3V0KysgPSAqaW4rKzsKKwl9CisgICAgfQorICAgIGlmICgoaW4gPCBpbmVuZCkgJiYgKG91dCA8IG91dGVuZCkgJiYgKCppbiA8IDB4ODApKSB7CisgICAgICAgICpvdXQrKyA9ICppbisrOworICAgIH0KKyAgICAqb3V0bGVuID0gb3V0IC0gb3V0c3RhcnQ7CisgICAgKmlubGVuID0gaW4gLSBiYXNlOworICAgIHJldHVybigqb3V0bGVuKTsKK30KKworLyoqCisgKiBVVEY4VG9VVEY4OgorICogQG91dDogIGEgcG9pbnRlciB0byBhbiBhcnJheSBvZiBieXRlcyB0byBzdG9yZSB0aGUgcmVzdWx0CisgKiBAb3V0bGVuOiAgdGhlIGxlbmd0aCBvZiBAb3V0CisgKiBAaW5iOiAgYSBwb2ludGVyIHRvIGFuIGFycmF5IG9mIFVURi04IGNoYXJzCisgKiBAaW5sZW5iOiAgdGhlIGxlbmd0aCBvZiBAaW4gaW4gVVRGLTggY2hhcnMKKyAqCisgKiBObyBvcCBjb3B5IG9wZXJhdGlvbiBmb3IgVVRGOCBoYW5kbGluZy4KKyAqCisgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgYnl0ZXMgd3JpdHRlbiwgb3IgLTEgaWYgbGFjayBvZiBzcGFjZS4KKyAqICAgICBUaGUgdmFsdWUgb2YgKmlubGVuIGFmdGVyIHJldHVybiBpcyB0aGUgbnVtYmVyIG9mIG9jdGV0cyBjb25zdW1lZAorICogICAgIGlmIHRoZSByZXR1cm4gdmFsdWUgaXMgcG9zaXRpdmUsIGVsc2UgdW5wcmVkaWN0YWJsZS4KKyAqLworc3RhdGljIGludAorVVRGOFRvVVRGOCh1bnNpZ25lZCBjaGFyKiBvdXQsIGludCAqb3V0bGVuLAorICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyKiBpbmIsIGludCAqaW5sZW5iKQoreworICAgIGludCBsZW47CisKKyAgICBpZiAoKG91dCA9PSBOVUxMKSB8fCAoaW5iID09IE5VTEwpIHx8IChvdXRsZW4gPT0gTlVMTCkgfHwgKGlubGVuYiA9PSBOVUxMKSkKKwlyZXR1cm4oLTEpOworICAgIGlmICgqb3V0bGVuID4gKmlubGVuYikgeworCWxlbiA9ICppbmxlbmI7CisgICAgfSBlbHNlIHsKKwlsZW4gPSAqb3V0bGVuOworICAgIH0KKyAgICBpZiAobGVuIDwgMCkKKwlyZXR1cm4oLTEpOworCisgICAgbWVtY3B5KG91dCwgaW5iLCBsZW4pOworCisgICAgKm91dGxlbiA9IGxlbjsKKyAgICAqaW5sZW5iID0gbGVuOworICAgIHJldHVybigqb3V0bGVuKTsKK30KKworCisjaWZkZWYgTElCWE1MX09VVFBVVF9FTkFCTEVECisvKioKKyAqIFVURjhUb2lzb2xhdDE6CisgKiBAb3V0OiAgYSBwb2ludGVyIHRvIGFuIGFycmF5IG9mIGJ5dGVzIHRvIHN0b3JlIHRoZSByZXN1bHQKKyAqIEBvdXRsZW46ICB0aGUgbGVuZ3RoIG9mIEBvdXQKKyAqIEBpbjogIGEgcG9pbnRlciB0byBhbiBhcnJheSBvZiBVVEYtOCBjaGFycworICogQGlubGVuOiAgdGhlIGxlbmd0aCBvZiBAaW4KKyAqCisgKiBUYWtlIGEgYmxvY2sgb2YgVVRGLTggY2hhcnMgaW4gYW5kIHRyeSB0byBjb252ZXJ0IGl0IHRvIGFuIElTTyBMYXRpbiAxCisgKiBibG9jayBvZiBjaGFycyBvdXQuCisgKgorICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIGJ5dGVzIHdyaXR0ZW4gaWYgc3VjY2VzcywgLTIgaWYgdGhlIHRyYW5zY29kaW5nIGZhaWxzLAorICAgICAgICAgICBvciAtMSBvdGhlcndpc2UKKyAqIFRoZSB2YWx1ZSBvZiBAaW5sZW4gYWZ0ZXIgcmV0dXJuIGlzIHRoZSBudW1iZXIgb2Ygb2N0ZXRzIGNvbnN1bWVkCisgKiAgICAgaWYgdGhlIHJldHVybiB2YWx1ZSBpcyBwb3NpdGl2ZSwgZWxzZSB1bnByZWRpY3RhYmxlLgorICogVGhlIHZhbHVlIG9mIEBvdXRsZW4gYWZ0ZXIgcmV0dXJuIGlzIHRoZSBudW1iZXIgb2Ygb2N0ZXRzIGNvbnN1bWVkLgorICovCitpbnQKK1VURjhUb2lzb2xhdDEodW5zaWduZWQgY2hhciogb3V0LCBpbnQgKm91dGxlbiwKKyAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciogaW4sIGludCAqaW5sZW4pIHsKKyAgICBjb25zdCB1bnNpZ25lZCBjaGFyKiBwcm9jZXNzZWQgPSBpbjsKKyAgICBjb25zdCB1bnNpZ25lZCBjaGFyKiBvdXRlbmQ7CisgICAgY29uc3QgdW5zaWduZWQgY2hhciogb3V0c3RhcnQgPSBvdXQ7CisgICAgY29uc3QgdW5zaWduZWQgY2hhciogaW5zdGFydCA9IGluOworICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGluZW5kOworICAgIHVuc2lnbmVkIGludCBjLCBkOworICAgIGludCB0cmFpbGluZzsKKworICAgIGlmICgob3V0ID09IE5VTEwpIHx8IChvdXRsZW4gPT0gTlVMTCkgfHwgKGlubGVuID09IE5VTEwpKSByZXR1cm4oLTEpOworICAgIGlmIChpbiA9PSBOVUxMKSB7CisgICAgICAgIC8qCisJICogaW5pdGlhbGl6YXRpb24gbm90aGluZyB0byBkbworCSAqLworCSpvdXRsZW4gPSAwOworCSppbmxlbiA9IDA7CisJcmV0dXJuKDApOworICAgIH0KKyAgICBpbmVuZCA9IGluICsgKCppbmxlbik7CisgICAgb3V0ZW5kID0gb3V0ICsgKCpvdXRsZW4pOworICAgIHdoaWxlIChpbiA8IGluZW5kKSB7CisJZCA9ICppbisrOworCWlmICAgICAgKGQgPCAweDgwKSAgeyBjPSBkOyB0cmFpbGluZz0gMDsgfQorCWVsc2UgaWYgKGQgPCAweEMwKSB7CisJICAgIC8qIHRyYWlsaW5nIGJ5dGUgaW4gbGVhZGluZyBwb3NpdGlvbiAqLworCSAgICAqb3V0bGVuID0gb3V0IC0gb3V0c3RhcnQ7CisJICAgICppbmxlbiA9IHByb2Nlc3NlZCAtIGluc3RhcnQ7CisJICAgIHJldHVybigtMik7CisgICAgICAgIH0gZWxzZSBpZiAoZCA8IDB4RTApICB7IGM9IGQgJiAweDFGOyB0cmFpbGluZz0gMTsgfQorICAgICAgICBlbHNlIGlmIChkIDwgMHhGMCkgIHsgYz0gZCAmIDB4MEY7IHRyYWlsaW5nPSAyOyB9CisgICAgICAgIGVsc2UgaWYgKGQgPCAweEY4KSAgeyBjPSBkICYgMHgwNzsgdHJhaWxpbmc9IDM7IH0KKwllbHNlIHsKKwkgICAgLyogbm8gY2hhbmNlIGZvciB0aGlzIGluIElzb0xhdDEgKi8KKwkgICAgKm91dGxlbiA9IG91dCAtIG91dHN0YXJ0OworCSAgICAqaW5sZW4gPSBwcm9jZXNzZWQgLSBpbnN0YXJ0OworCSAgICByZXR1cm4oLTIpOworCX0KKworCWlmIChpbmVuZCAtIGluIDwgdHJhaWxpbmcpIHsKKwkgICAgYnJlYWs7CisJfQorCisJZm9yICggOyB0cmFpbGluZzsgdHJhaWxpbmctLSkgeworCSAgICBpZiAoaW4gPj0gaW5lbmQpCisJCWJyZWFrOworCSAgICBpZiAoKChkPSAqaW4rKykgJiAweEMwKSAhPSAweDgwKSB7CisJCSpvdXRsZW4gPSBvdXQgLSBvdXRzdGFydDsKKwkJKmlubGVuID0gcHJvY2Vzc2VkIC0gaW5zdGFydDsKKwkJcmV0dXJuKC0yKTsKKwkgICAgfQorCSAgICBjIDw8PSA2OworCSAgICBjIHw9IGQgJiAweDNGOworCX0KKworCS8qIGFzc2VydGlvbjogYyBpcyBhIHNpbmdsZSBVVEYtNCB2YWx1ZSAqLworCWlmIChjIDw9IDB4RkYpIHsKKwkgICAgaWYgKG91dCA+PSBvdXRlbmQpCisJCWJyZWFrOworCSAgICAqb3V0KysgPSBjOworCX0gZWxzZSB7CisJICAgIC8qIG5vIGNoYW5jZSBmb3IgdGhpcyBpbiBJc29MYXQxICovCisJICAgICpvdXRsZW4gPSBvdXQgLSBvdXRzdGFydDsKKwkgICAgKmlubGVuID0gcHJvY2Vzc2VkIC0gaW5zdGFydDsKKwkgICAgcmV0dXJuKC0yKTsKKwl9CisJcHJvY2Vzc2VkID0gaW47CisgICAgfQorICAgICpvdXRsZW4gPSBvdXQgLSBvdXRzdGFydDsKKyAgICAqaW5sZW4gPSBwcm9jZXNzZWQgLSBpbnN0YXJ0OworICAgIHJldHVybigqb3V0bGVuKTsKK30KKyNlbmRpZiAvKiBMSUJYTUxfT1VUUFVUX0VOQUJMRUQgKi8KKworLyoqCisgKiBVVEYxNkxFVG9VVEY4OgorICogQG91dDogIGEgcG9pbnRlciB0byBhbiBhcnJheSBvZiBieXRlcyB0byBzdG9yZSB0aGUgcmVzdWx0CisgKiBAb3V0bGVuOiAgdGhlIGxlbmd0aCBvZiBAb3V0CisgKiBAaW5iOiAgYSBwb2ludGVyIHRvIGFuIGFycmF5IG9mIFVURi0xNkxFIHBhc3N3ZCBhcyBhIGJ5dGUgYXJyYXkKKyAqIEBpbmxlbmI6ICB0aGUgbGVuZ3RoIG9mIEBpbiBpbiBVVEYtMTZMRSBjaGFycworICoKKyAqIFRha2UgYSBibG9jayBvZiBVVEYtMTZMRSB1c2hvcnRzIGluIGFuZCB0cnkgdG8gY29udmVydCBpdCB0byBhbiBVVEYtOAorICogYmxvY2sgb2YgY2hhcnMgb3V0LiBUaGlzIGZ1bmN0aW9uIGFzc3VtZXMgdGhlIGVuZGlhbiBwcm9wZXJ0eQorICogaXMgdGhlIHNhbWUgYmV0d2VlbiB0aGUgbmF0aXZlIHR5cGUgb2YgdGhpcyBtYWNoaW5lIGFuZCB0aGUKKyAqIGlucHV0ZWQgb25lLgorICoKKyAqIFJldHVybnMgdGhlIG51bWJlciBvZiBieXRlcyB3cml0dGVuLCBvciAtMSBpZiBsYWNrIG9mIHNwYWNlLCBvciAtMgorICogICAgIGlmIHRoZSB0cmFuc2NvZGluZyBmYWlscyAoaWYgKmluIGlzIG5vdCBhIHZhbGlkIHV0ZjE2IHN0cmluZykKKyAqICAgICBUaGUgdmFsdWUgb2YgKmlubGVuIGFmdGVyIHJldHVybiBpcyB0aGUgbnVtYmVyIG9mIG9jdGV0cyBjb25zdW1lZAorICogICAgIGlmIHRoZSByZXR1cm4gdmFsdWUgaXMgcG9zaXRpdmUsIGVsc2UgdW5wcmVkaWN0YWJsZS4KKyAqLworc3RhdGljIGludAorVVRGMTZMRVRvVVRGOCh1bnNpZ25lZCBjaGFyKiBvdXQsIGludCAqb3V0bGVuLAorICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciogaW5iLCBpbnQgKmlubGVuYikKK3sKKyAgICB1bnNpZ25lZCBjaGFyKiBvdXRzdGFydCA9IG91dDsKKyAgICBjb25zdCB1bnNpZ25lZCBjaGFyKiBwcm9jZXNzZWQgPSBpbmI7CisgICAgdW5zaWduZWQgY2hhciogb3V0ZW5kID0gb3V0ICsgKm91dGxlbjsKKyAgICB1bnNpZ25lZCBzaG9ydCogaW4gPSAodW5zaWduZWQgc2hvcnQqKSBpbmI7CisgICAgdW5zaWduZWQgc2hvcnQqIGluZW5kOworICAgIHVuc2lnbmVkIGludCBjLCBkLCBpbmxlbjsKKyAgICB1bnNpZ25lZCBjaGFyICp0bXA7CisgICAgaW50IGJpdHM7CisKKyAgICBpZiAoKCppbmxlbmIgJSAyKSA9PSAxKQorICAgICAgICAoKmlubGVuYiktLTsKKyAgICBpbmxlbiA9ICppbmxlbmIgLyAyOworICAgIGluZW5kID0gaW4gKyBpbmxlbjsKKyAgICB3aGlsZSAoKGluIDwgaW5lbmQpICYmIChvdXQgLSBvdXRzdGFydCArIDUgPCAqb3V0bGVuKSkgeworICAgICAgICBpZiAoeG1sTGl0dGxlRW5kaWFuKSB7CisJICAgIGM9ICppbisrOworCX0gZWxzZSB7CisJICAgIHRtcCA9ICh1bnNpZ25lZCBjaGFyICopIGluOworCSAgICBjID0gKnRtcCsrOworCSAgICBjID0gYyB8ICgoKHVuc2lnbmVkIGludCkqdG1wKSA8PCA4KTsKKwkgICAgaW4rKzsKKwl9CisgICAgICAgIGlmICgoYyAmIDB4RkMwMCkgPT0gMHhEODAwKSB7ICAgIC8qIHN1cnJvZ2F0ZXMgKi8KKwkgICAgaWYgKGluID49IGluZW5kKSB7ICAgICAgICAgICAvKiAoaW4gPiBpbmVuZCkgc2hvdWxkbid0IGhhcHBlbnMgKi8KKwkJYnJlYWs7CisJICAgIH0KKwkgICAgaWYgKHhtbExpdHRsZUVuZGlhbikgeworCQlkID0gKmluKys7CisJICAgIH0gZWxzZSB7CisJCXRtcCA9ICh1bnNpZ25lZCBjaGFyICopIGluOworCQlkID0gKnRtcCsrOworCQlkID0gZCB8ICgoKHVuc2lnbmVkIGludCkqdG1wKSA8PCA4KTsKKwkJaW4rKzsKKwkgICAgfQorICAgICAgICAgICAgaWYgKChkICYgMHhGQzAwKSA9PSAweERDMDApIHsKKyAgICAgICAgICAgICAgICBjICY9IDB4MDNGRjsKKyAgICAgICAgICAgICAgICBjIDw8PSAxMDsKKyAgICAgICAgICAgICAgICBjIHw9IGQgJiAweDAzRkY7CisgICAgICAgICAgICAgICAgYyArPSAweDEwMDAwOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZWxzZSB7CisJCSpvdXRsZW4gPSBvdXQgLSBvdXRzdGFydDsKKwkJKmlubGVuYiA9IHByb2Nlc3NlZCAtIGluYjsKKwkgICAgICAgIHJldHVybigtMik7CisJICAgIH0KKyAgICAgICAgfQorCisJLyogYXNzZXJ0aW9uOiBjIGlzIGEgc2luZ2xlIFVURi00IHZhbHVlICovCisgICAgICAgIGlmIChvdXQgPj0gb3V0ZW5kKQorCSAgICBicmVhazsKKyAgICAgICAgaWYgICAgICAoYyA8ICAgIDB4ODApIHsgICpvdXQrKz0gIGM7ICAgICAgICAgICAgICAgIGJpdHM9IC02OyB9CisgICAgICAgIGVsc2UgaWYgKGMgPCAgIDB4ODAwKSB7ICAqb3V0Kys9ICgoYyA+PiAgNikgJiAweDFGKSB8IDB4QzA7ICBiaXRzPSAgMDsgfQorICAgICAgICBlbHNlIGlmIChjIDwgMHgxMDAwMCkgeyAgKm91dCsrPSAoKGMgPj4gMTIpICYgMHgwRikgfCAweEUwOyAgYml0cz0gIDY7IH0KKyAgICAgICAgZWxzZSAgICAgICAgICAgICAgICAgIHsgICpvdXQrKz0gKChjID4+IDE4KSAmIDB4MDcpIHwgMHhGMDsgIGJpdHM9IDEyOyB9CisKKyAgICAgICAgZm9yICggOyBiaXRzID49IDA7IGJpdHMtPSA2KSB7CisgICAgICAgICAgICBpZiAob3V0ID49IG91dGVuZCkKKwkgICAgICAgIGJyZWFrOworICAgICAgICAgICAgKm91dCsrPSAoKGMgPj4gYml0cykgJiAweDNGKSB8IDB4ODA7CisgICAgICAgIH0KKwlwcm9jZXNzZWQgPSAoY29uc3QgdW5zaWduZWQgY2hhciopIGluOworICAgIH0KKyAgICAqb3V0bGVuID0gb3V0IC0gb3V0c3RhcnQ7CisgICAgKmlubGVuYiA9IHByb2Nlc3NlZCAtIGluYjsKKyAgICByZXR1cm4oKm91dGxlbik7Cit9CisKKyNpZmRlZiBMSUJYTUxfT1VUUFVUX0VOQUJMRUQKKy8qKgorICogVVRGOFRvVVRGMTZMRToKKyAqIEBvdXRiOiAgYSBwb2ludGVyIHRvIGFuIGFycmF5IG9mIGJ5dGVzIHRvIHN0b3JlIHRoZSByZXN1bHQKKyAqIEBvdXRsZW46ICB0aGUgbGVuZ3RoIG9mIEBvdXRiCisgKiBAaW46ICBhIHBvaW50ZXIgdG8gYW4gYXJyYXkgb2YgVVRGLTggY2hhcnMKKyAqIEBpbmxlbjogIHRoZSBsZW5ndGggb2YgQGluCisgKgorICogVGFrZSBhIGJsb2NrIG9mIFVURi04IGNoYXJzIGluIGFuZCB0cnkgdG8gY29udmVydCBpdCB0byBhbiBVVEYtMTZMRQorICogYmxvY2sgb2YgY2hhcnMgb3V0LgorICoKKyAqIFJldHVybnMgdGhlIG51bWJlciBvZiBieXRlcyB3cml0dGVuLCBvciAtMSBpZiBsYWNrIG9mIHNwYWNlLCBvciAtMgorICogICAgIGlmIHRoZSB0cmFuc2NvZGluZyBmYWlsZWQuCisgKi8KK3N0YXRpYyBpbnQKK1VURjhUb1VURjE2TEUodW5zaWduZWQgY2hhciogb3V0YiwgaW50ICpvdXRsZW4sCisgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyKiBpbiwgaW50ICppbmxlbikKK3sKKyAgICB1bnNpZ25lZCBzaG9ydCogb3V0ID0gKHVuc2lnbmVkIHNob3J0Kikgb3V0YjsKKyAgICBjb25zdCB1bnNpZ25lZCBjaGFyKiBwcm9jZXNzZWQgPSBpbjsKKyAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpjb25zdCBpbnN0YXJ0ID0gaW47CisgICAgdW5zaWduZWQgc2hvcnQqIG91dHN0YXJ0PSBvdXQ7CisgICAgdW5zaWduZWQgc2hvcnQqIG91dGVuZDsKKyAgICBjb25zdCB1bnNpZ25lZCBjaGFyKiBpbmVuZDsKKyAgICB1bnNpZ25lZCBpbnQgYywgZDsKKyAgICBpbnQgdHJhaWxpbmc7CisgICAgdW5zaWduZWQgY2hhciAqdG1wOworICAgIHVuc2lnbmVkIHNob3J0IHRtcDEsIHRtcDI7CisKKyAgICAvKiBVVEYxNkxFIGVuY29kaW5nIGhhcyBubyBCT00gKi8KKyAgICBpZiAoKG91dCA9PSBOVUxMKSB8fCAob3V0bGVuID09IE5VTEwpIHx8IChpbmxlbiA9PSBOVUxMKSkgcmV0dXJuKC0xKTsKKyAgICBpZiAoaW4gPT0gTlVMTCkgeworCSpvdXRsZW4gPSAwOworCSppbmxlbiA9IDA7CisJcmV0dXJuKDApOworICAgIH0KKyAgICBpbmVuZD0gaW4gKyAqaW5sZW47CisgICAgb3V0ZW5kID0gb3V0ICsgKCpvdXRsZW4gLyAyKTsKKyAgICB3aGlsZSAoaW4gPCBpbmVuZCkgeworICAgICAgZD0gKmluKys7CisgICAgICBpZiAgICAgIChkIDwgMHg4MCkgIHsgYz0gZDsgdHJhaWxpbmc9IDA7IH0KKyAgICAgIGVsc2UgaWYgKGQgPCAweEMwKSB7CisgICAgICAgICAgLyogdHJhaWxpbmcgYnl0ZSBpbiBsZWFkaW5nIHBvc2l0aW9uICovCisJICAqb3V0bGVuID0gKG91dCAtIG91dHN0YXJ0KSAqIDI7CisJICAqaW5sZW4gPSBwcm9jZXNzZWQgLSBpbnN0YXJ0OworCSAgcmV0dXJuKC0yKTsKKyAgICAgIH0gZWxzZSBpZiAoZCA8IDB4RTApICB7IGM9IGQgJiAweDFGOyB0cmFpbGluZz0gMTsgfQorICAgICAgZWxzZSBpZiAoZCA8IDB4RjApICB7IGM9IGQgJiAweDBGOyB0cmFpbGluZz0gMjsgfQorICAgICAgZWxzZSBpZiAoZCA8IDB4RjgpICB7IGM9IGQgJiAweDA3OyB0cmFpbGluZz0gMzsgfQorICAgICAgZWxzZSB7CisJLyogbm8gY2hhbmNlIGZvciB0aGlzIGluIFVURi0xNiAqLworCSpvdXRsZW4gPSAob3V0IC0gb3V0c3RhcnQpICogMjsKKwkqaW5sZW4gPSBwcm9jZXNzZWQgLSBpbnN0YXJ0OworCXJldHVybigtMik7CisgICAgICB9CisKKyAgICAgIGlmIChpbmVuZCAtIGluIDwgdHJhaWxpbmcpIHsKKyAgICAgICAgICBicmVhazsKKyAgICAgIH0KKworICAgICAgZm9yICggOyB0cmFpbGluZzsgdHJhaWxpbmctLSkgeworICAgICAgICAgIGlmICgoaW4gPj0gaW5lbmQpIHx8ICgoKGQ9ICppbisrKSAmIDB4QzApICE9IDB4ODApKQorCSAgICAgIGJyZWFrOworICAgICAgICAgIGMgPDw9IDY7CisgICAgICAgICAgYyB8PSBkICYgMHgzRjsKKyAgICAgIH0KKworICAgICAgLyogYXNzZXJ0aW9uOiBjIGlzIGEgc2luZ2xlIFVURi00IHZhbHVlICovCisgICAgICAgIGlmIChjIDwgMHgxMDAwMCkgeworICAgICAgICAgICAgaWYgKG91dCA+PSBvdXRlbmQpCisJICAgICAgICBicmVhazsKKwkgICAgaWYgKHhtbExpdHRsZUVuZGlhbikgeworCQkqb3V0KysgPSBjOworCSAgICB9IGVsc2UgeworCQl0bXAgPSAodW5zaWduZWQgY2hhciAqKSBvdXQ7CisJCSp0bXAgPSBjIDsKKwkJKih0bXAgKyAxKSA9IGMgPj4gOCA7CisJCW91dCsrOworCSAgICB9CisgICAgICAgIH0KKyAgICAgICAgZWxzZSBpZiAoYyA8IDB4MTEwMDAwKSB7CisgICAgICAgICAgICBpZiAob3V0KzEgPj0gb3V0ZW5kKQorCSAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjIC09IDB4MTAwMDA7CisJICAgIGlmICh4bWxMaXR0bGVFbmRpYW4pIHsKKwkJKm91dCsrID0gMHhEODAwIHwgKGMgPj4gMTApOworCQkqb3V0KysgPSAweERDMDAgfCAoYyAmIDB4MDNGRik7CisJICAgIH0gZWxzZSB7CisJCXRtcDEgPSAweEQ4MDAgfCAoYyA+PiAxMCk7CisJCXRtcCA9ICh1bnNpZ25lZCBjaGFyICopIG91dDsKKwkJKnRtcCA9ICh1bnNpZ25lZCBjaGFyKSB0bXAxOworCQkqKHRtcCArIDEpID0gdG1wMSA+PiA4OworCQlvdXQrKzsKKworCQl0bXAyID0gMHhEQzAwIHwgKGMgJiAweDAzRkYpOworCQl0bXAgPSAodW5zaWduZWQgY2hhciAqKSBvdXQ7CisJCSp0bXAgID0gKHVuc2lnbmVkIGNoYXIpIHRtcDI7CisJCSoodG1wICsgMSkgPSB0bXAyID4+IDg7CisJCW91dCsrOworCSAgICB9CisgICAgICAgIH0KKyAgICAgICAgZWxzZQorCSAgICBicmVhazsKKwlwcm9jZXNzZWQgPSBpbjsKKyAgICB9CisgICAgKm91dGxlbiA9IChvdXQgLSBvdXRzdGFydCkgKiAyOworICAgICppbmxlbiA9IHByb2Nlc3NlZCAtIGluc3RhcnQ7CisgICAgcmV0dXJuKCpvdXRsZW4pOworfQorCisvKioKKyAqIFVURjhUb1VURjE2OgorICogQG91dGI6ICBhIHBvaW50ZXIgdG8gYW4gYXJyYXkgb2YgYnl0ZXMgdG8gc3RvcmUgdGhlIHJlc3VsdAorICogQG91dGxlbjogIHRoZSBsZW5ndGggb2YgQG91dGIKKyAqIEBpbjogIGEgcG9pbnRlciB0byBhbiBhcnJheSBvZiBVVEYtOCBjaGFycworICogQGlubGVuOiAgdGhlIGxlbmd0aCBvZiBAaW4KKyAqCisgKiBUYWtlIGEgYmxvY2sgb2YgVVRGLTggY2hhcnMgaW4gYW5kIHRyeSB0byBjb252ZXJ0IGl0IHRvIGFuIFVURi0xNgorICogYmxvY2sgb2YgY2hhcnMgb3V0LgorICoKKyAqIFJldHVybnMgdGhlIG51bWJlciBvZiBieXRlcyB3cml0dGVuLCBvciAtMSBpZiBsYWNrIG9mIHNwYWNlLCBvciAtMgorICogICAgIGlmIHRoZSB0cmFuc2NvZGluZyBmYWlsZWQuCisgKi8KK3N0YXRpYyBpbnQKK1VURjhUb1VURjE2KHVuc2lnbmVkIGNoYXIqIG91dGIsIGludCAqb3V0bGVuLAorICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciogaW4sIGludCAqaW5sZW4pCit7CisgICAgaWYgKGluID09IE5VTEwpIHsKKwkvKgorCSAqIGluaXRpYWxpemF0aW9uLCBhZGQgdGhlIEJ5dGUgT3JkZXIgTWFyayBmb3IgVVRGLTE2TEUKKwkgKi8KKyAgICAgICAgaWYgKCpvdXRsZW4gPj0gMikgeworCSAgICBvdXRiWzBdID0gMHhGRjsKKwkgICAgb3V0YlsxXSA9IDB4RkU7CisJICAgICpvdXRsZW4gPSAyOworCSAgICAqaW5sZW4gPSAwOworI2lmZGVmIERFQlVHX0VOQ09ESU5HCisgICAgICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJICAgICJBZGRlZCBGRkZFIEJ5dGUgT3JkZXIgTWFya1xuIik7CisjZW5kaWYKKwkgICAgcmV0dXJuKDIpOworCX0KKwkqb3V0bGVuID0gMDsKKwkqaW5sZW4gPSAwOworCXJldHVybigwKTsKKyAgICB9CisgICAgcmV0dXJuIChVVEY4VG9VVEYxNkxFKG91dGIsIG91dGxlbiwgaW4sIGlubGVuKSk7Cit9CisjZW5kaWYgLyogTElCWE1MX09VVFBVVF9FTkFCTEVEICovCisKKy8qKgorICogVVRGMTZCRVRvVVRGODoKKyAqIEBvdXQ6ICBhIHBvaW50ZXIgdG8gYW4gYXJyYXkgb2YgYnl0ZXMgdG8gc3RvcmUgdGhlIHJlc3VsdAorICogQG91dGxlbjogIHRoZSBsZW5ndGggb2YgQG91dAorICogQGluYjogIGEgcG9pbnRlciB0byBhbiBhcnJheSBvZiBVVEYtMTYgcGFzc2VkIGFzIGEgYnl0ZSBhcnJheQorICogQGlubGVuYjogIHRoZSBsZW5ndGggb2YgQGluIGluIFVURi0xNiBjaGFycworICoKKyAqIFRha2UgYSBibG9jayBvZiBVVEYtMTYgdXNob3J0cyBpbiBhbmQgdHJ5IHRvIGNvbnZlcnQgaXQgdG8gYW4gVVRGLTgKKyAqIGJsb2NrIG9mIGNoYXJzIG91dC4gVGhpcyBmdW5jdGlvbiBhc3N1bWVzIHRoZSBlbmRpYW4gcHJvcGVydHkKKyAqIGlzIHRoZSBzYW1lIGJldHdlZW4gdGhlIG5hdGl2ZSB0eXBlIG9mIHRoaXMgbWFjaGluZSBhbmQgdGhlCisgKiBpbnB1dGVkIG9uZS4KKyAqCisgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgYnl0ZXMgd3JpdHRlbiwgb3IgLTEgaWYgbGFjayBvZiBzcGFjZSwgb3IgLTIKKyAqICAgICBpZiB0aGUgdHJhbnNjb2RpbmcgZmFpbHMgKGlmICppbiBpcyBub3QgYSB2YWxpZCB1dGYxNiBzdHJpbmcpCisgKiBUaGUgdmFsdWUgb2YgKmlubGVuIGFmdGVyIHJldHVybiBpcyB0aGUgbnVtYmVyIG9mIG9jdGV0cyBjb25zdW1lZAorICogICAgIGlmIHRoZSByZXR1cm4gdmFsdWUgaXMgcG9zaXRpdmUsIGVsc2UgdW5wcmVkaWN0YWJsZS4KKyAqLworc3RhdGljIGludAorVVRGMTZCRVRvVVRGOCh1bnNpZ25lZCBjaGFyKiBvdXQsIGludCAqb3V0bGVuLAorICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciogaW5iLCBpbnQgKmlubGVuYikKK3sKKyAgICB1bnNpZ25lZCBjaGFyKiBvdXRzdGFydCA9IG91dDsKKyAgICBjb25zdCB1bnNpZ25lZCBjaGFyKiBwcm9jZXNzZWQgPSBpbmI7CisgICAgdW5zaWduZWQgY2hhciogb3V0ZW5kID0gb3V0ICsgKm91dGxlbjsKKyAgICB1bnNpZ25lZCBzaG9ydCogaW4gPSAodW5zaWduZWQgc2hvcnQqKSBpbmI7CisgICAgdW5zaWduZWQgc2hvcnQqIGluZW5kOworICAgIHVuc2lnbmVkIGludCBjLCBkLCBpbmxlbjsKKyAgICB1bnNpZ25lZCBjaGFyICp0bXA7CisgICAgaW50IGJpdHM7CisKKyAgICBpZiAoKCppbmxlbmIgJSAyKSA9PSAxKQorICAgICAgICAoKmlubGVuYiktLTsKKyAgICBpbmxlbiA9ICppbmxlbmIgLyAyOworICAgIGluZW5kPSBpbiArIGlubGVuOworICAgIHdoaWxlIChpbiA8IGluZW5kKSB7CisJaWYgKHhtbExpdHRsZUVuZGlhbikgeworCSAgICB0bXAgPSAodW5zaWduZWQgY2hhciAqKSBpbjsKKwkgICAgYyA9ICp0bXArKzsKKwkgICAgYyA9IGMgPDwgODsKKwkgICAgYyA9IGMgfCAodW5zaWduZWQgaW50KSAqdG1wOworCSAgICBpbisrOworCX0gZWxzZSB7CisJICAgIGM9ICppbisrOworCX0KKyAgICAgICAgaWYgKChjICYgMHhGQzAwKSA9PSAweEQ4MDApIHsgICAgLyogc3Vycm9nYXRlcyAqLworCSAgICBpZiAoaW4gPj0gaW5lbmQpIHsgICAgICAgICAgIC8qIChpbiA+IGluZW5kKSBzaG91bGRuJ3QgaGFwcGVucyAqLworCQkqb3V0bGVuID0gb3V0IC0gb3V0c3RhcnQ7CisJCSppbmxlbmIgPSBwcm9jZXNzZWQgLSBpbmI7CisJICAgICAgICByZXR1cm4oLTIpOworCSAgICB9CisJICAgIGlmICh4bWxMaXR0bGVFbmRpYW4pIHsKKwkJdG1wID0gKHVuc2lnbmVkIGNoYXIgKikgaW47CisJCWQgPSAqdG1wKys7CisJCWQgPSBkIDw8IDg7CisJCWQgPSBkIHwgKHVuc2lnbmVkIGludCkgKnRtcDsKKwkJaW4rKzsKKwkgICAgfSBlbHNlIHsKKwkJZD0gKmluKys7CisJICAgIH0KKyAgICAgICAgICAgIGlmICgoZCAmIDB4RkMwMCkgPT0gMHhEQzAwKSB7CisgICAgICAgICAgICAgICAgYyAmPSAweDAzRkY7CisgICAgICAgICAgICAgICAgYyA8PD0gMTA7CisgICAgICAgICAgICAgICAgYyB8PSBkICYgMHgwM0ZGOworICAgICAgICAgICAgICAgIGMgKz0gMHgxMDAwMDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGVsc2UgeworCQkqb3V0bGVuID0gb3V0IC0gb3V0c3RhcnQ7CisJCSppbmxlbmIgPSBwcm9jZXNzZWQgLSBpbmI7CisJICAgICAgICByZXR1cm4oLTIpOworCSAgICB9CisgICAgICAgIH0KKworCS8qIGFzc2VydGlvbjogYyBpcyBhIHNpbmdsZSBVVEYtNCB2YWx1ZSAqLworICAgICAgICBpZiAob3V0ID49IG91dGVuZCkKKwkgICAgYnJlYWs7CisgICAgICAgIGlmICAgICAgKGMgPCAgICAweDgwKSB7ICAqb3V0Kys9ICBjOyAgICAgICAgICAgICAgICBiaXRzPSAtNjsgfQorICAgICAgICBlbHNlIGlmIChjIDwgICAweDgwMCkgeyAgKm91dCsrPSAoKGMgPj4gIDYpICYgMHgxRikgfCAweEMwOyAgYml0cz0gIDA7IH0KKyAgICAgICAgZWxzZSBpZiAoYyA8IDB4MTAwMDApIHsgICpvdXQrKz0gKChjID4+IDEyKSAmIDB4MEYpIHwgMHhFMDsgIGJpdHM9ICA2OyB9CisgICAgICAgIGVsc2UgICAgICAgICAgICAgICAgICB7ICAqb3V0Kys9ICgoYyA+PiAxOCkgJiAweDA3KSB8IDB4RjA7ICBiaXRzPSAxMjsgfQorCisgICAgICAgIGZvciAoIDsgYml0cyA+PSAwOyBiaXRzLT0gNikgeworICAgICAgICAgICAgaWYgKG91dCA+PSBvdXRlbmQpCisJICAgICAgICBicmVhazsKKyAgICAgICAgICAgICpvdXQrKz0gKChjID4+IGJpdHMpICYgMHgzRikgfCAweDgwOworICAgICAgICB9CisJcHJvY2Vzc2VkID0gKGNvbnN0IHVuc2lnbmVkIGNoYXIqKSBpbjsKKyAgICB9CisgICAgKm91dGxlbiA9IG91dCAtIG91dHN0YXJ0OworICAgICppbmxlbmIgPSBwcm9jZXNzZWQgLSBpbmI7CisgICAgcmV0dXJuKCpvdXRsZW4pOworfQorCisjaWZkZWYgTElCWE1MX09VVFBVVF9FTkFCTEVECisvKioKKyAqIFVURjhUb1VURjE2QkU6CisgKiBAb3V0YjogIGEgcG9pbnRlciB0byBhbiBhcnJheSBvZiBieXRlcyB0byBzdG9yZSB0aGUgcmVzdWx0CisgKiBAb3V0bGVuOiAgdGhlIGxlbmd0aCBvZiBAb3V0YgorICogQGluOiAgYSBwb2ludGVyIHRvIGFuIGFycmF5IG9mIFVURi04IGNoYXJzCisgKiBAaW5sZW46ICB0aGUgbGVuZ3RoIG9mIEBpbgorICoKKyAqIFRha2UgYSBibG9jayBvZiBVVEYtOCBjaGFycyBpbiBhbmQgdHJ5IHRvIGNvbnZlcnQgaXQgdG8gYW4gVVRGLTE2QkUKKyAqIGJsb2NrIG9mIGNoYXJzIG91dC4KKyAqCisgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgYnl0ZSB3cml0dGVuLCBvciAtMSBieSBsYWNrIG9mIHNwYWNlLCBvciAtMgorICogICAgIGlmIHRoZSB0cmFuc2NvZGluZyBmYWlsZWQuCisgKi8KK3N0YXRpYyBpbnQKK1VURjhUb1VURjE2QkUodW5zaWduZWQgY2hhciogb3V0YiwgaW50ICpvdXRsZW4sCisgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyKiBpbiwgaW50ICppbmxlbikKK3sKKyAgICB1bnNpZ25lZCBzaG9ydCogb3V0ID0gKHVuc2lnbmVkIHNob3J0Kikgb3V0YjsKKyAgICBjb25zdCB1bnNpZ25lZCBjaGFyKiBwcm9jZXNzZWQgPSBpbjsKKyAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpjb25zdCBpbnN0YXJ0ID0gaW47CisgICAgdW5zaWduZWQgc2hvcnQqIG91dHN0YXJ0PSBvdXQ7CisgICAgdW5zaWduZWQgc2hvcnQqIG91dGVuZDsKKyAgICBjb25zdCB1bnNpZ25lZCBjaGFyKiBpbmVuZDsKKyAgICB1bnNpZ25lZCBpbnQgYywgZDsKKyAgICBpbnQgdHJhaWxpbmc7CisgICAgdW5zaWduZWQgY2hhciAqdG1wOworICAgIHVuc2lnbmVkIHNob3J0IHRtcDEsIHRtcDI7CisKKyAgICAvKiBVVEYtMTZCRSBoYXMgbm8gQk9NICovCisgICAgaWYgKChvdXRiID09IE5VTEwpIHx8IChvdXRsZW4gPT0gTlVMTCkgfHwgKGlubGVuID09IE5VTEwpKSByZXR1cm4oLTEpOworICAgIGlmIChpbiA9PSBOVUxMKSB7CisJKm91dGxlbiA9IDA7CisJKmlubGVuID0gMDsKKwlyZXR1cm4oMCk7CisgICAgfQorICAgIGluZW5kPSBpbiArICppbmxlbjsKKyAgICBvdXRlbmQgPSBvdXQgKyAoKm91dGxlbiAvIDIpOworICAgIHdoaWxlIChpbiA8IGluZW5kKSB7CisgICAgICBkPSAqaW4rKzsKKyAgICAgIGlmICAgICAgKGQgPCAweDgwKSAgeyBjPSBkOyB0cmFpbGluZz0gMDsgfQorICAgICAgZWxzZSBpZiAoZCA8IDB4QzApICB7CisgICAgICAgICAgLyogdHJhaWxpbmcgYnl0ZSBpbiBsZWFkaW5nIHBvc2l0aW9uICovCisJICAqb3V0bGVuID0gb3V0IC0gb3V0c3RhcnQ7CisJICAqaW5sZW4gPSBwcm9jZXNzZWQgLSBpbnN0YXJ0OworCSAgcmV0dXJuKC0yKTsKKyAgICAgIH0gZWxzZSBpZiAoZCA8IDB4RTApICB7IGM9IGQgJiAweDFGOyB0cmFpbGluZz0gMTsgfQorICAgICAgZWxzZSBpZiAoZCA8IDB4RjApICB7IGM9IGQgJiAweDBGOyB0cmFpbGluZz0gMjsgfQorICAgICAgZWxzZSBpZiAoZCA8IDB4RjgpICB7IGM9IGQgJiAweDA3OyB0cmFpbGluZz0gMzsgfQorICAgICAgZWxzZSB7CisgICAgICAgICAgLyogbm8gY2hhbmNlIGZvciB0aGlzIGluIFVURi0xNiAqLworCSAgKm91dGxlbiA9IG91dCAtIG91dHN0YXJ0OworCSAgKmlubGVuID0gcHJvY2Vzc2VkIC0gaW5zdGFydDsKKwkgIHJldHVybigtMik7CisgICAgICB9CisKKyAgICAgIGlmIChpbmVuZCAtIGluIDwgdHJhaWxpbmcpIHsKKyAgICAgICAgICBicmVhazsKKyAgICAgIH0KKworICAgICAgZm9yICggOyB0cmFpbGluZzsgdHJhaWxpbmctLSkgeworICAgICAgICAgIGlmICgoaW4gPj0gaW5lbmQpIHx8ICgoKGQ9ICppbisrKSAmIDB4QzApICE9IDB4ODApKSAgYnJlYWs7CisgICAgICAgICAgYyA8PD0gNjsKKyAgICAgICAgICBjIHw9IGQgJiAweDNGOworICAgICAgfQorCisgICAgICAvKiBhc3NlcnRpb246IGMgaXMgYSBzaW5nbGUgVVRGLTQgdmFsdWUgKi8KKyAgICAgICAgaWYgKGMgPCAweDEwMDAwKSB7CisgICAgICAgICAgICBpZiAob3V0ID49IG91dGVuZCkgIGJyZWFrOworCSAgICBpZiAoeG1sTGl0dGxlRW5kaWFuKSB7CisJCXRtcCA9ICh1bnNpZ25lZCBjaGFyICopIG91dDsKKwkJKnRtcCA9IGMgPj4gODsKKwkJKih0bXAgKyAxKSA9IGM7CisJCW91dCsrOworCSAgICB9IGVsc2UgeworCQkqb3V0KysgPSBjOworCSAgICB9CisgICAgICAgIH0KKyAgICAgICAgZWxzZSBpZiAoYyA8IDB4MTEwMDAwKSB7CisgICAgICAgICAgICBpZiAob3V0KzEgPj0gb3V0ZW5kKSAgYnJlYWs7CisgICAgICAgICAgICBjIC09IDB4MTAwMDA7CisJICAgIGlmICh4bWxMaXR0bGVFbmRpYW4pIHsKKwkJdG1wMSA9IDB4RDgwMCB8IChjID4+IDEwKTsKKwkJdG1wID0gKHVuc2lnbmVkIGNoYXIgKikgb3V0OworCQkqdG1wID0gdG1wMSA+PiA4OworCQkqKHRtcCArIDEpID0gKHVuc2lnbmVkIGNoYXIpIHRtcDE7CisJCW91dCsrOworCisJCXRtcDIgPSAweERDMDAgfCAoYyAmIDB4MDNGRik7CisJCXRtcCA9ICh1bnNpZ25lZCBjaGFyICopIG91dDsKKwkJKnRtcCA9IHRtcDIgPj4gODsKKwkJKih0bXAgKyAxKSA9ICh1bnNpZ25lZCBjaGFyKSB0bXAyOworCQlvdXQrKzsKKwkgICAgfSBlbHNlIHsKKwkJKm91dCsrID0gMHhEODAwIHwgKGMgPj4gMTApOworCQkqb3V0KysgPSAweERDMDAgfCAoYyAmIDB4MDNGRik7CisJICAgIH0KKyAgICAgICAgfQorICAgICAgICBlbHNlCisJICAgIGJyZWFrOworCXByb2Nlc3NlZCA9IGluOworICAgIH0KKyAgICAqb3V0bGVuID0gKG91dCAtIG91dHN0YXJ0KSAqIDI7CisgICAgKmlubGVuID0gcHJvY2Vzc2VkIC0gaW5zdGFydDsKKyAgICByZXR1cm4oKm91dGxlbik7Cit9CisjZW5kaWYgLyogTElCWE1MX09VVFBVVF9FTkFCTEVEICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCUdlbmVyaWMgZW5jb2RpbmcgaGFuZGxpbmcgcm91dGluZXMJCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKgorICogeG1sRGV0ZWN0Q2hhckVuY29kaW5nOgorICogQGluOiAgYSBwb2ludGVyIHRvIHRoZSBmaXJzdCBieXRlcyBvZiB0aGUgWE1MIGVudGl0eSwgbXVzdCBiZSBhdCBsZWFzdAorICogICAgICAgMiBieXRlcyBsb25nIChhdCBsZWFzdCA0IGlmIGVuY29kaW5nIGlzIFVURjQgdmFyaWFudCkuCisgKiBAbGVuOiAgcG9pbnRlciB0byB0aGUgbGVuZ3RoIG9mIHRoZSBidWZmZXIKKyAqCisgKiBHdWVzcyB0aGUgZW5jb2Rpbmcgb2YgdGhlIGVudGl0eSB1c2luZyB0aGUgZmlyc3QgYnl0ZXMgb2YgdGhlIGVudGl0eSBjb250ZW50CisgKiBhY2NvcmRpbmcgdG8gdGhlIG5vbi1ub3JtYXRpdmUgYXBwZW5kaXggRiBvZiB0aGUgWE1MLTEuMCByZWNvbW1lbmRhdGlvbi4KKyAqCisgKiBSZXR1cm5zIG9uZSBvZiB0aGUgWE1MX0NIQVJfRU5DT0RJTkdfLi4uIHZhbHVlcy4KKyAqLworeG1sQ2hhckVuY29kaW5nCit4bWxEZXRlY3RDaGFyRW5jb2RpbmcoY29uc3QgdW5zaWduZWQgY2hhciogaW4sIGludCBsZW4pCit7CisgICAgaWYgKGluID09IE5VTEwpCisgICAgICAgIHJldHVybihYTUxfQ0hBUl9FTkNPRElOR19OT05FKTsKKyAgICBpZiAobGVuID49IDQpIHsKKwlpZiAoKGluWzBdID09IDB4MDApICYmIChpblsxXSA9PSAweDAwKSAmJgorCSAgICAoaW5bMl0gPT0gMHgwMCkgJiYgKGluWzNdID09IDB4M0MpKQorCSAgICByZXR1cm4oWE1MX0NIQVJfRU5DT0RJTkdfVUNTNEJFKTsKKwlpZiAoKGluWzBdID09IDB4M0MpICYmIChpblsxXSA9PSAweDAwKSAmJgorCSAgICAoaW5bMl0gPT0gMHgwMCkgJiYgKGluWzNdID09IDB4MDApKQorCSAgICByZXR1cm4oWE1MX0NIQVJfRU5DT0RJTkdfVUNTNExFKTsKKwlpZiAoKGluWzBdID09IDB4MDApICYmIChpblsxXSA9PSAweDAwKSAmJgorCSAgICAoaW5bMl0gPT0gMHgzQykgJiYgKGluWzNdID09IDB4MDApKQorCSAgICByZXR1cm4oWE1MX0NIQVJfRU5DT0RJTkdfVUNTNF8yMTQzKTsKKwlpZiAoKGluWzBdID09IDB4MDApICYmIChpblsxXSA9PSAweDNDKSAmJgorCSAgICAoaW5bMl0gPT0gMHgwMCkgJiYgKGluWzNdID09IDB4MDApKQorCSAgICByZXR1cm4oWE1MX0NIQVJfRU5DT0RJTkdfVUNTNF8zNDEyKTsKKwlpZiAoKGluWzBdID09IDB4NEMpICYmIChpblsxXSA9PSAweDZGKSAmJgorCSAgICAoaW5bMl0gPT0gMHhBNykgJiYgKGluWzNdID09IDB4OTQpKQorCSAgICByZXR1cm4oWE1MX0NIQVJfRU5DT0RJTkdfRUJDRElDKTsKKwlpZiAoKGluWzBdID09IDB4M0MpICYmIChpblsxXSA9PSAweDNGKSAmJgorCSAgICAoaW5bMl0gPT0gMHg3OCkgJiYgKGluWzNdID09IDB4NkQpKQorCSAgICByZXR1cm4oWE1MX0NIQVJfRU5DT0RJTkdfVVRGOCk7CisJLyoKKwkgKiBBbHRob3VnaCBub3QgcGFydCBvZiB0aGUgcmVjb21tZW5kYXRpb24sIHdlIGFsc28KKwkgKiBhdHRlbXB0IGFuICJhdXRvLXJlY29nbml0aW9uIiBvZiBVVEYtMTZMRSBhbmQKKwkgKiBVVEYtMTZCRSBlbmNvZGluZ3MuCisJICovCisJaWYgKChpblswXSA9PSAweDNDKSAmJiAoaW5bMV0gPT0gMHgwMCkgJiYKKwkgICAgKGluWzJdID09IDB4M0YpICYmIChpblszXSA9PSAweDAwKSkKKwkgICAgcmV0dXJuKFhNTF9DSEFSX0VOQ09ESU5HX1VURjE2TEUpOworCWlmICgoaW5bMF0gPT0gMHgwMCkgJiYgKGluWzFdID09IDB4M0MpICYmCisJICAgIChpblsyXSA9PSAweDAwKSAmJiAoaW5bM10gPT0gMHgzRikpCisJICAgIHJldHVybihYTUxfQ0hBUl9FTkNPRElOR19VVEYxNkJFKTsKKyAgICB9CisgICAgaWYgKGxlbiA+PSAzKSB7CisJLyoKKwkgKiBFcnJhdGEgb24gWE1MLTEuMCBKdW5lIDIwIDIwMDEKKwkgKiBXZSBub3cgYWxsb3cgYW4gVVRGOCBlbmNvZGVkIEJPTQorCSAqLworCWlmICgoaW5bMF0gPT0gMHhFRikgJiYgKGluWzFdID09IDB4QkIpICYmCisJICAgIChpblsyXSA9PSAweEJGKSkKKwkgICAgcmV0dXJuKFhNTF9DSEFSX0VOQ09ESU5HX1VURjgpOworICAgIH0KKyAgICAvKiBGb3IgVVRGLTE2IHdlIGNhbiByZWNvZ25pemUgYnkgdGhlIEJPTSAqLworICAgIGlmIChsZW4gPj0gMikgeworCWlmICgoaW5bMF0gPT0gMHhGRSkgJiYgKGluWzFdID09IDB4RkYpKQorCSAgICByZXR1cm4oWE1MX0NIQVJfRU5DT0RJTkdfVVRGMTZCRSk7CisJaWYgKChpblswXSA9PSAweEZGKSAmJiAoaW5bMV0gPT0gMHhGRSkpCisJICAgIHJldHVybihYTUxfQ0hBUl9FTkNPRElOR19VVEYxNkxFKTsKKyAgICB9CisgICAgcmV0dXJuKFhNTF9DSEFSX0VOQ09ESU5HX05PTkUpOworfQorCisvKioKKyAqIHhtbENsZWFudXBFbmNvZGluZ0FsaWFzZXM6CisgKgorICogVW5yZWdpc3RlcnMgYWxsIGFsaWFzZXMKKyAqLwordm9pZAoreG1sQ2xlYW51cEVuY29kaW5nQWxpYXNlcyh2b2lkKSB7CisgICAgaW50IGk7CisKKyAgICBpZiAoeG1sQ2hhckVuY29kaW5nQWxpYXNlcyA9PSBOVUxMKQorCXJldHVybjsKKworICAgIGZvciAoaSA9IDA7aSA8IHhtbENoYXJFbmNvZGluZ0FsaWFzZXNOYjtpKyspIHsKKwlpZiAoeG1sQ2hhckVuY29kaW5nQWxpYXNlc1tpXS5uYW1lICE9IE5VTEwpCisJICAgIHhtbEZyZWUoKGNoYXIgKikgeG1sQ2hhckVuY29kaW5nQWxpYXNlc1tpXS5uYW1lKTsKKwlpZiAoeG1sQ2hhckVuY29kaW5nQWxpYXNlc1tpXS5hbGlhcyAhPSBOVUxMKQorCSAgICB4bWxGcmVlKChjaGFyICopIHhtbENoYXJFbmNvZGluZ0FsaWFzZXNbaV0uYWxpYXMpOworICAgIH0KKyAgICB4bWxDaGFyRW5jb2RpbmdBbGlhc2VzTmIgPSAwOworICAgIHhtbENoYXJFbmNvZGluZ0FsaWFzZXNNYXggPSAwOworICAgIHhtbEZyZWUoeG1sQ2hhckVuY29kaW5nQWxpYXNlcyk7CisgICAgeG1sQ2hhckVuY29kaW5nQWxpYXNlcyA9IE5VTEw7Cit9CisKKy8qKgorICogeG1sR2V0RW5jb2RpbmdBbGlhczoKKyAqIEBhbGlhczogIHRoZSBhbGlhcyBuYW1lIGFzIHBhcnNlZCwgaW4gVVRGLTggZm9ybWF0IChBU0NJSSBhY3R1YWxseSkKKyAqCisgKiBMb29rdXAgYW4gZW5jb2RpbmcgbmFtZSBmb3IgdGhlIGdpdmVuIGFsaWFzLgorICoKKyAqIFJldHVybnMgTlVMTCBpZiBub3QgZm91bmQsIG90aGVyd2lzZSB0aGUgb3JpZ2luYWwgbmFtZQorICovCitjb25zdCBjaGFyICoKK3htbEdldEVuY29kaW5nQWxpYXMoY29uc3QgY2hhciAqYWxpYXMpIHsKKyAgICBpbnQgaTsKKyAgICBjaGFyIHVwcGVyWzEwMF07CisKKyAgICBpZiAoYWxpYXMgPT0gTlVMTCkKKwlyZXR1cm4oTlVMTCk7CisKKyAgICBpZiAoeG1sQ2hhckVuY29kaW5nQWxpYXNlcyA9PSBOVUxMKQorCXJldHVybihOVUxMKTsKKworICAgIGZvciAoaSA9IDA7aSA8IDk5O2krKykgeworICAgICAgICB1cHBlcltpXSA9IHRvdXBwZXIoYWxpYXNbaV0pOworCWlmICh1cHBlcltpXSA9PSAwKSBicmVhazsKKyAgICB9CisgICAgdXBwZXJbaV0gPSAwOworCisgICAgLyoKKyAgICAgKiBXYWxrIGRvd24gdGhlIGxpc3QgbG9va2luZyBmb3IgYSBkZWZpbml0aW9uIG9mIHRoZSBhbGlhcworICAgICAqLworICAgIGZvciAoaSA9IDA7aSA8IHhtbENoYXJFbmNvZGluZ0FsaWFzZXNOYjtpKyspIHsKKwlpZiAoIXN0cmNtcCh4bWxDaGFyRW5jb2RpbmdBbGlhc2VzW2ldLmFsaWFzLCB1cHBlcikpIHsKKwkgICAgcmV0dXJuKHhtbENoYXJFbmNvZGluZ0FsaWFzZXNbaV0ubmFtZSk7CisJfQorICAgIH0KKyAgICByZXR1cm4oTlVMTCk7Cit9CisKKy8qKgorICogeG1sQWRkRW5jb2RpbmdBbGlhczoKKyAqIEBuYW1lOiAgdGhlIGVuY29kaW5nIG5hbWUgYXMgcGFyc2VkLCBpbiBVVEYtOCBmb3JtYXQgKEFTQ0lJIGFjdHVhbGx5KQorICogQGFsaWFzOiAgdGhlIGFsaWFzIG5hbWUgYXMgcGFyc2VkLCBpbiBVVEYtOCBmb3JtYXQgKEFTQ0lJIGFjdHVhbGx5KQorICoKKyAqIFJlZ2lzdGVycyBhbiBhbGlhcyBAYWxpYXMgZm9yIGFuIGVuY29kaW5nIG5hbWVkIEBuYW1lLiBFeGlzdGluZyBhbGlhcworICogd2lsbCBiZSBvdmVyd3JpdHRlbi4KKyAqCisgKiBSZXR1cm5zIDAgaW4gY2FzZSBvZiBzdWNjZXNzLCAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK2ludAoreG1sQWRkRW5jb2RpbmdBbGlhcyhjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICphbGlhcykgeworICAgIGludCBpOworICAgIGNoYXIgdXBwZXJbMTAwXTsKKworICAgIGlmICgobmFtZSA9PSBOVUxMKSB8fCAoYWxpYXMgPT0gTlVMTCkpCisJcmV0dXJuKC0xKTsKKworICAgIGZvciAoaSA9IDA7aSA8IDk5O2krKykgeworICAgICAgICB1cHBlcltpXSA9IHRvdXBwZXIoYWxpYXNbaV0pOworCWlmICh1cHBlcltpXSA9PSAwKSBicmVhazsKKyAgICB9CisgICAgdXBwZXJbaV0gPSAwOworCisgICAgaWYgKHhtbENoYXJFbmNvZGluZ0FsaWFzZXMgPT0gTlVMTCkgeworCXhtbENoYXJFbmNvZGluZ0FsaWFzZXNOYiA9IDA7CisJeG1sQ2hhckVuY29kaW5nQWxpYXNlc01heCA9IDIwOworCXhtbENoYXJFbmNvZGluZ0FsaWFzZXMgPSAoeG1sQ2hhckVuY29kaW5nQWxpYXNQdHIpCisJICAgICAgeG1sTWFsbG9jKHhtbENoYXJFbmNvZGluZ0FsaWFzZXNNYXggKiBzaXplb2YoeG1sQ2hhckVuY29kaW5nQWxpYXMpKTsKKwlpZiAoeG1sQ2hhckVuY29kaW5nQWxpYXNlcyA9PSBOVUxMKQorCSAgICByZXR1cm4oLTEpOworICAgIH0gZWxzZSBpZiAoeG1sQ2hhckVuY29kaW5nQWxpYXNlc05iID49IHhtbENoYXJFbmNvZGluZ0FsaWFzZXNNYXgpIHsKKwl4bWxDaGFyRW5jb2RpbmdBbGlhc2VzTWF4ICo9IDI7CisJeG1sQ2hhckVuY29kaW5nQWxpYXNlcyA9ICh4bWxDaGFyRW5jb2RpbmdBbGlhc1B0cikKKwkgICAgICB4bWxSZWFsbG9jKHhtbENoYXJFbmNvZGluZ0FsaWFzZXMsCisJCSAgICAgICAgIHhtbENoYXJFbmNvZGluZ0FsaWFzZXNNYXggKiBzaXplb2YoeG1sQ2hhckVuY29kaW5nQWxpYXMpKTsKKyAgICB9CisgICAgLyoKKyAgICAgKiBXYWxrIGRvd24gdGhlIGxpc3QgbG9va2luZyBmb3IgYSBkZWZpbml0aW9uIG9mIHRoZSBhbGlhcworICAgICAqLworICAgIGZvciAoaSA9IDA7aSA8IHhtbENoYXJFbmNvZGluZ0FsaWFzZXNOYjtpKyspIHsKKwlpZiAoIXN0cmNtcCh4bWxDaGFyRW5jb2RpbmdBbGlhc2VzW2ldLmFsaWFzLCB1cHBlcikpIHsKKwkgICAgLyoKKwkgICAgICogUmVwbGFjZSB0aGUgZGVmaW5pdGlvbi4KKwkgICAgICovCisJICAgIHhtbEZyZWUoKGNoYXIgKikgeG1sQ2hhckVuY29kaW5nQWxpYXNlc1tpXS5uYW1lKTsKKwkgICAgeG1sQ2hhckVuY29kaW5nQWxpYXNlc1tpXS5uYW1lID0geG1sTWVtU3RyZHVwKG5hbWUpOworCSAgICByZXR1cm4oMCk7CisJfQorICAgIH0KKyAgICAvKgorICAgICAqIEFkZCB0aGUgZGVmaW5pdGlvbgorICAgICAqLworICAgIHhtbENoYXJFbmNvZGluZ0FsaWFzZXNbeG1sQ2hhckVuY29kaW5nQWxpYXNlc05iXS5uYW1lID0geG1sTWVtU3RyZHVwKG5hbWUpOworICAgIHhtbENoYXJFbmNvZGluZ0FsaWFzZXNbeG1sQ2hhckVuY29kaW5nQWxpYXNlc05iXS5hbGlhcyA9IHhtbE1lbVN0cmR1cCh1cHBlcik7CisgICAgeG1sQ2hhckVuY29kaW5nQWxpYXNlc05iKys7CisgICAgcmV0dXJuKDApOworfQorCisvKioKKyAqIHhtbERlbEVuY29kaW5nQWxpYXM6CisgKiBAYWxpYXM6ICB0aGUgYWxpYXMgbmFtZSBhcyBwYXJzZWQsIGluIFVURi04IGZvcm1hdCAoQVNDSUkgYWN0dWFsbHkpCisgKgorICogVW5yZWdpc3RlcnMgYW4gZW5jb2RpbmcgYWxpYXMgQGFsaWFzCisgKgorICogUmV0dXJucyAwIGluIGNhc2Ugb2Ygc3VjY2VzcywgLTEgaW4gY2FzZSBvZiBlcnJvcgorICovCitpbnQKK3htbERlbEVuY29kaW5nQWxpYXMoY29uc3QgY2hhciAqYWxpYXMpIHsKKyAgICBpbnQgaTsKKworICAgIGlmIChhbGlhcyA9PSBOVUxMKQorCXJldHVybigtMSk7CisKKyAgICBpZiAoeG1sQ2hhckVuY29kaW5nQWxpYXNlcyA9PSBOVUxMKQorCXJldHVybigtMSk7CisgICAgLyoKKyAgICAgKiBXYWxrIGRvd24gdGhlIGxpc3QgbG9va2luZyBmb3IgYSBkZWZpbml0aW9uIG9mIHRoZSBhbGlhcworICAgICAqLworICAgIGZvciAoaSA9IDA7aSA8IHhtbENoYXJFbmNvZGluZ0FsaWFzZXNOYjtpKyspIHsKKwlpZiAoIXN0cmNtcCh4bWxDaGFyRW5jb2RpbmdBbGlhc2VzW2ldLmFsaWFzLCBhbGlhcykpIHsKKwkgICAgeG1sRnJlZSgoY2hhciAqKSB4bWxDaGFyRW5jb2RpbmdBbGlhc2VzW2ldLm5hbWUpOworCSAgICB4bWxGcmVlKChjaGFyICopIHhtbENoYXJFbmNvZGluZ0FsaWFzZXNbaV0uYWxpYXMpOworCSAgICB4bWxDaGFyRW5jb2RpbmdBbGlhc2VzTmItLTsKKwkgICAgbWVtbW92ZSgmeG1sQ2hhckVuY29kaW5nQWxpYXNlc1tpXSwgJnhtbENoYXJFbmNvZGluZ0FsaWFzZXNbaSArIDFdLAorCQkgICAgc2l6ZW9mKHhtbENoYXJFbmNvZGluZ0FsaWFzKSAqICh4bWxDaGFyRW5jb2RpbmdBbGlhc2VzTmIgLSBpKSk7CisJICAgIHJldHVybigwKTsKKwl9CisgICAgfQorICAgIHJldHVybigtMSk7Cit9CisKKy8qKgorICogeG1sUGFyc2VDaGFyRW5jb2Rpbmc6CisgKiBAbmFtZTogIHRoZSBlbmNvZGluZyBuYW1lIGFzIHBhcnNlZCwgaW4gVVRGLTggZm9ybWF0IChBU0NJSSBhY3R1YWxseSkKKyAqCisgKiBDb21wYXJlIHRoZSBzdHJpbmcgdG8gdGhlIGVuY29kaW5nIHNjaGVtZXMgYWxyZWFkeSBrbm93bi4gTm90ZQorICogdGhhdCB0aGUgY29tcGFyaXNvbiBpcyBjYXNlIGluc2Vuc2l0aXZlIGFjY29yZGluZ2x5IHRvIHRoZSBzZWN0aW9uCisgKiBbWE1MXSA0LjMuMyBDaGFyYWN0ZXIgRW5jb2RpbmcgaW4gRW50aXRpZXMuCisgKgorICogUmV0dXJucyBvbmUgb2YgdGhlIFhNTF9DSEFSX0VOQ09ESU5HXy4uLiB2YWx1ZXMgb3IgWE1MX0NIQVJfRU5DT0RJTkdfTk9ORQorICogaWYgbm90IHJlY29nbml6ZWQuCisgKi8KK3htbENoYXJFbmNvZGluZworeG1sUGFyc2VDaGFyRW5jb2RpbmcoY29uc3QgY2hhciogbmFtZSkKK3sKKyAgICBjb25zdCBjaGFyICphbGlhczsKKyAgICBjaGFyIHVwcGVyWzUwMF07CisgICAgaW50IGk7CisKKyAgICBpZiAobmFtZSA9PSBOVUxMKQorCXJldHVybihYTUxfQ0hBUl9FTkNPRElOR19OT05FKTsKKworICAgIC8qCisgICAgICogRG8gdGhlIGFsaWFzIHJlc29sdXRpb24KKyAgICAgKi8KKyAgICBhbGlhcyA9IHhtbEdldEVuY29kaW5nQWxpYXMobmFtZSk7CisgICAgaWYgKGFsaWFzICE9IE5VTEwpCisJbmFtZSA9IGFsaWFzOworCisgICAgZm9yIChpID0gMDtpIDwgNDk5O2krKykgeworICAgICAgICB1cHBlcltpXSA9IHRvdXBwZXIobmFtZVtpXSk7CisJaWYgKHVwcGVyW2ldID09IDApIGJyZWFrOworICAgIH0KKyAgICB1cHBlcltpXSA9IDA7CisKKyAgICBpZiAoIXN0cmNtcCh1cHBlciwgIiIpKSByZXR1cm4oWE1MX0NIQVJfRU5DT0RJTkdfTk9ORSk7CisgICAgaWYgKCFzdHJjbXAodXBwZXIsICJVVEYtOCIpKSByZXR1cm4oWE1MX0NIQVJfRU5DT0RJTkdfVVRGOCk7CisgICAgaWYgKCFzdHJjbXAodXBwZXIsICJVVEY4IikpIHJldHVybihYTUxfQ0hBUl9FTkNPRElOR19VVEY4KTsKKworICAgIC8qCisgICAgICogTk9URTogaWYgd2Ugd2VyZSBhYmxlIHRvIHBhcnNlIHRoaXMsIHRoZSBlbmRpYW5uZXNzIG9mIFVURjE2IGlzCisgICAgICogICAgICAgYWxyZWFkeSBmb3VuZCBhbmQgaW4gdXNlCisgICAgICovCisgICAgaWYgKCFzdHJjbXAodXBwZXIsICJVVEYtMTYiKSkgcmV0dXJuKFhNTF9DSEFSX0VOQ09ESU5HX1VURjE2TEUpOworICAgIGlmICghc3RyY21wKHVwcGVyLCAiVVRGMTYiKSkgcmV0dXJuKFhNTF9DSEFSX0VOQ09ESU5HX1VURjE2TEUpOworCisgICAgaWYgKCFzdHJjbXAodXBwZXIsICJJU08tMTA2NDYtVUNTLTIiKSkgcmV0dXJuKFhNTF9DSEFSX0VOQ09ESU5HX1VDUzIpOworICAgIGlmICghc3RyY21wKHVwcGVyLCAiVUNTLTIiKSkgcmV0dXJuKFhNTF9DSEFSX0VOQ09ESU5HX1VDUzIpOworICAgIGlmICghc3RyY21wKHVwcGVyLCAiVUNTMiIpKSByZXR1cm4oWE1MX0NIQVJfRU5DT0RJTkdfVUNTMik7CisKKyAgICAvKgorICAgICAqIE5PVEU6IGlmIHdlIHdlcmUgYWJsZSB0byBwYXJzZSB0aGlzLCB0aGUgZW5kaWFubmVzcyBvZiBVQ1M0IGlzCisgICAgICogICAgICAgYWxyZWFkeSBmb3VuZCBhbmQgaW4gdXNlCisgICAgICovCisgICAgaWYgKCFzdHJjbXAodXBwZXIsICJJU08tMTA2NDYtVUNTLTQiKSkgcmV0dXJuKFhNTF9DSEFSX0VOQ09ESU5HX1VDUzRMRSk7CisgICAgaWYgKCFzdHJjbXAodXBwZXIsICJVQ1MtNCIpKSByZXR1cm4oWE1MX0NIQVJfRU5DT0RJTkdfVUNTNExFKTsKKyAgICBpZiAoIXN0cmNtcCh1cHBlciwgIlVDUzQiKSkgcmV0dXJuKFhNTF9DSEFSX0VOQ09ESU5HX1VDUzRMRSk7CisKKworICAgIGlmICghc3RyY21wKHVwcGVyLCAgIklTTy04ODU5LTEiKSkgcmV0dXJuKFhNTF9DSEFSX0VOQ09ESU5HXzg4NTlfMSk7CisgICAgaWYgKCFzdHJjbXAodXBwZXIsICAiSVNPLUxBVElOLTEiKSkgcmV0dXJuKFhNTF9DSEFSX0VOQ09ESU5HXzg4NTlfMSk7CisgICAgaWYgKCFzdHJjbXAodXBwZXIsICAiSVNPIExBVElOIDEiKSkgcmV0dXJuKFhNTF9DSEFSX0VOQ09ESU5HXzg4NTlfMSk7CisKKyAgICBpZiAoIXN0cmNtcCh1cHBlciwgICJJU08tODg1OS0yIikpIHJldHVybihYTUxfQ0hBUl9FTkNPRElOR184ODU5XzIpOworICAgIGlmICghc3RyY21wKHVwcGVyLCAgIklTTy1MQVRJTi0yIikpIHJldHVybihYTUxfQ0hBUl9FTkNPRElOR184ODU5XzIpOworICAgIGlmICghc3RyY21wKHVwcGVyLCAgIklTTyBMQVRJTiAyIikpIHJldHVybihYTUxfQ0hBUl9FTkNPRElOR184ODU5XzIpOworCisgICAgaWYgKCFzdHJjbXAodXBwZXIsICAiSVNPLTg4NTktMyIpKSByZXR1cm4oWE1MX0NIQVJfRU5DT0RJTkdfODg1OV8zKTsKKyAgICBpZiAoIXN0cmNtcCh1cHBlciwgICJJU08tODg1OS00IikpIHJldHVybihYTUxfQ0hBUl9FTkNPRElOR184ODU5XzQpOworICAgIGlmICghc3RyY21wKHVwcGVyLCAgIklTTy04ODU5LTUiKSkgcmV0dXJuKFhNTF9DSEFSX0VOQ09ESU5HXzg4NTlfNSk7CisgICAgaWYgKCFzdHJjbXAodXBwZXIsICAiSVNPLTg4NTktNiIpKSByZXR1cm4oWE1MX0NIQVJfRU5DT0RJTkdfODg1OV82KTsKKyAgICBpZiAoIXN0cmNtcCh1cHBlciwgICJJU08tODg1OS03IikpIHJldHVybihYTUxfQ0hBUl9FTkNPRElOR184ODU5XzcpOworICAgIGlmICghc3RyY21wKHVwcGVyLCAgIklTTy04ODU5LTgiKSkgcmV0dXJuKFhNTF9DSEFSX0VOQ09ESU5HXzg4NTlfOCk7CisgICAgaWYgKCFzdHJjbXAodXBwZXIsICAiSVNPLTg4NTktOSIpKSByZXR1cm4oWE1MX0NIQVJfRU5DT0RJTkdfODg1OV85KTsKKworICAgIGlmICghc3RyY21wKHVwcGVyLCAiSVNPLTIwMjItSlAiKSkgcmV0dXJuKFhNTF9DSEFSX0VOQ09ESU5HXzIwMjJfSlApOworICAgIGlmICghc3RyY21wKHVwcGVyLCAiU0hJRlRfSklTIikpIHJldHVybihYTUxfQ0hBUl9FTkNPRElOR19TSElGVF9KSVMpOworICAgIGlmICghc3RyY21wKHVwcGVyLCAiRVVDLUpQIikpIHJldHVybihYTUxfQ0hBUl9FTkNPRElOR19FVUNfSlApOworCisjaWZkZWYgREVCVUdfRU5DT0RJTkcKKyAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgIlVua25vd24gZW5jb2RpbmcgJXNcbiIsIG5hbWUpOworI2VuZGlmCisgICAgcmV0dXJuKFhNTF9DSEFSX0VOQ09ESU5HX0VSUk9SKTsKK30KKworLyoqCisgKiB4bWxHZXRDaGFyRW5jb2RpbmdOYW1lOgorICogQGVuYzogIHRoZSBlbmNvZGluZworICoKKyAqIFRoZSAiY2Fub25pY2FsIiBuYW1lIGZvciBYTUwgZW5jb2RpbmcuCisgKiBDLmYuIGh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy14bWwjY2hhcmVuY29kaW5nCisgKiBTZWN0aW9uIDQuMy4zICBDaGFyYWN0ZXIgRW5jb2RpbmcgaW4gRW50aXRpZXMKKyAqCisgKiBSZXR1cm5zIHRoZSBjYW5vbmljYWwgbmFtZSBmb3IgdGhlIGdpdmVuIGVuY29kaW5nCisgKi8KKworY29uc3QgY2hhcioKK3htbEdldENoYXJFbmNvZGluZ05hbWUoeG1sQ2hhckVuY29kaW5nIGVuYykgeworICAgIHN3aXRjaCAoZW5jKSB7CisgICAgICAgIGNhc2UgWE1MX0NIQVJfRU5DT0RJTkdfRVJST1I6CisJICAgIHJldHVybihOVUxMKTsKKyAgICAgICAgY2FzZSBYTUxfQ0hBUl9FTkNPRElOR19OT05FOgorCSAgICByZXR1cm4oTlVMTCk7CisgICAgICAgIGNhc2UgWE1MX0NIQVJfRU5DT0RJTkdfVVRGODoKKwkgICAgcmV0dXJuKCJVVEYtOCIpOworICAgICAgICBjYXNlIFhNTF9DSEFSX0VOQ09ESU5HX1VURjE2TEU6CisJICAgIHJldHVybigiVVRGLTE2Iik7CisgICAgICAgIGNhc2UgWE1MX0NIQVJfRU5DT0RJTkdfVVRGMTZCRToKKwkgICAgcmV0dXJuKCJVVEYtMTYiKTsKKyAgICAgICAgY2FzZSBYTUxfQ0hBUl9FTkNPRElOR19FQkNESUM6CisgICAgICAgICAgICByZXR1cm4oIkVCQ0RJQyIpOworICAgICAgICBjYXNlIFhNTF9DSEFSX0VOQ09ESU5HX1VDUzRMRToKKyAgICAgICAgICAgIHJldHVybigiSVNPLTEwNjQ2LVVDUy00Iik7CisgICAgICAgIGNhc2UgWE1MX0NIQVJfRU5DT0RJTkdfVUNTNEJFOgorICAgICAgICAgICAgcmV0dXJuKCJJU08tMTA2NDYtVUNTLTQiKTsKKyAgICAgICAgY2FzZSBYTUxfQ0hBUl9FTkNPRElOR19VQ1M0XzIxNDM6CisgICAgICAgICAgICByZXR1cm4oIklTTy0xMDY0Ni1VQ1MtNCIpOworICAgICAgICBjYXNlIFhNTF9DSEFSX0VOQ09ESU5HX1VDUzRfMzQxMjoKKyAgICAgICAgICAgIHJldHVybigiSVNPLTEwNjQ2LVVDUy00Iik7CisgICAgICAgIGNhc2UgWE1MX0NIQVJfRU5DT0RJTkdfVUNTMjoKKyAgICAgICAgICAgIHJldHVybigiSVNPLTEwNjQ2LVVDUy0yIik7CisgICAgICAgIGNhc2UgWE1MX0NIQVJfRU5DT0RJTkdfODg1OV8xOgorCSAgICByZXR1cm4oIklTTy04ODU5LTEiKTsKKyAgICAgICAgY2FzZSBYTUxfQ0hBUl9FTkNPRElOR184ODU5XzI6CisJICAgIHJldHVybigiSVNPLTg4NTktMiIpOworICAgICAgICBjYXNlIFhNTF9DSEFSX0VOQ09ESU5HXzg4NTlfMzoKKwkgICAgcmV0dXJuKCJJU08tODg1OS0zIik7CisgICAgICAgIGNhc2UgWE1MX0NIQVJfRU5DT0RJTkdfODg1OV80OgorCSAgICByZXR1cm4oIklTTy04ODU5LTQiKTsKKyAgICAgICAgY2FzZSBYTUxfQ0hBUl9FTkNPRElOR184ODU5XzU6CisJICAgIHJldHVybigiSVNPLTg4NTktNSIpOworICAgICAgICBjYXNlIFhNTF9DSEFSX0VOQ09ESU5HXzg4NTlfNjoKKwkgICAgcmV0dXJuKCJJU08tODg1OS02Iik7CisgICAgICAgIGNhc2UgWE1MX0NIQVJfRU5DT0RJTkdfODg1OV83OgorCSAgICByZXR1cm4oIklTTy04ODU5LTciKTsKKyAgICAgICAgY2FzZSBYTUxfQ0hBUl9FTkNPRElOR184ODU5Xzg6CisJICAgIHJldHVybigiSVNPLTg4NTktOCIpOworICAgICAgICBjYXNlIFhNTF9DSEFSX0VOQ09ESU5HXzg4NTlfOToKKwkgICAgcmV0dXJuKCJJU08tODg1OS05Iik7CisgICAgICAgIGNhc2UgWE1MX0NIQVJfRU5DT0RJTkdfMjAyMl9KUDoKKyAgICAgICAgICAgIHJldHVybigiSVNPLTIwMjItSlAiKTsKKyAgICAgICAgY2FzZSBYTUxfQ0hBUl9FTkNPRElOR19TSElGVF9KSVM6CisgICAgICAgICAgICByZXR1cm4oIlNoaWZ0LUpJUyIpOworICAgICAgICBjYXNlIFhNTF9DSEFSX0VOQ09ESU5HX0VVQ19KUDoKKyAgICAgICAgICAgIHJldHVybigiRVVDLUpQIik7CisJY2FzZSBYTUxfQ0hBUl9FTkNPRElOR19BU0NJSToKKwkgICAgcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICByZXR1cm4oTlVMTCk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCQlDaGFyIGVuY29kaW5nIGhhbmRsZXJzCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworCisvKiB0aGUgc2l6ZSBzaG91bGQgYmUgZ3Jvd2FibGUsIGJ1dCBpdCdzIG5vdCBhIGJpZyBkZWFsIC4uLiAqLworI2RlZmluZSBNQVhfRU5DT0RJTkdfSEFORExFUlMgNTAKK3N0YXRpYyB4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyICpoYW5kbGVycyA9IE5VTEw7CitzdGF0aWMgaW50IG5iQ2hhckVuY29kaW5nSGFuZGxlciA9IDA7CisKKy8qCisgKiBUaGUgZGVmYXVsdCBpcyBVVEYtOCBmb3IgWE1MLCB0aGF0J3MgYWxzbyB0aGUgZGVmYXVsdCB1c2VkIGZvciB0aGUKKyAqIHBhcnNlciBpbnRlcm5hbHMsIHNvIHRoZSBkZWZhdWx0IGVuY29kaW5nIGhhbmRsZXIgaXMgTlVMTAorICovCisKK3N0YXRpYyB4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyIHhtbERlZmF1bHRDaGFyRW5jb2RpbmdIYW5kbGVyID0gTlVMTDsKKworLyoqCisgKiB4bWxOZXdDaGFyRW5jb2RpbmdIYW5kbGVyOgorICogQG5hbWU6ICB0aGUgZW5jb2RpbmcgbmFtZSwgaW4gVVRGLTggZm9ybWF0IChBU0NJSSBhY3R1YWxseSkKKyAqIEBpbnB1dDogIHRoZSB4bWxDaGFyRW5jb2RpbmdJbnB1dEZ1bmMgdG8gcmVhZCB0aGF0IGVuY29kaW5nCisgKiBAb3V0cHV0OiAgdGhlIHhtbENoYXJFbmNvZGluZ091dHB1dEZ1bmMgdG8gd3JpdGUgdGhhdCBlbmNvZGluZworICoKKyAqIENyZWF0ZSBhbmQgcmVnaXN0ZXJzIGFuIHhtbENoYXJFbmNvZGluZ0hhbmRsZXIuCisgKgorICogUmV0dXJucyB0aGUgeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0ciBjcmVhdGVkIChvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IpLgorICovCit4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyCit4bWxOZXdDaGFyRW5jb2RpbmdIYW5kbGVyKGNvbnN0IGNoYXIgKm5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbENoYXJFbmNvZGluZ0lucHV0RnVuYyBpbnB1dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYyBvdXRwdXQpIHsKKyAgICB4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyIGhhbmRsZXI7CisgICAgY29uc3QgY2hhciAqYWxpYXM7CisgICAgY2hhciB1cHBlcls1MDBdOworICAgIGludCBpOworICAgIGNoYXIgKnVwID0gTlVMTDsKKworICAgIC8qCisgICAgICogRG8gdGhlIGFsaWFzIHJlc29sdXRpb24KKyAgICAgKi8KKyAgICBhbGlhcyA9IHhtbEdldEVuY29kaW5nQWxpYXMobmFtZSk7CisgICAgaWYgKGFsaWFzICE9IE5VTEwpCisJbmFtZSA9IGFsaWFzOworCisgICAgLyoKKyAgICAgKiBLZWVwIG9ubHkgdGhlIHVwcGVyY2FzZSB2ZXJzaW9uIG9mIHRoZSBlbmNvZGluZy4KKyAgICAgKi8KKyAgICBpZiAobmFtZSA9PSBOVUxMKSB7CisgICAgICAgIHhtbEVuY29kaW5nRXJyKFhNTF9JMThOX05PX05BTUUsCisJCSAgICAgICAieG1sTmV3Q2hhckVuY29kaW5nSGFuZGxlciA6IG5vIG5hbWUgIVxuIiwgTlVMTCk7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBmb3IgKGkgPSAwO2kgPCA0OTk7aSsrKSB7CisgICAgICAgIHVwcGVyW2ldID0gdG91cHBlcihuYW1lW2ldKTsKKwlpZiAodXBwZXJbaV0gPT0gMCkgYnJlYWs7CisgICAgfQorICAgIHVwcGVyW2ldID0gMDsKKyAgICB1cCA9IHhtbE1lbVN0cmR1cCh1cHBlcik7CisgICAgaWYgKHVwID09IE5VTEwpIHsKKyAgICAgICAgeG1sRW5jb2RpbmdFcnJNZW1vcnkoInhtbE5ld0NoYXJFbmNvZGluZ0hhbmRsZXIgOiBvdXQgb2YgbWVtb3J5ICFcbiIpOworCXJldHVybihOVUxMKTsKKyAgICB9CisKKyAgICAvKgorICAgICAqIGFsbG9jYXRlIGFuZCBmaWxsLXVwIGFuIGhhbmRsZXIgYmxvY2suCisgICAgICovCisgICAgaGFuZGxlciA9ICh4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyKQorICAgICAgICAgICAgICB4bWxNYWxsb2Moc2l6ZW9mKHhtbENoYXJFbmNvZGluZ0hhbmRsZXIpKTsKKyAgICBpZiAoaGFuZGxlciA9PSBOVUxMKSB7CisgICAgICAgIHhtbEZyZWUodXApOworICAgICAgICB4bWxFbmNvZGluZ0Vyck1lbW9yeSgieG1sTmV3Q2hhckVuY29kaW5nSGFuZGxlciA6IG91dCBvZiBtZW1vcnkgIVxuIik7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBtZW1zZXQoaGFuZGxlciwgMCwgc2l6ZW9mKHhtbENoYXJFbmNvZGluZ0hhbmRsZXIpKTsKKyAgICBoYW5kbGVyLT5pbnB1dCA9IGlucHV0OworICAgIGhhbmRsZXItPm91dHB1dCA9IG91dHB1dDsKKyAgICBoYW5kbGVyLT5uYW1lID0gdXA7CisKKyNpZmRlZiBMSUJYTUxfSUNPTlZfRU5BQkxFRAorICAgIGhhbmRsZXItPmljb252X2luID0gTlVMTDsKKyAgICBoYW5kbGVyLT5pY29udl9vdXQgPSBOVUxMOworI2VuZGlmCisjaWZkZWYgTElCWE1MX0lDVV9FTkFCTEVECisgICAgaGFuZGxlci0+dWNvbnZfaW4gPSBOVUxMOworICAgIGhhbmRsZXItPnVjb252X291dCA9IE5VTEw7CisjZW5kaWYKKworICAgIC8qCisgICAgICogcmVnaXN0ZXJzIGFuZCByZXR1cm5zIHRoZSBoYW5kbGVyLgorICAgICAqLworICAgIHhtbFJlZ2lzdGVyQ2hhckVuY29kaW5nSGFuZGxlcihoYW5kbGVyKTsKKyNpZmRlZiBERUJVR19FTkNPRElORworICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCSAgICAiUmVnaXN0ZXJlZCBlbmNvZGluZyBoYW5kbGVyIGZvciAlc1xuIiwgbmFtZSk7CisjZW5kaWYKKyAgICByZXR1cm4oaGFuZGxlcik7Cit9CisKKy8qKgorICogeG1sSW5pdENoYXJFbmNvZGluZ0hhbmRsZXJzOgorICoKKyAqIEluaXRpYWxpemUgdGhlIGNoYXIgZW5jb2Rpbmcgc3VwcG9ydCwgaXQgcmVnaXN0ZXJzIHRoZSBkZWZhdWx0CisgKiBlbmNvZGluZyBzdXBwb3J0ZWQuCisgKiBOT1RFOiB3aGlsZSBwdWJsaWMsIHRoaXMgZnVuY3Rpb24gdXN1YWxseSBkb2Vzbid0IG5lZWQgdG8gYmUgY2FsbGVkCisgKiAgICAgICBpbiBub3JtYWwgcHJvY2Vzc2luZy4KKyAqLwordm9pZAoreG1sSW5pdENoYXJFbmNvZGluZ0hhbmRsZXJzKHZvaWQpIHsKKyAgICB1bnNpZ25lZCBzaG9ydCBpbnQgdHN0ID0gMHgxMjM0OworICAgIHVuc2lnbmVkIGNoYXIgKnB0ciA9ICh1bnNpZ25lZCBjaGFyICopICZ0c3Q7CisKKyAgICBpZiAoaGFuZGxlcnMgIT0gTlVMTCkgcmV0dXJuOworCisgICAgaGFuZGxlcnMgPSAoeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0ciAqKQorICAgICAgICB4bWxNYWxsb2MoTUFYX0VOQ09ESU5HX0hBTkRMRVJTICogc2l6ZW9mKHhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIpKTsKKworICAgIGlmICgqcHRyID09IDB4MTIpIHhtbExpdHRsZUVuZGlhbiA9IDA7CisgICAgZWxzZSBpZiAoKnB0ciA9PSAweDM0KSB4bWxMaXR0bGVFbmRpYW4gPSAxOworICAgIGVsc2UgeworICAgICAgICB4bWxFbmNvZGluZ0VycihYTUxfRVJSX0lOVEVSTkFMX0VSUk9SLAorCSAgICAgICAgICAgICAgICJPZGQgcHJvYmxlbSBhdCBlbmRpYW5uZXNzIGRldGVjdGlvblxuIiwgTlVMTCk7CisgICAgfQorCisgICAgaWYgKGhhbmRsZXJzID09IE5VTEwpIHsKKyAgICAgICAgeG1sRW5jb2RpbmdFcnJNZW1vcnkoInhtbEluaXRDaGFyRW5jb2RpbmdIYW5kbGVycyA6IG91dCBvZiBtZW1vcnkgIVxuIik7CisJcmV0dXJuOworICAgIH0KKyAgICB4bWxOZXdDaGFyRW5jb2RpbmdIYW5kbGVyKCJVVEYtOCIsIFVURjhUb1VURjgsIFVURjhUb1VURjgpOworI2lmZGVmIExJQlhNTF9PVVRQVVRfRU5BQkxFRAorICAgIHhtbFVURjE2TEVIYW5kbGVyID0KKyAgICAgICAgICB4bWxOZXdDaGFyRW5jb2RpbmdIYW5kbGVyKCJVVEYtMTZMRSIsIFVURjE2TEVUb1VURjgsIFVURjhUb1VURjE2TEUpOworICAgIHhtbFVURjE2QkVIYW5kbGVyID0KKyAgICAgICAgICB4bWxOZXdDaGFyRW5jb2RpbmdIYW5kbGVyKCJVVEYtMTZCRSIsIFVURjE2QkVUb1VURjgsIFVURjhUb1VURjE2QkUpOworICAgIHhtbE5ld0NoYXJFbmNvZGluZ0hhbmRsZXIoIlVURi0xNiIsIFVURjE2TEVUb1VURjgsIFVURjhUb1VURjE2KTsKKyAgICB4bWxOZXdDaGFyRW5jb2RpbmdIYW5kbGVyKCJJU08tODg1OS0xIiwgaXNvbGF0MVRvVVRGOCwgVVRGOFRvaXNvbGF0MSk7CisgICAgeG1sTmV3Q2hhckVuY29kaW5nSGFuZGxlcigiQVNDSUkiLCBhc2NpaVRvVVRGOCwgVVRGOFRvYXNjaWkpOworICAgIHhtbE5ld0NoYXJFbmNvZGluZ0hhbmRsZXIoIlVTLUFTQ0lJIiwgYXNjaWlUb1VURjgsIFVURjhUb2FzY2lpKTsKKyNpZmRlZiBMSUJYTUxfSFRNTF9FTkFCTEVECisgICAgeG1sTmV3Q2hhckVuY29kaW5nSGFuZGxlcigiSFRNTCIsIE5VTEwsIFVURjhUb0h0bWwpOworI2VuZGlmCisjZWxzZQorICAgIHhtbFVURjE2TEVIYW5kbGVyID0KKyAgICAgICAgICB4bWxOZXdDaGFyRW5jb2RpbmdIYW5kbGVyKCJVVEYtMTZMRSIsIFVURjE2TEVUb1VURjgsIE5VTEwpOworICAgIHhtbFVURjE2QkVIYW5kbGVyID0KKyAgICAgICAgICB4bWxOZXdDaGFyRW5jb2RpbmdIYW5kbGVyKCJVVEYtMTZCRSIsIFVURjE2QkVUb1VURjgsIE5VTEwpOworICAgIHhtbE5ld0NoYXJFbmNvZGluZ0hhbmRsZXIoIlVURi0xNiIsIFVURjE2TEVUb1VURjgsIE5VTEwpOworICAgIHhtbE5ld0NoYXJFbmNvZGluZ0hhbmRsZXIoIklTTy04ODU5LTEiLCBpc29sYXQxVG9VVEY4LCBOVUxMKTsKKyAgICB4bWxOZXdDaGFyRW5jb2RpbmdIYW5kbGVyKCJBU0NJSSIsIGFzY2lpVG9VVEY4LCBOVUxMKTsKKyAgICB4bWxOZXdDaGFyRW5jb2RpbmdIYW5kbGVyKCJVUy1BU0NJSSIsIGFzY2lpVG9VVEY4LCBOVUxMKTsKKyNlbmRpZiAvKiBMSUJYTUxfT1VUUFVUX0VOQUJMRUQgKi8KKyNpZiAhZGVmaW5lZChMSUJYTUxfSUNPTlZfRU5BQkxFRCkgJiYgIWRlZmluZWQoTElCWE1MX0lDVV9FTkFCTEVEKQorI2lmZGVmIExJQlhNTF9JU084ODU5WF9FTkFCTEVECisgICAgeG1sUmVnaXN0ZXJDaGFyRW5jb2RpbmdIYW5kbGVyc0lTTzg4NTl4ICgpOworI2VuZGlmCisjZW5kaWYKKworfQorCisvKioKKyAqIHhtbENsZWFudXBDaGFyRW5jb2RpbmdIYW5kbGVyczoKKyAqCisgKiBDbGVhbnVwIHRoZSBtZW1vcnkgYWxsb2NhdGVkIGZvciB0aGUgY2hhciBlbmNvZGluZyBzdXBwb3J0LCBpdAorICogdW5yZWdpc3RlcnMgYWxsIHRoZSBlbmNvZGluZyBoYW5kbGVycyBhbmQgdGhlIGFsaWFzZXMuCisgKi8KK3ZvaWQKK3htbENsZWFudXBDaGFyRW5jb2RpbmdIYW5kbGVycyh2b2lkKSB7CisgICAgeG1sQ2xlYW51cEVuY29kaW5nQWxpYXNlcygpOworCisgICAgaWYgKGhhbmRsZXJzID09IE5VTEwpIHJldHVybjsKKworICAgIGZvciAoO25iQ2hhckVuY29kaW5nSGFuZGxlciA+IDA7KSB7CisgICAgICAgIG5iQ2hhckVuY29kaW5nSGFuZGxlci0tOworCWlmIChoYW5kbGVyc1tuYkNoYXJFbmNvZGluZ0hhbmRsZXJdICE9IE5VTEwpIHsKKwkgICAgaWYgKGhhbmRsZXJzW25iQ2hhckVuY29kaW5nSGFuZGxlcl0tPm5hbWUgIT0gTlVMTCkKKwkJeG1sRnJlZShoYW5kbGVyc1tuYkNoYXJFbmNvZGluZ0hhbmRsZXJdLT5uYW1lKTsKKwkgICAgeG1sRnJlZShoYW5kbGVyc1tuYkNoYXJFbmNvZGluZ0hhbmRsZXJdKTsKKwl9CisgICAgfQorICAgIHhtbEZyZWUoaGFuZGxlcnMpOworICAgIGhhbmRsZXJzID0gTlVMTDsKKyAgICBuYkNoYXJFbmNvZGluZ0hhbmRsZXIgPSAwOworICAgIHhtbERlZmF1bHRDaGFyRW5jb2RpbmdIYW5kbGVyID0gTlVMTDsKK30KKworLyoqCisgKiB4bWxSZWdpc3RlckNoYXJFbmNvZGluZ0hhbmRsZXI6CisgKiBAaGFuZGxlcjogIHRoZSB4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyIGhhbmRsZXIgYmxvY2sKKyAqCisgKiBSZWdpc3RlciB0aGUgY2hhciBlbmNvZGluZyBoYW5kbGVyLCBzdXJwcmlzaW5nLCBpc24ndCBpdCA/CisgKi8KK3ZvaWQKK3htbFJlZ2lzdGVyQ2hhckVuY29kaW5nSGFuZGxlcih4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyIGhhbmRsZXIpIHsKKyAgICBpZiAoaGFuZGxlcnMgPT0gTlVMTCkgeG1sSW5pdENoYXJFbmNvZGluZ0hhbmRsZXJzKCk7CisgICAgaWYgKChoYW5kbGVyID09IE5VTEwpIHx8IChoYW5kbGVycyA9PSBOVUxMKSkgeworICAgICAgICB4bWxFbmNvZGluZ0VycihYTUxfSTE4Tl9OT19IQU5ETEVSLAorCQkieG1sUmVnaXN0ZXJDaGFyRW5jb2RpbmdIYW5kbGVyOiBOVUxMIGhhbmRsZXIgIVxuIiwgTlVMTCk7CisJcmV0dXJuOworICAgIH0KKworICAgIGlmIChuYkNoYXJFbmNvZGluZ0hhbmRsZXIgPj0gTUFYX0VOQ09ESU5HX0hBTkRMRVJTKSB7CisgICAgICAgIHhtbEVuY29kaW5nRXJyKFhNTF9JMThOX0VYQ0VTU19IQU5ETEVSLAorCSJ4bWxSZWdpc3RlckNoYXJFbmNvZGluZ0hhbmRsZXI6IFRvbyBtYW55IGhhbmRsZXIgcmVnaXN0ZXJlZCwgc2VlICVzXG4iLAorCSAgICAgICAgICAgICAgICJNQVhfRU5DT0RJTkdfSEFORExFUlMiKTsKKwlyZXR1cm47CisgICAgfQorICAgIGhhbmRsZXJzW25iQ2hhckVuY29kaW5nSGFuZGxlcisrXSA9IGhhbmRsZXI7Cit9CisKKy8qKgorICogeG1sR2V0Q2hhckVuY29kaW5nSGFuZGxlcjoKKyAqIEBlbmM6ICBhbiB4bWxDaGFyRW5jb2RpbmcgdmFsdWUuCisgKgorICogU2VhcmNoIGluIHRoZSByZWdpc3RlcmVkIHNldCB0aGUgaGFuZGxlciBhYmxlIHRvIHJlYWQvd3JpdGUgdGhhdCBlbmNvZGluZy4KKyAqCisgKiBSZXR1cm5zIHRoZSBoYW5kbGVyIG9yIE5VTEwgaWYgbm90IGZvdW5kCisgKi8KK3htbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIKK3htbEdldENoYXJFbmNvZGluZ0hhbmRsZXIoeG1sQ2hhckVuY29kaW5nIGVuYykgeworICAgIHhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIgaGFuZGxlcjsKKworICAgIGlmIChoYW5kbGVycyA9PSBOVUxMKSB4bWxJbml0Q2hhckVuY29kaW5nSGFuZGxlcnMoKTsKKyAgICBzd2l0Y2ggKGVuYykgeworICAgICAgICBjYXNlIFhNTF9DSEFSX0VOQ09ESU5HX0VSUk9SOgorCSAgICByZXR1cm4oTlVMTCk7CisgICAgICAgIGNhc2UgWE1MX0NIQVJfRU5DT0RJTkdfTk9ORToKKwkgICAgcmV0dXJuKE5VTEwpOworICAgICAgICBjYXNlIFhNTF9DSEFSX0VOQ09ESU5HX1VURjg6CisJICAgIHJldHVybihOVUxMKTsKKyAgICAgICAgY2FzZSBYTUxfQ0hBUl9FTkNPRElOR19VVEYxNkxFOgorCSAgICByZXR1cm4oeG1sVVRGMTZMRUhhbmRsZXIpOworICAgICAgICBjYXNlIFhNTF9DSEFSX0VOQ09ESU5HX1VURjE2QkU6CisJICAgIHJldHVybih4bWxVVEYxNkJFSGFuZGxlcik7CisgICAgICAgIGNhc2UgWE1MX0NIQVJfRU5DT0RJTkdfRUJDRElDOgorICAgICAgICAgICAgaGFuZGxlciA9IHhtbEZpbmRDaGFyRW5jb2RpbmdIYW5kbGVyKCJFQkNESUMiKTsKKyAgICAgICAgICAgIGlmIChoYW5kbGVyICE9IE5VTEwpIHJldHVybihoYW5kbGVyKTsKKyAgICAgICAgICAgIGhhbmRsZXIgPSB4bWxGaW5kQ2hhckVuY29kaW5nSGFuZGxlcigiZWJjZGljIik7CisgICAgICAgICAgICBpZiAoaGFuZGxlciAhPSBOVUxMKSByZXR1cm4oaGFuZGxlcik7CisgICAgICAgICAgICBoYW5kbGVyID0geG1sRmluZENoYXJFbmNvZGluZ0hhbmRsZXIoIkVCQ0RJQy1VUyIpOworICAgICAgICAgICAgaWYgKGhhbmRsZXIgIT0gTlVMTCkgcmV0dXJuKGhhbmRsZXIpOworICAgICAgICAgICAgaGFuZGxlciA9IHhtbEZpbmRDaGFyRW5jb2RpbmdIYW5kbGVyKCJJQk0tMDM3Iik7CisgICAgICAgICAgICBpZiAoaGFuZGxlciAhPSBOVUxMKSByZXR1cm4oaGFuZGxlcik7CisJICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9DSEFSX0VOQ09ESU5HX1VDUzRCRToKKyAgICAgICAgICAgIGhhbmRsZXIgPSB4bWxGaW5kQ2hhckVuY29kaW5nSGFuZGxlcigiSVNPLTEwNjQ2LVVDUy00Iik7CisgICAgICAgICAgICBpZiAoaGFuZGxlciAhPSBOVUxMKSByZXR1cm4oaGFuZGxlcik7CisgICAgICAgICAgICBoYW5kbGVyID0geG1sRmluZENoYXJFbmNvZGluZ0hhbmRsZXIoIlVDUy00Iik7CisgICAgICAgICAgICBpZiAoaGFuZGxlciAhPSBOVUxMKSByZXR1cm4oaGFuZGxlcik7CisgICAgICAgICAgICBoYW5kbGVyID0geG1sRmluZENoYXJFbmNvZGluZ0hhbmRsZXIoIlVDUzQiKTsKKyAgICAgICAgICAgIGlmIChoYW5kbGVyICE9IE5VTEwpIHJldHVybihoYW5kbGVyKTsKKwkgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0NIQVJfRU5DT0RJTkdfVUNTNExFOgorICAgICAgICAgICAgaGFuZGxlciA9IHhtbEZpbmRDaGFyRW5jb2RpbmdIYW5kbGVyKCJJU08tMTA2NDYtVUNTLTQiKTsKKyAgICAgICAgICAgIGlmIChoYW5kbGVyICE9IE5VTEwpIHJldHVybihoYW5kbGVyKTsKKyAgICAgICAgICAgIGhhbmRsZXIgPSB4bWxGaW5kQ2hhckVuY29kaW5nSGFuZGxlcigiVUNTLTQiKTsKKyAgICAgICAgICAgIGlmIChoYW5kbGVyICE9IE5VTEwpIHJldHVybihoYW5kbGVyKTsKKyAgICAgICAgICAgIGhhbmRsZXIgPSB4bWxGaW5kQ2hhckVuY29kaW5nSGFuZGxlcigiVUNTNCIpOworICAgICAgICAgICAgaWYgKGhhbmRsZXIgIT0gTlVMTCkgcmV0dXJuKGhhbmRsZXIpOworCSAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfQ0hBUl9FTkNPRElOR19VQ1M0XzIxNDM6CisJICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9DSEFSX0VOQ09ESU5HX1VDUzRfMzQxMjoKKwkgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0NIQVJfRU5DT0RJTkdfVUNTMjoKKyAgICAgICAgICAgIGhhbmRsZXIgPSB4bWxGaW5kQ2hhckVuY29kaW5nSGFuZGxlcigiSVNPLTEwNjQ2LVVDUy0yIik7CisgICAgICAgICAgICBpZiAoaGFuZGxlciAhPSBOVUxMKSByZXR1cm4oaGFuZGxlcik7CisgICAgICAgICAgICBoYW5kbGVyID0geG1sRmluZENoYXJFbmNvZGluZ0hhbmRsZXIoIlVDUy0yIik7CisgICAgICAgICAgICBpZiAoaGFuZGxlciAhPSBOVUxMKSByZXR1cm4oaGFuZGxlcik7CisgICAgICAgICAgICBoYW5kbGVyID0geG1sRmluZENoYXJFbmNvZGluZ0hhbmRsZXIoIlVDUzIiKTsKKyAgICAgICAgICAgIGlmIChoYW5kbGVyICE9IE5VTEwpIHJldHVybihoYW5kbGVyKTsKKwkgICAgYnJlYWs7CisKKwkgICAgLyoKKwkgICAgICogV2UgdXNlZCB0byBrZWVwIElTTyBMYXRpbiBlbmNvZGluZ3MgbmF0aXZlIGluIHRoZQorCSAgICAgKiBnZW5lcmF0ZWQgZGF0YS4gVGhpcyBsZWQgdG8gc28gbWFueSBwcm9ibGVtcyB0aGF0CisJICAgICAqIHRoaXMgaGFzIGJlZW4gcmVtb3ZlZC4gT25lIGNhbiBzdGlsbCBjaGFuZ2UgdGhpcworCSAgICAgKiBiYWNrIGJ5IHJlZ2lzdGVyaW5nIG5vLW9wcyBlbmNvZGVycyBmb3IgdGhvc2UKKwkgICAgICovCisgICAgICAgIGNhc2UgWE1MX0NIQVJfRU5DT0RJTkdfODg1OV8xOgorCSAgICBoYW5kbGVyID0geG1sRmluZENoYXJFbmNvZGluZ0hhbmRsZXIoIklTTy04ODU5LTEiKTsKKwkgICAgaWYgKGhhbmRsZXIgIT0gTlVMTCkgcmV0dXJuKGhhbmRsZXIpOworCSAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfQ0hBUl9FTkNPRElOR184ODU5XzI6CisJICAgIGhhbmRsZXIgPSB4bWxGaW5kQ2hhckVuY29kaW5nSGFuZGxlcigiSVNPLTg4NTktMiIpOworCSAgICBpZiAoaGFuZGxlciAhPSBOVUxMKSByZXR1cm4oaGFuZGxlcik7CisJICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9DSEFSX0VOQ09ESU5HXzg4NTlfMzoKKwkgICAgaGFuZGxlciA9IHhtbEZpbmRDaGFyRW5jb2RpbmdIYW5kbGVyKCJJU08tODg1OS0zIik7CisJICAgIGlmIChoYW5kbGVyICE9IE5VTEwpIHJldHVybihoYW5kbGVyKTsKKwkgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0NIQVJfRU5DT0RJTkdfODg1OV80OgorCSAgICBoYW5kbGVyID0geG1sRmluZENoYXJFbmNvZGluZ0hhbmRsZXIoIklTTy04ODU5LTQiKTsKKwkgICAgaWYgKGhhbmRsZXIgIT0gTlVMTCkgcmV0dXJuKGhhbmRsZXIpOworCSAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfQ0hBUl9FTkNPRElOR184ODU5XzU6CisJICAgIGhhbmRsZXIgPSB4bWxGaW5kQ2hhckVuY29kaW5nSGFuZGxlcigiSVNPLTg4NTktNSIpOworCSAgICBpZiAoaGFuZGxlciAhPSBOVUxMKSByZXR1cm4oaGFuZGxlcik7CisJICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9DSEFSX0VOQ09ESU5HXzg4NTlfNjoKKwkgICAgaGFuZGxlciA9IHhtbEZpbmRDaGFyRW5jb2RpbmdIYW5kbGVyKCJJU08tODg1OS02Iik7CisJICAgIGlmIChoYW5kbGVyICE9IE5VTEwpIHJldHVybihoYW5kbGVyKTsKKwkgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0NIQVJfRU5DT0RJTkdfODg1OV83OgorCSAgICBoYW5kbGVyID0geG1sRmluZENoYXJFbmNvZGluZ0hhbmRsZXIoIklTTy04ODU5LTciKTsKKwkgICAgaWYgKGhhbmRsZXIgIT0gTlVMTCkgcmV0dXJuKGhhbmRsZXIpOworCSAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfQ0hBUl9FTkNPRElOR184ODU5Xzg6CisJICAgIGhhbmRsZXIgPSB4bWxGaW5kQ2hhckVuY29kaW5nSGFuZGxlcigiSVNPLTg4NTktOCIpOworCSAgICBpZiAoaGFuZGxlciAhPSBOVUxMKSByZXR1cm4oaGFuZGxlcik7CisJICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9DSEFSX0VOQ09ESU5HXzg4NTlfOToKKwkgICAgaGFuZGxlciA9IHhtbEZpbmRDaGFyRW5jb2RpbmdIYW5kbGVyKCJJU08tODg1OS05Iik7CisJICAgIGlmIChoYW5kbGVyICE9IE5VTEwpIHJldHVybihoYW5kbGVyKTsKKwkgICAgYnJlYWs7CisKKworICAgICAgICBjYXNlIFhNTF9DSEFSX0VOQ09ESU5HXzIwMjJfSlA6CisgICAgICAgICAgICBoYW5kbGVyID0geG1sRmluZENoYXJFbmNvZGluZ0hhbmRsZXIoIklTTy0yMDIyLUpQIik7CisgICAgICAgICAgICBpZiAoaGFuZGxlciAhPSBOVUxMKSByZXR1cm4oaGFuZGxlcik7CisJICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9DSEFSX0VOQ09ESU5HX1NISUZUX0pJUzoKKyAgICAgICAgICAgIGhhbmRsZXIgPSB4bWxGaW5kQ2hhckVuY29kaW5nSGFuZGxlcigiU0hJRlQtSklTIik7CisgICAgICAgICAgICBpZiAoaGFuZGxlciAhPSBOVUxMKSByZXR1cm4oaGFuZGxlcik7CisgICAgICAgICAgICBoYW5kbGVyID0geG1sRmluZENoYXJFbmNvZGluZ0hhbmRsZXIoIlNISUZUX0pJUyIpOworICAgICAgICAgICAgaWYgKGhhbmRsZXIgIT0gTlVMTCkgcmV0dXJuKGhhbmRsZXIpOworICAgICAgICAgICAgaGFuZGxlciA9IHhtbEZpbmRDaGFyRW5jb2RpbmdIYW5kbGVyKCJTaGlmdF9KSVMiKTsKKyAgICAgICAgICAgIGlmIChoYW5kbGVyICE9IE5VTEwpIHJldHVybihoYW5kbGVyKTsKKwkgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0NIQVJfRU5DT0RJTkdfRVVDX0pQOgorICAgICAgICAgICAgaGFuZGxlciA9IHhtbEZpbmRDaGFyRW5jb2RpbmdIYW5kbGVyKCJFVUMtSlAiKTsKKyAgICAgICAgICAgIGlmIChoYW5kbGVyICE9IE5VTEwpIHJldHVybihoYW5kbGVyKTsKKwkgICAgYnJlYWs7CisJZGVmYXVsdDoKKwkgICAgYnJlYWs7CisgICAgfQorCisjaWZkZWYgREVCVUdfRU5DT0RJTkcKKyAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkgICAgIk5vIGhhbmRsZXIgZm91bmQgZm9yIGVuY29kaW5nICVkXG4iLCBlbmMpOworI2VuZGlmCisgICAgcmV0dXJuKE5VTEwpOworfQorCisvKioKKyAqIHhtbEZpbmRDaGFyRW5jb2RpbmdIYW5kbGVyOgorICogQG5hbWU6ICBhIHN0cmluZyBkZXNjcmliaW5nIHRoZSBjaGFyIGVuY29kaW5nLgorICoKKyAqIFNlYXJjaCBpbiB0aGUgcmVnaXN0ZXJlZCBzZXQgdGhlIGhhbmRsZXIgYWJsZSB0byByZWFkL3dyaXRlIHRoYXQgZW5jb2RpbmcuCisgKgorICogUmV0dXJucyB0aGUgaGFuZGxlciBvciBOVUxMIGlmIG5vdCBmb3VuZAorICovCit4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyCit4bWxGaW5kQ2hhckVuY29kaW5nSGFuZGxlcihjb25zdCBjaGFyICpuYW1lKSB7CisgICAgY29uc3QgY2hhciAqbmFsaWFzOworICAgIGNvbnN0IGNoYXIgKm5vcmlnOworICAgIHhtbENoYXJFbmNvZGluZyBhbGlhczsKKyNpZmRlZiBMSUJYTUxfSUNPTlZfRU5BQkxFRAorICAgIHhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIgZW5jOworICAgIGljb252X3QgaWN2X2luLCBpY3Zfb3V0OworI2VuZGlmIC8qIExJQlhNTF9JQ09OVl9FTkFCTEVEICovCisjaWZkZWYgTElCWE1MX0lDVV9FTkFCTEVECisgICAgeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0ciBlbmN1OworICAgIHVjb252X3QgKnVjdl9pbiwgKnVjdl9vdXQ7CisjZW5kaWYgLyogTElCWE1MX0lDVV9FTkFCTEVEICovCisgICAgY2hhciB1cHBlclsxMDBdOworICAgIGludCBpOworCisgICAgaWYgKGhhbmRsZXJzID09IE5VTEwpIHhtbEluaXRDaGFyRW5jb2RpbmdIYW5kbGVycygpOworICAgIGlmIChuYW1lID09IE5VTEwpIHJldHVybih4bWxEZWZhdWx0Q2hhckVuY29kaW5nSGFuZGxlcik7CisgICAgaWYgKG5hbWVbMF0gPT0gMCkgcmV0dXJuKHhtbERlZmF1bHRDaGFyRW5jb2RpbmdIYW5kbGVyKTsKKworICAgIC8qCisgICAgICogRG8gdGhlIGFsaWFzIHJlc29sdXRpb24KKyAgICAgKi8KKyAgICBub3JpZyA9IG5hbWU7CisgICAgbmFsaWFzID0geG1sR2V0RW5jb2RpbmdBbGlhcyhuYW1lKTsKKyAgICBpZiAobmFsaWFzICE9IE5VTEwpCisJbmFtZSA9IG5hbGlhczsKKworICAgIC8qCisgICAgICogQ2hlY2sgZmlyc3QgZm9yIGRpcmVjdGx5IHJlZ2lzdGVyZWQgZW5jb2RpbmcgbmFtZXMKKyAgICAgKi8KKyAgICBmb3IgKGkgPSAwO2kgPCA5OTtpKyspIHsKKyAgICAgICAgdXBwZXJbaV0gPSB0b3VwcGVyKG5hbWVbaV0pOworCWlmICh1cHBlcltpXSA9PSAwKSBicmVhazsKKyAgICB9CisgICAgdXBwZXJbaV0gPSAwOworCisgICAgaWYgKGhhbmRsZXJzICE9IE5VTEwpIHsKKyAgICAgICAgZm9yIChpID0gMDtpIDwgbmJDaGFyRW5jb2RpbmdIYW5kbGVyOyBpKyspIHsKKyAgICAgICAgICAgIGlmICghc3RyY21wKHVwcGVyLCBoYW5kbGVyc1tpXS0+bmFtZSkpIHsKKyNpZmRlZiBERUJVR19FTkNPRElORworICAgICAgICAgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgIkZvdW5kIHJlZ2lzdGVyZWQgaGFuZGxlciBmb3IgZW5jb2RpbmcgJXNcbiIsIG5hbWUpOworI2VuZGlmCisgICAgICAgICAgICAgICAgcmV0dXJuKGhhbmRsZXJzW2ldKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKworI2lmZGVmIExJQlhNTF9JQ09OVl9FTkFCTEVECisgICAgLyogY2hlY2sgd2hldGhlciBpY29udiBjYW4gaGFuZGxlIHRoaXMgKi8KKyAgICBpY3ZfaW4gPSBpY29udl9vcGVuKCJVVEYtOCIsIG5hbWUpOworICAgIGljdl9vdXQgPSBpY29udl9vcGVuKG5hbWUsICJVVEYtOCIpOworICAgIGlmIChpY3ZfaW4gPT0gKGljb252X3QpIC0xKSB7CisgICAgICAgIGljdl9pbiA9IGljb252X29wZW4oIlVURi04IiwgdXBwZXIpOworICAgIH0KKyAgICBpZiAoaWN2X291dCA9PSAoaWNvbnZfdCkgLTEpIHsKKwlpY3Zfb3V0ID0gaWNvbnZfb3Blbih1cHBlciwgIlVURi04Iik7CisgICAgfQorICAgIGlmICgoaWN2X2luICE9IChpY29udl90KSAtMSkgJiYgKGljdl9vdXQgIT0gKGljb252X3QpIC0xKSkgeworCSAgICBlbmMgPSAoeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0cikKKwkgICAgICAgICAgeG1sTWFsbG9jKHNpemVvZih4bWxDaGFyRW5jb2RpbmdIYW5kbGVyKSk7CisJICAgIGlmIChlbmMgPT0gTlVMTCkgeworCSAgICAgICAgaWNvbnZfY2xvc2UoaWN2X2luKTsKKwkgICAgICAgIGljb252X2Nsb3NlKGljdl9vdXQpOworCQlyZXR1cm4oTlVMTCk7CisJICAgIH0KKyAgICAgICAgICAgIG1lbXNldChlbmMsIDAsIHNpemVvZih4bWxDaGFyRW5jb2RpbmdIYW5kbGVyKSk7CisJICAgIGVuYy0+bmFtZSA9IHhtbE1lbVN0cmR1cChuYW1lKTsKKwkgICAgZW5jLT5pbnB1dCA9IE5VTEw7CisJICAgIGVuYy0+b3V0cHV0ID0gTlVMTDsKKwkgICAgZW5jLT5pY29udl9pbiA9IGljdl9pbjsKKwkgICAgZW5jLT5pY29udl9vdXQgPSBpY3Zfb3V0OworI2lmZGVmIERFQlVHX0VOQ09ESU5HCisgICAgICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJICAgICJGb3VuZCBpY29udiBoYW5kbGVyIGZvciBlbmNvZGluZyAlc1xuIiwgbmFtZSk7CisjZW5kaWYKKwkgICAgcmV0dXJuIGVuYzsKKyAgICB9IGVsc2UgaWYgKChpY3ZfaW4gIT0gKGljb252X3QpIC0xKSB8fCBpY3Zfb3V0ICE9IChpY29udl90KSAtMSkgeworCSAgICB4bWxFbmNvZGluZ0VycihYTUxfRVJSX0lOVEVSTkFMX0VSUk9SLAorCQkgICAgImljb252IDogcHJvYmxlbXMgd2l0aCBmaWx0ZXJzIGZvciAnJXMnXG4iLCBuYW1lKTsKKyAgICB9CisjZW5kaWYgLyogTElCWE1MX0lDT05WX0VOQUJMRUQgKi8KKyNpZmRlZiBMSUJYTUxfSUNVX0VOQUJMRUQKKyAgICAvKiBjaGVjayB3aGV0aGVyIGljdSBjYW4gaGFuZGxlIHRoaXMgKi8KKyAgICB1Y3ZfaW4gPSBvcGVuSWN1Q29udmVydGVyKG5hbWUsIDEpOworICAgIHVjdl9vdXQgPSBvcGVuSWN1Q29udmVydGVyKG5hbWUsIDApOworICAgIGlmICh1Y3ZfaW4gIT0gTlVMTCAmJiB1Y3Zfb3V0ICE9IE5VTEwpIHsKKwkgICAgZW5jdSA9ICh4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyKQorCSAgICAgICAgICAgeG1sTWFsbG9jKHNpemVvZih4bWxDaGFyRW5jb2RpbmdIYW5kbGVyKSk7CisJICAgIGlmIChlbmN1ID09IE5VTEwpIHsKKyAgICAgICAgICAgICAgICBjbG9zZUljdUNvbnZlcnRlcih1Y3ZfaW4pOworICAgICAgICAgICAgICAgIGNsb3NlSWN1Q29udmVydGVyKHVjdl9vdXQpOworCQlyZXR1cm4oTlVMTCk7CisJICAgIH0KKyAgICAgICAgICAgIG1lbXNldChlbmN1LCAwLCBzaXplb2YoeG1sQ2hhckVuY29kaW5nSGFuZGxlcikpOworCSAgICBlbmN1LT5uYW1lID0geG1sTWVtU3RyZHVwKG5hbWUpOworCSAgICBlbmN1LT5pbnB1dCA9IE5VTEw7CisJICAgIGVuY3UtPm91dHB1dCA9IE5VTEw7CisJICAgIGVuY3UtPnVjb252X2luID0gdWN2X2luOworCSAgICBlbmN1LT51Y29udl9vdXQgPSB1Y3Zfb3V0OworI2lmZGVmIERFQlVHX0VOQ09ESU5HCisgICAgICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJICAgICJGb3VuZCBJQ1UgY29udmVydGVyIGhhbmRsZXIgZm9yIGVuY29kaW5nICVzXG4iLCBuYW1lKTsKKyNlbmRpZgorCSAgICByZXR1cm4gZW5jdTsKKyAgICB9IGVsc2UgaWYgKHVjdl9pbiAhPSBOVUxMIHx8IHVjdl9vdXQgIT0gTlVMTCkgeworICAgICAgICAgICAgY2xvc2VJY3VDb252ZXJ0ZXIodWN2X2luKTsKKyAgICAgICAgICAgIGNsb3NlSWN1Q29udmVydGVyKHVjdl9vdXQpOworCSAgICB4bWxFbmNvZGluZ0VycihYTUxfRVJSX0lOVEVSTkFMX0VSUk9SLAorCQkgICAgIklDVSBjb252ZXJ0ZXIgOiBwcm9ibGVtcyB3aXRoIGZpbHRlcnMgZm9yICclcydcbiIsIG5hbWUpOworICAgIH0KKyNlbmRpZiAvKiBMSUJYTUxfSUNVX0VOQUJMRUQgKi8KKworI2lmZGVmIERFQlVHX0VOQ09ESU5HCisgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJICAgICJObyBoYW5kbGVyIGZvdW5kIGZvciBlbmNvZGluZyAlc1xuIiwgbmFtZSk7CisjZW5kaWYKKworICAgIC8qCisgICAgICogRmFsbGJhY2sgdXNpbmcgdGhlIGNhbm9uaWNhbCBuYW1lcworICAgICAqLworICAgIGFsaWFzID0geG1sUGFyc2VDaGFyRW5jb2Rpbmcobm9yaWcpOworICAgIGlmIChhbGlhcyAhPSBYTUxfQ0hBUl9FTkNPRElOR19FUlJPUikgeworICAgICAgICBjb25zdCBjaGFyKiBjYW5vbjsKKyAgICAgICAgY2Fub24gPSB4bWxHZXRDaGFyRW5jb2RpbmdOYW1lKGFsaWFzKTsKKyAgICAgICAgaWYgKChjYW5vbiAhPSBOVUxMKSAmJiAoc3RyY21wKG5hbWUsIGNhbm9uKSkpIHsKKwkgICAgcmV0dXJuKHhtbEZpbmRDaGFyRW5jb2RpbmdIYW5kbGVyKGNhbm9uKSk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICAvKiBJZiAibm9uZSBvZiB0aGUgYWJvdmUiLCBnaXZlIHVwICovCisgICAgcmV0dXJuKE5VTEwpOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQlJQ09OViBiYXNlZCBnZW5lcmljIGNvbnZlcnNpb24gZnVuY3Rpb25zCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZmRlZiBMSUJYTUxfSUNPTlZfRU5BQkxFRAorLyoqCisgKiB4bWxJY29udldyYXBwZXI6CisgKiBAY2Q6CQlpY29udiBjb252ZXJ0ZXIgZGF0YSBzdHJ1Y3R1cmUKKyAqIEBvdXQ6ICBhIHBvaW50ZXIgdG8gYW4gYXJyYXkgb2YgYnl0ZXMgdG8gc3RvcmUgdGhlIHJlc3VsdAorICogQG91dGxlbjogIHRoZSBsZW5ndGggb2YgQG91dAorICogQGluOiAgYSBwb2ludGVyIHRvIGFuIGFycmF5IG9mIElTTyBMYXRpbiAxIGNoYXJzCisgKiBAaW5sZW46ICB0aGUgbGVuZ3RoIG9mIEBpbgorICoKKyAqIFJldHVybnMgMCBpZiBzdWNjZXNzLCBvcgorICogICAgIC0xIGJ5IGxhY2sgb2Ygc3BhY2UsIG9yCisgKiAgICAgLTIgaWYgdGhlIHRyYW5zY29kaW5nIGZhaWxzIChmb3IgKmluIGlzIG5vdCB2YWxpZCB1dGY4IHN0cmluZyBvcgorICogICAgICAgIHRoZSByZXN1bHQgb2YgdHJhbnNmb3JtYXRpb24gY2FuJ3QgZml0IGludG8gdGhlIGVuY29kaW5nIHdlIHdhbnQpLCBvcgorICogICAgIC0zIGlmIHRoZXJlIHRoZSBsYXN0IGJ5dGUgY2FuJ3QgZm9ybSBhIHNpbmdsZSBvdXRwdXQgY2hhci4KKyAqCisgKiBUaGUgdmFsdWUgb2YgQGlubGVuIGFmdGVyIHJldHVybiBpcyB0aGUgbnVtYmVyIG9mIG9jdGV0cyBjb25zdW1lZAorICogICAgIGFzIHRoZSByZXR1cm4gdmFsdWUgaXMgcG9zaXRpdmUsIGVsc2UgdW5wcmVkaWN0YWJsZS4KKyAqIFRoZSB2YWx1ZSBvZiBAb3V0bGVuIGFmdGVyIHJldHVybiBpcyB0aGUgbnVtYmVyIG9mIG9jZXRlcyBjb25zdW1lZC4KKyAqLworc3RhdGljIGludAoreG1sSWNvbnZXcmFwcGVyKGljb252X3QgY2QsIHVuc2lnbmVkIGNoYXIgKm91dCwgaW50ICpvdXRsZW4sCisgICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqaW4sIGludCAqaW5sZW4pIHsKKyAgICBzaXplX3QgaWN2X2lubGVuLCBpY3Zfb3V0bGVuOworICAgIGNvbnN0IGNoYXIgKmljdl9pbiA9IChjb25zdCBjaGFyICopIGluOworICAgIGNoYXIgKmljdl9vdXQgPSAoY2hhciAqKSBvdXQ7CisgICAgaW50IHJldDsKKworICAgIGlmICgob3V0ID09IE5VTEwpIHx8IChvdXRsZW4gPT0gTlVMTCkgfHwgKGlubGVuID09IE5VTEwpIHx8IChpbiA9PSBOVUxMKSkgeworICAgICAgICBpZiAob3V0bGVuICE9IE5VTEwpICpvdXRsZW4gPSAwOworICAgICAgICByZXR1cm4oLTEpOworICAgIH0KKyAgICBpY3ZfaW5sZW4gPSAqaW5sZW47CisgICAgaWN2X291dGxlbiA9ICpvdXRsZW47CisgICAgcmV0ID0gaWNvbnYoY2QsIChJQ09OVl9DT05TVCBjaGFyICoqKSAmaWN2X2luLCAmaWN2X2lubGVuLCAmaWN2X291dCwgJmljdl9vdXRsZW4pOworICAgICppbmxlbiAtPSBpY3ZfaW5sZW47CisgICAgKm91dGxlbiAtPSBpY3Zfb3V0bGVuOworICAgIGlmICgoaWN2X2lubGVuICE9IDApIHx8IChyZXQgPT0gLTEpKSB7CisjaWZkZWYgRUlMU0VRCisgICAgICAgIGlmIChlcnJubyA9PSBFSUxTRVEpIHsKKyAgICAgICAgICAgIHJldHVybiAtMjsKKyAgICAgICAgfSBlbHNlCisjZW5kaWYKKyNpZmRlZiBFMkJJRworICAgICAgICBpZiAoZXJybm8gPT0gRTJCSUcpIHsKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgfSBlbHNlCisjZW5kaWYKKyNpZmRlZiBFSU5WQUwKKyAgICAgICAgaWYgKGVycm5vID09IEVJTlZBTCkgeworICAgICAgICAgICAgcmV0dXJuIC0zOworICAgICAgICB9IGVsc2UKKyNlbmRpZgorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gLTM7CisgICAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuIDA7Cit9CisjZW5kaWYgLyogTElCWE1MX0lDT05WX0VOQUJMRUQgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJSUNVIGJhc2VkIGdlbmVyaWMgY29udmVyc2lvbiBmdW5jdGlvbnMJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmZGVmIExJQlhNTF9JQ1VfRU5BQkxFRAorLyoqCisgKiB4bWxVY29udldyYXBwZXI6CisgKiBAY2Q6IElDVSB1Y29udmVydGVyIGRhdGEgc3RydWN0dXJlCisgKiBAdG9Vbmljb2RlIDogbm9uLXplcm8gaWYgdG9Vbmljb2RlLiAwIG90aGVyd2lzZS4KKyAqIEBvdXQ6ICBhIHBvaW50ZXIgdG8gYW4gYXJyYXkgb2YgYnl0ZXMgdG8gc3RvcmUgdGhlIHJlc3VsdAorICogQG91dGxlbjogIHRoZSBsZW5ndGggb2YgQG91dAorICogQGluOiAgYSBwb2ludGVyIHRvIGFuIGFycmF5IG9mIElTTyBMYXRpbiAxIGNoYXJzCisgKiBAaW5sZW46ICB0aGUgbGVuZ3RoIG9mIEBpbgorICoKKyAqIFJldHVybnMgMCBpZiBzdWNjZXNzLCBvcgorICogICAgIC0xIGJ5IGxhY2sgb2Ygc3BhY2UsIG9yCisgKiAgICAgLTIgaWYgdGhlIHRyYW5zY29kaW5nIGZhaWxzIChmb3IgKmluIGlzIG5vdCB2YWxpZCB1dGY4IHN0cmluZyBvcgorICogICAgICAgIHRoZSByZXN1bHQgb2YgdHJhbnNmb3JtYXRpb24gY2FuJ3QgZml0IGludG8gdGhlIGVuY29kaW5nIHdlIHdhbnQpLCBvcgorICogICAgIC0zIGlmIHRoZXJlIHRoZSBsYXN0IGJ5dGUgY2FuJ3QgZm9ybSBhIHNpbmdsZSBvdXRwdXQgY2hhci4KKyAqCisgKiBUaGUgdmFsdWUgb2YgQGlubGVuIGFmdGVyIHJldHVybiBpcyB0aGUgbnVtYmVyIG9mIG9jdGV0cyBjb25zdW1lZAorICogICAgIGFzIHRoZSByZXR1cm4gdmFsdWUgaXMgcG9zaXRpdmUsIGVsc2UgdW5wcmVkaWN0YWJsZS4KKyAqIFRoZSB2YWx1ZSBvZiBAb3V0bGVuIGFmdGVyIHJldHVybiBpcyB0aGUgbnVtYmVyIG9mIG9jZXRlcyBjb25zdW1lZC4KKyAqLworc3RhdGljIGludAoreG1sVWNvbnZXcmFwcGVyKHVjb252X3QgKmNkLCBpbnQgdG9Vbmljb2RlLCB1bnNpZ25lZCBjaGFyICpvdXQsIGludCAqb3V0bGVuLAorICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmluLCBpbnQgKmlubGVuKSB7CisgICAgY29uc3QgY2hhciAqdWN2X2luID0gKGNvbnN0IGNoYXIgKikgaW47CisgICAgY2hhciAqdWN2X291dCA9IChjaGFyICopIG91dDsKKyAgICBVRXJyb3JDb2RlIGVyciA9IFVfWkVST19FUlJPUjsKKworICAgIGlmICgob3V0ID09IE5VTEwpIHx8IChvdXRsZW4gPT0gTlVMTCkgfHwgKGlubGVuID09IE5VTEwpIHx8IChpbiA9PSBOVUxMKSkgeworICAgICAgICBpZiAob3V0bGVuICE9IE5VTEwpICpvdXRsZW4gPSAwOworICAgICAgICByZXR1cm4oLTEpOworICAgIH0KKworICAgIC8qCisgICAgICogVE9ETyhqdW5nc2hpaykKKyAgICAgKiAxLiBpcyB1Y252X2NvbnZlcnQoVG98RnJvbSlBbGdvcml0aG1pYyBiZXR0ZXI/CisgICAgICogMi4gaGFkIHdlIGJldHRlciB1c2UgYW4gZXhwbGljaXQgcGl2b3QgYnVmZmVyPworICAgICAqIDMuIGVycm9yIHJldHVybmVkIGNvbWVzIGZyb20gJ2Zyb21Vbmljb2RlJyBvbmx5IGV2ZW4KKyAgICAgKiAgICB3aGVuIHRvVW5pY29kZSBpcyB0cnVlICEKKyAgICAgKi8KKyAgICBpZiAodG9Vbmljb2RlKSB7CisgICAgICAgIC8qIGVuY29kaW5nID0+IFVURi0xNiA9PiBVVEYtOCAqLworICAgICAgICB1Y252X2NvbnZlcnRFeChjZC0+dXRmOCwgY2QtPnVjb252LCAmdWN2X291dCwgdWN2X291dCArICpvdXRsZW4sCisgICAgICAgICAgICAgICAgICAgICAgICZ1Y3ZfaW4sIHVjdl9pbiArICppbmxlbiwgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwKKyAgICAgICAgICAgICAgICAgICAgICAgMCwgVFJVRSwgJmVycik7CisgICAgfSBlbHNlIHsKKyAgICAgICAgLyogVVRGLTggPT4gVVRGLTE2ID0+IGVuY29kaW5nICovCisgICAgICAgIHVjbnZfY29udmVydEV4KGNkLT51Y29udiwgY2QtPnV0ZjgsICZ1Y3Zfb3V0LCB1Y3Zfb3V0ICsgKm91dGxlbiwKKyAgICAgICAgICAgICAgICAgICAgICAgJnVjdl9pbiwgdWN2X2luICsgKmlubGVuLCBOVUxMLCBOVUxMLCBOVUxMLCBOVUxMLAorICAgICAgICAgICAgICAgICAgICAgICAwLCBUUlVFLCAmZXJyKTsKKyAgICB9CisgICAgKmlubGVuID0gdWN2X2luIC0gKGNvbnN0IGNoYXIqKSBpbjsKKyAgICAqb3V0bGVuID0gdWN2X291dCAtIChjaGFyICopIG91dDsKKyAgICBpZiAoVV9TVUNDRVNTKGVycikpCisgICAgICAgIHJldHVybiAwOworICAgIGlmIChlcnIgPT0gVV9CVUZGRVJfT1ZFUkZMT1dfRVJST1IpCisgICAgICAgIHJldHVybiAtMTsKKyAgICBpZiAoZXJyID09IFVfSU5WQUxJRF9DSEFSX0ZPVU5EIHx8IGVyciA9PSBVX0lMTEVHQUxfQ0hBUl9GT1VORCkKKyAgICAgICAgcmV0dXJuIC0yOworICAgIC8qIGlmIChlcnIgPT0gVV9UUlVOQ0FURURfQ0hBUl9GT1VORCkgKi8KKyAgICByZXR1cm4gLTM7Cit9CisjZW5kaWYgLyogTElCWE1MX0lDVV9FTkFCTEVEICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCVRoZSByZWFsIEFQSSB1c2VkIGJ5IGxpYnhtbCBmb3Igb24tdGhlLWZseSBjb252ZXJzaW9uCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqCisgKiB4bWxDaGFyRW5jRmlyc3RMaW5lSW50OgorICogQGhhbmRsZXI6CWNoYXIgZW5jb25kaW5nIHRyYW5zZm9ybWF0aW9uIGRhdGEgc3RydWN0dXJlCisgKiBAb3V0OiAgYW4geG1sQnVmZmVyIGZvciB0aGUgb3V0cHV0LgorICogQGluOiAgYW4geG1sQnVmZmVyIGZvciB0aGUgaW5wdXQKKyAqIEBsZW46ICBudW1iZXIgb2YgYnl0ZXMgdG8gY29udmVydCBmb3IgdGhlIGZpcnN0IGxpbmUsIG9yIC0xCisgKgorICogRnJvbnQtZW5kIGZvciB0aGUgZW5jb2RpbmcgaGFuZGxlciBpbnB1dCBmdW5jdGlvbiwgYnV0IGhhbmRsZSBvbmx5CisgKiB0aGUgdmVyeSBmaXJzdCBsaW5lLCBpLmUuIGxpbWl0IGl0c2VsZiB0byA0NSBjaGFycy4KKyAqCisgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgYnl0ZSB3cml0dGVuIGlmIHN1Y2Nlc3MsIG9yCisgKiAgICAgLTEgZ2VuZXJhbCBlcnJvcgorICogICAgIC0yIGlmIHRoZSB0cmFuc2NvZGluZyBmYWlscyAoZm9yICppbiBpcyBub3QgdmFsaWQgdXRmOCBzdHJpbmcgb3IKKyAqICAgICAgICB0aGUgcmVzdWx0IG9mIHRyYW5zZm9ybWF0aW9uIGNhbid0IGZpdCBpbnRvIHRoZSBlbmNvZGluZyB3ZSB3YW50KSwgb3IKKyAqLworaW50Cit4bWxDaGFyRW5jRmlyc3RMaW5lSW50KHhtbENoYXJFbmNvZGluZ0hhbmRsZXIgKmhhbmRsZXIsIHhtbEJ1ZmZlclB0ciBvdXQsCisgICAgICAgICAgICAgICAgICAgICAgIHhtbEJ1ZmZlclB0ciBpbiwgaW50IGxlbikgeworICAgIGludCByZXQgPSAtMjsKKyAgICBpbnQgd3JpdHRlbjsKKyAgICBpbnQgdG9jb252OworCisgICAgaWYgKGhhbmRsZXIgPT0gTlVMTCkgcmV0dXJuKC0xKTsKKyAgICBpZiAob3V0ID09IE5VTEwpIHJldHVybigtMSk7CisgICAgaWYgKGluID09IE5VTEwpIHJldHVybigtMSk7CisKKyAgICAvKiBjYWxjdWxhdGUgc3BhY2UgYXZhaWxhYmxlICovCisgICAgd3JpdHRlbiA9IG91dC0+c2l6ZSAtIG91dC0+dXNlIC0gMTsgLyogY291bnQgJ1wwJyAqLworICAgIHRvY29udiA9IGluLT51c2U7CisgICAgLyoKKyAgICAgKiBlY2hvICc8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVQ1M0Ij8+JyB8IHdjIC1jID0+IDM4CisgICAgICogNDUgY2hhcnMgc2hvdWxkIGJlIHN1ZmZpY2llbnQgdG8gcmVhY2ggdGhlIGVuZCBvZiB0aGUgZW5jb2RpbmcKKyAgICAgKiBkZWNsYXJhdGlvbiB3aXRob3V0IGdvaW5nIHRvbyBmYXIgaW5zaWRlIHRoZSBkb2N1bWVudCBjb250ZW50LgorICAgICAqIG9uIFVURi0xNiB0aGlzIG1lYW5zIDkwYnl0ZXMsIG9uIFVDUzQgdGhpcyBtZWFucyAxODAKKyAgICAgKiBUaGUgYWN0dWFsIHZhbHVlIGRlcGVuZGluZyBvbiBndWVzc2VkIGVuY29kaW5nIGlzIHBhc3NlZCBhcyBAbGVuCisgICAgICogaWYgcHJvdmlkZWQKKyAgICAgKi8KKyAgICBpZiAobGVuID49IDApIHsKKyAgICAgICAgaWYgKHRvY29udiA+IGxlbikKKyAgICAgICAgICAgIHRvY29udiA9IGxlbjsKKyAgICB9IGVsc2UgeworICAgICAgICBpZiAodG9jb252ID4gMTgwKQorICAgICAgICAgICAgdG9jb252ID0gMTgwOworICAgIH0KKyAgICBpZiAodG9jb252ICogMiA+PSB3cml0dGVuKSB7CisgICAgICAgIHhtbEJ1ZmZlckdyb3cob3V0LCB0b2NvbnYgKiAyKTsKKwl3cml0dGVuID0gb3V0LT5zaXplIC0gb3V0LT51c2UgLSAxOworICAgIH0KKworICAgIGlmIChoYW5kbGVyLT5pbnB1dCAhPSBOVUxMKSB7CisJcmV0ID0gaGFuZGxlci0+aW5wdXQoJm91dC0+Y29udGVudFtvdXQtPnVzZV0sICZ3cml0dGVuLAorCSAgICAgICAgICAgICAgICAgICAgIGluLT5jb250ZW50LCAmdG9jb252KTsKKwl4bWxCdWZmZXJTaHJpbmsoaW4sIHRvY29udik7CisJb3V0LT51c2UgKz0gd3JpdHRlbjsKKwlvdXQtPmNvbnRlbnRbb3V0LT51c2VdID0gMDsKKyAgICB9CisjaWZkZWYgTElCWE1MX0lDT05WX0VOQUJMRUQKKyAgICBlbHNlIGlmIChoYW5kbGVyLT5pY29udl9pbiAhPSBOVUxMKSB7CisJcmV0ID0geG1sSWNvbnZXcmFwcGVyKGhhbmRsZXItPmljb252X2luLCAmb3V0LT5jb250ZW50W291dC0+dXNlXSwKKwkgICAgICAgICAgICAgICAgICAgICAgJndyaXR0ZW4sIGluLT5jb250ZW50LCAmdG9jb252KTsKKwl4bWxCdWZmZXJTaHJpbmsoaW4sIHRvY29udik7CisJb3V0LT51c2UgKz0gd3JpdHRlbjsKKwlvdXQtPmNvbnRlbnRbb3V0LT51c2VdID0gMDsKKwlpZiAocmV0ID09IC0xKSByZXQgPSAtMzsKKyAgICB9CisjZW5kaWYgLyogTElCWE1MX0lDT05WX0VOQUJMRUQgKi8KKyNpZmRlZiBMSUJYTUxfSUNVX0VOQUJMRUQKKyAgICBlbHNlIGlmIChoYW5kbGVyLT51Y29udl9pbiAhPSBOVUxMKSB7CisJcmV0ID0geG1sVWNvbnZXcmFwcGVyKGhhbmRsZXItPnVjb252X2luLCAxLCAmb3V0LT5jb250ZW50W291dC0+dXNlXSwKKwkgICAgICAgICAgICAgICAgICAgICAgJndyaXR0ZW4sIGluLT5jb250ZW50LCAmdG9jb252KTsKKwl4bWxCdWZmZXJTaHJpbmsoaW4sIHRvY29udik7CisJb3V0LT51c2UgKz0gd3JpdHRlbjsKKwlvdXQtPmNvbnRlbnRbb3V0LT51c2VdID0gMDsKKwlpZiAocmV0ID09IC0xKSByZXQgPSAtMzsKKyAgICB9CisjZW5kaWYgLyogTElCWE1MX0lDVV9FTkFCTEVEICovCisjaWZkZWYgREVCVUdfRU5DT0RJTkcKKyAgICBzd2l0Y2ggKHJldCkgeworICAgICAgICBjYXNlIDA6CisJICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkgICAgImNvbnZlcnRlZCAlZCBieXRlcyB0byAlZCBieXRlcyBvZiBpbnB1dFxuIiwKKwkgICAgICAgICAgICB0b2NvbnYsIHdyaXR0ZW4pOworCSAgICBicmVhazsKKyAgICAgICAgY2FzZSAtMToKKwkgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsImNvbnZlcnRlZCAlZCBieXRlcyB0byAlZCBieXRlcyBvZiBpbnB1dCwgJWQgbGVmdFxuIiwKKwkgICAgICAgICAgICB0b2NvbnYsIHdyaXR0ZW4sIGluLT51c2UpOworCSAgICBicmVhazsKKyAgICAgICAgY2FzZSAtMjoKKwkgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSAgICAiaW5wdXQgY29udmVyc2lvbiBmYWlsZWQgZHVlIHRvIGlucHV0IGVycm9yXG4iKTsKKwkgICAgYnJlYWs7CisgICAgICAgIGNhc2UgLTM6CisJICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCJjb252ZXJ0ZWQgJWQgYnl0ZXMgdG8gJWQgYnl0ZXMgb2YgaW5wdXQsICVkIGxlZnRcbiIsCisJICAgICAgICAgICAgdG9jb252LCB3cml0dGVuLCBpbi0+dXNlKTsKKwkgICAgYnJlYWs7CisJZGVmYXVsdDoKKwkgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsIlVua25vd24gaW5wdXQgY29udmVyc2lvbiBmYWlsZWQgJWRcbiIsIHJldCk7CisgICAgfQorI2VuZGlmIC8qIERFQlVHX0VOQ09ESU5HICovCisgICAgLyoKKyAgICAgKiBJZ25vcmUgd2hlbiBpbnB1dCBidWZmZXIgaXMgbm90IG9uIGEgYm91bmRhcnkKKyAgICAgKi8KKyAgICBpZiAocmV0ID09IC0zKSByZXQgPSAwOworICAgIGlmIChyZXQgPT0gLTEpIHJldCA9IDA7CisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogeG1sQ2hhckVuY0ZpcnN0TGluZToKKyAqIEBoYW5kbGVyOgljaGFyIGVuY29uZGluZyB0cmFuc2Zvcm1hdGlvbiBkYXRhIHN0cnVjdHVyZQorICogQG91dDogIGFuIHhtbEJ1ZmZlciBmb3IgdGhlIG91dHB1dC4KKyAqIEBpbjogIGFuIHhtbEJ1ZmZlciBmb3IgdGhlIGlucHV0CisgKgorICogRnJvbnQtZW5kIGZvciB0aGUgZW5jb2RpbmcgaGFuZGxlciBpbnB1dCBmdW5jdGlvbiwgYnV0IGhhbmRsZSBvbmx5CisgKiB0aGUgdmVyeSBmaXJzdCBsaW5lLCBpLmUuIGxpbWl0IGl0c2VsZiB0byA0NSBjaGFycy4KKyAqCisgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgYnl0ZSB3cml0dGVuIGlmIHN1Y2Nlc3MsIG9yCisgKiAgICAgLTEgZ2VuZXJhbCBlcnJvcgorICogICAgIC0yIGlmIHRoZSB0cmFuc2NvZGluZyBmYWlscyAoZm9yICppbiBpcyBub3QgdmFsaWQgdXRmOCBzdHJpbmcgb3IKKyAqICAgICAgICB0aGUgcmVzdWx0IG9mIHRyYW5zZm9ybWF0aW9uIGNhbid0IGZpdCBpbnRvIHRoZSBlbmNvZGluZyB3ZSB3YW50KSwgb3IKKyAqLworaW50Cit4bWxDaGFyRW5jRmlyc3RMaW5lKHhtbENoYXJFbmNvZGluZ0hhbmRsZXIgKmhhbmRsZXIsIHhtbEJ1ZmZlclB0ciBvdXQsCisgICAgICAgICAgICAgICAgIHhtbEJ1ZmZlclB0ciBpbikgeworICAgIHJldHVybih4bWxDaGFyRW5jRmlyc3RMaW5lSW50KGhhbmRsZXIsIG91dCwgaW4sIC0xKSk7Cit9CisKKy8qKgorICogeG1sQ2hhckVuY0ZpcnN0TGluZUlucHV0OgorICogQGlucHV0OiBhIHBhcnNlciBpbnB1dCBidWZmZXIKKyAqIEBsZW46ICBudW1iZXIgb2YgYnl0ZXMgdG8gY29udmVydCBmb3IgdGhlIGZpcnN0IGxpbmUsIG9yIC0xCisgKgorICogRnJvbnQtZW5kIGZvciB0aGUgZW5jb2RpbmcgaGFuZGxlciBpbnB1dCBmdW5jdGlvbiwgYnV0IGhhbmRsZSBvbmx5CisgKiB0aGUgdmVyeSBmaXJzdCBsaW5lLiBQb2ludCBpcyB0aGF0IHRoaXMgaXMgYmFzZWQgb24gYXV0b2RldGVjdGlvbgorICogb2YgdGhlIGVuY29kaW5nIGFuZCBvbmNlIHRoYXQgZmlyc3QgbGluZSBpcyBjb252ZXJ0ZWQgd2UgbWF5IGZpbmQKKyAqIG91dCB0aGF0IGEgZGlmZmVyZW50IGRlY29kZXIgaXMgbmVlZGVkIHRvIHByb2Nlc3MgdGhlIGlucHV0LgorICoKKyAqIFJldHVybnMgdGhlIG51bWJlciBvZiBieXRlIHdyaXR0ZW4gaWYgc3VjY2Vzcywgb3IKKyAqICAgICAtMSBnZW5lcmFsIGVycm9yCisgKiAgICAgLTIgaWYgdGhlIHRyYW5zY29kaW5nIGZhaWxzIChmb3IgKmluIGlzIG5vdCB2YWxpZCB1dGY4IHN0cmluZyBvcgorICogICAgICAgIHRoZSByZXN1bHQgb2YgdHJhbnNmb3JtYXRpb24gY2FuJ3QgZml0IGludG8gdGhlIGVuY29kaW5nIHdlIHdhbnQpLCBvcgorICovCitpbnQKK3htbENoYXJFbmNGaXJzdExpbmVJbnB1dCh4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciBpbnB1dCwgaW50IGxlbikKK3sKKyAgICBpbnQgcmV0ID0gLTI7CisgICAgc2l6ZV90IHdyaXR0ZW47CisgICAgc2l6ZV90IHRvY29udjsKKyAgICBpbnQgY19pbjsKKyAgICBpbnQgY19vdXQ7CisgICAgeG1sQnVmUHRyIGluOworICAgIHhtbEJ1ZlB0ciBvdXQ7CisKKyAgICBpZiAoKGlucHV0ID09IE5VTEwpIHx8IChpbnB1dC0+ZW5jb2RlciA9PSBOVUxMKSB8fAorICAgICAgICAoaW5wdXQtPmJ1ZmZlciA9PSBOVUxMKSB8fCAoaW5wdXQtPnJhdyA9PSBOVUxMKSkKKyAgICAgICAgcmV0dXJuICgtMSk7CisgICAgb3V0ID0gaW5wdXQtPmJ1ZmZlcjsKKyAgICBpbiA9IGlucHV0LT5yYXc7CisKKyAgICB0b2NvbnYgPSB4bWxCdWZVc2UoaW4pOworICAgIGlmICh0b2NvbnYgPT0gMCkKKyAgICAgICAgcmV0dXJuICgwKTsKKyAgICB3cml0dGVuID0geG1sQnVmQXZhaWwob3V0KSAtIDE7IC8qIGNvdW50ICdcMCcgKi8KKyAgICAvKgorICAgICAqIGVjaG8gJzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVDUzQiPz4nIHwgd2MgLWMgPT4gMzgKKyAgICAgKiA0NSBjaGFycyBzaG91bGQgYmUgc3VmZmljaWVudCB0byByZWFjaCB0aGUgZW5kIG9mIHRoZSBlbmNvZGluZworICAgICAqIGRlY2xhcmF0aW9uIHdpdGhvdXQgZ29pbmcgdG9vIGZhciBpbnNpZGUgdGhlIGRvY3VtZW50IGNvbnRlbnQuCisgICAgICogb24gVVRGLTE2IHRoaXMgbWVhbnMgOTBieXRlcywgb24gVUNTNCB0aGlzIG1lYW5zIDE4MAorICAgICAqIFRoZSBhY3R1YWwgdmFsdWUgZGVwZW5kaW5nIG9uIGd1ZXNzZWQgZW5jb2RpbmcgaXMgcGFzc2VkIGFzIEBsZW4KKyAgICAgKiBpZiBwcm92aWRlZAorICAgICAqLworICAgIGlmIChsZW4gPj0gMCkgeworICAgICAgICBpZiAodG9jb252ID4gKHVuc2lnbmVkIGludCkgbGVuKQorICAgICAgICAgICAgdG9jb252ID0gbGVuOworICAgIH0gZWxzZSB7CisgICAgICAgIGlmICh0b2NvbnYgPiAxODApCisgICAgICAgICAgICB0b2NvbnYgPSAxODA7CisgICAgfQorICAgIGlmICh0b2NvbnYgKiAyID49IHdyaXR0ZW4pIHsKKyAgICAgICAgeG1sQnVmR3JvdyhvdXQsIHRvY29udiAqIDIpOworICAgICAgICB3cml0dGVuID0geG1sQnVmQXZhaWwob3V0KSAtIDE7CisgICAgfQorICAgIGlmICh3cml0dGVuID4gMzYwKQorICAgICAgICB3cml0dGVuID0gMzYwOworCisgICAgY19pbiA9IHRvY29udjsKKyAgICBjX291dCA9IHdyaXR0ZW47CisgICAgaWYgKGlucHV0LT5lbmNvZGVyLT5pbnB1dCAhPSBOVUxMKSB7CisgICAgICAgIHJldCA9IGlucHV0LT5lbmNvZGVyLT5pbnB1dCh4bWxCdWZFbmQob3V0KSwgJmNfb3V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sQnVmQ29udGVudChpbiksICZjX2luKTsKKyAgICAgICAgeG1sQnVmU2hyaW5rKGluLCBjX2luKTsKKyAgICAgICAgeG1sQnVmQWRkTGVuKG91dCwgY19vdXQpOworICAgIH0KKyNpZmRlZiBMSUJYTUxfSUNPTlZfRU5BQkxFRAorICAgIGVsc2UgaWYgKGlucHV0LT5lbmNvZGVyLT5pY29udl9pbiAhPSBOVUxMKSB7CisgICAgICAgIHJldCA9IHhtbEljb252V3JhcHBlcihpbnB1dC0+ZW5jb2Rlci0+aWNvbnZfaW4sIHhtbEJ1ZkVuZChvdXQpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmNfb3V0LCB4bWxCdWZDb250ZW50KGluKSwgJmNfaW4pOworICAgICAgICB4bWxCdWZTaHJpbmsoaW4sIGNfaW4pOworICAgICAgICB4bWxCdWZBZGRMZW4ob3V0LCBjX291dCk7CisgICAgICAgIGlmIChyZXQgPT0gLTEpCisgICAgICAgICAgICByZXQgPSAtMzsKKyAgICB9CisjZW5kaWYgLyogTElCWE1MX0lDT05WX0VOQUJMRUQgKi8KKyNpZmRlZiBMSUJYTUxfSUNVX0VOQUJMRUQKKyAgICBlbHNlIGlmIChpbnB1dC0+ZW5jb2Rlci0+dWNvbnZfaW4gIT0gTlVMTCkgeworICAgICAgICByZXQgPSB4bWxVY29udldyYXBwZXIoaW5wdXQtPmVuY29kZXItPnVjb252X2luLCAxLCB4bWxCdWZFbmQob3V0KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZjX291dCwgeG1sQnVmQ29udGVudChpbiksICZjX2luKTsKKyAgICAgICAgeG1sQnVmU2hyaW5rKGluLCBjX2luKTsKKyAgICAgICAgeG1sQnVmQWRkTGVuKG91dCwgY19vdXQpOworICAgICAgICBpZiAocmV0ID09IC0xKQorICAgICAgICAgICAgcmV0ID0gLTM7CisgICAgfQorI2VuZGlmIC8qIExJQlhNTF9JQ1VfRU5BQkxFRCAqLworICAgIHN3aXRjaCAocmV0KSB7CisgICAgICAgIGNhc2UgMDoKKyNpZmRlZiBERUJVR19FTkNPRElORworICAgICAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvbnZlcnRlZCAlZCBieXRlcyB0byAlZCBieXRlcyBvZiBpbnB1dFxuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjX2luLCBjX291dCk7CisjZW5kaWYKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIC0xOgorI2lmZGVmIERFQlVHX0VOQ09ESU5HCisgICAgICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAiY29udmVydGVkICVkIGJ5dGVzIHRvICVkIGJ5dGVzIG9mIGlucHV0LCAlZCBsZWZ0XG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNfaW4sIGNfb3V0LCAoaW50KXhtbEJ1ZlVzZShpbikpOworI2VuZGlmCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSAtMzoKKyNpZmRlZiBERUJVR19FTkNPRElORworICAgICAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAiY29udmVydGVkICVkIGJ5dGVzIHRvICVkIGJ5dGVzIG9mIGlucHV0LCAlZCBsZWZ0XG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNfaW4sIGNfb3V0LCAoaW50KXhtbEJ1ZlVzZShpbikpOworI2VuZGlmCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSAtMjogeworICAgICAgICAgICAgY2hhciBidWZbNTBdOworICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqY29udGVudCA9IHhtbEJ1ZkNvbnRlbnQoaW4pOworCisJICAgIHNucHJpbnRmKCZidWZbMF0sIDQ5LCAiMHglMDJYIDB4JTAyWCAweCUwMlggMHglMDJYIiwKKwkJICAgICBjb250ZW50WzBdLCBjb250ZW50WzFdLAorCQkgICAgIGNvbnRlbnRbMl0sIGNvbnRlbnRbM10pOworCSAgICBidWZbNDldID0gMDsKKwkgICAgeG1sRW5jb2RpbmdFcnIoWE1MX0kxOE5fQ09OVl9GQUlMRUQsCisJCSAgICAiaW5wdXQgY29udmVyc2lvbiBmYWlsZWQgZHVlIHRvIGlucHV0IGVycm9yLCBieXRlcyAlc1xuIiwKKwkJICAgICAgICAgICBidWYpOworICAgICAgICB9CisgICAgfQorICAgIC8qCisgICAgICogSWdub3JlIHdoZW4gaW5wdXQgYnVmZmVyIGlzIG5vdCBvbiBhIGJvdW5kYXJ5CisgICAgICovCisgICAgaWYgKHJldCA9PSAtMykgcmV0ID0gMDsKKyAgICBpZiAocmV0ID09IC0xKSByZXQgPSAwOworICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbENoYXJFbmNJbnB1dDoKKyAqIEBpbnB1dDogYSBwYXJzZXIgaW5wdXQgYnVmZmVyCisgKiBAZmx1c2g6IHRyeSB0byBmbHVzaCBhbGwgdGhlIHJhdyBidWZmZXIKKyAqCisgKiBHZW5lcmljIGZyb250LWVuZCBmb3IgdGhlIGVuY29kaW5nIGhhbmRsZXIgb24gcGFyc2VyIGlucHV0CisgKgorICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIGJ5dGUgd3JpdHRlbiBpZiBzdWNjZXNzLCBvcgorICogICAgIC0xIGdlbmVyYWwgZXJyb3IKKyAqICAgICAtMiBpZiB0aGUgdHJhbnNjb2RpbmcgZmFpbHMgKGZvciAqaW4gaXMgbm90IHZhbGlkIHV0Zjggc3RyaW5nIG9yCisgKiAgICAgICAgdGhlIHJlc3VsdCBvZiB0cmFuc2Zvcm1hdGlvbiBjYW4ndCBmaXQgaW50byB0aGUgZW5jb2Rpbmcgd2Ugd2FudCksIG9yCisgKi8KK2ludAoreG1sQ2hhckVuY0lucHV0KHhtbFBhcnNlcklucHV0QnVmZmVyUHRyIGlucHV0LCBpbnQgZmx1c2gpCit7CisgICAgaW50IHJldCA9IC0yOworICAgIHNpemVfdCB3cml0dGVuOworICAgIHNpemVfdCB0b2NvbnY7CisgICAgaW50IGNfaW47CisgICAgaW50IGNfb3V0OworICAgIHhtbEJ1ZlB0ciBpbjsKKyAgICB4bWxCdWZQdHIgb3V0OworCisgICAgaWYgKChpbnB1dCA9PSBOVUxMKSB8fCAoaW5wdXQtPmVuY29kZXIgPT0gTlVMTCkgfHwKKyAgICAgICAgKGlucHV0LT5idWZmZXIgPT0gTlVMTCkgfHwgKGlucHV0LT5yYXcgPT0gTlVMTCkpCisgICAgICAgIHJldHVybiAoLTEpOworICAgIG91dCA9IGlucHV0LT5idWZmZXI7CisgICAgaW4gPSBpbnB1dC0+cmF3OworCisgICAgdG9jb252ID0geG1sQnVmVXNlKGluKTsKKyAgICBpZiAodG9jb252ID09IDApCisgICAgICAgIHJldHVybiAoMCk7CisgICAgaWYgKCh0b2NvbnYgPiA2NCAqIDEwMjQpICYmIChmbHVzaCA9PSAwKSkKKyAgICAgICAgdG9jb252ID0gNjQgKiAxMDI0OworICAgIHdyaXR0ZW4gPSB4bWxCdWZBdmFpbChvdXQpOworICAgIGlmICh3cml0dGVuID4gMCkKKyAgICAgICAgd3JpdHRlbi0tOyAvKiBjb3VudCAnXDAnICovCisgICAgaWYgKHRvY29udiAqIDIgPj0gd3JpdHRlbikgeworICAgICAgICB4bWxCdWZHcm93KG91dCwgdG9jb252ICogMik7CisgICAgICAgIHdyaXR0ZW4gPSB4bWxCdWZBdmFpbChvdXQpOworICAgICAgICBpZiAod3JpdHRlbiA+IDApCisgICAgICAgICAgICB3cml0dGVuLS07IC8qIGNvdW50ICdcMCcgKi8KKyAgICB9CisgICAgaWYgKCh3cml0dGVuID4gMTI4ICogMTAyNCkgJiYgKGZsdXNoID09IDApKQorICAgICAgICB3cml0dGVuID0gMTI4ICogMTAyNDsKKworICAgIGNfaW4gPSB0b2NvbnY7CisgICAgY19vdXQgPSB3cml0dGVuOworICAgIGlmIChpbnB1dC0+ZW5jb2Rlci0+aW5wdXQgIT0gTlVMTCkgeworICAgICAgICByZXQgPSBpbnB1dC0+ZW5jb2Rlci0+aW5wdXQoeG1sQnVmRW5kKG91dCksICZjX291dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbEJ1ZkNvbnRlbnQoaW4pLCAmY19pbik7CisgICAgICAgIHhtbEJ1ZlNocmluayhpbiwgY19pbik7CisgICAgICAgIHhtbEJ1ZkFkZExlbihvdXQsIGNfb3V0KTsKKyAgICB9CisjaWZkZWYgTElCWE1MX0lDT05WX0VOQUJMRUQKKyAgICBlbHNlIGlmIChpbnB1dC0+ZW5jb2Rlci0+aWNvbnZfaW4gIT0gTlVMTCkgeworICAgICAgICByZXQgPSB4bWxJY29udldyYXBwZXIoaW5wdXQtPmVuY29kZXItPmljb252X2luLCB4bWxCdWZFbmQob3V0KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZjX291dCwgeG1sQnVmQ29udGVudChpbiksICZjX2luKTsKKyAgICAgICAgeG1sQnVmU2hyaW5rKGluLCBjX2luKTsKKyAgICAgICAgeG1sQnVmQWRkTGVuKG91dCwgY19vdXQpOworICAgICAgICBpZiAocmV0ID09IC0xKQorICAgICAgICAgICAgcmV0ID0gLTM7CisgICAgfQorI2VuZGlmIC8qIExJQlhNTF9JQ09OVl9FTkFCTEVEICovCisjaWZkZWYgTElCWE1MX0lDVV9FTkFCTEVECisgICAgZWxzZSBpZiAoaW5wdXQtPmVuY29kZXItPnVjb252X2luICE9IE5VTEwpIHsKKyAgICAgICAgcmV0ID0geG1sVWNvbnZXcmFwcGVyKGlucHV0LT5lbmNvZGVyLT51Y29udl9pbiwgMSwgeG1sQnVmRW5kKG91dCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmY19vdXQsIHhtbEJ1ZkNvbnRlbnQoaW4pLCAmY19pbik7CisgICAgICAgIHhtbEJ1ZlNocmluayhpbiwgY19pbik7CisgICAgICAgIHhtbEJ1ZkFkZExlbihvdXQsIGNfb3V0KTsKKyAgICAgICAgaWYgKHJldCA9PSAtMSkKKyAgICAgICAgICAgIHJldCA9IC0zOworICAgIH0KKyNlbmRpZiAvKiBMSUJYTUxfSUNVX0VOQUJMRUQgKi8KKyAgICBzd2l0Y2ggKHJldCkgeworICAgICAgICBjYXNlIDA6CisjaWZkZWYgREVCVUdfRU5DT0RJTkcKKyAgICAgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb252ZXJ0ZWQgJWQgYnl0ZXMgdG8gJWQgYnl0ZXMgb2YgaW5wdXRcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY19pbiwgY19vdXQpOworI2VuZGlmCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSAtMToKKyNpZmRlZiBERUJVR19FTkNPRElORworICAgICAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgImNvbnZlcnRlZCAlZCBieXRlcyB0byAlZCBieXRlcyBvZiBpbnB1dCwgJWQgbGVmdFxuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjX2luLCBjX291dCwgKGludCl4bWxCdWZVc2UoaW4pKTsKKyNlbmRpZgorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgLTM6CisjaWZkZWYgREVCVUdfRU5DT0RJTkcKKyAgICAgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgImNvbnZlcnRlZCAlZCBieXRlcyB0byAlZCBieXRlcyBvZiBpbnB1dCwgJWQgbGVmdFxuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjX2luLCBjX291dCwgKGludCl4bWxCdWZVc2UoaW4pKTsKKyNlbmRpZgorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgLTI6IHsKKyAgICAgICAgICAgIGNoYXIgYnVmWzUwXTsKKyAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKmNvbnRlbnQgPSB4bWxCdWZDb250ZW50KGluKTsKKworCSAgICBzbnByaW50ZigmYnVmWzBdLCA0OSwgIjB4JTAyWCAweCUwMlggMHglMDJYIDB4JTAyWCIsCisJCSAgICAgY29udGVudFswXSwgY29udGVudFsxXSwKKwkJICAgICBjb250ZW50WzJdLCBjb250ZW50WzNdKTsKKwkgICAgYnVmWzQ5XSA9IDA7CisJICAgIHhtbEVuY29kaW5nRXJyKFhNTF9JMThOX0NPTlZfRkFJTEVELAorCQkgICAgImlucHV0IGNvbnZlcnNpb24gZmFpbGVkIGR1ZSB0byBpbnB1dCBlcnJvciwgYnl0ZXMgJXNcbiIsCisJCSAgICAgICAgICAgYnVmKTsKKyAgICAgICAgfQorICAgIH0KKyAgICAvKgorICAgICAqIElnbm9yZSB3aGVuIGlucHV0IGJ1ZmZlciBpcyBub3Qgb24gYSBib3VuZGFyeQorICAgICAqLworICAgIGlmIChyZXQgPT0gLTMpCisgICAgICAgIHJldCA9IDA7CisgICAgcmV0dXJuIChjX291dD8gY19vdXQgOiByZXQpOworfQorCisvKioKKyAqIHhtbENoYXJFbmNJbkZ1bmM6CisgKiBAaGFuZGxlcjoJY2hhciBlbmNvZGluZyB0cmFuc2Zvcm1hdGlvbiBkYXRhIHN0cnVjdHVyZQorICogQG91dDogIGFuIHhtbEJ1ZmZlciBmb3IgdGhlIG91dHB1dC4KKyAqIEBpbjogIGFuIHhtbEJ1ZmZlciBmb3IgdGhlIGlucHV0CisgKgorICogR2VuZXJpYyBmcm9udC1lbmQgZm9yIHRoZSBlbmNvZGluZyBoYW5kbGVyIGlucHV0IGZ1bmN0aW9uCisgKgorICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIGJ5dGUgd3JpdHRlbiBpZiBzdWNjZXNzLCBvcgorICogICAgIC0xIGdlbmVyYWwgZXJyb3IKKyAqICAgICAtMiBpZiB0aGUgdHJhbnNjb2RpbmcgZmFpbHMgKGZvciAqaW4gaXMgbm90IHZhbGlkIHV0Zjggc3RyaW5nIG9yCisgKiAgICAgICAgdGhlIHJlc3VsdCBvZiB0cmFuc2Zvcm1hdGlvbiBjYW4ndCBmaXQgaW50byB0aGUgZW5jb2Rpbmcgd2Ugd2FudCksIG9yCisgKi8KK2ludAoreG1sQ2hhckVuY0luRnVuYyh4bWxDaGFyRW5jb2RpbmdIYW5kbGVyICogaGFuZGxlciwgeG1sQnVmZmVyUHRyIG91dCwKKyAgICAgICAgICAgICAgICAgeG1sQnVmZmVyUHRyIGluKQoreworICAgIGludCByZXQgPSAtMjsKKyAgICBpbnQgd3JpdHRlbjsKKyAgICBpbnQgdG9jb252OworCisgICAgaWYgKGhhbmRsZXIgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuICgtMSk7CisgICAgaWYgKG91dCA9PSBOVUxMKQorICAgICAgICByZXR1cm4gKC0xKTsKKyAgICBpZiAoaW4gPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuICgtMSk7CisKKyAgICB0b2NvbnYgPSBpbi0+dXNlOworICAgIGlmICh0b2NvbnYgPT0gMCkKKyAgICAgICAgcmV0dXJuICgwKTsKKyAgICB3cml0dGVuID0gb3V0LT5zaXplIC0gb3V0LT51c2UgLTE7IC8qIGNvdW50ICdcMCcgKi8KKyAgICBpZiAodG9jb252ICogMiA+PSB3cml0dGVuKSB7CisgICAgICAgIHhtbEJ1ZmZlckdyb3cob3V0LCBvdXQtPnNpemUgKyB0b2NvbnYgKiAyKTsKKyAgICAgICAgd3JpdHRlbiA9IG91dC0+c2l6ZSAtIG91dC0+dXNlIC0gMTsKKyAgICB9CisgICAgaWYgKGhhbmRsZXItPmlucHV0ICE9IE5VTEwpIHsKKyAgICAgICAgcmV0ID0gaGFuZGxlci0+aW5wdXQoJm91dC0+Y29udGVudFtvdXQtPnVzZV0sICZ3cml0dGVuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbi0+Y29udGVudCwgJnRvY29udik7CisgICAgICAgIHhtbEJ1ZmZlclNocmluayhpbiwgdG9jb252KTsKKyAgICAgICAgb3V0LT51c2UgKz0gd3JpdHRlbjsKKyAgICAgICAgb3V0LT5jb250ZW50W291dC0+dXNlXSA9IDA7CisgICAgfQorI2lmZGVmIExJQlhNTF9JQ09OVl9FTkFCTEVECisgICAgZWxzZSBpZiAoaGFuZGxlci0+aWNvbnZfaW4gIT0gTlVMTCkgeworICAgICAgICByZXQgPSB4bWxJY29udldyYXBwZXIoaGFuZGxlci0+aWNvbnZfaW4sICZvdXQtPmNvbnRlbnRbb3V0LT51c2VdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJndyaXR0ZW4sIGluLT5jb250ZW50LCAmdG9jb252KTsKKyAgICAgICAgeG1sQnVmZmVyU2hyaW5rKGluLCB0b2NvbnYpOworICAgICAgICBvdXQtPnVzZSArPSB3cml0dGVuOworICAgICAgICBvdXQtPmNvbnRlbnRbb3V0LT51c2VdID0gMDsKKyAgICAgICAgaWYgKHJldCA9PSAtMSkKKyAgICAgICAgICAgIHJldCA9IC0zOworICAgIH0KKyNlbmRpZiAvKiBMSUJYTUxfSUNPTlZfRU5BQkxFRCAqLworI2lmZGVmIExJQlhNTF9JQ1VfRU5BQkxFRAorICAgIGVsc2UgaWYgKGhhbmRsZXItPnVjb252X2luICE9IE5VTEwpIHsKKyAgICAgICAgcmV0ID0geG1sVWNvbnZXcmFwcGVyKGhhbmRsZXItPnVjb252X2luLCAxLCAmb3V0LT5jb250ZW50W291dC0+dXNlXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZ3cml0dGVuLCBpbi0+Y29udGVudCwgJnRvY29udik7CisgICAgICAgIHhtbEJ1ZmZlclNocmluayhpbiwgdG9jb252KTsKKyAgICAgICAgb3V0LT51c2UgKz0gd3JpdHRlbjsKKyAgICAgICAgb3V0LT5jb250ZW50W291dC0+dXNlXSA9IDA7CisgICAgICAgIGlmIChyZXQgPT0gLTEpCisgICAgICAgICAgICByZXQgPSAtMzsKKyAgICB9CisjZW5kaWYgLyogTElCWE1MX0lDVV9FTkFCTEVEICovCisgICAgc3dpdGNoIChyZXQpIHsKKyAgICAgICAgY2FzZSAwOgorI2lmZGVmIERFQlVHX0VOQ09ESU5HCisgICAgICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29udmVydGVkICVkIGJ5dGVzIHRvICVkIGJ5dGVzIG9mIGlucHV0XG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvY29udiwgd3JpdHRlbik7CisjZW5kaWYKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIC0xOgorI2lmZGVmIERFQlVHX0VOQ09ESU5HCisgICAgICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAiY29udmVydGVkICVkIGJ5dGVzIHRvICVkIGJ5dGVzIG9mIGlucHV0LCAlZCBsZWZ0XG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvY29udiwgd3JpdHRlbiwgaW4tPnVzZSk7CisjZW5kaWYKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIC0zOgorI2lmZGVmIERFQlVHX0VOQ09ESU5HCisgICAgICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJjb252ZXJ0ZWQgJWQgYnl0ZXMgdG8gJWQgYnl0ZXMgb2YgaW5wdXQsICVkIGxlZnRcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9jb252LCB3cml0dGVuLCBpbi0+dXNlKTsKKyNlbmRpZgorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgLTI6IHsKKyAgICAgICAgICAgIGNoYXIgYnVmWzUwXTsKKworCSAgICBzbnByaW50ZigmYnVmWzBdLCA0OSwgIjB4JTAyWCAweCUwMlggMHglMDJYIDB4JTAyWCIsCisJCSAgICAgaW4tPmNvbnRlbnRbMF0sIGluLT5jb250ZW50WzFdLAorCQkgICAgIGluLT5jb250ZW50WzJdLCBpbi0+Y29udGVudFszXSk7CisJICAgIGJ1Zls0OV0gPSAwOworCSAgICB4bWxFbmNvZGluZ0VycihYTUxfSTE4Tl9DT05WX0ZBSUxFRCwKKwkJICAgICJpbnB1dCBjb252ZXJzaW9uIGZhaWxlZCBkdWUgdG8gaW5wdXQgZXJyb3IsIGJ5dGVzICVzXG4iLAorCQkgICAgICAgICAgIGJ1Zik7CisgICAgICAgIH0KKyAgICB9CisgICAgLyoKKyAgICAgKiBJZ25vcmUgd2hlbiBpbnB1dCBidWZmZXIgaXMgbm90IG9uIGEgYm91bmRhcnkKKyAgICAgKi8KKyAgICBpZiAocmV0ID09IC0zKQorICAgICAgICByZXQgPSAwOworICAgIHJldHVybiAod3JpdHRlbj8gd3JpdHRlbiA6IHJldCk7Cit9CisKKyNpZmRlZiBMSUJYTUxfT1VUUFVUX0VOQUJMRUQKKy8qKgorICogeG1sQ2hhckVuY091dHB1dDoKKyAqIEBvdXRwdXQ6IGEgcGFyc2VyIG91dHB1dCBidWZmZXIKKyAqIEBpbml0OiBpcyB0aGlzIGFuIGluaXRpYWxpemF0aW9uIGNhbGwgd2l0aG91dCBkYXRhCisgKgorICogR2VuZXJpYyBmcm9udC1lbmQgZm9yIHRoZSBlbmNvZGluZyBoYW5kbGVyIG9uIHBhcnNlciBvdXRwdXQKKyAqIGEgZmlyc3QgY2FsbCB3aXRoIEBpbml0ID09IDEgaGFzIHRvIGJlIG1hZGUgZmlyc3QgdG8gaW5pdGlhdGUgdGhlCisgKiBvdXRwdXQgaW4gY2FzZSBvZiBub24tc3RhdGVsZXNzIGVuY29kaW5nIG5lZWRpbmcgdG8gaW5pdGlhdGUgdGhlaXIKKyAqIHN0YXRlIG9yIHRoZSBvdXRwdXQgKGxpa2UgdGhlIEJPTSBpbiBVVEYxNikuCisgKiBJbiBjYXNlIG9mIFVURjggc2VxdWVuY2UgY29udmVyc2lvbiBlcnJvcnMgZm9yIHRoZSBnaXZlbiBlbmNvZGVyLAorICogdGhlIGNvbnRlbnQgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IHJlbWFwcGVkIHRvIGEgQ2hhclJlZiBzZXF1ZW5jZS4KKyAqCisgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgYnl0ZSB3cml0dGVuIGlmIHN1Y2Nlc3MsIG9yCisgKiAgICAgLTEgZ2VuZXJhbCBlcnJvcgorICogICAgIC0yIGlmIHRoZSB0cmFuc2NvZGluZyBmYWlscyAoZm9yICppbiBpcyBub3QgdmFsaWQgdXRmOCBzdHJpbmcgb3IKKyAqICAgICAgICB0aGUgcmVzdWx0IG9mIHRyYW5zZm9ybWF0aW9uIGNhbid0IGZpdCBpbnRvIHRoZSBlbmNvZGluZyB3ZSB3YW50KSwgb3IKKyAqLworaW50Cit4bWxDaGFyRW5jT3V0cHV0KHhtbE91dHB1dEJ1ZmZlclB0ciBvdXRwdXQsIGludCBpbml0KQoreworICAgIGludCByZXQgPSAtMjsKKyAgICBzaXplX3Qgd3JpdHRlbjsKKyAgICBzaXplX3Qgd3JpdHRlbnRvdCA9IDA7CisgICAgc2l6ZV90IHRvY29udjsKKyAgICBpbnQgY19pbjsKKyAgICBpbnQgY19vdXQ7CisgICAgeG1sQnVmUHRyIGluOworICAgIHhtbEJ1ZlB0ciBvdXQ7CisgICAgaW50IGNoYXJyZWZfbGVuID0gMDsKKworICAgIGlmICgob3V0cHV0ID09IE5VTEwpIHx8IChvdXRwdXQtPmVuY29kZXIgPT0gTlVMTCkgfHwKKyAgICAgICAgKG91dHB1dC0+YnVmZmVyID09IE5VTEwpIHx8IChvdXRwdXQtPmNvbnYgPT0gTlVMTCkpCisgICAgICAgIHJldHVybiAoLTEpOworICAgIG91dCA9IG91dHB1dC0+Y29udjsKKyAgICBpbiA9IG91dHB1dC0+YnVmZmVyOworCityZXRyeToKKworICAgIHdyaXR0ZW4gPSB4bWxCdWZBdmFpbChvdXQpOworICAgIGlmICh3cml0dGVuID4gMCkKKyAgICAgICAgd3JpdHRlbi0tOyAvKiBjb3VudCAnXDAnICovCisKKyAgICAvKgorICAgICAqIEZpcnN0IHNwZWNpZmljIGhhbmRsaW5nIG9mIHRoZSBpbml0aWFsaXphdGlvbiBjYWxsCisgICAgICovCisgICAgaWYgKGluaXQpIHsKKyAgICAgICAgY19pbiA9IDA7CisgICAgICAgIGNfb3V0ID0gd3JpdHRlbjsKKyAgICAgICAgaWYgKG91dHB1dC0+ZW5jb2Rlci0+b3V0cHV0ICE9IE5VTEwpIHsKKyAgICAgICAgICAgIHJldCA9IG91dHB1dC0+ZW5jb2Rlci0+b3V0cHV0KHhtbEJ1ZkVuZChvdXQpLCAmY19vdXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCAmY19pbik7CisgICAgICAgICAgICBpZiAocmV0ID4gMCkgLyogR2VubmFkeTogY2hlY2sgcmV0dXJuIHZhbHVlICovCisgICAgICAgICAgICAgICAgeG1sQnVmQWRkTGVuKG91dCwgY19vdXQpOworICAgICAgICB9CisjaWZkZWYgTElCWE1MX0lDT05WX0VOQUJMRUQKKyAgICAgICAgZWxzZSBpZiAob3V0cHV0LT5lbmNvZGVyLT5pY29udl9vdXQgIT0gTlVMTCkgeworICAgICAgICAgICAgcmV0ID0geG1sSWNvbnZXcmFwcGVyKG91dHB1dC0+ZW5jb2Rlci0+aWNvbnZfb3V0LCB4bWxCdWZFbmQob3V0KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmY19vdXQsIE5VTEwsICZjX2luKTsKKyAgICAgICAgICAgIHhtbEJ1ZkFkZExlbihvdXQsIGNfb3V0KTsKKyAgICAgICAgfQorI2VuZGlmIC8qIExJQlhNTF9JQ09OVl9FTkFCTEVEICovCisjaWZkZWYgTElCWE1MX0lDVV9FTkFCTEVECisgICAgICAgIGVsc2UgaWYgKG91dHB1dC0+ZW5jb2Rlci0+dWNvbnZfb3V0ICE9IE5VTEwpIHsKKyAgICAgICAgICAgIHJldCA9IHhtbFVjb252V3JhcHBlcihvdXRwdXQtPmVuY29kZXItPnVjb252X291dCwgMCwgeG1sQnVmRW5kKG91dCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmNfb3V0LCBOVUxMLCAmY19pbik7CisgICAgICAgICAgICB4bWxCdWZBZGRMZW4ob3V0LCBjX291dCk7CisgICAgICAgIH0KKyNlbmRpZiAvKiBMSUJYTUxfSUNVX0VOQUJMRUQgKi8KKyNpZmRlZiBERUJVR19FTkNPRElORworCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkiaW5pdGlhbGl6ZWQgZW5jb2RlclxuIik7CisjZW5kaWYKKyAgICAgICAgcmV0dXJuKDApOworICAgIH0KKworICAgIC8qCisgICAgICogQ29udmVyc2lvbiBpdHNlbGYuCisgICAgICovCisgICAgdG9jb252ID0geG1sQnVmVXNlKGluKTsKKyAgICBpZiAodG9jb252ID09IDApCisgICAgICAgIHJldHVybiAoMCk7CisgICAgaWYgKHRvY29udiA+IDY0ICogMTAyNCkKKyAgICAgICAgdG9jb252ID0gNjQgKiAxMDI0OworICAgIGlmICh0b2NvbnYgKiA0ID49IHdyaXR0ZW4pIHsKKyAgICAgICAgeG1sQnVmR3JvdyhvdXQsIHRvY29udiAqIDQpOworICAgICAgICB3cml0dGVuID0geG1sQnVmQXZhaWwob3V0KSAtIDE7CisgICAgfQorICAgIGlmICh3cml0dGVuID4gMjU2ICogMTAyNCkKKyAgICAgICAgd3JpdHRlbiA9IDI1NiAqIDEwMjQ7CisKKyAgICBjX2luID0gdG9jb252OworICAgIGNfb3V0ID0gd3JpdHRlbjsKKyAgICBpZiAob3V0cHV0LT5lbmNvZGVyLT5vdXRwdXQgIT0gTlVMTCkgeworICAgICAgICByZXQgPSBvdXRwdXQtPmVuY29kZXItPm91dHB1dCh4bWxCdWZFbmQob3V0KSwgJmNfb3V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxCdWZDb250ZW50KGluKSwgJmNfaW4pOworICAgICAgICBpZiAoY19vdXQgPiAwKSB7CisgICAgICAgICAgICB4bWxCdWZTaHJpbmsoaW4sIGNfaW4pOworICAgICAgICAgICAgeG1sQnVmQWRkTGVuKG91dCwgY19vdXQpOworICAgICAgICAgICAgd3JpdHRlbnRvdCArPSBjX291dDsKKyAgICAgICAgfQorICAgIH0KKyNpZmRlZiBMSUJYTUxfSUNPTlZfRU5BQkxFRAorICAgIGVsc2UgaWYgKG91dHB1dC0+ZW5jb2Rlci0+aWNvbnZfb3V0ICE9IE5VTEwpIHsKKyAgICAgICAgcmV0ID0geG1sSWNvbnZXcmFwcGVyKG91dHB1dC0+ZW5jb2Rlci0+aWNvbnZfb3V0LCB4bWxCdWZFbmQob3V0KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZjX291dCwgeG1sQnVmQ29udGVudChpbiksICZjX2luKTsKKyAgICAgICAgeG1sQnVmU2hyaW5rKGluLCBjX2luKTsKKyAgICAgICAgeG1sQnVmQWRkTGVuKG91dCwgY19vdXQpOworICAgICAgICB3cml0dGVudG90ICs9IGNfb3V0OworICAgICAgICBpZiAocmV0ID09IC0xKSB7CisgICAgICAgICAgICBpZiAoY19vdXQgPiAwKSB7CisgICAgICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAgICAgKiBDYW4gYmUgYSBsaW1pdGF0aW9uIG9mIGljb252CisgICAgICAgICAgICAgICAgICovCisgICAgICAgICAgICAgICAgY2hhcnJlZl9sZW4gPSAwOworICAgICAgICAgICAgICAgIGdvdG8gcmV0cnk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICByZXQgPSAtMzsKKyAgICAgICAgfQorICAgIH0KKyNlbmRpZiAvKiBMSUJYTUxfSUNPTlZfRU5BQkxFRCAqLworI2lmZGVmIExJQlhNTF9JQ1VfRU5BQkxFRAorICAgIGVsc2UgaWYgKG91dHB1dC0+ZW5jb2Rlci0+dWNvbnZfb3V0ICE9IE5VTEwpIHsKKyAgICAgICAgcmV0ID0geG1sVWNvbnZXcmFwcGVyKG91dHB1dC0+ZW5jb2Rlci0+dWNvbnZfb3V0LCAwLCB4bWxCdWZFbmQob3V0KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZjX291dCwgeG1sQnVmQ29udGVudChpbiksICZjX2luKTsKKyAgICAgICAgeG1sQnVmU2hyaW5rKGluLCBjX2luKTsKKyAgICAgICAgeG1sQnVmQWRkTGVuKG91dCwgY19vdXQpOworICAgICAgICB3cml0dGVudG90ICs9IGNfb3V0OworICAgICAgICBpZiAocmV0ID09IC0xKSB7CisgICAgICAgICAgICBpZiAoY19vdXQgPiAwKSB7CisgICAgICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAgICAgKiBDYW4gYmUgYSBsaW1pdGF0aW9uIG9mIHVjb252CisgICAgICAgICAgICAgICAgICovCisgICAgICAgICAgICAgICAgY2hhcnJlZl9sZW4gPSAwOworICAgICAgICAgICAgICAgIGdvdG8gcmV0cnk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICByZXQgPSAtMzsKKyAgICAgICAgfQorICAgIH0KKyNlbmRpZiAvKiBMSUJYTUxfSUNVX0VOQUJMRUQgKi8KKyAgICBlbHNlIHsKKyAgICAgICAgeG1sRW5jb2RpbmdFcnIoWE1MX0kxOE5fTk9fT1VUUFVULAorICAgICAgICAgICAgICAgICAgICAgICAieG1sQ2hhckVuY091dEZ1bmM6IG5vIG91dHB1dCBmdW5jdGlvbiAhXG4iLCBOVUxMKTsKKyAgICAgICAgcmV0dXJuKC0xKTsKKyAgICB9CisKKyAgICBpZiAocmV0ID49IDApIG91dHB1dCArPSByZXQ7CisKKyAgICAvKgorICAgICAqIEF0dGVtcHQgdG8gaGFuZGxlIGVycm9yIGNhc2VzCisgICAgICovCisgICAgc3dpdGNoIChyZXQpIHsKKyAgICAgICAgY2FzZSAwOgorI2lmZGVmIERFQlVHX0VOQ09ESU5HCisJICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkgICAgImNvbnZlcnRlZCAlZCBieXRlcyB0byAlZCBieXRlcyBvZiBvdXRwdXRcbiIsCisJICAgICAgICAgICAgY19pbiwgY19vdXQpOworI2VuZGlmCisJICAgIGJyZWFrOworICAgICAgICBjYXNlIC0xOgorI2lmZGVmIERFQlVHX0VOQ09ESU5HCisJICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkgICAgIm91dHB1dCBjb252ZXJzaW9uIGZhaWxlZCBieSBsYWNrIG9mIHNwYWNlXG4iKTsKKyNlbmRpZgorCSAgICBicmVhazsKKyAgICAgICAgY2FzZSAtMzoKKyNpZmRlZiBERUJVR19FTkNPRElORworCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwiY29udmVydGVkICVkIGJ5dGVzIHRvICVkIGJ5dGVzIG9mIG91dHB1dCAlZCBsZWZ0XG4iLAorCSAgICAgICAgICAgIGNfaW4sIGNfb3V0LCAoaW50KSB4bWxCdWZVc2UoaW4pKTsKKyNlbmRpZgorCSAgICBicmVhazsKKyAgICAgICAgY2FzZSAtMjogeworCSAgICBpbnQgbGVuID0gKGludCkgeG1sQnVmVXNlKGluKTsKKyAgICAgICAgICAgIHhtbENoYXIgKmNvbnRlbnQgPSB4bWxCdWZDb250ZW50KGluKTsKKwkgICAgaW50IGN1cjsKKworCSAgICBjdXIgPSB4bWxHZXRVVEY4Q2hhcihjb250ZW50LCAmbGVuKTsKKwkgICAgaWYgKChjaGFycmVmX2xlbiAhPSAwKSAmJiAoY19vdXQgPCBjaGFycmVmX2xlbikpIHsKKwkJLyoKKwkJICogV2UgYXR0ZW1wdGVkIHRvIGluc2VydCBhIGNoYXJhY3RlciByZWZlcmVuY2UgYW5kIGZhaWxlZC4KKwkJICogVW5kbyB3aGF0IHdhcyB3cml0dGVuIGFuZCBza2lwIHRoZSByZW1haW5pbmcgY2hhcnJlZi4KKwkJICovCisgICAgICAgICAgICAgICAgeG1sQnVmRXJhc2Uob3V0LCBjX291dCk7CisJCXdyaXR0ZW50b3QgLT0gY19vdXQ7CisJCXhtbEJ1ZlNocmluayhpbiwgY2hhcnJlZl9sZW4gLSBjX291dCk7CisJCWNoYXJyZWZfbGVuID0gMDsKKworCQlyZXQgPSAtMTsKKyAgICAgICAgICAgICAgICBicmVhazsKKwkgICAgfSBlbHNlIGlmIChjdXIgPiAwKSB7CisJCXhtbENoYXIgY2hhcnJlZlsyMF07CisKKyNpZmRlZiBERUJVR19FTkNPRElORworCQl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJCSJoYW5kbGluZyBvdXRwdXQgY29udmVyc2lvbiBlcnJvclxuIik7CisJCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkJIkJ5dGVzOiAweCUwMlggMHglMDJYIDB4JTAyWCAweCUwMlhcbiIsCisJCQljb250ZW50WzBdLCBjb250ZW50WzFdLAorCQkJY29udGVudFsyXSwgY29udGVudFszXSk7CisjZW5kaWYKKwkJLyoKKwkJICogUmVtb3ZlcyB0aGUgVVRGOCBzZXF1ZW5jZSwgYW5kIHJlcGxhY2UgaXQgYnkgYSBjaGFycmVmCisJCSAqIGFuZCBjb250aW51ZSB0aGUgdHJhbnNjb2RpbmcgcGhhc2UsIGhvcGluZyB0aGUgZXJyb3IKKwkJICogZGlkIG5vdCBtYW5nbGUgdGhlIGVuY29kZXIgc3RhdGUuCisJCSAqLworCQljaGFycmVmX2xlbiA9IHNucHJpbnRmKChjaGFyICopICZjaGFycmVmWzBdLCBzaXplb2YoY2hhcnJlZiksCisJCQkJICImIyVkOyIsIGN1cik7CisJCXhtbEJ1ZlNocmluayhpbiwgbGVuKTsKKwkJeG1sQnVmQWRkSGVhZChpbiwgY2hhcnJlZiwgLTEpOworCisJCWdvdG8gcmV0cnk7CisJICAgIH0gZWxzZSB7CisJCWNoYXIgYnVmWzUwXTsKKworCQlzbnByaW50ZigmYnVmWzBdLCA0OSwgIjB4JTAyWCAweCUwMlggMHglMDJYIDB4JTAyWCIsCisJCQkgY29udGVudFswXSwgY29udGVudFsxXSwKKwkJCSBjb250ZW50WzJdLCBjb250ZW50WzNdKTsKKwkJYnVmWzQ5XSA9IDA7CisJCXhtbEVuY29kaW5nRXJyKFhNTF9JMThOX0NPTlZfRkFJTEVELAorCQkgICAgIm91dHB1dCBjb252ZXJzaW9uIGZhaWxlZCBkdWUgdG8gY29udiBlcnJvciwgYnl0ZXMgJXNcbiIsCisJCQkgICAgICAgYnVmKTsKKwkJaWYgKHhtbEJ1ZkdldEFsbG9jYXRpb25TY2hlbWUoaW4pICE9IFhNTF9CVUZGRVJfQUxMT0NfSU1NVVRBQkxFKQorCQkgICAgY29udGVudFswXSA9ICcgJzsKKwkgICAgfQorCSAgICBicmVhazsKKwl9CisgICAgfQorICAgIHJldHVybihyZXQpOworfQorI2VuZGlmCisKKy8qKgorICogeG1sQ2hhckVuY091dEZ1bmM6CisgKiBAaGFuZGxlcjoJY2hhciBlbmNvbmRpbmcgdHJhbnNmb3JtYXRpb24gZGF0YSBzdHJ1Y3R1cmUKKyAqIEBvdXQ6ICBhbiB4bWxCdWZmZXIgZm9yIHRoZSBvdXRwdXQuCisgKiBAaW46ICBhbiB4bWxCdWZmZXIgZm9yIHRoZSBpbnB1dAorICoKKyAqIEdlbmVyaWMgZnJvbnQtZW5kIGZvciB0aGUgZW5jb2RpbmcgaGFuZGxlciBvdXRwdXQgZnVuY3Rpb24KKyAqIGEgZmlyc3QgY2FsbCB3aXRoIEBpbiA9PSBOVUxMIGhhcyB0byBiZSBtYWRlIGZpcnMgdG8gaW5pdGlhdGUgdGhlCisgKiBvdXRwdXQgaW4gY2FzZSBvZiBub24tc3RhdGVsZXNzIGVuY29kaW5nIG5lZWRpbmcgdG8gaW5pdGlhdGUgdGhlaXIKKyAqIHN0YXRlIG9yIHRoZSBvdXRwdXQgKGxpa2UgdGhlIEJPTSBpbiBVVEYxNikuCisgKiBJbiBjYXNlIG9mIFVURjggc2VxdWVuY2UgY29udmVyc2lvbiBlcnJvcnMgZm9yIHRoZSBnaXZlbiBlbmNvZGVyLAorICogdGhlIGNvbnRlbnQgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IHJlbWFwcGVkIHRvIGEgQ2hhclJlZiBzZXF1ZW5jZS4KKyAqCisgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgYnl0ZSB3cml0dGVuIGlmIHN1Y2Nlc3MsIG9yCisgKiAgICAgLTEgZ2VuZXJhbCBlcnJvcgorICogICAgIC0yIGlmIHRoZSB0cmFuc2NvZGluZyBmYWlscyAoZm9yICppbiBpcyBub3QgdmFsaWQgdXRmOCBzdHJpbmcgb3IKKyAqICAgICAgICB0aGUgcmVzdWx0IG9mIHRyYW5zZm9ybWF0aW9uIGNhbid0IGZpdCBpbnRvIHRoZSBlbmNvZGluZyB3ZSB3YW50KSwgb3IKKyAqLworaW50Cit4bWxDaGFyRW5jT3V0RnVuYyh4bWxDaGFyRW5jb2RpbmdIYW5kbGVyICpoYW5kbGVyLCB4bWxCdWZmZXJQdHIgb3V0LAorICAgICAgICAgICAgICAgICAgeG1sQnVmZmVyUHRyIGluKSB7CisgICAgaW50IHJldCA9IC0yOworICAgIGludCB3cml0dGVuOworICAgIGludCB3cml0dGVudG90ID0gMDsKKyAgICBpbnQgdG9jb252OworICAgIGludCBvdXRwdXQgPSAwOworICAgIGludCBjaGFycmVmX2xlbiA9IDA7CisKKyAgICBpZiAoaGFuZGxlciA9PSBOVUxMKSByZXR1cm4oLTEpOworICAgIGlmIChvdXQgPT0gTlVMTCkgcmV0dXJuKC0xKTsKKworcmV0cnk6CisKKyAgICB3cml0dGVuID0gb3V0LT5zaXplIC0gb3V0LT51c2U7CisKKyAgICBpZiAod3JpdHRlbiA+IDApCisJd3JpdHRlbi0tOyAvKiBHZW5uYWR5OiBjb3VudCAnLzAnICovCisKKyAgICAvKgorICAgICAqIEZpcnN0IHNwZWNpZmljIGhhbmRsaW5nIG9mIGluID0gTlVMTCwgaS5lLiB0aGUgaW5pdGlhbGl6YXRpb24gY2FsbAorICAgICAqLworICAgIGlmIChpbiA9PSBOVUxMKSB7CisgICAgICAgIHRvY29udiA9IDA7CisJaWYgKGhhbmRsZXItPm91dHB1dCAhPSBOVUxMKSB7CisJICAgIHJldCA9IGhhbmRsZXItPm91dHB1dCgmb3V0LT5jb250ZW50W291dC0+dXNlXSwgJndyaXR0ZW4sCisJCQkJICBOVUxMLCAmdG9jb252KTsKKwkgICAgaWYgKHJldCA+PSAwKSB7IC8qIEdlbm5hZHk6IGNoZWNrIHJldHVybiB2YWx1ZSAqLworCQlvdXQtPnVzZSArPSB3cml0dGVuOworCQlvdXQtPmNvbnRlbnRbb3V0LT51c2VdID0gMDsKKwkgICAgfQorCX0KKyNpZmRlZiBMSUJYTUxfSUNPTlZfRU5BQkxFRAorCWVsc2UgaWYgKGhhbmRsZXItPmljb252X291dCAhPSBOVUxMKSB7CisJICAgIHJldCA9IHhtbEljb252V3JhcHBlcihoYW5kbGVyLT5pY29udl9vdXQsICZvdXQtPmNvbnRlbnRbb3V0LT51c2VdLAorCQkJCSAgJndyaXR0ZW4sIE5VTEwsICZ0b2NvbnYpOworCSAgICBvdXQtPnVzZSArPSB3cml0dGVuOworCSAgICBvdXQtPmNvbnRlbnRbb3V0LT51c2VdID0gMDsKKwl9CisjZW5kaWYgLyogTElCWE1MX0lDT05WX0VOQUJMRUQgKi8KKyNpZmRlZiBMSUJYTUxfSUNVX0VOQUJMRUQKKwllbHNlIGlmIChoYW5kbGVyLT51Y29udl9vdXQgIT0gTlVMTCkgeworCSAgICByZXQgPSB4bWxVY29udldyYXBwZXIoaGFuZGxlci0+dWNvbnZfb3V0LCAwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm91dC0+Y29udGVudFtvdXQtPnVzZV0sCisJCQkJICAgICAgICAgICAgICAmd3JpdHRlbiwgTlVMTCwgJnRvY29udik7CisJICAgIG91dC0+dXNlICs9IHdyaXR0ZW47CisJICAgIG91dC0+Y29udGVudFtvdXQtPnVzZV0gPSAwOworCX0KKyNlbmRpZiAvKiBMSUJYTUxfSUNVX0VOQUJMRUQgKi8KKyNpZmRlZiBERUJVR19FTkNPRElORworCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkiaW5pdGlhbGl6ZWQgZW5jb2RlclxuIik7CisjZW5kaWYKKyAgICAgICAgcmV0dXJuKDApOworICAgIH0KKworICAgIC8qCisgICAgICogQ29udmVyc2lvbiBpdHNlbGYuCisgICAgICovCisgICAgdG9jb252ID0gaW4tPnVzZTsKKyAgICBpZiAodG9jb252ID09IDApCisJcmV0dXJuKDApOworICAgIGlmICh0b2NvbnYgKiA0ID49IHdyaXR0ZW4pIHsKKyAgICAgICAgeG1sQnVmZmVyR3JvdyhvdXQsIHRvY29udiAqIDQpOworCXdyaXR0ZW4gPSBvdXQtPnNpemUgLSBvdXQtPnVzZSAtIDE7CisgICAgfQorICAgIGlmIChoYW5kbGVyLT5vdXRwdXQgIT0gTlVMTCkgeworCXJldCA9IGhhbmRsZXItPm91dHB1dCgmb3V0LT5jb250ZW50W291dC0+dXNlXSwgJndyaXR0ZW4sCisJICAgICAgICAgICAgICAgICAgICAgIGluLT5jb250ZW50LCAmdG9jb252KTsKKwlpZiAod3JpdHRlbiA+IDApIHsKKwkgICAgeG1sQnVmZmVyU2hyaW5rKGluLCB0b2NvbnYpOworCSAgICBvdXQtPnVzZSArPSB3cml0dGVuOworCSAgICB3cml0dGVudG90ICs9IHdyaXR0ZW47CisJfQorCW91dC0+Y29udGVudFtvdXQtPnVzZV0gPSAwOworICAgIH0KKyNpZmRlZiBMSUJYTUxfSUNPTlZfRU5BQkxFRAorICAgIGVsc2UgaWYgKGhhbmRsZXItPmljb252X291dCAhPSBOVUxMKSB7CisJcmV0ID0geG1sSWNvbnZXcmFwcGVyKGhhbmRsZXItPmljb252X291dCwgJm91dC0+Y29udGVudFtvdXQtPnVzZV0sCisJICAgICAgICAgICAgICAgICAgICAgICZ3cml0dGVuLCBpbi0+Y29udGVudCwgJnRvY29udik7CisJeG1sQnVmZmVyU2hyaW5rKGluLCB0b2NvbnYpOworCW91dC0+dXNlICs9IHdyaXR0ZW47CisJd3JpdHRlbnRvdCArPSB3cml0dGVuOworCW91dC0+Y29udGVudFtvdXQtPnVzZV0gPSAwOworCWlmIChyZXQgPT0gLTEpIHsKKwkgICAgaWYgKHdyaXR0ZW4gPiAwKSB7CisJCS8qCisJCSAqIENhbiBiZSBhIGxpbWl0YXRpb24gb2YgaWNvbnYKKwkJICovCisgICAgICAgICAgICAgICAgY2hhcnJlZl9sZW4gPSAwOworCQlnb3RvIHJldHJ5OworCSAgICB9CisJICAgIHJldCA9IC0zOworCX0KKyAgICB9CisjZW5kaWYgLyogTElCWE1MX0lDT05WX0VOQUJMRUQgKi8KKyNpZmRlZiBMSUJYTUxfSUNVX0VOQUJMRUQKKyAgICBlbHNlIGlmIChoYW5kbGVyLT51Y29udl9vdXQgIT0gTlVMTCkgeworCXJldCA9IHhtbFVjb252V3JhcHBlcihoYW5kbGVyLT51Y29udl9vdXQsIDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmb3V0LT5jb250ZW50W291dC0+dXNlXSwKKwkgICAgICAgICAgICAgICAgICAgICAgJndyaXR0ZW4sIGluLT5jb250ZW50LCAmdG9jb252KTsKKwl4bWxCdWZmZXJTaHJpbmsoaW4sIHRvY29udik7CisJb3V0LT51c2UgKz0gd3JpdHRlbjsKKwl3cml0dGVudG90ICs9IHdyaXR0ZW47CisJb3V0LT5jb250ZW50W291dC0+dXNlXSA9IDA7CisJaWYgKHJldCA9PSAtMSkgeworCSAgICBpZiAod3JpdHRlbiA+IDApIHsKKwkJLyoKKwkJICogQ2FuIGJlIGEgbGltaXRhdGlvbiBvZiBpY29udgorCQkgKi8KKyAgICAgICAgICAgICAgICBjaGFycmVmX2xlbiA9IDA7CisJCWdvdG8gcmV0cnk7CisJICAgIH0KKwkgICAgcmV0ID0gLTM7CisJfQorICAgIH0KKyNlbmRpZiAvKiBMSUJYTUxfSUNVX0VOQUJMRUQgKi8KKyAgICBlbHNlIHsKKwl4bWxFbmNvZGluZ0VycihYTUxfSTE4Tl9OT19PVVRQVVQsCisJCSAgICAgICAieG1sQ2hhckVuY091dEZ1bmM6IG5vIG91dHB1dCBmdW5jdGlvbiAhXG4iLCBOVUxMKTsKKwlyZXR1cm4oLTEpOworICAgIH0KKworICAgIGlmIChyZXQgPj0gMCkgb3V0cHV0ICs9IHJldDsKKworICAgIC8qCisgICAgICogQXR0ZW1wdCB0byBoYW5kbGUgZXJyb3IgY2FzZXMKKyAgICAgKi8KKyAgICBzd2l0Y2ggKHJldCkgeworICAgICAgICBjYXNlIDA6CisjaWZkZWYgREVCVUdfRU5DT0RJTkcKKwkgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSAgICAiY29udmVydGVkICVkIGJ5dGVzIHRvICVkIGJ5dGVzIG9mIG91dHB1dFxuIiwKKwkgICAgICAgICAgICB0b2NvbnYsIHdyaXR0ZW4pOworI2VuZGlmCisJICAgIGJyZWFrOworICAgICAgICBjYXNlIC0xOgorI2lmZGVmIERFQlVHX0VOQ09ESU5HCisJICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkgICAgIm91dHB1dCBjb252ZXJzaW9uIGZhaWxlZCBieSBsYWNrIG9mIHNwYWNlXG4iKTsKKyNlbmRpZgorCSAgICBicmVhazsKKyAgICAgICAgY2FzZSAtMzoKKyNpZmRlZiBERUJVR19FTkNPRElORworCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwiY29udmVydGVkICVkIGJ5dGVzIHRvICVkIGJ5dGVzIG9mIG91dHB1dCAlZCBsZWZ0XG4iLAorCSAgICAgICAgICAgIHRvY29udiwgd3JpdHRlbiwgaW4tPnVzZSk7CisjZW5kaWYKKwkgICAgYnJlYWs7CisgICAgICAgIGNhc2UgLTI6IHsKKwkgICAgaW50IGxlbiA9IGluLT51c2U7CisJICAgIGNvbnN0IHhtbENoYXIgKnV0ZiA9IChjb25zdCB4bWxDaGFyICopIGluLT5jb250ZW50OworCSAgICBpbnQgY3VyOworCisJICAgIGN1ciA9IHhtbEdldFVURjhDaGFyKHV0ZiwgJmxlbik7CisJICAgIGlmICgoY2hhcnJlZl9sZW4gIT0gMCkgJiYgKHdyaXR0ZW4gPCBjaGFycmVmX2xlbikpIHsKKwkJLyoKKwkJICogV2UgYXR0ZW1wdGVkIHRvIGluc2VydCBhIGNoYXJhY3RlciByZWZlcmVuY2UgYW5kIGZhaWxlZC4KKwkJICogVW5kbyB3aGF0IHdhcyB3cml0dGVuIGFuZCBza2lwIHRoZSByZW1haW5pbmcgY2hhcnJlZi4KKwkJICovCisJCW91dC0+dXNlIC09IHdyaXR0ZW47CisJCXdyaXR0ZW50b3QgLT0gd3JpdHRlbjsKKwkJeG1sQnVmZmVyU2hyaW5rKGluLCBjaGFycmVmX2xlbiAtIHdyaXR0ZW4pOworCQljaGFycmVmX2xlbiA9IDA7CisKKwkJcmV0ID0gLTE7CisgICAgICAgICAgICAgICAgYnJlYWs7CisJICAgIH0gZWxzZSBpZiAoY3VyID4gMCkgeworCQl4bWxDaGFyIGNoYXJyZWZbMjBdOworCisjaWZkZWYgREVCVUdfRU5DT0RJTkcKKwkJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCQkiaGFuZGxpbmcgb3V0cHV0IGNvbnZlcnNpb24gZXJyb3JcbiIpOworCQl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJCSJCeXRlczogMHglMDJYIDB4JTAyWCAweCUwMlggMHglMDJYXG4iLAorCQkJaW4tPmNvbnRlbnRbMF0sIGluLT5jb250ZW50WzFdLAorCQkJaW4tPmNvbnRlbnRbMl0sIGluLT5jb250ZW50WzNdKTsKKyNlbmRpZgorCQkvKgorCQkgKiBSZW1vdmVzIHRoZSBVVEY4IHNlcXVlbmNlLCBhbmQgcmVwbGFjZSBpdCBieSBhIGNoYXJyZWYKKwkJICogYW5kIGNvbnRpbnVlIHRoZSB0cmFuc2NvZGluZyBwaGFzZSwgaG9waW5nIHRoZSBlcnJvcgorCQkgKiBkaWQgbm90IG1hbmdsZSB0aGUgZW5jb2RlciBzdGF0ZS4KKwkJICovCisJCWNoYXJyZWZfbGVuID0gc25wcmludGYoKGNoYXIgKikgJmNoYXJyZWZbMF0sIHNpemVvZihjaGFycmVmKSwKKwkJCQkgIiYjJWQ7IiwgY3VyKTsKKwkJeG1sQnVmZmVyU2hyaW5rKGluLCBsZW4pOworCQl4bWxCdWZmZXJBZGRIZWFkKGluLCBjaGFycmVmLCAtMSk7CisKKwkJZ290byByZXRyeTsKKwkgICAgfSBlbHNlIHsKKwkJY2hhciBidWZbNTBdOworCisJCXNucHJpbnRmKCZidWZbMF0sIDQ5LCAiMHglMDJYIDB4JTAyWCAweCUwMlggMHglMDJYIiwKKwkJCSBpbi0+Y29udGVudFswXSwgaW4tPmNvbnRlbnRbMV0sCisJCQkgaW4tPmNvbnRlbnRbMl0sIGluLT5jb250ZW50WzNdKTsKKwkJYnVmWzQ5XSA9IDA7CisJCXhtbEVuY29kaW5nRXJyKFhNTF9JMThOX0NPTlZfRkFJTEVELAorCQkgICAgIm91dHB1dCBjb252ZXJzaW9uIGZhaWxlZCBkdWUgdG8gY29udiBlcnJvciwgYnl0ZXMgJXNcbiIsCisJCQkgICAgICAgYnVmKTsKKwkJaWYgKGluLT5hbGxvYyAhPSBYTUxfQlVGRkVSX0FMTE9DX0lNTVVUQUJMRSkKKwkJICAgIGluLT5jb250ZW50WzBdID0gJyAnOworCSAgICB9CisJICAgIGJyZWFrOworCX0KKyAgICB9CisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogeG1sQ2hhckVuY0Nsb3NlRnVuYzoKKyAqIEBoYW5kbGVyOgljaGFyIGVuY29uZGluZyB0cmFuc2Zvcm1hdGlvbiBkYXRhIHN0cnVjdHVyZQorICoKKyAqIEdlbmVyaWMgZnJvbnQtZW5kIGZvciBlbmNvZGluZyBoYW5kbGVyIGNsb3NlIGZ1bmN0aW9uCisgKgorICogUmV0dXJucyAwIGlmIHN1Y2Nlc3MsIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworaW50Cit4bWxDaGFyRW5jQ2xvc2VGdW5jKHhtbENoYXJFbmNvZGluZ0hhbmRsZXIgKmhhbmRsZXIpIHsKKyAgICBpbnQgcmV0ID0gMDsKKyAgICBpbnQgdG9mcmVlID0gMDsKKyAgICBpbnQgaSwgaGFuZGxlcl9pbl9saXN0ID0gMDsKKworICAgIGlmIChoYW5kbGVyID09IE5VTEwpIHJldHVybigtMSk7CisgICAgaWYgKGhhbmRsZXItPm5hbWUgPT0gTlVMTCkgcmV0dXJuKC0xKTsKKyAgICBpZiAoaGFuZGxlcnMgIT0gTlVMTCkgeworICAgICAgICBmb3IgKGkgPSAwO2kgPCBuYkNoYXJFbmNvZGluZ0hhbmRsZXI7IGkrKykgeworICAgICAgICAgICAgaWYgKGhhbmRsZXIgPT0gaGFuZGxlcnNbaV0pIHsKKwkgICAgICAgIGhhbmRsZXJfaW5fbGlzdCA9IDE7CisJCWJyZWFrOworCSAgICB9CisJfQorICAgIH0KKyNpZmRlZiBMSUJYTUxfSUNPTlZfRU5BQkxFRAorICAgIC8qCisgICAgICogSWNvbnYgaGFuZGxlcnMgY2FuIGJlIHVzZWQgb25seSBvbmNlLCBmcmVlIHRoZSB3aG9sZSBibG9jay4KKyAgICAgKiBhbmQgdGhlIGFzc29jaWF0ZWQgaWNvbiByZXNvdXJjZXMuCisgICAgICovCisgICAgaWYgKChoYW5kbGVyX2luX2xpc3QgPT0gMCkgJiYKKyAgICAgICAgKChoYW5kbGVyLT5pY29udl9vdXQgIT0gTlVMTCkgfHwgKGhhbmRsZXItPmljb252X2luICE9IE5VTEwpKSkgeworICAgICAgICB0b2ZyZWUgPSAxOworCWlmIChoYW5kbGVyLT5pY29udl9vdXQgIT0gTlVMTCkgeworCSAgICBpZiAoaWNvbnZfY2xvc2UoaGFuZGxlci0+aWNvbnZfb3V0KSkKKwkJcmV0ID0gLTE7CisJICAgIGhhbmRsZXItPmljb252X291dCA9IE5VTEw7CisJfQorCWlmIChoYW5kbGVyLT5pY29udl9pbiAhPSBOVUxMKSB7CisJICAgIGlmIChpY29udl9jbG9zZShoYW5kbGVyLT5pY29udl9pbikpCisJCXJldCA9IC0xOworCSAgICBoYW5kbGVyLT5pY29udl9pbiA9IE5VTEw7CisJfQorICAgIH0KKyNlbmRpZiAvKiBMSUJYTUxfSUNPTlZfRU5BQkxFRCAqLworI2lmZGVmIExJQlhNTF9JQ1VfRU5BQkxFRAorICAgIGlmICgoaGFuZGxlcl9pbl9saXN0ID09IDApICYmCisgICAgICAgICgoaGFuZGxlci0+dWNvbnZfb3V0ICE9IE5VTEwpIHx8IChoYW5kbGVyLT51Y29udl9pbiAhPSBOVUxMKSkpIHsKKyAgICAgICAgdG9mcmVlID0gMTsKKwlpZiAoaGFuZGxlci0+dWNvbnZfb3V0ICE9IE5VTEwpIHsKKwkgICAgY2xvc2VJY3VDb252ZXJ0ZXIoaGFuZGxlci0+dWNvbnZfb3V0KTsKKwkgICAgaGFuZGxlci0+dWNvbnZfb3V0ID0gTlVMTDsKKwl9CisJaWYgKGhhbmRsZXItPnVjb252X2luICE9IE5VTEwpIHsKKwkgICAgY2xvc2VJY3VDb252ZXJ0ZXIoaGFuZGxlci0+dWNvbnZfaW4pOworCSAgICBoYW5kbGVyLT51Y29udl9pbiA9IE5VTEw7CisJfQorICAgIH0KKyNlbmRpZgorICAgIGlmICh0b2ZyZWUpIHsKKyAgICAgICAgLyogZnJlZSB1cCBvbmx5IGR5bmFtaWMgaGFuZGxlcnMgaWNvbnYvdWNvbnYgKi8KKyAgICAgICAgaWYgKGhhbmRsZXItPm5hbWUgIT0gTlVMTCkKKyAgICAgICAgICAgIHhtbEZyZWUoaGFuZGxlci0+bmFtZSk7CisgICAgICAgIGhhbmRsZXItPm5hbWUgPSBOVUxMOworICAgICAgICB4bWxGcmVlKGhhbmRsZXIpOworICAgIH0KKyNpZmRlZiBERUJVR19FTkNPRElORworICAgIGlmIChyZXQpCisgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkiZmFpbGVkIHRvIGNsb3NlIHRoZSBlbmNvZGluZyBoYW5kbGVyXG4iKTsKKyAgICBlbHNlCisgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkiY2xvc2VkIHRoZSBlbmNvZGluZyBoYW5kbGVyXG4iKTsKKyNlbmRpZgorCisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogeG1sQnl0ZUNvbnN1bWVkOgorICogQGN0eHQ6IGFuIFhNTCBwYXJzZXIgY29udGV4dAorICoKKyAqIFRoaXMgZnVuY3Rpb24gcHJvdmlkZXMgdGhlIGN1cnJlbnQgaW5kZXggb2YgdGhlIHBhcnNlciByZWxhdGl2ZQorICogdG8gdGhlIHN0YXJ0IG9mIHRoZSBjdXJyZW50IGVudGl0eS4gVGhpcyBmdW5jdGlvbiBpcyBjb21wdXRlZCBpbgorICogYnl0ZXMgZnJvbSB0aGUgYmVnaW5uaW5nIHN0YXJ0aW5nIGF0IHplcm8gYW5kIGZpbmlzaGluZyBhdCB0aGUKKyAqIHNpemUgaW4gYnl0ZSBvZiB0aGUgZmlsZSBpZiBwYXJzaW5nIGEgZmlsZS4gVGhlIGZ1bmN0aW9uIGlzCisgKiBvZiBjb25zdGFudCBjb3N0IGlmIHRoZSBpbnB1dCBpcyBVVEYtOCBidXQgY2FuIGJlIGNvc3RseSBpZiBydW4KKyAqIG9uIG5vbi1VVEYtOCBpbnB1dC4KKyAqCisgKiBSZXR1cm5zIHRoZSBpbmRleCBpbiBieXRlcyBmcm9tIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGVudGl0eSBvciAtMQorICogICAgICAgICBpbiBjYXNlIHRoZSBpbmRleCBjb3VsZCBub3QgYmUgY29tcHV0ZWQuCisgKi8KK2xvbmcKK3htbEJ5dGVDb25zdW1lZCh4bWxQYXJzZXJDdHh0UHRyIGN0eHQpIHsKKyAgICB4bWxQYXJzZXJJbnB1dFB0ciBpbjsKKworICAgIGlmIChjdHh0ID09IE5VTEwpIHJldHVybigtMSk7CisgICAgaW4gPSBjdHh0LT5pbnB1dDsKKyAgICBpZiAoaW4gPT0gTlVMTCkgIHJldHVybigtMSk7CisgICAgaWYgKChpbi0+YnVmICE9IE5VTEwpICYmIChpbi0+YnVmLT5lbmNvZGVyICE9IE5VTEwpKSB7CisgICAgICAgIHVuc2lnbmVkIGludCB1bnVzZWQgPSAwOworCXhtbENoYXJFbmNvZGluZ0hhbmRsZXIgKiBoYW5kbGVyID0gaW4tPmJ1Zi0+ZW5jb2RlcjsKKyAgICAgICAgLyoKKwkgKiBFbmNvZGluZyBjb252ZXJzaW9uLCBjb21wdXRlIHRoZSBudW1iZXIgb2YgdW51c2VkIG9yaWdpbmFsCisJICogYnl0ZXMgZnJvbSB0aGUgaW5wdXQgbm90IGNvbnN1bWVkIGFuZCBzdWJzdHJhY3QgdGhhdCBmcm9tCisJICogdGhlIHJhdyBjb25zdW1lZCB2YWx1ZSwgdGhpcyBpcyBub3QgYSBjaGVhcCBvcGVyYXRpb24KKwkgKi8KKyAgICAgICAgaWYgKGluLT5lbmQgLSBpbi0+Y3VyID4gMCkgeworCSAgICB1bnNpZ25lZCBjaGFyIGNvbnZidWZbMzIwMDBdOworCSAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpjdXIgPSAoY29uc3QgdW5zaWduZWQgY2hhciAqKWluLT5jdXI7CisJICAgIGludCB0b2NvbnYgPSBpbi0+ZW5kIC0gaW4tPmN1ciwgd3JpdHRlbiA9IDMyMDAwOworCisJICAgIGludCByZXQ7CisKKwkgICAgaWYgKGhhbmRsZXItPm91dHB1dCAhPSBOVUxMKSB7CisJICAgICAgICBkbyB7CisJCSAgICB0b2NvbnYgPSBpbi0+ZW5kIC0gY3VyOworCQkgICAgd3JpdHRlbiA9IDMyMDAwOworCQkgICAgcmV0ID0gaGFuZGxlci0+b3V0cHV0KCZjb252YnVmWzBdLCAmd3JpdHRlbiwKKwkJCQkgICAgICBjdXIsICZ0b2NvbnYpOworCQkgICAgaWYgKHJldCA9PSAtMSkgcmV0dXJuKC0xKTsKKwkJICAgIHVudXNlZCArPSB3cml0dGVuOworCQkgICAgY3VyICs9IHRvY29udjsKKwkJfSB3aGlsZSAocmV0ID09IC0yKTsKKyNpZmRlZiBMSUJYTUxfSUNPTlZfRU5BQkxFRAorCSAgICB9IGVsc2UgaWYgKGhhbmRsZXItPmljb252X291dCAhPSBOVUxMKSB7CisJICAgICAgICBkbyB7CisJCSAgICB0b2NvbnYgPSBpbi0+ZW5kIC0gY3VyOworCQkgICAgd3JpdHRlbiA9IDMyMDAwOworCQkgICAgcmV0ID0geG1sSWNvbnZXcmFwcGVyKGhhbmRsZXItPmljb252X291dCwgJmNvbnZidWZbMF0sCisJICAgICAgICAgICAgICAgICAgICAgICZ3cml0dGVuLCBjdXIsICZ0b2NvbnYpOworCQkgICAgaWYgKHJldCA8IDApIHsKKwkJICAgICAgICBpZiAod3JpdHRlbiA+IDApCisJCQkgICAgcmV0ID0gLTI7CisJCQllbHNlCisJCQkgICAgcmV0dXJuKC0xKTsKKwkJICAgIH0KKwkJICAgIHVudXNlZCArPSB3cml0dGVuOworCQkgICAgY3VyICs9IHRvY29udjsKKwkJfSB3aGlsZSAocmV0ID09IC0yKTsKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9JQ1VfRU5BQkxFRAorCSAgICB9IGVsc2UgaWYgKGhhbmRsZXItPnVjb252X291dCAhPSBOVUxMKSB7CisJICAgICAgICBkbyB7CisJCSAgICB0b2NvbnYgPSBpbi0+ZW5kIC0gY3VyOworCQkgICAgd3JpdHRlbiA9IDMyMDAwOworCQkgICAgcmV0ID0geG1sVWNvbnZXcmFwcGVyKGhhbmRsZXItPnVjb252X291dCwgMCwgJmNvbnZidWZbMF0sCisJICAgICAgICAgICAgICAgICAgICAgICZ3cml0dGVuLCBjdXIsICZ0b2NvbnYpOworCQkgICAgaWYgKHJldCA8IDApIHsKKwkJICAgICAgICBpZiAod3JpdHRlbiA+IDApCisJCQkgICAgcmV0ID0gLTI7CisJCQllbHNlCisJCQkgICAgcmV0dXJuKC0xKTsKKwkJICAgIH0KKwkJICAgIHVudXNlZCArPSB3cml0dGVuOworCQkgICAgY3VyICs9IHRvY29udjsKKwkJfSB3aGlsZSAocmV0ID09IC0yKTsKKyNlbmRpZgorICAgICAgICAgICAgfSBlbHNlIHsKKwkgICAgICAgIC8qIGNvdWxkIG5vdCBmaW5kIGEgY29udmVydGVyICovCisJICAgICAgICByZXR1cm4oLTEpOworCSAgICB9CisJfQorCWlmIChpbi0+YnVmLT5yYXdjb25zdW1lZCA8IHVudXNlZCkKKwkgICAgcmV0dXJuKC0xKTsKKwlyZXR1cm4oaW4tPmJ1Zi0+cmF3Y29uc3VtZWQgLSB1bnVzZWQpOworICAgIH0KKyAgICByZXR1cm4oaW4tPmNvbnN1bWVkICsgKGluLT5jdXIgLSBpbi0+YmFzZSkpOworfQorCisjaWYgIWRlZmluZWQoTElCWE1MX0lDT05WX0VOQUJMRUQpICYmICFkZWZpbmVkKExJQlhNTF9JQ1VfRU5BQkxFRCkKKyNpZmRlZiBMSUJYTUxfSVNPODg1OVhfRU5BQkxFRAorCisvKioKKyAqIFVURjhUb0lTTzg4NTl4OgorICogQG91dDogIGEgcG9pbnRlciB0byBhbiBhcnJheSBvZiBieXRlcyB0byBzdG9yZSB0aGUgcmVzdWx0CisgKiBAb3V0bGVuOiAgdGhlIGxlbmd0aCBvZiBAb3V0CisgKiBAaW46ICBhIHBvaW50ZXIgdG8gYW4gYXJyYXkgb2YgVVRGLTggY2hhcnMKKyAqIEBpbmxlbjogIHRoZSBsZW5ndGggb2YgQGluCisgKiBAeGxhdHRhYmxlOiB0aGUgMi1sZXZlbCB0cmFuc2NvZGluZyB0YWJsZQorICoKKyAqIFRha2UgYSBibG9jayBvZiBVVEYtOCBjaGFycyBpbiBhbmQgdHJ5IHRvIGNvbnZlcnQgaXQgdG8gYW4gSVNPIDg4NTktKgorICogYmxvY2sgb2YgY2hhcnMgb3V0LgorICoKKyAqIFJldHVybnMgMCBpZiBzdWNjZXNzLCAtMiBpZiB0aGUgdHJhbnNjb2RpbmcgZmFpbHMsIG9yIC0xIG90aGVyd2lzZQorICogVGhlIHZhbHVlIG9mIEBpbmxlbiBhZnRlciByZXR1cm4gaXMgdGhlIG51bWJlciBvZiBvY3RldHMgY29uc3VtZWQKKyAqICAgICBhcyB0aGUgcmV0dXJuIHZhbHVlIGlzIHBvc2l0aXZlLCBlbHNlIHVucHJlZGljdGFibGUuCisgKiBUaGUgdmFsdWUgb2YgQG91dGxlbiBhZnRlciByZXR1cm4gaXMgdGhlIG51bWJlciBvZiBvY2V0ZXMgY29uc3VtZWQuCisgKi8KK3N0YXRpYyBpbnQKK1VURjhUb0lTTzg4NTl4KHVuc2lnbmVkIGNoYXIqIG91dCwgaW50ICpvdXRsZW4sCisgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGluLCBpbnQgKmlubGVuLAorICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyIGNvbnN0ICp4bGF0dGFibGUpIHsKKyAgICBjb25zdCB1bnNpZ25lZCBjaGFyKiBvdXRzdGFydCA9IG91dDsKKyAgICBjb25zdCB1bnNpZ25lZCBjaGFyKiBpbmVuZDsKKyAgICBjb25zdCB1bnNpZ25lZCBjaGFyKiBpbnN0YXJ0ID0gaW47CisgICAgY29uc3QgdW5zaWduZWQgY2hhciogcHJvY2Vzc2VkID0gaW47CisKKyAgICBpZiAoKG91dCA9PSBOVUxMKSB8fCAob3V0bGVuID09IE5VTEwpIHx8IChpbmxlbiA9PSBOVUxMKSB8fAorICAgICAgICAoeGxhdHRhYmxlID09IE5VTEwpKQorCXJldHVybigtMSk7CisgICAgaWYgKGluID09IE5VTEwpIHsKKyAgICAgICAgLyoKKyAgICAgICAgKiBpbml0aWFsaXphdGlvbiBub3RoaW5nIHRvIGRvCisgICAgICAgICovCisgICAgICAgICpvdXRsZW4gPSAwOworICAgICAgICAqaW5sZW4gPSAwOworICAgICAgICByZXR1cm4oMCk7CisgICAgfQorICAgIGluZW5kID0gaW4gKyAoKmlubGVuKTsKKyAgICB3aGlsZSAoaW4gPCBpbmVuZCkgeworICAgICAgICB1bnNpZ25lZCBjaGFyIGQgPSAqaW4rKzsKKyAgICAgICAgaWYgIChkIDwgMHg4MCkgIHsKKyAgICAgICAgICAgICpvdXQrKyA9IGQ7CisgICAgICAgIH0gZWxzZSBpZiAoZCA8IDB4QzApIHsKKyAgICAgICAgICAgIC8qIHRyYWlsaW5nIGJ5dGUgaW4gbGVhZGluZyBwb3NpdGlvbiAqLworICAgICAgICAgICAgKm91dGxlbiA9IG91dCAtIG91dHN0YXJ0OworICAgICAgICAgICAgKmlubGVuID0gcHJvY2Vzc2VkIC0gaW5zdGFydDsKKyAgICAgICAgICAgIHJldHVybigtMik7CisgICAgICAgIH0gZWxzZSBpZiAoZCA8IDB4RTApIHsKKyAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgYzsKKyAgICAgICAgICAgIGlmICghKGluIDwgaW5lbmQpKSB7CisgICAgICAgICAgICAgICAgLyogdHJhaWxpbmcgYnl0ZSBub3QgaW4gaW5wdXQgYnVmZmVyICovCisgICAgICAgICAgICAgICAgKm91dGxlbiA9IG91dCAtIG91dHN0YXJ0OworICAgICAgICAgICAgICAgICppbmxlbiA9IHByb2Nlc3NlZCAtIGluc3RhcnQ7CisgICAgICAgICAgICAgICAgcmV0dXJuKC0zKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGMgPSAqaW4rKzsKKyAgICAgICAgICAgIGlmICgoYyAmIDB4QzApICE9IDB4ODApIHsKKyAgICAgICAgICAgICAgICAvKiBub3QgYSB0cmFpbGluZyBieXRlICovCisgICAgICAgICAgICAgICAgKm91dGxlbiA9IG91dCAtIG91dHN0YXJ0OworICAgICAgICAgICAgICAgICppbmxlbiA9IHByb2Nlc3NlZCAtIGluc3RhcnQ7CisgICAgICAgICAgICAgICAgcmV0dXJuKC0yKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGMgPSBjICYgMHgzRjsKKyAgICAgICAgICAgIGQgPSBkICYgMHgxRjsKKyAgICAgICAgICAgIGQgPSB4bGF0dGFibGUgWzQ4ICsgYyArIHhsYXR0YWJsZSBbZF0gKiA2NF07CisgICAgICAgICAgICBpZiAoZCA9PSAwKSB7CisgICAgICAgICAgICAgICAgLyogbm90IGluIGNoYXJhY3RlciBzZXQgKi8KKyAgICAgICAgICAgICAgICAqb3V0bGVuID0gb3V0IC0gb3V0c3RhcnQ7CisgICAgICAgICAgICAgICAgKmlubGVuID0gcHJvY2Vzc2VkIC0gaW5zdGFydDsKKyAgICAgICAgICAgICAgICByZXR1cm4oLTIpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgKm91dCsrID0gZDsKKyAgICAgICAgfSBlbHNlIGlmIChkIDwgMHhGMCkgeworICAgICAgICAgICAgdW5zaWduZWQgY2hhciBjMTsKKyAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgYzI7CisgICAgICAgICAgICBpZiAoIShpbiA8IGluZW5kIC0gMSkpIHsKKyAgICAgICAgICAgICAgICAvKiB0cmFpbGluZyBieXRlcyBub3QgaW4gaW5wdXQgYnVmZmVyICovCisgICAgICAgICAgICAgICAgKm91dGxlbiA9IG91dCAtIG91dHN0YXJ0OworICAgICAgICAgICAgICAgICppbmxlbiA9IHByb2Nlc3NlZCAtIGluc3RhcnQ7CisgICAgICAgICAgICAgICAgcmV0dXJuKC0zKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGMxID0gKmluKys7CisgICAgICAgICAgICBpZiAoKGMxICYgMHhDMCkgIT0gMHg4MCkgeworICAgICAgICAgICAgICAgIC8qIG5vdCBhIHRyYWlsaW5nIGJ5dGUgKGMxKSAqLworICAgICAgICAgICAgICAgICpvdXRsZW4gPSBvdXQgLSBvdXRzdGFydDsKKyAgICAgICAgICAgICAgICAqaW5sZW4gPSBwcm9jZXNzZWQgLSBpbnN0YXJ0OworICAgICAgICAgICAgICAgIHJldHVybigtMik7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBjMiA9ICppbisrOworICAgICAgICAgICAgaWYgKChjMiAmIDB4QzApICE9IDB4ODApIHsKKyAgICAgICAgICAgICAgICAvKiBub3QgYSB0cmFpbGluZyBieXRlIChjMikgKi8KKyAgICAgICAgICAgICAgICAqb3V0bGVuID0gb3V0IC0gb3V0c3RhcnQ7CisgICAgICAgICAgICAgICAgKmlubGVuID0gcHJvY2Vzc2VkIC0gaW5zdGFydDsKKyAgICAgICAgICAgICAgICByZXR1cm4oLTIpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgYzEgPSBjMSAmIDB4M0Y7CisgICAgICAgICAgICBjMiA9IGMyICYgMHgzRjsKKwkgICAgZCA9IGQgJiAweDBGOworCSAgICBkID0geGxhdHRhYmxlIFs0OCArIGMyICsgeGxhdHRhYmxlIFs0OCArIGMxICsKKwkJCXhsYXR0YWJsZSBbMzIgKyBkXSAqIDY0XSAqIDY0XTsKKyAgICAgICAgICAgIGlmIChkID09IDApIHsKKyAgICAgICAgICAgICAgICAvKiBub3QgaW4gY2hhcmFjdGVyIHNldCAqLworICAgICAgICAgICAgICAgICpvdXRsZW4gPSBvdXQgLSBvdXRzdGFydDsKKyAgICAgICAgICAgICAgICAqaW5sZW4gPSBwcm9jZXNzZWQgLSBpbnN0YXJ0OworICAgICAgICAgICAgICAgIHJldHVybigtMik7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAqb3V0KysgPSBkOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgLyogY2Fubm90IHRyYW5zY29kZSA+PSBVKzAxMDAwMCAqLworICAgICAgICAgICAgKm91dGxlbiA9IG91dCAtIG91dHN0YXJ0OworICAgICAgICAgICAgKmlubGVuID0gcHJvY2Vzc2VkIC0gaW5zdGFydDsKKyAgICAgICAgICAgIHJldHVybigtMik7CisgICAgICAgIH0KKyAgICAgICAgcHJvY2Vzc2VkID0gaW47CisgICAgfQorICAgICpvdXRsZW4gPSBvdXQgLSBvdXRzdGFydDsKKyAgICAqaW5sZW4gPSBwcm9jZXNzZWQgLSBpbnN0YXJ0OworICAgIHJldHVybigqb3V0bGVuKTsKK30KKworLyoqCisgKiBJU084ODU5eFRvVVRGOAorICogQG91dDogIGEgcG9pbnRlciB0byBhbiBhcnJheSBvZiBieXRlcyB0byBzdG9yZSB0aGUgcmVzdWx0CisgKiBAb3V0bGVuOiAgdGhlIGxlbmd0aCBvZiBAb3V0CisgKiBAaW46ICBhIHBvaW50ZXIgdG8gYW4gYXJyYXkgb2YgSVNPIExhdGluIDEgY2hhcnMKKyAqIEBpbmxlbjogIHRoZSBsZW5ndGggb2YgQGluCisgKgorICogVGFrZSBhIGJsb2NrIG9mIElTTyA4ODU5LSogY2hhcnMgaW4gYW5kIHRyeSB0byBjb252ZXJ0IGl0IHRvIGFuIFVURi04CisgKiBibG9jayBvZiBjaGFycyBvdXQuCisgKiBSZXR1cm5zIDAgaWYgc3VjY2Vzcywgb3IgLTEgb3RoZXJ3aXNlCisgKiBUaGUgdmFsdWUgb2YgQGlubGVuIGFmdGVyIHJldHVybiBpcyB0aGUgbnVtYmVyIG9mIG9jdGV0cyBjb25zdW1lZAorICogVGhlIHZhbHVlIG9mIEBvdXRsZW4gYWZ0ZXIgcmV0dXJuIGlzIHRoZSBudW1iZXIgb2Ygb2NldGVzIHByb2R1Y2VkLgorICovCitzdGF0aWMgaW50CitJU084ODU5eFRvVVRGOCh1bnNpZ25lZCBjaGFyKiBvdXQsIGludCAqb3V0bGVuLAorICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyKiBpbiwgaW50ICppbmxlbiwKKyAgICAgICAgICAgICAgdW5zaWduZWQgc2hvcnQgY29uc3QgKnVuaWNvZGV0YWJsZSkgeworICAgIHVuc2lnbmVkIGNoYXIqIG91dHN0YXJ0ID0gb3V0OworICAgIHVuc2lnbmVkIGNoYXIqIG91dGVuZDsKKyAgICBjb25zdCB1bnNpZ25lZCBjaGFyKiBpbnN0YXJ0ID0gaW47CisgICAgY29uc3QgdW5zaWduZWQgY2hhciogaW5lbmQ7CisgICAgY29uc3QgdW5zaWduZWQgY2hhciogaW5zdG9wOworICAgIHVuc2lnbmVkIGludCBjOworCisgICAgaWYgKChvdXQgPT0gTlVMTCkgfHwgKG91dGxlbiA9PSBOVUxMKSB8fCAoaW5sZW4gPT0gTlVMTCkgfHwKKyAgICAgICAgKGluID09IE5VTEwpIHx8ICh1bmljb2RldGFibGUgPT0gTlVMTCkpCisJcmV0dXJuKC0xKTsKKyAgICBvdXRlbmQgPSBvdXQgKyAqb3V0bGVuOworICAgIGluZW5kID0gaW4gKyAqaW5sZW47CisgICAgaW5zdG9wID0gaW5lbmQ7CisKKyAgICB3aGlsZSAoKGluIDwgaW5lbmQpICYmIChvdXQgPCBvdXRlbmQgLSAyKSkgeworICAgICAgICBpZiAoKmluID49IDB4ODApIHsKKyAgICAgICAgICAgIGMgPSB1bmljb2RldGFibGUgWyppbiAtIDB4ODBdOworICAgICAgICAgICAgaWYgKGMgPT0gMCkgeworICAgICAgICAgICAgICAgIC8qIHVuZGVmaW5lZCBjb2RlIHBvaW50ICovCisgICAgICAgICAgICAgICAgKm91dGxlbiA9IG91dCAtIG91dHN0YXJ0OworICAgICAgICAgICAgICAgICppbmxlbiA9IGluIC0gaW5zdGFydDsKKyAgICAgICAgICAgICAgICByZXR1cm4gKC0xKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChjIDwgMHg4MDApIHsKKyAgICAgICAgICAgICAgICAqb3V0KysgPSAoKGMgPj4gIDYpICYgMHgxRikgfCAweEMwOworICAgICAgICAgICAgICAgICpvdXQrKyA9IChjICYgMHgzRikgfCAweDgwOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAqb3V0KysgPSAoKGMgPj4gIDEyKSAmIDB4MEYpIHwgMHhFMDsKKyAgICAgICAgICAgICAgICAqb3V0KysgPSAoKGMgPj4gIDYpICYgMHgzRikgfCAweDgwOworICAgICAgICAgICAgICAgICpvdXQrKyA9IChjICYgMHgzRikgfCAweDgwOworICAgICAgICAgICAgfQorICAgICAgICAgICAgKytpbjsKKyAgICAgICAgfQorICAgICAgICBpZiAoaW5zdG9wIC0gaW4gPiBvdXRlbmQgLSBvdXQpIGluc3RvcCA9IGluICsgKG91dGVuZCAtIG91dCk7CisgICAgICAgIHdoaWxlICgoKmluIDwgMHg4MCkgJiYgKGluIDwgaW5zdG9wKSkgeworICAgICAgICAgICAgKm91dCsrID0gKmluKys7CisgICAgICAgIH0KKyAgICB9CisgICAgaWYgKChpbiA8IGluZW5kKSAmJiAob3V0IDwgb3V0ZW5kKSAmJiAoKmluIDwgMHg4MCkpIHsKKyAgICAgICAgKm91dCsrID0gICppbisrOworICAgIH0KKyAgICBpZiAoKGluIDwgaW5lbmQpICYmIChvdXQgPCBvdXRlbmQpICYmICgqaW4gPCAweDgwKSkgeworICAgICAgICAqb3V0KysgPSAgKmluKys7CisgICAgfQorICAgICpvdXRsZW4gPSBvdXQgLSBvdXRzdGFydDsKKyAgICAqaW5sZW4gPSBpbiAtIGluc3RhcnQ7CisgICAgcmV0dXJuICgqb3V0bGVuKTsKK30KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBMb29rdXAgdGFibGVzIGZvciBJU08tODg1OS0yLi5JU08tODg1OS0xNiB0cmFuc2NvZGluZyAgICAgICAgICAgICAgICAqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitzdGF0aWMgdW5zaWduZWQgc2hvcnQgY29uc3QgeG1sdW5pY29kZXRhYmxlX0lTTzg4NTlfMiBbMTI4XSA9IHsKKyAgICAweDAwODAsIDB4MDA4MSwgMHgwMDgyLCAweDAwODMsIDB4MDA4NCwgMHgwMDg1LCAweDAwODYsIDB4MDA4NywKKyAgICAweDAwODgsIDB4MDA4OSwgMHgwMDhhLCAweDAwOGIsIDB4MDA4YywgMHgwMDhkLCAweDAwOGUsIDB4MDA4ZiwKKyAgICAweDAwOTAsIDB4MDA5MSwgMHgwMDkyLCAweDAwOTMsIDB4MDA5NCwgMHgwMDk1LCAweDAwOTYsIDB4MDA5NywKKyAgICAweDAwOTgsIDB4MDA5OSwgMHgwMDlhLCAweDAwOWIsIDB4MDA5YywgMHgwMDlkLCAweDAwOWUsIDB4MDA5ZiwKKyAgICAweDAwYTAsIDB4MDEwNCwgMHgwMmQ4LCAweDAxNDEsIDB4MDBhNCwgMHgwMTNkLCAweDAxNWEsIDB4MDBhNywKKyAgICAweDAwYTgsIDB4MDE2MCwgMHgwMTVlLCAweDAxNjQsIDB4MDE3OSwgMHgwMGFkLCAweDAxN2QsIDB4MDE3YiwKKyAgICAweDAwYjAsIDB4MDEwNSwgMHgwMmRiLCAweDAxNDIsIDB4MDBiNCwgMHgwMTNlLCAweDAxNWIsIDB4MDJjNywKKyAgICAweDAwYjgsIDB4MDE2MSwgMHgwMTVmLCAweDAxNjUsIDB4MDE3YSwgMHgwMmRkLCAweDAxN2UsIDB4MDE3YywKKyAgICAweDAxNTQsIDB4MDBjMSwgMHgwMGMyLCAweDAxMDIsIDB4MDBjNCwgMHgwMTM5LCAweDAxMDYsIDB4MDBjNywKKyAgICAweDAxMGMsIDB4MDBjOSwgMHgwMTE4LCAweDAwY2IsIDB4MDExYSwgMHgwMGNkLCAweDAwY2UsIDB4MDEwZSwKKyAgICAweDAxMTAsIDB4MDE0MywgMHgwMTQ3LCAweDAwZDMsIDB4MDBkNCwgMHgwMTUwLCAweDAwZDYsIDB4MDBkNywKKyAgICAweDAxNTgsIDB4MDE2ZSwgMHgwMGRhLCAweDAxNzAsIDB4MDBkYywgMHgwMGRkLCAweDAxNjIsIDB4MDBkZiwKKyAgICAweDAxNTUsIDB4MDBlMSwgMHgwMGUyLCAweDAxMDMsIDB4MDBlNCwgMHgwMTNhLCAweDAxMDcsIDB4MDBlNywKKyAgICAweDAxMGQsIDB4MDBlOSwgMHgwMTE5LCAweDAwZWIsIDB4MDExYiwgMHgwMGVkLCAweDAwZWUsIDB4MDEwZiwKKyAgICAweDAxMTEsIDB4MDE0NCwgMHgwMTQ4LCAweDAwZjMsIDB4MDBmNCwgMHgwMTUxLCAweDAwZjYsIDB4MDBmNywKKyAgICAweDAxNTksIDB4MDE2ZiwgMHgwMGZhLCAweDAxNzEsIDB4MDBmYywgMHgwMGZkLCAweDAxNjMsIDB4MDJkOSwKK307CisKK3N0YXRpYyB1bnNpZ25lZCBjaGFyIGNvbnN0IHhtbHRyYW5zY29kZXRhYmxlX0lTTzg4NTlfMiBbNDggKyA2ICogNjRdID0geworICAgICJceDAwXHgwMFx4MDFceDA1XHgwMlx4MDRceDAwXHgwMFx4MDBceDAwXHgwMFx4MDNceDAwXHgwMFx4MDBceDAwIgorICAgICJceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIgorICAgICJceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIgorICAgICJceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIgorICAgICJceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIgorICAgICJceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIgorICAgICJceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIgorICAgICJceDgwXHg4MVx4ODJceDgzXHg4NFx4ODVceDg2XHg4N1x4ODhceDg5XHg4YVx4OGJceDhjXHg4ZFx4OGVceDhmIgorICAgICJceDkwXHg5MVx4OTJceDkzXHg5NFx4OTVceDk2XHg5N1x4OThceDk5XHg5YVx4OWJceDljXHg5ZFx4OWVceDlmIgorICAgICJceGEwXHgwMFx4MDBceDAwXHhhNFx4MDBceDAwXHhhN1x4YThceDAwXHgwMFx4MDBceDAwXHhhZFx4MDBceDAwIgorICAgICJceGIwXHgwMFx4MDBceDAwXHhiNFx4MDBceDAwXHgwMFx4YjhceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIgorICAgICJceDAwXHgwMFx4YzNceGUzXHhhMVx4YjFceGM2XHhlNlx4MDBceDAwXHgwMFx4MDBceGM4XHhlOFx4Y2ZceGVmIgorICAgICJceGQwXHhmMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4Y2FceGVhXHhjY1x4ZWNceDAwXHgwMFx4MDBceDAwIgorICAgICJceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIgorICAgICJceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceGM1XHhlNVx4MDBceDAwXHhhNVx4YjVceDAwIgorICAgICJceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHhiN1x4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIgorICAgICJceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4YTJceGZmXHgwMFx4YjJceDAwXHhiZFx4MDBceDAwIgorICAgICJceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIgorICAgICJceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIgorICAgICJceDAwXHhhM1x4YjNceGQxXHhmMVx4MDBceDAwXHhkMlx4ZjJceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIgorICAgICJceGQ1XHhmNVx4MDBceDAwXHhjMFx4ZTBceDAwXHgwMFx4ZDhceGY4XHhhNlx4YjZceDAwXHgwMFx4YWFceGJhIgorICAgICJceGE5XHhiOVx4ZGVceGZlXHhhYlx4YmJceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4ZDlceGY5IgorICAgICJceGRiXHhmYlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceGFjXHhiY1x4YWZceGJmXHhhZVx4YmVceDAwIgorICAgICJceDAwXHhjMVx4YzJceDAwXHhjNFx4MDBceDAwXHhjN1x4MDBceGM5XHgwMFx4Y2JceDAwXHhjZFx4Y2VceDAwIgorICAgICJceDAwXHgwMFx4MDBceGQzXHhkNFx4MDBceGQ2XHhkN1x4MDBceDAwXHhkYVx4MDBceGRjXHhkZFx4MDBceGRmIgorICAgICJceDAwXHhlMVx4ZTJceDAwXHhlNFx4MDBceDAwXHhlN1x4MDBceGU5XHgwMFx4ZWJceDAwXHhlZFx4ZWVceDAwIgorICAgICJceDAwXHgwMFx4MDBceGYzXHhmNFx4MDBceGY2XHhmN1x4MDBceDAwXHhmYVx4MDBceGZjXHhmZFx4MDBceDAwIgorfTsKKworc3RhdGljIHVuc2lnbmVkIHNob3J0IGNvbnN0IHhtbHVuaWNvZGV0YWJsZV9JU084ODU5XzMgWzEyOF0gPSB7CisgICAgMHgwMDgwLCAweDAwODEsIDB4MDA4MiwgMHgwMDgzLCAweDAwODQsIDB4MDA4NSwgMHgwMDg2LCAweDAwODcsCisgICAgMHgwMDg4LCAweDAwODksIDB4MDA4YSwgMHgwMDhiLCAweDAwOGMsIDB4MDA4ZCwgMHgwMDhlLCAweDAwOGYsCisgICAgMHgwMDkwLCAweDAwOTEsIDB4MDA5MiwgMHgwMDkzLCAweDAwOTQsIDB4MDA5NSwgMHgwMDk2LCAweDAwOTcsCisgICAgMHgwMDk4LCAweDAwOTksIDB4MDA5YSwgMHgwMDliLCAweDAwOWMsIDB4MDA5ZCwgMHgwMDllLCAweDAwOWYsCisgICAgMHgwMGEwLCAweDAxMjYsIDB4MDJkOCwgMHgwMGEzLCAweDAwYTQsIDB4MDAwMCwgMHgwMTI0LCAweDAwYTcsCisgICAgMHgwMGE4LCAweDAxMzAsIDB4MDE1ZSwgMHgwMTFlLCAweDAxMzQsIDB4MDBhZCwgMHgwMDAwLCAweDAxN2IsCisgICAgMHgwMGIwLCAweDAxMjcsIDB4MDBiMiwgMHgwMGIzLCAweDAwYjQsIDB4MDBiNSwgMHgwMTI1LCAweDAwYjcsCisgICAgMHgwMGI4LCAweDAxMzEsIDB4MDE1ZiwgMHgwMTFmLCAweDAxMzUsIDB4MDBiZCwgMHgwMDAwLCAweDAxN2MsCisgICAgMHgwMGMwLCAweDAwYzEsIDB4MDBjMiwgMHgwMDAwLCAweDAwYzQsIDB4MDEwYSwgMHgwMTA4LCAweDAwYzcsCisgICAgMHgwMGM4LCAweDAwYzksIDB4MDBjYSwgMHgwMGNiLCAweDAwY2MsIDB4MDBjZCwgMHgwMGNlLCAweDAwY2YsCisgICAgMHgwMDAwLCAweDAwZDEsIDB4MDBkMiwgMHgwMGQzLCAweDAwZDQsIDB4MDEyMCwgMHgwMGQ2LCAweDAwZDcsCisgICAgMHgwMTFjLCAweDAwZDksIDB4MDBkYSwgMHgwMGRiLCAweDAwZGMsIDB4MDE2YywgMHgwMTVjLCAweDAwZGYsCisgICAgMHgwMGUwLCAweDAwZTEsIDB4MDBlMiwgMHgwMDAwLCAweDAwZTQsIDB4MDEwYiwgMHgwMTA5LCAweDAwZTcsCisgICAgMHgwMGU4LCAweDAwZTksIDB4MDBlYSwgMHgwMGViLCAweDAwZWMsIDB4MDBlZCwgMHgwMGVlLCAweDAwZWYsCisgICAgMHgwMDAwLCAweDAwZjEsIDB4MDBmMiwgMHgwMGYzLCAweDAwZjQsIDB4MDEyMSwgMHgwMGY2LCAweDAwZjcsCisgICAgMHgwMTFkLCAweDAwZjksIDB4MDBmYSwgMHgwMGZiLCAweDAwZmMsIDB4MDE2ZCwgMHgwMTVkLCAweDAyZDksCit9OworCitzdGF0aWMgdW5zaWduZWQgY2hhciBjb25zdCB4bWx0cmFuc2NvZGV0YWJsZV9JU084ODU5XzMgWzQ4ICsgNyAqIDY0XSA9IHsKKyAgICAiXHgwNFx4MDBceDAxXHgwNlx4MDJceDA1XHgwMFx4MDBceDAwXHgwMFx4MDBceDAzXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHg4MFx4ODFceDgyXHg4M1x4ODRceDg1XHg4Nlx4ODdceDg4XHg4OVx4OGFceDhiXHg4Y1x4OGRceDhlXHg4ZiIKKyAgICAiXHg5MFx4OTFceDkyXHg5M1x4OTRceDk1XHg5Nlx4OTdceDk4XHg5OVx4OWFceDliXHg5Y1x4OWRceDllXHg5ZiIKKyAgICAiXHhhMFx4MDBceDAwXHhhM1x4YTRceDAwXHgwMFx4YTdceGE4XHgwMFx4MDBceDAwXHgwMFx4YWRceDAwXHgwMCIKKyAgICAiXHhiMFx4MDBceGIyXHhiM1x4YjRceGI1XHgwMFx4YjdceGI4XHgwMFx4MDBceDAwXHgwMFx4YmRceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceGM2XHhlNlx4YzVceGU1XHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHhkOFx4ZjhceGFiXHhiYiIKKyAgICAiXHhkNVx4ZjVceDAwXHgwMFx4YTZceGI2XHhhMVx4YjFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHhhOVx4YjlceDAwXHgwMFx4YWNceGJjXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceGEyXHhmZlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHhmMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHhkZVx4ZmVceGFhXHhiYSIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHhkZFx4ZmRceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceGFmXHhiZlx4MDBceDAwXHgwMCIKKyAgICAiXHhjMFx4YzFceGMyXHgwMFx4YzRceDAwXHgwMFx4YzdceGM4XHhjOVx4Y2FceGNiXHhjY1x4Y2RceGNlXHhjZiIKKyAgICAiXHgwMFx4ZDFceGQyXHhkM1x4ZDRceDAwXHhkNlx4ZDdceDAwXHhkOVx4ZGFceGRiXHhkY1x4MDBceDAwXHhkZiIKKyAgICAiXHhlMFx4ZTFceGUyXHgwMFx4ZTRceDAwXHgwMFx4ZTdceGU4XHhlOVx4ZWFceGViXHhlY1x4ZWRceGVlXHhlZiIKKyAgICAiXHgwMFx4ZjFceGYyXHhmM1x4ZjRceDAwXHhmNlx4ZjdceDAwXHhmOVx4ZmFceGZiXHhmY1x4MDBceDAwXHgwMCIKK307CisKK3N0YXRpYyB1bnNpZ25lZCBzaG9ydCBjb25zdCB4bWx1bmljb2RldGFibGVfSVNPODg1OV80IFsxMjhdID0geworICAgIDB4MDA4MCwgMHgwMDgxLCAweDAwODIsIDB4MDA4MywgMHgwMDg0LCAweDAwODUsIDB4MDA4NiwgMHgwMDg3LAorICAgIDB4MDA4OCwgMHgwMDg5LCAweDAwOGEsIDB4MDA4YiwgMHgwMDhjLCAweDAwOGQsIDB4MDA4ZSwgMHgwMDhmLAorICAgIDB4MDA5MCwgMHgwMDkxLCAweDAwOTIsIDB4MDA5MywgMHgwMDk0LCAweDAwOTUsIDB4MDA5NiwgMHgwMDk3LAorICAgIDB4MDA5OCwgMHgwMDk5LCAweDAwOWEsIDB4MDA5YiwgMHgwMDljLCAweDAwOWQsIDB4MDA5ZSwgMHgwMDlmLAorICAgIDB4MDBhMCwgMHgwMTA0LCAweDAxMzgsIDB4MDE1NiwgMHgwMGE0LCAweDAxMjgsIDB4MDEzYiwgMHgwMGE3LAorICAgIDB4MDBhOCwgMHgwMTYwLCAweDAxMTIsIDB4MDEyMiwgMHgwMTY2LCAweDAwYWQsIDB4MDE3ZCwgMHgwMGFmLAorICAgIDB4MDBiMCwgMHgwMTA1LCAweDAyZGIsIDB4MDE1NywgMHgwMGI0LCAweDAxMjksIDB4MDEzYywgMHgwMmM3LAorICAgIDB4MDBiOCwgMHgwMTYxLCAweDAxMTMsIDB4MDEyMywgMHgwMTY3LCAweDAxNGEsIDB4MDE3ZSwgMHgwMTRiLAorICAgIDB4MDEwMCwgMHgwMGMxLCAweDAwYzIsIDB4MDBjMywgMHgwMGM0LCAweDAwYzUsIDB4MDBjNiwgMHgwMTJlLAorICAgIDB4MDEwYywgMHgwMGM5LCAweDAxMTgsIDB4MDBjYiwgMHgwMTE2LCAweDAwY2QsIDB4MDBjZSwgMHgwMTJhLAorICAgIDB4MDExMCwgMHgwMTQ1LCAweDAxNGMsIDB4MDEzNiwgMHgwMGQ0LCAweDAwZDUsIDB4MDBkNiwgMHgwMGQ3LAorICAgIDB4MDBkOCwgMHgwMTcyLCAweDAwZGEsIDB4MDBkYiwgMHgwMGRjLCAweDAxNjgsIDB4MDE2YSwgMHgwMGRmLAorICAgIDB4MDEwMSwgMHgwMGUxLCAweDAwZTIsIDB4MDBlMywgMHgwMGU0LCAweDAwZTUsIDB4MDBlNiwgMHgwMTJmLAorICAgIDB4MDEwZCwgMHgwMGU5LCAweDAxMTksIDB4MDBlYiwgMHgwMTE3LCAweDAwZWQsIDB4MDBlZSwgMHgwMTJiLAorICAgIDB4MDExMSwgMHgwMTQ2LCAweDAxNGQsIDB4MDEzNywgMHgwMGY0LCAweDAwZjUsIDB4MDBmNiwgMHgwMGY3LAorICAgIDB4MDBmOCwgMHgwMTczLCAweDAwZmEsIDB4MDBmYiwgMHgwMGZjLCAweDAxNjksIDB4MDE2YiwgMHgwMmQ5LAorfTsKKworc3RhdGljIHVuc2lnbmVkIGNoYXIgY29uc3QgeG1sdHJhbnNjb2RldGFibGVfSVNPODg1OV80IFs0OCArIDYgKiA2NF0gPSB7CisgICAgIlx4MDBceDAwXHgwMVx4MDVceDAyXHgwM1x4MDBceDAwXHgwMFx4MDBceDAwXHgwNFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4ODBceDgxXHg4Mlx4ODNceDg0XHg4NVx4ODZceDg3XHg4OFx4ODlceDhhXHg4Ylx4OGNceDhkXHg4ZVx4OGYiCisgICAgIlx4OTBceDkxXHg5Mlx4OTNceDk0XHg5NVx4OTZceDk3XHg5OFx4OTlceDlhXHg5Ylx4OWNceDlkXHg5ZVx4OWYiCisgICAgIlx4YTBceDAwXHgwMFx4MDBceGE0XHgwMFx4MDBceGE3XHhhOFx4MDBceDAwXHgwMFx4MDBceGFkXHgwMFx4YWYiCisgICAgIlx4YjBceDAwXHgwMFx4MDBceGI0XHgwMFx4MDBceDAwXHhiOFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4YzBceGUwXHgwMFx4MDBceGExXHhiMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4YzhceGU4XHgwMFx4MDAiCisgICAgIlx4ZDBceGYwXHhhYVx4YmFceDAwXHgwMFx4Y2NceGVjXHhjYVx4ZWFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHhhYlx4YmJceDAwXHgwMFx4MDBceDAwXHhhNVx4YjVceGNmXHhlZlx4MDBceDAwXHhjN1x4ZTciCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4ZDNceGYzXHhhMlx4MDBceDAwXHhhNlx4YjZceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHhkMVx4ZjFceDAwXHgwMFx4MDBceGJkXHhiZlx4ZDJceGYyXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4YTNceGIzXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4YTlceGI5XHgwMFx4MDBceDAwXHgwMFx4YWNceGJjXHhkZFx4ZmRceGRlXHhmZVx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHhkOVx4ZjlceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceGFlXHhiZVx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceGI3XHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4ZmZceDAwXHhiMlx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceGMxXHhjMlx4YzNceGM0XHhjNVx4YzZceDAwXHgwMFx4YzlceDAwXHhjYlx4MDBceGNkXHhjZVx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceGQ0XHhkNVx4ZDZceGQ3XHhkOFx4MDBceGRhXHhkYlx4ZGNceDAwXHgwMFx4ZGYiCisgICAgIlx4MDBceGUxXHhlMlx4ZTNceGU0XHhlNVx4ZTZceDAwXHgwMFx4ZTlceDAwXHhlYlx4MDBceGVkXHhlZVx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceGY0XHhmNVx4ZjZceGY3XHhmOFx4MDBceGZhXHhmYlx4ZmNceDAwXHgwMFx4MDAiCit9OworCitzdGF0aWMgdW5zaWduZWQgc2hvcnQgY29uc3QgeG1sdW5pY29kZXRhYmxlX0lTTzg4NTlfNSBbMTI4XSA9IHsKKyAgICAweDAwODAsIDB4MDA4MSwgMHgwMDgyLCAweDAwODMsIDB4MDA4NCwgMHgwMDg1LCAweDAwODYsIDB4MDA4NywKKyAgICAweDAwODgsIDB4MDA4OSwgMHgwMDhhLCAweDAwOGIsIDB4MDA4YywgMHgwMDhkLCAweDAwOGUsIDB4MDA4ZiwKKyAgICAweDAwOTAsIDB4MDA5MSwgMHgwMDkyLCAweDAwOTMsIDB4MDA5NCwgMHgwMDk1LCAweDAwOTYsIDB4MDA5NywKKyAgICAweDAwOTgsIDB4MDA5OSwgMHgwMDlhLCAweDAwOWIsIDB4MDA5YywgMHgwMDlkLCAweDAwOWUsIDB4MDA5ZiwKKyAgICAweDAwYTAsIDB4MDQwMSwgMHgwNDAyLCAweDA0MDMsIDB4MDQwNCwgMHgwNDA1LCAweDA0MDYsIDB4MDQwNywKKyAgICAweDA0MDgsIDB4MDQwOSwgMHgwNDBhLCAweDA0MGIsIDB4MDQwYywgMHgwMGFkLCAweDA0MGUsIDB4MDQwZiwKKyAgICAweDA0MTAsIDB4MDQxMSwgMHgwNDEyLCAweDA0MTMsIDB4MDQxNCwgMHgwNDE1LCAweDA0MTYsIDB4MDQxNywKKyAgICAweDA0MTgsIDB4MDQxOSwgMHgwNDFhLCAweDA0MWIsIDB4MDQxYywgMHgwNDFkLCAweDA0MWUsIDB4MDQxZiwKKyAgICAweDA0MjAsIDB4MDQyMSwgMHgwNDIyLCAweDA0MjMsIDB4MDQyNCwgMHgwNDI1LCAweDA0MjYsIDB4MDQyNywKKyAgICAweDA0MjgsIDB4MDQyOSwgMHgwNDJhLCAweDA0MmIsIDB4MDQyYywgMHgwNDJkLCAweDA0MmUsIDB4MDQyZiwKKyAgICAweDA0MzAsIDB4MDQzMSwgMHgwNDMyLCAweDA0MzMsIDB4MDQzNCwgMHgwNDM1LCAweDA0MzYsIDB4MDQzNywKKyAgICAweDA0MzgsIDB4MDQzOSwgMHgwNDNhLCAweDA0M2IsIDB4MDQzYywgMHgwNDNkLCAweDA0M2UsIDB4MDQzZiwKKyAgICAweDA0NDAsIDB4MDQ0MSwgMHgwNDQyLCAweDA0NDMsIDB4MDQ0NCwgMHgwNDQ1LCAweDA0NDYsIDB4MDQ0NywKKyAgICAweDA0NDgsIDB4MDQ0OSwgMHgwNDRhLCAweDA0NGIsIDB4MDQ0YywgMHgwNDRkLCAweDA0NGUsIDB4MDQ0ZiwKKyAgICAweDIxMTYsIDB4MDQ1MSwgMHgwNDUyLCAweDA0NTMsIDB4MDQ1NCwgMHgwNDU1LCAweDA0NTYsIDB4MDQ1NywKKyAgICAweDA0NTgsIDB4MDQ1OSwgMHgwNDVhLCAweDA0NWIsIDB4MDQ1YywgMHgwMGE3LCAweDA0NWUsIDB4MDQ1ZiwKK307CisKK3N0YXRpYyB1bnNpZ25lZCBjaGFyIGNvbnN0IHhtbHRyYW5zY29kZXRhYmxlX0lTTzg4NTlfNSBbNDggKyA2ICogNjRdID0geworICAgICJceDAwXHgwMFx4MDFceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIgorICAgICJceDAyXHgwM1x4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIgorICAgICJceDAwXHgwMFx4MDRceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIgorICAgICJceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIgorICAgICJceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIgorICAgICJceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIgorICAgICJceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIgorICAgICJceDgwXHg4MVx4ODJceDgzXHg4NFx4ODVceDg2XHg4N1x4ODhceDg5XHg4YVx4OGJceDhjXHg4ZFx4OGVceDhmIgorICAgICJceDkwXHg5MVx4OTJceDkzXHg5NFx4OTVceDk2XHg5N1x4OThceDk5XHg5YVx4OWJceDljXHg5ZFx4OWVceDlmIgorICAgICJceGEwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHhmZFx4MDBceDAwXHgwMFx4MDBceDAwXHhhZFx4MDBceDAwIgorICAgICJceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIgorICAgICJceDAwXHhhMVx4YTJceGEzXHhhNFx4YTVceGE2XHhhN1x4YThceGE5XHhhYVx4YWJceGFjXHgwMFx4YWVceGFmIgorICAgICJceGIwXHhiMVx4YjJceGIzXHhiNFx4YjVceGI2XHhiN1x4YjhceGI5XHhiYVx4YmJceGJjXHhiZFx4YmVceGJmIgorICAgICJceGMwXHhjMVx4YzJceGMzXHhjNFx4YzVceGM2XHhjN1x4YzhceGM5XHhjYVx4Y2JceGNjXHhjZFx4Y2VceGNmIgorICAgICJceGQwXHhkMVx4ZDJceGQzXHhkNFx4ZDVceGQ2XHhkN1x4ZDhceGQ5XHhkYVx4ZGJceGRjXHhkZFx4ZGVceGRmIgorICAgICJceGUwXHhlMVx4ZTJceGUzXHhlNFx4ZTVceGU2XHhlN1x4ZThceGU5XHhlYVx4ZWJceGVjXHhlZFx4ZWVceGVmIgorICAgICJceDAwXHhmMVx4ZjJceGYzXHhmNFx4ZjVceGY2XHhmN1x4ZjhceGY5XHhmYVx4ZmJceGZjXHgwMFx4ZmVceGZmIgorICAgICJceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIgorICAgICJceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIgorICAgICJceDAwXHgwMFx4MDBceDAwXHgwNVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIgorICAgICJceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIgorICAgICJceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIgorICAgICJceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIgorICAgICJceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIgorICAgICJceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceGYwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIgorICAgICJceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIgorICAgICJceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIgorfTsKKworc3RhdGljIHVuc2lnbmVkIHNob3J0IGNvbnN0IHhtbHVuaWNvZGV0YWJsZV9JU084ODU5XzYgWzEyOF0gPSB7CisgICAgMHgwMDgwLCAweDAwODEsIDB4MDA4MiwgMHgwMDgzLCAweDAwODQsIDB4MDA4NSwgMHgwMDg2LCAweDAwODcsCisgICAgMHgwMDg4LCAweDAwODksIDB4MDA4YSwgMHgwMDhiLCAweDAwOGMsIDB4MDA4ZCwgMHgwMDhlLCAweDAwOGYsCisgICAgMHgwMDkwLCAweDAwOTEsIDB4MDA5MiwgMHgwMDkzLCAweDAwOTQsIDB4MDA5NSwgMHgwMDk2LCAweDAwOTcsCisgICAgMHgwMDk4LCAweDAwOTksIDB4MDA5YSwgMHgwMDliLCAweDAwOWMsIDB4MDA5ZCwgMHgwMDllLCAweDAwOWYsCisgICAgMHgwMGEwLCAweDAwMDAsIDB4MDAwMCwgMHgwMDAwLCAweDAwYTQsIDB4MDAwMCwgMHgwMDAwLCAweDAwMDAsCisgICAgMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwgMHgwMDAwLCAweDA2MGMsIDB4MDBhZCwgMHgwMDAwLCAweDAwMDAsCisgICAgMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwgMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwgMHgwMDAwLCAweDAwMDAsCisgICAgMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwgMHgwNjFiLCAweDAwMDAsIDB4MDAwMCwgMHgwMDAwLCAweDA2MWYsCisgICAgMHgwMDAwLCAweDA2MjEsIDB4MDYyMiwgMHgwNjIzLCAweDA2MjQsIDB4MDYyNSwgMHgwNjI2LCAweDA2MjcsCisgICAgMHgwNjI4LCAweDA2MjksIDB4MDYyYSwgMHgwNjJiLCAweDA2MmMsIDB4MDYyZCwgMHgwNjJlLCAweDA2MmYsCisgICAgMHgwNjMwLCAweDA2MzEsIDB4MDYzMiwgMHgwNjMzLCAweDA2MzQsIDB4MDYzNSwgMHgwNjM2LCAweDA2MzcsCisgICAgMHgwNjM4LCAweDA2MzksIDB4MDYzYSwgMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwgMHgwMDAwLCAweDAwMDAsCisgICAgMHgwNjQwLCAweDA2NDEsIDB4MDY0MiwgMHgwNjQzLCAweDA2NDQsIDB4MDY0NSwgMHgwNjQ2LCAweDA2NDcsCisgICAgMHgwNjQ4LCAweDA2NDksIDB4MDY0YSwgMHgwNjRiLCAweDA2NGMsIDB4MDY0ZCwgMHgwNjRlLCAweDA2NGYsCisgICAgMHgwNjUwLCAweDA2NTEsIDB4MDY1MiwgMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwgMHgwMDAwLCAweDAwMDAsCisgICAgMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwgMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwgMHgwMDAwLCAweDAwMDAsCit9OworCitzdGF0aWMgdW5zaWduZWQgY2hhciBjb25zdCB4bWx0cmFuc2NvZGV0YWJsZV9JU084ODU5XzYgWzQ4ICsgNSAqIDY0XSA9IHsKKyAgICAiXHgwMlx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAzXHgwNFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHg4MFx4ODFceDgyXHg4M1x4ODRceDg1XHg4Nlx4ODdceDg4XHg4OVx4OGFceDhiXHg4Y1x4OGRceDhlXHg4ZiIKKyAgICAiXHg5MFx4OTFceDkyXHg5M1x4OTRceDk1XHg5Nlx4OTdceDk4XHg5OVx4OWFceDliXHg5Y1x4OWRceDllXHg5ZiIKKyAgICAiXHhhMFx4MDBceDAwXHgwMFx4YTRceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4YWRceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHhmZlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHhhY1x4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceGJiXHgwMFx4MDBceDAwXHhiZiIKKyAgICAiXHgwMFx4YzFceGMyXHhjM1x4YzRceGM1XHhjNlx4YzdceGM4XHhjOVx4Y2FceGNiXHhjY1x4Y2RceGNlXHhjZiIKKyAgICAiXHhkMFx4ZDFceGQyXHhkM1x4ZDRceGQ1XHhkNlx4ZDdceGQ4XHhkOVx4ZGFceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHhlMFx4ZTFceGUyXHhlM1x4ZTRceGU1XHhlNlx4ZTdceGU4XHhlOVx4ZWFceGViXHhlY1x4ZWRceGVlXHhlZiIKKyAgICAiXHhmMFx4ZjFceGYyXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKK307CisKK3N0YXRpYyB1bnNpZ25lZCBzaG9ydCBjb25zdCB4bWx1bmljb2RldGFibGVfSVNPODg1OV83IFsxMjhdID0geworICAgIDB4MDA4MCwgMHgwMDgxLCAweDAwODIsIDB4MDA4MywgMHgwMDg0LCAweDAwODUsIDB4MDA4NiwgMHgwMDg3LAorICAgIDB4MDA4OCwgMHgwMDg5LCAweDAwOGEsIDB4MDA4YiwgMHgwMDhjLCAweDAwOGQsIDB4MDA4ZSwgMHgwMDhmLAorICAgIDB4MDA5MCwgMHgwMDkxLCAweDAwOTIsIDB4MDA5MywgMHgwMDk0LCAweDAwOTUsIDB4MDA5NiwgMHgwMDk3LAorICAgIDB4MDA5OCwgMHgwMDk5LCAweDAwOWEsIDB4MDA5YiwgMHgwMDljLCAweDAwOWQsIDB4MDA5ZSwgMHgwMDlmLAorICAgIDB4MDBhMCwgMHgyMDE4LCAweDIwMTksIDB4MDBhMywgMHgwMDAwLCAweDAwMDAsIDB4MDBhNiwgMHgwMGE3LAorICAgIDB4MDBhOCwgMHgwMGE5LCAweDAwMDAsIDB4MDBhYiwgMHgwMGFjLCAweDAwYWQsIDB4MDAwMCwgMHgyMDE1LAorICAgIDB4MDBiMCwgMHgwMGIxLCAweDAwYjIsIDB4MDBiMywgMHgwMzg0LCAweDAzODUsIDB4MDM4NiwgMHgwMGI3LAorICAgIDB4MDM4OCwgMHgwMzg5LCAweDAzOGEsIDB4MDBiYiwgMHgwMzhjLCAweDAwYmQsIDB4MDM4ZSwgMHgwMzhmLAorICAgIDB4MDM5MCwgMHgwMzkxLCAweDAzOTIsIDB4MDM5MywgMHgwMzk0LCAweDAzOTUsIDB4MDM5NiwgMHgwMzk3LAorICAgIDB4MDM5OCwgMHgwMzk5LCAweDAzOWEsIDB4MDM5YiwgMHgwMzljLCAweDAzOWQsIDB4MDM5ZSwgMHgwMzlmLAorICAgIDB4MDNhMCwgMHgwM2ExLCAweDAwMDAsIDB4MDNhMywgMHgwM2E0LCAweDAzYTUsIDB4MDNhNiwgMHgwM2E3LAorICAgIDB4MDNhOCwgMHgwM2E5LCAweDAzYWEsIDB4MDNhYiwgMHgwM2FjLCAweDAzYWQsIDB4MDNhZSwgMHgwM2FmLAorICAgIDB4MDNiMCwgMHgwM2IxLCAweDAzYjIsIDB4MDNiMywgMHgwM2I0LCAweDAzYjUsIDB4MDNiNiwgMHgwM2I3LAorICAgIDB4MDNiOCwgMHgwM2I5LCAweDAzYmEsIDB4MDNiYiwgMHgwM2JjLCAweDAzYmQsIDB4MDNiZSwgMHgwM2JmLAorICAgIDB4MDNjMCwgMHgwM2MxLCAweDAzYzIsIDB4MDNjMywgMHgwM2M0LCAweDAzYzUsIDB4MDNjNiwgMHgwM2M3LAorICAgIDB4MDNjOCwgMHgwM2M5LCAweDAzY2EsIDB4MDNjYiwgMHgwM2NjLCAweDAzY2QsIDB4MDNjZSwgMHgwMDAwLAorfTsKKworc3RhdGljIHVuc2lnbmVkIGNoYXIgY29uc3QgeG1sdHJhbnNjb2RldGFibGVfSVNPODg1OV83IFs0OCArIDcgKiA2NF0gPSB7CisgICAgIlx4MDRceDAwXHgwMVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwNVx4MDYiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4ODBceDgxXHg4Mlx4ODNceDg0XHg4NVx4ODZceDg3XHg4OFx4ODlceDhhXHg4Ylx4OGNceDhkXHg4ZVx4OGYiCisgICAgIlx4OTBceDkxXHg5Mlx4OTNceDk0XHg5NVx4OTZceDk3XHg5OFx4OTlceDlhXHg5Ylx4OWNceDlkXHg5ZVx4OWYiCisgICAgIlx4YTBceDAwXHgwMFx4YTNceDAwXHgwMFx4YTZceGE3XHhhOFx4YTlceDAwXHhhYlx4YWNceGFkXHgwMFx4MDAiCisgICAgIlx4YjBceGIxXHhiMlx4YjNceDAwXHgwMFx4MDBceGI3XHgwMFx4MDBceDAwXHhiYlx4MDBceGJkXHgwMFx4MDAiCisgICAgIlx4MDNceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHhhZlx4MDBceDAwXHhhMVx4YTJceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4ZmZceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceGI0XHhiNVx4YjZceDAwXHhiOFx4YjlceGJhXHgwMFx4YmNceDAwXHhiZVx4YmYiCisgICAgIlx4YzBceGMxXHhjMlx4YzNceGM0XHhjNVx4YzZceGM3XHhjOFx4YzlceGNhXHhjYlx4Y2NceGNkXHhjZVx4Y2YiCisgICAgIlx4ZDBceGQxXHgwMFx4ZDNceGQ0XHhkNVx4ZDZceGQ3XHhkOFx4ZDlceGRhXHhkYlx4ZGNceGRkXHhkZVx4ZGYiCisgICAgIlx4ZTBceGUxXHhlMlx4ZTNceGU0XHhlNVx4ZTZceGU3XHhlOFx4ZTlceGVhXHhlYlx4ZWNceGVkXHhlZVx4ZWYiCisgICAgIlx4ZjBceGYxXHhmMlx4ZjNceGY0XHhmNVx4ZjZceGY3XHhmOFx4ZjlceGZhXHhmYlx4ZmNceGZkXHhmZVx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCit9OworCitzdGF0aWMgdW5zaWduZWQgc2hvcnQgY29uc3QgeG1sdW5pY29kZXRhYmxlX0lTTzg4NTlfOCBbMTI4XSA9IHsKKyAgICAweDAwODAsIDB4MDA4MSwgMHgwMDgyLCAweDAwODMsIDB4MDA4NCwgMHgwMDg1LCAweDAwODYsIDB4MDA4NywKKyAgICAweDAwODgsIDB4MDA4OSwgMHgwMDhhLCAweDAwOGIsIDB4MDA4YywgMHgwMDhkLCAweDAwOGUsIDB4MDA4ZiwKKyAgICAweDAwOTAsIDB4MDA5MSwgMHgwMDkyLCAweDAwOTMsIDB4MDA5NCwgMHgwMDk1LCAweDAwOTYsIDB4MDA5NywKKyAgICAweDAwOTgsIDB4MDA5OSwgMHgwMDlhLCAweDAwOWIsIDB4MDA5YywgMHgwMDlkLCAweDAwOWUsIDB4MDA5ZiwKKyAgICAweDAwYTAsIDB4MDAwMCwgMHgwMGEyLCAweDAwYTMsIDB4MDBhNCwgMHgwMGE1LCAweDAwYTYsIDB4MDBhNywKKyAgICAweDAwYTgsIDB4MDBhOSwgMHgwMGQ3LCAweDAwYWIsIDB4MDBhYywgMHgwMGFkLCAweDAwYWUsIDB4MDBhZiwKKyAgICAweDAwYjAsIDB4MDBiMSwgMHgwMGIyLCAweDAwYjMsIDB4MDBiNCwgMHgwMGI1LCAweDAwYjYsIDB4MDBiNywKKyAgICAweDAwYjgsIDB4MDBiOSwgMHgwMGY3LCAweDAwYmIsIDB4MDBiYywgMHgwMGJkLCAweDAwYmUsIDB4MDAwMCwKKyAgICAweDAwMDAsIDB4MDAwMCwgMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwgMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwKKyAgICAweDAwMDAsIDB4MDAwMCwgMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwgMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwKKyAgICAweDAwMDAsIDB4MDAwMCwgMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwgMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwKKyAgICAweDAwMDAsIDB4MDAwMCwgMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwgMHgwMDAwLCAweDAwMDAsIDB4MjAxNywKKyAgICAweDA1ZDAsIDB4MDVkMSwgMHgwNWQyLCAweDA1ZDMsIDB4MDVkNCwgMHgwNWQ1LCAweDA1ZDYsIDB4MDVkNywKKyAgICAweDA1ZDgsIDB4MDVkOSwgMHgwNWRhLCAweDA1ZGIsIDB4MDVkYywgMHgwNWRkLCAweDA1ZGUsIDB4MDVkZiwKKyAgICAweDA1ZTAsIDB4MDVlMSwgMHgwNWUyLCAweDA1ZTMsIDB4MDVlNCwgMHgwNWU1LCAweDA1ZTYsIDB4MDVlNywKKyAgICAweDA1ZTgsIDB4MDVlOSwgMHgwNWVhLCAweDAwMDAsIDB4MDAwMCwgMHgyMDBlLCAweDIwMGYsIDB4MDAwMCwKK307CisKK3N0YXRpYyB1bnNpZ25lZCBjaGFyIGNvbnN0IHhtbHRyYW5zY29kZXRhYmxlX0lTTzg4NTlfOCBbNDggKyA3ICogNjRdID0geworICAgICJceDAyXHgwMFx4MDFceDAzXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIgorICAgICJceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwNlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIgorICAgICJceDAwXHgwMFx4MDRceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIgorICAgICJceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIgorICAgICJceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIgorICAgICJceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIgorICAgICJceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIgorICAgICJceDgwXHg4MVx4ODJceDgzXHg4NFx4ODVceDg2XHg4N1x4ODhceDg5XHg4YVx4OGJceDhjXHg4ZFx4OGVceDhmIgorICAgICJceDkwXHg5MVx4OTJceDkzXHg5NFx4OTVceDk2XHg5N1x4OThceDk5XHg5YVx4OWJceDljXHg5ZFx4OWVceDlmIgorICAgICJceGEwXHgwMFx4YTJceGEzXHhhNFx4YTVceGE2XHhhN1x4YThceGE5XHgwMFx4YWJceGFjXHhhZFx4YWVceGFmIgorICAgICJceGIwXHhiMVx4YjJceGIzXHhiNFx4YjVceGI2XHhiN1x4YjhceGI5XHgwMFx4YmJceGJjXHhiZFx4YmVceDAwIgorICAgICJceGZmXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIgorICAgICJceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIgorICAgICJceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIgorICAgICJceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIgorICAgICJceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIgorICAgICJceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHhhYVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIgorICAgICJceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIgorICAgICJceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHhiYVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIgorICAgICJceDA1XHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIgorICAgICJceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIgorICAgICJceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIgorICAgICJceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIgorICAgICJceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4ZmRceGZlIgorICAgICJceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHhkZlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIgorICAgICJceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIgorICAgICJceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIgorICAgICJceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIgorICAgICJceGUwXHhlMVx4ZTJceGUzXHhlNFx4ZTVceGU2XHhlN1x4ZThceGU5XHhlYVx4ZWJceGVjXHhlZFx4ZWVceGVmIgorICAgICJceGYwXHhmMVx4ZjJceGYzXHhmNFx4ZjVceGY2XHhmN1x4ZjhceGY5XHhmYVx4MDBceDAwXHgwMFx4MDBceDAwIgorICAgICJceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIgorfTsKKworc3RhdGljIHVuc2lnbmVkIHNob3J0IGNvbnN0IHhtbHVuaWNvZGV0YWJsZV9JU084ODU5XzkgWzEyOF0gPSB7CisgICAgMHgwMDgwLCAweDAwODEsIDB4MDA4MiwgMHgwMDgzLCAweDAwODQsIDB4MDA4NSwgMHgwMDg2LCAweDAwODcsCisgICAgMHgwMDg4LCAweDAwODksIDB4MDA4YSwgMHgwMDhiLCAweDAwOGMsIDB4MDA4ZCwgMHgwMDhlLCAweDAwOGYsCisgICAgMHgwMDkwLCAweDAwOTEsIDB4MDA5MiwgMHgwMDkzLCAweDAwOTQsIDB4MDA5NSwgMHgwMDk2LCAweDAwOTcsCisgICAgMHgwMDk4LCAweDAwOTksIDB4MDA5YSwgMHgwMDliLCAweDAwOWMsIDB4MDA5ZCwgMHgwMDllLCAweDAwOWYsCisgICAgMHgwMGEwLCAweDAwYTEsIDB4MDBhMiwgMHgwMGEzLCAweDAwYTQsIDB4MDBhNSwgMHgwMGE2LCAweDAwYTcsCisgICAgMHgwMGE4LCAweDAwYTksIDB4MDBhYSwgMHgwMGFiLCAweDAwYWMsIDB4MDBhZCwgMHgwMGFlLCAweDAwYWYsCisgICAgMHgwMGIwLCAweDAwYjEsIDB4MDBiMiwgMHgwMGIzLCAweDAwYjQsIDB4MDBiNSwgMHgwMGI2LCAweDAwYjcsCisgICAgMHgwMGI4LCAweDAwYjksIDB4MDBiYSwgMHgwMGJiLCAweDAwYmMsIDB4MDBiZCwgMHgwMGJlLCAweDAwYmYsCisgICAgMHgwMGMwLCAweDAwYzEsIDB4MDBjMiwgMHgwMGMzLCAweDAwYzQsIDB4MDBjNSwgMHgwMGM2LCAweDAwYzcsCisgICAgMHgwMGM4LCAweDAwYzksIDB4MDBjYSwgMHgwMGNiLCAweDAwY2MsIDB4MDBjZCwgMHgwMGNlLCAweDAwY2YsCisgICAgMHgwMTFlLCAweDAwZDEsIDB4MDBkMiwgMHgwMGQzLCAweDAwZDQsIDB4MDBkNSwgMHgwMGQ2LCAweDAwZDcsCisgICAgMHgwMGQ4LCAweDAwZDksIDB4MDBkYSwgMHgwMGRiLCAweDAwZGMsIDB4MDEzMCwgMHgwMTVlLCAweDAwZGYsCisgICAgMHgwMGUwLCAweDAwZTEsIDB4MDBlMiwgMHgwMGUzLCAweDAwZTQsIDB4MDBlNSwgMHgwMGU2LCAweDAwZTcsCisgICAgMHgwMGU4LCAweDAwZTksIDB4MDBlYSwgMHgwMGViLCAweDAwZWMsIDB4MDBlZCwgMHgwMGVlLCAweDAwZWYsCisgICAgMHgwMTFmLCAweDAwZjEsIDB4MDBmMiwgMHgwMGYzLCAweDAwZjQsIDB4MDBmNSwgMHgwMGY2LCAweDAwZjcsCisgICAgMHgwMGY4LCAweDAwZjksIDB4MDBmYSwgMHgwMGZiLCAweDAwZmMsIDB4MDEzMSwgMHgwMTVmLCAweDAwZmYsCit9OworCitzdGF0aWMgdW5zaWduZWQgY2hhciBjb25zdCB4bWx0cmFuc2NvZGV0YWJsZV9JU084ODU5XzkgWzQ4ICsgNSAqIDY0XSA9IHsKKyAgICAiXHgwMFx4MDBceDAxXHgwMlx4MDNceDA0XHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHg4MFx4ODFceDgyXHg4M1x4ODRceDg1XHg4Nlx4ODdceDg4XHg4OVx4OGFceDhiXHg4Y1x4OGRceDhlXHg4ZiIKKyAgICAiXHg5MFx4OTFceDkyXHg5M1x4OTRceDk1XHg5Nlx4OTdceDk4XHg5OVx4OWFceDliXHg5Y1x4OWRceDllXHg5ZiIKKyAgICAiXHhhMFx4YTFceGEyXHhhM1x4YTRceGE1XHhhNlx4YTdceGE4XHhhOVx4YWFceGFiXHhhY1x4YWRceGFlXHhhZiIKKyAgICAiXHhiMFx4YjFceGIyXHhiM1x4YjRceGI1XHhiNlx4YjdceGI4XHhiOVx4YmFceGJiXHhiY1x4YmRceGJlXHhiZiIKKyAgICAiXHhjMFx4YzFceGMyXHhjM1x4YzRceGM1XHhjNlx4YzdceGM4XHhjOVx4Y2FceGNiXHhjY1x4Y2RceGNlXHhjZiIKKyAgICAiXHgwMFx4ZDFceGQyXHhkM1x4ZDRceGQ1XHhkNlx4ZDdceGQ4XHhkOVx4ZGFceGRiXHhkY1x4MDBceDAwXHhkZiIKKyAgICAiXHhlMFx4ZTFceGUyXHhlM1x4ZTRceGU1XHhlNlx4ZTdceGU4XHhlOVx4ZWFceGViXHhlY1x4ZWRceGVlXHhlZiIKKyAgICAiXHgwMFx4ZjFceGYyXHhmM1x4ZjRceGY1XHhmNlx4ZjdceGY4XHhmOVx4ZmFceGZiXHhmY1x4MDBceDAwXHhmZiIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceGQwXHhmMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHhkZFx4ZmRceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceGRlXHhmZSIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKK307CisKK3N0YXRpYyB1bnNpZ25lZCBzaG9ydCBjb25zdCB4bWx1bmljb2RldGFibGVfSVNPODg1OV8xMCBbMTI4XSA9IHsKKyAgICAweDAwODAsIDB4MDA4MSwgMHgwMDgyLCAweDAwODMsIDB4MDA4NCwgMHgwMDg1LCAweDAwODYsIDB4MDA4NywKKyAgICAweDAwODgsIDB4MDA4OSwgMHgwMDhhLCAweDAwOGIsIDB4MDA4YywgMHgwMDhkLCAweDAwOGUsIDB4MDA4ZiwKKyAgICAweDAwOTAsIDB4MDA5MSwgMHgwMDkyLCAweDAwOTMsIDB4MDA5NCwgMHgwMDk1LCAweDAwOTYsIDB4MDA5NywKKyAgICAweDAwOTgsIDB4MDA5OSwgMHgwMDlhLCAweDAwOWIsIDB4MDA5YywgMHgwMDlkLCAweDAwOWUsIDB4MDA5ZiwKKyAgICAweDAwYTAsIDB4MDEwNCwgMHgwMTEyLCAweDAxMjIsIDB4MDEyYSwgMHgwMTI4LCAweDAxMzYsIDB4MDBhNywKKyAgICAweDAxM2IsIDB4MDExMCwgMHgwMTYwLCAweDAxNjYsIDB4MDE3ZCwgMHgwMGFkLCAweDAxNmEsIDB4MDE0YSwKKyAgICAweDAwYjAsIDB4MDEwNSwgMHgwMTEzLCAweDAxMjMsIDB4MDEyYiwgMHgwMTI5LCAweDAxMzcsIDB4MDBiNywKKyAgICAweDAxM2MsIDB4MDExMSwgMHgwMTYxLCAweDAxNjcsIDB4MDE3ZSwgMHgyMDE1LCAweDAxNmIsIDB4MDE0YiwKKyAgICAweDAxMDAsIDB4MDBjMSwgMHgwMGMyLCAweDAwYzMsIDB4MDBjNCwgMHgwMGM1LCAweDAwYzYsIDB4MDEyZSwKKyAgICAweDAxMGMsIDB4MDBjOSwgMHgwMTE4LCAweDAwY2IsIDB4MDExNiwgMHgwMGNkLCAweDAwY2UsIDB4MDBjZiwKKyAgICAweDAwZDAsIDB4MDE0NSwgMHgwMTRjLCAweDAwZDMsIDB4MDBkNCwgMHgwMGQ1LCAweDAwZDYsIDB4MDE2OCwKKyAgICAweDAwZDgsIDB4MDE3MiwgMHgwMGRhLCAweDAwZGIsIDB4MDBkYywgMHgwMGRkLCAweDAwZGUsIDB4MDBkZiwKKyAgICAweDAxMDEsIDB4MDBlMSwgMHgwMGUyLCAweDAwZTMsIDB4MDBlNCwgMHgwMGU1LCAweDAwZTYsIDB4MDEyZiwKKyAgICAweDAxMGQsIDB4MDBlOSwgMHgwMTE5LCAweDAwZWIsIDB4MDExNywgMHgwMGVkLCAweDAwZWUsIDB4MDBlZiwKKyAgICAweDAwZjAsIDB4MDE0NiwgMHgwMTRkLCAweDAwZjMsIDB4MDBmNCwgMHgwMGY1LCAweDAwZjYsIDB4MDE2OSwKKyAgICAweDAwZjgsIDB4MDE3MywgMHgwMGZhLCAweDAwZmIsIDB4MDBmYywgMHgwMGZkLCAweDAwZmUsIDB4MDEzOCwKK307CisKK3N0YXRpYyB1bnNpZ25lZCBjaGFyIGNvbnN0IHhtbHRyYW5zY29kZXRhYmxlX0lTTzg4NTlfMTAgWzQ4ICsgNyAqIDY0XSA9IHsKKyAgICAiXHgwMFx4MDBceDAxXHgwNlx4MDJceDAzXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDA0XHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHg4MFx4ODFceDgyXHg4M1x4ODRceDg1XHg4Nlx4ODdceDg4XHg4OVx4OGFceDhiXHg4Y1x4OGRceDhlXHg4ZiIKKyAgICAiXHg5MFx4OTFceDkyXHg5M1x4OTRceDk1XHg5Nlx4OTdceDk4XHg5OVx4OWFceDliXHg5Y1x4OWRceDllXHg5ZiIKKyAgICAiXHhhMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4YTdceDAwXHgwMFx4MDBceDAwXHgwMFx4YWRceDAwXHgwMCIKKyAgICAiXHhiMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4YjdceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHhjMFx4ZTBceDAwXHgwMFx4YTFceGIxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHhjOFx4ZThceDAwXHgwMCIKKyAgICAiXHhhOVx4YjlceGEyXHhiMlx4MDBceDAwXHhjY1x4ZWNceGNhXHhlYVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceGEzXHhiM1x4MDBceDAwXHgwMFx4MDBceGE1XHhiNVx4YTRceGI0XHgwMFx4MDBceGM3XHhlNyIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHhhNlx4YjZceGZmXHgwMFx4MDBceGE4XHhiOFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceGQxXHhmMVx4MDBceDAwXHgwMFx4YWZceGJmXHhkMlx4ZjJceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHhhYVx4YmFceDAwXHgwMFx4MDBceDAwXHhhYlx4YmJceGQ3XHhmN1x4YWVceGJlXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceGQ5XHhmOVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4YWNceGJjXHgwMCIKKyAgICAiXHgwNVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceGJkXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4YzFceGMyXHhjM1x4YzRceGM1XHhjNlx4MDBceDAwXHhjOVx4MDBceGNiXHgwMFx4Y2RceGNlXHhjZiIKKyAgICAiXHhkMFx4MDBceDAwXHhkM1x4ZDRceGQ1XHhkNlx4MDBceGQ4XHgwMFx4ZGFceGRiXHhkY1x4ZGRceGRlXHhkZiIKKyAgICAiXHgwMFx4ZTFceGUyXHhlM1x4ZTRceGU1XHhlNlx4MDBceDAwXHhlOVx4MDBceGViXHgwMFx4ZWRceGVlXHhlZiIKKyAgICAiXHhmMFx4MDBceDAwXHhmM1x4ZjRceGY1XHhmNlx4MDBceGY4XHgwMFx4ZmFceGZiXHhmY1x4ZmRceGZlXHgwMCIKK307CisKK3N0YXRpYyB1bnNpZ25lZCBzaG9ydCBjb25zdCB4bWx1bmljb2RldGFibGVfSVNPODg1OV8xMSBbMTI4XSA9IHsKKyAgICAweDAwODAsIDB4MDA4MSwgMHgwMDgyLCAweDAwODMsIDB4MDA4NCwgMHgwMDg1LCAweDAwODYsIDB4MDA4NywKKyAgICAweDAwODgsIDB4MDA4OSwgMHgwMDhhLCAweDAwOGIsIDB4MDA4YywgMHgwMDhkLCAweDAwOGUsIDB4MDA4ZiwKKyAgICAweDAwOTAsIDB4MDA5MSwgMHgwMDkyLCAweDAwOTMsIDB4MDA5NCwgMHgwMDk1LCAweDAwOTYsIDB4MDA5NywKKyAgICAweDAwOTgsIDB4MDA5OSwgMHgwMDlhLCAweDAwOWIsIDB4MDA5YywgMHgwMDlkLCAweDAwOWUsIDB4MDA5ZiwKKyAgICAweDAwYTAsIDB4MGUwMSwgMHgwZTAyLCAweDBlMDMsIDB4MGUwNCwgMHgwZTA1LCAweDBlMDYsIDB4MGUwNywKKyAgICAweDBlMDgsIDB4MGUwOSwgMHgwZTBhLCAweDBlMGIsIDB4MGUwYywgMHgwZTBkLCAweDBlMGUsIDB4MGUwZiwKKyAgICAweDBlMTAsIDB4MGUxMSwgMHgwZTEyLCAweDBlMTMsIDB4MGUxNCwgMHgwZTE1LCAweDBlMTYsIDB4MGUxNywKKyAgICAweDBlMTgsIDB4MGUxOSwgMHgwZTFhLCAweDBlMWIsIDB4MGUxYywgMHgwZTFkLCAweDBlMWUsIDB4MGUxZiwKKyAgICAweDBlMjAsIDB4MGUyMSwgMHgwZTIyLCAweDBlMjMsIDB4MGUyNCwgMHgwZTI1LCAweDBlMjYsIDB4MGUyNywKKyAgICAweDBlMjgsIDB4MGUyOSwgMHgwZTJhLCAweDBlMmIsIDB4MGUyYywgMHgwZTJkLCAweDBlMmUsIDB4MGUyZiwKKyAgICAweDBlMzAsIDB4MGUzMSwgMHgwZTMyLCAweDBlMzMsIDB4MGUzNCwgMHgwZTM1LCAweDBlMzYsIDB4MGUzNywKKyAgICAweDBlMzgsIDB4MGUzOSwgMHgwZTNhLCAweDAwMDAsIDB4MDAwMCwgMHgwMDAwLCAweDAwMDAsIDB4MGUzZiwKKyAgICAweDBlNDAsIDB4MGU0MSwgMHgwZTQyLCAweDBlNDMsIDB4MGU0NCwgMHgwZTQ1LCAweDBlNDYsIDB4MGU0NywKKyAgICAweDBlNDgsIDB4MGU0OSwgMHgwZTRhLCAweDBlNGIsIDB4MGU0YywgMHgwZTRkLCAweDBlNGUsIDB4MGU0ZiwKKyAgICAweDBlNTAsIDB4MGU1MSwgMHgwZTUyLCAweDBlNTMsIDB4MGU1NCwgMHgwZTU1LCAweDBlNTYsIDB4MGU1NywKKyAgICAweDBlNTgsIDB4MGU1OSwgMHgwZTVhLCAweDBlNWIsIDB4MDAwMCwgMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwKK307CisKK3N0YXRpYyB1bnNpZ25lZCBjaGFyIGNvbnN0IHhtbHRyYW5zY29kZXRhYmxlX0lTTzg4NTlfMTEgWzQ4ICsgNiAqIDY0XSA9IHsKKyAgICAiXHgwNFx4MDBceDAxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHg4MFx4ODFceDgyXHg4M1x4ODRceDg1XHg4Nlx4ODdceDg4XHg4OVx4OGFceDhiXHg4Y1x4OGRceDhlXHg4ZiIKKyAgICAiXHg5MFx4OTFceDkyXHg5M1x4OTRceDk1XHg5Nlx4OTdceDk4XHg5OVx4OWFceDliXHg5Y1x4OWRceDllXHg5ZiIKKyAgICAiXHhhMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAzXHgwNVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4YTFceGEyXHhhM1x4YTRceGE1XHhhNlx4YTdceGE4XHhhOVx4YWFceGFiXHhhY1x4YWRceGFlXHhhZiIKKyAgICAiXHhiMFx4YjFceGIyXHhiM1x4YjRceGI1XHhiNlx4YjdceGI4XHhiOVx4YmFceGJiXHhiY1x4YmRceGJlXHhiZiIKKyAgICAiXHhjMFx4YzFceGMyXHhjM1x4YzRceGM1XHhjNlx4YzdceGM4XHhjOVx4Y2FceGNiXHhjY1x4Y2RceGNlXHhjZiIKKyAgICAiXHhkMFx4ZDFceGQyXHhkM1x4ZDRceGQ1XHhkNlx4ZDdceGQ4XHhkOVx4ZGFceDAwXHgwMFx4MDBceDAwXHhkZiIKKyAgICAiXHhmZlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHhlMFx4ZTFceGUyXHhlM1x4ZTRceGU1XHhlNlx4ZTdceGU4XHhlOVx4ZWFceGViXHhlY1x4ZWRceGVlXHhlZiIKKyAgICAiXHhmMFx4ZjFceGYyXHhmM1x4ZjRceGY1XHhmNlx4ZjdceGY4XHhmOVx4ZmFceGZiXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKK307CisKK3N0YXRpYyB1bnNpZ25lZCBzaG9ydCBjb25zdCB4bWx1bmljb2RldGFibGVfSVNPODg1OV8xMyBbMTI4XSA9IHsKKyAgICAweDAwODAsIDB4MDA4MSwgMHgwMDgyLCAweDAwODMsIDB4MDA4NCwgMHgwMDg1LCAweDAwODYsIDB4MDA4NywKKyAgICAweDAwODgsIDB4MDA4OSwgMHgwMDhhLCAweDAwOGIsIDB4MDA4YywgMHgwMDhkLCAweDAwOGUsIDB4MDA4ZiwKKyAgICAweDAwOTAsIDB4MDA5MSwgMHgwMDkyLCAweDAwOTMsIDB4MDA5NCwgMHgwMDk1LCAweDAwOTYsIDB4MDA5NywKKyAgICAweDAwOTgsIDB4MDA5OSwgMHgwMDlhLCAweDAwOWIsIDB4MDA5YywgMHgwMDlkLCAweDAwOWUsIDB4MDA5ZiwKKyAgICAweDAwYTAsIDB4MjAxZCwgMHgwMGEyLCAweDAwYTMsIDB4MDBhNCwgMHgyMDFlLCAweDAwYTYsIDB4MDBhNywKKyAgICAweDAwZDgsIDB4MDBhOSwgMHgwMTU2LCAweDAwYWIsIDB4MDBhYywgMHgwMGFkLCAweDAwYWUsIDB4MDBjNiwKKyAgICAweDAwYjAsIDB4MDBiMSwgMHgwMGIyLCAweDAwYjMsIDB4MjAxYywgMHgwMGI1LCAweDAwYjYsIDB4MDBiNywKKyAgICAweDAwZjgsIDB4MDBiOSwgMHgwMTU3LCAweDAwYmIsIDB4MDBiYywgMHgwMGJkLCAweDAwYmUsIDB4MDBlNiwKKyAgICAweDAxMDQsIDB4MDEyZSwgMHgwMTAwLCAweDAxMDYsIDB4MDBjNCwgMHgwMGM1LCAweDAxMTgsIDB4MDExMiwKKyAgICAweDAxMGMsIDB4MDBjOSwgMHgwMTc5LCAweDAxMTYsIDB4MDEyMiwgMHgwMTM2LCAweDAxMmEsIDB4MDEzYiwKKyAgICAweDAxNjAsIDB4MDE0MywgMHgwMTQ1LCAweDAwZDMsIDB4MDE0YywgMHgwMGQ1LCAweDAwZDYsIDB4MDBkNywKKyAgICAweDAxNzIsIDB4MDE0MSwgMHgwMTVhLCAweDAxNmEsIDB4MDBkYywgMHgwMTdiLCAweDAxN2QsIDB4MDBkZiwKKyAgICAweDAxMDUsIDB4MDEyZiwgMHgwMTAxLCAweDAxMDcsIDB4MDBlNCwgMHgwMGU1LCAweDAxMTksIDB4MDExMywKKyAgICAweDAxMGQsIDB4MDBlOSwgMHgwMTdhLCAweDAxMTcsIDB4MDEyMywgMHgwMTM3LCAweDAxMmIsIDB4MDEzYywKKyAgICAweDAxNjEsIDB4MDE0NCwgMHgwMTQ2LCAweDAwZjMsIDB4MDE0ZCwgMHgwMGY1LCAweDAwZjYsIDB4MDBmNywKKyAgICAweDAxNzMsIDB4MDE0MiwgMHgwMTViLCAweDAxNmIsIDB4MDBmYywgMHgwMTdjLCAweDAxN2UsIDB4MjAxOSwKK307CisKK3N0YXRpYyB1bnNpZ25lZCBjaGFyIGNvbnN0IHhtbHRyYW5zY29kZXRhYmxlX0lTTzg4NTlfMTMgWzQ4ICsgNyAqIDY0XSA9IHsKKyAgICAiXHgwMFx4MDBceDAxXHgwNFx4MDZceDA1XHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAyXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHg4MFx4ODFceDgyXHg4M1x4ODRceDg1XHg4Nlx4ODdceDg4XHg4OVx4OGFceDhiXHg4Y1x4OGRceDhlXHg4ZiIKKyAgICAiXHg5MFx4OTFceDkyXHg5M1x4OTRceDk1XHg5Nlx4OTdceDk4XHg5OVx4OWFceDliXHg5Y1x4OWRceDllXHg5ZiIKKyAgICAiXHhhMFx4MDBceGEyXHhhM1x4YTRceDAwXHhhNlx4YTdceDAwXHhhOVx4MDBceGFiXHhhY1x4YWRceGFlXHgwMCIKKyAgICAiXHhiMFx4YjFceGIyXHhiM1x4MDBceGI1XHhiNlx4YjdceDAwXHhiOVx4MDBceGJiXHhiY1x4YmRceGJlXHgwMCIKKyAgICAiXHgwM1x4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHhmZlx4MDBceDAwXHhiNFx4YTFceGE1XHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4YzRceGM1XHhhZlx4MDBceDAwXHhjOVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHhkM1x4MDBceGQ1XHhkNlx4ZDdceGE4XHgwMFx4MDBceDAwXHhkY1x4MDBceDAwXHhkZiIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4ZTRceGU1XHhiZlx4MDBceDAwXHhlOVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHhmM1x4MDBceGY1XHhmNlx4ZjdceGI4XHgwMFx4MDBceDAwXHhmY1x4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4ZDlceGY5XHhkMVx4ZjFceGQyXHhmMlx4MDBceDAwXHgwMFx4MDBceDAwXHhkNFx4ZjRceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHhhYVx4YmFceDAwXHgwMFx4ZGFceGZhXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHhkMFx4ZjBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4ZGJceGZiXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceGQ4XHhmOFx4MDBceDAwXHgwMFx4MDBceDAwXHhjYVx4ZWFceGRkXHhmZFx4ZGVceGZlXHgwMCIKKyAgICAiXHhjMlx4ZTJceDAwXHgwMFx4YzBceGUwXHhjM1x4ZTNceDAwXHgwMFx4MDBceDAwXHhjOFx4ZThceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceGM3XHhlN1x4MDBceDAwXHhjYlx4ZWJceGM2XHhlNlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCIKKyAgICAiXHgwMFx4MDBceGNjXHhlY1x4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4Y2VceGVlXHgwMFx4MDBceGMxXHhlMSIKKyAgICAiXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHhjZFx4ZWRceDAwXHgwMFx4MDBceGNmXHhlZlx4MDBceDAwXHgwMCIKK307CisKK3N0YXRpYyB1bnNpZ25lZCBzaG9ydCBjb25zdCB4bWx1bmljb2RldGFibGVfSVNPODg1OV8xNCBbMTI4XSA9IHsKKyAgICAweDAwODAsIDB4MDA4MSwgMHgwMDgyLCAweDAwODMsIDB4MDA4NCwgMHgwMDg1LCAweDAwODYsIDB4MDA4NywKKyAgICAweDAwODgsIDB4MDA4OSwgMHgwMDhhLCAweDAwOGIsIDB4MDA4YywgMHgwMDhkLCAweDAwOGUsIDB4MDA4ZiwKKyAgICAweDAwOTAsIDB4MDA5MSwgMHgwMDkyLCAweDAwOTMsIDB4MDA5NCwgMHgwMDk1LCAweDAwOTYsIDB4MDA5NywKKyAgICAweDAwOTgsIDB4MDA5OSwgMHgwMDlhLCAweDAwOWIsIDB4MDA5YywgMHgwMDlkLCAweDAwOWUsIDB4MDA5ZiwKKyAgICAweDAwYTAsIDB4MWUwMiwgMHgxZTAzLCAweDAwYTMsIDB4MDEwYSwgMHgwMTBiLCAweDFlMGEsIDB4MDBhNywKKyAgICAweDFlODAsIDB4MDBhOSwgMHgxZTgyLCAweDFlMGIsIDB4MWVmMiwgMHgwMGFkLCAweDAwYWUsIDB4MDE3OCwKKyAgICAweDFlMWUsIDB4MWUxZiwgMHgwMTIwLCAweDAxMjEsIDB4MWU0MCwgMHgxZTQxLCAweDAwYjYsIDB4MWU1NiwKKyAgICAweDFlODEsIDB4MWU1NywgMHgxZTgzLCAweDFlNjAsIDB4MWVmMywgMHgxZTg0LCAweDFlODUsIDB4MWU2MSwKKyAgICAweDAwYzAsIDB4MDBjMSwgMHgwMGMyLCAweDAwYzMsIDB4MDBjNCwgMHgwMGM1LCAweDAwYzYsIDB4MDBjNywKKyAgICAweDAwYzgsIDB4MDBjOSwgMHgwMGNhLCAweDAwY2IsIDB4MDBjYywgMHgwMGNkLCAweDAwY2UsIDB4MDBjZiwKKyAgICAweDAxNzQsIDB4MDBkMSwgMHgwMGQyLCAweDAwZDMsIDB4MDBkNCwgMHgwMGQ1LCAweDAwZDYsIDB4MWU2YSwKKyAgICAweDAwZDgsIDB4MDBkOSwgMHgwMGRhLCAweDAwZGIsIDB4MDBkYywgMHgwMGRkLCAweDAxNzYsIDB4MDBkZiwKKyAgICAweDAwZTAsIDB4MDBlMSwgMHgwMGUyLCAweDAwZTMsIDB4MDBlNCwgMHgwMGU1LCAweDAwZTYsIDB4MDBlNywKKyAgICAweDAwZTgsIDB4MDBlOSwgMHgwMGVhLCAweDAwZWIsIDB4MDBlYywgMHgwMGVkLCAweDAwZWUsIDB4MDBlZiwKKyAgICAweDAxNzUsIDB4MDBmMSwgMHgwMGYyLCAweDAwZjMsIDB4MDBmNCwgMHgwMGY1LCAweDAwZjYsIDB4MWU2YiwKKyAgICAweDAwZjgsIDB4MDBmOSwgMHgwMGZhLCAweDAwZmIsIDB4MDBmYywgMHgwMGZkLCAweDAxNzcsIDB4MDBmZiwKK307CisKK3N0YXRpYyB1bnNpZ25lZCBjaGFyIGNvbnN0IHhtbHRyYW5zY29kZXRhYmxlX0lTTzg4NTlfMTQgWzQ4ICsgMTAgKiA2NF0gPSB7CisgICAgIlx4MDBceDAwXHgwMVx4MDlceDA0XHgwN1x4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAyXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4ODBceDgxXHg4Mlx4ODNceDg0XHg4NVx4ODZceDg3XHg4OFx4ODlceDhhXHg4Ylx4OGNceDhkXHg4ZVx4OGYiCisgICAgIlx4OTBceDkxXHg5Mlx4OTNceDk0XHg5NVx4OTZceDk3XHg5OFx4OTlceDlhXHg5Ylx4OWNceDlkXHg5ZVx4OWYiCisgICAgIlx4YTBceDAwXHgwMFx4YTNceDAwXHgwMFx4MDBceGE3XHgwMFx4YTlceDAwXHgwMFx4MDBceGFkXHhhZVx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4YjZceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwM1x4MDhceDA1XHgwNlx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHhhMVx4YTJceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceGE2XHhhYlx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHhiMFx4YjEiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceGE0XHhhNVx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4YjJceGIzXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4YThceGI4XHhhYVx4YmFceGJkXHhiZVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHhhY1x4YmNceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceGQwXHhmMFx4ZGVceGZlXHhhZlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4YjRceGI1XHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4YjdceGI5XHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4YmJceGJmXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceGQ3XHhmN1x4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4YzBceGMxXHhjMlx4YzNceGM0XHhjNVx4YzZceGM3XHhjOFx4YzlceGNhXHhjYlx4Y2NceGNkXHhjZVx4Y2YiCisgICAgIlx4MDBceGQxXHhkMlx4ZDNceGQ0XHhkNVx4ZDZceDAwXHhkOFx4ZDlceGRhXHhkYlx4ZGNceGRkXHgwMFx4ZGYiCisgICAgIlx4ZTBceGUxXHhlMlx4ZTNceGU0XHhlNVx4ZTZceGU3XHhlOFx4ZTlceGVhXHhlYlx4ZWNceGVkXHhlZVx4ZWYiCisgICAgIlx4MDBceGYxXHhmMlx4ZjNceGY0XHhmNVx4ZjZceDAwXHhmOFx4ZjlceGZhXHhmYlx4ZmNceGZkXHgwMFx4ZmYiCit9OworCitzdGF0aWMgdW5zaWduZWQgc2hvcnQgY29uc3QgeG1sdW5pY29kZXRhYmxlX0lTTzg4NTlfMTUgWzEyOF0gPSB7CisgICAgMHgwMDgwLCAweDAwODEsIDB4MDA4MiwgMHgwMDgzLCAweDAwODQsIDB4MDA4NSwgMHgwMDg2LCAweDAwODcsCisgICAgMHgwMDg4LCAweDAwODksIDB4MDA4YSwgMHgwMDhiLCAweDAwOGMsIDB4MDA4ZCwgMHgwMDhlLCAweDAwOGYsCisgICAgMHgwMDkwLCAweDAwOTEsIDB4MDA5MiwgMHgwMDkzLCAweDAwOTQsIDB4MDA5NSwgMHgwMDk2LCAweDAwOTcsCisgICAgMHgwMDk4LCAweDAwOTksIDB4MDA5YSwgMHgwMDliLCAweDAwOWMsIDB4MDA5ZCwgMHgwMDllLCAweDAwOWYsCisgICAgMHgwMGEwLCAweDAwYTEsIDB4MDBhMiwgMHgwMGEzLCAweDIwYWMsIDB4MDBhNSwgMHgwMTYwLCAweDAwYTcsCisgICAgMHgwMTYxLCAweDAwYTksIDB4MDBhYSwgMHgwMGFiLCAweDAwYWMsIDB4MDBhZCwgMHgwMGFlLCAweDAwYWYsCisgICAgMHgwMGIwLCAweDAwYjEsIDB4MDBiMiwgMHgwMGIzLCAweDAxN2QsIDB4MDBiNSwgMHgwMGI2LCAweDAwYjcsCisgICAgMHgwMTdlLCAweDAwYjksIDB4MDBiYSwgMHgwMGJiLCAweDAxNTIsIDB4MDE1MywgMHgwMTc4LCAweDAwYmYsCisgICAgMHgwMGMwLCAweDAwYzEsIDB4MDBjMiwgMHgwMGMzLCAweDAwYzQsIDB4MDBjNSwgMHgwMGM2LCAweDAwYzcsCisgICAgMHgwMGM4LCAweDAwYzksIDB4MDBjYSwgMHgwMGNiLCAweDAwY2MsIDB4MDBjZCwgMHgwMGNlLCAweDAwY2YsCisgICAgMHgwMGQwLCAweDAwZDEsIDB4MDBkMiwgMHgwMGQzLCAweDAwZDQsIDB4MDBkNSwgMHgwMGQ2LCAweDAwZDcsCisgICAgMHgwMGQ4LCAweDAwZDksIDB4MDBkYSwgMHgwMGRiLCAweDAwZGMsIDB4MDBkZCwgMHgwMGRlLCAweDAwZGYsCisgICAgMHgwMGUwLCAweDAwZTEsIDB4MDBlMiwgMHgwMGUzLCAweDAwZTQsIDB4MDBlNSwgMHgwMGU2LCAweDAwZTcsCisgICAgMHgwMGU4LCAweDAwZTksIDB4MDBlYSwgMHgwMGViLCAweDAwZWMsIDB4MDBlZCwgMHgwMGVlLCAweDAwZWYsCisgICAgMHgwMGYwLCAweDAwZjEsIDB4MDBmMiwgMHgwMGYzLCAweDAwZjQsIDB4MDBmNSwgMHgwMGY2LCAweDAwZjcsCisgICAgMHgwMGY4LCAweDAwZjksIDB4MDBmYSwgMHgwMGZiLCAweDAwZmMsIDB4MDBmZCwgMHgwMGZlLCAweDAwZmYsCit9OworCitzdGF0aWMgdW5zaWduZWQgY2hhciBjb25zdCB4bWx0cmFuc2NvZGV0YWJsZV9JU084ODU5XzE1IFs0OCArIDYgKiA2NF0gPSB7CisgICAgIlx4MDBceDAwXHgwMVx4MDVceDAwXHgwNFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4ODBceDgxXHg4Mlx4ODNceDg0XHg4NVx4ODZceDg3XHg4OFx4ODlceDhhXHg4Ylx4OGNceDhkXHg4ZVx4OGYiCisgICAgIlx4OTBceDkxXHg5Mlx4OTNceDk0XHg5NVx4OTZceDk3XHg5OFx4OTlceDlhXHg5Ylx4OWNceDlkXHg5ZVx4OWYiCisgICAgIlx4YTBceGExXHhhMlx4YTNceDAwXHhhNVx4MDBceGE3XHgwMFx4YTlceGFhXHhhYlx4YWNceGFkXHhhZVx4YWYiCisgICAgIlx4YjBceGIxXHhiMlx4YjNceDAwXHhiNVx4YjZceGI3XHgwMFx4YjlceGJhXHhiYlx4MDBceDAwXHgwMFx4YmYiCisgICAgIlx4MDBceDAwXHgwM1x4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4YTRceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHhiY1x4YmRceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4YTZceGE4XHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHhiZVx4MDBceDAwXHgwMFx4MDBceGI0XHhiOFx4MDAiCisgICAgIlx4YzBceGMxXHhjMlx4YzNceGM0XHhjNVx4YzZceGM3XHhjOFx4YzlceGNhXHhjYlx4Y2NceGNkXHhjZVx4Y2YiCisgICAgIlx4ZDBceGQxXHhkMlx4ZDNceGQ0XHhkNVx4ZDZceGQ3XHhkOFx4ZDlceGRhXHhkYlx4ZGNceGRkXHhkZVx4ZGYiCisgICAgIlx4ZTBceGUxXHhlMlx4ZTNceGU0XHhlNVx4ZTZceGU3XHhlOFx4ZTlceGVhXHhlYlx4ZWNceGVkXHhlZVx4ZWYiCisgICAgIlx4ZjBceGYxXHhmMlx4ZjNceGY0XHhmNVx4ZjZceGY3XHhmOFx4ZjlceGZhXHhmYlx4ZmNceGZkXHhmZVx4ZmYiCit9OworCitzdGF0aWMgdW5zaWduZWQgc2hvcnQgY29uc3QgeG1sdW5pY29kZXRhYmxlX0lTTzg4NTlfMTYgWzEyOF0gPSB7CisgICAgMHgwMDgwLCAweDAwODEsIDB4MDA4MiwgMHgwMDgzLCAweDAwODQsIDB4MDA4NSwgMHgwMDg2LCAweDAwODcsCisgICAgMHgwMDg4LCAweDAwODksIDB4MDA4YSwgMHgwMDhiLCAweDAwOGMsIDB4MDA4ZCwgMHgwMDhlLCAweDAwOGYsCisgICAgMHgwMDkwLCAweDAwOTEsIDB4MDA5MiwgMHgwMDkzLCAweDAwOTQsIDB4MDA5NSwgMHgwMDk2LCAweDAwOTcsCisgICAgMHgwMDk4LCAweDAwOTksIDB4MDA5YSwgMHgwMDliLCAweDAwOWMsIDB4MDA5ZCwgMHgwMDllLCAweDAwOWYsCisgICAgMHgwMGEwLCAweDAxMDQsIDB4MDEwNSwgMHgwMTQxLCAweDIwYWMsIDB4MjAxZSwgMHgwMTYwLCAweDAwYTcsCisgICAgMHgwMTYxLCAweDAwYTksIDB4MDIxOCwgMHgwMGFiLCAweDAxNzksIDB4MDBhZCwgMHgwMTdhLCAweDAxN2IsCisgICAgMHgwMGIwLCAweDAwYjEsIDB4MDEwYywgMHgwMTQyLCAweDAxN2QsIDB4MjAxZCwgMHgwMGI2LCAweDAwYjcsCisgICAgMHgwMTdlLCAweDAxMGQsIDB4MDIxOSwgMHgwMGJiLCAweDAxNTIsIDB4MDE1MywgMHgwMTc4LCAweDAxN2MsCisgICAgMHgwMGMwLCAweDAwYzEsIDB4MDBjMiwgMHgwMTAyLCAweDAwYzQsIDB4MDEwNiwgMHgwMGM2LCAweDAwYzcsCisgICAgMHgwMGM4LCAweDAwYzksIDB4MDBjYSwgMHgwMGNiLCAweDAwY2MsIDB4MDBjZCwgMHgwMGNlLCAweDAwY2YsCisgICAgMHgwMTEwLCAweDAxNDMsIDB4MDBkMiwgMHgwMGQzLCAweDAwZDQsIDB4MDE1MCwgMHgwMGQ2LCAweDAxNWEsCisgICAgMHgwMTcwLCAweDAwZDksIDB4MDBkYSwgMHgwMGRiLCAweDAwZGMsIDB4MDExOCwgMHgwMjFhLCAweDAwZGYsCisgICAgMHgwMGUwLCAweDAwZTEsIDB4MDBlMiwgMHgwMTAzLCAweDAwZTQsIDB4MDEwNywgMHgwMGU2LCAweDAwZTcsCisgICAgMHgwMGU4LCAweDAwZTksIDB4MDBlYSwgMHgwMGViLCAweDAwZWMsIDB4MDBlZCwgMHgwMGVlLCAweDAwZWYsCisgICAgMHgwMTExLCAweDAxNDQsIDB4MDBmMiwgMHgwMGYzLCAweDAwZjQsIDB4MDE1MSwgMHgwMGY2LCAweDAxNWIsCisgICAgMHgwMTcxLCAweDAwZjksIDB4MDBmYSwgMHgwMGZiLCAweDAwZmMsIDB4MDExOSwgMHgwMjFiLCAweDAwZmYsCit9OworCitzdGF0aWMgdW5zaWduZWQgY2hhciBjb25zdCB4bWx0cmFuc2NvZGV0YWJsZV9JU084ODU5XzE2IFs0OCArIDkgKiA2NF0gPSB7CisgICAgIlx4MDBceDAwXHgwMVx4MDhceDAyXHgwM1x4MDBceDAwXHgwN1x4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwNFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4ODBceDgxXHg4Mlx4ODNceDg0XHg4NVx4ODZceDg3XHg4OFx4ODlceDhhXHg4Ylx4OGNceDhkXHg4ZVx4OGYiCisgICAgIlx4OTBceDkxXHg5Mlx4OTNceDk0XHg5NVx4OTZceDk3XHg5OFx4OTlceDlhXHg5Ylx4OWNceDlkXHg5ZVx4OWYiCisgICAgIlx4YTBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceGE3XHgwMFx4YTlceDAwXHhhYlx4MDBceGFkXHgwMFx4MDAiCisgICAgIlx4YjBceGIxXHgwMFx4MDBceDAwXHgwMFx4YjZceGI3XHgwMFx4MDBceDAwXHhiYlx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHhjM1x4ZTNceGExXHhhMlx4YzVceGU1XHgwMFx4MDBceDAwXHgwMFx4YjJceGI5XHgwMFx4MDAiCisgICAgIlx4ZDBceGYwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHhkZFx4ZmRceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceGEzXHhiM1x4ZDFceGYxXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4ZDVceGY1XHhiY1x4YmRceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceGQ3XHhmN1x4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4YTZceGE4XHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4ZDhceGY4XHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHhiZVx4YWNceGFlXHhhZlx4YmZceGI0XHhiOFx4MDAiCisgICAgIlx4MDZceDAwXHgwNVx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4YTRceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceGI1XHhhNVx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHhhYVx4YmFceGRlXHhmZVx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAiCisgICAgIlx4YzBceGMxXHhjMlx4MDBceGM0XHgwMFx4YzZceGM3XHhjOFx4YzlceGNhXHhjYlx4Y2NceGNkXHhjZVx4Y2YiCisgICAgIlx4MDBceDAwXHhkMlx4ZDNceGQ0XHgwMFx4ZDZceDAwXHgwMFx4ZDlceGRhXHhkYlx4ZGNceDAwXHgwMFx4ZGYiCisgICAgIlx4ZTBceGUxXHhlMlx4MDBceGU0XHgwMFx4ZTZceGU3XHhlOFx4ZTlceGVhXHhlYlx4ZWNceGVkXHhlZVx4ZWYiCisgICAgIlx4MDBceDAwXHhmMlx4ZjNceGY0XHgwMFx4ZjZceDAwXHgwMFx4ZjlceGZhXHhmYlx4ZmNceDAwXHgwMFx4ZmYiCit9OworCisKKy8qCisgKiBhdXRvLWdlbmVyYXRlZCBmdW5jdGlvbnMgZm9yIElTTy04ODU5LTIgLi4gSVNPLTg4NTktMTYKKyAqLworCitzdGF0aWMgaW50IElTTzg4NTlfMlRvVVRGOCAodW5zaWduZWQgY2hhciogb3V0LCBpbnQgKm91dGxlbiwKKyAgICBjb25zdCB1bnNpZ25lZCBjaGFyKiBpbiwgaW50ICppbmxlbikgeworICAgIHJldHVybiBJU084ODU5eFRvVVRGOCAob3V0LCBvdXRsZW4sIGluLCBpbmxlbiwgeG1sdW5pY29kZXRhYmxlX0lTTzg4NTlfMik7Cit9CitzdGF0aWMgaW50IFVURjhUb0lTTzg4NTlfMiAodW5zaWduZWQgY2hhciogb3V0LCBpbnQgKm91dGxlbiwKKyAgICBjb25zdCB1bnNpZ25lZCBjaGFyKiBpbiwgaW50ICppbmxlbikgeworICAgIHJldHVybiBVVEY4VG9JU084ODU5eCAob3V0LCBvdXRsZW4sIGluLCBpbmxlbiwgeG1sdHJhbnNjb2RldGFibGVfSVNPODg1OV8yKTsKK30KKworc3RhdGljIGludCBJU084ODU5XzNUb1VURjggKHVuc2lnbmVkIGNoYXIqIG91dCwgaW50ICpvdXRsZW4sCisgICAgY29uc3QgdW5zaWduZWQgY2hhciogaW4sIGludCAqaW5sZW4pIHsKKyAgICByZXR1cm4gSVNPODg1OXhUb1VURjggKG91dCwgb3V0bGVuLCBpbiwgaW5sZW4sIHhtbHVuaWNvZGV0YWJsZV9JU084ODU5XzMpOworfQorc3RhdGljIGludCBVVEY4VG9JU084ODU5XzMgKHVuc2lnbmVkIGNoYXIqIG91dCwgaW50ICpvdXRsZW4sCisgICAgY29uc3QgdW5zaWduZWQgY2hhciogaW4sIGludCAqaW5sZW4pIHsKKyAgICByZXR1cm4gVVRGOFRvSVNPODg1OXggKG91dCwgb3V0bGVuLCBpbiwgaW5sZW4sIHhtbHRyYW5zY29kZXRhYmxlX0lTTzg4NTlfMyk7Cit9CisKK3N0YXRpYyBpbnQgSVNPODg1OV80VG9VVEY4ICh1bnNpZ25lZCBjaGFyKiBvdXQsIGludCAqb3V0bGVuLAorICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGluLCBpbnQgKmlubGVuKSB7CisgICAgcmV0dXJuIElTTzg4NTl4VG9VVEY4IChvdXQsIG91dGxlbiwgaW4sIGlubGVuLCB4bWx1bmljb2RldGFibGVfSVNPODg1OV80KTsKK30KK3N0YXRpYyBpbnQgVVRGOFRvSVNPODg1OV80ICh1bnNpZ25lZCBjaGFyKiBvdXQsIGludCAqb3V0bGVuLAorICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGluLCBpbnQgKmlubGVuKSB7CisgICAgcmV0dXJuIFVURjhUb0lTTzg4NTl4IChvdXQsIG91dGxlbiwgaW4sIGlubGVuLCB4bWx0cmFuc2NvZGV0YWJsZV9JU084ODU5XzQpOworfQorCitzdGF0aWMgaW50IElTTzg4NTlfNVRvVVRGOCAodW5zaWduZWQgY2hhciogb3V0LCBpbnQgKm91dGxlbiwKKyAgICBjb25zdCB1bnNpZ25lZCBjaGFyKiBpbiwgaW50ICppbmxlbikgeworICAgIHJldHVybiBJU084ODU5eFRvVVRGOCAob3V0LCBvdXRsZW4sIGluLCBpbmxlbiwgeG1sdW5pY29kZXRhYmxlX0lTTzg4NTlfNSk7Cit9CitzdGF0aWMgaW50IFVURjhUb0lTTzg4NTlfNSAodW5zaWduZWQgY2hhciogb3V0LCBpbnQgKm91dGxlbiwKKyAgICBjb25zdCB1bnNpZ25lZCBjaGFyKiBpbiwgaW50ICppbmxlbikgeworICAgIHJldHVybiBVVEY4VG9JU084ODU5eCAob3V0LCBvdXRsZW4sIGluLCBpbmxlbiwgeG1sdHJhbnNjb2RldGFibGVfSVNPODg1OV81KTsKK30KKworc3RhdGljIGludCBJU084ODU5XzZUb1VURjggKHVuc2lnbmVkIGNoYXIqIG91dCwgaW50ICpvdXRsZW4sCisgICAgY29uc3QgdW5zaWduZWQgY2hhciogaW4sIGludCAqaW5sZW4pIHsKKyAgICByZXR1cm4gSVNPODg1OXhUb1VURjggKG91dCwgb3V0bGVuLCBpbiwgaW5sZW4sIHhtbHVuaWNvZGV0YWJsZV9JU084ODU5XzYpOworfQorc3RhdGljIGludCBVVEY4VG9JU084ODU5XzYgKHVuc2lnbmVkIGNoYXIqIG91dCwgaW50ICpvdXRsZW4sCisgICAgY29uc3QgdW5zaWduZWQgY2hhciogaW4sIGludCAqaW5sZW4pIHsKKyAgICByZXR1cm4gVVRGOFRvSVNPODg1OXggKG91dCwgb3V0bGVuLCBpbiwgaW5sZW4sIHhtbHRyYW5zY29kZXRhYmxlX0lTTzg4NTlfNik7Cit9CisKK3N0YXRpYyBpbnQgSVNPODg1OV83VG9VVEY4ICh1bnNpZ25lZCBjaGFyKiBvdXQsIGludCAqb3V0bGVuLAorICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGluLCBpbnQgKmlubGVuKSB7CisgICAgcmV0dXJuIElTTzg4NTl4VG9VVEY4IChvdXQsIG91dGxlbiwgaW4sIGlubGVuLCB4bWx1bmljb2RldGFibGVfSVNPODg1OV83KTsKK30KK3N0YXRpYyBpbnQgVVRGOFRvSVNPODg1OV83ICh1bnNpZ25lZCBjaGFyKiBvdXQsIGludCAqb3V0bGVuLAorICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGluLCBpbnQgKmlubGVuKSB7CisgICAgcmV0dXJuIFVURjhUb0lTTzg4NTl4IChvdXQsIG91dGxlbiwgaW4sIGlubGVuLCB4bWx0cmFuc2NvZGV0YWJsZV9JU084ODU5XzcpOworfQorCitzdGF0aWMgaW50IElTTzg4NTlfOFRvVVRGOCAodW5zaWduZWQgY2hhciogb3V0LCBpbnQgKm91dGxlbiwKKyAgICBjb25zdCB1bnNpZ25lZCBjaGFyKiBpbiwgaW50ICppbmxlbikgeworICAgIHJldHVybiBJU084ODU5eFRvVVRGOCAob3V0LCBvdXRsZW4sIGluLCBpbmxlbiwgeG1sdW5pY29kZXRhYmxlX0lTTzg4NTlfOCk7Cit9CitzdGF0aWMgaW50IFVURjhUb0lTTzg4NTlfOCAodW5zaWduZWQgY2hhciogb3V0LCBpbnQgKm91dGxlbiwKKyAgICBjb25zdCB1bnNpZ25lZCBjaGFyKiBpbiwgaW50ICppbmxlbikgeworICAgIHJldHVybiBVVEY4VG9JU084ODU5eCAob3V0LCBvdXRsZW4sIGluLCBpbmxlbiwgeG1sdHJhbnNjb2RldGFibGVfSVNPODg1OV84KTsKK30KKworc3RhdGljIGludCBJU084ODU5XzlUb1VURjggKHVuc2lnbmVkIGNoYXIqIG91dCwgaW50ICpvdXRsZW4sCisgICAgY29uc3QgdW5zaWduZWQgY2hhciogaW4sIGludCAqaW5sZW4pIHsKKyAgICByZXR1cm4gSVNPODg1OXhUb1VURjggKG91dCwgb3V0bGVuLCBpbiwgaW5sZW4sIHhtbHVuaWNvZGV0YWJsZV9JU084ODU5XzkpOworfQorc3RhdGljIGludCBVVEY4VG9JU084ODU5XzkgKHVuc2lnbmVkIGNoYXIqIG91dCwgaW50ICpvdXRsZW4sCisgICAgY29uc3QgdW5zaWduZWQgY2hhciogaW4sIGludCAqaW5sZW4pIHsKKyAgICByZXR1cm4gVVRGOFRvSVNPODg1OXggKG91dCwgb3V0bGVuLCBpbiwgaW5sZW4sIHhtbHRyYW5zY29kZXRhYmxlX0lTTzg4NTlfOSk7Cit9CisKK3N0YXRpYyBpbnQgSVNPODg1OV8xMFRvVVRGOCAodW5zaWduZWQgY2hhciogb3V0LCBpbnQgKm91dGxlbiwKKyAgICBjb25zdCB1bnNpZ25lZCBjaGFyKiBpbiwgaW50ICppbmxlbikgeworICAgIHJldHVybiBJU084ODU5eFRvVVRGOCAob3V0LCBvdXRsZW4sIGluLCBpbmxlbiwgeG1sdW5pY29kZXRhYmxlX0lTTzg4NTlfMTApOworfQorc3RhdGljIGludCBVVEY4VG9JU084ODU5XzEwICh1bnNpZ25lZCBjaGFyKiBvdXQsIGludCAqb3V0bGVuLAorICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGluLCBpbnQgKmlubGVuKSB7CisgICAgcmV0dXJuIFVURjhUb0lTTzg4NTl4IChvdXQsIG91dGxlbiwgaW4sIGlubGVuLCB4bWx0cmFuc2NvZGV0YWJsZV9JU084ODU5XzEwKTsKK30KKworc3RhdGljIGludCBJU084ODU5XzExVG9VVEY4ICh1bnNpZ25lZCBjaGFyKiBvdXQsIGludCAqb3V0bGVuLAorICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGluLCBpbnQgKmlubGVuKSB7CisgICAgcmV0dXJuIElTTzg4NTl4VG9VVEY4IChvdXQsIG91dGxlbiwgaW4sIGlubGVuLCB4bWx1bmljb2RldGFibGVfSVNPODg1OV8xMSk7Cit9CitzdGF0aWMgaW50IFVURjhUb0lTTzg4NTlfMTEgKHVuc2lnbmVkIGNoYXIqIG91dCwgaW50ICpvdXRsZW4sCisgICAgY29uc3QgdW5zaWduZWQgY2hhciogaW4sIGludCAqaW5sZW4pIHsKKyAgICByZXR1cm4gVVRGOFRvSVNPODg1OXggKG91dCwgb3V0bGVuLCBpbiwgaW5sZW4sIHhtbHRyYW5zY29kZXRhYmxlX0lTTzg4NTlfMTEpOworfQorCitzdGF0aWMgaW50IElTTzg4NTlfMTNUb1VURjggKHVuc2lnbmVkIGNoYXIqIG91dCwgaW50ICpvdXRsZW4sCisgICAgY29uc3QgdW5zaWduZWQgY2hhciogaW4sIGludCAqaW5sZW4pIHsKKyAgICByZXR1cm4gSVNPODg1OXhUb1VURjggKG91dCwgb3V0bGVuLCBpbiwgaW5sZW4sIHhtbHVuaWNvZGV0YWJsZV9JU084ODU5XzEzKTsKK30KK3N0YXRpYyBpbnQgVVRGOFRvSVNPODg1OV8xMyAodW5zaWduZWQgY2hhciogb3V0LCBpbnQgKm91dGxlbiwKKyAgICBjb25zdCB1bnNpZ25lZCBjaGFyKiBpbiwgaW50ICppbmxlbikgeworICAgIHJldHVybiBVVEY4VG9JU084ODU5eCAob3V0LCBvdXRsZW4sIGluLCBpbmxlbiwgeG1sdHJhbnNjb2RldGFibGVfSVNPODg1OV8xMyk7Cit9CisKK3N0YXRpYyBpbnQgSVNPODg1OV8xNFRvVVRGOCAodW5zaWduZWQgY2hhciogb3V0LCBpbnQgKm91dGxlbiwKKyAgICBjb25zdCB1bnNpZ25lZCBjaGFyKiBpbiwgaW50ICppbmxlbikgeworICAgIHJldHVybiBJU084ODU5eFRvVVRGOCAob3V0LCBvdXRsZW4sIGluLCBpbmxlbiwgeG1sdW5pY29kZXRhYmxlX0lTTzg4NTlfMTQpOworfQorc3RhdGljIGludCBVVEY4VG9JU084ODU5XzE0ICh1bnNpZ25lZCBjaGFyKiBvdXQsIGludCAqb3V0bGVuLAorICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGluLCBpbnQgKmlubGVuKSB7CisgICAgcmV0dXJuIFVURjhUb0lTTzg4NTl4IChvdXQsIG91dGxlbiwgaW4sIGlubGVuLCB4bWx0cmFuc2NvZGV0YWJsZV9JU084ODU5XzE0KTsKK30KKworc3RhdGljIGludCBJU084ODU5XzE1VG9VVEY4ICh1bnNpZ25lZCBjaGFyKiBvdXQsIGludCAqb3V0bGVuLAorICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGluLCBpbnQgKmlubGVuKSB7CisgICAgcmV0dXJuIElTTzg4NTl4VG9VVEY4IChvdXQsIG91dGxlbiwgaW4sIGlubGVuLCB4bWx1bmljb2RldGFibGVfSVNPODg1OV8xNSk7Cit9CitzdGF0aWMgaW50IFVURjhUb0lTTzg4NTlfMTUgKHVuc2lnbmVkIGNoYXIqIG91dCwgaW50ICpvdXRsZW4sCisgICAgY29uc3QgdW5zaWduZWQgY2hhciogaW4sIGludCAqaW5sZW4pIHsKKyAgICByZXR1cm4gVVRGOFRvSVNPODg1OXggKG91dCwgb3V0bGVuLCBpbiwgaW5sZW4sIHhtbHRyYW5zY29kZXRhYmxlX0lTTzg4NTlfMTUpOworfQorCitzdGF0aWMgaW50IElTTzg4NTlfMTZUb1VURjggKHVuc2lnbmVkIGNoYXIqIG91dCwgaW50ICpvdXRsZW4sCisgICAgY29uc3QgdW5zaWduZWQgY2hhciogaW4sIGludCAqaW5sZW4pIHsKKyAgICByZXR1cm4gSVNPODg1OXhUb1VURjggKG91dCwgb3V0bGVuLCBpbiwgaW5sZW4sIHhtbHVuaWNvZGV0YWJsZV9JU084ODU5XzE2KTsKK30KK3N0YXRpYyBpbnQgVVRGOFRvSVNPODg1OV8xNiAodW5zaWduZWQgY2hhciogb3V0LCBpbnQgKm91dGxlbiwKKyAgICBjb25zdCB1bnNpZ25lZCBjaGFyKiBpbiwgaW50ICppbmxlbikgeworICAgIHJldHVybiBVVEY4VG9JU084ODU5eCAob3V0LCBvdXRsZW4sIGluLCBpbmxlbiwgeG1sdHJhbnNjb2RldGFibGVfSVNPODg1OV8xNik7Cit9CisKK3N0YXRpYyB2b2lkCit4bWxSZWdpc3RlckNoYXJFbmNvZGluZ0hhbmRsZXJzSVNPODg1OXggKHZvaWQpIHsKKyAgICB4bWxOZXdDaGFyRW5jb2RpbmdIYW5kbGVyICgiSVNPLTg4NTktMiIsIElTTzg4NTlfMlRvVVRGOCwgVVRGOFRvSVNPODg1OV8yKTsKKyAgICB4bWxOZXdDaGFyRW5jb2RpbmdIYW5kbGVyICgiSVNPLTg4NTktMyIsIElTTzg4NTlfM1RvVVRGOCwgVVRGOFRvSVNPODg1OV8zKTsKKyAgICB4bWxOZXdDaGFyRW5jb2RpbmdIYW5kbGVyICgiSVNPLTg4NTktNCIsIElTTzg4NTlfNFRvVVRGOCwgVVRGOFRvSVNPODg1OV80KTsKKyAgICB4bWxOZXdDaGFyRW5jb2RpbmdIYW5kbGVyICgiSVNPLTg4NTktNSIsIElTTzg4NTlfNVRvVVRGOCwgVVRGOFRvSVNPODg1OV81KTsKKyAgICB4bWxOZXdDaGFyRW5jb2RpbmdIYW5kbGVyICgiSVNPLTg4NTktNiIsIElTTzg4NTlfNlRvVVRGOCwgVVRGOFRvSVNPODg1OV82KTsKKyAgICB4bWxOZXdDaGFyRW5jb2RpbmdIYW5kbGVyICgiSVNPLTg4NTktNyIsIElTTzg4NTlfN1RvVVRGOCwgVVRGOFRvSVNPODg1OV83KTsKKyAgICB4bWxOZXdDaGFyRW5jb2RpbmdIYW5kbGVyICgiSVNPLTg4NTktOCIsIElTTzg4NTlfOFRvVVRGOCwgVVRGOFRvSVNPODg1OV84KTsKKyAgICB4bWxOZXdDaGFyRW5jb2RpbmdIYW5kbGVyICgiSVNPLTg4NTktOSIsIElTTzg4NTlfOVRvVVRGOCwgVVRGOFRvSVNPODg1OV85KTsKKyAgICB4bWxOZXdDaGFyRW5jb2RpbmdIYW5kbGVyICgiSVNPLTg4NTktMTAiLCBJU084ODU5XzEwVG9VVEY4LCBVVEY4VG9JU084ODU5XzEwKTsKKyAgICB4bWxOZXdDaGFyRW5jb2RpbmdIYW5kbGVyICgiSVNPLTg4NTktMTEiLCBJU084ODU5XzExVG9VVEY4LCBVVEY4VG9JU084ODU5XzExKTsKKyAgICB4bWxOZXdDaGFyRW5jb2RpbmdIYW5kbGVyICgiSVNPLTg4NTktMTMiLCBJU084ODU5XzEzVG9VVEY4LCBVVEY4VG9JU084ODU5XzEzKTsKKyAgICB4bWxOZXdDaGFyRW5jb2RpbmdIYW5kbGVyICgiSVNPLTg4NTktMTQiLCBJU084ODU5XzE0VG9VVEY4LCBVVEY4VG9JU084ODU5XzE0KTsKKyAgICB4bWxOZXdDaGFyRW5jb2RpbmdIYW5kbGVyICgiSVNPLTg4NTktMTUiLCBJU084ODU5XzE1VG9VVEY4LCBVVEY4VG9JU084ODU5XzE1KTsKKyAgICB4bWxOZXdDaGFyRW5jb2RpbmdIYW5kbGVyICgiSVNPLTg4NTktMTYiLCBJU084ODU5XzE2VG9VVEY4LCBVVEY4VG9JU084ODU5XzE2KTsKK30KKworI2VuZGlmCisjZW5kaWYKKworI2RlZmluZSBib3R0b21fZW5jb2RpbmcKKyNpbmNsdWRlICJlbGZnY2NoYWNrLmgiCmRpZmYgLS1naXQgYS9saWJ4bWwyL2VudGl0aWVzLmMgYi9saWJ4bWwyL2VudGl0aWVzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTcyYWZiMwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZW50aXRpZXMuYwpAQCAtMCwwICsxLDExMDUgQEAKKy8qCisgKiBlbnRpdGllcy5jIDogaW1wbGVtZW50YXRpb24gZm9yIHRoZSBYTUwgZW50aXRpZXMgaGFuZGxpbmcKKyAqCisgKiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisgKgorICogZGFuaWVsQHZlaWxsYXJkLmNvbQorICovCisKKyNkZWZpbmUgSU5fTElCWE1MCisjaW5jbHVkZSAibGlieG1sLmgiCisKKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpZmRlZiBIQVZFX1NURExJQl9ICisjaW5jbHVkZSA8c3RkbGliLmg+CisjZW5kaWYKKyNpbmNsdWRlIDxsaWJ4bWwveG1sbWVtb3J5Lmg+CisjaW5jbHVkZSA8bGlieG1sL2hhc2guaD4KKyNpbmNsdWRlIDxsaWJ4bWwvZW50aXRpZXMuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvcGFyc2VyLmg+CisjaW5jbHVkZSA8bGlieG1sL3BhcnNlckludGVybmFscy5oPgorI2luY2x1ZGUgPGxpYnhtbC94bWxlcnJvci5oPgorI2luY2x1ZGUgPGxpYnhtbC9nbG9iYWxzLmg+CisjaW5jbHVkZSA8bGlieG1sL2RpY3QuaD4KKworI2luY2x1ZGUgInNhdmUuaCIKKworLyoKKyAqIFRoZSBYTUwgcHJlZGVmaW5lZCBlbnRpdGllcy4KKyAqLworCitzdGF0aWMgeG1sRW50aXR5IHhtbEVudGl0eUx0ID0geworICAgIE5VTEwsIFhNTF9FTlRJVFlfREVDTCwgQkFEX0NBU1QgImx0IiwKKyAgICBOVUxMLCBOVUxMLCBOVUxMLCBOVUxMLCBOVUxMLCBOVUxMLAorICAgIEJBRF9DQVNUICI8IiwgQkFEX0NBU1QgIjwiLCAxLAorICAgIFhNTF9JTlRFUk5BTF9QUkVERUZJTkVEX0VOVElUWSwKKyAgICBOVUxMLCBOVUxMLCBOVUxMLCBOVUxMLCAwLCAxCit9Oworc3RhdGljIHhtbEVudGl0eSB4bWxFbnRpdHlHdCA9IHsKKyAgICBOVUxMLCBYTUxfRU5USVRZX0RFQ0wsIEJBRF9DQVNUICJndCIsCisgICAgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwKKyAgICBCQURfQ0FTVCAiPiIsIEJBRF9DQVNUICI+IiwgMSwKKyAgICBYTUxfSU5URVJOQUxfUFJFREVGSU5FRF9FTlRJVFksCisgICAgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwgMCwgMQorfTsKK3N0YXRpYyB4bWxFbnRpdHkgeG1sRW50aXR5QW1wID0geworICAgIE5VTEwsIFhNTF9FTlRJVFlfREVDTCwgQkFEX0NBU1QgImFtcCIsCisgICAgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwKKyAgICBCQURfQ0FTVCAiJiIsIEJBRF9DQVNUICImIiwgMSwKKyAgICBYTUxfSU5URVJOQUxfUFJFREVGSU5FRF9FTlRJVFksCisgICAgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwgMCwgMQorfTsKK3N0YXRpYyB4bWxFbnRpdHkgeG1sRW50aXR5UXVvdCA9IHsKKyAgICBOVUxMLCBYTUxfRU5USVRZX0RFQ0wsIEJBRF9DQVNUICJxdW90IiwKKyAgICBOVUxMLCBOVUxMLCBOVUxMLCBOVUxMLCBOVUxMLCBOVUxMLAorICAgIEJBRF9DQVNUICJcIiIsIEJBRF9DQVNUICJcIiIsIDEsCisgICAgWE1MX0lOVEVSTkFMX1BSRURFRklORURfRU5USVRZLAorICAgIE5VTEwsIE5VTEwsIE5VTEwsIE5VTEwsIDAsIDEKK307CitzdGF0aWMgeG1sRW50aXR5IHhtbEVudGl0eUFwb3MgPSB7CisgICAgTlVMTCwgWE1MX0VOVElUWV9ERUNMLCBCQURfQ0FTVCAiYXBvcyIsCisgICAgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwKKyAgICBCQURfQ0FTVCAiJyIsIEJBRF9DQVNUICInIiwgMSwKKyAgICBYTUxfSU5URVJOQUxfUFJFREVGSU5FRF9FTlRJVFksCisgICAgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwgMCwgMQorfTsKKworLyoqCisgKiB4bWxFbnRpdGllc0Vyck1lbW9yeToKKyAqIEBleHRyYTogIGV4dHJhIGluZm9ybWF0aW9ucworICoKKyAqIEhhbmRsZSBhbiBvdXQgb2YgbWVtb3J5IGNvbmRpdGlvbgorICovCitzdGF0aWMgdm9pZAoreG1sRW50aXRpZXNFcnJNZW1vcnkoY29uc3QgY2hhciAqZXh0cmEpCit7CisgICAgX194bWxTaW1wbGVFcnJvcihYTUxfRlJPTV9UUkVFLCBYTUxfRVJSX05PX01FTU9SWSwgTlVMTCwgTlVMTCwgZXh0cmEpOworfQorCisvKioKKyAqIHhtbEVudGl0aWVzRXJyOgorICogQGNvZGU6ICB0aGUgZXJyb3IgY29kZQorICogQG1zZzogIHRoZSBtZXNzYWdlCisgKgorICogSGFuZGxlIGFuIG91dCBvZiBtZW1vcnkgY29uZGl0aW9uCisgKi8KK3N0YXRpYyB2b2lkCit4bWxFbnRpdGllc0Vycih4bWxQYXJzZXJFcnJvcnMgY29kZSwgY29uc3QgY2hhciAqbXNnKQoreworICAgIF9feG1sU2ltcGxlRXJyb3IoWE1MX0ZST01fVFJFRSwgY29kZSwgTlVMTCwgbXNnLCBOVUxMKTsKK30KKworLyoKKyAqIHhtbEZyZWVFbnRpdHkgOiBjbGVhbi11cCBhbiBlbnRpdHkgcmVjb3JkLgorICovCitzdGF0aWMgdm9pZAoreG1sRnJlZUVudGl0eSh4bWxFbnRpdHlQdHIgZW50aXR5KQoreworICAgIHhtbERpY3RQdHIgZGljdCA9IE5VTEw7CisKKyAgICBpZiAoZW50aXR5ID09IE5VTEwpCisgICAgICAgIHJldHVybjsKKworICAgIGlmIChlbnRpdHktPmRvYyAhPSBOVUxMKQorICAgICAgICBkaWN0ID0gZW50aXR5LT5kb2MtPmRpY3Q7CisKKworICAgIGlmICgoZW50aXR5LT5jaGlsZHJlbikgJiYgKGVudGl0eS0+b3duZXIgPT0gMSkgJiYKKyAgICAgICAgKGVudGl0eSA9PSAoeG1sRW50aXR5UHRyKSBlbnRpdHktPmNoaWxkcmVuLT5wYXJlbnQpKQorICAgICAgICB4bWxGcmVlTm9kZUxpc3QoZW50aXR5LT5jaGlsZHJlbik7CisgICAgaWYgKGRpY3QgIT0gTlVMTCkgeworICAgICAgICBpZiAoKGVudGl0eS0+bmFtZSAhPSBOVUxMKSAmJiAoIXhtbERpY3RPd25zKGRpY3QsIGVudGl0eS0+bmFtZSkpKQorICAgICAgICAgICAgeG1sRnJlZSgoY2hhciAqKSBlbnRpdHktPm5hbWUpOworICAgICAgICBpZiAoKGVudGl0eS0+RXh0ZXJuYWxJRCAhPSBOVUxMKSAmJgorCSAgICAoIXhtbERpY3RPd25zKGRpY3QsIGVudGl0eS0+RXh0ZXJuYWxJRCkpKQorICAgICAgICAgICAgeG1sRnJlZSgoY2hhciAqKSBlbnRpdHktPkV4dGVybmFsSUQpOworICAgICAgICBpZiAoKGVudGl0eS0+U3lzdGVtSUQgIT0gTlVMTCkgJiYKKwkgICAgKCF4bWxEaWN0T3ducyhkaWN0LCBlbnRpdHktPlN5c3RlbUlEKSkpCisgICAgICAgICAgICB4bWxGcmVlKChjaGFyICopIGVudGl0eS0+U3lzdGVtSUQpOworICAgICAgICBpZiAoKGVudGl0eS0+VVJJICE9IE5VTEwpICYmICgheG1sRGljdE93bnMoZGljdCwgZW50aXR5LT5VUkkpKSkKKyAgICAgICAgICAgIHhtbEZyZWUoKGNoYXIgKikgZW50aXR5LT5VUkkpOworICAgICAgICBpZiAoKGVudGl0eS0+Y29udGVudCAhPSBOVUxMKQorICAgICAgICAgICAgJiYgKCF4bWxEaWN0T3ducyhkaWN0LCBlbnRpdHktPmNvbnRlbnQpKSkKKyAgICAgICAgICAgIHhtbEZyZWUoKGNoYXIgKikgZW50aXR5LT5jb250ZW50KTsKKyAgICAgICAgaWYgKChlbnRpdHktPm9yaWcgIT0gTlVMTCkgJiYgKCF4bWxEaWN0T3ducyhkaWN0LCBlbnRpdHktPm9yaWcpKSkKKyAgICAgICAgICAgIHhtbEZyZWUoKGNoYXIgKikgZW50aXR5LT5vcmlnKTsKKyAgICB9IGVsc2UgeworICAgICAgICBpZiAoZW50aXR5LT5uYW1lICE9IE5VTEwpCisgICAgICAgICAgICB4bWxGcmVlKChjaGFyICopIGVudGl0eS0+bmFtZSk7CisgICAgICAgIGlmIChlbnRpdHktPkV4dGVybmFsSUQgIT0gTlVMTCkKKyAgICAgICAgICAgIHhtbEZyZWUoKGNoYXIgKikgZW50aXR5LT5FeHRlcm5hbElEKTsKKyAgICAgICAgaWYgKGVudGl0eS0+U3lzdGVtSUQgIT0gTlVMTCkKKyAgICAgICAgICAgIHhtbEZyZWUoKGNoYXIgKikgZW50aXR5LT5TeXN0ZW1JRCk7CisgICAgICAgIGlmIChlbnRpdHktPlVSSSAhPSBOVUxMKQorICAgICAgICAgICAgeG1sRnJlZSgoY2hhciAqKSBlbnRpdHktPlVSSSk7CisgICAgICAgIGlmIChlbnRpdHktPmNvbnRlbnQgIT0gTlVMTCkKKyAgICAgICAgICAgIHhtbEZyZWUoKGNoYXIgKikgZW50aXR5LT5jb250ZW50KTsKKyAgICAgICAgaWYgKGVudGl0eS0+b3JpZyAhPSBOVUxMKQorICAgICAgICAgICAgeG1sRnJlZSgoY2hhciAqKSBlbnRpdHktPm9yaWcpOworICAgIH0KKyAgICB4bWxGcmVlKGVudGl0eSk7Cit9CisKKy8qCisgKiB4bWxDcmVhdGVFbnRpdHk6CisgKgorICogaW50ZXJuYWwgcm91dGluZSBkb2luZyB0aGUgZW50aXR5IG5vZGUgc3RydXR1cmVzIGFsbG9jYXRpb25zCisgKi8KK3N0YXRpYyB4bWxFbnRpdHlQdHIKK3htbENyZWF0ZUVudGl0eSh4bWxEaWN0UHRyIGRpY3QsIGNvbnN0IHhtbENoYXIgKm5hbWUsIGludCB0eXBlLAorCSAgICAgICAgY29uc3QgeG1sQ2hhciAqRXh0ZXJuYWxJRCwgY29uc3QgeG1sQ2hhciAqU3lzdGVtSUQsCisJICAgICAgICBjb25zdCB4bWxDaGFyICpjb250ZW50KSB7CisgICAgeG1sRW50aXR5UHRyIHJldDsKKworICAgIHJldCA9ICh4bWxFbnRpdHlQdHIpIHhtbE1hbGxvYyhzaXplb2YoeG1sRW50aXR5KSk7CisgICAgaWYgKHJldCA9PSBOVUxMKSB7CisgICAgICAgIHhtbEVudGl0aWVzRXJyTWVtb3J5KCJ4bWxDcmVhdGVFbnRpdHk6IG1hbGxvYyBmYWlsZWQiKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIG1lbXNldChyZXQsIDAsIHNpemVvZih4bWxFbnRpdHkpKTsKKyAgICByZXQtPnR5cGUgPSBYTUxfRU5USVRZX0RFQ0w7CisgICAgcmV0LT5jaGVja2VkID0gMDsKKworICAgIC8qCisgICAgICogZmlsbCB0aGUgc3RydWN0dXJlLgorICAgICAqLworICAgIHJldC0+ZXR5cGUgPSAoeG1sRW50aXR5VHlwZSkgdHlwZTsKKyAgICBpZiAoZGljdCA9PSBOVUxMKSB7CisJcmV0LT5uYW1lID0geG1sU3RyZHVwKG5hbWUpOworCWlmIChFeHRlcm5hbElEICE9IE5VTEwpCisJICAgIHJldC0+RXh0ZXJuYWxJRCA9IHhtbFN0cmR1cChFeHRlcm5hbElEKTsKKwlpZiAoU3lzdGVtSUQgIT0gTlVMTCkKKwkgICAgcmV0LT5TeXN0ZW1JRCA9IHhtbFN0cmR1cChTeXN0ZW1JRCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgcmV0LT5uYW1lID0geG1sRGljdExvb2t1cChkaWN0LCBuYW1lLCAtMSk7CisJaWYgKEV4dGVybmFsSUQgIT0gTlVMTCkKKwkgICAgcmV0LT5FeHRlcm5hbElEID0geG1sRGljdExvb2t1cChkaWN0LCBFeHRlcm5hbElELCAtMSk7CisJaWYgKFN5c3RlbUlEICE9IE5VTEwpCisJICAgIHJldC0+U3lzdGVtSUQgPSB4bWxEaWN0TG9va3VwKGRpY3QsIFN5c3RlbUlELCAtMSk7CisgICAgfQorICAgIGlmIChjb250ZW50ICE9IE5VTEwpIHsKKyAgICAgICAgcmV0LT5sZW5ndGggPSB4bWxTdHJsZW4oY29udGVudCk7CisJaWYgKChkaWN0ICE9IE5VTEwpICYmIChyZXQtPmxlbmd0aCA8IDUpKQorCSAgICByZXQtPmNvbnRlbnQgPSAoeG1sQ2hhciAqKQorCSAgICAgICAgICAgICAgICAgICB4bWxEaWN0TG9va3VwKGRpY3QsIGNvbnRlbnQsIHJldC0+bGVuZ3RoKTsKKwllbHNlCisJICAgIHJldC0+Y29udGVudCA9IHhtbFN0cm5kdXAoY29udGVudCwgcmV0LT5sZW5ndGgpOworICAgICB9IGVsc2UgeworICAgICAgICByZXQtPmxlbmd0aCA9IDA7CisgICAgICAgIHJldC0+Y29udGVudCA9IE5VTEw7CisgICAgfQorICAgIHJldC0+VVJJID0gTlVMTDsgLyogdG8gYmUgY29tcHV0ZWQgYnkgdGhlIGxheWVyIGtub3dpbmcKKwkJCXRoZSBkZWZpbmluZyBlbnRpdHkgKi8KKyAgICByZXQtPm9yaWcgPSBOVUxMOworICAgIHJldC0+b3duZXIgPSAwOworCisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qCisgKiB4bWxBZGRFbnRpdHkgOiByZWdpc3RlciBhIG5ldyBlbnRpdHkgZm9yIGFuIGVudGl0aWVzIHRhYmxlLgorICovCitzdGF0aWMgeG1sRW50aXR5UHRyCit4bWxBZGRFbnRpdHkoeG1sRHRkUHRyIGR0ZCwgY29uc3QgeG1sQ2hhciAqbmFtZSwgaW50IHR5cGUsCisJICBjb25zdCB4bWxDaGFyICpFeHRlcm5hbElELCBjb25zdCB4bWxDaGFyICpTeXN0ZW1JRCwKKwkgIGNvbnN0IHhtbENoYXIgKmNvbnRlbnQpIHsKKyAgICB4bWxEaWN0UHRyIGRpY3QgPSBOVUxMOworICAgIHhtbEVudGl0aWVzVGFibGVQdHIgdGFibGUgPSBOVUxMOworICAgIHhtbEVudGl0eVB0ciByZXQ7CisKKyAgICBpZiAobmFtZSA9PSBOVUxMKQorCXJldHVybihOVUxMKTsKKyAgICBpZiAoZHRkID09IE5VTEwpCisJcmV0dXJuKE5VTEwpOworICAgIGlmIChkdGQtPmRvYyAhPSBOVUxMKQorICAgICAgICBkaWN0ID0gZHRkLT5kb2MtPmRpY3Q7CisKKyAgICBzd2l0Y2ggKHR5cGUpIHsKKyAgICAgICAgY2FzZSBYTUxfSU5URVJOQUxfR0VORVJBTF9FTlRJVFk6CisgICAgICAgIGNhc2UgWE1MX0VYVEVSTkFMX0dFTkVSQUxfUEFSU0VEX0VOVElUWToKKyAgICAgICAgY2FzZSBYTUxfRVhURVJOQUxfR0VORVJBTF9VTlBBUlNFRF9FTlRJVFk6CisJICAgIGlmIChkdGQtPmVudGl0aWVzID09IE5VTEwpCisJCWR0ZC0+ZW50aXRpZXMgPSB4bWxIYXNoQ3JlYXRlRGljdCgwLCBkaWN0KTsKKwkgICAgdGFibGUgPSBkdGQtPmVudGl0aWVzOworCSAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfSU5URVJOQUxfUEFSQU1FVEVSX0VOVElUWToKKyAgICAgICAgY2FzZSBYTUxfRVhURVJOQUxfUEFSQU1FVEVSX0VOVElUWToKKwkgICAgaWYgKGR0ZC0+cGVudGl0aWVzID09IE5VTEwpCisJCWR0ZC0+cGVudGl0aWVzID0geG1sSGFzaENyZWF0ZURpY3QoMCwgZGljdCk7CisJICAgIHRhYmxlID0gZHRkLT5wZW50aXRpZXM7CisJICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9JTlRFUk5BTF9QUkVERUZJTkVEX0VOVElUWToKKwkgICAgcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBpZiAodGFibGUgPT0gTlVMTCkKKwlyZXR1cm4oTlVMTCk7CisgICAgcmV0ID0geG1sQ3JlYXRlRW50aXR5KGRpY3QsIG5hbWUsIHR5cGUsIEV4dGVybmFsSUQsIFN5c3RlbUlELCBjb250ZW50KTsKKyAgICBpZiAocmV0ID09IE5VTEwpCisgICAgICAgIHJldHVybihOVUxMKTsKKyAgICByZXQtPmRvYyA9IGR0ZC0+ZG9jOworCisgICAgaWYgKHhtbEhhc2hBZGRFbnRyeSh0YWJsZSwgbmFtZSwgcmV0KSkgeworCS8qCisJICogZW50aXR5IHdhcyBhbHJlYWR5IGRlZmluZWQgYXQgYW5vdGhlciBsZXZlbC4KKwkgKi8KKyAgICAgICAgeG1sRnJlZUVudGl0eShyZXQpOworCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogeG1sR2V0UHJlZGVmaW5lZEVudGl0eToKKyAqIEBuYW1lOiAgdGhlIGVudGl0eSBuYW1lCisgKgorICogQ2hlY2sgd2hldGhlciB0aGlzIG5hbWUgaXMgYW4gcHJlZGVmaW5lZCBlbnRpdHkuCisgKgorICogUmV0dXJucyBOVUxMIGlmIG5vdCwgb3RoZXJ3aXNlIHRoZSBlbnRpdHkKKyAqLworeG1sRW50aXR5UHRyCit4bWxHZXRQcmVkZWZpbmVkRW50aXR5KGNvbnN0IHhtbENoYXIgKm5hbWUpIHsKKyAgICBpZiAobmFtZSA9PSBOVUxMKSByZXR1cm4oTlVMTCk7CisgICAgc3dpdGNoIChuYW1lWzBdKSB7CisgICAgICAgIGNhc2UgJ2wnOgorCSAgICBpZiAoeG1sU3RyRXF1YWwobmFtZSwgQkFEX0NBU1QgImx0IikpCisJICAgICAgICByZXR1cm4oJnhtbEVudGl0eUx0KTsKKwkgICAgYnJlYWs7CisgICAgICAgIGNhc2UgJ2cnOgorCSAgICBpZiAoeG1sU3RyRXF1YWwobmFtZSwgQkFEX0NBU1QgImd0IikpCisJICAgICAgICByZXR1cm4oJnhtbEVudGl0eUd0KTsKKwkgICAgYnJlYWs7CisgICAgICAgIGNhc2UgJ2EnOgorCSAgICBpZiAoeG1sU3RyRXF1YWwobmFtZSwgQkFEX0NBU1QgImFtcCIpKQorCSAgICAgICAgcmV0dXJuKCZ4bWxFbnRpdHlBbXApOworCSAgICBpZiAoeG1sU3RyRXF1YWwobmFtZSwgQkFEX0NBU1QgImFwb3MiKSkKKwkgICAgICAgIHJldHVybigmeG1sRW50aXR5QXBvcyk7CisJICAgIGJyZWFrOworICAgICAgICBjYXNlICdxJzoKKwkgICAgaWYgKHhtbFN0ckVxdWFsKG5hbWUsIEJBRF9DQVNUICJxdW90IikpCisJICAgICAgICByZXR1cm4oJnhtbEVudGl0eVF1b3QpOworCSAgICBicmVhazsKKwlkZWZhdWx0OgorCSAgICBicmVhazsKKyAgICB9CisgICAgcmV0dXJuKE5VTEwpOworfQorCisvKioKKyAqIHhtbEFkZER0ZEVudGl0eToKKyAqIEBkb2M6ICB0aGUgZG9jdW1lbnQKKyAqIEBuYW1lOiAgdGhlIGVudGl0eSBuYW1lCisgKiBAdHlwZTogIHRoZSBlbnRpdHkgdHlwZSBYTUxfeHh4X3l5eV9FTlRJVFkKKyAqIEBFeHRlcm5hbElEOiAgdGhlIGVudGl0eSBleHRlcm5hbCBJRCBpZiBhdmFpbGFibGUKKyAqIEBTeXN0ZW1JRDogIHRoZSBlbnRpdHkgc3lzdGVtIElEIGlmIGF2YWlsYWJsZQorICogQGNvbnRlbnQ6ICB0aGUgZW50aXR5IGNvbnRlbnQKKyAqCisgKiBSZWdpc3RlciBhIG5ldyBlbnRpdHkgZm9yIHRoaXMgZG9jdW1lbnQgRFREIGV4dGVybmFsIHN1YnNldC4KKyAqCisgKiBSZXR1cm5zIGEgcG9pbnRlciB0byB0aGUgZW50aXR5IG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcgorICovCit4bWxFbnRpdHlQdHIKK3htbEFkZER0ZEVudGl0eSh4bWxEb2NQdHIgZG9jLCBjb25zdCB4bWxDaGFyICpuYW1lLCBpbnQgdHlwZSwKKwkgICAgICAgIGNvbnN0IHhtbENoYXIgKkV4dGVybmFsSUQsIGNvbnN0IHhtbENoYXIgKlN5c3RlbUlELAorCQljb25zdCB4bWxDaGFyICpjb250ZW50KSB7CisgICAgeG1sRW50aXR5UHRyIHJldDsKKyAgICB4bWxEdGRQdHIgZHRkOworCisgICAgaWYgKGRvYyA9PSBOVUxMKSB7CisJeG1sRW50aXRpZXNFcnIoWE1MX0RURF9OT19ET0MsCisJICAgICAgICAieG1sQWRkRHRkRW50aXR5OiBkb2N1bWVudCBpcyBOVUxMIik7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBpZiAoZG9jLT5leHRTdWJzZXQgPT0gTlVMTCkgeworCXhtbEVudGl0aWVzRXJyKFhNTF9EVERfTk9fRFRELAorCSAgICAgICAgInhtbEFkZER0ZEVudGl0eTogZG9jdW1lbnQgd2l0aG91dCBleHRlcm5hbCBzdWJzZXQiKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIGR0ZCA9IGRvYy0+ZXh0U3Vic2V0OworICAgIHJldCA9IHhtbEFkZEVudGl0eShkdGQsIG5hbWUsIHR5cGUsIEV4dGVybmFsSUQsIFN5c3RlbUlELCBjb250ZW50KTsKKyAgICBpZiAocmV0ID09IE5VTEwpIHJldHVybihOVUxMKTsKKworICAgIC8qCisgICAgICogTGluayBpdCB0byB0aGUgRFRECisgICAgICovCisgICAgcmV0LT5wYXJlbnQgPSBkdGQ7CisgICAgcmV0LT5kb2MgPSBkdGQtPmRvYzsKKyAgICBpZiAoZHRkLT5sYXN0ID09IE5VTEwpIHsKKwlkdGQtPmNoaWxkcmVuID0gZHRkLT5sYXN0ID0gKHhtbE5vZGVQdHIpIHJldDsKKyAgICB9IGVsc2UgeworICAgICAgICBkdGQtPmxhc3QtPm5leHQgPSAoeG1sTm9kZVB0cikgcmV0OworCXJldC0+cHJldiA9IGR0ZC0+bGFzdDsKKwlkdGQtPmxhc3QgPSAoeG1sTm9kZVB0cikgcmV0OworICAgIH0KKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxBZGREb2NFbnRpdHk6CisgKiBAZG9jOiAgdGhlIGRvY3VtZW50CisgKiBAbmFtZTogIHRoZSBlbnRpdHkgbmFtZQorICogQHR5cGU6ICB0aGUgZW50aXR5IHR5cGUgWE1MX3h4eF95eXlfRU5USVRZCisgKiBARXh0ZXJuYWxJRDogIHRoZSBlbnRpdHkgZXh0ZXJuYWwgSUQgaWYgYXZhaWxhYmxlCisgKiBAU3lzdGVtSUQ6ICB0aGUgZW50aXR5IHN5c3RlbSBJRCBpZiBhdmFpbGFibGUKKyAqIEBjb250ZW50OiAgdGhlIGVudGl0eSBjb250ZW50CisgKgorICogUmVnaXN0ZXIgYSBuZXcgZW50aXR5IGZvciB0aGlzIGRvY3VtZW50LgorICoKKyAqIFJldHVybnMgYSBwb2ludGVyIHRvIHRoZSBlbnRpdHkgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3htbEVudGl0eVB0cgoreG1sQWRkRG9jRW50aXR5KHhtbERvY1B0ciBkb2MsIGNvbnN0IHhtbENoYXIgKm5hbWUsIGludCB0eXBlLAorCSAgICAgICAgY29uc3QgeG1sQ2hhciAqRXh0ZXJuYWxJRCwgY29uc3QgeG1sQ2hhciAqU3lzdGVtSUQsCisJICAgICAgICBjb25zdCB4bWxDaGFyICpjb250ZW50KSB7CisgICAgeG1sRW50aXR5UHRyIHJldDsKKyAgICB4bWxEdGRQdHIgZHRkOworCisgICAgaWYgKGRvYyA9PSBOVUxMKSB7CisJeG1sRW50aXRpZXNFcnIoWE1MX0RURF9OT19ET0MsCisJICAgICAgICAieG1sQWRkRG9jRW50aXR5OiBkb2N1bWVudCBpcyBOVUxMIik7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBpZiAoZG9jLT5pbnRTdWJzZXQgPT0gTlVMTCkgeworCXhtbEVudGl0aWVzRXJyKFhNTF9EVERfTk9fRFRELAorCSAgICAgICAgInhtbEFkZERvY0VudGl0eTogZG9jdW1lbnQgd2l0aG91dCBpbnRlcm5hbCBzdWJzZXQiKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIGR0ZCA9IGRvYy0+aW50U3Vic2V0OworICAgIHJldCA9IHhtbEFkZEVudGl0eShkdGQsIG5hbWUsIHR5cGUsIEV4dGVybmFsSUQsIFN5c3RlbUlELCBjb250ZW50KTsKKyAgICBpZiAocmV0ID09IE5VTEwpIHJldHVybihOVUxMKTsKKworICAgIC8qCisgICAgICogTGluayBpdCB0byB0aGUgRFRECisgICAgICovCisgICAgcmV0LT5wYXJlbnQgPSBkdGQ7CisgICAgcmV0LT5kb2MgPSBkdGQtPmRvYzsKKyAgICBpZiAoZHRkLT5sYXN0ID09IE5VTEwpIHsKKwlkdGQtPmNoaWxkcmVuID0gZHRkLT5sYXN0ID0gKHhtbE5vZGVQdHIpIHJldDsKKyAgICB9IGVsc2UgeworCWR0ZC0+bGFzdC0+bmV4dCA9ICh4bWxOb2RlUHRyKSByZXQ7CisJcmV0LT5wcmV2ID0gZHRkLT5sYXN0OworCWR0ZC0+bGFzdCA9ICh4bWxOb2RlUHRyKSByZXQ7CisgICAgfQorICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbE5ld0VudGl0eToKKyAqIEBkb2M6ICB0aGUgZG9jdW1lbnQKKyAqIEBuYW1lOiAgdGhlIGVudGl0eSBuYW1lCisgKiBAdHlwZTogIHRoZSBlbnRpdHkgdHlwZSBYTUxfeHh4X3l5eV9FTlRJVFkKKyAqIEBFeHRlcm5hbElEOiAgdGhlIGVudGl0eSBleHRlcm5hbCBJRCBpZiBhdmFpbGFibGUKKyAqIEBTeXN0ZW1JRDogIHRoZSBlbnRpdHkgc3lzdGVtIElEIGlmIGF2YWlsYWJsZQorICogQGNvbnRlbnQ6ICB0aGUgZW50aXR5IGNvbnRlbnQKKyAqCisgKiBDcmVhdGUgYSBuZXcgZW50aXR5LCB0aGlzIGRpZmZlcnMgZnJvbSB4bWxBZGREb2NFbnRpdHkoKSB0aGF0IGlmCisgKiB0aGUgZG9jdW1lbnQgaXMgTlVMTCBvciBoYXMgbm8gaW50ZXJuYWwgc3Vic2V0IGRlZmluZWQsIHRoZW4gYW4KKyAqIHVubGlua2VkIGVudGl0eSBzdHJ1Y3R1cmUgd2lsbCBiZSByZXR1cm5lZCwgaXQgaXMgdGhlbiB0aGUgcmVzcG9uc2FiaWxpdHkKKyAqIG9mIHRoZSBjYWxsZXIgdG8gbGluayBpdCB0byB0aGUgZG9jdW1lbnQgbGF0ZXIgb3IgZnJlZSBpdCB3aGVuIG5vdCBuZWVkZWQKKyAqIGFueW1vcmUuCisgKgorICogUmV0dXJucyBhIHBvaW50ZXIgdG8gdGhlIGVudGl0eSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworeG1sRW50aXR5UHRyCit4bWxOZXdFbnRpdHkoeG1sRG9jUHRyIGRvYywgY29uc3QgeG1sQ2hhciAqbmFtZSwgaW50IHR5cGUsCisJICAgICBjb25zdCB4bWxDaGFyICpFeHRlcm5hbElELCBjb25zdCB4bWxDaGFyICpTeXN0ZW1JRCwKKwkgICAgIGNvbnN0IHhtbENoYXIgKmNvbnRlbnQpIHsKKyAgICB4bWxFbnRpdHlQdHIgcmV0OworICAgIHhtbERpY3RQdHIgZGljdDsKKworICAgIGlmICgoZG9jICE9IE5VTEwpICYmIChkb2MtPmludFN1YnNldCAhPSBOVUxMKSkgeworCXJldHVybih4bWxBZGREb2NFbnRpdHkoZG9jLCBuYW1lLCB0eXBlLCBFeHRlcm5hbElELCBTeXN0ZW1JRCwgY29udGVudCkpOworICAgIH0KKyAgICBpZiAoZG9jICE9IE5VTEwpCisgICAgICAgIGRpY3QgPSBkb2MtPmRpY3Q7CisgICAgZWxzZQorICAgICAgICBkaWN0ID0gTlVMTDsKKyAgICByZXQgPSB4bWxDcmVhdGVFbnRpdHkoZGljdCwgbmFtZSwgdHlwZSwgRXh0ZXJuYWxJRCwgU3lzdGVtSUQsIGNvbnRlbnQpOworICAgIGlmIChyZXQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuKE5VTEwpOworICAgIHJldC0+ZG9jID0gZG9jOworICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbEdldEVudGl0eUZyb21UYWJsZToKKyAqIEB0YWJsZTogIGFuIGVudGl0eSB0YWJsZQorICogQG5hbWU6ICB0aGUgZW50aXR5IG5hbWUKKyAqIEBwYXJhbWV0ZXI6ICBsb29rIGZvciBwYXJhbWV0ZXIgZW50aXRpZXMKKyAqCisgKiBEbyBhbiBlbnRpdHkgbG9va3VwIGluIHRoZSB0YWJsZS4KKyAqIHJldHVybnMgdGhlIGNvcnJlc3BvbmRpbmcgcGFyYW1ldGVyIGVudGl0eSwgaWYgZm91bmQuCisgKgorICogUmV0dXJucyBBIHBvaW50ZXIgdG8gdGhlIGVudGl0eSBzdHJ1Y3R1cmUgb3IgTlVMTCBpZiBub3QgZm91bmQuCisgKi8KK3N0YXRpYyB4bWxFbnRpdHlQdHIKK3htbEdldEVudGl0eUZyb21UYWJsZSh4bWxFbnRpdGllc1RhYmxlUHRyIHRhYmxlLCBjb25zdCB4bWxDaGFyICpuYW1lKSB7CisgICAgcmV0dXJuKCh4bWxFbnRpdHlQdHIpIHhtbEhhc2hMb29rdXAodGFibGUsIG5hbWUpKTsKK30KKworLyoqCisgKiB4bWxHZXRQYXJhbWV0ZXJFbnRpdHk6CisgKiBAZG9jOiAgdGhlIGRvY3VtZW50IHJlZmVyZW5jaW5nIHRoZSBlbnRpdHkKKyAqIEBuYW1lOiAgdGhlIGVudGl0eSBuYW1lCisgKgorICogRG8gYW4gZW50aXR5IGxvb2t1cCBpbiB0aGUgaW50ZXJuYWwgYW5kIGV4dGVybmFsIHN1YnNldHMgYW5kCisgKiByZXR1cm5zIHRoZSBjb3JyZXNwb25kaW5nIHBhcmFtZXRlciBlbnRpdHksIGlmIGZvdW5kLgorICoKKyAqIFJldHVybnMgQSBwb2ludGVyIHRvIHRoZSBlbnRpdHkgc3RydWN0dXJlIG9yIE5VTEwgaWYgbm90IGZvdW5kLgorICovCit4bWxFbnRpdHlQdHIKK3htbEdldFBhcmFtZXRlckVudGl0eSh4bWxEb2NQdHIgZG9jLCBjb25zdCB4bWxDaGFyICpuYW1lKSB7CisgICAgeG1sRW50aXRpZXNUYWJsZVB0ciB0YWJsZTsKKyAgICB4bWxFbnRpdHlQdHIgcmV0OworCisgICAgaWYgKGRvYyA9PSBOVUxMKQorCXJldHVybihOVUxMKTsKKyAgICBpZiAoKGRvYy0+aW50U3Vic2V0ICE9IE5VTEwpICYmIChkb2MtPmludFN1YnNldC0+cGVudGl0aWVzICE9IE5VTEwpKSB7CisJdGFibGUgPSAoeG1sRW50aXRpZXNUYWJsZVB0cikgZG9jLT5pbnRTdWJzZXQtPnBlbnRpdGllczsKKwlyZXQgPSB4bWxHZXRFbnRpdHlGcm9tVGFibGUodGFibGUsIG5hbWUpOworCWlmIChyZXQgIT0gTlVMTCkKKwkgICAgcmV0dXJuKHJldCk7CisgICAgfQorICAgIGlmICgoZG9jLT5leHRTdWJzZXQgIT0gTlVMTCkgJiYgKGRvYy0+ZXh0U3Vic2V0LT5wZW50aXRpZXMgIT0gTlVMTCkpIHsKKwl0YWJsZSA9ICh4bWxFbnRpdGllc1RhYmxlUHRyKSBkb2MtPmV4dFN1YnNldC0+cGVudGl0aWVzOworCXJldHVybih4bWxHZXRFbnRpdHlGcm9tVGFibGUodGFibGUsIG5hbWUpKTsKKyAgICB9CisgICAgcmV0dXJuKE5VTEwpOworfQorCisvKioKKyAqIHhtbEdldER0ZEVudGl0eToKKyAqIEBkb2M6ICB0aGUgZG9jdW1lbnQgcmVmZXJlbmNpbmcgdGhlIGVudGl0eQorICogQG5hbWU6ICB0aGUgZW50aXR5IG5hbWUKKyAqCisgKiBEbyBhbiBlbnRpdHkgbG9va3VwIGluIHRoZSBEVEQgZW50aXR5IGhhc2ggdGFibGUgYW5kCisgKiByZXR1cm5zIHRoZSBjb3JyZXNwb25kaW5nIGVudGl0eSwgaWYgZm91bmQuCisgKiBOb3RlOiB0aGUgZmlyc3QgYXJndW1lbnQgaXMgdGhlIGRvY3VtZW50IG5vZGUsIG5vdCB0aGUgRFREIG5vZGUuCisgKgorICogUmV0dXJucyBBIHBvaW50ZXIgdG8gdGhlIGVudGl0eSBzdHJ1Y3R1cmUgb3IgTlVMTCBpZiBub3QgZm91bmQuCisgKi8KK3htbEVudGl0eVB0cgoreG1sR2V0RHRkRW50aXR5KHhtbERvY1B0ciBkb2MsIGNvbnN0IHhtbENoYXIgKm5hbWUpIHsKKyAgICB4bWxFbnRpdGllc1RhYmxlUHRyIHRhYmxlOworCisgICAgaWYgKGRvYyA9PSBOVUxMKQorCXJldHVybihOVUxMKTsKKyAgICBpZiAoKGRvYy0+ZXh0U3Vic2V0ICE9IE5VTEwpICYmIChkb2MtPmV4dFN1YnNldC0+ZW50aXRpZXMgIT0gTlVMTCkpIHsKKwl0YWJsZSA9ICh4bWxFbnRpdGllc1RhYmxlUHRyKSBkb2MtPmV4dFN1YnNldC0+ZW50aXRpZXM7CisJcmV0dXJuKHhtbEdldEVudGl0eUZyb21UYWJsZSh0YWJsZSwgbmFtZSkpOworICAgIH0KKyAgICByZXR1cm4oTlVMTCk7Cit9CisKKy8qKgorICogeG1sR2V0RG9jRW50aXR5OgorICogQGRvYzogIHRoZSBkb2N1bWVudCByZWZlcmVuY2luZyB0aGUgZW50aXR5CisgKiBAbmFtZTogIHRoZSBlbnRpdHkgbmFtZQorICoKKyAqIERvIGFuIGVudGl0eSBsb29rdXAgaW4gdGhlIGRvY3VtZW50IGVudGl0eSBoYXNoIHRhYmxlIGFuZAorICogcmV0dXJucyB0aGUgY29ycmVzcG9uZGluZyBlbnRpdHksIG90aGVyd2lzZSBhIGxvb2t1cCBpcyBkb25lCisgKiBpbiB0aGUgcHJlZGVmaW5lZCBlbnRpdGllcyB0b28uCisgKgorICogUmV0dXJucyBBIHBvaW50ZXIgdG8gdGhlIGVudGl0eSBzdHJ1Y3R1cmUgb3IgTlVMTCBpZiBub3QgZm91bmQuCisgKi8KK3htbEVudGl0eVB0cgoreG1sR2V0RG9jRW50aXR5KGNvbnN0IHhtbERvYyAqZG9jLCBjb25zdCB4bWxDaGFyICpuYW1lKSB7CisgICAgeG1sRW50aXR5UHRyIGN1cjsKKyAgICB4bWxFbnRpdGllc1RhYmxlUHRyIHRhYmxlOworCisgICAgaWYgKGRvYyAhPSBOVUxMKSB7CisJaWYgKChkb2MtPmludFN1YnNldCAhPSBOVUxMKSAmJiAoZG9jLT5pbnRTdWJzZXQtPmVudGl0aWVzICE9IE5VTEwpKSB7CisJICAgIHRhYmxlID0gKHhtbEVudGl0aWVzVGFibGVQdHIpIGRvYy0+aW50U3Vic2V0LT5lbnRpdGllczsKKwkgICAgY3VyID0geG1sR2V0RW50aXR5RnJvbVRhYmxlKHRhYmxlLCBuYW1lKTsKKwkgICAgaWYgKGN1ciAhPSBOVUxMKQorCQlyZXR1cm4oY3VyKTsKKwl9CisJaWYgKGRvYy0+c3RhbmRhbG9uZSAhPSAxKSB7CisJICAgIGlmICgoZG9jLT5leHRTdWJzZXQgIT0gTlVMTCkgJiYKKwkJKGRvYy0+ZXh0U3Vic2V0LT5lbnRpdGllcyAhPSBOVUxMKSkgeworCQl0YWJsZSA9ICh4bWxFbnRpdGllc1RhYmxlUHRyKSBkb2MtPmV4dFN1YnNldC0+ZW50aXRpZXM7CisJCWN1ciA9IHhtbEdldEVudGl0eUZyb21UYWJsZSh0YWJsZSwgbmFtZSk7CisJCWlmIChjdXIgIT0gTlVMTCkKKwkJICAgIHJldHVybihjdXIpOworCSAgICB9CisJfQorICAgIH0KKyAgICByZXR1cm4oeG1sR2V0UHJlZGVmaW5lZEVudGl0eShuYW1lKSk7Cit9CisKKy8qCisgKiBNYWNybyB1c2VkIHRvIGdyb3cgdGhlIGN1cnJlbnQgYnVmZmVyLgorICovCisjZGVmaW5lIGdyb3dCdWZmZXJSZWVudHJhbnQoKSB7CQkJCQkJXAorICAgIHhtbENoYXIgKnRtcDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHNpemVfdCBuZXdfc2l6ZSA9IGJ1ZmZlcl9zaXplICogMjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGlmIChuZXdfc2l6ZSA8IGJ1ZmZlcl9zaXplKSBnb3RvIG1lbV9lcnJvcjsgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHRtcCA9ICh4bWxDaGFyICopIHhtbFJlYWxsb2MoYnVmZmVyLCBuZXdfc2l6ZSk7CSAgICAgICAgICAgICAgICBcCisgICAgaWYgKHRtcCA9PSBOVUxMKSBnb3RvIG1lbV9lcnJvcjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgYnVmZmVyID0gdG1wOwkJCQkJCQlcCisgICAgYnVmZmVyX3NpemUgPSBuZXdfc2l6ZTsJCQkJCQlcCit9CisKKy8qKgorICogeG1sRW5jb2RlRW50aXRpZXNJbnRlcm5hbDoKKyAqIEBkb2M6ICB0aGUgZG9jdW1lbnQgY29udGFpbmluZyB0aGUgc3RyaW5nCisgKiBAaW5wdXQ6ICBBIHN0cmluZyB0byBjb252ZXJ0IHRvIFhNTC4KKyAqIEBhdHRyOiBhcmUgd2UgaGFuZGxpbmcgYW4gYXRyYnV0ZSB2YWx1ZQorICoKKyAqIERvIGEgZ2xvYmFsIGVuY29kaW5nIG9mIGEgc3RyaW5nLCByZXBsYWNpbmcgdGhlIHByZWRlZmluZWQgZW50aXRpZXMKKyAqIGFuZCBub24gQVNDSUkgdmFsdWVzIHdpdGggdGhlaXIgZW50aXRpZXMgYW5kIENoYXJSZWYgY291bnRlcnBhcnRzLgorICogQ29udHJhcnkgdG8geG1sRW5jb2RlRW50aXRpZXMsIHRoaXMgcm91dGluZSBpcyByZWVudHJhbnQsIGFuZCByZXN1bHQKKyAqIG11c3QgYmUgZGVhbGxvY2F0ZWQuCisgKgorICogUmV0dXJucyBBIG5ld2x5IGFsbG9jYXRlZCBzdHJpbmcgd2l0aCB0aGUgc3Vic3RpdHV0aW9uIGRvbmUuCisgKi8KK3N0YXRpYyB4bWxDaGFyICoKK3htbEVuY29kZUVudGl0aWVzSW50ZXJuYWwoeG1sRG9jUHRyIGRvYywgY29uc3QgeG1sQ2hhciAqaW5wdXQsIGludCBhdHRyKSB7CisgICAgY29uc3QgeG1sQ2hhciAqY3VyID0gaW5wdXQ7CisgICAgeG1sQ2hhciAqYnVmZmVyID0gTlVMTDsKKyAgICB4bWxDaGFyICpvdXQgPSBOVUxMOworICAgIHNpemVfdCBidWZmZXJfc2l6ZSA9IDA7CisgICAgaW50IGh0bWwgPSAwOworCisgICAgaWYgKGlucHV0ID09IE5VTEwpIHJldHVybihOVUxMKTsKKyAgICBpZiAoZG9jICE9IE5VTEwpCisgICAgICAgIGh0bWwgPSAoZG9jLT50eXBlID09IFhNTF9IVE1MX0RPQ1VNRU5UX05PREUpOworCisgICAgLyoKKyAgICAgKiBhbGxvY2F0ZSBhbiB0cmFuc2xhdGlvbiBidWZmZXIuCisgICAgICovCisgICAgYnVmZmVyX3NpemUgPSAxMDAwOworICAgIGJ1ZmZlciA9ICh4bWxDaGFyICopIHhtbE1hbGxvYyhidWZmZXJfc2l6ZSAqIHNpemVvZih4bWxDaGFyKSk7CisgICAgaWYgKGJ1ZmZlciA9PSBOVUxMKSB7CisgICAgICAgIHhtbEVudGl0aWVzRXJyTWVtb3J5KCJ4bWxFbmNvZGVFbnRpdGllczogbWFsbG9jIGZhaWxlZCIpOworCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgb3V0ID0gYnVmZmVyOworCisgICAgd2hpbGUgKCpjdXIgIT0gJ1wwJykgeworICAgICAgICBzaXplX3QgaW5keCA9IG91dCAtIGJ1ZmZlcjsKKyAgICAgICAgaWYgKGluZHggKyAxMDAgPiBidWZmZXJfc2l6ZSkgeworCisJICAgIGdyb3dCdWZmZXJSZWVudHJhbnQoKTsKKwkgICAgb3V0ID0gJmJ1ZmZlcltpbmR4XTsKKwl9CisKKwkvKgorCSAqIEJ5IGRlZmF1bHQgb25lIGhhdmUgdG8gZW5jb2RlIGF0IGxlYXN0ICc8JywgJz4nLCAnIicgYW5kICcmJyAhCisJICovCisJaWYgKCpjdXIgPT0gJzwnKSB7CisJICAgIGNvbnN0IHhtbENoYXIgKmVuZDsKKworCSAgICAvKgorCSAgICAgKiBTcGVjaWFsIGhhbmRsaW5nIG9mIHNlcnZlciBzaWRlIGluY2x1ZGUgaW4gSFRNTCBhdHRyaWJ1dGVzCisJICAgICAqLworCSAgICBpZiAoaHRtbCAmJiBhdHRyICYmCisJICAgICAgICAoY3VyWzFdID09ICchJykgJiYgKGN1clsyXSA9PSAnLScpICYmIChjdXJbM10gPT0gJy0nKSAmJgorCSAgICAgICAgKChlbmQgPSB4bWxTdHJzdHIoY3VyLCBCQURfQ0FTVCAiLS0+IikpICE9IE5VTEwpKSB7CisJICAgICAgICB3aGlsZSAoY3VyICE9IGVuZCkgeworCQkgICAgKm91dCsrID0gKmN1cisrOworCQkgICAgaW5keCA9IG91dCAtIGJ1ZmZlcjsKKwkJICAgIGlmIChpbmR4ICsgMTAwID4gYnVmZmVyX3NpemUpIHsKKwkJCWdyb3dCdWZmZXJSZWVudHJhbnQoKTsKKwkJCW91dCA9ICZidWZmZXJbaW5keF07CisJCSAgICB9CisJCX0KKwkJKm91dCsrID0gKmN1cisrOworCQkqb3V0KysgPSAqY3VyKys7CisJCSpvdXQrKyA9ICpjdXIrKzsKKwkJY29udGludWU7CisJICAgIH0KKwkgICAgKm91dCsrID0gJyYnOworCSAgICAqb3V0KysgPSAnbCc7CisJICAgICpvdXQrKyA9ICd0JzsKKwkgICAgKm91dCsrID0gJzsnOworCX0gZWxzZSBpZiAoKmN1ciA9PSAnPicpIHsKKwkgICAgKm91dCsrID0gJyYnOworCSAgICAqb3V0KysgPSAnZyc7CisJICAgICpvdXQrKyA9ICd0JzsKKwkgICAgKm91dCsrID0gJzsnOworCX0gZWxzZSBpZiAoKmN1ciA9PSAnJicpIHsKKwkgICAgLyoKKwkgICAgICogU3BlY2lhbCBoYW5kbGluZyBvZiAmey4uLn0gY29uc3RydWN0IGZyb20gSFRNTCA0LCBzZWUKKwkgICAgICogaHR0cDovL3d3dy53My5vcmcvVFIvaHRtbDQwMS9hcHBlbmRpeC9ub3Rlcy5odG1sI2gtQi43LjEKKwkgICAgICovCisJICAgIGlmIChodG1sICYmIGF0dHIgJiYgKGN1clsxXSA9PSAneycpICYmCisJICAgICAgICAoc3RyY2hyKChjb25zdCBjaGFyICopIGN1ciwgJ30nKSkpIHsKKwkgICAgICAgIHdoaWxlICgqY3VyICE9ICd9JykgeworCQkgICAgKm91dCsrID0gKmN1cisrOworCQkgICAgaW5keCA9IG91dCAtIGJ1ZmZlcjsKKwkJICAgIGlmIChpbmR4ICsgMTAwID4gYnVmZmVyX3NpemUpIHsKKwkJCWdyb3dCdWZmZXJSZWVudHJhbnQoKTsKKwkJCW91dCA9ICZidWZmZXJbaW5keF07CisJCSAgICB9CisJCX0KKwkJKm91dCsrID0gKmN1cisrOworCQljb250aW51ZTsKKwkgICAgfQorCSAgICAqb3V0KysgPSAnJic7CisJICAgICpvdXQrKyA9ICdhJzsKKwkgICAgKm91dCsrID0gJ20nOworCSAgICAqb3V0KysgPSAncCc7CisJICAgICpvdXQrKyA9ICc7JzsKKwl9IGVsc2UgaWYgKCgoKmN1ciA+PSAweDIwKSAmJiAoKmN1ciA8IDB4ODApKSB8fAorCSAgICAoKmN1ciA9PSAnXG4nKSB8fCAoKmN1ciA9PSAnXHQnKSB8fCAoKGh0bWwpICYmICgqY3VyID09ICdccicpKSkgeworCSAgICAvKgorCSAgICAgKiBkZWZhdWx0IGNhc2UsIGp1c3QgY29weSAhCisJICAgICAqLworCSAgICAqb3V0KysgPSAqY3VyOworCX0gZWxzZSBpZiAoKmN1ciA+PSAweDgwKSB7CisJICAgIGlmICgoKGRvYyAhPSBOVUxMKSAmJiAoZG9jLT5lbmNvZGluZyAhPSBOVUxMKSkgfHwgKGh0bWwpKSB7CisJCS8qCisJCSAqIEJqw7hybiBSZWVzZSA8YnJAc3NldXNhLmNvbT4gcHJvdmlkZWQgdGhlIHBhdGNoCisJICAgICAgICB4bWxDaGFyIHhjOworCSAgICAgICAgeGMgPSAoKmN1ciAmIDB4M0YpIDw8IDY7CisJICAgICAgICBpZiAoY3VyWzFdICE9IDApIHsKKwkJICAgIHhjICs9ICooKytjdXIpICYgMHgzRjsKKwkJICAgICpvdXQrKyA9IHhjOworCSAgICAgICAgfSBlbHNlCisJCSAqLworCQkqb3V0KysgPSAqY3VyOworCSAgICB9IGVsc2UgeworCQkvKgorCQkgKiBXZSBhc3N1bWUgd2UgaGF2ZSBVVEYtOCBpbnB1dC4KKwkJICovCisJCWNoYXIgYnVmWzExXSwgKnB0cjsKKwkJaW50IHZhbCA9IDAsIGwgPSAxOworCisJCWlmICgqY3VyIDwgMHhDMCkgeworCQkgICAgeG1sRW50aXRpZXNFcnIoWE1MX0NIRUNLX05PVF9VVEY4LAorCQkJICAgICJ4bWxFbmNvZGVFbnRpdGllczogaW5wdXQgbm90IFVURi04Iik7CisJCSAgICBpZiAoZG9jICE9IE5VTEwpCisJCQlkb2MtPmVuY29kaW5nID0geG1sU3RyZHVwKEJBRF9DQVNUICJJU08tODg1OS0xIik7CisJCSAgICBzbnByaW50ZihidWYsIHNpemVvZihidWYpLCAiJiMlZDsiLCAqY3VyKTsKKwkJICAgIGJ1ZltzaXplb2YoYnVmKSAtIDFdID0gMDsKKwkJICAgIHB0ciA9IGJ1ZjsKKwkJICAgIHdoaWxlICgqcHRyICE9IDApICpvdXQrKyA9ICpwdHIrKzsKKwkJICAgIGN1cisrOworCQkgICAgY29udGludWU7CisJCX0gZWxzZSBpZiAoKmN1ciA8IDB4RTApIHsKKyAgICAgICAgICAgICAgICAgICAgdmFsID0gKGN1clswXSkgJiAweDFGOworCQkgICAgdmFsIDw8PSA2OworCQkgICAgdmFsIHw9IChjdXJbMV0pICYgMHgzRjsKKwkJICAgIGwgPSAyOworCQl9IGVsc2UgaWYgKCpjdXIgPCAweEYwKSB7CisgICAgICAgICAgICAgICAgICAgIHZhbCA9IChjdXJbMF0pICYgMHgwRjsKKwkJICAgIHZhbCA8PD0gNjsKKwkJICAgIHZhbCB8PSAoY3VyWzFdKSAmIDB4M0Y7CisJCSAgICB2YWwgPDw9IDY7CisJCSAgICB2YWwgfD0gKGN1clsyXSkgJiAweDNGOworCQkgICAgbCA9IDM7CisJCX0gZWxzZSBpZiAoKmN1ciA8IDB4RjgpIHsKKyAgICAgICAgICAgICAgICAgICAgdmFsID0gKGN1clswXSkgJiAweDA3OworCQkgICAgdmFsIDw8PSA2OworCQkgICAgdmFsIHw9IChjdXJbMV0pICYgMHgzRjsKKwkJICAgIHZhbCA8PD0gNjsKKwkJICAgIHZhbCB8PSAoY3VyWzJdKSAmIDB4M0Y7CisJCSAgICB2YWwgPDw9IDY7CisJCSAgICB2YWwgfD0gKGN1clszXSkgJiAweDNGOworCQkgICAgbCA9IDQ7CisJCX0KKwkJaWYgKChsID09IDEpIHx8ICghSVNfQ0hBUih2YWwpKSkgeworCQkgICAgeG1sRW50aXRpZXNFcnIoWE1MX0VSUl9JTlZBTElEX0NIQVIsCisJCQkieG1sRW5jb2RlRW50aXRpZXM6IGNoYXIgb3V0IG9mIHJhbmdlXG4iKTsKKwkJICAgIGlmIChkb2MgIT0gTlVMTCkKKwkJCWRvYy0+ZW5jb2RpbmcgPSB4bWxTdHJkdXAoQkFEX0NBU1QgIklTTy04ODU5LTEiKTsKKwkJICAgIHNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksICImIyVkOyIsICpjdXIpOworCQkgICAgYnVmW3NpemVvZihidWYpIC0gMV0gPSAwOworCQkgICAgcHRyID0gYnVmOworCQkgICAgd2hpbGUgKCpwdHIgIT0gMCkgKm91dCsrID0gKnB0cisrOworCQkgICAgY3VyKys7CisJCSAgICBjb250aW51ZTsKKwkJfQorCQkvKgorCQkgKiBXZSBjb3VsZCBkbyBtdWx0aXBsZSB0aGluZ3MgaGVyZS4gSnVzdCBzYXZlIGFzIGEgY2hhciByZWYKKwkJICovCisJCXNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksICImI3glWDsiLCB2YWwpOworCQlidWZbc2l6ZW9mKGJ1ZikgLSAxXSA9IDA7CisJCXB0ciA9IGJ1ZjsKKwkJd2hpbGUgKCpwdHIgIT0gMCkgKm91dCsrID0gKnB0cisrOworCQljdXIgKz0gbDsKKwkJY29udGludWU7CisJICAgIH0KKwl9IGVsc2UgaWYgKElTX0JZVEVfQ0hBUigqY3VyKSkgeworCSAgICBjaGFyIGJ1ZlsxMV0sICpwdHI7CisKKwkgICAgc25wcmludGYoYnVmLCBzaXplb2YoYnVmKSwgIiYjJWQ7IiwgKmN1cik7CisJICAgIGJ1ZltzaXplb2YoYnVmKSAtIDFdID0gMDsKKyAgICAgICAgICAgIHB0ciA9IGJ1ZjsKKwkgICAgd2hpbGUgKCpwdHIgIT0gMCkgKm91dCsrID0gKnB0cisrOworCX0KKwljdXIrKzsKKyAgICB9CisgICAgKm91dCA9IDA7CisgICAgcmV0dXJuKGJ1ZmZlcik7CisKK21lbV9lcnJvcjoKKyAgICB4bWxFbnRpdGllc0Vyck1lbW9yeSgieG1sRW5jb2RlRW50aXRpZXM6IHJlYWxsb2MgZmFpbGVkIik7CisgICAgeG1sRnJlZShidWZmZXIpOworICAgIHJldHVybihOVUxMKTsKK30KKworLyoqCisgKiB4bWxFbmNvZGVBdHRyaWJ1dGVFbnRpdGllczoKKyAqIEBkb2M6ICB0aGUgZG9jdW1lbnQgY29udGFpbmluZyB0aGUgc3RyaW5nCisgKiBAaW5wdXQ6ICBBIHN0cmluZyB0byBjb252ZXJ0IHRvIFhNTC4KKyAqCisgKiBEbyBhIGdsb2JhbCBlbmNvZGluZyBvZiBhIHN0cmluZywgcmVwbGFjaW5nIHRoZSBwcmVkZWZpbmVkIGVudGl0aWVzCisgKiBhbmQgbm9uIEFTQ0lJIHZhbHVlcyB3aXRoIHRoZWlyIGVudGl0aWVzIGFuZCBDaGFyUmVmIGNvdW50ZXJwYXJ0cyBmb3IKKyAqIGF0dHJpYnV0ZSB2YWx1ZXMuCisgKgorICogUmV0dXJucyBBIG5ld2x5IGFsbG9jYXRlZCBzdHJpbmcgd2l0aCB0aGUgc3Vic3RpdHV0aW9uIGRvbmUuCisgKi8KK3htbENoYXIgKgoreG1sRW5jb2RlQXR0cmlidXRlRW50aXRpZXMoeG1sRG9jUHRyIGRvYywgY29uc3QgeG1sQ2hhciAqaW5wdXQpIHsKKyAgICByZXR1cm4geG1sRW5jb2RlRW50aXRpZXNJbnRlcm5hbChkb2MsIGlucHV0LCAxKTsKK30KKworLyoqCisgKiB4bWxFbmNvZGVFbnRpdGllc1JlZW50cmFudDoKKyAqIEBkb2M6ICB0aGUgZG9jdW1lbnQgY29udGFpbmluZyB0aGUgc3RyaW5nCisgKiBAaW5wdXQ6ICBBIHN0cmluZyB0byBjb252ZXJ0IHRvIFhNTC4KKyAqCisgKiBEbyBhIGdsb2JhbCBlbmNvZGluZyBvZiBhIHN0cmluZywgcmVwbGFjaW5nIHRoZSBwcmVkZWZpbmVkIGVudGl0aWVzCisgKiBhbmQgbm9uIEFTQ0lJIHZhbHVlcyB3aXRoIHRoZWlyIGVudGl0aWVzIGFuZCBDaGFyUmVmIGNvdW50ZXJwYXJ0cy4KKyAqIENvbnRyYXJ5IHRvIHhtbEVuY29kZUVudGl0aWVzLCB0aGlzIHJvdXRpbmUgaXMgcmVlbnRyYW50LCBhbmQgcmVzdWx0CisgKiBtdXN0IGJlIGRlYWxsb2NhdGVkLgorICoKKyAqIFJldHVybnMgQSBuZXdseSBhbGxvY2F0ZWQgc3RyaW5nIHdpdGggdGhlIHN1YnN0aXR1dGlvbiBkb25lLgorICovCit4bWxDaGFyICoKK3htbEVuY29kZUVudGl0aWVzUmVlbnRyYW50KHhtbERvY1B0ciBkb2MsIGNvbnN0IHhtbENoYXIgKmlucHV0KSB7CisgICAgcmV0dXJuIHhtbEVuY29kZUVudGl0aWVzSW50ZXJuYWwoZG9jLCBpbnB1dCwgMCk7Cit9CisKKy8qKgorICogeG1sRW5jb2RlU3BlY2lhbENoYXJzOgorICogQGRvYzogIHRoZSBkb2N1bWVudCBjb250YWluaW5nIHRoZSBzdHJpbmcKKyAqIEBpbnB1dDogIEEgc3RyaW5nIHRvIGNvbnZlcnQgdG8gWE1MLgorICoKKyAqIERvIGEgZ2xvYmFsIGVuY29kaW5nIG9mIGEgc3RyaW5nLCByZXBsYWNpbmcgdGhlIHByZWRlZmluZWQgZW50aXRpZXMKKyAqIHRoaXMgcm91dGluZSBpcyByZWVudHJhbnQsIGFuZCByZXN1bHQgbXVzdCBiZSBkZWFsbG9jYXRlZC4KKyAqCisgKiBSZXR1cm5zIEEgbmV3bHkgYWxsb2NhdGVkIHN0cmluZyB3aXRoIHRoZSBzdWJzdGl0dXRpb24gZG9uZS4KKyAqLworeG1sQ2hhciAqCit4bWxFbmNvZGVTcGVjaWFsQ2hhcnMoY29uc3QgeG1sRG9jICpkb2MgQVRUUklCVVRFX1VOVVNFRCwgY29uc3QgeG1sQ2hhciAqaW5wdXQpIHsKKyAgICBjb25zdCB4bWxDaGFyICpjdXIgPSBpbnB1dDsKKyAgICB4bWxDaGFyICpidWZmZXIgPSBOVUxMOworICAgIHhtbENoYXIgKm91dCA9IE5VTEw7CisgICAgc2l6ZV90IGJ1ZmZlcl9zaXplID0gMDsKKyAgICBpZiAoaW5wdXQgPT0gTlVMTCkgcmV0dXJuKE5VTEwpOworCisgICAgLyoKKyAgICAgKiBhbGxvY2F0ZSBhbiB0cmFuc2xhdGlvbiBidWZmZXIuCisgICAgICovCisgICAgYnVmZmVyX3NpemUgPSAxMDAwOworICAgIGJ1ZmZlciA9ICh4bWxDaGFyICopIHhtbE1hbGxvYyhidWZmZXJfc2l6ZSAqIHNpemVvZih4bWxDaGFyKSk7CisgICAgaWYgKGJ1ZmZlciA9PSBOVUxMKSB7CisgICAgICAgIHhtbEVudGl0aWVzRXJyTWVtb3J5KCJ4bWxFbmNvZGVTcGVjaWFsQ2hhcnM6IG1hbGxvYyBmYWlsZWQiKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIG91dCA9IGJ1ZmZlcjsKKworICAgIHdoaWxlICgqY3VyICE9ICdcMCcpIHsKKyAgICAgICAgc2l6ZV90IGluZHggPSBvdXQgLSBidWZmZXI7CisgICAgICAgIGlmIChpbmR4ICsgMTAgPiBidWZmZXJfc2l6ZSkgeworCisJICAgIGdyb3dCdWZmZXJSZWVudHJhbnQoKTsKKwkgICAgb3V0ID0gJmJ1ZmZlcltpbmR4XTsKKwl9CisKKwkvKgorCSAqIEJ5IGRlZmF1bHQgb25lIGhhdmUgdG8gZW5jb2RlIGF0IGxlYXN0ICc8JywgJz4nLCAnIicgYW5kICcmJyAhCisJICovCisJaWYgKCpjdXIgPT0gJzwnKSB7CisJICAgICpvdXQrKyA9ICcmJzsKKwkgICAgKm91dCsrID0gJ2wnOworCSAgICAqb3V0KysgPSAndCc7CisJICAgICpvdXQrKyA9ICc7JzsKKwl9IGVsc2UgaWYgKCpjdXIgPT0gJz4nKSB7CisJICAgICpvdXQrKyA9ICcmJzsKKwkgICAgKm91dCsrID0gJ2cnOworCSAgICAqb3V0KysgPSAndCc7CisJICAgICpvdXQrKyA9ICc7JzsKKwl9IGVsc2UgaWYgKCpjdXIgPT0gJyYnKSB7CisJICAgICpvdXQrKyA9ICcmJzsKKwkgICAgKm91dCsrID0gJ2EnOworCSAgICAqb3V0KysgPSAnbSc7CisJICAgICpvdXQrKyA9ICdwJzsKKwkgICAgKm91dCsrID0gJzsnOworCX0gZWxzZSBpZiAoKmN1ciA9PSAnIicpIHsKKwkgICAgKm91dCsrID0gJyYnOworCSAgICAqb3V0KysgPSAncSc7CisJICAgICpvdXQrKyA9ICd1JzsKKwkgICAgKm91dCsrID0gJ28nOworCSAgICAqb3V0KysgPSAndCc7CisJICAgICpvdXQrKyA9ICc7JzsKKwl9IGVsc2UgaWYgKCpjdXIgPT0gJ1xyJykgeworCSAgICAqb3V0KysgPSAnJic7CisJICAgICpvdXQrKyA9ICcjJzsKKwkgICAgKm91dCsrID0gJzEnOworCSAgICAqb3V0KysgPSAnMyc7CisJICAgICpvdXQrKyA9ICc7JzsKKwl9IGVsc2UgeworCSAgICAvKgorCSAgICAgKiBXb3JrcyBiZWNhdXNlIG9uIFVURi04LCBhbGwgZXh0ZW5kZWQgc2VxdWVuY2VzIGNhbm5vdAorCSAgICAgKiByZXN1bHQgaW4gYnl0ZXMgaW4gdGhlIEFTQ0lJIHJhbmdlLgorCSAgICAgKi8KKwkgICAgKm91dCsrID0gKmN1cjsKKwl9CisJY3VyKys7CisgICAgfQorICAgICpvdXQgPSAwOworICAgIHJldHVybihidWZmZXIpOworCittZW1fZXJyb3I6CisgICAgeG1sRW50aXRpZXNFcnJNZW1vcnkoInhtbEVuY29kZVNwZWNpYWxDaGFyczogcmVhbGxvYyBmYWlsZWQiKTsKKyAgICB4bWxGcmVlKGJ1ZmZlcik7CisgICAgcmV0dXJuKE5VTEwpOworfQorCisvKioKKyAqIHhtbENyZWF0ZUVudGl0aWVzVGFibGU6CisgKgorICogY3JlYXRlIGFuZCBpbml0aWFsaXplIGFuIGVtcHR5IGVudGl0aWVzIGhhc2ggdGFibGUuCisgKiBUaGlzIHJlYWxseSBkb2Vzbid0IG1ha2Ugc2Vuc2UgYW5kIHNob3VsZCBiZSBkZXByZWNhdGVkCisgKgorICogUmV0dXJucyB0aGUgeG1sRW50aXRpZXNUYWJsZVB0ciBqdXN0IGNyZWF0ZWQgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLgorICovCit4bWxFbnRpdGllc1RhYmxlUHRyCit4bWxDcmVhdGVFbnRpdGllc1RhYmxlKHZvaWQpIHsKKyAgICByZXR1cm4oKHhtbEVudGl0aWVzVGFibGVQdHIpIHhtbEhhc2hDcmVhdGUoMCkpOworfQorCisvKioKKyAqIHhtbEZyZWVFbnRpdHlXcmFwcGVyOgorICogQGVudGl0eTogIEFuIGVudGl0eQorICogQG5hbWU6ICBpdHMgbmFtZQorICoKKyAqIERlYWxsb2NhdGUgdGhlIG1lbW9yeSB1c2VkIGJ5IGFuIGVudGl0aWVzIGluIHRoZSBoYXNoIHRhYmxlLgorICovCitzdGF0aWMgdm9pZAoreG1sRnJlZUVudGl0eVdyYXBwZXIoeG1sRW50aXR5UHRyIGVudGl0eSwKKwkgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICpuYW1lIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICBpZiAoZW50aXR5ICE9IE5VTEwpCisJeG1sRnJlZUVudGl0eShlbnRpdHkpOworfQorCisvKioKKyAqIHhtbEZyZWVFbnRpdGllc1RhYmxlOgorICogQHRhYmxlOiAgQW4gZW50aXR5IHRhYmxlCisgKgorICogRGVhbGxvY2F0ZSB0aGUgbWVtb3J5IHVzZWQgYnkgYW4gZW50aXRpZXMgaGFzaCB0YWJsZS4KKyAqLwordm9pZAoreG1sRnJlZUVudGl0aWVzVGFibGUoeG1sRW50aXRpZXNUYWJsZVB0ciB0YWJsZSkgeworICAgIHhtbEhhc2hGcmVlKHRhYmxlLCAoeG1sSGFzaERlYWxsb2NhdG9yKSB4bWxGcmVlRW50aXR5V3JhcHBlcik7Cit9CisKKyNpZmRlZiBMSUJYTUxfVFJFRV9FTkFCTEVECisvKioKKyAqIHhtbENvcHlFbnRpdHk6CisgKiBAZW50OiAgQW4gZW50aXR5CisgKgorICogQnVpbGQgYSBjb3B5IG9mIGFuIGVudGl0eQorICoKKyAqIFJldHVybnMgdGhlIG5ldyB4bWxFbnRpdGllc1B0ciBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK3N0YXRpYyB4bWxFbnRpdHlQdHIKK3htbENvcHlFbnRpdHkoeG1sRW50aXR5UHRyIGVudCkgeworICAgIHhtbEVudGl0eVB0ciBjdXI7CisKKyAgICBjdXIgPSAoeG1sRW50aXR5UHRyKSB4bWxNYWxsb2Moc2l6ZW9mKHhtbEVudGl0eSkpOworICAgIGlmIChjdXIgPT0gTlVMTCkgeworICAgICAgICB4bWxFbnRpdGllc0Vyck1lbW9yeSgieG1sQ29weUVudGl0eTo6IG1hbGxvYyBmYWlsZWQiKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIG1lbXNldChjdXIsIDAsIHNpemVvZih4bWxFbnRpdHkpKTsKKyAgICBjdXItPnR5cGUgPSBYTUxfRU5USVRZX0RFQ0w7CisKKyAgICBjdXItPmV0eXBlID0gZW50LT5ldHlwZTsKKyAgICBpZiAoZW50LT5uYW1lICE9IE5VTEwpCisJY3VyLT5uYW1lID0geG1sU3RyZHVwKGVudC0+bmFtZSk7CisgICAgaWYgKGVudC0+RXh0ZXJuYWxJRCAhPSBOVUxMKQorCWN1ci0+RXh0ZXJuYWxJRCA9IHhtbFN0cmR1cChlbnQtPkV4dGVybmFsSUQpOworICAgIGlmIChlbnQtPlN5c3RlbUlEICE9IE5VTEwpCisJY3VyLT5TeXN0ZW1JRCA9IHhtbFN0cmR1cChlbnQtPlN5c3RlbUlEKTsKKyAgICBpZiAoZW50LT5jb250ZW50ICE9IE5VTEwpCisJY3VyLT5jb250ZW50ID0geG1sU3RyZHVwKGVudC0+Y29udGVudCk7CisgICAgaWYgKGVudC0+b3JpZyAhPSBOVUxMKQorCWN1ci0+b3JpZyA9IHhtbFN0cmR1cChlbnQtPm9yaWcpOworICAgIGlmIChlbnQtPlVSSSAhPSBOVUxMKQorCWN1ci0+VVJJID0geG1sU3RyZHVwKGVudC0+VVJJKTsKKyAgICByZXR1cm4oY3VyKTsKK30KKworLyoqCisgKiB4bWxDb3B5RW50aXRpZXNUYWJsZToKKyAqIEB0YWJsZTogIEFuIGVudGl0eSB0YWJsZQorICoKKyAqIEJ1aWxkIGEgY29weSBvZiBhbiBlbnRpdHkgdGFibGUuCisgKgorICogUmV0dXJucyB0aGUgbmV3IHhtbEVudGl0aWVzVGFibGVQdHIgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLgorICovCit4bWxFbnRpdGllc1RhYmxlUHRyCit4bWxDb3B5RW50aXRpZXNUYWJsZSh4bWxFbnRpdGllc1RhYmxlUHRyIHRhYmxlKSB7CisgICAgcmV0dXJuKHhtbEhhc2hDb3B5KHRhYmxlLCAoeG1sSGFzaENvcGllcikgeG1sQ29weUVudGl0eSkpOworfQorI2VuZGlmIC8qIExJQlhNTF9UUkVFX0VOQUJMRUQgKi8KKworI2lmZGVmIExJQlhNTF9PVVRQVVRfRU5BQkxFRAorCisvKioKKyAqIHhtbER1bXBFbnRpdHlDb250ZW50OgorICogQGJ1ZjogIEFuIFhNTCBidWZmZXIuCisgKiBAY29udGVudDogIFRoZSBlbnRpdHkgY29udGVudC4KKyAqCisgKiBUaGlzIHdpbGwgZHVtcCB0aGUgcXVvdGVkIHN0cmluZyB2YWx1ZSwgdGFraW5nIGNhcmUgb2YgdGhlIHNwZWNpYWwKKyAqIHRyZWF0bWVudCByZXF1aXJlZCBieSAlCisgKi8KK3N0YXRpYyB2b2lkCit4bWxEdW1wRW50aXR5Q29udGVudCh4bWxCdWZmZXJQdHIgYnVmLCBjb25zdCB4bWxDaGFyICpjb250ZW50KSB7CisgICAgaWYgKGJ1Zi0+YWxsb2MgPT0gWE1MX0JVRkZFUl9BTExPQ19JTU1VVEFCTEUpIHJldHVybjsKKyAgICBpZiAoeG1sU3RyY2hyKGNvbnRlbnQsICclJykpIHsKKyAgICAgICAgY29uc3QgeG1sQ2hhciAqIGJhc2UsICpjdXI7CisKKwl4bWxCdWZmZXJDQ2F0KGJ1ZiwgIlwiIik7CisJYmFzZSA9IGN1ciA9IGNvbnRlbnQ7CisJd2hpbGUgKCpjdXIgIT0gMCkgeworCSAgICBpZiAoKmN1ciA9PSAnIicpIHsKKwkJaWYgKGJhc2UgIT0gY3VyKQorCQkgICAgeG1sQnVmZmVyQWRkKGJ1ZiwgYmFzZSwgY3VyIC0gYmFzZSk7CisJCXhtbEJ1ZmZlckFkZChidWYsIEJBRF9DQVNUICImcXVvdDsiLCA2KTsKKwkJY3VyKys7CisJCWJhc2UgPSBjdXI7CisJICAgIH0gZWxzZSBpZiAoKmN1ciA9PSAnJScpIHsKKwkJaWYgKGJhc2UgIT0gY3VyKQorCQkgICAgeG1sQnVmZmVyQWRkKGJ1ZiwgYmFzZSwgY3VyIC0gYmFzZSk7CisJCXhtbEJ1ZmZlckFkZChidWYsIEJBRF9DQVNUICImI3gyNTsiLCA2KTsKKwkJY3VyKys7CisJCWJhc2UgPSBjdXI7CisJICAgIH0gZWxzZSB7CisJCWN1cisrOworCSAgICB9CisJfQorCWlmIChiYXNlICE9IGN1cikKKwkgICAgeG1sQnVmZmVyQWRkKGJ1ZiwgYmFzZSwgY3VyIC0gYmFzZSk7CisJeG1sQnVmZmVyQ0NhdChidWYsICJcIiIpOworICAgIH0gZWxzZSB7CisgICAgICAgIHhtbEJ1ZmZlcldyaXRlUXVvdGVkU3RyaW5nKGJ1ZiwgY29udGVudCk7CisgICAgfQorfQorCisvKioKKyAqIHhtbER1bXBFbnRpdHlEZWNsOgorICogQGJ1ZjogIEFuIFhNTCBidWZmZXIuCisgKiBAZW50OiAgQW4gZW50aXR5IHRhYmxlCisgKgorICogVGhpcyB3aWxsIGR1bXAgdGhlIGNvbnRlbnQgb2YgdGhlIGVudGl0eSB0YWJsZSBhcyBhbiBYTUwgRFREIGRlZmluaXRpb24KKyAqLwordm9pZAoreG1sRHVtcEVudGl0eURlY2woeG1sQnVmZmVyUHRyIGJ1ZiwgeG1sRW50aXR5UHRyIGVudCkgeworICAgIGlmICgoYnVmID09IE5VTEwpIHx8IChlbnQgPT0gTlVMTCkpIHJldHVybjsKKyAgICBzd2l0Y2ggKGVudC0+ZXR5cGUpIHsKKwljYXNlIFhNTF9JTlRFUk5BTF9HRU5FUkFMX0VOVElUWToKKwkgICAgeG1sQnVmZmVyV3JpdGVDaGFyKGJ1ZiwgIjwhRU5USVRZICIpOworCSAgICB4bWxCdWZmZXJXcml0ZUNIQVIoYnVmLCBlbnQtPm5hbWUpOworCSAgICB4bWxCdWZmZXJXcml0ZUNoYXIoYnVmLCAiICIpOworCSAgICBpZiAoZW50LT5vcmlnICE9IE5VTEwpCisJCXhtbEJ1ZmZlcldyaXRlUXVvdGVkU3RyaW5nKGJ1ZiwgZW50LT5vcmlnKTsKKwkgICAgZWxzZQorCQl4bWxEdW1wRW50aXR5Q29udGVudChidWYsIGVudC0+Y29udGVudCk7CisJICAgIHhtbEJ1ZmZlcldyaXRlQ2hhcihidWYsICI+XG4iKTsKKwkgICAgYnJlYWs7CisJY2FzZSBYTUxfRVhURVJOQUxfR0VORVJBTF9QQVJTRURfRU5USVRZOgorCSAgICB4bWxCdWZmZXJXcml0ZUNoYXIoYnVmLCAiPCFFTlRJVFkgIik7CisJICAgIHhtbEJ1ZmZlcldyaXRlQ0hBUihidWYsIGVudC0+bmFtZSk7CisJICAgIGlmIChlbnQtPkV4dGVybmFsSUQgIT0gTlVMTCkgeworCQkgeG1sQnVmZmVyV3JpdGVDaGFyKGJ1ZiwgIiBQVUJMSUMgIik7CisJCSB4bWxCdWZmZXJXcml0ZVF1b3RlZFN0cmluZyhidWYsIGVudC0+RXh0ZXJuYWxJRCk7CisJCSB4bWxCdWZmZXJXcml0ZUNoYXIoYnVmLCAiICIpOworCQkgeG1sQnVmZmVyV3JpdGVRdW90ZWRTdHJpbmcoYnVmLCBlbnQtPlN5c3RlbUlEKTsKKwkgICAgfSBlbHNlIHsKKwkJIHhtbEJ1ZmZlcldyaXRlQ2hhcihidWYsICIgU1lTVEVNICIpOworCQkgeG1sQnVmZmVyV3JpdGVRdW90ZWRTdHJpbmcoYnVmLCBlbnQtPlN5c3RlbUlEKTsKKwkgICAgfQorCSAgICB4bWxCdWZmZXJXcml0ZUNoYXIoYnVmLCAiPlxuIik7CisJICAgIGJyZWFrOworCWNhc2UgWE1MX0VYVEVSTkFMX0dFTkVSQUxfVU5QQVJTRURfRU5USVRZOgorCSAgICB4bWxCdWZmZXJXcml0ZUNoYXIoYnVmLCAiPCFFTlRJVFkgIik7CisJICAgIHhtbEJ1ZmZlcldyaXRlQ0hBUihidWYsIGVudC0+bmFtZSk7CisJICAgIGlmIChlbnQtPkV4dGVybmFsSUQgIT0gTlVMTCkgeworCQkgeG1sQnVmZmVyV3JpdGVDaGFyKGJ1ZiwgIiBQVUJMSUMgIik7CisJCSB4bWxCdWZmZXJXcml0ZVF1b3RlZFN0cmluZyhidWYsIGVudC0+RXh0ZXJuYWxJRCk7CisJCSB4bWxCdWZmZXJXcml0ZUNoYXIoYnVmLCAiICIpOworCQkgeG1sQnVmZmVyV3JpdGVRdW90ZWRTdHJpbmcoYnVmLCBlbnQtPlN5c3RlbUlEKTsKKwkgICAgfSBlbHNlIHsKKwkJIHhtbEJ1ZmZlcldyaXRlQ2hhcihidWYsICIgU1lTVEVNICIpOworCQkgeG1sQnVmZmVyV3JpdGVRdW90ZWRTdHJpbmcoYnVmLCBlbnQtPlN5c3RlbUlEKTsKKwkgICAgfQorCSAgICBpZiAoZW50LT5jb250ZW50ICE9IE5VTEwpIHsgLyogU2hvdWxkIGJlIHRydWUgISAqLworCQl4bWxCdWZmZXJXcml0ZUNoYXIoYnVmLCAiIE5EQVRBICIpOworCQlpZiAoZW50LT5vcmlnICE9IE5VTEwpCisJCSAgICB4bWxCdWZmZXJXcml0ZUNIQVIoYnVmLCBlbnQtPm9yaWcpOworCQllbHNlCisJCSAgICB4bWxCdWZmZXJXcml0ZUNIQVIoYnVmLCBlbnQtPmNvbnRlbnQpOworCSAgICB9CisJICAgIHhtbEJ1ZmZlcldyaXRlQ2hhcihidWYsICI+XG4iKTsKKwkgICAgYnJlYWs7CisJY2FzZSBYTUxfSU5URVJOQUxfUEFSQU1FVEVSX0VOVElUWToKKwkgICAgeG1sQnVmZmVyV3JpdGVDaGFyKGJ1ZiwgIjwhRU5USVRZICUgIik7CisJICAgIHhtbEJ1ZmZlcldyaXRlQ0hBUihidWYsIGVudC0+bmFtZSk7CisJICAgIHhtbEJ1ZmZlcldyaXRlQ2hhcihidWYsICIgIik7CisJICAgIGlmIChlbnQtPm9yaWcgPT0gTlVMTCkKKwkJeG1sRHVtcEVudGl0eUNvbnRlbnQoYnVmLCBlbnQtPmNvbnRlbnQpOworCSAgICBlbHNlCisJCXhtbEJ1ZmZlcldyaXRlUXVvdGVkU3RyaW5nKGJ1ZiwgZW50LT5vcmlnKTsKKwkgICAgeG1sQnVmZmVyV3JpdGVDaGFyKGJ1ZiwgIj5cbiIpOworCSAgICBicmVhazsKKwljYXNlIFhNTF9FWFRFUk5BTF9QQVJBTUVURVJfRU5USVRZOgorCSAgICB4bWxCdWZmZXJXcml0ZUNoYXIoYnVmLCAiPCFFTlRJVFkgJSAiKTsKKwkgICAgeG1sQnVmZmVyV3JpdGVDSEFSKGJ1ZiwgZW50LT5uYW1lKTsKKwkgICAgaWYgKGVudC0+RXh0ZXJuYWxJRCAhPSBOVUxMKSB7CisJCSB4bWxCdWZmZXJXcml0ZUNoYXIoYnVmLCAiIFBVQkxJQyAiKTsKKwkJIHhtbEJ1ZmZlcldyaXRlUXVvdGVkU3RyaW5nKGJ1ZiwgZW50LT5FeHRlcm5hbElEKTsKKwkJIHhtbEJ1ZmZlcldyaXRlQ2hhcihidWYsICIgIik7CisJCSB4bWxCdWZmZXJXcml0ZVF1b3RlZFN0cmluZyhidWYsIGVudC0+U3lzdGVtSUQpOworCSAgICB9IGVsc2UgeworCQkgeG1sQnVmZmVyV3JpdGVDaGFyKGJ1ZiwgIiBTWVNURU0gIik7CisJCSB4bWxCdWZmZXJXcml0ZVF1b3RlZFN0cmluZyhidWYsIGVudC0+U3lzdGVtSUQpOworCSAgICB9CisJICAgIHhtbEJ1ZmZlcldyaXRlQ2hhcihidWYsICI+XG4iKTsKKwkgICAgYnJlYWs7CisJZGVmYXVsdDoKKwkgICAgeG1sRW50aXRpZXNFcnIoWE1MX0RURF9VTktOT1dOX0VOVElUWSwKKwkJInhtbER1bXBFbnRpdGllc0RlY2w6IGludGVybmFsOiB1bmtub3duIHR5cGUgZW50aXR5IHR5cGUiKTsKKyAgICB9Cit9CisKKy8qKgorICogeG1sRHVtcEVudGl0eURlY2xTY2FuOgorICogQGVudDogIEFuIGVudGl0eSB0YWJsZQorICogQGJ1ZjogIEFuIFhNTCBidWZmZXIuCisgKgorICogV2hlbiB1c2luZyB0aGUgaGFzaCB0YWJsZSBzY2FuIGZ1bmN0aW9uLCBhcmd1bWVudHMgbmVlZCB0byBiZSByZXZlcnNlZAorICovCitzdGF0aWMgdm9pZAoreG1sRHVtcEVudGl0eURlY2xTY2FuKHhtbEVudGl0eVB0ciBlbnQsIHhtbEJ1ZmZlclB0ciBidWYpIHsKKyAgICB4bWxEdW1wRW50aXR5RGVjbChidWYsIGVudCk7Cit9CisKKy8qKgorICogeG1sRHVtcEVudGl0aWVzVGFibGU6CisgKiBAYnVmOiAgQW4gWE1MIGJ1ZmZlci4KKyAqIEB0YWJsZTogIEFuIGVudGl0eSB0YWJsZQorICoKKyAqIFRoaXMgd2lsbCBkdW1wIHRoZSBjb250ZW50IG9mIHRoZSBlbnRpdHkgdGFibGUgYXMgYW4gWE1MIERURCBkZWZpbml0aW9uCisgKi8KK3ZvaWQKK3htbER1bXBFbnRpdGllc1RhYmxlKHhtbEJ1ZmZlclB0ciBidWYsIHhtbEVudGl0aWVzVGFibGVQdHIgdGFibGUpIHsKKyAgICB4bWxIYXNoU2Nhbih0YWJsZSwgKHhtbEhhc2hTY2FubmVyKXhtbER1bXBFbnRpdHlEZWNsU2NhbiwgYnVmKTsKK30KKyNlbmRpZiAvKiBMSUJYTUxfT1VUUFVUX0VOQUJMRUQgKi8KKyNkZWZpbmUgYm90dG9tX2VudGl0aWVzCisjaW5jbHVkZSAiZWxmZ2NjaGFjay5oIgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9lcnJvci5jIGIvbGlieG1sMi9lcnJvci5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNiY2Y1YzkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2Vycm9yLmMKQEAgLTAsMCArMSw5OTYgQEAKKy8qCisgKiBlcnJvci5jOiBtb2R1bGUgZGlzcGxheWluZy9oYW5kbGluZyBYTUwgcGFyc2VyIGVycm9ycworICoKKyAqIFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyAqCisgKiBEYW5pZWwgVmVpbGxhcmQgPGRhbmllbEB2ZWlsbGFyZC5jb20+CisgKi8KKworI2RlZmluZSBJTl9MSUJYTUwKKyNpbmNsdWRlICJsaWJ4bWwuaCIKKworI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN0ZGFyZy5oPgorI2luY2x1ZGUgPGxpYnhtbC9wYXJzZXIuaD4KKyNpbmNsdWRlIDxsaWJ4bWwveG1sZXJyb3IuaD4KKyNpbmNsdWRlIDxsaWJ4bWwveG1sbWVtb3J5Lmg+CisjaW5jbHVkZSA8bGlieG1sL2dsb2JhbHMuaD4KKwordm9pZCBYTUxDREVDTCB4bWxHZW5lcmljRXJyb3JEZWZhdWx0RnVuYwkodm9pZCAqY3R4IEFUVFJJQlVURV9VTlVTRUQsCisJCQkJIGNvbnN0IGNoYXIgKm1zZywKKwkJCQkgLi4uKTsKKworI2RlZmluZSBYTUxfR0VUX1ZBUl9TVFIobXNnLCBzdHIpIHsJCQkJXAorICAgIGludCAgICAgICBzaXplLCBwcmV2X3NpemUgPSAtMTsJCQkJXAorICAgIGludCAgICAgICBjaGFyczsJCQkJCQlcCisgICAgY2hhciAgICAgICpsYXJnZXI7CQkJCQkJXAorICAgIHZhX2xpc3QgICBhcDsJCQkJCQlcCisJCQkJCQkJCVwKKyAgICBzdHIgPSAoY2hhciAqKSB4bWxNYWxsb2MoMTUwKTsJCQkJXAorICAgIGlmIChzdHIgIT0gTlVMTCkgewkJCQkJCVwKKwkJCQkJCQkJXAorICAgIHNpemUgPSAxNTA7CQkJCQkJCVwKKwkJCQkJCQkJXAorICAgIHdoaWxlIChzaXplIDwgNjQwMDApIHsJCQkJCVwKKwl2YV9zdGFydChhcCwgbXNnKTsJCQkJCVwKKwljaGFycyA9IHZzbnByaW50ZihzdHIsIHNpemUsIG1zZywgYXApOwkJCVwKKwl2YV9lbmQoYXApOwkJCQkJCVwKKwlpZiAoKGNoYXJzID4gLTEpICYmIChjaGFycyA8IHNpemUpKSB7CQkJXAorCSAgICBpZiAocHJldl9zaXplID09IGNoYXJzKSB7CQkJCVwKKwkJYnJlYWs7CQkJCQkJXAorCSAgICB9IGVsc2UgewkJCQkJCVwKKwkJcHJldl9zaXplID0gY2hhcnM7CQkJCVwKKwkgICAgfQkJCQkJCQlcCisJfQkJCQkJCQlcCisJaWYgKGNoYXJzID4gLTEpCQkJCQkJXAorCSAgICBzaXplICs9IGNoYXJzICsgMTsJCQkJCVwKKwllbHNlCQkJCQkJCVwKKwkgICAgc2l6ZSArPSAxMDA7CQkJCQlcCisJaWYgKChsYXJnZXIgPSAoY2hhciAqKSB4bWxSZWFsbG9jKHN0ciwgc2l6ZSkpID09IE5VTEwpIHtcCisJICAgIGJyZWFrOwkJCQkJCVwKKwl9CQkJCQkJCVwKKwlzdHIgPSBsYXJnZXI7CQkJCQkJXAorICAgIH19CQkJCQkJCQlcCit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCQlIYW5kbGluZyBvZiBvdXQgb2YgY29udGV4dCBlcnJvcnMJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqCisgKiB4bWxHZW5lcmljRXJyb3JEZWZhdWx0RnVuYzoKKyAqIEBjdHg6ICBhbiBlcnJvciBjb250ZXh0CisgKiBAbXNnOiAgdGhlIG1lc3NhZ2UgdG8gZGlzcGxheS90cmFuc21pdAorICogQC4uLjogIGV4dHJhIHBhcmFtZXRlcnMgZm9yIHRoZSBtZXNzYWdlIGRpc3BsYXkKKyAqCisgKiBEZWZhdWx0IGhhbmRsZXIgZm9yIG91dCBvZiBjb250ZXh0IGVycm9yIG1lc3NhZ2VzLgorICovCit2b2lkIFhNTENERUNMCit4bWxHZW5lcmljRXJyb3JEZWZhdWx0RnVuYyh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCwgY29uc3QgY2hhciAqbXNnLCAuLi4pIHsKKyAgICB2YV9saXN0IGFyZ3M7CisKKyAgICBpZiAoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCA9PSBOVUxMKQorCXhtbEdlbmVyaWNFcnJvckNvbnRleHQgPSAodm9pZCAqKSBzdGRlcnI7CisKKyAgICB2YV9zdGFydChhcmdzLCBtc2cpOworICAgIHZmcHJpbnRmKChGSUxFICopeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgbXNnLCBhcmdzKTsKKyAgICB2YV9lbmQoYXJncyk7Cit9CisKKy8qKgorICogaW5pdEdlbmVyaWNFcnJvckRlZmF1bHRGdW5jOgorICogQGhhbmRsZXI6ICB0aGUgaGFuZGxlcgorICoKKyAqIFNldCBvciByZXNldCAoaWYgTlVMTCkgdGhlIGRlZmF1bHQgaGFuZGxlciBmb3IgZ2VuZXJpYyBlcnJvcnMKKyAqIHRvIHRoZSBidWlsdGluIGVycm9yIGZ1bmN0aW9uLgorICovCit2b2lkCitpbml0R2VuZXJpY0Vycm9yRGVmYXVsdEZ1bmMoeG1sR2VuZXJpY0Vycm9yRnVuYyAqIGhhbmRsZXIpCit7CisgICAgaWYgKGhhbmRsZXIgPT0gTlVMTCkKKyAgICAgICAgeG1sR2VuZXJpY0Vycm9yID0geG1sR2VuZXJpY0Vycm9yRGVmYXVsdEZ1bmM7CisgICAgZWxzZQorICAgICAgICB4bWxHZW5lcmljRXJyb3IgPSAoKmhhbmRsZXIpOworfQorCisvKioKKyAqIHhtbFNldEdlbmVyaWNFcnJvckZ1bmM6CisgKiBAY3R4OiAgdGhlIG5ldyBlcnJvciBoYW5kbGluZyBjb250ZXh0CisgKiBAaGFuZGxlcjogIHRoZSBuZXcgaGFuZGxlciBmdW5jdGlvbgorICoKKyAqIEZ1bmN0aW9uIHRvIHJlc2V0IHRoZSBoYW5kbGVyIGFuZCB0aGUgZXJyb3IgY29udGV4dCBmb3Igb3V0IG9mCisgKiBjb250ZXh0IGVycm9yIG1lc3NhZ2VzLgorICogVGhpcyBzaW1wbHkgbWVhbnMgdGhhdCBAaGFuZGxlciB3aWxsIGJlIGNhbGxlZCBmb3Igc3Vic2VxdWVudAorICogZXJyb3IgbWVzc2FnZXMgd2hpbGUgbm90IHBhcnNpbmcgbm9yIHZhbGlkYXRpbmcuIEFuZCBAY3R4IHdpbGwKKyAqIGJlIHBhc3NlZCBhcyBmaXJzdCBhcmd1bWVudCB0byBAaGFuZGxlcgorICogT25lIGNhbiBzaW1wbHkgZm9yY2UgbWVzc2FnZXMgdG8gYmUgZW1pdHRlZCB0byBhbm90aGVyIEZJTEUgKiB0aGFuCisgKiBzdGRlcnIgYnkgc2V0dGluZyBAY3R4IHRvIHRoaXMgZmlsZSBoYW5kbGUgYW5kIEBoYW5kbGVyIHRvIE5VTEwuCisgKiBGb3IgbXVsdGktdGhyZWFkZWQgYXBwbGljYXRpb25zLCB0aGlzIG11c3QgYmUgc2V0IHNlcGFyYXRlbHkgZm9yIGVhY2ggdGhyZWFkLgorICovCit2b2lkCit4bWxTZXRHZW5lcmljRXJyb3JGdW5jKHZvaWQgKmN0eCwgeG1sR2VuZXJpY0Vycm9yRnVuYyBoYW5kbGVyKSB7CisgICAgeG1sR2VuZXJpY0Vycm9yQ29udGV4dCA9IGN0eDsKKyAgICBpZiAoaGFuZGxlciAhPSBOVUxMKQorCXhtbEdlbmVyaWNFcnJvciA9IGhhbmRsZXI7CisgICAgZWxzZQorCXhtbEdlbmVyaWNFcnJvciA9IHhtbEdlbmVyaWNFcnJvckRlZmF1bHRGdW5jOworfQorCisvKioKKyAqIHhtbFNldFN0cnVjdHVyZWRFcnJvckZ1bmM6CisgKiBAY3R4OiAgdGhlIG5ldyBlcnJvciBoYW5kbGluZyBjb250ZXh0CisgKiBAaGFuZGxlcjogIHRoZSBuZXcgaGFuZGxlciBmdW5jdGlvbgorICoKKyAqIEZ1bmN0aW9uIHRvIHJlc2V0IHRoZSBoYW5kbGVyIGFuZCB0aGUgZXJyb3IgY29udGV4dCBmb3Igb3V0IG9mCisgKiBjb250ZXh0IHN0cnVjdHVyZWQgZXJyb3IgbWVzc2FnZXMuCisgKiBUaGlzIHNpbXBseSBtZWFucyB0aGF0IEBoYW5kbGVyIHdpbGwgYmUgY2FsbGVkIGZvciBzdWJzZXF1ZW50CisgKiBlcnJvciBtZXNzYWdlcyB3aGlsZSBub3QgcGFyc2luZyBub3IgdmFsaWRhdGluZy4gQW5kIEBjdHggd2lsbAorICogYmUgcGFzc2VkIGFzIGZpcnN0IGFyZ3VtZW50IHRvIEBoYW5kbGVyCisgKiBGb3IgbXVsdGktdGhyZWFkZWQgYXBwbGljYXRpb25zLCB0aGlzIG11c3QgYmUgc2V0IHNlcGFyYXRlbHkgZm9yIGVhY2ggdGhyZWFkLgorICovCit2b2lkCit4bWxTZXRTdHJ1Y3R1cmVkRXJyb3JGdW5jKHZvaWQgKmN0eCwgeG1sU3RydWN0dXJlZEVycm9yRnVuYyBoYW5kbGVyKSB7CisgICAgeG1sU3RydWN0dXJlZEVycm9yQ29udGV4dCA9IGN0eDsKKyAgICB4bWxTdHJ1Y3R1cmVkRXJyb3IgPSBoYW5kbGVyOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQkJSGFuZGxpbmcgb2YgcGFyc2luZyBlcnJvcnMJCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKgorICogeG1sUGFyc2VyUHJpbnRGaWxlSW5mbzoKKyAqIEBpbnB1dDogIGFuIHhtbFBhcnNlcklucHV0UHRyIGlucHV0CisgKgorICogRGlzcGxheXMgdGhlIGFzc29jaWF0ZWQgZmlsZSBhbmQgbGluZSBpbmZvcm1hdGlvbnMgZm9yIHRoZSBjdXJyZW50IGlucHV0CisgKi8KKwordm9pZAoreG1sUGFyc2VyUHJpbnRGaWxlSW5mbyh4bWxQYXJzZXJJbnB1dFB0ciBpbnB1dCkgeworICAgIGlmIChpbnB1dCAhPSBOVUxMKSB7CisJaWYgKGlucHV0LT5maWxlbmFtZSkKKwkgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSAgICAiJXM6JWQ6ICIsIGlucHV0LT5maWxlbmFtZSwKKwkJICAgIGlucHV0LT5saW5lKTsKKwllbHNlCisJICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkgICAgIkVudGl0eTogbGluZSAlZDogIiwgaW5wdXQtPmxpbmUpOworICAgIH0KK30KKworLyoqCisgKiB4bWxQYXJzZXJQcmludEZpbGVDb250ZXh0OgorICogQGlucHV0OiAgYW4geG1sUGFyc2VySW5wdXRQdHIgaW5wdXQKKyAqCisgKiBEaXNwbGF5cyBjdXJyZW50IGNvbnRleHQgd2l0aGluIHRoZSBpbnB1dCBjb250ZW50IGZvciBlcnJvciB0cmFja2luZworICovCisKK3N0YXRpYyB2b2lkCit4bWxQYXJzZXJQcmludEZpbGVDb250ZXh0SW50ZXJuYWwoeG1sUGFyc2VySW5wdXRQdHIgaW5wdXQgLAorCQl4bWxHZW5lcmljRXJyb3JGdW5jIGNoYW5uZWwsIHZvaWQgKmRhdGEgKSB7CisgICAgY29uc3QgeG1sQ2hhciAqY3VyLCAqYmFzZTsKKyAgICB1bnNpZ25lZCBpbnQgbiwgY29sOwkvKiBHQ0Mgd2FybnMgaWYgc2lnbmVkLCBiZWNhdXNlIGNvbXBhcmVkIHdpdGggc2l6ZW9mKCkgKi8KKyAgICB4bWxDaGFyICBjb250ZW50WzgxXTsgLyogc3BhY2UgZm9yIDgwIGNoYXJzICsgbGluZSB0ZXJtaW5hdG9yICovCisgICAgeG1sQ2hhciAqY3RudDsKKworICAgIGlmIChpbnB1dCA9PSBOVUxMKSByZXR1cm47CisgICAgY3VyID0gaW5wdXQtPmN1cjsKKyAgICBiYXNlID0gaW5wdXQtPmJhc2U7CisgICAgLyogc2tpcCBiYWNrd2FyZHMgb3ZlciBhbnkgZW5kLW9mLWxpbmVzICovCisgICAgd2hpbGUgKChjdXIgPiBiYXNlKSAmJiAoKCooY3VyKSA9PSAnXG4nKSB8fCAoKihjdXIpID09ICdccicpKSkgeworCWN1ci0tOworICAgIH0KKyAgICBuID0gMDsKKyAgICAvKiBzZWFyY2ggYmFja3dhcmRzIGZvciBiZWdpbm5pbmctb2YtbGluZSAodG8gbWF4IGJ1ZmYgc2l6ZSkgKi8KKyAgICB3aGlsZSAoKG4rKyA8IChzaXplb2YoY29udGVudCktMSkpICYmIChjdXIgPiBiYXNlKSAmJgorCSAgICgqKGN1cikgIT0gJ1xuJykgJiYgKCooY3VyKSAhPSAnXHInKSkKKyAgICAgICAgY3VyLS07CisgICAgaWYgKCgqKGN1cikgPT0gJ1xuJykgfHwgKCooY3VyKSA9PSAnXHInKSkgY3VyKys7CisgICAgLyogY2FsY3VsYXRlIHRoZSBlcnJvciBwb3NpdGlvbiBpbiB0ZXJtcyBvZiB0aGUgY3VycmVudCBwb3NpdGlvbiAqLworICAgIGNvbCA9IGlucHV0LT5jdXIgLSBjdXI7CisgICAgLyogc2VhcmNoIGZvcndhcmQgZm9yIGVuZC1vZi1saW5lICh0byBtYXggYnVmZiBzaXplKSAqLworICAgIG4gPSAwOworICAgIGN0bnQgPSBjb250ZW50OworICAgIC8qIGNvcHkgc2VsZWN0ZWQgdGV4dCB0byBvdXIgYnVmZmVyICovCisgICAgd2hpbGUgKCgqY3VyICE9IDApICYmICgqKGN1cikgIT0gJ1xuJykgJiYKKwkgICAoKihjdXIpICE9ICdccicpICYmIChuIDwgc2l6ZW9mKGNvbnRlbnQpLTEpKSB7CisJCSpjdG50KysgPSAqY3VyKys7CisJbisrOworICAgIH0KKyAgICAqY3RudCA9IDA7CisgICAgLyogcHJpbnQgb3V0IHRoZSBzZWxlY3RlZCB0ZXh0ICovCisgICAgY2hhbm5lbChkYXRhICwiJXNcbiIsIGNvbnRlbnQpOworICAgIC8qIGNyZWF0ZSBibGFuayBsaW5lIHdpdGggcHJvYmxlbSBwb2ludGVyICovCisgICAgbiA9IDA7CisgICAgY3RudCA9IGNvbnRlbnQ7CisgICAgLyogKGxlYXZlIGJ1ZmZlciBzcGFjZSBmb3IgcG9pbnRlciArIGxpbmUgdGVybWluYXRvcikgKi8KKyAgICB3aGlsZSAoKG48Y29sKSAmJiAobisrIDwgc2l6ZW9mKGNvbnRlbnQpLTIpICYmICgqY3RudCAhPSAwKSkgeworCWlmICgqKGN0bnQpICE9ICdcdCcpCisJICAgICooY3RudCkgPSAnICc7CisJY3RudCsrOworICAgIH0KKyAgICAqY3RudCsrID0gJ14nOworICAgICpjdG50ID0gMDsKKyAgICBjaGFubmVsKGRhdGEgLCIlc1xuIiwgY29udGVudCk7Cit9CisKKy8qKgorICogeG1sUGFyc2VyUHJpbnRGaWxlQ29udGV4dDoKKyAqIEBpbnB1dDogIGFuIHhtbFBhcnNlcklucHV0UHRyIGlucHV0CisgKgorICogRGlzcGxheXMgY3VycmVudCBjb250ZXh0IHdpdGhpbiB0aGUgaW5wdXQgY29udGVudCBmb3IgZXJyb3IgdHJhY2tpbmcKKyAqLwordm9pZAoreG1sUGFyc2VyUHJpbnRGaWxlQ29udGV4dCh4bWxQYXJzZXJJbnB1dFB0ciBpbnB1dCkgeworICAgeG1sUGFyc2VyUHJpbnRGaWxlQ29udGV4dEludGVybmFsKGlucHV0LCB4bWxHZW5lcmljRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sR2VuZXJpY0Vycm9yQ29udGV4dCk7Cit9CisKKy8qKgorICogeG1sUmVwb3J0RXJyb3I6CisgKiBAZXJyOiB0aGUgZXJyb3IKKyAqIEBjdHg6IHRoZSBwYXJzZXIgY29udGV4dCBvciBOVUxMCisgKiBAc3RyOiB0aGUgZm9ybWF0dGVkIGVycm9yIG1lc3NhZ2UKKyAqCisgKiBSZXBvcnQgYW4gZXJybyB3aXRoIGl0cyBjb250ZXh0LCByZXBsYWNlIHRoZSA0IG9sZCBlcnJvci93YXJuaW5nCisgKiByb3V0aW5lcy4KKyAqLworc3RhdGljIHZvaWQKK3htbFJlcG9ydEVycm9yKHhtbEVycm9yUHRyIGVyciwgeG1sUGFyc2VyQ3R4dFB0ciBjdHh0LCBjb25zdCBjaGFyICpzdHIsCisgICAgICAgICAgICAgICB4bWxHZW5lcmljRXJyb3JGdW5jIGNoYW5uZWwsIHZvaWQgKmRhdGEpCit7CisgICAgY2hhciAqZmlsZSA9IE5VTEw7CisgICAgaW50IGxpbmUgPSAwOworICAgIGludCBjb2RlID0gLTE7CisgICAgaW50IGRvbWFpbjsKKyAgICBjb25zdCB4bWxDaGFyICpuYW1lID0gTlVMTDsKKyAgICB4bWxOb2RlUHRyIG5vZGU7CisgICAgeG1sRXJyb3JMZXZlbCBsZXZlbDsKKyAgICB4bWxQYXJzZXJJbnB1dFB0ciBpbnB1dCA9IE5VTEw7CisgICAgeG1sUGFyc2VySW5wdXRQdHIgY3VyID0gTlVMTDsKKworICAgIGlmIChlcnIgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKGNoYW5uZWwgPT0gTlVMTCkgeworCWNoYW5uZWwgPSB4bWxHZW5lcmljRXJyb3I7CisJZGF0YSA9IHhtbEdlbmVyaWNFcnJvckNvbnRleHQ7CisgICAgfQorICAgIGZpbGUgPSBlcnItPmZpbGU7CisgICAgbGluZSA9IGVyci0+bGluZTsKKyAgICBjb2RlID0gZXJyLT5jb2RlOworICAgIGRvbWFpbiA9IGVyci0+ZG9tYWluOworICAgIGxldmVsID0gZXJyLT5sZXZlbDsKKyAgICBub2RlID0gZXJyLT5ub2RlOworCisgICAgaWYgKGNvZGUgPT0gWE1MX0VSUl9PSykKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKChub2RlICE9IE5VTEwpICYmIChub2RlLT50eXBlID09IFhNTF9FTEVNRU5UX05PREUpKQorICAgICAgICBuYW1lID0gbm9kZS0+bmFtZTsKKworICAgIC8qCisgICAgICogTWFpbnRhaW4gdGhlIGNvbXBhdGliaWxpdHkgd2l0aCB0aGUgbGVnYWN5IGVycm9yIGhhbmRsaW5nCisgICAgICovCisgICAgaWYgKGN0eHQgIT0gTlVMTCkgeworICAgICAgICBpbnB1dCA9IGN0eHQtPmlucHV0OworICAgICAgICBpZiAoKGlucHV0ICE9IE5VTEwpICYmIChpbnB1dC0+ZmlsZW5hbWUgPT0gTlVMTCkgJiYKKyAgICAgICAgICAgIChjdHh0LT5pbnB1dE5yID4gMSkpIHsKKyAgICAgICAgICAgIGN1ciA9IGlucHV0OworICAgICAgICAgICAgaW5wdXQgPSBjdHh0LT5pbnB1dFRhYltjdHh0LT5pbnB1dE5yIC0gMl07CisgICAgICAgIH0KKyAgICAgICAgaWYgKGlucHV0ICE9IE5VTEwpIHsKKyAgICAgICAgICAgIGlmIChpbnB1dC0+ZmlsZW5hbWUpCisgICAgICAgICAgICAgICAgY2hhbm5lbChkYXRhLCAiJXM6JWQ6ICIsIGlucHV0LT5maWxlbmFtZSwgaW5wdXQtPmxpbmUpOworICAgICAgICAgICAgZWxzZSBpZiAoKGxpbmUgIT0gMCkgJiYgKGRvbWFpbiA9PSBYTUxfRlJPTV9QQVJTRVIpKQorICAgICAgICAgICAgICAgIGNoYW5uZWwoZGF0YSwgIkVudGl0eTogbGluZSAlZDogIiwgaW5wdXQtPmxpbmUpOworICAgICAgICB9CisgICAgfSBlbHNlIHsKKyAgICAgICAgaWYgKGZpbGUgIT0gTlVMTCkKKyAgICAgICAgICAgIGNoYW5uZWwoZGF0YSwgIiVzOiVkOiAiLCBmaWxlLCBsaW5lKTsKKyAgICAgICAgZWxzZSBpZiAoKGxpbmUgIT0gMCkgJiYKKwkgICAgICAgICAoKGRvbWFpbiA9PSBYTUxfRlJPTV9QQVJTRVIpIHx8IChkb21haW4gPT0gWE1MX0ZST01fU0NIRU1BU1YpfHwKKwkJICAoZG9tYWluID09IFhNTF9GUk9NX1NDSEVNQVNQKXx8KGRvbWFpbiA9PSBYTUxfRlJPTV9EVEQpIHx8CisJCSAgKGRvbWFpbiA9PSBYTUxfRlJPTV9SRUxBWE5HUCl8fChkb21haW4gPT0gWE1MX0ZST01fUkVMQVhOR1YpKSkKKyAgICAgICAgICAgIGNoYW5uZWwoZGF0YSwgIkVudGl0eTogbGluZSAlZDogIiwgbGluZSk7CisgICAgfQorICAgIGlmIChuYW1lICE9IE5VTEwpIHsKKyAgICAgICAgY2hhbm5lbChkYXRhLCAiZWxlbWVudCAlczogIiwgbmFtZSk7CisgICAgfQorICAgIHN3aXRjaCAoZG9tYWluKSB7CisgICAgICAgIGNhc2UgWE1MX0ZST01fUEFSU0VSOgorICAgICAgICAgICAgY2hhbm5lbChkYXRhLCAicGFyc2VyICIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0ZST01fTkFNRVNQQUNFOgorICAgICAgICAgICAgY2hhbm5lbChkYXRhLCAibmFtZXNwYWNlICIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0ZST01fRFREOgorICAgICAgICBjYXNlIFhNTF9GUk9NX1ZBTElEOgorICAgICAgICAgICAgY2hhbm5lbChkYXRhLCAidmFsaWRpdHkgIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfRlJPTV9IVE1MOgorICAgICAgICAgICAgY2hhbm5lbChkYXRhLCAiSFRNTCBwYXJzZXIgIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfRlJPTV9NRU1PUlk6CisgICAgICAgICAgICBjaGFubmVsKGRhdGEsICJtZW1vcnkgIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfRlJPTV9PVVRQVVQ6CisgICAgICAgICAgICBjaGFubmVsKGRhdGEsICJvdXRwdXQgIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfRlJPTV9JTzoKKyAgICAgICAgICAgIGNoYW5uZWwoZGF0YSwgIkkvTyAiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9GUk9NX1hJTkNMVURFOgorICAgICAgICAgICAgY2hhbm5lbChkYXRhLCAiWEluY2x1ZGUgIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfRlJPTV9YUEFUSDoKKyAgICAgICAgICAgIGNoYW5uZWwoZGF0YSwgIlhQYXRoICIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0ZST01fWFBPSU5URVI6CisgICAgICAgICAgICBjaGFubmVsKGRhdGEsICJwYXJzZXIgIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfRlJPTV9SRUdFWFA6CisgICAgICAgICAgICBjaGFubmVsKGRhdGEsICJyZWdleHAgIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfRlJPTV9NT0RVTEU6CisgICAgICAgICAgICBjaGFubmVsKGRhdGEsICJtb2R1bGUgIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfRlJPTV9TQ0hFTUFTVjoKKyAgICAgICAgICAgIGNoYW5uZWwoZGF0YSwgIlNjaGVtYXMgdmFsaWRpdHkgIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfRlJPTV9TQ0hFTUFTUDoKKyAgICAgICAgICAgIGNoYW5uZWwoZGF0YSwgIlNjaGVtYXMgcGFyc2VyICIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0ZST01fUkVMQVhOR1A6CisgICAgICAgICAgICBjaGFubmVsKGRhdGEsICJSZWxheC1ORyBwYXJzZXIgIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfRlJPTV9SRUxBWE5HVjoKKyAgICAgICAgICAgIGNoYW5uZWwoZGF0YSwgIlJlbGF4LU5HIHZhbGlkaXR5ICIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0ZST01fQ0FUQUxPRzoKKyAgICAgICAgICAgIGNoYW5uZWwoZGF0YSwgIkNhdGFsb2cgIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfRlJPTV9DMTROOgorICAgICAgICAgICAgY2hhbm5lbChkYXRhLCAiQzE0TiAiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9GUk9NX1hTTFQ6CisgICAgICAgICAgICBjaGFubmVsKGRhdGEsICJYU0xUICIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0ZST01fSTE4TjoKKyAgICAgICAgICAgIGNoYW5uZWwoZGF0YSwgImVuY29kaW5nICIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0ZST01fU0NIRU1BVFJPTlY6CisgICAgICAgICAgICBjaGFubmVsKGRhdGEsICJzY2hlbWF0cm9uICIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0ZST01fQlVGRkVSOgorICAgICAgICAgICAgY2hhbm5lbChkYXRhLCAiaW50ZXJuYWwgYnVmZmVyICIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0ZST01fVVJJOgorICAgICAgICAgICAgY2hhbm5lbChkYXRhLCAiVVJJICIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBicmVhazsKKyAgICB9CisgICAgc3dpdGNoIChsZXZlbCkgeworICAgICAgICBjYXNlIFhNTF9FUlJfTk9ORToKKyAgICAgICAgICAgIGNoYW5uZWwoZGF0YSwgIjogIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfRVJSX1dBUk5JTkc6CisgICAgICAgICAgICBjaGFubmVsKGRhdGEsICJ3YXJuaW5nIDogIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfRVJSX0VSUk9SOgorICAgICAgICAgICAgY2hhbm5lbChkYXRhLCAiZXJyb3IgOiAiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9FUlJfRkFUQUw6CisgICAgICAgICAgICBjaGFubmVsKGRhdGEsICJlcnJvciA6ICIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgfQorICAgIGlmIChzdHIgIT0gTlVMTCkgeworICAgICAgICBpbnQgbGVuOworCWxlbiA9IHhtbFN0cmxlbigoY29uc3QgeG1sQ2hhciAqKXN0cik7CisJaWYgKChsZW4gPiAwKSAmJiAoc3RyW2xlbiAtIDFdICE9ICdcbicpKQorCSAgICBjaGFubmVsKGRhdGEsICIlc1xuIiwgc3RyKTsKKwllbHNlCisJICAgIGNoYW5uZWwoZGF0YSwgIiVzIiwgc3RyKTsKKyAgICB9IGVsc2UgeworICAgICAgICBjaGFubmVsKGRhdGEsICIlc1xuIiwgIm91dCBvZiBtZW1vcnkgZXJyb3IiKTsKKyAgICB9CisKKyAgICBpZiAoY3R4dCAhPSBOVUxMKSB7CisgICAgICAgIHhtbFBhcnNlclByaW50RmlsZUNvbnRleHRJbnRlcm5hbChpbnB1dCwgY2hhbm5lbCwgZGF0YSk7CisgICAgICAgIGlmIChjdXIgIT0gTlVMTCkgeworICAgICAgICAgICAgaWYgKGN1ci0+ZmlsZW5hbWUpCisgICAgICAgICAgICAgICAgY2hhbm5lbChkYXRhLCAiJXM6JWQ6IFxuIiwgY3VyLT5maWxlbmFtZSwgY3VyLT5saW5lKTsKKyAgICAgICAgICAgIGVsc2UgaWYgKChsaW5lICE9IDApICYmIChkb21haW4gPT0gWE1MX0ZST01fUEFSU0VSKSkKKyAgICAgICAgICAgICAgICBjaGFubmVsKGRhdGEsICJFbnRpdHk6IGxpbmUgJWQ6IFxuIiwgY3VyLT5saW5lKTsKKyAgICAgICAgICAgIHhtbFBhcnNlclByaW50RmlsZUNvbnRleHRJbnRlcm5hbChjdXIsIGNoYW5uZWwsIGRhdGEpOworICAgICAgICB9CisgICAgfQorICAgIGlmICgoZG9tYWluID09IFhNTF9GUk9NX1hQQVRIKSAmJiAoZXJyLT5zdHIxICE9IE5VTEwpICYmCisgICAgICAgIChlcnItPmludDEgPCAxMDApICYmCisJKGVyci0+aW50MSA8IHhtbFN0cmxlbigoY29uc3QgeG1sQ2hhciAqKWVyci0+c3RyMSkpKSB7CisJeG1sQ2hhciBidWZbMTUwXTsKKwlpbnQgaTsKKworCWNoYW5uZWwoZGF0YSwgIiVzXG4iLCBlcnItPnN0cjEpOworCWZvciAoaT0wO2kgPCBlcnItPmludDE7aSsrKQorCSAgICAgYnVmW2ldID0gJyAnOworCWJ1ZltpKytdID0gJ14nOworCWJ1ZltpXSA9IDA7CisJY2hhbm5lbChkYXRhLCAiJXNcbiIsIGJ1Zik7CisgICAgfQorfQorCisvKioKKyAqIF9feG1sUmFpc2VFcnJvcjoKKyAqIEBzY2hhbm5lbDogdGhlIHN0cnVjdHVyZWQgY2FsbGJhY2sgY2hhbm5lbAorICogQGNoYW5uZWw6IHRoZSBvbGQgY2FsbGJhY2sgY2hhbm5lbAorICogQGRhdGE6IHRoZSBjYWxsYmFjayBkYXRhCisgKiBAY3R4OiB0aGUgcGFyc2VyIGNvbnRleHQgb3IgTlVMTAorICogQGN0eDogdGhlIHBhcnNlciBjb250ZXh0IG9yIE5VTEwKKyAqIEBkb21haW46IHRoZSBkb21haW4gZm9yIHRoZSBlcnJvcgorICogQGNvZGU6IHRoZSBjb2RlIGZvciB0aGUgZXJyb3IKKyAqIEBsZXZlbDogdGhlIHhtbEVycm9yTGV2ZWwgZm9yIHRoZSBlcnJvcgorICogQGZpbGU6IHRoZSBmaWxlIHNvdXJjZSBvZiB0aGUgZXJyb3IgKG9yIE5VTEwpCisgKiBAbGluZTogdGhlIGxpbmUgb2YgdGhlIGVycm9yIG9yIDAgaWYgTi9BCisgKiBAc3RyMTogZXh0cmEgc3RyaW5nIGluZm8KKyAqIEBzdHIyOiBleHRyYSBzdHJpbmcgaW5mbworICogQHN0cjM6IGV4dHJhIHN0cmluZyBpbmZvCisgKiBAaW50MTogZXh0cmEgaW50IGluZm8KKyAqIEBjb2w6IGNvbHVtbiBudW1iZXIgb2YgdGhlIGVycm9yIG9yIDAgaWYgTi9BCisgKiBAbXNnOiAgdGhlIG1lc3NhZ2UgdG8gZGlzcGxheS90cmFuc21pdAorICogQC4uLjogIGV4dHJhIHBhcmFtZXRlcnMgZm9yIHRoZSBtZXNzYWdlIGRpc3BsYXkKKyAqCisgKiBVcGRhdGUgdGhlIGFwcHJvcHJpYXRlIGdsb2JhbCBvciBjb250ZXh0dWFsIGVycm9yIHN0cnVjdHVyZSwKKyAqIHRoZW4gZm9yd2FyZCB0aGUgZXJyb3IgbWVzc2FnZSBkb3duIHRoZSBwYXJzZXIgb3IgZ2VuZXJpYworICogZXJyb3IgY2FsbGJhY2sgaGFuZGxlcgorICovCit2b2lkIFhNTENERUNMCitfX3htbFJhaXNlRXJyb3IoeG1sU3RydWN0dXJlZEVycm9yRnVuYyBzY2hhbm5lbCwKKyAgICAgICAgICAgICAgeG1sR2VuZXJpY0Vycm9yRnVuYyBjaGFubmVsLCB2b2lkICpkYXRhLCB2b2lkICpjdHgsCisgICAgICAgICAgICAgIHZvaWQgKm5vZCwgaW50IGRvbWFpbiwgaW50IGNvZGUsIHhtbEVycm9yTGV2ZWwgbGV2ZWwsCisgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lLCBjb25zdCBjaGFyICpzdHIxLAorICAgICAgICAgICAgICBjb25zdCBjaGFyICpzdHIyLCBjb25zdCBjaGFyICpzdHIzLCBpbnQgaW50MSwgaW50IGNvbCwKKwkgICAgICBjb25zdCBjaGFyICptc2csIC4uLikKK3sKKyAgICB4bWxQYXJzZXJDdHh0UHRyIGN0eHQgPSBOVUxMOworICAgIHhtbE5vZGVQdHIgbm9kZSA9ICh4bWxOb2RlUHRyKSBub2Q7CisgICAgY2hhciAqc3RyID0gTlVMTDsKKyAgICB4bWxQYXJzZXJJbnB1dFB0ciBpbnB1dCA9IE5VTEw7CisgICAgeG1sRXJyb3JQdHIgdG8gPSAmeG1sTGFzdEVycm9yOworICAgIHhtbE5vZGVQdHIgYmFzZXB0ciA9IE5VTEw7CisKKyAgICBpZiAoY29kZSA9PSBYTUxfRVJSX09LKQorICAgICAgICByZXR1cm47CisgICAgaWYgKCh4bWxHZXRXYXJuaW5nc0RlZmF1bHRWYWx1ZSA9PSAwKSAmJiAobGV2ZWwgPT0gWE1MX0VSUl9XQVJOSU5HKSkKKyAgICAgICAgcmV0dXJuOworICAgIGlmICgoZG9tYWluID09IFhNTF9GUk9NX1BBUlNFUikgfHwgKGRvbWFpbiA9PSBYTUxfRlJPTV9IVE1MKSB8fAorICAgICAgICAoZG9tYWluID09IFhNTF9GUk9NX0RURCkgfHwgKGRvbWFpbiA9PSBYTUxfRlJPTV9OQU1FU1BBQ0UpIHx8CisJKGRvbWFpbiA9PSBYTUxfRlJPTV9JTykgfHwgKGRvbWFpbiA9PSBYTUxfRlJPTV9WQUxJRCkpIHsKKwljdHh0ID0gKHhtbFBhcnNlckN0eHRQdHIpIGN0eDsKKwlpZiAoKHNjaGFubmVsID09IE5VTEwpICYmIChjdHh0ICE9IE5VTEwpICYmIChjdHh0LT5zYXggIT0gTlVMTCkgJiYKKwkgICAgKGN0eHQtPnNheC0+aW5pdGlhbGl6ZWQgPT0gWE1MX1NBWDJfTUFHSUMpICYmCisJICAgIChjdHh0LT5zYXgtPnNlcnJvciAhPSBOVUxMKSkgeworCSAgICBzY2hhbm5lbCA9IGN0eHQtPnNheC0+c2Vycm9yOworCSAgICBkYXRhID0gY3R4dC0+dXNlckRhdGE7CisJfQorICAgIH0KKyAgICAvKgorICAgICAqIENoZWNrIGlmIHN0cnVjdHVyZWQgZXJyb3IgaGFuZGxlciBzZXQKKyAgICAgKi8KKyAgICBpZiAoc2NoYW5uZWwgPT0gTlVMTCkgeworCXNjaGFubmVsID0geG1sU3RydWN0dXJlZEVycm9yOworCS8qCisJICogaWYgdXNlciBoYXMgZGVmaW5lZCBoYW5kbGVyLCBjaGFuZ2UgZGF0YSBwdHIgdG8gdXNlcidzIGNob2ljZQorCSAqLworCWlmIChzY2hhbm5lbCAhPSBOVUxMKQorCSAgICBkYXRhID0geG1sU3RydWN0dXJlZEVycm9yQ29udGV4dDsKKyAgICB9CisgICAgLyoKKyAgICAgKiBGb3JtYXR0aW5nIHRoZSBtZXNzYWdlCisgICAgICovCisgICAgaWYgKG1zZyA9PSBOVUxMKSB7CisgICAgICAgIHN0ciA9IChjaGFyICopIHhtbFN0cmR1cChCQURfQ0FTVCAiTm8gZXJyb3IgbWVzc2FnZSBwcm92aWRlZCIpOworICAgIH0gZWxzZSB7CisgICAgICAgIFhNTF9HRVRfVkFSX1NUUihtc2csIHN0cik7CisgICAgfQorCisgICAgLyoKKyAgICAgKiBzcGVjaWZpYyBwcm9jZXNzaW5nIGlmIGEgcGFyc2VyIGNvbnRleHQgaXMgcHJvdmlkZWQKKyAgICAgKi8KKyAgICBpZiAoY3R4dCAhPSBOVUxMKSB7CisgICAgICAgIGlmIChmaWxlID09IE5VTEwpIHsKKyAgICAgICAgICAgIGlucHV0ID0gY3R4dC0+aW5wdXQ7CisgICAgICAgICAgICBpZiAoKGlucHV0ICE9IE5VTEwpICYmIChpbnB1dC0+ZmlsZW5hbWUgPT0gTlVMTCkgJiYKKyAgICAgICAgICAgICAgICAoY3R4dC0+aW5wdXROciA+IDEpKSB7CisgICAgICAgICAgICAgICAgaW5wdXQgPSBjdHh0LT5pbnB1dFRhYltjdHh0LT5pbnB1dE5yIC0gMl07CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAoaW5wdXQgIT0gTlVMTCkgeworICAgICAgICAgICAgICAgIGZpbGUgPSBpbnB1dC0+ZmlsZW5hbWU7CisgICAgICAgICAgICAgICAgbGluZSA9IGlucHV0LT5saW5lOworICAgICAgICAgICAgICAgIGNvbCA9IGlucHV0LT5jb2w7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgdG8gPSAmY3R4dC0+bGFzdEVycm9yOworICAgIH0gZWxzZSBpZiAoKG5vZGUgIT0gTlVMTCkgJiYgKGZpbGUgPT0gTlVMTCkpIHsKKwlpbnQgaTsKKworCWlmICgobm9kZS0+ZG9jICE9IE5VTEwpICYmIChub2RlLT5kb2MtPlVSTCAhPSBOVUxMKSkgeworCSAgICBiYXNlcHRyID0gbm9kZTsKKy8qCSAgICBmaWxlID0gKGNvbnN0IGNoYXIgKikgbm9kZS0+ZG9jLT5VUkw7ICovCisJfQorCWZvciAoaSA9IDA7CisJICAgICAoKGkgPCAxMCkgJiYgKG5vZGUgIT0gTlVMTCkgJiYgKG5vZGUtPnR5cGUgIT0gWE1MX0VMRU1FTlRfTk9ERSkpOworCSAgICAgaSsrKQorCSAgICAgbm9kZSA9IG5vZGUtPnBhcmVudDsKKyAgICAgICAgaWYgKChiYXNlcHRyID09IE5VTEwpICYmIChub2RlICE9IE5VTEwpICYmCisJICAgIChub2RlLT5kb2MgIT0gTlVMTCkgJiYgKG5vZGUtPmRvYy0+VVJMICE9IE5VTEwpKQorCSAgICBiYXNlcHRyID0gbm9kZTsKKworCWlmICgobm9kZSAhPSBOVUxMKSAmJiAobm9kZS0+dHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFKSkKKwkgICAgbGluZSA9IG5vZGUtPmxpbmU7CisJaWYgKChsaW5lID09IDApIHx8IChsaW5lID09IDY1NTM1KSkKKwkgICAgbGluZSA9IHhtbEdldExpbmVObyhub2RlKTsKKyAgICB9CisKKyAgICAvKgorICAgICAqIFNhdmUgdGhlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBlcnJvcgorICAgICAqLworICAgIHhtbFJlc2V0RXJyb3IodG8pOworICAgIHRvLT5kb21haW4gPSBkb21haW47CisgICAgdG8tPmNvZGUgPSBjb2RlOworICAgIHRvLT5tZXNzYWdlID0gc3RyOworICAgIHRvLT5sZXZlbCA9IGxldmVsOworICAgIGlmIChmaWxlICE9IE5VTEwpCisgICAgICAgIHRvLT5maWxlID0gKGNoYXIgKikgeG1sU3RyZHVwKChjb25zdCB4bWxDaGFyICopIGZpbGUpOworICAgIGVsc2UgaWYgKGJhc2VwdHIgIT0gTlVMTCkgeworI2lmZGVmIExJQlhNTF9YSU5DTFVERV9FTkFCTEVECisJLyoKKwkgKiBXZSBjaGVjayBpZiB0aGUgZXJyb3IgaXMgd2l0aGluIGFuIFhJbmNsdWRlIHNlY3Rpb24gYW5kLAorCSAqIGlmIHNvLCBhdHRlbXB0IHRvIHByaW50IG91dCB0aGUgaHJlZiBvZiB0aGUgWEluY2x1ZGUgaW5zdGVhZAorCSAqIG9mIHRoZSB1c3VhbCAiYmFzZSIgKGRvYy0+VVJMKSBmb3IgdGhlIG5vZGUgKGJ1ZyAxNTI2MjMpLgorCSAqLworICAgICAgICB4bWxOb2RlUHRyIHByZXYgPSBiYXNlcHRyOworCWludCBpbmNsY291bnQgPSAwOworCXdoaWxlIChwcmV2ICE9IE5VTEwpIHsKKwkgICAgaWYgKHByZXYtPnByZXYgPT0gTlVMTCkKKwkgICAgICAgIHByZXYgPSBwcmV2LT5wYXJlbnQ7CisJICAgIGVsc2UgeworCSAgICAgICAgcHJldiA9IHByZXYtPnByZXY7CisJCWlmIChwcmV2LT50eXBlID09IFhNTF9YSU5DTFVERV9TVEFSVCkgeworCQkgICAgaWYgKC0taW5jbGNvdW50IDwgMCkKKwkJICAgICAgICBicmVhazsKKwkJfSBlbHNlIGlmIChwcmV2LT50eXBlID09IFhNTF9YSU5DTFVERV9FTkQpCisJCSAgICBpbmNsY291bnQrKzsKKwkgICAgfQorCX0KKwlpZiAocHJldiAhPSBOVUxMKSB7CisJICAgIGlmIChwcmV2LT50eXBlID09IFhNTF9YSU5DTFVERV9TVEFSVCkgeworCQlwcmV2LT50eXBlID0gWE1MX0VMRU1FTlRfTk9ERTsKKwkJdG8tPmZpbGUgPSAoY2hhciAqKSB4bWxHZXRQcm9wKHByZXYsIEJBRF9DQVNUICJocmVmIik7CisJCXByZXYtPnR5cGUgPSBYTUxfWElOQ0xVREVfU1RBUlQ7CisJICAgIH0gZWxzZSB7CisJCXRvLT5maWxlID0gKGNoYXIgKikgeG1sR2V0UHJvcChwcmV2LCBCQURfQ0FTVCAiaHJlZiIpOworCSAgICB9CisJfSBlbHNlCisjZW5kaWYKKwkgICAgdG8tPmZpbGUgPSAoY2hhciAqKSB4bWxTdHJkdXAoYmFzZXB0ci0+ZG9jLT5VUkwpOworCWlmICgodG8tPmZpbGUgPT0gTlVMTCkgJiYgKG5vZGUgIT0gTlVMTCkgJiYgKG5vZGUtPmRvYyAhPSBOVUxMKSkgeworCSAgICB0by0+ZmlsZSA9IChjaGFyICopIHhtbFN0cmR1cChub2RlLT5kb2MtPlVSTCk7CisJfQorICAgIH0KKyAgICB0by0+bGluZSA9IGxpbmU7CisgICAgaWYgKHN0cjEgIT0gTlVMTCkKKyAgICAgICAgdG8tPnN0cjEgPSAoY2hhciAqKSB4bWxTdHJkdXAoKGNvbnN0IHhtbENoYXIgKikgc3RyMSk7CisgICAgaWYgKHN0cjIgIT0gTlVMTCkKKyAgICAgICAgdG8tPnN0cjIgPSAoY2hhciAqKSB4bWxTdHJkdXAoKGNvbnN0IHhtbENoYXIgKikgc3RyMik7CisgICAgaWYgKHN0cjMgIT0gTlVMTCkKKyAgICAgICAgdG8tPnN0cjMgPSAoY2hhciAqKSB4bWxTdHJkdXAoKGNvbnN0IHhtbENoYXIgKikgc3RyMyk7CisgICAgdG8tPmludDEgPSBpbnQxOworICAgIHRvLT5pbnQyID0gY29sOworICAgIHRvLT5ub2RlID0gbm9kZTsKKyAgICB0by0+Y3R4dCA9IGN0eDsKKworICAgIGlmICh0byAhPSAmeG1sTGFzdEVycm9yKQorICAgICAgICB4bWxDb3B5RXJyb3IodG8sJnhtbExhc3RFcnJvcik7CisKKyAgICBpZiAoc2NoYW5uZWwgIT0gTlVMTCkgeworCXNjaGFubmVsKGRhdGEsIHRvKTsKKwlyZXR1cm47CisgICAgfQorCisgICAgLyoKKyAgICAgKiBGaW5kIHRoZSBjYWxsYmFjayBjaGFubmVsIGlmIGNoYW5uZWwgcGFyYW0gaXMgTlVMTAorICAgICAqLworICAgIGlmICgoY3R4dCAhPSBOVUxMKSAmJiAoY2hhbm5lbCA9PSBOVUxMKSAmJgorICAgICAgICAoeG1sU3RydWN0dXJlZEVycm9yID09IE5VTEwpICYmIChjdHh0LT5zYXggIT0gTlVMTCkpIHsKKyAgICAgICAgaWYgKGxldmVsID09IFhNTF9FUlJfV0FSTklORykKKwkgICAgY2hhbm5lbCA9IGN0eHQtPnNheC0+d2FybmluZzsKKyAgICAgICAgZWxzZQorCSAgICBjaGFubmVsID0gY3R4dC0+c2F4LT5lcnJvcjsKKwlkYXRhID0gY3R4dC0+dXNlckRhdGE7CisgICAgfSBlbHNlIGlmIChjaGFubmVsID09IE5VTEwpIHsKKwljaGFubmVsID0geG1sR2VuZXJpY0Vycm9yOworCWlmIChjdHh0ICE9IE5VTEwpIHsKKwkgICAgZGF0YSA9IGN0eHQ7CisJfSBlbHNlIHsKKwkgICAgZGF0YSA9IHhtbEdlbmVyaWNFcnJvckNvbnRleHQ7CisJfQorICAgIH0KKyAgICBpZiAoY2hhbm5lbCA9PSBOVUxMKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoKGNoYW5uZWwgPT0geG1sUGFyc2VyRXJyb3IpIHx8CisgICAgICAgIChjaGFubmVsID09IHhtbFBhcnNlcldhcm5pbmcpIHx8CisJKGNoYW5uZWwgPT0geG1sUGFyc2VyVmFsaWRpdHlFcnJvcikgfHwKKwkoY2hhbm5lbCA9PSB4bWxQYXJzZXJWYWxpZGl0eVdhcm5pbmcpKQorCXhtbFJlcG9ydEVycm9yKHRvLCBjdHh0LCBzdHIsIE5VTEwsIE5VTEwpOworICAgIGVsc2UgaWYgKChjaGFubmVsID09ICh4bWxHZW5lcmljRXJyb3JGdW5jKSBmcHJpbnRmKSB8fAorICAgICAgICAgICAgIChjaGFubmVsID09IHhtbEdlbmVyaWNFcnJvckRlZmF1bHRGdW5jKSkKKwl4bWxSZXBvcnRFcnJvcih0bywgY3R4dCwgc3RyLCBjaGFubmVsLCBkYXRhKTsKKyAgICBlbHNlCisJY2hhbm5lbChkYXRhLCAiJXMiLCBzdHIpOworfQorCisvKioKKyAqIF9feG1sU2ltcGxlRXJyb3I6CisgKiBAZG9tYWluOiB3aGVyZSB0aGUgZXJyb3IgY29tZXMgZnJvbQorICogQGNvZGU6IHRoZSBlcnJvciBjb2RlCisgKiBAbm9kZTogdGhlIGNvbnRleHQgbm9kZQorICogQGV4dHJhOiAgZXh0cmEgaW5mb3JtYXRpb25zCisgKgorICogSGFuZGxlIGFuIG91dCBvZiBtZW1vcnkgY29uZGl0aW9uCisgKi8KK3ZvaWQKK19feG1sU2ltcGxlRXJyb3IoaW50IGRvbWFpbiwgaW50IGNvZGUsIHhtbE5vZGVQdHIgbm9kZSwKKyAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqbXNnLCBjb25zdCBjaGFyICpleHRyYSkKK3sKKworICAgIGlmIChjb2RlID09IFhNTF9FUlJfTk9fTUVNT1JZKSB7CisJaWYgKGV4dHJhKQorCSAgICBfX3htbFJhaXNlRXJyb3IoTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwgbm9kZSwgZG9tYWluLAorCQkJICAgIFhNTF9FUlJfTk9fTUVNT1JZLCBYTUxfRVJSX0ZBVEFMLCBOVUxMLCAwLCBleHRyYSwKKwkJCSAgICBOVUxMLCBOVUxMLCAwLCAwLAorCQkJICAgICJNZW1vcnkgYWxsb2NhdGlvbiBmYWlsZWQgOiAlc1xuIiwgZXh0cmEpOworCWVsc2UKKwkgICAgX194bWxSYWlzZUVycm9yKE5VTEwsIE5VTEwsIE5VTEwsIE5VTEwsIG5vZGUsIGRvbWFpbiwKKwkJCSAgICBYTUxfRVJSX05PX01FTU9SWSwgWE1MX0VSUl9GQVRBTCwgTlVMTCwgMCwgTlVMTCwKKwkJCSAgICBOVUxMLCBOVUxMLCAwLCAwLCAiTWVtb3J5IGFsbG9jYXRpb24gZmFpbGVkXG4iKTsKKyAgICB9IGVsc2UgeworCV9feG1sUmFpc2VFcnJvcihOVUxMLCBOVUxMLCBOVUxMLCBOVUxMLCBub2RlLCBkb21haW4sCisJCQljb2RlLCBYTUxfRVJSX0VSUk9SLCBOVUxMLCAwLCBleHRyYSwKKwkJCU5VTEwsIE5VTEwsIDAsIDAsIG1zZywgZXh0cmEpOworICAgIH0KK30KKy8qKgorICogeG1sUGFyc2VyRXJyb3I6CisgKiBAY3R4OiAgYW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAbXNnOiAgdGhlIG1lc3NhZ2UgdG8gZGlzcGxheS90cmFuc21pdAorICogQC4uLjogIGV4dHJhIHBhcmFtZXRlcnMgZm9yIHRoZSBtZXNzYWdlIGRpc3BsYXkKKyAqCisgKiBEaXNwbGF5IGFuZCBmb3JtYXQgYW4gZXJyb3IgbWVzc2FnZXMsIGdpdmVzIGZpbGUsIGxpbmUsIHBvc2l0aW9uIGFuZAorICogZXh0cmEgcGFyYW1ldGVycy4KKyAqLwordm9pZCBYTUxDREVDTAoreG1sUGFyc2VyRXJyb3Iodm9pZCAqY3R4LCBjb25zdCBjaGFyICptc2csIC4uLikKK3sKKyAgICB4bWxQYXJzZXJDdHh0UHRyIGN0eHQgPSAoeG1sUGFyc2VyQ3R4dFB0cikgY3R4OworICAgIHhtbFBhcnNlcklucHV0UHRyIGlucHV0ID0gTlVMTDsKKyAgICB4bWxQYXJzZXJJbnB1dFB0ciBjdXIgPSBOVUxMOworICAgIGNoYXIgKiBzdHI7CisKKyAgICBpZiAoY3R4dCAhPSBOVUxMKSB7CisJaW5wdXQgPSBjdHh0LT5pbnB1dDsKKwlpZiAoKGlucHV0ICE9IE5VTEwpICYmIChpbnB1dC0+ZmlsZW5hbWUgPT0gTlVMTCkgJiYKKwkgICAgKGN0eHQtPmlucHV0TnIgPiAxKSkgeworCSAgICBjdXIgPSBpbnB1dDsKKwkgICAgaW5wdXQgPSBjdHh0LT5pbnB1dFRhYltjdHh0LT5pbnB1dE5yIC0gMl07CisJfQorCXhtbFBhcnNlclByaW50RmlsZUluZm8oaW5wdXQpOworICAgIH0KKworICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCAiZXJyb3I6ICIpOworICAgIFhNTF9HRVRfVkFSX1NUUihtc2csIHN0cik7CisgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICIlcyIsIHN0cik7CisgICAgaWYgKHN0ciAhPSBOVUxMKQorCXhtbEZyZWUoc3RyKTsKKworICAgIGlmIChjdHh0ICE9IE5VTEwpIHsKKwl4bWxQYXJzZXJQcmludEZpbGVDb250ZXh0KGlucHV0KTsKKwlpZiAoY3VyICE9IE5VTEwpIHsKKwkgICAgeG1sUGFyc2VyUHJpbnRGaWxlSW5mbyhjdXIpOworCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgIlxuIik7CisJICAgIHhtbFBhcnNlclByaW50RmlsZUNvbnRleHQoY3VyKTsKKwl9CisgICAgfQorfQorCisvKioKKyAqIHhtbFBhcnNlcldhcm5pbmc6CisgKiBAY3R4OiAgYW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAbXNnOiAgdGhlIG1lc3NhZ2UgdG8gZGlzcGxheS90cmFuc21pdAorICogQC4uLjogIGV4dHJhIHBhcmFtZXRlcnMgZm9yIHRoZSBtZXNzYWdlIGRpc3BsYXkKKyAqCisgKiBEaXNwbGF5IGFuZCBmb3JtYXQgYSB3YXJuaW5nIG1lc3NhZ2VzLCBnaXZlcyBmaWxlLCBsaW5lLCBwb3NpdGlvbiBhbmQKKyAqIGV4dHJhIHBhcmFtZXRlcnMuCisgKi8KK3ZvaWQgWE1MQ0RFQ0wKK3htbFBhcnNlcldhcm5pbmcodm9pZCAqY3R4LCBjb25zdCBjaGFyICptc2csIC4uLikKK3sKKyAgICB4bWxQYXJzZXJDdHh0UHRyIGN0eHQgPSAoeG1sUGFyc2VyQ3R4dFB0cikgY3R4OworICAgIHhtbFBhcnNlcklucHV0UHRyIGlucHV0ID0gTlVMTDsKKyAgICB4bWxQYXJzZXJJbnB1dFB0ciBjdXIgPSBOVUxMOworICAgIGNoYXIgKiBzdHI7CisKKyAgICBpZiAoY3R4dCAhPSBOVUxMKSB7CisJaW5wdXQgPSBjdHh0LT5pbnB1dDsKKwlpZiAoKGlucHV0ICE9IE5VTEwpICYmIChpbnB1dC0+ZmlsZW5hbWUgPT0gTlVMTCkgJiYKKwkgICAgKGN0eHQtPmlucHV0TnIgPiAxKSkgeworCSAgICBjdXIgPSBpbnB1dDsKKwkgICAgaW5wdXQgPSBjdHh0LT5pbnB1dFRhYltjdHh0LT5pbnB1dE5yIC0gMl07CisJfQorCXhtbFBhcnNlclByaW50RmlsZUluZm8oaW5wdXQpOworICAgIH0KKworICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCAid2FybmluZzogIik7CisgICAgWE1MX0dFVF9WQVJfU1RSKG1zZywgc3RyKTsKKyAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgIiVzIiwgc3RyKTsKKyAgICBpZiAoc3RyICE9IE5VTEwpCisJeG1sRnJlZShzdHIpOworCisgICAgaWYgKGN0eHQgIT0gTlVMTCkgeworCXhtbFBhcnNlclByaW50RmlsZUNvbnRleHQoaW5wdXQpOworCWlmIChjdXIgIT0gTlVMTCkgeworCSAgICB4bWxQYXJzZXJQcmludEZpbGVJbmZvKGN1cik7CisJICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCAiXG4iKTsKKwkgICAgeG1sUGFyc2VyUHJpbnRGaWxlQ29udGV4dChjdXIpOworCX0KKyAgICB9Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCQlIYW5kbGluZyBvZiB2YWxpZGF0aW9uIGVycm9ycwkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqCisgKiB4bWxQYXJzZXJWYWxpZGl0eUVycm9yOgorICogQGN0eDogIGFuIFhNTCBwYXJzZXIgY29udGV4dAorICogQG1zZzogIHRoZSBtZXNzYWdlIHRvIGRpc3BsYXkvdHJhbnNtaXQKKyAqIEAuLi46ICBleHRyYSBwYXJhbWV0ZXJzIGZvciB0aGUgbWVzc2FnZSBkaXNwbGF5CisgKgorICogRGlzcGxheSBhbmQgZm9ybWF0IGFuIHZhbGlkaXR5IGVycm9yIG1lc3NhZ2VzLCBnaXZlcyBmaWxlLAorICogbGluZSwgcG9zaXRpb24gYW5kIGV4dHJhIHBhcmFtZXRlcnMuCisgKi8KK3ZvaWQgWE1MQ0RFQ0wKK3htbFBhcnNlclZhbGlkaXR5RXJyb3Iodm9pZCAqY3R4LCBjb25zdCBjaGFyICptc2csIC4uLikKK3sKKyAgICB4bWxQYXJzZXJDdHh0UHRyIGN0eHQgPSAoeG1sUGFyc2VyQ3R4dFB0cikgY3R4OworICAgIHhtbFBhcnNlcklucHV0UHRyIGlucHV0ID0gTlVMTDsKKyAgICBjaGFyICogc3RyOworICAgIGludCBsZW4gPSB4bWxTdHJsZW4oKGNvbnN0IHhtbENoYXIgKikgbXNnKTsKKyAgICBzdGF0aWMgaW50IGhhZF9pbmZvID0gMDsKKworICAgIGlmICgobGVuID4gMSkgJiYgKG1zZ1tsZW4gLSAyXSAhPSAnOicpKSB7CisJaWYgKGN0eHQgIT0gTlVMTCkgeworCSAgICBpbnB1dCA9IGN0eHQtPmlucHV0OworCSAgICBpZiAoKGlucHV0LT5maWxlbmFtZSA9PSBOVUxMKSAmJiAoY3R4dC0+aW5wdXROciA+IDEpKQorCQlpbnB1dCA9IGN0eHQtPmlucHV0VGFiW2N0eHQtPmlucHV0TnIgLSAyXTsKKworCSAgICBpZiAoaGFkX2luZm8gPT0gMCkgeworCQl4bWxQYXJzZXJQcmludEZpbGVJbmZvKGlucHV0KTsKKwkgICAgfQorCX0KKwl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgInZhbGlkaXR5IGVycm9yOiAiKTsKKwloYWRfaW5mbyA9IDA7CisgICAgfSBlbHNlIHsKKwloYWRfaW5mbyA9IDE7CisgICAgfQorCisgICAgWE1MX0dFVF9WQVJfU1RSKG1zZywgc3RyKTsKKyAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgIiVzIiwgc3RyKTsKKyAgICBpZiAoc3RyICE9IE5VTEwpCisJeG1sRnJlZShzdHIpOworCisgICAgaWYgKChjdHh0ICE9IE5VTEwpICYmIChpbnB1dCAhPSBOVUxMKSkgeworCXhtbFBhcnNlclByaW50RmlsZUNvbnRleHQoaW5wdXQpOworICAgIH0KK30KKworLyoqCisgKiB4bWxQYXJzZXJWYWxpZGl0eVdhcm5pbmc6CisgKiBAY3R4OiAgYW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAbXNnOiAgdGhlIG1lc3NhZ2UgdG8gZGlzcGxheS90cmFuc21pdAorICogQC4uLjogIGV4dHJhIHBhcmFtZXRlcnMgZm9yIHRoZSBtZXNzYWdlIGRpc3BsYXkKKyAqCisgKiBEaXNwbGF5IGFuZCBmb3JtYXQgYSB2YWxpZGl0eSB3YXJuaW5nIG1lc3NhZ2VzLCBnaXZlcyBmaWxlLCBsaW5lLAorICogcG9zaXRpb24gYW5kIGV4dHJhIHBhcmFtZXRlcnMuCisgKi8KK3ZvaWQgWE1MQ0RFQ0wKK3htbFBhcnNlclZhbGlkaXR5V2FybmluZyh2b2lkICpjdHgsIGNvbnN0IGNoYXIgKm1zZywgLi4uKQoreworICAgIHhtbFBhcnNlckN0eHRQdHIgY3R4dCA9ICh4bWxQYXJzZXJDdHh0UHRyKSBjdHg7CisgICAgeG1sUGFyc2VySW5wdXRQdHIgaW5wdXQgPSBOVUxMOworICAgIGNoYXIgKiBzdHI7CisgICAgaW50IGxlbiA9IHhtbFN0cmxlbigoY29uc3QgeG1sQ2hhciAqKSBtc2cpOworCisgICAgaWYgKChjdHh0ICE9IE5VTEwpICYmIChsZW4gIT0gMCkgJiYgKG1zZ1tsZW4gLSAxXSAhPSAnOicpKSB7CisJaW5wdXQgPSBjdHh0LT5pbnB1dDsKKwlpZiAoKGlucHV0LT5maWxlbmFtZSA9PSBOVUxMKSAmJiAoY3R4dC0+aW5wdXROciA+IDEpKQorCSAgICBpbnB1dCA9IGN0eHQtPmlucHV0VGFiW2N0eHQtPmlucHV0TnIgLSAyXTsKKworCXhtbFBhcnNlclByaW50RmlsZUluZm8oaW5wdXQpOworICAgIH0KKworICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCAidmFsaWRpdHkgd2FybmluZzogIik7CisgICAgWE1MX0dFVF9WQVJfU1RSKG1zZywgc3RyKTsKKyAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgIiVzIiwgc3RyKTsKKyAgICBpZiAoc3RyICE9IE5VTEwpCisJeG1sRnJlZShzdHIpOworCisgICAgaWYgKGN0eHQgIT0gTlVMTCkgeworCXhtbFBhcnNlclByaW50RmlsZUNvbnRleHQoaW5wdXQpOworICAgIH0KK30KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQkJRXh0ZW5kZWQgRXJyb3IgSGFuZGxpbmcJCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioKKyAqIHhtbEdldExhc3RFcnJvcjoKKyAqCisgKiBHZXQgdGhlIGxhc3QgZ2xvYmFsIGVycm9yIHJlZ2lzdGVyZWQuIFRoaXMgaXMgcGVyIHRocmVhZCBpZiBjb21waWxlZAorICogd2l0aCB0aHJlYWQgc3VwcG9ydC4KKyAqCisgKiBSZXR1cm5zIE5VTEwgaWYgbm8gZXJyb3Igb2NjdXJlZCBvciBhIHBvaW50ZXIgdG8gdGhlIGVycm9yCisgKi8KK3htbEVycm9yUHRyCit4bWxHZXRMYXN0RXJyb3Iodm9pZCkKK3sKKyAgICBpZiAoeG1sTGFzdEVycm9yLmNvZGUgPT0gWE1MX0VSUl9PSykKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICByZXR1cm4gKCZ4bWxMYXN0RXJyb3IpOworfQorCisvKioKKyAqIHhtbFJlc2V0RXJyb3I6CisgKiBAZXJyOiBwb2ludGVyIHRvIHRoZSBlcnJvci4KKyAqCisgKiBDbGVhbnVwIHRoZSBlcnJvci4KKyAqLwordm9pZAoreG1sUmVzZXRFcnJvcih4bWxFcnJvclB0ciBlcnIpCit7CisgICAgaWYgKGVyciA9PSBOVUxMKQorICAgICAgICByZXR1cm47CisgICAgaWYgKGVyci0+Y29kZSA9PSBYTUxfRVJSX09LKQorICAgICAgICByZXR1cm47CisgICAgaWYgKGVyci0+bWVzc2FnZSAhPSBOVUxMKQorICAgICAgICB4bWxGcmVlKGVyci0+bWVzc2FnZSk7CisgICAgaWYgKGVyci0+ZmlsZSAhPSBOVUxMKQorICAgICAgICB4bWxGcmVlKGVyci0+ZmlsZSk7CisgICAgaWYgKGVyci0+c3RyMSAhPSBOVUxMKQorICAgICAgICB4bWxGcmVlKGVyci0+c3RyMSk7CisgICAgaWYgKGVyci0+c3RyMiAhPSBOVUxMKQorICAgICAgICB4bWxGcmVlKGVyci0+c3RyMik7CisgICAgaWYgKGVyci0+c3RyMyAhPSBOVUxMKQorICAgICAgICB4bWxGcmVlKGVyci0+c3RyMyk7CisgICAgbWVtc2V0KGVyciwgMCwgc2l6ZW9mKHhtbEVycm9yKSk7CisgICAgZXJyLT5jb2RlID0gWE1MX0VSUl9PSzsKK30KKworLyoqCisgKiB4bWxSZXNldExhc3RFcnJvcjoKKyAqCisgKiBDbGVhbnVwIHRoZSBsYXN0IGdsb2JhbCBlcnJvciByZWdpc3RlcmVkLiBGb3IgcGFyc2luZyBlcnJvcgorICogdGhpcyBkb2VzIG5vdCBjaGFuZ2UgdGhlIHdlbGwtZm9ybWVkbmVzcyByZXN1bHQuCisgKi8KK3ZvaWQKK3htbFJlc2V0TGFzdEVycm9yKHZvaWQpCit7CisgICAgaWYgKHhtbExhc3RFcnJvci5jb2RlID09IFhNTF9FUlJfT0spCisgICAgICAgIHJldHVybjsKKyAgICB4bWxSZXNldEVycm9yKCZ4bWxMYXN0RXJyb3IpOworfQorCisvKioKKyAqIHhtbEN0eHRHZXRMYXN0RXJyb3I6CisgKiBAY3R4OiAgYW4gWE1MIHBhcnNlciBjb250ZXh0CisgKgorICogR2V0IHRoZSBsYXN0IHBhcnNpbmcgZXJyb3IgcmVnaXN0ZXJlZC4KKyAqCisgKiBSZXR1cm5zIE5VTEwgaWYgbm8gZXJyb3Igb2NjdXJlZCBvciBhIHBvaW50ZXIgdG8gdGhlIGVycm9yCisgKi8KK3htbEVycm9yUHRyCit4bWxDdHh0R2V0TGFzdEVycm9yKHZvaWQgKmN0eCkKK3sKKyAgICB4bWxQYXJzZXJDdHh0UHRyIGN0eHQgPSAoeG1sUGFyc2VyQ3R4dFB0cikgY3R4OworCisgICAgaWYgKGN0eHQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICBpZiAoY3R4dC0+bGFzdEVycm9yLmNvZGUgPT0gWE1MX0VSUl9PSykKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICByZXR1cm4gKCZjdHh0LT5sYXN0RXJyb3IpOworfQorCisvKioKKyAqIHhtbEN0eHRSZXNldExhc3RFcnJvcjoKKyAqIEBjdHg6ICBhbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqCisgKiBDbGVhbnVwIHRoZSBsYXN0IGdsb2JhbCBlcnJvciByZWdpc3RlcmVkLiBGb3IgcGFyc2luZyBlcnJvcgorICogdGhpcyBkb2VzIG5vdCBjaGFuZ2UgdGhlIHdlbGwtZm9ybWVkbmVzcyByZXN1bHQuCisgKi8KK3ZvaWQKK3htbEN0eHRSZXNldExhc3RFcnJvcih2b2lkICpjdHgpCit7CisgICAgeG1sUGFyc2VyQ3R4dFB0ciBjdHh0ID0gKHhtbFBhcnNlckN0eHRQdHIpIGN0eDsKKworICAgIGlmIChjdHh0ID09IE5VTEwpCisgICAgICAgIHJldHVybjsKKyAgICBjdHh0LT5lcnJObyA9IFhNTF9FUlJfT0s7CisgICAgaWYgKGN0eHQtPmxhc3RFcnJvci5jb2RlID09IFhNTF9FUlJfT0spCisgICAgICAgIHJldHVybjsKKyAgICB4bWxSZXNldEVycm9yKCZjdHh0LT5sYXN0RXJyb3IpOworfQorCisvKioKKyAqIHhtbENvcHlFcnJvcjoKKyAqIEBmcm9tOiAgYSBzb3VyY2UgZXJyb3IKKyAqIEB0bzogIGEgdGFyZ2V0IGVycm9yCisgKgorICogU2F2ZSB0aGUgb3JpZ2luYWwgZXJyb3IgdG8gdGhlIG5ldyBwbGFjZS4KKyAqCisgKiBSZXR1cm5zIDAgaW4gY2FzZSBvZiBzdWNjZXNzIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQKK3htbENvcHlFcnJvcih4bWxFcnJvclB0ciBmcm9tLCB4bWxFcnJvclB0ciB0bykgeworICAgIGNoYXIgKm1lc3NhZ2UsICpmaWxlLCAqc3RyMSwgKnN0cjIsICpzdHIzOworCisgICAgaWYgKChmcm9tID09IE5VTEwpIHx8ICh0byA9PSBOVUxMKSkKKyAgICAgICAgcmV0dXJuKC0xKTsKKworICAgIG1lc3NhZ2UgPSAoY2hhciAqKSB4bWxTdHJkdXAoKHhtbENoYXIgKikgZnJvbS0+bWVzc2FnZSk7CisgICAgZmlsZSA9IChjaGFyICopIHhtbFN0cmR1cCAoKHhtbENoYXIgKikgZnJvbS0+ZmlsZSk7CisgICAgc3RyMSA9IChjaGFyICopIHhtbFN0cmR1cCAoKHhtbENoYXIgKikgZnJvbS0+c3RyMSk7CisgICAgc3RyMiA9IChjaGFyICopIHhtbFN0cmR1cCAoKHhtbENoYXIgKikgZnJvbS0+c3RyMik7CisgICAgc3RyMyA9IChjaGFyICopIHhtbFN0cmR1cCAoKHhtbENoYXIgKikgZnJvbS0+c3RyMyk7CisKKyAgICBpZiAodG8tPm1lc3NhZ2UgIT0gTlVMTCkKKyAgICAgICAgeG1sRnJlZSh0by0+bWVzc2FnZSk7CisgICAgaWYgKHRvLT5maWxlICE9IE5VTEwpCisgICAgICAgIHhtbEZyZWUodG8tPmZpbGUpOworICAgIGlmICh0by0+c3RyMSAhPSBOVUxMKQorICAgICAgICB4bWxGcmVlKHRvLT5zdHIxKTsKKyAgICBpZiAodG8tPnN0cjIgIT0gTlVMTCkKKyAgICAgICAgeG1sRnJlZSh0by0+c3RyMik7CisgICAgaWYgKHRvLT5zdHIzICE9IE5VTEwpCisgICAgICAgIHhtbEZyZWUodG8tPnN0cjMpOworICAgIHRvLT5kb21haW4gPSBmcm9tLT5kb21haW47CisgICAgdG8tPmNvZGUgPSBmcm9tLT5jb2RlOworICAgIHRvLT5sZXZlbCA9IGZyb20tPmxldmVsOworICAgIHRvLT5saW5lID0gZnJvbS0+bGluZTsKKyAgICB0by0+bm9kZSA9IGZyb20tPm5vZGU7CisgICAgdG8tPmludDEgPSBmcm9tLT5pbnQxOworICAgIHRvLT5pbnQyID0gZnJvbS0+aW50MjsKKyAgICB0by0+bm9kZSA9IGZyb20tPm5vZGU7CisgICAgdG8tPmN0eHQgPSBmcm9tLT5jdHh0OworICAgIHRvLT5tZXNzYWdlID0gbWVzc2FnZTsKKyAgICB0by0+ZmlsZSA9IGZpbGU7CisgICAgdG8tPnN0cjEgPSBzdHIxOworICAgIHRvLT5zdHIyID0gc3RyMjsKKyAgICB0by0+c3RyMyA9IHN0cjM7CisKKyAgICByZXR1cm4gMDsKK30KKworI2RlZmluZSBib3R0b21fZXJyb3IKKyNpbmNsdWRlICJlbGZnY2NoYWNrLmgiCmRpZmYgLS1naXQgYS9saWJ4bWwyL2V4YW1wbGUvTWFrZWZpbGUuYW0gYi9saWJ4bWwyL2V4YW1wbGUvTWFrZWZpbGUuYW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDg4ZWU2ZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvZXhhbXBsZS9NYWtlZmlsZS5hbQpAQCAtMCwwICsxLDcgQEAKK25vaW5zdF9QUk9HUkFNUwk9IGdqb2JyZWFkCisKK0FNX0NQUEZMQUdTID0gLUkkKHRvcF9idWlsZGRpcikvaW5jbHVkZSAtSSQodG9wX3NyY2RpcikvaW5jbHVkZSAtSSQoc3JjZGlyKS9pbmNsdWRlCitBTV9DRkxBR1MgPSAkKFRIUkVBRF9DRkxBR1MpICQoWl9DRkxBR1MpCitMREFERCA9ICQoUkRMX0xJQlMpICQoU1RBVElDX0JJTkFSSUVTKSAkKHRvcF9idWlsZGRpcikvbGlieG1sMi5sYSAkKFRIUkVBRF9MSUJTKSAkKFpfTElCUykgJChJQ09OVl9MSUJTKSAtbG0gJChXSU4zMl9FWFRSQV9MSUJBREQpCisKK2dqb2JyZWFkX1NPVVJDRVM9Z2pvYnJlYWQuYwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9leGFtcGxlL2dqb2JyZWFkLmMgYi9saWJ4bWwyL2V4YW1wbGUvZ2pvYnJlYWQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kM2Y2ZDU3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9leGFtcGxlL2dqb2JyZWFkLmMKQEAgLTAsMCArMSwzMDkgQEAKKy8qCisgKiBnam9icmVhZC5jIDogYSBzbWFsbCB0ZXN0IHByb2dyYW0gZm9yIGdub21lIGpvYnMgWE1MIGZvcm1hdAorICoKKyAqIFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyAqCisgKiBEYW5pZWwuVmVpbGxhcmRAdzMub3JnCisgKi8KKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisKKy8qCisgKiBUaGlzIGV4YW1wbGUgc2hvdWxkIGNvbXBpbGUgYW5kIHJ1biBpbmRpZmZlcmVudGx5IHdpdGggbGlieG1sLTEuOC44ICsKKyAqIGFuZCBsaWJ4bWwyLTIuMS4wICsKKyAqIENoZWNrIHRoZSBDT01QQVQgY29tbWVudHMgYmVsb3cKKyAqLworCisvKgorICogQ09NUEFUIHVzaW5nIHhtbC1jb25maWcgLS1jZmxhZ3MgdG8gZ2V0IHRoZSBpbmNsdWRlIHBhdGggdGhpcyB3aWxsCisgKiB3b3JrIHdpdGggYm90aCAKKyAqLworI2luY2x1ZGUgPGxpYnhtbC94bWxtZW1vcnkuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvcGFyc2VyLmg+CisKKyNkZWZpbmUgREVCVUcoeCkgcHJpbnRmKHgpCisKKy8qCisgKiBBIHBlcnNvbiByZWNvcmQKKyAqIGFuIHhtbENoYXIgKiBpcyByZWFsbHkgYW4gVVRGOCBlbmNvZGVkIGNoYXIgc3RyaW5nICgwIHRlcm1pbmF0ZWQpCisgKi8KK3R5cGVkZWYgc3RydWN0IHBlcnNvbiB7CisgICAgeG1sQ2hhciAqbmFtZTsKKyAgICB4bWxDaGFyICplbWFpbDsKKyAgICB4bWxDaGFyICpjb21wYW55OworICAgIHhtbENoYXIgKm9yZ2FuaXNhdGlvbjsKKyAgICB4bWxDaGFyICpzbWFpbDsKKyAgICB4bWxDaGFyICp3ZWJQYWdlOworICAgIHhtbENoYXIgKnBob25lOworfSBwZXJzb24sICpwZXJzb25QdHI7CisKKy8qCisgKiBBbmQgdGhlIGNvZGUgbmVlZGVkIHRvIHBhcnNlIGl0CisgKi8KK3N0YXRpYyBwZXJzb25QdHIKK3BhcnNlUGVyc29uKHhtbERvY1B0ciBkb2MsIHhtbE5zUHRyIG5zLCB4bWxOb2RlUHRyIGN1cikgeworICAgIHBlcnNvblB0ciByZXQgPSBOVUxMOworCitERUJVRygicGFyc2VQZXJzb25cbiIpOworICAgIC8qCisgICAgICogYWxsb2NhdGUgdGhlIHN0cnVjdAorICAgICAqLworICAgIHJldCA9IChwZXJzb25QdHIpIG1hbGxvYyhzaXplb2YocGVyc29uKSk7CisgICAgaWYgKHJldCA9PSBOVUxMKSB7CisgICAgICAgIGZwcmludGYoc3RkZXJyLCJvdXQgb2YgbWVtb3J5XG4iKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIG1lbXNldChyZXQsIDAsIHNpemVvZihwZXJzb24pKTsKKworICAgIC8qIFdlIGRvbid0IGNhcmUgd2hhdCB0aGUgdG9wIGxldmVsIGVsZW1lbnQgbmFtZSBpcyAqLworICAgIC8qIENPTVBBVCB4bWxDaGlsZHJlbk5vZGUgaXMgYSBtYWNybyB1bmlmeWluZyBsaWJ4bWwxIGFuZCBsaWJ4bWwyIG5hbWVzICovCisgICAgY3VyID0gY3VyLT54bWxDaGlsZHJlbk5vZGU7CisgICAgd2hpbGUgKGN1ciAhPSBOVUxMKSB7CisgICAgICAgIGlmICgoIXhtbFN0cmNtcChjdXItPm5hbWUsIChjb25zdCB4bWxDaGFyICopIlBlcnNvbiIpKSAmJgorCSAgICAoY3VyLT5ucyA9PSBucykpCisJICAgIHJldC0+bmFtZSA9IHhtbE5vZGVMaXN0R2V0U3RyaW5nKGRvYywgY3VyLT54bWxDaGlsZHJlbk5vZGUsIDEpOworICAgICAgICBpZiAoKCF4bWxTdHJjbXAoY3VyLT5uYW1lLCAoY29uc3QgeG1sQ2hhciAqKSJFbWFpbCIpKSAmJgorCSAgICAoY3VyLT5ucyA9PSBucykpCisJICAgIHJldC0+ZW1haWwgPSB4bWxOb2RlTGlzdEdldFN0cmluZyhkb2MsIGN1ci0+eG1sQ2hpbGRyZW5Ob2RlLCAxKTsKKwljdXIgPSBjdXItPm5leHQ7CisgICAgfQorCisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qCisgKiBhbmQgdG8gcHJpbnQgaXQKKyAqLworc3RhdGljIHZvaWQKK3ByaW50UGVyc29uKHBlcnNvblB0ciBjdXIpIHsKKyAgICBpZiAoY3VyID09IE5VTEwpIHJldHVybjsKKyAgICBwcmludGYoIi0tLS0tLSBQZXJzb25cbiIpOworICAgIGlmIChjdXItPm5hbWUpIHByaW50ZigiCW5hbWU6ICVzXG4iLCBjdXItPm5hbWUpOworICAgIGlmIChjdXItPmVtYWlsKSBwcmludGYoIgllbWFpbDogJXNcbiIsIGN1ci0+ZW1haWwpOworICAgIGlmIChjdXItPmNvbXBhbnkpIHByaW50ZigiCWNvbXBhbnk6ICVzXG4iLCBjdXItPmNvbXBhbnkpOworICAgIGlmIChjdXItPm9yZ2FuaXNhdGlvbikgcHJpbnRmKCIJb3JnYW5pc2F0aW9uOiAlc1xuIiwgY3VyLT5vcmdhbmlzYXRpb24pOworICAgIGlmIChjdXItPnNtYWlsKSBwcmludGYoIglzbWFpbDogJXNcbiIsIGN1ci0+c21haWwpOworICAgIGlmIChjdXItPndlYlBhZ2UpIHByaW50ZigiCVdlYjogJXNcbiIsIGN1ci0+d2ViUGFnZSk7CisgICAgaWYgKGN1ci0+cGhvbmUpIHByaW50ZigiCXBob25lOiAlc1xuIiwgY3VyLT5waG9uZSk7CisgICAgcHJpbnRmKCItLS0tLS1cbiIpOworfQorCisvKgorICogYSBEZXNjcmlwdGlvbiBmb3IgYSBKb2IKKyAqLwordHlwZWRlZiBzdHJ1Y3Qgam9iIHsKKyAgICB4bWxDaGFyICpwcm9qZWN0SUQ7CisgICAgeG1sQ2hhciAqYXBwbGljYXRpb247CisgICAgeG1sQ2hhciAqY2F0ZWdvcnk7CisgICAgcGVyc29uUHRyIGNvbnRhY3Q7CisgICAgaW50IG5iRGV2ZWxvcGVyczsKKyAgICBwZXJzb25QdHIgZGV2ZWxvcGVyc1sxMDBdOyAvKiB1c2luZyBkeW5hbWljIGFsbG9jIGlzIGxlZnQgYXMgYW4gZXhlcmNpc2UgKi8KK30gam9iLCAqam9iUHRyOworCisvKgorICogQW5kIHRoZSBjb2RlIG5lZWRlZCB0byBwYXJzZSBpdAorICovCitzdGF0aWMgam9iUHRyCitwYXJzZUpvYih4bWxEb2NQdHIgZG9jLCB4bWxOc1B0ciBucywgeG1sTm9kZVB0ciBjdXIpIHsKKyAgICBqb2JQdHIgcmV0ID0gTlVMTDsKKworREVCVUcoInBhcnNlSm9iXG4iKTsKKyAgICAvKgorICAgICAqIGFsbG9jYXRlIHRoZSBzdHJ1Y3QKKyAgICAgKi8KKyAgICByZXQgPSAoam9iUHRyKSBtYWxsb2Moc2l6ZW9mKGpvYikpOworICAgIGlmIChyZXQgPT0gTlVMTCkgeworICAgICAgICBmcHJpbnRmKHN0ZGVyciwib3V0IG9mIG1lbW9yeVxuIik7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBtZW1zZXQocmV0LCAwLCBzaXplb2Yoam9iKSk7CisKKyAgICAvKiBXZSBkb24ndCBjYXJlIHdoYXQgdGhlIHRvcCBsZXZlbCBlbGVtZW50IG5hbWUgaXMgKi8KKyAgICBjdXIgPSBjdXItPnhtbENoaWxkcmVuTm9kZTsKKyAgICB3aGlsZSAoY3VyICE9IE5VTEwpIHsKKyAgICAgICAgCisgICAgICAgIGlmICgoIXhtbFN0cmNtcChjdXItPm5hbWUsIChjb25zdCB4bWxDaGFyICopICJQcm9qZWN0IikpICYmCisJICAgIChjdXItPm5zID09IG5zKSkgeworCSAgICByZXQtPnByb2plY3RJRCA9IHhtbEdldFByb3AoY3VyLCAoY29uc3QgeG1sQ2hhciAqKSAiSUQiKTsKKwkgICAgaWYgKHJldC0+cHJvamVjdElEID09IE5VTEwpIHsKKwkJZnByaW50ZihzdGRlcnIsICJQcm9qZWN0IGhhcyBubyBJRFxuIik7CisJICAgIH0KKwl9CisgICAgICAgIGlmICgoIXhtbFN0cmNtcChjdXItPm5hbWUsIChjb25zdCB4bWxDaGFyICopICJBcHBsaWNhdGlvbiIpKSAmJgorICAgICAgICAgICAgKGN1ci0+bnMgPT0gbnMpKQorCSAgICByZXQtPmFwcGxpY2F0aW9uID0gCisJCXhtbE5vZGVMaXN0R2V0U3RyaW5nKGRvYywgY3VyLT54bWxDaGlsZHJlbk5vZGUsIDEpOworICAgICAgICBpZiAoKCF4bWxTdHJjbXAoY3VyLT5uYW1lLCAoY29uc3QgeG1sQ2hhciAqKSAiQ2F0ZWdvcnkiKSkgJiYKKwkgICAgKGN1ci0+bnMgPT0gbnMpKQorCSAgICByZXQtPmNhdGVnb3J5ID0KKwkJeG1sTm9kZUxpc3RHZXRTdHJpbmcoZG9jLCBjdXItPnhtbENoaWxkcmVuTm9kZSwgMSk7CisgICAgICAgIGlmICgoIXhtbFN0cmNtcChjdXItPm5hbWUsIChjb25zdCB4bWxDaGFyICopICJDb250YWN0IikpICYmCisJICAgIChjdXItPm5zID09IG5zKSkKKwkgICAgcmV0LT5jb250YWN0ID0gcGFyc2VQZXJzb24oZG9jLCBucywgY3VyKTsKKwljdXIgPSBjdXItPm5leHQ7CisgICAgfQorCisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qCisgKiBhbmQgdG8gcHJpbnQgaXQKKyAqLworc3RhdGljIHZvaWQKK3ByaW50Sm9iKGpvYlB0ciBjdXIpIHsKKyAgICBpbnQgaTsKKworICAgIGlmIChjdXIgPT0gTlVMTCkgcmV0dXJuOworICAgIHByaW50ZigiPT09PT09PSAgSm9iXG4iKTsKKyAgICBpZiAoY3VyLT5wcm9qZWN0SUQgIT0gTlVMTCkgcHJpbnRmKCJwcm9qZWN0SUQ6ICVzXG4iLCBjdXItPnByb2plY3RJRCk7CisgICAgaWYgKGN1ci0+YXBwbGljYXRpb24gIT0gTlVMTCkgcHJpbnRmKCJhcHBsaWNhdGlvbjogJXNcbiIsIGN1ci0+YXBwbGljYXRpb24pOworICAgIGlmIChjdXItPmNhdGVnb3J5ICE9IE5VTEwpIHByaW50ZigiY2F0ZWdvcnk6ICVzXG4iLCBjdXItPmNhdGVnb3J5KTsKKyAgICBpZiAoY3VyLT5jb250YWN0ICE9IE5VTEwpIHByaW50UGVyc29uKGN1ci0+Y29udGFjdCk7CisgICAgcHJpbnRmKCIlZCBkZXZlbG9wZXJzXG4iLCBjdXItPm5iRGV2ZWxvcGVycyk7CisKKyAgICBmb3IgKGkgPSAwO2kgPCBjdXItPm5iRGV2ZWxvcGVycztpKyspIHByaW50UGVyc29uKGN1ci0+ZGV2ZWxvcGVyc1tpXSk7CisgICAgcHJpbnRmKCI9PT09PT09IFxuIik7Cit9CisKKy8qCisgKiBBIHBvb2wgb2YgR25vbWUgSm9icworICovCit0eXBlZGVmIHN0cnVjdCBnam9iIHsKKyAgICBpbnQgbmJKb2JzOworICAgIGpvYlB0ciBqb2JzWzUwMF07IC8qIHVzaW5nIGR5bmFtaWMgYWxsb2MgaXMgbGVmdCBhcyBhbiBleGVyY2lzZSAqLworfSBnSm9iLCAqZ0pvYlB0cjsKKworCitzdGF0aWMgZ0pvYlB0cgorcGFyc2VHam9iRmlsZShjaGFyICpmaWxlbmFtZSkgeworICAgIHhtbERvY1B0ciBkb2M7CisgICAgZ0pvYlB0ciByZXQ7CisgICAgam9iUHRyIGN1cmpvYjsKKyAgICB4bWxOc1B0ciBuczsKKyAgICB4bWxOb2RlUHRyIGN1cjsKKworI2lmZGVmIExJQlhNTF9TQVgxX0VOQUJMRUQKKyAgICAvKgorICAgICAqIGJ1aWxkIGFuIFhNTCB0cmVlIGZyb20gYSB0aGUgZmlsZTsKKyAgICAgKi8KKyAgICBkb2MgPSB4bWxQYXJzZUZpbGUoZmlsZW5hbWUpOworICAgIGlmIChkb2MgPT0gTlVMTCkgcmV0dXJuKE5VTEwpOworI2Vsc2UKKyAgICAvKgorICAgICAqIHRoZSBsaWJyYXJ5IGhhcyBiZWVuIGNvbXBpbGVkIHdpdGhvdXQgc29tZSBvZiB0aGUgb2xkIGludGVyZmFjZXMKKyAgICAgKi8KKyAgICByZXR1cm4oTlVMTCk7CisjZW5kaWYgLyogTElCWE1MX1NBWDFfRU5BQkxFRCAqLworCisgICAgLyoKKyAgICAgKiBDaGVjayB0aGUgZG9jdW1lbnQgaXMgb2YgdGhlIHJpZ2h0IGtpbmQKKyAgICAgKi8KKyAgICAKKyAgICBjdXIgPSB4bWxEb2NHZXRSb290RWxlbWVudChkb2MpOworICAgIGlmIChjdXIgPT0gTlVMTCkgeworICAgICAgICBmcHJpbnRmKHN0ZGVyciwiZW1wdHkgZG9jdW1lbnRcbiIpOworCXhtbEZyZWVEb2MoZG9jKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIG5zID0geG1sU2VhcmNoTnNCeUhyZWYoZG9jLCBjdXIsCisJICAgIChjb25zdCB4bWxDaGFyICopICJodHRwOi8vd3d3Lmdub21lLm9yZy9zb21lLWxvY2F0aW9uIik7CisgICAgaWYgKG5zID09IE5VTEwpIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsCisJICAgICAgICAiZG9jdW1lbnQgb2YgdGhlIHdyb25nIHR5cGUsIEdKb2IgTmFtZXNwYWNlIG5vdCBmb3VuZFxuIik7CisJeG1sRnJlZURvYyhkb2MpOworCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgaWYgKHhtbFN0cmNtcChjdXItPm5hbWUsIChjb25zdCB4bWxDaGFyICopICJIZWxwaW5nIikpIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsImRvY3VtZW50IG9mIHRoZSB3cm9uZyB0eXBlLCByb290IG5vZGUgIT0gSGVscGluZyIpOworCXhtbEZyZWVEb2MoZG9jKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorCisgICAgLyoKKyAgICAgKiBBbGxvY2F0ZSB0aGUgc3RydWN0dXJlIHRvIGJlIHJldHVybmVkLgorICAgICAqLworICAgIHJldCA9IChnSm9iUHRyKSBtYWxsb2Moc2l6ZW9mKGdKb2IpKTsKKyAgICBpZiAocmV0ID09IE5VTEwpIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsIm91dCBvZiBtZW1vcnlcbiIpOworCXhtbEZyZWVEb2MoZG9jKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIG1lbXNldChyZXQsIDAsIHNpemVvZihnSm9iKSk7CisKKyAgICAvKgorICAgICAqIE5vdywgd2FsayB0aGUgdHJlZS4KKyAgICAgKi8KKyAgICAvKiBGaXJzdCBsZXZlbCB3ZSBleHBlY3QganVzdCBKb2JzICovCisgICAgY3VyID0gY3VyLT54bWxDaGlsZHJlbk5vZGU7CisgICAgd2hpbGUgKCBjdXIgJiYgeG1sSXNCbGFua05vZGUgKCBjdXIgKSApIHsKKwljdXIgPSBjdXIgLT4gbmV4dDsKKyAgICB9CisgICAgaWYgKCBjdXIgPT0gMCApIHsKKwl4bWxGcmVlRG9jKGRvYyk7CisJZnJlZShyZXQpOworCXJldHVybiAoIE5VTEwgKTsKKyAgICB9CisgICAgaWYgKCh4bWxTdHJjbXAoY3VyLT5uYW1lLCAoY29uc3QgeG1sQ2hhciAqKSAiSm9icyIpKSB8fCAoY3VyLT5ucyAhPSBucykpIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsImRvY3VtZW50IG9mIHRoZSB3cm9uZyB0eXBlLCB3YXMgJyVzJywgSm9icyBleHBlY3RlZCIsCisJCWN1ci0+bmFtZSk7CisJZnByaW50ZihzdGRlcnIsInhtbERvY0R1bXAgZm9sbG93c1xuIik7CisjaWZkZWYgTElCWE1MX09VVFBVVF9FTkFCTEVECisJeG1sRG9jRHVtcCAoIHN0ZGVyciwgZG9jICk7CisJZnByaW50ZihzdGRlcnIsInhtbERvY0R1bXAgZmluaXNoZWRcbiIpOworI2VuZGlmIC8qIExJQlhNTF9PVVRQVVRfRU5BQkxFRCAqLworCXhtbEZyZWVEb2MoZG9jKTsKKwlmcmVlKHJldCk7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKworICAgIC8qIFNlY29uZCBsZXZlbCBpcyBhIGxpc3Qgb2YgSm9iLCBidXQgYmUgbGF4aXN0ICovCisgICAgY3VyID0gY3VyLT54bWxDaGlsZHJlbk5vZGU7CisgICAgd2hpbGUgKGN1ciAhPSBOVUxMKSB7CisgICAgICAgIGlmICgoIXhtbFN0cmNtcChjdXItPm5hbWUsIChjb25zdCB4bWxDaGFyICopICJKb2IiKSkgJiYKKwkgICAgKGN1ci0+bnMgPT0gbnMpKSB7CisJICAgIGN1cmpvYiA9IHBhcnNlSm9iKGRvYywgbnMsIGN1cik7CisJICAgIGlmIChjdXJqb2IgIT0gTlVMTCkKKwkgICAgICAgIHJldC0+am9ic1tyZXQtPm5iSm9icysrXSA9IGN1cmpvYjsKKyAgICAgICAgICAgIGlmIChyZXQtPm5iSm9icyA+PSA1MDApIGJyZWFrOworCX0KKwljdXIgPSBjdXItPm5leHQ7CisgICAgfQorCisgICAgcmV0dXJuKHJldCk7Cit9CisKK3N0YXRpYyB2b2lkCitoYW5kbGVHam9iKGdKb2JQdHIgY3VyKSB7CisgICAgaW50IGk7CisKKyAgICAvKgorICAgICAqIERvIHdoYXRldmVyIHlvdSB3YW50IGFuZCBmcmVlIHRoZSBzdHJ1Y3R1cmUuCisgICAgICovCisgICAgcHJpbnRmKCIlZCBKb2JzIHJlZ2lzdGVyZWRcbiIsIGN1ci0+bmJKb2JzKTsKKyAgICBmb3IgKGkgPSAwOyBpIDwgY3VyLT5uYkpvYnM7IGkrKykgcHJpbnRKb2IoY3VyLT5qb2JzW2ldKTsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CisgICAgaW50IGk7CisgICAgZ0pvYlB0ciBjdXI7CisKKyAgICAvKiBDT01QQVQ6IERvIG5vdCBnZW5yYXRlIG5vZGVzIGZvciBmb3JtYXR0aW5nIHNwYWNlcyAqLworICAgIExJQlhNTF9URVNUX1ZFUlNJT04KKyAgICB4bWxLZWVwQmxhbmtzRGVmYXVsdCgwKTsKKworICAgIGZvciAoaSA9IDE7IGkgPCBhcmdjIDsgaSsrKSB7CisJY3VyID0gcGFyc2VHam9iRmlsZShhcmd2W2ldKTsKKwlpZiAoIGN1ciApCisJICBoYW5kbGVHam9iKGN1cik7CisJZWxzZQorCSAgZnByaW50Ziggc3RkZXJyLCAiRXJyb3IgcGFyc2luZyBmaWxlICclcydcbiIsIGFyZ3ZbaV0pOworCisgICAgfQorCisgICAgLyogQ2xlYW4gdXAgZXZlcnl0aGluZyBlbHNlIGJlZm9yZSBxdWl0dGluZy4gKi8KKyAgICB4bWxDbGVhbnVwUGFyc2VyKCk7CisKKyAgICByZXR1cm4oMCk7Cit9CmRpZmYgLS1naXQgYS9saWJ4bWwyL2V4YW1wbGUvZ2pvYnMueG1sIGIvbGlieG1sMi9leGFtcGxlL2dqb2JzLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MzcyOTc2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9leGFtcGxlL2dqb2JzLnhtbApAQCAtMCwwICsxLDU3IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxnam9iOkhlbHBpbmcgeG1sbnM6Z2pvYj0iaHR0cDovL3d3dy5nbm9tZS5vcmcvc29tZS1sb2NhdGlvbiI+CisgIDxnam9iOkpvYnM+CisKKyAgICA8Z2pvYjpKb2I+CisgICAgICA8Z2pvYjpQcm9qZWN0IElEPSIzIi8+CisgICAgICA8Z2pvYjpBcHBsaWNhdGlvbj5HQmFja3VwPC9nam9iOkFwcGxpY2F0aW9uPgorICAgICAgPGdqb2I6Q2F0ZWdvcnk+RGV2ZWxvcG1lbnQ8L2dqb2I6Q2F0ZWdvcnk+CisKKyAgICAgIDxnam9iOlVwZGF0ZT4KKwk8Z2pvYjpTdGF0dXM+T3BlbjwvZ2pvYjpTdGF0dXM+CisJPGdqb2I6TW9kaWZpZWQ+TW9uLCAwNyBKdW4gMTk5OSAyMDoyNzo0NSAtMDQwMCBNRVQgRFNUPC9nam9iOk1vZGlmaWVkPgorICAgICAgICA8Z2pvYjpTYWxhcnk+VVNEIDAuMDA8L2dqb2I6U2FsYXJ5PgorICAgICAgPC9nam9iOlVwZGF0ZT4KKworICAgICAgPGdqb2I6RGV2ZWxvcGVycz4KKyAgICAgICAgPGdqb2I6RGV2ZWxvcGVyPgorICAgICAgICA8L2dqb2I6RGV2ZWxvcGVyPgorICAgICAgPC9nam9iOkRldmVsb3BlcnM+CisKKyAgICAgIDxnam9iOkNvbnRhY3Q+CisgICAgICAgIDxnam9iOlBlcnNvbj5OYXRoYW4gQ2xlbW9uczwvZ2pvYjpQZXJzb24+CisJPGdqb2I6RW1haWw+bmF0aGFuQHdpbmRzb2ZzdG9ybS5uZXQ8L2dqb2I6RW1haWw+CisgICAgICAgIDxnam9iOkNvbXBhbnk+CisJPC9nam9iOkNvbXBhbnk+CisgICAgICAgIDxnam9iOk9yZ2FuaXNhdGlvbj4KKwk8L2dqb2I6T3JnYW5pc2F0aW9uPgorICAgICAgICA8Z2pvYjpXZWJwYWdlPgorCTwvZ2pvYjpXZWJwYWdlPgorCTxnam9iOlNuYWlsbWFpbD4KKwk8L2dqb2I6U25haWxtYWlsPgorCTxnam9iOlBob25lPgorCTwvZ2pvYjpQaG9uZT4KKyAgICAgIDwvZ2pvYjpDb250YWN0PgorCisgICAgICA8Z2pvYjpSZXF1aXJlbWVudHM+CisgICAgICBUaGUgcHJvZ3JhbSBzaG91bGQgYmUgcmVsZWFzZWQgYXMgZnJlZSBzb2Z0d2FyZSwgdW5kZXIgdGhlIEdQTC4KKyAgICAgIDwvZ2pvYjpSZXF1aXJlbWVudHM+CisKKyAgICAgIDxnam9iOlNraWxscz4KKyAgICAgIDwvZ2pvYjpTa2lsbHM+CisKKyAgICAgIDxnam9iOkRldGFpbHM+CisgICAgICBBIEdOT01FIGJhc2VkIHN5c3RlbSB0aGF0IHdpbGwgYWxsb3cgYSBzdXBlcnVzZXIgdG8gY29uZmlndXJlIAorICAgICAgY29tcHJlc3NlZCBhbmQgdW5jb21wcmVzc2VkIGZpbGVzIGFuZC9vciBmaWxlIHN5c3RlbXMgdG8gYmUgYmFja2VkIAorICAgICAgdXAgd2l0aCBhIHN1cHBvcnRlZCBtZWRpYSBpbiB0aGUgc3lzdGVtLiAgVGhpcyBzaG91bGQgYmUgYWJsZSB0byAKKyAgICAgIHBlcmZvcm0gdmlhIGZpbmQgY29tbWFuZHMgZ2VuZXJhdGluZyBhIGxpc3Qgb2YgZmlsZXMgdGhhdCBhcmUgcGFzc2VkIAorICAgICAgdG8gdGFyLCBkZCwgY3BpbywgY3AsIGd6aXAsIGV0Yy4sIHRvIGJlIGRpcmVjdGVkIHRvIHRoZSB0YXBlIG1hY2hpbmUgCisgICAgICBvciB2aWEgb3BlcmF0aW9ucyBwZXJmb3JtZWQgb24gdGhlIGZpbGVzeXN0ZW0gaXRzZWxmLiBFbWFpbCAKKyAgICAgIG5vdGlmaWNhdGlvbiBhbmQgR1VJIHN0YXR1cyBkaXNwbGF5IHZlcnkgaW1wb3J0YW50LgorICAgICAgPC9nam9iOkRldGFpbHM+CisKKyAgICA8L2dqb2I6Sm9iPgorCisgIDwvZ2pvYjpKb2JzPgorPC9nam9iOkhlbHBpbmc+CisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvZ2VuQ2hSYW5nZXMucHkgYi9saWJ4bWwyL2dlbkNoUmFuZ2VzLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmMxMzgzMTkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2dlbkNoUmFuZ2VzLnB5CkBAIC0wLDAgKzEsNTc4IEBACisjIS91c3IvYmluL3B5dGhvbiAtdQorIworIyBQb3J0aW9ucyBvZiB0aGlzIHNjcmlwdCBoYXZlIGJlZW4gKHNoYW1lbGVzc2x5KSBzdG9sZW4gZnJvbSB0aGUKKyMgcHJpb3Igd29yayBvZiBEYW5pZWwgVmVpbGxhcmQgKGdlblVuaWNvZGUucHkpCisjCisjIEksIGhvd2V2ZXIsIHRha2UgZnVsbCBjcmVkaXQgZm9yIGFueSBidWdzLCBlcnJvcnMgb3IgZGlmZmljdWx0aWVzIDotKQorIworIyBXaWxsaWFtIEJyYWNrCisjIE9jdG9iZXIgMjAwMworIworIyAxOCBPY3RvYmVyIDIwMDMKKyMgTW9kaWZpZWQgdG8gbWFpbnRhaW4gYmluYXJ5IGNvbXBhdGliaWxpdHkgd2l0aCBwcmV2aW91cyBsaWJyYXJ5IHZlcnNpb25zCisjIGJ5IGFkZGluZyBhIHN1ZmZpeCAnUScgKCdxdWljaycpIHRvIHRoZSBtYWNybyBnZW5lcmF0ZWQgZm9yIHRoZSBvcmlnaW5hbCwKKyMgZnVuY3Rpb24sIGFuZCBhZGRpbmcgZ2VuZXJhdGlvbiBvZiBhIGZ1bmN0aW9uICh3aXRoIHRoZSBvcmlnaW5hbCBuYW1lKSB3aGljaAorIyBpbnN0YW50aWF0ZXMgdGhlIG1hY3JvLgorIworCitpbXBvcnQgc3lzCitpbXBvcnQgc3RyaW5nCitpbXBvcnQgdGltZQorCisjCisjIEEgcm91dGluZSB0byB0YWtlIGEgbGlzdCBvZiB5ZXMvbm8gKDEsIDApIHZhbHVlcyBhbmQgdHVybiBpdAorIyBpbnRvIGEgbGlzdCBvZiByYW5nZXMuICBUaGlzIHdpbGwgbGF0ZXIgYmUgdXNlZCB0byBkZXRlcm1pbmUgd2hldGhlcgorIyB0byBnZW5lcmF0ZSBzaW5nbGUtYnl0ZSBsb29rdXAgdGFibGVzLCBvciBpbmxpbmUgY29tcGFyaXNvbnMKKyMKK2RlZiBtYWtlUmFuZ2UobHN0KToKKyAgICByZXQgPSBbXQorICAgIHBvcyA9IDAKKyAgICB3aGlsZSBwb3MgPCBsZW4obHN0KToKKwl0cnk6CQkjIGluZGV4IGdlbmVyYXRlcyBleGNlcHRpb24gaWYgbm90IHByZXNlbnQKKwkgICAgcyA9IGxzdFtwb3M6XS5pbmRleCgxKQkjIGxvb2sgZm9yIHN0YXJ0IG9mIG5leHQgcmFuZ2UKKwlleGNlcHQ6CisJICAgIGJyZWFrCQkJIyBpZiBubyBtb3JlLCBmaW5pc2hlZAorCXBvcyArPSBzCQkJIyBwb2ludGVyIHRvIHN0YXJ0IG9mIHBvc3NpYmxlIHJhbmdlCisJdHJ5OgorCSAgICBlID0gbHN0W3BvczpdLmluZGV4KDApCSMgbG9vayBmb3IgZW5kIG9mIHJhbmdlCisJICAgIGUgKz0gcG9zCisJZXhjZXB0OgkJCQkjIGlmIG5vIGVuZCwgc2V0IHRvIGVuZCBvZiBsaXN0CisJICAgIGUgPSBsZW4obHN0KQorCXJldC5hcHBlbmQoKHBvcywgZS0xKSkJCSMgYXBwZW5kIHJhbmdlIHR1cGxlIHRvIGxpc3QKKwlwb3MgPSBlICsgMQkJCSMgcmVhZHkgdG8gY2hlY2sgZm9yIG5leHQgcmFuZ2UKKyAgICByZXR1cm4gcmV0CisKK3NvdXJjZXMgPSAiY2h2YWxpZC5kZWYiCQkJIyBpbnB1dCBmaWxlbmFtZQorCisjIG1pblRhYmxlU2l6ZSBnaXZlcyB0aGUgbWluaW11bSBudW1iZXIgb2YgcmFuZ2VzIHdoaWNoIG11c3QgYmUgcHJlc2VudAorIyBiZWZvcmUgYSAyNTYtYnl0ZSBsb29rdXAgdGFibGUgaXMgcHJvZHVjZWQuICBJZiB0aGVyZSBhcmUgbGVzcyB0aGFuIHRoaXMKKyMgbnVtYmVyLCBhIG1hY3JvIHdpdGggaW5saW5lIGNvbXBhcmlzb25zIGlzIGdlbmVyYXRlZAorbWluVGFibGVTaXplID0gNgorCisjIGRpY3Rpb25hcnkgb2YgZnVuY3Rpb25zLCBrZXk9bmFtZSwgZWxlbWVudCBjb250YWlucyBjaGFyLW1hcCBhbmQgcmFuZ2UtbGlzdAorRnVuY3RzID0ge30KKworc3RhdGUgPSAwCisKK3RyeToKKyAgICBkZWZpbmVzID0gb3BlbigiY2h2YWxpZC5kZWYiLCAiciIpCitleGNlcHQ6CisgICAgcHJpbnQgIk1pc3NpbmcgY2h2YWxpZC5kZWYsIGFib3J0aW5nIC4uLiIKKyAgICBzeXMuZXhpdCgxKQorCisjCisjIFRoZSBsaW5lcyBpbiB0aGUgLmRlZiBmaWxlIGhhdmUgdGhyZWUgdHlwZXM6LQorIyAgIG5hbWU6ICAgRGVmaW5lcyBhIG5ldyBmdW5jdGlvbiBibG9jaworIyAgIHVyOgkgICAgRGVmaW5lcyBpbmRpdmlkdWFsIG9yIHJhbmdlcyBvZiB1bmljb2RlIHZhbHVlcworIyAgIGVuZDogICAgSW5kaWNhdGVzIHRoZSBlbmQgb2YgdGhlIGZ1bmN0aW9uIGJsb2NrCisjCisjIFRoZXNlIGxpbmVzIGFyZSBwcm9jZXNzZWQgYmVsb3cuCisjCitmb3IgbGluZSBpbiBkZWZpbmVzLnJlYWRsaW5lcygpOgorICAgICMgaWdub3JlIGJsYW5rIGxpbmVzLCBvciBsaW5lcyBiZWdpbm5pbmcgd2l0aCAnIycKKyAgICBpZiBsaW5lWzBdID09ICcjJzoKKyAgICAgICAgY29udGludWUKKyAgICBsaW5lID0gc3RyaW5nLnN0cmlwKGxpbmUpCisgICAgaWYgbGluZSA9PSAnJzoKKyAgICAgICAgY29udGludWUKKyAgICAjIHNwbGl0IGxpbmUgaW50byBzcGFjZS1zZXBhcmF0ZWQgZmllbGRzLCB0aGVuIHNwbGl0IG9uIHR5cGUKKyAgICB0cnk6CisgICAgICAgIGZpZWxkcyA9IHN0cmluZy5zcGxpdChsaW5lLCAnICcpCisJIworCSMgbmFtZSBsaW5lOgorCSMgICB2YWxpZGF0ZSBhbnkgcHJldmlvdXMgZnVuY3Rpb24gYmxvY2sgYWxyZWFkeSBlbmRlZAorCSMgICB2YWxpZGF0ZSB0aGlzIGZ1bmN0aW9uIG5vdCBhbHJlYWR5IGRlZmluZWQKKwkjICAgaW5pdGlhbGl6ZSBhbiBlbnRyeSBpbiB0aGUgZnVuY3Rpb24gZGljaXRvbmFyeQorCSMJaW5jbHVkaW5nIGEgbWFzayB0YWJsZSB3aXRoIG5vIHZhbHVlcyB5ZXQgZGVmaW5lZAorCSMKKwlpZiBmaWVsZHNbMF0gPT0gJ25hbWUnOgorCSAgICBuYW1lID0gZmllbGRzWzFdCisJICAgIGlmIHN0YXRlICE9IDA6CisJCXByaW50ICInbmFtZScgJXMgZm91bmQgYmVmb3JlIHByZXZpb3VzIG5hbWUiIFwKKwkJICAgICAgImNvbXBsZXRlZCIgJSAoZmllbGRzWzFdKQorCQljb250aW51ZQorCSAgICBzdGF0ZSA9IDEKKwkgICAgaWYgRnVuY3RzLmhhc19rZXkobmFtZSk6CisJCXByaW50ICJuYW1lICclcycgYWxyZWFkeSBwcmVzZW50IC0gbWF5IGdpdmUiIFwKKwkJICAgICAgIiB3cm9uZyByZXN1bHRzIiAlIChuYW1lKQorCSAgICBlbHNlOgorCQkjIGRpY3QgZW50cnkgd2l0aCB0d28gbGlzdCBlbGVtZW50cyAoY2hkYXRhLCByYW5nZWRhdGEpCisJCUZ1bmN0c1tuYW1lXSA9IFsgW10sIFtdIF0KKwkJZm9yIHYgaW4gcmFuZ2UoMjU2KToKKwkJICAgIEZ1bmN0c1tuYW1lXVswXS5hcHBlbmQoMCkKKwkjCisJIyBlbmQgbGluZToKKwkjICAgdmFsaWRhdGUgdGhlcmUgd2FzIGEgcHJlY2VkaW5nIGZ1bmN0aW9uIG5hbWUgbGluZQorCSMgICBzZXQgc3RhdGUgdG8gc2hvdyBubyBjdXJyZW50IGZ1bmN0aW9uIGFjdGl2ZQorCSMKKwllbGlmIGZpZWxkc1swXSA9PSAnZW5kJzoKKwkgICAgaWYgc3RhdGUgPT0gMDoKKwkJcHJpbnQgIidlbmQnIGZvdW5kIG91dHNpZGUgb2YgZnVuY3Rpb24gYmxvY2siCisJCWNvbnRpbnVlCisJICAgIHN0YXRlID0gMAorCisJIworCSMgdXIgbGluZToKKwkjICAgdmFsaWRhdGUgZnVuY3Rpb24gaGFzIGJlZW4gZGVmaW5lZAorCSMgICBwcm9jZXNzIHJlbWFpbmluZyBmaWVsZHMgb24gdGhlIGxpbmUsIHdoaWNoIG1heSBiZSBlaXRoZXIKKwkjCWluZGl2aWR1YWwgdW5pY29kZSB2YWx1ZXMgb3IgcmFuZ2VzIG9mIHZhbHVlcworCSMKKwllbGlmIGZpZWxkc1swXSA9PSAndXInOgorCSAgICBpZiBzdGF0ZSAhPSAxOgorCQlyYWlzZSBWYWxpZGF0aW9uRXJyb3IsICIndXInIGZvdW5kIG91dHNpZGUgb2YgJ25hbWUnIGJsb2NrIgorCSAgICBmb3IgZWwgaW4gZmllbGRzWzE6XToKKwkJcG9zID0gc3RyaW5nLmZpbmQoZWwsICcuLicpCisJCSMgcG9zIDw9MCBtZWFucyBub3QgYSByYW5nZSwgc28gbXVzdCBiZSBpbmRpdmlkdWFsIHZhbHVlCisJCWlmIHBvcyA8PSAwOgorCQkgICAgIyBjaGVhcCBoYW5kbGluZyBvZiBoZXggb3IgZGVjaW1hbCB2YWx1ZXMKKwkJICAgIGlmIGVsWzA6Ml0gPT0gJzB4JzoKKwkJICAgICAgICB2YWx1ZSA9IGludChlbFsyOl0sMTYpCisJCSAgICBlbGlmIGVsWzBdID09ICInIjoKKwkJCXZhbHVlID0gb3JkKGVsWzFdKQorCQkgICAgZWxzZToKKwkJCXZhbHVlID0gaW50KGVsKQorCQkgICAgaWYgKCh2YWx1ZSA8IDApIHwgKHZhbHVlID4gMHgxZmZmZmYpKToKKwkJCXJhaXNlIFZhbGlkYXRpb25FcnJvciwgJ0lsbGVnYWwgdmFsdWUgKCVzKSBpbiBjaCBmb3InXAorCQkJCScgbmFtZSAlcycgJSAoZWwsbmFtZSkKKwkJICAgICMgZm9yIHVyIHdlIGhhdmUgb25seSByYW5nZXMgKG1ha2VzIHRoaW5ncyBzaW1wbGVyKSwKKwkJICAgICMgc28gY29udmVydCB2YWwgdG8gcmFuZ2UKKwkJICAgIGN1cnJhbmdlID0gKHZhbHVlLCB2YWx1ZSkKKwkJIyBwb3MgPiAwIG1lYW5zIHRoaXMgaXMgYSByYW5nZSwgc28gaXNvbGF0ZS92YWxpZGF0ZQorCQkjIHRoZSBpbnRlcnZhbAorCQllbHNlOgorCQkgICAgIyBzcGxpdCB0aGUgcmFuZ2UgaW50byBpdCdzIGZpcnN0LXZhbCwgbGFzdC12YWwKKwkJICAgIChmaXJzdCwgbGFzdCkgPSBzdHJpbmcuc3BsaXQoZWwsICIuLiIpCisJCSAgICAjIGNvbnZlcnQgdmFsdWVzIGZyb20gdGV4dCBpbnRvIGJpbmFyeQorCQkgICAgaWYgZmlyc3RbMDoyXSA9PSAnMHgnOgkKKwkJCXN0YXJ0ID0gaW50KGZpcnN0WzI6XSwxNikKKwkJICAgIGVsaWYgZmlyc3RbMF0gPT0gIiciOgorCQkJc3RhcnQgPSBvcmQoZmlyc3RbMV0pCisJCSAgICBlbHNlOgorCQkJc3RhcnQgPSBpbnQoZmlyc3QpCisJCSAgICBpZiBsYXN0WzA6Ml0gPT0gJzB4JzoKKwkJCWVuZCA9IGludChsYXN0WzI6XSwxNikKKwkJICAgIGVsaWYgbGFzdFswXSA9PSAiJyI6CisJCQllbmQgPSBvcmQobGFzdFsxXSkKKwkJICAgIGVsc2U6CisJCQllbmQgPSBpbnQobGFzdCkKKwkJICAgIGlmIChzdGFydCA8IDApIHwgKGVuZCA+IDB4MWZmZmZmKSB8IChzdGFydCA+IGVuZCk6CisJCQlyYWlzZSBWYWxpZGF0aW9uRXJyb3IsICJJbnZhbGlkIHJhbmdlICclcyciICUgZWwKKwkJICAgIGN1cnJhbmdlID0gKHN0YXJ0LCBlbmQpCisJCSMgY29tbW9uIHBhdGggLSAnY3VycmFuZ2UnIGhhcyB0aGUgcmFuZ2UsIG5vdyB0YWtlIGNhcmUgb2YgaXQKKwkJIyBXZSBzcGxpdCBvbiBzaW5nbGUtYnl0ZSB2YWx1ZXMgdnMuIG11bHRpYnl0ZQorCQlpZiBjdXJyYW5nZVsxXSA8IDB4MTAwOgkjIHNpbmdsZS1ieXRlCisJCSAgICBmb3IgY2ggaW4gcmFuZ2UoY3VycmFuZ2VbMF0sY3VycmFuZ2VbMV0rMSk6CisJCQkjIHZhbGlkYXRlIHRoYXQgdmFsdWUgbm90IHByZXZpb3VzbHkgZGVmaW5lZAorCQkJaWYgRnVuY3RzW25hbWVdWzBdW2NoXToKKwkJCSAgICBtc2cgPSAiRHVwbGljYXRlIGNoIHZhbHVlICclcycgZm9yIG5hbWUgJyVzJyIgJSAoZWwsIG5hbWUpCisJCQkgICAgcmFpc2UgVmFsaWRhdGlvbkVycm9yLCBtc2cKKwkJCUZ1bmN0c1tuYW1lXVswXVtjaF0gPSAxCisJCWVsc2U6CQkJIyBtdWx0aS1ieXRlCisJCSAgICBpZiBjdXJyYW5nZSBpbiBGdW5jdHNbbmFtZV1bMV06CisJCQlyYWlzZSBWYWxpZGF0aW9uRXJyb3IsICJyYW5nZSBhbHJlYWR5IGRlZmluZWQgaW4iIFwKKwkJCQkiIGZ1bmN0aW9uIgorCQkgICAgZWxzZToKKwkJCUZ1bmN0c1tuYW1lXVsxXS5hcHBlbmQoY3VycmFuZ2UpCisKKyAgICBleGNlcHQ6CisJcHJpbnQgIkZhaWxlZCB0byBwcm9jZXNzIGxpbmU6ICVzIiAlIChsaW5lKQorCXJhaXNlCisjCisjIEF0IHRoaXMgcG9pbnQsIHRoZSBlbnRpcmUgZGVmaW5pdGlvbiBmaWxlIGhhcyBiZWVuIHByb2Nlc3NlZC4gIE5vdyB3ZQorIyBlbnRlciB0aGUgb3V0cHV0IHBoYXNlLCB3aGVyZSB3ZSBnZW5lcmF0ZSB0aGUgdHdvIGZpbGVzIGNodmFsaWQuYyBhbmQnCisjIGNodmFsaWQuaAorIworIyBUbyBkbyB0aGlzLCB3ZSBmaXJzdCBvdXRwdXQgdGhlICdzdGF0aWMnIGRhdGEgKGhlYWRpbmcsIGZpeGVkCisjIGRlZmluaXRpb25zLCBldGMuKSwgdGhlbiBvdXRwdXQgdGhlICdkeW5hbWljJyBkYXRhICh0aGUgcmVzdWx0cworIyBvZiB0aGUgYWJvdmUgcHJvY2Vzc2luZyksIGFuZCBmaW5hbGx5IG91dHB1dCBjbG9zaW5nICdzdGF0aWMnIGRhdGEKKyMgKGUuZy4gdGhlIHN1YnJvdXRpbmUgdG8gcHJvY2VzcyB0aGUgcmFuZ2VzKQorIworCisjCisjIEdlbmVyYXRlIHRoZSBoZWFkaW5nczoKKyMKK3RyeToKKyAgICBoZWFkZXIgPSBvcGVuKCJpbmNsdWRlL2xpYnhtbC9jaHZhbGlkLmgiLCAidyIpCitleGNlcHQ6CisgICAgcHJpbnQgIkZhaWxlZCB0byBvcGVuIGluY2x1ZGUvbGlieG1sL2NodmFsaWQuaCIKKyAgICBzeXMuZXhpdCgxKQorCit0cnk6CisgICAgb3V0cHV0ID0gb3BlbigiY2h2YWxpZC5jIiwgInciKQorZXhjZXB0OgorICAgIHByaW50ICJGYWlsZWQgdG8gb3BlbiBjaHZhbGlkLmMiCisgICAgc3lzLmV4aXQoMSkKKworZGF0ZSA9IHRpbWUuYXNjdGltZSh0aW1lLmxvY2FsdGltZSh0aW1lLnRpbWUoKSkpCisKK2hlYWRlci53cml0ZSgKKyIiIi8qCisgKiBTdW1tYXJ5OiBVbmljb2RlIGNoYXJhY3RlciByYW5nZSBjaGVja2luZworICogRGVzY3JpcHRpb246IHRoaXMgbW9kdWxlIGV4cG9ydHMgaW50ZXJmYWNlcyBmb3IgdGhlIGNoYXJhY3RlcgorICogICAgICAgICAgICAgICByYW5nZSB2YWxpZGF0aW9uIEFQSXMKKyAqCisgKiBUaGlzIGZpbGUgaXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgY3ZzIHNvdXJjZQorICogZGVmaW5pdGlvbiBmaWxlcyB1c2luZyB0aGUgZ2VuQ2hSYW5nZXMucHkgUHl0aG9uIHNjcmlwdAorICoKKyAqIEdlbmVyYXRpb24gZGF0ZTogJXMKKyAqIFNvdXJjZXM6ICVzCisgKiBBdXRob3I6IFdpbGxpYW0gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgorICovCisKKyNpZm5kZWYgX19YTUxfQ0hWQUxJRF9IX18KKyNkZWZpbmUgX19YTUxfQ0hWQUxJRF9IX18KKworI2luY2x1ZGUgPGxpYnhtbC94bWx2ZXJzaW9uLmg+CisjaW5jbHVkZSA8bGlieG1sL3htbHN0cmluZy5oPgorCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCisKKy8qCisgKiBEZWZpbmUgb3VyIHR5cGVkZWZzIGFuZCBzdHJ1Y3R1cmVzCisgKgorICovCit0eXBlZGVmIHN0cnVjdCBfeG1sQ2hTUmFuZ2UgeG1sQ2hTUmFuZ2U7Cit0eXBlZGVmIHhtbENoU1JhbmdlICp4bWxDaFNSYW5nZVB0cjsKK3N0cnVjdCBfeG1sQ2hTUmFuZ2UgeworICAgIHVuc2lnbmVkIHNob3J0CWxvdzsKKyAgICB1bnNpZ25lZCBzaG9ydAloaWdoOworfTsKKwordHlwZWRlZiBzdHJ1Y3QgX3htbENoTFJhbmdlIHhtbENoTFJhbmdlOwordHlwZWRlZiB4bWxDaExSYW5nZSAqeG1sQ2hMUmFuZ2VQdHI7CitzdHJ1Y3QgX3htbENoTFJhbmdlIHsKKyAgICB1bnNpZ25lZCBpbnQJbG93OworICAgIHVuc2lnbmVkIGludAloaWdoOworfTsKKwordHlwZWRlZiBzdHJ1Y3QgX3htbENoUmFuZ2VHcm91cCB4bWxDaFJhbmdlR3JvdXA7Cit0eXBlZGVmIHhtbENoUmFuZ2VHcm91cCAqeG1sQ2hSYW5nZUdyb3VwUHRyOworc3RydWN0IF94bWxDaFJhbmdlR3JvdXAgeworICAgIGludAkJCW5iU2hvcnRSYW5nZTsKKyAgICBpbnQJCQluYkxvbmdSYW5nZTsKKyAgICBjb25zdCB4bWxDaFNSYW5nZQkqc2hvcnRSYW5nZTsJLyogcG9pbnRzIHRvIGFuIGFycmF5IG9mIHJhbmdlcyAqLworICAgIGNvbnN0IHhtbENoTFJhbmdlCSpsb25nUmFuZ2U7Cit9OworCisvKioKKyAqIFJhbmdlIGNoZWNraW5nIHJvdXRpbmUKKyAqLworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCXhtbENoYXJJblJhbmdlKHVuc2lnbmVkIGludCB2YWwsIGNvbnN0IHhtbENoUmFuZ2VHcm91cCAqZ3JvdXApOworCisiIiIgJSAoZGF0ZSwgc291cmNlcykpOworb3V0cHV0LndyaXRlKAorIiIiLyoKKyAqIGNodmFsaWQuYzoJdGhpcyBtb2R1bGUgaW1wbGVtZW50cyB0aGUgY2hhcmFjdGVyIHJhbmdlCisgKgkJdmFsaWRhdGlvbiBBUElzCisgKgorICogVGhpcyBmaWxlIGlzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGN2cyBzb3VyY2UKKyAqIGRlZmluaXRpb24gZmlsZXMgdXNpbmcgdGhlIGdlbkNoUmFuZ2VzLnB5IFB5dGhvbiBzY3JpcHQKKyAqCisgKiBHZW5lcmF0aW9uIGRhdGU6ICVzCisgKiBTb3VyY2VzOiAlcworICogV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisgKi8KKworI2RlZmluZSBJTl9MSUJYTUwKKyNpbmNsdWRlICJsaWJ4bWwuaCIKKyNpbmNsdWRlIDxsaWJ4bWwvY2h2YWxpZC5oPgorCisvKgorICogVGhlIGluaXRpYWwgdGFibGVzICh7ZnVuY19uYW1lfV90YWIpIGFyZSB1c2VkIHRvIHZhbGlkYXRlIHdoZXRoZXIgYQorICogc2luZ2xlLWJ5dGUgY2hhcmFjdGVyIGlzIHdpdGhpbiB0aGUgc3BlY2lmaWVkIGdyb3VwLiAgRWFjaCB0YWJsZQorICogY29udGFpbnMgMjU2IGJ5dGVzLCB3aXRoIGVhY2ggYnl0ZSByZXByZXNlbnRpbmcgb25lIG9mIHRoZSAyNTYKKyAqIHBvc3NpYmxlIGNoYXJhY3RlcnMuICBJZiB0aGUgdGFibGUgYnl0ZSBpcyBzZXQsIHRoZSBjaGFyYWN0ZXIgaXMKKyAqIGFsbG93ZWQuCisgKgorICovCisiIiIgJSAoZGF0ZSwgc291cmNlcykpOworCisjCisjIE5vdyBvdXRwdXQgdGhlIGdlbmVyYXRlZCBkYXRhLgorIyBXZSB0cnkgdG8gcHJvZHVjZSB0aGUgYmVzdCBleGVjdXRpb24gdGltZXMuICBUZXN0cyBoYXZlIHNob3duIHRoYXQgdmFsaWRhdGlvbgorIyB3aXRoIGRpcmVjdCB0YWJsZSBsb29rdXAgaXMsIHdoZW4gdGhlcmUgYXJlIGEgInNtYWxsIiBudW1iZXIgb2YgdmFsaWQgaXRlbXMsCisjIHN0aWxsIG5vdCBhcyBmYXN0IGFzIGEgc2VxdWVuY2Ugb2YgaW5saW5lIGNvbXBhcmVzLiAgU28sIGlmIHRoZSBzaW5nbGUtYnl0ZQorIyBwb3J0aW9uIG9mIGEgcmFuZ2UgaGFzIGEgInNtYWxsIiBudW1iZXIgb2YgcmFuZ2VzLCB3ZSBvdXRwdXQgYSBtYWNybyBmb3IgaW5saW5lCisjIGNvbXBhcmVzLCBvdGhlcndpc2Ugd2Ugb3V0cHV0IGEgMjU2LWJ5dGUgdGFibGUgYW5kIGEgbWFjcm8gdG8gdXNlIGl0LgorIworCitma2V5cyA9IEZ1bmN0cy5rZXlzKCkJIyBEaWN0aW9uYXJ5IG9mIGFsbCBkZWZpbmVkIGZ1bmN0aW9ucworZmtleXMuc29ydCgpCQkjIFB1dCBzb21lIG9yZGVyIHRvIG91ciBvdXRwdXQKKworZm9yIGYgaW4gZmtleXM6CisKKyMgRmlyc3Qgd2UgY29udmVydCB0aGUgc3BlY2lmaWVkIHNpbmdsZS1ieXRlIHZhbHVlcyBpbnRvIGEgZ3JvdXAgb2YgcmFuZ2VzLgorIyBJZiB0aGUgdG90YWwgbnVtYmVyIG9mIHN1Y2ggcmFuZ2VzIGlzIGxlc3MgdGhhbiBtaW5UYWJsZVNpemUsIHdlIGdlbmVyYXRlCisjIGFuIGlubGluZSBtYWNybyBmb3IgZGlyZWN0IGNvbXBhcmlzb25zOyBpZiBncmVhdGVyLCB3ZSBnZW5lcmF0ZSBhIGxvb2t1cAorIyB0YWJsZS4KKyAgICBpZiBtYXgoRnVuY3RzW2ZdWzBdKSA+IDA6CSMgb25seSBjaGVjayBpZiBhdCBsZWFzdCBvbmUgZW50cnkKKyAgICAgICAgcmFuZ2VUYWJsZSA9IG1ha2VSYW5nZShGdW5jdHNbZl1bMF0pCisJbnVtUmFuZ2VzID0gbGVuKHJhbmdlVGFibGUpCisJaWYgbnVtUmFuZ2VzID49IG1pblRhYmxlU2l6ZToJIyB0YWJsZSBpcyB3b3J0aHdoaWxlCisJICAgIGhlYWRlci53cml0ZSgiWE1MUFVCVkFSIGNvbnN0IHVuc2lnbmVkIGNoYXIgJXNfdGFiWzI1Nl07XG4iICUgZikKKwkgICAgaGVhZGVyLndyaXRlKCIiIgorLyoqCisgKiAlc19jaDoKKyAqIEBjOiBjaGFyIHRvIHZhbGlkYXRlCisgKgorICogQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgZ2VuQ2hSYW5nZXMucHkKKyAqLworIiIiICUgZikKKwkgICAgaGVhZGVyLndyaXRlKCIjZGVmaW5lICVzX2NoKGMpXHQoJXNfdGFiWyhjKV0pXG4iICUgKGYsIGYpKQorCisJICAgICMgd3JpdGUgdGhlIGNvbnN0YW50IGRhdGEgdG8gdGhlIGNvZGUgZmlsZQorCSAgICBvdXRwdXQud3JpdGUoImNvbnN0IHVuc2lnbmVkIGNoYXIgJXNfdGFiWzI1Nl0gPSB7XG4iICUgZikKKwkgICAgcGxpbmUgPSAiICAgIgorCSAgICBmb3IgbiBpbiByYW5nZSgyNTUpOgorCQlwbGluZSArPSAiIDB4JTAyeCwiICUgRnVuY3RzW2ZdWzBdW25dCisJCWlmIGxlbihwbGluZSkgPiA3MjoKKwkJICAgIG91dHB1dC53cml0ZShwbGluZSArICJcbiIpCisJCSAgICBwbGluZSA9ICIgICAiCisJICAgIG91dHB1dC53cml0ZShwbGluZSArICIgMHglMDJ4IH07XG5cbiIgJSBGdW5jdHNbZl1bMF1bMjU1XSkKKworCWVsc2U6CQkjIGlubGluZSBjaGVjayBpcyB1c2VkCisJICAgICMgZmlyc3QgYW5vdGhlciBsaXR0bGUgb3B0aW1pc2F0aW9uIC0gaWYgc3BhY2UgaXMgcHJlc2VudCwKKwkgICAgIyBwdXQgaXQgYXQgdGhlIGZyb250IG9mIHRoZSBsaXN0IHNvIGl0IGlzIGNoZWNrZWQgZmlyc3QKKwkgICAgdHJ5OgorCQlpeCA9IHJhbmdlVGFibGUucmVtb3ZlKCgweDIwLCAweDIwKSkKKwkJcmFuZ2VUYWJsZS5pbnNlcnQoMCwgKDB4MjAsIDB4MjApKQorCSAgICBleGNlcHQ6CisJCXBhc3MKKwkgICAgZmlyc3RGbGFnID0gMQorCSAgICAKKwkgICAgaGVhZGVyLndyaXRlKCIiIgorLyoqCisgKiAlc19jaDoKKyAqIEBjOiBjaGFyIHRvIHZhbGlkYXRlCisgKgorICogQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgZ2VuQ2hSYW5nZXMucHkKKyAqLworIiIiICUgZikKKwkgICAgIyBva2F5LCBJJ20gdGlyZWQgb2YgdGhlIG1lc3N5IGxpbmV1cCAtIGxldCdzIGF1dG9tYXRlIGl0IQorCSAgICBwbGluZSA9ICIjZGVmaW5lICVzX2NoKGMpIiAlIGYKKwkgICAgIyAnbnRhYicgaXMgbnVtYmVyIG9mIHRhYnMgbmVlZGVkIHRvIHBvc2l0aW9uIHRvIGNvbC4gMzMgZnJvbSBuYW1lIGVuZAorCSAgICBudGFiID0gNCAtIChsZW4ocGxpbmUpKSAvIDgKKwkgICAgaWYgbnRhYiA8IDA6CisJCW50YWIgPSAwCisJICAgIGp1c3QgPSAiIgorCSAgICBmb3IgaSBpbiByYW5nZShudGFiKToKKwkJanVzdCArPSAiXHQiCisJICAgIHBsaW5lID0gcGxpbmUgKyBqdXN0ICsgIigiCisJICAgIGZvciByZyBpbiByYW5nZVRhYmxlOgorCQlpZiBub3QgZmlyc3RGbGFnOgorCQkgICAgcGxpbmUgKz0gIiB8fCBcXFxuXHRcdFx0XHQgIgorCQllbHNlOgorCQkgICAgZmlyc3RGbGFnID0gMAorCQlpZiByZ1swXSA9PSByZ1sxXToJCSMgc2luZ2xlIHZhbHVlIC0gY2hlY2sgZXF1YWwKKwkJICAgIHBsaW5lICs9ICIoKGMpID09IDB4JXgpIiAlIHJnWzBdCisJCWVsc2U6CQkJCSMgdmFsdWUgcmFuZ2UKKwkJIyBzaW5jZSB3ZSBhcmUgZG9pbmcgY2hhciwgYWxzbyBjaGFuZ2UgcmFuZ2UgZW5kaW5nIGluIDB4ZmYKKwkJICAgIGlmIHJnWzFdICE9IDB4ZmY6CisJCSAgICAgICAgcGxpbmUgKz0gIigoMHgleCA8PSAoYykpICYmIiAlIHJnWzBdCisJCSAgICAgICAgcGxpbmUgKz0gIiAoKGMpIDw9IDB4JXgpKSIgJSByZ1sxXQorCQkgICAgZWxzZToKKwkJICAgICAgICBwbGluZSArPSAiICgweCV4IDw9IChjKSkiICUgcmdbMF0KKwkgICAgcGxpbmUgKz0gIilcbiIKKwkgICAgaGVhZGVyLndyaXRlKHBsaW5lKQorCisgICAgaGVhZGVyLndyaXRlKCIiIgorLyoqCisgKiAlc1E6CisgKiBAYzogY2hhciB0byB2YWxpZGF0ZQorICoKKyAqIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IGdlbkNoUmFuZ2VzLnB5CisgKi8KKyIiIiAlIGYpCisgICAgcGxpbmUgPSAiI2RlZmluZSAlc1EoYykiICUgZgorICAgIG50YWIgPSA0IC0gKGxlbihwbGluZSkpIC8gOAorICAgIGlmIG50YWIgPCAwOgorCW50YWIgPSAwCisgICAganVzdCA9ICIiCisgICAgZm9yIGkgaW4gcmFuZ2UobnRhYik6CisJanVzdCArPSAiXHQiCisgICAgaGVhZGVyLndyaXRlKHBsaW5lICsganVzdCArICIoKChjKSA8IDB4MTAwKSA/IFxcXG5cdFx0XHRcdCAiKQorICAgIGlmIG1heChGdW5jdHNbZl1bMF0pID4gMDoKKwloZWFkZXIud3JpdGUoIiVzX2NoKChjKSkgOiIgJSBmKQorICAgIGVsc2U6CisJaGVhZGVyLndyaXRlKCIwIDoiKQorCisgICAgIyBpZiBubyByYW5nZXMgZGVmaW5lZCwgdmFsdWUgaW52YWxpZCBpZiA+PSAweDEwMAorICAgIG51bVJhbmdlcyA9IGxlbihGdW5jdHNbZl1bMV0pCisgICAgaWYgbnVtUmFuZ2VzID09IDA6CisJaGVhZGVyLndyaXRlKCIgMClcblxuIikKKyAgICBlbHNlOgorCWlmIG51bVJhbmdlcyA+PSBtaW5UYWJsZVNpemU6CisJICAgIGhlYWRlci53cml0ZSgiIFxcXG5cdFx0XHRcdCB4bWxDaGFySW5SYW5nZSgoYyksICYlc0dyb3VwKSlcblxuIiAgJSBmKQorCWVsc2U6CQkjIGlmIDwgbWluVGFibGVTaXplLCBnZW5lcmF0ZSBpbmxpbmUgY29kZQorCSAgICBmaXJzdEZsYWcgPSAxCisJICAgIGZvciByZyBpbiBGdW5jdHNbZl1bMV06CisJCWlmIG5vdCBmaXJzdEZsYWc6CisJCSAgICBwbGluZSArPSAiIHx8IFxcXG5cdFx0XHRcdCAiCisJCWVsc2U6CisJCSAgICBmaXJzdEZsYWcgPSAwCisJCSAgICBwbGluZSA9ICJcXFxuXHRcdFx0XHQoIgorCQlpZiByZ1swXSA9PSByZ1sxXToJCSMgc2luZ2xlIHZhbHVlIC0gY2hlY2sgZXF1YWwKKwkJICAgIHBsaW5lICs9ICIoKGMpID09IDB4JXgpIiAlIHJnWzBdCisJCWVsc2U6CQkJCSMgdmFsdWUgcmFuZ2UKKwkJICAgIHBsaW5lICs9ICIoKDB4JXggPD0gKGMpKSAmJiIgJSByZ1swXQorCQkgICAgcGxpbmUgKz0gIiAoKGMpIDw9IDB4JXgpKSIgJSByZ1sxXQorCSAgICBwbGluZSArPSAiKSlcblxuIgorCSAgICBoZWFkZXIud3JpdGUocGxpbmUpCisKKworICAgIGlmIGxlbihGdW5jdHNbZl1bMV0pID4gMDoKKwloZWFkZXIud3JpdGUoIlhNTFBVQlZBUiBjb25zdCB4bWxDaFJhbmdlR3JvdXAgJXNHcm91cDtcbiIgJSBmKQorCisKKyMKKyMgTmV4dCB3ZSBkbyB0aGUgdW5pY29kZSByYW5nZXMKKyMKKworZm9yIGYgaW4gZmtleXM6CisgICAgaWYgbGVuKEZ1bmN0c1tmXVsxXSkgPiAwOgkjIG9ubHkgZ2VuZXJhdGUgaWYgdW5pY29kZSByYW5nZXMgcHJlc2VudAorCXJhbmdlVGFibGUgPSBGdW5jdHNbZl1bMV0KKwlyYW5nZVRhYmxlLnNvcnQoKQkjIGFzY2VuZGluZyB0dXBsZSBzZXF1ZW5jZQorCW51bVNob3J0ID0gMAorCW51bUxvbmcgID0gMAorCWZvciByZyBpbiByYW5nZVRhYmxlOgorCSAgICBpZiByZ1sxXSA8IDB4MTAwMDA6CSMgaWYgc2hvcnQgdmFsdWUKKwkJaWYgbnVtU2hvcnQgPT0gMDoJIyBmaXJzdCBvY2N1cmVuY2UKKwkJICAgIHBsaW5lID0gInN0YXRpYyBjb25zdCB4bWxDaFNSYW5nZSAlc19zcm5nW10gPSB7ICIgJSBmCisJCWVsc2U6CisJCSAgICBwbGluZSArPSAiLCAiCisJCW51bVNob3J0ICs9IDEKKwkJaWYgbGVuKHBsaW5lKSA+IDYwOgorCQkgICAgb3V0cHV0LndyaXRlKHBsaW5lICsgIlxuIikKKwkJICAgIHBsaW5lID0gIiAgICAiCisJCXBsaW5lICs9ICJ7MHgleCwgMHgleH0iICUgKHJnWzBdLCByZ1sxXSkKKwkgICAgZWxzZToJCSMgaWYgbG9uZyB2YWx1ZQorCQlpZiBudW1Mb25nID09IDA6CSMgZmlyc3Qgb2NjdXJlbmNlCisJCSAgICBpZiBudW1TaG9ydCA+IDA6CSMgaWYgdGhlcmUgd2VyZSBzaG9ydHMsIGZpbmlzaCB0aGVtIG9mZgorCQkJb3V0cHV0LndyaXRlKHBsaW5lICsgIn07XG4iKQorCQkgICAgcGxpbmUgPSAic3RhdGljIGNvbnN0IHhtbENoTFJhbmdlICVzX2xybmdbXSA9IHsgIiAlIGYKKwkJZWxzZToKKwkJICAgIHBsaW5lICs9ICIsICIKKwkJbnVtTG9uZyArPSAxCisJCWlmIGxlbihwbGluZSkgPiA2MDoKKwkJICAgIG91dHB1dC53cml0ZShwbGluZSArICJcbiIpCisJCSAgICBwbGluZSA9ICIgICAgIgorCQlwbGluZSArPSAiezB4JXgsIDB4JXh9IiAlIChyZ1swXSwgcmdbMV0pCisJb3V0cHV0LndyaXRlKHBsaW5lICsgIn07XG4iKQkjIGZpbmlzaCBvZmYgbGFzdCBncm91cAorCisJcGxpbmUgPSAiY29uc3QgeG1sQ2hSYW5nZUdyb3VwICVzR3JvdXAgPVxuXHR7JWQsICVkLCAiICUgKGYsIG51bVNob3J0LCBudW1Mb25nKQorCWlmIG51bVNob3J0ID4gMDoKKwkgICAgcGxpbmUgKz0gIiVzX3NybmciICUgZgorCWVsc2U6CisJICAgIHBsaW5lICs9ICIoeG1sQ2hTUmFuZ2VQdHIpMCIKKwlpZiBudW1Mb25nID4gMDoKKwkgICAgcGxpbmUgKz0gIiwgJXNfbHJuZyIgJSBmCisJZWxzZToKKwkgICAgcGxpbmUgKz0gIiwgKHhtbENoTFJhbmdlUHRyKTAiCisJCisJb3V0cHV0LndyaXRlKHBsaW5lICsgIn07XG5cbiIpCisKK291dHB1dC53cml0ZSgKKyIiIgorLyoqCisgKiB4bWxDaGFySW5SYW5nZToKKyAqIEB2YWw6IGNoYXJhY3RlciB0byBiZSB2YWxpZGF0ZWQKKyAqIEBycHRyOiBwb2ludGVyIHRvIHJhbmdlIHRvIGJlIHVzZWQgdG8gdmFsaWRhdGUKKyAqCisgKiBEb2VzIGEgYmluYXJ5IHNlYXJjaCBvZiB0aGUgcmFuZ2UgdGFibGUgdG8gZGV0ZXJtaW5lIGlmIGNoYXIKKyAqIGlzIHZhbGlkCisgKgorICogUmV0dXJuczogdHJ1ZSBpZiBjaGFyYWN0ZXIgdmFsaWQsIGZhbHNlIG90aGVyd2lzZQorICovCitpbnQKK3htbENoYXJJblJhbmdlICh1bnNpZ25lZCBpbnQgdmFsLCBjb25zdCB4bWxDaFJhbmdlR3JvdXAgKnJwdHIpIHsKKyAgICBpbnQgbG93LCBoaWdoLCBtaWQ7CisgICAgY29uc3QgeG1sQ2hTUmFuZ2UgKnNwdHI7CisgICAgY29uc3QgeG1sQ2hMUmFuZ2UgKmxwdHI7CisKKyAgICBpZiAocnB0ciA9PSBOVUxMKSByZXR1cm4oMCk7CisgICAgaWYgKHZhbCA8IDB4MTAwMDApIHsJLyogaXMgdmFsIGluICdzaG9ydCcgb3IgJ2xvbmcnICBhcnJheT8gKi8KKwlpZiAocnB0ci0+bmJTaG9ydFJhbmdlID09IDApCisJICAgIHJldHVybiAwOworCWxvdyA9IDA7CisJaGlnaCA9IHJwdHItPm5iU2hvcnRSYW5nZSAtIDE7CisJc3B0ciA9IHJwdHItPnNob3J0UmFuZ2U7CisJd2hpbGUgKGxvdyA8PSBoaWdoKSB7CisJICAgIG1pZCA9IChsb3cgKyBoaWdoKSAvIDI7CisJICAgIGlmICgodW5zaWduZWQgc2hvcnQpIHZhbCA8IHNwdHJbbWlkXS5sb3cpIHsKKwkJaGlnaCA9IG1pZCAtIDE7CisJICAgIH0gZWxzZSB7CisJICAgICAgICBpZiAoKHVuc2lnbmVkIHNob3J0KSB2YWwgPiBzcHRyW21pZF0uaGlnaCkgeworCQkgICAgbG93ID0gbWlkICsgMTsKKwkJfSBlbHNlIHsKKwkJICAgIHJldHVybiAxOworCQl9CisJICAgIH0KKwl9CisgICAgfSBlbHNlIHsKKwlpZiAocnB0ci0+bmJMb25nUmFuZ2UgPT0gMCkgeworCSAgICByZXR1cm4gMDsKKwl9CisJbG93ID0gMDsKKwloaWdoID0gcnB0ci0+bmJMb25nUmFuZ2UgLSAxOworCWxwdHIgPSBycHRyLT5sb25nUmFuZ2U7CisJd2hpbGUgKGxvdyA8PSBoaWdoKSB7CisJICAgIG1pZCA9IChsb3cgKyBoaWdoKSAvIDI7CisJICAgIGlmICh2YWwgPCBscHRyW21pZF0ubG93KSB7CisJCWhpZ2ggPSBtaWQgLSAxOworCSAgICB9IGVsc2UgeworCSAgICAgICAgaWYgKHZhbCA+IGxwdHJbbWlkXS5oaWdoKSB7CisJCSAgICBsb3cgPSBtaWQgKyAxOworCQl9IGVsc2UgeworCQkgICAgcmV0dXJuIDE7CisJCX0KKwkgICAgfQorCX0KKyAgICB9CisgICAgcmV0dXJuIDA7Cit9CisKKyIiIik7CisKKyMKKyMgZmluYWxseSwgZ2VuZXJhdGUgdGhlIEFCSSBjb21wYXRpYmlsaXR5IGZ1bmN0aW9ucworIworZm9yIGYgaW4gZmtleXM6CisgICAgb3V0cHV0LndyaXRlKCIiIgorLyoqCisgKiAlczoKKyAqIEBjaDogIGNoYXJhY3RlciB0byB2YWxpZGF0ZQorICoKKyAqIFRoaXMgZnVuY3Rpb24gaXMgREVQUkVDQVRFRC4KKyIiIiAlIGYpOworICAgIGlmIG1heChGdW5jdHNbZl1bMF0pID4gMDoKKyAgICAgICAgb3V0cHV0LndyaXRlKCIgKiBVc2UgJXNfY2ggb3IgJXNRIGluc3RlYWQiICUgKGYsIGYpKQorICAgIGVsc2U6CisgICAgICAgIG91dHB1dC53cml0ZSgiICogVXNlICVzUSBpbnN0ZWFkIiAlIGYpCisgICAgb3V0cHV0LndyaXRlKCIiIgorICoKKyAqIFJldHVybnMgdHJ1ZSBpZiBhcmd1bWVudCB2YWxpZCwgZmFsc2Ugb3RoZXJ3aXNlCisgKi8KKyIiIikKKyAgICBvdXRwdXQud3JpdGUoImludFxuJXModW5zaWduZWQgaW50IGNoKSB7XG4gICAgcmV0dXJuKCVzUShjaCkpO1xufVxuXG4iICUgKGYsZikpCisgICAgaGVhZGVyLndyaXRlKCJYTUxQVUJGVU4gaW50IFhNTENBTExcblx0XHQlcyh1bnNpZ25lZCBpbnQgY2gpO1xuIiAlIGYpOworIworIyBSdW4gY29tcGxldGUgLSB3cml0ZSB0cmFpbGVycyBhbmQgY2xvc2UgdGhlIG91dHB1dCBmaWxlcworIworCitoZWFkZXIud3JpdGUoIiIiCisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorI2VuZGlmIC8qIF9fWE1MX0NIVkFMSURfSF9fICovCisiIiIpCisKK2hlYWRlci5jbG9zZSgpCisKK291dHB1dC53cml0ZSgiIiIjZGVmaW5lIGJvdHRvbV9jaHZhbGlkCisjaW5jbHVkZSAiZWxmZ2NjaGFjay5oIgorIiIiKQorb3V0cHV0LmNsb3NlKCkKKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9nZW5Vbmljb2RlLnB5IGIvbGlieG1sMi9nZW5Vbmljb2RlLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjU2ZTRlOWIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2dlblVuaWNvZGUucHkKQEAgLTAsMCArMSw0NzggQEAKKyMhL3Vzci9iaW4vcHl0aG9uIC11CisjCisjIE9yaWdpbmFsIHNjcmlwdCBtb2RpZmllZCBpbiBOb3ZlbWJlciAyMDAzIHRvIHRha2UgYWR2YW50YWdlIG9mCisjIHRoZSBjaGFyYWN0ZXItdmFsaWRhdGlvbiByYW5nZSByb3V0aW5lcywgYW5kIHVwZGF0ZWQgdG8gdGhlCisjIGN1cnJlbnQgVW5pY29kZSBpbmZvcm1hdGlvbiAoVmVyc2lvbiA0LjAuMSkKKyMKKyMgTk9URTogdGhlcmUgaXMgYW4gJ2FsaWFzJyBmYWNpbGl0eSBmb3IgYmxvY2tzIHdoaWNoIGFyZSBub3QgcHJlc2VudCBpbgorIwl0aGUgY3VycmVudCByZWxlYXNlLCBidXQgYXJlIG5lZWRlZCBmb3IgQUJJIGNvbXBhdGliaWxpdHkuICBUaGlzCisjCW11c3QgYmUgYWNjb21wbGlzaGVkIE1BTlVBTExZISAgUGxlYXNlIHNlZSB0aGUgY29tbWVudHMgYmVsb3cgdW5kZXIKKyMgICAgICdibG9ja0FsaWFzZXMnCisjCitpbXBvcnQgc3lzCitpbXBvcnQgc3RyaW5nCitpbXBvcnQgdGltZQorCit3ZWJwYWdlID0gImh0dHA6Ly93d3cudW5pY29kZS5vcmcvUHVibGljLzQuMC1VcGRhdGUxL1VDRC00LjAuMS5odG1sIgorc291cmNlcyA9ICJCbG9ja3MtNC4wLjEudHh0IFVuaWNvZGVEYXRhLTQuMC4xLnR4dCIKKworIworIyBibG9ja0FsaWFzZXMgaXMgYSBzbWFsbCBoYWNrIC0gaXQgaXMgdXNlZCBmb3IgbWFwcGluZyBibG9jayBuYW1lcyB3aGljaAorIyB3ZXJlIHdlcmUgdXNlZCBpbiB0aGUgMy4xIHJlbGVhc2UsIGJ1dCBhcmUgbWlzc2luZyBvciBjaGFuZ2VkIGluIHRoZSBjdXJyZW50CisjIHJlbGVhc2UuICBUaGUgZm9ybWF0IGlzICJPbGRCbG9ja05hbWU6TmV3QmxvY2tOYW1lMVssTmV3QmxvY2tOYW1lMlssLi4uXV0iCitibG9ja0FsaWFzZXMgPSBbXQorYmxvY2tBbGlhc2VzLmFwcGVuZCgiQ29tYmluaW5nTWFya3Nmb3JTeW1ib2xzOkNvbWJpbmluZ0RpYWNyaXRpY2FsTWFya3Nmb3JTeW1ib2xzIikKK2Jsb2NrQWxpYXNlcy5hcHBlbmQoIkdyZWVrOkdyZWVrYW5kQ29wdGljIikKK2Jsb2NrQWxpYXNlcy5hcHBlbmQoIlByaXZhdGVVc2U6UHJpdmF0ZVVzZUFyZWEsU3VwcGxlbWVudGFyeVByaXZhdGVVc2VBcmVhLUEsIiArIAorCSJTdXBwbGVtZW50YXJ5UHJpdmF0ZVVzZUFyZWEtQiIpCisKKyMgbWluVGFibGVTaXplIGdpdmVzIHRoZSBtaW5pbXVtIG51bWJlciBvZiByYW5nZXMgd2hpY2ggbXVzdCBiZSBwcmVzZW50CisjIGJlZm9yZSBhIHJhbmdlIHRhYmxlIGlzIHByb2R1Y2VkLiAgSWYgdGhlcmUgYXJlIGxlc3MgdGhhbiB0aGlzCisjIG51bWJlciwgaW5saW5lIGNvbXBhcmlzb25zIGFyZSBnZW5lcmF0ZWQKK21pblRhYmxlU2l6ZSA9IDgKKworKGJsb2NrZmlsZSwgY2F0ZmlsZSkgPSBzdHJpbmcuc3BsaXQoc291cmNlcykKKworCisjCisjIE5vdyBwcm9jZXNzIHRoZSAiYmxvY2tzIiBmaWxlLCByZWR1Y2luZyBpdCB0byBhIGRpY3Rpb25hcnkKKyMgaW5kZXhlZCBieSBibG9ja25hbWUsIGNvbnRhaW5pbmcgYSB0dXBsZSB3aXRoIHRoZSBhcHBsaWNhYmxlCisjIGJsb2NrIHJhbmdlCisjCitCbG9ja05hbWVzID0ge30KK3RyeToKKyAgICBibG9ja3MgPSBvcGVuKGJsb2NrZmlsZSwgInIiKQorZXhjZXB0OgorICAgIHByaW50ICJNaXNzaW5nICVzLCBhYm9ydGluZyAuLi4iICUgYmxvY2tmaWxlCisgICAgc3lzLmV4aXQoMSkKKworZm9yIGxpbmUgaW4gYmxvY2tzLnJlYWRsaW5lcygpOgorICAgIGlmIGxpbmVbMF0gPT0gJyMnOgorICAgICAgICBjb250aW51ZQorICAgIGxpbmUgPSBzdHJpbmcuc3RyaXAobGluZSkKKyAgICBpZiBsaW5lID09ICcnOgorICAgICAgICBjb250aW51ZQorICAgIHRyeToKKyAgICAgICAgZmllbGRzID0gc3RyaW5nLnNwbGl0KGxpbmUsICc7JykKKyAgICAgICAgcmFuZ2UgPSBzdHJpbmcuc3RyaXAoZmllbGRzWzBdKQorICAgICAgICAoc3RhcnQsIGVuZCkgPSBzdHJpbmcuc3BsaXQocmFuZ2UsICIuLiIpCisgICAgICAgIG5hbWUgPSBzdHJpbmcuc3RyaXAoZmllbGRzWzFdKQorICAgICAgICBuYW1lID0gc3RyaW5nLnJlcGxhY2UobmFtZSwgJyAnLCAnJykKKyAgICBleGNlcHQ6CisgICAgICAgIHByaW50ICJGYWlsZWQgdG8gcHJvY2VzcyBsaW5lOiAlcyIgJSAobGluZSkKKyAgICAgICAgY29udGludWUKKyAgICBzdGFydCA9ICIweCIgKyBzdGFydAorICAgIGVuZCA9ICIweCIgKyBlbmQKKyAgICB0cnk6CisgICAgICAgIEJsb2NrTmFtZXNbbmFtZV0uYXBwZW5kKChzdGFydCwgZW5kKSkKKyAgICBleGNlcHQ6CisgICAgICAgIEJsb2NrTmFtZXNbbmFtZV0gPSBbKHN0YXJ0LCBlbmQpXQorYmxvY2tzLmNsb3NlKCkKK3ByaW50ICJQYXJzZWQgJWQgYmxvY2tzIGRlc2NyaXB0aW9ucyIgJSAobGVuKEJsb2NrTmFtZXMua2V5cygpKSkKKworZm9yIGJsb2NrIGluIGJsb2NrQWxpYXNlczoKKyAgICBhbGlhcyA9IHN0cmluZy5zcGxpdChibG9jaywnOicpCisgICAgYWxpc3QgPSBzdHJpbmcuc3BsaXQoYWxpYXNbMV0sJywnKQorICAgIGZvciBjb21wIGluIGFsaXN0OgorICAgICAgICBpZiBCbG9ja05hbWVzLmhhc19rZXkoY29tcCk6CisgICAgICAgICAgICBpZiBhbGlhc1swXSBub3QgaW4gQmxvY2tOYW1lczoKKyAgICAgICAgICAgICAgICBCbG9ja05hbWVzW2FsaWFzWzBdXSA9IFtdCisgICAgICAgICAgICBmb3IgciBpbiBCbG9ja05hbWVzW2NvbXBdOgorICAgICAgICAgICAgICAgIEJsb2NrTmFtZXNbYWxpYXNbMF1dLmFwcGVuZChyKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcHJpbnQgIkFsaWFzICVzOiAlcyBub3QgaW4gQmxvY2tzIiAlIChhbGlhc1swXSwgY29tcCkKKyAgICAgICAgICAgIGNvbnRpbnVlCisKKyMKKyMgTmV4dCBwcm9jZXNzIHRoZSBDYXRlZ29yaWVzIGZpbGUuIFRoaXMgaXMgbW9yZSBjb21wbGV4LCBzaW5jZQorIyB0aGUgZmlsZSBpcyBpbiBjb2RlIHNlcXVlbmNlLCBhbmQgd2UgbmVlZCB0byBpbnZlcnQgaXQuICBXZSB1c2UKKyMgYSBkaWN0aW9uYXJ5IHdpdGggaW5kZXggY2F0ZWdvcnktbmFtZSwgd2l0aCBlYWNoIGVudHJ5IGNvbnRhaW5pbmcKKyMgYWxsIHRoZSByYW5nZXMgKGNvZGVwb2ludHMpIG9mIHRoYXQgY2F0ZWdvcnkuICBOb3RlIHRoYXQgY2F0ZWdvcnkKKyMgbmFtZXMgY29tcHJpc2UgdHdvIHBhcnRzIC0gdGhlIGdlbmVyYWwgY2F0ZWdvcnksIGFuZCB0aGUgInN1YmNsYXNzIgorIyB3aXRoaW4gdGhhdCBjYXRlZ29yeS4gIFRoZXJlZm9yZSwgYm90aCAiZ2VuZXJhbCBjYXRlZ29yeSIgKHdoaWNoIGlzCisjIHRoZSBmaXJzdCBjaGFyYWN0ZXIgb2YgdGhlIDItY2hhcmFjdGVyIGNhdGVnb3J5LW5hbWUpIGFuZCB0aGUgZnVsbAorIyAoMi1jaGFyYWN0ZXIpIG5hbWUgYXJlIGVudGVyZWQgaW50byB0aGlzIGRpY3Rpb25hcnkuCisjCit0cnk6CisgICAgZGF0YSA9IG9wZW4oY2F0ZmlsZSwgInIiKQorZXhjZXB0OgorICAgIHByaW50ICJNaXNzaW5nICVzLCBhYm9ydGluZyAuLi4iICUgY2F0ZmlsZQorICAgIHN5cy5leGl0KDEpCisKK25iY2hhciA9IDA7CitDYXRlZ29yaWVzID0ge30KK2ZvciBsaW5lIGluIGRhdGEucmVhZGxpbmVzKCk6CisgICAgaWYgbGluZVswXSA9PSAnIyc6CisgICAgICAgIGNvbnRpbnVlCisgICAgbGluZSA9IHN0cmluZy5zdHJpcChsaW5lKQorICAgIGlmIGxpbmUgPT0gJyc6CisgICAgICAgIGNvbnRpbnVlCisgICAgdHJ5OgorICAgICAgICBmaWVsZHMgPSBzdHJpbmcuc3BsaXQobGluZSwgJzsnKQorICAgICAgICBwb2ludCA9IHN0cmluZy5zdHJpcChmaWVsZHNbMF0pCisgICAgICAgIHZhbHVlID0gMAorICAgICAgICB3aGlsZSBwb2ludCAhPSAnJzoKKyAgICAgICAgICAgIHZhbHVlID0gdmFsdWUgKiAxNgorICAgICAgICAgICAgaWYgcG9pbnRbMF0gPj0gJzAnIGFuZCBwb2ludFswXSA8PSAnOSc6CisgICAgICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZSArIG9yZChwb2ludFswXSkgLSBvcmQoJzAnKQorICAgICAgICAgICAgZWxpZiBwb2ludFswXSA+PSAnQScgYW5kIHBvaW50WzBdIDw9ICdGJzoKKyAgICAgICAgICAgICAgICB2YWx1ZSA9IHZhbHVlICsgMTAgKyBvcmQocG9pbnRbMF0pIC0gb3JkKCdBJykKKyAgICAgICAgICAgIGVsaWYgcG9pbnRbMF0gPj0gJ2EnIGFuZCBwb2ludFswXSA8PSAnZic6CisgICAgICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZSArIDEwICsgb3JkKHBvaW50WzBdKSAtIG9yZCgnYScpCisgICAgICAgICAgICBwb2ludCA9IHBvaW50WzE6XQorICAgICAgICBuYW1lID0gZmllbGRzWzJdCisgICAgZXhjZXB0OgorICAgICAgICBwcmludCAiRmFpbGVkIHRvIHByb2Nlc3MgbGluZTogJXMiICUgKGxpbmUpCisgICAgICAgIGNvbnRpbnVlCisgICAgCisgICAgbmJjaGFyID0gbmJjaGFyICsgMQorICAgICMgdXBkYXRlIGVudHJ5IGZvciAiZnVsbCBuYW1lIgorICAgIHRyeToKKyAgICAgICAgQ2F0ZWdvcmllc1tuYW1lXS5hcHBlbmQodmFsdWUpCisgICAgZXhjZXB0OgorICAgICAgICB0cnk6CisgICAgICAgICAgICBDYXRlZ29yaWVzW25hbWVdID0gW3ZhbHVlXQorICAgICAgICBleGNlcHQ6CisgICAgICAgICAgICBwcmludCAiRmFpbGVkIHRvIHByb2Nlc3MgbGluZTogJXMiICUgKGxpbmUpCisgICAgIyB1cGRhdGUgImdlbmVyYWwgY2F0ZWdvcnkiIG5hbWUKKyAgICB0cnk6CisgICAgICAgIENhdGVnb3JpZXNbbmFtZVswXV0uYXBwZW5kKHZhbHVlKQorICAgIGV4Y2VwdDoKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgQ2F0ZWdvcmllc1tuYW1lWzBdXSA9IFt2YWx1ZV0KKyAgICAgICAgZXhjZXB0OgorICAgICAgICAgICAgcHJpbnQgIkZhaWxlZCB0byBwcm9jZXNzIGxpbmU6ICVzIiAlIChsaW5lKQorCitibG9ja3MuY2xvc2UoKQorcHJpbnQgIlBhcnNlZCAlZCBjaGFyIGdlbmVyYXRpbmcgJWQgY2F0ZWdvcmllcyIgJSAobmJjaGFyLCBsZW4oQ2F0ZWdvcmllcy5rZXlzKCkpKQorCisjCisjIFRoZSBkYXRhIGlzIG5vdyBhbGwgcmVhZC4gIFRpbWUgdG8gcHJvY2VzcyBpdCBpbnRvIGEgbW9yZSB1c2VmdWwgZm9ybS4KKyMKKyMgcmVkdWNlIHRoZSBudW1iZXIgbGlzdCBpbnRvIHJhbmdlcworZm9yIGNhdCBpbiBDYXRlZ29yaWVzLmtleXMoKToKKyAgICBsaXN0ID0gQ2F0ZWdvcmllc1tjYXRdCisgICAgc3RhcnQgPSAtMQorICAgIHByZXYgPSAtMQorICAgIGVuZCA9IC0xCisgICAgcmFuZ2VzID0gW10KKyAgICBmb3IgdmFsIGluIGxpc3Q6CisgICAgICAgIGlmIHN0YXJ0ID09IC0xOgorICAgICAgICAgICAgc3RhcnQgPSB2YWwKKyAgICAgICAgICAgIHByZXYgPSB2YWwKKyAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgIGVsaWYgdmFsID09IHByZXYgKyAxOgorICAgICAgICAgICAgcHJldiA9IHZhbAorICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgZWxpZiBwcmV2ID09IHN0YXJ0OgorICAgICAgICAgICAgcmFuZ2VzLmFwcGVuZCgocHJldiwgcHJldikpCisgICAgICAgICAgICBzdGFydCA9IHZhbAorICAgICAgICAgICAgcHJldiA9IHZhbAorICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJhbmdlcy5hcHBlbmQoKHN0YXJ0LCBwcmV2KSkKKyAgICAgICAgICAgIHN0YXJ0ID0gdmFsCisgICAgICAgICAgICBwcmV2ID0gdmFsCisgICAgICAgICAgICBjb250aW51ZQorICAgIGlmIHByZXYgPT0gc3RhcnQ6CisgICAgICAgIHJhbmdlcy5hcHBlbmQoKHByZXYsIHByZXYpKQorICAgIGVsc2U6CisgICAgICAgIHJhbmdlcy5hcHBlbmQoKHN0YXJ0LCBwcmV2KSkKKyAgICBDYXRlZ29yaWVzW2NhdF0gPSByYW5nZXMKKworIworIyBBc3N1cmUgYWxsIGRhdGEgaXMgaW4gYWxwaGFiZXRpYyBvcmRlciwgc2luY2Ugd2Ugd2lsbCBiZSBkb2luZyBiaW5hcnkKKyMgc2VhcmNoZXMgb24gdGhlIHRhYmxlcy4KKyMKK2JrZXlzID0gQmxvY2tOYW1lcy5rZXlzKCkKK2JrZXlzLnNvcnQoKQorCitja2V5cyA9IENhdGVnb3JpZXMua2V5cygpCitja2V5cy5zb3J0KCkKKworIworIyBHZW5lcmF0ZSB0aGUgcmVzdWx0aW5nIGZpbGVzCisjCit0cnk6CisgICAgaGVhZGVyID0gb3BlbigiaW5jbHVkZS9saWJ4bWwveG1sdW5pY29kZS5oIiwgInciKQorZXhjZXB0OgorICAgIHByaW50ICJGYWlsZWQgdG8gb3BlbiBpbmNsdWRlL2xpYnhtbC94bWx1bmljb2RlLmgiCisgICAgc3lzLmV4aXQoMSkKKwordHJ5OgorICAgIG91dHB1dCA9IG9wZW4oInhtbHVuaWNvZGUuYyIsICJ3IikKK2V4Y2VwdDoKKyAgICBwcmludCAiRmFpbGVkIHRvIG9wZW4geG1sdW5pY29kZS5jIgorICAgIHN5cy5leGl0KDEpCisKK2RhdGUgPSB0aW1lLmFzY3RpbWUodGltZS5sb2NhbHRpbWUodGltZS50aW1lKCkpKQorCitoZWFkZXIud3JpdGUoCisiIiIvKgorICogU3VtbWFyeTogVW5pY29kZSBjaGFyYWN0ZXIgQVBJcworICogRGVzY3JpcHRpb246IEFQSSBmb3IgdGhlIFVuaWNvZGUgY2hhcmFjdGVyIEFQSXMKKyAqCisgKiBUaGlzIGZpbGUgaXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUKKyAqIFVDUyBkZXNjcmlwdGlvbiBmaWxlcyBvZiB0aGUgVW5pY29kZSBDaGFyYWN0ZXIgRGF0YWJhc2UKKyAqICVzCisgKiB1c2luZyB0aGUgZ2VuVW5pY29kZS5weSBQeXRob24gc2NyaXB0LgorICoKKyAqIEdlbmVyYXRpb24gZGF0ZTogJXMKKyAqIFNvdXJjZXM6ICVzCisgKiBBdXRob3I6IERhbmllbCBWZWlsbGFyZAorICovCisKKyNpZm5kZWYgX19YTUxfVU5JQ09ERV9IX18KKyNkZWZpbmUgX19YTUxfVU5JQ09ERV9IX18KKworI2luY2x1ZGUgPGxpYnhtbC94bWx2ZXJzaW9uLmg+CisKKyNpZmRlZiBMSUJYTUxfVU5JQ09ERV9FTkFCTEVECisKKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7CisjZW5kaWYKKworIiIiICUgKHdlYnBhZ2UsIGRhdGUsIHNvdXJjZXMpKTsKKworb3V0cHV0LndyaXRlKAorIiIiLyoKKyAqIHhtbHVuaWNvZGUuYzogdGhpcyBtb2R1bGUgaW1wbGVtZW50cyB0aGUgVW5pY29kZSBjaGFyYWN0ZXIgQVBJcworICoKKyAqIFRoaXMgZmlsZSBpcyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZQorICogVUNTIGRlc2NyaXB0aW9uIGZpbGVzIG9mIHRoZSBVbmljb2RlIENoYXJhY3RlciBEYXRhYmFzZQorICogJXMKKyAqIHVzaW5nIHRoZSBnZW5Vbmljb2RlLnB5IFB5dGhvbiBzY3JpcHQuCisgKgorICogR2VuZXJhdGlvbiBkYXRlOiAlcworICogU291cmNlczogJXMKKyAqIERhbmllbCBWZWlsbGFyZCA8dmVpbGxhcmRAcmVkaGF0LmNvbT4KKyAqLworCisjZGVmaW5lIElOX0xJQlhNTAorI2luY2x1ZGUgImxpYnhtbC5oIgorCisjaWZkZWYgTElCWE1MX1VOSUNPREVfRU5BQkxFRAorCisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8bGlieG1sL3htbHZlcnNpb24uaD4KKyNpbmNsdWRlIDxsaWJ4bWwveG1sdW5pY29kZS5oPgorI2luY2x1ZGUgPGxpYnhtbC9jaHZhbGlkLmg+CisKK3R5cGVkZWYgaW50ICh4bWxJbnRGdW5jKShpbnQpOwkvKiBqdXN0IHRvIGtlZXAgb25lJ3MgbWluZCB1bnR3aXN0ZWQgKi8KKwordHlwZWRlZiBzdHJ1Y3QgeworICAgIGNvbnN0IGNoYXIgKnJhbmdlbmFtZTsKKyAgICB4bWxJbnRGdW5jICpmdW5jOworfSB4bWxVbmljb2RlUmFuZ2U7CisKK3R5cGVkZWYgc3RydWN0IHsKKyAgICB4bWxVbmljb2RlUmFuZ2UgKnRhYmxlOworICAgIGludAkJICAgIG51bWVudHJpZXM7Cit9IHhtbFVuaWNvZGVOYW1lVGFibGU7CisKKworc3RhdGljIHhtbEludEZ1bmMgKnhtbFVuaWNvZGVMb29rdXAoeG1sVW5pY29kZU5hbWVUYWJsZSAqdHB0ciwgY29uc3QgY2hhciAqdG5hbWUpOworCitzdGF0aWMgeG1sVW5pY29kZVJhbmdlIHhtbFVuaWNvZGVCbG9ja3NbXSA9IHsKKyIiIiAlICh3ZWJwYWdlLCBkYXRlLCBzb3VyY2VzKSk7CisKK2ZsYWcgPSAwCitmb3IgYmxvY2sgaW4gYmtleXM6CisgICAgbmFtZSA9IHN0cmluZy5yZXBsYWNlKGJsb2NrLCAnLScsICcnKQorICAgIGlmIGZsYWc6CisgICAgICAgIG91dHB1dC53cml0ZSgnLFxuJykKKyAgICBlbHNlOgorICAgICAgICBmbGFnID0gMQorICAgIG91dHB1dC53cml0ZSgnICB7IiVzIiwgeG1sVUNTSXMlc30nICUgKGJsb2NrLCBuYW1lKSkKK291dHB1dC53cml0ZSgnfTtcblxuJykKKworb3V0cHV0LndyaXRlKCdzdGF0aWMgeG1sVW5pY29kZVJhbmdlIHhtbFVuaWNvZGVDYXRzW10gPSB7XG4nKQorZmxhZyA9IDA7Citmb3IgbmFtZSBpbiBja2V5czoKKyAgICBpZiBmbGFnOgorICAgICAgICBvdXRwdXQud3JpdGUoJyxcbicpCisgICAgZWxzZToKKyAgICAgICAgZmxhZyA9IDEKKyAgICBvdXRwdXQud3JpdGUoJyAgeyIlcyIsIHhtbFVDU0lzQ2F0JXN9JyAlIChuYW1lLCBuYW1lKSkKK291dHB1dC53cml0ZSgnfTtcblxuJykKKworIworIyBGb3IgYW55IGNhdGVnb3JpZXMgd2l0aCBtb3JlIHRoYW4gbWluVGFibGVTaXplIHJhbmdlcyB3ZSBnZW5lcmF0ZQorIyBhIHJhbmdlIHRhYmxlIHN1aXRhYmxlIGZvciB4bWxDaGFySW5SYW5nZQorIworZm9yIG5hbWUgaW4gY2tleXM6CisgIGlmIGxlbihDYXRlZ29yaWVzW25hbWVdKSA+IG1pblRhYmxlU2l6ZToKKyAgICBudW1zaG9ydCA9IDAKKyAgICBudW1sb25nID0gMAorICAgIHJhbmdlcyA9IENhdGVnb3JpZXNbbmFtZV0KKyAgICBzcHRyID0gIk5VTEwiCisgICAgbHB0ciA9ICJOVUxMIgorICAgIGZvciByYW5nZSBpbiByYW5nZXM6CisgICAgICAobG93LCBoaWdoKSA9IHJhbmdlCisgICAgICBpZiBoaWdoIDwgMHgxMDAwMDoKKyAgICAgICAgaWYgbnVtc2hvcnQgPT0gMDoKKyAgICAgICAgICBwbGluZSA9ICJzdGF0aWMgY29uc3QgeG1sQ2hTUmFuZ2UgeG1sJXNTW10gPSB7IiAlIG5hbWUKKyAgICAgICAgICBzcHRyID0gInhtbCVzUyIgJSBuYW1lCisgICAgICAgIGVsc2U6CisgICAgICAgICAgcGxpbmUgKz0gIiwgIgorICAgICAgICBudW1zaG9ydCArPSAxCisgICAgICBlbHNlOgorICAgICAgICBpZiBudW1sb25nID09IDA6CisgICAgICAgICAgaWYgbnVtc2hvcnQgPiAwOgorICAgICAgICAgICAgb3V0cHV0LndyaXRlKHBsaW5lICsgIiB9O1xuIikKKyAgICAgICAgICBwbGluZSA9ICJzdGF0aWMgY29uc3QgeG1sQ2hMUmFuZ2UgeG1sJXNMW10gPSB7IiAlIG5hbWUKKyAgICAgICAgICBscHRyID0gInhtbCVzTCIgJSBuYW1lCisgICAgICAgIGVsc2U6CisgICAgICAgICAgcGxpbmUgKz0gIiwgIgorICAgICAgICBudW1sb25nICs9IDEKKyAgICAgIGlmIGxlbihwbGluZSkgPiA2MDoKKyAgICAgICAgb3V0cHV0LndyaXRlKHBsaW5lICsgIlxuIikKKyAgICAgICAgcGxpbmUgPSAiICAgICIKKyAgICAgIHBsaW5lICs9ICJ7JXMsICVzfSIgJSAoaGV4KGxvdyksIGhleChoaWdoKSkKKyAgICBvdXRwdXQud3JpdGUocGxpbmUgKyAiIH07XG5zdGF0aWMgeG1sQ2hSYW5nZUdyb3VwIHhtbCVzRyA9IHslcywlcywlcywlc307XG5cbiIKKyAgICAgICAgICUgKG5hbWUsIG51bXNob3J0LCBudW1sb25nLCBzcHRyLCBscHRyKSkKKworCitvdXRwdXQud3JpdGUoCisiIiJzdGF0aWMgeG1sVW5pY29kZU5hbWVUYWJsZSB4bWxVbmljb2RlQmxvY2tUYmwgPSB7eG1sVW5pY29kZUJsb2NrcywgJXN9Oworc3RhdGljIHhtbFVuaWNvZGVOYW1lVGFibGUgeG1sVW5pY29kZUNhdFRibCA9IHt4bWxVbmljb2RlQ2F0cywgJXN9OworCisvKioKKyAqIHhtbFVuaWNvZGVMb29rdXA6CisgKiBAdHB0cjogcG9pbnRlciB0byB0aGUgbmFtZSB0YWJsZQorICogQG5hbWU6IG5hbWUgdG8gYmUgZm91bmQKKyAqCisgKiBiaW5hcnkgdGFibGUgbG9va3VwIGZvciB1c2VyLXN1cHBsaWVkIG5hbWUKKyAqCisgKiBSZXR1cm5zIHBvaW50ZXIgdG8gcmFuZ2UgZnVuY3Rpb24gaWYgZm91bmQsIG90aGVyd2lzZSBOVUxMCisgKi8KK3N0YXRpYyB4bWxJbnRGdW5jCisqeG1sVW5pY29kZUxvb2t1cCh4bWxVbmljb2RlTmFtZVRhYmxlICp0cHRyLCBjb25zdCBjaGFyICp0bmFtZSkgeworICAgIGludCBsb3csIGhpZ2gsIG1pZCwgY21wOworICAgIHhtbFVuaWNvZGVSYW5nZSAqc3B0cjsKKworICAgIGlmICgodHB0ciA9PSBOVUxMKSB8fCAodG5hbWUgPT0gTlVMTCkpIHJldHVybihOVUxMKTsKKworICAgIGxvdyA9IDA7CisgICAgaGlnaCA9IHRwdHItPm51bWVudHJpZXMgLSAxOworICAgIHNwdHIgPSB0cHRyLT50YWJsZTsKKyAgICB3aGlsZSAobG93IDw9IGhpZ2gpIHsKKwltaWQgPSAobG93ICsgaGlnaCkgLyAyOworCWlmICgoY21wPXN0cmNtcCh0bmFtZSwgc3B0clttaWRdLnJhbmdlbmFtZSkpID09IDApCisJICAgIHJldHVybiAoc3B0clttaWRdLmZ1bmMpOworCWlmIChjbXAgPCAwKQorCSAgICBoaWdoID0gbWlkIC0gMTsKKwllbHNlCisJICAgIGxvdyA9IG1pZCArIDE7CisgICAgfQorICAgIHJldHVybiAoTlVMTCk7ICAgIAorfQorCisiIiIgJSAobGVuKEJsb2NrTmFtZXMpLCBsZW4oQ2F0ZWdvcmllcykpICkKKworZm9yIGJsb2NrIGluIGJrZXlzOgorICAgIG5hbWUgPSBzdHJpbmcucmVwbGFjZShibG9jaywgJy0nLCAnJykKKyAgICBoZWFkZXIud3JpdGUoIlhNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxVQ1NJcyVzXHQoaW50IGNvZGUpO1xuIiAlIG5hbWUpCisgICAgb3V0cHV0LndyaXRlKCIvKipcbiAqIHhtbFVDU0lzJXM6XG4gKiBAY29kZTogVUNTIGNvZGUgcG9pbnRcbiIgJSAobmFtZSkpCisgICAgb3V0cHV0LndyaXRlKCIgKlxuICogQ2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgJXMgVUNTIEJsb2NrXG4iJQorICAgICAgICAgICAgICAgICAoYmxvY2spKQorICAgIG91dHB1dC53cml0ZSgiICpcbiAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlXG4gKi9cbiIpOworICAgIG91dHB1dC53cml0ZSgiaW50XG54bWxVQ1NJcyVzKGludCBjb2RlKSB7XG4gICAgcmV0dXJuKCIgJSBuYW1lKQorICAgIGZsYWcgPSAwCisgICAgZm9yIChzdGFydCwgZW5kKSBpbiBCbG9ja05hbWVzW2Jsb2NrXToKKyAgICAgICAgaWYgZmxhZzoKKyAgICAgICAgICAgIG91dHB1dC53cml0ZSgiIHx8XG4gICAgICAgICAgICIpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBmbGFnID0gMQorICAgICAgICBvdXRwdXQud3JpdGUoIigoY29kZSA+PSAlcykgJiYgKGNvZGUgPD0gJXMpKSIgJSAoc3RhcnQsIGVuZCkpCisgICAgb3V0cHV0LndyaXRlKCIpO1xufVxuXG4iKQorCitoZWFkZXIud3JpdGUoIlxuWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFVDU0lzQmxvY2tcdChpbnQgY29kZSwgY29uc3QgY2hhciAqYmxvY2spO1xuXG4iKQorb3V0cHV0LndyaXRlKAorIiIiLyoqCisgKiB4bWxVQ1NJc0Jsb2NrOgorICogQGNvZGU6IFVDUyBjb2RlIHBvaW50CisgKiBAYmxvY2s6IFVDUyBibG9jayBuYW1lCisgKgorICogQ2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgdGhlIFVDUyBCbG9jaworICoKKyAqIFJldHVybnMgMSBpZiB0cnVlLCAwIGlmIGZhbHNlIGFuZCAtMSBvbiB1bmtub3duIGJsb2NrCisgKi8KK2ludAoreG1sVUNTSXNCbG9jayhpbnQgY29kZSwgY29uc3QgY2hhciAqYmxvY2spIHsKKyAgICB4bWxJbnRGdW5jICpmdW5jOworCisgICAgZnVuYyA9IHhtbFVuaWNvZGVMb29rdXAoJnhtbFVuaWNvZGVCbG9ja1RibCwgYmxvY2spOworICAgIGlmIChmdW5jID09IE5VTEwpCisJcmV0dXJuICgtMSk7CisgICAgcmV0dXJuIChmdW5jKGNvZGUpKTsKK30KKworIiIiKQorCitmb3IgbmFtZSBpbiBja2V5czoKKyAgICByYW5nZXMgPSBDYXRlZ29yaWVzW25hbWVdCisgICAgaGVhZGVyLndyaXRlKCJYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVUNTSXNDYXQlc1x0KGludCBjb2RlKTtcbiIgJSBuYW1lKQorICAgIG91dHB1dC53cml0ZSgiLyoqXG4gKiB4bWxVQ1NJc0NhdCVzOlxuICogQGNvZGU6IFVDUyBjb2RlIHBvaW50XG4iICUgKG5hbWUpKQorICAgIG91dHB1dC53cml0ZSgiICpcbiAqIENoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mICVzIFVDUyBDYXRlZ29yeVxuIiUKKyAgICAgICAgICAgICAgICAgKG5hbWUpKQorICAgIG91dHB1dC53cml0ZSgiICpcbiAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlXG4gKi9cbiIpOworICAgIG91dHB1dC53cml0ZSgiaW50XG54bWxVQ1NJc0NhdCVzKGludCBjb2RlKSB7XG4iICUgbmFtZSkKKyAgICBpZiBsZW4oQ2F0ZWdvcmllc1tuYW1lXSkgPiBtaW5UYWJsZVNpemU6CisgICAgICAgIG91dHB1dC53cml0ZSgiICAgIHJldHVybih4bWxDaGFySW5SYW5nZSgodW5zaWduZWQgaW50KWNvZGUsICZ4bWwlc0cpIgorICAgICAgICAgICAgJSBuYW1lKQorICAgIGVsc2U6CisgICAgICAgIHN0YXJ0ID0gMQorICAgICAgICBmb3IgcmFuZ2UgaW4gcmFuZ2VzOgorICAgICAgICAgICAgKGJlZ2luLCBlbmQpID0gcmFuZ2U7CisgICAgICAgICAgICBpZiBzdGFydDoKKyAgICAgICAgICAgICAgICBvdXRwdXQud3JpdGUoIiAgICByZXR1cm4oIik7CisgICAgICAgICAgICAgICAgc3RhcnQgPSAwCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIG91dHB1dC53cml0ZSgiIHx8XG4gICAgICAgICAgICIpOworICAgICAgICAgICAgaWYgKGJlZ2luID09IGVuZCk6CisgICAgICAgICAgICAgICAgb3V0cHV0LndyaXRlKCIoY29kZSA9PSAlcykiICUgKGhleChiZWdpbikpKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBvdXRwdXQud3JpdGUoIigoY29kZSA+PSAlcykgJiYgKGNvZGUgPD0gJXMpKSIgJSAoCisgICAgICAgICAgICAgICAgICAgICAgICAgaGV4KGJlZ2luKSwgaGV4KGVuZCkpKQorICAgIG91dHB1dC53cml0ZSgiKTtcbn1cblxuIikKKworaGVhZGVyLndyaXRlKCJcblhNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxVQ1NJc0NhdFx0KGludCBjb2RlLCBjb25zdCBjaGFyICpjYXQpO1xuIikKK291dHB1dC53cml0ZSgKKyIiIi8qKgorICogeG1sVUNTSXNDYXQ6CisgKiBAY29kZTogVUNTIGNvZGUgcG9pbnQKKyAqIEBjYXQ6IFVDUyBDYXRlZ29yeSBuYW1lCisgKgorICogQ2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgdGhlIFVDUyBDYXRlZ29yeQorICoKKyAqIFJldHVybnMgMSBpZiB0cnVlLCAwIGlmIGZhbHNlIGFuZCAtMSBvbiB1bmtub3duIGNhdGVnb3J5CisgKi8KK2ludAoreG1sVUNTSXNDYXQoaW50IGNvZGUsIGNvbnN0IGNoYXIgKmNhdCkgeworICAgIHhtbEludEZ1bmMgKmZ1bmM7CisKKyAgICBmdW5jID0geG1sVW5pY29kZUxvb2t1cCgmeG1sVW5pY29kZUNhdFRibCwgY2F0KTsKKyAgICBpZiAoZnVuYyA9PSBOVUxMKQorCXJldHVybiAoLTEpOworICAgIHJldHVybiAoZnVuYyhjb2RlKSk7Cit9CisKKyNkZWZpbmUgYm90dG9tX3htbHVuaWNvZGUKKyNpbmNsdWRlICJlbGZnY2NoYWNrLmgiCisjZW5kaWYgLyogTElCWE1MX1VOSUNPREVfRU5BQkxFRCAqLworIiIiKQorCitoZWFkZXIud3JpdGUoIiIiCisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorCisjZW5kaWYgLyogTElCWE1MX1VOSUNPREVfRU5BQkxFRCAqLworCisjZW5kaWYgLyogX19YTUxfVU5JQ09ERV9IX18gKi8KKyIiIik7CisKK2hlYWRlci5jbG9zZSgpCitvdXRwdXQuY2xvc2UoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9nZW50ZXN0LnB5IGIvbGlieG1sMi9nZW50ZXN0LnB5Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmYxNzg2MjAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2dlbnRlc3QucHkKQEAgLTAsMCArMSw5NjMgQEAKKyMhL3Vzci9iaW4vcHl0aG9uIC11CisjCisjIGdlbmVyYXRlIGEgdGVzdGVyIHByb2dyYW0gZm9yIHRoZSBBUEkKKyMKK2ltcG9ydCBzeXMKK2ltcG9ydCBvcworaW1wb3J0IHN0cmluZwordHJ5OgorICAgIGltcG9ydCBsaWJ4bWwyCitleGNlcHQ6CisgICAgcHJpbnQgImxpYnhtbDIgcHl0aG9uIGJpbmRpbmdzIG5vdCBhdmFpbGFibGUsIHNraXBwaW5nIHRlc3RhcGkuYyBnZW5lcmF0aW9uIgorICAgIHN5cy5leGl0KDApCisKK2lmIGxlbihzeXMuYXJndikgPiAxOgorICAgIHNyY1ByZWYgPSBzeXMuYXJndlsxXSArICcvJworZWxzZToKKyAgICBzcmNQcmVmID0gJycKKworIworIyBNb2R1bGVzIHdlIHdhbnQgdG8gc2tpcCBpbiBBUEkgdGVzdAorIworc2tpcHBlZF9tb2R1bGVzID0gWyAiU0FYIiwgInhsaW5rIiwgInRocmVhZHMiLCAiZ2xvYmFscyIsCisgICJ4bWxtZW1vcnkiLCAieG1sdmVyc2lvbiIsICJ4bWxleHBvcnRzIiwKKyAgI2RlcHJlY2F0ZWQKKyAgIkRPQ0JwYXJzZXIiLAorXQorCisjCisjIGRlZmluZXMgZm9yIGVhY2ggbW9kdWxlCisjCittb2R1bGVzX2RlZmluZXMgPSB7CisgICAgIkhUTUxwYXJzZXIiOiAiTElCWE1MX0hUTUxfRU5BQkxFRCIsCisgICAgImNhdGFsb2ciOiAiTElCWE1MX0NBVEFMT0dfRU5BQkxFRCIsCisgICAgInhtbHJlYWRlciI6ICJMSUJYTUxfUkVBREVSX0VOQUJMRUQiLAorICAgICJyZWxheG5nIjogIkxJQlhNTF9TQ0hFTUFTX0VOQUJMRUQiLAorICAgICJzY2hlbWFzSW50ZXJuYWxzIjogIkxJQlhNTF9TQ0hFTUFTX0VOQUJMRUQiLAorICAgICJ4bWxzY2hlbWFzIjogIkxJQlhNTF9TQ0hFTUFTX0VOQUJMRUQiLAorICAgICJ4bWxzY2hlbWFzdHlwZXMiOiAiTElCWE1MX1NDSEVNQVNfRU5BQkxFRCIsCisgICAgInhwYXRoIjogIkxJQlhNTF9YUEFUSF9FTkFCTEVEIiwKKyAgICAieHBhdGhJbnRlcm5hbHMiOiAiTElCWE1MX1hQQVRIX0VOQUJMRUQiLAorICAgICJ4aW5jbHVkZSI6ICJMSUJYTUxfWElOQ0xVREVfRU5BQkxFRCIsCisgICAgInhwb2ludGVyIjogIkxJQlhNTF9YUFRSX0VOQUJMRUQiLAorICAgICJ4bWxyZWdleHAiIDogIkxJQlhNTF9SRUdFWFBfRU5BQkxFRCIsCisgICAgInhtbGF1dG9tYXRhIiA6ICJMSUJYTUxfQVVUT01BVEFfRU5BQkxFRCIsCisgICAgInhtbHNhdmUiIDogIkxJQlhNTF9PVVRQVVRfRU5BQkxFRCIsCisgICAgIkRPQ0JwYXJzZXIiIDogIkxJQlhNTF9ET0NCX0VOQUJMRUQiLAorICAgICJ4bWxtb2R1bGUiIDogIkxJQlhNTF9NT0RVTEVTX0VOQUJMRUQiLAorICAgICJwYXR0ZXJuIiA6ICJMSUJYTUxfUEFUVEVSTl9FTkFCTEVEIiwKKyAgICAic2NoZW1hdHJvbiIgOiAiTElCWE1MX1NDSEVNQVRST05fRU5BQkxFRCIsCit9CisKKyMKKyMgZGVmaW5lcyBmb3Igc3BlY2lmaWMgZnVuY3Rpb25zCisjCitmdW5jdGlvbl9kZWZpbmVzID0geworICAgICJodG1sRGVmYXVsdFNBWEhhbmRsZXJJbml0IjogIkxJQlhNTF9IVE1MX0VOQUJMRUQiLAorICAgICJ4bWxTQVgyRW5kRWxlbWVudCIgOiAiTElCWE1MX1NBWDFfRU5BQkxFRCIsCisgICAgInhtbFNBWDJTdGFydEVsZW1lbnQiIDogIkxJQlhNTF9TQVgxX0VOQUJMRUQiLAorICAgICJ4bWxTQVhEZWZhdWx0VmVyc2lvbiIgOiAiTElCWE1MX1NBWDFfRU5BQkxFRCIsCisgICAgIlVURjhUb2lzb2xhdDEiIDogIkxJQlhNTF9PVVRQVVRfRU5BQkxFRCIsCisgICAgInhtbENsZWFudXBQcmVkZWZpbmVkRW50aXRpZXMiOiAiTElCWE1MX0xFR0FDWV9FTkFCTEVEIiwKKyAgICAieG1sSW5pdGlhbGl6ZVByZWRlZmluZWRFbnRpdGllcyI6ICJMSUJYTUxfTEVHQUNZX0VOQUJMRUQiLAorICAgICJ4bWxTZXRGZWF0dXJlIjogIkxJQlhNTF9MRUdBQ1lfRU5BQkxFRCIsCisgICAgInhtbEdldEZlYXR1cmUiOiAiTElCWE1MX0xFR0FDWV9FTkFCTEVEIiwKKyAgICAieG1sR2V0RmVhdHVyZXNMaXN0IjogIkxJQlhNTF9MRUdBQ1lfRU5BQkxFRCIsCisgICAgInhtbElPUGFyc2VEVEQiOiAiTElCWE1MX1ZBTElEX0VOQUJMRUQiLAorICAgICJ4bWxQYXJzZURURCI6ICJMSUJYTUxfVkFMSURfRU5BQkxFRCIsCisgICAgInhtbFBhcnNlRG9jIjogIkxJQlhNTF9TQVgxX0VOQUJMRUQiLAorICAgICJ4bWxQYXJzZU1lbW9yeSI6ICJMSUJYTUxfU0FYMV9FTkFCTEVEIiwKKyAgICAieG1sUmVjb3ZlckRvYyI6ICJMSUJYTUxfU0FYMV9FTkFCTEVEIiwKKyAgICAieG1sUGFyc2VGaWxlIjogIkxJQlhNTF9TQVgxX0VOQUJMRUQiLAorICAgICJ4bWxSZWNvdmVyRmlsZSI6ICJMSUJYTUxfU0FYMV9FTkFCTEVEIiwKKyAgICAieG1sUmVjb3Zlck1lbW9yeSI6ICJMSUJYTUxfU0FYMV9FTkFCTEVEIiwKKyAgICAieG1sU0FYUGFyc2VGaWxlV2l0aERhdGEiOiAiTElCWE1MX1NBWDFfRU5BQkxFRCIsCisgICAgInhtbFNBWFBhcnNlTWVtb3J5IjogIkxJQlhNTF9TQVgxX0VOQUJMRUQiLAorICAgICJ4bWxTQVhVc2VyUGFyc2VNZW1vcnkiOiAiTElCWE1MX1NBWDFfRU5BQkxFRCIsCisgICAgInhtbFNBWFBhcnNlRG9jIjogIkxJQlhNTF9TQVgxX0VOQUJMRUQiLAorICAgICJ4bWxTQVhQYXJzZURURCI6ICJMSUJYTUxfU0FYMV9FTkFCTEVEIiwKKyAgICAieG1sU0FYVXNlclBhcnNlRmlsZSI6ICJMSUJYTUxfU0FYMV9FTkFCTEVEIiwKKyAgICAieG1sUGFyc2VFbnRpdHkiOiAiTElCWE1MX1NBWDFfRU5BQkxFRCIsCisgICAgInhtbFBhcnNlRXh0ZXJuYWxFbnRpdHkiOiAiTElCWE1MX1NBWDFfRU5BQkxFRCIsCisgICAgInhtbFNBWFBhcnNlTWVtb3J5V2l0aERhdGEiOiAiTElCWE1MX1NBWDFfRU5BQkxFRCIsCisgICAgInhtbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeSI6ICJMSUJYTUxfU0FYMV9FTkFCTEVEIiwKKyAgICAieG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5UmVjb3ZlciI6ICJMSUJYTUxfU0FYMV9FTkFCTEVEIiwKKyAgICAieG1sU2V0dXBQYXJzZXJGb3JCdWZmZXIiOiAiTElCWE1MX1NBWDFfRU5BQkxFRCIsCisgICAgInhtbFN0b3BQYXJzZXIiOiAiTElCWE1MX1BVU0hfRU5BQkxFRCIsCisgICAgInhtbEF0dHJTZXJpYWxpemVUeHRDb250ZW50IjogIkxJQlhNTF9PVVRQVVRfRU5BQkxFRCIsCisgICAgInhtbFNBWFBhcnNlRmlsZSI6ICJMSUJYTUxfU0FYMV9FTkFCTEVEIiwKKyAgICAieG1sU0FYUGFyc2VFbnRpdHkiOiAiTElCWE1MX1NBWDFfRU5BQkxFRCIsCisgICAgInhtbE5ld1RleHRDaGlsZCI6ICJMSUJYTUxfVFJFRV9FTkFCTEVEIiwKKyAgICAieG1sTmV3RG9jUmF3Tm9kZSI6ICJMSUJYTUxfVFJFRV9FTkFCTEVEIiwKKyAgICAieG1sTmV3UHJvcCI6ICJMSUJYTUxfVFJFRV9FTkFCTEVEIiwKKyAgICAieG1sUmVjb25jaWxpYXRlTnMiOiAiTElCWE1MX1RSRUVfRU5BQkxFRCIsCisgICAgInhtbFZhbGlkYXRlTkNOYW1lIjogIkxJQlhNTF9UUkVFX0VOQUJMRUQiLAorICAgICJ4bWxWYWxpZGF0ZU5NVG9rZW4iOiAiTElCWE1MX1RSRUVfRU5BQkxFRCIsCisgICAgInhtbFZhbGlkYXRlTmFtZSI6ICJMSUJYTUxfVFJFRV9FTkFCTEVEIiwKKyAgICAieG1sTmV3Q2hpbGQiOiAiTElCWE1MX1RSRUVfRU5BQkxFRCIsCisgICAgInhtbFZhbGlkYXRlUU5hbWUiOiAiTElCWE1MX1RSRUVfRU5BQkxFRCIsCisgICAgInhtbFNwcmludGZFbGVtZW50Q29udGVudCI6ICJMSUJYTUxfT1VUUFVUX0VOQUJMRUQiLAorICAgICJ4bWxWYWxpZEdldFBvdGVudGlhbENoaWxkcmVuIiA6ICJMSUJYTUxfVkFMSURfRU5BQkxFRCIsCisgICAgInhtbFZhbGlkR2V0VmFsaWRFbGVtZW50cyIgOiAiTElCWE1MX1ZBTElEX0VOQUJMRUQiLAorICAgICJkb2NiRGVmYXVsdFNBWEhhbmRsZXJJbml0IiA6ICJMSUJYTUxfRE9DQl9FTkFCTEVEIiwKKyAgICAieG1sVGV4dFJlYWRlclByZXNlcnZlUGF0dGVybiIgOiAiTElCWE1MX1BBVFRFUk5fRU5BQkxFRCIsCit9CisKKyMKKyMgU29tZSBmdW5jdGlvbnMgcmVhbGx5IG5lZWQgdG8gYmUgc2tpcHBlZCBmb3IgdGhlIHRlc3RzLgorIworc2tpcHBlZF9mdW5jdGlvbnMgPSBbCisjIGJsb2NrIG9uIEkvTworInhtbEZkUmVhZCIsICJ4bWxSZWFkRmQiLCAieG1sQ3R4dFJlYWRGZCIsCisiaHRtbEZkUmVhZCIsICJodG1sUmVhZEZkIiwgImh0bWxDdHh0UmVhZEZkIiwKKyJ4bWxSZWFkZXJOZXdGZCIsICJ4bWxSZWFkZXJGb3JGZCIsCisieG1sSU9SZWFkIiwgInhtbFJlYWRJTyIsICJ4bWxDdHh0UmVhZElPIiwKKyJodG1sSU9SZWFkIiwgImh0bWxSZWFkSU8iLCAiaHRtbEN0eHRSZWFkSU8iLAorInhtbFJlYWRlck5ld0lPIiwgInhtbEJ1ZmZlckR1bXAiLCAieG1sTmFub0ZUUENvbm5lY3QiLAorInhtbE5hbm9GVFBDb25uZWN0VG8iLCAieG1sTmFub0hUVFBNZXRob2QiLCAieG1sTmFub0hUVFBNZXRob2RSZWRpciIsCisjIENvbXBsZXggSS9PIEFQSXMKKyJ4bWxDcmVhdGVJT1BhcnNlckN0eHQiLCAieG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVJTyIsCisieG1sUmVnaXN0ZXJJbnB1dENhbGxiYWNrcyIsICJ4bWxSZWFkZXJGb3JJTyIsCisieG1sT3V0cHV0QnVmZmVyQ3JlYXRlSU8iLCAieG1sUmVnaXN0ZXJPdXRwdXRDYWxsYmFja3MiLAorInhtbFNhdmVUb0lPIiwgInhtbElPSFRUUE9wZW5XIiwKKyMgbGlicmFyeSBzdGF0ZSBjbGVhbnVwLCBnZW5lcmF0ZSBmYWxzZSBsZWFrIGluZm9ybWF0aW9ucyBhbmQgb3RoZXIKKyMgdHJvdWJsZXMsIGhlYXZpbGx5YiB0ZXN0ZWQgb3RoZXJ3aXNlLgorInhtbENsZWFudXBQYXJzZXIiLCAieG1sUmVsYXhOR0NsZWFudXBUeXBlcyIsICJ4bWxTZXRMaXN0RG9jIiwKKyJ4bWxTZXRUcmVlRG9jIiwgInhtbFVubGlua05vZGUiLAorIyBoYXJkIHRvIGF2b2lkIGxlYWtzIGluIHRoZSB0ZXN0cworInhtbFN0cmNhdCIsICJ4bWxTdHJuY2F0IiwgInhtbENhdGFsb2dBZGRMb2NhbCIsICJ4bWxOZXdUZXh0V3JpdGVyRG9jIiwKKyJ4bWxYUGF0aE5ld1ZhbHVlVHJlZSIsICJ4bWxYUGF0aFdyYXBTdHJpbmciLAorIyB1bmltcGxlbWVudGVkCisieG1sVGV4dFJlYWRlclJlYWRJbm5lclhtbCIsICJ4bWxUZXh0UmVhZGVyUmVhZE91dGVyWG1sIiwKKyJ4bWxUZXh0UmVhZGVyUmVhZFN0cmluZyIsCisjIGRlc3RydWN0b3IKKyJ4bWxMaXN0RGVsZXRlIiwgInhtbE91dHB1dEJ1ZmZlckNsb3NlIiwgInhtbE5hbm9GVFBDbG9zZSIsICJ4bWxOYW5vSFRUUENsb3NlIiwKKyMgZGVwcmVjYXRlZAorInhtbENhdGFsb2dHZXRQdWJsaWMiLCAieG1sQ2F0YWxvZ0dldFN5c3RlbSIsICJ4bWxFbmNvZGVFbnRpdGllcyIsCisieG1sTmV3R2xvYmFsTnMiLCAieG1sSGFuZGxlRW50aXR5IiwgInhtbE5hbWVzcGFjZVBhcnNlTkNOYW1lIiwKKyJ4bWxOYW1lc3BhY2VQYXJzZU5TRGVmIiwgInhtbE5hbWVzcGFjZVBhcnNlUU5hbWUiLAorInhtbFBhcnNlTmFtZXNwYWNlIiwgInhtbFBhcnNlUXVvdGVkU3RyaW5nIiwgInhtbFBhcnNlckhhbmRsZVJlZmVyZW5jZSIsCisieG1sU2Nhbk5hbWUiLAorInhtbERlY29kZUVudGl0aWVzIiwgCisjIGFsbG9jYXRvcnMKKyJ4bWxNZW1GcmVlIiwKKyMgdmVyYm9zaXR5CisieG1sQ2F0YWxvZ1NldERlYnVnIiwgInhtbFNoZWxsUHJpbnRYUGF0aEVycm9yIiwgInhtbFNoZWxsUHJpbnROb2RlIiwKKyMgSW50ZXJuYWwgZnVuY3Rpb25zLCBubyB1c2VyIHNwYWNlIHNob3VsZCByZWFsbHkgY2FsbCB0aGVtCisieG1sUGFyc2VBdHRyaWJ1dGUiLCAieG1sUGFyc2VBdHRyaWJ1dGVMaXN0RGVjbCIsICJ4bWxQYXJzZU5hbWUiLAorInhtbFBhcnNlTm10b2tlbiIsICJ4bWxQYXJzZUVudGl0eVZhbHVlIiwgInhtbFBhcnNlQXR0VmFsdWUiLAorInhtbFBhcnNlU3lzdGVtTGl0ZXJhbCIsICJ4bWxQYXJzZVB1YmlkTGl0ZXJhbCIsICJ4bWxQYXJzZUNoYXJEYXRhIiwKKyJ4bWxQYXJzZUV4dGVybmFsSUQiLCAieG1sUGFyc2VDb21tZW50IiwgInhtbFBhcnNlUElUYXJnZXQiLCAieG1sUGFyc2VQSSIsCisieG1sUGFyc2VOb3RhdGlvbkRlY2wiLCAieG1sUGFyc2VFbnRpdHlEZWNsIiwgInhtbFBhcnNlRGVmYXVsdERlY2wiLAorInhtbFBhcnNlTm90YXRpb25UeXBlIiwgInhtbFBhcnNlRW51bWVyYXRpb25UeXBlIiwgInhtbFBhcnNlRW51bWVyYXRlZFR5cGUiLAorInhtbFBhcnNlQXR0cmlidXRlVHlwZSIsICJ4bWxQYXJzZUF0dHJpYnV0ZUxpc3REZWNsIiwKKyJ4bWxQYXJzZUVsZW1lbnRNaXhlZENvbnRlbnREZWNsIiwgInhtbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2wiLAorInhtbFBhcnNlRWxlbWVudENvbnRlbnREZWNsIiwgInhtbFBhcnNlRWxlbWVudERlY2wiLCAieG1sUGFyc2VNYXJrdXBEZWNsIiwKKyJ4bWxQYXJzZUNoYXJSZWYiLCAieG1sUGFyc2VFbnRpdHlSZWYiLCAieG1sUGFyc2VSZWZlcmVuY2UiLAorInhtbFBhcnNlUEVSZWZlcmVuY2UiLCAieG1sUGFyc2VEb2NUeXBlRGVjbCIsICJ4bWxQYXJzZUF0dHJpYnV0ZSIsCisieG1sUGFyc2VTdGFydFRhZyIsICJ4bWxQYXJzZUVuZFRhZyIsICJ4bWxQYXJzZUNEU2VjdCIsICJ4bWxQYXJzZUNvbnRlbnQiLAorInhtbFBhcnNlRWxlbWVudCIsICJ4bWxQYXJzZVZlcnNpb25OdW0iLCAieG1sUGFyc2VWZXJzaW9uSW5mbyIsCisieG1sUGFyc2VFbmNOYW1lIiwgInhtbFBhcnNlRW5jb2RpbmdEZWNsIiwgInhtbFBhcnNlU0REZWNsIiwKKyJ4bWxQYXJzZVhNTERlY2wiLCAieG1sUGFyc2VUZXh0RGVjbCIsICJ4bWxQYXJzZU1pc2MiLAorInhtbFBhcnNlRXh0ZXJuYWxTdWJzZXQiLCAieG1sUGFyc2VySGFuZGxlUEVSZWZlcmVuY2UiLAorInhtbFNraXBCbGFua0NoYXJzIiwKK10KKworIworIyBUaGVzZSBmdW5jdGlvbnMgaGF2ZSBzaWRlIGVmZmVjdHMgb24gdGhlIGdsb2JhbCBzdGF0ZQorIyBhbmQgaGVuY2UgZ2VuZXJhdGUgZXJyb3JzIG9uIG1lbW9yeSBhbGxvY2F0aW9uIHRlc3RzCisjCitza2lwcGVkX21lbWNoZWNrID0gWyAieG1sTG9hZENhdGFsb2ciLCAieG1sQWRkRW5jb2RpbmdBbGlhcyIsCisgICAieG1sU2NoZW1hSW5pdFR5cGVzIiwgInhtbE5hbm9GVFBQcm94eSIsICJ4bWxOYW5vRlRQU2NhblByb3h5IiwKKyAgICJ4bWxOYW5vSFRUUFNjYW5Qcm94eSIsICJ4bWxSZXNldExhc3RFcnJvciIsICJ4bWxDYXRhbG9nQ29udmVydCIsCisgICAieG1sQ2F0YWxvZ1JlbW92ZSIsICJ4bWxMb2FkQ2F0YWxvZ3MiLCAieG1sQ2xlYW51cENoYXJFbmNvZGluZ0hhbmRsZXJzIiwKKyAgICJ4bWxJbml0Q2hhckVuY29kaW5nSGFuZGxlcnMiLCAieG1sQ2F0YWxvZ0NsZWFudXAiLAorICAgInhtbFNjaGVtYUdldEJ1aWx0SW5UeXBlIiwKKyAgICJodG1sUGFyc2VGaWxlIiwgImh0bWxDdHh0UmVhZEZpbGUiLCAjIGxvYWRzIHRoZSBjYXRhbG9ncworICAgInhtbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZSIsICJ4bWxTY2hlbWFDbGVhbnVwVHlwZXMiLCAjIGluaXRpYWxpemUgdGhlIHNjaGVtYXMgdHlwZSBzeXN0ZW0KKyAgICJ4bWxDYXRhbG9nUmVzb2x2ZSIsICJ4bWxJT1BhcnNlRFREIiAjIGxvYWRzIHRoZSBjYXRhbG9ncworXQorCisjCisjIEV4dHJhIGNvZGUgbmVlZGVkIGZvciBzb21lIHRlc3QgY2FzZXMKKyMKK2V4dHJhX3ByZV9jYWxsID0geworICAgInhtbFNBWFVzZXJQYXJzZUZpbGUiOiAiIiIKKyNpZmRlZiBMSUJYTUxfU0FYMV9FTkFCTEVECisgICAgICAgIGlmIChzYXggPT0gKHhtbFNBWEhhbmRsZXJQdHIpJnhtbERlZmF1bHRTQVhIYW5kbGVyKSB1c2VyX2RhdGEgPSBOVUxMOworI2VuZGlmCisiIiIsCisgICAieG1sU0FYVXNlclBhcnNlTWVtb3J5IjogIiIiCisjaWZkZWYgTElCWE1MX1NBWDFfRU5BQkxFRAorICAgICAgICBpZiAoc2F4ID09ICh4bWxTQVhIYW5kbGVyUHRyKSZ4bWxEZWZhdWx0U0FYSGFuZGxlcikgdXNlcl9kYXRhID0gTlVMTDsKKyNlbmRpZgorIiIiLAorICAgInhtbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeSI6ICIiIgorI2lmZGVmIExJQlhNTF9TQVgxX0VOQUJMRUQKKyAgICAgICAgaWYgKHNheCA9PSAoeG1sU0FYSGFuZGxlclB0cikmeG1sRGVmYXVsdFNBWEhhbmRsZXIpIHVzZXJfZGF0YSA9IE5VTEw7CisjZW5kaWYKKyIiIiwKKyAgICJ4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlSZWNvdmVyIjogIiIiCisjaWZkZWYgTElCWE1MX1NBWDFfRU5BQkxFRAorICAgICAgICBpZiAoc2F4ID09ICh4bWxTQVhIYW5kbGVyUHRyKSZ4bWxEZWZhdWx0U0FYSGFuZGxlcikgdXNlcl9kYXRhID0gTlVMTDsKKyNlbmRpZgorIiIiLAorICAgInhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmQiOgorICAgICAgICJpZiAoZmQgPj0gMCkgZmQgPSAtMTsiLAorfQorZXh0cmFfcG9zdF9jYWxsID0geworICAgInhtbEFkZENoaWxkIjogCisgICAgICAgImlmIChyZXRfdmFsID09IE5VTEwpIHsgeG1sRnJlZU5vZGUoY3VyKSA7IGN1ciA9IE5VTEwgOyB9IiwKKyAgICJ4bWxBZGRFbnRpdHkiOgorICAgICAgICJpZiAocmV0X3ZhbCAhPSBOVUxMKSB7IHhtbEZyZWVOb2RlKHJldF92YWwpIDsgcmV0X3ZhbCA9IE5VTEw7IH0iLAorICAgInhtbEFkZENoaWxkTGlzdCI6IAorICAgICAgICJpZiAocmV0X3ZhbCA9PSBOVUxMKSB7IHhtbEZyZWVOb2RlTGlzdChjdXIpIDsgY3VyID0gTlVMTCA7IH0iLAorICAgInhtbEFkZFNpYmxpbmciOgorICAgICAgICJpZiAocmV0X3ZhbCA9PSBOVUxMKSB7IHhtbEZyZWVOb2RlKGVsZW0pIDsgZWxlbSA9IE5VTEwgOyB9IiwKKyAgICJ4bWxBZGROZXh0U2libGluZyI6CisgICAgICAgImlmIChyZXRfdmFsID09IE5VTEwpIHsgeG1sRnJlZU5vZGUoZWxlbSkgOyBlbGVtID0gTlVMTCA7IH0iLAorICAgInhtbEFkZFByZXZTaWJsaW5nIjogCisgICAgICAgImlmIChyZXRfdmFsID09IE5VTEwpIHsgeG1sRnJlZU5vZGUoZWxlbSkgOyBlbGVtID0gTlVMTCA7IH0iLAorICAgInhtbERvY1NldFJvb3RFbGVtZW50IjogCisgICAgICAgImlmIChkb2MgPT0gTlVMTCkgeyB4bWxGcmVlTm9kZShyb290KSA7IHJvb3QgPSBOVUxMIDsgfSIsCisgICAieG1sUmVwbGFjZU5vZGUiOiAKKyAgICAgICAiIiJpZiAoY3VyICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgeG1sVW5saW5rTm9kZShjdXIpOworICAgICAgICAgICAgICB4bWxGcmVlTm9kZShjdXIpIDsgY3VyID0gTlVMTCA7IH0KKyAgICAgICAgICBpZiAob2xkICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgeG1sVW5saW5rTm9kZShvbGQpOworICAgICAgICAgICAgICB4bWxGcmVlTm9kZShvbGQpIDsgb2xkID0gTlVMTCA7IH0KKwkgIHJldF92YWwgPSBOVUxMOyIiIiwKKyAgICJ4bWxUZXh0TWVyZ2UiOiAKKyAgICAgICAiIiJpZiAoKGZpcnN0ICE9IE5VTEwpICYmIChmaXJzdC0+dHlwZSAhPSBYTUxfVEVYVF9OT0RFKSkgeworICAgICAgICAgICAgICB4bWxVbmxpbmtOb2RlKHNlY29uZCk7CisgICAgICAgICAgICAgIHhtbEZyZWVOb2RlKHNlY29uZCkgOyBzZWNvbmQgPSBOVUxMIDsgfSIiIiwKKyAgICJ4bWxCdWlsZFFOYW1lIjogCisgICAgICAgIiIiaWYgKChyZXRfdmFsICE9IE5VTEwpICYmIChyZXRfdmFsICE9IG5jbmFtZSkgJiYKKyAgICAgICAgICAgICAgKHJldF92YWwgIT0gcHJlZml4KSAmJiAocmV0X3ZhbCAhPSBtZW1vcnkpKQorICAgICAgICAgICAgICB4bWxGcmVlKHJldF92YWwpOworCSAgcmV0X3ZhbCA9IE5VTEw7IiIiLAorICAgInhtbE5ld0RvY0VsZW1lbnRDb250ZW50IjoKKyAgICAgICAiIiJ4bWxGcmVlRG9jRWxlbWVudENvbnRlbnQoZG9jLCByZXRfdmFsKTsgcmV0X3ZhbCA9IE5VTEw7IiIiLAorICAgInhtbERpY3RSZWZlcmVuY2UiOiAieG1sRGljdEZyZWUoZGljdCk7IiwKKyAgICMgRnVuY3Rpb25zIHdoaWNoIGRlYWxsb2NhdGVzIG9uZSBvZiB0aGVpciBwYXJhbWV0ZXJzCisgICAieG1sWFBhdGhDb252ZXJ0Qm9vbGVhbiI6ICIiInZhbCA9IE5VTEw7IiIiLAorICAgInhtbFhQYXRoQ29udmVydE51bWJlciI6ICIiInZhbCA9IE5VTEw7IiIiLAorICAgInhtbFhQYXRoQ29udmVydFN0cmluZyI6ICIiInZhbCA9IE5VTEw7IiIiLAorICAgInhtbFNhdmVGaWxlVG8iOiAiIiJidWYgPSBOVUxMOyIiIiwKKyAgICJ4bWxTYXZlRm9ybWF0RmlsZVRvIjogIiIiYnVmID0gTlVMTDsiIiIsCisgICAieG1sSU9QYXJzZURURCI6ICJpbnB1dCA9IE5VTEw7IiwKKyAgICJ4bWxSZW1vdmVQcm9wIjogImN1ciA9IE5VTEw7IiwKKyAgICJ4bWxOZXdOcyI6ICJpZiAoKG5vZGUgPT0gTlVMTCkgJiYgKHJldF92YWwgIT0gTlVMTCkpIHhtbEZyZWVOcyhyZXRfdmFsKTsiLAorICAgInhtbENvcHlOYW1lc3BhY2UiOiAiaWYgKHJldF92YWwgIT0gTlVMTCkgeG1sRnJlZU5zKHJldF92YWwpOyIsCisgICAieG1sQ29weU5hbWVzcGFjZUxpc3QiOiAiaWYgKHJldF92YWwgIT0gTlVMTCkgeG1sRnJlZU5zTGlzdChyZXRfdmFsKTsiLAorICAgInhtbE5ld1RleHRXcml0ZXIiOiAiaWYgKHJldF92YWwgIT0gTlVMTCkgb3V0ID0gTlVMTDsiLAorICAgInhtbE5ld1RleHRXcml0ZXJQdXNoUGFyc2VyIjogImlmIChjdHh0ICE9IE5VTEwpIHt4bWxGcmVlRG9jKGN0eHQtPm15RG9jKTsgY3R4dC0+bXlEb2MgPSBOVUxMO30gaWYgKHJldF92YWwgIT0gTlVMTCkgY3R4dCA9IE5VTEw7IiwKKyAgICJ4bWxOZXdJT0lucHV0U3RyZWFtIjogImlmIChyZXRfdmFsICE9IE5VTEwpIGlucHV0ID0gTlVMTDsiLAorICAgImh0bWxQYXJzZUNodW5rIjogImlmIChjdHh0ICE9IE5VTEwpIHt4bWxGcmVlRG9jKGN0eHQtPm15RG9jKTsgY3R4dC0+bXlEb2MgPSBOVUxMO30iLAorICAgImh0bWxQYXJzZURvY3VtZW50IjogImlmIChjdHh0ICE9IE5VTEwpIHt4bWxGcmVlRG9jKGN0eHQtPm15RG9jKTsgY3R4dC0+bXlEb2MgPSBOVUxMO30iLAorICAgInhtbFBhcnNlRG9jdW1lbnQiOiAiaWYgKGN0eHQgIT0gTlVMTCkge3htbEZyZWVEb2MoY3R4dC0+bXlEb2MpOyBjdHh0LT5teURvYyA9IE5VTEw7fSIsCisgICAieG1sUGFyc2VDaHVuayI6ICJpZiAoY3R4dCAhPSBOVUxMKSB7eG1sRnJlZURvYyhjdHh0LT5teURvYyk7IGN0eHQtPm15RG9jID0gTlVMTDt9IiwKKyAgICJ4bWxQYXJzZUV4dFBhcnNlZEVudCI6ICJpZiAoY3R4dCAhPSBOVUxMKSB7eG1sRnJlZURvYyhjdHh0LT5teURvYyk7IGN0eHQtPm15RG9jID0gTlVMTDt9IiwKKyAgICJ4bWxET01XcmFwQWRvcHROb2RlIjogImlmICgobm9kZSAhPSBOVUxMKSAmJiAobm9kZS0+cGFyZW50ID09IE5VTEwpKSB7eG1sVW5saW5rTm9kZShub2RlKTt4bWxGcmVlTm9kZShub2RlKTtub2RlID0gTlVMTDt9IiwKKyAgICJ4bWxCdWZmZXJTZXRBbGxvY2F0aW9uU2NoZW1lIjogImlmICgoYnVmICE9IE5VTEwpICYmIChzY2hlbWUgPT0gWE1MX0JVRkZFUl9BTExPQ19JTU1VVEFCTEUpICYmIChidWYtPmNvbnRlbnQgIT0gTlVMTCkgJiYgKGJ1Zi0+Y29udGVudCAhPSBzdGF0aWNfYnVmX2NvbnRlbnQpKSB7IHhtbEZyZWUoYnVmLT5jb250ZW50KTsgYnVmLT5jb250ZW50ID0gTlVMTDt9IgorfQorCittb2R1bGVzID0gW10KKworZGVmIGlzX3NraXBwZWRfbW9kdWxlKG5hbWUpOgorICAgIGZvciBtb2QgaW4gc2tpcHBlZF9tb2R1bGVzOgorICAgICAgICBpZiBtb2QgPT0gbmFtZToKKwkgICAgcmV0dXJuIDEKKyAgICByZXR1cm4gMAorCitkZWYgaXNfc2tpcHBlZF9mdW5jdGlvbihuYW1lKToKKyAgICBmb3IgZnVuIGluIHNraXBwZWRfZnVuY3Rpb25zOgorICAgICAgICBpZiBmdW4gPT0gbmFtZToKKwkgICAgcmV0dXJuIDEKKyAgICAjIERvIG5vdCB0ZXN0IGRlc3RydWN0b3JzCisgICAgaWYgc3RyaW5nLmZpbmQobmFtZSwgJ0ZyZWUnKSAhPSAtMToKKyAgICAgICAgcmV0dXJuIDEKKyAgICByZXR1cm4gMAorCitkZWYgaXNfc2tpcHBlZF9tZW1jaGVjayhuYW1lKToKKyAgICBmb3IgZnVuIGluIHNraXBwZWRfbWVtY2hlY2s6CisgICAgICAgIGlmIGZ1biA9PSBuYW1lOgorCSAgICByZXR1cm4gMQorICAgIHJldHVybiAwCisKK21pc3NpbmdfdHlwZXMgPSB7fQorZGVmIGFkZF9taXNzaW5nX3R5cGUobmFtZSwgZnVuYyk6CisgICAgdHJ5OgorICAgICAgICBsaXN0ID0gbWlzc2luZ190eXBlc1tuYW1lXQorCWxpc3QuYXBwZW5kKGZ1bmMpCisgICAgZXhjZXB0OgorICAgICAgICBtaXNzaW5nX3R5cGVzW25hbWVdID0gW2Z1bmNdCisKK2dlbmVyYXRlZF9wYXJhbV90eXBlcyA9IFtdCitkZWYgYWRkX2dlbmVyYXRlZF9wYXJhbV90eXBlKG5hbWUpOgorICAgIGdlbmVyYXRlZF9wYXJhbV90eXBlcy5hcHBlbmQobmFtZSkKKworZ2VuZXJhdGVkX3JldHVybl90eXBlcyA9IFtdCitkZWYgYWRkX2dlbmVyYXRlZF9yZXR1cm5fdHlwZShuYW1lKToKKyAgICBnZW5lcmF0ZWRfcmV0dXJuX3R5cGVzLmFwcGVuZChuYW1lKQorCittaXNzaW5nX2Z1bmN0aW9ucyA9IHt9CittaXNzaW5nX2Z1bmN0aW9uc19uciA9IDAKK2RlZiBhZGRfbWlzc2luZ19mdW5jdGlvbnMobmFtZSwgbW9kdWxlKToKKyAgICBnbG9iYWwgbWlzc2luZ19mdW5jdGlvbnNfbnIKKworICAgIG1pc3NpbmdfZnVuY3Rpb25zX25yID0gbWlzc2luZ19mdW5jdGlvbnNfbnIgKyAxCisgICAgdHJ5OgorICAgICAgICBsaXN0ID0gbWlzc2luZ19mdW5jdGlvbnNbbW9kdWxlXQorCWxpc3QuYXBwZW5kKG5hbWUpCisgICAgZXhjZXB0OgorICAgICAgICBtaXNzaW5nX2Z1bmN0aW9uc1ttb2R1bGVdID0gW25hbWVdCisKKyMKKyMgUHJvdmlkZSB0aGUgdHlwZSBnZW5lcmF0b3JzIGFuZCBkZXN0cnVjdG9ycyBmb3IgdGhlIHBhcmFtZXRlcnMKKyMKKworZGVmIHR5cGVfY29udmVydChzdHIsIG5hbWUsIGluZm8sIG1vZHVsZSwgZnVuY3Rpb24sIHBvcyk6CisjICAgIHJlcyA9IHN0cmluZy5yZXBsYWNlKHN0ciwgIiAgICAiLCAiICIpCisjICAgIHJlcyA9IHN0cmluZy5yZXBsYWNlKHN0ciwgIiAgICIsICIgIikKKyMgICAgcmVzID0gc3RyaW5nLnJlcGxhY2Uoc3RyLCAiICAiLCAiICIpCisgICAgcmVzID0gc3RyaW5nLnJlcGxhY2Uoc3RyLCAiICoiLCAiX3B0ciIpCisjICAgIHJlcyA9IHN0cmluZy5yZXBsYWNlKHN0ciwgIioiLCAiX3B0ciIpCisgICAgcmVzID0gc3RyaW5nLnJlcGxhY2UocmVzLCAiICIsICJfIikKKyAgICBpZiByZXMgPT0gJ2NvbnN0X2NoYXJfcHRyJzoKKyAgICAgICAgaWYgc3RyaW5nLmZpbmQobmFtZSwgImZpbGUiKSAhPSAtMSBvciBcCisgICAgICAgICAgIHN0cmluZy5maW5kKG5hbWUsICJ1cmkiKSAhPSAtMSBvciBcCisgICAgICAgICAgIHN0cmluZy5maW5kKG5hbWUsICJVUkkiKSAhPSAtMSBvciBcCisgICAgICAgICAgIHN0cmluZy5maW5kKGluZm8sICJmaWxlbmFtZSIpICE9IC0xIG9yIFwKKyAgICAgICAgICAgc3RyaW5nLmZpbmQoaW5mbywgIlVSSSIpICE9IC0xIG9yIFwKKyAgICAgICAgICAgc3RyaW5nLmZpbmQoaW5mbywgIlVSTCIpICE9IC0xOgorCSAgICBpZiBzdHJpbmcuZmluZChmdW5jdGlvbiwgIlNhdmUiKSAhPSAtMSBvciBcCisJICAgICAgIHN0cmluZy5maW5kKGZ1bmN0aW9uLCAiQ3JlYXRlIikgIT0gLTEgb3IgXAorCSAgICAgICBzdHJpbmcuZmluZChmdW5jdGlvbiwgIldyaXRlIikgIT0gLTEgb3IgXAorCSAgICAgICBzdHJpbmcuZmluZChmdW5jdGlvbiwgIkZldGNoIikgIT0gLTE6CisJICAgICAgICByZXR1cm4oJ2ZpbGVvdXRwdXQnKQorCSAgICByZXR1cm4oJ2ZpbGVwYXRoJykKKyAgICBpZiByZXMgPT0gJ3ZvaWRfcHRyJzoKKyAgICAgICAgaWYgbW9kdWxlID09ICduYW5vZnRwJyBhbmQgbmFtZSA9PSAnY3R4JzoKKwkgICAgcmV0dXJuKCd4bWxOYW5vRlRQQ3R4dFB0cicpCisgICAgICAgIGlmIGZ1bmN0aW9uID09ICd4bWxOYW5vRlRQTmV3Q3R4dCcgb3IgXAorCSAgIGZ1bmN0aW9uID09ICd4bWxOYW5vRlRQQ29ubmVjdFRvJyBvciBcCisJICAgZnVuY3Rpb24gPT0gJ3htbE5hbm9GVFBPcGVuJzoKKwkgICAgcmV0dXJuKCd4bWxOYW5vRlRQQ3R4dFB0cicpCisgICAgICAgIGlmIG1vZHVsZSA9PSAnbmFub2h0dHAnIGFuZCBuYW1lID09ICdjdHgnOgorCSAgICByZXR1cm4oJ3htbE5hbm9IVFRQQ3R4dFB0cicpCisJaWYgZnVuY3Rpb24gPT0gJ3htbE5hbm9IVFRQTWV0aG9kJyBvciBcCisJICAgZnVuY3Rpb24gPT0gJ3htbE5hbm9IVFRQTWV0aG9kUmVkaXInIG9yIFwKKwkgICBmdW5jdGlvbiA9PSAneG1sTmFub0hUVFBPcGVuJyBvciBcCisJICAgZnVuY3Rpb24gPT0gJ3htbE5hbm9IVFRQT3BlblJlZGlyJzoKKwkgICAgcmV0dXJuKCd4bWxOYW5vSFRUUEN0eHRQdHInKTsKKyAgICAgICAgaWYgZnVuY3Rpb24gPT0gJ3htbElPSFRUUE9wZW4nOgorCSAgICByZXR1cm4oJ3htbE5hbm9IVFRQQ3R4dFB0cicpCisJaWYgc3RyaW5nLmZpbmQobmFtZSwgImRhdGEiKSAhPSAtMToKKwkgICAgcmV0dXJuKCd1c2VyZGF0YScpCisJaWYgc3RyaW5nLmZpbmQobmFtZSwgInVzZXIiKSAhPSAtMToKKwkgICAgcmV0dXJuKCd1c2VyZGF0YScpCisgICAgaWYgcmVzID09ICd4bWxEb2NfcHRyJzoKKyAgICAgICAgcmVzID0gJ3htbERvY1B0cicKKyAgICBpZiByZXMgPT0gJ3htbE5vZGVfcHRyJzoKKyAgICAgICAgcmVzID0gJ3htbE5vZGVQdHInCisgICAgaWYgcmVzID09ICd4bWxEaWN0X3B0cic6CisgICAgICAgIHJlcyA9ICd4bWxEaWN0UHRyJworICAgIGlmIHJlcyA9PSAneG1sTm9kZVB0cicgYW5kIHBvcyAhPSAwOgorICAgICAgICBpZiAoZnVuY3Rpb24gPT0gJ3htbEFkZENoaWxkJyBhbmQgcG9zID09IDIpIG9yIFwKKwkgICAoZnVuY3Rpb24gPT0gJ3htbEFkZENoaWxkTGlzdCcgYW5kIHBvcyA9PSAyKSBvciBcCisgICAgICAgICAgIChmdW5jdGlvbiA9PSAneG1sQWRkTmV4dFNpYmxpbmcnIGFuZCBwb3MgPT0gMikgb3IgXAorICAgICAgICAgICAoZnVuY3Rpb24gPT0gJ3htbEFkZFNpYmxpbmcnIGFuZCBwb3MgPT0gMikgb3IgXAorICAgICAgICAgICAoZnVuY3Rpb24gPT0gJ3htbERvY1NldFJvb3RFbGVtZW50JyBhbmQgcG9zID09IDIpIG9yIFwKKyAgICAgICAgICAgKGZ1bmN0aW9uID09ICd4bWxSZXBsYWNlTm9kZScgYW5kIHBvcyA9PSAyKSBvciBcCisgICAgICAgICAgIChmdW5jdGlvbiA9PSAneG1sVGV4dE1lcmdlJykgb3IgXAorCSAgIChmdW5jdGlvbiA9PSAneG1sQWRkUHJldlNpYmxpbmcnIGFuZCBwb3MgPT0gMik6CisJICAgIHJldHVybigneG1sTm9kZVB0cl9pbicpOworICAgIGlmIHJlcyA9PSAnY29uc3QgeG1sQnVmZmVyUHRyJzoKKyAgICAgICAgcmVzID0gJ3htbEJ1ZmZlclB0cicKKyAgICBpZiByZXMgPT0gJ3htbENoYXJfcHRyJyBhbmQgbmFtZSA9PSAnbmFtZScgYW5kIFwKKyAgICAgICBzdHJpbmcuZmluZChmdW5jdGlvbiwgIkVhdE5hbWUiKSAhPSAtMToKKyAgICAgICAgcmV0dXJuKCdlYXRlbl9uYW1lJykKKyAgICBpZiByZXMgPT0gJ3ZvaWRfcHRyKic6CisgICAgICAgIHJlcyA9ICd2b2lkX3B0cl9wdHInCisgICAgaWYgcmVzID09ICdjaGFyX3B0cionOgorICAgICAgICByZXMgPSAnY2hhcl9wdHJfcHRyJworICAgIGlmIHJlcyA9PSAneG1sQ2hhcl9wdHIqJzoKKyAgICAgICAgcmVzID0gJ3htbENoYXJfcHRyX3B0cicKKyAgICBpZiByZXMgPT0gJ2NvbnN0X3htbENoYXJfcHRyKic6CisgICAgICAgIHJlcyA9ICdjb25zdF94bWxDaGFyX3B0cl9wdHInCisgICAgaWYgcmVzID09ICdjb25zdF9jaGFyX3B0cionOgorICAgICAgICByZXMgPSAnY29uc3RfY2hhcl9wdHJfcHRyJworICAgIGlmIHJlcyA9PSAnRklMRV9wdHInIGFuZCBtb2R1bGUgPT0gJ2RlYnVnWE1MJzoKKyAgICAgICAgcmVzID0gJ2RlYnVnX0ZJTEVfcHRyJzsKKyAgICBpZiByZXMgPT0gJ2ludCcgYW5kIG5hbWUgPT0gJ29wdGlvbnMnOgorICAgICAgICBpZiBtb2R1bGUgPT0gJ3BhcnNlcicgb3IgbW9kdWxlID09ICd4bWxyZWFkZXInOgorCSAgICByZXMgPSAncGFyc2Vyb3B0aW9ucycKKworICAgIHJldHVybiByZXMKKwora25vd25fcGFyYW1fdHlwZXMgPSBbXQorCitkZWYgaXNfa25vd25fcGFyYW1fdHlwZShuYW1lLCBydHlwZSk6CisgICAgZ2xvYmFsIHRlc3QKKyAgICBmb3IgdHlwZSBpbiBrbm93bl9wYXJhbV90eXBlczoKKyAgICAgICAgaWYgdHlwZSA9PSBuYW1lOgorCSAgICByZXR1cm4gMQorICAgIGZvciB0eXBlIGluIGdlbmVyYXRlZF9wYXJhbV90eXBlczoKKyAgICAgICAgaWYgdHlwZSA9PSBuYW1lOgorCSAgICByZXR1cm4gMQorCisgICAgaWYgbmFtZVstMzpdID09ICdQdHInIG9yIG5hbWVbLTQ6XSA9PSAnX3B0cic6CisgICAgICAgIGlmIHJ0eXBlWzA6Nl0gPT0gJ2NvbnN0ICc6CisJICAgIGNydHlwZSA9IHJ0eXBlWzY6XQorCWVsc2U6CisJICAgIGNydHlwZSA9IHJ0eXBlCisKKyAgICAgICAgZGVmaW5lID0gMAorCWlmIG1vZHVsZXNfZGVmaW5lcy5oYXNfa2V5KG1vZHVsZSk6CisJICAgIHRlc3Qud3JpdGUoIiNpZmRlZiAlc1xuIiAlIChtb2R1bGVzX2RlZmluZXNbbW9kdWxlXSkpCisJICAgIGRlZmluZSA9IDEKKyAgICAgICAgdGVzdC53cml0ZSgiIiIKKyNkZWZpbmUgZ2VuX25iXyVzIDEKK3N0YXRpYyAlcyBnZW5fJXMoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgcmV0dXJuKE5VTEwpOworfQorc3RhdGljIHZvaWQgZGVzXyVzKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCAlcyB2YWwgQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKK30KKyIiIiAlIChuYW1lLCBjcnR5cGUsIG5hbWUsIG5hbWUsIHJ0eXBlKSkKKyAgICAgICAgaWYgZGVmaW5lID09IDE6CisJICAgIHRlc3Qud3JpdGUoIiNlbmRpZlxuXG4iKQorICAgICAgICBhZGRfZ2VuZXJhdGVkX3BhcmFtX3R5cGUobmFtZSkKKyAgICAgICAgcmV0dXJuIDEKKworICAgIHJldHVybiAwCisKKyMKKyMgUHJvdmlkZSB0aGUgdHlwZSBkZXN0cnVjdG9ycyBmb3IgdGhlIHJldHVybiB2YWx1ZXMKKyMKKwora25vd25fcmV0dXJuX3R5cGVzID0gW10KKworZGVmIGlzX2tub3duX3JldHVybl90eXBlKG5hbWUpOgorICAgIGZvciB0eXBlIGluIGtub3duX3JldHVybl90eXBlczoKKyAgICAgICAgaWYgdHlwZSA9PSBuYW1lOgorCSAgICByZXR1cm4gMQorICAgIHJldHVybiAwCisKKyMKKyMgQ29weSB0aGUgYmVnaW5uaW5nIG9mIHRoZSBDIHRlc3QgcHJvZ3JhbSByZXN1bHQKKyMKKwordHJ5OgorICAgIGlucHV0ID0gb3BlbigidGVzdGFwaS5jIiwgInIiKQorZXhjZXB0OgorICAgIGlucHV0ID0gb3BlbihzcmNQcmVmICsgInRlc3RhcGkuYyIsICJyIikKK3Rlc3QgPSBvcGVuKCd0ZXN0YXBpLmMubmV3JywgJ3cnKQorCitkZWYgY29tcGFyZV9hbmRfc2F2ZSgpOgorICAgIGdsb2JhbCB0ZXN0CisKKyAgICB0ZXN0LmNsb3NlKCkKKyAgICB0cnk6CisgICAgICAgIGlucHV0ID0gb3BlbigidGVzdGFwaS5jIiwgInIiKS5yZWFkKCkKKyAgICBleGNlcHQ6CisgICAgICAgIGlucHV0ID0gJycKKyAgICB0ZXN0ID0gb3BlbigndGVzdGFwaS5jLm5ldycsICJyIikucmVhZCgpCisgICAgaWYgaW5wdXQgIT0gdGVzdDoKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgb3Muc3lzdGVtKCJybSB0ZXN0YXBpLmM7IG12IHRlc3RhcGkuYy5uZXcgdGVzdGFwaS5jIikKKyAgICAgICAgZXhjZXB0OgorCSAgICBvcy5zeXN0ZW0oIm12IHRlc3RhcGkuYy5uZXcgdGVzdGFwaS5jIikKKyAgICAgICAgcHJpbnQoIlVwZGF0ZWQgdGVzdGFwaS5jIikKKyAgICBlbHNlOgorICAgICAgICBwcmludCgiR2VuZXJhdGVkIHRlc3RhcGkuYyBpcyBpZGVudGljYWwiKQorCitsaW5lID0gaW5wdXQucmVhZGxpbmUoKQord2hpbGUgbGluZSAhPSAiIjoKKyAgICBpZiBsaW5lID09ICIvKiBDVVQgSEVSRTogZXZlcnl0aGluZyBiZWxvdyB0aGF0IGxpbmUgaXMgZ2VuZXJhdGVkICovXG4iOgorICAgICAgICBicmVhazsKKyAgICBpZiBsaW5lWzA6MTVdID09ICIjZGVmaW5lIGdlbl9uYl8iOgorICAgICAgICB0eXBlID0gc3RyaW5nLnNwbGl0KGxpbmVbMTU6XSlbMF0KKwlrbm93bl9wYXJhbV90eXBlcy5hcHBlbmQodHlwZSkKKyAgICBpZiBsaW5lWzA6MTldID09ICJzdGF0aWMgdm9pZCBkZXNyZXRfIjoKKyAgICAgICAgdHlwZSA9IHN0cmluZy5zcGxpdChsaW5lWzE5Ol0sICcoJylbMF0KKwlrbm93bl9yZXR1cm5fdHlwZXMuYXBwZW5kKHR5cGUpCisgICAgdGVzdC53cml0ZShsaW5lKQorICAgIGxpbmUgPSBpbnB1dC5yZWFkbGluZSgpCitpbnB1dC5jbG9zZSgpCisKK2lmIGxpbmUgPT0gIiI6CisgICAgcHJpbnQgIkNvdWxkIG5vdCBmaW5kIHRoZSBDVVQgbWFya2VyIGluIHRlc3RhcGkuYyBza2lwcGluZyBnZW5lcmF0aW9uIgorICAgIHRlc3QuY2xvc2UoKQorICAgIHN5cy5leGl0KDApCisKK3ByaW50KCJTY2FubmVkIHRlc3RhcGkuYzogZm91bmQgJWQgcGFyYW1ldGVycyB0eXBlcyBhbmQgJWQgcmV0dXJuIHR5cGVzXG4iICUgKAorICAgICAgbGVuKGtub3duX3BhcmFtX3R5cGVzKSwgbGVuKGtub3duX3JldHVybl90eXBlcykpKQordGVzdC53cml0ZSgiLyogQ1VUIEhFUkU6IGV2ZXJ5dGhpbmcgYmVsb3cgdGhhdCBsaW5lIGlzIGdlbmVyYXRlZCAqL1xuIikKKworCisjCisjIE9wZW4gdGhlIGlucHV0IEFQSSBkZXNjcmlwdGlvbgorIworZG9jID0gbGlieG1sMi5yZWFkRmlsZShzcmNQcmVmICsgJ2RvYy9saWJ4bWwyLWFwaS54bWwnLCBOb25lLCAwKQoraWYgZG9jID09IE5vbmU6CisgICAgcHJpbnQgIkZhaWxlZCB0byBsb2FkIGRvYy9saWJ4bWwyLWFwaS54bWwiCisgICAgc3lzLmV4aXQoMSkKK2N0eHQgPSBkb2MueHBhdGhOZXdDb250ZXh0KCkKKworIworIyBHZW5lcmF0ZSBhIGxpc3Qgb2YgYWxsIGZ1bmN0aW9uIHBhcmFtZXRlcnMgYW5kIHNlbGVjdCBvbmx5CisjIHRob3NlIHVzZWQgaW4gdGhlIGFwaSB0ZXN0cworIworYXJndHlwZXMgPSB7fQorYXJncyA9IGN0eHQueHBhdGhFdmFsKCIvYXBpL3N5bWJvbHMvZnVuY3Rpb24vYXJnIikKK2ZvciBhcmcgaW4gYXJnczoKKyAgICBtb2QgPSBhcmcueHBhdGhFdmFsKCdzdHJpbmcoLi4vQGZpbGUpJykKKyAgICBmdW5jID0gYXJnLnhwYXRoRXZhbCgnc3RyaW5nKC4uL0BuYW1lKScpCisgICAgaWYgKG1vZCBub3QgaW4gc2tpcHBlZF9tb2R1bGVzKSBhbmQgKGZ1bmMgbm90IGluIHNraXBwZWRfZnVuY3Rpb25zKToKKwl0eXBlID0gYXJnLnhwYXRoRXZhbCgnc3RyaW5nKEB0eXBlKScpCisJaWYgbm90IGFyZ3R5cGVzLmhhc19rZXkodHlwZSk6CisJICAgIGFyZ3R5cGVzW3R5cGVdID0gZnVuYworCisjIHNpbWlsYXJseSBmb3IgcmV0dXJuIHR5cGVzCityZXR0eXBlcyA9IHt9CityZXRzID0gY3R4dC54cGF0aEV2YWwoIi9hcGkvc3ltYm9scy9mdW5jdGlvbi9yZXR1cm4iKQorZm9yIHJldCBpbiByZXRzOgorICAgIG1vZCA9IHJldC54cGF0aEV2YWwoJ3N0cmluZyguLi9AZmlsZSknKQorICAgIGZ1bmMgPSByZXQueHBhdGhFdmFsKCdzdHJpbmcoLi4vQG5hbWUpJykKKyAgICBpZiAobW9kIG5vdCBpbiBza2lwcGVkX21vZHVsZXMpIGFuZCAoZnVuYyBub3QgaW4gc2tpcHBlZF9mdW5jdGlvbnMpOgorICAgICAgICB0eXBlID0gcmV0LnhwYXRoRXZhbCgnc3RyaW5nKEB0eXBlKScpCisJaWYgbm90IHJldHR5cGVzLmhhc19rZXkodHlwZSk6CisJICAgIHJldHR5cGVzW3R5cGVdID0gZnVuYworCisjCisjIEdlbmVyYXRlIGNvbnN0cnVjdG9ycyBhbmQgcmV0dXJuIHR5cGUgaGFuZGxpbmcgZm9yIGFsbCBlbnVtcworIyB3aGljaCBhcmUgdXNlZCBhcyBmdW5jdGlvbiBwYXJhbWV0ZXJzCisjCitlbnVtcyA9IGN0eHQueHBhdGhFdmFsKCIvYXBpL3N5bWJvbHMvdHlwZWRlZltAdHlwZT0nZW51bSddIikKK2ZvciBlbnVtIGluIGVudW1zOgorICAgIG1vZHVsZSA9IGVudW0ueHBhdGhFdmFsKCdzdHJpbmcoQGZpbGUpJykKKyAgICBuYW1lID0gZW51bS54cGF0aEV2YWwoJ3N0cmluZyhAbmFtZSknKQorICAgICMKKyAgICAjIFNraXAgYW55IGVudW1zIHdoaWNoIGFyZSBub3QgaW4gb3VyIGZpbHRlcmVkIGxpc3RzCisgICAgIworICAgIGlmIChuYW1lID09IE5vbmUpIG9yICgobmFtZSBub3QgaW4gYXJndHlwZXMpIGFuZCAobmFtZSBub3QgaW4gcmV0dHlwZXMpKToKKyAgICAgICAgY29udGludWU7CisgICAgZGVmaW5lID0gMAorCisgICAgaWYgYXJndHlwZXMuaGFzX2tleShuYW1lKSBhbmQgaXNfa25vd25fcGFyYW1fdHlwZShuYW1lLCBuYW1lKSA9PSAwOgorCXZhbHVlcyA9IGN0eHQueHBhdGhFdmFsKCIvYXBpL3N5bWJvbHMvZW51bVtAdHlwZT0nJXMnXSIgJSBuYW1lKQorCWkgPSAwCisJdmFscyA9IFtdCisJZm9yIHZhbHVlIGluIHZhbHVlczoKKwkgICAgdm5hbWUgPSB2YWx1ZS54cGF0aEV2YWwoJ3N0cmluZyhAbmFtZSknKQorCSAgICBpZiB2bmFtZSA9PSBOb25lOgorCQljb250aW51ZTsKKwkgICAgaSA9IGkgKyAxCisJICAgIGlmIGkgPj0gNToKKwkJYnJlYWs7CisJICAgIHZhbHMuYXBwZW5kKHZuYW1lKQorCWlmIHZhbHMgPT0gW106CisJICAgIHByaW50ICJEaWRuJ3QgZmluZCBhbnkgdmFsdWUgZm9yIGVudW0gJXMiICUgKG5hbWUpCisJICAgIGNvbnRpbnVlCisJaWYgbW9kdWxlc19kZWZpbmVzLmhhc19rZXkobW9kdWxlKToKKwkgICAgdGVzdC53cml0ZSgiI2lmZGVmICVzXG4iICUgKG1vZHVsZXNfZGVmaW5lc1ttb2R1bGVdKSkKKwkgICAgZGVmaW5lID0gMQorCXRlc3Qud3JpdGUoIiNkZWZpbmUgZ2VuX25iXyVzICVkXG4iICUgKG5hbWUsIGxlbih2YWxzKSkpCisJdGVzdC53cml0ZSgiIiJzdGF0aWMgJXMgZ2VuXyVzKGludCBubywgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHtcbiIiIiAlCisJICAgICAgICAgICAobmFtZSwgbmFtZSkpCisJaSA9IDEKKwlmb3IgdmFsdWUgaW4gdmFsczoKKwkgICAgdGVzdC53cml0ZSgiICAgIGlmIChubyA9PSAlZCkgcmV0dXJuKCVzKTtcbiIgJSAoaSwgdmFsdWUpKQorCSAgICBpID0gaSArIDEKKwl0ZXN0LndyaXRlKCIiIiAgICByZXR1cm4oMCk7Cit9CisKK3N0YXRpYyB2b2lkIGRlc18lcyhpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgJXMgdmFsIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7Cit9CisKKyIiIiAlIChuYW1lLCBuYW1lKSk7CisJa25vd25fcGFyYW1fdHlwZXMuYXBwZW5kKG5hbWUpCisKKyAgICBpZiAoaXNfa25vd25fcmV0dXJuX3R5cGUobmFtZSkgPT0gMCkgYW5kIChuYW1lIGluIHJldHR5cGVzKToKKwlpZiBkZWZpbmUgPT0gMCBhbmQgbW9kdWxlc19kZWZpbmVzLmhhc19rZXkobW9kdWxlKToKKwkgICAgdGVzdC53cml0ZSgiI2lmZGVmICVzXG4iICUgKG1vZHVsZXNfZGVmaW5lc1ttb2R1bGVdKSkKKwkgICAgZGVmaW5lID0gMQorICAgICAgICB0ZXN0LndyaXRlKCIiInN0YXRpYyB2b2lkIGRlc3JldF8lcyglcyB2YWwgQVRUUklCVVRFX1VOVVNFRCkgeworfQorCisiIiIgJSAobmFtZSwgbmFtZSkpCisJa25vd25fcmV0dXJuX3R5cGVzLmFwcGVuZChuYW1lKQorICAgIGlmIGRlZmluZSA9PSAxOgorICAgICAgICB0ZXN0LndyaXRlKCIjZW5kaWZcblxuIikKKworIworIyBMb2FkIHRoZSBpbnRlcmZhY2VzCisjIAoraGVhZGVycyA9IGN0eHQueHBhdGhFdmFsKCIvYXBpL2ZpbGVzL2ZpbGUiKQorZm9yIGZpbGUgaW4gaGVhZGVyczoKKyAgICBuYW1lID0gZmlsZS54cGF0aEV2YWwoJ3N0cmluZyhAbmFtZSknKQorICAgIGlmIChuYW1lID09IE5vbmUpIG9yIChuYW1lID09ICcnKToKKyAgICAgICAgY29udGludWUKKworICAgICMKKyAgICAjIFNvbWUgbW9kdWxlIG1heSBiZSBza2lwcGVkIGJlY2F1c2UgdGhleSBkb24ndCByZWFsbHkgY29uc2lzdHMKKyAgICAjIG9mIHVzZXIgY2FsbGFibGUgQVBJcworICAgICMKKyAgICBpZiBpc19za2lwcGVkX21vZHVsZShuYW1lKToKKyAgICAgICAgY29udGludWUKKworICAgICMKKyAgICAjIGRvIG5vdCB0ZXN0IGRlcHJlY2F0ZWQgQVBJcworICAgICMKKyAgICBkZXNjID0gZmlsZS54cGF0aEV2YWwoJ3N0cmluZyhkZXNjcmlwdGlvbiknKQorICAgIGlmIHN0cmluZy5maW5kKGRlc2MsICdERVBSRUNBVEVEJykgIT0gLTE6CisgICAgICAgIHByaW50ICJTa2lwcGluZyBkZXByZWNhdGVkIGludGVyZmFjZSAlcyIgJSBuYW1lCisJY29udGludWU7CisKKyAgICB0ZXN0LndyaXRlKCIjaW5jbHVkZSA8bGlieG1sLyVzLmg+XG4iICUgbmFtZSkKKyAgICBtb2R1bGVzLmFwcGVuZChuYW1lKQorICAgICAgICAKKyMKKyMgR2VuZXJhdGUgdGhlIGNhbGxlcnMgc2lnbmF0dXJlcworIyAKK2ZvciBtb2R1bGUgaW4gbW9kdWxlczoKKyAgICB0ZXN0LndyaXRlKCJzdGF0aWMgaW50IHRlc3RfJXModm9pZCk7XG4iICUgbW9kdWxlKTsKKworIworIyBHZW5lcmF0ZSB0aGUgdG9wIGNhbGxlcgorIyAKKwordGVzdC53cml0ZSgiIiIKKy8qKgorICogdGVzdGxpYnhtbDI6CisgKgorICogTWFpbiBlbnRyeSBwb2ludCBvZiB0aGUgdGVzdGVyIGZvciB0aGUgZnVsbCBsaWJ4bWwyIG1vZHVsZSwKKyAqIGl0IGNhbGxzIGFsbCB0aGUgdGVzdGVyIGVudHJ5IHBvaW50IGZvciBlYWNoIG1vZHVsZS4KKyAqCisgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgZXJyb3IgZm91bmQKKyAqLworc3RhdGljIGludAordGVzdGxpYnhtbDIodm9pZCkKK3sKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisiIiIpCisKK2ZvciBtb2R1bGUgaW4gbW9kdWxlczoKKyAgICB0ZXN0LndyaXRlKCIgICAgdGVzdF9yZXQgKz0gdGVzdF8lcygpO1xuIiAlIG1vZHVsZSkKKwordGVzdC53cml0ZSgiIiIKKyAgICBwcmludGYoIlRvdGFsOiAlZCBmdW5jdGlvbnMsICVkIHRlc3RzLCAlZCBlcnJvcnNcXG4iLAorICAgICAgICAgICBmdW5jdGlvbl90ZXN0cywgY2FsbF90ZXN0cywgdGVzdF9yZXQpOworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKyIiIikKKworIworIyBIb3cgdG8gaGFuZGxlIGEgZnVuY3Rpb24KKyMgCituYl90ZXN0cyA9IDAKKworZGVmIGdlbmVyYXRlX3Rlc3QobW9kdWxlLCBub2RlKToKKyAgICBnbG9iYWwgdGVzdAorICAgIGdsb2JhbCBuYl90ZXN0cworICAgIG5iX2NvbmQgPSAwCisgICAgbm9fZ2VuID0gMAorCisgICAgbmFtZSA9IG5vZGUueHBhdGhFdmFsKCdzdHJpbmcoQG5hbWUpJykKKyAgICBpZiBpc19za2lwcGVkX2Z1bmN0aW9uKG5hbWUpOgorICAgICAgICByZXR1cm4KKworICAgICMKKyAgICAjIGNoZWNrIHdlIGtub3cgaG93IHRvIGhhbmRsZSB0aGUgYXJncyBhbmQgcmV0dXJuIHZhbHVlcworICAgICMgYW5kIHN0b3JlIHRoZSBpbmZvcm1hdGlvbnMgZm9yIHRoZSBnZW5lcmF0aW9uCisgICAgIworICAgIHRyeToKKwlhcmdzID0gbm9kZS54cGF0aEV2YWwoImFyZyIpCisgICAgZXhjZXB0OgorICAgICAgICBhcmdzID0gW10KKyAgICB0X2FyZ3MgPSBbXQorICAgIG4gPSAwCisgICAgZm9yIGFyZyBpbiBhcmdzOgorICAgICAgICBuID0gbiArIDEKKyAgICAgICAgcnR5cGUgPSBhcmcueHBhdGhFdmFsKCJzdHJpbmcoQHR5cGUpIikKKwlpZiBydHlwZSA9PSAndm9pZCc6CisJICAgIGJyZWFrOworCWluZm8gPSBhcmcueHBhdGhFdmFsKCJzdHJpbmcoQGluZm8pIikKKwluYW0gPSBhcmcueHBhdGhFdmFsKCJzdHJpbmcoQG5hbWUpIikKKyAgICAgICAgdHlwZSA9IHR5cGVfY29udmVydChydHlwZSwgbmFtLCBpbmZvLCBtb2R1bGUsIG5hbWUsIG4pCisJaWYgaXNfa25vd25fcGFyYW1fdHlwZSh0eXBlLCBydHlwZSkgPT0gMDoKKwkgICAgYWRkX21pc3NpbmdfdHlwZSh0eXBlLCBuYW1lKTsKKwkgICAgbm9fZ2VuID0gMQorICAgICAgICBpZiAodHlwZVstMzpdID09ICdQdHInIG9yIHR5cGVbLTQ6XSA9PSAnX3B0cicpIGFuZCBcCisJICAgIHJ0eXBlWzA6Nl0gPT0gJ2NvbnN0ICc6CisJICAgIGNydHlwZSA9IHJ0eXBlWzY6XQorCWVsc2U6CisJICAgIGNydHlwZSA9IHJ0eXBlCisJdF9hcmdzLmFwcGVuZCgobmFtLCB0eXBlLCBydHlwZSwgY3J0eXBlLCBpbmZvKSkKKyAgICAKKyAgICB0cnk6CisJcmV0cyA9IG5vZGUueHBhdGhFdmFsKCJyZXR1cm4iKQorICAgIGV4Y2VwdDoKKyAgICAgICAgcmV0cyA9IFtdCisgICAgdF9yZXQgPSBOb25lCisgICAgZm9yIHJldCBpbiByZXRzOgorICAgICAgICBydHlwZSA9IHJldC54cGF0aEV2YWwoInN0cmluZyhAdHlwZSkiKQorCWluZm8gPSByZXQueHBhdGhFdmFsKCJzdHJpbmcoQGluZm8pIikKKyAgICAgICAgdHlwZSA9IHR5cGVfY29udmVydChydHlwZSwgJ3JldHVybicsIGluZm8sIG1vZHVsZSwgbmFtZSwgMCkKKwlpZiBydHlwZSA9PSAndm9pZCc6CisJICAgIGJyZWFrCisJaWYgaXNfa25vd25fcmV0dXJuX3R5cGUodHlwZSkgPT0gMDoKKwkgICAgYWRkX21pc3NpbmdfdHlwZSh0eXBlLCBuYW1lKTsKKwkgICAgbm9fZ2VuID0gMQorCXRfcmV0ID0gKHR5cGUsIHJ0eXBlLCBpbmZvKQorCWJyZWFrCisKKyAgICB0ZXN0LndyaXRlKCIiIgorc3RhdGljIGludAordGVzdF8lcyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworIiIiICUgKG5hbWUpKQorCisgICAgaWYgbm9fZ2VuID09IDE6CisgICAgICAgIGFkZF9taXNzaW5nX2Z1bmN0aW9ucyhuYW1lLCBtb2R1bGUpCisJdGVzdC53cml0ZSgiIiIKKyAgICAvKiBtaXNzaW5nIHR5cGUgc3VwcG9ydCAqLworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKyIiIikKKyAgICAgICAgcmV0dXJuCisKKyAgICB0cnk6CisJY29uZHMgPSBub2RlLnhwYXRoRXZhbCgiY29uZCIpCisJZm9yIGNvbmQgaW4gY29uZHM6CisJICAgIHRlc3Qud3JpdGUoIiNpZiAlc1xuIiAlIChjb25kLmdldF9jb250ZW50KCkpKQorCSAgICBuYl9jb25kID0gbmJfY29uZCArIDEKKyAgICBleGNlcHQ6CisgICAgICAgIHBhc3MKKworICAgIGRlZmluZSA9IDAKKyAgICBpZiBmdW5jdGlvbl9kZWZpbmVzLmhhc19rZXkobmFtZSk6CisgICAgICAgIHRlc3Qud3JpdGUoIiNpZmRlZiAlc1xuIiAlIChmdW5jdGlvbl9kZWZpbmVzW25hbWVdKSkKKwlkZWZpbmUgPSAxCisgICAgCisgICAgIyBEZWNsYXJlIHRoZSBtZW1vcnkgdXNhZ2UgY291bnRlcgorICAgIG5vX21lbSA9IGlzX3NraXBwZWRfbWVtY2hlY2sobmFtZSkKKyAgICBpZiBub19tZW0gPT0gMDoKKwl0ZXN0LndyaXRlKCIgICAgaW50IG1lbV9iYXNlO1xuIik7CisKKyAgICAjIERlY2xhcmUgdGhlIHJldHVybiB2YWx1ZQorICAgIGlmIHRfcmV0ICE9IE5vbmU6CisgICAgICAgIHRlc3Qud3JpdGUoIiAgICAlcyByZXRfdmFsO1xuIiAlICh0X3JldFsxXSkpCisKKyAgICAjIERlY2xhcmUgdGhlIGFyZ3VtZW50cworICAgIGZvciBhcmcgaW4gdF9hcmdzOgorICAgICAgICAobmFtLCB0eXBlLCBydHlwZSwgY3J0eXBlLCBpbmZvKSA9IGFyZzsKKwkjIGFkZCBkZWNsYXJhdGlvbgorCXRlc3Qud3JpdGUoIiAgICAlcyAlczsgLyogJXMgKi9cbiIgJSAoY3J0eXBlLCBuYW0sIGluZm8pKQorCXRlc3Qud3JpdGUoIiAgICBpbnQgbl8lcztcbiIgJSAobmFtKSkKKyAgICB0ZXN0LndyaXRlKCJcbiIpCisKKyAgICAjIENhc2NhZGUgbG9vcCBvbiBvZiBlYWNoIGFyZ3VtZW50IGxpc3Qgb2YgdmFsdWVzCisgICAgZm9yIGFyZyBpbiB0X2FyZ3M6CisgICAgICAgIChuYW0sIHR5cGUsIHJ0eXBlLCBjcnR5cGUsIGluZm8pID0gYXJnOworCSMKKwl0ZXN0LndyaXRlKCIgICAgZm9yIChuXyVzID0gMDtuXyVzIDwgZ2VuX25iXyVzO25fJXMrKykge1xuIiAlICgKKwkgICAgICAgICAgIG5hbSwgbmFtLCB0eXBlLCBuYW0pKQorICAgIAorICAgICMgbG9nIHRoZSBtZW1vcnkgdXNhZ2UKKyAgICBpZiBub19tZW0gPT0gMDoKKwl0ZXN0LndyaXRlKCIgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7XG4iKTsKKworICAgICMgcHJlcGFyZSB0aGUgY2FsbAorICAgIGkgPSAwOworICAgIGZvciBhcmcgaW4gdF9hcmdzOgorICAgICAgICAobmFtLCB0eXBlLCBydHlwZSwgY3J0eXBlLCBpbmZvKSA9IGFyZzsKKwkjCisJdGVzdC53cml0ZSgiICAgICAgICAlcyA9IGdlbl8lcyhuXyVzLCAlZCk7XG4iICUgKG5hbSwgdHlwZSwgbmFtLCBpKSkKKwlpID0gaSArIDE7CisKKyAgICAjIGRvIHRoZSBjYWxsLCBhbmQgY2xhbnVwIHRoZSByZXN1bHQKKyAgICBpZiBleHRyYV9wcmVfY2FsbC5oYXNfa2V5KG5hbWUpOgorCXRlc3Qud3JpdGUoIiAgICAgICAgJXNcbiIlIChleHRyYV9wcmVfY2FsbFtuYW1lXSkpCisgICAgaWYgdF9yZXQgIT0gTm9uZToKKwl0ZXN0LndyaXRlKCJcbiAgICAgICAgcmV0X3ZhbCA9ICVzKCIgJSAobmFtZSkpCisJbmVlZCA9IDAKKwlmb3IgYXJnIGluIHRfYXJnczoKKwkgICAgKG5hbSwgdHlwZSwgcnR5cGUsIGNydHlwZSwgaW5mbykgPSBhcmcKKwkgICAgaWYgbmVlZDoKKwkgICAgICAgIHRlc3Qud3JpdGUoIiwgIikKKwkgICAgZWxzZToKKwkgICAgICAgIG5lZWQgPSAxCisJICAgIGlmIHJ0eXBlICE9IGNydHlwZToKKwkgICAgICAgIHRlc3Qud3JpdGUoIiglcykiICUgcnR5cGUpCisJICAgIHRlc3Qud3JpdGUoIiVzIiAlIG5hbSk7CisJdGVzdC53cml0ZSgiKTtcbiIpCisJaWYgZXh0cmFfcG9zdF9jYWxsLmhhc19rZXkobmFtZSk6CisJICAgIHRlc3Qud3JpdGUoIiAgICAgICAgJXNcbiIlIChleHRyYV9wb3N0X2NhbGxbbmFtZV0pKQorCXRlc3Qud3JpdGUoIiAgICAgICAgZGVzcmV0XyVzKHJldF92YWwpO1xuIiAlIHRfcmV0WzBdKQorICAgIGVsc2U6CisJdGVzdC53cml0ZSgiXG4gICAgICAgICVzKCIgJSAobmFtZSkpOworCW5lZWQgPSAwOworCWZvciBhcmcgaW4gdF9hcmdzOgorCSAgICAobmFtLCB0eXBlLCBydHlwZSwgY3J0eXBlLCBpbmZvKSA9IGFyZzsKKwkgICAgaWYgbmVlZDoKKwkgICAgICAgIHRlc3Qud3JpdGUoIiwgIikKKwkgICAgZWxzZToKKwkgICAgICAgIG5lZWQgPSAxCisJICAgIGlmIHJ0eXBlICE9IGNydHlwZToKKwkgICAgICAgIHRlc3Qud3JpdGUoIiglcykiICUgcnR5cGUpCisJICAgIHRlc3Qud3JpdGUoIiVzIiAlIG5hbSkKKwl0ZXN0LndyaXRlKCIpO1xuIikKKwlpZiBleHRyYV9wb3N0X2NhbGwuaGFzX2tleShuYW1lKToKKwkgICAgdGVzdC53cml0ZSgiICAgICAgICAlc1xuIiUgKGV4dHJhX3Bvc3RfY2FsbFtuYW1lXSkpCisKKyAgICB0ZXN0LndyaXRlKCIgICAgICAgIGNhbGxfdGVzdHMrKztcbiIpOworCisgICAgIyBGcmVlIHRoZSBhcmd1bWVudHMKKyAgICBpID0gMDsKKyAgICBmb3IgYXJnIGluIHRfYXJnczoKKyAgICAgICAgKG5hbSwgdHlwZSwgcnR5cGUsIGNydHlwZSwgaW5mbykgPSBhcmc7CisJIyBUaGlzIGlzIGEgaGFjayB0byBwcmV2ZW50IGdlbmVyYXRpbmcgYSBkZXN0cnVjdG9yIGZvciB0aGUKKwkjICdpbnB1dCcgYXJndW1lbnQgaW4geG1sVGV4dFJlYWRlclNldHVwLiAgVGhlcmUgc2hvdWxkIGJlCisJIyBhIGJldHRlciwgbW9yZSBnZW5lcmljIHdheSB0byBkbyB0aGlzIQorCWlmIHN0cmluZy5maW5kKGluZm8sICdkZXN0cm95JykgPT0gLTE6CisJICAgIHRlc3Qud3JpdGUoIiAgICAgICAgZGVzXyVzKG5fJXMsICIgJSAodHlwZSwgbmFtKSkKKwkgICAgaWYgcnR5cGUgIT0gY3J0eXBlOgorCSAgICAgICAgdGVzdC53cml0ZSgiKCVzKSIgJSBydHlwZSkKKwkgICAgdGVzdC53cml0ZSgiJXMsICVkKTtcbiIgJSAobmFtLCBpKSkKKwlpID0gaSArIDE7CisKKyAgICB0ZXN0LndyaXRlKCIgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7XG4iKTsKKyAgICAjIENoZWNrIHRoZSBtZW1vcnkgdXNhZ2UKKyAgICBpZiBub19tZW0gPT0gMDoKKwl0ZXN0LndyaXRlKCIiIiAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJSVkIGJsb2NrcyBmb3VuZCBpbiAlcyIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyIiIiAlIChuYW1lKSk7CisJZm9yIGFyZyBpbiB0X2FyZ3M6CisJICAgIChuYW0sIHR5cGUsIHJ0eXBlLCBjcnR5cGUsIGluZm8pID0gYXJnOworCSAgICB0ZXN0LndyaXRlKCIiIiAgICAgICAgICAgIHByaW50ZigiICUlZCIsIG5fJXMpO1xuIiIiICUgKG5hbSkpCisJdGVzdC53cml0ZSgiIiIgICAgICAgICAgICBwcmludGYoIlxcbiIpO1xuIiIiKQorCXRlc3Qud3JpdGUoIiAgICAgICAgfVxuIikKKworICAgIGZvciBhcmcgaW4gdF9hcmdzOgorCXRlc3Qud3JpdGUoIiAgICB9XG4iKQorCisgICAgdGVzdC53cml0ZSgiICAgIGZ1bmN0aW9uX3Rlc3RzKys7XG4iKQorICAgICMKKyAgICAjIGVuZCBvZiBjb25kaXRpb25hbAorICAgICMKKyAgICB3aGlsZSBuYl9jb25kID4gMDoKKyAgICAgICAgdGVzdC53cml0ZSgiI2VuZGlmXG4iKQorCW5iX2NvbmQgPSBuYl9jb25kIC0xCisgICAgaWYgZGVmaW5lID09IDE6CisgICAgICAgIHRlc3Qud3JpdGUoIiNlbmRpZlxuIikKKworICAgIG5iX3Rlc3RzID0gbmJfdGVzdHMgKyAxOworCisgICAgdGVzdC53cml0ZSgiIiIKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisiIiIpCisgICAgCisjCisjIEdlbmVyYXRlIGFsbCBtb2R1bGUgY2FsbGVycworIworZm9yIG1vZHVsZSBpbiBtb2R1bGVzOgorICAgICMgZ2F0aGVyIGFsbCB0aGUgZnVuY3Rpb25zIGV4cG9ydGVkIGJ5IHRoYXQgbW9kdWxlCisgICAgdHJ5OgorCWZ1bmN0aW9ucyA9IGN0eHQueHBhdGhFdmFsKCIvYXBpL3N5bWJvbHMvZnVuY3Rpb25bQGZpbGU9JyVzJ10iICUgKG1vZHVsZSkpCisgICAgZXhjZXB0OgorICAgICAgICBwcmludCAiRmFpbGVkIHRvIGdhdGhlciBmdW5jdGlvbnMgZnJvbSBtb2R1bGUgJXMiICUgKG1vZHVsZSkKKwljb250aW51ZTsKKworICAgICMgaXRlcmF0ZSBvdmVyIGFsbCBmdW5jdGlvbnMgaW4gdGhlIG1vZHVsZSBnZW5lcmF0aW5nIHRoZSB0ZXN0CisgICAgaSA9IDAKKyAgICBuYl90ZXN0c19vbGQgPSBuYl90ZXN0cworICAgIGZvciBmdW5jdGlvbiBpbiBmdW5jdGlvbnM6CisgICAgICAgIGkgPSBpICsgMQorICAgICAgICBnZW5lcmF0ZV90ZXN0KG1vZHVsZSwgZnVuY3Rpb24pOworCisgICAgIyBoZWFkZXIKKyAgICB0ZXN0LndyaXRlKCIiInN0YXRpYyBpbnQKK3Rlc3RfJXModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpZiAocXVpZXQgPT0gMCkgcHJpbnRmKCJUZXN0aW5nICVzIDogJWQgb2YgJWQgZnVuY3Rpb25zIC4uLlxcbiIpOworIiIiICUgKG1vZHVsZSwgbW9kdWxlLCBuYl90ZXN0cyAtIG5iX3Rlc3RzX29sZCwgaSkpCisKKyAgICAjIGl0ZXJhdGUgb3ZlciBhbGwgZnVuY3Rpb25zIGluIHRoZSBtb2R1bGUgZ2VuZXJhdGluZyB0aGUgY2FsbAorICAgIGZvciBmdW5jdGlvbiBpbiBmdW5jdGlvbnM6CisgICAgICAgIG5hbWUgPSBmdW5jdGlvbi54cGF0aEV2YWwoJ3N0cmluZyhAbmFtZSknKQorCWlmIGlzX3NraXBwZWRfZnVuY3Rpb24obmFtZSk6CisJICAgIGNvbnRpbnVlCisJdGVzdC53cml0ZSgiICAgIHRlc3RfcmV0ICs9IHRlc3RfJXMoKTtcbiIgJSAobmFtZSkpCisKKyAgICAjIGZvb3RlcgorICAgIHRlc3Qud3JpdGUoIiIiCisgICAgaWYgKHRlc3RfcmV0ICE9IDApCisJcHJpbnRmKCJNb2R1bGUgJXM6ICUlZCBlcnJvcnNcXG4iLCB0ZXN0X3JldCk7CisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKyIiIiAlIChtb2R1bGUpKQorCisjCisjIEdlbmVyYXRlIGRpcmVjdCBtb2R1bGUgY2FsbGVyCisjCit0ZXN0LndyaXRlKCIiInN0YXRpYyBpbnQKK3Rlc3RfbW9kdWxlKGNvbnN0IGNoYXIgKm1vZHVsZSkgeworIiIiKTsKK2ZvciBtb2R1bGUgaW4gbW9kdWxlczoKKyAgICB0ZXN0LndyaXRlKCIiIiAgICBpZiAoIXN0cmNtcChtb2R1bGUsICIlcyIpKSByZXR1cm4odGVzdF8lcygpKTtcbiIiIiAlICgKKyAgICAgICAgbW9kdWxlLCBtb2R1bGUpKQordGVzdC53cml0ZSgiIiIgICAgcmV0dXJuKDApOworfQorIiIiKTsKKworcHJpbnQgIkdlbmVyYXRlZCB0ZXN0IGZvciAlZCBtb2R1bGVzIGFuZCAlZCBmdW5jdGlvbnMiICUobGVuKG1vZHVsZXMpLCBuYl90ZXN0cykKKworY29tcGFyZV9hbmRfc2F2ZSgpCisKK21pc3NpbmdfbGlzdCA9IFtdCitmb3IgbWlzc2luZyBpbiBtaXNzaW5nX3R5cGVzLmtleXMoKToKKyAgICBpZiBtaXNzaW5nID09ICd2YV9saXN0JyBvciBtaXNzaW5nID09ICcuLi4nOgorICAgICAgICBjb250aW51ZTsKKworICAgIG4gPSBsZW4obWlzc2luZ190eXBlc1ttaXNzaW5nXSkKKyAgICBtaXNzaW5nX2xpc3QuYXBwZW5kKChuLCBtaXNzaW5nKSkKKworZGVmIGNvbXBhcmVfbWlzc2luZyhhLCBiKToKKyAgICByZXR1cm4gYlswXSAtIGFbMF0KKworbWlzc2luZ19saXN0LnNvcnQoY29tcGFyZV9taXNzaW5nKQorcHJpbnQgIk1pc3Npbmcgc3VwcG9ydCBmb3IgJWQgZnVuY3Rpb25zIGFuZCAlZCB0eXBlcyBzZWUgbWlzc2luZy5sc3QiICUgKG1pc3NpbmdfZnVuY3Rpb25zX25yLCBsZW4obWlzc2luZ19saXN0KSkKK2xzdCA9IG9wZW4oIm1pc3NpbmcubHN0IiwgInciKQorbHN0LndyaXRlKCJNaXNzaW5nIHN1cHBvcnQgZm9yICVkIHR5cGVzIiAlIChsZW4obWlzc2luZ19saXN0KSkpCitsc3Qud3JpdGUoIlxuIikKK2ZvciBtaXNzIGluIG1pc3NpbmdfbGlzdDoKKyAgICBsc3Qud3JpdGUoIiVzOiAlZCA6IiAlIChtaXNzWzFdLCBtaXNzWzBdKSkKKyAgICBpID0gMAorICAgIGZvciBuIGluIG1pc3NpbmdfdHlwZXNbbWlzc1sxXV06CisgICAgICAgIGkgPSBpICsgMQorICAgICAgICBpZiBpID4gNToKKwkgICAgbHN0LndyaXRlKCIgLi4uIikKKwkgICAgYnJlYWsKKwlsc3Qud3JpdGUoIiAlcyIgJSAobikpCisgICAgbHN0LndyaXRlKCJcbiIpCitsc3Qud3JpdGUoIlxuIikKK2xzdC53cml0ZSgiXG4iKQorbHN0LndyaXRlKCJNaXNzaW5nIHN1cHBvcnQgcGVyIG1vZHVsZSIpOworZm9yIG1vZHVsZSBpbiBtaXNzaW5nX2Z1bmN0aW9ucy5rZXlzKCk6CisgICAgbHN0LndyaXRlKCJtb2R1bGUgJXM6XG4gICAlc1xuIiAlIChtb2R1bGUsIG1pc3NpbmdfZnVuY3Rpb25zW21vZHVsZV0pKQorCitsc3QuY2xvc2UoKQorCisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvZ2xvYmFsLmRhdGEgYi9saWJ4bWwyL2dsb2JhbC5kYXRhCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUxOTUxOWEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2dsb2JhbC5kYXRhCkBAIC0wLDAgKzEsMjkgQEAKKyN0eXBlLG5hbWUsYXJyYXk/LHRocmVhZEdsb2JhbERlZmF1bHQgYWNjZXNzb3I/CitpbnQsb2xkWE1MV0Rjb21wYXRpYmlsaXR5LCwKK3htbEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUseG1sQnVmZmVyQWxsb2NTY2hlbWUsLDEKK2ludCx4bWxEZWZhdWx0QnVmZmVyU2l6ZSwsMQoreG1sU0FYSGFuZGxlclYxLHhtbERlZmF1bHRTQVhIYW5kbGVyLCwKK3htbFNBWExvY2F0b3IseG1sRGVmYXVsdFNBWExvY2F0b3IsLAoraW50LHhtbERvVmFsaWRpdHlDaGVja2luZ0RlZmF1bHRWYWx1ZSwsMQoreG1sR2VuZXJpY0Vycm9yRnVuYyx4bWxHZW5lcmljRXJyb3IsLAoreG1sU3RydWN0dXJlZEVycm9yRnVuYyx4bWxTdHJ1Y3R1cmVkRXJyb3IsLAordm9pZCAqLHhtbEdlbmVyaWNFcnJvckNvbnRleHQsLAordm9pZCAqLHhtbFN0cnVjdHVyZWRFcnJvckNvbnRleHQsLAoraW50LHhtbEdldFdhcm5pbmdzRGVmYXVsdFZhbHVlLCwxCitpbnQseG1sSW5kZW50VHJlZU91dHB1dCwsMQorY29uc3QgY2hhciAqLHhtbFRyZWVJbmRlbnRTdHJpbmcsLDEKK2ludCx4bWxLZWVwQmxhbmtzRGVmYXVsdFZhbHVlLCwxCitpbnQseG1sTGluZU51bWJlcnNEZWZhdWx0VmFsdWUsLDEKK2ludCx4bWxMb2FkRXh0RHRkRGVmYXVsdFZhbHVlLCwxCitpbnQseG1sUGFyc2VyRGVidWdFbnRpdGllcywsMQorY29uc3QgY2hhciAqLHhtbFBhcnNlclZlcnNpb24sLAoraW50LHhtbFBlZGFudGljUGFyc2VyRGVmYXVsdFZhbHVlLCwxCitpbnQseG1sU2F2ZU5vRW1wdHlUYWdzLCwxCisjY29uc3QgeG1sQ2hhcix4bWxTdHJpbmdDb21tZW50LFtdLDEKKyNjb25zdCB4bWxDaGFyLHhtbFN0cmluZ1RleHQsW10sMQorI2NvbnN0IHhtbENoYXIseG1sU3RyaW5nVGV4dE5vZW5jLFtdLDEKK2ludCx4bWxTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0VmFsdWUsLDEKK3htbFJlZ2lzdGVyTm9kZUZ1bmMseG1sUmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlLCwKK3htbERlcmVnaXN0ZXJOb2RlRnVuYyx4bWxEZXJlZ2lzdGVyTm9kZURlZmF1bHRWYWx1ZSwsCit4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYyx4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lVmFsdWUsLAoreG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jLHhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lVmFsdWUsLApkaWZmIC0tZ2l0IGEvbGlieG1sMi9nbG9iYWxzLmMgYi9saWJ4bWwyL2dsb2JhbHMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMzUxYjAzCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9nbG9iYWxzLmMKQEAgLTAsMCArMSwxMTE0IEBACisvKgorICogZ2xvYmFscy5jOiBkZWZpbml0aW9uIGFuZCBoYW5kbGluZyBvZiB0aGUgc2V0IG9mIGdsb2JhbCB2YXJpYWJsZXMKKyAqICAgICAgICAgICAgb2YgdGhlIGxpYnJhcnkKKyAqCisgKiBUaGUgYm90dG9tIG9mIHRoaXMgZmlsZSBpcyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSBidWlsZF9nbG9iLnB5CisgKiBiYXNlZCBvbiB0aGUgZGVzY3JpcHRpb24gZmlsZSBnbG9iYWwuZGF0YQorICoKKyAqIFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyAqCisgKiBHYXJ5IFBlbm5pbmd0b24gPEdhcnkuUGVubmluZ3RvbkB1ay5zdW4uY29tPgorICogZGFuaWVsQHZlaWxsYXJkLmNvbQorICovCisKKyNkZWZpbmUgSU5fTElCWE1MCisjaW5jbHVkZSAibGlieG1sLmgiCisKKyNpZmRlZiBIQVZFX1NURExJQl9ICisjaW5jbHVkZSA8c3RkbGliLmg+CisjZW5kaWYKKyNpbmNsdWRlIDxzdHJpbmcuaD4KKworI2luY2x1ZGUgPGxpYnhtbC9nbG9iYWxzLmg+CisjaW5jbHVkZSA8bGlieG1sL3htbG1lbW9yeS5oPgorI2luY2x1ZGUgPGxpYnhtbC90aHJlYWRzLmg+CisKKy8qICNkZWZpbmUgREVCVUdfR0xPQkFMUyAqLworCisvKgorICogSGVscGZ1bCBNYWNybworICovCisjaWZkZWYgTElCWE1MX1RIUkVBRF9FTkFCTEVECisjZGVmaW5lIElTX01BSU5fVEhSRUFEICh4bWxJc01haW5UaHJlYWQoKSkKKyNlbHNlCisjZGVmaW5lIElTX01BSU5fVEhSRUFEIDEKKyNlbmRpZgorCisvKgorICogTXV0ZXggdG8gcHJvdGVjdCAiRm9yTmV3VGhyZWFkcyIgdmFyaWFibGVzCisgKi8KK3N0YXRpYyB4bWxNdXRleFB0ciB4bWxUaHJEZWZNdXRleCA9IE5VTEw7CisKKy8qKgorICogeG1sSW5pdEdsb2JhbHM6CisgKgorICogQWRkaXRpb25hbCBpbml0aWFsaXNhdGlvbiBmb3IgbXVsdGktdGhyZWFkaW5nCisgKi8KK3ZvaWQgeG1sSW5pdEdsb2JhbHModm9pZCkKK3sKKyAgICBpZiAoeG1sVGhyRGVmTXV0ZXggPT0gTlVMTCkKKyAgICAgICAgeG1sVGhyRGVmTXV0ZXggPSB4bWxOZXdNdXRleCgpOworfQorCisvKioKKyAqIHhtbENsZWFudXBHbG9iYWxzOgorICoKKyAqIEFkZGl0aW9uYWwgY2xlYW51cCBmb3IgbXVsdGktdGhyZWFkaW5nCisgKi8KK3ZvaWQgeG1sQ2xlYW51cEdsb2JhbHModm9pZCkKK3sKKyAgICBpZiAoeG1sVGhyRGVmTXV0ZXggIT0gTlVMTCkgeworCXhtbEZyZWVNdXRleCh4bWxUaHJEZWZNdXRleCk7CisJeG1sVGhyRGVmTXV0ZXggPSBOVUxMOworICAgIH0KKyAgICBfX3htbEdsb2JhbEluaXRNdXRleERlc3Ryb3koKTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKglBbGwgdGhlIHVzZXIgYWNjZXNzaWJsZSBnbG9iYWwgdmFyaWFibGVzIG9mIHRoZSBsaWJyYXJ5CQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qCisgKiBNZW1vcnkgYWxsb2NhdGlvbiByb3V0aW5lcworICovCisjdW5kZWYJeG1sRnJlZQorI3VuZGVmCXhtbE1hbGxvYworI3VuZGVmCXhtbE1hbGxvY0F0b21pYworI3VuZGVmCXhtbE1lbVN0cmR1cAorI3VuZGVmCXhtbFJlYWxsb2MKKworI2lmIGRlZmluZWQoREVCVUdfTUVNT1JZX0xPQ0FUSU9OKSB8fCBkZWZpbmVkKERFQlVHX01FTU9SWSkKK3htbEZyZWVGdW5jIHhtbEZyZWUgPSAoeG1sRnJlZUZ1bmMpIHhtbE1lbUZyZWU7Cit4bWxNYWxsb2NGdW5jIHhtbE1hbGxvYyA9ICh4bWxNYWxsb2NGdW5jKSB4bWxNZW1NYWxsb2M7Cit4bWxNYWxsb2NGdW5jIHhtbE1hbGxvY0F0b21pYyA9ICh4bWxNYWxsb2NGdW5jKSB4bWxNZW1NYWxsb2M7Cit4bWxSZWFsbG9jRnVuYyB4bWxSZWFsbG9jID0gKHhtbFJlYWxsb2NGdW5jKSB4bWxNZW1SZWFsbG9jOworeG1sU3RyZHVwRnVuYyB4bWxNZW1TdHJkdXAgPSAoeG1sU3RyZHVwRnVuYykgeG1sTWVtb3J5U3RyZHVwOworI2Vsc2UKKy8qKgorICogeG1sRnJlZToKKyAqIEBtZW06IGFuIGFscmVhZHkgYWxsb2NhdGVkIGJsb2NrIG9mIG1lbW9yeQorICoKKyAqIFRoZSB2YXJpYWJsZSBob2xkaW5nIHRoZSBsaWJ4bWwgZnJlZSgpIGltcGxlbWVudGF0aW9uCisgKi8KK3htbEZyZWVGdW5jIHhtbEZyZWUgPSAoeG1sRnJlZUZ1bmMpIGZyZWU7CisvKioKKyAqIHhtbE1hbGxvYzoKKyAqIEBzaXplOiAgdGhlIHNpemUgcmVxdWVzdGVkIGluIGJ5dGVzCisgKgorICogVGhlIHZhcmlhYmxlIGhvbGRpbmcgdGhlIGxpYnhtbCBtYWxsb2MoKSBpbXBsZW1lbnRhdGlvbgorICoKKyAqIFJldHVybnMgYSBwb2ludGVyIHRvIHRoZSBuZXdseSBhbGxvY2F0ZWQgYmxvY2sgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3htbE1hbGxvY0Z1bmMgeG1sTWFsbG9jID0gKHhtbE1hbGxvY0Z1bmMpIG1hbGxvYzsKKy8qKgorICogeG1sTWFsbG9jQXRvbWljOgorICogQHNpemU6ICB0aGUgc2l6ZSByZXF1ZXN0ZWQgaW4gYnl0ZXMKKyAqCisgKiBUaGUgdmFyaWFibGUgaG9sZGluZyB0aGUgbGlieG1sIG1hbGxvYygpIGltcGxlbWVudGF0aW9uIGZvciBhdG9taWMKKyAqIGRhdGEgKGkuZS4gYmxvY2tzIG5vdCBjb250YWluaW5ncyBwb2ludGVycyksIHVzZWZ1bCB3aGVuIHVzaW5nIGEKKyAqIGdhcmJhZ2UgY29sbGVjdGluZyBhbGxvY2F0b3IuCisgKgorICogUmV0dXJucyBhIHBvaW50ZXIgdG8gdGhlIG5ld2x5IGFsbG9jYXRlZCBibG9jayBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworeG1sTWFsbG9jRnVuYyB4bWxNYWxsb2NBdG9taWMgPSAoeG1sTWFsbG9jRnVuYykgbWFsbG9jOworLyoqCisgKiB4bWxSZWFsbG9jOgorICogQG1lbTogYW4gYWxyZWFkeSBhbGxvY2F0ZWQgYmxvY2sgb2YgbWVtb3J5CisgKiBAc2l6ZTogIHRoZSBuZXcgc2l6ZSByZXF1ZXN0ZWQgaW4gYnl0ZXMKKyAqCisgKiBUaGUgdmFyaWFibGUgaG9sZGluZyB0aGUgbGlieG1sIHJlYWxsb2MoKSBpbXBsZW1lbnRhdGlvbgorICoKKyAqIFJldHVybnMgYSBwb2ludGVyIHRvIHRoZSBuZXdseSByZWFsbG9jYXRlZCBibG9jayBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworeG1sUmVhbGxvY0Z1bmMgeG1sUmVhbGxvYyA9ICh4bWxSZWFsbG9jRnVuYykgcmVhbGxvYzsKKy8qKgorICogeG1sTWVtU3RyZHVwOgorICogQHN0cjogYSB6ZXJvIHRlcm1pbmF0ZWQgc3RyaW5nCisgKgorICogVGhlIHZhcmlhYmxlIGhvbGRpbmcgdGhlIGxpYnhtbCBzdHJkdXAoKSBpbXBsZW1lbnRhdGlvbgorICoKKyAqIFJldHVybnMgdGhlIGNvcHkgb2YgdGhlIHN0cmluZyBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworeG1sU3RyZHVwRnVuYyB4bWxNZW1TdHJkdXAgPSAoeG1sU3RyZHVwRnVuYykgeG1sU3RyZHVwOworI2VuZGlmIC8qIERFQlVHX01FTU9SWV9MT0NBVElPTiB8fCBERUJVR19NRU1PUlkgKi8KKworI2luY2x1ZGUgPGxpYnhtbC90aHJlYWRzLmg+CisjaW5jbHVkZSA8bGlieG1sL2dsb2JhbHMuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvU0FYLmg+CisKKyN1bmRlZglkb2NiRGVmYXVsdFNBWEhhbmRsZXIKKyN1bmRlZglodG1sRGVmYXVsdFNBWEhhbmRsZXIKKyN1bmRlZglvbGRYTUxXRGNvbXBhdGliaWxpdHkKKyN1bmRlZgl4bWxCdWZmZXJBbGxvY1NjaGVtZQorI3VuZGVmCXhtbERlZmF1bHRCdWZmZXJTaXplCisjdW5kZWYJeG1sRGVmYXVsdFNBWEhhbmRsZXIKKyN1bmRlZgl4bWxEZWZhdWx0U0FYTG9jYXRvcgorI3VuZGVmCXhtbERvVmFsaWRpdHlDaGVja2luZ0RlZmF1bHRWYWx1ZQorI3VuZGVmCXhtbEdlbmVyaWNFcnJvcgorI3VuZGVmCXhtbFN0cnVjdHVyZWRFcnJvcgorI3VuZGVmCXhtbEdlbmVyaWNFcnJvckNvbnRleHQKKyN1bmRlZgl4bWxTdHJ1Y3R1cmVkRXJyb3JDb250ZXh0CisjdW5kZWYJeG1sR2V0V2FybmluZ3NEZWZhdWx0VmFsdWUKKyN1bmRlZgl4bWxJbmRlbnRUcmVlT3V0cHV0CisjdW5kZWYgIHhtbFRyZWVJbmRlbnRTdHJpbmcKKyN1bmRlZgl4bWxLZWVwQmxhbmtzRGVmYXVsdFZhbHVlCisjdW5kZWYJeG1sTGluZU51bWJlcnNEZWZhdWx0VmFsdWUKKyN1bmRlZgl4bWxMb2FkRXh0RHRkRGVmYXVsdFZhbHVlCisjdW5kZWYJeG1sUGFyc2VyRGVidWdFbnRpdGllcworI3VuZGVmCXhtbFBhcnNlclZlcnNpb24KKyN1bmRlZgl4bWxQZWRhbnRpY1BhcnNlckRlZmF1bHRWYWx1ZQorI3VuZGVmCXhtbFNhdmVOb0VtcHR5VGFncworI3VuZGVmCXhtbFN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHRWYWx1ZQorI3VuZGVmCXhtbFJlZ2lzdGVyTm9kZURlZmF1bHRWYWx1ZQorI3VuZGVmCXhtbERlcmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlCisjdW5kZWYJeG1sTGFzdEVycm9yCisKKyN1bmRlZiAgeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZVZhbHVlCisjdW5kZWYgIHhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lVmFsdWUKKy8qKgorICogeG1sUGFyc2VyVmVyc2lvbjoKKyAqCisgKiBDb25zdGFudCBzdHJpbmcgZGVzY3JpYmluZyB0aGUgaW50ZXJuYWwgdmVyc2lvbiBvZiB0aGUgbGlicmFyeQorICovCitjb25zdCBjaGFyICp4bWxQYXJzZXJWZXJzaW9uID0gTElCWE1MX1ZFUlNJT05fU1RSSU5HIExJQlhNTF9WRVJTSU9OX0VYVFJBOworCisvKioKKyAqIHhtbEJ1ZmZlckFsbG9jU2NoZW1lOgorICoKKyAqIEdsb2JhbCBzZXR0aW5nLCBkZWZhdWx0IGFsbG9jYXRpb24gcG9saWN5IGZvciBidWZmZXJzLCBkZWZhdWx0IGlzCisgKiBYTUxfQlVGRkVSX0FMTE9DX0VYQUNUCisgKi8KK3htbEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUgeG1sQnVmZmVyQWxsb2NTY2hlbWUgPSBYTUxfQlVGRkVSX0FMTE9DX0VYQUNUOworc3RhdGljIHhtbEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUgeG1sQnVmZmVyQWxsb2NTY2hlbWVUaHJEZWYgPSBYTUxfQlVGRkVSX0FMTE9DX0VYQUNUOworLyoqCisgKiB4bWxEZWZhdWx0QnVmZmVyU2l6ZToKKyAqCisgKiBHbG9iYWwgc2V0dGluZywgZGVmYXVsdCBidWZmZXIgc2l6ZS4gRGVmYXVsdCB2YWx1ZSBpcyBCQVNFX0JVRkZFUl9TSVpFCisgKi8KK2ludCB4bWxEZWZhdWx0QnVmZmVyU2l6ZSA9IEJBU0VfQlVGRkVSX1NJWkU7CitzdGF0aWMgaW50IHhtbERlZmF1bHRCdWZmZXJTaXplVGhyRGVmID0gQkFTRV9CVUZGRVJfU0laRTsKKworLyoKKyAqIFBhcnNlciBkZWZhdWx0cworICovCisKKy8qKgorICogb2xkWE1MV0Rjb21wYXRpYmlsaXR5OgorICoKKyAqIEdsb2JhbCBzZXR0aW5nLCBERVBSRUNBVEVELgorICovCitpbnQgb2xkWE1MV0Rjb21wYXRpYmlsaXR5ID0gMDsgLyogREVQUkVDQVRFRCAqLworLyoqCisgKiB4bWxQYXJzZXJEZWJ1Z0VudGl0aWVzOgorICoKKyAqIEdsb2JhbCBzZXR0aW5nLCBhc2tpbmcgdGhlIHBhcnNlciB0byBwcmludCBvdXQgZGVidWdnaW5nIGluZm9ybWF0aW9ucy4KKyAqIHdoaWxlIGhhbmRsaW5nIGVudGl0aWVzLgorICogRGlzYWJsZWQgYnkgZGVmYXVsdAorICovCitpbnQgeG1sUGFyc2VyRGVidWdFbnRpdGllcyA9IDA7CitzdGF0aWMgaW50IHhtbFBhcnNlckRlYnVnRW50aXRpZXNUaHJEZWYgPSAwOworLyoqCisgKiB4bWxEb1ZhbGlkaXR5Q2hlY2tpbmdEZWZhdWx0VmFsdWU6CisgKgorICogR2xvYmFsIHNldHRpbmcsIGluZGljYXRlIHRoYXQgdGhlIHBhcnNlciBzaG91bGQgd29yayBpbiB2YWxpZGF0aW5nIG1vZGUuCisgKiBEaXNhYmxlZCBieSBkZWZhdWx0LgorICovCitpbnQgeG1sRG9WYWxpZGl0eUNoZWNraW5nRGVmYXVsdFZhbHVlID0gMDsKK3N0YXRpYyBpbnQgeG1sRG9WYWxpZGl0eUNoZWNraW5nRGVmYXVsdFZhbHVlVGhyRGVmID0gMDsKKy8qKgorICogeG1sR2V0V2FybmluZ3NEZWZhdWx0VmFsdWU6CisgKgorICogR2xvYmFsIHNldHRpbmcsIGluZGljYXRlIHRoYXQgdGhlIHBhcnNlciBzaG91bGQgcHJvdmlkZSB3YXJuaW5ncy4KKyAqIEFjdGl2YXRlZCBieSBkZWZhdWx0LgorICovCitpbnQgeG1sR2V0V2FybmluZ3NEZWZhdWx0VmFsdWUgPSAxOworc3RhdGljIGludCB4bWxHZXRXYXJuaW5nc0RlZmF1bHRWYWx1ZVRockRlZiA9IDE7CisvKioKKyAqIHhtbExvYWRFeHREdGREZWZhdWx0VmFsdWU6CisgKgorICogR2xvYmFsIHNldHRpbmcsIGluZGljYXRlIHRoYXQgdGhlIHBhcnNlciBzaG91bGQgbG9hZCBEVEQgd2hpbGUgbm90CisgKiB2YWxpZGF0aW5nLgorICogRGlzYWJsZWQgYnkgZGVmYXVsdC4KKyAqLworaW50IHhtbExvYWRFeHREdGREZWZhdWx0VmFsdWUgPSAwOworc3RhdGljIGludCB4bWxMb2FkRXh0RHRkRGVmYXVsdFZhbHVlVGhyRGVmID0gMDsKKy8qKgorICogeG1sUGVkYW50aWNQYXJzZXJEZWZhdWx0VmFsdWU6CisgKgorICogR2xvYmFsIHNldHRpbmcsIGluZGljYXRlIHRoYXQgdGhlIHBhcnNlciBiZSBwZWRhbnRpYworICogRGlzYWJsZWQgYnkgZGVmYXVsdC4KKyAqLworaW50IHhtbFBlZGFudGljUGFyc2VyRGVmYXVsdFZhbHVlID0gMDsKK3N0YXRpYyBpbnQgeG1sUGVkYW50aWNQYXJzZXJEZWZhdWx0VmFsdWVUaHJEZWYgPSAwOworLyoqCisgKiB4bWxMaW5lTnVtYmVyc0RlZmF1bHRWYWx1ZToKKyAqCisgKiBHbG9iYWwgc2V0dGluZywgaW5kaWNhdGUgdGhhdCB0aGUgcGFyc2VyIHNob3VsZCBzdG9yZSB0aGUgbGluZSBudW1iZXIKKyAqIGluIHRoZSBjb250ZW50IGZpZWxkIG9mIGVsZW1lbnRzIGluIHRoZSBET00gdHJlZS4KKyAqIERpc2FibGVkIGJ5IGRlZmF1bHQgc2luY2UgdGhpcyBtYXkgbm90IGJlIHNhZmUgZm9yIG9sZCBjbGFzc2VzIG9mCisgKiBhcHBsaWNhdG9uLgorICovCitpbnQgeG1sTGluZU51bWJlcnNEZWZhdWx0VmFsdWUgPSAwOworc3RhdGljIGludCB4bWxMaW5lTnVtYmVyc0RlZmF1bHRWYWx1ZVRockRlZiA9IDA7CisvKioKKyAqIHhtbEtlZXBCbGFua3NEZWZhdWx0VmFsdWU6CisgKgorICogR2xvYmFsIHNldHRpbmcsIGluZGljYXRlIHRoYXQgdGhlIHBhcnNlciBzaG91bGQga2VlcCBhbGwgYmxhbmtzCisgKiBub2RlcyBmb3VuZCBpbiB0aGUgY29udGVudAorICogQWN0aXZhdGVkIGJ5IGRlZmF1bHQsIHRoaXMgaXMgYWN0dWFsbHkgbmVlZGVkIHRvIGhhdmUgdGhlIHBhcnNlcgorICogY29uZm9ybWFudCB0byB0aGUgWE1MIFJlY29tbWVuZGF0aW9uLCBob3dldmVyIHRoZSBvcHRpb24gaXMga2VwdAorICogZm9yIHNvbWUgYXBwbGljYXRpb25zIHNpbmNlIHRoaXMgd2FzIGxpYnhtbDEgZGVmYXVsdCBiZWhhdmlvdXIuCisgKi8KK2ludCB4bWxLZWVwQmxhbmtzRGVmYXVsdFZhbHVlID0gMTsKK3N0YXRpYyBpbnQgeG1sS2VlcEJsYW5rc0RlZmF1bHRWYWx1ZVRockRlZiA9IDE7CisvKioKKyAqIHhtbFN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHRWYWx1ZToKKyAqCisgKiBHbG9iYWwgc2V0dGluZywgaW5kaWNhdGUgdGhhdCB0aGUgcGFyc2VyIHNob3VsZCBub3QgZ2VuZXJhdGUgZW50aXR5CisgKiByZWZlcmVuY2VzIGJ1dCByZXBsYWNlIHRoZW0gd2l0aCB0aGUgYWN0dWFsIGNvbnRlbnQgb2YgdGhlIGVudGl0eQorICogRGlzYWJsZWQgYnkgZGVmYXVsdCwgdGhpcyBzaG91bGQgYmUgYWN0aXZhdGVkIHdoZW4gdXNpbmcgWFBhdGggc2luY2UKKyAqIHRoZSBYUGF0aCBkYXRhIG1vZGVsIHJlcXVpcmVzIGVudGl0aWVzIHJlcGxhY2VtZW50IGFuZCB0aGUgWFBhdGgKKyAqIGVuZ2luZSBkb2VzIG5vdCBoYW5kbGUgZW50aXRpZXMgcmVmZXJlbmNlcyB0cmFuc3BhcmVudGx5LgorICovCitpbnQgeG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdFZhbHVlID0gMDsKK3N0YXRpYyBpbnQgeG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdFZhbHVlVGhyRGVmID0gMDsKKworeG1sUmVnaXN0ZXJOb2RlRnVuYyB4bWxSZWdpc3Rlck5vZGVEZWZhdWx0VmFsdWUgPSBOVUxMOworc3RhdGljIHhtbFJlZ2lzdGVyTm9kZUZ1bmMgeG1sUmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlVGhyRGVmID0gTlVMTDsKK3htbERlcmVnaXN0ZXJOb2RlRnVuYyB4bWxEZXJlZ2lzdGVyTm9kZURlZmF1bHRWYWx1ZSA9IE5VTEw7CitzdGF0aWMgeG1sRGVyZWdpc3Rlck5vZGVGdW5jIHhtbERlcmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlVGhyRGVmID0gTlVMTDsKKworeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmMgeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZVZhbHVlID0gTlVMTDsKK3N0YXRpYyB4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYyB4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lVmFsdWVUaHJEZWYgPSBOVUxMOworCit4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmMgeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVWYWx1ZSA9IE5VTEw7CitzdGF0aWMgeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jIHhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lVmFsdWVUaHJEZWYgPSBOVUxMOworCisvKgorICogRXJyb3IgaGFuZGxpbmcKKyAqLworCisvKiB4bWxHZW5lcmljRXJyb3JGdW5jIHhtbEdlbmVyaWNFcnJvciA9IHhtbEdlbmVyaWNFcnJvckRlZmF1bHRGdW5jOyAqLworLyogTXVzdCBpbml0aWFsaXplIHhtbEdlbmVyaWNFcnJvciBpbiB4bWxJbml0UGFyc2VyICovCit2b2lkIFhNTENERUNMIHhtbEdlbmVyaWNFcnJvckRlZmF1bHRGdW5jCSh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCwKKwkJCQkgY29uc3QgY2hhciAqbXNnLAorCQkJCSAuLi4pOworLyoqCisgKiB4bWxHZW5lcmljRXJyb3I6CisgKgorICogR2xvYmFsIHNldHRpbmc6IGZ1bmN0aW9uIHVzZWQgZm9yIGdlbmVyaWMgZXJyb3IgY2FsbGJhY2tzCisgKi8KK3htbEdlbmVyaWNFcnJvckZ1bmMgeG1sR2VuZXJpY0Vycm9yID0geG1sR2VuZXJpY0Vycm9yRGVmYXVsdEZ1bmM7CitzdGF0aWMgeG1sR2VuZXJpY0Vycm9yRnVuYyB4bWxHZW5lcmljRXJyb3JUaHJEZWYgPSB4bWxHZW5lcmljRXJyb3JEZWZhdWx0RnVuYzsKKy8qKgorICogeG1sU3RydWN0dXJlZEVycm9yOgorICoKKyAqIEdsb2JhbCBzZXR0aW5nOiBmdW5jdGlvbiB1c2VkIGZvciBzdHJ1Y3R1cmVkIGVycm9yIGNhbGxiYWNrcworICovCit4bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jIHhtbFN0cnVjdHVyZWRFcnJvciA9IE5VTEw7CitzdGF0aWMgeG1sU3RydWN0dXJlZEVycm9yRnVuYyB4bWxTdHJ1Y3R1cmVkRXJyb3JUaHJEZWYgPSBOVUxMOworLyoqCisgKiB4bWxHZW5lcmljRXJyb3JDb250ZXh0OgorICoKKyAqIEdsb2JhbCBzZXR0aW5nIHBhc3NlZCB0byBnZW5lcmljIGVycm9yIGNhbGxiYWNrcworICovCit2b2lkICp4bWxHZW5lcmljRXJyb3JDb250ZXh0ID0gTlVMTDsKK3N0YXRpYyB2b2lkICp4bWxHZW5lcmljRXJyb3JDb250ZXh0VGhyRGVmID0gTlVMTDsKKy8qKgorICogeG1sU3RydWN0dXJlZEVycm9yQ29udGV4dDoKKyAqCisgKiBHbG9iYWwgc2V0dGluZyBwYXNzZWQgdG8gc3RydWN0dXJlZCBlcnJvciBjYWxsYmFja3MKKyAqLwordm9pZCAqeG1sU3RydWN0dXJlZEVycm9yQ29udGV4dCA9IE5VTEw7CitzdGF0aWMgdm9pZCAqeG1sU3RydWN0dXJlZEVycm9yQ29udGV4dFRockRlZiA9IE5VTEw7Cit4bWxFcnJvciB4bWxMYXN0RXJyb3I7CisKKy8qCisgKiBvdXRwdXQgZGVmYXVsdHMKKyAqLworLyoqCisgKiB4bWxJbmRlbnRUcmVlT3V0cHV0OgorICoKKyAqIEdsb2JhbCBzZXR0aW5nLCBhc2tpbmcgdGhlIHNlcmlhbGl6ZXIgdG8gaW5kZW50IHRoZSBvdXRwdXQgdHJlZSBieSBkZWZhdWx0CisgKiBFbmFibGVkIGJ5IGRlZmF1bHQKKyAqLworaW50IHhtbEluZGVudFRyZWVPdXRwdXQgPSAxOworc3RhdGljIGludCB4bWxJbmRlbnRUcmVlT3V0cHV0VGhyRGVmID0gMTsKKworLyoqCisgKiB4bWxUcmVlSW5kZW50U3RyaW5nOgorICoKKyAqIFRoZSBzdHJpbmcgdXNlZCB0byBkbyBvbmUtbGV2ZWwgaW5kZW50LiBCeSBkZWZhdWx0IGlzIGVxdWFsIHRvICIgICIgKHR3byBzcGFjZXMpCisgKi8KK2NvbnN0IGNoYXIgKnhtbFRyZWVJbmRlbnRTdHJpbmcgPSAiICAiOworc3RhdGljIGNvbnN0IGNoYXIgKnhtbFRyZWVJbmRlbnRTdHJpbmdUaHJEZWYgPSAiICAiOworCisvKioKKyAqIHhtbFNhdmVOb0VtcHR5VGFnczoKKyAqCisgKiBHbG9iYWwgc2V0dGluZywgYXNraW5nIHRoZSBzZXJpYWxpemVyIHRvIG5vdCBvdXRwdXQgZW1wdHkgdGFncworICogYXMgPGVtcHR5Lz4gYnV0IDxlbXB0eT48L2VtcHR5Pi4gdGhvc2UgdHdvIGZvcm1zIGFyZSB1bmRpc3Rpbmd1aXNoYWJsZQorICogb25jZSBwYXJzZWQuCisgKiBEaXNhYmxlZCBieSBkZWZhdWx0CisgKi8KK2ludCB4bWxTYXZlTm9FbXB0eVRhZ3MgPSAwOworc3RhdGljIGludCB4bWxTYXZlTm9FbXB0eVRhZ3NUaHJEZWYgPSAwOworCisjaWZkZWYgTElCWE1MX1NBWDFfRU5BQkxFRAorLyoqCisgKiB4bWxEZWZhdWx0U0FYSGFuZGxlcjoKKyAqCisgKiBEZWZhdWx0IFNBWCB2ZXJzaW9uMSBoYW5kbGVyIGZvciBYTUwsIGJ1aWxkcyB0aGUgRE9NIHRyZWUKKyAqLworeG1sU0FYSGFuZGxlclYxIHhtbERlZmF1bHRTQVhIYW5kbGVyID0geworICAgIHhtbFNBWDJJbnRlcm5hbFN1YnNldCwKKyAgICB4bWxTQVgySXNTdGFuZGFsb25lLAorICAgIHhtbFNBWDJIYXNJbnRlcm5hbFN1YnNldCwKKyAgICB4bWxTQVgySGFzRXh0ZXJuYWxTdWJzZXQsCisgICAgeG1sU0FYMlJlc29sdmVFbnRpdHksCisgICAgeG1sU0FYMkdldEVudGl0eSwKKyAgICB4bWxTQVgyRW50aXR5RGVjbCwKKyAgICB4bWxTQVgyTm90YXRpb25EZWNsLAorICAgIHhtbFNBWDJBdHRyaWJ1dGVEZWNsLAorICAgIHhtbFNBWDJFbGVtZW50RGVjbCwKKyAgICB4bWxTQVgyVW5wYXJzZWRFbnRpdHlEZWNsLAorICAgIHhtbFNBWDJTZXREb2N1bWVudExvY2F0b3IsCisgICAgeG1sU0FYMlN0YXJ0RG9jdW1lbnQsCisgICAgeG1sU0FYMkVuZERvY3VtZW50LAorICAgIHhtbFNBWDJTdGFydEVsZW1lbnQsCisgICAgeG1sU0FYMkVuZEVsZW1lbnQsCisgICAgeG1sU0FYMlJlZmVyZW5jZSwKKyAgICB4bWxTQVgyQ2hhcmFjdGVycywKKyAgICB4bWxTQVgyQ2hhcmFjdGVycywKKyAgICB4bWxTQVgyUHJvY2Vzc2luZ0luc3RydWN0aW9uLAorICAgIHhtbFNBWDJDb21tZW50LAorICAgIHhtbFBhcnNlcldhcm5pbmcsCisgICAgeG1sUGFyc2VyRXJyb3IsCisgICAgeG1sUGFyc2VyRXJyb3IsCisgICAgeG1sU0FYMkdldFBhcmFtZXRlckVudGl0eSwKKyAgICB4bWxTQVgyQ0RhdGFCbG9jaywKKyAgICB4bWxTQVgyRXh0ZXJuYWxTdWJzZXQsCisgICAgMCwKK307CisjZW5kaWYgLyogTElCWE1MX1NBWDFfRU5BQkxFRCAqLworCisvKioKKyAqIHhtbERlZmF1bHRTQVhMb2NhdG9yOgorICoKKyAqIFRoZSBkZWZhdWx0IFNBWCBMb2NhdG9yCisgKiB7IGdldFB1YmxpY0lkLCBnZXRTeXN0ZW1JZCwgZ2V0TGluZU51bWJlciwgZ2V0Q29sdW1uTnVtYmVyfQorICovCit4bWxTQVhMb2NhdG9yIHhtbERlZmF1bHRTQVhMb2NhdG9yID0geworICAgIHhtbFNBWDJHZXRQdWJsaWNJZCwKKyAgICB4bWxTQVgyR2V0U3lzdGVtSWQsCisgICAgeG1sU0FYMkdldExpbmVOdW1iZXIsCisgICAgeG1sU0FYMkdldENvbHVtbk51bWJlcgorfTsKKworI2lmZGVmIExJQlhNTF9IVE1MX0VOQUJMRUQKKy8qKgorICogaHRtbERlZmF1bHRTQVhIYW5kbGVyOgorICoKKyAqIERlZmF1bHQgb2xkIFNBWCB2MSBoYW5kbGVyIGZvciBIVE1MLCBidWlsZHMgdGhlIERPTSB0cmVlCisgKi8KK3htbFNBWEhhbmRsZXJWMSBodG1sRGVmYXVsdFNBWEhhbmRsZXIgPSB7CisgICAgeG1sU0FYMkludGVybmFsU3Vic2V0LAorICAgIE5VTEwsCisgICAgTlVMTCwKKyAgICBOVUxMLAorICAgIE5VTEwsCisgICAgeG1sU0FYMkdldEVudGl0eSwKKyAgICBOVUxMLAorICAgIE5VTEwsCisgICAgTlVMTCwKKyAgICBOVUxMLAorICAgIE5VTEwsCisgICAgeG1sU0FYMlNldERvY3VtZW50TG9jYXRvciwKKyAgICB4bWxTQVgyU3RhcnREb2N1bWVudCwKKyAgICB4bWxTQVgyRW5kRG9jdW1lbnQsCisgICAgeG1sU0FYMlN0YXJ0RWxlbWVudCwKKyAgICB4bWxTQVgyRW5kRWxlbWVudCwKKyAgICBOVUxMLAorICAgIHhtbFNBWDJDaGFyYWN0ZXJzLAorICAgIHhtbFNBWDJJZ25vcmFibGVXaGl0ZXNwYWNlLAorICAgIHhtbFNBWDJQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24sCisgICAgeG1sU0FYMkNvbW1lbnQsCisgICAgeG1sUGFyc2VyV2FybmluZywKKyAgICB4bWxQYXJzZXJFcnJvciwKKyAgICB4bWxQYXJzZXJFcnJvciwKKyAgICB4bWxTQVgyR2V0UGFyYW1ldGVyRW50aXR5LAorICAgIHhtbFNBWDJDRGF0YUJsb2NrLAorICAgIE5VTEwsCisgICAgMCwKK307CisjZW5kaWYgLyogTElCWE1MX0hUTUxfRU5BQkxFRCAqLworCisjaWZkZWYgTElCWE1MX0RPQ0JfRU5BQkxFRAorLyoqCisgKiBkb2NiRGVmYXVsdFNBWEhhbmRsZXI6CisgKgorICogRGVmYXVsdCBvbGQgU0FYIHYxIGhhbmRsZXIgZm9yIFNHTUwgRG9jQm9vaywgYnVpbGRzIHRoZSBET00gdHJlZQorICovCit4bWxTQVhIYW5kbGVyVjEgZG9jYkRlZmF1bHRTQVhIYW5kbGVyID0geworICAgIHhtbFNBWDJJbnRlcm5hbFN1YnNldCwKKyAgICB4bWxTQVgySXNTdGFuZGFsb25lLAorICAgIHhtbFNBWDJIYXNJbnRlcm5hbFN1YnNldCwKKyAgICB4bWxTQVgySGFzRXh0ZXJuYWxTdWJzZXQsCisgICAgeG1sU0FYMlJlc29sdmVFbnRpdHksCisgICAgeG1sU0FYMkdldEVudGl0eSwKKyAgICB4bWxTQVgyRW50aXR5RGVjbCwKKyAgICBOVUxMLAorICAgIE5VTEwsCisgICAgTlVMTCwKKyAgICBOVUxMLAorICAgIHhtbFNBWDJTZXREb2N1bWVudExvY2F0b3IsCisgICAgeG1sU0FYMlN0YXJ0RG9jdW1lbnQsCisgICAgeG1sU0FYMkVuZERvY3VtZW50LAorICAgIHhtbFNBWDJTdGFydEVsZW1lbnQsCisgICAgeG1sU0FYMkVuZEVsZW1lbnQsCisgICAgeG1sU0FYMlJlZmVyZW5jZSwKKyAgICB4bWxTQVgyQ2hhcmFjdGVycywKKyAgICB4bWxTQVgySWdub3JhYmxlV2hpdGVzcGFjZSwKKyAgICBOVUxMLAorICAgIHhtbFNBWDJDb21tZW50LAorICAgIHhtbFBhcnNlcldhcm5pbmcsCisgICAgeG1sUGFyc2VyRXJyb3IsCisgICAgeG1sUGFyc2VyRXJyb3IsCisgICAgeG1sU0FYMkdldFBhcmFtZXRlckVudGl0eSwKKyAgICBOVUxMLAorICAgIE5VTEwsCisgICAgMCwKK307CisjZW5kaWYgLyogTElCWE1MX0RPQ0JfRU5BQkxFRCAqLworCisvKioKKyAqIHhtbEluaXRpYWxpemVHbG9iYWxTdGF0ZToKKyAqIEBnczogYSBwb2ludGVyIHRvIGEgbmV3bHkgYWxsb2NhdGVkIGdsb2JhbCBzdGF0ZQorICoKKyAqIHhtbEluaXRpYWxpemVHbG9iYWxTdGF0ZSgpIGluaXRpYWxpemUgYSBnbG9iYWwgc3RhdGUgd2l0aCBhbGwgdGhlCisgKiBkZWZhdWx0IHZhbHVlcyBvZiB0aGUgbGlicmFyeS4KKyAqLwordm9pZAoreG1sSW5pdGlhbGl6ZUdsb2JhbFN0YXRlKHhtbEdsb2JhbFN0YXRlUHRyIGdzKQoreworI2lmZGVmIERFQlVHX0dMT0JBTFMKKyAgICBmcHJpbnRmKHN0ZGVyciwgIkluaXRpYWxpemluZyBnbG9iYWxzIGF0ICVsdSBmb3IgdGhyZWFkICVkXG4iLAorCSAgICAodW5zaWduZWQgbG9uZykgZ3MsIHhtbEdldFRocmVhZElkKCkpOworI2VuZGlmCisKKyAgICAvKgorICAgICAqIFBlcmZvcm0gaW5pdGlhbGl6YXRpb24gYXMgcmVxdWlyZWQgYnkgbGlieG1sCisgICAgICovCisgICAgaWYgKHhtbFRockRlZk11dGV4ID09IE5VTEwpCisgICAgICAgIHhtbEluaXRHbG9iYWxzKCk7CisKKyAgICB4bWxNdXRleExvY2soeG1sVGhyRGVmTXV0ZXgpOworCisjaWYgZGVmaW5lZChMSUJYTUxfRE9DQl9FTkFCTEVEKSAmJiBkZWZpbmVkKExJQlhNTF9MRUdBQ1lfRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfU0FYMV9FTkFCTEVEKQorICAgIGluaXRkb2NiRGVmYXVsdFNBWEhhbmRsZXIoJmdzLT5kb2NiRGVmYXVsdFNBWEhhbmRsZXIpOworI2VuZGlmCisjaWYgZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKSAmJiBkZWZpbmVkKExJQlhNTF9MRUdBQ1lfRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfU0FYMV9FTkFCTEVEKQorICAgIGluaXRodG1sRGVmYXVsdFNBWEhhbmRsZXIoJmdzLT5odG1sRGVmYXVsdFNBWEhhbmRsZXIpOworI2VuZGlmCisKKyAgICBncy0+b2xkWE1MV0Rjb21wYXRpYmlsaXR5ID0gMDsKKyAgICBncy0+eG1sQnVmZmVyQWxsb2NTY2hlbWUgPSB4bWxCdWZmZXJBbGxvY1NjaGVtZVRockRlZjsKKyAgICBncy0+eG1sRGVmYXVsdEJ1ZmZlclNpemUgPSB4bWxEZWZhdWx0QnVmZmVyU2l6ZVRockRlZjsKKyNpZiBkZWZpbmVkKExJQlhNTF9TQVgxX0VOQUJMRUQpICYmIGRlZmluZWQoTElCWE1MX0xFR0FDWV9FTkFCTEVEKQorICAgIGluaXR4bWxEZWZhdWx0U0FYSGFuZGxlcigmZ3MtPnhtbERlZmF1bHRTQVhIYW5kbGVyLCAxKTsKKyNlbmRpZiAvKiBMSUJYTUxfU0FYMV9FTkFCTEVEICovCisgICAgZ3MtPnhtbERlZmF1bHRTQVhMb2NhdG9yLmdldFB1YmxpY0lkID0geG1sU0FYMkdldFB1YmxpY0lkOworICAgIGdzLT54bWxEZWZhdWx0U0FYTG9jYXRvci5nZXRTeXN0ZW1JZCA9IHhtbFNBWDJHZXRTeXN0ZW1JZDsKKyAgICBncy0+eG1sRGVmYXVsdFNBWExvY2F0b3IuZ2V0TGluZU51bWJlciA9IHhtbFNBWDJHZXRMaW5lTnVtYmVyOworICAgIGdzLT54bWxEZWZhdWx0U0FYTG9jYXRvci5nZXRDb2x1bW5OdW1iZXIgPSB4bWxTQVgyR2V0Q29sdW1uTnVtYmVyOworICAgIGdzLT54bWxEb1ZhbGlkaXR5Q2hlY2tpbmdEZWZhdWx0VmFsdWUgPQorICAgICAgICAgeG1sRG9WYWxpZGl0eUNoZWNraW5nRGVmYXVsdFZhbHVlVGhyRGVmOworI2lmIGRlZmluZWQoREVCVUdfTUVNT1JZX0xPQ0FUSU9OKSB8IGRlZmluZWQoREVCVUdfTUVNT1JZKQorICAgIGdzLT54bWxGcmVlID0gKHhtbEZyZWVGdW5jKSB4bWxNZW1GcmVlOworICAgIGdzLT54bWxNYWxsb2MgPSAoeG1sTWFsbG9jRnVuYykgeG1sTWVtTWFsbG9jOworICAgIGdzLT54bWxNYWxsb2NBdG9taWMgPSAoeG1sTWFsbG9jRnVuYykgeG1sTWVtTWFsbG9jOworICAgIGdzLT54bWxSZWFsbG9jID0gKHhtbFJlYWxsb2NGdW5jKSB4bWxNZW1SZWFsbG9jOworICAgIGdzLT54bWxNZW1TdHJkdXAgPSAoeG1sU3RyZHVwRnVuYykgeG1sTWVtb3J5U3RyZHVwOworI2Vsc2UKKyAgICBncy0+eG1sRnJlZSA9ICh4bWxGcmVlRnVuYykgZnJlZTsKKyAgICBncy0+eG1sTWFsbG9jID0gKHhtbE1hbGxvY0Z1bmMpIG1hbGxvYzsKKyAgICBncy0+eG1sTWFsbG9jQXRvbWljID0gKHhtbE1hbGxvY0Z1bmMpIG1hbGxvYzsKKyAgICBncy0+eG1sUmVhbGxvYyA9ICh4bWxSZWFsbG9jRnVuYykgcmVhbGxvYzsKKyAgICBncy0+eG1sTWVtU3RyZHVwID0gKHhtbFN0cmR1cEZ1bmMpIHhtbFN0cmR1cDsKKyNlbmRpZgorICAgIGdzLT54bWxHZXRXYXJuaW5nc0RlZmF1bHRWYWx1ZSA9IHhtbEdldFdhcm5pbmdzRGVmYXVsdFZhbHVlVGhyRGVmOworICAgIGdzLT54bWxJbmRlbnRUcmVlT3V0cHV0ID0geG1sSW5kZW50VHJlZU91dHB1dFRockRlZjsKKyAgICBncy0+eG1sVHJlZUluZGVudFN0cmluZyA9IHhtbFRyZWVJbmRlbnRTdHJpbmdUaHJEZWY7CisgICAgZ3MtPnhtbEtlZXBCbGFua3NEZWZhdWx0VmFsdWUgPSB4bWxLZWVwQmxhbmtzRGVmYXVsdFZhbHVlVGhyRGVmOworICAgIGdzLT54bWxMaW5lTnVtYmVyc0RlZmF1bHRWYWx1ZSA9IHhtbExpbmVOdW1iZXJzRGVmYXVsdFZhbHVlVGhyRGVmOworICAgIGdzLT54bWxMb2FkRXh0RHRkRGVmYXVsdFZhbHVlID0geG1sTG9hZEV4dER0ZERlZmF1bHRWYWx1ZVRockRlZjsKKyAgICBncy0+eG1sUGFyc2VyRGVidWdFbnRpdGllcyA9IHhtbFBhcnNlckRlYnVnRW50aXRpZXNUaHJEZWY7CisgICAgZ3MtPnhtbFBhcnNlclZlcnNpb24gPSBMSUJYTUxfVkVSU0lPTl9TVFJJTkc7CisgICAgZ3MtPnhtbFBlZGFudGljUGFyc2VyRGVmYXVsdFZhbHVlID0geG1sUGVkYW50aWNQYXJzZXJEZWZhdWx0VmFsdWVUaHJEZWY7CisgICAgZ3MtPnhtbFNhdmVOb0VtcHR5VGFncyA9IHhtbFNhdmVOb0VtcHR5VGFnc1RockRlZjsKKyAgICBncy0+eG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdFZhbHVlID0KKyAgICAgICAgeG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdFZhbHVlVGhyRGVmOworCisgICAgZ3MtPnhtbEdlbmVyaWNFcnJvciA9IHhtbEdlbmVyaWNFcnJvclRockRlZjsKKyAgICBncy0+eG1sU3RydWN0dXJlZEVycm9yID0geG1sU3RydWN0dXJlZEVycm9yVGhyRGVmOworICAgIGdzLT54bWxHZW5lcmljRXJyb3JDb250ZXh0ID0geG1sR2VuZXJpY0Vycm9yQ29udGV4dFRockRlZjsKKyAgICBncy0+eG1sU3RydWN0dXJlZEVycm9yQ29udGV4dCA9IHhtbFN0cnVjdHVyZWRFcnJvckNvbnRleHRUaHJEZWY7CisgICAgZ3MtPnhtbFJlZ2lzdGVyTm9kZURlZmF1bHRWYWx1ZSA9IHhtbFJlZ2lzdGVyTm9kZURlZmF1bHRWYWx1ZVRockRlZjsKKyAgICBncy0+eG1sRGVyZWdpc3Rlck5vZGVEZWZhdWx0VmFsdWUgPSB4bWxEZXJlZ2lzdGVyTm9kZURlZmF1bHRWYWx1ZVRockRlZjsKKworCWdzLT54bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lVmFsdWUgPSB4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lVmFsdWVUaHJEZWY7CisJZ3MtPnhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lVmFsdWUgPSB4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZVZhbHVlVGhyRGVmOworICAgIG1lbXNldCgmZ3MtPnhtbExhc3RFcnJvciwgMCwgc2l6ZW9mKHhtbEVycm9yKSk7CisKKyAgICB4bWxNdXRleFVubG9jayh4bWxUaHJEZWZNdXRleCk7Cit9CisKKy8qKgorICogRE9DX0RJU0FCTEUgOiB3ZSBpZ25vcmUgbWlzc2luZyBkb2MgZm9yIHRoZSB4bWxUaHJEZWYgZnVuY3Rpb25zLAorICogICAgICAgICAgICAgICB0aG9zZSBhcmUgcmVhbGx5IGludGVybmFsIHdvcmsKKyAqLwordm9pZAoreG1sVGhyRGVmU2V0R2VuZXJpY0Vycm9yRnVuYyh2b2lkICpjdHgsIHhtbEdlbmVyaWNFcnJvckZ1bmMgaGFuZGxlcikgeworICAgIHhtbE11dGV4TG9jayh4bWxUaHJEZWZNdXRleCk7CisgICAgeG1sR2VuZXJpY0Vycm9yQ29udGV4dFRockRlZiA9IGN0eDsKKyAgICBpZiAoaGFuZGxlciAhPSBOVUxMKQorCXhtbEdlbmVyaWNFcnJvclRockRlZiA9IGhhbmRsZXI7CisgICAgZWxzZQorCXhtbEdlbmVyaWNFcnJvclRockRlZiA9IHhtbEdlbmVyaWNFcnJvckRlZmF1bHRGdW5jOworICAgIHhtbE11dGV4VW5sb2NrKHhtbFRockRlZk11dGV4KTsKK30KKwordm9pZAoreG1sVGhyRGVmU2V0U3RydWN0dXJlZEVycm9yRnVuYyh2b2lkICpjdHgsIHhtbFN0cnVjdHVyZWRFcnJvckZ1bmMgaGFuZGxlcikgeworICAgIHhtbE11dGV4TG9jayh4bWxUaHJEZWZNdXRleCk7CisgICAgeG1sU3RydWN0dXJlZEVycm9yQ29udGV4dFRockRlZiA9IGN0eDsKKyAgICB4bWxTdHJ1Y3R1cmVkRXJyb3JUaHJEZWYgPSBoYW5kbGVyOworICAgIHhtbE11dGV4VW5sb2NrKHhtbFRockRlZk11dGV4KTsKK30KKworLyoqCisgKiB4bWxSZWdpc3Rlck5vZGVEZWZhdWx0OgorICogQGZ1bmM6IGZ1bmN0aW9uIHBvaW50ZXIgdG8gdGhlIG5ldyBSZWdpc3Rlck5vZGVGdW5jCisgKgorICogUmVnaXN0ZXJzIGEgY2FsbGJhY2sgZm9yIG5vZGUgY3JlYXRpb24KKyAqCisgKiBSZXR1cm5zIHRoZSBvbGQgdmFsdWUgb2YgdGhlIHJlZ2lzdHJhdGlvbiBmdW5jdGlvbgorICovCit4bWxSZWdpc3Rlck5vZGVGdW5jCit4bWxSZWdpc3Rlck5vZGVEZWZhdWx0KHhtbFJlZ2lzdGVyTm9kZUZ1bmMgZnVuYykKK3sKKyAgICB4bWxSZWdpc3Rlck5vZGVGdW5jIG9sZCA9IHhtbFJlZ2lzdGVyTm9kZURlZmF1bHRWYWx1ZTsKKworICAgIF9feG1sUmVnaXN0ZXJDYWxsYmFja3MgPSAxOworICAgIHhtbFJlZ2lzdGVyTm9kZURlZmF1bHRWYWx1ZSA9IGZ1bmM7CisgICAgcmV0dXJuKG9sZCk7Cit9CisKK3htbFJlZ2lzdGVyTm9kZUZ1bmMKK3htbFRockRlZlJlZ2lzdGVyTm9kZURlZmF1bHQoeG1sUmVnaXN0ZXJOb2RlRnVuYyBmdW5jKQoreworICAgIHhtbFJlZ2lzdGVyTm9kZUZ1bmMgb2xkOworCisgICAgeG1sTXV0ZXhMb2NrKHhtbFRockRlZk11dGV4KTsKKyAgICBvbGQgPSB4bWxSZWdpc3Rlck5vZGVEZWZhdWx0VmFsdWVUaHJEZWY7CisKKyAgICBfX3htbFJlZ2lzdGVyQ2FsbGJhY2tzID0gMTsKKyAgICB4bWxSZWdpc3Rlck5vZGVEZWZhdWx0VmFsdWVUaHJEZWYgPSBmdW5jOworICAgIHhtbE11dGV4VW5sb2NrKHhtbFRockRlZk11dGV4KTsKKworICAgIHJldHVybihvbGQpOworfQorCisvKioKKyAqIHhtbERlcmVnaXN0ZXJOb2RlRGVmYXVsdDoKKyAqIEBmdW5jOiBmdW5jdGlvbiBwb2ludGVyIHRvIHRoZSBuZXcgRGVyZWdpc3Rlck5vZGVGdW5jCisgKgorICogUmVnaXN0ZXJzIGEgY2FsbGJhY2sgZm9yIG5vZGUgZGVzdHJ1Y3Rpb24KKyAqCisgKiBSZXR1cm5zIHRoZSBwcmV2aW91cyB2YWx1ZSBvZiB0aGUgZGVyZWdpc3RyYXRpb24gZnVuY3Rpb24KKyAqLworeG1sRGVyZWdpc3Rlck5vZGVGdW5jCit4bWxEZXJlZ2lzdGVyTm9kZURlZmF1bHQoeG1sRGVyZWdpc3Rlck5vZGVGdW5jIGZ1bmMpCit7CisgICAgeG1sRGVyZWdpc3Rlck5vZGVGdW5jIG9sZCA9IHhtbERlcmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlOworCisgICAgX194bWxSZWdpc3RlckNhbGxiYWNrcyA9IDE7CisgICAgeG1sRGVyZWdpc3Rlck5vZGVEZWZhdWx0VmFsdWUgPSBmdW5jOworICAgIHJldHVybihvbGQpOworfQorCit4bWxEZXJlZ2lzdGVyTm9kZUZ1bmMKK3htbFRockRlZkRlcmVnaXN0ZXJOb2RlRGVmYXVsdCh4bWxEZXJlZ2lzdGVyTm9kZUZ1bmMgZnVuYykKK3sKKyAgICB4bWxEZXJlZ2lzdGVyTm9kZUZ1bmMgb2xkOworCisgICAgeG1sTXV0ZXhMb2NrKHhtbFRockRlZk11dGV4KTsKKyAgICBvbGQgPSB4bWxEZXJlZ2lzdGVyTm9kZURlZmF1bHRWYWx1ZVRockRlZjsKKworICAgIF9feG1sUmVnaXN0ZXJDYWxsYmFja3MgPSAxOworICAgIHhtbERlcmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlVGhyRGVmID0gZnVuYzsKKyAgICB4bWxNdXRleFVubG9jayh4bWxUaHJEZWZNdXRleCk7CisKKyAgICByZXR1cm4ob2xkKTsKK30KKworeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmMKK3htbFRockRlZlBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0KHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jIGZ1bmMpCit7CisgICAgeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmMgb2xkOworCisgICAgeG1sTXV0ZXhMb2NrKHhtbFRockRlZk11dGV4KTsKKyAgICBvbGQgPSB4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lVmFsdWVUaHJEZWY7CisgICAgaWYgKG9sZCA9PSBOVUxMKSB7CisJCW9sZCA9IF9feG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZTsKKwl9CisKKyAgICB4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lVmFsdWVUaHJEZWYgPSBmdW5jOworICAgIHhtbE11dGV4VW5sb2NrKHhtbFRockRlZk11dGV4KTsKKworICAgIHJldHVybihvbGQpOworfQorCit4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmMKK3htbFRockRlZk91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRGVmYXVsdCh4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmMgZnVuYykKK3sKKyAgICB4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmMgb2xkOworCisgICAgeG1sTXV0ZXhMb2NrKHhtbFRockRlZk11dGV4KTsKKyAgICBvbGQgPSB4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZVZhbHVlVGhyRGVmOworI2lmZGVmIExJQlhNTF9PVVRQVVRfRU5BQkxFRAorICAgIGlmIChvbGQgPT0gTlVMTCkgeworCQlvbGQgPSBfX3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lOworCX0KKyNlbmRpZgorICAgIHhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lVmFsdWVUaHJEZWYgPSBmdW5jOworICAgIHhtbE11dGV4VW5sb2NrKHhtbFRockRlZk11dGV4KTsKKworICAgIHJldHVybihvbGQpOworfQorCisjaWZkZWYgTElCWE1MX0RPQ0JfRU5BQkxFRAorI3VuZGVmCWRvY2JEZWZhdWx0U0FYSGFuZGxlcgoreG1sU0FYSGFuZGxlclYxICoKK19fZG9jYkRlZmF1bHRTQVhIYW5kbGVyKHZvaWQpIHsKKyAgICBpZiAoSVNfTUFJTl9USFJFQUQpCisJcmV0dXJuICgmZG9jYkRlZmF1bHRTQVhIYW5kbGVyKTsKKyAgICBlbHNlCisJcmV0dXJuICgmeG1sR2V0R2xvYmFsU3RhdGUoKS0+ZG9jYkRlZmF1bHRTQVhIYW5kbGVyKTsKK30KKyNlbmRpZgorCisjaWZkZWYgTElCWE1MX0hUTUxfRU5BQkxFRAorI3VuZGVmCWh0bWxEZWZhdWx0U0FYSGFuZGxlcgoreG1sU0FYSGFuZGxlclYxICoKK19faHRtbERlZmF1bHRTQVhIYW5kbGVyKHZvaWQpIHsKKyAgICBpZiAoSVNfTUFJTl9USFJFQUQpCisJcmV0dXJuICgmaHRtbERlZmF1bHRTQVhIYW5kbGVyKTsKKyAgICBlbHNlCisJcmV0dXJuICgmeG1sR2V0R2xvYmFsU3RhdGUoKS0+aHRtbERlZmF1bHRTQVhIYW5kbGVyKTsKK30KKyNlbmRpZgorCisjdW5kZWYgeG1sTGFzdEVycm9yCit4bWxFcnJvciAqCitfX3htbExhc3RFcnJvcih2b2lkKSB7CisgICAgaWYgKElTX01BSU5fVEhSRUFEKQorCXJldHVybiAoJnhtbExhc3RFcnJvcik7CisgICAgZWxzZQorCXJldHVybiAoJnhtbEdldEdsb2JhbFN0YXRlKCktPnhtbExhc3RFcnJvcik7Cit9CisKKy8qCisgKiBUaGUgZm9sbG93aW5nIG1lbW9yeSByb3V0aW5lcyB3ZXJlIGFwcGFyZW50bHkgbG9zdCBhdCBzb21lIHBvaW50LAorICogYW5kIHdlcmUgcmUtaW5zZXJ0ZWQgYXQgdGhpcyBwb2ludCBvbiBKdW5lIDEwLCAyMDA0LiAgSG9wZSBpdCdzCisgKiB0aGUgcmlnaHQgcGxhY2UgZm9yIHRoZW0gOi0pCisgKi8KKyNpZiBkZWZpbmVkKExJQlhNTF9USFJFQURfQUxMT0NfRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfVEhSRUFEX0VOQUJMRUQpCisjdW5kZWYgeG1sTWFsbG9jCit4bWxNYWxsb2NGdW5jICoKK19feG1sTWFsbG9jKHZvaWQpeworICAgIGlmIChJU19NQUlOX1RIUkVBRCkKKyAgICAgICAgcmV0dXJuICgmeG1sTWFsbG9jKTsKKyAgICBlbHNlCisJcmV0dXJuICgmeG1sR2V0R2xvYmFsU3RhdGUoKS0+eG1sTWFsbG9jKTsKK30KKworI3VuZGVmIHhtbE1hbGxvY0F0b21pYworeG1sTWFsbG9jRnVuYyAqCitfX3htbE1hbGxvY0F0b21pYyh2b2lkKXsKKyAgICBpZiAoSVNfTUFJTl9USFJFQUQpCisgICAgICAgIHJldHVybiAoJnhtbE1hbGxvY0F0b21pYyk7CisgICAgZWxzZQorICAgICAgICByZXR1cm4gKCZ4bWxHZXRHbG9iYWxTdGF0ZSgpLT54bWxNYWxsb2NBdG9taWMpOworfQorCisjdW5kZWYgeG1sUmVhbGxvYworeG1sUmVhbGxvY0Z1bmMgKgorX194bWxSZWFsbG9jKHZvaWQpeworICAgIGlmIChJU19NQUlOX1RIUkVBRCkKKyAgICAgICAgcmV0dXJuICgmeG1sUmVhbGxvYyk7CisgICAgZWxzZQorICAgICAgICByZXR1cm4gKCZ4bWxHZXRHbG9iYWxTdGF0ZSgpLT54bWxSZWFsbG9jKTsKK30KKworI3VuZGVmIHhtbEZyZWUKK3htbEZyZWVGdW5jICoKK19feG1sRnJlZSh2b2lkKXsKKyAgICBpZiAoSVNfTUFJTl9USFJFQUQpCisgICAgICAgIHJldHVybiAoJnhtbEZyZWUpOworICAgIGVsc2UKKyAgICAgICAgcmV0dXJuICgmeG1sR2V0R2xvYmFsU3RhdGUoKS0+eG1sRnJlZSk7Cit9CisKK3htbFN0cmR1cEZ1bmMgKgorX194bWxNZW1TdHJkdXAodm9pZCl7CisgICAgaWYgKElTX01BSU5fVEhSRUFEKQorICAgICAgICByZXR1cm4gKCZ4bWxNZW1TdHJkdXApOworICAgIGVsc2UKKyAgICAgICAgcmV0dXJuICgmeG1sR2V0R2xvYmFsU3RhdGUoKS0+eG1sTWVtU3RyZHVwKTsKK30KKworI2VuZGlmCisKKy8qCisgKiBFdmVyeXRoaW5nIHN0YXJ0aW5nIGZyb20gdGhlIGxpbmUgYmVsb3cgaXMKKyAqIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IGJ1aWxkX2dsb2IucHkuCisgKiBEbyBub3QgbW9kaWZ5IHRoZSBwcmV2aW91cyBsaW5lLgorICovCisKKworI3VuZGVmCW9sZFhNTFdEY29tcGF0aWJpbGl0eQoraW50ICoKK19fb2xkWE1MV0Rjb21wYXRpYmlsaXR5KHZvaWQpIHsKKyAgICBpZiAoSVNfTUFJTl9USFJFQUQpCisJcmV0dXJuICgmb2xkWE1MV0Rjb21wYXRpYmlsaXR5KTsKKyAgICBlbHNlCisJcmV0dXJuICgmeG1sR2V0R2xvYmFsU3RhdGUoKS0+b2xkWE1MV0Rjb21wYXRpYmlsaXR5KTsKK30KKworI3VuZGVmCXhtbEJ1ZmZlckFsbG9jU2NoZW1lCit4bWxCdWZmZXJBbGxvY2F0aW9uU2NoZW1lICoKK19feG1sQnVmZmVyQWxsb2NTY2hlbWUodm9pZCkgeworICAgIGlmIChJU19NQUlOX1RIUkVBRCkKKwlyZXR1cm4gKCZ4bWxCdWZmZXJBbGxvY1NjaGVtZSk7CisgICAgZWxzZQorCXJldHVybiAoJnhtbEdldEdsb2JhbFN0YXRlKCktPnhtbEJ1ZmZlckFsbG9jU2NoZW1lKTsKK30KK3htbEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUgeG1sVGhyRGVmQnVmZmVyQWxsb2NTY2hlbWUoeG1sQnVmZmVyQWxsb2NhdGlvblNjaGVtZSB2KSB7CisgICAgeG1sQnVmZmVyQWxsb2NhdGlvblNjaGVtZSByZXQ7CisgICAgeG1sTXV0ZXhMb2NrKHhtbFRockRlZk11dGV4KTsKKyAgICByZXQgPSB4bWxCdWZmZXJBbGxvY1NjaGVtZVRockRlZjsKKyAgICB4bWxCdWZmZXJBbGxvY1NjaGVtZVRockRlZiA9IHY7CisgICAgeG1sTXV0ZXhVbmxvY2soeG1sVGhyRGVmTXV0ZXgpOworICAgIHJldHVybiByZXQ7Cit9CisKKyN1bmRlZgl4bWxEZWZhdWx0QnVmZmVyU2l6ZQoraW50ICoKK19feG1sRGVmYXVsdEJ1ZmZlclNpemUodm9pZCkgeworICAgIGlmIChJU19NQUlOX1RIUkVBRCkKKwlyZXR1cm4gKCZ4bWxEZWZhdWx0QnVmZmVyU2l6ZSk7CisgICAgZWxzZQorCXJldHVybiAoJnhtbEdldEdsb2JhbFN0YXRlKCktPnhtbERlZmF1bHRCdWZmZXJTaXplKTsKK30KK2ludCB4bWxUaHJEZWZEZWZhdWx0QnVmZmVyU2l6ZShpbnQgdikgeworICAgIGludCByZXQ7CisgICAgeG1sTXV0ZXhMb2NrKHhtbFRockRlZk11dGV4KTsKKyAgICByZXQgPSB4bWxEZWZhdWx0QnVmZmVyU2l6ZVRockRlZjsKKyAgICB4bWxEZWZhdWx0QnVmZmVyU2l6ZVRockRlZiA9IHY7CisgICAgeG1sTXV0ZXhVbmxvY2soeG1sVGhyRGVmTXV0ZXgpOworICAgIHJldHVybiByZXQ7Cit9CisKKyNpZmRlZiBMSUJYTUxfU0FYMV9FTkFCTEVECisjdW5kZWYJeG1sRGVmYXVsdFNBWEhhbmRsZXIKK3htbFNBWEhhbmRsZXJWMSAqCitfX3htbERlZmF1bHRTQVhIYW5kbGVyKHZvaWQpIHsKKyAgICBpZiAoSVNfTUFJTl9USFJFQUQpCisJcmV0dXJuICgmeG1sRGVmYXVsdFNBWEhhbmRsZXIpOworICAgIGVsc2UKKwlyZXR1cm4gKCZ4bWxHZXRHbG9iYWxTdGF0ZSgpLT54bWxEZWZhdWx0U0FYSGFuZGxlcik7Cit9CisjZW5kaWYgLyogTElCWE1MX1NBWDFfRU5BQkxFRCAqLworCisjdW5kZWYJeG1sRGVmYXVsdFNBWExvY2F0b3IKK3htbFNBWExvY2F0b3IgKgorX194bWxEZWZhdWx0U0FYTG9jYXRvcih2b2lkKSB7CisgICAgaWYgKElTX01BSU5fVEhSRUFEKQorCXJldHVybiAoJnhtbERlZmF1bHRTQVhMb2NhdG9yKTsKKyAgICBlbHNlCisJcmV0dXJuICgmeG1sR2V0R2xvYmFsU3RhdGUoKS0+eG1sRGVmYXVsdFNBWExvY2F0b3IpOworfQorCisjdW5kZWYJeG1sRG9WYWxpZGl0eUNoZWNraW5nRGVmYXVsdFZhbHVlCitpbnQgKgorX194bWxEb1ZhbGlkaXR5Q2hlY2tpbmdEZWZhdWx0VmFsdWUodm9pZCkgeworICAgIGlmIChJU19NQUlOX1RIUkVBRCkKKwlyZXR1cm4gKCZ4bWxEb1ZhbGlkaXR5Q2hlY2tpbmdEZWZhdWx0VmFsdWUpOworICAgIGVsc2UKKwlyZXR1cm4gKCZ4bWxHZXRHbG9iYWxTdGF0ZSgpLT54bWxEb1ZhbGlkaXR5Q2hlY2tpbmdEZWZhdWx0VmFsdWUpOworfQoraW50IHhtbFRockRlZkRvVmFsaWRpdHlDaGVja2luZ0RlZmF1bHRWYWx1ZShpbnQgdikgeworICAgIGludCByZXQ7CisgICAgeG1sTXV0ZXhMb2NrKHhtbFRockRlZk11dGV4KTsKKyAgICByZXQgPSB4bWxEb1ZhbGlkaXR5Q2hlY2tpbmdEZWZhdWx0VmFsdWVUaHJEZWY7CisgICAgeG1sRG9WYWxpZGl0eUNoZWNraW5nRGVmYXVsdFZhbHVlVGhyRGVmID0gdjsKKyAgICB4bWxNdXRleFVubG9jayh4bWxUaHJEZWZNdXRleCk7CisgICAgcmV0dXJuIHJldDsKK30KKworI3VuZGVmCXhtbEdlbmVyaWNFcnJvcgoreG1sR2VuZXJpY0Vycm9yRnVuYyAqCitfX3htbEdlbmVyaWNFcnJvcih2b2lkKSB7CisgICAgaWYgKElTX01BSU5fVEhSRUFEKQorCXJldHVybiAoJnhtbEdlbmVyaWNFcnJvcik7CisgICAgZWxzZQorCXJldHVybiAoJnhtbEdldEdsb2JhbFN0YXRlKCktPnhtbEdlbmVyaWNFcnJvcik7Cit9CisKKyN1bmRlZgl4bWxTdHJ1Y3R1cmVkRXJyb3IKK3htbFN0cnVjdHVyZWRFcnJvckZ1bmMgKgorX194bWxTdHJ1Y3R1cmVkRXJyb3Iodm9pZCkgeworICAgIGlmIChJU19NQUlOX1RIUkVBRCkKKwlyZXR1cm4gKCZ4bWxTdHJ1Y3R1cmVkRXJyb3IpOworICAgIGVsc2UKKwlyZXR1cm4gKCZ4bWxHZXRHbG9iYWxTdGF0ZSgpLT54bWxTdHJ1Y3R1cmVkRXJyb3IpOworfQorCisjdW5kZWYJeG1sR2VuZXJpY0Vycm9yQ29udGV4dAordm9pZCAqICoKK19feG1sR2VuZXJpY0Vycm9yQ29udGV4dCh2b2lkKSB7CisgICAgaWYgKElTX01BSU5fVEhSRUFEKQorCXJldHVybiAoJnhtbEdlbmVyaWNFcnJvckNvbnRleHQpOworICAgIGVsc2UKKwlyZXR1cm4gKCZ4bWxHZXRHbG9iYWxTdGF0ZSgpLT54bWxHZW5lcmljRXJyb3JDb250ZXh0KTsKK30KKworI3VuZGVmCXhtbFN0cnVjdHVyZWRFcnJvckNvbnRleHQKK3ZvaWQgKiAqCitfX3htbFN0cnVjdHVyZWRFcnJvckNvbnRleHQodm9pZCkgeworICAgIGlmIChJU19NQUlOX1RIUkVBRCkKKwlyZXR1cm4gKCZ4bWxTdHJ1Y3R1cmVkRXJyb3JDb250ZXh0KTsKKyAgICBlbHNlCisJcmV0dXJuICgmeG1sR2V0R2xvYmFsU3RhdGUoKS0+eG1sU3RydWN0dXJlZEVycm9yQ29udGV4dCk7Cit9CisKKyN1bmRlZgl4bWxHZXRXYXJuaW5nc0RlZmF1bHRWYWx1ZQoraW50ICoKK19feG1sR2V0V2FybmluZ3NEZWZhdWx0VmFsdWUodm9pZCkgeworICAgIGlmIChJU19NQUlOX1RIUkVBRCkKKwlyZXR1cm4gKCZ4bWxHZXRXYXJuaW5nc0RlZmF1bHRWYWx1ZSk7CisgICAgZWxzZQorCXJldHVybiAoJnhtbEdldEdsb2JhbFN0YXRlKCktPnhtbEdldFdhcm5pbmdzRGVmYXVsdFZhbHVlKTsKK30KK2ludCB4bWxUaHJEZWZHZXRXYXJuaW5nc0RlZmF1bHRWYWx1ZShpbnQgdikgeworICAgIGludCByZXQ7CisgICAgeG1sTXV0ZXhMb2NrKHhtbFRockRlZk11dGV4KTsKKyAgICByZXQgPSB4bWxHZXRXYXJuaW5nc0RlZmF1bHRWYWx1ZVRockRlZjsKKyAgICB4bWxHZXRXYXJuaW5nc0RlZmF1bHRWYWx1ZVRockRlZiA9IHY7CisgICAgeG1sTXV0ZXhVbmxvY2soeG1sVGhyRGVmTXV0ZXgpOworICAgIHJldHVybiByZXQ7Cit9CisKKyN1bmRlZgl4bWxJbmRlbnRUcmVlT3V0cHV0CitpbnQgKgorX194bWxJbmRlbnRUcmVlT3V0cHV0KHZvaWQpIHsKKyAgICBpZiAoSVNfTUFJTl9USFJFQUQpCisJcmV0dXJuICgmeG1sSW5kZW50VHJlZU91dHB1dCk7CisgICAgZWxzZQorCXJldHVybiAoJnhtbEdldEdsb2JhbFN0YXRlKCktPnhtbEluZGVudFRyZWVPdXRwdXQpOworfQoraW50IHhtbFRockRlZkluZGVudFRyZWVPdXRwdXQoaW50IHYpIHsKKyAgICBpbnQgcmV0OworICAgIHhtbE11dGV4TG9jayh4bWxUaHJEZWZNdXRleCk7CisgICAgcmV0ID0geG1sSW5kZW50VHJlZU91dHB1dFRockRlZjsKKyAgICB4bWxJbmRlbnRUcmVlT3V0cHV0VGhyRGVmID0gdjsKKyAgICB4bWxNdXRleFVubG9jayh4bWxUaHJEZWZNdXRleCk7CisgICAgcmV0dXJuIHJldDsKK30KKworI3VuZGVmCXhtbFRyZWVJbmRlbnRTdHJpbmcKK2NvbnN0IGNoYXIgKiAqCitfX3htbFRyZWVJbmRlbnRTdHJpbmcodm9pZCkgeworICAgIGlmIChJU19NQUlOX1RIUkVBRCkKKwlyZXR1cm4gKCZ4bWxUcmVlSW5kZW50U3RyaW5nKTsKKyAgICBlbHNlCisJcmV0dXJuICgmeG1sR2V0R2xvYmFsU3RhdGUoKS0+eG1sVHJlZUluZGVudFN0cmluZyk7Cit9Citjb25zdCBjaGFyICogeG1sVGhyRGVmVHJlZUluZGVudFN0cmluZyhjb25zdCBjaGFyICogdikgeworICAgIGNvbnN0IGNoYXIgKiByZXQ7CisgICAgeG1sTXV0ZXhMb2NrKHhtbFRockRlZk11dGV4KTsKKyAgICByZXQgPSB4bWxUcmVlSW5kZW50U3RyaW5nVGhyRGVmOworICAgIHhtbFRyZWVJbmRlbnRTdHJpbmdUaHJEZWYgPSB2OworICAgIHhtbE11dGV4VW5sb2NrKHhtbFRockRlZk11dGV4KTsKKyAgICByZXR1cm4gcmV0OworfQorCisjdW5kZWYJeG1sS2VlcEJsYW5rc0RlZmF1bHRWYWx1ZQoraW50ICoKK19feG1sS2VlcEJsYW5rc0RlZmF1bHRWYWx1ZSh2b2lkKSB7CisgICAgaWYgKElTX01BSU5fVEhSRUFEKQorCXJldHVybiAoJnhtbEtlZXBCbGFua3NEZWZhdWx0VmFsdWUpOworICAgIGVsc2UKKwlyZXR1cm4gKCZ4bWxHZXRHbG9iYWxTdGF0ZSgpLT54bWxLZWVwQmxhbmtzRGVmYXVsdFZhbHVlKTsKK30KK2ludCB4bWxUaHJEZWZLZWVwQmxhbmtzRGVmYXVsdFZhbHVlKGludCB2KSB7CisgICAgaW50IHJldDsKKyAgICB4bWxNdXRleExvY2soeG1sVGhyRGVmTXV0ZXgpOworICAgIHJldCA9IHhtbEtlZXBCbGFua3NEZWZhdWx0VmFsdWVUaHJEZWY7CisgICAgeG1sS2VlcEJsYW5rc0RlZmF1bHRWYWx1ZVRockRlZiA9IHY7CisgICAgeG1sTXV0ZXhVbmxvY2soeG1sVGhyRGVmTXV0ZXgpOworICAgIHJldHVybiByZXQ7Cit9CisKKyN1bmRlZgl4bWxMaW5lTnVtYmVyc0RlZmF1bHRWYWx1ZQoraW50ICoKK19feG1sTGluZU51bWJlcnNEZWZhdWx0VmFsdWUodm9pZCkgeworICAgIGlmIChJU19NQUlOX1RIUkVBRCkKKwlyZXR1cm4gKCZ4bWxMaW5lTnVtYmVyc0RlZmF1bHRWYWx1ZSk7CisgICAgZWxzZQorCXJldHVybiAoJnhtbEdldEdsb2JhbFN0YXRlKCktPnhtbExpbmVOdW1iZXJzRGVmYXVsdFZhbHVlKTsKK30KK2ludCB4bWxUaHJEZWZMaW5lTnVtYmVyc0RlZmF1bHRWYWx1ZShpbnQgdikgeworICAgIGludCByZXQ7CisgICAgeG1sTXV0ZXhMb2NrKHhtbFRockRlZk11dGV4KTsKKyAgICByZXQgPSB4bWxMaW5lTnVtYmVyc0RlZmF1bHRWYWx1ZVRockRlZjsKKyAgICB4bWxMaW5lTnVtYmVyc0RlZmF1bHRWYWx1ZVRockRlZiA9IHY7CisgICAgeG1sTXV0ZXhVbmxvY2soeG1sVGhyRGVmTXV0ZXgpOworICAgIHJldHVybiByZXQ7Cit9CisKKyN1bmRlZgl4bWxMb2FkRXh0RHRkRGVmYXVsdFZhbHVlCitpbnQgKgorX194bWxMb2FkRXh0RHRkRGVmYXVsdFZhbHVlKHZvaWQpIHsKKyAgICBpZiAoSVNfTUFJTl9USFJFQUQpCisJcmV0dXJuICgmeG1sTG9hZEV4dER0ZERlZmF1bHRWYWx1ZSk7CisgICAgZWxzZQorCXJldHVybiAoJnhtbEdldEdsb2JhbFN0YXRlKCktPnhtbExvYWRFeHREdGREZWZhdWx0VmFsdWUpOworfQoraW50IHhtbFRockRlZkxvYWRFeHREdGREZWZhdWx0VmFsdWUoaW50IHYpIHsKKyAgICBpbnQgcmV0OworICAgIHhtbE11dGV4TG9jayh4bWxUaHJEZWZNdXRleCk7CisgICAgcmV0ID0geG1sTG9hZEV4dER0ZERlZmF1bHRWYWx1ZVRockRlZjsKKyAgICB4bWxMb2FkRXh0RHRkRGVmYXVsdFZhbHVlVGhyRGVmID0gdjsKKyAgICB4bWxNdXRleFVubG9jayh4bWxUaHJEZWZNdXRleCk7CisgICAgcmV0dXJuIHJldDsKK30KKworI3VuZGVmCXhtbFBhcnNlckRlYnVnRW50aXRpZXMKK2ludCAqCitfX3htbFBhcnNlckRlYnVnRW50aXRpZXModm9pZCkgeworICAgIGlmIChJU19NQUlOX1RIUkVBRCkKKwlyZXR1cm4gKCZ4bWxQYXJzZXJEZWJ1Z0VudGl0aWVzKTsKKyAgICBlbHNlCisJcmV0dXJuICgmeG1sR2V0R2xvYmFsU3RhdGUoKS0+eG1sUGFyc2VyRGVidWdFbnRpdGllcyk7Cit9CitpbnQgeG1sVGhyRGVmUGFyc2VyRGVidWdFbnRpdGllcyhpbnQgdikgeworICAgIGludCByZXQ7CisgICAgeG1sTXV0ZXhMb2NrKHhtbFRockRlZk11dGV4KTsKKyAgICByZXQgPSB4bWxQYXJzZXJEZWJ1Z0VudGl0aWVzVGhyRGVmOworICAgIHhtbFBhcnNlckRlYnVnRW50aXRpZXNUaHJEZWYgPSB2OworICAgIHhtbE11dGV4VW5sb2NrKHhtbFRockRlZk11dGV4KTsKKyAgICByZXR1cm4gcmV0OworfQorCisjdW5kZWYJeG1sUGFyc2VyVmVyc2lvbgorY29uc3QgY2hhciAqICoKK19feG1sUGFyc2VyVmVyc2lvbih2b2lkKSB7CisgICAgaWYgKElTX01BSU5fVEhSRUFEKQorCXJldHVybiAoJnhtbFBhcnNlclZlcnNpb24pOworICAgIGVsc2UKKwlyZXR1cm4gKCZ4bWxHZXRHbG9iYWxTdGF0ZSgpLT54bWxQYXJzZXJWZXJzaW9uKTsKK30KKworI3VuZGVmCXhtbFBlZGFudGljUGFyc2VyRGVmYXVsdFZhbHVlCitpbnQgKgorX194bWxQZWRhbnRpY1BhcnNlckRlZmF1bHRWYWx1ZSh2b2lkKSB7CisgICAgaWYgKElTX01BSU5fVEhSRUFEKQorCXJldHVybiAoJnhtbFBlZGFudGljUGFyc2VyRGVmYXVsdFZhbHVlKTsKKyAgICBlbHNlCisJcmV0dXJuICgmeG1sR2V0R2xvYmFsU3RhdGUoKS0+eG1sUGVkYW50aWNQYXJzZXJEZWZhdWx0VmFsdWUpOworfQoraW50IHhtbFRockRlZlBlZGFudGljUGFyc2VyRGVmYXVsdFZhbHVlKGludCB2KSB7CisgICAgaW50IHJldDsKKyAgICB4bWxNdXRleExvY2soeG1sVGhyRGVmTXV0ZXgpOworICAgIHJldCA9IHhtbFBlZGFudGljUGFyc2VyRGVmYXVsdFZhbHVlVGhyRGVmOworICAgIHhtbFBlZGFudGljUGFyc2VyRGVmYXVsdFZhbHVlVGhyRGVmID0gdjsKKyAgICB4bWxNdXRleFVubG9jayh4bWxUaHJEZWZNdXRleCk7CisgICAgcmV0dXJuIHJldDsKK30KKworI3VuZGVmCXhtbFNhdmVOb0VtcHR5VGFncworaW50ICoKK19feG1sU2F2ZU5vRW1wdHlUYWdzKHZvaWQpIHsKKyAgICBpZiAoSVNfTUFJTl9USFJFQUQpCisJcmV0dXJuICgmeG1sU2F2ZU5vRW1wdHlUYWdzKTsKKyAgICBlbHNlCisJcmV0dXJuICgmeG1sR2V0R2xvYmFsU3RhdGUoKS0+eG1sU2F2ZU5vRW1wdHlUYWdzKTsKK30KK2ludCB4bWxUaHJEZWZTYXZlTm9FbXB0eVRhZ3MoaW50IHYpIHsKKyAgICBpbnQgcmV0OworICAgIHhtbE11dGV4TG9jayh4bWxUaHJEZWZNdXRleCk7CisgICAgcmV0ID0geG1sU2F2ZU5vRW1wdHlUYWdzVGhyRGVmOworICAgIHhtbFNhdmVOb0VtcHR5VGFnc1RockRlZiA9IHY7CisgICAgeG1sTXV0ZXhVbmxvY2soeG1sVGhyRGVmTXV0ZXgpOworICAgIHJldHVybiByZXQ7Cit9CisKKyN1bmRlZgl4bWxTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0VmFsdWUKK2ludCAqCitfX3htbFN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHRWYWx1ZSh2b2lkKSB7CisgICAgaWYgKElTX01BSU5fVEhSRUFEKQorCXJldHVybiAoJnhtbFN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHRWYWx1ZSk7CisgICAgZWxzZQorCXJldHVybiAoJnhtbEdldEdsb2JhbFN0YXRlKCktPnhtbFN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHRWYWx1ZSk7Cit9CitpbnQgeG1sVGhyRGVmU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdFZhbHVlKGludCB2KSB7CisgICAgaW50IHJldDsKKyAgICB4bWxNdXRleExvY2soeG1sVGhyRGVmTXV0ZXgpOworICAgIHJldCA9IHhtbFN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHRWYWx1ZVRockRlZjsKKyAgICB4bWxTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0VmFsdWVUaHJEZWYgPSB2OworICAgIHhtbE11dGV4VW5sb2NrKHhtbFRockRlZk11dGV4KTsKKyAgICByZXR1cm4gcmV0OworfQorCisjdW5kZWYJeG1sUmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlCit4bWxSZWdpc3Rlck5vZGVGdW5jICoKK19feG1sUmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlKHZvaWQpIHsKKyAgICBpZiAoSVNfTUFJTl9USFJFQUQpCisJcmV0dXJuICgmeG1sUmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlKTsKKyAgICBlbHNlCisJcmV0dXJuICgmeG1sR2V0R2xvYmFsU3RhdGUoKS0+eG1sUmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlKTsKK30KKworI3VuZGVmCXhtbERlcmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlCit4bWxEZXJlZ2lzdGVyTm9kZUZ1bmMgKgorX194bWxEZXJlZ2lzdGVyTm9kZURlZmF1bHRWYWx1ZSh2b2lkKSB7CisgICAgaWYgKElTX01BSU5fVEhSRUFEKQorCXJldHVybiAoJnhtbERlcmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlKTsKKyAgICBlbHNlCisJcmV0dXJuICgmeG1sR2V0R2xvYmFsU3RhdGUoKS0+eG1sRGVyZWdpc3Rlck5vZGVEZWZhdWx0VmFsdWUpOworfQorCisjdW5kZWYJeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZVZhbHVlCit4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYyAqCitfX3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVWYWx1ZSh2b2lkKSB7CisgICAgaWYgKElTX01BSU5fVEhSRUFEKQorCXJldHVybiAoJnhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVWYWx1ZSk7CisgICAgZWxzZQorCXJldHVybiAoJnhtbEdldEdsb2JhbFN0YXRlKCktPnhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVWYWx1ZSk7Cit9CisKKyN1bmRlZgl4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZVZhbHVlCit4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmMgKgorX194bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZVZhbHVlKHZvaWQpIHsKKyAgICBpZiAoSVNfTUFJTl9USFJFQUQpCisJcmV0dXJuICgmeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVWYWx1ZSk7CisgICAgZWxzZQorCXJldHVybiAoJnhtbEdldEdsb2JhbFN0YXRlKCktPnhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lVmFsdWUpOworfQorCisjZGVmaW5lIGJvdHRvbV9nbG9iYWxzCisjaW5jbHVkZSAiZWxmZ2NjaGFjay5oIgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9oYXNoLmMgYi9saWJ4bWwyL2hhc2guYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mOWEyMDE3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9oYXNoLmMKQEAgLTAsMCArMSwxMTI0IEBACisvKgorICogaGFzaC5jOiBjaGFpbmVkIGhhc2ggdGFibGVzCisgKgorICogUmVmZXJlbmNlOiBZb3VyIGZhdm9yaXRlIGludHJvZHVjdG9yeSBib29rIG9uIGFsZ29yaXRobXMKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDAsMjAxMiBCam9ybiBSZWVzZSBhbmQgRGFuaWVsIFZlaWxsYXJkLgorICoKKyAqIFBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZCBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgZm9yIGFueQorICogcHVycG9zZSB3aXRoIG9yIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLCBwcm92aWRlZCB0aGF0IHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBhcHBlYXIgaW4gYWxsIGNvcGllcy4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIGBgQVMgSVMnJyBBTkQgV0lUSE9VVCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVECisgKiBXQVJSQU5USUVTLCBJTkNMVURJTkcsIFdJVEhPVVQgTElNSVRBVElPTiwgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorICogTUVSQ0hBTlRJQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gVEhFIEFVVEhPUlMgQU5ECisgKiBDT05UUklCVVRPUlMgQUNDRVBUIE5PIFJFU1BPTlNJQklMSVRZIElOIEFOWSBDT05DRUlWQUJMRSBNQU5ORVIuCisgKgorICogQXV0aG9yOiBicmVlc2VAdXNlcnMuc291cmNlZm9yZ2UubmV0CisgKi8KKworI2RlZmluZSBJTl9MSUJYTUwKKyNpbmNsdWRlICJsaWJ4bWwuaCIKKworI2luY2x1ZGUgPHN0cmluZy5oPgorI2lmZGVmIEhBVkVfU1RETElCX0gKKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNlbmRpZgorI2lmZGVmIEhBVkVfVElNRV9ICisjaW5jbHVkZSA8dGltZS5oPgorI2VuZGlmCisKKy8qCisgKiBGb2xsb3dpbmcgaHR0cDovL3d3dy5vY2VydC5vcmcvYWR2aXNvcmllcy9vY2VydC0yMDExLTAwMy5odG1sCisgKiBpdCBzZWVtcyB0aGF0IGhhdmluZyBoYXNoIHJhbmRvbWl6YXRpb24gbWlnaHQgYmUgYSBnb29kIGlkZWEKKyAqIHdoZW4gdXNpbmcgWE1MIHdpdGggdW50cnVzdGVkIGRhdGEKKyAqLworI2lmIGRlZmluZWQoSEFWRV9SQU5EKSAmJiBkZWZpbmVkKEhBVkVfU1JBTkQpICYmIGRlZmluZWQoSEFWRV9USU1FKQorI2RlZmluZSBIQVNIX1JBTkRPTUlaQVRJT04KKyNlbmRpZgorCisjaW5jbHVkZSA8bGlieG1sL3BhcnNlci5oPgorI2luY2x1ZGUgPGxpYnhtbC9oYXNoLmg+CisjaW5jbHVkZSA8bGlieG1sL3htbG1lbW9yeS5oPgorI2luY2x1ZGUgPGxpYnhtbC94bWxlcnJvci5oPgorI2luY2x1ZGUgPGxpYnhtbC9nbG9iYWxzLmg+CisKKyNkZWZpbmUgTUFYX0hBU0hfTEVOIDgKKworLyogI2RlZmluZSBERUJVR19HUk9XICovCisKKy8qCisgKiBBIHNpbmdsZSBlbnRyeSBpbiB0aGUgaGFzaCB0YWJsZQorICovCit0eXBlZGVmIHN0cnVjdCBfeG1sSGFzaEVudHJ5IHhtbEhhc2hFbnRyeTsKK3R5cGVkZWYgeG1sSGFzaEVudHJ5ICp4bWxIYXNoRW50cnlQdHI7CitzdHJ1Y3QgX3htbEhhc2hFbnRyeSB7CisgICAgc3RydWN0IF94bWxIYXNoRW50cnkgKm5leHQ7CisgICAgeG1sQ2hhciAqbmFtZTsKKyAgICB4bWxDaGFyICpuYW1lMjsKKyAgICB4bWxDaGFyICpuYW1lMzsKKyAgICB2b2lkICpwYXlsb2FkOworICAgIGludCB2YWxpZDsKK307CisKKy8qCisgKiBUaGUgZW50aXJlIGhhc2ggdGFibGUKKyAqLworc3RydWN0IF94bWxIYXNoVGFibGUgeworICAgIHN0cnVjdCBfeG1sSGFzaEVudHJ5ICp0YWJsZTsKKyAgICBpbnQgc2l6ZTsKKyAgICBpbnQgbmJFbGVtczsKKyAgICB4bWxEaWN0UHRyIGRpY3Q7CisjaWZkZWYgSEFTSF9SQU5ET01JWkFUSU9OCisgICAgaW50IHJhbmRvbV9zZWVkOworI2VuZGlmCit9OworCisvKgorICogeG1sSGFzaENvbXB1dGVLZXk6CisgKiBDYWxjdWxhdGUgdGhlIGhhc2gga2V5CisgKi8KK3N0YXRpYyB1bnNpZ25lZCBsb25nCit4bWxIYXNoQ29tcHV0ZUtleSh4bWxIYXNoVGFibGVQdHIgdGFibGUsIGNvbnN0IHhtbENoYXIgKm5hbWUsCisJICAgICAgICAgIGNvbnN0IHhtbENoYXIgKm5hbWUyLCBjb25zdCB4bWxDaGFyICpuYW1lMykgeworICAgIHVuc2lnbmVkIGxvbmcgdmFsdWUgPSAwTDsKKyAgICBjaGFyIGNoOworCisjaWZkZWYgSEFTSF9SQU5ET01JWkFUSU9OCisgICAgdmFsdWUgPSB0YWJsZS0+cmFuZG9tX3NlZWQ7CisjZW5kaWYKKyAgICBpZiAobmFtZSAhPSBOVUxMKSB7CisJdmFsdWUgKz0gMzAgKiAoKm5hbWUpOworCXdoaWxlICgoY2ggPSAqbmFtZSsrKSAhPSAwKSB7CisJICAgIHZhbHVlID0gdmFsdWUgXiAoKHZhbHVlIDw8IDUpICsgKHZhbHVlID4+IDMpICsgKHVuc2lnbmVkIGxvbmcpY2gpOworCX0KKyAgICB9CisgICAgdmFsdWUgPSB2YWx1ZSBeICgodmFsdWUgPDwgNSkgKyAodmFsdWUgPj4gMykpOworICAgIGlmIChuYW1lMiAhPSBOVUxMKSB7CisJd2hpbGUgKChjaCA9ICpuYW1lMisrKSAhPSAwKSB7CisJICAgIHZhbHVlID0gdmFsdWUgXiAoKHZhbHVlIDw8IDUpICsgKHZhbHVlID4+IDMpICsgKHVuc2lnbmVkIGxvbmcpY2gpOworCX0KKyAgICB9CisgICAgdmFsdWUgPSB2YWx1ZSBeICgodmFsdWUgPDwgNSkgKyAodmFsdWUgPj4gMykpOworICAgIGlmIChuYW1lMyAhPSBOVUxMKSB7CisJd2hpbGUgKChjaCA9ICpuYW1lMysrKSAhPSAwKSB7CisJICAgIHZhbHVlID0gdmFsdWUgXiAoKHZhbHVlIDw8IDUpICsgKHZhbHVlID4+IDMpICsgKHVuc2lnbmVkIGxvbmcpY2gpOworCX0KKyAgICB9CisgICAgcmV0dXJuICh2YWx1ZSAlIHRhYmxlLT5zaXplKTsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcKK3htbEhhc2hDb21wdXRlUUtleSh4bWxIYXNoVGFibGVQdHIgdGFibGUsCisJCSAgIGNvbnN0IHhtbENoYXIgKnByZWZpeCwgY29uc3QgeG1sQ2hhciAqbmFtZSwKKwkJICAgY29uc3QgeG1sQ2hhciAqcHJlZml4MiwgY29uc3QgeG1sQ2hhciAqbmFtZTIsCisJCSAgIGNvbnN0IHhtbENoYXIgKnByZWZpeDMsIGNvbnN0IHhtbENoYXIgKm5hbWUzKSB7CisgICAgdW5zaWduZWQgbG9uZyB2YWx1ZSA9IDBMOworICAgIGNoYXIgY2g7CisKKyNpZmRlZiBIQVNIX1JBTkRPTUlaQVRJT04KKyAgICB2YWx1ZSA9IHRhYmxlLT5yYW5kb21fc2VlZDsKKyNlbmRpZgorICAgIGlmIChwcmVmaXggIT0gTlVMTCkKKwl2YWx1ZSArPSAzMCAqICgqcHJlZml4KTsKKyAgICBlbHNlCisJdmFsdWUgKz0gMzAgKiAoKm5hbWUpOworCisgICAgaWYgKHByZWZpeCAhPSBOVUxMKSB7CisJd2hpbGUgKChjaCA9ICpwcmVmaXgrKykgIT0gMCkgeworCSAgICB2YWx1ZSA9IHZhbHVlIF4gKCh2YWx1ZSA8PCA1KSArICh2YWx1ZSA+PiAzKSArICh1bnNpZ25lZCBsb25nKWNoKTsKKwl9CisJdmFsdWUgPSB2YWx1ZSBeICgodmFsdWUgPDwgNSkgKyAodmFsdWUgPj4gMykgKyAodW5zaWduZWQgbG9uZyknOicpOworICAgIH0KKyAgICBpZiAobmFtZSAhPSBOVUxMKSB7CisJd2hpbGUgKChjaCA9ICpuYW1lKyspICE9IDApIHsKKwkgICAgdmFsdWUgPSB2YWx1ZSBeICgodmFsdWUgPDwgNSkgKyAodmFsdWUgPj4gMykgKyAodW5zaWduZWQgbG9uZyljaCk7CisJfQorICAgIH0KKyAgICB2YWx1ZSA9IHZhbHVlIF4gKCh2YWx1ZSA8PCA1KSArICh2YWx1ZSA+PiAzKSk7CisgICAgaWYgKHByZWZpeDIgIT0gTlVMTCkgeworCXdoaWxlICgoY2ggPSAqcHJlZml4MisrKSAhPSAwKSB7CisJICAgIHZhbHVlID0gdmFsdWUgXiAoKHZhbHVlIDw8IDUpICsgKHZhbHVlID4+IDMpICsgKHVuc2lnbmVkIGxvbmcpY2gpOworCX0KKwl2YWx1ZSA9IHZhbHVlIF4gKCh2YWx1ZSA8PCA1KSArICh2YWx1ZSA+PiAzKSArICh1bnNpZ25lZCBsb25nKSc6Jyk7CisgICAgfQorICAgIGlmIChuYW1lMiAhPSBOVUxMKSB7CisJd2hpbGUgKChjaCA9ICpuYW1lMisrKSAhPSAwKSB7CisJICAgIHZhbHVlID0gdmFsdWUgXiAoKHZhbHVlIDw8IDUpICsgKHZhbHVlID4+IDMpICsgKHVuc2lnbmVkIGxvbmcpY2gpOworCX0KKyAgICB9CisgICAgdmFsdWUgPSB2YWx1ZSBeICgodmFsdWUgPDwgNSkgKyAodmFsdWUgPj4gMykpOworICAgIGlmIChwcmVmaXgzICE9IE5VTEwpIHsKKwl3aGlsZSAoKGNoID0gKnByZWZpeDMrKykgIT0gMCkgeworCSAgICB2YWx1ZSA9IHZhbHVlIF4gKCh2YWx1ZSA8PCA1KSArICh2YWx1ZSA+PiAzKSArICh1bnNpZ25lZCBsb25nKWNoKTsKKwl9CisJdmFsdWUgPSB2YWx1ZSBeICgodmFsdWUgPDwgNSkgKyAodmFsdWUgPj4gMykgKyAodW5zaWduZWQgbG9uZyknOicpOworICAgIH0KKyAgICBpZiAobmFtZTMgIT0gTlVMTCkgeworCXdoaWxlICgoY2ggPSAqbmFtZTMrKykgIT0gMCkgeworCSAgICB2YWx1ZSA9IHZhbHVlIF4gKCh2YWx1ZSA8PCA1KSArICh2YWx1ZSA+PiAzKSArICh1bnNpZ25lZCBsb25nKWNoKTsKKwl9CisgICAgfQorICAgIHJldHVybiAodmFsdWUgJSB0YWJsZS0+c2l6ZSk7Cit9CisKKy8qKgorICogeG1sSGFzaENyZWF0ZToKKyAqIEBzaXplOiB0aGUgc2l6ZSBvZiB0aGUgaGFzaCB0YWJsZQorICoKKyAqIENyZWF0ZSBhIG5ldyB4bWxIYXNoVGFibGVQdHIuCisgKgorICogUmV0dXJucyB0aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QsIG9yIE5VTEwgaWYgYW4gZXJyb3Igb2NjdXJlZC4KKyAqLworeG1sSGFzaFRhYmxlUHRyCit4bWxIYXNoQ3JlYXRlKGludCBzaXplKSB7CisgICAgeG1sSGFzaFRhYmxlUHRyIHRhYmxlOworCisgICAgaWYgKHNpemUgPD0gMCkKKyAgICAgICAgc2l6ZSA9IDI1NjsKKworICAgIHRhYmxlID0geG1sTWFsbG9jKHNpemVvZih4bWxIYXNoVGFibGUpKTsKKyAgICBpZiAodGFibGUpIHsKKyAgICAgICAgdGFibGUtPmRpY3QgPSBOVUxMOworICAgICAgICB0YWJsZS0+c2l6ZSA9IHNpemU7CisJdGFibGUtPm5iRWxlbXMgPSAwOworICAgICAgICB0YWJsZS0+dGFibGUgPSB4bWxNYWxsb2Moc2l6ZSAqIHNpemVvZih4bWxIYXNoRW50cnkpKTsKKyAgICAgICAgaWYgKHRhYmxlLT50YWJsZSkgeworCSAgICBtZW1zZXQodGFibGUtPnRhYmxlLCAwLCBzaXplICogc2l6ZW9mKHhtbEhhc2hFbnRyeSkpOworI2lmZGVmIEhBU0hfUkFORE9NSVpBVElPTgorICAgICAgICAgICAgdGFibGUtPnJhbmRvbV9zZWVkID0gX194bWxSYW5kb20oKTsKKyNlbmRpZgorCSAgICByZXR1cm4odGFibGUpOworICAgICAgICB9CisgICAgICAgIHhtbEZyZWUodGFibGUpOworICAgIH0KKyAgICByZXR1cm4oTlVMTCk7Cit9CisKKy8qKgorICogeG1sSGFzaENyZWF0ZURpY3Q6CisgKiBAc2l6ZTogdGhlIHNpemUgb2YgdGhlIGhhc2ggdGFibGUKKyAqIEBkaWN0OiBhIGRpY3Rpb25hcnkgdG8gdXNlIGZvciB0aGUgaGFzaAorICoKKyAqIENyZWF0ZSBhIG5ldyB4bWxIYXNoVGFibGVQdHIgd2hpY2ggd2lsbCB1c2UgQGRpY3QgYXMgdGhlIGludGVybmFsIGRpY3Rpb25hcnkKKyAqCisgKiBSZXR1cm5zIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdCwgb3IgTlVMTCBpZiBhbiBlcnJvciBvY2N1cmVkLgorICovCit4bWxIYXNoVGFibGVQdHIKK3htbEhhc2hDcmVhdGVEaWN0KGludCBzaXplLCB4bWxEaWN0UHRyIGRpY3QpIHsKKyAgICB4bWxIYXNoVGFibGVQdHIgdGFibGU7CisKKyAgICB0YWJsZSA9IHhtbEhhc2hDcmVhdGUoc2l6ZSk7CisgICAgaWYgKHRhYmxlICE9IE5VTEwpIHsKKyAgICAgICAgdGFibGUtPmRpY3QgPSBkaWN0OworCXhtbERpY3RSZWZlcmVuY2UoZGljdCk7CisgICAgfQorICAgIHJldHVybih0YWJsZSk7Cit9CisKKy8qKgorICogeG1sSGFzaEdyb3c6CisgKiBAdGFibGU6IHRoZSBoYXNoIHRhYmxlCisgKiBAc2l6ZTogdGhlIG5ldyBzaXplIG9mIHRoZSBoYXNoIHRhYmxlCisgKgorICogcmVzaXplIHRoZSBoYXNoIHRhYmxlCisgKgorICogUmV0dXJucyAwIGluIGNhc2Ugb2Ygc3VjY2VzcywgLTEgaW4gY2FzZSBvZiBmYWlsdXJlCisgKi8KK3N0YXRpYyBpbnQKK3htbEhhc2hHcm93KHhtbEhhc2hUYWJsZVB0ciB0YWJsZSwgaW50IHNpemUpIHsKKyAgICB1bnNpZ25lZCBsb25nIGtleTsKKyAgICBpbnQgb2xkc2l6ZSwgaTsKKyAgICB4bWxIYXNoRW50cnlQdHIgaXRlciwgbmV4dDsKKyAgICBzdHJ1Y3QgX3htbEhhc2hFbnRyeSAqb2xkdGFibGU7CisjaWZkZWYgREVCVUdfR1JPVworICAgIHVuc2lnbmVkIGxvbmcgbmJFbGVtID0gMDsKKyNlbmRpZgorCisgICAgaWYgKHRhYmxlID09IE5VTEwpCisJcmV0dXJuKC0xKTsKKyAgICBpZiAoc2l6ZSA8IDgpCisgICAgICAgIHJldHVybigtMSk7CisgICAgaWYgKHNpemUgPiA4ICogMjA0OCkKKwlyZXR1cm4oLTEpOworCisgICAgb2xkc2l6ZSA9IHRhYmxlLT5zaXplOworICAgIG9sZHRhYmxlID0gdGFibGUtPnRhYmxlOworICAgIGlmIChvbGR0YWJsZSA9PSBOVUxMKQorICAgICAgICByZXR1cm4oLTEpOworCisgICAgdGFibGUtPnRhYmxlID0geG1sTWFsbG9jKHNpemUgKiBzaXplb2YoeG1sSGFzaEVudHJ5KSk7CisgICAgaWYgKHRhYmxlLT50YWJsZSA9PSBOVUxMKSB7CisJdGFibGUtPnRhYmxlID0gb2xkdGFibGU7CisJcmV0dXJuKC0xKTsKKyAgICB9CisgICAgbWVtc2V0KHRhYmxlLT50YWJsZSwgMCwgc2l6ZSAqIHNpemVvZih4bWxIYXNoRW50cnkpKTsKKyAgICB0YWJsZS0+c2l6ZSA9IHNpemU7CisKKyAgICAvKglJZiB0aGUgdHdvIGxvb3BzIGFyZSBtZXJnZWQsIHRoZXJlIHdvdWxkIGJlIHNpdHVhdGlvbnMgd2hlcmUKKwlhIG5ldyBlbnRyeSBuZWVkcyB0byBhbGxvY2F0ZWQgYW5kIGRhdGEgY29waWVkIGludG8gaXQgZnJvbQorCXRoZSBtYWluIHRhYmxlLiBTbyBpbnN0ZWFkLCB3ZSBydW4gdGhyb3VnaCB0aGUgYXJyYXkgdHdpY2UsIGZpcnN0CisJY29weWluZyBhbGwgdGhlIGVsZW1lbnRzIGluIHRoZSBtYWluIGFycmF5ICh3aGVyZSB3ZSBjYW4ndCBnZXQKKwljb25mbGljdHMpIGFuZCB0aGVuIHRoZSByZXN0LCBzbyB3ZSBvbmx5IGZyZWUgKGFuZCBkb24ndCBhbGxvY2F0ZSkKKyAgICAqLworICAgIGZvciAoaSA9IDA7IGkgPCBvbGRzaXplOyBpKyspIHsKKwlpZiAob2xkdGFibGVbaV0udmFsaWQgPT0gMCkKKwkgICAgY29udGludWU7CisJa2V5ID0geG1sSGFzaENvbXB1dGVLZXkodGFibGUsIG9sZHRhYmxlW2ldLm5hbWUsIG9sZHRhYmxlW2ldLm5hbWUyLAorCQkJCW9sZHRhYmxlW2ldLm5hbWUzKTsKKwltZW1jcHkoJih0YWJsZS0+dGFibGVba2V5XSksICYob2xkdGFibGVbaV0pLCBzaXplb2YoeG1sSGFzaEVudHJ5KSk7CisJdGFibGUtPnRhYmxlW2tleV0ubmV4dCA9IE5VTEw7CisgICAgfQorCisgICAgZm9yIChpID0gMDsgaSA8IG9sZHNpemU7IGkrKykgeworCWl0ZXIgPSBvbGR0YWJsZVtpXS5uZXh0OworCXdoaWxlIChpdGVyKSB7CisJICAgIG5leHQgPSBpdGVyLT5uZXh0OworCisJICAgIC8qCisJICAgICAqIHB1dCBiYWNrIHRoZSBlbnRyeSBpbiB0aGUgbmV3IHRhYmxlCisJICAgICAqLworCisJICAgIGtleSA9IHhtbEhhc2hDb21wdXRlS2V5KHRhYmxlLCBpdGVyLT5uYW1lLCBpdGVyLT5uYW1lMiwKKwkJICAgICAgICAgICAgICAgICAgICBpdGVyLT5uYW1lMyk7CisJICAgIGlmICh0YWJsZS0+dGFibGVba2V5XS52YWxpZCA9PSAwKSB7CisJCW1lbWNweSgmKHRhYmxlLT50YWJsZVtrZXldKSwgaXRlciwgc2l6ZW9mKHhtbEhhc2hFbnRyeSkpOworCQl0YWJsZS0+dGFibGVba2V5XS5uZXh0ID0gTlVMTDsKKwkJeG1sRnJlZShpdGVyKTsKKwkgICAgfSBlbHNlIHsKKwkJaXRlci0+bmV4dCA9IHRhYmxlLT50YWJsZVtrZXldLm5leHQ7CisJCXRhYmxlLT50YWJsZVtrZXldLm5leHQgPSBpdGVyOworCSAgICB9CisKKyNpZmRlZiBERUJVR19HUk9XCisJICAgIG5iRWxlbSsrOworI2VuZGlmCisKKwkgICAgaXRlciA9IG5leHQ7CisJfQorICAgIH0KKworICAgIHhtbEZyZWUob2xkdGFibGUpOworCisjaWZkZWYgREVCVUdfR1JPVworICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCSAgICAieG1sSGFzaEdyb3cgOiBmcm9tICVkIHRvICVkLCAlZCBlbGVtc1xuIiwgb2xkc2l6ZSwgc2l6ZSwgbmJFbGVtKTsKKyNlbmRpZgorCisgICAgcmV0dXJuKDApOworfQorCisvKioKKyAqIHhtbEhhc2hGcmVlOgorICogQHRhYmxlOiB0aGUgaGFzaCB0YWJsZQorICogQGY6ICB0aGUgZGVhbGxvY2F0b3IgZnVuY3Rpb24gZm9yIGl0ZW1zIGluIHRoZSBoYXNoCisgKgorICogRnJlZSB0aGUgaGFzaCBAdGFibGUgYW5kIGl0cyBjb250ZW50cy4gVGhlIHVzZXJkYXRhIGlzCisgKiBkZWFsbG9jYXRlZCB3aXRoIEBmIGlmIHByb3ZpZGVkLgorICovCit2b2lkCit4bWxIYXNoRnJlZSh4bWxIYXNoVGFibGVQdHIgdGFibGUsIHhtbEhhc2hEZWFsbG9jYXRvciBmKSB7CisgICAgaW50IGk7CisgICAgeG1sSGFzaEVudHJ5UHRyIGl0ZXI7CisgICAgeG1sSGFzaEVudHJ5UHRyIG5leHQ7CisgICAgaW50IGluc2lkZV90YWJsZSA9IDA7CisgICAgaW50IG5iRWxlbXM7CisKKyAgICBpZiAodGFibGUgPT0gTlVMTCkKKwlyZXR1cm47CisgICAgaWYgKHRhYmxlLT50YWJsZSkgeworCW5iRWxlbXMgPSB0YWJsZS0+bmJFbGVtczsKKwlmb3IoaSA9IDA7IChpIDwgdGFibGUtPnNpemUpICYmIChuYkVsZW1zID4gMCk7IGkrKykgeworCSAgICBpdGVyID0gJih0YWJsZS0+dGFibGVbaV0pOworCSAgICBpZiAoaXRlci0+dmFsaWQgPT0gMCkKKwkJY29udGludWU7CisJICAgIGluc2lkZV90YWJsZSA9IDE7CisJICAgIHdoaWxlIChpdGVyKSB7CisJCW5leHQgPSBpdGVyLT5uZXh0OworCQlpZiAoKGYgIT0gTlVMTCkgJiYgKGl0ZXItPnBheWxvYWQgIT0gTlVMTCkpCisJCSAgICBmKGl0ZXItPnBheWxvYWQsIGl0ZXItPm5hbWUpOworCQlpZiAodGFibGUtPmRpY3QgPT0gTlVMTCkgeworCQkgICAgaWYgKGl0ZXItPm5hbWUpCisJCQl4bWxGcmVlKGl0ZXItPm5hbWUpOworCQkgICAgaWYgKGl0ZXItPm5hbWUyKQorCQkJeG1sRnJlZShpdGVyLT5uYW1lMik7CisJCSAgICBpZiAoaXRlci0+bmFtZTMpCisJCQl4bWxGcmVlKGl0ZXItPm5hbWUzKTsKKwkJfQorCQlpdGVyLT5wYXlsb2FkID0gTlVMTDsKKwkJaWYgKCFpbnNpZGVfdGFibGUpCisJCSAgICB4bWxGcmVlKGl0ZXIpOworCQluYkVsZW1zLS07CisJCWluc2lkZV90YWJsZSA9IDA7CisJCWl0ZXIgPSBuZXh0OworCSAgICB9CisJfQorCXhtbEZyZWUodGFibGUtPnRhYmxlKTsKKyAgICB9CisgICAgaWYgKHRhYmxlLT5kaWN0KQorICAgICAgICB4bWxEaWN0RnJlZSh0YWJsZS0+ZGljdCk7CisgICAgeG1sRnJlZSh0YWJsZSk7Cit9CisKKy8qKgorICogeG1sSGFzaEFkZEVudHJ5OgorICogQHRhYmxlOiB0aGUgaGFzaCB0YWJsZQorICogQG5hbWU6IHRoZSBuYW1lIG9mIHRoZSB1c2VyZGF0YQorICogQHVzZXJkYXRhOiBhIHBvaW50ZXIgdG8gdGhlIHVzZXJkYXRhCisgKgorICogQWRkIHRoZSBAdXNlcmRhdGEgdG8gdGhlIGhhc2ggQHRhYmxlLiBUaGlzIGNhbiBsYXRlciBiZSByZXRyaWV2ZWQKKyAqIGJ5IHVzaW5nIHRoZSBAbmFtZS4gRHVwbGljYXRlIG5hbWVzIGdlbmVyYXRlIGVycm9ycy4KKyAqCisgKiBSZXR1cm5zIDAgdGhlIGFkZGl0aW9uIHN1Y2NlZWRlZCBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50Cit4bWxIYXNoQWRkRW50cnkoeG1sSGFzaFRhYmxlUHRyIHRhYmxlLCBjb25zdCB4bWxDaGFyICpuYW1lLCB2b2lkICp1c2VyZGF0YSkgeworICAgIHJldHVybih4bWxIYXNoQWRkRW50cnkzKHRhYmxlLCBuYW1lLCBOVUxMLCBOVUxMLCB1c2VyZGF0YSkpOworfQorCisvKioKKyAqIHhtbEhhc2hBZGRFbnRyeTI6CisgKiBAdGFibGU6IHRoZSBoYXNoIHRhYmxlCisgKiBAbmFtZTogdGhlIG5hbWUgb2YgdGhlIHVzZXJkYXRhCisgKiBAbmFtZTI6IGEgc2Vjb25kIG5hbWUgb2YgdGhlIHVzZXJkYXRhCisgKiBAdXNlcmRhdGE6IGEgcG9pbnRlciB0byB0aGUgdXNlcmRhdGEKKyAqCisgKiBBZGQgdGhlIEB1c2VyZGF0YSB0byB0aGUgaGFzaCBAdGFibGUuIFRoaXMgY2FuIGxhdGVyIGJlIHJldHJpZXZlZAorICogYnkgdXNpbmcgdGhlIChAbmFtZSwgQG5hbWUyKSB0dXBsZS4gRHVwbGljYXRlIHR1cGxlcyBnZW5lcmF0ZSBlcnJvcnMuCisgKgorICogUmV0dXJucyAwIHRoZSBhZGRpdGlvbiBzdWNjZWVkZWQgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludAoreG1sSGFzaEFkZEVudHJ5Mih4bWxIYXNoVGFibGVQdHIgdGFibGUsIGNvbnN0IHhtbENoYXIgKm5hbWUsCisJICAgICAgICBjb25zdCB4bWxDaGFyICpuYW1lMiwgdm9pZCAqdXNlcmRhdGEpIHsKKyAgICByZXR1cm4oeG1sSGFzaEFkZEVudHJ5Myh0YWJsZSwgbmFtZSwgbmFtZTIsIE5VTEwsIHVzZXJkYXRhKSk7Cit9CisKKy8qKgorICogeG1sSGFzaFVwZGF0ZUVudHJ5OgorICogQHRhYmxlOiB0aGUgaGFzaCB0YWJsZQorICogQG5hbWU6IHRoZSBuYW1lIG9mIHRoZSB1c2VyZGF0YQorICogQHVzZXJkYXRhOiBhIHBvaW50ZXIgdG8gdGhlIHVzZXJkYXRhCisgKiBAZjogdGhlIGRlYWxsb2NhdG9yIGZ1bmN0aW9uIGZvciByZXBsYWNlZCBpdGVtIChpZiBhbnkpCisgKgorICogQWRkIHRoZSBAdXNlcmRhdGEgdG8gdGhlIGhhc2ggQHRhYmxlLiBUaGlzIGNhbiBsYXRlciBiZSByZXRyaWV2ZWQKKyAqIGJ5IHVzaW5nIHRoZSBAbmFtZS4gRXhpc3RpbmcgZW50cnkgZm9yIHRoaXMgQG5hbWUgd2lsbCBiZSByZW1vdmVkCisgKiBhbmQgZnJlZWQgd2l0aCBAZiBpZiBmb3VuZC4KKyAqCisgKiBSZXR1cm5zIDAgdGhlIGFkZGl0aW9uIHN1Y2NlZWRlZCBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50Cit4bWxIYXNoVXBkYXRlRW50cnkoeG1sSGFzaFRhYmxlUHRyIHRhYmxlLCBjb25zdCB4bWxDaGFyICpuYW1lLAorCSAgICAgICAgICAgdm9pZCAqdXNlcmRhdGEsIHhtbEhhc2hEZWFsbG9jYXRvciBmKSB7CisgICAgcmV0dXJuKHhtbEhhc2hVcGRhdGVFbnRyeTModGFibGUsIG5hbWUsIE5VTEwsIE5VTEwsIHVzZXJkYXRhLCBmKSk7Cit9CisKKy8qKgorICogeG1sSGFzaFVwZGF0ZUVudHJ5MjoKKyAqIEB0YWJsZTogdGhlIGhhc2ggdGFibGUKKyAqIEBuYW1lOiB0aGUgbmFtZSBvZiB0aGUgdXNlcmRhdGEKKyAqIEBuYW1lMjogYSBzZWNvbmQgbmFtZSBvZiB0aGUgdXNlcmRhdGEKKyAqIEB1c2VyZGF0YTogYSBwb2ludGVyIHRvIHRoZSB1c2VyZGF0YQorICogQGY6IHRoZSBkZWFsbG9jYXRvciBmdW5jdGlvbiBmb3IgcmVwbGFjZWQgaXRlbSAoaWYgYW55KQorICoKKyAqIEFkZCB0aGUgQHVzZXJkYXRhIHRvIHRoZSBoYXNoIEB0YWJsZS4gVGhpcyBjYW4gbGF0ZXIgYmUgcmV0cmlldmVkCisgKiBieSB1c2luZyB0aGUgKEBuYW1lLCBAbmFtZTIpIHR1cGxlLiBFeGlzdGluZyBlbnRyeSBmb3IgdGhpcyB0dXBsZSB3aWxsCisgKiBiZSByZW1vdmVkIGFuZCBmcmVlZCB3aXRoIEBmIGlmIGZvdW5kLgorICoKKyAqIFJldHVybnMgMCB0aGUgYWRkaXRpb24gc3VjY2VlZGVkIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQKK3htbEhhc2hVcGRhdGVFbnRyeTIoeG1sSGFzaFRhYmxlUHRyIHRhYmxlLCBjb25zdCB4bWxDaGFyICpuYW1lLAorCSAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqbmFtZTIsIHZvaWQgKnVzZXJkYXRhLAorCQkgICB4bWxIYXNoRGVhbGxvY2F0b3IgZikgeworICAgIHJldHVybih4bWxIYXNoVXBkYXRlRW50cnkzKHRhYmxlLCBuYW1lLCBuYW1lMiwgTlVMTCwgdXNlcmRhdGEsIGYpKTsKK30KKworLyoqCisgKiB4bWxIYXNoTG9va3VwOgorICogQHRhYmxlOiB0aGUgaGFzaCB0YWJsZQorICogQG5hbWU6IHRoZSBuYW1lIG9mIHRoZSB1c2VyZGF0YQorICoKKyAqIEZpbmQgdGhlIHVzZXJkYXRhIHNwZWNpZmllZCBieSB0aGUgQG5hbWUuCisgKgorICogUmV0dXJucyB0aGUgcG9pbnRlciB0byB0aGUgdXNlcmRhdGEKKyAqLwordm9pZCAqCit4bWxIYXNoTG9va3VwKHhtbEhhc2hUYWJsZVB0ciB0YWJsZSwgY29uc3QgeG1sQ2hhciAqbmFtZSkgeworICAgIHJldHVybih4bWxIYXNoTG9va3VwMyh0YWJsZSwgbmFtZSwgTlVMTCwgTlVMTCkpOworfQorCisvKioKKyAqIHhtbEhhc2hMb29rdXAyOgorICogQHRhYmxlOiB0aGUgaGFzaCB0YWJsZQorICogQG5hbWU6IHRoZSBuYW1lIG9mIHRoZSB1c2VyZGF0YQorICogQG5hbWUyOiBhIHNlY29uZCBuYW1lIG9mIHRoZSB1c2VyZGF0YQorICoKKyAqIEZpbmQgdGhlIHVzZXJkYXRhIHNwZWNpZmllZCBieSB0aGUgKEBuYW1lLCBAbmFtZTIpIHR1cGxlLgorICoKKyAqIFJldHVybnMgdGhlIHBvaW50ZXIgdG8gdGhlIHVzZXJkYXRhCisgKi8KK3ZvaWQgKgoreG1sSGFzaExvb2t1cDIoeG1sSGFzaFRhYmxlUHRyIHRhYmxlLCBjb25zdCB4bWxDaGFyICpuYW1lLAorCSAgICAgIGNvbnN0IHhtbENoYXIgKm5hbWUyKSB7CisgICAgcmV0dXJuKHhtbEhhc2hMb29rdXAzKHRhYmxlLCBuYW1lLCBuYW1lMiwgTlVMTCkpOworfQorCisvKioKKyAqIHhtbEhhc2hRTG9va3VwOgorICogQHRhYmxlOiB0aGUgaGFzaCB0YWJsZQorICogQHByZWZpeDogdGhlIHByZWZpeCBvZiB0aGUgdXNlcmRhdGEKKyAqIEBuYW1lOiB0aGUgbmFtZSBvZiB0aGUgdXNlcmRhdGEKKyAqCisgKiBGaW5kIHRoZSB1c2VyZGF0YSBzcGVjaWZpZWQgYnkgdGhlIFFOYW1lIEBwcmVmaXg6QG5hbWUvQG5hbWUuCisgKgorICogUmV0dXJucyB0aGUgcG9pbnRlciB0byB0aGUgdXNlcmRhdGEKKyAqLwordm9pZCAqCit4bWxIYXNoUUxvb2t1cCh4bWxIYXNoVGFibGVQdHIgdGFibGUsIGNvbnN0IHhtbENoYXIgKnByZWZpeCwKKyAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKm5hbWUpIHsKKyAgICByZXR1cm4oeG1sSGFzaFFMb29rdXAzKHRhYmxlLCBwcmVmaXgsIG5hbWUsIE5VTEwsIE5VTEwsIE5VTEwsIE5VTEwpKTsKK30KKworLyoqCisgKiB4bWxIYXNoUUxvb2t1cDI6CisgKiBAdGFibGU6IHRoZSBoYXNoIHRhYmxlCisgKiBAcHJlZml4OiB0aGUgcHJlZml4IG9mIHRoZSB1c2VyZGF0YQorICogQG5hbWU6IHRoZSBuYW1lIG9mIHRoZSB1c2VyZGF0YQorICogQHByZWZpeDI6IHRoZSBzZWNvbmQgcHJlZml4IG9mIHRoZSB1c2VyZGF0YQorICogQG5hbWUyOiBhIHNlY29uZCBuYW1lIG9mIHRoZSB1c2VyZGF0YQorICoKKyAqIEZpbmQgdGhlIHVzZXJkYXRhIHNwZWNpZmllZCBieSB0aGUgUU5hbWVzIHR1cGxlCisgKgorICogUmV0dXJucyB0aGUgcG9pbnRlciB0byB0aGUgdXNlcmRhdGEKKyAqLwordm9pZCAqCit4bWxIYXNoUUxvb2t1cDIoeG1sSGFzaFRhYmxlUHRyIHRhYmxlLCBjb25zdCB4bWxDaGFyICpwcmVmaXgsCisgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqbmFtZSwgY29uc3QgeG1sQ2hhciAqcHJlZml4MiwKKwkgICAgICAgIGNvbnN0IHhtbENoYXIgKm5hbWUyKSB7CisgICAgcmV0dXJuKHhtbEhhc2hRTG9va3VwMyh0YWJsZSwgcHJlZml4LCBuYW1lLCBwcmVmaXgyLCBuYW1lMiwgTlVMTCwgTlVMTCkpOworfQorCisvKioKKyAqIHhtbEhhc2hBZGRFbnRyeTM6CisgKiBAdGFibGU6IHRoZSBoYXNoIHRhYmxlCisgKiBAbmFtZTogdGhlIG5hbWUgb2YgdGhlIHVzZXJkYXRhCisgKiBAbmFtZTI6IGEgc2Vjb25kIG5hbWUgb2YgdGhlIHVzZXJkYXRhCisgKiBAbmFtZTM6IGEgdGhpcmQgbmFtZSBvZiB0aGUgdXNlcmRhdGEKKyAqIEB1c2VyZGF0YTogYSBwb2ludGVyIHRvIHRoZSB1c2VyZGF0YQorICoKKyAqIEFkZCB0aGUgQHVzZXJkYXRhIHRvIHRoZSBoYXNoIEB0YWJsZS4gVGhpcyBjYW4gbGF0ZXIgYmUgcmV0cmlldmVkCisgKiBieSB1c2luZyB0aGUgdHVwbGUgKEBuYW1lLCBAbmFtZTIsIEBuYW1lMykuIER1cGxpY2F0ZSBlbnRyaWVzIGdlbmVyYXRlCisgKiBlcnJvcnMuCisgKgorICogUmV0dXJucyAwIHRoZSBhZGRpdGlvbiBzdWNjZWVkZWQgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludAoreG1sSGFzaEFkZEVudHJ5Myh4bWxIYXNoVGFibGVQdHIgdGFibGUsIGNvbnN0IHhtbENoYXIgKm5hbWUsCisJICAgICAgICAgY29uc3QgeG1sQ2hhciAqbmFtZTIsIGNvbnN0IHhtbENoYXIgKm5hbWUzLAorCQkgdm9pZCAqdXNlcmRhdGEpIHsKKyAgICB1bnNpZ25lZCBsb25nIGtleSwgbGVuID0gMDsKKyAgICB4bWxIYXNoRW50cnlQdHIgZW50cnk7CisgICAgeG1sSGFzaEVudHJ5UHRyIGluc2VydDsKKworICAgIGlmICgodGFibGUgPT0gTlVMTCkgfHwgKG5hbWUgPT0gTlVMTCkpCisJcmV0dXJuKC0xKTsKKworICAgIC8qCisgICAgICogSWYgdXNpbmcgYSBkaWN0IGludGVybmFsaXplIGlmIG5lZWRlZAorICAgICAqLworICAgIGlmICh0YWJsZS0+ZGljdCkgeworICAgICAgICBpZiAoIXhtbERpY3RPd25zKHRhYmxlLT5kaWN0LCBuYW1lKSkgeworCSAgICBuYW1lID0geG1sRGljdExvb2t1cCh0YWJsZS0+ZGljdCwgbmFtZSwgLTEpOworCSAgICBpZiAobmFtZSA9PSBOVUxMKQorCSAgICAgICAgcmV0dXJuKC0xKTsKKwl9CisgICAgICAgIGlmICgobmFtZTIgIT0gTlVMTCkgJiYgKCF4bWxEaWN0T3ducyh0YWJsZS0+ZGljdCwgbmFtZTIpKSkgeworCSAgICBuYW1lMiA9IHhtbERpY3RMb29rdXAodGFibGUtPmRpY3QsIG5hbWUyLCAtMSk7CisJICAgIGlmIChuYW1lMiA9PSBOVUxMKQorCSAgICAgICAgcmV0dXJuKC0xKTsKKwl9CisgICAgICAgIGlmICgobmFtZTMgIT0gTlVMTCkgJiYgKCF4bWxEaWN0T3ducyh0YWJsZS0+ZGljdCwgbmFtZTMpKSkgeworCSAgICBuYW1lMyA9IHhtbERpY3RMb29rdXAodGFibGUtPmRpY3QsIG5hbWUzLCAtMSk7CisJICAgIGlmIChuYW1lMyA9PSBOVUxMKQorCSAgICAgICAgcmV0dXJuKC0xKTsKKwl9CisgICAgfQorCisgICAgLyoKKyAgICAgKiBDaGVjayBmb3IgZHVwbGljYXRlIGFuZCBpbnNlcnRpb24gbG9jYXRpb24uCisgICAgICovCisgICAga2V5ID0geG1sSGFzaENvbXB1dGVLZXkodGFibGUsIG5hbWUsIG5hbWUyLCBuYW1lMyk7CisgICAgaWYgKHRhYmxlLT50YWJsZVtrZXldLnZhbGlkID09IDApIHsKKwlpbnNlcnQgPSBOVUxMOworICAgIH0gZWxzZSB7CisgICAgICAgIGlmICh0YWJsZS0+ZGljdCkgeworCSAgICBmb3IgKGluc2VydCA9ICYodGFibGUtPnRhYmxlW2tleV0pOyBpbnNlcnQtPm5leHQgIT0gTlVMTDsKKwkJIGluc2VydCA9IGluc2VydC0+bmV4dCkgeworCQlpZiAoKGluc2VydC0+bmFtZSA9PSBuYW1lKSAmJgorCQkgICAgKGluc2VydC0+bmFtZTIgPT0gbmFtZTIpICYmCisJCSAgICAoaW5zZXJ0LT5uYW1lMyA9PSBuYW1lMykpCisJCSAgICByZXR1cm4oLTEpOworCQlsZW4rKzsKKwkgICAgfQorCSAgICBpZiAoKGluc2VydC0+bmFtZSA9PSBuYW1lKSAmJgorCQkoaW5zZXJ0LT5uYW1lMiA9PSBuYW1lMikgJiYKKwkJKGluc2VydC0+bmFtZTMgPT0gbmFtZTMpKQorCQlyZXR1cm4oLTEpOworCX0gZWxzZSB7CisJICAgIGZvciAoaW5zZXJ0ID0gJih0YWJsZS0+dGFibGVba2V5XSk7IGluc2VydC0+bmV4dCAhPSBOVUxMOworCQkgaW5zZXJ0ID0gaW5zZXJ0LT5uZXh0KSB7CisJCWlmICgoeG1sU3RyRXF1YWwoaW5zZXJ0LT5uYW1lLCBuYW1lKSkgJiYKKwkJICAgICh4bWxTdHJFcXVhbChpbnNlcnQtPm5hbWUyLCBuYW1lMikpICYmCisJCSAgICAoeG1sU3RyRXF1YWwoaW5zZXJ0LT5uYW1lMywgbmFtZTMpKSkKKwkJICAgIHJldHVybigtMSk7CisJCWxlbisrOworCSAgICB9CisJICAgIGlmICgoeG1sU3RyRXF1YWwoaW5zZXJ0LT5uYW1lLCBuYW1lKSkgJiYKKwkJKHhtbFN0ckVxdWFsKGluc2VydC0+bmFtZTIsIG5hbWUyKSkgJiYKKwkJKHhtbFN0ckVxdWFsKGluc2VydC0+bmFtZTMsIG5hbWUzKSkpCisJCXJldHVybigtMSk7CisJfQorICAgIH0KKworICAgIGlmIChpbnNlcnQgPT0gTlVMTCkgeworCWVudHJ5ID0gJih0YWJsZS0+dGFibGVba2V5XSk7CisgICAgfSBlbHNlIHsKKwllbnRyeSA9IHhtbE1hbGxvYyhzaXplb2YoeG1sSGFzaEVudHJ5KSk7CisJaWYgKGVudHJ5ID09IE5VTEwpCisJICAgICByZXR1cm4oLTEpOworICAgIH0KKworICAgIGlmICh0YWJsZS0+ZGljdCAhPSBOVUxMKSB7CisgICAgICAgIGVudHJ5LT5uYW1lID0gKHhtbENoYXIgKikgbmFtZTsKKyAgICAgICAgZW50cnktPm5hbWUyID0gKHhtbENoYXIgKikgbmFtZTI7CisgICAgICAgIGVudHJ5LT5uYW1lMyA9ICh4bWxDaGFyICopIG5hbWUzOworICAgIH0gZWxzZSB7CisJZW50cnktPm5hbWUgPSB4bWxTdHJkdXAobmFtZSk7CisJZW50cnktPm5hbWUyID0geG1sU3RyZHVwKG5hbWUyKTsKKwllbnRyeS0+bmFtZTMgPSB4bWxTdHJkdXAobmFtZTMpOworICAgIH0KKyAgICBlbnRyeS0+cGF5bG9hZCA9IHVzZXJkYXRhOworICAgIGVudHJ5LT5uZXh0ID0gTlVMTDsKKyAgICBlbnRyeS0+dmFsaWQgPSAxOworCisKKyAgICBpZiAoaW5zZXJ0ICE9IE5VTEwpCisJaW5zZXJ0LT5uZXh0ID0gZW50cnk7CisKKyAgICB0YWJsZS0+bmJFbGVtcysrOworCisgICAgaWYgKGxlbiA+IE1BWF9IQVNIX0xFTikKKwl4bWxIYXNoR3Jvdyh0YWJsZSwgTUFYX0hBU0hfTEVOICogdGFibGUtPnNpemUpOworCisgICAgcmV0dXJuKDApOworfQorCisvKioKKyAqIHhtbEhhc2hVcGRhdGVFbnRyeTM6CisgKiBAdGFibGU6IHRoZSBoYXNoIHRhYmxlCisgKiBAbmFtZTogdGhlIG5hbWUgb2YgdGhlIHVzZXJkYXRhCisgKiBAbmFtZTI6IGEgc2Vjb25kIG5hbWUgb2YgdGhlIHVzZXJkYXRhCisgKiBAbmFtZTM6IGEgdGhpcmQgbmFtZSBvZiB0aGUgdXNlcmRhdGEKKyAqIEB1c2VyZGF0YTogYSBwb2ludGVyIHRvIHRoZSB1c2VyZGF0YQorICogQGY6IHRoZSBkZWFsbG9jYXRvciBmdW5jdGlvbiBmb3IgcmVwbGFjZWQgaXRlbSAoaWYgYW55KQorICoKKyAqIEFkZCB0aGUgQHVzZXJkYXRhIHRvIHRoZSBoYXNoIEB0YWJsZS4gVGhpcyBjYW4gbGF0ZXIgYmUgcmV0cmlldmVkCisgKiBieSB1c2luZyB0aGUgdHVwbGUgKEBuYW1lLCBAbmFtZTIsIEBuYW1lMykuIEV4aXN0aW5nIGVudHJ5IGZvciB0aGlzIHR1cGxlCisgKiB3aWxsIGJlIHJlbW92ZWQgYW5kIGZyZWVkIHdpdGggQGYgaWYgZm91bmQuCisgKgorICogUmV0dXJucyAwIHRoZSBhZGRpdGlvbiBzdWNjZWVkZWQgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludAoreG1sSGFzaFVwZGF0ZUVudHJ5Myh4bWxIYXNoVGFibGVQdHIgdGFibGUsIGNvbnN0IHhtbENoYXIgKm5hbWUsCisJICAgICAgICAgICBjb25zdCB4bWxDaGFyICpuYW1lMiwgY29uc3QgeG1sQ2hhciAqbmFtZTMsCisJCSAgIHZvaWQgKnVzZXJkYXRhLCB4bWxIYXNoRGVhbGxvY2F0b3IgZikgeworICAgIHVuc2lnbmVkIGxvbmcga2V5OworICAgIHhtbEhhc2hFbnRyeVB0ciBlbnRyeTsKKyAgICB4bWxIYXNoRW50cnlQdHIgaW5zZXJ0OworCisgICAgaWYgKCh0YWJsZSA9PSBOVUxMKSB8fCBuYW1lID09IE5VTEwpCisJcmV0dXJuKC0xKTsKKworICAgIC8qCisgICAgICogSWYgdXNpbmcgYSBkaWN0IGludGVybmFsaXplIGlmIG5lZWRlZAorICAgICAqLworICAgIGlmICh0YWJsZS0+ZGljdCkgeworICAgICAgICBpZiAoIXhtbERpY3RPd25zKHRhYmxlLT5kaWN0LCBuYW1lKSkgeworCSAgICBuYW1lID0geG1sRGljdExvb2t1cCh0YWJsZS0+ZGljdCwgbmFtZSwgLTEpOworCSAgICBpZiAobmFtZSA9PSBOVUxMKQorCSAgICAgICAgcmV0dXJuKC0xKTsKKwl9CisgICAgICAgIGlmICgobmFtZTIgIT0gTlVMTCkgJiYgKCF4bWxEaWN0T3ducyh0YWJsZS0+ZGljdCwgbmFtZTIpKSkgeworCSAgICBuYW1lMiA9IHhtbERpY3RMb29rdXAodGFibGUtPmRpY3QsIG5hbWUyLCAtMSk7CisJICAgIGlmIChuYW1lMiA9PSBOVUxMKQorCSAgICAgICAgcmV0dXJuKC0xKTsKKwl9CisgICAgICAgIGlmICgobmFtZTMgIT0gTlVMTCkgJiYgKCF4bWxEaWN0T3ducyh0YWJsZS0+ZGljdCwgbmFtZTMpKSkgeworCSAgICBuYW1lMyA9IHhtbERpY3RMb29rdXAodGFibGUtPmRpY3QsIG5hbWUzLCAtMSk7CisJICAgIGlmIChuYW1lMyA9PSBOVUxMKQorCSAgICAgICAgcmV0dXJuKC0xKTsKKwl9CisgICAgfQorCisgICAgLyoKKyAgICAgKiBDaGVjayBmb3IgZHVwbGljYXRlIGFuZCBpbnNlcnRpb24gbG9jYXRpb24uCisgICAgICovCisgICAga2V5ID0geG1sSGFzaENvbXB1dGVLZXkodGFibGUsIG5hbWUsIG5hbWUyLCBuYW1lMyk7CisgICAgaWYgKHRhYmxlLT50YWJsZVtrZXldLnZhbGlkID09IDApIHsKKwlpbnNlcnQgPSBOVUxMOworICAgIH0gZWxzZSB7CisgICAgICAgIGlmICh0YWJsZSAtPmRpY3QpIHsKKwkgICAgZm9yIChpbnNlcnQgPSAmKHRhYmxlLT50YWJsZVtrZXldKTsgaW5zZXJ0LT5uZXh0ICE9IE5VTEw7CisJCSBpbnNlcnQgPSBpbnNlcnQtPm5leHQpIHsKKwkJaWYgKChpbnNlcnQtPm5hbWUgPT0gbmFtZSkgJiYKKwkJICAgIChpbnNlcnQtPm5hbWUyID09IG5hbWUyKSAmJgorCQkgICAgKGluc2VydC0+bmFtZTMgPT0gbmFtZTMpKSB7CisJCSAgICBpZiAoZikKKwkJCWYoaW5zZXJ0LT5wYXlsb2FkLCBpbnNlcnQtPm5hbWUpOworCQkgICAgaW5zZXJ0LT5wYXlsb2FkID0gdXNlcmRhdGE7CisJCSAgICByZXR1cm4oMCk7CisJCX0KKwkgICAgfQorCSAgICBpZiAoKGluc2VydC0+bmFtZSA9PSBuYW1lKSAmJgorCQkoaW5zZXJ0LT5uYW1lMiA9PSBuYW1lMikgJiYKKwkJKGluc2VydC0+bmFtZTMgPT0gbmFtZTMpKSB7CisJCWlmIChmKQorCQkgICAgZihpbnNlcnQtPnBheWxvYWQsIGluc2VydC0+bmFtZSk7CisJCWluc2VydC0+cGF5bG9hZCA9IHVzZXJkYXRhOworCQlyZXR1cm4oMCk7CisJICAgIH0KKwl9IGVsc2UgeworCSAgICBmb3IgKGluc2VydCA9ICYodGFibGUtPnRhYmxlW2tleV0pOyBpbnNlcnQtPm5leHQgIT0gTlVMTDsKKwkJIGluc2VydCA9IGluc2VydC0+bmV4dCkgeworCQlpZiAoKHhtbFN0ckVxdWFsKGluc2VydC0+bmFtZSwgbmFtZSkpICYmCisJCSAgICAoeG1sU3RyRXF1YWwoaW5zZXJ0LT5uYW1lMiwgbmFtZTIpKSAmJgorCQkgICAgKHhtbFN0ckVxdWFsKGluc2VydC0+bmFtZTMsIG5hbWUzKSkpIHsKKwkJICAgIGlmIChmKQorCQkJZihpbnNlcnQtPnBheWxvYWQsIGluc2VydC0+bmFtZSk7CisJCSAgICBpbnNlcnQtPnBheWxvYWQgPSB1c2VyZGF0YTsKKwkJICAgIHJldHVybigwKTsKKwkJfQorCSAgICB9CisJICAgIGlmICgoeG1sU3RyRXF1YWwoaW5zZXJ0LT5uYW1lLCBuYW1lKSkgJiYKKwkJKHhtbFN0ckVxdWFsKGluc2VydC0+bmFtZTIsIG5hbWUyKSkgJiYKKwkJKHhtbFN0ckVxdWFsKGluc2VydC0+bmFtZTMsIG5hbWUzKSkpIHsKKwkJaWYgKGYpCisJCSAgICBmKGluc2VydC0+cGF5bG9hZCwgaW5zZXJ0LT5uYW1lKTsKKwkJaW5zZXJ0LT5wYXlsb2FkID0gdXNlcmRhdGE7CisJCXJldHVybigwKTsKKwkgICAgfQorCX0KKyAgICB9CisKKyAgICBpZiAoaW5zZXJ0ID09IE5VTEwpIHsKKwllbnRyeSA9ICAmKHRhYmxlLT50YWJsZVtrZXldKTsKKyAgICB9IGVsc2UgeworCWVudHJ5ID0geG1sTWFsbG9jKHNpemVvZih4bWxIYXNoRW50cnkpKTsKKwlpZiAoZW50cnkgPT0gTlVMTCkKKwkgICAgIHJldHVybigtMSk7CisgICAgfQorCisgICAgaWYgKHRhYmxlLT5kaWN0ICE9IE5VTEwpIHsKKyAgICAgICAgZW50cnktPm5hbWUgPSAoeG1sQ2hhciAqKSBuYW1lOworICAgICAgICBlbnRyeS0+bmFtZTIgPSAoeG1sQ2hhciAqKSBuYW1lMjsKKyAgICAgICAgZW50cnktPm5hbWUzID0gKHhtbENoYXIgKikgbmFtZTM7CisgICAgfSBlbHNlIHsKKwllbnRyeS0+bmFtZSA9IHhtbFN0cmR1cChuYW1lKTsKKwllbnRyeS0+bmFtZTIgPSB4bWxTdHJkdXAobmFtZTIpOworCWVudHJ5LT5uYW1lMyA9IHhtbFN0cmR1cChuYW1lMyk7CisgICAgfQorICAgIGVudHJ5LT5wYXlsb2FkID0gdXNlcmRhdGE7CisgICAgZW50cnktPm5leHQgPSBOVUxMOworICAgIGVudHJ5LT52YWxpZCA9IDE7CisgICAgdGFibGUtPm5iRWxlbXMrKzsKKworCisgICAgaWYgKGluc2VydCAhPSBOVUxMKSB7CisJaW5zZXJ0LT5uZXh0ID0gZW50cnk7CisgICAgfQorICAgIHJldHVybigwKTsKK30KKworLyoqCisgKiB4bWxIYXNoTG9va3VwMzoKKyAqIEB0YWJsZTogdGhlIGhhc2ggdGFibGUKKyAqIEBuYW1lOiB0aGUgbmFtZSBvZiB0aGUgdXNlcmRhdGEKKyAqIEBuYW1lMjogYSBzZWNvbmQgbmFtZSBvZiB0aGUgdXNlcmRhdGEKKyAqIEBuYW1lMzogYSB0aGlyZCBuYW1lIG9mIHRoZSB1c2VyZGF0YQorICoKKyAqIEZpbmQgdGhlIHVzZXJkYXRhIHNwZWNpZmllZCBieSB0aGUgKEBuYW1lLCBAbmFtZTIsIEBuYW1lMykgdHVwbGUuCisgKgorICogUmV0dXJucyB0aGUgYSBwb2ludGVyIHRvIHRoZSB1c2VyZGF0YQorICovCit2b2lkICoKK3htbEhhc2hMb29rdXAzKHhtbEhhc2hUYWJsZVB0ciB0YWJsZSwgY29uc3QgeG1sQ2hhciAqbmFtZSwKKwkgICAgICAgY29uc3QgeG1sQ2hhciAqbmFtZTIsIGNvbnN0IHhtbENoYXIgKm5hbWUzKSB7CisgICAgdW5zaWduZWQgbG9uZyBrZXk7CisgICAgeG1sSGFzaEVudHJ5UHRyIGVudHJ5OworCisgICAgaWYgKHRhYmxlID09IE5VTEwpCisJcmV0dXJuKE5VTEwpOworICAgIGlmIChuYW1lID09IE5VTEwpCisJcmV0dXJuKE5VTEwpOworICAgIGtleSA9IHhtbEhhc2hDb21wdXRlS2V5KHRhYmxlLCBuYW1lLCBuYW1lMiwgbmFtZTMpOworICAgIGlmICh0YWJsZS0+dGFibGVba2V5XS52YWxpZCA9PSAwKQorCXJldHVybihOVUxMKTsKKyAgICBpZiAodGFibGUtPmRpY3QpIHsKKwlmb3IgKGVudHJ5ID0gJih0YWJsZS0+dGFibGVba2V5XSk7IGVudHJ5ICE9IE5VTEw7IGVudHJ5ID0gZW50cnktPm5leHQpIHsKKwkgICAgaWYgKChlbnRyeS0+bmFtZSA9PSBuYW1lKSAmJgorCQkoZW50cnktPm5hbWUyID09IG5hbWUyKSAmJgorCQkoZW50cnktPm5hbWUzID09IG5hbWUzKSkKKwkJcmV0dXJuKGVudHJ5LT5wYXlsb2FkKTsKKwl9CisgICAgfQorICAgIGZvciAoZW50cnkgPSAmKHRhYmxlLT50YWJsZVtrZXldKTsgZW50cnkgIT0gTlVMTDsgZW50cnkgPSBlbnRyeS0+bmV4dCkgeworCWlmICgoeG1sU3RyRXF1YWwoZW50cnktPm5hbWUsIG5hbWUpKSAmJgorCSAgICAoeG1sU3RyRXF1YWwoZW50cnktPm5hbWUyLCBuYW1lMikpICYmCisJICAgICh4bWxTdHJFcXVhbChlbnRyeS0+bmFtZTMsIG5hbWUzKSkpCisJICAgIHJldHVybihlbnRyeS0+cGF5bG9hZCk7CisgICAgfQorICAgIHJldHVybihOVUxMKTsKK30KKworLyoqCisgKiB4bWxIYXNoUUxvb2t1cDM6CisgKiBAdGFibGU6IHRoZSBoYXNoIHRhYmxlCisgKiBAcHJlZml4OiB0aGUgcHJlZml4IG9mIHRoZSB1c2VyZGF0YQorICogQG5hbWU6IHRoZSBuYW1lIG9mIHRoZSB1c2VyZGF0YQorICogQHByZWZpeDI6IHRoZSBzZWNvbmQgcHJlZml4IG9mIHRoZSB1c2VyZGF0YQorICogQG5hbWUyOiBhIHNlY29uZCBuYW1lIG9mIHRoZSB1c2VyZGF0YQorICogQHByZWZpeDM6IHRoZSB0aGlyZCBwcmVmaXggb2YgdGhlIHVzZXJkYXRhCisgKiBAbmFtZTM6IGEgdGhpcmQgbmFtZSBvZiB0aGUgdXNlcmRhdGEKKyAqCisgKiBGaW5kIHRoZSB1c2VyZGF0YSBzcGVjaWZpZWQgYnkgdGhlIChAbmFtZSwgQG5hbWUyLCBAbmFtZTMpIHR1cGxlLgorICoKKyAqIFJldHVybnMgdGhlIGEgcG9pbnRlciB0byB0aGUgdXNlcmRhdGEKKyAqLwordm9pZCAqCit4bWxIYXNoUUxvb2t1cDMoeG1sSGFzaFRhYmxlUHRyIHRhYmxlLAorICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKnByZWZpeCwgY29uc3QgeG1sQ2hhciAqbmFtZSwKKwkJY29uc3QgeG1sQ2hhciAqcHJlZml4MiwgY29uc3QgeG1sQ2hhciAqbmFtZTIsCisJCWNvbnN0IHhtbENoYXIgKnByZWZpeDMsIGNvbnN0IHhtbENoYXIgKm5hbWUzKSB7CisgICAgdW5zaWduZWQgbG9uZyBrZXk7CisgICAgeG1sSGFzaEVudHJ5UHRyIGVudHJ5OworCisgICAgaWYgKHRhYmxlID09IE5VTEwpCisJcmV0dXJuKE5VTEwpOworICAgIGlmIChuYW1lID09IE5VTEwpCisJcmV0dXJuKE5VTEwpOworICAgIGtleSA9IHhtbEhhc2hDb21wdXRlUUtleSh0YWJsZSwgcHJlZml4LCBuYW1lLCBwcmVmaXgyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lMiwgcHJlZml4MywgbmFtZTMpOworICAgIGlmICh0YWJsZS0+dGFibGVba2V5XS52YWxpZCA9PSAwKQorCXJldHVybihOVUxMKTsKKyAgICBmb3IgKGVudHJ5ID0gJih0YWJsZS0+dGFibGVba2V5XSk7IGVudHJ5ICE9IE5VTEw7IGVudHJ5ID0gZW50cnktPm5leHQpIHsKKwlpZiAoKHhtbFN0clFFcXVhbChwcmVmaXgsIG5hbWUsIGVudHJ5LT5uYW1lKSkgJiYKKwkgICAgKHhtbFN0clFFcXVhbChwcmVmaXgyLCBuYW1lMiwgZW50cnktPm5hbWUyKSkgJiYKKwkgICAgKHhtbFN0clFFcXVhbChwcmVmaXgzLCBuYW1lMywgZW50cnktPm5hbWUzKSkpCisJICAgIHJldHVybihlbnRyeS0+cGF5bG9hZCk7CisgICAgfQorICAgIHJldHVybihOVUxMKTsKK30KKwordHlwZWRlZiBzdHJ1Y3QgeworICAgIHhtbEhhc2hTY2FubmVyIGhhc2hzY2FubmVyOworICAgIHZvaWQgKmRhdGE7Cit9IHN0dWJEYXRhOworCitzdGF0aWMgdm9pZAorc3R1Ykhhc2hTY2FubmVyRnVsbCAodm9pZCAqcGF5bG9hZCwgdm9pZCAqZGF0YSwgY29uc3QgeG1sQ2hhciAqbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKm5hbWUyIEFUVFJJQlVURV9VTlVTRUQsCisJCSAgICAgY29uc3QgeG1sQ2hhciAqbmFtZTMgQVRUUklCVVRFX1VOVVNFRCkgeworICAgIHN0dWJEYXRhICpzdHViZGF0YSA9IChzdHViRGF0YSAqKSBkYXRhOworICAgIHN0dWJkYXRhLT5oYXNoc2Nhbm5lciAocGF5bG9hZCwgc3R1YmRhdGEtPmRhdGEsICh4bWxDaGFyICopIG5hbWUpOworfQorCisvKioKKyAqIHhtbEhhc2hTY2FuOgorICogQHRhYmxlOiB0aGUgaGFzaCB0YWJsZQorICogQGY6ICB0aGUgc2Nhbm5lciBmdW5jdGlvbiBmb3IgaXRlbXMgaW4gdGhlIGhhc2gKKyAqIEBkYXRhOiAgZXh0cmEgZGF0YSBwYXNzZWQgdG8gZgorICoKKyAqIFNjYW4gdGhlIGhhc2ggQHRhYmxlIGFuZCBhcHBsaWVkIEBmIHRvIGVhY2ggdmFsdWUuCisgKi8KK3ZvaWQKK3htbEhhc2hTY2FuKHhtbEhhc2hUYWJsZVB0ciB0YWJsZSwgeG1sSGFzaFNjYW5uZXIgZiwgdm9pZCAqZGF0YSkgeworICAgIHN0dWJEYXRhIHN0dWJkYXRhOworICAgIHN0dWJkYXRhLmRhdGEgPSBkYXRhOworICAgIHN0dWJkYXRhLmhhc2hzY2FubmVyID0gZjsKKyAgICB4bWxIYXNoU2NhbkZ1bGwgKHRhYmxlLCBzdHViSGFzaFNjYW5uZXJGdWxsLCAmc3R1YmRhdGEpOworfQorCisvKioKKyAqIHhtbEhhc2hTY2FuRnVsbDoKKyAqIEB0YWJsZTogdGhlIGhhc2ggdGFibGUKKyAqIEBmOiAgdGhlIHNjYW5uZXIgZnVuY3Rpb24gZm9yIGl0ZW1zIGluIHRoZSBoYXNoCisgKiBAZGF0YTogIGV4dHJhIGRhdGEgcGFzc2VkIHRvIGYKKyAqCisgKiBTY2FuIHRoZSBoYXNoIEB0YWJsZSBhbmQgYXBwbGllZCBAZiB0byBlYWNoIHZhbHVlLgorICovCit2b2lkCit4bWxIYXNoU2NhbkZ1bGwoeG1sSGFzaFRhYmxlUHRyIHRhYmxlLCB4bWxIYXNoU2Nhbm5lckZ1bGwgZiwgdm9pZCAqZGF0YSkgeworICAgIGludCBpLCBuYjsKKyAgICB4bWxIYXNoRW50cnlQdHIgaXRlcjsKKyAgICB4bWxIYXNoRW50cnlQdHIgbmV4dDsKKworICAgIGlmICh0YWJsZSA9PSBOVUxMKQorCXJldHVybjsKKyAgICBpZiAoZiA9PSBOVUxMKQorCXJldHVybjsKKworICAgIGlmICh0YWJsZS0+dGFibGUpIHsKKwlmb3IoaSA9IDA7IGkgPCB0YWJsZS0+c2l6ZTsgaSsrKSB7CisJICAgIGlmICh0YWJsZS0+dGFibGVbaV0udmFsaWQgPT0gMCkKKwkJY29udGludWU7CisJICAgIGl0ZXIgPSAmKHRhYmxlLT50YWJsZVtpXSk7CisJICAgIHdoaWxlIChpdGVyKSB7CisJCW5leHQgPSBpdGVyLT5uZXh0OworICAgICAgICAgICAgICAgIG5iID0gdGFibGUtPm5iRWxlbXM7CisJCWlmICgoZiAhPSBOVUxMKSAmJiAoaXRlci0+cGF5bG9hZCAhPSBOVUxMKSkKKwkJICAgIGYoaXRlci0+cGF5bG9hZCwgZGF0YSwgaXRlci0+bmFtZSwKKwkJICAgICAgaXRlci0+bmFtZTIsIGl0ZXItPm5hbWUzKTsKKyAgICAgICAgICAgICAgICBpZiAobmIgIT0gdGFibGUtPm5iRWxlbXMpIHsKKyAgICAgICAgICAgICAgICAgICAgLyogdGFibGUgd2FzIG1vZGlmaWVkIGJ5IHRoZSBjYWxsYmFjaywgYmUgY2FyZWZ1bCAqLworICAgICAgICAgICAgICAgICAgICBpZiAoaXRlciA9PSAmKHRhYmxlLT50YWJsZVtpXSkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0YWJsZS0+dGFibGVbaV0udmFsaWQgPT0gMCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVyID0gTlVMTDsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0YWJsZS0+dGFibGVbaV0ubmV4dCAhPSBuZXh0KQorCQkJICAgIGl0ZXIgPSAmKHRhYmxlLT50YWJsZVtpXSk7CisgICAgICAgICAgICAgICAgICAgIH0gZWxzZQorCQkgICAgICAgIGl0ZXIgPSBuZXh0OworICAgICAgICAgICAgICAgIH0gZWxzZQorCQkgICAgaXRlciA9IG5leHQ7CisJICAgIH0KKwl9CisgICAgfQorfQorCisvKioKKyAqIHhtbEhhc2hTY2FuMzoKKyAqIEB0YWJsZTogdGhlIGhhc2ggdGFibGUKKyAqIEBuYW1lOiB0aGUgbmFtZSBvZiB0aGUgdXNlcmRhdGEgb3IgTlVMTAorICogQG5hbWUyOiBhIHNlY29uZCBuYW1lIG9mIHRoZSB1c2VyZGF0YSBvciBOVUxMCisgKiBAbmFtZTM6IGEgdGhpcmQgbmFtZSBvZiB0aGUgdXNlcmRhdGEgb3IgTlVMTAorICogQGY6ICB0aGUgc2Nhbm5lciBmdW5jdGlvbiBmb3IgaXRlbXMgaW4gdGhlIGhhc2gKKyAqIEBkYXRhOiAgZXh0cmEgZGF0YSBwYXNzZWQgdG8gZgorICoKKyAqIFNjYW4gdGhlIGhhc2ggQHRhYmxlIGFuZCBhcHBsaWVkIEBmIHRvIGVhY2ggdmFsdWUgbWF0Y2hpbmcKKyAqIChAbmFtZSwgQG5hbWUyLCBAbmFtZTMpIHR1cGxlLiBJZiBvbmUgb2YgdGhlIG5hbWVzIGlzIG51bGwsCisgKiB0aGUgY29tcGFyaXNvbiBpcyBjb25zaWRlcmVkIHRvIG1hdGNoLgorICovCit2b2lkCit4bWxIYXNoU2NhbjMoeG1sSGFzaFRhYmxlUHRyIHRhYmxlLCBjb25zdCB4bWxDaGFyICpuYW1lLAorCSAgICAgY29uc3QgeG1sQ2hhciAqbmFtZTIsIGNvbnN0IHhtbENoYXIgKm5hbWUzLAorCSAgICAgeG1sSGFzaFNjYW5uZXIgZiwgdm9pZCAqZGF0YSkgeworICAgIHhtbEhhc2hTY2FuRnVsbDMgKHRhYmxlLCBuYW1lLCBuYW1lMiwgbmFtZTMsCisJCSAgICAgICh4bWxIYXNoU2Nhbm5lckZ1bGwpIGYsIGRhdGEpOworfQorCisvKioKKyAqIHhtbEhhc2hTY2FuRnVsbDM6CisgKiBAdGFibGU6IHRoZSBoYXNoIHRhYmxlCisgKiBAbmFtZTogdGhlIG5hbWUgb2YgdGhlIHVzZXJkYXRhIG9yIE5VTEwKKyAqIEBuYW1lMjogYSBzZWNvbmQgbmFtZSBvZiB0aGUgdXNlcmRhdGEgb3IgTlVMTAorICogQG5hbWUzOiBhIHRoaXJkIG5hbWUgb2YgdGhlIHVzZXJkYXRhIG9yIE5VTEwKKyAqIEBmOiAgdGhlIHNjYW5uZXIgZnVuY3Rpb24gZm9yIGl0ZW1zIGluIHRoZSBoYXNoCisgKiBAZGF0YTogIGV4dHJhIGRhdGEgcGFzc2VkIHRvIGYKKyAqCisgKiBTY2FuIHRoZSBoYXNoIEB0YWJsZSBhbmQgYXBwbGllZCBAZiB0byBlYWNoIHZhbHVlIG1hdGNoaW5nCisgKiAoQG5hbWUsIEBuYW1lMiwgQG5hbWUzKSB0dXBsZS4gSWYgb25lIG9mIHRoZSBuYW1lcyBpcyBudWxsLAorICogdGhlIGNvbXBhcmlzb24gaXMgY29uc2lkZXJlZCB0byBtYXRjaC4KKyAqLwordm9pZAoreG1sSGFzaFNjYW5GdWxsMyh4bWxIYXNoVGFibGVQdHIgdGFibGUsIGNvbnN0IHhtbENoYXIgKm5hbWUsCisJCSBjb25zdCB4bWxDaGFyICpuYW1lMiwgY29uc3QgeG1sQ2hhciAqbmFtZTMsCisJCSB4bWxIYXNoU2Nhbm5lckZ1bGwgZiwgdm9pZCAqZGF0YSkgeworICAgIGludCBpOworICAgIHhtbEhhc2hFbnRyeVB0ciBpdGVyOworICAgIHhtbEhhc2hFbnRyeVB0ciBuZXh0OworCisgICAgaWYgKHRhYmxlID09IE5VTEwpCisJcmV0dXJuOworICAgIGlmIChmID09IE5VTEwpCisJcmV0dXJuOworCisgICAgaWYgKHRhYmxlLT50YWJsZSkgeworCWZvcihpID0gMDsgaSA8IHRhYmxlLT5zaXplOyBpKyspIHsKKwkgICAgaWYgKHRhYmxlLT50YWJsZVtpXS52YWxpZCA9PSAwKQorCQljb250aW51ZTsKKwkgICAgaXRlciA9ICYodGFibGUtPnRhYmxlW2ldKTsKKwkgICAgd2hpbGUgKGl0ZXIpIHsKKwkJbmV4dCA9IGl0ZXItPm5leHQ7CisJCWlmICgoKG5hbWUgPT0gTlVMTCkgfHwgKHhtbFN0ckVxdWFsKG5hbWUsIGl0ZXItPm5hbWUpKSkgJiYKKwkJICAgICgobmFtZTIgPT0gTlVMTCkgfHwgKHhtbFN0ckVxdWFsKG5hbWUyLCBpdGVyLT5uYW1lMikpKSAmJgorCQkgICAgKChuYW1lMyA9PSBOVUxMKSB8fCAoeG1sU3RyRXF1YWwobmFtZTMsIGl0ZXItPm5hbWUzKSkpICYmCisJCSAgICAoaXRlci0+cGF5bG9hZCAhPSBOVUxMKSkgeworCQkgICAgZihpdGVyLT5wYXlsb2FkLCBkYXRhLCBpdGVyLT5uYW1lLAorCQkgICAgICBpdGVyLT5uYW1lMiwgaXRlci0+bmFtZTMpOworCQl9CisJCWl0ZXIgPSBuZXh0OworCSAgICB9CisJfQorICAgIH0KK30KKworLyoqCisgKiB4bWxIYXNoQ29weToKKyAqIEB0YWJsZTogdGhlIGhhc2ggdGFibGUKKyAqIEBmOiAgdGhlIGNvcGllciBmdW5jdGlvbiBmb3IgaXRlbXMgaW4gdGhlIGhhc2gKKyAqCisgKiBTY2FuIHRoZSBoYXNoIEB0YWJsZSBhbmQgYXBwbGllZCBAZiB0byBlYWNoIHZhbHVlLgorICoKKyAqIFJldHVybnMgdGhlIG5ldyB0YWJsZSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK3htbEhhc2hUYWJsZVB0cgoreG1sSGFzaENvcHkoeG1sSGFzaFRhYmxlUHRyIHRhYmxlLCB4bWxIYXNoQ29waWVyIGYpIHsKKyAgICBpbnQgaTsKKyAgICB4bWxIYXNoRW50cnlQdHIgaXRlcjsKKyAgICB4bWxIYXNoRW50cnlQdHIgbmV4dDsKKyAgICB4bWxIYXNoVGFibGVQdHIgcmV0OworCisgICAgaWYgKHRhYmxlID09IE5VTEwpCisJcmV0dXJuKE5VTEwpOworICAgIGlmIChmID09IE5VTEwpCisJcmV0dXJuKE5VTEwpOworCisgICAgcmV0ID0geG1sSGFzaENyZWF0ZSh0YWJsZS0+c2l6ZSk7CisgICAgaWYgKHJldCA9PSBOVUxMKQorICAgICAgICByZXR1cm4oTlVMTCk7CisKKyAgICBpZiAodGFibGUtPnRhYmxlKSB7CisJZm9yKGkgPSAwOyBpIDwgdGFibGUtPnNpemU7IGkrKykgeworCSAgICBpZiAodGFibGUtPnRhYmxlW2ldLnZhbGlkID09IDApCisJCWNvbnRpbnVlOworCSAgICBpdGVyID0gJih0YWJsZS0+dGFibGVbaV0pOworCSAgICB3aGlsZSAoaXRlcikgeworCQluZXh0ID0gaXRlci0+bmV4dDsKKwkJeG1sSGFzaEFkZEVudHJ5MyhyZXQsIGl0ZXItPm5hbWUsIGl0ZXItPm5hbWUyLAorCQkJICAgICAgICAgaXRlci0+bmFtZTMsIGYoaXRlci0+cGF5bG9hZCwgaXRlci0+bmFtZSkpOworCQlpdGVyID0gbmV4dDsKKwkgICAgfQorCX0KKyAgICB9CisgICAgcmV0LT5uYkVsZW1zID0gdGFibGUtPm5iRWxlbXM7CisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogeG1sSGFzaFNpemU6CisgKiBAdGFibGU6IHRoZSBoYXNoIHRhYmxlCisgKgorICogUXVlcnkgdGhlIG51bWJlciBvZiBlbGVtZW50cyBpbnN0YWxsZWQgaW4gdGhlIGhhc2ggQHRhYmxlLgorICoKKyAqIFJldHVybnMgdGhlIG51bWJlciBvZiBlbGVtZW50cyBpbiB0aGUgaGFzaCB0YWJsZSBvcgorICogLTEgaW4gY2FzZSBvZiBlcnJvcgorICovCitpbnQKK3htbEhhc2hTaXplKHhtbEhhc2hUYWJsZVB0ciB0YWJsZSkgeworICAgIGlmICh0YWJsZSA9PSBOVUxMKQorCXJldHVybigtMSk7CisgICAgcmV0dXJuKHRhYmxlLT5uYkVsZW1zKTsKK30KKworLyoqCisgKiB4bWxIYXNoUmVtb3ZlRW50cnk6CisgKiBAdGFibGU6IHRoZSBoYXNoIHRhYmxlCisgKiBAbmFtZTogdGhlIG5hbWUgb2YgdGhlIHVzZXJkYXRhCisgKiBAZjogdGhlIGRlYWxsb2NhdG9yIGZ1bmN0aW9uIGZvciByZW1vdmVkIGl0ZW0gKGlmIGFueSkKKyAqCisgKiBGaW5kIHRoZSB1c2VyZGF0YSBzcGVjaWZpZWQgYnkgdGhlIEBuYW1lIGFuZCByZW1vdmUKKyAqIGl0IGZyb20gdGhlIGhhc2ggQHRhYmxlLiBFeGlzdGluZyB1c2VyZGF0YSBmb3IgdGhpcyB0dXBsZSB3aWxsIGJlIHJlbW92ZWQKKyAqIGFuZCBmcmVlZCB3aXRoIEBmLgorICoKKyAqIFJldHVybnMgMCBpZiB0aGUgcmVtb3ZhbCBzdWNjZWVkZWQgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3Igb3Igbm90IGZvdW5kLgorICovCitpbnQgeG1sSGFzaFJlbW92ZUVudHJ5KHhtbEhhc2hUYWJsZVB0ciB0YWJsZSwgY29uc3QgeG1sQ2hhciAqbmFtZSwKKwkJICAgICAgIHhtbEhhc2hEZWFsbG9jYXRvciBmKSB7CisgICAgcmV0dXJuKHhtbEhhc2hSZW1vdmVFbnRyeTModGFibGUsIG5hbWUsIE5VTEwsIE5VTEwsIGYpKTsKK30KKworLyoqCisgKiB4bWxIYXNoUmVtb3ZlRW50cnkyOgorICogQHRhYmxlOiB0aGUgaGFzaCB0YWJsZQorICogQG5hbWU6IHRoZSBuYW1lIG9mIHRoZSB1c2VyZGF0YQorICogQG5hbWUyOiBhIHNlY29uZCBuYW1lIG9mIHRoZSB1c2VyZGF0YQorICogQGY6IHRoZSBkZWFsbG9jYXRvciBmdW5jdGlvbiBmb3IgcmVtb3ZlZCBpdGVtIChpZiBhbnkpCisgKgorICogRmluZCB0aGUgdXNlcmRhdGEgc3BlY2lmaWVkIGJ5IHRoZSAoQG5hbWUsIEBuYW1lMikgdHVwbGUgYW5kIHJlbW92ZQorICogaXQgZnJvbSB0aGUgaGFzaCBAdGFibGUuIEV4aXN0aW5nIHVzZXJkYXRhIGZvciB0aGlzIHR1cGxlIHdpbGwgYmUgcmVtb3ZlZAorICogYW5kIGZyZWVkIHdpdGggQGYuCisgKgorICogUmV0dXJucyAwIGlmIHRoZSByZW1vdmFsIHN1Y2NlZWRlZCBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvciBvciBub3QgZm91bmQuCisgKi8KK2ludAoreG1sSGFzaFJlbW92ZUVudHJ5Mih4bWxIYXNoVGFibGVQdHIgdGFibGUsIGNvbnN0IHhtbENoYXIgKm5hbWUsCisJCQljb25zdCB4bWxDaGFyICpuYW1lMiwgeG1sSGFzaERlYWxsb2NhdG9yIGYpIHsKKyAgICByZXR1cm4oeG1sSGFzaFJlbW92ZUVudHJ5Myh0YWJsZSwgbmFtZSwgbmFtZTIsIE5VTEwsIGYpKTsKK30KKworLyoqCisgKiB4bWxIYXNoUmVtb3ZlRW50cnkzOgorICogQHRhYmxlOiB0aGUgaGFzaCB0YWJsZQorICogQG5hbWU6IHRoZSBuYW1lIG9mIHRoZSB1c2VyZGF0YQorICogQG5hbWUyOiBhIHNlY29uZCBuYW1lIG9mIHRoZSB1c2VyZGF0YQorICogQG5hbWUzOiBhIHRoaXJkIG5hbWUgb2YgdGhlIHVzZXJkYXRhCisgKiBAZjogdGhlIGRlYWxsb2NhdG9yIGZ1bmN0aW9uIGZvciByZW1vdmVkIGl0ZW0gKGlmIGFueSkKKyAqCisgKiBGaW5kIHRoZSB1c2VyZGF0YSBzcGVjaWZpZWQgYnkgdGhlIChAbmFtZSwgQG5hbWUyLCBAbmFtZTMpIHR1cGxlIGFuZCByZW1vdmUKKyAqIGl0IGZyb20gdGhlIGhhc2ggQHRhYmxlLiBFeGlzdGluZyB1c2VyZGF0YSBmb3IgdGhpcyB0dXBsZSB3aWxsIGJlIHJlbW92ZWQKKyAqIGFuZCBmcmVlZCB3aXRoIEBmLgorICoKKyAqIFJldHVybnMgMCBpZiB0aGUgcmVtb3ZhbCBzdWNjZWVkZWQgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3Igb3Igbm90IGZvdW5kLgorICovCitpbnQKK3htbEhhc2hSZW1vdmVFbnRyeTMoeG1sSGFzaFRhYmxlUHRyIHRhYmxlLCBjb25zdCB4bWxDaGFyICpuYW1lLAorICAgIGNvbnN0IHhtbENoYXIgKm5hbWUyLCBjb25zdCB4bWxDaGFyICpuYW1lMywgeG1sSGFzaERlYWxsb2NhdG9yIGYpIHsKKyAgICB1bnNpZ25lZCBsb25nIGtleTsKKyAgICB4bWxIYXNoRW50cnlQdHIgZW50cnk7CisgICAgeG1sSGFzaEVudHJ5UHRyIHByZXYgPSBOVUxMOworCisgICAgaWYgKHRhYmxlID09IE5VTEwgfHwgbmFtZSA9PSBOVUxMKQorICAgICAgICByZXR1cm4oLTEpOworCisgICAga2V5ID0geG1sSGFzaENvbXB1dGVLZXkodGFibGUsIG5hbWUsIG5hbWUyLCBuYW1lMyk7CisgICAgaWYgKHRhYmxlLT50YWJsZVtrZXldLnZhbGlkID09IDApIHsKKyAgICAgICAgcmV0dXJuKC0xKTsKKyAgICB9IGVsc2UgeworICAgICAgICBmb3IgKGVudHJ5ID0gJih0YWJsZS0+dGFibGVba2V5XSk7IGVudHJ5ICE9IE5VTEw7IGVudHJ5ID0gZW50cnktPm5leHQpIHsKKyAgICAgICAgICAgIGlmICh4bWxTdHJFcXVhbChlbnRyeS0+bmFtZSwgbmFtZSkgJiYKKyAgICAgICAgICAgICAgICAgICAgeG1sU3RyRXF1YWwoZW50cnktPm5hbWUyLCBuYW1lMikgJiYKKyAgICAgICAgICAgICAgICAgICAgeG1sU3RyRXF1YWwoZW50cnktPm5hbWUzLCBuYW1lMykpIHsKKyAgICAgICAgICAgICAgICBpZiAoKGYgIT0gTlVMTCkgJiYgKGVudHJ5LT5wYXlsb2FkICE9IE5VTEwpKQorICAgICAgICAgICAgICAgICAgICBmKGVudHJ5LT5wYXlsb2FkLCBlbnRyeS0+bmFtZSk7CisgICAgICAgICAgICAgICAgZW50cnktPnBheWxvYWQgPSBOVUxMOworCQlpZiAodGFibGUtPmRpY3QgPT0gTlVMTCkgeworCQkgICAgaWYoZW50cnktPm5hbWUpCisJCQl4bWxGcmVlKGVudHJ5LT5uYW1lKTsKKwkJICAgIGlmKGVudHJ5LT5uYW1lMikKKwkJCXhtbEZyZWUoZW50cnktPm5hbWUyKTsKKwkJICAgIGlmKGVudHJ5LT5uYW1lMykKKwkJCXhtbEZyZWUoZW50cnktPm5hbWUzKTsKKwkJfQorICAgICAgICAgICAgICAgIGlmKHByZXYpIHsKKyAgICAgICAgICAgICAgICAgICAgcHJldi0+bmV4dCA9IGVudHJ5LT5uZXh0OworCQkgICAgeG1sRnJlZShlbnRyeSk7CisJCX0gZWxzZSB7CisJCSAgICBpZiAoZW50cnktPm5leHQgPT0gTlVMTCkgeworCQkJZW50cnktPnZhbGlkID0gMDsKKwkJICAgIH0gZWxzZSB7CisJCQllbnRyeSA9IGVudHJ5LT5uZXh0OworCQkJbWVtY3B5KCYodGFibGUtPnRhYmxlW2tleV0pLCBlbnRyeSwgc2l6ZW9mKHhtbEhhc2hFbnRyeSkpOworCQkJeG1sRnJlZShlbnRyeSk7CisJCSAgICB9CisJCX0KKyAgICAgICAgICAgICAgICB0YWJsZS0+bmJFbGVtcy0tOworICAgICAgICAgICAgICAgIHJldHVybigwKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHByZXYgPSBlbnRyeTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4oLTEpOworICAgIH0KK30KKworI2RlZmluZSBib3R0b21faGFzaAorI2luY2x1ZGUgImVsZmdjY2hhY2suaCIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvaW5jbHVkZS9NYWtlZmlsZS5hbSBiL2xpYnhtbDIvaW5jbHVkZS9NYWtlZmlsZS5hbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZGJmYWE1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9pbmNsdWRlL01ha2VmaWxlLmFtCkBAIC0wLDAgKzEsNSBAQAorIyMgUHJvY2VzcyB0aGlzIGZpbGUgd2l0aCBhdXRvbWFrZSB0byBwcm9kdWNlIE1ha2VmaWxlLmluCitTVUJESVJTPWxpYnhtbAorCitFWFRSQV9ESVNUID0gd2luMzJjb25maWcuaCB3c29ja2NvbXBhdC5oCisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvaW5jbHVkZS9saWJ4bWwvRE9DQnBhcnNlci5oIGIvbGlieG1sMi9pbmNsdWRlL2xpYnhtbC9ET0NCcGFyc2VyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTM5NGZhNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvaW5jbHVkZS9saWJ4bWwvRE9DQnBhcnNlci5oCkBAIC0wLDAgKzEsOTYgQEAKKy8qCisgKiBTdW1tYXJ5OiBvbGQgRG9jQm9vayBTR01MIHBhcnNlcgorICogRGVzY3JpcHRpb246IGludGVyZmFjZSBmb3IgYSBEb2NCb29rIFNHTUwgbm9uLXZlcmlmeWluZyBwYXJzZXIKKyAqIFRoaXMgY29kZSBpcyBERVBSRUNBVEVELCBhbmQgc2hvdWxkIG5vdCBiZSB1c2VkIGFueW1vcmUuCisgKgorICogQ29weTogU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgorICoKKyAqIEF1dGhvcjogRGFuaWVsIFZlaWxsYXJkCisgKi8KKworI2lmbmRlZiBfX0RPQ0JfUEFSU0VSX0hfXworI2RlZmluZSBfX0RPQ0JfUEFSU0VSX0hfXworI2luY2x1ZGUgPGxpYnhtbC94bWx2ZXJzaW9uLmg+CisKKyNpZmRlZiBMSUJYTUxfRE9DQl9FTkFCTEVECisKKyNpbmNsdWRlIDxsaWJ4bWwvcGFyc2VyLmg+CisjaW5jbHVkZSA8bGlieG1sL3BhcnNlckludGVybmFscy5oPgorCisjaWZuZGVmIElOX0xJQlhNTAorI2lmZGVmIF9fR05VQ19fCisjd2FybmluZyAiVGhlIERPQ0JwYXJzZXIgbW9kdWxlIGhhcyBiZWVuIGRlcHJlY2F0ZWQgaW4gbGlieG1sMi0yLjYuMCIKKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7CisjZW5kaWYKKworLyoKKyAqIE1vc3Qgb2YgdGhlIGJhY2stZW5kIHN0cnVjdHVyZXMgZnJvbSBYTUwgYW5kIFNHTUwgYXJlIHNoYXJlZC4KKyAqLwordHlwZWRlZiB4bWxQYXJzZXJDdHh0IGRvY2JQYXJzZXJDdHh0OwordHlwZWRlZiB4bWxQYXJzZXJDdHh0UHRyIGRvY2JQYXJzZXJDdHh0UHRyOwordHlwZWRlZiB4bWxTQVhIYW5kbGVyIGRvY2JTQVhIYW5kbGVyOwordHlwZWRlZiB4bWxTQVhIYW5kbGVyUHRyIGRvY2JTQVhIYW5kbGVyUHRyOwordHlwZWRlZiB4bWxQYXJzZXJJbnB1dCBkb2NiUGFyc2VySW5wdXQ7Cit0eXBlZGVmIHhtbFBhcnNlcklucHV0UHRyIGRvY2JQYXJzZXJJbnB1dFB0cjsKK3R5cGVkZWYgeG1sRG9jUHRyIGRvY2JEb2NQdHI7CisKKy8qCisgKiBUaGVyZSBpcyBvbmx5IGZldyBwdWJsaWMgZnVuY3Rpb25zLgorICovCitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJICAgICBkb2NiRW5jb2RlRW50aXRpZXModW5zaWduZWQgY2hhciAqb3V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCAqb3V0bGVuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmluLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCAqaW5sZW4sIGludCBxdW90ZUNoYXIpOworCitYTUxQVUJGVU4gZG9jYkRvY1B0ciBYTUxDQUxMCisJCSAgICAgZG9jYlNBWFBhcnNlRG9jICAgKHhtbENoYXIgKmN1ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICplbmNvZGluZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb2NiU0FYSGFuZGxlclB0ciBzYXgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqdXNlckRhdGEpOworWE1MUFVCRlVOIGRvY2JEb2NQdHIgWE1MQ0FMTAorCQkgICAgIGRvY2JQYXJzZURvYyAgICAgICh4bWxDaGFyICpjdXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZW5jb2RpbmcpOworWE1MUFVCRlVOIGRvY2JEb2NQdHIgWE1MQ0FMTAorCQkgICAgIGRvY2JTQVhQYXJzZUZpbGUgIChjb25zdCBjaGFyICpmaWxlbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICplbmNvZGluZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb2NiU0FYSGFuZGxlclB0ciBzYXgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqdXNlckRhdGEpOworWE1MUFVCRlVOIGRvY2JEb2NQdHIgWE1MQ0FMTAorCQkgICAgIGRvY2JQYXJzZUZpbGUgICAgIChjb25zdCBjaGFyICpmaWxlbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICplbmNvZGluZyk7CisKKy8qKgorICogSW50ZXJmYWNlcyBmb3IgdGhlIFB1c2ggbW9kZS4KKyAqLworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQkgICAgIGRvY2JGcmVlUGFyc2VyQ3R4dCAgICAgIChkb2NiUGFyc2VyQ3R4dFB0ciBjdHh0KTsKK1hNTFBVQkZVTiBkb2NiUGFyc2VyQ3R4dFB0ciBYTUxDQUxMCisJCSAgICAgZG9jYkNyZWF0ZVB1c2hQYXJzZXJDdHh0KGRvY2JTQVhIYW5kbGVyUHRyIHNheCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICp1c2VyX2RhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqY2h1bmssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZmlsZW5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sQ2hhckVuY29kaW5nIGVuYyk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJICAgICBkb2NiUGFyc2VDaHVuayAgICAgICAgICAoZG9jYlBhcnNlckN0eHRQdHIgY3R4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpjaHVuaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdGVybWluYXRlKTsKK1hNTFBVQkZVTiBkb2NiUGFyc2VyQ3R4dFB0ciBYTUxDQUxMCisJCSAgICAgZG9jYkNyZWF0ZUZpbGVQYXJzZXJDdHh0KGNvbnN0IGNoYXIgKmZpbGVuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmVuY29kaW5nKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQkgICAgIGRvY2JQYXJzZURvY3VtZW50ICAgICAgIChkb2NiUGFyc2VyQ3R4dFB0ciBjdHh0KTsKKworI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKworI2VuZGlmIC8qIExJQlhNTF9ET0NCX0VOQUJMRUQgKi8KKworI2VuZGlmIC8qIF9fRE9DQl9QQVJTRVJfSF9fICovCmRpZmYgLS1naXQgYS9saWJ4bWwyL2luY2x1ZGUvbGlieG1sL0hUTUxwYXJzZXIuaCBiL2xpYnhtbDIvaW5jbHVkZS9saWJ4bWwvSFRNTHBhcnNlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU1MTE4NmMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2luY2x1ZGUvbGlieG1sL0hUTUxwYXJzZXIuaApAQCAtMCwwICsxLDMwNiBAQAorLyoKKyAqIFN1bW1hcnk6IGludGVyZmFjZSBmb3IgYW4gSFRNTCA0LjAgbm9uLXZlcmlmeWluZyBwYXJzZXIKKyAqIERlc2NyaXB0aW9uOiB0aGlzIG1vZHVsZSBpbXBsZW1lbnRzIGFuIEhUTUwgNC4wIG5vbi12ZXJpZnlpbmcgcGFyc2VyCisgKiAgICAgICAgICAgICAgd2l0aCBBUEkgY29tcGF0aWJsZSB3aXRoIHRoZSBYTUwgcGFyc2VyIG9uZXMuIEl0IHNob3VsZAorICogICAgICAgICAgICAgIGJlIGFibGUgdG8gcGFyc2UgInJlYWwgd29ybGQiIEhUTUwsIGV2ZW4gaWYgc2V2ZXJlbHkKKyAqICAgICAgICAgICAgICBicm9rZW4gZnJvbSBhIHNwZWNpZmljYXRpb24gcG9pbnQgb2Ygdmlldy4KKyAqCisgKiBDb3B5OiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisgKgorICogQXV0aG9yOiBEYW5pZWwgVmVpbGxhcmQKKyAqLworCisjaWZuZGVmIF9fSFRNTF9QQVJTRVJfSF9fCisjZGVmaW5lIF9fSFRNTF9QQVJTRVJfSF9fCisjaW5jbHVkZSA8bGlieG1sL3htbHZlcnNpb24uaD4KKyNpbmNsdWRlIDxsaWJ4bWwvcGFyc2VyLmg+CisKKyNpZmRlZiBMSUJYTUxfSFRNTF9FTkFCTEVECisKKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7CisjZW5kaWYKKworLyoKKyAqIE1vc3Qgb2YgdGhlIGJhY2stZW5kIHN0cnVjdHVyZXMgZnJvbSBYTUwgYW5kIEhUTUwgYXJlIHNoYXJlZC4KKyAqLwordHlwZWRlZiB4bWxQYXJzZXJDdHh0IGh0bWxQYXJzZXJDdHh0OwordHlwZWRlZiB4bWxQYXJzZXJDdHh0UHRyIGh0bWxQYXJzZXJDdHh0UHRyOwordHlwZWRlZiB4bWxQYXJzZXJOb2RlSW5mbyBodG1sUGFyc2VyTm9kZUluZm87Cit0eXBlZGVmIHhtbFNBWEhhbmRsZXIgaHRtbFNBWEhhbmRsZXI7Cit0eXBlZGVmIHhtbFNBWEhhbmRsZXJQdHIgaHRtbFNBWEhhbmRsZXJQdHI7Cit0eXBlZGVmIHhtbFBhcnNlcklucHV0IGh0bWxQYXJzZXJJbnB1dDsKK3R5cGVkZWYgeG1sUGFyc2VySW5wdXRQdHIgaHRtbFBhcnNlcklucHV0UHRyOwordHlwZWRlZiB4bWxEb2NQdHIgaHRtbERvY1B0cjsKK3R5cGVkZWYgeG1sTm9kZVB0ciBodG1sTm9kZVB0cjsKKworLyoKKyAqIEludGVybmFsIGRlc2NyaXB0aW9uIG9mIGFuIEhUTUwgZWxlbWVudCwgcmVwcmVzZW50aW5nIEhUTUwgNC4wMQorICogYW5kIFhIVE1MIDEuMCAod2hpY2ggc2hhcmUgdGhlIHNhbWUgc3RydWN0dXJlKS4KKyAqLwordHlwZWRlZiBzdHJ1Y3QgX2h0bWxFbGVtRGVzYyBodG1sRWxlbURlc2M7Cit0eXBlZGVmIGh0bWxFbGVtRGVzYyAqaHRtbEVsZW1EZXNjUHRyOworc3RydWN0IF9odG1sRWxlbURlc2MgeworICAgIGNvbnN0IGNoYXIgKm5hbWU7CS8qIFRoZSB0YWcgbmFtZSAqLworICAgIGNoYXIgc3RhcnRUYWc7ICAgICAgLyogV2hldGhlciB0aGUgc3RhcnQgdGFnIGNhbiBiZSBpbXBsaWVkICovCisgICAgY2hhciBlbmRUYWc7ICAgICAgICAvKiBXaGV0aGVyIHRoZSBlbmQgdGFnIGNhbiBiZSBpbXBsaWVkICovCisgICAgY2hhciBzYXZlRW5kVGFnOyAgICAvKiBXaGV0aGVyIHRoZSBlbmQgdGFnIHNob3VsZCBiZSBzYXZlZCAqLworICAgIGNoYXIgZW1wdHk7ICAgICAgICAgLyogSXMgdGhpcyBhbiBlbXB0eSBlbGVtZW50ID8gKi8KKyAgICBjaGFyIGRlcHI7ICAgICAgICAgIC8qIElzIHRoaXMgYSBkZXByZWNhdGVkIGVsZW1lbnQgPyAqLworICAgIGNoYXIgZHRkOyAgICAgICAgICAgLyogMTogb25seSBpbiBMb29zZSBEVEQsIDI6IG9ubHkgRnJhbWVzZXQgb25lICovCisgICAgY2hhciBpc2lubGluZTsgICAgICAvKiBpcyB0aGlzIGEgYmxvY2sgMCBvciBpbmxpbmUgMSBlbGVtZW50ICovCisgICAgY29uc3QgY2hhciAqZGVzYzsgICAvKiB0aGUgZGVzY3JpcHRpb24gKi8KKworLyogTlJLIEphbi4yMDAzCisgKiBOZXcgZmllbGRzIGVuY2Fwc3VsYXRpbmcgSFRNTCBzdHJ1Y3R1cmUKKyAqCisgKiBCdWdzOgorICoJVGhpcyBpcyBhIHZlcnkgbGltaXRlZCByZXByZXNlbnRhdGlvbi4gIEl0IGZhaWxzIHRvIHRlbGwgdXMgd2hlbgorICoJYW4gZWxlbWVudCAqcmVxdWlyZXMqIHN1YmVsZW1lbnRzICh3ZSBvbmx5IGhhdmUgd2hldGhlciB0aGV5J3JlCisgKglhbGxvd2VkIG9yIG5vdCksIGFuZCBpdCBkb2Vzbid0IHRlbGwgdXMgd2hlcmUgQ0RBVEEgYW5kIFBDREFUQQorICoJYXJlIGFsbG93ZWQuICBTb21lIGVsZW1lbnQgcmVsYXRpb25zaGlwcyBhcmUgbm90IGZ1bGx5IHJlcHJlc2VudGVkOgorICoJdGhlc2UgYXJlIGZsYWdnZWQgd2l0aCB0aGUgd29yZCBNT0RJRklFUgorICovCisgICAgY29uc3QgY2hhcioqIHN1YmVsdHM7CQkvKiBhbGxvd2VkIHN1Yi1lbGVtZW50cyBvZiB0aGlzIGVsZW1lbnQgKi8KKyAgICBjb25zdCBjaGFyKiBkZWZhdWx0c3ViZWx0OwkvKiBzdWJlbGVtZW50IGZvciBzdWdnZXN0ZWQgYXV0by1yZXBhaXIKKwkJCQkJICAgaWYgbmVjZXNzYXJ5IG9yIE5VTEwgKi8KKyAgICBjb25zdCBjaGFyKiogYXR0cnNfb3B0OwkJLyogT3B0aW9uYWwgQXR0cmlidXRlcyAqLworICAgIGNvbnN0IGNoYXIqKiBhdHRyc19kZXByOwkJLyogQWRkaXRpb25hbCBkZXByZWNhdGVkIGF0dHJpYnV0ZXMgKi8KKyAgICBjb25zdCBjaGFyKiogYXR0cnNfcmVxOwkJLyogUmVxdWlyZWQgYXR0cmlidXRlcyAqLworfTsKKworLyoKKyAqIEludGVybmFsIGRlc2NyaXB0aW9uIG9mIGFuIEhUTUwgZW50aXR5LgorICovCit0eXBlZGVmIHN0cnVjdCBfaHRtbEVudGl0eURlc2MgaHRtbEVudGl0eURlc2M7Cit0eXBlZGVmIGh0bWxFbnRpdHlEZXNjICpodG1sRW50aXR5RGVzY1B0cjsKK3N0cnVjdCBfaHRtbEVudGl0eURlc2MgeworICAgIHVuc2lnbmVkIGludCB2YWx1ZTsJLyogdGhlIFVOSUNPREUgdmFsdWUgZm9yIHRoZSBjaGFyYWN0ZXIgKi8KKyAgICBjb25zdCBjaGFyICpuYW1lOwkvKiBUaGUgZW50aXR5IG5hbWUgKi8KKyAgICBjb25zdCBjaGFyICpkZXNjOyAgIC8qIHRoZSBkZXNjcmlwdGlvbiAqLworfTsKKworLyoKKyAqIFRoZXJlIGlzIG9ubHkgZmV3IHB1YmxpYyBmdW5jdGlvbnMuCisgKi8KK1hNTFBVQkZVTiBjb25zdCBodG1sRWxlbURlc2MgKiBYTUxDQUxMCisJCQlodG1sVGFnTG9va3VwCShjb25zdCB4bWxDaGFyICp0YWcpOworWE1MUFVCRlVOIGNvbnN0IGh0bWxFbnRpdHlEZXNjICogWE1MQ0FMTAorCQkJaHRtbEVudGl0eUxvb2t1cChjb25zdCB4bWxDaGFyICpuYW1lKTsKK1hNTFBVQkZVTiBjb25zdCBodG1sRW50aXR5RGVzYyAqIFhNTENBTEwKKwkJCWh0bWxFbnRpdHlWYWx1ZUxvb2t1cCh1bnNpZ25lZCBpbnQgdmFsdWUpOworCitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJCWh0bWxJc0F1dG9DbG9zZWQoaHRtbERvY1B0ciBkb2MsCisJCQkJCSBodG1sTm9kZVB0ciBlbGVtKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQkJaHRtbEF1dG9DbG9zZVRhZyhodG1sRG9jUHRyIGRvYywKKwkJCQkJIGNvbnN0IHhtbENoYXIgKm5hbWUsCisJCQkJCSBodG1sTm9kZVB0ciBlbGVtKTsKK1hNTFBVQkZVTiBjb25zdCBodG1sRW50aXR5RGVzYyAqIFhNTENBTEwKKwkJCWh0bWxQYXJzZUVudGl0eVJlZihodG1sUGFyc2VyQ3R4dFB0ciBjdHh0LAorCQkJCQkgY29uc3QgeG1sQ2hhciAqKnN0cik7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJCWh0bWxQYXJzZUNoYXJSZWYoaHRtbFBhcnNlckN0eHRQdHIgY3R4dCk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCQlodG1sUGFyc2VFbGVtZW50KGh0bWxQYXJzZXJDdHh0UHRyIGN0eHQpOworCitYTUxQVUJGVU4gaHRtbFBhcnNlckN0eHRQdHIgWE1MQ0FMTAorCQkJaHRtbE5ld1BhcnNlckN0eHQodm9pZCk7CisKK1hNTFBVQkZVTiBodG1sUGFyc2VyQ3R4dFB0ciBYTUxDQUxMCisJCQlodG1sQ3JlYXRlTWVtb3J5UGFyc2VyQ3R4dChjb25zdCBjaGFyICpidWZmZXIsCisJCQkJCQkgICBpbnQgc2l6ZSk7CisKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQkJaHRtbFBhcnNlRG9jdW1lbnQoaHRtbFBhcnNlckN0eHRQdHIgY3R4dCk7CitYTUxQVUJGVU4gaHRtbERvY1B0ciBYTUxDQUxMCisJCQlodG1sU0FYUGFyc2VEb2MJKHhtbENoYXIgKmN1ciwKKwkJCQkJIGNvbnN0IGNoYXIgKmVuY29kaW5nLAorCQkJCQkgaHRtbFNBWEhhbmRsZXJQdHIgc2F4LAorCQkJCQkgdm9pZCAqdXNlckRhdGEpOworWE1MUFVCRlVOIGh0bWxEb2NQdHIgWE1MQ0FMTAorCQkJaHRtbFBhcnNlRG9jCSh4bWxDaGFyICpjdXIsCisJCQkJCSBjb25zdCBjaGFyICplbmNvZGluZyk7CitYTUxQVUJGVU4gaHRtbERvY1B0ciBYTUxDQUxMCisJCQlodG1sU0FYUGFyc2VGaWxlKGNvbnN0IGNoYXIgKmZpbGVuYW1lLAorCQkJCQkgY29uc3QgY2hhciAqZW5jb2RpbmcsCisJCQkJCSBodG1sU0FYSGFuZGxlclB0ciBzYXgsCisJCQkJCSB2b2lkICp1c2VyRGF0YSk7CitYTUxQVUJGVU4gaHRtbERvY1B0ciBYTUxDQUxMCisJCQlodG1sUGFyc2VGaWxlCShjb25zdCBjaGFyICpmaWxlbmFtZSwKKwkJCQkJIGNvbnN0IGNoYXIgKmVuY29kaW5nKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQkJVVRGOFRvSHRtbAkodW5zaWduZWQgY2hhciAqb3V0LAorCQkJCQkgaW50ICpvdXRsZW4sCisJCQkJCSBjb25zdCB1bnNpZ25lZCBjaGFyICppbiwKKwkJCQkJIGludCAqaW5sZW4pOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCQlodG1sRW5jb2RlRW50aXRpZXModW5zaWduZWQgY2hhciAqb3V0LAorCQkJCQkgaW50ICpvdXRsZW4sCisJCQkJCSBjb25zdCB1bnNpZ25lZCBjaGFyICppbiwKKwkJCQkJIGludCAqaW5sZW4sIGludCBxdW90ZUNoYXIpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCQlodG1sSXNTY3JpcHRBdHRyaWJ1dGUoY29uc3QgeG1sQ2hhciAqbmFtZSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJCWh0bWxIYW5kbGVPbWl0dGVkRWxlbShpbnQgdmFsKTsKKworI2lmZGVmIExJQlhNTF9QVVNIX0VOQUJMRUQKKy8qKgorICogSW50ZXJmYWNlcyBmb3IgdGhlIFB1c2ggbW9kZS4KKyAqLworWE1MUFVCRlVOIGh0bWxQYXJzZXJDdHh0UHRyIFhNTENBTEwKKwkJCWh0bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dChodG1sU0FYSGFuZGxlclB0ciBzYXgsCisJCQkJCQkgdm9pZCAqdXNlcl9kYXRhLAorCQkJCQkJIGNvbnN0IGNoYXIgKmNodW5rLAorCQkJCQkJIGludCBzaXplLAorCQkJCQkJIGNvbnN0IGNoYXIgKmZpbGVuYW1lLAorCQkJCQkJIHhtbENoYXJFbmNvZGluZyBlbmMpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCQlodG1sUGFyc2VDaHVuawkJKGh0bWxQYXJzZXJDdHh0UHRyIGN0eHQsCisJCQkJCQkgY29uc3QgY2hhciAqY2h1bmssCisJCQkJCQkgaW50IHNpemUsCisJCQkJCQkgaW50IHRlcm1pbmF0ZSk7CisjZW5kaWYgLyogTElCWE1MX1BVU0hfRU5BQkxFRCAqLworCitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCQlodG1sRnJlZVBhcnNlckN0eHQJKGh0bWxQYXJzZXJDdHh0UHRyIGN0eHQpOworCisvKgorICogTmV3IHNldCBvZiBzaW1wbGVyL21vcmUgZmxleGlibGUgQVBJcworICovCisvKioKKyAqIHhtbFBhcnNlck9wdGlvbjoKKyAqCisgKiBUaGlzIGlzIHRoZSBzZXQgb2YgWE1MIHBhcnNlciBvcHRpb25zIHRoYXQgY2FuIGJlIHBhc3NlZCBkb3duCisgKiB0byB0aGUgeG1sUmVhZERvYygpIGFuZCBzaW1pbGFyIGNhbGxzLgorICovCit0eXBlZGVmIGVudW0geworICAgIEhUTUxfUEFSU0VfUkVDT1ZFUiAgPSAxPDwwLCAvKiBSZWxheGVkIHBhcnNpbmcgKi8KKyAgICBIVE1MX1BBUlNFX05PREVGRFREID0gMTw8MiwgLyogZG8gbm90IGRlZmF1bHQgYSBkb2N0eXBlIGlmIG5vdCBmb3VuZCAqLworICAgIEhUTUxfUEFSU0VfTk9FUlJPUgk9IDE8PDUsCS8qIHN1cHByZXNzIGVycm9yIHJlcG9ydHMgKi8KKyAgICBIVE1MX1BBUlNFX05PV0FSTklORz0gMTw8NiwJLyogc3VwcHJlc3Mgd2FybmluZyByZXBvcnRzICovCisgICAgSFRNTF9QQVJTRV9QRURBTlRJQwk9IDE8PDcsCS8qIHBlZGFudGljIGVycm9yIHJlcG9ydGluZyAqLworICAgIEhUTUxfUEFSU0VfTk9CTEFOS1MJPSAxPDw4LAkvKiByZW1vdmUgYmxhbmsgbm9kZXMgKi8KKyAgICBIVE1MX1BBUlNFX05PTkVUCT0gMTw8MTEsLyogRm9yYmlkIG5ldHdvcmsgYWNjZXNzICovCisgICAgSFRNTF9QQVJTRV9OT0lNUExJRUQ9IDE8PDEzLC8qIERvIG5vdCBhZGQgaW1wbGllZCBodG1sL2JvZHkuLi4gZWxlbWVudHMgKi8KKyAgICBIVE1MX1BBUlNFX0NPTVBBQ1QgID0gMTw8MTYsLyogY29tcGFjdCBzbWFsbCB0ZXh0IG5vZGVzICovCisgICAgSFRNTF9QQVJTRV9JR05PUkVfRU5DPTE8PDIxIC8qIGlnbm9yZSBpbnRlcm5hbCBkb2N1bWVudCBlbmNvZGluZyBoaW50ICovCit9IGh0bWxQYXJzZXJPcHRpb247CisKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJaHRtbEN0eHRSZXNldAkJKGh0bWxQYXJzZXJDdHh0UHRyIGN0eHQpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCWh0bWxDdHh0VXNlT3B0aW9ucwkoaHRtbFBhcnNlckN0eHRQdHIgY3R4dCwKKwkJCQkJIGludCBvcHRpb25zKTsKK1hNTFBVQkZVTiBodG1sRG9jUHRyIFhNTENBTEwKKwkJaHRtbFJlYWREb2MJCShjb25zdCB4bWxDaGFyICpjdXIsCisJCQkJCSBjb25zdCBjaGFyICpVUkwsCisJCQkJCSBjb25zdCBjaGFyICplbmNvZGluZywKKwkJCQkJIGludCBvcHRpb25zKTsKK1hNTFBVQkZVTiBodG1sRG9jUHRyIFhNTENBTEwKKwkJaHRtbFJlYWRGaWxlCQkoY29uc3QgY2hhciAqVVJMLAorCQkJCQkgY29uc3QgY2hhciAqZW5jb2RpbmcsCisJCQkJCSBpbnQgb3B0aW9ucyk7CitYTUxQVUJGVU4gaHRtbERvY1B0ciBYTUxDQUxMCisJCWh0bWxSZWFkTWVtb3J5CQkoY29uc3QgY2hhciAqYnVmZmVyLAorCQkJCQkgaW50IHNpemUsCisJCQkJCSBjb25zdCBjaGFyICpVUkwsCisJCQkJCSBjb25zdCBjaGFyICplbmNvZGluZywKKwkJCQkJIGludCBvcHRpb25zKTsKK1hNTFBVQkZVTiBodG1sRG9jUHRyIFhNTENBTEwKKwkJaHRtbFJlYWRGZAkJKGludCBmZCwKKwkJCQkJIGNvbnN0IGNoYXIgKlVSTCwKKwkJCQkJIGNvbnN0IGNoYXIgKmVuY29kaW5nLAorCQkJCQkgaW50IG9wdGlvbnMpOworWE1MUFVCRlVOIGh0bWxEb2NQdHIgWE1MQ0FMTAorCQlodG1sUmVhZElPCQkoeG1sSW5wdXRSZWFkQ2FsbGJhY2sgaW9yZWFkLAorCQkJCQkgeG1sSW5wdXRDbG9zZUNhbGxiYWNrIGlvY2xvc2UsCisJCQkJCSB2b2lkICppb2N0eCwKKwkJCQkJIGNvbnN0IGNoYXIgKlVSTCwKKwkJCQkJIGNvbnN0IGNoYXIgKmVuY29kaW5nLAorCQkJCQkgaW50IG9wdGlvbnMpOworWE1MUFVCRlVOIGh0bWxEb2NQdHIgWE1MQ0FMTAorCQlodG1sQ3R4dFJlYWREb2MJCSh4bWxQYXJzZXJDdHh0UHRyIGN0eHQsCisJCQkJCSBjb25zdCB4bWxDaGFyICpjdXIsCisJCQkJCSBjb25zdCBjaGFyICpVUkwsCisJCQkJCSBjb25zdCBjaGFyICplbmNvZGluZywKKwkJCQkJIGludCBvcHRpb25zKTsKK1hNTFBVQkZVTiBodG1sRG9jUHRyIFhNTENBTEwKKwkJaHRtbEN0eHRSZWFkRmlsZQkJKHhtbFBhcnNlckN0eHRQdHIgY3R4dCwKKwkJCQkJIGNvbnN0IGNoYXIgKmZpbGVuYW1lLAorCQkJCQkgY29uc3QgY2hhciAqZW5jb2RpbmcsCisJCQkJCSBpbnQgb3B0aW9ucyk7CitYTUxQVUJGVU4gaHRtbERvY1B0ciBYTUxDQUxMCisJCWh0bWxDdHh0UmVhZE1lbW9yeQkJKHhtbFBhcnNlckN0eHRQdHIgY3R4dCwKKwkJCQkJIGNvbnN0IGNoYXIgKmJ1ZmZlciwKKwkJCQkJIGludCBzaXplLAorCQkJCQkgY29uc3QgY2hhciAqVVJMLAorCQkJCQkgY29uc3QgY2hhciAqZW5jb2RpbmcsCisJCQkJCSBpbnQgb3B0aW9ucyk7CitYTUxQVUJGVU4gaHRtbERvY1B0ciBYTUxDQUxMCisJCWh0bWxDdHh0UmVhZEZkCQkoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0LAorCQkJCQkgaW50IGZkLAorCQkJCQkgY29uc3QgY2hhciAqVVJMLAorCQkJCQkgY29uc3QgY2hhciAqZW5jb2RpbmcsCisJCQkJCSBpbnQgb3B0aW9ucyk7CitYTUxQVUJGVU4gaHRtbERvY1B0ciBYTUxDQUxMCisJCWh0bWxDdHh0UmVhZElPCQkoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0LAorCQkJCQkgeG1sSW5wdXRSZWFkQ2FsbGJhY2sgaW9yZWFkLAorCQkJCQkgeG1sSW5wdXRDbG9zZUNhbGxiYWNrIGlvY2xvc2UsCisJCQkJCSB2b2lkICppb2N0eCwKKwkJCQkJIGNvbnN0IGNoYXIgKlVSTCwKKwkJCQkJIGNvbnN0IGNoYXIgKmVuY29kaW5nLAorCQkJCQkgaW50IG9wdGlvbnMpOworCisvKiBOUksvSmFuMjAwMzogZnVydGhlciBrbm93bGVkZ2Ugb2YgSFRNTCBzdHJ1Y3R1cmUKKyAqLwordHlwZWRlZiBlbnVtIHsKKyAgSFRNTF9OQSA9IDAgLAkJLyogc29tZXRoaW5nIHdlIGRvbid0IGNoZWNrIGF0IGFsbCAqLworICBIVE1MX0lOVkFMSUQgPSAweDEgLAorICBIVE1MX0RFUFJFQ0FURUQgPSAweDIgLAorICBIVE1MX1ZBTElEID0gMHg0ICwKKyAgSFRNTF9SRVFVSVJFRCA9IDB4YyAvKiBWQUxJRCBiaXQgc2V0IHNvICggJiBIVE1MX1ZBTElEICkgaXMgVFJVRSAqLworfSBodG1sU3RhdHVzIDsKKworLyogVXNpbmcgaHRtbEVsZW1EZXNjIHJhdGhlciB0aGFuIG5hbWUgaGVyZSwgdG8gZW1waGFzaXNlIHRoZSBmYWN0CisgICB0aGF0IG90aGVyd2lzZSB0aGVyZSdzIGEgbG9va3VwIG92ZXJoZWFkCisqLworWE1MUFVCRlVOIGh0bWxTdGF0dXMgWE1MQ0FMTCBodG1sQXR0ckFsbG93ZWQoY29uc3QgaHRtbEVsZW1EZXNjKiwgY29uc3QgeG1sQ2hhciosIGludCkgOworWE1MUFVCRlVOIGludCBYTUxDQUxMIGh0bWxFbGVtZW50QWxsb3dlZEhlcmUoY29uc3QgaHRtbEVsZW1EZXNjKiwgY29uc3QgeG1sQ2hhciopIDsKK1hNTFBVQkZVTiBodG1sU3RhdHVzIFhNTENBTEwgaHRtbEVsZW1lbnRTdGF0dXNIZXJlKGNvbnN0IGh0bWxFbGVtRGVzYyosIGNvbnN0IGh0bWxFbGVtRGVzYyopIDsKK1hNTFBVQkZVTiBodG1sU3RhdHVzIFhNTENBTEwgaHRtbE5vZGVTdGF0dXMoY29uc3QgaHRtbE5vZGVQdHIsIGludCkgOworLyoqCisgKiBodG1sRGVmYXVsdFN1YmVsZW1lbnQ6CisgKiBAZWx0OiBIVE1MIGVsZW1lbnQKKyAqCisgKiBSZXR1cm5zIHRoZSBkZWZhdWx0IHN1YmVsZW1lbnQgZm9yIHRoaXMgZWxlbWVudAorICovCisjZGVmaW5lIGh0bWxEZWZhdWx0U3ViZWxlbWVudChlbHQpIGVsdC0+ZGVmYXVsdHN1YmVsdAorLyoqCisgKiBodG1sRWxlbWVudEFsbG93ZWRIZXJlRGVzYzoKKyAqIEBwYXJlbnQ6IEhUTUwgcGFyZW50IGVsZW1lbnQKKyAqIEBlbHQ6IEhUTUwgZWxlbWVudAorICoKKyAqIENoZWNrcyB3aGV0aGVyIGFuIEhUTUwgZWxlbWVudCBkZXNjcmlwdGlvbiBtYXkgYmUgYQorICogZGlyZWN0IGNoaWxkIG9mIHRoZSBzcGVjaWZpZWQgZWxlbWVudC4KKyAqCisgKiBSZXR1cm5zIDEgaWYgYWxsb3dlZDsgMCBvdGhlcndpc2UuCisgKi8KKyNkZWZpbmUgaHRtbEVsZW1lbnRBbGxvd2VkSGVyZURlc2MocGFyZW50LGVsdCkgXAorCWh0bWxFbGVtZW50QWxsb3dlZEhlcmUoKHBhcmVudCksIChlbHQpLT5uYW1lKQorLyoqCisgKiBodG1sUmVxdWlyZWRBdHRyczoKKyAqIEBlbHQ6IEhUTUwgZWxlbWVudAorICoKKyAqIFJldHVybnMgdGhlIGF0dHJpYnV0ZXMgcmVxdWlyZWQgZm9yIHRoZSBzcGVjaWZpZWQgZWxlbWVudC4KKyAqLworI2RlZmluZSBodG1sUmVxdWlyZWRBdHRycyhlbHQpIChlbHQpLT5hdHRyc19yZXEKKworCisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorCisjZW5kaWYgLyogTElCWE1MX0hUTUxfRU5BQkxFRCAqLworI2VuZGlmIC8qIF9fSFRNTF9QQVJTRVJfSF9fICovCmRpZmYgLS1naXQgYS9saWJ4bWwyL2luY2x1ZGUvbGlieG1sL0hUTUx0cmVlLmggYi9saWJ4bWwyL2luY2x1ZGUvbGlieG1sL0hUTUx0cmVlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzBlMTEwMwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvaW5jbHVkZS9saWJ4bWwvSFRNTHRyZWUuaApAQCAtMCwwICsxLDE0NyBAQAorLyoKKyAqIFN1bW1hcnk6IHNwZWNpZmljIEFQSXMgdG8gcHJvY2VzcyBIVE1MIHRyZWUsIGVzcGVjaWFsbHkgc2VyaWFsaXphdGlvbgorICogRGVzY3JpcHRpb246IHRoaXMgbW9kdWxlIGltcGxlbWVudHMgYSBmZXcgZnVuY3Rpb24gbmVlZGVkIHRvIHByb2Nlc3MKKyAqICAgICAgICAgICAgICB0cmVlIGluIGFuIEhUTUwgc3BlY2lmaWMgd2F5LgorICoKKyAqIENvcHk6IFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyAqCisgKiBBdXRob3I6IERhbmllbCBWZWlsbGFyZAorICovCisKKyNpZm5kZWYgX19IVE1MX1RSRUVfSF9fCisjZGVmaW5lIF9fSFRNTF9UUkVFX0hfXworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxsaWJ4bWwveG1sdmVyc2lvbi5oPgorI2luY2x1ZGUgPGxpYnhtbC90cmVlLmg+CisjaW5jbHVkZSA8bGlieG1sL0hUTUxwYXJzZXIuaD4KKworI2lmZGVmIExJQlhNTF9IVE1MX0VOQUJMRUQKKworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCisKKy8qKgorICogSFRNTF9URVhUX05PREU6CisgKgorICogTWFjcm8uIEEgdGV4dCBub2RlIGluIGEgSFRNTCBkb2N1bWVudCBpcyByZWFsbHkgaW1wbGVtZW50ZWQKKyAqIHRoZSBzYW1lIHdheSBhcyBhIHRleHQgbm9kZSBpbiBhbiBYTUwgZG9jdW1lbnQuCisgKi8KKyNkZWZpbmUgSFRNTF9URVhUX05PREUJCVhNTF9URVhUX05PREUKKy8qKgorICogSFRNTF9FTlRJVFlfUkVGX05PREU6CisgKgorICogTWFjcm8uIEFuIGVudGl0eSByZWZlcmVuY2UgaW4gYSBIVE1MIGRvY3VtZW50IGlzIHJlYWxseSBpbXBsZW1lbnRlZAorICogdGhlIHNhbWUgd2F5IGFzIGFuIGVudGl0eSByZWZlcmVuY2UgaW4gYW4gWE1MIGRvY3VtZW50LgorICovCisjZGVmaW5lIEhUTUxfRU5USVRZX1JFRl9OT0RFCVhNTF9FTlRJVFlfUkVGX05PREUKKy8qKgorICogSFRNTF9DT01NRU5UX05PREU6CisgKgorICogTWFjcm8uIEEgY29tbWVudCBpbiBhIEhUTUwgZG9jdW1lbnQgaXMgcmVhbGx5IGltcGxlbWVudGVkCisgKiB0aGUgc2FtZSB3YXkgYXMgYSBjb21tZW50IGluIGFuIFhNTCBkb2N1bWVudC4KKyAqLworI2RlZmluZSBIVE1MX0NPTU1FTlRfTk9ERQlYTUxfQ09NTUVOVF9OT0RFCisvKioKKyAqIEhUTUxfUFJFU0VSVkVfTk9ERToKKyAqCisgKiBNYWNyby4gQSBwcmVzZXJ2ZWQgbm9kZSBpbiBhIEhUTUwgZG9jdW1lbnQgaXMgcmVhbGx5IGltcGxlbWVudGVkCisgKiB0aGUgc2FtZSB3YXkgYXMgYSBDREFUQSBzZWN0aW9uIGluIGFuIFhNTCBkb2N1bWVudC4KKyAqLworI2RlZmluZSBIVE1MX1BSRVNFUlZFX05PREUJWE1MX0NEQVRBX1NFQ1RJT05fTk9ERQorLyoqCisgKiBIVE1MX1BJX05PREU6CisgKgorICogTWFjcm8uIEEgcHJvY2Vzc2luZyBpbnN0cnVjdGlvbiBpbiBhIEhUTUwgZG9jdW1lbnQgaXMgcmVhbGx5IGltcGxlbWVudGVkCisgKiB0aGUgc2FtZSB3YXkgYXMgYSBwcm9jZXNzaW5nIGluc3RydWN0aW9uIGluIGFuIFhNTCBkb2N1bWVudC4KKyAqLworI2RlZmluZSBIVE1MX1BJX05PREUJCVhNTF9QSV9OT0RFCisKK1hNTFBVQkZVTiBodG1sRG9jUHRyIFhNTENBTEwKKwkJaHRtbE5ld0RvYwkJKGNvbnN0IHhtbENoYXIgKlVSSSwKKwkJCQkJIGNvbnN0IHhtbENoYXIgKkV4dGVybmFsSUQpOworWE1MUFVCRlVOIGh0bWxEb2NQdHIgWE1MQ0FMTAorCQlodG1sTmV3RG9jTm9EdEQJCShjb25zdCB4bWxDaGFyICpVUkksCisJCQkJCSBjb25zdCB4bWxDaGFyICpFeHRlcm5hbElEKTsKK1hNTFBVQkZVTiBjb25zdCB4bWxDaGFyICogWE1MQ0FMTAorCQlodG1sR2V0TWV0YUVuY29kaW5nCShodG1sRG9jUHRyIGRvYyk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJaHRtbFNldE1ldGFFbmNvZGluZwkoaHRtbERvY1B0ciBkb2MsCisJCQkJCSBjb25zdCB4bWxDaGFyICplbmNvZGluZyk7CisjaWZkZWYgTElCWE1MX09VVFBVVF9FTkFCTEVECitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCWh0bWxEb2NEdW1wTWVtb3J5CSh4bWxEb2NQdHIgY3VyLAorCQkJCQkgeG1sQ2hhciAqKm1lbSwKKwkJCQkJIGludCAqc2l6ZSk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCWh0bWxEb2NEdW1wTWVtb3J5Rm9ybWF0CSh4bWxEb2NQdHIgY3VyLAorCQkJCQkgeG1sQ2hhciAqKm1lbSwKKwkJCQkJIGludCAqc2l6ZSwKKwkJCQkJIGludCBmb3JtYXQpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCWh0bWxEb2NEdW1wCQkoRklMRSAqZiwKKwkJCQkJIHhtbERvY1B0ciBjdXIpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCWh0bWxTYXZlRmlsZQkJKGNvbnN0IGNoYXIgKmZpbGVuYW1lLAorCQkJCQkgeG1sRG9jUHRyIGN1cik7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJaHRtbE5vZGVEdW1wCQkoeG1sQnVmZmVyUHRyIGJ1ZiwKKwkJCQkJIHhtbERvY1B0ciBkb2MsCisJCQkJCSB4bWxOb2RlUHRyIGN1cik7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCWh0bWxOb2RlRHVtcEZpbGUJKEZJTEUgKm91dCwKKwkJCQkJIHhtbERvY1B0ciBkb2MsCisJCQkJCSB4bWxOb2RlUHRyIGN1cik7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJaHRtbE5vZGVEdW1wRmlsZUZvcm1hdAkoRklMRSAqb3V0LAorCQkJCQkgeG1sRG9jUHRyIGRvYywKKwkJCQkJIHhtbE5vZGVQdHIgY3VyLAorCQkJCQkgY29uc3QgY2hhciAqZW5jb2RpbmcsCisJCQkJCSBpbnQgZm9ybWF0KTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQlodG1sU2F2ZUZpbGVFbmMJCShjb25zdCBjaGFyICpmaWxlbmFtZSwKKwkJCQkJIHhtbERvY1B0ciBjdXIsCisJCQkJCSBjb25zdCBjaGFyICplbmNvZGluZyk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJaHRtbFNhdmVGaWxlRm9ybWF0CShjb25zdCBjaGFyICpmaWxlbmFtZSwKKwkJCQkJIHhtbERvY1B0ciBjdXIsCisJCQkJCSBjb25zdCBjaGFyICplbmNvZGluZywKKwkJCQkJIGludCBmb3JtYXQpOworCitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCWh0bWxOb2RlRHVtcEZvcm1hdE91dHB1dCh4bWxPdXRwdXRCdWZmZXJQdHIgYnVmLAorCQkJCQkgeG1sRG9jUHRyIGRvYywKKwkJCQkJIHhtbE5vZGVQdHIgY3VyLAorCQkJCQkgY29uc3QgY2hhciAqZW5jb2RpbmcsCisJCQkJCSBpbnQgZm9ybWF0KTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJaHRtbERvY0NvbnRlbnREdW1wT3V0cHV0KHhtbE91dHB1dEJ1ZmZlclB0ciBidWYsCisJCQkJCSB4bWxEb2NQdHIgY3VyLAorCQkJCQkgY29uc3QgY2hhciAqZW5jb2RpbmcpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQlodG1sRG9jQ29udGVudER1bXBGb3JtYXRPdXRwdXQoeG1sT3V0cHV0QnVmZmVyUHRyIGJ1ZiwKKwkJCQkJIHhtbERvY1B0ciBjdXIsCisJCQkJCSBjb25zdCBjaGFyICplbmNvZGluZywKKwkJCQkJIGludCBmb3JtYXQpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQlodG1sTm9kZUR1bXBPdXRwdXQJKHhtbE91dHB1dEJ1ZmZlclB0ciBidWYsCisJCQkJCSB4bWxEb2NQdHIgZG9jLAorCQkJCQkgeG1sTm9kZVB0ciBjdXIsCisJCQkJCSBjb25zdCBjaGFyICplbmNvZGluZyk7CisKKyNlbmRpZiAvKiBMSUJYTUxfT1VUUFVUX0VOQUJMRUQgKi8KKworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCWh0bWxJc0Jvb2xlYW5BdHRyCShjb25zdCB4bWxDaGFyICpuYW1lKTsKKworCisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorCisjZW5kaWYgLyogTElCWE1MX0hUTUxfRU5BQkxFRCAqLworCisjZW5kaWYgLyogX19IVE1MX1RSRUVfSF9fICovCisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvaW5jbHVkZS9saWJ4bWwvTWFrZWZpbGUuYW0gYi9saWJ4bWwyL2luY2x1ZGUvbGlieG1sL01ha2VmaWxlLmFtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNmOTI5N2EKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2luY2x1ZGUvbGlieG1sL01ha2VmaWxlLmFtCkBAIC0wLDAgKzEsNTQgQEAKKyMjIFByb2Nlc3MgdGhpcyBmaWxlIHdpdGggYXV0b21ha2UgdG8gcHJvZHVjZSBNYWtlZmlsZS5pbgorCit4bWxpbmNkaXIgPSAkKGluY2x1ZGVkaXIpL2xpYnhtbDIvbGlieG1sCisKK3htbGluY19IRUFERVJTID0gXAorCQlTQVguaCBcCisJCWVudGl0aWVzLmggXAorCQllbmNvZGluZy5oIFwKKwkJcGFyc2VyLmggXAorCQlwYXJzZXJJbnRlcm5hbHMuaCBcCisJCXhtbGVycm9yLmggXAorCQlIVE1McGFyc2VyLmggXAorCQlIVE1MdHJlZS5oIFwKKwkJZGVidWdYTUwuaCBcCisJCXRyZWUuaCBcCisJCWxpc3QuaCBcCisJCWhhc2guaCBcCisJCXhwYXRoLmggXAorCQl4cGF0aEludGVybmFscy5oIFwKKwkJeHBvaW50ZXIuaCBcCisJCXhpbmNsdWRlLmggXAorCQl4bWxJTy5oIFwKKwkJeG1sbWVtb3J5LmggXAorCQluYW5vaHR0cC5oIFwKKwkJbmFub2Z0cC5oIFwKKwkJdXJpLmggXAorCQl2YWxpZC5oIFwKKwkJeGxpbmsuaCBcCisJCXhtbHZlcnNpb24uaCBcCisJCURPQ0JwYXJzZXIuaCBcCisJCWNhdGFsb2cuaCBcCisJCXRocmVhZHMuaCBcCisJCWdsb2JhbHMuaCBcCisJCWMxNG4uaCBcCisJCXhtbGF1dG9tYXRhLmggXAorCQl4bWxyZWdleHAuaCBcCisJCXhtbG1vZHVsZS5oIFwKKwkJeG1sc2NoZW1hcy5oIFwKKwkJc2NoZW1hc0ludGVybmFscy5oIFwKKwkJeG1sc2NoZW1hc3R5cGVzLmggXAorCQl4bWxzdHJpbmcuaCBcCisJCXhtbHVuaWNvZGUuaCBcCisJCXhtbHJlYWRlci5oIFwKKwkJcmVsYXhuZy5oIFwKKwkJZGljdC5oIFwKKwkJU0FYMi5oIFwKKwkJeG1sZXhwb3J0cy5oIFwKKwkJeG1sd3JpdGVyLmggXAorCQljaHZhbGlkLmggXAorCQlwYXR0ZXJuLmggXAorCQl4bWxzYXZlLmggXAorCQlzY2hlbWF0cm9uLmgKKworRVhUUkFfRElTVCA9IHhtbHZlcnNpb24uaC5pbgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9pbmNsdWRlL2xpYnhtbC9TQVguaCBiL2xpYnhtbDIvaW5jbHVkZS9saWJ4bWwvU0FYLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjAwOTNjZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvaW5jbHVkZS9saWJ4bWwvU0FYLmgKQEAgLTAsMCArMSwxNzMgQEAKKy8qCisgKiBTdW1tYXJ5OiBPbGQgU0FYIHZlcnNpb24gMSBoYW5kbGVyLCBkZXByZWNhdGVkCisgKiBEZXNjcmlwdGlvbjogREVQUkVDQVRFRCBzZXQgb2YgU0FYIHZlcnNpb24gMSBpbnRlcmZhY2VzIHVzZWQgdG8KKyAqICAgICAgICAgICAgICBidWlsZCB0aGUgRE9NIHRyZWUuCisgKgorICogQ29weTogU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgorICoKKyAqIEF1dGhvcjogRGFuaWVsIFZlaWxsYXJkCisgKi8KKworCisjaWZuZGVmIF9fWE1MX1NBWF9IX18KKyNkZWZpbmUgX19YTUxfU0FYX0hfXworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxsaWJ4bWwveG1sdmVyc2lvbi5oPgorI2luY2x1ZGUgPGxpYnhtbC9wYXJzZXIuaD4KKyNpbmNsdWRlIDxsaWJ4bWwveGxpbmsuaD4KKworI2lmZGVmIExJQlhNTF9MRUdBQ1lfRU5BQkxFRAorCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCitYTUxQVUJGVU4gY29uc3QgeG1sQ2hhciAqIFhNTENBTEwKKwkJZ2V0UHVibGljSWQJCQkodm9pZCAqY3R4KTsKK1hNTFBVQkZVTiBjb25zdCB4bWxDaGFyICogWE1MQ0FMTAorCQlnZXRTeXN0ZW1JZAkJCSh2b2lkICpjdHgpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQlzZXREb2N1bWVudExvY2F0b3IJCSh2b2lkICpjdHgsCisJCQkJCQkgeG1sU0FYTG9jYXRvclB0ciBsb2MpOworCitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJZ2V0TGluZU51bWJlcgkJCSh2b2lkICpjdHgpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCWdldENvbHVtbk51bWJlcgkJCSh2b2lkICpjdHgpOworCitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJaXNTdGFuZGFsb25lCQkJKHZvaWQgKmN0eCk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJaGFzSW50ZXJuYWxTdWJzZXQJCSh2b2lkICpjdHgpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCWhhc0V4dGVybmFsU3Vic2V0CQkodm9pZCAqY3R4KTsKKworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQlpbnRlcm5hbFN1YnNldAkJCSh2b2lkICpjdHgsCisJCQkJCQkgY29uc3QgeG1sQ2hhciAqbmFtZSwKKwkJCQkJCSBjb25zdCB4bWxDaGFyICpFeHRlcm5hbElELAorCQkJCQkJIGNvbnN0IHhtbENoYXIgKlN5c3RlbUlEKTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJZXh0ZXJuYWxTdWJzZXQJCQkodm9pZCAqY3R4LAorCQkJCQkJIGNvbnN0IHhtbENoYXIgKm5hbWUsCisJCQkJCQkgY29uc3QgeG1sQ2hhciAqRXh0ZXJuYWxJRCwKKwkJCQkJCSBjb25zdCB4bWxDaGFyICpTeXN0ZW1JRCk7CitYTUxQVUJGVU4geG1sRW50aXR5UHRyIFhNTENBTEwKKwkJZ2V0RW50aXR5CQkJKHZvaWQgKmN0eCwKKwkJCQkJCSBjb25zdCB4bWxDaGFyICpuYW1lKTsKK1hNTFBVQkZVTiB4bWxFbnRpdHlQdHIgWE1MQ0FMTAorCQlnZXRQYXJhbWV0ZXJFbnRpdHkJCSh2b2lkICpjdHgsCisJCQkJCQkgY29uc3QgeG1sQ2hhciAqbmFtZSk7CitYTUxQVUJGVU4geG1sUGFyc2VySW5wdXRQdHIgWE1MQ0FMTAorCQlyZXNvbHZlRW50aXR5CQkJKHZvaWQgKmN0eCwKKwkJCQkJCSBjb25zdCB4bWxDaGFyICpwdWJsaWNJZCwKKwkJCQkJCSBjb25zdCB4bWxDaGFyICpzeXN0ZW1JZCk7CisKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJZW50aXR5RGVjbAkJCSh2b2lkICpjdHgsCisJCQkJCQkgY29uc3QgeG1sQ2hhciAqbmFtZSwKKwkJCQkJCSBpbnQgdHlwZSwKKwkJCQkJCSBjb25zdCB4bWxDaGFyICpwdWJsaWNJZCwKKwkJCQkJCSBjb25zdCB4bWxDaGFyICpzeXN0ZW1JZCwKKwkJCQkJCSB4bWxDaGFyICpjb250ZW50KTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJYXR0cmlidXRlRGVjbAkJCSh2b2lkICpjdHgsCisJCQkJCQkgY29uc3QgeG1sQ2hhciAqZWxlbSwKKwkJCQkJCSBjb25zdCB4bWxDaGFyICpmdWxsbmFtZSwKKwkJCQkJCSBpbnQgdHlwZSwKKwkJCQkJCSBpbnQgZGVmLAorCQkJCQkJIGNvbnN0IHhtbENoYXIgKmRlZmF1bHRWYWx1ZSwKKwkJCQkJCSB4bWxFbnVtZXJhdGlvblB0ciB0cmVlKTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJZWxlbWVudERlY2wJCQkodm9pZCAqY3R4LAorCQkJCQkJIGNvbnN0IHhtbENoYXIgKm5hbWUsCisJCQkJCQkgaW50IHR5cGUsCisJCQkJCQkgeG1sRWxlbWVudENvbnRlbnRQdHIgY29udGVudCk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCW5vdGF0aW9uRGVjbAkJCSh2b2lkICpjdHgsCisJCQkJCQkgY29uc3QgeG1sQ2hhciAqbmFtZSwKKwkJCQkJCSBjb25zdCB4bWxDaGFyICpwdWJsaWNJZCwKKwkJCQkJCSBjb25zdCB4bWxDaGFyICpzeXN0ZW1JZCk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCXVucGFyc2VkRW50aXR5RGVjbAkJKHZvaWQgKmN0eCwKKwkJCQkJCSBjb25zdCB4bWxDaGFyICpuYW1lLAorCQkJCQkJIGNvbnN0IHhtbENoYXIgKnB1YmxpY0lkLAorCQkJCQkJIGNvbnN0IHhtbENoYXIgKnN5c3RlbUlkLAorCQkJCQkJIGNvbnN0IHhtbENoYXIgKm5vdGF0aW9uTmFtZSk7CisKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJc3RhcnREb2N1bWVudAkJCSh2b2lkICpjdHgpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQllbmREb2N1bWVudAkJCSh2b2lkICpjdHgpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQlhdHRyaWJ1dGUJCQkodm9pZCAqY3R4LAorCQkJCQkJIGNvbnN0IHhtbENoYXIgKmZ1bGxuYW1lLAorCQkJCQkJIGNvbnN0IHhtbENoYXIgKnZhbHVlKTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJc3RhcnRFbGVtZW50CQkJKHZvaWQgKmN0eCwKKwkJCQkJCSBjb25zdCB4bWxDaGFyICpmdWxsbmFtZSwKKwkJCQkJCSBjb25zdCB4bWxDaGFyICoqYXR0cyk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCWVuZEVsZW1lbnQJCQkodm9pZCAqY3R4LAorCQkJCQkJIGNvbnN0IHhtbENoYXIgKm5hbWUpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQlyZWZlcmVuY2UJCQkodm9pZCAqY3R4LAorCQkJCQkJIGNvbnN0IHhtbENoYXIgKm5hbWUpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQljaGFyYWN0ZXJzCQkJKHZvaWQgKmN0eCwKKwkJCQkJCSBjb25zdCB4bWxDaGFyICpjaCwKKwkJCQkJCSBpbnQgbGVuKTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJaWdub3JhYmxlV2hpdGVzcGFjZQkJKHZvaWQgKmN0eCwKKwkJCQkJCSBjb25zdCB4bWxDaGFyICpjaCwKKwkJCQkJCSBpbnQgbGVuKTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJcHJvY2Vzc2luZ0luc3RydWN0aW9uCQkodm9pZCAqY3R4LAorCQkJCQkJIGNvbnN0IHhtbENoYXIgKnRhcmdldCwKKwkJCQkJCSBjb25zdCB4bWxDaGFyICpkYXRhKTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJZ2xvYmFsTmFtZXNwYWNlCQkJKHZvaWQgKmN0eCwKKwkJCQkJCSBjb25zdCB4bWxDaGFyICpocmVmLAorCQkJCQkJIGNvbnN0IHhtbENoYXIgKnByZWZpeCk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCXNldE5hbWVzcGFjZQkJCSh2b2lkICpjdHgsCisJCQkJCQkgY29uc3QgeG1sQ2hhciAqbmFtZSk7CitYTUxQVUJGVU4geG1sTnNQdHIgWE1MQ0FMTAorCQlnZXROYW1lc3BhY2UJCQkodm9pZCAqY3R4KTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQljaGVja05hbWVzcGFjZQkJCSh2b2lkICpjdHgsCisJCQkJCQkgeG1sQ2hhciAqbmFtZVNwYWNlKTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJbmFtZXNwYWNlRGVjbAkJCSh2b2lkICpjdHgsCisJCQkJCQkgY29uc3QgeG1sQ2hhciAqaHJlZiwKKwkJCQkJCSBjb25zdCB4bWxDaGFyICpwcmVmaXgpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQljb21tZW50CQkJCSh2b2lkICpjdHgsCisJCQkJCQkgY29uc3QgeG1sQ2hhciAqdmFsdWUpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQljZGF0YUJsb2NrCQkJKHZvaWQgKmN0eCwKKwkJCQkJCSBjb25zdCB4bWxDaGFyICp2YWx1ZSwKKwkJCQkJCSBpbnQgbGVuKTsKKworI2lmZGVmIExJQlhNTF9TQVgxX0VOQUJMRUQKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJaW5pdHhtbERlZmF1bHRTQVhIYW5kbGVyCSh4bWxTQVhIYW5kbGVyVjEgKmhkbHIsCisJCQkJCQkgaW50IHdhcm5pbmcpOworI2lmZGVmIExJQlhNTF9IVE1MX0VOQUJMRUQKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJaW5pdGh0bWxEZWZhdWx0U0FYSGFuZGxlcgkoeG1sU0FYSGFuZGxlclYxICpoZGxyKTsKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9ET0NCX0VOQUJMRUQKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJaW5pdGRvY2JEZWZhdWx0U0FYSGFuZGxlcgkoeG1sU0FYSGFuZGxlclYxICpoZGxyKTsKKyNlbmRpZgorI2VuZGlmIC8qIExJQlhNTF9TQVgxX0VOQUJMRUQgKi8KKworI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKworI2VuZGlmIC8qIExJQlhNTF9MRUdBQ1lfRU5BQkxFRCAqLworCisjZW5kaWYgLyogX19YTUxfU0FYX0hfXyAqLwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9pbmNsdWRlL2xpYnhtbC9TQVgyLmggYi9saWJ4bWwyL2luY2x1ZGUvbGlieG1sL1NBWDIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNTUyMTJlCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9pbmNsdWRlL2xpYnhtbC9TQVgyLmgKQEAgLTAsMCArMSwxNzggQEAKKy8qCisgKiBTdW1tYXJ5OiBTQVgyIHBhcnNlciBpbnRlcmZhY2UgdXNlZCB0byBidWlsZCB0aGUgRE9NIHRyZWUKKyAqIERlc2NyaXB0aW9uOiB0aG9zZSBhcmUgdGhlIGRlZmF1bHQgU0FYMiBpbnRlcmZhY2VzIHVzZWQgYnkKKyAqICAgICAgICAgICAgICB0aGUgbGlicmFyeSB3aGVuIGJ1aWxkaW5nIERPTSB0cmVlLgorICoKKyAqIENvcHk6IFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyAqCisgKiBBdXRob3I6IERhbmllbCBWZWlsbGFyZAorICovCisKKworI2lmbmRlZiBfX1hNTF9TQVgyX0hfXworI2RlZmluZSBfX1hNTF9TQVgyX0hfXworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxsaWJ4bWwveG1sdmVyc2lvbi5oPgorI2luY2x1ZGUgPGxpYnhtbC9wYXJzZXIuaD4KKyNpbmNsdWRlIDxsaWJ4bWwveGxpbmsuaD4KKworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgorWE1MUFVCRlVOIGNvbnN0IHhtbENoYXIgKiBYTUxDQUxMCisJCXhtbFNBWDJHZXRQdWJsaWNJZAkJKHZvaWQgKmN0eCk7CitYTUxQVUJGVU4gY29uc3QgeG1sQ2hhciAqIFhNTENBTEwKKwkJeG1sU0FYMkdldFN5c3RlbUlkCQkodm9pZCAqY3R4KTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJeG1sU0FYMlNldERvY3VtZW50TG9jYXRvcgkodm9pZCAqY3R4LAorCQkJCQkJIHhtbFNBWExvY2F0b3JQdHIgbG9jKTsKKworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCXhtbFNBWDJHZXRMaW5lTnVtYmVyCQkodm9pZCAqY3R4KTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl4bWxTQVgyR2V0Q29sdW1uTnVtYmVyCQkodm9pZCAqY3R4KTsKKworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCXhtbFNBWDJJc1N0YW5kYWxvbmUJCSh2b2lkICpjdHgpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCXhtbFNBWDJIYXNJbnRlcm5hbFN1YnNldAkodm9pZCAqY3R4KTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl4bWxTQVgySGFzRXh0ZXJuYWxTdWJzZXQJKHZvaWQgKmN0eCk7CisKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJeG1sU0FYMkludGVybmFsU3Vic2V0CQkodm9pZCAqY3R4LAorCQkJCQkJIGNvbnN0IHhtbENoYXIgKm5hbWUsCisJCQkJCQkgY29uc3QgeG1sQ2hhciAqRXh0ZXJuYWxJRCwKKwkJCQkJCSBjb25zdCB4bWxDaGFyICpTeXN0ZW1JRCk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCXhtbFNBWDJFeHRlcm5hbFN1YnNldAkJKHZvaWQgKmN0eCwKKwkJCQkJCSBjb25zdCB4bWxDaGFyICpuYW1lLAorCQkJCQkJIGNvbnN0IHhtbENoYXIgKkV4dGVybmFsSUQsCisJCQkJCQkgY29uc3QgeG1sQ2hhciAqU3lzdGVtSUQpOworWE1MUFVCRlVOIHhtbEVudGl0eVB0ciBYTUxDQUxMCisJCXhtbFNBWDJHZXRFbnRpdHkJCSh2b2lkICpjdHgsCisJCQkJCQkgY29uc3QgeG1sQ2hhciAqbmFtZSk7CitYTUxQVUJGVU4geG1sRW50aXR5UHRyIFhNTENBTEwKKwkJeG1sU0FYMkdldFBhcmFtZXRlckVudGl0eQkodm9pZCAqY3R4LAorCQkJCQkJIGNvbnN0IHhtbENoYXIgKm5hbWUpOworWE1MUFVCRlVOIHhtbFBhcnNlcklucHV0UHRyIFhNTENBTEwKKwkJeG1sU0FYMlJlc29sdmVFbnRpdHkJCSh2b2lkICpjdHgsCisJCQkJCQkgY29uc3QgeG1sQ2hhciAqcHVibGljSWQsCisJCQkJCQkgY29uc3QgeG1sQ2hhciAqc3lzdGVtSWQpOworCitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCXhtbFNBWDJFbnRpdHlEZWNsCQkodm9pZCAqY3R4LAorCQkJCQkJIGNvbnN0IHhtbENoYXIgKm5hbWUsCisJCQkJCQkgaW50IHR5cGUsCisJCQkJCQkgY29uc3QgeG1sQ2hhciAqcHVibGljSWQsCisJCQkJCQkgY29uc3QgeG1sQ2hhciAqc3lzdGVtSWQsCisJCQkJCQkgeG1sQ2hhciAqY29udGVudCk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCXhtbFNBWDJBdHRyaWJ1dGVEZWNsCQkodm9pZCAqY3R4LAorCQkJCQkJIGNvbnN0IHhtbENoYXIgKmVsZW0sCisJCQkJCQkgY29uc3QgeG1sQ2hhciAqZnVsbG5hbWUsCisJCQkJCQkgaW50IHR5cGUsCisJCQkJCQkgaW50IGRlZiwKKwkJCQkJCSBjb25zdCB4bWxDaGFyICpkZWZhdWx0VmFsdWUsCisJCQkJCQkgeG1sRW51bWVyYXRpb25QdHIgdHJlZSk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCXhtbFNBWDJFbGVtZW50RGVjbAkJKHZvaWQgKmN0eCwKKwkJCQkJCSBjb25zdCB4bWxDaGFyICpuYW1lLAorCQkJCQkJIGludCB0eXBlLAorCQkJCQkJIHhtbEVsZW1lbnRDb250ZW50UHRyIGNvbnRlbnQpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQl4bWxTQVgyTm90YXRpb25EZWNsCQkodm9pZCAqY3R4LAorCQkJCQkJIGNvbnN0IHhtbENoYXIgKm5hbWUsCisJCQkJCQkgY29uc3QgeG1sQ2hhciAqcHVibGljSWQsCisJCQkJCQkgY29uc3QgeG1sQ2hhciAqc3lzdGVtSWQpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQl4bWxTQVgyVW5wYXJzZWRFbnRpdHlEZWNsCSh2b2lkICpjdHgsCisJCQkJCQkgY29uc3QgeG1sQ2hhciAqbmFtZSwKKwkJCQkJCSBjb25zdCB4bWxDaGFyICpwdWJsaWNJZCwKKwkJCQkJCSBjb25zdCB4bWxDaGFyICpzeXN0ZW1JZCwKKwkJCQkJCSBjb25zdCB4bWxDaGFyICpub3RhdGlvbk5hbWUpOworCitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCXhtbFNBWDJTdGFydERvY3VtZW50CQkodm9pZCAqY3R4KTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJeG1sU0FYMkVuZERvY3VtZW50CQkodm9pZCAqY3R4KTsKKyNpZiBkZWZpbmVkKExJQlhNTF9TQVgxX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX0hUTUxfRU5BQkxFRCkgfHwgXAorICAgIGRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9ET0NCX0VOQUJMRUQpIHx8IFwKKyAgICBkZWZpbmVkKExJQlhNTF9MRUdBQ1lfRU5BQkxFRCkKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJeG1sU0FYMlN0YXJ0RWxlbWVudAkJKHZvaWQgKmN0eCwKKwkJCQkJCSBjb25zdCB4bWxDaGFyICpmdWxsbmFtZSwKKwkJCQkJCSBjb25zdCB4bWxDaGFyICoqYXR0cyk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCXhtbFNBWDJFbmRFbGVtZW50CQkodm9pZCAqY3R4LAorCQkJCQkJIGNvbnN0IHhtbENoYXIgKm5hbWUpOworI2VuZGlmIC8qIExJQlhNTF9TQVgxX0VOQUJMRUQgb3IgTElCWE1MX0hUTUxfRU5BQkxFRCBvciBMSUJYTUxfTEVHQUNZX0VOQUJMRUQgKi8KK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJeG1sU0FYMlN0YXJ0RWxlbWVudE5zCQkodm9pZCAqY3R4LAorCQkJCQkJIGNvbnN0IHhtbENoYXIgKmxvY2FsbmFtZSwKKwkJCQkJCSBjb25zdCB4bWxDaGFyICpwcmVmaXgsCisJCQkJCQkgY29uc3QgeG1sQ2hhciAqVVJJLAorCQkJCQkJIGludCBuYl9uYW1lc3BhY2VzLAorCQkJCQkJIGNvbnN0IHhtbENoYXIgKipuYW1lc3BhY2VzLAorCQkJCQkJIGludCBuYl9hdHRyaWJ1dGVzLAorCQkJCQkJIGludCBuYl9kZWZhdWx0ZWQsCisJCQkJCQkgY29uc3QgeG1sQ2hhciAqKmF0dHJpYnV0ZXMpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQl4bWxTQVgyRW5kRWxlbWVudE5zCQkodm9pZCAqY3R4LAorCQkJCQkJIGNvbnN0IHhtbENoYXIgKmxvY2FsbmFtZSwKKwkJCQkJCSBjb25zdCB4bWxDaGFyICpwcmVmaXgsCisJCQkJCQkgY29uc3QgeG1sQ2hhciAqVVJJKTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJeG1sU0FYMlJlZmVyZW5jZQkJKHZvaWQgKmN0eCwKKwkJCQkJCSBjb25zdCB4bWxDaGFyICpuYW1lKTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJeG1sU0FYMkNoYXJhY3RlcnMJCSh2b2lkICpjdHgsCisJCQkJCQkgY29uc3QgeG1sQ2hhciAqY2gsCisJCQkJCQkgaW50IGxlbik7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCXhtbFNBWDJJZ25vcmFibGVXaGl0ZXNwYWNlCSh2b2lkICpjdHgsCisJCQkJCQkgY29uc3QgeG1sQ2hhciAqY2gsCisJCQkJCQkgaW50IGxlbik7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCXhtbFNBWDJQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24JKHZvaWQgKmN0eCwKKwkJCQkJCSBjb25zdCB4bWxDaGFyICp0YXJnZXQsCisJCQkJCQkgY29uc3QgeG1sQ2hhciAqZGF0YSk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCXhtbFNBWDJDb21tZW50CQkJKHZvaWQgKmN0eCwKKwkJCQkJCSBjb25zdCB4bWxDaGFyICp2YWx1ZSk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCXhtbFNBWDJDRGF0YUJsb2NrCQkodm9pZCAqY3R4LAorCQkJCQkJIGNvbnN0IHhtbENoYXIgKnZhbHVlLAorCQkJCQkJIGludCBsZW4pOworCisjaWZkZWYgTElCWE1MX1NBWDFfRU5BQkxFRAorWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCXhtbFNBWERlZmF1bHRWZXJzaW9uCQkoaW50IHZlcnNpb24pOworI2VuZGlmIC8qIExJQlhNTF9TQVgxX0VOQUJMRUQgKi8KKworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCXhtbFNBWFZlcnNpb24JCQkoeG1sU0FYSGFuZGxlciAqaGRsciwKKwkJCQkJCSBpbnQgdmVyc2lvbik7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCXhtbFNBWDJJbml0RGVmYXVsdFNBWEhhbmRsZXIgICAgKHhtbFNBWEhhbmRsZXIgKmhkbHIsCisJCQkJCQkgaW50IHdhcm5pbmcpOworI2lmZGVmIExJQlhNTF9IVE1MX0VOQUJMRUQKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJeG1sU0FYMkluaXRIdG1sRGVmYXVsdFNBWEhhbmRsZXIoeG1sU0FYSGFuZGxlciAqaGRscik7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCWh0bWxEZWZhdWx0U0FYSGFuZGxlckluaXQJKHZvaWQpOworI2VuZGlmCisjaWZkZWYgTElCWE1MX0RPQ0JfRU5BQkxFRAorWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQl4bWxTQVgySW5pdERvY2JEZWZhdWx0U0FYSGFuZGxlcih4bWxTQVhIYW5kbGVyICpoZGxyKTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJZG9jYkRlZmF1bHRTQVhIYW5kbGVySW5pdAkodm9pZCk7CisjZW5kaWYKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJeG1sRGVmYXVsdFNBWEhhbmRsZXJJbml0CSh2b2lkKTsKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCisjZW5kaWYgLyogX19YTUxfU0FYMl9IX18gKi8KZGlmZiAtLWdpdCBhL2xpYnhtbDIvaW5jbHVkZS9saWJ4bWwvYzE0bi5oIGIvbGlieG1sMi9pbmNsdWRlL2xpYnhtbC9jMTRuLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjg5NzFkOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvaW5jbHVkZS9saWJ4bWwvYzE0bi5oCkBAIC0wLDAgKzEsMTI2IEBACisvKgorICogU3VtbWFyeTogUHJvdmlkZSBDYW5vbmljYWwgWE1MIGFuZCBFeGNsdXNpdmUgWE1MIENhbm9uaWNhbGl6YXRpb24KKyAqIERlc2NyaXB0aW9uOiB0aGUgYzE0biBtb2R1bGVzIHByb3ZpZGVzIGEKKyAqCisgKiAiQ2Fub25pY2FsIFhNTCIgaW1wbGVtZW50YXRpb24KKyAqIGh0dHA6Ly93d3cudzMub3JnL1RSL3htbC1jMTRuCisgKgorICogYW5kIGFuCisgKgorICogIkV4Y2x1c2l2ZSBYTUwgQ2Fub25pY2FsaXphdGlvbiIgaW1wbGVtZW50YXRpb24KKyAqIGh0dHA6Ly93d3cudzMub3JnL1RSL3htbC1leGMtYzE0bgorCisgKiBDb3B5OiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisgKgorICogQXV0aG9yOiBBbGVrc2V5IFNhbmluIDxhbGVrc2V5QGFsZWtzZXkuY29tPgorICovCisjaWZuZGVmIF9fWE1MX0MxNE5fSF9fCisjZGVmaW5lIF9fWE1MX0MxNE5fSF9fCisjaWZkZWYgTElCWE1MX0MxNE5fRU5BQkxFRAorI2lmZGVmIExJQlhNTF9PVVRQVVRfRU5BQkxFRAorCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmIC8qIF9fY3BsdXNwbHVzICovCisKKyNpbmNsdWRlIDxsaWJ4bWwveG1sdmVyc2lvbi5oPgorI2luY2x1ZGUgPGxpYnhtbC90cmVlLmg+CisjaW5jbHVkZSA8bGlieG1sL3hwYXRoLmg+CisKKy8qCisgKiBYTUwgQ2Fub25pY2F6YXRpb24KKyAqIGh0dHA6Ly93d3cudzMub3JnL1RSL3htbC1jMTRuCisgKgorICogRXhjbHVzaXZlIFhNTCBDYW5vbmljYXphdGlvbgorICogaHR0cDovL3d3dy53My5vcmcvVFIveG1sLWV4Yy1jMTRuCisgKgorICogQ2Fub25pY2FsIGZvcm0gb2YgYW4gWE1MIGRvY3VtZW50IGNvdWxkIGJlIGNyZWF0ZWQgaWYgYW5kIG9ubHkgaWYKKyAqICBhKSBkZWZhdWx0IGF0dHJpYnV0ZXMgKGlmIGFueSkgYXJlIGFkZGVkIHRvIGFsbCBub2RlcworICogIGIpIGFsbCBjaGFyYWN0ZXIgYW5kIHBhcnNlZCBlbnRpdHkgcmVmZXJlbmNlcyBhcmUgcmVzb2x2ZWQKKyAqIEluIG9yZGVyIHRvIGFjaGl2ZSB0aGlzIGluIGxpYnhtbDIgdGhlIGRvY3VtZW50IE1VU1QgYmUgbG9hZGVkIHdpdGgKKyAqIGZvbGxvd2luZyBnbG9iYWwgc2V0aW5nczoKKyAqCisgKiAgICB4bWxMb2FkRXh0RHRkRGVmYXVsdFZhbHVlID0gWE1MX0RFVEVDVF9JRFMgfCBYTUxfQ09NUExFVEVfQVRUUlM7CisgKiAgICB4bWxTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0KDEpOworICoKKyAqIG9yIGNvcnJlc3BvbmRpbmcgcGFyc2VyIGNvbnRleHQgc2V0dGluZzoKKyAqICAgIHhtbFBhcnNlckN0eHRQdHIgY3R4dDsKKyAqCisgKiAgICAuLi4KKyAqICAgIGN0eHQtPmxvYWRzdWJzZXQgPSBYTUxfREVURUNUX0lEUyB8IFhNTF9DT01QTEVURV9BVFRSUzsKKyAqICAgIGN0eHQtPnJlcGxhY2VFbnRpdGllcyA9IDE7CisgKiAgICAuLi4KKyAqLworCisvKgorICogeG1sQzE0Tk1vZGU6CisgKgorICogUHJlZGVmaW5lZCB2YWx1ZXMgZm9yIEMxNE4gbW9kZXMKKyAqCisgKi8KK3R5cGVkZWYgZW51bSB7CisgICAgWE1MX0MxNE5fMV8wICAgICAgICAgICAgPSAwLCAgICAvKiBPcmlnaWFuYWwgQzE0TiAxLjAgc3BlYyAqLworICAgIFhNTF9DMTROX0VYQ0xVU0lWRV8xXzAgID0gMSwgICAgLyogRXhjbHVzaXZlIEMxNE4gMS4wIHNwZWMgKi8KKyAgICBYTUxfQzE0Tl8xXzEgICAgICAgICAgICA9IDIgICAgIC8qIEMxNE4gMS4xIHNwZWMgKi8KK30geG1sQzE0Tk1vZGU7CisKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl4bWxDMTRORG9jU2F2ZVRvCSh4bWxEb2NQdHIgZG9jLAorCQkJCQkgeG1sTm9kZVNldFB0ciBub2RlcywKKwkJCQkJIGludCBtb2RlLCAvKiBhIHhtbEMxNE5Nb2RlICovCisJCQkJCSB4bWxDaGFyICoqaW5jbHVzaXZlX25zX3ByZWZpeGVzLAorCQkJCQkgaW50IHdpdGhfY29tbWVudHMsCisJCQkJCSB4bWxPdXRwdXRCdWZmZXJQdHIgYnVmKTsKKworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCXhtbEMxNE5Eb2NEdW1wTWVtb3J5CSh4bWxEb2NQdHIgZG9jLAorCQkJCQkgeG1sTm9kZVNldFB0ciBub2RlcywKKwkJCQkJIGludCBtb2RlLCAvKiBhIHhtbEMxNE5Nb2RlICovCisJCQkJCSB4bWxDaGFyICoqaW5jbHVzaXZlX25zX3ByZWZpeGVzLAorCQkJCQkgaW50IHdpdGhfY29tbWVudHMsCisJCQkJCSB4bWxDaGFyICoqZG9jX3R4dF9wdHIpOworCitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJeG1sQzE0TkRvY1NhdmUJCSh4bWxEb2NQdHIgZG9jLAorCQkJCQkgeG1sTm9kZVNldFB0ciBub2RlcywKKwkJCQkJIGludCBtb2RlLCAvKiBhIHhtbEMxNE5Nb2RlICovCisJCQkJCSB4bWxDaGFyICoqaW5jbHVzaXZlX25zX3ByZWZpeGVzLAorCQkJCQkgaW50IHdpdGhfY29tbWVudHMsCisJCQkJCSBjb25zdCBjaGFyKiBmaWxlbmFtZSwKKwkJCQkJIGludCBjb21wcmVzc2lvbik7CisKKworLyoqCisgKiBUaGlzIGlzIHRoZSBjb3JlIEMxNE4gZnVuY3Rpb24KKyAqLworLyoqCisgKiB4bWxDMTROSXNWaXNpYmxlQ2FsbGJhY2s6CisgKiBAdXNlcl9kYXRhOiB1c2VyIGRhdGEKKyAqIEBub2RlOiB0aGUgY3VyZW50IG5vZGUKKyAqIEBwYXJlbnQ6IHRoZSBwYXJlbnQgbm9kZQorICoKKyAqIFNpZ25hdHVyZSBmb3IgYSBDMTROIGNhbGxiYWNrIG9uIHZpc2libGUgbm9kZXMKKyAqCisgKiBSZXR1cm5zIDEgaWYgdGhlIG5vZGUgc2hvdWxkIGJlIGluY2x1ZGVkCisgKi8KK3R5cGVkZWYgaW50ICgqeG1sQzE0TklzVmlzaWJsZUNhbGxiYWNrKQkodm9pZCogdXNlcl9kYXRhLAorCQkJCQkgeG1sTm9kZVB0ciBub2RlLAorCQkJCQkgeG1sTm9kZVB0ciBwYXJlbnQpOworCitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJeG1sQzE0TkV4ZWN1dGUJCSh4bWxEb2NQdHIgZG9jLAorCQkJCQkgeG1sQzE0TklzVmlzaWJsZUNhbGxiYWNrIGlzX3Zpc2libGVfY2FsbGJhY2ssCisJCQkJCSB2b2lkKiB1c2VyX2RhdGEsCisJCQkJCSBpbnQgbW9kZSwgLyogYSB4bWxDMTROTW9kZSAqLworCQkJCQkgeG1sQ2hhciAqKmluY2x1c2l2ZV9uc19wcmVmaXhlcywKKwkJCQkJIGludCB3aXRoX2NvbW1lbnRzLAorCQkJCQkgeG1sT3V0cHV0QnVmZmVyUHRyIGJ1Zik7CisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmIC8qIF9fY3BsdXNwbHVzICovCisKKyNlbmRpZiAvKiBMSUJYTUxfT1VUUFVUX0VOQUJMRUQgKi8KKyNlbmRpZiAvKiBMSUJYTUxfQzE0Tl9FTkFCTEVEICovCisjZW5kaWYgLyogX19YTUxfQzE0Tl9IX18gKi8KKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9pbmNsdWRlL2xpYnhtbC9jYXRhbG9nLmggYi9saWJ4bWwyL2luY2x1ZGUvbGlieG1sL2NhdGFsb2cuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YTEzZjUxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9pbmNsdWRlL2xpYnhtbC9jYXRhbG9nLmgKQEAgLTAsMCArMSwxODIgQEAKKy8qKgorICogU3VtbWFyeTogaW50ZXJmYWNlcyB0byB0aGUgQ2F0YWxvZyBoYW5kbGluZyBzeXN0ZW0KKyAqIERlc2NyaXB0aW9uOiB0aGUgY2F0YWxvZyBtb2R1bGUgaW1wbGVtZW50cyB0aGUgc3VwcG9ydCBmb3IKKyAqIFhNTCBDYXRhbG9ncyBhbmQgU0dNTCBjYXRhbG9ncworICoKKyAqIFNHTUwgT3BlbiBUZWNobmljYWwgUmVzb2x1dGlvbiBUUjk0MDE6MTk5Ny4KKyAqIGh0dHA6Ly93d3cuamNsYXJrLmNvbS9zcC9jYXRhbG9nLmh0bQorICoKKyAqIFhNTCBDYXRhbG9ncyBXb3JraW5nIERyYWZ0IDA2IEF1Z3VzdCAyMDAxCisgKiBodHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL2NvbW1pdHRlZXMvZW50aXR5L3NwZWMtMjAwMS0wOC0wNi5odG1sCisgKgorICogQ29weTogU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgorICoKKyAqIEF1dGhvcjogRGFuaWVsIFZlaWxsYXJkCisgKi8KKworI2lmbmRlZiBfX1hNTF9DQVRBTE9HX0hfXworI2RlZmluZSBfX1hNTF9DQVRBTE9HX0hfXworCisjaW5jbHVkZSA8c3RkaW8uaD4KKworI2luY2x1ZGUgPGxpYnhtbC94bWx2ZXJzaW9uLmg+CisjaW5jbHVkZSA8bGlieG1sL3htbHN0cmluZy5oPgorI2luY2x1ZGUgPGxpYnhtbC90cmVlLmg+CisKKyNpZmRlZiBMSUJYTUxfQ0FUQUxPR19FTkFCTEVECisKKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7CisjZW5kaWYKKworLyoqCisgKiBYTUxfQ0FUQUxPR1NfTkFNRVNQQUNFOgorICoKKyAqIFRoZSBuYW1lc3BhY2UgZm9yIHRoZSBYTUwgQ2F0YWxvZ3MgZWxlbWVudHMuCisgKi8KKyNkZWZpbmUgWE1MX0NBVEFMT0dTX05BTUVTUEFDRQkJCQkJXAorICAgIChjb25zdCB4bWxDaGFyICopICJ1cm46b2FzaXM6bmFtZXM6dGM6ZW50aXR5OnhtbG5zOnhtbDpjYXRhbG9nIgorLyoqCisgKiBYTUxfQ0FUQUxPR19QSToKKyAqCisgKiBUaGUgc3BlY2lmaWMgWE1MIENhdGFsb2cgUHJvY2Vzc2luZyBJbnN0dWN0aW9uIG5hbWUuCisgKi8KKyNkZWZpbmUgWE1MX0NBVEFMT0dfUEkJCQkJCQlcCisgICAgKGNvbnN0IHhtbENoYXIgKikgIm9hc2lzLXhtbC1jYXRhbG9nIgorCisvKgorICogVGhlIEFQSSBpcyB2b2x1bnRhcmlseSBsaW1pdGVkIHRvIGdlbmVyYWwgY2F0YWxvZ2luZy4KKyAqLwordHlwZWRlZiBlbnVtIHsKKyAgICBYTUxfQ0FUQV9QUkVGRVJfTk9ORSA9IDAsCisgICAgWE1MX0NBVEFfUFJFRkVSX1BVQkxJQyA9IDEsCisgICAgWE1MX0NBVEFfUFJFRkVSX1NZU1RFTQorfSB4bWxDYXRhbG9nUHJlZmVyOworCit0eXBlZGVmIGVudW0geworICAgIFhNTF9DQVRBX0FMTE9XX05PTkUgPSAwLAorICAgIFhNTF9DQVRBX0FMTE9XX0dMT0JBTCA9IDEsCisgICAgWE1MX0NBVEFfQUxMT1dfRE9DVU1FTlQgPSAyLAorICAgIFhNTF9DQVRBX0FMTE9XX0FMTCA9IDMKK30geG1sQ2F0YWxvZ0FsbG93OworCit0eXBlZGVmIHN0cnVjdCBfeG1sQ2F0YWxvZyB4bWxDYXRhbG9nOwordHlwZWRlZiB4bWxDYXRhbG9nICp4bWxDYXRhbG9nUHRyOworCisvKgorICogT3BlcmF0aW9ucyBvbiBhIGdpdmVuIGNhdGFsb2cuCisgKi8KK1hNTFBVQkZVTiB4bWxDYXRhbG9nUHRyIFhNTENBTEwKKwkJeG1sTmV3Q2F0YWxvZwkJKGludCBzZ21sKTsKK1hNTFBVQkZVTiB4bWxDYXRhbG9nUHRyIFhNTENBTEwKKwkJeG1sTG9hZEFDYXRhbG9nCQkoY29uc3QgY2hhciAqZmlsZW5hbWUpOworWE1MUFVCRlVOIHhtbENhdGFsb2dQdHIgWE1MQ0FMTAorCQl4bWxMb2FkU0dNTFN1cGVyQ2F0YWxvZwkoY29uc3QgY2hhciAqZmlsZW5hbWUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCXhtbENvbnZlcnRTR01MQ2F0YWxvZwkoeG1sQ2F0YWxvZ1B0ciBjYXRhbCk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJeG1sQUNhdGFsb2dBZGQJCSh4bWxDYXRhbG9nUHRyIGNhdGFsLAorCQkJCQkgY29uc3QgeG1sQ2hhciAqdHlwZSwKKwkJCQkJIGNvbnN0IHhtbENoYXIgKm9yaWcsCisJCQkJCSBjb25zdCB4bWxDaGFyICpyZXBsYWNlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl4bWxBQ2F0YWxvZ1JlbW92ZQkoeG1sQ2F0YWxvZ1B0ciBjYXRhbCwKKwkJCQkJIGNvbnN0IHhtbENoYXIgKnZhbHVlKTsKK1hNTFBVQkZVTiB4bWxDaGFyICogWE1MQ0FMTAorCQl4bWxBQ2F0YWxvZ1Jlc29sdmUJKHhtbENhdGFsb2dQdHIgY2F0YWwsCisJCQkJCSBjb25zdCB4bWxDaGFyICpwdWJJRCwKKwkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICpzeXNJRCk7CitYTUxQVUJGVU4geG1sQ2hhciAqIFhNTENBTEwKKwkJeG1sQUNhdGFsb2dSZXNvbHZlU3lzdGVtKHhtbENhdGFsb2dQdHIgY2F0YWwsCisJCQkJCSBjb25zdCB4bWxDaGFyICpzeXNJRCk7CitYTUxQVUJGVU4geG1sQ2hhciAqIFhNTENBTEwKKwkJeG1sQUNhdGFsb2dSZXNvbHZlUHVibGljKHhtbENhdGFsb2dQdHIgY2F0YWwsCisJCQkJCSBjb25zdCB4bWxDaGFyICpwdWJJRCk7CitYTUxQVUJGVU4geG1sQ2hhciAqIFhNTENBTEwKKwkJeG1sQUNhdGFsb2dSZXNvbHZlVVJJCSh4bWxDYXRhbG9nUHRyIGNhdGFsLAorCQkJCQkgY29uc3QgeG1sQ2hhciAqVVJJKTsKKyNpZmRlZiBMSUJYTUxfT1VUUFVUX0VOQUJMRUQKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJeG1sQUNhdGFsb2dEdW1wCQkoeG1sQ2F0YWxvZ1B0ciBjYXRhbCwKKwkJCQkJIEZJTEUgKm91dCk7CisjZW5kaWYgLyogTElCWE1MX09VVFBVVF9FTkFCTEVEICovCitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCXhtbEZyZWVDYXRhbG9nCQkoeG1sQ2F0YWxvZ1B0ciBjYXRhbCk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJeG1sQ2F0YWxvZ0lzRW1wdHkJKHhtbENhdGFsb2dQdHIgY2F0YWwpOworCisvKgorICogR2xvYmFsIG9wZXJhdGlvbnMuCisgKi8KK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJeG1sSW5pdGlhbGl6ZUNhdGFsb2cJKHZvaWQpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCXhtbExvYWRDYXRhbG9nCQkoY29uc3QgY2hhciAqZmlsZW5hbWUpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQl4bWxMb2FkQ2F0YWxvZ3MJCShjb25zdCBjaGFyICpwYXRocyk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCXhtbENhdGFsb2dDbGVhbnVwCSh2b2lkKTsKKyNpZmRlZiBMSUJYTUxfT1VUUFVUX0VOQUJMRUQKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJeG1sQ2F0YWxvZ0R1bXAJCShGSUxFICpvdXQpOworI2VuZGlmIC8qIExJQlhNTF9PVVRQVVRfRU5BQkxFRCAqLworWE1MUFVCRlVOIHhtbENoYXIgKiBYTUxDQUxMCisJCXhtbENhdGFsb2dSZXNvbHZlCShjb25zdCB4bWxDaGFyICpwdWJJRCwKKwkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICpzeXNJRCk7CitYTUxQVUJGVU4geG1sQ2hhciAqIFhNTENBTEwKKwkJeG1sQ2F0YWxvZ1Jlc29sdmVTeXN0ZW0JKGNvbnN0IHhtbENoYXIgKnN5c0lEKTsKK1hNTFBVQkZVTiB4bWxDaGFyICogWE1MQ0FMTAorCQl4bWxDYXRhbG9nUmVzb2x2ZVB1YmxpYwkoY29uc3QgeG1sQ2hhciAqcHViSUQpOworWE1MUFVCRlVOIHhtbENoYXIgKiBYTUxDQUxMCisJCXhtbENhdGFsb2dSZXNvbHZlVVJJCShjb25zdCB4bWxDaGFyICpVUkkpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCXhtbENhdGFsb2dBZGQJCShjb25zdCB4bWxDaGFyICp0eXBlLAorCQkJCQkgY29uc3QgeG1sQ2hhciAqb3JpZywKKwkJCQkJIGNvbnN0IHhtbENoYXIgKnJlcGxhY2UpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCXhtbENhdGFsb2dSZW1vdmUJKGNvbnN0IHhtbENoYXIgKnZhbHVlKTsKK1hNTFBVQkZVTiB4bWxEb2NQdHIgWE1MQ0FMTAorCQl4bWxQYXJzZUNhdGFsb2dGaWxlCShjb25zdCBjaGFyICpmaWxlbmFtZSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJeG1sQ2F0YWxvZ0NvbnZlcnQJKHZvaWQpOworCisvKgorICogU3RyaWN0bHkgbWluaW1hbCBpbnRlcmZhY2VzIGZvciBwZXItZG9jdW1lbnQgY2F0YWxvZ3MgdXNlZAorICogYnkgdGhlIHBhcnNlci4KKyAqLworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQl4bWxDYXRhbG9nRnJlZUxvY2FsCSh2b2lkICpjYXRhbG9ncyk7CitYTUxQVUJGVU4gdm9pZCAqIFhNTENBTEwKKwkJeG1sQ2F0YWxvZ0FkZExvY2FsCSh2b2lkICpjYXRhbG9ncywKKwkJCQkJIGNvbnN0IHhtbENoYXIgKlVSTCk7CitYTUxQVUJGVU4geG1sQ2hhciAqIFhNTENBTEwKKwkJeG1sQ2F0YWxvZ0xvY2FsUmVzb2x2ZQkodm9pZCAqY2F0YWxvZ3MsCisJCQkJCSBjb25zdCB4bWxDaGFyICpwdWJJRCwKKwkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICpzeXNJRCk7CitYTUxQVUJGVU4geG1sQ2hhciAqIFhNTENBTEwKKwkJeG1sQ2F0YWxvZ0xvY2FsUmVzb2x2ZVVSSSh2b2lkICpjYXRhbG9ncywKKwkJCQkJIGNvbnN0IHhtbENoYXIgKlVSSSk7CisvKgorICogUHJlZmVyZW5jZSBzZXR0aW5ncy4KKyAqLworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCXhtbENhdGFsb2dTZXREZWJ1ZwkoaW50IGxldmVsKTsKK1hNTFBVQkZVTiB4bWxDYXRhbG9nUHJlZmVyIFhNTENBTEwKKwkJeG1sQ2F0YWxvZ1NldERlZmF1bHRQcmVmZXIoeG1sQ2F0YWxvZ1ByZWZlciBwcmVmZXIpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQl4bWxDYXRhbG9nU2V0RGVmYXVsdHMJKHhtbENhdGFsb2dBbGxvdyBhbGxvdyk7CitYTUxQVUJGVU4geG1sQ2F0YWxvZ0FsbG93IFhNTENBTEwKKwkJeG1sQ2F0YWxvZ0dldERlZmF1bHRzCSh2b2lkKTsKKworCisvKiBERVBSRUNBVEVEIGludGVyZmFjZXMgKi8KK1hNTFBVQkZVTiBjb25zdCB4bWxDaGFyICogWE1MQ0FMTAorCQl4bWxDYXRhbG9nR2V0U3lzdGVtCShjb25zdCB4bWxDaGFyICpzeXNJRCk7CitYTUxQVUJGVU4gY29uc3QgeG1sQ2hhciAqIFhNTENBTEwKKwkJeG1sQ2F0YWxvZ0dldFB1YmxpYwkoY29uc3QgeG1sQ2hhciAqcHViSUQpOworCisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorI2VuZGlmIC8qIExJQlhNTF9DQVRBTE9HX0VOQUJMRUQgKi8KKyNlbmRpZiAvKiBfX1hNTF9DQVRBTE9HX0hfXyAqLwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9pbmNsdWRlL2xpYnhtbC9jaHZhbGlkLmggYi9saWJ4bWwyL2luY2x1ZGUvbGlieG1sL2NodmFsaWQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYjQzMDE2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9pbmNsdWRlL2xpYnhtbC9jaHZhbGlkLmgKQEAgLTAsMCArMSwyMzAgQEAKKy8qCisgKiBTdW1tYXJ5OiBVbmljb2RlIGNoYXJhY3RlciByYW5nZSBjaGVja2luZworICogRGVzY3JpcHRpb246IHRoaXMgbW9kdWxlIGV4cG9ydHMgaW50ZXJmYWNlcyBmb3IgdGhlIGNoYXJhY3RlcgorICogICAgICAgICAgICAgICByYW5nZSB2YWxpZGF0aW9uIEFQSXMKKyAqCisgKiBUaGlzIGZpbGUgaXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgY3ZzIHNvdXJjZQorICogZGVmaW5pdGlvbiBmaWxlcyB1c2luZyB0aGUgZ2VuQ2hSYW5nZXMucHkgUHl0aG9uIHNjcmlwdAorICoKKyAqIEdlbmVyYXRpb24gZGF0ZTogTW9uIE1hciAyNyAxMTowOTo0OCAyMDA2CisgKiBTb3VyY2VzOiBjaHZhbGlkLmRlZgorICogQXV0aG9yOiBXaWxsaWFtIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KKyAqLworCisjaWZuZGVmIF9fWE1MX0NIVkFMSURfSF9fCisjZGVmaW5lIF9fWE1MX0NIVkFMSURfSF9fCisKKyNpbmNsdWRlIDxsaWJ4bWwveG1sdmVyc2lvbi5oPgorI2luY2x1ZGUgPGxpYnhtbC94bWxzdHJpbmcuaD4KKworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCisvKgorICogRGVmaW5lIG91ciB0eXBlZGVmcyBhbmQgc3RydWN0dXJlcworICoKKyAqLwordHlwZWRlZiBzdHJ1Y3QgX3htbENoU1JhbmdlIHhtbENoU1JhbmdlOwordHlwZWRlZiB4bWxDaFNSYW5nZSAqeG1sQ2hTUmFuZ2VQdHI7CitzdHJ1Y3QgX3htbENoU1JhbmdlIHsKKyAgICB1bnNpZ25lZCBzaG9ydAlsb3c7CisgICAgdW5zaWduZWQgc2hvcnQJaGlnaDsKK307CisKK3R5cGVkZWYgc3RydWN0IF94bWxDaExSYW5nZSB4bWxDaExSYW5nZTsKK3R5cGVkZWYgeG1sQ2hMUmFuZ2UgKnhtbENoTFJhbmdlUHRyOworc3RydWN0IF94bWxDaExSYW5nZSB7CisgICAgdW5zaWduZWQgaW50CWxvdzsKKyAgICB1bnNpZ25lZCBpbnQJaGlnaDsKK307CisKK3R5cGVkZWYgc3RydWN0IF94bWxDaFJhbmdlR3JvdXAgeG1sQ2hSYW5nZUdyb3VwOwordHlwZWRlZiB4bWxDaFJhbmdlR3JvdXAgKnhtbENoUmFuZ2VHcm91cFB0cjsKK3N0cnVjdCBfeG1sQ2hSYW5nZUdyb3VwIHsKKyAgICBpbnQJCQluYlNob3J0UmFuZ2U7CisgICAgaW50CQkJbmJMb25nUmFuZ2U7CisgICAgY29uc3QgeG1sQ2hTUmFuZ2UJKnNob3J0UmFuZ2U7CS8qIHBvaW50cyB0byBhbiBhcnJheSBvZiByYW5nZXMgKi8KKyAgICBjb25zdCB4bWxDaExSYW5nZQkqbG9uZ1JhbmdlOworfTsKKworLyoqCisgKiBSYW5nZSBjaGVja2luZyByb3V0aW5lCisgKi8KK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl4bWxDaGFySW5SYW5nZSh1bnNpZ25lZCBpbnQgdmFsLCBjb25zdCB4bWxDaFJhbmdlR3JvdXAgKmdyb3VwKTsKKworCisvKioKKyAqIHhtbElzQmFzZUNoYXJfY2g6CisgKiBAYzogY2hhciB0byB2YWxpZGF0ZQorICoKKyAqIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IGdlbkNoUmFuZ2VzLnB5CisgKi8KKyNkZWZpbmUgeG1sSXNCYXNlQ2hhcl9jaChjKQkoKCgweDQxIDw9IChjKSkgJiYgKChjKSA8PSAweDVhKSkgfHwgXAorCQkJCSAoKDB4NjEgPD0gKGMpKSAmJiAoKGMpIDw9IDB4N2EpKSB8fCBcCisJCQkJICgoMHhjMCA8PSAoYykpICYmICgoYykgPD0gMHhkNikpIHx8IFwKKwkJCQkgKCgweGQ4IDw9IChjKSkgJiYgKChjKSA8PSAweGY2KSkgfHwgXAorCQkJCSAgKDB4ZjggPD0gKGMpKSkKKworLyoqCisgKiB4bWxJc0Jhc2VDaGFyUToKKyAqIEBjOiBjaGFyIHRvIHZhbGlkYXRlCisgKgorICogQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgZ2VuQ2hSYW5nZXMucHkKKyAqLworI2RlZmluZSB4bWxJc0Jhc2VDaGFyUShjKQkoKChjKSA8IDB4MTAwKSA/IFwKKwkJCQkgeG1sSXNCYXNlQ2hhcl9jaCgoYykpIDogXAorCQkJCSB4bWxDaGFySW5SYW5nZSgoYyksICZ4bWxJc0Jhc2VDaGFyR3JvdXApKQorCitYTUxQVUJWQVIgY29uc3QgeG1sQ2hSYW5nZUdyb3VwIHhtbElzQmFzZUNoYXJHcm91cDsKKworLyoqCisgKiB4bWxJc0JsYW5rX2NoOgorICogQGM6IGNoYXIgdG8gdmFsaWRhdGUKKyAqCisgKiBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSBnZW5DaFJhbmdlcy5weQorICovCisjZGVmaW5lIHhtbElzQmxhbmtfY2goYykJKCgoYykgPT0gMHgyMCkgfHwgXAorCQkJCSAoKDB4OSA8PSAoYykpICYmICgoYykgPD0gMHhhKSkgfHwgXAorCQkJCSAoKGMpID09IDB4ZCkpCisKKy8qKgorICogeG1sSXNCbGFua1E6CisgKiBAYzogY2hhciB0byB2YWxpZGF0ZQorICoKKyAqIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IGdlbkNoUmFuZ2VzLnB5CisgKi8KKyNkZWZpbmUgeG1sSXNCbGFua1EoYykJCSgoKGMpIDwgMHgxMDApID8gXAorCQkJCSB4bWxJc0JsYW5rX2NoKChjKSkgOiAwKQorCisKKy8qKgorICogeG1sSXNDaGFyX2NoOgorICogQGM6IGNoYXIgdG8gdmFsaWRhdGUKKyAqCisgKiBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSBnZW5DaFJhbmdlcy5weQorICovCisjZGVmaW5lIHhtbElzQ2hhcl9jaChjKQkJKCgoMHg5IDw9IChjKSkgJiYgKChjKSA8PSAweGEpKSB8fCBcCisJCQkJICgoYykgPT0gMHhkKSB8fCBcCisJCQkJICAoMHgyMCA8PSAoYykpKQorCisvKioKKyAqIHhtbElzQ2hhclE6CisgKiBAYzogY2hhciB0byB2YWxpZGF0ZQorICoKKyAqIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IGdlbkNoUmFuZ2VzLnB5CisgKi8KKyNkZWZpbmUgeG1sSXNDaGFyUShjKQkJKCgoYykgPCAweDEwMCkgPyBcCisJCQkJIHhtbElzQ2hhcl9jaCgoYykpIDpcCisJCQkJKCgoMHgxMDAgPD0gKGMpKSAmJiAoKGMpIDw9IDB4ZDdmZikpIHx8IFwKKwkJCQkgKCgweGUwMDAgPD0gKGMpKSAmJiAoKGMpIDw9IDB4ZmZmZCkpIHx8IFwKKwkJCQkgKCgweDEwMDAwIDw9IChjKSkgJiYgKChjKSA8PSAweDEwZmZmZikpKSkKKworWE1MUFVCVkFSIGNvbnN0IHhtbENoUmFuZ2VHcm91cCB4bWxJc0NoYXJHcm91cDsKKworLyoqCisgKiB4bWxJc0NvbWJpbmluZ1E6CisgKiBAYzogY2hhciB0byB2YWxpZGF0ZQorICoKKyAqIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IGdlbkNoUmFuZ2VzLnB5CisgKi8KKyNkZWZpbmUgeG1sSXNDb21iaW5pbmdRKGMpCSgoKGMpIDwgMHgxMDApID8gXAorCQkJCSAwIDogXAorCQkJCSB4bWxDaGFySW5SYW5nZSgoYyksICZ4bWxJc0NvbWJpbmluZ0dyb3VwKSkKKworWE1MUFVCVkFSIGNvbnN0IHhtbENoUmFuZ2VHcm91cCB4bWxJc0NvbWJpbmluZ0dyb3VwOworCisvKioKKyAqIHhtbElzRGlnaXRfY2g6CisgKiBAYzogY2hhciB0byB2YWxpZGF0ZQorICoKKyAqIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IGdlbkNoUmFuZ2VzLnB5CisgKi8KKyNkZWZpbmUgeG1sSXNEaWdpdF9jaChjKQkoKCgweDMwIDw9IChjKSkgJiYgKChjKSA8PSAweDM5KSkpCisKKy8qKgorICogeG1sSXNEaWdpdFE6CisgKiBAYzogY2hhciB0byB2YWxpZGF0ZQorICoKKyAqIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IGdlbkNoUmFuZ2VzLnB5CisgKi8KKyNkZWZpbmUgeG1sSXNEaWdpdFEoYykJCSgoKGMpIDwgMHgxMDApID8gXAorCQkJCSB4bWxJc0RpZ2l0X2NoKChjKSkgOiBcCisJCQkJIHhtbENoYXJJblJhbmdlKChjKSwgJnhtbElzRGlnaXRHcm91cCkpCisKK1hNTFBVQlZBUiBjb25zdCB4bWxDaFJhbmdlR3JvdXAgeG1sSXNEaWdpdEdyb3VwOworCisvKioKKyAqIHhtbElzRXh0ZW5kZXJfY2g6CisgKiBAYzogY2hhciB0byB2YWxpZGF0ZQorICoKKyAqIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IGdlbkNoUmFuZ2VzLnB5CisgKi8KKyNkZWZpbmUgeG1sSXNFeHRlbmRlcl9jaChjKQkoKChjKSA9PSAweGI3KSkKKworLyoqCisgKiB4bWxJc0V4dGVuZGVyUToKKyAqIEBjOiBjaGFyIHRvIHZhbGlkYXRlCisgKgorICogQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgZ2VuQ2hSYW5nZXMucHkKKyAqLworI2RlZmluZSB4bWxJc0V4dGVuZGVyUShjKQkoKChjKSA8IDB4MTAwKSA/IFwKKwkJCQkgeG1sSXNFeHRlbmRlcl9jaCgoYykpIDogXAorCQkJCSB4bWxDaGFySW5SYW5nZSgoYyksICZ4bWxJc0V4dGVuZGVyR3JvdXApKQorCitYTUxQVUJWQVIgY29uc3QgeG1sQ2hSYW5nZUdyb3VwIHhtbElzRXh0ZW5kZXJHcm91cDsKKworLyoqCisgKiB4bWxJc0lkZW9ncmFwaGljUToKKyAqIEBjOiBjaGFyIHRvIHZhbGlkYXRlCisgKgorICogQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgZ2VuQ2hSYW5nZXMucHkKKyAqLworI2RlZmluZSB4bWxJc0lkZW9ncmFwaGljUShjKQkoKChjKSA8IDB4MTAwKSA/IFwKKwkJCQkgMCA6XAorCQkJCSgoKDB4NGUwMCA8PSAoYykpICYmICgoYykgPD0gMHg5ZmE1KSkgfHwgXAorCQkJCSAoKGMpID09IDB4MzAwNykgfHwgXAorCQkJCSAoKDB4MzAyMSA8PSAoYykpICYmICgoYykgPD0gMHgzMDI5KSkpKQorCitYTUxQVUJWQVIgY29uc3QgeG1sQ2hSYW5nZUdyb3VwIHhtbElzSWRlb2dyYXBoaWNHcm91cDsKK1hNTFBVQlZBUiBjb25zdCB1bnNpZ25lZCBjaGFyIHhtbElzUHViaWRDaGFyX3RhYlsyNTZdOworCisvKioKKyAqIHhtbElzUHViaWRDaGFyX2NoOgorICogQGM6IGNoYXIgdG8gdmFsaWRhdGUKKyAqCisgKiBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSBnZW5DaFJhbmdlcy5weQorICovCisjZGVmaW5lIHhtbElzUHViaWRDaGFyX2NoKGMpCSh4bWxJc1B1YmlkQ2hhcl90YWJbKGMpXSkKKworLyoqCisgKiB4bWxJc1B1YmlkQ2hhclE6CisgKiBAYzogY2hhciB0byB2YWxpZGF0ZQorICoKKyAqIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IGdlbkNoUmFuZ2VzLnB5CisgKi8KKyNkZWZpbmUgeG1sSXNQdWJpZENoYXJRKGMpCSgoKGMpIDwgMHgxMDApID8gXAorCQkJCSB4bWxJc1B1YmlkQ2hhcl9jaCgoYykpIDogMCkKKworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCXhtbElzQmFzZUNoYXIodW5zaWduZWQgaW50IGNoKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl4bWxJc0JsYW5rKHVuc2lnbmVkIGludCBjaCk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJeG1sSXNDaGFyKHVuc2lnbmVkIGludCBjaCk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJeG1sSXNDb21iaW5pbmcodW5zaWduZWQgaW50IGNoKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl4bWxJc0RpZ2l0KHVuc2lnbmVkIGludCBjaCk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJeG1sSXNFeHRlbmRlcih1bnNpZ25lZCBpbnQgY2gpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCXhtbElzSWRlb2dyYXBoaWModW5zaWduZWQgaW50IGNoKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl4bWxJc1B1YmlkQ2hhcih1bnNpZ25lZCBpbnQgY2gpOworCisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorI2VuZGlmIC8qIF9fWE1MX0NIVkFMSURfSF9fICovCmRpZmYgLS1naXQgYS9saWJ4bWwyL2luY2x1ZGUvbGlieG1sL2RlYnVnWE1MLmggYi9saWJ4bWwyL2luY2x1ZGUvbGlieG1sL2RlYnVnWE1MLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWIzYmUxMwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvaW5jbHVkZS9saWJ4bWwvZGVidWdYTUwuaApAQCAtMCwwICsxLDIxNyBAQAorLyoKKyAqIFN1bW1hcnk6IFRyZWUgZGVidWdnaW5nIEFQSXMKKyAqIERlc2NyaXB0aW9uOiBJbnRlcmZhY2VzIHRvIGEgc2V0IG9mIHJvdXRpbmVzIHVzZWQgZm9yIGRlYnVnZ2luZyB0aGUgdHJlZQorICogICAgICAgICAgICAgIHByb2R1Y2VkIGJ5IHRoZSBYTUwgcGFyc2VyLgorICoKKyAqIENvcHk6IFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyAqCisgKiBBdXRob3I6IERhbmllbCBWZWlsbGFyZAorICovCisKKyNpZm5kZWYgX19ERUJVR19YTUxfXworI2RlZmluZSBfX0RFQlVHX1hNTF9fCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxsaWJ4bWwveG1sdmVyc2lvbi5oPgorI2luY2x1ZGUgPGxpYnhtbC90cmVlLmg+CisKKyNpZmRlZiBMSUJYTUxfREVCVUdfRU5BQkxFRAorCisjaW5jbHVkZSA8bGlieG1sL3hwYXRoLmg+CisKKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7CisjZW5kaWYKKworLyoKKyAqIFRoZSBzdGFuZGFyZCBEdW1wIHJvdXRpbmVzLgorICovCitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJeG1sRGVidWdEdW1wU3RyaW5nCShGSUxFICpvdXRwdXQsCisJCQkJIGNvbnN0IHhtbENoYXIgKnN0cik7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJeG1sRGVidWdEdW1wQXR0cgkoRklMRSAqb3V0cHV0LAorCQkJCSB4bWxBdHRyUHRyIGF0dHIsCisJCQkJIGludCBkZXB0aCk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJeG1sRGVidWdEdW1wQXR0ckxpc3QJKEZJTEUgKm91dHB1dCwKKwkJCQkgeG1sQXR0clB0ciBhdHRyLAorCQkJCSBpbnQgZGVwdGgpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCXhtbERlYnVnRHVtcE9uZU5vZGUJKEZJTEUgKm91dHB1dCwKKwkJCQkgeG1sTm9kZVB0ciBub2RlLAorCQkJCSBpbnQgZGVwdGgpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCXhtbERlYnVnRHVtcE5vZGUJKEZJTEUgKm91dHB1dCwKKwkJCQkgeG1sTm9kZVB0ciBub2RlLAorCQkJCSBpbnQgZGVwdGgpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCXhtbERlYnVnRHVtcE5vZGVMaXN0CShGSUxFICpvdXRwdXQsCisJCQkJIHhtbE5vZGVQdHIgbm9kZSwKKwkJCQkgaW50IGRlcHRoKTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwl4bWxEZWJ1Z0R1bXBEb2N1bWVudEhlYWQoRklMRSAqb3V0cHV0LAorCQkJCSB4bWxEb2NQdHIgZG9jKTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwl4bWxEZWJ1Z0R1bXBEb2N1bWVudAkoRklMRSAqb3V0cHV0LAorCQkJCSB4bWxEb2NQdHIgZG9jKTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwl4bWxEZWJ1Z0R1bXBEVEQJCShGSUxFICpvdXRwdXQsCisJCQkJIHhtbER0ZFB0ciBkdGQpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCXhtbERlYnVnRHVtcEVudGl0aWVzCShGSUxFICpvdXRwdXQsCisJCQkJIHhtbERvY1B0ciBkb2MpOworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCSoKKyAqCQkJQ2hlY2tpbmcgcm91dGluZXMJCQkqCisgKgkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCXhtbERlYnVnQ2hlY2tEb2N1bWVudAkoRklMRSAqIG91dHB1dCwKKwkJCQkgeG1sRG9jUHRyIGRvYyk7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJKgorICoJCQlYTUwgc2hlbGwgaGVscGVycwkJCSoKKyAqCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCXhtbExzT25lTm9kZQkJKEZJTEUgKm91dHB1dCwgeG1sTm9kZVB0ciBub2RlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCXhtbExzQ291bnROb2RlCQkoeG1sTm9kZVB0ciBub2RlKTsKKworWE1MUFVCRlVOIGNvbnN0IGNoYXIgKiBYTUxDQUxMCisJeG1sQm9vbFRvVGV4dAkJKGludCBib29sdmFsKTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkqCisgKgkgVGhlIFhNTCBzaGVsbCByZWxhdGVkIHN0cnVjdHVyZXMgYW5kIGZ1bmN0aW9ucwkJKgorICoJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWZkZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQKKy8qKgorICogeG1sU2hlbGxSZWFkbGluZUZ1bmM6CisgKiBAcHJvbXB0OiAgYSBzdHJpbmcgcHJvbXB0CisgKgorICogVGhpcyBpcyBhIGdlbmVyaWMgc2lnbmF0dXJlIGZvciB0aGUgWE1MIHNoZWxsIGlucHV0IGZ1bmN0aW9uLgorICoKKyAqIFJldHVybnMgYSBzdHJpbmcgd2hpY2ggd2lsbCBiZSBmcmVlZCBieSB0aGUgU2hlbGwuCisgKi8KK3R5cGVkZWYgY2hhciAqICgqIHhtbFNoZWxsUmVhZGxpbmVGdW5jKShjaGFyICpwcm9tcHQpOworCisvKioKKyAqIHhtbFNoZWxsQ3R4dDoKKyAqCisgKiBBIGRlYnVnZ2luZyBzaGVsbCBjb250ZXh0LgorICogVE9ETzogYWRkIHRoZSBkZWZpbmVkIGZ1bmN0aW9uIHRhYmxlcy4KKyAqLwordHlwZWRlZiBzdHJ1Y3QgX3htbFNoZWxsQ3R4dCB4bWxTaGVsbEN0eHQ7Cit0eXBlZGVmIHhtbFNoZWxsQ3R4dCAqeG1sU2hlbGxDdHh0UHRyOworc3RydWN0IF94bWxTaGVsbEN0eHQgeworICAgIGNoYXIgKmZpbGVuYW1lOworICAgIHhtbERvY1B0ciBkb2M7CisgICAgeG1sTm9kZVB0ciBub2RlOworICAgIHhtbFhQYXRoQ29udGV4dFB0ciBwY3R4dDsKKyAgICBpbnQgbG9hZGVkOworICAgIEZJTEUgKm91dHB1dDsKKyAgICB4bWxTaGVsbFJlYWRsaW5lRnVuYyBpbnB1dDsKK307CisKKy8qKgorICogeG1sU2hlbGxDbWQ6CisgKiBAY3R4dDogIGEgc2hlbGwgY29udGV4dAorICogQGFyZzogIGEgc3RyaW5nIGFyZ3VtZW50CisgKiBAbm9kZTogIGEgZmlyc3Qgbm9kZQorICogQG5vZGUyOiAgYSBzZWNvbmQgbm9kZQorICoKKyAqIFRoaXMgaXMgYSBnZW5lcmljIHNpZ25hdHVyZSBmb3IgdGhlIFhNTCBzaGVsbCBmdW5jdGlvbnMuCisgKgorICogUmV0dXJucyBhbiBpbnQsIG5lZ2F0aXZlIHJldHVybnMgaW5kaWNhdGluZyBlcnJvcnMuCisgKi8KK3R5cGVkZWYgaW50ICgqIHhtbFNoZWxsQ21kKSAoeG1sU2hlbGxDdHh0UHRyIGN0eHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKmFyZywKKwkJCSAgICAgeG1sTm9kZVB0ciBub2RlLAorCQkJICAgICB4bWxOb2RlUHRyIG5vZGUyKTsKKworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCXhtbFNoZWxsUHJpbnRYUGF0aEVycm9yCShpbnQgZXJyb3JUeXBlLAorCQkJCSBjb25zdCBjaGFyICphcmcpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCXhtbFNoZWxsUHJpbnRYUGF0aFJlc3VsdCh4bWxYUGF0aE9iamVjdFB0ciBsaXN0KTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCXhtbFNoZWxsTGlzdAkJKHhtbFNoZWxsQ3R4dFB0ciBjdHh0LAorCQkJCSBjaGFyICphcmcsCisJCQkJIHhtbE5vZGVQdHIgbm9kZSwKKwkJCQkgeG1sTm9kZVB0ciBub2RlMik7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwl4bWxTaGVsbEJhc2UJCSh4bWxTaGVsbEN0eHRQdHIgY3R4dCwKKwkJCQkgY2hhciAqYXJnLAorCQkJCSB4bWxOb2RlUHRyIG5vZGUsCisJCQkJIHhtbE5vZGVQdHIgbm9kZTIpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJeG1sU2hlbGxEaXIJCSh4bWxTaGVsbEN0eHRQdHIgY3R4dCwKKwkJCQkgY2hhciAqYXJnLAorCQkJCSB4bWxOb2RlUHRyIG5vZGUsCisJCQkJIHhtbE5vZGVQdHIgbm9kZTIpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJeG1sU2hlbGxMb2FkCQkoeG1sU2hlbGxDdHh0UHRyIGN0eHQsCisJCQkJIGNoYXIgKmZpbGVuYW1lLAorCQkJCSB4bWxOb2RlUHRyIG5vZGUsCisJCQkJIHhtbE5vZGVQdHIgbm9kZTIpOworI2lmZGVmIExJQlhNTF9PVVRQVVRfRU5BQkxFRAorWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCXhtbFNoZWxsUHJpbnROb2RlCSh4bWxOb2RlUHRyIG5vZGUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJeG1sU2hlbGxDYXQJCSh4bWxTaGVsbEN0eHRQdHIgY3R4dCwKKwkJCQkgY2hhciAqYXJnLAorCQkJCSB4bWxOb2RlUHRyIG5vZGUsCisJCQkJIHhtbE5vZGVQdHIgbm9kZTIpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJeG1sU2hlbGxXcml0ZQkJKHhtbFNoZWxsQ3R4dFB0ciBjdHh0LAorCQkJCSBjaGFyICpmaWxlbmFtZSwKKwkJCQkgeG1sTm9kZVB0ciBub2RlLAorCQkJCSB4bWxOb2RlUHRyIG5vZGUyKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCXhtbFNoZWxsU2F2ZQkJKHhtbFNoZWxsQ3R4dFB0ciBjdHh0LAorCQkJCSBjaGFyICpmaWxlbmFtZSwKKwkJCQkgeG1sTm9kZVB0ciBub2RlLAorCQkJCSB4bWxOb2RlUHRyIG5vZGUyKTsKKyNlbmRpZiAvKiBMSUJYTUxfT1VUUFVUX0VOQUJMRUQgKi8KKyNpZmRlZiBMSUJYTUxfVkFMSURfRU5BQkxFRAorWE1MUFVCRlVOIGludCBYTUxDQUxMCisJeG1sU2hlbGxWYWxpZGF0ZQkoeG1sU2hlbGxDdHh0UHRyIGN0eHQsCisJCQkJIGNoYXIgKmR0ZCwKKwkJCQkgeG1sTm9kZVB0ciBub2RlLAorCQkJCSB4bWxOb2RlUHRyIG5vZGUyKTsKKyNlbmRpZiAvKiBMSUJYTUxfVkFMSURfRU5BQkxFRCAqLworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJeG1sU2hlbGxEdQkJKHhtbFNoZWxsQ3R4dFB0ciBjdHh0LAorCQkJCSBjaGFyICphcmcsCisJCQkJIHhtbE5vZGVQdHIgdHJlZSwKKwkJCQkgeG1sTm9kZVB0ciBub2RlMik7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwl4bWxTaGVsbFB3ZAkJKHhtbFNoZWxsQ3R4dFB0ciBjdHh0LAorCQkJCSBjaGFyICpidWZmZXIsCisJCQkJIHhtbE5vZGVQdHIgbm9kZSwKKwkJCQkgeG1sTm9kZVB0ciBub2RlMik7CisKKy8qCisgKiBUaGUgU2hlbGwgaW50ZXJmYWNlLgorICovCitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJeG1sU2hlbGwJCSh4bWxEb2NQdHIgZG9jLAorCQkJCSBjaGFyICpmaWxlbmFtZSwKKwkJCQkgeG1sU2hlbGxSZWFkbGluZUZ1bmMgaW5wdXQsCisJCQkJIEZJTEUgKm91dHB1dCk7CisKKyNlbmRpZiAvKiBMSUJYTUxfWFBBVEhfRU5BQkxFRCAqLworCisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorCisjZW5kaWYgLyogTElCWE1MX0RFQlVHX0VOQUJMRUQgKi8KKyNlbmRpZiAvKiBfX0RFQlVHX1hNTF9fICovCmRpZmYgLS1naXQgYS9saWJ4bWwyL2luY2x1ZGUvbGlieG1sL2RpY3QuaCBiL2xpYnhtbDIvaW5jbHVkZS9saWJ4bWwvZGljdC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcwMjJlYzgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2luY2x1ZGUvbGlieG1sL2RpY3QuaApAQCAtMCwwICsxLDgwIEBACisvKgorICogU3VtbWFyeTogc3RyaW5nIGRpY3Rpb25uYXJ5CisgKiBEZXNjcmlwdGlvbjogZGljdGlvbmFyeSBvZiByZXVzYWJsZSBzdHJpbmdzLCBqdXN0IHVzZWQgdG8gYXZvaWQgYWxsb2NhdGlvbgorICogICAgICAgICBhbmQgZnJlZWluZyBvcGVyYXRpb25zLgorICoKKyAqIENvcHk6IFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyAqCisgKiBBdXRob3I6IERhbmllbCBWZWlsbGFyZAorICovCisKKyNpZm5kZWYgX19YTUxfRElDVF9IX18KKyNkZWZpbmUgX19YTUxfRElDVF9IX18KKworI2luY2x1ZGUgPGxpbWl0cy5oPgorI2luY2x1ZGUgPGxpYnhtbC94bWx2ZXJzaW9uLmg+CisjaW5jbHVkZSA8bGlieG1sL3RyZWUuaD4KKworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCisvKgorICogVGhlIGRpY3Rpb25uYXJ5LgorICovCit0eXBlZGVmIHN0cnVjdCBfeG1sRGljdCB4bWxEaWN0OwordHlwZWRlZiB4bWxEaWN0ICp4bWxEaWN0UHRyOworCisvKgorICogSW5pdGlhbGl6ZXIKKyAqLworWE1MUFVCRlVOIGludCBYTUxDQUxMICB4bWxJbml0aWFsaXplRGljdCh2b2lkKTsKKworLyoKKyAqIENvbnN0cnVjdG9yIGFuZCBkZXN0cnVjdG9yLgorICovCitYTUxQVUJGVU4geG1sRGljdFB0ciBYTUxDQUxMCisJCQl4bWxEaWN0Q3JlYXRlCSh2b2lkKTsKK1hNTFBVQkZVTiBzaXplX3QgWE1MQ0FMTAorCQkJeG1sRGljdFNldExpbWl0CSh4bWxEaWN0UHRyIGRpY3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBsaW1pdCk7CitYTUxQVUJGVU4gc2l6ZV90IFhNTENBTEwKKwkJCXhtbERpY3RHZXRVc2FnZSAoeG1sRGljdFB0ciBkaWN0KTsKK1hNTFBVQkZVTiB4bWxEaWN0UHRyIFhNTENBTEwKKwkJCXhtbERpY3RDcmVhdGVTdWIoeG1sRGljdFB0ciBzdWIpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCQl4bWxEaWN0UmVmZXJlbmNlKHhtbERpY3RQdHIgZGljdCk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCQl4bWxEaWN0RnJlZQkoeG1sRGljdFB0ciBkaWN0KTsKKworLyoKKyAqIExvb2t1cCBvZiBlbnRyeSBpbiB0aGUgZGljdGlvbm5hcnkuCisgKi8KK1hNTFBVQkZVTiBjb25zdCB4bWxDaGFyICogWE1MQ0FMTAorCQkJeG1sRGljdExvb2t1cAkoeG1sRGljdFB0ciBkaWN0LAorCQkgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqbmFtZSwKKwkJICAgICAgICAgICAgICAgICAgICAgICAgIGludCBsZW4pOworWE1MUFVCRlVOIGNvbnN0IHhtbENoYXIgKiBYTUxDQUxMCisJCQl4bWxEaWN0RXhpc3RzCSh4bWxEaWN0UHRyIGRpY3QsCisJCSAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICpuYW1lLAorCQkgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGxlbik7CitYTUxQVUJGVU4gY29uc3QgeG1sQ2hhciAqIFhNTENBTEwKKwkJCXhtbERpY3RRTG9va3VwCSh4bWxEaWN0UHRyIGRpY3QsCisJCSAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICpwcmVmaXgsCisJCSAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICpuYW1lKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQkJeG1sRGljdE93bnMJKHhtbERpY3RQdHIgZGljdCwKKwkJCQkJIGNvbnN0IHhtbENoYXIgKnN0cik7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJCXhtbERpY3RTaXplCSh4bWxEaWN0UHRyIGRpY3QpOworCisvKgorICogQ2xlYW51cCBmdW5jdGlvbgorICovCitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisgICAgICAgICAgICAgICAgICAgICAgICB4bWxEaWN0Q2xlYW51cCAgKHZvaWQpOworCisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorI2VuZGlmIC8qICEgX19YTUxfRElDVF9IX18gKi8KZGlmZiAtLWdpdCBhL2xpYnhtbDIvaW5jbHVkZS9saWJ4bWwvZW5jb2RpbmcuaCBiL2xpYnhtbDIvaW5jbHVkZS9saWJ4bWwvZW5jb2RpbmcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43OTY3Y2M2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9pbmNsdWRlL2xpYnhtbC9lbmNvZGluZy5oCkBAIC0wLDAgKzEsMjQwIEBACisvKgorICogU3VtbWFyeTogaW50ZXJmYWNlIGZvciB0aGUgZW5jb2RpbmcgY29udmVyc2lvbiBmdW5jdGlvbnMKKyAqIERlc2NyaXB0aW9uOiBpbnRlcmZhY2UgZm9yIHRoZSBlbmNvZGluZyBjb252ZXJzaW9uIGZ1bmN0aW9ucyBuZWVkZWQgZm9yCisgKiAgICAgICAgICAgICAgWE1MIGJhc2ljIGVuY29kaW5nIGFuZCBpY29udigpIHN1cHBvcnQuCisgKgorICogUmVsYXRlZCBzcGVjcyBhcmUKKyAqIHJmYzIwNDQgICAgICAgIChVVEYtOCBhbmQgVVRGLTE2KSBGLiBZZXJnZWF1IEFsaXMgVGVjaG5vbG9naWVzCisgKiBbSVNPLTEwNjQ2XSAgICBVVEYtOCBhbmQgVVRGLTE2IGluIEFubmV4ZXMKKyAqIFtJU08tODg1OS0xXSAgIElTTyBMYXRpbi0xIGNoYXJhY3RlcnMgY29kZXMuCisgKiBbVU5JQ09ERV0gICAgICBUaGUgVW5pY29kZSBDb25zb3J0aXVtLCAiVGhlIFVuaWNvZGUgU3RhbmRhcmQgLS0KKyAqICAgICAgICAgICAgICAgIFdvcmxkd2lkZSBDaGFyYWN0ZXIgRW5jb2RpbmcgLS0gVmVyc2lvbiAxLjAiLCBBZGRpc29uLQorICogICAgICAgICAgICAgICAgV2VzbGV5LCBWb2x1bWUgMSwgMTk5MSwgVm9sdW1lIDIsIDE5OTIuICBVVEYtOCBpcworICogICAgICAgICAgICAgICAgZGVzY3JpYmVkIGluIFVuaWNvZGUgVGVjaG5pY2FsIFJlcG9ydCAjNC4KKyAqIFtVUy1BU0NJSV0gICAgIENvZGVkIENoYXJhY3RlciBTZXQtLTctYml0IEFtZXJpY2FuIFN0YW5kYXJkIENvZGUgZm9yCisgKiAgICAgICAgICAgICAgICBJbmZvcm1hdGlvbiBJbnRlcmNoYW5nZSwgQU5TSSBYMy40LTE5ODYuCisgKgorICogQ29weTogU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgorICoKKyAqIEF1dGhvcjogRGFuaWVsIFZlaWxsYXJkCisgKi8KKworI2lmbmRlZiBfX1hNTF9DSEFSX0VOQ09ESU5HX0hfXworI2RlZmluZSBfX1hNTF9DSEFSX0VOQ09ESU5HX0hfXworCisjaW5jbHVkZSA8bGlieG1sL3htbHZlcnNpb24uaD4KKworI2lmZGVmIExJQlhNTF9JQ09OVl9FTkFCTEVECisjaW5jbHVkZSA8aWNvbnYuaD4KKyNlbmRpZgorI2lmZGVmIExJQlhNTF9JQ1VfRU5BQkxFRAorI2luY2x1ZGUgPHVuaWNvZGUvdWNudi5oPgorI2VuZGlmCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCisKKy8qCisgKiB4bWxDaGFyRW5jb2Rpbmc6CisgKgorICogUHJlZGVmaW5lZCB2YWx1ZXMgZm9yIHNvbWUgc3RhbmRhcmQgZW5jb2RpbmdzLgorICogTGlieG1sIGRvZXMgbm90IGRvIGJlZm9yZWhhbmQgdHJhbnNsYXRpb24gb24gVVRGOCBhbmQgSVNPTGF0aW5YLgorICogSXQgYWxzbyBzdXBwb3J0cyBBU0NJSSwgSVNPLTg4NTktMSwgYW5kIFVURjE2IChMRSBhbmQgQkUpIGJ5IGRlZmF1bHQuCisgKgorICogQW55dGhpbmcgZWxzZSB3b3VsZCBoYXZlIHRvIGJlIHRyYW5zbGF0ZWQgdG8gVVRGOCBiZWZvcmUgYmVpbmcKKyAqIGdpdmVuIHRvIHRoZSBwYXJzZXIgaXRzZWxmLiBUaGUgQk9NIGZvciBVVEYxNiBhbmQgdGhlIGVuY29kaW5nCisgKiBkZWNsYXJhdGlvbiBhcmUgbG9va2VkIGF0IGFuZCBhIGNvbnZlcnRlciBpcyBsb29rZWQgZm9yIGF0IHRoYXQKKyAqIHBvaW50LiBJZiBub3QgZm91bmQgdGhlIHBhcnNlciBzdG9wcyBoZXJlIGFzIGFza2VkIGJ5IHRoZSBYTUwgUkVDLiBBCisgKiBjb252ZXJ0ZXIgY2FuIGJlIHJlZ2lzdGVyZWQgYnkgdGhlIHVzZXIgdXNpbmcgeG1sUmVnaXN0ZXJDaGFyRW5jb2RpbmdIYW5kbGVyCisgKiBidXQgdGhlIGN1cnJlbnQgZm9ybSBkb2Vzbid0IGFsbG93IHN0YXRlZnVsIHRyYW5zY29kaW5nIChhIHNlcmlvdXMKKyAqIHByb2JsZW0gYWdyZWVkICEpLiBJZiBpY29udiBoYXMgYmVlbiBmb3VuZCBpdCB3aWxsIGJlIHVzZWQKKyAqIGF1dG9tYXRpY2FsbHkgYW5kIGFsbG93IHN0YXRlZnVsIHRyYW5zY29kaW5nLCB0aGUgc2ltcGxlc3QgaXMgdGhlbgorICogdG8gYmUgc3VyZSB0byBlbmFibGUgaWNvbnYgYW5kIHRvIHByb3ZpZGUgaWNvbnYgbGlicyBmb3IgdGhlIGVuY29kaW5nCisgKiBzdXBwb3J0IG5lZWRlZC4KKyAqCisgKiBOb3RlIHRoYXQgdGhlIGdlbmVyaWMgIlVURi0xNiIgaXMgbm90IGEgcHJlZGVmaW5lZCB2YWx1ZS4gIEluc3RlYWQsIG9ubHkKKyAqIHRoZSBzcGVjaWZpYyBVVEYtMTZMRSBhbmQgVVRGLTE2QkUgYXJlIHByZXNlbnQuCisgKi8KK3R5cGVkZWYgZW51bSB7CisgICAgWE1MX0NIQVJfRU5DT0RJTkdfRVJST1I9ICAgLTEsIC8qIE5vIGNoYXIgZW5jb2RpbmcgZGV0ZWN0ZWQgKi8KKyAgICBYTUxfQ0hBUl9FTkNPRElOR19OT05FPQkwLCAvKiBObyBjaGFyIGVuY29kaW5nIGRldGVjdGVkICovCisgICAgWE1MX0NIQVJfRU5DT0RJTkdfVVRGOD0JMSwgLyogVVRGLTggKi8KKyAgICBYTUxfQ0hBUl9FTkNPRElOR19VVEYxNkxFPQkyLCAvKiBVVEYtMTYgbGl0dGxlIGVuZGlhbiAqLworICAgIFhNTF9DSEFSX0VOQ09ESU5HX1VURjE2QkU9CTMsIC8qIFVURi0xNiBiaWcgZW5kaWFuICovCisgICAgWE1MX0NIQVJfRU5DT0RJTkdfVUNTNExFPQk0LCAvKiBVQ1MtNCBsaXR0bGUgZW5kaWFuICovCisgICAgWE1MX0NIQVJfRU5DT0RJTkdfVUNTNEJFPQk1LCAvKiBVQ1MtNCBiaWcgZW5kaWFuICovCisgICAgWE1MX0NIQVJfRU5DT0RJTkdfRUJDRElDPQk2LCAvKiBFQkNESUMgdWghICovCisgICAgWE1MX0NIQVJfRU5DT0RJTkdfVUNTNF8yMTQzPTcsIC8qIFVDUy00IHVudXN1YWwgb3JkZXJpbmcgKi8KKyAgICBYTUxfQ0hBUl9FTkNPRElOR19VQ1M0XzM0MTI9OCwgLyogVUNTLTQgdW51c3VhbCBvcmRlcmluZyAqLworICAgIFhNTF9DSEFSX0VOQ09ESU5HX1VDUzI9CTksIC8qIFVDUy0yICovCisgICAgWE1MX0NIQVJfRU5DT0RJTkdfODg1OV8xPQkxMCwvKiBJU08tODg1OS0xIElTTyBMYXRpbiAxICovCisgICAgWE1MX0NIQVJfRU5DT0RJTkdfODg1OV8yPQkxMSwvKiBJU08tODg1OS0yIElTTyBMYXRpbiAyICovCisgICAgWE1MX0NIQVJfRU5DT0RJTkdfODg1OV8zPQkxMiwvKiBJU08tODg1OS0zICovCisgICAgWE1MX0NIQVJfRU5DT0RJTkdfODg1OV80PQkxMywvKiBJU08tODg1OS00ICovCisgICAgWE1MX0NIQVJfRU5DT0RJTkdfODg1OV81PQkxNCwvKiBJU08tODg1OS01ICovCisgICAgWE1MX0NIQVJfRU5DT0RJTkdfODg1OV82PQkxNSwvKiBJU08tODg1OS02ICovCisgICAgWE1MX0NIQVJfRU5DT0RJTkdfODg1OV83PQkxNiwvKiBJU08tODg1OS03ICovCisgICAgWE1MX0NIQVJfRU5DT0RJTkdfODg1OV84PQkxNywvKiBJU08tODg1OS04ICovCisgICAgWE1MX0NIQVJfRU5DT0RJTkdfODg1OV85PQkxOCwvKiBJU08tODg1OS05ICovCisgICAgWE1MX0NIQVJfRU5DT0RJTkdfMjAyMl9KUD0gIDE5LC8qIElTTy0yMDIyLUpQICovCisgICAgWE1MX0NIQVJfRU5DT0RJTkdfU0hJRlRfSklTPTIwLC8qIFNoaWZ0X0pJUyAqLworICAgIFhNTF9DSEFSX0VOQ09ESU5HX0VVQ19KUD0gICAyMSwvKiBFVUMtSlAgKi8KKyAgICBYTUxfQ0hBUl9FTkNPRElOR19BU0NJST0gICAgMjIgLyogcHVyZSBBU0NJSSAqLworfSB4bWxDaGFyRW5jb2Rpbmc7CisKKy8qKgorICogeG1sQ2hhckVuY29kaW5nSW5wdXRGdW5jOgorICogQG91dDogIGEgcG9pbnRlciB0byBhbiBhcnJheSBvZiBieXRlcyB0byBzdG9yZSB0aGUgVVRGLTggcmVzdWx0CisgKiBAb3V0bGVuOiAgdGhlIGxlbmd0aCBvZiBAb3V0CisgKiBAaW46ICBhIHBvaW50ZXIgdG8gYW4gYXJyYXkgb2YgY2hhcnMgaW4gdGhlIG9yaWdpbmFsIGVuY29kaW5nCisgKiBAaW5sZW46ICB0aGUgbGVuZ3RoIG9mIEBpbgorICoKKyAqIFRha2UgYSBibG9jayBvZiBjaGFycyBpbiB0aGUgb3JpZ2luYWwgZW5jb2RpbmcgYW5kIHRyeSB0byBjb252ZXJ0CisgKiBpdCB0byBhbiBVVEYtOCBibG9jayBvZiBjaGFycyBvdXQuCisgKgorICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIGJ5dGVzIHdyaXR0ZW4sIC0xIGlmIGxhY2sgb2Ygc3BhY2UsIG9yIC0yCisgKiAgICAgaWYgdGhlIHRyYW5zY29kaW5nIGZhaWxlZC4KKyAqIFRoZSB2YWx1ZSBvZiBAaW5sZW4gYWZ0ZXIgcmV0dXJuIGlzIHRoZSBudW1iZXIgb2Ygb2N0ZXRzIGNvbnN1bWVkCisgKiAgICAgaWYgdGhlIHJldHVybiB2YWx1ZSBpcyBwb3NpdGl2ZSwgZWxzZSB1bnByZWRpY3RpYWJsZS4KKyAqIFRoZSB2YWx1ZSBvZiBAb3V0bGVuIGFmdGVyIHJldHVybiBpcyB0aGUgbnVtYmVyIG9mIG9jdGV0cyBjb25zdW1lZC4KKyAqLwordHlwZWRlZiBpbnQgKCogeG1sQ2hhckVuY29kaW5nSW5wdXRGdW5jKSh1bnNpZ25lZCBjaGFyICpvdXQsIGludCAqb3V0bGVuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICppbiwgaW50ICppbmxlbik7CisKKworLyoqCisgKiB4bWxDaGFyRW5jb2RpbmdPdXRwdXRGdW5jOgorICogQG91dDogIGEgcG9pbnRlciB0byBhbiBhcnJheSBvZiBieXRlcyB0byBzdG9yZSB0aGUgcmVzdWx0CisgKiBAb3V0bGVuOiAgdGhlIGxlbmd0aCBvZiBAb3V0CisgKiBAaW46ICBhIHBvaW50ZXIgdG8gYW4gYXJyYXkgb2YgVVRGLTggY2hhcnMKKyAqIEBpbmxlbjogIHRoZSBsZW5ndGggb2YgQGluCisgKgorICogVGFrZSBhIGJsb2NrIG9mIFVURi04IGNoYXJzIGluIGFuZCB0cnkgdG8gY29udmVydCBpdCB0byBhbm90aGVyCisgKiBlbmNvZGluZy4KKyAqIE5vdGU6IGEgZmlyc3QgY2FsbCBkZXNpZ25lZCB0byBwcm9kdWNlIGhlYWRpbmcgaW5mbyBpcyBjYWxsZWQgd2l0aAorICogaW4gPSBOVUxMLiBJZiBzdGF0ZWZ1bCB0aGlzIHNob3VsZCBhbHNvIGluaXRpYWxpemUgdGhlIGVuY29kZXIgc3RhdGUuCisgKgorICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIGJ5dGVzIHdyaXR0ZW4sIC0xIGlmIGxhY2sgb2Ygc3BhY2UsIG9yIC0yCisgKiAgICAgaWYgdGhlIHRyYW5zY29kaW5nIGZhaWxlZC4KKyAqIFRoZSB2YWx1ZSBvZiBAaW5sZW4gYWZ0ZXIgcmV0dXJuIGlzIHRoZSBudW1iZXIgb2Ygb2N0ZXRzIGNvbnN1bWVkCisgKiAgICAgaWYgdGhlIHJldHVybiB2YWx1ZSBpcyBwb3NpdGl2ZSwgZWxzZSB1bnByZWRpY3RpYWJsZS4KKyAqIFRoZSB2YWx1ZSBvZiBAb3V0bGVuIGFmdGVyIHJldHVybiBpcyB0aGUgbnVtYmVyIG9mIG9jdGV0cyBwcm9kdWNlZC4KKyAqLwordHlwZWRlZiBpbnQgKCogeG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYykodW5zaWduZWQgY2hhciAqb3V0LCBpbnQgKm91dGxlbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmluLCBpbnQgKmlubGVuKTsKKworCisvKgorICogQmxvY2sgZGVmaW5pbmcgdGhlIGhhbmRsZXJzIGZvciBub24gVVRGLTggZW5jb2RpbmdzLgorICogSWYgaWNvbnYgaXMgc3VwcG9ydGVkLCB0aGVyZSBhcmUgdHdvIGV4dHJhIGZpZWxkcy4KKyAqLworI2lmZGVmIExJQlhNTF9JQ1VfRU5BQkxFRAorc3RydWN0IF91Y29udl90IHsKKyAgVUNvbnZlcnRlciAqdWNvbnY7IC8qIGZvciBjb252ZXJzaW9uIGJldHdlZW4gYW4gZW5jb2RpbmcgYW5kIFVURi0xNiAqLworICBVQ29udmVydGVyICp1dGY4OyAvKiBmb3IgY29udmVyc2lvbiBiZXR3ZWVuIFVURi04IGFuZCBVVEYtMTYgKi8KK307Cit0eXBlZGVmIHN0cnVjdCBfdWNvbnZfdCB1Y29udl90OworI2VuZGlmCisKK3R5cGVkZWYgc3RydWN0IF94bWxDaGFyRW5jb2RpbmdIYW5kbGVyIHhtbENoYXJFbmNvZGluZ0hhbmRsZXI7Cit0eXBlZGVmIHhtbENoYXJFbmNvZGluZ0hhbmRsZXIgKnhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHI7CitzdHJ1Y3QgX3htbENoYXJFbmNvZGluZ0hhbmRsZXIgeworICAgIGNoYXIgICAgICAgICAgICAgICAgICAgICAgICpuYW1lOworICAgIHhtbENoYXJFbmNvZGluZ0lucHV0RnVuYyAgIGlucHV0OworICAgIHhtbENoYXJFbmNvZGluZ091dHB1dEZ1bmMgIG91dHB1dDsKKyNpZmRlZiBMSUJYTUxfSUNPTlZfRU5BQkxFRAorICAgIGljb252X3QgICAgICAgICAgICAgICAgICAgIGljb252X2luOworICAgIGljb252X3QgICAgICAgICAgICAgICAgICAgIGljb252X291dDsKKyNlbmRpZiAvKiBMSUJYTUxfSUNPTlZfRU5BQkxFRCAqLworI2lmZGVmIExJQlhNTF9JQ1VfRU5BQkxFRAorICAgIHVjb252X3QgICAgICAgICAgICAgICAgICAgICp1Y29udl9pbjsKKyAgICB1Y29udl90ICAgICAgICAgICAgICAgICAgICAqdWNvbnZfb3V0OworI2VuZGlmIC8qIExJQlhNTF9JQ1VfRU5BQkxFRCAqLworfTsKKworI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKyNpbmNsdWRlIDxsaWJ4bWwvdHJlZS5oPgorI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCisvKgorICogSW50ZXJmYWNlcyBmb3IgZW5jb2RpbmcgaGFuZGxlcnMuCisgKi8KK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwl4bWxJbml0Q2hhckVuY29kaW5nSGFuZGxlcnMJKHZvaWQpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCXhtbENsZWFudXBDaGFyRW5jb2RpbmdIYW5kbGVycwkodm9pZCk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJeG1sUmVnaXN0ZXJDaGFyRW5jb2RpbmdIYW5kbGVyCSh4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyIGhhbmRsZXIpOworWE1MUFVCRlVOIHhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIgWE1MQ0FMTAorCXhtbEdldENoYXJFbmNvZGluZ0hhbmRsZXIJKHhtbENoYXJFbmNvZGluZyBlbmMpOworWE1MUFVCRlVOIHhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIgWE1MQ0FMTAorCXhtbEZpbmRDaGFyRW5jb2RpbmdIYW5kbGVyCShjb25zdCBjaGFyICpuYW1lKTsKK1hNTFBVQkZVTiB4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyIFhNTENBTEwKKwl4bWxOZXdDaGFyRW5jb2RpbmdIYW5kbGVyCShjb25zdCBjaGFyICpuYW1lLAorCQkJCQkgeG1sQ2hhckVuY29kaW5nSW5wdXRGdW5jIGlucHV0LAorCQkJCQkgeG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYyBvdXRwdXQpOworCisvKgorICogSW50ZXJmYWNlcyBmb3IgZW5jb2RpbmcgbmFtZXMgYW5kIGFsaWFzZXMuCisgKi8KK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCXhtbEFkZEVuY29kaW5nQWxpYXMJCShjb25zdCBjaGFyICpuYW1lLAorCQkJCQkgY29uc3QgY2hhciAqYWxpYXMpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJeG1sRGVsRW5jb2RpbmdBbGlhcwkJKGNvbnN0IGNoYXIgKmFsaWFzKTsKK1hNTFBVQkZVTiBjb25zdCBjaGFyICogWE1MQ0FMTAorCXhtbEdldEVuY29kaW5nQWxpYXMJCShjb25zdCBjaGFyICphbGlhcyk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJeG1sQ2xlYW51cEVuY29kaW5nQWxpYXNlcwkodm9pZCk7CitYTUxQVUJGVU4geG1sQ2hhckVuY29kaW5nIFhNTENBTEwKKwl4bWxQYXJzZUNoYXJFbmNvZGluZwkJKGNvbnN0IGNoYXIgKm5hbWUpOworWE1MUFVCRlVOIGNvbnN0IGNoYXIgKiBYTUxDQUxMCisJeG1sR2V0Q2hhckVuY29kaW5nTmFtZQkJKHhtbENoYXJFbmNvZGluZyBlbmMpOworCisvKgorICogSW50ZXJmYWNlcyBkaXJlY3RseSB1c2VkIGJ5IHRoZSBwYXJzZXJzLgorICovCitYTUxQVUJGVU4geG1sQ2hhckVuY29kaW5nIFhNTENBTEwKKwl4bWxEZXRlY3RDaGFyRW5jb2RpbmcJCShjb25zdCB1bnNpZ25lZCBjaGFyICppbiwKKwkJCQkJIGludCBsZW4pOworCitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwl4bWxDaGFyRW5jT3V0RnVuYwkJKHhtbENoYXJFbmNvZGluZ0hhbmRsZXIgKmhhbmRsZXIsCisJCQkJCSB4bWxCdWZmZXJQdHIgb3V0LAorCQkJCQkgeG1sQnVmZmVyUHRyIGluKTsKKworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJeG1sQ2hhckVuY0luRnVuYwkJKHhtbENoYXJFbmNvZGluZ0hhbmRsZXIgKmhhbmRsZXIsCisJCQkJCSB4bWxCdWZmZXJQdHIgb3V0LAorCQkJCQkgeG1sQnVmZmVyUHRyIGluKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCXhtbENoYXJFbmNGaXJzdExpbmUJCSh4bWxDaGFyRW5jb2RpbmdIYW5kbGVyICpoYW5kbGVyLAorCQkJCQkgeG1sQnVmZmVyUHRyIG91dCwKKwkJCQkJIHhtbEJ1ZmZlclB0ciBpbik7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwl4bWxDaGFyRW5jQ2xvc2VGdW5jCQkoeG1sQ2hhckVuY29kaW5nSGFuZGxlciAqaGFuZGxlcik7CisKKy8qCisgKiBFeHBvcnQgYSBmZXcgdXNlZnVsIGZ1bmN0aW9ucworICovCisjaWZkZWYgTElCWE1MX09VVFBVVF9FTkFCTEVECitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwlVVEY4VG9pc29sYXQxCQkJKHVuc2lnbmVkIGNoYXIgKm91dCwKKwkJCQkJIGludCAqb3V0bGVuLAorCQkJCQkgY29uc3QgdW5zaWduZWQgY2hhciAqaW4sCisJCQkJCSBpbnQgKmlubGVuKTsKKyNlbmRpZiAvKiBMSUJYTUxfT1VUUFVUX0VOQUJMRUQgKi8KK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCWlzb2xhdDFUb1VURjgJCQkodW5zaWduZWQgY2hhciAqb3V0LAorCQkJCQkgaW50ICpvdXRsZW4sCisJCQkJCSBjb25zdCB1bnNpZ25lZCBjaGFyICppbiwKKwkJCQkJIGludCAqaW5sZW4pOworI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKworI2VuZGlmIC8qIF9fWE1MX0NIQVJfRU5DT0RJTkdfSF9fICovCmRpZmYgLS1naXQgYS9saWJ4bWwyL2luY2x1ZGUvbGlieG1sL2VudGl0aWVzLmggYi9saWJ4bWwyL2luY2x1ZGUvbGlieG1sL2VudGl0aWVzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDdiNDU3MwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvaW5jbHVkZS9saWJ4bWwvZW50aXRpZXMuaApAQCAtMCwwICsxLDE1MSBAQAorLyoKKyAqIFN1bW1hcnk6IGludGVyZmFjZSBmb3IgdGhlIFhNTCBlbnRpdGllcyBoYW5kbGluZworICogRGVzY3JpcHRpb246IHRoaXMgbW9kdWxlIHByb3ZpZGVzIHNvbWUgb2YgdGhlIGVudGl0eSBBUEkgbmVlZGVkCisgKiAgICAgICAgICAgICAgZm9yIHRoZSBwYXJzZXIgYW5kIGFwcGxpY2F0aW9ucy4KKyAqCisgKiBDb3B5OiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisgKgorICogQXV0aG9yOiBEYW5pZWwgVmVpbGxhcmQKKyAqLworCisjaWZuZGVmIF9fWE1MX0VOVElUSUVTX0hfXworI2RlZmluZSBfX1hNTF9FTlRJVElFU19IX18KKworI2luY2x1ZGUgPGxpYnhtbC94bWx2ZXJzaW9uLmg+CisjaW5jbHVkZSA8bGlieG1sL3RyZWUuaD4KKworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCisvKgorICogVGhlIGRpZmZlcmVudCB2YWxpZCBlbnRpdHkgdHlwZXMuCisgKi8KK3R5cGVkZWYgZW51bSB7CisgICAgWE1MX0lOVEVSTkFMX0dFTkVSQUxfRU5USVRZID0gMSwKKyAgICBYTUxfRVhURVJOQUxfR0VORVJBTF9QQVJTRURfRU5USVRZID0gMiwKKyAgICBYTUxfRVhURVJOQUxfR0VORVJBTF9VTlBBUlNFRF9FTlRJVFkgPSAzLAorICAgIFhNTF9JTlRFUk5BTF9QQVJBTUVURVJfRU5USVRZID0gNCwKKyAgICBYTUxfRVhURVJOQUxfUEFSQU1FVEVSX0VOVElUWSA9IDUsCisgICAgWE1MX0lOVEVSTkFMX1BSRURFRklORURfRU5USVRZID0gNgorfSB4bWxFbnRpdHlUeXBlOworCisvKgorICogQW4gdW5pdCBvZiBzdG9yYWdlIGZvciBhbiBlbnRpdHksIGNvbnRhaW5zIHRoZSBzdHJpbmcsIHRoZSB2YWx1ZQorICogYW5kIHRoZSBsaW5raW5kIGRhdGEgbmVlZGVkIGZvciB0aGUgbGlua2luZyBpbiB0aGUgaGFzaCB0YWJsZS4KKyAqLworCitzdHJ1Y3QgX3htbEVudGl0eSB7CisgICAgdm9pZCAgICAgICAgICAgKl9wcml2YXRlOwkgICAgICAgIC8qIGFwcGxpY2F0aW9uIGRhdGEgKi8KKyAgICB4bWxFbGVtZW50VHlwZSAgICAgICAgICB0eXBlOyAgICAgICAvKiBYTUxfRU5USVRZX0RFQ0wsIG11c3QgYmUgc2Vjb25kICEgKi8KKyAgICBjb25zdCB4bWxDaGFyICAgICAgICAgICpuYW1lOwkvKiBFbnRpdHkgbmFtZSAqLworICAgIHN0cnVjdCBfeG1sTm9kZSAgICAqY2hpbGRyZW47CS8qIEZpcnN0IGNoaWxkIGxpbmsgKi8KKyAgICBzdHJ1Y3QgX3htbE5vZGUgICAgICAgICpsYXN0OwkvKiBMYXN0IGNoaWxkIGxpbmsgKi8KKyAgICBzdHJ1Y3QgX3htbER0ZCAgICAgICAqcGFyZW50OwkvKiAtPiBEVEQgKi8KKyAgICBzdHJ1Y3QgX3htbE5vZGUgICAgICAgICpuZXh0OwkvKiBuZXh0IHNpYmxpbmcgbGluayAgKi8KKyAgICBzdHJ1Y3QgX3htbE5vZGUgICAgICAgICpwcmV2OwkvKiBwcmV2aW91cyBzaWJsaW5nIGxpbmsgICovCisgICAgc3RydWN0IF94bWxEb2MgICAgICAgICAgKmRvYzsgICAgICAgLyogdGhlIGNvbnRhaW5pbmcgZG9jdW1lbnQgKi8KKworICAgIHhtbENoYXIgICAgICAgICAgICAgICAgKm9yaWc7CS8qIGNvbnRlbnQgd2l0aG91dCByZWYgc3Vic3RpdHV0aW9uICovCisgICAgeG1sQ2hhciAgICAgICAgICAgICAqY29udGVudDsJLyogY29udGVudCBvciBuZGF0YSBpZiB1bnBhcnNlZCAqLworICAgIGludCAgICAgICAgICAgICAgICAgICBsZW5ndGg7CS8qIHRoZSBjb250ZW50IGxlbmd0aCAqLworICAgIHhtbEVudGl0eVR5cGUgICAgICAgICAgZXR5cGU7CS8qIFRoZSBlbnRpdHkgdHlwZSAqLworICAgIGNvbnN0IHhtbENoYXIgICAgKkV4dGVybmFsSUQ7CS8qIEV4dGVybmFsIGlkZW50aWZpZXIgZm9yIFBVQkxJQyAqLworICAgIGNvbnN0IHhtbENoYXIgICAgICAqU3lzdGVtSUQ7CS8qIFVSSSBmb3IgYSBTWVNURU0gb3IgUFVCTElDIEVudGl0eSAqLworCisgICAgc3RydWN0IF94bWxFbnRpdHkgICAgICpuZXh0ZTsJLyogdW51c2VkICovCisgICAgY29uc3QgeG1sQ2hhciAgICAgICAgICAgKlVSSTsJLyogdGhlIGZ1bGwgVVJJIGFzIGNvbXB1dGVkICovCisgICAgaW50ICAgICAgICAgICAgICAgICAgICBvd25lcjsJLyogZG9lcyB0aGUgZW50aXR5IG93biB0aGUgY2hpbGRyZW5zICovCisgICAgaW50CQkJIGNoZWNrZWQ7CS8qIHdhcyB0aGUgZW50aXR5IGNvbnRlbnQgY2hlY2tlZCAqLworCQkJCQkvKiB0aGlzIGlzIGFsc28gdXNlZCB0byBjb3VudCBlbnRpdGllcworCQkJCQkgKiByZWZlcmVuY2VzIGRvbmUgZnJvbSB0aGF0IGVudGl0eQorCQkJCQkgKiBhbmQgaWYgaXQgY29udGFpbnMgJzwnICovCit9OworCisvKgorICogQWxsIGVudGl0aWVzIGFyZSBzdG9yZWQgaW4gYW4gaGFzaCB0YWJsZS4KKyAqIFRoZXJlIGlzIDIgc2VwYXJhdGUgaGFzaCB0YWJsZXMgZm9yIGdsb2JhbCBhbmQgcGFyYW1ldGVyIGVudGl0aWVzLgorICovCisKK3R5cGVkZWYgc3RydWN0IF94bWxIYXNoVGFibGUgeG1sRW50aXRpZXNUYWJsZTsKK3R5cGVkZWYgeG1sRW50aXRpZXNUYWJsZSAqeG1sRW50aXRpZXNUYWJsZVB0cjsKKworLyoKKyAqIEV4dGVybmFsIGZ1bmN0aW9uczoKKyAqLworCisjaWZkZWYgTElCWE1MX0xFR0FDWV9FTkFCTEVECitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCXhtbEluaXRpYWxpemVQcmVkZWZpbmVkRW50aXRpZXMJKHZvaWQpOworI2VuZGlmIC8qIExJQlhNTF9MRUdBQ1lfRU5BQkxFRCAqLworCitYTUxQVUJGVU4geG1sRW50aXR5UHRyIFhNTENBTEwKKwkJCXhtbE5ld0VudGl0eQkJKHhtbERvY1B0ciBkb2MsCisJCQkJCQkgY29uc3QgeG1sQ2hhciAqbmFtZSwKKwkJCQkJCSBpbnQgdHlwZSwKKwkJCQkJCSBjb25zdCB4bWxDaGFyICpFeHRlcm5hbElELAorCQkJCQkJIGNvbnN0IHhtbENoYXIgKlN5c3RlbUlELAorCQkJCQkJIGNvbnN0IHhtbENoYXIgKmNvbnRlbnQpOworWE1MUFVCRlVOIHhtbEVudGl0eVB0ciBYTUxDQUxMCisJCQl4bWxBZGREb2NFbnRpdHkJCSh4bWxEb2NQdHIgZG9jLAorCQkJCQkJIGNvbnN0IHhtbENoYXIgKm5hbWUsCisJCQkJCQkgaW50IHR5cGUsCisJCQkJCQkgY29uc3QgeG1sQ2hhciAqRXh0ZXJuYWxJRCwKKwkJCQkJCSBjb25zdCB4bWxDaGFyICpTeXN0ZW1JRCwKKwkJCQkJCSBjb25zdCB4bWxDaGFyICpjb250ZW50KTsKK1hNTFBVQkZVTiB4bWxFbnRpdHlQdHIgWE1MQ0FMTAorCQkJeG1sQWRkRHRkRW50aXR5CQkoeG1sRG9jUHRyIGRvYywKKwkJCQkJCSBjb25zdCB4bWxDaGFyICpuYW1lLAorCQkJCQkJIGludCB0eXBlLAorCQkJCQkJIGNvbnN0IHhtbENoYXIgKkV4dGVybmFsSUQsCisJCQkJCQkgY29uc3QgeG1sQ2hhciAqU3lzdGVtSUQsCisJCQkJCQkgY29uc3QgeG1sQ2hhciAqY29udGVudCk7CitYTUxQVUJGVU4geG1sRW50aXR5UHRyIFhNTENBTEwKKwkJCXhtbEdldFByZWRlZmluZWRFbnRpdHkJKGNvbnN0IHhtbENoYXIgKm5hbWUpOworWE1MUFVCRlVOIHhtbEVudGl0eVB0ciBYTUxDQUxMCisJCQl4bWxHZXREb2NFbnRpdHkJCShjb25zdCB4bWxEb2MgKmRvYywKKwkJCQkJCSBjb25zdCB4bWxDaGFyICpuYW1lKTsKK1hNTFBVQkZVTiB4bWxFbnRpdHlQdHIgWE1MQ0FMTAorCQkJeG1sR2V0RHRkRW50aXR5CQkoeG1sRG9jUHRyIGRvYywKKwkJCQkJCSBjb25zdCB4bWxDaGFyICpuYW1lKTsKK1hNTFBVQkZVTiB4bWxFbnRpdHlQdHIgWE1MQ0FMTAorCQkJeG1sR2V0UGFyYW1ldGVyRW50aXR5CSh4bWxEb2NQdHIgZG9jLAorCQkJCQkJIGNvbnN0IHhtbENoYXIgKm5hbWUpOworI2lmZGVmIExJQlhNTF9MRUdBQ1lfRU5BQkxFRAorWE1MUFVCRlVOIGNvbnN0IHhtbENoYXIgKiBYTUxDQUxMCisJCQl4bWxFbmNvZGVFbnRpdGllcwkoeG1sRG9jUHRyIGRvYywKKwkJCQkJCSBjb25zdCB4bWxDaGFyICppbnB1dCk7CisjZW5kaWYgLyogTElCWE1MX0xFR0FDWV9FTkFCTEVEICovCitYTUxQVUJGVU4geG1sQ2hhciAqIFhNTENBTEwKKwkJCXhtbEVuY29kZUVudGl0aWVzUmVlbnRyYW50KHhtbERvY1B0ciBkb2MsCisJCQkJCQkgY29uc3QgeG1sQ2hhciAqaW5wdXQpOworWE1MUFVCRlVOIHhtbENoYXIgKiBYTUxDQUxMCisJCQl4bWxFbmNvZGVTcGVjaWFsQ2hhcnMJKGNvbnN0IHhtbERvYyAqZG9jLAorCQkJCQkJIGNvbnN0IHhtbENoYXIgKmlucHV0KTsKK1hNTFBVQkZVTiB4bWxFbnRpdGllc1RhYmxlUHRyIFhNTENBTEwKKwkJCXhtbENyZWF0ZUVudGl0aWVzVGFibGUJKHZvaWQpOworI2lmZGVmIExJQlhNTF9UUkVFX0VOQUJMRUQKK1hNTFBVQkZVTiB4bWxFbnRpdGllc1RhYmxlUHRyIFhNTENBTEwKKwkJCXhtbENvcHlFbnRpdGllc1RhYmxlCSh4bWxFbnRpdGllc1RhYmxlUHRyIHRhYmxlKTsKKyNlbmRpZiAvKiBMSUJYTUxfVFJFRV9FTkFCTEVEICovCitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCQl4bWxGcmVlRW50aXRpZXNUYWJsZQkoeG1sRW50aXRpZXNUYWJsZVB0ciB0YWJsZSk7CisjaWZkZWYgTElCWE1MX09VVFBVVF9FTkFCTEVECitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCQl4bWxEdW1wRW50aXRpZXNUYWJsZQkoeG1sQnVmZmVyUHRyIGJ1ZiwKKwkJCQkJCSB4bWxFbnRpdGllc1RhYmxlUHRyIHRhYmxlKTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJCXhtbER1bXBFbnRpdHlEZWNsCSh4bWxCdWZmZXJQdHIgYnVmLAorCQkJCQkJIHhtbEVudGl0eVB0ciBlbnQpOworI2VuZGlmIC8qIExJQlhNTF9PVVRQVVRfRU5BQkxFRCAqLworI2lmZGVmIExJQlhNTF9MRUdBQ1lfRU5BQkxFRAorWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQkJeG1sQ2xlYW51cFByZWRlZmluZWRFbnRpdGllcyh2b2lkKTsKKyNlbmRpZiAvKiBMSUJYTUxfTEVHQUNZX0VOQUJMRUQgKi8KKworCisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorCisjIGVuZGlmIC8qIF9fWE1MX0VOVElUSUVTX0hfXyAqLwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9pbmNsdWRlL2xpYnhtbC9nbG9iYWxzLmggYi9saWJ4bWwyL2luY2x1ZGUvbGlieG1sL2dsb2JhbHMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hOTMwNWFhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9pbmNsdWRlL2xpYnhtbC9nbG9iYWxzLmgKQEAgLTAsMCArMSw1MDkgQEAKKy8qCisgKiBTdW1tYXJ5OiBpbnRlcmZhY2UgZm9yIGFsbCBnbG9iYWwgdmFyaWFibGVzIG9mIHRoZSBsaWJyYXJ5CisgKiBEZXNjcmlwdGlvbjogYWxsIHRoZSBnbG9iYWwgdmFyaWFibGVzIGFuZCB0aHJlYWQgaGFuZGxpbmcgZm9yCisgKiAgICAgICAgICAgICAgdGhvc2UgdmFyaWFibGVzIGlzIGhhbmRsZWQgYnkgdGhpcyBtb2R1bGUuCisgKgorICogVGhlIGJvdHRvbSBvZiB0aGlzIGZpbGUgaXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgYnVpbGRfZ2xvYi5weQorICogYmFzZWQgb24gdGhlIGRlc2NyaXB0aW9uIGZpbGUgZ2xvYmFsLmRhdGEKKyAqCisgKiBDb3B5OiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisgKgorICogQXV0aG9yOiBHYXJ5IFBlbm5pbmd0b24gPEdhcnkuUGVubmluZ3RvbkB1ay5zdW4uY29tPiwgRGFuaWVsIFZlaWxsYXJkCisgKi8KKworI2lmbmRlZiBfX1hNTF9HTE9CQUxTX0gKKyNkZWZpbmUgX19YTUxfR0xPQkFMU19ICisKKyNpbmNsdWRlIDxsaWJ4bWwveG1sdmVyc2lvbi5oPgorI2luY2x1ZGUgPGxpYnhtbC9wYXJzZXIuaD4KKyNpbmNsdWRlIDxsaWJ4bWwveG1sZXJyb3IuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvU0FYLmg+CisjaW5jbHVkZSA8bGlieG1sL1NBWDIuaD4KKyNpbmNsdWRlIDxsaWJ4bWwveG1sbWVtb3J5Lmg+CisKKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7CisjZW5kaWYKKworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTCB4bWxJbml0R2xvYmFscyh2b2lkKTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwgeG1sQ2xlYW51cEdsb2JhbHModm9pZCk7CisKKy8qKgorICogeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmM6CisgKiBAVVJJOiB0aGUgVVJJIHRvIHJlYWQgZnJvbQorICogQGVuYzogdGhlIHJlcXVlc3RlZCBzb3VyY2UgZW5jb2RpbmcKKyAqCisgKiBTaWduYXR1cmUgZm9yIHRoZSBmdW5jdGlvbiBkb2luZyB0aGUgbG9va3VwIGZvciBhIHN1aXRhYmxlIGlucHV0IG1ldGhvZAorICogY29ycmVzcG9uZGluZyB0byBhbiBVUkkuCisgKgorICogUmV0dXJucyB0aGUgbmV3IHhtbFBhcnNlcklucHV0QnVmZmVyUHRyIGluIGNhc2Ugb2Ygc3VjY2VzcyBvciBOVUxMIGlmIG5vCisgKiAgICAgICAgIG1ldGhvZCB3YXMgZm91bmQuCisgKi8KK3R5cGVkZWYgeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIgKCp4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYykgKGNvbnN0IGNoYXIgKlVSSSwKKwkJCQkJCQkJCSAgIHhtbENoYXJFbmNvZGluZyBlbmMpOworCisKKy8qKgorICogeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jOgorICogQFVSSTogdGhlIFVSSSB0byB3cml0ZSB0bworICogQGVuYzogdGhlIHJlcXVlc3RlZCB0YXJnZXQgZW5jb2RpbmcKKyAqCisgKiBTaWduYXR1cmUgZm9yIHRoZSBmdW5jdGlvbiBkb2luZyB0aGUgbG9va3VwIGZvciBhIHN1aXRhYmxlIG91dHB1dCBtZXRob2QKKyAqIGNvcnJlc3BvbmRpbmcgdG8gYW4gVVJJLgorICoKKyAqIFJldHVybnMgdGhlIG5ldyB4bWxPdXRwdXRCdWZmZXJQdHIgaW4gY2FzZSBvZiBzdWNjZXNzIG9yIE5VTEwgaWYgbm8KKyAqICAgICAgICAgbWV0aG9kIHdhcyBmb3VuZC4KKyAqLwordHlwZWRlZiB4bWxPdXRwdXRCdWZmZXJQdHIgKCp4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmMpIChjb25zdCBjaGFyICpVUkksCisJCQkJCQkJCSB4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyIGVuY29kZXIsCisJCQkJCQkJCSBpbnQgY29tcHJlc3Npb24pOworCitYTUxQVUJGVU4geG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmMKK1hNTENBTEwgeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQgKHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jIGZ1bmMpOworWE1MUFVCRlVOIHhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYworWE1MQ0FMTCB4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQgKHhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYyBmdW5jKTsKKworLyoKKyAqIEV4dGVybmFsbHkgZ2xvYmFsIHN5bWJvbHMgd2hpY2ggbmVlZCB0byBiZSBwcm90ZWN0ZWQgZm9yIGJhY2t3YXJkcworICogY29tcGF0aWJpbGl0eSBzdXBwb3J0LgorICovCisKKyN1bmRlZglkb2NiRGVmYXVsdFNBWEhhbmRsZXIKKyN1bmRlZglodG1sRGVmYXVsdFNBWEhhbmRsZXIKKyN1bmRlZglvbGRYTUxXRGNvbXBhdGliaWxpdHkKKyN1bmRlZgl4bWxCdWZmZXJBbGxvY1NjaGVtZQorI3VuZGVmCXhtbERlZmF1bHRCdWZmZXJTaXplCisjdW5kZWYJeG1sRGVmYXVsdFNBWEhhbmRsZXIKKyN1bmRlZgl4bWxEZWZhdWx0U0FYTG9jYXRvcgorI3VuZGVmCXhtbERvVmFsaWRpdHlDaGVja2luZ0RlZmF1bHRWYWx1ZQorI3VuZGVmCXhtbEZyZWUKKyN1bmRlZgl4bWxHZW5lcmljRXJyb3IKKyN1bmRlZgl4bWxTdHJ1Y3R1cmVkRXJyb3IKKyN1bmRlZgl4bWxHZW5lcmljRXJyb3JDb250ZXh0CisjdW5kZWYJeG1sU3RydWN0dXJlZEVycm9yQ29udGV4dAorI3VuZGVmCXhtbEdldFdhcm5pbmdzRGVmYXVsdFZhbHVlCisjdW5kZWYJeG1sSW5kZW50VHJlZU91dHB1dAorI3VuZGVmICB4bWxUcmVlSW5kZW50U3RyaW5nCisjdW5kZWYJeG1sS2VlcEJsYW5rc0RlZmF1bHRWYWx1ZQorI3VuZGVmCXhtbExpbmVOdW1iZXJzRGVmYXVsdFZhbHVlCisjdW5kZWYJeG1sTG9hZEV4dER0ZERlZmF1bHRWYWx1ZQorI3VuZGVmCXhtbE1hbGxvYworI3VuZGVmCXhtbE1hbGxvY0F0b21pYworI3VuZGVmCXhtbE1lbVN0cmR1cAorI3VuZGVmCXhtbFBhcnNlckRlYnVnRW50aXRpZXMKKyN1bmRlZgl4bWxQYXJzZXJWZXJzaW9uCisjdW5kZWYJeG1sUGVkYW50aWNQYXJzZXJEZWZhdWx0VmFsdWUKKyN1bmRlZgl4bWxSZWFsbG9jCisjdW5kZWYJeG1sU2F2ZU5vRW1wdHlUYWdzCisjdW5kZWYJeG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdFZhbHVlCisjdW5kZWYgIHhtbFJlZ2lzdGVyTm9kZURlZmF1bHRWYWx1ZQorI3VuZGVmICB4bWxEZXJlZ2lzdGVyTm9kZURlZmF1bHRWYWx1ZQorI3VuZGVmICB4bWxMYXN0RXJyb3IKKyN1bmRlZiAgeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZVZhbHVlCisjdW5kZWYgIHhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lVmFsdWUKKworLyoqCisgKiB4bWxSZWdpc3Rlck5vZGVGdW5jOgorICogQG5vZGU6IHRoZSBjdXJyZW50IG5vZGUKKyAqCisgKiBTaWduYXR1cmUgZm9yIHRoZSByZWdpc3RyYXRpb24gY2FsbGJhY2sgb2YgYSBjcmVhdGVkIG5vZGUKKyAqLwordHlwZWRlZiB2b2lkICgqeG1sUmVnaXN0ZXJOb2RlRnVuYykgKHhtbE5vZGVQdHIgbm9kZSk7CisvKioKKyAqIHhtbERlcmVnaXN0ZXJOb2RlRnVuYzoKKyAqIEBub2RlOiB0aGUgY3VycmVudCBub2RlCisgKgorICogU2lnbmF0dXJlIGZvciB0aGUgZGVyZWdpc3RyYXRpb24gY2FsbGJhY2sgb2YgYSBkaXNjYXJkZWQgbm9kZQorICovCit0eXBlZGVmIHZvaWQgKCp4bWxEZXJlZ2lzdGVyTm9kZUZ1bmMpICh4bWxOb2RlUHRyIG5vZGUpOworCit0eXBlZGVmIHN0cnVjdCBfeG1sR2xvYmFsU3RhdGUgeG1sR2xvYmFsU3RhdGU7Cit0eXBlZGVmIHhtbEdsb2JhbFN0YXRlICp4bWxHbG9iYWxTdGF0ZVB0cjsKK3N0cnVjdCBfeG1sR2xvYmFsU3RhdGUKK3sKKwljb25zdCBjaGFyICp4bWxQYXJzZXJWZXJzaW9uOworCisJeG1sU0FYTG9jYXRvciB4bWxEZWZhdWx0U0FYTG9jYXRvcjsKKwl4bWxTQVhIYW5kbGVyVjEgeG1sRGVmYXVsdFNBWEhhbmRsZXI7CisJeG1sU0FYSGFuZGxlclYxIGRvY2JEZWZhdWx0U0FYSGFuZGxlcjsKKwl4bWxTQVhIYW5kbGVyVjEgaHRtbERlZmF1bHRTQVhIYW5kbGVyOworCisJeG1sRnJlZUZ1bmMgeG1sRnJlZTsKKwl4bWxNYWxsb2NGdW5jIHhtbE1hbGxvYzsKKwl4bWxTdHJkdXBGdW5jIHhtbE1lbVN0cmR1cDsKKwl4bWxSZWFsbG9jRnVuYyB4bWxSZWFsbG9jOworCisJeG1sR2VuZXJpY0Vycm9yRnVuYyB4bWxHZW5lcmljRXJyb3I7CisJeG1sU3RydWN0dXJlZEVycm9yRnVuYyB4bWxTdHJ1Y3R1cmVkRXJyb3I7CisJdm9pZCAqeG1sR2VuZXJpY0Vycm9yQ29udGV4dDsKKworCWludCBvbGRYTUxXRGNvbXBhdGliaWxpdHk7CisKKwl4bWxCdWZmZXJBbGxvY2F0aW9uU2NoZW1lIHhtbEJ1ZmZlckFsbG9jU2NoZW1lOworCWludCB4bWxEZWZhdWx0QnVmZmVyU2l6ZTsKKworCWludCB4bWxTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0VmFsdWU7CisJaW50IHhtbERvVmFsaWRpdHlDaGVja2luZ0RlZmF1bHRWYWx1ZTsKKwlpbnQgeG1sR2V0V2FybmluZ3NEZWZhdWx0VmFsdWU7CisJaW50IHhtbEtlZXBCbGFua3NEZWZhdWx0VmFsdWU7CisJaW50IHhtbExpbmVOdW1iZXJzRGVmYXVsdFZhbHVlOworCWludCB4bWxMb2FkRXh0RHRkRGVmYXVsdFZhbHVlOworCWludCB4bWxQYXJzZXJEZWJ1Z0VudGl0aWVzOworCWludCB4bWxQZWRhbnRpY1BhcnNlckRlZmF1bHRWYWx1ZTsKKworCWludCB4bWxTYXZlTm9FbXB0eVRhZ3M7CisJaW50IHhtbEluZGVudFRyZWVPdXRwdXQ7CisJY29uc3QgY2hhciAqeG1sVHJlZUluZGVudFN0cmluZzsKKworCXhtbFJlZ2lzdGVyTm9kZUZ1bmMgeG1sUmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlOworCXhtbERlcmVnaXN0ZXJOb2RlRnVuYyB4bWxEZXJlZ2lzdGVyTm9kZURlZmF1bHRWYWx1ZTsKKworCXhtbE1hbGxvY0Z1bmMgeG1sTWFsbG9jQXRvbWljOworCXhtbEVycm9yIHhtbExhc3RFcnJvcjsKKworCXhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jIHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVWYWx1ZTsKKwl4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmMgeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVWYWx1ZTsKKworCXZvaWQgKnhtbFN0cnVjdHVyZWRFcnJvckNvbnRleHQ7Cit9OworCisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorI2luY2x1ZGUgPGxpYnhtbC90aHJlYWRzLmg+CisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCisKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwJeG1sSW5pdGlhbGl6ZUdsb2JhbFN0YXRlKHhtbEdsb2JhbFN0YXRlUHRyIGdzKTsKKworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTCB4bWxUaHJEZWZTZXRHZW5lcmljRXJyb3JGdW5jKHZvaWQgKmN0eCwgeG1sR2VuZXJpY0Vycm9yRnVuYyBoYW5kbGVyKTsKKworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTCB4bWxUaHJEZWZTZXRTdHJ1Y3R1cmVkRXJyb3JGdW5jKHZvaWQgKmN0eCwgeG1sU3RydWN0dXJlZEVycm9yRnVuYyBoYW5kbGVyKTsKKworWE1MUFVCRlVOIHhtbFJlZ2lzdGVyTm9kZUZ1bmMgWE1MQ0FMTCB4bWxSZWdpc3Rlck5vZGVEZWZhdWx0KHhtbFJlZ2lzdGVyTm9kZUZ1bmMgZnVuYyk7CitYTUxQVUJGVU4geG1sUmVnaXN0ZXJOb2RlRnVuYyBYTUxDQUxMIHhtbFRockRlZlJlZ2lzdGVyTm9kZURlZmF1bHQoeG1sUmVnaXN0ZXJOb2RlRnVuYyBmdW5jKTsKK1hNTFBVQkZVTiB4bWxEZXJlZ2lzdGVyTm9kZUZ1bmMgWE1MQ0FMTCB4bWxEZXJlZ2lzdGVyTm9kZURlZmF1bHQoeG1sRGVyZWdpc3Rlck5vZGVGdW5jIGZ1bmMpOworWE1MUFVCRlVOIHhtbERlcmVnaXN0ZXJOb2RlRnVuYyBYTUxDQUxMIHhtbFRockRlZkRlcmVnaXN0ZXJOb2RlRGVmYXVsdCh4bWxEZXJlZ2lzdGVyTm9kZUZ1bmMgZnVuYyk7CisKK1hNTFBVQkZVTiB4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmMgWE1MQ0FMTAorCXhtbFRockRlZk91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRGVmYXVsdCh4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmMgZnVuYyk7CitYTUxQVUJGVU4geG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmMgWE1MQ0FMTAorCXhtbFRockRlZlBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0KAorCQkJCXhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jIGZ1bmMpOworCisvKiogRE9DX0RJU0FCTEUgKi8KKy8qCisgKiBJbiBnZW5lcmFsIHRoZSBtZW1vcnkgYWxsb2NhdGlvbiBlbnRyeSBwb2ludHMgYXJlIG5vdCBrZXB0CisgKiB0aHJlYWQgc3BlY2lmaWMgYnV0IHRoaXMgY2FuIGJlIG92ZXJyaWRkZW4gYnkgTElCWE1MX1RIUkVBRF9BTExPQ19FTkFCTEVECisgKiAgICAtIHhtbE1hbGxvYworICogICAgLSB4bWxNYWxsb2NBdG9taWMKKyAqICAgIC0geG1sUmVhbGxvYworICogICAgLSB4bWxNZW1TdHJkdXAKKyAqICAgIC0geG1sRnJlZQorICovCisKKyNpZmRlZiBMSUJYTUxfVEhSRUFEX0FMTE9DX0VOQUJMRUQKKyNpZmRlZiBMSUJYTUxfVEhSRUFEX0VOQUJMRUQKK1hNTFBVQkZVTiAgeG1sTWFsbG9jRnVuYyAqIFhNTENBTEwgX194bWxNYWxsb2Modm9pZCk7CisjZGVmaW5lIHhtbE1hbGxvYyBcCisoKihfX3htbE1hbGxvYygpKSkKKyNlbHNlCitYTUxQVUJWQVIgeG1sTWFsbG9jRnVuYyB4bWxNYWxsb2M7CisjZW5kaWYKKworI2lmZGVmIExJQlhNTF9USFJFQURfRU5BQkxFRAorWE1MUFVCRlVOICB4bWxNYWxsb2NGdW5jICogWE1MQ0FMTCBfX3htbE1hbGxvY0F0b21pYyh2b2lkKTsKKyNkZWZpbmUgeG1sTWFsbG9jQXRvbWljIFwKKygqKF9feG1sTWFsbG9jQXRvbWljKCkpKQorI2Vsc2UKK1hNTFBVQlZBUiB4bWxNYWxsb2NGdW5jIHhtbE1hbGxvY0F0b21pYzsKKyNlbmRpZgorCisjaWZkZWYgTElCWE1MX1RIUkVBRF9FTkFCTEVECitYTUxQVUJGVU4gIHhtbFJlYWxsb2NGdW5jICogWE1MQ0FMTCBfX3htbFJlYWxsb2Modm9pZCk7CisjZGVmaW5lIHhtbFJlYWxsb2MgXAorKCooX194bWxSZWFsbG9jKCkpKQorI2Vsc2UKK1hNTFBVQlZBUiB4bWxSZWFsbG9jRnVuYyB4bWxSZWFsbG9jOworI2VuZGlmCisKKyNpZmRlZiBMSUJYTUxfVEhSRUFEX0VOQUJMRUQKK1hNTFBVQkZVTiAgeG1sRnJlZUZ1bmMgKiBYTUxDQUxMIF9feG1sRnJlZSh2b2lkKTsKKyNkZWZpbmUgeG1sRnJlZSBcCisoKihfX3htbEZyZWUoKSkpCisjZWxzZQorWE1MUFVCVkFSIHhtbEZyZWVGdW5jIHhtbEZyZWU7CisjZW5kaWYKKworI2lmZGVmIExJQlhNTF9USFJFQURfRU5BQkxFRAorWE1MUFVCRlVOICB4bWxTdHJkdXBGdW5jICogWE1MQ0FMTCBfX3htbE1lbVN0cmR1cCh2b2lkKTsKKyNkZWZpbmUgeG1sTWVtU3RyZHVwIFwKKygqKF9feG1sTWVtU3RyZHVwKCkpKQorI2Vsc2UKK1hNTFBVQlZBUiB4bWxTdHJkdXBGdW5jIHhtbE1lbVN0cmR1cDsKKyNlbmRpZgorCisjZWxzZSAvKiAhTElCWE1MX1RIUkVBRF9BTExPQ19FTkFCTEVEICovCitYTUxQVUJWQVIgeG1sTWFsbG9jRnVuYyB4bWxNYWxsb2M7CitYTUxQVUJWQVIgeG1sTWFsbG9jRnVuYyB4bWxNYWxsb2NBdG9taWM7CitYTUxQVUJWQVIgeG1sUmVhbGxvY0Z1bmMgeG1sUmVhbGxvYzsKK1hNTFBVQlZBUiB4bWxGcmVlRnVuYyB4bWxGcmVlOworWE1MUFVCVkFSIHhtbFN0cmR1cEZ1bmMgeG1sTWVtU3RyZHVwOworI2VuZGlmIC8qIExJQlhNTF9USFJFQURfQUxMT0NfRU5BQkxFRCAqLworCisjaWZkZWYgTElCWE1MX0RPQ0JfRU5BQkxFRAorWE1MUFVCRlVOICB4bWxTQVhIYW5kbGVyVjEgKiBYTUxDQUxMIF9fZG9jYkRlZmF1bHRTQVhIYW5kbGVyKHZvaWQpOworI2lmZGVmIExJQlhNTF9USFJFQURfRU5BQkxFRAorI2RlZmluZSBkb2NiRGVmYXVsdFNBWEhhbmRsZXIgXAorKCooX19kb2NiRGVmYXVsdFNBWEhhbmRsZXIoKSkpCisjZWxzZQorWE1MUFVCVkFSIHhtbFNBWEhhbmRsZXJWMSBkb2NiRGVmYXVsdFNBWEhhbmRsZXI7CisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgTElCWE1MX0hUTUxfRU5BQkxFRAorWE1MUFVCRlVOIHhtbFNBWEhhbmRsZXJWMSAqIFhNTENBTEwgX19odG1sRGVmYXVsdFNBWEhhbmRsZXIodm9pZCk7CisjaWZkZWYgTElCWE1MX1RIUkVBRF9FTkFCTEVECisjZGVmaW5lIGh0bWxEZWZhdWx0U0FYSGFuZGxlciBcCisoKihfX2h0bWxEZWZhdWx0U0FYSGFuZGxlcigpKSkKKyNlbHNlCitYTUxQVUJWQVIgeG1sU0FYSGFuZGxlclYxIGh0bWxEZWZhdWx0U0FYSGFuZGxlcjsKKyNlbmRpZgorI2VuZGlmCisKK1hNTFBVQkZVTiB4bWxFcnJvciAqIFhNTENBTEwgX194bWxMYXN0RXJyb3Iodm9pZCk7CisjaWZkZWYgTElCWE1MX1RIUkVBRF9FTkFCTEVECisjZGVmaW5lIHhtbExhc3RFcnJvciBcCisoKihfX3htbExhc3RFcnJvcigpKSkKKyNlbHNlCitYTUxQVUJWQVIgeG1sRXJyb3IgeG1sTGFzdEVycm9yOworI2VuZGlmCisKKy8qCisgKiBFdmVyeXRoaW5nIHN0YXJ0aW5nIGZyb20gdGhlIGxpbmUgYmVsb3cgaXMKKyAqIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IGJ1aWxkX2dsb2IucHkuCisgKiBEbyBub3QgbW9kaWZ5IHRoZSBwcmV2aW91cyBsaW5lLgorICovCisKKworWE1MUFVCRlVOIGludCAqIFhNTENBTEwgX19vbGRYTUxXRGNvbXBhdGliaWxpdHkodm9pZCk7CisjaWZkZWYgTElCWE1MX1RIUkVBRF9FTkFCTEVECisjZGVmaW5lIG9sZFhNTFdEY29tcGF0aWJpbGl0eSBcCisoKihfX29sZFhNTFdEY29tcGF0aWJpbGl0eSgpKSkKKyNlbHNlCitYTUxQVUJWQVIgaW50IG9sZFhNTFdEY29tcGF0aWJpbGl0eTsKKyNlbmRpZgorCitYTUxQVUJGVU4geG1sQnVmZmVyQWxsb2NhdGlvblNjaGVtZSAqIFhNTENBTEwgX194bWxCdWZmZXJBbGxvY1NjaGVtZSh2b2lkKTsKKyNpZmRlZiBMSUJYTUxfVEhSRUFEX0VOQUJMRUQKKyNkZWZpbmUgeG1sQnVmZmVyQWxsb2NTY2hlbWUgXAorKCooX194bWxCdWZmZXJBbGxvY1NjaGVtZSgpKSkKKyNlbHNlCitYTUxQVUJWQVIgeG1sQnVmZmVyQWxsb2NhdGlvblNjaGVtZSB4bWxCdWZmZXJBbGxvY1NjaGVtZTsKKyNlbmRpZgorWE1MUFVCRlVOIHhtbEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUgWE1MQ0FMTAorCXhtbFRockRlZkJ1ZmZlckFsbG9jU2NoZW1lKHhtbEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUgdik7CisKK1hNTFBVQkZVTiBpbnQgKiBYTUxDQUxMIF9feG1sRGVmYXVsdEJ1ZmZlclNpemUodm9pZCk7CisjaWZkZWYgTElCWE1MX1RIUkVBRF9FTkFCTEVECisjZGVmaW5lIHhtbERlZmF1bHRCdWZmZXJTaXplIFwKKygqKF9feG1sRGVmYXVsdEJ1ZmZlclNpemUoKSkpCisjZWxzZQorWE1MUFVCVkFSIGludCB4bWxEZWZhdWx0QnVmZmVyU2l6ZTsKKyNlbmRpZgorWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFRockRlZkRlZmF1bHRCdWZmZXJTaXplKGludCB2KTsKKworWE1MUFVCRlVOIHhtbFNBWEhhbmRsZXJWMSAqIFhNTENBTEwgX194bWxEZWZhdWx0U0FYSGFuZGxlcih2b2lkKTsKKyNpZmRlZiBMSUJYTUxfVEhSRUFEX0VOQUJMRUQKKyNkZWZpbmUgeG1sRGVmYXVsdFNBWEhhbmRsZXIgXAorKCooX194bWxEZWZhdWx0U0FYSGFuZGxlcigpKSkKKyNlbHNlCitYTUxQVUJWQVIgeG1sU0FYSGFuZGxlclYxIHhtbERlZmF1bHRTQVhIYW5kbGVyOworI2VuZGlmCisKK1hNTFBVQkZVTiB4bWxTQVhMb2NhdG9yICogWE1MQ0FMTCBfX3htbERlZmF1bHRTQVhMb2NhdG9yKHZvaWQpOworI2lmZGVmIExJQlhNTF9USFJFQURfRU5BQkxFRAorI2RlZmluZSB4bWxEZWZhdWx0U0FYTG9jYXRvciBcCisoKihfX3htbERlZmF1bHRTQVhMb2NhdG9yKCkpKQorI2Vsc2UKK1hNTFBVQlZBUiB4bWxTQVhMb2NhdG9yIHhtbERlZmF1bHRTQVhMb2NhdG9yOworI2VuZGlmCisKK1hNTFBVQkZVTiBpbnQgKiBYTUxDQUxMIF9feG1sRG9WYWxpZGl0eUNoZWNraW5nRGVmYXVsdFZhbHVlKHZvaWQpOworI2lmZGVmIExJQlhNTF9USFJFQURfRU5BQkxFRAorI2RlZmluZSB4bWxEb1ZhbGlkaXR5Q2hlY2tpbmdEZWZhdWx0VmFsdWUgXAorKCooX194bWxEb1ZhbGlkaXR5Q2hlY2tpbmdEZWZhdWx0VmFsdWUoKSkpCisjZWxzZQorWE1MUFVCVkFSIGludCB4bWxEb1ZhbGlkaXR5Q2hlY2tpbmdEZWZhdWx0VmFsdWU7CisjZW5kaWYKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxUaHJEZWZEb1ZhbGlkaXR5Q2hlY2tpbmdEZWZhdWx0VmFsdWUoaW50IHYpOworCitYTUxQVUJGVU4geG1sR2VuZXJpY0Vycm9yRnVuYyAqIFhNTENBTEwgX194bWxHZW5lcmljRXJyb3Iodm9pZCk7CisjaWZkZWYgTElCWE1MX1RIUkVBRF9FTkFCTEVECisjZGVmaW5lIHhtbEdlbmVyaWNFcnJvciBcCisoKihfX3htbEdlbmVyaWNFcnJvcigpKSkKKyNlbHNlCitYTUxQVUJWQVIgeG1sR2VuZXJpY0Vycm9yRnVuYyB4bWxHZW5lcmljRXJyb3I7CisjZW5kaWYKKworWE1MUFVCRlVOIHhtbFN0cnVjdHVyZWRFcnJvckZ1bmMgKiBYTUxDQUxMIF9feG1sU3RydWN0dXJlZEVycm9yKHZvaWQpOworI2lmZGVmIExJQlhNTF9USFJFQURfRU5BQkxFRAorI2RlZmluZSB4bWxTdHJ1Y3R1cmVkRXJyb3IgXAorKCooX194bWxTdHJ1Y3R1cmVkRXJyb3IoKSkpCisjZWxzZQorWE1MUFVCVkFSIHhtbFN0cnVjdHVyZWRFcnJvckZ1bmMgeG1sU3RydWN0dXJlZEVycm9yOworI2VuZGlmCisKK1hNTFBVQkZVTiB2b2lkICogKiBYTUxDQUxMIF9feG1sR2VuZXJpY0Vycm9yQ29udGV4dCh2b2lkKTsKKyNpZmRlZiBMSUJYTUxfVEhSRUFEX0VOQUJMRUQKKyNkZWZpbmUgeG1sR2VuZXJpY0Vycm9yQ29udGV4dCBcCisoKihfX3htbEdlbmVyaWNFcnJvckNvbnRleHQoKSkpCisjZWxzZQorWE1MUFVCVkFSIHZvaWQgKiB4bWxHZW5lcmljRXJyb3JDb250ZXh0OworI2VuZGlmCisKK1hNTFBVQkZVTiB2b2lkICogKiBYTUxDQUxMIF9feG1sU3RydWN0dXJlZEVycm9yQ29udGV4dCh2b2lkKTsKKyNpZmRlZiBMSUJYTUxfVEhSRUFEX0VOQUJMRUQKKyNkZWZpbmUgeG1sU3RydWN0dXJlZEVycm9yQ29udGV4dCBcCisoKihfX3htbFN0cnVjdHVyZWRFcnJvckNvbnRleHQoKSkpCisjZWxzZQorWE1MUFVCVkFSIHZvaWQgKiB4bWxTdHJ1Y3R1cmVkRXJyb3JDb250ZXh0OworI2VuZGlmCisKK1hNTFBVQkZVTiBpbnQgKiBYTUxDQUxMIF9feG1sR2V0V2FybmluZ3NEZWZhdWx0VmFsdWUodm9pZCk7CisjaWZkZWYgTElCWE1MX1RIUkVBRF9FTkFCTEVECisjZGVmaW5lIHhtbEdldFdhcm5pbmdzRGVmYXVsdFZhbHVlIFwKKygqKF9feG1sR2V0V2FybmluZ3NEZWZhdWx0VmFsdWUoKSkpCisjZWxzZQorWE1MUFVCVkFSIGludCB4bWxHZXRXYXJuaW5nc0RlZmF1bHRWYWx1ZTsKKyNlbmRpZgorWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFRockRlZkdldFdhcm5pbmdzRGVmYXVsdFZhbHVlKGludCB2KTsKKworWE1MUFVCRlVOIGludCAqIFhNTENBTEwgX194bWxJbmRlbnRUcmVlT3V0cHV0KHZvaWQpOworI2lmZGVmIExJQlhNTF9USFJFQURfRU5BQkxFRAorI2RlZmluZSB4bWxJbmRlbnRUcmVlT3V0cHV0IFwKKygqKF9feG1sSW5kZW50VHJlZU91dHB1dCgpKSkKKyNlbHNlCitYTUxQVUJWQVIgaW50IHhtbEluZGVudFRyZWVPdXRwdXQ7CisjZW5kaWYKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxUaHJEZWZJbmRlbnRUcmVlT3V0cHV0KGludCB2KTsKKworWE1MUFVCRlVOIGNvbnN0IGNoYXIgKiAqIFhNTENBTEwgX194bWxUcmVlSW5kZW50U3RyaW5nKHZvaWQpOworI2lmZGVmIExJQlhNTF9USFJFQURfRU5BQkxFRAorI2RlZmluZSB4bWxUcmVlSW5kZW50U3RyaW5nIFwKKygqKF9feG1sVHJlZUluZGVudFN0cmluZygpKSkKKyNlbHNlCitYTUxQVUJWQVIgY29uc3QgY2hhciAqIHhtbFRyZWVJbmRlbnRTdHJpbmc7CisjZW5kaWYKK1hNTFBVQkZVTiBjb25zdCBjaGFyICogWE1MQ0FMTCB4bWxUaHJEZWZUcmVlSW5kZW50U3RyaW5nKGNvbnN0IGNoYXIgKiB2KTsKKworWE1MUFVCRlVOIGludCAqIFhNTENBTEwgX194bWxLZWVwQmxhbmtzRGVmYXVsdFZhbHVlKHZvaWQpOworI2lmZGVmIExJQlhNTF9USFJFQURfRU5BQkxFRAorI2RlZmluZSB4bWxLZWVwQmxhbmtzRGVmYXVsdFZhbHVlIFwKKygqKF9feG1sS2VlcEJsYW5rc0RlZmF1bHRWYWx1ZSgpKSkKKyNlbHNlCitYTUxQVUJWQVIgaW50IHhtbEtlZXBCbGFua3NEZWZhdWx0VmFsdWU7CisjZW5kaWYKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxUaHJEZWZLZWVwQmxhbmtzRGVmYXVsdFZhbHVlKGludCB2KTsKKworWE1MUFVCRlVOIGludCAqIFhNTENBTEwgX194bWxMaW5lTnVtYmVyc0RlZmF1bHRWYWx1ZSh2b2lkKTsKKyNpZmRlZiBMSUJYTUxfVEhSRUFEX0VOQUJMRUQKKyNkZWZpbmUgeG1sTGluZU51bWJlcnNEZWZhdWx0VmFsdWUgXAorKCooX194bWxMaW5lTnVtYmVyc0RlZmF1bHRWYWx1ZSgpKSkKKyNlbHNlCitYTUxQVUJWQVIgaW50IHhtbExpbmVOdW1iZXJzRGVmYXVsdFZhbHVlOworI2VuZGlmCitYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVGhyRGVmTGluZU51bWJlcnNEZWZhdWx0VmFsdWUoaW50IHYpOworCitYTUxQVUJGVU4gaW50ICogWE1MQ0FMTCBfX3htbExvYWRFeHREdGREZWZhdWx0VmFsdWUodm9pZCk7CisjaWZkZWYgTElCWE1MX1RIUkVBRF9FTkFCTEVECisjZGVmaW5lIHhtbExvYWRFeHREdGREZWZhdWx0VmFsdWUgXAorKCooX194bWxMb2FkRXh0RHRkRGVmYXVsdFZhbHVlKCkpKQorI2Vsc2UKK1hNTFBVQlZBUiBpbnQgeG1sTG9hZEV4dER0ZERlZmF1bHRWYWx1ZTsKKyNlbmRpZgorWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFRockRlZkxvYWRFeHREdGREZWZhdWx0VmFsdWUoaW50IHYpOworCitYTUxQVUJGVU4gaW50ICogWE1MQ0FMTCBfX3htbFBhcnNlckRlYnVnRW50aXRpZXModm9pZCk7CisjaWZkZWYgTElCWE1MX1RIUkVBRF9FTkFCTEVECisjZGVmaW5lIHhtbFBhcnNlckRlYnVnRW50aXRpZXMgXAorKCooX194bWxQYXJzZXJEZWJ1Z0VudGl0aWVzKCkpKQorI2Vsc2UKK1hNTFBVQlZBUiBpbnQgeG1sUGFyc2VyRGVidWdFbnRpdGllczsKKyNlbmRpZgorWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFRockRlZlBhcnNlckRlYnVnRW50aXRpZXMoaW50IHYpOworCitYTUxQVUJGVU4gY29uc3QgY2hhciAqICogWE1MQ0FMTCBfX3htbFBhcnNlclZlcnNpb24odm9pZCk7CisjaWZkZWYgTElCWE1MX1RIUkVBRF9FTkFCTEVECisjZGVmaW5lIHhtbFBhcnNlclZlcnNpb24gXAorKCooX194bWxQYXJzZXJWZXJzaW9uKCkpKQorI2Vsc2UKK1hNTFBVQlZBUiBjb25zdCBjaGFyICogeG1sUGFyc2VyVmVyc2lvbjsKKyNlbmRpZgorCitYTUxQVUJGVU4gaW50ICogWE1MQ0FMTCBfX3htbFBlZGFudGljUGFyc2VyRGVmYXVsdFZhbHVlKHZvaWQpOworI2lmZGVmIExJQlhNTF9USFJFQURfRU5BQkxFRAorI2RlZmluZSB4bWxQZWRhbnRpY1BhcnNlckRlZmF1bHRWYWx1ZSBcCisoKihfX3htbFBlZGFudGljUGFyc2VyRGVmYXVsdFZhbHVlKCkpKQorI2Vsc2UKK1hNTFBVQlZBUiBpbnQgeG1sUGVkYW50aWNQYXJzZXJEZWZhdWx0VmFsdWU7CisjZW5kaWYKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxUaHJEZWZQZWRhbnRpY1BhcnNlckRlZmF1bHRWYWx1ZShpbnQgdik7CisKK1hNTFBVQkZVTiBpbnQgKiBYTUxDQUxMIF9feG1sU2F2ZU5vRW1wdHlUYWdzKHZvaWQpOworI2lmZGVmIExJQlhNTF9USFJFQURfRU5BQkxFRAorI2RlZmluZSB4bWxTYXZlTm9FbXB0eVRhZ3MgXAorKCooX194bWxTYXZlTm9FbXB0eVRhZ3MoKSkpCisjZWxzZQorWE1MUFVCVkFSIGludCB4bWxTYXZlTm9FbXB0eVRhZ3M7CisjZW5kaWYKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxUaHJEZWZTYXZlTm9FbXB0eVRhZ3MoaW50IHYpOworCitYTUxQVUJGVU4gaW50ICogWE1MQ0FMTCBfX3htbFN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHRWYWx1ZSh2b2lkKTsKKyNpZmRlZiBMSUJYTUxfVEhSRUFEX0VOQUJMRUQKKyNkZWZpbmUgeG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdFZhbHVlIFwKKygqKF9feG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdFZhbHVlKCkpKQorI2Vsc2UKK1hNTFBVQlZBUiBpbnQgeG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdFZhbHVlOworI2VuZGlmCitYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVGhyRGVmU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdFZhbHVlKGludCB2KTsKKworWE1MUFVCRlVOIHhtbFJlZ2lzdGVyTm9kZUZ1bmMgKiBYTUxDQUxMIF9feG1sUmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlKHZvaWQpOworI2lmZGVmIExJQlhNTF9USFJFQURfRU5BQkxFRAorI2RlZmluZSB4bWxSZWdpc3Rlck5vZGVEZWZhdWx0VmFsdWUgXAorKCooX194bWxSZWdpc3Rlck5vZGVEZWZhdWx0VmFsdWUoKSkpCisjZWxzZQorWE1MUFVCVkFSIHhtbFJlZ2lzdGVyTm9kZUZ1bmMgeG1sUmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlOworI2VuZGlmCisKK1hNTFBVQkZVTiB4bWxEZXJlZ2lzdGVyTm9kZUZ1bmMgKiBYTUxDQUxMIF9feG1sRGVyZWdpc3Rlck5vZGVEZWZhdWx0VmFsdWUodm9pZCk7CisjaWZkZWYgTElCWE1MX1RIUkVBRF9FTkFCTEVECisjZGVmaW5lIHhtbERlcmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlIFwKKygqKF9feG1sRGVyZWdpc3Rlck5vZGVEZWZhdWx0VmFsdWUoKSkpCisjZWxzZQorWE1MUFVCVkFSIHhtbERlcmVnaXN0ZXJOb2RlRnVuYyB4bWxEZXJlZ2lzdGVyTm9kZURlZmF1bHRWYWx1ZTsKKyNlbmRpZgorCitYTUxQVUJGVU4geG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmMgKiBYTUxDQUxMIFwKKwkJCQlfX3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVWYWx1ZSh2b2lkKTsKKyNpZmRlZiBMSUJYTUxfVEhSRUFEX0VOQUJMRUQKKyNkZWZpbmUgeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZVZhbHVlIFwKKygqKF9feG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZVZhbHVlKCkpKQorI2Vsc2UKK1hNTFBVQlZBUiB4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYyB4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lVmFsdWU7CisjZW5kaWYKKworWE1MUFVCRlVOIHhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYyAqIFhNTENBTEwgX194bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZVZhbHVlKHZvaWQpOworI2lmZGVmIExJQlhNTF9USFJFQURfRU5BQkxFRAorI2RlZmluZSB4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZVZhbHVlIFwKKygqKF9feG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVWYWx1ZSgpKSkKKyNlbHNlCitYTUxQVUJWQVIgeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jIHhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lVmFsdWU7CisjZW5kaWYKKworI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKworI2VuZGlmIC8qIF9fWE1MX0dMT0JBTFNfSCAqLwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9pbmNsdWRlL2xpYnhtbC9oYXNoLmggYi9saWJ4bWwyL2luY2x1ZGUvbGlieG1sL2hhc2guaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYzhhYjdlCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9pbmNsdWRlL2xpYnhtbC9oYXNoLmgKQEAgLTAsMCArMSwyMzMgQEAKKy8qCisgKiBTdW1tYXJ5OiBDaGFpbmVkIGhhc2ggdGFibGVzCisgKiBEZXNjcmlwdGlvbjogVGhpcyBtb2R1bGUgaW1wbGVtZW50cyB0aGUgaGFzaCB0YWJsZSBzdXBwb3J0IHVzZWQgaW4KKyAqCQl2YXJpb3VzIHBsYWNlcyBpbiB0aGUgbGlicmFyeS4KKyAqCisgKiBDb3B5OiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisgKgorICogQXV0aG9yOiBCam9ybiBSZWVzZSA8Ympvcm4ucmVlc2VAc3lzdGVtYXRpYy5kaz4KKyAqLworCisjaWZuZGVmIF9fWE1MX0hBU0hfSF9fCisjZGVmaW5lIF9fWE1MX0hBU0hfSF9fCisKKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7CisjZW5kaWYKKworLyoKKyAqIFRoZSBoYXNoIHRhYmxlLgorICovCit0eXBlZGVmIHN0cnVjdCBfeG1sSGFzaFRhYmxlIHhtbEhhc2hUYWJsZTsKK3R5cGVkZWYgeG1sSGFzaFRhYmxlICp4bWxIYXNoVGFibGVQdHI7CisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCisKKyNpbmNsdWRlIDxsaWJ4bWwveG1sdmVyc2lvbi5oPgorI2luY2x1ZGUgPGxpYnhtbC9wYXJzZXIuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvZGljdC5oPgorCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCisKKy8qCisgKiBSZWNlbnQgdmVyc2lvbiBvZiBnY2MgcHJvZHVjZSBhIHdhcm5pbmcgd2hlbiBhIGZ1bmN0aW9uIHBvaW50ZXIgaXMgYXNzaWduZWQKKyAqIHRvIGFuIG9iamVjdCBwb2ludGVyLCBvciB2aWNlIHZlcnNhLiAgVGhlIGZvbGxvd2luZyBtYWNybyBpcyBhIGRpcnR5IGhhY2sKKyAqIHRvIGFsbG93IHN1cHByZXNzaW9uIG9mIHRoZSB3YXJuaW5nLiAgSWYgeW91ciBhcmNoaXRlY3R1cmUgaGFzIGZ1bmN0aW9uCisgKiBwb2ludGVycyB3aGljaCBhcmUgYSBkaWZmZXJlbnQgc2l6ZSB0aGFuIGEgdm9pZCBwb2ludGVyLCB0aGVyZSBtYXkgYmUgc29tZQorICogc2VyaW91cyB0cm91YmxlIHdpdGhpbiB0aGUgbGlicmFyeS4KKyAqLworLyoqCisgKiBYTUxfQ0FTVF9GUFRSOgorICogQGZwdHI6ICBwb2ludGVyIHRvIGEgZnVuY3Rpb24KKyAqCisgKiBNYWNybyB0byBkbyBhIGNhc3RpbmcgZnJvbSBhbiBvYmplY3QgcG9pbnRlciB0byBhCisgKiBmdW5jdGlvbiBwb2ludGVyIHdpdGhvdXQgZW5jb3VudGVyaW5nIGEgd2FybmluZyBmcm9tCisgKiBnY2MKKyAqCisgKiAjZGVmaW5lIFhNTF9DQVNUX0ZQVFIoZnB0cikgKCoodm9pZCAqKikoJmZwdHIpKQorICogVGhpcyBtYWNybyB2aW9sYXRlZCBJU08gQyBhbGlhc2luZyBydWxlcyAoZ2NjNCBvbiBzMzkwIGJyb2tlKQorICogc28gaXQgaXMgZGlzYWJsZWQgbm93CisgKi8KKworI2RlZmluZSBYTUxfQ0FTVF9GUFRSKGZwdHIpIGZwdHIKKworCisvKgorICogZnVuY3Rpb24gdHlwZXM6CisgKi8KKy8qKgorICogeG1sSGFzaERlYWxsb2NhdG9yOgorICogQHBheWxvYWQ6ICB0aGUgZGF0YSBpbiB0aGUgaGFzaAorICogQG5hbWU6ICB0aGUgbmFtZSBhc3NvY2lhdGVkCisgKgorICogQ2FsbGJhY2sgdG8gZnJlZSBkYXRhIGZyb20gYSBoYXNoLgorICovCit0eXBlZGVmIHZvaWQgKCp4bWxIYXNoRGVhbGxvY2F0b3IpKHZvaWQgKnBheWxvYWQsIHhtbENoYXIgKm5hbWUpOworLyoqCisgKiB4bWxIYXNoQ29waWVyOgorICogQHBheWxvYWQ6ICB0aGUgZGF0YSBpbiB0aGUgaGFzaAorICogQG5hbWU6ICB0aGUgbmFtZSBhc3NvY2lhdGVkCisgKgorICogQ2FsbGJhY2sgdG8gY29weSBkYXRhIGZyb20gYSBoYXNoLgorICoKKyAqIFJldHVybnMgYSBjb3B5IG9mIHRoZSBkYXRhIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci4KKyAqLwordHlwZWRlZiB2b2lkICooKnhtbEhhc2hDb3BpZXIpKHZvaWQgKnBheWxvYWQsIHhtbENoYXIgKm5hbWUpOworLyoqCisgKiB4bWxIYXNoU2Nhbm5lcjoKKyAqIEBwYXlsb2FkOiAgdGhlIGRhdGEgaW4gdGhlIGhhc2gKKyAqIEBkYXRhOiAgZXh0cmEgc2Nhbm5uZXIgZGF0YQorICogQG5hbWU6ICB0aGUgbmFtZSBhc3NvY2lhdGVkCisgKgorICogQ2FsbGJhY2sgd2hlbiBzY2FubmluZyBkYXRhIGluIGEgaGFzaCB3aXRoIHRoZSBzaW1wbGUgc2Nhbm5lci4KKyAqLwordHlwZWRlZiB2b2lkICgqeG1sSGFzaFNjYW5uZXIpKHZvaWQgKnBheWxvYWQsIHZvaWQgKmRhdGEsIHhtbENoYXIgKm5hbWUpOworLyoqCisgKiB4bWxIYXNoU2Nhbm5lckZ1bGw6CisgKiBAcGF5bG9hZDogIHRoZSBkYXRhIGluIHRoZSBoYXNoCisgKiBAZGF0YTogIGV4dHJhIHNjYW5ubmVyIGRhdGEKKyAqIEBuYW1lOiAgdGhlIG5hbWUgYXNzb2NpYXRlZAorICogQG5hbWUyOiAgdGhlIHNlY29uZCBuYW1lIGFzc29jaWF0ZWQKKyAqIEBuYW1lMzogIHRoZSB0aGlyZCBuYW1lIGFzc29jaWF0ZWQKKyAqCisgKiBDYWxsYmFjayB3aGVuIHNjYW5uaW5nIGRhdGEgaW4gYSBoYXNoIHdpdGggdGhlIGZ1bGwgc2Nhbm5lci4KKyAqLwordHlwZWRlZiB2b2lkICgqeG1sSGFzaFNjYW5uZXJGdWxsKSh2b2lkICpwYXlsb2FkLCB2b2lkICpkYXRhLAorCQkJCSAgIGNvbnN0IHhtbENoYXIgKm5hbWUsIGNvbnN0IHhtbENoYXIgKm5hbWUyLAorCQkJCSAgIGNvbnN0IHhtbENoYXIgKm5hbWUzKTsKKworLyoKKyAqIENvbnN0cnVjdG9yIGFuZCBkZXN0cnVjdG9yLgorICovCitYTUxQVUJGVU4geG1sSGFzaFRhYmxlUHRyIFhNTENBTEwKKwkJCXhtbEhhc2hDcmVhdGUJKGludCBzaXplKTsKK1hNTFBVQkZVTiB4bWxIYXNoVGFibGVQdHIgWE1MQ0FMTAorCQkJeG1sSGFzaENyZWF0ZURpY3QoaW50IHNpemUsCisJCQkJCSB4bWxEaWN0UHRyIGRpY3QpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQkJeG1sSGFzaEZyZWUJKHhtbEhhc2hUYWJsZVB0ciB0YWJsZSwKKwkJCQkJIHhtbEhhc2hEZWFsbG9jYXRvciBmKTsKKworLyoKKyAqIEFkZCBhIG5ldyBlbnRyeSB0byB0aGUgaGFzaCB0YWJsZS4KKyAqLworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCQl4bWxIYXNoQWRkRW50cnkJKHhtbEhhc2hUYWJsZVB0ciB0YWJsZSwKKwkJICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKm5hbWUsCisJCSAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICp1c2VyZGF0YSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJCXhtbEhhc2hVcGRhdGVFbnRyeSh4bWxIYXNoVGFibGVQdHIgdGFibGUsCisJCSAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICpuYW1lLAorCQkgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqdXNlcmRhdGEsCisJCQkJCSB4bWxIYXNoRGVhbGxvY2F0b3IgZik7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJCXhtbEhhc2hBZGRFbnRyeTIoeG1sSGFzaFRhYmxlUHRyIHRhYmxlLAorCQkgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqbmFtZSwKKwkJICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKm5hbWUyLAorCQkgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqdXNlcmRhdGEpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCQl4bWxIYXNoVXBkYXRlRW50cnkyKHhtbEhhc2hUYWJsZVB0ciB0YWJsZSwKKwkJICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKm5hbWUsCisJCSAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICpuYW1lMiwKKwkJICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKnVzZXJkYXRhLAorCQkJCQkgeG1sSGFzaERlYWxsb2NhdG9yIGYpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCQl4bWxIYXNoQWRkRW50cnkzKHhtbEhhc2hUYWJsZVB0ciB0YWJsZSwKKwkJICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKm5hbWUsCisJCSAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICpuYW1lMiwKKwkJICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKm5hbWUzLAorCQkgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqdXNlcmRhdGEpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCQl4bWxIYXNoVXBkYXRlRW50cnkzKHhtbEhhc2hUYWJsZVB0ciB0YWJsZSwKKwkJICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKm5hbWUsCisJCSAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICpuYW1lMiwKKwkJICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKm5hbWUzLAorCQkgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqdXNlcmRhdGEsCisJCQkJCSB4bWxIYXNoRGVhbGxvY2F0b3IgZik7CisKKy8qCisgKiBSZW1vdmUgYW4gZW50cnkgZnJvbSB0aGUgaGFzaCB0YWJsZS4KKyAqLworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCQl4bWxIYXNoUmVtb3ZlRW50cnkoeG1sSGFzaFRhYmxlUHRyIHRhYmxlLCBjb25zdCB4bWxDaGFyICpuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sSGFzaERlYWxsb2NhdG9yIGYpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCQl4bWxIYXNoUmVtb3ZlRW50cnkyKHhtbEhhc2hUYWJsZVB0ciB0YWJsZSwgY29uc3QgeG1sQ2hhciAqbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICpuYW1lMiwgeG1sSGFzaERlYWxsb2NhdG9yIGYpOworWE1MUFVCRlVOIGludCAgWE1MQ0FMTAorCQkJeG1sSGFzaFJlbW92ZUVudHJ5Myh4bWxIYXNoVGFibGVQdHIgdGFibGUsIGNvbnN0IHhtbENoYXIgKm5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqbmFtZTIsIGNvbnN0IHhtbENoYXIgKm5hbWUzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbEhhc2hEZWFsbG9jYXRvciBmKTsKKworLyoKKyAqIFJldHJpZXZlIHRoZSB1c2VyZGF0YS4KKyAqLworWE1MUFVCRlVOIHZvaWQgKiBYTUxDQUxMCisJCQl4bWxIYXNoTG9va3VwCSh4bWxIYXNoVGFibGVQdHIgdGFibGUsCisJCQkJCSBjb25zdCB4bWxDaGFyICpuYW1lKTsKK1hNTFBVQkZVTiB2b2lkICogWE1MQ0FMTAorCQkJeG1sSGFzaExvb2t1cDIJKHhtbEhhc2hUYWJsZVB0ciB0YWJsZSwKKwkJCQkJIGNvbnN0IHhtbENoYXIgKm5hbWUsCisJCQkJCSBjb25zdCB4bWxDaGFyICpuYW1lMik7CitYTUxQVUJGVU4gdm9pZCAqIFhNTENBTEwKKwkJCXhtbEhhc2hMb29rdXAzCSh4bWxIYXNoVGFibGVQdHIgdGFibGUsCisJCQkJCSBjb25zdCB4bWxDaGFyICpuYW1lLAorCQkJCQkgY29uc3QgeG1sQ2hhciAqbmFtZTIsCisJCQkJCSBjb25zdCB4bWxDaGFyICpuYW1lMyk7CitYTUxQVUJGVU4gdm9pZCAqIFhNTENBTEwKKwkJCXhtbEhhc2hRTG9va3VwCSh4bWxIYXNoVGFibGVQdHIgdGFibGUsCisJCQkJCSBjb25zdCB4bWxDaGFyICpuYW1lLAorCQkJCQkgY29uc3QgeG1sQ2hhciAqcHJlZml4KTsKK1hNTFBVQkZVTiB2b2lkICogWE1MQ0FMTAorCQkJeG1sSGFzaFFMb29rdXAyCSh4bWxIYXNoVGFibGVQdHIgdGFibGUsCisJCQkJCSBjb25zdCB4bWxDaGFyICpuYW1lLAorCQkJCQkgY29uc3QgeG1sQ2hhciAqcHJlZml4LAorCQkJCQkgY29uc3QgeG1sQ2hhciAqbmFtZTIsCisJCQkJCSBjb25zdCB4bWxDaGFyICpwcmVmaXgyKTsKK1hNTFBVQkZVTiB2b2lkICogWE1MQ0FMTAorCQkJeG1sSGFzaFFMb29rdXAzCSh4bWxIYXNoVGFibGVQdHIgdGFibGUsCisJCQkJCSBjb25zdCB4bWxDaGFyICpuYW1lLAorCQkJCQkgY29uc3QgeG1sQ2hhciAqcHJlZml4LAorCQkJCQkgY29uc3QgeG1sQ2hhciAqbmFtZTIsCisJCQkJCSBjb25zdCB4bWxDaGFyICpwcmVmaXgyLAorCQkJCQkgY29uc3QgeG1sQ2hhciAqbmFtZTMsCisJCQkJCSBjb25zdCB4bWxDaGFyICpwcmVmaXgzKTsKKworLyoKKyAqIEhlbHBlcnMuCisgKi8KK1hNTFBVQkZVTiB4bWxIYXNoVGFibGVQdHIgWE1MQ0FMTAorCQkJeG1sSGFzaENvcHkJKHhtbEhhc2hUYWJsZVB0ciB0YWJsZSwKKwkJCQkJIHhtbEhhc2hDb3BpZXIgZik7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJCXhtbEhhc2hTaXplCSh4bWxIYXNoVGFibGVQdHIgdGFibGUpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQkJeG1sSGFzaFNjYW4JKHhtbEhhc2hUYWJsZVB0ciB0YWJsZSwKKwkJCQkJIHhtbEhhc2hTY2FubmVyIGYsCisJCQkJCSB2b2lkICpkYXRhKTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJCXhtbEhhc2hTY2FuMwkoeG1sSGFzaFRhYmxlUHRyIHRhYmxlLAorCQkJCQkgY29uc3QgeG1sQ2hhciAqbmFtZSwKKwkJCQkJIGNvbnN0IHhtbENoYXIgKm5hbWUyLAorCQkJCQkgY29uc3QgeG1sQ2hhciAqbmFtZTMsCisJCQkJCSB4bWxIYXNoU2Nhbm5lciBmLAorCQkJCQkgdm9pZCAqZGF0YSk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCQl4bWxIYXNoU2NhbkZ1bGwJKHhtbEhhc2hUYWJsZVB0ciB0YWJsZSwKKwkJCQkJIHhtbEhhc2hTY2FubmVyRnVsbCBmLAorCQkJCQkgdm9pZCAqZGF0YSk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCQl4bWxIYXNoU2NhbkZ1bGwzKHhtbEhhc2hUYWJsZVB0ciB0YWJsZSwKKwkJCQkJIGNvbnN0IHhtbENoYXIgKm5hbWUsCisJCQkJCSBjb25zdCB4bWxDaGFyICpuYW1lMiwKKwkJCQkJIGNvbnN0IHhtbENoYXIgKm5hbWUzLAorCQkJCQkgeG1sSGFzaFNjYW5uZXJGdWxsIGYsCisJCQkJCSB2b2lkICpkYXRhKTsKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCisjZW5kaWYgLyogISBfX1hNTF9IQVNIX0hfXyAqLwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9pbmNsdWRlL2xpYnhtbC9saXN0LmggYi9saWJ4bWwyL2luY2x1ZGUvbGlieG1sL2xpc3QuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNTA0ZTBjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9pbmNsdWRlL2xpYnhtbC9saXN0LmgKQEAgLTAsMCArMSwxMzcgQEAKKy8qCisgKiBTdW1tYXJ5OiBsaXN0cyBpbnRlcmZhY2VzCisgKiBEZXNjcmlwdGlvbjogdGhpcyBtb2R1bGUgaW1wbGVtZW50IHRoZSBsaXN0IHN1cHBvcnQgdXNlZCBpbgorICogdmFyaW91cyBwbGFjZSBpbiB0aGUgbGlicmFyeS4KKyAqCisgKiBDb3B5OiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisgKgorICogQXV0aG9yOiBHYXJ5IFBlbm5pbmd0b24gPEdhcnkuUGVubmluZ3RvbkB1ay5zdW4uY29tPgorICovCisKKyNpZm5kZWYgX19YTUxfTElOS19JTkNMVURFX18KKyNkZWZpbmUgX19YTUxfTElOS19JTkNMVURFX18KKworI2luY2x1ZGUgPGxpYnhtbC94bWx2ZXJzaW9uLmg+CisKKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7CisjZW5kaWYKKwordHlwZWRlZiBzdHJ1Y3QgX3htbExpbmsgeG1sTGluazsKK3R5cGVkZWYgeG1sTGluayAqeG1sTGlua1B0cjsKKwordHlwZWRlZiBzdHJ1Y3QgX3htbExpc3QgeG1sTGlzdDsKK3R5cGVkZWYgeG1sTGlzdCAqeG1sTGlzdFB0cjsKKworLyoqCisgKiB4bWxMaXN0RGVhbGxvY2F0b3I6CisgKiBAbGs6ICB0aGUgZGF0YSB0byBkZWFsbG9jYXRlCisgKgorICogQ2FsbGJhY2sgZnVuY3Rpb24gdXNlZCB0byBmcmVlIGRhdGEgZnJvbSBhIGxpc3QuCisgKi8KK3R5cGVkZWYgdm9pZCAoKnhtbExpc3REZWFsbG9jYXRvcikgKHhtbExpbmtQdHIgbGspOworLyoqCisgKiB4bWxMaXN0RGF0YUNvbXBhcmU6CisgKiBAZGF0YTA6IHRoZSBmaXJzdCBkYXRhCisgKiBAZGF0YTE6IHRoZSBzZWNvbmQgZGF0YQorICoKKyAqIENhbGxiYWNrIGZ1bmN0aW9uIHVzZWQgdG8gY29tcGFyZSAyIGRhdGEuCisgKgorICogUmV0dXJucyAwIGlzIGVxdWFsaXR5LCAtMSBvciAxIG90aGVyd2lzZSBkZXBlbmRpbmcgb24gdGhlIG9yZGVyaW5nLgorICovCit0eXBlZGVmIGludCAgKCp4bWxMaXN0RGF0YUNvbXBhcmUpIChjb25zdCB2b2lkICpkYXRhMCwgY29uc3Qgdm9pZCAqZGF0YTEpOworLyoqCisgKiB4bWxMaXN0V2Fsa2VyOgorICogQGRhdGE6IHRoZSBkYXRhIGZvdW5kIGluIHRoZSBsaXN0CisgKiBAdXNlcjogZXh0cmEgdXNlciBwcm92aWRlZCBkYXRhIHRvIHRoZSB3YWxrZXIKKyAqCisgKiBDYWxsYmFjayBmdW5jdGlvbiB1c2VkIHdoZW4gd2Fsa2luZyBhIGxpc3Qgd2l0aCB4bWxMaXN0V2FsaygpLgorICoKKyAqIFJldHVybnMgMCB0byBzdG9wIHdhbGtpbmcgdGhlIGxpc3QsIDEgb3RoZXJ3aXNlLgorICovCit0eXBlZGVmIGludCAoKnhtbExpc3RXYWxrZXIpIChjb25zdCB2b2lkICpkYXRhLCBjb25zdCB2b2lkICp1c2VyKTsKKworLyogQ3JlYXRpb24vRGVsZXRpb24gKi8KK1hNTFBVQkZVTiB4bWxMaXN0UHRyIFhNTENBTEwKKwkJeG1sTGlzdENyZWF0ZQkJKHhtbExpc3REZWFsbG9jYXRvciBkZWFsbG9jYXRvciwKKwkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxMaXN0RGF0YUNvbXBhcmUgY29tcGFyZSk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCXhtbExpc3REZWxldGUJCSh4bWxMaXN0UHRyIGwpOworCisvKiBCYXNpYyBPcGVyYXRvcnMgKi8KK1hNTFBVQkZVTiB2b2lkICogWE1MQ0FMTAorCQl4bWxMaXN0U2VhcmNoCQkoeG1sTGlzdFB0ciBsLAorCQkJCQkgdm9pZCAqZGF0YSk7CitYTUxQVUJGVU4gdm9pZCAqIFhNTENBTEwKKwkJeG1sTGlzdFJldmVyc2VTZWFyY2gJKHhtbExpc3RQdHIgbCwKKwkJCQkJIHZvaWQgKmRhdGEpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCXhtbExpc3RJbnNlcnQJCSh4bWxMaXN0UHRyIGwsCisJCQkJCSB2b2lkICpkYXRhKSA7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJeG1sTGlzdEFwcGVuZAkJKHhtbExpc3RQdHIgbCwKKwkJCQkJIHZvaWQgKmRhdGEpIDsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl4bWxMaXN0UmVtb3ZlRmlyc3QJKHhtbExpc3RQdHIgbCwKKwkJCQkJIHZvaWQgKmRhdGEpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCXhtbExpc3RSZW1vdmVMYXN0CSh4bWxMaXN0UHRyIGwsCisJCQkJCSB2b2lkICpkYXRhKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl4bWxMaXN0UmVtb3ZlQWxsCSh4bWxMaXN0UHRyIGwsCisJCQkJCSB2b2lkICpkYXRhKTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJeG1sTGlzdENsZWFyCQkoeG1sTGlzdFB0ciBsKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl4bWxMaXN0RW1wdHkJCSh4bWxMaXN0UHRyIGwpOworWE1MUFVCRlVOIHhtbExpbmtQdHIgWE1MQ0FMTAorCQl4bWxMaXN0RnJvbnQJCSh4bWxMaXN0UHRyIGwpOworWE1MUFVCRlVOIHhtbExpbmtQdHIgWE1MQ0FMTAorCQl4bWxMaXN0RW5kCQkoeG1sTGlzdFB0ciBsKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl4bWxMaXN0U2l6ZQkJKHhtbExpc3RQdHIgbCk7CisKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJeG1sTGlzdFBvcEZyb250CQkoeG1sTGlzdFB0ciBsKTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJeG1sTGlzdFBvcEJhY2sJCSh4bWxMaXN0UHRyIGwpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCXhtbExpc3RQdXNoRnJvbnQJKHhtbExpc3RQdHIgbCwKKwkJCQkJIHZvaWQgKmRhdGEpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCXhtbExpc3RQdXNoQmFjawkJKHhtbExpc3RQdHIgbCwKKwkJCQkJIHZvaWQgKmRhdGEpOworCisvKiBBZHZhbmNlZCBPcGVyYXRvcnMgKi8KK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJeG1sTGlzdFJldmVyc2UJCSh4bWxMaXN0UHRyIGwpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQl4bWxMaXN0U29ydAkJKHhtbExpc3RQdHIgbCk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCXhtbExpc3RXYWxrCQkoeG1sTGlzdFB0ciBsLAorCQkJCQkgeG1sTGlzdFdhbGtlciB3YWxrZXIsCisJCQkJCSBjb25zdCB2b2lkICp1c2VyKTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJeG1sTGlzdFJldmVyc2VXYWxrCSh4bWxMaXN0UHRyIGwsCisJCQkJCSB4bWxMaXN0V2Fsa2VyIHdhbGtlciwKKwkJCQkJIGNvbnN0IHZvaWQgKnVzZXIpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQl4bWxMaXN0TWVyZ2UJCSh4bWxMaXN0UHRyIGwxLAorCQkJCQkgeG1sTGlzdFB0ciBsMik7CitYTUxQVUJGVU4geG1sTGlzdFB0ciBYTUxDQUxMCisJCXhtbExpc3REdXAJCShjb25zdCB4bWxMaXN0UHRyIG9sZCk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJeG1sTGlzdENvcHkJCSh4bWxMaXN0UHRyIGN1ciwKKwkJCQkJIGNvbnN0IHhtbExpc3RQdHIgb2xkKTsKKy8qIExpbmsgb3BlcmF0b3JzICovCitYTUxQVUJGVU4gdm9pZCAqIFhNTENBTEwKKwkJeG1sTGlua0dldERhdGEgICAgICAgICAgKHhtbExpbmtQdHIgbGspOworCisvKiB4bWxMaXN0VW5pcXVlKCkgKi8KKy8qIHhtbExpc3RTd2FwICovCisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCisKKyNlbmRpZiAvKiBfX1hNTF9MSU5LX0lOQ0xVREVfXyAqLwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9pbmNsdWRlL2xpYnhtbC9uYW5vZnRwLmggYi9saWJ4bWwyL2luY2x1ZGUvbGlieG1sL25hbm9mdHAuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYmI0YmY3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9pbmNsdWRlL2xpYnhtbC9uYW5vZnRwLmgKQEAgLTAsMCArMSwxNjMgQEAKKy8qCisgKiBTdW1tYXJ5OiBtaW5pbWFsIEZUUCBpbXBsZW1lbnRhdGlvbgorICogRGVzY3JpcHRpb246IG1pbmltYWwgRlRQIGltcGxlbWVudGF0aW9uIGFsbG93aW5nIHRvIGZldGNoIHJlc291cmNlcworICogICAgICAgICAgICAgIGxpa2UgZXh0ZXJuYWwgc3Vic2V0LgorICoKKyAqIENvcHk6IFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyAqCisgKiBBdXRob3I6IERhbmllbCBWZWlsbGFyZAorICovCisKKyNpZm5kZWYgX19OQU5PX0ZUUF9IX18KKyNkZWZpbmUgX19OQU5PX0ZUUF9IX18KKworI2luY2x1ZGUgPGxpYnhtbC94bWx2ZXJzaW9uLmg+CisKKyNpZmRlZiBMSUJYTUxfRlRQX0VOQUJMRUQKKworLyogTmVlZGVkIGZvciBwb3J0YWJpbGl0eSB0byBXaW5kb3dzIDY0IGJpdHMgKi8KKyNpZiBkZWZpbmVkKF9fTUlOR1czMl9fKSB8fCBkZWZpbmVkKF9XSU4zMl9XQ0UpCisjaW5jbHVkZSA8d2luc29jazIuaD4KKyNlbHNlCisvKioKKyAqIFNPQ0tFVDoKKyAqCisgKiBtYWNybyB1c2VkIHRvIHByb3ZpZGUgcG9ydGFiaWxpdHkgb2YgY29kZSB0byB3aW5kb3dzIHNvY2tldHMKKyAqLworI2RlZmluZSBTT0NLRVQgaW50CisvKioKKyAqIElOVkFMSURfU09DS0VUOgorICoKKyAqIG1hY3JvIHVzZWQgdG8gcHJvdmlkZSBwb3J0YWJpbGl0eSBvZiBjb2RlIHRvIHdpbmRvd3Mgc29ja2V0cworICogdGhlIHZhbHVlIHRvIGJlIHVzZWQgd2hlbiB0aGUgc29ja2V0IGlzIG5vdCB2YWxpZAorICovCisjdW5kZWYgIElOVkFMSURfU09DS0VUCisjZGVmaW5lIElOVkFMSURfU09DS0VUICgtMSkKKyNlbmRpZgorCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCisKKy8qKgorICogZnRwTGlzdENhbGxiYWNrOgorICogQHVzZXJEYXRhOiAgdXNlciBwcm92aWRlZCBkYXRhIGZvciB0aGUgY2FsbGJhY2sKKyAqIEBmaWxlbmFtZTogIHRoZSBmaWxlIG5hbWUgKGluY2x1ZGluZyAiLT4iIHdoZW4gbGlua3MgYXJlIHNob3duKQorICogQGF0dHJpYjogIHRoZSBhdHRyaWJ1dGUgc3RyaW5nCisgKiBAb3duZXI6ICB0aGUgb3duZXIgc3RyaW5nCisgKiBAZ3JvdXA6ICB0aGUgZ3JvdXAgc3RyaW5nCisgKiBAc2l6ZTogIHRoZSBmaWxlIHNpemUKKyAqIEBsaW5rczogIHRoZSBsaW5rIGNvdW50CisgKiBAeWVhcjogIHRoZSB5ZWFyCisgKiBAbW9udGg6ICB0aGUgbW9udGgKKyAqIEBkYXk6ICB0aGUgZGF5CisgKiBAaG91cjogIHRoZSBob3VyCisgKiBAbWludXRlOiAgdGhlIG1pbnV0ZQorICoKKyAqIEEgY2FsbGJhY2sgZm9yIHRoZSB4bWxOYW5vRlRQTGlzdCBjb21tYW5kLgorICogTm90ZSB0aGF0IG9ubHkgb25lIG9mIHllYXIgYW5kIGRheTptaW51dGUgYXJlIHNwZWNpZmllZC4KKyAqLwordHlwZWRlZiB2b2lkICgqZnRwTGlzdENhbGxiYWNrKSAodm9pZCAqdXNlckRhdGEsCisJICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBjb25zdCBjaGFyICphdHRyaWIsCisJICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKm93bmVyLCBjb25zdCBjaGFyICpncm91cCwKKwkJCQkgdW5zaWduZWQgbG9uZyBzaXplLCBpbnQgbGlua3MsIGludCB5ZWFyLAorCQkJCSBjb25zdCBjaGFyICptb250aCwgaW50IGRheSwgaW50IGhvdXIsCisJCQkJIGludCBtaW51dGUpOworLyoqCisgKiBmdHBEYXRhQ2FsbGJhY2s6CisgKiBAdXNlckRhdGE6IHRoZSB1c2VyIHByb3ZpZGVkIGNvbnRleHQKKyAqIEBkYXRhOiB0aGUgZGF0YSByZWNlaXZlZAorICogQGxlbjogaXRzIHNpemUgaW4gYnl0ZXMKKyAqCisgKiBBIGNhbGxiYWNrIGZvciB0aGUgeG1sTmFub0ZUUEdldCBjb21tYW5kLgorICovCit0eXBlZGVmIHZvaWQgKCpmdHBEYXRhQ2FsbGJhY2spICh2b2lkICp1c2VyRGF0YSwKKwkJCQkgY29uc3QgY2hhciAqZGF0YSwKKwkJCQkgaW50IGxlbik7CisKKy8qCisgKiBJbml0CisgKi8KK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwl4bWxOYW5vRlRQSW5pdAkJKHZvaWQpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCXhtbE5hbm9GVFBDbGVhbnVwCSh2b2lkKTsKKworLyoKKyAqIENyZWF0aW5nL2ZyZWVpbmcgY29udGV4dHMuCisgKi8KK1hNTFBVQkZVTiB2b2lkICogWE1MQ0FMTAorCXhtbE5hbm9GVFBOZXdDdHh0CShjb25zdCBjaGFyICpVUkwpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCXhtbE5hbm9GVFBGcmVlQ3R4dAkodm9pZCAqIGN0eCk7CitYTUxQVUJGVU4gdm9pZCAqIFhNTENBTEwKKwl4bWxOYW5vRlRQQ29ubmVjdFRvCShjb25zdCBjaGFyICpzZXJ2ZXIsCisJCQkJIGludCBwb3J0KTsKKy8qCisgKiBPcGVuaW5nL2Nsb3Npbmcgc2Vzc2lvbiBjb25uZWN0aW9ucy4KKyAqLworWE1MUFVCRlVOIHZvaWQgKiBYTUxDQUxMCisJeG1sTmFub0ZUUE9wZW4JCShjb25zdCBjaGFyICpVUkwpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJeG1sTmFub0ZUUENvbm5lY3QJKHZvaWQgKmN0eCk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwl4bWxOYW5vRlRQQ2xvc2UJCSh2b2lkICpjdHgpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJeG1sTmFub0ZUUFF1aXQJCSh2b2lkICpjdHgpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCXhtbE5hbm9GVFBTY2FuUHJveHkJKGNvbnN0IGNoYXIgKlVSTCk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJeG1sTmFub0ZUUFByb3h5CQkoY29uc3QgY2hhciAqaG9zdCwKKwkJCQkgaW50IHBvcnQsCisJCQkJIGNvbnN0IGNoYXIgKnVzZXIsCisJCQkJIGNvbnN0IGNoYXIgKnBhc3N3ZCwKKwkJCQkgaW50IHR5cGUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJeG1sTmFub0ZUUFVwZGF0ZVVSTAkodm9pZCAqY3R4LAorCQkJCSBjb25zdCBjaGFyICpVUkwpOworCisvKgorICogUmF0aGVyIGludGVybmFsIGNvbW1hbmRzLgorICovCitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwl4bWxOYW5vRlRQR2V0UmVzcG9uc2UJKHZvaWQgKmN0eCk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwl4bWxOYW5vRlRQQ2hlY2tSZXNwb25zZQkodm9pZCAqY3R4KTsKKworLyoKKyAqIENEL0RJUi9HRVQgaGFuZGxlcnMuCisgKi8KK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCXhtbE5hbm9GVFBDd2QJCSh2b2lkICpjdHgsCisJCQkJIGNvbnN0IGNoYXIgKmRpcmVjdG9yeSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwl4bWxOYW5vRlRQRGVsZQkJKHZvaWQgKmN0eCwKKwkJCQkgY29uc3QgY2hhciAqZmlsZSk7CisKK1hNTFBVQkZVTiBTT0NLRVQgWE1MQ0FMTAorCXhtbE5hbm9GVFBHZXRDb25uZWN0aW9uCSh2b2lkICpjdHgpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJeG1sTmFub0ZUUENsb3NlQ29ubmVjdGlvbih2b2lkICpjdHgpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJeG1sTmFub0ZUUExpc3QJCSh2b2lkICpjdHgsCisJCQkJIGZ0cExpc3RDYWxsYmFjayBjYWxsYmFjaywKKwkJCQkgdm9pZCAqdXNlckRhdGEsCisJCQkJIGNvbnN0IGNoYXIgKmZpbGVuYW1lKTsKK1hNTFBVQkZVTiBTT0NLRVQgWE1MQ0FMTAorCXhtbE5hbm9GVFBHZXRTb2NrZXQJKHZvaWQgKmN0eCwKKwkJCQkgY29uc3QgY2hhciAqZmlsZW5hbWUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJeG1sTmFub0ZUUEdldAkJKHZvaWQgKmN0eCwKKwkJCQkgZnRwRGF0YUNhbGxiYWNrIGNhbGxiYWNrLAorCQkJCSB2b2lkICp1c2VyRGF0YSwKKwkJCQkgY29uc3QgY2hhciAqZmlsZW5hbWUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJeG1sTmFub0ZUUFJlYWQJCSh2b2lkICpjdHgsCisJCQkJIHZvaWQgKmRlc3QsCisJCQkJIGludCBsZW4pOworCisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorI2VuZGlmIC8qIExJQlhNTF9GVFBfRU5BQkxFRCAqLworI2VuZGlmIC8qIF9fTkFOT19GVFBfSF9fICovCmRpZmYgLS1naXQgYS9saWJ4bWwyL2luY2x1ZGUvbGlieG1sL25hbm9odHRwLmggYi9saWJ4bWwyL2luY2x1ZGUvbGlieG1sL25hbm9odHRwLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjJiOGZiNAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvaW5jbHVkZS9saWJ4bWwvbmFub2h0dHAuaApAQCAtMCwwICsxLDgxIEBACisvKgorICogU3VtbWFyeTogbWluaW1hbCBIVFRQIGltcGxlbWVudGF0aW9uCisgKiBEZXNjcmlwdGlvbjogbWluaW1hbCBIVFRQIGltcGxlbWVudGF0aW9uIGFsbG93aW5nIHRvIGZldGNoIHJlc291cmNlcworICogICAgICAgICAgICAgIGxpa2UgZXh0ZXJuYWwgc3Vic2V0LgorICoKKyAqIENvcHk6IFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyAqCisgKiBBdXRob3I6IERhbmllbCBWZWlsbGFyZAorICovCisKKyNpZm5kZWYgX19OQU5PX0hUVFBfSF9fCisjZGVmaW5lIF9fTkFOT19IVFRQX0hfXworCisjaW5jbHVkZSA8bGlieG1sL3htbHZlcnNpb24uaD4KKworI2lmZGVmIExJQlhNTF9IVFRQX0VOQUJMRUQKKworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgorWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCXhtbE5hbm9IVFRQSW5pdAkJKHZvaWQpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCXhtbE5hbm9IVFRQQ2xlYW51cAkodm9pZCk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJeG1sTmFub0hUVFBTY2FuUHJveHkJKGNvbnN0IGNoYXIgKlVSTCk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwl4bWxOYW5vSFRUUEZldGNoCShjb25zdCBjaGFyICpVUkwsCisJCQkJIGNvbnN0IGNoYXIgKmZpbGVuYW1lLAorCQkJCSBjaGFyICoqY29udGVudFR5cGUpOworWE1MUFVCRlVOIHZvaWQgKiBYTUxDQUxMCisJeG1sTmFub0hUVFBNZXRob2QJKGNvbnN0IGNoYXIgKlVSTCwKKwkJCQkgY29uc3QgY2hhciAqbWV0aG9kLAorCQkJCSBjb25zdCBjaGFyICppbnB1dCwKKwkJCQkgY2hhciAqKmNvbnRlbnRUeXBlLAorCQkJCSBjb25zdCBjaGFyICpoZWFkZXJzLAorCQkJCSBpbnQgICBpbGVuKTsKK1hNTFBVQkZVTiB2b2lkICogWE1MQ0FMTAorCXhtbE5hbm9IVFRQTWV0aG9kUmVkaXIJKGNvbnN0IGNoYXIgKlVSTCwKKwkJCQkgY29uc3QgY2hhciAqbWV0aG9kLAorCQkJCSBjb25zdCBjaGFyICppbnB1dCwKKwkJCQkgY2hhciAqKmNvbnRlbnRUeXBlLAorCQkJCSBjaGFyICoqcmVkaXIsCisJCQkJIGNvbnN0IGNoYXIgKmhlYWRlcnMsCisJCQkJIGludCAgIGlsZW4pOworWE1MUFVCRlVOIHZvaWQgKiBYTUxDQUxMCisJeG1sTmFub0hUVFBPcGVuCQkoY29uc3QgY2hhciAqVVJMLAorCQkJCSBjaGFyICoqY29udGVudFR5cGUpOworWE1MUFVCRlVOIHZvaWQgKiBYTUxDQUxMCisJeG1sTmFub0hUVFBPcGVuUmVkaXIJKGNvbnN0IGNoYXIgKlVSTCwKKwkJCQkgY2hhciAqKmNvbnRlbnRUeXBlLAorCQkJCSBjaGFyICoqcmVkaXIpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJeG1sTmFub0hUVFBSZXR1cm5Db2RlCSh2b2lkICpjdHgpOworWE1MUFVCRlVOIGNvbnN0IGNoYXIgKiBYTUxDQUxMCisJeG1sTmFub0hUVFBBdXRoSGVhZGVyCSh2b2lkICpjdHgpOworWE1MUFVCRlVOIGNvbnN0IGNoYXIgKiBYTUxDQUxMCisJeG1sTmFub0hUVFBSZWRpcgkodm9pZCAqY3R4KTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCXhtbE5hbm9IVFRQQ29udGVudExlbmd0aCggdm9pZCAqIGN0eCApOworWE1MUFVCRlVOIGNvbnN0IGNoYXIgKiBYTUxDQUxMCisJeG1sTmFub0hUVFBFbmNvZGluZwkodm9pZCAqY3R4KTsKK1hNTFBVQkZVTiBjb25zdCBjaGFyICogWE1MQ0FMTAorCXhtbE5hbm9IVFRQTWltZVR5cGUJKHZvaWQgKmN0eCk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwl4bWxOYW5vSFRUUFJlYWQJCSh2b2lkICpjdHgsCisJCQkJIHZvaWQgKmRlc3QsCisJCQkJIGludCBsZW4pOworI2lmZGVmIExJQlhNTF9PVVRQVVRfRU5BQkxFRAorWE1MUFVCRlVOIGludCBYTUxDQUxMCisJeG1sTmFub0hUVFBTYXZlCQkodm9pZCAqY3R4dCwKKwkJCQkgY29uc3QgY2hhciAqZmlsZW5hbWUpOworI2VuZGlmIC8qIExJQlhNTF9PVVRQVVRfRU5BQkxFRCAqLworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCXhtbE5hbm9IVFRQQ2xvc2UJKHZvaWQgKmN0eCk7CisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorCisjZW5kaWYgLyogTElCWE1MX0hUVFBfRU5BQkxFRCAqLworI2VuZGlmIC8qIF9fTkFOT19IVFRQX0hfXyAqLwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9pbmNsdWRlL2xpYnhtbC9wYXJzZXIuaCBiL2xpYnhtbDIvaW5jbHVkZS9saWJ4bWwvcGFyc2VyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2Y1NzMwZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvaW5jbHVkZS9saWJ4bWwvcGFyc2VyLmgKQEAgLTAsMCArMSwxMjQxIEBACisvKgorICogU3VtbWFyeTogdGhlIGNvcmUgcGFyc2VyIG1vZHVsZQorICogRGVzY3JpcHRpb246IEludGVyZmFjZXMsIGNvbnN0YW50cyBhbmQgdHlwZXMgcmVsYXRlZCB0byB0aGUgWE1MIHBhcnNlcgorICoKKyAqIENvcHk6IFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyAqCisgKiBBdXRob3I6IERhbmllbCBWZWlsbGFyZAorICovCisKKyNpZm5kZWYgX19YTUxfUEFSU0VSX0hfXworI2RlZmluZSBfX1hNTF9QQVJTRVJfSF9fCisKKyNpbmNsdWRlIDxzdGRhcmcuaD4KKworI2luY2x1ZGUgPGxpYnhtbC94bWx2ZXJzaW9uLmg+CisjaW5jbHVkZSA8bGlieG1sL3RyZWUuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvZGljdC5oPgorI2luY2x1ZGUgPGxpYnhtbC9oYXNoLmg+CisjaW5jbHVkZSA8bGlieG1sL3ZhbGlkLmg+CisjaW5jbHVkZSA8bGlieG1sL2VudGl0aWVzLmg+CisjaW5jbHVkZSA8bGlieG1sL3htbGVycm9yLmg+CisjaW5jbHVkZSA8bGlieG1sL3htbHN0cmluZy5oPgorCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCisKKy8qKgorICogWE1MX0RFRkFVTFRfVkVSU0lPTjoKKyAqCisgKiBUaGUgZGVmYXVsdCB2ZXJzaW9uIG9mIFhNTCB1c2VkOiAxLjAKKyAqLworI2RlZmluZSBYTUxfREVGQVVMVF9WRVJTSU9OCSIxLjAiCisKKy8qKgorICogeG1sUGFyc2VySW5wdXQ6CisgKgorICogQW4geG1sUGFyc2VySW5wdXQgaXMgYW4gaW5wdXQgZmxvdyBmb3IgdGhlIFhNTCBwcm9jZXNzb3IuCisgKiBFYWNoIGVudGl0eSBwYXJzZWQgaXMgYXNzb2NpYXRlZCBhbiB4bWxQYXJzZXJJbnB1dCAoZXhjZXB0IHRoZQorICogZmV3IHByZWRlZmluZWQgb25lcykuIFRoaXMgaXMgdGhlIGNhc2UgYm90aCBmb3IgaW50ZXJuYWwgZW50aXRpZXMKKyAqIC0gaW4gd2hpY2ggY2FzZSB0aGUgZmxvdyBpcyBhbHJlYWR5IGNvbXBsZXRlbHkgaW4gbWVtb3J5IC0gb3IKKyAqIGV4dGVybmFsIGVudGl0aWVzIC0gaW4gd2hpY2ggY2FzZSB3ZSB1c2UgdGhlIGJ1ZiBzdHJ1Y3R1cmUgZm9yCisgKiBwcm9ncmVzc2l2ZSByZWFkaW5nIGFuZCBJMThOIGNvbnZlcnNpb25zIHRvIHRoZSBpbnRlcm5hbCBVVEYtOCBmb3JtYXQuCisgKi8KKworLyoqCisgKiB4bWxQYXJzZXJJbnB1dERlYWxsb2NhdGU6CisgKiBAc3RyOiAgdGhlIHN0cmluZyB0byBkZWFsbG9jYXRlCisgKgorICogQ2FsbGJhY2sgZm9yIGZyZWVpbmcgc29tZSBwYXJzZXIgaW5wdXQgYWxsb2NhdGlvbnMuCisgKi8KK3R5cGVkZWYgdm9pZCAoKiB4bWxQYXJzZXJJbnB1dERlYWxsb2NhdGUpKHhtbENoYXIgKnN0cik7CisKK3N0cnVjdCBfeG1sUGFyc2VySW5wdXQgeworICAgIC8qIElucHV0IGJ1ZmZlciAqLworICAgIHhtbFBhcnNlcklucHV0QnVmZmVyUHRyIGJ1ZjsgICAgICAvKiBVVEYtOCBlbmNvZGVkIGJ1ZmZlciAqLworCisgICAgY29uc3QgY2hhciAqZmlsZW5hbWU7ICAgICAgICAgICAgIC8qIFRoZSBmaWxlIGFuYWx5emVkLCBpZiBhbnkgKi8KKyAgICBjb25zdCBjaGFyICpkaXJlY3Rvcnk7ICAgICAgICAgICAgLyogdGhlIGRpcmVjdG9yeS9iYXNlIG9mIHRoZSBmaWxlICovCisgICAgY29uc3QgeG1sQ2hhciAqYmFzZTsgICAgICAgICAgICAgIC8qIEJhc2Ugb2YgdGhlIGFycmF5IHRvIHBhcnNlICovCisgICAgY29uc3QgeG1sQ2hhciAqY3VyOyAgICAgICAgICAgICAgIC8qIEN1cnJlbnQgY2hhciBiZWluZyBwYXJzZWQgKi8KKyAgICBjb25zdCB4bWxDaGFyICplbmQ7ICAgICAgICAgICAgICAgLyogZW5kIG9mIHRoZSBhcnJheSB0byBwYXJzZSAqLworICAgIGludCBsZW5ndGg7ICAgICAgICAgICAgICAgICAgICAgICAvKiBsZW5ndGggaWYga25vd24gKi8KKyAgICBpbnQgbGluZTsgICAgICAgICAgICAgICAgICAgICAgICAgLyogQ3VycmVudCBsaW5lICovCisgICAgaW50IGNvbDsgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEN1cnJlbnQgY29sdW1uICovCisgICAgLyoKKyAgICAgKiBOT1RFOiBjb25zdW1lZCBpcyBvbmx5IHRlc3RlZCBmb3IgZXF1YWxpdHkgaW4gdGhlIHBhcnNlciBjb2RlLAorICAgICAqICAgICAgIHNvIGV2ZW4gaWYgdGhlcmUgaXMgYW4gb3ZlcmZsb3cgdGhpcyBzaG91bGQgbm90IGdpdmUgdHJvdWJsZXMKKyAgICAgKiAgICAgICBmb3IgcGFyc2luZyB2ZXJ5IGxhcmdlIGluc3RhbmNlcy4KKyAgICAgKi8KKyAgICB1bnNpZ25lZCBsb25nIGNvbnN1bWVkOyAgICAgICAgICAgLyogSG93IG1hbnkgeG1sQ2hhcnMgYWxyZWFkeSBjb25zdW1lZCAqLworICAgIHhtbFBhcnNlcklucHV0RGVhbGxvY2F0ZSBmcmVlOyAgICAvKiBmdW5jdGlvbiB0byBkZWFsbG9jYXRlIHRoZSBiYXNlICovCisgICAgY29uc3QgeG1sQ2hhciAqZW5jb2Rpbmc7ICAgICAgICAgIC8qIHRoZSBlbmNvZGluZyBzdHJpbmcgZm9yIGVudGl0eSAqLworICAgIGNvbnN0IHhtbENoYXIgKnZlcnNpb247ICAgICAgICAgICAvKiB0aGUgdmVyc2lvbiBzdHJpbmcgZm9yIGVudGl0eSAqLworICAgIGludCBzdGFuZGFsb25lOyAgICAgICAgICAgICAgICAgICAvKiBXYXMgdGhhdCBlbnRpdHkgbWFya2VkIHN0YW5kYWxvbmUgKi8KKyAgICBpbnQgaWQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogYW4gdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBlbnRpdHkgKi8KK307CisKKy8qKgorICogeG1sUGFyc2VyTm9kZUluZm86CisgKgorICogVGhlIHBhcnNlciBjYW4gYmUgYXNrZWQgdG8gY29sbGVjdCBOb2RlIGluZm9ybWF0aW9ucywgaS5lLiBhdCB3aGF0CisgKiBwbGFjZSBpbiB0aGUgZmlsZSB0aGV5IHdlcmUgZGV0ZWN0ZWQuCisgKiBOT1RFOiBUaGlzIGlzIG9mZiBieSBkZWZhdWx0IGFuZCBub3QgdmVyeSB3ZWxsIHRlc3RlZC4KKyAqLwordHlwZWRlZiBzdHJ1Y3QgX3htbFBhcnNlck5vZGVJbmZvIHhtbFBhcnNlck5vZGVJbmZvOwordHlwZWRlZiB4bWxQYXJzZXJOb2RlSW5mbyAqeG1sUGFyc2VyTm9kZUluZm9QdHI7CisKK3N0cnVjdCBfeG1sUGFyc2VyTm9kZUluZm8geworICBjb25zdCBzdHJ1Y3QgX3htbE5vZGUqIG5vZGU7CisgIC8qIFBvc2l0aW9uICYgbGluZSAjIHRoYXQgdGV4dCB0aGF0IGNyZWF0ZWQgdGhlIG5vZGUgYmVnaW5zICYgZW5kcyBvbiAqLworICB1bnNpZ25lZCBsb25nIGJlZ2luX3BvczsKKyAgdW5zaWduZWQgbG9uZyBiZWdpbl9saW5lOworICB1bnNpZ25lZCBsb25nIGVuZF9wb3M7CisgIHVuc2lnbmVkIGxvbmcgZW5kX2xpbmU7Cit9OworCit0eXBlZGVmIHN0cnVjdCBfeG1sUGFyc2VyTm9kZUluZm9TZXEgeG1sUGFyc2VyTm9kZUluZm9TZXE7Cit0eXBlZGVmIHhtbFBhcnNlck5vZGVJbmZvU2VxICp4bWxQYXJzZXJOb2RlSW5mb1NlcVB0cjsKK3N0cnVjdCBfeG1sUGFyc2VyTm9kZUluZm9TZXEgeworICB1bnNpZ25lZCBsb25nIG1heGltdW07CisgIHVuc2lnbmVkIGxvbmcgbGVuZ3RoOworICB4bWxQYXJzZXJOb2RlSW5mbyogYnVmZmVyOworfTsKKworLyoqCisgKiB4bWxQYXJzZXJJbnB1dFN0YXRlOgorICoKKyAqIFRoZSBwYXJzZXIgaXMgbm93IHdvcmtpbmcgYWxzbyBhcyBhIHN0YXRlIGJhc2VkIHBhcnNlci4KKyAqIFRoZSByZWN1cnNpdmUgb25lIHVzZSB0aGUgc3RhdGUgaW5mbyBmb3IgZW50aXRpZXMgcHJvY2Vzc2luZy4KKyAqLwordHlwZWRlZiBlbnVtIHsKKyAgICBYTUxfUEFSU0VSX0VPRiA9IC0xLAkvKiBub3RoaW5nIGlzIHRvIGJlIHBhcnNlZCAqLworICAgIFhNTF9QQVJTRVJfU1RBUlQgPSAwLAkvKiBub3RoaW5nIGhhcyBiZWVuIHBhcnNlZCAqLworICAgIFhNTF9QQVJTRVJfTUlTQywJCS8qIE1pc2MqIGJlZm9yZSBpbnQgc3Vic2V0ICovCisgICAgWE1MX1BBUlNFUl9QSSwJCS8qIFdpdGhpbiBhIHByb2Nlc3NpbmcgaW5zdHJ1Y3Rpb24gKi8KKyAgICBYTUxfUEFSU0VSX0RURCwJCS8qIHdpdGhpbiBzb21lIERURCBjb250ZW50ICovCisgICAgWE1MX1BBUlNFUl9QUk9MT0csCQkvKiBNaXNjKiBhZnRlciBpbnRlcm5hbCBzdWJzZXQgKi8KKyAgICBYTUxfUEFSU0VSX0NPTU1FTlQsCQkvKiB3aXRoaW4gYSBjb21tZW50ICovCisgICAgWE1MX1BBUlNFUl9TVEFSVF9UQUcsCS8qIHdpdGhpbiBhIHN0YXJ0IHRhZyAqLworICAgIFhNTF9QQVJTRVJfQ09OVEVOVCwJCS8qIHdpdGhpbiB0aGUgY29udGVudCAqLworICAgIFhNTF9QQVJTRVJfQ0RBVEFfU0VDVElPTiwJLyogd2l0aGluIGEgQ0RBVEEgc2VjdGlvbiAqLworICAgIFhNTF9QQVJTRVJfRU5EX1RBRywJCS8qIHdpdGhpbiBhIGNsb3NpbmcgdGFnICovCisgICAgWE1MX1BBUlNFUl9FTlRJVFlfREVDTCwJLyogd2l0aGluIGFuIGVudGl0eSBkZWNsYXJhdGlvbiAqLworICAgIFhNTF9QQVJTRVJfRU5USVRZX1ZBTFVFLAkvKiB3aXRoaW4gYW4gZW50aXR5IHZhbHVlIGluIGEgZGVjbCAqLworICAgIFhNTF9QQVJTRVJfQVRUUklCVVRFX1ZBTFVFLAkvKiB3aXRoaW4gYW4gYXR0cmlidXRlIHZhbHVlICovCisgICAgWE1MX1BBUlNFUl9TWVNURU1fTElURVJBTCwJLyogd2l0aGluIGEgU1lTVEVNIHZhbHVlICovCisgICAgWE1MX1BBUlNFUl9FUElMT0csCQkvKiB0aGUgTWlzYyogYWZ0ZXIgdGhlIGxhc3QgZW5kIHRhZyAqLworICAgIFhNTF9QQVJTRVJfSUdOT1JFLAkJLyogd2l0aGluIGFuIElHTk9SRUQgc2VjdGlvbiAqLworICAgIFhNTF9QQVJTRVJfUFVCTElDX0xJVEVSQUwJLyogd2l0aGluIGEgUFVCTElDIHZhbHVlICovCit9IHhtbFBhcnNlcklucHV0U3RhdGU7CisKKy8qKgorICogWE1MX0RFVEVDVF9JRFM6CisgKgorICogQml0IGluIHRoZSBsb2Fkc3Vic2V0IGNvbnRleHQgZmllbGQgdG8gdGVsbCB0byBkbyBJRC9SRUZzIGxvb2t1cHMuCisgKiBVc2UgaXQgdG8gaW5pdGlhbGl6ZSB4bWxMb2FkRXh0RHRkRGVmYXVsdFZhbHVlLgorICovCisjZGVmaW5lIFhNTF9ERVRFQ1RfSURTCQkyCisKKy8qKgorICogWE1MX0NPTVBMRVRFX0FUVFJTOgorICoKKyAqIEJpdCBpbiB0aGUgbG9hZHN1YnNldCBjb250ZXh0IGZpZWxkIHRvIHRlbGwgdG8gZG8gY29tcGxldGUgdGhlCisgKiBlbGVtZW50cyBhdHRyaWJ1dGVzIGxpc3RzIHdpdGggdGhlIG9uZXMgZGVmYXVsdGVkIGZyb20gdGhlIERURHMuCisgKiBVc2UgaXQgdG8gaW5pdGlhbGl6ZSB4bWxMb2FkRXh0RHRkRGVmYXVsdFZhbHVlLgorICovCisjZGVmaW5lIFhNTF9DT01QTEVURV9BVFRSUwk0CisKKy8qKgorICogWE1MX1NLSVBfSURTOgorICoKKyAqIEJpdCBpbiB0aGUgbG9hZHN1YnNldCBjb250ZXh0IGZpZWxkIHRvIHRlbGwgdG8gbm90IGRvIElEL1JFRnMgcmVnaXN0cmF0aW9uLgorICogVXNlZCB0byBpbml0aWFsaXplIHhtbExvYWRFeHREdGREZWZhdWx0VmFsdWUgaW4gc29tZSBzcGVjaWFsIGNhc2VzLgorICovCisjZGVmaW5lIFhNTF9TS0lQX0lEUwkJOAorCisvKioKKyAqIHhtbFBhcnNlck1vZGU6CisgKgorICogQSBwYXJzZXIgY2FuIG9wZXJhdGUgaW4gdmFyaW91cyBtb2RlcworICovCit0eXBlZGVmIGVudW0geworICAgIFhNTF9QQVJTRV9VTktOT1dOID0gMCwKKyAgICBYTUxfUEFSU0VfRE9NID0gMSwKKyAgICBYTUxfUEFSU0VfU0FYID0gMiwKKyAgICBYTUxfUEFSU0VfUFVTSF9ET00gPSAzLAorICAgIFhNTF9QQVJTRV9QVVNIX1NBWCA9IDQsCisgICAgWE1MX1BBUlNFX1JFQURFUiA9IDUKK30geG1sUGFyc2VyTW9kZTsKKworLyoqCisgKiB4bWxQYXJzZXJDdHh0OgorICoKKyAqIFRoZSBwYXJzZXIgY29udGV4dC4KKyAqIE5PVEUgVGhpcyBkb2Vzbid0IGNvbXBsZXRlbHkgZGVmaW5lIHRoZSBwYXJzZXIgc3RhdGUsIHRoZSAoY3VycmVudCA/KQorICogICAgICBkZXNpZ24gb2YgdGhlIHBhcnNlciB1c2VzIHJlY3Vyc2l2ZSBmdW5jdGlvbiBjYWxscyBzaW5jZSB0aGlzIGFsbG93CisgKiAgICAgIGFuZCBlYXN5IG1hcHBpbmcgZnJvbSB0aGUgcHJvZHVjdGlvbiBydWxlcyBvZiB0aGUgc3BlY2lmaWNhdGlvbgorICogICAgICB0byB0aGUgYWN0dWFsIGNvZGUuIFRoZSBkcmF3YmFjayBpcyB0aGF0IHRoZSBhY3R1YWwgZnVuY3Rpb24gY2FsbAorICogICAgICBhbHNvIHJlZmxlY3QgdGhlIHBhcnNlciBzdGF0ZS4gSG93ZXZlciBtb3N0IG9mIHRoZSBwYXJzaW5nIHJvdXRpbmVzCisgKiAgICAgIHRha2VzIGFzIHRoZSBvbmx5IGFyZ3VtZW50IHRoZSBwYXJzZXIgY29udGV4dCBwb2ludGVyLCBzbyBtaWdyYXRpbmcKKyAqICAgICAgdG8gYSBzdGF0ZSBiYXNlZCBwYXJzZXIgZm9yIHByb2dyZXNzaXZlIHBhcnNpbmcgc2hvdWxkbid0IGJlIHRvbyBoYXJkLgorICovCitzdHJ1Y3QgX3htbFBhcnNlckN0eHQgeworICAgIHN0cnVjdCBfeG1sU0FYSGFuZGxlciAqc2F4OyAgICAgICAvKiBUaGUgU0FYIGhhbmRsZXIgKi8KKyAgICB2b2lkICAgICAgICAgICAgKnVzZXJEYXRhOyAgICAgICAgLyogRm9yIFNBWCBpbnRlcmZhY2Ugb25seSwgdXNlZCBieSBET00gYnVpbGQgKi8KKyAgICB4bWxEb2NQdHIgICAgICAgICAgIG15RG9jOyAgICAgICAgLyogdGhlIGRvY3VtZW50IGJlaW5nIGJ1aWx0ICovCisgICAgaW50ICAgICAgICAgICAgd2VsbEZvcm1lZDsgICAgICAgIC8qIGlzIHRoZSBkb2N1bWVudCB3ZWxsIGZvcm1lZCAqLworICAgIGludCAgICAgICByZXBsYWNlRW50aXRpZXM7ICAgICAgICAvKiBzaGFsbCB3ZSByZXBsYWNlIGVudGl0aWVzID8gKi8KKyAgICBjb25zdCB4bWxDaGFyICAgICp2ZXJzaW9uOyAgICAgICAgLyogdGhlIFhNTCB2ZXJzaW9uIHN0cmluZyAqLworICAgIGNvbnN0IHhtbENoYXIgICAqZW5jb2Rpbmc7ICAgICAgICAvKiB0aGUgZGVjbGFyZWQgZW5jb2RpbmcsIGlmIGFueSAqLworICAgIGludCAgICAgICAgICAgIHN0YW5kYWxvbmU7ICAgICAgICAvKiBzdGFuZGFsb25lIGRvY3VtZW50ICovCisgICAgaW50ICAgICAgICAgICAgICAgICAgaHRtbDsgICAgICAgIC8qIGFuIEhUTUwoMSkvRG9jYm9vaygyKSBkb2N1bWVudAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAzIGlzIEhUTUwgYWZ0ZXIgPGhlYWQ+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIDEwIGlzIEhUTUwgYWZ0ZXIgPGJvZHk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworCisgICAgLyogSW5wdXQgc3RyZWFtIHN0YWNrICovCisgICAgeG1sUGFyc2VySW5wdXRQdHIgIGlucHV0OyAgICAgICAgIC8qIEN1cnJlbnQgaW5wdXQgc3RyZWFtICovCisgICAgaW50ICAgICAgICAgICAgICAgIGlucHV0TnI7ICAgICAgIC8qIE51bWJlciBvZiBjdXJyZW50IGlucHV0IHN0cmVhbXMgKi8KKyAgICBpbnQgICAgICAgICAgICAgICAgaW5wdXRNYXg7ICAgICAgLyogTWF4IG51bWJlciBvZiBpbnB1dCBzdHJlYW1zICovCisgICAgeG1sUGFyc2VySW5wdXRQdHIgKmlucHV0VGFiOyAgICAgIC8qIHN0YWNrIG9mIGlucHV0cyAqLworCisgICAgLyogTm9kZSBhbmFseXNpcyBzdGFjayBvbmx5IHVzZWQgZm9yIERPTSBidWlsZGluZyAqLworICAgIHhtbE5vZGVQdHIgICAgICAgICBub2RlOyAgICAgICAgICAvKiBDdXJyZW50IHBhcnNlZCBOb2RlICovCisgICAgaW50ICAgICAgICAgICAgICAgIG5vZGVOcjsgICAgICAgIC8qIERlcHRoIG9mIHRoZSBwYXJzaW5nIHN0YWNrICovCisgICAgaW50ICAgICAgICAgICAgICAgIG5vZGVNYXg7ICAgICAgIC8qIE1heCBkZXB0aCBvZiB0aGUgcGFyc2luZyBzdGFjayAqLworICAgIHhtbE5vZGVQdHIgICAgICAgICpub2RlVGFiOyAgICAgICAvKiBhcnJheSBvZiBub2RlcyAqLworCisgICAgaW50IHJlY29yZF9pbmZvOyAgICAgICAgICAgICAgICAgIC8qIFdoZXRoZXIgbm9kZSBpbmZvIHNob3VsZCBiZSBrZXB0ICovCisgICAgeG1sUGFyc2VyTm9kZUluZm9TZXEgbm9kZV9zZXE7ICAgIC8qIGluZm8gYWJvdXQgZWFjaCBub2RlIHBhcnNlZCAqLworCisgICAgaW50IGVyck5vOyAgICAgICAgICAgICAgICAgICAgICAgIC8qIGVycm9yIGNvZGUgKi8KKworICAgIGludCAgICAgaGFzRXh0ZXJuYWxTdWJzZXQ7ICAgICAgICAvKiByZWZlcmVuY2UgYW5kIGV4dGVybmFsIHN1YnNldCAqLworICAgIGludCAgICAgICAgICAgICBoYXNQRXJlZnM7ICAgICAgICAvKiB0aGUgaW50ZXJuYWwgc3Vic2V0IGhhcyBQRSByZWZzICovCisgICAgaW50ICAgICAgICAgICAgICBleHRlcm5hbDsgICAgICAgIC8qIGFyZSB3ZSBwYXJzaW5nIGFuIGV4dGVybmFsIGVudGl0eSAqLworCisgICAgaW50ICAgICAgICAgICAgICAgICB2YWxpZDsgICAgICAgIC8qIGlzIHRoZSBkb2N1bWVudCB2YWxpZCAqLworICAgIGludCAgICAgICAgICAgICAgdmFsaWRhdGU7ICAgICAgICAvKiBzaGFsbCB3ZSB0cnkgdG8gdmFsaWRhdGUgPyAqLworICAgIHhtbFZhbGlkQ3R4dCAgICAgICAgdmN0eHQ7ICAgICAgICAvKiBUaGUgdmFsaWRpdHkgY29udGV4dCAqLworCisgICAgeG1sUGFyc2VySW5wdXRTdGF0ZSBpbnN0YXRlOyAgICAgIC8qIGN1cnJlbnQgdHlwZSBvZiBpbnB1dCAqLworICAgIGludCAgICAgICAgICAgICAgICAgdG9rZW47ICAgICAgICAvKiBuZXh0IGNoYXIgbG9vay1haGVhZCAqLworCisgICAgY2hhciAgICAgICAgICAgKmRpcmVjdG9yeTsgICAgICAgIC8qIHRoZSBkYXRhIGRpcmVjdG9yeSAqLworCisgICAgLyogTm9kZSBuYW1lIHN0YWNrICovCisgICAgY29uc3QgeG1sQ2hhciAgICAgKm5hbWU7ICAgICAgICAgIC8qIEN1cnJlbnQgcGFyc2VkIE5vZGUgKi8KKyAgICBpbnQgICAgICAgICAgICAgICAgbmFtZU5yOyAgICAgICAgLyogRGVwdGggb2YgdGhlIHBhcnNpbmcgc3RhY2sgKi8KKyAgICBpbnQgICAgICAgICAgICAgICAgbmFtZU1heDsgICAgICAgLyogTWF4IGRlcHRoIG9mIHRoZSBwYXJzaW5nIHN0YWNrICovCisgICAgY29uc3QgeG1sQ2hhciAqICAgKm5hbWVUYWI7ICAgICAgIC8qIGFycmF5IG9mIG5vZGVzICovCisKKyAgICBsb25nICAgICAgICAgICAgICAgbmJDaGFyczsgICAgICAgLyogbnVtYmVyIG9mIHhtbENoYXIgcHJvY2Vzc2VkICovCisgICAgbG9uZyAgICAgICAgICAgIGNoZWNrSW5kZXg7ICAgICAgIC8qIHVzZWQgYnkgcHJvZ3Jlc3NpdmUgcGFyc2luZyBsb29rdXAgKi8KKyAgICBpbnQgICAgICAgICAgICAga2VlcEJsYW5rczsgICAgICAgLyogdWdseSBidXQgLi4uICovCisgICAgaW50ICAgICAgICAgICAgIGRpc2FibGVTQVg7ICAgICAgIC8qIFNBWCBjYWxsYmFja3MgYXJlIGRpc2FibGVkICovCisgICAgaW50ICAgICAgICAgICAgICAgaW5TdWJzZXQ7ICAgICAgIC8qIFBhcnNpbmcgaXMgaW4gaW50IDEvZXh0IDIgc3Vic2V0ICovCisgICAgY29uc3QgeG1sQ2hhciAqICAgIGludFN1Yk5hbWU7ICAgIC8qIG5hbWUgb2Ygc3Vic2V0ICovCisgICAgeG1sQ2hhciAqICAgICAgICAgIGV4dFN1YlVSSTsgICAgIC8qIFVSSSBvZiBleHRlcm5hbCBzdWJzZXQgKi8KKyAgICB4bWxDaGFyICogICAgICAgICAgZXh0U3ViU3lzdGVtOyAgLyogU1lTVEVNIElEIG9mIGV4dGVybmFsIHN1YnNldCAqLworCisgICAgLyogeG1sOnNwYWNlIHZhbHVlcyAqLworICAgIGludCAqICAgICAgICAgICAgICBzcGFjZTsgICAgICAgICAvKiBTaG91bGQgdGhlIHBhcnNlciBwcmVzZXJ2ZSBzcGFjZXMgKi8KKyAgICBpbnQgICAgICAgICAgICAgICAgc3BhY2VOcjsgICAgICAgLyogRGVwdGggb2YgdGhlIHBhcnNpbmcgc3RhY2sgKi8KKyAgICBpbnQgICAgICAgICAgICAgICAgc3BhY2VNYXg7ICAgICAgLyogTWF4IGRlcHRoIG9mIHRoZSBwYXJzaW5nIHN0YWNrICovCisgICAgaW50ICogICAgICAgICAgICAgIHNwYWNlVGFiOyAgICAgIC8qIGFycmF5IG9mIHNwYWNlIGluZm9zICovCisKKyAgICBpbnQgICAgICAgICAgICAgICAgZGVwdGg7ICAgICAgICAgLyogdG8gcHJldmVudCBlbnRpdHkgc3Vic3RpdHV0aW9uIGxvb3BzICovCisgICAgeG1sUGFyc2VySW5wdXRQdHIgIGVudGl0eTsgICAgICAgIC8qIHVzZWQgdG8gY2hlY2sgZW50aXRpZXMgYm91bmRhcmllcyAqLworICAgIGludCAgICAgICAgICAgICAgICBjaGFyc2V0OyAgICAgICAvKiBlbmNvZGluZyBvZiB0aGUgaW4tbWVtb3J5IGNvbnRlbnQKKwkJCQkgICAgICAgICBhY3R1YWxseSBhbiB4bWxDaGFyRW5jb2RpbmcgKi8KKyAgICBpbnQgICAgICAgICAgICAgICAgbm9kZWxlbjsgICAgICAgLyogVGhvc2UgdHdvIGZpZWxkcyBhcmUgdGhlcmUgdG8gKi8KKyAgICBpbnQgICAgICAgICAgICAgICAgbm9kZW1lbTsgICAgICAgLyogU3BlZWQgdXAgbGFyZ2Ugbm9kZSBwYXJzaW5nICovCisgICAgaW50ICAgICAgICAgICAgICAgIHBlZGFudGljOyAgICAgIC8qIHNpZ25hbCBwZWRhbnRpYyB3YXJuaW5ncyAqLworICAgIHZvaWQgICAgICAgICAgICAgICpfcHJpdmF0ZTsgICAgICAvKiBGb3IgdXNlciBkYXRhLCBsaWJ4bWwgd29uJ3QgdG91Y2ggaXQgKi8KKworICAgIGludCAgICAgICAgICAgICAgICBsb2Fkc3Vic2V0OyAgICAvKiBzaG91bGQgdGhlIGV4dGVybmFsIHN1YnNldCBiZSBsb2FkZWQgKi8KKyAgICBpbnQgICAgICAgICAgICAgICAgbGluZW51bWJlcnM7ICAgLyogc2V0IGxpbmUgbnVtYmVyIGluIGVsZW1lbnQgY29udGVudCAqLworICAgIHZvaWQgICAgICAgICAgICAgICpjYXRhbG9nczsgICAgICAvKiBkb2N1bWVudCdzIG93biBjYXRhbG9nICovCisgICAgaW50ICAgICAgICAgICAgICAgIHJlY292ZXJ5OyAgICAgIC8qIHJ1biBpbiByZWNvdmVyeSBtb2RlICovCisgICAgaW50ICAgICAgICAgICAgICAgIHByb2dyZXNzaXZlOyAgIC8qIGlzIHRoaXMgYSBwcm9ncmVzc2l2ZSBwYXJzaW5nICovCisgICAgeG1sRGljdFB0ciAgICAgICAgIGRpY3Q7ICAgICAgICAgIC8qIGRpY3Rpb25uYXJ5IGZvciB0aGUgcGFyc2VyICovCisgICAgY29uc3QgeG1sQ2hhciAqICAgKmF0dHM7ICAgICAgICAgIC8qIGFycmF5IGZvciB0aGUgYXR0cmlidXRlcyBjYWxsYmFja3MgKi8KKyAgICBpbnQgICAgICAgICAgICAgICAgbWF4YXR0czsgICAgICAgLyogdGhlIHNpemUgb2YgdGhlIGFycmF5ICovCisgICAgaW50ICAgICAgICAgICAgICAgIGRvY2RpY3Q7ICAgICAgIC8qIHVzZSBzdHJpbmdzIGZyb20gZGljdCB0byBidWlsZCB0cmVlICovCisKKyAgICAvKgorICAgICAqIHByZS1pbnRlcm5lZCBzdHJpbmdzCisgICAgICovCisgICAgY29uc3QgeG1sQ2hhciAqc3RyX3htbDsKKyAgICBjb25zdCB4bWxDaGFyICpzdHJfeG1sbnM7CisgICAgY29uc3QgeG1sQ2hhciAqc3RyX3htbF9uczsKKworICAgIC8qCisgICAgICogRXZlcnl0aGluZyBiZWxvdyBpcyB1c2VkIG9ubHkgYnkgdGhlIG5ldyBTQVggbW9kZQorICAgICAqLworICAgIGludCAgICAgICAgICAgICAgICBzYXgyOyAgICAgICAgICAvKiBvcGVyYXRpbmcgaW4gdGhlIG5ldyBTQVggbW9kZSAqLworICAgIGludCAgICAgICAgICAgICAgICBuc05yOyAgICAgICAgICAvKiB0aGUgbnVtYmVyIG9mIGluaGVyaXRlZCBuYW1lc3BhY2VzICovCisgICAgaW50ICAgICAgICAgICAgICAgIG5zTWF4OyAgICAgICAgIC8qIHRoZSBzaXplIG9mIHRoZSBhcnJheXMgKi8KKyAgICBjb25zdCB4bWxDaGFyICogICAqbnNUYWI7ICAgICAgICAgLyogdGhlIGFycmF5IG9mIHByZWZpeC9uYW1lc3BhY2UgbmFtZSAqLworICAgIGludCAgICAgICAgICAgICAgICphdHRhbGxvY3M7ICAgICAvKiB3aGljaCBhdHRyaWJ1dGUgd2VyZSBhbGxvY2F0ZWQgKi8KKyAgICB2b2lkICogICAgICAgICAgICAqcHVzaFRhYjsgICAgICAgLyogYXJyYXkgb2YgZGF0YSBmb3IgcHVzaCAqLworICAgIHhtbEhhc2hUYWJsZVB0ciAgICBhdHRzRGVmYXVsdDsgICAvKiBkZWZhdWx0ZWQgYXR0cmlidXRlcyBpZiBhbnkgKi8KKyAgICB4bWxIYXNoVGFibGVQdHIgICAgYXR0c1NwZWNpYWw7ICAgLyogbm9uLUNEQVRBIGF0dHJpYnV0ZXMgaWYgYW55ICovCisgICAgaW50ICAgICAgICAgICAgICAgIG5zV2VsbEZvcm1lZDsgIC8qIGlzIHRoZSBkb2N1bWVudCBYTUwgTmFuZXNwYWNlIG9rYXkgKi8KKyAgICBpbnQgICAgICAgICAgICAgICAgb3B0aW9uczsgICAgICAgLyogRXh0cmEgb3B0aW9ucyAqLworCisgICAgLyoKKyAgICAgKiBUaG9zZSBmaWVsZHMgYXJlIG5lZWRlZCBvbmx5IGZvciB0cmVhbWluZyBwYXJzaW5nIHNvIGZhcgorICAgICAqLworICAgIGludCAgICAgICAgICAgICAgIGRpY3ROYW1lczsgICAgLyogVXNlIGRpY3Rpb25hcnkgbmFtZXMgZm9yIHRoZSB0cmVlICovCisgICAgaW50ICAgICAgICAgICAgICAgZnJlZUVsZW1zTnI7ICAvKiBudW1iZXIgb2YgZnJlZWQgZWxlbWVudCBub2RlcyAqLworICAgIHhtbE5vZGVQdHIgICAgICAgIGZyZWVFbGVtczsgICAgLyogTGlzdCBvZiBmcmVlZCBlbGVtZW50IG5vZGVzICovCisgICAgaW50ICAgICAgICAgICAgICAgZnJlZUF0dHJzTnI7ICAvKiBudW1iZXIgb2YgZnJlZWQgYXR0cmlidXRlcyBub2RlcyAqLworICAgIHhtbEF0dHJQdHIgICAgICAgIGZyZWVBdHRyczsgICAgLyogTGlzdCBvZiBmcmVlZCBhdHRyaWJ1dGVzIG5vZGVzICovCisKKyAgICAvKgorICAgICAqIHRoZSBjb21wbGV0ZSBlcnJvciBpbmZvcm1hdGlvbnMgZm9yIHRoZSBsYXN0IGVycm9yLgorICAgICAqLworICAgIHhtbEVycm9yICAgICAgICAgIGxhc3RFcnJvcjsKKyAgICB4bWxQYXJzZXJNb2RlICAgICBwYXJzZU1vZGU7ICAgIC8qIHRoZSBwYXJzZXIgbW9kZSAqLworICAgIHVuc2lnbmVkIGxvbmcgICAgbmJlbnRpdGllczsgICAgLyogbnVtYmVyIG9mIGVudGl0aWVzIHJlZmVyZW5jZXMgKi8KKyAgICB1bnNpZ25lZCBsb25nICBzaXplZW50aXRpZXM7ICAgIC8qIHNpemUgb2YgcGFyc2VkIGVudGl0aWVzICovCisKKyAgICAvKiBmb3IgdXNlIGJ5IEhUTUwgbm9uLXJlY3Vyc2l2ZSBwYXJzZXIgKi8KKyAgICB4bWxQYXJzZXJOb2RlSW5mbyAqbm9kZUluZm87ICAgICAgLyogQ3VycmVudCBOb2RlSW5mbyAqLworICAgIGludCAgICAgICAgICAgICAgICBub2RlSW5mb05yOyAgICAvKiBEZXB0aCBvZiB0aGUgcGFyc2luZyBzdGFjayAqLworICAgIGludCAgICAgICAgICAgICAgICBub2RlSW5mb01heDsgICAvKiBNYXggZGVwdGggb2YgdGhlIHBhcnNpbmcgc3RhY2sgKi8KKyAgICB4bWxQYXJzZXJOb2RlSW5mbyAqbm9kZUluZm9UYWI7ICAgLyogYXJyYXkgb2Ygbm9kZUluZm9zICovCisKKyAgICBpbnQgICAgICAgICAgICAgICAgaW5wdXRfaWQ7ICAgICAgLyogd2UgbmVlZCB0byBsYWJlbCBpbnB1dHMgKi8KKyAgICB1bnNpZ25lZCBsb25nICAgICAgc2l6ZWVudGNvcHk7ICAgLyogdm9sdW1lIG9mIGVudGl0eSBjb3B5ICovCit9OworCisvKioKKyAqIHhtbFNBWExvY2F0b3I6CisgKgorICogQSBTQVggTG9jYXRvci4KKyAqLworc3RydWN0IF94bWxTQVhMb2NhdG9yIHsKKyAgICBjb25zdCB4bWxDaGFyICooKmdldFB1YmxpY0lkKSh2b2lkICpjdHgpOworICAgIGNvbnN0IHhtbENoYXIgKigqZ2V0U3lzdGVtSWQpKHZvaWQgKmN0eCk7CisgICAgaW50ICgqZ2V0TGluZU51bWJlcikodm9pZCAqY3R4KTsKKyAgICBpbnQgKCpnZXRDb2x1bW5OdW1iZXIpKHZvaWQgKmN0eCk7Cit9OworCisvKioKKyAqIHhtbFNBWEhhbmRsZXI6CisgKgorICogQSBTQVggaGFuZGxlciBpcyBidW5jaCBvZiBjYWxsYmFja3MgY2FsbGVkIGJ5IHRoZSBwYXJzZXIgd2hlbiBwcm9jZXNzaW5nCisgKiBvZiB0aGUgaW5wdXQgZ2VuZXJhdGUgZGF0YSBvciBzdHJ1Y3R1cmUgaW5mb3JtYXRpb25zLgorICovCisKKy8qKgorICogcmVzb2x2ZUVudGl0eVNBWEZ1bmM6CisgKiBAY3R4OiAgdGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KQorICogQHB1YmxpY0lkOiBUaGUgcHVibGljIElEIG9mIHRoZSBlbnRpdHkKKyAqIEBzeXN0ZW1JZDogVGhlIHN5c3RlbSBJRCBvZiB0aGUgZW50aXR5CisgKgorICogQ2FsbGJhY2s6CisgKiBUaGUgZW50aXR5IGxvYWRlciwgdG8gY29udHJvbCB0aGUgbG9hZGluZyBvZiBleHRlcm5hbCBlbnRpdGllcywKKyAqIHRoZSBhcHBsaWNhdGlvbiBjYW4gZWl0aGVyOgorICogICAgLSBvdmVycmlkZSB0aGlzIHJlc29sdmVFbnRpdHkoKSBjYWxsYmFjayBpbiB0aGUgU0FYIGJsb2NrCisgKiAgICAtIG9yIGJldHRlciB1c2UgdGhlIHhtbFNldEV4dGVybmFsRW50aXR5TG9hZGVyKCkgZnVuY3Rpb24gdG8KKyAqICAgICAgc2V0IHVwIGl0J3Mgb3duIGVudGl0eSByZXNvbHV0aW9uIHJvdXRpbmUKKyAqCisgKiBSZXR1cm5zIHRoZSB4bWxQYXJzZXJJbnB1dFB0ciBpZiBpbmxpbmVkIG9yIE5VTEwgZm9yIERPTSBiZWhhdmlvdXIuCisgKi8KK3R5cGVkZWYgeG1sUGFyc2VySW5wdXRQdHIgKCpyZXNvbHZlRW50aXR5U0FYRnVuYykgKHZvaWQgKmN0eCwKKwkJCQljb25zdCB4bWxDaGFyICpwdWJsaWNJZCwKKwkJCQljb25zdCB4bWxDaGFyICpzeXN0ZW1JZCk7CisvKioKKyAqIGludGVybmFsU3Vic2V0U0FYRnVuYzoKKyAqIEBjdHg6ICB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpCisgKiBAbmFtZTogIHRoZSByb290IGVsZW1lbnQgbmFtZQorICogQEV4dGVybmFsSUQ6ICB0aGUgZXh0ZXJuYWwgSUQKKyAqIEBTeXN0ZW1JRDogIHRoZSBTWVNURU0gSUQgKGUuZy4gZmlsZW5hbWUgb3IgVVJMKQorICoKKyAqIENhbGxiYWNrIG9uIGludGVybmFsIHN1YnNldCBkZWNsYXJhdGlvbi4KKyAqLwordHlwZWRlZiB2b2lkICgqaW50ZXJuYWxTdWJzZXRTQVhGdW5jKSAodm9pZCAqY3R4LAorCQkJCWNvbnN0IHhtbENoYXIgKm5hbWUsCisJCQkJY29uc3QgeG1sQ2hhciAqRXh0ZXJuYWxJRCwKKwkJCQljb25zdCB4bWxDaGFyICpTeXN0ZW1JRCk7CisvKioKKyAqIGV4dGVybmFsU3Vic2V0U0FYRnVuYzoKKyAqIEBjdHg6ICB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpCisgKiBAbmFtZTogIHRoZSByb290IGVsZW1lbnQgbmFtZQorICogQEV4dGVybmFsSUQ6ICB0aGUgZXh0ZXJuYWwgSUQKKyAqIEBTeXN0ZW1JRDogIHRoZSBTWVNURU0gSUQgKGUuZy4gZmlsZW5hbWUgb3IgVVJMKQorICoKKyAqIENhbGxiYWNrIG9uIGV4dGVybmFsIHN1YnNldCBkZWNsYXJhdGlvbi4KKyAqLwordHlwZWRlZiB2b2lkICgqZXh0ZXJuYWxTdWJzZXRTQVhGdW5jKSAodm9pZCAqY3R4LAorCQkJCWNvbnN0IHhtbENoYXIgKm5hbWUsCisJCQkJY29uc3QgeG1sQ2hhciAqRXh0ZXJuYWxJRCwKKwkJCQljb25zdCB4bWxDaGFyICpTeXN0ZW1JRCk7CisvKioKKyAqIGdldEVudGl0eVNBWEZ1bmM6CisgKiBAY3R4OiAgdGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KQorICogQG5hbWU6IFRoZSBlbnRpdHkgbmFtZQorICoKKyAqIEdldCBhbiBlbnRpdHkgYnkgbmFtZS4KKyAqCisgKiBSZXR1cm5zIHRoZSB4bWxFbnRpdHlQdHIgaWYgZm91bmQuCisgKi8KK3R5cGVkZWYgeG1sRW50aXR5UHRyICgqZ2V0RW50aXR5U0FYRnVuYykgKHZvaWQgKmN0eCwKKwkJCQljb25zdCB4bWxDaGFyICpuYW1lKTsKKy8qKgorICogZ2V0UGFyYW1ldGVyRW50aXR5U0FYRnVuYzoKKyAqIEBjdHg6ICB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpCisgKiBAbmFtZTogVGhlIGVudGl0eSBuYW1lCisgKgorICogR2V0IGEgcGFyYW1ldGVyIGVudGl0eSBieSBuYW1lLgorICoKKyAqIFJldHVybnMgdGhlIHhtbEVudGl0eVB0ciBpZiBmb3VuZC4KKyAqLwordHlwZWRlZiB4bWxFbnRpdHlQdHIgKCpnZXRQYXJhbWV0ZXJFbnRpdHlTQVhGdW5jKSAodm9pZCAqY3R4LAorCQkJCWNvbnN0IHhtbENoYXIgKm5hbWUpOworLyoqCisgKiBlbnRpdHlEZWNsU0FYRnVuYzoKKyAqIEBjdHg6ICB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpCisgKiBAbmFtZTogIHRoZSBlbnRpdHkgbmFtZQorICogQHR5cGU6ICB0aGUgZW50aXR5IHR5cGUKKyAqIEBwdWJsaWNJZDogVGhlIHB1YmxpYyBJRCBvZiB0aGUgZW50aXR5CisgKiBAc3lzdGVtSWQ6IFRoZSBzeXN0ZW0gSUQgb2YgdGhlIGVudGl0eQorICogQGNvbnRlbnQ6IHRoZSBlbnRpdHkgdmFsdWUgKHdpdGhvdXQgcHJvY2Vzc2luZykuCisgKgorICogQW4gZW50aXR5IGRlZmluaXRpb24gaGFzIGJlZW4gcGFyc2VkLgorICovCit0eXBlZGVmIHZvaWQgKCplbnRpdHlEZWNsU0FYRnVuYykgKHZvaWQgKmN0eCwKKwkJCQljb25zdCB4bWxDaGFyICpuYW1lLAorCQkJCWludCB0eXBlLAorCQkJCWNvbnN0IHhtbENoYXIgKnB1YmxpY0lkLAorCQkJCWNvbnN0IHhtbENoYXIgKnN5c3RlbUlkLAorCQkJCXhtbENoYXIgKmNvbnRlbnQpOworLyoqCisgKiBub3RhdGlvbkRlY2xTQVhGdW5jOgorICogQGN0eDogIHRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCkKKyAqIEBuYW1lOiBUaGUgbmFtZSBvZiB0aGUgbm90YXRpb24KKyAqIEBwdWJsaWNJZDogVGhlIHB1YmxpYyBJRCBvZiB0aGUgZW50aXR5CisgKiBAc3lzdGVtSWQ6IFRoZSBzeXN0ZW0gSUQgb2YgdGhlIGVudGl0eQorICoKKyAqIFdoYXQgdG8gZG8gd2hlbiBhIG5vdGF0aW9uIGRlY2xhcmF0aW9uIGhhcyBiZWVuIHBhcnNlZC4KKyAqLwordHlwZWRlZiB2b2lkICgqbm90YXRpb25EZWNsU0FYRnVuYykodm9pZCAqY3R4LAorCQkJCWNvbnN0IHhtbENoYXIgKm5hbWUsCisJCQkJY29uc3QgeG1sQ2hhciAqcHVibGljSWQsCisJCQkJY29uc3QgeG1sQ2hhciAqc3lzdGVtSWQpOworLyoqCisgKiBhdHRyaWJ1dGVEZWNsU0FYRnVuYzoKKyAqIEBjdHg6ICB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpCisgKiBAZWxlbTogIHRoZSBuYW1lIG9mIHRoZSBlbGVtZW50CisgKiBAZnVsbG5hbWU6ICB0aGUgYXR0cmlidXRlIG5hbWUKKyAqIEB0eXBlOiAgdGhlIGF0dHJpYnV0ZSB0eXBlCisgKiBAZGVmOiAgdGhlIHR5cGUgb2YgZGVmYXVsdCB2YWx1ZQorICogQGRlZmF1bHRWYWx1ZTogdGhlIGF0dHJpYnV0ZSBkZWZhdWx0IHZhbHVlCisgKiBAdHJlZTogIHRoZSB0cmVlIG9mIGVudW1lcmF0ZWQgdmFsdWUgc2V0CisgKgorICogQW4gYXR0cmlidXRlIGRlZmluaXRpb24gaGFzIGJlZW4gcGFyc2VkLgorICovCit0eXBlZGVmIHZvaWQgKCphdHRyaWJ1dGVEZWNsU0FYRnVuYykodm9pZCAqY3R4LAorCQkJCWNvbnN0IHhtbENoYXIgKmVsZW0sCisJCQkJY29uc3QgeG1sQ2hhciAqZnVsbG5hbWUsCisJCQkJaW50IHR5cGUsCisJCQkJaW50IGRlZiwKKwkJCQljb25zdCB4bWxDaGFyICpkZWZhdWx0VmFsdWUsCisJCQkJeG1sRW51bWVyYXRpb25QdHIgdHJlZSk7CisvKioKKyAqIGVsZW1lbnREZWNsU0FYRnVuYzoKKyAqIEBjdHg6ICB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpCisgKiBAbmFtZTogIHRoZSBlbGVtZW50IG5hbWUKKyAqIEB0eXBlOiAgdGhlIGVsZW1lbnQgdHlwZQorICogQGNvbnRlbnQ6IHRoZSBlbGVtZW50IHZhbHVlIHRyZWUKKyAqCisgKiBBbiBlbGVtZW50IGRlZmluaXRpb24gaGFzIGJlZW4gcGFyc2VkLgorICovCit0eXBlZGVmIHZvaWQgKCplbGVtZW50RGVjbFNBWEZ1bmMpKHZvaWQgKmN0eCwKKwkJCQljb25zdCB4bWxDaGFyICpuYW1lLAorCQkJCWludCB0eXBlLAorCQkJCXhtbEVsZW1lbnRDb250ZW50UHRyIGNvbnRlbnQpOworLyoqCisgKiB1bnBhcnNlZEVudGl0eURlY2xTQVhGdW5jOgorICogQGN0eDogIHRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCkKKyAqIEBuYW1lOiBUaGUgbmFtZSBvZiB0aGUgZW50aXR5CisgKiBAcHVibGljSWQ6IFRoZSBwdWJsaWMgSUQgb2YgdGhlIGVudGl0eQorICogQHN5c3RlbUlkOiBUaGUgc3lzdGVtIElEIG9mIHRoZSBlbnRpdHkKKyAqIEBub3RhdGlvbk5hbWU6IHRoZSBuYW1lIG9mIHRoZSBub3RhdGlvbgorICoKKyAqIFdoYXQgdG8gZG8gd2hlbiBhbiB1bnBhcnNlZCBlbnRpdHkgZGVjbGFyYXRpb24gaXMgcGFyc2VkLgorICovCit0eXBlZGVmIHZvaWQgKCp1bnBhcnNlZEVudGl0eURlY2xTQVhGdW5jKSh2b2lkICpjdHgsCisJCQkJY29uc3QgeG1sQ2hhciAqbmFtZSwKKwkJCQljb25zdCB4bWxDaGFyICpwdWJsaWNJZCwKKwkJCQljb25zdCB4bWxDaGFyICpzeXN0ZW1JZCwKKwkJCQljb25zdCB4bWxDaGFyICpub3RhdGlvbk5hbWUpOworLyoqCisgKiBzZXREb2N1bWVudExvY2F0b3JTQVhGdW5jOgorICogQGN0eDogIHRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCkKKyAqIEBsb2M6IEEgU0FYIExvY2F0b3IKKyAqCisgKiBSZWNlaXZlIHRoZSBkb2N1bWVudCBsb2NhdG9yIGF0IHN0YXJ0dXAsIGFjdHVhbGx5IHhtbERlZmF1bHRTQVhMb2NhdG9yLgorICogRXZlcnl0aGluZyBpcyBhdmFpbGFibGUgb24gdGhlIGNvbnRleHQsIHNvIHRoaXMgaXMgdXNlbGVzcyBpbiBvdXIgY2FzZS4KKyAqLwordHlwZWRlZiB2b2lkICgqc2V0RG9jdW1lbnRMb2NhdG9yU0FYRnVuYykgKHZvaWQgKmN0eCwKKwkJCQl4bWxTQVhMb2NhdG9yUHRyIGxvYyk7CisvKioKKyAqIHN0YXJ0RG9jdW1lbnRTQVhGdW5jOgorICogQGN0eDogIHRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCkKKyAqCisgKiBDYWxsZWQgd2hlbiB0aGUgZG9jdW1lbnQgc3RhcnQgYmVpbmcgcHJvY2Vzc2VkLgorICovCit0eXBlZGVmIHZvaWQgKCpzdGFydERvY3VtZW50U0FYRnVuYykgKHZvaWQgKmN0eCk7CisvKioKKyAqIGVuZERvY3VtZW50U0FYRnVuYzoKKyAqIEBjdHg6ICB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpCisgKgorICogQ2FsbGVkIHdoZW4gdGhlIGRvY3VtZW50IGVuZCBoYXMgYmVlbiBkZXRlY3RlZC4KKyAqLwordHlwZWRlZiB2b2lkICgqZW5kRG9jdW1lbnRTQVhGdW5jKSAodm9pZCAqY3R4KTsKKy8qKgorICogc3RhcnRFbGVtZW50U0FYRnVuYzoKKyAqIEBjdHg6ICB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpCisgKiBAbmFtZTogIFRoZSBlbGVtZW50IG5hbWUsIGluY2x1ZGluZyBuYW1lc3BhY2UgcHJlZml4CisgKiBAYXR0czogIEFuIGFycmF5IG9mIG5hbWUvdmFsdWUgYXR0cmlidXRlcyBwYWlycywgTlVMTCB0ZXJtaW5hdGVkCisgKgorICogQ2FsbGVkIHdoZW4gYW4gb3BlbmluZyB0YWcgaGFzIGJlZW4gcHJvY2Vzc2VkLgorICovCit0eXBlZGVmIHZvaWQgKCpzdGFydEVsZW1lbnRTQVhGdW5jKSAodm9pZCAqY3R4LAorCQkJCWNvbnN0IHhtbENoYXIgKm5hbWUsCisJCQkJY29uc3QgeG1sQ2hhciAqKmF0dHMpOworLyoqCisgKiBlbmRFbGVtZW50U0FYRnVuYzoKKyAqIEBjdHg6ICB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpCisgKiBAbmFtZTogIFRoZSBlbGVtZW50IG5hbWUKKyAqCisgKiBDYWxsZWQgd2hlbiB0aGUgZW5kIG9mIGFuIGVsZW1lbnQgaGFzIGJlZW4gZGV0ZWN0ZWQuCisgKi8KK3R5cGVkZWYgdm9pZCAoKmVuZEVsZW1lbnRTQVhGdW5jKSAodm9pZCAqY3R4LAorCQkJCWNvbnN0IHhtbENoYXIgKm5hbWUpOworLyoqCisgKiBhdHRyaWJ1dGVTQVhGdW5jOgorICogQGN0eDogIHRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCkKKyAqIEBuYW1lOiAgVGhlIGF0dHJpYnV0ZSBuYW1lLCBpbmNsdWRpbmcgbmFtZXNwYWNlIHByZWZpeAorICogQHZhbHVlOiAgVGhlIGF0dHJpYnV0ZSB2YWx1ZQorICoKKyAqIEhhbmRsZSBhbiBhdHRyaWJ1dGUgdGhhdCBoYXMgYmVlbiByZWFkIGJ5IHRoZSBwYXJzZXIuCisgKiBUaGUgZGVmYXVsdCBoYW5kbGluZyBpcyB0byBjb252ZXJ0IHRoZSBhdHRyaWJ1dGUgaW50byBhbgorICogRE9NIHN1YnRyZWUgYW5kIHBhc3QgaXQgaW4gYSBuZXcgeG1sQXR0ciBlbGVtZW50IGFkZGVkIHRvCisgKiB0aGUgZWxlbWVudC4KKyAqLwordHlwZWRlZiB2b2lkICgqYXR0cmlidXRlU0FYRnVuYykgKHZvaWQgKmN0eCwKKwkJCQljb25zdCB4bWxDaGFyICpuYW1lLAorCQkJCWNvbnN0IHhtbENoYXIgKnZhbHVlKTsKKy8qKgorICogcmVmZXJlbmNlU0FYRnVuYzoKKyAqIEBjdHg6ICB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpCisgKiBAbmFtZTogIFRoZSBlbnRpdHkgbmFtZQorICoKKyAqIENhbGxlZCB3aGVuIGFuIGVudGl0eSByZWZlcmVuY2UgaXMgZGV0ZWN0ZWQuCisgKi8KK3R5cGVkZWYgdm9pZCAoKnJlZmVyZW5jZVNBWEZ1bmMpICh2b2lkICpjdHgsCisJCQkJY29uc3QgeG1sQ2hhciAqbmFtZSk7CisvKioKKyAqIGNoYXJhY3RlcnNTQVhGdW5jOgorICogQGN0eDogIHRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCkKKyAqIEBjaDogIGEgeG1sQ2hhciBzdHJpbmcKKyAqIEBsZW46IHRoZSBudW1iZXIgb2YgeG1sQ2hhcgorICoKKyAqIFJlY2VpdmluZyBzb21lIGNoYXJzIGZyb20gdGhlIHBhcnNlci4KKyAqLwordHlwZWRlZiB2b2lkICgqY2hhcmFjdGVyc1NBWEZ1bmMpICh2b2lkICpjdHgsCisJCQkJY29uc3QgeG1sQ2hhciAqY2gsCisJCQkJaW50IGxlbik7CisvKioKKyAqIGlnbm9yYWJsZVdoaXRlc3BhY2VTQVhGdW5jOgorICogQGN0eDogIHRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCkKKyAqIEBjaDogIGEgeG1sQ2hhciBzdHJpbmcKKyAqIEBsZW46IHRoZSBudW1iZXIgb2YgeG1sQ2hhcgorICoKKyAqIFJlY2VpdmluZyBzb21lIGlnbm9yYWJsZSB3aGl0ZXNwYWNlcyBmcm9tIHRoZSBwYXJzZXIuCisgKiBVTlVTRUQ6IGJ5IGRlZmF1bHQgdGhlIERPTSBidWlsZGluZyB3aWxsIHVzZSBjaGFyYWN0ZXJzLgorICovCit0eXBlZGVmIHZvaWQgKCppZ25vcmFibGVXaGl0ZXNwYWNlU0FYRnVuYykgKHZvaWQgKmN0eCwKKwkJCQljb25zdCB4bWxDaGFyICpjaCwKKwkJCQlpbnQgbGVuKTsKKy8qKgorICogcHJvY2Vzc2luZ0luc3RydWN0aW9uU0FYRnVuYzoKKyAqIEBjdHg6ICB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpCisgKiBAdGFyZ2V0OiAgdGhlIHRhcmdldCBuYW1lCisgKiBAZGF0YTogdGhlIFBJIGRhdGEncworICoKKyAqIEEgcHJvY2Vzc2luZyBpbnN0cnVjdGlvbiBoYXMgYmVlbiBwYXJzZWQuCisgKi8KK3R5cGVkZWYgdm9pZCAoKnByb2Nlc3NpbmdJbnN0cnVjdGlvblNBWEZ1bmMpICh2b2lkICpjdHgsCisJCQkJY29uc3QgeG1sQ2hhciAqdGFyZ2V0LAorCQkJCWNvbnN0IHhtbENoYXIgKmRhdGEpOworLyoqCisgKiBjb21tZW50U0FYRnVuYzoKKyAqIEBjdHg6ICB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpCisgKiBAdmFsdWU6ICB0aGUgY29tbWVudCBjb250ZW50CisgKgorICogQSBjb21tZW50IGhhcyBiZWVuIHBhcnNlZC4KKyAqLwordHlwZWRlZiB2b2lkICgqY29tbWVudFNBWEZ1bmMpICh2b2lkICpjdHgsCisJCQkJY29uc3QgeG1sQ2hhciAqdmFsdWUpOworLyoqCisgKiBjZGF0YUJsb2NrU0FYRnVuYzoKKyAqIEBjdHg6ICB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpCisgKiBAdmFsdWU6ICBUaGUgcGNkYXRhIGNvbnRlbnQKKyAqIEBsZW46ICB0aGUgYmxvY2sgbGVuZ3RoCisgKgorICogQ2FsbGVkIHdoZW4gYSBwY2RhdGEgYmxvY2sgaGFzIGJlZW4gcGFyc2VkLgorICovCit0eXBlZGVmIHZvaWQgKCpjZGF0YUJsb2NrU0FYRnVuYykgKAorCSAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKmN0eCwKKwkJCQljb25zdCB4bWxDaGFyICp2YWx1ZSwKKwkJCQlpbnQgbGVuKTsKKy8qKgorICogd2FybmluZ1NBWEZ1bmM6CisgKiBAY3R4OiAgYW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAbXNnOiAgdGhlIG1lc3NhZ2UgdG8gZGlzcGxheS90cmFuc21pdAorICogQC4uLjogIGV4dHJhIHBhcmFtZXRlcnMgZm9yIHRoZSBtZXNzYWdlIGRpc3BsYXkKKyAqCisgKiBEaXNwbGF5IGFuZCBmb3JtYXQgYSB3YXJuaW5nIG1lc3NhZ2VzLCBjYWxsYmFjay4KKyAqLwordHlwZWRlZiB2b2lkIChYTUxDREVDTCAqd2FybmluZ1NBWEZ1bmMpICh2b2lkICpjdHgsCisJCQkJY29uc3QgY2hhciAqbXNnLCAuLi4pIExJQlhNTF9BVFRSX0ZPUk1BVCgyLDMpOworLyoqCisgKiBlcnJvclNBWEZ1bmM6CisgKiBAY3R4OiAgYW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAbXNnOiAgdGhlIG1lc3NhZ2UgdG8gZGlzcGxheS90cmFuc21pdAorICogQC4uLjogIGV4dHJhIHBhcmFtZXRlcnMgZm9yIHRoZSBtZXNzYWdlIGRpc3BsYXkKKyAqCisgKiBEaXNwbGF5IGFuZCBmb3JtYXQgYW4gZXJyb3IgbWVzc2FnZXMsIGNhbGxiYWNrLgorICovCit0eXBlZGVmIHZvaWQgKFhNTENERUNMICplcnJvclNBWEZ1bmMpICh2b2lkICpjdHgsCisJCQkJY29uc3QgY2hhciAqbXNnLCAuLi4pIExJQlhNTF9BVFRSX0ZPUk1BVCgyLDMpOworLyoqCisgKiBmYXRhbEVycm9yU0FYRnVuYzoKKyAqIEBjdHg6ICBhbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBtc2c6ICB0aGUgbWVzc2FnZSB0byBkaXNwbGF5L3RyYW5zbWl0CisgKiBALi4uOiAgZXh0cmEgcGFyYW1ldGVycyBmb3IgdGhlIG1lc3NhZ2UgZGlzcGxheQorICoKKyAqIERpc3BsYXkgYW5kIGZvcm1hdCBmYXRhbCBlcnJvciBtZXNzYWdlcywgY2FsbGJhY2suCisgKiBOb3RlOiBzbyBmYXIgZmF0YWxFcnJvcigpIFNBWCBjYWxsYmFja3MgYXJlIG5vdCB1c2VkLCBlcnJvcigpCisgKiAgICAgICBnZXQgYWxsIHRoZSBjYWxsYmFja3MgZm9yIGVycm9ycy4KKyAqLwordHlwZWRlZiB2b2lkIChYTUxDREVDTCAqZmF0YWxFcnJvclNBWEZ1bmMpICh2b2lkICpjdHgsCisJCQkJY29uc3QgY2hhciAqbXNnLCAuLi4pIExJQlhNTF9BVFRSX0ZPUk1BVCgyLDMpOworLyoqCisgKiBpc1N0YW5kYWxvbmVTQVhGdW5jOgorICogQGN0eDogIHRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCkKKyAqCisgKiBJcyB0aGlzIGRvY3VtZW50IHRhZ2dlZCBzdGFuZGFsb25lPworICoKKyAqIFJldHVybnMgMSBpZiB0cnVlCisgKi8KK3R5cGVkZWYgaW50ICgqaXNTdGFuZGFsb25lU0FYRnVuYykgKHZvaWQgKmN0eCk7CisvKioKKyAqIGhhc0ludGVybmFsU3Vic2V0U0FYRnVuYzoKKyAqIEBjdHg6ICB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpCisgKgorICogRG9lcyB0aGlzIGRvY3VtZW50IGhhcyBhbiBpbnRlcm5hbCBzdWJzZXQuCisgKgorICogUmV0dXJucyAxIGlmIHRydWUKKyAqLwordHlwZWRlZiBpbnQgKCpoYXNJbnRlcm5hbFN1YnNldFNBWEZ1bmMpICh2b2lkICpjdHgpOworCisvKioKKyAqIGhhc0V4dGVybmFsU3Vic2V0U0FYRnVuYzoKKyAqIEBjdHg6ICB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpCisgKgorICogRG9lcyB0aGlzIGRvY3VtZW50IGhhcyBhbiBleHRlcm5hbCBzdWJzZXQ/CisgKgorICogUmV0dXJucyAxIGlmIHRydWUKKyAqLwordHlwZWRlZiBpbnQgKCpoYXNFeHRlcm5hbFN1YnNldFNBWEZ1bmMpICh2b2lkICpjdHgpOworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQkJVGhlIFNBWCB2ZXJzaW9uIDIgQVBJIGV4dGVuc2lvbnMJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qKgorICogWE1MX1NBWDJfTUFHSUM6CisgKgorICogU3BlY2lhbCBjb25zdGFudCBmb3VuZCBpbiBTQVgyIGJsb2NrcyBpbml0aWFsaXplZCBmaWVsZHMKKyAqLworI2RlZmluZSBYTUxfU0FYMl9NQUdJQyAweERFRURCRUFGCisKKy8qKgorICogc3RhcnRFbGVtZW50TnNTQVgyRnVuYzoKKyAqIEBjdHg6ICB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpCisgKiBAbG9jYWxuYW1lOiAgdGhlIGxvY2FsIG5hbWUgb2YgdGhlIGVsZW1lbnQKKyAqIEBwcmVmaXg6ICB0aGUgZWxlbWVudCBuYW1lc3BhY2UgcHJlZml4IGlmIGF2YWlsYWJsZQorICogQFVSSTogIHRoZSBlbGVtZW50IG5hbWVzcGFjZSBuYW1lIGlmIGF2YWlsYWJsZQorICogQG5iX25hbWVzcGFjZXM6ICBudW1iZXIgb2YgbmFtZXNwYWNlIGRlZmluaXRpb25zIG9uIHRoYXQgbm9kZQorICogQG5hbWVzcGFjZXM6ICBwb2ludGVyIHRvIHRoZSBhcnJheSBvZiBwcmVmaXgvVVJJIHBhaXJzIG5hbWVzcGFjZSBkZWZpbml0aW9ucworICogQG5iX2F0dHJpYnV0ZXM6ICB0aGUgbnVtYmVyIG9mIGF0dHJpYnV0ZXMgb24gdGhhdCBub2RlCisgKiBAbmJfZGVmYXVsdGVkOiAgdGhlIG51bWJlciBvZiBkZWZhdWx0ZWQgYXR0cmlidXRlcy4gVGhlIGRlZmF1bHRlZAorICogICAgICAgICAgICAgICAgICBvbmVzIGFyZSBhdCB0aGUgZW5kIG9mIHRoZSBhcnJheQorICogQGF0dHJpYnV0ZXM6ICBwb2ludGVyIHRvIHRoZSBhcnJheSBvZiAobG9jYWxuYW1lL3ByZWZpeC9VUkkvdmFsdWUvZW5kKQorICogICAgICAgICAgICAgICBhdHRyaWJ1dGUgdmFsdWVzLgorICoKKyAqIFNBWDIgY2FsbGJhY2sgd2hlbiBhbiBlbGVtZW50IHN0YXJ0IGhhcyBiZWVuIGRldGVjdGVkIGJ5IHRoZSBwYXJzZXIuCisgKiBJdCBwcm92aWRlcyB0aGUgbmFtZXNwYWNlIGluZm9ybWF0aW9ucyBmb3IgdGhlIGVsZW1lbnQsIGFzIHdlbGwgYXMKKyAqIHRoZSBuZXcgbmFtZXNwYWNlIGRlY2xhcmF0aW9ucyBvbiB0aGUgZWxlbWVudC4KKyAqLworCit0eXBlZGVmIHZvaWQgKCpzdGFydEVsZW1lbnROc1NBWDJGdW5jKSAodm9pZCAqY3R4LAorCQkJCQljb25zdCB4bWxDaGFyICpsb2NhbG5hbWUsCisJCQkJCWNvbnN0IHhtbENoYXIgKnByZWZpeCwKKwkJCQkJY29uc3QgeG1sQ2hhciAqVVJJLAorCQkJCQlpbnQgbmJfbmFtZXNwYWNlcywKKwkJCQkJY29uc3QgeG1sQ2hhciAqKm5hbWVzcGFjZXMsCisJCQkJCWludCBuYl9hdHRyaWJ1dGVzLAorCQkJCQlpbnQgbmJfZGVmYXVsdGVkLAorCQkJCQljb25zdCB4bWxDaGFyICoqYXR0cmlidXRlcyk7CisKKy8qKgorICogZW5kRWxlbWVudE5zU0FYMkZ1bmM6CisgKiBAY3R4OiAgdGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KQorICogQGxvY2FsbmFtZTogIHRoZSBsb2NhbCBuYW1lIG9mIHRoZSBlbGVtZW50CisgKiBAcHJlZml4OiAgdGhlIGVsZW1lbnQgbmFtZXNwYWNlIHByZWZpeCBpZiBhdmFpbGFibGUKKyAqIEBVUkk6ICB0aGUgZWxlbWVudCBuYW1lc3BhY2UgbmFtZSBpZiBhdmFpbGFibGUKKyAqCisgKiBTQVgyIGNhbGxiYWNrIHdoZW4gYW4gZWxlbWVudCBlbmQgaGFzIGJlZW4gZGV0ZWN0ZWQgYnkgdGhlIHBhcnNlci4KKyAqIEl0IHByb3ZpZGVzIHRoZSBuYW1lc3BhY2UgaW5mb3JtYXRpb25zIGZvciB0aGUgZWxlbWVudC4KKyAqLworCit0eXBlZGVmIHZvaWQgKCplbmRFbGVtZW50TnNTQVgyRnVuYykgICAodm9pZCAqY3R4LAorCQkJCQljb25zdCB4bWxDaGFyICpsb2NhbG5hbWUsCisJCQkJCWNvbnN0IHhtbENoYXIgKnByZWZpeCwKKwkJCQkJY29uc3QgeG1sQ2hhciAqVVJJKTsKKworCitzdHJ1Y3QgX3htbFNBWEhhbmRsZXIgeworICAgIGludGVybmFsU3Vic2V0U0FYRnVuYyBpbnRlcm5hbFN1YnNldDsKKyAgICBpc1N0YW5kYWxvbmVTQVhGdW5jIGlzU3RhbmRhbG9uZTsKKyAgICBoYXNJbnRlcm5hbFN1YnNldFNBWEZ1bmMgaGFzSW50ZXJuYWxTdWJzZXQ7CisgICAgaGFzRXh0ZXJuYWxTdWJzZXRTQVhGdW5jIGhhc0V4dGVybmFsU3Vic2V0OworICAgIHJlc29sdmVFbnRpdHlTQVhGdW5jIHJlc29sdmVFbnRpdHk7CisgICAgZ2V0RW50aXR5U0FYRnVuYyBnZXRFbnRpdHk7CisgICAgZW50aXR5RGVjbFNBWEZ1bmMgZW50aXR5RGVjbDsKKyAgICBub3RhdGlvbkRlY2xTQVhGdW5jIG5vdGF0aW9uRGVjbDsKKyAgICBhdHRyaWJ1dGVEZWNsU0FYRnVuYyBhdHRyaWJ1dGVEZWNsOworICAgIGVsZW1lbnREZWNsU0FYRnVuYyBlbGVtZW50RGVjbDsKKyAgICB1bnBhcnNlZEVudGl0eURlY2xTQVhGdW5jIHVucGFyc2VkRW50aXR5RGVjbDsKKyAgICBzZXREb2N1bWVudExvY2F0b3JTQVhGdW5jIHNldERvY3VtZW50TG9jYXRvcjsKKyAgICBzdGFydERvY3VtZW50U0FYRnVuYyBzdGFydERvY3VtZW50OworICAgIGVuZERvY3VtZW50U0FYRnVuYyBlbmREb2N1bWVudDsKKyAgICBzdGFydEVsZW1lbnRTQVhGdW5jIHN0YXJ0RWxlbWVudDsKKyAgICBlbmRFbGVtZW50U0FYRnVuYyBlbmRFbGVtZW50OworICAgIHJlZmVyZW5jZVNBWEZ1bmMgcmVmZXJlbmNlOworICAgIGNoYXJhY3RlcnNTQVhGdW5jIGNoYXJhY3RlcnM7CisgICAgaWdub3JhYmxlV2hpdGVzcGFjZVNBWEZ1bmMgaWdub3JhYmxlV2hpdGVzcGFjZTsKKyAgICBwcm9jZXNzaW5nSW5zdHJ1Y3Rpb25TQVhGdW5jIHByb2Nlc3NpbmdJbnN0cnVjdGlvbjsKKyAgICBjb21tZW50U0FYRnVuYyBjb21tZW50OworICAgIHdhcm5pbmdTQVhGdW5jIHdhcm5pbmc7CisgICAgZXJyb3JTQVhGdW5jIGVycm9yOworICAgIGZhdGFsRXJyb3JTQVhGdW5jIGZhdGFsRXJyb3I7IC8qIHVudXNlZCBlcnJvcigpIGdldCBhbGwgdGhlIGVycm9ycyAqLworICAgIGdldFBhcmFtZXRlckVudGl0eVNBWEZ1bmMgZ2V0UGFyYW1ldGVyRW50aXR5OworICAgIGNkYXRhQmxvY2tTQVhGdW5jIGNkYXRhQmxvY2s7CisgICAgZXh0ZXJuYWxTdWJzZXRTQVhGdW5jIGV4dGVybmFsU3Vic2V0OworICAgIHVuc2lnbmVkIGludCBpbml0aWFsaXplZDsKKyAgICAvKiBUaGUgZm9sbG93aW5nIGZpZWxkcyBhcmUgZXh0ZW5zaW9ucyBhdmFpbGFibGUgb25seSBvbiB2ZXJzaW9uIDIgKi8KKyAgICB2b2lkICpfcHJpdmF0ZTsKKyAgICBzdGFydEVsZW1lbnROc1NBWDJGdW5jIHN0YXJ0RWxlbWVudE5zOworICAgIGVuZEVsZW1lbnROc1NBWDJGdW5jIGVuZEVsZW1lbnROczsKKyAgICB4bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jIHNlcnJvcjsKK307CisKKy8qCisgKiBTQVggVmVyc2lvbiAxCisgKi8KK3R5cGVkZWYgc3RydWN0IF94bWxTQVhIYW5kbGVyVjEgeG1sU0FYSGFuZGxlclYxOwordHlwZWRlZiB4bWxTQVhIYW5kbGVyVjEgKnhtbFNBWEhhbmRsZXJWMVB0cjsKK3N0cnVjdCBfeG1sU0FYSGFuZGxlclYxIHsKKyAgICBpbnRlcm5hbFN1YnNldFNBWEZ1bmMgaW50ZXJuYWxTdWJzZXQ7CisgICAgaXNTdGFuZGFsb25lU0FYRnVuYyBpc1N0YW5kYWxvbmU7CisgICAgaGFzSW50ZXJuYWxTdWJzZXRTQVhGdW5jIGhhc0ludGVybmFsU3Vic2V0OworICAgIGhhc0V4dGVybmFsU3Vic2V0U0FYRnVuYyBoYXNFeHRlcm5hbFN1YnNldDsKKyAgICByZXNvbHZlRW50aXR5U0FYRnVuYyByZXNvbHZlRW50aXR5OworICAgIGdldEVudGl0eVNBWEZ1bmMgZ2V0RW50aXR5OworICAgIGVudGl0eURlY2xTQVhGdW5jIGVudGl0eURlY2w7CisgICAgbm90YXRpb25EZWNsU0FYRnVuYyBub3RhdGlvbkRlY2w7CisgICAgYXR0cmlidXRlRGVjbFNBWEZ1bmMgYXR0cmlidXRlRGVjbDsKKyAgICBlbGVtZW50RGVjbFNBWEZ1bmMgZWxlbWVudERlY2w7CisgICAgdW5wYXJzZWRFbnRpdHlEZWNsU0FYRnVuYyB1bnBhcnNlZEVudGl0eURlY2w7CisgICAgc2V0RG9jdW1lbnRMb2NhdG9yU0FYRnVuYyBzZXREb2N1bWVudExvY2F0b3I7CisgICAgc3RhcnREb2N1bWVudFNBWEZ1bmMgc3RhcnREb2N1bWVudDsKKyAgICBlbmREb2N1bWVudFNBWEZ1bmMgZW5kRG9jdW1lbnQ7CisgICAgc3RhcnRFbGVtZW50U0FYRnVuYyBzdGFydEVsZW1lbnQ7CisgICAgZW5kRWxlbWVudFNBWEZ1bmMgZW5kRWxlbWVudDsKKyAgICByZWZlcmVuY2VTQVhGdW5jIHJlZmVyZW5jZTsKKyAgICBjaGFyYWN0ZXJzU0FYRnVuYyBjaGFyYWN0ZXJzOworICAgIGlnbm9yYWJsZVdoaXRlc3BhY2VTQVhGdW5jIGlnbm9yYWJsZVdoaXRlc3BhY2U7CisgICAgcHJvY2Vzc2luZ0luc3RydWN0aW9uU0FYRnVuYyBwcm9jZXNzaW5nSW5zdHJ1Y3Rpb247CisgICAgY29tbWVudFNBWEZ1bmMgY29tbWVudDsKKyAgICB3YXJuaW5nU0FYRnVuYyB3YXJuaW5nOworICAgIGVycm9yU0FYRnVuYyBlcnJvcjsKKyAgICBmYXRhbEVycm9yU0FYRnVuYyBmYXRhbEVycm9yOyAvKiB1bnVzZWQgZXJyb3IoKSBnZXQgYWxsIHRoZSBlcnJvcnMgKi8KKyAgICBnZXRQYXJhbWV0ZXJFbnRpdHlTQVhGdW5jIGdldFBhcmFtZXRlckVudGl0eTsKKyAgICBjZGF0YUJsb2NrU0FYRnVuYyBjZGF0YUJsb2NrOworICAgIGV4dGVybmFsU3Vic2V0U0FYRnVuYyBleHRlcm5hbFN1YnNldDsKKyAgICB1bnNpZ25lZCBpbnQgaW5pdGlhbGl6ZWQ7Cit9OworCisKKy8qKgorICogeG1sRXh0ZXJuYWxFbnRpdHlMb2FkZXI6CisgKiBAVVJMOiBUaGUgU3lzdGVtIElEIG9mIHRoZSByZXNvdXJjZSByZXF1ZXN0ZWQKKyAqIEBJRDogVGhlIFB1YmxpYyBJRCBvZiB0aGUgcmVzb3VyY2UgcmVxdWVzdGVkCisgKiBAY29udGV4dDogdGhlIFhNTCBwYXJzZXIgY29udGV4dAorICoKKyAqIEV4dGVybmFsIGVudGl0eSBsb2FkZXJzIHR5cGVzLgorICoKKyAqIFJldHVybnMgdGhlIGVudGl0eSBpbnB1dCBwYXJzZXIuCisgKi8KK3R5cGVkZWYgeG1sUGFyc2VySW5wdXRQdHIgKCp4bWxFeHRlcm5hbEVudGl0eUxvYWRlcikgKGNvbnN0IGNoYXIgKlVSTCwKKwkJCQkJIGNvbnN0IGNoYXIgKklELAorCQkJCQkgeG1sUGFyc2VyQ3R4dFB0ciBjb250ZXh0KTsKKworI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKworI2luY2x1ZGUgPGxpYnhtbC9lbmNvZGluZy5oPgorI2luY2x1ZGUgPGxpYnhtbC94bWxJTy5oPgorI2luY2x1ZGUgPGxpYnhtbC9nbG9iYWxzLmg+CisKKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7CisjZW5kaWYKKworCisvKgorICogSW5pdC9DbGVhbnVwCisgKi8KK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJeG1sSW5pdFBhcnNlcgkJKHZvaWQpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQl4bWxDbGVhbnVwUGFyc2VyCSh2b2lkKTsKKworLyoKKyAqIElucHV0IGZ1bmN0aW9ucworICovCitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJeG1sUGFyc2VySW5wdXRSZWFkCSh4bWxQYXJzZXJJbnB1dFB0ciBpbiwKKwkJCQkJIGludCBsZW4pOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCXhtbFBhcnNlcklucHV0R3JvdwkoeG1sUGFyc2VySW5wdXRQdHIgaW4sCisJCQkJCSBpbnQgbGVuKTsKKworLyoKKyAqIEJhc2ljIHBhcnNpbmcgSW50ZXJmYWNlcworICovCisjaWZkZWYgTElCWE1MX1NBWDFfRU5BQkxFRAorWE1MUFVCRlVOIHhtbERvY1B0ciBYTUxDQUxMCisJCXhtbFBhcnNlRG9jCQkoY29uc3QgeG1sQ2hhciAqY3VyKTsKK1hNTFBVQkZVTiB4bWxEb2NQdHIgWE1MQ0FMTAorCQl4bWxQYXJzZUZpbGUJCShjb25zdCBjaGFyICpmaWxlbmFtZSk7CitYTUxQVUJGVU4geG1sRG9jUHRyIFhNTENBTEwKKwkJeG1sUGFyc2VNZW1vcnkJCShjb25zdCBjaGFyICpidWZmZXIsCisJCQkJCSBpbnQgc2l6ZSk7CisjZW5kaWYgLyogTElCWE1MX1NBWDFfRU5BQkxFRCAqLworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCXhtbFN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHQoaW50IHZhbCk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJeG1sS2VlcEJsYW5rc0RlZmF1bHQJKGludCB2YWwpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQl4bWxTdG9wUGFyc2VyCQkoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0KTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl4bWxQZWRhbnRpY1BhcnNlckRlZmF1bHQoaW50IHZhbCk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJeG1sTGluZU51bWJlcnNEZWZhdWx0CShpbnQgdmFsKTsKKworI2lmZGVmIExJQlhNTF9TQVgxX0VOQUJMRUQKKy8qCisgKiBSZWNvdmVyeSBtb2RlCisgKi8KK1hNTFBVQkZVTiB4bWxEb2NQdHIgWE1MQ0FMTAorCQl4bWxSZWNvdmVyRG9jCQkoY29uc3QgeG1sQ2hhciAqY3VyKTsKK1hNTFBVQkZVTiB4bWxEb2NQdHIgWE1MQ0FMTAorCQl4bWxSZWNvdmVyTWVtb3J5CShjb25zdCBjaGFyICpidWZmZXIsCisJCQkJCSBpbnQgc2l6ZSk7CitYTUxQVUJGVU4geG1sRG9jUHRyIFhNTENBTEwKKwkJeG1sUmVjb3ZlckZpbGUJCShjb25zdCBjaGFyICpmaWxlbmFtZSk7CisjZW5kaWYgLyogTElCWE1MX1NBWDFfRU5BQkxFRCAqLworCisvKgorICogTGVzcyBjb21tb24gcm91dGluZXMgYW5kIFNBWCBpbnRlcmZhY2VzCisgKi8KK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl4bWxQYXJzZURvY3VtZW50CSh4bWxQYXJzZXJDdHh0UHRyIGN0eHQpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCXhtbFBhcnNlRXh0UGFyc2VkRW50CSh4bWxQYXJzZXJDdHh0UHRyIGN0eHQpOworI2lmZGVmIExJQlhNTF9TQVgxX0VOQUJMRUQKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl4bWxTQVhVc2VyUGFyc2VGaWxlCSh4bWxTQVhIYW5kbGVyUHRyIHNheCwKKwkJCQkJIHZvaWQgKnVzZXJfZGF0YSwKKwkJCQkJIGNvbnN0IGNoYXIgKmZpbGVuYW1lKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl4bWxTQVhVc2VyUGFyc2VNZW1vcnkJKHhtbFNBWEhhbmRsZXJQdHIgc2F4LAorCQkJCQkgdm9pZCAqdXNlcl9kYXRhLAorCQkJCQkgY29uc3QgY2hhciAqYnVmZmVyLAorCQkJCQkgaW50IHNpemUpOworWE1MUFVCRlVOIHhtbERvY1B0ciBYTUxDQUxMCisJCXhtbFNBWFBhcnNlRG9jCQkoeG1sU0FYSGFuZGxlclB0ciBzYXgsCisJCQkJCSBjb25zdCB4bWxDaGFyICpjdXIsCisJCQkJCSBpbnQgcmVjb3ZlcnkpOworWE1MUFVCRlVOIHhtbERvY1B0ciBYTUxDQUxMCisJCXhtbFNBWFBhcnNlTWVtb3J5CSh4bWxTQVhIYW5kbGVyUHRyIHNheCwKKwkJCQkJIGNvbnN0IGNoYXIgKmJ1ZmZlciwKKwkJCQkJIGludCBzaXplLAorCQkJCQkgaW50IHJlY292ZXJ5KTsKK1hNTFBVQkZVTiB4bWxEb2NQdHIgWE1MQ0FMTAorCQl4bWxTQVhQYXJzZU1lbW9yeVdpdGhEYXRhICh4bWxTQVhIYW5kbGVyUHRyIHNheCwKKwkJCQkJIGNvbnN0IGNoYXIgKmJ1ZmZlciwKKwkJCQkJIGludCBzaXplLAorCQkJCQkgaW50IHJlY292ZXJ5LAorCQkJCQkgdm9pZCAqZGF0YSk7CitYTUxQVUJGVU4geG1sRG9jUHRyIFhNTENBTEwKKwkJeG1sU0FYUGFyc2VGaWxlCQkoeG1sU0FYSGFuZGxlclB0ciBzYXgsCisJCQkJCSBjb25zdCBjaGFyICpmaWxlbmFtZSwKKwkJCQkJIGludCByZWNvdmVyeSk7CitYTUxQVUJGVU4geG1sRG9jUHRyIFhNTENBTEwKKwkJeG1sU0FYUGFyc2VGaWxlV2l0aERhdGEJKHhtbFNBWEhhbmRsZXJQdHIgc2F4LAorCQkJCQkgY29uc3QgY2hhciAqZmlsZW5hbWUsCisJCQkJCSBpbnQgcmVjb3ZlcnksCisJCQkJCSB2b2lkICpkYXRhKTsKK1hNTFBVQkZVTiB4bWxEb2NQdHIgWE1MQ0FMTAorCQl4bWxTQVhQYXJzZUVudGl0eQkoeG1sU0FYSGFuZGxlclB0ciBzYXgsCisJCQkJCSBjb25zdCBjaGFyICpmaWxlbmFtZSk7CitYTUxQVUJGVU4geG1sRG9jUHRyIFhNTENBTEwKKwkJeG1sUGFyc2VFbnRpdHkJCShjb25zdCBjaGFyICpmaWxlbmFtZSk7CisjZW5kaWYgLyogTElCWE1MX1NBWDFfRU5BQkxFRCAqLworCisjaWZkZWYgTElCWE1MX1ZBTElEX0VOQUJMRUQKK1hNTFBVQkZVTiB4bWxEdGRQdHIgWE1MQ0FMTAorCQl4bWxTQVhQYXJzZURURAkJKHhtbFNBWEhhbmRsZXJQdHIgc2F4LAorCQkJCQkgY29uc3QgeG1sQ2hhciAqRXh0ZXJuYWxJRCwKKwkJCQkJIGNvbnN0IHhtbENoYXIgKlN5c3RlbUlEKTsKK1hNTFBVQkZVTiB4bWxEdGRQdHIgWE1MQ0FMTAorCQl4bWxQYXJzZURURAkJKGNvbnN0IHhtbENoYXIgKkV4dGVybmFsSUQsCisJCQkJCSBjb25zdCB4bWxDaGFyICpTeXN0ZW1JRCk7CitYTUxQVUJGVU4geG1sRHRkUHRyIFhNTENBTEwKKwkJeG1sSU9QYXJzZURURAkJKHhtbFNBWEhhbmRsZXJQdHIgc2F4LAorCQkJCQkgeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIgaW5wdXQsCisJCQkJCSB4bWxDaGFyRW5jb2RpbmcgZW5jKTsKKyNlbmRpZiAvKiBMSUJYTUxfVkFMSURfRU5BQkxFICovCisjaWZkZWYgTElCWE1MX1NBWDFfRU5BQkxFRAorWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCXhtbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeSh4bWxEb2NQdHIgZG9jLAorCQkJCQkgeG1sU0FYSGFuZGxlclB0ciBzYXgsCisJCQkJCSB2b2lkICp1c2VyX2RhdGEsCisJCQkJCSBpbnQgZGVwdGgsCisJCQkJCSBjb25zdCB4bWxDaGFyICpzdHJpbmcsCisJCQkJCSB4bWxOb2RlUHRyICpsc3QpOworI2VuZGlmIC8qIExJQlhNTF9TQVgxX0VOQUJMRUQgKi8KK1hNTFBVQkZVTiB4bWxQYXJzZXJFcnJvcnMgWE1MQ0FMTAorCQl4bWxQYXJzZUluTm9kZUNvbnRleHQJKHhtbE5vZGVQdHIgbm9kZSwKKwkJCQkJIGNvbnN0IGNoYXIgKmRhdGEsCisJCQkJCSBpbnQgZGF0YWxlbiwKKwkJCQkJIGludCBvcHRpb25zLAorCQkJCQkgeG1sTm9kZVB0ciAqbHN0KTsKKyNpZmRlZiBMSUJYTUxfU0FYMV9FTkFCTEVECitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJeG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5UmVjb3Zlcih4bWxEb2NQdHIgZG9jLAorICAgICAgICAgICAgICAgICAgICAgeG1sU0FYSGFuZGxlclB0ciBzYXgsCisgICAgICAgICAgICAgICAgICAgICB2b2lkICp1c2VyX2RhdGEsCisgICAgICAgICAgICAgICAgICAgICBpbnQgZGVwdGgsCisgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICpzdHJpbmcsCisgICAgICAgICAgICAgICAgICAgICB4bWxOb2RlUHRyICpsc3QsCisgICAgICAgICAgICAgICAgICAgICBpbnQgcmVjb3Zlcik7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJeG1sUGFyc2VFeHRlcm5hbEVudGl0eQkoeG1sRG9jUHRyIGRvYywKKwkJCQkJIHhtbFNBWEhhbmRsZXJQdHIgc2F4LAorCQkJCQkgdm9pZCAqdXNlcl9kYXRhLAorCQkJCQkgaW50IGRlcHRoLAorCQkJCQkgY29uc3QgeG1sQ2hhciAqVVJMLAorCQkJCQkgY29uc3QgeG1sQ2hhciAqSUQsCisJCQkJCSB4bWxOb2RlUHRyICpsc3QpOworI2VuZGlmIC8qIExJQlhNTF9TQVgxX0VOQUJMRUQgKi8KK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl4bWxQYXJzZUN0eHRFeHRlcm5hbEVudGl0eSh4bWxQYXJzZXJDdHh0UHRyIGN0eCwKKwkJCQkJIGNvbnN0IHhtbENoYXIgKlVSTCwKKwkJCQkJIGNvbnN0IHhtbENoYXIgKklELAorCQkJCQkgeG1sTm9kZVB0ciAqbHN0KTsKKworLyoKKyAqIFBhcnNlciBjb250ZXh0cyBoYW5kbGluZy4KKyAqLworWE1MUFVCRlVOIHhtbFBhcnNlckN0eHRQdHIgWE1MQ0FMTAorCQl4bWxOZXdQYXJzZXJDdHh0CSh2b2lkKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl4bWxJbml0UGFyc2VyQ3R4dAkoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0KTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJeG1sQ2xlYXJQYXJzZXJDdHh0CSh4bWxQYXJzZXJDdHh0UHRyIGN0eHQpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQl4bWxGcmVlUGFyc2VyQ3R4dAkoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0KTsKKyNpZmRlZiBMSUJYTUxfU0FYMV9FTkFCTEVECitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCXhtbFNldHVwUGFyc2VyRm9yQnVmZmVyCSh4bWxQYXJzZXJDdHh0UHRyIGN0eHQsCisJCQkJCSBjb25zdCB4bWxDaGFyKiBidWZmZXIsCisJCQkJCSBjb25zdCBjaGFyICpmaWxlbmFtZSk7CisjZW5kaWYgLyogTElCWE1MX1NBWDFfRU5BQkxFRCAqLworWE1MUFVCRlVOIHhtbFBhcnNlckN0eHRQdHIgWE1MQ0FMTAorCQl4bWxDcmVhdGVEb2NQYXJzZXJDdHh0CShjb25zdCB4bWxDaGFyICpjdXIpOworCisjaWZkZWYgTElCWE1MX0xFR0FDWV9FTkFCTEVECisvKgorICogUmVhZGluZy9zZXR0aW5nIG9wdGlvbmFsIHBhcnNpbmcgZmVhdHVyZXMuCisgKi8KK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl4bWxHZXRGZWF0dXJlc0xpc3QJKGludCAqbGVuLAorCQkJCQkgY29uc3QgY2hhciAqKnJlc3VsdCk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJeG1sR2V0RmVhdHVyZQkJKHhtbFBhcnNlckN0eHRQdHIgY3R4dCwKKwkJCQkJIGNvbnN0IGNoYXIgKm5hbWUsCisJCQkJCSB2b2lkICpyZXN1bHQpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCXhtbFNldEZlYXR1cmUJCSh4bWxQYXJzZXJDdHh0UHRyIGN0eHQsCisJCQkJCSBjb25zdCBjaGFyICpuYW1lLAorCQkJCQkgdm9pZCAqdmFsdWUpOworI2VuZGlmIC8qIExJQlhNTF9MRUdBQ1lfRU5BQkxFRCAqLworCisjaWZkZWYgTElCWE1MX1BVU0hfRU5BQkxFRAorLyoKKyAqIEludGVyZmFjZXMgZm9yIHRoZSBQdXNoIG1vZGUuCisgKi8KK1hNTFBVQkZVTiB4bWxQYXJzZXJDdHh0UHRyIFhNTENBTEwKKwkJeG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQoeG1sU0FYSGFuZGxlclB0ciBzYXgsCisJCQkJCSB2b2lkICp1c2VyX2RhdGEsCisJCQkJCSBjb25zdCBjaGFyICpjaHVuaywKKwkJCQkJIGludCBzaXplLAorCQkJCQkgY29uc3QgY2hhciAqZmlsZW5hbWUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCXhtbFBhcnNlQ2h1bmsJCSh4bWxQYXJzZXJDdHh0UHRyIGN0eHQsCisJCQkJCSBjb25zdCBjaGFyICpjaHVuaywKKwkJCQkJIGludCBzaXplLAorCQkJCQkgaW50IHRlcm1pbmF0ZSk7CisjZW5kaWYgLyogTElCWE1MX1BVU0hfRU5BQkxFRCAqLworCisvKgorICogU3BlY2lhbCBJL08gbW9kZS4KKyAqLworCitYTUxQVUJGVU4geG1sUGFyc2VyQ3R4dFB0ciBYTUxDQUxMCisJCXhtbENyZWF0ZUlPUGFyc2VyQ3R4dAkoeG1sU0FYSGFuZGxlclB0ciBzYXgsCisJCQkJCSB2b2lkICp1c2VyX2RhdGEsCisJCQkJCSB4bWxJbnB1dFJlYWRDYWxsYmFjayAgIGlvcmVhZCwKKwkJCQkJIHhtbElucHV0Q2xvc2VDYWxsYmFjayAgaW9jbG9zZSwKKwkJCQkJIHZvaWQgKmlvY3R4LAorCQkJCQkgeG1sQ2hhckVuY29kaW5nIGVuYyk7CisKK1hNTFBVQkZVTiB4bWxQYXJzZXJJbnB1dFB0ciBYTUxDQUxMCisJCXhtbE5ld0lPSW5wdXRTdHJlYW0JKHhtbFBhcnNlckN0eHRQdHIgY3R4dCwKKwkJCQkJIHhtbFBhcnNlcklucHV0QnVmZmVyUHRyIGlucHV0LAorCQkJCQkgeG1sQ2hhckVuY29kaW5nIGVuYyk7CisKKy8qCisgKiBOb2RlIGluZm9zLgorICovCitYTUxQVUJGVU4gY29uc3QgeG1sUGFyc2VyTm9kZUluZm8qIFhNTENBTEwKKwkJeG1sUGFyc2VyRmluZE5vZGVJbmZvCShjb25zdCB4bWxQYXJzZXJDdHh0UHRyIGN0eHQsCisJCQkJICAgICAgICAgY29uc3QgeG1sTm9kZVB0ciBub2RlKTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJeG1sSW5pdE5vZGVJbmZvU2VxCSh4bWxQYXJzZXJOb2RlSW5mb1NlcVB0ciBzZXEpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQl4bWxDbGVhck5vZGVJbmZvU2VxCSh4bWxQYXJzZXJOb2RlSW5mb1NlcVB0ciBzZXEpOworWE1MUFVCRlVOIHVuc2lnbmVkIGxvbmcgWE1MQ0FMTAorCQl4bWxQYXJzZXJGaW5kTm9kZUluZm9JbmRleChjb25zdCB4bWxQYXJzZXJOb2RlSW5mb1NlcVB0ciBzZXEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbE5vZGVQdHIgbm9kZSk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCXhtbFBhcnNlckFkZE5vZGVJbmZvCSh4bWxQYXJzZXJDdHh0UHRyIGN0eHQsCisJCQkJCSBjb25zdCB4bWxQYXJzZXJOb2RlSW5mb1B0ciBpbmZvKTsKKworLyoKKyAqIEV4dGVybmFsIGVudGl0aWVzIGhhbmRsaW5nIGFjdHVhbGx5IGltcGxlbWVudGVkIGluIHhtbElPLgorICovCisKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJeG1sU2V0RXh0ZXJuYWxFbnRpdHlMb2FkZXIoeG1sRXh0ZXJuYWxFbnRpdHlMb2FkZXIgZik7CitYTUxQVUJGVU4geG1sRXh0ZXJuYWxFbnRpdHlMb2FkZXIgWE1MQ0FMTAorCQl4bWxHZXRFeHRlcm5hbEVudGl0eUxvYWRlcih2b2lkKTsKK1hNTFBVQkZVTiB4bWxQYXJzZXJJbnB1dFB0ciBYTUxDQUxMCisJCXhtbExvYWRFeHRlcm5hbEVudGl0eQkoY29uc3QgY2hhciAqVVJMLAorCQkJCQkgY29uc3QgY2hhciAqSUQsCisJCQkJCSB4bWxQYXJzZXJDdHh0UHRyIGN0eHQpOworCisvKgorICogSW5kZXggbG9va3VwLCBhY3R1YWxseSBpbXBsZW1lbnRlZCBpbiB0aGUgZW5jb2RpbmcgbW9kdWxlCisgKi8KK1hNTFBVQkZVTiBsb25nIFhNTENBTEwKKwkJeG1sQnl0ZUNvbnN1bWVkCQkoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0KTsKKworLyoKKyAqIE5ldyBzZXQgb2Ygc2ltcGxlci9tb3JlIGZsZXhpYmxlIEFQSXMKKyAqLworLyoqCisgKiB4bWxQYXJzZXJPcHRpb246CisgKgorICogVGhpcyBpcyB0aGUgc2V0IG9mIFhNTCBwYXJzZXIgb3B0aW9ucyB0aGF0IGNhbiBiZSBwYXNzZWQgZG93bgorICogdG8gdGhlIHhtbFJlYWREb2MoKSBhbmQgc2ltaWxhciBjYWxscy4KKyAqLwordHlwZWRlZiBlbnVtIHsKKyAgICBYTUxfUEFSU0VfUkVDT1ZFUgk9IDE8PDAsCS8qIHJlY292ZXIgb24gZXJyb3JzICovCisgICAgWE1MX1BBUlNFX05PRU5UCT0gMTw8MSwJLyogc3Vic3RpdHV0ZSBlbnRpdGllcyAqLworICAgIFhNTF9QQVJTRV9EVERMT0FECT0gMTw8MiwJLyogbG9hZCB0aGUgZXh0ZXJuYWwgc3Vic2V0ICovCisgICAgWE1MX1BBUlNFX0RUREFUVFIJPSAxPDwzLAkvKiBkZWZhdWx0IERURCBhdHRyaWJ1dGVzICovCisgICAgWE1MX1BBUlNFX0RURFZBTElECT0gMTw8NCwJLyogdmFsaWRhdGUgd2l0aCB0aGUgRFREICovCisgICAgWE1MX1BBUlNFX05PRVJST1IJPSAxPDw1LAkvKiBzdXBwcmVzcyBlcnJvciByZXBvcnRzICovCisgICAgWE1MX1BBUlNFX05PV0FSTklORwk9IDE8PDYsCS8qIHN1cHByZXNzIHdhcm5pbmcgcmVwb3J0cyAqLworICAgIFhNTF9QQVJTRV9QRURBTlRJQwk9IDE8PDcsCS8qIHBlZGFudGljIGVycm9yIHJlcG9ydGluZyAqLworICAgIFhNTF9QQVJTRV9OT0JMQU5LUwk9IDE8PDgsCS8qIHJlbW92ZSBibGFuayBub2RlcyAqLworICAgIFhNTF9QQVJTRV9TQVgxCT0gMTw8OSwJLyogdXNlIHRoZSBTQVgxIGludGVyZmFjZSBpbnRlcm5hbGx5ICovCisgICAgWE1MX1BBUlNFX1hJTkNMVURFCT0gMTw8MTAsLyogSW1wbGVtZW50IFhJbmNsdWRlIHN1YnN0aXRpdGlvbiAgKi8KKyAgICBYTUxfUEFSU0VfTk9ORVQJPSAxPDwxMSwvKiBGb3JiaWQgbmV0d29yayBhY2Nlc3MgKi8KKyAgICBYTUxfUEFSU0VfTk9ESUNUCT0gMTw8MTIsLyogRG8gbm90IHJldXNlIHRoZSBjb250ZXh0IGRpY3Rpb25uYXJ5ICovCisgICAgWE1MX1BBUlNFX05TQ0xFQU4JPSAxPDwxMywvKiByZW1vdmUgcmVkdW5kYW50IG5hbWVzcGFjZXMgZGVjbGFyYXRpb25zICovCisgICAgWE1MX1BBUlNFX05PQ0RBVEEJPSAxPDwxNCwvKiBtZXJnZSBDREFUQSBhcyB0ZXh0IG5vZGVzICovCisgICAgWE1MX1BBUlNFX05PWElOQ05PREU9IDE8PDE1LC8qIGRvIG5vdCBnZW5lcmF0ZSBYSU5DTFVERSBTVEFSVC9FTkQgbm9kZXMgKi8KKyAgICBYTUxfUEFSU0VfQ09NUEFDVCAgID0gMTw8MTYsLyogY29tcGFjdCBzbWFsbCB0ZXh0IG5vZGVzOyBubyBtb2RpZmljYXRpb24gb2YKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIHRyZWUgYWxsb3dlZCBhZnRlcndhcmRzICh3aWxsIHBvc3NpYmx5CisJCQkJICAgY3Jhc2ggaWYgeW91IHRyeSB0byBtb2RpZnkgdGhlIHRyZWUpICovCisgICAgWE1MX1BBUlNFX09MRDEwCT0gMTw8MTcsLyogcGFyc2UgdXNpbmcgWE1MLTEuMCBiZWZvcmUgdXBkYXRlIDUgKi8KKyAgICBYTUxfUEFSU0VfTk9CQVNFRklYID0gMTw8MTgsLyogZG8gbm90IGZpeHVwIFhJTkNMVURFIHhtbDpiYXNlIHVyaXMgKi8KKyAgICBYTUxfUEFSU0VfSFVHRSAgICAgID0gMTw8MTksLyogcmVsYXggYW55IGhhcmRjb2RlZCBsaW1pdCBmcm9tIHRoZSBwYXJzZXIgKi8KKyAgICBYTUxfUEFSU0VfT0xEU0FYICAgID0gMTw8MjAsLyogcGFyc2UgdXNpbmcgU0FYMiBpbnRlcmZhY2UgYmVmb3JlIDIuNy4wICovCisgICAgWE1MX1BBUlNFX0lHTk9SRV9FTkM9IDE8PDIxLC8qIGlnbm9yZSBpbnRlcm5hbCBkb2N1bWVudCBlbmNvZGluZyBoaW50ICovCisgICAgWE1MX1BBUlNFX0JJR19MSU5FUyA9IDE8PDIyIC8qIFN0b3JlIGJpZyBsaW5lcyBudW1iZXJzIGluIHRleHQgUFNWSSBmaWVsZCAqLworfSB4bWxQYXJzZXJPcHRpb247CisKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJeG1sQ3R4dFJlc2V0CQkoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0KTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl4bWxDdHh0UmVzZXRQdXNoCSh4bWxQYXJzZXJDdHh0UHRyIGN0eHQsCisJCQkJCSBjb25zdCBjaGFyICpjaHVuaywKKwkJCQkJIGludCBzaXplLAorCQkJCQkgY29uc3QgY2hhciAqZmlsZW5hbWUsCisJCQkJCSBjb25zdCBjaGFyICplbmNvZGluZyk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJeG1sQ3R4dFVzZU9wdGlvbnMJKHhtbFBhcnNlckN0eHRQdHIgY3R4dCwKKwkJCQkJIGludCBvcHRpb25zKTsKK1hNTFBVQkZVTiB4bWxEb2NQdHIgWE1MQ0FMTAorCQl4bWxSZWFkRG9jCQkoY29uc3QgeG1sQ2hhciAqY3VyLAorCQkJCQkgY29uc3QgY2hhciAqVVJMLAorCQkJCQkgY29uc3QgY2hhciAqZW5jb2RpbmcsCisJCQkJCSBpbnQgb3B0aW9ucyk7CitYTUxQVUJGVU4geG1sRG9jUHRyIFhNTENBTEwKKwkJeG1sUmVhZEZpbGUJCShjb25zdCBjaGFyICpVUkwsCisJCQkJCSBjb25zdCBjaGFyICplbmNvZGluZywKKwkJCQkJIGludCBvcHRpb25zKTsKK1hNTFBVQkZVTiB4bWxEb2NQdHIgWE1MQ0FMTAorCQl4bWxSZWFkTWVtb3J5CQkoY29uc3QgY2hhciAqYnVmZmVyLAorCQkJCQkgaW50IHNpemUsCisJCQkJCSBjb25zdCBjaGFyICpVUkwsCisJCQkJCSBjb25zdCBjaGFyICplbmNvZGluZywKKwkJCQkJIGludCBvcHRpb25zKTsKK1hNTFBVQkZVTiB4bWxEb2NQdHIgWE1MQ0FMTAorCQl4bWxSZWFkRmQJCShpbnQgZmQsCisJCQkJCSBjb25zdCBjaGFyICpVUkwsCisJCQkJCSBjb25zdCBjaGFyICplbmNvZGluZywKKwkJCQkJIGludCBvcHRpb25zKTsKK1hNTFBVQkZVTiB4bWxEb2NQdHIgWE1MQ0FMTAorCQl4bWxSZWFkSU8JCSh4bWxJbnB1dFJlYWRDYWxsYmFjayBpb3JlYWQsCisJCQkJCSB4bWxJbnB1dENsb3NlQ2FsbGJhY2sgaW9jbG9zZSwKKwkJCQkJIHZvaWQgKmlvY3R4LAorCQkJCQkgY29uc3QgY2hhciAqVVJMLAorCQkJCQkgY29uc3QgY2hhciAqZW5jb2RpbmcsCisJCQkJCSBpbnQgb3B0aW9ucyk7CitYTUxQVUJGVU4geG1sRG9jUHRyIFhNTENBTEwKKwkJeG1sQ3R4dFJlYWREb2MJCSh4bWxQYXJzZXJDdHh0UHRyIGN0eHQsCisJCQkJCSBjb25zdCB4bWxDaGFyICpjdXIsCisJCQkJCSBjb25zdCBjaGFyICpVUkwsCisJCQkJCSBjb25zdCBjaGFyICplbmNvZGluZywKKwkJCQkJIGludCBvcHRpb25zKTsKK1hNTFBVQkZVTiB4bWxEb2NQdHIgWE1MQ0FMTAorCQl4bWxDdHh0UmVhZEZpbGUJCSh4bWxQYXJzZXJDdHh0UHRyIGN0eHQsCisJCQkJCSBjb25zdCBjaGFyICpmaWxlbmFtZSwKKwkJCQkJIGNvbnN0IGNoYXIgKmVuY29kaW5nLAorCQkJCQkgaW50IG9wdGlvbnMpOworWE1MUFVCRlVOIHhtbERvY1B0ciBYTUxDQUxMCisJCXhtbEN0eHRSZWFkTWVtb3J5CQkoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0LAorCQkJCQkgY29uc3QgY2hhciAqYnVmZmVyLAorCQkJCQkgaW50IHNpemUsCisJCQkJCSBjb25zdCBjaGFyICpVUkwsCisJCQkJCSBjb25zdCBjaGFyICplbmNvZGluZywKKwkJCQkJIGludCBvcHRpb25zKTsKK1hNTFBVQkZVTiB4bWxEb2NQdHIgWE1MQ0FMTAorCQl4bWxDdHh0UmVhZEZkCQkoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0LAorCQkJCQkgaW50IGZkLAorCQkJCQkgY29uc3QgY2hhciAqVVJMLAorCQkJCQkgY29uc3QgY2hhciAqZW5jb2RpbmcsCisJCQkJCSBpbnQgb3B0aW9ucyk7CitYTUxQVUJGVU4geG1sRG9jUHRyIFhNTENBTEwKKwkJeG1sQ3R4dFJlYWRJTwkJKHhtbFBhcnNlckN0eHRQdHIgY3R4dCwKKwkJCQkJIHhtbElucHV0UmVhZENhbGxiYWNrIGlvcmVhZCwKKwkJCQkJIHhtbElucHV0Q2xvc2VDYWxsYmFjayBpb2Nsb3NlLAorCQkJCQkgdm9pZCAqaW9jdHgsCisJCQkJCSBjb25zdCBjaGFyICpVUkwsCisJCQkJCSBjb25zdCBjaGFyICplbmNvZGluZywKKwkJCQkJIGludCBvcHRpb25zKTsKKworLyoKKyAqIExpYnJhcnkgd2lkZSBvcHRpb25zCisgKi8KKy8qKgorICogeG1sRmVhdHVyZToKKyAqCisgKiBVc2VkIHRvIGV4YW1pbmUgdGhlIGV4aXN0YW5jZSBvZiBmZWF0dXJlcyB0aGF0IGNhbiBiZSBlbmFibGVkCisgKiBvciBkaXNhYmxlZCBhdCBjb21waWxlLXRpbWUuCisgKiBUaGV5IHVzZWQgdG8gYmUgY2FsbGVkIFhNTF9GRUFUVVJFX3h4eCBidXQgdGhpcyBjbGFzaGVkIHdpdGggRXhwYXQKKyAqLwordHlwZWRlZiBlbnVtIHsKKyAgICBYTUxfV0lUSF9USFJFQUQgPSAxLAorICAgIFhNTF9XSVRIX1RSRUUgPSAyLAorICAgIFhNTF9XSVRIX09VVFBVVCA9IDMsCisgICAgWE1MX1dJVEhfUFVTSCA9IDQsCisgICAgWE1MX1dJVEhfUkVBREVSID0gNSwKKyAgICBYTUxfV0lUSF9QQVRURVJOID0gNiwKKyAgICBYTUxfV0lUSF9XUklURVIgPSA3LAorICAgIFhNTF9XSVRIX1NBWDEgPSA4LAorICAgIFhNTF9XSVRIX0ZUUCA9IDksCisgICAgWE1MX1dJVEhfSFRUUCA9IDEwLAorICAgIFhNTF9XSVRIX1ZBTElEID0gMTEsCisgICAgWE1MX1dJVEhfSFRNTCA9IDEyLAorICAgIFhNTF9XSVRIX0xFR0FDWSA9IDEzLAorICAgIFhNTF9XSVRIX0MxNE4gPSAxNCwKKyAgICBYTUxfV0lUSF9DQVRBTE9HID0gMTUsCisgICAgWE1MX1dJVEhfWFBBVEggPSAxNiwKKyAgICBYTUxfV0lUSF9YUFRSID0gMTcsCisgICAgWE1MX1dJVEhfWElOQ0xVREUgPSAxOCwKKyAgICBYTUxfV0lUSF9JQ09OViA9IDE5LAorICAgIFhNTF9XSVRIX0lTTzg4NTlYID0gMjAsCisgICAgWE1MX1dJVEhfVU5JQ09ERSA9IDIxLAorICAgIFhNTF9XSVRIX1JFR0VYUCA9IDIyLAorICAgIFhNTF9XSVRIX0FVVE9NQVRBID0gMjMsCisgICAgWE1MX1dJVEhfRVhQUiA9IDI0LAorICAgIFhNTF9XSVRIX1NDSEVNQVMgPSAyNSwKKyAgICBYTUxfV0lUSF9TQ0hFTUFUUk9OID0gMjYsCisgICAgWE1MX1dJVEhfTU9EVUxFUyA9IDI3LAorICAgIFhNTF9XSVRIX0RFQlVHID0gMjgsCisgICAgWE1MX1dJVEhfREVCVUdfTUVNID0gMjksCisgICAgWE1MX1dJVEhfREVCVUdfUlVOID0gMzAsCisgICAgWE1MX1dJVEhfWkxJQiA9IDMxLAorICAgIFhNTF9XSVRIX0lDVSA9IDMyLAorICAgIFhNTF9XSVRIX0xaTUEgPSAzMywKKyAgICBYTUxfV0lUSF9OT05FID0gOTk5OTkgLyoganVzdCB0byBiZSBzdXJlIG9mIGFsbG9jYXRpb24gc2l6ZSAqLworfSB4bWxGZWF0dXJlOworCitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJeG1sSGFzRmVhdHVyZQkJKHhtbEZlYXR1cmUgZmVhdHVyZSk7CisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCisjZW5kaWYgLyogX19YTUxfUEFSU0VSX0hfXyAqLwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9pbmNsdWRlL2xpYnhtbC9wYXJzZXJJbnRlcm5hbHMuaCBiL2xpYnhtbDIvaW5jbHVkZS9saWJ4bWwvcGFyc2VySW50ZXJuYWxzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjA2NTMyMAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvaW5jbHVkZS9saWJ4bWwvcGFyc2VySW50ZXJuYWxzLmgKQEAgLTAsMCArMSw2NDQgQEAKKy8qCisgKiBTdW1tYXJ5OiBpbnRlcm5hbHMgcm91dGluZXMgYW5kIGxpbWl0cyBleHBvcnRlZCBieSB0aGUgcGFyc2VyLgorICogRGVzY3JpcHRpb246IHRoaXMgbW9kdWxlIGV4cG9ydHMgYSBudW1iZXIgb2YgaW50ZXJuYWwgcGFyc2luZyByb3V0aW5lcworICogICAgICAgICAgICAgIHRoZXkgYXJlIG5vdCByZWFsbHkgYWxsIGludGVuZGVkIGZvciBhcHBsaWNhdGlvbnMgYnV0CisgKiAgICAgICAgICAgICAgY2FuIHByb3ZlIHVzZWZ1bCBkb2luZyBsb3cgbGV2ZWwgcHJvY2Vzc2luZy4KKyAqCisgKiBDb3B5OiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisgKgorICogQXV0aG9yOiBEYW5pZWwgVmVpbGxhcmQKKyAqLworCisjaWZuZGVmIF9fWE1MX1BBUlNFUl9JTlRFUk5BTFNfSF9fCisjZGVmaW5lIF9fWE1MX1BBUlNFUl9JTlRFUk5BTFNfSF9fCisKKyNpbmNsdWRlIDxsaWJ4bWwveG1sdmVyc2lvbi5oPgorI2luY2x1ZGUgPGxpYnhtbC9wYXJzZXIuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvSFRNTHBhcnNlci5oPgorI2luY2x1ZGUgPGxpYnhtbC9jaHZhbGlkLmg+CisKKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7CisjZW5kaWYKKworLyoqCisgKiB4bWxQYXJzZXJNYXhEZXB0aDoKKyAqCisgKiBhcmJpdHJhcnkgZGVwdGggbGltaXQgZm9yIHRoZSBYTUwgZG9jdW1lbnRzIHRoYXQgd2UgYWxsb3cgdG8KKyAqIHByb2Nlc3MuIFRoaXMgaXMgbm90IGEgbGltaXRhdGlvbiBvZiB0aGUgcGFyc2VyIGJ1dCBhIHNhZmV0eQorICogYm91bmRhcnkgZmVhdHVyZSwgdXNlIFhNTF9QQVJTRV9IVUdFIG9wdGlvbiB0byBvdmVycmlkZSBpdC4KKyAqLworWE1MUFVCVkFSIHVuc2lnbmVkIGludCB4bWxQYXJzZXJNYXhEZXB0aDsKKworLyoqCisgKiBYTUxfTUFYX1RFWFRfTEVOR1RIOgorICoKKyAqIE1heGltdW0gc2l6ZSBhbGxvd2VkIGZvciBhIHNpbmdsZSB0ZXh0IG5vZGUgd2hlbiBidWlsZGluZyBhIHRyZWUuCisgKiBUaGlzIGlzIG5vdCBhIGxpbWl0YXRpb24gb2YgdGhlIHBhcnNlciBidXQgYSBzYWZldHkgYm91bmRhcnkgZmVhdHVyZSwKKyAqIHVzZSBYTUxfUEFSU0VfSFVHRSBvcHRpb24gdG8gb3ZlcnJpZGUgaXQuCisgKiBJbnRyb2R1Y2VkIGluIDIuOS4wCisgKi8KKyNkZWZpbmUgWE1MX01BWF9URVhUX0xFTkdUSCAxMDAwMDAwMAorCisvKioKKyAqIFhNTF9NQVhfTkFNRV9MRU5HVEg6CisgKgorICogTWF4aW11bSBzaXplIGFsbG93ZWQgZm9yIGEgbWFya3VwIGlkZW50aXRpZXIKKyAqIFRoaXMgaXMgbm90IGEgbGltaXRhdGlvbiBvZiB0aGUgcGFyc2VyIGJ1dCBhIHNhZmV0eSBib3VuZGFyeSBmZWF0dXJlLAorICogdXNlIFhNTF9QQVJTRV9IVUdFIG9wdGlvbiB0byBvdmVycmlkZSBpdC4KKyAqIE5vdGUgdGhhdCB3aXRoIHRoZSB1c2Ugb2YgcGFyc2luZyBkaWN0aW9uYXJpZXMgb3ZlcnJpZGluZyB0aGUgbGltaXQKKyAqIG1heSByZXN1bHQgaW4gbW9yZSBydW50aW1lIG1lbW9yeSB1c2FnZSBpbiBmYWNlIG9mICJ1bmZyaWVuZGx5JyBjb250ZW50CisgKiBJbnRyb2R1Y2VkIGluIDIuOS4wCisgKi8KKyNkZWZpbmUgWE1MX01BWF9OQU1FX0xFTkdUSCA1MDAwMAorCisvKioKKyAqIFhNTF9NQVhfRElDVElPTkFSWV9MSU1JVDoKKyAqCisgKiBNYXhpbXVtIHNpemUgYWxsb3dlZCBieSB0aGUgcGFyc2VyIGZvciBhIGRpY3Rpb25hcnkgYnkgZGVmYXVsdAorICogVGhpcyBpcyBub3QgYSBsaW1pdGF0aW9uIG9mIHRoZSBwYXJzZXIgYnV0IGEgc2FmZXR5IGJvdW5kYXJ5IGZlYXR1cmUsCisgKiB1c2UgWE1MX1BBUlNFX0hVR0Ugb3B0aW9uIHRvIG92ZXJyaWRlIGl0LgorICogSW50cm9kdWNlZCBpbiAyLjkuMAorICovCisjZGVmaW5lIFhNTF9NQVhfRElDVElPTkFSWV9MSU1JVCAxMDAwMDAwMAorCisvKioKKyAqIFhNTF9NQVhfTE9PS1VQX0xJTUlUOgorICoKKyAqIE1heGltdW0gc2l6ZSBhbGxvd2VkIGJ5IHRoZSBwYXJzZXIgZm9yIGFoZWFkIGxvb2t1cAorICogVGhpcyBpcyBhbiB1cHBlciBib3VuZGFyeSBlbmZvcmNlZCBieSB0aGUgcGFyc2VyIHRvIGF2b2lkIGJhZAorICogYmVoYXZpb3VyIG9uICJ1bmZyaWVuZGx5JyBjb250ZW50CisgKiBJbnRyb2R1Y2VkIGluIDIuOS4wCisgKi8KKyNkZWZpbmUgWE1MX01BWF9MT09LVVBfTElNSVQgMTAwMDAwMDAKKworLyoqCisgKiBYTUxfTUFYX05BTUVMRU46CisgKgorICogSWRlbnRpZmllcnMgY2FuIGJlIGxvbmdlciwgYnV0IHRoaXMgd2lsbCBiZSBtb3JlIGNvc3RseQorICogYXQgcnVudGltZS4KKyAqLworI2RlZmluZSBYTUxfTUFYX05BTUVMRU4gMTAwCisKKy8qKgorICogSU5QVVRfQ0hVTks6CisgKgorICogVGhlIHBhcnNlciB0cmllcyB0byBhbHdheXMgaGF2ZSB0aGF0IGFtb3VudCBvZiBpbnB1dCByZWFkeS4KKyAqIE9uZSBvZiB0aGUgcG9pbnQgaXMgcHJvdmlkaW5nIGNvbnRleHQgd2hlbiByZXBvcnRpbmcgZXJyb3JzLgorICovCisjZGVmaW5lIElOUFVUX0NIVU5LCTI1MAorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqIFVOSUNPREUgdmVyc2lvbiBvZiB0aGUgbWFjcm9zLgkJCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyoqCisgKiBJU19CWVRFX0NIQVI6CisgKiBAYzogIGFuIGJ5dGUgdmFsdWUgKGludCkKKyAqCisgKiBNYWNybyB0byBjaGVjayB0aGUgZm9sbG93aW5nIHByb2R1Y3Rpb24gaW4gdGhlIFhNTCBzcGVjOgorICoKKyAqIFsyXSBDaGFyIDo6PSAjeDkgfCAjeEEgfCAjeEQgfCBbI3gyMC4uLl0KKyAqIGFueSBieXRlIGNoYXJhY3RlciBpbiB0aGUgYWNjZXB0ZWQgcmFuZ2UKKyAqLworI2RlZmluZSBJU19CWVRFX0NIQVIoYykJIHhtbElzQ2hhcl9jaChjKQorCisvKioKKyAqIElTX0NIQVI6CisgKiBAYzogIGFuIFVOSUNPREUgdmFsdWUgKGludCkKKyAqCisgKiBNYWNybyB0byBjaGVjayB0aGUgZm9sbG93aW5nIHByb2R1Y3Rpb24gaW4gdGhlIFhNTCBzcGVjOgorICoKKyAqIFsyXSBDaGFyIDo6PSAjeDkgfCAjeEEgfCAjeEQgfCBbI3gyMC0jeEQ3RkZdIHwgWyN4RTAwMC0jeEZGRkRdCisgKiAgICAgICAgICAgICAgICAgIHwgWyN4MTAwMDAtI3gxMEZGRkZdCisgKiBhbnkgVW5pY29kZSBjaGFyYWN0ZXIsIGV4Y2x1ZGluZyB0aGUgc3Vycm9nYXRlIGJsb2NrcywgRkZGRSwgYW5kIEZGRkYuCisgKi8KKyNkZWZpbmUgSVNfQ0hBUihjKSAgIHhtbElzQ2hhclEoYykKKworLyoqCisgKiBJU19DSEFSX0NIOgorICogQGM6IGFuIHhtbENoYXIgKHVzdWFsbHkgYW4gdW5zaWduZWQgY2hhcikKKyAqCisgKiBCZWhhdmVzIGxpa2UgSVNfQ0hBUiBvbiBzaW5nbGUtYnl0ZSB2YWx1ZQorICovCisjZGVmaW5lIElTX0NIQVJfQ0goYykgIHhtbElzQ2hhcl9jaChjKQorCisvKioKKyAqIElTX0JMQU5LOgorICogQGM6ICBhbiBVTklDT0RFIHZhbHVlIChpbnQpCisgKgorICogTWFjcm8gdG8gY2hlY2sgdGhlIGZvbGxvd2luZyBwcm9kdWN0aW9uIGluIHRoZSBYTUwgc3BlYzoKKyAqCisgKiBbM10gUyA6Oj0gKCN4MjAgfCAjeDkgfCAjeEQgfCAjeEEpKworICovCisjZGVmaW5lIElTX0JMQU5LKGMpICB4bWxJc0JsYW5rUShjKQorCisvKioKKyAqIElTX0JMQU5LX0NIOgorICogQGM6ICBhbiB4bWxDaGFyIHZhbHVlIChub3JtYWxseSB1bnNpZ25lZCBjaGFyKQorICoKKyAqIEJlaGF2aW91ciBzYW1lIGFzIElTX0JMQU5LCisgKi8KKyNkZWZpbmUgSVNfQkxBTktfQ0goYykgIHhtbElzQmxhbmtfY2goYykKKworLyoqCisgKiBJU19CQVNFQ0hBUjoKKyAqIEBjOiAgYW4gVU5JQ09ERSB2YWx1ZSAoaW50KQorICoKKyAqIE1hY3JvIHRvIGNoZWNrIHRoZSBmb2xsb3dpbmcgcHJvZHVjdGlvbiBpbiB0aGUgWE1MIHNwZWM6CisgKgorICogWzg1XSBCYXNlQ2hhciA6Oj0gLi4uIGxvbmcgbGlzdCBzZWUgUkVDIC4uLgorICovCisjZGVmaW5lIElTX0JBU0VDSEFSKGMpIHhtbElzQmFzZUNoYXJRKGMpCisKKy8qKgorICogSVNfRElHSVQ6CisgKiBAYzogIGFuIFVOSUNPREUgdmFsdWUgKGludCkKKyAqCisgKiBNYWNybyB0byBjaGVjayB0aGUgZm9sbG93aW5nIHByb2R1Y3Rpb24gaW4gdGhlIFhNTCBzcGVjOgorICoKKyAqIFs4OF0gRGlnaXQgOjo9IC4uLiBsb25nIGxpc3Qgc2VlIFJFQyAuLi4KKyAqLworI2RlZmluZSBJU19ESUdJVChjKSB4bWxJc0RpZ2l0UShjKQorCisvKioKKyAqIElTX0RJR0lUX0NIOgorICogQGM6ICBhbiB4bWxDaGFyIHZhbHVlICh1c3VhbGx5IGFuIHVuc2lnbmVkIGNoYXIpCisgKgorICogQmVoYXZlcyBsaWtlIElTX0RJR0lUIGJ1dCB3aXRoIGEgc2luZ2xlIGJ5dGUgYXJndW1lbnQKKyAqLworI2RlZmluZSBJU19ESUdJVF9DSChjKSAgeG1sSXNEaWdpdF9jaChjKQorCisvKioKKyAqIElTX0NPTUJJTklORzoKKyAqIEBjOiAgYW4gVU5JQ09ERSB2YWx1ZSAoaW50KQorICoKKyAqIE1hY3JvIHRvIGNoZWNrIHRoZSBmb2xsb3dpbmcgcHJvZHVjdGlvbiBpbiB0aGUgWE1MIHNwZWM6CisgKgorICogWzg3XSBDb21iaW5pbmdDaGFyIDo6PSAuLi4gbG9uZyBsaXN0IHNlZSBSRUMgLi4uCisgKi8KKyNkZWZpbmUgSVNfQ09NQklOSU5HKGMpIHhtbElzQ29tYmluaW5nUShjKQorCisvKioKKyAqIElTX0NPTUJJTklOR19DSDoKKyAqIEBjOiAgYW4geG1sQ2hhciAodXN1YWxseSBhbiB1bnNpZ25lZCBjaGFyKQorICoKKyAqIEFsd2F5cyBmYWxzZSAoYWxsIGNvbWJpbmluZyBjaGFycyA+IDB4ZmYpCisgKi8KKyNkZWZpbmUgSVNfQ09NQklOSU5HX0NIKGMpIDAKKworLyoqCisgKiBJU19FWFRFTkRFUjoKKyAqIEBjOiAgYW4gVU5JQ09ERSB2YWx1ZSAoaW50KQorICoKKyAqIE1hY3JvIHRvIGNoZWNrIHRoZSBmb2xsb3dpbmcgcHJvZHVjdGlvbiBpbiB0aGUgWE1MIHNwZWM6CisgKgorICoKKyAqIFs4OV0gRXh0ZW5kZXIgOjo9ICN4MDBCNyB8ICN4MDJEMCB8ICN4MDJEMSB8ICN4MDM4NyB8ICN4MDY0MCB8CisgKiAgICAgICAgICAgICAgICAgICAjeDBFNDYgfCAjeDBFQzYgfCAjeDMwMDUgfCBbI3gzMDMxLSN4MzAzNV0gfAorICogICAgICAgICAgICAgICAgICAgWyN4MzA5RC0jeDMwOUVdIHwgWyN4MzBGQy0jeDMwRkVdCisgKi8KKyNkZWZpbmUgSVNfRVhURU5ERVIoYykgeG1sSXNFeHRlbmRlclEoYykKKworLyoqCisgKiBJU19FWFRFTkRFUl9DSDoKKyAqIEBjOiAgYW4geG1sQ2hhciB2YWx1ZSAodXN1YWxseSBhbiB1bnNpZ25lZCBjaGFyKQorICoKKyAqIEJlaGF2ZXMgbGlrZSBJU19FWFRFTkRFUiBidXQgd2l0aCBhIHNpbmdsZS1ieXRlIGFyZ3VtZW50CisgKi8KKyNkZWZpbmUgSVNfRVhURU5ERVJfQ0goYykgIHhtbElzRXh0ZW5kZXJfY2goYykKKworLyoqCisgKiBJU19JREVPR1JBUEhJQzoKKyAqIEBjOiAgYW4gVU5JQ09ERSB2YWx1ZSAoaW50KQorICoKKyAqIE1hY3JvIHRvIGNoZWNrIHRoZSBmb2xsb3dpbmcgcHJvZHVjdGlvbiBpbiB0aGUgWE1MIHNwZWM6CisgKgorICoKKyAqIFs4Nl0gSWRlb2dyYXBoaWMgOjo9IFsjeDRFMDAtI3g5RkE1XSB8ICN4MzAwNyB8IFsjeDMwMjEtI3gzMDI5XQorICovCisjZGVmaW5lIElTX0lERU9HUkFQSElDKGMpIHhtbElzSWRlb2dyYXBoaWNRKGMpCisKKy8qKgorICogSVNfTEVUVEVSOgorICogQGM6ICBhbiBVTklDT0RFIHZhbHVlIChpbnQpCisgKgorICogTWFjcm8gdG8gY2hlY2sgdGhlIGZvbGxvd2luZyBwcm9kdWN0aW9uIGluIHRoZSBYTUwgc3BlYzoKKyAqCisgKgorICogWzg0XSBMZXR0ZXIgOjo9IEJhc2VDaGFyIHwgSWRlb2dyYXBoaWMKKyAqLworI2RlZmluZSBJU19MRVRURVIoYykgKElTX0JBU0VDSEFSKGMpIHx8IElTX0lERU9HUkFQSElDKGMpKQorCisvKioKKyAqIElTX0xFVFRFUl9DSDoKKyAqIEBjOiAgYW4geG1sQ2hhciB2YWx1ZSAobm9ybWFsbHkgdW5zaWduZWQgY2hhcikKKyAqCisgKiBNYWNybyBiZWhhdmVzIGxpa2UgSVNfTEVUVEVSLCBidXQgb25seSBjaGVjayBiYXNlIGNoYXJzCisgKgorICovCisjZGVmaW5lIElTX0xFVFRFUl9DSChjKSB4bWxJc0Jhc2VDaGFyX2NoKGMpCisKKy8qKgorICogSVNfQVNDSUlfTEVUVEVSOgorICogQGM6IGFuIHhtbENoYXIgdmFsdWUKKyAqCisgKiBNYWNybyB0byBjaGVjayBbYS16QS1aXQorICoKKyAqLworI2RlZmluZSBJU19BU0NJSV9MRVRURVIoYykJKCgoMHg0MSA8PSAoYykpICYmICgoYykgPD0gMHg1YSkpIHx8IFwKKwkJCQkgKCgweDYxIDw9IChjKSkgJiYgKChjKSA8PSAweDdhKSkpCisKKy8qKgorICogSVNfQVNDSUlfRElHSVQ6CisgKiBAYzogYW4geG1sQ2hhciB2YWx1ZQorICoKKyAqIE1hY3JvIHRvIGNoZWNrIFswLTldCisgKgorICovCisjZGVmaW5lIElTX0FTQ0lJX0RJR0lUKGMpCSgoMHgzMCA8PSAoYykpICYmICgoYykgPD0gMHgzOSkpCisKKy8qKgorICogSVNfUFVCSURDSEFSOgorICogQGM6ICBhbiBVTklDT0RFIHZhbHVlIChpbnQpCisgKgorICogTWFjcm8gdG8gY2hlY2sgdGhlIGZvbGxvd2luZyBwcm9kdWN0aW9uIGluIHRoZSBYTUwgc3BlYzoKKyAqCisgKgorICogWzEzXSBQdWJpZENoYXIgOjo9ICN4MjAgfCAjeEQgfCAjeEEgfCBbYS16QS1aMC05XSB8IFstJygpKywuLzo9PzshKiNAJF8lXQorICovCisjZGVmaW5lIElTX1BVQklEQ0hBUihjKQl4bWxJc1B1YmlkQ2hhclEoYykKKworLyoqCisgKiBJU19QVUJJRENIQVJfQ0g6CisgKiBAYzogIGFuIHhtbENoYXIgdmFsdWUgKG5vcm1hbGx5IHVuc2lnbmVkIGNoYXIpCisgKgorICogU2FtZSBhcyBJU19QVUJJRENIQVIgYnV0IGZvciBzaW5nbGUtYnl0ZSB2YWx1ZQorICovCisjZGVmaW5lIElTX1BVQklEQ0hBUl9DSChjKSB4bWxJc1B1YmlkQ2hhcl9jaChjKQorCisvKioKKyAqIFNLSVBfRU9MOgorICogQHA6ICBhbmQgVVRGOCBzdHJpbmcgcG9pbnRlcgorICoKKyAqIFNraXBzIHRoZSBlbmQgb2YgbGluZSBjaGFycy4KKyAqLworI2RlZmluZSBTS0lQX0VPTChwKQkJCQkJCQlcCisgICAgaWYgKCoocCkgPT0gMHgxMykgeyBwKysgOyBpZiAoKihwKSA9PSAweDEwKSBwKys7IH0JCQlcCisgICAgaWYgKCoocCkgPT0gMHgxMCkgeyBwKysgOyBpZiAoKihwKSA9PSAweDEzKSBwKys7IH0KKworLyoqCisgKiBNT1ZFVE9fRU5EVEFHOgorICogQHA6ICBhbmQgVVRGOCBzdHJpbmcgcG9pbnRlcgorICoKKyAqIFNraXBzIHRvIHRoZSBuZXh0ICc+JyBjaGFyLgorICovCisjZGVmaW5lIE1PVkVUT19FTkRUQUcocCkJCQkJCQlcCisgICAgd2hpbGUgKCgqcCkgJiYgKCoocCkgIT0gJz4nKSkgKHApKysKKworLyoqCisgKiBNT1ZFVE9fU1RBUlRUQUc6CisgKiBAcDogIGFuZCBVVEY4IHN0cmluZyBwb2ludGVyCisgKgorICogU2tpcHMgdG8gdGhlIG5leHQgJzwnIGNoYXIuCisgKi8KKyNkZWZpbmUgTU9WRVRPX1NUQVJUVEFHKHApCQkJCQkJXAorICAgIHdoaWxlICgoKnApICYmICgqKHApICE9ICc8JykpIChwKSsrCisKKy8qKgorICogR2xvYmFsIHZhcmlhYmxlcyB1c2VkIGZvciBwcmVkZWZpbmVkIHN0cmluZ3MuCisgKi8KK1hNTFBVQlZBUiBjb25zdCB4bWxDaGFyIHhtbFN0cmluZ1RleHRbXTsKK1hNTFBVQlZBUiBjb25zdCB4bWxDaGFyIHhtbFN0cmluZ1RleHROb2VuY1tdOworWE1MUFVCVkFSIGNvbnN0IHhtbENoYXIgeG1sU3RyaW5nQ29tbWVudFtdOworCisvKgorICogRnVuY3Rpb24gdG8gZmluaXNoIHRoZSB3b3JrIG9mIHRoZSBtYWNyb3Mgd2hlcmUgbmVlZGVkLgorICovCitYTUxQVUJGVU4gaW50IFhNTENBTEwgICAgICAgICAgICAgICAgICAgeG1sSXNMZXR0ZXIgICAgIChpbnQgYyk7CisKKy8qKgorICogUGFyc2VyIGNvbnRleHQuCisgKi8KK1hNTFBVQkZVTiB4bWxQYXJzZXJDdHh0UHRyIFhNTENBTEwKKwkJCXhtbENyZWF0ZUZpbGVQYXJzZXJDdHh0CShjb25zdCBjaGFyICpmaWxlbmFtZSk7CitYTUxQVUJGVU4geG1sUGFyc2VyQ3R4dFB0ciBYTUxDQUxMCisJCQl4bWxDcmVhdGVVUkxQYXJzZXJDdHh0CShjb25zdCBjaGFyICpmaWxlbmFtZSwKKwkJCQkJCSBpbnQgb3B0aW9ucyk7CitYTUxQVUJGVU4geG1sUGFyc2VyQ3R4dFB0ciBYTUxDQUxMCisJCQl4bWxDcmVhdGVNZW1vcnlQYXJzZXJDdHh0KGNvbnN0IGNoYXIgKmJ1ZmZlciwKKwkJCQkJCSBpbnQgc2l6ZSk7CitYTUxQVUJGVU4geG1sUGFyc2VyQ3R4dFB0ciBYTUxDQUxMCisJCQl4bWxDcmVhdGVFbnRpdHlQYXJzZXJDdHh0KGNvbnN0IHhtbENoYXIgKlVSTCwKKwkJCQkJCSBjb25zdCB4bWxDaGFyICpJRCwKKwkJCQkJCSBjb25zdCB4bWxDaGFyICpiYXNlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQkJeG1sU3dpdGNoRW5jb2RpbmcJKHhtbFBhcnNlckN0eHRQdHIgY3R4dCwKKwkJCQkJCSB4bWxDaGFyRW5jb2RpbmcgZW5jKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQkJeG1sU3dpdGNoVG9FbmNvZGluZwkoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0LAorCQkJCQkgeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0ciBoYW5kbGVyKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQkJeG1sU3dpdGNoSW5wdXRFbmNvZGluZwkoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0LAorCQkJCQkJIHhtbFBhcnNlcklucHV0UHRyIGlucHV0LAorCQkJCQkgeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0ciBoYW5kbGVyKTsKKworI2lmZGVmIElOX0xJQlhNTAorLyogaW50ZXJuYWwgZXJyb3IgcmVwb3J0aW5nICovCitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCQlfX3htbEVyckVuY29kaW5nCSh4bWxQYXJzZXJDdHh0UHRyIGN0eHQsCisJCQkJCQkgeG1sUGFyc2VyRXJyb3JzIHhtbGVyciwKKwkJCQkJCSBjb25zdCBjaGFyICptc2csCisJCQkJCQkgY29uc3QgeG1sQ2hhciAqIHN0cjEsCisJCQkJCQkgY29uc3QgeG1sQ2hhciAqIHN0cjIpOworI2VuZGlmCisKKy8qKgorICogSW5wdXQgU3RyZWFtcy4KKyAqLworWE1MUFVCRlVOIHhtbFBhcnNlcklucHV0UHRyIFhNTENBTEwKKwkJCXhtbE5ld1N0cmluZ0lucHV0U3RyZWFtCSh4bWxQYXJzZXJDdHh0UHRyIGN0eHQsCisJCQkJCQkgY29uc3QgeG1sQ2hhciAqYnVmZmVyKTsKK1hNTFBVQkZVTiB4bWxQYXJzZXJJbnB1dFB0ciBYTUxDQUxMCisJCQl4bWxOZXdFbnRpdHlJbnB1dFN0cmVhbQkoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0LAorCQkJCQkJIHhtbEVudGl0eVB0ciBlbnRpdHkpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCQl4bWxQdXNoSW5wdXQJCSh4bWxQYXJzZXJDdHh0UHRyIGN0eHQsCisJCQkJCQkgeG1sUGFyc2VySW5wdXRQdHIgaW5wdXQpOworWE1MUFVCRlVOIHhtbENoYXIgWE1MQ0FMTAorCQkJeG1sUG9wSW5wdXQJCSh4bWxQYXJzZXJDdHh0UHRyIGN0eHQpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQkJeG1sRnJlZUlucHV0U3RyZWFtCSh4bWxQYXJzZXJJbnB1dFB0ciBpbnB1dCk7CitYTUxQVUJGVU4geG1sUGFyc2VySW5wdXRQdHIgWE1MQ0FMTAorCQkJeG1sTmV3SW5wdXRGcm9tRmlsZQkoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0LAorCQkJCQkJIGNvbnN0IGNoYXIgKmZpbGVuYW1lKTsKK1hNTFBVQkZVTiB4bWxQYXJzZXJJbnB1dFB0ciBYTUxDQUxMCisJCQl4bWxOZXdJbnB1dFN0cmVhbQkoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0KTsKKworLyoqCisgKiBOYW1lc3BhY2VzLgorICovCitYTUxQVUJGVU4geG1sQ2hhciAqIFhNTENBTEwKKwkJCXhtbFNwbGl0UU5hbWUJCSh4bWxQYXJzZXJDdHh0UHRyIGN0eHQsCisJCQkJCQkgY29uc3QgeG1sQ2hhciAqbmFtZSwKKwkJCQkJCSB4bWxDaGFyICoqcHJlZml4KTsKKworLyoqCisgKiBHZW5lcmljIHByb2R1Y3Rpb24gcnVsZXMuCisgKi8KK1hNTFBVQkZVTiBjb25zdCB4bWxDaGFyICogWE1MQ0FMTAorCQkJeG1sUGFyc2VOYW1lCQkoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0KTsKK1hNTFBVQkZVTiB4bWxDaGFyICogWE1MQ0FMTAorCQkJeG1sUGFyc2VObXRva2VuCQkoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0KTsKK1hNTFBVQkZVTiB4bWxDaGFyICogWE1MQ0FMTAorCQkJeG1sUGFyc2VFbnRpdHlWYWx1ZQkoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0LAorCQkJCQkJIHhtbENoYXIgKipvcmlnKTsKK1hNTFBVQkZVTiB4bWxDaGFyICogWE1MQ0FMTAorCQkJeG1sUGFyc2VBdHRWYWx1ZQkoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0KTsKK1hNTFBVQkZVTiB4bWxDaGFyICogWE1MQ0FMTAorCQkJeG1sUGFyc2VTeXN0ZW1MaXRlcmFsCSh4bWxQYXJzZXJDdHh0UHRyIGN0eHQpOworWE1MUFVCRlVOIHhtbENoYXIgKiBYTUxDQUxMCisJCQl4bWxQYXJzZVB1YmlkTGl0ZXJhbAkoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0KTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJCXhtbFBhcnNlQ2hhckRhdGEJKHhtbFBhcnNlckN0eHRQdHIgY3R4dCwKKwkJCQkJCSBpbnQgY2RhdGEpOworWE1MUFVCRlVOIHhtbENoYXIgKiBYTUxDQUxMCisJCQl4bWxQYXJzZUV4dGVybmFsSUQJKHhtbFBhcnNlckN0eHRQdHIgY3R4dCwKKwkJCQkJCSB4bWxDaGFyICoqcHVibGljSUQsCisJCQkJCQkgaW50IHN0cmljdCk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCQl4bWxQYXJzZUNvbW1lbnQJCSh4bWxQYXJzZXJDdHh0UHRyIGN0eHQpOworWE1MUFVCRlVOIGNvbnN0IHhtbENoYXIgKiBYTUxDQUxMCisJCQl4bWxQYXJzZVBJVGFyZ2V0CSh4bWxQYXJzZXJDdHh0UHRyIGN0eHQpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQkJeG1sUGFyc2VQSQkJKHhtbFBhcnNlckN0eHRQdHIgY3R4dCk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCQl4bWxQYXJzZU5vdGF0aW9uRGVjbAkoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0KTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJCXhtbFBhcnNlRW50aXR5RGVjbAkoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0KTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQkJeG1sUGFyc2VEZWZhdWx0RGVjbAkoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0LAorCQkJCQkJIHhtbENoYXIgKip2YWx1ZSk7CitYTUxQVUJGVU4geG1sRW51bWVyYXRpb25QdHIgWE1MQ0FMTAorCQkJeG1sUGFyc2VOb3RhdGlvblR5cGUJKHhtbFBhcnNlckN0eHRQdHIgY3R4dCk7CitYTUxQVUJGVU4geG1sRW51bWVyYXRpb25QdHIgWE1MQ0FMTAorCQkJeG1sUGFyc2VFbnVtZXJhdGlvblR5cGUJKHhtbFBhcnNlckN0eHRQdHIgY3R4dCk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJCXhtbFBhcnNlRW51bWVyYXRlZFR5cGUJKHhtbFBhcnNlckN0eHRQdHIgY3R4dCwKKwkJCQkJCSB4bWxFbnVtZXJhdGlvblB0ciAqdHJlZSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJCXhtbFBhcnNlQXR0cmlidXRlVHlwZQkoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0LAorCQkJCQkJIHhtbEVudW1lcmF0aW9uUHRyICp0cmVlKTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJCXhtbFBhcnNlQXR0cmlidXRlTGlzdERlY2woeG1sUGFyc2VyQ3R4dFB0ciBjdHh0KTsKK1hNTFBVQkZVTiB4bWxFbGVtZW50Q29udGVudFB0ciBYTUxDQUxMCisJCQl4bWxQYXJzZUVsZW1lbnRNaXhlZENvbnRlbnREZWNsCisJCQkJCQkoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0LAorCQkJCQkJIGludCBpbnB1dGNoayk7CitYTUxQVUJGVU4geG1sRWxlbWVudENvbnRlbnRQdHIgWE1MQ0FMTAorCQkJeG1sUGFyc2VFbGVtZW50Q2hpbGRyZW5Db250ZW50RGVjbAorCQkJCQkJKHhtbFBhcnNlckN0eHRQdHIgY3R4dCwKKwkJCQkJCSBpbnQgaW5wdXRjaGspOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCQl4bWxQYXJzZUVsZW1lbnRDb250ZW50RGVjbCh4bWxQYXJzZXJDdHh0UHRyIGN0eHQsCisJCQkJCQkgY29uc3QgeG1sQ2hhciAqbmFtZSwKKwkJCQkJCSB4bWxFbGVtZW50Q29udGVudFB0ciAqcmVzdWx0KTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQkJeG1sUGFyc2VFbGVtZW50RGVjbAkoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0KTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJCXhtbFBhcnNlTWFya3VwRGVjbAkoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0KTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQkJeG1sUGFyc2VDaGFyUmVmCQkoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0KTsKK1hNTFBVQkZVTiB4bWxFbnRpdHlQdHIgWE1MQ0FMTAorCQkJeG1sUGFyc2VFbnRpdHlSZWYJKHhtbFBhcnNlckN0eHRQdHIgY3R4dCk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCQl4bWxQYXJzZVJlZmVyZW5jZQkoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0KTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJCXhtbFBhcnNlUEVSZWZlcmVuY2UJKHhtbFBhcnNlckN0eHRQdHIgY3R4dCk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCQl4bWxQYXJzZURvY1R5cGVEZWNsCSh4bWxQYXJzZXJDdHh0UHRyIGN0eHQpOworI2lmZGVmIExJQlhNTF9TQVgxX0VOQUJMRUQKK1hNTFBVQkZVTiBjb25zdCB4bWxDaGFyICogWE1MQ0FMTAorCQkJeG1sUGFyc2VBdHRyaWJ1dGUJKHhtbFBhcnNlckN0eHRQdHIgY3R4dCwKKwkJCQkJCSB4bWxDaGFyICoqdmFsdWUpOworWE1MUFVCRlVOIGNvbnN0IHhtbENoYXIgKiBYTUxDQUxMCisJCQl4bWxQYXJzZVN0YXJ0VGFnCSh4bWxQYXJzZXJDdHh0UHRyIGN0eHQpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQkJeG1sUGFyc2VFbmRUYWcJCSh4bWxQYXJzZXJDdHh0UHRyIGN0eHQpOworI2VuZGlmIC8qIExJQlhNTF9TQVgxX0VOQUJMRUQgKi8KK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJCXhtbFBhcnNlQ0RTZWN0CQkoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0KTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJCXhtbFBhcnNlQ29udGVudAkJKHhtbFBhcnNlckN0eHRQdHIgY3R4dCk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCQl4bWxQYXJzZUVsZW1lbnQJCSh4bWxQYXJzZXJDdHh0UHRyIGN0eHQpOworWE1MUFVCRlVOIHhtbENoYXIgKiBYTUxDQUxMCisJCQl4bWxQYXJzZVZlcnNpb25OdW0JKHhtbFBhcnNlckN0eHRQdHIgY3R4dCk7CitYTUxQVUJGVU4geG1sQ2hhciAqIFhNTENBTEwKKwkJCXhtbFBhcnNlVmVyc2lvbkluZm8JKHhtbFBhcnNlckN0eHRQdHIgY3R4dCk7CitYTUxQVUJGVU4geG1sQ2hhciAqIFhNTENBTEwKKwkJCXhtbFBhcnNlRW5jTmFtZQkJKHhtbFBhcnNlckN0eHRQdHIgY3R4dCk7CitYTUxQVUJGVU4gY29uc3QgeG1sQ2hhciAqIFhNTENBTEwKKwkJCXhtbFBhcnNlRW5jb2RpbmdEZWNsCSh4bWxQYXJzZXJDdHh0UHRyIGN0eHQpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCQl4bWxQYXJzZVNERGVjbAkJKHhtbFBhcnNlckN0eHRQdHIgY3R4dCk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCQl4bWxQYXJzZVhNTERlY2wJCSh4bWxQYXJzZXJDdHh0UHRyIGN0eHQpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQkJeG1sUGFyc2VUZXh0RGVjbAkoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0KTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJCXhtbFBhcnNlTWlzYwkJKHhtbFBhcnNlckN0eHRQdHIgY3R4dCk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCQl4bWxQYXJzZUV4dGVybmFsU3Vic2V0CSh4bWxQYXJzZXJDdHh0UHRyIGN0eHQsCisJCQkJCQkgY29uc3QgeG1sQ2hhciAqRXh0ZXJuYWxJRCwKKwkJCQkJCSBjb25zdCB4bWxDaGFyICpTeXN0ZW1JRCk7CisvKioKKyAqIFhNTF9TVUJTVElUVVRFX05PTkU6CisgKgorICogSWYgbm8gZW50aXRpZXMgbmVlZCB0byBiZSBzdWJzdGl0dXRlZC4KKyAqLworI2RlZmluZSBYTUxfU1VCU1RJVFVURV9OT05FCTAKKy8qKgorICogWE1MX1NVQlNUSVRVVEVfUkVGOgorICoKKyAqIFdoZXRoZXIgZ2VuZXJhbCBlbnRpdGllcyBuZWVkIHRvIGJlIHN1YnN0aXR1dGVkLgorICovCisjZGVmaW5lIFhNTF9TVUJTVElUVVRFX1JFRgkxCisvKioKKyAqIFhNTF9TVUJTVElUVVRFX1BFUkVGOgorICoKKyAqIFdoZXRoZXIgcGFyYW1ldGVyIGVudGl0aWVzIG5lZWQgdG8gYmUgc3Vic3RpdHV0ZWQuCisgKi8KKyNkZWZpbmUgWE1MX1NVQlNUSVRVVEVfUEVSRUYJMgorLyoqCisgKiBYTUxfU1VCU1RJVFVURV9CT1RIOgorICoKKyAqIEJvdGggZ2VuZXJhbCBhbmQgcGFyYW1ldGVyIGVudGl0aWVzIG5lZWQgdG8gYmUgc3Vic3RpdHV0ZWQuCisgKi8KKyNkZWZpbmUgWE1MX1NVQlNUSVRVVEVfQk9USAkzCisKK1hNTFBVQkZVTiB4bWxDaGFyICogWE1MQ0FMTAorCQl4bWxTdHJpbmdEZWNvZGVFbnRpdGllcwkJKHhtbFBhcnNlckN0eHRQdHIgY3R4dCwKKwkJCQkJCSBjb25zdCB4bWxDaGFyICpzdHIsCisJCQkJCQkgaW50IHdoYXQsCisJCQkJCQkgeG1sQ2hhciBlbmQsCisJCQkJCQkgeG1sQ2hhciAgZW5kMiwKKwkJCQkJCSB4bWxDaGFyIGVuZDMpOworWE1MUFVCRlVOIHhtbENoYXIgKiBYTUxDQUxMCisJCXhtbFN0cmluZ0xlbkRlY29kZUVudGl0aWVzCSh4bWxQYXJzZXJDdHh0UHRyIGN0eHQsCisJCQkJCQkgY29uc3QgeG1sQ2hhciAqc3RyLAorCQkJCQkJIGludCBsZW4sCisJCQkJCQkgaW50IHdoYXQsCisJCQkJCQkgeG1sQ2hhciBlbmQsCisJCQkJCQkgeG1sQ2hhciAgZW5kMiwKKwkJCQkJCSB4bWxDaGFyIGVuZDMpOworCisvKgorICogR2VuZXJhdGVkIGJ5IE1BQ1JPUyBvbiB0b3Agb2YgcGFyc2VyLmMgYy5mLiBQVVNIX0FORF9QT1AuCisgKi8KK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAkJCW5vZGVQdXNoCQkoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0LAorCQkJCQkJIHhtbE5vZGVQdHIgdmFsdWUpOworWE1MUFVCRlVOIHhtbE5vZGVQdHIgWE1MQ0FMTAkJbm9kZVBvcAkJCSh4bWxQYXJzZXJDdHh0UHRyIGN0eHQpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCQkJaW5wdXRQdXNoCQkoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0LAorCQkJCQkJIHhtbFBhcnNlcklucHV0UHRyIHZhbHVlKTsKK1hNTFBVQkZVTiB4bWxQYXJzZXJJbnB1dFB0ciBYTUxDQUxMCWlucHV0UG9wCQkoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0KTsKK1hNTFBVQkZVTiBjb25zdCB4bWxDaGFyICogWE1MQ0FMTAluYW1lUG9wCQkJKHhtbFBhcnNlckN0eHRQdHIgY3R4dCk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwJCQluYW1lUHVzaAkJKHhtbFBhcnNlckN0eHRQdHIgY3R4dCwKKwkJCQkJCSBjb25zdCB4bWxDaGFyICp2YWx1ZSk7CisKKy8qCisgKiBvdGhlciBjb21tb2RpdGllcyBzaGFyZWQgYmV0d2VlbiBwYXJzZXIuYyBhbmQgcGFyc2VySW50ZXJuYWxzLgorICovCitYTUxQVUJGVU4gaW50IFhNTENBTEwJCQl4bWxTa2lwQmxhbmtDaGFycwkoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0KTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAkJCXhtbFN0cmluZ0N1cnJlbnRDaGFyCSh4bWxQYXJzZXJDdHh0UHRyIGN0eHQsCisJCQkJCQkgY29uc3QgeG1sQ2hhciAqY3VyLAorCQkJCQkJIGludCAqbGVuKTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwJCQl4bWxQYXJzZXJIYW5kbGVQRVJlZmVyZW5jZSh4bWxQYXJzZXJDdHh0UHRyIGN0eHQpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCQkJeG1sQ2hlY2tMYW5ndWFnZUlECShjb25zdCB4bWxDaGFyICpsYW5nKTsKKworLyoKKyAqIFJlYWxseSBjb3JlIGZ1bmN0aW9uIHNoYXJlZCB3aXRoIEhUTUwgcGFyc2VyLgorICovCitYTUxQVUJGVU4gaW50IFhNTENBTEwJCQl4bWxDdXJyZW50Q2hhcgkJKHhtbFBhcnNlckN0eHRQdHIgY3R4dCwKKwkJCQkJCSBpbnQgKmxlbik7CitYTUxQVUJGVU4gaW50IFhNTENBTEwJCXhtbENvcHlDaGFyTXVsdGlCeXRlCSh4bWxDaGFyICpvdXQsCisJCQkJCQkgaW50IHZhbCk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwJCQl4bWxDb3B5Q2hhcgkJKGludCBsZW4sCisJCQkJCQkgeG1sQ2hhciAqb3V0LAorCQkJCQkJIGludCB2YWwpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAkJCXhtbE5leHRDaGFyCQkoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0KTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwJCQl4bWxQYXJzZXJJbnB1dFNocmluawkoeG1sUGFyc2VySW5wdXRQdHIgaW4pOworCisjaWZkZWYgTElCWE1MX0hUTUxfRU5BQkxFRAorLyoKKyAqIEFjdHVhbGx5IGNvbWVzIGZyb20gdGhlIEhUTUwgcGFyc2VyIGJ1dCBsYXVuY2hlZCBmcm9tIHRoZSBpbml0IHN0dWZmLgorICovCitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCQkJaHRtbEluaXRBdXRvQ2xvc2UJKHZvaWQpOworWE1MUFVCRlVOIGh0bWxQYXJzZXJDdHh0UHRyIFhNTENBTEwJaHRtbENyZWF0ZUZpbGVQYXJzZXJDdHh0KGNvbnN0IGNoYXIgKmZpbGVuYW1lLAorCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZW5jb2RpbmcpOworI2VuZGlmCisKKy8qCisgKiBTcGVjaWZpYyBmdW5jdGlvbiB0byBrZWVwIHRyYWNrIG9mIGVudGl0aWVzIHJlZmVyZW5jZXMKKyAqIGFuZCB1c2VkIGJ5IHRoZSBYU0xUIGRlYnVnZ2VyLgorICovCisjaWZkZWYgTElCWE1MX0xFR0FDWV9FTkFCTEVECisvKioKKyAqIHhtbEVudGl0eVJlZmVyZW5jZUZ1bmM6CisgKiBAZW50OiB0aGUgZW50aXR5CisgKiBAZmlyc3ROb2RlOiAgdGhlIGZpc3Qgbm9kZSBpbiB0aGUgY2h1bmsKKyAqIEBsYXN0Tm9kZTogIHRoZSBsYXN0IG5vZCBpbiB0aGUgY2h1bmsKKyAqCisgKiBDYWxsYmFjayBmdW5jdGlvbiB1c2VkIHdoZW4gb25lIG5lZWRzIHRvIGJlIGFibGUgdG8gdHJhY2sgYmFjayB0aGUKKyAqIHByb3ZlbmFuY2Ugb2YgYSBjaHVuayBvZiBub2RlcyBpbmhlcml0ZWQgZnJvbSBhbiBlbnRpdHkgcmVwbGFjZW1lbnQuCisgKi8KK3R5cGVkZWYJdm9pZAkoKnhtbEVudGl0eVJlZmVyZW5jZUZ1bmMpCSh4bWxFbnRpdHlQdHIgZW50LAorCQkJCQkJIHhtbE5vZGVQdHIgZmlyc3ROb2RlLAorCQkJCQkJIHhtbE5vZGVQdHIgbGFzdE5vZGUpOworCitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCQl4bWxTZXRFbnRpdHlSZWZlcmVuY2VGdW5jCSh4bWxFbnRpdHlSZWZlcmVuY2VGdW5jIGZ1bmMpOworCitYTUxQVUJGVU4geG1sQ2hhciAqIFhNTENBTEwKKwkJCXhtbFBhcnNlUXVvdGVkU3RyaW5nCSh4bWxQYXJzZXJDdHh0UHRyIGN0eHQpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorICAgICAgICAgICAgICAgICAgICAgICAgeG1sUGFyc2VOYW1lc3BhY2UgICAgICAgKHhtbFBhcnNlckN0eHRQdHIgY3R4dCk7CitYTUxQVUJGVU4geG1sQ2hhciAqIFhNTENBTEwKKwkJCXhtbE5hbWVzcGFjZVBhcnNlTlNEZWYJKHhtbFBhcnNlckN0eHRQdHIgY3R4dCk7CitYTUxQVUJGVU4geG1sQ2hhciAqIFhNTENBTEwKKwkJCXhtbFNjYW5OYW1lCQkoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0KTsKK1hNTFBVQkZVTiB4bWxDaGFyICogWE1MQ0FMTAorCQkJeG1sTmFtZXNwYWNlUGFyc2VOQ05hbWUJKHhtbFBhcnNlckN0eHRQdHIgY3R4dCk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCXhtbFBhcnNlckhhbmRsZVJlZmVyZW5jZSh4bWxQYXJzZXJDdHh0UHRyIGN0eHQpOworWE1MUFVCRlVOIHhtbENoYXIgKiBYTUxDQUxMCisJCQl4bWxOYW1lc3BhY2VQYXJzZVFOYW1lCSh4bWxQYXJzZXJDdHh0UHRyIGN0eHQsCisJCQkJCQkgeG1sQ2hhciAqKnByZWZpeCk7CisvKioKKyAqIEVudGl0aWVzCisgKi8KK1hNTFBVQkZVTiB4bWxDaGFyICogWE1MQ0FMTAorCQl4bWxEZWNvZGVFbnRpdGllcwkJKHhtbFBhcnNlckN0eHRQdHIgY3R4dCwKKwkJCQkJCSBpbnQgbGVuLAorCQkJCQkJIGludCB3aGF0LAorCQkJCQkJIHhtbENoYXIgZW5kLAorCQkJCQkJIHhtbENoYXIgIGVuZDIsCisJCQkJCQkgeG1sQ2hhciBlbmQzKTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJCXhtbEhhbmRsZUVudGl0eQkJKHhtbFBhcnNlckN0eHRQdHIgY3R4dCwKKwkJCQkJCSB4bWxFbnRpdHlQdHIgZW50aXR5KTsKKworI2VuZGlmIC8qIExJQlhNTF9MRUdBQ1lfRU5BQkxFRCAqLworCisjaWZkZWYgSU5fTElCWE1MCisvKgorICogaW50ZXJuYWwgb25seQorICovCitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJeG1sRXJyTWVtb3J5CQkoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0LAorCQkJCSBjb25zdCBjaGFyICpleHRyYSk7CisjZW5kaWYKKworI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKyNlbmRpZiAvKiBfX1hNTF9QQVJTRVJfSU5URVJOQUxTX0hfXyAqLwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9pbmNsdWRlL2xpYnhtbC9wYXR0ZXJuLmggYi9saWJ4bWwyL2luY2x1ZGUvbGlieG1sL3BhdHRlcm4uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45N2QyY2QyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9pbmNsdWRlL2xpYnhtbC9wYXR0ZXJuLmgKQEAgLTAsMCArMSwxMDAgQEAKKy8qCisgKiBTdW1tYXJ5OiBwYXR0ZXJuIGV4cHJlc3Npb24gaGFuZGxpbmcKKyAqIERlc2NyaXB0aW9uOiBhbGxvd3MgdG8gY29tcGlsZSBhbmQgdGVzdCBwYXR0ZXJuIGV4cHJlc3Npb25zIGZvciBub2RlcworICogICAgICAgICAgICAgIGVpdGhlciBpbiBhIHRyZWUgb3IgYmFzZWQgb24gYSBwYXJzZXIgc3RhdGUuCisgKgorICogQ29weTogU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgorICoKKyAqIEF1dGhvcjogRGFuaWVsIFZlaWxsYXJkCisgKi8KKworI2lmbmRlZiBfX1hNTF9QQVRURVJOX0hfXworI2RlZmluZSBfX1hNTF9QQVRURVJOX0hfXworCisjaW5jbHVkZSA8bGlieG1sL3htbHZlcnNpb24uaD4KKyNpbmNsdWRlIDxsaWJ4bWwvdHJlZS5oPgorI2luY2x1ZGUgPGxpYnhtbC9kaWN0Lmg+CisKKyNpZmRlZiBMSUJYTUxfUEFUVEVSTl9FTkFCTEVECisKKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7CisjZW5kaWYKKworLyoqCisgKiB4bWxQYXR0ZXJuOgorICoKKyAqIEEgY29tcGlsZWQgKFhQYXRoIGJhc2VkKSBwYXR0ZXJuIHRvIHNlbGVjdCBub2RlcworICovCit0eXBlZGVmIHN0cnVjdCBfeG1sUGF0dGVybiB4bWxQYXR0ZXJuOwordHlwZWRlZiB4bWxQYXR0ZXJuICp4bWxQYXR0ZXJuUHRyOworCisvKioKKyAqIHhtbFBhdHRlcm5GbGFnczoKKyAqCisgKiBUaGlzIGlzIHRoZSBzZXQgb2Ygb3B0aW9ucyBhZmZlY3RpbmcgdGhlIGJlaGF2aW91ciBvZiBwYXR0ZXJuCisgKiBtYXRjaGluZyB3aXRoIHRoaXMgbW9kdWxlCisgKgorICovCit0eXBlZGVmIGVudW0geworICAgIFhNTF9QQVRURVJOX0RFRkFVTFQJCT0gMCwJLyogc2ltcGxlIHBhdHRlcm4gbWF0Y2ggKi8KKyAgICBYTUxfUEFUVEVSTl9YUEFUSAkJPSAxPDwwLAkvKiBzdGFuZGFyZCBYUGF0aCBwYXR0ZXJuICovCisgICAgWE1MX1BBVFRFUk5fWFNTRUwJCT0gMTw8MSwJLyogWFBhdGggc3Vic2V0IGZvciBzY2hlbWEgc2VsZWN0b3IgKi8KKyAgICBYTUxfUEFUVEVSTl9YU0ZJRUxECQk9IDE8PDIJLyogWFBhdGggc3Vic2V0IGZvciBzY2hlbWEgZmllbGQgKi8KK30geG1sUGF0dGVybkZsYWdzOworCitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCQl4bWxGcmVlUGF0dGVybgkJKHhtbFBhdHRlcm5QdHIgY29tcCk7CisKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJCXhtbEZyZWVQYXR0ZXJuTGlzdAkoeG1sUGF0dGVyblB0ciBjb21wKTsKKworWE1MUFVCRlVOIHhtbFBhdHRlcm5QdHIgWE1MQ0FMTAorCQkJeG1sUGF0dGVybmNvbXBpbGUJKGNvbnN0IHhtbENoYXIgKnBhdHRlcm4sCisJCQkJCQkgeG1sRGljdCAqZGljdCwKKwkJCQkJCSBpbnQgZmxhZ3MsCisJCQkJCQkgY29uc3QgeG1sQ2hhciAqKm5hbWVzcGFjZXMpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCQl4bWxQYXR0ZXJuTWF0Y2gJCSh4bWxQYXR0ZXJuUHRyIGNvbXAsCisJCQkJCQkgeG1sTm9kZVB0ciBub2RlKTsKKworLyogc3RyZWFtaW5nIGludGVyZmFjZXMgKi8KK3R5cGVkZWYgc3RydWN0IF94bWxTdHJlYW1DdHh0IHhtbFN0cmVhbUN0eHQ7Cit0eXBlZGVmIHhtbFN0cmVhbUN0eHQgKnhtbFN0cmVhbUN0eHRQdHI7CisKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQkJeG1sUGF0dGVyblN0cmVhbWFibGUJKHhtbFBhdHRlcm5QdHIgY29tcCk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJCXhtbFBhdHRlcm5NYXhEZXB0aAkoeG1sUGF0dGVyblB0ciBjb21wKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQkJeG1sUGF0dGVybk1pbkRlcHRoCSh4bWxQYXR0ZXJuUHRyIGNvbXApOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCQl4bWxQYXR0ZXJuRnJvbVJvb3QJKHhtbFBhdHRlcm5QdHIgY29tcCk7CitYTUxQVUJGVU4geG1sU3RyZWFtQ3R4dFB0ciBYTUxDQUxMCisJCQl4bWxQYXR0ZXJuR2V0U3RyZWFtQ3R4dAkoeG1sUGF0dGVyblB0ciBjb21wKTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJCXhtbEZyZWVTdHJlYW1DdHh0CSh4bWxTdHJlYW1DdHh0UHRyIHN0cmVhbSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJCXhtbFN0cmVhbVB1c2hOb2RlCSh4bWxTdHJlYW1DdHh0UHRyIHN0cmVhbSwKKwkJCQkJCSBjb25zdCB4bWxDaGFyICpuYW1lLAorCQkJCQkJIGNvbnN0IHhtbENoYXIgKm5zLAorCQkJCQkJIGludCBub2RlVHlwZSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJCXhtbFN0cmVhbVB1c2gJCSh4bWxTdHJlYW1DdHh0UHRyIHN0cmVhbSwKKwkJCQkJCSBjb25zdCB4bWxDaGFyICpuYW1lLAorCQkJCQkJIGNvbnN0IHhtbENoYXIgKm5zKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQkJeG1sU3RyZWFtUHVzaEF0dHIJKHhtbFN0cmVhbUN0eHRQdHIgc3RyZWFtLAorCQkJCQkJIGNvbnN0IHhtbENoYXIgKm5hbWUsCisJCQkJCQkgY29uc3QgeG1sQ2hhciAqbnMpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCQl4bWxTdHJlYW1Qb3AJCSh4bWxTdHJlYW1DdHh0UHRyIHN0cmVhbSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJCXhtbFN0cmVhbVdhbnRzQW55Tm9kZQkoeG1sU3RyZWFtQ3R4dFB0ciBzdHJlYW0pOworI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKworI2VuZGlmIC8qIExJQlhNTF9QQVRURVJOX0VOQUJMRUQgKi8KKworI2VuZGlmIC8qIF9fWE1MX1BBVFRFUk5fSF9fICovCmRpZmYgLS1naXQgYS9saWJ4bWwyL2luY2x1ZGUvbGlieG1sL3JlbGF4bmcuaCBiL2xpYnhtbDIvaW5jbHVkZS9saWJ4bWwvcmVsYXhuZy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYyNjljOWUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2luY2x1ZGUvbGlieG1sL3JlbGF4bmcuaApAQCAtMCwwICsxLDIxNyBAQAorLyoKKyAqIFN1bW1hcnk6IGltcGxlbWVudGF0aW9uIG9mIHRoZSBSZWxheC1ORyB2YWxpZGF0aW9uCisgKiBEZXNjcmlwdGlvbjogaW1wbGVtZW50YXRpb24gb2YgdGhlIFJlbGF4LU5HIHZhbGlkYXRpb24KKyAqCisgKiBDb3B5OiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisgKgorICogQXV0aG9yOiBEYW5pZWwgVmVpbGxhcmQKKyAqLworCisjaWZuZGVmIF9fWE1MX1JFTEFYX05HX18KKyNkZWZpbmUgX19YTUxfUkVMQVhfTkdfXworCisjaW5jbHVkZSA8bGlieG1sL3htbHZlcnNpb24uaD4KKyNpbmNsdWRlIDxsaWJ4bWwvaGFzaC5oPgorI2luY2x1ZGUgPGxpYnhtbC94bWxzdHJpbmcuaD4KKworI2lmZGVmIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQKKworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCit0eXBlZGVmIHN0cnVjdCBfeG1sUmVsYXhORyB4bWxSZWxheE5HOwordHlwZWRlZiB4bWxSZWxheE5HICp4bWxSZWxheE5HUHRyOworCisKKy8qKgorICogeG1sUmVsYXhOR1ZhbGlkaXR5RXJyb3JGdW5jOgorICogQGN0eDogdGhlIHZhbGlkYXRpb24gY29udGV4dAorICogQG1zZzogdGhlIG1lc3NhZ2UKKyAqIEAuLi46IGV4dHJhIGFyZ3VtZW50cworICoKKyAqIFNpZ25hdHVyZSBvZiBhbiBlcnJvciBjYWxsYmFjayBmcm9tIGEgUmVsYXgtTkcgdmFsaWRhdGlvbgorICovCit0eXBlZGVmIHZvaWQgKFhNTENERUNMICp4bWxSZWxheE5HVmFsaWRpdHlFcnJvckZ1bmMpICh2b2lkICpjdHgsCisJCQkJCQkgICAgICBjb25zdCBjaGFyICptc2csCisJCQkJCQkgICAgICAuLi4pIExJQlhNTF9BVFRSX0ZPUk1BVCgyLDMpOworCisvKioKKyAqIHhtbFJlbGF4TkdWYWxpZGl0eVdhcm5pbmdGdW5jOgorICogQGN0eDogdGhlIHZhbGlkYXRpb24gY29udGV4dAorICogQG1zZzogdGhlIG1lc3NhZ2UKKyAqIEAuLi46IGV4dHJhIGFyZ3VtZW50cworICoKKyAqIFNpZ25hdHVyZSBvZiBhIHdhcm5pbmcgY2FsbGJhY2sgZnJvbSBhIFJlbGF4LU5HIHZhbGlkYXRpb24KKyAqLwordHlwZWRlZiB2b2lkIChYTUxDREVDTCAqeG1sUmVsYXhOR1ZhbGlkaXR5V2FybmluZ0Z1bmMpICh2b2lkICpjdHgsCisJCQkJCQkJY29uc3QgY2hhciAqbXNnLAorCQkJCQkJCS4uLikgTElCWE1MX0FUVFJfRk9STUFUKDIsMyk7CisKKy8qKgorICogQSBzY2hlbWFzIHZhbGlkYXRpb24gY29udGV4dAorICovCit0eXBlZGVmIHN0cnVjdCBfeG1sUmVsYXhOR1BhcnNlckN0eHQgeG1sUmVsYXhOR1BhcnNlckN0eHQ7Cit0eXBlZGVmIHhtbFJlbGF4TkdQYXJzZXJDdHh0ICp4bWxSZWxheE5HUGFyc2VyQ3R4dFB0cjsKKwordHlwZWRlZiBzdHJ1Y3QgX3htbFJlbGF4TkdWYWxpZEN0eHQgeG1sUmVsYXhOR1ZhbGlkQ3R4dDsKK3R5cGVkZWYgeG1sUmVsYXhOR1ZhbGlkQ3R4dCAqeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0cjsKKworLyoKKyAqIHhtbFJlbGF4TkdWYWxpZEVycjoKKyAqCisgKiBMaXN0IG9mIHBvc3NpYmxlIFJlbGF4IE5HIHZhbGlkYXRpb24gZXJyb3JzCisgKi8KK3R5cGVkZWYgZW51bSB7CisgICAgWE1MX1JFTEFYTkdfT0sgPSAwLAorICAgIFhNTF9SRUxBWE5HX0VSUl9NRU1PUlksCisgICAgWE1MX1JFTEFYTkdfRVJSX1RZUEUsCisgICAgWE1MX1JFTEFYTkdfRVJSX1RZUEVWQUwsCisgICAgWE1MX1JFTEFYTkdfRVJSX0RVUElELAorICAgIFhNTF9SRUxBWE5HX0VSUl9UWVBFQ01QLAorICAgIFhNTF9SRUxBWE5HX0VSUl9OT1NUQVRFLAorICAgIFhNTF9SRUxBWE5HX0VSUl9OT0RFRklORSwKKyAgICBYTUxfUkVMQVhOR19FUlJfTElTVEVYVFJBLAorICAgIFhNTF9SRUxBWE5HX0VSUl9MSVNURU1QVFksCisgICAgWE1MX1JFTEFYTkdfRVJSX0lOVEVSTk9EQVRBLAorICAgIFhNTF9SRUxBWE5HX0VSUl9JTlRFUlNFUSwKKyAgICBYTUxfUkVMQVhOR19FUlJfSU5URVJFWFRSQSwKKyAgICBYTUxfUkVMQVhOR19FUlJfRUxFTU5BTUUsCisgICAgWE1MX1JFTEFYTkdfRVJSX0FUVFJOQU1FLAorICAgIFhNTF9SRUxBWE5HX0VSUl9FTEVNTk9OUywKKyAgICBYTUxfUkVMQVhOR19FUlJfQVRUUk5PTlMsCisgICAgWE1MX1JFTEFYTkdfRVJSX0VMRU1XUk9OR05TLAorICAgIFhNTF9SRUxBWE5HX0VSUl9BVFRSV1JPTkdOUywKKyAgICBYTUxfUkVMQVhOR19FUlJfRUxFTUVYVFJBTlMsCisgICAgWE1MX1JFTEFYTkdfRVJSX0FUVFJFWFRSQU5TLAorICAgIFhNTF9SRUxBWE5HX0VSUl9FTEVNTk9URU1QVFksCisgICAgWE1MX1JFTEFYTkdfRVJSX05PRUxFTSwKKyAgICBYTUxfUkVMQVhOR19FUlJfTk9URUxFTSwKKyAgICBYTUxfUkVMQVhOR19FUlJfQVRUUlZBTElELAorICAgIFhNTF9SRUxBWE5HX0VSUl9DT05URU5UVkFMSUQsCisgICAgWE1MX1JFTEFYTkdfRVJSX0VYVFJBQ09OVEVOVCwKKyAgICBYTUxfUkVMQVhOR19FUlJfSU5WQUxJREFUVFIsCisgICAgWE1MX1JFTEFYTkdfRVJSX0RBVEFFTEVNLAorICAgIFhNTF9SRUxBWE5HX0VSUl9WQUxFTEVNLAorICAgIFhNTF9SRUxBWE5HX0VSUl9MSVNURUxFTSwKKyAgICBYTUxfUkVMQVhOR19FUlJfREFUQVRZUEUsCisgICAgWE1MX1JFTEFYTkdfRVJSX1ZBTFVFLAorICAgIFhNTF9SRUxBWE5HX0VSUl9MSVNULAorICAgIFhNTF9SRUxBWE5HX0VSUl9OT0dSQU1NQVIsCisgICAgWE1MX1JFTEFYTkdfRVJSX0VYVFJBREFUQSwKKyAgICBYTUxfUkVMQVhOR19FUlJfTEFDS0RBVEEsCisgICAgWE1MX1JFTEFYTkdfRVJSX0lOVEVSTkFMLAorICAgIFhNTF9SRUxBWE5HX0VSUl9FTEVNV1JPTkcsCisgICAgWE1MX1JFTEFYTkdfRVJSX1RFWFRXUk9ORworfSB4bWxSZWxheE5HVmFsaWRFcnI7CisKKy8qCisgKiB4bWxSZWxheE5HUGFyc2VyRmxhZ3M6CisgKgorICogTGlzdCBvZiBwb3NzaWJsZSBSZWxheCBORyBQYXJzZXIgZmxhZ3MKKyAqLwordHlwZWRlZiBlbnVtIHsKKyAgICBYTUxfUkVMQVhOR1BfTk9ORSA9IDAsCisgICAgWE1MX1JFTEFYTkdQX0ZSRUVfRE9DID0gMSwKKyAgICBYTUxfUkVMQVhOR1BfQ1JORyA9IDIKK30geG1sUmVsYXhOR1BhcnNlckZsYWc7CisKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQkgICAgeG1sUmVsYXhOR0luaXRUeXBlcwkJKHZvaWQpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQkgICAgeG1sUmVsYXhOR0NsZWFudXBUeXBlcwkodm9pZCk7CisKKy8qCisgKiBJbnRlcmZhY2VzIGZvciBwYXJzaW5nLgorICovCitYTUxQVUJGVU4geG1sUmVsYXhOR1BhcnNlckN0eHRQdHIgWE1MQ0FMTAorCQkgICAgeG1sUmVsYXhOR05ld1BhcnNlckN0eHQJKGNvbnN0IGNoYXIgKlVSTCk7CitYTUxQVUJGVU4geG1sUmVsYXhOR1BhcnNlckN0eHRQdHIgWE1MQ0FMTAorCQkgICAgeG1sUmVsYXhOR05ld01lbVBhcnNlckN0eHQJKGNvbnN0IGNoYXIgKmJ1ZmZlciwKKwkJCQkJCSBpbnQgc2l6ZSk7CitYTUxQVUJGVU4geG1sUmVsYXhOR1BhcnNlckN0eHRQdHIgWE1MQ0FMTAorCQkgICAgeG1sUmVsYXhOR05ld0RvY1BhcnNlckN0eHQJKHhtbERvY1B0ciBkb2MpOworCitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJICAgIHhtbFJlbGF4UGFyc2VyU2V0RmxhZwkoeG1sUmVsYXhOR1BhcnNlckN0eHRQdHIgY3R4dCwKKwkJCQkJCSBpbnQgZmxhZyk7CisKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJICAgIHhtbFJlbGF4TkdGcmVlUGFyc2VyQ3R4dAkoeG1sUmVsYXhOR1BhcnNlckN0eHRQdHIgY3R4dCk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCSAgICB4bWxSZWxheE5HU2V0UGFyc2VyRXJyb3JzKHhtbFJlbGF4TkdQYXJzZXJDdHh0UHRyIGN0eHQsCisJCQkJCSB4bWxSZWxheE5HVmFsaWRpdHlFcnJvckZ1bmMgZXJyLAorCQkJCQkgeG1sUmVsYXhOR1ZhbGlkaXR5V2FybmluZ0Z1bmMgd2FybiwKKwkJCQkJIHZvaWQgKmN0eCk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJICAgIHhtbFJlbGF4TkdHZXRQYXJzZXJFcnJvcnMoeG1sUmVsYXhOR1BhcnNlckN0eHRQdHIgY3R4dCwKKwkJCQkJIHhtbFJlbGF4TkdWYWxpZGl0eUVycm9yRnVuYyAqZXJyLAorCQkJCQkgeG1sUmVsYXhOR1ZhbGlkaXR5V2FybmluZ0Z1bmMgKndhcm4sCisJCQkJCSB2b2lkICoqY3R4KTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJICAgIHhtbFJlbGF4TkdTZXRQYXJzZXJTdHJ1Y3R1cmVkRXJyb3JzKAorCQkJCQkgeG1sUmVsYXhOR1BhcnNlckN0eHRQdHIgY3R4dCwKKwkJCQkJIHhtbFN0cnVjdHVyZWRFcnJvckZ1bmMgc2Vycm9yLAorCQkJCQkgdm9pZCAqY3R4KTsKK1hNTFBVQkZVTiB4bWxSZWxheE5HUHRyIFhNTENBTEwKKwkJICAgIHhtbFJlbGF4TkdQYXJzZQkJKHhtbFJlbGF4TkdQYXJzZXJDdHh0UHRyIGN0eHQpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQkgICAgeG1sUmVsYXhOR0ZyZWUJCSh4bWxSZWxheE5HUHRyIHNjaGVtYSk7CisjaWZkZWYgTElCWE1MX09VVFBVVF9FTkFCTEVECitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCSAgICB4bWxSZWxheE5HRHVtcAkJKEZJTEUgKm91dHB1dCwKKwkJCQkJIHhtbFJlbGF4TkdQdHIgc2NoZW1hKTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJICAgIHhtbFJlbGF4TkdEdW1wVHJlZQkoRklMRSAqIG91dHB1dCwKKwkJCQkJIHhtbFJlbGF4TkdQdHIgc2NoZW1hKTsKKyNlbmRpZiAvKiBMSUJYTUxfT1VUUFVUX0VOQUJMRUQgKi8KKy8qCisgKiBJbnRlcmZhY2VzIGZvciB2YWxpZGF0aW5nCisgKi8KK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJICAgIHhtbFJlbGF4TkdTZXRWYWxpZEVycm9ycyh4bWxSZWxheE5HVmFsaWRDdHh0UHRyIGN0eHQsCisJCQkJCSB4bWxSZWxheE5HVmFsaWRpdHlFcnJvckZ1bmMgZXJyLAorCQkJCQkgeG1sUmVsYXhOR1ZhbGlkaXR5V2FybmluZ0Z1bmMgd2FybiwKKwkJCQkJIHZvaWQgKmN0eCk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJICAgIHhtbFJlbGF4TkdHZXRWYWxpZEVycm9ycyh4bWxSZWxheE5HVmFsaWRDdHh0UHRyIGN0eHQsCisJCQkJCSB4bWxSZWxheE5HVmFsaWRpdHlFcnJvckZ1bmMgKmVyciwKKwkJCQkJIHhtbFJlbGF4TkdWYWxpZGl0eVdhcm5pbmdGdW5jICp3YXJuLAorCQkJCQkgdm9pZCAqKmN0eCk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCQl4bWxSZWxheE5HU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzKHhtbFJlbGF4TkdWYWxpZEN0eHRQdHIgY3R4dCwKKwkJCQkJICB4bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jIHNlcnJvciwgdm9pZCAqY3R4KTsKK1hNTFBVQkZVTiB4bWxSZWxheE5HVmFsaWRDdHh0UHRyIFhNTENBTEwKKwkJICAgIHhtbFJlbGF4TkdOZXdWYWxpZEN0eHQJKHhtbFJlbGF4TkdQdHIgc2NoZW1hKTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJICAgIHhtbFJlbGF4TkdGcmVlVmFsaWRDdHh0CSh4bWxSZWxheE5HVmFsaWRDdHh0UHRyIGN0eHQpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCSAgICB4bWxSZWxheE5HVmFsaWRhdGVEb2MJKHhtbFJlbGF4TkdWYWxpZEN0eHRQdHIgY3R4dCwKKwkJCQkJCSB4bWxEb2NQdHIgZG9jKTsKKy8qCisgKiBJbnRlcmZhY2VzIGZvciBwcm9ncmVzc2l2ZSB2YWxpZGF0aW9uIHdoZW4gcG9zc2libGUKKyAqLworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCSAgICB4bWxSZWxheE5HVmFsaWRhdGVQdXNoRWxlbWVudAkoeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0ciBjdHh0LAorCQkJCQkgeG1sRG9jUHRyIGRvYywKKwkJCQkJIHhtbE5vZGVQdHIgZWxlbSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJICAgIHhtbFJlbGF4TkdWYWxpZGF0ZVB1c2hDRGF0YQkoeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0ciBjdHh0LAorCQkJCQkgY29uc3QgeG1sQ2hhciAqZGF0YSwKKwkJCQkJIGludCBsZW4pOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCSAgICB4bWxSZWxheE5HVmFsaWRhdGVQb3BFbGVtZW50CSh4bWxSZWxheE5HVmFsaWRDdHh0UHRyIGN0eHQsCisJCQkJCSB4bWxEb2NQdHIgZG9jLAorCQkJCQkgeG1sTm9kZVB0ciBlbGVtKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQkgICAgeG1sUmVsYXhOR1ZhbGlkYXRlRnVsbEVsZW1lbnQJKHhtbFJlbGF4TkdWYWxpZEN0eHRQdHIgY3R4dCwKKwkJCQkJIHhtbERvY1B0ciBkb2MsCisJCQkJCSB4bWxOb2RlUHRyIGVsZW0pOworCisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorCisjZW5kaWYgLyogTElCWE1MX1NDSEVNQVNfRU5BQkxFRCAqLworCisjZW5kaWYgLyogX19YTUxfUkVMQVhfTkdfXyAqLwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9pbmNsdWRlL2xpYnhtbC9zY2hlbWFzSW50ZXJuYWxzLmggYi9saWJ4bWwyL2luY2x1ZGUvbGlieG1sL3NjaGVtYXNJbnRlcm5hbHMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZjBjYTlhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9pbmNsdWRlL2xpYnhtbC9zY2hlbWFzSW50ZXJuYWxzLmgKQEAgLTAsMCArMSw5NTggQEAKKy8qCisgKiBTdW1tYXJ5OiBpbnRlcm5hbCBpbnRlcmZhY2VzIGZvciBYTUwgU2NoZW1hcworICogRGVzY3JpcHRpb246IGludGVybmFsIGludGVyZmFjZXMgZm9yIHRoZSBYTUwgU2NoZW1hcyBoYW5kbGluZworICogICAgICAgICAgICAgIGFuZCBzY2hlbWEgdmFsaWRpdHkgY2hlY2tpbmcKKyAqCQlUaGUgU2NoZW1hcyBkZXZlbG9wbWVudCBpcyBhIFdvcmsgSW4gUHJvZ3Jlc3MuCisgKiAgICAgICAgICAgICAgU29tZSBvZiB0aG9zZSBpbnRlcmZhY2VzIGFyZSBub3QgZ2FyYW50ZWVkIHRvIGJlIEFQSSBvciBBQkkgc3RhYmxlICEKKyAqCisgKiBDb3B5OiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisgKgorICogQXV0aG9yOiBEYW5pZWwgVmVpbGxhcmQKKyAqLworCisKKyNpZm5kZWYgX19YTUxfU0NIRU1BX0lOVEVSTkFMU19IX18KKyNkZWZpbmUgX19YTUxfU0NIRU1BX0lOVEVSTkFMU19IX18KKworI2luY2x1ZGUgPGxpYnhtbC94bWx2ZXJzaW9uLmg+CisKKyNpZmRlZiBMSUJYTUxfU0NIRU1BU19FTkFCTEVECisKKyNpbmNsdWRlIDxsaWJ4bWwveG1scmVnZXhwLmg+CisjaW5jbHVkZSA8bGlieG1sL2hhc2guaD4KKyNpbmNsdWRlIDxsaWJ4bWwvZGljdC5oPgorCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCisKK3R5cGVkZWYgZW51bSB7CisgICAgWE1MX1NDSEVNQVNfVU5LTk9XTiA9IDAsCisgICAgWE1MX1NDSEVNQVNfU1RSSU5HLAorICAgIFhNTF9TQ0hFTUFTX05PUk1TVFJJTkcsCisgICAgWE1MX1NDSEVNQVNfREVDSU1BTCwKKyAgICBYTUxfU0NIRU1BU19USU1FLAorICAgIFhNTF9TQ0hFTUFTX0dEQVksCisgICAgWE1MX1NDSEVNQVNfR01PTlRILAorICAgIFhNTF9TQ0hFTUFTX0dNT05USERBWSwKKyAgICBYTUxfU0NIRU1BU19HWUVBUiwKKyAgICBYTUxfU0NIRU1BU19HWUVBUk1PTlRILAorICAgIFhNTF9TQ0hFTUFTX0RBVEUsCisgICAgWE1MX1NDSEVNQVNfREFURVRJTUUsCisgICAgWE1MX1NDSEVNQVNfRFVSQVRJT04sCisgICAgWE1MX1NDSEVNQVNfRkxPQVQsCisgICAgWE1MX1NDSEVNQVNfRE9VQkxFLAorICAgIFhNTF9TQ0hFTUFTX0JPT0xFQU4sCisgICAgWE1MX1NDSEVNQVNfVE9LRU4sCisgICAgWE1MX1NDSEVNQVNfTEFOR1VBR0UsCisgICAgWE1MX1NDSEVNQVNfTk1UT0tFTiwKKyAgICBYTUxfU0NIRU1BU19OTVRPS0VOUywKKyAgICBYTUxfU0NIRU1BU19OQU1FLAorICAgIFhNTF9TQ0hFTUFTX1FOQU1FLAorICAgIFhNTF9TQ0hFTUFTX05DTkFNRSwKKyAgICBYTUxfU0NIRU1BU19JRCwKKyAgICBYTUxfU0NIRU1BU19JRFJFRiwKKyAgICBYTUxfU0NIRU1BU19JRFJFRlMsCisgICAgWE1MX1NDSEVNQVNfRU5USVRZLAorICAgIFhNTF9TQ0hFTUFTX0VOVElUSUVTLAorICAgIFhNTF9TQ0hFTUFTX05PVEFUSU9OLAorICAgIFhNTF9TQ0hFTUFTX0FOWVVSSSwKKyAgICBYTUxfU0NIRU1BU19JTlRFR0VSLAorICAgIFhNTF9TQ0hFTUFTX05QSU5URUdFUiwKKyAgICBYTUxfU0NIRU1BU19OSU5URUdFUiwKKyAgICBYTUxfU0NIRU1BU19OTklOVEVHRVIsCisgICAgWE1MX1NDSEVNQVNfUElOVEVHRVIsCisgICAgWE1MX1NDSEVNQVNfSU5ULAorICAgIFhNTF9TQ0hFTUFTX1VJTlQsCisgICAgWE1MX1NDSEVNQVNfTE9ORywKKyAgICBYTUxfU0NIRU1BU19VTE9ORywKKyAgICBYTUxfU0NIRU1BU19TSE9SVCwKKyAgICBYTUxfU0NIRU1BU19VU0hPUlQsCisgICAgWE1MX1NDSEVNQVNfQllURSwKKyAgICBYTUxfU0NIRU1BU19VQllURSwKKyAgICBYTUxfU0NIRU1BU19IRVhCSU5BUlksCisgICAgWE1MX1NDSEVNQVNfQkFTRTY0QklOQVJZLAorICAgIFhNTF9TQ0hFTUFTX0FOWVRZUEUsCisgICAgWE1MX1NDSEVNQVNfQU5ZU0lNUExFVFlQRQorfSB4bWxTY2hlbWFWYWxUeXBlOworCisvKgorICogWE1MIFNjaGVtYXMgZGVmaW5lcyBtdWx0aXBsZSB0eXBlIG9mIHR5cGVzLgorICovCit0eXBlZGVmIGVudW0geworICAgIFhNTF9TQ0hFTUFfVFlQRV9CQVNJQyA9IDEsIC8qIEEgYnVpbHQtaW4gZGF0YXR5cGUgKi8KKyAgICBYTUxfU0NIRU1BX1RZUEVfQU5ZLAorICAgIFhNTF9TQ0hFTUFfVFlQRV9GQUNFVCwKKyAgICBYTUxfU0NIRU1BX1RZUEVfU0lNUExFLAorICAgIFhNTF9TQ0hFTUFfVFlQRV9DT01QTEVYLAorICAgIFhNTF9TQ0hFTUFfVFlQRV9TRVFVRU5DRSA9IDYsCisgICAgWE1MX1NDSEVNQV9UWVBFX0NIT0lDRSwKKyAgICBYTUxfU0NIRU1BX1RZUEVfQUxMLAorICAgIFhNTF9TQ0hFTUFfVFlQRV9TSU1QTEVfQ09OVEVOVCwKKyAgICBYTUxfU0NIRU1BX1RZUEVfQ09NUExFWF9DT05URU5ULAorICAgIFhNTF9TQ0hFTUFfVFlQRV9VUiwKKyAgICBYTUxfU0NIRU1BX1RZUEVfUkVTVFJJQ1RJT04sCisgICAgWE1MX1NDSEVNQV9UWVBFX0VYVEVOU0lPTiwKKyAgICBYTUxfU0NIRU1BX1RZUEVfRUxFTUVOVCwKKyAgICBYTUxfU0NIRU1BX1RZUEVfQVRUUklCVVRFLAorICAgIFhNTF9TQ0hFTUFfVFlQRV9BVFRSSUJVVEVHUk9VUCwKKyAgICBYTUxfU0NIRU1BX1RZUEVfR1JPVVAsCisgICAgWE1MX1NDSEVNQV9UWVBFX05PVEFUSU9OLAorICAgIFhNTF9TQ0hFTUFfVFlQRV9MSVNULAorICAgIFhNTF9TQ0hFTUFfVFlQRV9VTklPTiwKKyAgICBYTUxfU0NIRU1BX1RZUEVfQU5ZX0FUVFJJQlVURSwKKyAgICBYTUxfU0NIRU1BX1RZUEVfSURDX1VOSVFVRSwKKyAgICBYTUxfU0NIRU1BX1RZUEVfSURDX0tFWSwKKyAgICBYTUxfU0NIRU1BX1RZUEVfSURDX0tFWVJFRiwKKyAgICBYTUxfU0NIRU1BX1RZUEVfUEFSVElDTEUgPSAyNSwKKyAgICBYTUxfU0NIRU1BX1RZUEVfQVRUUklCVVRFX1VTRSwKKyAgICBYTUxfU0NIRU1BX0ZBQ0VUX01JTklOQ0xVU0lWRSA9IDEwMDAsCisgICAgWE1MX1NDSEVNQV9GQUNFVF9NSU5FWENMVVNJVkUsCisgICAgWE1MX1NDSEVNQV9GQUNFVF9NQVhJTkNMVVNJVkUsCisgICAgWE1MX1NDSEVNQV9GQUNFVF9NQVhFWENMVVNJVkUsCisgICAgWE1MX1NDSEVNQV9GQUNFVF9UT1RBTERJR0lUUywKKyAgICBYTUxfU0NIRU1BX0ZBQ0VUX0ZSQUNUSU9ORElHSVRTLAorICAgIFhNTF9TQ0hFTUFfRkFDRVRfUEFUVEVSTiwKKyAgICBYTUxfU0NIRU1BX0ZBQ0VUX0VOVU1FUkFUSU9OLAorICAgIFhNTF9TQ0hFTUFfRkFDRVRfV0hJVEVTUEFDRSwKKyAgICBYTUxfU0NIRU1BX0ZBQ0VUX0xFTkdUSCwKKyAgICBYTUxfU0NIRU1BX0ZBQ0VUX01BWExFTkdUSCwKKyAgICBYTUxfU0NIRU1BX0ZBQ0VUX01JTkxFTkdUSCwKKyAgICBYTUxfU0NIRU1BX0VYVFJBX1FOQU1FUkVGID0gMjAwMCwKKyAgICBYTUxfU0NIRU1BX0VYVFJBX0FUVFJfVVNFX1BST0hJQgorfSB4bWxTY2hlbWFUeXBlVHlwZTsKKwordHlwZWRlZiBlbnVtIHsKKyAgICBYTUxfU0NIRU1BX0NPTlRFTlRfVU5LTk9XTiA9IDAsCisgICAgWE1MX1NDSEVNQV9DT05URU5UX0VNUFRZID0gMSwKKyAgICBYTUxfU0NIRU1BX0NPTlRFTlRfRUxFTUVOVFMsCisgICAgWE1MX1NDSEVNQV9DT05URU5UX01JWEVELAorICAgIFhNTF9TQ0hFTUFfQ09OVEVOVF9TSU1QTEUsCisgICAgWE1MX1NDSEVNQV9DT05URU5UX01JWEVEX09SX0VMRU1FTlRTLCAvKiBPYnNvbGV0ZSAqLworICAgIFhNTF9TQ0hFTUFfQ09OVEVOVF9CQVNJQywKKyAgICBYTUxfU0NIRU1BX0NPTlRFTlRfQU5ZCit9IHhtbFNjaGVtYUNvbnRlbnRUeXBlOworCit0eXBlZGVmIHN0cnVjdCBfeG1sU2NoZW1hVmFsIHhtbFNjaGVtYVZhbDsKK3R5cGVkZWYgeG1sU2NoZW1hVmFsICp4bWxTY2hlbWFWYWxQdHI7CisKK3R5cGVkZWYgc3RydWN0IF94bWxTY2hlbWFUeXBlIHhtbFNjaGVtYVR5cGU7Cit0eXBlZGVmIHhtbFNjaGVtYVR5cGUgKnhtbFNjaGVtYVR5cGVQdHI7CisKK3R5cGVkZWYgc3RydWN0IF94bWxTY2hlbWFGYWNldCB4bWxTY2hlbWFGYWNldDsKK3R5cGVkZWYgeG1sU2NoZW1hRmFjZXQgKnhtbFNjaGVtYUZhY2V0UHRyOworCisvKioKKyAqIEFubm90YXRpb24KKyAqLwordHlwZWRlZiBzdHJ1Y3QgX3htbFNjaGVtYUFubm90IHhtbFNjaGVtYUFubm90OwordHlwZWRlZiB4bWxTY2hlbWFBbm5vdCAqeG1sU2NoZW1hQW5ub3RQdHI7CitzdHJ1Y3QgX3htbFNjaGVtYUFubm90IHsKKyAgICBzdHJ1Y3QgX3htbFNjaGVtYUFubm90ICpuZXh0OworICAgIHhtbE5vZGVQdHIgY29udGVudDsgICAgICAgICAvKiB0aGUgYW5ub3RhdGlvbiAqLworfTsKKworLyoqCisgKiBYTUxfU0NIRU1BU19BTllBVFRSX1NLSVA6CisgKgorICogU2tpcCB1bmtub3duIGF0dHJpYnV0ZSBmcm9tIHZhbGlkYXRpb24KKyAqIE9ic29sZXRlLCBub3QgdXNlZCBhbnltb3JlLgorICovCisjZGVmaW5lIFhNTF9TQ0hFTUFTX0FOWUFUVFJfU0tJUCAgICAgICAgMQorLyoqCisgKiBYTUxfU0NIRU1BU19BTllBVFRSX0xBWDoKKyAqCisgKiBJZ25vcmUgdmFsaWRhdGlvbiBub24gZGVmaW5pdGlvbiBvbiBhdHRyaWJ1dGVzCisgKiBPYnNvbGV0ZSwgbm90IHVzZWQgYW55bW9yZS4KKyAqLworI2RlZmluZSBYTUxfU0NIRU1BU19BTllBVFRSX0xBWCAgICAgICAgICAgICAgICAyCisvKioKKyAqIFhNTF9TQ0hFTUFTX0FOWUFUVFJfU1RSSUNUOgorICoKKyAqIEFwcGx5IHN0cmljdCB2YWxpZGF0aW9uIHJ1bGVzIG9uIGF0dHJpYnV0ZXMKKyAqIE9ic29sZXRlLCBub3QgdXNlZCBhbnltb3JlLgorICovCisjZGVmaW5lIFhNTF9TQ0hFTUFTX0FOWUFUVFJfU1RSSUNUICAgICAgICAzCisvKioKKyAqIFhNTF9TQ0hFTUFTX0FOWV9TS0lQOgorICoKKyAqIFNraXAgdW5rbm93biBhdHRyaWJ1dGUgZnJvbSB2YWxpZGF0aW9uCisgKi8KKyNkZWZpbmUgWE1MX1NDSEVNQVNfQU5ZX1NLSVAgICAgICAgIDEKKy8qKgorICogWE1MX1NDSEVNQVNfQU5ZX0xBWDoKKyAqCisgKiBVc2VkIGJ5IHdpbGRjYXJkcy4KKyAqIFZhbGlkYXRlIGlmIHR5cGUgZm91bmQsIGRvbid0IHdvcnJ5IGlmIG5vdCBmb3VuZAorICovCisjZGVmaW5lIFhNTF9TQ0hFTUFTX0FOWV9MQVggICAgICAgICAgICAgICAgMgorLyoqCisgKiBYTUxfU0NIRU1BU19BTllfU1RSSUNUOgorICoKKyAqIFVzZWQgYnkgd2lsZGNhcmRzLgorICogQXBwbHkgc3RyaWN0IHZhbGlkYXRpb24gcnVsZXMKKyAqLworI2RlZmluZSBYTUxfU0NIRU1BU19BTllfU1RSSUNUICAgICAgICAzCisvKioKKyAqIFhNTF9TQ0hFTUFTX0FUVFJfVVNFX1BST0hJQklURUQ6CisgKgorICogVXNlZCBieSB3aWxkY2FyZHMuCisgKiBUaGUgYXR0cmlidXRlIGlzIHByb2hpYml0ZWQuCisgKi8KKyNkZWZpbmUgWE1MX1NDSEVNQVNfQVRUUl9VU0VfUFJPSElCSVRFRCAwCisvKioKKyAqIFhNTF9TQ0hFTUFTX0FUVFJfVVNFX1JFUVVJUkVEOgorICoKKyAqIFRoZSBhdHRyaWJ1dGUgaXMgcmVxdWlyZWQuCisgKi8KKyNkZWZpbmUgWE1MX1NDSEVNQVNfQVRUUl9VU0VfUkVRVUlSRUQgMQorLyoqCisgKiBYTUxfU0NIRU1BU19BVFRSX1VTRV9PUFRJT05BTDoKKyAqCisgKiBUaGUgYXR0cmlidXRlIGlzIG9wdGlvbmFsLgorICovCisjZGVmaW5lIFhNTF9TQ0hFTUFTX0FUVFJfVVNFX09QVElPTkFMIDIKKy8qKgorICogWE1MX1NDSEVNQVNfQVRUUl9HTE9CQUw6CisgKgorICogYWxsb3cgZWxlbWVudHMgaW4gbm8gbmFtZXNwYWNlCisgKi8KKyNkZWZpbmUgWE1MX1NDSEVNQVNfQVRUUl9HTE9CQUwgICAgICAgIDEgPDwgMAorLyoqCisgKiBYTUxfU0NIRU1BU19BVFRSX05TREVGQVVMVDoKKyAqCisgKiBhbGxvdyBlbGVtZW50cyBpbiBubyBuYW1lc3BhY2UKKyAqLworI2RlZmluZSBYTUxfU0NIRU1BU19BVFRSX05TREVGQVVMVCAgICAgICAgMSA8PCA3CisvKioKKyAqIFhNTF9TQ0hFTUFTX0FUVFJfSU5URVJOQUxfUkVTT0xWRUQ6CisgKgorICogdGhpcyBpcyBzZXQgd2hlbiB0aGUgInR5cGUiIGFuZCAicmVmIiByZWZlcmVuY2VzCisgKiBoYXZlIGJlZW4gcmVzb2x2ZWQuCisgKi8KKyNkZWZpbmUgWE1MX1NDSEVNQVNfQVRUUl9JTlRFUk5BTF9SRVNPTFZFRCAgICAgICAgMSA8PCA4CisvKioKKyAqIFhNTF9TQ0hFTUFTX0FUVFJfRklYRUQ6CisgKgorICogdGhlIGF0dHJpYnV0ZSBoYXMgYSBmaXhlZCB2YWx1ZQorICovCisjZGVmaW5lIFhNTF9TQ0hFTUFTX0FUVFJfRklYRUQgICAgICAgIDEgPDwgOQorCisvKioKKyAqIHhtbFNjaGVtYUF0dHJpYnV0ZToKKyAqIEFuIGF0dHJpYnV0ZSBkZWZpbml0aW9uLgorICovCisKK3R5cGVkZWYgc3RydWN0IF94bWxTY2hlbWFBdHRyaWJ1dGUgeG1sU2NoZW1hQXR0cmlidXRlOwordHlwZWRlZiB4bWxTY2hlbWFBdHRyaWJ1dGUgKnhtbFNjaGVtYUF0dHJpYnV0ZVB0cjsKK3N0cnVjdCBfeG1sU2NoZW1hQXR0cmlidXRlIHsKKyAgICB4bWxTY2hlbWFUeXBlVHlwZSB0eXBlOworICAgIHN0cnVjdCBfeG1sU2NoZW1hQXR0cmlidXRlICpuZXh0OyAvKiB0aGUgbmV4dCBhdHRyaWJ1dGUgKG5vdCB1c2VkPykgKi8KKyAgICBjb25zdCB4bWxDaGFyICpuYW1lOyAvKiB0aGUgbmFtZSBvZiB0aGUgZGVjbGFyYXRpb24gKi8KKyAgICBjb25zdCB4bWxDaGFyICppZDsgLyogRGVwcmVjYXRlZDsgbm90IHVzZWQgKi8KKyAgICBjb25zdCB4bWxDaGFyICpyZWY7IC8qIERlcHJlY2F0ZWQ7IG5vdCB1c2VkICovCisgICAgY29uc3QgeG1sQ2hhciAqcmVmTnM7IC8qIERlcHJlY2F0ZWQ7IG5vdCB1c2VkICovCisgICAgY29uc3QgeG1sQ2hhciAqdHlwZU5hbWU7IC8qIHRoZSBsb2NhbCBuYW1lIG9mIHRoZSB0eXBlIGRlZmluaXRpb24gKi8KKyAgICBjb25zdCB4bWxDaGFyICp0eXBlTnM7IC8qIHRoZSBucyBVUkkgb2YgdGhlIHR5cGUgZGVmaW5pdGlvbiAqLworICAgIHhtbFNjaGVtYUFubm90UHRyIGFubm90OworCisgICAgeG1sU2NoZW1hVHlwZVB0ciBiYXNlOyAvKiBEZXByZWNhdGVkOyBub3QgdXNlZCAqLworICAgIGludCBvY2N1cnM7IC8qIERlcHJlY2F0ZWQ7IG5vdCB1c2VkICovCisgICAgY29uc3QgeG1sQ2hhciAqZGVmVmFsdWU7IC8qIFRoZSBpbml0aWFsIHZhbHVlIG9mIHRoZSB2YWx1ZSBjb25zdHJhaW50ICovCisgICAgeG1sU2NoZW1hVHlwZVB0ciBzdWJ0eXBlczsgLyogdGhlIHR5cGUgZGVmaW5pdGlvbiAqLworICAgIHhtbE5vZGVQdHIgbm9kZTsKKyAgICBjb25zdCB4bWxDaGFyICp0YXJnZXROYW1lc3BhY2U7CisgICAgaW50IGZsYWdzOworICAgIGNvbnN0IHhtbENoYXIgKnJlZlByZWZpeDsgLyogRGVwcmVjYXRlZDsgbm90IHVzZWQgKi8KKyAgICB4bWxTY2hlbWFWYWxQdHIgZGVmVmFsOyAvKiBUaGUgY29tcGlsZWQgdmFsdWUgY29uc3RyYWludCAqLworICAgIHhtbFNjaGVtYUF0dHJpYnV0ZVB0ciByZWZEZWNsOyAvKiBEZXByZWNhdGVkOyBub3QgdXNlZCAqLworfTsKKworLyoqCisgKiB4bWxTY2hlbWFBdHRyaWJ1dGVMaW5rOgorICogVXNlZCB0byBidWlsZCBhIGxpc3Qgb2YgYXR0cmlidXRlIHVzZXMgb24gY29tcGxleFR5cGUgZGVmaW5pdGlvbnMuCisgKiBXQVJOSU5HOiBEZXByZWNhdGVkOyBub3QgdXNlZC4KKyAqLwordHlwZWRlZiBzdHJ1Y3QgX3htbFNjaGVtYUF0dHJpYnV0ZUxpbmsgeG1sU2NoZW1hQXR0cmlidXRlTGluazsKK3R5cGVkZWYgeG1sU2NoZW1hQXR0cmlidXRlTGluayAqeG1sU2NoZW1hQXR0cmlidXRlTGlua1B0cjsKK3N0cnVjdCBfeG1sU2NoZW1hQXR0cmlidXRlTGluayB7CisgICAgc3RydWN0IF94bWxTY2hlbWFBdHRyaWJ1dGVMaW5rICpuZXh0Oy8qIHRoZSBuZXh0IGF0dHJpYnV0ZSBsaW5rIC4uLiAqLworICAgIHN0cnVjdCBfeG1sU2NoZW1hQXR0cmlidXRlICphdHRyOy8qIHRoZSBsaW5rZWQgYXR0cmlidXRlICovCit9OworCisvKioKKyAqIFhNTF9TQ0hFTUFTX1dJTERDQVJEX0NPTVBMRVRFOgorICoKKyAqIElmIHRoZSB3aWxkY2FyZCBpcyBjb21wbGV0ZS4KKyAqLworI2RlZmluZSBYTUxfU0NIRU1BU19XSUxEQ0FSRF9DT01QTEVURSAxIDw8IDAKKworLyoqCisgKiB4bWxTY2hlbWFDaGFyVmFsdWVMaW5rOgorICogVXNlZCB0byBidWlsZCBhIGxpc3Qgb2YgbmFtZXNwYWNlcyBvbiB3aWxkY2FyZHMuCisgKi8KK3R5cGVkZWYgc3RydWN0IF94bWxTY2hlbWFXaWxkY2FyZE5zIHhtbFNjaGVtYVdpbGRjYXJkTnM7Cit0eXBlZGVmIHhtbFNjaGVtYVdpbGRjYXJkTnMgKnhtbFNjaGVtYVdpbGRjYXJkTnNQdHI7CitzdHJ1Y3QgX3htbFNjaGVtYVdpbGRjYXJkTnMgeworICAgIHN0cnVjdCBfeG1sU2NoZW1hV2lsZGNhcmROcyAqbmV4dDsvKiB0aGUgbmV4dCBjb25zdHJhaW50IGxpbmsgLi4uICovCisgICAgY29uc3QgeG1sQ2hhciAqdmFsdWU7LyogdGhlIHZhbHVlICovCit9OworCisvKioKKyAqIHhtbFNjaGVtYVdpbGRjYXJkLgorICogQSB3aWxkY2FyZC4KKyAqLwordHlwZWRlZiBzdHJ1Y3QgX3htbFNjaGVtYVdpbGRjYXJkIHhtbFNjaGVtYVdpbGRjYXJkOwordHlwZWRlZiB4bWxTY2hlbWFXaWxkY2FyZCAqeG1sU2NoZW1hV2lsZGNhcmRQdHI7CitzdHJ1Y3QgX3htbFNjaGVtYVdpbGRjYXJkIHsKKyAgICB4bWxTY2hlbWFUeXBlVHlwZSB0eXBlOyAgICAgICAgLyogVGhlIGtpbmQgb2YgdHlwZSAqLworICAgIGNvbnN0IHhtbENoYXIgKmlkOyAvKiBEZXByZWNhdGVkOyBub3QgdXNlZCAqLworICAgIHhtbFNjaGVtYUFubm90UHRyIGFubm90OworICAgIHhtbE5vZGVQdHIgbm9kZTsKKyAgICBpbnQgbWluT2NjdXJzOyAvKiBEZXByZWNhdGVkOyBub3QgdXNlZCAqLworICAgIGludCBtYXhPY2N1cnM7IC8qIERlcHJlY2F0ZWQ7IG5vdCB1c2VkICovCisgICAgaW50IHByb2Nlc3NDb250ZW50czsKKyAgICBpbnQgYW55OyAvKiBJbmRpY2F0ZXMgaWYgdGhlIG5zIGNvbnN0cmFpbnQgaXMgb2YgIyNhbnkgKi8KKyAgICB4bWxTY2hlbWFXaWxkY2FyZE5zUHRyIG5zU2V0OyAvKiBUaGUgbGlzdCBvZiBhbGxvd2VkIG5hbWVzcGFjZXMgKi8KKyAgICB4bWxTY2hlbWFXaWxkY2FyZE5zUHRyIG5lZ05zU2V0OyAvKiBUaGUgbmVnYXRlZCBuYW1lc3BhY2UgKi8KKyAgICBpbnQgZmxhZ3M7Cit9OworCisvKioKKyAqIFhNTF9TQ0hFTUFTX0FUVFJHUk9VUF9XSUxEQ0FSRF9CVUlMREVEOgorICoKKyAqIFRoZSBhdHRyaWJ1dGUgd2lsZGNhcmQgaGFzIGJlZW4gYWxyZWFkeSBidWlsZGVkLgorICovCisjZGVmaW5lIFhNTF9TQ0hFTUFTX0FUVFJHUk9VUF9XSUxEQ0FSRF9CVUlMREVEIDEgPDwgMAorLyoqCisgKiBYTUxfU0NIRU1BU19BVFRSR1JPVVBfR0xPQkFMOgorICoKKyAqIFRoZSBhdHRyaWJ1dGUgd2lsZGNhcmQgaGFzIGJlZW4gYWxyZWFkeSBidWlsZGVkLgorICovCisjZGVmaW5lIFhNTF9TQ0hFTUFTX0FUVFJHUk9VUF9HTE9CQUwgMSA8PCAxCisvKioKKyAqIFhNTF9TQ0hFTUFTX0FUVFJHUk9VUF9NQVJLRUQ6CisgKgorICogTWFya3MgdGhlIGF0dHIgZ3JvdXAgYXMgbWFya2VkOyB1c2VkIGZvciBjaXJjdWxhciBjaGVja3MuCisgKi8KKyNkZWZpbmUgWE1MX1NDSEVNQVNfQVRUUkdST1VQX01BUktFRCAxIDw8IDIKKworLyoqCisgKiBYTUxfU0NIRU1BU19BVFRSR1JPVVBfUkVERUZJTkVEOgorICoKKyAqIFRoZSBhdHRyIGdyb3VwIHdhcyByZWRlZmluZWQuCisgKi8KKyNkZWZpbmUgWE1MX1NDSEVNQVNfQVRUUkdST1VQX1JFREVGSU5FRCAxIDw8IDMKKy8qKgorICogWE1MX1NDSEVNQVNfQVRUUkdST1VQX0hBU19SRUZTOgorICoKKyAqIFdoZXRoZXIgdGhpcyBhdHRyLiBncm91cCBjb250YWlucyBhdHRyLiBncm91cCByZWZlcmVuY2VzLgorICovCisjZGVmaW5lIFhNTF9TQ0hFTUFTX0FUVFJHUk9VUF9IQVNfUkVGUyAxIDw8IDQKKworLyoqCisgKiBBbiBhdHRyaWJ1dGUgZ3JvdXAgZGVmaW5pdGlvbi4KKyAqCisgKiB4bWxTY2hlbWFBdHRyaWJ1dGUgYW5kIHhtbFNjaGVtYUF0dHJpYnV0ZUdyb3VwIHN0YXJ0IG9mIHN0cnVjdHVyZXMKKyAqIG11c3QgYmUga2VwdCBzaW1pbGFyCisgKi8KK3R5cGVkZWYgc3RydWN0IF94bWxTY2hlbWFBdHRyaWJ1dGVHcm91cCB4bWxTY2hlbWFBdHRyaWJ1dGVHcm91cDsKK3R5cGVkZWYgeG1sU2NoZW1hQXR0cmlidXRlR3JvdXAgKnhtbFNjaGVtYUF0dHJpYnV0ZUdyb3VwUHRyOworc3RydWN0IF94bWxTY2hlbWFBdHRyaWJ1dGVHcm91cCB7CisgICAgeG1sU2NoZW1hVHlwZVR5cGUgdHlwZTsgICAgICAgIC8qIFRoZSBraW5kIG9mIHR5cGUgKi8KKyAgICBzdHJ1Y3QgX3htbFNjaGVtYUF0dHJpYnV0ZSAqbmV4dDsvKiB0aGUgbmV4dCBhdHRyaWJ1dGUgaWYgaW4gYSBncm91cCAuLi4gKi8KKyAgICBjb25zdCB4bWxDaGFyICpuYW1lOworICAgIGNvbnN0IHhtbENoYXIgKmlkOworICAgIGNvbnN0IHhtbENoYXIgKnJlZjsgLyogRGVwcmVjYXRlZDsgbm90IHVzZWQgKi8KKyAgICBjb25zdCB4bWxDaGFyICpyZWZOczsgLyogRGVwcmVjYXRlZDsgbm90IHVzZWQgKi8KKyAgICB4bWxTY2hlbWFBbm5vdFB0ciBhbm5vdDsKKworICAgIHhtbFNjaGVtYUF0dHJpYnV0ZVB0ciBhdHRyaWJ1dGVzOyAvKiBEZXByZWNhdGVkOyBub3QgdXNlZCAqLworICAgIHhtbE5vZGVQdHIgbm9kZTsKKyAgICBpbnQgZmxhZ3M7CisgICAgeG1sU2NoZW1hV2lsZGNhcmRQdHIgYXR0cmlidXRlV2lsZGNhcmQ7CisgICAgY29uc3QgeG1sQ2hhciAqcmVmUHJlZml4OyAvKiBEZXByZWNhdGVkOyBub3QgdXNlZCAqLworICAgIHhtbFNjaGVtYUF0dHJpYnV0ZUdyb3VwUHRyIHJlZkl0ZW07IC8qIERlcHJlY2F0ZWQ7IG5vdCB1c2VkICovCisgICAgY29uc3QgeG1sQ2hhciAqdGFyZ2V0TmFtZXNwYWNlOworICAgIHZvaWQgKmF0dHJVc2VzOworfTsKKworLyoqCisgKiB4bWxTY2hlbWFUeXBlTGluazoKKyAqIFVzZWQgdG8gYnVpbGQgYSBsaXN0IG9mIHR5cGVzIChlLmcuIG1lbWJlciB0eXBlcyBvZgorICogc2ltcGxlVHlwZSB3aXRoIHZhcmlldHkgInVuaW9uIikuCisgKi8KK3R5cGVkZWYgc3RydWN0IF94bWxTY2hlbWFUeXBlTGluayB4bWxTY2hlbWFUeXBlTGluazsKK3R5cGVkZWYgeG1sU2NoZW1hVHlwZUxpbmsgKnhtbFNjaGVtYVR5cGVMaW5rUHRyOworc3RydWN0IF94bWxTY2hlbWFUeXBlTGluayB7CisgICAgc3RydWN0IF94bWxTY2hlbWFUeXBlTGluayAqbmV4dDsvKiB0aGUgbmV4dCB0eXBlIGxpbmsgLi4uICovCisgICAgeG1sU2NoZW1hVHlwZVB0ciB0eXBlOy8qIHRoZSBsaW5rZWQgdHlwZSAqLworfTsKKworLyoqCisgKiB4bWxTY2hlbWFGYWNldExpbms6CisgKiBVc2VkIHRvIGJ1aWxkIGEgbGlzdCBvZiBmYWNldHMuCisgKi8KK3R5cGVkZWYgc3RydWN0IF94bWxTY2hlbWFGYWNldExpbmsgeG1sU2NoZW1hRmFjZXRMaW5rOwordHlwZWRlZiB4bWxTY2hlbWFGYWNldExpbmsgKnhtbFNjaGVtYUZhY2V0TGlua1B0cjsKK3N0cnVjdCBfeG1sU2NoZW1hRmFjZXRMaW5rIHsKKyAgICBzdHJ1Y3QgX3htbFNjaGVtYUZhY2V0TGluayAqbmV4dDsvKiB0aGUgbmV4dCBmYWNldCBsaW5rIC4uLiAqLworICAgIHhtbFNjaGVtYUZhY2V0UHRyIGZhY2V0Oy8qIHRoZSBsaW5rZWQgZmFjZXQgKi8KK307CisKKy8qKgorICogWE1MX1NDSEVNQVNfVFlQRV9NSVhFRDoKKyAqCisgKiB0aGUgZWxlbWVudCBjb250ZW50IHR5cGUgaXMgbWl4ZWQKKyAqLworI2RlZmluZSBYTUxfU0NIRU1BU19UWVBFX01JWEVEICAgICAgICAgICAgICAgIDEgPDwgMAorLyoqCisgKiBYTUxfU0NIRU1BU19UWVBFX0RFUklWQVRJT05fTUVUSE9EX0VYVEVOU0lPTjoKKyAqCisgKiB0aGUgc2ltcGxlIG9yIGNvbXBsZXggdHlwZSBoYXMgYSBkZXJpdmF0aW9uIG1ldGhvZCBvZiAiZXh0ZW5zaW9uIi4KKyAqLworI2RlZmluZSBYTUxfU0NIRU1BU19UWVBFX0RFUklWQVRJT05fTUVUSE9EX0VYVEVOU0lPTiAgICAgICAgICAgICAgICAxIDw8IDEKKy8qKgorICogWE1MX1NDSEVNQVNfVFlQRV9ERVJJVkFUSU9OX01FVEhPRF9SRVNUUklDVElPTjoKKyAqCisgKiB0aGUgc2ltcGxlIG9yIGNvbXBsZXggdHlwZSBoYXMgYSBkZXJpdmF0aW9uIG1ldGhvZCBvZiAicmVzdHJpY3Rpb24iLgorICovCisjZGVmaW5lIFhNTF9TQ0hFTUFTX1RZUEVfREVSSVZBVElPTl9NRVRIT0RfUkVTVFJJQ1RJT04gICAgICAgICAgICAgICAgMSA8PCAyCisvKioKKyAqIFhNTF9TQ0hFTUFTX1RZUEVfR0xPQkFMOgorICoKKyAqIHRoZSB0eXBlIGlzIGdsb2JhbAorICovCisjZGVmaW5lIFhNTF9TQ0hFTUFTX1RZUEVfR0xPQkFMICAgICAgICAgICAgICAgIDEgPDwgMworLyoqCisgKiBYTUxfU0NIRU1BU19UWVBFX09XTkVEX0FUVFJfV0lMRENBUkQ6CisgKgorICogdGhlIGNvbXBsZXhUeXBlIG93bnMgYW4gYXR0cmlidXRlIHdpbGRjYXJkLCBpLmUuCisgKiBpdCBjYW4gYmUgZnJlZWQgYnkgdGhlIGNvbXBsZXhUeXBlCisgKi8KKyNkZWZpbmUgWE1MX1NDSEVNQVNfVFlQRV9PV05FRF9BVFRSX1dJTERDQVJEICAgIDEgPDwgNCAvKiBPYnNvbGV0ZS4gKi8KKy8qKgorICogWE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX0FCU0VOVDoKKyAqCisgKiB0aGUgc2ltcGxlVHlwZSBoYXMgYSB2YXJpZXR5IG9mICJhYnNlbnQiLgorICogVE9ETzogQWN0dWFsbHkgbm90IG5lY2Vzc2FyeSA6LS8sIHNpbmNlIGlmCisgKiBub25lIG9mIHRoZSB2YXJpZXR5IGZsYWdzIG9jY3VyIHRoZW4gaXQncworICogYXV0b21hdGljYWxseSBhYnNlbnQuCisgKi8KKyNkZWZpbmUgWE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX0FCU0VOVCAgICAxIDw8IDUKKy8qKgorICogWE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX0xJU1Q6CisgKgorICogdGhlIHNpbXBsZVR5cGUgaGFzIGEgdmFyaWV0eSBvZiAibGlzdCIuCisgKi8KKyNkZWZpbmUgWE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX0xJU1QgICAgMSA8PCA2CisvKioKKyAqIFhNTF9TQ0hFTUFTX1RZUEVfVkFSSUVUWV9VTklPTjoKKyAqCisgKiB0aGUgc2ltcGxlVHlwZSBoYXMgYSB2YXJpZXR5IG9mICJ1bmlvbiIuCisgKi8KKyNkZWZpbmUgWE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX1VOSU9OICAgIDEgPDwgNworLyoqCisgKiBYTUxfU0NIRU1BU19UWVBFX1ZBUklFVFlfQVRPTUlDOgorICoKKyAqIHRoZSBzaW1wbGVUeXBlIGhhcyBhIHZhcmlldHkgb2YgInVuaW9uIi4KKyAqLworI2RlZmluZSBYTUxfU0NIRU1BU19UWVBFX1ZBUklFVFlfQVRPTUlDICAgIDEgPDwgOAorLyoqCisgKiBYTUxfU0NIRU1BU19UWVBFX0ZJTkFMX0VYVEVOU0lPTjoKKyAqCisgKiB0aGUgY29tcGxleFR5cGUgaGFzIGEgZmluYWwgb2YgImV4dGVuc2lvbiIuCisgKi8KKyNkZWZpbmUgWE1MX1NDSEVNQVNfVFlQRV9GSU5BTF9FWFRFTlNJT04gICAgMSA8PCA5CisvKioKKyAqIFhNTF9TQ0hFTUFTX1RZUEVfRklOQUxfUkVTVFJJQ1RJT046CisgKgorICogdGhlIHNpbXBsZVR5cGUvY29tcGxleFR5cGUgaGFzIGEgZmluYWwgb2YgInJlc3RyaWN0aW9uIi4KKyAqLworI2RlZmluZSBYTUxfU0NIRU1BU19UWVBFX0ZJTkFMX1JFU1RSSUNUSU9OICAgIDEgPDwgMTAKKy8qKgorICogWE1MX1NDSEVNQVNfVFlQRV9GSU5BTF9MSVNUOgorICoKKyAqIHRoZSBzaW1wbGVUeXBlIGhhcyBhIGZpbmFsIG9mICJsaXN0Ii4KKyAqLworI2RlZmluZSBYTUxfU0NIRU1BU19UWVBFX0ZJTkFMX0xJU1QgICAgMSA8PCAxMQorLyoqCisgKiBYTUxfU0NIRU1BU19UWVBFX0ZJTkFMX1VOSU9OOgorICoKKyAqIHRoZSBzaW1wbGVUeXBlIGhhcyBhIGZpbmFsIG9mICJ1bmlvbiIuCisgKi8KKyNkZWZpbmUgWE1MX1NDSEVNQVNfVFlQRV9GSU5BTF9VTklPTiAgICAxIDw8IDEyCisvKioKKyAqIFhNTF9TQ0hFTUFTX1RZUEVfRklOQUxfREVGQVVMVDoKKyAqCisgKiB0aGUgc2ltcGxlVHlwZSBoYXMgYSBmaW5hbCBvZiAiZGVmYXVsdCIuCisgKi8KKyNkZWZpbmUgWE1MX1NDSEVNQVNfVFlQRV9GSU5BTF9ERUZBVUxUICAgIDEgPDwgMTMKKy8qKgorICogWE1MX1NDSEVNQVNfVFlQRV9CVUlMVElOX1BSSU1JVElWRToKKyAqCisgKiBNYXJrcyB0aGUgaXRlbSBhcyBhIGJ1aWx0aW4gcHJpbWl0aXZlLgorICovCisjZGVmaW5lIFhNTF9TQ0hFTUFTX1RZUEVfQlVJTFRJTl9QUklNSVRJVkUgICAgMSA8PCAxNAorLyoqCisgKiBYTUxfU0NIRU1BU19UWVBFX01BUktFRDoKKyAqCisgKiBNYXJrcyB0aGUgaXRlbSBhcyBtYXJrZWQ7IHVzZWQgZm9yIGNpcmN1bGFyIGNoZWNrcy4KKyAqLworI2RlZmluZSBYTUxfU0NIRU1BU19UWVBFX01BUktFRCAgICAgICAgMSA8PCAxNgorLyoqCisgKiBYTUxfU0NIRU1BU19UWVBFX0JMT0NLX0RFRkFVTFQ6CisgKgorICogdGhlIGNvbXBsZXhUeXBlIGRpZCBub3Qgc3BlY2lmeSAnYmxvY2snIHNvIHVzZSB0aGUgZGVmYXVsdCBvZiB0aGUKKyAqIDxzY2hlbWE+IGl0ZW0uCisgKi8KKyNkZWZpbmUgWE1MX1NDSEVNQVNfVFlQRV9CTE9DS19ERUZBVUxUICAgIDEgPDwgMTcKKy8qKgorICogWE1MX1NDSEVNQVNfVFlQRV9CTE9DS19FWFRFTlNJT046CisgKgorICogdGhlIGNvbXBsZXhUeXBlIGhhcyBhICdibG9jaycgb2YgImV4dGVuc2lvbiIuCisgKi8KKyNkZWZpbmUgWE1MX1NDSEVNQVNfVFlQRV9CTE9DS19FWFRFTlNJT04gICAgMSA8PCAxOAorLyoqCisgKiBYTUxfU0NIRU1BU19UWVBFX0JMT0NLX1JFU1RSSUNUSU9OOgorICoKKyAqIHRoZSBjb21wbGV4VHlwZSBoYXMgYSAnYmxvY2snIG9mICJyZXN0cmljdGlvbiIuCisgKi8KKyNkZWZpbmUgWE1MX1NDSEVNQVNfVFlQRV9CTE9DS19SRVNUUklDVElPTiAgICAxIDw8IDE5CisvKioKKyAqIFhNTF9TQ0hFTUFTX1RZUEVfQUJTVFJBQ1Q6CisgKgorICogdGhlIHNpbXBsZS9jb21wbGV4VHlwZSBpcyBhYnN0cmFjdC4KKyAqLworI2RlZmluZSBYTUxfU0NIRU1BU19UWVBFX0FCU1RSQUNUICAgIDEgPDwgMjAKKy8qKgorICogWE1MX1NDSEVNQVNfVFlQRV9GQUNFVFNORUVEVkFMVUU6CisgKgorICogaW5kaWNhdGVzIGlmIHRoZSBmYWNldHMgbmVlZCBhIGNvbXB1dGVkIHZhbHVlCisgKi8KKyNkZWZpbmUgWE1MX1NDSEVNQVNfVFlQRV9GQUNFVFNORUVEVkFMVUUgICAgMSA8PCAyMQorLyoqCisgKiBYTUxfU0NIRU1BU19UWVBFX0lOVEVSTkFMX1JFU09MVkVEOgorICoKKyAqIGluZGljYXRlcyB0aGF0IHRoZSB0eXBlIHdhcyB0eXBlZml4ZWQKKyAqLworI2RlZmluZSBYTUxfU0NIRU1BU19UWVBFX0lOVEVSTkFMX1JFU09MVkVEICAgIDEgPDwgMjIKKy8qKgorICogWE1MX1NDSEVNQVNfVFlQRV9JTlRFUk5BTF9JTlZBTElEOgorICoKKyAqIGluZGljYXRlcyB0aGF0IHRoZSB0eXBlIGlzIGludmFsaWQKKyAqLworI2RlZmluZSBYTUxfU0NIRU1BU19UWVBFX0lOVEVSTkFMX0lOVkFMSUQgICAgMSA8PCAyMworLyoqCisgKiBYTUxfU0NIRU1BU19UWVBFX1dISVRFU1BBQ0VfUFJFU0VSVkU6CisgKgorICogYSB3aGl0ZXNwYWNlLWZhY2V0IHZhbHVlIG9mICJwcmVzZXJ2ZSIKKyAqLworI2RlZmluZSBYTUxfU0NIRU1BU19UWVBFX1dISVRFU1BBQ0VfUFJFU0VSVkUgICAgMSA8PCAyNAorLyoqCisgKiBYTUxfU0NIRU1BU19UWVBFX1dISVRFU1BBQ0VfUkVQTEFDRToKKyAqCisgKiBhIHdoaXRlc3BhY2UtZmFjZXQgdmFsdWUgb2YgInJlcGxhY2UiCisgKi8KKyNkZWZpbmUgWE1MX1NDSEVNQVNfVFlQRV9XSElURVNQQUNFX1JFUExBQ0UgICAgMSA8PCAyNQorLyoqCisgKiBYTUxfU0NIRU1BU19UWVBFX1dISVRFU1BBQ0VfQ09MTEFQU0U6CisgKgorICogYSB3aGl0ZXNwYWNlLWZhY2V0IHZhbHVlIG9mICJjb2xsYXBzZSIKKyAqLworI2RlZmluZSBYTUxfU0NIRU1BU19UWVBFX1dISVRFU1BBQ0VfQ09MTEFQU0UgICAgMSA8PCAyNgorLyoqCisgKiBYTUxfU0NIRU1BU19UWVBFX0hBU19GQUNFVFM6CisgKgorICogaGFzIGZhY2V0cworICovCisjZGVmaW5lIFhNTF9TQ0hFTUFTX1RZUEVfSEFTX0ZBQ0VUUyAgICAxIDw8IDI3CisvKioKKyAqIFhNTF9TQ0hFTUFTX1RZUEVfTk9STVZBTFVFTkVFREVEOgorICoKKyAqIGluZGljYXRlcyBpZiB0aGUgZmFjZXRzIChwYXR0ZXJuKSBuZWVkIGEgbm9ybWFsaXplZCB2YWx1ZQorICovCisjZGVmaW5lIFhNTF9TQ0hFTUFTX1RZUEVfTk9STVZBTFVFTkVFREVEICAgIDEgPDwgMjgKKworLyoqCisgKiBYTUxfU0NIRU1BU19UWVBFX0ZJWFVQXzE6CisgKgorICogRmlyc3Qgc3RhZ2Ugb2YgZml4dXAgd2FzIGRvbmUuCisgKi8KKyNkZWZpbmUgWE1MX1NDSEVNQVNfVFlQRV9GSVhVUF8xICAgIDEgPDwgMjkKKworLyoqCisgKiBYTUxfU0NIRU1BU19UWVBFX1JFREVGSU5FRDoKKyAqCisgKiBUaGUgdHlwZSB3YXMgcmVkZWZpbmVkLgorICovCisjZGVmaW5lIFhNTF9TQ0hFTUFTX1RZUEVfUkVERUZJTkVEICAgIDEgPDwgMzAKKy8qKgorICogWE1MX1NDSEVNQVNfVFlQRV9SRURFRklOSU5HOgorICoKKyAqIFRoZSB0eXBlIHJlZGVmaW5lcyBhbiBvdGhlciB0eXBlLgorICovCisvKiAjZGVmaW5lIFhNTF9TQ0hFTUFTX1RZUEVfUkVERUZJTklORyAgICAxIDw8IDMxICovCisKKy8qKgorICogX3htbFNjaGVtYVR5cGU6CisgKgorICogU2NoZW1hcyB0eXBlIGRlZmluaXRpb24uCisgKi8KK3N0cnVjdCBfeG1sU2NoZW1hVHlwZSB7CisgICAgeG1sU2NoZW1hVHlwZVR5cGUgdHlwZTsgLyogVGhlIGtpbmQgb2YgdHlwZSAqLworICAgIHN0cnVjdCBfeG1sU2NoZW1hVHlwZSAqbmV4dDsgLyogdGhlIG5leHQgdHlwZSBpZiBpbiBhIHNlcXVlbmNlIC4uLiAqLworICAgIGNvbnN0IHhtbENoYXIgKm5hbWU7CisgICAgY29uc3QgeG1sQ2hhciAqaWQgOyAvKiBEZXByZWNhdGVkOyBub3QgdXNlZCAqLworICAgIGNvbnN0IHhtbENoYXIgKnJlZjsgLyogRGVwcmVjYXRlZDsgbm90IHVzZWQgKi8KKyAgICBjb25zdCB4bWxDaGFyICpyZWZOczsgLyogRGVwcmVjYXRlZDsgbm90IHVzZWQgKi8KKyAgICB4bWxTY2hlbWFBbm5vdFB0ciBhbm5vdDsKKyAgICB4bWxTY2hlbWFUeXBlUHRyIHN1YnR5cGVzOworICAgIHhtbFNjaGVtYUF0dHJpYnV0ZVB0ciBhdHRyaWJ1dGVzOyAvKiBEZXByZWNhdGVkOyBub3QgdXNlZCAqLworICAgIHhtbE5vZGVQdHIgbm9kZTsKKyAgICBpbnQgbWluT2NjdXJzOyAvKiBEZXByZWNhdGVkOyBub3QgdXNlZCAqLworICAgIGludCBtYXhPY2N1cnM7IC8qIERlcHJlY2F0ZWQ7IG5vdCB1c2VkICovCisKKyAgICBpbnQgZmxhZ3M7CisgICAgeG1sU2NoZW1hQ29udGVudFR5cGUgY29udGVudFR5cGU7CisgICAgY29uc3QgeG1sQ2hhciAqYmFzZTsgLyogQmFzZSB0eXBlJ3MgbG9jYWwgbmFtZSAqLworICAgIGNvbnN0IHhtbENoYXIgKmJhc2VOczsgLyogQmFzZSB0eXBlJ3MgdGFyZ2V0IG5hbWVzcGFjZSAqLworICAgIHhtbFNjaGVtYVR5cGVQdHIgYmFzZVR5cGU7IC8qIFRoZSBiYXNlIHR5cGUgY29tcG9uZW50ICovCisgICAgeG1sU2NoZW1hRmFjZXRQdHIgZmFjZXRzOyAvKiBMb2NhbCBmYWNldHMgKi8KKyAgICBzdHJ1Y3QgX3htbFNjaGVtYVR5cGUgKnJlZGVmOyAvKiBEZXByZWNhdGVkOyBub3QgdXNlZCAqLworICAgIGludCByZWN1cnNlOyAvKiBPYnNvbGV0ZSAqLworICAgIHhtbFNjaGVtYUF0dHJpYnV0ZUxpbmtQdHIgKmF0dHJpYnV0ZVVzZXM7IC8qIERlcHJlY2F0ZWQ7IG5vdCB1c2VkICovCisgICAgeG1sU2NoZW1hV2lsZGNhcmRQdHIgYXR0cmlidXRlV2lsZGNhcmQ7CisgICAgaW50IGJ1aWx0SW5UeXBlOyAvKiBUeXBlIG9mIGJ1aWx0LWluIHR5cGVzLiAqLworICAgIHhtbFNjaGVtYVR5cGVMaW5rUHRyIG1lbWJlclR5cGVzOyAvKiBtZW1iZXItdHlwZXMgaWYgYSB1bmlvbiB0eXBlLiAqLworICAgIHhtbFNjaGVtYUZhY2V0TGlua1B0ciBmYWNldFNldDsgLyogQWxsIGZhY2V0cyAoaW5jbC4gaW5oZXJpdGVkKSAqLworICAgIGNvbnN0IHhtbENoYXIgKnJlZlByZWZpeDsgLyogRGVwcmVjYXRlZDsgbm90IHVzZWQgKi8KKyAgICB4bWxTY2hlbWFUeXBlUHRyIGNvbnRlbnRUeXBlRGVmOyAvKiBVc2VkIGZvciB0aGUgc2ltcGxlIGNvbnRlbnQgb2YgY29tcGxleCB0eXBlcy4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb3VsZCB3ZSB1c2UgQHN1YnR5cGVzIGZvciB0aGlzPyAqLworICAgIHhtbFJlZ2V4cFB0ciBjb250TW9kZWw7IC8qIEhvbGRzIHRoZSBhdXRvbWF0b24gb2YgdGhlIGNvbnRlbnQgbW9kZWwgKi8KKyAgICBjb25zdCB4bWxDaGFyICp0YXJnZXROYW1lc3BhY2U7CisgICAgdm9pZCAqYXR0clVzZXM7Cit9OworCisvKgorICogeG1sU2NoZW1hRWxlbWVudDoKKyAqIEFuIGVsZW1lbnQgZGVmaW5pdGlvbi4KKyAqCisgKiB4bWxTY2hlbWFUeXBlLCB4bWxTY2hlbWFGYWNldCBhbmQgeG1sU2NoZW1hRWxlbWVudCBzdGFydCBvZgorICogc3RydWN0dXJlcyBtdXN0IGJlIGtlcHQgc2ltaWxhcgorICovCisvKioKKyAqIFhNTF9TQ0hFTUFTX0VMRU1fTklMTEFCTEU6CisgKgorICogdGhlIGVsZW1lbnQgaXMgbmlsbGFibGUKKyAqLworI2RlZmluZSBYTUxfU0NIRU1BU19FTEVNX05JTExBQkxFICAgICAgICAxIDw8IDAKKy8qKgorICogWE1MX1NDSEVNQVNfRUxFTV9HTE9CQUw6CisgKgorICogdGhlIGVsZW1lbnQgaXMgZ2xvYmFsCisgKi8KKyNkZWZpbmUgWE1MX1NDSEVNQVNfRUxFTV9HTE9CQUwgICAgICAgICAgICAgICAgMSA8PCAxCisvKioKKyAqIFhNTF9TQ0hFTUFTX0VMRU1fREVGQVVMVDoKKyAqCisgKiB0aGUgZWxlbWVudCBoYXMgYSBkZWZhdWx0IHZhbHVlCisgKi8KKyNkZWZpbmUgWE1MX1NDSEVNQVNfRUxFTV9ERUZBVUxUICAgICAgICAxIDw8IDIKKy8qKgorICogWE1MX1NDSEVNQVNfRUxFTV9GSVhFRDoKKyAqCisgKiB0aGUgZWxlbWVudCBoYXMgYSBmaXhlZCB2YWx1ZQorICovCisjZGVmaW5lIFhNTF9TQ0hFTUFTX0VMRU1fRklYRUQgICAgICAgICAgICAgICAgMSA8PCAzCisvKioKKyAqIFhNTF9TQ0hFTUFTX0VMRU1fQUJTVFJBQ1Q6CisgKgorICogdGhlIGVsZW1lbnQgaXMgYWJzdHJhY3QKKyAqLworI2RlZmluZSBYTUxfU0NIRU1BU19FTEVNX0FCU1RSQUNUICAgICAgICAxIDw8IDQKKy8qKgorICogWE1MX1NDSEVNQVNfRUxFTV9UT1BMRVZFTDoKKyAqCisgKiB0aGUgZWxlbWVudCBpcyB0b3AgbGV2ZWwKKyAqIG9ic29sZXRlOiB1c2UgWE1MX1NDSEVNQVNfRUxFTV9HTE9CQUwgaW5zdGVhZAorICovCisjZGVmaW5lIFhNTF9TQ0hFTUFTX0VMRU1fVE9QTEVWRUwgICAgICAgIDEgPDwgNQorLyoqCisgKiBYTUxfU0NIRU1BU19FTEVNX1JFRjoKKyAqCisgKiB0aGUgZWxlbWVudCBpcyBhIHJlZmVyZW5jZSB0byBhIHR5cGUKKyAqLworI2RlZmluZSBYTUxfU0NIRU1BU19FTEVNX1JFRiAgICAgICAgICAgICAgICAxIDw8IDYKKy8qKgorICogWE1MX1NDSEVNQVNfRUxFTV9OU0RFRkFVTFQ6CisgKgorICogYWxsb3cgZWxlbWVudHMgaW4gbm8gbmFtZXNwYWNlCisgKiBPYnNvbGV0ZSwgbm90IHVzZWQgYW55bW9yZS4KKyAqLworI2RlZmluZSBYTUxfU0NIRU1BU19FTEVNX05TREVGQVVMVCAgICAgICAgMSA8PCA3CisvKioKKyAqIFhNTF9TQ0hFTUFTX0VMRU1fSU5URVJOQUxfUkVTT0xWRUQ6CisgKgorICogdGhpcyBpcyBzZXQgd2hlbiAidHlwZSIsICJyZWYiLCAic3Vic3RpdHV0aW9uR3JvdXAiCisgKiByZWZlcmVuY2VzIGhhdmUgYmVlbiByZXNvbHZlZC4KKyAqLworI2RlZmluZSBYTUxfU0NIRU1BU19FTEVNX0lOVEVSTkFMX1JFU09MVkVEICAgICAgICAxIDw8IDgKKyAvKioKKyAqIFhNTF9TQ0hFTUFTX0VMRU1fQ0lSQ1VMQVI6CisgKgorICogYSBoZWxwZXIgZmxhZyBmb3IgdGhlIHNlYXJjaCBvZiBjaXJjdWxhciByZWZlcmVuY2VzLgorICovCisjZGVmaW5lIFhNTF9TQ0hFTUFTX0VMRU1fQ0lSQ1VMQVIgICAgICAgIDEgPDwgOQorLyoqCisgKiBYTUxfU0NIRU1BU19FTEVNX0JMT0NLX0FCU0VOVDoKKyAqCisgKiB0aGUgImJsb2NrIiBhdHRyaWJ1dGUgaXMgYWJzZW50CisgKi8KKyNkZWZpbmUgWE1MX1NDSEVNQVNfRUxFTV9CTE9DS19BQlNFTlQgICAgICAgIDEgPDwgMTAKKy8qKgorICogWE1MX1NDSEVNQVNfRUxFTV9CTE9DS19FWFRFTlNJT046CisgKgorICogZGlzYWxsb3dlZCBzdWJzdGl0dXRpb25zIGFyZSBhYnNlbnQKKyAqLworI2RlZmluZSBYTUxfU0NIRU1BU19FTEVNX0JMT0NLX0VYVEVOU0lPTiAgICAgICAgMSA8PCAxMQorLyoqCisgKiBYTUxfU0NIRU1BU19FTEVNX0JMT0NLX1JFU1RSSUNUSU9OOgorICoKKyAqIGRpc2FsbG93ZWQgc3Vic3RpdHV0aW9uczogInJlc3RyaWN0aW9uIgorICovCisjZGVmaW5lIFhNTF9TQ0hFTUFTX0VMRU1fQkxPQ0tfUkVTVFJJQ1RJT04gICAgICAgIDEgPDwgMTIKKy8qKgorICogWE1MX1NDSEVNQVNfRUxFTV9CTE9DS19TVUJTVElUVVRJT046CisgKgorICogZGlzYWxsb3dlZCBzdWJzdGl0dXRpb25zOiAic3Vic3RpdHVpb24iCisgKi8KKyNkZWZpbmUgWE1MX1NDSEVNQVNfRUxFTV9CTE9DS19TVUJTVElUVVRJT04gICAgICAgIDEgPDwgMTMKKy8qKgorICogWE1MX1NDSEVNQVNfRUxFTV9GSU5BTF9BQlNFTlQ6CisgKgorICogc3Vic3RpdHV0aW9uIGdyb3VwIGV4Y2x1c2lvbnMgYXJlIGFic2VudAorICovCisjZGVmaW5lIFhNTF9TQ0hFTUFTX0VMRU1fRklOQUxfQUJTRU5UICAgICAgICAxIDw8IDE0CisvKioKKyAqIFhNTF9TQ0hFTUFTX0VMRU1fRklOQUxfRVhURU5TSU9OOgorICoKKyAqIHN1YnN0aXR1dGlvbiBncm91cCBleGNsdXNpb25zOiAiZXh0ZW5zaW9uIgorICovCisjZGVmaW5lIFhNTF9TQ0hFTUFTX0VMRU1fRklOQUxfRVhURU5TSU9OICAgICAgICAxIDw8IDE1CisvKioKKyAqIFhNTF9TQ0hFTUFTX0VMRU1fRklOQUxfUkVTVFJJQ1RJT046CisgKgorICogc3Vic3RpdHV0aW9uIGdyb3VwIGV4Y2x1c2lvbnM6ICJyZXN0cmljdGlvbiIKKyAqLworI2RlZmluZSBYTUxfU0NIRU1BU19FTEVNX0ZJTkFMX1JFU1RSSUNUSU9OICAgICAgICAxIDw8IDE2CisvKioKKyAqIFhNTF9TQ0hFTUFTX0VMRU1fU1VCU1RfR1JPVVBfSEVBRDoKKyAqCisgKiB0aGUgZGVjbGFyYXRpb24gaXMgYSBzdWJzdGl0dXRpb24gZ3JvdXAgaGVhZAorICovCisjZGVmaW5lIFhNTF9TQ0hFTUFTX0VMRU1fU1VCU1RfR1JPVVBfSEVBRCAgICAgICAgMSA8PCAxNworLyoqCisgKiBYTUxfU0NIRU1BU19FTEVNX0lOVEVSTkFMX0NIRUNLRUQ6CisgKgorICogdGhpcyBpcyBzZXQgd2hlbiB0aGUgZWxlbSBkZWNsIGhhcyBiZWVuIGNoZWNrZWQgYWdhaW5zdAorICogYWxsIGNvbnN0cmFpbnRzCisgKi8KKyNkZWZpbmUgWE1MX1NDSEVNQVNfRUxFTV9JTlRFUk5BTF9DSEVDS0VEICAgICAgICAxIDw8IDE4CisKK3R5cGVkZWYgc3RydWN0IF94bWxTY2hlbWFFbGVtZW50IHhtbFNjaGVtYUVsZW1lbnQ7Cit0eXBlZGVmIHhtbFNjaGVtYUVsZW1lbnQgKnhtbFNjaGVtYUVsZW1lbnRQdHI7CitzdHJ1Y3QgX3htbFNjaGVtYUVsZW1lbnQgeworICAgIHhtbFNjaGVtYVR5cGVUeXBlIHR5cGU7IC8qIFRoZSBraW5kIG9mIHR5cGUgKi8KKyAgICBzdHJ1Y3QgX3htbFNjaGVtYVR5cGUgKm5leHQ7IC8qIE5vdCB1c2VkPyAqLworICAgIGNvbnN0IHhtbENoYXIgKm5hbWU7CisgICAgY29uc3QgeG1sQ2hhciAqaWQ7IC8qIERlcHJlY2F0ZWQ7IG5vdCB1c2VkICovCisgICAgY29uc3QgeG1sQ2hhciAqcmVmOyAvKiBEZXByZWNhdGVkOyBub3QgdXNlZCAqLworICAgIGNvbnN0IHhtbENoYXIgKnJlZk5zOyAvKiBEZXByZWNhdGVkOyBub3QgdXNlZCAqLworICAgIHhtbFNjaGVtYUFubm90UHRyIGFubm90OworICAgIHhtbFNjaGVtYVR5cGVQdHIgc3VidHlwZXM7IC8qIHRoZSB0eXBlIGRlZmluaXRpb24gKi8KKyAgICB4bWxTY2hlbWFBdHRyaWJ1dGVQdHIgYXR0cmlidXRlczsKKyAgICB4bWxOb2RlUHRyIG5vZGU7CisgICAgaW50IG1pbk9jY3VyczsgLyogRGVwcmVjYXRlZDsgbm90IHVzZWQgKi8KKyAgICBpbnQgbWF4T2NjdXJzOyAvKiBEZXByZWNhdGVkOyBub3QgdXNlZCAqLworCisgICAgaW50IGZsYWdzOworICAgIGNvbnN0IHhtbENoYXIgKnRhcmdldE5hbWVzcGFjZTsKKyAgICBjb25zdCB4bWxDaGFyICpuYW1lZFR5cGU7CisgICAgY29uc3QgeG1sQ2hhciAqbmFtZWRUeXBlTnM7CisgICAgY29uc3QgeG1sQ2hhciAqc3Vic3RHcm91cDsKKyAgICBjb25zdCB4bWxDaGFyICpzdWJzdEdyb3VwTnM7CisgICAgY29uc3QgeG1sQ2hhciAqc2NvcGU7CisgICAgY29uc3QgeG1sQ2hhciAqdmFsdWU7IC8qIFRoZSBvcmlnaW5hbCB2YWx1ZSBvZiB0aGUgdmFsdWUgY29uc3RyYWludC4gKi8KKyAgICBzdHJ1Y3QgX3htbFNjaGVtYUVsZW1lbnQgKnJlZkRlY2w7IC8qIFRoaXMgd2lsbCBub3cgYmUgdXNlZCBmb3IgdGhlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWJzdGl0dXRpb24gZ3JvdXAgYWZmaWxpYXRpb24gKi8KKyAgICB4bWxSZWdleHBQdHIgY29udE1vZGVsOyAvKiBPYnNvbGV0ZSBmb3IgV1hTLCBtYXliZSB1c2VkIGZvciBSZWxheE5HICovCisgICAgeG1sU2NoZW1hQ29udGVudFR5cGUgY29udGVudFR5cGU7CisgICAgY29uc3QgeG1sQ2hhciAqcmVmUHJlZml4OyAvKiBEZXByZWNhdGVkOyBub3QgdXNlZCAqLworICAgIHhtbFNjaGVtYVZhbFB0ciBkZWZWYWw7IC8qIFRoZSBjb21waWxlZCB2YWx1ZSBjb250cmFpbnQuICovCisgICAgdm9pZCAqaWRjczsgLyogVGhlIGlkZW50aXR5LWNvbnN0cmFpbnQgZGVmcyAqLworfTsKKworLyoKKyAqIFhNTF9TQ0hFTUFTX0ZBQ0VUX1VOS05PV046CisgKgorICogdW5rbm93biBmYWNldCBoYW5kbGluZworICovCisjZGVmaW5lIFhNTF9TQ0hFTUFTX0ZBQ0VUX1VOS05PV04gICAgICAgIDAKKy8qCisgKiBYTUxfU0NIRU1BU19GQUNFVF9QUkVTRVJWRToKKyAqCisgKiBwcmVzZXJ2ZSB0aGUgdHlwZSBvZiB0aGUgZmFjZXQKKyAqLworI2RlZmluZSBYTUxfU0NIRU1BU19GQUNFVF9QUkVTRVJWRSAgICAgICAgMQorLyoKKyAqIFhNTF9TQ0hFTUFTX0ZBQ0VUX1JFUExBQ0U6CisgKgorICogcmVwbGFjZSB0aGUgdHlwZSBvZiB0aGUgZmFjZXQKKyAqLworI2RlZmluZSBYTUxfU0NIRU1BU19GQUNFVF9SRVBMQUNFICAgICAgICAyCisvKgorICogWE1MX1NDSEVNQVNfRkFDRVRfQ09MTEFQU0U6CisgKgorICogY29sbGFwc2UgdGhlIHR5cGVzIG9mIHRoZSBmYWNldAorICovCisjZGVmaW5lIFhNTF9TQ0hFTUFTX0ZBQ0VUX0NPTExBUFNFICAgICAgICAzCisvKioKKyAqIEEgZmFjZXQgZGVmaW5pdGlvbi4KKyAqLworc3RydWN0IF94bWxTY2hlbWFGYWNldCB7CisgICAgeG1sU2NoZW1hVHlwZVR5cGUgdHlwZTsgICAgICAgIC8qIFRoZSBraW5kIG9mIHR5cGUgKi8KKyAgICBzdHJ1Y3QgX3htbFNjaGVtYUZhY2V0ICpuZXh0Oy8qIHRoZSBuZXh0IHR5cGUgaWYgaW4gYSBzZXF1ZW5jZSAuLi4gKi8KKyAgICBjb25zdCB4bWxDaGFyICp2YWx1ZTsgLyogVGhlIG9yaWdpbmFsIHZhbHVlICovCisgICAgY29uc3QgeG1sQ2hhciAqaWQ7IC8qIE9ic29sZXRlICovCisgICAgeG1sU2NoZW1hQW5ub3RQdHIgYW5ub3Q7CisgICAgeG1sTm9kZVB0ciBub2RlOworICAgIGludCBmaXhlZDsgLyogWE1MX1NDSEVNQVNfRkFDRVRfUFJFU0VSVkUsIGV0Yy4gKi8KKyAgICBpbnQgd2hpdGVzcGFjZTsKKyAgICB4bWxTY2hlbWFWYWxQdHIgdmFsOyAvKiBUaGUgY29tcGlsZWQgdmFsdWUgKi8KKyAgICB4bWxSZWdleHBQdHIgICAgcmVnZXhwOyAvKiBUaGUgcmVnZXggZm9yIHBhdHRlcm5zICovCit9OworCisvKioKKyAqIEEgbm90YXRpb24gZGVmaW5pdGlvbi4KKyAqLwordHlwZWRlZiBzdHJ1Y3QgX3htbFNjaGVtYU5vdGF0aW9uIHhtbFNjaGVtYU5vdGF0aW9uOwordHlwZWRlZiB4bWxTY2hlbWFOb3RhdGlvbiAqeG1sU2NoZW1hTm90YXRpb25QdHI7CitzdHJ1Y3QgX3htbFNjaGVtYU5vdGF0aW9uIHsKKyAgICB4bWxTY2hlbWFUeXBlVHlwZSB0eXBlOyAvKiBUaGUga2luZCBvZiB0eXBlICovCisgICAgY29uc3QgeG1sQ2hhciAqbmFtZTsKKyAgICB4bWxTY2hlbWFBbm5vdFB0ciBhbm5vdDsKKyAgICBjb25zdCB4bWxDaGFyICppZGVudGlmaWVyOworICAgIGNvbnN0IHhtbENoYXIgKnRhcmdldE5hbWVzcGFjZTsKK307CisKKy8qCisqIFRPRE86IEFjdHVhbGx5IGFsbCB0aG9zZSBmbGFncyB1c2VkIGZvciB0aGUgc2NoZW1hIHNob3VsZCBzaXQKKyogb24gdGhlIHNjaGVtYSBwYXJzZXIgY29udGV4dCwgc2luY2UgdGhleSBhcmUgdXNlZCBvbmx5CisqIGR1cmluZyBwYXJzaW5nIGFuIFhNTCBzY2hlbWEgZG9jdW1lbnQsIGFuZCBub3QgYXZhaWxhYmxlCisqIG9uIHRoZSBjb21wb25lbnQgbGV2ZWwgYXMgcGVyIHNwZWMuCisqLworLyoqCisgKiBYTUxfU0NIRU1BU19RVUFMSUZfRUxFTToKKyAqCisgKiBSZWZsZWN0cyBlbGVtZW50Rm9ybURlZmF1bHQgPT0gcXVhbGlmaWVkIGluCisgKiBhbiBYTUwgc2NoZW1hIGRvY3VtZW50LgorICovCisjZGVmaW5lIFhNTF9TQ0hFTUFTX1FVQUxJRl9FTEVNICAgICAgICAgICAgICAgIDEgPDwgMAorLyoqCisgKiBYTUxfU0NIRU1BU19RVUFMSUZfQVRUUjoKKyAqCisgKiBSZWZsZWN0cyBhdHRyaWJ1dGVGb3JtRGVmYXVsdCA9PSBxdWFsaWZpZWQgaW4KKyAqIGFuIFhNTCBzY2hlbWEgZG9jdW1lbnQuCisgKi8KKyNkZWZpbmUgWE1MX1NDSEVNQVNfUVVBTElGX0FUVFIgICAgICAgICAgICAxIDw8IDEKKy8qKgorICogWE1MX1NDSEVNQVNfRklOQUxfREVGQVVMVF9FWFRFTlNJT046CisgKgorICogdGhlIHNjaGVtYSBoYXMgImV4dGVuc2lvbiIgaW4gdGhlIHNldCBvZiBmaW5hbERlZmF1bHQuCisgKi8KKyNkZWZpbmUgWE1MX1NDSEVNQVNfRklOQUxfREVGQVVMVF9FWFRFTlNJT04gICAgICAgIDEgPDwgMgorLyoqCisgKiBYTUxfU0NIRU1BU19GSU5BTF9ERUZBVUxUX1JFU1RSSUNUSU9OOgorICoKKyAqIHRoZSBzY2hlbWEgaGFzICJyZXN0cmljdGlvbiIgaW4gdGhlIHNldCBvZiBmaW5hbERlZmF1bHQuCisgKi8KKyNkZWZpbmUgWE1MX1NDSEVNQVNfRklOQUxfREVGQVVMVF9SRVNUUklDVElPTiAgICAgICAgICAgIDEgPDwgMworLyoqCisgKiBYTUxfU0NIRU1BU19GSU5BTF9ERUZBVUxUX0xJU1Q6CisgKgorICogdGhlIGNzaGVtYSBoYXMgImxpc3QiIGluIHRoZSBzZXQgb2YgZmluYWxEZWZhdWx0LgorICovCisjZGVmaW5lIFhNTF9TQ0hFTUFTX0ZJTkFMX0RFRkFVTFRfTElTVCAgICAgICAgICAgIDEgPDwgNAorLyoqCisgKiBYTUxfU0NIRU1BU19GSU5BTF9ERUZBVUxUX1VOSU9OOgorICoKKyAqIHRoZSBzY2hlbWEgaGFzICJ1bmlvbiIgaW4gdGhlIHNldCBvZiBmaW5hbERlZmF1bHQuCisgKi8KKyNkZWZpbmUgWE1MX1NDSEVNQVNfRklOQUxfREVGQVVMVF9VTklPTiAgICAgICAgICAgIDEgPDwgNQorLyoqCisgKiBYTUxfU0NIRU1BU19CTE9DS19ERUZBVUxUX0VYVEVOU0lPTjoKKyAqCisgKiB0aGUgc2NoZW1hIGhhcyAiZXh0ZW5zaW9uIiBpbiB0aGUgc2V0IG9mIGJsb2NrRGVmYXVsdC4KKyAqLworI2RlZmluZSBYTUxfU0NIRU1BU19CTE9DS19ERUZBVUxUX0VYVEVOU0lPTiAgICAgICAgICAgIDEgPDwgNgorLyoqCisgKiBYTUxfU0NIRU1BU19CTE9DS19ERUZBVUxUX1JFU1RSSUNUSU9OOgorICoKKyAqIHRoZSBzY2hlbWEgaGFzICJyZXN0cmljdGlvbiIgaW4gdGhlIHNldCBvZiBibG9ja0RlZmF1bHQuCisgKi8KKyNkZWZpbmUgWE1MX1NDSEVNQVNfQkxPQ0tfREVGQVVMVF9SRVNUUklDVElPTiAgICAgICAgICAgIDEgPDwgNworLyoqCisgKiBYTUxfU0NIRU1BU19CTE9DS19ERUZBVUxUX1NVQlNUSVRVVElPTjoKKyAqCisgKiB0aGUgc2NoZW1hIGhhcyAic3Vic3RpdHV0aW9uIiBpbiB0aGUgc2V0IG9mIGJsb2NrRGVmYXVsdC4KKyAqLworI2RlZmluZSBYTUxfU0NIRU1BU19CTE9DS19ERUZBVUxUX1NVQlNUSVRVVElPTiAgICAgICAgICAgIDEgPDwgOAorLyoqCisgKiBYTUxfU0NIRU1BU19JTkNMVURJTkdfQ09OVkVSVF9OUzoKKyAqCisgKiB0aGUgc2NoZW1hIGlzIGN1cnJlbnRseSBpbmNsdWRpbmcgYW4gb3RoZXIgc2NoZW1hIHdpdGgKKyAqIG5vIHRhcmdldCBuYW1lc3BhY2UuCisgKi8KKyNkZWZpbmUgWE1MX1NDSEVNQVNfSU5DTFVESU5HX0NPTlZFUlRfTlMgICAgICAgICAgICAxIDw8IDkKKy8qKgorICogX3htbFNjaGVtYToKKyAqCisgKiBBIFNjaGVtYXMgZGVmaW5pdGlvbgorICovCitzdHJ1Y3QgX3htbFNjaGVtYSB7CisgICAgY29uc3QgeG1sQ2hhciAqbmFtZTsgLyogc2NoZW1hIG5hbWUgKi8KKyAgICBjb25zdCB4bWxDaGFyICp0YXJnZXROYW1lc3BhY2U7IC8qIHRoZSB0YXJnZXQgbmFtZXNwYWNlICovCisgICAgY29uc3QgeG1sQ2hhciAqdmVyc2lvbjsKKyAgICBjb25zdCB4bWxDaGFyICppZDsgLyogT2Jzb2xldGUgKi8KKyAgICB4bWxEb2NQdHIgZG9jOworICAgIHhtbFNjaGVtYUFubm90UHRyIGFubm90OworICAgIGludCBmbGFnczsKKworICAgIHhtbEhhc2hUYWJsZVB0ciB0eXBlRGVjbDsKKyAgICB4bWxIYXNoVGFibGVQdHIgYXR0ckRlY2w7CisgICAgeG1sSGFzaFRhYmxlUHRyIGF0dHJncnBEZWNsOworICAgIHhtbEhhc2hUYWJsZVB0ciBlbGVtRGVjbDsKKyAgICB4bWxIYXNoVGFibGVQdHIgbm90YURlY2w7CisKKyAgICB4bWxIYXNoVGFibGVQdHIgc2NoZW1hc0ltcG9ydHM7CisKKyAgICB2b2lkICpfcHJpdmF0ZTsgICAgICAgIC8qIHVudXNlZCBieSB0aGUgbGlicmFyeSBmb3IgdXNlcnMgb3IgYmluZGluZ3MgKi8KKyAgICB4bWxIYXNoVGFibGVQdHIgZ3JvdXBEZWNsOworICAgIHhtbERpY3RQdHIgICAgICBkaWN0OworICAgIHZvaWQgKmluY2x1ZGVzOyAgICAgLyogdGhlIGluY2x1ZGVzLCB0aGlzIGlzIG9wYXF1ZSBmb3Igbm93ICovCisgICAgaW50IHByZXNlcnZlOyAgICAgICAgLyogd2hldGhlciB0byBmcmVlIHRoZSBkb2N1bWVudCAqLworICAgIGludCBjb3VudGVyOyAvKiB1c2VkIHRvIGdpdmUgb25vbnltb3VzIGNvbXBvbmVudHMgdW5pcXVlIG5hbWVzICovCisgICAgeG1sSGFzaFRhYmxlUHRyIGlkY0RlZjsgLyogQWxsIGlkZW50aXR5LWNvbnN0cmFpbnQgZGVmcy4gKi8KKyAgICB2b2lkICp2b2xhdGlsZXM7IC8qIE9ic29sZXRlICovCit9OworCitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMICAgICAgICAgeG1sU2NoZW1hRnJlZVR5cGUgICAgICAgICh4bWxTY2hlbWFUeXBlUHRyIHR5cGUpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTCAgICAgICAgIHhtbFNjaGVtYUZyZWVXaWxkY2FyZCh4bWxTY2hlbWFXaWxkY2FyZFB0ciB3aWxkY2FyZCk7CisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCisKKyNlbmRpZiAvKiBMSUJYTUxfU0NIRU1BU19FTkFCTEVEICovCisjZW5kaWYgLyogX19YTUxfU0NIRU1BX0lOVEVSTkFMU19IX18gKi8KZGlmZiAtLWdpdCBhL2xpYnhtbDIvaW5jbHVkZS9saWJ4bWwvc2NoZW1hdHJvbi5oIGIvbGlieG1sMi9pbmNsdWRlL2xpYnhtbC9zY2hlbWF0cm9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzY0ZWFlYwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvaW5jbHVkZS9saWJ4bWwvc2NoZW1hdHJvbi5oCkBAIC0wLDAgKzEsMTQyIEBACisvKgorICogU3VtbWFyeTogWE1MIFNjaGVtYXN0cm9uIGltcGxlbWVudGF0aW9uCisgKiBEZXNjcmlwdGlvbjogaW50ZXJmYWNlIHRvIHRoZSBYTUwgU2NoZW1hdHJvbiB2YWxpZGl0eSBjaGVja2luZy4KKyAqCisgKiBDb3B5OiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisgKgorICogQXV0aG9yOiBEYW5pZWwgVmVpbGxhcmQKKyAqLworCisKKyNpZm5kZWYgX19YTUxfU0NIRU1BVFJPTl9IX18KKyNkZWZpbmUgX19YTUxfU0NIRU1BVFJPTl9IX18KKworI2luY2x1ZGUgPGxpYnhtbC94bWx2ZXJzaW9uLmg+CisKKyNpZmRlZiBMSUJYTUxfU0NIRU1BVFJPTl9FTkFCTEVECisKKyNpbmNsdWRlIDxsaWJ4bWwvdHJlZS5oPgorCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCisKK3R5cGVkZWYgZW51bSB7CisgICAgWE1MX1NDSEVNQVRST05fT1VUX1FVSUVUID0gMSA8PCAwLAkvKiBxdWlldCBubyByZXBvcnQgKi8KKyAgICBYTUxfU0NIRU1BVFJPTl9PVVRfVEVYVCA9IDEgPDwgMSwJLyogYnVpbGQgYSB0ZXh0dWFsIHJlcG9ydCAqLworICAgIFhNTF9TQ0hFTUFUUk9OX09VVF9YTUwgPSAxIDw8IDIsCS8qIG91dHB1dCBTVlJMICovCisgICAgWE1MX1NDSEVNQVRST05fT1VUX0VSUk9SID0gMSA8PCAzLCAgLyogb3V0cHV0IHZpYSB4bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jICovCisgICAgWE1MX1NDSEVNQVRST05fT1VUX0ZJTEUgPSAxIDw8IDgsCS8qIG91dHB1dCB0byBhIGZpbGUgZGVzY3JpcHRvciAqLworICAgIFhNTF9TQ0hFTUFUUk9OX09VVF9CVUZGRVIgPSAxIDw8IDksCS8qIG91dHB1dCB0byBhIGJ1ZmZlciAqLworICAgIFhNTF9TQ0hFTUFUUk9OX09VVF9JTyA9IDEgPDwgMTAJLyogb3V0cHV0IHRvIEkvTyBtZWNoYW5pc20gKi8KK30geG1sU2NoZW1hdHJvblZhbGlkT3B0aW9uczsKKworLyoqCisgKiBUaGUgc2NoZW1hcyByZWxhdGVkIHR5cGVzIGFyZSBrZXB0IGludGVybmFsCisgKi8KK3R5cGVkZWYgc3RydWN0IF94bWxTY2hlbWF0cm9uIHhtbFNjaGVtYXRyb247Cit0eXBlZGVmIHhtbFNjaGVtYXRyb24gKnhtbFNjaGVtYXRyb25QdHI7CisKKy8qKgorICogeG1sU2NoZW1hdHJvblZhbGlkaXR5RXJyb3JGdW5jOgorICogQGN0eDogdGhlIHZhbGlkYXRpb24gY29udGV4dAorICogQG1zZzogdGhlIG1lc3NhZ2UKKyAqIEAuLi46IGV4dHJhIGFyZ3VtZW50cworICoKKyAqIFNpZ25hdHVyZSBvZiBhbiBlcnJvciBjYWxsYmFjayBmcm9tIGEgU2NoZW1hdHJvbiB2YWxpZGF0aW9uCisgKi8KK3R5cGVkZWYgdm9pZCAoKnhtbFNjaGVtYXRyb25WYWxpZGl0eUVycm9yRnVuYykgKHZvaWQgKmN0eCwgY29uc3QgY2hhciAqbXNnLCAuLi4pOworCisvKioKKyAqIHhtbFNjaGVtYXRyb25WYWxpZGl0eVdhcm5pbmdGdW5jOgorICogQGN0eDogdGhlIHZhbGlkYXRpb24gY29udGV4dAorICogQG1zZzogdGhlIG1lc3NhZ2UKKyAqIEAuLi46IGV4dHJhIGFyZ3VtZW50cworICoKKyAqIFNpZ25hdHVyZSBvZiBhIHdhcm5pbmcgY2FsbGJhY2sgZnJvbSBhIFNjaGVtYXRyb24gdmFsaWRhdGlvbgorICovCit0eXBlZGVmIHZvaWQgKCp4bWxTY2hlbWF0cm9uVmFsaWRpdHlXYXJuaW5nRnVuYykgKHZvaWQgKmN0eCwgY29uc3QgY2hhciAqbXNnLCAuLi4pOworCisvKioKKyAqIEEgc2NoZW1hcyB2YWxpZGF0aW9uIGNvbnRleHQKKyAqLwordHlwZWRlZiBzdHJ1Y3QgX3htbFNjaGVtYXRyb25QYXJzZXJDdHh0IHhtbFNjaGVtYXRyb25QYXJzZXJDdHh0OwordHlwZWRlZiB4bWxTY2hlbWF0cm9uUGFyc2VyQ3R4dCAqeG1sU2NoZW1hdHJvblBhcnNlckN0eHRQdHI7CisKK3R5cGVkZWYgc3RydWN0IF94bWxTY2hlbWF0cm9uVmFsaWRDdHh0IHhtbFNjaGVtYXRyb25WYWxpZEN0eHQ7Cit0eXBlZGVmIHhtbFNjaGVtYXRyb25WYWxpZEN0eHQgKnhtbFNjaGVtYXRyb25WYWxpZEN0eHRQdHI7CisKKy8qCisgKiBJbnRlcmZhY2VzIGZvciBwYXJzaW5nLgorICovCitYTUxQVUJGVU4geG1sU2NoZW1hdHJvblBhcnNlckN0eHRQdHIgWE1MQ0FMTAorCSAgICB4bWxTY2hlbWF0cm9uTmV3UGFyc2VyQ3R4dAkoY29uc3QgY2hhciAqVVJMKTsKK1hNTFBVQkZVTiB4bWxTY2hlbWF0cm9uUGFyc2VyQ3R4dFB0ciBYTUxDQUxMCisJICAgIHhtbFNjaGVtYXRyb25OZXdNZW1QYXJzZXJDdHh0KGNvbnN0IGNoYXIgKmJ1ZmZlciwKKwkJCQkJIGludCBzaXplKTsKK1hNTFBVQkZVTiB4bWxTY2hlbWF0cm9uUGFyc2VyQ3R4dFB0ciBYTUxDQUxMCisJICAgIHhtbFNjaGVtYXRyb25OZXdEb2NQYXJzZXJDdHh0KHhtbERvY1B0ciBkb2MpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCSAgICB4bWxTY2hlbWF0cm9uRnJlZVBhcnNlckN0eHQJKHhtbFNjaGVtYXRyb25QYXJzZXJDdHh0UHRyIGN0eHQpOworLyoqKioqCitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJICAgIHhtbFNjaGVtYXRyb25TZXRQYXJzZXJFcnJvcnMoeG1sU2NoZW1hdHJvblBhcnNlckN0eHRQdHIgY3R4dCwKKwkJCQkJIHhtbFNjaGVtYXRyb25WYWxpZGl0eUVycm9yRnVuYyBlcnIsCisJCQkJCSB4bWxTY2hlbWF0cm9uVmFsaWRpdHlXYXJuaW5nRnVuYyB3YXJuLAorCQkJCQkgdm9pZCAqY3R4KTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl4bWxTY2hlbWF0cm9uR2V0UGFyc2VyRXJyb3JzKHhtbFNjaGVtYXRyb25QYXJzZXJDdHh0UHRyIGN0eHQsCisJCQkJCXhtbFNjaGVtYXRyb25WYWxpZGl0eUVycm9yRnVuYyAqIGVyciwKKwkJCQkJeG1sU2NoZW1hdHJvblZhbGlkaXR5V2FybmluZ0Z1bmMgKiB3YXJuLAorCQkJCQl2b2lkICoqY3R4KTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl4bWxTY2hlbWF0cm9uSXNWYWxpZAkoeG1sU2NoZW1hdHJvblZhbGlkQ3R4dFB0ciBjdHh0KTsKKyAqKioqKi8KK1hNTFBVQkZVTiB4bWxTY2hlbWF0cm9uUHRyIFhNTENBTEwKKwkgICAgeG1sU2NoZW1hdHJvblBhcnNlCQkoeG1sU2NoZW1hdHJvblBhcnNlckN0eHRQdHIgY3R4dCk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJICAgIHhtbFNjaGVtYXRyb25GcmVlCQkoeG1sU2NoZW1hdHJvblB0ciBzY2hlbWEpOworLyoKKyAqIEludGVyZmFjZXMgZm9yIHZhbGlkYXRpbmcKKyAqLworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCSAgICB4bWxTY2hlbWF0cm9uU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzKAorCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxTY2hlbWF0cm9uVmFsaWRDdHh0UHRyIGN0eHQsCisJCQkJCSAgeG1sU3RydWN0dXJlZEVycm9yRnVuYyBzZXJyb3IsCisJCQkJCSAgdm9pZCAqY3R4KTsKKy8qKioqKioKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkgICAgeG1sU2NoZW1hdHJvblNldFZhbGlkRXJyb3JzCSh4bWxTY2hlbWF0cm9uVmFsaWRDdHh0UHRyIGN0eHQsCisJCQkJCSB4bWxTY2hlbWF0cm9uVmFsaWRpdHlFcnJvckZ1bmMgZXJyLAorCQkJCQkgeG1sU2NoZW1hdHJvblZhbGlkaXR5V2FybmluZ0Z1bmMgd2FybiwKKwkJCQkJIHZvaWQgKmN0eCk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkgICAgeG1sU2NoZW1hdHJvbkdldFZhbGlkRXJyb3JzCSh4bWxTY2hlbWF0cm9uVmFsaWRDdHh0UHRyIGN0eHQsCisJCQkJCSB4bWxTY2hlbWF0cm9uVmFsaWRpdHlFcnJvckZ1bmMgKmVyciwKKwkJCQkJIHhtbFNjaGVtYXRyb25WYWxpZGl0eVdhcm5pbmdGdW5jICp3YXJuLAorCQkJCQkgdm9pZCAqKmN0eCk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkgICAgeG1sU2NoZW1hdHJvblNldFZhbGlkT3B0aW9ucyh4bWxTY2hlbWF0cm9uVmFsaWRDdHh0UHRyIGN0eHQsCisJCQkJCSBpbnQgb3B0aW9ucyk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkgICAgeG1sU2NoZW1hdHJvblZhbGlkQ3R4dEdldE9wdGlvbnMoeG1sU2NoZW1hdHJvblZhbGlkQ3R4dFB0ciBjdHh0KTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorICAgICAgICAgICAgeG1sU2NoZW1hdHJvblZhbGlkYXRlT25lRWxlbWVudCAoeG1sU2NoZW1hdHJvblZhbGlkQ3R4dFB0ciBjdHh0LAorCQkJICAgICAgICAgICAgICAgICB4bWxOb2RlUHRyIGVsZW0pOworICoqKioqKiovCisKK1hNTFBVQkZVTiB4bWxTY2hlbWF0cm9uVmFsaWRDdHh0UHRyIFhNTENBTEwKKwkgICAgeG1sU2NoZW1hdHJvbk5ld1ZhbGlkQ3R4dAkoeG1sU2NoZW1hdHJvblB0ciBzY2hlbWEsCisJCQkJCSBpbnQgb3B0aW9ucyk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJICAgIHhtbFNjaGVtYXRyb25GcmVlVmFsaWRDdHh0CSh4bWxTY2hlbWF0cm9uVmFsaWRDdHh0UHRyIGN0eHQpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJICAgIHhtbFNjaGVtYXRyb25WYWxpZGF0ZURvYwkoeG1sU2NoZW1hdHJvblZhbGlkQ3R4dFB0ciBjdHh0LAorCQkJCQkgeG1sRG9jUHRyIGluc3RhbmNlKTsKKworI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKworI2VuZGlmIC8qIExJQlhNTF9TQ0hFTUFUUk9OX0VOQUJMRUQgKi8KKyNlbmRpZiAvKiBfX1hNTF9TQ0hFTUFUUk9OX0hfXyAqLwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9pbmNsdWRlL2xpYnhtbC90aHJlYWRzLmggYi9saWJ4bWwyL2luY2x1ZGUvbGlieG1sL3RocmVhZHMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMzFmMTZhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9pbmNsdWRlL2xpYnhtbC90aHJlYWRzLmgKQEAgLTAsMCArMSw4NCBAQAorLyoqCisgKiBTdW1tYXJ5OiBpbnRlcmZhY2VzIGZvciB0aHJlYWQgaGFuZGxpbmcKKyAqIERlc2NyaXB0aW9uOiBzZXQgb2YgZ2VuZXJpYyB0aHJlYWRpbmcgcmVsYXRlZCByb3V0aW5lcworICogICAgICAgICAgICAgIHNob3VsZCB3b3JrIHdpdGggcHRocmVhZHMsIFdpbmRvd3MgbmF0aXZlIG9yIFRMUyB0aHJlYWRzCisgKgorICogQ29weTogU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgorICoKKyAqIEF1dGhvcjogRGFuaWVsIFZlaWxsYXJkCisgKi8KKworI2lmbmRlZiBfX1hNTF9USFJFQURTX0hfXworI2RlZmluZSBfX1hNTF9USFJFQURTX0hfXworCisjaW5jbHVkZSA8bGlieG1sL3htbHZlcnNpb24uaD4KKworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCisvKgorICogeG1sTXV0ZXggYXJlIGEgc2ltcGxlIG11dHVhbCBleGNlcHRpb24gbG9ja3MuCisgKi8KK3R5cGVkZWYgc3RydWN0IF94bWxNdXRleCB4bWxNdXRleDsKK3R5cGVkZWYgeG1sTXV0ZXggKnhtbE11dGV4UHRyOworCisvKgorICogeG1sUk11dGV4IGFyZSByZWVudHJhbnQgbXV0dWFsIGV4Y2VwdGlvbiBsb2Nrcy4KKyAqLwordHlwZWRlZiBzdHJ1Y3QgX3htbFJNdXRleCB4bWxSTXV0ZXg7Cit0eXBlZGVmIHhtbFJNdXRleCAqeG1sUk11dGV4UHRyOworCisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorI2luY2x1ZGUgPGxpYnhtbC9nbG9iYWxzLmg+CisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCitYTUxQVUJGVU4geG1sTXV0ZXhQdHIgWE1MQ0FMTAorCQkJeG1sTmV3TXV0ZXgJKHZvaWQpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQkJeG1sTXV0ZXhMb2NrCSh4bWxNdXRleFB0ciB0b2spOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQkJeG1sTXV0ZXhVbmxvY2sJKHhtbE11dGV4UHRyIHRvayk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCQl4bWxGcmVlTXV0ZXgJKHhtbE11dGV4UHRyIHRvayk7CisKK1hNTFBVQkZVTiB4bWxSTXV0ZXhQdHIgWE1MQ0FMTAorCQkJeG1sTmV3Uk11dGV4CSh2b2lkKTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJCXhtbFJNdXRleExvY2sJKHhtbFJNdXRleFB0ciB0b2spOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQkJeG1sUk11dGV4VW5sb2NrCSh4bWxSTXV0ZXhQdHIgdG9rKTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJCXhtbEZyZWVSTXV0ZXgJKHhtbFJNdXRleFB0ciB0b2spOworCisvKgorICogTGlicmFyeSB3aWRlIEFQSXMuCisgKi8KK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJCXhtbEluaXRUaHJlYWRzCSh2b2lkKTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJCXhtbExvY2tMaWJyYXJ5CSh2b2lkKTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJCXhtbFVubG9ja0xpYnJhcnkodm9pZCk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJCXhtbEdldFRocmVhZElkCSh2b2lkKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQkJeG1sSXNNYWluVGhyZWFkCSh2b2lkKTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJCXhtbENsZWFudXBUaHJlYWRzKHZvaWQpOworWE1MUFVCRlVOIHhtbEdsb2JhbFN0YXRlUHRyIFhNTENBTEwKKwkJCXhtbEdldEdsb2JhbFN0YXRlKHZvaWQpOworCisjaWYgZGVmaW5lZChIQVZFX1dJTjMyX1RIUkVBRFMpICYmICFkZWZpbmVkKEhBVkVfQ09NUElMRVJfVExTKSAmJiBkZWZpbmVkKExJQlhNTF9TVEFUSUNfRk9SX0RMTCkKK2ludCBYTUxDQUxMIHhtbERsbE1haW4odm9pZCAqaGluc3RETEwsIHVuc2lnbmVkIGxvbmcgZmR3UmVhc29uLCB2b2lkICpscHZSZXNlcnZlZCk7CisjZW5kaWYKKworI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKworCisjZW5kaWYgLyogX19YTUxfVEhSRUFEU19IX18gKi8KZGlmZiAtLWdpdCBhL2xpYnhtbDIvaW5jbHVkZS9saWJ4bWwvdHJlZS5oIGIvbGlieG1sMi9pbmNsdWRlL2xpYnhtbC90cmVlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmY5MDcxNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvaW5jbHVkZS9saWJ4bWwvdHJlZS5oCkBAIC0wLDAgKzEsMTMxMCBAQAorLyoKKyAqIFN1bW1hcnk6IGludGVyZmFjZXMgZm9yIHRyZWUgbWFuaXB1bGF0aW9uCisgKiBEZXNjcmlwdGlvbjogdGhpcyBtb2R1bGUgZGVzY3JpYmVzIHRoZSBzdHJ1Y3R1cmVzIGZvdW5kIGluIGFuIHRyZWUgcmVzdWx0aW5nCisgKiAgICAgICAgICAgICAgZnJvbSBhbiBYTUwgb3IgSFRNTCBwYXJzaW5nLCBhcyB3ZWxsIGFzIHRoZSBBUEkgcHJvdmlkZWQgZm9yCisgKiAgICAgICAgICAgICAgdmFyaW91cyBwcm9jZXNzaW5nIG9uIHRoYXQgdHJlZQorICoKKyAqIENvcHk6IFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyAqCisgKiBBdXRob3I6IERhbmllbCBWZWlsbGFyZAorICovCisKKyNpZm5kZWYgX19YTUxfVFJFRV9IX18KKyNkZWZpbmUgX19YTUxfVFJFRV9IX18KKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8bGltaXRzLmg+CisjaW5jbHVkZSA8bGlieG1sL3htbHZlcnNpb24uaD4KKyNpbmNsdWRlIDxsaWJ4bWwveG1sc3RyaW5nLmg+CisKKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7CisjZW5kaWYKKworLyoKKyAqIFNvbWUgb2YgdGhlIGJhc2ljIHR5cGVzIHBvaW50ZXIgdG8gc3RydWN0dXJlczoKKyAqLworLyogeG1sSU8uaCAqLwordHlwZWRlZiBzdHJ1Y3QgX3htbFBhcnNlcklucHV0QnVmZmVyIHhtbFBhcnNlcklucHV0QnVmZmVyOwordHlwZWRlZiB4bWxQYXJzZXJJbnB1dEJ1ZmZlciAqeG1sUGFyc2VySW5wdXRCdWZmZXJQdHI7CisKK3R5cGVkZWYgc3RydWN0IF94bWxPdXRwdXRCdWZmZXIgeG1sT3V0cHV0QnVmZmVyOwordHlwZWRlZiB4bWxPdXRwdXRCdWZmZXIgKnhtbE91dHB1dEJ1ZmZlclB0cjsKKworLyogcGFyc2VyLmggKi8KK3R5cGVkZWYgc3RydWN0IF94bWxQYXJzZXJJbnB1dCB4bWxQYXJzZXJJbnB1dDsKK3R5cGVkZWYgeG1sUGFyc2VySW5wdXQgKnhtbFBhcnNlcklucHV0UHRyOworCit0eXBlZGVmIHN0cnVjdCBfeG1sUGFyc2VyQ3R4dCB4bWxQYXJzZXJDdHh0OwordHlwZWRlZiB4bWxQYXJzZXJDdHh0ICp4bWxQYXJzZXJDdHh0UHRyOworCit0eXBlZGVmIHN0cnVjdCBfeG1sU0FYTG9jYXRvciB4bWxTQVhMb2NhdG9yOwordHlwZWRlZiB4bWxTQVhMb2NhdG9yICp4bWxTQVhMb2NhdG9yUHRyOworCit0eXBlZGVmIHN0cnVjdCBfeG1sU0FYSGFuZGxlciB4bWxTQVhIYW5kbGVyOwordHlwZWRlZiB4bWxTQVhIYW5kbGVyICp4bWxTQVhIYW5kbGVyUHRyOworCisvKiBlbnRpdGllcy5oICovCit0eXBlZGVmIHN0cnVjdCBfeG1sRW50aXR5IHhtbEVudGl0eTsKK3R5cGVkZWYgeG1sRW50aXR5ICp4bWxFbnRpdHlQdHI7CisKKy8qKgorICogQkFTRV9CVUZGRVJfU0laRToKKyAqCisgKiBkZWZhdWx0IGJ1ZmZlciBzaXplIDQwMDAuCisgKi8KKyNkZWZpbmUgQkFTRV9CVUZGRVJfU0laRSA0MDk2CisKKy8qKgorICogTElCWE1MX05BTUVTUEFDRV9ESUNUOgorICoKKyAqIERlZmluZXMgZXhwZXJpbWVudGFsIGJlaGF2aW91cjoKKyAqIDEpIHhtbE5zIGdldHMgYW4gYWRkaXRpb25hbCBmaWVsZCBAY29udGV4dCAoYSB4bWxEb2MpCisgKiAyKSB3aGVuIGNyZWF0aW5nIGEgdHJlZSwgeG1sTnMtPmhyZWYgaXMgc3RvcmVkIGluIHRoZSBkaWN0IG9mIHhtbERvYy4KKyAqLworLyogI2RlZmluZSBMSUJYTUxfTkFNRVNQQUNFX0RJQ1QgKi8KKworLyoqCisgKiB4bWxCdWZmZXJBbGxvY2F0aW9uU2NoZW1lOgorICoKKyAqIEEgYnVmZmVyIGFsbG9jYXRpb24gc2NoZW1lIGNhbiBiZSBkZWZpbmVkIHRvIGVpdGhlciBtYXRjaCBleGFjdGx5IHRoZQorICogbmVlZCBvciBkb3VibGUgaXQncyBhbGxvY2F0ZWQgc2l6ZSBlYWNoIHRpbWUgaXQgaXMgZm91bmQgdG9vIHNtYWxsLgorICovCisKK3R5cGVkZWYgZW51bSB7CisgICAgWE1MX0JVRkZFUl9BTExPQ19ET1VCTEVJVCwJLyogZG91YmxlIGVhY2ggdGltZSBvbmUgbmVlZCB0byBncm93ICovCisgICAgWE1MX0JVRkZFUl9BTExPQ19FWEFDVCwJLyogZ3JvdyBvbmx5IHRvIHRoZSBtaW5pbWFsIHNpemUgKi8KKyAgICBYTUxfQlVGRkVSX0FMTE9DX0lNTVVUQUJMRSwgLyogaW1tdXRhYmxlIGJ1ZmZlciAqLworICAgIFhNTF9CVUZGRVJfQUxMT0NfSU8sCS8qIHNwZWNpYWwgYWxsb2NhdGlvbiBzY2hlbWUgdXNlZCBmb3IgSS9PICovCisgICAgWE1MX0JVRkZFUl9BTExPQ19IWUJSSUQJLyogZXhhY3QgdXAgdG8gYSB0aHJlc2hvbGQsIGFuZCBkb3VibGVpdCB0aGVyZWFmdGVyICovCit9IHhtbEJ1ZmZlckFsbG9jYXRpb25TY2hlbWU7CisKKy8qKgorICogeG1sQnVmZmVyOgorICoKKyAqIEEgYnVmZmVyIHN0cnVjdHVyZSwgdGhpcyBvbGQgY29uc3RydWN0IGlzIGxpbWl0ZWQgdG8gMkdCIGFuZAorICogaXMgYmVpbmcgZGVwcmVjYXRlZCwgdXNlIEFQSSB3aXRoIHhtbEJ1ZiBpbnN0ZWFkCisgKi8KK3R5cGVkZWYgc3RydWN0IF94bWxCdWZmZXIgeG1sQnVmZmVyOwordHlwZWRlZiB4bWxCdWZmZXIgKnhtbEJ1ZmZlclB0cjsKK3N0cnVjdCBfeG1sQnVmZmVyIHsKKyAgICB4bWxDaGFyICpjb250ZW50OwkJLyogVGhlIGJ1ZmZlciBjb250ZW50IFVURjggKi8KKyAgICB1bnNpZ25lZCBpbnQgdXNlOwkJLyogVGhlIGJ1ZmZlciBzaXplIHVzZWQgKi8KKyAgICB1bnNpZ25lZCBpbnQgc2l6ZTsJCS8qIFRoZSBidWZmZXIgc2l6ZSAqLworICAgIHhtbEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUgYWxsb2M7IC8qIFRoZSByZWFsbG9jIG1ldGhvZCAqLworICAgIHhtbENoYXIgKmNvbnRlbnRJTzsJCS8qIGluIElPIG1vZGUgd2UgbWF5IGhhdmUgYSBkaWZmZXJlbnQgYmFzZSAqLworfTsKKworLyoqCisgKiB4bWxCdWY6CisgKgorICogQSBidWZmZXIgc3RydWN0dXJlLCBuZXcgb25lLCB0aGUgYWN0dWFsIHN0cnVjdHVyZSBpbnRlcm5hbHMgYXJlIG5vdCBwdWJsaWMKKyAqLworCit0eXBlZGVmIHN0cnVjdCBfeG1sQnVmIHhtbEJ1ZjsKKworLyoqCisgKiB4bWxCdWZQdHI6CisgKgorICogQSBwb2ludGVyIHRvIGEgYnVmZmVyIHN0cnVjdHVyZSwgdGhlIGFjdHVhbCBzdHJ1Y3R1cmUgaW50ZXJuYWxzIGFyZSBub3QKKyAqIHB1YmxpYworICovCisKK3R5cGVkZWYgeG1sQnVmICp4bWxCdWZQdHI7CisKKy8qCisgKiBBIGZldyBwdWJsaWMgcm91dGluZXMgZm9yIHhtbEJ1Zi4gQXMgdGhvc2UgYXJlIGV4cGVjdGVkIHRvIGJlIHVzZWQKKyAqIG1vc3RseSBpbnRlcm5hbGx5IHRoZSBidWxrIG9mIHRoZSByb3V0aW5lcyBhcmUgaW50ZXJuYWwgaW4gYnVmLmgKKyAqLworWE1MUFVCRlVOIHhtbENoYXIqIFhNTENBTEwgICAgICAgeG1sQnVmQ29udGVudAkoY29uc3QgeG1sQnVmKiBidWYpOworWE1MUFVCRlVOIHhtbENoYXIqIFhNTENBTEwgICAgICAgeG1sQnVmRW5kICAgICAgKHhtbEJ1ZlB0ciBidWYpOworWE1MUFVCRlVOIHNpemVfdCBYTUxDQUxMICAgICAgICAgeG1sQnVmVXNlICAgICAgKGNvbnN0IHhtbEJ1ZlB0ciBidWYpOworWE1MUFVCRlVOIHNpemVfdCBYTUxDQUxMICAgICAgICAgeG1sQnVmU2hyaW5rCSh4bWxCdWZQdHIgYnVmLCBzaXplX3QgbGVuKTsKKworLyoKKyAqIExJQlhNTDJfTkVXX0JVRkZFUjoKKyAqCisgKiBNYWNybyB1c2VkIHRvIGV4cHJlc3MgdGhhdCB0aGUgQVBJIHVzZSB0aGUgbmV3IGJ1ZmZlcnMgZm9yCisgKiB4bWxQYXJzZXJJbnB1dEJ1ZmZlciBhbmQgeG1sT3V0cHV0QnVmZmVyLiBUaGUgY2hhbmdlIHdhcworICogaW50cm9kdWNlZCBpbiAyLjkuMC4KKyAqLworI2RlZmluZSBMSUJYTUwyX05FV19CVUZGRVIKKworLyoqCisgKiBYTUxfWE1MX05BTUVTUEFDRToKKyAqCisgKiBUaGlzIGlzIHRoZSBuYW1lc3BhY2UgZm9yIHRoZSBzcGVjaWFsIHhtbDogcHJlZml4IHByZWRlZmluZWQgaW4gdGhlCisgKiBYTUwgTmFtZXNwYWNlIHNwZWNpZmljYXRpb24uCisgKi8KKyNkZWZpbmUgWE1MX1hNTF9OQU1FU1BBQ0UgXAorICAgIChjb25zdCB4bWxDaGFyICopICJodHRwOi8vd3d3LnczLm9yZy9YTUwvMTk5OC9uYW1lc3BhY2UiCisKKy8qKgorICogWE1MX1hNTF9JRDoKKyAqCisgKiBUaGlzIGlzIHRoZSBuYW1lIGZvciB0aGUgc3BlY2lhbCB4bWw6aWQgYXR0cmlidXRlCisgKi8KKyNkZWZpbmUgWE1MX1hNTF9JRCAoY29uc3QgeG1sQ2hhciAqKSAieG1sOmlkIgorCisvKgorICogVGhlIGRpZmZlcmVudCBlbGVtZW50IHR5cGVzIGNhcnJpZWQgYnkgYW4gWE1MIHRyZWUuCisgKgorICogTk9URTogVGhpcyBpcyBzeW5jaHJvbml6ZWQgd2l0aCBET00gTGV2ZWwxIHZhbHVlcworICogICAgICAgU2VlIGh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy1ET00tTGV2ZWwtMS8KKyAqCisgKiBBY3R1YWxseSB0aGlzIGhhZCBkaXZlcmdlZCBhIGJpdCwgYW5kIG5vdyBYTUxfRE9DVU1FTlRfVFlQRV9OT0RFIHNob3VsZAorICogYmUgZGVwcmVjYXRlZCB0byB1c2UgYW4gWE1MX0RURF9OT0RFLgorICovCit0eXBlZGVmIGVudW0geworICAgIFhNTF9FTEVNRU5UX05PREU9CQkxLAorICAgIFhNTF9BVFRSSUJVVEVfTk9ERT0JCTIsCisgICAgWE1MX1RFWFRfTk9ERT0JCTMsCisgICAgWE1MX0NEQVRBX1NFQ1RJT05fTk9ERT0JNCwKKyAgICBYTUxfRU5USVRZX1JFRl9OT0RFPQk1LAorICAgIFhNTF9FTlRJVFlfTk9ERT0JCTYsCisgICAgWE1MX1BJX05PREU9CQk3LAorICAgIFhNTF9DT01NRU5UX05PREU9CQk4LAorICAgIFhNTF9ET0NVTUVOVF9OT0RFPQkJOSwKKyAgICBYTUxfRE9DVU1FTlRfVFlQRV9OT0RFPQkxMCwKKyAgICBYTUxfRE9DVU1FTlRfRlJBR19OT0RFPQkxMSwKKyAgICBYTUxfTk9UQVRJT05fTk9ERT0JCTEyLAorICAgIFhNTF9IVE1MX0RPQ1VNRU5UX05PREU9CTEzLAorICAgIFhNTF9EVERfTk9ERT0JCTE0LAorICAgIFhNTF9FTEVNRU5UX0RFQ0w9CQkxNSwKKyAgICBYTUxfQVRUUklCVVRFX0RFQ0w9CQkxNiwKKyAgICBYTUxfRU5USVRZX0RFQ0w9CQkxNywKKyAgICBYTUxfTkFNRVNQQUNFX0RFQ0w9CQkxOCwKKyAgICBYTUxfWElOQ0xVREVfU1RBUlQ9CQkxOSwKKyAgICBYTUxfWElOQ0xVREVfRU5EPQkJMjAKKyNpZmRlZiBMSUJYTUxfRE9DQl9FTkFCTEVECisgICAsWE1MX0RPQ0JfRE9DVU1FTlRfTk9ERT0JMjEKKyNlbmRpZgorfSB4bWxFbGVtZW50VHlwZTsKKworCisvKioKKyAqIHhtbE5vdGF0aW9uOgorICoKKyAqIEEgRFREIE5vdGF0aW9uIGRlZmluaXRpb24uCisgKi8KKwordHlwZWRlZiBzdHJ1Y3QgX3htbE5vdGF0aW9uIHhtbE5vdGF0aW9uOwordHlwZWRlZiB4bWxOb3RhdGlvbiAqeG1sTm90YXRpb25QdHI7CitzdHJ1Y3QgX3htbE5vdGF0aW9uIHsKKyAgICBjb25zdCB4bWxDaGFyICAgICAgICAgICAgICAgKm5hbWU7CSAgICAgICAgLyogTm90YXRpb24gbmFtZSAqLworICAgIGNvbnN0IHhtbENoYXIgICAgICAgICAgICAgICAqUHVibGljSUQ7CS8qIFB1YmxpYyBpZGVudGlmaWVyLCBpZiBhbnkgKi8KKyAgICBjb25zdCB4bWxDaGFyICAgICAgICAgICAgICAgKlN5c3RlbUlEOwkvKiBTeXN0ZW0gaWRlbnRpZmllciwgaWYgYW55ICovCit9OworCisvKioKKyAqIHhtbEF0dHJpYnV0ZVR5cGU6CisgKgorICogQSBEVEQgQXR0cmlidXRlIHR5cGUgZGVmaW5pdGlvbi4KKyAqLworCit0eXBlZGVmIGVudW0geworICAgIFhNTF9BVFRSSUJVVEVfQ0RBVEEgPSAxLAorICAgIFhNTF9BVFRSSUJVVEVfSUQsCisgICAgWE1MX0FUVFJJQlVURV9JRFJFRgksCisgICAgWE1MX0FUVFJJQlVURV9JRFJFRlMsCisgICAgWE1MX0FUVFJJQlVURV9FTlRJVFksCisgICAgWE1MX0FUVFJJQlVURV9FTlRJVElFUywKKyAgICBYTUxfQVRUUklCVVRFX05NVE9LRU4sCisgICAgWE1MX0FUVFJJQlVURV9OTVRPS0VOUywKKyAgICBYTUxfQVRUUklCVVRFX0VOVU1FUkFUSU9OLAorICAgIFhNTF9BVFRSSUJVVEVfTk9UQVRJT04KK30geG1sQXR0cmlidXRlVHlwZTsKKworLyoqCisgKiB4bWxBdHRyaWJ1dGVEZWZhdWx0OgorICoKKyAqIEEgRFREIEF0dHJpYnV0ZSBkZWZhdWx0IGRlZmluaXRpb24uCisgKi8KKwordHlwZWRlZiBlbnVtIHsKKyAgICBYTUxfQVRUUklCVVRFX05PTkUgPSAxLAorICAgIFhNTF9BVFRSSUJVVEVfUkVRVUlSRUQsCisgICAgWE1MX0FUVFJJQlVURV9JTVBMSUVELAorICAgIFhNTF9BVFRSSUJVVEVfRklYRUQKK30geG1sQXR0cmlidXRlRGVmYXVsdDsKKworLyoqCisgKiB4bWxFbnVtZXJhdGlvbjoKKyAqCisgKiBMaXN0IHN0cnVjdHVyZSB1c2VkIHdoZW4gdGhlcmUgaXMgYW4gZW51bWVyYXRpb24gaW4gRFREcy4KKyAqLworCit0eXBlZGVmIHN0cnVjdCBfeG1sRW51bWVyYXRpb24geG1sRW51bWVyYXRpb247Cit0eXBlZGVmIHhtbEVudW1lcmF0aW9uICp4bWxFbnVtZXJhdGlvblB0cjsKK3N0cnVjdCBfeG1sRW51bWVyYXRpb24geworICAgIHN0cnVjdCBfeG1sRW51bWVyYXRpb24gICAgKm5leHQ7CS8qIG5leHQgb25lICovCisgICAgY29uc3QgeG1sQ2hhciAgICAgICAgICAgICpuYW1lOwkvKiBFbnVtZXJhdGlvbiBuYW1lICovCit9OworCisvKioKKyAqIHhtbEF0dHJpYnV0ZToKKyAqCisgKiBBbiBBdHRyaWJ1dGUgZGVjbGFyYXRpb24gaW4gYSBEVEQuCisgKi8KKwordHlwZWRlZiBzdHJ1Y3QgX3htbEF0dHJpYnV0ZSB4bWxBdHRyaWJ1dGU7Cit0eXBlZGVmIHhtbEF0dHJpYnV0ZSAqeG1sQXR0cmlidXRlUHRyOworc3RydWN0IF94bWxBdHRyaWJ1dGUgeworICAgIHZvaWQgICAgICAgICAgICpfcHJpdmF0ZTsJICAgICAgICAvKiBhcHBsaWNhdGlvbiBkYXRhICovCisgICAgeG1sRWxlbWVudFR5cGUgICAgICAgICAgdHlwZTsgICAgICAgLyogWE1MX0FUVFJJQlVURV9ERUNMLCBtdXN0IGJlIHNlY29uZCAhICovCisgICAgY29uc3QgeG1sQ2hhciAgICAgICAgICAqbmFtZTsJLyogQXR0cmlidXRlIG5hbWUgKi8KKyAgICBzdHJ1Y3QgX3htbE5vZGUgICAgKmNoaWxkcmVuOwkvKiBOVUxMICovCisgICAgc3RydWN0IF94bWxOb2RlICAgICAgICAqbGFzdDsJLyogTlVMTCAqLworICAgIHN0cnVjdCBfeG1sRHRkICAgICAgICpwYXJlbnQ7CS8qIC0+IERURCAqLworICAgIHN0cnVjdCBfeG1sTm9kZSAgICAgICAgKm5leHQ7CS8qIG5leHQgc2libGluZyBsaW5rICAqLworICAgIHN0cnVjdCBfeG1sTm9kZSAgICAgICAgKnByZXY7CS8qIHByZXZpb3VzIHNpYmxpbmcgbGluayAgKi8KKyAgICBzdHJ1Y3QgX3htbERvYyAgICAgICAgICAqZG9jOyAgICAgICAvKiB0aGUgY29udGFpbmluZyBkb2N1bWVudCAqLworCisgICAgc3RydWN0IF94bWxBdHRyaWJ1dGUgICpuZXh0aDsJLyogbmV4dCBpbiBoYXNoIHRhYmxlICovCisgICAgeG1sQXR0cmlidXRlVHlwZSAgICAgICBhdHlwZTsJLyogVGhlIGF0dHJpYnV0ZSB0eXBlICovCisgICAgeG1sQXR0cmlidXRlRGVmYXVsdCAgICAgIGRlZjsJLyogdGhlIGRlZmF1bHQgKi8KKyAgICBjb25zdCB4bWxDaGFyICAqZGVmYXVsdFZhbHVlOwkvKiBvciB0aGUgZGVmYXVsdCB2YWx1ZSAqLworICAgIHhtbEVudW1lcmF0aW9uUHRyICAgICAgIHRyZWU7ICAgICAgIC8qIG9yIHRoZSBlbnVtZXJhdGlvbiB0cmVlIGlmIGFueSAqLworICAgIGNvbnN0IHhtbENoYXIgICAgICAgICpwcmVmaXg7CS8qIHRoZSBuYW1lc3BhY2UgcHJlZml4IGlmIGFueSAqLworICAgIGNvbnN0IHhtbENoYXIgICAgICAgICAgKmVsZW07CS8qIEVsZW1lbnQgaG9sZGluZyB0aGUgYXR0cmlidXRlICovCit9OworCisvKioKKyAqIHhtbEVsZW1lbnRDb250ZW50VHlwZToKKyAqCisgKiBQb3NzaWJsZSBkZWZpbml0aW9ucyBvZiBlbGVtZW50IGNvbnRlbnQgdHlwZXMuCisgKi8KK3R5cGVkZWYgZW51bSB7CisgICAgWE1MX0VMRU1FTlRfQ09OVEVOVF9QQ0RBVEEgPSAxLAorICAgIFhNTF9FTEVNRU5UX0NPTlRFTlRfRUxFTUVOVCwKKyAgICBYTUxfRUxFTUVOVF9DT05URU5UX1NFUSwKKyAgICBYTUxfRUxFTUVOVF9DT05URU5UX09SCit9IHhtbEVsZW1lbnRDb250ZW50VHlwZTsKKworLyoqCisgKiB4bWxFbGVtZW50Q29udGVudE9jY3VyOgorICoKKyAqIFBvc3NpYmxlIGRlZmluaXRpb25zIG9mIGVsZW1lbnQgY29udGVudCBvY2N1cnJlbmNlcy4KKyAqLwordHlwZWRlZiBlbnVtIHsKKyAgICBYTUxfRUxFTUVOVF9DT05URU5UX09OQ0UgPSAxLAorICAgIFhNTF9FTEVNRU5UX0NPTlRFTlRfT1BULAorICAgIFhNTF9FTEVNRU5UX0NPTlRFTlRfTVVMVCwKKyAgICBYTUxfRUxFTUVOVF9DT05URU5UX1BMVVMKK30geG1sRWxlbWVudENvbnRlbnRPY2N1cjsKKworLyoqCisgKiB4bWxFbGVtZW50Q29udGVudDoKKyAqCisgKiBBbiBYTUwgRWxlbWVudCBjb250ZW50IGFzIHN0b3JlZCBhZnRlciBwYXJzaW5nIGFuIGVsZW1lbnQgZGVmaW5pdGlvbgorICogaW4gYSBEVEQuCisgKi8KKwordHlwZWRlZiBzdHJ1Y3QgX3htbEVsZW1lbnRDb250ZW50IHhtbEVsZW1lbnRDb250ZW50OwordHlwZWRlZiB4bWxFbGVtZW50Q29udGVudCAqeG1sRWxlbWVudENvbnRlbnRQdHI7CitzdHJ1Y3QgX3htbEVsZW1lbnRDb250ZW50IHsKKyAgICB4bWxFbGVtZW50Q29udGVudFR5cGUgICAgIHR5cGU7CS8qIFBDREFUQSwgRUxFTUVOVCwgU0VRIG9yIE9SICovCisgICAgeG1sRWxlbWVudENvbnRlbnRPY2N1ciAgICBvY3VyOwkvKiBPTkNFLCBPUFQsIE1VTFQgb3IgUExVUyAqLworICAgIGNvbnN0IHhtbENoYXIgICAgICAgICAgICAgKm5hbWU7CS8qIEVsZW1lbnQgbmFtZSAqLworICAgIHN0cnVjdCBfeG1sRWxlbWVudENvbnRlbnQgKmMxOwkvKiBmaXJzdCBjaGlsZCAqLworICAgIHN0cnVjdCBfeG1sRWxlbWVudENvbnRlbnQgKmMyOwkvKiBzZWNvbmQgY2hpbGQgKi8KKyAgICBzdHJ1Y3QgX3htbEVsZW1lbnRDb250ZW50ICpwYXJlbnQ7CS8qIHBhcmVudCAqLworICAgIGNvbnN0IHhtbENoYXIgICAgICAgICAgICAgKnByZWZpeDsJLyogTmFtZXNwYWNlIHByZWZpeCAqLworfTsKKworLyoqCisgKiB4bWxFbGVtZW50VHlwZVZhbDoKKyAqCisgKiBUaGUgZGlmZmVyZW50IHBvc3NpYmlsaXRpZXMgZm9yIGFuIGVsZW1lbnQgY29udGVudCB0eXBlLgorICovCisKK3R5cGVkZWYgZW51bSB7CisgICAgWE1MX0VMRU1FTlRfVFlQRV9VTkRFRklORUQgPSAwLAorICAgIFhNTF9FTEVNRU5UX1RZUEVfRU1QVFkgPSAxLAorICAgIFhNTF9FTEVNRU5UX1RZUEVfQU5ZLAorICAgIFhNTF9FTEVNRU5UX1RZUEVfTUlYRUQsCisgICAgWE1MX0VMRU1FTlRfVFlQRV9FTEVNRU5UCit9IHhtbEVsZW1lbnRUeXBlVmFsOworCisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorI2luY2x1ZGUgPGxpYnhtbC94bWxyZWdleHAuaD4KKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7CisjZW5kaWYKKworLyoqCisgKiB4bWxFbGVtZW50OgorICoKKyAqIEFuIFhNTCBFbGVtZW50IGRlY2xhcmF0aW9uIGZyb20gYSBEVEQuCisgKi8KKwordHlwZWRlZiBzdHJ1Y3QgX3htbEVsZW1lbnQgeG1sRWxlbWVudDsKK3R5cGVkZWYgeG1sRWxlbWVudCAqeG1sRWxlbWVudFB0cjsKK3N0cnVjdCBfeG1sRWxlbWVudCB7CisgICAgdm9pZCAgICAgICAgICAgKl9wcml2YXRlOwkgICAgICAgIC8qIGFwcGxpY2F0aW9uIGRhdGEgKi8KKyAgICB4bWxFbGVtZW50VHlwZSAgICAgICAgICB0eXBlOyAgICAgICAvKiBYTUxfRUxFTUVOVF9ERUNMLCBtdXN0IGJlIHNlY29uZCAhICovCisgICAgY29uc3QgeG1sQ2hhciAgICAgICAgICAqbmFtZTsJLyogRWxlbWVudCBuYW1lICovCisgICAgc3RydWN0IF94bWxOb2RlICAgICpjaGlsZHJlbjsJLyogTlVMTCAqLworICAgIHN0cnVjdCBfeG1sTm9kZSAgICAgICAgKmxhc3Q7CS8qIE5VTEwgKi8KKyAgICBzdHJ1Y3QgX3htbER0ZCAgICAgICAqcGFyZW50OwkvKiAtPiBEVEQgKi8KKyAgICBzdHJ1Y3QgX3htbE5vZGUgICAgICAgICpuZXh0OwkvKiBuZXh0IHNpYmxpbmcgbGluayAgKi8KKyAgICBzdHJ1Y3QgX3htbE5vZGUgICAgICAgICpwcmV2OwkvKiBwcmV2aW91cyBzaWJsaW5nIGxpbmsgICovCisgICAgc3RydWN0IF94bWxEb2MgICAgICAgICAgKmRvYzsgICAgICAgLyogdGhlIGNvbnRhaW5pbmcgZG9jdW1lbnQgKi8KKworICAgIHhtbEVsZW1lbnRUeXBlVmFsICAgICAgZXR5cGU7CS8qIFRoZSB0eXBlICovCisgICAgeG1sRWxlbWVudENvbnRlbnRQdHIgY29udGVudDsJLyogdGhlIGFsbG93ZWQgZWxlbWVudCBjb250ZW50ICovCisgICAgeG1sQXR0cmlidXRlUHRyICAgYXR0cmlidXRlczsJLyogTGlzdCBvZiB0aGUgZGVjbGFyZWQgYXR0cmlidXRlcyAqLworICAgIGNvbnN0IHhtbENoYXIgICAgICAgICpwcmVmaXg7CS8qIHRoZSBuYW1lc3BhY2UgcHJlZml4IGlmIGFueSAqLworI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAorICAgIHhtbFJlZ2V4cFB0ciAgICAgICBjb250TW9kZWw7CS8qIHRoZSB2YWxpZGF0aW5nIHJlZ2V4cCAqLworI2Vsc2UKKyAgICB2b2lkCSAgICAgICpjb250TW9kZWw7CisjZW5kaWYKK307CisKKworLyoqCisgKiBYTUxfTE9DQUxfTkFNRVNQQUNFOgorICoKKyAqIEEgbmFtZXNwYWNlIGRlY2xhcmF0aW9uIG5vZGUuCisgKi8KKyNkZWZpbmUgWE1MX0xPQ0FMX05BTUVTUEFDRSBYTUxfTkFNRVNQQUNFX0RFQ0wKK3R5cGVkZWYgeG1sRWxlbWVudFR5cGUgeG1sTnNUeXBlOworCisvKioKKyAqIHhtbE5zOgorICoKKyAqIEFuIFhNTCBuYW1lc3BhY2UuCisgKiBOb3RlIHRoYXQgcHJlZml4ID09IE5VTEwgaXMgdmFsaWQsIGl0IGRlZmluZXMgdGhlIGRlZmF1bHQgbmFtZXNwYWNlCisgKiB3aXRoaW4gdGhlIHN1YnRyZWUgKHVudGlsIG92ZXJyaWRkZW4pLgorICoKKyAqIHhtbE5zVHlwZSBpcyB1bmlmaWVkIHdpdGggeG1sRWxlbWVudFR5cGUuCisgKi8KKwordHlwZWRlZiBzdHJ1Y3QgX3htbE5zIHhtbE5zOwordHlwZWRlZiB4bWxOcyAqeG1sTnNQdHI7CitzdHJ1Y3QgX3htbE5zIHsKKyAgICBzdHJ1Y3QgX3htbE5zICAqbmV4dDsJLyogbmV4dCBOcyBsaW5rIGZvciB0aGlzIG5vZGUgICovCisgICAgeG1sTnNUeXBlICAgICAgdHlwZTsJLyogZ2xvYmFsIG9yIGxvY2FsICovCisgICAgY29uc3QgeG1sQ2hhciAqaHJlZjsJLyogVVJMIGZvciB0aGUgbmFtZXNwYWNlICovCisgICAgY29uc3QgeG1sQ2hhciAqcHJlZml4OwkvKiBwcmVmaXggZm9yIHRoZSBuYW1lc3BhY2UgKi8KKyAgICB2b2lkICAgICAgICAgICAqX3ByaXZhdGU7ICAgLyogYXBwbGljYXRpb24gZGF0YSAqLworICAgIHN0cnVjdCBfeG1sRG9jICpjb250ZXh0OwkJLyogbm9ybWFsbHkgYW4geG1sRG9jICovCit9OworCisvKioKKyAqIHhtbER0ZDoKKyAqCisgKiBBbiBYTUwgRFRELCBhcyBkZWZpbmVkIGJ5IDwhRE9DVFlQRSAuLi4gVGhlcmUgaXMgYWN0dWFsbHkgb25lIGZvcgorICogdGhlIGludGVybmFsIHN1YnNldCBhbmQgZm9yIHRoZSBleHRlcm5hbCBzdWJzZXQuCisgKi8KK3R5cGVkZWYgc3RydWN0IF94bWxEdGQgeG1sRHRkOwordHlwZWRlZiB4bWxEdGQgKnhtbER0ZFB0cjsKK3N0cnVjdCBfeG1sRHRkIHsKKyAgICB2b2lkICAgICAgICAgICAqX3ByaXZhdGU7CS8qIGFwcGxpY2F0aW9uIGRhdGEgKi8KKyAgICB4bWxFbGVtZW50VHlwZSAgdHlwZTsgICAgICAgLyogWE1MX0RURF9OT0RFLCBtdXN0IGJlIHNlY29uZCAhICovCisgICAgY29uc3QgeG1sQ2hhciAqbmFtZTsJLyogTmFtZSBvZiB0aGUgRFREICovCisgICAgc3RydWN0IF94bWxOb2RlICpjaGlsZHJlbjsJLyogdGhlIHZhbHVlIG9mIHRoZSBwcm9wZXJ0eSBsaW5rICovCisgICAgc3RydWN0IF94bWxOb2RlICpsYXN0OwkvKiBsYXN0IGNoaWxkIGxpbmsgKi8KKyAgICBzdHJ1Y3QgX3htbERvYyAgKnBhcmVudDsJLyogY2hpbGQtPnBhcmVudCBsaW5rICovCisgICAgc3RydWN0IF94bWxOb2RlICpuZXh0OwkvKiBuZXh0IHNpYmxpbmcgbGluayAgKi8KKyAgICBzdHJ1Y3QgX3htbE5vZGUgKnByZXY7CS8qIHByZXZpb3VzIHNpYmxpbmcgbGluayAgKi8KKyAgICBzdHJ1Y3QgX3htbERvYyAgKmRvYzsJLyogdGhlIGNvbnRhaW5pbmcgZG9jdW1lbnQgKi8KKworICAgIC8qIEVuZCBvZiBjb21tb24gcGFydCAqLworICAgIHZvaWQgICAgICAgICAgKm5vdGF0aW9uczsgICAvKiBIYXNoIHRhYmxlIGZvciBub3RhdGlvbnMgaWYgYW55ICovCisgICAgdm9pZCAgICAgICAgICAqZWxlbWVudHM7ICAgIC8qIEhhc2ggdGFibGUgZm9yIGVsZW1lbnRzIGlmIGFueSAqLworICAgIHZvaWQgICAgICAgICAgKmF0dHJpYnV0ZXM7ICAvKiBIYXNoIHRhYmxlIGZvciBhdHRyaWJ1dGVzIGlmIGFueSAqLworICAgIHZvaWQgICAgICAgICAgKmVudGl0aWVzOyAgICAvKiBIYXNoIHRhYmxlIGZvciBlbnRpdGllcyBpZiBhbnkgKi8KKyAgICBjb25zdCB4bWxDaGFyICpFeHRlcm5hbElEOwkvKiBFeHRlcm5hbCBpZGVudGlmaWVyIGZvciBQVUJMSUMgRFREICovCisgICAgY29uc3QgeG1sQ2hhciAqU3lzdGVtSUQ7CS8qIFVSSSBmb3IgYSBTWVNURU0gb3IgUFVCTElDIERURCAqLworICAgIHZvaWQgICAgICAgICAgKnBlbnRpdGllczsgICAvKiBIYXNoIHRhYmxlIGZvciBwYXJhbSBlbnRpdGllcyBpZiBhbnkgKi8KK307CisKKy8qKgorICogeG1sQXR0cjoKKyAqCisgKiBBbiBhdHRyaWJ1dGUgb24gYW4gWE1MIG5vZGUuCisgKi8KK3R5cGVkZWYgc3RydWN0IF94bWxBdHRyIHhtbEF0dHI7Cit0eXBlZGVmIHhtbEF0dHIgKnhtbEF0dHJQdHI7CitzdHJ1Y3QgX3htbEF0dHIgeworICAgIHZvaWQgICAgICAgICAgICpfcHJpdmF0ZTsJLyogYXBwbGljYXRpb24gZGF0YSAqLworICAgIHhtbEVsZW1lbnRUeXBlICAgdHlwZTsgICAgICAvKiBYTUxfQVRUUklCVVRFX05PREUsIG11c3QgYmUgc2Vjb25kICEgKi8KKyAgICBjb25zdCB4bWxDaGFyICAgKm5hbWU7ICAgICAgLyogdGhlIG5hbWUgb2YgdGhlIHByb3BlcnR5ICovCisgICAgc3RydWN0IF94bWxOb2RlICpjaGlsZHJlbjsJLyogdGhlIHZhbHVlIG9mIHRoZSBwcm9wZXJ0eSAqLworICAgIHN0cnVjdCBfeG1sTm9kZSAqbGFzdDsJLyogTlVMTCAqLworICAgIHN0cnVjdCBfeG1sTm9kZSAqcGFyZW50OwkvKiBjaGlsZC0+cGFyZW50IGxpbmsgKi8KKyAgICBzdHJ1Y3QgX3htbEF0dHIgKm5leHQ7CS8qIG5leHQgc2libGluZyBsaW5rICAqLworICAgIHN0cnVjdCBfeG1sQXR0ciAqcHJldjsJLyogcHJldmlvdXMgc2libGluZyBsaW5rICAqLworICAgIHN0cnVjdCBfeG1sRG9jICAqZG9jOwkvKiB0aGUgY29udGFpbmluZyBkb2N1bWVudCAqLworICAgIHhtbE5zICAgICAgICAgICAqbnM7ICAgICAgICAvKiBwb2ludGVyIHRvIHRoZSBhc3NvY2lhdGVkIG5hbWVzcGFjZSAqLworICAgIHhtbEF0dHJpYnV0ZVR5cGUgYXR5cGU7ICAgICAvKiB0aGUgYXR0cmlidXRlIHR5cGUgaWYgdmFsaWRhdGluZyAqLworICAgIHZvaWQgICAgICAgICAgICAqcHN2aTsJLyogZm9yIHR5cGUvUFNWSSBpbmZvcm1hdGlvbnMgKi8KK307CisKKy8qKgorICogeG1sSUQ6CisgKgorICogQW4gWE1MIElEIGluc3RhbmNlLgorICovCisKK3R5cGVkZWYgc3RydWN0IF94bWxJRCB4bWxJRDsKK3R5cGVkZWYgeG1sSUQgKnhtbElEUHRyOworc3RydWN0IF94bWxJRCB7CisgICAgc3RydWN0IF94bWxJRCAgICAqbmV4dDsJLyogbmV4dCBJRCAqLworICAgIGNvbnN0IHhtbENoYXIgICAgKnZhbHVlOwkvKiBUaGUgSUQgbmFtZSAqLworICAgIHhtbEF0dHJQdHIgICAgICAgIGF0dHI7CS8qIFRoZSBhdHRyaWJ1dGUgaG9sZGluZyBpdCAqLworICAgIGNvbnN0IHhtbENoYXIgICAgKm5hbWU7CS8qIFRoZSBhdHRyaWJ1dGUgaWYgYXR0ciBpcyBub3QgYXZhaWxhYmxlICovCisgICAgaW50ICAgICAgICAgICAgICAgbGluZW5vOwkvKiBUaGUgbGluZSBudW1iZXIgaWYgYXR0ciBpcyBub3QgYXZhaWxhYmxlICovCisgICAgc3RydWN0IF94bWxEb2MgICAqZG9jOwkvKiBUaGUgZG9jdW1lbnQgaG9sZGluZyB0aGUgSUQgKi8KK307CisKKy8qKgorICogeG1sUmVmOgorICoKKyAqIEFuIFhNTCBJRFJFRiBpbnN0YW5jZS4KKyAqLworCit0eXBlZGVmIHN0cnVjdCBfeG1sUmVmIHhtbFJlZjsKK3R5cGVkZWYgeG1sUmVmICp4bWxSZWZQdHI7CitzdHJ1Y3QgX3htbFJlZiB7CisgICAgc3RydWN0IF94bWxSZWYgICAgKm5leHQ7CS8qIG5leHQgUmVmICovCisgICAgY29uc3QgeG1sQ2hhciAgICAgKnZhbHVlOwkvKiBUaGUgUmVmIG5hbWUgKi8KKyAgICB4bWxBdHRyUHRyICAgICAgICBhdHRyOwkvKiBUaGUgYXR0cmlidXRlIGhvbGRpbmcgaXQgKi8KKyAgICBjb25zdCB4bWxDaGFyICAgICpuYW1lOwkvKiBUaGUgYXR0cmlidXRlIGlmIGF0dHIgaXMgbm90IGF2YWlsYWJsZSAqLworICAgIGludCAgICAgICAgICAgICAgIGxpbmVubzsJLyogVGhlIGxpbmUgbnVtYmVyIGlmIGF0dHIgaXMgbm90IGF2YWlsYWJsZSAqLworfTsKKworLyoqCisgKiB4bWxOb2RlOgorICoKKyAqIEEgbm9kZSBpbiBhbiBYTUwgdHJlZS4KKyAqLwordHlwZWRlZiBzdHJ1Y3QgX3htbE5vZGUgeG1sTm9kZTsKK3R5cGVkZWYgeG1sTm9kZSAqeG1sTm9kZVB0cjsKK3N0cnVjdCBfeG1sTm9kZSB7CisgICAgdm9pZCAgICAgICAgICAgKl9wcml2YXRlOwkvKiBhcHBsaWNhdGlvbiBkYXRhICovCisgICAgeG1sRWxlbWVudFR5cGUgICB0eXBlOwkvKiB0eXBlIG51bWJlciwgbXVzdCBiZSBzZWNvbmQgISAqLworICAgIGNvbnN0IHhtbENoYXIgICAqbmFtZTsgICAgICAvKiB0aGUgbmFtZSBvZiB0aGUgbm9kZSwgb3IgdGhlIGVudGl0eSAqLworICAgIHN0cnVjdCBfeG1sTm9kZSAqY2hpbGRyZW47CS8qIHBhcmVudC0+Y2hpbGRzIGxpbmsgKi8KKyAgICBzdHJ1Y3QgX3htbE5vZGUgKmxhc3Q7CS8qIGxhc3QgY2hpbGQgbGluayAqLworICAgIHN0cnVjdCBfeG1sTm9kZSAqcGFyZW50OwkvKiBjaGlsZC0+cGFyZW50IGxpbmsgKi8KKyAgICBzdHJ1Y3QgX3htbE5vZGUgKm5leHQ7CS8qIG5leHQgc2libGluZyBsaW5rICAqLworICAgIHN0cnVjdCBfeG1sTm9kZSAqcHJldjsJLyogcHJldmlvdXMgc2libGluZyBsaW5rICAqLworICAgIHN0cnVjdCBfeG1sRG9jICAqZG9jOwkvKiB0aGUgY29udGFpbmluZyBkb2N1bWVudCAqLworCisgICAgLyogRW5kIG9mIGNvbW1vbiBwYXJ0ICovCisgICAgeG1sTnMgICAgICAgICAgICpuczsgICAgICAgIC8qIHBvaW50ZXIgdG8gdGhlIGFzc29jaWF0ZWQgbmFtZXNwYWNlICovCisgICAgeG1sQ2hhciAgICAgICAgICpjb250ZW50OyAgIC8qIHRoZSBjb250ZW50ICovCisgICAgc3RydWN0IF94bWxBdHRyICpwcm9wZXJ0aWVzOy8qIHByb3BlcnRpZXMgbGlzdCAqLworICAgIHhtbE5zICAgICAgICAgICAqbnNEZWY7ICAgICAvKiBuYW1lc3BhY2UgZGVmaW5pdGlvbnMgb24gdGhpcyBub2RlICovCisgICAgdm9pZCAgICAgICAgICAgICpwc3ZpOwkvKiBmb3IgdHlwZS9QU1ZJIGluZm9ybWF0aW9ucyAqLworICAgIHVuc2lnbmVkIHNob3J0ICAgbGluZTsJLyogbGluZSBudW1iZXIgKi8KKyAgICB1bnNpZ25lZCBzaG9ydCAgIGV4dHJhOwkvKiBleHRyYSBkYXRhIGZvciBYUGF0aC9YU0xUICovCit9OworCisvKioKKyAqIFhNTF9HRVRfQ09OVEVOVDoKKyAqCisgKiBNYWNybyB0byBleHRyYWN0IHRoZSBjb250ZW50IHBvaW50ZXIgb2YgYSBub2RlLgorICovCisjZGVmaW5lIFhNTF9HRVRfQ09OVEVOVChuKQkJCQkJXAorICAgICgobiktPnR5cGUgPT0gWE1MX0VMRU1FTlRfTk9ERSA/IE5VTEwgOiAobiktPmNvbnRlbnQpCisKKy8qKgorICogWE1MX0dFVF9MSU5FOgorICoKKyAqIE1hY3JvIHRvIGV4dHJhY3QgdGhlIGxpbmUgbnVtYmVyIG9mIGFuIGVsZW1lbnQgbm9kZS4KKyAqLworI2RlZmluZSBYTUxfR0VUX0xJTkUobikJCQkJCQlcCisgICAgKHhtbEdldExpbmVObyhuKSkKKworLyoqCisgKiB4bWxEb2NQcm9wZXJ0eQorICoKKyAqIFNldCBvZiBwcm9wZXJ0aWVzIG9mIHRoZSBkb2N1bWVudCBhcyBmb3VuZCBieSB0aGUgcGFyc2VyCisgKiBTb21lIG9mIHRoZW0gYXJlIGxpbmtlZCB0byBzaW1pbGFyeSBuYW1lZCB4bWxQYXJzZXJPcHRpb24KKyAqLwordHlwZWRlZiBlbnVtIHsKKyAgICBYTUxfRE9DX1dFTExGT1JNRUQJCT0gMTw8MCwgLyogZG9jdW1lbnQgaXMgWE1MIHdlbGwgZm9ybWVkICovCisgICAgWE1MX0RPQ19OU1ZBTElECQk9IDE8PDEsIC8qIGRvY3VtZW50IGlzIE5hbWVzcGFjZSB2YWxpZCAqLworICAgIFhNTF9ET0NfT0xEMTAJCT0gMTw8MiwgLyogcGFyc2VkIHdpdGggb2xkIFhNTC0xLjAgcGFyc2VyICovCisgICAgWE1MX0RPQ19EVERWQUxJRAkJPSAxPDwzLCAvKiBEVEQgdmFsaWRhdGlvbiB3YXMgc3VjY2Vzc2Z1bCAqLworICAgIFhNTF9ET0NfWElOQ0xVREUJCT0gMTw8NCwgLyogWEluY2x1ZGUgc3Vic3RpdHV0aW9uIHdhcyBkb25lICovCisgICAgWE1MX0RPQ19VU0VSQlVJTFQJCT0gMTw8NSwgLyogRG9jdW1lbnQgd2FzIGJ1aWx0IHVzaW5nIHRoZSBBUEkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgbm90IGJ5IHBhcnNpbmcgYW4gaW5zdGFuY2UgKi8KKyAgICBYTUxfRE9DX0lOVEVSTkFMCQk9IDE8PDYsIC8qIGJ1aWx0IGZvciBpbnRlcm5hbCBwcm9jZXNzaW5nICovCisgICAgWE1MX0RPQ19IVE1MCQk9IDE8PDcgIC8qIHBhcnNlZCBvciBidWlsdCBIVE1MIGRvY3VtZW50ICovCit9IHhtbERvY1Byb3BlcnRpZXM7CisKKy8qKgorICogeG1sRG9jOgorICoKKyAqIEFuIFhNTCBkb2N1bWVudC4KKyAqLwordHlwZWRlZiBzdHJ1Y3QgX3htbERvYyB4bWxEb2M7Cit0eXBlZGVmIHhtbERvYyAqeG1sRG9jUHRyOworc3RydWN0IF94bWxEb2MgeworICAgIHZvaWQgICAgICAgICAgICpfcHJpdmF0ZTsJLyogYXBwbGljYXRpb24gZGF0YSAqLworICAgIHhtbEVsZW1lbnRUeXBlICB0eXBlOyAgICAgICAvKiBYTUxfRE9DVU1FTlRfTk9ERSwgbXVzdCBiZSBzZWNvbmQgISAqLworICAgIGNoYXIgICAgICAgICAgICpuYW1lOwkvKiBuYW1lL2ZpbGVuYW1lL1VSSSBvZiB0aGUgZG9jdW1lbnQgKi8KKyAgICBzdHJ1Y3QgX3htbE5vZGUgKmNoaWxkcmVuOwkvKiB0aGUgZG9jdW1lbnQgdHJlZSAqLworICAgIHN0cnVjdCBfeG1sTm9kZSAqbGFzdDsJLyogbGFzdCBjaGlsZCBsaW5rICovCisgICAgc3RydWN0IF94bWxOb2RlICpwYXJlbnQ7CS8qIGNoaWxkLT5wYXJlbnQgbGluayAqLworICAgIHN0cnVjdCBfeG1sTm9kZSAqbmV4dDsJLyogbmV4dCBzaWJsaW5nIGxpbmsgICovCisgICAgc3RydWN0IF94bWxOb2RlICpwcmV2OwkvKiBwcmV2aW91cyBzaWJsaW5nIGxpbmsgICovCisgICAgc3RydWN0IF94bWxEb2MgICpkb2M7CS8qIGF1dG9yZWZlcmVuY2UgdG8gaXRzZWxmICovCisKKyAgICAvKiBFbmQgb2YgY29tbW9uIHBhcnQgKi8KKyAgICBpbnQgICAgICAgICAgICAgY29tcHJlc3Npb247LyogbGV2ZWwgb2YgemxpYiBjb21wcmVzc2lvbiAqLworICAgIGludCAgICAgICAgICAgICBzdGFuZGFsb25lOyAvKiBzdGFuZGFsb25lIGRvY3VtZW50IChubyBleHRlcm5hbCByZWZzKQorCQkJCSAgICAgMSBpZiBzdGFuZGFsb25lPSJ5ZXMiCisJCQkJICAgICAwIGlmIHN0YW5kYWxvbmU9Im5vIgorCQkJCSAgICAtMSBpZiB0aGVyZSBpcyBubyBYTUwgZGVjbGFyYXRpb24KKwkJCQkgICAgLTIgaWYgdGhlcmUgaXMgYW4gWE1MIGRlY2xhcmF0aW9uLCBidXQgbm8KKwkJCQkJc3RhbmRhbG9uZSBhdHRyaWJ1dGUgd2FzIHNwZWNpZmllZCAqLworICAgIHN0cnVjdCBfeG1sRHRkICAqaW50U3Vic2V0OwkvKiB0aGUgZG9jdW1lbnQgaW50ZXJuYWwgc3Vic2V0ICovCisgICAgc3RydWN0IF94bWxEdGQgICpleHRTdWJzZXQ7CS8qIHRoZSBkb2N1bWVudCBleHRlcm5hbCBzdWJzZXQgKi8KKyAgICBzdHJ1Y3QgX3htbE5zICAgKm9sZE5zOwkvKiBHbG9iYWwgbmFtZXNwYWNlLCB0aGUgb2xkIHdheSAqLworICAgIGNvbnN0IHhtbENoYXIgICp2ZXJzaW9uOwkvKiB0aGUgWE1MIHZlcnNpb24gc3RyaW5nICovCisgICAgY29uc3QgeG1sQ2hhciAgKmVuY29kaW5nOyAgIC8qIGV4dGVybmFsIGluaXRpYWwgZW5jb2RpbmcsIGlmIGFueSAqLworICAgIHZvaWQgICAgICAgICAgICppZHM7ICAgICAgICAvKiBIYXNoIHRhYmxlIGZvciBJRCBhdHRyaWJ1dGVzIGlmIGFueSAqLworICAgIHZvaWQgICAgICAgICAgICpyZWZzOyAgICAgICAvKiBIYXNoIHRhYmxlIGZvciBJRFJFRnMgYXR0cmlidXRlcyBpZiBhbnkgKi8KKyAgICBjb25zdCB4bWxDaGFyICAqVVJMOwkvKiBUaGUgVVJJIGZvciB0aGF0IGRvY3VtZW50ICovCisgICAgaW50ICAgICAgICAgICAgIGNoYXJzZXQ7ICAgIC8qIGVuY29kaW5nIG9mIHRoZSBpbi1tZW1vcnkgY29udGVudAorCQkJCSAgIGFjdHVhbGx5IGFuIHhtbENoYXJFbmNvZGluZyAqLworICAgIHN0cnVjdCBfeG1sRGljdCAqZGljdDsgICAgICAvKiBkaWN0IHVzZWQgdG8gYWxsb2NhdGUgbmFtZXMgb3IgTlVMTCAqLworICAgIHZvaWQgICAgICAgICAgICpwc3ZpOwkvKiBmb3IgdHlwZS9QU1ZJIGluZm9ybWF0aW9ucyAqLworICAgIGludCAgICAgICAgICAgICBwYXJzZUZsYWdzOwkvKiBzZXQgb2YgeG1sUGFyc2VyT3B0aW9uIHVzZWQgdG8gcGFyc2UgdGhlCisJCQkJICAgZG9jdW1lbnQgKi8KKyAgICBpbnQgICAgICAgICAgICAgcHJvcGVydGllczsJLyogc2V0IG9mIHhtbERvY1Byb3BlcnRpZXMgZm9yIHRoaXMgZG9jdW1lbnQKKwkJCQkgICBzZXQgYXQgdGhlIGVuZCBvZiBwYXJzaW5nICovCit9OworCisKK3R5cGVkZWYgc3RydWN0IF94bWxET01XcmFwQ3R4dCB4bWxET01XcmFwQ3R4dDsKK3R5cGVkZWYgeG1sRE9NV3JhcEN0eHQgKnhtbERPTVdyYXBDdHh0UHRyOworCisvKioKKyAqIHhtbERPTVdyYXBBY3F1aXJlTnNGdW5jdGlvbjoKKyAqIEBjdHh0OiAgYSBET00gd3JhcHBlciBjb250ZXh0CisgKiBAbm9kZTogIHRoZSBjb250ZXh0IG5vZGUgKGVsZW1lbnQgb3IgYXR0cmlidXRlKQorICogQG5zTmFtZTogIHRoZSByZXF1ZXN0ZWQgbmFtZXNwYWNlIG5hbWUKKyAqIEBuc1ByZWZpeDogIHRoZSByZXF1ZXN0ZWQgbmFtZXNwYWNlIHByZWZpeAorICoKKyAqIEEgZnVuY3Rpb24gY2FsbGVkIHRvIGFjcXVpcmUgbmFtZXNwYWNlcyAoeG1sTnMpIGZyb20gdGhlIHdyYXBwZXIuCisgKgorICogUmV0dXJucyBhbiB4bWxOc1B0ciBvciBOVUxMIGluIGNhc2Ugb2YgYW4gZXJyb3IuCisgKi8KK3R5cGVkZWYgeG1sTnNQdHIgKCp4bWxET01XcmFwQWNxdWlyZU5zRnVuY3Rpb24pICh4bWxET01XcmFwQ3R4dFB0ciBjdHh0LAorCQkJCQkJIHhtbE5vZGVQdHIgbm9kZSwKKwkJCQkJCSBjb25zdCB4bWxDaGFyICpuc05hbWUsCisJCQkJCQkgY29uc3QgeG1sQ2hhciAqbnNQcmVmaXgpOworCisvKioKKyAqIHhtbERPTVdyYXBDdHh0OgorICoKKyAqIENvbnRleHQgZm9yIERPTSB3cmFwcGVyLW9wZXJhdGlvbnMuCisgKi8KK3N0cnVjdCBfeG1sRE9NV3JhcEN0eHQgeworICAgIHZvaWQgKiBfcHJpdmF0ZTsKKyAgICAvKgorICAgICogVGhlIHR5cGUgb2YgdGhpcyBjb250ZXh0LCBqdXN0IGluIGNhc2Ugd2UgbmVlZCBzcGVjaWFsaXplZAorICAgICogY29udGV4dHMgaW4gdGhlIGZ1dHVyZS4KKyAgICAqLworICAgIGludCB0eXBlOworICAgIC8qCisgICAgKiBJbnRlcm5hbCBuYW1lc3BhY2UgbWFwIHVzZWQgZm9yIHZhcmlvdXMgb3BlcmF0aW9ucy4KKyAgICAqLworICAgIHZvaWQgKiBuYW1lc3BhY2VNYXA7CisgICAgLyoKKyAgICAqIFVzZSB0aGlzIG9uZSB0byBhY3F1aXJlIGFuIHhtbE5zUHRyIGludGVuZGVkIGZvciBub2RlLT5ucy4KKyAgICAqIChOb3RlIHRoYXQgdGhpcyBpcyBub3QgaW50ZW5kZWQgZm9yIGVsZW0tPm5zRGVmKS4KKyAgICAqLworICAgIHhtbERPTVdyYXBBY3F1aXJlTnNGdW5jdGlvbiBnZXROc0Zvck5vZGVGdW5jOworfTsKKworLyoqCisgKiB4bWxDaGlsZHJlbk5vZGU6CisgKgorICogTWFjcm8gZm9yIGNvbXBhdGliaWxpdHkgbmFtaW5nIGxheWVyIHdpdGggbGlieG1sMS4gTWFwcworICogdG8gImNoaWxkcmVuLiIKKyAqLworI2lmbmRlZiB4bWxDaGlsZHJlbk5vZGUKKyNkZWZpbmUgeG1sQ2hpbGRyZW5Ob2RlIGNoaWxkcmVuCisjZW5kaWYKKworLyoqCisgKiB4bWxSb290Tm9kZToKKyAqCisgKiBNYWNybyBmb3IgY29tcGF0aWJpbGl0eSBuYW1pbmcgbGF5ZXIgd2l0aCBsaWJ4bWwxLiBNYXBzCisgKiB0byAiY2hpbGRyZW4iLgorICovCisjaWZuZGVmIHhtbFJvb3ROb2RlCisjZGVmaW5lIHhtbFJvb3ROb2RlIGNoaWxkcmVuCisjZW5kaWYKKworLyoKKyAqIFZhcmlhYmxlcy4KKyAqLworCisvKgorICogU29tZSBoZWxwZXIgZnVuY3Rpb25zCisgKi8KKyNpZiBkZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpIHx8IFwKKyAgICBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX0RFQlVHX0VOQUJMRUQpIHx8IFwKKyAgICBkZWZpbmVkIChMSUJYTUxfSFRNTF9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9TQVgxX0VOQUJMRUQpIHx8IFwKKyAgICBkZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKSB8fCBcCisgICAgZGVmaW5lZChMSUJYTUxfRE9DQl9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9MRUdBQ1lfRU5BQkxFRCkKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl4bWxWYWxpZGF0ZU5DTmFtZQkoY29uc3QgeG1sQ2hhciAqdmFsdWUsCisJCQkJCSBpbnQgc3BhY2UpOworI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl4bWxWYWxpZGF0ZVFOYW1lCShjb25zdCB4bWxDaGFyICp2YWx1ZSwKKwkJCQkJIGludCBzcGFjZSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJeG1sVmFsaWRhdGVOYW1lCQkoY29uc3QgeG1sQ2hhciAqdmFsdWUsCisJCQkJCSBpbnQgc3BhY2UpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCXhtbFZhbGlkYXRlTk1Ub2tlbgkoY29uc3QgeG1sQ2hhciAqdmFsdWUsCisJCQkJCSBpbnQgc3BhY2UpOworI2VuZGlmCisKK1hNTFBVQkZVTiB4bWxDaGFyICogWE1MQ0FMTAorCQl4bWxCdWlsZFFOYW1lCQkoY29uc3QgeG1sQ2hhciAqbmNuYW1lLAorCQkJCQkgY29uc3QgeG1sQ2hhciAqcHJlZml4LAorCQkJCQkgeG1sQ2hhciAqbWVtb3J5LAorCQkJCQkgaW50IGxlbik7CitYTUxQVUJGVU4geG1sQ2hhciAqIFhNTENBTEwKKwkJeG1sU3BsaXRRTmFtZTIJCShjb25zdCB4bWxDaGFyICpuYW1lLAorCQkJCQkgeG1sQ2hhciAqKnByZWZpeCk7CitYTUxQVUJGVU4gY29uc3QgeG1sQ2hhciAqIFhNTENBTEwKKwkJeG1sU3BsaXRRTmFtZTMJCShjb25zdCB4bWxDaGFyICpuYW1lLAorCQkJCQkgaW50ICpsZW4pOworCisvKgorICogSGFuZGxpbmcgQnVmZmVycywgdGhlIG9sZCBvbmVzIHNlZSBAeG1sQnVmIGZvciB0aGUgbmV3IG9uZXMuCisgKi8KKworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQl4bWxTZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lKHhtbEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUgc2NoZW1lKTsKK1hNTFBVQkZVTiB4bWxCdWZmZXJBbGxvY2F0aW9uU2NoZW1lIFhNTENBTEwKKwkJeG1sR2V0QnVmZmVyQWxsb2NhdGlvblNjaGVtZSh2b2lkKTsKKworWE1MUFVCRlVOIHhtbEJ1ZmZlclB0ciBYTUxDQUxMCisJCXhtbEJ1ZmZlckNyZWF0ZQkJKHZvaWQpOworWE1MUFVCRlVOIHhtbEJ1ZmZlclB0ciBYTUxDQUxMCisJCXhtbEJ1ZmZlckNyZWF0ZVNpemUJKHNpemVfdCBzaXplKTsKK1hNTFBVQkZVTiB4bWxCdWZmZXJQdHIgWE1MQ0FMTAorCQl4bWxCdWZmZXJDcmVhdGVTdGF0aWMJKHZvaWQgKm1lbSwKKwkJCQkJIHNpemVfdCBzaXplKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl4bWxCdWZmZXJSZXNpemUJCSh4bWxCdWZmZXJQdHIgYnVmLAorCQkJCQkgdW5zaWduZWQgaW50IHNpemUpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQl4bWxCdWZmZXJGcmVlCQkoeG1sQnVmZmVyUHRyIGJ1Zik7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJeG1sQnVmZmVyRHVtcAkJKEZJTEUgKmZpbGUsCisJCQkJCSB4bWxCdWZmZXJQdHIgYnVmKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl4bWxCdWZmZXJBZGQJCSh4bWxCdWZmZXJQdHIgYnVmLAorCQkJCQkgY29uc3QgeG1sQ2hhciAqc3RyLAorCQkJCQkgaW50IGxlbik7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJeG1sQnVmZmVyQWRkSGVhZAkoeG1sQnVmZmVyUHRyIGJ1ZiwKKwkJCQkJIGNvbnN0IHhtbENoYXIgKnN0ciwKKwkJCQkJIGludCBsZW4pOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCXhtbEJ1ZmZlckNhdAkJKHhtbEJ1ZmZlclB0ciBidWYsCisJCQkJCSBjb25zdCB4bWxDaGFyICpzdHIpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCXhtbEJ1ZmZlckNDYXQJCSh4bWxCdWZmZXJQdHIgYnVmLAorCQkJCQkgY29uc3QgY2hhciAqc3RyKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl4bWxCdWZmZXJTaHJpbmsJCSh4bWxCdWZmZXJQdHIgYnVmLAorCQkJCQkgdW5zaWduZWQgaW50IGxlbik7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJeG1sQnVmZmVyR3JvdwkJKHhtbEJ1ZmZlclB0ciBidWYsCisJCQkJCSB1bnNpZ25lZCBpbnQgbGVuKTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJeG1sQnVmZmVyRW1wdHkJCSh4bWxCdWZmZXJQdHIgYnVmKTsKK1hNTFBVQkZVTiBjb25zdCB4bWxDaGFyKiBYTUxDQUxMCisJCXhtbEJ1ZmZlckNvbnRlbnQJKGNvbnN0IHhtbEJ1ZmZlciAqYnVmKTsKK1hNTFBVQkZVTiB4bWxDaGFyKiBYTUxDQUxMCisJCXhtbEJ1ZmZlckRldGFjaCAgICAgICAgICh4bWxCdWZmZXJQdHIgYnVmKTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJeG1sQnVmZmVyU2V0QWxsb2NhdGlvblNjaGVtZSh4bWxCdWZmZXJQdHIgYnVmLAorCQkJCQkgeG1sQnVmZmVyQWxsb2NhdGlvblNjaGVtZSBzY2hlbWUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCXhtbEJ1ZmZlckxlbmd0aAkJKGNvbnN0IHhtbEJ1ZmZlciAqYnVmKTsKKworLyoKKyAqIENyZWF0aW5nL2ZyZWVpbmcgbmV3IHN0cnVjdHVyZXMuCisgKi8KK1hNTFBVQkZVTiB4bWxEdGRQdHIgWE1MQ0FMTAorCQl4bWxDcmVhdGVJbnRTdWJzZXQJKHhtbERvY1B0ciBkb2MsCisJCQkJCSBjb25zdCB4bWxDaGFyICpuYW1lLAorCQkJCQkgY29uc3QgeG1sQ2hhciAqRXh0ZXJuYWxJRCwKKwkJCQkJIGNvbnN0IHhtbENoYXIgKlN5c3RlbUlEKTsKK1hNTFBVQkZVTiB4bWxEdGRQdHIgWE1MQ0FMTAorCQl4bWxOZXdEdGQJCSh4bWxEb2NQdHIgZG9jLAorCQkJCQkgY29uc3QgeG1sQ2hhciAqbmFtZSwKKwkJCQkJIGNvbnN0IHhtbENoYXIgKkV4dGVybmFsSUQsCisJCQkJCSBjb25zdCB4bWxDaGFyICpTeXN0ZW1JRCk7CitYTUxQVUJGVU4geG1sRHRkUHRyIFhNTENBTEwKKwkJeG1sR2V0SW50U3Vic2V0CQkoY29uc3QgeG1sRG9jICpkb2MpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQl4bWxGcmVlRHRkCQkoeG1sRHRkUHRyIGN1cik7CisjaWZkZWYgTElCWE1MX0xFR0FDWV9FTkFCTEVECitYTUxQVUJGVU4geG1sTnNQdHIgWE1MQ0FMTAorCQl4bWxOZXdHbG9iYWxOcwkJKHhtbERvY1B0ciBkb2MsCisJCQkJCSBjb25zdCB4bWxDaGFyICpocmVmLAorCQkJCQkgY29uc3QgeG1sQ2hhciAqcHJlZml4KTsKKyNlbmRpZiAvKiBMSUJYTUxfTEVHQUNZX0VOQUJMRUQgKi8KK1hNTFBVQkZVTiB4bWxOc1B0ciBYTUxDQUxMCisJCXhtbE5ld05zCQkoeG1sTm9kZVB0ciBub2RlLAorCQkJCQkgY29uc3QgeG1sQ2hhciAqaHJlZiwKKwkJCQkJIGNvbnN0IHhtbENoYXIgKnByZWZpeCk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCXhtbEZyZWVOcwkJKHhtbE5zUHRyIGN1cik7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCXhtbEZyZWVOc0xpc3QJCSh4bWxOc1B0ciBjdXIpOworWE1MUFVCRlVOIHhtbERvY1B0ciBYTUxDQUxMCisJCXhtbE5ld0RvYwkJKGNvbnN0IHhtbENoYXIgKnZlcnNpb24pOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQl4bWxGcmVlRG9jCQkoeG1sRG9jUHRyIGN1cik7CitYTUxQVUJGVU4geG1sQXR0clB0ciBYTUxDQUxMCisJCXhtbE5ld0RvY1Byb3AJCSh4bWxEb2NQdHIgZG9jLAorCQkJCQkgY29uc3QgeG1sQ2hhciAqbmFtZSwKKwkJCQkJIGNvbnN0IHhtbENoYXIgKnZhbHVlKTsKKyNpZiBkZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX0hUTUxfRU5BQkxFRCkgfHwgXAorICAgIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKK1hNTFBVQkZVTiB4bWxBdHRyUHRyIFhNTENBTEwKKwkJeG1sTmV3UHJvcAkJKHhtbE5vZGVQdHIgbm9kZSwKKwkJCQkJIGNvbnN0IHhtbENoYXIgKm5hbWUsCisJCQkJCSBjb25zdCB4bWxDaGFyICp2YWx1ZSk7CisjZW5kaWYKK1hNTFBVQkZVTiB4bWxBdHRyUHRyIFhNTENBTEwKKwkJeG1sTmV3TnNQcm9wCQkoeG1sTm9kZVB0ciBub2RlLAorCQkJCQkgeG1sTnNQdHIgbnMsCisJCQkJCSBjb25zdCB4bWxDaGFyICpuYW1lLAorCQkJCQkgY29uc3QgeG1sQ2hhciAqdmFsdWUpOworWE1MUFVCRlVOIHhtbEF0dHJQdHIgWE1MQ0FMTAorCQl4bWxOZXdOc1Byb3BFYXROYW1lCSh4bWxOb2RlUHRyIG5vZGUsCisJCQkJCSB4bWxOc1B0ciBucywKKwkJCQkJIHhtbENoYXIgKm5hbWUsCisJCQkJCSBjb25zdCB4bWxDaGFyICp2YWx1ZSk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCXhtbEZyZWVQcm9wTGlzdAkJKHhtbEF0dHJQdHIgY3VyKTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJeG1sRnJlZVByb3AJCSh4bWxBdHRyUHRyIGN1cik7CitYTUxQVUJGVU4geG1sQXR0clB0ciBYTUxDQUxMCisJCXhtbENvcHlQcm9wCQkoeG1sTm9kZVB0ciB0YXJnZXQsCisJCQkJCSB4bWxBdHRyUHRyIGN1cik7CitYTUxQVUJGVU4geG1sQXR0clB0ciBYTUxDQUxMCisJCXhtbENvcHlQcm9wTGlzdAkJKHhtbE5vZGVQdHIgdGFyZ2V0LAorCQkJCQkgeG1sQXR0clB0ciBjdXIpOworI2lmZGVmIExJQlhNTF9UUkVFX0VOQUJMRUQKK1hNTFBVQkZVTiB4bWxEdGRQdHIgWE1MQ0FMTAorCQl4bWxDb3B5RHRkCQkoeG1sRHRkUHRyIGR0ZCk7CisjZW5kaWYgLyogTElCWE1MX1RSRUVfRU5BQkxFRCAqLworI2lmIGRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQorWE1MUFVCRlVOIHhtbERvY1B0ciBYTUxDQUxMCisJCXhtbENvcHlEb2MJCSh4bWxEb2NQdHIgZG9jLAorCQkJCQkgaW50IHJlY3Vyc2l2ZSk7CisjZW5kaWYgLyogZGVmaW5lZChMSUJYTUxfVFJFRV9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpICovCisvKgorICogQ3JlYXRpbmcgbmV3IG5vZGVzLgorICovCitYTUxQVUJGVU4geG1sTm9kZVB0ciBYTUxDQUxMCisJCXhtbE5ld0RvY05vZGUJCSh4bWxEb2NQdHIgZG9jLAorCQkJCQkgeG1sTnNQdHIgbnMsCisJCQkJCSBjb25zdCB4bWxDaGFyICpuYW1lLAorCQkJCQkgY29uc3QgeG1sQ2hhciAqY29udGVudCk7CitYTUxQVUJGVU4geG1sTm9kZVB0ciBYTUxDQUxMCisJCXhtbE5ld0RvY05vZGVFYXROYW1lCSh4bWxEb2NQdHIgZG9jLAorCQkJCQkgeG1sTnNQdHIgbnMsCisJCQkJCSB4bWxDaGFyICpuYW1lLAorCQkJCQkgY29uc3QgeG1sQ2hhciAqY29udGVudCk7CitYTUxQVUJGVU4geG1sTm9kZVB0ciBYTUxDQUxMCisJCXhtbE5ld05vZGUJCSh4bWxOc1B0ciBucywKKwkJCQkJIGNvbnN0IHhtbENoYXIgKm5hbWUpOworWE1MUFVCRlVOIHhtbE5vZGVQdHIgWE1MQ0FMTAorCQl4bWxOZXdOb2RlRWF0TmFtZQkoeG1sTnNQdHIgbnMsCisJCQkJCSB4bWxDaGFyICpuYW1lKTsKKyNpZiBkZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKK1hNTFBVQkZVTiB4bWxOb2RlUHRyIFhNTENBTEwKKwkJeG1sTmV3Q2hpbGQJCSh4bWxOb2RlUHRyIHBhcmVudCwKKwkJCQkJIHhtbE5zUHRyIG5zLAorCQkJCQkgY29uc3QgeG1sQ2hhciAqbmFtZSwKKwkJCQkJIGNvbnN0IHhtbENoYXIgKmNvbnRlbnQpOworI2VuZGlmCitYTUxQVUJGVU4geG1sTm9kZVB0ciBYTUxDQUxMCisJCXhtbE5ld0RvY1RleHQJCShjb25zdCB4bWxEb2MgKmRvYywKKwkJCQkJIGNvbnN0IHhtbENoYXIgKmNvbnRlbnQpOworWE1MUFVCRlVOIHhtbE5vZGVQdHIgWE1MQ0FMTAorCQl4bWxOZXdUZXh0CQkoY29uc3QgeG1sQ2hhciAqY29udGVudCk7CitYTUxQVUJGVU4geG1sTm9kZVB0ciBYTUxDQUxMCisJCXhtbE5ld0RvY1BJCQkoeG1sRG9jUHRyIGRvYywKKwkJCQkJIGNvbnN0IHhtbENoYXIgKm5hbWUsCisJCQkJCSBjb25zdCB4bWxDaGFyICpjb250ZW50KTsKK1hNTFBVQkZVTiB4bWxOb2RlUHRyIFhNTENBTEwKKwkJeG1sTmV3UEkJCShjb25zdCB4bWxDaGFyICpuYW1lLAorCQkJCQkgY29uc3QgeG1sQ2hhciAqY29udGVudCk7CitYTUxQVUJGVU4geG1sTm9kZVB0ciBYTUxDQUxMCisJCXhtbE5ld0RvY1RleHRMZW4JKHhtbERvY1B0ciBkb2MsCisJCQkJCSBjb25zdCB4bWxDaGFyICpjb250ZW50LAorCQkJCQkgaW50IGxlbik7CitYTUxQVUJGVU4geG1sTm9kZVB0ciBYTUxDQUxMCisJCXhtbE5ld1RleHRMZW4JCShjb25zdCB4bWxDaGFyICpjb250ZW50LAorCQkJCQkgaW50IGxlbik7CitYTUxQVUJGVU4geG1sTm9kZVB0ciBYTUxDQUxMCisJCXhtbE5ld0RvY0NvbW1lbnQJKHhtbERvY1B0ciBkb2MsCisJCQkJCSBjb25zdCB4bWxDaGFyICpjb250ZW50KTsKK1hNTFBVQkZVTiB4bWxOb2RlUHRyIFhNTENBTEwKKwkJeG1sTmV3Q29tbWVudAkJKGNvbnN0IHhtbENoYXIgKmNvbnRlbnQpOworWE1MUFVCRlVOIHhtbE5vZGVQdHIgWE1MQ0FMTAorCQl4bWxOZXdDRGF0YUJsb2NrCSh4bWxEb2NQdHIgZG9jLAorCQkJCQkgY29uc3QgeG1sQ2hhciAqY29udGVudCwKKwkJCQkJIGludCBsZW4pOworWE1MUFVCRlVOIHhtbE5vZGVQdHIgWE1MQ0FMTAorCQl4bWxOZXdDaGFyUmVmCQkoeG1sRG9jUHRyIGRvYywKKwkJCQkJIGNvbnN0IHhtbENoYXIgKm5hbWUpOworWE1MUFVCRlVOIHhtbE5vZGVQdHIgWE1MQ0FMTAorCQl4bWxOZXdSZWZlcmVuY2UJCShjb25zdCB4bWxEb2MgKmRvYywKKwkJCQkJIGNvbnN0IHhtbENoYXIgKm5hbWUpOworWE1MUFVCRlVOIHhtbE5vZGVQdHIgWE1MQ0FMTAorCQl4bWxDb3B5Tm9kZQkJKHhtbE5vZGVQdHIgbm9kZSwKKwkJCQkJIGludCByZWN1cnNpdmUpOworWE1MUFVCRlVOIHhtbE5vZGVQdHIgWE1MQ0FMTAorCQl4bWxEb2NDb3B5Tm9kZQkJKHhtbE5vZGVQdHIgbm9kZSwKKwkJCQkJIHhtbERvY1B0ciBkb2MsCisJCQkJCSBpbnQgcmVjdXJzaXZlKTsKK1hNTFBVQkZVTiB4bWxOb2RlUHRyIFhNTENBTEwKKwkJeG1sRG9jQ29weU5vZGVMaXN0CSh4bWxEb2NQdHIgZG9jLAorCQkJCQkgeG1sTm9kZVB0ciBub2RlKTsKK1hNTFBVQkZVTiB4bWxOb2RlUHRyIFhNTENBTEwKKwkJeG1sQ29weU5vZGVMaXN0CQkoeG1sTm9kZVB0ciBub2RlKTsKKyNpZmRlZiBMSUJYTUxfVFJFRV9FTkFCTEVECitYTUxQVUJGVU4geG1sTm9kZVB0ciBYTUxDQUxMCisJCXhtbE5ld1RleHRDaGlsZAkJKHhtbE5vZGVQdHIgcGFyZW50LAorCQkJCQkgeG1sTnNQdHIgbnMsCisJCQkJCSBjb25zdCB4bWxDaGFyICpuYW1lLAorCQkJCQkgY29uc3QgeG1sQ2hhciAqY29udGVudCk7CitYTUxQVUJGVU4geG1sTm9kZVB0ciBYTUxDQUxMCisJCXhtbE5ld0RvY1Jhd05vZGUJKHhtbERvY1B0ciBkb2MsCisJCQkJCSB4bWxOc1B0ciBucywKKwkJCQkJIGNvbnN0IHhtbENoYXIgKm5hbWUsCisJCQkJCSBjb25zdCB4bWxDaGFyICpjb250ZW50KTsKK1hNTFBVQkZVTiB4bWxOb2RlUHRyIFhNTENBTEwKKwkJeG1sTmV3RG9jRnJhZ21lbnQJKHhtbERvY1B0ciBkb2MpOworI2VuZGlmIC8qIExJQlhNTF9UUkVFX0VOQUJMRUQgKi8KKworLyoKKyAqIE5hdmlnYXRpbmcuCisgKi8KK1hNTFBVQkZVTiBsb25nIFhNTENBTEwKKwkJeG1sR2V0TGluZU5vCQkoY29uc3QgeG1sTm9kZSAqbm9kZSk7CisjaWYgZGVmaW5lZChMSUJYTUxfVFJFRV9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9ERUJVR19FTkFCTEVEKQorWE1MUFVCRlVOIHhtbENoYXIgKiBYTUxDQUxMCisJCXhtbEdldE5vZGVQYXRoCQkoY29uc3QgeG1sTm9kZSAqbm9kZSk7CisjZW5kaWYgLyogZGVmaW5lZChMSUJYTUxfVFJFRV9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9ERUJVR19FTkFCTEVEKSAqLworWE1MUFVCRlVOIHhtbE5vZGVQdHIgWE1MQ0FMTAorCQl4bWxEb2NHZXRSb290RWxlbWVudAkoY29uc3QgeG1sRG9jICpkb2MpOworWE1MUFVCRlVOIHhtbE5vZGVQdHIgWE1MQ0FMTAorCQl4bWxHZXRMYXN0Q2hpbGQJCShjb25zdCB4bWxOb2RlICpwYXJlbnQpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCXhtbE5vZGVJc1RleHQJCShjb25zdCB4bWxOb2RlICpub2RlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl4bWxJc0JsYW5rTm9kZQkJKGNvbnN0IHhtbE5vZGUgKm5vZGUpOworCisvKgorICogQ2hhbmdpbmcgdGhlIHN0cnVjdHVyZS4KKyAqLworI2lmIGRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpCitYTUxQVUJGVU4geG1sTm9kZVB0ciBYTUxDQUxMCisJCXhtbERvY1NldFJvb3RFbGVtZW50CSh4bWxEb2NQdHIgZG9jLAorCQkJCQkgeG1sTm9kZVB0ciByb290KTsKKyNlbmRpZiAvKiBkZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKSAqLworI2lmZGVmIExJQlhNTF9UUkVFX0VOQUJMRUQKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJeG1sTm9kZVNldE5hbWUJCSh4bWxOb2RlUHRyIGN1ciwKKwkJCQkJIGNvbnN0IHhtbENoYXIgKm5hbWUpOworI2VuZGlmIC8qIExJQlhNTF9UUkVFX0VOQUJMRUQgKi8KK1hNTFBVQkZVTiB4bWxOb2RlUHRyIFhNTENBTEwKKwkJeG1sQWRkQ2hpbGQJCSh4bWxOb2RlUHRyIHBhcmVudCwKKwkJCQkJIHhtbE5vZGVQdHIgY3VyKTsKK1hNTFBVQkZVTiB4bWxOb2RlUHRyIFhNTENBTEwKKwkJeG1sQWRkQ2hpbGRMaXN0CQkoeG1sTm9kZVB0ciBwYXJlbnQsCisJCQkJCSB4bWxOb2RlUHRyIGN1cik7CisjaWYgZGVmaW5lZChMSUJYTUxfVFJFRV9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCkKK1hNTFBVQkZVTiB4bWxOb2RlUHRyIFhNTENBTEwKKwkJeG1sUmVwbGFjZU5vZGUJCSh4bWxOb2RlUHRyIG9sZCwKKwkJCQkJIHhtbE5vZGVQdHIgY3VyKTsKKyNlbmRpZiAvKiBkZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKSAqLworI2lmIGRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKSB8fCBcCisgICAgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9YSU5DTFVERV9FTkFCTEVEKQorWE1MUFVCRlVOIHhtbE5vZGVQdHIgWE1MQ0FMTAorCQl4bWxBZGRQcmV2U2libGluZwkoeG1sTm9kZVB0ciBjdXIsCisJCQkJCSB4bWxOb2RlUHRyIGVsZW0pOworI2VuZGlmIC8qIExJQlhNTF9UUkVFX0VOQUJMRUQgfHwgTElCWE1MX0hUTUxfRU5BQkxFRCB8fCBMSUJYTUxfU0NIRU1BU19FTkFCTEVEICovCitYTUxQVUJGVU4geG1sTm9kZVB0ciBYTUxDQUxMCisJCXhtbEFkZFNpYmxpbmcJCSh4bWxOb2RlUHRyIGN1ciwKKwkJCQkJIHhtbE5vZGVQdHIgZWxlbSk7CitYTUxQVUJGVU4geG1sTm9kZVB0ciBYTUxDQUxMCisJCXhtbEFkZE5leHRTaWJsaW5nCSh4bWxOb2RlUHRyIGN1ciwKKwkJCQkJIHhtbE5vZGVQdHIgZWxlbSk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCXhtbFVubGlua05vZGUJCSh4bWxOb2RlUHRyIGN1cik7CitYTUxQVUJGVU4geG1sTm9kZVB0ciBYTUxDQUxMCisJCXhtbFRleHRNZXJnZQkJKHhtbE5vZGVQdHIgZmlyc3QsCisJCQkJCSB4bWxOb2RlUHRyIHNlY29uZCk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJeG1sVGV4dENvbmNhdAkJKHhtbE5vZGVQdHIgbm9kZSwKKwkJCQkJIGNvbnN0IHhtbENoYXIgKmNvbnRlbnQsCisJCQkJCSBpbnQgbGVuKTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJeG1sRnJlZU5vZGVMaXN0CQkoeG1sTm9kZVB0ciBjdXIpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQl4bWxGcmVlTm9kZQkJKHhtbE5vZGVQdHIgY3VyKTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJeG1sU2V0VHJlZURvYwkJKHhtbE5vZGVQdHIgdHJlZSwKKwkJCQkJIHhtbERvY1B0ciBkb2MpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQl4bWxTZXRMaXN0RG9jCQkoeG1sTm9kZVB0ciBsaXN0LAorCQkJCQkgeG1sRG9jUHRyIGRvYyk7CisvKgorICogTmFtZXNwYWNlcy4KKyAqLworWE1MUFVCRlVOIHhtbE5zUHRyIFhNTENBTEwKKwkJeG1sU2VhcmNoTnMJCSh4bWxEb2NQdHIgZG9jLAorCQkJCQkgeG1sTm9kZVB0ciBub2RlLAorCQkJCQkgY29uc3QgeG1sQ2hhciAqbmFtZVNwYWNlKTsKK1hNTFBVQkZVTiB4bWxOc1B0ciBYTUxDQUxMCisJCXhtbFNlYXJjaE5zQnlIcmVmCSh4bWxEb2NQdHIgZG9jLAorCQkJCQkgeG1sTm9kZVB0ciBub2RlLAorCQkJCQkgY29uc3QgeG1sQ2hhciAqaHJlZik7CisjaWYgZGVmaW5lZChMSUJYTUxfVFJFRV9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKSB8fCBcCisgICAgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQorWE1MUFVCRlVOIHhtbE5zUHRyICogWE1MQ0FMTAorCQl4bWxHZXROc0xpc3QJCShjb25zdCB4bWxEb2MgKmRvYywKKwkJCQkJIGNvbnN0IHhtbE5vZGUgKm5vZGUpOworI2VuZGlmIC8qIGRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkgKi8KKworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQl4bWxTZXROcwkJKHhtbE5vZGVQdHIgbm9kZSwKKwkJCQkJIHhtbE5zUHRyIG5zKTsKK1hNTFBVQkZVTiB4bWxOc1B0ciBYTUxDQUxMCisJCXhtbENvcHlOYW1lc3BhY2UJKHhtbE5zUHRyIGN1cik7CitYTUxQVUJGVU4geG1sTnNQdHIgWE1MQ0FMTAorCQl4bWxDb3B5TmFtZXNwYWNlTGlzdAkoeG1sTnNQdHIgY3VyKTsKKworLyoKKyAqIENoYW5naW5nIHRoZSBjb250ZW50LgorICovCisjaWYgZGVmaW5lZChMSUJYTUxfVFJFRV9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9YSU5DTFVERV9FTkFCTEVEKSB8fCBcCisgICAgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpCitYTUxQVUJGVU4geG1sQXR0clB0ciBYTUxDQUxMCisJCXhtbFNldFByb3AJCSh4bWxOb2RlUHRyIG5vZGUsCisJCQkJCSBjb25zdCB4bWxDaGFyICpuYW1lLAorCQkJCQkgY29uc3QgeG1sQ2hhciAqdmFsdWUpOworWE1MUFVCRlVOIHhtbEF0dHJQdHIgWE1MQ0FMTAorCQl4bWxTZXROc1Byb3AJCSh4bWxOb2RlUHRyIG5vZGUsCisJCQkJCSB4bWxOc1B0ciBucywKKwkJCQkJIGNvbnN0IHhtbENoYXIgKm5hbWUsCisJCQkJCSBjb25zdCB4bWxDaGFyICp2YWx1ZSk7CisjZW5kaWYgLyogZGVmaW5lZChMSUJYTUxfVFJFRV9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9YSU5DTFVERV9FTkFCTEVEKSB8fCBcCisJICBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX0hUTUxfRU5BQkxFRCkgKi8KK1hNTFBVQkZVTiB4bWxDaGFyICogWE1MQ0FMTAorCQl4bWxHZXROb05zUHJvcAkJKGNvbnN0IHhtbE5vZGUgKm5vZGUsCisJCQkJCSBjb25zdCB4bWxDaGFyICpuYW1lKTsKK1hNTFBVQkZVTiB4bWxDaGFyICogWE1MQ0FMTAorCQl4bWxHZXRQcm9wCQkoY29uc3QgeG1sTm9kZSAqbm9kZSwKKwkJCQkJIGNvbnN0IHhtbENoYXIgKm5hbWUpOworWE1MUFVCRlVOIHhtbEF0dHJQdHIgWE1MQ0FMTAorCQl4bWxIYXNQcm9wCQkoY29uc3QgeG1sTm9kZSAqbm9kZSwKKwkJCQkJIGNvbnN0IHhtbENoYXIgKm5hbWUpOworWE1MUFVCRlVOIHhtbEF0dHJQdHIgWE1MQ0FMTAorCQl4bWxIYXNOc1Byb3AJCShjb25zdCB4bWxOb2RlICpub2RlLAorCQkJCQkgY29uc3QgeG1sQ2hhciAqbmFtZSwKKwkJCQkJIGNvbnN0IHhtbENoYXIgKm5hbWVTcGFjZSk7CitYTUxQVUJGVU4geG1sQ2hhciAqIFhNTENBTEwKKwkJeG1sR2V0TnNQcm9wCQkoY29uc3QgeG1sTm9kZSAqbm9kZSwKKwkJCQkJIGNvbnN0IHhtbENoYXIgKm5hbWUsCisJCQkJCSBjb25zdCB4bWxDaGFyICpuYW1lU3BhY2UpOworWE1MUFVCRlVOIHhtbE5vZGVQdHIgWE1MQ0FMTAorCQl4bWxTdHJpbmdHZXROb2RlTGlzdAkoY29uc3QgeG1sRG9jICpkb2MsCisJCQkJCSBjb25zdCB4bWxDaGFyICp2YWx1ZSk7CitYTUxQVUJGVU4geG1sTm9kZVB0ciBYTUxDQUxMCisJCXhtbFN0cmluZ0xlbkdldE5vZGVMaXN0CShjb25zdCB4bWxEb2MgKmRvYywKKwkJCQkJIGNvbnN0IHhtbENoYXIgKnZhbHVlLAorCQkJCQkgaW50IGxlbik7CitYTUxQVUJGVU4geG1sQ2hhciAqIFhNTENBTEwKKwkJeG1sTm9kZUxpc3RHZXRTdHJpbmcJKHhtbERvY1B0ciBkb2MsCisJCQkJCSBjb25zdCB4bWxOb2RlICpsaXN0LAorCQkJCQkgaW50IGluTGluZSk7CisjaWZkZWYgTElCWE1MX1RSRUVfRU5BQkxFRAorWE1MUFVCRlVOIHhtbENoYXIgKiBYTUxDQUxMCisJCXhtbE5vZGVMaXN0R2V0UmF3U3RyaW5nCShjb25zdCB4bWxEb2MgKmRvYywKKwkJCQkJIGNvbnN0IHhtbE5vZGUgKmxpc3QsCisJCQkJCSBpbnQgaW5MaW5lKTsKKyNlbmRpZiAvKiBMSUJYTUxfVFJFRV9FTkFCTEVEICovCitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCXhtbE5vZGVTZXRDb250ZW50CSh4bWxOb2RlUHRyIGN1ciwKKwkJCQkJIGNvbnN0IHhtbENoYXIgKmNvbnRlbnQpOworI2lmZGVmIExJQlhNTF9UUkVFX0VOQUJMRUQKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJeG1sTm9kZVNldENvbnRlbnRMZW4JKHhtbE5vZGVQdHIgY3VyLAorCQkJCQkgY29uc3QgeG1sQ2hhciAqY29udGVudCwKKwkJCQkJIGludCBsZW4pOworI2VuZGlmIC8qIExJQlhNTF9UUkVFX0VOQUJMRUQgKi8KK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJeG1sTm9kZUFkZENvbnRlbnQJKHhtbE5vZGVQdHIgY3VyLAorCQkJCQkgY29uc3QgeG1sQ2hhciAqY29udGVudCk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCXhtbE5vZGVBZGRDb250ZW50TGVuCSh4bWxOb2RlUHRyIGN1ciwKKwkJCQkJIGNvbnN0IHhtbENoYXIgKmNvbnRlbnQsCisJCQkJCSBpbnQgbGVuKTsKK1hNTFBVQkZVTiB4bWxDaGFyICogWE1MQ0FMTAorCQl4bWxOb2RlR2V0Q29udGVudAkoY29uc3QgeG1sTm9kZSAqY3VyKTsKKworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCXhtbE5vZGVCdWZHZXRDb250ZW50CSh4bWxCdWZmZXJQdHIgYnVmZmVyLAorCQkJCQkgY29uc3QgeG1sTm9kZSAqY3VyKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl4bWxCdWZHZXROb2RlQ29udGVudAkoeG1sQnVmUHRyIGJ1ZiwKKwkJCQkJIGNvbnN0IHhtbE5vZGUgKmN1cik7CisKK1hNTFBVQkZVTiB4bWxDaGFyICogWE1MQ0FMTAorCQl4bWxOb2RlR2V0TGFuZwkJKGNvbnN0IHhtbE5vZGUgKmN1cik7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJeG1sTm9kZUdldFNwYWNlUHJlc2VydmUJKGNvbnN0IHhtbE5vZGUgKmN1cik7CisjaWZkZWYgTElCWE1MX1RSRUVfRU5BQkxFRAorWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQl4bWxOb2RlU2V0TGFuZwkJKHhtbE5vZGVQdHIgY3VyLAorCQkJCQkgY29uc3QgeG1sQ2hhciAqbGFuZyk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCXhtbE5vZGVTZXRTcGFjZVByZXNlcnZlICh4bWxOb2RlUHRyIGN1ciwKKwkJCQkJIGludCB2YWwpOworI2VuZGlmIC8qIExJQlhNTF9UUkVFX0VOQUJMRUQgKi8KK1hNTFBVQkZVTiB4bWxDaGFyICogWE1MQ0FMTAorCQl4bWxOb2RlR2V0QmFzZQkJKGNvbnN0IHhtbERvYyAqZG9jLAorCQkJCQkgY29uc3QgeG1sTm9kZSAqY3VyKTsKKyNpZiBkZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX1hJTkNMVURFX0VOQUJMRUQpCitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCXhtbE5vZGVTZXRCYXNlCQkoeG1sTm9kZVB0ciBjdXIsCisJCQkJCSBjb25zdCB4bWxDaGFyICp1cmkpOworI2VuZGlmCisKKy8qCisgKiBSZW1vdmluZyBjb250ZW50LgorICovCitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJeG1sUmVtb3ZlUHJvcAkJKHhtbEF0dHJQdHIgY3VyKTsKKyNpZiBkZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl4bWxVbnNldE5zUHJvcAkJKHhtbE5vZGVQdHIgbm9kZSwKKwkJCQkJIHhtbE5zUHRyIG5zLAorCQkJCQkgY29uc3QgeG1sQ2hhciAqbmFtZSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJeG1sVW5zZXRQcm9wCQkoeG1sTm9kZVB0ciBub2RlLAorCQkJCQkgY29uc3QgeG1sQ2hhciAqbmFtZSk7CisjZW5kaWYgLyogZGVmaW5lZChMSUJYTUxfVFJFRV9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpICovCisKKy8qCisgKiBJbnRlcm5hbCwgZG9uJ3QgdXNlLgorICovCitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCXhtbEJ1ZmZlcldyaXRlQ0hBUgkoeG1sQnVmZmVyUHRyIGJ1ZiwKKwkJCQkJIGNvbnN0IHhtbENoYXIgKnN0cmluZyk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCXhtbEJ1ZmZlcldyaXRlQ2hhcgkoeG1sQnVmZmVyUHRyIGJ1ZiwKKwkJCQkJIGNvbnN0IGNoYXIgKnN0cmluZyk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCXhtbEJ1ZmZlcldyaXRlUXVvdGVkU3RyaW5nKHhtbEJ1ZmZlclB0ciBidWYsCisJCQkJCSBjb25zdCB4bWxDaGFyICpzdHJpbmcpOworCisjaWZkZWYgTElCWE1MX09VVFBVVF9FTkFCTEVECitYTUxQVUJGVU4gdm9pZCB4bWxBdHRyU2VyaWFsaXplVHh0Q29udGVudCh4bWxCdWZmZXJQdHIgYnVmLAorCQkJCQkgeG1sRG9jUHRyIGRvYywKKwkJCQkJIHhtbEF0dHJQdHIgYXR0ciwKKwkJCQkJIGNvbnN0IHhtbENoYXIgKnN0cmluZyk7CisjZW5kaWYgLyogTElCWE1MX09VVFBVVF9FTkFCTEVEICovCisKKyNpZmRlZiBMSUJYTUxfVFJFRV9FTkFCTEVECisvKgorICogTmFtZXNwYWNlIGhhbmRsaW5nLgorICovCitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJeG1sUmVjb25jaWxpYXRlTnMJKHhtbERvY1B0ciBkb2MsCisJCQkJCSB4bWxOb2RlUHRyIHRyZWUpOworI2VuZGlmCisKKyNpZmRlZiBMSUJYTUxfT1VUUFVUX0VOQUJMRUQKKy8qCisgKiBTYXZpbmcuCisgKi8KK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJeG1sRG9jRHVtcEZvcm1hdE1lbW9yeQkoeG1sRG9jUHRyIGN1ciwKKwkJCQkJIHhtbENoYXIgKiptZW0sCisJCQkJCSBpbnQgKnNpemUsCisJCQkJCSBpbnQgZm9ybWF0KTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJeG1sRG9jRHVtcE1lbW9yeQkoeG1sRG9jUHRyIGN1ciwKKwkJCQkJIHhtbENoYXIgKiptZW0sCisJCQkJCSBpbnQgKnNpemUpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQl4bWxEb2NEdW1wTWVtb3J5RW5jCSh4bWxEb2NQdHIgb3V0X2RvYywKKwkJCQkJIHhtbENoYXIgKipkb2NfdHh0X3B0ciwKKwkJCQkJIGludCAqIGRvY190eHRfbGVuLAorCQkJCQkgY29uc3QgY2hhciAqdHh0X2VuY29kaW5nKTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJeG1sRG9jRHVtcEZvcm1hdE1lbW9yeUVuYyh4bWxEb2NQdHIgb3V0X2RvYywKKwkJCQkJIHhtbENoYXIgKipkb2NfdHh0X3B0ciwKKwkJCQkJIGludCAqIGRvY190eHRfbGVuLAorCQkJCQkgY29uc3QgY2hhciAqdHh0X2VuY29kaW5nLAorCQkJCQkgaW50IGZvcm1hdCk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJeG1sRG9jRm9ybWF0RHVtcAkoRklMRSAqZiwKKwkJCQkJIHhtbERvY1B0ciBjdXIsCisJCQkJCSBpbnQgZm9ybWF0KTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl4bWxEb2NEdW1wCQkoRklMRSAqZiwKKwkJCQkJIHhtbERvY1B0ciBjdXIpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQl4bWxFbGVtRHVtcAkJKEZJTEUgKmYsCisJCQkJCSB4bWxEb2NQdHIgZG9jLAorCQkJCQkgeG1sTm9kZVB0ciBjdXIpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCXhtbFNhdmVGaWxlCQkoY29uc3QgY2hhciAqZmlsZW5hbWUsCisJCQkJCSB4bWxEb2NQdHIgY3VyKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl4bWxTYXZlRm9ybWF0RmlsZQkoY29uc3QgY2hhciAqZmlsZW5hbWUsCisJCQkJCSB4bWxEb2NQdHIgY3VyLAorCQkJCQkgaW50IGZvcm1hdCk7CitYTUxQVUJGVU4gc2l6ZV90IFhNTENBTEwKKwkJeG1sQnVmTm9kZUR1bXAJCSh4bWxCdWZQdHIgYnVmLAorCQkJCQkgeG1sRG9jUHRyIGRvYywKKwkJCQkJIHhtbE5vZGVQdHIgY3VyLAorCQkJCQkgaW50IGxldmVsLAorCQkJCQkgaW50IGZvcm1hdCk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJeG1sTm9kZUR1bXAJCSh4bWxCdWZmZXJQdHIgYnVmLAorCQkJCQkgeG1sRG9jUHRyIGRvYywKKwkJCQkJIHhtbE5vZGVQdHIgY3VyLAorCQkJCQkgaW50IGxldmVsLAorCQkJCQkgaW50IGZvcm1hdCk7CisKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl4bWxTYXZlRmlsZVRvCQkoeG1sT3V0cHV0QnVmZmVyUHRyIGJ1ZiwKKwkJCQkJIHhtbERvY1B0ciBjdXIsCisJCQkJCSBjb25zdCBjaGFyICplbmNvZGluZyk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJeG1sU2F2ZUZvcm1hdEZpbGVUbyAgICAgKHhtbE91dHB1dEJ1ZmZlclB0ciBidWYsCisJCQkJCSB4bWxEb2NQdHIgY3VyLAorCQkJCSAgICAgICAgIGNvbnN0IGNoYXIgKmVuY29kaW5nLAorCQkJCSAgICAgICAgIGludCBmb3JtYXQpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQl4bWxOb2RlRHVtcE91dHB1dAkoeG1sT3V0cHV0QnVmZmVyUHRyIGJ1ZiwKKwkJCQkJIHhtbERvY1B0ciBkb2MsCisJCQkJCSB4bWxOb2RlUHRyIGN1ciwKKwkJCQkJIGludCBsZXZlbCwKKwkJCQkJIGludCBmb3JtYXQsCisJCQkJCSBjb25zdCBjaGFyICplbmNvZGluZyk7CisKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl4bWxTYXZlRm9ybWF0RmlsZUVuYyAgICAoY29uc3QgY2hhciAqZmlsZW5hbWUsCisJCQkJCSB4bWxEb2NQdHIgY3VyLAorCQkJCQkgY29uc3QgY2hhciAqZW5jb2RpbmcsCisJCQkJCSBpbnQgZm9ybWF0KTsKKworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCXhtbFNhdmVGaWxlRW5jCQkoY29uc3QgY2hhciAqZmlsZW5hbWUsCisJCQkJCSB4bWxEb2NQdHIgY3VyLAorCQkJCQkgY29uc3QgY2hhciAqZW5jb2RpbmcpOworCisjZW5kaWYgLyogTElCWE1MX09VVFBVVF9FTkFCTEVEICovCisvKgorICogWEhUTUwKKyAqLworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCXhtbElzWEhUTUwJCShjb25zdCB4bWxDaGFyICpzeXN0ZW1JRCwKKwkJCQkJIGNvbnN0IHhtbENoYXIgKnB1YmxpY0lEKTsKKworLyoKKyAqIENvbXByZXNzaW9uLgorICovCitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJeG1sR2V0RG9jQ29tcHJlc3NNb2RlCShjb25zdCB4bWxEb2MgKmRvYyk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCXhtbFNldERvY0NvbXByZXNzTW9kZQkoeG1sRG9jUHRyIGRvYywKKwkJCQkJIGludCBtb2RlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl4bWxHZXRDb21wcmVzc01vZGUJKHZvaWQpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQl4bWxTZXRDb21wcmVzc01vZGUJKGludCBtb2RlKTsKKworLyoKKyogRE9NLXdyYXBwZXIgaGVscGVyIGZ1bmN0aW9ucy4KKyovCitYTUxQVUJGVU4geG1sRE9NV3JhcEN0eHRQdHIgWE1MQ0FMTAorCQl4bWxET01XcmFwTmV3Q3R4dAkodm9pZCk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCXhtbERPTVdyYXBGcmVlQ3R4dAkoeG1sRE9NV3JhcEN0eHRQdHIgY3R4dCk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkgICAgeG1sRE9NV3JhcFJlY29uY2lsZU5hbWVzcGFjZXMoeG1sRE9NV3JhcEN0eHRQdHIgY3R4dCwKKwkJCQkJIHhtbE5vZGVQdHIgZWxlbSwKKwkJCQkJIGludCBvcHRpb25zKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCSAgICB4bWxET01XcmFwQWRvcHROb2RlCQkoeG1sRE9NV3JhcEN0eHRQdHIgY3R4dCwKKwkJCQkJIHhtbERvY1B0ciBzb3VyY2VEb2MsCisJCQkJCSB4bWxOb2RlUHRyIG5vZGUsCisJCQkJCSB4bWxEb2NQdHIgZGVzdERvYywKKwkJCQkJIHhtbE5vZGVQdHIgZGVzdFBhcmVudCwKKwkJCQkJIGludCBvcHRpb25zKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCSAgICB4bWxET01XcmFwUmVtb3ZlTm9kZQkoeG1sRE9NV3JhcEN0eHRQdHIgY3R4dCwKKwkJCQkJIHhtbERvY1B0ciBkb2MsCisJCQkJCSB4bWxOb2RlUHRyIG5vZGUsCisJCQkJCSBpbnQgb3B0aW9ucyk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkgICAgeG1sRE9NV3JhcENsb25lTm9kZQkJKHhtbERPTVdyYXBDdHh0UHRyIGN0eHQsCisJCQkJCSB4bWxEb2NQdHIgc291cmNlRG9jLAorCQkJCQkgeG1sTm9kZVB0ciBub2RlLAorCQkJCQkgeG1sTm9kZVB0ciAqY2xvbmVkTm9kZSwKKwkJCQkJIHhtbERvY1B0ciBkZXN0RG9jLAorCQkJCQkgeG1sTm9kZVB0ciBkZXN0UGFyZW50LAorCQkJCQkgaW50IGRlZXAsCisJCQkJCSBpbnQgb3B0aW9ucyk7CisKKyNpZmRlZiBMSUJYTUxfVFJFRV9FTkFCTEVECisvKgorICogNSBpbnRlcmZhY2VzIGZyb20gRE9NIEVsZW1lbnRUcmF2ZXJzYWwsIGJ1dCBkaWZmZXJlbnQgaW4gZW50aXRpZXMKKyAqIHRyYXZlcnNhbC4KKyAqLworWE1MUFVCRlVOIHVuc2lnbmVkIGxvbmcgWE1MQ0FMTAorICAgICAgICAgICAgeG1sQ2hpbGRFbGVtZW50Q291bnQgICAgICAgICh4bWxOb2RlUHRyIHBhcmVudCk7CitYTUxQVUJGVU4geG1sTm9kZVB0ciBYTUxDQUxMCisgICAgICAgICAgICB4bWxOZXh0RWxlbWVudFNpYmxpbmcgICAgICAgKHhtbE5vZGVQdHIgbm9kZSk7CitYTUxQVUJGVU4geG1sTm9kZVB0ciBYTUxDQUxMCisgICAgICAgICAgICB4bWxGaXJzdEVsZW1lbnRDaGlsZCAgICAgICAgKHhtbE5vZGVQdHIgcGFyZW50KTsKK1hNTFBVQkZVTiB4bWxOb2RlUHRyIFhNTENBTEwKKyAgICAgICAgICAgIHhtbExhc3RFbGVtZW50Q2hpbGQgICAgICAgICAoeG1sTm9kZVB0ciBwYXJlbnQpOworWE1MUFVCRlVOIHhtbE5vZGVQdHIgWE1MQ0FMTAorICAgICAgICAgICAgeG1sUHJldmlvdXNFbGVtZW50U2libGluZyAgICh4bWxOb2RlUHRyIG5vZGUpOworI2VuZGlmCisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorI2lmbmRlZiBfX1hNTF9QQVJTRVJfSF9fCisjaW5jbHVkZSA8bGlieG1sL3htbG1lbW9yeS5oPgorI2VuZGlmCisKKyNlbmRpZiAvKiBfX1hNTF9UUkVFX0hfXyAqLworCmRpZmYgLS1naXQgYS9saWJ4bWwyL2luY2x1ZGUvbGlieG1sL3VyaS5oIGIvbGlieG1sMi9pbmNsdWRlL2xpYnhtbC91cmkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYjQ4MjYyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9pbmNsdWRlL2xpYnhtbC91cmkuaApAQCAtMCwwICsxLDk0IEBACisvKioKKyAqIFN1bW1hcnk6IGxpYnJhcnkgb2YgZ2VuZXJpYyBVUkkgcmVsYXRlZCByb3V0aW5lcworICogRGVzY3JpcHRpb246IGxpYnJhcnkgb2YgZ2VuZXJpYyBVUkkgcmVsYXRlZCByb3V0aW5lcworICogICAgICAgICAgICAgIEltcGxlbWVudHMgUkZDIDIzOTYKKyAqCisgKiBDb3B5OiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisgKgorICogQXV0aG9yOiBEYW5pZWwgVmVpbGxhcmQKKyAqLworCisjaWZuZGVmIF9fWE1MX1VSSV9IX18KKyNkZWZpbmUgX19YTUxfVVJJX0hfXworCisjaW5jbHVkZSA8bGlieG1sL3htbHZlcnNpb24uaD4KKyNpbmNsdWRlIDxsaWJ4bWwvdHJlZS5oPgorCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCisKKy8qKgorICogeG1sVVJJOgorICoKKyAqIEEgcGFyc2VkIFVSSSByZWZlcmVuY2UuIFRoaXMgaXMgYSBzdHJ1Y3QgY29udGFpbmluZyB0aGUgdmFyaW91cyBmaWVsZHMKKyAqIGFzIGRlc2NyaWJlZCBpbiBSRkMgMjM5NiBidXQgc2VwYXJhdGVkIGZvciBmdXJ0aGVyIHByb2Nlc3NpbmcuCisgKgorICogTm90ZTogcXVlcnkgaXMgYSBkZXByZWNhdGVkIGZpZWxkIHdoaWNoIGlzIGluY29ycmVjdGx5IHVuZXNjYXBlZC4KKyAqIHF1ZXJ5X3JhdyB0YWtlcyBwcmVjZWRlbmNlIG92ZXIgcXVlcnkgaWYgdGhlIGZvcm1lciBpcyBzZXQuCisgKiBTZWU6IGh0dHA6Ly9tYWlsLmdub21lLm9yZy9hcmNoaXZlcy94bWwvMjAwNy1BcHJpbC90aHJlYWQuaHRtbCMwMDEyNworICovCit0eXBlZGVmIHN0cnVjdCBfeG1sVVJJIHhtbFVSSTsKK3R5cGVkZWYgeG1sVVJJICp4bWxVUklQdHI7CitzdHJ1Y3QgX3htbFVSSSB7CisgICAgY2hhciAqc2NoZW1lOwkvKiB0aGUgVVJJIHNjaGVtZSAqLworICAgIGNoYXIgKm9wYXF1ZTsJLyogb3BhcXVlIHBhcnQgKi8KKyAgICBjaGFyICphdXRob3JpdHk7CS8qIHRoZSBhdXRob3JpdHkgcGFydCAqLworICAgIGNoYXIgKnNlcnZlcjsJLyogdGhlIHNlcnZlciBwYXJ0ICovCisgICAgY2hhciAqdXNlcjsJCS8qIHRoZSB1c2VyIHBhcnQgKi8KKyAgICBpbnQgcG9ydDsJCS8qIHRoZSBwb3J0IG51bWJlciAqLworICAgIGNoYXIgKnBhdGg7CQkvKiB0aGUgcGF0aCBzdHJpbmcgKi8KKyAgICBjaGFyICpxdWVyeTsJLyogdGhlIHF1ZXJ5IHN0cmluZyAoZGVwcmVjYXRlZCAtIHVzZSB3aXRoIGNhdXRpb24pICovCisgICAgY2hhciAqZnJhZ21lbnQ7CS8qIHRoZSBmcmFnbWVudCBpZGVudGlmaWVyICovCisgICAgaW50ICBjbGVhbnVwOwkvKiBwYXJzaW5nIHBvdGVudGlhbGx5IHVuY2xlYW4gVVJJICovCisgICAgY2hhciAqcXVlcnlfcmF3OwkvKiB0aGUgcXVlcnkgc3RyaW5nIChhcyBpdCBhcHBlYXJzIGluIHRoZSBVUkkpICovCit9OworCisvKgorICogVGhpcyBmdW5jdGlvbiBpcyBpbiB0cmVlLmg6CisgKiB4bWxDaGFyICoJeG1sTm9kZUdldEJhc2UJKHhtbERvY1B0ciBkb2MsCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxOb2RlUHRyIGN1cik7CisgKi8KK1hNTFBVQkZVTiB4bWxVUklQdHIgWE1MQ0FMTAorCQl4bWxDcmVhdGVVUkkJCSh2b2lkKTsKK1hNTFBVQkZVTiB4bWxDaGFyICogWE1MQ0FMTAorCQl4bWxCdWlsZFVSSQkJKGNvbnN0IHhtbENoYXIgKlVSSSwKKwkJCQkJIGNvbnN0IHhtbENoYXIgKmJhc2UpOworWE1MUFVCRlVOIHhtbENoYXIgKiBYTUxDQUxMCisJCXhtbEJ1aWxkUmVsYXRpdmVVUkkJKGNvbnN0IHhtbENoYXIgKlVSSSwKKwkJCQkJIGNvbnN0IHhtbENoYXIgKmJhc2UpOworWE1MUFVCRlVOIHhtbFVSSVB0ciBYTUxDQUxMCisJCXhtbFBhcnNlVVJJCQkoY29uc3QgY2hhciAqc3RyKTsKK1hNTFBVQkZVTiB4bWxVUklQdHIgWE1MQ0FMTAorCQl4bWxQYXJzZVVSSVJhdwkJKGNvbnN0IGNoYXIgKnN0ciwKKwkJCQkJIGludCByYXcpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCXhtbFBhcnNlVVJJUmVmZXJlbmNlCSh4bWxVUklQdHIgdXJpLAorCQkJCQkgY29uc3QgY2hhciAqc3RyKTsKK1hNTFBVQkZVTiB4bWxDaGFyICogWE1MQ0FMTAorCQl4bWxTYXZlVXJpCQkoeG1sVVJJUHRyIHVyaSk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCXhtbFByaW50VVJJCQkoRklMRSAqc3RyZWFtLAorCQkJCQkgeG1sVVJJUHRyIHVyaSk7CitYTUxQVUJGVU4geG1sQ2hhciAqIFhNTENBTEwKKwkJeG1sVVJJRXNjYXBlU3RyICAgICAgICAgKGNvbnN0IHhtbENoYXIgKnN0ciwKKwkJCQkJIGNvbnN0IHhtbENoYXIgKmxpc3QpOworWE1MUFVCRlVOIGNoYXIgKiBYTUxDQUxMCisJCXhtbFVSSVVuZXNjYXBlU3RyaW5nCShjb25zdCBjaGFyICpzdHIsCisJCQkJCSBpbnQgbGVuLAorCQkJCQkgY2hhciAqdGFyZ2V0KTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl4bWxOb3JtYWxpemVVUklQYXRoCShjaGFyICpwYXRoKTsKK1hNTFBVQkZVTiB4bWxDaGFyICogWE1MQ0FMTAorCQl4bWxVUklFc2NhcGUJCShjb25zdCB4bWxDaGFyICpzdHIpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQl4bWxGcmVlVVJJCQkoeG1sVVJJUHRyIHVyaSk7CitYTUxQVUJGVU4geG1sQ2hhciogWE1MQ0FMTAorCQl4bWxDYW5vbmljUGF0aAkJKGNvbnN0IHhtbENoYXIgKnBhdGgpOworWE1MUFVCRlVOIHhtbENoYXIqIFhNTENBTEwKKwkJeG1sUGF0aFRvVVJJCQkoY29uc3QgeG1sQ2hhciAqcGF0aCk7CisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCisjZW5kaWYgLyogX19YTUxfVVJJX0hfXyAqLwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9pbmNsdWRlL2xpYnhtbC92YWxpZC5oIGIvbGlieG1sMi9pbmNsdWRlL2xpYnhtbC92YWxpZC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJiYzdiMzgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2luY2x1ZGUvbGlieG1sL3ZhbGlkLmgKQEAgLTAsMCArMSw0NTggQEAKKy8qCisgKiBTdW1tYXJ5OiBUaGUgRFREIHZhbGlkYXRpb24KKyAqIERlc2NyaXB0aW9uOiBBUEkgZm9yIHRoZSBEVEQgaGFuZGxpbmcgYW5kIHRoZSB2YWxpZGl0eSBjaGVja2luZworICoKKyAqIENvcHk6IFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyAqCisgKiBBdXRob3I6IERhbmllbCBWZWlsbGFyZAorICovCisKKworI2lmbmRlZiBfX1hNTF9WQUxJRF9IX18KKyNkZWZpbmUgX19YTUxfVkFMSURfSF9fCisKKyNpbmNsdWRlIDxsaWJ4bWwveG1sdmVyc2lvbi5oPgorI2luY2x1ZGUgPGxpYnhtbC94bWxlcnJvci5oPgorI2luY2x1ZGUgPGxpYnhtbC90cmVlLmg+CisjaW5jbHVkZSA8bGlieG1sL2xpc3QuaD4KKyNpbmNsdWRlIDxsaWJ4bWwveG1sYXV0b21hdGEuaD4KKyNpbmNsdWRlIDxsaWJ4bWwveG1scmVnZXhwLmg+CisKKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7CisjZW5kaWYKKworLyoKKyAqIFZhbGlkYXRpb24gc3RhdGUgYWRkZWQgZm9yIG5vbi1kZXRlcm1pbmlzdCBjb250ZW50IG1vZGVsLgorICovCit0eXBlZGVmIHN0cnVjdCBfeG1sVmFsaWRTdGF0ZSB4bWxWYWxpZFN0YXRlOwordHlwZWRlZiB4bWxWYWxpZFN0YXRlICp4bWxWYWxpZFN0YXRlUHRyOworCisvKioKKyAqIHhtbFZhbGlkaXR5RXJyb3JGdW5jOgorICogQGN0eDogIHVzdWFsbHkgYW4geG1sVmFsaWRDdHh0UHRyIHRvIGEgdmFsaWRpdHkgZXJyb3IgY29udGV4dCwKKyAqICAgICAgICBidXQgY29tZXMgZnJvbSBjdHh0LT51c2VyRGF0YSAod2hpY2ggbm9ybWFsbHkgY29udGFpbnMgc3VjaAorICogICAgICAgIGEgcG9pbnRlcik7IGN0eHQtPnVzZXJEYXRhIGNhbiBiZSBjaGFuZ2VkIGJ5IHRoZSB1c2VyLgorICogQG1zZzogIHRoZSBzdHJpbmcgdG8gZm9ybWF0ICpwcmludGYgbGlrZSB2YXJhcmcKKyAqIEAuLi46ICByZW1haW5pbmcgYXJndW1lbnRzIHRvIHRoZSBmb3JtYXQKKyAqCisgKiBDYWxsYmFjayBjYWxsZWQgd2hlbiBhIHZhbGlkaXR5IGVycm9yIGlzIGZvdW5kLiBUaGlzIGlzIGEgbWVzc2FnZQorICogb3JpZW50ZWQgZnVuY3Rpb24gc2ltaWxhciB0byBhbiAqcHJpbnRmIGZ1bmN0aW9uLgorICovCit0eXBlZGVmIHZvaWQgKFhNTENERUNMICp4bWxWYWxpZGl0eUVycm9yRnVuYykgKHZvaWQgKmN0eCwKKwkJCSAgICAgY29uc3QgY2hhciAqbXNnLAorCQkJICAgICAuLi4pIExJQlhNTF9BVFRSX0ZPUk1BVCgyLDMpOworCisvKioKKyAqIHhtbFZhbGlkaXR5V2FybmluZ0Z1bmM6CisgKiBAY3R4OiAgdXN1YWxseSBhbiB4bWxWYWxpZEN0eHRQdHIgdG8gYSB2YWxpZGl0eSBlcnJvciBjb250ZXh0LAorICogICAgICAgIGJ1dCBjb21lcyBmcm9tIGN0eHQtPnVzZXJEYXRhICh3aGljaCBub3JtYWxseSBjb250YWlucyBzdWNoCisgKiAgICAgICAgYSBwb2ludGVyKTsgY3R4dC0+dXNlckRhdGEgY2FuIGJlIGNoYW5nZWQgYnkgdGhlIHVzZXIuCisgKiBAbXNnOiAgdGhlIHN0cmluZyB0byBmb3JtYXQgKnByaW50ZiBsaWtlIHZhcmFyZworICogQC4uLjogIHJlbWFpbmluZyBhcmd1bWVudHMgdG8gdGhlIGZvcm1hdAorICoKKyAqIENhbGxiYWNrIGNhbGxlZCB3aGVuIGEgdmFsaWRpdHkgd2FybmluZyBpcyBmb3VuZC4gVGhpcyBpcyBhIG1lc3NhZ2UKKyAqIG9yaWVudGVkIGZ1bmN0aW9uIHNpbWlsYXIgdG8gYW4gKnByaW50ZiBmdW5jdGlvbi4KKyAqLwordHlwZWRlZiB2b2lkIChYTUxDREVDTCAqeG1sVmFsaWRpdHlXYXJuaW5nRnVuYykgKHZvaWQgKmN0eCwKKwkJCSAgICAgICBjb25zdCBjaGFyICptc2csCisJCQkgICAgICAgLi4uKSBMSUJYTUxfQVRUUl9GT1JNQVQoMiwzKTsKKworI2lmZGVmIElOX0xJQlhNTAorLyoqCisgKiBYTUxfQ1RYVF9GSU5JU0hfRFREXzA6CisgKgorICogU3BlY2lhbCB2YWx1ZSBmb3IgZmluaXNoRHRkIGZpZWxkIHdoZW4gZW1iZWRkZWQgaW4gYW4geG1sUGFyc2VyQ3R4dAorICovCisjZGVmaW5lIFhNTF9DVFhUX0ZJTklTSF9EVERfMCAweGFiY2QxMjM0CisvKioKKyAqIFhNTF9DVFhUX0ZJTklTSF9EVERfMToKKyAqCisgKiBTcGVjaWFsIHZhbHVlIGZvciBmaW5pc2hEdGQgZmllbGQgd2hlbiBlbWJlZGRlZCBpbiBhbiB4bWxQYXJzZXJDdHh0CisgKi8KKyNkZWZpbmUgWE1MX0NUWFRfRklOSVNIX0RURF8xIDB4YWJjZDEyMzUKKyNlbmRpZgorCisvKgorICogeG1sVmFsaWRDdHh0OgorICogQW4geG1sVmFsaWRDdHh0IGlzIHVzZWQgZm9yIGVycm9yIHJlcG9ydGluZyB3aGVuIHZhbGlkYXRpbmcuCisgKi8KK3R5cGVkZWYgc3RydWN0IF94bWxWYWxpZEN0eHQgeG1sVmFsaWRDdHh0OwordHlwZWRlZiB4bWxWYWxpZEN0eHQgKnhtbFZhbGlkQ3R4dFB0cjsKK3N0cnVjdCBfeG1sVmFsaWRDdHh0IHsKKyAgICB2b2lkICp1c2VyRGF0YTsJCQkvKiB1c2VyIHNwZWNpZmljIGRhdGEgYmxvY2sgKi8KKyAgICB4bWxWYWxpZGl0eUVycm9yRnVuYyBlcnJvcjsJCS8qIHRoZSBjYWxsYmFjayBpbiBjYXNlIG9mIGVycm9ycyAqLworICAgIHhtbFZhbGlkaXR5V2FybmluZ0Z1bmMgd2FybmluZzsJLyogdGhlIGNhbGxiYWNrIGluIGNhc2Ugb2Ygd2FybmluZyAqLworCisgICAgLyogTm9kZSBhbmFseXNpcyBzdGFjayB1c2VkIHdoZW4gdmFsaWRhdGluZyB3aXRoaW4gZW50aXRpZXMgKi8KKyAgICB4bWxOb2RlUHRyICAgICAgICAgbm9kZTsgICAgICAgICAgLyogQ3VycmVudCBwYXJzZWQgTm9kZSAqLworICAgIGludCAgICAgICAgICAgICAgICBub2RlTnI7ICAgICAgICAvKiBEZXB0aCBvZiB0aGUgcGFyc2luZyBzdGFjayAqLworICAgIGludCAgICAgICAgICAgICAgICBub2RlTWF4OyAgICAgICAvKiBNYXggZGVwdGggb2YgdGhlIHBhcnNpbmcgc3RhY2sgKi8KKyAgICB4bWxOb2RlUHRyICAgICAgICAqbm9kZVRhYjsgICAgICAgLyogYXJyYXkgb2Ygbm9kZXMgKi8KKworICAgIHVuc2lnbmVkIGludCAgICAgZmluaXNoRHRkOyAgICAgICAvKiBmaW5pc2hlZCB2YWxpZGF0aW5nIHRoZSBEdGQgPyAqLworICAgIHhtbERvY1B0ciAgICAgICAgICAgICAgZG9jOyAgICAgICAvKiB0aGUgZG9jdW1lbnQgKi8KKyAgICBpbnQgICAgICAgICAgICAgICAgICB2YWxpZDsgICAgICAgLyogdGVtcG9yYXJ5IHZhbGlkaXR5IGNoZWNrIHJlc3VsdCAqLworCisgICAgLyogc3RhdGUgc3RhdGUgdXNlZCBmb3Igbm9uLWRldGVybWluaXN0IGNvbnRlbnQgdmFsaWRhdGlvbiAqLworICAgIHhtbFZhbGlkU3RhdGUgICAgICp2c3RhdGU7ICAgICAgICAvKiBjdXJyZW50IHN0YXRlICovCisgICAgaW50ICAgICAgICAgICAgICAgIHZzdGF0ZU5yOyAgICAgIC8qIERlcHRoIG9mIHRoZSB2YWxpZGF0aW9uIHN0YWNrICovCisgICAgaW50ICAgICAgICAgICAgICAgIHZzdGF0ZU1heDsgICAgIC8qIE1heCBkZXB0aCBvZiB0aGUgdmFsaWRhdGlvbiBzdGFjayAqLworICAgIHhtbFZhbGlkU3RhdGUgICAgICp2c3RhdGVUYWI7ICAgICAvKiBhcnJheSBvZiB2YWxpZGF0aW9uIHN0YXRlcyAqLworCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECisgICAgeG1sQXV0b21hdGFQdHIgICAgICAgICAgICBhbTsgICAgIC8qIHRoZSBhdXRvbWF0YSAqLworICAgIHhtbEF1dG9tYXRhU3RhdGVQdHIgICAgc3RhdGU7ICAgICAvKiB1c2VkIHRvIGJ1aWxkIHRoZSBhdXRvbWF0YSAqLworI2Vsc2UKKyAgICB2b2lkICAgICAgICAgICAgICAgICAgICAgKmFtOworICAgIHZvaWQgICAgICAgICAgICAgICAgICAqc3RhdGU7CisjZW5kaWYKK307CisKKy8qCisgKiBBTEwgbm90YXRpb24gZGVjbGFyYXRpb25zIGFyZSBzdG9yZWQgaW4gYSB0YWJsZS4KKyAqIFRoZXJlIGlzIG9uZSB0YWJsZSBwZXIgRFRELgorICovCisKK3R5cGVkZWYgc3RydWN0IF94bWxIYXNoVGFibGUgeG1sTm90YXRpb25UYWJsZTsKK3R5cGVkZWYgeG1sTm90YXRpb25UYWJsZSAqeG1sTm90YXRpb25UYWJsZVB0cjsKKworLyoKKyAqIEFMTCBlbGVtZW50IGRlY2xhcmF0aW9ucyBhcmUgc3RvcmVkIGluIGEgdGFibGUuCisgKiBUaGVyZSBpcyBvbmUgdGFibGUgcGVyIERURC4KKyAqLworCit0eXBlZGVmIHN0cnVjdCBfeG1sSGFzaFRhYmxlIHhtbEVsZW1lbnRUYWJsZTsKK3R5cGVkZWYgeG1sRWxlbWVudFRhYmxlICp4bWxFbGVtZW50VGFibGVQdHI7CisKKy8qCisgKiBBTEwgYXR0cmlidXRlIGRlY2xhcmF0aW9ucyBhcmUgc3RvcmVkIGluIGEgdGFibGUuCisgKiBUaGVyZSBpcyBvbmUgdGFibGUgcGVyIERURC4KKyAqLworCit0eXBlZGVmIHN0cnVjdCBfeG1sSGFzaFRhYmxlIHhtbEF0dHJpYnV0ZVRhYmxlOwordHlwZWRlZiB4bWxBdHRyaWJ1dGVUYWJsZSAqeG1sQXR0cmlidXRlVGFibGVQdHI7CisKKy8qCisgKiBBTEwgSURzIGF0dHJpYnV0ZXMgYXJlIHN0b3JlZCBpbiBhIHRhYmxlLgorICogVGhlcmUgaXMgb25lIHRhYmxlIHBlciBkb2N1bWVudC4KKyAqLworCit0eXBlZGVmIHN0cnVjdCBfeG1sSGFzaFRhYmxlIHhtbElEVGFibGU7Cit0eXBlZGVmIHhtbElEVGFibGUgKnhtbElEVGFibGVQdHI7CisKKy8qCisgKiBBTEwgUmVmcyBhdHRyaWJ1dGVzIGFyZSBzdG9yZWQgaW4gYSB0YWJsZS4KKyAqIFRoZXJlIGlzIG9uZSB0YWJsZSBwZXIgZG9jdW1lbnQuCisgKi8KKwordHlwZWRlZiBzdHJ1Y3QgX3htbEhhc2hUYWJsZSB4bWxSZWZUYWJsZTsKK3R5cGVkZWYgeG1sUmVmVGFibGUgKnhtbFJlZlRhYmxlUHRyOworCisvKiBOb3RhdGlvbiAqLworWE1MUFVCRlVOIHhtbE5vdGF0aW9uUHRyIFhNTENBTEwKKwkJeG1sQWRkTm90YXRpb25EZWNsCSh4bWxWYWxpZEN0eHRQdHIgY3R4dCwKKwkJCQkJIHhtbER0ZFB0ciBkdGQsCisJCQkJCSBjb25zdCB4bWxDaGFyICpuYW1lLAorCQkJCQkgY29uc3QgeG1sQ2hhciAqUHVibGljSUQsCisJCQkJCSBjb25zdCB4bWxDaGFyICpTeXN0ZW1JRCk7CisjaWZkZWYgTElCWE1MX1RSRUVfRU5BQkxFRAorWE1MUFVCRlVOIHhtbE5vdGF0aW9uVGFibGVQdHIgWE1MQ0FMTAorCQl4bWxDb3B5Tm90YXRpb25UYWJsZQkoeG1sTm90YXRpb25UYWJsZVB0ciB0YWJsZSk7CisjZW5kaWYgLyogTElCWE1MX1RSRUVfRU5BQkxFRCAqLworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQl4bWxGcmVlTm90YXRpb25UYWJsZQkoeG1sTm90YXRpb25UYWJsZVB0ciB0YWJsZSk7CisjaWZkZWYgTElCWE1MX09VVFBVVF9FTkFCTEVECitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCXhtbER1bXBOb3RhdGlvbkRlY2wJKHhtbEJ1ZmZlclB0ciBidWYsCisJCQkJCSB4bWxOb3RhdGlvblB0ciBub3RhKTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJeG1sRHVtcE5vdGF0aW9uVGFibGUJKHhtbEJ1ZmZlclB0ciBidWYsCisJCQkJCSB4bWxOb3RhdGlvblRhYmxlUHRyIHRhYmxlKTsKKyNlbmRpZiAvKiBMSUJYTUxfT1VUUFVUX0VOQUJMRUQgKi8KKworLyogRWxlbWVudCBDb250ZW50ICovCisvKiB0aGUgbm9uIERvYyB2ZXJzaW9uIGFyZSBiZWluZyBkZXByZWNhdGVkICovCitYTUxQVUJGVU4geG1sRWxlbWVudENvbnRlbnRQdHIgWE1MQ0FMTAorCQl4bWxOZXdFbGVtZW50Q29udGVudAkoY29uc3QgeG1sQ2hhciAqbmFtZSwKKwkJCQkJIHhtbEVsZW1lbnRDb250ZW50VHlwZSB0eXBlKTsKK1hNTFBVQkZVTiB4bWxFbGVtZW50Q29udGVudFB0ciBYTUxDQUxMCisJCXhtbENvcHlFbGVtZW50Q29udGVudAkoeG1sRWxlbWVudENvbnRlbnRQdHIgY29udGVudCk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCXhtbEZyZWVFbGVtZW50Q29udGVudAkoeG1sRWxlbWVudENvbnRlbnRQdHIgY3VyKTsKKy8qIHRoZSBuZXcgdmVyc2lvbnMgd2l0aCBkb2MgYXJndW1lbnQgKi8KK1hNTFBVQkZVTiB4bWxFbGVtZW50Q29udGVudFB0ciBYTUxDQUxMCisJCXhtbE5ld0RvY0VsZW1lbnRDb250ZW50CSh4bWxEb2NQdHIgZG9jLAorCQkJCQkgY29uc3QgeG1sQ2hhciAqbmFtZSwKKwkJCQkJIHhtbEVsZW1lbnRDb250ZW50VHlwZSB0eXBlKTsKK1hNTFBVQkZVTiB4bWxFbGVtZW50Q29udGVudFB0ciBYTUxDQUxMCisJCXhtbENvcHlEb2NFbGVtZW50Q29udGVudCh4bWxEb2NQdHIgZG9jLAorCQkJCQkgeG1sRWxlbWVudENvbnRlbnRQdHIgY29udGVudCk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCXhtbEZyZWVEb2NFbGVtZW50Q29udGVudCh4bWxEb2NQdHIgZG9jLAorCQkJCQkgeG1sRWxlbWVudENvbnRlbnRQdHIgY3VyKTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJeG1sU25wcmludGZFbGVtZW50Q29udGVudChjaGFyICpidWYsCisJCQkJCSBpbnQgc2l6ZSwKKwkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxFbGVtZW50Q29udGVudFB0ciBjb250ZW50LAorCQkJCQkgaW50IGVuZ2xvYik7CisjaWZkZWYgTElCWE1MX09VVFBVVF9FTkFCTEVECisvKiBERVBSRUNBVEVEICovCitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCXhtbFNwcmludGZFbGVtZW50Q29udGVudChjaGFyICpidWYsCisJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sRWxlbWVudENvbnRlbnRQdHIgY29udGVudCwKKwkJCQkJIGludCBlbmdsb2IpOworI2VuZGlmIC8qIExJQlhNTF9PVVRQVVRfRU5BQkxFRCAqLworLyogREVQUkVDQVRFRCAqLworCisvKiBFbGVtZW50ICovCitYTUxQVUJGVU4geG1sRWxlbWVudFB0ciBYTUxDQUxMCisJCXhtbEFkZEVsZW1lbnREZWNsCSh4bWxWYWxpZEN0eHRQdHIgY3R4dCwKKwkJCQkJIHhtbER0ZFB0ciBkdGQsCisJCQkJCSBjb25zdCB4bWxDaGFyICpuYW1lLAorCQkJCQkgeG1sRWxlbWVudFR5cGVWYWwgdHlwZSwKKwkJCQkJIHhtbEVsZW1lbnRDb250ZW50UHRyIGNvbnRlbnQpOworI2lmZGVmIExJQlhNTF9UUkVFX0VOQUJMRUQKK1hNTFBVQkZVTiB4bWxFbGVtZW50VGFibGVQdHIgWE1MQ0FMTAorCQl4bWxDb3B5RWxlbWVudFRhYmxlCSh4bWxFbGVtZW50VGFibGVQdHIgdGFibGUpOworI2VuZGlmIC8qIExJQlhNTF9UUkVFX0VOQUJMRUQgKi8KK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJeG1sRnJlZUVsZW1lbnRUYWJsZQkoeG1sRWxlbWVudFRhYmxlUHRyIHRhYmxlKTsKKyNpZmRlZiBMSUJYTUxfT1VUUFVUX0VOQUJMRUQKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJeG1sRHVtcEVsZW1lbnRUYWJsZQkoeG1sQnVmZmVyUHRyIGJ1ZiwKKwkJCQkJIHhtbEVsZW1lbnRUYWJsZVB0ciB0YWJsZSk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCXhtbER1bXBFbGVtZW50RGVjbAkoeG1sQnVmZmVyUHRyIGJ1ZiwKKwkJCQkJIHhtbEVsZW1lbnRQdHIgZWxlbSk7CisjZW5kaWYgLyogTElCWE1MX09VVFBVVF9FTkFCTEVEICovCisKKy8qIEVudW1lcmF0aW9uICovCitYTUxQVUJGVU4geG1sRW51bWVyYXRpb25QdHIgWE1MQ0FMTAorCQl4bWxDcmVhdGVFbnVtZXJhdGlvbgkoY29uc3QgeG1sQ2hhciAqbmFtZSk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCXhtbEZyZWVFbnVtZXJhdGlvbgkoeG1sRW51bWVyYXRpb25QdHIgY3VyKTsKKyNpZmRlZiBMSUJYTUxfVFJFRV9FTkFCTEVECitYTUxQVUJGVU4geG1sRW51bWVyYXRpb25QdHIgWE1MQ0FMTAorCQl4bWxDb3B5RW51bWVyYXRpb24JKHhtbEVudW1lcmF0aW9uUHRyIGN1cik7CisjZW5kaWYgLyogTElCWE1MX1RSRUVfRU5BQkxFRCAqLworCisvKiBBdHRyaWJ1dGUgKi8KK1hNTFBVQkZVTiB4bWxBdHRyaWJ1dGVQdHIgWE1MQ0FMTAorCQl4bWxBZGRBdHRyaWJ1dGVEZWNsCSh4bWxWYWxpZEN0eHRQdHIgY3R4dCwKKwkJCQkJIHhtbER0ZFB0ciBkdGQsCisJCQkJCSBjb25zdCB4bWxDaGFyICplbGVtLAorCQkJCQkgY29uc3QgeG1sQ2hhciAqbmFtZSwKKwkJCQkJIGNvbnN0IHhtbENoYXIgKm5zLAorCQkJCQkgeG1sQXR0cmlidXRlVHlwZSB0eXBlLAorCQkJCQkgeG1sQXR0cmlidXRlRGVmYXVsdCBkZWYsCisJCQkJCSBjb25zdCB4bWxDaGFyICpkZWZhdWx0VmFsdWUsCisJCQkJCSB4bWxFbnVtZXJhdGlvblB0ciB0cmVlKTsKKyNpZmRlZiBMSUJYTUxfVFJFRV9FTkFCTEVECitYTUxQVUJGVU4geG1sQXR0cmlidXRlVGFibGVQdHIgWE1MQ0FMTAorCQl4bWxDb3B5QXR0cmlidXRlVGFibGUgICh4bWxBdHRyaWJ1dGVUYWJsZVB0ciB0YWJsZSk7CisjZW5kaWYgLyogTElCWE1MX1RSRUVfRU5BQkxFRCAqLworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQl4bWxGcmVlQXR0cmlidXRlVGFibGUgICh4bWxBdHRyaWJ1dGVUYWJsZVB0ciB0YWJsZSk7CisjaWZkZWYgTElCWE1MX09VVFBVVF9FTkFCTEVECitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCXhtbER1bXBBdHRyaWJ1dGVUYWJsZSAgKHhtbEJ1ZmZlclB0ciBidWYsCisJCQkJCXhtbEF0dHJpYnV0ZVRhYmxlUHRyIHRhYmxlKTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJeG1sRHVtcEF0dHJpYnV0ZURlY2wgICAoeG1sQnVmZmVyUHRyIGJ1ZiwKKwkJCQkJeG1sQXR0cmlidXRlUHRyIGF0dHIpOworI2VuZGlmIC8qIExJQlhNTF9PVVRQVVRfRU5BQkxFRCAqLworCisvKiBJRHMgKi8KK1hNTFBVQkZVTiB4bWxJRFB0ciBYTUxDQUxMCisJCXhtbEFkZElECSAgICAgICAoeG1sVmFsaWRDdHh0UHRyIGN0eHQsCisJCQkJCXhtbERvY1B0ciBkb2MsCisJCQkJCWNvbnN0IHhtbENoYXIgKnZhbHVlLAorCQkJCQl4bWxBdHRyUHRyIGF0dHIpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQl4bWxGcmVlSURUYWJsZQkgICAgICAgKHhtbElEVGFibGVQdHIgdGFibGUpOworWE1MUFVCRlVOIHhtbEF0dHJQdHIgWE1MQ0FMTAorCQl4bWxHZXRJRAkgICAgICAgKHhtbERvY1B0ciBkb2MsCisJCQkJCWNvbnN0IHhtbENoYXIgKklEKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl4bWxJc0lECQkgICAgICAgKHhtbERvY1B0ciBkb2MsCisJCQkJCXhtbE5vZGVQdHIgZWxlbSwKKwkJCQkJeG1sQXR0clB0ciBhdHRyKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl4bWxSZW1vdmVJRAkgICAgICAgKHhtbERvY1B0ciBkb2MsCisJCQkJCXhtbEF0dHJQdHIgYXR0cik7CisKKy8qIElEUkVGcyAqLworWE1MUFVCRlVOIHhtbFJlZlB0ciBYTUxDQUxMCisJCXhtbEFkZFJlZgkgICAgICAgKHhtbFZhbGlkQ3R4dFB0ciBjdHh0LAorCQkJCQl4bWxEb2NQdHIgZG9jLAorCQkJCQljb25zdCB4bWxDaGFyICp2YWx1ZSwKKwkJCQkJeG1sQXR0clB0ciBhdHRyKTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJeG1sRnJlZVJlZlRhYmxlCSAgICAgICAoeG1sUmVmVGFibGVQdHIgdGFibGUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCXhtbElzUmVmCSAgICAgICAoeG1sRG9jUHRyIGRvYywKKwkJCQkJeG1sTm9kZVB0ciBlbGVtLAorCQkJCQl4bWxBdHRyUHRyIGF0dHIpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCXhtbFJlbW92ZVJlZgkgICAgICAgKHhtbERvY1B0ciBkb2MsCisJCQkJCXhtbEF0dHJQdHIgYXR0cik7CitYTUxQVUJGVU4geG1sTGlzdFB0ciBYTUxDQUxMCisJCXhtbEdldFJlZnMJICAgICAgICh4bWxEb2NQdHIgZG9jLAorCQkJCQljb25zdCB4bWxDaGFyICpJRCk7CisKKy8qKgorICogVGhlIHB1YmxpYyBmdW5jdGlvbiBjYWxscyByZWxhdGVkIHRvIHZhbGlkaXR5IGNoZWNraW5nLgorICovCisjaWZkZWYgTElCWE1MX1ZBTElEX0VOQUJMRUQKKy8qIEFsbG9jYXRlL1JlbGVhc2UgVmFsaWRhdGlvbiBDb250ZXh0cyAqLworWE1MUFVCRlVOIHhtbFZhbGlkQ3R4dFB0ciBYTUxDQUxMCisJCXhtbE5ld1ZhbGlkQ3R4dCh2b2lkKTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJeG1sRnJlZVZhbGlkQ3R4dCh4bWxWYWxpZEN0eHRQdHIpOworCitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJeG1sVmFsaWRhdGVSb290CQkoeG1sVmFsaWRDdHh0UHRyIGN0eHQsCisJCQkJCSB4bWxEb2NQdHIgZG9jKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl4bWxWYWxpZGF0ZUVsZW1lbnREZWNsCSh4bWxWYWxpZEN0eHRQdHIgY3R4dCwKKwkJCQkJIHhtbERvY1B0ciBkb2MsCisJCSAgICAgICAgICAgICAgICAgICAgICAgICB4bWxFbGVtZW50UHRyIGVsZW0pOworWE1MUFVCRlVOIHhtbENoYXIgKiBYTUxDQUxMCisJCXhtbFZhbGlkTm9ybWFsaXplQXR0cmlidXRlVmFsdWUoeG1sRG9jUHRyIGRvYywKKwkJCQkJIHhtbE5vZGVQdHIgZWxlbSwKKwkJCQkJIGNvbnN0IHhtbENoYXIgKm5hbWUsCisJCQkJCSBjb25zdCB4bWxDaGFyICp2YWx1ZSk7CitYTUxQVUJGVU4geG1sQ2hhciAqIFhNTENBTEwKKwkJeG1sVmFsaWRDdHh0Tm9ybWFsaXplQXR0cmlidXRlVmFsdWUoeG1sVmFsaWRDdHh0UHRyIGN0eHQsCisJCQkJCSB4bWxEb2NQdHIgZG9jLAorCQkJCQkgeG1sTm9kZVB0ciBlbGVtLAorCQkJCQkgY29uc3QgeG1sQ2hhciAqbmFtZSwKKwkJCQkJIGNvbnN0IHhtbENoYXIgKnZhbHVlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl4bWxWYWxpZGF0ZUF0dHJpYnV0ZURlY2woeG1sVmFsaWRDdHh0UHRyIGN0eHQsCisJCQkJCSB4bWxEb2NQdHIgZG9jLAorCQkgICAgICAgICAgICAgICAgICAgICAgICAgeG1sQXR0cmlidXRlUHRyIGF0dHIpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCXhtbFZhbGlkYXRlQXR0cmlidXRlVmFsdWUoeG1sQXR0cmlidXRlVHlwZSB0eXBlLAorCQkJCQkgY29uc3QgeG1sQ2hhciAqdmFsdWUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCXhtbFZhbGlkYXRlTm90YXRpb25EZWNsCSh4bWxWYWxpZEN0eHRQdHIgY3R4dCwKKwkJCQkJIHhtbERvY1B0ciBkb2MsCisJCSAgICAgICAgICAgICAgICAgICAgICAgICB4bWxOb3RhdGlvblB0ciBub3RhKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl4bWxWYWxpZGF0ZUR0ZAkJKHhtbFZhbGlkQ3R4dFB0ciBjdHh0LAorCQkJCQkgeG1sRG9jUHRyIGRvYywKKwkJCQkJIHhtbER0ZFB0ciBkdGQpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCXhtbFZhbGlkYXRlRHRkRmluYWwJKHhtbFZhbGlkQ3R4dFB0ciBjdHh0LAorCQkJCQkgeG1sRG9jUHRyIGRvYyk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJeG1sVmFsaWRhdGVEb2N1bWVudAkoeG1sVmFsaWRDdHh0UHRyIGN0eHQsCisJCQkJCSB4bWxEb2NQdHIgZG9jKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl4bWxWYWxpZGF0ZUVsZW1lbnQJKHhtbFZhbGlkQ3R4dFB0ciBjdHh0LAorCQkJCQkgeG1sRG9jUHRyIGRvYywKKwkJCQkJIHhtbE5vZGVQdHIgZWxlbSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJeG1sVmFsaWRhdGVPbmVFbGVtZW50CSh4bWxWYWxpZEN0eHRQdHIgY3R4dCwKKwkJCQkJIHhtbERvY1B0ciBkb2MsCisJCSAgICAgICAgICAgICAgICAgICAgICAgICB4bWxOb2RlUHRyIGVsZW0pOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCXhtbFZhbGlkYXRlT25lQXR0cmlidXRlCSh4bWxWYWxpZEN0eHRQdHIgY3R4dCwKKwkJCQkJIHhtbERvY1B0ciBkb2MsCisJCQkJCSB4bWxOb2RlUHRyCWVsZW0sCisJCQkJCSB4bWxBdHRyUHRyIGF0dHIsCisJCQkJCSBjb25zdCB4bWxDaGFyICp2YWx1ZSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJeG1sVmFsaWRhdGVPbmVOYW1lc3BhY2UJKHhtbFZhbGlkQ3R4dFB0ciBjdHh0LAorCQkJCQkgeG1sRG9jUHRyIGRvYywKKwkJCQkJIHhtbE5vZGVQdHIgZWxlbSwKKwkJCQkJIGNvbnN0IHhtbENoYXIgKnByZWZpeCwKKwkJCQkJIHhtbE5zUHRyIG5zLAorCQkJCQkgY29uc3QgeG1sQ2hhciAqdmFsdWUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCXhtbFZhbGlkYXRlRG9jdW1lbnRGaW5hbCh4bWxWYWxpZEN0eHRQdHIgY3R4dCwKKwkJCQkJIHhtbERvY1B0ciBkb2MpOworI2VuZGlmIC8qIExJQlhNTF9WQUxJRF9FTkFCTEVEICovCisKKyNpZiBkZWZpbmVkKExJQlhNTF9WQUxJRF9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJeG1sVmFsaWRhdGVOb3RhdGlvblVzZQkoeG1sVmFsaWRDdHh0UHRyIGN0eHQsCisJCQkJCSB4bWxEb2NQdHIgZG9jLAorCQkJCQkgY29uc3QgeG1sQ2hhciAqbm90YXRpb25OYW1lKTsKKyNlbmRpZiAvKiBMSUJYTUxfVkFMSURfRU5BQkxFRCBvciBMSUJYTUxfU0NIRU1BU19FTkFCTEVEICovCisKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl4bWxJc01peGVkRWxlbWVudAkoeG1sRG9jUHRyIGRvYywKKwkJCQkJIGNvbnN0IHhtbENoYXIgKm5hbWUpOworWE1MUFVCRlVOIHhtbEF0dHJpYnV0ZVB0ciBYTUxDQUxMCisJCXhtbEdldER0ZEF0dHJEZXNjCSh4bWxEdGRQdHIgZHRkLAorCQkJCQkgY29uc3QgeG1sQ2hhciAqZWxlbSwKKwkJCQkJIGNvbnN0IHhtbENoYXIgKm5hbWUpOworWE1MUFVCRlVOIHhtbEF0dHJpYnV0ZVB0ciBYTUxDQUxMCisJCXhtbEdldER0ZFFBdHRyRGVzYwkoeG1sRHRkUHRyIGR0ZCwKKwkJCQkJIGNvbnN0IHhtbENoYXIgKmVsZW0sCisJCQkJCSBjb25zdCB4bWxDaGFyICpuYW1lLAorCQkJCQkgY29uc3QgeG1sQ2hhciAqcHJlZml4KTsKK1hNTFBVQkZVTiB4bWxOb3RhdGlvblB0ciBYTUxDQUxMCisJCXhtbEdldER0ZE5vdGF0aW9uRGVzYwkoeG1sRHRkUHRyIGR0ZCwKKwkJCQkJIGNvbnN0IHhtbENoYXIgKm5hbWUpOworWE1MUFVCRlVOIHhtbEVsZW1lbnRQdHIgWE1MQ0FMTAorCQl4bWxHZXREdGRRRWxlbWVudERlc2MJKHhtbER0ZFB0ciBkdGQsCisJCQkJCSBjb25zdCB4bWxDaGFyICpuYW1lLAorCQkJCQkgY29uc3QgeG1sQ2hhciAqcHJlZml4KTsKK1hNTFBVQkZVTiB4bWxFbGVtZW50UHRyIFhNTENBTEwKKwkJeG1sR2V0RHRkRWxlbWVudERlc2MJKHhtbER0ZFB0ciBkdGQsCisJCQkJCSBjb25zdCB4bWxDaGFyICpuYW1lKTsKKworI2lmZGVmIExJQlhNTF9WQUxJRF9FTkFCTEVECisKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl4bWxWYWxpZEdldFBvdGVudGlhbENoaWxkcmVuKHhtbEVsZW1lbnRDb250ZW50ICpjdHJlZSwKKwkJCQkJIGNvbnN0IHhtbENoYXIgKipuYW1lcywKKwkJCQkJIGludCAqbGVuLAorCQkJCQkgaW50IG1heCk7CisKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl4bWxWYWxpZEdldFZhbGlkRWxlbWVudHMoeG1sTm9kZSAqcHJldiwKKwkJCQkJIHhtbE5vZGUgKm5leHQsCisJCQkJCSBjb25zdCB4bWxDaGFyICoqbmFtZXMsCisJCQkJCSBpbnQgbWF4KTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl4bWxWYWxpZGF0ZU5hbWVWYWx1ZQkoY29uc3QgeG1sQ2hhciAqdmFsdWUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCXhtbFZhbGlkYXRlTmFtZXNWYWx1ZQkoY29uc3QgeG1sQ2hhciAqdmFsdWUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCXhtbFZhbGlkYXRlTm10b2tlblZhbHVlCShjb25zdCB4bWxDaGFyICp2YWx1ZSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJeG1sVmFsaWRhdGVObXRva2Vuc1ZhbHVlKGNvbnN0IHhtbENoYXIgKnZhbHVlKTsKKworI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAorLyoKKyAqIFZhbGlkYXRpb24gYmFzZWQgb24gdGhlIHJlZ2V4cCBzdXBwb3J0CisgKi8KK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl4bWxWYWxpZEJ1aWxkQ29udGVudE1vZGVsKHhtbFZhbGlkQ3R4dFB0ciBjdHh0LAorCQkJCQkgeG1sRWxlbWVudFB0ciBlbGVtKTsKKworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCXhtbFZhbGlkYXRlUHVzaEVsZW1lbnQJKHhtbFZhbGlkQ3R4dFB0ciBjdHh0LAorCQkJCQkgeG1sRG9jUHRyIGRvYywKKwkJCQkJIHhtbE5vZGVQdHIgZWxlbSwKKwkJCQkJIGNvbnN0IHhtbENoYXIgKnFuYW1lKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl4bWxWYWxpZGF0ZVB1c2hDRGF0YQkoeG1sVmFsaWRDdHh0UHRyIGN0eHQsCisJCQkJCSBjb25zdCB4bWxDaGFyICpkYXRhLAorCQkJCQkgaW50IGxlbik7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJeG1sVmFsaWRhdGVQb3BFbGVtZW50CSh4bWxWYWxpZEN0eHRQdHIgY3R4dCwKKwkJCQkJIHhtbERvY1B0ciBkb2MsCisJCQkJCSB4bWxOb2RlUHRyIGVsZW0sCisJCQkJCSBjb25zdCB4bWxDaGFyICpxbmFtZSk7CisjZW5kaWYgLyogTElCWE1MX1JFR0VYUF9FTkFCTEVEICovCisjZW5kaWYgLyogTElCWE1MX1ZBTElEX0VOQUJMRUQgKi8KKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCisjZW5kaWYgLyogX19YTUxfVkFMSURfSF9fICovCmRpZmYgLS1naXQgYS9saWJ4bWwyL2luY2x1ZGUvbGlieG1sL3hpbmNsdWRlLmggYi9saWJ4bWwyL2luY2x1ZGUvbGlieG1sL3hpbmNsdWRlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODYzYWIyNQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvaW5jbHVkZS9saWJ4bWwveGluY2x1ZGUuaApAQCAtMCwwICsxLDEyOSBAQAorLyoKKyAqIFN1bW1hcnk6IGltcGxlbWVudGF0aW9uIG9mIFhJbmNsdWRlCisgKiBEZXNjcmlwdGlvbjogQVBJIHRvIGhhbmRsZSBYSW5jbHVkZSBwcm9jZXNzaW5nLAorICogaW1wbGVtZW50cyB0aGUKKyAqIFdvcmxkIFdpZGUgV2ViIENvbnNvcnRpdW0gTGFzdCBDYWxsIFdvcmtpbmcgRHJhZnQgMTAgTm92ZW1iZXIgMjAwMworICogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwMy9XRC14aW5jbHVkZS0yMDAzMTExMAorICoKKyAqIENvcHk6IFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyAqCisgKiBBdXRob3I6IERhbmllbCBWZWlsbGFyZAorICovCisKKyNpZm5kZWYgX19YTUxfWElOQ0xVREVfSF9fCisjZGVmaW5lIF9fWE1MX1hJTkNMVURFX0hfXworCisjaW5jbHVkZSA8bGlieG1sL3htbHZlcnNpb24uaD4KKyNpbmNsdWRlIDxsaWJ4bWwvdHJlZS5oPgorCisjaWZkZWYgTElCWE1MX1hJTkNMVURFX0VOQUJMRUQKKworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCisvKioKKyAqIFhJTkNMVURFX05TOgorICoKKyAqIE1hY3JvIGRlZmluaW5nIHRoZSBYaW5jbHVkZSBuYW1lc3BhY2U6IGh0dHA6Ly93d3cudzMub3JnLzIwMDMvWEluY2x1ZGUKKyAqLworI2RlZmluZSBYSU5DTFVERV9OUyAoY29uc3QgeG1sQ2hhciAqKSAiaHR0cDovL3d3dy53My5vcmcvMjAwMy9YSW5jbHVkZSIKKy8qKgorICogWElOQ0xVREVfT0xEX05TOgorICoKKyAqIE1hY3JvIGRlZmluaW5nIHRoZSBkcmFmdCBYaW5jbHVkZSBuYW1lc3BhY2U6IGh0dHA6Ly93d3cudzMub3JnLzIwMDEvWEluY2x1ZGUKKyAqLworI2RlZmluZSBYSU5DTFVERV9PTERfTlMgKGNvbnN0IHhtbENoYXIgKikgImh0dHA6Ly93d3cudzMub3JnLzIwMDEvWEluY2x1ZGUiCisvKioKKyAqIFhJTkNMVURFX05PREU6CisgKgorICogTWFjcm8gZGVmaW5pbmcgImluY2x1ZGUiCisgKi8KKyNkZWZpbmUgWElOQ0xVREVfTk9ERSAoY29uc3QgeG1sQ2hhciAqKSAiaW5jbHVkZSIKKy8qKgorICogWElOQ0xVREVfRkFMTEJBQ0s6CisgKgorICogTWFjcm8gZGVmaW5pbmcgImZhbGxiYWNrIgorICovCisjZGVmaW5lIFhJTkNMVURFX0ZBTExCQUNLIChjb25zdCB4bWxDaGFyICopICJmYWxsYmFjayIKKy8qKgorICogWElOQ0xVREVfSFJFRjoKKyAqCisgKiBNYWNybyBkZWZpbmluZyAiaHJlZiIKKyAqLworI2RlZmluZSBYSU5DTFVERV9IUkVGIChjb25zdCB4bWxDaGFyICopICJocmVmIgorLyoqCisgKiBYSU5DTFVERV9QQVJTRToKKyAqCisgKiBNYWNybyBkZWZpbmluZyAicGFyc2UiCisgKi8KKyNkZWZpbmUgWElOQ0xVREVfUEFSU0UgKGNvbnN0IHhtbENoYXIgKikgInBhcnNlIgorLyoqCisgKiBYSU5DTFVERV9QQVJTRV9YTUw6CisgKgorICogTWFjcm8gZGVmaW5pbmcgInhtbCIKKyAqLworI2RlZmluZSBYSU5DTFVERV9QQVJTRV9YTUwgKGNvbnN0IHhtbENoYXIgKikgInhtbCIKKy8qKgorICogWElOQ0xVREVfUEFSU0VfVEVYVDoKKyAqCisgKiBNYWNybyBkZWZpbmluZyAidGV4dCIKKyAqLworI2RlZmluZSBYSU5DTFVERV9QQVJTRV9URVhUIChjb25zdCB4bWxDaGFyICopICJ0ZXh0IgorLyoqCisgKiBYSU5DTFVERV9QQVJTRV9FTkNPRElORzoKKyAqCisgKiBNYWNybyBkZWZpbmluZyAiZW5jb2RpbmciCisgKi8KKyNkZWZpbmUgWElOQ0xVREVfUEFSU0VfRU5DT0RJTkcgKGNvbnN0IHhtbENoYXIgKikgImVuY29kaW5nIgorLyoqCisgKiBYSU5DTFVERV9QQVJTRV9YUE9JTlRFUjoKKyAqCisgKiBNYWNybyBkZWZpbmluZyAieHBvaW50ZXIiCisgKi8KKyNkZWZpbmUgWElOQ0xVREVfUEFSU0VfWFBPSU5URVIgKGNvbnN0IHhtbENoYXIgKikgInhwb2ludGVyIgorCit0eXBlZGVmIHN0cnVjdCBfeG1sWEluY2x1ZGVDdHh0IHhtbFhJbmNsdWRlQ3R4dDsKK3R5cGVkZWYgeG1sWEluY2x1ZGVDdHh0ICp4bWxYSW5jbHVkZUN0eHRQdHI7CisKKy8qCisgKiBzdGFuZGFsb25lIHByb2Nlc3NpbmcKKyAqLworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCXhtbFhJbmNsdWRlUHJvY2VzcwkoeG1sRG9jUHRyIGRvYyk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJeG1sWEluY2x1ZGVQcm9jZXNzRmxhZ3MJKHhtbERvY1B0ciBkb2MsCisJCQkJCSBpbnQgZmxhZ3MpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCXhtbFhJbmNsdWRlUHJvY2Vzc0ZsYWdzRGF0YSh4bWxEb2NQdHIgZG9jLAorCQkJCQkgaW50IGZsYWdzLAorCQkJCQkgdm9pZCAqZGF0YSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKyAgICAgICAgICAgICAgICB4bWxYSW5jbHVkZVByb2Nlc3NUcmVlRmxhZ3NEYXRhKHhtbE5vZGVQdHIgdHJlZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGZsYWdzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpkYXRhKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl4bWxYSW5jbHVkZVByb2Nlc3NUcmVlCSh4bWxOb2RlUHRyIHRyZWUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCXhtbFhJbmNsdWRlUHJvY2Vzc1RyZWVGbGFncyh4bWxOb2RlUHRyIHRyZWUsCisJCQkJCSBpbnQgZmxhZ3MpOworLyoKKyAqIGNvbnRleHR1YWwgcHJvY2Vzc2luZworICovCitYTUxQVUJGVU4geG1sWEluY2x1ZGVDdHh0UHRyIFhNTENBTEwKKwkJeG1sWEluY2x1ZGVOZXdDb250ZXh0CSh4bWxEb2NQdHIgZG9jKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl4bWxYSW5jbHVkZVNldEZsYWdzCSh4bWxYSW5jbHVkZUN0eHRQdHIgY3R4dCwKKwkJCQkJIGludCBmbGFncyk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCXhtbFhJbmNsdWRlRnJlZUNvbnRleHQJKHhtbFhJbmNsdWRlQ3R4dFB0ciBjdHh0KTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl4bWxYSW5jbHVkZVByb2Nlc3NOb2RlCSh4bWxYSW5jbHVkZUN0eHRQdHIgY3R4dCwKKwkJCQkJIHhtbE5vZGVQdHIgdHJlZSk7CisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorCisjZW5kaWYgLyogTElCWE1MX1hJTkNMVURFX0VOQUJMRUQgKi8KKworI2VuZGlmIC8qIF9fWE1MX1hJTkNMVURFX0hfXyAqLwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9pbmNsdWRlL2xpYnhtbC94bGluay5oIGIvbGlieG1sMi9pbmNsdWRlL2xpYnhtbC94bGluay5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEyMDlhOTkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2luY2x1ZGUvbGlieG1sL3hsaW5rLmgKQEAgLTAsMCArMSwxODkgQEAKKy8qCisgKiBTdW1tYXJ5OiB1bmZpbmlzaGVkIFhMaW5rIGRldGVjdGlvbiBtb2R1bGUKKyAqIERlc2NyaXB0aW9uOiB1bmZpbmlzaGVkIFhMaW5rIGRldGVjdGlvbiBtb2R1bGUKKyAqCisgKiBDb3B5OiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisgKgorICogQXV0aG9yOiBEYW5pZWwgVmVpbGxhcmQKKyAqLworCisjaWZuZGVmIF9fWE1MX1hMSU5LX0hfXworI2RlZmluZSBfX1hNTF9YTElOS19IX18KKworI2luY2x1ZGUgPGxpYnhtbC94bWx2ZXJzaW9uLmg+CisjaW5jbHVkZSA8bGlieG1sL3RyZWUuaD4KKworI2lmZGVmIExJQlhNTF9YUFRSX0VOQUJMRUQKKworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCisvKioKKyAqIFZhcmlvdXMgZGVmaW5lcyBmb3IgdGhlIHZhcmlvdXMgTGluayBwcm9wZXJ0aWVzLgorICoKKyAqIE5PVEU6IHRoZSBsaW5rIGRldGVjdGlvbiBsYXllciB3aWxsIHRyeSB0byByZXNvbHZlIFFOYW1lIGV4cGFuc2lvbgorICogICAgICAgb2YgbmFtZXNwYWNlcy4gSWYgImZvbyIgaXMgdGhlIHByZWZpeCBmb3IgImh0dHA6Ly9mb28uY29tLyIKKyAqICAgICAgIHRoZW4gdGhlIGxpbmsgZGV0ZWN0aW9uIGxheWVyIHdpbGwgZXhwYW5kIHJvbGU9ImZvbzpteXJvbGUiCisgKiAgICAgICB0byAiaHR0cDovL2Zvby5jb20vOm15cm9sZSIuCisgKiBOT1RFOiB0aGUgbGluayBkZXRlY3Rpb24gbGF5ZXIgd2lsbCBleHBhbmQgVVJJLVJlZmVuY2VzIGZvdW5kIG9uCisgKiAgICAgICBocmVmIGF0dHJpYnV0ZXMgYnkgdXNpbmcgdGhlIGJhc2UgbWVjaGFuaXNtIGlmIGZvdW5kLgorICovCit0eXBlZGVmIHhtbENoYXIgKnhsaW5rSFJlZjsKK3R5cGVkZWYgeG1sQ2hhciAqeGxpbmtSb2xlOwordHlwZWRlZiB4bWxDaGFyICp4bGlua1RpdGxlOworCit0eXBlZGVmIGVudW0geworICAgIFhMSU5LX1RZUEVfTk9ORSA9IDAsCisgICAgWExJTktfVFlQRV9TSU1QTEUsCisgICAgWExJTktfVFlQRV9FWFRFTkRFRCwKKyAgICBYTElOS19UWVBFX0VYVEVOREVEX1NFVAorfSB4bGlua1R5cGU7CisKK3R5cGVkZWYgZW51bSB7CisgICAgWExJTktfU0hPV19OT05FID0gMCwKKyAgICBYTElOS19TSE9XX05FVywKKyAgICBYTElOS19TSE9XX0VNQkVELAorICAgIFhMSU5LX1NIT1dfUkVQTEFDRQorfSB4bGlua1Nob3c7CisKK3R5cGVkZWYgZW51bSB7CisgICAgWExJTktfQUNUVUFURV9OT05FID0gMCwKKyAgICBYTElOS19BQ1RVQVRFX0FVVE8sCisgICAgWExJTktfQUNUVUFURV9PTlJFUVVFU1QKK30geGxpbmtBY3R1YXRlOworCisvKioKKyAqIHhsaW5rTm9kZURldGVjdEZ1bmM6CisgKiBAY3R4OiAgdXNlciBkYXRhIHBvaW50ZXIKKyAqIEBub2RlOiAgdGhlIG5vZGUgdG8gY2hlY2sKKyAqCisgKiBUaGlzIGlzIHRoZSBwcm90b3R5cGUgZm9yIHRoZSBsaW5rIGRldGVjdGlvbiByb3V0aW5lLgorICogSXQgY2FsbHMgdGhlIGRlZmF1bHQgbGluayBkZXRlY3Rpb24gY2FsbGJhY2tzIHVwb24gbGluayBkZXRlY3Rpb24uCisgKi8KK3R5cGVkZWYgdm9pZCAoKnhsaW5rTm9kZURldGVjdEZ1bmMpICh2b2lkICpjdHgsIHhtbE5vZGVQdHIgbm9kZSk7CisKKy8qCisgKiBUaGUgbGluayBkZXRlY3Rpb24gbW9kdWxlIGludGVyYWN0IHdpdGggdGhlIHVwcGVyIGxheWVycyB1c2luZworICogYSBzZXQgb2YgY2FsbGJhY2sgcmVnaXN0ZXJlZCBhdCBwYXJzaW5nIHRpbWUuCisgKi8KKworLyoqCisgKiB4bGlua1NpbXBsZUxpbmtGdW5rOgorICogQGN0eDogIHVzZXIgZGF0YSBwb2ludGVyCisgKiBAbm9kZTogIHRoZSBub2RlIGNhcnJ5aW5nIHRoZSBsaW5rCisgKiBAaHJlZjogIHRoZSB0YXJnZXQgb2YgdGhlIGxpbmsKKyAqIEByb2xlOiAgdGhlIHJvbGUgc3RyaW5nCisgKiBAdGl0bGU6ICB0aGUgbGluayB0aXRsZQorICoKKyAqIFRoaXMgaXMgdGhlIHByb3RvdHlwZSBmb3IgYSBzaW1wbGUgbGluayBkZXRlY3Rpb24gY2FsbGJhY2suCisgKi8KK3R5cGVkZWYgdm9pZAorKCp4bGlua1NpbXBsZUxpbmtGdW5rKQkodm9pZCAqY3R4LAorCQkJIHhtbE5vZGVQdHIgbm9kZSwKKwkJCSBjb25zdCB4bGlua0hSZWYgaHJlZiwKKwkJCSBjb25zdCB4bGlua1JvbGUgcm9sZSwKKwkJCSBjb25zdCB4bGlua1RpdGxlIHRpdGxlKTsKKworLyoqCisgKiB4bGlua0V4dGVuZGVkTGlua0Z1bms6CisgKiBAY3R4OiAgdXNlciBkYXRhIHBvaW50ZXIKKyAqIEBub2RlOiAgdGhlIG5vZGUgY2FycnlpbmcgdGhlIGxpbmsKKyAqIEBuYkxvY2F0b3JzOiB0aGUgbnVtYmVyIG9mIGxvY2F0b3JzIGRldGVjdGVkIG9uIHRoZSBsaW5rCisgKiBAaHJlZnM6ICBwb2ludGVyIHRvIHRoZSBhcnJheSBvZiBsb2NhdG9yIGhyZWZzCisgKiBAcm9sZXM6ICBwb2ludGVyIHRvIHRoZSBhcnJheSBvZiBsb2NhdG9yIHJvbGVzCisgKiBAbmJBcmNzOiB0aGUgbnVtYmVyIG9mIGFyY3MgZGV0ZWN0ZWQgb24gdGhlIGxpbmsKKyAqIEBmcm9tOiAgcG9pbnRlciB0byB0aGUgYXJyYXkgb2Ygc291cmNlIHJvbGVzIGZvdW5kIG9uIHRoZSBhcmNzCisgKiBAdG86ICBwb2ludGVyIHRvIHRoZSBhcnJheSBvZiB0YXJnZXQgcm9sZXMgZm91bmQgb24gdGhlIGFyY3MKKyAqIEBzaG93OiAgYXJyYXkgb2YgdmFsdWVzIGZvciB0aGUgc2hvdyBhdHRyaWJ1dGVzIGZvdW5kIG9uIHRoZSBhcmNzCisgKiBAYWN0dWF0ZTogIGFycmF5IG9mIHZhbHVlcyBmb3IgdGhlIGFjdHVhdGUgYXR0cmlidXRlcyBmb3VuZCBvbiB0aGUgYXJjcworICogQG5iVGl0bGVzOiB0aGUgbnVtYmVyIG9mIHRpdGxlcyBkZXRlY3RlZCBvbiB0aGUgbGluaworICogQHRpdGxlOiAgYXJyYXkgb2YgdGl0bGVzIGRldGVjdGVkIG9uIHRoZSBsaW5rCisgKiBAbGFuZ3M6ICBhcnJheSBvZiB4bWw6bGFuZyB2YWx1ZXMgZm9yIHRoZSB0aXRsZXMKKyAqCisgKiBUaGlzIGlzIHRoZSBwcm90b3R5cGUgZm9yIGEgZXh0ZW5kZWQgbGluayBkZXRlY3Rpb24gY2FsbGJhY2suCisgKi8KK3R5cGVkZWYgdm9pZAorKCp4bGlua0V4dGVuZGVkTGlua0Z1bmspKHZvaWQgKmN0eCwKKwkJCSB4bWxOb2RlUHRyIG5vZGUsCisJCQkgaW50IG5iTG9jYXRvcnMsCisJCQkgY29uc3QgeGxpbmtIUmVmICpocmVmcywKKwkJCSBjb25zdCB4bGlua1JvbGUgKnJvbGVzLAorCQkJIGludCBuYkFyY3MsCisJCQkgY29uc3QgeGxpbmtSb2xlICpmcm9tLAorCQkJIGNvbnN0IHhsaW5rUm9sZSAqdG8sCisJCQkgeGxpbmtTaG93ICpzaG93LAorCQkJIHhsaW5rQWN0dWF0ZSAqYWN0dWF0ZSwKKwkJCSBpbnQgbmJUaXRsZXMsCisJCQkgY29uc3QgeGxpbmtUaXRsZSAqdGl0bGVzLAorCQkJIGNvbnN0IHhtbENoYXIgKipsYW5ncyk7CisKKy8qKgorICogeGxpbmtFeHRlbmRlZExpbmtTZXRGdW5rOgorICogQGN0eDogIHVzZXIgZGF0YSBwb2ludGVyCisgKiBAbm9kZTogIHRoZSBub2RlIGNhcnJ5aW5nIHRoZSBsaW5rCisgKiBAbmJMb2NhdG9yczogdGhlIG51bWJlciBvZiBsb2NhdG9ycyBkZXRlY3RlZCBvbiB0aGUgbGluaworICogQGhyZWZzOiAgcG9pbnRlciB0byB0aGUgYXJyYXkgb2YgbG9jYXRvciBocmVmcworICogQHJvbGVzOiAgcG9pbnRlciB0byB0aGUgYXJyYXkgb2YgbG9jYXRvciByb2xlcworICogQG5iVGl0bGVzOiB0aGUgbnVtYmVyIG9mIHRpdGxlcyBkZXRlY3RlZCBvbiB0aGUgbGluaworICogQHRpdGxlOiAgYXJyYXkgb2YgdGl0bGVzIGRldGVjdGVkIG9uIHRoZSBsaW5rCisgKiBAbGFuZ3M6ICBhcnJheSBvZiB4bWw6bGFuZyB2YWx1ZXMgZm9yIHRoZSB0aXRsZXMKKyAqCisgKiBUaGlzIGlzIHRoZSBwcm90b3R5cGUgZm9yIGEgZXh0ZW5kZWQgbGluayBzZXQgZGV0ZWN0aW9uIGNhbGxiYWNrLgorICovCit0eXBlZGVmIHZvaWQKKygqeGxpbmtFeHRlbmRlZExpbmtTZXRGdW5rKQkodm9pZCAqY3R4LAorCQkJCSB4bWxOb2RlUHRyIG5vZGUsCisJCQkJIGludCBuYkxvY2F0b3JzLAorCQkJCSBjb25zdCB4bGlua0hSZWYgKmhyZWZzLAorCQkJCSBjb25zdCB4bGlua1JvbGUgKnJvbGVzLAorCQkJCSBpbnQgbmJUaXRsZXMsCisJCQkJIGNvbnN0IHhsaW5rVGl0bGUgKnRpdGxlcywKKwkJCQkgY29uc3QgeG1sQ2hhciAqKmxhbmdzKTsKKworLyoqCisgKiBUaGlzIGlzIHRoZSBzdHJ1Y3R1cmUgY29udGFpbmluZyBhIHNldCBvZiBMaW5rcyBkZXRlY3Rpb24gY2FsbGJhY2tzLgorICoKKyAqIFRoZXJlIGlzIG5vIGRlZmF1bHQgeGxpbmsgY2FsbGJhY2tzLCBpZiBvbmUgd2FudCB0byBnZXQgbGluaworICogcmVjb2duaXRpb24gYWN0aXZhdGVkLCB0aG9zZSBjYWxsIGJhY2tzIG11c3QgYmUgcHJvdmlkZWQgYmVmb3JlIHBhcnNpbmcuCisgKi8KK3R5cGVkZWYgc3RydWN0IF94bGlua0hhbmRsZXIgeGxpbmtIYW5kbGVyOwordHlwZWRlZiB4bGlua0hhbmRsZXIgKnhsaW5rSGFuZGxlclB0cjsKK3N0cnVjdCBfeGxpbmtIYW5kbGVyIHsKKyAgICB4bGlua1NpbXBsZUxpbmtGdW5rIHNpbXBsZTsKKyAgICB4bGlua0V4dGVuZGVkTGlua0Z1bmsgZXh0ZW5kZWQ7CisgICAgeGxpbmtFeHRlbmRlZExpbmtTZXRGdW5rIHNldDsKK307CisKKy8qCisgKiBUaGUgZGVmYXVsdCBkZXRlY3Rpb24gcm91dGluZSwgY2FuIGJlIG92ZXJyaWRkZW4sIHRoZXkgY2FsbCB0aGUgZGVmYXVsdAorICogZGV0ZWN0aW9uIGNhbGxiYWNrcy4KKyAqLworCitYTUxQVUJGVU4geGxpbmtOb2RlRGV0ZWN0RnVuYyBYTUxDQUxMCisJCXhsaW5rR2V0RGVmYXVsdERldGVjdAkodm9pZCk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCXhsaW5rU2V0RGVmYXVsdERldGVjdAkoeGxpbmtOb2RlRGV0ZWN0RnVuYyBmdW5jKTsKKworLyoKKyAqIFJvdXRpbmVzIHRvIHNldC9nZXQgdGhlIGRlZmF1bHQgaGFuZGxlcnMuCisgKi8KK1hNTFBVQkZVTiB4bGlua0hhbmRsZXJQdHIgWE1MQ0FMTAorCQl4bGlua0dldERlZmF1bHRIYW5kbGVyCSh2b2lkKTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJeGxpbmtTZXREZWZhdWx0SGFuZGxlcgkoeGxpbmtIYW5kbGVyUHRyIGhhbmRsZXIpOworCisvKgorICogTGluayBkZXRlY3Rpb24gbW9kdWxlIGl0c2VsZi4KKyAqLworWE1MUFVCRlVOIHhsaW5rVHlwZSBYTUxDQUxMCisJCXhsaW5rSXNMaW5rCQkoeG1sRG9jUHRyIGRvYywKKwkJCQkJIHhtbE5vZGVQdHIgbm9kZSk7CisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCisKKyNlbmRpZiAvKiBMSUJYTUxfWFBUUl9FTkFCTEVEICovCisKKyNlbmRpZiAvKiBfX1hNTF9YTElOS19IX18gKi8KZGlmZiAtLWdpdCBhL2xpYnhtbDIvaW5jbHVkZS9saWJ4bWwveG1sSU8uaCBiL2xpYnhtbDIvaW5jbHVkZS9saWJ4bWwveG1sSU8uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZTQxNzQ0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9pbmNsdWRlL2xpYnhtbC94bWxJTy5oCkBAIC0wLDAgKzEsMzY2IEBACisvKgorICogU3VtbWFyeTogaW50ZXJmYWNlIGZvciB0aGUgSS9PIGludGVyZmFjZXMgdXNlZCBieSB0aGUgcGFyc2VyCisgKiBEZXNjcmlwdGlvbjogaW50ZXJmYWNlIGZvciB0aGUgSS9PIGludGVyZmFjZXMgdXNlZCBieSB0aGUgcGFyc2VyCisgKgorICogQ29weTogU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgorICoKKyAqIEF1dGhvcjogRGFuaWVsIFZlaWxsYXJkCisgKi8KKworI2lmbmRlZiBfX1hNTF9JT19IX18KKyNkZWZpbmUgX19YTUxfSU9fSF9fCisKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPGxpYnhtbC94bWx2ZXJzaW9uLmg+CisKKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7CisjZW5kaWYKKworLyoKKyAqIFRob3NlIGFyZSB0aGUgZnVuY3Rpb25zIGFuZCBkYXRhdHlwZXMgZm9yIHRoZSBwYXJzZXIgaW5wdXQKKyAqIEkvTyBzdHJ1Y3R1cmVzLgorICovCisKKy8qKgorICogeG1sSW5wdXRNYXRjaENhbGxiYWNrOgorICogQGZpbGVuYW1lOiB0aGUgZmlsZW5hbWUgb3IgVVJJCisgKgorICogQ2FsbGJhY2sgdXNlZCBpbiB0aGUgSS9PIElucHV0IEFQSSB0byBkZXRlY3QgaWYgdGhlIGN1cnJlbnQgaGFuZGxlcgorICogY2FuIHByb3ZpZGUgaW5wdXQgZm9uY3Rpb25uYWxpdGllcyBmb3IgdGhpcyByZXNvdXJjZS4KKyAqCisgKiBSZXR1cm5zIDEgaWYgeWVzIGFuZCAwIGlmIGFub3RoZXIgSW5wdXQgbW9kdWxlIHNob3VsZCBiZSB1c2VkCisgKi8KK3R5cGVkZWYgaW50IChYTUxDQUxMICp4bWxJbnB1dE1hdGNoQ2FsbGJhY2spIChjaGFyIGNvbnN0ICpmaWxlbmFtZSk7CisvKioKKyAqIHhtbElucHV0T3BlbkNhbGxiYWNrOgorICogQGZpbGVuYW1lOiB0aGUgZmlsZW5hbWUgb3IgVVJJCisgKgorICogQ2FsbGJhY2sgdXNlZCBpbiB0aGUgSS9PIElucHV0IEFQSSB0byBvcGVuIHRoZSByZXNvdXJjZQorICoKKyAqIFJldHVybnMgYW4gSW5wdXQgY29udGV4dCBvciBOVUxMIGluIGNhc2Ugb3IgZXJyb3IKKyAqLwordHlwZWRlZiB2b2lkICogKFhNTENBTEwgKnhtbElucHV0T3BlbkNhbGxiYWNrKSAoY2hhciBjb25zdCAqZmlsZW5hbWUpOworLyoqCisgKiB4bWxJbnB1dFJlYWRDYWxsYmFjazoKKyAqIEBjb250ZXh0OiAgYW4gSW5wdXQgY29udGV4dAorICogQGJ1ZmZlcjogIHRoZSBidWZmZXIgdG8gc3RvcmUgZGF0YSByZWFkCisgKiBAbGVuOiAgdGhlIGxlbmd0aCBvZiB0aGUgYnVmZmVyIGluIGJ5dGVzCisgKgorICogQ2FsbGJhY2sgdXNlZCBpbiB0aGUgSS9PIElucHV0IEFQSSB0byByZWFkIHRoZSByZXNvdXJjZQorICoKKyAqIFJldHVybnMgdGhlIG51bWJlciBvZiBieXRlcyByZWFkIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLwordHlwZWRlZiBpbnQgKFhNTENBTEwgKnhtbElucHV0UmVhZENhbGxiYWNrKSAodm9pZCAqIGNvbnRleHQsIGNoYXIgKiBidWZmZXIsIGludCBsZW4pOworLyoqCisgKiB4bWxJbnB1dENsb3NlQ2FsbGJhY2s6CisgKiBAY29udGV4dDogIGFuIElucHV0IGNvbnRleHQKKyAqCisgKiBDYWxsYmFjayB1c2VkIGluIHRoZSBJL08gSW5wdXQgQVBJIHRvIGNsb3NlIHRoZSByZXNvdXJjZQorICoKKyAqIFJldHVybnMgMCBvciAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3R5cGVkZWYgaW50IChYTUxDQUxMICp4bWxJbnB1dENsb3NlQ2FsbGJhY2spICh2b2lkICogY29udGV4dCk7CisKKyNpZmRlZiBMSUJYTUxfT1VUUFVUX0VOQUJMRUQKKy8qCisgKiBUaG9zZSBhcmUgdGhlIGZ1bmN0aW9ucyBhbmQgZGF0YXR5cGVzIGZvciB0aGUgbGlicmFyeSBvdXRwdXQKKyAqIEkvTyBzdHJ1Y3R1cmVzLgorICovCisKKy8qKgorICogeG1sT3V0cHV0TWF0Y2hDYWxsYmFjazoKKyAqIEBmaWxlbmFtZTogdGhlIGZpbGVuYW1lIG9yIFVSSQorICoKKyAqIENhbGxiYWNrIHVzZWQgaW4gdGhlIEkvTyBPdXRwdXQgQVBJIHRvIGRldGVjdCBpZiB0aGUgY3VycmVudCBoYW5kbGVyCisgKiBjYW4gcHJvdmlkZSBvdXRwdXQgZm9uY3Rpb25uYWxpdGllcyBmb3IgdGhpcyByZXNvdXJjZS4KKyAqCisgKiBSZXR1cm5zIDEgaWYgeWVzIGFuZCAwIGlmIGFub3RoZXIgT3V0cHV0IG1vZHVsZSBzaG91bGQgYmUgdXNlZAorICovCit0eXBlZGVmIGludCAoWE1MQ0FMTCAqeG1sT3V0cHV0TWF0Y2hDYWxsYmFjaykgKGNoYXIgY29uc3QgKmZpbGVuYW1lKTsKKy8qKgorICogeG1sT3V0cHV0T3BlbkNhbGxiYWNrOgorICogQGZpbGVuYW1lOiB0aGUgZmlsZW5hbWUgb3IgVVJJCisgKgorICogQ2FsbGJhY2sgdXNlZCBpbiB0aGUgSS9PIE91dHB1dCBBUEkgdG8gb3BlbiB0aGUgcmVzb3VyY2UKKyAqCisgKiBSZXR1cm5zIGFuIE91dHB1dCBjb250ZXh0IG9yIE5VTEwgaW4gY2FzZSBvciBlcnJvcgorICovCit0eXBlZGVmIHZvaWQgKiAoWE1MQ0FMTCAqeG1sT3V0cHV0T3BlbkNhbGxiYWNrKSAoY2hhciBjb25zdCAqZmlsZW5hbWUpOworLyoqCisgKiB4bWxPdXRwdXRXcml0ZUNhbGxiYWNrOgorICogQGNvbnRleHQ6ICBhbiBPdXRwdXQgY29udGV4dAorICogQGJ1ZmZlcjogIHRoZSBidWZmZXIgb2YgZGF0YSB0byB3cml0ZQorICogQGxlbjogIHRoZSBsZW5ndGggb2YgdGhlIGJ1ZmZlciBpbiBieXRlcworICoKKyAqIENhbGxiYWNrIHVzZWQgaW4gdGhlIEkvTyBPdXRwdXQgQVBJIHRvIHdyaXRlIHRvIHRoZSByZXNvdXJjZQorICoKKyAqIFJldHVybnMgdGhlIG51bWJlciBvZiBieXRlcyB3cml0dGVuIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLwordHlwZWRlZiBpbnQgKFhNTENBTEwgKnhtbE91dHB1dFdyaXRlQ2FsbGJhY2spICh2b2lkICogY29udGV4dCwgY29uc3QgY2hhciAqIGJ1ZmZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBsZW4pOworLyoqCisgKiB4bWxPdXRwdXRDbG9zZUNhbGxiYWNrOgorICogQGNvbnRleHQ6ICBhbiBPdXRwdXQgY29udGV4dAorICoKKyAqIENhbGxiYWNrIHVzZWQgaW4gdGhlIEkvTyBPdXRwdXQgQVBJIHRvIGNsb3NlIHRoZSByZXNvdXJjZQorICoKKyAqIFJldHVybnMgMCBvciAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3R5cGVkZWYgaW50IChYTUxDQUxMICp4bWxPdXRwdXRDbG9zZUNhbGxiYWNrKSAodm9pZCAqIGNvbnRleHQpOworI2VuZGlmIC8qIExJQlhNTF9PVVRQVVRfRU5BQkxFRCAqLworCisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorCisjaW5jbHVkZSA8bGlieG1sL2dsb2JhbHMuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvdHJlZS5oPgorI2luY2x1ZGUgPGxpYnhtbC9wYXJzZXIuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvZW5jb2RpbmcuaD4KKworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgorc3RydWN0IF94bWxQYXJzZXJJbnB1dEJ1ZmZlciB7CisgICAgdm9pZCogICAgICAgICAgICAgICAgICBjb250ZXh0OworICAgIHhtbElucHV0UmVhZENhbGxiYWNrICAgcmVhZGNhbGxiYWNrOworICAgIHhtbElucHV0Q2xvc2VDYWxsYmFjayAgY2xvc2VjYWxsYmFjazsKKworICAgIHhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIgZW5jb2RlcjsgLyogSTE4TiBjb252ZXJzaW9ucyB0byBVVEYtOCAqLworCisgICAgeG1sQnVmUHRyIGJ1ZmZlcjsgICAgLyogTG9jYWwgYnVmZmVyIGVuY29kZWQgaW4gVVRGLTggKi8KKyAgICB4bWxCdWZQdHIgcmF3OyAgICAgICAvKiBpZiBlbmNvZGVyICE9IE5VTEwgYnVmZmVyIGZvciByYXcgaW5wdXQgKi8KKyAgICBpbnQJY29tcHJlc3NlZDsJICAgIC8qIC0xPXVua25vd24sIDA9bm90IGNvbXByZXNzZWQsIDE9Y29tcHJlc3NlZCAqLworICAgIGludCBlcnJvcjsKKyAgICB1bnNpZ25lZCBsb25nIHJhd2NvbnN1bWVkOy8qIGFtb3VudCBjb25zdW1lZCBmcm9tIHJhdyAqLworfTsKKworCisjaWZkZWYgTElCWE1MX09VVFBVVF9FTkFCTEVECitzdHJ1Y3QgX3htbE91dHB1dEJ1ZmZlciB7CisgICAgdm9pZCogICAgICAgICAgICAgICAgICAgY29udGV4dDsKKyAgICB4bWxPdXRwdXRXcml0ZUNhbGxiYWNrICB3cml0ZWNhbGxiYWNrOworICAgIHhtbE91dHB1dENsb3NlQ2FsbGJhY2sgIGNsb3NlY2FsbGJhY2s7CisKKyAgICB4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyIGVuY29kZXI7IC8qIEkxOE4gY29udmVyc2lvbnMgdG8gVVRGLTggKi8KKworICAgIHhtbEJ1ZlB0ciBidWZmZXI7ICAgIC8qIExvY2FsIGJ1ZmZlciBlbmNvZGVkIGluIFVURi04IG9yIElTT0xhdGluICovCisgICAgeG1sQnVmUHRyIGNvbnY7ICAgICAgLyogaWYgZW5jb2RlciAhPSBOVUxMIGJ1ZmZlciBmb3Igb3V0cHV0ICovCisgICAgaW50IHdyaXR0ZW47ICAgICAgICAgICAgLyogdG90YWwgbnVtYmVyIG9mIGJ5dGUgd3JpdHRlbiAqLworICAgIGludCBlcnJvcjsKK307CisjZW5kaWYgLyogTElCWE1MX09VVFBVVF9FTkFCTEVEICovCisKKy8qCisgKiBJbnRlcmZhY2VzIGZvciBpbnB1dAorICovCitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJeG1sQ2xlYW51cElucHV0Q2FsbGJhY2tzCQkodm9pZCk7CisKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCXhtbFBvcElucHV0Q2FsbGJhY2tzCQkJKHZvaWQpOworCitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJeG1sUmVnaXN0ZXJEZWZhdWx0SW5wdXRDYWxsYmFja3MJKHZvaWQpOworWE1MUFVCRlVOIHhtbFBhcnNlcklucHV0QnVmZmVyUHRyIFhNTENBTEwKKwl4bWxBbGxvY1BhcnNlcklucHV0QnVmZmVyCQkoeG1sQ2hhckVuY29kaW5nIGVuYyk7CisKK1hNTFBVQkZVTiB4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciBYTUxDQUxMCisJeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZQkoY29uc3QgY2hhciAqVVJJLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbENoYXJFbmNvZGluZyBlbmMpOworWE1MUFVCRlVOIHhtbFBhcnNlcklucHV0QnVmZmVyUHRyIFhNTENBTEwKKwl4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGUJCShGSUxFICpmaWxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbENoYXJFbmNvZGluZyBlbmMpOworWE1MUFVCRlVOIHhtbFBhcnNlcklucHV0QnVmZmVyUHRyIFhNTENBTEwKKwl4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZkCQkoaW50IGZkLAorCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sQ2hhckVuY29kaW5nIGVuYyk7CitYTUxQVUJGVU4geG1sUGFyc2VySW5wdXRCdWZmZXJQdHIgWE1MQ0FMTAorCXhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlTWVtCQkoY29uc3QgY2hhciAqbWVtLCBpbnQgc2l6ZSwKKwkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbENoYXJFbmNvZGluZyBlbmMpOworWE1MUFVCRlVOIHhtbFBhcnNlcklucHV0QnVmZmVyUHRyIFhNTENBTEwKKwl4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZVN0YXRpYwkoY29uc3QgY2hhciAqbWVtLCBpbnQgc2l6ZSwKKwkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbENoYXJFbmNvZGluZyBlbmMpOworWE1MUFVCRlVOIHhtbFBhcnNlcklucHV0QnVmZmVyUHRyIFhNTENBTEwKKwl4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUlPCQkoeG1sSW5wdXRSZWFkQ2FsbGJhY2sgICBpb3JlYWQsCisJCQkJCQkgeG1sSW5wdXRDbG9zZUNhbGxiYWNrICBpb2Nsb3NlLAorCQkJCQkJIHZvaWQgKmlvY3R4LAorCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sQ2hhckVuY29kaW5nIGVuYyk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwl4bWxQYXJzZXJJbnB1dEJ1ZmZlclJlYWQJCSh4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciBpbiwKKwkJCQkJCSBpbnQgbGVuKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCXhtbFBhcnNlcklucHV0QnVmZmVyR3JvdwkJKHhtbFBhcnNlcklucHV0QnVmZmVyUHRyIGluLAorCQkJCQkJIGludCBsZW4pOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJeG1sUGFyc2VySW5wdXRCdWZmZXJQdXNoCQkoeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIgaW4sCisJCQkJCQkgaW50IGxlbiwKKwkJCQkJCSBjb25zdCBjaGFyICpidWYpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCXhtbEZyZWVQYXJzZXJJbnB1dEJ1ZmZlcgkJKHhtbFBhcnNlcklucHV0QnVmZmVyUHRyIGluKTsKK1hNTFBVQkZVTiBjaGFyICogWE1MQ0FMTAorCXhtbFBhcnNlckdldERpcmVjdG9yeQkJCShjb25zdCBjaGFyICpmaWxlbmFtZSk7CisKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCXhtbFJlZ2lzdGVySW5wdXRDYWxsYmFja3MJCSh4bWxJbnB1dE1hdGNoQ2FsbGJhY2sgbWF0Y2hGdW5jLAorCQkJCQkJIHhtbElucHV0T3BlbkNhbGxiYWNrIG9wZW5GdW5jLAorCQkJCQkJIHhtbElucHV0UmVhZENhbGxiYWNrIHJlYWRGdW5jLAorCQkJCQkJIHhtbElucHV0Q2xvc2VDYWxsYmFjayBjbG9zZUZ1bmMpOworCit4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cgorCV9feG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZShjb25zdCBjaGFyICpVUkksCisJCQkJCQl4bWxDaGFyRW5jb2RpbmcgZW5jKTsKKworI2lmZGVmIExJQlhNTF9PVVRQVVRfRU5BQkxFRAorLyoKKyAqIEludGVyZmFjZXMgZm9yIG91dHB1dAorICovCitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJeG1sQ2xlYW51cE91dHB1dENhbGxiYWNrcwkJKHZvaWQpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCXhtbFJlZ2lzdGVyRGVmYXVsdE91dHB1dENhbGxiYWNrcyh2b2lkKTsKK1hNTFBVQkZVTiB4bWxPdXRwdXRCdWZmZXJQdHIgWE1MQ0FMTAorCXhtbEFsbG9jT3V0cHV0QnVmZmVyCQkoeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0ciBlbmNvZGVyKTsKKworWE1MUFVCRlVOIHhtbE91dHB1dEJ1ZmZlclB0ciBYTUxDQUxMCisJeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWUJKGNvbnN0IGNoYXIgKlVSSSwKKwkJCQkJIHhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIgZW5jb2RlciwKKwkJCQkJIGludCBjb21wcmVzc2lvbik7CisKK1hNTFBVQkZVTiB4bWxPdXRwdXRCdWZmZXJQdHIgWE1MQ0FMTAorCXhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGUJKEZJTEUgKmZpbGUsCisJCQkJCSB4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyIGVuY29kZXIpOworCitYTUxQVUJGVU4geG1sT3V0cHV0QnVmZmVyUHRyIFhNTENBTEwKKwl4bWxPdXRwdXRCdWZmZXJDcmVhdGVCdWZmZXIJKHhtbEJ1ZmZlclB0ciBidWZmZXIsCisJCQkJCSB4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyIGVuY29kZXIpOworCitYTUxQVUJGVU4geG1sT3V0cHV0QnVmZmVyUHRyIFhNTENBTEwKKwl4bWxPdXRwdXRCdWZmZXJDcmVhdGVGZAkJKGludCBmZCwKKwkJCQkJIHhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIgZW5jb2Rlcik7CisKK1hNTFBVQkZVTiB4bWxPdXRwdXRCdWZmZXJQdHIgWE1MQ0FMTAorCXhtbE91dHB1dEJ1ZmZlckNyZWF0ZUlPCQkoeG1sT3V0cHV0V3JpdGVDYWxsYmFjayAgIGlvd3JpdGUsCisJCQkJCSB4bWxPdXRwdXRDbG9zZUNhbGxiYWNrICBpb2Nsb3NlLAorCQkJCQkgdm9pZCAqaW9jdHgsCisJCQkJCSB4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyIGVuY29kZXIpOworCisvKiBDb3VwbGUgb2YgQVBJcyB0byBnZXQgdGhlIG91dHB1dCB3aXRob3V0IGRpZ2dpbmcgaW50byB0aGUgYnVmZmVycyAqLworWE1MUFVCRlVOIGNvbnN0IHhtbENoYXIgKiBYTUxDQUxMCisgICAgICAgIHhtbE91dHB1dEJ1ZmZlckdldENvbnRlbnQgICAgICAgKHhtbE91dHB1dEJ1ZmZlclB0ciBvdXQpOworWE1MUFVCRlVOIHNpemVfdCBYTUxDQUxMCisgICAgICAgIHhtbE91dHB1dEJ1ZmZlckdldFNpemUgICAgICAgICAgKHhtbE91dHB1dEJ1ZmZlclB0ciBvdXQpOworCitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwl4bWxPdXRwdXRCdWZmZXJXcml0ZQkJKHhtbE91dHB1dEJ1ZmZlclB0ciBvdXQsCisJCQkJCSBpbnQgbGVuLAorCQkJCQkgY29uc3QgY2hhciAqYnVmKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCXhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nCSh4bWxPdXRwdXRCdWZmZXJQdHIgb3V0LAorCQkJCQkgY29uc3QgY2hhciAqc3RyKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCXhtbE91dHB1dEJ1ZmZlcldyaXRlRXNjYXBlCSh4bWxPdXRwdXRCdWZmZXJQdHIgb3V0LAorCQkJCQkgY29uc3QgeG1sQ2hhciAqc3RyLAorCQkJCQkgeG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYyBlc2NhcGluZyk7CisKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCXhtbE91dHB1dEJ1ZmZlckZsdXNoCQkoeG1sT3V0cHV0QnVmZmVyUHRyIG91dCk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwl4bWxPdXRwdXRCdWZmZXJDbG9zZQkJKHhtbE91dHB1dEJ1ZmZlclB0ciBvdXQpOworCitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwl4bWxSZWdpc3Rlck91dHB1dENhbGxiYWNrcwkoeG1sT3V0cHV0TWF0Y2hDYWxsYmFjayBtYXRjaEZ1bmMsCisJCQkJCSB4bWxPdXRwdXRPcGVuQ2FsbGJhY2sgb3BlbkZ1bmMsCisJCQkJCSB4bWxPdXRwdXRXcml0ZUNhbGxiYWNrIHdyaXRlRnVuYywKKwkJCQkJIHhtbE91dHB1dENsb3NlQ2FsbGJhY2sgY2xvc2VGdW5jKTsKKworeG1sT3V0cHV0QnVmZmVyUHRyCisJX194bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZShjb25zdCBjaGFyICpVUkksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyIGVuY29kZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgY29tcHJlc3Npb24pOworCisjaWZkZWYgTElCWE1MX0hUVFBfRU5BQkxFRAorLyogIFRoaXMgZnVuY3Rpb24gb25seSBleGlzdHMgaWYgSFRUUCBzdXBwb3J0IGJ1aWx0IGludG8gdGhlIGxpYnJhcnkgICovCitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJeG1sUmVnaXN0ZXJIVFRQUG9zdENhbGxiYWNrcwkodm9pZCApOworI2VuZGlmIC8qIExJQlhNTF9IVFRQX0VOQUJMRUQgKi8KKworI2VuZGlmIC8qIExJQlhNTF9PVVRQVVRfRU5BQkxFRCAqLworCitYTUxQVUJGVU4geG1sUGFyc2VySW5wdXRQdHIgWE1MQ0FMTAorCXhtbENoZWNrSFRUUElucHV0CQkoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0LAorCQkJCQkgeG1sUGFyc2VySW5wdXRQdHIgcmV0KTsKKworLyoKKyAqIEEgcHJlZGVmaW5lZCBlbnRpdHkgbG9hZGVyIGRpc2FibGluZyBuZXR3b3JrIGFjY2Vzc2VzCisgKi8KK1hNTFBVQkZVTiB4bWxQYXJzZXJJbnB1dFB0ciBYTUxDQUxMCisJeG1sTm9OZXRFeHRlcm5hbEVudGl0eUxvYWRlcgkoY29uc3QgY2hhciAqVVJMLAorCQkJCQkgY29uc3QgY2hhciAqSUQsCisJCQkJCSB4bWxQYXJzZXJDdHh0UHRyIGN0eHQpOworCisvKgorICogeG1sTm9ybWFsaXplV2luZG93c1BhdGggaXMgb2Jzb2xldGUsIGRvbid0IHVzZSBpdC4KKyAqIENoZWNrIHhtbENhbm9uaWNQYXRoIGluIHVyaS5oIGZvciBhIGJldHRlciBhbHRlcm5hdGl2ZS4KKyAqLworWE1MUFVCRlVOIHhtbENoYXIgKiBYTUxDQUxMCisJeG1sTm9ybWFsaXplV2luZG93c1BhdGgJCShjb25zdCB4bWxDaGFyICpwYXRoKTsKKworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJeG1sQ2hlY2tGaWxlbmFtZQkJKGNvbnN0IGNoYXIgKnBhdGgpOworLyoqCisgKiBEZWZhdWx0ICdmaWxlOi8vJyBwcm90b2NvbCBjYWxsYmFja3MKKyAqLworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJeG1sRmlsZU1hdGNoCQkJKGNvbnN0IGNoYXIgKmZpbGVuYW1lKTsKK1hNTFBVQkZVTiB2b2lkICogWE1MQ0FMTAorCXhtbEZpbGVPcGVuCQkJKGNvbnN0IGNoYXIgKmZpbGVuYW1lKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCXhtbEZpbGVSZWFkCQkJKHZvaWQgKiBjb250ZXh0LAorCQkJCQkgY2hhciAqIGJ1ZmZlciwKKwkJCQkJIGludCBsZW4pOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJeG1sRmlsZUNsb3NlCQkJKHZvaWQgKiBjb250ZXh0KTsKKworLyoqCisgKiBEZWZhdWx0ICdodHRwOi8vJyBwcm90b2NvbCBjYWxsYmFja3MKKyAqLworI2lmZGVmIExJQlhNTF9IVFRQX0VOQUJMRUQKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCXhtbElPSFRUUE1hdGNoCQkJKGNvbnN0IGNoYXIgKmZpbGVuYW1lKTsKK1hNTFBVQkZVTiB2b2lkICogWE1MQ0FMTAorCXhtbElPSFRUUE9wZW4JCQkoY29uc3QgY2hhciAqZmlsZW5hbWUpOworI2lmZGVmIExJQlhNTF9PVVRQVVRfRU5BQkxFRAorWE1MUFVCRlVOIHZvaWQgKiBYTUxDQUxMCisJeG1sSU9IVFRQT3BlblcJCQkoY29uc3QgY2hhciAqIHBvc3RfdXJpLAorCQkJCQkgaW50ICAgY29tcHJlc3Npb24gKTsKKyNlbmRpZiAvKiBMSUJYTUxfT1VUUFVUX0VOQUJMRUQgKi8KK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCXhtbElPSFRUUFJlYWQJCQkodm9pZCAqIGNvbnRleHQsCisJCQkJCSBjaGFyICogYnVmZmVyLAorCQkJCQkgaW50IGxlbik7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwl4bWxJT0hUVFBDbG9zZQkJCSh2b2lkICogY29udGV4dCk7CisjZW5kaWYgLyogTElCWE1MX0hUVFBfRU5BQkxFRCAqLworCisvKioKKyAqIERlZmF1bHQgJ2Z0cDovLycgcHJvdG9jb2wgY2FsbGJhY2tzCisgKi8KKyNpZmRlZiBMSUJYTUxfRlRQX0VOQUJMRUQKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCXhtbElPRlRQTWF0Y2gJCQkoY29uc3QgY2hhciAqZmlsZW5hbWUpOworWE1MUFVCRlVOIHZvaWQgKiBYTUxDQUxMCisJeG1sSU9GVFBPcGVuCQkJKGNvbnN0IGNoYXIgKmZpbGVuYW1lKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCXhtbElPRlRQUmVhZAkJCSh2b2lkICogY29udGV4dCwKKwkJCQkJIGNoYXIgKiBidWZmZXIsCisJCQkJCSBpbnQgbGVuKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCXhtbElPRlRQQ2xvc2UJCQkodm9pZCAqIGNvbnRleHQpOworI2VuZGlmIC8qIExJQlhNTF9GVFBfRU5BQkxFRCAqLworCisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorCisjZW5kaWYgLyogX19YTUxfSU9fSF9fICovCmRpZmYgLS1naXQgYS9saWJ4bWwyL2luY2x1ZGUvbGlieG1sL3htbGF1dG9tYXRhLmggYi9saWJ4bWwyL2luY2x1ZGUvbGlieG1sL3htbGF1dG9tYXRhLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmYxYjEzMQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvaW5jbHVkZS9saWJ4bWwveG1sYXV0b21hdGEuaApAQCAtMCwwICsxLDE0NiBAQAorLyoKKyAqIFN1bW1hcnk6IEFQSSB0byBidWlsZCByZWdleHAgYXV0b21hdGEKKyAqIERlc2NyaXB0aW9uOiB0aGUgQVBJIHRvIGJ1aWxkIHJlZ2V4cCBhdXRvbWF0YQorICoKKyAqIENvcHk6IFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyAqCisgKiBBdXRob3I6IERhbmllbCBWZWlsbGFyZAorICovCisKKyNpZm5kZWYgX19YTUxfQVVUT01BVEFfSF9fCisjZGVmaW5lIF9fWE1MX0FVVE9NQVRBX0hfXworCisjaW5jbHVkZSA8bGlieG1sL3htbHZlcnNpb24uaD4KKyNpbmNsdWRlIDxsaWJ4bWwvdHJlZS5oPgorCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECisjaWZkZWYgTElCWE1MX0FVVE9NQVRBX0VOQUJMRUQKKyNpbmNsdWRlIDxsaWJ4bWwveG1scmVnZXhwLmg+CisKKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7CisjZW5kaWYKKworLyoqCisgKiB4bWxBdXRvbWF0YVB0cjoKKyAqCisgKiBBIGxpYnhtbCBhdXRvbWF0YSBkZXNjcmlwdGlvbiwgSXQgY2FuIGJlIGNvbXBpbGVkIGludG8gYSByZWdleHAKKyAqLwordHlwZWRlZiBzdHJ1Y3QgX3htbEF1dG9tYXRhIHhtbEF1dG9tYXRhOwordHlwZWRlZiB4bWxBdXRvbWF0YSAqeG1sQXV0b21hdGFQdHI7CisKKy8qKgorICogeG1sQXV0b21hdGFTdGF0ZVB0cjoKKyAqCisgKiBBIHN0YXRlIGludCB0aGUgYXV0b21hdGEgZGVzY3JpcHRpb24sCisgKi8KK3R5cGVkZWYgc3RydWN0IF94bWxBdXRvbWF0YVN0YXRlIHhtbEF1dG9tYXRhU3RhdGU7Cit0eXBlZGVmIHhtbEF1dG9tYXRhU3RhdGUgKnhtbEF1dG9tYXRhU3RhdGVQdHI7CisKKy8qCisgKiBCdWlsZGluZyBBUEkKKyAqLworWE1MUFVCRlVOIHhtbEF1dG9tYXRhUHRyIFhNTENBTEwKKwkJICAgIHhtbE5ld0F1dG9tYXRhCQkodm9pZCk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCSAgICB4bWxGcmVlQXV0b21hdGEJCSh4bWxBdXRvbWF0YVB0ciBhbSk7CisKK1hNTFBVQkZVTiB4bWxBdXRvbWF0YVN0YXRlUHRyIFhNTENBTEwKKwkJICAgIHhtbEF1dG9tYXRhR2V0SW5pdFN0YXRlCSh4bWxBdXRvbWF0YVB0ciBhbSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJICAgIHhtbEF1dG9tYXRhU2V0RmluYWxTdGF0ZQkoeG1sQXV0b21hdGFQdHIgYW0sCisJCQkJCQkgeG1sQXV0b21hdGFTdGF0ZVB0ciBzdGF0ZSk7CitYTUxQVUJGVU4geG1sQXV0b21hdGFTdGF0ZVB0ciBYTUxDQUxMCisJCSAgICB4bWxBdXRvbWF0YU5ld1N0YXRlCQkoeG1sQXV0b21hdGFQdHIgYW0pOworWE1MUFVCRlVOIHhtbEF1dG9tYXRhU3RhdGVQdHIgWE1MQ0FMTAorCQkgICAgeG1sQXV0b21hdGFOZXdUcmFuc2l0aW9uCSh4bWxBdXRvbWF0YVB0ciBhbSwKKwkJCQkJCSB4bWxBdXRvbWF0YVN0YXRlUHRyIGZyb20sCisJCQkJCQkgeG1sQXV0b21hdGFTdGF0ZVB0ciB0bywKKwkJCQkJCSBjb25zdCB4bWxDaGFyICp0b2tlbiwKKwkJCQkJCSB2b2lkICpkYXRhKTsKK1hNTFBVQkZVTiB4bWxBdXRvbWF0YVN0YXRlUHRyIFhNTENBTEwKKwkJICAgIHhtbEF1dG9tYXRhTmV3VHJhbnNpdGlvbjIJKHhtbEF1dG9tYXRhUHRyIGFtLAorCQkJCQkJIHhtbEF1dG9tYXRhU3RhdGVQdHIgZnJvbSwKKwkJCQkJCSB4bWxBdXRvbWF0YVN0YXRlUHRyIHRvLAorCQkJCQkJIGNvbnN0IHhtbENoYXIgKnRva2VuLAorCQkJCQkJIGNvbnN0IHhtbENoYXIgKnRva2VuMiwKKwkJCQkJCSB2b2lkICpkYXRhKTsKK1hNTFBVQkZVTiB4bWxBdXRvbWF0YVN0YXRlUHRyIFhNTENBTEwKKyAgICAgICAgICAgICAgICAgICAgeG1sQXV0b21hdGFOZXdOZWdUcmFucwkoeG1sQXV0b21hdGFQdHIgYW0sCisJCQkJCQkgeG1sQXV0b21hdGFTdGF0ZVB0ciBmcm9tLAorCQkJCQkJIHhtbEF1dG9tYXRhU3RhdGVQdHIgdG8sCisJCQkJCQkgY29uc3QgeG1sQ2hhciAqdG9rZW4sCisJCQkJCQkgY29uc3QgeG1sQ2hhciAqdG9rZW4yLAorCQkJCQkJIHZvaWQgKmRhdGEpOworCitYTUxQVUJGVU4geG1sQXV0b21hdGFTdGF0ZVB0ciBYTUxDQUxMCisJCSAgICB4bWxBdXRvbWF0YU5ld0NvdW50VHJhbnMJKHhtbEF1dG9tYXRhUHRyIGFtLAorCQkJCQkJIHhtbEF1dG9tYXRhU3RhdGVQdHIgZnJvbSwKKwkJCQkJCSB4bWxBdXRvbWF0YVN0YXRlUHRyIHRvLAorCQkJCQkJIGNvbnN0IHhtbENoYXIgKnRva2VuLAorCQkJCQkJIGludCBtaW4sCisJCQkJCQkgaW50IG1heCwKKwkJCQkJCSB2b2lkICpkYXRhKTsKK1hNTFBVQkZVTiB4bWxBdXRvbWF0YVN0YXRlUHRyIFhNTENBTEwKKwkJICAgIHhtbEF1dG9tYXRhTmV3Q291bnRUcmFuczIJKHhtbEF1dG9tYXRhUHRyIGFtLAorCQkJCQkJIHhtbEF1dG9tYXRhU3RhdGVQdHIgZnJvbSwKKwkJCQkJCSB4bWxBdXRvbWF0YVN0YXRlUHRyIHRvLAorCQkJCQkJIGNvbnN0IHhtbENoYXIgKnRva2VuLAorCQkJCQkJIGNvbnN0IHhtbENoYXIgKnRva2VuMiwKKwkJCQkJCSBpbnQgbWluLAorCQkJCQkJIGludCBtYXgsCisJCQkJCQkgdm9pZCAqZGF0YSk7CitYTUxQVUJGVU4geG1sQXV0b21hdGFTdGF0ZVB0ciBYTUxDQUxMCisJCSAgICB4bWxBdXRvbWF0YU5ld09uY2VUcmFucwkoeG1sQXV0b21hdGFQdHIgYW0sCisJCQkJCQkgeG1sQXV0b21hdGFTdGF0ZVB0ciBmcm9tLAorCQkJCQkJIHhtbEF1dG9tYXRhU3RhdGVQdHIgdG8sCisJCQkJCQkgY29uc3QgeG1sQ2hhciAqdG9rZW4sCisJCQkJCQkgaW50IG1pbiwKKwkJCQkJCSBpbnQgbWF4LAorCQkJCQkJIHZvaWQgKmRhdGEpOworWE1MUFVCRlVOIHhtbEF1dG9tYXRhU3RhdGVQdHIgWE1MQ0FMTAorCQkgICAgeG1sQXV0b21hdGFOZXdPbmNlVHJhbnMyCSh4bWxBdXRvbWF0YVB0ciBhbSwKKwkJCQkJCSB4bWxBdXRvbWF0YVN0YXRlUHRyIGZyb20sCisJCQkJCQkgeG1sQXV0b21hdGFTdGF0ZVB0ciB0bywKKwkJCQkJCSBjb25zdCB4bWxDaGFyICp0b2tlbiwKKwkJCQkJCSBjb25zdCB4bWxDaGFyICp0b2tlbjIsCisJCQkJCQkgaW50IG1pbiwKKwkJCQkJCSBpbnQgbWF4LAorCQkJCQkJIHZvaWQgKmRhdGEpOworWE1MUFVCRlVOIHhtbEF1dG9tYXRhU3RhdGVQdHIgWE1MQ0FMTAorCQkgICAgeG1sQXV0b21hdGFOZXdBbGxUcmFucwkoeG1sQXV0b21hdGFQdHIgYW0sCisJCQkJCQkgeG1sQXV0b21hdGFTdGF0ZVB0ciBmcm9tLAorCQkJCQkJIHhtbEF1dG9tYXRhU3RhdGVQdHIgdG8sCisJCQkJCQkgaW50IGxheCk7CitYTUxQVUJGVU4geG1sQXV0b21hdGFTdGF0ZVB0ciBYTUxDQUxMCisJCSAgICB4bWxBdXRvbWF0YU5ld0Vwc2lsb24JKHhtbEF1dG9tYXRhUHRyIGFtLAorCQkJCQkJIHhtbEF1dG9tYXRhU3RhdGVQdHIgZnJvbSwKKwkJCQkJCSB4bWxBdXRvbWF0YVN0YXRlUHRyIHRvKTsKK1hNTFBVQkZVTiB4bWxBdXRvbWF0YVN0YXRlUHRyIFhNTENBTEwKKwkJICAgIHhtbEF1dG9tYXRhTmV3Q291bnRlZFRyYW5zCSh4bWxBdXRvbWF0YVB0ciBhbSwKKwkJCQkJCSB4bWxBdXRvbWF0YVN0YXRlUHRyIGZyb20sCisJCQkJCQkgeG1sQXV0b21hdGFTdGF0ZVB0ciB0bywKKwkJCQkJCSBpbnQgY291bnRlcik7CitYTUxQVUJGVU4geG1sQXV0b21hdGFTdGF0ZVB0ciBYTUxDQUxMCisJCSAgICB4bWxBdXRvbWF0YU5ld0NvdW50ZXJUcmFucwkoeG1sQXV0b21hdGFQdHIgYW0sCisJCQkJCQkgeG1sQXV0b21hdGFTdGF0ZVB0ciBmcm9tLAorCQkJCQkJIHhtbEF1dG9tYXRhU3RhdGVQdHIgdG8sCisJCQkJCQkgaW50IGNvdW50ZXIpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCSAgICB4bWxBdXRvbWF0YU5ld0NvdW50ZXIJKHhtbEF1dG9tYXRhUHRyIGFtLAorCQkJCQkJIGludCBtaW4sCisJCQkJCQkgaW50IG1heCk7CisKK1hNTFBVQkZVTiB4bWxSZWdleHBQdHIgWE1MQ0FMTAorCQkgICAgeG1sQXV0b21hdGFDb21waWxlCQkoeG1sQXV0b21hdGFQdHIgYW0pOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCSAgICB4bWxBdXRvbWF0YUlzRGV0ZXJtaW5pc3QJKHhtbEF1dG9tYXRhUHRyIGFtKTsKKworI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKworI2VuZGlmIC8qIExJQlhNTF9BVVRPTUFUQV9FTkFCTEVEICovCisjZW5kaWYgLyogTElCWE1MX1JFR0VYUF9FTkFCTEVEICovCisKKyNlbmRpZiAvKiBfX1hNTF9BVVRPTUFUQV9IX18gKi8KZGlmZiAtLWdpdCBhL2xpYnhtbDIvaW5jbHVkZS9saWJ4bWwveG1sZXJyb3IuaCBiL2xpYnhtbDIvaW5jbHVkZS9saWJ4bWwveG1sZXJyb3IuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40M2U2OGNhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9pbmNsdWRlL2xpYnhtbC94bWxlcnJvci5oCkBAIC0wLDAgKzEsOTQ1IEBACisvKgorICogU3VtbWFyeTogZXJyb3IgaGFuZGxpbmcKKyAqIERlc2NyaXB0aW9uOiB0aGUgQVBJIHVzZWQgdG8gcmVwb3J0IGVycm9ycworICoKKyAqIENvcHk6IFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyAqCisgKiBBdXRob3I6IERhbmllbCBWZWlsbGFyZAorICovCisKKyNpbmNsdWRlIDxsaWJ4bWwvcGFyc2VyLmg+CisKKyNpZm5kZWYgX19YTUxfRVJST1JfSF9fCisjZGVmaW5lIF9fWE1MX0VSUk9SX0hfXworCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCisKKy8qKgorICogeG1sRXJyb3JMZXZlbDoKKyAqCisgKiBJbmRpY2F0ZXMgdGhlIGxldmVsIG9mIGFuIGVycm9yCisgKi8KK3R5cGVkZWYgZW51bSB7CisgICAgWE1MX0VSUl9OT05FID0gMCwKKyAgICBYTUxfRVJSX1dBUk5JTkcgPSAxLAkvKiBBIHNpbXBsZSB3YXJuaW5nICovCisgICAgWE1MX0VSUl9FUlJPUiA9IDIsCQkvKiBBIHJlY292ZXJhYmxlIGVycm9yICovCisgICAgWE1MX0VSUl9GQVRBTCA9IDMJCS8qIEEgZmF0YWwgZXJyb3IgKi8KK30geG1sRXJyb3JMZXZlbDsKKworLyoqCisgKiB4bWxFcnJvckRvbWFpbjoKKyAqCisgKiBJbmRpY2F0ZXMgd2hlcmUgYW4gZXJyb3IgbWF5IGhhdmUgY29tZSBmcm9tCisgKi8KK3R5cGVkZWYgZW51bSB7CisgICAgWE1MX0ZST01fTk9ORSA9IDAsCisgICAgWE1MX0ZST01fUEFSU0VSLAkvKiBUaGUgWE1MIHBhcnNlciAqLworICAgIFhNTF9GUk9NX1RSRUUsCS8qIFRoZSB0cmVlIG1vZHVsZSAqLworICAgIFhNTF9GUk9NX05BTUVTUEFDRSwJLyogVGhlIFhNTCBOYW1lc3BhY2UgbW9kdWxlICovCisgICAgWE1MX0ZST01fRFRELAkvKiBUaGUgWE1MIERURCB2YWxpZGF0aW9uIHdpdGggcGFyc2VyIGNvbnRleHQqLworICAgIFhNTF9GUk9NX0hUTUwsCS8qIFRoZSBIVE1MIHBhcnNlciAqLworICAgIFhNTF9GUk9NX01FTU9SWSwJLyogVGhlIG1lbW9yeSBhbGxvY2F0b3IgKi8KKyAgICBYTUxfRlJPTV9PVVRQVVQsCS8qIFRoZSBzZXJpYWxpemF0aW9uIGNvZGUgKi8KKyAgICBYTUxfRlJPTV9JTywJLyogVGhlIElucHV0L091dHB1dCBzdGFjayAqLworICAgIFhNTF9GUk9NX0ZUUCwJLyogVGhlIEZUUCBtb2R1bGUgKi8KKyAgICBYTUxfRlJPTV9IVFRQLAkvKiBUaGUgSFRUUCBtb2R1bGUgKi8KKyAgICBYTUxfRlJPTV9YSU5DTFVERSwJLyogVGhlIFhJbmNsdWRlIHByb2Nlc3NpbmcgKi8KKyAgICBYTUxfRlJPTV9YUEFUSCwJLyogVGhlIFhQYXRoIG1vZHVsZSAqLworICAgIFhNTF9GUk9NX1hQT0lOVEVSLAkvKiBUaGUgWFBvaW50ZXIgbW9kdWxlICovCisgICAgWE1MX0ZST01fUkVHRVhQLAkvKiBUaGUgcmVndWxhciBleHByZXNzaW9ucyBtb2R1bGUgKi8KKyAgICBYTUxfRlJPTV9EQVRBVFlQRSwJLyogVGhlIFczQyBYTUwgU2NoZW1hcyBEYXRhdHlwZSBtb2R1bGUgKi8KKyAgICBYTUxfRlJPTV9TQ0hFTUFTUCwJLyogVGhlIFczQyBYTUwgU2NoZW1hcyBwYXJzZXIgbW9kdWxlICovCisgICAgWE1MX0ZST01fU0NIRU1BU1YsCS8qIFRoZSBXM0MgWE1MIFNjaGVtYXMgdmFsaWRhdGlvbiBtb2R1bGUgKi8KKyAgICBYTUxfRlJPTV9SRUxBWE5HUCwJLyogVGhlIFJlbGF4LU5HIHBhcnNlciBtb2R1bGUgKi8KKyAgICBYTUxfRlJPTV9SRUxBWE5HViwJLyogVGhlIFJlbGF4LU5HIHZhbGlkYXRvciBtb2R1bGUgKi8KKyAgICBYTUxfRlJPTV9DQVRBTE9HLAkvKiBUaGUgQ2F0YWxvZyBtb2R1bGUgKi8KKyAgICBYTUxfRlJPTV9DMTROLAkvKiBUaGUgQ2Fub25pY2FsaXphdGlvbiBtb2R1bGUgKi8KKyAgICBYTUxfRlJPTV9YU0xULAkvKiBUaGUgWFNMVCBlbmdpbmUgZnJvbSBsaWJ4c2x0ICovCisgICAgWE1MX0ZST01fVkFMSUQsCS8qIFRoZSBYTUwgRFREIHZhbGlkYXRpb24gd2l0aCB2YWxpZCBjb250ZXh0ICovCisgICAgWE1MX0ZST01fQ0hFQ0ssCS8qIFRoZSBlcnJvciBjaGVja2luZyBtb2R1bGUgKi8KKyAgICBYTUxfRlJPTV9XUklURVIsCS8qIFRoZSB4bWx3cml0ZXIgbW9kdWxlICovCisgICAgWE1MX0ZST01fTU9EVUxFLAkvKiBUaGUgZHluYW1pY2FsbHkgbG9hZGVkIG1vZHVsZSBtb2R1bGUqLworICAgIFhNTF9GUk9NX0kxOE4sCS8qIFRoZSBtb2R1bGUgaGFuZGxpbmcgY2hhcmFjdGVyIGNvbnZlcnNpb24gKi8KKyAgICBYTUxfRlJPTV9TQ0hFTUFUUk9OViwvKiBUaGUgU2NoZW1hdHJvbiB2YWxpZGF0b3IgbW9kdWxlICovCisgICAgWE1MX0ZST01fQlVGRkVSLCAgICAvKiBUaGUgYnVmZmVycyBtb2R1bGUgKi8KKyAgICBYTUxfRlJPTV9VUkkgICAgICAgIC8qIFRoZSBVUkkgbW9kdWxlICovCit9IHhtbEVycm9yRG9tYWluOworCisvKioKKyAqIHhtbEVycm9yOgorICoKKyAqIEFuIFhNTCBFcnJvciBpbnN0YW5jZS4KKyAqLworCit0eXBlZGVmIHN0cnVjdCBfeG1sRXJyb3IgeG1sRXJyb3I7Cit0eXBlZGVmIHhtbEVycm9yICp4bWxFcnJvclB0cjsKK3N0cnVjdCBfeG1sRXJyb3IgeworICAgIGludAkJZG9tYWluOwkvKiBXaGF0IHBhcnQgb2YgdGhlIGxpYnJhcnkgcmFpc2VkIHRoaXMgZXJyb3IgKi8KKyAgICBpbnQJCWNvZGU7CS8qIFRoZSBlcnJvciBjb2RlLCBlLmcuIGFuIHhtbFBhcnNlckVycm9yICovCisgICAgY2hhciAgICAgICAqbWVzc2FnZTsvKiBodW1hbi1yZWFkYWJsZSBpbmZvcm1hdGl2ZSBlcnJvciBtZXNzYWdlICovCisgICAgeG1sRXJyb3JMZXZlbCBsZXZlbDsvKiBob3cgY29uc2VxdWVudCBpcyB0aGUgZXJyb3IgKi8KKyAgICBjaGFyICAgICAgICpmaWxlOwkvKiB0aGUgZmlsZW5hbWUgKi8KKyAgICBpbnQJCWxpbmU7CS8qIHRoZSBsaW5lIG51bWJlciBpZiBhdmFpbGFibGUgKi8KKyAgICBjaGFyICAgICAgICpzdHIxOwkvKiBleHRyYSBzdHJpbmcgaW5mb3JtYXRpb24gKi8KKyAgICBjaGFyICAgICAgICpzdHIyOwkvKiBleHRyYSBzdHJpbmcgaW5mb3JtYXRpb24gKi8KKyAgICBjaGFyICAgICAgICpzdHIzOwkvKiBleHRyYSBzdHJpbmcgaW5mb3JtYXRpb24gKi8KKyAgICBpbnQJCWludDE7CS8qIGV4dHJhIG51bWJlciBpbmZvcm1hdGlvbiAqLworICAgIGludAkJaW50MjsJLyogZXJyb3IgY29sdW1uICMgb3IgMCBpZiBOL0EgKHRvZG86IHJlbmFtZSBmaWVsZCB3aGVuIHdlIHdvdWxkIGJyayBBQkkpICovCisgICAgdm9pZCAgICAgICAqY3R4dDsgICAvKiB0aGUgcGFyc2VyIGNvbnRleHQgaWYgYXZhaWxhYmxlICovCisgICAgdm9pZCAgICAgICAqbm9kZTsgICAvKiB0aGUgbm9kZSBpbiB0aGUgdHJlZSAqLworfTsKKworLyoqCisgKiB4bWxQYXJzZXJFcnJvcjoKKyAqCisgKiBUaGlzIGlzIGFuIGVycm9yIHRoYXQgdGhlIFhNTCAob3IgSFRNTCkgcGFyc2VyIGNhbiBnZW5lcmF0ZQorICovCit0eXBlZGVmIGVudW0geworICAgIFhNTF9FUlJfT0sgPSAwLAorICAgIFhNTF9FUlJfSU5URVJOQUxfRVJST1IsIC8qIDEgKi8KKyAgICBYTUxfRVJSX05PX01FTU9SWSwgLyogMiAqLworICAgIFhNTF9FUlJfRE9DVU1FTlRfU1RBUlQsIC8qIDMgKi8KKyAgICBYTUxfRVJSX0RPQ1VNRU5UX0VNUFRZLCAvKiA0ICovCisgICAgWE1MX0VSUl9ET0NVTUVOVF9FTkQsIC8qIDUgKi8KKyAgICBYTUxfRVJSX0lOVkFMSURfSEVYX0NIQVJSRUYsIC8qIDYgKi8KKyAgICBYTUxfRVJSX0lOVkFMSURfREVDX0NIQVJSRUYsIC8qIDcgKi8KKyAgICBYTUxfRVJSX0lOVkFMSURfQ0hBUlJFRiwgLyogOCAqLworICAgIFhNTF9FUlJfSU5WQUxJRF9DSEFSLCAvKiA5ICovCisgICAgWE1MX0VSUl9DSEFSUkVGX0FUX0VPRiwgLyogMTAgKi8KKyAgICBYTUxfRVJSX0NIQVJSRUZfSU5fUFJPTE9HLCAvKiAxMSAqLworICAgIFhNTF9FUlJfQ0hBUlJFRl9JTl9FUElMT0csIC8qIDEyICovCisgICAgWE1MX0VSUl9DSEFSUkVGX0lOX0RURCwgLyogMTMgKi8KKyAgICBYTUxfRVJSX0VOVElUWVJFRl9BVF9FT0YsIC8qIDE0ICovCisgICAgWE1MX0VSUl9FTlRJVFlSRUZfSU5fUFJPTE9HLCAvKiAxNSAqLworICAgIFhNTF9FUlJfRU5USVRZUkVGX0lOX0VQSUxPRywgLyogMTYgKi8KKyAgICBYTUxfRVJSX0VOVElUWVJFRl9JTl9EVEQsIC8qIDE3ICovCisgICAgWE1MX0VSUl9QRVJFRl9BVF9FT0YsIC8qIDE4ICovCisgICAgWE1MX0VSUl9QRVJFRl9JTl9QUk9MT0csIC8qIDE5ICovCisgICAgWE1MX0VSUl9QRVJFRl9JTl9FUElMT0csIC8qIDIwICovCisgICAgWE1MX0VSUl9QRVJFRl9JTl9JTlRfU1VCU0VULCAvKiAyMSAqLworICAgIFhNTF9FUlJfRU5USVRZUkVGX05PX05BTUUsIC8qIDIyICovCisgICAgWE1MX0VSUl9FTlRJVFlSRUZfU0VNSUNPTF9NSVNTSU5HLCAvKiAyMyAqLworICAgIFhNTF9FUlJfUEVSRUZfTk9fTkFNRSwgLyogMjQgKi8KKyAgICBYTUxfRVJSX1BFUkVGX1NFTUlDT0xfTUlTU0lORywgLyogMjUgKi8KKyAgICBYTUxfRVJSX1VOREVDTEFSRURfRU5USVRZLCAvKiAyNiAqLworICAgIFhNTF9XQVJfVU5ERUNMQVJFRF9FTlRJVFksIC8qIDI3ICovCisgICAgWE1MX0VSUl9VTlBBUlNFRF9FTlRJVFksIC8qIDI4ICovCisgICAgWE1MX0VSUl9FTlRJVFlfSVNfRVhURVJOQUwsIC8qIDI5ICovCisgICAgWE1MX0VSUl9FTlRJVFlfSVNfUEFSQU1FVEVSLCAvKiAzMCAqLworICAgIFhNTF9FUlJfVU5LTk9XTl9FTkNPRElORywgLyogMzEgKi8KKyAgICBYTUxfRVJSX1VOU1VQUE9SVEVEX0VOQ09ESU5HLCAvKiAzMiAqLworICAgIFhNTF9FUlJfU1RSSU5HX05PVF9TVEFSVEVELCAvKiAzMyAqLworICAgIFhNTF9FUlJfU1RSSU5HX05PVF9DTE9TRUQsIC8qIDM0ICovCisgICAgWE1MX0VSUl9OU19ERUNMX0VSUk9SLCAvKiAzNSAqLworICAgIFhNTF9FUlJfRU5USVRZX05PVF9TVEFSVEVELCAvKiAzNiAqLworICAgIFhNTF9FUlJfRU5USVRZX05PVF9GSU5JU0hFRCwgLyogMzcgKi8KKyAgICBYTUxfRVJSX0xUX0lOX0FUVFJJQlVURSwgLyogMzggKi8KKyAgICBYTUxfRVJSX0FUVFJJQlVURV9OT1RfU1RBUlRFRCwgLyogMzkgKi8KKyAgICBYTUxfRVJSX0FUVFJJQlVURV9OT1RfRklOSVNIRUQsIC8qIDQwICovCisgICAgWE1MX0VSUl9BVFRSSUJVVEVfV0lUSE9VVF9WQUxVRSwgLyogNDEgKi8KKyAgICBYTUxfRVJSX0FUVFJJQlVURV9SRURFRklORUQsIC8qIDQyICovCisgICAgWE1MX0VSUl9MSVRFUkFMX05PVF9TVEFSVEVELCAvKiA0MyAqLworICAgIFhNTF9FUlJfTElURVJBTF9OT1RfRklOSVNIRUQsIC8qIDQ0ICovCisgICAgWE1MX0VSUl9DT01NRU5UX05PVF9GSU5JU0hFRCwgLyogNDUgKi8KKyAgICBYTUxfRVJSX1BJX05PVF9TVEFSVEVELCAvKiA0NiAqLworICAgIFhNTF9FUlJfUElfTk9UX0ZJTklTSEVELCAvKiA0NyAqLworICAgIFhNTF9FUlJfTk9UQVRJT05fTk9UX1NUQVJURUQsIC8qIDQ4ICovCisgICAgWE1MX0VSUl9OT1RBVElPTl9OT1RfRklOSVNIRUQsIC8qIDQ5ICovCisgICAgWE1MX0VSUl9BVFRMSVNUX05PVF9TVEFSVEVELCAvKiA1MCAqLworICAgIFhNTF9FUlJfQVRUTElTVF9OT1RfRklOSVNIRUQsIC8qIDUxICovCisgICAgWE1MX0VSUl9NSVhFRF9OT1RfU1RBUlRFRCwgLyogNTIgKi8KKyAgICBYTUxfRVJSX01JWEVEX05PVF9GSU5JU0hFRCwgLyogNTMgKi8KKyAgICBYTUxfRVJSX0VMRU1DT05URU5UX05PVF9TVEFSVEVELCAvKiA1NCAqLworICAgIFhNTF9FUlJfRUxFTUNPTlRFTlRfTk9UX0ZJTklTSEVELCAvKiA1NSAqLworICAgIFhNTF9FUlJfWE1MREVDTF9OT1RfU1RBUlRFRCwgLyogNTYgKi8KKyAgICBYTUxfRVJSX1hNTERFQ0xfTk9UX0ZJTklTSEVELCAvKiA1NyAqLworICAgIFhNTF9FUlJfQ09ORFNFQ19OT1RfU1RBUlRFRCwgLyogNTggKi8KKyAgICBYTUxfRVJSX0NPTkRTRUNfTk9UX0ZJTklTSEVELCAvKiA1OSAqLworICAgIFhNTF9FUlJfRVhUX1NVQlNFVF9OT1RfRklOSVNIRUQsIC8qIDYwICovCisgICAgWE1MX0VSUl9ET0NUWVBFX05PVF9GSU5JU0hFRCwgLyogNjEgKi8KKyAgICBYTUxfRVJSX01JU1BMQUNFRF9DREFUQV9FTkQsIC8qIDYyICovCisgICAgWE1MX0VSUl9DREFUQV9OT1RfRklOSVNIRUQsIC8qIDYzICovCisgICAgWE1MX0VSUl9SRVNFUlZFRF9YTUxfTkFNRSwgLyogNjQgKi8KKyAgICBYTUxfRVJSX1NQQUNFX1JFUVVJUkVELCAvKiA2NSAqLworICAgIFhNTF9FUlJfU0VQQVJBVE9SX1JFUVVJUkVELCAvKiA2NiAqLworICAgIFhNTF9FUlJfTk1UT0tFTl9SRVFVSVJFRCwgLyogNjcgKi8KKyAgICBYTUxfRVJSX05BTUVfUkVRVUlSRUQsIC8qIDY4ICovCisgICAgWE1MX0VSUl9QQ0RBVEFfUkVRVUlSRUQsIC8qIDY5ICovCisgICAgWE1MX0VSUl9VUklfUkVRVUlSRUQsIC8qIDcwICovCisgICAgWE1MX0VSUl9QVUJJRF9SRVFVSVJFRCwgLyogNzEgKi8KKyAgICBYTUxfRVJSX0xUX1JFUVVJUkVELCAvKiA3MiAqLworICAgIFhNTF9FUlJfR1RfUkVRVUlSRUQsIC8qIDczICovCisgICAgWE1MX0VSUl9MVFNMQVNIX1JFUVVJUkVELCAvKiA3NCAqLworICAgIFhNTF9FUlJfRVFVQUxfUkVRVUlSRUQsIC8qIDc1ICovCisgICAgWE1MX0VSUl9UQUdfTkFNRV9NSVNNQVRDSCwgLyogNzYgKi8KKyAgICBYTUxfRVJSX1RBR19OT1RfRklOSVNIRUQsIC8qIDc3ICovCisgICAgWE1MX0VSUl9TVEFOREFMT05FX1ZBTFVFLCAvKiA3OCAqLworICAgIFhNTF9FUlJfRU5DT0RJTkdfTkFNRSwgLyogNzkgKi8KKyAgICBYTUxfRVJSX0hZUEhFTl9JTl9DT01NRU5ULCAvKiA4MCAqLworICAgIFhNTF9FUlJfSU5WQUxJRF9FTkNPRElORywgLyogODEgKi8KKyAgICBYTUxfRVJSX0VYVF9FTlRJVFlfU1RBTkRBTE9ORSwgLyogODIgKi8KKyAgICBYTUxfRVJSX0NPTkRTRUNfSU5WQUxJRCwgLyogODMgKi8KKyAgICBYTUxfRVJSX1ZBTFVFX1JFUVVJUkVELCAvKiA4NCAqLworICAgIFhNTF9FUlJfTk9UX1dFTExfQkFMQU5DRUQsIC8qIDg1ICovCisgICAgWE1MX0VSUl9FWFRSQV9DT05URU5ULCAvKiA4NiAqLworICAgIFhNTF9FUlJfRU5USVRZX0NIQVJfRVJST1IsIC8qIDg3ICovCisgICAgWE1MX0VSUl9FTlRJVFlfUEVfSU5URVJOQUwsIC8qIDg4ICovCisgICAgWE1MX0VSUl9FTlRJVFlfTE9PUCwgLyogODkgKi8KKyAgICBYTUxfRVJSX0VOVElUWV9CT1VOREFSWSwgLyogOTAgKi8KKyAgICBYTUxfRVJSX0lOVkFMSURfVVJJLCAvKiA5MSAqLworICAgIFhNTF9FUlJfVVJJX0ZSQUdNRU5ULCAvKiA5MiAqLworICAgIFhNTF9XQVJfQ0FUQUxPR19QSSwgLyogOTMgKi8KKyAgICBYTUxfRVJSX05PX0RURCwgLyogOTQgKi8KKyAgICBYTUxfRVJSX0NPTkRTRUNfSU5WQUxJRF9LRVlXT1JELCAvKiA5NSAqLworICAgIFhNTF9FUlJfVkVSU0lPTl9NSVNTSU5HLCAvKiA5NiAqLworICAgIFhNTF9XQVJfVU5LTk9XTl9WRVJTSU9OLCAvKiA5NyAqLworICAgIFhNTF9XQVJfTEFOR19WQUxVRSwgLyogOTggKi8KKyAgICBYTUxfV0FSX05TX1VSSSwgLyogOTkgKi8KKyAgICBYTUxfV0FSX05TX1VSSV9SRUxBVElWRSwgLyogMTAwICovCisgICAgWE1MX0VSUl9NSVNTSU5HX0VOQ09ESU5HLCAvKiAxMDEgKi8KKyAgICBYTUxfV0FSX1NQQUNFX1ZBTFVFLCAvKiAxMDIgKi8KKyAgICBYTUxfRVJSX05PVF9TVEFOREFMT05FLCAvKiAxMDMgKi8KKyAgICBYTUxfRVJSX0VOVElUWV9QUk9DRVNTSU5HLCAvKiAxMDQgKi8KKyAgICBYTUxfRVJSX05PVEFUSU9OX1BST0NFU1NJTkcsIC8qIDEwNSAqLworICAgIFhNTF9XQVJfTlNfQ09MVU1OLCAvKiAxMDYgKi8KKyAgICBYTUxfV0FSX0VOVElUWV9SRURFRklORUQsIC8qIDEwNyAqLworICAgIFhNTF9FUlJfVU5LTk9XTl9WRVJTSU9OLCAvKiAxMDggKi8KKyAgICBYTUxfRVJSX1ZFUlNJT05fTUlTTUFUQ0gsIC8qIDEwOSAqLworICAgIFhNTF9FUlJfTkFNRV9UT09fTE9ORywgLyogMTEwICovCisgICAgWE1MX0VSUl9VU0VSX1NUT1AsIC8qIDExMSAqLworICAgIFhNTF9OU19FUlJfWE1MX05BTUVTUEFDRSA9IDIwMCwKKyAgICBYTUxfTlNfRVJSX1VOREVGSU5FRF9OQU1FU1BBQ0UsIC8qIDIwMSAqLworICAgIFhNTF9OU19FUlJfUU5BTUUsIC8qIDIwMiAqLworICAgIFhNTF9OU19FUlJfQVRUUklCVVRFX1JFREVGSU5FRCwgLyogMjAzICovCisgICAgWE1MX05TX0VSUl9FTVBUWSwgLyogMjA0ICovCisgICAgWE1MX05TX0VSUl9DT0xPTiwgLyogMjA1ICovCisgICAgWE1MX0RURF9BVFRSSUJVVEVfREVGQVVMVCA9IDUwMCwKKyAgICBYTUxfRFREX0FUVFJJQlVURV9SRURFRklORUQsIC8qIDUwMSAqLworICAgIFhNTF9EVERfQVRUUklCVVRFX1ZBTFVFLCAvKiA1MDIgKi8KKyAgICBYTUxfRFREX0NPTlRFTlRfRVJST1IsIC8qIDUwMyAqLworICAgIFhNTF9EVERfQ09OVEVOVF9NT0RFTCwgLyogNTA0ICovCisgICAgWE1MX0RURF9DT05URU5UX05PVF9ERVRFUk1JTklTVCwgLyogNTA1ICovCisgICAgWE1MX0RURF9ESUZGRVJFTlRfUFJFRklYLCAvKiA1MDYgKi8KKyAgICBYTUxfRFREX0VMRU1fREVGQVVMVF9OQU1FU1BBQ0UsIC8qIDUwNyAqLworICAgIFhNTF9EVERfRUxFTV9OQU1FU1BBQ0UsIC8qIDUwOCAqLworICAgIFhNTF9EVERfRUxFTV9SRURFRklORUQsIC8qIDUwOSAqLworICAgIFhNTF9EVERfRU1QVFlfTk9UQVRJT04sIC8qIDUxMCAqLworICAgIFhNTF9EVERfRU5USVRZX1RZUEUsIC8qIDUxMSAqLworICAgIFhNTF9EVERfSURfRklYRUQsIC8qIDUxMiAqLworICAgIFhNTF9EVERfSURfUkVERUZJTkVELCAvKiA1MTMgKi8KKyAgICBYTUxfRFREX0lEX1NVQlNFVCwgLyogNTE0ICovCisgICAgWE1MX0RURF9JTlZBTElEX0NISUxELCAvKiA1MTUgKi8KKyAgICBYTUxfRFREX0lOVkFMSURfREVGQVVMVCwgLyogNTE2ICovCisgICAgWE1MX0RURF9MT0FEX0VSUk9SLCAvKiA1MTcgKi8KKyAgICBYTUxfRFREX01JU1NJTkdfQVRUUklCVVRFLCAvKiA1MTggKi8KKyAgICBYTUxfRFREX01JWEVEX0NPUlJVUFQsIC8qIDUxOSAqLworICAgIFhNTF9EVERfTVVMVElQTEVfSUQsIC8qIDUyMCAqLworICAgIFhNTF9EVERfTk9fRE9DLCAvKiA1MjEgKi8KKyAgICBYTUxfRFREX05PX0RURCwgLyogNTIyICovCisgICAgWE1MX0RURF9OT19FTEVNX05BTUUsIC8qIDUyMyAqLworICAgIFhNTF9EVERfTk9fUFJFRklYLCAvKiA1MjQgKi8KKyAgICBYTUxfRFREX05PX1JPT1QsIC8qIDUyNSAqLworICAgIFhNTF9EVERfTk9UQVRJT05fUkVERUZJTkVELCAvKiA1MjYgKi8KKyAgICBYTUxfRFREX05PVEFUSU9OX1ZBTFVFLCAvKiA1MjcgKi8KKyAgICBYTUxfRFREX05PVF9FTVBUWSwgLyogNTI4ICovCisgICAgWE1MX0RURF9OT1RfUENEQVRBLCAvKiA1MjkgKi8KKyAgICBYTUxfRFREX05PVF9TVEFOREFMT05FLCAvKiA1MzAgKi8KKyAgICBYTUxfRFREX1JPT1RfTkFNRSwgLyogNTMxICovCisgICAgWE1MX0RURF9TVEFOREFMT05FX1dISVRFX1NQQUNFLCAvKiA1MzIgKi8KKyAgICBYTUxfRFREX1VOS05PV05fQVRUUklCVVRFLCAvKiA1MzMgKi8KKyAgICBYTUxfRFREX1VOS05PV05fRUxFTSwgLyogNTM0ICovCisgICAgWE1MX0RURF9VTktOT1dOX0VOVElUWSwgLyogNTM1ICovCisgICAgWE1MX0RURF9VTktOT1dOX0lELCAvKiA1MzYgKi8KKyAgICBYTUxfRFREX1VOS05PV05fTk9UQVRJT04sIC8qIDUzNyAqLworICAgIFhNTF9EVERfU1RBTkRBTE9ORV9ERUZBVUxURUQsIC8qIDUzOCAqLworICAgIFhNTF9EVERfWE1MSURfVkFMVUUsIC8qIDUzOSAqLworICAgIFhNTF9EVERfWE1MSURfVFlQRSwgLyogNTQwICovCisgICAgWE1MX0RURF9EVVBfVE9LRU4sIC8qIDU0MSAqLworICAgIFhNTF9IVE1MX1NUUlVDVVJFX0VSUk9SID0gODAwLAorICAgIFhNTF9IVE1MX1VOS05PV05fVEFHLCAvKiA4MDEgKi8KKyAgICBYTUxfUk5HUF9BTllOQU1FX0FUVFJfQU5DRVNUT1IgPSAxMDAwLAorICAgIFhNTF9STkdQX0FUVFJfQ09ORkxJQ1QsIC8qIDEwMDEgKi8KKyAgICBYTUxfUk5HUF9BVFRSSUJVVEVfQ0hJTERSRU4sIC8qIDEwMDIgKi8KKyAgICBYTUxfUk5HUF9BVFRSSUJVVEVfQ09OVEVOVCwgLyogMTAwMyAqLworICAgIFhNTF9STkdQX0FUVFJJQlVURV9FTVBUWSwgLyogMTAwNCAqLworICAgIFhNTF9STkdQX0FUVFJJQlVURV9OT09QLCAvKiAxMDA1ICovCisgICAgWE1MX1JOR1BfQ0hPSUNFX0NPTlRFTlQsIC8qIDEwMDYgKi8KKyAgICBYTUxfUk5HUF9DSE9JQ0VfRU1QVFksIC8qIDEwMDcgKi8KKyAgICBYTUxfUk5HUF9DUkVBVEVfRkFJTFVSRSwgLyogMTAwOCAqLworICAgIFhNTF9STkdQX0RBVEFfQ09OVEVOVCwgLyogMTAwOSAqLworICAgIFhNTF9STkdQX0RFRl9DSE9JQ0VfQU5EX0lOVEVSTEVBVkUsIC8qIDEwMTAgKi8KKyAgICBYTUxfUk5HUF9ERUZJTkVfQ1JFQVRFX0ZBSUxFRCwgLyogMTAxMSAqLworICAgIFhNTF9STkdQX0RFRklORV9FTVBUWSwgLyogMTAxMiAqLworICAgIFhNTF9STkdQX0RFRklORV9NSVNTSU5HLCAvKiAxMDEzICovCisgICAgWE1MX1JOR1BfREVGSU5FX05BTUVfTUlTU0lORywgLyogMTAxNCAqLworICAgIFhNTF9STkdQX0VMRU1fQ09OVEVOVF9FTVBUWSwgLyogMTAxNSAqLworICAgIFhNTF9STkdQX0VMRU1fQ09OVEVOVF9FUlJPUiwgLyogMTAxNiAqLworICAgIFhNTF9STkdQX0VMRU1FTlRfRU1QVFksIC8qIDEwMTcgKi8KKyAgICBYTUxfUk5HUF9FTEVNRU5UX0NPTlRFTlQsIC8qIDEwMTggKi8KKyAgICBYTUxfUk5HUF9FTEVNRU5UX05BTUUsIC8qIDEwMTkgKi8KKyAgICBYTUxfUk5HUF9FTEVNRU5UX05PX0NPTlRFTlQsIC8qIDEwMjAgKi8KKyAgICBYTUxfUk5HUF9FTEVNX1RFWFRfQ09ORkxJQ1QsIC8qIDEwMjEgKi8KKyAgICBYTUxfUk5HUF9FTVBUWSwgLyogMTAyMiAqLworICAgIFhNTF9STkdQX0VNUFRZX0NPTlNUUlVDVCwgLyogMTAyMyAqLworICAgIFhNTF9STkdQX0VNUFRZX0NPTlRFTlQsIC8qIDEwMjQgKi8KKyAgICBYTUxfUk5HUF9FTVBUWV9OT1RfRU1QVFksIC8qIDEwMjUgKi8KKyAgICBYTUxfUk5HUF9FUlJPUl9UWVBFX0xJQiwgLyogMTAyNiAqLworICAgIFhNTF9STkdQX0VYQ0VQVF9FTVBUWSwgLyogMTAyNyAqLworICAgIFhNTF9STkdQX0VYQ0VQVF9NSVNTSU5HLCAvKiAxMDI4ICovCisgICAgWE1MX1JOR1BfRVhDRVBUX01VTFRJUExFLCAvKiAxMDI5ICovCisgICAgWE1MX1JOR1BfRVhDRVBUX05PX0NPTlRFTlQsIC8qIDEwMzAgKi8KKyAgICBYTUxfUk5HUF9FWFRFUk5BTFJFRl9FTVRQWSwgLyogMTAzMSAqLworICAgIFhNTF9STkdQX0VYVEVSTkFMX1JFRl9GQUlMVVJFLCAvKiAxMDMyICovCisgICAgWE1MX1JOR1BfRVhURVJOQUxSRUZfUkVDVVJTRSwgLyogMTAzMyAqLworICAgIFhNTF9STkdQX0ZPUkJJRERFTl9BVFRSSUJVVEUsIC8qIDEwMzQgKi8KKyAgICBYTUxfUk5HUF9GT1JFSUdOX0VMRU1FTlQsIC8qIDEwMzUgKi8KKyAgICBYTUxfUk5HUF9HUkFNTUFSX0NPTlRFTlQsIC8qIDEwMzYgKi8KKyAgICBYTUxfUk5HUF9HUkFNTUFSX0VNUFRZLCAvKiAxMDM3ICovCisgICAgWE1MX1JOR1BfR1JBTU1BUl9NSVNTSU5HLCAvKiAxMDM4ICovCisgICAgWE1MX1JOR1BfR1JBTU1BUl9OT19TVEFSVCwgLyogMTAzOSAqLworICAgIFhNTF9STkdQX0dST1VQX0FUVFJfQ09ORkxJQ1QsIC8qIDEwNDAgKi8KKyAgICBYTUxfUk5HUF9IUkVGX0VSUk9SLCAvKiAxMDQxICovCisgICAgWE1MX1JOR1BfSU5DTFVERV9FTVBUWSwgLyogMTA0MiAqLworICAgIFhNTF9STkdQX0lOQ0xVREVfRkFJTFVSRSwgLyogMTA0MyAqLworICAgIFhNTF9STkdQX0lOQ0xVREVfUkVDVVJTRSwgLyogMTA0NCAqLworICAgIFhNTF9STkdQX0lOVEVSTEVBVkVfQURELCAvKiAxMDQ1ICovCisgICAgWE1MX1JOR1BfSU5URVJMRUFWRV9DUkVBVEVfRkFJTEVELCAvKiAxMDQ2ICovCisgICAgWE1MX1JOR1BfSU5URVJMRUFWRV9FTVBUWSwgLyogMTA0NyAqLworICAgIFhNTF9STkdQX0lOVEVSTEVBVkVfTk9fQ09OVEVOVCwgLyogMTA0OCAqLworICAgIFhNTF9STkdQX0lOVkFMSURfREVGSU5FX05BTUUsIC8qIDEwNDkgKi8KKyAgICBYTUxfUk5HUF9JTlZBTElEX1VSSSwgLyogMTA1MCAqLworICAgIFhNTF9STkdQX0lOVkFMSURfVkFMVUUsIC8qIDEwNTEgKi8KKyAgICBYTUxfUk5HUF9NSVNTSU5HX0hSRUYsIC8qIDEwNTIgKi8KKyAgICBYTUxfUk5HUF9OQU1FX01JU1NJTkcsIC8qIDEwNTMgKi8KKyAgICBYTUxfUk5HUF9ORUVEX0NPTUJJTkUsIC8qIDEwNTQgKi8KKyAgICBYTUxfUk5HUF9OT1RBTExPV0VEX05PVF9FTVBUWSwgLyogMTA1NSAqLworICAgIFhNTF9STkdQX05TTkFNRV9BVFRSX0FOQ0VTVE9SLCAvKiAxMDU2ICovCisgICAgWE1MX1JOR1BfTlNOQU1FX05PX05TLCAvKiAxMDU3ICovCisgICAgWE1MX1JOR1BfUEFSQU1fRk9SQklEREVOLCAvKiAxMDU4ICovCisgICAgWE1MX1JOR1BfUEFSQU1fTkFNRV9NSVNTSU5HLCAvKiAxMDU5ICovCisgICAgWE1MX1JOR1BfUEFSRU5UUkVGX0NSRUFURV9GQUlMRUQsIC8qIDEwNjAgKi8KKyAgICBYTUxfUk5HUF9QQVJFTlRSRUZfTkFNRV9JTlZBTElELCAvKiAxMDYxICovCisgICAgWE1MX1JOR1BfUEFSRU5UUkVGX05PX05BTUUsIC8qIDEwNjIgKi8KKyAgICBYTUxfUk5HUF9QQVJFTlRSRUZfTk9fUEFSRU5ULCAvKiAxMDYzICovCisgICAgWE1MX1JOR1BfUEFSRU5UUkVGX05PVF9FTVBUWSwgLyogMTA2NCAqLworICAgIFhNTF9STkdQX1BBUlNFX0VSUk9SLCAvKiAxMDY1ICovCisgICAgWE1MX1JOR1BfUEFUX0FOWU5BTUVfRVhDRVBUX0FOWU5BTUUsIC8qIDEwNjYgKi8KKyAgICBYTUxfUk5HUF9QQVRfQVRUUl9BVFRSLCAvKiAxMDY3ICovCisgICAgWE1MX1JOR1BfUEFUX0FUVFJfRUxFTSwgLyogMTA2OCAqLworICAgIFhNTF9STkdQX1BBVF9EQVRBX0VYQ0VQVF9BVFRSLCAvKiAxMDY5ICovCisgICAgWE1MX1JOR1BfUEFUX0RBVEFfRVhDRVBUX0VMRU0sIC8qIDEwNzAgKi8KKyAgICBYTUxfUk5HUF9QQVRfREFUQV9FWENFUFRfRU1QVFksIC8qIDEwNzEgKi8KKyAgICBYTUxfUk5HUF9QQVRfREFUQV9FWENFUFRfR1JPVVAsIC8qIDEwNzIgKi8KKyAgICBYTUxfUk5HUF9QQVRfREFUQV9FWENFUFRfSU5URVJMRUFWRSwgLyogMTA3MyAqLworICAgIFhNTF9STkdQX1BBVF9EQVRBX0VYQ0VQVF9MSVNULCAvKiAxMDc0ICovCisgICAgWE1MX1JOR1BfUEFUX0RBVEFfRVhDRVBUX09ORU1PUkUsIC8qIDEwNzUgKi8KKyAgICBYTUxfUk5HUF9QQVRfREFUQV9FWENFUFRfUkVGLCAvKiAxMDc2ICovCisgICAgWE1MX1JOR1BfUEFUX0RBVEFfRVhDRVBUX1RFWFQsIC8qIDEwNzcgKi8KKyAgICBYTUxfUk5HUF9QQVRfTElTVF9BVFRSLCAvKiAxMDc4ICovCisgICAgWE1MX1JOR1BfUEFUX0xJU1RfRUxFTSwgLyogMTA3OSAqLworICAgIFhNTF9STkdQX1BBVF9MSVNUX0lOVEVSTEVBVkUsIC8qIDEwODAgKi8KKyAgICBYTUxfUk5HUF9QQVRfTElTVF9MSVNULCAvKiAxMDgxICovCisgICAgWE1MX1JOR1BfUEFUX0xJU1RfUkVGLCAvKiAxMDgyICovCisgICAgWE1MX1JOR1BfUEFUX0xJU1RfVEVYVCwgLyogMTA4MyAqLworICAgIFhNTF9STkdQX1BBVF9OU05BTUVfRVhDRVBUX0FOWU5BTUUsIC8qIDEwODQgKi8KKyAgICBYTUxfUk5HUF9QQVRfTlNOQU1FX0VYQ0VQVF9OU05BTUUsIC8qIDEwODUgKi8KKyAgICBYTUxfUk5HUF9QQVRfT05FTU9SRV9HUk9VUF9BVFRSLCAvKiAxMDg2ICovCisgICAgWE1MX1JOR1BfUEFUX09ORU1PUkVfSU5URVJMRUFWRV9BVFRSLCAvKiAxMDg3ICovCisgICAgWE1MX1JOR1BfUEFUX1NUQVJUX0FUVFIsIC8qIDEwODggKi8KKyAgICBYTUxfUk5HUF9QQVRfU1RBUlRfREFUQSwgLyogMTA4OSAqLworICAgIFhNTF9STkdQX1BBVF9TVEFSVF9FTVBUWSwgLyogMTA5MCAqLworICAgIFhNTF9STkdQX1BBVF9TVEFSVF9HUk9VUCwgLyogMTA5MSAqLworICAgIFhNTF9STkdQX1BBVF9TVEFSVF9JTlRFUkxFQVZFLCAvKiAxMDkyICovCisgICAgWE1MX1JOR1BfUEFUX1NUQVJUX0xJU1QsIC8qIDEwOTMgKi8KKyAgICBYTUxfUk5HUF9QQVRfU1RBUlRfT05FTU9SRSwgLyogMTA5NCAqLworICAgIFhNTF9STkdQX1BBVF9TVEFSVF9URVhULCAvKiAxMDk1ICovCisgICAgWE1MX1JOR1BfUEFUX1NUQVJUX1ZBTFVFLCAvKiAxMDk2ICovCisgICAgWE1MX1JOR1BfUFJFRklYX1VOREVGSU5FRCwgLyogMTA5NyAqLworICAgIFhNTF9STkdQX1JFRl9DUkVBVEVfRkFJTEVELCAvKiAxMDk4ICovCisgICAgWE1MX1JOR1BfUkVGX0NZQ0xFLCAvKiAxMDk5ICovCisgICAgWE1MX1JOR1BfUkVGX05BTUVfSU5WQUxJRCwgLyogMTEwMCAqLworICAgIFhNTF9STkdQX1JFRl9OT19ERUYsIC8qIDExMDEgKi8KKyAgICBYTUxfUk5HUF9SRUZfTk9fTkFNRSwgLyogMTEwMiAqLworICAgIFhNTF9STkdQX1JFRl9OT1RfRU1QVFksIC8qIDExMDMgKi8KKyAgICBYTUxfUk5HUF9TVEFSVF9DSE9JQ0VfQU5EX0lOVEVSTEVBVkUsIC8qIDExMDQgKi8KKyAgICBYTUxfUk5HUF9TVEFSVF9DT05URU5ULCAvKiAxMTA1ICovCisgICAgWE1MX1JOR1BfU1RBUlRfRU1QVFksIC8qIDExMDYgKi8KKyAgICBYTUxfUk5HUF9TVEFSVF9NSVNTSU5HLCAvKiAxMTA3ICovCisgICAgWE1MX1JOR1BfVEVYVF9FWFBFQ1RFRCwgLyogMTEwOCAqLworICAgIFhNTF9STkdQX1RFWFRfSEFTX0NISUxELCAvKiAxMTA5ICovCisgICAgWE1MX1JOR1BfVFlQRV9NSVNTSU5HLCAvKiAxMTEwICovCisgICAgWE1MX1JOR1BfVFlQRV9OT1RfRk9VTkQsIC8qIDExMTEgKi8KKyAgICBYTUxfUk5HUF9UWVBFX1ZBTFVFLCAvKiAxMTEyICovCisgICAgWE1MX1JOR1BfVU5LTk9XTl9BVFRSSUJVVEUsIC8qIDExMTMgKi8KKyAgICBYTUxfUk5HUF9VTktOT1dOX0NPTUJJTkUsIC8qIDExMTQgKi8KKyAgICBYTUxfUk5HUF9VTktOT1dOX0NPTlNUUlVDVCwgLyogMTExNSAqLworICAgIFhNTF9STkdQX1VOS05PV05fVFlQRV9MSUIsIC8qIDExMTYgKi8KKyAgICBYTUxfUk5HUF9VUklfRlJBR01FTlQsIC8qIDExMTcgKi8KKyAgICBYTUxfUk5HUF9VUklfTk9UX0FCU09MVVRFLCAvKiAxMTE4ICovCisgICAgWE1MX1JOR1BfVkFMVUVfRU1QVFksIC8qIDExMTkgKi8KKyAgICBYTUxfUk5HUF9WQUxVRV9OT19DT05URU5ULCAvKiAxMTIwICovCisgICAgWE1MX1JOR1BfWE1MTlNfTkFNRSwgLyogMTEyMSAqLworICAgIFhNTF9STkdQX1hNTF9OUywgLyogMTEyMiAqLworICAgIFhNTF9YUEFUSF9FWFBSRVNTSU9OX09LID0gMTIwMCwKKyAgICBYTUxfWFBBVEhfTlVNQkVSX0VSUk9SLCAvKiAxMjAxICovCisgICAgWE1MX1hQQVRIX1VORklOSVNIRURfTElURVJBTF9FUlJPUiwgLyogMTIwMiAqLworICAgIFhNTF9YUEFUSF9TVEFSVF9MSVRFUkFMX0VSUk9SLCAvKiAxMjAzICovCisgICAgWE1MX1hQQVRIX1ZBUklBQkxFX1JFRl9FUlJPUiwgLyogMTIwNCAqLworICAgIFhNTF9YUEFUSF9VTkRFRl9WQVJJQUJMRV9FUlJPUiwgLyogMTIwNSAqLworICAgIFhNTF9YUEFUSF9JTlZBTElEX1BSRURJQ0FURV9FUlJPUiwgLyogMTIwNiAqLworICAgIFhNTF9YUEFUSF9FWFBSX0VSUk9SLCAvKiAxMjA3ICovCisgICAgWE1MX1hQQVRIX1VOQ0xPU0VEX0VSUk9SLCAvKiAxMjA4ICovCisgICAgWE1MX1hQQVRIX1VOS05PV05fRlVOQ19FUlJPUiwgLyogMTIwOSAqLworICAgIFhNTF9YUEFUSF9JTlZBTElEX09QRVJBTkQsIC8qIDEyMTAgKi8KKyAgICBYTUxfWFBBVEhfSU5WQUxJRF9UWVBFLCAvKiAxMjExICovCisgICAgWE1MX1hQQVRIX0lOVkFMSURfQVJJVFksIC8qIDEyMTIgKi8KKyAgICBYTUxfWFBBVEhfSU5WQUxJRF9DVFhUX1NJWkUsIC8qIDEyMTMgKi8KKyAgICBYTUxfWFBBVEhfSU5WQUxJRF9DVFhUX1BPU0lUSU9OLCAvKiAxMjE0ICovCisgICAgWE1MX1hQQVRIX01FTU9SWV9FUlJPUiwgLyogMTIxNSAqLworICAgIFhNTF9YUFRSX1NZTlRBWF9FUlJPUiwgLyogMTIxNiAqLworICAgIFhNTF9YUFRSX1JFU09VUkNFX0VSUk9SLCAvKiAxMjE3ICovCisgICAgWE1MX1hQVFJfU1VCX1JFU09VUkNFX0VSUk9SLCAvKiAxMjE4ICovCisgICAgWE1MX1hQQVRIX1VOREVGX1BSRUZJWF9FUlJPUiwgLyogMTIxOSAqLworICAgIFhNTF9YUEFUSF9FTkNPRElOR19FUlJPUiwgLyogMTIyMCAqLworICAgIFhNTF9YUEFUSF9JTlZBTElEX0NIQVJfRVJST1IsIC8qIDEyMjEgKi8KKyAgICBYTUxfVFJFRV9JTlZBTElEX0hFWCA9IDEzMDAsCisgICAgWE1MX1RSRUVfSU5WQUxJRF9ERUMsIC8qIDEzMDEgKi8KKyAgICBYTUxfVFJFRV9VTlRFUk1JTkFURURfRU5USVRZLCAvKiAxMzAyICovCisgICAgWE1MX1RSRUVfTk9UX1VURjgsIC8qIDEzMDMgKi8KKyAgICBYTUxfU0FWRV9OT1RfVVRGOCA9IDE0MDAsCisgICAgWE1MX1NBVkVfQ0hBUl9JTlZBTElELCAvKiAxNDAxICovCisgICAgWE1MX1NBVkVfTk9fRE9DVFlQRSwgLyogMTQwMiAqLworICAgIFhNTF9TQVZFX1VOS05PV05fRU5DT0RJTkcsIC8qIDE0MDMgKi8KKyAgICBYTUxfUkVHRVhQX0NPTVBJTEVfRVJST1IgPSAxNDUwLAorICAgIFhNTF9JT19VTktOT1dOID0gMTUwMCwKKyAgICBYTUxfSU9fRUFDQ0VTLCAvKiAxNTAxICovCisgICAgWE1MX0lPX0VBR0FJTiwgLyogMTUwMiAqLworICAgIFhNTF9JT19FQkFERiwgLyogMTUwMyAqLworICAgIFhNTF9JT19FQkFETVNHLCAvKiAxNTA0ICovCisgICAgWE1MX0lPX0VCVVNZLCAvKiAxNTA1ICovCisgICAgWE1MX0lPX0VDQU5DRUxFRCwgLyogMTUwNiAqLworICAgIFhNTF9JT19FQ0hJTEQsIC8qIDE1MDcgKi8KKyAgICBYTUxfSU9fRURFQURMSywgLyogMTUwOCAqLworICAgIFhNTF9JT19FRE9NLCAvKiAxNTA5ICovCisgICAgWE1MX0lPX0VFWElTVCwgLyogMTUxMCAqLworICAgIFhNTF9JT19FRkFVTFQsIC8qIDE1MTEgKi8KKyAgICBYTUxfSU9fRUZCSUcsIC8qIDE1MTIgKi8KKyAgICBYTUxfSU9fRUlOUFJPR1JFU1MsIC8qIDE1MTMgKi8KKyAgICBYTUxfSU9fRUlOVFIsIC8qIDE1MTQgKi8KKyAgICBYTUxfSU9fRUlOVkFMLCAvKiAxNTE1ICovCisgICAgWE1MX0lPX0VJTywgLyogMTUxNiAqLworICAgIFhNTF9JT19FSVNESVIsIC8qIDE1MTcgKi8KKyAgICBYTUxfSU9fRU1GSUxFLCAvKiAxNTE4ICovCisgICAgWE1MX0lPX0VNTElOSywgLyogMTUxOSAqLworICAgIFhNTF9JT19FTVNHU0laRSwgLyogMTUyMCAqLworICAgIFhNTF9JT19FTkFNRVRPT0xPTkcsIC8qIDE1MjEgKi8KKyAgICBYTUxfSU9fRU5GSUxFLCAvKiAxNTIyICovCisgICAgWE1MX0lPX0VOT0RFViwgLyogMTUyMyAqLworICAgIFhNTF9JT19FTk9FTlQsIC8qIDE1MjQgKi8KKyAgICBYTUxfSU9fRU5PRVhFQywgLyogMTUyNSAqLworICAgIFhNTF9JT19FTk9MQ0ssIC8qIDE1MjYgKi8KKyAgICBYTUxfSU9fRU5PTUVNLCAvKiAxNTI3ICovCisgICAgWE1MX0lPX0VOT1NQQywgLyogMTUyOCAqLworICAgIFhNTF9JT19FTk9TWVMsIC8qIDE1MjkgKi8KKyAgICBYTUxfSU9fRU5PVERJUiwgLyogMTUzMCAqLworICAgIFhNTF9JT19FTk9URU1QVFksIC8qIDE1MzEgKi8KKyAgICBYTUxfSU9fRU5PVFNVUCwgLyogMTUzMiAqLworICAgIFhNTF9JT19FTk9UVFksIC8qIDE1MzMgKi8KKyAgICBYTUxfSU9fRU5YSU8sIC8qIDE1MzQgKi8KKyAgICBYTUxfSU9fRVBFUk0sIC8qIDE1MzUgKi8KKyAgICBYTUxfSU9fRVBJUEUsIC8qIDE1MzYgKi8KKyAgICBYTUxfSU9fRVJBTkdFLCAvKiAxNTM3ICovCisgICAgWE1MX0lPX0VST0ZTLCAvKiAxNTM4ICovCisgICAgWE1MX0lPX0VTUElQRSwgLyogMTUzOSAqLworICAgIFhNTF9JT19FU1JDSCwgLyogMTU0MCAqLworICAgIFhNTF9JT19FVElNRURPVVQsIC8qIDE1NDEgKi8KKyAgICBYTUxfSU9fRVhERVYsIC8qIDE1NDIgKi8KKyAgICBYTUxfSU9fTkVUV09SS19BVFRFTVBULCAvKiAxNTQzICovCisgICAgWE1MX0lPX0VOQ09ERVIsIC8qIDE1NDQgKi8KKyAgICBYTUxfSU9fRkxVU0gsIC8qIDE1NDUgKi8KKyAgICBYTUxfSU9fV1JJVEUsIC8qIDE1NDYgKi8KKyAgICBYTUxfSU9fTk9fSU5QVVQsIC8qIDE1NDcgKi8KKyAgICBYTUxfSU9fQlVGRkVSX0ZVTEwsIC8qIDE1NDggKi8KKyAgICBYTUxfSU9fTE9BRF9FUlJPUiwgLyogMTU0OSAqLworICAgIFhNTF9JT19FTk9UU09DSywgLyogMTU1MCAqLworICAgIFhNTF9JT19FSVNDT05OLCAvKiAxNTUxICovCisgICAgWE1MX0lPX0VDT05OUkVGVVNFRCwgLyogMTU1MiAqLworICAgIFhNTF9JT19FTkVUVU5SRUFDSCwgLyogMTU1MyAqLworICAgIFhNTF9JT19FQUREUklOVVNFLCAvKiAxNTU0ICovCisgICAgWE1MX0lPX0VBTFJFQURZLCAvKiAxNTU1ICovCisgICAgWE1MX0lPX0VBRk5PU1VQUE9SVCwgLyogMTU1NiAqLworICAgIFhNTF9YSU5DTFVERV9SRUNVUlNJT049MTYwMCwKKyAgICBYTUxfWElOQ0xVREVfUEFSU0VfVkFMVUUsIC8qIDE2MDEgKi8KKyAgICBYTUxfWElOQ0xVREVfRU5USVRZX0RFRl9NSVNNQVRDSCwgLyogMTYwMiAqLworICAgIFhNTF9YSU5DTFVERV9OT19IUkVGLCAvKiAxNjAzICovCisgICAgWE1MX1hJTkNMVURFX05PX0ZBTExCQUNLLCAvKiAxNjA0ICovCisgICAgWE1MX1hJTkNMVURFX0hSRUZfVVJJLCAvKiAxNjA1ICovCisgICAgWE1MX1hJTkNMVURFX1RFWFRfRlJBR01FTlQsIC8qIDE2MDYgKi8KKyAgICBYTUxfWElOQ0xVREVfVEVYVF9ET0NVTUVOVCwgLyogMTYwNyAqLworICAgIFhNTF9YSU5DTFVERV9JTlZBTElEX0NIQVIsIC8qIDE2MDggKi8KKyAgICBYTUxfWElOQ0xVREVfQlVJTERfRkFJTEVELCAvKiAxNjA5ICovCisgICAgWE1MX1hJTkNMVURFX1VOS05PV05fRU5DT0RJTkcsIC8qIDE2MTAgKi8KKyAgICBYTUxfWElOQ0xVREVfTVVMVElQTEVfUk9PVCwgLyogMTYxMSAqLworICAgIFhNTF9YSU5DTFVERV9YUFRSX0ZBSUxFRCwgLyogMTYxMiAqLworICAgIFhNTF9YSU5DTFVERV9YUFRSX1JFU1VMVCwgLyogMTYxMyAqLworICAgIFhNTF9YSU5DTFVERV9JTkNMVURFX0lOX0lOQ0xVREUsIC8qIDE2MTQgKi8KKyAgICBYTUxfWElOQ0xVREVfRkFMTEJBQ0tTX0lOX0lOQ0xVREUsIC8qIDE2MTUgKi8KKyAgICBYTUxfWElOQ0xVREVfRkFMTEJBQ0tfTk9UX0lOX0lOQ0xVREUsIC8qIDE2MTYgKi8KKyAgICBYTUxfWElOQ0xVREVfREVQUkVDQVRFRF9OUywgLyogMTYxNyAqLworICAgIFhNTF9YSU5DTFVERV9GUkFHTUVOVF9JRCwgLyogMTYxOCAqLworICAgIFhNTF9DQVRBTE9HX01JU1NJTkdfQVRUUiA9IDE2NTAsCisgICAgWE1MX0NBVEFMT0dfRU5UUllfQlJPS0VOLCAvKiAxNjUxICovCisgICAgWE1MX0NBVEFMT0dfUFJFRkVSX1ZBTFVFLCAvKiAxNjUyICovCisgICAgWE1MX0NBVEFMT0dfTk9UX0NBVEFMT0csIC8qIDE2NTMgKi8KKyAgICBYTUxfQ0FUQUxPR19SRUNVUlNJT04sIC8qIDE2NTQgKi8KKyAgICBYTUxfU0NIRU1BUF9QUkVGSVhfVU5ERUZJTkVEID0gMTcwMCwKKyAgICBYTUxfU0NIRU1BUF9BVFRSRk9STURFRkFVTFRfVkFMVUUsIC8qIDE3MDEgKi8KKyAgICBYTUxfU0NIRU1BUF9BVFRSR1JQX05PTkFNRV9OT1JFRiwgLyogMTcwMiAqLworICAgIFhNTF9TQ0hFTUFQX0FUVFJfTk9OQU1FX05PUkVGLCAvKiAxNzAzICovCisgICAgWE1MX1NDSEVNQVBfQ09NUExFWFRZUEVfTk9OQU1FX05PUkVGLCAvKiAxNzA0ICovCisgICAgWE1MX1NDSEVNQVBfRUxFTUZPUk1ERUZBVUxUX1ZBTFVFLCAvKiAxNzA1ICovCisgICAgWE1MX1NDSEVNQVBfRUxFTV9OT05BTUVfTk9SRUYsIC8qIDE3MDYgKi8KKyAgICBYTUxfU0NIRU1BUF9FWFRFTlNJT05fTk9fQkFTRSwgLyogMTcwNyAqLworICAgIFhNTF9TQ0hFTUFQX0ZBQ0VUX05PX1ZBTFVFLCAvKiAxNzA4ICovCisgICAgWE1MX1NDSEVNQVBfRkFJTEVEX0JVSUxEX0lNUE9SVCwgLyogMTcwOSAqLworICAgIFhNTF9TQ0hFTUFQX0dST1VQX05PTkFNRV9OT1JFRiwgLyogMTcxMCAqLworICAgIFhNTF9TQ0hFTUFQX0lNUE9SVF9OQU1FU1BBQ0VfTk9UX1VSSSwgLyogMTcxMSAqLworICAgIFhNTF9TQ0hFTUFQX0lNUE9SVF9SRURFRklORV9OU05BTUUsIC8qIDE3MTIgKi8KKyAgICBYTUxfU0NIRU1BUF9JTVBPUlRfU0NIRU1BX05PVF9VUkksIC8qIDE3MTMgKi8KKyAgICBYTUxfU0NIRU1BUF9JTlZBTElEX0JPT0xFQU4sIC8qIDE3MTQgKi8KKyAgICBYTUxfU0NIRU1BUF9JTlZBTElEX0VOVU0sIC8qIDE3MTUgKi8KKyAgICBYTUxfU0NIRU1BUF9JTlZBTElEX0ZBQ0VULCAvKiAxNzE2ICovCisgICAgWE1MX1NDSEVNQVBfSU5WQUxJRF9GQUNFVF9WQUxVRSwgLyogMTcxNyAqLworICAgIFhNTF9TQ0hFTUFQX0lOVkFMSURfTUFYT0NDVVJTLCAvKiAxNzE4ICovCisgICAgWE1MX1NDSEVNQVBfSU5WQUxJRF9NSU5PQ0NVUlMsIC8qIDE3MTkgKi8KKyAgICBYTUxfU0NIRU1BUF9JTlZBTElEX1JFRl9BTkRfU1VCVFlQRSwgLyogMTcyMCAqLworICAgIFhNTF9TQ0hFTUFQX0lOVkFMSURfV0hJVEVfU1BBQ0UsIC8qIDE3MjEgKi8KKyAgICBYTUxfU0NIRU1BUF9OT0FUVFJfTk9SRUYsIC8qIDE3MjIgKi8KKyAgICBYTUxfU0NIRU1BUF9OT1RBVElPTl9OT19OQU1FLCAvKiAxNzIzICovCisgICAgWE1MX1NDSEVNQVBfTk9UWVBFX05PUkVGLCAvKiAxNzI0ICovCisgICAgWE1MX1NDSEVNQVBfUkVGX0FORF9TVUJUWVBFLCAvKiAxNzI1ICovCisgICAgWE1MX1NDSEVNQVBfUkVTVFJJQ1RJT05fTk9OQU1FX05PUkVGLCAvKiAxNzI2ICovCisgICAgWE1MX1NDSEVNQVBfU0lNUExFVFlQRV9OT05BTUUsIC8qIDE3MjcgKi8KKyAgICBYTUxfU0NIRU1BUF9UWVBFX0FORF9TVUJUWVBFLCAvKiAxNzI4ICovCisgICAgWE1MX1NDSEVNQVBfVU5LTk9XTl9BTExfQ0hJTEQsIC8qIDE3MjkgKi8KKyAgICBYTUxfU0NIRU1BUF9VTktOT1dOX0FOWUFUVFJJQlVURV9DSElMRCwgLyogMTczMCAqLworICAgIFhNTF9TQ0hFTUFQX1VOS05PV05fQVRUUl9DSElMRCwgLyogMTczMSAqLworICAgIFhNTF9TQ0hFTUFQX1VOS05PV05fQVRUUkdSUF9DSElMRCwgLyogMTczMiAqLworICAgIFhNTF9TQ0hFTUFQX1VOS05PV05fQVRUUklCVVRFX0dST1VQLCAvKiAxNzMzICovCisgICAgWE1MX1NDSEVNQVBfVU5LTk9XTl9CQVNFX1RZUEUsIC8qIDE3MzQgKi8KKyAgICBYTUxfU0NIRU1BUF9VTktOT1dOX0NIT0lDRV9DSElMRCwgLyogMTczNSAqLworICAgIFhNTF9TQ0hFTUFQX1VOS05PV05fQ09NUExFWENPTlRFTlRfQ0hJTEQsIC8qIDE3MzYgKi8KKyAgICBYTUxfU0NIRU1BUF9VTktOT1dOX0NPTVBMRVhUWVBFX0NISUxELCAvKiAxNzM3ICovCisgICAgWE1MX1NDSEVNQVBfVU5LTk9XTl9FTEVNX0NISUxELCAvKiAxNzM4ICovCisgICAgWE1MX1NDSEVNQVBfVU5LTk9XTl9FWFRFTlNJT05fQ0hJTEQsIC8qIDE3MzkgKi8KKyAgICBYTUxfU0NIRU1BUF9VTktOT1dOX0ZBQ0VUX0NISUxELCAvKiAxNzQwICovCisgICAgWE1MX1NDSEVNQVBfVU5LTk9XTl9GQUNFVF9UWVBFLCAvKiAxNzQxICovCisgICAgWE1MX1NDSEVNQVBfVU5LTk9XTl9HUk9VUF9DSElMRCwgLyogMTc0MiAqLworICAgIFhNTF9TQ0hFTUFQX1VOS05PV05fSU1QT1JUX0NISUxELCAvKiAxNzQzICovCisgICAgWE1MX1NDSEVNQVBfVU5LTk9XTl9MSVNUX0NISUxELCAvKiAxNzQ0ICovCisgICAgWE1MX1NDSEVNQVBfVU5LTk9XTl9OT1RBVElPTl9DSElMRCwgLyogMTc0NSAqLworICAgIFhNTF9TQ0hFTUFQX1VOS05PV05fUFJPQ0VTU0NPTlRFTlRfQ0hJTEQsIC8qIDE3NDYgKi8KKyAgICBYTUxfU0NIRU1BUF9VTktOT1dOX1JFRiwgLyogMTc0NyAqLworICAgIFhNTF9TQ0hFTUFQX1VOS05PV05fUkVTVFJJQ1RJT05fQ0hJTEQsIC8qIDE3NDggKi8KKyAgICBYTUxfU0NIRU1BUF9VTktOT1dOX1NDSEVNQVNfQ0hJTEQsIC8qIDE3NDkgKi8KKyAgICBYTUxfU0NIRU1BUF9VTktOT1dOX1NFUVVFTkNFX0NISUxELCAvKiAxNzUwICovCisgICAgWE1MX1NDSEVNQVBfVU5LTk9XTl9TSU1QTEVDT05URU5UX0NISUxELCAvKiAxNzUxICovCisgICAgWE1MX1NDSEVNQVBfVU5LTk9XTl9TSU1QTEVUWVBFX0NISUxELCAvKiAxNzUyICovCisgICAgWE1MX1NDSEVNQVBfVU5LTk9XTl9UWVBFLCAvKiAxNzUzICovCisgICAgWE1MX1NDSEVNQVBfVU5LTk9XTl9VTklPTl9DSElMRCwgLyogMTc1NCAqLworICAgIFhNTF9TQ0hFTUFQX0VMRU1fREVGQVVMVF9GSVhFRCwgLyogMTc1NSAqLworICAgIFhNTF9TQ0hFTUFQX1JFR0VYUF9JTlZBTElELCAvKiAxNzU2ICovCisgICAgWE1MX1NDSEVNQVBfRkFJTEVEX0xPQUQsIC8qIDE3NTcgKi8KKyAgICBYTUxfU0NIRU1BUF9OT1RISU5HX1RPX1BBUlNFLCAvKiAxNzU4ICovCisgICAgWE1MX1NDSEVNQVBfTk9ST09ULCAvKiAxNzU5ICovCisgICAgWE1MX1NDSEVNQVBfUkVERUZJTkVEX0dST1VQLCAvKiAxNzYwICovCisgICAgWE1MX1NDSEVNQVBfUkVERUZJTkVEX1RZUEUsIC8qIDE3NjEgKi8KKyAgICBYTUxfU0NIRU1BUF9SRURFRklORURfRUxFTUVOVCwgLyogMTc2MiAqLworICAgIFhNTF9TQ0hFTUFQX1JFREVGSU5FRF9BVFRSR1JPVVAsIC8qIDE3NjMgKi8KKyAgICBYTUxfU0NIRU1BUF9SRURFRklORURfQVRUUiwgLyogMTc2NCAqLworICAgIFhNTF9TQ0hFTUFQX1JFREVGSU5FRF9OT1RBVElPTiwgLyogMTc2NSAqLworICAgIFhNTF9TQ0hFTUFQX0ZBSUxFRF9QQVJTRSwgLyogMTc2NiAqLworICAgIFhNTF9TQ0hFTUFQX1VOS05PV05fUFJFRklYLCAvKiAxNzY3ICovCisgICAgWE1MX1NDSEVNQVBfREVGX0FORF9QUkVGSVgsIC8qIDE3NjggKi8KKyAgICBYTUxfU0NIRU1BUF9VTktOT1dOX0lOQ0xVREVfQ0hJTEQsIC8qIDE3NjkgKi8KKyAgICBYTUxfU0NIRU1BUF9JTkNMVURFX1NDSEVNQV9OT1RfVVJJLCAvKiAxNzcwICovCisgICAgWE1MX1NDSEVNQVBfSU5DTFVERV9TQ0hFTUFfTk9fVVJJLCAvKiAxNzcxICovCisgICAgWE1MX1NDSEVNQVBfTk9UX1NDSEVNQSwgLyogMTc3MiAqLworICAgIFhNTF9TQ0hFTUFQX1VOS05PV05fTUVNQkVSX1RZUEUsIC8qIDE3NzMgKi8KKyAgICBYTUxfU0NIRU1BUF9JTlZBTElEX0FUVFJfVVNFLCAvKiAxNzc0ICovCisgICAgWE1MX1NDSEVNQVBfUkVDVVJTSVZFLCAvKiAxNzc1ICovCisgICAgWE1MX1NDSEVNQVBfU1VQRVJOVU1FUk9VU19MSVNUX0lURU1fVFlQRSwgLyogMTc3NiAqLworICAgIFhNTF9TQ0hFTUFQX0lOVkFMSURfQVRUUl9DT01CSU5BVElPTiwgLyogMTc3NyAqLworICAgIFhNTF9TQ0hFTUFQX0lOVkFMSURfQVRUUl9JTkxJTkVfQ09NQklOQVRJT04sIC8qIDE3NzggKi8KKyAgICBYTUxfU0NIRU1BUF9NSVNTSU5HX1NJTVBMRVRZUEVfQ0hJTEQsIC8qIDE3NzkgKi8KKyAgICBYTUxfU0NIRU1BUF9JTlZBTElEX0FUVFJfTkFNRSwgLyogMTc4MCAqLworICAgIFhNTF9TQ0hFTUFQX1JFRl9BTkRfQ09OVEVOVCwgLyogMTc4MSAqLworICAgIFhNTF9TQ0hFTUFQX0NUX1BST1BTX0NPUlJFQ1RfMSwgLyogMTc4MiAqLworICAgIFhNTF9TQ0hFTUFQX0NUX1BST1BTX0NPUlJFQ1RfMiwgLyogMTc4MyAqLworICAgIFhNTF9TQ0hFTUFQX0NUX1BST1BTX0NPUlJFQ1RfMywgLyogMTc4NCAqLworICAgIFhNTF9TQ0hFTUFQX0NUX1BST1BTX0NPUlJFQ1RfNCwgLyogMTc4NSAqLworICAgIFhNTF9TQ0hFTUFQX0NUX1BST1BTX0NPUlJFQ1RfNSwgLyogMTc4NiAqLworICAgIFhNTF9TQ0hFTUFQX0RFUklWQVRJT05fT0tfUkVTVFJJQ1RJT05fMSwgLyogMTc4NyAqLworICAgIFhNTF9TQ0hFTUFQX0RFUklWQVRJT05fT0tfUkVTVFJJQ1RJT05fMl8xXzEsIC8qIDE3ODggKi8KKyAgICBYTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzJfMV8yLCAvKiAxNzg5ICovCisgICAgWE1MX1NDSEVNQVBfREVSSVZBVElPTl9PS19SRVNUUklDVElPTl8yXzIsIC8qIDE3OTAgKi8KKyAgICBYTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzMsIC8qIDE3OTEgKi8KKyAgICBYTUxfU0NIRU1BUF9XSUxEQ0FSRF9JTlZBTElEX05TX01FTUJFUiwgLyogMTc5MiAqLworICAgIFhNTF9TQ0hFTUFQX0lOVEVSU0VDVElPTl9OT1RfRVhQUkVTU0lCTEUsIC8qIDE3OTMgKi8KKyAgICBYTUxfU0NIRU1BUF9VTklPTl9OT1RfRVhQUkVTU0lCTEUsIC8qIDE3OTQgKi8KKyAgICBYTUxfU0NIRU1BUF9TUkNfSU1QT1JUXzNfMSwgLyogMTc5NSAqLworICAgIFhNTF9TQ0hFTUFQX1NSQ19JTVBPUlRfM18yLCAvKiAxNzk2ICovCisgICAgWE1MX1NDSEVNQVBfREVSSVZBVElPTl9PS19SRVNUUklDVElPTl80XzEsIC8qIDE3OTcgKi8KKyAgICBYTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzRfMiwgLyogMTc5OCAqLworICAgIFhNTF9TQ0hFTUFQX0RFUklWQVRJT05fT0tfUkVTVFJJQ1RJT05fNF8zLCAvKiAxNzk5ICovCisgICAgWE1MX1NDSEVNQVBfQ09TX0NUX0VYVEVORFNfMV8zLCAvKiAxODAwICovCisgICAgWE1MX1NDSEVNQVZfTk9ST09UID0gMTgwMSwKKyAgICBYTUxfU0NIRU1BVl9VTkRFQ0xBUkVERUxFTSwgLyogMTgwMiAqLworICAgIFhNTF9TQ0hFTUFWX05PVFRPUExFVkVMLCAvKiAxODAzICovCisgICAgWE1MX1NDSEVNQVZfTUlTU0lORywgLyogMTgwNCAqLworICAgIFhNTF9TQ0hFTUFWX1dST05HRUxFTSwgLyogMTgwNSAqLworICAgIFhNTF9TQ0hFTUFWX05PVFlQRSwgLyogMTgwNiAqLworICAgIFhNTF9TQ0hFTUFWX05PUk9MTEJBQ0ssIC8qIDE4MDcgKi8KKyAgICBYTUxfU0NIRU1BVl9JU0FCU1RSQUNULCAvKiAxODA4ICovCisgICAgWE1MX1NDSEVNQVZfTk9URU1QVFksIC8qIDE4MDkgKi8KKyAgICBYTUxfU0NIRU1BVl9FTEVNQ09OVCwgLyogMTgxMCAqLworICAgIFhNTF9TQ0hFTUFWX0hBVkVERUZBVUxULCAvKiAxODExICovCisgICAgWE1MX1NDSEVNQVZfTk9UTklMTEFCTEUsIC8qIDE4MTIgKi8KKyAgICBYTUxfU0NIRU1BVl9FWFRSQUNPTlRFTlQsIC8qIDE4MTMgKi8KKyAgICBYTUxfU0NIRU1BVl9JTlZBTElEQVRUUiwgLyogMTgxNCAqLworICAgIFhNTF9TQ0hFTUFWX0lOVkFMSURFTEVNLCAvKiAxODE1ICovCisgICAgWE1MX1NDSEVNQVZfTk9UREVURVJNSU5JU1QsIC8qIDE4MTYgKi8KKyAgICBYTUxfU0NIRU1BVl9DT05TVFJVQ1QsIC8qIDE4MTcgKi8KKyAgICBYTUxfU0NIRU1BVl9JTlRFUk5BTCwgLyogMTgxOCAqLworICAgIFhNTF9TQ0hFTUFWX05PVFNJTVBMRSwgLyogMTgxOSAqLworICAgIFhNTF9TQ0hFTUFWX0FUVFJVTktOT1dOLCAvKiAxODIwICovCisgICAgWE1MX1NDSEVNQVZfQVRUUklOVkFMSUQsIC8qIDE4MjEgKi8KKyAgICBYTUxfU0NIRU1BVl9WQUxVRSwgLyogMTgyMiAqLworICAgIFhNTF9TQ0hFTUFWX0ZBQ0VULCAvKiAxODIzICovCisgICAgWE1MX1NDSEVNQVZfQ1ZDX0RBVEFUWVBFX1ZBTElEXzFfMl8xLCAvKiAxODI0ICovCisgICAgWE1MX1NDSEVNQVZfQ1ZDX0RBVEFUWVBFX1ZBTElEXzFfMl8yLCAvKiAxODI1ICovCisgICAgWE1MX1NDSEVNQVZfQ1ZDX0RBVEFUWVBFX1ZBTElEXzFfMl8zLCAvKiAxODI2ICovCisgICAgWE1MX1NDSEVNQVZfQ1ZDX1RZUEVfM18xXzEsIC8qIDE4MjcgKi8KKyAgICBYTUxfU0NIRU1BVl9DVkNfVFlQRV8zXzFfMiwgLyogMTgyOCAqLworICAgIFhNTF9TQ0hFTUFWX0NWQ19GQUNFVF9WQUxJRCwgLyogMTgyOSAqLworICAgIFhNTF9TQ0hFTUFWX0NWQ19MRU5HVEhfVkFMSUQsIC8qIDE4MzAgKi8KKyAgICBYTUxfU0NIRU1BVl9DVkNfTUlOTEVOR1RIX1ZBTElELCAvKiAxODMxICovCisgICAgWE1MX1NDSEVNQVZfQ1ZDX01BWExFTkdUSF9WQUxJRCwgLyogMTgzMiAqLworICAgIFhNTF9TQ0hFTUFWX0NWQ19NSU5JTkNMVVNJVkVfVkFMSUQsIC8qIDE4MzMgKi8KKyAgICBYTUxfU0NIRU1BVl9DVkNfTUFYSU5DTFVTSVZFX1ZBTElELCAvKiAxODM0ICovCisgICAgWE1MX1NDSEVNQVZfQ1ZDX01JTkVYQ0xVU0lWRV9WQUxJRCwgLyogMTgzNSAqLworICAgIFhNTF9TQ0hFTUFWX0NWQ19NQVhFWENMVVNJVkVfVkFMSUQsIC8qIDE4MzYgKi8KKyAgICBYTUxfU0NIRU1BVl9DVkNfVE9UQUxESUdJVFNfVkFMSUQsIC8qIDE4MzcgKi8KKyAgICBYTUxfU0NIRU1BVl9DVkNfRlJBQ1RJT05ESUdJVFNfVkFMSUQsIC8qIDE4MzggKi8KKyAgICBYTUxfU0NIRU1BVl9DVkNfUEFUVEVSTl9WQUxJRCwgLyogMTgzOSAqLworICAgIFhNTF9TQ0hFTUFWX0NWQ19FTlVNRVJBVElPTl9WQUxJRCwgLyogMTg0MCAqLworICAgIFhNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfMl8xLCAvKiAxODQxICovCisgICAgWE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV8yXzIsIC8qIDE4NDIgKi8KKyAgICBYTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzJfMywgLyogMTg0MyAqLworICAgIFhNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfMl80LCAvKiAxODQ0ICovCisgICAgWE1MX1NDSEVNQVZfQ1ZDX0VMVF8xLCAvKiAxODQ1ICovCisgICAgWE1MX1NDSEVNQVZfQ1ZDX0VMVF8yLCAvKiAxODQ2ICovCisgICAgWE1MX1NDSEVNQVZfQ1ZDX0VMVF8zXzEsIC8qIDE4NDcgKi8KKyAgICBYTUxfU0NIRU1BVl9DVkNfRUxUXzNfMl8xLCAvKiAxODQ4ICovCisgICAgWE1MX1NDSEVNQVZfQ1ZDX0VMVF8zXzJfMiwgLyogMTg0OSAqLworICAgIFhNTF9TQ0hFTUFWX0NWQ19FTFRfNF8xLCAvKiAxODUwICovCisgICAgWE1MX1NDSEVNQVZfQ1ZDX0VMVF80XzIsIC8qIDE4NTEgKi8KKyAgICBYTUxfU0NIRU1BVl9DVkNfRUxUXzRfMywgLyogMTg1MiAqLworICAgIFhNTF9TQ0hFTUFWX0NWQ19FTFRfNV8xXzEsIC8qIDE4NTMgKi8KKyAgICBYTUxfU0NIRU1BVl9DVkNfRUxUXzVfMV8yLCAvKiAxODU0ICovCisgICAgWE1MX1NDSEVNQVZfQ1ZDX0VMVF81XzJfMSwgLyogMTg1NSAqLworICAgIFhNTF9TQ0hFTUFWX0NWQ19FTFRfNV8yXzJfMSwgLyogMTg1NiAqLworICAgIFhNTF9TQ0hFTUFWX0NWQ19FTFRfNV8yXzJfMl8xLCAvKiAxODU3ICovCisgICAgWE1MX1NDSEVNQVZfQ1ZDX0VMVF81XzJfMl8yXzIsIC8qIDE4NTggKi8KKyAgICBYTUxfU0NIRU1BVl9DVkNfRUxUXzYsIC8qIDE4NTkgKi8KKyAgICBYTUxfU0NIRU1BVl9DVkNfRUxUXzcsIC8qIDE4NjAgKi8KKyAgICBYTUxfU0NIRU1BVl9DVkNfQVRUUklCVVRFXzEsIC8qIDE4NjEgKi8KKyAgICBYTUxfU0NIRU1BVl9DVkNfQVRUUklCVVRFXzIsIC8qIDE4NjIgKi8KKyAgICBYTUxfU0NIRU1BVl9DVkNfQVRUUklCVVRFXzMsIC8qIDE4NjMgKi8KKyAgICBYTUxfU0NIRU1BVl9DVkNfQVRUUklCVVRFXzQsIC8qIDE4NjQgKi8KKyAgICBYTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzNfMSwgLyogMTg2NSAqLworICAgIFhNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfM18yXzEsIC8qIDE4NjYgKi8KKyAgICBYTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzNfMl8yLCAvKiAxODY3ICovCisgICAgWE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV80LCAvKiAxODY4ICovCisgICAgWE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV81XzEsIC8qIDE4NjkgKi8KKyAgICBYTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzVfMiwgLyogMTg3MCAqLworICAgIFhNTF9TQ0hFTUFWX0VMRU1FTlRfQ09OVEVOVCwgLyogMTg3MSAqLworICAgIFhNTF9TQ0hFTUFWX0RPQ1VNRU5UX0VMRU1FTlRfTUlTU0lORywgLyogMTg3MiAqLworICAgIFhNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfMSwgLyogMTg3MyAqLworICAgIFhNTF9TQ0hFTUFWX0NWQ19BVSwgLyogMTg3NCAqLworICAgIFhNTF9TQ0hFTUFWX0NWQ19UWVBFXzEsIC8qIDE4NzUgKi8KKyAgICBYTUxfU0NIRU1BVl9DVkNfVFlQRV8yLCAvKiAxODc2ICovCisgICAgWE1MX1NDSEVNQVZfQ1ZDX0lEQywgLyogMTg3NyAqLworICAgIFhNTF9TQ0hFTUFWX0NWQ19XSUxEQ0FSRCwgLyogMTg3OCAqLworICAgIFhNTF9TQ0hFTUFWX01JU0MsIC8qIDE4NzkgKi8KKyAgICBYTUxfWFBUUl9VTktOT1dOX1NDSEVNRSA9IDE5MDAsCisgICAgWE1MX1hQVFJfQ0hJTERTRVFfU1RBUlQsIC8qIDE5MDEgKi8KKyAgICBYTUxfWFBUUl9FVkFMX0ZBSUxFRCwgLyogMTkwMiAqLworICAgIFhNTF9YUFRSX0VYVFJBX09CSkVDVFMsIC8qIDE5MDMgKi8KKyAgICBYTUxfQzE0Tl9DUkVBVEVfQ1RYVCA9IDE5NTAsCisgICAgWE1MX0MxNE5fUkVRVUlSRVNfVVRGOCwgLyogMTk1MSAqLworICAgIFhNTF9DMTROX0NSRUFURV9TVEFDSywgLyogMTk1MiAqLworICAgIFhNTF9DMTROX0lOVkFMSURfTk9ERSwgLyogMTk1MyAqLworICAgIFhNTF9DMTROX1VOS05PV19OT0RFLCAvKiAxOTU0ICovCisgICAgWE1MX0MxNE5fUkVMQVRJVkVfTkFNRVNQQUNFLCAvKiAxOTU1ICovCisgICAgWE1MX0ZUUF9QQVNWX0FOU1dFUiA9IDIwMDAsCisgICAgWE1MX0ZUUF9FUFNWX0FOU1dFUiwgLyogMjAwMSAqLworICAgIFhNTF9GVFBfQUNDTlQsIC8qIDIwMDIgKi8KKyAgICBYTUxfRlRQX1VSTF9TWU5UQVgsIC8qIDIwMDMgKi8KKyAgICBYTUxfSFRUUF9VUkxfU1lOVEFYID0gMjAyMCwKKyAgICBYTUxfSFRUUF9VU0VfSVAsIC8qIDIwMjEgKi8KKyAgICBYTUxfSFRUUF9VTktOT1dOX0hPU1QsIC8qIDIwMjIgKi8KKyAgICBYTUxfU0NIRU1BUF9TUkNfU0lNUExFX1RZUEVfMSA9IDMwMDAsCisgICAgWE1MX1NDSEVNQVBfU1JDX1NJTVBMRV9UWVBFXzIsIC8qIDMwMDEgKi8KKyAgICBYTUxfU0NIRU1BUF9TUkNfU0lNUExFX1RZUEVfMywgLyogMzAwMiAqLworICAgIFhNTF9TQ0hFTUFQX1NSQ19TSU1QTEVfVFlQRV80LCAvKiAzMDAzICovCisgICAgWE1MX1NDSEVNQVBfU1JDX1JFU09MVkUsIC8qIDMwMDQgKi8KKyAgICBYTUxfU0NIRU1BUF9TUkNfUkVTVFJJQ1RJT05fQkFTRV9PUl9TSU1QTEVUWVBFLCAvKiAzMDA1ICovCisgICAgWE1MX1NDSEVNQVBfU1JDX0xJU1RfSVRFTVRZUEVfT1JfU0lNUExFVFlQRSwgLyogMzAwNiAqLworICAgIFhNTF9TQ0hFTUFQX1NSQ19VTklPTl9NRU1CRVJUWVBFU19PUl9TSU1QTEVUWVBFUywgLyogMzAwNyAqLworICAgIFhNTF9TQ0hFTUFQX1NUX1BST1BTX0NPUlJFQ1RfMSwgLyogMzAwOCAqLworICAgIFhNTF9TQ0hFTUFQX1NUX1BST1BTX0NPUlJFQ1RfMiwgLyogMzAwOSAqLworICAgIFhNTF9TQ0hFTUFQX1NUX1BST1BTX0NPUlJFQ1RfMywgLyogMzAxMCAqLworICAgIFhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMV8xLCAvKiAzMDExICovCisgICAgWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18xXzIsIC8qIDMwMTIgKi8KKyAgICBYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzFfM18xLCAvKiAzMDEzICovCisgICAgWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18xXzNfMiwgLyogMzAxNCAqLworICAgIFhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMl8xLCAvKiAzMDE1ICovCisgICAgWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzNfMV8xLCAvKiAzMDE2ICovCisgICAgWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzNfMV8yLCAvKiAzMDE3ICovCisgICAgWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzNfMl8xLCAvKiAzMDE4ICovCisgICAgWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzNfMl8yLCAvKiAzMDE5ICovCisgICAgWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzNfMl8zLCAvKiAzMDIwICovCisgICAgWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzNfMl80LCAvKiAzMDIxICovCisgICAgWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzNfMl81LCAvKiAzMDIyICovCisgICAgWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzEsIC8qIDMwMjMgKi8KKyAgICBYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzNfM18xLCAvKiAzMDI0ICovCisgICAgWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzNfMV8yLCAvKiAzMDI1ICovCisgICAgWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzNfMl8yLCAvKiAzMDI2ICovCisgICAgWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzNfMl8xLCAvKiAzMDI3ICovCisgICAgWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzNfMl8zLCAvKiAzMDI4ICovCisgICAgWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzNfMl80LCAvKiAzMDI5ICovCisgICAgWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzNfMl81LCAvKiAzMDMwICovCisgICAgWE1MX1NDSEVNQVBfQ09TX1NUX0RFUklWRURfT0tfMl8xLCAvKiAzMDMxICovCisgICAgWE1MX1NDSEVNQVBfQ09TX1NUX0RFUklWRURfT0tfMl8yLCAvKiAzMDMyICovCisgICAgWE1MX1NDSEVNQVBfUzRTX0VMRU1fTk9UX0FMTE9XRUQsIC8qIDMwMzMgKi8KKyAgICBYTUxfU0NIRU1BUF9TNFNfRUxFTV9NSVNTSU5HLCAvKiAzMDM0ICovCisgICAgWE1MX1NDSEVNQVBfUzRTX0FUVFJfTk9UX0FMTE9XRUQsIC8qIDMwMzUgKi8KKyAgICBYTUxfU0NIRU1BUF9TNFNfQVRUUl9NSVNTSU5HLCAvKiAzMDM2ICovCisgICAgWE1MX1NDSEVNQVBfUzRTX0FUVFJfSU5WQUxJRF9WQUxVRSwgLyogMzAzNyAqLworICAgIFhNTF9TQ0hFTUFQX1NSQ19FTEVNRU5UXzEsIC8qIDMwMzggKi8KKyAgICBYTUxfU0NIRU1BUF9TUkNfRUxFTUVOVF8yXzEsIC8qIDMwMzkgKi8KKyAgICBYTUxfU0NIRU1BUF9TUkNfRUxFTUVOVF8yXzIsIC8qIDMwNDAgKi8KKyAgICBYTUxfU0NIRU1BUF9TUkNfRUxFTUVOVF8zLCAvKiAzMDQxICovCisgICAgWE1MX1NDSEVNQVBfUF9QUk9QU19DT1JSRUNUXzEsIC8qIDMwNDIgKi8KKyAgICBYTUxfU0NIRU1BUF9QX1BST1BTX0NPUlJFQ1RfMl8xLCAvKiAzMDQzICovCisgICAgWE1MX1NDSEVNQVBfUF9QUk9QU19DT1JSRUNUXzJfMiwgLyogMzA0NCAqLworICAgIFhNTF9TQ0hFTUFQX0VfUFJPUFNfQ09SUkVDVF8yLCAvKiAzMDQ1ICovCisgICAgWE1MX1NDSEVNQVBfRV9QUk9QU19DT1JSRUNUXzMsIC8qIDMwNDYgKi8KKyAgICBYTUxfU0NIRU1BUF9FX1BST1BTX0NPUlJFQ1RfNCwgLyogMzA0NyAqLworICAgIFhNTF9TQ0hFTUFQX0VfUFJPUFNfQ09SUkVDVF81LCAvKiAzMDQ4ICovCisgICAgWE1MX1NDSEVNQVBfRV9QUk9QU19DT1JSRUNUXzYsIC8qIDMwNDkgKi8KKyAgICBYTUxfU0NIRU1BUF9TUkNfSU5DTFVERSwgLyogMzA1MCAqLworICAgIFhNTF9TQ0hFTUFQX1NSQ19BVFRSSUJVVEVfMSwgLyogMzA1MSAqLworICAgIFhNTF9TQ0hFTUFQX1NSQ19BVFRSSUJVVEVfMiwgLyogMzA1MiAqLworICAgIFhNTF9TQ0hFTUFQX1NSQ19BVFRSSUJVVEVfM18xLCAvKiAzMDUzICovCisgICAgWE1MX1NDSEVNQVBfU1JDX0FUVFJJQlVURV8zXzIsIC8qIDMwNTQgKi8KKyAgICBYTUxfU0NIRU1BUF9TUkNfQVRUUklCVVRFXzQsIC8qIDMwNTUgKi8KKyAgICBYTUxfU0NIRU1BUF9OT19YTUxOUywgLyogMzA1NiAqLworICAgIFhNTF9TQ0hFTUFQX05PX1hTSSwgLyogMzA1NyAqLworICAgIFhNTF9TQ0hFTUFQX0NPU19WQUxJRF9ERUZBVUxUXzEsIC8qIDMwNTggKi8KKyAgICBYTUxfU0NIRU1BUF9DT1NfVkFMSURfREVGQVVMVF8yXzEsIC8qIDMwNTkgKi8KKyAgICBYTUxfU0NIRU1BUF9DT1NfVkFMSURfREVGQVVMVF8yXzJfMSwgLyogMzA2MCAqLworICAgIFhNTF9TQ0hFTUFQX0NPU19WQUxJRF9ERUZBVUxUXzJfMl8yLCAvKiAzMDYxICovCisgICAgWE1MX1NDSEVNQVBfQ1ZDX1NJTVBMRV9UWVBFLCAvKiAzMDYyICovCisgICAgWE1MX1NDSEVNQVBfQ09TX0NUX0VYVEVORFNfMV8xLCAvKiAzMDYzICovCisgICAgWE1MX1NDSEVNQVBfU1JDX0lNUE9SVF8xXzEsIC8qIDMwNjQgKi8KKyAgICBYTUxfU0NIRU1BUF9TUkNfSU1QT1JUXzFfMiwgLyogMzA2NSAqLworICAgIFhNTF9TQ0hFTUFQX1NSQ19JTVBPUlRfMiwgLyogMzA2NiAqLworICAgIFhNTF9TQ0hFTUFQX1NSQ19JTVBPUlRfMl8xLCAvKiAzMDY3ICovCisgICAgWE1MX1NDSEVNQVBfU1JDX0lNUE9SVF8yXzIsIC8qIDMwNjggKi8KKyAgICBYTUxfU0NIRU1BUF9JTlRFUk5BTCwgLyogMzA2OSBub24tVzNDICovCisgICAgWE1MX1NDSEVNQVBfTk9UX0RFVEVSTUlOSVNUSUMsIC8qIDMwNzAgbm9uLVczQyAqLworICAgIFhNTF9TQ0hFTUFQX1NSQ19BVFRSSUJVVEVfR1JPVVBfMSwgLyogMzA3MSAqLworICAgIFhNTF9TQ0hFTUFQX1NSQ19BVFRSSUJVVEVfR1JPVVBfMiwgLyogMzA3MiAqLworICAgIFhNTF9TQ0hFTUFQX1NSQ19BVFRSSUJVVEVfR1JPVVBfMywgLyogMzA3MyAqLworICAgIFhNTF9TQ0hFTUFQX01HX1BST1BTX0NPUlJFQ1RfMSwgLyogMzA3NCAqLworICAgIFhNTF9TQ0hFTUFQX01HX1BST1BTX0NPUlJFQ1RfMiwgLyogMzA3NSAqLworICAgIFhNTF9TQ0hFTUFQX1NSQ19DVF8xLCAvKiAzMDc2ICovCisgICAgWE1MX1NDSEVNQVBfREVSSVZBVElPTl9PS19SRVNUUklDVElPTl8yXzFfMywgLyogMzA3NyAqLworICAgIFhNTF9TQ0hFTUFQX0FVX1BST1BTX0NPUlJFQ1RfMiwgLyogMzA3OCAqLworICAgIFhNTF9TQ0hFTUFQX0FfUFJPUFNfQ09SUkVDVF8yLCAvKiAzMDc5ICovCisgICAgWE1MX1NDSEVNQVBfQ19QUk9QU19DT1JSRUNULCAvKiAzMDgwICovCisgICAgWE1MX1NDSEVNQVBfU1JDX1JFREVGSU5FLCAvKiAzMDgxICovCisgICAgWE1MX1NDSEVNQVBfU1JDX0lNUE9SVCwgLyogMzA4MiAqLworICAgIFhNTF9TQ0hFTUFQX1dBUk5fU0tJUF9TQ0hFTUEsIC8qIDMwODMgKi8KKyAgICBYTUxfU0NIRU1BUF9XQVJOX1VOTE9DQVRFRF9TQ0hFTUEsIC8qIDMwODQgKi8KKyAgICBYTUxfU0NIRU1BUF9XQVJOX0FUVFJfUkVERUNMX1BST0gsIC8qIDMwODUgKi8KKyAgICBYTUxfU0NIRU1BUF9XQVJOX0FUVFJfUE9JTlRMRVNTX1BST0gsIC8qIDMwODUgKi8KKyAgICBYTUxfU0NIRU1BUF9BR19QUk9QU19DT1JSRUNULCAvKiAzMDg2ICovCisgICAgWE1MX1NDSEVNQVBfQ09TX0NUX0VYVEVORFNfMV8yLCAvKiAzMDg3ICovCisgICAgWE1MX1NDSEVNQVBfQVVfUFJPUFNfQ09SUkVDVCwgLyogMzA4OCAqLworICAgIFhNTF9TQ0hFTUFQX0FfUFJPUFNfQ09SUkVDVF8zLCAvKiAzMDg5ICovCisgICAgWE1MX1NDSEVNQVBfQ09TX0FMTF9MSU1JVEVELCAvKiAzMDkwICovCisgICAgWE1MX1NDSEVNQVRST05WX0FTU0VSVCA9IDQwMDAsIC8qIDQwMDAgKi8KKyAgICBYTUxfU0NIRU1BVFJPTlZfUkVQT1JULAorICAgIFhNTF9NT0RVTEVfT1BFTiA9IDQ5MDAsIC8qIDQ5MDAgKi8KKyAgICBYTUxfTU9EVUxFX0NMT1NFLCAvKiA0OTAxICovCisgICAgWE1MX0NIRUNLX0ZPVU5EX0VMRU1FTlQgPSA1MDAwLAorICAgIFhNTF9DSEVDS19GT1VORF9BVFRSSUJVVEUsIC8qIDUwMDEgKi8KKyAgICBYTUxfQ0hFQ0tfRk9VTkRfVEVYVCwgLyogNTAwMiAqLworICAgIFhNTF9DSEVDS19GT1VORF9DREFUQSwgLyogNTAwMyAqLworICAgIFhNTF9DSEVDS19GT1VORF9FTlRJVFlSRUYsIC8qIDUwMDQgKi8KKyAgICBYTUxfQ0hFQ0tfRk9VTkRfRU5USVRZLCAvKiA1MDA1ICovCisgICAgWE1MX0NIRUNLX0ZPVU5EX1BJLCAvKiA1MDA2ICovCisgICAgWE1MX0NIRUNLX0ZPVU5EX0NPTU1FTlQsIC8qIDUwMDcgKi8KKyAgICBYTUxfQ0hFQ0tfRk9VTkRfRE9DVFlQRSwgLyogNTAwOCAqLworICAgIFhNTF9DSEVDS19GT1VORF9GUkFHTUVOVCwgLyogNTAwOSAqLworICAgIFhNTF9DSEVDS19GT1VORF9OT1RBVElPTiwgLyogNTAxMCAqLworICAgIFhNTF9DSEVDS19VTktOT1dOX05PREUsIC8qIDUwMTEgKi8KKyAgICBYTUxfQ0hFQ0tfRU5USVRZX1RZUEUsIC8qIDUwMTIgKi8KKyAgICBYTUxfQ0hFQ0tfTk9fUEFSRU5ULCAvKiA1MDEzICovCisgICAgWE1MX0NIRUNLX05PX0RPQywgLyogNTAxNCAqLworICAgIFhNTF9DSEVDS19OT19OQU1FLCAvKiA1MDE1ICovCisgICAgWE1MX0NIRUNLX05PX0VMRU0sIC8qIDUwMTYgKi8KKyAgICBYTUxfQ0hFQ0tfV1JPTkdfRE9DLCAvKiA1MDE3ICovCisgICAgWE1MX0NIRUNLX05PX1BSRVYsIC8qIDUwMTggKi8KKyAgICBYTUxfQ0hFQ0tfV1JPTkdfUFJFViwgLyogNTAxOSAqLworICAgIFhNTF9DSEVDS19OT19ORVhULCAvKiA1MDIwICovCisgICAgWE1MX0NIRUNLX1dST05HX05FWFQsIC8qIDUwMjEgKi8KKyAgICBYTUxfQ0hFQ0tfTk9UX0RURCwgLyogNTAyMiAqLworICAgIFhNTF9DSEVDS19OT1RfQVRUUiwgLyogNTAyMyAqLworICAgIFhNTF9DSEVDS19OT1RfQVRUUl9ERUNMLCAvKiA1MDI0ICovCisgICAgWE1MX0NIRUNLX05PVF9FTEVNX0RFQ0wsIC8qIDUwMjUgKi8KKyAgICBYTUxfQ0hFQ0tfTk9UX0VOVElUWV9ERUNMLCAvKiA1MDI2ICovCisgICAgWE1MX0NIRUNLX05PVF9OU19ERUNMLCAvKiA1MDI3ICovCisgICAgWE1MX0NIRUNLX05PX0hSRUYsIC8qIDUwMjggKi8KKyAgICBYTUxfQ0hFQ0tfV1JPTkdfUEFSRU5ULC8qIDUwMjkgKi8KKyAgICBYTUxfQ0hFQ0tfTlNfU0NPUEUsIC8qIDUwMzAgKi8KKyAgICBYTUxfQ0hFQ0tfTlNfQU5DRVNUT1IsIC8qIDUwMzEgKi8KKyAgICBYTUxfQ0hFQ0tfTk9UX1VURjgsIC8qIDUwMzIgKi8KKyAgICBYTUxfQ0hFQ0tfTk9fRElDVCwgLyogNTAzMyAqLworICAgIFhNTF9DSEVDS19OT1RfTkNOQU1FLCAvKiA1MDM0ICovCisgICAgWE1MX0NIRUNLX09VVFNJREVfRElDVCwgLyogNTAzNSAqLworICAgIFhNTF9DSEVDS19XUk9OR19OQU1FLCAvKiA1MDM2ICovCisgICAgWE1MX0NIRUNLX05BTUVfTk9UX05VTEwsIC8qIDUwMzcgKi8KKyAgICBYTUxfSTE4Tl9OT19OQU1FID0gNjAwMCwKKyAgICBYTUxfSTE4Tl9OT19IQU5ETEVSLCAvKiA2MDAxICovCisgICAgWE1MX0kxOE5fRVhDRVNTX0hBTkRMRVIsIC8qIDYwMDIgKi8KKyAgICBYTUxfSTE4Tl9DT05WX0ZBSUxFRCwgLyogNjAwMyAqLworICAgIFhNTF9JMThOX05PX09VVFBVVCwgLyogNjAwNCAqLworICAgIFhNTF9CVUZfT1ZFUkZMT1cgPSA3MDAwCit9IHhtbFBhcnNlckVycm9yczsKKworLyoqCisgKiB4bWxHZW5lcmljRXJyb3JGdW5jOgorICogQGN0eDogIGEgcGFyc2luZyBjb250ZXh0CisgKiBAbXNnOiAgdGhlIG1lc3NhZ2UKKyAqIEAuLi46ICB0aGUgZXh0cmEgYXJndW1lbnRzIG9mIHRoZSB2YXJhZ3MgdG8gZm9ybWF0IHRoZSBtZXNzYWdlCisgKgorICogU2lnbmF0dXJlIG9mIHRoZSBmdW5jdGlvbiB0byB1c2Ugd2hlbiB0aGVyZSBpcyBhbiBlcnJvciBhbmQKKyAqIG5vIHBhcnNpbmcgb3IgdmFsaWRpdHkgY29udGV4dCBhdmFpbGFibGUgLgorICovCit0eXBlZGVmIHZvaWQgKFhNTENERUNMICp4bWxHZW5lcmljRXJyb3JGdW5jKSAodm9pZCAqY3R4LAorCQkJCSBjb25zdCBjaGFyICptc2csCisJCQkJIC4uLikgTElCWE1MX0FUVFJfRk9STUFUKDIsMyk7CisvKioKKyAqIHhtbFN0cnVjdHVyZWRFcnJvckZ1bmM6CisgKiBAdXNlckRhdGE6ICB1c2VyIHByb3ZpZGVkIGRhdGEgZm9yIHRoZSBlcnJvciBjYWxsYmFjaworICogQGVycm9yOiAgdGhlIGVycm9yIGJlaW5nIHJhaXNlZC4KKyAqCisgKiBTaWduYXR1cmUgb2YgdGhlIGZ1bmN0aW9uIHRvIHVzZSB3aGVuIHRoZXJlIGlzIGFuIGVycm9yIGFuZAorICogdGhlIG1vZHVsZSBoYW5kbGVzIHRoZSBuZXcgZXJyb3IgcmVwb3J0aW5nIG1lY2hhbmlzbS4KKyAqLwordHlwZWRlZiB2b2lkIChYTUxDQUxMICp4bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jKSAodm9pZCAqdXNlckRhdGEsIHhtbEVycm9yUHRyIGVycm9yKTsKKworLyoKKyAqIFVzZSB0aGUgZm9sbG93aW5nIGZ1bmN0aW9uIHRvIHJlc2V0IHRoZSB0d28gZ2xvYmFsIHZhcmlhYmxlcworICogeG1sR2VuZXJpY0Vycm9yIGFuZCB4bWxHZW5lcmljRXJyb3JDb250ZXh0LgorICovCitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisgICAgeG1sU2V0R2VuZXJpY0Vycm9yRnVuYwkodm9pZCAqY3R4LAorCQkJCSB4bWxHZW5lcmljRXJyb3JGdW5jIGhhbmRsZXIpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorICAgIGluaXRHZW5lcmljRXJyb3JEZWZhdWx0RnVuYwkoeG1sR2VuZXJpY0Vycm9yRnVuYyAqaGFuZGxlcik7CisKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKyAgICB4bWxTZXRTdHJ1Y3R1cmVkRXJyb3JGdW5jCSh2b2lkICpjdHgsCisJCQkJIHhtbFN0cnVjdHVyZWRFcnJvckZ1bmMgaGFuZGxlcik7CisvKgorICogRGVmYXVsdCBtZXNzYWdlIHJvdXRpbmVzIHVzZWQgYnkgU0FYIGFuZCBWYWxpZCBjb250ZXh0IGZvciBlcnJvcgorICogYW5kIHdhcm5pbmcgcmVwb3J0aW5nLgorICovCitYTUxQVUJGVU4gdm9pZCBYTUxDREVDTAorICAgIHhtbFBhcnNlckVycm9yCQkodm9pZCAqY3R4LAorCQkJCSBjb25zdCBjaGFyICptc2csCisJCQkJIC4uLikgTElCWE1MX0FUVFJfRk9STUFUKDIsMyk7CitYTUxQVUJGVU4gdm9pZCBYTUxDREVDTAorICAgIHhtbFBhcnNlcldhcm5pbmcJCSh2b2lkICpjdHgsCisJCQkJIGNvbnN0IGNoYXIgKm1zZywKKwkJCQkgLi4uKSBMSUJYTUxfQVRUUl9GT1JNQVQoMiwzKTsKK1hNTFBVQkZVTiB2b2lkIFhNTENERUNMCisgICAgeG1sUGFyc2VyVmFsaWRpdHlFcnJvcgkodm9pZCAqY3R4LAorCQkJCSBjb25zdCBjaGFyICptc2csCisJCQkJIC4uLikgTElCWE1MX0FUVFJfRk9STUFUKDIsMyk7CitYTUxQVUJGVU4gdm9pZCBYTUxDREVDTAorICAgIHhtbFBhcnNlclZhbGlkaXR5V2FybmluZwkodm9pZCAqY3R4LAorCQkJCSBjb25zdCBjaGFyICptc2csCisJCQkJIC4uLikgTElCWE1MX0FUVFJfRk9STUFUKDIsMyk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisgICAgeG1sUGFyc2VyUHJpbnRGaWxlSW5mbwkoeG1sUGFyc2VySW5wdXRQdHIgaW5wdXQpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorICAgIHhtbFBhcnNlclByaW50RmlsZUNvbnRleHQJKHhtbFBhcnNlcklucHV0UHRyIGlucHV0KTsKKworLyoKKyAqIEV4dGVuZGVkIGVycm9yIGluZm9ybWF0aW9uIHJvdXRpbmVzCisgKi8KK1hNTFBVQkZVTiB4bWxFcnJvclB0ciBYTUxDQUxMCisgICAgeG1sR2V0TGFzdEVycm9yCQkodm9pZCk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisgICAgeG1sUmVzZXRMYXN0RXJyb3IJCSh2b2lkKTsKK1hNTFBVQkZVTiB4bWxFcnJvclB0ciBYTUxDQUxMCisgICAgeG1sQ3R4dEdldExhc3RFcnJvcgkJKHZvaWQgKmN0eCk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisgICAgeG1sQ3R4dFJlc2V0TGFzdEVycm9yCSh2b2lkICpjdHgpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorICAgIHhtbFJlc2V0RXJyb3IJCSh4bWxFcnJvclB0ciBlcnIpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisgICAgeG1sQ29weUVycm9yCQkoeG1sRXJyb3JQdHIgZnJvbSwKKwkJCQkgeG1sRXJyb3JQdHIgdG8pOworCisjaWZkZWYgSU5fTElCWE1MCisvKgorICogSW50ZXJuYWwgY2FsbGJhY2sgcmVwb3J0aW5nIHJvdXRpbmUKKyAqLworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorICAgIF9feG1sUmFpc2VFcnJvcgkJKHhtbFN0cnVjdHVyZWRFcnJvckZ1bmMgc2NoYW5uZWwsCisJCQkJIHhtbEdlbmVyaWNFcnJvckZ1bmMgY2hhbm5lbCwKKwkJCQkgdm9pZCAqZGF0YSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKmN0eCwKKwkJCQkgdm9pZCAqbm9kZSwKKwkJCQkgaW50IGRvbWFpbiwKKwkJCQkgaW50IGNvZGUsCisJCQkJIHhtbEVycm9yTGV2ZWwgbGV2ZWwsCisJCQkJIGNvbnN0IGNoYXIgKmZpbGUsCisJCQkJIGludCBsaW5lLAorCQkJCSBjb25zdCBjaGFyICpzdHIxLAorCQkJCSBjb25zdCBjaGFyICpzdHIyLAorCQkJCSBjb25zdCBjaGFyICpzdHIzLAorCQkJCSBpbnQgaW50MSwKKwkJCQkgaW50IGNvbCwKKwkJCQkgY29uc3QgY2hhciAqbXNnLAorCQkJCSAuLi4pIExJQlhNTF9BVFRSX0ZPUk1BVCgxNiwxNyk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisgICAgX194bWxTaW1wbGVFcnJvcgkJKGludCBkb21haW4sCisJCQkJIGludCBjb2RlLAorCQkJCSB4bWxOb2RlUHRyIG5vZGUsCisJCQkJIGNvbnN0IGNoYXIgKm1zZywKKwkJCQkgY29uc3QgY2hhciAqZXh0cmEpOworI2VuZGlmCisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorI2VuZGlmIC8qIF9fWE1MX0VSUk9SX0hfXyAqLwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9pbmNsdWRlL2xpYnhtbC94bWxleHBvcnRzLmggYi9saWJ4bWwyL2luY2x1ZGUvbGlieG1sL3htbGV4cG9ydHMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYzc5ZjgxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9pbmNsdWRlL2xpYnhtbC94bWxleHBvcnRzLmgKQEAgLTAsMCArMSwxNjIgQEAKKy8qCisgKiBTdW1tYXJ5OiBtYWNyb3MgZm9yIG1hcmtpbmcgc3ltYm9scyBhcyBleHBvcnRhYmxlL2ltcG9ydGFibGUuCisgKiBEZXNjcmlwdGlvbjogbWFjcm9zIGZvciBtYXJraW5nIHN5bWJvbHMgYXMgZXhwb3J0YWJsZS9pbXBvcnRhYmxlLgorICoKKyAqIENvcHk6IFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyAqCisgKiBBdXRob3I6IElnb3IgWmxhdG92aWMgPGlnb3JAemxhdGtvdmljLmNvbT4KKyAqLworCisjaWZuZGVmIF9fWE1MX0VYUE9SVFNfSF9fCisjZGVmaW5lIF9fWE1MX0VYUE9SVFNfSF9fCisKKy8qKgorICogWE1MUFVCRlVOLCBYTUxQVUJWQVIsIFhNTENBTEwKKyAqCisgKiBNYWNyb3Mgd2hpY2ggZGVjbGFyZSBhbiBleHBvcnRhYmxlIGZ1bmN0aW9uLCBhbiBleHBvcnRhYmxlIHZhcmlhYmxlIGFuZAorICogdGhlIGNhbGxpbmcgY29udmVudGlvbiB1c2VkIGZvciBmdW5jdGlvbnMuCisgKgorICogUGxlYXNlIHVzZSBhbiBleHRyYSBibG9jayBmb3IgZXZlcnkgcGxhdGZvcm0vY29tcGlsZXIgY29tYmluYXRpb24gd2hlbgorICogbW9kaWZ5aW5nIHRoaXMsIHJhdGhlciB0aGFuIG92ZXJsb25nICNpZmRlZiBsaW5lcy4gVGhpcyBoZWxwcworICogcmVhZGFiaWxpdHkgYXMgd2VsbCBhcyB0aGUgZmFjdCB0aGF0IGRpZmZlcmVudCBjb21waWxlcnMgb24gdGhlIHNhbWUKKyAqIHBsYXRmb3JtIG1pZ2h0IG5lZWQgZGlmZmVyZW50IGRlZmluaXRpb25zLgorICovCisKKy8qKgorICogWE1MUFVCRlVOOgorICoKKyAqIE1hY3JvcyB3aGljaCBkZWNsYXJlIGFuIGV4cG9ydGFibGUgZnVuY3Rpb24KKyAqLworI2RlZmluZSBYTUxQVUJGVU4KKy8qKgorICogWE1MUFVCVkFSOgorICoKKyAqIE1hY3JvcyB3aGljaCBkZWNsYXJlIGFuIGV4cG9ydGFibGUgdmFyaWFibGUKKyAqLworI2RlZmluZSBYTUxQVUJWQVIgZXh0ZXJuCisvKioKKyAqIFhNTENBTEw6CisgKgorICogTWFjcm9zIHdoaWNoIGRlY2xhcmUgdGhlIGNhbGxlZCBjb252ZW50aW9uIGZvciBleHBvcnRlZCBmdW5jdGlvbnMKKyAqLworI2RlZmluZSBYTUxDQUxMCisvKioKKyAqIFhNTENERUNMOgorICoKKyAqIE1hY3JvIHdoaWNoIGRlY2xhcmVzIHRoZSBjYWxsaW5nIGNvbnZlbnRpb24gZm9yIGV4cG9ydGVkIGZ1bmN0aW9ucyB0aGF0CisgKiB1c2UgJy4uLicuCisgKi8KKyNkZWZpbmUgWE1MQ0RFQ0wKKworLyoqIERPQ19ESVNBQkxFICovCisKKy8qIFdpbmRvd3MgcGxhdGZvcm0gd2l0aCBNUyBjb21waWxlciAqLworI2lmIGRlZmluZWQoX1dJTjMyKSAmJiBkZWZpbmVkKF9NU0NfVkVSKQorICAjdW5kZWYgWE1MUFVCRlVOCisgICN1bmRlZiBYTUxQVUJWQVIKKyAgI3VuZGVmIFhNTENBTEwKKyAgI3VuZGVmIFhNTENERUNMCisgICNpZiBkZWZpbmVkKElOX0xJQlhNTCkgJiYgIWRlZmluZWQoTElCWE1MX1NUQVRJQykKKyAgICAjZGVmaW5lIFhNTFBVQkZVTiBfX2RlY2xzcGVjKGRsbGV4cG9ydCkKKyAgICAjZGVmaW5lIFhNTFBVQlZBUiBfX2RlY2xzcGVjKGRsbGV4cG9ydCkKKyAgI2Vsc2UKKyAgICAjZGVmaW5lIFhNTFBVQkZVTgorICAgICNpZiAhZGVmaW5lZChMSUJYTUxfU1RBVElDKQorICAgICAgI2RlZmluZSBYTUxQVUJWQVIgX19kZWNsc3BlYyhkbGxpbXBvcnQpIGV4dGVybgorICAgICNlbHNlCisgICAgICAjZGVmaW5lIFhNTFBVQlZBUiBleHRlcm4KKyAgICAjZW5kaWYKKyAgI2VuZGlmCisgICNpZiBkZWZpbmVkKExJQlhNTF9GQVNUQ0FMTCkKKyAgICAjZGVmaW5lIFhNTENBTEwgX19mYXN0Y2FsbAorICAjZWxzZQorICAgICNkZWZpbmUgWE1MQ0FMTCBfX2NkZWNsCisgICNlbmRpZgorICAjZGVmaW5lIFhNTENERUNMIF9fY2RlY2wKKyAgI2lmICFkZWZpbmVkIF9SRUVOVFJBTlQKKyAgICAjZGVmaW5lIF9SRUVOVFJBTlQKKyAgI2VuZGlmCisjZW5kaWYKKworLyogV2luZG93cyBwbGF0Zm9ybSB3aXRoIEJvcmxhbmQgY29tcGlsZXIgKi8KKyNpZiBkZWZpbmVkKF9XSU4zMikgJiYgZGVmaW5lZChfX0JPUkxBTkRDX18pCisgICN1bmRlZiBYTUxQVUJGVU4KKyAgI3VuZGVmIFhNTFBVQlZBUgorICAjdW5kZWYgWE1MQ0FMTAorICAjdW5kZWYgWE1MQ0RFQ0wKKyAgI2lmIGRlZmluZWQoSU5fTElCWE1MKSAmJiAhZGVmaW5lZChMSUJYTUxfU1RBVElDKQorICAgICNkZWZpbmUgWE1MUFVCRlVOIF9fZGVjbHNwZWMoZGxsZXhwb3J0KQorICAgICNkZWZpbmUgWE1MUFVCVkFSIF9fZGVjbHNwZWMoZGxsZXhwb3J0KSBleHRlcm4KKyAgI2Vsc2UKKyAgICAjZGVmaW5lIFhNTFBVQkZVTgorICAgICNpZiAhZGVmaW5lZChMSUJYTUxfU1RBVElDKQorICAgICAgI2RlZmluZSBYTUxQVUJWQVIgX19kZWNsc3BlYyhkbGxpbXBvcnQpIGV4dGVybgorICAgICNlbHNlCisgICAgICAjZGVmaW5lIFhNTFBVQlZBUiBleHRlcm4KKyAgICAjZW5kaWYKKyAgI2VuZGlmCisgICNkZWZpbmUgWE1MQ0FMTCBfX2NkZWNsCisgICNkZWZpbmUgWE1MQ0RFQ0wgX19jZGVjbAorICAjaWYgIWRlZmluZWQgX1JFRU5UUkFOVAorICAgICNkZWZpbmUgX1JFRU5UUkFOVAorICAjZW5kaWYKKyNlbmRpZgorCisvKiBXaW5kb3dzIHBsYXRmb3JtIHdpdGggR05VIGNvbXBpbGVyIChNaW5ndykgKi8KKyNpZiBkZWZpbmVkKF9XSU4zMikgJiYgZGVmaW5lZChfX01JTkdXMzJfXykKKyAgI3VuZGVmIFhNTFBVQkZVTgorICAjdW5kZWYgWE1MUFVCVkFSCisgICN1bmRlZiBYTUxDQUxMCisgICN1bmRlZiBYTUxDREVDTAorICAvKgorICAgKiBpZiBkZWZpbmVkKElOX0xJQlhNTCkgdGhpcyByYWlzZXMgcHJvYmxlbXMgb24gbWluZ3cgd2l0aCBtc3lzCisgICAqIF9pbXBfX3htbEZyZWUgbGlzdGVkIGFzIG1pc3NpbmcuIFRyeSB0byB3b3JrYXJvdW5kIHRoZSBwcm9ibGVtCisgICAqIGJ5IGFsc28gbWFraW5nIHRoYXQgZGVjbGFyYXRpb24gd2hlbiBjb21waWxpbmcgY2xpZW50IGNvZGUuCisgICAqLworICAjaWYgZGVmaW5lZChJTl9MSUJYTUwpICYmICFkZWZpbmVkKExJQlhNTF9TVEFUSUMpCisgICAgI2RlZmluZSBYTUxQVUJGVU4gX19kZWNsc3BlYyhkbGxleHBvcnQpCisgICAgI2RlZmluZSBYTUxQVUJWQVIgX19kZWNsc3BlYyhkbGxleHBvcnQpIGV4dGVybgorICAjZWxzZQorICAgICNkZWZpbmUgWE1MUFVCRlVOCisgICAgI2lmICFkZWZpbmVkKExJQlhNTF9TVEFUSUMpCisgICAgICAjZGVmaW5lIFhNTFBVQlZBUiBfX2RlY2xzcGVjKGRsbGltcG9ydCkgZXh0ZXJuCisgICAgI2Vsc2UKKyAgICAgICNkZWZpbmUgWE1MUFVCVkFSIGV4dGVybgorICAgICNlbmRpZgorICAjZW5kaWYKKyAgI2RlZmluZSBYTUxDQUxMIF9fY2RlY2wKKyAgI2RlZmluZSBYTUxDREVDTCBfX2NkZWNsCisgICNpZiAhZGVmaW5lZCBfUkVFTlRSQU5UCisgICAgI2RlZmluZSBfUkVFTlRSQU5UCisgICNlbmRpZgorI2VuZGlmCisKKy8qIEN5Z3dpbiBwbGF0Zm9ybSwgR05VIGNvbXBpbGVyICovCisjaWYgZGVmaW5lZChfV0lOMzIpICYmIGRlZmluZWQoX19DWUdXSU5fXykKKyAgI3VuZGVmIFhNTFBVQkZVTgorICAjdW5kZWYgWE1MUFVCVkFSCisgICN1bmRlZiBYTUxDQUxMCisgICN1bmRlZiBYTUxDREVDTAorICAjaWYgZGVmaW5lZChJTl9MSUJYTUwpICYmICFkZWZpbmVkKExJQlhNTF9TVEFUSUMpCisgICAgI2RlZmluZSBYTUxQVUJGVU4gX19kZWNsc3BlYyhkbGxleHBvcnQpCisgICAgI2RlZmluZSBYTUxQVUJWQVIgX19kZWNsc3BlYyhkbGxleHBvcnQpCisgICNlbHNlCisgICAgI2RlZmluZSBYTUxQVUJGVU4KKyAgICAjaWYgIWRlZmluZWQoTElCWE1MX1NUQVRJQykKKyAgICAgICNkZWZpbmUgWE1MUFVCVkFSIF9fZGVjbHNwZWMoZGxsaW1wb3J0KSBleHRlcm4KKyAgICAjZWxzZQorICAgICAgI2RlZmluZSBYTUxQVUJWQVIKKyAgICAjZW5kaWYKKyAgI2VuZGlmCisgICNkZWZpbmUgWE1MQ0FMTCBfX2NkZWNsCisgICNkZWZpbmUgWE1MQ0RFQ0wgX19jZGVjbAorI2VuZGlmCisKKy8qIENvbXBhdGliaWxpdHkgKi8KKyNpZiAhZGVmaW5lZChMSUJYTUxfRExMX0lNUE9SVCkKKyNkZWZpbmUgTElCWE1MX0RMTF9JTVBPUlQgWE1MUFVCVkFSCisjZW5kaWYKKworI2VuZGlmIC8qIF9fWE1MX0VYUE9SVFNfSF9fICovCisKKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9pbmNsdWRlL2xpYnhtbC94bWxtZW1vcnkuaCBiL2xpYnhtbDIvaW5jbHVkZS9saWJ4bWwveG1sbWVtb3J5LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTdlMzc1YQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvaW5jbHVkZS9saWJ4bWwveG1sbWVtb3J5LmgKQEAgLTAsMCArMSwyMjQgQEAKKy8qCisgKiBTdW1tYXJ5OiBpbnRlcmZhY2UgZm9yIHRoZSBtZW1vcnkgYWxsb2NhdG9yCisgKiBEZXNjcmlwdGlvbjogcHJvdmlkZXMgaW50ZXJmYWNlcyBmb3IgdGhlIG1lbW9yeSBhbGxvY2F0b3IsCisgKiAgICAgICAgICAgICAgaW5jbHVkaW5nIGRlYnVnZ2luZyBjYXBhYmlsaXRpZXMuCisgKgorICogQ29weTogU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgorICoKKyAqIEF1dGhvcjogRGFuaWVsIFZlaWxsYXJkCisgKi8KKworCisjaWZuZGVmIF9fREVCVUdfTUVNT1JZX0FMTE9DX18KKyNkZWZpbmUgX19ERUJVR19NRU1PUllfQUxMT0NfXworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxsaWJ4bWwveG1sdmVyc2lvbi5oPgorCisvKioKKyAqIERFQlVHX01FTU9SWToKKyAqCisgKiBERUJVR19NRU1PUlkgcmVwbGFjZXMgdGhlIGFsbG9jYXRvciB3aXRoIGEgY29sbGVjdCBhbmQgZGVidWcKKyAqIHNoZWxsIHRvIHRoZSBsaWJjIGFsbG9jYXRvci4KKyAqIERFQlVHX01FTU9SWSBzaG91bGQgb25seSBiZSBhY3RpdmF0ZWQgd2hlbiBkZWJ1Z2dpbmcKKyAqIGxpYnhtbCBpLmUuIGlmIGxpYnhtbCBoYXMgYmVlbiBjb25maWd1cmVkIHdpdGggLS13aXRoLWRlYnVnLW1lbSB0b28uCisgKi8KKy8qICNkZWZpbmUgREVCVUdfTUVNT1JZX0ZSRUVEICovCisvKiAjZGVmaW5lIERFQlVHX01FTU9SWV9MT0NBVElPTiAqLworCisjaWZkZWYgREVCVUcKKyNpZm5kZWYgREVCVUdfTUVNT1JZCisjZGVmaW5lIERFQlVHX01FTU9SWQorI2VuZGlmCisjZW5kaWYKKworLyoqCisgKiBERUJVR19NRU1PUllfTE9DQVRJT046CisgKgorICogREVCVUdfTUVNT1JZX0xPQ0FUSU9OIHNob3VsZCBiZSBhY3RpdmF0ZWQgb25seSB3aGVuIGRlYnVnZ2luZworICogbGlieG1sIGkuZS4gaWYgbGlieG1sIGhhcyBiZWVuIGNvbmZpZ3VyZWQgd2l0aCAtLXdpdGgtZGVidWctbWVtIHRvby4KKyAqLworI2lmZGVmIERFQlVHX01FTU9SWV9MT0NBVElPTgorI2VuZGlmCisKKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7CisjZW5kaWYKKworLyoKKyAqIFRoZSBYTUwgbWVtb3J5IHdyYXBwZXIgc3VwcG9ydCA0IGJhc2ljIG92ZXJsb2FkYWJsZSBmdW5jdGlvbnMuCisgKi8KKy8qKgorICogeG1sRnJlZUZ1bmM6CisgKiBAbWVtOiBhbiBhbHJlYWR5IGFsbG9jYXRlZCBibG9jayBvZiBtZW1vcnkKKyAqCisgKiBTaWduYXR1cmUgZm9yIGEgZnJlZSgpIGltcGxlbWVudGF0aW9uLgorICovCit0eXBlZGVmIHZvaWQgKFhNTENBTEwgKnhtbEZyZWVGdW5jKSh2b2lkICptZW0pOworLyoqCisgKiB4bWxNYWxsb2NGdW5jOgorICogQHNpemU6ICB0aGUgc2l6ZSByZXF1ZXN0ZWQgaW4gYnl0ZXMKKyAqCisgKiBTaWduYXR1cmUgZm9yIGEgbWFsbG9jKCkgaW1wbGVtZW50YXRpb24uCisgKgorICogUmV0dXJucyBhIHBvaW50ZXIgdG8gdGhlIG5ld2x5IGFsbG9jYXRlZCBibG9jayBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK3R5cGVkZWYgdm9pZCAqKExJQlhNTF9BVFRSX0FMTE9DX1NJWkUoMSkgWE1MQ0FMTCAqeG1sTWFsbG9jRnVuYykoc2l6ZV90IHNpemUpOworCisvKioKKyAqIHhtbFJlYWxsb2NGdW5jOgorICogQG1lbTogYW4gYWxyZWFkeSBhbGxvY2F0ZWQgYmxvY2sgb2YgbWVtb3J5CisgKiBAc2l6ZTogIHRoZSBuZXcgc2l6ZSByZXF1ZXN0ZWQgaW4gYnl0ZXMKKyAqCisgKiBTaWduYXR1cmUgZm9yIGEgcmVhbGxvYygpIGltcGxlbWVudGF0aW9uLgorICoKKyAqIFJldHVybnMgYSBwb2ludGVyIHRvIHRoZSBuZXdseSByZWFsbG9jYXRlZCBibG9jayBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK3R5cGVkZWYgdm9pZCAqKFhNTENBTEwgKnhtbFJlYWxsb2NGdW5jKSh2b2lkICptZW0sIHNpemVfdCBzaXplKTsKKworLyoqCisgKiB4bWxTdHJkdXBGdW5jOgorICogQHN0cjogYSB6ZXJvIHRlcm1pbmF0ZWQgc3RyaW5nCisgKgorICogU2lnbmF0dXJlIGZvciBhbiBzdHJkdXAoKSBpbXBsZW1lbnRhdGlvbi4KKyAqCisgKiBSZXR1cm5zIHRoZSBjb3B5IG9mIHRoZSBzdHJpbmcgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLgorICovCit0eXBlZGVmIGNoYXIgKihYTUxDQUxMICp4bWxTdHJkdXBGdW5jKShjb25zdCBjaGFyICpzdHIpOworCisvKgorICogVGhlIDQgaW50ZXJmYWNlcyB1c2VkIGZvciBhbGwgbWVtb3J5IGhhbmRsaW5nIHdpdGhpbiBsaWJ4bWwuCitMSUJYTUxfRExMX0lNUE9SVCB4bWxGcmVlRnVuYyB4bWxGcmVlOworTElCWE1MX0RMTF9JTVBPUlQgeG1sTWFsbG9jRnVuYyB4bWxNYWxsb2M7CitMSUJYTUxfRExMX0lNUE9SVCB4bWxNYWxsb2NGdW5jIHhtbE1hbGxvY0F0b21pYzsKK0xJQlhNTF9ETExfSU1QT1JUIHhtbFJlYWxsb2NGdW5jIHhtbFJlYWxsb2M7CitMSUJYTUxfRExMX0lNUE9SVCB4bWxTdHJkdXBGdW5jIHhtbE1lbVN0cmR1cDsKKyAqLworCisvKgorICogVGhlIHdheSB0byBvdmVybG9hZCB0aGUgZXhpc3RpbmcgZnVuY3Rpb25zLgorICogVGhlIHhtbEdjIGZ1bmN0aW9uIGhhdmUgYW4gZXh0cmEgZW50cnkgZm9yIGF0b21pYyBibG9jaworICogYWxsb2NhdGlvbnMgdXNlZnVsIGZvciBnYXJiYWdlIGNvbGxlY3RlZCBtZW1vcnkgYWxsb2NhdG9ycworICovCitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwl4bWxNZW1TZXR1cAkoeG1sRnJlZUZ1bmMgZnJlZUZ1bmMsCisJCQkgeG1sTWFsbG9jRnVuYyBtYWxsb2NGdW5jLAorCQkJIHhtbFJlYWxsb2NGdW5jIHJlYWxsb2NGdW5jLAorCQkJIHhtbFN0cmR1cEZ1bmMgc3RyZHVwRnVuYyk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwl4bWxNZW1HZXQJKHhtbEZyZWVGdW5jICpmcmVlRnVuYywKKwkJCSB4bWxNYWxsb2NGdW5jICptYWxsb2NGdW5jLAorCQkJIHhtbFJlYWxsb2NGdW5jICpyZWFsbG9jRnVuYywKKwkJCSB4bWxTdHJkdXBGdW5jICpzdHJkdXBGdW5jKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCXhtbEdjTWVtU2V0dXAJKHhtbEZyZWVGdW5jIGZyZWVGdW5jLAorCQkJIHhtbE1hbGxvY0Z1bmMgbWFsbG9jRnVuYywKKwkJCSB4bWxNYWxsb2NGdW5jIG1hbGxvY0F0b21pY0Z1bmMsCisJCQkgeG1sUmVhbGxvY0Z1bmMgcmVhbGxvY0Z1bmMsCisJCQkgeG1sU3RyZHVwRnVuYyBzdHJkdXBGdW5jKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCXhtbEdjTWVtR2V0CSh4bWxGcmVlRnVuYyAqZnJlZUZ1bmMsCisJCQkgeG1sTWFsbG9jRnVuYyAqbWFsbG9jRnVuYywKKwkJCSB4bWxNYWxsb2NGdW5jICptYWxsb2NBdG9taWNGdW5jLAorCQkJIHhtbFJlYWxsb2NGdW5jICpyZWFsbG9jRnVuYywKKwkJCSB4bWxTdHJkdXBGdW5jICpzdHJkdXBGdW5jKTsKKworLyoKKyAqIEluaXRpYWxpemF0aW9uIG9mIHRoZSBtZW1vcnkgbGF5ZXIuCisgKi8KK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCXhtbEluaXRNZW1vcnkJKHZvaWQpOworCisvKgorICogQ2xlYW51cCBvZiB0aGUgbWVtb3J5IGxheWVyLgorICovCitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisgICAgICAgICAgICAgICAgeG1sQ2xlYW51cE1lbW9yeSAgICAgICAgKHZvaWQpOworLyoKKyAqIFRoZXNlIGFyZSBzcGVjaWZpYyB0byB0aGUgWE1MIGRlYnVnIG1lbW9yeSB3cmFwcGVyLgorICovCitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwl4bWxNZW1Vc2VkCSh2b2lkKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCXhtbE1lbUJsb2Nrcwkodm9pZCk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJeG1sTWVtRGlzcGxheQkoRklMRSAqZnApOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCXhtbE1lbURpc3BsYXlMYXN0KEZJTEUgKmZwLCBsb25nIG5iQnl0ZXMpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCXhtbE1lbVNob3cJKEZJTEUgKmZwLCBpbnQgbnIpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCXhtbE1lbW9yeUR1bXAJKHZvaWQpOworWE1MUFVCRlVOIHZvaWQgKiBYTUxDQUxMCisJeG1sTWVtTWFsbG9jCShzaXplX3Qgc2l6ZSkgTElCWE1MX0FUVFJfQUxMT0NfU0laRSgxKTsKK1hNTFBVQkZVTiB2b2lkICogWE1MQ0FMTAorCXhtbE1lbVJlYWxsb2MJKHZvaWQgKnB0cixzaXplX3Qgc2l6ZSk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJeG1sTWVtRnJlZQkodm9pZCAqcHRyKTsKK1hNTFBVQkZVTiBjaGFyICogWE1MQ0FMTAorCXhtbE1lbW9yeVN0cmR1cAkoY29uc3QgY2hhciAqc3RyKTsKK1hNTFBVQkZVTiB2b2lkICogWE1MQ0FMTAorCXhtbE1hbGxvY0xvYwkoc2l6ZV90IHNpemUsIGNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lKSBMSUJYTUxfQVRUUl9BTExPQ19TSVpFKDEpOworWE1MUFVCRlVOIHZvaWQgKiBYTUxDQUxMCisJeG1sUmVhbGxvY0xvYwkodm9pZCAqcHRyLCBzaXplX3Qgc2l6ZSwgY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUpOworWE1MUFVCRlVOIHZvaWQgKiBYTUxDQUxMCisJeG1sTWFsbG9jQXRvbWljTG9jIChzaXplX3Qgc2l6ZSwgY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUpIExJQlhNTF9BVFRSX0FMTE9DX1NJWkUoMSk7CitYTUxQVUJGVU4gY2hhciAqIFhNTENBTEwKKwl4bWxNZW1TdHJkdXBMb2MJKGNvbnN0IGNoYXIgKnN0ciwgY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUpOworCisKKyNpZmRlZiBERUJVR19NRU1PUllfTE9DQVRJT04KKy8qKgorICogeG1sTWFsbG9jOgorICogQHNpemU6ICBudW1iZXIgb2YgYnl0ZXMgdG8gYWxsb2NhdGUKKyAqCisgKiBXcmFwcGVyIGZvciB0aGUgbWFsbG9jKCkgZnVuY3Rpb24gdXNlZCBpbiB0aGUgWE1MIGxpYnJhcnkuCisgKgorICogUmV0dXJucyB0aGUgcG9pbnRlciB0byB0aGUgYWxsb2NhdGVkIGFyZWEgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLgorICovCisjZGVmaW5lIHhtbE1hbGxvYyhzaXplKSB4bWxNYWxsb2NMb2MoKHNpemUpLCBfX0ZJTEVfXywgX19MSU5FX18pCisvKioKKyAqIHhtbE1hbGxvY0F0b21pYzoKKyAqIEBzaXplOiAgbnVtYmVyIG9mIGJ5dGVzIHRvIGFsbG9jYXRlCisgKgorICogV3JhcHBlciBmb3IgdGhlIG1hbGxvYygpIGZ1bmN0aW9uIHVzZWQgaW4gdGhlIFhNTCBsaWJyYXJ5IGZvciBhbGxvY2F0aW9uCisgKiBvZiBibG9jayBub3QgY29udGFpbmluZyBwb2ludGVycyB0byBvdGhlciBhcmVhcy4KKyAqCisgKiBSZXR1cm5zIHRoZSBwb2ludGVyIHRvIHRoZSBhbGxvY2F0ZWQgYXJlYSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KKyNkZWZpbmUgeG1sTWFsbG9jQXRvbWljKHNpemUpIHhtbE1hbGxvY0F0b21pY0xvYygoc2l6ZSksIF9fRklMRV9fLCBfX0xJTkVfXykKKy8qKgorICogeG1sUmVhbGxvYzoKKyAqIEBwdHI6ICBwb2ludGVyIHRvIHRoZSBleGlzdGluZyBhbGxvY2F0ZWQgYXJlYQorICogQHNpemU6ICBudW1iZXIgb2YgYnl0ZXMgdG8gYWxsb2NhdGUKKyAqCisgKiBXcmFwcGVyIGZvciB0aGUgcmVhbGxvYygpIGZ1bmN0aW9uIHVzZWQgaW4gdGhlIFhNTCBsaWJyYXJ5LgorICoKKyAqIFJldHVybnMgdGhlIHBvaW50ZXIgdG8gdGhlIGFsbG9jYXRlZCBhcmVhIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworI2RlZmluZSB4bWxSZWFsbG9jKHB0ciwgc2l6ZSkgeG1sUmVhbGxvY0xvYygocHRyKSwgKHNpemUpLCBfX0ZJTEVfXywgX19MSU5FX18pCisvKioKKyAqIHhtbE1lbVN0cmR1cDoKKyAqIEBzdHI6ICBwb2ludGVyIHRvIHRoZSBleGlzdGluZyBzdHJpbmcKKyAqCisgKiBXcmFwcGVyIGZvciB0aGUgc3RyZHVwKCkgZnVuY3Rpb24sIHhtbFN0cmR1cCgpIGlzIHVzdWFsbHkgcHJlZmVycmVkLgorICoKKyAqIFJldHVybnMgdGhlIHBvaW50ZXIgdG8gdGhlIGFsbG9jYXRlZCBhcmVhIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworI2RlZmluZSB4bWxNZW1TdHJkdXAoc3RyKSB4bWxNZW1TdHJkdXBMb2MoKHN0ciksIF9fRklMRV9fLCBfX0xJTkVfXykKKworI2VuZGlmIC8qIERFQlVHX01FTU9SWV9MT0NBVElPTiAqLworCisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZiAvKiBfX2NwbHVzcGx1cyAqLworCisjaWZuZGVmIF9fWE1MX0dMT0JBTFNfSAorI2lmbmRlZiBfX1hNTF9USFJFQURTX0hfXworI2luY2x1ZGUgPGxpYnhtbC90aHJlYWRzLmg+CisjaW5jbHVkZSA8bGlieG1sL2dsb2JhbHMuaD4KKyNlbmRpZgorI2VuZGlmCisKKyNlbmRpZiAgLyogX19ERUJVR19NRU1PUllfQUxMT0NfXyAqLworCmRpZmYgLS1naXQgYS9saWJ4bWwyL2luY2x1ZGUvbGlieG1sL3htbG1vZHVsZS5oIGIvbGlieG1sMi9pbmNsdWRlL2xpYnhtbC94bWxtb2R1bGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NjY3ODIwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9pbmNsdWRlL2xpYnhtbC94bWxtb2R1bGUuaApAQCAtMCwwICsxLDU3IEBACisvKgorICogU3VtbWFyeTogZHluYW1pYyBtb2R1bGUgbG9hZGluZworICogRGVzY3JpcHRpb246IGJhc2ljIEFQSSBmb3IgZHluYW1pYyBtb2R1bGUgbG9hZGluZywgdXNlZCBieQorICogICAgICAgICAgICAgIGxpYmV4c2x0IGFkZGVkIGluIDIuNi4xNworICoKKyAqIENvcHk6IFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyAqCisgKiBBdXRob3I6IEpvZWwgVy4gUmVlZAorICovCisKKyNpZm5kZWYgX19YTUxfTU9EVUxFX0hfXworI2RlZmluZSBfX1hNTF9NT0RVTEVfSF9fCisKKyNpbmNsdWRlIDxsaWJ4bWwveG1sdmVyc2lvbi5oPgorCisjaWZkZWYgTElCWE1MX01PRFVMRVNfRU5BQkxFRAorCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCisKKy8qKgorICogeG1sTW9kdWxlUHRyOgorICoKKyAqIEEgaGFuZGxlIHRvIGEgZHluYW1pY2FsbHkgbG9hZGVkIG1vZHVsZQorICovCit0eXBlZGVmIHN0cnVjdCBfeG1sTW9kdWxlIHhtbE1vZHVsZTsKK3R5cGVkZWYgeG1sTW9kdWxlICp4bWxNb2R1bGVQdHI7CisKKy8qKgorICogeG1sTW9kdWxlT3B0aW9uOgorICoKKyAqIGVudW1lcmF0aW9uIG9mIG9wdGlvbnMgdGhhdCBjYW4gYmUgcGFzc2VkIGRvd24gdG8geG1sTW9kdWxlT3BlbigpCisgKi8KK3R5cGVkZWYgZW51bSB7CisgICAgWE1MX01PRFVMRV9MQVpZID0gMSwJLyogbGF6eSBiaW5kaW5nICovCisgICAgWE1MX01PRFVMRV9MT0NBTD0gMgkJLyogbG9jYWwgYmluZGluZyAqLworfSB4bWxNb2R1bGVPcHRpb247CisKK1hNTFBVQkZVTiB4bWxNb2R1bGVQdHIgWE1MQ0FMTCB4bWxNb2R1bGVPcGVuCShjb25zdCBjaGFyICpmaWxlbmFtZSwKKwkJCQkJCSBpbnQgb3B0aW9ucyk7CisKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxNb2R1bGVTeW1ib2wJCSh4bWxNb2R1bGVQdHIgbW9kdWxlLAorCQkJCQkJIGNvbnN0IGNoYXIqIG5hbWUsCisJCQkJCQkgdm9pZCAqKnJlc3VsdCk7CisKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxNb2R1bGVDbG9zZQkJKHhtbE1vZHVsZVB0ciBtb2R1bGUpOworCitYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sTW9kdWxlRnJlZQkJKHhtbE1vZHVsZVB0ciBtb2R1bGUpOworCisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorCisjZW5kaWYgLyogTElCWE1MX01PRFVMRVNfRU5BQkxFRCAqLworCisjZW5kaWYgLypfX1hNTF9NT0RVTEVfSF9fICovCmRpZmYgLS1naXQgYS9saWJ4bWwyL2luY2x1ZGUvbGlieG1sL3htbHJlYWRlci5oIGIvbGlieG1sMi9pbmNsdWRlL2xpYnhtbC94bWxyZWFkZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYzk5ZTNhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9pbmNsdWRlL2xpYnhtbC94bWxyZWFkZXIuaApAQCAtMCwwICsxLDQyOCBAQAorLyoKKyAqIFN1bW1hcnk6IHRoZSBYTUxSZWFkZXIgaW1wbGVtZW50YXRpb24KKyAqIERlc2NyaXB0aW9uOiBBUEkgb2YgdGhlIFhNTCBzdHJlYW1pbmcgQVBJIGJhc2VkIG9uIEMjIGludGVyZmFjZXMuCisgKgorICogQ29weTogU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgorICoKKyAqIEF1dGhvcjogRGFuaWVsIFZlaWxsYXJkCisgKi8KKworI2lmbmRlZiBfX1hNTF9YTUxSRUFERVJfSF9fCisjZGVmaW5lIF9fWE1MX1hNTFJFQURFUl9IX18KKworI2luY2x1ZGUgPGxpYnhtbC94bWx2ZXJzaW9uLmg+CisjaW5jbHVkZSA8bGlieG1sL3RyZWUuaD4KKyNpbmNsdWRlIDxsaWJ4bWwveG1sSU8uaD4KKyNpZmRlZiBMSUJYTUxfU0NIRU1BU19FTkFCTEVECisjaW5jbHVkZSA8bGlieG1sL3JlbGF4bmcuaD4KKyNpbmNsdWRlIDxsaWJ4bWwveG1sc2NoZW1hcy5oPgorI2VuZGlmCisKKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7CisjZW5kaWYKKworLyoqCisgKiB4bWxQYXJzZXJTZXZlcml0aWVzOgorICoKKyAqIEhvdyBzZXZlcmUgYW4gZXJyb3IgY2FsbGJhY2sgaXMgd2hlbiB0aGUgcGVyLXJlYWRlciBlcnJvciBjYWxsYmFjayBBUEkKKyAqIGlzIHVzZWQuCisgKi8KK3R5cGVkZWYgZW51bSB7CisgICAgWE1MX1BBUlNFUl9TRVZFUklUWV9WQUxJRElUWV9XQVJOSU5HID0gMSwKKyAgICBYTUxfUEFSU0VSX1NFVkVSSVRZX1ZBTElESVRZX0VSUk9SID0gMiwKKyAgICBYTUxfUEFSU0VSX1NFVkVSSVRZX1dBUk5JTkcgPSAzLAorICAgIFhNTF9QQVJTRVJfU0VWRVJJVFlfRVJST1IgPSA0Cit9IHhtbFBhcnNlclNldmVyaXRpZXM7CisKKyNpZmRlZiBMSUJYTUxfUkVBREVSX0VOQUJMRUQKKworLyoqCisgKiB4bWxUZXh0UmVhZGVyTW9kZToKKyAqCisgKiBJbnRlcm5hbCBzdGF0ZSB2YWx1ZXMgZm9yIHRoZSByZWFkZXIuCisgKi8KK3R5cGVkZWYgZW51bSB7CisgICAgWE1MX1RFWFRSRUFERVJfTU9ERV9JTklUSUFMID0gMCwKKyAgICBYTUxfVEVYVFJFQURFUl9NT0RFX0lOVEVSQUNUSVZFID0gMSwKKyAgICBYTUxfVEVYVFJFQURFUl9NT0RFX0VSUk9SID0gMiwKKyAgICBYTUxfVEVYVFJFQURFUl9NT0RFX0VPRiA9MywKKyAgICBYTUxfVEVYVFJFQURFUl9NT0RFX0NMT1NFRCA9IDQsCisgICAgWE1MX1RFWFRSRUFERVJfTU9ERV9SRUFESU5HID0gNQorfSB4bWxUZXh0UmVhZGVyTW9kZTsKKworLyoqCisgKiB4bWxQYXJzZXJQcm9wZXJ0aWVzOgorICoKKyAqIFNvbWUgY29tbW9uIG9wdGlvbnMgdG8gdXNlIHdpdGggeG1sVGV4dFJlYWRlclNldFBhcnNlclByb3AsIGJ1dCBpdAorICogaXMgYmV0dGVyIHRvIHVzZSB4bWxQYXJzZXJPcHRpb24gYW5kIHRoZSB4bWxSZWFkZXJOZXd4eHggYW5kCisgKiB4bWxSZWFkZXJGb3J4eHggQVBJcyBub3cuCisgKi8KK3R5cGVkZWYgZW51bSB7CisgICAgWE1MX1BBUlNFUl9MT0FERFREID0gMSwKKyAgICBYTUxfUEFSU0VSX0RFRkFVTFRBVFRSUyA9IDIsCisgICAgWE1MX1BBUlNFUl9WQUxJREFURSA9IDMsCisgICAgWE1MX1BBUlNFUl9TVUJTVF9FTlRJVElFUyA9IDQKK30geG1sUGFyc2VyUHJvcGVydGllczsKKworLyoqCisgKiB4bWxSZWFkZXJUeXBlczoKKyAqCisgKiBQcmVkZWZpbmVkIGNvbnN0YW50cyBmb3IgdGhlIGRpZmZlcmVudCB0eXBlcyBvZiBub2Rlcy4KKyAqLwordHlwZWRlZiBlbnVtIHsKKyAgICBYTUxfUkVBREVSX1RZUEVfTk9ORSA9IDAsCisgICAgWE1MX1JFQURFUl9UWVBFX0VMRU1FTlQgPSAxLAorICAgIFhNTF9SRUFERVJfVFlQRV9BVFRSSUJVVEUgPSAyLAorICAgIFhNTF9SRUFERVJfVFlQRV9URVhUID0gMywKKyAgICBYTUxfUkVBREVSX1RZUEVfQ0RBVEEgPSA0LAorICAgIFhNTF9SRUFERVJfVFlQRV9FTlRJVFlfUkVGRVJFTkNFID0gNSwKKyAgICBYTUxfUkVBREVSX1RZUEVfRU5USVRZID0gNiwKKyAgICBYTUxfUkVBREVSX1RZUEVfUFJPQ0VTU0lOR19JTlNUUlVDVElPTiA9IDcsCisgICAgWE1MX1JFQURFUl9UWVBFX0NPTU1FTlQgPSA4LAorICAgIFhNTF9SRUFERVJfVFlQRV9ET0NVTUVOVCA9IDksCisgICAgWE1MX1JFQURFUl9UWVBFX0RPQ1VNRU5UX1RZUEUgPSAxMCwKKyAgICBYTUxfUkVBREVSX1RZUEVfRE9DVU1FTlRfRlJBR01FTlQgPSAxMSwKKyAgICBYTUxfUkVBREVSX1RZUEVfTk9UQVRJT04gPSAxMiwKKyAgICBYTUxfUkVBREVSX1RZUEVfV0hJVEVTUEFDRSA9IDEzLAorICAgIFhNTF9SRUFERVJfVFlQRV9TSUdOSUZJQ0FOVF9XSElURVNQQUNFID0gMTQsCisgICAgWE1MX1JFQURFUl9UWVBFX0VORF9FTEVNRU5UID0gMTUsCisgICAgWE1MX1JFQURFUl9UWVBFX0VORF9FTlRJVFkgPSAxNiwKKyAgICBYTUxfUkVBREVSX1RZUEVfWE1MX0RFQ0xBUkFUSU9OID0gMTcKK30geG1sUmVhZGVyVHlwZXM7CisKKy8qKgorICogeG1sVGV4dFJlYWRlcjoKKyAqCisgKiBTdHJ1Y3R1cmUgZm9yIGFuIHhtbFJlYWRlciBjb250ZXh0LgorICovCit0eXBlZGVmIHN0cnVjdCBfeG1sVGV4dFJlYWRlciB4bWxUZXh0UmVhZGVyOworCisvKioKKyAqIHhtbFRleHRSZWFkZXJQdHI6CisgKgorICogUG9pbnRlciB0byBhbiB4bWxSZWFkZXIgY29udGV4dC4KKyAqLwordHlwZWRlZiB4bWxUZXh0UmVhZGVyICp4bWxUZXh0UmVhZGVyUHRyOworCisvKgorICogQ29uc3RydWN0b3JzICYgRGVzdHJ1Y3RvcgorICovCitYTUxQVUJGVU4geG1sVGV4dFJlYWRlclB0ciBYTUxDQUxMCisJCQl4bWxOZXdUZXh0UmVhZGVyCSh4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciBpbnB1dCwKKwkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKlVSSSk7CitYTUxQVUJGVU4geG1sVGV4dFJlYWRlclB0ciBYTUxDQUxMCisJCQl4bWxOZXdUZXh0UmVhZGVyRmlsZW5hbWUoY29uc3QgY2hhciAqVVJJKTsKKworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQkJeG1sRnJlZVRleHRSZWFkZXIJKHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyKTsKKworWE1MUFVCRlVOIGludCBYTUxDQUxMCisgICAgICAgICAgICB4bWxUZXh0UmVhZGVyU2V0dXAoeG1sVGV4dFJlYWRlclB0ciByZWFkZXIsCisgICAgICAgICAgICAgICAgICAgeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIgaW5wdXQsIGNvbnN0IGNoYXIgKlVSTCwKKyAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICplbmNvZGluZywgaW50IG9wdGlvbnMpOworCisvKgorICogSXRlcmF0b3JzCisgKi8KK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQkJeG1sVGV4dFJlYWRlclJlYWQJKHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyKTsKKworI2lmZGVmIExJQlhNTF9XUklURVJfRU5BQkxFRAorWE1MUFVCRlVOIHhtbENoYXIgKiBYTUxDQUxMCisJCQl4bWxUZXh0UmVhZGVyUmVhZElubmVyWG1sKHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyKTsKKworWE1MUFVCRlVOIHhtbENoYXIgKiBYTUxDQUxMCisJCQl4bWxUZXh0UmVhZGVyUmVhZE91dGVyWG1sKHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyKTsKKyNlbmRpZgorCitYTUxQVUJGVU4geG1sQ2hhciAqIFhNTENBTEwKKwkJCXhtbFRleHRSZWFkZXJSZWFkU3RyaW5nCSh4bWxUZXh0UmVhZGVyUHRyIHJlYWRlcik7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJCXhtbFRleHRSZWFkZXJSZWFkQXR0cmlidXRlVmFsdWUoeG1sVGV4dFJlYWRlclB0ciByZWFkZXIpOworCisvKgorICogQXR0cmlidXRlcyBvZiB0aGUgbm9kZQorICovCitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJCXhtbFRleHRSZWFkZXJBdHRyaWJ1dGVDb3VudCh4bWxUZXh0UmVhZGVyUHRyIHJlYWRlcik7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJCXhtbFRleHRSZWFkZXJEZXB0aAkoeG1sVGV4dFJlYWRlclB0ciByZWFkZXIpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCQl4bWxUZXh0UmVhZGVySGFzQXR0cmlidXRlcyh4bWxUZXh0UmVhZGVyUHRyIHJlYWRlcik7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJCXhtbFRleHRSZWFkZXJIYXNWYWx1ZSh4bWxUZXh0UmVhZGVyUHRyIHJlYWRlcik7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJCXhtbFRleHRSZWFkZXJJc0RlZmF1bHQJKHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQkJeG1sVGV4dFJlYWRlcklzRW1wdHlFbGVtZW50KHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQkJeG1sVGV4dFJlYWRlck5vZGVUeXBlCSh4bWxUZXh0UmVhZGVyUHRyIHJlYWRlcik7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJCXhtbFRleHRSZWFkZXJRdW90ZUNoYXIJKHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQkJeG1sVGV4dFJlYWRlclJlYWRTdGF0ZQkoeG1sVGV4dFJlYWRlclB0ciByZWFkZXIpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisgICAgICAgICAgICAgICAgICAgICAgICB4bWxUZXh0UmVhZGVySXNOYW1lc3BhY2VEZWNsKHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyKTsKKworWE1MUFVCRlVOIGNvbnN0IHhtbENoYXIgKiBYTUxDQUxMCisJCSAgICB4bWxUZXh0UmVhZGVyQ29uc3RCYXNlVXJpCSh4bWxUZXh0UmVhZGVyUHRyIHJlYWRlcik7CitYTUxQVUJGVU4gY29uc3QgeG1sQ2hhciAqIFhNTENBTEwKKwkJICAgIHhtbFRleHRSZWFkZXJDb25zdExvY2FsTmFtZQkoeG1sVGV4dFJlYWRlclB0ciByZWFkZXIpOworWE1MUFVCRlVOIGNvbnN0IHhtbENoYXIgKiBYTUxDQUxMCisJCSAgICB4bWxUZXh0UmVhZGVyQ29uc3ROYW1lCSh4bWxUZXh0UmVhZGVyUHRyIHJlYWRlcik7CitYTUxQVUJGVU4gY29uc3QgeG1sQ2hhciAqIFhNTENBTEwKKwkJICAgIHhtbFRleHRSZWFkZXJDb25zdE5hbWVzcGFjZVVyaSh4bWxUZXh0UmVhZGVyUHRyIHJlYWRlcik7CitYTUxQVUJGVU4gY29uc3QgeG1sQ2hhciAqIFhNTENBTEwKKwkJICAgIHhtbFRleHRSZWFkZXJDb25zdFByZWZpeAkoeG1sVGV4dFJlYWRlclB0ciByZWFkZXIpOworWE1MUFVCRlVOIGNvbnN0IHhtbENoYXIgKiBYTUxDQUxMCisJCSAgICB4bWxUZXh0UmVhZGVyQ29uc3RYbWxMYW5nCSh4bWxUZXh0UmVhZGVyUHRyIHJlYWRlcik7CitYTUxQVUJGVU4gY29uc3QgeG1sQ2hhciAqIFhNTENBTEwKKwkJICAgIHhtbFRleHRSZWFkZXJDb25zdFN0cmluZwkoeG1sVGV4dFJlYWRlclB0ciByZWFkZXIsCisJCQkJCQkgY29uc3QgeG1sQ2hhciAqc3RyKTsKK1hNTFBVQkZVTiBjb25zdCB4bWxDaGFyICogWE1MQ0FMTAorCQkgICAgeG1sVGV4dFJlYWRlckNvbnN0VmFsdWUJKHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyKTsKKworLyoKKyAqIHVzZSB0aGUgQ29uc3QgdmVyc2lvbiBvZiB0aGUgcm91dGluZSBmb3IKKyAqIGJldHRlciBwZXJmb3JtYW5jZSBhbmQgc2ltcGxlciBjb2RlCisgKi8KK1hNTFBVQkZVTiB4bWxDaGFyICogWE1MQ0FMTAorCQkJeG1sVGV4dFJlYWRlckJhc2VVcmkJKHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyKTsKK1hNTFBVQkZVTiB4bWxDaGFyICogWE1MQ0FMTAorCQkJeG1sVGV4dFJlYWRlckxvY2FsTmFtZQkoeG1sVGV4dFJlYWRlclB0ciByZWFkZXIpOworWE1MUFVCRlVOIHhtbENoYXIgKiBYTUxDQUxMCisJCQl4bWxUZXh0UmVhZGVyTmFtZQkoeG1sVGV4dFJlYWRlclB0ciByZWFkZXIpOworWE1MUFVCRlVOIHhtbENoYXIgKiBYTUxDQUxMCisJCQl4bWxUZXh0UmVhZGVyTmFtZXNwYWNlVXJpKHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyKTsKK1hNTFBVQkZVTiB4bWxDaGFyICogWE1MQ0FMTAorCQkJeG1sVGV4dFJlYWRlclByZWZpeAkoeG1sVGV4dFJlYWRlclB0ciByZWFkZXIpOworWE1MUFVCRlVOIHhtbENoYXIgKiBYTUxDQUxMCisJCQl4bWxUZXh0UmVhZGVyWG1sTGFuZwkoeG1sVGV4dFJlYWRlclB0ciByZWFkZXIpOworWE1MUFVCRlVOIHhtbENoYXIgKiBYTUxDQUxMCisJCQl4bWxUZXh0UmVhZGVyVmFsdWUJKHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyKTsKKworLyoKKyAqIE1ldGhvZHMgb2YgdGhlIFhtbFRleHRSZWFkZXIKKyAqLworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCSAgICB4bWxUZXh0UmVhZGVyQ2xvc2UJCSh4bWxUZXh0UmVhZGVyUHRyIHJlYWRlcik7CitYTUxQVUJGVU4geG1sQ2hhciAqIFhNTENBTEwKKwkJICAgIHhtbFRleHRSZWFkZXJHZXRBdHRyaWJ1dGVObwkoeG1sVGV4dFJlYWRlclB0ciByZWFkZXIsCisJCQkJCQkgaW50IG5vKTsKK1hNTFBVQkZVTiB4bWxDaGFyICogWE1MQ0FMTAorCQkgICAgeG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZQkoeG1sVGV4dFJlYWRlclB0ciByZWFkZXIsCisJCQkJCQkgY29uc3QgeG1sQ2hhciAqbmFtZSk7CitYTUxQVUJGVU4geG1sQ2hhciAqIFhNTENBTEwKKwkJICAgIHhtbFRleHRSZWFkZXJHZXRBdHRyaWJ1dGVOcwkoeG1sVGV4dFJlYWRlclB0ciByZWFkZXIsCisJCQkJCQkgY29uc3QgeG1sQ2hhciAqbG9jYWxOYW1lLAorCQkJCQkJIGNvbnN0IHhtbENoYXIgKm5hbWVzcGFjZVVSSSk7CitYTUxQVUJGVU4geG1sUGFyc2VySW5wdXRCdWZmZXJQdHIgWE1MQ0FMTAorCQkgICAgeG1sVGV4dFJlYWRlckdldFJlbWFpbmRlcgkoeG1sVGV4dFJlYWRlclB0ciByZWFkZXIpOworWE1MUFVCRlVOIHhtbENoYXIgKiBYTUxDQUxMCisJCSAgICB4bWxUZXh0UmVhZGVyTG9va3VwTmFtZXNwYWNlKHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyLAorCQkJCQkJIGNvbnN0IHhtbENoYXIgKnByZWZpeCk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJICAgIHhtbFRleHRSZWFkZXJNb3ZlVG9BdHRyaWJ1dGVObyh4bWxUZXh0UmVhZGVyUHRyIHJlYWRlciwKKwkJCQkJCSBpbnQgbm8pOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCSAgICB4bWxUZXh0UmVhZGVyTW92ZVRvQXR0cmlidXRlKHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyLAorCQkJCQkJIGNvbnN0IHhtbENoYXIgKm5hbWUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCSAgICB4bWxUZXh0UmVhZGVyTW92ZVRvQXR0cmlidXRlTnMoeG1sVGV4dFJlYWRlclB0ciByZWFkZXIsCisJCQkJCQkgY29uc3QgeG1sQ2hhciAqbG9jYWxOYW1lLAorCQkJCQkJIGNvbnN0IHhtbENoYXIgKm5hbWVzcGFjZVVSSSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJICAgIHhtbFRleHRSZWFkZXJNb3ZlVG9GaXJzdEF0dHJpYnV0ZSh4bWxUZXh0UmVhZGVyUHRyIHJlYWRlcik7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJICAgIHhtbFRleHRSZWFkZXJNb3ZlVG9OZXh0QXR0cmlidXRlKHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQkgICAgeG1sVGV4dFJlYWRlck1vdmVUb0VsZW1lbnQJKHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQkgICAgeG1sVGV4dFJlYWRlck5vcm1hbGl6YXRpb24JKHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyKTsKK1hNTFBVQkZVTiBjb25zdCB4bWxDaGFyICogWE1MQ0FMTAorCQkgICAgeG1sVGV4dFJlYWRlckNvbnN0RW5jb2RpbmcgICh4bWxUZXh0UmVhZGVyUHRyIHJlYWRlcik7CisKKy8qCisgKiBFeHRlbnNpb25zCisgKi8KK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQkgICAgeG1sVGV4dFJlYWRlclNldFBhcnNlclByb3AJKHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyLAorCQkJCQkJIGludCBwcm9wLAorCQkJCQkJIGludCB2YWx1ZSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJICAgIHhtbFRleHRSZWFkZXJHZXRQYXJzZXJQcm9wCSh4bWxUZXh0UmVhZGVyUHRyIHJlYWRlciwKKwkJCQkJCSBpbnQgcHJvcCk7CitYTUxQVUJGVU4geG1sTm9kZVB0ciBYTUxDQUxMCisJCSAgICB4bWxUZXh0UmVhZGVyQ3VycmVudE5vZGUJKHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyKTsKKworWE1MUFVCRlVOIGludCBYTUxDQUxMCisgICAgICAgICAgICB4bWxUZXh0UmVhZGVyR2V0UGFyc2VyTGluZU51bWJlcih4bWxUZXh0UmVhZGVyUHRyIHJlYWRlcik7CisKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorICAgICAgICAgICAgeG1sVGV4dFJlYWRlckdldFBhcnNlckNvbHVtbk51bWJlcih4bWxUZXh0UmVhZGVyUHRyIHJlYWRlcik7CisKK1hNTFBVQkZVTiB4bWxOb2RlUHRyIFhNTENBTEwKKwkJICAgIHhtbFRleHRSZWFkZXJQcmVzZXJ2ZQkoeG1sVGV4dFJlYWRlclB0ciByZWFkZXIpOworI2lmZGVmIExJQlhNTF9QQVRURVJOX0VOQUJMRUQKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQkgICAgeG1sVGV4dFJlYWRlclByZXNlcnZlUGF0dGVybih4bWxUZXh0UmVhZGVyUHRyIHJlYWRlciwKKwkJCQkJCSBjb25zdCB4bWxDaGFyICpwYXR0ZXJuLAorCQkJCQkJIGNvbnN0IHhtbENoYXIgKipuYW1lc3BhY2VzKTsKKyNlbmRpZiAvKiBMSUJYTUxfUEFUVEVSTl9FTkFCTEVEICovCitYTUxQVUJGVU4geG1sRG9jUHRyIFhNTENBTEwKKwkJICAgIHhtbFRleHRSZWFkZXJDdXJyZW50RG9jCSh4bWxUZXh0UmVhZGVyUHRyIHJlYWRlcik7CitYTUxQVUJGVU4geG1sTm9kZVB0ciBYTUxDQUxMCisJCSAgICB4bWxUZXh0UmVhZGVyRXhwYW5kCQkoeG1sVGV4dFJlYWRlclB0ciByZWFkZXIpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCSAgICB4bWxUZXh0UmVhZGVyTmV4dAkJKHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQkgICAgeG1sVGV4dFJlYWRlck5leHRTaWJsaW5nCSh4bWxUZXh0UmVhZGVyUHRyIHJlYWRlcik7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJICAgIHhtbFRleHRSZWFkZXJJc1ZhbGlkCSh4bWxUZXh0UmVhZGVyUHRyIHJlYWRlcik7CisjaWZkZWYgTElCWE1MX1NDSEVNQVNfRU5BQkxFRAorWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCSAgICB4bWxUZXh0UmVhZGVyUmVsYXhOR1ZhbGlkYXRlKHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyLAorCQkJCQkJIGNvbnN0IGNoYXIgKnJuZyk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJICAgIHhtbFRleHRSZWFkZXJSZWxheE5HVmFsaWRhdGVDdHh0KHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyLAorCQkJCQkJIHhtbFJlbGF4TkdWYWxpZEN0eHRQdHIgY3R4dCwKKwkJCQkJCSBpbnQgb3B0aW9ucyk7CisKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQkgICAgeG1sVGV4dFJlYWRlclJlbGF4TkdTZXRTY2hlbWEoeG1sVGV4dFJlYWRlclB0ciByZWFkZXIsCisJCQkJCQkgeG1sUmVsYXhOR1B0ciBzY2hlbWEpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCSAgICB4bWxUZXh0UmVhZGVyU2NoZW1hVmFsaWRhdGUJKHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyLAorCQkJCQkJIGNvbnN0IGNoYXIgKnhzZCk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJICAgIHhtbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZUN0eHQoeG1sVGV4dFJlYWRlclB0ciByZWFkZXIsCisJCQkJCQkgeG1sU2NoZW1hVmFsaWRDdHh0UHRyIGN0eHQsCisJCQkJCQkgaW50IG9wdGlvbnMpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCSAgICB4bWxUZXh0UmVhZGVyU2V0U2NoZW1hCSh4bWxUZXh0UmVhZGVyUHRyIHJlYWRlciwKKwkJCQkJCSB4bWxTY2hlbWFQdHIgc2NoZW1hKTsKKyNlbmRpZgorWE1MUFVCRlVOIGNvbnN0IHhtbENoYXIgKiBYTUxDQUxMCisJCSAgICB4bWxUZXh0UmVhZGVyQ29uc3RYbWxWZXJzaW9uKHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQkgICAgeG1sVGV4dFJlYWRlclN0YW5kYWxvbmUgICAgICh4bWxUZXh0UmVhZGVyUHRyIHJlYWRlcik7CisKKworLyoKKyAqIEluZGV4IGxvb2t1cAorICovCitYTUxQVUJGVU4gbG9uZyBYTUxDQUxMCisJCXhtbFRleHRSZWFkZXJCeXRlQ29uc3VtZWQJKHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyKTsKKworLyoKKyAqIE5ldyBtb3JlIGNvbXBsZXRlIEFQSXMgZm9yIHNpbXBsZXIgY3JlYXRpb24gYW5kIHJldXNlIG9mIHJlYWRlcnMKKyAqLworWE1MUFVCRlVOIHhtbFRleHRSZWFkZXJQdHIgWE1MQ0FMTAorCQl4bWxSZWFkZXJXYWxrZXIJCSh4bWxEb2NQdHIgZG9jKTsKK1hNTFBVQkZVTiB4bWxUZXh0UmVhZGVyUHRyIFhNTENBTEwKKwkJeG1sUmVhZGVyRm9yRG9jCQkoY29uc3QgeG1sQ2hhciAqIGN1ciwKKwkJCQkJIGNvbnN0IGNoYXIgKlVSTCwKKwkJCQkJIGNvbnN0IGNoYXIgKmVuY29kaW5nLAorCQkJCQkgaW50IG9wdGlvbnMpOworWE1MUFVCRlVOIHhtbFRleHRSZWFkZXJQdHIgWE1MQ0FMTAorCQl4bWxSZWFkZXJGb3JGaWxlCShjb25zdCBjaGFyICpmaWxlbmFtZSwKKwkJCQkJIGNvbnN0IGNoYXIgKmVuY29kaW5nLAorCQkJCQkgaW50IG9wdGlvbnMpOworWE1MUFVCRlVOIHhtbFRleHRSZWFkZXJQdHIgWE1MQ0FMTAorCQl4bWxSZWFkZXJGb3JNZW1vcnkJKGNvbnN0IGNoYXIgKmJ1ZmZlciwKKwkJCQkJIGludCBzaXplLAorCQkJCQkgY29uc3QgY2hhciAqVVJMLAorCQkJCQkgY29uc3QgY2hhciAqZW5jb2RpbmcsCisJCQkJCSBpbnQgb3B0aW9ucyk7CitYTUxQVUJGVU4geG1sVGV4dFJlYWRlclB0ciBYTUxDQUxMCisJCXhtbFJlYWRlckZvckZkCQkoaW50IGZkLAorCQkJCQkgY29uc3QgY2hhciAqVVJMLAorCQkJCQkgY29uc3QgY2hhciAqZW5jb2RpbmcsCisJCQkJCSBpbnQgb3B0aW9ucyk7CitYTUxQVUJGVU4geG1sVGV4dFJlYWRlclB0ciBYTUxDQUxMCisJCXhtbFJlYWRlckZvcklPCQkoeG1sSW5wdXRSZWFkQ2FsbGJhY2sgaW9yZWFkLAorCQkJCQkgeG1sSW5wdXRDbG9zZUNhbGxiYWNrIGlvY2xvc2UsCisJCQkJCSB2b2lkICppb2N0eCwKKwkJCQkJIGNvbnN0IGNoYXIgKlVSTCwKKwkJCQkJIGNvbnN0IGNoYXIgKmVuY29kaW5nLAorCQkJCQkgaW50IG9wdGlvbnMpOworCitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJeG1sUmVhZGVyTmV3V2Fsa2VyCSh4bWxUZXh0UmVhZGVyUHRyIHJlYWRlciwKKwkJCQkJIHhtbERvY1B0ciBkb2MpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCXhtbFJlYWRlck5ld0RvYwkJKHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyLAorCQkJCQkgY29uc3QgeG1sQ2hhciAqIGN1ciwKKwkJCQkJIGNvbnN0IGNoYXIgKlVSTCwKKwkJCQkJIGNvbnN0IGNoYXIgKmVuY29kaW5nLAorCQkJCQkgaW50IG9wdGlvbnMpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCXhtbFJlYWRlck5ld0ZpbGUJKHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyLAorCQkJCQkgY29uc3QgY2hhciAqZmlsZW5hbWUsCisJCQkJCSBjb25zdCBjaGFyICplbmNvZGluZywKKwkJCQkJIGludCBvcHRpb25zKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl4bWxSZWFkZXJOZXdNZW1vcnkJKHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyLAorCQkJCQkgY29uc3QgY2hhciAqYnVmZmVyLAorCQkJCQkgaW50IHNpemUsCisJCQkJCSBjb25zdCBjaGFyICpVUkwsCisJCQkJCSBjb25zdCBjaGFyICplbmNvZGluZywKKwkJCQkJIGludCBvcHRpb25zKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl4bWxSZWFkZXJOZXdGZAkJKHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyLAorCQkJCQkgaW50IGZkLAorCQkJCQkgY29uc3QgY2hhciAqVVJMLAorCQkJCQkgY29uc3QgY2hhciAqZW5jb2RpbmcsCisJCQkJCSBpbnQgb3B0aW9ucyk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJeG1sUmVhZGVyTmV3SU8JCSh4bWxUZXh0UmVhZGVyUHRyIHJlYWRlciwKKwkJCQkJIHhtbElucHV0UmVhZENhbGxiYWNrIGlvcmVhZCwKKwkJCQkJIHhtbElucHV0Q2xvc2VDYWxsYmFjayBpb2Nsb3NlLAorCQkJCQkgdm9pZCAqaW9jdHgsCisJCQkJCSBjb25zdCBjaGFyICpVUkwsCisJCQkJCSBjb25zdCBjaGFyICplbmNvZGluZywKKwkJCQkJIGludCBvcHRpb25zKTsKKy8qCisgKiBFcnJvciBoYW5kbGluZyBleHRlbnNpb25zCisgKi8KK3R5cGVkZWYgdm9pZCAqICB4bWxUZXh0UmVhZGVyTG9jYXRvclB0cjsKKworLyoqCisgKiB4bWxUZXh0UmVhZGVyRXJyb3JGdW5jOgorICogQGFyZzogdGhlIHVzZXIgYXJndW1lbnQKKyAqIEBtc2c6IHRoZSBtZXNzYWdlCisgKiBAc2V2ZXJpdHk6IHRoZSBzZXZlcml0eSBvZiB0aGUgZXJyb3IKKyAqIEBsb2NhdG9yOiBhIGxvY2F0b3IgaW5kaWNhdGluZyB3aGVyZSB0aGUgZXJyb3Igb2NjdXJlZAorICoKKyAqIFNpZ25hdHVyZSBvZiBhbiBlcnJvciBjYWxsYmFjayBmcm9tIGEgcmVhZGVyIHBhcnNlcgorICovCit0eXBlZGVmIHZvaWQgKFhNTENBTEwgKnhtbFRleHRSZWFkZXJFcnJvckZ1bmMpKHZvaWQgKmFyZywKKwkJCQkJICAgICAgIGNvbnN0IGNoYXIgKm1zZywKKwkJCQkJICAgICAgIHhtbFBhcnNlclNldmVyaXRpZXMgc2V2ZXJpdHksCisJCQkJCSAgICAgICB4bWxUZXh0UmVhZGVyTG9jYXRvclB0ciBsb2NhdG9yKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCSAgICB4bWxUZXh0UmVhZGVyTG9jYXRvckxpbmVOdW1iZXIoeG1sVGV4dFJlYWRlckxvY2F0b3JQdHIgbG9jYXRvcik7CitYTUxQVUJGVU4geG1sQ2hhciAqIFhNTENBTEwKKwkgICAgeG1sVGV4dFJlYWRlckxvY2F0b3JCYXNlVVJJICh4bWxUZXh0UmVhZGVyTG9jYXRvclB0ciBsb2NhdG9yKTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkgICAgeG1sVGV4dFJlYWRlclNldEVycm9ySGFuZGxlcih4bWxUZXh0UmVhZGVyUHRyIHJlYWRlciwKKwkJCQkJIHhtbFRleHRSZWFkZXJFcnJvckZ1bmMgZiwKKwkJCQkJIHZvaWQgKmFyZyk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJICAgIHhtbFRleHRSZWFkZXJTZXRTdHJ1Y3R1cmVkRXJyb3JIYW5kbGVyKHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyLAorCQkJCQkJICAgeG1sU3RydWN0dXJlZEVycm9yRnVuYyBmLAorCQkJCQkJICAgdm9pZCAqYXJnKTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkgICAgeG1sVGV4dFJlYWRlckdldEVycm9ySGFuZGxlcih4bWxUZXh0UmVhZGVyUHRyIHJlYWRlciwKKwkJCQkJIHhtbFRleHRSZWFkZXJFcnJvckZ1bmMgKmYsCisJCQkJCSB2b2lkICoqYXJnKTsKKworI2VuZGlmIC8qIExJQlhNTF9SRUFERVJfRU5BQkxFRCAqLworCisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorCisjZW5kaWYgLyogX19YTUxfWE1MUkVBREVSX0hfXyAqLworCmRpZmYgLS1naXQgYS9saWJ4bWwyL2luY2x1ZGUvbGlieG1sL3htbHJlZ2V4cC5oIGIvbGlieG1sMi9pbmNsdWRlL2xpYnhtbC94bWxyZWdleHAuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MDA5NjQ1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9pbmNsdWRlL2xpYnhtbC94bWxyZWdleHAuaApAQCAtMCwwICsxLDIyMiBAQAorLyoKKyAqIFN1bW1hcnk6IHJlZ3VsYXIgZXhwcmVzc2lvbnMgaGFuZGxpbmcKKyAqIERlc2NyaXB0aW9uOiBiYXNpYyBBUEkgZm9yIGxpYnhtbCByZWd1bGFyIGV4cHJlc3Npb25zIGhhbmRsaW5nIHVzZWQKKyAqICAgICAgICAgICAgICBmb3IgWE1MIFNjaGVtYXMgYW5kIHZhbGlkYXRpb24uCisgKgorICogQ29weTogU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgorICoKKyAqIEF1dGhvcjogRGFuaWVsIFZlaWxsYXJkCisgKi8KKworI2lmbmRlZiBfX1hNTF9SRUdFWFBfSF9fCisjZGVmaW5lIF9fWE1MX1JFR0VYUF9IX18KKworI2luY2x1ZGUgPGxpYnhtbC94bWx2ZXJzaW9uLmg+CisKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKKworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCisvKioKKyAqIHhtbFJlZ2V4cFB0cjoKKyAqCisgKiBBIGxpYnhtbCByZWd1bGFyIGV4cHJlc3Npb24sIHRoZXkgY2FuIGFjdHVhbGx5IGJlIGZhciBtb3JlIGNvbXBsZXgKKyAqIHRoYW5rIHRoZSBQT1NJWCByZWdleCBleHByZXNzaW9ucy4KKyAqLwordHlwZWRlZiBzdHJ1Y3QgX3htbFJlZ2V4cCB4bWxSZWdleHA7Cit0eXBlZGVmIHhtbFJlZ2V4cCAqeG1sUmVnZXhwUHRyOworCisvKioKKyAqIHhtbFJlZ0V4ZWNDdHh0UHRyOgorICoKKyAqIEEgbGlieG1sIHByb2dyZXNzaXZlIHJlZ3VsYXIgZXhwcmVzc2lvbiBldmFsdWF0aW9uIGNvbnRleHQKKyAqLwordHlwZWRlZiBzdHJ1Y3QgX3htbFJlZ0V4ZWNDdHh0IHhtbFJlZ0V4ZWNDdHh0OwordHlwZWRlZiB4bWxSZWdFeGVjQ3R4dCAqeG1sUmVnRXhlY0N0eHRQdHI7CisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCisjaW5jbHVkZSA8bGlieG1sL3RyZWUuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvZGljdC5oPgorI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCisvKgorICogVGhlIFBPU0lYIGxpa2UgQVBJCisgKi8KK1hNTFBVQkZVTiB4bWxSZWdleHBQdHIgWE1MQ0FMTAorCQkgICAgeG1sUmVnZXhwQ29tcGlsZQkoY29uc3QgeG1sQ2hhciAqcmVnZXhwKTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwJCQkgeG1sUmVnRnJlZVJlZ2V4cCh4bWxSZWdleHBQdHIgcmVnZXhwKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQkgICAgeG1sUmVnZXhwRXhlYwkoeG1sUmVnZXhwUHRyIGNvbXAsCisJCQkJCSBjb25zdCB4bWxDaGFyICp2YWx1ZSk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCSAgICB4bWxSZWdleHBQcmludAkoRklMRSAqb3V0cHV0LAorCQkJCQkgeG1sUmVnZXhwUHRyIHJlZ2V4cCk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJICAgIHhtbFJlZ2V4cElzRGV0ZXJtaW5pc3QoeG1sUmVnZXhwUHRyIGNvbXApOworCisvKioKKyAqIHhtbFJlZ0V4ZWNDYWxsYmFja3M6CisgKiBAZXhlYzogdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBjb250ZXh0CisgKiBAdG9rZW46IHRoZSBjdXJyZW50IHRva2VuIHN0cmluZworICogQHRyYW5zZGF0YTogdHJhbnNpdGlvbiBkYXRhCisgKiBAaW5wdXRkYXRhOiBpbnB1dCBkYXRhCisgKgorICogQ2FsbGJhY2sgZnVuY3Rpb24gd2hlbiBkb2luZyBhIHRyYW5zaXRpb24gaW4gdGhlIGF1dG9tYXRhCisgKi8KK3R5cGVkZWYgdm9pZCAoKnhtbFJlZ0V4ZWNDYWxsYmFja3MpICh4bWxSZWdFeGVjQ3R4dFB0ciBleGVjLAorCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqdG9rZW4sCisJCQkJICAgICB2b2lkICp0cmFuc2RhdGEsCisJCQkJICAgICB2b2lkICppbnB1dGRhdGEpOworCisvKgorICogVGhlIHByb2dyZXNzaXZlIEFQSQorICovCitYTUxQVUJGVU4geG1sUmVnRXhlY0N0eHRQdHIgWE1MQ0FMTAorCQkgICAgeG1sUmVnTmV3RXhlY0N0eHQJKHhtbFJlZ2V4cFB0ciBjb21wLAorCQkJCQkgeG1sUmVnRXhlY0NhbGxiYWNrcyBjYWxsYmFjaywKKwkJCQkJIHZvaWQgKmRhdGEpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQkgICAgeG1sUmVnRnJlZUV4ZWNDdHh0CSh4bWxSZWdFeGVjQ3R4dFB0ciBleGVjKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQkgICAgeG1sUmVnRXhlY1B1c2hTdHJpbmcoeG1sUmVnRXhlY0N0eHRQdHIgZXhlYywKKwkJCQkJIGNvbnN0IHhtbENoYXIgKnZhbHVlLAorCQkJCQkgdm9pZCAqZGF0YSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJICAgIHhtbFJlZ0V4ZWNQdXNoU3RyaW5nMih4bWxSZWdFeGVjQ3R4dFB0ciBleGVjLAorCQkJCQkgY29uc3QgeG1sQ2hhciAqdmFsdWUsCisJCQkJCSBjb25zdCB4bWxDaGFyICp2YWx1ZTIsCisJCQkJCSB2b2lkICpkYXRhKTsKKworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCSAgICB4bWxSZWdFeGVjTmV4dFZhbHVlcyh4bWxSZWdFeGVjQ3R4dFB0ciBleGVjLAorCQkJCQkgaW50ICpuYnZhbCwKKwkJCQkJIGludCAqbmJuZWcsCisJCQkJCSB4bWxDaGFyICoqdmFsdWVzLAorCQkJCQkgaW50ICp0ZXJtaW5hbCk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJICAgIHhtbFJlZ0V4ZWNFcnJJbmZvCSh4bWxSZWdFeGVjQ3R4dFB0ciBleGVjLAorCQkJCQkgY29uc3QgeG1sQ2hhciAqKnN0cmluZywKKwkJCQkJIGludCAqbmJ2YWwsCisJCQkJCSBpbnQgKm5ibmVnLAorCQkJCQkgeG1sQ2hhciAqKnZhbHVlcywKKwkJCQkJIGludCAqdGVybWluYWwpOworI2lmZGVmIExJQlhNTF9FWFBSX0VOQUJMRUQKKy8qCisgKiBGb3JtYWwgcmVndWxhciBleHByZXNzaW9uIGhhbmRsaW5nCisgKiBJdHMgZ29hbCBpcyB0byBkbyBzb21lIGZvcm1hbCB3b3JrIG9uIGNvbnRlbnQgbW9kZWxzCisgKi8KKworLyogZXhwcmVzc2lvbnMgYXJlIHVzZWQgd2l0aGluIGEgY29udGV4dCAqLwordHlwZWRlZiBzdHJ1Y3QgX3htbEV4cEN0eHQgeG1sRXhwQ3R4dDsKK3R5cGVkZWYgeG1sRXhwQ3R4dCAqeG1sRXhwQ3R4dFB0cjsKKworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQkJeG1sRXhwRnJlZUN0eHQJKHhtbEV4cEN0eHRQdHIgY3R4dCk7CitYTUxQVUJGVU4geG1sRXhwQ3R4dFB0ciBYTUxDQUxMCisJCQl4bWxFeHBOZXdDdHh0CShpbnQgbWF4Tm9kZXMsCisJCQkJCSB4bWxEaWN0UHRyIGRpY3QpOworCitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJCXhtbEV4cEN0eHROYk5vZGVzKHhtbEV4cEN0eHRQdHIgY3R4dCk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJCXhtbEV4cEN0eHROYkNvbnMoeG1sRXhwQ3R4dFB0ciBjdHh0KTsKKworLyogRXhwcmVzc2lvbnMgYXJlIHRyZWVzIGJ1dCB0aGUgdHJlZSBpcyBvcGFxdWUgKi8KK3R5cGVkZWYgc3RydWN0IF94bWxFeHBOb2RlIHhtbEV4cE5vZGU7Cit0eXBlZGVmIHhtbEV4cE5vZGUgKnhtbEV4cE5vZGVQdHI7CisKK3R5cGVkZWYgZW51bSB7CisgICAgWE1MX0VYUF9FTVBUWSA9IDAsCisgICAgWE1MX0VYUF9GT1JCSUQgPSAxLAorICAgIFhNTF9FWFBfQVRPTSA9IDIsCisgICAgWE1MX0VYUF9TRVEgPSAzLAorICAgIFhNTF9FWFBfT1IgPSA0LAorICAgIFhNTF9FWFBfQ09VTlQgPSA1Cit9IHhtbEV4cE5vZGVUeXBlOworCisvKgorICogMiBjb3JlIGV4cHJlc3Npb25zIHNoYXJlZCBieSBhbGwgZm9yIHRoZSBlbXB0eSBsYW5ndWFnZSBzZXQKKyAqIGFuZCBmb3IgdGhlIHNldCB3aXRoIGp1c3QgdGhlIGVtcHR5IHRva2VuCisgKi8KK1hNTFBVQlZBUiB4bWxFeHBOb2RlUHRyIGZvcmJpZGRlbkV4cDsKK1hNTFBVQlZBUiB4bWxFeHBOb2RlUHRyIGVtcHR5RXhwOworCisvKgorICogRXhwcmVzc2lvbnMgYXJlIHJlZmVyZW5jZSBjb3VudGVkIGludGVybmFsbHkKKyAqLworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQkJeG1sRXhwRnJlZQkoeG1sRXhwQ3R4dFB0ciBjdHh0LAorCQkJCQkgeG1sRXhwTm9kZVB0ciBleHByKTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJCXhtbEV4cFJlZgkoeG1sRXhwTm9kZVB0ciBleHByKTsKKworLyoKKyAqIGNvbnN0cnVjdG9ycyBjYW4gYmUgZWl0aGVyIG1hbnVhbCBvciBmcm9tIGEgc3RyaW5nCisgKi8KK1hNTFBVQkZVTiB4bWxFeHBOb2RlUHRyIFhNTENBTEwKKwkJCXhtbEV4cFBhcnNlCSh4bWxFeHBDdHh0UHRyIGN0eHQsCisJCQkJCSBjb25zdCBjaGFyICpleHByKTsKK1hNTFBVQkZVTiB4bWxFeHBOb2RlUHRyIFhNTENBTEwKKwkJCXhtbEV4cE5ld0F0b20JKHhtbEV4cEN0eHRQdHIgY3R4dCwKKwkJCQkJIGNvbnN0IHhtbENoYXIgKm5hbWUsCisJCQkJCSBpbnQgbGVuKTsKK1hNTFBVQkZVTiB4bWxFeHBOb2RlUHRyIFhNTENBTEwKKwkJCXhtbEV4cE5ld09yCSh4bWxFeHBDdHh0UHRyIGN0eHQsCisJCQkJCSB4bWxFeHBOb2RlUHRyIGxlZnQsCisJCQkJCSB4bWxFeHBOb2RlUHRyIHJpZ2h0KTsKK1hNTFBVQkZVTiB4bWxFeHBOb2RlUHRyIFhNTENBTEwKKwkJCXhtbEV4cE5ld1NlcQkoeG1sRXhwQ3R4dFB0ciBjdHh0LAorCQkJCQkgeG1sRXhwTm9kZVB0ciBsZWZ0LAorCQkJCQkgeG1sRXhwTm9kZVB0ciByaWdodCk7CitYTUxQVUJGVU4geG1sRXhwTm9kZVB0ciBYTUxDQUxMCisJCQl4bWxFeHBOZXdSYW5nZQkoeG1sRXhwQ3R4dFB0ciBjdHh0LAorCQkJCQkgeG1sRXhwTm9kZVB0ciBzdWJzZXQsCisJCQkJCSBpbnQgbWluLAorCQkJCQkgaW50IG1heCk7CisvKgorICogVGhlIHJlYWxseSBpbnRlcmVzdGluZyBBUElzCisgKi8KK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQkJeG1sRXhwSXNOaWxsYWJsZSh4bWxFeHBOb2RlUHRyIGV4cHIpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCQl4bWxFeHBNYXhUb2tlbgkoeG1sRXhwTm9kZVB0ciBleHByKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQkJeG1sRXhwR2V0TGFuZ3VhZ2UoeG1sRXhwQ3R4dFB0ciBjdHh0LAorCQkJCQkgeG1sRXhwTm9kZVB0ciBleHByLAorCQkJCQkgY29uc3QgeG1sQ2hhcioqbGFuZ0xpc3QsCisJCQkJCSBpbnQgbGVuKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQkJeG1sRXhwR2V0U3RhcnQJKHhtbEV4cEN0eHRQdHIgY3R4dCwKKwkJCQkJIHhtbEV4cE5vZGVQdHIgZXhwciwKKwkJCQkJIGNvbnN0IHhtbENoYXIqKnRva0xpc3QsCisJCQkJCSBpbnQgbGVuKTsKK1hNTFBVQkZVTiB4bWxFeHBOb2RlUHRyIFhNTENBTEwKKwkJCXhtbEV4cFN0cmluZ0Rlcml2ZSh4bWxFeHBDdHh0UHRyIGN0eHQsCisJCQkJCSB4bWxFeHBOb2RlUHRyIGV4cHIsCisJCQkJCSBjb25zdCB4bWxDaGFyICpzdHIsCisJCQkJCSBpbnQgbGVuKTsKK1hNTFBVQkZVTiB4bWxFeHBOb2RlUHRyIFhNTENBTEwKKwkJCXhtbEV4cEV4cERlcml2ZQkoeG1sRXhwQ3R4dFB0ciBjdHh0LAorCQkJCQkgeG1sRXhwTm9kZVB0ciBleHByLAorCQkJCQkgeG1sRXhwTm9kZVB0ciBzdWIpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCQl4bWxFeHBTdWJzdW1lCSh4bWxFeHBDdHh0UHRyIGN0eHQsCisJCQkJCSB4bWxFeHBOb2RlUHRyIGV4cHIsCisJCQkJCSB4bWxFeHBOb2RlUHRyIHN1Yik7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCQl4bWxFeHBEdW1wCSh4bWxCdWZmZXJQdHIgYnVmLAorCQkJCQkgeG1sRXhwTm9kZVB0ciBleHByKTsKKyNlbmRpZiAvKiBMSUJYTUxfRVhQUl9FTkFCTEVEICovCisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorCisjZW5kaWYgLyogTElCWE1MX1JFR0VYUF9FTkFCTEVEICovCisKKyNlbmRpZiAvKl9fWE1MX1JFR0VYUF9IX18gKi8KZGlmZiAtLWdpdCBhL2xpYnhtbDIvaW5jbHVkZS9saWJ4bWwveG1sc2F2ZS5oIGIvbGlieG1sMi9pbmNsdWRlL2xpYnhtbC94bWxzYXZlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmIzMjliMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvaW5jbHVkZS9saWJ4bWwveG1sc2F2ZS5oCkBAIC0wLDAgKzEsODggQEAKKy8qCisgKiBTdW1tYXJ5OiB0aGUgWE1MIGRvY3VtZW50IHNlcmlhbGl6ZXIKKyAqIERlc2NyaXB0aW9uOiBBUEkgdG8gc2F2ZSBkb2N1bWVudCBvciBzdWJ0cmVlIG9mIGRvY3VtZW50CisgKgorICogQ29weTogU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgorICoKKyAqIEF1dGhvcjogRGFuaWVsIFZlaWxsYXJkCisgKi8KKworI2lmbmRlZiBfX1hNTF9YTUxTQVZFX0hfXworI2RlZmluZSBfX1hNTF9YTUxTQVZFX0hfXworCisjaW5jbHVkZSA8bGlieG1sL3htbHZlcnNpb24uaD4KKyNpbmNsdWRlIDxsaWJ4bWwvdHJlZS5oPgorI2luY2x1ZGUgPGxpYnhtbC9lbmNvZGluZy5oPgorI2luY2x1ZGUgPGxpYnhtbC94bWxJTy5oPgorCisjaWZkZWYgTElCWE1MX09VVFBVVF9FTkFCTEVECisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCisKKy8qKgorICogeG1sU2F2ZU9wdGlvbjoKKyAqCisgKiBUaGlzIGlzIHRoZSBzZXQgb2YgWE1MIHNhdmUgb3B0aW9ucyB0aGF0IGNhbiBiZSBwYXNzZWQgZG93bgorICogdG8gdGhlIHhtbFNhdmVUb0ZkKCkgYW5kIHNpbWlsYXIgY2FsbHMuCisgKi8KK3R5cGVkZWYgZW51bSB7CisgICAgWE1MX1NBVkVfRk9STUFUICAgICA9IDE8PDAsCS8qIGZvcm1hdCBzYXZlIG91dHB1dCAqLworICAgIFhNTF9TQVZFX05PX0RFQ0wgICAgPSAxPDwxLAkvKiBkcm9wIHRoZSB4bWwgZGVjbGFyYXRpb24gKi8KKyAgICBYTUxfU0FWRV9OT19FTVBUWQk9IDE8PDIsIC8qIG5vIGVtcHR5IHRhZ3MgKi8KKyAgICBYTUxfU0FWRV9OT19YSFRNTAk9IDE8PDMsIC8qIGRpc2FibGUgWEhUTUwxIHNwZWNpZmljIHJ1bGVzICovCisgICAgWE1MX1NBVkVfWEhUTUwJPSAxPDw0LCAvKiBmb3JjZSBYSFRNTDEgc3BlY2lmaWMgcnVsZXMgKi8KKyAgICBYTUxfU0FWRV9BU19YTUwgICAgID0gMTw8NSwgLyogZm9yY2UgWE1MIHNlcmlhbGl6YXRpb24gb24gSFRNTCBkb2MgKi8KKyAgICBYTUxfU0FWRV9BU19IVE1MICAgID0gMTw8NiwgLyogZm9yY2UgSFRNTCBzZXJpYWxpemF0aW9uIG9uIFhNTCBkb2MgKi8KKyAgICBYTUxfU0FWRV9XU05PTlNJRyAgID0gMTw8NyAgLyogZm9ybWF0IHdpdGggbm9uLXNpZ25pZmljYW50IHdoaXRlc3BhY2UgKi8KK30geG1sU2F2ZU9wdGlvbjsKKworCit0eXBlZGVmIHN0cnVjdCBfeG1sU2F2ZUN0eHQgeG1sU2F2ZUN0eHQ7Cit0eXBlZGVmIHhtbFNhdmVDdHh0ICp4bWxTYXZlQ3R4dFB0cjsKKworWE1MUFVCRlVOIHhtbFNhdmVDdHh0UHRyIFhNTENBTEwKKwkJeG1sU2F2ZVRvRmQJCShpbnQgZmQsCisJCQkJCSBjb25zdCBjaGFyICplbmNvZGluZywKKwkJCQkJIGludCBvcHRpb25zKTsKK1hNTFBVQkZVTiB4bWxTYXZlQ3R4dFB0ciBYTUxDQUxMCisJCXhtbFNhdmVUb0ZpbGVuYW1lCShjb25zdCBjaGFyICpmaWxlbmFtZSwKKwkJCQkJIGNvbnN0IGNoYXIgKmVuY29kaW5nLAorCQkJCQkgaW50IG9wdGlvbnMpOworCitYTUxQVUJGVU4geG1sU2F2ZUN0eHRQdHIgWE1MQ0FMTAorCQl4bWxTYXZlVG9CdWZmZXIJCSh4bWxCdWZmZXJQdHIgYnVmZmVyLAorCQkJCQkgY29uc3QgY2hhciAqZW5jb2RpbmcsCisJCQkJCSBpbnQgb3B0aW9ucyk7CisKK1hNTFBVQkZVTiB4bWxTYXZlQ3R4dFB0ciBYTUxDQUxMCisJCXhtbFNhdmVUb0lPCQkoeG1sT3V0cHV0V3JpdGVDYWxsYmFjayBpb3dyaXRlLAorCQkJCQkgeG1sT3V0cHV0Q2xvc2VDYWxsYmFjayBpb2Nsb3NlLAorCQkJCQkgdm9pZCAqaW9jdHgsCisJCQkJCSBjb25zdCBjaGFyICplbmNvZGluZywKKwkJCQkJIGludCBvcHRpb25zKTsKKworWE1MUFVCRlVOIGxvbmcgWE1MQ0FMTAorCQl4bWxTYXZlRG9jCQkoeG1sU2F2ZUN0eHRQdHIgY3R4dCwKKwkJCQkJIHhtbERvY1B0ciBkb2MpOworWE1MUFVCRlVOIGxvbmcgWE1MQ0FMTAorCQl4bWxTYXZlVHJlZQkJKHhtbFNhdmVDdHh0UHRyIGN0eHQsCisJCQkJCSB4bWxOb2RlUHRyIG5vZGUpOworCitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJeG1sU2F2ZUZsdXNoCQkoeG1sU2F2ZUN0eHRQdHIgY3R4dCk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJeG1sU2F2ZUNsb3NlCQkoeG1sU2F2ZUN0eHRQdHIgY3R4dCk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJeG1sU2F2ZVNldEVzY2FwZQkoeG1sU2F2ZUN0eHRQdHIgY3R4dCwKKwkJCQkJIHhtbENoYXJFbmNvZGluZ091dHB1dEZ1bmMgZXNjYXBlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl4bWxTYXZlU2V0QXR0ckVzY2FwZQkoeG1sU2F2ZUN0eHRQdHIgY3R4dCwKKwkJCQkJIHhtbENoYXJFbmNvZGluZ091dHB1dEZ1bmMgZXNjYXBlKTsKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCisjZW5kaWYgLyogTElCWE1MX09VVFBVVF9FTkFCTEVEICovCisjZW5kaWYgLyogX19YTUxfWE1MU0FWRV9IX18gKi8KKworCmRpZmYgLS1naXQgYS9saWJ4bWwyL2luY2x1ZGUvbGlieG1sL3htbHNjaGVtYXMuaCBiL2xpYnhtbDIvaW5jbHVkZS9saWJ4bWwveG1sc2NoZW1hcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk3OTMwYzcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2luY2x1ZGUvbGlieG1sL3htbHNjaGVtYXMuaApAQCAtMCwwICsxLDI0NiBAQAorLyoKKyAqIFN1bW1hcnk6IGluY29tcGxldGUgWE1MIFNjaGVtYXMgc3RydWN0dXJlIGltcGxlbWVudGF0aW9uCisgKiBEZXNjcmlwdGlvbjogaW50ZXJmYWNlIHRvIHRoZSBYTUwgU2NoZW1hcyBoYW5kbGluZyBhbmQgc2NoZW1hIHZhbGlkaXR5CisgKiAgICAgICAgICAgICAgY2hlY2tpbmcsIGl0IGlzIGluY29tcGxldGUgcmlnaHQgbm93LgorICoKKyAqIENvcHk6IFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyAqCisgKiBBdXRob3I6IERhbmllbCBWZWlsbGFyZAorICovCisKKworI2lmbmRlZiBfX1hNTF9TQ0hFTUFfSF9fCisjZGVmaW5lIF9fWE1MX1NDSEVNQV9IX18KKworI2luY2x1ZGUgPGxpYnhtbC94bWx2ZXJzaW9uLmg+CisKKyNpZmRlZiBMSUJYTUxfU0NIRU1BU19FTkFCTEVECisKKyNpbmNsdWRlIDxsaWJ4bWwvdHJlZS5oPgorCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCisKKy8qKgorICogVGhpcyBlcnJvciBjb2RlcyBhcmUgb2Jzb2xldGU7IG5vdCB1c2VkIGFueSBtb3JlLgorICovCit0eXBlZGVmIGVudW0geworICAgIFhNTF9TQ0hFTUFTX0VSUl9PSwkJPSAwLAorICAgIFhNTF9TQ0hFTUFTX0VSUl9OT1JPT1QJPSAxLAorICAgIFhNTF9TQ0hFTUFTX0VSUl9VTkRFQ0xBUkVERUxFTSwKKyAgICBYTUxfU0NIRU1BU19FUlJfTk9UVE9QTEVWRUwsCisgICAgWE1MX1NDSEVNQVNfRVJSX01JU1NJTkcsCisgICAgWE1MX1NDSEVNQVNfRVJSX1dST05HRUxFTSwKKyAgICBYTUxfU0NIRU1BU19FUlJfTk9UWVBFLAorICAgIFhNTF9TQ0hFTUFTX0VSUl9OT1JPTExCQUNLLAorICAgIFhNTF9TQ0hFTUFTX0VSUl9JU0FCU1RSQUNULAorICAgIFhNTF9TQ0hFTUFTX0VSUl9OT1RFTVBUWSwKKyAgICBYTUxfU0NIRU1BU19FUlJfRUxFTUNPTlQsCisgICAgWE1MX1NDSEVNQVNfRVJSX0hBVkVERUZBVUxULAorICAgIFhNTF9TQ0hFTUFTX0VSUl9OT1ROSUxMQUJMRSwKKyAgICBYTUxfU0NIRU1BU19FUlJfRVhUUkFDT05URU5ULAorICAgIFhNTF9TQ0hFTUFTX0VSUl9JTlZBTElEQVRUUiwKKyAgICBYTUxfU0NIRU1BU19FUlJfSU5WQUxJREVMRU0sCisgICAgWE1MX1NDSEVNQVNfRVJSX05PVERFVEVSTUlOSVNULAorICAgIFhNTF9TQ0hFTUFTX0VSUl9DT05TVFJVQ1QsCisgICAgWE1MX1NDSEVNQVNfRVJSX0lOVEVSTkFMLAorICAgIFhNTF9TQ0hFTUFTX0VSUl9OT1RTSU1QTEUsCisgICAgWE1MX1NDSEVNQVNfRVJSX0FUVFJVTktOT1dOLAorICAgIFhNTF9TQ0hFTUFTX0VSUl9BVFRSSU5WQUxJRCwKKyAgICBYTUxfU0NIRU1BU19FUlJfVkFMVUUsCisgICAgWE1MX1NDSEVNQVNfRVJSX0ZBQ0VULAorICAgIFhNTF9TQ0hFTUFTX0VSUl8sCisgICAgWE1MX1NDSEVNQVNfRVJSX1hYWAorfSB4bWxTY2hlbWFWYWxpZEVycm9yOworCisvKgorKiBBVFRFTlRJT046IENoYW5nZSB4bWxTY2hlbWFTZXRWYWxpZE9wdGlvbnMncyBjaGVjaworKiBmb3IgaW52YWxpZCB2YWx1ZXMsIGlmIGFkZGluZyB0byB0aGUgdmFsaWRhdGlvbgorKiBvcHRpb25zIGJlbG93LgorKi8KKy8qKgorICogeG1sU2NoZW1hVmFsaWRPcHRpb246CisgKgorICogVGhpcyBpcyB0aGUgc2V0IG9mIFhNTCBTY2hlbWEgdmFsaWRhdGlvbiBvcHRpb25zLgorICovCit0eXBlZGVmIGVudW0geworICAgIFhNTF9TQ0hFTUFfVkFMX1ZDX0lfQ1JFQVRFCQkJPSAxPDwwCisJLyogRGVmYXVsdC9maXhlZDogY3JlYXRlIGFuIGF0dHJpYnV0ZSBub2RlCisJKiBvciBhbiBlbGVtZW50J3MgdGV4dCBub2RlIG9uIHRoZSBpbnN0YW5jZS4KKwkqLworfSB4bWxTY2hlbWFWYWxpZE9wdGlvbjsKKworLyoKKyAgICBYTUxfU0NIRU1BX1ZBTF9YU0lfQVNTRU1CTEUJCQk9IDE8PDEsCisJKiBhc3NlbWJsZSBzY2hlbWF0YSB1c2luZworCSogeHNpOnNjaGVtYUxvY2F0aW9uIGFuZAorCSogeHNpOm5vTmFtZXNwYWNlU2NoZW1hTG9jYXRpb24KKyovCisKKy8qKgorICogVGhlIHNjaGVtYXMgcmVsYXRlZCB0eXBlcyBhcmUga2VwdCBpbnRlcm5hbAorICovCit0eXBlZGVmIHN0cnVjdCBfeG1sU2NoZW1hIHhtbFNjaGVtYTsKK3R5cGVkZWYgeG1sU2NoZW1hICp4bWxTY2hlbWFQdHI7CisKKy8qKgorICogeG1sU2NoZW1hVmFsaWRpdHlFcnJvckZ1bmM6CisgKiBAY3R4OiB0aGUgdmFsaWRhdGlvbiBjb250ZXh0CisgKiBAbXNnOiB0aGUgbWVzc2FnZQorICogQC4uLjogZXh0cmEgYXJndW1lbnRzCisgKgorICogU2lnbmF0dXJlIG9mIGFuIGVycm9yIGNhbGxiYWNrIGZyb20gYW4gWFNEIHZhbGlkYXRpb24KKyAqLwordHlwZWRlZiB2b2lkIChYTUxDREVDTCAqeG1sU2NoZW1hVmFsaWRpdHlFcnJvckZ1bmMpCisgICAgICAgICAgICAgICAgICh2b2lkICpjdHgsIGNvbnN0IGNoYXIgKm1zZywgLi4uKSBMSUJYTUxfQVRUUl9GT1JNQVQoMiwzKTsKKworLyoqCisgKiB4bWxTY2hlbWFWYWxpZGl0eVdhcm5pbmdGdW5jOgorICogQGN0eDogdGhlIHZhbGlkYXRpb24gY29udGV4dAorICogQG1zZzogdGhlIG1lc3NhZ2UKKyAqIEAuLi46IGV4dHJhIGFyZ3VtZW50cworICoKKyAqIFNpZ25hdHVyZSBvZiBhIHdhcm5pbmcgY2FsbGJhY2sgZnJvbSBhbiBYU0QgdmFsaWRhdGlvbgorICovCit0eXBlZGVmIHZvaWQgKFhNTENERUNMICp4bWxTY2hlbWFWYWxpZGl0eVdhcm5pbmdGdW5jKQorICAgICAgICAgICAgICAgICAodm9pZCAqY3R4LCBjb25zdCBjaGFyICptc2csIC4uLikgTElCWE1MX0FUVFJfRk9STUFUKDIsMyk7CisKKy8qKgorICogQSBzY2hlbWFzIHZhbGlkYXRpb24gY29udGV4dAorICovCit0eXBlZGVmIHN0cnVjdCBfeG1sU2NoZW1hUGFyc2VyQ3R4dCB4bWxTY2hlbWFQYXJzZXJDdHh0OwordHlwZWRlZiB4bWxTY2hlbWFQYXJzZXJDdHh0ICp4bWxTY2hlbWFQYXJzZXJDdHh0UHRyOworCit0eXBlZGVmIHN0cnVjdCBfeG1sU2NoZW1hVmFsaWRDdHh0IHhtbFNjaGVtYVZhbGlkQ3R4dDsKK3R5cGVkZWYgeG1sU2NoZW1hVmFsaWRDdHh0ICp4bWxTY2hlbWFWYWxpZEN0eHRQdHI7CisKKy8qKgorICogeG1sU2NoZW1hVmFsaWRpdHlMb2NhdG9yRnVuYzoKKyAqIEBjdHg6IHVzZXIgcHJvdmlkZWQgY29udGV4dAorICogQGZpbGU6IHJldHVybmVkIGZpbGUgaW5mb3JtYXRpb24KKyAqIEBsaW5lOiByZXR1cm5lZCBsaW5lIGluZm9ybWF0aW9uCisgKgorICogQSBzY2hlbWFzIHZhbGlkYXRpb24gbG9jYXRvciwgYSBjYWxsYmFjayBjYWxsZWQgYnkgdGhlIHZhbGlkYXRvci4KKyAqIFRoaXMgaXMgdXNlZCB3aGVuIGZpbGUgb3Igbm9kZSBpbmZvcm1hdGlvbnMgYXJlIG5vdCBhdmFpbGFibGUKKyAqIHRvIGZpbmQgb3V0IHdoYXQgZmlsZSBhbmQgbGluZSBudW1iZXIgYXJlIGFmZmVjdGVkCisgKgorICogUmV0dXJuczogMCBpbiBjYXNlIG9mIHN1Y2Nlc3MgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworCit0eXBlZGVmIGludCAoWE1MQ0RFQ0wgKnhtbFNjaGVtYVZhbGlkaXR5TG9jYXRvckZ1bmMpICh2b2lkICpjdHgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICoqZmlsZSwgdW5zaWduZWQgbG9uZyAqbGluZSk7CisKKy8qCisgKiBJbnRlcmZhY2VzIGZvciBwYXJzaW5nLgorICovCitYTUxQVUJGVU4geG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBYTUxDQUxMCisJICAgIHhtbFNjaGVtYU5ld1BhcnNlckN0eHQJKGNvbnN0IGNoYXIgKlVSTCk7CitYTUxQVUJGVU4geG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBYTUxDQUxMCisJICAgIHhtbFNjaGVtYU5ld01lbVBhcnNlckN0eHQJKGNvbnN0IGNoYXIgKmJ1ZmZlciwKKwkJCQkJIGludCBzaXplKTsKK1hNTFBVQkZVTiB4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIFhNTENBTEwKKwkgICAgeG1sU2NoZW1hTmV3RG9jUGFyc2VyQ3R4dAkoeG1sRG9jUHRyIGRvYyk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJICAgIHhtbFNjaGVtYUZyZWVQYXJzZXJDdHh0CSh4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIGN0eHQpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCSAgICB4bWxTY2hlbWFTZXRQYXJzZXJFcnJvcnMJKHhtbFNjaGVtYVBhcnNlckN0eHRQdHIgY3R4dCwKKwkJCQkJIHhtbFNjaGVtYVZhbGlkaXR5RXJyb3JGdW5jIGVyciwKKwkJCQkJIHhtbFNjaGVtYVZhbGlkaXR5V2FybmluZ0Z1bmMgd2FybiwKKwkJCQkJIHZvaWQgKmN0eCk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJICAgIHhtbFNjaGVtYVNldFBhcnNlclN0cnVjdHVyZWRFcnJvcnMoeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBjdHh0LAorCQkJCQkgeG1sU3RydWN0dXJlZEVycm9yRnVuYyBzZXJyb3IsCisJCQkJCSB2b2lkICpjdHgpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCXhtbFNjaGVtYUdldFBhcnNlckVycm9ycyh4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIGN0eHQsCisJCQkJCXhtbFNjaGVtYVZhbGlkaXR5RXJyb3JGdW5jICogZXJyLAorCQkJCQl4bWxTY2hlbWFWYWxpZGl0eVdhcm5pbmdGdW5jICogd2FybiwKKwkJCQkJdm9pZCAqKmN0eCk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJeG1sU2NoZW1hSXNWYWxpZAkoeG1sU2NoZW1hVmFsaWRDdHh0UHRyIGN0eHQpOworCitYTUxQVUJGVU4geG1sU2NoZW1hUHRyIFhNTENBTEwKKwkgICAgeG1sU2NoZW1hUGFyc2UJCSh4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIGN0eHQpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCSAgICB4bWxTY2hlbWFGcmVlCQkoeG1sU2NoZW1hUHRyIHNjaGVtYSk7CisjaWZkZWYgTElCWE1MX09VVFBVVF9FTkFCTEVECitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJICAgIHhtbFNjaGVtYUR1bXAJCShGSUxFICpvdXRwdXQsCisJCQkJCSB4bWxTY2hlbWFQdHIgc2NoZW1hKTsKKyNlbmRpZiAvKiBMSUJYTUxfT1VUUFVUX0VOQUJMRUQgKi8KKy8qCisgKiBJbnRlcmZhY2VzIGZvciB2YWxpZGF0aW5nCisgKi8KK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkgICAgeG1sU2NoZW1hU2V0VmFsaWRFcnJvcnMJKHhtbFNjaGVtYVZhbGlkQ3R4dFB0ciBjdHh0LAorCQkJCQkgeG1sU2NoZW1hVmFsaWRpdHlFcnJvckZ1bmMgZXJyLAorCQkJCQkgeG1sU2NoZW1hVmFsaWRpdHlXYXJuaW5nRnVuYyB3YXJuLAorCQkJCQkgdm9pZCAqY3R4KTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkgICAgeG1sU2NoZW1hU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzKHhtbFNjaGVtYVZhbGlkQ3R4dFB0ciBjdHh0LAorCQkJCQkgeG1sU3RydWN0dXJlZEVycm9yRnVuYyBzZXJyb3IsCisJCQkJCSB2b2lkICpjdHgpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJICAgIHhtbFNjaGVtYUdldFZhbGlkRXJyb3JzCSh4bWxTY2hlbWFWYWxpZEN0eHRQdHIgY3R4dCwKKwkJCQkJIHhtbFNjaGVtYVZhbGlkaXR5RXJyb3JGdW5jICplcnIsCisJCQkJCSB4bWxTY2hlbWFWYWxpZGl0eVdhcm5pbmdGdW5jICp3YXJuLAorCQkJCQkgdm9pZCAqKmN0eCk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkgICAgeG1sU2NoZW1hU2V0VmFsaWRPcHRpb25zCSh4bWxTY2hlbWFWYWxpZEN0eHRQdHIgY3R4dCwKKwkJCQkJIGludCBvcHRpb25zKTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKyAgICAgICAgICAgIHhtbFNjaGVtYVZhbGlkYXRlU2V0RmlsZW5hbWUoeG1sU2NoZW1hVmFsaWRDdHh0UHRyIHZjdHh0LAorCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmZpbGVuYW1lKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCSAgICB4bWxTY2hlbWFWYWxpZEN0eHRHZXRPcHRpb25zKHhtbFNjaGVtYVZhbGlkQ3R4dFB0ciBjdHh0KTsKKworWE1MUFVCRlVOIHhtbFNjaGVtYVZhbGlkQ3R4dFB0ciBYTUxDQUxMCisJICAgIHhtbFNjaGVtYU5ld1ZhbGlkQ3R4dAkoeG1sU2NoZW1hUHRyIHNjaGVtYSk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJICAgIHhtbFNjaGVtYUZyZWVWYWxpZEN0eHQJKHhtbFNjaGVtYVZhbGlkQ3R4dFB0ciBjdHh0KTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCSAgICB4bWxTY2hlbWFWYWxpZGF0ZURvYwkoeG1sU2NoZW1hVmFsaWRDdHh0UHRyIGN0eHQsCisJCQkJCSB4bWxEb2NQdHIgaW5zdGFuY2UpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisgICAgICAgICAgICB4bWxTY2hlbWFWYWxpZGF0ZU9uZUVsZW1lbnQgKHhtbFNjaGVtYVZhbGlkQ3R4dFB0ciBjdHh0LAorCQkJICAgICAgICAgICAgICAgICB4bWxOb2RlUHRyIGVsZW0pOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJICAgIHhtbFNjaGVtYVZhbGlkYXRlU3RyZWFtCSh4bWxTY2hlbWFWYWxpZEN0eHRQdHIgY3R4dCwKKwkJCQkJIHhtbFBhcnNlcklucHV0QnVmZmVyUHRyIGlucHV0LAorCQkJCQkgeG1sQ2hhckVuY29kaW5nIGVuYywKKwkJCQkJIHhtbFNBWEhhbmRsZXJQdHIgc2F4LAorCQkJCQkgdm9pZCAqdXNlcl9kYXRhKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCSAgICB4bWxTY2hlbWFWYWxpZGF0ZUZpbGUJKHhtbFNjaGVtYVZhbGlkQ3R4dFB0ciBjdHh0LAorCQkJCQkgY29uc3QgY2hhciAqIGZpbGVuYW1lLAorCQkJCQkgaW50IG9wdGlvbnMpOworCitYTUxQVUJGVU4geG1sUGFyc2VyQ3R4dFB0ciBYTUxDQUxMCisJICAgIHhtbFNjaGVtYVZhbGlkQ3R4dEdldFBhcnNlckN0eHQoeG1sU2NoZW1hVmFsaWRDdHh0UHRyIGN0eHQpOworCisvKgorICogSW50ZXJmYWNlIHRvIGluc2VydCBTY2hlbWFzIFNBWCB2YWxpZGF0aW9uIGluIGEgU0FYIHN0cmVhbQorICovCit0eXBlZGVmIHN0cnVjdCBfeG1sU2NoZW1hU0FYUGx1ZyB4bWxTY2hlbWFTQVhQbHVnU3RydWN0OwordHlwZWRlZiB4bWxTY2hlbWFTQVhQbHVnU3RydWN0ICp4bWxTY2hlbWFTQVhQbHVnUHRyOworCitYTUxQVUJGVU4geG1sU2NoZW1hU0FYUGx1Z1B0ciBYTUxDQUxMCisgICAgICAgICAgICB4bWxTY2hlbWFTQVhQbHVnCQkoeG1sU2NoZW1hVmFsaWRDdHh0UHRyIGN0eHQsCisJCQkJCSB4bWxTQVhIYW5kbGVyUHRyICpzYXgsCisJCQkJCSB2b2lkICoqdXNlcl9kYXRhKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorICAgICAgICAgICAgeG1sU2NoZW1hU0FYVW5wbHVnCQkoeG1sU2NoZW1hU0FYUGx1Z1B0ciBwbHVnKTsKKworCitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisgICAgICAgICAgICB4bWxTY2hlbWFWYWxpZGF0ZVNldExvY2F0b3IJKHhtbFNjaGVtYVZhbGlkQ3R4dFB0ciB2Y3R4dCwKKwkJCQkJIHhtbFNjaGVtYVZhbGlkaXR5TG9jYXRvckZ1bmMgZiwKKwkJCQkJIHZvaWQgKmN0eHQpOworCisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorCisjZW5kaWYgLyogTElCWE1MX1NDSEVNQVNfRU5BQkxFRCAqLworI2VuZGlmIC8qIF9fWE1MX1NDSEVNQV9IX18gKi8KZGlmZiAtLWdpdCBhL2xpYnhtbDIvaW5jbHVkZS9saWJ4bWwveG1sc2NoZW1hc3R5cGVzLmggYi9saWJ4bWwyL2luY2x1ZGUvbGlieG1sL3htbHNjaGVtYXN0eXBlcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM1ZDQ4ZDQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2luY2x1ZGUvbGlieG1sL3htbHNjaGVtYXN0eXBlcy5oCkBAIC0wLDAgKzEsMTUxIEBACisvKgorICogU3VtbWFyeTogaW1wbGVtZW50YXRpb24gb2YgWE1MIFNjaGVtYSBEYXRhdHlwZXMKKyAqIERlc2NyaXB0aW9uOiBtb2R1bGUgcHJvdmlkaW5nIHRoZSBYTUwgU2NoZW1hIERhdGF0eXBlcyBpbXBsZW1lbnRhdGlvbgorICogICAgICAgICAgICAgIGJvdGggZGVmaW5pdGlvbiBhbmQgdmFsaWRpdHkgY2hlY2tpbmcKKyAqCisgKiBDb3B5OiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisgKgorICogQXV0aG9yOiBEYW5pZWwgVmVpbGxhcmQKKyAqLworCisKKyNpZm5kZWYgX19YTUxfU0NIRU1BX1RZUEVTX0hfXworI2RlZmluZSBfX1hNTF9TQ0hFTUFfVFlQRVNfSF9fCisKKyNpbmNsdWRlIDxsaWJ4bWwveG1sdmVyc2lvbi5oPgorCisjaWZkZWYgTElCWE1MX1NDSEVNQVNfRU5BQkxFRAorCisjaW5jbHVkZSA8bGlieG1sL3NjaGVtYXNJbnRlcm5hbHMuaD4KKyNpbmNsdWRlIDxsaWJ4bWwveG1sc2NoZW1hcy5oPgorCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCisKK3R5cGVkZWYgZW51bSB7CisgICAgWE1MX1NDSEVNQV9XSElURVNQQUNFX1VOS05PV04gPSAwLAorICAgIFhNTF9TQ0hFTUFfV0hJVEVTUEFDRV9QUkVTRVJWRSA9IDEsCisgICAgWE1MX1NDSEVNQV9XSElURVNQQUNFX1JFUExBQ0UgPSAyLAorICAgIFhNTF9TQ0hFTUFfV0hJVEVTUEFDRV9DT0xMQVBTRSA9IDMKK30geG1sU2NoZW1hV2hpdGVzcGFjZVZhbHVlVHlwZTsKKworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQl4bWxTY2hlbWFJbml0VHlwZXMJCSh2b2lkKTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJeG1sU2NoZW1hQ2xlYW51cFR5cGVzCQkodm9pZCk7CitYTUxQVUJGVU4geG1sU2NoZW1hVHlwZVB0ciBYTUxDQUxMCisJCXhtbFNjaGVtYUdldFByZWRlZmluZWRUeXBlCShjb25zdCB4bWxDaGFyICpuYW1lLAorCQkJCQkJIGNvbnN0IHhtbENoYXIgKm5zKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl4bWxTY2hlbWFWYWxpZGF0ZVByZWRlZmluZWRUeXBlCSh4bWxTY2hlbWFUeXBlUHRyIHR5cGUsCisJCQkJCQkgY29uc3QgeG1sQ2hhciAqdmFsdWUsCisJCQkJCQkgeG1sU2NoZW1hVmFsUHRyICp2YWwpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCXhtbFNjaGVtYVZhbFByZWRlZlR5cGVOb2RlCSh4bWxTY2hlbWFUeXBlUHRyIHR5cGUsCisJCQkJCQkgY29uc3QgeG1sQ2hhciAqdmFsdWUsCisJCQkJCQkgeG1sU2NoZW1hVmFsUHRyICp2YWwsCisJCQkJCQkgeG1sTm9kZVB0ciBub2RlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0CQkoeG1sU2NoZW1hVHlwZVB0ciBiYXNlLAorCQkJCQkJIHhtbFNjaGVtYUZhY2V0UHRyIGZhY2V0LAorCQkJCQkJIGNvbnN0IHhtbENoYXIgKnZhbHVlLAorCQkJCQkJIHhtbFNjaGVtYVZhbFB0ciB2YWwpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCXhtbFNjaGVtYVZhbGlkYXRlRmFjZXRXaHRzcAkoeG1sU2NoZW1hRmFjZXRQdHIgZmFjZXQsCisJCQkJCQkgeG1sU2NoZW1hV2hpdGVzcGFjZVZhbHVlVHlwZSBmd3MsCisJCQkJCQkgeG1sU2NoZW1hVmFsVHlwZSB2YWxUeXBlLAorCQkJCQkJIGNvbnN0IHhtbENoYXIgKnZhbHVlLAorCQkJCQkJIHhtbFNjaGVtYVZhbFB0ciB2YWwsCisJCQkJCQkgeG1sU2NoZW1hV2hpdGVzcGFjZVZhbHVlVHlwZSB3cyk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCXhtbFNjaGVtYUZyZWVWYWx1ZQkJKHhtbFNjaGVtYVZhbFB0ciB2YWwpOworWE1MUFVCRlVOIHhtbFNjaGVtYUZhY2V0UHRyIFhNTENBTEwKKwkJeG1sU2NoZW1hTmV3RmFjZXQJCSh2b2lkKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl4bWxTY2hlbWFDaGVja0ZhY2V0CQkoeG1sU2NoZW1hRmFjZXRQdHIgZmFjZXQsCisJCQkJCQkgeG1sU2NoZW1hVHlwZVB0ciB0eXBlRGVjbCwKKwkJCQkJCSB4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIGN0eHQsCisJCQkJCQkgY29uc3QgeG1sQ2hhciAqbmFtZSk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCXhtbFNjaGVtYUZyZWVGYWNldAkJKHhtbFNjaGVtYUZhY2V0UHRyIGZhY2V0KTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl4bWxTY2hlbWFDb21wYXJlVmFsdWVzCQkoeG1sU2NoZW1hVmFsUHRyIHgsCisJCQkJCQkgeG1sU2NoZW1hVmFsUHRyIHkpOworWE1MUFVCRlVOIHhtbFNjaGVtYVR5cGVQdHIgWE1MQ0FMTAorICAgIHhtbFNjaGVtYUdldEJ1aWx0SW5MaXN0U2ltcGxlVHlwZUl0ZW1UeXBlCSh4bWxTY2hlbWFUeXBlUHRyIHR5cGUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisgICAgeG1sU2NoZW1hVmFsaWRhdGVMaXN0U2ltcGxlVHlwZUZhY2V0CSh4bWxTY2hlbWFGYWNldFB0ciBmYWNldCwKKwkJCQkJCSBjb25zdCB4bWxDaGFyICp2YWx1ZSwKKwkJCQkJCSB1bnNpZ25lZCBsb25nIGFjdHVhbExlbiwKKwkJCQkJCSB1bnNpZ25lZCBsb25nICpleHBlY3RlZExlbik7CitYTUxQVUJGVU4geG1sU2NoZW1hVHlwZVB0ciBYTUxDQUxMCisJCXhtbFNjaGVtYUdldEJ1aWx0SW5UeXBlCQkoeG1sU2NoZW1hVmFsVHlwZSB0eXBlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl4bWxTY2hlbWFJc0J1aWx0SW5UeXBlRmFjZXQJKHhtbFNjaGVtYVR5cGVQdHIgdHlwZSwKKwkJCQkJCSBpbnQgZmFjZXRUeXBlKTsKK1hNTFBVQkZVTiB4bWxDaGFyICogWE1MQ0FMTAorCQl4bWxTY2hlbWFDb2xsYXBzZVN0cmluZwkJKGNvbnN0IHhtbENoYXIgKnZhbHVlKTsKK1hNTFBVQkZVTiB4bWxDaGFyICogWE1MQ0FMTAorCQl4bWxTY2hlbWFXaGl0ZVNwYWNlUmVwbGFjZQkoY29uc3QgeG1sQ2hhciAqdmFsdWUpOworWE1MUFVCRlVOIHVuc2lnbmVkIGxvbmcgIFhNTENBTEwKKwkJeG1sU2NoZW1hR2V0RmFjZXRWYWx1ZUFzVUxvbmcJKHhtbFNjaGVtYUZhY2V0UHRyIGZhY2V0KTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl4bWxTY2hlbWFWYWxpZGF0ZUxlbmd0aEZhY2V0CSh4bWxTY2hlbWFUeXBlUHRyIHR5cGUsCisJCQkJCQkgeG1sU2NoZW1hRmFjZXRQdHIgZmFjZXQsCisJCQkJCQkgY29uc3QgeG1sQ2hhciAqdmFsdWUsCisJCQkJCQkgeG1sU2NoZW1hVmFsUHRyIHZhbCwKKwkJCQkJCSB1bnNpZ25lZCBsb25nICpsZW5ndGgpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCXhtbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXRXaHRzcCh4bWxTY2hlbWFGYWNldFB0ciBmYWNldCwKKwkJCQkJCSAgeG1sU2NoZW1hVmFsVHlwZSB2YWxUeXBlLAorCQkJCQkJICBjb25zdCB4bWxDaGFyICp2YWx1ZSwKKwkJCQkJCSAgeG1sU2NoZW1hVmFsUHRyIHZhbCwKKwkJCQkJCSAgdW5zaWduZWQgbG9uZyAqbGVuZ3RoLAorCQkJCQkJICB4bWxTY2hlbWFXaGl0ZXNwYWNlVmFsdWVUeXBlIHdzKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl4bWxTY2hlbWFWYWxQcmVkZWZUeXBlTm9kZU5vTm9ybSh4bWxTY2hlbWFUeXBlUHRyIHR5cGUsCisJCQkJCQkgY29uc3QgeG1sQ2hhciAqdmFsdWUsCisJCQkJCQkgeG1sU2NoZW1hVmFsUHRyICp2YWwsCisJCQkJCQkgeG1sTm9kZVB0ciBub2RlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl4bWxTY2hlbWFHZXRDYW5vblZhbHVlCQkoeG1sU2NoZW1hVmFsUHRyIHZhbCwKKwkJCQkJCSBjb25zdCB4bWxDaGFyICoqcmV0VmFsdWUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCXhtbFNjaGVtYUdldENhbm9uVmFsdWVXaHRzcAkoeG1sU2NoZW1hVmFsUHRyIHZhbCwKKwkJCQkJCSBjb25zdCB4bWxDaGFyICoqcmV0VmFsdWUsCisJCQkJCQkgeG1sU2NoZW1hV2hpdGVzcGFjZVZhbHVlVHlwZSB3cyk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJeG1sU2NoZW1hVmFsdWVBcHBlbmQJCSh4bWxTY2hlbWFWYWxQdHIgcHJldiwKKwkJCQkJCSB4bWxTY2hlbWFWYWxQdHIgY3VyKTsKK1hNTFBVQkZVTiB4bWxTY2hlbWFWYWxQdHIgWE1MQ0FMTAorCQl4bWxTY2hlbWFWYWx1ZUdldE5leHQJCSh4bWxTY2hlbWFWYWxQdHIgY3VyKTsKK1hNTFBVQkZVTiBjb25zdCB4bWxDaGFyICogWE1MQ0FMTAorCQl4bWxTY2hlbWFWYWx1ZUdldEFzU3RyaW5nCSh4bWxTY2hlbWFWYWxQdHIgdmFsKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl4bWxTY2hlbWFWYWx1ZUdldEFzQm9vbGVhbgkoeG1sU2NoZW1hVmFsUHRyIHZhbCk7CitYTUxQVUJGVU4geG1sU2NoZW1hVmFsUHRyIFhNTENBTEwKKwkJeG1sU2NoZW1hTmV3U3RyaW5nVmFsdWUJCSh4bWxTY2hlbWFWYWxUeXBlIHR5cGUsCisJCQkJCQkgY29uc3QgeG1sQ2hhciAqdmFsdWUpOworWE1MUFVCRlVOIHhtbFNjaGVtYVZhbFB0ciBYTUxDQUxMCisJCXhtbFNjaGVtYU5ld05PVEFUSU9OVmFsdWUJKGNvbnN0IHhtbENoYXIgKm5hbWUsCisJCQkJCQkgY29uc3QgeG1sQ2hhciAqbnMpOworWE1MUFVCRlVOIHhtbFNjaGVtYVZhbFB0ciBYTUxDQUxMCisJCXhtbFNjaGVtYU5ld1FOYW1lVmFsdWUJCShjb25zdCB4bWxDaGFyICpuYW1lc3BhY2VOYW1lLAorCQkJCQkJIGNvbnN0IHhtbENoYXIgKmxvY2FsTmFtZSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJeG1sU2NoZW1hQ29tcGFyZVZhbHVlc1dodHNwCSh4bWxTY2hlbWFWYWxQdHIgeCwKKwkJCQkJCSB4bWxTY2hlbWFXaGl0ZXNwYWNlVmFsdWVUeXBlIHh3cywKKwkJCQkJCSB4bWxTY2hlbWFWYWxQdHIgeSwKKwkJCQkJCSB4bWxTY2hlbWFXaGl0ZXNwYWNlVmFsdWVUeXBlIHl3cyk7CitYTUxQVUJGVU4geG1sU2NoZW1hVmFsUHRyIFhNTENBTEwKKwkJeG1sU2NoZW1hQ29weVZhbHVlCQkoeG1sU2NoZW1hVmFsUHRyIHZhbCk7CitYTUxQVUJGVU4geG1sU2NoZW1hVmFsVHlwZSBYTUxDQUxMCisJCXhtbFNjaGVtYUdldFZhbFR5cGUJCSh4bWxTY2hlbWFWYWxQdHIgdmFsKTsKKworI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKworI2VuZGlmIC8qIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQgKi8KKyNlbmRpZiAvKiBfX1hNTF9TQ0hFTUFfVFlQRVNfSF9fICovCmRpZmYgLS1naXQgYS9saWJ4bWwyL2luY2x1ZGUvbGlieG1sL3htbHN0cmluZy5oIGIvbGlieG1sMi9pbmNsdWRlL2xpYnhtbC94bWxzdHJpbmcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMDM2MjM2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9pbmNsdWRlL2xpYnhtbC94bWxzdHJpbmcuaApAQCAtMCwwICsxLDE0MCBAQAorLyoKKyAqIFN1bW1hcnk6IHNldCBvZiByb3V0aW5lcyB0byBwcm9jZXNzIHN0cmluZ3MKKyAqIERlc2NyaXB0aW9uOiB0eXBlIGFuZCBpbnRlcmZhY2VzIG5lZWRlZCBmb3IgdGhlIGludGVybmFsIHN0cmluZyBoYW5kbGluZworICogICAgICAgICAgICAgIG9mIHRoZSBsaWJyYXJ5LCBlc3BlY2lhbGx5IFVURjggcHJvY2Vzc2luZy4KKyAqCisgKiBDb3B5OiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisgKgorICogQXV0aG9yOiBEYW5pZWwgVmVpbGxhcmQKKyAqLworCisjaWZuZGVmIF9fWE1MX1NUUklOR19IX18KKyNkZWZpbmUgX19YTUxfU1RSSU5HX0hfXworCisjaW5jbHVkZSA8c3RkYXJnLmg+CisjaW5jbHVkZSA8bGlieG1sL3htbHZlcnNpb24uaD4KKworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCisvKioKKyAqIHhtbENoYXI6CisgKgorICogVGhpcyBpcyBhIGJhc2ljIGJ5dGUgaW4gYW4gVVRGLTggZW5jb2RlZCBzdHJpbmcuCisgKiBJdCdzIHVuc2lnbmVkIGFsbG93aW5nIHRvIHBpbnBvaW50IGNhc2Ugd2hlcmUgY2hhciAqIGFyZSBhc3NpZ25lZAorICogdG8geG1sQ2hhciAqIChwb3NzaWJseSBtYWtpbmcgc2VyaWFsaXphdGlvbiBiYWNrIGltcG9zc2libGUpLgorICovCit0eXBlZGVmIHVuc2lnbmVkIGNoYXIgeG1sQ2hhcjsKKworLyoqCisgKiBCQURfQ0FTVDoKKyAqCisgKiBNYWNybyB0byBjYXN0IGEgc3RyaW5nIHRvIGFuIHhtbENoYXIgKiB3aGVuIG9uZSBrbm93IGl0cyBzYWZlLgorICovCisjZGVmaW5lIEJBRF9DQVNUICh4bWxDaGFyICopCisKKy8qCisgKiB4bWxDaGFyIGhhbmRsaW5nCisgKi8KK1hNTFBVQkZVTiB4bWxDaGFyICogWE1MQ0FMTAorICAgICAgICAgICAgICAgIHhtbFN0cmR1cCAgICAgICAgICAgICAgICAoY29uc3QgeG1sQ2hhciAqY3VyKTsKK1hNTFBVQkZVTiB4bWxDaGFyICogWE1MQ0FMTAorICAgICAgICAgICAgICAgIHhtbFN0cm5kdXAgICAgICAgICAgICAgICAoY29uc3QgeG1sQ2hhciAqY3VyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbGVuKTsKK1hNTFBVQkZVTiB4bWxDaGFyICogWE1MQ0FMTAorICAgICAgICAgICAgICAgIHhtbENoYXJTdHJuZHVwICAgICAgICAgICAoY29uc3QgY2hhciAqY3VyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbGVuKTsKK1hNTFBVQkZVTiB4bWxDaGFyICogWE1MQ0FMTAorICAgICAgICAgICAgICAgIHhtbENoYXJTdHJkdXAgICAgICAgICAgICAoY29uc3QgY2hhciAqY3VyKTsKK1hNTFBVQkZVTiB4bWxDaGFyICogWE1MQ0FMTAorICAgICAgICAgICAgICAgIHhtbFN0cnN1YiAgICAgICAgICAgICAgICAoY29uc3QgeG1sQ2hhciAqc3RyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3RhcnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBsZW4pOworWE1MUFVCRlVOIGNvbnN0IHhtbENoYXIgKiBYTUxDQUxMCisgICAgICAgICAgICAgICAgeG1sU3RyY2hyICAgICAgICAgICAgICAgIChjb25zdCB4bWxDaGFyICpzdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbENoYXIgdmFsKTsKK1hNTFBVQkZVTiBjb25zdCB4bWxDaGFyICogWE1MQ0FMTAorICAgICAgICAgICAgICAgIHhtbFN0cnN0ciAgICAgICAgICAgICAgICAoY29uc3QgeG1sQ2hhciAqc3RyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICp2YWwpOworWE1MUFVCRlVOIGNvbnN0IHhtbENoYXIgKiBYTUxDQUxMCisgICAgICAgICAgICAgICAgeG1sU3RyY2FzZXN0ciAgICAgICAgICAgIChjb25zdCB4bWxDaGFyICpzdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKnZhbCk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKyAgICAgICAgICAgICAgICB4bWxTdHJjbXAgICAgICAgICAgICAgICAgKGNvbnN0IHhtbENoYXIgKnN0cjEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKnN0cjIpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisgICAgICAgICAgICAgICAgeG1sU3RybmNtcCAgICAgICAgICAgICAgIChjb25zdCB4bWxDaGFyICpzdHIxLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICpzdHIyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbGVuKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorICAgICAgICAgICAgICAgIHhtbFN0cmNhc2VjbXAgICAgICAgICAgICAoY29uc3QgeG1sQ2hhciAqc3RyMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqc3RyMik7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKyAgICAgICAgICAgICAgICB4bWxTdHJuY2FzZWNtcCAgICAgICAgICAgKGNvbnN0IHhtbENoYXIgKnN0cjEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKnN0cjIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBsZW4pOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisgICAgICAgICAgICAgICAgeG1sU3RyRXF1YWwgICAgICAgICAgICAgIChjb25zdCB4bWxDaGFyICpzdHIxLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICpzdHIyKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorICAgICAgICAgICAgICAgIHhtbFN0clFFcXVhbCAgICAgICAgICAgICAoY29uc3QgeG1sQ2hhciAqcHJlZiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqc3RyKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorICAgICAgICAgICAgICAgIHhtbFN0cmxlbiAgICAgICAgICAgICAgICAoY29uc3QgeG1sQ2hhciAqc3RyKTsKK1hNTFBVQkZVTiB4bWxDaGFyICogWE1MQ0FMTAorICAgICAgICAgICAgICAgIHhtbFN0cmNhdCAgICAgICAgICAgICAgICAoeG1sQ2hhciAqY3VyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICphZGQpOworWE1MUFVCRlVOIHhtbENoYXIgKiBYTUxDQUxMCisgICAgICAgICAgICAgICAgeG1sU3RybmNhdCAgICAgICAgICAgICAgICh4bWxDaGFyICpjdXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKmFkZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGxlbik7CitYTUxQVUJGVU4geG1sQ2hhciAqIFhNTENBTEwKKyAgICAgICAgICAgICAgICB4bWxTdHJuY2F0TmV3ICAgICAgICAgICAgKGNvbnN0IHhtbENoYXIgKnN0cjEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKnN0cjIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBsZW4pOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisgICAgICAgICAgICAgICAgeG1sU3RyUHJpbnRmICAgICAgICAgICAgICh4bWxDaGFyICpidWYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBsZW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKm1zZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorICAgICAgICAgICAgICAgIHhtbFN0clZQcmludGYgICAgICAgICAgICAgICAgKHhtbENoYXIgKmJ1ZiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGxlbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqbXNnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YV9saXN0IGFwKTsKKworWE1MUFVCRlVOIGludCBYTUxDQUxMCisgICAgICAgIHhtbEdldFVURjhDaGFyICAgICAgICAgICAgICAgICAgIChjb25zdCB1bnNpZ25lZCBjaGFyICp1dGYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCAqbGVuKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorICAgICAgICB4bWxDaGVja1VURjggICAgICAgICAgICAgICAgICAgICAoY29uc3QgdW5zaWduZWQgY2hhciAqdXRmKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorICAgICAgICB4bWxVVEY4U3Ryc2l6ZSAgICAgICAgICAgICAgICAgICAoY29uc3QgeG1sQ2hhciAqdXRmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbGVuKTsKK1hNTFBVQkZVTiB4bWxDaGFyICogWE1MQ0FMTAorICAgICAgICB4bWxVVEY4U3RybmR1cCAgICAgICAgICAgICAgICAgICAoY29uc3QgeG1sQ2hhciAqdXRmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbGVuKTsKK1hNTFBVQkZVTiBjb25zdCB4bWxDaGFyICogWE1MQ0FMTAorICAgICAgICB4bWxVVEY4U3RycG9zICAgICAgICAgICAgICAgICAgICAoY29uc3QgeG1sQ2hhciAqdXRmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcG9zKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorICAgICAgICB4bWxVVEY4U3RybG9jICAgICAgICAgICAgICAgICAgICAoY29uc3QgeG1sQ2hhciAqdXRmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICp1dGZjaGFyKTsKK1hNTFBVQkZVTiB4bWxDaGFyICogWE1MQ0FMTAorICAgICAgICB4bWxVVEY4U3Ryc3ViICAgICAgICAgICAgICAgICAgICAoY29uc3QgeG1sQ2hhciAqdXRmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3RhcnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBsZW4pOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisgICAgICAgIHhtbFVURjhTdHJsZW4gICAgICAgICAgICAgICAgICAgIChjb25zdCB4bWxDaGFyICp1dGYpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisgICAgICAgIHhtbFVURjhTaXplICAgICAgICAgICAgICAgICAgICAgIChjb25zdCB4bWxDaGFyICp1dGYpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisgICAgICAgIHhtbFVURjhDaGFyY21wICAgICAgICAgICAgICAgICAgIChjb25zdCB4bWxDaGFyICp1dGYxLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICp1dGYyKTsKKworI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKyNlbmRpZiAvKiBfX1hNTF9TVFJJTkdfSF9fICovCmRpZmYgLS1naXQgYS9saWJ4bWwyL2luY2x1ZGUvbGlieG1sL3htbHVuaWNvZGUuaCBiL2xpYnhtbDIvaW5jbHVkZS9saWJ4bWwveG1sdW5pY29kZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAxYWM4YjYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2luY2x1ZGUvbGlieG1sL3htbHVuaWNvZGUuaApAQCAtMCwwICsxLDIwMiBAQAorLyoKKyAqIFN1bW1hcnk6IFVuaWNvZGUgY2hhcmFjdGVyIEFQSXMKKyAqIERlc2NyaXB0aW9uOiBBUEkgZm9yIHRoZSBVbmljb2RlIGNoYXJhY3RlciBBUElzCisgKgorICogVGhpcyBmaWxlIGlzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGZyb20gdGhlCisgKiBVQ1MgZGVzY3JpcHRpb24gZmlsZXMgb2YgdGhlIFVuaWNvZGUgQ2hhcmFjdGVyIERhdGFiYXNlCisgKiBodHRwOi8vd3d3LnVuaWNvZGUub3JnL1B1YmxpYy80LjAtVXBkYXRlMS9VQ0QtNC4wLjEuaHRtbAorICogdXNpbmcgdGhlIGdlblVuaWNvZGUucHkgUHl0aG9uIHNjcmlwdC4KKyAqCisgKiBHZW5lcmF0aW9uIGRhdGU6IE1vbiBNYXIgMjcgMTE6MDk6NTIgMjAwNgorICogU291cmNlczogQmxvY2tzLTQuMC4xLnR4dCBVbmljb2RlRGF0YS00LjAuMS50eHQKKyAqIEF1dGhvcjogRGFuaWVsIFZlaWxsYXJkCisgKi8KKworI2lmbmRlZiBfX1hNTF9VTklDT0RFX0hfXworI2RlZmluZSBfX1hNTF9VTklDT0RFX0hfXworCisjaW5jbHVkZSA8bGlieG1sL3htbHZlcnNpb24uaD4KKworI2lmZGVmIExJQlhNTF9VTklDT0RFX0VOQUJMRUQKKworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCitYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVUNTSXNBZWdlYW5OdW1iZXJzCShpbnQgY29kZSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVUNTSXNBbHBoYWJldGljUHJlc2VudGF0aW9uRm9ybXMJKGludCBjb2RlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxVQ1NJc0FyYWJpYwkoaW50IGNvZGUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFVDU0lzQXJhYmljUHJlc2VudGF0aW9uRm9ybXNBCShpbnQgY29kZSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVUNTSXNBcmFiaWNQcmVzZW50YXRpb25Gb3Jtc0IJKGludCBjb2RlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxVQ1NJc0FybWVuaWFuCShpbnQgY29kZSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVUNTSXNBcnJvd3MJKGludCBjb2RlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxVQ1NJc0Jhc2ljTGF0aW4JKGludCBjb2RlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxVQ1NJc0JlbmdhbGkJKGludCBjb2RlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxVQ1NJc0Jsb2NrRWxlbWVudHMJKGludCBjb2RlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxVQ1NJc0JvcG9tb2ZvCShpbnQgY29kZSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVUNTSXNCb3BvbW9mb0V4dGVuZGVkCShpbnQgY29kZSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVUNTSXNCb3hEcmF3aW5nCShpbnQgY29kZSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVUNTSXNCcmFpbGxlUGF0dGVybnMJKGludCBjb2RlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxVQ1NJc0J1aGlkCShpbnQgY29kZSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVUNTSXNCeXphbnRpbmVNdXNpY2FsU3ltYm9scwkoaW50IGNvZGUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eQkoaW50IGNvZGUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eUZvcm1zCShpbnQgY29kZSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVUNTSXNDSktDb21wYXRpYmlsaXR5SWRlb2dyYXBocwkoaW50IGNvZGUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eUlkZW9ncmFwaHNTdXBwbGVtZW50CShpbnQgY29kZSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVUNTSXNDSktSYWRpY2Fsc1N1cHBsZW1lbnQJKGludCBjb2RlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxVQ1NJc0NKS1N5bWJvbHNhbmRQdW5jdHVhdGlvbgkoaW50IGNvZGUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFVDU0lzQ0pLVW5pZmllZElkZW9ncmFwaHMJKGludCBjb2RlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxVQ1NJc0NKS1VuaWZpZWRJZGVvZ3JhcGhzRXh0ZW5zaW9uQQkoaW50IGNvZGUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFVDU0lzQ0pLVW5pZmllZElkZW9ncmFwaHNFeHRlbnNpb25CCShpbnQgY29kZSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVUNTSXNDaGVyb2tlZQkoaW50IGNvZGUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFVDU0lzQ29tYmluaW5nRGlhY3JpdGljYWxNYXJrcwkoaW50IGNvZGUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFVDU0lzQ29tYmluaW5nRGlhY3JpdGljYWxNYXJrc2ZvclN5bWJvbHMJKGludCBjb2RlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxVQ1NJc0NvbWJpbmluZ0hhbGZNYXJrcwkoaW50IGNvZGUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFVDU0lzQ29tYmluaW5nTWFya3Nmb3JTeW1ib2xzCShpbnQgY29kZSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVUNTSXNDb250cm9sUGljdHVyZXMJKGludCBjb2RlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxVQ1NJc0N1cnJlbmN5U3ltYm9scwkoaW50IGNvZGUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFVDU0lzQ3lwcmlvdFN5bGxhYmFyeQkoaW50IGNvZGUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFVDU0lzQ3lyaWxsaWMJKGludCBjb2RlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxVQ1NJc0N5cmlsbGljU3VwcGxlbWVudAkoaW50IGNvZGUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFVDU0lzRGVzZXJldAkoaW50IGNvZGUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFVDU0lzRGV2YW5hZ2FyaQkoaW50IGNvZGUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFVDU0lzRGluZ2JhdHMJKGludCBjb2RlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxVQ1NJc0VuY2xvc2VkQWxwaGFudW1lcmljcwkoaW50IGNvZGUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFVDU0lzRW5jbG9zZWRDSktMZXR0ZXJzYW5kTW9udGhzCShpbnQgY29kZSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVUNTSXNFdGhpb3BpYwkoaW50IGNvZGUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFVDU0lzR2VuZXJhbFB1bmN0dWF0aW9uCShpbnQgY29kZSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVUNTSXNHZW9tZXRyaWNTaGFwZXMJKGludCBjb2RlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxVQ1NJc0dlb3JnaWFuCShpbnQgY29kZSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVUNTSXNHb3RoaWMJKGludCBjb2RlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxVQ1NJc0dyZWVrCShpbnQgY29kZSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVUNTSXNHcmVla0V4dGVuZGVkCShpbnQgY29kZSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVUNTSXNHcmVla2FuZENvcHRpYwkoaW50IGNvZGUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFVDU0lzR3VqYXJhdGkJKGludCBjb2RlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxVQ1NJc0d1cm11a2hpCShpbnQgY29kZSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVUNTSXNIYWxmd2lkdGhhbmRGdWxsd2lkdGhGb3JtcwkoaW50IGNvZGUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFVDU0lzSGFuZ3VsQ29tcGF0aWJpbGl0eUphbW8JKGludCBjb2RlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxVQ1NJc0hhbmd1bEphbW8JKGludCBjb2RlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxVQ1NJc0hhbmd1bFN5bGxhYmxlcwkoaW50IGNvZGUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFVDU0lzSGFudW5vbwkoaW50IGNvZGUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFVDU0lzSGVicmV3CShpbnQgY29kZSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVUNTSXNIaWdoUHJpdmF0ZVVzZVN1cnJvZ2F0ZXMJKGludCBjb2RlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxVQ1NJc0hpZ2hTdXJyb2dhdGVzCShpbnQgY29kZSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVUNTSXNIaXJhZ2FuYQkoaW50IGNvZGUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFVDU0lzSVBBRXh0ZW5zaW9ucwkoaW50IGNvZGUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFVDU0lzSWRlb2dyYXBoaWNEZXNjcmlwdGlvbkNoYXJhY3RlcnMJKGludCBjb2RlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxVQ1NJc0thbmJ1bgkoaW50IGNvZGUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFVDU0lzS2FuZ3hpUmFkaWNhbHMJKGludCBjb2RlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxVQ1NJc0thbm5hZGEJKGludCBjb2RlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxVQ1NJc0thdGFrYW5hCShpbnQgY29kZSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVUNTSXNLYXRha2FuYVBob25ldGljRXh0ZW5zaW9ucwkoaW50IGNvZGUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFVDU0lzS2htZXIJKGludCBjb2RlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxVQ1NJc0tobWVyU3ltYm9scwkoaW50IGNvZGUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFVDU0lzTGFvCShpbnQgY29kZSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVUNTSXNMYXRpbjFTdXBwbGVtZW50CShpbnQgY29kZSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVUNTSXNMYXRpbkV4dGVuZGVkQQkoaW50IGNvZGUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFVDU0lzTGF0aW5FeHRlbmRlZEIJKGludCBjb2RlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxVQ1NJc0xhdGluRXh0ZW5kZWRBZGRpdGlvbmFsCShpbnQgY29kZSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVUNTSXNMZXR0ZXJsaWtlU3ltYm9scwkoaW50IGNvZGUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFVDU0lzTGltYnUJKGludCBjb2RlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxVQ1NJc0xpbmVhckJJZGVvZ3JhbXMJKGludCBjb2RlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxVQ1NJc0xpbmVhckJTeWxsYWJhcnkJKGludCBjb2RlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxVQ1NJc0xvd1N1cnJvZ2F0ZXMJKGludCBjb2RlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxVQ1NJc01hbGF5YWxhbQkoaW50IGNvZGUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFVDU0lzTWF0aGVtYXRpY2FsQWxwaGFudW1lcmljU3ltYm9scwkoaW50IGNvZGUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFVDU0lzTWF0aGVtYXRpY2FsT3BlcmF0b3JzCShpbnQgY29kZSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVUNTSXNNaXNjZWxsYW5lb3VzTWF0aGVtYXRpY2FsU3ltYm9sc0EJKGludCBjb2RlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxVQ1NJc01pc2NlbGxhbmVvdXNNYXRoZW1hdGljYWxTeW1ib2xzQgkoaW50IGNvZGUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFVDU0lzTWlzY2VsbGFuZW91c1N5bWJvbHMJKGludCBjb2RlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxVQ1NJc01pc2NlbGxhbmVvdXNTeW1ib2xzYW5kQXJyb3dzCShpbnQgY29kZSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVUNTSXNNaXNjZWxsYW5lb3VzVGVjaG5pY2FsCShpbnQgY29kZSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVUNTSXNNb25nb2xpYW4JKGludCBjb2RlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxVQ1NJc011c2ljYWxTeW1ib2xzCShpbnQgY29kZSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVUNTSXNNeWFubWFyCShpbnQgY29kZSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVUNTSXNOdW1iZXJGb3JtcwkoaW50IGNvZGUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFVDU0lzT2doYW0JKGludCBjb2RlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxVQ1NJc09sZEl0YWxpYwkoaW50IGNvZGUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFVDU0lzT3B0aWNhbENoYXJhY3RlclJlY29nbml0aW9uCShpbnQgY29kZSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVUNTSXNPcml5YQkoaW50IGNvZGUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFVDU0lzT3NtYW55YQkoaW50IGNvZGUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFVDU0lzUGhvbmV0aWNFeHRlbnNpb25zCShpbnQgY29kZSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVUNTSXNQcml2YXRlVXNlCShpbnQgY29kZSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVUNTSXNQcml2YXRlVXNlQXJlYQkoaW50IGNvZGUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFVDU0lzUnVuaWMJKGludCBjb2RlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxVQ1NJc1NoYXZpYW4JKGludCBjb2RlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxVQ1NJc1NpbmhhbGEJKGludCBjb2RlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxVQ1NJc1NtYWxsRm9ybVZhcmlhbnRzCShpbnQgY29kZSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVUNTSXNTcGFjaW5nTW9kaWZpZXJMZXR0ZXJzCShpbnQgY29kZSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVUNTSXNTcGVjaWFscwkoaW50IGNvZGUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFVDU0lzU3VwZXJzY3JpcHRzYW5kU3Vic2NyaXB0cwkoaW50IGNvZGUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFVDU0lzU3VwcGxlbWVudGFsQXJyb3dzQQkoaW50IGNvZGUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFVDU0lzU3VwcGxlbWVudGFsQXJyb3dzQgkoaW50IGNvZGUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFVDU0lzU3VwcGxlbWVudGFsTWF0aGVtYXRpY2FsT3BlcmF0b3JzCShpbnQgY29kZSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVUNTSXNTdXBwbGVtZW50YXJ5UHJpdmF0ZVVzZUFyZWFBCShpbnQgY29kZSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVUNTSXNTdXBwbGVtZW50YXJ5UHJpdmF0ZVVzZUFyZWFCCShpbnQgY29kZSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVUNTSXNTeXJpYWMJKGludCBjb2RlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxVQ1NJc1RhZ2Fsb2cJKGludCBjb2RlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxVQ1NJc1RhZ2JhbndhCShpbnQgY29kZSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVUNTSXNUYWdzCShpbnQgY29kZSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVUNTSXNUYWlMZQkoaW50IGNvZGUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFVDU0lzVGFpWHVhbkppbmdTeW1ib2xzCShpbnQgY29kZSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVUNTSXNUYW1pbAkoaW50IGNvZGUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFVDU0lzVGVsdWd1CShpbnQgY29kZSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVUNTSXNUaGFhbmEJKGludCBjb2RlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxVQ1NJc1RoYWkJKGludCBjb2RlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxVQ1NJc1RpYmV0YW4JKGludCBjb2RlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxVQ1NJc1VnYXJpdGljCShpbnQgY29kZSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVUNTSXNVbmlmaWVkQ2FuYWRpYW5BYm9yaWdpbmFsU3lsbGFiaWNzCShpbnQgY29kZSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVUNTSXNWYXJpYXRpb25TZWxlY3RvcnMJKGludCBjb2RlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxVQ1NJc1ZhcmlhdGlvblNlbGVjdG9yc1N1cHBsZW1lbnQJKGludCBjb2RlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxVQ1NJc1lpUmFkaWNhbHMJKGludCBjb2RlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxVQ1NJc1lpU3lsbGFibGVzCShpbnQgY29kZSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVUNTSXNZaWppbmdIZXhhZ3JhbVN5bWJvbHMJKGludCBjb2RlKTsKKworWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFVDU0lzQmxvY2sJKGludCBjb2RlLCBjb25zdCBjaGFyICpibG9jayk7CisKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxVQ1NJc0NhdEMJKGludCBjb2RlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxVQ1NJc0NhdENjCShpbnQgY29kZSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVUNTSXNDYXRDZgkoaW50IGNvZGUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFVDU0lzQ2F0Q28JKGludCBjb2RlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxVQ1NJc0NhdENzCShpbnQgY29kZSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVUNTSXNDYXRMCShpbnQgY29kZSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVUNTSXNDYXRMbAkoaW50IGNvZGUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFVDU0lzQ2F0TG0JKGludCBjb2RlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxVQ1NJc0NhdExvCShpbnQgY29kZSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVUNTSXNDYXRMdAkoaW50IGNvZGUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFVDU0lzQ2F0THUJKGludCBjb2RlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxVQ1NJc0NhdE0JKGludCBjb2RlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxVQ1NJc0NhdE1jCShpbnQgY29kZSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVUNTSXNDYXRNZQkoaW50IGNvZGUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFVDU0lzQ2F0TW4JKGludCBjb2RlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxVQ1NJc0NhdE4JKGludCBjb2RlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxVQ1NJc0NhdE5kCShpbnQgY29kZSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVUNTSXNDYXRObAkoaW50IGNvZGUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFVDU0lzQ2F0Tm8JKGludCBjb2RlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxVQ1NJc0NhdFAJKGludCBjb2RlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxVQ1NJc0NhdFBjCShpbnQgY29kZSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVUNTSXNDYXRQZAkoaW50IGNvZGUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFVDU0lzQ2F0UGUJKGludCBjb2RlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxVQ1NJc0NhdFBmCShpbnQgY29kZSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVUNTSXNDYXRQaQkoaW50IGNvZGUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFVDU0lzQ2F0UG8JKGludCBjb2RlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxVQ1NJc0NhdFBzCShpbnQgY29kZSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVUNTSXNDYXRTCShpbnQgY29kZSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVUNTSXNDYXRTYwkoaW50IGNvZGUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFVDU0lzQ2F0U2sJKGludCBjb2RlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxVQ1NJc0NhdFNtCShpbnQgY29kZSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVUNTSXNDYXRTbwkoaW50IGNvZGUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFVDU0lzQ2F0WgkoaW50IGNvZGUpOworWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFVDU0lzQ2F0WmwJKGludCBjb2RlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxVQ1NJc0NhdFpwCShpbnQgY29kZSk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVUNTSXNDYXRacwkoaW50IGNvZGUpOworCitYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVUNTSXNDYXQJKGludCBjb2RlLCBjb25zdCBjaGFyICpjYXQpOworCisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorCisjZW5kaWYgLyogTElCWE1MX1VOSUNPREVfRU5BQkxFRCAqLworCisjZW5kaWYgLyogX19YTUxfVU5JQ09ERV9IX18gKi8KZGlmZiAtLWdpdCBhL2xpYnhtbDIvaW5jbHVkZS9saWJ4bWwveG1sdmVyc2lvbi5oIGIvbGlieG1sMi9pbmNsdWRlL2xpYnhtbC94bWx2ZXJzaW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGU0MDhhOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvaW5jbHVkZS9saWJ4bWwveG1sdmVyc2lvbi5oCkBAIC0wLDAgKzEsNDg5IEBACisvKgorICogU3VtbWFyeTogY29tcGlsZS10aW1lIHZlcnNpb24gaW5mb3JtYXRpb25zCisgKiBEZXNjcmlwdGlvbjogY29tcGlsZS10aW1lIHZlcnNpb24gaW5mb3JtYXRpb25zIGZvciB0aGUgWE1MIGxpYnJhcnkKKyAqCisgKiBDb3B5OiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisgKgorICogQXV0aG9yOiBEYW5pZWwgVmVpbGxhcmQKKyAqLworCisjaWZuZGVmIF9fWE1MX1ZFUlNJT05fSF9fCisjZGVmaW5lIF9fWE1MX1ZFUlNJT05fSF9fCisKKyNpbmNsdWRlIDxsaWJ4bWwveG1sZXhwb3J0cy5oPgorCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCisKKy8qCisgKiB1c2UgdGhvc2UgdG8gYmUgc3VyZSBub3RoaW5nIG5hc3R5IHdpbGwgaGFwcGVuIGlmCisgKiB5b3VyIGxpYnJhcnkgYW5kIGluY2x1ZGVzIG1pc21hdGNoCisgKi8KKyNpZm5kZWYgTElCWE1MMl9DT01QSUxJTkdfTVNDQ0RFRgorWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTCB4bWxDaGVja1ZlcnNpb24oaW50IHZlcnNpb24pOworI2VuZGlmIC8qIExJQlhNTDJfQ09NUElMSU5HX01TQ0NERUYgKi8KKworLyoqCisgKiBMSUJYTUxfRE9UVEVEX1ZFUlNJT046CisgKgorICogdGhlIHZlcnNpb24gc3RyaW5nIGxpa2UgIjEuMi4zIgorICovCisjZGVmaW5lIExJQlhNTF9ET1RURURfVkVSU0lPTiAiMi45LjIiCisKKy8qKgorICogTElCWE1MX1ZFUlNJT046CisgKgorICogdGhlIHZlcnNpb24gbnVtYmVyOiAxLjIuMyB2YWx1ZSBpcyAxMDIwMworICovCisjZGVmaW5lIExJQlhNTF9WRVJTSU9OIDIwOTAyCisKKy8qKgorICogTElCWE1MX1ZFUlNJT05fU1RSSU5HOgorICoKKyAqIHRoZSB2ZXJzaW9uIG51bWJlciBzdHJpbmcsIDEuMi4zIHZhbHVlIGlzICIxMDIwMyIKKyAqLworI2RlZmluZSBMSUJYTUxfVkVSU0lPTl9TVFJJTkcgIjIwOTAyIgorCisvKioKKyAqIExJQlhNTF9WRVJTSU9OX0VYVFJBOgorICoKKyAqIGV4dHJhIHZlcnNpb24gaW5mb3JtYXRpb24sIHVzZWQgdG8gc2hvdyBhIENWUyBjb21waWxhdGlvbgorICovCisjZGVmaW5lIExJQlhNTF9WRVJTSU9OX0VYVFJBICItR0lUdjIuOS4yLTQ4LWc0YjMxZDYxIgorCisvKioKKyAqIExJQlhNTF9URVNUX1ZFUlNJT046CisgKgorICogTWFjcm8gdG8gY2hlY2sgdGhhdCB0aGUgbGlieG1sIHZlcnNpb24gaW4gdXNlIGlzIGNvbXBhdGlibGUgd2l0aAorICogdGhlIHZlcnNpb24gdGhlIHNvZnR3YXJlIGhhcyBiZWVuIGNvbXBpbGVkIGFnYWluc3QKKyAqLworI2RlZmluZSBMSUJYTUxfVEVTVF9WRVJTSU9OIHhtbENoZWNrVmVyc2lvbigyMDkwMik7CisKKyNpZm5kZWYgVk1TCisjaWYgMAorLyoqCisgKiBXSVRIX1RSSU86CisgKgorICogZGVmaW5lZCBpZiB0aGUgdHJpbyBzdXBwb3J0IG5lZWQgdG8gYmUgY29uZmlndXJlZCBpbgorICovCisjZGVmaW5lIFdJVEhfVFJJTworI2Vsc2UKKy8qKgorICogV0lUSE9VVF9UUklPOgorICoKKyAqIGRlZmluZWQgaWYgdGhlIHRyaW8gc3VwcG9ydCBzaG91bGQgbm90IGJlIGNvbmZpZ3VyZWQgaW4KKyAqLworI2RlZmluZSBXSVRIT1VUX1RSSU8KKyNlbmRpZgorI2Vsc2UgLyogVk1TICovCisvKioKKyAqIFdJVEhfVFJJTzoKKyAqCisgKiBkZWZpbmVkIGlmIHRoZSB0cmlvIHN1cHBvcnQgbmVlZCB0byBiZSBjb25maWd1cmVkIGluCisgKi8KKyNkZWZpbmUgV0lUSF9UUklPIDEKKyNlbmRpZiAvKiBWTVMgKi8KKworLyoqCisgKiBMSUJYTUxfVEhSRUFEX0VOQUJMRUQ6CisgKgorICogV2hldGhlciB0aGUgdGhyZWFkIHN1cHBvcnQgaXMgY29uZmlndXJlZCBpbgorICovCisjaWYgMQorI2lmIGRlZmluZWQoX1JFRU5UUkFOVCkgfHwgZGVmaW5lZChfX01UX18pIHx8IFwKKyAgICAoZGVmaW5lZChfUE9TSVhfQ19TT1VSQ0UpICYmIChfUE9TSVhfQ19TT1VSQ0UgLSAwID49IDE5OTUwNkwpKQorI2RlZmluZSBMSUJYTUxfVEhSRUFEX0VOQUJMRUQKKyNlbmRpZgorI2VuZGlmCisKKy8qKgorICogTElCWE1MX1RIUkVBRF9BTExPQ19FTkFCTEVEOgorICoKKyAqIFdoZXRoZXIgdGhlIGFsbG9jYXRpb24gaG9va3MgYXJlIHBlci10aHJlYWQKKyAqLworI2lmIDAKKyNkZWZpbmUgTElCWE1MX1RIUkVBRF9BTExPQ19FTkFCTEVECisjZW5kaWYKKworLyoqCisgKiBMSUJYTUxfVFJFRV9FTkFCTEVEOgorICoKKyAqIFdoZXRoZXIgdGhlIERPTSBsaWtlIHRyZWUgbWFuaXB1bGF0aW9uIEFQSSBzdXBwb3J0IGlzIGNvbmZpZ3VyZWQgaW4KKyAqLworI2lmIDEKKyNkZWZpbmUgTElCWE1MX1RSRUVfRU5BQkxFRAorI2VuZGlmCisKKy8qKgorICogTElCWE1MX09VVFBVVF9FTkFCTEVEOgorICoKKyAqIFdoZXRoZXIgdGhlIHNlcmlhbGl6YXRpb24vc2F2aW5nIHN1cHBvcnQgaXMgY29uZmlndXJlZCBpbgorICovCisjaWYgMQorI2RlZmluZSBMSUJYTUxfT1VUUFVUX0VOQUJMRUQKKyNlbmRpZgorCisvKioKKyAqIExJQlhNTF9QVVNIX0VOQUJMRUQ6CisgKgorICogV2hldGhlciB0aGUgcHVzaCBwYXJzaW5nIGludGVyZmFjZXMgYXJlIGNvbmZpZ3VyZWQgaW4KKyAqLworI2lmIDEKKyNkZWZpbmUgTElCWE1MX1BVU0hfRU5BQkxFRAorI2VuZGlmCisKKy8qKgorICogTElCWE1MX1JFQURFUl9FTkFCTEVEOgorICoKKyAqIFdoZXRoZXIgdGhlIHhtbFJlYWRlciBwYXJzaW5nIGludGVyZmFjZSBpcyBjb25maWd1cmVkIGluCisgKi8KKyNpZiAxCisjZGVmaW5lIExJQlhNTF9SRUFERVJfRU5BQkxFRAorI2VuZGlmCisKKy8qKgorICogTElCWE1MX1BBVFRFUk5fRU5BQkxFRDoKKyAqCisgKiBXaGV0aGVyIHRoZSB4bWxQYXR0ZXJuIG5vZGUgc2VsZWN0aW9uIGludGVyZmFjZSBpcyBjb25maWd1cmVkIGluCisgKi8KKyNpZiAxCisjZGVmaW5lIExJQlhNTF9QQVRURVJOX0VOQUJMRUQKKyNlbmRpZgorCisvKioKKyAqIExJQlhNTF9XUklURVJfRU5BQkxFRDoKKyAqCisgKiBXaGV0aGVyIHRoZSB4bWxXcml0ZXIgc2F2aW5nIGludGVyZmFjZSBpcyBjb25maWd1cmVkIGluCisgKi8KKyNpZiAxCisjZGVmaW5lIExJQlhNTF9XUklURVJfRU5BQkxFRAorI2VuZGlmCisKKy8qKgorICogTElCWE1MX1NBWDFfRU5BQkxFRDoKKyAqCisgKiBXaGV0aGVyIHRoZSBvbGRlciBTQVgxIGludGVyZmFjZSBpcyBjb25maWd1cmVkIGluCisgKi8KKyNpZiAxCisjZGVmaW5lIExJQlhNTF9TQVgxX0VOQUJMRUQKKyNlbmRpZgorCisvKioKKyAqIExJQlhNTF9GVFBfRU5BQkxFRDoKKyAqCisgKiBXaGV0aGVyIHRoZSBGVFAgc3VwcG9ydCBpcyBjb25maWd1cmVkIGluCisgKi8KKyNpZiAwCisjZGVmaW5lIExJQlhNTF9GVFBfRU5BQkxFRAorI2VuZGlmCisKKy8qKgorICogTElCWE1MX0hUVFBfRU5BQkxFRDoKKyAqCisgKiBXaGV0aGVyIHRoZSBIVFRQIHN1cHBvcnQgaXMgY29uZmlndXJlZCBpbgorICovCisjaWYgMAorI2RlZmluZSBMSUJYTUxfSFRUUF9FTkFCTEVECisjZW5kaWYKKworLyoqCisgKiBMSUJYTUxfVkFMSURfRU5BQkxFRDoKKyAqCisgKiBXaGV0aGVyIHRoZSBEVEQgdmFsaWRhdGlvbiBzdXBwb3J0IGlzIGNvbmZpZ3VyZWQgaW4KKyAqLworI2lmIDEKKyNkZWZpbmUgTElCWE1MX1ZBTElEX0VOQUJMRUQKKyNlbmRpZgorCisvKioKKyAqIExJQlhNTF9IVE1MX0VOQUJMRUQ6CisgKgorICogV2hldGhlciB0aGUgSFRNTCBzdXBwb3J0IGlzIGNvbmZpZ3VyZWQgaW4KKyAqLworI2lmIDEKKyNkZWZpbmUgTElCWE1MX0hUTUxfRU5BQkxFRAorI2VuZGlmCisKKy8qKgorICogTElCWE1MX0xFR0FDWV9FTkFCTEVEOgorICoKKyAqIFdoZXRoZXIgdGhlIGRlcHJlY2F0ZWQgQVBJcyBhcmUgY29tcGlsZWQgaW4gZm9yIGNvbXBhdGliaWxpdHkKKyAqLworI2lmIDAKKyNkZWZpbmUgTElCWE1MX0xFR0FDWV9FTkFCTEVECisjZW5kaWYKKworLyoqCisgKiBMSUJYTUxfQzE0Tl9FTkFCTEVEOgorICoKKyAqIFdoZXRoZXIgdGhlIENhbm9uaWNhbGl6YXRpb24gc3VwcG9ydCBpcyBjb25maWd1cmVkIGluCisgKi8KKyNpZiAxCisjZGVmaW5lIExJQlhNTF9DMTROX0VOQUJMRUQKKyNlbmRpZgorCisvKioKKyAqIExJQlhNTF9DQVRBTE9HX0VOQUJMRUQ6CisgKgorICogV2hldGhlciB0aGUgQ2F0YWxvZyBzdXBwb3J0IGlzIGNvbmZpZ3VyZWQgaW4KKyAqLworI2lmIDEKKyNkZWZpbmUgTElCWE1MX0NBVEFMT0dfRU5BQkxFRAorI2VuZGlmCisKKy8qKgorICogTElCWE1MX0RPQ0JfRU5BQkxFRDoKKyAqCisgKiBXaGV0aGVyIHRoZSBTR01MIERvY2Jvb2sgc3VwcG9ydCBpcyBjb25maWd1cmVkIGluCisgKi8KKyNpZiAxCisjZGVmaW5lIExJQlhNTF9ET0NCX0VOQUJMRUQKKyNlbmRpZgorCisvKioKKyAqIExJQlhNTF9YUEFUSF9FTkFCTEVEOgorICoKKyAqIFdoZXRoZXIgWFBhdGggaXMgY29uZmlndXJlZCBpbgorICovCisjaWYgMQorI2RlZmluZSBMSUJYTUxfWFBBVEhfRU5BQkxFRAorI2VuZGlmCisKKy8qKgorICogTElCWE1MX1hQVFJfRU5BQkxFRDoKKyAqCisgKiBXaGV0aGVyIFhQb2ludGVyIGlzIGNvbmZpZ3VyZWQgaW4KKyAqLworI2lmIDEKKyNkZWZpbmUgTElCWE1MX1hQVFJfRU5BQkxFRAorI2VuZGlmCisKKy8qKgorICogTElCWE1MX1hJTkNMVURFX0VOQUJMRUQ6CisgKgorICogV2hldGhlciBYSW5jbHVkZSBpcyBjb25maWd1cmVkIGluCisgKi8KKyNpZiAxCisjZGVmaW5lIExJQlhNTF9YSU5DTFVERV9FTkFCTEVECisjZW5kaWYKKworLyoqCisgKiBMSUJYTUxfSUNPTlZfRU5BQkxFRDoKKyAqCisgKiBXaGV0aGVyIGljb252IHN1cHBvcnQgaXMgYXZhaWxhYmxlCisgKi8KKyNpZiAwCisjZGVmaW5lIExJQlhNTF9JQ09OVl9FTkFCTEVECisjZW5kaWYKKworLyoqCisgKiBMSUJYTUxfSUNVX0VOQUJMRUQ6CisgKgorICogV2hldGhlciBpY3Ugc3VwcG9ydCBpcyBhdmFpbGFibGUKKyAqLworI2lmIDEKKyNkZWZpbmUgTElCWE1MX0lDVV9FTkFCTEVECisjZW5kaWYKKworLyoqCisgKiBMSUJYTUxfSVNPODg1OVhfRU5BQkxFRDoKKyAqCisgKiBXaGV0aGVyIElTTy04ODU5LSogc3VwcG9ydCBpcyBtYWRlIGF2YWlsYWJsZSBpbiBjYXNlIGljb252IGlzIG5vdAorICovCisjaWYgMQorI2RlZmluZSBMSUJYTUxfSVNPODg1OVhfRU5BQkxFRAorI2VuZGlmCisKKy8qKgorICogTElCWE1MX0RFQlVHX0VOQUJMRUQ6CisgKgorICogV2hldGhlciBEZWJ1Z2dpbmcgbW9kdWxlIGlzIGNvbmZpZ3VyZWQgaW4KKyAqLworI2lmIDEKKyNkZWZpbmUgTElCWE1MX0RFQlVHX0VOQUJMRUQKKyNlbmRpZgorCisvKioKKyAqIERFQlVHX01FTU9SWV9MT0NBVElPTjoKKyAqCisgKiBXaGV0aGVyIHRoZSBtZW1vcnkgZGVidWdnaW5nIGlzIGNvbmZpZ3VyZWQgaW4KKyAqLworI2lmIDAKKyNkZWZpbmUgREVCVUdfTUVNT1JZX0xPQ0FUSU9OCisjZW5kaWYKKworLyoqCisgKiBMSUJYTUxfREVCVUdfUlVOVElNRToKKyAqCisgKiBXaGV0aGVyIHRoZSBydW50aW1lIGRlYnVnZ2luZyBpcyBjb25maWd1cmVkIGluCisgKi8KKyNpZiAwCisjZGVmaW5lIExJQlhNTF9ERUJVR19SVU5USU1FCisjZW5kaWYKKworLyoqCisgKiBMSUJYTUxfVU5JQ09ERV9FTkFCTEVEOgorICoKKyAqIFdoZXRoZXIgdGhlIFVuaWNvZGUgcmVsYXRlZCBpbnRlcmZhY2VzIGFyZSBjb21waWxlZCBpbgorICovCisjaWYgMQorI2RlZmluZSBMSUJYTUxfVU5JQ09ERV9FTkFCTEVECisjZW5kaWYKKworLyoqCisgKiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQ6CisgKgorICogV2hldGhlciB0aGUgcmVndWxhciBleHByZXNzaW9ucyBpbnRlcmZhY2VzIGFyZSBjb21waWxlZCBpbgorICovCisjaWYgMQorI2RlZmluZSBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKKyNlbmRpZgorCisvKioKKyAqIExJQlhNTF9BVVRPTUFUQV9FTkFCTEVEOgorICoKKyAqIFdoZXRoZXIgdGhlIGF1dG9tYXRhIGludGVyZmFjZXMgYXJlIGNvbXBpbGVkIGluCisgKi8KKyNpZiAxCisjZGVmaW5lIExJQlhNTF9BVVRPTUFUQV9FTkFCTEVECisjZW5kaWYKKworLyoqCisgKiBMSUJYTUxfRVhQUl9FTkFCTEVEOgorICoKKyAqIFdoZXRoZXIgdGhlIGZvcm1hbCBleHByZXNzaW9ucyBpbnRlcmZhY2VzIGFyZSBjb21waWxlZCBpbgorICovCisjaWYgMQorI2RlZmluZSBMSUJYTUxfRVhQUl9FTkFCTEVECisjZW5kaWYKKworLyoqCisgKiBMSUJYTUxfU0NIRU1BU19FTkFCTEVEOgorICoKKyAqIFdoZXRoZXIgdGhlIFNjaGVtYXMgdmFsaWRhdGlvbiBpbnRlcmZhY2VzIGFyZSBjb21waWxlZCBpbgorICovCisjaWYgMQorI2RlZmluZSBMSUJYTUxfU0NIRU1BU19FTkFCTEVECisjZW5kaWYKKworLyoqCisgKiBMSUJYTUxfU0NIRU1BVFJPTl9FTkFCTEVEOgorICoKKyAqIFdoZXRoZXIgdGhlIFNjaGVtYXRyb24gdmFsaWRhdGlvbiBpbnRlcmZhY2VzIGFyZSBjb21waWxlZCBpbgorICovCisjaWYgMQorI2RlZmluZSBMSUJYTUxfU0NIRU1BVFJPTl9FTkFCTEVECisjZW5kaWYKKworLyoqCisgKiBMSUJYTUxfTU9EVUxFU19FTkFCTEVEOgorICoKKyAqIFdoZXRoZXIgdGhlIG1vZHVsZSBpbnRlcmZhY2VzIGFyZSBjb21waWxlZCBpbgorICovCisjaWYgMQorI2RlZmluZSBMSUJYTUxfTU9EVUxFU19FTkFCTEVECisvKioKKyAqIExJQlhNTF9NT0RVTEVfRVhURU5TSU9OOgorICoKKyAqIHRoZSBzdHJpbmcgc3VmZml4IHVzZWQgYnkgZHluYW1pYyBtb2R1bGVzICh1c3VhbGx5IHNoYXJlZCBsaWJyYXJpZXMpCisgKi8KKyNkZWZpbmUgTElCWE1MX01PRFVMRV9FWFRFTlNJT04gIi5zbyIgCisjZW5kaWYKKworLyoqCisgKiBMSUJYTUxfWkxJQl9FTkFCTEVEOgorICoKKyAqIFdoZXRoZXIgdGhlIFpsaWIgc3VwcG9ydCBpcyBjb21waWxlZCBpbgorICovCisjaWYgMAorI2RlZmluZSBMSUJYTUxfWkxJQl9FTkFCTEVECisjZW5kaWYKKworLyoqCisgKiBMSUJYTUxfTFpNQV9FTkFCTEVEOgorICoKKyAqIFdoZXRoZXIgdGhlIEx6bWEgc3VwcG9ydCBpcyBjb21waWxlZCBpbgorICovCisjaWYgMAorI2RlZmluZSBMSUJYTUxfTFpNQV9FTkFCTEVECisjZW5kaWYKKworI2lmZGVmIF9fR05VQ19fCisjaWZkZWYgSEFWRV9BTlNJREVDTF9ICisjaW5jbHVkZSA8YW5zaWRlY2wuaD4KKyNlbmRpZgorCisvKioKKyAqIEFUVFJJQlVURV9VTlVTRUQ6CisgKgorICogTWFjcm8gdXNlZCB0byBzaWduYWwgdG8gR0NDIHVudXNlZCBmdW5jdGlvbiBwYXJhbWV0ZXJzCisgKi8KKworI2lmbmRlZiBBVFRSSUJVVEVfVU5VU0VECisjIGlmICgoX19HTlVDX18gPiAyKSB8fCAoKF9fR05VQ19fID09IDIpICYmIChfX0dOVUNfTUlOT1JfXyA+PSA3KSkpCisjICBkZWZpbmUgQVRUUklCVVRFX1VOVVNFRCBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKQorIyBlbHNlCisjICBkZWZpbmUgQVRUUklCVVRFX1VOVVNFRAorIyBlbmRpZgorI2VuZGlmCisKKy8qKgorICogTElCWE1MX0FUVFJfQUxMT0NfU0laRToKKyAqCisgKiBNYWNybyB1c2VkIHRvIGluZGljYXRlIHRvIEdDQyB0aGlzIGlzIGFuIGFsbG9jYXRvciBmdW5jdGlvbgorICovCisKKyNpZm5kZWYgTElCWE1MX0FUVFJfQUxMT0NfU0laRQorIyBpZiAoKF9fR05VQ19fID4gNCkgfHwgKChfX0dOVUNfXyA9PSA0KSAmJiAoX19HTlVDX01JTk9SX18gPj0gMykpKQorIyAgZGVmaW5lIExJQlhNTF9BVFRSX0FMTE9DX1NJWkUoeCkgX19hdHRyaWJ1dGVfXygoYWxsb2Nfc2l6ZSh4KSkpCisjIGVsc2UKKyMgIGRlZmluZSBMSUJYTUxfQVRUUl9BTExPQ19TSVpFKHgpCisjIGVuZGlmCisjZWxzZQorIyBkZWZpbmUgTElCWE1MX0FUVFJfQUxMT0NfU0laRSh4KQorI2VuZGlmCisKKy8qKgorICogTElCWE1MX0FUVFJfRk9STUFUOgorICoKKyAqIE1hY3JvIHVzZWQgdG8gaW5kaWNhdGUgdG8gR0NDIHRoZSBwYXJhbWV0ZXIgYXJlIHByaW50ZiBsaWtlCisgKi8KKworI2lmbmRlZiBMSUJYTUxfQVRUUl9GT1JNQVQKKyMgaWYgKChfX0dOVUNfXyA+IDMpIHx8ICgoX19HTlVDX18gPT0gMykgJiYgKF9fR05VQ19NSU5PUl9fID49IDMpKSkKKyMgIGRlZmluZSBMSUJYTUxfQVRUUl9GT1JNQVQoZm10LGFyZ3MpIF9fYXR0cmlidXRlX18oKF9fZm9ybWF0X18oX19wcmludGZfXyxmbXQsYXJncykpKQorIyBlbHNlCisjICBkZWZpbmUgTElCWE1MX0FUVFJfRk9STUFUKGZtdCxhcmdzKQorIyBlbmRpZgorI2Vsc2UKKyMgZGVmaW5lIExJQlhNTF9BVFRSX0ZPUk1BVChmbXQsYXJncykKKyNlbmRpZgorCisjZWxzZSAvKiAhIF9fR05VQ19fICovCisvKioKKyAqIEFUVFJJQlVURV9VTlVTRUQ6CisgKgorICogTWFjcm8gdXNlZCB0byBzaWduYWwgdG8gR0NDIHVudXNlZCBmdW5jdGlvbiBwYXJhbWV0ZXJzCisgKi8KKyNkZWZpbmUgQVRUUklCVVRFX1VOVVNFRAorLyoqCisgKiBMSUJYTUxfQVRUUl9BTExPQ19TSVpFOgorICoKKyAqIE1hY3JvIHVzZWQgdG8gaW5kaWNhdGUgdG8gR0NDIHRoaXMgaXMgYW4gYWxsb2NhdG9yIGZ1bmN0aW9uCisgKi8KKyNkZWZpbmUgTElCWE1MX0FUVFJfQUxMT0NfU0laRSh4KQorLyoqCisgKiBMSUJYTUxfQVRUUl9GT1JNQVQ6CisgKgorICogTWFjcm8gdXNlZCB0byBpbmRpY2F0ZSB0byBHQ0MgdGhlIHBhcmFtZXRlciBhcmUgcHJpbnRmIGxpa2UKKyAqLworI2RlZmluZSBMSUJYTUxfQVRUUl9GT1JNQVQoZm10LGFyZ3MpCisjZW5kaWYgLyogX19HTlVDX18gKi8KKworI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYgLyogX19jcGx1c3BsdXMgKi8KKyNlbmRpZgorCisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvaW5jbHVkZS9saWJ4bWwveG1sdmVyc2lvbi5oLmluIGIvbGlieG1sMi9pbmNsdWRlL2xpYnhtbC94bWx2ZXJzaW9uLmguaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDBhODM2ZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvaW5jbHVkZS9saWJ4bWwveG1sdmVyc2lvbi5oLmluCkBAIC0wLDAgKzEsNDg5IEBACisvKgorICogU3VtbWFyeTogY29tcGlsZS10aW1lIHZlcnNpb24gaW5mb3JtYXRpb25zCisgKiBEZXNjcmlwdGlvbjogY29tcGlsZS10aW1lIHZlcnNpb24gaW5mb3JtYXRpb25zIGZvciB0aGUgWE1MIGxpYnJhcnkKKyAqCisgKiBDb3B5OiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisgKgorICogQXV0aG9yOiBEYW5pZWwgVmVpbGxhcmQKKyAqLworCisjaWZuZGVmIF9fWE1MX1ZFUlNJT05fSF9fCisjZGVmaW5lIF9fWE1MX1ZFUlNJT05fSF9fCisKKyNpbmNsdWRlIDxsaWJ4bWwveG1sZXhwb3J0cy5oPgorCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCisKKy8qCisgKiB1c2UgdGhvc2UgdG8gYmUgc3VyZSBub3RoaW5nIG5hc3R5IHdpbGwgaGFwcGVuIGlmCisgKiB5b3VyIGxpYnJhcnkgYW5kIGluY2x1ZGVzIG1pc21hdGNoCisgKi8KKyNpZm5kZWYgTElCWE1MMl9DT01QSUxJTkdfTVNDQ0RFRgorWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTCB4bWxDaGVja1ZlcnNpb24oaW50IHZlcnNpb24pOworI2VuZGlmIC8qIExJQlhNTDJfQ09NUElMSU5HX01TQ0NERUYgKi8KKworLyoqCisgKiBMSUJYTUxfRE9UVEVEX1ZFUlNJT046CisgKgorICogdGhlIHZlcnNpb24gc3RyaW5nIGxpa2UgIjEuMi4zIgorICovCisjZGVmaW5lIExJQlhNTF9ET1RURURfVkVSU0lPTiAiQFZFUlNJT05AIgorCisvKioKKyAqIExJQlhNTF9WRVJTSU9OOgorICoKKyAqIHRoZSB2ZXJzaW9uIG51bWJlcjogMS4yLjMgdmFsdWUgaXMgMTAyMDMKKyAqLworI2RlZmluZSBMSUJYTUxfVkVSU0lPTiBATElCWE1MX1ZFUlNJT05fTlVNQkVSQAorCisvKioKKyAqIExJQlhNTF9WRVJTSU9OX1NUUklORzoKKyAqCisgKiB0aGUgdmVyc2lvbiBudW1iZXIgc3RyaW5nLCAxLjIuMyB2YWx1ZSBpcyAiMTAyMDMiCisgKi8KKyNkZWZpbmUgTElCWE1MX1ZFUlNJT05fU1RSSU5HICJATElCWE1MX1ZFUlNJT05fTlVNQkVSQCIKKworLyoqCisgKiBMSUJYTUxfVkVSU0lPTl9FWFRSQToKKyAqCisgKiBleHRyYSB2ZXJzaW9uIGluZm9ybWF0aW9uLCB1c2VkIHRvIHNob3cgYSBDVlMgY29tcGlsYXRpb24KKyAqLworI2RlZmluZSBMSUJYTUxfVkVSU0lPTl9FWFRSQSAiQExJQlhNTF9WRVJTSU9OX0VYVFJBQCIKKworLyoqCisgKiBMSUJYTUxfVEVTVF9WRVJTSU9OOgorICoKKyAqIE1hY3JvIHRvIGNoZWNrIHRoYXQgdGhlIGxpYnhtbCB2ZXJzaW9uIGluIHVzZSBpcyBjb21wYXRpYmxlIHdpdGgKKyAqIHRoZSB2ZXJzaW9uIHRoZSBzb2Z0d2FyZSBoYXMgYmVlbiBjb21waWxlZCBhZ2FpbnN0CisgKi8KKyNkZWZpbmUgTElCWE1MX1RFU1RfVkVSU0lPTiB4bWxDaGVja1ZlcnNpb24oQExJQlhNTF9WRVJTSU9OX05VTUJFUkApOworCisjaWZuZGVmIFZNUworI2lmIEBXSVRIX1RSSU9ACisvKioKKyAqIFdJVEhfVFJJTzoKKyAqCisgKiBkZWZpbmVkIGlmIHRoZSB0cmlvIHN1cHBvcnQgbmVlZCB0byBiZSBjb25maWd1cmVkIGluCisgKi8KKyNkZWZpbmUgV0lUSF9UUklPCisjZWxzZQorLyoqCisgKiBXSVRIT1VUX1RSSU86CisgKgorICogZGVmaW5lZCBpZiB0aGUgdHJpbyBzdXBwb3J0IHNob3VsZCBub3QgYmUgY29uZmlndXJlZCBpbgorICovCisjZGVmaW5lIFdJVEhPVVRfVFJJTworI2VuZGlmCisjZWxzZSAvKiBWTVMgKi8KKy8qKgorICogV0lUSF9UUklPOgorICoKKyAqIGRlZmluZWQgaWYgdGhlIHRyaW8gc3VwcG9ydCBuZWVkIHRvIGJlIGNvbmZpZ3VyZWQgaW4KKyAqLworI2RlZmluZSBXSVRIX1RSSU8gMQorI2VuZGlmIC8qIFZNUyAqLworCisvKioKKyAqIExJQlhNTF9USFJFQURfRU5BQkxFRDoKKyAqCisgKiBXaGV0aGVyIHRoZSB0aHJlYWQgc3VwcG9ydCBpcyBjb25maWd1cmVkIGluCisgKi8KKyNpZiBAV0lUSF9USFJFQURTQAorI2lmIGRlZmluZWQoX1JFRU5UUkFOVCkgfHwgZGVmaW5lZChfX01UX18pIHx8IFwKKyAgICAoZGVmaW5lZChfUE9TSVhfQ19TT1VSQ0UpICYmIChfUE9TSVhfQ19TT1VSQ0UgLSAwID49IDE5OTUwNkwpKQorI2RlZmluZSBMSUJYTUxfVEhSRUFEX0VOQUJMRUQKKyNlbmRpZgorI2VuZGlmCisKKy8qKgorICogTElCWE1MX1RIUkVBRF9BTExPQ19FTkFCTEVEOgorICoKKyAqIFdoZXRoZXIgdGhlIGFsbG9jYXRpb24gaG9va3MgYXJlIHBlci10aHJlYWQKKyAqLworI2lmIEBXSVRIX1RIUkVBRF9BTExPQ0AKKyNkZWZpbmUgTElCWE1MX1RIUkVBRF9BTExPQ19FTkFCTEVECisjZW5kaWYKKworLyoqCisgKiBMSUJYTUxfVFJFRV9FTkFCTEVEOgorICoKKyAqIFdoZXRoZXIgdGhlIERPTSBsaWtlIHRyZWUgbWFuaXB1bGF0aW9uIEFQSSBzdXBwb3J0IGlzIGNvbmZpZ3VyZWQgaW4KKyAqLworI2lmIEBXSVRIX1RSRUVACisjZGVmaW5lIExJQlhNTF9UUkVFX0VOQUJMRUQKKyNlbmRpZgorCisvKioKKyAqIExJQlhNTF9PVVRQVVRfRU5BQkxFRDoKKyAqCisgKiBXaGV0aGVyIHRoZSBzZXJpYWxpemF0aW9uL3NhdmluZyBzdXBwb3J0IGlzIGNvbmZpZ3VyZWQgaW4KKyAqLworI2lmIEBXSVRIX09VVFBVVEAKKyNkZWZpbmUgTElCWE1MX09VVFBVVF9FTkFCTEVECisjZW5kaWYKKworLyoqCisgKiBMSUJYTUxfUFVTSF9FTkFCTEVEOgorICoKKyAqIFdoZXRoZXIgdGhlIHB1c2ggcGFyc2luZyBpbnRlcmZhY2VzIGFyZSBjb25maWd1cmVkIGluCisgKi8KKyNpZiBAV0lUSF9QVVNIQAorI2RlZmluZSBMSUJYTUxfUFVTSF9FTkFCTEVECisjZW5kaWYKKworLyoqCisgKiBMSUJYTUxfUkVBREVSX0VOQUJMRUQ6CisgKgorICogV2hldGhlciB0aGUgeG1sUmVhZGVyIHBhcnNpbmcgaW50ZXJmYWNlIGlzIGNvbmZpZ3VyZWQgaW4KKyAqLworI2lmIEBXSVRIX1JFQURFUkAKKyNkZWZpbmUgTElCWE1MX1JFQURFUl9FTkFCTEVECisjZW5kaWYKKworLyoqCisgKiBMSUJYTUxfUEFUVEVSTl9FTkFCTEVEOgorICoKKyAqIFdoZXRoZXIgdGhlIHhtbFBhdHRlcm4gbm9kZSBzZWxlY3Rpb24gaW50ZXJmYWNlIGlzIGNvbmZpZ3VyZWQgaW4KKyAqLworI2lmIEBXSVRIX1BBVFRFUk5ACisjZGVmaW5lIExJQlhNTF9QQVRURVJOX0VOQUJMRUQKKyNlbmRpZgorCisvKioKKyAqIExJQlhNTF9XUklURVJfRU5BQkxFRDoKKyAqCisgKiBXaGV0aGVyIHRoZSB4bWxXcml0ZXIgc2F2aW5nIGludGVyZmFjZSBpcyBjb25maWd1cmVkIGluCisgKi8KKyNpZiBAV0lUSF9XUklURVJACisjZGVmaW5lIExJQlhNTF9XUklURVJfRU5BQkxFRAorI2VuZGlmCisKKy8qKgorICogTElCWE1MX1NBWDFfRU5BQkxFRDoKKyAqCisgKiBXaGV0aGVyIHRoZSBvbGRlciBTQVgxIGludGVyZmFjZSBpcyBjb25maWd1cmVkIGluCisgKi8KKyNpZiBAV0lUSF9TQVgxQAorI2RlZmluZSBMSUJYTUxfU0FYMV9FTkFCTEVECisjZW5kaWYKKworLyoqCisgKiBMSUJYTUxfRlRQX0VOQUJMRUQ6CisgKgorICogV2hldGhlciB0aGUgRlRQIHN1cHBvcnQgaXMgY29uZmlndXJlZCBpbgorICovCisjaWYgQFdJVEhfRlRQQAorI2RlZmluZSBMSUJYTUxfRlRQX0VOQUJMRUQKKyNlbmRpZgorCisvKioKKyAqIExJQlhNTF9IVFRQX0VOQUJMRUQ6CisgKgorICogV2hldGhlciB0aGUgSFRUUCBzdXBwb3J0IGlzIGNvbmZpZ3VyZWQgaW4KKyAqLworI2lmIEBXSVRIX0hUVFBACisjZGVmaW5lIExJQlhNTF9IVFRQX0VOQUJMRUQKKyNlbmRpZgorCisvKioKKyAqIExJQlhNTF9WQUxJRF9FTkFCTEVEOgorICoKKyAqIFdoZXRoZXIgdGhlIERURCB2YWxpZGF0aW9uIHN1cHBvcnQgaXMgY29uZmlndXJlZCBpbgorICovCisjaWYgQFdJVEhfVkFMSURACisjZGVmaW5lIExJQlhNTF9WQUxJRF9FTkFCTEVECisjZW5kaWYKKworLyoqCisgKiBMSUJYTUxfSFRNTF9FTkFCTEVEOgorICoKKyAqIFdoZXRoZXIgdGhlIEhUTUwgc3VwcG9ydCBpcyBjb25maWd1cmVkIGluCisgKi8KKyNpZiBAV0lUSF9IVE1MQAorI2RlZmluZSBMSUJYTUxfSFRNTF9FTkFCTEVECisjZW5kaWYKKworLyoqCisgKiBMSUJYTUxfTEVHQUNZX0VOQUJMRUQ6CisgKgorICogV2hldGhlciB0aGUgZGVwcmVjYXRlZCBBUElzIGFyZSBjb21waWxlZCBpbiBmb3IgY29tcGF0aWJpbGl0eQorICovCisjaWYgQFdJVEhfTEVHQUNZQAorI2RlZmluZSBMSUJYTUxfTEVHQUNZX0VOQUJMRUQKKyNlbmRpZgorCisvKioKKyAqIExJQlhNTF9DMTROX0VOQUJMRUQ6CisgKgorICogV2hldGhlciB0aGUgQ2Fub25pY2FsaXphdGlvbiBzdXBwb3J0IGlzIGNvbmZpZ3VyZWQgaW4KKyAqLworI2lmIEBXSVRIX0MxNE5ACisjZGVmaW5lIExJQlhNTF9DMTROX0VOQUJMRUQKKyNlbmRpZgorCisvKioKKyAqIExJQlhNTF9DQVRBTE9HX0VOQUJMRUQ6CisgKgorICogV2hldGhlciB0aGUgQ2F0YWxvZyBzdXBwb3J0IGlzIGNvbmZpZ3VyZWQgaW4KKyAqLworI2lmIEBXSVRIX0NBVEFMT0dACisjZGVmaW5lIExJQlhNTF9DQVRBTE9HX0VOQUJMRUQKKyNlbmRpZgorCisvKioKKyAqIExJQlhNTF9ET0NCX0VOQUJMRUQ6CisgKgorICogV2hldGhlciB0aGUgU0dNTCBEb2Nib29rIHN1cHBvcnQgaXMgY29uZmlndXJlZCBpbgorICovCisjaWYgQFdJVEhfRE9DQkAKKyNkZWZpbmUgTElCWE1MX0RPQ0JfRU5BQkxFRAorI2VuZGlmCisKKy8qKgorICogTElCWE1MX1hQQVRIX0VOQUJMRUQ6CisgKgorICogV2hldGhlciBYUGF0aCBpcyBjb25maWd1cmVkIGluCisgKi8KKyNpZiBAV0lUSF9YUEFUSEAKKyNkZWZpbmUgTElCWE1MX1hQQVRIX0VOQUJMRUQKKyNlbmRpZgorCisvKioKKyAqIExJQlhNTF9YUFRSX0VOQUJMRUQ6CisgKgorICogV2hldGhlciBYUG9pbnRlciBpcyBjb25maWd1cmVkIGluCisgKi8KKyNpZiBAV0lUSF9YUFRSQAorI2RlZmluZSBMSUJYTUxfWFBUUl9FTkFCTEVECisjZW5kaWYKKworLyoqCisgKiBMSUJYTUxfWElOQ0xVREVfRU5BQkxFRDoKKyAqCisgKiBXaGV0aGVyIFhJbmNsdWRlIGlzIGNvbmZpZ3VyZWQgaW4KKyAqLworI2lmIEBXSVRIX1hJTkNMVURFQAorI2RlZmluZSBMSUJYTUxfWElOQ0xVREVfRU5BQkxFRAorI2VuZGlmCisKKy8qKgorICogTElCWE1MX0lDT05WX0VOQUJMRUQ6CisgKgorICogV2hldGhlciBpY29udiBzdXBwb3J0IGlzIGF2YWlsYWJsZQorICovCisjaWYgQFdJVEhfSUNPTlZACisjZGVmaW5lIExJQlhNTF9JQ09OVl9FTkFCTEVECisjZW5kaWYKKworLyoqCisgKiBMSUJYTUxfSUNVX0VOQUJMRUQ6CisgKgorICogV2hldGhlciBpY3Ugc3VwcG9ydCBpcyBhdmFpbGFibGUKKyAqLworI2lmIEBXSVRIX0lDVUAKKyNkZWZpbmUgTElCWE1MX0lDVV9FTkFCTEVECisjZW5kaWYKKworLyoqCisgKiBMSUJYTUxfSVNPODg1OVhfRU5BQkxFRDoKKyAqCisgKiBXaGV0aGVyIElTTy04ODU5LSogc3VwcG9ydCBpcyBtYWRlIGF2YWlsYWJsZSBpbiBjYXNlIGljb252IGlzIG5vdAorICovCisjaWYgQFdJVEhfSVNPODg1OVhACisjZGVmaW5lIExJQlhNTF9JU084ODU5WF9FTkFCTEVECisjZW5kaWYKKworLyoqCisgKiBMSUJYTUxfREVCVUdfRU5BQkxFRDoKKyAqCisgKiBXaGV0aGVyIERlYnVnZ2luZyBtb2R1bGUgaXMgY29uZmlndXJlZCBpbgorICovCisjaWYgQFdJVEhfREVCVUdACisjZGVmaW5lIExJQlhNTF9ERUJVR19FTkFCTEVECisjZW5kaWYKKworLyoqCisgKiBERUJVR19NRU1PUllfTE9DQVRJT046CisgKgorICogV2hldGhlciB0aGUgbWVtb3J5IGRlYnVnZ2luZyBpcyBjb25maWd1cmVkIGluCisgKi8KKyNpZiBAV0lUSF9NRU1fREVCVUdACisjZGVmaW5lIERFQlVHX01FTU9SWV9MT0NBVElPTgorI2VuZGlmCisKKy8qKgorICogTElCWE1MX0RFQlVHX1JVTlRJTUU6CisgKgorICogV2hldGhlciB0aGUgcnVudGltZSBkZWJ1Z2dpbmcgaXMgY29uZmlndXJlZCBpbgorICovCisjaWYgQFdJVEhfUlVOX0RFQlVHQAorI2RlZmluZSBMSUJYTUxfREVCVUdfUlVOVElNRQorI2VuZGlmCisKKy8qKgorICogTElCWE1MX1VOSUNPREVfRU5BQkxFRDoKKyAqCisgKiBXaGV0aGVyIHRoZSBVbmljb2RlIHJlbGF0ZWQgaW50ZXJmYWNlcyBhcmUgY29tcGlsZWQgaW4KKyAqLworI2lmIEBXSVRIX1JFR0VYUFNACisjZGVmaW5lIExJQlhNTF9VTklDT0RFX0VOQUJMRUQKKyNlbmRpZgorCisvKioKKyAqIExJQlhNTF9SRUdFWFBfRU5BQkxFRDoKKyAqCisgKiBXaGV0aGVyIHRoZSByZWd1bGFyIGV4cHJlc3Npb25zIGludGVyZmFjZXMgYXJlIGNvbXBpbGVkIGluCisgKi8KKyNpZiBAV0lUSF9SRUdFWFBTQAorI2RlZmluZSBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKKyNlbmRpZgorCisvKioKKyAqIExJQlhNTF9BVVRPTUFUQV9FTkFCTEVEOgorICoKKyAqIFdoZXRoZXIgdGhlIGF1dG9tYXRhIGludGVyZmFjZXMgYXJlIGNvbXBpbGVkIGluCisgKi8KKyNpZiBAV0lUSF9SRUdFWFBTQAorI2RlZmluZSBMSUJYTUxfQVVUT01BVEFfRU5BQkxFRAorI2VuZGlmCisKKy8qKgorICogTElCWE1MX0VYUFJfRU5BQkxFRDoKKyAqCisgKiBXaGV0aGVyIHRoZSBmb3JtYWwgZXhwcmVzc2lvbnMgaW50ZXJmYWNlcyBhcmUgY29tcGlsZWQgaW4KKyAqLworI2lmIEBXSVRIX1NDSEVNQVNACisjZGVmaW5lIExJQlhNTF9FWFBSX0VOQUJMRUQKKyNlbmRpZgorCisvKioKKyAqIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQ6CisgKgorICogV2hldGhlciB0aGUgU2NoZW1hcyB2YWxpZGF0aW9uIGludGVyZmFjZXMgYXJlIGNvbXBpbGVkIGluCisgKi8KKyNpZiBAV0lUSF9TQ0hFTUFTQAorI2RlZmluZSBMSUJYTUxfU0NIRU1BU19FTkFCTEVECisjZW5kaWYKKworLyoqCisgKiBMSUJYTUxfU0NIRU1BVFJPTl9FTkFCTEVEOgorICoKKyAqIFdoZXRoZXIgdGhlIFNjaGVtYXRyb24gdmFsaWRhdGlvbiBpbnRlcmZhY2VzIGFyZSBjb21waWxlZCBpbgorICovCisjaWYgQFdJVEhfU0NIRU1BVFJPTkAKKyNkZWZpbmUgTElCWE1MX1NDSEVNQVRST05fRU5BQkxFRAorI2VuZGlmCisKKy8qKgorICogTElCWE1MX01PRFVMRVNfRU5BQkxFRDoKKyAqCisgKiBXaGV0aGVyIHRoZSBtb2R1bGUgaW50ZXJmYWNlcyBhcmUgY29tcGlsZWQgaW4KKyAqLworI2lmIEBXSVRIX01PRFVMRVNACisjZGVmaW5lIExJQlhNTF9NT0RVTEVTX0VOQUJMRUQKKy8qKgorICogTElCWE1MX01PRFVMRV9FWFRFTlNJT046CisgKgorICogdGhlIHN0cmluZyBzdWZmaXggdXNlZCBieSBkeW5hbWljIG1vZHVsZXMgKHVzdWFsbHkgc2hhcmVkIGxpYnJhcmllcykKKyAqLworI2RlZmluZSBMSUJYTUxfTU9EVUxFX0VYVEVOU0lPTiAiQE1PRFVMRV9FWFRFTlNJT05AIiAKKyNlbmRpZgorCisvKioKKyAqIExJQlhNTF9aTElCX0VOQUJMRUQ6CisgKgorICogV2hldGhlciB0aGUgWmxpYiBzdXBwb3J0IGlzIGNvbXBpbGVkIGluCisgKi8KKyNpZiBAV0lUSF9aTElCQAorI2RlZmluZSBMSUJYTUxfWkxJQl9FTkFCTEVECisjZW5kaWYKKworLyoqCisgKiBMSUJYTUxfTFpNQV9FTkFCTEVEOgorICoKKyAqIFdoZXRoZXIgdGhlIEx6bWEgc3VwcG9ydCBpcyBjb21waWxlZCBpbgorICovCisjaWYgQFdJVEhfTFpNQUAKKyNkZWZpbmUgTElCWE1MX0xaTUFfRU5BQkxFRAorI2VuZGlmCisKKyNpZmRlZiBfX0dOVUNfXworI2lmZGVmIEhBVkVfQU5TSURFQ0xfSAorI2luY2x1ZGUgPGFuc2lkZWNsLmg+CisjZW5kaWYKKworLyoqCisgKiBBVFRSSUJVVEVfVU5VU0VEOgorICoKKyAqIE1hY3JvIHVzZWQgdG8gc2lnbmFsIHRvIEdDQyB1bnVzZWQgZnVuY3Rpb24gcGFyYW1ldGVycworICovCisKKyNpZm5kZWYgQVRUUklCVVRFX1VOVVNFRAorIyBpZiAoKF9fR05VQ19fID4gMikgfHwgKChfX0dOVUNfXyA9PSAyKSAmJiAoX19HTlVDX01JTk9SX18gPj0gNykpKQorIyAgZGVmaW5lIEFUVFJJQlVURV9VTlVTRUQgX19hdHRyaWJ1dGVfXygodW51c2VkKSkKKyMgZWxzZQorIyAgZGVmaW5lIEFUVFJJQlVURV9VTlVTRUQKKyMgZW5kaWYKKyNlbmRpZgorCisvKioKKyAqIExJQlhNTF9BVFRSX0FMTE9DX1NJWkU6CisgKgorICogTWFjcm8gdXNlZCB0byBpbmRpY2F0ZSB0byBHQ0MgdGhpcyBpcyBhbiBhbGxvY2F0b3IgZnVuY3Rpb24KKyAqLworCisjaWZuZGVmIExJQlhNTF9BVFRSX0FMTE9DX1NJWkUKKyMgaWYgKChfX0dOVUNfXyA+IDQpIHx8ICgoX19HTlVDX18gPT0gNCkgJiYgKF9fR05VQ19NSU5PUl9fID49IDMpKSkKKyMgIGRlZmluZSBMSUJYTUxfQVRUUl9BTExPQ19TSVpFKHgpIF9fYXR0cmlidXRlX18oKGFsbG9jX3NpemUoeCkpKQorIyBlbHNlCisjICBkZWZpbmUgTElCWE1MX0FUVFJfQUxMT0NfU0laRSh4KQorIyBlbmRpZgorI2Vsc2UKKyMgZGVmaW5lIExJQlhNTF9BVFRSX0FMTE9DX1NJWkUoeCkKKyNlbmRpZgorCisvKioKKyAqIExJQlhNTF9BVFRSX0ZPUk1BVDoKKyAqCisgKiBNYWNybyB1c2VkIHRvIGluZGljYXRlIHRvIEdDQyB0aGUgcGFyYW1ldGVyIGFyZSBwcmludGYgbGlrZQorICovCisKKyNpZm5kZWYgTElCWE1MX0FUVFJfRk9STUFUCisjIGlmICgoX19HTlVDX18gPiAzKSB8fCAoKF9fR05VQ19fID09IDMpICYmIChfX0dOVUNfTUlOT1JfXyA+PSAzKSkpCisjICBkZWZpbmUgTElCWE1MX0FUVFJfRk9STUFUKGZtdCxhcmdzKSBfX2F0dHJpYnV0ZV9fKChfX2Zvcm1hdF9fKF9fcHJpbnRmX18sZm10LGFyZ3MpKSkKKyMgZWxzZQorIyAgZGVmaW5lIExJQlhNTF9BVFRSX0ZPUk1BVChmbXQsYXJncykKKyMgZW5kaWYKKyNlbHNlCisjIGRlZmluZSBMSUJYTUxfQVRUUl9GT1JNQVQoZm10LGFyZ3MpCisjZW5kaWYKKworI2Vsc2UgLyogISBfX0dOVUNfXyAqLworLyoqCisgKiBBVFRSSUJVVEVfVU5VU0VEOgorICoKKyAqIE1hY3JvIHVzZWQgdG8gc2lnbmFsIHRvIEdDQyB1bnVzZWQgZnVuY3Rpb24gcGFyYW1ldGVycworICovCisjZGVmaW5lIEFUVFJJQlVURV9VTlVTRUQKKy8qKgorICogTElCWE1MX0FUVFJfQUxMT0NfU0laRToKKyAqCisgKiBNYWNybyB1c2VkIHRvIGluZGljYXRlIHRvIEdDQyB0aGlzIGlzIGFuIGFsbG9jYXRvciBmdW5jdGlvbgorICovCisjZGVmaW5lIExJQlhNTF9BVFRSX0FMTE9DX1NJWkUoeCkKKy8qKgorICogTElCWE1MX0FUVFJfRk9STUFUOgorICoKKyAqIE1hY3JvIHVzZWQgdG8gaW5kaWNhdGUgdG8gR0NDIHRoZSBwYXJhbWV0ZXIgYXJlIHByaW50ZiBsaWtlCisgKi8KKyNkZWZpbmUgTElCWE1MX0FUVFJfRk9STUFUKGZtdCxhcmdzKQorI2VuZGlmIC8qIF9fR05VQ19fICovCisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmIC8qIF9fY3BsdXNwbHVzICovCisjZW5kaWYKKworCmRpZmYgLS1naXQgYS9saWJ4bWwyL2luY2x1ZGUvbGlieG1sL3htbHdpbjMydmVyc2lvbi5oIGIvbGlieG1sMi9pbmNsdWRlL2xpYnhtbC94bWx3aW4zMnZlcnNpb24uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NjQxMjQxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9pbmNsdWRlL2xpYnhtbC94bWx3aW4zMnZlcnNpb24uaApAQCAtMCwwICsxLDI0MiBAQAorLyoKKyAqIFN1bW1hcnk6IGNvbXBpbGUtdGltZSB2ZXJzaW9uIGluZm9ybWF0aW9ucyBvbiBXaW5kb3dzCisgKiBEZXNjcmlwdGlvbjogY29tcGlsZS10aW1lIHZlcnNpb24gaW5mb3JtYXRpb25zIGZvciB0aGUgWE1MIGxpYnJhcnkKKyAqICAgICAgICAgICAgICB3aGVuIGNvbXBpbGVkIG9uIHRoZSBXaW5kb3dzIHBsYXRmb3JtCisgKgorICogQ29weTogU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgorICoKKyAqIEF1dGhvcjogRGFuaWVsIFZlaWxsYXJkCisgKi8KKworI2lmbmRlZiBfX1hNTF9WRVJTSU9OX0hfXworI2RlZmluZSBfX1hNTF9WRVJTSU9OX0hfXworCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCisKKy8qCisgKiB1c2UgdGhvc2UgdG8gYmUgc3VyZSBub3RoaW5nIG5hc3R5IHdpbGwgaGFwcGVuIGlmCisgKiB5b3VyIGxpYnJhcnkgYW5kIGluY2x1ZGVzIG1pc21hdGNoCisgKi8KKyNpZm5kZWYgTElCWE1MMl9DT01QSUxJTkdfTVNDQ0RFRgorZXh0ZXJuIHZvaWQgeG1sQ2hlY2tWZXJzaW9uKGludCB2ZXJzaW9uKTsKKyNlbmRpZiAvKiBMSUJYTUwyX0NPTVBJTElOR19NU0NDREVGICovCisKKy8qKgorICogTElCWE1MX0RPVFRFRF9WRVJTSU9OOgorICoKKyAqIHRoZSB2ZXJzaW9uIHN0cmluZyBsaWtlICIxLjIuMyIKKyAqLworI2RlZmluZSBMSUJYTUxfRE9UVEVEX1ZFUlNJT04gIjIuNC4yNiIKKworLyoqCisgKiBMSUJYTUxfVkVSU0lPTjoKKyAqCisgKiB0aGUgdmVyc2lvbiBudW1iZXI6IDEuMi4zIHZhbHVlIGlzIDEwMDIwMDMKKyAqLworI2RlZmluZSBMSUJYTUxfVkVSU0lPTiAyMDQyNgorCisvKioKKyAqIExJQlhNTF9WRVJTSU9OX1NUUklORzoKKyAqCisgKiB0aGUgdmVyc2lvbiBudW1iZXIgc3RyaW5nLCAxLjIuMyB2YWx1ZSBpcyAiMTAwMjAwMyIKKyAqLworI2RlZmluZSBMSUJYTUxfVkVSU0lPTl9TVFJJTkcgIjIwNDI2IgorCisvKioKKyAqIExJQlhNTF9URVNUX1ZFUlNJT046CisgKgorICogTWFjcm8gdG8gY2hlY2sgdGhhdCB0aGUgbGlieG1sIHZlcnNpb24gaW4gdXNlIGlzIGNvbXBhdGlibGUgd2l0aAorICogdGhlIHZlcnNpb24gdGhlIHNvZnR3YXJlIGhhcyBiZWVuIGNvbXBpbGVkIGFnYWluc3QKKyAqLworI2RlZmluZSBMSUJYTUxfVEVTVF9WRVJTSU9OIHhtbENoZWNrVmVyc2lvbigyMDQyNik7CisKKyNpZiAwCisvKioKKyAqIFdJVEhfVFJJTzoKKyAqCisgKiBkZWZpbmVkIGlmIHRoZSB0cmlvIHN1cHBvcnQgbmVlZCB0byBiZSBjb25maWd1cmVkIGluCisgKi8KKyNkZWZpbmUgV0lUSF9UUklPCisjZWxzZQorLyoqCisgKiBXSVRIT1VUX1RSSU86CisgKgorICogZGVmaW5lZCBpZiB0aGUgdHJpbyBzdXBwb3J0IHNob3VsZCBub3QgYmUgY29uZmlndXJlZCBpbgorICovCisjZGVmaW5lIFdJVEhPVVRfVFJJTworI2VuZGlmCisKKy8qKgorICogTElCWE1MX1RIUkVBRF9FTkFCTEVEOgorICoKKyAqIFdoZXRoZXIgdGhlIHRocmVhZCBzdXBwb3J0IGlzIGNvbmZpZ3VyZWQgaW4KKyAqLworI2lmIDAKKyNkZWZpbmUgTElCWE1MX1RIUkVBRF9FTkFCTEVECisjZW5kaWYKKworLyoqCisgKiBMSUJYTUxfRlRQX0VOQUJMRUQ6CisgKgorICogV2hldGhlciB0aGUgRlRQIHN1cHBvcnQgaXMgY29uZmlndXJlZCBpbgorICovCisjaWYgMQorI2RlZmluZSBMSUJYTUxfRlRQX0VOQUJMRUQKKyNlbmRpZgorCisvKioKKyAqIExJQlhNTF9IVFRQX0VOQUJMRUQ6CisgKgorICogV2hldGhlciB0aGUgSFRUUCBzdXBwb3J0IGlzIGNvbmZpZ3VyZWQgaW4KKyAqLworI2lmIDEKKyNkZWZpbmUgTElCWE1MX0hUVFBfRU5BQkxFRAorI2VuZGlmCisKKy8qKgorICogTElCWE1MX0hUTUxfRU5BQkxFRDoKKyAqCisgKiBXaGV0aGVyIHRoZSBIVE1MIHN1cHBvcnQgaXMgY29uZmlndXJlZCBpbgorICovCisjaWYgMQorI2RlZmluZSBMSUJYTUxfSFRNTF9FTkFCTEVECisjZW5kaWYKKworLyoqCisgKiBMSUJYTUxfQ0FUQUxPR19FTkFCTEVEOgorICoKKyAqIFdoZXRoZXIgdGhlIENhdGFsb2cgc3VwcG9ydCBpcyBjb25maWd1cmVkIGluCisgKi8KKyNpZiAxCisjZGVmaW5lIExJQlhNTF9DQVRBTE9HX0VOQUJMRUQKKyNlbmRpZgorCisvKioKKyAqIExJQlhNTF9ET0NCX0VOQUJMRUQ6CisgKgorICogV2hldGhlciB0aGUgU0dNTCBEb2Nib29rIHN1cHBvcnQgaXMgY29uZmlndXJlZCBpbgorICovCisjaWYgMQorI2RlZmluZSBMSUJYTUxfRE9DQl9FTkFCTEVECisjZW5kaWYKKworLyoqCisgKiBMSUJYTUxfWFBBVEhfRU5BQkxFRDoKKyAqCisgKiBXaGV0aGVyIFhQYXRoIGlzIGNvbmZpZ3VyZWQgaW4KKyAqLworI2lmIDEKKyNkZWZpbmUgTElCWE1MX1hQQVRIX0VOQUJMRUQKKyNlbmRpZgorCisvKioKKyAqIExJQlhNTF9YUFRSX0VOQUJMRUQ6CisgKgorICogV2hldGhlciBYUG9pbnRlciBpcyBjb25maWd1cmVkIGluCisgKi8KKyNpZiAxCisjZGVmaW5lIExJQlhNTF9YUFRSX0VOQUJMRUQKKyNlbmRpZgorCisvKioKKyAqIExJQlhNTF9DMTROX0VOQUJMRUQ6CisgKgorICogV2hldGhlciB0aGUgQ2Fub25pY2FsaXphdGlvbiBzdXBwb3J0IGlzIGNvbmZpZ3VyZWQgaW4KKyAqLworI2lmIDAKKyNkZWZpbmUgTElCWE1MX0MxNE5fRU5BQkxFRAorI2VuZGlmCisKKy8qKgorICogTElCWE1MX1hJTkNMVURFX0VOQUJMRUQ6CisgKgorICogV2hldGhlciBYSW5jbHVkZSBpcyBjb25maWd1cmVkIGluCisgKi8KKyNpZiAxCisjZGVmaW5lIExJQlhNTF9YSU5DTFVERV9FTkFCTEVECisjZW5kaWYKKworLyoqCisgKiBMSUJYTUxfSUNPTlZfRU5BQkxFRDoKKyAqCisgKiBXaGV0aGVyIGljb252IHN1cHBvcnQgaXMgYXZhaWxhYmxlCisgKi8KKyNpZiAwCisjZGVmaW5lIExJQlhNTF9JQ09OVl9FTkFCTEVECisjZW5kaWYKKworLyoqCisgKiBMSUJYTUxfREVCVUdfRU5BQkxFRDoKKyAqCisgKiBXaGV0aGVyIERlYnVnZ2luZyBtb2R1bGUgaXMgY29uZmlndXJlZCBpbgorICovCisjaWYgMQorI2RlZmluZSBMSUJYTUxfREVCVUdfRU5BQkxFRAorI2VuZGlmCisKKy8qKgorICogREVCVUdfTUVNT1JZX0xPQ0FUSU9OOgorICoKKyAqIFdoZXRoZXIgdGhlIG1lbW9yeSBkZWJ1Z2dpbmcgaXMgY29uZmlndXJlZCBpbgorICovCisjaWYgMAorI2RlZmluZSBERUJVR19NRU1PUllfTE9DQVRJT04KKyNlbmRpZgorCisvKioKKyAqIExJQlhNTF9ETExfSU1QT1JUOgorICoKKyAqIFVzZWQgb24gV2luZG93cyAoTVMgQyBjb21waWxlciBvbmx5KSB0byBkZWNsYXJlIGEgdmFyaWFibGUgYXMKKyAqIGltcG9ydGVkIGZyb20gdGhlIGxpYnJhcnkuIFRoaXMgbWFjcm8gc2hvdWxkIGJlIGVtcHR5IHdoZW4gY29tcGlsaW5nCisgKiBsaWJ4bWwgaXRzZWxmLiBJdCBzaG91bGQgZXhwYW5kIHRvIF9fZGVjbHNwZWMoZGxsaW1wb3J0KQorICogd2hlbiB0aGUgY2xpZW50IGNvZGUgaW5jbHVkZXMgdGhpcyBoZWFkZXIsIGFuZCB0aGF0IG9ubHkgaWYgdGhlIGNsaWVudAorICogbGlua3MgZHluYW1pY2FsbHkgYWdhaW5zdCBsaWJ4bWwuCisgKiBGb3IgdGhpcyB0byB3b3JrLCB3ZSBuZWVkIHRocmVlIG1hY3Jvcy4gT25lIHRlbGxzIHVzIHdoaWNoIGNvbXBpbGVyIGlzCisgKiBiZWluZyB1c2VkIGFuZCBsdWNraWx5IHRoZSBjb21waWxlciBkZWZpbmVzIHN1Y2ggYSB0aGluZzogX01TQ19WRVIuIFRoZQorICogc2Vjb25kIG1hY3JvIHRlbGxzIHVzIGlmIHdlIGFyZSBjb21waWxpbmcgbGlieG1sIG9yIHRoZSBjbGllbnQgY29kZSBhbmQKKyAqIHdlIGRlZmluZSB0aGUgbWFjcm8gSU5fTElCWE1MIG9uIHRoZSBjb21waWxlcidzIGNvbW1hbmQgbGluZSBmb3IgdGhpcworICogcHVycG9zZS4gVGhlIHRoaXJkIG1hY3JvLCBMSUJYTUxfU1RBVElDLCBtdXN0IGJlIGRlZmluZWQgYnkgYW55IGNsaWVudAorICogY29kZSB3aGljaCBsaW5rcyBhZ2FpbnN0IGxpYnhtbCBzdGF0aWNhbGx5LgorICovCisjaWZuZGVmIExJQlhNTF9ETExfSU1QT1JUCisjaWYgZGVmaW5lZChfTVNDX1ZFUikgJiYgIWRlZmluZWQoSU5fTElCWE1MKSAmJiAhZGVmaW5lZChMSUJYTUxfU1RBVElDKQorI2RlZmluZSBMSUJYTUxfRExMX0lNUE9SVCBfX2RlY2xzcGVjKGRsbGltcG9ydCkKKyNlbHNlCisjZGVmaW5lIExJQlhNTF9ETExfSU1QT1JUCisjZW5kaWYKKyNlbmRpZgorCisvKioKKyAqIEFUVFJJQlVURV9VTlVTRUQ6CisgKgorICogTWFjcm8gdXNlZCB0byBzaWduYWwgdG8gR0NDIHVudXNlZCBmdW5jdGlvbiBwYXJhbWV0ZXJzCisgKi8KKyNpZmRlZiBfX0dOVUNfXworI2lmZGVmIEhBVkVfQU5TSURFQ0xfSAorI2luY2x1ZGUgPGFuc2lkZWNsLmg+CisjZW5kaWYKKyNpZm5kZWYgQVRUUklCVVRFX1VOVVNFRAorI2RlZmluZSBBVFRSSUJVVEVfVU5VU0VECisjZW5kaWYKKyNlbHNlCisjZGVmaW5lIEFUVFJJQlVURV9VTlVTRUQKKyNlbmRpZgorCisvKgorICogI3ByYWdtYSBjb21tZW50KGxpYiwgImljb252LmxpYiIpCisgKgorICogcHJhZ21hIHVuZGVyc3Rvb2QgbXkgTVMgY29tcGlsZXIgd2hpY2ggZW5hYmxlcyBhIGNvbmRpdGlvbmFsIGxpbmsgd2l0aAorICogaWNvbnYuCisgKi8KKyNpZmRlZiBfTVNDX1ZFUgorI2lmIGRlZmluZWQgTElCWE1MX0lDT05WX0VOQUJMRUQgJiYgIWRlZmluZWQgTElCWE1MMl9DT01QSUxJTkdfTVNDQ0RFRgorI3ByYWdtYSBjb21tZW50KGxpYiwgImljb252LmxpYiIpCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZiAvKiBfX2NwbHVzcGx1cyAqLworI2VuZGlmCmRpZmYgLS1naXQgYS9saWJ4bWwyL2luY2x1ZGUvbGlieG1sL3htbHdpbjMydmVyc2lvbi5oLmluIGIvbGlieG1sMi9pbmNsdWRlL2xpYnhtbC94bWx3aW4zMnZlcnNpb24uaC5pbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNzVmM2E0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9pbmNsdWRlL2xpYnhtbC94bWx3aW4zMnZlcnNpb24uaC5pbgpAQCAtMCwwICsxLDMyNSBAQAorLyoKKyAqIFN1bW1hcnk6IGNvbXBpbGUtdGltZSB2ZXJzaW9uIGluZm9ybWF0aW9ucyBvbiBXaW5kb3dzCisgKiBEZXNjcmlwdGlvbjogY29tcGlsZS10aW1lIHZlcnNpb24gaW5mb3JtYXRpb25zIGZvciB0aGUgWE1MIGxpYnJhcnkKKyAqICAgICAgICAgICAgICB3aGVuIGNvbXBpbGVkIG9uIHRoZSBXaW5kb3dzIHBsYXRmb3JtCisgKgorICogQ29weTogU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgorICoKKyAqIEF1dGhvcjogRGFuaWVsIFZlaWxsYXJkCisgKi8KKworI2lmbmRlZiBfX1hNTF9WRVJTSU9OX0hfXworI2RlZmluZSBfX1hNTF9WRVJTSU9OX0hfXworCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCisKKy8qCisgKiB1c2UgdGhvc2UgdG8gYmUgc3VyZSBub3RoaW5nIG5hc3R5IHdpbGwgaGFwcGVuIGlmCisgKiB5b3VyIGxpYnJhcnkgYW5kIGluY2x1ZGVzIG1pc21hdGNoCisgKi8KKyNpZm5kZWYgTElCWE1MMl9DT01QSUxJTkdfTVNDQ0RFRgorZXh0ZXJuIHZvaWQgeG1sQ2hlY2tWZXJzaW9uKGludCB2ZXJzaW9uKTsKKyNlbmRpZiAvKiBMSUJYTUwyX0NPTVBJTElOR19NU0NDREVGICovCisKKy8qKgorICogTElCWE1MX0RPVFRFRF9WRVJTSU9OOgorICoKKyAqIHRoZSB2ZXJzaW9uIHN0cmluZyBsaWtlICIxLjIuMyIKKyAqLworI2RlZmluZSBMSUJYTUxfRE9UVEVEX1ZFUlNJT04gIkBWRVJTSU9OQCIKKworLyoqCisgKiBMSUJYTUxfVkVSU0lPTjoKKyAqCisgKiB0aGUgdmVyc2lvbiBudW1iZXI6IDEuMi4zIHZhbHVlIGlzIDEwMDIwMDMKKyAqLworI2RlZmluZSBMSUJYTUxfVkVSU0lPTiBATElCWE1MX1ZFUlNJT05fTlVNQkVSQAorCisvKioKKyAqIExJQlhNTF9WRVJTSU9OX1NUUklORzoKKyAqCisgKiB0aGUgdmVyc2lvbiBudW1iZXIgc3RyaW5nLCAxLjIuMyB2YWx1ZSBpcyAiMTAwMjAwMyIKKyAqLworI2RlZmluZSBMSUJYTUxfVkVSU0lPTl9TVFJJTkcgIkBMSUJYTUxfVkVSU0lPTl9OVU1CRVJAIgorCisvKioKKyAqIExJQlhNTF9WRVJTSU9OX0VYVFJBOgorICoKKyAqIGV4dHJhIHZlcnNpb24gaW5mb3JtYXRpb24sIHVzZWQgdG8gc2hvdyBhIENWUyBjb21waWxhdGlvbgorICovCisjZGVmaW5lIExJQlhNTF9WRVJTSU9OX0VYVFJBICItd2luMzIiCisKKy8qKgorICogTElCWE1MX1RFU1RfVkVSU0lPTjoKKyAqCisgKiBNYWNybyB0byBjaGVjayB0aGF0IHRoZSBsaWJ4bWwgdmVyc2lvbiBpbiB1c2UgaXMgY29tcGF0aWJsZSB3aXRoCisgKiB0aGUgdmVyc2lvbiB0aGUgc29mdHdhcmUgaGFzIGJlZW4gY29tcGlsZWQgYWdhaW5zdAorICovCisjZGVmaW5lIExJQlhNTF9URVNUX1ZFUlNJT04geG1sQ2hlY2tWZXJzaW9uKEBMSUJYTUxfVkVSU0lPTl9OVU1CRVJAKTsKKworI2lmIDAKKy8qKgorICogV0lUSF9UUklPOgorICoKKyAqIGRlZmluZWQgaWYgdGhlIHRyaW8gc3VwcG9ydCBuZWVkIHRvIGJlIGNvbmZpZ3VyZWQgaW4KKyAqLworI2RlZmluZSBXSVRIX1RSSU8KKyNlbHNlCisvKioKKyAqIFdJVEhPVVRfVFJJTzoKKyAqCisgKiBkZWZpbmVkIGlmIHRoZSB0cmlvIHN1cHBvcnQgc2hvdWxkIG5vdCBiZSBjb25maWd1cmVkIGluCisgKi8KKyNkZWZpbmUgV0lUSE9VVF9UUklPCisjZW5kaWYKKworLyoqCisgKiBMSUJYTUxfVEhSRUFEX0VOQUJMRUQ6CisgKgorICogV2hldGhlciB0aGUgdGhyZWFkIHN1cHBvcnQgaXMgY29uZmlndXJlZCBpbgorICovCisjaWYgMAorI2RlZmluZSBMSUJYTUxfVEhSRUFEX0VOQUJMRUQKKyNlbmRpZgorCisvKioKKyAqIExJQlhNTF9GVFBfRU5BQkxFRDoKKyAqCisgKiBXaGV0aGVyIHRoZSBGVFAgc3VwcG9ydCBpcyBjb25maWd1cmVkIGluCisgKi8KKyNpZiAxCisjZGVmaW5lIExJQlhNTF9GVFBfRU5BQkxFRAorI2VuZGlmCisKKy8qKgorICogTElCWE1MX0hUVFBfRU5BQkxFRDoKKyAqCisgKiBXaGV0aGVyIHRoZSBIVFRQIHN1cHBvcnQgaXMgY29uZmlndXJlZCBpbgorICovCisjaWYgMQorI2RlZmluZSBMSUJYTUxfSFRUUF9FTkFCTEVECisjZW5kaWYKKworLyoqCisgKiBMSUJYTUxfSFRNTF9FTkFCTEVEOgorICoKKyAqIFdoZXRoZXIgdGhlIEhUTUwgc3VwcG9ydCBpcyBjb25maWd1cmVkIGluCisgKi8KKyNpZiAxCisjZGVmaW5lIExJQlhNTF9IVE1MX0VOQUJMRUQKKyNlbmRpZgorCisvKioKKyAqIExJQlhNTF9DQVRBTE9HX0VOQUJMRUQ6CisgKgorICogV2hldGhlciB0aGUgQ2F0YWxvZyBzdXBwb3J0IGlzIGNvbmZpZ3VyZWQgaW4KKyAqLworI2lmIDEKKyNkZWZpbmUgTElCWE1MX0NBVEFMT0dfRU5BQkxFRAorI2VuZGlmCisKKy8qKgorICogTElCWE1MX0RPQ0JfRU5BQkxFRDoKKyAqCisgKiBXaGV0aGVyIHRoZSBTR01MIERvY2Jvb2sgc3VwcG9ydCBpcyBjb25maWd1cmVkIGluCisgKi8KKyNpZiAxCisjZGVmaW5lIExJQlhNTF9ET0NCX0VOQUJMRUQKKyNlbmRpZgorCisvKioKKyAqIExJQlhNTF9YUEFUSF9FTkFCTEVEOgorICoKKyAqIFdoZXRoZXIgWFBhdGggaXMgY29uZmlndXJlZCBpbgorICovCisjaWYgMQorI2RlZmluZSBMSUJYTUxfWFBBVEhfRU5BQkxFRAorI2VuZGlmCisKKy8qKgorICogTElCWE1MX1hQVFJfRU5BQkxFRDoKKyAqCisgKiBXaGV0aGVyIFhQb2ludGVyIGlzIGNvbmZpZ3VyZWQgaW4KKyAqLworI2lmIDEKKyNkZWZpbmUgTElCWE1MX1hQVFJfRU5BQkxFRAorI2VuZGlmCisKKy8qKgorICogTElCWE1MX0MxNE5fRU5BQkxFRDoKKyAqCisgKiBXaGV0aGVyIHRoZSBDYW5vbmljYWxpemF0aW9uIHN1cHBvcnQgaXMgY29uZmlndXJlZCBpbgorICovCisjaWYgMAorI2RlZmluZSBMSUJYTUxfQzE0Tl9FTkFCTEVECisjZW5kaWYKKworLyoqCisgKiBMSUJYTUxfWElOQ0xVREVfRU5BQkxFRDoKKyAqCisgKiBXaGV0aGVyIFhJbmNsdWRlIGlzIGNvbmZpZ3VyZWQgaW4KKyAqLworI2lmIDEKKyNkZWZpbmUgTElCWE1MX1hJTkNMVURFX0VOQUJMRUQKKyNlbmRpZgorCisvKioKKyAqIExJQlhNTF9TQ0hFTUFUUk9OX0VOQUJMRUQ6CisgKgorICogV2hldGhlciB0aGUgU2NoZW1hdHJvbiB2YWxpZGF0aW9uIGludGVyZmFjZXMgYXJlIGNvbXBpbGVkIGluCisgKi8KKyNpZiAxCisjZGVmaW5lIExJQlhNTF9TQ0hFTUFUUk9OX0VOQUJMRUQKKyNlbmRpZgorCisvKioKKyAqIExJQlhNTF9JQ09OVl9FTkFCTEVEOgorICoKKyAqIFdoZXRoZXIgaWNvbnYgc3VwcG9ydCBpcyBhdmFpbGFibGUKKyAqLworI2lmIDAKKyNkZWZpbmUgTElCWE1MX0lDT05WX0VOQUJMRUQKKyNlbmRpZgorCisvKioKKyAqIExJQlhNTF9JU084ODU5WF9FTkFCTEVEOgorICoKKyAqIFdoZXRoZXIgSVNPLTg4NTktKiBzdXBwb3J0IGlzIG1hZGUgYXZhaWxhYmxlIGluIGNhc2UgaWNvbnYgaXMgbm90CisgKi8KKyNpZiAxCisjZGVmaW5lIExJQlhNTF9JU084ODU5WF9FTkFCTEVECisjZW5kaWYKKworLyoqCisgKiBMSUJYTUxfREVCVUdfRU5BQkxFRDoKKyAqCisgKiBXaGV0aGVyIERlYnVnZ2luZyBtb2R1bGUgaXMgY29uZmlndXJlZCBpbgorICovCisjaWYgMQorI2RlZmluZSBMSUJYTUxfREVCVUdfRU5BQkxFRAorI2VuZGlmCisKKy8qKgorICogREVCVUdfTUVNT1JZX0xPQ0FUSU9OOgorICoKKyAqIFdoZXRoZXIgdGhlIG1lbW9yeSBkZWJ1Z2dpbmcgaXMgY29uZmlndXJlZCBpbgorICovCisjaWYgMAorI2RlZmluZSBERUJVR19NRU1PUllfTE9DQVRJT04KKyNlbmRpZgorCisvKioKKyAqIExJQlhNTF9ERUJVR19SVU5USU1FOgorICoKKyAqIFdoZXRoZXIgdGhlIHJ1bnRpbWUgZGVidWdnaW5nIGlzIGNvbmZpZ3VyZWQgaW4KKyAqLworI2lmIDAKKyNkZWZpbmUgTElCWE1MX0RFQlVHX1JVTlRJTUUKKyNlbmRpZgorCisvKioKKyAqIExJQlhNTF9ETExfSU1QT1JUOgorICoKKyAqIFVzZWQgb24gV2luZG93cyAoTVMgQyBjb21waWxlciBvbmx5KSB0byBkZWNsYXJlIGEgdmFyaWFibGUgYXMgCisgKiBpbXBvcnRlZCBmcm9tIHRoZSBsaWJyYXJ5LiBUaGlzIG1hY3JvIHNob3VsZCBiZSBlbXB0eSB3aGVuIGNvbXBpbGluZworICogbGlieG1sIGl0c2VsZi4gSXQgc2hvdWxkIGV4cGFuZCB0byBfX2RlY2xzcGVjKGRsbGltcG9ydCkKKyAqIHdoZW4gdGhlIGNsaWVudCBjb2RlIGluY2x1ZGVzIHRoaXMgaGVhZGVyLCBhbmQgdGhhdCBvbmx5IGlmIHRoZSBjbGllbnQKKyAqIGxpbmtzIGR5bmFtaWNhbGx5IGFnYWluc3QgbGlieG1sLgorICogRm9yIHRoaXMgdG8gd29yaywgd2UgbmVlZCB0aHJlZSBtYWNyb3MuIE9uZSB0ZWxscyB1cyB3aGljaCBjb21waWxlciBpcworICogYmVpbmcgdXNlZCBhbmQgbHVja2lseSB0aGUgY29tcGlsZXIgZGVmaW5lcyBzdWNoIGEgdGhpbmc6IF9NU0NfVkVSLiBUaGUKKyAqIHNlY29uZCBtYWNybyB0ZWxscyB1cyBpZiB3ZSBhcmUgY29tcGlsaW5nIGxpYnhtbCBvciB0aGUgY2xpZW50IGNvZGUgYW5kCisgKiB3ZSBkZWZpbmUgdGhlIG1hY3JvIElOX0xJQlhNTCBvbiB0aGUgY29tcGlsZXIncyBjb21tYW5kIGxpbmUgZm9yIHRoaXMgCisgKiBwdXJwb3NlLiBUaGUgdGhpcmQgbWFjcm8sIExJQlhNTF9TVEFUSUMsIG11c3QgYmUgZGVmaW5lZCBieSBhbnkgY2xpZW50IAorICogY29kZSB3aGljaCBsaW5rcyBhZ2FpbnN0IGxpYnhtbCBzdGF0aWNhbGx5LiAKKyAqLworI2lmbmRlZiBMSUJYTUxfRExMX0lNUE9SVAorI2lmIGRlZmluZWQoX01TQ19WRVIpICYmICFkZWZpbmVkKElOX0xJQlhNTCkgJiYgIWRlZmluZWQoTElCWE1MX1NUQVRJQykKKyNkZWZpbmUgTElCWE1MX0RMTF9JTVBPUlQgX19kZWNsc3BlYyhkbGxpbXBvcnQpCisjZWxzZQorI2RlZmluZSBMSUJYTUxfRExMX0lNUE9SVAorI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIF9fR05VQ19fCisjaWZkZWYgSEFWRV9BTlNJREVDTF9ICisjaW5jbHVkZSA8YW5zaWRlY2wuaD4KKyNlbmRpZgorCisvKioKKyAqIEFUVFJJQlVURV9VTlVTRUQ6CisgKgorICogTWFjcm8gdXNlZCB0byBzaWduYWwgdG8gR0NDIHVudXNlZCBmdW5jdGlvbiBwYXJhbWV0ZXJzCisgKi8KKworI2lmbmRlZiBBVFRSSUJVVEVfVU5VU0VECisjZGVmaW5lIEFUVFJJQlVURV9VTlVTRUQKKyNlbmRpZgorCisvKioKKyAqIEFUVFJJQlVURV9BTExPQ19TSVpFOgorICoKKyAqIE1hY3JvIHVzZWQgdG8gaW5kaWNhdGUgdG8gR0NDIHRoaXMgaXMgYW4gYWxsb2NhdG9yIGZ1bmN0aW9uCisgKi8KKworI2lmbmRlZiBBVFRSSUJVVEVfQUxMT0NfU0laRQorIyBpZiAoKF9fR05VQ19fID4gNCkgfHwgKChfX0dOVUNfXyA9PSA0KSAmJiAoX19HTlVDX01JTk9SX18gPj0gMykpKQorIyAgZGVmaW5lIEFUVFJJQlVURV9BTExPQ19TSVpFKHgpIF9fYXR0cmlidXRlX18oKGFsbG9jX3NpemUoeCkpKQorIyBlbHNlCisjICBkZWZpbmUgQVRUUklCVVRFX0FMTE9DX1NJWkUoeCkKKyMgZW5kaWYKKyNlbHNlCisjIGRlZmluZSBBVFRSSUJVVEVfQUxMT0NfU0laRSh4KQorI2VuZGlmCisKKy8qKgorICogTElCWE1MX0FUVFJfRk9STUFUOgorICoKKyAqIE1hY3JvIHVzZWQgdG8gaW5kaWNhdGUgdG8gR0NDIHRoZSBwYXJhbWV0ZXIgYXJlIHByaW50ZiBsaWtlCisgKi8KKworI2lmbmRlZiBMSUJYTUxfQVRUUl9GT1JNQVQKKyMgaWYgKChfX0dOVUNfXyA+IDMpIHx8ICgoX19HTlVDX18gPT0gMykgJiYgKF9fR05VQ19NSU5PUl9fID49IDMpKSkKKyMgIGRlZmluZSBMSUJYTUxfQVRUUl9GT1JNQVQoZm10LGFyZ3MpIF9fYXR0cmlidXRlX18oKF9fZm9ybWF0X18oX19wcmludGZfXyxmbXQsYXJncykpKQorIyBlbHNlCisjICBkZWZpbmUgTElCWE1MX0FUVFJfRk9STUFUKGZtdCxhcmdzKQorIyBlbmRpZgorI2Vsc2UKKyMgZGVmaW5lIExJQlhNTF9BVFRSX0ZPUk1BVChmbXQsYXJncykKKyNlbmRpZgorCisjZWxzZSAvKiAhX19HTlVDX18gKi8KKyNkZWZpbmUgQVRUUklCVVRFX1VOVVNFRAorI2RlZmluZSBMSUJYTUxfQVRUUl9GT1JNQVQoZm10LGFyZ3MpCisjZGVmaW5lIEFUVFJJQlVURV9BTExPQ19TSVpFKHgpCisjZW5kaWYgLyogX19HTlVDX18gKi8KKworLyoKKyAqICNwcmFnbWEgY29tbWVudChsaWIsICJpY29udi5saWIiKQorICoKKyAqIHByYWdtYSB1bmRlcnN0b29kIG15IE1TIGNvbXBpbGVyIHdoaWNoIGVuYWJsZXMgYSBjb25kaXRpb25hbCBsaW5rIHdpdGgKKyAqIGljb252LgorICovCisjaWZkZWYgX01TQ19WRVIKKyNpZiBkZWZpbmVkIExJQlhNTF9JQ09OVl9FTkFCTEVEICYmICFkZWZpbmVkIExJQlhNTDJfQ09NUElMSU5HX01TQ0NERUYKKyNwcmFnbWEgY29tbWVudChsaWIsICJpY29udi5saWIiKQorI2VuZGlmCisjZW5kaWYKKworLyoKKyAqICNwcmFnbWEgY29tbWVudChsaWIsICJrZXJuZWwzMi5saWIiKQorICoKKyAqIHByYWdtYSB1bmRlcnN0b29kIG15IE1TIGNvbXBpbGVyIHdoaWNoIGVuYWJsZXMgYSBjb25kaXRpb25hbCBsaW5rIHdpdGgKKyAqIGtlcm5lbDMyLgorICovCisjaWZkZWYgX01TQ19WRVIKKyNpZiBkZWZpbmVkIExJQlhNTF9NT0RVTEVTX0VOQUJMRUQKKyNwcmFnbWEgY29tbWVudChsaWIsICJrZXJuZWwzMi5saWIiKQorI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYgLyogX19jcGx1c3BsdXMgKi8KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9pbmNsdWRlL2xpYnhtbC94bWx3cml0ZXIuaCBiL2xpYnhtbDIvaW5jbHVkZS9saWJ4bWwveG1sd3JpdGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGQ1YWRkMwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvaW5jbHVkZS9saWJ4bWwveG1sd3JpdGVyLmgKQEAgLTAsMCArMSw0ODggQEAKKy8qCisgKiBTdW1tYXJ5OiB0ZXh0IHdyaXRpbmcgQVBJIGZvciBYTUwKKyAqIERlc2NyaXB0aW9uOiB0ZXh0IHdyaXRpbmcgQVBJIGZvciBYTUwKKyAqCisgKiBDb3B5OiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisgKgorICogQXV0aG9yOiBBbGZyZWQgTWlja2F1dHNjaCA8YWxmcmVkQG1pY2thdXRzY2guZGU+CisgKi8KKworI2lmbmRlZiBfX1hNTF9YTUxXUklURVJfSF9fCisjZGVmaW5lIF9fWE1MX1hNTFdSSVRFUl9IX18KKworI2luY2x1ZGUgPGxpYnhtbC94bWx2ZXJzaW9uLmg+CisKKyNpZmRlZiBMSUJYTUxfV1JJVEVSX0VOQUJMRUQKKworI2luY2x1ZGUgPHN0ZGFyZy5oPgorI2luY2x1ZGUgPGxpYnhtbC94bWxJTy5oPgorI2luY2x1ZGUgPGxpYnhtbC9saXN0Lmg+CisjaW5jbHVkZSA8bGlieG1sL3htbHN0cmluZy5oPgorCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCisKKyAgICB0eXBlZGVmIHN0cnVjdCBfeG1sVGV4dFdyaXRlciB4bWxUZXh0V3JpdGVyOworICAgIHR5cGVkZWYgeG1sVGV4dFdyaXRlciAqeG1sVGV4dFdyaXRlclB0cjsKKworLyoKKyAqIENvbnN0cnVjdG9ycyAmIERlc3RydWN0b3IKKyAqLworICAgIFhNTFBVQkZVTiB4bWxUZXh0V3JpdGVyUHRyIFhNTENBTEwKKyAgICAgICAgeG1sTmV3VGV4dFdyaXRlcih4bWxPdXRwdXRCdWZmZXJQdHIgb3V0KTsKKyAgICBYTUxQVUJGVU4geG1sVGV4dFdyaXRlclB0ciBYTUxDQUxMCisgICAgICAgIHhtbE5ld1RleHRXcml0ZXJGaWxlbmFtZShjb25zdCBjaGFyICp1cmksIGludCBjb21wcmVzc2lvbik7CisgICAgWE1MUFVCRlVOIHhtbFRleHRXcml0ZXJQdHIgWE1MQ0FMTAorICAgICAgICB4bWxOZXdUZXh0V3JpdGVyTWVtb3J5KHhtbEJ1ZmZlclB0ciBidWYsIGludCBjb21wcmVzc2lvbik7CisgICAgWE1MUFVCRlVOIHhtbFRleHRXcml0ZXJQdHIgWE1MQ0FMTAorICAgICAgICB4bWxOZXdUZXh0V3JpdGVyUHVzaFBhcnNlcih4bWxQYXJzZXJDdHh0UHRyIGN0eHQsIGludCBjb21wcmVzc2lvbik7CisgICAgWE1MUFVCRlVOIHhtbFRleHRXcml0ZXJQdHIgWE1MQ0FMTAorICAgICAgICB4bWxOZXdUZXh0V3JpdGVyRG9jKHhtbERvY1B0ciAqIGRvYywgaW50IGNvbXByZXNzaW9uKTsKKyAgICBYTUxQVUJGVU4geG1sVGV4dFdyaXRlclB0ciBYTUxDQUxMCisgICAgICAgIHhtbE5ld1RleHRXcml0ZXJUcmVlKHhtbERvY1B0ciBkb2MsIHhtbE5vZGVQdHIgbm9kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGNvbXByZXNzaW9uKTsKKyAgICBYTUxQVUJGVU4gdm9pZCBYTUxDQUxMIHhtbEZyZWVUZXh0V3JpdGVyKHhtbFRleHRXcml0ZXJQdHIgd3JpdGVyKTsKKworLyoKKyAqIEZ1bmN0aW9ucworICovCisKKworLyoKKyAqIERvY3VtZW50CisgKi8KKyAgICBYTUxQVUJGVU4gaW50IFhNTENBTEwKKyAgICAgICAgeG1sVGV4dFdyaXRlclN0YXJ0RG9jdW1lbnQoeG1sVGV4dFdyaXRlclB0ciB3cml0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnZlcnNpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmVuY29kaW5nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpzdGFuZGFsb25lKTsKKyAgICBYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVGV4dFdyaXRlckVuZERvY3VtZW50KHhtbFRleHRXcml0ZXJQdHIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdyaXRlcik7CisKKy8qCisgKiBDb21tZW50cworICovCisgICAgWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFRleHRXcml0ZXJTdGFydENvbW1lbnQoeG1sVGV4dFdyaXRlclB0cgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdyaXRlcik7CisgICAgWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFRleHRXcml0ZXJFbmRDb21tZW50KHhtbFRleHRXcml0ZXJQdHIgd3JpdGVyKTsKKyAgICBYTUxQVUJGVU4gaW50IFhNTENBTEwKKyAgICAgICAgeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0Q29tbWVudCh4bWxUZXh0V3JpdGVyUHRyIHdyaXRlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpmb3JtYXQsIC4uLikKKwkJCQkJTElCWE1MX0FUVFJfRk9STUFUKDIsMyk7CisgICAgWE1MUFVCRlVOIGludCBYTUxDQUxMCisgICAgICAgIHhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRDb21tZW50KHhtbFRleHRXcml0ZXJQdHIgd3JpdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpmb3JtYXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhX2xpc3QgYXJncHRyKQorCQkJCQkgTElCWE1MX0FUVFJfRk9STUFUKDIsMCk7CisgICAgWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFRleHRXcml0ZXJXcml0ZUNvbW1lbnQoeG1sVGV4dFdyaXRlclB0cgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdyaXRlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50KTsKKworLyoKKyAqIEVsZW1lbnRzCisgKi8KKyAgICBYTUxQVUJGVU4gaW50IFhNTENBTEwKKyAgICAgICAgeG1sVGV4dFdyaXRlclN0YXJ0RWxlbWVudCh4bWxUZXh0V3JpdGVyUHRyIHdyaXRlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogbmFtZSk7CisgICAgWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFRleHRXcml0ZXJTdGFydEVsZW1lbnROUyh4bWxUZXh0V3JpdGVyUHRyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3cml0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZWZpeCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lc3BhY2VVUkkpOworICAgIFhNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxUZXh0V3JpdGVyRW5kRWxlbWVudCh4bWxUZXh0V3JpdGVyUHRyIHdyaXRlcik7CisgICAgWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFRleHRXcml0ZXJGdWxsRW5kRWxlbWVudCh4bWxUZXh0V3JpdGVyUHRyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3cml0ZXIpOworCisvKgorICogRWxlbWVudHMgY29udmVuaWVuY3kgZnVuY3Rpb25zCisgKi8KKyAgICBYTUxQVUJGVU4gaW50IFhNTENBTEwKKyAgICAgICAgeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RWxlbWVudCh4bWxUZXh0V3JpdGVyUHRyIHdyaXRlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpmb3JtYXQsIC4uLikKKwkJCQkJTElCWE1MX0FUVFJfRk9STUFUKDMsNCk7CisgICAgWE1MUFVCRlVOIGludCBYTUxDQUxMCisgICAgICAgIHhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRFbGVtZW50KHhtbFRleHRXcml0ZXJQdHIgd3JpdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZm9ybWF0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YV9saXN0IGFyZ3B0cikKKwkJCQkJIExJQlhNTF9BVFRSX0ZPUk1BVCgzLDApOworICAgIFhNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxUZXh0V3JpdGVyV3JpdGVFbGVtZW50KHhtbFRleHRXcml0ZXJQdHIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3cml0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIG5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudCk7CisgICAgWE1MUFVCRlVOIGludCBYTUxDQUxMCisgICAgICAgIHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdEVsZW1lbnROUyh4bWxUZXh0V3JpdGVyUHRyIHdyaXRlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBwcmVmaXgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBuYW1lc3BhY2VVUkksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpmb3JtYXQsIC4uLikKKwkJCQkJICBMSUJYTUxfQVRUUl9GT1JNQVQoNSw2KTsKKyAgICBYTUxQVUJGVU4gaW50IFhNTENBTEwKKyAgICAgICAgeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEVsZW1lbnROUyh4bWxUZXh0V3JpdGVyUHRyIHdyaXRlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogcHJlZml4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBuYW1lc3BhY2VVUkksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZm9ybWF0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhX2xpc3QgYXJncHRyKQorCQkJCQkgICBMSUJYTUxfQVRUUl9GT1JNQVQoNSwwKTsKKyAgICBYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVGV4dFdyaXRlcldyaXRlRWxlbWVudE5TKHhtbFRleHRXcml0ZXJQdHIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdyaXRlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJlZml4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIG5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWVzcGFjZVVSSSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudCk7CisKKy8qCisgKiBUZXh0CisgKi8KKyAgICBYTUxQVUJGVU4gaW50IFhNTENBTEwKKyAgICAgICAgeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0UmF3KHhtbFRleHRXcml0ZXJQdHIgd3JpdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZm9ybWF0LCAuLi4pCisJCQkJICAgIExJQlhNTF9BVFRSX0ZPUk1BVCgyLDMpOworICAgIFhNTFBVQkZVTiBpbnQgWE1MQ0FMTAorICAgICAgICB4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0UmF3KHhtbFRleHRXcml0ZXJQdHIgd3JpdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmZvcm1hdCwgdmFfbGlzdCBhcmdwdHIpCisJCQkJICAgICBMSUJYTUxfQVRUUl9GT1JNQVQoMiwwKTsKKyAgICBYTUxQVUJGVU4gaW50IFhNTENBTEwKKyAgICAgICAgeG1sVGV4dFdyaXRlcldyaXRlUmF3TGVuKHhtbFRleHRXcml0ZXJQdHIgd3JpdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIGNvbnRlbnQsIGludCBsZW4pOworICAgIFhNTFBVQkZVTiBpbnQgWE1MQ0FMTAorICAgICAgICB4bWxUZXh0V3JpdGVyV3JpdGVSYXcoeG1sVGV4dFdyaXRlclB0ciB3cml0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogY29udGVudCk7CisgICAgWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdFN0cmluZyh4bWxUZXh0V3JpdGVyUHRyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3cml0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqZm9ybWF0LCAuLi4pCisJCQkJCQkJIExJQlhNTF9BVFRSX0ZPUk1BVCgyLDMpOworICAgIFhNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0U3RyaW5nKHhtbFRleHRXcml0ZXJQdHIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3cml0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpmb3JtYXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFfbGlzdCBhcmdwdHIpCisJCQkJCQkJICBMSUJYTUxfQVRUUl9GT1JNQVQoMiwwKTsKKyAgICBYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVGV4dFdyaXRlcldyaXRlU3RyaW5nKHhtbFRleHRXcml0ZXJQdHIgd3JpdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50KTsKKyAgICBYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVGV4dFdyaXRlcldyaXRlQmFzZTY0KHhtbFRleHRXcml0ZXJQdHIgd3JpdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZGF0YSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzdGFydCwgaW50IGxlbik7CisgICAgWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFRleHRXcml0ZXJXcml0ZUJpbkhleCh4bWxUZXh0V3JpdGVyUHRyIHdyaXRlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmRhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3RhcnQsIGludCBsZW4pOworCisvKgorICogQXR0cmlidXRlcworICovCisgICAgWE1MUFVCRlVOIGludCBYTUxDQUxMCisgICAgICAgIHhtbFRleHRXcml0ZXJTdGFydEF0dHJpYnV0ZSh4bWxUZXh0V3JpdGVyUHRyIHdyaXRlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBuYW1lKTsKKyAgICBYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVGV4dFdyaXRlclN0YXJ0QXR0cmlidXRlTlMoeG1sVGV4dFdyaXRlclB0cgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3cml0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmVmaXgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZXNwYWNlVVJJKTsKKyAgICBYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVGV4dFdyaXRlckVuZEF0dHJpYnV0ZSh4bWxUZXh0V3JpdGVyUHRyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd3JpdGVyKTsKKworLyoKKyAqIEF0dHJpYnV0ZXMgY29udmVuaWVuY3kgZnVuY3Rpb25zCisgKi8KKyAgICBYTUxQVUJGVU4gaW50IFhNTENBTEwKKyAgICAgICAgeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0QXR0cmlidXRlKHhtbFRleHRXcml0ZXJQdHIgd3JpdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIG5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpmb3JtYXQsIC4uLikKKwkJCQkJICBMSUJYTUxfQVRUUl9GT1JNQVQoMyw0KTsKKyAgICBYTUxQVUJGVU4gaW50IFhNTENBTEwKKyAgICAgICAgeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEF0dHJpYnV0ZSh4bWxUZXh0V3JpdGVyUHRyIHdyaXRlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpmb3JtYXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFfbGlzdCBhcmdwdHIpCisJCQkJCSAgIExJQlhNTF9BVFRSX0ZPUk1BVCgzLDApOworICAgIFhNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxUZXh0V3JpdGVyV3JpdGVBdHRyaWJ1dGUoeG1sVGV4dFdyaXRlclB0cgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd3JpdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIG5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQpOworICAgIFhNTFBVQkZVTiBpbnQgWE1MQ0FMTAorICAgICAgICB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRBdHRyaWJ1dGVOUyh4bWxUZXh0V3JpdGVyUHRyIHdyaXRlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIHByZWZpeCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIG5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBuYW1lc3BhY2VVUkksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmZvcm1hdCwgLi4uKQorCQkJCQkgICAgTElCWE1MX0FUVFJfRk9STUFUKDUsNik7CisgICAgWE1MUFVCRlVOIGludCBYTUxDQUxMCisgICAgICAgIHhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRBdHRyaWJ1dGVOUyh4bWxUZXh0V3JpdGVyUHRyIHdyaXRlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBwcmVmaXgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBuYW1lc3BhY2VVUkksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpmb3JtYXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YV9saXN0IGFyZ3B0cikKKwkJCQkJICAgICBMSUJYTUxfQVRUUl9GT1JNQVQoNSwwKTsKKyAgICBYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVGV4dFdyaXRlcldyaXRlQXR0cmlidXRlTlMoeG1sVGV4dFdyaXRlclB0cgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3cml0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmVmaXgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZXNwYWNlVVJJLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudCk7CisKKy8qCisgKiBQSSdzCisgKi8KKyAgICBYTUxQVUJGVU4gaW50IFhNTENBTEwKKyAgICAgICAgeG1sVGV4dFdyaXRlclN0YXJ0UEkoeG1sVGV4dFdyaXRlclB0ciB3cml0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiB0YXJnZXQpOworICAgIFhNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxUZXh0V3JpdGVyRW5kUEkoeG1sVGV4dFdyaXRlclB0ciB3cml0ZXIpOworCisvKgorICogUEkgY29udmVuaWVuY3kgZnVuY3Rpb25zCisgKi8KKyAgICBYTUxQVUJGVU4gaW50IFhNTENBTEwKKyAgICAgICAgeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0UEkoeG1sVGV4dFdyaXRlclB0ciB3cml0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiB0YXJnZXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmZvcm1hdCwgLi4uKQorCQkJCSAgIExJQlhNTF9BVFRSX0ZPUk1BVCgzLDQpOworICAgIFhNTFBVQkZVTiBpbnQgWE1MQ0FMTAorICAgICAgICB4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0UEkoeG1sVGV4dFdyaXRlclB0ciB3cml0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogdGFyZ2V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZm9ybWF0LCB2YV9saXN0IGFyZ3B0cikKKwkJCQkgICAgTElCWE1MX0FUVFJfRk9STUFUKDMsMCk7CisgICAgWE1MUFVCRlVOIGludCBYTUxDQUxMCisgICAgICAgIHhtbFRleHRXcml0ZXJXcml0ZVBJKHhtbFRleHRXcml0ZXJQdHIgd3JpdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogdGFyZ2V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogY29udGVudCk7CisKKy8qKgorICogeG1sVGV4dFdyaXRlcldyaXRlUHJvY2Vzc2luZ0luc3RydWN0aW9uOgorICoKKyAqIFRoaXMgbWFjcm8gbWFwcyB0byB4bWxUZXh0V3JpdGVyV3JpdGVQSQorICovCisjZGVmaW5lIHhtbFRleHRXcml0ZXJXcml0ZVByb2Nlc3NpbmdJbnN0cnVjdGlvbiB4bWxUZXh0V3JpdGVyV3JpdGVQSQorCisvKgorICogQ0RBVEEKKyAqLworICAgIFhNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxUZXh0V3JpdGVyU3RhcnRDREFUQSh4bWxUZXh0V3JpdGVyUHRyIHdyaXRlcik7CisgICAgWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFRleHRXcml0ZXJFbmRDREFUQSh4bWxUZXh0V3JpdGVyUHRyIHdyaXRlcik7CisKKy8qCisgKiBDREFUQSBjb252ZW5pZW5jeSBmdW5jdGlvbnMKKyAqLworICAgIFhNTFBVQkZVTiBpbnQgWE1MQ0FMTAorICAgICAgICB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRDREFUQSh4bWxUZXh0V3JpdGVyUHRyIHdyaXRlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZm9ybWF0LCAuLi4pCisJCQkJICAgICAgTElCWE1MX0FUVFJfRk9STUFUKDIsMyk7CisgICAgWE1MUFVCRlVOIGludCBYTUxDQUxMCisgICAgICAgIHhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRDREFUQSh4bWxUZXh0V3JpdGVyUHRyIHdyaXRlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmZvcm1hdCwgdmFfbGlzdCBhcmdwdHIpCisJCQkJICAgICAgIExJQlhNTF9BVFRSX0ZPUk1BVCgyLDApOworICAgIFhNTFBVQkZVTiBpbnQgWE1MQ0FMTAorICAgICAgICB4bWxUZXh0V3JpdGVyV3JpdGVDREFUQSh4bWxUZXh0V3JpdGVyUHRyIHdyaXRlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIGNvbnRlbnQpOworCisvKgorICogRFRECisgKi8KKyAgICBYTUxQVUJGVU4gaW50IFhNTENBTEwKKyAgICAgICAgeG1sVGV4dFdyaXRlclN0YXJ0RFREKHhtbFRleHRXcml0ZXJQdHIgd3JpdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIG5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogcHViaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogc3lzaWQpOworICAgIFhNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxUZXh0V3JpdGVyRW5kRFREKHhtbFRleHRXcml0ZXJQdHIgd3JpdGVyKTsKKworLyoKKyAqIERURCBjb252ZW5pZW5jeSBmdW5jdGlvbnMKKyAqLworICAgIFhNTFBVQkZVTiBpbnQgWE1MQ0FMTAorICAgICAgICB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVEQoeG1sVGV4dFdyaXRlclB0ciB3cml0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBwdWJpZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBzeXNpZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmZvcm1hdCwgLi4uKQorCQkJCSAgICBMSUJYTUxfQVRUUl9GT1JNQVQoNSw2KTsKKyAgICBYTUxQVUJGVU4gaW50IFhNTENBTEwKKyAgICAgICAgeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERURCh4bWxUZXh0V3JpdGVyUHRyIHdyaXRlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogcHViaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIHN5c2lkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmZvcm1hdCwgdmFfbGlzdCBhcmdwdHIpCisJCQkJICAgICBMSUJYTUxfQVRUUl9GT1JNQVQoNSwwKTsKKyAgICBYTUxQVUJGVU4gaW50IFhNTENBTEwKKyAgICAgICAgeG1sVGV4dFdyaXRlcldyaXRlRFREKHhtbFRleHRXcml0ZXJQdHIgd3JpdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIG5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogcHViaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogc3lzaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogc3Vic2V0KTsKKworLyoqCisgKiB4bWxUZXh0V3JpdGVyV3JpdGVEb2NUeXBlOgorICoKKyAqIHRoaXMgbWFjcm8gbWFwcyB0byB4bWxUZXh0V3JpdGVyV3JpdGVEVEQKKyAqLworI2RlZmluZSB4bWxUZXh0V3JpdGVyV3JpdGVEb2NUeXBlIHhtbFRleHRXcml0ZXJXcml0ZURURAorCisvKgorICogRFREIGVsZW1lbnQgZGVmaW5pdGlvbgorICovCisgICAgWE1MUFVCRlVOIGludCBYTUxDQUxMCisgICAgICAgIHhtbFRleHRXcml0ZXJTdGFydERUREVsZW1lbnQoeG1sVGV4dFdyaXRlclB0ciB3cml0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIG5hbWUpOworICAgIFhNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxUZXh0V3JpdGVyRW5kRFRERWxlbWVudCh4bWxUZXh0V3JpdGVyUHRyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdyaXRlcik7CisKKy8qCisgKiBEVEQgZWxlbWVudCBkZWZpbml0aW9uIGNvbnZlbmllbmN5IGZ1bmN0aW9ucworICovCisgICAgWE1MUFVCRlVOIGludCBYTUxDQUxMCisgICAgICAgIHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdERUREVsZW1lbnQoeG1sVGV4dFdyaXRlclB0ciB3cml0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIG5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZm9ybWF0LCAuLi4pCisJCQkJCSAgIExJQlhNTF9BVFRSX0ZPUk1BVCgzLDQpOworICAgIFhNTFBVQkZVTiBpbnQgWE1MQ0FMTAorICAgICAgICB4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFRERWxlbWVudCh4bWxUZXh0V3JpdGVyUHRyIHdyaXRlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIG5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmZvcm1hdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFfbGlzdCBhcmdwdHIpCisJCQkJCSAgICBMSUJYTUxfQVRUUl9GT1JNQVQoMywwKTsKKyAgICBYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVGV4dFdyaXRlcldyaXRlRFRERWxlbWVudCh4bWxUZXh0V3JpdGVyUHRyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd3JpdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudCk7CisKKy8qCisgKiBEVEQgYXR0cmlidXRlIGxpc3QgZGVmaW5pdGlvbgorICovCisgICAgWE1MUFVCRlVOIGludCBYTUxDQUxMCisgICAgICAgIHhtbFRleHRXcml0ZXJTdGFydERUREF0dGxpc3QoeG1sVGV4dFdyaXRlclB0ciB3cml0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIG5hbWUpOworICAgIFhNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxUZXh0V3JpdGVyRW5kRFREQXR0bGlzdCh4bWxUZXh0V3JpdGVyUHRyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdyaXRlcik7CisKKy8qCisgKiBEVEQgYXR0cmlidXRlIGxpc3QgZGVmaW5pdGlvbiBjb252ZW5pZW5jeSBmdW5jdGlvbnMKKyAqLworICAgIFhNTFBVQkZVTiBpbnQgWE1MQ0FMTAorICAgICAgICB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVERBdHRsaXN0KHhtbFRleHRXcml0ZXJQdHIgd3JpdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmZvcm1hdCwgLi4uKQorCQkJCQkgICBMSUJYTUxfQVRUUl9GT1JNQVQoMyw0KTsKKyAgICBYTUxQVUJGVU4gaW50IFhNTENBTEwKKyAgICAgICAgeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREF0dGxpc3QoeG1sVGV4dFdyaXRlclB0ciB3cml0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpmb3JtYXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhX2xpc3QgYXJncHRyKQorCQkJCQkgICAgTElCWE1MX0FUVFJfRk9STUFUKDMsMCk7CisgICAgWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFRleHRXcml0ZXJXcml0ZURUREF0dGxpc3QoeG1sVGV4dFdyaXRlclB0cgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdyaXRlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQpOworCisvKgorICogRFREIGVudGl0eSBkZWZpbml0aW9uCisgKi8KKyAgICBYTUxQVUJGVU4gaW50IFhNTENBTEwKKyAgICAgICAgeG1sVGV4dFdyaXRlclN0YXJ0RFRERW50aXR5KHhtbFRleHRXcml0ZXJQdHIgd3JpdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHBlLCBjb25zdCB4bWxDaGFyICogbmFtZSk7CisgICAgWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFRleHRXcml0ZXJFbmREVERFbnRpdHkoeG1sVGV4dFdyaXRlclB0cgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdyaXRlcik7CisKKy8qCisgKiBEVEQgZW50aXR5IGRlZmluaXRpb24gY29udmVuaWVuY3kgZnVuY3Rpb25zCisgKi8KKyAgICBYTUxQVUJGVU4gaW50IFhNTENBTEwKKyAgICAgICAgeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFRESW50ZXJuYWxFbnRpdHkoeG1sVGV4dFdyaXRlclB0ciB3cml0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIG5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmZvcm1hdCwgLi4uKQorCQkJCQkJICBMSUJYTUxfQVRUUl9GT1JNQVQoNCw1KTsKKyAgICBYTUxQVUJGVU4gaW50IFhNTENBTEwKKyAgICAgICAgeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREludGVybmFsRW50aXR5KHhtbFRleHRXcml0ZXJQdHIgd3JpdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIG5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpmb3JtYXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YV9saXN0IGFyZ3B0cikKKwkJCQkJCSAgIExJQlhNTF9BVFRSX0ZPUk1BVCg0LDApOworICAgIFhNTFBVQkZVTiBpbnQgWE1MQ0FMTAorICAgICAgICB4bWxUZXh0V3JpdGVyV3JpdGVEVERJbnRlcm5hbEVudGl0eSh4bWxUZXh0V3JpdGVyUHRyIHdyaXRlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIGNvbnRlbnQpOworICAgIFhNTFBVQkZVTiBpbnQgWE1MQ0FMTAorICAgICAgICB4bWxUZXh0V3JpdGVyV3JpdGVEVERFeHRlcm5hbEVudGl0eSh4bWxUZXh0V3JpdGVyUHRyIHdyaXRlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIHB1YmlkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogc3lzaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBuZGF0YWlkKTsKKyAgICBYTUxQVUJGVU4gaW50IFhNTENBTEwKKyAgICAgICAgeG1sVGV4dFdyaXRlcldyaXRlRFRERXh0ZXJuYWxFbnRpdHlDb250ZW50cyh4bWxUZXh0V3JpdGVyUHRyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd3JpdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBwdWJpZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogc3lzaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmRhdGFpZCk7CisgICAgWE1MUFVCRlVOIGludCBYTUxDQUxMIHhtbFRleHRXcml0ZXJXcml0ZURUREVudGl0eSh4bWxUZXh0V3JpdGVyUHRyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3cml0ZXIsIGludCBwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJpZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3lzaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5kYXRhaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQpOworCisvKgorICogRFREIG5vdGF0aW9uIGRlZmluaXRpb24KKyAqLworICAgIFhNTFBVQkZVTiBpbnQgWE1MQ0FMTAorICAgICAgICB4bWxUZXh0V3JpdGVyV3JpdGVEVEROb3RhdGlvbih4bWxUZXh0V3JpdGVyUHRyIHdyaXRlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIG5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBwdWJpZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIHN5c2lkKTsKKworLyoKKyAqIEluZGVudGF0aW9uCisgKi8KKyAgICBYTUxQVUJGVU4gaW50IFhNTENBTEwKKyAgICAgICAgeG1sVGV4dFdyaXRlclNldEluZGVudCh4bWxUZXh0V3JpdGVyUHRyIHdyaXRlciwgaW50IGluZGVudCk7CisgICAgWE1MUFVCRlVOIGludCBYTUxDQUxMCisgICAgICAgIHhtbFRleHRXcml0ZXJTZXRJbmRlbnRTdHJpbmcoeG1sVGV4dFdyaXRlclB0ciB3cml0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIHN0cik7CisKKyAgICBYTUxQVUJGVU4gaW50IFhNTENBTEwKKyAgICAgICAgeG1sVGV4dFdyaXRlclNldFF1b3RlQ2hhcih4bWxUZXh0V3JpdGVyUHRyIHdyaXRlciwgeG1sQ2hhciBxdW90ZWNoYXIpOworCisKKy8qCisgKiBtaXNjCisgKi8KKyAgICBYTUxQVUJGVU4gaW50IFhNTENBTEwgeG1sVGV4dFdyaXRlckZsdXNoKHhtbFRleHRXcml0ZXJQdHIgd3JpdGVyKTsKKworI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKworI2VuZGlmIC8qIExJQlhNTF9XUklURVJfRU5BQkxFRCAqLworCisjZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIF9fWE1MX1hNTFdSSVRFUl9IX18gKi8KZGlmZiAtLWdpdCBhL2xpYnhtbDIvaW5jbHVkZS9saWJ4bWwveHBhdGguaCBiL2xpYnhtbDIvaW5jbHVkZS9saWJ4bWwveHBhdGguaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kOTY3NzZjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9pbmNsdWRlL2xpYnhtbC94cGF0aC5oCkBAIC0wLDAgKzEsNTU3IEBACisvKgorICogU3VtbWFyeTogWE1MIFBhdGggTGFuZ3VhZ2UgaW1wbGVtZW50YXRpb24KKyAqIERlc2NyaXB0aW9uOiBBUEkgZm9yIHRoZSBYTUwgUGF0aCBMYW5ndWFnZSBpbXBsZW1lbnRhdGlvbgorICoKKyAqIFhNTCBQYXRoIExhbmd1YWdlIGltcGxlbWVudGF0aW9uCisgKiBYUGF0aCBpcyBhIGxhbmd1YWdlIGZvciBhZGRyZXNzaW5nIHBhcnRzIG9mIGFuIFhNTCBkb2N1bWVudCwKKyAqIGRlc2lnbmVkIHRvIGJlIHVzZWQgYnkgYm90aCBYU0xUIGFuZCBYUG9pbnRlcgorICogICAgIGh0dHA6Ly93d3cudzMub3JnL1RSL3hwYXRoCisgKgorICogSW1wbGVtZW50cworICogVzNDIFJlY29tbWVuZGF0aW9uIDE2IE5vdmVtYmVyIDE5OTkKKyAqICAgICBodHRwOi8vd3d3LnczLm9yZy9UUi8xOTk5L1JFQy14cGF0aC0xOTk5MTExNgorICoKKyAqIENvcHk6IFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyAqCisgKiBBdXRob3I6IERhbmllbCBWZWlsbGFyZAorICovCisKKyNpZm5kZWYgX19YTUxfWFBBVEhfSF9fCisjZGVmaW5lIF9fWE1MX1hQQVRIX0hfXworCisjaW5jbHVkZSA8bGlieG1sL3htbHZlcnNpb24uaD4KKworI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECisKKyNpbmNsdWRlIDxsaWJ4bWwveG1sZXJyb3IuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvdHJlZS5oPgorI2luY2x1ZGUgPGxpYnhtbC9oYXNoLmg+CisjZW5kaWYgLyogTElCWE1MX1hQQVRIX0VOQUJMRUQgKi8KKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7CisjZW5kaWYKKyNlbmRpZiAvKiBMSUJYTUxfWFBBVEhfRU5BQkxFRCBvciBMSUJYTUxfU0NIRU1BU19FTkFCTEVEICovCisKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAorCit0eXBlZGVmIHN0cnVjdCBfeG1sWFBhdGhDb250ZXh0IHhtbFhQYXRoQ29udGV4dDsKK3R5cGVkZWYgeG1sWFBhdGhDb250ZXh0ICp4bWxYUGF0aENvbnRleHRQdHI7Cit0eXBlZGVmIHN0cnVjdCBfeG1sWFBhdGhQYXJzZXJDb250ZXh0IHhtbFhQYXRoUGFyc2VyQ29udGV4dDsKK3R5cGVkZWYgeG1sWFBhdGhQYXJzZXJDb250ZXh0ICp4bWxYUGF0aFBhcnNlckNvbnRleHRQdHI7CisKKy8qKgorICogVGhlIHNldCBvZiBYUGF0aCBlcnJvciBjb2Rlcy4KKyAqLworCit0eXBlZGVmIGVudW0geworICAgIFhQQVRIX0VYUFJFU1NJT05fT0sgPSAwLAorICAgIFhQQVRIX05VTUJFUl9FUlJPUiwKKyAgICBYUEFUSF9VTkZJTklTSEVEX0xJVEVSQUxfRVJST1IsCisgICAgWFBBVEhfU1RBUlRfTElURVJBTF9FUlJPUiwKKyAgICBYUEFUSF9WQVJJQUJMRV9SRUZfRVJST1IsCisgICAgWFBBVEhfVU5ERUZfVkFSSUFCTEVfRVJST1IsCisgICAgWFBBVEhfSU5WQUxJRF9QUkVESUNBVEVfRVJST1IsCisgICAgWFBBVEhfRVhQUl9FUlJPUiwKKyAgICBYUEFUSF9VTkNMT1NFRF9FUlJPUiwKKyAgICBYUEFUSF9VTktOT1dOX0ZVTkNfRVJST1IsCisgICAgWFBBVEhfSU5WQUxJRF9PUEVSQU5ELAorICAgIFhQQVRIX0lOVkFMSURfVFlQRSwKKyAgICBYUEFUSF9JTlZBTElEX0FSSVRZLAorICAgIFhQQVRIX0lOVkFMSURfQ1RYVF9TSVpFLAorICAgIFhQQVRIX0lOVkFMSURfQ1RYVF9QT1NJVElPTiwKKyAgICBYUEFUSF9NRU1PUllfRVJST1IsCisgICAgWFBUUl9TWU5UQVhfRVJST1IsCisgICAgWFBUUl9SRVNPVVJDRV9FUlJPUiwKKyAgICBYUFRSX1NVQl9SRVNPVVJDRV9FUlJPUiwKKyAgICBYUEFUSF9VTkRFRl9QUkVGSVhfRVJST1IsCisgICAgWFBBVEhfRU5DT0RJTkdfRVJST1IsCisgICAgWFBBVEhfSU5WQUxJRF9DSEFSX0VSUk9SLAorICAgIFhQQVRIX0lOVkFMSURfQ1RYVCwKKyAgICBYUEFUSF9TVEFDS19FUlJPUiwKKyAgICBYUEFUSF9GT1JCSURfVkFSSUFCTEVfRVJST1IKK30geG1sWFBhdGhFcnJvcjsKKworLyoKKyAqIEEgbm9kZS1zZXQgKGFuIHVub3JkZXJlZCBjb2xsZWN0aW9uIG9mIG5vZGVzIHdpdGhvdXQgZHVwbGljYXRlcykuCisgKi8KK3R5cGVkZWYgc3RydWN0IF94bWxOb2RlU2V0IHhtbE5vZGVTZXQ7Cit0eXBlZGVmIHhtbE5vZGVTZXQgKnhtbE5vZGVTZXRQdHI7CitzdHJ1Y3QgX3htbE5vZGVTZXQgeworICAgIGludCBub2RlTnI7CQkJLyogbnVtYmVyIG9mIG5vZGVzIGluIHRoZSBzZXQgKi8KKyAgICBpbnQgbm9kZU1heDsJCS8qIHNpemUgb2YgdGhlIGFycmF5IGFzIGFsbG9jYXRlZCAqLworICAgIHhtbE5vZGVQdHIgKm5vZGVUYWI7CS8qIGFycmF5IG9mIG5vZGVzIGluIG5vIHBhcnRpY3VsYXIgb3JkZXIgKi8KKyAgICAvKiBAQCB3aXRoX25zIHRvIGNoZWNrIHdldGhlciBuYW1lc3BhY2Ugbm9kZXMgc2hvdWxkIGJlIGxvb2tlZCBhdCBAQCAqLworfTsKKworLyoKKyAqIEFuIGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIHRvIHlpZWxkIGFuIG9iamVjdCwgd2hpY2gKKyAqIGhhcyBvbmUgb2YgdGhlIGZvbGxvd2luZyBmb3VyIGJhc2ljIHR5cGVzOgorICogICAtIG5vZGUtc2V0CisgKiAgIC0gYm9vbGVhbgorICogICAtIG51bWJlcgorICogICAtIHN0cmluZworICoKKyAqIEBAIFhQb2ludGVyIHdpbGwgYWRkIG1vcmUgdHlwZXMgIQorICovCisKK3R5cGVkZWYgZW51bSB7CisgICAgWFBBVEhfVU5ERUZJTkVEID0gMCwKKyAgICBYUEFUSF9OT0RFU0VUID0gMSwKKyAgICBYUEFUSF9CT09MRUFOID0gMiwKKyAgICBYUEFUSF9OVU1CRVIgPSAzLAorICAgIFhQQVRIX1NUUklORyA9IDQsCisgICAgWFBBVEhfUE9JTlQgPSA1LAorICAgIFhQQVRIX1JBTkdFID0gNiwKKyAgICBYUEFUSF9MT0NBVElPTlNFVCA9IDcsCisgICAgWFBBVEhfVVNFUlMgPSA4LAorICAgIFhQQVRIX1hTTFRfVFJFRSA9IDkgIC8qIEFuIFhTTFQgdmFsdWUgdHJlZSwgbm9uIG1vZGlmaWFibGUgKi8KK30geG1sWFBhdGhPYmplY3RUeXBlOworCit0eXBlZGVmIHN0cnVjdCBfeG1sWFBhdGhPYmplY3QgeG1sWFBhdGhPYmplY3Q7Cit0eXBlZGVmIHhtbFhQYXRoT2JqZWN0ICp4bWxYUGF0aE9iamVjdFB0cjsKK3N0cnVjdCBfeG1sWFBhdGhPYmplY3QgeworICAgIHhtbFhQYXRoT2JqZWN0VHlwZSB0eXBlOworICAgIHhtbE5vZGVTZXRQdHIgbm9kZXNldHZhbDsKKyAgICBpbnQgYm9vbHZhbDsKKyAgICBkb3VibGUgZmxvYXR2YWw7CisgICAgeG1sQ2hhciAqc3RyaW5ndmFsOworICAgIHZvaWQgKnVzZXI7CisgICAgaW50IGluZGV4OworICAgIHZvaWQgKnVzZXIyOworICAgIGludCBpbmRleDI7Cit9OworCisvKioKKyAqIHhtbFhQYXRoQ29udmVydEZ1bmM6CisgKiBAb2JqOiAgYW4gWFBhdGggb2JqZWN0CisgKiBAdHlwZTogIHRoZSBudW1iZXIgb2YgdGhlIHRhcmdldCB0eXBlCisgKgorICogQSBjb252ZXJzaW9uIGZ1bmN0aW9uIGlzIGFzc29jaWF0ZWQgdG8gYSB0eXBlIGFuZCB1c2VkIHRvIGNhc3QKKyAqIHRoZSBuZXcgdHlwZSB0byBwcmltaXRpdmUgdmFsdWVzLgorICoKKyAqIFJldHVybnMgLTEgaW4gY2FzZSBvZiBlcnJvciwgMCBvdGhlcndpc2UKKyAqLwordHlwZWRlZiBpbnQgKCp4bWxYUGF0aENvbnZlcnRGdW5jKSAoeG1sWFBhdGhPYmplY3RQdHIgb2JqLCBpbnQgdHlwZSk7CisKKy8qCisgKiBFeHRyYSB0eXBlOiBhIG5hbWUgYW5kIGEgY29udmVyc2lvbiBmdW5jdGlvbi4KKyAqLworCit0eXBlZGVmIHN0cnVjdCBfeG1sWFBhdGhUeXBlIHhtbFhQYXRoVHlwZTsKK3R5cGVkZWYgeG1sWFBhdGhUeXBlICp4bWxYUGF0aFR5cGVQdHI7CitzdHJ1Y3QgX3htbFhQYXRoVHlwZSB7CisgICAgY29uc3QgeG1sQ2hhciAgICAgICAgICpuYW1lOwkJLyogdGhlIHR5cGUgbmFtZSAqLworICAgIHhtbFhQYXRoQ29udmVydEZ1bmMgZnVuYzsJCS8qIHRoZSBjb252ZXJzaW9uIGZ1bmN0aW9uICovCit9OworCisvKgorICogRXh0cmEgdmFyaWFibGU6IGEgbmFtZSBhbmQgYSB2YWx1ZS4KKyAqLworCit0eXBlZGVmIHN0cnVjdCBfeG1sWFBhdGhWYXJpYWJsZSB4bWxYUGF0aFZhcmlhYmxlOwordHlwZWRlZiB4bWxYUGF0aFZhcmlhYmxlICp4bWxYUGF0aFZhcmlhYmxlUHRyOworc3RydWN0IF94bWxYUGF0aFZhcmlhYmxlIHsKKyAgICBjb25zdCB4bWxDaGFyICAgICAgICpuYW1lOwkJLyogdGhlIHZhcmlhYmxlIG5hbWUgKi8KKyAgICB4bWxYUGF0aE9iamVjdFB0ciB2YWx1ZTsJCS8qIHRoZSB2YWx1ZSAqLworfTsKKworLyoqCisgKiB4bWxYUGF0aEV2YWxGdW5jOgorICogQGN0eHQ6IGFuIFhQYXRoIHBhcnNlciBjb250ZXh0CisgKiBAbmFyZ3M6IHRoZSBudW1iZXIgb2YgYXJndW1lbnRzIHBhc3NlZCB0byB0aGUgZnVuY3Rpb24KKyAqCisgKiBBbiBYUGF0aCBldmFsdWF0aW9uIGZ1bmN0aW9uLCB0aGUgcGFyYW1ldGVycyBhcmUgb24gdGhlIFhQYXRoIGNvbnRleHQgc3RhY2suCisgKi8KKwordHlwZWRlZiB2b2lkICgqeG1sWFBhdGhFdmFsRnVuYykoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQsCisJICAgICAgICAgICAgICAgICAgICAgICAgIGludCBuYXJncyk7CisKKy8qCisgKiBFeHRyYSBmdW5jdGlvbjogYSBuYW1lIGFuZCBhIGV2YWx1YXRpb24gZnVuY3Rpb24uCisgKi8KKwordHlwZWRlZiBzdHJ1Y3QgX3htbFhQYXRoRnVuY3QgeG1sWFBhdGhGdW5jdDsKK3R5cGVkZWYgeG1sWFBhdGhGdW5jdCAqeG1sWFBhdGhGdW5jUHRyOworc3RydWN0IF94bWxYUGF0aEZ1bmN0IHsKKyAgICBjb25zdCB4bWxDaGFyICAgICAgKm5hbWU7CQkvKiB0aGUgZnVuY3Rpb24gbmFtZSAqLworICAgIHhtbFhQYXRoRXZhbEZ1bmMgZnVuYzsJCS8qIHRoZSBldmFsdWF0aW9uIGZ1bmN0aW9uICovCit9OworCisvKioKKyAqIHhtbFhQYXRoQXhpc0Z1bmM6CisgKiBAY3R4dDogIHRoZSBYUGF0aCBpbnRlcnByZXRlciBjb250ZXh0CisgKiBAY3VyOiAgdGhlIHByZXZpb3VzIG5vZGUgYmVpbmcgZXhwbG9yZWQgb24gdGhhdCBheGlzCisgKgorICogQW4gYXhpcyB0cmF2ZXJzYWwgZnVuY3Rpb24uIFRvIHRyYXZlcnNlIGFuIGF4aXMsIHRoZSBlbmdpbmUgY2FsbHMKKyAqIHRoZSBmaXJzdCB0aW1lIHdpdGggY3VyID09IE5VTEwgYW5kIHJlcGVhdCB1bnRpbCB0aGUgZnVuY3Rpb24gcmV0dXJucworICogTlVMTCBpbmRpY2F0aW5nIHRoZSBlbmQgb2YgdGhlIGF4aXMgdHJhdmVyc2FsLgorICoKKyAqIFJldHVybnMgdGhlIG5leHQgbm9kZSBpbiB0aGF0IGF4aXMgb3IgTlVMTCBpZiBhdCB0aGUgZW5kIG9mIHRoZSBheGlzLgorICovCisKK3R5cGVkZWYgeG1sWFBhdGhPYmplY3RQdHIgKCp4bWxYUGF0aEF4aXNGdW5jKSAoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQsCisJCQkJIHhtbFhQYXRoT2JqZWN0UHRyIGN1cik7CisKKy8qCisgKiBFeHRyYSBheGlzOiBhIG5hbWUgYW5kIGFuIGF4aXMgZnVuY3Rpb24uCisgKi8KKwordHlwZWRlZiBzdHJ1Y3QgX3htbFhQYXRoQXhpcyB4bWxYUGF0aEF4aXM7Cit0eXBlZGVmIHhtbFhQYXRoQXhpcyAqeG1sWFBhdGhBeGlzUHRyOworc3RydWN0IF94bWxYUGF0aEF4aXMgeworICAgIGNvbnN0IHhtbENoYXIgICAgICAqbmFtZTsJCS8qIHRoZSBheGlzIG5hbWUgKi8KKyAgICB4bWxYUGF0aEF4aXNGdW5jIGZ1bmM7CQkvKiB0aGUgc2VhcmNoIGZ1bmN0aW9uICovCit9OworCisvKioKKyAqIHhtbFhQYXRoRnVuY3Rpb246CisgKiBAY3R4dDogIHRoZSBYUGF0aCBpbnRlcnByZXN0YXRpb24gY29udGV4dAorICogQG5hcmdzOiAgdGhlIG51bWJlciBvZiBhcmd1bWVudHMKKyAqCisgKiBBbiBYUGF0aCBmdW5jdGlvbi4KKyAqIFRoZSBhcmd1bWVudHMgKGlmIGFueSkgYXJlIHBvcHBlZCBvdXQgZnJvbSB0aGUgY29udGV4dCBzdGFjaworICogYW5kIHRoZSByZXN1bHQgaXMgcHVzaGVkIG9uIHRoZSBzdGFjay4KKyAqLworCit0eXBlZGVmIHZvaWQgKCp4bWxYUGF0aEZ1bmN0aW9uKSAoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQsIGludCBuYXJncyk7CisKKy8qCisgKiBGdW5jdGlvbiBhbmQgVmFyaWFibGUgTG9va3VwLgorICovCisKKy8qKgorICogeG1sWFBhdGhWYXJpYWJsZUxvb2t1cEZ1bmM6CisgKiBAY3R4dDogIGFuIFhQYXRoIGNvbnRleHQKKyAqIEBuYW1lOiAgbmFtZSBvZiB0aGUgdmFyaWFibGUKKyAqIEBuc191cmk6ICB0aGUgbmFtZXNwYWNlIG5hbWUgaG9zdGluZyB0aGlzIHZhcmlhYmxlCisgKgorICogUHJvdG90eXBlIGZvciBjYWxsYmFja3MgdXNlZCB0byBwbHVnIHZhcmlhYmxlIGxvb2t1cCBpbiB0aGUgWFBhdGgKKyAqIGVuZ2luZS4KKyAqCisgKiBSZXR1cm5zIHRoZSBYUGF0aCBvYmplY3QgdmFsdWUgb3IgTlVMTCBpZiBub3QgZm91bmQuCisgKi8KK3R5cGVkZWYgeG1sWFBhdGhPYmplY3RQdHIgKCp4bWxYUGF0aFZhcmlhYmxlTG9va3VwRnVuYykgKHZvaWQgKmN0eHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKm5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKm5zX3VyaSk7CisKKy8qKgorICogeG1sWFBhdGhGdW5jTG9va3VwRnVuYzoKKyAqIEBjdHh0OiAgYW4gWFBhdGggY29udGV4dAorICogQG5hbWU6ICBuYW1lIG9mIHRoZSBmdW5jdGlvbgorICogQG5zX3VyaTogIHRoZSBuYW1lc3BhY2UgbmFtZSBob3N0aW5nIHRoaXMgZnVuY3Rpb24KKyAqCisgKiBQcm90b3R5cGUgZm9yIGNhbGxiYWNrcyB1c2VkIHRvIHBsdWcgZnVuY3Rpb24gbG9va3VwIGluIHRoZSBYUGF0aAorICogZW5naW5lLgorICoKKyAqIFJldHVybnMgdGhlIFhQYXRoIGZ1bmN0aW9uIG9yIE5VTEwgaWYgbm90IGZvdW5kLgorICovCit0eXBlZGVmIHhtbFhQYXRoRnVuY3Rpb24gKCp4bWxYUGF0aEZ1bmNMb29rdXBGdW5jKSAodm9pZCAqY3R4dCwKKwkJCQkJIGNvbnN0IHhtbENoYXIgKm5hbWUsCisJCQkJCSBjb25zdCB4bWxDaGFyICpuc191cmkpOworCisvKioKKyAqIHhtbFhQYXRoRmxhZ3M6CisgKiBGbGFncyBmb3IgWFBhdGggZW5naW5lIGNvbXBpbGF0aW9uIGFuZCBydW50aW1lCisgKi8KKy8qKgorICogWE1MX1hQQVRIX0NIRUNLTlM6CisgKgorICogY2hlY2sgbmFtZXNwYWNlcyBhdCBjb21waWxhdGlvbgorICovCisjZGVmaW5lIFhNTF9YUEFUSF9DSEVDS05TICgxPDwwKQorLyoqCisgKiBYTUxfWFBBVEhfTk9WQVI6CisgKgorICogZm9yYmlkIHZhcmlhYmxlcyBpbiBleHByZXNzaW9uCisgKi8KKyNkZWZpbmUgWE1MX1hQQVRIX05PVkFSCSAgKDE8PDEpCisKKy8qKgorICogeG1sWFBhdGhDb250ZXh0OgorICoKKyAqIEV4cHJlc3Npb24gZXZhbHVhdGlvbiBvY2N1cnMgd2l0aCByZXNwZWN0IHRvIGEgY29udGV4dC4KKyAqIGhlIGNvbnRleHQgY29uc2lzdHMgb2Y6CisgKiAgICAtIGEgbm9kZSAodGhlIGNvbnRleHQgbm9kZSkKKyAqICAgIC0gYSBub2RlIGxpc3QgKHRoZSBjb250ZXh0IG5vZGUgbGlzdCkKKyAqICAgIC0gYSBzZXQgb2YgdmFyaWFibGUgYmluZGluZ3MKKyAqICAgIC0gYSBmdW5jdGlvbiBsaWJyYXJ5CisgKiAgICAtIHRoZSBzZXQgb2YgbmFtZXNwYWNlIGRlY2xhcmF0aW9ucyBpbiBzY29wZSBmb3IgdGhlIGV4cHJlc3Npb24KKyAqIEZvbGxvd2luZyB0aGUgc3dpdGNoIHRvIGhhc2ggdGFibGVzLCB0aGlzIG5lZWQgdG8gYmUgdHJpbW1lZCB1cCBhdAorICogdGhlIG5leHQgYmluYXJ5IGluY29tcGF0aWJsZSByZWxlYXNlLgorICogVGhlIG5vZGUgbWF5IGJlIG1vZGlmaWVkIHdoZW4gdGhlIGNvbnRleHQgaXMgcGFzc2VkIHRvIGxpYnhtbDIKKyAqIGZvciBhbiBYUGF0aCBldmFsdWF0aW9uIHNvIHlvdSBtYXkgbmVlZCB0byBpbml0aWFsaXplIGl0IGFnYWluCisgKiBiZWZvcmUgdGhlIG5leHQgY2FsbC4KKyAqLworCitzdHJ1Y3QgX3htbFhQYXRoQ29udGV4dCB7CisgICAgeG1sRG9jUHRyIGRvYzsJCQkvKiBUaGUgY3VycmVudCBkb2N1bWVudCAqLworICAgIHhtbE5vZGVQdHIgbm9kZTsJCQkvKiBUaGUgY3VycmVudCBub2RlICovCisKKyAgICBpbnQgbmJfdmFyaWFibGVzX3VudXNlZDsJCS8qIHVudXNlZCAoaGFzaCB0YWJsZSkgKi8KKyAgICBpbnQgbWF4X3ZhcmlhYmxlc191bnVzZWQ7CQkvKiB1bnVzZWQgKGhhc2ggdGFibGUpICovCisgICAgeG1sSGFzaFRhYmxlUHRyIHZhckhhc2g7CQkvKiBIYXNoIHRhYmxlIG9mIGRlZmluZWQgdmFyaWFibGVzICovCisKKyAgICBpbnQgbmJfdHlwZXM7CQkJLyogbnVtYmVyIG9mIGRlZmluZWQgdHlwZXMgKi8KKyAgICBpbnQgbWF4X3R5cGVzOwkJCS8qIG1heCBudW1iZXIgb2YgdHlwZXMgKi8KKyAgICB4bWxYUGF0aFR5cGVQdHIgdHlwZXM7CQkvKiBBcnJheSBvZiBkZWZpbmVkIHR5cGVzICovCisKKyAgICBpbnQgbmJfZnVuY3NfdW51c2VkOwkJLyogdW51c2VkIChoYXNoIHRhYmxlKSAqLworICAgIGludCBtYXhfZnVuY3NfdW51c2VkOwkJLyogdW51c2VkIChoYXNoIHRhYmxlKSAqLworICAgIHhtbEhhc2hUYWJsZVB0ciBmdW5jSGFzaDsJCS8qIEhhc2ggdGFibGUgb2YgZGVmaW5lZCBmdW5jcyAqLworCisgICAgaW50IG5iX2F4aXM7CQkJLyogbnVtYmVyIG9mIGRlZmluZWQgYXhpcyAqLworICAgIGludCBtYXhfYXhpczsJCQkvKiBtYXggbnVtYmVyIG9mIGF4aXMgKi8KKyAgICB4bWxYUGF0aEF4aXNQdHIgYXhpczsJCS8qIEFycmF5IG9mIGRlZmluZWQgYXhpcyAqLworCisgICAgLyogdGhlIG5hbWVzcGFjZSBub2RlcyBvZiB0aGUgY29udGV4dCBub2RlICovCisgICAgeG1sTnNQdHIgKm5hbWVzcGFjZXM7CQkvKiBBcnJheSBvZiBuYW1lc3BhY2VzICovCisgICAgaW50IG5zTnI7CQkJCS8qIG51bWJlciBvZiBuYW1lc3BhY2UgaW4gc2NvcGUgKi8KKyAgICB2b2lkICp1c2VyOwkJCQkvKiBmdW5jdGlvbiB0byBmcmVlICovCisKKyAgICAvKiBleHRyYSB2YXJpYWJsZXMgKi8KKyAgICBpbnQgY29udGV4dFNpemU7CQkJLyogdGhlIGNvbnRleHQgc2l6ZSAqLworICAgIGludCBwcm94aW1pdHlQb3NpdGlvbjsJCS8qIHRoZSBwcm94aW1pdHkgcG9zaXRpb24gKi8KKworICAgIC8qIGV4dHJhIHN0dWZmIGZvciBYUG9pbnRlciAqLworICAgIGludCB4cHRyOwkJCQkvKiBpcyB0aGlzIGFuIFhQb2ludGVyIGNvbnRleHQ/ICovCisgICAgeG1sTm9kZVB0ciBoZXJlOwkJCS8qIGZvciBoZXJlKCkgKi8KKyAgICB4bWxOb2RlUHRyIG9yaWdpbjsJCQkvKiBmb3Igb3JpZ2luKCkgKi8KKworICAgIC8qIHRoZSBzZXQgb2YgbmFtZXNwYWNlIGRlY2xhcmF0aW9ucyBpbiBzY29wZSBmb3IgdGhlIGV4cHJlc3Npb24gKi8KKyAgICB4bWxIYXNoVGFibGVQdHIgbnNIYXNoOwkJLyogVGhlIG5hbWVzcGFjZXMgaGFzaCB0YWJsZSAqLworICAgIHhtbFhQYXRoVmFyaWFibGVMb29rdXBGdW5jIHZhckxvb2t1cEZ1bmM7LyogdmFyaWFibGUgbG9va3VwIGZ1bmMgKi8KKyAgICB2b2lkICp2YXJMb29rdXBEYXRhOwkJLyogdmFyaWFibGUgbG9va3VwIGRhdGEgKi8KKworICAgIC8qIFBvc3NpYmlsaXR5IHRvIGxpbmsgaW4gYW4gZXh0cmEgaXRlbSAqLworICAgIHZvaWQgKmV4dHJhOyAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5lZWRlZCBmb3IgWFNMVCAqLworCisgICAgLyogVGhlIGZ1bmN0aW9uIG5hbWUgYW5kIFVSSSB3aGVuIGNhbGxpbmcgYSBmdW5jdGlvbiAqLworICAgIGNvbnN0IHhtbENoYXIgKmZ1bmN0aW9uOworICAgIGNvbnN0IHhtbENoYXIgKmZ1bmN0aW9uVVJJOworCisgICAgLyogZnVuY3Rpb24gbG9va3VwIGZ1bmN0aW9uIGFuZCBkYXRhICovCisgICAgeG1sWFBhdGhGdW5jTG9va3VwRnVuYyBmdW5jTG9va3VwRnVuYzsvKiBmdW5jdGlvbiBsb29rdXAgZnVuYyAqLworICAgIHZvaWQgKmZ1bmNMb29rdXBEYXRhOwkJLyogZnVuY3Rpb24gbG9va3VwIGRhdGEgKi8KKworICAgIC8qIHRlbXBvcmFyeSBuYW1lc3BhY2UgbGlzdHMga2VwdCBmb3Igd2Fsa2luZyB0aGUgbmFtZXNwYWNlIGF4aXMgKi8KKyAgICB4bWxOc1B0ciAqdG1wTnNMaXN0OwkJLyogQXJyYXkgb2YgbmFtZXNwYWNlcyAqLworICAgIGludCB0bXBOc05yOwkJCS8qIG51bWJlciBvZiBuYW1lc3BhY2VzIGluIHNjb3BlICovCisKKyAgICAvKiBlcnJvciByZXBvcnRpbmcgbWVjaGFuaXNtICovCisgICAgdm9pZCAqdXNlckRhdGE7ICAgICAgICAgICAgICAgICAgICAgLyogdXNlciBzcGVjaWZpYyBkYXRhIGJsb2NrICovCisgICAgeG1sU3RydWN0dXJlZEVycm9yRnVuYyBlcnJvcjsgICAgICAgLyogdGhlIGNhbGxiYWNrIGluIGNhc2Ugb2YgZXJyb3JzICovCisgICAgeG1sRXJyb3IgbGFzdEVycm9yOwkJCS8qIHRoZSBsYXN0IGVycm9yICovCisgICAgeG1sTm9kZVB0ciBkZWJ1Z05vZGU7CQkvKiB0aGUgc291cmNlIG5vZGUgWFNMVCAqLworCisgICAgLyogZGljdGlvbmFyeSAqLworICAgIHhtbERpY3RQdHIgZGljdDsJCQkvKiBkaWN0aW9uYXJ5IGlmIGFueSAqLworCisgICAgaW50IGZsYWdzOwkJCQkvKiBmbGFncyB0byBjb250cm9sIGNvbXBpbGF0aW9uICovCisKKyAgICAvKiBDYWNoZSBmb3IgcmV1c2FsIG9mIFhQYXRoIG9iamVjdHMgKi8KKyAgICB2b2lkICpjYWNoZTsKK307CisKKy8qCisgKiBUaGUgc3RydWN0dXJlIG9mIGEgY29tcGlsZWQgZXhwcmVzc2lvbiBmb3JtIGlzIG5vdCBwdWJsaWMuCisgKi8KKwordHlwZWRlZiBzdHJ1Y3QgX3htbFhQYXRoQ29tcEV4cHIgeG1sWFBhdGhDb21wRXhwcjsKK3R5cGVkZWYgeG1sWFBhdGhDb21wRXhwciAqeG1sWFBhdGhDb21wRXhwclB0cjsKKworLyoqCisgKiB4bWxYUGF0aFBhcnNlckNvbnRleHQ6CisgKgorICogQW4gWFBhdGggcGFyc2VyIGNvbnRleHQuIEl0IGNvbnRhaW5zIHB1cmUgcGFyc2luZyBpbmZvcm1hdGlvbnMsCisgKiBhbiB4bWxYUGF0aENvbnRleHQsIGFuZCB0aGUgc3RhY2sgb2Ygb2JqZWN0cy4KKyAqLworc3RydWN0IF94bWxYUGF0aFBhcnNlckNvbnRleHQgeworICAgIGNvbnN0IHhtbENoYXIgKmN1cjsJCQkvKiB0aGUgY3VycmVudCBjaGFyIGJlaW5nIHBhcnNlZCAqLworICAgIGNvbnN0IHhtbENoYXIgKmJhc2U7CQkJLyogdGhlIGZ1bGwgZXhwcmVzc2lvbiAqLworCisgICAgaW50IGVycm9yOwkJCQkvKiBlcnJvciBjb2RlICovCisKKyAgICB4bWxYUGF0aENvbnRleHRQdHIgIGNvbnRleHQ7CS8qIHRoZSBldmFsdWF0aW9uIGNvbnRleHQgKi8KKyAgICB4bWxYUGF0aE9iamVjdFB0ciAgICAgdmFsdWU7CS8qIHRoZSBjdXJyZW50IHZhbHVlICovCisgICAgaW50ICAgICAgICAgICAgICAgICB2YWx1ZU5yOwkvKiBudW1iZXIgb2YgdmFsdWVzIHN0YWNrZWQgKi8KKyAgICBpbnQgICAgICAgICAgICAgICAgdmFsdWVNYXg7CS8qIG1heCBudW1iZXIgb2YgdmFsdWVzIHN0YWNrZWQgKi8KKyAgICB4bWxYUGF0aE9iamVjdFB0ciAqdmFsdWVUYWI7CS8qIHN0YWNrIG9mIHZhbHVlcyAqLworCisgICAgeG1sWFBhdGhDb21wRXhwclB0ciBjb21wOwkJLyogdGhlIHByZWNvbXBpbGVkIGV4cHJlc3Npb24gKi8KKyAgICBpbnQgeHB0cjsJCQkJLyogaXQgdGhpcyBhbiBYUG9pbnRlciBleHByZXNzaW9uICovCisgICAgeG1sTm9kZVB0ciAgICAgICAgIGFuY2VzdG9yOwkvKiB1c2VkIGZvciB3YWxraW5nIHByZWNlZGluZyBheGlzICovCisKKyAgICBpbnQgICAgICAgICAgICAgIHZhbHVlRnJhbWU7ICAgICAgICAvKiB1c2VkIHRvIGxpbWl0IFBvcCBvbiB0aGUgc3RhY2sgKi8KK307CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCQlQdWJsaWMgQVBJCQkJCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKgorICogT2JqZWN0cyBhbmQgTm9kZXNldHMgaGFuZGxpbmcKKyAqLworCitYTUxQVUJWQVIgZG91YmxlIHhtbFhQYXRoTkFOOworWE1MUFVCVkFSIGRvdWJsZSB4bWxYUGF0aFBJTkY7CitYTUxQVUJWQVIgZG91YmxlIHhtbFhQYXRoTklORjsKKworLyogVGhlc2UgbWFjcm9zIG1heSBsYXRlciB0dXJuIGludG8gZnVuY3Rpb25zICovCisvKioKKyAqIHhtbFhQYXRoTm9kZVNldEdldExlbmd0aDoKKyAqIEBuczogIGEgbm9kZS1zZXQKKyAqCisgKiBJbXBsZW1lbnQgYSBmdW5jdGlvbmFsaXR5IHNpbWlsYXIgdG8gdGhlIERPTSBOb2RlTGlzdC5sZW5ndGguCisgKgorICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIG5vZGVzIGluIHRoZSBub2RlLXNldC4KKyAqLworI2RlZmluZSB4bWxYUGF0aE5vZGVTZXRHZXRMZW5ndGgobnMpICgobnMpID8gKG5zKS0+bm9kZU5yIDogMCkKKy8qKgorICogeG1sWFBhdGhOb2RlU2V0SXRlbToKKyAqIEBuczogIGEgbm9kZS1zZXQKKyAqIEBpbmRleDogIGluZGV4IG9mIGEgbm9kZSBpbiB0aGUgc2V0CisgKgorICogSW1wbGVtZW50cyBhIGZ1bmN0aW9uYWxpdHkgc2ltaWxhciB0byB0aGUgRE9NIE5vZGVMaXN0Lml0ZW0oKS4KKyAqCisgKiBSZXR1cm5zIHRoZSB4bWxOb2RlUHRyIGF0IHRoZSBnaXZlbiBAaW5kZXggaW4gQG5zIG9yIE5VTEwgaWYKKyAqICAgICAgICAgQGluZGV4IGlzIG91dCBvZiByYW5nZSAoMCB0byBsZW5ndGgtMSkKKyAqLworI2RlZmluZSB4bWxYUGF0aE5vZGVTZXRJdGVtKG5zLCBpbmRleCkJCQkJXAorCQkoKCgobnMpICE9IE5VTEwpICYmCQkJCVwKKwkJICAoKGluZGV4KSA+PSAwKSAmJiAoKGluZGV4KSA8IChucyktPm5vZGVOcikpID8JXAorCQkgKG5zKS0+bm9kZVRhYlsoaW5kZXgpXQkJCQlcCisJCSA6IE5VTEwpCisvKioKKyAqIHhtbFhQYXRoTm9kZVNldElzRW1wdHk6CisgKiBAbnM6IGEgbm9kZS1zZXQKKyAqCisgKiBDaGVja3Mgd2hldGhlciBAbnMgaXMgZW1wdHkgb3Igbm90LgorICoKKyAqIFJldHVybnMgJVRSVUUgaWYgQG5zIGlzIGFuIGVtcHR5IG5vZGUtc2V0LgorICovCisjZGVmaW5lIHhtbFhQYXRoTm9kZVNldElzRW1wdHkobnMpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgKCgobnMpID09IE5VTEwpIHx8ICgobnMpLT5ub2RlTnIgPT0gMCkgfHwgKChucyktPm5vZGVUYWIgPT0gTlVMTCkpCisKKworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQkgICAgeG1sWFBhdGhGcmVlT2JqZWN0CQkoeG1sWFBhdGhPYmplY3RQdHIgb2JqKTsKK1hNTFBVQkZVTiB4bWxOb2RlU2V0UHRyIFhNTENBTEwKKwkJICAgIHhtbFhQYXRoTm9kZVNldENyZWF0ZQkoeG1sTm9kZVB0ciB2YWwpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQkgICAgeG1sWFBhdGhGcmVlTm9kZVNldExpc3QJKHhtbFhQYXRoT2JqZWN0UHRyIG9iaik7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCSAgICB4bWxYUGF0aEZyZWVOb2RlU2V0CQkoeG1sTm9kZVNldFB0ciBvYmopOworWE1MUFVCRlVOIHhtbFhQYXRoT2JqZWN0UHRyIFhNTENBTEwKKwkJICAgIHhtbFhQYXRoT2JqZWN0Q29weQkJKHhtbFhQYXRoT2JqZWN0UHRyIHZhbCk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJICAgIHhtbFhQYXRoQ21wTm9kZXMJCSh4bWxOb2RlUHRyIG5vZGUxLAorCQkJCQkJIHhtbE5vZGVQdHIgbm9kZTIpOworLyoqCisgKiBDb252ZXJzaW9uIGZ1bmN0aW9ucyB0byBiYXNpYyB0eXBlcy4KKyAqLworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCSAgICB4bWxYUGF0aENhc3ROdW1iZXJUb0Jvb2xlYW4JKGRvdWJsZSB2YWwpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCSAgICB4bWxYUGF0aENhc3RTdHJpbmdUb0Jvb2xlYW4JKGNvbnN0IHhtbENoYXIgKiB2YWwpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCSAgICB4bWxYUGF0aENhc3ROb2RlU2V0VG9Cb29sZWFuKHhtbE5vZGVTZXRQdHIgbnMpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCSAgICB4bWxYUGF0aENhc3RUb0Jvb2xlYW4JKHhtbFhQYXRoT2JqZWN0UHRyIHZhbCk7CisKK1hNTFBVQkZVTiBkb3VibGUgWE1MQ0FMTAorCQkgICAgeG1sWFBhdGhDYXN0Qm9vbGVhblRvTnVtYmVyCShpbnQgdmFsKTsKK1hNTFBVQkZVTiBkb3VibGUgWE1MQ0FMTAorCQkgICAgeG1sWFBhdGhDYXN0U3RyaW5nVG9OdW1iZXIJKGNvbnN0IHhtbENoYXIgKiB2YWwpOworWE1MUFVCRlVOIGRvdWJsZSBYTUxDQUxMCisJCSAgICB4bWxYUGF0aENhc3ROb2RlVG9OdW1iZXIJKHhtbE5vZGVQdHIgbm9kZSk7CitYTUxQVUJGVU4gZG91YmxlIFhNTENBTEwKKwkJICAgIHhtbFhQYXRoQ2FzdE5vZGVTZXRUb051bWJlcgkoeG1sTm9kZVNldFB0ciBucyk7CitYTUxQVUJGVU4gZG91YmxlIFhNTENBTEwKKwkJICAgIHhtbFhQYXRoQ2FzdFRvTnVtYmVyCSh4bWxYUGF0aE9iamVjdFB0ciB2YWwpOworCitYTUxQVUJGVU4geG1sQ2hhciAqIFhNTENBTEwKKwkJICAgIHhtbFhQYXRoQ2FzdEJvb2xlYW5Ub1N0cmluZwkoaW50IHZhbCk7CitYTUxQVUJGVU4geG1sQ2hhciAqIFhNTENBTEwKKwkJICAgIHhtbFhQYXRoQ2FzdE51bWJlclRvU3RyaW5nCShkb3VibGUgdmFsKTsKK1hNTFBVQkZVTiB4bWxDaGFyICogWE1MQ0FMTAorCQkgICAgeG1sWFBhdGhDYXN0Tm9kZVRvU3RyaW5nCSh4bWxOb2RlUHRyIG5vZGUpOworWE1MUFVCRlVOIHhtbENoYXIgKiBYTUxDQUxMCisJCSAgICB4bWxYUGF0aENhc3ROb2RlU2V0VG9TdHJpbmcJKHhtbE5vZGVTZXRQdHIgbnMpOworWE1MUFVCRlVOIHhtbENoYXIgKiBYTUxDQUxMCisJCSAgICB4bWxYUGF0aENhc3RUb1N0cmluZwkoeG1sWFBhdGhPYmplY3RQdHIgdmFsKTsKKworWE1MUFVCRlVOIHhtbFhQYXRoT2JqZWN0UHRyIFhNTENBTEwKKwkJICAgIHhtbFhQYXRoQ29udmVydEJvb2xlYW4JKHhtbFhQYXRoT2JqZWN0UHRyIHZhbCk7CitYTUxQVUJGVU4geG1sWFBhdGhPYmplY3RQdHIgWE1MQ0FMTAorCQkgICAgeG1sWFBhdGhDb252ZXJ0TnVtYmVyCSh4bWxYUGF0aE9iamVjdFB0ciB2YWwpOworWE1MUFVCRlVOIHhtbFhQYXRoT2JqZWN0UHRyIFhNTENBTEwKKwkJICAgIHhtbFhQYXRoQ29udmVydFN0cmluZwkoeG1sWFBhdGhPYmplY3RQdHIgdmFsKTsKKworLyoqCisgKiBDb250ZXh0IGhhbmRsaW5nLgorICovCitYTUxQVUJGVU4geG1sWFBhdGhDb250ZXh0UHRyIFhNTENBTEwKKwkJICAgIHhtbFhQYXRoTmV3Q29udGV4dAkJKHhtbERvY1B0ciBkb2MpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQkgICAgeG1sWFBhdGhGcmVlQ29udGV4dAkJKHhtbFhQYXRoQ29udGV4dFB0ciBjdHh0KTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQkgICAgeG1sWFBhdGhDb250ZXh0U2V0Q2FjaGUoeG1sWFBhdGhDb250ZXh0UHRyIGN0eHQsCisJCQkJICAgICAgICAgICAgaW50IGFjdGl2ZSwKKwkJCQkJICAgIGludCB2YWx1ZSwKKwkJCQkJICAgIGludCBvcHRpb25zKTsKKy8qKgorICogRXZhbHVhdGlvbiBmdW5jdGlvbnMuCisgKi8KK1hNTFBVQkZVTiBsb25nIFhNTENBTEwKKwkJICAgIHhtbFhQYXRoT3JkZXJEb2NFbGVtcwkoeG1sRG9jUHRyIGRvYyk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJICAgIHhtbFhQYXRoU2V0Q29udGV4dE5vZGUJKHhtbE5vZGVQdHIgbm9kZSwKKwkJCQkJCSB4bWxYUGF0aENvbnRleHRQdHIgY3R4KTsKK1hNTFBVQkZVTiB4bWxYUGF0aE9iamVjdFB0ciBYTUxDQUxMCisJCSAgICB4bWxYUGF0aE5vZGVFdmFsCQkoeG1sTm9kZVB0ciBub2RlLAorCQkJCQkJIGNvbnN0IHhtbENoYXIgKnN0ciwKKwkJCQkJCSB4bWxYUGF0aENvbnRleHRQdHIgY3R4KTsKK1hNTFBVQkZVTiB4bWxYUGF0aE9iamVjdFB0ciBYTUxDQUxMCisJCSAgICB4bWxYUGF0aEV2YWwJCShjb25zdCB4bWxDaGFyICpzdHIsCisJCQkJCQkgeG1sWFBhdGhDb250ZXh0UHRyIGN0eCk7CitYTUxQVUJGVU4geG1sWFBhdGhPYmplY3RQdHIgWE1MQ0FMTAorCQkgICAgeG1sWFBhdGhFdmFsRXhwcmVzc2lvbgkoY29uc3QgeG1sQ2hhciAqc3RyLAorCQkJCQkJIHhtbFhQYXRoQ29udGV4dFB0ciBjdHh0KTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQkgICAgeG1sWFBhdGhFdmFsUHJlZGljYXRlCSh4bWxYUGF0aENvbnRleHRQdHIgY3R4dCwKKwkJCQkJCSB4bWxYUGF0aE9iamVjdFB0ciByZXMpOworLyoqCisgKiBTZXBhcmF0ZSBjb21waWxhdGlvbi9ldmFsdWF0aW9uIGVudHJ5IHBvaW50cy4KKyAqLworWE1MUFVCRlVOIHhtbFhQYXRoQ29tcEV4cHJQdHIgWE1MQ0FMTAorCQkgICAgeG1sWFBhdGhDb21waWxlCQkoY29uc3QgeG1sQ2hhciAqc3RyKTsKK1hNTFBVQkZVTiB4bWxYUGF0aENvbXBFeHByUHRyIFhNTENBTEwKKwkJICAgIHhtbFhQYXRoQ3R4dENvbXBpbGUJCSh4bWxYUGF0aENvbnRleHRQdHIgY3R4dCwKKwkJCQkJCSBjb25zdCB4bWxDaGFyICpzdHIpOworWE1MUFVCRlVOIHhtbFhQYXRoT2JqZWN0UHRyIFhNTENBTEwKKwkJICAgIHhtbFhQYXRoQ29tcGlsZWRFdmFsCSh4bWxYUGF0aENvbXBFeHByUHRyIGNvbXAsCisJCQkJCQkgeG1sWFBhdGhDb250ZXh0UHRyIGN0eCk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJICAgIHhtbFhQYXRoQ29tcGlsZWRFdmFsVG9Cb29sZWFuKHhtbFhQYXRoQ29tcEV4cHJQdHIgY29tcCwKKwkJCQkJCSB4bWxYUGF0aENvbnRleHRQdHIgY3R4dCk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCSAgICB4bWxYUGF0aEZyZWVDb21wRXhwcgkoeG1sWFBhdGhDb21wRXhwclB0ciBjb21wKTsKKyNlbmRpZiAvKiBMSUJYTUxfWFBBVEhfRU5BQkxFRCAqLworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJICAgIHhtbFhQYXRoSW5pdAkJKHZvaWQpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCXhtbFhQYXRoSXNOYU4JKGRvdWJsZSB2YWwpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCXhtbFhQYXRoSXNJbmYJKGRvdWJsZSB2YWwpOworCisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorCisjZW5kaWYgLyogTElCWE1MX1hQQVRIX0VOQUJMRUQgb3IgTElCWE1MX1NDSEVNQVNfRU5BQkxFRCovCisjZW5kaWYgLyogISBfX1hNTF9YUEFUSF9IX18gKi8KZGlmZiAtLWdpdCBhL2xpYnhtbDIvaW5jbHVkZS9saWJ4bWwveHBhdGhJbnRlcm5hbHMuaCBiL2xpYnhtbDIvaW5jbHVkZS9saWJ4bWwveHBhdGhJbnRlcm5hbHMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MGM5ZGI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9pbmNsdWRlL2xpYnhtbC94cGF0aEludGVybmFscy5oCkBAIC0wLDAgKzEsNjMyIEBACisvKgorICogU3VtbWFyeTogaW50ZXJuYWwgaW50ZXJmYWNlcyBmb3IgWE1MIFBhdGggTGFuZ3VhZ2UgaW1wbGVtZW50YXRpb24KKyAqIERlc2NyaXB0aW9uOiBpbnRlcm5hbCBpbnRlcmZhY2VzIGZvciBYTUwgUGF0aCBMYW5ndWFnZSBpbXBsZW1lbnRhdGlvbgorICogICAgICAgICAgICAgIHVzZWQgdG8gYnVpbGQgbmV3IG1vZHVsZXMgb24gdG9wIG9mIFhQYXRoIGxpa2UgWFBvaW50ZXIgYW5kCisgKiAgICAgICAgICAgICAgWFNMVAorICoKKyAqIENvcHk6IFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyAqCisgKiBBdXRob3I6IERhbmllbCBWZWlsbGFyZAorICovCisKKyNpZm5kZWYgX19YTUxfWFBBVEhfSU5URVJOQUxTX0hfXworI2RlZmluZSBfX1hNTF9YUEFUSF9JTlRFUk5BTFNfSF9fCisKKyNpbmNsdWRlIDxsaWJ4bWwveG1sdmVyc2lvbi5oPgorI2luY2x1ZGUgPGxpYnhtbC94cGF0aC5oPgorCisjaWZkZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQKKworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQkJSGVscGVycwkJCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoKKyAqIE1hbnkgb2YgdGhlc2UgbWFjcm9zIG1heSBsYXRlciB0dXJuIGludG8gZnVuY3Rpb25zLiBUaGV5CisgKiBzaG91bGRuJ3QgYmUgdXNlZCBpbiAjaWZkZWYncyBwcmVwcm9jZXNzb3IgaW5zdHJ1Y3Rpb25zLgorICovCisvKioKKyAqIHhtbFhQYXRoU2V0RXJyb3I6CisgKiBAY3R4dDogIGFuIFhQYXRoIHBhcnNlciBjb250ZXh0CisgKiBAZXJyOiAgYW4geG1sWFBhdGhFcnJvciBjb2RlCisgKgorICogUmFpc2VzIGFuIGVycm9yLgorICovCisjZGVmaW5lIHhtbFhQYXRoU2V0RXJyb3IoY3R4dCwgZXJyKQkJCQkJXAorICAgIHsgeG1sWFBhdGhlcnJvcigoY3R4dCksIF9fRklMRV9fLCBfX0xJTkVfXywgKGVycikpOwkJCVwKKyAgICAgIGlmICgoY3R4dCkgIT0gTlVMTCkgKGN0eHQpLT5lcnJvciA9IChlcnIpOyB9CisKKy8qKgorICogeG1sWFBhdGhTZXRBcml0eUVycm9yOgorICogQGN0eHQ6ICBhbiBYUGF0aCBwYXJzZXIgY29udGV4dAorICoKKyAqIFJhaXNlcyBhbiBYUEFUSF9JTlZBTElEX0FSSVRZIGVycm9yLgorICovCisjZGVmaW5lIHhtbFhQYXRoU2V0QXJpdHlFcnJvcihjdHh0KQkJCQkJXAorICAgIHhtbFhQYXRoU2V0RXJyb3IoKGN0eHQpLCBYUEFUSF9JTlZBTElEX0FSSVRZKQorCisvKioKKyAqIHhtbFhQYXRoU2V0VHlwZUVycm9yOgorICogQGN0eHQ6ICBhbiBYUGF0aCBwYXJzZXIgY29udGV4dAorICoKKyAqIFJhaXNlcyBhbiBYUEFUSF9JTlZBTElEX1RZUEUgZXJyb3IuCisgKi8KKyNkZWZpbmUgeG1sWFBhdGhTZXRUeXBlRXJyb3IoY3R4dCkJCQkJCVwKKyAgICB4bWxYUGF0aFNldEVycm9yKChjdHh0KSwgWFBBVEhfSU5WQUxJRF9UWVBFKQorCisvKioKKyAqIHhtbFhQYXRoR2V0RXJyb3I6CisgKiBAY3R4dDogIGFuIFhQYXRoIHBhcnNlciBjb250ZXh0CisgKgorICogR2V0IHRoZSBlcnJvciBjb2RlIG9mIGFuIFhQYXRoIGNvbnRleHQuCisgKgorICogUmV0dXJucyB0aGUgY29udGV4dCBlcnJvci4KKyAqLworI2RlZmluZSB4bWxYUGF0aEdldEVycm9yKGN0eHQpCSAgKChjdHh0KS0+ZXJyb3IpCisKKy8qKgorICogeG1sWFBhdGhDaGVja0Vycm9yOgorICogQGN0eHQ6ICBhbiBYUGF0aCBwYXJzZXIgY29udGV4dAorICoKKyAqIENoZWNrIGlmIGFuIFhQYXRoIGVycm9yIHdhcyByYWlzZWQuCisgKgorICogUmV0dXJucyB0cnVlIGlmIGFuIGVycm9yIGhhcyBiZWVuIHJhaXNlZCwgZmFsc2Ugb3RoZXJ3aXNlLgorICovCisjZGVmaW5lIHhtbFhQYXRoQ2hlY2tFcnJvcihjdHh0KSAgKChjdHh0KS0+ZXJyb3IgIT0gWFBBVEhfRVhQUkVTU0lPTl9PSykKKworLyoqCisgKiB4bWxYUGF0aEdldERvY3VtZW50OgorICogQGN0eHQ6ICBhbiBYUGF0aCBwYXJzZXIgY29udGV4dAorICoKKyAqIEdldCB0aGUgZG9jdW1lbnQgb2YgYW4gWFBhdGggY29udGV4dC4KKyAqCisgKiBSZXR1cm5zIHRoZSBjb250ZXh0IGRvY3VtZW50LgorICovCisjZGVmaW5lIHhtbFhQYXRoR2V0RG9jdW1lbnQoY3R4dCkJKChjdHh0KS0+Y29udGV4dC0+ZG9jKQorCisvKioKKyAqIHhtbFhQYXRoR2V0Q29udGV4dE5vZGU6CisgKiBAY3R4dDogYW4gWFBhdGggcGFyc2VyIGNvbnRleHQKKyAqCisgKiBHZXQgdGhlIGNvbnRleHQgbm9kZSBvZiBhbiBYUGF0aCBjb250ZXh0LgorICoKKyAqIFJldHVybnMgdGhlIGNvbnRleHQgbm9kZS4KKyAqLworI2RlZmluZSB4bWxYUGF0aEdldENvbnRleHROb2RlKGN0eHQpCSgoY3R4dCktPmNvbnRleHQtPm5vZGUpCisKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl4bWxYUGF0aFBvcEJvb2xlYW4JKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0KTsKK1hNTFBVQkZVTiBkb3VibGUgWE1MQ0FMTAorCQl4bWxYUGF0aFBvcE51bWJlcgkoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQpOworWE1MUFVCRlVOIHhtbENoYXIgKiBYTUxDQUxMCisJCXhtbFhQYXRoUG9wU3RyaW5nCSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCk7CitYTUxQVUJGVU4geG1sTm9kZVNldFB0ciBYTUxDQUxMCisJCXhtbFhQYXRoUG9wTm9kZVNldAkoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQpOworWE1MUFVCRlVOIHZvaWQgKiBYTUxDQUxMCisJCXhtbFhQYXRoUG9wRXh0ZXJuYWwJKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0KTsKKworLyoqCisgKiB4bWxYUGF0aFJldHVybkJvb2xlYW46CisgKiBAY3R4dDogIGFuIFhQYXRoIHBhcnNlciBjb250ZXh0CisgKiBAdmFsOiAgYSBib29sZWFuCisgKgorICogUHVzaGVzIHRoZSBib29sZWFuIEB2YWwgb24gdGhlIGNvbnRleHQgc3RhY2suCisgKi8KKyNkZWZpbmUgeG1sWFBhdGhSZXR1cm5Cb29sZWFuKGN0eHQsIHZhbCkJCQkJXAorICAgIHZhbHVlUHVzaCgoY3R4dCksIHhtbFhQYXRoTmV3Qm9vbGVhbih2YWwpKQorCisvKioKKyAqIHhtbFhQYXRoUmV0dXJuVHJ1ZToKKyAqIEBjdHh0OiAgYW4gWFBhdGggcGFyc2VyIGNvbnRleHQKKyAqCisgKiBQdXNoZXMgdHJ1ZSBvbiB0aGUgY29udGV4dCBzdGFjay4KKyAqLworI2RlZmluZSB4bWxYUGF0aFJldHVyblRydWUoY3R4dCkgICB4bWxYUGF0aFJldHVybkJvb2xlYW4oKGN0eHQpLCAxKQorCisvKioKKyAqIHhtbFhQYXRoUmV0dXJuRmFsc2U6CisgKiBAY3R4dDogIGFuIFhQYXRoIHBhcnNlciBjb250ZXh0CisgKgorICogUHVzaGVzIGZhbHNlIG9uIHRoZSBjb250ZXh0IHN0YWNrLgorICovCisjZGVmaW5lIHhtbFhQYXRoUmV0dXJuRmFsc2UoY3R4dCkgIHhtbFhQYXRoUmV0dXJuQm9vbGVhbigoY3R4dCksIDApCisKKy8qKgorICogeG1sWFBhdGhSZXR1cm5OdW1iZXI6CisgKiBAY3R4dDogIGFuIFhQYXRoIHBhcnNlciBjb250ZXh0CisgKiBAdmFsOiAgYSBkb3VibGUKKyAqCisgKiBQdXNoZXMgdGhlIGRvdWJsZSBAdmFsIG9uIHRoZSBjb250ZXh0IHN0YWNrLgorICovCisjZGVmaW5lIHhtbFhQYXRoUmV0dXJuTnVtYmVyKGN0eHQsIHZhbCkJCQkJCVwKKyAgICB2YWx1ZVB1c2goKGN0eHQpLCB4bWxYUGF0aE5ld0Zsb2F0KHZhbCkpCisKKy8qKgorICogeG1sWFBhdGhSZXR1cm5TdHJpbmc6CisgKiBAY3R4dDogIGFuIFhQYXRoIHBhcnNlciBjb250ZXh0CisgKiBAc3RyOiAgYSBzdHJpbmcKKyAqCisgKiBQdXNoZXMgdGhlIHN0cmluZyBAc3RyIG9uIHRoZSBjb250ZXh0IHN0YWNrLgorICovCisjZGVmaW5lIHhtbFhQYXRoUmV0dXJuU3RyaW5nKGN0eHQsIHN0cikJCQkJCVwKKyAgICB2YWx1ZVB1c2goKGN0eHQpLCB4bWxYUGF0aFdyYXBTdHJpbmcoc3RyKSkKKworLyoqCisgKiB4bWxYUGF0aFJldHVybkVtcHR5U3RyaW5nOgorICogQGN0eHQ6ICBhbiBYUGF0aCBwYXJzZXIgY29udGV4dAorICoKKyAqIFB1c2hlcyBhbiBlbXB0eSBzdHJpbmcgb24gdGhlIHN0YWNrLgorICovCisjZGVmaW5lIHhtbFhQYXRoUmV0dXJuRW1wdHlTdHJpbmcoY3R4dCkJCQkJCVwKKyAgICB2YWx1ZVB1c2goKGN0eHQpLCB4bWxYUGF0aE5ld0NTdHJpbmcoIiIpKQorCisvKioKKyAqIHhtbFhQYXRoUmV0dXJuTm9kZVNldDoKKyAqIEBjdHh0OiAgYW4gWFBhdGggcGFyc2VyIGNvbnRleHQKKyAqIEBuczogIGEgbm9kZS1zZXQKKyAqCisgKiBQdXNoZXMgdGhlIG5vZGUtc2V0IEBucyBvbiB0aGUgY29udGV4dCBzdGFjay4KKyAqLworI2RlZmluZSB4bWxYUGF0aFJldHVybk5vZGVTZXQoY3R4dCwgbnMpCQkJCQlcCisgICAgdmFsdWVQdXNoKChjdHh0KSwgeG1sWFBhdGhXcmFwTm9kZVNldChucykpCisKKy8qKgorICogeG1sWFBhdGhSZXR1cm5FbXB0eU5vZGVTZXQ6CisgKiBAY3R4dDogIGFuIFhQYXRoIHBhcnNlciBjb250ZXh0CisgKgorICogUHVzaGVzIGFuIGVtcHR5IG5vZGUtc2V0IG9uIHRoZSBjb250ZXh0IHN0YWNrLgorICovCisjZGVmaW5lIHhtbFhQYXRoUmV0dXJuRW1wdHlOb2RlU2V0KGN0eHQpCQkJCVwKKyAgICB2YWx1ZVB1c2goKGN0eHQpLCB4bWxYUGF0aE5ld05vZGVTZXQoTlVMTCkpCisKKy8qKgorICogeG1sWFBhdGhSZXR1cm5FeHRlcm5hbDoKKyAqIEBjdHh0OiAgYW4gWFBhdGggcGFyc2VyIGNvbnRleHQKKyAqIEB2YWw6ICB1c2VyIGRhdGEKKyAqCisgKiBQdXNoZXMgdXNlciBkYXRhIG9uIHRoZSBjb250ZXh0IHN0YWNrLgorICovCisjZGVmaW5lIHhtbFhQYXRoUmV0dXJuRXh0ZXJuYWwoY3R4dCwgdmFsKQkJCQlcCisgICAgdmFsdWVQdXNoKChjdHh0KSwgeG1sWFBhdGhXcmFwRXh0ZXJuYWwodmFsKSkKKworLyoqCisgKiB4bWxYUGF0aFN0YWNrSXNOb2RlU2V0OgorICogQGN0eHQ6IGFuIFhQYXRoIHBhcnNlciBjb250ZXh0CisgKgorICogQ2hlY2sgaWYgdGhlIGN1cnJlbnQgdmFsdWUgb24gdGhlIFhQYXRoIHN0YWNrIGlzIGEgbm9kZSBzZXQgb3IKKyAqIGFuIFhTTFQgdmFsdWUgdHJlZS4KKyAqCisgKiBSZXR1cm5zIHRydWUgaWYgdGhlIGN1cnJlbnQgb2JqZWN0IG9uIHRoZSBzdGFjayBpcyBhIG5vZGUtc2V0LgorICovCisjZGVmaW5lIHhtbFhQYXRoU3RhY2tJc05vZGVTZXQoY3R4dCkJCQkJCVwKKyAgICAoKChjdHh0KS0+dmFsdWUgIT0gTlVMTCkJCQkJCQlcCisgICAgICYmICgoKGN0eHQpLT52YWx1ZS0+dHlwZSA9PSBYUEFUSF9OT0RFU0VUKQkJCQlcCisgICAgICAgICB8fCAoKGN0eHQpLT52YWx1ZS0+dHlwZSA9PSBYUEFUSF9YU0xUX1RSRUUpKSkKKworLyoqCisgKiB4bWxYUGF0aFN0YWNrSXNFeHRlcm5hbDoKKyAqIEBjdHh0OiBhbiBYUGF0aCBwYXJzZXIgY29udGV4dAorICoKKyAqIENoZWNrcyBpZiB0aGUgY3VycmVudCB2YWx1ZSBvbiB0aGUgWFBhdGggc3RhY2sgaXMgYW4gZXh0ZXJuYWwKKyAqIG9iamVjdC4KKyAqCisgKiBSZXR1cm5zIHRydWUgaWYgdGhlIGN1cnJlbnQgb2JqZWN0IG9uIHRoZSBzdGFjayBpcyBhbiBleHRlcm5hbAorICogb2JqZWN0LgorICovCisjZGVmaW5lIHhtbFhQYXRoU3RhY2tJc0V4dGVybmFsKGN0eHQpCQkJCQlcCisJKChjdHh0LT52YWx1ZSAhPSBOVUxMKSAmJiAoY3R4dC0+dmFsdWUtPnR5cGUgPT0gWFBBVEhfVVNFUlMpKQorCisvKioKKyAqIHhtbFhQYXRoRW1wdHlOb2RlU2V0OgorICogQG5zOiAgYSBub2RlLXNldAorICoKKyAqIEVtcHRpZXMgYSBub2RlLXNldC4KKyAqLworI2RlZmluZSB4bWxYUGF0aEVtcHR5Tm9kZVNldChucykJCQkJCVwKKyAgICB7IHdoaWxlICgobnMpLT5ub2RlTnIgPiAwKSAobnMpLT5ub2RlVGFiWyhucyktPm5vZGVOci0tXSA9IE5VTEw7IH0KKworLyoqCisgKiBDSEVDS19FUlJPUjoKKyAqCisgKiBNYWNybyB0byByZXR1cm4gZnJvbSB0aGUgZnVuY3Rpb24gaWYgYW4gWFBhdGggZXJyb3Igd2FzIGRldGVjdGVkLgorICovCisjZGVmaW5lIENIRUNLX0VSUk9SCQkJCQkJCVwKKyAgICBpZiAoY3R4dC0+ZXJyb3IgIT0gWFBBVEhfRVhQUkVTU0lPTl9PSykgcmV0dXJuCisKKy8qKgorICogQ0hFQ0tfRVJST1IwOgorICoKKyAqIE1hY3JvIHRvIHJldHVybiAwIGZyb20gdGhlIGZ1bmN0aW9uIGlmIGFuIFhQYXRoIGVycm9yIHdhcyBkZXRlY3RlZC4KKyAqLworI2RlZmluZSBDSEVDS19FUlJPUjAJCQkJCQkJXAorICAgIGlmIChjdHh0LT5lcnJvciAhPSBYUEFUSF9FWFBSRVNTSU9OX09LKSByZXR1cm4oMCkKKworLyoqCisgKiBYUF9FUlJPUjoKKyAqIEBYOiAgdGhlIGVycm9yIGNvZGUKKyAqCisgKiBNYWNybyB0byByYWlzZSBhbiBYUGF0aCBlcnJvciBhbmQgcmV0dXJuLgorICovCisjZGVmaW5lIFhQX0VSUk9SKFgpCQkJCQkJCVwKKyAgICB7IHhtbFhQYXRoRXJyKGN0eHQsIFgpOyByZXR1cm47IH0KKworLyoqCisgKiBYUF9FUlJPUjA6CisgKiBAWDogIHRoZSBlcnJvciBjb2RlCisgKgorICogTWFjcm8gdG8gcmFpc2UgYW4gWFBhdGggZXJyb3IgYW5kIHJldHVybiAwLgorICovCisjZGVmaW5lIFhQX0VSUk9SMChYKQkJCQkJCQlcCisgICAgeyB4bWxYUGF0aEVycihjdHh0LCBYKTsgcmV0dXJuKDApOyB9CisKKy8qKgorICogQ0hFQ0tfVFlQRToKKyAqIEB0eXBldmFsOiAgdGhlIFhQYXRoIHR5cGUKKyAqCisgKiBNYWNybyB0byBjaGVjayB0aGF0IHRoZSB2YWx1ZSBvbiB0b3Agb2YgdGhlIFhQYXRoIHN0YWNrIGlzIG9mIGEgZ2l2ZW4KKyAqIHR5cGUuCisgKi8KKyNkZWZpbmUgQ0hFQ0tfVFlQRSh0eXBldmFsKQkJCQkJCVwKKyAgICBpZiAoKGN0eHQtPnZhbHVlID09IE5VTEwpIHx8IChjdHh0LT52YWx1ZS0+dHlwZSAhPSB0eXBldmFsKSkJXAorICAgICAgICBYUF9FUlJPUihYUEFUSF9JTlZBTElEX1RZUEUpCisKKy8qKgorICogQ0hFQ0tfVFlQRTA6CisgKiBAdHlwZXZhbDogIHRoZSBYUGF0aCB0eXBlCisgKgorICogTWFjcm8gdG8gY2hlY2sgdGhhdCB0aGUgdmFsdWUgb24gdG9wIG9mIHRoZSBYUGF0aCBzdGFjayBpcyBvZiBhIGdpdmVuCisgKiB0eXBlLiBSZXR1cm4oMCkgaW4gY2FzZSBvZiBmYWlsdXJlCisgKi8KKyNkZWZpbmUgQ0hFQ0tfVFlQRTAodHlwZXZhbCkJCQkJCQlcCisgICAgaWYgKChjdHh0LT52YWx1ZSA9PSBOVUxMKSB8fCAoY3R4dC0+dmFsdWUtPnR5cGUgIT0gdHlwZXZhbCkpCVwKKyAgICAgICAgWFBfRVJST1IwKFhQQVRIX0lOVkFMSURfVFlQRSkKKworLyoqCisgKiBDSEVDS19BUklUWToKKyAqIEB4OiAgdGhlIG51bWJlciBvZiBleHBlY3RlZCBhcmdzCisgKgorICogTWFjcm8gdG8gY2hlY2sgdGhhdCB0aGUgbnVtYmVyIG9mIGFyZ3MgcGFzc2VkIHRvIGFuIFhQYXRoIGZ1bmN0aW9uIG1hdGNoZXMuCisgKi8KKyNkZWZpbmUgQ0hFQ0tfQVJJVFkoeCkJCQkJCQkJXAorICAgIGlmIChjdHh0ID09IE5VTEwpIHJldHVybjsJCQkJCQlcCisgICAgaWYgKG5hcmdzICE9ICh4KSkJCQkJCQkJXAorICAgICAgICBYUF9FUlJPUihYUEFUSF9JTlZBTElEX0FSSVRZKTsJCQkJCVwKKyAgICBpZiAoY3R4dC0+dmFsdWVOciA8IGN0eHQtPnZhbHVlRnJhbWUgKyAoeCkpCQkJCVwKKyAgICAgICAgWFBfRVJST1IoWFBBVEhfU1RBQ0tfRVJST1IpOworCisvKioKKyAqIENBU1RfVE9fU1RSSU5HOgorICoKKyAqIE1hY3JvIHRvIHRyeSB0byBjYXN0IHRoZSB2YWx1ZSBvbiB0aGUgdG9wIG9mIHRoZSBYUGF0aCBzdGFjayB0byBhIHN0cmluZy4KKyAqLworI2RlZmluZSBDQVNUX1RPX1NUUklORwkJCQkJCQlcCisgICAgaWYgKChjdHh0LT52YWx1ZSAhPSBOVUxMKSAmJiAoY3R4dC0+dmFsdWUtPnR5cGUgIT0gWFBBVEhfU1RSSU5HKSkJXAorICAgICAgICB4bWxYUGF0aFN0cmluZ0Z1bmN0aW9uKGN0eHQsIDEpOworCisvKioKKyAqIENBU1RfVE9fTlVNQkVSOgorICoKKyAqIE1hY3JvIHRvIHRyeSB0byBjYXN0IHRoZSB2YWx1ZSBvbiB0aGUgdG9wIG9mIHRoZSBYUGF0aCBzdGFjayB0byBhIG51bWJlci4KKyAqLworI2RlZmluZSBDQVNUX1RPX05VTUJFUgkJCQkJCQlcCisgICAgaWYgKChjdHh0LT52YWx1ZSAhPSBOVUxMKSAmJiAoY3R4dC0+dmFsdWUtPnR5cGUgIT0gWFBBVEhfTlVNQkVSKSkJXAorICAgICAgICB4bWxYUGF0aE51bWJlckZ1bmN0aW9uKGN0eHQsIDEpOworCisvKioKKyAqIENBU1RfVE9fQk9PTEVBTjoKKyAqCisgKiBNYWNybyB0byB0cnkgdG8gY2FzdCB0aGUgdmFsdWUgb24gdGhlIHRvcCBvZiB0aGUgWFBhdGggc3RhY2sgdG8gYSBib29sZWFuLgorICovCisjZGVmaW5lIENBU1RfVE9fQk9PTEVBTgkJCQkJCQlcCisgICAgaWYgKChjdHh0LT52YWx1ZSAhPSBOVUxMKSAmJiAoY3R4dC0+dmFsdWUtPnR5cGUgIT0gWFBBVEhfQk9PTEVBTikpCVwKKyAgICAgICAgeG1sWFBhdGhCb29sZWFuRnVuY3Rpb24oY3R4dCwgMSk7CisKKy8qCisgKiBWYXJpYWJsZSBMb29rdXAgZm9yd2FyZGluZy4KKyAqLworCitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJeG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlTG9va3VwCSh4bWxYUGF0aENvbnRleHRQdHIgY3R4dCwKKwkJCQkJIHhtbFhQYXRoVmFyaWFibGVMb29rdXBGdW5jIGYsCisJCQkJCSB2b2lkICpkYXRhKTsKKworLyoKKyAqIEZ1bmN0aW9uIExvb2t1cCBmb3J3YXJkaW5nLgorICovCisKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkgICAgeG1sWFBhdGhSZWdpc3RlckZ1bmNMb29rdXAJKHhtbFhQYXRoQ29udGV4dFB0ciBjdHh0LAorCQkJCQkgeG1sWFBhdGhGdW5jTG9va3VwRnVuYyBmLAorCQkJCQkgdm9pZCAqZnVuY0N0eHQpOworCisvKgorICogRXJyb3IgcmVwb3J0aW5nLgorICovCitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCXhtbFhQYXRoZXJyb3IJKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0LAorCQkJCSBjb25zdCBjaGFyICpmaWxlLAorCQkJCSBpbnQgbGluZSwKKwkJCQkgaW50IG5vKTsKKworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQl4bWxYUGF0aEVycgkoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQsCisJCQkJIGludCBlcnJvcik7CisKKyNpZmRlZiBMSUJYTUxfREVCVUdfRU5BQkxFRAorWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQl4bWxYUGF0aERlYnVnRHVtcE9iamVjdAkoRklMRSAqb3V0cHV0LAorCQkJCQkgeG1sWFBhdGhPYmplY3RQdHIgY3VyLAorCQkJCQkgaW50IGRlcHRoKTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkgICAgeG1sWFBhdGhEZWJ1Z0R1bXBDb21wRXhwcihGSUxFICpvdXRwdXQsCisJCQkJCSB4bWxYUGF0aENvbXBFeHByUHRyIGNvbXAsCisJCQkJCSBpbnQgZGVwdGgpOworI2VuZGlmCisvKioKKyAqIE5vZGVTZXQgaGFuZGxpbmcuCisgKi8KK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl4bWxYUGF0aE5vZGVTZXRDb250YWlucwkJKHhtbE5vZGVTZXRQdHIgY3VyLAorCQkJCQkJIHhtbE5vZGVQdHIgdmFsKTsKK1hNTFBVQkZVTiB4bWxOb2RlU2V0UHRyIFhNTENBTEwKKwkJeG1sWFBhdGhEaWZmZXJlbmNlCQkoeG1sTm9kZVNldFB0ciBub2RlczEsCisJCQkJCQkgeG1sTm9kZVNldFB0ciBub2RlczIpOworWE1MUFVCRlVOIHhtbE5vZGVTZXRQdHIgWE1MQ0FMTAorCQl4bWxYUGF0aEludGVyc2VjdGlvbgkJKHhtbE5vZGVTZXRQdHIgbm9kZXMxLAorCQkJCQkJIHhtbE5vZGVTZXRQdHIgbm9kZXMyKTsKKworWE1MUFVCRlVOIHhtbE5vZGVTZXRQdHIgWE1MQ0FMTAorCQl4bWxYUGF0aERpc3RpbmN0U29ydGVkCQkoeG1sTm9kZVNldFB0ciBub2Rlcyk7CitYTUxQVUJGVU4geG1sTm9kZVNldFB0ciBYTUxDQUxMCisJCXhtbFhQYXRoRGlzdGluY3QJCSh4bWxOb2RlU2V0UHRyIG5vZGVzKTsKKworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCXhtbFhQYXRoSGFzU2FtZU5vZGVzCQkoeG1sTm9kZVNldFB0ciBub2RlczEsCisJCQkJCQkgeG1sTm9kZVNldFB0ciBub2RlczIpOworCitYTUxQVUJGVU4geG1sTm9kZVNldFB0ciBYTUxDQUxMCisJCXhtbFhQYXRoTm9kZUxlYWRpbmdTb3J0ZWQJKHhtbE5vZGVTZXRQdHIgbm9kZXMsCisJCQkJCQkgeG1sTm9kZVB0ciBub2RlKTsKK1hNTFBVQkZVTiB4bWxOb2RlU2V0UHRyIFhNTENBTEwKKwkJeG1sWFBhdGhMZWFkaW5nU29ydGVkCQkoeG1sTm9kZVNldFB0ciBub2RlczEsCisJCQkJCQkgeG1sTm9kZVNldFB0ciBub2RlczIpOworWE1MUFVCRlVOIHhtbE5vZGVTZXRQdHIgWE1MQ0FMTAorCQl4bWxYUGF0aE5vZGVMZWFkaW5nCQkoeG1sTm9kZVNldFB0ciBub2RlcywKKwkJCQkJCSB4bWxOb2RlUHRyIG5vZGUpOworWE1MUFVCRlVOIHhtbE5vZGVTZXRQdHIgWE1MQ0FMTAorCQl4bWxYUGF0aExlYWRpbmcJCQkoeG1sTm9kZVNldFB0ciBub2RlczEsCisJCQkJCQkgeG1sTm9kZVNldFB0ciBub2RlczIpOworCitYTUxQVUJGVU4geG1sTm9kZVNldFB0ciBYTUxDQUxMCisJCXhtbFhQYXRoTm9kZVRyYWlsaW5nU29ydGVkCSh4bWxOb2RlU2V0UHRyIG5vZGVzLAorCQkJCQkJIHhtbE5vZGVQdHIgbm9kZSk7CitYTUxQVUJGVU4geG1sTm9kZVNldFB0ciBYTUxDQUxMCisJCXhtbFhQYXRoVHJhaWxpbmdTb3J0ZWQJCSh4bWxOb2RlU2V0UHRyIG5vZGVzMSwKKwkJCQkJCSB4bWxOb2RlU2V0UHRyIG5vZGVzMik7CitYTUxQVUJGVU4geG1sTm9kZVNldFB0ciBYTUxDQUxMCisJCXhtbFhQYXRoTm9kZVRyYWlsaW5nCQkoeG1sTm9kZVNldFB0ciBub2RlcywKKwkJCQkJCSB4bWxOb2RlUHRyIG5vZGUpOworWE1MUFVCRlVOIHhtbE5vZGVTZXRQdHIgWE1MQ0FMTAorCQl4bWxYUGF0aFRyYWlsaW5nCQkoeG1sTm9kZVNldFB0ciBub2RlczEsCisJCQkJCQkgeG1sTm9kZVNldFB0ciBub2RlczIpOworCisKKy8qKgorICogRXh0ZW5kaW5nIGEgY29udGV4dC4KKyAqLworCitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJeG1sWFBhdGhSZWdpc3Rlck5zCQkoeG1sWFBhdGhDb250ZXh0UHRyIGN0eHQsCisJCQkJCQkgY29uc3QgeG1sQ2hhciAqcHJlZml4LAorCQkJCQkJIGNvbnN0IHhtbENoYXIgKm5zX3VyaSk7CitYTUxQVUJGVU4gY29uc3QgeG1sQ2hhciAqIFhNTENBTEwKKwkJeG1sWFBhdGhOc0xvb2t1cAkJKHhtbFhQYXRoQ29udGV4dFB0ciBjdHh0LAorCQkJCQkJIGNvbnN0IHhtbENoYXIgKnByZWZpeCk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCXhtbFhQYXRoUmVnaXN0ZXJlZE5zQ2xlYW51cAkoeG1sWFBhdGhDb250ZXh0UHRyIGN0eHQpOworCitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJeG1sWFBhdGhSZWdpc3RlckZ1bmMJCSh4bWxYUGF0aENvbnRleHRQdHIgY3R4dCwKKwkJCQkJCSBjb25zdCB4bWxDaGFyICpuYW1lLAorCQkJCQkJIHhtbFhQYXRoRnVuY3Rpb24gZik7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJeG1sWFBhdGhSZWdpc3RlckZ1bmNOUwkJKHhtbFhQYXRoQ29udGV4dFB0ciBjdHh0LAorCQkJCQkJIGNvbnN0IHhtbENoYXIgKm5hbWUsCisJCQkJCQkgY29uc3QgeG1sQ2hhciAqbnNfdXJpLAorCQkJCQkJIHhtbFhQYXRoRnVuY3Rpb24gZik7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJeG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlCSh4bWxYUGF0aENvbnRleHRQdHIgY3R4dCwKKwkJCQkJCSBjb25zdCB4bWxDaGFyICpuYW1lLAorCQkJCQkJIHhtbFhQYXRoT2JqZWN0UHRyIHZhbHVlKTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl4bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGVOUwkoeG1sWFBhdGhDb250ZXh0UHRyIGN0eHQsCisJCQkJCQkgY29uc3QgeG1sQ2hhciAqbmFtZSwKKwkJCQkJCSBjb25zdCB4bWxDaGFyICpuc191cmksCisJCQkJCQkgeG1sWFBhdGhPYmplY3RQdHIgdmFsdWUpOworWE1MUFVCRlVOIHhtbFhQYXRoRnVuY3Rpb24gWE1MQ0FMTAorCQl4bWxYUGF0aEZ1bmN0aW9uTG9va3VwCQkoeG1sWFBhdGhDb250ZXh0UHRyIGN0eHQsCisJCQkJCQkgY29uc3QgeG1sQ2hhciAqbmFtZSk7CitYTUxQVUJGVU4geG1sWFBhdGhGdW5jdGlvbiBYTUxDQUxMCisJCXhtbFhQYXRoRnVuY3Rpb25Mb29rdXBOUwkoeG1sWFBhdGhDb250ZXh0UHRyIGN0eHQsCisJCQkJCQkgY29uc3QgeG1sQ2hhciAqbmFtZSwKKwkJCQkJCSBjb25zdCB4bWxDaGFyICpuc191cmkpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQl4bWxYUGF0aFJlZ2lzdGVyZWRGdW5jc0NsZWFudXAJKHhtbFhQYXRoQ29udGV4dFB0ciBjdHh0KTsKK1hNTFBVQkZVTiB4bWxYUGF0aE9iamVjdFB0ciBYTUxDQUxMCisJCXhtbFhQYXRoVmFyaWFibGVMb29rdXAJCSh4bWxYUGF0aENvbnRleHRQdHIgY3R4dCwKKwkJCQkJCSBjb25zdCB4bWxDaGFyICpuYW1lKTsKK1hNTFBVQkZVTiB4bWxYUGF0aE9iamVjdFB0ciBYTUxDQUxMCisJCXhtbFhQYXRoVmFyaWFibGVMb29rdXBOUwkoeG1sWFBhdGhDb250ZXh0UHRyIGN0eHQsCisJCQkJCQkgY29uc3QgeG1sQ2hhciAqbmFtZSwKKwkJCQkJCSBjb25zdCB4bWxDaGFyICpuc191cmkpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQl4bWxYUGF0aFJlZ2lzdGVyZWRWYXJpYWJsZXNDbGVhbnVwKHhtbFhQYXRoQ29udGV4dFB0ciBjdHh0KTsKKworLyoqCisgKiBVdGlsaXRpZXMgdG8gZXh0ZW5kIFhQYXRoLgorICovCitYTUxQVUJGVU4geG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIFhNTENBTEwKKwkJICB4bWxYUGF0aE5ld1BhcnNlckNvbnRleHQJKGNvbnN0IHhtbENoYXIgKnN0ciwKKwkJCQkJCSB4bWxYUGF0aENvbnRleHRQdHIgY3R4dCk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCXhtbFhQYXRoRnJlZVBhcnNlckNvbnRleHQJKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0KTsKKworLyogVE9ETzogcmVtYXAgdG8geG1sWFBhdGhWYWx1ZVBvcCBhbmQgUHVzaC4gKi8KK1hNTFBVQkZVTiB4bWxYUGF0aE9iamVjdFB0ciBYTUxDQUxMCisJCXZhbHVlUG9wCQkJKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0KTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTAorCQl2YWx1ZVB1c2gJCQkoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQsCisJCQkJCQkgeG1sWFBhdGhPYmplY3RQdHIgdmFsdWUpOworCitYTUxQVUJGVU4geG1sWFBhdGhPYmplY3RQdHIgWE1MQ0FMTAorCQl4bWxYUGF0aE5ld1N0cmluZwkJKGNvbnN0IHhtbENoYXIgKnZhbCk7CitYTUxQVUJGVU4geG1sWFBhdGhPYmplY3RQdHIgWE1MQ0FMTAorCQl4bWxYUGF0aE5ld0NTdHJpbmcJCShjb25zdCBjaGFyICp2YWwpOworWE1MUFVCRlVOIHhtbFhQYXRoT2JqZWN0UHRyIFhNTENBTEwKKwkJeG1sWFBhdGhXcmFwU3RyaW5nCQkoeG1sQ2hhciAqdmFsKTsKK1hNTFBVQkZVTiB4bWxYUGF0aE9iamVjdFB0ciBYTUxDQUxMCisJCXhtbFhQYXRoV3JhcENTdHJpbmcJCShjaGFyICogdmFsKTsKK1hNTFBVQkZVTiB4bWxYUGF0aE9iamVjdFB0ciBYTUxDQUxMCisJCXhtbFhQYXRoTmV3RmxvYXQJCShkb3VibGUgdmFsKTsKK1hNTFBVQkZVTiB4bWxYUGF0aE9iamVjdFB0ciBYTUxDQUxMCisJCXhtbFhQYXRoTmV3Qm9vbGVhbgkJKGludCB2YWwpOworWE1MUFVCRlVOIHhtbFhQYXRoT2JqZWN0UHRyIFhNTENBTEwKKwkJeG1sWFBhdGhOZXdOb2RlU2V0CQkoeG1sTm9kZVB0ciB2YWwpOworWE1MUFVCRlVOIHhtbFhQYXRoT2JqZWN0UHRyIFhNTENBTEwKKwkJeG1sWFBhdGhOZXdWYWx1ZVRyZWUJCSh4bWxOb2RlUHRyIHZhbCk7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJeG1sWFBhdGhOb2RlU2V0QWRkCQkoeG1sTm9kZVNldFB0ciBjdXIsCisJCQkJCQkgeG1sTm9kZVB0ciB2YWwpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCXhtbFhQYXRoTm9kZVNldEFkZFVuaXF1ZQkoeG1sTm9kZVNldFB0ciBjdXIsCisJCQkJCQkgeG1sTm9kZVB0ciB2YWwpOworWE1MUFVCRlVOIGludCBYTUxDQUxMCisJCXhtbFhQYXRoTm9kZVNldEFkZE5zCQkoeG1sTm9kZVNldFB0ciBjdXIsCisJCQkJCQkgeG1sTm9kZVB0ciBub2RlLAorCQkJCQkJIHhtbE5zUHRyIG5zKTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJeG1sWFBhdGhOb2RlU2V0U29ydAkJKHhtbE5vZGVTZXRQdHIgc2V0KTsKKworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQl4bWxYUGF0aFJvb3QJCQkoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQl4bWxYUGF0aEV2YWxFeHByCQkoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQpOworWE1MUFVCRlVOIHhtbENoYXIgKiBYTUxDQUxMCisJCXhtbFhQYXRoUGFyc2VOYW1lCQkoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQpOworWE1MUFVCRlVOIHhtbENoYXIgKiBYTUxDQUxMCisJCXhtbFhQYXRoUGFyc2VOQ05hbWUJCSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCk7CisKKy8qCisgKiBFeGlzdGluZyBmdW5jdGlvbnMuCisgKi8KK1hNTFBVQkZVTiBkb3VibGUgWE1MQ0FMTAorCQl4bWxYUGF0aFN0cmluZ0V2YWxOdW1iZXIJKGNvbnN0IHhtbENoYXIgKnN0cik7CitYTUxQVUJGVU4gaW50IFhNTENBTEwKKwkJeG1sWFBhdGhFdmFsdWF0ZVByZWRpY2F0ZVJlc3VsdCAoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQsCisJCQkJCQkgeG1sWFBhdGhPYmplY3RQdHIgcmVzKTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJeG1sWFBhdGhSZWdpc3RlckFsbEZ1bmN0aW9ucwkoeG1sWFBhdGhDb250ZXh0UHRyIGN0eHQpOworWE1MUFVCRlVOIHhtbE5vZGVTZXRQdHIgWE1MQ0FMTAorCQl4bWxYUGF0aE5vZGVTZXRNZXJnZQkJKHhtbE5vZGVTZXRQdHIgdmFsMSwKKwkJCQkJCSB4bWxOb2RlU2V0UHRyIHZhbDIpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQl4bWxYUGF0aE5vZGVTZXREZWwJCSh4bWxOb2RlU2V0UHRyIGN1ciwKKwkJCQkJCSB4bWxOb2RlUHRyIHZhbCk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMCisJCXhtbFhQYXRoTm9kZVNldFJlbW92ZQkJKHhtbE5vZGVTZXRQdHIgY3VyLAorCQkJCQkJIGludCB2YWwpOworWE1MUFVCRlVOIHhtbFhQYXRoT2JqZWN0UHRyIFhNTENBTEwKKwkJeG1sWFBhdGhOZXdOb2RlU2V0TGlzdAkJKHhtbE5vZGVTZXRQdHIgdmFsKTsKK1hNTFBVQkZVTiB4bWxYUGF0aE9iamVjdFB0ciBYTUxDQUxMCisJCXhtbFhQYXRoV3JhcE5vZGVTZXQJCSh4bWxOb2RlU2V0UHRyIHZhbCk7CitYTUxQVUJGVU4geG1sWFBhdGhPYmplY3RQdHIgWE1MQ0FMTAorCQl4bWxYUGF0aFdyYXBFeHRlcm5hbAkJKHZvaWQgKnZhbCk7CisKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxYUGF0aEVxdWFsVmFsdWVzKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0KTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxYUGF0aE5vdEVxdWFsVmFsdWVzKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0KTsKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxYUGF0aENvbXBhcmVWYWx1ZXMoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQsIGludCBpbmYsIGludCBzdHJpY3QpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTCB4bWxYUGF0aFZhbHVlRmxpcFNpZ24oeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTCB4bWxYUGF0aEFkZFZhbHVlcyh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMIHhtbFhQYXRoU3ViVmFsdWVzKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0KTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwgeG1sWFBhdGhNdWx0VmFsdWVzKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0KTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwgeG1sWFBhdGhEaXZWYWx1ZXMoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTCB4bWxYUGF0aE1vZFZhbHVlcyh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCk7CisKK1hNTFBVQkZVTiBpbnQgWE1MQ0FMTCB4bWxYUGF0aElzTm9kZVR5cGUoY29uc3QgeG1sQ2hhciAqbmFtZSk7CisKKy8qCisgKiBTb21lIG9mIHRoZSBheGlzIG5hdmlnYXRpb24gcm91dGluZXMuCisgKi8KK1hNTFBVQkZVTiB4bWxOb2RlUHRyIFhNTENBTEwgeG1sWFBhdGhOZXh0U2VsZih4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCwKKwkJCXhtbE5vZGVQdHIgY3VyKTsKK1hNTFBVQkZVTiB4bWxOb2RlUHRyIFhNTENBTEwgeG1sWFBhdGhOZXh0Q2hpbGQoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQsCisJCQl4bWxOb2RlUHRyIGN1cik7CitYTUxQVUJGVU4geG1sTm9kZVB0ciBYTUxDQUxMIHhtbFhQYXRoTmV4dERlc2NlbmRhbnQoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQsCisJCQl4bWxOb2RlUHRyIGN1cik7CitYTUxQVUJGVU4geG1sTm9kZVB0ciBYTUxDQUxMIHhtbFhQYXRoTmV4dERlc2NlbmRhbnRPclNlbGYoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQsCisJCQl4bWxOb2RlUHRyIGN1cik7CitYTUxQVUJGVU4geG1sTm9kZVB0ciBYTUxDQUxMIHhtbFhQYXRoTmV4dFBhcmVudCh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCwKKwkJCXhtbE5vZGVQdHIgY3VyKTsKK1hNTFBVQkZVTiB4bWxOb2RlUHRyIFhNTENBTEwgeG1sWFBhdGhOZXh0QW5jZXN0b3JPclNlbGYoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQsCisJCQl4bWxOb2RlUHRyIGN1cik7CitYTUxQVUJGVU4geG1sTm9kZVB0ciBYTUxDQUxMIHhtbFhQYXRoTmV4dEZvbGxvd2luZ1NpYmxpbmcoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQsCisJCQl4bWxOb2RlUHRyIGN1cik7CitYTUxQVUJGVU4geG1sTm9kZVB0ciBYTUxDQUxMIHhtbFhQYXRoTmV4dEZvbGxvd2luZyh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCwKKwkJCXhtbE5vZGVQdHIgY3VyKTsKK1hNTFBVQkZVTiB4bWxOb2RlUHRyIFhNTENBTEwgeG1sWFBhdGhOZXh0TmFtZXNwYWNlKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0LAorCQkJeG1sTm9kZVB0ciBjdXIpOworWE1MUFVCRlVOIHhtbE5vZGVQdHIgWE1MQ0FMTCB4bWxYUGF0aE5leHRBdHRyaWJ1dGUoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQsCisJCQl4bWxOb2RlUHRyIGN1cik7CitYTUxQVUJGVU4geG1sTm9kZVB0ciBYTUxDQUxMIHhtbFhQYXRoTmV4dFByZWNlZGluZyh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCwKKwkJCXhtbE5vZGVQdHIgY3VyKTsKK1hNTFBVQkZVTiB4bWxOb2RlUHRyIFhNTENBTEwgeG1sWFBhdGhOZXh0QW5jZXN0b3IoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQsCisJCQl4bWxOb2RlUHRyIGN1cik7CitYTUxQVUJGVU4geG1sTm9kZVB0ciBYTUxDQUxMIHhtbFhQYXRoTmV4dFByZWNlZGluZ1NpYmxpbmcoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQsCisJCQl4bWxOb2RlUHRyIGN1cik7CisvKgorICogVGhlIG9mZmljaWFsIGNvcmUgb2YgWFBhdGggZnVuY3Rpb25zLgorICovCitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMIHhtbFhQYXRoTGFzdEZ1bmN0aW9uKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0LCBpbnQgbmFyZ3MpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTCB4bWxYUGF0aFBvc2l0aW9uRnVuY3Rpb24oeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQsIGludCBuYXJncyk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMIHhtbFhQYXRoQ291bnRGdW5jdGlvbih4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCwgaW50IG5hcmdzKTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwgeG1sWFBhdGhJZEZ1bmN0aW9uKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0LCBpbnQgbmFyZ3MpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTCB4bWxYUGF0aExvY2FsTmFtZUZ1bmN0aW9uKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0LCBpbnQgbmFyZ3MpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTCB4bWxYUGF0aE5hbWVzcGFjZVVSSUZ1bmN0aW9uKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0LCBpbnQgbmFyZ3MpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTCB4bWxYUGF0aFN0cmluZ0Z1bmN0aW9uKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0LCBpbnQgbmFyZ3MpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTCB4bWxYUGF0aFN0cmluZ0xlbmd0aEZ1bmN0aW9uKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0LCBpbnQgbmFyZ3MpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTCB4bWxYUGF0aENvbmNhdEZ1bmN0aW9uKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0LCBpbnQgbmFyZ3MpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTCB4bWxYUGF0aENvbnRhaW5zRnVuY3Rpb24oeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQsIGludCBuYXJncyk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMIHhtbFhQYXRoU3RhcnRzV2l0aEZ1bmN0aW9uKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0LCBpbnQgbmFyZ3MpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTCB4bWxYUGF0aFN1YnN0cmluZ0Z1bmN0aW9uKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0LCBpbnQgbmFyZ3MpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTCB4bWxYUGF0aFN1YnN0cmluZ0JlZm9yZUZ1bmN0aW9uKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0LCBpbnQgbmFyZ3MpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTCB4bWxYUGF0aFN1YnN0cmluZ0FmdGVyRnVuY3Rpb24oeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQsIGludCBuYXJncyk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMIHhtbFhQYXRoTm9ybWFsaXplRnVuY3Rpb24oeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQsIGludCBuYXJncyk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMIHhtbFhQYXRoVHJhbnNsYXRlRnVuY3Rpb24oeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQsIGludCBuYXJncyk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMIHhtbFhQYXRoTm90RnVuY3Rpb24oeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQsIGludCBuYXJncyk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMIHhtbFhQYXRoVHJ1ZUZ1bmN0aW9uKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0LCBpbnQgbmFyZ3MpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTCB4bWxYUGF0aEZhbHNlRnVuY3Rpb24oeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQsIGludCBuYXJncyk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMIHhtbFhQYXRoTGFuZ0Z1bmN0aW9uKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0LCBpbnQgbmFyZ3MpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTCB4bWxYUGF0aE51bWJlckZ1bmN0aW9uKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0LCBpbnQgbmFyZ3MpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTCB4bWxYUGF0aFN1bUZ1bmN0aW9uKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0LCBpbnQgbmFyZ3MpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTCB4bWxYUGF0aEZsb29yRnVuY3Rpb24oeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQsIGludCBuYXJncyk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMIHhtbFhQYXRoQ2VpbGluZ0Z1bmN0aW9uKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0LCBpbnQgbmFyZ3MpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTCB4bWxYUGF0aFJvdW5kRnVuY3Rpb24oeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQsIGludCBuYXJncyk7CitYTUxQVUJGVU4gdm9pZCBYTUxDQUxMIHhtbFhQYXRoQm9vbGVhbkZ1bmN0aW9uKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0LCBpbnQgbmFyZ3MpOworCisvKioKKyAqIFJlYWxseSBpbnRlcm5hbCBmdW5jdGlvbnMKKyAqLworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTCB4bWxYUGF0aE5vZGVTZXRGcmVlTnMoeG1sTnNQdHIgbnMpOworCisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorCisjZW5kaWYgLyogTElCWE1MX1hQQVRIX0VOQUJMRUQgKi8KKyNlbmRpZiAvKiAhIF9fWE1MX1hQQVRIX0lOVEVSTkFMU19IX18gKi8KZGlmZiAtLWdpdCBhL2xpYnhtbDIvaW5jbHVkZS9saWJ4bWwveHBvaW50ZXIuaCBiL2xpYnhtbDIvaW5jbHVkZS9saWJ4bWwveHBvaW50ZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iOTkxMTJiCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9pbmNsdWRlL2xpYnhtbC94cG9pbnRlci5oCkBAIC0wLDAgKzEsMTE0IEBACisvKgorICogU3VtbWFyeTogQVBJIHRvIGhhbmRsZSBYTUwgUG9pbnRlcnMKKyAqIERlc2NyaXB0aW9uOiBBUEkgdG8gaGFuZGxlIFhNTCBQb2ludGVycworICogQmFzZSBpbXBsZW1lbnRhdGlvbiB3YXMgbWFkZSBhY2NvcmRpbmdseSB0bworICogVzNDIENhbmRpZGF0ZSBSZWNvbW1lbmRhdGlvbiA3IEp1bmUgMjAwMAorICogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwMC9DUi14cHRyLTIwMDAwNjA3CisgKgorICogQWRkZWQgc3VwcG9ydCBmb3IgdGhlIGVsZW1lbnQoKSBzY2hlbWUgZGVzY3JpYmVkIGluOgorICogVzNDIFByb3Bvc2VkIFJlY29tbWVuZGF0aW9uIDEzIE5vdmVtYmVyIDIwMDIKKyAqIGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDIvUFIteHB0ci1lbGVtZW50LTIwMDIxMTEzLworICoKKyAqIENvcHk6IFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyAqCisgKiBBdXRob3I6IERhbmllbCBWZWlsbGFyZAorICovCisKKyNpZm5kZWYgX19YTUxfWFBUUl9IX18KKyNkZWZpbmUgX19YTUxfWFBUUl9IX18KKworI2luY2x1ZGUgPGxpYnhtbC94bWx2ZXJzaW9uLmg+CisKKyNpZmRlZiBMSUJYTUxfWFBUUl9FTkFCTEVECisKKyNpbmNsdWRlIDxsaWJ4bWwvdHJlZS5oPgorI2luY2x1ZGUgPGxpYnhtbC94cGF0aC5oPgorCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCisKKy8qCisgKiBBIExvY2F0aW9uIFNldAorICovCit0eXBlZGVmIHN0cnVjdCBfeG1sTG9jYXRpb25TZXQgeG1sTG9jYXRpb25TZXQ7Cit0eXBlZGVmIHhtbExvY2F0aW9uU2V0ICp4bWxMb2NhdGlvblNldFB0cjsKK3N0cnVjdCBfeG1sTG9jYXRpb25TZXQgeworICAgIGludCBsb2NOcjsJCSAgICAgIC8qIG51bWJlciBvZiBsb2NhdGlvbnMgaW4gdGhlIHNldCAqLworICAgIGludCBsb2NNYXg7CQkgICAgICAvKiBzaXplIG9mIHRoZSBhcnJheSBhcyBhbGxvY2F0ZWQgKi8KKyAgICB4bWxYUGF0aE9iamVjdFB0ciAqbG9jVGFiOy8qIGFycmF5IG9mIGxvY2F0aW9ucyAqLworfTsKKworLyoKKyAqIEhhbmRsaW5nIG9mIGxvY2F0aW9uIHNldHMuCisgKi8KKworWE1MUFVCRlVOIHhtbExvY2F0aW9uU2V0UHRyIFhNTENBTEwKKwkJICAgIHhtbFhQdHJMb2NhdGlvblNldENyZWF0ZQkoeG1sWFBhdGhPYmplY3RQdHIgdmFsKTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJICAgIHhtbFhQdHJGcmVlTG9jYXRpb25TZXQJKHhtbExvY2F0aW9uU2V0UHRyIG9iaik7CitYTUxQVUJGVU4geG1sTG9jYXRpb25TZXRQdHIgWE1MQ0FMTAorCQkgICAgeG1sWFB0ckxvY2F0aW9uU2V0TWVyZ2UJKHhtbExvY2F0aW9uU2V0UHRyIHZhbDEsCisJCQkJCQkgeG1sTG9jYXRpb25TZXRQdHIgdmFsMik7CitYTUxQVUJGVU4geG1sWFBhdGhPYmplY3RQdHIgWE1MQ0FMTAorCQkgICAgeG1sWFB0ck5ld1JhbmdlCQkoeG1sTm9kZVB0ciBzdGFydCwKKwkJCQkJCSBpbnQgc3RhcnRpbmRleCwKKwkJCQkJCSB4bWxOb2RlUHRyIGVuZCwKKwkJCQkJCSBpbnQgZW5kaW5kZXgpOworWE1MUFVCRlVOIHhtbFhQYXRoT2JqZWN0UHRyIFhNTENBTEwKKwkJICAgIHhtbFhQdHJOZXdSYW5nZVBvaW50cwkoeG1sWFBhdGhPYmplY3RQdHIgc3RhcnQsCisJCQkJCQkgeG1sWFBhdGhPYmplY3RQdHIgZW5kKTsKK1hNTFBVQkZVTiB4bWxYUGF0aE9iamVjdFB0ciBYTUxDQUxMCisJCSAgICB4bWxYUHRyTmV3UmFuZ2VOb2RlUG9pbnQJKHhtbE5vZGVQdHIgc3RhcnQsCisJCQkJCQkgeG1sWFBhdGhPYmplY3RQdHIgZW5kKTsKK1hNTFBVQkZVTiB4bWxYUGF0aE9iamVjdFB0ciBYTUxDQUxMCisJCSAgICB4bWxYUHRyTmV3UmFuZ2VQb2ludE5vZGUJKHhtbFhQYXRoT2JqZWN0UHRyIHN0YXJ0LAorCQkJCQkJIHhtbE5vZGVQdHIgZW5kKTsKK1hNTFBVQkZVTiB4bWxYUGF0aE9iamVjdFB0ciBYTUxDQUxMCisJCSAgICB4bWxYUHRyTmV3UmFuZ2VOb2RlcwkoeG1sTm9kZVB0ciBzdGFydCwKKwkJCQkJCSB4bWxOb2RlUHRyIGVuZCk7CitYTUxQVUJGVU4geG1sWFBhdGhPYmplY3RQdHIgWE1MQ0FMTAorCQkgICAgeG1sWFB0ck5ld0xvY2F0aW9uU2V0Tm9kZXMJKHhtbE5vZGVQdHIgc3RhcnQsCisJCQkJCQkgeG1sTm9kZVB0ciBlbmQpOworWE1MUFVCRlVOIHhtbFhQYXRoT2JqZWN0UHRyIFhNTENBTEwKKwkJICAgIHhtbFhQdHJOZXdMb2NhdGlvblNldE5vZGVTZXQoeG1sTm9kZVNldFB0ciBzZXQpOworWE1MUFVCRlVOIHhtbFhQYXRoT2JqZWN0UHRyIFhNTENBTEwKKwkJICAgIHhtbFhQdHJOZXdSYW5nZU5vZGVPYmplY3QJKHhtbE5vZGVQdHIgc3RhcnQsCisJCQkJCQkgeG1sWFBhdGhPYmplY3RQdHIgZW5kKTsKK1hNTFBVQkZVTiB4bWxYUGF0aE9iamVjdFB0ciBYTUxDQUxMCisJCSAgICB4bWxYUHRyTmV3Q29sbGFwc2VkUmFuZ2UJKHhtbE5vZGVQdHIgc3RhcnQpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQkgICAgeG1sWFB0ckxvY2F0aW9uU2V0QWRkCSh4bWxMb2NhdGlvblNldFB0ciBjdXIsCisJCQkJCQkgeG1sWFBhdGhPYmplY3RQdHIgdmFsKTsKK1hNTFBVQkZVTiB4bWxYUGF0aE9iamVjdFB0ciBYTUxDQUxMCisJCSAgICB4bWxYUHRyV3JhcExvY2F0aW9uU2V0CSh4bWxMb2NhdGlvblNldFB0ciB2YWwpOworWE1MUFVCRlVOIHZvaWQgWE1MQ0FMTAorCQkgICAgeG1sWFB0ckxvY2F0aW9uU2V0RGVsCSh4bWxMb2NhdGlvblNldFB0ciBjdXIsCisJCQkJCQkgeG1sWFBhdGhPYmplY3RQdHIgdmFsKTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJICAgIHhtbFhQdHJMb2NhdGlvblNldFJlbW92ZQkoeG1sTG9jYXRpb25TZXRQdHIgY3VyLAorCQkJCQkJIGludCB2YWwpOworCisvKgorICogRnVuY3Rpb25zLgorICovCitYTUxQVUJGVU4geG1sWFBhdGhDb250ZXh0UHRyIFhNTENBTEwKKwkJICAgIHhtbFhQdHJOZXdDb250ZXh0CQkoeG1sRG9jUHRyIGRvYywKKwkJCQkJCSB4bWxOb2RlUHRyIGhlcmUsCisJCQkJCQkgeG1sTm9kZVB0ciBvcmlnaW4pOworWE1MUFVCRlVOIHhtbFhQYXRoT2JqZWN0UHRyIFhNTENBTEwKKwkJICAgIHhtbFhQdHJFdmFsCQkJKGNvbnN0IHhtbENoYXIgKnN0ciwKKwkJCQkJCSB4bWxYUGF0aENvbnRleHRQdHIgY3R4KTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJICAgIHhtbFhQdHJSYW5nZVRvRnVuY3Rpb24JKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0LAorCQkJCQkJIGludCBuYXJncyk7CitYTUxQVUJGVU4geG1sTm9kZVB0ciBYTUxDQUxMCisJCSAgICB4bWxYUHRyQnVpbGROb2RlTGlzdAkoeG1sWFBhdGhPYmplY3RQdHIgb2JqKTsKK1hNTFBVQkZVTiB2b2lkIFhNTENBTEwKKwkJICAgIHhtbFhQdHJFdmFsUmFuZ2VQcmVkaWNhdGUJKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0KTsKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCisKKyNlbmRpZiAvKiBMSUJYTUxfWFBUUl9FTkFCTEVEICovCisjZW5kaWYgLyogX19YTUxfWFBUUl9IX18gKi8KZGlmZiAtLWdpdCBhL2xpYnhtbDIvaW5jbHVkZS93aW4zMmNvbmZpZy5oIGIvbGlieG1sMi9pbmNsdWRlL3dpbjMyY29uZmlnLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDBjZjdkZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvaW5jbHVkZS93aW4zMmNvbmZpZy5oCkBAIC0wLDAgKzEsMTI4IEBACisjaWZuZGVmIF9fTElCWE1MX1dJTjMyX0NPTkZJR19fCisjZGVmaW5lIF9fTElCWE1MX1dJTjMyX0NPTkZJR19fCisKKyNkZWZpbmUgSEFWRV9DVFlQRV9ICisjZGVmaW5lIEhBVkVfU1REQVJHX0gKKyNkZWZpbmUgSEFWRV9NQUxMT0NfSAorI2RlZmluZSBIQVZFX0VSUk5PX0gKKyNkZWZpbmUgU0VORF9BUkcyX0NBU1QKKyNkZWZpbmUgR0VUSE9TVEJZTkFNRV9BUkdfQ0FTVAorCisjaWYgZGVmaW5lZChfV0lOMzJfV0NFKQorI3VuZGVmIEhBVkVfRVJSTk9fSAorI2luY2x1ZGUgPHdpbmRvd3MuaD4KKyNpbmNsdWRlICJ3aW5jZWNvbXBhdC5oIgorI2Vsc2UKKyNkZWZpbmUgSEFWRV9TWVNfU1RBVF9ICisjZGVmaW5lIEhBVkVfX1NUQVQKKyNkZWZpbmUgSEFWRV9TVEFUCisjZGVmaW5lIEhBVkVfU1RETElCX0gKKyNkZWZpbmUgSEFWRV9USU1FX0gKKyNkZWZpbmUgSEFWRV9GQ05UTF9ICisjaW5jbHVkZSA8aW8uaD4KKyNpbmNsdWRlIDxkaXJlY3QuaD4KKyNlbmRpZgorCisjaW5jbHVkZSA8bGlieG1sL3htbHZlcnNpb24uaD4KKworI2lmbmRlZiBJQ09OVl9DT05TVAorI2RlZmluZSBJQ09OVl9DT05TVCBjb25zdAorI2VuZGlmCisKKyNpZmRlZiBORUVEX1NPQ0tFVFMKKyNpbmNsdWRlIDx3c29ja2NvbXBhdC5oPgorI2VuZGlmCisKKy8qCisgKiBXaW5kb3dzIHBsYXRmb3JtcyBtYXkgZGVmaW5lIGV4Y2VwdCAKKyAqLworI3VuZGVmIGV4Y2VwdAorCisjZGVmaW5lIEhBVkVfSVNJTkYKKyNkZWZpbmUgSEFWRV9JU05BTgorI2luY2x1ZGUgPG1hdGguaD4KKyNpZiBkZWZpbmVkKF9NU0NfVkVSKSB8fCBkZWZpbmVkKF9fQk9STEFORENfXykKKy8qIE1TIEMtcnVudGltZSBoYXMgZnVuY3Rpb25zIHdoaWNoIGNhbiBiZSB1c2VkIGluIG9yZGVyIHRvIGRldGVybWluZSBpZgorICAgYSBnaXZlbiBmbG9hdGluZy1wb2ludCB2YXJpYWJsZSBjb250YWlucyBOYU4sICgrLSlJTkYuIFRoZXNlIGFyZSAKKyAgIHByZWZlcnJlZCwgYmVjYXVzZSBmbG9hdGluZy1wb2ludCB0ZWNobm9sb2d5IGlzIGNvbnNpZGVyZWQgcHJvcHJpYXRhcnkKKyAgIGJ5IE1TIGFuZCB3ZSBjYW4gYXNzdW1lIHRoYXQgdGhlaXIgZnVuY3Rpb25zIGtub3cgbW9yZSBhYm91dCB0aGVpciAKKyAgIG9kZGl0aWVzIHRoYW4gd2UgZG8uICovCisjaW5jbHVkZSA8ZmxvYXQuaD4KKy8qIEJqb3JuIFJlZXNlIGZpZ3VyZWQgYSBxdWl0ZSBuaWNlIGNvbnN0cnVjdCBmb3IgaXNpbmYoKSB1c2luZyB0aGUgX2ZwY2xhc3MKKyAgIGZ1bmN0aW9uLiAqLworI2lmbmRlZiBpc2luZgorI2RlZmluZSBpc2luZihkKSAoKF9mcGNsYXNzKGQpID09IF9GUENMQVNTX1BJTkYpID8gMSBcCisJOiAoKF9mcGNsYXNzKGQpID09IF9GUENMQVNTX05JTkYpID8gLTEgOiAwKSkKKyNlbmRpZgorLyogX2lzbmFuKHgpIHJldHVybnMgbm9uemVybyBpZiAoeCA9PSBOYU4pIGFuZCB6ZXJvIG90aGVyd2lzZS4gKi8KKyNpZm5kZWYgaXNuYW4KKyNkZWZpbmUgaXNuYW4oZCkgKF9pc25hbihkKSkKKyNlbmRpZgorI2Vsc2UgLyogX01TQ19WRVIgKi8KKyNpZm5kZWYgaXNpbmYKK3N0YXRpYyBpbnQgaXNpbmYgKGRvdWJsZSBkKSB7CisgICAgaW50IGV4cG9uID0gMDsKKyAgICBkb3VibGUgdmFsID0gZnJleHAgKGQsICZleHBvbik7CisgICAgaWYgKGV4cG9uID09IDEwMjUpIHsKKyAgICAgICAgaWYgKHZhbCA9PSAwLjUpIHsKKyAgICAgICAgICAgIHJldHVybiAxOworICAgICAgICB9IGVsc2UgaWYgKHZhbCA9PSAtMC41KSB7CisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgfQorICAgIH0gZWxzZSB7CisgICAgICAgIHJldHVybiAwOworICAgIH0KK30KKyNlbmRpZgorI2lmbmRlZiBpc25hbgorc3RhdGljIGludCBpc25hbiAoZG91YmxlIGQpIHsKKyAgICBpbnQgZXhwb24gPSAwOworICAgIGRvdWJsZSB2YWwgPSBmcmV4cCAoZCwgJmV4cG9uKTsKKyAgICBpZiAoZXhwb24gPT0gMTAyNSkgeworICAgICAgICBpZiAodmFsID09IDAuNSkgeworICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIH0gZWxzZSBpZiAodmFsID09IC0wLjUpIHsKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgcmV0dXJuIDE7CisgICAgICAgIH0KKyAgICB9IGVsc2UgeworICAgICAgICByZXR1cm4gMDsKKyAgICB9Cit9CisjZW5kaWYKKyNlbmRpZiAvKiBfTVNDX1ZFUiAqLworCisjaWYgZGVmaW5lZChfTVNDX1ZFUikKKyNkZWZpbmUgbWtkaXIocCxtKSBfbWtkaXIocCkKKyNpZiBfTVNDX1ZFUiA8IDE5MDAKKyNkZWZpbmUgc25wcmludGYgX3NucHJpbnRmCisjZW5kaWYKKyNpZiBfTVNDX1ZFUiA8IDE1MDAKKyNkZWZpbmUgdnNucHJpbnRmKGIsYyxmLGEpIF92c25wcmludGYoYixjLGYsYSkKKyNlbmRpZgorI2VsaWYgZGVmaW5lZChfX01JTkdXMzJfXykKKyNkZWZpbmUgbWtkaXIocCxtKSBfbWtkaXIocCkKKyNlbmRpZgorCisvKiBUaHJlYWRpbmcgQVBJIHRvIHVzZSBzaG91bGQgYmUgc3BlY2lmaWVkIGhlcmUgZm9yIGNvbXBhdGliaWxpdHkgcmVhc29ucy4KKyAgIFRoaXMgaXMgaG93ZXZlciBiZXN0IHNwZWNpZmllZCBvbiB0aGUgY29tcGlsZXIncyBjb21tYW5kLWxpbmUuICovCisjaWYgZGVmaW5lZChMSUJYTUxfVEhSRUFEX0VOQUJMRUQpCisjaWYgIWRlZmluZWQoSEFWRV9QVEhSRUFEX0gpICYmICFkZWZpbmVkKEhBVkVfV0lOMzJfVEhSRUFEUykgJiYgIWRlZmluZWQoX1dJTjMyX1dDRSkKKyNkZWZpbmUgSEFWRV9XSU4zMl9USFJFQURTCisjZW5kaWYKKyNlbmRpZgorCisvKiBTb21lIHRoaXJkLXBhcnR5IGxpYnJhcmllcyBmYXIgZnJvbSBvdXIgY29udHJvbCBhc3N1bWUgdGhlIGZvbGxvd2luZworICAgaXMgZGVmaW5lZCwgd2hpY2ggaXQgaXMgbm90IGlmIHdlIGRvbid0IGluY2x1ZGUgd2luZG93cy5oLiAqLworI2lmICFkZWZpbmVkKEZBTFNFKQorI2RlZmluZSBGQUxTRSAwCisjZW5kaWYKKyNpZiAhZGVmaW5lZChUUlVFKQorI2RlZmluZSBUUlVFICghKEZBTFNFKSkKKyNlbmRpZgorCisjZW5kaWYgLyogX19MSUJYTUxfV0lOMzJfQ09ORklHX18gKi8KKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9pbmNsdWRlL3dzb2NrY29tcGF0LmggYi9saWJ4bWwyL2luY2x1ZGUvd3NvY2tjb21wYXQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNmExYTk5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9pbmNsdWRlL3dzb2NrY29tcGF0LmgKQEAgLTAsMCArMSw4NiBAQAorLyogaW5jbHVkZS93c29ja2NvbXBhdC5oCisgKiBXaW5kb3dzIC0+IEJlcmtlbGV5IFNvY2tldHMgY29tcGF0aWJpbGl0eSB0aGluZ3MuCisgKi8KKworI2lmICFkZWZpbmVkIF9fWE1MX1dTT0NLQ09NUEFUX0hfXworI2RlZmluZSBfX1hNTF9XU09DS0NPTVBBVF9IX18KKworI2lmZGVmIF9XSU4zMl9XQ0UKKyNpbmNsdWRlIDx3aW5zb2NrLmg+CisjZWxzZQorI3VuZGVmIEhBVkVfRVJSTk9fSAorI2luY2x1ZGUgPHdpbnNvY2syLmg+CisKKy8qIHRoZSBmb2xsb3dpbmcgaXMgYSB3b3JrYXJvdW5kIGEgcHJvYmxlbSBmb3IgJ2lubGluZScga2V5d29yZCBpbiBzYWlkCisgICBoZWFkZXIgd2hlbiBjb21waWxlZCB3aXRoIEJvcmxhbmQgQysrIDYgKi8KKyNpZiBkZWZpbmVkKF9fQk9STEFORENfXykgJiYgIWRlZmluZWQoX19jcGx1c3BsdXMpCisjZGVmaW5lIGlubGluZSBfX2lubGluZQorI2RlZmluZSBfaW5saW5lIF9faW5saW5lCisjZW5kaWYKKworI2luY2x1ZGUgPHdzMnRjcGlwLmg+CisKKy8qIENoZWNrIGlmIHdzMnRjcGlwLmggaXMgYSByZWNlbnQgdmVyc2lvbiB3aGljaCBwcm92aWRlcyBnZXRhZGRyaW5mbygpICovCisjaWYgZGVmaW5lZChHZXRBZGRySW5mbykKKyNpbmNsdWRlIDx3c3BpYXBpLmg+CisjZGVmaW5lIEhBVkVfR0VUQUREUklORk8KKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKCBfX01JTkdXMzJfXyApIHx8IGRlZmluZWQoIF9NU0NfVkVSICkKKy8qIEluY2x1ZGUgPGVycm5vLmg+IGhlcmUgdG8gZW5zdXJlIHRoYXQgaXQgZG9lc24ndCBnZXQgaW5jbHVkZWQgbGF0ZXIKKyAqIChlLmcuIGJ5IGljb252LmgpIGFuZCBvdmVyd3JpdGVzIHRoZSBkZWZpbml0aW9uIG9mIEVXT1VMREJMT0NLLiAqLworI2luY2x1ZGUgPGVycm5vLmg+CisjdW5kZWYgRVdPVUxEQkxPQ0sKKyNlbmRpZgorCisjaWYgIWRlZmluZWQgU09DS0xFTl9UCisjZGVmaW5lIFNPQ0tMRU5fVCBpbnQKKyNlbmRpZgorCisjZGVmaW5lIEVXT1VMREJMT0NLICAgICAgICAgICAgIFdTQUVXT1VMREJMT0NLCisjZGVmaW5lIEVTSFVURE9XTiAgICAgICAgICAgICAgIFdTQUVTSFVURE9XTgorCisjaWYgKCFkZWZpbmVkKF9NU0NfVkVSKSB8fCAoX01TQ19WRVIgPCAxNjAwKSkKKyNkZWZpbmUgRUlOUFJPR1JFU1MgICAgICAgICAgICAgV1NBRUlOUFJPR1JFU1MKKyNkZWZpbmUgRUFMUkVBRFkgICAgICAgICAgICAgICAgV1NBRUFMUkVBRFkKKyNkZWZpbmUgRU5PVFNPQ0sgICAgICAgICAgICAgICAgV1NBRU5PVFNPQ0sKKyNkZWZpbmUgRURFU1RBRERSUkVRICAgICAgICAgICAgV1NBRURFU1RBRERSUkVRCisjZGVmaW5lIEVNU0dTSVpFICAgICAgICAgICAgICAgIFdTQUVNU0dTSVpFCisjZGVmaW5lIEVQUk9UT1RZUEUgICAgICAgICAgICAgIFdTQUVQUk9UT1RZUEUKKyNkZWZpbmUgRU5PUFJPVE9PUFQgICAgICAgICAgICAgV1NBRU5PUFJPVE9PUFQKKyNkZWZpbmUgRVBST1RPTk9TVVBQT1JUICAgICAgICAgV1NBRVBST1RPTk9TVVBQT1JUCisjZGVmaW5lIEVTT0NLVE5PU1VQUE9SVCAgICAgICAgIFdTQUVTT0NLVE5PU1VQUE9SVAorI2RlZmluZSBFT1BOT1RTVVBQICAgICAgICAgICAgICBXU0FFT1BOT1RTVVBQCisjZGVmaW5lIEVQRk5PU1VQUE9SVCAgICAgICAgICAgIFdTQUVQRk5PU1VQUE9SVAorI2RlZmluZSBFQUZOT1NVUFBPUlQgICAgICAgICAgICBXU0FFQUZOT1NVUFBPUlQKKyNkZWZpbmUgRUFERFJJTlVTRSAgICAgICAgICAgICAgV1NBRUFERFJJTlVTRQorI2RlZmluZSBFQUREUk5PVEFWQUlMICAgICAgICAgICBXU0FFQUREUk5PVEFWQUlMCisjZGVmaW5lIEVORVRET1dOICAgICAgICAgICAgICAgIFdTQUVORVRET1dOCisjZGVmaW5lIEVORVRVTlJFQUNIICAgICAgICAgICAgIFdTQUVORVRVTlJFQUNICisjZGVmaW5lIEVORVRSRVNFVCAgICAgICAgICAgICAgIFdTQUVORVRSRVNFVAorI2RlZmluZSBFQ09OTkFCT1JURUQgICAgICAgICAgICBXU0FFQ09OTkFCT1JURUQKKyNkZWZpbmUgRUNPTk5SRVNFVCAgICAgICAgICAgICAgV1NBRUNPTk5SRVNFVAorI2RlZmluZSBFTk9CVUZTICAgICAgICAgICAgICAgICBXU0FFTk9CVUZTCisjZGVmaW5lIEVJU0NPTk4gICAgICAgICAgICAgICAgIFdTQUVJU0NPTk4KKyNkZWZpbmUgRU5PVENPTk4gICAgICAgICAgICAgICAgV1NBRU5PVENPTk4KKyNkZWZpbmUgRVRPT01BTllSRUZTICAgICAgICAgICAgV1NBRVRPT01BTllSRUZTCisjZGVmaW5lIEVUSU1FRE9VVCAgICAgICAgICAgICAgIFdTQUVUSU1FRE9VVAorI2RlZmluZSBFQ09OTlJFRlVTRUQgICAgICAgICAgICBXU0FFQ09OTlJFRlVTRUQKKyNkZWZpbmUgRUxPT1AgICAgICAgICAgICAgICAgICAgV1NBRUxPT1AKKyNkZWZpbmUgRUhPU1RET1dOICAgICAgICAgICAgICAgV1NBRUhPU1RET1dOCisjZGVmaW5lIEVIT1NUVU5SRUFDSCAgICAgICAgICAgIFdTQUVIT1NUVU5SRUFDSAorI2RlZmluZSBFUFJPQ0xJTSAgICAgICAgICAgICAgICBXU0FFUFJPQ0xJTQorI2RlZmluZSBFVVNFUlMgICAgICAgICAgICAgICAgICBXU0FFVVNFUlMKKyNkZWZpbmUgRURRVU9UICAgICAgICAgICAgICAgICAgV1NBRURRVU9UCisjZGVmaW5lIEVTVEFMRSAgICAgICAgICAgICAgICAgIFdTQUVTVEFMRQorI2RlZmluZSBFUkVNT1RFICAgICAgICAgICAgICAgICBXU0FFUkVNT1RFCisvKiBUaGVzZSBjYXVzZSBjb25mbGljdHMgd2l0aCB0aGUgY29kZXMgZnJvbSBlcnJuby5oLiBTaW5jZSB0aGV5IGFyZSAKKyAgIG5vdCB1c2VkIGluIHRoZSByZWxldmFudCBjb2RlIChuYW5vZnRwLCBuYW5vaHR0cCksIHdlIGNhbiBsZWF2ZSAKKyAgIHRoZW0gZGlzYWJsZWQuCisjZGVmaW5lIEVOQU1FVE9PTE9ORyAgICAgICAgICAgIFdTQUVOQU1FVE9PTE9ORworI2RlZmluZSBFTk9URU1QVFkgICAgICAgICAgICAgICBXU0FFTk9URU1QVFkKKyovCisjZW5kaWYgLyogX01TQ19WRVIgKi8KKworI2VuZGlmIC8qIF9fWE1MX1dTT0NLQ09NUEFUX0hfXyAqLwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9sZWdhY3kuYyBiL2xpYnhtbDIvbGVnYWN5LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODYzNjJiZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvbGVnYWN5LmMKQEAgLTAsMCArMSwxMzQzIEBACisvKgorICogbGVnYWN5LmM6IHNldCBvZiBkZXByZWNhdGVkIHJvdXRpbmVzLCBub3QgdG8gYmUgdXNlZCBhbnltb3JlIGJ1dAorICogICAgICAgICAgIGtlcHQgcHVyZWx5IGZvciBBQkkgY29tcGF0aWJpbGl0eQorICoKKyAqIFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyAqCisgKiBkYW5pZWxAdmVpbGxhcmQuY29tCisgKi8KKworI2RlZmluZSBJTl9MSUJYTUwKKyNpbmNsdWRlICJsaWJ4bWwuaCIKKworI2lmZGVmIExJQlhNTF9MRUdBQ1lfRU5BQkxFRAorI2luY2x1ZGUgPHN0cmluZy5oPgorCisjaW5jbHVkZSA8bGlieG1sL3RyZWUuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvZW50aXRpZXMuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvU0FYLmg+CisjaW5jbHVkZSA8bGlieG1sL3BhcnNlckludGVybmFscy5oPgorI2luY2x1ZGUgPGxpYnhtbC9IVE1McGFyc2VyLmg+CisKK3ZvaWQgeG1sVXBncmFkZU9sZE5zKHhtbERvY1B0ciBkb2MpOworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQlEZXByZWNhdGVkIGZ1bmN0aW9ucyBrZXB0IGZvciBjb21wYXRpYmlsaXR5CQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZmRlZiBMSUJYTUxfSFRNTF9FTkFCTEVECit4bWxDaGFyICpodG1sRGVjb2RlRW50aXRpZXMoaHRtbFBhcnNlckN0eHRQdHIgY3R4dCwgaW50IGxlbiwgeG1sQ2hhciBlbmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sQ2hhciBlbmQyLCB4bWxDaGFyIGVuZDMpOworCisvKioKKyAqIGh0bWxEZWNvZGVFbnRpdGllczoKKyAqIEBjdHh0OiAgdGhlIHBhcnNlciBjb250ZXh0CisgKiBAbGVuOiAgdGhlIGxlbiB0byBkZWNvZGUgKGluIGJ5dGVzICEpLCAtMSBmb3Igbm8gc2l6ZSBsaW1pdAorICogQGVuZDogIGFuIGVuZCBtYXJrZXIgeG1sQ2hhciwgMCBpZiBub25lCisgKiBAZW5kMjogIGFuIGVuZCBtYXJrZXIgeG1sQ2hhciwgMCBpZiBub25lCisgKiBAZW5kMzogIGFuIGVuZCBtYXJrZXIgeG1sQ2hhciwgMCBpZiBub25lCisgKgorICogU3Vic3RpdHV0ZSB0aGUgSFRNTCBlbnRpdGllcyBieSB0aGVpciB2YWx1ZQorICoKKyAqIERFUFJFQ0FURUQgISEhIQorICoKKyAqIFJldHVybnMgQSBuZXdseSBhbGxvY2F0ZWQgc3RyaW5nIHdpdGggdGhlIHN1YnN0aXR1dGlvbiBkb25lLiBUaGUgY2FsbGVyCisgKiAgICAgIG11c3QgZGVhbGxvY2F0ZSBpdCAhCisgKi8KK3htbENoYXIgKgoraHRtbERlY29kZUVudGl0aWVzKGh0bWxQYXJzZXJDdHh0UHRyIGN0eHQgQVRUUklCVVRFX1VOVVNFRCwKKyAgICAgICAgICAgICAgICAgICBpbnQgbGVuIEFUVFJJQlVURV9VTlVTRUQsIHhtbENoYXIgZW5kIEFUVFJJQlVURV9VTlVTRUQsCisgICAgICAgICAgICAgICAgICAgeG1sQ2hhciBlbmQyIEFUVFJJQlVURV9VTlVTRUQsCisgICAgICAgICAgICAgICAgICAgeG1sQ2hhciBlbmQzIEFUVFJJQlVURV9VTlVTRUQpCit7CisgICAgc3RhdGljIGludCBkZXByZWNhdGVkID0gMDsKKworICAgIGlmICghZGVwcmVjYXRlZCkgeworICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJodG1sRGVjb2RlRW50aXRpZXMoKSBkZXByZWNhdGVkIGZ1bmN0aW9uIHJlYWNoZWRcbiIpOworICAgICAgICBkZXByZWNhdGVkID0gMTsKKyAgICB9CisgICAgcmV0dXJuIChOVUxMKTsKK30KKyNlbmRpZgorCisvKioKKyAqIHhtbEluaXRpYWxpemVQcmVkZWZpbmVkRW50aXRpZXM6CisgKgorICogU2V0IHVwIHRoZSBwcmVkZWZpbmVkIGVudGl0aWVzLgorICogRGVwcmVjYXRlZCBjYWxsCisgKi8KK3ZvaWQKK3htbEluaXRpYWxpemVQcmVkZWZpbmVkRW50aXRpZXModm9pZCkKK3sKK30KKworLyoqCisgKiB4bWxDbGVhbnVwUHJlZGVmaW5lZEVudGl0aWVzOgorICoKKyAqIENsZWFudXAgdXAgdGhlIHByZWRlZmluZWQgZW50aXRpZXMgdGFibGUuCisgKiBEZXByZWNhdGVkIGNhbGwKKyAqLwordm9pZAoreG1sQ2xlYW51cFByZWRlZmluZWRFbnRpdGllcyh2b2lkKQoreworfQorCitzdGF0aWMgY29uc3QgY2hhciAqeG1sRmVhdHVyZXNMaXN0W10gPSB7CisgICAgInZhbGlkYXRlIiwKKyAgICAibG9hZCBzdWJzZXQiLAorICAgICJrZWVwIGJsYW5rcyIsCisgICAgImRpc2FibGUgU0FYIiwKKyAgICAiZmV0Y2ggZXh0ZXJuYWwgZW50aXRpZXMiLAorICAgICJzdWJzdGl0dXRlIGVudGl0aWVzIiwKKyAgICAiZ2F0aGVyIGxpbmUgaW5mbyIsCisgICAgInVzZXIgZGF0YSIsCisgICAgImlzIGh0bWwiLAorICAgICJpcyBzdGFuZGFsb25lIiwKKyAgICAic3RvcCBwYXJzZXIiLAorICAgICJkb2N1bWVudCIsCisgICAgImlzIHdlbGwgZm9ybWVkIiwKKyAgICAiaXMgdmFsaWQiLAorICAgICJTQVggYmxvY2siLAorICAgICJTQVggZnVuY3Rpb24gaW50ZXJuYWxTdWJzZXQiLAorICAgICJTQVggZnVuY3Rpb24gaXNTdGFuZGFsb25lIiwKKyAgICAiU0FYIGZ1bmN0aW9uIGhhc0ludGVybmFsU3Vic2V0IiwKKyAgICAiU0FYIGZ1bmN0aW9uIGhhc0V4dGVybmFsU3Vic2V0IiwKKyAgICAiU0FYIGZ1bmN0aW9uIHJlc29sdmVFbnRpdHkiLAorICAgICJTQVggZnVuY3Rpb24gZ2V0RW50aXR5IiwKKyAgICAiU0FYIGZ1bmN0aW9uIGVudGl0eURlY2wiLAorICAgICJTQVggZnVuY3Rpb24gbm90YXRpb25EZWNsIiwKKyAgICAiU0FYIGZ1bmN0aW9uIGF0dHJpYnV0ZURlY2wiLAorICAgICJTQVggZnVuY3Rpb24gZWxlbWVudERlY2wiLAorICAgICJTQVggZnVuY3Rpb24gdW5wYXJzZWRFbnRpdHlEZWNsIiwKKyAgICAiU0FYIGZ1bmN0aW9uIHNldERvY3VtZW50TG9jYXRvciIsCisgICAgIlNBWCBmdW5jdGlvbiBzdGFydERvY3VtZW50IiwKKyAgICAiU0FYIGZ1bmN0aW9uIGVuZERvY3VtZW50IiwKKyAgICAiU0FYIGZ1bmN0aW9uIHN0YXJ0RWxlbWVudCIsCisgICAgIlNBWCBmdW5jdGlvbiBlbmRFbGVtZW50IiwKKyAgICAiU0FYIGZ1bmN0aW9uIHJlZmVyZW5jZSIsCisgICAgIlNBWCBmdW5jdGlvbiBjaGFyYWN0ZXJzIiwKKyAgICAiU0FYIGZ1bmN0aW9uIGlnbm9yYWJsZVdoaXRlc3BhY2UiLAorICAgICJTQVggZnVuY3Rpb24gcHJvY2Vzc2luZ0luc3RydWN0aW9uIiwKKyAgICAiU0FYIGZ1bmN0aW9uIGNvbW1lbnQiLAorICAgICJTQVggZnVuY3Rpb24gd2FybmluZyIsCisgICAgIlNBWCBmdW5jdGlvbiBlcnJvciIsCisgICAgIlNBWCBmdW5jdGlvbiBmYXRhbEVycm9yIiwKKyAgICAiU0FYIGZ1bmN0aW9uIGdldFBhcmFtZXRlckVudGl0eSIsCisgICAgIlNBWCBmdW5jdGlvbiBjZGF0YUJsb2NrIiwKKyAgICAiU0FYIGZ1bmN0aW9uIGV4dGVybmFsU3Vic2V0IiwKK307CisKKy8qKgorICogeG1sR2V0RmVhdHVyZXNMaXN0OgorICogQGxlbjogIHRoZSBsZW5ndGggb2YgdGhlIGZlYXR1cmVzIG5hbWUgYXJyYXkgKGlucHV0L291dHB1dCkKKyAqIEByZXN1bHQ6ICBhbiBhcnJheSBvZiBzdHJpbmcgdG8gYmUgZmlsbGVkIHdpdGggdGhlIGZlYXR1cmVzIG5hbWUuCisgKgorICogQ29weSBhdCBtb3N0ICpAbGVuIGZlYXR1cmUgbmFtZXMgaW50byB0aGUgQHJlc3VsdCBhcnJheQorICoKKyAqIFJldHVybnMgLTEgaW4gY2FzZSBvciBlcnJvciwgb3IgdGhlIHRvdGFsIG51bWJlciBvZiBmZWF0dXJlcywKKyAqICAgICAgICAgICAgbGVuIGlzIHVwZGF0ZWQgd2l0aCB0aGUgbnVtYmVyIG9mIHN0cmluZ3MgY29waWVkLAorICogICAgICAgICAgICBzdHJpbmdzIG11c3Qgbm90IGJlIGRlYWxsb2NhdGVkCisgKi8KK2ludAoreG1sR2V0RmVhdHVyZXNMaXN0KGludCAqbGVuLCBjb25zdCBjaGFyICoqcmVzdWx0KQoreworICAgIGludCByZXQsIGk7CisKKyAgICByZXQgPSBzaXplb2YoeG1sRmVhdHVyZXNMaXN0KSAvIHNpemVvZih4bWxGZWF0dXJlc0xpc3RbMF0pOworICAgIGlmICgobGVuID09IE5VTEwpIHx8IChyZXN1bHQgPT0gTlVMTCkpCisgICAgICAgIHJldHVybiAocmV0KTsKKyAgICBpZiAoKCpsZW4gPCAwKSB8fCAoKmxlbiA+PSAxMDAwKSkKKyAgICAgICAgcmV0dXJuICgtMSk7CisgICAgaWYgKCpsZW4gPiByZXQpCisgICAgICAgICpsZW4gPSByZXQ7CisgICAgZm9yIChpID0gMDsgaSA8ICpsZW47IGkrKykKKyAgICAgICAgcmVzdWx0W2ldID0geG1sRmVhdHVyZXNMaXN0W2ldOworICAgIHJldHVybiAocmV0KTsKK30KKworLyoqCisgKiB4bWxHZXRGZWF0dXJlOgorICogQGN0eHQ6ICBhbiBYTUwvSFRNTCBwYXJzZXIgY29udGV4dAorICogQG5hbWU6ICB0aGUgZmVhdHVyZSBuYW1lCisgKiBAcmVzdWx0OiAgbG9jYXRpb24gdG8gc3RvcmUgdGhlIHJlc3VsdAorICoKKyAqIFJlYWQgdGhlIGN1cnJlbnQgdmFsdWUgb2Ygb25lIGZlYXR1cmUgb2YgdGhpcyBwYXJzZXIgaW5zdGFuY2UKKyAqCisgKiBSZXR1cm5zIC0xIGluIGNhc2Ugb3IgZXJyb3IsIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sR2V0RmVhdHVyZSh4bWxQYXJzZXJDdHh0UHRyIGN0eHQsIGNvbnN0IGNoYXIgKm5hbWUsIHZvaWQgKnJlc3VsdCkKK3sKKyAgICBpZiAoKGN0eHQgPT0gTlVMTCkgfHwgKG5hbWUgPT0gTlVMTCkgfHwgKHJlc3VsdCA9PSBOVUxMKSkKKyAgICAgICAgcmV0dXJuICgtMSk7CisKKyAgICBpZiAoIXN0cmNtcChuYW1lLCAidmFsaWRhdGUiKSkgeworICAgICAgICAqKChpbnQgKikgcmVzdWx0KSA9IGN0eHQtPnZhbGlkYXRlOworICAgIH0gZWxzZSBpZiAoIXN0cmNtcChuYW1lLCAia2VlcCBibGFua3MiKSkgeworICAgICAgICAqKChpbnQgKikgcmVzdWx0KSA9IGN0eHQtPmtlZXBCbGFua3M7CisgICAgfSBlbHNlIGlmICghc3RyY21wKG5hbWUsICJkaXNhYmxlIFNBWCIpKSB7CisgICAgICAgICooKGludCAqKSByZXN1bHQpID0gY3R4dC0+ZGlzYWJsZVNBWDsKKyAgICB9IGVsc2UgaWYgKCFzdHJjbXAobmFtZSwgImZldGNoIGV4dGVybmFsIGVudGl0aWVzIikpIHsKKyAgICAgICAgKigoaW50ICopIHJlc3VsdCkgPSBjdHh0LT5sb2Fkc3Vic2V0OworICAgIH0gZWxzZSBpZiAoIXN0cmNtcChuYW1lLCAic3Vic3RpdHV0ZSBlbnRpdGllcyIpKSB7CisgICAgICAgICooKGludCAqKSByZXN1bHQpID0gY3R4dC0+cmVwbGFjZUVudGl0aWVzOworICAgIH0gZWxzZSBpZiAoIXN0cmNtcChuYW1lLCAiZ2F0aGVyIGxpbmUgaW5mbyIpKSB7CisgICAgICAgICooKGludCAqKSByZXN1bHQpID0gY3R4dC0+cmVjb3JkX2luZm87CisgICAgfSBlbHNlIGlmICghc3RyY21wKG5hbWUsICJ1c2VyIGRhdGEiKSkgeworICAgICAgICAqKCh2b2lkICoqKSByZXN1bHQpID0gY3R4dC0+dXNlckRhdGE7CisgICAgfSBlbHNlIGlmICghc3RyY21wKG5hbWUsICJpcyBodG1sIikpIHsKKyAgICAgICAgKigoaW50ICopIHJlc3VsdCkgPSBjdHh0LT5odG1sOworICAgIH0gZWxzZSBpZiAoIXN0cmNtcChuYW1lLCAiaXMgc3RhbmRhbG9uZSIpKSB7CisgICAgICAgICooKGludCAqKSByZXN1bHQpID0gY3R4dC0+c3RhbmRhbG9uZTsKKyAgICB9IGVsc2UgaWYgKCFzdHJjbXAobmFtZSwgImRvY3VtZW50IikpIHsKKyAgICAgICAgKigoeG1sRG9jUHRyICopIHJlc3VsdCkgPSBjdHh0LT5teURvYzsKKyAgICB9IGVsc2UgaWYgKCFzdHJjbXAobmFtZSwgImlzIHdlbGwgZm9ybWVkIikpIHsKKyAgICAgICAgKigoaW50ICopIHJlc3VsdCkgPSBjdHh0LT53ZWxsRm9ybWVkOworICAgIH0gZWxzZSBpZiAoIXN0cmNtcChuYW1lLCAiaXMgdmFsaWQiKSkgeworICAgICAgICAqKChpbnQgKikgcmVzdWx0KSA9IGN0eHQtPnZhbGlkOworICAgIH0gZWxzZSBpZiAoIXN0cmNtcChuYW1lLCAiU0FYIGJsb2NrIikpIHsKKyAgICAgICAgKigoeG1sU0FYSGFuZGxlclB0ciAqKSByZXN1bHQpID0gY3R4dC0+c2F4OworICAgIH0gZWxzZSBpZiAoIXN0cmNtcChuYW1lLCAiU0FYIGZ1bmN0aW9uIGludGVybmFsU3Vic2V0IikpIHsKKyAgICAgICAgKigoaW50ZXJuYWxTdWJzZXRTQVhGdW5jICopIHJlc3VsdCkgPSBjdHh0LT5zYXgtPmludGVybmFsU3Vic2V0OworICAgIH0gZWxzZSBpZiAoIXN0cmNtcChuYW1lLCAiU0FYIGZ1bmN0aW9uIGlzU3RhbmRhbG9uZSIpKSB7CisgICAgICAgICooKGlzU3RhbmRhbG9uZVNBWEZ1bmMgKikgcmVzdWx0KSA9IGN0eHQtPnNheC0+aXNTdGFuZGFsb25lOworICAgIH0gZWxzZSBpZiAoIXN0cmNtcChuYW1lLCAiU0FYIGZ1bmN0aW9uIGhhc0ludGVybmFsU3Vic2V0IikpIHsKKyAgICAgICAgKigoaGFzSW50ZXJuYWxTdWJzZXRTQVhGdW5jICopIHJlc3VsdCkgPQorICAgICAgICAgICAgY3R4dC0+c2F4LT5oYXNJbnRlcm5hbFN1YnNldDsKKyAgICB9IGVsc2UgaWYgKCFzdHJjbXAobmFtZSwgIlNBWCBmdW5jdGlvbiBoYXNFeHRlcm5hbFN1YnNldCIpKSB7CisgICAgICAgICooKGhhc0V4dGVybmFsU3Vic2V0U0FYRnVuYyAqKSByZXN1bHQpID0KKyAgICAgICAgICAgIGN0eHQtPnNheC0+aGFzRXh0ZXJuYWxTdWJzZXQ7CisgICAgfSBlbHNlIGlmICghc3RyY21wKG5hbWUsICJTQVggZnVuY3Rpb24gcmVzb2x2ZUVudGl0eSIpKSB7CisgICAgICAgICooKHJlc29sdmVFbnRpdHlTQVhGdW5jICopIHJlc3VsdCkgPSBjdHh0LT5zYXgtPnJlc29sdmVFbnRpdHk7CisgICAgfSBlbHNlIGlmICghc3RyY21wKG5hbWUsICJTQVggZnVuY3Rpb24gZ2V0RW50aXR5IikpIHsKKyAgICAgICAgKigoZ2V0RW50aXR5U0FYRnVuYyAqKSByZXN1bHQpID0gY3R4dC0+c2F4LT5nZXRFbnRpdHk7CisgICAgfSBlbHNlIGlmICghc3RyY21wKG5hbWUsICJTQVggZnVuY3Rpb24gZW50aXR5RGVjbCIpKSB7CisgICAgICAgICooKGVudGl0eURlY2xTQVhGdW5jICopIHJlc3VsdCkgPSBjdHh0LT5zYXgtPmVudGl0eURlY2w7CisgICAgfSBlbHNlIGlmICghc3RyY21wKG5hbWUsICJTQVggZnVuY3Rpb24gbm90YXRpb25EZWNsIikpIHsKKyAgICAgICAgKigobm90YXRpb25EZWNsU0FYRnVuYyAqKSByZXN1bHQpID0gY3R4dC0+c2F4LT5ub3RhdGlvbkRlY2w7CisgICAgfSBlbHNlIGlmICghc3RyY21wKG5hbWUsICJTQVggZnVuY3Rpb24gYXR0cmlidXRlRGVjbCIpKSB7CisgICAgICAgICooKGF0dHJpYnV0ZURlY2xTQVhGdW5jICopIHJlc3VsdCkgPSBjdHh0LT5zYXgtPmF0dHJpYnV0ZURlY2w7CisgICAgfSBlbHNlIGlmICghc3RyY21wKG5hbWUsICJTQVggZnVuY3Rpb24gZWxlbWVudERlY2wiKSkgeworICAgICAgICAqKChlbGVtZW50RGVjbFNBWEZ1bmMgKikgcmVzdWx0KSA9IGN0eHQtPnNheC0+ZWxlbWVudERlY2w7CisgICAgfSBlbHNlIGlmICghc3RyY21wKG5hbWUsICJTQVggZnVuY3Rpb24gdW5wYXJzZWRFbnRpdHlEZWNsIikpIHsKKyAgICAgICAgKigodW5wYXJzZWRFbnRpdHlEZWNsU0FYRnVuYyAqKSByZXN1bHQpID0KKyAgICAgICAgICAgIGN0eHQtPnNheC0+dW5wYXJzZWRFbnRpdHlEZWNsOworICAgIH0gZWxzZSBpZiAoIXN0cmNtcChuYW1lLCAiU0FYIGZ1bmN0aW9uIHNldERvY3VtZW50TG9jYXRvciIpKSB7CisgICAgICAgICooKHNldERvY3VtZW50TG9jYXRvclNBWEZ1bmMgKikgcmVzdWx0KSA9CisgICAgICAgICAgICBjdHh0LT5zYXgtPnNldERvY3VtZW50TG9jYXRvcjsKKyAgICB9IGVsc2UgaWYgKCFzdHJjbXAobmFtZSwgIlNBWCBmdW5jdGlvbiBzdGFydERvY3VtZW50IikpIHsKKyAgICAgICAgKigoc3RhcnREb2N1bWVudFNBWEZ1bmMgKikgcmVzdWx0KSA9IGN0eHQtPnNheC0+c3RhcnREb2N1bWVudDsKKyAgICB9IGVsc2UgaWYgKCFzdHJjbXAobmFtZSwgIlNBWCBmdW5jdGlvbiBlbmREb2N1bWVudCIpKSB7CisgICAgICAgICooKGVuZERvY3VtZW50U0FYRnVuYyAqKSByZXN1bHQpID0gY3R4dC0+c2F4LT5lbmREb2N1bWVudDsKKyAgICB9IGVsc2UgaWYgKCFzdHJjbXAobmFtZSwgIlNBWCBmdW5jdGlvbiBzdGFydEVsZW1lbnQiKSkgeworICAgICAgICAqKChzdGFydEVsZW1lbnRTQVhGdW5jICopIHJlc3VsdCkgPSBjdHh0LT5zYXgtPnN0YXJ0RWxlbWVudDsKKyAgICB9IGVsc2UgaWYgKCFzdHJjbXAobmFtZSwgIlNBWCBmdW5jdGlvbiBlbmRFbGVtZW50IikpIHsKKyAgICAgICAgKigoZW5kRWxlbWVudFNBWEZ1bmMgKikgcmVzdWx0KSA9IGN0eHQtPnNheC0+ZW5kRWxlbWVudDsKKyAgICB9IGVsc2UgaWYgKCFzdHJjbXAobmFtZSwgIlNBWCBmdW5jdGlvbiByZWZlcmVuY2UiKSkgeworICAgICAgICAqKChyZWZlcmVuY2VTQVhGdW5jICopIHJlc3VsdCkgPSBjdHh0LT5zYXgtPnJlZmVyZW5jZTsKKyAgICB9IGVsc2UgaWYgKCFzdHJjbXAobmFtZSwgIlNBWCBmdW5jdGlvbiBjaGFyYWN0ZXJzIikpIHsKKyAgICAgICAgKigoY2hhcmFjdGVyc1NBWEZ1bmMgKikgcmVzdWx0KSA9IGN0eHQtPnNheC0+Y2hhcmFjdGVyczsKKyAgICB9IGVsc2UgaWYgKCFzdHJjbXAobmFtZSwgIlNBWCBmdW5jdGlvbiBpZ25vcmFibGVXaGl0ZXNwYWNlIikpIHsKKyAgICAgICAgKigoaWdub3JhYmxlV2hpdGVzcGFjZVNBWEZ1bmMgKikgcmVzdWx0KSA9CisgICAgICAgICAgICBjdHh0LT5zYXgtPmlnbm9yYWJsZVdoaXRlc3BhY2U7CisgICAgfSBlbHNlIGlmICghc3RyY21wKG5hbWUsICJTQVggZnVuY3Rpb24gcHJvY2Vzc2luZ0luc3RydWN0aW9uIikpIHsKKyAgICAgICAgKigocHJvY2Vzc2luZ0luc3RydWN0aW9uU0FYRnVuYyAqKSByZXN1bHQpID0KKyAgICAgICAgICAgIGN0eHQtPnNheC0+cHJvY2Vzc2luZ0luc3RydWN0aW9uOworICAgIH0gZWxzZSBpZiAoIXN0cmNtcChuYW1lLCAiU0FYIGZ1bmN0aW9uIGNvbW1lbnQiKSkgeworICAgICAgICAqKChjb21tZW50U0FYRnVuYyAqKSByZXN1bHQpID0gY3R4dC0+c2F4LT5jb21tZW50OworICAgIH0gZWxzZSBpZiAoIXN0cmNtcChuYW1lLCAiU0FYIGZ1bmN0aW9uIHdhcm5pbmciKSkgeworICAgICAgICAqKCh3YXJuaW5nU0FYRnVuYyAqKSByZXN1bHQpID0gY3R4dC0+c2F4LT53YXJuaW5nOworICAgIH0gZWxzZSBpZiAoIXN0cmNtcChuYW1lLCAiU0FYIGZ1bmN0aW9uIGVycm9yIikpIHsKKyAgICAgICAgKigoZXJyb3JTQVhGdW5jICopIHJlc3VsdCkgPSBjdHh0LT5zYXgtPmVycm9yOworICAgIH0gZWxzZSBpZiAoIXN0cmNtcChuYW1lLCAiU0FYIGZ1bmN0aW9uIGZhdGFsRXJyb3IiKSkgeworICAgICAgICAqKChmYXRhbEVycm9yU0FYRnVuYyAqKSByZXN1bHQpID0gY3R4dC0+c2F4LT5mYXRhbEVycm9yOworICAgIH0gZWxzZSBpZiAoIXN0cmNtcChuYW1lLCAiU0FYIGZ1bmN0aW9uIGdldFBhcmFtZXRlckVudGl0eSIpKSB7CisgICAgICAgICooKGdldFBhcmFtZXRlckVudGl0eVNBWEZ1bmMgKikgcmVzdWx0KSA9CisgICAgICAgICAgICBjdHh0LT5zYXgtPmdldFBhcmFtZXRlckVudGl0eTsKKyAgICB9IGVsc2UgaWYgKCFzdHJjbXAobmFtZSwgIlNBWCBmdW5jdGlvbiBjZGF0YUJsb2NrIikpIHsKKyAgICAgICAgKigoY2RhdGFCbG9ja1NBWEZ1bmMgKikgcmVzdWx0KSA9IGN0eHQtPnNheC0+Y2RhdGFCbG9jazsKKyAgICB9IGVsc2UgaWYgKCFzdHJjbXAobmFtZSwgIlNBWCBmdW5jdGlvbiBleHRlcm5hbFN1YnNldCIpKSB7CisgICAgICAgICooKGV4dGVybmFsU3Vic2V0U0FYRnVuYyAqKSByZXN1bHQpID0gY3R4dC0+c2F4LT5leHRlcm5hbFN1YnNldDsKKyAgICB9IGVsc2UgeworICAgICAgICByZXR1cm4gKC0xKTsKKyAgICB9CisgICAgcmV0dXJuICgwKTsKK30KKworLyoqCisgKiB4bWxTZXRGZWF0dXJlOgorICogQGN0eHQ6ICBhbiBYTUwvSFRNTCBwYXJzZXIgY29udGV4dAorICogQG5hbWU6ICB0aGUgZmVhdHVyZSBuYW1lCisgKiBAdmFsdWU6ICBwb2ludGVyIHRvIHRoZSBsb2NhdGlvbiBvZiB0aGUgbmV3IHZhbHVlCisgKgorICogQ2hhbmdlIHRoZSBjdXJyZW50IHZhbHVlIG9mIG9uZSBmZWF0dXJlIG9mIHRoaXMgcGFyc2VyIGluc3RhbmNlCisgKgorICogUmV0dXJucyAtMSBpbiBjYXNlIG9yIGVycm9yLCAwIG90aGVyd2lzZQorICovCitpbnQKK3htbFNldEZlYXR1cmUoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0LCBjb25zdCBjaGFyICpuYW1lLCB2b2lkICp2YWx1ZSkKK3sKKyAgICBpZiAoKGN0eHQgPT0gTlVMTCkgfHwgKG5hbWUgPT0gTlVMTCkgfHwgKHZhbHVlID09IE5VTEwpKQorICAgICAgICByZXR1cm4gKC0xKTsKKworICAgIGlmICghc3RyY21wKG5hbWUsICJ2YWxpZGF0ZSIpKSB7CisgICAgICAgIGludCBuZXd2YWxpZGF0ZSA9ICooKGludCAqKSB2YWx1ZSk7CisKKyAgICAgICAgaWYgKCghY3R4dC0+dmFsaWRhdGUpICYmIChuZXd2YWxpZGF0ZSAhPSAwKSkgeworICAgICAgICAgICAgaWYgKGN0eHQtPnZjdHh0Lndhcm5pbmcgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICBjdHh0LT52Y3R4dC53YXJuaW5nID0geG1sUGFyc2VyVmFsaWRpdHlXYXJuaW5nOworICAgICAgICAgICAgaWYgKGN0eHQtPnZjdHh0LmVycm9yID09IE5VTEwpCisgICAgICAgICAgICAgICAgY3R4dC0+dmN0eHQuZXJyb3IgPSB4bWxQYXJzZXJWYWxpZGl0eUVycm9yOworICAgICAgICAgICAgY3R4dC0+dmN0eHQubm9kZU1heCA9IDA7CisgICAgICAgIH0KKyAgICAgICAgY3R4dC0+dmFsaWRhdGUgPSBuZXd2YWxpZGF0ZTsKKyAgICB9IGVsc2UgaWYgKCFzdHJjbXAobmFtZSwgImtlZXAgYmxhbmtzIikpIHsKKyAgICAgICAgY3R4dC0+a2VlcEJsYW5rcyA9ICooKGludCAqKSB2YWx1ZSk7CisgICAgfSBlbHNlIGlmICghc3RyY21wKG5hbWUsICJkaXNhYmxlIFNBWCIpKSB7CisgICAgICAgIGN0eHQtPmRpc2FibGVTQVggPSAqKChpbnQgKikgdmFsdWUpOworICAgIH0gZWxzZSBpZiAoIXN0cmNtcChuYW1lLCAiZmV0Y2ggZXh0ZXJuYWwgZW50aXRpZXMiKSkgeworICAgICAgICBjdHh0LT5sb2Fkc3Vic2V0ID0gKigoaW50ICopIHZhbHVlKTsKKyAgICB9IGVsc2UgaWYgKCFzdHJjbXAobmFtZSwgInN1YnN0aXR1dGUgZW50aXRpZXMiKSkgeworICAgICAgICBjdHh0LT5yZXBsYWNlRW50aXRpZXMgPSAqKChpbnQgKikgdmFsdWUpOworICAgIH0gZWxzZSBpZiAoIXN0cmNtcChuYW1lLCAiZ2F0aGVyIGxpbmUgaW5mbyIpKSB7CisgICAgICAgIGN0eHQtPnJlY29yZF9pbmZvID0gKigoaW50ICopIHZhbHVlKTsKKyAgICB9IGVsc2UgaWYgKCFzdHJjbXAobmFtZSwgInVzZXIgZGF0YSIpKSB7CisgICAgICAgIGN0eHQtPnVzZXJEYXRhID0gKigodm9pZCAqKikgdmFsdWUpOworICAgIH0gZWxzZSBpZiAoIXN0cmNtcChuYW1lLCAiaXMgaHRtbCIpKSB7CisgICAgICAgIGN0eHQtPmh0bWwgPSAqKChpbnQgKikgdmFsdWUpOworICAgIH0gZWxzZSBpZiAoIXN0cmNtcChuYW1lLCAiaXMgc3RhbmRhbG9uZSIpKSB7CisgICAgICAgIGN0eHQtPnN0YW5kYWxvbmUgPSAqKChpbnQgKikgdmFsdWUpOworICAgIH0gZWxzZSBpZiAoIXN0cmNtcChuYW1lLCAiZG9jdW1lbnQiKSkgeworICAgICAgICBjdHh0LT5teURvYyA9ICooKHhtbERvY1B0ciAqKSB2YWx1ZSk7CisgICAgfSBlbHNlIGlmICghc3RyY21wKG5hbWUsICJpcyB3ZWxsIGZvcm1lZCIpKSB7CisgICAgICAgIGN0eHQtPndlbGxGb3JtZWQgPSAqKChpbnQgKikgdmFsdWUpOworICAgIH0gZWxzZSBpZiAoIXN0cmNtcChuYW1lLCAiaXMgdmFsaWQiKSkgeworICAgICAgICBjdHh0LT52YWxpZCA9ICooKGludCAqKSB2YWx1ZSk7CisgICAgfSBlbHNlIGlmICghc3RyY21wKG5hbWUsICJTQVggYmxvY2siKSkgeworICAgICAgICBjdHh0LT5zYXggPSAqKCh4bWxTQVhIYW5kbGVyUHRyICopIHZhbHVlKTsKKyAgICB9IGVsc2UgaWYgKCFzdHJjbXAobmFtZSwgIlNBWCBmdW5jdGlvbiBpbnRlcm5hbFN1YnNldCIpKSB7CisgICAgICAgIGN0eHQtPnNheC0+aW50ZXJuYWxTdWJzZXQgPSAqKChpbnRlcm5hbFN1YnNldFNBWEZ1bmMgKikgdmFsdWUpOworICAgIH0gZWxzZSBpZiAoIXN0cmNtcChuYW1lLCAiU0FYIGZ1bmN0aW9uIGlzU3RhbmRhbG9uZSIpKSB7CisgICAgICAgIGN0eHQtPnNheC0+aXNTdGFuZGFsb25lID0gKigoaXNTdGFuZGFsb25lU0FYRnVuYyAqKSB2YWx1ZSk7CisgICAgfSBlbHNlIGlmICghc3RyY21wKG5hbWUsICJTQVggZnVuY3Rpb24gaGFzSW50ZXJuYWxTdWJzZXQiKSkgeworICAgICAgICBjdHh0LT5zYXgtPmhhc0ludGVybmFsU3Vic2V0ID0KKyAgICAgICAgICAgICooKGhhc0ludGVybmFsU3Vic2V0U0FYRnVuYyAqKSB2YWx1ZSk7CisgICAgfSBlbHNlIGlmICghc3RyY21wKG5hbWUsICJTQVggZnVuY3Rpb24gaGFzRXh0ZXJuYWxTdWJzZXQiKSkgeworICAgICAgICBjdHh0LT5zYXgtPmhhc0V4dGVybmFsU3Vic2V0ID0KKyAgICAgICAgICAgICooKGhhc0V4dGVybmFsU3Vic2V0U0FYRnVuYyAqKSB2YWx1ZSk7CisgICAgfSBlbHNlIGlmICghc3RyY21wKG5hbWUsICJTQVggZnVuY3Rpb24gcmVzb2x2ZUVudGl0eSIpKSB7CisgICAgICAgIGN0eHQtPnNheC0+cmVzb2x2ZUVudGl0eSA9ICooKHJlc29sdmVFbnRpdHlTQVhGdW5jICopIHZhbHVlKTsKKyAgICB9IGVsc2UgaWYgKCFzdHJjbXAobmFtZSwgIlNBWCBmdW5jdGlvbiBnZXRFbnRpdHkiKSkgeworICAgICAgICBjdHh0LT5zYXgtPmdldEVudGl0eSA9ICooKGdldEVudGl0eVNBWEZ1bmMgKikgdmFsdWUpOworICAgIH0gZWxzZSBpZiAoIXN0cmNtcChuYW1lLCAiU0FYIGZ1bmN0aW9uIGVudGl0eURlY2wiKSkgeworICAgICAgICBjdHh0LT5zYXgtPmVudGl0eURlY2wgPSAqKChlbnRpdHlEZWNsU0FYRnVuYyAqKSB2YWx1ZSk7CisgICAgfSBlbHNlIGlmICghc3RyY21wKG5hbWUsICJTQVggZnVuY3Rpb24gbm90YXRpb25EZWNsIikpIHsKKyAgICAgICAgY3R4dC0+c2F4LT5ub3RhdGlvbkRlY2wgPSAqKChub3RhdGlvbkRlY2xTQVhGdW5jICopIHZhbHVlKTsKKyAgICB9IGVsc2UgaWYgKCFzdHJjbXAobmFtZSwgIlNBWCBmdW5jdGlvbiBhdHRyaWJ1dGVEZWNsIikpIHsKKyAgICAgICAgY3R4dC0+c2F4LT5hdHRyaWJ1dGVEZWNsID0gKigoYXR0cmlidXRlRGVjbFNBWEZ1bmMgKikgdmFsdWUpOworICAgIH0gZWxzZSBpZiAoIXN0cmNtcChuYW1lLCAiU0FYIGZ1bmN0aW9uIGVsZW1lbnREZWNsIikpIHsKKyAgICAgICAgY3R4dC0+c2F4LT5lbGVtZW50RGVjbCA9ICooKGVsZW1lbnREZWNsU0FYRnVuYyAqKSB2YWx1ZSk7CisgICAgfSBlbHNlIGlmICghc3RyY21wKG5hbWUsICJTQVggZnVuY3Rpb24gdW5wYXJzZWRFbnRpdHlEZWNsIikpIHsKKyAgICAgICAgY3R4dC0+c2F4LT51bnBhcnNlZEVudGl0eURlY2wgPQorICAgICAgICAgICAgKigodW5wYXJzZWRFbnRpdHlEZWNsU0FYRnVuYyAqKSB2YWx1ZSk7CisgICAgfSBlbHNlIGlmICghc3RyY21wKG5hbWUsICJTQVggZnVuY3Rpb24gc2V0RG9jdW1lbnRMb2NhdG9yIikpIHsKKyAgICAgICAgY3R4dC0+c2F4LT5zZXREb2N1bWVudExvY2F0b3IgPQorICAgICAgICAgICAgKigoc2V0RG9jdW1lbnRMb2NhdG9yU0FYRnVuYyAqKSB2YWx1ZSk7CisgICAgfSBlbHNlIGlmICghc3RyY21wKG5hbWUsICJTQVggZnVuY3Rpb24gc3RhcnREb2N1bWVudCIpKSB7CisgICAgICAgIGN0eHQtPnNheC0+c3RhcnREb2N1bWVudCA9ICooKHN0YXJ0RG9jdW1lbnRTQVhGdW5jICopIHZhbHVlKTsKKyAgICB9IGVsc2UgaWYgKCFzdHJjbXAobmFtZSwgIlNBWCBmdW5jdGlvbiBlbmREb2N1bWVudCIpKSB7CisgICAgICAgIGN0eHQtPnNheC0+ZW5kRG9jdW1lbnQgPSAqKChlbmREb2N1bWVudFNBWEZ1bmMgKikgdmFsdWUpOworICAgIH0gZWxzZSBpZiAoIXN0cmNtcChuYW1lLCAiU0FYIGZ1bmN0aW9uIHN0YXJ0RWxlbWVudCIpKSB7CisgICAgICAgIGN0eHQtPnNheC0+c3RhcnRFbGVtZW50ID0gKigoc3RhcnRFbGVtZW50U0FYRnVuYyAqKSB2YWx1ZSk7CisgICAgfSBlbHNlIGlmICghc3RyY21wKG5hbWUsICJTQVggZnVuY3Rpb24gZW5kRWxlbWVudCIpKSB7CisgICAgICAgIGN0eHQtPnNheC0+ZW5kRWxlbWVudCA9ICooKGVuZEVsZW1lbnRTQVhGdW5jICopIHZhbHVlKTsKKyAgICB9IGVsc2UgaWYgKCFzdHJjbXAobmFtZSwgIlNBWCBmdW5jdGlvbiByZWZlcmVuY2UiKSkgeworICAgICAgICBjdHh0LT5zYXgtPnJlZmVyZW5jZSA9ICooKHJlZmVyZW5jZVNBWEZ1bmMgKikgdmFsdWUpOworICAgIH0gZWxzZSBpZiAoIXN0cmNtcChuYW1lLCAiU0FYIGZ1bmN0aW9uIGNoYXJhY3RlcnMiKSkgeworICAgICAgICBjdHh0LT5zYXgtPmNoYXJhY3RlcnMgPSAqKChjaGFyYWN0ZXJzU0FYRnVuYyAqKSB2YWx1ZSk7CisgICAgfSBlbHNlIGlmICghc3RyY21wKG5hbWUsICJTQVggZnVuY3Rpb24gaWdub3JhYmxlV2hpdGVzcGFjZSIpKSB7CisgICAgICAgIGN0eHQtPnNheC0+aWdub3JhYmxlV2hpdGVzcGFjZSA9CisgICAgICAgICAgICAqKChpZ25vcmFibGVXaGl0ZXNwYWNlU0FYRnVuYyAqKSB2YWx1ZSk7CisgICAgfSBlbHNlIGlmICghc3RyY21wKG5hbWUsICJTQVggZnVuY3Rpb24gcHJvY2Vzc2luZ0luc3RydWN0aW9uIikpIHsKKyAgICAgICAgY3R4dC0+c2F4LT5wcm9jZXNzaW5nSW5zdHJ1Y3Rpb24gPQorICAgICAgICAgICAgKigocHJvY2Vzc2luZ0luc3RydWN0aW9uU0FYRnVuYyAqKSB2YWx1ZSk7CisgICAgfSBlbHNlIGlmICghc3RyY21wKG5hbWUsICJTQVggZnVuY3Rpb24gY29tbWVudCIpKSB7CisgICAgICAgIGN0eHQtPnNheC0+Y29tbWVudCA9ICooKGNvbW1lbnRTQVhGdW5jICopIHZhbHVlKTsKKyAgICB9IGVsc2UgaWYgKCFzdHJjbXAobmFtZSwgIlNBWCBmdW5jdGlvbiB3YXJuaW5nIikpIHsKKyAgICAgICAgY3R4dC0+c2F4LT53YXJuaW5nID0gKigod2FybmluZ1NBWEZ1bmMgKikgdmFsdWUpOworICAgIH0gZWxzZSBpZiAoIXN0cmNtcChuYW1lLCAiU0FYIGZ1bmN0aW9uIGVycm9yIikpIHsKKyAgICAgICAgY3R4dC0+c2F4LT5lcnJvciA9ICooKGVycm9yU0FYRnVuYyAqKSB2YWx1ZSk7CisgICAgfSBlbHNlIGlmICghc3RyY21wKG5hbWUsICJTQVggZnVuY3Rpb24gZmF0YWxFcnJvciIpKSB7CisgICAgICAgIGN0eHQtPnNheC0+ZmF0YWxFcnJvciA9ICooKGZhdGFsRXJyb3JTQVhGdW5jICopIHZhbHVlKTsKKyAgICB9IGVsc2UgaWYgKCFzdHJjbXAobmFtZSwgIlNBWCBmdW5jdGlvbiBnZXRQYXJhbWV0ZXJFbnRpdHkiKSkgeworICAgICAgICBjdHh0LT5zYXgtPmdldFBhcmFtZXRlckVudGl0eSA9CisgICAgICAgICAgICAqKChnZXRQYXJhbWV0ZXJFbnRpdHlTQVhGdW5jICopIHZhbHVlKTsKKyAgICB9IGVsc2UgaWYgKCFzdHJjbXAobmFtZSwgIlNBWCBmdW5jdGlvbiBjZGF0YUJsb2NrIikpIHsKKyAgICAgICAgY3R4dC0+c2F4LT5jZGF0YUJsb2NrID0gKigoY2RhdGFCbG9ja1NBWEZ1bmMgKikgdmFsdWUpOworICAgIH0gZWxzZSBpZiAoIXN0cmNtcChuYW1lLCAiU0FYIGZ1bmN0aW9uIGV4dGVybmFsU3Vic2V0IikpIHsKKyAgICAgICAgY3R4dC0+c2F4LT5leHRlcm5hbFN1YnNldCA9ICooKGV4dGVybmFsU3Vic2V0U0FYRnVuYyAqKSB2YWx1ZSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgcmV0dXJuICgtMSk7CisgICAgfQorICAgIHJldHVybiAoMCk7Cit9CisKKy8qKgorICogeG1sRGVjb2RlRW50aXRpZXM6CisgKiBAY3R4dDogIHRoZSBwYXJzZXIgY29udGV4dAorICogQGxlbjogIHRoZSBsZW4gdG8gZGVjb2RlIChpbiBieXRlcyAhKSwgLTEgZm9yIG5vIHNpemUgbGltaXQKKyAqIEB3aGF0OiAgY29tYmluYXRpb24gb2YgWE1MX1NVQlNUSVRVVEVfUkVGIGFuZCBYTUxfU1VCU1RJVFVURV9QRVJFRgorICogQGVuZDogIGFuIGVuZCBtYXJrZXIgeG1sQ2hhciwgMCBpZiBub25lCisgKiBAZW5kMjogIGFuIGVuZCBtYXJrZXIgeG1sQ2hhciwgMCBpZiBub25lCisgKiBAZW5kMzogIGFuIGVuZCBtYXJrZXIgeG1sQ2hhciwgMCBpZiBub25lCisgKgorICogVGhpcyBmdW5jdGlvbiBpcyBkZXByZWNhdGVkLCB3ZSBub3cgYWx3YXlzIHByb2Nlc3MgZW50aXRpZXMgY29udGVudAorICogdGhyb3VnaCB4bWxTdHJpbmdEZWNvZGVFbnRpdGllcworICoKKyAqIFRPRE86IHJlbW92ZSBpdCBpbiBuZXh0IG1ham9yIHJlbGVhc2UuCisgKgorICogWzY3XSBSZWZlcmVuY2UgOjo9IEVudGl0eVJlZiB8IENoYXJSZWYKKyAqCisgKiBbNjldIFBFUmVmZXJlbmNlIDo6PSAnJScgTmFtZSAnOycKKyAqCisgKiBSZXR1cm5zIEEgbmV3bHkgYWxsb2NhdGVkIHN0cmluZyB3aXRoIHRoZSBzdWJzdGl0dXRpb24gZG9uZS4gVGhlIGNhbGxlcgorICogICAgICBtdXN0IGRlYWxsb2NhdGUgaXQgIQorICovCit4bWxDaGFyICoKK3htbERlY29kZUVudGl0aWVzKHhtbFBhcnNlckN0eHRQdHIgY3R4dCBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgICAgICAgaW50IGxlbiBBVFRSSUJVVEVfVU5VU0VELCBpbnQgd2hhdCBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgICAgICAgeG1sQ2hhciBlbmQgQVRUUklCVVRFX1VOVVNFRCwKKyAgICAgICAgICAgICAgICAgIHhtbENoYXIgZW5kMiBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgICAgICAgeG1sQ2hhciBlbmQzIEFUVFJJQlVURV9VTlVTRUQpCit7CisgICAgc3RhdGljIGludCBkZXByZWNhdGVkID0gMDsKKworICAgIGlmICghZGVwcmVjYXRlZCkgeworICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4bWxEZWNvZGVFbnRpdGllcygpIGRlcHJlY2F0ZWQgZnVuY3Rpb24gcmVhY2hlZFxuIik7CisgICAgICAgIGRlcHJlY2F0ZWQgPSAxOworICAgIH0KKyAgICByZXR1cm4gKE5VTEwpOworfQorCisvKioKKyAqIHhtbE5hbWVzcGFjZVBhcnNlTkNOYW1lOgorICogQGN0eHQ6ICBhbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqCisgKiBwYXJzZSBhbiBYTUwgbmFtZXNwYWNlIG5hbWUuCisgKgorICogVE9ETzogdGhpcyBzZWVtcyBub3QgaW4gdXNlIGFueW1vcmUsIHRoZSBuYW1lc3BhY2UgaGFuZGxpbmcgaXMgZG9uZSBvbgorICogICAgICAgdG9wIG9mIHRoZSBTQVggaW50ZXJmYWNlcywgaS5lLiBub3Qgb24gcmF3IGlucHV0LgorICoKKyAqIFtOUyAzXSBOQ05hbWUgOjo9IChMZXR0ZXIgfCAnXycpIChOQ05hbWVDaGFyKSoKKyAqCisgKiBbTlMgNF0gTkNOYW1lQ2hhciA6Oj0gTGV0dGVyIHwgRGlnaXQgfCAnLicgfCAnLScgfCAnXycgfAorICogICAgICAgICAgICAgICAgICAgICAgIENvbWJpbmluZ0NoYXIgfCBFeHRlbmRlcgorICoKKyAqIFJldHVybnMgdGhlIG5hbWVzcGFjZSBuYW1lIG9yIE5VTEwKKyAqLworCit4bWxDaGFyICoKK3htbE5hbWVzcGFjZVBhcnNlTkNOYW1lKHhtbFBhcnNlckN0eHRQdHIgY3R4dCBBVFRSSUJVVEVfVU5VU0VEKQoreworICAgIHN0YXRpYyBpbnQgZGVwcmVjYXRlZCA9IDA7CisKKyAgICBpZiAoIWRlcHJlY2F0ZWQpIHsKKyAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAieG1sTmFtZXNwYWNlUGFyc2VOQ05hbWUoKSBkZXByZWNhdGVkIGZ1bmN0aW9uIHJlYWNoZWRcbiIpOworICAgICAgICBkZXByZWNhdGVkID0gMTsKKyAgICB9CisgICAgcmV0dXJuIChOVUxMKTsKK30KKworLyoqCisgKiB4bWxOYW1lc3BhY2VQYXJzZVFOYW1lOgorICogQGN0eHQ6ICBhbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBwcmVmaXg6ICBhIHhtbENoYXIgKioKKyAqCisgKiBUT0RPOiB0aGlzIHNlZW1zIG5vdCBpbiB1c2UgYW55bW9yZSwgdGhlIG5hbWVzcGFjZSBoYW5kbGluZyBpcyBkb25lIG9uCisgKiAgICAgICB0b3Agb2YgdGhlIFNBWCBpbnRlcmZhY2VzLCBpLmUuIG5vdCBvbiByYXcgaW5wdXQuCisgKgorICogcGFyc2UgYW4gWE1MIHF1YWxpZmllZCBuYW1lCisgKgorICogW05TIDVdIFFOYW1lIDo6PSAoUHJlZml4ICc6Jyk/IExvY2FsUGFydAorICoKKyAqIFtOUyA2XSBQcmVmaXggOjo9IE5DTmFtZQorICoKKyAqIFtOUyA3XSBMb2NhbFBhcnQgOjo9IE5DTmFtZQorICoKKyAqIFJldHVybnMgdGhlIGxvY2FsIHBhcnQsIGFuZCBwcmVmaXggaXMgdXBkYXRlZAorICogICB0byBnZXQgdGhlIFByZWZpeCBpZiBhbnkuCisgKi8KKworeG1sQ2hhciAqCit4bWxOYW1lc3BhY2VQYXJzZVFOYW1lKHhtbFBhcnNlckN0eHRQdHIgY3R4dCBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgICAgICAgICAgICB4bWxDaGFyICoqIHByZWZpeCBBVFRSSUJVVEVfVU5VU0VEKQoreworCisgICAgc3RhdGljIGludCBkZXByZWNhdGVkID0gMDsKKworICAgIGlmICghZGVwcmVjYXRlZCkgeworICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4bWxOYW1lc3BhY2VQYXJzZVFOYW1lKCkgZGVwcmVjYXRlZCBmdW5jdGlvbiByZWFjaGVkXG4iKTsKKyAgICAgICAgZGVwcmVjYXRlZCA9IDE7CisgICAgfQorICAgIHJldHVybiAoTlVMTCk7Cit9CisKKy8qKgorICogeG1sTmFtZXNwYWNlUGFyc2VOU0RlZjoKKyAqIEBjdHh0OiAgYW4gWE1MIHBhcnNlciBjb250ZXh0CisgKgorICogcGFyc2UgYSBuYW1lc3BhY2UgcHJlZml4IGRlY2xhcmF0aW9uCisgKgorICogVE9ETzogdGhpcyBzZWVtcyBub3QgaW4gdXNlIGFueW1vcmUsIHRoZSBuYW1lc3BhY2UgaGFuZGxpbmcgaXMgZG9uZSBvbgorICogICAgICAgdG9wIG9mIHRoZSBTQVggaW50ZXJmYWNlcywgaS5lLiBub3Qgb24gcmF3IGlucHV0LgorICoKKyAqIFtOUyAxXSBOU0RlZiA6Oj0gUHJlZml4RGVmIEVxIFN5c3RlbUxpdGVyYWwKKyAqCisgKiBbTlMgMl0gUHJlZml4RGVmIDo6PSAneG1sbnMnICgnOicgTkNOYW1lKT8KKyAqCisgKiBSZXR1cm5zIHRoZSBuYW1lc3BhY2UgbmFtZQorICovCisKK3htbENoYXIgKgoreG1sTmFtZXNwYWNlUGFyc2VOU0RlZih4bWxQYXJzZXJDdHh0UHRyIGN0eHQgQVRUUklCVVRFX1VOVVNFRCkKK3sKKyAgICBzdGF0aWMgaW50IGRlcHJlY2F0ZWQgPSAwOworCisgICAgaWYgKCFkZXByZWNhdGVkKSB7CisgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgInhtbE5hbWVzcGFjZVBhcnNlTlNEZWYoKSBkZXByZWNhdGVkIGZ1bmN0aW9uIHJlYWNoZWRcbiIpOworICAgICAgICBkZXByZWNhdGVkID0gMTsKKyAgICB9CisgICAgcmV0dXJuIChOVUxMKTsKK30KKworLyoqCisgKiB4bWxQYXJzZVF1b3RlZFN0cmluZzoKKyAqIEBjdHh0OiAgYW4gWE1MIHBhcnNlciBjb250ZXh0CisgKgorICogUGFyc2UgYW5kIHJldHVybiBhIHN0cmluZyBiZXR3ZWVuIHF1b3RlcyBvciBkb3VibGVxdW90ZXMKKyAqCisgKiBUT0RPOiBEZXByZWNhdGVkLCB0byAgYmUgcmVtb3ZlZCBhdCBuZXh0IGRyb3Agb2YgYmluYXJ5IGNvbXBhdGliaWxpdHkKKyAqCisgKiBSZXR1cm5zIHRoZSBzdHJpbmcgcGFyc2VyIG9yIE5VTEwuCisgKi8KK3htbENoYXIgKgoreG1sUGFyc2VRdW90ZWRTdHJpbmcoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0IEFUVFJJQlVURV9VTlVTRUQpCit7CisgICAgc3RhdGljIGludCBkZXByZWNhdGVkID0gMDsKKworICAgIGlmICghZGVwcmVjYXRlZCkgeworICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4bWxQYXJzZVF1b3RlZFN0cmluZygpIGRlcHJlY2F0ZWQgZnVuY3Rpb24gcmVhY2hlZFxuIik7CisgICAgICAgIGRlcHJlY2F0ZWQgPSAxOworICAgIH0KKyAgICByZXR1cm4gKE5VTEwpOworfQorCisvKioKKyAqIHhtbFBhcnNlTmFtZXNwYWNlOgorICogQGN0eHQ6ICBhbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqCisgKiB4bWxQYXJzZU5hbWVzcGFjZTogcGFyc2Ugc3BlY2lmaWMgUEkgJzw/bmFtZXNwYWNlIC4uLicgY29uc3RydWN0cy4KKyAqCisgKiBUaGlzIGlzIHdoYXQgdGhlIG9sZGVyIHhtbC1uYW1lIFdvcmtpbmcgRHJhZnQgc3BlY2lmaWVkLCBhIGJ1bmNoIG9mCisgKiBvdGhlciBzdHVmZiBtYXkgc3RpbGwgcmVseSBvbiBpdCwgc28gc3VwcG9ydCBpcyBzdGlsbCBoZXJlIGFzCisgKiBpZiBpdCB3YXMgZGVjbGFyZWQgb24gdGhlIHJvb3Qgb2YgdGhlIFRyZWU6LSgKKyAqCisgKiBUT0RPOiByZW1vdmUgZnJvbSBsaWJyYXJ5CisgKgorICogVG8gYmUgcmVtb3ZlZCBhdCBuZXh0IGRyb3Agb2YgYmluYXJ5IGNvbXBhdGliaWxpdHkKKyAqLworCit2b2lkCit4bWxQYXJzZU5hbWVzcGFjZSh4bWxQYXJzZXJDdHh0UHRyIGN0eHQgQVRUUklCVVRFX1VOVVNFRCkKK3sKKyAgICBzdGF0aWMgaW50IGRlcHJlY2F0ZWQgPSAwOworCisgICAgaWYgKCFkZXByZWNhdGVkKSB7CisgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgInhtbFBhcnNlTmFtZXNwYWNlKCkgZGVwcmVjYXRlZCBmdW5jdGlvbiByZWFjaGVkXG4iKTsKKyAgICAgICAgZGVwcmVjYXRlZCA9IDE7CisgICAgfQorfQorCisvKioKKyAqIHhtbFNjYW5OYW1lOgorICogQGN0eHQ6ICBhbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqCisgKiBUcmlja2VyeTogcGFyc2UgYW4gWE1MIG5hbWUgYnV0IHdpdGhvdXQgY29uc3VtaW5nIHRoZSBpbnB1dCBmbG93CisgKiBOZWVkZWQgZm9yIHJvbGxiYWNrIGNhc2VzLiBVc2VkIG9ubHkgd2hlbiBwYXJzaW5nIGVudGl0aWVzIHJlZmVyZW5jZXMuCisgKgorICogVE9ETzogc2VlbXMgZGVwcmVjYXRlZCBub3csIG9ubHkgdXNlZCBpbiB0aGUgZGVmYXVsdCBwYXJ0IG9mCisgKiAgICAgICB4bWxQYXJzZXJIYW5kbGVSZWZlcmVuY2UKKyAqCisgKiBbNF0gTmFtZUNoYXIgOjo9IExldHRlciB8IERpZ2l0IHwgJy4nIHwgJy0nIHwgJ18nIHwgJzonIHwKKyAqICAgICAgICAgICAgICAgICAgQ29tYmluaW5nQ2hhciB8IEV4dGVuZGVyCisgKgorICogWzVdIE5hbWUgOjo9IChMZXR0ZXIgfCAnXycgfCAnOicpIChOYW1lQ2hhcikqCisgKgorICogWzZdIE5hbWVzIDo6PSBOYW1lIChTIE5hbWUpKgorICoKKyAqIFJldHVybnMgdGhlIE5hbWUgcGFyc2VkIG9yIE5VTEwKKyAqLworCit4bWxDaGFyICoKK3htbFNjYW5OYW1lKHhtbFBhcnNlckN0eHRQdHIgY3R4dCBBVFRSSUJVVEVfVU5VU0VEKQoreworICAgIHN0YXRpYyBpbnQgZGVwcmVjYXRlZCA9IDA7CisKKyAgICBpZiAoIWRlcHJlY2F0ZWQpIHsKKyAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAieG1sU2Nhbk5hbWUoKSBkZXByZWNhdGVkIGZ1bmN0aW9uIHJlYWNoZWRcbiIpOworICAgICAgICBkZXByZWNhdGVkID0gMTsKKyAgICB9CisgICAgcmV0dXJuIChOVUxMKTsKK30KKworLyoqCisgKiB4bWxQYXJzZXJIYW5kbGVSZWZlcmVuY2U6CisgKiBAY3R4dDogIHRoZSBwYXJzZXIgY29udGV4dAorICoKKyAqIFRPRE86IFJlbW92ZSwgbm93IGRlcHJlY2F0ZWQgLi4uIHRoZSB0ZXN0IGlzIGRvbmUgZGlyZWN0bHkgaW4gdGhlCisgKiAgICAgICBjb250ZW50IHBhcnNpbmcKKyAqIHJvdXRpbmVzLgorICoKKyAqIFs2N10gUmVmZXJlbmNlIDo6PSBFbnRpdHlSZWYgfCBDaGFyUmVmCisgKgorICogWzY4XSBFbnRpdHlSZWYgOjo9ICcmJyBOYW1lICc7JworICoKKyAqIFsgV0ZDOiBFbnRpdHkgRGVjbGFyZWQgXQorICogdGhlIE5hbWUgZ2l2ZW4gaW4gdGhlIGVudGl0eSByZWZlcmVuY2UgbXVzdCBtYXRjaCB0aGF0IGluIGFuIGVudGl0eQorICogZGVjbGFyYXRpb24sIGV4Y2VwdCB0aGF0IHdlbGwtZm9ybWVkIGRvY3VtZW50cyBuZWVkIG5vdCBkZWNsYXJlIGFueQorICogb2YgdGhlIGZvbGxvd2luZyBlbnRpdGllczogYW1wLCBsdCwgZ3QsIGFwb3MsIHF1b3QuCisgKgorICogWyBXRkM6IFBhcnNlZCBFbnRpdHkgXQorICogQW4gZW50aXR5IHJlZmVyZW5jZSBtdXN0IG5vdCBjb250YWluIHRoZSBuYW1lIG9mIGFuIHVucGFyc2VkIGVudGl0eQorICoKKyAqIFs2Nl0gQ2hhclJlZiA6Oj0gJyYjJyBbMC05XSsgJzsnIHwKKyAqICAgICAgICAgICAgICAgICAgJyYjeCcgWzAtOWEtZkEtRl0rICc7JworICoKKyAqIEEgUEVSZWZlcmVuY2UgbWF5IGhhdmUgYmVlbiBkZXRlY3RlZCBpbiB0aGUgY3VycmVudCBpbnB1dCBzdHJlYW0KKyAqIHRoZSBoYW5kbGluZyBpcyBkb25lIGFjY29yZGluZ2x5IHRvCisgKiAgICAgIGh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy14bWwjZW50cHJvYworICovCit2b2lkCit4bWxQYXJzZXJIYW5kbGVSZWZlcmVuY2UoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0IEFUVFJJQlVURV9VTlVTRUQpCit7CisgICAgc3RhdGljIGludCBkZXByZWNhdGVkID0gMDsKKworICAgIGlmICghZGVwcmVjYXRlZCkgeworICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4bWxQYXJzZXJIYW5kbGVSZWZlcmVuY2UoKSBkZXByZWNhdGVkIGZ1bmN0aW9uIHJlYWNoZWRcbiIpOworICAgICAgICBkZXByZWNhdGVkID0gMTsKKyAgICB9CisKKyAgICByZXR1cm47Cit9CisKKy8qKgorICogeG1sSGFuZGxlRW50aXR5OgorICogQGN0eHQ6ICBhbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBlbnRpdHk6ICBhbiBYTUwgZW50aXR5IHBvaW50ZXIuCisgKgorICogRGVmYXVsdCBoYW5kbGluZyBvZiBkZWZpbmVkIGVudGl0aWVzLCB3aGVuIHNob3VsZCB3ZSBkZWZpbmUgYSBuZXcgaW5wdXQKKyAqIHN0cmVhbSA/IFdoZW4gZG8gd2UganVzdCBoYW5kbGUgdGhhdCBhcyBhIHNldCBvZiBjaGFycyA/CisgKgorICogT0JTT0xFVEU6IHRvIGJlIHJlbW92ZWQgYXQgc29tZSBwb2ludC4KKyAqLworCit2b2lkCit4bWxIYW5kbGVFbnRpdHkoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0IEFUVFJJQlVURV9VTlVTRUQsCisgICAgICAgICAgICAgICAgeG1sRW50aXR5UHRyIGVudGl0eSBBVFRSSUJVVEVfVU5VU0VEKQoreworICAgIHN0YXRpYyBpbnQgZGVwcmVjYXRlZCA9IDA7CisKKyAgICBpZiAoIWRlcHJlY2F0ZWQpIHsKKyAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAieG1sSGFuZGxlRW50aXR5KCkgZGVwcmVjYXRlZCBmdW5jdGlvbiByZWFjaGVkXG4iKTsKKyAgICAgICAgZGVwcmVjYXRlZCA9IDE7CisgICAgfQorfQorCisvKioKKyAqIHhtbE5ld0dsb2JhbE5zOgorICogQGRvYzogIHRoZSBkb2N1bWVudCBjYXJyeWluZyB0aGUgbmFtZXNwYWNlCisgKiBAaHJlZjogIHRoZSBVUkkgYXNzb2NpYXRlZAorICogQHByZWZpeDogIHRoZSBwcmVmaXggZm9yIHRoZSBuYW1lc3BhY2UKKyAqCisgKiBDcmVhdGlvbiBvZiBhIE5hbWVzcGFjZSwgdGhlIG9sZCB3YXkgdXNpbmcgUEkgYW5kIHdpdGhvdXQgc2NvcGluZworICogICBERVBSRUNBVEVEICEhIQorICogUmV0dXJucyBOVUxMIHRoaXMgZnVuY3Rpb25hbGl0eSBoYWQgYmVlbiByZW1vdmVkCisgKi8KK3htbE5zUHRyCit4bWxOZXdHbG9iYWxOcyh4bWxEb2NQdHIgZG9jIEFUVFJJQlVURV9VTlVTRUQsCisgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogaHJlZiBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIHByZWZpeCBBVFRSSUJVVEVfVU5VU0VEKQoreworICAgIHN0YXRpYyBpbnQgZGVwcmVjYXRlZCA9IDA7CisKKyAgICBpZiAoIWRlcHJlY2F0ZWQpIHsKKyAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAieG1sTmV3R2xvYmFsTnMoKSBkZXByZWNhdGVkIGZ1bmN0aW9uIHJlYWNoZWRcbiIpOworICAgICAgICBkZXByZWNhdGVkID0gMTsKKyAgICB9CisgICAgcmV0dXJuIChOVUxMKTsKK30KKworLyoqCisgKiB4bWxVcGdyYWRlT2xkTnM6CisgKiBAZG9jOiAgYSBkb2N1bWVudCBwb2ludGVyCisgKgorICogVXBncmFkZSBvbGQgc3R5bGUgTmFtZXNwYWNlcyAoUEkpIGFuZCBtb3ZlIHRoZW0gdG8gdGhlIHJvb3Qgb2YgdGhlIGRvY3VtZW50LgorICogREVQUkVDQVRFRAorICovCit2b2lkCit4bWxVcGdyYWRlT2xkTnMoeG1sRG9jUHRyIGRvYyBBVFRSSUJVVEVfVU5VU0VEKQoreworICAgIHN0YXRpYyBpbnQgZGVwcmVjYXRlZCA9IDA7CisKKyAgICBpZiAoIWRlcHJlY2F0ZWQpIHsKKyAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAieG1sVXBncmFkZU9sZE5zKCkgZGVwcmVjYXRlZCBmdW5jdGlvbiByZWFjaGVkXG4iKTsKKyAgICAgICAgZGVwcmVjYXRlZCA9IDE7CisgICAgfQorfQorCisvKioKKyAqIHhtbEVuY29kZUVudGl0aWVzOgorICogQGRvYzogIHRoZSBkb2N1bWVudCBjb250YWluaW5nIHRoZSBzdHJpbmcKKyAqIEBpbnB1dDogIEEgc3RyaW5nIHRvIGNvbnZlcnQgdG8gWE1MLgorICoKKyAqIFRPRE86IHJlbW92ZSB4bWxFbmNvZGVFbnRpdGllcywgb25jZSB3ZSBhcmUgbm90IGFmcmFpZCBvZiBicmVha2luZyBiaW5hcnkKKyAqICAgICAgIGNvbXBhdGliaWxpdHkKKyAqCisgKiBQZW9wbGUgbXVzdCBtaWdyYXRlIHRoZWlyIGNvZGUgdG8geG1sRW5jb2RlRW50aXRpZXNSZWVudHJhbnQgIQorICogVGhpcyByb3V0aW5lIHdpbGwgaXNzdWUgYSB3YXJuaW5nIHdoZW4gZW5jb3VudGVyZWQuCisgKgorICogUmV0dXJucyBOVUxMCisgKi8KK2NvbnN0IHhtbENoYXIgKgoreG1sRW5jb2RlRW50aXRpZXMoeG1sRG9jUHRyIGRvYyBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIGlucHV0IEFUVFJJQlVURV9VTlVTRUQpCit7CisgICAgc3RhdGljIGludCB3YXJuaW5nID0gMTsKKworICAgIGlmICh3YXJuaW5nKSB7CisgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgIkRlcHJlY2F0ZWQgQVBJIHhtbEVuY29kZUVudGl0aWVzKCkgdXNlZFxuIik7CisgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgIiAgIGNoYW5nZSBjb2RlIHRvIHVzZSB4bWxFbmNvZGVFbnRpdGllc1JlZW50cmFudCgpXG4iKTsKKyAgICAgICAgd2FybmluZyA9IDA7CisgICAgfQorICAgIHJldHVybiAoTlVMTCk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCU9sZCBzZXQgb2YgU0FYdjEgZnVuY3Rpb25zCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBpbnQgZGVwcmVjYXRlZF92MV9tc2cgPSAwOworCisjZGVmaW5lIERFUFJFQ0FURUQobikJCQkJCQlcCisgICAgaWYgKGRlcHJlY2F0ZWRfdjFfbXNnID09IDApCQkJCQlcCisJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCQkJXAorCSAgIlVzZSBvZiBkZXByZWNhdGVkIFNBWHYxIGZ1bmN0aW9uICVzXG4iLCBuKTsJCVwKKyAgICBkZXByZWNhdGVkX3YxX21zZysrOworCisvKioKKyAqIGdldFB1YmxpY0lkOgorICogQGN0eDogdGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KQorICoKKyAqIFByb3ZpZGVzIHRoZSBwdWJsaWMgSUQgZS5nLiAiLS8vU0dNTFNPVVJDRS8vRFREIERFTU8vL0VOIgorICogREVQUkVDQVRFRDogdXNlIHhtbFNBWDJHZXRQdWJsaWNJZCgpCisgKgorICogUmV0dXJucyBhIHhtbENoYXIgKgorICovCitjb25zdCB4bWxDaGFyICoKK2dldFB1YmxpY0lkKHZvaWQgKmN0eCkKK3sKKyAgICBERVBSRUNBVEVEKCJnZXRQdWJsaWNJZCIpCisgICAgICAgIHJldHVybiAoeG1sU0FYMkdldFB1YmxpY0lkKGN0eCkpOworfQorCisvKioKKyAqIGdldFN5c3RlbUlkOgorICogQGN0eDogdGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KQorICoKKyAqIFByb3ZpZGVzIHRoZSBzeXN0ZW0gSUQsIGJhc2ljYWxseSBVUkwgb3IgZmlsZW5hbWUgZS5nLgorICogaHR0cDovL3d3dy5zZ21sc291cmNlLmNvbS9kdGRzL21lbW8uZHRkCisgKiBERVBSRUNBVEVEOiB1c2UgeG1sU0FYMkdldFN5c3RlbUlkKCkKKyAqCisgKiBSZXR1cm5zIGEgeG1sQ2hhciAqCisgKi8KK2NvbnN0IHhtbENoYXIgKgorZ2V0U3lzdGVtSWQodm9pZCAqY3R4KQoreworICAgIERFUFJFQ0FURUQoImdldFN5c3RlbUlkIikKKyAgICAgICAgcmV0dXJuICh4bWxTQVgyR2V0U3lzdGVtSWQoY3R4KSk7Cit9CisKKy8qKgorICogZ2V0TGluZU51bWJlcjoKKyAqIEBjdHg6IHRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCkKKyAqCisgKiBQcm92aWRlIHRoZSBsaW5lIG51bWJlciBvZiB0aGUgY3VycmVudCBwYXJzaW5nIHBvaW50LgorICogREVQUkVDQVRFRDogdXNlIHhtbFNBWDJHZXRMaW5lTnVtYmVyKCkKKyAqCisgKiBSZXR1cm5zIGFuIGludAorICovCitpbnQKK2dldExpbmVOdW1iZXIodm9pZCAqY3R4KQoreworICAgIERFUFJFQ0FURUQoImdldExpbmVOdW1iZXIiKQorICAgICAgICByZXR1cm4gKHhtbFNBWDJHZXRMaW5lTnVtYmVyKGN0eCkpOworfQorCisvKioKKyAqIGdldENvbHVtbk51bWJlcjoKKyAqIEBjdHg6IHRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCkKKyAqCisgKiBQcm92aWRlIHRoZSBjb2x1bW4gbnVtYmVyIG9mIHRoZSBjdXJyZW50IHBhcnNpbmcgcG9pbnQuCisgKiBERVBSRUNBVEVEOiB1c2UgeG1sU0FYMkdldENvbHVtbk51bWJlcigpCisgKgorICogUmV0dXJucyBhbiBpbnQKKyAqLworaW50CitnZXRDb2x1bW5OdW1iZXIodm9pZCAqY3R4KQoreworICAgIERFUFJFQ0FURUQoImdldENvbHVtbk51bWJlciIpCisgICAgICAgIHJldHVybiAoeG1sU0FYMkdldENvbHVtbk51bWJlcihjdHgpKTsKK30KKworLyoqCisgKiBpc1N0YW5kYWxvbmU6CisgKiBAY3R4OiB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpCisgKgorICogSXMgdGhpcyBkb2N1bWVudCB0YWdnZWQgc3RhbmRhbG9uZSA/CisgKiBERVBSRUNBVEVEOiB1c2UgeG1sU0FYMklzU3RhbmRhbG9uZSgpCisgKgorICogUmV0dXJucyAxIGlmIHRydWUKKyAqLworaW50Citpc1N0YW5kYWxvbmUodm9pZCAqY3R4KQoreworICAgIERFUFJFQ0FURUQoImlzU3RhbmRhbG9uZSIpCisgICAgICAgIHJldHVybiAoeG1sU0FYMklzU3RhbmRhbG9uZShjdHgpKTsKK30KKworLyoqCisgKiBoYXNJbnRlcm5hbFN1YnNldDoKKyAqIEBjdHg6IHRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCkKKyAqCisgKiBEb2VzIHRoaXMgZG9jdW1lbnQgaGFzIGFuIGludGVybmFsIHN1YnNldAorICogREVQUkVDQVRFRDogdXNlIHhtbFNBWDJIYXNJbnRlcm5hbFN1YnNldCgpCisgKgorICogUmV0dXJucyAxIGlmIHRydWUKKyAqLworaW50CitoYXNJbnRlcm5hbFN1YnNldCh2b2lkICpjdHgpCit7CisgICAgREVQUkVDQVRFRCgiaGFzSW50ZXJuYWxTdWJzZXQiKQorICAgICAgICByZXR1cm4gKHhtbFNBWDJIYXNJbnRlcm5hbFN1YnNldChjdHgpKTsKK30KKworLyoqCisgKiBoYXNFeHRlcm5hbFN1YnNldDoKKyAqIEBjdHg6IHRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCkKKyAqCisgKiBEb2VzIHRoaXMgZG9jdW1lbnQgaGFzIGFuIGV4dGVybmFsIHN1YnNldAorICogREVQUkVDQVRFRDogdXNlIHhtbFNBWDJIYXNFeHRlcm5hbFN1YnNldCgpCisgKgorICogUmV0dXJucyAxIGlmIHRydWUKKyAqLworaW50CitoYXNFeHRlcm5hbFN1YnNldCh2b2lkICpjdHgpCit7CisgICAgREVQUkVDQVRFRCgiaGFzRXh0ZXJuYWxTdWJzZXQiKQorICAgICAgICByZXR1cm4gKHhtbFNBWDJIYXNFeHRlcm5hbFN1YnNldChjdHgpKTsKK30KKworLyoqCisgKiBpbnRlcm5hbFN1YnNldDoKKyAqIEBjdHg6ICB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpCisgKiBAbmFtZTogIHRoZSByb290IGVsZW1lbnQgbmFtZQorICogQEV4dGVybmFsSUQ6ICB0aGUgZXh0ZXJuYWwgSUQKKyAqIEBTeXN0ZW1JRDogIHRoZSBTWVNURU0gSUQgKGUuZy4gZmlsZW5hbWUgb3IgVVJMKQorICoKKyAqIENhbGxiYWNrIG9uIGludGVybmFsIHN1YnNldCBkZWNsYXJhdGlvbi4KKyAqIERFUFJFQ0FURUQ6IHVzZSB4bWxTQVgySW50ZXJuYWxTdWJzZXQoKQorICovCit2b2lkCitpbnRlcm5hbFN1YnNldCh2b2lkICpjdHgsIGNvbnN0IHhtbENoYXIgKiBuYW1lLAorICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIEV4dGVybmFsSUQsIGNvbnN0IHhtbENoYXIgKiBTeXN0ZW1JRCkKK3sKKyAgICBERVBSRUNBVEVEKCJpbnRlcm5hbFN1YnNldCIpCisgICAgICAgIHhtbFNBWDJJbnRlcm5hbFN1YnNldChjdHgsIG5hbWUsIEV4dGVybmFsSUQsIFN5c3RlbUlEKTsKK30KKworLyoqCisgKiBleHRlcm5hbFN1YnNldDoKKyAqIEBjdHg6IHRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCkKKyAqIEBuYW1lOiAgdGhlIHJvb3QgZWxlbWVudCBuYW1lCisgKiBARXh0ZXJuYWxJRDogIHRoZSBleHRlcm5hbCBJRAorICogQFN5c3RlbUlEOiAgdGhlIFNZU1RFTSBJRCAoZS5nLiBmaWxlbmFtZSBvciBVUkwpCisgKgorICogQ2FsbGJhY2sgb24gZXh0ZXJuYWwgc3Vic2V0IGRlY2xhcmF0aW9uLgorICogREVQUkVDQVRFRDogdXNlIHhtbFNBWDJFeHRlcm5hbFN1YnNldCgpCisgKi8KK3ZvaWQKK2V4dGVybmFsU3Vic2V0KHZvaWQgKmN0eCwgY29uc3QgeG1sQ2hhciAqIG5hbWUsCisgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogRXh0ZXJuYWxJRCwgY29uc3QgeG1sQ2hhciAqIFN5c3RlbUlEKQoreworICAgIERFUFJFQ0FURUQoImV4dGVybmFsU3Vic2V0IikKKyAgICAgICAgeG1sU0FYMkV4dGVybmFsU3Vic2V0KGN0eCwgbmFtZSwgRXh0ZXJuYWxJRCwgU3lzdGVtSUQpOworfQorCisvKioKKyAqIHJlc29sdmVFbnRpdHk6CisgKiBAY3R4OiB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpCisgKiBAcHVibGljSWQ6IFRoZSBwdWJsaWMgSUQgb2YgdGhlIGVudGl0eQorICogQHN5c3RlbUlkOiBUaGUgc3lzdGVtIElEIG9mIHRoZSBlbnRpdHkKKyAqCisgKiBUaGUgZW50aXR5IGxvYWRlciwgdG8gY29udHJvbCB0aGUgbG9hZGluZyBvZiBleHRlcm5hbCBlbnRpdGllcywKKyAqIHRoZSBhcHBsaWNhdGlvbiBjYW4gZWl0aGVyOgorICogICAgLSBvdmVycmlkZSB0aGlzIHJlc29sdmVFbnRpdHkoKSBjYWxsYmFjayBpbiB0aGUgU0FYIGJsb2NrCisgKiAgICAtIG9yIGJldHRlciB1c2UgdGhlIHhtbFNldEV4dGVybmFsRW50aXR5TG9hZGVyKCkgZnVuY3Rpb24gdG8KKyAqICAgICAgc2V0IHVwIGl0J3Mgb3duIGVudGl0eSByZXNvbHV0aW9uIHJvdXRpbmUKKyAqIERFUFJFQ0FURUQ6IHVzZSB4bWxTQVgyUmVzb2x2ZUVudGl0eSgpCisgKgorICogUmV0dXJucyB0aGUgeG1sUGFyc2VySW5wdXRQdHIgaWYgaW5saW5lZCBvciBOVUxMIGZvciBET00gYmVoYXZpb3VyLgorICovCit4bWxQYXJzZXJJbnB1dFB0cgorcmVzb2x2ZUVudGl0eSh2b2lkICpjdHgsIGNvbnN0IHhtbENoYXIgKiBwdWJsaWNJZCwKKyAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIHN5c3RlbUlkKQoreworICAgIERFUFJFQ0FURUQoInJlc29sdmVFbnRpdHkiKQorICAgICAgICByZXR1cm4gKHhtbFNBWDJSZXNvbHZlRW50aXR5KGN0eCwgcHVibGljSWQsIHN5c3RlbUlkKSk7Cit9CisKKy8qKgorICogZ2V0RW50aXR5OgorICogQGN0eDogdGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KQorICogQG5hbWU6IFRoZSBlbnRpdHkgbmFtZQorICoKKyAqIEdldCBhbiBlbnRpdHkgYnkgbmFtZQorICogREVQUkVDQVRFRDogdXNlIHhtbFNBWDJHZXRFbnRpdHkoKQorICoKKyAqIFJldHVybnMgdGhlIHhtbEVudGl0eVB0ciBpZiBmb3VuZC4KKyAqLworeG1sRW50aXR5UHRyCitnZXRFbnRpdHkodm9pZCAqY3R4LCBjb25zdCB4bWxDaGFyICogbmFtZSkKK3sKKyAgICBERVBSRUNBVEVEKCJnZXRFbnRpdHkiKQorICAgICAgICByZXR1cm4gKHhtbFNBWDJHZXRFbnRpdHkoY3R4LCBuYW1lKSk7Cit9CisKKy8qKgorICogZ2V0UGFyYW1ldGVyRW50aXR5OgorICogQGN0eDogdGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KQorICogQG5hbWU6IFRoZSBlbnRpdHkgbmFtZQorICoKKyAqIEdldCBhIHBhcmFtZXRlciBlbnRpdHkgYnkgbmFtZQorICogREVQUkVDQVRFRDogdXNlIHhtbFNBWDJHZXRQYXJhbWV0ZXJFbnRpdHkoKQorICoKKyAqIFJldHVybnMgdGhlIHhtbEVudGl0eVB0ciBpZiBmb3VuZC4KKyAqLworeG1sRW50aXR5UHRyCitnZXRQYXJhbWV0ZXJFbnRpdHkodm9pZCAqY3R4LCBjb25zdCB4bWxDaGFyICogbmFtZSkKK3sKKyAgICBERVBSRUNBVEVEKCJnZXRQYXJhbWV0ZXJFbnRpdHkiKQorICAgICAgICByZXR1cm4gKHhtbFNBWDJHZXRQYXJhbWV0ZXJFbnRpdHkoY3R4LCBuYW1lKSk7Cit9CisKKworLyoqCisgKiBlbnRpdHlEZWNsOgorICogQGN0eDogdGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KQorICogQG5hbWU6ICB0aGUgZW50aXR5IG5hbWUKKyAqIEB0eXBlOiAgdGhlIGVudGl0eSB0eXBlCisgKiBAcHVibGljSWQ6IFRoZSBwdWJsaWMgSUQgb2YgdGhlIGVudGl0eQorICogQHN5c3RlbUlkOiBUaGUgc3lzdGVtIElEIG9mIHRoZSBlbnRpdHkKKyAqIEBjb250ZW50OiB0aGUgZW50aXR5IHZhbHVlICh3aXRob3V0IHByb2Nlc3NpbmcpLgorICoKKyAqIEFuIGVudGl0eSBkZWZpbml0aW9uIGhhcyBiZWVuIHBhcnNlZAorICogREVQUkVDQVRFRDogdXNlIHhtbFNBWDJFbnRpdHlEZWNsKCkKKyAqLwordm9pZAorZW50aXR5RGVjbCh2b2lkICpjdHgsIGNvbnN0IHhtbENoYXIgKiBuYW1lLCBpbnQgdHlwZSwKKyAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIHB1YmxpY0lkLCBjb25zdCB4bWxDaGFyICogc3lzdGVtSWQsCisgICAgICAgICAgIHhtbENoYXIgKiBjb250ZW50KQoreworICAgIERFUFJFQ0FURUQoImVudGl0eURlY2wiKQorICAgICAgICB4bWxTQVgyRW50aXR5RGVjbChjdHgsIG5hbWUsIHR5cGUsIHB1YmxpY0lkLCBzeXN0ZW1JZCwgY29udGVudCk7Cit9CisKKy8qKgorICogYXR0cmlidXRlRGVjbDoKKyAqIEBjdHg6IHRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCkKKyAqIEBlbGVtOiAgdGhlIG5hbWUgb2YgdGhlIGVsZW1lbnQKKyAqIEBmdWxsbmFtZTogIHRoZSBhdHRyaWJ1dGUgbmFtZQorICogQHR5cGU6ICB0aGUgYXR0cmlidXRlIHR5cGUKKyAqIEBkZWY6ICB0aGUgdHlwZSBvZiBkZWZhdWx0IHZhbHVlCisgKiBAZGVmYXVsdFZhbHVlOiB0aGUgYXR0cmlidXRlIGRlZmF1bHQgdmFsdWUKKyAqIEB0cmVlOiAgdGhlIHRyZWUgb2YgZW51bWVyYXRlZCB2YWx1ZSBzZXQKKyAqCisgKiBBbiBhdHRyaWJ1dGUgZGVmaW5pdGlvbiBoYXMgYmVlbiBwYXJzZWQKKyAqIERFUFJFQ0FURUQ6IHVzZSB4bWxTQVgyQXR0cmlidXRlRGVjbCgpCisgKi8KK3ZvaWQKK2F0dHJpYnV0ZURlY2wodm9pZCAqY3R4LCBjb25zdCB4bWxDaGFyICogZWxlbSwgY29uc3QgeG1sQ2hhciAqIGZ1bGxuYW1lLAorICAgICAgICAgICAgICBpbnQgdHlwZSwgaW50IGRlZiwgY29uc3QgeG1sQ2hhciAqIGRlZmF1bHRWYWx1ZSwKKyAgICAgICAgICAgICAgeG1sRW51bWVyYXRpb25QdHIgdHJlZSkKK3sKKyAgICBERVBSRUNBVEVEKCJhdHRyaWJ1dGVEZWNsIikKKyAgICAgICAgeG1sU0FYMkF0dHJpYnV0ZURlY2woY3R4LCBlbGVtLCBmdWxsbmFtZSwgdHlwZSwgZGVmLCBkZWZhdWx0VmFsdWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyZWUpOworfQorCisvKioKKyAqIGVsZW1lbnREZWNsOgorICogQGN0eDogdGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KQorICogQG5hbWU6ICB0aGUgZWxlbWVudCBuYW1lCisgKiBAdHlwZTogIHRoZSBlbGVtZW50IHR5cGUKKyAqIEBjb250ZW50OiB0aGUgZWxlbWVudCB2YWx1ZSB0cmVlCisgKgorICogQW4gZWxlbWVudCBkZWZpbml0aW9uIGhhcyBiZWVuIHBhcnNlZAorICogREVQUkVDQVRFRDogdXNlIHhtbFNBWDJFbGVtZW50RGVjbCgpCisgKi8KK3ZvaWQKK2VsZW1lbnREZWNsKHZvaWQgKmN0eCwgY29uc3QgeG1sQ2hhciAqIG5hbWUsIGludCB0eXBlLAorICAgICAgICAgICAgeG1sRWxlbWVudENvbnRlbnRQdHIgY29udGVudCkKK3sKKyAgICBERVBSRUNBVEVEKCJlbGVtZW50RGVjbCIpCisgICAgICAgIHhtbFNBWDJFbGVtZW50RGVjbChjdHgsIG5hbWUsIHR5cGUsIGNvbnRlbnQpOworfQorCisvKioKKyAqIG5vdGF0aW9uRGVjbDoKKyAqIEBjdHg6IHRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCkKKyAqIEBuYW1lOiBUaGUgbmFtZSBvZiB0aGUgbm90YXRpb24KKyAqIEBwdWJsaWNJZDogVGhlIHB1YmxpYyBJRCBvZiB0aGUgZW50aXR5CisgKiBAc3lzdGVtSWQ6IFRoZSBzeXN0ZW0gSUQgb2YgdGhlIGVudGl0eQorICoKKyAqIFdoYXQgdG8gZG8gd2hlbiBhIG5vdGF0aW9uIGRlY2xhcmF0aW9uIGhhcyBiZWVuIHBhcnNlZC4KKyAqIERFUFJFQ0FURUQ6IHVzZSB4bWxTQVgyTm90YXRpb25EZWNsKCkKKyAqLwordm9pZAorbm90YXRpb25EZWNsKHZvaWQgKmN0eCwgY29uc3QgeG1sQ2hhciAqIG5hbWUsCisgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIHB1YmxpY0lkLCBjb25zdCB4bWxDaGFyICogc3lzdGVtSWQpCit7CisgICAgREVQUkVDQVRFRCgibm90YXRpb25EZWNsIikKKyAgICAgICAgeG1sU0FYMk5vdGF0aW9uRGVjbChjdHgsIG5hbWUsIHB1YmxpY0lkLCBzeXN0ZW1JZCk7Cit9CisKKy8qKgorICogdW5wYXJzZWRFbnRpdHlEZWNsOgorICogQGN0eDogdGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KQorICogQG5hbWU6IFRoZSBuYW1lIG9mIHRoZSBlbnRpdHkKKyAqIEBwdWJsaWNJZDogVGhlIHB1YmxpYyBJRCBvZiB0aGUgZW50aXR5CisgKiBAc3lzdGVtSWQ6IFRoZSBzeXN0ZW0gSUQgb2YgdGhlIGVudGl0eQorICogQG5vdGF0aW9uTmFtZTogdGhlIG5hbWUgb2YgdGhlIG5vdGF0aW9uCisgKgorICogV2hhdCB0byBkbyB3aGVuIGFuIHVucGFyc2VkIGVudGl0eSBkZWNsYXJhdGlvbiBpcyBwYXJzZWQKKyAqIERFUFJFQ0FURUQ6IHVzZSB4bWxTQVgyVW5wYXJzZWRFbnRpdHlEZWNsKCkKKyAqLwordm9pZAordW5wYXJzZWRFbnRpdHlEZWNsKHZvaWQgKmN0eCwgY29uc3QgeG1sQ2hhciAqIG5hbWUsCisgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIHB1YmxpY0lkLCBjb25zdCB4bWxDaGFyICogc3lzdGVtSWQsCisgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIG5vdGF0aW9uTmFtZSkKK3sKKyAgICBERVBSRUNBVEVEKCJ1bnBhcnNlZEVudGl0eURlY2wiKQorICAgICAgICB4bWxTQVgyVW5wYXJzZWRFbnRpdHlEZWNsKGN0eCwgbmFtZSwgcHVibGljSWQsIHN5c3RlbUlkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vdGF0aW9uTmFtZSk7Cit9CisKKy8qKgorICogc2V0RG9jdW1lbnRMb2NhdG9yOgorICogQGN0eDogdGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KQorICogQGxvYzogQSBTQVggTG9jYXRvcgorICoKKyAqIFJlY2VpdmUgdGhlIGRvY3VtZW50IGxvY2F0b3IgYXQgc3RhcnR1cCwgYWN0dWFsbHkgeG1sRGVmYXVsdFNBWExvY2F0b3IKKyAqIEV2ZXJ5dGhpbmcgaXMgYXZhaWxhYmxlIG9uIHRoZSBjb250ZXh0LCBzbyB0aGlzIGlzIHVzZWxlc3MgaW4gb3VyIGNhc2UuCisgKiBERVBSRUNBVEVECisgKi8KK3ZvaWQKK3NldERvY3VtZW50TG9jYXRvcih2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCwKKyAgICAgICAgICAgICAgICAgICB4bWxTQVhMb2NhdG9yUHRyIGxvYyBBVFRSSUJVVEVfVU5VU0VEKQoreworICAgIERFUFJFQ0FURUQoInNldERvY3VtZW50TG9jYXRvciIpCit9CisKKy8qKgorICogc3RhcnREb2N1bWVudDoKKyAqIEBjdHg6IHRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCkKKyAqCisgKiBjYWxsZWQgd2hlbiB0aGUgZG9jdW1lbnQgc3RhcnQgYmVpbmcgcHJvY2Vzc2VkLgorICogREVQUkVDQVRFRDogdXNlIHhtbFNBWDJTdGFydERvY3VtZW50KCkKKyAqLwordm9pZAorc3RhcnREb2N1bWVudCh2b2lkICpjdHgpCit7CisgICAvKiBkb24ndCBiZSB0b28gcGFpbmZ1bCBmb3IgZ2xhZGUgdXNlcnMgKi8KKyAgIC8qICBERVBSRUNBVEVEKCJzdGFydERvY3VtZW50IikgKi8KKyAgICAgICAgeG1sU0FYMlN0YXJ0RG9jdW1lbnQoY3R4KTsKK30KKworLyoqCisgKiBlbmREb2N1bWVudDoKKyAqIEBjdHg6IHRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCkKKyAqCisgKiBjYWxsZWQgd2hlbiB0aGUgZG9jdW1lbnQgZW5kIGhhcyBiZWVuIGRldGVjdGVkLgorICogREVQUkVDQVRFRDogdXNlIHhtbFNBWDJFbmREb2N1bWVudCgpCisgKi8KK3ZvaWQKK2VuZERvY3VtZW50KHZvaWQgKmN0eCkKK3sKKyAgICBERVBSRUNBVEVEKCJlbmREb2N1bWVudCIpCisgICAgICAgIHhtbFNBWDJFbmREb2N1bWVudChjdHgpOworfQorCisvKioKKyAqIGF0dHJpYnV0ZToKKyAqIEBjdHg6IHRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCkKKyAqIEBmdWxsbmFtZTogIFRoZSBhdHRyaWJ1dGUgbmFtZSwgaW5jbHVkaW5nIG5hbWVzcGFjZSBwcmVmaXgKKyAqIEB2YWx1ZTogIFRoZSBhdHRyaWJ1dGUgdmFsdWUKKyAqCisgKiBIYW5kbGUgYW4gYXR0cmlidXRlIHRoYXQgaGFzIGJlZW4gcmVhZCBieSB0aGUgcGFyc2VyLgorICogVGhlIGRlZmF1bHQgaGFuZGxpbmcgaXMgdG8gY29udmVydCB0aGUgYXR0cmlidXRlIGludG8gYW4KKyAqIERPTSBzdWJ0cmVlIGFuZCBwYXN0IGl0IGluIGEgbmV3IHhtbEF0dHIgZWxlbWVudCBhZGRlZCB0bworICogdGhlIGVsZW1lbnQuCisgKiBERVBSRUNBVEVEOiB1c2UgeG1sU0FYMkF0dHJpYnV0ZSgpCisgKi8KK3ZvaWQKK2F0dHJpYnV0ZSh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCwKKyAgICAgICAgICBjb25zdCB4bWxDaGFyICogZnVsbG5hbWUgQVRUUklCVVRFX1VOVVNFRCwKKyAgICAgICAgICBjb25zdCB4bWxDaGFyICogdmFsdWUgQVRUUklCVVRFX1VOVVNFRCkKK3sKKyAgICBERVBSRUNBVEVEKCJhdHRyaWJ1dGUiKQorfQorCisvKioKKyAqIHN0YXJ0RWxlbWVudDoKKyAqIEBjdHg6IHRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCkKKyAqIEBmdWxsbmFtZTogIFRoZSBlbGVtZW50IG5hbWUsIGluY2x1ZGluZyBuYW1lc3BhY2UgcHJlZml4CisgKiBAYXR0czogIEFuIGFycmF5IG9mIG5hbWUvdmFsdWUgYXR0cmlidXRlcyBwYWlycywgTlVMTCB0ZXJtaW5hdGVkCisgKgorICogY2FsbGVkIHdoZW4gYW4gb3BlbmluZyB0YWcgaGFzIGJlZW4gcHJvY2Vzc2VkLgorICogREVQUkVDQVRFRDogdXNlIHhtbFNBWDJTdGFydEVsZW1lbnQoKQorICovCit2b2lkCitzdGFydEVsZW1lbnQodm9pZCAqY3R4LCBjb25zdCB4bWxDaGFyICogZnVsbG5hbWUsIGNvbnN0IHhtbENoYXIgKiogYXR0cykKK3sKKyAgICB4bWxTQVgyU3RhcnRFbGVtZW50KGN0eCwgZnVsbG5hbWUsIGF0dHMpOworfQorCisvKioKKyAqIGVuZEVsZW1lbnQ6CisgKiBAY3R4OiB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpCisgKiBAbmFtZTogIFRoZSBlbGVtZW50IG5hbWUKKyAqCisgKiBjYWxsZWQgd2hlbiB0aGUgZW5kIG9mIGFuIGVsZW1lbnQgaGFzIGJlZW4gZGV0ZWN0ZWQuCisgKiBERVBSRUNBVEVEOiB1c2UgeG1sU0FYMkVuZEVsZW1lbnQoKQorICovCit2b2lkCitlbmRFbGVtZW50KHZvaWQgKmN0eCwgY29uc3QgeG1sQ2hhciAqIG5hbWUgQVRUUklCVVRFX1VOVVNFRCkKK3sKKyAgICBERVBSRUNBVEVEKCJlbmRFbGVtZW50IikKKyAgICB4bWxTQVgyRW5kRWxlbWVudChjdHgsIG5hbWUpOworfQorCisvKioKKyAqIHJlZmVyZW5jZToKKyAqIEBjdHg6IHRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCkKKyAqIEBuYW1lOiAgVGhlIGVudGl0eSBuYW1lCisgKgorICogY2FsbGVkIHdoZW4gYW4gZW50aXR5IHJlZmVyZW5jZSBpcyBkZXRlY3RlZC4KKyAqIERFUFJFQ0FURUQ6IHVzZSB4bWxTQVgyUmVmZXJlbmNlKCkKKyAqLwordm9pZAorcmVmZXJlbmNlKHZvaWQgKmN0eCwgY29uc3QgeG1sQ2hhciAqIG5hbWUpCit7CisgICAgREVQUkVDQVRFRCgicmVmZXJlbmNlIikKKyAgICAgICAgeG1sU0FYMlJlZmVyZW5jZShjdHgsIG5hbWUpOworfQorCisvKioKKyAqIGNoYXJhY3RlcnM6CisgKiBAY3R4OiB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpCisgKiBAY2g6ICBhIHhtbENoYXIgc3RyaW5nCisgKiBAbGVuOiB0aGUgbnVtYmVyIG9mIHhtbENoYXIKKyAqCisgKiByZWNlaXZpbmcgc29tZSBjaGFycyBmcm9tIHRoZSBwYXJzZXIuCisgKiBERVBSRUNBVEVEOiB1c2UgeG1sU0FYMkNoYXJhY3RlcnMoKQorICovCit2b2lkCitjaGFyYWN0ZXJzKHZvaWQgKmN0eCwgY29uc3QgeG1sQ2hhciAqIGNoLCBpbnQgbGVuKQoreworICAgIERFUFJFQ0FURUQoImNoYXJhY3RlcnMiKQorICAgICAgICB4bWxTQVgyQ2hhcmFjdGVycyhjdHgsIGNoLCBsZW4pOworfQorCisvKioKKyAqIGlnbm9yYWJsZVdoaXRlc3BhY2U6CisgKiBAY3R4OiB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpCisgKiBAY2g6ICBhIHhtbENoYXIgc3RyaW5nCisgKiBAbGVuOiB0aGUgbnVtYmVyIG9mIHhtbENoYXIKKyAqCisgKiByZWNlaXZpbmcgc29tZSBpZ25vcmFibGUgd2hpdGVzcGFjZXMgZnJvbSB0aGUgcGFyc2VyLgorICogVU5VU0VEOiBieSBkZWZhdWx0IHRoZSBET00gYnVpbGRpbmcgd2lsbCB1c2UgY2hhcmFjdGVycworICogREVQUkVDQVRFRDogdXNlIHhtbFNBWDJJZ25vcmFibGVXaGl0ZXNwYWNlKCkKKyAqLwordm9pZAoraWdub3JhYmxlV2hpdGVzcGFjZSh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCwKKyAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIGNoIEFUVFJJQlVURV9VTlVTRUQsCisgICAgICAgICAgICAgICAgICAgIGludCBsZW4gQVRUUklCVVRFX1VOVVNFRCkKK3sKKyAgICBERVBSRUNBVEVEKCJpZ25vcmFibGVXaGl0ZXNwYWNlIikKK30KKworLyoqCisgKiBwcm9jZXNzaW5nSW5zdHJ1Y3Rpb246CisgKiBAY3R4OiB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpCisgKiBAdGFyZ2V0OiAgdGhlIHRhcmdldCBuYW1lCisgKiBAZGF0YTogdGhlIFBJIGRhdGEncworICoKKyAqIEEgcHJvY2Vzc2luZyBpbnN0cnVjdGlvbiBoYXMgYmVlbiBwYXJzZWQuCisgKiBERVBSRUNBVEVEOiB1c2UgeG1sU0FYMlByb2Nlc3NpbmdJbnN0cnVjdGlvbigpCisgKi8KK3ZvaWQKK3Byb2Nlc3NpbmdJbnN0cnVjdGlvbih2b2lkICpjdHgsIGNvbnN0IHhtbENoYXIgKiB0YXJnZXQsCisgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIGRhdGEpCit7CisgICAgREVQUkVDQVRFRCgicHJvY2Vzc2luZ0luc3RydWN0aW9uIikKKyAgICAgICAgeG1sU0FYMlByb2Nlc3NpbmdJbnN0cnVjdGlvbihjdHgsIHRhcmdldCwgZGF0YSk7Cit9CisKKy8qKgorICogZ2xvYmFsTmFtZXNwYWNlOgorICogQGN0eDogdGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KQorICogQGhyZWY6ICB0aGUgbmFtZXNwYWNlIGFzc29jaWF0ZWQgVVJOCisgKiBAcHJlZml4OiB0aGUgbmFtZXNwYWNlIHByZWZpeAorICoKKyAqIEFuIG9sZCBnbG9iYWwgbmFtZXNwYWNlIGhhcyBiZWVuIHBhcnNlZC4KKyAqIERFUFJFQ0FURUQKKyAqLwordm9pZAorZ2xvYmFsTmFtZXNwYWNlKHZvaWQgKmN0eCBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBocmVmIEFUVFJJQlVURV9VTlVTRUQsCisgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIHByZWZpeCBBVFRSSUJVVEVfVU5VU0VEKQoreworICAgIERFUFJFQ0FURUQoImdsb2JhbE5hbWVzcGFjZSIpCit9CisKKy8qKgorICogc2V0TmFtZXNwYWNlOgorICogQGN0eDogdGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KQorICogQG5hbWU6ICB0aGUgbmFtZXNwYWNlIHByZWZpeAorICoKKyAqIFNldCB0aGUgY3VycmVudCBlbGVtZW50IG5hbWVzcGFjZS4KKyAqIERFUFJFQ0FURUQKKyAqLworCit2b2lkCitzZXROYW1lc3BhY2Uodm9pZCAqY3R4IEFUVFJJQlVURV9VTlVTRUQsCisgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIG5hbWUgQVRUUklCVVRFX1VOVVNFRCkKK3sKKyAgICBERVBSRUNBVEVEKCJzZXROYW1lc3BhY2UiKQorfQorCisvKioKKyAqIGdldE5hbWVzcGFjZToKKyAqIEBjdHg6IHRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCkKKyAqCisgKiBHZXQgdGhlIGN1cnJlbnQgZWxlbWVudCBuYW1lc3BhY2UuCisgKiBERVBSRUNBVEVECisgKgorICogUmV0dXJucyB0aGUgeG1sTnNQdHIgb3IgTlVMTCBpZiBub25lCisgKi8KKworeG1sTnNQdHIKK2dldE5hbWVzcGFjZSh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCkKK3sKKyAgICBERVBSRUNBVEVEKCJnZXROYW1lc3BhY2UiKQorICAgICAgICByZXR1cm4gKE5VTEwpOworfQorCisvKioKKyAqIGNoZWNrTmFtZXNwYWNlOgorICogQGN0eDogdGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KQorICogQG5hbWVzcGFjZTogdGhlIG5hbWVzcGFjZSB0byBjaGVjayBhZ2FpbnN0CisgKgorICogQ2hlY2sgdGhhdCB0aGUgY3VycmVudCBlbGVtZW50IG5hbWVzcGFjZSBpcyB0aGUgc2FtZSBhcyB0aGUKKyAqIG9uZSByZWFkIHVwb24gcGFyc2luZy4KKyAqIERFUFJFQ0FURUQKKyAqCisgKiBSZXR1cm5zIDEgaWYgdHJ1ZSAwIG90aGVyd2lzZQorICovCisKK2ludAorY2hlY2tOYW1lc3BhY2Uodm9pZCAqY3R4IEFUVFJJQlVURV9VTlVTRUQsCisgICAgICAgICAgICAgICB4bWxDaGFyICogbmFtZXNwYWNlIEFUVFJJQlVURV9VTlVTRUQpCit7CisgICAgREVQUkVDQVRFRCgiY2hlY2tOYW1lc3BhY2UiKQorICAgICAgICByZXR1cm4gKDApOworfQorCisvKioKKyAqIG5hbWVzcGFjZURlY2w6CisgKiBAY3R4OiB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpCisgKiBAaHJlZjogIHRoZSBuYW1lc3BhY2UgYXNzb2NpYXRlZCBVUk4KKyAqIEBwcmVmaXg6IHRoZSBuYW1lc3BhY2UgcHJlZml4CisgKgorICogQSBuYW1lc3BhY2UgaGFzIGJlZW4gcGFyc2VkLgorICogREVQUkVDQVRFRAorICovCit2b2lkCituYW1lc3BhY2VEZWNsKHZvaWQgKmN0eCBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogaHJlZiBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogcHJlZml4IEFUVFJJQlVURV9VTlVTRUQpCit7CisgICAgREVQUkVDQVRFRCgibmFtZXNwYWNlRGVjbCIpCit9CisKKy8qKgorICogY29tbWVudDoKKyAqIEBjdHg6IHRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCkKKyAqIEB2YWx1ZTogIHRoZSBjb21tZW50IGNvbnRlbnQKKyAqCisgKiBBIGNvbW1lbnQgaGFzIGJlZW4gcGFyc2VkLgorICogREVQUkVDQVRFRDogdXNlIHhtbFNBWDJDb21tZW50KCkKKyAqLwordm9pZAorY29tbWVudCh2b2lkICpjdHgsIGNvbnN0IHhtbENoYXIgKiB2YWx1ZSkKK3sKKyAgICBERVBSRUNBVEVEKCJjb21tZW50IikKKyAgICAgICAgeG1sU0FYMkNvbW1lbnQoY3R4LCB2YWx1ZSk7Cit9CisKKy8qKgorICogY2RhdGFCbG9jazoKKyAqIEBjdHg6IHRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCkKKyAqIEB2YWx1ZTogIFRoZSBwY2RhdGEgY29udGVudAorICogQGxlbjogIHRoZSBibG9jayBsZW5ndGgKKyAqCisgKiBjYWxsZWQgd2hlbiBhIHBjZGF0YSBibG9jayBoYXMgYmVlbiBwYXJzZWQKKyAqIERFUFJFQ0FURUQ6IHVzZSB4bWxTQVgyQ0RhdGFCbG9jaygpCisgKi8KK3ZvaWQKK2NkYXRhQmxvY2sodm9pZCAqY3R4LCBjb25zdCB4bWxDaGFyICogdmFsdWUsIGludCBsZW4pCit7CisgICAgREVQUkVDQVRFRCgiY2RhdGFCbG9jayIpCisgICAgICAgIHhtbFNBWDJDRGF0YUJsb2NrKGN0eCwgdmFsdWUsIGxlbik7Cit9CisjZGVmaW5lIGJvdHRvbV9sZWdhY3kKKyNpbmNsdWRlICJlbGZnY2NoYWNrLmgiCisjZW5kaWYgLyogTElCWE1MX0xFR0FDWV9FTkFCTEVEICovCisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvbGlieG1sLTIuMC11bmluc3RhbGxlZC5wYy5pbiBiL2xpYnhtbDIvbGlieG1sLTIuMC11bmluc3RhbGxlZC5wYy5pbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MGI4ODZiCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9saWJ4bWwtMi4wLXVuaW5zdGFsbGVkLnBjLmluCkBAIC0wLDAgKzEsMTIgQEAKK3ByZWZpeD0KK2V4ZWNfcHJlZml4PQorbGliZGlyPSR7cGNmaWxlZGlyfQoraW5jbHVkZWRpcj0ke3BjZmlsZWRpcn0vaW5jbHVkZQorCisKK05hbWU6IGxpYlhNTAorVmVyc2lvbjogQFZFUlNJT05ACitEZXNjcmlwdGlvbjogbGliWE1MIGxpYnJhcnkgdmVyc2lvbjIuCitSZXF1aXJlczoKK0xpYnM6IC1MJHtsaWJkaXJ9IC1seG1sMiBASUNVX0xJQlNAIEBUSFJFQURfTElCU0AgQFpfTElCU0AgQExaTUFfTElCU0AgQElDT05WX0xJQlNAIEBNX0xJQlNAIEBMSUJTQAorQ2ZsYWdzOiAtSSR7aW5jbHVkZWRpcn0gQFhNTF9JTkNMVURFRElSQCBAWE1MX0NGTEFHU0AKZGlmZiAtLWdpdCBhL2xpYnhtbDIvbGlieG1sLTIuMC5wYy5pbiBiL2xpYnhtbDIvbGlieG1sLTIuMC5wYy5pbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNjUzYTdjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9saWJ4bWwtMi4wLnBjLmluCkBAIC0wLDAgKzEsMTMgQEAKK3ByZWZpeD1AcHJlZml4QAorZXhlY19wcmVmaXg9QGV4ZWNfcHJlZml4QAorbGliZGlyPUBsaWJkaXJACitpbmNsdWRlZGlyPUBpbmNsdWRlZGlyQAorbW9kdWxlcz1AV0lUSF9NT0RVTEVTQAorCitOYW1lOiBsaWJYTUwKK1ZlcnNpb246IEBWRVJTSU9OQAorRGVzY3JpcHRpb246IGxpYlhNTCBsaWJyYXJ5IHZlcnNpb24yLgorUmVxdWlyZXM6CitMaWJzOiAtTCR7bGliZGlyfSAtbHhtbDIKK0xpYnMucHJpdmF0ZTogQElDVV9MSUJTQCBAVEhSRUFEX0xJQlNAIEBaX0xJQlNAIEBMWk1BX0xJQlNAIEBJQ09OVl9MSUJTQCBATV9MSUJTQCBAV0lOMzJfRVhUUkFfTElCQUREQCBATElCU0AKK0NmbGFnczogQFhNTF9JTkNMVURFRElSQCBAWE1MX0NGTEFHU0AKZGlmZiAtLWdpdCBhL2xpYnhtbDIvbGlieG1sLjMgYi9saWJ4bWwyL2xpYnhtbC4zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIzZTlmZWYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2xpYnhtbC4zCkBAIC0wLDAgKzEsNzEgQEAKKy5USCBsaWJ4bWwgMyAiMTIgQXByaWwgMjAwMCIKKy5TSCBOQU1FCitsaWJ4bWwgXC0gbGlicmFyeSB1c2VkIHRvIHBhcnNlIFhNTCBmaWxlcworLlNIIERFU0NSSVBUSU9OCitUaGUKKy5JICBsaWJ4bWwKK2xpYnJhcnkgaXMgdXNlZCB0byBwYXJzZSBYTUwgZmlsZXMuIAorSXRzIGludGVybmFsIGRvY3VtZW50IHJlcHJlc2VudGF0aW9uIGlzIGFzIGNsb3NlIGFzIHBvc3NpYmxlIHRvIHRoZSAKKy5JIERPTSAKKyhEb2N1bWVudCBPYmplY3QgTW9kZWwpIGludGVyZmFjZSwKK2FuIEFQSSBmb3IgYWNjZXNzaW5nIFhNTCBvciBIVE1MIHN0cnVjdHVyZWQgZG9jdW1lbnRzLgorLkxQCitUaGUKKy5JIGxpYnhtbAorbGlicmFyeSBhbHNvIGhhcyBhIAorLklSIFNBWCAtbGlrZQoraW50ZXJmYWNlLCAKK3doaWNoIGlzIGRlc2lnbmVkIHRvIGJlIGNvbXBhdGlibGUgd2l0aCAKKy5JUiBleHBhdCAoMSkuCitOT1RFOgorLklSIFNBWCAsIAordGhlIFNpbXBsZSBBUEkgZm9yIFhNTCwKK2lzIGEgc3RhbmRhcmQgaW50ZXJmYWNlIGZvciBldmVudC1iYXNlZCBYTUwgcGFyc2luZywKK2RldmVsb3BlZCBjb2xsYWJvcmF0aXZlbHkgYnkgdGhlIG1lbWJlcnMgb2YgdGhlIFhNTC1ERVYgbWFpbGluZyBsaXN0LCAKK2N1cnJlbnRseSBob3N0ZWQgYnkgT0FTSVMuCitUaGUKKy5JIGV4cGF0CitsaWJyYXJ5IGlzIGEgWE1MIDEuMCBwYXJzZXIgd3JpdHRlbiBpbiBDLAord2hpY2ggYWltcyB0byBiZSBmdWxseSBjb25mb3JtaW5nLiAKK0l0IGlzIGN1cnJlbnRseSBub3QgYSB2YWxpZGF0aW5nIFhNTCBwcm9jZXNzb3IuCisuTFAKK1RoZQorLkkgbGlieG1sIAorbGlicmFyeSBub3cgaW5jbHVkZXMgYSBuZWFybHkgY29tcGxldGUgCisuSSBYUGF0aCAKK2ltcGxlbWVudGF0aW9uLiAKK1RoZQorLkkgWFBhdGgKKyhYTUwgUGF0aCBMYW5ndWFnZSkgaXMgYSBsYW5ndWFnZSBmb3IgYWRkcmVzc2luZyBwYXJ0cyBvZiBhbiAKK1hNTCBkb2N1bWVudCwKK2Rlc2lnbmVkIHRvIGJlIHVzZWQgYnkgYm90aCAKKy5JIFhTTFQgCithbmQgCisuSVIgWFBvaW50ZXIgLgorLkxQCitUaGUKKy5JIGxpYnhtbCAKK2xpYnJhcnkgZXhwb3J0cyBQdXNoIGFuZCBQdWxsIHR5cGUgcGFyc2VyIGludGVyZmFjZXMgZm9yIGJvdGggWE1MIGFuZCAKKy5JUiBodG1sIC4gCisuU0ggRklMRVMKKy5UUCAyLjJpCisuQiAvZGVwb3QvbGliL2xpYnhtbF8yLjAuMC9saWJ4bWwuYQorc3RhdGljIGxpYnJhcnkKKy5UUAorLkIgL2RlcG90L2xpYi9saWJ4bWxfMi4wLjAvbGlieG1sLnNvCitzaGFyZWQgbGlicmFyeQorLlRQCisuQiAvZGVwb3QvcGFja2FnZS9saWJ4bWxfMi4wLjAvYmluL3htbGxpbnQKK2JpbmFyeSBhcHBsaWNhdGlvbiBmb3IgcGFyc2luZyBYTUwgZmlsZXMKKy5TSCBBVVRIT1JTCitEYW5pZWwgVmVpbGxhcmQgKGRhbmllbEB2ZWlsbGFyZC5jb20pLgorUmVkIEhhdCBJbmMuCitNYW51YWwgcGFnZSBieSBaaXlpbmcgU2hlcndpbiAoc2hlcndpbkBubG0ubmloLmdvdiksCitMaXN0ZXIgSGlsbCBOYXRpb25hbCBDZW50ZXIgZm9yIEJpb21lZGljYWwgQ29tbXVuaWNhdGlvbnMsCitVLlMuIE5hdGlvbmFsIExpYnJhcnkgb2YgTWVkaWNpbmUuCisuU0ggU0VFIEFMU08KKy5JUiB4bWxsaW50ICgxKSwKKy5JUiBsaWJ4c2x0ICgzKSwKKy5JUiBsaWJleHNsdCAoMyksCisuSVIgeHNsdHByb2MgKDEpCisuXCIgZW5kIG9mIG1hbnVhbCBwYWdlCmRpZmYgLS1naXQgYS9saWJ4bWwyL2xpYnhtbC5oIGIvbGlieG1sMi9saWJ4bWwuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZGE5MDQ0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9saWJ4bWwuaApAQCAtMCwwICsxLDExMiBAQAorLyoKKyAqIGxpYnhtbC5oOiBpbnRlcm5hbCBoZWFkZXIgb25seSB1c2VkIGR1cmluZyB0aGUgY29tcGlsYXRpb24gb2YgbGlieG1sCisgKgorICogU2VlIENPUFlSSUdIVCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlCisgKgorICogQXV0aG9yOiBicmVlc2VAdXNlcnMuc291cmNlZm9yZ2UubmV0CisgKi8KKworI2lmbmRlZiBfX1hNTF9MSUJYTUxfSF9fCisjZGVmaW5lIF9fWE1MX0xJQlhNTF9IX18KKworI2lmbmRlZiBOT19MQVJHRUZJTEVfU09VUkNFCisjaWZuZGVmIF9MQVJHRUZJTEVfU09VUkNFCisjZGVmaW5lIF9MQVJHRUZJTEVfU09VUkNFCisjZW5kaWYKKyNpZm5kZWYgX0ZJTEVfT0ZGU0VUX0JJVFMKKyNkZWZpbmUgX0ZJTEVfT0ZGU0VUX0JJVFMgNjQKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKG1hY2ludG9zaCkKKyNpbmNsdWRlICJjb25maWctbWFjLmgiCisjZWxpZiBkZWZpbmVkKF9XSU4zMl9XQ0UpCisvKgorICogV2luZG93cyBDRSBjb21wYXRpYmlsaXR5IGRlZmluaXRpb25zIGFuZCBmdW5jdGlvbnMKKyAqIFRoaXMgaXMgbmVlZGVkIHRvIGNvbXBpbGUgbGlieG1sMiBmb3IgV2luZG93cyBDRS4KKyAqIEF0IGxlYXN0IEkgdGVzdGVkIGl0IHdpdGggV2luQ0UgNS4wIGZvciBFbXVsYXRvciBhbmQgV2luQ0UgNC4yL1NINCB0YXJnZXQKKyAqLworI2luY2x1ZGUgPHdpbjMyY29uZmlnLmg+CisjaW5jbHVkZSA8bGlieG1sL3htbHZlcnNpb24uaD4KKyNlbHNlCisvKgorICogQ3VycmVudGx5IHN1cHBvcnRlZCBwbGF0Zm9ybXMgdXNlIGVpdGhlciBhdXRvY29uZiBvcgorICogY29weSB0byBjb25maWcuaCBvd24gInByZXNldCIgY29uZmlndXJhdGlvbiBmaWxlLgorICogQXMgcmVzdWx0IGlmZGVmIEhBVkVfQ09ORklHX0ggaXMgb21pdGVkIGhlcmUuCisgKi8KKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlIDxsaWJ4bWwveG1sdmVyc2lvbi5oPgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKF9fTHlueF9fKQorI2luY2x1ZGUgPHN0ZGlvLmg+IC8qIHB1bGwgZGVmaW5pdGlvbiBvZiBzaXplX3QgKi8KKyNpbmNsdWRlIDx2YXJhcmdzLmg+CitpbnQgc25wcmludGYoY2hhciAqLCBzaXplX3QsIGNvbnN0IGNoYXIgKiwgLi4uKTsKK2ludCB2ZnByaW50ZihGSUxFICosIGNvbnN0IGNoYXIgKiwgdmFfbGlzdCk7CisjZW5kaWYKKworI2lmbmRlZiBXSVRIX1RSSU8KKyNpbmNsdWRlIDxzdGRpby5oPgorI2Vsc2UKKy8qKgorICogVFJJT19SRVBMQUNFX1NURElPOgorICoKKyAqIFRoaXMgbWFjcm8gaXMgZGVmaW5lZCBpZiB0ZWggdHJpbyBzdHJpbmcgZm9ybWF0dGluZyBmdW5jdGlvbnMgYXJlIHRvCisgKiBiZSB1c2VkIGluc3RlYWQgb2YgdGhlIGRlZmF1bHQgc3RkaW8gb25lcy4KKyAqLworI2RlZmluZSBUUklPX1JFUExBQ0VfU1RESU8KKyNpbmNsdWRlICJ0cmlvLmgiCisjZW5kaWYKKworLyoKKyAqIEludGVybmFsIHZhcmlhYmxlIGluZGljYXRpbmcgaWYgYSBjYWxsYmFjayBoYXMgYmVlbiByZWdpc3RlcmVkIGZvcgorICogbm9kZSBjcmVhdGlvbi9kZXN0cnVjdGlvbi4gSXQgYXZvaWRzIHNwZW5kaW5nIGEgbG90IG9mIHRpbWUgaW4gbG9ja2luZworICogZnVuY3Rpb24gd2hpbGUgY2hlY2tpbmcgaWYgdGhlIGNhbGxiYWNrIGV4aXN0cy4KKyAqLworZXh0ZXJuIGludCBfX3htbFJlZ2lzdGVyQ2FsbGJhY2tzOworLyoKKyAqIGludGVybmFsIGVycm9yIHJlcG9ydGluZyByb3V0aW5lcywgc2hhcmVkIGJ1dCBub3QgcGFydG9mIHRoZSBBUEkuCisgKi8KK3ZvaWQgX194bWxJT0VycihpbnQgZG9tYWluLCBpbnQgY29kZSwgY29uc3QgY2hhciAqZXh0cmEpOwordm9pZCBfX3htbExvYWRlckVycih2b2lkICpjdHgsIGNvbnN0IGNoYXIgKm1zZywgY29uc3QgY2hhciAqZmlsZW5hbWUpOworI2lmZGVmIExJQlhNTF9IVE1MX0VOQUJMRUQKKy8qCisgKiBpbnRlcm5hbCBmdW5jdGlvbiBvZiBIVE1MIHBhcnNlciBuZWVkZWQgZm9yIHhtbFBhcnNlSW5Ob2RlQ29udGV4dAorICogYnV0IG5vdCBwYXJ0IG9mIHRoZSBBUEkKKyAqLwordm9pZCBfX2h0bWxQYXJzZUNvbnRlbnQodm9pZCAqY3R4KTsKKyNlbmRpZgorCisvKgorICogaW50ZXJuYWwgZ2xvYmFsIGluaXRpYWxpemF0aW9uIGNyaXRpY2FsIHNlY3Rpb24gcm91dGluZXMuCisgKi8KK3ZvaWQgX194bWxHbG9iYWxJbml0TXV0ZXhMb2NrKHZvaWQpOwordm9pZCBfX3htbEdsb2JhbEluaXRNdXRleFVubG9jayh2b2lkKTsKK3ZvaWQgX194bWxHbG9iYWxJbml0TXV0ZXhEZXN0cm95KHZvaWQpOworCitpbnQgX194bWxJbml0aWFsaXplRGljdCh2b2lkKTsKKworI2lmIGRlZmluZWQoSEFWRV9SQU5EKSAmJiBkZWZpbmVkKEhBVkVfU1JBTkQpICYmIGRlZmluZWQoSEFWRV9USU1FKQorLyoKKyAqIGludGVybmFsIHRocmVhZCBzYWZlIHJhbmRvbSBmdW5jdGlvbgorICovCitpbnQgX194bWxSYW5kb20odm9pZCk7CisjZW5kaWYKKworaW50IHhtbE5vcCh2b2lkKTsKKworI2lmZGVmIElOX0xJQlhNTAorI2lmZGVmIF9fR05VQ19fCisjaWZkZWYgUElDCisjaWZkZWYgbGludXgKKyNpZiAoX19HTlVDX18gPT0gMyAmJiBfX0dOVUNfTUlOT1JfXyA+PSAzKSB8fCAoX19HTlVDX18gPiAzKQorI2luY2x1ZGUgImVsZmdjY2hhY2suaCIKKyNlbmRpZgorI2VuZGlmCisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisjaWYgIWRlZmluZWQoUElDKSAmJiAhZGVmaW5lZChOT0xJQlRPT0wpCisjICBkZWZpbmUgTElCWE1MX1NUQVRJQworI2VuZGlmCisjZW5kaWYgLyogISBfX1hNTF9MSUJYTUxfSF9fICovCmRpZmYgLS1naXQgYS9saWJ4bWwyL2xpYnhtbC5tNCBiL2xpYnhtbDIvbGlieG1sLm00Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY4Y2Q4MjQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2xpYnhtbC5tNApAQCAtMCwwICsxLDE4OCBAQAorIyBDb25maWd1cmUgcGF0aHMgZm9yIExJQlhNTDIKKyMgTWlrZSBIb21tZXkgMjAwNC0wNi0xOQorIyB1c2UgQ1BQRkxBR1MgaW5zdGVhZCBvZiBDRkxBR1MKKyMgVG9zaGlvIEt1cmF0b21pIDIwMDEtMDQtMjEKKyMgQWRhcHRlZCBmcm9tOgorIyBDb25maWd1cmUgcGF0aHMgZm9yIEdMSUIKKyMgT3dlbiBUYXlsb3IgICAgIDk3LTExLTMKKworZG5sIEFNX1BBVEhfWE1MMihbTUlOSU1VTS1WRVJTSU9OLCBbQUNUSU9OLUlGLUZPVU5EIFssIEFDVElPTi1JRi1OT1QtRk9VTkRdXV0pCitkbmwgVGVzdCBmb3IgWE1MLCBhbmQgZGVmaW5lIFhNTF9DUFBGTEFHUyBhbmQgWE1MX0xJQlMKK2RubAorQUNfREVGVU4oW0FNX1BBVEhfWE1MMl0sWyAKK0FDX0FSR19XSVRIKHhtbC1wcmVmaXgsCisgICAgICAgICAgICBbICAtLXdpdGgteG1sLXByZWZpeD1QRlggICBQcmVmaXggd2hlcmUgbGlieG1sIGlzIGluc3RhbGxlZCAob3B0aW9uYWwpXSwKKyAgICAgICAgICAgIHhtbF9jb25maWdfcHJlZml4PSIkd2l0aHZhbCIsIHhtbF9jb25maWdfcHJlZml4PSIiKQorQUNfQVJHX1dJVEgoeG1sLWV4ZWMtcHJlZml4LAorICAgICAgICAgICAgWyAgLS13aXRoLXhtbC1leGVjLXByZWZpeD1QRlggRXhlYyBwcmVmaXggd2hlcmUgbGlieG1sIGlzIGluc3RhbGxlZCAob3B0aW9uYWwpXSwKKyAgICAgICAgICAgIHhtbF9jb25maWdfZXhlY19wcmVmaXg9IiR3aXRodmFsIiwgeG1sX2NvbmZpZ19leGVjX3ByZWZpeD0iIikKK0FDX0FSR19FTkFCTEUoeG1sdGVzdCwKKyAgICAgICAgICAgICAgWyAgLS1kaXNhYmxlLXhtbHRlc3QgICAgICAgRG8gbm90IHRyeSB0byBjb21waWxlIGFuZCBydW4gYSB0ZXN0IExJQlhNTCBwcm9ncmFtXSwsCisgICAgICAgICAgICAgIGVuYWJsZV94bWx0ZXN0PXllcykKKworICBpZiB0ZXN0IHgkeG1sX2NvbmZpZ19leGVjX3ByZWZpeCAhPSB4IDsgdGhlbgorICAgICB4bWxfY29uZmlnX2FyZ3M9IiR4bWxfY29uZmlnX2FyZ3MiCisgICAgIGlmIHRlc3QgeCR7WE1MMl9DT05GSUcrc2V0fSAhPSB4c2V0IDsgdGhlbgorICAgICAgICBYTUwyX0NPTkZJRz0keG1sX2NvbmZpZ19leGVjX3ByZWZpeC9iaW4veG1sMi1jb25maWcKKyAgICAgZmkKKyAgZmkKKyAgaWYgdGVzdCB4JHhtbF9jb25maWdfcHJlZml4ICE9IHggOyB0aGVuCisgICAgIHhtbF9jb25maWdfYXJncz0iJHhtbF9jb25maWdfYXJncyAtLXByZWZpeD0keG1sX2NvbmZpZ19wcmVmaXgiCisgICAgIGlmIHRlc3QgeCR7WE1MMl9DT05GSUcrc2V0fSAhPSB4c2V0IDsgdGhlbgorICAgICAgICBYTUwyX0NPTkZJRz0keG1sX2NvbmZpZ19wcmVmaXgvYmluL3htbDItY29uZmlnCisgICAgIGZpCisgIGZpCisKKyAgQUNfUEFUSF9QUk9HKFhNTDJfQ09ORklHLCB4bWwyLWNvbmZpZywgbm8pCisgIG1pbl94bWxfdmVyc2lvbj1pZmVsc2UoWyQxXSwgLDIuMC4wLFskMV0pCisgIEFDX01TR19DSEVDS0lORyhmb3IgbGlieG1sIC0gdmVyc2lvbiA+PSAkbWluX3htbF92ZXJzaW9uKQorICBub194bWw9IiIKKyAgaWYgdGVzdCAiJFhNTDJfQ09ORklHIiA9ICJubyIgOyB0aGVuCisgICAgbm9feG1sPXllcworICBlbHNlCisgICAgWE1MX0NQUEZMQUdTPWAkWE1MMl9DT05GSUcgJHhtbF9jb25maWdfYXJncyAtLWNmbGFnc2AKKyAgICBYTUxfTElCUz1gJFhNTDJfQ09ORklHICR4bWxfY29uZmlnX2FyZ3MgLS1saWJzYAorICAgIHhtbF9jb25maWdfbWFqb3JfdmVyc2lvbj1gJFhNTDJfQ09ORklHICR4bWxfY29uZmlnX2FyZ3MgLS12ZXJzaW9uIHwgXAorICAgICAgICAgICBzZWQgJ3MvXChbWzAtOV1dKlwpLlwoW1swLTldXSpcKS5cKFtbMC05XV0qXCkvXDEvJ2AKKyAgICB4bWxfY29uZmlnX21pbm9yX3ZlcnNpb249YCRYTUwyX0NPTkZJRyAkeG1sX2NvbmZpZ19hcmdzIC0tdmVyc2lvbiB8IFwKKyAgICAgICAgICAgc2VkICdzL1woW1swLTldXSpcKS5cKFtbMC05XV0qXCkuXChbWzAtOV1dKlwpL1wyLydgCisgICAgeG1sX2NvbmZpZ19taWNyb192ZXJzaW9uPWAkWE1MMl9DT05GSUcgJHhtbF9jb25maWdfYXJncyAtLXZlcnNpb24gfCBcCisgICAgICAgICAgIHNlZCAncy9cKFtbMC05XV0qXCkuXChbWzAtOV1dKlwpLlwoW1swLTldXSpcKS9cMy8nYAorICAgIGlmIHRlc3QgIngkZW5hYmxlX3htbHRlc3QiID0gInh5ZXMiIDsgdGhlbgorICAgICAgYWNfc2F2ZV9DUFBGTEFHUz0iJENQUEZMQUdTIgorICAgICAgYWNfc2F2ZV9MSUJTPSIkTElCUyIKKyAgICAgIENQUEZMQUdTPSIkQ1BQRkxBR1MgJFhNTF9DUFBGTEFHUyIKKyAgICAgIExJQlM9IiRYTUxfTElCUyAkTElCUyIKK2RubAorZG5sIE5vdyBjaGVjayBpZiB0aGUgaW5zdGFsbGVkIGxpYnhtbCBpcyBzdWZmaWNpZW50bHkgbmV3LgorZG5sIChBbHNvIHNhbml0eSBjaGVja3MgdGhlIHJlc3VsdHMgb2YgeG1sMi1jb25maWcgdG8gc29tZSBleHRlbnQpCitkbmwKKyAgICAgIHJtIC1mIGNvbmYueG1sdGVzdAorICAgICAgQUNfVFJZX1JVTihbCisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxsaWJ4bWwveG1sdmVyc2lvbi5oPgorCitpbnQgCittYWluKCkKK3sKKyAgaW50IHhtbF9tYWpvcl92ZXJzaW9uLCB4bWxfbWlub3JfdmVyc2lvbiwgeG1sX21pY3JvX3ZlcnNpb247CisgIGludCBtYWpvciwgbWlub3IsIG1pY3JvOworICBjaGFyICp0bXBfdmVyc2lvbjsKKworICBzeXN0ZW0oInRvdWNoIGNvbmYueG1sdGVzdCIpOworCisgIC8qIENhcHR1cmUgeG1sMi1jb25maWcgb3V0cHV0IHZpYSBhdXRvY29uZi9jb25maWd1cmUgdmFyaWFibGVzICovCisgIC8qIEhQL1VYIDkgKCVAIyEpIHdyaXRlcyB0byBzc2NhbmYgc3RyaW5ncyAqLworICB0bXBfdmVyc2lvbiA9IChjaGFyICopc3RyZHVwKCIkbWluX3htbF92ZXJzaW9uIik7CisgIGlmIChzc2NhbmYodG1wX3ZlcnNpb24sICIlZC4lZC4lZCIsICZtYWpvciwgJm1pbm9yLCAmbWljcm8pICE9IDMpIHsKKyAgICAgcHJpbnRmKCIlcywgYmFkIHZlcnNpb24gc3RyaW5nIGZyb20geG1sMi1jb25maWdcbiIsICIkbWluX3htbF92ZXJzaW9uIik7CisgICAgIGV4aXQoMSk7CisgICB9CisgICBmcmVlKHRtcF92ZXJzaW9uKTsKKworICAgLyogQ2FwdHVyZSB0aGUgdmVyc2lvbiBpbmZvcm1hdGlvbiBmcm9tIHRoZSBoZWFkZXIgZmlsZXMgKi8KKyAgIHRtcF92ZXJzaW9uID0gKGNoYXIgKilzdHJkdXAoTElCWE1MX0RPVFRFRF9WRVJTSU9OKTsKKyAgIGlmIChzc2NhbmYodG1wX3ZlcnNpb24sICIlZC4lZC4lZCIsICZ4bWxfbWFqb3JfdmVyc2lvbiwgJnhtbF9taW5vcl92ZXJzaW9uLCAmeG1sX21pY3JvX3ZlcnNpb24pICE9IDMpIHsKKyAgICAgcHJpbnRmKCIlcywgYmFkIHZlcnNpb24gc3RyaW5nIGZyb20gbGlieG1sIGluY2x1ZGVzXG4iLCAiTElCWE1MX0RPVFRFRF9WRVJTSU9OIik7CisgICAgIGV4aXQoMSk7CisgICB9CisgICBmcmVlKHRtcF92ZXJzaW9uKTsKKworIC8qIENvbXBhcmUgeG1sMi1jb25maWcgb3V0cHV0IHRvIHRoZSBsaWJ4bWwgaGVhZGVycyAqLworICBpZiAoKHhtbF9tYWpvcl92ZXJzaW9uICE9ICR4bWxfY29uZmlnX21ham9yX3ZlcnNpb24pIHx8CisgICAgICAoeG1sX21pbm9yX3ZlcnNpb24gIT0gJHhtbF9jb25maWdfbWlub3JfdmVyc2lvbikgfHwKKyAgICAgICh4bWxfbWljcm9fdmVyc2lvbiAhPSAkeG1sX2NvbmZpZ19taWNyb192ZXJzaW9uKSkKKyAgICB7CisgICAgICBwcmludGYoIioqKiBsaWJ4bWwgaGVhZGVyIGZpbGVzICh2ZXJzaW9uICVkLiVkLiVkKSBkbyBub3QgbWF0Y2hcbiIsCisgICAgICAgICB4bWxfbWFqb3JfdmVyc2lvbiwgeG1sX21pbm9yX3ZlcnNpb24sIHhtbF9taWNyb192ZXJzaW9uKTsKKyAgICAgIHByaW50ZigiKioqIHhtbDItY29uZmlnICh2ZXJzaW9uICVkLiVkLiVkKVxuIiwKKyAgICAgICAgICR4bWxfY29uZmlnX21ham9yX3ZlcnNpb24sICR4bWxfY29uZmlnX21pbm9yX3ZlcnNpb24sICR4bWxfY29uZmlnX21pY3JvX3ZlcnNpb24pOworICAgICAgcmV0dXJuIDE7CisgICAgfSAKKy8qIENvbXBhcmUgdGhlIGhlYWRlcnMgdG8gdGhlIGxpYnJhcnkgdG8gbWFrZSBzdXJlIHdlIG1hdGNoICovCisgIC8qIExlc3MgdGhhbiBpZGVhbCAtLSBkb2Vzbid0IHByb3ZpZGUgdXMgd2l0aCByZXR1cm4gdmFsdWUgZmVlZGJhY2ssIAorICAgKiBvbmx5IGV4aXRzIGlmIHRoZXJlJ3MgYSBzZXJpb3VzIG1pc21hdGNoIGJldHdlZW4gaGVhZGVyIGFuZCBsaWJyYXJ5LgorICAgKi8KKyAgICBMSUJYTUxfVEVTVF9WRVJTSU9OOworCisgICAgLyogVGVzdCB0aGF0IHRoZSBsaWJyYXJ5IGlzIGdyZWF0ZXIgdGhhbiBvdXIgbWluaW11bSB2ZXJzaW9uICovCisgICAgaWYgKCh4bWxfbWFqb3JfdmVyc2lvbiA+IG1ham9yKSB8fAorICAgICAgICAoKHhtbF9tYWpvcl92ZXJzaW9uID09IG1ham9yKSAmJiAoeG1sX21pbm9yX3ZlcnNpb24gPiBtaW5vcikpIHx8CisgICAgICAgICgoeG1sX21ham9yX3ZlcnNpb24gPT0gbWFqb3IpICYmICh4bWxfbWlub3JfdmVyc2lvbiA9PSBtaW5vcikgJiYKKyAgICAgICAgKHhtbF9taWNyb192ZXJzaW9uID49IG1pY3JvKSkpCisgICAgICB7CisgICAgICAgIHJldHVybiAwOworICAgICAgIH0KKyAgICAgZWxzZQorICAgICAgeworICAgICAgICBwcmludGYoIlxuKioqIEFuIG9sZCB2ZXJzaW9uIG9mIGxpYnhtbCAoJWQuJWQuJWQpIHdhcyBmb3VuZC5cbiIsCisgICAgICAgICAgICAgICB4bWxfbWFqb3JfdmVyc2lvbiwgeG1sX21pbm9yX3ZlcnNpb24sIHhtbF9taWNyb192ZXJzaW9uKTsKKyAgICAgICAgcHJpbnRmKCIqKiogWW91IG5lZWQgYSB2ZXJzaW9uIG9mIGxpYnhtbCBuZXdlciB0aGFuICVkLiVkLiVkLiBUaGUgbGF0ZXN0IHZlcnNpb24gb2ZcbiIsCisgICAgICAgICAgIG1ham9yLCBtaW5vciwgbWljcm8pOworICAgICAgICBwcmludGYoIioqKiBsaWJ4bWwgaXMgYWx3YXlzIGF2YWlsYWJsZSBmcm9tIGZ0cDovL2Z0cC54bWxzb2Z0Lm9yZy5cbiIpOworICAgICAgICBwcmludGYoIioqKlxuIik7CisgICAgICAgIHByaW50ZigiKioqIElmIHlvdSBoYXZlIGFscmVhZHkgaW5zdGFsbGVkIGEgc3VmZmljaWVudGx5IG5ldyB2ZXJzaW9uLCB0aGlzIGVycm9yXG4iKTsKKyAgICAgICAgcHJpbnRmKCIqKiogcHJvYmFibHkgbWVhbnMgdGhhdCB0aGUgd3JvbmcgY29weSBvZiB0aGUgeG1sMi1jb25maWcgc2hlbGwgc2NyaXB0IGlzXG4iKTsKKyAgICAgICAgcHJpbnRmKCIqKiogYmVpbmcgZm91bmQuIFRoZSBlYXNpZXN0IHdheSB0byBmaXggdGhpcyBpcyB0byByZW1vdmUgdGhlIG9sZCB2ZXJzaW9uXG4iKTsKKyAgICAgICAgcHJpbnRmKCIqKiogb2YgTElCWE1MLCBidXQgeW91IGNhbiBhbHNvIHNldCB0aGUgWE1MMl9DT05GSUcgZW52aXJvbm1lbnQgdG8gcG9pbnQgdG8gdGhlXG4iKTsKKyAgICAgICAgcHJpbnRmKCIqKiogY29ycmVjdCBjb3B5IG9mIHhtbDItY29uZmlnLiAoSW4gdGhpcyBjYXNlLCB5b3Ugd2lsbCBoYXZlIHRvXG4iKTsKKyAgICAgICAgcHJpbnRmKCIqKiogbW9kaWZ5IHlvdXIgTERfTElCUkFSWV9QQVRIIGVudmlyb21lbnQgdmFyaWFibGUsIG9yIGVkaXQgL2V0Yy9sZC5zby5jb25mXG4iKTsKKyAgICAgICAgcHJpbnRmKCIqKiogc28gdGhhdCB0aGUgY29ycmVjdCBsaWJyYXJpZXMgYXJlIGZvdW5kIGF0IHJ1bi10aW1lKSlcbiIpOworICAgIH0KKyAgcmV0dXJuIDE7Cit9CitdLCwgbm9feG1sPXllcyxbZWNobyAkYWNfbiAiY3Jvc3MgY29tcGlsaW5nOyBhc3N1bWVkIE9LLi4uICRhY19jIl0pCisgICAgICAgQ1BQRkxBR1M9IiRhY19zYXZlX0NQUEZMQUdTIgorICAgICAgIExJQlM9IiRhY19zYXZlX0xJQlMiCisgICAgIGZpCisgIGZpCisKKyAgaWYgdGVzdCAieCRub194bWwiID0geCA7IHRoZW4KKyAgICAgQUNfTVNHX1JFU1VMVCh5ZXMgKHZlcnNpb24gJHhtbF9jb25maWdfbWFqb3JfdmVyc2lvbi4keG1sX2NvbmZpZ19taW5vcl92ZXJzaW9uLiR4bWxfY29uZmlnX21pY3JvX3ZlcnNpb24pKQorICAgICBpZmVsc2UoWyQyXSwgLCA6LCBbJDJdKSAgICAgCisgIGVsc2UKKyAgICAgQUNfTVNHX1JFU1VMVChubykKKyAgICAgaWYgdGVzdCAiJFhNTDJfQ09ORklHIiA9ICJubyIgOyB0aGVuCisgICAgICAgZWNobyAiKioqIFRoZSB4bWwyLWNvbmZpZyBzY3JpcHQgaW5zdGFsbGVkIGJ5IExJQlhNTCBjb3VsZCBub3QgYmUgZm91bmQiCisgICAgICAgZWNobyAiKioqIElmIGxpYnhtbCB3YXMgaW5zdGFsbGVkIGluIFBSRUZJWCwgbWFrZSBzdXJlIFBSRUZJWC9iaW4gaXMgaW4iCisgICAgICAgZWNobyAiKioqIHlvdXIgcGF0aCwgb3Igc2V0IHRoZSBYTUwyX0NPTkZJRyBlbnZpcm9ubWVudCB2YXJpYWJsZSB0byB0aGUiCisgICAgICAgZWNobyAiKioqIGZ1bGwgcGF0aCB0byB4bWwyLWNvbmZpZy4iCisgICAgIGVsc2UKKyAgICAgICBpZiB0ZXN0IC1mIGNvbmYueG1sdGVzdCA7IHRoZW4KKyAgICAgICAgOgorICAgICAgIGVsc2UKKyAgICAgICAgICBlY2hvICIqKiogQ291bGQgbm90IHJ1biBsaWJ4bWwgdGVzdCBwcm9ncmFtLCBjaGVja2luZyB3aHkuLi4iCisgICAgICAgICAgQ1BQRkxBR1M9IiRDUFBGTEFHUyAkWE1MX0NQUEZMQUdTIgorICAgICAgICAgIExJQlM9IiRMSUJTICRYTUxfTElCUyIKKyAgICAgICAgICBBQ19UUllfTElOSyhbCisjaW5jbHVkZSA8bGlieG1sL3htbHZlcnNpb24uaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorXSwgICAgICBbIExJQlhNTF9URVNUX1ZFUlNJT047IHJldHVybiAwO10sCisgICAgICAgIFsgZWNobyAiKioqIFRoZSB0ZXN0IHByb2dyYW0gY29tcGlsZWQsIGJ1dCBkaWQgbm90IHJ1bi4gVGhpcyB1c3VhbGx5IG1lYW5zIgorICAgICAgICAgIGVjaG8gIioqKiB0aGF0IHRoZSBydW4tdGltZSBsaW5rZXIgaXMgbm90IGZpbmRpbmcgTElCWE1MIG9yIGZpbmRpbmcgdGhlIHdyb25nIgorICAgICAgICAgIGVjaG8gIioqKiB2ZXJzaW9uIG9mIExJQlhNTC4gSWYgaXQgaXMgbm90IGZpbmRpbmcgTElCWE1MLCB5b3UnbGwgbmVlZCB0byBzZXQgeW91ciIKKyAgICAgICAgICBlY2hvICIqKiogTERfTElCUkFSWV9QQVRIIGVudmlyb25tZW50IHZhcmlhYmxlLCBvciBlZGl0IC9ldGMvbGQuc28uY29uZiB0byBwb2ludCIKKyAgICAgICAgICBlY2hvICIqKiogdG8gdGhlIGluc3RhbGxlZCBsb2NhdGlvbiAgQWxzbywgbWFrZSBzdXJlIHlvdSBoYXZlIHJ1biBsZGNvbmZpZyBpZiB0aGF0IgorICAgICAgICAgIGVjaG8gIioqKiBpcyByZXF1aXJlZCBvbiB5b3VyIHN5c3RlbSIKKyAgICAgICAgICBlY2hvICIqKioiCisgICAgICAgICAgZWNobyAiKioqIElmIHlvdSBoYXZlIGFuIG9sZCB2ZXJzaW9uIGluc3RhbGxlZCwgaXQgaXMgYmVzdCB0byByZW1vdmUgaXQsIGFsdGhvdWdoIgorICAgICAgICAgIGVjaG8gIioqKiB5b3UgbWF5IGFsc28gYmUgYWJsZSB0byBnZXQgdGhpbmdzIHRvIHdvcmsgYnkgbW9kaWZ5aW5nIExEX0xJQlJBUllfUEFUSCIgXSwKKyAgICAgICAgWyBlY2hvICIqKiogVGhlIHRlc3QgcHJvZ3JhbSBmYWlsZWQgdG8gY29tcGlsZSBvciBsaW5rLiBTZWUgdGhlIGZpbGUgY29uZmlnLmxvZyBmb3IgdGhlIgorICAgICAgICAgIGVjaG8gIioqKiBleGFjdCBlcnJvciB0aGF0IG9jY3VyZWQuIFRoaXMgdXN1YWxseSBtZWFucyBMSUJYTUwgd2FzIGluY29ycmVjdGx5IGluc3RhbGxlZCIKKyAgICAgICAgICBlY2hvICIqKiogb3IgdGhhdCB5b3UgaGF2ZSBtb3ZlZCBMSUJYTUwgc2luY2UgaXQgd2FzIGluc3RhbGxlZC4gSW4gdGhlIGxhdHRlciBjYXNlLCB5b3UiCisgICAgICAgICAgZWNobyAiKioqIG1heSB3YW50IHRvIGVkaXQgdGhlIHhtbDItY29uZmlnIHNjcmlwdDogJFhNTDJfQ09ORklHIiBdKQorICAgICAgICAgIENQUEZMQUdTPSIkYWNfc2F2ZV9DUFBGTEFHUyIKKyAgICAgICAgICBMSUJTPSIkYWNfc2F2ZV9MSUJTIgorICAgICAgIGZpCisgICAgIGZpCisKKyAgICAgWE1MX0NQUEZMQUdTPSIiCisgICAgIFhNTF9MSUJTPSIiCisgICAgIGlmZWxzZShbJDNdLCAsIDosIFskM10pCisgIGZpCisgIEFDX1NVQlNUKFhNTF9DUFBGTEFHUykKKyAgQUNfU1VCU1QoWE1MX0xJQlMpCisgIHJtIC1mIGNvbmYueG1sdGVzdAorXSkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvbGlieG1sLnNwZWMuaW4gYi9saWJ4bWwyL2xpYnhtbC5zcGVjLmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI0MmE0ZmUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2xpYnhtbC5zcGVjLmluCkBAIC0wLDAgKzEsMTUxIEBACitTdW1tYXJ5OiBMaWJyYXJ5IHByb3ZpZGluZyBYTUwgYW5kIEhUTUwgc3VwcG9ydAorTmFtZTogbGlieG1sMgorVmVyc2lvbjogQFZFUlNJT05ACitSZWxlYXNlOiAxJXs/ZGlzdH0lez9leHRyYV9yZWxlYXNlfQorTGljZW5zZTogTUlUCitHcm91cDogRGV2ZWxvcG1lbnQvTGlicmFyaWVzCitTb3VyY2U6IGZ0cDovL3htbHNvZnQub3JnL2xpYnhtbDIvbGlieG1sMi0le3ZlcnNpb259LnRhci5negorQnVpbGRSb290OiAle190bXBwYXRofS8le25hbWV9LSV7dmVyc2lvbn0tcm9vdAorQnVpbGRSZXF1aXJlczogcHl0aG9uIHB5dGhvbi1kZXZlbCB6bGliLWRldmVsIHBrZ2NvbmZpZyB4ei1kZXZlbAorVVJMOiBodHRwOi8veG1sc29mdC5vcmcvCisKKyVkZXNjcmlwdGlvbgorVGhpcyBsaWJyYXJ5IGFsbG93cyB0byBtYW5pcHVsYXRlIFhNTCBmaWxlcy4gSXQgaW5jbHVkZXMgc3VwcG9ydAordG8gcmVhZCwgbW9kaWZ5IGFuZCB3cml0ZSBYTUwgYW5kIEhUTUwgZmlsZXMuIFRoZXJlIGlzIERURHMgc3VwcG9ydAordGhpcyBpbmNsdWRlcyBwYXJzaW5nIGFuZCB2YWxpZGF0aW9uIGV2ZW4gd2l0aCBjb21wbGV4IER0RHMsIGVpdGhlcgorYXQgcGFyc2UgdGltZSBvciBsYXRlciBvbmNlIHRoZSBkb2N1bWVudCBoYXMgYmVlbiBtb2RpZmllZC4gVGhlIG91dHB1dAorY2FuIGJlIGEgc2ltcGxlIFNBWCBzdHJlYW0gb3IgYW5kIGluLW1lbW9yeSBET00gbGlrZSByZXByZXNlbnRhdGlvbnMuCitJbiB0aGlzIGNhc2Ugb25lIGNhbiB1c2UgdGhlIGJ1aWx0LWluIFhQYXRoIGFuZCBYUG9pbnRlciBpbXBsZW1lbnRhdGlvbgordG8gc2VsZWN0IHN1YiBub2RlcyBvciByYW5nZXMuIEEgZmxleGlibGUgSW5wdXQvT3V0cHV0IG1lY2hhbmlzbSBpcworYXZhaWxhYmxlLCB3aXRoIGV4aXN0aW5nIEhUVFAgYW5kIEZUUCBtb2R1bGVzIGFuZCBjb21iaW5lZCB0byBhbgorVVJJIGxpYnJhcnkuCisKKyVwYWNrYWdlIGRldmVsCitTdW1tYXJ5OiBMaWJyYXJpZXMsIGluY2x1ZGVzLCBldGMuIHRvIGRldmVsb3AgWE1MIGFuZCBIVE1MIGFwcGxpY2F0aW9ucworR3JvdXA6IERldmVsb3BtZW50L0xpYnJhcmllcworUmVxdWlyZXM6IGxpYnhtbDIgPSAle3ZlcnNpb259LSV7cmVsZWFzZX0KK1JlcXVpcmVzOiB6bGliLWRldmVsCitSZXF1aXJlczogeHotZGV2ZWwKK1JlcXVpcmVzOiBwa2djb25maWcKKworJWRlc2NyaXB0aW9uIGRldmVsCitMaWJyYXJpZXMsIGluY2x1ZGUgZmlsZXMsIGV0YyB5b3UgY2FuIHVzZSB0byBkZXZlbG9wIFhNTCBhcHBsaWNhdGlvbnMuCitUaGlzIGxpYnJhcnkgYWxsb3dzIHRvIG1hbmlwdWxhdGUgWE1MIGZpbGVzLiBJdCBpbmNsdWRlcyBzdXBwb3J0Cit0byByZWFkLCBtb2RpZnkgYW5kIHdyaXRlIFhNTCBhbmQgSFRNTCBmaWxlcy4gVGhlcmUgaXMgRFREcyBzdXBwb3J0Cit0aGlzIGluY2x1ZGVzIHBhcnNpbmcgYW5kIHZhbGlkYXRpb24gZXZlbiB3aXRoIGNvbXBsZXggRHREcywgZWl0aGVyCithdCBwYXJzZSB0aW1lIG9yIGxhdGVyIG9uY2UgdGhlIGRvY3VtZW50IGhhcyBiZWVuIG1vZGlmaWVkLiBUaGUgb3V0cHV0CitjYW4gYmUgYSBzaW1wbGUgU0FYIHN0cmVhbSBvciBhbmQgaW4tbWVtb3J5IERPTSBsaWtlIHJlcHJlc2VudGF0aW9ucy4KK0luIHRoaXMgY2FzZSBvbmUgY2FuIHVzZSB0aGUgYnVpbHQtaW4gWFBhdGggYW5kIFhQb2ludGVyIGltcGxlbWVudGF0aW9uCit0byBzZWxlY3Qgc3ViIG5vZGVzIG9yIHJhbmdlcy4gQSBmbGV4aWJsZSBJbnB1dC9PdXRwdXQgbWVjaGFuaXNtIGlzCithdmFpbGFibGUsIHdpdGggZXhpc3RpbmcgSFRUUCBhbmQgRlRQIG1vZHVsZXMgYW5kIGNvbWJpbmVkIHRvIGFuCitVUkkgbGlicmFyeS4KKworJXBhY2thZ2Ugc3RhdGljCitTdW1tYXJ5OiBTdGF0aWMgbGlicmFyeSBmb3IgbGlieG1sMgorR3JvdXA6IERldmVsb3BtZW50L0xpYnJhcmllcworUmVxdWlyZXM6IGxpYnhtbDIgPSAle3ZlcnNpb259LSV7cmVsZWFzZX0KKworJWRlc2NyaXB0aW9uIHN0YXRpYworU3RhdGljIGxpYnJhcnkgZm9yIGxpYnhtbDIgcHJvdmlkZWQgZm9yIHNwZWNpZmljIHVzZXMgb3Igc2hhdmluZyBhIGZldworbWljcm9zZWNvbmRzIHdoZW4gcGFyc2luZywgZG8gbm90IGxpbmsgdG8gdGhlbSBmb3IgZ2VuZXJpYyBwdXJwb3NlIHBhY2thZ2VzLgorCislcGFja2FnZSBweXRob24KK1N1bW1hcnk6IFB5dGhvbiBiaW5kaW5ncyBmb3IgdGhlIGxpYnhtbDIgbGlicmFyeQorR3JvdXA6IERldmVsb3BtZW50L0xpYnJhcmllcworUmVxdWlyZXM6IGxpYnhtbDIgPSAle3ZlcnNpb259LSV7cmVsZWFzZX0KKworJWRlc2NyaXB0aW9uIHB5dGhvbgorVGhlIGxpYnhtbDItcHl0aG9uIHBhY2thZ2UgY29udGFpbnMgYSBtb2R1bGUgdGhhdCBwZXJtaXRzIGFwcGxpY2F0aW9ucword3JpdHRlbiBpbiB0aGUgUHl0aG9uIHByb2dyYW1taW5nIGxhbmd1YWdlIHRvIHVzZSB0aGUgaW50ZXJmYWNlCitzdXBwbGllZCBieSB0aGUgbGlieG1sMiBsaWJyYXJ5IHRvIG1hbmlwdWxhdGUgWE1MIGZpbGVzLgorCitUaGlzIGxpYnJhcnkgYWxsb3dzIHRvIG1hbmlwdWxhdGUgWE1MIGZpbGVzLiBJdCBpbmNsdWRlcyBzdXBwb3J0Cit0byByZWFkLCBtb2RpZnkgYW5kIHdyaXRlIFhNTCBhbmQgSFRNTCBmaWxlcy4gVGhlcmUgaXMgRFREcyBzdXBwb3J0Cit0aGlzIGluY2x1ZGVzIHBhcnNpbmcgYW5kIHZhbGlkYXRpb24gZXZlbiB3aXRoIGNvbXBsZXggRFREcywgZWl0aGVyCithdCBwYXJzZSB0aW1lIG9yIGxhdGVyIG9uY2UgdGhlIGRvY3VtZW50IGhhcyBiZWVuIG1vZGlmaWVkLgorCislcHJlcAorJXNldHVwIC1xCisKKyVidWlsZAorJWNvbmZpZ3VyZQorbWFrZSAle19zbXBfbWZsYWdzfQorCislaW5zdGFsbAorcm0gLWZyICV7YnVpbGRyb290fQorCittYWtlIGluc3RhbGwgREVTVERJUj0le2J1aWxkcm9vdH0KKworcm0gLWYgJFJQTV9CVUlMRF9ST09UJXtfbGliZGlyfS8qLmxhCitybSAtZiAkUlBNX0JVSUxEX1JPT1Qle19saWJkaXJ9L3B5dGhvbiovc2l0ZS1wYWNrYWdlcy8qLmEKK3JtIC1mICRSUE1fQlVJTERfUk9PVCV7X2xpYmRpcn0vcHl0aG9uKi9zaXRlLXBhY2thZ2VzLyoubGEKK3JtIC1yZiAkUlBNX0JVSUxEX1JPT1Qle19kYXRhZGlyfS9kb2MvbGlieG1sMi0le3ZlcnNpb259LyoKK3JtIC1yZiAkUlBNX0JVSUxEX1JPT1Qle19kYXRhZGlyfS9kb2MvbGlieG1sMi1weXRob24tJXt2ZXJzaW9ufS8qCisoY2QgZG9jL2V4YW1wbGVzIDsgbWFrZSBjbGVhbiA7IHJtIC1yZiAuZGVwcyBNYWtlZmlsZSkKK2d6aXAgLTkgLWMgZG9jL2xpYnhtbDItYXBpLnhtbCA+IGRvYy9saWJ4bWwyLWFwaS54bWwuZ3oKKworJWNoZWNrCittYWtlIHJ1bnRlc3RzCisKKyVjbGVhbgorcm0gLWZyICV7YnVpbGRyb290fQorCislcG9zdCAtcCAvc2Jpbi9sZGNvbmZpZworCislcG9zdHVuIC1wIC9zYmluL2xkY29uZmlnCisKKyVmaWxlcworJWRlZmF0dHIoLSwgcm9vdCwgcm9vdCkKKworJWRvYyBBVVRIT1JTIE5FV1MgUkVBRE1FIENvcHlyaWdodCBUT0RPCislZG9jICV7X21hbmRpcn0vbWFuMS94bWxsaW50LjEqCislZG9jICV7X21hbmRpcn0vbWFuMS94bWxjYXRhbG9nLjEqCislZG9jICV7X21hbmRpcn0vbWFuMy9saWJ4bWwuMyoKKworJXtfbGliZGlyfS9saWIqLnNvLioKKyV7X2JpbmRpcn0veG1sbGludAorJXtfYmluZGlyfS94bWxjYXRhbG9nCisKKyVmaWxlcyBkZXZlbAorJWRlZmF0dHIoLSwgcm9vdCwgcm9vdCkKKworJWRvYyAle19tYW5kaXJ9L21hbjEveG1sMi1jb25maWcuMSoKKyVkb2MgQVVUSE9SUyBORVdTIFJFQURNRSBDb3B5cmlnaHQKKyVkb2MgZG9jLyouaHRtbCBkb2MvaHRtbCBkb2MvKi5naWYgZG9jLyoucG5nCislZG9jIGRvYy90dXRvcmlhbCBkb2MvbGlieG1sMi1hcGkueG1sLmd6CislZG9jIGRvYy9leGFtcGxlcworJWRvYyAlZGlyICV7X2RhdGFkaXJ9L2d0ay1kb2MvaHRtbC9saWJ4bWwyCislZG9jICV7X2RhdGFkaXJ9L2d0ay1kb2MvaHRtbC9saWJ4bWwyLyouZGV2aGVscAorJWRvYyAle19kYXRhZGlyfS9ndGstZG9jL2h0bWwvbGlieG1sMi8qLmh0bWwKKyVkb2MgJXtfZGF0YWRpcn0vZ3RrLWRvYy9odG1sL2xpYnhtbDIvKi5wbmcKKyVkb2MgJXtfZGF0YWRpcn0vZ3RrLWRvYy9odG1sL2xpYnhtbDIvKi5jc3MKKworJXtfbGliZGlyfS9saWIqLnNvCisle19saWJkaXJ9Lyouc2gKKyV7X2luY2x1ZGVkaXJ9LyoKKyV7X2JpbmRpcn0veG1sMi1jb25maWcKKyV7X2RhdGFkaXJ9L2FjbG9jYWwvbGlieG1sLm00Cisle19saWJkaXJ9L3BrZ2NvbmZpZy9saWJ4bWwtMi4wLnBjCisle19saWJkaXJ9L2NtYWtlL2xpYnhtbDIvbGlieG1sMi1jb25maWcuY21ha2UKKworJWZpbGVzIHN0YXRpYworJWRlZmF0dHIoLSwgcm9vdCwgcm9vdCkKKworJXtfbGliZGlyfS8qYQorCislZmlsZXMgcHl0aG9uCislZGVmYXR0cigtLCByb290LCByb290KQorCisle19saWJkaXJ9L3B5dGhvbiovc2l0ZS1wYWNrYWdlcy9saWJ4bWwyLnB5KgorJXtfbGliZGlyfS9weXRob24qL3NpdGUtcGFja2FnZXMvZHJ2X2xpYnhtbDIucHkqCisle19saWJkaXJ9L3B5dGhvbiovc2l0ZS1wYWNrYWdlcy9saWJ4bWwybW9kKgorJWRvYyBweXRob24vVE9ETworJWRvYyBweXRob24vbGlieG1sMmNsYXNzLnR4dAorJWRvYyBweXRob24vdGVzdHMvKi5weQorJWRvYyBkb2MvKi5weQorJWRvYyBkb2MvcHl0aG9uLmh0bWwKKworJWNoYW5nZWxvZworKiBAUkVMREFURUAgRGFuaWVsIFZlaWxsYXJkIDx2ZWlsbGFyZEByZWRoYXQuY29tPgorLSB1cHN0cmVhbSByZWxlYXNlIEBWRVJTSU9OQCBzZWUgaHR0cDovL3htbHNvZnQub3JnL25ld3MuaHRtbAorCmRpZmYgLS1naXQgYS9saWJ4bWwyL2xpYnhtbDItY29uZmlnLmNtYWtlLmluIGIvbGlieG1sMi9saWJ4bWwyLWNvbmZpZy5jbWFrZS5pbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYzI5MzI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9saWJ4bWwyLWNvbmZpZy5jbWFrZS5pbgpAQCAtMCwwICsxLDUwIEBACisjIGxpYnhtbDItY29uZmlnLmNtYWtlCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisjCisjIExpYnhtbDIgY21ha2UgbW9kdWxlLgorIyBUSGlzIG1vZHVsZSBzZXRzIHRoZSBmb2xsb3dpbmcgdmFyaWFibGVzOgorIworIyA6OgorIworIyAgIExJQlhNTDJfSU5DTFVERV9ESVJTICAgICAgLSBEaXJlY3Rvcnkgd2hlcmUgbGlieG1sMiBoZWFkZXJzIGFyZSBsb2NhdGVkLgorIyAgIExJQlhNTDJfTElCUkFSSUVTICAgICAgICAgLSB4bWwyIGxpYnJhcmllcyB0byBsaW5rIGFnYWluc3QuCisjICAgTElCWE1MMl9WRVJTSU9OX01BSk9SICAgICAtIFRoZSBtYWpvciB2ZXJzaW9uIG9mIGxpYnhtbDIuCisjICAgTElCWE1MMl9WRVJTSU9OX01JTk9SICAgICAtIFRoZSBtaW5vciB2ZXJzaW9uIG9mIGxpYnhtbDIuCisjICAgTElCWE1MMl9WRVJTSU9OX1BBVENIICAgICAtIFRoZSBwYXRjaCB2ZXJzaW9uIG9mIGxpYnhtbDIuCisjICAgTElCWE1MMl9WRVJTSU9OX1NUUklORyAgICAtIHZlcnNpb24gbnVtYmVyIGFzIGEgc3RyaW5nIChleDogIjIuMy40IikKKyMgICBMSUJYTUwyX01PRFVMRVMgICAgICAgICAgIC0gd2hldGhlciBsaWJ4bWwyIGFzIGRzbyBzdXBwb3J0CisKK2dldF9maWxlbmFtZV9jb21wb25lbnQoX2xpYnhtbDJfcm9vdGRpciAke0NNQUtFX0NVUlJFTlRfTElTVF9ESVJ9Ly4uLy4uLy4uLyBBQlNPTFVURSkKKworc2V0KExJQlhNTDJfVkVSU0lPTl9NQUpPUiAgQExJQlhNTF9NQUpPUl9WRVJTSU9OQCkKK3NldChMSUJYTUwyX1ZFUlNJT05fTUlOT1IgIEBMSUJYTUxfTUlOT1JfVkVSU0lPTkApCitzZXQoTElCWE1MMl9WRVJTSU9OX01JQ1JPICBATElCWE1MX01JQ1JPX1ZFUlNJT05AKQorc2V0KExJQlhNTDJfVkVSU0lPTl9TVFJJTkcgIkBWRVJTSU9OQCIpCitzZXQoTElCWE1MMl9JTlNUQUxMX1BSRUZJWCAke19saWJ4bWwyX3Jvb3RkaXJ9KQorc2V0KExJQlhNTDJfSU5DTFVERV9ESVJTICAgJHtfbGlieG1sMl9yb290ZGlyfS9pbmNsdWRlKQorc2V0KExJQlhNTDJfTElCUkFSWV9ESVIgICAgJHtfbGlieG1sMl9yb290ZGlyfS9saWIpCitzZXQoTElCWE1MMl9MSUJSQVJJRVMgICAgICAtTCR7TElCWE1MMl9MSUJSQVJZX0RJUn0gLWx4bWwyKQorCitpZihAV0lUSF9USFJFQURTQCkKKyAgZmluZF9wYWNrYWdlKFRocmVhZHMgUkVRVUlSRUQpCisgIGxpc3QoQVBQRU5EIExJQlhNTDJfTElCUkFSSUVTICR7Q01BS0VfVEhSRUFEX0xJQlNfSU5JVH0pCitlbmRpZigpCisKK2lmKEBXSVRIX0xaTUFAKQorICBmaW5kX3BhY2thZ2UoTGliTFpNQSBSRVFVSVJFRCkKKyAgbGlzdChBUFBFTkQgTElCWE1MMl9MSUJSQVJJRVMgICAgJHtMSUJMWk1BX0xJQlJBUklFU30pCisgIGxpc3QoQVBQRU5EIExJQlhNTDJfSU5DTFVERV9ESVJTICR7TElCTFpNQV9JTkNMVURFX0RJUlN9KQorZW5kaWYoKQorCitpZihAV0lUSF9aTElCQCkKKyAgZmluZF9wYWNrYWdlKFpMSUIgUkVRVUlSRUQpCisgIGxpc3QoQVBQRU5EIExJQlhNTDJfTElCUkFSSUVTICAgICR7WkxJQl9MSUJSQVJJRVN9KQorICBsaXN0KEFQUEVORCBMSUJYTUwyX0lOQ0xVREVfRElSUyAke1pMSUJfSU5DTFVERV9ESVJTfSkKK2VuZGlmKCkKKworbGlzdChBUFBFTkQgTElCWE1MMl9MSUJSQVJJRVMgQElDVV9MSUJTQCBASUNPTlZfTElCU0AgQE1fTElCU0AgQFdJTjMyX0VYVFJBX0xJQkFEREAgQExJQlNAKQorCisjIHdoZXRoZXIgbGlieG1sMiBoYXMgZHNvIHN1cHBvcnQKK3NldChMSUJYTUwyX01PRFVMRVMgQFdJVEhfTU9EVUxFU0ApCisKK21hcmtfYXNfYWR2YW5jZWQoIExJQlhNTDJfSU5DTFVERV9ESVJTIExJQlhNTDJfTElCUkFSSUVTICkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvbGlieG1sMi5kb2FwIGIvbGlieG1sMi9saWJ4bWwyLmRvYXAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2IyNGIzMwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvbGlieG1sMi5kb2FwCkBAIC0wLDAgKzEsMTkgQEAKKzxQcm9qZWN0IHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKKyAgICAgICAgIHhtbG5zOnJkZnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvMDEvcmRmLXNjaGVtYSMiCisgICAgICAgICB4bWxuczpmb2FmPSJodHRwOi8veG1sbnMuY29tL2ZvYWYvMC4xLyIKKyAgICAgICAgIHhtbG5zOmdub21lPSJodHRwOi8vYXBpLmdub21lLm9yZy9kb2FwLWV4dGVuc2lvbnMjIgorICAgICAgICAgeG1sbnM9Imh0dHA6Ly91c2VmdWxpbmMuY29tL25zL2RvYXAjIj4KKworICA8bmFtZSB4bWw6bGFuZz0iZW4iPmxpYnhtbDI8L25hbWU+CisgIDxzaG9ydGRlc2MgeG1sOmxhbmc9ImVuIj5YTUwgcGFyc2VyIGFuZCBtYXJrdXAgdG9vbGtpdDwvc2hvcnRkZXNjPgorICA8aG9tZXBhZ2UgcmRmOnJlc291cmNlPSJodHRwOi8veG1sc29mdC5vcmcvIiAvPgorICA8bWFpbGluZy1saXN0IHJkZjpyZXNvdXJjZT0iaHR0cDovL21haWwuZ25vbWUub3JnL21haWxtYW4vbGlzdGluZm8veG1sIiAvPgorICA8Y2F0ZWdvcnkgcmRmOnJlc291cmNlPSJodHRwOi8vYXBpLmdub21lLm9yZy9kb2FwLWV4dGVuc2lvbnMjcGxhdGZvcm0iIC8+CisKKyAgPG1haW50YWluZXI+CisgICAgPGZvYWY6UGVyc29uPgorICAgICAgPGZvYWY6bmFtZT5EYW5pZWwgVmVpbGxhcmQ8L2ZvYWY6bmFtZT4KKyAgICAgIDxnbm9tZTp1c2VyaWQ+dmVpbGxhcmQ8L2dub21lOnVzZXJpZD4KKyAgICA8L2ZvYWY6UGVyc29uPgorICA8L21haW50YWluZXI+Cis8L1Byb2plY3Q+CmRpZmYgLS1naXQgYS9saWJ4bWwyL2xpYnhtbDIuc3ltcyBiL2xpYnhtbDIvbGlieG1sMi5zeW1zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM3MGRjZjEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL2xpYnhtbDIuc3ltcwpAQCAtMCwwICsxLDIyODEgQEAKKyMKKyMgT2ZmaWNpYWxseSBleHBvcnRlZCBzeW1ib2xzLCBmb3Igd2hpY2ggaGVhZGVyCisjIGZpbGUgZGVmaW5pdGlvbnMgYXJlIGluc3RhbGxlZCBpbiAvdXNyL2luY2x1ZGUvbGlieG1sMgorIworIyBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBmcm9tIHN5bWJvbHMueG1sIGFuZCBzeW1zLnhzbAorIworIyBWZXJzaW9ucyBoZXJlIGFyZSAqZml4ZWQqIHRvIG1hdGNoIHRoZSBsaWJ4bWwyIHZlcnNpb24KKyMgYXQgd2hpY2ggdGhlIHN5bWJvbCB3YXMgaW50cm9kdWNlZC4gVGhpcyBlbnN1cmVzIHRoYXQKKyMgYSBuZXcgY2xpZW50IGFwcCByZXF1aXJpbmcgc3ltYm9sIGZvbygpIGNhbid0IGFjY2lkZW50YWxseQorIyBydW4gd2l0aCBvbGQgbGlieG1sMi5zbyBub3QgcHJvdmlkaW5nIGZvbygpIC0gdGhlIGdsb2JhbAorIyBzb25hbWUgdmVyc2lvbiBpbmZvIGNhbid0IGVuZm9yY2UgdGhpcyBzaW5jZSB3ZSBuZXZlcgorIyBjaGFuZ2UgdGhlIHNvbmFtZQorIworCitMSUJYTUwyXzIuNC4zMCB7CisgICAgZ2xvYmFsOgorCisjIGRlYnVnWE1MCisgIHhtbEJvb2xUb1RleHQ7CisgIHhtbERlYnVnRHVtcEF0dHI7CisgIHhtbERlYnVnRHVtcEF0dHJMaXN0OworICB4bWxEZWJ1Z0R1bXBEVEQ7CisgIHhtbERlYnVnRHVtcERvY3VtZW50OworICB4bWxEZWJ1Z0R1bXBEb2N1bWVudEhlYWQ7CisgIHhtbERlYnVnRHVtcEVudGl0aWVzOworICB4bWxEZWJ1Z0R1bXBOb2RlOworICB4bWxEZWJ1Z0R1bXBOb2RlTGlzdDsKKyAgeG1sRGVidWdEdW1wT25lTm9kZTsKKyAgeG1sRGVidWdEdW1wU3RyaW5nOworICB4bWxMc0NvdW50Tm9kZTsKKyAgeG1sTHNPbmVOb2RlOworICB4bWxTaGVsbDsKKyAgeG1sU2hlbGxCYXNlOworICB4bWxTaGVsbENhdDsKKyAgeG1sU2hlbGxEaXI7CisgIHhtbFNoZWxsRHU7CisgIHhtbFNoZWxsTGlzdDsKKyAgeG1sU2hlbGxMb2FkOworICB4bWxTaGVsbFByaW50Tm9kZTsKKyAgeG1sU2hlbGxQcmludFhQYXRoRXJyb3I7CisgIHhtbFNoZWxsUHJpbnRYUGF0aFJlc3VsdDsKKyAgeG1sU2hlbGxQd2Q7CisgIHhtbFNoZWxsU2F2ZTsKKyAgeG1sU2hlbGxWYWxpZGF0ZTsKKyAgeG1sU2hlbGxXcml0ZTsKKworIyB4cG9pbnRlcgorICB4bWxYUHRyQnVpbGROb2RlTGlzdDsKKyAgeG1sWFB0ckV2YWw7CisgIHhtbFhQdHJFdmFsUmFuZ2VQcmVkaWNhdGU7CisgIHhtbFhQdHJGcmVlTG9jYXRpb25TZXQ7CisgIHhtbFhQdHJMb2NhdGlvblNldEFkZDsKKyAgeG1sWFB0ckxvY2F0aW9uU2V0Q3JlYXRlOworICB4bWxYUHRyTG9jYXRpb25TZXREZWw7CisgIHhtbFhQdHJMb2NhdGlvblNldE1lcmdlOworICB4bWxYUHRyTG9jYXRpb25TZXRSZW1vdmU7CisgIHhtbFhQdHJOZXdDb2xsYXBzZWRSYW5nZTsKKyAgeG1sWFB0ck5ld0NvbnRleHQ7CisgIHhtbFhQdHJOZXdMb2NhdGlvblNldE5vZGVTZXQ7CisgIHhtbFhQdHJOZXdMb2NhdGlvblNldE5vZGVzOworICB4bWxYUHRyTmV3UmFuZ2U7CisgIHhtbFhQdHJOZXdSYW5nZU5vZGVPYmplY3Q7CisgIHhtbFhQdHJOZXdSYW5nZU5vZGVQb2ludDsKKyAgeG1sWFB0ck5ld1JhbmdlTm9kZXM7CisgIHhtbFhQdHJOZXdSYW5nZVBvaW50Tm9kZTsKKyAgeG1sWFB0ck5ld1JhbmdlUG9pbnRzOworICB4bWxYUHRyUmFuZ2VUb0Z1bmN0aW9uOworICB4bWxYUHRyV3JhcExvY2F0aW9uU2V0OworCisjIFNBWAorICBhdHRyaWJ1dGU7CisgIGF0dHJpYnV0ZURlY2w7CisgIGNkYXRhQmxvY2s7CisgIGNoYXJhY3RlcnM7CisgIGNoZWNrTmFtZXNwYWNlOworICBjb21tZW50OworCisjIFNBWDIKKyAgZG9jYkRlZmF1bHRTQVhIYW5kbGVySW5pdDsKKworIyBTQVgKKyAgZWxlbWVudERlY2w7CisgIGVuZERvY3VtZW50OworICBlbmRFbGVtZW50OworICBlbnRpdHlEZWNsOworICBleHRlcm5hbFN1YnNldDsKKyAgZ2V0Q29sdW1uTnVtYmVyOworICBnZXRFbnRpdHk7CisgIGdldExpbmVOdW1iZXI7CisgIGdldE5hbWVzcGFjZTsKKyAgZ2V0UGFyYW1ldGVyRW50aXR5OworICBnZXRQdWJsaWNJZDsKKyAgZ2V0U3lzdGVtSWQ7CisgIGdsb2JhbE5hbWVzcGFjZTsKKyAgaGFzRXh0ZXJuYWxTdWJzZXQ7CisgIGhhc0ludGVybmFsU3Vic2V0OworCisjIFNBWDIKKyAgaHRtbERlZmF1bHRTQVhIYW5kbGVySW5pdDsKKworIyBTQVgKKyAgaWdub3JhYmxlV2hpdGVzcGFjZTsKKyAgaW5pdGRvY2JEZWZhdWx0U0FYSGFuZGxlcjsKKyAgaW5pdGh0bWxEZWZhdWx0U0FYSGFuZGxlcjsKKyAgaW5pdHhtbERlZmF1bHRTQVhIYW5kbGVyOworICBpbnRlcm5hbFN1YnNldDsKKyAgaXNTdGFuZGFsb25lOworICBuYW1lc3BhY2VEZWNsOworICBub3RhdGlvbkRlY2w7CisgIHByb2Nlc3NpbmdJbnN0cnVjdGlvbjsKKyAgcmVmZXJlbmNlOworICByZXNvbHZlRW50aXR5OworICBzZXREb2N1bWVudExvY2F0b3I7CisgIHNldE5hbWVzcGFjZTsKKyAgc3RhcnREb2N1bWVudDsKKyAgc3RhcnRFbGVtZW50OworICB1bnBhcnNlZEVudGl0eURlY2w7CisKKyMgU0FYMgorICB4bWxEZWZhdWx0U0FYSGFuZGxlckluaXQ7CisKKyMgcGFyc2VySW50ZXJuYWxzCisgIGh0bWxDcmVhdGVGaWxlUGFyc2VyQ3R4dDsKKyAgaHRtbEluaXRBdXRvQ2xvc2U7CisgIGlucHV0UG9wOworICBpbnB1dFB1c2g7CisgIG5hbWVQb3A7CisgIG5hbWVQdXNoOworICBub2RlUG9wOworICBub2RlUHVzaDsKKyAgeG1sQ2hlY2tMYW5ndWFnZUlEOworICB4bWxDb3B5Q2hhcjsKKyAgeG1sQ29weUNoYXJNdWx0aUJ5dGU7CisgIHhtbENyZWF0ZUVudGl0eVBhcnNlckN0eHQ7CisgIHhtbENyZWF0ZUZpbGVQYXJzZXJDdHh0OworICB4bWxDcmVhdGVNZW1vcnlQYXJzZXJDdHh0OworICB4bWxDdXJyZW50Q2hhcjsKKyAgeG1sRGVjb2RlRW50aXRpZXM7CisgIHhtbEZyZWVJbnB1dFN0cmVhbTsKKyAgeG1sSGFuZGxlRW50aXR5OworCisjIGNodmFsaWQKKyAgeG1sSXNCYXNlQ2hhcjsKKyAgeG1sSXNCbGFuazsKKyAgeG1sSXNDaGFyOworICB4bWxJc0NvbWJpbmluZzsKKyAgeG1sSXNEaWdpdDsKKyAgeG1sSXNFeHRlbmRlcjsKKyAgeG1sSXNJZGVvZ3JhcGhpYzsKKworIyBwYXJzZXJJbnRlcm5hbHMKKyAgeG1sSXNMZXR0ZXI7CisKKyMgY2h2YWxpZAorICB4bWxJc1B1YmlkQ2hhcjsKKworIyBwYXJzZXJJbnRlcm5hbHMKKyAgeG1sTmFtZXNwYWNlUGFyc2VOQ05hbWU7CisgIHhtbE5hbWVzcGFjZVBhcnNlTlNEZWY7CisgIHhtbE5hbWVzcGFjZVBhcnNlUU5hbWU7CisgIHhtbE5ld0VudGl0eUlucHV0U3RyZWFtOworICB4bWxOZXdJbnB1dEZyb21GaWxlOworICB4bWxOZXdJbnB1dFN0cmVhbTsKKworIyBwYXJzZXIKKyAgeG1sTmV3UGFyc2VyQ3R4dDsKKworIyBwYXJzZXJJbnRlcm5hbHMKKyAgeG1sTmV3U3RyaW5nSW5wdXRTdHJlYW07CisgIHhtbE5leHRDaGFyOworICB4bWxQYXJzZUF0dFZhbHVlOworICB4bWxQYXJzZUF0dHJpYnV0ZTsKKyAgeG1sUGFyc2VBdHRyaWJ1dGVMaXN0RGVjbDsKKyAgeG1sUGFyc2VBdHRyaWJ1dGVUeXBlOworICB4bWxQYXJzZUNEU2VjdDsKKyAgeG1sUGFyc2VDaGFyRGF0YTsKKyAgeG1sUGFyc2VDaGFyUmVmOworICB4bWxQYXJzZUNvbW1lbnQ7CisgIHhtbFBhcnNlQ29udGVudDsKKyAgeG1sUGFyc2VEZWZhdWx0RGVjbDsKKyAgeG1sUGFyc2VEb2NUeXBlRGVjbDsKKyAgeG1sUGFyc2VFbGVtZW50OworICB4bWxQYXJzZUVsZW1lbnRDaGlsZHJlbkNvbnRlbnREZWNsOworICB4bWxQYXJzZUVsZW1lbnRDb250ZW50RGVjbDsKKyAgeG1sUGFyc2VFbGVtZW50RGVjbDsKKyAgeG1sUGFyc2VFbGVtZW50TWl4ZWRDb250ZW50RGVjbDsKKyAgeG1sUGFyc2VFbmNOYW1lOworICB4bWxQYXJzZUVuY29kaW5nRGVjbDsKKyAgeG1sUGFyc2VFbmRUYWc7CisgIHhtbFBhcnNlRW50aXR5RGVjbDsKKyAgeG1sUGFyc2VFbnRpdHlSZWY7CisgIHhtbFBhcnNlRW50aXR5VmFsdWU7CisgIHhtbFBhcnNlRW51bWVyYXRlZFR5cGU7CisgIHhtbFBhcnNlRW51bWVyYXRpb25UeXBlOworICB4bWxQYXJzZUV4dGVybmFsSUQ7CisgIHhtbFBhcnNlRXh0ZXJuYWxTdWJzZXQ7CisgIHhtbFBhcnNlTWFya3VwRGVjbDsKKyAgeG1sUGFyc2VNaXNjOworICB4bWxQYXJzZU5hbWU7CisgIHhtbFBhcnNlTmFtZXNwYWNlOworICB4bWxQYXJzZU5tdG9rZW47CisgIHhtbFBhcnNlTm90YXRpb25EZWNsOworICB4bWxQYXJzZU5vdGF0aW9uVHlwZTsKKyAgeG1sUGFyc2VQRVJlZmVyZW5jZTsKKyAgeG1sUGFyc2VQSTsKKyAgeG1sUGFyc2VQSVRhcmdldDsKKyAgeG1sUGFyc2VQdWJpZExpdGVyYWw7CisgIHhtbFBhcnNlUXVvdGVkU3RyaW5nOworICB4bWxQYXJzZVJlZmVyZW5jZTsKKyAgeG1sUGFyc2VTRERlY2w7CisgIHhtbFBhcnNlU3RhcnRUYWc7CisgIHhtbFBhcnNlU3lzdGVtTGl0ZXJhbDsKKyAgeG1sUGFyc2VUZXh0RGVjbDsKKyAgeG1sUGFyc2VWZXJzaW9uSW5mbzsKKyAgeG1sUGFyc2VWZXJzaW9uTnVtOworICB4bWxQYXJzZVhNTERlY2w7CisgIHhtbFBhcnNlckhhbmRsZVBFUmVmZXJlbmNlOworICB4bWxQYXJzZXJIYW5kbGVSZWZlcmVuY2U7CisgIHhtbFBhcnNlcklucHV0U2hyaW5rOworICB4bWxQb3BJbnB1dDsKKyAgeG1sUHVzaElucHV0OworICB4bWxTY2FuTmFtZTsKKyAgeG1sU2V0RW50aXR5UmVmZXJlbmNlRnVuYzsKKyAgeG1sU2tpcEJsYW5rQ2hhcnM7CisgIHhtbFNwbGl0UU5hbWU7CisgIHhtbFN0cmluZ0NvbW1lbnQ7ICMgdmFyaWFibGUKKyAgeG1sU3RyaW5nQ3VycmVudENoYXI7CisgIHhtbFN0cmluZ0RlY29kZUVudGl0aWVzOworICB4bWxTdHJpbmdUZXh0OyAjIHZhcmlhYmxlCisgIHhtbFN0cmluZ1RleHROb2VuYzsgIyB2YXJpYWJsZQorICB4bWxTd2l0Y2hFbmNvZGluZzsKKyAgeG1sU3dpdGNoVG9FbmNvZGluZzsKKworIyBjMTRuCisgIHhtbEMxNE5Eb2NEdW1wTWVtb3J5OworICB4bWxDMTRORG9jU2F2ZTsKKyAgeG1sQzE0TkRvY1NhdmVUbzsKKyAgeG1sQzE0TkV4ZWN1dGU7CisKKyMgY2F0YWxvZworICB4bWxBQ2F0YWxvZ0FkZDsKKyAgeG1sQUNhdGFsb2dEdW1wOworICB4bWxBQ2F0YWxvZ1JlbW92ZTsKKyAgeG1sQUNhdGFsb2dSZXNvbHZlOworICB4bWxBQ2F0YWxvZ1Jlc29sdmVQdWJsaWM7CisgIHhtbEFDYXRhbG9nUmVzb2x2ZVN5c3RlbTsKKyAgeG1sQUNhdGFsb2dSZXNvbHZlVVJJOworICB4bWxDYXRhbG9nQWRkOworICB4bWxDYXRhbG9nQWRkTG9jYWw7CisgIHhtbENhdGFsb2dDbGVhbnVwOworICB4bWxDYXRhbG9nQ29udmVydDsKKyAgeG1sQ2F0YWxvZ0R1bXA7CisgIHhtbENhdGFsb2dGcmVlTG9jYWw7CisgIHhtbENhdGFsb2dHZXREZWZhdWx0czsKKyAgeG1sQ2F0YWxvZ0dldFB1YmxpYzsKKyAgeG1sQ2F0YWxvZ0dldFN5c3RlbTsKKyAgeG1sQ2F0YWxvZ0lzRW1wdHk7CisgIHhtbENhdGFsb2dMb2NhbFJlc29sdmU7CisgIHhtbENhdGFsb2dMb2NhbFJlc29sdmVVUkk7CisgIHhtbENhdGFsb2dSZW1vdmU7CisgIHhtbENhdGFsb2dSZXNvbHZlOworICB4bWxDYXRhbG9nUmVzb2x2ZVB1YmxpYzsKKyAgeG1sQ2F0YWxvZ1Jlc29sdmVTeXN0ZW07CisgIHhtbENhdGFsb2dSZXNvbHZlVVJJOworICB4bWxDYXRhbG9nU2V0RGVidWc7CisgIHhtbENhdGFsb2dTZXREZWZhdWx0UHJlZmVyOworICB4bWxDYXRhbG9nU2V0RGVmYXVsdHM7CisgIHhtbENvbnZlcnRTR01MQ2F0YWxvZzsKKyAgeG1sRnJlZUNhdGFsb2c7CisgIHhtbEluaXRpYWxpemVDYXRhbG9nOworICB4bWxMb2FkQUNhdGFsb2c7CisgIHhtbExvYWRDYXRhbG9nOworICB4bWxMb2FkQ2F0YWxvZ3M7CisgIHhtbExvYWRTR01MU3VwZXJDYXRhbG9nOworICB4bWxOZXdDYXRhbG9nOworICB4bWxQYXJzZUNhdGFsb2dGaWxlOworCisjIHhwYXRoSW50ZXJuYWxzCisgIHZhbHVlUG9wOworICB2YWx1ZVB1c2g7CisgIHhtbFhQYXRoQWRkVmFsdWVzOworICB4bWxYUGF0aEJvb2xlYW5GdW5jdGlvbjsKKyAgeG1sWFBhdGhDZWlsaW5nRnVuY3Rpb247CisgIHhtbFhQYXRoQ29tcGFyZVZhbHVlczsKKyAgeG1sWFBhdGhDb25jYXRGdW5jdGlvbjsKKyAgeG1sWFBhdGhDb250YWluc0Z1bmN0aW9uOworICB4bWxYUGF0aENvdW50RnVuY3Rpb247CisgIHhtbFhQYXRoRGVidWdEdW1wQ29tcEV4cHI7CisgIHhtbFhQYXRoRGVidWdEdW1wT2JqZWN0OworICB4bWxYUGF0aERpZmZlcmVuY2U7CisgIHhtbFhQYXRoRGlzdGluY3Q7CisgIHhtbFhQYXRoRGlzdGluY3RTb3J0ZWQ7CisgIHhtbFhQYXRoRGl2VmFsdWVzOworICB4bWxYUGF0aEVxdWFsVmFsdWVzOworICB4bWxYUGF0aEV2YWxFeHByOworICB4bWxYUGF0aEV2YWx1YXRlUHJlZGljYXRlUmVzdWx0OworICB4bWxYUGF0aEZhbHNlRnVuY3Rpb247CisgIHhtbFhQYXRoRmxvb3JGdW5jdGlvbjsKKyAgeG1sWFBhdGhGcmVlUGFyc2VyQ29udGV4dDsKKyAgeG1sWFBhdGhGdW5jdGlvbkxvb2t1cDsKKyAgeG1sWFBhdGhGdW5jdGlvbkxvb2t1cE5TOworICB4bWxYUGF0aEhhc1NhbWVOb2RlczsKKyAgeG1sWFBhdGhJZEZ1bmN0aW9uOworICB4bWxYUGF0aEludGVyc2VjdGlvbjsKKyAgeG1sWFBhdGhJc05vZGVUeXBlOworICB4bWxYUGF0aExhbmdGdW5jdGlvbjsKKyAgeG1sWFBhdGhMYXN0RnVuY3Rpb247CisgIHhtbFhQYXRoTGVhZGluZzsKKyAgeG1sWFBhdGhMZWFkaW5nU29ydGVkOworICB4bWxYUGF0aExvY2FsTmFtZUZ1bmN0aW9uOworICB4bWxYUGF0aE1vZFZhbHVlczsKKyAgeG1sWFBhdGhNdWx0VmFsdWVzOworICB4bWxYUGF0aE5hbWVzcGFjZVVSSUZ1bmN0aW9uOworICB4bWxYUGF0aE5ld0Jvb2xlYW47CisgIHhtbFhQYXRoTmV3Q1N0cmluZzsKKyAgeG1sWFBhdGhOZXdGbG9hdDsKKyAgeG1sWFBhdGhOZXdOb2RlU2V0OworICB4bWxYUGF0aE5ld05vZGVTZXRMaXN0OworICB4bWxYUGF0aE5ld1BhcnNlckNvbnRleHQ7CisgIHhtbFhQYXRoTmV3U3RyaW5nOworICB4bWxYUGF0aE5ld1ZhbHVlVHJlZTsKKyAgeG1sWFBhdGhOZXh0QW5jZXN0b3I7CisgIHhtbFhQYXRoTmV4dEFuY2VzdG9yT3JTZWxmOworICB4bWxYUGF0aE5leHRBdHRyaWJ1dGU7CisgIHhtbFhQYXRoTmV4dENoaWxkOworICB4bWxYUGF0aE5leHREZXNjZW5kYW50OworICB4bWxYUGF0aE5leHREZXNjZW5kYW50T3JTZWxmOworICB4bWxYUGF0aE5leHRGb2xsb3dpbmc7CisgIHhtbFhQYXRoTmV4dEZvbGxvd2luZ1NpYmxpbmc7CisgIHhtbFhQYXRoTmV4dE5hbWVzcGFjZTsKKyAgeG1sWFBhdGhOZXh0UGFyZW50OworICB4bWxYUGF0aE5leHRQcmVjZWRpbmc7CisgIHhtbFhQYXRoTmV4dFByZWNlZGluZ1NpYmxpbmc7CisgIHhtbFhQYXRoTmV4dFNlbGY7CisgIHhtbFhQYXRoTm9kZUxlYWRpbmc7CisgIHhtbFhQYXRoTm9kZUxlYWRpbmdTb3J0ZWQ7CisgIHhtbFhQYXRoTm9kZVNldEFkZDsKKyAgeG1sWFBhdGhOb2RlU2V0QWRkTnM7CisgIHhtbFhQYXRoTm9kZVNldEFkZFVuaXF1ZTsKKyAgeG1sWFBhdGhOb2RlU2V0Q29udGFpbnM7CisgIHhtbFhQYXRoTm9kZVNldERlbDsKKyAgeG1sWFBhdGhOb2RlU2V0RnJlZU5zOworICB4bWxYUGF0aE5vZGVTZXRNZXJnZTsKKyAgeG1sWFBhdGhOb2RlU2V0UmVtb3ZlOworICB4bWxYUGF0aE5vZGVTZXRTb3J0OworICB4bWxYUGF0aE5vZGVUcmFpbGluZzsKKyAgeG1sWFBhdGhOb2RlVHJhaWxpbmdTb3J0ZWQ7CisgIHhtbFhQYXRoTm9ybWFsaXplRnVuY3Rpb247CisgIHhtbFhQYXRoTm90RXF1YWxWYWx1ZXM7CisgIHhtbFhQYXRoTm90RnVuY3Rpb247CisgIHhtbFhQYXRoTnNMb29rdXA7CisgIHhtbFhQYXRoTnVtYmVyRnVuY3Rpb247CisgIHhtbFhQYXRoUGFyc2VOQ05hbWU7CisgIHhtbFhQYXRoUGFyc2VOYW1lOworICB4bWxYUGF0aFBvcEJvb2xlYW47CisgIHhtbFhQYXRoUG9wRXh0ZXJuYWw7CisgIHhtbFhQYXRoUG9wTm9kZVNldDsKKyAgeG1sWFBhdGhQb3BOdW1iZXI7CisgIHhtbFhQYXRoUG9wU3RyaW5nOworICB4bWxYUGF0aFBvc2l0aW9uRnVuY3Rpb247CisgIHhtbFhQYXRoUmVnaXN0ZXJBbGxGdW5jdGlvbnM7CisgIHhtbFhQYXRoUmVnaXN0ZXJGdW5jOworICB4bWxYUGF0aFJlZ2lzdGVyRnVuY0xvb2t1cDsKKyAgeG1sWFBhdGhSZWdpc3RlckZ1bmNOUzsKKyAgeG1sWFBhdGhSZWdpc3Rlck5zOworICB4bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGU7CisgIHhtbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZUxvb2t1cDsKKyAgeG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlTlM7CisgIHhtbFhQYXRoUmVnaXN0ZXJlZEZ1bmNzQ2xlYW51cDsKKyAgeG1sWFBhdGhSZWdpc3RlcmVkTnNDbGVhbnVwOworICB4bWxYUGF0aFJlZ2lzdGVyZWRWYXJpYWJsZXNDbGVhbnVwOworICB4bWxYUGF0aFJvb3Q7CisgIHhtbFhQYXRoUm91bmRGdW5jdGlvbjsKKyAgeG1sWFBhdGhTdGFydHNXaXRoRnVuY3Rpb247CisgIHhtbFhQYXRoU3RyaW5nRXZhbE51bWJlcjsKKyAgeG1sWFBhdGhTdHJpbmdGdW5jdGlvbjsKKyAgeG1sWFBhdGhTdHJpbmdMZW5ndGhGdW5jdGlvbjsKKyAgeG1sWFBhdGhTdWJWYWx1ZXM7CisgIHhtbFhQYXRoU3Vic3RyaW5nQWZ0ZXJGdW5jdGlvbjsKKyAgeG1sWFBhdGhTdWJzdHJpbmdCZWZvcmVGdW5jdGlvbjsKKyAgeG1sWFBhdGhTdWJzdHJpbmdGdW5jdGlvbjsKKyAgeG1sWFBhdGhTdW1GdW5jdGlvbjsKKyAgeG1sWFBhdGhUcmFpbGluZzsKKyAgeG1sWFBhdGhUcmFpbGluZ1NvcnRlZDsKKyAgeG1sWFBhdGhUcmFuc2xhdGVGdW5jdGlvbjsKKyAgeG1sWFBhdGhUcnVlRnVuY3Rpb247CisgIHhtbFhQYXRoVmFsdWVGbGlwU2lnbjsKKyAgeG1sWFBhdGhWYXJpYWJsZUxvb2t1cDsKKyAgeG1sWFBhdGhWYXJpYWJsZUxvb2t1cE5TOworICB4bWxYUGF0aFdyYXBDU3RyaW5nOworICB4bWxYUGF0aFdyYXBFeHRlcm5hbDsKKyAgeG1sWFBhdGhXcmFwTm9kZVNldDsKKyAgeG1sWFBhdGhXcmFwU3RyaW5nOworICB4bWxYUGF0aGVycm9yOworCisjIHhtbGF1dG9tYXRhCisgIHhtbEF1dG9tYXRhQ29tcGlsZTsKKyAgeG1sQXV0b21hdGFHZXRJbml0U3RhdGU7CisgIHhtbEF1dG9tYXRhSXNEZXRlcm1pbmlzdDsKKyAgeG1sQXV0b21hdGFOZXdBbGxUcmFuczsKKyAgeG1sQXV0b21hdGFOZXdDb3VudFRyYW5zOworICB4bWxBdXRvbWF0YU5ld0NvdW50ZWRUcmFuczsKKyAgeG1sQXV0b21hdGFOZXdDb3VudGVyOworICB4bWxBdXRvbWF0YU5ld0NvdW50ZXJUcmFuczsKKyAgeG1sQXV0b21hdGFOZXdFcHNpbG9uOworICB4bWxBdXRvbWF0YU5ld09uY2VUcmFuczsKKyAgeG1sQXV0b21hdGFOZXdTdGF0ZTsKKyAgeG1sQXV0b21hdGFOZXdUcmFuc2l0aW9uOworICB4bWxBdXRvbWF0YVNldEZpbmFsU3RhdGU7CisgIHhtbEZyZWVBdXRvbWF0YTsKKyAgeG1sTmV3QXV0b21hdGE7CisKKyMgSFRNTHRyZWUKKyAgaHRtbERvY0NvbnRlbnREdW1wRm9ybWF0T3V0cHV0OworICBodG1sRG9jQ29udGVudER1bXBPdXRwdXQ7CisgIGh0bWxEb2NEdW1wOworICBodG1sRG9jRHVtcE1lbW9yeTsKKyAgaHRtbEdldE1ldGFFbmNvZGluZzsKKyAgaHRtbElzQm9vbGVhbkF0dHI7CisgIGh0bWxOZXdEb2M7CisgIGh0bWxOZXdEb2NOb0R0RDsKKyAgaHRtbE5vZGVEdW1wOworICBodG1sTm9kZUR1bXBGaWxlOworICBodG1sTm9kZUR1bXBGaWxlRm9ybWF0OworICBodG1sTm9kZUR1bXBGb3JtYXRPdXRwdXQ7CisgIGh0bWxOb2RlRHVtcE91dHB1dDsKKyAgaHRtbFNhdmVGaWxlOworICBodG1sU2F2ZUZpbGVFbmM7CisgIGh0bWxTYXZlRmlsZUZvcm1hdDsKKyAgaHRtbFNldE1ldGFFbmNvZGluZzsKKworIyBuYW5vZnRwCisgIHhtbE5hbm9GVFBDaGVja1Jlc3BvbnNlOworICB4bWxOYW5vRlRQQ2xlYW51cDsKKyAgeG1sTmFub0ZUUENsb3NlOworICB4bWxOYW5vRlRQQ2xvc2VDb25uZWN0aW9uOworICB4bWxOYW5vRlRQQ29ubmVjdDsKKyAgeG1sTmFub0ZUUENvbm5lY3RUbzsKKyAgeG1sTmFub0ZUUEN3ZDsKKyAgeG1sTmFub0ZUUEZyZWVDdHh0OworICB4bWxOYW5vRlRQR2V0OworICB4bWxOYW5vRlRQR2V0Q29ubmVjdGlvbjsKKyAgeG1sTmFub0ZUUEdldFJlc3BvbnNlOworICB4bWxOYW5vRlRQR2V0U29ja2V0OworICB4bWxOYW5vRlRQSW5pdDsKKyAgeG1sTmFub0ZUUExpc3Q7CisgIHhtbE5hbm9GVFBOZXdDdHh0OworICB4bWxOYW5vRlRQT3BlbjsKKyAgeG1sTmFub0ZUUFByb3h5OworICB4bWxOYW5vRlRQUXVpdDsKKyAgeG1sTmFub0ZUUFJlYWQ7CisgIHhtbE5hbm9GVFBTY2FuUHJveHk7CisgIHhtbE5hbm9GVFBVcGRhdGVVUkw7CisKKyMgRE9DQnBhcnNlcgorICBkb2NiQ3JlYXRlRmlsZVBhcnNlckN0eHQ7CisgIGRvY2JDcmVhdGVQdXNoUGFyc2VyQ3R4dDsKKyAgZG9jYkVuY29kZUVudGl0aWVzOworICBkb2NiRnJlZVBhcnNlckN0eHQ7CisgIGRvY2JQYXJzZUNodW5rOworICBkb2NiUGFyc2VEb2M7CisgIGRvY2JQYXJzZURvY3VtZW50OworICBkb2NiUGFyc2VGaWxlOworICBkb2NiU0FYUGFyc2VEb2M7CisgIGRvY2JTQVhQYXJzZUZpbGU7CisKKyMgeHBhdGgKKyAgeG1sWFBhdGhDYXN0Qm9vbGVhblRvTnVtYmVyOworICB4bWxYUGF0aENhc3RCb29sZWFuVG9TdHJpbmc7CisgIHhtbFhQYXRoQ2FzdE5vZGVTZXRUb0Jvb2xlYW47CisgIHhtbFhQYXRoQ2FzdE5vZGVTZXRUb051bWJlcjsKKyAgeG1sWFBhdGhDYXN0Tm9kZVNldFRvU3RyaW5nOworICB4bWxYUGF0aENhc3ROb2RlVG9OdW1iZXI7CisgIHhtbFhQYXRoQ2FzdE5vZGVUb1N0cmluZzsKKyAgeG1sWFBhdGhDYXN0TnVtYmVyVG9Cb29sZWFuOworICB4bWxYUGF0aENhc3ROdW1iZXJUb1N0cmluZzsKKyAgeG1sWFBhdGhDYXN0U3RyaW5nVG9Cb29sZWFuOworICB4bWxYUGF0aENhc3RTdHJpbmdUb051bWJlcjsKKyAgeG1sWFBhdGhDYXN0VG9Cb29sZWFuOworICB4bWxYUGF0aENhc3RUb051bWJlcjsKKyAgeG1sWFBhdGhDYXN0VG9TdHJpbmc7CisgIHhtbFhQYXRoQ21wTm9kZXM7CisgIHhtbFhQYXRoQ29tcGlsZTsKKyAgeG1sWFBhdGhDb21waWxlZEV2YWw7CisgIHhtbFhQYXRoQ29udmVydEJvb2xlYW47CisgIHhtbFhQYXRoQ29udmVydE51bWJlcjsKKyAgeG1sWFBhdGhDb252ZXJ0U3RyaW5nOworICB4bWxYUGF0aEV2YWw7CisgIHhtbFhQYXRoRXZhbEV4cHJlc3Npb247CisgIHhtbFhQYXRoRXZhbFByZWRpY2F0ZTsKKyAgeG1sWFBhdGhGcmVlQ29tcEV4cHI7CisgIHhtbFhQYXRoRnJlZUNvbnRleHQ7CisgIHhtbFhQYXRoRnJlZU5vZGVTZXQ7CisgIHhtbFhQYXRoRnJlZU5vZGVTZXRMaXN0OworICB4bWxYUGF0aEZyZWVPYmplY3Q7CisgIHhtbFhQYXRoSW5pdDsKKyAgeG1sWFBhdGhJc0luZjsKKyAgeG1sWFBhdGhJc05hTjsKKyAgeG1sWFBhdGhOQU47ICMgdmFyaWFibGUKKyAgeG1sWFBhdGhOSU5GOyAjIHZhcmlhYmxlCisgIHhtbFhQYXRoTmV3Q29udGV4dDsKKyAgeG1sWFBhdGhOb2RlU2V0Q3JlYXRlOworICB4bWxYUGF0aE9iamVjdENvcHk7CisgIHhtbFhQYXRoUElORjsgIyB2YXJpYWJsZQorCisjIHhsaW5rCisgIHhsaW5rR2V0RGVmYXVsdERldGVjdDsKKyAgeGxpbmtHZXREZWZhdWx0SGFuZGxlcjsKKyAgeGxpbmtJc0xpbms7CisgIHhsaW5rU2V0RGVmYXVsdERldGVjdDsKKyAgeGxpbmtTZXREZWZhdWx0SGFuZGxlcjsKKworIyBlbnRpdGllcworICB4bWxBZGREb2NFbnRpdHk7CisgIHhtbEFkZER0ZEVudGl0eTsKKyAgeG1sQ2xlYW51cFByZWRlZmluZWRFbnRpdGllczsKKyAgeG1sQ29weUVudGl0aWVzVGFibGU7CisgIHhtbENyZWF0ZUVudGl0aWVzVGFibGU7CisgIHhtbER1bXBFbnRpdGllc1RhYmxlOworICB4bWxEdW1wRW50aXR5RGVjbDsKKyAgeG1sRW5jb2RlRW50aXRpZXM7CisgIHhtbEVuY29kZUVudGl0aWVzUmVlbnRyYW50OworICB4bWxFbmNvZGVTcGVjaWFsQ2hhcnM7CisgIHhtbEZyZWVFbnRpdGllc1RhYmxlOworICB4bWxHZXREb2NFbnRpdHk7CisgIHhtbEdldER0ZEVudGl0eTsKKyAgeG1sR2V0UGFyYW1ldGVyRW50aXR5OworICB4bWxHZXRQcmVkZWZpbmVkRW50aXR5OworICB4bWxJbml0aWFsaXplUHJlZGVmaW5lZEVudGl0aWVzOworCisjIHhpbmNsdWRlCisgIHhtbFhJbmNsdWRlUHJvY2VzczsKKworIyBsaXN0CisgIHhtbExpbmtHZXREYXRhOworICB4bWxMaXN0QXBwZW5kOworICB4bWxMaXN0Q2xlYXI7CisgIHhtbExpc3RDb3B5OworICB4bWxMaXN0Q3JlYXRlOworICB4bWxMaXN0RGVsZXRlOworICB4bWxMaXN0RHVwOworICB4bWxMaXN0RW1wdHk7CisgIHhtbExpc3RFbmQ7CisgIHhtbExpc3RGcm9udDsKKyAgeG1sTGlzdEluc2VydDsKKyAgeG1sTGlzdE1lcmdlOworICB4bWxMaXN0UG9wQmFjazsKKyAgeG1sTGlzdFBvcEZyb250OworICB4bWxMaXN0UHVzaEJhY2s7CisgIHhtbExpc3RQdXNoRnJvbnQ7CisgIHhtbExpc3RSZW1vdmVBbGw7CisgIHhtbExpc3RSZW1vdmVGaXJzdDsKKyAgeG1sTGlzdFJlbW92ZUxhc3Q7CisgIHhtbExpc3RSZXZlcnNlOworICB4bWxMaXN0UmV2ZXJzZVNlYXJjaDsKKyAgeG1sTGlzdFJldmVyc2VXYWxrOworICB4bWxMaXN0U2VhcmNoOworICB4bWxMaXN0U2l6ZTsKKyAgeG1sTGlzdFNvcnQ7CisgIHhtbExpc3RXYWxrOworCisjIHhtbG1lbW9yeQorICB4bWxJbml0TWVtb3J5OworICB4bWxNYWxsb2NMb2M7CisgIHhtbE1lbURpc3BsYXk7CisgIHhtbE1lbUZyZWU7CisgIHhtbE1lbUdldDsKKyAgeG1sTWVtTWFsbG9jOworICB4bWxNZW1SZWFsbG9jOworICB4bWxNZW1TZXR1cDsKKyAgeG1sTWVtU2hvdzsKKyAgeG1sTWVtU3RyZHVwTG9jOworICB4bWxNZW1Vc2VkOworICB4bWxNZW1vcnlEdW1wOworICB4bWxNZW1vcnlTdHJkdXA7CisgIHhtbFJlYWxsb2NMb2M7CisKKyMgeG1sSU8KKyAgeG1sQWxsb2NPdXRwdXRCdWZmZXI7CisgIHhtbEFsbG9jUGFyc2VySW5wdXRCdWZmZXI7CisgIHhtbENoZWNrRmlsZW5hbWU7CisgIHhtbENsZWFudXBJbnB1dENhbGxiYWNrczsKKyAgeG1sQ2xlYW51cE91dHB1dENhbGxiYWNrczsKKyAgeG1sRmlsZUNsb3NlOworICB4bWxGaWxlTWF0Y2g7CisgIHhtbEZpbGVPcGVuOworICB4bWxGaWxlUmVhZDsKKyAgeG1sRnJlZVBhcnNlcklucHV0QnVmZmVyOworICB4bWxJT0ZUUENsb3NlOworICB4bWxJT0ZUUE1hdGNoOworICB4bWxJT0ZUUE9wZW47CisgIHhtbElPRlRQUmVhZDsKKyAgeG1sSU9IVFRQQ2xvc2U7CisgIHhtbElPSFRUUE1hdGNoOworICB4bWxJT0hUVFBPcGVuOworICB4bWxJT0hUVFBPcGVuVzsKKyAgeG1sSU9IVFRQUmVhZDsKKyAgeG1sTm9OZXRFeHRlcm5hbEVudGl0eUxvYWRlcjsKKyAgeG1sTm9ybWFsaXplV2luZG93c1BhdGg7CisgIHhtbE91dHB1dEJ1ZmZlckNsb3NlOworICB4bWxPdXRwdXRCdWZmZXJDcmVhdGVGZDsKKyAgeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZTsKKyAgeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWU7CisgIHhtbE91dHB1dEJ1ZmZlckNyZWF0ZUlPOworICB4bWxPdXRwdXRCdWZmZXJGbHVzaDsKKyAgeG1sT3V0cHV0QnVmZmVyV3JpdGU7CisgIHhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nOworICB4bWxQYXJzZXJHZXREaXJlY3Rvcnk7CisgIHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmQ7CisgIHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZTsKKyAgeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZTsKKyAgeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVJTzsKKyAgeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVNZW07CisgIHhtbFBhcnNlcklucHV0QnVmZmVyR3JvdzsKKyAgeG1sUGFyc2VySW5wdXRCdWZmZXJQdXNoOworICB4bWxQYXJzZXJJbnB1dEJ1ZmZlclJlYWQ7CisgIHhtbFJlZ2lzdGVyRGVmYXVsdElucHV0Q2FsbGJhY2tzOworICB4bWxSZWdpc3RlckRlZmF1bHRPdXRwdXRDYWxsYmFja3M7CisgIHhtbFJlZ2lzdGVySFRUUFBvc3RDYWxsYmFja3M7CisgIHhtbFJlZ2lzdGVySW5wdXRDYWxsYmFja3M7CisgIHhtbFJlZ2lzdGVyT3V0cHV0Q2FsbGJhY2tzOworCisjIHhtbHZlcnNpb24KKyAgeG1sQ2hlY2tWZXJzaW9uOworCisjIHZhbGlkCisgIHhtbEFkZEF0dHJpYnV0ZURlY2w7CisgIHhtbEFkZEVsZW1lbnREZWNsOworICB4bWxBZGRJRDsKKyAgeG1sQWRkTm90YXRpb25EZWNsOworICB4bWxBZGRSZWY7CisgIHhtbENvcHlBdHRyaWJ1dGVUYWJsZTsKKyAgeG1sQ29weUVsZW1lbnRDb250ZW50OworICB4bWxDb3B5RWxlbWVudFRhYmxlOworICB4bWxDb3B5RW51bWVyYXRpb247CisgIHhtbENvcHlOb3RhdGlvblRhYmxlOworICB4bWxDcmVhdGVFbnVtZXJhdGlvbjsKKyAgeG1sRHVtcEF0dHJpYnV0ZURlY2w7CisgIHhtbER1bXBBdHRyaWJ1dGVUYWJsZTsKKyAgeG1sRHVtcEVsZW1lbnREZWNsOworICB4bWxEdW1wRWxlbWVudFRhYmxlOworICB4bWxEdW1wTm90YXRpb25EZWNsOworICB4bWxEdW1wTm90YXRpb25UYWJsZTsKKyAgeG1sRnJlZUF0dHJpYnV0ZVRhYmxlOworICB4bWxGcmVlRWxlbWVudENvbnRlbnQ7CisgIHhtbEZyZWVFbGVtZW50VGFibGU7CisgIHhtbEZyZWVFbnVtZXJhdGlvbjsKKyAgeG1sRnJlZUlEVGFibGU7CisgIHhtbEZyZWVOb3RhdGlvblRhYmxlOworICB4bWxGcmVlUmVmVGFibGU7CisgIHhtbEdldER0ZEF0dHJEZXNjOworICB4bWxHZXREdGRFbGVtZW50RGVzYzsKKyAgeG1sR2V0RHRkTm90YXRpb25EZXNjOworICB4bWxHZXREdGRRQXR0ckRlc2M7CisgIHhtbEdldER0ZFFFbGVtZW50RGVzYzsKKyAgeG1sR2V0SUQ7CisgIHhtbEdldFJlZnM7CisgIHhtbElzSUQ7CisgIHhtbElzTWl4ZWRFbGVtZW50OworICB4bWxJc1JlZjsKKyAgeG1sTmV3RWxlbWVudENvbnRlbnQ7CisgIHhtbFJlbW92ZUlEOworICB4bWxSZW1vdmVSZWY7CisgIHhtbFNucHJpbnRmRWxlbWVudENvbnRlbnQ7CisKKyMgdHJlZQorICB4bWxTcGxpdFFOYW1lMjsKKworIyB2YWxpZAorICB4bWxTcHJpbnRmRWxlbWVudENvbnRlbnQ7CisgIHhtbFZhbGlkQnVpbGRDb250ZW50TW9kZWw7CisgIHhtbFZhbGlkQ3R4dE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlOworICB4bWxWYWxpZEdldFBvdGVudGlhbENoaWxkcmVuOworICB4bWxWYWxpZEdldFZhbGlkRWxlbWVudHM7CisgIHhtbFZhbGlkTm9ybWFsaXplQXR0cmlidXRlVmFsdWU7CisgIHhtbFZhbGlkYXRlQXR0cmlidXRlRGVjbDsKKyAgeG1sVmFsaWRhdGVBdHRyaWJ1dGVWYWx1ZTsKKyAgeG1sVmFsaWRhdGVEb2N1bWVudDsKKyAgeG1sVmFsaWRhdGVEb2N1bWVudEZpbmFsOworICB4bWxWYWxpZGF0ZUR0ZDsKKyAgeG1sVmFsaWRhdGVEdGRGaW5hbDsKKyAgeG1sVmFsaWRhdGVFbGVtZW50OworICB4bWxWYWxpZGF0ZUVsZW1lbnREZWNsOworICB4bWxWYWxpZGF0ZU5hbWVWYWx1ZTsKKyAgeG1sVmFsaWRhdGVOYW1lc1ZhbHVlOworICB4bWxWYWxpZGF0ZU5tdG9rZW5WYWx1ZTsKKyAgeG1sVmFsaWRhdGVObXRva2Vuc1ZhbHVlOworICB4bWxWYWxpZGF0ZU5vdGF0aW9uRGVjbDsKKyAgeG1sVmFsaWRhdGVOb3RhdGlvblVzZTsKKyAgeG1sVmFsaWRhdGVPbmVBdHRyaWJ1dGU7CisgIHhtbFZhbGlkYXRlT25lRWxlbWVudDsKKyAgeG1sVmFsaWRhdGVPbmVOYW1lc3BhY2U7CisgIHhtbFZhbGlkYXRlUm9vdDsKKworIyBIVE1McGFyc2VyCisgIFVURjhUb0h0bWw7CisgIGh0bWxBdXRvQ2xvc2VUYWc7CisgIGh0bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dDsKKyAgaHRtbEVuY29kZUVudGl0aWVzOworICBodG1sRW50aXR5TG9va3VwOworICBodG1sRW50aXR5VmFsdWVMb29rdXA7CisgIGh0bWxGcmVlUGFyc2VyQ3R4dDsKKyAgaHRtbEhhbmRsZU9taXR0ZWRFbGVtOworICBodG1sSXNBdXRvQ2xvc2VkOworICBodG1sSXNTY3JpcHRBdHRyaWJ1dGU7CisgIGh0bWxQYXJzZUNoYXJSZWY7CisgIGh0bWxQYXJzZUNodW5rOworICBodG1sUGFyc2VEb2M7CisgIGh0bWxQYXJzZURvY3VtZW50OworICBodG1sUGFyc2VFbGVtZW50OworICBodG1sUGFyc2VFbnRpdHlSZWY7CisgIGh0bWxQYXJzZUZpbGU7CisgIGh0bWxTQVhQYXJzZURvYzsKKyAgaHRtbFNBWFBhcnNlRmlsZTsKKyAgaHRtbFRhZ0xvb2t1cDsKKworIyB4bWxzdHJpbmcKKyAgeG1sQ2hhclN0cmR1cDsKKyAgeG1sQ2hhclN0cm5kdXA7CisKKyMgcGFyc2VyCisgIHhtbENsZWFudXBQYXJzZXI7CisgIHhtbENsZWFyTm9kZUluZm9TZXE7CisgIHhtbENsZWFyUGFyc2VyQ3R4dDsKKyAgeG1sQ3JlYXRlRG9jUGFyc2VyQ3R4dDsKKyAgeG1sQ3JlYXRlSU9QYXJzZXJDdHh0OworICB4bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dDsKKyAgeG1sRnJlZVBhcnNlckN0eHQ7CisgIHhtbEdldEV4dGVybmFsRW50aXR5TG9hZGVyOworICB4bWxHZXRGZWF0dXJlOworICB4bWxHZXRGZWF0dXJlc0xpc3Q7CisKKyMgZ2xvYmFscworICB4bWxHZXRXYXJuaW5nc0RlZmF1bHRWYWx1ZTsgIyB2YXJpYWJsZQorCisjIHBhcnNlcgorICB4bWxJT1BhcnNlRFREOworICB4bWxJbml0Tm9kZUluZm9TZXE7CisgIHhtbEluaXRQYXJzZXI7CisgIHhtbEluaXRQYXJzZXJDdHh0OworICB4bWxLZWVwQmxhbmtzRGVmYXVsdDsKKyAgeG1sTGluZU51bWJlcnNEZWZhdWx0OworICB4bWxMb2FkRXh0ZXJuYWxFbnRpdHk7CisgIHhtbE5ld0lPSW5wdXRTdHJlYW07CisgIHhtbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeTsKKyAgeG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5UmVjb3ZlcjsKKyAgeG1sUGFyc2VDaHVuazsKKyAgeG1sUGFyc2VDdHh0RXh0ZXJuYWxFbnRpdHk7CisgIHhtbFBhcnNlRFREOworICB4bWxQYXJzZURvYzsKKyAgeG1sUGFyc2VEb2N1bWVudDsKKyAgeG1sUGFyc2VFbnRpdHk7CisgIHhtbFBhcnNlRXh0UGFyc2VkRW50OworICB4bWxQYXJzZUV4dGVybmFsRW50aXR5OworICB4bWxQYXJzZUZpbGU7CisgIHhtbFBhcnNlTWVtb3J5OworICB4bWxQYXJzZXJBZGROb2RlSW5mbzsKKyAgeG1sUGFyc2VyRmluZE5vZGVJbmZvOworICB4bWxQYXJzZXJGaW5kTm9kZUluZm9JbmRleDsKKyAgeG1sUGFyc2VySW5wdXRHcm93OworICB4bWxQYXJzZXJJbnB1dFJlYWQ7CisgIHhtbFBlZGFudGljUGFyc2VyRGVmYXVsdDsKKyAgeG1sUmVjb3ZlckRvYzsKKyAgeG1sUmVjb3ZlckZpbGU7CisgIHhtbFJlY292ZXJNZW1vcnk7CisgIHhtbFNBWFBhcnNlRFREOworICB4bWxTQVhQYXJzZURvYzsKKyAgeG1sU0FYUGFyc2VFbnRpdHk7CisgIHhtbFNBWFBhcnNlRmlsZTsKKyAgeG1sU0FYUGFyc2VGaWxlV2l0aERhdGE7CisgIHhtbFNBWFBhcnNlTWVtb3J5OworICB4bWxTQVhQYXJzZU1lbW9yeVdpdGhEYXRhOworICB4bWxTQVhVc2VyUGFyc2VGaWxlOworICB4bWxTQVhVc2VyUGFyc2VNZW1vcnk7CisgIHhtbFNldEV4dGVybmFsRW50aXR5TG9hZGVyOworICB4bWxTZXRGZWF0dXJlOworICB4bWxTZXR1cFBhcnNlckZvckJ1ZmZlcjsKKyAgeG1sU3RvcFBhcnNlcjsKKworIyB4bWxzdHJpbmcKKyAgeG1sU3RyRXF1YWw7CisgIHhtbFN0cmNhc2VjbXA7CisgIHhtbFN0cmNhc2VzdHI7CisgIHhtbFN0cmNhdDsKKyAgeG1sU3RyY2hyOworICB4bWxTdHJjbXA7CisgIHhtbFN0cmR1cDsKKyAgeG1sU3RybGVuOworICB4bWxTdHJuY2FzZWNtcDsKKyAgeG1sU3RybmNhdDsKKyAgeG1sU3RybmNtcDsKKyAgeG1sU3RybmR1cDsKKyAgeG1sU3Ryc3RyOworICB4bWxTdHJzdWI7CisKKyMgcGFyc2VyCisgIHhtbFN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHQ7CisKKyMgeG1scmVhZGVyCisgIHhtbEZyZWVUZXh0UmVhZGVyOworICB4bWxOZXdUZXh0UmVhZGVyOworICB4bWxOZXdUZXh0UmVhZGVyRmlsZW5hbWU7CisgIHhtbFRleHRSZWFkZXJBdHRyaWJ1dGVDb3VudDsKKyAgeG1sVGV4dFJlYWRlckJhc2VVcmk7CisgIHhtbFRleHRSZWFkZXJEZXB0aDsKKyAgeG1sVGV4dFJlYWRlckhhc0F0dHJpYnV0ZXM7CisgIHhtbFRleHRSZWFkZXJIYXNWYWx1ZTsKKyAgeG1sVGV4dFJlYWRlcklzRGVmYXVsdDsKKyAgeG1sVGV4dFJlYWRlcklzRW1wdHlFbGVtZW50OworICB4bWxUZXh0UmVhZGVyTG9jYWxOYW1lOworICB4bWxUZXh0UmVhZGVyTmFtZTsKKyAgeG1sVGV4dFJlYWRlck5hbWVzcGFjZVVyaTsKKyAgeG1sVGV4dFJlYWRlck5vZGVUeXBlOworICB4bWxUZXh0UmVhZGVyUHJlZml4OworICB4bWxUZXh0UmVhZGVyUXVvdGVDaGFyOworICB4bWxUZXh0UmVhZGVyUmVhZDsKKyAgeG1sVGV4dFJlYWRlclZhbHVlOworICB4bWxUZXh0UmVhZGVyWG1sTGFuZzsKKworIyBnbG9iYWxzCisgIGRvY2JEZWZhdWx0U0FYSGFuZGxlcjsgIyB2YXJpYWJsZQorICBodG1sRGVmYXVsdFNBWEhhbmRsZXI7ICMgdmFyaWFibGUKKyAgeG1sRGVmYXVsdFNBWEhhbmRsZXI7ICMgdmFyaWFibGUKKyAgeG1sRGVmYXVsdFNBWExvY2F0b3I7ICMgdmFyaWFibGUKKyAgeG1sRG9WYWxpZGl0eUNoZWNraW5nRGVmYXVsdFZhbHVlOyAjIHZhcmlhYmxlCisgIHhtbEZyZWU7ICMgdmFyaWFibGUKKyAgeG1sR2VuZXJpY0Vycm9yOyAjIHZhcmlhYmxlCisgIHhtbEdlbmVyaWNFcnJvckNvbnRleHQ7ICMgdmFyaWFibGUKKyAgeG1sSW5pdGlhbGl6ZUdsb2JhbFN0YXRlOworICB4bWxLZWVwQmxhbmtzRGVmYXVsdFZhbHVlOyAjIHZhcmlhYmxlCisgIHhtbExpbmVOdW1iZXJzRGVmYXVsdFZhbHVlOyAjIHZhcmlhYmxlCisgIHhtbExvYWRFeHREdGREZWZhdWx0VmFsdWU7ICMgdmFyaWFibGUKKyAgeG1sTWFsbG9jOyAjIHZhcmlhYmxlCisgIHhtbE1lbVN0cmR1cDsgIyB2YXJpYWJsZQorICB4bWxQYXJzZXJEZWJ1Z0VudGl0aWVzOyAjIHZhcmlhYmxlCisgIHhtbFBhcnNlclZlcnNpb247ICMgdmFyaWFibGUKKyAgeG1sUGVkYW50aWNQYXJzZXJEZWZhdWx0VmFsdWU7ICMgdmFyaWFibGUKKyAgeG1sUmVhbGxvYzsgIyB2YXJpYWJsZQorICB4bWxTYXZlTm9FbXB0eVRhZ3M7ICMgdmFyaWFibGUKKyAgeG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdFZhbHVlOyAjIHZhcmlhYmxlCisgIHhtbFRyZWVJbmRlbnRTdHJpbmc7ICMgdmFyaWFibGUKKworIyB0aHJlYWRzCisgIHhtbENsZWFudXBUaHJlYWRzOworICB4bWxGcmVlTXV0ZXg7CisgIHhtbEZyZWVSTXV0ZXg7CisgIHhtbEdldEdsb2JhbFN0YXRlOworICB4bWxHZXRUaHJlYWRJZDsKKyAgeG1sSW5pdFRocmVhZHM7CisgIHhtbElzTWFpblRocmVhZDsKKyAgeG1sTG9ja0xpYnJhcnk7CisgIHhtbE11dGV4TG9jazsKKyAgeG1sTXV0ZXhVbmxvY2s7CisgIHhtbE5ld011dGV4OworICB4bWxOZXdSTXV0ZXg7CisgIHhtbFJNdXRleExvY2s7CisgIHhtbFJNdXRleFVubG9jazsKKyAgeG1sVW5sb2NrTGlicmFyeTsKKworIyBoYXNoCisgIHhtbEhhc2hBZGRFbnRyeTsKKyAgeG1sSGFzaEFkZEVudHJ5MjsKKyAgeG1sSGFzaEFkZEVudHJ5MzsKKyAgeG1sSGFzaENvcHk7CisgIHhtbEhhc2hDcmVhdGU7CisgIHhtbEhhc2hGcmVlOworICB4bWxIYXNoTG9va3VwOworICB4bWxIYXNoTG9va3VwMjsKKyAgeG1sSGFzaExvb2t1cDM7CisgIHhtbEhhc2hSZW1vdmVFbnRyeTsKKyAgeG1sSGFzaFJlbW92ZUVudHJ5MjsKKyAgeG1sSGFzaFJlbW92ZUVudHJ5MzsKKyAgeG1sSGFzaFNjYW47CisgIHhtbEhhc2hTY2FuMzsKKyAgeG1sSGFzaFNjYW5GdWxsOworICB4bWxIYXNoU2NhbkZ1bGwzOworICB4bWxIYXNoU2l6ZTsKKyAgeG1sSGFzaFVwZGF0ZUVudHJ5OworICB4bWxIYXNoVXBkYXRlRW50cnkyOworICB4bWxIYXNoVXBkYXRlRW50cnkzOworCisjIHhtbGVycm9yCisgIGluaXRHZW5lcmljRXJyb3JEZWZhdWx0RnVuYzsKKyAgeG1sUGFyc2VyRXJyb3I7CisgIHhtbFBhcnNlclByaW50RmlsZUNvbnRleHQ7CisgIHhtbFBhcnNlclByaW50RmlsZUluZm87CisgIHhtbFBhcnNlclZhbGlkaXR5RXJyb3I7CisgIHhtbFBhcnNlclZhbGlkaXR5V2FybmluZzsKKyAgeG1sUGFyc2VyV2FybmluZzsKKyAgeG1sU2V0R2VuZXJpY0Vycm9yRnVuYzsKKworIyBnbG9iYWxzCisgIG9sZFhNTFdEY29tcGF0aWJpbGl0eTsgIyB2YXJpYWJsZQorCisjIHRyZWUKKyAgeG1sQWRkQ2hpbGQ7CisgIHhtbEFkZENoaWxkTGlzdDsKKyAgeG1sQWRkTmV4dFNpYmxpbmc7CisgIHhtbEFkZFByZXZTaWJsaW5nOworICB4bWxBZGRTaWJsaW5nOworICB4bWxCdWZmZXJBZGQ7CisgIHhtbEJ1ZmZlckFkZEhlYWQ7CisKKyMgZ2xvYmFscworICB4bWxCdWZmZXJBbGxvY1NjaGVtZTsgIyB2YXJpYWJsZQorCisjIHRyZWUKKyAgeG1sQnVmZmVyQ0NhdDsKKyAgeG1sQnVmZmVyQ2F0OworICB4bWxCdWZmZXJDb250ZW50OworICB4bWxCdWZmZXJDcmVhdGU7CisgIHhtbEJ1ZmZlckNyZWF0ZVNpemU7CisgIHhtbEJ1ZmZlckR1bXA7CisgIHhtbEJ1ZmZlckVtcHR5OworICB4bWxCdWZmZXJGcmVlOworICB4bWxCdWZmZXJHcm93OworICB4bWxCdWZmZXJMZW5ndGg7CisgIHhtbEJ1ZmZlclJlc2l6ZTsKKyAgeG1sQnVmZmVyU2V0QWxsb2NhdGlvblNjaGVtZTsKKyAgeG1sQnVmZmVyU2hyaW5rOworICB4bWxCdWZmZXJXcml0ZUNIQVI7CisgIHhtbEJ1ZmZlcldyaXRlQ2hhcjsKKyAgeG1sQnVmZmVyV3JpdGVRdW90ZWRTdHJpbmc7CisgIHhtbENvcHlEb2M7CisgIHhtbENvcHlEdGQ7CisgIHhtbENvcHlOYW1lc3BhY2U7CisgIHhtbENvcHlOYW1lc3BhY2VMaXN0OworICB4bWxDb3B5Tm9kZTsKKyAgeG1sQ29weU5vZGVMaXN0OworICB4bWxDb3B5UHJvcDsKKyAgeG1sQ29weVByb3BMaXN0OworICB4bWxDcmVhdGVJbnRTdWJzZXQ7CisKKyMgZ2xvYmFscworICB4bWxEZWZhdWx0QnVmZmVyU2l6ZTsgIyB2YXJpYWJsZQorCisjIHRyZWUKKyAgeG1sRG9jQ29weU5vZGU7CisgIHhtbERvY0R1bXA7CisgIHhtbERvY0R1bXBGb3JtYXRNZW1vcnk7CisgIHhtbERvY0R1bXBGb3JtYXRNZW1vcnlFbmM7CisgIHhtbERvY0R1bXBNZW1vcnk7CisgIHhtbERvY0R1bXBNZW1vcnlFbmM7CisgIHhtbERvY0Zvcm1hdER1bXA7CisgIHhtbERvY0dldFJvb3RFbGVtZW50OworICB4bWxEb2NTZXRSb290RWxlbWVudDsKKyAgeG1sRWxlbUR1bXA7CisgIHhtbEZyZWVEb2M7CisgIHhtbEZyZWVEdGQ7CisgIHhtbEZyZWVOb2RlOworICB4bWxGcmVlTm9kZUxpc3Q7CisgIHhtbEZyZWVOczsKKyAgeG1sRnJlZU5zTGlzdDsKKyAgeG1sRnJlZVByb3A7CisgIHhtbEZyZWVQcm9wTGlzdDsKKyAgeG1sR2V0QnVmZmVyQWxsb2NhdGlvblNjaGVtZTsKKyAgeG1sR2V0Q29tcHJlc3NNb2RlOworICB4bWxHZXREb2NDb21wcmVzc01vZGU7CisgIHhtbEdldEludFN1YnNldDsKKyAgeG1sR2V0TGFzdENoaWxkOworICB4bWxHZXRMaW5lTm87CisgIHhtbEdldE5vZGVQYXRoOworICB4bWxHZXROc0xpc3Q7CisgIHhtbEdldE5zUHJvcDsKKyAgeG1sR2V0UHJvcDsKKyAgeG1sSGFzTnNQcm9wOworICB4bWxIYXNQcm9wOworCisjIGdsb2JhbHMKKyAgeG1sSW5kZW50VHJlZU91dHB1dDsgIyB2YXJpYWJsZQorCisjIHRyZWUKKyAgeG1sSXNCbGFua05vZGU7CisgIHhtbElzWEhUTUw7CisgIHhtbE5ld0NEYXRhQmxvY2s7CisgIHhtbE5ld0NoYXJSZWY7CisgIHhtbE5ld0NoaWxkOworICB4bWxOZXdDb21tZW50OworICB4bWxOZXdEb2M7CisgIHhtbE5ld0RvY0NvbW1lbnQ7CisgIHhtbE5ld0RvY0ZyYWdtZW50OworICB4bWxOZXdEb2NOb2RlOworICB4bWxOZXdEb2NOb2RlRWF0TmFtZTsKKyAgeG1sTmV3RG9jUHJvcDsKKyAgeG1sTmV3RG9jUmF3Tm9kZTsKKyAgeG1sTmV3RG9jVGV4dDsKKyAgeG1sTmV3RG9jVGV4dExlbjsKKyAgeG1sTmV3RHRkOworICB4bWxOZXdHbG9iYWxOczsKKyAgeG1sTmV3Tm9kZTsKKyAgeG1sTmV3Tm9kZUVhdE5hbWU7CisgIHhtbE5ld05zOworICB4bWxOZXdOc1Byb3A7CisgIHhtbE5ld05zUHJvcEVhdE5hbWU7CisgIHhtbE5ld1BJOworICB4bWxOZXdQcm9wOworICB4bWxOZXdSZWZlcmVuY2U7CisgIHhtbE5ld1RleHQ7CisgIHhtbE5ld1RleHRDaGlsZDsKKyAgeG1sTmV3VGV4dExlbjsKKyAgeG1sTm9kZUFkZENvbnRlbnQ7CisgIHhtbE5vZGVBZGRDb250ZW50TGVuOworICB4bWxOb2RlRHVtcDsKKyAgeG1sTm9kZUR1bXBPdXRwdXQ7CisgIHhtbE5vZGVHZXRCYXNlOworICB4bWxOb2RlR2V0Q29udGVudDsKKyAgeG1sTm9kZUdldExhbmc7CisgIHhtbE5vZGVHZXRTcGFjZVByZXNlcnZlOworICB4bWxOb2RlSXNUZXh0OworICB4bWxOb2RlTGlzdEdldFJhd1N0cmluZzsKKyAgeG1sTm9kZUxpc3RHZXRTdHJpbmc7CisgIHhtbE5vZGVTZXRCYXNlOworICB4bWxOb2RlU2V0Q29udGVudDsKKyAgeG1sTm9kZVNldENvbnRlbnRMZW47CisgIHhtbE5vZGVTZXRMYW5nOworICB4bWxOb2RlU2V0TmFtZTsKKyAgeG1sTm9kZVNldFNwYWNlUHJlc2VydmU7CisgIHhtbFJlY29uY2lsaWF0ZU5zOworICB4bWxSZW1vdmVQcm9wOworICB4bWxSZXBsYWNlTm9kZTsKKyAgeG1sU2F2ZUZpbGU7CisgIHhtbFNhdmVGaWxlRW5jOworICB4bWxTYXZlRmlsZVRvOworICB4bWxTYXZlRm9ybWF0RmlsZTsKKyAgeG1sU2F2ZUZvcm1hdEZpbGVFbmM7CisgIHhtbFNhdmVGb3JtYXRGaWxlVG87CisgIHhtbFNlYXJjaE5zOworICB4bWxTZWFyY2hOc0J5SHJlZjsKKyAgeG1sU2V0QnVmZmVyQWxsb2NhdGlvblNjaGVtZTsKKyAgeG1sU2V0Q29tcHJlc3NNb2RlOworICB4bWxTZXREb2NDb21wcmVzc01vZGU7CisgIHhtbFNldExpc3REb2M7CisgIHhtbFNldE5zOworICB4bWxTZXROc1Byb3A7CisgIHhtbFNldFByb3A7CisgIHhtbFNldFRyZWVEb2M7CisgIHhtbFN0cmluZ0dldE5vZGVMaXN0OworICB4bWxTdHJpbmdMZW5HZXROb2RlTGlzdDsKKyAgeG1sVGV4dENvbmNhdDsKKyAgeG1sVGV4dE1lcmdlOworICB4bWxVbmxpbmtOb2RlOworICB4bWxVbnNldE5zUHJvcDsKKyAgeG1sVW5zZXRQcm9wOworCisjIHhtbHJlZ2V4cAorICB4bWxSZWdFeGVjUHVzaFN0cmluZzsKKyAgeG1sUmVnRnJlZUV4ZWNDdHh0OworICB4bWxSZWdGcmVlUmVnZXhwOworICB4bWxSZWdOZXdFeGVjQ3R4dDsKKyAgeG1sUmVnZXhwQ29tcGlsZTsKKyAgeG1sUmVnZXhwRXhlYzsKKyAgeG1sUmVnZXhwSXNEZXRlcm1pbmlzdDsKKyAgeG1sUmVnZXhwUHJpbnQ7CisKKyMgbmFub2h0dHAKKyAgeG1sTmFub0hUVFBBdXRoSGVhZGVyOworICB4bWxOYW5vSFRUUENsZWFudXA7CisgIHhtbE5hbm9IVFRQQ2xvc2U7CisgIHhtbE5hbm9IVFRQRmV0Y2g7CisgIHhtbE5hbm9IVFRQSW5pdDsKKyAgeG1sTmFub0hUVFBNZXRob2Q7CisgIHhtbE5hbm9IVFRQTWV0aG9kUmVkaXI7CisgIHhtbE5hbm9IVFRQT3BlbjsKKyAgeG1sTmFub0hUVFBPcGVuUmVkaXI7CisgIHhtbE5hbm9IVFRQUmVhZDsKKyAgeG1sTmFub0hUVFBSZXR1cm5Db2RlOworICB4bWxOYW5vSFRUUFNhdmU7CisgIHhtbE5hbm9IVFRQU2NhblByb3h5OworCisjIHhtbHVuaWNvZGUKKyAgeG1sVUNTSXNBbHBoYWJldGljUHJlc2VudGF0aW9uRm9ybXM7CisgIHhtbFVDU0lzQXJhYmljOworICB4bWxVQ1NJc0FyYWJpY1ByZXNlbnRhdGlvbkZvcm1zQTsKKyAgeG1sVUNTSXNBcmFiaWNQcmVzZW50YXRpb25Gb3Jtc0I7CisgIHhtbFVDU0lzQXJtZW5pYW47CisgIHhtbFVDU0lzQXJyb3dzOworICB4bWxVQ1NJc0Jhc2ljTGF0aW47CisgIHhtbFVDU0lzQmVuZ2FsaTsKKyAgeG1sVUNTSXNCbG9jazsKKyAgeG1sVUNTSXNCbG9ja0VsZW1lbnRzOworICB4bWxVQ1NJc0JvcG9tb2ZvOworICB4bWxVQ1NJc0JvcG9tb2ZvRXh0ZW5kZWQ7CisgIHhtbFVDU0lzQm94RHJhd2luZzsKKyAgeG1sVUNTSXNCcmFpbGxlUGF0dGVybnM7CisgIHhtbFVDU0lzQnl6YW50aW5lTXVzaWNhbFN5bWJvbHM7CisgIHhtbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eTsKKyAgeG1sVUNTSXNDSktDb21wYXRpYmlsaXR5Rm9ybXM7CisgIHhtbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eUlkZW9ncmFwaHM7CisgIHhtbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eUlkZW9ncmFwaHNTdXBwbGVtZW50OworICB4bWxVQ1NJc0NKS1JhZGljYWxzU3VwcGxlbWVudDsKKyAgeG1sVUNTSXNDSktTeW1ib2xzYW5kUHVuY3R1YXRpb247CisgIHhtbFVDU0lzQ0pLVW5pZmllZElkZW9ncmFwaHM7CisgIHhtbFVDU0lzQ0pLVW5pZmllZElkZW9ncmFwaHNFeHRlbnNpb25BOworICB4bWxVQ1NJc0NKS1VuaWZpZWRJZGVvZ3JhcGhzRXh0ZW5zaW9uQjsKKyAgeG1sVUNTSXNDYXQ7CisgIHhtbFVDU0lzQ2F0QzsKKyAgeG1sVUNTSXNDYXRDYzsKKyAgeG1sVUNTSXNDYXRDZjsKKyAgeG1sVUNTSXNDYXRDbzsKKyAgeG1sVUNTSXNDYXRDczsKKyAgeG1sVUNTSXNDYXRMOworICB4bWxVQ1NJc0NhdExsOworICB4bWxVQ1NJc0NhdExtOworICB4bWxVQ1NJc0NhdExvOworICB4bWxVQ1NJc0NhdEx0OworICB4bWxVQ1NJc0NhdEx1OworICB4bWxVQ1NJc0NhdE07CisgIHhtbFVDU0lzQ2F0TWM7CisgIHhtbFVDU0lzQ2F0TWU7CisgIHhtbFVDU0lzQ2F0TW47CisgIHhtbFVDU0lzQ2F0TjsKKyAgeG1sVUNTSXNDYXROZDsKKyAgeG1sVUNTSXNDYXRObDsKKyAgeG1sVUNTSXNDYXRObzsKKyAgeG1sVUNTSXNDYXRQOworICB4bWxVQ1NJc0NhdFBjOworICB4bWxVQ1NJc0NhdFBkOworICB4bWxVQ1NJc0NhdFBlOworICB4bWxVQ1NJc0NhdFBmOworICB4bWxVQ1NJc0NhdFBpOworICB4bWxVQ1NJc0NhdFBvOworICB4bWxVQ1NJc0NhdFBzOworICB4bWxVQ1NJc0NhdFM7CisgIHhtbFVDU0lzQ2F0U2M7CisgIHhtbFVDU0lzQ2F0U2s7CisgIHhtbFVDU0lzQ2F0U207CisgIHhtbFVDU0lzQ2F0U287CisgIHhtbFVDU0lzQ2F0WjsKKyAgeG1sVUNTSXNDYXRabDsKKyAgeG1sVUNTSXNDYXRacDsKKyAgeG1sVUNTSXNDYXRaczsKKyAgeG1sVUNTSXNDaGVyb2tlZTsKKyAgeG1sVUNTSXNDb21iaW5pbmdEaWFjcml0aWNhbE1hcmtzOworICB4bWxVQ1NJc0NvbWJpbmluZ0hhbGZNYXJrczsKKyAgeG1sVUNTSXNDb21iaW5pbmdNYXJrc2ZvclN5bWJvbHM7CisgIHhtbFVDU0lzQ29udHJvbFBpY3R1cmVzOworICB4bWxVQ1NJc0N1cnJlbmN5U3ltYm9sczsKKyAgeG1sVUNTSXNDeXJpbGxpYzsKKyAgeG1sVUNTSXNEZXNlcmV0OworICB4bWxVQ1NJc0RldmFuYWdhcmk7CisgIHhtbFVDU0lzRGluZ2JhdHM7CisgIHhtbFVDU0lzRW5jbG9zZWRBbHBoYW51bWVyaWNzOworICB4bWxVQ1NJc0VuY2xvc2VkQ0pLTGV0dGVyc2FuZE1vbnRoczsKKyAgeG1sVUNTSXNFdGhpb3BpYzsKKyAgeG1sVUNTSXNHZW5lcmFsUHVuY3R1YXRpb247CisgIHhtbFVDU0lzR2VvbWV0cmljU2hhcGVzOworICB4bWxVQ1NJc0dlb3JnaWFuOworICB4bWxVQ1NJc0dvdGhpYzsKKyAgeG1sVUNTSXNHcmVlazsKKyAgeG1sVUNTSXNHcmVla0V4dGVuZGVkOworICB4bWxVQ1NJc0d1amFyYXRpOworICB4bWxVQ1NJc0d1cm11a2hpOworICB4bWxVQ1NJc0hhbGZ3aWR0aGFuZEZ1bGx3aWR0aEZvcm1zOworICB4bWxVQ1NJc0hhbmd1bENvbXBhdGliaWxpdHlKYW1vOworICB4bWxVQ1NJc0hhbmd1bEphbW87CisgIHhtbFVDU0lzSGFuZ3VsU3lsbGFibGVzOworICB4bWxVQ1NJc0hlYnJldzsKKyAgeG1sVUNTSXNIaWdoUHJpdmF0ZVVzZVN1cnJvZ2F0ZXM7CisgIHhtbFVDU0lzSGlnaFN1cnJvZ2F0ZXM7CisgIHhtbFVDU0lzSGlyYWdhbmE7CisgIHhtbFVDU0lzSVBBRXh0ZW5zaW9uczsKKyAgeG1sVUNTSXNJZGVvZ3JhcGhpY0Rlc2NyaXB0aW9uQ2hhcmFjdGVyczsKKyAgeG1sVUNTSXNLYW5idW47CisgIHhtbFVDU0lzS2FuZ3hpUmFkaWNhbHM7CisgIHhtbFVDU0lzS2FubmFkYTsKKyAgeG1sVUNTSXNLYXRha2FuYTsKKyAgeG1sVUNTSXNLaG1lcjsKKyAgeG1sVUNTSXNMYW87CisgIHhtbFVDU0lzTGF0aW4xU3VwcGxlbWVudDsKKyAgeG1sVUNTSXNMYXRpbkV4dGVuZGVkQTsKKyAgeG1sVUNTSXNMYXRpbkV4dGVuZGVkQWRkaXRpb25hbDsKKyAgeG1sVUNTSXNMYXRpbkV4dGVuZGVkQjsKKyAgeG1sVUNTSXNMZXR0ZXJsaWtlU3ltYm9sczsKKyAgeG1sVUNTSXNMb3dTdXJyb2dhdGVzOworICB4bWxVQ1NJc01hbGF5YWxhbTsKKyAgeG1sVUNTSXNNYXRoZW1hdGljYWxBbHBoYW51bWVyaWNTeW1ib2xzOworICB4bWxVQ1NJc01hdGhlbWF0aWNhbE9wZXJhdG9yczsKKyAgeG1sVUNTSXNNaXNjZWxsYW5lb3VzU3ltYm9sczsKKyAgeG1sVUNTSXNNaXNjZWxsYW5lb3VzVGVjaG5pY2FsOworICB4bWxVQ1NJc01vbmdvbGlhbjsKKyAgeG1sVUNTSXNNdXNpY2FsU3ltYm9sczsKKyAgeG1sVUNTSXNNeWFubWFyOworICB4bWxVQ1NJc051bWJlckZvcm1zOworICB4bWxVQ1NJc09naGFtOworICB4bWxVQ1NJc09sZEl0YWxpYzsKKyAgeG1sVUNTSXNPcHRpY2FsQ2hhcmFjdGVyUmVjb2duaXRpb247CisgIHhtbFVDU0lzT3JpeWE7CisgIHhtbFVDU0lzUHJpdmF0ZVVzZTsKKyAgeG1sVUNTSXNSdW5pYzsKKyAgeG1sVUNTSXNTaW5oYWxhOworICB4bWxVQ1NJc1NtYWxsRm9ybVZhcmlhbnRzOworICB4bWxVQ1NJc1NwYWNpbmdNb2RpZmllckxldHRlcnM7CisgIHhtbFVDU0lzU3BlY2lhbHM7CisgIHhtbFVDU0lzU3VwZXJzY3JpcHRzYW5kU3Vic2NyaXB0czsKKyAgeG1sVUNTSXNTeXJpYWM7CisgIHhtbFVDU0lzVGFnczsKKyAgeG1sVUNTSXNUYW1pbDsKKyAgeG1sVUNTSXNUZWx1Z3U7CisgIHhtbFVDU0lzVGhhYW5hOworICB4bWxVQ1NJc1RoYWk7CisgIHhtbFVDU0lzVGliZXRhbjsKKyAgeG1sVUNTSXNVbmlmaWVkQ2FuYWRpYW5BYm9yaWdpbmFsU3lsbGFiaWNzOworICB4bWxVQ1NJc1lpUmFkaWNhbHM7CisgIHhtbFVDU0lzWWlTeWxsYWJsZXM7CisKKyMgdXJpCisgIHhtbEJ1aWxkVVJJOworICB4bWxDcmVhdGVVUkk7CisgIHhtbEZyZWVVUkk7CisgIHhtbE5vcm1hbGl6ZVVSSVBhdGg7CisgIHhtbFBhcnNlVVJJOworICB4bWxQYXJzZVVSSVJlZmVyZW5jZTsKKyAgeG1sUHJpbnRVUkk7CisgIHhtbFNhdmVVcmk7CisgIHhtbFVSSUVzY2FwZTsKKyAgeG1sVVJJRXNjYXBlU3RyOworICB4bWxVUklVbmVzY2FwZVN0cmluZzsKKworIyBlbmNvZGluZworICBVVEY4VG9pc29sYXQxOworICBpc29sYXQxVG9VVEY4OworICB4bWxBZGRFbmNvZGluZ0FsaWFzOworICB4bWxDaGFyRW5jQ2xvc2VGdW5jOworICB4bWxDaGFyRW5jRmlyc3RMaW5lOworICB4bWxDaGFyRW5jSW5GdW5jOworICB4bWxDaGFyRW5jT3V0RnVuYzsKKworIyB4bWxzdHJpbmcKKyAgeG1sQ2hlY2tVVEY4OworCisjIGVuY29kaW5nCisgIHhtbENsZWFudXBDaGFyRW5jb2RpbmdIYW5kbGVyczsKKyAgeG1sQ2xlYW51cEVuY29kaW5nQWxpYXNlczsKKyAgeG1sRGVsRW5jb2RpbmdBbGlhczsKKyAgeG1sRGV0ZWN0Q2hhckVuY29kaW5nOworICB4bWxGaW5kQ2hhckVuY29kaW5nSGFuZGxlcjsKKyAgeG1sR2V0Q2hhckVuY29kaW5nSGFuZGxlcjsKKyAgeG1sR2V0Q2hhckVuY29kaW5nTmFtZTsKKyAgeG1sR2V0RW5jb2RpbmdBbGlhczsKKworIyB4bWxzdHJpbmcKKyAgeG1sR2V0VVRGOENoYXI7CisKKyMgZW5jb2RpbmcKKyAgeG1sSW5pdENoYXJFbmNvZGluZ0hhbmRsZXJzOworICB4bWxOZXdDaGFyRW5jb2RpbmdIYW5kbGVyOworICB4bWxQYXJzZUNoYXJFbmNvZGluZzsKKyAgeG1sUmVnaXN0ZXJDaGFyRW5jb2RpbmdIYW5kbGVyOworCisjIHhtbHN0cmluZworICB4bWxVVEY4U3RybGVuOworICB4bWxVVEY4U3RybG9jOworICB4bWxVVEY4U3RybmR1cDsKKyAgeG1sVVRGOFN0cnBvczsKKyAgeG1sVVRGOFN0cnNpemU7CisgIHhtbFVURjhTdHJzdWI7Cit9IDsKKworTElCWE1MMl8yLjUuMCB7CisgICAgZ2xvYmFsOgorCisjIGdsb2JhbHMKKyAgeG1sRGVyZWdpc3Rlck5vZGVEZWZhdWx0OworICB4bWxEZXJlZ2lzdGVyTm9kZURlZmF1bHRWYWx1ZTsgIyB2YXJpYWJsZQorICB4bWxSZWdpc3Rlck5vZGVEZWZhdWx0OworICB4bWxSZWdpc3Rlck5vZGVEZWZhdWx0VmFsdWU7ICMgdmFyaWFibGUKKworIyB4bWxyZWFkZXIKKyAgeG1sVGV4dFJlYWRlckNsb3NlOworICB4bWxUZXh0UmVhZGVyQ3VycmVudERvYzsKKyAgeG1sVGV4dFJlYWRlckN1cnJlbnROb2RlOworICB4bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlTm87CisgIHhtbFRleHRSZWFkZXJHZXRBdHRyaWJ1dGVOczsKKyAgeG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZTsKKyAgeG1sVGV4dFJlYWRlckdldFBhcnNlclByb3A7CisgIHhtbFRleHRSZWFkZXJHZXRSZW1haW5kZXI7CisgIHhtbFRleHRSZWFkZXJMb29rdXBOYW1lc3BhY2U7CisgIHhtbFRleHRSZWFkZXJNb3ZlVG9BdHRyaWJ1dGVObzsKKyAgeG1sVGV4dFJlYWRlck1vdmVUb0F0dHJpYnV0ZU5zOworICB4bWxUZXh0UmVhZGVyTW92ZVRvQXR0cmlidXRlOworICB4bWxUZXh0UmVhZGVyTW92ZVRvRWxlbWVudDsKKyAgeG1sVGV4dFJlYWRlck1vdmVUb0ZpcnN0QXR0cmlidXRlOworICB4bWxUZXh0UmVhZGVyTW92ZVRvTmV4dEF0dHJpYnV0ZTsKKyAgeG1sVGV4dFJlYWRlck5vcm1hbGl6YXRpb247CisgIHhtbFRleHRSZWFkZXJSZWFkQXR0cmlidXRlVmFsdWU7CisgIHhtbFRleHRSZWFkZXJSZWFkSW5uZXJYbWw7CisgIHhtbFRleHRSZWFkZXJSZWFkT3V0ZXJYbWw7CisgIHhtbFRleHRSZWFkZXJSZWFkU3RhdGU7CisgIHhtbFRleHRSZWFkZXJSZWFkU3RyaW5nOworICB4bWxUZXh0UmVhZGVyU2V0UGFyc2VyUHJvcDsKKworIyB2YWxpZAorICB4bWxWYWxpZGF0ZVBvcEVsZW1lbnQ7CisgIHhtbFZhbGlkYXRlUHVzaENEYXRhOworICB4bWxWYWxpZGF0ZVB1c2hFbGVtZW50OworfSBMSUJYTUwyXzIuNC4zMDsKKworTElCWE1MMl8yLjUuMiB7CisgICAgZ2xvYmFsOgorCisjIHRyZWUKKyAgeG1sR2V0Tm9Oc1Byb3A7CisKKyMgSFRNTHBhcnNlcgorICBodG1sQXR0ckFsbG93ZWQ7CisgIGh0bWxFbGVtZW50QWxsb3dlZEhlcmU7CisgIGh0bWxFbGVtZW50U3RhdHVzSGVyZTsKKyAgaHRtbE5vZGVTdGF0dXM7CisKKyMgcmVsYXhuZworICB4bWxSZWxheE5HQ2xlYW51cFR5cGVzOworICB4bWxSZWxheE5HRHVtcDsKKyAgeG1sUmVsYXhOR0ZyZWVQYXJzZXJDdHh0OworICB4bWxSZWxheE5HRnJlZTsKKyAgeG1sUmVsYXhOR0ZyZWVWYWxpZEN0eHQ7CisgIHhtbFJlbGF4TkdOZXdNZW1QYXJzZXJDdHh0OworICB4bWxSZWxheE5HTmV3UGFyc2VyQ3R4dDsKKyAgeG1sUmVsYXhOR05ld1ZhbGlkQ3R4dDsKKyAgeG1sUmVsYXhOR1BhcnNlOworICB4bWxSZWxheE5HU2V0UGFyc2VyRXJyb3JzOworICB4bWxSZWxheE5HU2V0VmFsaWRFcnJvcnM7CisgIHhtbFJlbGF4TkdWYWxpZGF0ZURvYzsKKworIyB4bWxyZWFkZXIKKyAgeG1sVGV4dFJlYWRlckdldEVycm9ySGFuZGxlcjsKKyAgeG1sVGV4dFJlYWRlckxvY2F0b3JCYXNlVVJJOworICB4bWxUZXh0UmVhZGVyTG9jYXRvckxpbmVOdW1iZXI7CisgIHhtbFRleHRSZWFkZXJTZXRFcnJvckhhbmRsZXI7CisKKyMgcmVsYXhuZworIyB4bWxSZWxheE5HVmFsaWRhdGVTdHJlYW07IHJlbW92ZWQgaW4gMi41LjUKK30gTElCWE1MMl8yLjUuMDsKKworTElCWE1MMl8yLjUuNCB7CisgICAgZ2xvYmFsOgorCisjIHVyaQorICB4bWxDYW5vbmljUGF0aDsKKworIyByZWxheG5nCisgIHhtbFJlbGF4TkdEdW1wVHJlZTsKKworIyB0cmVlCisgIHhtbFZhbGlkYXRlTmFtZTsKKyAgeG1sVmFsaWRhdGVOQ05hbWU7CisgIHhtbFZhbGlkYXRlTk1Ub2tlbjsKKyAgeG1sVmFsaWRhdGVRTmFtZTsKK30gTElCWE1MMl8yLjUuMjsKKworTElCWE1MMl8yLjUuNSB7CisgICAgZ2xvYmFsOgorCisjIG5hbm9mdHAKKyAgeG1sTmFub0ZUUERlbGU7Cit9IExJQlhNTDJfMi41LjQ7CisKK0xJQlhNTDJfMi41LjYgeworICAgIGdsb2JhbDoKKworIyB4cGF0aAorICB4bWxYUGF0aE9yZGVyRG9jRWxlbXM7Cit9IExJQlhNTDJfMi41LjU7CisKK0xJQlhNTDJfMi41LjcgeworICAgIGdsb2JhbDoKKworIyBIVE1McGFyc2VyCisgIGh0bWxDcmVhdGVNZW1vcnlQYXJzZXJDdHh0OworCisjIHhtbGF1dG9tYXRhCisgIHhtbEF1dG9tYXRhTmV3VHJhbnNpdGlvbjI7CisKKyMgdHJlZQorICB4bWxCdWlsZFFOYW1lOworCisjIHhtbG1lbW9yeQorICB4bWxHY01lbUdldDsKKyAgeG1sR2NNZW1TZXR1cDsKKworIyBnbG9iYWxzCisgIHhtbE1hbGxvY0F0b21pYzsgIyB2YXJpYWJsZQorCisjIHhtbHJlZ2V4cAorICB4bWxSZWdFeGVjUHVzaFN0cmluZzI7CisKKyMgcmVsYXhuZworICB4bWxSZWxheE5HTmV3RG9jUGFyc2VyQ3R4dDsKKyAgeG1sUmVsYXhOR1ZhbGlkYXRlRnVsbEVsZW1lbnQ7CisgIHhtbFJlbGF4TkdWYWxpZGF0ZVBvcEVsZW1lbnQ7CisgIHhtbFJlbGF4TkdWYWxpZGF0ZVB1c2hDRGF0YTsKKyAgeG1sUmVsYXhOR1ZhbGlkYXRlUHVzaEVsZW1lbnQ7CisKKyMgeG1scmVhZGVyCisgIHhtbFRleHRSZWFkZXJFeHBhbmQ7CisgIHhtbFRleHRSZWFkZXJJc1ZhbGlkOworICB4bWxUZXh0UmVhZGVyTmV4dDsKKyAgeG1sVGV4dFJlYWRlclJlbGF4TkdTZXRTY2hlbWE7CisgIHhtbFRleHRSZWFkZXJSZWxheE5HVmFsaWRhdGU7Cit9IExJQlhNTDJfMi41LjY7CisKK0xJQlhNTDJfMi41LjggeworICAgIGdsb2JhbDoKKworIyBnbG9iYWxzCisgIHhtbENsZWFudXBHbG9iYWxzOworICB4bWxJbml0R2xvYmFsczsKKworIyB2YWxpZAorICB4bWxGcmVlVmFsaWRDdHh0OworICB4bWxOZXdWYWxpZEN0eHQ7CisKKyMgc2NoZW1hc0ludGVybmFscworICB4bWxTY2hlbWFGcmVlVHlwZTsKKworIyB4bWxzY2hlbWFzCisgIHhtbFNjaGVtYUR1bXA7CisgIHhtbFNjaGVtYUZyZWVQYXJzZXJDdHh0OworICB4bWxTY2hlbWFGcmVlVmFsaWRDdHh0OworICB4bWxTY2hlbWFGcmVlOworICB4bWxTY2hlbWFOZXdNZW1QYXJzZXJDdHh0OworICB4bWxTY2hlbWFOZXdQYXJzZXJDdHh0OworICB4bWxTY2hlbWFOZXdWYWxpZEN0eHQ7CisgIHhtbFNjaGVtYVBhcnNlOworICB4bWxTY2hlbWFTZXRQYXJzZXJFcnJvcnM7CisgIHhtbFNjaGVtYVNldFZhbGlkRXJyb3JzOworICB4bWxTY2hlbWFWYWxpZGF0ZURvYzsKKyAgeG1sU2NoZW1hVmFsaWRhdGVTdHJlYW07CisKKyMgeG1sc2NoZW1hc3R5cGVzCisgIHhtbFNjaGVtYUNoZWNrRmFjZXQ7CisgIHhtbFNjaGVtYUNsZWFudXBUeXBlczsKKyAgeG1sU2NoZW1hQ29tcGFyZVZhbHVlczsKKyAgeG1sU2NoZW1hRnJlZUZhY2V0OworICB4bWxTY2hlbWFGcmVlVmFsdWU7CisgIHhtbFNjaGVtYUdldFByZWRlZmluZWRUeXBlOworICB4bWxTY2hlbWFJbml0VHlwZXM7CisgIHhtbFNjaGVtYU5ld0ZhY2V0OworICB4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0OworICB4bWxTY2hlbWFWYWxpZGF0ZVByZWRlZmluZWRUeXBlOworICB4bWxTY2hlbWFWYWxQcmVkZWZUeXBlTm9kZTsKKworIyBnbG9iYWxzCisgIHhtbFRockRlZkJ1ZmZlckFsbG9jU2NoZW1lOworICB4bWxUaHJEZWZEZWZhdWx0QnVmZmVyU2l6ZTsKKyAgeG1sVGhyRGVmRGVyZWdpc3Rlck5vZGVEZWZhdWx0OworICB4bWxUaHJEZWZEb1ZhbGlkaXR5Q2hlY2tpbmdEZWZhdWx0VmFsdWU7CisgIHhtbFRockRlZkdldFdhcm5pbmdzRGVmYXVsdFZhbHVlOworICB4bWxUaHJEZWZJbmRlbnRUcmVlT3V0cHV0OworICB4bWxUaHJEZWZLZWVwQmxhbmtzRGVmYXVsdFZhbHVlOworICB4bWxUaHJEZWZMaW5lTnVtYmVyc0RlZmF1bHRWYWx1ZTsKKyAgeG1sVGhyRGVmTG9hZEV4dER0ZERlZmF1bHRWYWx1ZTsKKyAgeG1sVGhyRGVmUGFyc2VyRGVidWdFbnRpdGllczsKKyAgeG1sVGhyRGVmUGVkYW50aWNQYXJzZXJEZWZhdWx0VmFsdWU7CisgIHhtbFRockRlZlJlZ2lzdGVyTm9kZURlZmF1bHQ7CisgIHhtbFRockRlZlNhdmVOb0VtcHR5VGFnczsKKyAgeG1sVGhyRGVmU2V0R2VuZXJpY0Vycm9yRnVuYzsKKyAgeG1sVGhyRGVmU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdFZhbHVlOworICB4bWxUaHJEZWZUcmVlSW5kZW50U3RyaW5nOworfSBMSUJYTUwyXzIuNS43OworCitMSUJYTUwyXzIuNS45IHsKKyAgICBnbG9iYWw6CisKKyMgeG1sbWVtb3J5CisgIHhtbE1hbGxvY0F0b21pY0xvYzsKKworIyByZWxheG5nCisgIHhtbFJlbGF4TkdHZXRQYXJzZXJFcnJvcnM7CisgIHhtbFJlbGF4TkdHZXRWYWxpZEVycm9yczsKKworIyB0cmVlCisgIHhtbFNwbGl0UU5hbWUzOworCisjIHhtbHN0cmluZworICB4bWxVVEY4Q2hhcmNtcDsKKyAgeG1sVVRGOFNpemU7CisKKyMgeGluY2x1ZGUKKyAgeG1sWEluY2x1ZGVQcm9jZXNzVHJlZTsKK30gTElCWE1MMl8yLjUuODsKKworTElCWE1MMl8yLjYuMCB7CisgICAgZ2xvYmFsOgorCisjIFNBWDIKKyAgeG1sU0FYMkF0dHJpYnV0ZURlY2w7CisgIHhtbFNBWDJDRGF0YUJsb2NrOworICB4bWxTQVgyQ2hhcmFjdGVyczsKKyAgeG1sU0FYMkNvbW1lbnQ7CisgIHhtbFNBWDJFbGVtZW50RGVjbDsKKyAgeG1sU0FYMkVuZERvY3VtZW50OworICB4bWxTQVgyRW5kRWxlbWVudE5zOworICB4bWxTQVgyRW5kRWxlbWVudDsKKyAgeG1sU0FYMkVudGl0eURlY2w7CisgIHhtbFNBWDJFeHRlcm5hbFN1YnNldDsKKyAgeG1sU0FYMkdldENvbHVtbk51bWJlcjsKKyAgeG1sU0FYMkdldEVudGl0eTsKKyAgeG1sU0FYMkdldExpbmVOdW1iZXI7CisgIHhtbFNBWDJHZXRQYXJhbWV0ZXJFbnRpdHk7CisgIHhtbFNBWDJHZXRQdWJsaWNJZDsKKyAgeG1sU0FYMkdldFN5c3RlbUlkOworICB4bWxTQVgySGFzRXh0ZXJuYWxTdWJzZXQ7CisgIHhtbFNBWDJIYXNJbnRlcm5hbFN1YnNldDsKKyAgeG1sU0FYMklnbm9yYWJsZVdoaXRlc3BhY2U7CisgIHhtbFNBWDJJbml0RGVmYXVsdFNBWEhhbmRsZXI7CisgIHhtbFNBWDJJbml0RG9jYkRlZmF1bHRTQVhIYW5kbGVyOworICB4bWxTQVgySW5pdEh0bWxEZWZhdWx0U0FYSGFuZGxlcjsKKyAgeG1sU0FYMkludGVybmFsU3Vic2V0OworICB4bWxTQVgySXNTdGFuZGFsb25lOworICB4bWxTQVgyTm90YXRpb25EZWNsOworICB4bWxTQVgyUHJvY2Vzc2luZ0luc3RydWN0aW9uOworICB4bWxTQVgyUmVmZXJlbmNlOworICB4bWxTQVgyUmVzb2x2ZUVudGl0eTsKKyAgeG1sU0FYMlNldERvY3VtZW50TG9jYXRvcjsKKyAgeG1sU0FYMlN0YXJ0RG9jdW1lbnQ7CisgIHhtbFNBWDJTdGFydEVsZW1lbnROczsKKyAgeG1sU0FYMlN0YXJ0RWxlbWVudDsKKyAgeG1sU0FYMlVucGFyc2VkRW50aXR5RGVjbDsKKyAgeG1sU0FYRGVmYXVsdFZlcnNpb247CisgIHhtbFNBWFZlcnNpb247CisKKyMgSFRNTHBhcnNlcgorICBodG1sQ3R4dFJlYWREb2M7CisgIGh0bWxDdHh0UmVhZEZkOworICBodG1sQ3R4dFJlYWRGaWxlOworICBodG1sQ3R4dFJlYWRJTzsKKyAgaHRtbEN0eHRSZWFkTWVtb3J5OworICBodG1sQ3R4dFJlc2V0OworICBodG1sQ3R4dFVzZU9wdGlvbnM7CisgIGh0bWxSZWFkRG9jOworICBodG1sUmVhZEZkOworICBodG1sUmVhZEZpbGU7CisgIGh0bWxSZWFkSU87CisgIGh0bWxSZWFkTWVtb3J5OworCisjIHRyZWUKKyAgeG1sQnVmZmVyQ3JlYXRlU3RhdGljOworCisjIGNodmFsaWQKKyAgeG1sQ2hhckluUmFuZ2U7CisKKyMgeG1sSU8KKyAgeG1sQ2hlY2tIVFRQSW5wdXQ7CisKKyMgeG1sZXJyb3IKKyAgeG1sQ29weUVycm9yOworICB4bWxDdHh0R2V0TGFzdEVycm9yOworICB4bWxHZXRMYXN0RXJyb3I7CisgIHhtbFJlc2V0RXJyb3I7CisgIHhtbFJlc2V0TGFzdEVycm9yOworICB4bWxTZXRTdHJ1Y3R1cmVkRXJyb3JGdW5jOworCisjIHBhcnNlcgorICB4bWxDdHh0UmVhZERvYzsKKyAgeG1sQ3R4dFJlYWRGZDsKKyAgeG1sQ3R4dFJlYWRGaWxlOworICB4bWxDdHh0UmVhZElPOworICB4bWxDdHh0UmVhZE1lbW9yeTsKKworIyB4bWxlcnJvcgorICB4bWxDdHh0UmVzZXRMYXN0RXJyb3I7CisKKyMgcGFyc2VyCisgIHhtbEN0eHRSZXNldDsKKyAgeG1sQ3R4dFVzZU9wdGlvbnM7CisgIHhtbFJlYWREb2M7CisgIHhtbFJlYWRGZDsKKyAgeG1sUmVhZEZpbGU7CisgIHhtbFJlYWRJTzsKKyAgeG1sUmVhZE1lbW9yeTsKKworIyB4bWxzdHJpbmcKKyAgeG1sU3RyUHJpbnRmOworICB4bWxTdHJRRXF1YWw7CisKKyMgZGljdAorICB4bWxEaWN0Q3JlYXRlOworICB4bWxEaWN0RnJlZTsKKyAgeG1sRGljdExvb2t1cDsKKyAgeG1sRGljdE93bnM7CisgIHhtbERpY3RRTG9va3VwOworICB4bWxEaWN0UmVmZXJlbmNlOworICB4bWxEaWN0U2l6ZTsKKworIyBwYXJzZXJJbnRlcm5hbHMKKyAgeG1sRXJyTWVtb3J5OworICB4bWxQYXJzZXJNYXhEZXB0aDsgIyB2YXJpYWJsZQorICB4bWxTdHJpbmdMZW5EZWNvZGVFbnRpdGllczsKKyAgeG1sU3dpdGNoSW5wdXRFbmNvZGluZzsKKworIyB4bWx3cml0ZXIKKyAgeG1sRnJlZVRleHRXcml0ZXI7CisgIHhtbE5ld1RleHRXcml0ZXJGaWxlbmFtZTsKKyAgeG1sTmV3VGV4dFdyaXRlck1lbW9yeTsKKyAgeG1sTmV3VGV4dFdyaXRlcjsKKyAgeG1sVGV4dFdyaXRlckVuZEF0dHJpYnV0ZTsKKyAgeG1sVGV4dFdyaXRlckVuZENEQVRBOworICB4bWxUZXh0V3JpdGVyRW5kRG9jdW1lbnQ7CisgIHhtbFRleHRXcml0ZXJFbmREVEQ7CisgIHhtbFRleHRXcml0ZXJFbmRFbGVtZW50OworICB4bWxUZXh0V3JpdGVyRW5kUEk7CisgIHhtbFRleHRXcml0ZXJGbHVzaDsKKyAgeG1sVGV4dFdyaXRlckZ1bGxFbmRFbGVtZW50OworICB4bWxUZXh0V3JpdGVyU3RhcnRBdHRyaWJ1dGVOUzsKKyAgeG1sVGV4dFdyaXRlclN0YXJ0QXR0cmlidXRlOworICB4bWxUZXh0V3JpdGVyU3RhcnRDREFUQTsKKyAgeG1sVGV4dFdyaXRlclN0YXJ0RG9jdW1lbnQ7CisgIHhtbFRleHRXcml0ZXJTdGFydERUREF0dGxpc3Q7CisgIHhtbFRleHRXcml0ZXJTdGFydERUREVsZW1lbnQ7CisgIHhtbFRleHRXcml0ZXJTdGFydERUREVudGl0eTsKKyAgeG1sVGV4dFdyaXRlclN0YXJ0RFREOworICB4bWxUZXh0V3JpdGVyU3RhcnRFbGVtZW50TlM7CisgIHhtbFRleHRXcml0ZXJTdGFydEVsZW1lbnQ7CisgIHhtbFRleHRXcml0ZXJTdGFydFBJOworICB4bWxUZXh0V3JpdGVyV3JpdGVBdHRyaWJ1dGVOUzsKKyAgeG1sVGV4dFdyaXRlcldyaXRlQXR0cmlidXRlOworICB4bWxUZXh0V3JpdGVyV3JpdGVCYXNlNjQ7CisgIHhtbFRleHRXcml0ZXJXcml0ZUJpbkhleDsKKyAgeG1sVGV4dFdyaXRlcldyaXRlQ0RBVEE7CisgIHhtbFRleHRXcml0ZXJXcml0ZUNvbW1lbnQ7CisgIHhtbFRleHRXcml0ZXJXcml0ZURUREF0dGxpc3Q7CisgIHhtbFRleHRXcml0ZXJXcml0ZURUREVsZW1lbnQ7CisgIHhtbFRleHRXcml0ZXJXcml0ZURUREVudGl0eTsKKyAgeG1sVGV4dFdyaXRlcldyaXRlRFRERXh0ZXJuYWxFbnRpdHk7CisgIHhtbFRleHRXcml0ZXJXcml0ZURUREludGVybmFsRW50aXR5OworICB4bWxUZXh0V3JpdGVyV3JpdGVEVEROb3RhdGlvbjsKKyAgeG1sVGV4dFdyaXRlcldyaXRlRFREOworICB4bWxUZXh0V3JpdGVyV3JpdGVFbGVtZW50TlM7CisgIHhtbFRleHRXcml0ZXJXcml0ZUVsZW1lbnQ7CisgIHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdEF0dHJpYnV0ZU5TOworICB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRBdHRyaWJ1dGU7CisgIHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdENEQVRBOworICB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRDb21tZW50OworICB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVERBdHRsaXN0OworICB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVERFbGVtZW50OworICB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVERJbnRlcm5hbEVudGl0eTsKKyAgeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFREOworICB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRFbGVtZW50TlM7CisgIHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdEVsZW1lbnQ7CisgIHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdFBJOworICB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRSYXc7CisgIHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdFN0cmluZzsKKyAgeG1sVGV4dFdyaXRlcldyaXRlUEk7CisgIHhtbFRleHRXcml0ZXJXcml0ZVJhd0xlbjsKKyAgeG1sVGV4dFdyaXRlcldyaXRlUmF3OworICB4bWxUZXh0V3JpdGVyV3JpdGVTdHJpbmc7CisgIHhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRBdHRyaWJ1dGVOUzsKKyAgeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEF0dHJpYnV0ZTsKKyAgeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdENEQVRBOworICB4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0Q29tbWVudDsKKyAgeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREF0dGxpc3Q7CisgIHhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVERFbGVtZW50OworICB4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFRESW50ZXJuYWxFbnRpdHk7CisgIHhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVEQ7CisgIHhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRFbGVtZW50TlM7CisgIHhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRFbGVtZW50OworICB4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0UEk7CisgIHhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRSYXc7CisgIHhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRTdHJpbmc7CisKKyMgaGFzaAorICB4bWxIYXNoUUxvb2t1cDI7CisgIHhtbEhhc2hRTG9va3VwMzsKKyAgeG1sSGFzaFFMb29rdXA7CisKKyMgY2h2YWxpZAorICB4bWxJc0Jhc2VDaGFyR3JvdXA7ICMgdmFyaWFibGUKKyAgeG1sSXNDaGFyR3JvdXA7ICMgdmFyaWFibGUKKyAgeG1sSXNDb21iaW5pbmdHcm91cDsgIyB2YXJpYWJsZQorICB4bWxJc0RpZ2l0R3JvdXA7ICMgdmFyaWFibGUKKyAgeG1sSXNFeHRlbmRlckdyb3VwOyAjIHZhcmlhYmxlCisgIHhtbElzSWRlb2dyYXBoaWNHcm91cDsgIyB2YXJpYWJsZQorICB4bWxJc1B1YmlkQ2hhcl90YWI7ICMgdmFyaWFibGUKKworIyBnbG9iYWxzCisgIHhtbExhc3RFcnJvcjsgIyB2YXJpYWJsZQorCisjIG5hbm9odHRwCisgIHhtbE5hbm9IVFRQRW5jb2Rpbmc7CisgIHhtbE5hbm9IVFRQTWltZVR5cGU7CisgIHhtbE5hbm9IVFRQUmVkaXI7CisKKyMgdHJlZQorICB4bWxOb2RlQnVmR2V0Q29udGVudDsKKworIyB4bWxJTworICB4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZVN0YXRpYzsKKworIyB4bWxyZWFkZXIKKyAgeG1sUmVhZGVyRm9yRG9jOworICB4bWxSZWFkZXJGb3JGZDsKKyAgeG1sUmVhZGVyRm9yRmlsZTsKKyAgeG1sUmVhZGVyRm9ySU87CisgIHhtbFJlYWRlckZvck1lbW9yeTsKKyAgeG1sUmVhZGVyTmV3RG9jOworICB4bWxSZWFkZXJOZXdGZDsKKyAgeG1sUmVhZGVyTmV3RmlsZTsKKyAgeG1sUmVhZGVyTmV3SU87CisgIHhtbFJlYWRlck5ld01lbW9yeTsKKyAgeG1sUmVhZGVyTmV3V2Fsa2VyOworICB4bWxSZWFkZXJXYWxrZXI7CisgIHhtbFRleHRSZWFkZXJDb25zdEJhc2VVcmk7CisgIHhtbFRleHRSZWFkZXJDb25zdExvY2FsTmFtZTsKKyAgeG1sVGV4dFJlYWRlckNvbnN0TmFtZXNwYWNlVXJpOworICB4bWxUZXh0UmVhZGVyQ29uc3ROYW1lOworICB4bWxUZXh0UmVhZGVyQ29uc3RQcmVmaXg7CisgIHhtbFRleHRSZWFkZXJDb25zdFN0cmluZzsKKyAgeG1sVGV4dFJlYWRlckNvbnN0VmFsdWU7CisgIHhtbFRleHRSZWFkZXJDb25zdFhtbExhbmc7CisgIHhtbFRleHRSZWFkZXJOZXh0U2libGluZzsKKyAgeG1sVGV4dFJlYWRlclByZXNlcnZlOworCisjIGdsb2JhbHMKKyAgeG1sU3RydWN0dXJlZEVycm9yOyAjIHZhcmlhYmxlCisgIHhtbFRockRlZlNldFN0cnVjdHVyZWRFcnJvckZ1bmM7CisKKyMgeHBhdGhJbnRlcm5hbHMKKyAgeG1sWFBhdGhFcnI7CisKKyMgU0FYMgorIyB4bWxTQVgyQ2hlY2tOYW1lc3BhY2U7IHJlbW92ZWQgaW4gMi42LjEwCisjIHhtbFNBWDJHZXROYW1lc3BhY2U7IHJlbW92ZWQgaW4gMi42LjEwCisjIHhtbFNBWDJHbG9iYWxOYW1lc3BhY2U7IHJlbW92ZWQgaW4gMi42LjEwCisjIHhtbFNBWDJOYW1lc3BhY2VEZWNsOyByZW1vdmVkIGluIDIuNi4xMAorIyB4bWxTQVgyU2V0TmFtZXNwYWNlOyByZW1vdmVkIGluIDIuNi4xMAorfSBMSUJYTUwyXzIuNS45OworCitMSUJYTUwyXzIuNi4xIHsKKyAgICBnbG9iYWw6CisKKyMgcGFyc2VyCisgIHhtbEN0eHRSZXNldFB1c2g7Cit9IExJQlhNTDJfMi42LjA7CisKK0xJQlhNTDJfMi42LjIgeworICAgIGdsb2JhbDoKKworIyBwYXJzZXJJbnRlcm5hbHMKKyAgeG1sQ3JlYXRlVVJMUGFyc2VyQ3R4dDsKKworIyB4bWxzY2hlbWFzCisgIHhtbFNjaGVtYU5ld0RvY1BhcnNlckN0eHQ7CisKKyMgeG1sc3RyaW5nCisgIHhtbFN0clZQcmludGY7CisKKyMgeGluY2x1ZGUKKyAgeG1sWEluY2x1ZGVGcmVlQ29udGV4dDsKKyAgeG1sWEluY2x1ZGVOZXdDb250ZXh0OworICB4bWxYSW5jbHVkZVByb2Nlc3NOb2RlOworfSBMSUJYTUwyXzIuNi4xOworCitMSUJYTUwyXzIuNi4zIHsKKyAgICBnbG9iYWw6CisKKyMgcGF0dGVybgorICB4bWxGcmVlUGF0dGVybkxpc3Q7CisgIHhtbEZyZWVQYXR0ZXJuOworICB4bWxQYXR0ZXJuY29tcGlsZTsKKyAgeG1sUGF0dGVybk1hdGNoOworCisjIHhtbHdyaXRlcgorICB4bWxOZXdUZXh0V3JpdGVyRG9jOworICB4bWxOZXdUZXh0V3JpdGVyUHVzaFBhcnNlcjsKKyAgeG1sTmV3VGV4dFdyaXRlclRyZWU7CisKKyMgeG1scmVhZGVyCisgIHhtbFRleHRSZWFkZXJQcmVzZXJ2ZVBhdHRlcm47CisKKyMgeG1sdW5pY29kZQorICB4bWxVQ1NJc0FlZ2Vhbk51bWJlcnM7CisgIHhtbFVDU0lzQnVoaWQ7CisgIHhtbFVDU0lzQ29tYmluaW5nRGlhY3JpdGljYWxNYXJrc2ZvclN5bWJvbHM7CisgIHhtbFVDU0lzQ3lwcmlvdFN5bGxhYmFyeTsKKyAgeG1sVUNTSXNDeXJpbGxpY1N1cHBsZW1lbnQ7CisgIHhtbFVDU0lzR3JlZWthbmRDb3B0aWM7CisgIHhtbFVDU0lzSGFudW5vbzsKKyAgeG1sVUNTSXNLYXRha2FuYVBob25ldGljRXh0ZW5zaW9uczsKKyAgeG1sVUNTSXNLaG1lclN5bWJvbHM7CisgIHhtbFVDU0lzTGltYnU7CisgIHhtbFVDU0lzTGluZWFyQklkZW9ncmFtczsKKyAgeG1sVUNTSXNMaW5lYXJCU3lsbGFiYXJ5OworICB4bWxVQ1NJc01pc2NlbGxhbmVvdXNNYXRoZW1hdGljYWxTeW1ib2xzQTsKKyAgeG1sVUNTSXNNaXNjZWxsYW5lb3VzTWF0aGVtYXRpY2FsU3ltYm9sc0I7CisgIHhtbFVDU0lzTWlzY2VsbGFuZW91c1N5bWJvbHNhbmRBcnJvd3M7CisgIHhtbFVDU0lzT3NtYW55YTsKKyAgeG1sVUNTSXNQaG9uZXRpY0V4dGVuc2lvbnM7CisgIHhtbFVDU0lzUHJpdmF0ZVVzZUFyZWE7CisgIHhtbFVDU0lzU2hhdmlhbjsKKyAgeG1sVUNTSXNTdXBwbGVtZW50YWxBcnJvd3NBOworICB4bWxVQ1NJc1N1cHBsZW1lbnRhbEFycm93c0I7CisgIHhtbFVDU0lzU3VwcGxlbWVudGFsTWF0aGVtYXRpY2FsT3BlcmF0b3JzOworICB4bWxVQ1NJc1N1cHBsZW1lbnRhcnlQcml2YXRlVXNlQXJlYUE7CisgIHhtbFVDU0lzU3VwcGxlbWVudGFyeVByaXZhdGVVc2VBcmVhQjsKKyAgeG1sVUNTSXNUYWdhbG9nOworICB4bWxVQ1NJc1RhZ2JhbndhOworICB4bWxVQ1NJc1RhaUxlOworICB4bWxVQ1NJc1RhaVh1YW5KaW5nU3ltYm9sczsKKyAgeG1sVUNTSXNVZ2FyaXRpYzsKKyAgeG1sVUNTSXNWYXJpYXRpb25TZWxlY3RvcnNTdXBwbGVtZW50OworICB4bWxVQ1NJc1ZhcmlhdGlvblNlbGVjdG9yczsKKyAgeG1sVUNTSXNZaWppbmdIZXhhZ3JhbVN5bWJvbHM7CisKKyMgeGluY2x1ZGUKKyAgeG1sWEluY2x1ZGVQcm9jZXNzRmxhZ3M7CisgIHhtbFhJbmNsdWRlUHJvY2Vzc1RyZWVGbGFnczsKKyAgeG1sWEluY2x1ZGVTZXRGbGFnczsKK30gTElCWE1MMl8yLjYuMjsKKworTElCWE1MMl8yLjYuNSB7CisgICAgZ2xvYmFsOgorCisjIHhtbG1lbW9yeQorICB4bWxDbGVhbnVwTWVtb3J5OworCisjIGRpY3QKKyAgeG1sRGljdENyZWF0ZVN1YjsKKworIyByZWxheG5nCisgIHhtbFJlbGF4UGFyc2VyU2V0RmxhZzsKKworIyB4bWxzdHJpbmcKKyAgeG1sU3RybmNhdE5ldzsKKworIyB4bWx3cml0ZXIKKyAgeG1sVGV4dFdyaXRlclNldEluZGVudFN0cmluZzsKKyAgeG1sVGV4dFdyaXRlclNldEluZGVudDsKKworIyB4cGF0aAorICB4bWxYUGF0aEN0eHRDb21waWxlOworfSBMSUJYTUwyXzIuNi4zOworCitMSUJYTUwyXzIuNi42IHsKKyAgICBnbG9iYWw6CisKKyMgdHJlZQorICB4bWxBdHRyU2VyaWFsaXplVHh0Q29udGVudDsKKworIyBwYXJzZXIKKyAgeG1sQnl0ZUNvbnN1bWVkOworCisjIHhtbHJlYWRlcgorICB4bWxUZXh0UmVhZGVyU2V0U3RydWN0dXJlZEVycm9ySGFuZGxlcjsKK30gTElCWE1MMl8yLjYuNTsKKworTElCWE1MMl8yLjYuNyB7CisgICAgZ2xvYmFsOgorCisjIHhtbHdyaXRlcgorICB4bWxUZXh0V3JpdGVyRW5kQ29tbWVudDsKKyAgeG1sVGV4dFdyaXRlclN0YXJ0Q29tbWVudDsKK30gTElCWE1MMl8yLjYuNjsKKworTElCWE1MMl8yLjYuOCB7CisgICAgZ2xvYmFsOgorCisjIHhtbHNhdmUKKyAgeG1sU2F2ZUNsb3NlOworICB4bWxTYXZlRG9jOworICB4bWxTYXZlRmx1c2g7CisgIHhtbFNhdmVUb0ZkOworICB4bWxTYXZlVG9GaWxlbmFtZTsKKyAgeG1sU2F2ZVRvSU87CisgIHhtbFNhdmVUcmVlOworCisjIHhtbHdyaXRlcgorICB4bWxUZXh0V3JpdGVyRW5kRFREQXR0bGlzdDsKKyAgeG1sVGV4dFdyaXRlckVuZERUREVsZW1lbnQ7CisgIHhtbFRleHRXcml0ZXJFbmREVERFbnRpdHk7CisgIHhtbFRleHRXcml0ZXJXcml0ZURUREV4dGVybmFsRW50aXR5Q29udGVudHM7Cit9IExJQlhNTDJfMi42Ljc7CisKK0xJQlhNTDJfMi42LjEwIHsKKyAgICBnbG9iYWw6CisKKyMgeG1sSU8KKyAgeG1sT3V0cHV0QnVmZmVyV3JpdGVFc2NhcGU7CisgIHhtbFBvcElucHV0Q2FsbGJhY2tzOworCisjIHhtbHNhdmUKKyAgeG1sU2F2ZVNldEF0dHJFc2NhcGU7CisgIHhtbFNhdmVTZXRFc2NhcGU7Cit9IExJQlhNTDJfMi42Ljg7CisKK0xJQlhNTDJfMi42LjExIHsKKyAgICBnbG9iYWw6CisKKyMgdXJpCisgIHhtbEJ1aWxkUmVsYXRpdmVVUkk7CisKKyMgZ2xvYmFscworICB4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQ7CisgIHhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lVmFsdWU7ICMgdmFyaWFibGUKKyAgeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQ7CisgIHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVWYWx1ZTsgIyB2YXJpYWJsZQorICB4bWxUaHJEZWZPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQ7CisgIHhtbFRockRlZlBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0OworCisjIHNjaGVtYXNJbnRlcm5hbHMKKyAgeG1sU2NoZW1hRnJlZVdpbGRjYXJkOworCisjIHhtbHNjaGVtYXN0eXBlcworICB4bWxTY2hlbWFDb2xsYXBzZVN0cmluZzsKKyAgeG1sU2NoZW1hR2V0QnVpbHRJbkxpc3RTaW1wbGVUeXBlSXRlbVR5cGU7CisgIHhtbFNjaGVtYUdldEJ1aWx0SW5UeXBlOworICB4bWxTY2hlbWFJc0J1aWx0SW5UeXBlRmFjZXQ7CisgIHhtbFNjaGVtYVZhbGlkYXRlTGlzdFNpbXBsZVR5cGVGYWNldDsKK30gTElCWE1MMl8yLjYuMTA7CisKK0xJQlhNTDJfMi42LjEyIHsKKyAgICBnbG9iYWw6CisKKyMgcGFyc2VyCisgIHhtbFBhcnNlSW5Ob2RlQ29udGV4dDsKKworIyB4bWxzY2hlbWFzdHlwZXMKKyAgeG1sU2NoZW1hR2V0RmFjZXRWYWx1ZUFzVUxvbmc7CisgIHhtbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXQ7CisgIHhtbFNjaGVtYVZhbFByZWRlZlR5cGVOb2RlTm9Ob3JtOworCisjIHhtbHNjaGVtYXMKKyAgeG1sU2NoZW1hR2V0UGFyc2VyRXJyb3JzOworICB4bWxTY2hlbWFHZXRWYWxpZEVycm9yczsKK30gTElCWE1MMl8yLjYuMTE7CisKK0xJQlhNTDJfMi42LjE0IHsKKyAgICBnbG9iYWw6CisKKyMgeG1sYXV0b21hdGEKKyAgeG1sQXV0b21hdGFOZXdDb3VudFRyYW5zMjsKKyAgeG1sQXV0b21hdGFOZXdPbmNlVHJhbnMyOworCisjIG5hbm9odHRwCisgIHhtbE5hbm9IVFRQQ29udGVudExlbmd0aDsKKworIyB4bWxzY2hlbWFzCisgIHhtbFNjaGVtYVNldFZhbGlkT3B0aW9uczsKKyAgeG1sU2NoZW1hVmFsaWRhdGVPbmVFbGVtZW50OworICB4bWxTY2hlbWFWYWxpZEN0eHRHZXRPcHRpb25zOworfSBMSUJYTUwyXzIuNi4xMjsKKworTElCWE1MMl8yLjYuMTUgeworICAgIGdsb2JhbDoKKworIyBkZWJ1Z1hNTAorICB4bWxEZWJ1Z0NoZWNrRG9jdW1lbnQ7CisKKyMgdHJlZQorICB4bWxEb2NDb3B5Tm9kZUxpc3Q7CisgIHhtbE5ld0RvY1BJOworCisjIHhtbHJlYWRlcgorICB4bWxUZXh0UmVhZGVyQ29uc3RFbmNvZGluZzsKKyAgeG1sVGV4dFJlYWRlckNvbnN0WG1sVmVyc2lvbjsKKyAgeG1sVGV4dFJlYWRlcklzTmFtZXNwYWNlRGVjbDsKKyAgeG1sVGV4dFJlYWRlclN0YW5kYWxvbmU7Cit9IExJQlhNTDJfMi42LjE0OworCitMSUJYTUwyXzIuNi4xNiB7CisgICAgZ2xvYmFsOgorCisjIHhtbG1lbW9yeQorICB4bWxNZW1CbG9ja3M7CisKKyMgcmVsYXhuZworICB4bWxSZWxheE5HSW5pdFR5cGVzOworfSBMSUJYTUwyXzIuNi4xNTsKKworTElCWE1MMl8yLjYuMTcgeworICAgIGdsb2JhbDoKKworIyBkaWN0CisgIHhtbERpY3RFeGlzdHM7CisKKyMgeG1sbW9kdWxlCisgIHhtbE1vZHVsZUNsb3NlOworICB4bWxNb2R1bGVGcmVlOworICB4bWxNb2R1bGVPcGVuOworICB4bWxNb2R1bGVTeW1ib2w7CisKKyMgeG1scmVnZXhwCisgIHhtbFJlZ0V4ZWNFcnJJbmZvOworICB4bWxSZWdFeGVjTmV4dFZhbHVlczsKKworIyB4bWxzY2hlbWFzdHlwZXMKKyAgeG1sU2NoZW1hV2hpdGVTcGFjZVJlcGxhY2U7CisKKyMgeG1scmVhZGVyCisgIHhtbFRleHRSZWFkZXJHZXRQYXJzZXJDb2x1bW5OdW1iZXI7CisgIHhtbFRleHRSZWFkZXJHZXRQYXJzZXJMaW5lTnVtYmVyOworfSBMSUJYTUwyXzIuNi4xNjsKKworTElCWE1MMl8yLjYuMTggeworICAgIGdsb2JhbDoKKworIyB2YWxpZAorICB4bWxDb3B5RG9jRWxlbWVudENvbnRlbnQ7CisgIHhtbEZyZWVEb2NFbGVtZW50Q29udGVudDsKKyAgeG1sTmV3RG9jRWxlbWVudENvbnRlbnQ7CisKKyMgZGljdAorICB4bWxEaWN0Q2xlYW51cDsKKworIyBoYXNoCisgIHhtbEhhc2hDcmVhdGVEaWN0OworCisjIHBhdHRlcm4KKyAgeG1sRnJlZVN0cmVhbUN0eHQ7CisgIHhtbFBhdHRlcm5Gcm9tUm9vdDsKKyAgeG1sUGF0dGVybkdldFN0cmVhbUN0eHQ7CisgIHhtbFBhdHRlcm5NYXhEZXB0aDsKKyAgeG1sUGF0dGVyblN0cmVhbWFibGU7CisgIHhtbFN0cmVhbVBvcDsKKyAgeG1sU3RyZWFtUHVzaEF0dHI7CisgIHhtbFN0cmVhbVB1c2g7CisKKyMgeG1sc2NoZW1hc3R5cGVzCisgIHhtbFNjaGVtYUNvbXBhcmVWYWx1ZXNXaHRzcDsKKyAgeG1sU2NoZW1hQ29weVZhbHVlOworICB4bWxTY2hlbWFHZXRDYW5vblZhbHVlOworICB4bWxTY2hlbWFOZXdOT1RBVElPTlZhbHVlOworICB4bWxTY2hlbWFOZXdTdHJpbmdWYWx1ZTsKKworIyB4bWxyZWFkZXIKKyAgeG1sVGV4dFJlYWRlckJ5dGVDb25zdW1lZDsKK30gTElCWE1MMl8yLjYuMTc7CisKK0xJQlhNTDJfMi42LjE5IHsKKyAgICBnbG9iYWw6CisKKyMgeG1sc2NoZW1hc3R5cGVzCisgIHhtbFNjaGVtYUdldFZhbFR5cGU7CisgIHhtbFNjaGVtYVZhbGlkYXRlRmFjZXRXaHRzcDsKKyAgeG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldFdodHNwOworfSBMSUJYTUwyXzIuNi4xODsKKworTElCWE1MMl8yLjYuMjAgeworICAgIGdsb2JhbDoKKworIyB0cmVlCisgIHhtbERPTVdyYXBBZG9wdE5vZGU7CisgIHhtbERPTVdyYXBGcmVlQ3R4dDsKKyAgeG1sRE9NV3JhcE5ld0N0eHQ7CisgIHhtbERPTVdyYXBSZWNvbmNpbGVOYW1lc3BhY2VzOworICB4bWxET01XcmFwUmVtb3ZlTm9kZTsKKworIyB4bWxzY2hlbWFzdHlwZXMKKyAgeG1sU2NoZW1hR2V0Q2Fub25WYWx1ZVdodHNwOworICB4bWxTY2hlbWFOZXdRTmFtZVZhbHVlOworICB4bWxTY2hlbWFWYWx1ZUFwcGVuZDsKKyAgeG1sU2NoZW1hVmFsdWVHZXRBc0Jvb2xlYW47CisgIHhtbFNjaGVtYVZhbHVlR2V0QXNTdHJpbmc7CisgIHhtbFNjaGVtYVZhbHVlR2V0TmV4dDsKKworIyB4bWxzY2hlbWFzCisgIHhtbFNjaGVtYUlzVmFsaWQ7CisgIHhtbFNjaGVtYVNBWFBsdWc7CisgIHhtbFNjaGVtYVNBWFVucGx1ZzsKKyAgeG1sU2NoZW1hVmFsaWRhdGVGaWxlOworCisjIHhtbHJlYWRlcgorICB4bWxUZXh0UmVhZGVyU2NoZW1hVmFsaWRhdGU7CisgIHhtbFRleHRSZWFkZXJTZXRTY2hlbWE7Cit9IExJQlhNTDJfMi42LjE5OworCitMSUJYTUwyXzIuNi4yMSB7CisgICAgZ2xvYmFsOgorCisjIHhtbGF1dG9tYXRhCisgIHhtbEF1dG9tYXRhTmV3TmVnVHJhbnM7CisKKyMgeG1scmVnZXhwCisgIGVtcHR5RXhwOyAjIHZhcmlhYmxlCisgIGZvcmJpZGRlbkV4cDsgIyB2YXJpYWJsZQorICB4bWxFeHBDdHh0TmJDb25zOworICB4bWxFeHBDdHh0TmJOb2RlczsKKyAgeG1sRXhwRHVtcDsKKyAgeG1sRXhwRXhwRGVyaXZlOworICB4bWxFeHBGcmVlQ3R4dDsKKyAgeG1sRXhwRnJlZTsKKyAgeG1sRXhwR2V0TGFuZ3VhZ2U7CisgIHhtbEV4cEdldFN0YXJ0OworICB4bWxFeHBJc05pbGxhYmxlOworICB4bWxFeHBNYXhUb2tlbjsKKyAgeG1sRXhwTmV3QXRvbTsKKyAgeG1sRXhwTmV3Q3R4dDsKKyAgeG1sRXhwTmV3T3I7CisgIHhtbEV4cE5ld1JhbmdlOworICB4bWxFeHBOZXdTZXE7CisgIHhtbEV4cFBhcnNlOworICB4bWxFeHBSZWY7CisgIHhtbEV4cFN0cmluZ0Rlcml2ZTsKKyAgeG1sRXhwU3Vic3VtZTsKKworIyBwYXJzZXIKKyAgeG1sSGFzRmVhdHVyZTsKKworIyB1cmkKKyAgeG1sUGFyc2VVUklSYXc7CisKKyMgcGF0dGVybgorICB4bWxQYXR0ZXJuTWluRGVwdGg7CisKKyMgcmVsYXhuZworICB4bWxSZWxheE5HU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzOworCisjIHhtbHNjaGVtYXMKKyAgeG1sU2NoZW1hU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzOworCisjIHNjaGVtYXRyb24KKyAgeG1sU2NoZW1hdHJvbkZyZWVQYXJzZXJDdHh0OworICB4bWxTY2hlbWF0cm9uRnJlZTsKKyAgeG1sU2NoZW1hdHJvbkZyZWVWYWxpZEN0eHQ7CisgIHhtbFNjaGVtYXRyb25OZXdEb2NQYXJzZXJDdHh0OworICB4bWxTY2hlbWF0cm9uTmV3TWVtUGFyc2VyQ3R4dDsKKyAgeG1sU2NoZW1hdHJvbk5ld1BhcnNlckN0eHQ7CisgIHhtbFNjaGVtYXRyb25OZXdWYWxpZEN0eHQ7CisgIHhtbFNjaGVtYXRyb25QYXJzZTsKKyAgeG1sU2NoZW1hdHJvblZhbGlkYXRlRG9jOworfSBMSUJYTUwyXzIuNi4yMDsKKworTElCWE1MMl8yLjYuMjMgeworICAgIGdsb2JhbDoKKworIyBIVE1MdHJlZQorICBodG1sRG9jRHVtcE1lbW9yeUZvcm1hdDsKKworIyB4bWxJTworICB4bWxPdXRwdXRCdWZmZXJDcmVhdGVCdWZmZXI7CisKKyMgeG1sc2F2ZQorICB4bWxTYXZlVG9CdWZmZXI7IyBzdXBwcmVzc2VkIGluIDIuNi4xMSwgcmVhZGRlZCBpbiAyLjYuMjMKKworCisjIHhtbHNjaGVtYXMKKyAgeG1sU2NoZW1hU2V0UGFyc2VyU3RydWN0dXJlZEVycm9yczsKKworIyBwYXR0ZXJuCisgIHhtbFN0cmVhbVB1c2hOb2RlOworICB4bWxTdHJlYW1XYW50c0FueU5vZGU7CisKKyMgeG1scmVhZGVyCisgIHhtbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZUN0eHQ7Cit9IExJQlhNTDJfMi42LjIxOworCitMSUJYTUwyXzIuNi4yNCB7CisgICAgZ2xvYmFsOgorCisjIHRyZWUKKyAgeG1sRE9NV3JhcENsb25lTm9kZTsKKworIyByZWxheG5nCisgIHhtbFJlbGF4TkdTZXRQYXJzZXJTdHJ1Y3R1cmVkRXJyb3JzOworfSBMSUJYTUwyXzIuNi4yMzsKKworTElCWE1MMl8yLjYuMjUgeworICAgIGdsb2JhbDoKKworIyB4cGF0aAorICB4bWxYUGF0aENvbnRleHRTZXRDYWNoZTsKK30gTElCWE1MMl8yLjYuMjQ7CisKK0xJQlhNTDJfMi42LjI3IHsKKyAgICBnbG9iYWw6CisKKyMgSFRNTHBhcnNlcgorICBodG1sTmV3UGFyc2VyQ3R4dDsKKworIyB1cmkKKyAgeG1sUGF0aFRvVVJJOworCisjIHhpbmNsdWRlCisgIHhtbFhJbmNsdWRlUHJvY2Vzc0ZsYWdzRGF0YTsKKworIyB4cGF0aAorICB4bWxYUGF0aENvbXBpbGVkRXZhbFRvQm9vbGVhbjsKK30gTElCWE1MMl8yLjYuMjU7CisKK0xJQlhNTDJfMi42LjI4IHsKKyAgICBnbG9iYWw6CisKKyMgeG1scmVhZGVyCisgIHhtbFRleHRSZWFkZXJTZXR1cDsKK30gTElCWE1MMl8yLjYuMjc7CisKK0xJQlhNTDJfMi42LjI5IHsKKyAgICBnbG9iYWw6CisKKyMgdGhyZWFkcworICB4bWxEbGxNYWluOworfSBMSUJYTUwyXzIuNi4yODsKKworTElCWE1MMl8yLjYuMzIgeworICAgIGdsb2JhbDoKKworIyBzY2hlbWF0cm9uCisgIHhtbFNjaGVtYXRyb25TZXRWYWxpZFN0cnVjdHVyZWRFcnJvcnM7Cit9IExJQlhNTDJfMi42LjI5OworCitMSUJYTUwyXzIuNy4wIHsKKyAgICBnbG9iYWw6CisKKyMgeG1sbWVtb3J5CisgIHhtbE1lbURpc3BsYXlMYXN0OworCisjIGVudGl0aWVzCisgIHhtbE5ld0VudGl0eTsKKworIyB4bWxzY2hlbWFzCisgIHhtbFNjaGVtYVZhbGlkQ3R4dEdldFBhcnNlckN0eHQ7Cit9IExJQlhNTDJfMi42LjMyOworCitMSUJYTUwyXzIuNy4zIHsKKyAgICBnbG9iYWw6CisKKyMgdHJlZQorICB4bWxDaGlsZEVsZW1lbnRDb3VudDsKKyAgeG1sRmlyc3RFbGVtZW50Q2hpbGQ7CisgIHhtbExhc3RFbGVtZW50Q2hpbGQ7CisgIHhtbE5leHRFbGVtZW50U2libGluZzsKKyAgeG1sUHJldmlvdXNFbGVtZW50U2libGluZzsKK30gTElCWE1MMl8yLjcuMDsKKworTElCWE1MMl8yLjcuNCB7CisgICAgZ2xvYmFsOgorCisjIGdsb2JhbHMKKyAgeG1sU3RydWN0dXJlZEVycm9yQ29udGV4dDsgIyB2YXJpYWJsZQorCisjIHhpbmNsdWRlCisgIHhtbFhJbmNsdWRlUHJvY2Vzc1RyZWVGbGFnc0RhdGE7Cit9IExJQlhNTDJfMi43LjM7CisKK0xJQlhNTDJfMi44LjAgeworICAgIGdsb2JhbDoKKworIyB4bWxyZWFkZXIKKyAgeG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZUN0eHQ7CisKKyMgdHJlZQorICB4bWxCdWZmZXJEZXRhY2g7CisKKyMgZGljdAorICB4bWxJbml0aWFsaXplRGljdDsKK30gTElCWE1MMl8yLjcuNDsKKworTElCWE1MMl8yLjkuMCB7CisgICAgZ2xvYmFsOgorCisjIHRyZWUKKyAgeG1sQnVmQ29udGVudDsKKyAgeG1sQnVmRW5kOworICB4bWxCdWZHZXROb2RlQ29udGVudDsKKyAgeG1sQnVmTm9kZUR1bXA7CisgIHhtbEJ1ZlNocmluazsKKyAgeG1sQnVmVXNlOworCisjIGRpY3QKKyAgeG1sRGljdEdldFVzYWdlOworICB4bWxEaWN0U2V0TGltaXQ7CisKKyMgeG1sc2NoZW1hcworICB4bWxTY2hlbWFWYWxpZGF0ZVNldEZpbGVuYW1lOworICB4bWxTY2hlbWFWYWxpZGF0ZVNldExvY2F0b3I7CisKKyMgeG1sSU8KKyAgeG1sT3V0cHV0QnVmZmVyR2V0Q29udGVudDsKKyAgeG1sT3V0cHV0QnVmZmVyR2V0U2l6ZTsKKworIyB4bWx3cml0ZXIKKyAgeG1sVGV4dFdyaXRlclNldFF1b3RlQ2hhcjsKK30gTElCWE1MMl8yLjguMDsKKworTElCWE1MMl8yLjkuMSB7CisgICAgZ2xvYmFsOgorCisjIHhwYXRoCisgIHhtbFhQYXRoTm9kZUV2YWw7CisgIHhtbFhQYXRoU2V0Q29udGV4dE5vZGU7Cit9IExJQlhNTDJfMi45LjA7CisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvbGlzdC5jIGIvbGlieG1sMi9saXN0LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDMzZDkyOAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvbGlzdC5jCkBAIC0wLDAgKzEsNzc5IEBACisvKgorICogbGlzdC5jOiBsaXN0cyBoYW5kbGluZyBpbXBsZW1lbnRhdGlvbgorICoKKyAqIENvcHlyaWdodCAoQykgMjAwMCBHYXJ5IFBlbm5pbmd0b24gYW5kIERhbmllbCBWZWlsbGFyZC4KKyAqCisgKiBQZXJtaXNzaW9uIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGZvciBhbnkKKyAqIHB1cnBvc2Ugd2l0aCBvciB3aXRob3V0IGZlZSBpcyBoZXJlYnkgZ3JhbnRlZCwgcHJvdmlkZWQgdGhhdCB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2UgYXBwZWFyIGluIGFsbCBjb3BpZXMuCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBgYEFTIElTJycgQU5EIFdJVEhPVVQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRAorICogV0FSUkFOVElFUywgSU5DTFVESU5HLCBXSVRIT1VUIExJTUlUQVRJT04sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyAqIE1FUkNIQU5USUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFRIRSBBVVRIT1JTIEFORAorICogQ09OVFJJQlVUT1JTIEFDQ0VQVCBOTyBSRVNQT05TSUJJTElUWSBJTiBBTlkgQ09OQ0VJVkFCTEUgTUFOTkVSLgorICoKKyAqIEF1dGhvcjogR2FyeS5QZW5uaW5ndG9uQHVrLnN1bi5jb20KKyAqLworCisjZGVmaW5lIElOX0xJQlhNTAorI2luY2x1ZGUgImxpYnhtbC5oIgorCisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8bGlieG1sL3htbG1lbW9yeS5oPgorI2luY2x1ZGUgPGxpYnhtbC9saXN0Lmg+CisjaW5jbHVkZSA8bGlieG1sL2dsb2JhbHMuaD4KKworLyoKKyAqIFR5cGUgZGVmaW5pdGlvbiBhcmUga2VwdCBpbnRlcm5hbAorICovCisKK3N0cnVjdCBfeG1sTGluaworeworICAgIHN0cnVjdCBfeG1sTGluayAqbmV4dDsKKyAgICBzdHJ1Y3QgX3htbExpbmsgKnByZXY7CisgICAgdm9pZCAqZGF0YTsKK307CisKK3N0cnVjdCBfeG1sTGlzdAoreworICAgIHhtbExpbmtQdHIgc2VudGluZWw7CisgICAgdm9pZCAoKmxpbmtEZWFsbG9jYXRvcikoeG1sTGlua1B0ciApOworICAgIGludCAoKmxpbmtDb21wYXJlKShjb25zdCB2b2lkICosIGNvbnN0IHZvaWQqKTsKK307CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgorICogICAgICAgICAgICAgICAgSW50ZXJmYWNlcyAgICAgICAgICAgICAgICAqCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKgorICogeG1sTGlua0RlYWxsb2NhdG9yOgorICogQGw6ICBhIGxpc3QKKyAqIEBsazogIGEgbGluaworICoKKyAqIFVubGluayBhbmQgZGVhbGxvY2F0ZSBAbGsgZnJvbSBsaXN0IEBsCisgKi8KK3N0YXRpYyB2b2lkCit4bWxMaW5rRGVhbGxvY2F0b3IoeG1sTGlzdFB0ciBsLCB4bWxMaW5rUHRyIGxrKQoreworICAgIChsay0+cHJldiktPm5leHQgPSBsay0+bmV4dDsKKyAgICAobGstPm5leHQpLT5wcmV2ID0gbGstPnByZXY7CisgICAgaWYobC0+bGlua0RlYWxsb2NhdG9yKQorICAgICAgICBsLT5saW5rRGVhbGxvY2F0b3IobGspOworICAgIHhtbEZyZWUobGspOworfQorCisvKioKKyAqIHhtbExpbmtDb21wYXJlOgorICogQGRhdGEwOiAgZmlyc3QgZGF0YQorICogQGRhdGExOiAgc2Vjb25kIGRhdGEKKyAqCisgKiBDb21wYXJlcyB0d28gYXJiaXRyYXJ5IGRhdGEKKyAqCisgKiBSZXR1cm5zIC0xLCAwIG9yIDEgZGVwZW5kaW5nIG9uIHdoZXRoZXIgZGF0YTEgaXMgZ3JlYXRlciBlcXVhbCBvciBzbWFsbGVyCisgKiAgICAgICAgICB0aGFuIGRhdGEwCisgKi8KK3N0YXRpYyBpbnQKK3htbExpbmtDb21wYXJlKGNvbnN0IHZvaWQgKmRhdGEwLCBjb25zdCB2b2lkICpkYXRhMSkKK3sKKyAgICBpZiAoZGF0YTAgPCBkYXRhMSkKKyAgICAgICAgcmV0dXJuICgtMSk7CisgICAgZWxzZSBpZiAoZGF0YTAgPT0gZGF0YTEpCisJcmV0dXJuICgwKTsKKyAgICByZXR1cm4gKDEpOworfQorCisvKioKKyAqIHhtbExpc3RMb3dlclNlYXJjaDoKKyAqIEBsOiAgYSBsaXN0CisgKiBAZGF0YTogIGEgZGF0YQorICoKKyAqIFNlYXJjaCBkYXRhIGluIHRoZSBvcmRlcmVkIGxpc3Qgd2Fsa2luZyBmcm9tIHRoZSBiZWdpbm5pbmcKKyAqCisgKiBSZXR1cm5zIHRoZSBsaW5rIGNvbnRhaW5pbmcgdGhlIGRhdGEgb3IgTlVMTAorICovCitzdGF0aWMgeG1sTGlua1B0cgoreG1sTGlzdExvd2VyU2VhcmNoKHhtbExpc3RQdHIgbCwgdm9pZCAqZGF0YSkKK3sKKyAgICB4bWxMaW5rUHRyIGxrOworCisgICAgaWYgKGwgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuKE5VTEwpOworICAgIGZvcihsayA9IGwtPnNlbnRpbmVsLT5uZXh0O2xrICE9IGwtPnNlbnRpbmVsICYmIGwtPmxpbmtDb21wYXJlKGxrLT5kYXRhLCBkYXRhKSA8MCA7bGsgPSBsay0+bmV4dCk7CisgICAgcmV0dXJuIGxrOworfQorCisvKioKKyAqIHhtbExpc3RIaWdoZXJTZWFyY2g6CisgKiBAbDogIGEgbGlzdAorICogQGRhdGE6ICBhIGRhdGEKKyAqCisgKiBTZWFyY2ggZGF0YSBpbiB0aGUgb3JkZXJlZCBsaXN0IHdhbGtpbmcgYmFja3dhcmQgZnJvbSB0aGUgZW5kCisgKgorICogUmV0dXJucyB0aGUgbGluayBjb250YWluaW5nIHRoZSBkYXRhIG9yIE5VTEwKKyAqLworc3RhdGljIHhtbExpbmtQdHIKK3htbExpc3RIaWdoZXJTZWFyY2goeG1sTGlzdFB0ciBsLCB2b2lkICpkYXRhKQoreworICAgIHhtbExpbmtQdHIgbGs7CisKKyAgICBpZiAobCA9PSBOVUxMKQorICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgZm9yKGxrID0gbC0+c2VudGluZWwtPnByZXY7bGsgIT0gbC0+c2VudGluZWwgJiYgbC0+bGlua0NvbXBhcmUobGstPmRhdGEsIGRhdGEpID4wIDtsayA9IGxrLT5wcmV2KTsKKyAgICByZXR1cm4gbGs7Cit9CisKKy8qKgorICogeG1sTGlzdFNlYXJjaDoKKyAqIEBsOiAgYSBsaXN0CisgKiBAZGF0YTogIGEgZGF0YQorICoKKyAqIFNlYXJjaCBkYXRhIGluIHRoZSBsaXN0CisgKgorICogUmV0dXJucyB0aGUgbGluayBjb250YWluaW5nIHRoZSBkYXRhIG9yIE5VTEwKKyAqLworc3RhdGljIHhtbExpbmtQdHIKK3htbExpc3RMaW5rU2VhcmNoKHhtbExpc3RQdHIgbCwgdm9pZCAqZGF0YSkKK3sKKyAgICB4bWxMaW5rUHRyIGxrOworICAgIGlmIChsID09IE5VTEwpCisgICAgICAgIHJldHVybihOVUxMKTsKKyAgICBsayA9IHhtbExpc3RMb3dlclNlYXJjaChsLCBkYXRhKTsKKyAgICBpZiAobGsgPT0gbC0+c2VudGluZWwpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIGVsc2UgeworICAgICAgICBpZiAobC0+bGlua0NvbXBhcmUobGstPmRhdGEsIGRhdGEpID09MCkKKyAgICAgICAgICAgIHJldHVybiBsazsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorfQorCisvKioKKyAqIHhtbExpc3RMaW5rUmV2ZXJzZVNlYXJjaDoKKyAqIEBsOiAgYSBsaXN0CisgKiBAZGF0YTogIGEgZGF0YQorICoKKyAqIFNlYXJjaCBkYXRhIGluIHRoZSBsaXN0IHByb2Nlc3NpbmcgYmFja3dhcmQKKyAqCisgKiBSZXR1cm5zIHRoZSBsaW5rIGNvbnRhaW5pbmcgdGhlIGRhdGEgb3IgTlVMTAorICovCitzdGF0aWMgeG1sTGlua1B0cgoreG1sTGlzdExpbmtSZXZlcnNlU2VhcmNoKHhtbExpc3RQdHIgbCwgdm9pZCAqZGF0YSkKK3sKKyAgICB4bWxMaW5rUHRyIGxrOworICAgIGlmIChsID09IE5VTEwpCisgICAgICAgIHJldHVybihOVUxMKTsKKyAgICBsayA9IHhtbExpc3RIaWdoZXJTZWFyY2gobCwgZGF0YSk7CisgICAgaWYgKGxrID09IGwtPnNlbnRpbmVsKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBlbHNlIHsKKyAgICAgICAgaWYgKGwtPmxpbmtDb21wYXJlKGxrLT5kYXRhLCBkYXRhKSA9PTApCisgICAgICAgICAgICByZXR1cm4gbGs7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KK30KKworLyoqCisgKiB4bWxMaXN0Q3JlYXRlOgorICogQGRlYWxsb2NhdG9yOiAgYW4gb3B0aW9uYWwgZGVhbGxvY2F0b3IgZnVuY3Rpb24KKyAqIEBjb21wYXJlOiAgYW4gb3B0aW9uYWwgY29tcGFyaXNvbiBmdW5jdGlvbgorICoKKyAqIENyZWF0ZSBhIG5ldyBsaXN0CisgKgorICogUmV0dXJucyB0aGUgbmV3IGxpc3Qgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3htbExpc3RQdHIKK3htbExpc3RDcmVhdGUoeG1sTGlzdERlYWxsb2NhdG9yIGRlYWxsb2NhdG9yLCB4bWxMaXN0RGF0YUNvbXBhcmUgY29tcGFyZSkKK3sKKyAgICB4bWxMaXN0UHRyIGw7CisgICAgaWYgKE5VTEwgPT0gKGwgPSAoeG1sTGlzdFB0ciApeG1sTWFsbG9jKCBzaXplb2YoeG1sTGlzdCkpKSkgeworICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJICAgICAgICAiQ2Fubm90IGluaXRpYWxpemUgbWVtb3J5IGZvciBsaXN0Iik7CisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgfQorICAgIC8qIEluaXRpYWxpemUgdGhlIGxpc3QgdG8gTlVMTCAqLworICAgIG1lbXNldChsLCAwLCBzaXplb2YoeG1sTGlzdCkpOworCisgICAgLyogQWRkIHRoZSBzZW50aW5lbCAqLworICAgIGlmIChOVUxMID09KGwtPnNlbnRpbmVsID0gKHhtbExpbmtQdHIgKXhtbE1hbGxvYyhzaXplb2YoeG1sTGluaykpKSkgeworICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJICAgICAgICAiQ2Fubm90IGluaXRpYWxpemUgbWVtb3J5IGZvciBzZW50aW5lbCIpOworCXhtbEZyZWUobCk7CisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgfQorICAgIGwtPnNlbnRpbmVsLT5uZXh0ID0gbC0+c2VudGluZWw7CisgICAgbC0+c2VudGluZWwtPnByZXYgPSBsLT5zZW50aW5lbDsKKyAgICBsLT5zZW50aW5lbC0+ZGF0YSA9IE5VTEw7CisKKyAgICAvKiBJZiB0aGVyZSBpcyBhIGxpbmsgZGVhbGxvY2F0b3IsIHVzZSBpdCAqLworICAgIGlmIChkZWFsbG9jYXRvciAhPSBOVUxMKQorICAgICAgICBsLT5saW5rRGVhbGxvY2F0b3IgPSBkZWFsbG9jYXRvcjsKKyAgICAvKiBJZiB0aGVyZSBpcyBhIGxpbmsgY29tcGFyYXRvciwgdXNlIGl0ICovCisgICAgaWYgKGNvbXBhcmUgIT0gTlVMTCkKKyAgICAgICAgbC0+bGlua0NvbXBhcmUgPSBjb21wYXJlOworICAgIGVsc2UgLyogVXNlIG91ciBvd24gKi8KKyAgICAgICAgbC0+bGlua0NvbXBhcmUgPSB4bWxMaW5rQ29tcGFyZTsKKyAgICByZXR1cm4gbDsKK30KKworLyoqCisgKiB4bWxMaXN0U2VhcmNoOgorICogQGw6ICBhIGxpc3QKKyAqIEBkYXRhOiAgYSBzZWFyY2ggdmFsdWUKKyAqCisgKiBTZWFyY2ggdGhlIGxpc3QgZm9yIGFuIGV4aXN0aW5nIHZhbHVlIG9mIEBkYXRhCisgKgorICogUmV0dXJucyB0aGUgdmFsdWUgYXNzb2NpYXRlZCB0byBAZGF0YSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IKKyAqLwordm9pZCAqCit4bWxMaXN0U2VhcmNoKHhtbExpc3RQdHIgbCwgdm9pZCAqZGF0YSkKK3sKKyAgICB4bWxMaW5rUHRyIGxrOworICAgIGlmIChsID09IE5VTEwpCisgICAgICAgIHJldHVybihOVUxMKTsKKyAgICBsayA9IHhtbExpc3RMaW5rU2VhcmNoKGwsIGRhdGEpOworICAgIGlmIChsaykKKyAgICAgICAgcmV0dXJuIChsay0+ZGF0YSk7CisgICAgcmV0dXJuIE5VTEw7Cit9CisKKy8qKgorICogeG1sTGlzdFJldmVyc2VTZWFyY2g6CisgKiBAbDogIGEgbGlzdAorICogQGRhdGE6ICBhIHNlYXJjaCB2YWx1ZQorICoKKyAqIFNlYXJjaCB0aGUgbGlzdCBpbiByZXZlcnNlIG9yZGVyIGZvciBhbiBleGlzdGluZyB2YWx1ZSBvZiBAZGF0YQorICoKKyAqIFJldHVybnMgdGhlIHZhbHVlIGFzc29jaWF0ZWQgdG8gQGRhdGEgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3ZvaWQgKgoreG1sTGlzdFJldmVyc2VTZWFyY2goeG1sTGlzdFB0ciBsLCB2b2lkICpkYXRhKQoreworICAgIHhtbExpbmtQdHIgbGs7CisgICAgaWYgKGwgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuKE5VTEwpOworICAgIGxrID0geG1sTGlzdExpbmtSZXZlcnNlU2VhcmNoKGwsIGRhdGEpOworICAgIGlmIChsaykKKyAgICAgICAgcmV0dXJuIChsay0+ZGF0YSk7CisgICAgcmV0dXJuIE5VTEw7Cit9CisKKy8qKgorICogeG1sTGlzdEluc2VydDoKKyAqIEBsOiAgYSBsaXN0CisgKiBAZGF0YTogIHRoZSBkYXRhCisgKgorICogSW5zZXJ0IGRhdGEgaW4gdGhlIG9yZGVyZWQgbGlzdCBhdCB0aGUgYmVnaW5uaW5nIGZvciB0aGlzIHZhbHVlCisgKgorICogUmV0dXJucyAwIGluIGNhc2Ugb2Ygc3VjY2VzcywgMSBpbiBjYXNlIG9mIGZhaWx1cmUKKyAqLworaW50Cit4bWxMaXN0SW5zZXJ0KHhtbExpc3RQdHIgbCwgdm9pZCAqZGF0YSkKK3sKKyAgICB4bWxMaW5rUHRyIGxrUGxhY2UsIGxrTmV3OworCisgICAgaWYgKGwgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuKDEpOworICAgIGxrUGxhY2UgPSB4bWxMaXN0TG93ZXJTZWFyY2gobCwgZGF0YSk7CisgICAgLyogQWRkIHRoZSBuZXcgbGluayAqLworICAgIGxrTmV3ID0gKHhtbExpbmtQdHIpIHhtbE1hbGxvYyhzaXplb2YoeG1sTGluaykpOworICAgIGlmIChsa05ldyA9PSBOVUxMKSB7CisgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkgICAgICAgICJDYW5ub3QgaW5pdGlhbGl6ZSBtZW1vcnkgZm9yIG5ldyBsaW5rIik7CisgICAgICAgIHJldHVybiAoMSk7CisgICAgfQorICAgIGxrTmV3LT5kYXRhID0gZGF0YTsKKyAgICBsa1BsYWNlID0gbGtQbGFjZS0+cHJldjsKKyAgICBsa05ldy0+bmV4dCA9IGxrUGxhY2UtPm5leHQ7CisgICAgKGxrUGxhY2UtPm5leHQpLT5wcmV2ID0gbGtOZXc7CisgICAgbGtQbGFjZS0+bmV4dCA9IGxrTmV3OworICAgIGxrTmV3LT5wcmV2ID0gbGtQbGFjZTsKKyAgICByZXR1cm4gMDsKK30KKworLyoqCisgKiB4bWxMaXN0QXBwZW5kOgorICogQGw6ICBhIGxpc3QKKyAqIEBkYXRhOiAgdGhlIGRhdGEKKyAqCisgKiBJbnNlcnQgZGF0YSBpbiB0aGUgb3JkZXJlZCBsaXN0IGF0IHRoZSBlbmQgZm9yIHRoaXMgdmFsdWUKKyAqCisgKiBSZXR1cm5zIDAgaW4gY2FzZSBvZiBzdWNjZXNzLCAxIGluIGNhc2Ugb2YgZmFpbHVyZQorICovCitpbnQgeG1sTGlzdEFwcGVuZCh4bWxMaXN0UHRyIGwsIHZvaWQgKmRhdGEpCit7CisgICAgeG1sTGlua1B0ciBsa1BsYWNlLCBsa05ldzsKKworICAgIGlmIChsID09IE5VTEwpCisgICAgICAgIHJldHVybigxKTsKKyAgICBsa1BsYWNlID0geG1sTGlzdEhpZ2hlclNlYXJjaChsLCBkYXRhKTsKKyAgICAvKiBBZGQgdGhlIG5ldyBsaW5rICovCisgICAgbGtOZXcgPSAoeG1sTGlua1B0cikgeG1sTWFsbG9jKHNpemVvZih4bWxMaW5rKSk7CisgICAgaWYgKGxrTmV3ID09IE5VTEwpIHsKKyAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSAgICAgICAgIkNhbm5vdCBpbml0aWFsaXplIG1lbW9yeSBmb3IgbmV3IGxpbmsiKTsKKyAgICAgICAgcmV0dXJuICgxKTsKKyAgICB9CisgICAgbGtOZXctPmRhdGEgPSBkYXRhOworICAgIGxrTmV3LT5uZXh0ID0gbGtQbGFjZS0+bmV4dDsKKyAgICAobGtQbGFjZS0+bmV4dCktPnByZXYgPSBsa05ldzsKKyAgICBsa1BsYWNlLT5uZXh0ID0gbGtOZXc7CisgICAgbGtOZXctPnByZXYgPSBsa1BsYWNlOworICAgIHJldHVybiAwOworfQorCisvKioKKyAqIHhtbExpc3REZWxldGU6CisgKiBAbDogIGEgbGlzdAorICoKKyAqIERlbGV0ZXMgdGhlIGxpc3QgYW5kIGl0cyBhc3NvY2lhdGVkIGRhdGEKKyAqLwordm9pZCB4bWxMaXN0RGVsZXRlKHhtbExpc3RQdHIgbCkKK3sKKyAgICBpZiAobCA9PSBOVUxMKQorICAgICAgICByZXR1cm47CisKKyAgICB4bWxMaXN0Q2xlYXIobCk7CisgICAgeG1sRnJlZShsLT5zZW50aW5lbCk7CisgICAgeG1sRnJlZShsKTsKK30KKworLyoqCisgKiB4bWxMaXN0UmVtb3ZlRmlyc3Q6CisgKiBAbDogIGEgbGlzdAorICogQGRhdGE6ICBsaXN0IGRhdGEKKyAqCisgKiBSZW1vdmUgdGhlIGZpcnN0IGluc3RhbmNlIGFzc29jaWF0ZWQgdG8gZGF0YSBpbiB0aGUgbGlzdAorICoKKyAqIFJldHVybnMgMSBpZiBhIGRlYWxsb2NhdGlvbiBvY2N1cmVkLCBvciAwIGlmIG5vdCBmb3VuZAorICovCitpbnQKK3htbExpc3RSZW1vdmVGaXJzdCh4bWxMaXN0UHRyIGwsIHZvaWQgKmRhdGEpCit7CisgICAgeG1sTGlua1B0ciBsazsKKworICAgIGlmIChsID09IE5VTEwpCisgICAgICAgIHJldHVybigwKTsKKyAgICAvKkZpbmQgdGhlIGZpcnN0IGluc3RhbmNlIG9mIHRoaXMgZGF0YSAqLworICAgIGxrID0geG1sTGlzdExpbmtTZWFyY2gobCwgZGF0YSk7CisgICAgaWYgKGxrICE9IE5VTEwpIHsKKyAgICAgICAgeG1sTGlua0RlYWxsb2NhdG9yKGwsIGxrKTsKKyAgICAgICAgcmV0dXJuIDE7CisgICAgfQorICAgIHJldHVybiAwOworfQorCisvKioKKyAqIHhtbExpc3RSZW1vdmVMYXN0OgorICogQGw6ICBhIGxpc3QKKyAqIEBkYXRhOiAgbGlzdCBkYXRhCisgKgorICogUmVtb3ZlIHRoZSBsYXN0IGluc3RhbmNlIGFzc29jaWF0ZWQgdG8gZGF0YSBpbiB0aGUgbGlzdAorICoKKyAqIFJldHVybnMgMSBpZiBhIGRlYWxsb2NhdGlvbiBvY2N1cmVkLCBvciAwIGlmIG5vdCBmb3VuZAorICovCitpbnQKK3htbExpc3RSZW1vdmVMYXN0KHhtbExpc3RQdHIgbCwgdm9pZCAqZGF0YSkKK3sKKyAgICB4bWxMaW5rUHRyIGxrOworCisgICAgaWYgKGwgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuKDApOworICAgIC8qRmluZCB0aGUgbGFzdCBpbnN0YW5jZSBvZiB0aGlzIGRhdGEgKi8KKyAgICBsayA9IHhtbExpc3RMaW5rUmV2ZXJzZVNlYXJjaChsLCBkYXRhKTsKKyAgICBpZiAobGsgIT0gTlVMTCkgeworCXhtbExpbmtEZWFsbG9jYXRvcihsLCBsayk7CisgICAgICAgIHJldHVybiAxOworICAgIH0KKyAgICByZXR1cm4gMDsKK30KKworLyoqCisgKiB4bWxMaXN0UmVtb3ZlQWxsOgorICogQGw6ICBhIGxpc3QKKyAqIEBkYXRhOiAgbGlzdCBkYXRhCisgKgorICogUmVtb3ZlIHRoZSBhbGwgaW5zdGFuY2UgYXNzb2NpYXRlZCB0byBkYXRhIGluIHRoZSBsaXN0CisgKgorICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIGRlYWxsb2NhdGlvbiwgb3IgMCBpZiBub3QgZm91bmQKKyAqLworaW50Cit4bWxMaXN0UmVtb3ZlQWxsKHhtbExpc3RQdHIgbCwgdm9pZCAqZGF0YSkKK3sKKyAgICBpbnQgY291bnQ9MDsKKworICAgIGlmIChsID09IE5VTEwpCisgICAgICAgIHJldHVybigwKTsKKworICAgIHdoaWxlKHhtbExpc3RSZW1vdmVGaXJzdChsLCBkYXRhKSkKKyAgICAgICAgY291bnQrKzsKKyAgICByZXR1cm4gY291bnQ7Cit9CisKKy8qKgorICogeG1sTGlzdENsZWFyOgorICogQGw6ICBhIGxpc3QKKyAqCisgKiBSZW1vdmUgdGhlIGFsbCBkYXRhIGluIHRoZSBsaXN0CisgKi8KK3ZvaWQKK3htbExpc3RDbGVhcih4bWxMaXN0UHRyIGwpCit7CisgICAgeG1sTGlua1B0ciAgbGs7CisKKyAgICBpZiAobCA9PSBOVUxMKQorICAgICAgICByZXR1cm47CisgICAgbGsgPSBsLT5zZW50aW5lbC0+bmV4dDsKKyAgICB3aGlsZShsayAhPSBsLT5zZW50aW5lbCkgeworICAgICAgICB4bWxMaW5rUHRyIG5leHQgPSBsay0+bmV4dDsKKworICAgICAgICB4bWxMaW5rRGVhbGxvY2F0b3IobCwgbGspOworICAgICAgICBsayA9IG5leHQ7CisgICAgfQorfQorCisvKioKKyAqIHhtbExpc3RFbXB0eToKKyAqIEBsOiAgYSBsaXN0CisgKgorICogSXMgdGhlIGxpc3QgZW1wdHkgPworICoKKyAqIFJldHVybnMgMSBpZiB0aGUgbGlzdCBpcyBlbXB0eSwgMCBpZiBub3QgZW1wdHkgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworaW50Cit4bWxMaXN0RW1wdHkoeG1sTGlzdFB0ciBsKQoreworICAgIGlmIChsID09IE5VTEwpCisgICAgICAgIHJldHVybigtMSk7CisgICAgcmV0dXJuIChsLT5zZW50aW5lbC0+bmV4dCA9PSBsLT5zZW50aW5lbCk7Cit9CisKKy8qKgorICogeG1sTGlzdEZyb250OgorICogQGw6ICBhIGxpc3QKKyAqCisgKiBHZXQgdGhlIGZpcnN0IGVsZW1lbnQgaW4gdGhlIGxpc3QKKyAqCisgKiBSZXR1cm5zIHRoZSBmaXJzdCBlbGVtZW50IGluIHRoZSBsaXN0LCBvciBOVUxMCisgKi8KK3htbExpbmtQdHIKK3htbExpc3RGcm9udCh4bWxMaXN0UHRyIGwpCit7CisgICAgaWYgKGwgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuKE5VTEwpOworICAgIHJldHVybiAobC0+c2VudGluZWwtPm5leHQpOworfQorCisvKioKKyAqIHhtbExpc3RFbmQ6CisgKiBAbDogIGEgbGlzdAorICoKKyAqIEdldCB0aGUgbGFzdCBlbGVtZW50IGluIHRoZSBsaXN0CisgKgorICogUmV0dXJucyB0aGUgbGFzdCBlbGVtZW50IGluIHRoZSBsaXN0LCBvciBOVUxMCisgKi8KK3htbExpbmtQdHIKK3htbExpc3RFbmQoeG1sTGlzdFB0ciBsKQoreworICAgIGlmIChsID09IE5VTEwpCisgICAgICAgIHJldHVybihOVUxMKTsKKyAgICByZXR1cm4gKGwtPnNlbnRpbmVsLT5wcmV2KTsKK30KKworLyoqCisgKiB4bWxMaXN0U2l6ZToKKyAqIEBsOiAgYSBsaXN0CisgKgorICogR2V0IHRoZSBudW1iZXIgb2YgZWxlbWVudHMgaW4gdGhlIGxpc3QKKyAqCisgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgZWxlbWVudHMgaW4gdGhlIGxpc3Qgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcgorICovCitpbnQKK3htbExpc3RTaXplKHhtbExpc3RQdHIgbCkKK3sKKyAgICB4bWxMaW5rUHRyIGxrOworICAgIGludCBjb3VudD0wOworCisgICAgaWYgKGwgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuKC0xKTsKKyAgICAvKiBUT0RPOiBrZWVwIGEgY291bnRlciBpbiB4bWxMaXN0IGluc3RlYWQgKi8KKyAgICBmb3IobGsgPSBsLT5zZW50aW5lbC0+bmV4dDsgbGsgIT0gbC0+c2VudGluZWw7IGxrID0gbGstPm5leHQsIGNvdW50KyspOworICAgIHJldHVybiBjb3VudDsKK30KKworLyoqCisgKiB4bWxMaXN0UG9wRnJvbnQ6CisgKiBAbDogIGEgbGlzdAorICoKKyAqIFJlbW92ZXMgdGhlIGZpcnN0IGVsZW1lbnQgaW4gdGhlIGxpc3QKKyAqLwordm9pZAoreG1sTGlzdFBvcEZyb250KHhtbExpc3RQdHIgbCkKK3sKKyAgICBpZigheG1sTGlzdEVtcHR5KGwpKQorICAgICAgICB4bWxMaW5rRGVhbGxvY2F0b3IobCwgbC0+c2VudGluZWwtPm5leHQpOworfQorCisvKioKKyAqIHhtbExpc3RQb3BCYWNrOgorICogQGw6ICBhIGxpc3QKKyAqCisgKiBSZW1vdmVzIHRoZSBsYXN0IGVsZW1lbnQgaW4gdGhlIGxpc3QKKyAqLwordm9pZAoreG1sTGlzdFBvcEJhY2soeG1sTGlzdFB0ciBsKQoreworICAgIGlmKCF4bWxMaXN0RW1wdHkobCkpCisgICAgICAgIHhtbExpbmtEZWFsbG9jYXRvcihsLCBsLT5zZW50aW5lbC0+cHJldik7Cit9CisKKy8qKgorICogeG1sTGlzdFB1c2hGcm9udDoKKyAqIEBsOiAgYSBsaXN0CisgKiBAZGF0YTogIG5ldyBkYXRhCisgKgorICogYWRkIHRoZSBuZXcgZGF0YSBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBsaXN0CisgKgorICogUmV0dXJucyAxIGlmIHN1Y2Nlc3NmdWwsIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sTGlzdFB1c2hGcm9udCh4bWxMaXN0UHRyIGwsIHZvaWQgKmRhdGEpCit7CisgICAgeG1sTGlua1B0ciBsa1BsYWNlLCBsa05ldzsKKworICAgIGlmIChsID09IE5VTEwpCisgICAgICAgIHJldHVybigwKTsKKyAgICBsa1BsYWNlID0gbC0+c2VudGluZWw7CisgICAgLyogQWRkIHRoZSBuZXcgbGluayAqLworICAgIGxrTmV3ID0gKHhtbExpbmtQdHIpIHhtbE1hbGxvYyhzaXplb2YoeG1sTGluaykpOworICAgIGlmIChsa05ldyA9PSBOVUxMKSB7CisgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkgICAgICAgICJDYW5ub3QgaW5pdGlhbGl6ZSBtZW1vcnkgZm9yIG5ldyBsaW5rIik7CisgICAgICAgIHJldHVybiAoMCk7CisgICAgfQorICAgIGxrTmV3LT5kYXRhID0gZGF0YTsKKyAgICBsa05ldy0+bmV4dCA9IGxrUGxhY2UtPm5leHQ7CisgICAgKGxrUGxhY2UtPm5leHQpLT5wcmV2ID0gbGtOZXc7CisgICAgbGtQbGFjZS0+bmV4dCA9IGxrTmV3OworICAgIGxrTmV3LT5wcmV2ID0gbGtQbGFjZTsKKyAgICByZXR1cm4gMTsKK30KKworLyoqCisgKiB4bWxMaXN0UHVzaEJhY2s6CisgKiBAbDogIGEgbGlzdAorICogQGRhdGE6ICBuZXcgZGF0YQorICoKKyAqIGFkZCB0aGUgbmV3IGRhdGEgYXQgdGhlIGVuZCBvZiB0aGUgbGlzdAorICoKKyAqIFJldHVybnMgMSBpZiBzdWNjZXNzZnVsLCAwIG90aGVyd2lzZQorICovCitpbnQKK3htbExpc3RQdXNoQmFjayh4bWxMaXN0UHRyIGwsIHZvaWQgKmRhdGEpCit7CisgICAgeG1sTGlua1B0ciBsa1BsYWNlLCBsa05ldzsKKworICAgIGlmIChsID09IE5VTEwpCisgICAgICAgIHJldHVybigwKTsKKyAgICBsa1BsYWNlID0gbC0+c2VudGluZWwtPnByZXY7CisgICAgLyogQWRkIHRoZSBuZXcgbGluayAqLworICAgIGlmIChOVUxMID09KGxrTmV3ID0gKHhtbExpbmtQdHIgKXhtbE1hbGxvYyhzaXplb2YoeG1sTGluaykpKSkgeworICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJICAgICAgICAiQ2Fubm90IGluaXRpYWxpemUgbWVtb3J5IGZvciBuZXcgbGluayIpOworICAgICAgICByZXR1cm4gKDApOworICAgIH0KKyAgICBsa05ldy0+ZGF0YSA9IGRhdGE7CisgICAgbGtOZXctPm5leHQgPSBsa1BsYWNlLT5uZXh0OworICAgIChsa1BsYWNlLT5uZXh0KS0+cHJldiA9IGxrTmV3OworICAgIGxrUGxhY2UtPm5leHQgPSBsa05ldzsKKyAgICBsa05ldy0+cHJldiA9IGxrUGxhY2U7CisgICAgcmV0dXJuIDE7Cit9CisKKy8qKgorICogeG1sTGlua0dldERhdGE6CisgKiBAbGs6ICBhIGxpbmsKKyAqCisgKiBTZWUgUmV0dXJucy4KKyAqCisgKiBSZXR1cm5zIGEgcG9pbnRlciB0byB0aGUgZGF0YSByZWZlcmVuY2VkIGZyb20gdGhpcyBsaW5rCisgKi8KK3ZvaWQgKgoreG1sTGlua0dldERhdGEoeG1sTGlua1B0ciBsaykKK3sKKyAgICBpZiAobGsgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuKE5VTEwpOworICAgIHJldHVybiBsay0+ZGF0YTsKK30KKworLyoqCisgKiB4bWxMaXN0UmV2ZXJzZToKKyAqIEBsOiAgYSBsaXN0CisgKgorICogUmV2ZXJzZSB0aGUgb3JkZXIgb2YgdGhlIGVsZW1lbnRzIGluIHRoZSBsaXN0CisgKi8KK3ZvaWQKK3htbExpc3RSZXZlcnNlKHhtbExpc3RQdHIgbCkKK3sKKyAgICB4bWxMaW5rUHRyIGxrOworICAgIHhtbExpbmtQdHIgbGtQcmV2OworCisgICAgaWYgKGwgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuOworICAgIGxrUHJldiA9IGwtPnNlbnRpbmVsOworICAgIGZvciAobGsgPSBsLT5zZW50aW5lbC0+bmV4dDsgbGsgIT0gbC0+c2VudGluZWw7IGxrID0gbGstPm5leHQpIHsKKyAgICAgICAgbGtQcmV2LT5uZXh0ID0gbGtQcmV2LT5wcmV2OworICAgICAgICBsa1ByZXYtPnByZXYgPSBsazsKKyAgICAgICAgbGtQcmV2ID0gbGs7CisgICAgfQorICAgIC8qIEZpeCB1cCB0aGUgbGFzdCBub2RlICovCisgICAgbGtQcmV2LT5uZXh0ID0gbGtQcmV2LT5wcmV2OworICAgIGxrUHJldi0+cHJldiA9IGxrOworfQorCisvKioKKyAqIHhtbExpc3RTb3J0OgorICogQGw6ICBhIGxpc3QKKyAqCisgKiBTb3J0IGFsbCB0aGUgZWxlbWVudHMgaW4gdGhlIGxpc3QKKyAqLwordm9pZAoreG1sTGlzdFNvcnQoeG1sTGlzdFB0ciBsKQoreworICAgIHhtbExpc3RQdHIgbFRlbXA7CisKKyAgICBpZiAobCA9PSBOVUxMKQorICAgICAgICByZXR1cm47CisgICAgaWYoeG1sTGlzdEVtcHR5KGwpKQorICAgICAgICByZXR1cm47CisKKyAgICAvKiBJIHRoaW5rIHRoYXQgdGhlIHJlYWwgYW5zd2VyIGlzIHRvIGltcGxlbWVudCBxdWlja3NvcnQsIHRoZQorICAgICAqIGFsdGVybmF0aXZlIGlzIHRvIGltcGxlbWVudCBzb21lIGxpc3QgY29weWluZyBwcm9jZWR1cmUgd2hpY2gKKyAgICAgKiB3b3VsZCBiZSBiYXNlZCBvbiBhIGxpc3QgY29weSBmb2xsb3dlZCBieSBhIGNsZWFyIGZvbGxvd2VkIGJ5CisgICAgICogYW4gaW5zZXJ0LiBUaGlzIGlzIHNsb3cuLi4KKyAgICAgKi8KKworICAgIGlmIChOVUxMID09KGxUZW1wID0geG1sTGlzdER1cChsKSkpCisgICAgICAgIHJldHVybjsKKyAgICB4bWxMaXN0Q2xlYXIobCk7CisgICAgeG1sTGlzdE1lcmdlKGwsIGxUZW1wKTsKKyAgICB4bWxMaXN0RGVsZXRlKGxUZW1wKTsKKyAgICByZXR1cm47Cit9CisKKy8qKgorICogeG1sTGlzdFdhbGs6CisgKiBAbDogIGEgbGlzdAorICogQHdhbGtlcjogIGEgcHJvY2Vzc2luZyBmdW5jdGlvbgorICogQHVzZXI6ICBhIHVzZXIgcGFyYW1ldGVyIHBhc3NlZCB0byB0aGUgd2Fsa2VyIGZ1bmN0aW9uCisgKgorICogV2FsayBhbGwgdGhlIGVsZW1lbnQgb2YgdGhlIGZpcnN0IGZyb20gZmlyc3QgdG8gbGFzdCBhbmQKKyAqIGFwcGx5IHRoZSB3YWxrZXIgZnVuY3Rpb24gdG8gaXQKKyAqLwordm9pZAoreG1sTGlzdFdhbGsoeG1sTGlzdFB0ciBsLCB4bWxMaXN0V2Fsa2VyIHdhbGtlciwgY29uc3Qgdm9pZCAqdXNlcikgeworICAgIHhtbExpbmtQdHIgbGs7CisKKyAgICBpZiAoKGwgPT0gTlVMTCkgfHwgKHdhbGtlciA9PSBOVUxMKSkKKyAgICAgICAgcmV0dXJuOworICAgIGZvcihsayA9IGwtPnNlbnRpbmVsLT5uZXh0OyBsayAhPSBsLT5zZW50aW5lbDsgbGsgPSBsay0+bmV4dCkgeworICAgICAgICBpZigod2Fsa2VyKGxrLT5kYXRhLCB1c2VyKSkgPT0gMCkKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICB9Cit9CisKKy8qKgorICogeG1sTGlzdFJldmVyc2VXYWxrOgorICogQGw6ICBhIGxpc3QKKyAqIEB3YWxrZXI6ICBhIHByb2Nlc3NpbmcgZnVuY3Rpb24KKyAqIEB1c2VyOiAgYSB1c2VyIHBhcmFtZXRlciBwYXNzZWQgdG8gdGhlIHdhbGtlciBmdW5jdGlvbgorICoKKyAqIFdhbGsgYWxsIHRoZSBlbGVtZW50IG9mIHRoZSBsaXN0IGluIHJldmVyc2Ugb3JkZXIgYW5kCisgKiBhcHBseSB0aGUgd2Fsa2VyIGZ1bmN0aW9uIHRvIGl0CisgKi8KK3ZvaWQKK3htbExpc3RSZXZlcnNlV2Fsayh4bWxMaXN0UHRyIGwsIHhtbExpc3RXYWxrZXIgd2Fsa2VyLCBjb25zdCB2b2lkICp1c2VyKSB7CisgICAgeG1sTGlua1B0ciBsazsKKworICAgIGlmICgobCA9PSBOVUxMKSB8fCAod2Fsa2VyID09IE5VTEwpKQorICAgICAgICByZXR1cm47CisgICAgZm9yKGxrID0gbC0+c2VudGluZWwtPnByZXY7IGxrICE9IGwtPnNlbnRpbmVsOyBsayA9IGxrLT5wcmV2KSB7CisgICAgICAgIGlmKCh3YWxrZXIobGstPmRhdGEsIHVzZXIpKSA9PSAwKQorICAgICAgICAgICAgICAgIGJyZWFrOworICAgIH0KK30KKworLyoqCisgKiB4bWxMaXN0TWVyZ2U6CisgKiBAbDE6ICB0aGUgb3JpZ2luYWwgbGlzdAorICogQGwyOiAgdGhlIG5ldyBsaXN0CisgKgorICogaW5jbHVkZSBhbGwgdGhlIGVsZW1lbnRzIG9mIHRoZSBzZWNvbmQgbGlzdCBpbiB0aGUgZmlyc3Qgb25lIGFuZAorICogY2xlYXIgdGhlIHNlY29uZCBsaXN0CisgKi8KK3ZvaWQKK3htbExpc3RNZXJnZSh4bWxMaXN0UHRyIGwxLCB4bWxMaXN0UHRyIGwyKQoreworICAgIHhtbExpc3RDb3B5KGwxLCBsMik7CisgICAgeG1sTGlzdENsZWFyKGwyKTsKK30KKworLyoqCisgKiB4bWxMaXN0RHVwOgorICogQG9sZDogIHRoZSBsaXN0CisgKgorICogRHVwbGljYXRlIHRoZSBsaXN0CisgKgorICogUmV0dXJucyBhIG5ldyBjb3B5IG9mIHRoZSBsaXN0IG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcgorICovCit4bWxMaXN0UHRyCit4bWxMaXN0RHVwKGNvbnN0IHhtbExpc3RQdHIgb2xkKQoreworICAgIHhtbExpc3RQdHIgY3VyOworCisgICAgaWYgKG9sZCA9PSBOVUxMKQorICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgLyogSG1tbSwgaG93IHRvIGJlc3QgZGVhbCB3aXRoIGFsbG9jYXRpb24gaXNzdWVzIHdoZW4gY29weWluZworICAgICAqIGxpc3RzLiBJZiB0aGVyZSBpcyBhIGRlLWFsbG9jYXRvciwgc2hvdWxkIHJlc3BvbnNpYmlsaXR5IGxpZSB3aXRoCisgICAgICogdGhlIG5ldyBsaXN0IG9yIHRoZSBvbGQgbGlzdC4gU3VyZWx5IG5vdCBib3RoLiBJJ2xsIGFyYml0cmFyaWx5CisgICAgICogc2V0IGl0IHRvIGJlIHRoZSBvbGQgbGlzdCBmb3IgdGhlIHRpbWUgYmVpbmcgd2hpbHN0IEkgd29yayBvdXQKKyAgICAgKiB0aGUgYW5zd2VyCisgICAgICovCisgICAgaWYgKE5VTEwgPT0oY3VyID0geG1sTGlzdENyZWF0ZShOVUxMLCBvbGQtPmxpbmtDb21wYXJlKSkpCisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgaWYgKDAgIT0geG1sTGlzdENvcHkoY3VyLCBvbGQpKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICByZXR1cm4gY3VyOworfQorCisvKioKKyAqIHhtbExpc3RDb3B5OgorICogQGN1cjogIHRoZSBuZXcgbGlzdAorICogQG9sZDogIHRoZSBvbGQgbGlzdAorICoKKyAqIE1vdmUgYWxsIHRoZSBlbGVtZW50IGZyb20gdGhlIG9sZCBsaXN0IGluIHRoZSBuZXcgbGlzdAorICoKKyAqIFJldHVybnMgMCBpbiBjYXNlIG9mIHN1Y2Nlc3MgMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK2ludAoreG1sTGlzdENvcHkoeG1sTGlzdFB0ciBjdXIsIGNvbnN0IHhtbExpc3RQdHIgb2xkKQoreworICAgIC8qIFdhbGsgdGhlIG9sZCB0cmVlIGFuZCBpbnNlcnQgdGhlIGRhdGEgaW50byB0aGUgbmV3IG9uZSAqLworICAgIHhtbExpbmtQdHIgbGs7CisKKyAgICBpZiAoKG9sZCA9PSBOVUxMKSB8fCAoY3VyID09IE5VTEwpKQorICAgICAgICByZXR1cm4oMSk7CisgICAgZm9yKGxrID0gb2xkLT5zZW50aW5lbC0+bmV4dDsgbGsgIT0gb2xkLT5zZW50aW5lbDsgbGsgPSBsay0+bmV4dCkgeworICAgICAgICBpZiAoMCAhPXhtbExpc3RJbnNlcnQoY3VyLCBsay0+ZGF0YSkpIHsKKyAgICAgICAgICAgIHhtbExpc3REZWxldGUoY3VyKTsKKyAgICAgICAgICAgIHJldHVybiAoMSk7CisgICAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuICgwKTsKK30KKy8qIHhtbExpc3RVbmlxdWUoKSAqLworLyogeG1sTGlzdFN3YXAgKi8KKyNkZWZpbmUgYm90dG9tX2xpc3QKKyNpbmNsdWRlICJlbGZnY2NoYWNrLmgiCmRpZmYgLS1naXQgYS9saWJ4bWwyL21hY29zL1JFQURNRSBiL2xpYnhtbDIvbWFjb3MvUkVBRE1FCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQzNGFlY2UKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL21hY29zL1JFQURNRQpAQCAtMCwwICsxLDggQEAKK1RoaXMgaXMgYSBNYWNPUyBwb3J0IGNvbnRyaWJ1dGlvbiAobm90IHRvIGJlIHVzZWQgZm9yIE1hY09TLVgpCitmb3IgdGhlIENvZGVXYXJyaW9yIGVudmlyb25tZW50LgorUGxlYXNlIGNvbnRhY3QgdGhlIGF1dGhvciBkaXJlY3RseSBpbiBjYXNlIG9mIHByb2JsZW1zOgorICAgRXJpYyA8ZXJsYXZpZ25lQHdhbmFkb28uZnI+CisKKyAgdGhhbmtzLAorCitEYW5pZWwKZGlmZiAtLWdpdCBhL2xpYnhtbDIvbWFjb3MvbGlieG1sMi5tY3AueG1sLnNpdC5ocXggYi9saWJ4bWwyL21hY29zL2xpYnhtbDIubWNwLnhtbC5zaXQuaHF4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc1ODU1NGQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL21hY29zL2xpYnhtbDIubWNwLnhtbC5zaXQuaHF4CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvbWFjb3Mvc3JjL1hNTFRlc3RQcmVmaXguaCBiL2xpYnhtbDIvbWFjb3Mvc3JjL1hNTFRlc3RQcmVmaXguaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZTg0MjU1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9tYWNvcy9zcmMvWE1MVGVzdFByZWZpeC5oCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvbWFjb3Mvc3JjL1hNTFRlc3RQcmVmaXgyLmggYi9saWJ4bWwyL21hY29zL3NyYy9YTUxUZXN0UHJlZml4Mi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU1ZGY1MWUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL21hY29zL3NyYy9YTUxUZXN0UHJlZml4Mi5oCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvbWFjb3Mvc3JjL2NvbmZpZy1tYWMuaCBiL2xpYnhtbDIvbWFjb3Mvc3JjL2NvbmZpZy1tYWMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOWE4ZjlkCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9tYWNvcy9zcmMvY29uZmlnLW1hYy5oCkBAIC0wLDAgKzEsMTkyIEBACisvKiBjb25maWcuaCBnZW5lcmF0ZWQgbWFudWFsbHkgZm9yIG1hY29zLiAgKi8KKworLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSBzdHJmdGltZSBmdW5jdGlvbi4gICovCisjZGVmaW5lIEhBVkVfU1RSRlRJTUUKKworLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSBBTlNJIEMgaGVhZGVyIGZpbGVzLiAgKi8KKyNkZWZpbmUgU1REQ19IRUFERVJTCisKKyNkZWZpbmUgUEFDS0FHRQorI2RlZmluZSBWRVJTSU9OCisKKyN1bmRlZiBIQVZFX0xJQloKKyN1bmRlZiBIQVZFX0xJQk0KKyN1bmRlZiBIQVZFX0lTSU5GCisjdW5kZWYgSEFWRV9JU05BTgorI3VuZGVmIEhBVkVfTElCSElTVE9SWQorI3VuZGVmIEhBVkVfTElCUkVBRExJTkUKKworI2RlZmluZSBYTUxfU09DS0xFTl9UIHNvY2tsZW5fdAorI2RlZmluZSBIQVZFX0xJQlBUSFJFQUQKKyNkZWZpbmUgSEFWRV9QVEhSRUFEX0gKKyNkZWZpbmUgTElCWE1MX1RIUkVBRF9FTkFCTEVECisKKy8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgX3N0YXQgZnVuY3Rpb24uICAqLworI2RlZmluZSBIQVZFX19TVEFUCisKKy8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgY2xhc3MgZnVuY3Rpb24uICAqLworI3VuZGVmIEhBVkVfQ0xBU1MKKworLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSBmaW5pdGUgZnVuY3Rpb24uICAqLworI3VuZGVmIEhBVkVfRklOSVRFCisKKy8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgZnBfY2xhc3MgZnVuY3Rpb24uICAqLworI3VuZGVmIEhBVkVfRlBfQ0xBU1MKKworLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSBmcGNsYXNzIGZ1bmN0aW9uLiAgKi8KKyN1bmRlZiBIQVZFX0ZQQ0xBU1MKKworLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSBmcHJpbnRmIGZ1bmN0aW9uLiAgKi8KKyNkZWZpbmUgSEFWRV9GUFJJTlRGCisKKy8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgaXNuYW5kIGZ1bmN0aW9uLiAgKi8KKyN1bmRlZiBIQVZFX0lTTkFORAorCisvKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIGxvY2FsdGltZSBmdW5jdGlvbi4gICovCisjZGVmaW5lIEhBVkVfTE9DQUxUSU1FCisKKy8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgcHJpbnRmIGZ1bmN0aW9uLiAgKi8KKyNkZWZpbmUgSEFWRV9QUklOVEYKKworLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSBzaWduYWwgZnVuY3Rpb24uICAqLworI2RlZmluZSBIQVZFX1NJR05BTAorCisvKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIHNucHJpbnRmIGZ1bmN0aW9uLiAgKi8KKyNkZWZpbmUgSEFWRV9TTlBSSU5URgorCisvKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIHNwcmludGYgZnVuY3Rpb24uICAqLworI2RlZmluZSBIQVZFX1NQUklOVEYKKworLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSBzc2NhbmYgZnVuY3Rpb24uICAqLworI2RlZmluZSBIQVZFX1NTQ0FORgorCisvKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIHN0YXQgZnVuY3Rpb24uICAqLworI2RlZmluZSBIQVZFX1NUQVQKKworLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSBzdHJkdXAgZnVuY3Rpb24uICAqLworI2RlZmluZSBIQVZFX1NUUkRVUAorCisvKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIHN0cmVycm9yIGZ1bmN0aW9uLiAgKi8KKyNkZWZpbmUgSEFWRV9TVFJFUlJPUgorCisvKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIHN0cmZ0aW1lIGZ1bmN0aW9uLiAgKi8KKyNkZWZpbmUgSEFWRV9TVFJGVElNRQorCisvKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIHN0cm5kdXAgZnVuY3Rpb24uICAqLworI2RlZmluZSBIQVZFX1NUUk5EVVAKKworLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSB2ZnByaW50ZiBmdW5jdGlvbi4gICovCisjZGVmaW5lIEhBVkVfVkZQUklOVEYKKworLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSB2c25wcmludGYgZnVuY3Rpb24uICAqLworI2RlZmluZSBIQVZFX1ZTTlBSSU5URgorCisvKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIHZzcHJpbnRmIGZ1bmN0aW9uLiAgKi8KKyNkZWZpbmUgSEFWRV9WU1BSSU5URgorCisvKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIDxhbnNpZGVjbC5oPiBoZWFkZXIgZmlsZS4gICovCisjZGVmaW5lIEhBVkVfQU5TSURFQ0xfSAorCisvKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIDxhcnBhL2luZXQuaD4gaGVhZGVyIGZpbGUuICAqLworI2RlZmluZSBIQVZFX0FSUEFfSU5FVF9ICisKKy8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgPGN0eXBlLmg+IGhlYWRlciBmaWxlLiAgKi8KKyNkZWZpbmUgSEFWRV9DVFlQRV9ICisKKy8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgPGRpcmVudC5oPiBoZWFkZXIgZmlsZS4gICovCisjZGVmaW5lIEhBVkVfRElSRU5UX0gKKworLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSA8ZGxmY24uaD4gaGVhZGVyIGZpbGUuICAqLworI2RlZmluZSBIQVZFX0RMRkNOX0gKKworLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSA8ZXJybm8uaD4gaGVhZGVyIGZpbGUuICAqLworI2RlZmluZSBIQVZFX0VSUk5PX0gKKworLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSA8ZmNudGwuaD4gaGVhZGVyIGZpbGUuICAqLworI2RlZmluZSBIQVZFX0ZDTlRMX0gKKworLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSA8ZmxvYXQuaD4gaGVhZGVyIGZpbGUuICAqLworI2RlZmluZSBIQVZFX0ZMT0FUX0gKKworLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSA8ZnBfY2xhc3MuaD4gaGVhZGVyIGZpbGUuICAqLworI2RlZmluZSBIQVZFX0ZQX0NMQVNTX0gKKworLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSA8aWVlZWZwLmg+IGhlYWRlciBmaWxlLiAgKi8KKyNkZWZpbmUgSEFWRV9JRUVFRlBfSAorCisvKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIDxtYWxsb2MuaD4gaGVhZGVyIGZpbGUuICAqLworI3VuZGVmIEhBVkVfTUFMTE9DX0gKKworLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSA8bWF0aC5oPiBoZWFkZXIgZmlsZS4gICovCisjZGVmaW5lIEhBVkVfTUFUSF9ICisKKy8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgPG5hbi5oPiBoZWFkZXIgZmlsZS4gICovCisjZGVmaW5lIEhBVkVfTkFOX0gKKworLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSA8bmRpci5oPiBoZWFkZXIgZmlsZS4gICovCisjZGVmaW5lIEhBVkVfTkRJUl9ICisKKy8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgPG5ldGRiLmg+IGhlYWRlciBmaWxlLiAgKi8KKyNkZWZpbmUgSEFWRV9ORVREQl9ICisKKy8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgPG5ldGluZXQvaW4uaD4gaGVhZGVyIGZpbGUuICAqLworI2RlZmluZSBIQVZFX05FVElORVRfSU5fSAorCisvKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIDxzaWduYWwuaD4gaGVhZGVyIGZpbGUuICAqLworI2RlZmluZSBIQVZFX1NJR05BTF9ICisKKy8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgPHN0ZGFyZy5oPiBoZWFkZXIgZmlsZS4gICovCisjZGVmaW5lIEhBVkVfU1REQVJHX0gKKworLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSA8c3RkbGliLmg+IGhlYWRlciBmaWxlLiAgKi8KKyNkZWZpbmUgSEFWRV9TVERMSUJfSAorCisvKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIDxzdHJpbmcuaD4gaGVhZGVyIGZpbGUuICAqLworI2RlZmluZSBIQVZFX1NUUklOR19ICisKKy8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy9kaXIuaD4gaGVhZGVyIGZpbGUuICAqLworI2RlZmluZSBIQVZFX1NZU19ESVJfSAorCisvKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIDxzeXMvbW1hbi5oPiBoZWFkZXIgZmlsZS4gICovCisjdW5kZWYgSEFWRV9TWVNfTU1BTl9ICisKKy8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy9uZGlyLmg+IGhlYWRlciBmaWxlLiAgKi8KKyN1bmRlZiBIQVZFX1NZU19ORElSX0gKKworLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSA8c3lzL3NlbGVjdC5oPiBoZWFkZXIgZmlsZS4gICovCisjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9ICisKKy8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy9zb2NrZXQuaD4gaGVhZGVyIGZpbGUuICAqLworI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSAorCisvKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIDxzeXMvc3RhdC5oPiBoZWFkZXIgZmlsZS4gICovCisjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSAorCisvKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIDxzeXMvdGltZS5oPiBoZWFkZXIgZmlsZS4gICovCisjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSAorCisvKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIDxzeXMvdHlwZXMuaD4gaGVhZGVyIGZpbGUuICAqLworI2RlZmluZSBIQVZFX1NZU19UWVBFU19ICisKKy8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgPHRpbWUuaD4gaGVhZGVyIGZpbGUuICAqLworI2RlZmluZSBIQVZFX1RJTUVfSAorCisvKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIDx1bmlzdGQuaD4gaGVhZGVyIGZpbGUuICAqLworI2RlZmluZSBIQVZFX1VOSVNURF9ICisKKy8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgPHpsaWIuaD4gaGVhZGVyIGZpbGUuICAqLworI3VuZGVmIEhBVkVfWkxJQl9ICisKKy8qIE5hbWUgb2YgcGFja2FnZSAqLworI2RlZmluZSBQQUNLQUdFCisKKy8qIFZlcnNpb24gbnVtYmVyIG9mIHBhY2thZ2UgKi8KKyNkZWZpbmUgVkVSU0lPTgorCisvKiBEZWZpbmUgaWYgY29tcGlsZXIgaGFzIGZ1bmN0aW9uIHByb3RvdHlwZXMgKi8KKyNkZWZpbmUgUFJPVE9UWVBFUworCisjaW5jbHVkZSA8bGlieG1sL3htbHZlcnNpb24uaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxleHRyYS9zdHJpY21wLmg+CisjaW5jbHVkZSA8ZXh0cmEvc3RyZHVwLmg+CmRpZmYgLS1naXQgYS9saWJ4bWwyL21hY29zL3NyYy9saWJ4bWwyX0dVU0lDb25maWcuY3AgYi9saWJ4bWwyL21hY29zL3NyYy9saWJ4bWwyX0dVU0lDb25maWcuY3AKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzdkMGM5MwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvbWFjb3Mvc3JjL2xpYnhtbDJfR1VTSUNvbmZpZy5jcApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9saWJ4bWwyL21hY29zL3NyYy9tYWNvc19tYWluLmMgYi9saWJ4bWwyL21hY29zL3NyYy9tYWNvc19tYWluLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjYyNTAwMAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvbWFjb3Mvc3JjL21hY29zX21haW4uYwpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9saWJ4bWwyL25hbm9mdHAuYyBiL2xpYnhtbDIvbmFub2Z0cC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIxMzVhYjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL25hbm9mdHAuYwpAQCAtMCwwICsxLDIxMjEgQEAKKy8qCisgKiBuYW5vZnRwLmM6IGJhc2ljIEZUUCBjbGllbnQgc3VwcG9ydAorICoKKyAqICBSZWZlcmVuY2U6IFJGQyA5NTkKKyAqLworCisjaWZkZWYgVEVTVElORworI2RlZmluZSBTVEFOREFMT05FCisjZGVmaW5lIEhBVkVfU1RETElCX0gKKyNkZWZpbmUgSEFWRV9VTklTVERfSAorI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSAorI2RlZmluZSBIQVZFX05FVElORVRfSU5fSAorI2RlZmluZSBIQVZFX05FVERCX0gKKyNkZWZpbmUgSEFWRV9TWVNfVElNRV9ICisjZWxzZSAvKiBURVNUSU5HICovCisjZGVmaW5lIE5FRURfU09DS0VUUworI2VuZGlmIC8qIFRFU1RJTkcgKi8KKworI2RlZmluZSBJTl9MSUJYTUwKKyNpbmNsdWRlICJsaWJ4bWwuaCIKKworI2lmZGVmIExJQlhNTF9GVFBfRU5BQkxFRAorI2luY2x1ZGUgPHN0cmluZy5oPgorCisjaWZkZWYgSEFWRV9TVERMSUJfSAorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9VTklTVERfSAorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9TWVNfU09DS0VUX0gKKyNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CisjZW5kaWYKKyNpZmRlZiBIQVZFX05FVElORVRfSU5fSAorI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4KKyNlbmRpZgorI2lmZGVmIEhBVkVfQVJQQV9JTkVUX0gKKyNpbmNsdWRlIDxhcnBhL2luZXQuaD4KKyNlbmRpZgorI2lmZGVmIEhBVkVfTkVUREJfSAorI2luY2x1ZGUgPG5ldGRiLmg+CisjZW5kaWYKKyNpZmRlZiBIQVZFX0ZDTlRMX0gKKyNpbmNsdWRlIDxmY250bC5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9FUlJOT19ICisjaW5jbHVkZSA8ZXJybm8uaD4KKyNlbmRpZgorI2lmZGVmIEhBVkVfU1lTX1RJTUVfSAorI2luY2x1ZGUgPHN5cy90aW1lLmg+CisjZW5kaWYKKyNpZmRlZiBIQVZFX1NZU19TRUxFQ1RfSAorI2luY2x1ZGUgPHN5cy9zZWxlY3QuaD4KKyNlbmRpZgorI2lmZGVmIEhBVkVfU1lTX1NPQ0tFVF9ICisjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9TVFJJTkdTX0gKKyNpbmNsdWRlIDxzdHJpbmdzLmg+CisjZW5kaWYKKworI2luY2x1ZGUgPGxpYnhtbC94bWxtZW1vcnkuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvcGFyc2VyLmg+CisjaW5jbHVkZSA8bGlieG1sL3htbGVycm9yLmg+CisjaW5jbHVkZSA8bGlieG1sL3VyaS5oPgorI2luY2x1ZGUgPGxpYnhtbC9uYW5vZnRwLmg+CisjaW5jbHVkZSA8bGlieG1sL2dsb2JhbHMuaD4KKworLyogI2RlZmluZSBERUJVR19GVFAgMSAgKi8KKyNpZmRlZiBTVEFOREFMT05FCisjaWZuZGVmIERFQlVHX0ZUUAorI2RlZmluZSBERUJVR19GVFAgMQorI2VuZGlmCisjZW5kaWYKKworCisjaWYgZGVmaW5lZChfX01JTkdXMzJfXykgfHwgZGVmaW5lZChfV0lOMzJfV0NFKQorI2lmbmRlZiBfV0lOU09DS0FQSV8KKyNkZWZpbmUgX1dJTlNPQ0tBUElfCisjZW5kaWYKKyNpbmNsdWRlIDx3c29ja2NvbXBhdC5oPgorI2luY2x1ZGUgPHdpbnNvY2syLmg+CisjdW5kZWYgWE1MX1NPQ0tMRU5fVAorI2RlZmluZSBYTUxfU09DS0xFTl9UIHVuc2lnbmVkIGludAorI2VuZGlmCisKKy8qKgorICogQSBjb3VwbGUgcG9ydGFiaWxpdHkgbWFjcm9zCisgKi8KKyNpZm5kZWYgX1dJTlNPQ0tBUElfCisjaWYgIWRlZmluZWQoX19CRU9TX18pIHx8IGRlZmluZWQoX19IQUlLVV9fKQorI2RlZmluZSBjbG9zZXNvY2tldChzKSBjbG9zZShzKQorI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIF9fQkVPU19fCisjaWZuZGVmIFBGX0lORVQKKyNkZWZpbmUgUEZfSU5FVCBBRl9JTkVUCisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgX0FJWAorI2lmZGVmIEhBVkVfQlJPS0VOX1NTX0ZBTUlMWQorI2RlZmluZSBzc19mYW1pbHkgX19zc19mYW1pbHkKKyNlbmRpZgorI2VuZGlmCisKKyNpZm5kZWYgWE1MX1NPQ0tMRU5fVAorI2RlZmluZSBYTUxfU09DS0xFTl9UIHVuc2lnbmVkIGludAorI2VuZGlmCisKKyNkZWZpbmUgRlRQX0NPTU1BTkRfT0sJCTIwMAorI2RlZmluZSBGVFBfU1lOVEFYX0VSUk9SCTUwMAorI2RlZmluZSBGVFBfR0VUX1BBU1NXRAkJMzMxCisjZGVmaW5lIEZUUF9CVUZfU0laRQkJMTAyNAorCisjZGVmaW5lIFhNTF9OQU5PX01BWF9VUkxCVUYJNDA5NgorCit0eXBlZGVmIHN0cnVjdCB4bWxOYW5vRlRQQ3R4dCB7CisgICAgY2hhciAqcHJvdG9jb2w7CS8qIHRoZSBwcm90b2NvbCBuYW1lICovCisgICAgY2hhciAqaG9zdG5hbWU7CS8qIHRoZSBob3N0IG5hbWUgKi8KKyAgICBpbnQgcG9ydDsJCS8qIHRoZSBwb3J0ICovCisgICAgY2hhciAqcGF0aDsJCS8qIHRoZSBwYXRoIHdpdGhpbiB0aGUgVVJMICovCisgICAgY2hhciAqdXNlcjsJCS8qIHVzZXIgc3RyaW5nICovCisgICAgY2hhciAqcGFzc3dkOwkvKiBwYXNzd2Qgc3RyaW5nICovCisjaWZkZWYgU1VQUE9SVF9JUDYKKyAgICBzdHJ1Y3Qgc29ja2FkZHJfc3RvcmFnZSBmdHBBZGRyOyAvKiB0aGlzIGlzIGxhcmdlIGVub3VnaCB0byBob2xkIElQdjYgYWRkcmVzcyovCisjZWxzZQorICAgIHN0cnVjdCBzb2NrYWRkcl9pbiBmdHBBZGRyOyAvKiB0aGUgc29ja2V0IGFkZHJlc3Mgc3RydWN0ICovCisjZW5kaWYKKyAgICBpbnQgcGFzc2l2ZTsJLyogY3VycmVudGx5IHdlIHN1cHBvcnQgb25seSBwYXNzaXZlICEhISAqLworICAgIFNPQ0tFVCBjb250cm9sRmQ7CS8qIHRoZSBmaWxlIGRlc2NyaXB0b3IgZm9yIHRoZSBjb250cm9sIHNvY2tldCAqLworICAgIFNPQ0tFVCBkYXRhRmQ7CS8qIHRoZSBmaWxlIGRlc2NyaXB0b3IgZm9yIHRoZSBkYXRhIHNvY2tldCAqLworICAgIGludCBzdGF0ZTsJCS8qIFdSSVRFIC8gUkVBRCAvIENMT1NFRCAqLworICAgIGludCByZXR1cm5WYWx1ZTsJLyogdGhlIHByb3RvY29sIHJldHVybiB2YWx1ZSAqLworICAgIC8qIGJ1ZmZlciBmb3IgZGF0YSByZWNlaXZlZCBmcm9tIHRoZSBjb250cm9sIGNvbm5lY3Rpb24gKi8KKyAgICBjaGFyIGNvbnRyb2xCdWZbRlRQX0JVRl9TSVpFICsgMV07CisgICAgaW50IGNvbnRyb2xCdWZJbmRleDsKKyAgICBpbnQgY29udHJvbEJ1ZlVzZWQ7CisgICAgaW50IGNvbnRyb2xCdWZBbnN3ZXI7Cit9IHhtbE5hbm9GVFBDdHh0LCAqeG1sTmFub0ZUUEN0eHRQdHI7CisKK3N0YXRpYyBpbnQgaW5pdGlhbGl6ZWQgPSAwOworc3RhdGljIGNoYXIgKnByb3h5ID0gTlVMTDsJLyogdGhlIHByb3h5IG5hbWUgaWYgYW55ICovCitzdGF0aWMgaW50IHByb3h5UG9ydCA9IDA7CS8qIHRoZSBwcm94eSBwb3J0IGlmIGFueSAqLworc3RhdGljIGNoYXIgKnByb3h5VXNlciA9IE5VTEw7CS8qIHVzZXIgZm9yIHByb3h5IGF1dGhlbnRpY2F0aW9uICovCitzdGF0aWMgY2hhciAqcHJveHlQYXNzd2QgPSBOVUxMOy8qIHBhc3N3ZCBmb3IgcHJveHkgYXV0aGVudGljYXRpb24gKi8KK3N0YXRpYyBpbnQgcHJveHlUeXBlID0gMDsJLyogdXNlcyBUWVBFIG9yIGFAYiA/ICovCisKKyNpZmRlZiBTVVBQT1JUX0lQNgorc3RhdGljCitpbnQgaGF2ZV9pcHY2KHZvaWQpIHsKKyAgICBpbnQgczsKKworICAgIHMgPSBzb2NrZXQgKEFGX0lORVQ2LCBTT0NLX1NUUkVBTSwgMCk7CisgICAgaWYgKHMgIT0gLTEpIHsKKwljbG9zZSAocyk7CisJcmV0dXJuICgxKTsKKyAgICB9CisgICAgcmV0dXJuICgwKTsKK30KKyNlbmRpZgorCisvKioKKyAqIHhtbEZUUEVyck1lbW9yeToKKyAqIEBleHRyYTogIGV4dHJhIGluZm9ybWF0aW9ucworICoKKyAqIEhhbmRsZSBhbiBvdXQgb2YgbWVtb3J5IGNvbmRpdGlvbgorICovCitzdGF0aWMgdm9pZAoreG1sRlRQRXJyTWVtb3J5KGNvbnN0IGNoYXIgKmV4dHJhKQoreworICAgIF9feG1sU2ltcGxlRXJyb3IoWE1MX0ZST01fRlRQLCBYTUxfRVJSX05PX01FTU9SWSwgTlVMTCwgTlVMTCwgZXh0cmEpOworfQorCisvKioKKyAqIHhtbE5hbm9GVFBJbml0OgorICoKKyAqIEluaXRpYWxpemUgdGhlIEZUUCBwcm90b2NvbCBsYXllci4KKyAqIEN1cnJlbnRseSBpdCBqdXN0IGNoZWNrcyBmb3IgcHJveHkgaW5mb3JtYXRpb25zLAorICogYW5kIGdldCB0aGUgaG9zdG5hbWUKKyAqLworCit2b2lkCit4bWxOYW5vRlRQSW5pdCh2b2lkKSB7CisgICAgY29uc3QgY2hhciAqZW52OworI2lmZGVmIF9XSU5TT0NLQVBJXworICAgIFdTQURBVEEgd3NhRGF0YTsKKyNlbmRpZgorCisgICAgaWYgKGluaXRpYWxpemVkKQorCXJldHVybjsKKworI2lmZGVmIF9XSU5TT0NLQVBJXworICAgIGlmIChXU0FTdGFydHVwKE1BS0VXT1JEKDEsIDEpLCAmd3NhRGF0YSkgIT0gMCkKKwlyZXR1cm47CisjZW5kaWYKKworICAgIHByb3h5UG9ydCA9IDIxOworICAgIGVudiA9IGdldGVudigibm9fcHJveHkiKTsKKyAgICBpZiAoZW52ICYmICgoZW52WzBdID09ICcqJyApICYmIChlbnZbMV0gPT0gMCkpKQorCXJldHVybjsKKyAgICBlbnYgPSBnZXRlbnYoImZ0cF9wcm94eSIpOworICAgIGlmIChlbnYgIT0gTlVMTCkgeworCXhtbE5hbm9GVFBTY2FuUHJveHkoZW52KTsKKyAgICB9IGVsc2UgeworCWVudiA9IGdldGVudigiRlRQX1BST1hZIik7CisJaWYgKGVudiAhPSBOVUxMKSB7CisJICAgIHhtbE5hbm9GVFBTY2FuUHJveHkoZW52KTsKKwl9CisgICAgfQorICAgIGVudiA9IGdldGVudigiZnRwX3Byb3h5X3VzZXIiKTsKKyAgICBpZiAoZW52ICE9IE5VTEwpIHsKKwlwcm94eVVzZXIgPSB4bWxNZW1TdHJkdXAoZW52KTsKKyAgICB9CisgICAgZW52ID0gZ2V0ZW52KCJmdHBfcHJveHlfcGFzc3dvcmQiKTsKKyAgICBpZiAoZW52ICE9IE5VTEwpIHsKKwlwcm94eVBhc3N3ZCA9IHhtbE1lbVN0cmR1cChlbnYpOworICAgIH0KKyAgICBpbml0aWFsaXplZCA9IDE7Cit9CisKKy8qKgorICogeG1sTmFub0ZUUENsZWFudXA6CisgKgorICogQ2xlYW51cCB0aGUgRlRQIHByb3RvY29sIGxheWVyLiBUaGlzIGNsZWFudXAgcHJveHkgaW5mb3JtYXRpb25zLgorICovCisKK3ZvaWQKK3htbE5hbm9GVFBDbGVhbnVwKHZvaWQpIHsKKyAgICBpZiAocHJveHkgIT0gTlVMTCkgeworCXhtbEZyZWUocHJveHkpOworCXByb3h5ID0gTlVMTDsKKyAgICB9CisgICAgaWYgKHByb3h5VXNlciAhPSBOVUxMKSB7CisJeG1sRnJlZShwcm94eVVzZXIpOworCXByb3h5VXNlciA9IE5VTEw7CisgICAgfQorICAgIGlmIChwcm94eVBhc3N3ZCAhPSBOVUxMKSB7CisJeG1sRnJlZShwcm94eVBhc3N3ZCk7CisJcHJveHlQYXNzd2QgPSBOVUxMOworICAgIH0KKyNpZmRlZiBfV0lOU09DS0FQSV8KKyAgICBpZiAoaW5pdGlhbGl6ZWQpCisJV1NBQ2xlYW51cCgpOworI2VuZGlmCisgICAgaW5pdGlhbGl6ZWQgPSAwOworfQorCisvKioKKyAqIHhtbE5hbm9GVFBQcm94eToKKyAqIEBob3N0OiAgdGhlIHByb3h5IGhvc3QgbmFtZQorICogQHBvcnQ6ICB0aGUgcHJveHkgcG9ydAorICogQHVzZXI6ICB0aGUgcHJveHkgdXNlciBuYW1lCisgKiBAcGFzc3dkOiAgdGhlIHByb3h5IHBhc3N3b3JkCisgKiBAdHlwZTogIHRoZSB0eXBlIG9mIHByb3h5IDEgZm9yIHVzaW5nIFNJVEUsIDIgZm9yIFVTRVIgYUBiCisgKgorICogU2V0dXAgdGhlIEZUUCBwcm94eSBpbmZvcm1hdGlvbnMuCisgKiBUaGlzIGNhbiBhbHNvIGJlIGRvbmUgYnkgdXNpbmcgZnRwX3Byb3h5IGZ0cF9wcm94eV91c2VyIGFuZAorICogZnRwX3Byb3h5X3Bhc3N3b3JkIGVudmlyb25tZW50IHZhcmlhYmxlcy4KKyAqLworCit2b2lkCit4bWxOYW5vRlRQUHJveHkoY29uc3QgY2hhciAqaG9zdCwgaW50IHBvcnQsIGNvbnN0IGNoYXIgKnVzZXIsCisJICAgICAgICBjb25zdCBjaGFyICpwYXNzd2QsIGludCB0eXBlKSB7CisgICAgaWYgKHByb3h5ICE9IE5VTEwpIHsKKwl4bWxGcmVlKHByb3h5KTsKKwlwcm94eSA9IE5VTEw7CisgICAgfQorICAgIGlmIChwcm94eVVzZXIgIT0gTlVMTCkgeworCXhtbEZyZWUocHJveHlVc2VyKTsKKwlwcm94eVVzZXIgPSBOVUxMOworICAgIH0KKyAgICBpZiAocHJveHlQYXNzd2QgIT0gTlVMTCkgeworCXhtbEZyZWUocHJveHlQYXNzd2QpOworCXByb3h5UGFzc3dkID0gTlVMTDsKKyAgICB9CisgICAgaWYgKGhvc3QpCisJcHJveHkgPSB4bWxNZW1TdHJkdXAoaG9zdCk7CisgICAgaWYgKHVzZXIpCisJcHJveHlVc2VyID0geG1sTWVtU3RyZHVwKHVzZXIpOworICAgIGlmIChwYXNzd2QpCisJcHJveHlQYXNzd2QgPSB4bWxNZW1TdHJkdXAocGFzc3dkKTsKKyAgICBwcm94eVBvcnQgPSBwb3J0OworICAgIHByb3h5VHlwZSA9IHR5cGU7Cit9CisKKy8qKgorICogeG1sTmFub0ZUUFNjYW5VUkw6CisgKiBAY3R4OiAgYW4gRlRQIGNvbnRleHQKKyAqIEBVUkw6ICBUaGUgVVJMIHVzZWQgdG8gaW5pdGlhbGl6ZSB0aGUgY29udGV4dAorICoKKyAqIChSZSlJbml0aWFsaXplIGFuIEZUUCBjb250ZXh0IGJ5IHBhcnNpbmcgdGhlIFVSTCBhbmQgZmluZGluZworICogdGhlIHByb3RvY29sIGhvc3QgcG9ydCBhbmQgcGF0aCBpdCBpbmRpY2F0ZXMuCisgKi8KKworc3RhdGljIHZvaWQKK3htbE5hbm9GVFBTY2FuVVJMKHZvaWQgKmN0eCwgY29uc3QgY2hhciAqVVJMKSB7CisgICAgeG1sTmFub0ZUUEN0eHRQdHIgY3R4dCA9ICh4bWxOYW5vRlRQQ3R4dFB0cikgY3R4OworICAgIHhtbFVSSVB0ciB1cmk7CisKKyAgICAvKgorICAgICAqIENsZWFyIGFueSBleGlzdGluZyBkYXRhIGZyb20gdGhlIGNvbnRleHQKKyAgICAgKi8KKyAgICBpZiAoY3R4dC0+cHJvdG9jb2wgIT0gTlVMTCkgeworICAgICAgICB4bWxGcmVlKGN0eHQtPnByb3RvY29sKTsKKwljdHh0LT5wcm90b2NvbCA9IE5VTEw7CisgICAgfQorICAgIGlmIChjdHh0LT5ob3N0bmFtZSAhPSBOVUxMKSB7CisgICAgICAgIHhtbEZyZWUoY3R4dC0+aG9zdG5hbWUpOworCWN0eHQtPmhvc3RuYW1lID0gTlVMTDsKKyAgICB9CisgICAgaWYgKGN0eHQtPnBhdGggIT0gTlVMTCkgeworICAgICAgICB4bWxGcmVlKGN0eHQtPnBhdGgpOworCWN0eHQtPnBhdGggPSBOVUxMOworICAgIH0KKyAgICBpZiAoVVJMID09IE5VTEwpIHJldHVybjsKKworICAgIHVyaSA9IHhtbFBhcnNlVVJJUmF3KFVSTCwgMSk7CisgICAgaWYgKHVyaSA9PSBOVUxMKQorCXJldHVybjsKKworICAgIGlmICgodXJpLT5zY2hlbWUgPT0gTlVMTCkgfHwgKHVyaS0+c2VydmVyID09IE5VTEwpKSB7CisJeG1sRnJlZVVSSSh1cmkpOworCXJldHVybjsKKyAgICB9CisKKyAgICBjdHh0LT5wcm90b2NvbCA9IHhtbE1lbVN0cmR1cCh1cmktPnNjaGVtZSk7CisgICAgY3R4dC0+aG9zdG5hbWUgPSB4bWxNZW1TdHJkdXAodXJpLT5zZXJ2ZXIpOworICAgIGlmICh1cmktPnBhdGggIT0gTlVMTCkKKwljdHh0LT5wYXRoID0geG1sTWVtU3RyZHVwKHVyaS0+cGF0aCk7CisgICAgZWxzZQorCWN0eHQtPnBhdGggPSB4bWxNZW1TdHJkdXAoIi8iKTsKKyAgICBpZiAodXJpLT5wb3J0ICE9IDApCisJY3R4dC0+cG9ydCA9IHVyaS0+cG9ydDsKKworICAgIGlmICh1cmktPnVzZXIgIT0gTlVMTCkgeworCWNoYXIgKmNwdHI7CisJaWYgKChjcHRyPXN0cmNocih1cmktPnVzZXIsICc6JykpID09IE5VTEwpCisJICAgIGN0eHQtPnVzZXIgPSB4bWxNZW1TdHJkdXAodXJpLT51c2VyKTsKKwllbHNlIHsKKwkgICAgY3R4dC0+dXNlciA9IChjaGFyICopeG1sU3RybmR1cCgoeG1sQ2hhciAqKXVyaS0+dXNlciwKKwkJCSAgICAoY3B0ciAtIHVyaS0+dXNlcikpOworCSAgICBjdHh0LT5wYXNzd2QgPSB4bWxNZW1TdHJkdXAoY3B0cisxKTsKKwl9CisgICAgfQorCisgICAgeG1sRnJlZVVSSSh1cmkpOworCit9CisKKy8qKgorICogeG1sTmFub0ZUUFVwZGF0ZVVSTDoKKyAqIEBjdHg6ICBhbiBGVFAgY29udGV4dAorICogQFVSTDogIFRoZSBVUkwgdXNlZCB0byB1cGRhdGUgdGhlIGNvbnRleHQKKyAqCisgKiBVcGRhdGUgYW4gRlRQIGNvbnRleHQgYnkgcGFyc2luZyB0aGUgVVJMIGFuZCBmaW5kaW5nCisgKiBuZXcgcGF0aCBpdCBpbmRpY2F0ZXMuIElmIHRoZXJlIGlzIGFuIGVycm9yIGluIHRoZQorICogcHJvdG9jb2wsIGhvc3RuYW1lLCBwb3J0IG9yIG90aGVyIGluZm9ybWF0aW9uLCB0aGUKKyAqIGVycm9yIGlzIHJhaXNlZC4gSXQgaW5kaWNhdGVzIGEgbmV3IGNvbm5lY3Rpb24gaGFzIHRvCisgKiBiZSBlc3RhYmxpc2hlZC4KKyAqCisgKiBSZXR1cm5zIDAgaWYgT2ssIC0xIGluIGNhc2Ugb2YgZXJyb3IgKG90aGVyIGhvc3QpLgorICovCisKK2ludAoreG1sTmFub0ZUUFVwZGF0ZVVSTCh2b2lkICpjdHgsIGNvbnN0IGNoYXIgKlVSTCkgeworICAgIHhtbE5hbm9GVFBDdHh0UHRyIGN0eHQgPSAoeG1sTmFub0ZUUEN0eHRQdHIpIGN0eDsKKyAgICB4bWxVUklQdHIgdXJpOworCisgICAgaWYgKFVSTCA9PSBOVUxMKQorCXJldHVybigtMSk7CisgICAgaWYgKGN0eHQgPT0gTlVMTCkKKwlyZXR1cm4oLTEpOworICAgIGlmIChjdHh0LT5wcm90b2NvbCA9PSBOVUxMKQorCXJldHVybigtMSk7CisgICAgaWYgKGN0eHQtPmhvc3RuYW1lID09IE5VTEwpCisJcmV0dXJuKC0xKTsKKworICAgIHVyaSA9IHhtbFBhcnNlVVJJUmF3KFVSTCwgMSk7CisgICAgaWYgKHVyaSA9PSBOVUxMKQorCXJldHVybigtMSk7CisKKyAgICBpZiAoKHVyaS0+c2NoZW1lID09IE5VTEwpIHx8ICh1cmktPnNlcnZlciA9PSBOVUxMKSkgeworCXhtbEZyZWVVUkkodXJpKTsKKwlyZXR1cm4oLTEpOworICAgIH0KKyAgICBpZiAoKHN0cmNtcChjdHh0LT5wcm90b2NvbCwgdXJpLT5zY2hlbWUpKSB8fAorCShzdHJjbXAoY3R4dC0+aG9zdG5hbWUsIHVyaS0+c2VydmVyKSkgfHwKKwkoKHVyaS0+cG9ydCAhPSAwKSAmJiAoY3R4dC0+cG9ydCAhPSB1cmktPnBvcnQpKSkgeworCXhtbEZyZWVVUkkodXJpKTsKKwlyZXR1cm4oLTEpOworICAgIH0KKworICAgIGlmICh1cmktPnBvcnQgIT0gMCkKKwljdHh0LT5wb3J0ID0gdXJpLT5wb3J0OworCisgICAgaWYgKGN0eHQtPnBhdGggIT0gTlVMTCkgeworCXhtbEZyZWUoY3R4dC0+cGF0aCk7CisJY3R4dC0+cGF0aCA9IE5VTEw7CisgICAgfQorCisgICAgaWYgKHVyaS0+cGF0aCA9PSBOVUxMKQorICAgICAgICBjdHh0LT5wYXRoID0geG1sTWVtU3RyZHVwKCIvIik7CisgICAgZWxzZQorCWN0eHQtPnBhdGggPSB4bWxNZW1TdHJkdXAodXJpLT5wYXRoKTsKKworICAgIHhtbEZyZWVVUkkodXJpKTsKKworICAgIHJldHVybigwKTsKK30KKworLyoqCisgKiB4bWxOYW5vRlRQU2NhblByb3h5OgorICogQFVSTDogIFRoZSBwcm94eSBVUkwgdXNlZCB0byBpbml0aWFsaXplIHRoZSBwcm94eSBjb250ZXh0CisgKgorICogKFJlKUluaXRpYWxpemUgdGhlIEZUUCBQcm94eSBjb250ZXh0IGJ5IHBhcnNpbmcgdGhlIFVSTCBhbmQgZmluZGluZworICogdGhlIHByb3RvY29sIGhvc3QgcG9ydCBpdCBpbmRpY2F0ZXMuCisgKiBTaG91bGQgYmUgbGlrZSBmdHA6Ly9teXByb3h5LyBvciBmdHA6Ly9teXByb3h5OjMxMjgvCisgKiBBIE5VTEwgVVJMIGNsZWFucyB1cCBwcm94eSBpbmZvcm1hdGlvbnMuCisgKi8KKwordm9pZAoreG1sTmFub0ZUUFNjYW5Qcm94eShjb25zdCBjaGFyICpVUkwpIHsKKyAgICB4bWxVUklQdHIgdXJpOworCisgICAgaWYgKHByb3h5ICE9IE5VTEwpIHsKKyAgICAgICAgeG1sRnJlZShwcm94eSk7CisJcHJveHkgPSBOVUxMOworICAgIH0KKyAgICBwcm94eVBvcnQgPSAwOworCisjaWZkZWYgREVCVUdfRlRQCisgICAgaWYgKFVSTCA9PSBOVUxMKQorCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkiUmVtb3ZpbmcgRlRQIHByb3h5IGluZm9cbiIpOworICAgIGVsc2UKKwl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJIlVzaW5nIEZUUCBwcm94eSAlc1xuIiwgVVJMKTsKKyNlbmRpZgorICAgIGlmIChVUkwgPT0gTlVMTCkgcmV0dXJuOworCisgICAgdXJpID0geG1sUGFyc2VVUklSYXcoVVJMLCAxKTsKKyAgICBpZiAoKHVyaSA9PSBOVUxMKSB8fCAodXJpLT5zY2hlbWUgPT0gTlVMTCkgfHwKKwkoc3RyY21wKHVyaS0+c2NoZW1lLCAiZnRwIikpIHx8ICh1cmktPnNlcnZlciA9PSBOVUxMKSkgeworCV9feG1sSU9FcnIoWE1MX0ZST01fRlRQLCBYTUxfRlRQX1VSTF9TWU5UQVgsICJTeW50YXggRXJyb3JcbiIpOworCWlmICh1cmkgIT0gTlVMTCkKKwkgICAgeG1sRnJlZVVSSSh1cmkpOworCXJldHVybjsKKyAgICB9CisKKyAgICBwcm94eSA9IHhtbE1lbVN0cmR1cCh1cmktPnNlcnZlcik7CisgICAgaWYgKHVyaS0+cG9ydCAhPSAwKQorCXByb3h5UG9ydCA9IHVyaS0+cG9ydDsKKworICAgIHhtbEZyZWVVUkkodXJpKTsKK30KKworLyoqCisgKiB4bWxOYW5vRlRQTmV3Q3R4dDoKKyAqIEBVUkw6ICBUaGUgVVJMIHVzZWQgdG8gaW5pdGlhbGl6ZSB0aGUgY29udGV4dAorICoKKyAqIEFsbG9jYXRlIGFuZCBpbml0aWFsaXplIGEgbmV3IEZUUCBjb250ZXh0LgorICoKKyAqIFJldHVybnMgYW4gRlRQIGNvbnRleHQgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLgorICovCisKK3ZvaWQqCit4bWxOYW5vRlRQTmV3Q3R4dChjb25zdCBjaGFyICpVUkwpIHsKKyAgICB4bWxOYW5vRlRQQ3R4dFB0ciByZXQ7CisgICAgY2hhciAqdW5lc2NhcGVkOworCisgICAgcmV0ID0gKHhtbE5hbm9GVFBDdHh0UHRyKSB4bWxNYWxsb2Moc2l6ZW9mKHhtbE5hbm9GVFBDdHh0KSk7CisgICAgaWYgKHJldCA9PSBOVUxMKSB7CisgICAgICAgIHhtbEZUUEVyck1lbW9yeSgiYWxsb2NhdGluZyBGVFAgY29udGV4dCIpOworICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgfQorCisgICAgbWVtc2V0KHJldCwgMCwgc2l6ZW9mKHhtbE5hbm9GVFBDdHh0KSk7CisgICAgcmV0LT5wb3J0ID0gMjE7CisgICAgcmV0LT5wYXNzaXZlID0gMTsKKyAgICByZXQtPnJldHVyblZhbHVlID0gMDsKKyAgICByZXQtPmNvbnRyb2xCdWZJbmRleCA9IDA7CisgICAgcmV0LT5jb250cm9sQnVmVXNlZCA9IDA7CisgICAgcmV0LT5jb250cm9sRmQgPSBJTlZBTElEX1NPQ0tFVDsKKworICAgIHVuZXNjYXBlZCA9IHhtbFVSSVVuZXNjYXBlU3RyaW5nKFVSTCwgMCwgTlVMTCk7CisgICAgaWYgKHVuZXNjYXBlZCAhPSBOVUxMKSB7CisJeG1sTmFub0ZUUFNjYW5VUkwocmV0LCB1bmVzY2FwZWQpOworCXhtbEZyZWUodW5lc2NhcGVkKTsKKyAgICB9IGVsc2UgaWYgKFVSTCAhPSBOVUxMKQorCXhtbE5hbm9GVFBTY2FuVVJMKHJldCwgVVJMKTsKKworICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbE5hbm9GVFBGcmVlQ3R4dDoKKyAqIEBjdHg6ICBhbiBGVFAgY29udGV4dAorICoKKyAqIEZyZWVzIHRoZSBjb250ZXh0IGFmdGVyIGNsb3NpbmcgdGhlIGNvbm5lY3Rpb24uCisgKi8KKwordm9pZAoreG1sTmFub0ZUUEZyZWVDdHh0KHZvaWQgKiBjdHgpIHsKKyAgICB4bWxOYW5vRlRQQ3R4dFB0ciBjdHh0ID0gKHhtbE5hbm9GVFBDdHh0UHRyKSBjdHg7CisgICAgaWYgKGN0eHQgPT0gTlVMTCkgcmV0dXJuOworICAgIGlmIChjdHh0LT5ob3N0bmFtZSAhPSBOVUxMKSB4bWxGcmVlKGN0eHQtPmhvc3RuYW1lKTsKKyAgICBpZiAoY3R4dC0+cHJvdG9jb2wgIT0gTlVMTCkgeG1sRnJlZShjdHh0LT5wcm90b2NvbCk7CisgICAgaWYgKGN0eHQtPnBhdGggIT0gTlVMTCkgeG1sRnJlZShjdHh0LT5wYXRoKTsKKyAgICBjdHh0LT5wYXNzaXZlID0gMTsKKyAgICBpZiAoY3R4dC0+Y29udHJvbEZkICE9IElOVkFMSURfU09DS0VUKSBjbG9zZXNvY2tldChjdHh0LT5jb250cm9sRmQpOworICAgIGN0eHQtPmNvbnRyb2xGZCA9IElOVkFMSURfU09DS0VUOworICAgIGN0eHQtPmNvbnRyb2xCdWZJbmRleCA9IC0xOworICAgIGN0eHQtPmNvbnRyb2xCdWZVc2VkID0gLTE7CisgICAgeG1sRnJlZShjdHh0KTsKK30KKworLyoqCisgKiB4bWxOYW5vRlRQUGFyc2VSZXNwb25zZToKKyAqIEBidWY6ICB0aGUgYnVmZmVyIGNvbnRhaW5pbmcgdGhlIHJlc3BvbnNlCisgKiBAbGVuOiAgdGhlIGJ1ZmZlciBsZW5ndGgKKyAqCisgKiBQYXJzaW5nIG9mIHRoZSBzZXJ2ZXIgYW5zd2VyLCB3ZSBqdXN0IGV4dHJhY3QgdGhlIGNvZGUuCisgKgorICogcmV0dXJucyAwIGZvciBlcnJvcnMKKyAqICAgICArWFhYIGZvciBsYXN0IGxpbmUgb2YgcmVzcG9uc2UKKyAqICAgICAtWFhYIGZvciByZXNwb25zZSB0byBiZSBjb250aW51ZWQKKyAqLworc3RhdGljIGludAoreG1sTmFub0ZUUFBhcnNlUmVzcG9uc2UoY2hhciAqYnVmLCBpbnQgbGVuKSB7CisgICAgaW50IHZhbCA9IDA7CisKKyAgICBpZiAobGVuIDwgMykgcmV0dXJuKC0xKTsKKyAgICBpZiAoKCpidWYgPj0gJzAnKSAmJiAoKmJ1ZiA8PSAnOScpKQorICAgICAgICB2YWwgPSB2YWwgKiAxMCArICgqYnVmIC0gJzAnKTsKKyAgICBlbHNlCisgICAgICAgIHJldHVybigwKTsKKyAgICBidWYrKzsKKyAgICBpZiAoKCpidWYgPj0gJzAnKSAmJiAoKmJ1ZiA8PSAnOScpKQorICAgICAgICB2YWwgPSB2YWwgKiAxMCArICgqYnVmIC0gJzAnKTsKKyAgICBlbHNlCisgICAgICAgIHJldHVybigwKTsKKyAgICBidWYrKzsKKyAgICBpZiAoKCpidWYgPj0gJzAnKSAmJiAoKmJ1ZiA8PSAnOScpKQorICAgICAgICB2YWwgPSB2YWwgKiAxMCArICgqYnVmIC0gJzAnKTsKKyAgICBlbHNlCisgICAgICAgIHJldHVybigwKTsKKyAgICBidWYrKzsKKyAgICBpZiAoKmJ1ZiA9PSAnLScpCisgICAgICAgIHJldHVybigtdmFsKTsKKyAgICByZXR1cm4odmFsKTsKK30KKworLyoqCisgKiB4bWxOYW5vRlRQR2V0TW9yZToKKyAqIEBjdHg6ICBhbiBGVFAgY29udGV4dAorICoKKyAqIFJlYWQgbW9yZSBpbmZvcm1hdGlvbiBmcm9tIHRoZSBGVFAgY29udHJvbCBjb25uZWN0aW9uCisgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgYnl0ZXMgcmVhZCwgPCAwIGluZGljYXRlcyBhbiBlcnJvcgorICovCitzdGF0aWMgaW50Cit4bWxOYW5vRlRQR2V0TW9yZSh2b2lkICpjdHgpIHsKKyAgICB4bWxOYW5vRlRQQ3R4dFB0ciBjdHh0ID0gKHhtbE5hbm9GVFBDdHh0UHRyKSBjdHg7CisgICAgaW50IGxlbjsKKyAgICBpbnQgc2l6ZTsKKworICAgIGlmICgoY3R4dCA9PSBOVUxMKSB8fCAoY3R4dC0+Y29udHJvbEZkID09IElOVkFMSURfU09DS0VUKSkgcmV0dXJuKC0xKTsKKworICAgIGlmICgoY3R4dC0+Y29udHJvbEJ1ZkluZGV4IDwgMCkgfHwgKGN0eHQtPmNvbnRyb2xCdWZJbmRleCA+IEZUUF9CVUZfU0laRSkpIHsKKyNpZmRlZiBERUJVR19GVFAKKyAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSJ4bWxOYW5vRlRQR2V0TW9yZSA6IGNvbnRyb2xCdWZJbmRleCA9ICVkXG4iLAorCQljdHh0LT5jb250cm9sQnVmSW5kZXgpOworI2VuZGlmCisJcmV0dXJuKC0xKTsKKyAgICB9CisKKyAgICBpZiAoKGN0eHQtPmNvbnRyb2xCdWZVc2VkIDwgMCkgfHwgKGN0eHQtPmNvbnRyb2xCdWZVc2VkID4gRlRQX0JVRl9TSVpFKSkgeworI2lmZGVmIERFQlVHX0ZUUAorICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJInhtbE5hbm9GVFBHZXRNb3JlIDogY29udHJvbEJ1ZlVzZWQgPSAlZFxuIiwKKwkJY3R4dC0+Y29udHJvbEJ1ZlVzZWQpOworI2VuZGlmCisJcmV0dXJuKC0xKTsKKyAgICB9CisgICAgaWYgKGN0eHQtPmNvbnRyb2xCdWZJbmRleCA+IGN0eHQtPmNvbnRyb2xCdWZVc2VkKSB7CisjaWZkZWYgREVCVUdfRlRQCisgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkieG1sTmFub0ZUUEdldE1vcmUgOiBjb250cm9sQnVmSW5kZXggPiBjb250cm9sQnVmVXNlZCAlZCA+ICVkXG4iLAorCSAgICAgICBjdHh0LT5jb250cm9sQnVmSW5kZXgsIGN0eHQtPmNvbnRyb2xCdWZVc2VkKTsKKyNlbmRpZgorCXJldHVybigtMSk7CisgICAgfQorCisgICAgLyoKKyAgICAgKiBGaXJzdCBwYWNrIHRoZSBjb250cm9sIGJ1ZmZlcgorICAgICAqLworICAgIGlmIChjdHh0LT5jb250cm9sQnVmSW5kZXggPiAwKSB7CisJbWVtbW92ZSgmY3R4dC0+Y29udHJvbEJ1ZlswXSwgJmN0eHQtPmNvbnRyb2xCdWZbY3R4dC0+Y29udHJvbEJ1ZkluZGV4XSwKKwkJY3R4dC0+Y29udHJvbEJ1ZlVzZWQgLSBjdHh0LT5jb250cm9sQnVmSW5kZXgpOworCWN0eHQtPmNvbnRyb2xCdWZVc2VkIC09IGN0eHQtPmNvbnRyb2xCdWZJbmRleDsKKwljdHh0LT5jb250cm9sQnVmSW5kZXggPSAwOworICAgIH0KKyAgICBzaXplID0gRlRQX0JVRl9TSVpFIC0gY3R4dC0+Y29udHJvbEJ1ZlVzZWQ7CisgICAgaWYgKHNpemUgPT0gMCkgeworI2lmZGVmIERFQlVHX0ZUUAorICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJInhtbE5hbm9GVFBHZXRNb3JlIDogYnVmZmVyIGZ1bGwgJWQgXG4iLCBjdHh0LT5jb250cm9sQnVmVXNlZCk7CisjZW5kaWYKKwlyZXR1cm4oMCk7CisgICAgfQorCisgICAgLyoKKyAgICAgKiBSZWFkIHRoZSBhbW91bnQgbGVmdCBvbiB0aGUgY29udHJvbCBjb25uZWN0aW9uCisgICAgICovCisgICAgaWYgKChsZW4gPSByZWN2KGN0eHQtPmNvbnRyb2xGZCwgJmN0eHQtPmNvbnRyb2xCdWZbY3R4dC0+Y29udHJvbEJ1ZkluZGV4XSwKKwkJICAgIHNpemUsIDApKSA8IDApIHsKKwlfX3htbElPRXJyKFhNTF9GUk9NX0ZUUCwgMCwgInJlY3YgZmFpbGVkIik7CisJY2xvc2Vzb2NrZXQoY3R4dC0+Y29udHJvbEZkKTsgY3R4dC0+Y29udHJvbEZkID0gSU5WQUxJRF9TT0NLRVQ7CisgICAgICAgIGN0eHQtPmNvbnRyb2xGZCA9IElOVkFMSURfU09DS0VUOworICAgICAgICByZXR1cm4oLTEpOworICAgIH0KKyNpZmRlZiBERUJVR19GVFAKKyAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkgICAgInhtbE5hbm9GVFBHZXRNb3JlIDogcmVhZCAlZCBbJWQgLSAlZF1cbiIsIGxlbiwKKwkgICBjdHh0LT5jb250cm9sQnVmVXNlZCwgY3R4dC0+Y29udHJvbEJ1ZlVzZWQgKyBsZW4pOworI2VuZGlmCisgICAgY3R4dC0+Y29udHJvbEJ1ZlVzZWQgKz0gbGVuOworICAgIGN0eHQtPmNvbnRyb2xCdWZbY3R4dC0+Y29udHJvbEJ1ZlVzZWRdID0gMDsKKworICAgIHJldHVybihsZW4pOworfQorCisvKioKKyAqIHhtbE5hbm9GVFBSZWFkUmVzcG9uc2U6CisgKiBAY3R4OiAgYW4gRlRQIGNvbnRleHQKKyAqCisgKiBSZWFkIHRoZSByZXNwb25zZSBmcm9tIHRoZSBGVFAgc2VydmVyIGFmdGVyIGEgY29tbWFuZC4KKyAqIFJldHVybnMgdGhlIGNvZGUgbnVtYmVyCisgKi8KK3N0YXRpYyBpbnQKK3htbE5hbm9GVFBSZWFkUmVzcG9uc2Uodm9pZCAqY3R4KSB7CisgICAgeG1sTmFub0ZUUEN0eHRQdHIgY3R4dCA9ICh4bWxOYW5vRlRQQ3R4dFB0cikgY3R4OworICAgIGNoYXIgKnB0ciwgKmVuZDsKKyAgICBpbnQgbGVuOworICAgIGludCByZXMgPSAtMSwgY3VyID0gLTE7CisKKyAgICBpZiAoKGN0eHQgPT0gTlVMTCkgfHwgKGN0eHQtPmNvbnRyb2xGZCA9PSBJTlZBTElEX1NPQ0tFVCkpIHJldHVybigtMSk7CisKK2dldF9tb3JlOgorICAgIC8qCisgICAgICogQXNzdW1lcyBldmVyeXRoaW5nIHVwIHRvIGNvbnRyb2xCdWZbY29udHJvbEJ1ZkluZGV4XSBoYXMgYmVlbiByZWFkCisgICAgICogYW5kIGFuYWx5emVkLgorICAgICAqLworICAgIGxlbiA9IHhtbE5hbm9GVFBHZXRNb3JlKGN0eCk7CisgICAgaWYgKGxlbiA8IDApIHsKKyAgICAgICAgcmV0dXJuKC0xKTsKKyAgICB9CisgICAgaWYgKChjdHh0LT5jb250cm9sQnVmVXNlZCA9PSAwKSAmJiAobGVuID09IDApKSB7CisgICAgICAgIHJldHVybigtMSk7CisgICAgfQorICAgIHB0ciA9ICZjdHh0LT5jb250cm9sQnVmW2N0eHQtPmNvbnRyb2xCdWZJbmRleF07CisgICAgZW5kID0gJmN0eHQtPmNvbnRyb2xCdWZbY3R4dC0+Y29udHJvbEJ1ZlVzZWRdOworCisjaWZkZWYgREVCVUdfRlRQCisgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJICAgICJcbjw8PFxuJXNcbi0tXG4iLCBwdHIpOworI2VuZGlmCisgICAgd2hpbGUgKHB0ciA8IGVuZCkgeworICAgICAgICBjdXIgPSB4bWxOYW5vRlRQUGFyc2VSZXNwb25zZShwdHIsIGVuZCAtIHB0cik7CisJaWYgKGN1ciA+IDApIHsKKwkgICAgLyoKKwkgICAgICogU3VjY2Vzc2Z1bGx5IHNjYW5uZWQgdGhlIGNvbnRyb2wgY29kZSwgc2NyYXRjaAorCSAgICAgKiB0aWxsIHRoZSBlbmQgb2YgdGhlIGxpbmUsIGJ1dCBrZWVwIHRoZSBpbmRleCB0byBiZQorCSAgICAgKiBhYmxlIHRvIGFuYWx5emUgdGhlIHJlc3VsdCBpZiBuZWVkZWQuCisJICAgICAqLworCSAgICByZXMgPSBjdXI7CisJICAgIHB0ciArPSAzOworCSAgICBjdHh0LT5jb250cm9sQnVmQW5zd2VyID0gcHRyIC0gY3R4dC0+Y29udHJvbEJ1ZjsKKwkgICAgd2hpbGUgKChwdHIgPCBlbmQpICYmICgqcHRyICE9ICdcbicpKSBwdHIrKzsKKwkgICAgaWYgKCpwdHIgPT0gJ1xuJykgcHRyKys7CisJICAgIGlmICgqcHRyID09ICdccicpIHB0cisrOworCSAgICBicmVhazsKKwl9CisJd2hpbGUgKChwdHIgPCBlbmQpICYmICgqcHRyICE9ICdcbicpKSBwdHIrKzsKKwlpZiAocHRyID49IGVuZCkgeworCSAgICBjdHh0LT5jb250cm9sQnVmSW5kZXggPSBjdHh0LT5jb250cm9sQnVmVXNlZDsKKwkgICAgZ290byBnZXRfbW9yZTsKKwl9CisJaWYgKCpwdHIgIT0gJ1xyJykgcHRyKys7CisgICAgfQorCisgICAgaWYgKHJlcyA8IDApIGdvdG8gZ2V0X21vcmU7CisgICAgY3R4dC0+Y29udHJvbEJ1ZkluZGV4ID0gcHRyIC0gY3R4dC0+Y29udHJvbEJ1ZjsKKyNpZmRlZiBERUJVR19GVFAKKyAgICBwdHIgPSAmY3R4dC0+Y29udHJvbEJ1ZltjdHh0LT5jb250cm9sQnVmSW5kZXhdOworICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCAiXG4tLS1cbiVzXG4tLVxuIiwgcHRyKTsKKyNlbmRpZgorCisjaWZkZWYgREVCVUdfRlRQCisgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICJHb3QgJWRcbiIsIHJlcyk7CisjZW5kaWYKKyAgICByZXR1cm4ocmVzIC8gMTAwKTsKK30KKworLyoqCisgKiB4bWxOYW5vRlRQR2V0UmVzcG9uc2U6CisgKiBAY3R4OiAgYW4gRlRQIGNvbnRleHQKKyAqCisgKiBHZXQgdGhlIHJlc3BvbnNlIGZyb20gdGhlIEZUUCBzZXJ2ZXIgYWZ0ZXIgYSBjb21tYW5kLgorICogUmV0dXJucyB0aGUgY29kZSBudW1iZXIKKyAqLworCitpbnQKK3htbE5hbm9GVFBHZXRSZXNwb25zZSh2b2lkICpjdHgpIHsKKyAgICBpbnQgcmVzOworCisgICAgcmVzID0geG1sTmFub0ZUUFJlYWRSZXNwb25zZShjdHgpOworCisgICAgcmV0dXJuKHJlcyk7Cit9CisKKy8qKgorICogeG1sTmFub0ZUUENoZWNrUmVzcG9uc2U6CisgKiBAY3R4OiAgYW4gRlRQIGNvbnRleHQKKyAqCisgKiBDaGVjayBpZiB0aGVyZSBpcyBhIHJlc3BvbnNlIGZyb20gdGhlIEZUUCBzZXJ2ZXIgYWZ0ZXIgYSBjb21tYW5kLgorICogUmV0dXJucyB0aGUgY29kZSBudW1iZXIsIG9yIDAKKyAqLworCitpbnQKK3htbE5hbm9GVFBDaGVja1Jlc3BvbnNlKHZvaWQgKmN0eCkgeworICAgIHhtbE5hbm9GVFBDdHh0UHRyIGN0eHQgPSAoeG1sTmFub0ZUUEN0eHRQdHIpIGN0eDsKKyAgICBmZF9zZXQgcmZkOworICAgIHN0cnVjdCB0aW1ldmFsIHR2OworCisgICAgaWYgKChjdHh0ID09IE5VTEwpIHx8IChjdHh0LT5jb250cm9sRmQgPT0gSU5WQUxJRF9TT0NLRVQpKSByZXR1cm4oLTEpOworICAgIHR2LnR2X3NlYyA9IDA7CisgICAgdHYudHZfdXNlYyA9IDA7CisgICAgRkRfWkVSTygmcmZkKTsKKyAgICBGRF9TRVQoY3R4dC0+Y29udHJvbEZkLCAmcmZkKTsKKyAgICBzd2l0Y2goc2VsZWN0KGN0eHQtPmNvbnRyb2xGZCArIDEsICZyZmQsIE5VTEwsIE5VTEwsICZ0dikpIHsKKwljYXNlIDA6CisJICAgIHJldHVybigwKTsKKwljYXNlIC0xOgorCSAgICBfX3htbElPRXJyKFhNTF9GUk9NX0ZUUCwgMCwgInNlbGVjdCIpOworCSAgICByZXR1cm4oLTEpOworCisgICAgfQorCisgICAgcmV0dXJuKHhtbE5hbm9GVFBSZWFkUmVzcG9uc2UoY3R4KSk7Cit9CisKKy8qKgorICogU2VuZCB0aGUgdXNlciBhdXRoZW50aWNhdGlvbgorICovCisKK3N0YXRpYyBpbnQKK3htbE5hbm9GVFBTZW5kVXNlcih2b2lkICpjdHgpIHsKKyAgICB4bWxOYW5vRlRQQ3R4dFB0ciBjdHh0ID0gKHhtbE5hbm9GVFBDdHh0UHRyKSBjdHg7CisgICAgY2hhciBidWZbMjAwXTsKKyAgICBpbnQgbGVuOworICAgIGludCByZXM7CisKKyAgICBpZiAoY3R4dC0+dXNlciA9PSBOVUxMKQorCXNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksICJVU0VSIGFub255bW91c1xyXG4iKTsKKyAgICBlbHNlCisJc25wcmludGYoYnVmLCBzaXplb2YoYnVmKSwgIlVTRVIgJXNcclxuIiwgY3R4dC0+dXNlcik7CisgICAgYnVmW3NpemVvZihidWYpIC0gMV0gPSAwOworICAgIGxlbiA9IHN0cmxlbihidWYpOworI2lmZGVmIERFQlVHX0ZUUAorICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCAiJXMiLCBidWYpOworI2VuZGlmCisgICAgcmVzID0gc2VuZChjdHh0LT5jb250cm9sRmQsIFNFTkRfQVJHMl9DQVNUIGJ1ZiwgbGVuLCAwKTsKKyAgICBpZiAocmVzIDwgMCkgeworCV9feG1sSU9FcnIoWE1MX0ZST01fRlRQLCAwLCAic2VuZCBmYWlsZWQiKTsKKwlyZXR1cm4ocmVzKTsKKyAgICB9CisgICAgcmV0dXJuKDApOworfQorCisvKioKKyAqIFNlbmQgdGhlIHBhc3N3b3JkIGF1dGhlbnRpY2F0aW9uCisgKi8KKworc3RhdGljIGludAoreG1sTmFub0ZUUFNlbmRQYXNzd2Qodm9pZCAqY3R4KSB7CisgICAgeG1sTmFub0ZUUEN0eHRQdHIgY3R4dCA9ICh4bWxOYW5vRlRQQ3R4dFB0cikgY3R4OworICAgIGNoYXIgYnVmWzIwMF07CisgICAgaW50IGxlbjsKKyAgICBpbnQgcmVzOworCisgICAgaWYgKGN0eHQtPnBhc3N3ZCA9PSBOVUxMKQorCXNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksICJQQVNTIGFub255bW91c0BcclxuIik7CisgICAgZWxzZQorCXNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksICJQQVNTICVzXHJcbiIsIGN0eHQtPnBhc3N3ZCk7CisgICAgYnVmW3NpemVvZihidWYpIC0gMV0gPSAwOworICAgIGxlbiA9IHN0cmxlbihidWYpOworI2lmZGVmIERFQlVHX0ZUUAorICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCAiJXMiLCBidWYpOworI2VuZGlmCisgICAgcmVzID0gc2VuZChjdHh0LT5jb250cm9sRmQsIFNFTkRfQVJHMl9DQVNUIGJ1ZiwgbGVuLCAwKTsKKyAgICBpZiAocmVzIDwgMCkgeworCV9feG1sSU9FcnIoWE1MX0ZST01fRlRQLCAwLCAic2VuZCBmYWlsZWQiKTsKKwlyZXR1cm4ocmVzKTsKKyAgICB9CisgICAgcmV0dXJuKDApOworfQorCisvKioKKyAqIHhtbE5hbm9GVFBRdWl0OgorICogQGN0eDogIGFuIEZUUCBjb250ZXh0CisgKgorICogU2VuZCBhIFFVSVQgY29tbWFuZCB0byB0aGUgc2VydmVyCisgKgorICogUmV0dXJucyAtMSBpbiBjYXNlIG9mIGVycm9yLCAwIG90aGVyd2lzZQorICovCisKKworaW50Cit4bWxOYW5vRlRQUXVpdCh2b2lkICpjdHgpIHsKKyAgICB4bWxOYW5vRlRQQ3R4dFB0ciBjdHh0ID0gKHhtbE5hbm9GVFBDdHh0UHRyKSBjdHg7CisgICAgY2hhciBidWZbMjAwXTsKKyAgICBpbnQgbGVuLCByZXM7CisKKyAgICBpZiAoKGN0eHQgPT0gTlVMTCkgfHwgKGN0eHQtPmNvbnRyb2xGZCA9PSBJTlZBTElEX1NPQ0tFVCkpIHJldHVybigtMSk7CisKKyAgICBzbnByaW50ZihidWYsIHNpemVvZihidWYpLCAiUVVJVFxyXG4iKTsKKyAgICBsZW4gPSBzdHJsZW4oYnVmKTsKKyNpZmRlZiBERUJVR19GVFAKKyAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgIiVzIiwgYnVmKTsgLyogSnVzdCB0byBiZSBjb25zaXN0ZW50LCBldmVuIHRob3VnaCB3ZSBrbm93IGl0IGNhbid0IGhhdmUgYSAlIGluIGl0ICovCisjZW5kaWYKKyAgICByZXMgPSBzZW5kKGN0eHQtPmNvbnRyb2xGZCwgU0VORF9BUkcyX0NBU1QgYnVmLCBsZW4sIDApOworICAgIGlmIChyZXMgPCAwKSB7CisJX194bWxJT0VycihYTUxfRlJPTV9GVFAsIDAsICJzZW5kIGZhaWxlZCIpOworCXJldHVybihyZXMpOworICAgIH0KKyAgICByZXR1cm4oMCk7Cit9CisKKy8qKgorICogeG1sTmFub0ZUUENvbm5lY3Q6CisgKiBAY3R4OiAgYW4gRlRQIGNvbnRleHQKKyAqCisgKiBUcmllcyB0byBvcGVuIGEgY29udHJvbCBjb25uZWN0aW9uCisgKgorICogUmV0dXJucyAtMSBpbiBjYXNlIG9mIGVycm9yLCAwIG90aGVyd2lzZQorICovCisKK2ludAoreG1sTmFub0ZUUENvbm5lY3Qodm9pZCAqY3R4KSB7CisgICAgeG1sTmFub0ZUUEN0eHRQdHIgY3R4dCA9ICh4bWxOYW5vRlRQQ3R4dFB0cikgY3R4OworICAgIHN0cnVjdCBob3N0ZW50ICpocDsKKyAgICBpbnQgcG9ydDsKKyAgICBpbnQgcmVzOworICAgIGludCBhZGRybGVuID0gc2l6ZW9mIChzdHJ1Y3Qgc29ja2FkZHJfaW4pOworCisgICAgaWYgKGN0eHQgPT0gTlVMTCkKKwlyZXR1cm4oLTEpOworICAgIGlmIChjdHh0LT5ob3N0bmFtZSA9PSBOVUxMKQorCXJldHVybigtMSk7CisKKyAgICAvKgorICAgICAqIGRvIHRoZSBibG9ja2luZyBETlMgcXVlcnkuCisgICAgICovCisgICAgaWYgKHByb3h5KSB7CisgICAgICAgIHBvcnQgPSBwcm94eVBvcnQ7CisgICAgfSBlbHNlIHsKKwlwb3J0ID0gY3R4dC0+cG9ydDsKKyAgICB9CisgICAgaWYgKHBvcnQgPT0gMCkKKwlwb3J0ID0gMjE7CisKKyAgICBtZW1zZXQgKCZjdHh0LT5mdHBBZGRyLCAwLCBzaXplb2YoY3R4dC0+ZnRwQWRkcikpOworCisjaWZkZWYgU1VQUE9SVF9JUDYKKyAgICBpZiAoaGF2ZV9pcHY2ICgpKSB7CisJc3RydWN0IGFkZHJpbmZvIGhpbnRzLCAqdG1wLCAqcmVzdWx0OworCisJcmVzdWx0ID0gTlVMTDsKKwltZW1zZXQgKCZoaW50cywgMCwgc2l6ZW9mKGhpbnRzKSk7CisJaGludHMuYWlfc29ja3R5cGUgPSBTT0NLX1NUUkVBTTsKKworCWlmIChwcm94eSkgeworCSAgICBpZiAoZ2V0YWRkcmluZm8gKHByb3h5LCBOVUxMLCAmaGludHMsICZyZXN1bHQpICE9IDApIHsKKwkJX194bWxJT0VycihYTUxfRlJPTV9GVFAsIDAsICJnZXRhZGRyaW5mbyBmYWlsZWQiKTsKKwkJcmV0dXJuICgtMSk7CisJICAgIH0KKwl9CisJZWxzZQorCSAgICBpZiAoZ2V0YWRkcmluZm8gKGN0eHQtPmhvc3RuYW1lLCBOVUxMLCAmaGludHMsICZyZXN1bHQpICE9IDApIHsKKwkJX194bWxJT0VycihYTUxfRlJPTV9GVFAsIDAsICJnZXRhZGRyaW5mbyBmYWlsZWQiKTsKKwkJcmV0dXJuICgtMSk7CisJICAgIH0KKworCWZvciAodG1wID0gcmVzdWx0OyB0bXA7IHRtcCA9IHRtcC0+YWlfbmV4dCkKKwkgICAgaWYgKHRtcC0+YWlfZmFtaWx5ID09IEFGX0lORVQgfHwgdG1wLT5haV9mYW1pbHkgPT0gQUZfSU5FVDYpCisJCWJyZWFrOworCisJaWYgKCF0bXApIHsKKwkgICAgaWYgKHJlc3VsdCkKKwkJZnJlZWFkZHJpbmZvIChyZXN1bHQpOworCSAgICBfX3htbElPRXJyKFhNTF9GUk9NX0ZUUCwgMCwgImdldGFkZHJpbmZvIGZhaWxlZCIpOworCSAgICByZXR1cm4gKC0xKTsKKwl9CisJaWYgKHRtcC0+YWlfYWRkcmxlbiA+IHNpemVvZihjdHh0LT5mdHBBZGRyKSkgeworCSAgICBpZiAocmVzdWx0KQorCQlmcmVlYWRkcmluZm8gKHJlc3VsdCk7CisJICAgIF9feG1sSU9FcnIoWE1MX0ZST01fRlRQLCAwLCAiZ2V0aG9zdGJ5bmFtZSBhZGRyZXNzIG1pc21hdGNoIik7CisJICAgIHJldHVybiAoLTEpOworCX0KKwlpZiAodG1wLT5haV9mYW1pbHkgPT0gQUZfSU5FVDYpIHsKKwkgICAgbWVtY3B5ICgmY3R4dC0+ZnRwQWRkciwgdG1wLT5haV9hZGRyLCB0bXAtPmFpX2FkZHJsZW4pOworCSAgICAoKHN0cnVjdCBzb2NrYWRkcl9pbjYgKikgJmN0eHQtPmZ0cEFkZHIpLT5zaW42X3BvcnQgPSBodG9ucyAocG9ydCk7CisJICAgIGN0eHQtPmNvbnRyb2xGZCA9IHNvY2tldCAoQUZfSU5FVDYsIFNPQ0tfU1RSRUFNLCAwKTsKKwl9CisJZWxzZSB7CisJICAgIG1lbWNweSAoJmN0eHQtPmZ0cEFkZHIsIHRtcC0+YWlfYWRkciwgdG1wLT5haV9hZGRybGVuKTsKKwkgICAgKChzdHJ1Y3Qgc29ja2FkZHJfaW4gKikgJmN0eHQtPmZ0cEFkZHIpLT5zaW5fcG9ydCA9IGh0b25zIChwb3J0KTsKKwkgICAgY3R4dC0+Y29udHJvbEZkID0gc29ja2V0IChBRl9JTkVULCBTT0NLX1NUUkVBTSwgMCk7CisJfQorCWFkZHJsZW4gPSB0bXAtPmFpX2FkZHJsZW47CisJZnJlZWFkZHJpbmZvIChyZXN1bHQpOworICAgIH0KKyAgICBlbHNlCisjZW5kaWYKKyAgICB7CisJaWYgKHByb3h5KQorCSAgICBocCA9IGdldGhvc3RieW5hbWUgKEdFVEhPU1RCWU5BTUVfQVJHX0NBU1QgcHJveHkpOworCWVsc2UKKwkgICAgaHAgPSBnZXRob3N0YnluYW1lIChHRVRIT1NUQllOQU1FX0FSR19DQVNUIGN0eHQtPmhvc3RuYW1lKTsKKwlpZiAoaHAgPT0gTlVMTCkgeworCSAgICBfX3htbElPRXJyKFhNTF9GUk9NX0ZUUCwgMCwgImdldGhvc3RieW5hbWUgZmFpbGVkIik7CisJICAgIHJldHVybiAoLTEpOworCX0KKwlpZiAoKHVuc2lnbmVkIGludCkgaHAtPmhfbGVuZ3RoID4KKwkgICAgc2l6ZW9mKCgoc3RydWN0IHNvY2thZGRyX2luICopJmN0eHQtPmZ0cEFkZHIpLT5zaW5fYWRkcikpIHsKKwkgICAgX194bWxJT0VycihYTUxfRlJPTV9GVFAsIDAsICJnZXRob3N0YnluYW1lIGFkZHJlc3MgbWlzbWF0Y2giKTsKKwkgICAgcmV0dXJuICgtMSk7CisJfQorCisJLyoKKwkgKiBQcmVwYXJlIHRoZSBzb2NrZXQKKwkgKi8KKwkoKHN0cnVjdCBzb2NrYWRkcl9pbiAqKSZjdHh0LT5mdHBBZGRyKS0+c2luX2ZhbWlseSA9IEFGX0lORVQ7CisJbWVtY3B5ICgmKChzdHJ1Y3Qgc29ja2FkZHJfaW4gKikmY3R4dC0+ZnRwQWRkciktPnNpbl9hZGRyLAorCQlocC0+aF9hZGRyX2xpc3RbMF0sIGhwLT5oX2xlbmd0aCk7CisJKChzdHJ1Y3Qgc29ja2FkZHJfaW4gKikmY3R4dC0+ZnRwQWRkciktPnNpbl9wb3J0ID0KKyAgICAgICAgICAgICAodW5zaWduZWQgc2hvcnQpaHRvbnMgKCh1bnNpZ25lZCBzaG9ydClwb3J0KTsKKwljdHh0LT5jb250cm9sRmQgPSBzb2NrZXQgKEFGX0lORVQsIFNPQ0tfU1RSRUFNLCAwKTsKKwlhZGRybGVuID0gc2l6ZW9mIChzdHJ1Y3Qgc29ja2FkZHJfaW4pOworICAgIH0KKworICAgIGlmIChjdHh0LT5jb250cm9sRmQgPT0gSU5WQUxJRF9TT0NLRVQpIHsKKwlfX3htbElPRXJyKFhNTF9GUk9NX0ZUUCwgMCwgInNvY2tldCBmYWlsZWQiKTsKKyAgICAgICAgcmV0dXJuKC0xKTsKKyAgICB9CisKKyAgICAvKgorICAgICAqIERvIHRoZSBjb25uZWN0LgorICAgICAqLworICAgIGlmIChjb25uZWN0KGN0eHQtPmNvbnRyb2xGZCwgKHN0cnVjdCBzb2NrYWRkciAqKSAmY3R4dC0+ZnRwQWRkciwKKwkgICAgYWRkcmxlbikgPCAwKSB7CisJX194bWxJT0VycihYTUxfRlJPTV9GVFAsIDAsICJGYWlsZWQgdG8gY3JlYXRlIGEgY29ubmVjdGlvbiIpOworICAgICAgICBjbG9zZXNvY2tldChjdHh0LT5jb250cm9sRmQpOyBjdHh0LT5jb250cm9sRmQgPSBJTlZBTElEX1NPQ0tFVDsKKyAgICAgICAgY3R4dC0+Y29udHJvbEZkID0gSU5WQUxJRF9TT0NLRVQ7CisJcmV0dXJuKC0xKTsKKyAgICB9CisKKyAgICAvKgorICAgICAqIFdhaXQgZm9yIHRoZSBIRUxMTyBmcm9tIHRoZSBzZXJ2ZXIuCisgICAgICovCisgICAgcmVzID0geG1sTmFub0ZUUEdldFJlc3BvbnNlKGN0eHQpOworICAgIGlmIChyZXMgIT0gMikgeworICAgICAgICBjbG9zZXNvY2tldChjdHh0LT5jb250cm9sRmQpOyBjdHh0LT5jb250cm9sRmQgPSBJTlZBTElEX1NPQ0tFVDsKKyAgICAgICAgY3R4dC0+Y29udHJvbEZkID0gSU5WQUxJRF9TT0NLRVQ7CisJcmV0dXJuKC0xKTsKKyAgICB9CisKKyAgICAvKgorICAgICAqIFN0YXRlIGRpYWdyYW0gZm9yIHRoZSBsb2dpbiBvcGVyYXRpb24gb24gdGhlIEZUUCBzZXJ2ZXIKKyAgICAgKgorICAgICAqIFJlZmVyZW5jZTogUkZDIDk1OQorICAgICAqCisgICAgICogICAgICAgICAgICAgICAgICAgICAgIDEKKyAgICAgKiArLS0tKyAgIFVTRVIgICAgKy0tLSstLS0tLS0tLS0tLS0tPistLS0rCisgICAgICogfCBCIHwtLS0tLS0tLS0tPnwgVyB8IDIgICAgICAgLS0tLT58IEUgfAorICAgICAqICstLS0rICAgICAgICAgICArLS0tKy0tLS0tLSAgfCAgLS0+Ky0tLSsKKyAgICAgKiAgICAgICAgICAgICAgICAgIHwgfCAgICAgICB8IHwgfAorICAgICAqICAgICAgICAgICAgICAgIDMgfCB8IDQsNSAgIHwgfCB8CisgICAgICogICAgLS0tLS0tLS0tLS0tLS0gICAtLS0tLSAgfCB8IHwKKyAgICAgKiAgIHwgICAgICAgICAgICAgICAgICAgICAgfCB8IHwgfAorICAgICAqICAgfCAgICAgICAgICAgICAgICAgICAgICB8IHwgfCB8CisgICAgICogICB8ICAgICAgICAgICAgICAgICAtLS0tLS0tLS0gIHwKKyAgICAgKiAgIHwgICAgICAgICAgICAgICAxfCAgICAgfCB8ICAgfAorICAgICAqICAgViAgICAgICAgICAgICAgICB8ICAgICB8IHwgICB8CisgICAgICogKy0tLSsgICBQQVNTICAgICstLS0rIDIgIHwgIC0tLS0tLT4rLS0tKworICAgICAqIHwgICB8LS0tLS0tLS0tLT58IFcgfC0tLS0tLS0tLS0tLS0+fCBTIHwKKyAgICAgKiArLS0tKyAgICAgICAgICAgKy0tLSsgICAtLS0tLS0tLS0tPistLS0rCisgICAgICogICAgICAgICAgICAgICAgICB8IHwgICB8IHwgICAgIHwKKyAgICAgKiAgICAgICAgICAgICAgICAzIHwgfDQsNXwgfCAgICAgfAorICAgICAqICAgIC0tLS0tLS0tLS0tLS0tICAgLS0tLS0tLS0gICB8CisgICAgICogICB8ICAgICAgICAgICAgICAgICAgICB8IHwgIHwgIHwKKyAgICAgKiAgIHwgICAgICAgICAgICAgICAgICAgIHwgfCAgfCAgfAorICAgICAqICAgfCAgICAgICAgICAgICAgICAgLS0tLS0tLS0tLS0KKyAgICAgKiAgIHwgICAgICAgICAgICAgMSwzfCAgIHwgfCAgfAorICAgICAqICAgViAgICAgICAgICAgICAgICB8ICAyfCB8ICB8CisgICAgICogKy0tLSsgICBBQ0NUICAgICstLS0rLS0gIHwgICAtLS0tLT4rLS0tKworICAgICAqIHwgICB8LS0tLS0tLS0tLT58IFcgfCA0LDUgLS0tLS0tLS0+fCBGIHwKKyAgICAgKiArLS0tKyAgICAgICAgICAgKy0tLSstLS0tLS0tLS0tLS0tPistLS0rCisgICAgICoKKyAgICAgKiBPZiBjb3Vyc2UgaW4gY2FzZSBvZiB1c2luZyBhIHByb3h5IHRoaXMgZ2V0IHJlYWxseSBuYXN0eSBhbmQgaXMgbm90CisgICAgICogc3RhbmRhcmRpemVkIGF0IGFsbCA6LSgKKyAgICAgKi8KKyAgICBpZiAocHJveHkpIHsKKyAgICAgICAgaW50IGxlbjsKKwljaGFyIGJ1Zls0MDBdOworCisgICAgICAgIGlmIChwcm94eVVzZXIgIT0gTlVMTCkgeworCSAgICAvKgorCSAgICAgKiBXZSBuZWVkIHByb3h5IGF1dGgKKwkgICAgICovCisJICAgIHNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksICJVU0VSICVzXHJcbiIsIHByb3h5VXNlcik7CisgICAgICAgICAgICBidWZbc2l6ZW9mKGJ1ZikgLSAxXSA9IDA7CisgICAgICAgICAgICBsZW4gPSBzdHJsZW4oYnVmKTsKKyNpZmRlZiBERUJVR19GVFAKKwkgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICIlcyIsIGJ1Zik7CisjZW5kaWYKKwkgICAgcmVzID0gc2VuZChjdHh0LT5jb250cm9sRmQsIFNFTkRfQVJHMl9DQVNUIGJ1ZiwgbGVuLCAwKTsKKwkgICAgaWYgKHJlcyA8IDApIHsKKwkJX194bWxJT0VycihYTUxfRlJPTV9GVFAsIDAsICJzZW5kIGZhaWxlZCIpOworCQljbG9zZXNvY2tldChjdHh0LT5jb250cm9sRmQpOworCQljdHh0LT5jb250cm9sRmQgPSBJTlZBTElEX1NPQ0tFVDsKKwkgICAgICAgIHJldHVybihyZXMpOworCSAgICB9CisJICAgIHJlcyA9IHhtbE5hbm9GVFBHZXRSZXNwb25zZShjdHh0KTsKKwkgICAgc3dpdGNoIChyZXMpIHsKKwkJY2FzZSAyOgorCQkgICAgaWYgKHByb3h5UGFzc3dkID09IE5VTEwpCisJCQlicmVhazsKKwkJY2FzZSAzOgorCQkgICAgaWYgKHByb3h5UGFzc3dkICE9IE5VTEwpCisJCQlzbnByaW50ZihidWYsIHNpemVvZihidWYpLCAiUEFTUyAlc1xyXG4iLCBwcm94eVBhc3N3ZCk7CisJCSAgICBlbHNlCisJCQlzbnByaW50ZihidWYsIHNpemVvZihidWYpLCAiUEFTUyBhbm9ueW1vdXNAXHJcbiIpOworICAgICAgICAgICAgICAgICAgICBidWZbc2l6ZW9mKGJ1ZikgLSAxXSA9IDA7CisgICAgICAgICAgICAgICAgICAgIGxlbiA9IHN0cmxlbihidWYpOworI2lmZGVmIERFQlVHX0ZUUAorCQkgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICIlcyIsIGJ1Zik7CisjZW5kaWYKKwkJICAgIHJlcyA9IHNlbmQoY3R4dC0+Y29udHJvbEZkLCBTRU5EX0FSRzJfQ0FTVCBidWYsIGxlbiwgMCk7CisJCSAgICBpZiAocmVzIDwgMCkgeworCQkJX194bWxJT0VycihYTUxfRlJPTV9GVFAsIDAsICJzZW5kIGZhaWxlZCIpOworCQkJY2xvc2Vzb2NrZXQoY3R4dC0+Y29udHJvbEZkKTsKKwkJCWN0eHQtPmNvbnRyb2xGZCA9IElOVkFMSURfU09DS0VUOworCQkJcmV0dXJuKHJlcyk7CisJCSAgICB9CisJCSAgICByZXMgPSB4bWxOYW5vRlRQR2V0UmVzcG9uc2UoY3R4dCk7CisJCSAgICBpZiAocmVzID4gMykgeworCQkJY2xvc2Vzb2NrZXQoY3R4dC0+Y29udHJvbEZkKTsKKwkJCWN0eHQtPmNvbnRyb2xGZCA9IElOVkFMSURfU09DS0VUOworCQkJcmV0dXJuKC0xKTsKKwkJICAgIH0KKwkJICAgIGJyZWFrOworCQljYXNlIDE6CisJCSAgICBicmVhazsKKwkJY2FzZSA0OgorCQljYXNlIDU6CisJCWNhc2UgLTE6CisJCWRlZmF1bHQ6CisJCSAgICBjbG9zZXNvY2tldChjdHh0LT5jb250cm9sRmQpOworCQkgICAgY3R4dC0+Y29udHJvbEZkID0gSU5WQUxJRF9TT0NLRVQ7CisJCSAgICByZXR1cm4oLTEpOworCSAgICB9CisJfQorCisJLyoKKwkgKiBXZSBhc3N1bWUgd2UgZG9uJ3QgbmVlZCBtb3JlIGF1dGhlbnRpY2F0aW9uIHRvIHRoZSBwcm94eQorCSAqIGFuZCB0aGF0IGl0IHN1Y2NlZWRlZCA6LVwKKwkgKi8KKwlzd2l0Y2ggKHByb3h5VHlwZSkgeworCSAgICBjYXNlIDA6CisJCS8qIHdlIHdpbGwgdHJ5IGluIHNlcXVlbmNlICovCisJICAgIGNhc2UgMToKKwkJLyogVXNpbmcgU0lURSBjb21tYW5kICovCisJCXNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksICJTSVRFICVzXHJcbiIsIGN0eHQtPmhvc3RuYW1lKTsKKyAgICAgICAgICAgICAgICBidWZbc2l6ZW9mKGJ1ZikgLSAxXSA9IDA7CisgICAgICAgICAgICAgICAgbGVuID0gc3RybGVuKGJ1Zik7CisjaWZkZWYgREVCVUdfRlRQCisJCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCAiJXMiLCBidWYpOworI2VuZGlmCisJCXJlcyA9IHNlbmQoY3R4dC0+Y29udHJvbEZkLCBTRU5EX0FSRzJfQ0FTVCBidWYsIGxlbiwgMCk7CisJCWlmIChyZXMgPCAwKSB7CisJCSAgICBfX3htbElPRXJyKFhNTF9GUk9NX0ZUUCwgMCwgInNlbmQgZmFpbGVkIik7CisJCSAgICBjbG9zZXNvY2tldChjdHh0LT5jb250cm9sRmQpOyBjdHh0LT5jb250cm9sRmQgPSBJTlZBTElEX1NPQ0tFVDsKKwkJICAgIGN0eHQtPmNvbnRyb2xGZCA9IElOVkFMSURfU09DS0VUOworCQkgICAgcmV0dXJuKHJlcyk7CisJCX0KKwkJcmVzID0geG1sTmFub0ZUUEdldFJlc3BvbnNlKGN0eHQpOworCQlpZiAocmVzID09IDIpIHsKKwkJICAgIC8qIHdlIGFzc3VtZSBpdCB3b3JrZWQgOi1cIDEgaXMgZXJyb3IgZm9yIFNJVEUgY29tbWFuZCAqLworCQkgICAgcHJveHlUeXBlID0gMTsKKwkJICAgIGJyZWFrOworCQl9CisJCWlmIChwcm94eVR5cGUgPT0gMSkgeworCQkgICAgY2xvc2Vzb2NrZXQoY3R4dC0+Y29udHJvbEZkKTsgY3R4dC0+Y29udHJvbEZkID0gSU5WQUxJRF9TT0NLRVQ7CisJCSAgICBjdHh0LT5jb250cm9sRmQgPSBJTlZBTElEX1NPQ0tFVDsKKwkJICAgIHJldHVybigtMSk7CisJCX0KKwkgICAgY2FzZSAyOgorCQkvKiBVU0VSIHVzZXJAaG9zdCBjb21tYW5kICovCisJCWlmIChjdHh0LT51c2VyID09IE5VTEwpCisJCSAgICBzbnByaW50ZihidWYsIHNpemVvZihidWYpLCAiVVNFUiBhbm9ueW1vdXNAJXNcclxuIiwKKwkJCSAgICAgICAgICAgY3R4dC0+aG9zdG5hbWUpOworCQllbHNlCisJCSAgICBzbnByaW50ZihidWYsIHNpemVvZihidWYpLCAiVVNFUiAlc0Alc1xyXG4iLAorCQkJICAgICAgICAgICBjdHh0LT51c2VyLCBjdHh0LT5ob3N0bmFtZSk7CisgICAgICAgICAgICAgICAgYnVmW3NpemVvZihidWYpIC0gMV0gPSAwOworICAgICAgICAgICAgICAgIGxlbiA9IHN0cmxlbihidWYpOworI2lmZGVmIERFQlVHX0ZUUAorCQl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgIiVzIiwgYnVmKTsKKyNlbmRpZgorCQlyZXMgPSBzZW5kKGN0eHQtPmNvbnRyb2xGZCwgU0VORF9BUkcyX0NBU1QgYnVmLCBsZW4sIDApOworCQlpZiAocmVzIDwgMCkgeworCQkgICAgX194bWxJT0VycihYTUxfRlJPTV9GVFAsIDAsICJzZW5kIGZhaWxlZCIpOworCQkgICAgY2xvc2Vzb2NrZXQoY3R4dC0+Y29udHJvbEZkKTsgY3R4dC0+Y29udHJvbEZkID0gSU5WQUxJRF9TT0NLRVQ7CisJCSAgICBjdHh0LT5jb250cm9sRmQgPSBJTlZBTElEX1NPQ0tFVDsKKwkJICAgIHJldHVybihyZXMpOworCQl9CisJCXJlcyA9IHhtbE5hbm9GVFBHZXRSZXNwb25zZShjdHh0KTsKKwkJaWYgKChyZXMgPT0gMSkgfHwgKHJlcyA9PSAyKSkgeworCQkgICAgLyogd2UgYXNzdW1lIGl0IHdvcmtlZCA6LVwgKi8KKwkJICAgIHByb3h5VHlwZSA9IDI7CisJCSAgICByZXR1cm4oMCk7CisJCX0KKwkJaWYgKGN0eHQtPnBhc3N3ZCA9PSBOVUxMKQorCQkgICAgc25wcmludGYoYnVmLCBzaXplb2YoYnVmKSwgIlBBU1MgYW5vbnltb3VzQFxyXG4iKTsKKwkJZWxzZQorCQkgICAgc25wcmludGYoYnVmLCBzaXplb2YoYnVmKSwgIlBBU1MgJXNcclxuIiwgY3R4dC0+cGFzc3dkKTsKKyAgICAgICAgICAgICAgICBidWZbc2l6ZW9mKGJ1ZikgLSAxXSA9IDA7CisgICAgICAgICAgICAgICAgbGVuID0gc3RybGVuKGJ1Zik7CisjaWZkZWYgREVCVUdfRlRQCisJCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCAiJXMiLCBidWYpOworI2VuZGlmCisJCXJlcyA9IHNlbmQoY3R4dC0+Y29udHJvbEZkLCBTRU5EX0FSRzJfQ0FTVCBidWYsIGxlbiwgMCk7CisJCWlmIChyZXMgPCAwKSB7CisJCSAgICBfX3htbElPRXJyKFhNTF9GUk9NX0ZUUCwgMCwgInNlbmQgZmFpbGVkIik7CisJCSAgICBjbG9zZXNvY2tldChjdHh0LT5jb250cm9sRmQpOyBjdHh0LT5jb250cm9sRmQgPSBJTlZBTElEX1NPQ0tFVDsKKwkJICAgIGN0eHQtPmNvbnRyb2xGZCA9IElOVkFMSURfU09DS0VUOworCQkgICAgcmV0dXJuKHJlcyk7CisJCX0KKwkJcmVzID0geG1sTmFub0ZUUEdldFJlc3BvbnNlKGN0eHQpOworCQlpZiAoKHJlcyA9PSAxKSB8fCAocmVzID09IDIpKSB7CisJCSAgICAvKiB3ZSBhc3N1bWUgaXQgd29ya2VkIDotXCAqLworCQkgICAgcHJveHlUeXBlID0gMjsKKwkJICAgIHJldHVybigwKTsKKwkJfQorCQlpZiAocHJveHlUeXBlID09IDIpIHsKKwkJICAgIGNsb3Nlc29ja2V0KGN0eHQtPmNvbnRyb2xGZCk7IGN0eHQtPmNvbnRyb2xGZCA9IElOVkFMSURfU09DS0VUOworCQkgICAgY3R4dC0+Y29udHJvbEZkID0gSU5WQUxJRF9TT0NLRVQ7CisJCSAgICByZXR1cm4oLTEpOworCQl9CisJICAgIGNhc2UgMzoKKwkJLyoKKwkJICogSWYgeW91IG5lZWQgc3VwcG9ydCBmb3Igb3RoZXIgUHJveHkgYXV0aGVudGljYXRpb24gc2NoZW1lCisJCSAqIHNlbmQgdGhlIGNvZGUgb3IgYXQgbGVhc3QgdGhlIHNlcXVlbmNlIGluIHVzZS4KKwkJICovCisJICAgIGRlZmF1bHQ6CisJCWNsb3Nlc29ja2V0KGN0eHQtPmNvbnRyb2xGZCk7IGN0eHQtPmNvbnRyb2xGZCA9IElOVkFMSURfU09DS0VUOworCQljdHh0LT5jb250cm9sRmQgPSBJTlZBTElEX1NPQ0tFVDsKKwkJcmV0dXJuKC0xKTsKKwl9CisgICAgfQorICAgIC8qCisgICAgICogTm9uLXByb3h5IGhhbmRsaW5nLgorICAgICAqLworICAgIHJlcyA9IHhtbE5hbm9GVFBTZW5kVXNlcihjdHh0KTsKKyAgICBpZiAocmVzIDwgMCkgeworICAgICAgICBjbG9zZXNvY2tldChjdHh0LT5jb250cm9sRmQpOyBjdHh0LT5jb250cm9sRmQgPSBJTlZBTElEX1NPQ0tFVDsKKyAgICAgICAgY3R4dC0+Y29udHJvbEZkID0gSU5WQUxJRF9TT0NLRVQ7CisJcmV0dXJuKC0xKTsKKyAgICB9CisgICAgcmVzID0geG1sTmFub0ZUUEdldFJlc3BvbnNlKGN0eHQpOworICAgIHN3aXRjaCAocmVzKSB7CisJY2FzZSAyOgorCSAgICByZXR1cm4oMCk7CisJY2FzZSAzOgorCSAgICBicmVhazsKKwljYXNlIDE6CisJY2FzZSA0OgorCWNhc2UgNToKKyAgICAgICAgY2FzZSAtMToKKwlkZWZhdWx0OgorCSAgICBjbG9zZXNvY2tldChjdHh0LT5jb250cm9sRmQpOyBjdHh0LT5jb250cm9sRmQgPSBJTlZBTElEX1NPQ0tFVDsKKwkgICAgY3R4dC0+Y29udHJvbEZkID0gSU5WQUxJRF9TT0NLRVQ7CisJICAgIHJldHVybigtMSk7CisgICAgfQorICAgIHJlcyA9IHhtbE5hbm9GVFBTZW5kUGFzc3dkKGN0eHQpOworICAgIGlmIChyZXMgPCAwKSB7CisgICAgICAgIGNsb3Nlc29ja2V0KGN0eHQtPmNvbnRyb2xGZCk7IGN0eHQtPmNvbnRyb2xGZCA9IElOVkFMSURfU09DS0VUOworICAgICAgICBjdHh0LT5jb250cm9sRmQgPSBJTlZBTElEX1NPQ0tFVDsKKwlyZXR1cm4oLTEpOworICAgIH0KKyAgICByZXMgPSB4bWxOYW5vRlRQR2V0UmVzcG9uc2UoY3R4dCk7CisgICAgc3dpdGNoIChyZXMpIHsKKwljYXNlIDI6CisJICAgIGJyZWFrOworCWNhc2UgMzoKKwkgICAgX194bWxJT0VycihYTUxfRlJPTV9GVFAsIFhNTF9GVFBfQUNDTlQsCisJCSAgICAgICAiRlRQIHNlcnZlciBhc2tpbmcgZm9yIEFDQ05UIG9uIGFub255bW91c1xuIik7CisJY2FzZSAxOgorCWNhc2UgNDoKKwljYXNlIDU6CisgICAgICAgIGNhc2UgLTE6CisJZGVmYXVsdDoKKwkgICAgY2xvc2Vzb2NrZXQoY3R4dC0+Y29udHJvbEZkKTsgY3R4dC0+Y29udHJvbEZkID0gSU5WQUxJRF9TT0NLRVQ7CisJICAgIGN0eHQtPmNvbnRyb2xGZCA9IElOVkFMSURfU09DS0VUOworCSAgICByZXR1cm4oLTEpOworICAgIH0KKworICAgIHJldHVybigwKTsKK30KKworLyoqCisgKiB4bWxOYW5vRlRQQ29ubmVjdFRvOgorICogQHNlcnZlcjogIGFuIEZUUCBzZXJ2ZXIgbmFtZQorICogQHBvcnQ6ICB0aGUgcG9ydCAodXNlIDIxIGlmIDApCisgKgorICogVHJpZXMgdG8gb3BlbiBhIGNvbnRyb2wgY29ubmVjdGlvbiB0byB0aGUgZ2l2ZW4gc2VydmVyL3BvcnQKKyAqCisgKiBSZXR1cm5zIGFuIGZUUCBjb250ZXh0IG9yIE5VTEwgaWYgaXQgZmFpbGVkCisgKi8KKwordm9pZCoKK3htbE5hbm9GVFBDb25uZWN0VG8oY29uc3QgY2hhciAqc2VydmVyLCBpbnQgcG9ydCkgeworICAgIHhtbE5hbm9GVFBDdHh0UHRyIGN0eHQ7CisgICAgaW50IHJlczsKKworICAgIHhtbE5hbm9GVFBJbml0KCk7CisgICAgaWYgKHNlcnZlciA9PSBOVUxMKQorCXJldHVybihOVUxMKTsKKyAgICBpZiAocG9ydCA8PSAwKQorCXJldHVybihOVUxMKTsKKyAgICBjdHh0ID0gKHhtbE5hbm9GVFBDdHh0UHRyKSB4bWxOYW5vRlRQTmV3Q3R4dChOVUxMKTsKKyAgICBpZiAoY3R4dCA9PSBOVUxMKQorICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgY3R4dC0+aG9zdG5hbWUgPSB4bWxNZW1TdHJkdXAoc2VydmVyKTsKKyAgICBpZiAoY3R4dC0+aG9zdG5hbWUgPT0gTlVMTCkgeworCXhtbE5hbm9GVFBGcmVlQ3R4dChjdHh0KTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIGlmIChwb3J0ICE9IDApCisJY3R4dC0+cG9ydCA9IHBvcnQ7CisgICAgcmVzID0geG1sTmFub0ZUUENvbm5lY3QoY3R4dCk7CisgICAgaWYgKHJlcyA8IDApIHsKKwl4bWxOYW5vRlRQRnJlZUN0eHQoY3R4dCk7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICByZXR1cm4oY3R4dCk7Cit9CisKKy8qKgorICogeG1sTmFub0ZUUEN3ZDoKKyAqIEBjdHg6ICBhbiBGVFAgY29udGV4dAorICogQGRpcmVjdG9yeTogIGEgZGlyZWN0b3J5IG9uIHRoZSBzZXJ2ZXIKKyAqCisgKiBUcmllcyB0byBjaGFuZ2UgdGhlIHJlbW90ZSBkaXJlY3RvcnkKKyAqCisgKiBSZXR1cm5zIC0xIGluY2FzZSBvZiBlcnJvciwgMSBpZiBDV0Qgd29ya2VkLCAwIGlmIGl0IGZhaWxlZAorICovCisKK2ludAoreG1sTmFub0ZUUEN3ZCh2b2lkICpjdHgsIGNvbnN0IGNoYXIgKmRpcmVjdG9yeSkgeworICAgIHhtbE5hbm9GVFBDdHh0UHRyIGN0eHQgPSAoeG1sTmFub0ZUUEN0eHRQdHIpIGN0eDsKKyAgICBjaGFyIGJ1Zls0MDBdOworICAgIGludCBsZW47CisgICAgaW50IHJlczsKKworICAgIGlmICgoY3R4dCA9PSBOVUxMKSB8fCAoY3R4dC0+Y29udHJvbEZkID09IElOVkFMSURfU09DS0VUKSkgcmV0dXJuKC0xKTsKKyAgICBpZiAoZGlyZWN0b3J5ID09IE5VTEwpIHJldHVybiAwOworCisgICAgLyoKKyAgICAgKiBFeHBlY3RlZCByZXNwb25zZSBjb2RlIGZvciBDV0Q6CisgICAgICoKKyAgICAgKiBDV0QKKyAgICAgKiAgICAgMjUwCisgICAgICogICAgIDUwMCwgNTAxLCA1MDIsIDQyMSwgNTMwLCA1NTAKKyAgICAgKi8KKyAgICBzbnByaW50ZihidWYsIHNpemVvZihidWYpLCAiQ1dEICVzXHJcbiIsIGRpcmVjdG9yeSk7CisgICAgYnVmW3NpemVvZihidWYpIC0gMV0gPSAwOworICAgIGxlbiA9IHN0cmxlbihidWYpOworI2lmZGVmIERFQlVHX0ZUUAorICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCAiJXMiLCBidWYpOworI2VuZGlmCisgICAgcmVzID0gc2VuZChjdHh0LT5jb250cm9sRmQsIFNFTkRfQVJHMl9DQVNUIGJ1ZiwgbGVuLCAwKTsKKyAgICBpZiAocmVzIDwgMCkgeworCV9feG1sSU9FcnIoWE1MX0ZST01fRlRQLCAwLCAic2VuZCBmYWlsZWQiKTsKKwlyZXR1cm4ocmVzKTsKKyAgICB9CisgICAgcmVzID0geG1sTmFub0ZUUEdldFJlc3BvbnNlKGN0eHQpOworICAgIGlmIChyZXMgPT0gNCkgeworCXJldHVybigtMSk7CisgICAgfQorICAgIGlmIChyZXMgPT0gMikgcmV0dXJuKDEpOworICAgIGlmIChyZXMgPT0gNSkgeworCXJldHVybigwKTsKKyAgICB9CisgICAgcmV0dXJuKDApOworfQorCisvKioKKyAqIHhtbE5hbm9GVFBEZWxlOgorICogQGN0eDogIGFuIEZUUCBjb250ZXh0CisgKiBAZmlsZTogIGEgZmlsZSBvciBkaXJlY3Rvcnkgb24gdGhlIHNlcnZlcgorICoKKyAqIFRyaWVzIHRvIGRlbGV0ZSBhbiBpdGVtIChmaWxlIG9yIGRpcmVjdG9yeSkgZnJvbSBzZXJ2ZXIKKyAqCisgKiBSZXR1cm5zIC0xIGluY2FzZSBvZiBlcnJvciwgMSBpZiBERUxFIHdvcmtlZCwgMCBpZiBpdCBmYWlsZWQKKyAqLworCitpbnQKK3htbE5hbm9GVFBEZWxlKHZvaWQgKmN0eCwgY29uc3QgY2hhciAqZmlsZSkgeworICAgIHhtbE5hbm9GVFBDdHh0UHRyIGN0eHQgPSAoeG1sTmFub0ZUUEN0eHRQdHIpIGN0eDsKKyAgICBjaGFyIGJ1Zls0MDBdOworICAgIGludCBsZW47CisgICAgaW50IHJlczsKKworICAgIGlmICgoY3R4dCA9PSBOVUxMKSB8fCAoY3R4dC0+Y29udHJvbEZkID09IElOVkFMSURfU09DS0VUKSB8fAorICAgICAgICAoZmlsZSA9PSBOVUxMKSkgcmV0dXJuKC0xKTsKKworICAgIC8qCisgICAgICogRXhwZWN0ZWQgcmVzcG9uc2UgY29kZSBmb3IgREVMRToKKyAgICAgKgorICAgICAqIERFTEUKKyAgICAgKiAgICAgICAyNTAKKyAgICAgKiAgICAgICA0NTAsIDU1MAorICAgICAqICAgICAgIDUwMCwgNTAxLCA1MDIsIDQyMSwgNTMwCisgICAgICovCisKKyAgICBzbnByaW50ZihidWYsIHNpemVvZihidWYpLCAiREVMRSAlc1xyXG4iLCBmaWxlKTsKKyAgICBidWZbc2l6ZW9mKGJ1ZikgLSAxXSA9IDA7CisgICAgbGVuID0gc3RybGVuKGJ1Zik7CisjaWZkZWYgREVCVUdfRlRQCisgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICIlcyIsIGJ1Zik7CisjZW5kaWYKKyAgICByZXMgPSBzZW5kKGN0eHQtPmNvbnRyb2xGZCwgU0VORF9BUkcyX0NBU1QgYnVmLCBsZW4sIDApOworICAgIGlmIChyZXMgPCAwKSB7CisJX194bWxJT0VycihYTUxfRlJPTV9GVFAsIDAsICJzZW5kIGZhaWxlZCIpOworCXJldHVybihyZXMpOworICAgIH0KKyAgICByZXMgPSB4bWxOYW5vRlRQR2V0UmVzcG9uc2UoY3R4dCk7CisgICAgaWYgKHJlcyA9PSA0KSB7CisJcmV0dXJuKC0xKTsKKyAgICB9CisgICAgaWYgKHJlcyA9PSAyKSByZXR1cm4oMSk7CisgICAgaWYgKHJlcyA9PSA1KSB7CisJcmV0dXJuKDApOworICAgIH0KKyAgICByZXR1cm4oMCk7Cit9CisvKioKKyAqIHhtbE5hbm9GVFBHZXRDb25uZWN0aW9uOgorICogQGN0eDogIGFuIEZUUCBjb250ZXh0CisgKgorICogVHJ5IHRvIG9wZW4gYSBkYXRhIGNvbm5lY3Rpb24gdG8gdGhlIHNlcnZlci4gQ3VycmVudGx5IG9ubHkKKyAqIHBhc3NpdmUgbW9kZSBpcyBzdXBwb3J0ZWQuCisgKgorICogUmV0dXJucyAtMSBpbmNhc2Ugb2YgZXJyb3IsIDAgb3RoZXJ3aXNlCisgKi8KKworU09DS0VUCit4bWxOYW5vRlRQR2V0Q29ubmVjdGlvbih2b2lkICpjdHgpIHsKKyAgICB4bWxOYW5vRlRQQ3R4dFB0ciBjdHh0ID0gKHhtbE5hbm9GVFBDdHh0UHRyKSBjdHg7CisgICAgY2hhciBidWZbMjAwXSwgKmN1cjsKKyAgICBpbnQgbGVuLCBpOworICAgIGludCByZXM7CisgICAgdW5zaWduZWQgY2hhciBhZFs2XSwgKmFkcCwgKnBvcnRwOworICAgIHVuc2lnbmVkIGludCB0ZW1wWzZdOworI2lmZGVmIFNVUFBPUlRfSVA2CisgICAgc3RydWN0IHNvY2thZGRyX3N0b3JhZ2UgZGF0YUFkZHI7CisjZWxzZQorICAgIHN0cnVjdCBzb2NrYWRkcl9pbiBkYXRhQWRkcjsKKyNlbmRpZgorICAgIFhNTF9TT0NLTEVOX1QgZGF0YUFkZHJMZW47CisKKyAgICBpZiAoY3R4dCA9PSBOVUxMKSByZXR1cm4gSU5WQUxJRF9TT0NLRVQ7CisKKyAgICBtZW1zZXQgKCZkYXRhQWRkciwgMCwgc2l6ZW9mKGRhdGFBZGRyKSk7CisjaWZkZWYgU1VQUE9SVF9JUDYKKyAgICBpZiAoKGN0eHQtPmZ0cEFkZHIpLnNzX2ZhbWlseSA9PSBBRl9JTkVUNikgeworCWN0eHQtPmRhdGFGZCA9IHNvY2tldCAoQUZfSU5FVDYsIFNPQ0tfU1RSRUFNLCBJUFBST1RPX1RDUCk7CisJKChzdHJ1Y3Qgc29ja2FkZHJfaW42ICopJmRhdGFBZGRyKS0+c2luNl9mYW1pbHkgPSBBRl9JTkVUNjsKKwlkYXRhQWRkckxlbiA9IHNpemVvZihzdHJ1Y3Qgc29ja2FkZHJfaW42KTsKKyAgICB9IGVsc2UKKyNlbmRpZgorICAgIHsKKwljdHh0LT5kYXRhRmQgPSBzb2NrZXQgKEFGX0lORVQsIFNPQ0tfU1RSRUFNLCBJUFBST1RPX1RDUCk7CisJKChzdHJ1Y3Qgc29ja2FkZHJfaW4gKikmZGF0YUFkZHIpLT5zaW5fZmFtaWx5ID0gQUZfSU5FVDsKKwlkYXRhQWRkckxlbiA9IHNpemVvZiAoc3RydWN0IHNvY2thZGRyX2luKTsKKyAgICB9CisKKyAgICBpZiAoY3R4dC0+ZGF0YUZkID09IElOVkFMSURfU09DS0VUKSB7CisJX194bWxJT0VycihYTUxfRlJPTV9GVFAsIDAsICJzb2NrZXQgZmFpbGVkIik7CisJcmV0dXJuIElOVkFMSURfU09DS0VUOworICAgIH0KKworICAgIGlmIChjdHh0LT5wYXNzaXZlKSB7CisjaWZkZWYgU1VQUE9SVF9JUDYKKwlpZiAoKGN0eHQtPmZ0cEFkZHIpLnNzX2ZhbWlseSA9PSBBRl9JTkVUNikKKwkgICAgc25wcmludGYgKGJ1Ziwgc2l6ZW9mKGJ1ZiksICJFUFNWXHJcbiIpOworCWVsc2UKKyNlbmRpZgorCSAgICBzbnByaW50ZiAoYnVmLCBzaXplb2YoYnVmKSwgIlBBU1ZcclxuIik7CisgICAgICAgIGxlbiA9IHN0cmxlbiAoYnVmKTsKKyNpZmRlZiBERUJVR19GVFAKKwl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgIiVzIiwgYnVmKTsKKyNlbmRpZgorCXJlcyA9IHNlbmQoY3R4dC0+Y29udHJvbEZkLCBTRU5EX0FSRzJfQ0FTVCBidWYsIGxlbiwgMCk7CisJaWYgKHJlcyA8IDApIHsKKwkgICAgX194bWxJT0VycihYTUxfRlJPTV9GVFAsIDAsICJzZW5kIGZhaWxlZCIpOworCSAgICBjbG9zZXNvY2tldChjdHh0LT5kYXRhRmQpOyBjdHh0LT5kYXRhRmQgPSBJTlZBTElEX1NPQ0tFVDsKKwkgICAgcmV0dXJuIElOVkFMSURfU09DS0VUOworCX0KKyAgICAgICAgcmVzID0geG1sTmFub0ZUUFJlYWRSZXNwb25zZShjdHgpOworCWlmIChyZXMgIT0gMikgeworCSAgICBpZiAocmVzID09IDUpIHsKKwkgICAgICAgIGNsb3Nlc29ja2V0KGN0eHQtPmRhdGFGZCk7IGN0eHQtPmRhdGFGZCA9IElOVkFMSURfU09DS0VUOworCQlyZXR1cm4gSU5WQUxJRF9TT0NLRVQ7CisJICAgIH0gZWxzZSB7CisJCS8qCisJCSAqIHJldHJ5IHdpdGggYW4gYWN0aXZlIGNvbm5lY3Rpb24KKwkJICovCisJICAgICAgICBjbG9zZXNvY2tldChjdHh0LT5kYXRhRmQpOyBjdHh0LT5kYXRhRmQgPSBJTlZBTElEX1NPQ0tFVDsKKwkgICAgICAgIGN0eHQtPnBhc3NpdmUgPSAwOworCSAgICB9CisJfQorCWN1ciA9ICZjdHh0LT5jb250cm9sQnVmW2N0eHQtPmNvbnRyb2xCdWZBbnN3ZXJdOworCXdoaWxlICgoKCpjdXIgPCAnMCcpIHx8ICgqY3VyID4gJzknKSkgJiYgKmN1ciAhPSAnXDAnKSBjdXIrKzsKKyNpZmRlZiBTVVBQT1JUX0lQNgorCWlmICgoY3R4dC0+ZnRwQWRkcikuc3NfZmFtaWx5ID09IEFGX0lORVQ2KSB7CisJICAgIGlmIChzc2NhbmYgKGN1ciwgIiV1IiwgJnRlbXBbMF0pICE9IDEpIHsKKwkJX194bWxJT0VycihYTUxfRlJPTV9GVFAsIFhNTF9GVFBfRVBTVl9BTlNXRVIsCisJCQkiSW52YWxpZCBhbnN3ZXIgdG8gRVBTVlxuIik7CisJCWlmIChjdHh0LT5kYXRhRmQgIT0gSU5WQUxJRF9TT0NLRVQpIHsKKwkJICAgIGNsb3Nlc29ja2V0IChjdHh0LT5kYXRhRmQpOyBjdHh0LT5kYXRhRmQgPSBJTlZBTElEX1NPQ0tFVDsKKwkJfQorCQlyZXR1cm4gSU5WQUxJRF9TT0NLRVQ7CisJICAgIH0KKwkgICAgbWVtY3B5ICgmKChzdHJ1Y3Qgc29ja2FkZHJfaW42ICopJmRhdGFBZGRyKS0+c2luNl9hZGRyLCAmKChzdHJ1Y3Qgc29ja2FkZHJfaW42ICopJmN0eHQtPmZ0cEFkZHIpLT5zaW42X2FkZHIsIHNpemVvZihzdHJ1Y3QgaW42X2FkZHIpKTsKKwkgICAgKChzdHJ1Y3Qgc29ja2FkZHJfaW42ICopJmRhdGFBZGRyKS0+c2luNl9wb3J0ID0gaHRvbnMgKHRlbXBbMF0pOworCX0KKwllbHNlCisjZW5kaWYKKwl7CisJICAgIGlmIChzc2NhbmYgKGN1ciwgIiV1LCV1LCV1LCV1LCV1LCV1IiwgJnRlbXBbMF0sICZ0ZW1wWzFdLCAmdGVtcFsyXSwKKwkJJnRlbXBbM10sICZ0ZW1wWzRdLCAmdGVtcFs1XSkgIT0gNikgeworCQlfX3htbElPRXJyKFhNTF9GUk9NX0ZUUCwgWE1MX0ZUUF9QQVNWX0FOU1dFUiwKKwkJCSJJbnZhbGlkIGFuc3dlciB0byBQQVNWXG4iKTsKKwkJaWYgKGN0eHQtPmRhdGFGZCAhPSBJTlZBTElEX1NPQ0tFVCkgeworCQkgICAgY2xvc2Vzb2NrZXQgKGN0eHQtPmRhdGFGZCk7IGN0eHQtPmRhdGFGZCA9IElOVkFMSURfU09DS0VUOworCQl9CisJCXJldHVybiBJTlZBTElEX1NPQ0tFVDsKKwkgICAgfQorCSAgICBmb3IgKGk9MDsgaTw2OyBpKyspIGFkW2ldID0gKHVuc2lnbmVkIGNoYXIpICh0ZW1wW2ldICYgMHhmZik7CisJICAgIG1lbWNweSAoJigoc3RydWN0IHNvY2thZGRyX2luICopJmRhdGFBZGRyKS0+c2luX2FkZHIsICZhZFswXSwgNCk7CisJICAgIG1lbWNweSAoJigoc3RydWN0IHNvY2thZGRyX2luICopJmRhdGFBZGRyKS0+c2luX3BvcnQsICZhZFs0XSwgMik7CisJfQorCisJaWYgKGNvbm5lY3QoY3R4dC0+ZGF0YUZkLCAoc3RydWN0IHNvY2thZGRyICopICZkYXRhQWRkciwgZGF0YUFkZHJMZW4pIDwgMCkgeworCSAgICBfX3htbElPRXJyKFhNTF9GUk9NX0ZUUCwgMCwgIkZhaWxlZCB0byBjcmVhdGUgYSBkYXRhIGNvbm5lY3Rpb24iKTsKKwkgICAgY2xvc2Vzb2NrZXQoY3R4dC0+ZGF0YUZkKTsgY3R4dC0+ZGF0YUZkID0gSU5WQUxJRF9TT0NLRVQ7CisJICAgIHJldHVybiBJTlZBTElEX1NPQ0tFVDsKKwl9CisgICAgfSBlbHNlIHsKKyAgICAgICAgZ2V0c29ja25hbWUoY3R4dC0+ZGF0YUZkLCAoc3RydWN0IHNvY2thZGRyICopICZkYXRhQWRkciwgJmRhdGFBZGRyTGVuKTsKKyNpZmRlZiBTVVBQT1JUX0lQNgorCWlmICgoY3R4dC0+ZnRwQWRkcikuc3NfZmFtaWx5ID09IEFGX0lORVQ2KQorCSAgICAoKHN0cnVjdCBzb2NrYWRkcl9pbjYgKikmZGF0YUFkZHIpLT5zaW42X3BvcnQgPSAwOworCWVsc2UKKyNlbmRpZgorCSAgICAoKHN0cnVjdCBzb2NrYWRkcl9pbiAqKSZkYXRhQWRkciktPnNpbl9wb3J0ID0gMDsKKworCWlmIChiaW5kKGN0eHQtPmRhdGFGZCwgKHN0cnVjdCBzb2NrYWRkciAqKSAmZGF0YUFkZHIsIGRhdGFBZGRyTGVuKSA8IDApIHsKKwkgICAgX194bWxJT0VycihYTUxfRlJPTV9GVFAsIDAsICJiaW5kIGZhaWxlZCIpOworCSAgICBjbG9zZXNvY2tldChjdHh0LT5kYXRhRmQpOyBjdHh0LT5kYXRhRmQgPSBJTlZBTElEX1NPQ0tFVDsKKwkgICAgcmV0dXJuIElOVkFMSURfU09DS0VUOworCX0KKyAgICAgICAgZ2V0c29ja25hbWUoY3R4dC0+ZGF0YUZkLCAoc3RydWN0IHNvY2thZGRyICopICZkYXRhQWRkciwgJmRhdGFBZGRyTGVuKTsKKworCWlmIChsaXN0ZW4oY3R4dC0+ZGF0YUZkLCAxKSA8IDApIHsKKwkgICAgX194bWxJT0VycihYTUxfRlJPTV9GVFAsIDAsICJsaXN0ZW4gZmFpbGVkIik7CisJICAgIGNsb3Nlc29ja2V0KGN0eHQtPmRhdGFGZCk7IGN0eHQtPmRhdGFGZCA9IElOVkFMSURfU09DS0VUOworCSAgICByZXR1cm4gSU5WQUxJRF9TT0NLRVQ7CisJfQorI2lmZGVmIFNVUFBPUlRfSVA2CisJaWYgKChjdHh0LT5mdHBBZGRyKS5zc19mYW1pbHkgPT0gQUZfSU5FVDYpIHsKKwkgICAgY2hhciBidWY2W0lORVQ2X0FERFJTVFJMRU5dOworCSAgICBpbmV0X250b3AgKEFGX0lORVQ2LCAmKChzdHJ1Y3Qgc29ja2FkZHJfaW42ICopJmRhdGFBZGRyKS0+c2luNl9hZGRyLAorCQkgICAgYnVmNiwgSU5FVDZfQUREUlNUUkxFTik7CisJICAgIGFkcCA9ICh1bnNpZ25lZCBjaGFyICopIGJ1ZjY7CisJICAgIHBvcnRwID0gKHVuc2lnbmVkIGNoYXIgKikgJigoc3RydWN0IHNvY2thZGRyX2luNiAqKSZkYXRhQWRkciktPnNpbjZfcG9ydDsKKwkgICAgc25wcmludGYgKGJ1Ziwgc2l6ZW9mKGJ1ZiksICJFUFJUIHwyfCVzfCVzfFxyXG4iLCBhZHAsIHBvcnRwKTsKKyAgICAgICAgfSBlbHNlCisjZW5kaWYKKwl7CisJICAgIGFkcCA9ICh1bnNpZ25lZCBjaGFyICopICYoKHN0cnVjdCBzb2NrYWRkcl9pbiAqKSZkYXRhQWRkciktPnNpbl9hZGRyOworCSAgICBwb3J0cCA9ICh1bnNpZ25lZCBjaGFyICopICYoKHN0cnVjdCBzb2NrYWRkcl9pbiAqKSZkYXRhQWRkciktPnNpbl9wb3J0OworCSAgICBzbnByaW50ZiAoYnVmLCBzaXplb2YoYnVmKSwgIlBPUlQgJWQsJWQsJWQsJWQsJWQsJWRcclxuIiwKKwkgICAgYWRwWzBdICYgMHhmZiwgYWRwWzFdICYgMHhmZiwgYWRwWzJdICYgMHhmZiwgYWRwWzNdICYgMHhmZiwKKwkgICAgcG9ydHBbMF0gJiAweGZmLCBwb3J0cFsxXSAmIDB4ZmYpOworCX0KKworICAgICAgICBidWZbc2l6ZW9mKGJ1ZikgLSAxXSA9IDA7CisgICAgICAgIGxlbiA9IHN0cmxlbihidWYpOworI2lmZGVmIERFQlVHX0ZUUAorCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCAiJXMiLCBidWYpOworI2VuZGlmCisKKwlyZXMgPSBzZW5kKGN0eHQtPmNvbnRyb2xGZCwgU0VORF9BUkcyX0NBU1QgYnVmLCBsZW4sIDApOworCWlmIChyZXMgPCAwKSB7CisJICAgIF9feG1sSU9FcnIoWE1MX0ZST01fRlRQLCAwLCAic2VuZCBmYWlsZWQiKTsKKwkgICAgY2xvc2Vzb2NrZXQoY3R4dC0+ZGF0YUZkKTsgY3R4dC0+ZGF0YUZkID0gSU5WQUxJRF9TT0NLRVQ7CisJICAgIHJldHVybiBJTlZBTElEX1NPQ0tFVDsKKwl9CisgICAgICAgIHJlcyA9IHhtbE5hbm9GVFBHZXRSZXNwb25zZShjdHh0KTsKKwlpZiAocmVzICE9IDIpIHsKKwkgICAgY2xvc2Vzb2NrZXQoY3R4dC0+ZGF0YUZkKTsgY3R4dC0+ZGF0YUZkID0gSU5WQUxJRF9TT0NLRVQ7CisJICAgIHJldHVybiBJTlZBTElEX1NPQ0tFVDsKKyAgICAgICAgfQorICAgIH0KKyAgICByZXR1cm4oY3R4dC0+ZGF0YUZkKTsKKworfQorCisvKioKKyAqIHhtbE5hbm9GVFBDbG9zZUNvbm5lY3Rpb246CisgKiBAY3R4OiAgYW4gRlRQIGNvbnRleHQKKyAqCisgKiBDbG9zZSB0aGUgZGF0YSBjb25uZWN0aW9uIGZyb20gdGhlIHNlcnZlcgorICoKKyAqIFJldHVybnMgLTEgaW5jYXNlIG9mIGVycm9yLCAwIG90aGVyd2lzZQorICovCisKK2ludAoreG1sTmFub0ZUUENsb3NlQ29ubmVjdGlvbih2b2lkICpjdHgpIHsKKyAgICB4bWxOYW5vRlRQQ3R4dFB0ciBjdHh0ID0gKHhtbE5hbm9GVFBDdHh0UHRyKSBjdHg7CisgICAgaW50IHJlczsKKyAgICBmZF9zZXQgcmZkLCBlZmQ7CisgICAgc3RydWN0IHRpbWV2YWwgdHY7CisKKyAgICBpZiAoKGN0eHQgPT0gTlVMTCkgfHwgKGN0eHQtPmNvbnRyb2xGZCA9PSBJTlZBTElEX1NPQ0tFVCkpIHJldHVybigtMSk7CisKKyAgICBjbG9zZXNvY2tldChjdHh0LT5kYXRhRmQpOyBjdHh0LT5kYXRhRmQgPSBJTlZBTElEX1NPQ0tFVDsKKyAgICB0di50dl9zZWMgPSAxNTsKKyAgICB0di50dl91c2VjID0gMDsKKyAgICBGRF9aRVJPKCZyZmQpOworICAgIEZEX1NFVChjdHh0LT5jb250cm9sRmQsICZyZmQpOworICAgIEZEX1pFUk8oJmVmZCk7CisgICAgRkRfU0VUKGN0eHQtPmNvbnRyb2xGZCwgJmVmZCk7CisgICAgcmVzID0gc2VsZWN0KGN0eHQtPmNvbnRyb2xGZCArIDEsICZyZmQsIE5VTEwsICZlZmQsICZ0dik7CisgICAgaWYgKHJlcyA8IDApIHsKKyNpZmRlZiBERUJVR19GVFAKKwlwZXJyb3IoInNlbGVjdCIpOworI2VuZGlmCisJY2xvc2Vzb2NrZXQoY3R4dC0+Y29udHJvbEZkKTsgY3R4dC0+Y29udHJvbEZkID0gSU5WQUxJRF9TT0NLRVQ7CisJcmV0dXJuKC0xKTsKKyAgICB9CisgICAgaWYgKHJlcyA9PSAwKSB7CisjaWZkZWYgREVCVUdfRlRQCisJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSJ4bWxOYW5vRlRQQ2xvc2VDb25uZWN0aW9uOiB0aW1lb3V0XG4iKTsKKyNlbmRpZgorCWNsb3Nlc29ja2V0KGN0eHQtPmNvbnRyb2xGZCk7IGN0eHQtPmNvbnRyb2xGZCA9IElOVkFMSURfU09DS0VUOworICAgIH0gZWxzZSB7CisJcmVzID0geG1sTmFub0ZUUEdldFJlc3BvbnNlKGN0eHQpOworCWlmIChyZXMgIT0gMikgeworCSAgICBjbG9zZXNvY2tldChjdHh0LT5jb250cm9sRmQpOyBjdHh0LT5jb250cm9sRmQgPSBJTlZBTElEX1NPQ0tFVDsKKwkgICAgcmV0dXJuKC0xKTsKKwl9CisgICAgfQorICAgIHJldHVybigwKTsKK30KKworLyoqCisgKiB4bWxOYW5vRlRQUGFyc2VMaXN0OgorICogQGxpc3Q6ICBzb21lIGRhdGEgbGlzdGluZyByZWNlaXZlZCBmcm9tIHRoZSBzZXJ2ZXIKKyAqIEBjYWxsYmFjazogIHRoZSB1c2VyIGNhbGxiYWNrCisgKiBAdXNlckRhdGE6ICB0aGUgdXNlciBjYWxsYmFjayBkYXRhCisgKgorICogUGFyc2UgYXQgbW9zdCBvbmUgZW50cnkgZnJvbSB0aGUgbGlzdGluZy4KKyAqCisgKiBSZXR1cm5zIC0xIGluY2FzZSBvZiBlcnJvciwgdGhlIGxlbmd0aCBvZiBkYXRhIHBhcnNlZCBvdGhlcndpc2UKKyAqLworCitzdGF0aWMgaW50Cit4bWxOYW5vRlRQUGFyc2VMaXN0KGNvbnN0IGNoYXIgKmxpc3QsIGZ0cExpc3RDYWxsYmFjayBjYWxsYmFjaywgdm9pZCAqdXNlckRhdGEpIHsKKyAgICBjb25zdCBjaGFyICpjdXIgPSBsaXN0OworICAgIGNoYXIgZmlsZW5hbWVbMTUxXTsKKyAgICBjaGFyIGF0dHJpYlsxMV07CisgICAgY2hhciBvd25lclsxMV07CisgICAgY2hhciBncm91cFsxMV07CisgICAgY2hhciBtb250aFs0XTsKKyAgICBpbnQgeWVhciA9IDA7CisgICAgaW50IG1pbnV0ZSA9IDA7CisgICAgaW50IGhvdXIgPSAwOworICAgIGludCBkYXkgPSAwOworICAgIHVuc2lnbmVkIGxvbmcgc2l6ZSA9IDA7CisgICAgaW50IGxpbmtzID0gMDsKKyAgICBpbnQgaTsKKworICAgIGlmICghc3RybmNtcChjdXIsICJ0b3RhbCIsIDUpKSB7CisgICAgICAgIGN1ciArPSA1OworCXdoaWxlICgqY3VyID09ICcgJykgY3VyKys7CisJd2hpbGUgKCgqY3VyID49ICcwJykgJiYgKCpjdXIgPD0gJzknKSkKKwkgICAgbGlua3MgPSAobGlua3MgKiAxMCkgKyAoKmN1cisrIC0gJzAnKTsKKwl3aGlsZSAoKCpjdXIgPT0gJyAnKSB8fCAoKmN1ciA9PSAnXG4nKSAgfHwgKCpjdXIgPT0gJ1xyJykpCisJICAgIGN1cisrOworCXJldHVybihjdXIgLSBsaXN0KTsKKyAgICB9IGVsc2UgaWYgKCpsaXN0ID09ICcrJykgeworCXJldHVybigwKTsKKyAgICB9IGVsc2UgeworCXdoaWxlICgoKmN1ciA9PSAnICcpIHx8ICgqY3VyID09ICdcbicpICB8fCAoKmN1ciA9PSAnXHInKSkKKwkgICAgY3VyKys7CisJaWYgKCpjdXIgPT0gMCkgcmV0dXJuKDApOworCWkgPSAwOworCXdoaWxlICgqY3VyICE9ICcgJykgeworCSAgICBpZiAoaSA8IDEwKQorCQlhdHRyaWJbaSsrXSA9ICpjdXI7CisJICAgIGN1cisrOworCSAgICBpZiAoKmN1ciA9PSAwKSByZXR1cm4oMCk7CisJfQorCWF0dHJpYlsxMF0gPSAwOworCXdoaWxlICgqY3VyID09ICcgJykgY3VyKys7CisJaWYgKCpjdXIgPT0gMCkgcmV0dXJuKDApOworCXdoaWxlICgoKmN1ciA+PSAnMCcpICYmICgqY3VyIDw9ICc5JykpCisJICAgIGxpbmtzID0gKGxpbmtzICogMTApICsgKCpjdXIrKyAtICcwJyk7CisJd2hpbGUgKCpjdXIgPT0gJyAnKSBjdXIrKzsKKwlpZiAoKmN1ciA9PSAwKSByZXR1cm4oMCk7CisJaSA9IDA7CisJd2hpbGUgKCpjdXIgIT0gJyAnKSB7CisJICAgIGlmIChpIDwgMTApCisJCW93bmVyW2krK10gPSAqY3VyOworCSAgICBjdXIrKzsKKwkgICAgaWYgKCpjdXIgPT0gMCkgcmV0dXJuKDApOworCX0KKwlvd25lcltpXSA9IDA7CisJd2hpbGUgKCpjdXIgPT0gJyAnKSBjdXIrKzsKKwlpZiAoKmN1ciA9PSAwKSByZXR1cm4oMCk7CisJaSA9IDA7CisJd2hpbGUgKCpjdXIgIT0gJyAnKSB7CisJICAgIGlmIChpIDwgMTApCisJCWdyb3VwW2krK10gPSAqY3VyOworCSAgICBjdXIrKzsKKwkgICAgaWYgKCpjdXIgPT0gMCkgcmV0dXJuKDApOworCX0KKwlncm91cFtpXSA9IDA7CisJd2hpbGUgKCpjdXIgPT0gJyAnKSBjdXIrKzsKKwlpZiAoKmN1ciA9PSAwKSByZXR1cm4oMCk7CisJd2hpbGUgKCgqY3VyID49ICcwJykgJiYgKCpjdXIgPD0gJzknKSkKKwkgICAgc2l6ZSA9IChzaXplICogMTApICsgKCpjdXIrKyAtICcwJyk7CisJd2hpbGUgKCpjdXIgPT0gJyAnKSBjdXIrKzsKKwlpZiAoKmN1ciA9PSAwKSByZXR1cm4oMCk7CisJaSA9IDA7CisJd2hpbGUgKCpjdXIgIT0gJyAnKSB7CisJICAgIGlmIChpIDwgMykKKwkJbW9udGhbaSsrXSA9ICpjdXI7CisJICAgIGN1cisrOworCSAgICBpZiAoKmN1ciA9PSAwKSByZXR1cm4oMCk7CisJfQorCW1vbnRoW2ldID0gMDsKKwl3aGlsZSAoKmN1ciA9PSAnICcpIGN1cisrOworCWlmICgqY3VyID09IDApIHJldHVybigwKTsKKyAgICAgICAgd2hpbGUgKCgqY3VyID49ICcwJykgJiYgKCpjdXIgPD0gJzknKSkKKwkgICAgZGF5ID0gKGRheSAqIDEwKSArICgqY3VyKysgLSAnMCcpOworCXdoaWxlICgqY3VyID09ICcgJykgY3VyKys7CisJaWYgKCpjdXIgPT0gMCkgcmV0dXJuKDApOworCWlmICgoY3VyWzFdID09IDApIHx8IChjdXJbMl0gPT0gMCkpIHJldHVybigwKTsKKwlpZiAoKGN1clsxXSA9PSAnOicpIHx8IChjdXJbMl0gPT0gJzonKSkgeworCSAgICB3aGlsZSAoKCpjdXIgPj0gJzAnKSAmJiAoKmN1ciA8PSAnOScpKQorCQlob3VyID0gKGhvdXIgKiAxMCkgKyAoKmN1cisrIC0gJzAnKTsKKwkgICAgaWYgKCpjdXIgPT0gJzonKSBjdXIrKzsKKwkgICAgd2hpbGUgKCgqY3VyID49ICcwJykgJiYgKCpjdXIgPD0gJzknKSkKKwkJbWludXRlID0gKG1pbnV0ZSAqIDEwKSArICgqY3VyKysgLSAnMCcpOworCX0gZWxzZSB7CisJICAgIHdoaWxlICgoKmN1ciA+PSAnMCcpICYmICgqY3VyIDw9ICc5JykpCisJCXllYXIgPSAoeWVhciAqIDEwKSArICgqY3VyKysgLSAnMCcpOworCX0KKwl3aGlsZSAoKmN1ciA9PSAnICcpIGN1cisrOworCWlmICgqY3VyID09IDApIHJldHVybigwKTsKKwlpID0gMDsKKwl3aGlsZSAoKCpjdXIgIT0gJ1xuJykgICYmICgqY3VyICE9ICdccicpKSB7CisJICAgIGlmIChpIDwgMTUwKQorCQlmaWxlbmFtZVtpKytdID0gKmN1cjsKKwkgICAgY3VyKys7CisJICAgIGlmICgqY3VyID09IDApIHJldHVybigwKTsKKwl9CisJZmlsZW5hbWVbaV0gPSAwOworCWlmICgoKmN1ciAhPSAnXG4nKSAmJiAoKmN1ciAhPSAnXHInKSkKKwkgICAgcmV0dXJuKDApOworCXdoaWxlICgoKmN1ciA9PSAnXG4nKSAgfHwgKCpjdXIgPT0gJ1xyJykpCisJICAgIGN1cisrOworICAgIH0KKyAgICBpZiAoY2FsbGJhY2sgIT0gTlVMTCkgeworICAgICAgICBjYWxsYmFjayh1c2VyRGF0YSwgZmlsZW5hbWUsIGF0dHJpYiwgb3duZXIsIGdyb3VwLCBzaXplLCBsaW5rcywKKwkJIHllYXIsIG1vbnRoLCBkYXksIGhvdXIsIG1pbnV0ZSk7CisgICAgfQorICAgIHJldHVybihjdXIgLSBsaXN0KTsKK30KKworLyoqCisgKiB4bWxOYW5vRlRQTGlzdDoKKyAqIEBjdHg6ICBhbiBGVFAgY29udGV4dAorICogQGNhbGxiYWNrOiAgdGhlIHVzZXIgY2FsbGJhY2sKKyAqIEB1c2VyRGF0YTogIHRoZSB1c2VyIGNhbGxiYWNrIGRhdGEKKyAqIEBmaWxlbmFtZTogIG9wdGlvbmFsIGZpbGVzIHRvIGxpc3QKKyAqCisgKiBEbyBhIGxpc3Rpbmcgb24gdGhlIHNlcnZlci4gQWxsIGZpbGVzIGluZm8gYXJlIHBhc3NlZCBiYWNrCisgKiBpbiB0aGUgY2FsbGJhY2tzLgorICoKKyAqIFJldHVybnMgLTEgaW5jYXNlIG9mIGVycm9yLCAwIG90aGVyd2lzZQorICovCisKK2ludAoreG1sTmFub0ZUUExpc3Qodm9pZCAqY3R4LCBmdHBMaXN0Q2FsbGJhY2sgY2FsbGJhY2ssIHZvaWQgKnVzZXJEYXRhLAorCSAgICAgICBjb25zdCBjaGFyICpmaWxlbmFtZSkgeworICAgIHhtbE5hbm9GVFBDdHh0UHRyIGN0eHQgPSAoeG1sTmFub0ZUUEN0eHRQdHIpIGN0eDsKKyAgICBjaGFyIGJ1Zls0MDk2ICsgMV07CisgICAgaW50IGxlbiwgcmVzOworICAgIGludCBpbmR4ID0gMCwgYmFzZTsKKyAgICBmZF9zZXQgcmZkLCBlZmQ7CisgICAgc3RydWN0IHRpbWV2YWwgdHY7CisKKyAgICBpZiAoY3R4dCA9PSBOVUxMKSByZXR1cm4gKC0xKTsKKyAgICBpZiAoZmlsZW5hbWUgPT0gTlVMTCkgeworICAgICAgICBpZiAoeG1sTmFub0ZUUEN3ZChjdHh0LCBjdHh0LT5wYXRoKSA8IDEpCisJICAgIHJldHVybigtMSk7CisJY3R4dC0+ZGF0YUZkID0geG1sTmFub0ZUUEdldENvbm5lY3Rpb24oY3R4dCk7CisJaWYgKGN0eHQtPmRhdGFGZCA9PSBJTlZBTElEX1NPQ0tFVCkKKwkgICAgcmV0dXJuKC0xKTsKKwlzbnByaW50ZihidWYsIHNpemVvZihidWYpLCAiTElTVCAtTFxyXG4iKTsKKyAgICB9IGVsc2UgeworCWlmIChmaWxlbmFtZVswXSAhPSAnLycpIHsKKwkgICAgaWYgKHhtbE5hbm9GVFBDd2QoY3R4dCwgY3R4dC0+cGF0aCkgPCAxKQorCQlyZXR1cm4oLTEpOworCX0KKwljdHh0LT5kYXRhRmQgPSB4bWxOYW5vRlRQR2V0Q29ubmVjdGlvbihjdHh0KTsKKwlpZiAoY3R4dC0+ZGF0YUZkID09IElOVkFMSURfU09DS0VUKQorCSAgICByZXR1cm4oLTEpOworCXNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksICJMSVNUIC1MICVzXHJcbiIsIGZpbGVuYW1lKTsKKyAgICB9CisgICAgYnVmW3NpemVvZihidWYpIC0gMV0gPSAwOworICAgIGxlbiA9IHN0cmxlbihidWYpOworI2lmZGVmIERFQlVHX0ZUUAorICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCAiJXMiLCBidWYpOworI2VuZGlmCisgICAgcmVzID0gc2VuZChjdHh0LT5jb250cm9sRmQsIFNFTkRfQVJHMl9DQVNUIGJ1ZiwgbGVuLCAwKTsKKyAgICBpZiAocmVzIDwgMCkgeworCV9feG1sSU9FcnIoWE1MX0ZST01fRlRQLCAwLCAic2VuZCBmYWlsZWQiKTsKKwljbG9zZXNvY2tldChjdHh0LT5kYXRhRmQpOyBjdHh0LT5kYXRhRmQgPSBJTlZBTElEX1NPQ0tFVDsKKwlyZXR1cm4ocmVzKTsKKyAgICB9CisgICAgcmVzID0geG1sTmFub0ZUUFJlYWRSZXNwb25zZShjdHh0KTsKKyAgICBpZiAocmVzICE9IDEpIHsKKwljbG9zZXNvY2tldChjdHh0LT5kYXRhRmQpOyBjdHh0LT5kYXRhRmQgPSBJTlZBTElEX1NPQ0tFVDsKKwlyZXR1cm4oLXJlcyk7CisgICAgfQorCisgICAgZG8geworCXR2LnR2X3NlYyA9IDE7CisJdHYudHZfdXNlYyA9IDA7CisJRkRfWkVSTygmcmZkKTsKKwlGRF9TRVQoY3R4dC0+ZGF0YUZkLCAmcmZkKTsKKwlGRF9aRVJPKCZlZmQpOworCUZEX1NFVChjdHh0LT5kYXRhRmQsICZlZmQpOworCXJlcyA9IHNlbGVjdChjdHh0LT5kYXRhRmQgKyAxLCAmcmZkLCBOVUxMLCAmZWZkLCAmdHYpOworCWlmIChyZXMgPCAwKSB7CisjaWZkZWYgREVCVUdfRlRQCisJICAgIHBlcnJvcigic2VsZWN0Iik7CisjZW5kaWYKKwkgICAgY2xvc2Vzb2NrZXQoY3R4dC0+ZGF0YUZkKTsgY3R4dC0+ZGF0YUZkID0gSU5WQUxJRF9TT0NLRVQ7CisJICAgIHJldHVybigtMSk7CisJfQorCWlmIChyZXMgPT0gMCkgeworCSAgICByZXMgPSB4bWxOYW5vRlRQQ2hlY2tSZXNwb25zZShjdHh0KTsKKwkgICAgaWYgKHJlcyA8IDApIHsKKwkJY2xvc2Vzb2NrZXQoY3R4dC0+ZGF0YUZkKTsgY3R4dC0+ZGF0YUZkID0gSU5WQUxJRF9TT0NLRVQ7CisJCWN0eHQtPmRhdGFGZCA9IElOVkFMSURfU09DS0VUOworCQlyZXR1cm4oLTEpOworCSAgICB9CisJICAgIGlmIChyZXMgPT0gMikgeworCQljbG9zZXNvY2tldChjdHh0LT5kYXRhRmQpOyBjdHh0LT5kYXRhRmQgPSBJTlZBTElEX1NPQ0tFVDsKKwkJcmV0dXJuKDApOworCSAgICB9CisKKwkgICAgY29udGludWU7CisJfQorCisJaWYgKChsZW4gPSByZWN2KGN0eHQtPmRhdGFGZCwgJmJ1ZltpbmR4XSwgc2l6ZW9mKGJ1ZikgLSAoaW5keCArIDEpLCAwKSkgPCAwKSB7CisJICAgIF9feG1sSU9FcnIoWE1MX0ZST01fRlRQLCAwLCAicmVjdiIpOworCSAgICBjbG9zZXNvY2tldChjdHh0LT5kYXRhRmQpOyBjdHh0LT5kYXRhRmQgPSBJTlZBTElEX1NPQ0tFVDsKKwkgICAgY3R4dC0+ZGF0YUZkID0gSU5WQUxJRF9TT0NLRVQ7CisJICAgIHJldHVybigtMSk7CisJfQorI2lmZGVmIERFQlVHX0ZUUAorICAgICAgICB3cml0ZSgxLCAmYnVmW2luZHhdLCBsZW4pOworI2VuZGlmCisJaW5keCArPSBsZW47CisJYnVmW2luZHhdID0gMDsKKwliYXNlID0gMDsKKwlkbyB7CisJICAgIHJlcyA9IHhtbE5hbm9GVFBQYXJzZUxpc3QoJmJ1ZltiYXNlXSwgY2FsbGJhY2ssIHVzZXJEYXRhKTsKKwkgICAgYmFzZSArPSByZXM7CisJfSB3aGlsZSAocmVzID4gMCk7CisKKwltZW1tb3ZlKCZidWZbMF0sICZidWZbYmFzZV0sIGluZHggLSBiYXNlKTsKKwlpbmR4IC09IGJhc2U7CisgICAgfSB3aGlsZSAobGVuICE9IDApOworICAgIHhtbE5hbm9GVFBDbG9zZUNvbm5lY3Rpb24oY3R4dCk7CisgICAgcmV0dXJuKDApOworfQorCisvKioKKyAqIHhtbE5hbm9GVFBHZXRTb2NrZXQ6CisgKiBAY3R4OiAgYW4gRlRQIGNvbnRleHQKKyAqIEBmaWxlbmFtZTogIHRoZSBmaWxlIHRvIHJldHJpZXZlIChvciBOVUxMIGlmIHBhdGggaXMgaW4gY29udGV4dCkuCisgKgorICogSW5pdGlhdGUgZmV0Y2ggb2YgdGhlIGdpdmVuIGZpbGUgZnJvbSB0aGUgc2VydmVyLgorICoKKyAqIFJldHVybnMgdGhlIHNvY2tldCBmb3IgdGhlIGRhdGEgY29ubmVjdGlvbiwgb3IgPDAgaW4gY2FzZSBvZiBlcnJvcgorICovCisKKworU09DS0VUCit4bWxOYW5vRlRQR2V0U29ja2V0KHZvaWQgKmN0eCwgY29uc3QgY2hhciAqZmlsZW5hbWUpIHsKKyAgICB4bWxOYW5vRlRQQ3R4dFB0ciBjdHh0ID0gKHhtbE5hbm9GVFBDdHh0UHRyKSBjdHg7CisgICAgY2hhciBidWZbMzAwXTsKKyAgICBpbnQgcmVzLCBsZW47CisgICAgaWYgKGN0eCA9PSBOVUxMKQorCXJldHVybiBJTlZBTElEX1NPQ0tFVDsKKyAgICBpZiAoKGZpbGVuYW1lID09IE5VTEwpICYmIChjdHh0LT5wYXRoID09IE5VTEwpKQorCXJldHVybiBJTlZBTElEX1NPQ0tFVDsKKyAgICBjdHh0LT5kYXRhRmQgPSB4bWxOYW5vRlRQR2V0Q29ubmVjdGlvbihjdHh0KTsKKyAgICBpZiAoY3R4dC0+ZGF0YUZkID09IElOVkFMSURfU09DS0VUKQorCXJldHVybiBJTlZBTElEX1NPQ0tFVDsKKworICAgIHNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksICJUWVBFIElcclxuIik7CisgICAgbGVuID0gc3RybGVuKGJ1Zik7CisjaWZkZWYgREVCVUdfRlRQCisgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICIlcyIsIGJ1Zik7CisjZW5kaWYKKyAgICByZXMgPSBzZW5kKGN0eHQtPmNvbnRyb2xGZCwgU0VORF9BUkcyX0NBU1QgYnVmLCBsZW4sIDApOworICAgIGlmIChyZXMgPCAwKSB7CisJX194bWxJT0VycihYTUxfRlJPTV9GVFAsIDAsICJzZW5kIGZhaWxlZCIpOworCWNsb3Nlc29ja2V0KGN0eHQtPmRhdGFGZCk7IGN0eHQtPmRhdGFGZCA9IElOVkFMSURfU09DS0VUOworCXJldHVybiBJTlZBTElEX1NPQ0tFVDsKKyAgICB9CisgICAgcmVzID0geG1sTmFub0ZUUFJlYWRSZXNwb25zZShjdHh0KTsKKyAgICBpZiAocmVzICE9IDIpIHsKKwljbG9zZXNvY2tldChjdHh0LT5kYXRhRmQpOyBjdHh0LT5kYXRhRmQgPSBJTlZBTElEX1NPQ0tFVDsKKwlyZXR1cm4gSU5WQUxJRF9TT0NLRVQ7CisgICAgfQorICAgIGlmIChmaWxlbmFtZSA9PSBOVUxMKQorCXNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksICJSRVRSICVzXHJcbiIsIGN0eHQtPnBhdGgpOworICAgIGVsc2UKKwlzbnByaW50ZihidWYsIHNpemVvZihidWYpLCAiUkVUUiAlc1xyXG4iLCBmaWxlbmFtZSk7CisgICAgYnVmW3NpemVvZihidWYpIC0gMV0gPSAwOworICAgIGxlbiA9IHN0cmxlbihidWYpOworI2lmZGVmIERFQlVHX0ZUUAorICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCAiJXMiLCBidWYpOworI2VuZGlmCisgICAgcmVzID0gc2VuZChjdHh0LT5jb250cm9sRmQsIFNFTkRfQVJHMl9DQVNUIGJ1ZiwgbGVuLCAwKTsKKyAgICBpZiAocmVzIDwgMCkgeworCV9feG1sSU9FcnIoWE1MX0ZST01fRlRQLCAwLCAic2VuZCBmYWlsZWQiKTsKKwljbG9zZXNvY2tldChjdHh0LT5kYXRhRmQpOyBjdHh0LT5kYXRhRmQgPSBJTlZBTElEX1NPQ0tFVDsKKwlyZXR1cm4gSU5WQUxJRF9TT0NLRVQ7CisgICAgfQorICAgIHJlcyA9IHhtbE5hbm9GVFBSZWFkUmVzcG9uc2UoY3R4dCk7CisgICAgaWYgKHJlcyAhPSAxKSB7CisJY2xvc2Vzb2NrZXQoY3R4dC0+ZGF0YUZkKTsgY3R4dC0+ZGF0YUZkID0gSU5WQUxJRF9TT0NLRVQ7CisJcmV0dXJuIElOVkFMSURfU09DS0VUOworICAgIH0KKyAgICByZXR1cm4oY3R4dC0+ZGF0YUZkKTsKK30KKworLyoqCisgKiB4bWxOYW5vRlRQR2V0OgorICogQGN0eDogIGFuIEZUUCBjb250ZXh0CisgKiBAY2FsbGJhY2s6ICB0aGUgdXNlciBjYWxsYmFjaworICogQHVzZXJEYXRhOiAgdGhlIHVzZXIgY2FsbGJhY2sgZGF0YQorICogQGZpbGVuYW1lOiAgdGhlIGZpbGUgdG8gcmV0cmlldmUKKyAqCisgKiBGZXRjaCB0aGUgZ2l2ZW4gZmlsZSBmcm9tIHRoZSBzZXJ2ZXIuIEFsbCBkYXRhIGFyZSBwYXNzZWQgYmFjaworICogaW4gdGhlIGNhbGxiYWNrcy4gVGhlIGxhc3QgY2FsbGJhY2sgaGFzIGEgc2l6ZSBvZiAwIGJsb2NrLgorICoKKyAqIFJldHVybnMgLTEgaW5jYXNlIG9mIGVycm9yLCAwIG90aGVyd2lzZQorICovCisKK2ludAoreG1sTmFub0ZUUEdldCh2b2lkICpjdHgsIGZ0cERhdGFDYWxsYmFjayBjYWxsYmFjaywgdm9pZCAqdXNlckRhdGEsCisJICAgICAgY29uc3QgY2hhciAqZmlsZW5hbWUpIHsKKyAgICB4bWxOYW5vRlRQQ3R4dFB0ciBjdHh0ID0gKHhtbE5hbm9GVFBDdHh0UHRyKSBjdHg7CisgICAgY2hhciBidWZbNDA5Nl07CisgICAgaW50IGxlbiA9IDAsIHJlczsKKyAgICBmZF9zZXQgcmZkOworICAgIHN0cnVjdCB0aW1ldmFsIHR2OworCisgICAgaWYgKGN0eHQgPT0gTlVMTCkgcmV0dXJuKC0xKTsKKyAgICBpZiAoKGZpbGVuYW1lID09IE5VTEwpICYmIChjdHh0LT5wYXRoID09IE5VTEwpKQorCXJldHVybigtMSk7CisgICAgaWYgKGNhbGxiYWNrID09IE5VTEwpCisJcmV0dXJuKC0xKTsKKyAgICBpZiAoeG1sTmFub0ZUUEdldFNvY2tldChjdHh0LCBmaWxlbmFtZSkgPT0gSU5WQUxJRF9TT0NLRVQpCisJcmV0dXJuKC0xKTsKKworICAgIGRvIHsKKwl0di50dl9zZWMgPSAxOworCXR2LnR2X3VzZWMgPSAwOworCUZEX1pFUk8oJnJmZCk7CisJRkRfU0VUKGN0eHQtPmRhdGFGZCwgJnJmZCk7CisJcmVzID0gc2VsZWN0KGN0eHQtPmRhdGFGZCArIDEsICZyZmQsIE5VTEwsIE5VTEwsICZ0dik7CisJaWYgKHJlcyA8IDApIHsKKyNpZmRlZiBERUJVR19GVFAKKwkgICAgcGVycm9yKCJzZWxlY3QiKTsKKyNlbmRpZgorCSAgICBjbG9zZXNvY2tldChjdHh0LT5kYXRhRmQpOyBjdHh0LT5kYXRhRmQgPSBJTlZBTElEX1NPQ0tFVDsKKwkgICAgcmV0dXJuKC0xKTsKKwl9CisJaWYgKHJlcyA9PSAwKSB7CisJICAgIHJlcyA9IHhtbE5hbm9GVFBDaGVja1Jlc3BvbnNlKGN0eHQpOworCSAgICBpZiAocmVzIDwgMCkgeworCQljbG9zZXNvY2tldChjdHh0LT5kYXRhRmQpOyBjdHh0LT5kYXRhRmQgPSBJTlZBTElEX1NPQ0tFVDsKKwkJY3R4dC0+ZGF0YUZkID0gSU5WQUxJRF9TT0NLRVQ7CisJCXJldHVybigtMSk7CisJICAgIH0KKwkgICAgaWYgKHJlcyA9PSAyKSB7CisJCWNsb3Nlc29ja2V0KGN0eHQtPmRhdGFGZCk7IGN0eHQtPmRhdGFGZCA9IElOVkFMSURfU09DS0VUOworCQlyZXR1cm4oMCk7CisJICAgIH0KKworCSAgICBjb250aW51ZTsKKwl9CisJaWYgKChsZW4gPSByZWN2KGN0eHQtPmRhdGFGZCwgYnVmLCBzaXplb2YoYnVmKSwgMCkpIDwgMCkgeworCSAgICBfX3htbElPRXJyKFhNTF9GUk9NX0ZUUCwgMCwgInJlY3YgZmFpbGVkIik7CisJICAgIGNhbGxiYWNrKHVzZXJEYXRhLCBidWYsIGxlbik7CisJICAgIGNsb3Nlc29ja2V0KGN0eHQtPmRhdGFGZCk7IGN0eHQtPmRhdGFGZCA9IElOVkFMSURfU09DS0VUOworCSAgICByZXR1cm4oLTEpOworCX0KKwljYWxsYmFjayh1c2VyRGF0YSwgYnVmLCBsZW4pOworICAgIH0gd2hpbGUgKGxlbiAhPSAwKTsKKworICAgIHJldHVybih4bWxOYW5vRlRQQ2xvc2VDb25uZWN0aW9uKGN0eHQpKTsKK30KKworLyoqCisgKiB4bWxOYW5vRlRQUmVhZDoKKyAqIEBjdHg6ICB0aGUgRlRQIGNvbnRleHQKKyAqIEBkZXN0OiAgYSBidWZmZXIKKyAqIEBsZW46ICB0aGUgYnVmZmVyIGxlbmd0aAorICoKKyAqIFRoaXMgZnVuY3Rpb24gdHJpZXMgdG8gcmVhZCBAbGVuIGJ5dGVzIGZyb20gdGhlIGV4aXN0aW5nIEZUUCBjb25uZWN0aW9uCisgKiBhbmQgc2F2ZXMgdGhlbSBpbiBAZGVzdC4gVGhpcyBpcyBhIGJsb2NraW5nIGNhbGwuCisgKgorICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIGJ5dGUgcmVhZC4gMCBpcyBhbiBpbmRpY2F0aW9uIG9mIGFuIGVuZCBvZiBjb25uZWN0aW9uLgorICogICAgICAgICAtMSBpbmRpY2F0ZXMgYSBwYXJhbWV0ZXIgZXJyb3IuCisgKi8KK2ludAoreG1sTmFub0ZUUFJlYWQodm9pZCAqY3R4LCB2b2lkICpkZXN0LCBpbnQgbGVuKSB7CisgICAgeG1sTmFub0ZUUEN0eHRQdHIgY3R4dCA9ICh4bWxOYW5vRlRQQ3R4dFB0cikgY3R4OworCisgICAgaWYgKGN0eCA9PSBOVUxMKSByZXR1cm4oLTEpOworICAgIGlmIChjdHh0LT5kYXRhRmQgPT0gSU5WQUxJRF9TT0NLRVQpIHJldHVybigwKTsKKyAgICBpZiAoZGVzdCA9PSBOVUxMKSByZXR1cm4oLTEpOworICAgIGlmIChsZW4gPD0gMCkgcmV0dXJuKDApOworCisgICAgbGVuID0gcmVjdihjdHh0LT5kYXRhRmQsIGRlc3QsIGxlbiwgMCk7CisgICAgaWYgKGxlbiA8PSAwKSB7CisJaWYgKGxlbiA8IDApCisJICAgIF9feG1sSU9FcnIoWE1MX0ZST01fRlRQLCAwLCAicmVjdiBmYWlsZWQiKTsKKwl4bWxOYW5vRlRQQ2xvc2VDb25uZWN0aW9uKGN0eHQpOworICAgIH0KKyNpZmRlZiBERUJVR19GVFAKKyAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgIlJlY3ZkICVkIGJ5dGVzXG4iLCBsZW4pOworI2VuZGlmCisgICAgcmV0dXJuKGxlbik7Cit9CisKKy8qKgorICogeG1sTmFub0ZUUE9wZW46CisgKiBAVVJMOiB0aGUgVVJMIHRvIHRoZSByZXNvdXJjZQorICoKKyAqIFN0YXJ0IHRvIGZldGNoIHRoZSBnaXZlbiBmdHA6Ly8gcmVzb3VyY2UKKyAqCisgKiBSZXR1cm5zIGFuIEZUUCBjb250ZXh0LCBvciBOVUxMCisgKi8KKwordm9pZCoKK3htbE5hbm9GVFBPcGVuKGNvbnN0IGNoYXIgKlVSTCkgeworICAgIHhtbE5hbm9GVFBDdHh0UHRyIGN0eHQ7CisgICAgU09DS0VUIHNvY2s7CisKKyAgICB4bWxOYW5vRlRQSW5pdCgpOworICAgIGlmIChVUkwgPT0gTlVMTCkgcmV0dXJuKE5VTEwpOworICAgIGlmIChzdHJuY21wKCJmdHA6Ly8iLCBVUkwsIDYpKSByZXR1cm4oTlVMTCk7CisKKyAgICBjdHh0ID0gKHhtbE5hbm9GVFBDdHh0UHRyKSB4bWxOYW5vRlRQTmV3Q3R4dChVUkwpOworICAgIGlmIChjdHh0ID09IE5VTEwpIHJldHVybihOVUxMKTsKKyAgICBpZiAoeG1sTmFub0ZUUENvbm5lY3QoY3R4dCkgPCAwKSB7CisJeG1sTmFub0ZUUEZyZWVDdHh0KGN0eHQpOworCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgc29jayA9IHhtbE5hbm9GVFBHZXRTb2NrZXQoY3R4dCwgY3R4dC0+cGF0aCk7CisgICAgaWYgKHNvY2sgPT0gSU5WQUxJRF9TT0NLRVQpIHsKKwl4bWxOYW5vRlRQRnJlZUN0eHQoY3R4dCk7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICByZXR1cm4oY3R4dCk7Cit9CisKKy8qKgorICogeG1sTmFub0ZUUENsb3NlOgorICogQGN0eDogYW4gRlRQIGNvbnRleHQKKyAqCisgKiBDbG9zZSB0aGUgY29ubmVjdGlvbiBhbmQgYm90aCBjb250cm9sIGFuZCB0cmFuc3BvcnQKKyAqCisgKiBSZXR1cm5zIC0xIGluY2FzZSBvZiBlcnJvciwgMCBvdGhlcndpc2UKKyAqLworCitpbnQKK3htbE5hbm9GVFBDbG9zZSh2b2lkICpjdHgpIHsKKyAgICB4bWxOYW5vRlRQQ3R4dFB0ciBjdHh0ID0gKHhtbE5hbm9GVFBDdHh0UHRyKSBjdHg7CisKKyAgICBpZiAoY3R4dCA9PSBOVUxMKQorCXJldHVybigtMSk7CisKKyAgICBpZiAoY3R4dC0+ZGF0YUZkICE9IElOVkFMSURfU09DS0VUKSB7CisJY2xvc2Vzb2NrZXQoY3R4dC0+ZGF0YUZkKTsKKwljdHh0LT5kYXRhRmQgPSBJTlZBTElEX1NPQ0tFVDsKKyAgICB9CisgICAgaWYgKGN0eHQtPmNvbnRyb2xGZCAhPSBJTlZBTElEX1NPQ0tFVCkgeworCXhtbE5hbm9GVFBRdWl0KGN0eHQpOworCWNsb3Nlc29ja2V0KGN0eHQtPmNvbnRyb2xGZCk7CisJY3R4dC0+Y29udHJvbEZkID0gSU5WQUxJRF9TT0NLRVQ7CisgICAgfQorICAgIHhtbE5hbm9GVFBGcmVlQ3R4dChjdHh0KTsKKyAgICByZXR1cm4oMCk7Cit9CisKKyNpZmRlZiBTVEFOREFMT05FCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQkJQmFzaWMgdGVzdCBpbiBTdGFuZGFsb25lIG1vZGUJCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMKK3ZvaWQgZnRwTGlzdCh2b2lkICp1c2VyRGF0YSwgY29uc3QgY2hhciAqZmlsZW5hbWUsIGNvbnN0IGNoYXIqIGF0dHJpYiwKKwkgICAgIGNvbnN0IGNoYXIgKm93bmVyLCBjb25zdCBjaGFyICpncm91cCwgdW5zaWduZWQgbG9uZyBzaXplLCBpbnQgbGlua3MsCisJICAgICBpbnQgeWVhciwgY29uc3QgY2hhciAqbW9udGgsIGludCBkYXksIGludCBob3VyLCBpbnQgbWludXRlKSB7CisgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJICAgICIlcyAlcyAlcyAlbGQgJXNcbiIsIGF0dHJpYiwgb3duZXIsIGdyb3VwLCBzaXplLCBmaWxlbmFtZSk7Cit9CitzdGF0aWMKK3ZvaWQgZnRwRGF0YSh2b2lkICp1c2VyRGF0YSwgY29uc3QgY2hhciAqZGF0YSwgaW50IGxlbikgeworICAgIGlmICh1c2VyRGF0YSA9PSBOVUxMKSByZXR1cm47CisgICAgaWYgKGxlbiA8PSAwKSB7CisJZmNsb3NlKChGSUxFKil1c2VyRGF0YSk7CisJcmV0dXJuOworICAgIH0KKyAgICBmd3JpdGUoZGF0YSwgbGVuLCAxLCAoRklMRSopdXNlckRhdGEpOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKKyAgICB2b2lkICpjdHh0OworICAgIEZJTEUgKm91dHB1dDsKKyAgICBjaGFyICp0c3RmaWxlID0gTlVMTDsKKworICAgIHhtbE5hbm9GVFBJbml0KCk7CisgICAgaWYgKGFyZ2MgPiAxKSB7CisJY3R4dCA9IHhtbE5hbm9GVFBOZXdDdHh0KGFyZ3ZbMV0pOworCWlmICh4bWxOYW5vRlRQQ29ubmVjdChjdHh0KSA8IDApIHsKKwkgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSAgICAiQ291bGRuJ3QgY29ubmVjdCB0byAlc1xuIiwgYXJndlsxXSk7CisJICAgIGV4aXQoMSk7CisJfQorCWlmIChhcmdjID4gMikKKwkgICAgdHN0ZmlsZSA9IGFyZ3ZbMl07CisgICAgfSBlbHNlCisJY3R4dCA9IHhtbE5hbm9GVFBDb25uZWN0VG8oImxvY2FsaG9zdCIsIDApOworICAgIGlmIChjdHh0ID09IE5VTEwpIHsKKyAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSJDb3VsZG4ndCBjb25uZWN0IHRvIGxvY2FsaG9zdFxuIik7CisgICAgICAgIGV4aXQoMSk7CisgICAgfQorICAgIHhtbE5hbm9GVFBMaXN0KGN0eHQsIGZ0cExpc3QsIE5VTEwsIHRzdGZpbGUpOworICAgIG91dHB1dCA9IGZvcGVuKCIvdG1wL3RzdGRhdGEiLCAidyIpOworICAgIGlmIChvdXRwdXQgIT0gTlVMTCkgeworCWlmICh4bWxOYW5vRlRQR2V0KGN0eHQsIGZ0cERhdGEsICh2b2lkICopIG91dHB1dCwgdHN0ZmlsZSkgPCAwKQorCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJICAgICJGYWlsZWQgdG8gZ2V0IGZpbGVcbiIpOworCisgICAgfQorICAgIHhtbE5hbm9GVFBDbG9zZShjdHh0KTsKKyAgICB4bWxNZW1vcnlEdW1wKCk7CisgICAgZXhpdCgwKTsKK30KKyNlbmRpZiAvKiBTVEFOREFMT05FICovCisjZWxzZSAvKiAhTElCWE1MX0ZUUF9FTkFCTEVEICovCisjaWZkZWYgU1RBTkRBTE9ORQorI2luY2x1ZGUgPHN0ZGlvLmg+CitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKKyAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkgICAgIiVzIDogRlRQIHN1cHBvcnQgbm90IGNvbXBpbGVkIGluXG4iLCBhcmd2WzBdKTsKKyAgICByZXR1cm4oMCk7Cit9CisjZW5kaWYgLyogU1RBTkRBTE9ORSAqLworI2VuZGlmIC8qIExJQlhNTF9GVFBfRU5BQkxFRCAqLworI2RlZmluZSBib3R0b21fbmFub2Z0cAorI2luY2x1ZGUgImVsZmdjY2hhY2suaCIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvbmFub2h0dHAuYyBiL2xpYnhtbDIvbmFub2h0dHAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMTA5YWQ3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9uYW5vaHR0cC5jCkBAIC0wLDAgKzEsMTg5MCBAQAorLyoKKyAqIG5hbm9odHRwLmM6IG1pbmltYWxpc3QgSFRUUCBHRVQgaW1wbGVtZW50YXRpb24gdG8gZmV0Y2ggZXh0ZXJuYWwgc3Vic2V0cy4KKyAqICAgICAgICAgICAgIGZvY3VzZXMgb24gc2l6ZSwgc3RyZWFtYWJpbGl0eSwgcmVlbnRyYW5jeSBhbmQgcG9ydGFiaWxpdHkKKyAqCisgKiBUaGlzIGlzIGNsZWFybHkgbm90IGEgZ2VuZXJhbCBwdXJwb3NlIEhUVFAgaW1wbGVtZW50YXRpb24KKyAqIElmIHlvdSBsb29rIGZvciBvbmUsIGNoZWNrOgorICogICAgICAgICBodHRwOi8vd3d3LnczLm9yZy9MaWJyYXJ5LworICoKKyAqIFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyAqCisgKiBkYW5pZWxAdmVpbGxhcmQuY29tCisgKi8KKworI2RlZmluZSBORUVEX1NPQ0tFVFMKKyNkZWZpbmUgSU5fTElCWE1MCisjaW5jbHVkZSAibGlieG1sLmgiCisKKyNpZmRlZiBMSUJYTUxfSFRUUF9FTkFCTEVECisjaW5jbHVkZSA8c3RyaW5nLmg+CisKKyNpZmRlZiBIQVZFX1NURExJQl9ICisjaW5jbHVkZSA8c3RkbGliLmg+CisjZW5kaWYKKyNpZmRlZiBIQVZFX1VOSVNURF9ICisjaW5jbHVkZSA8dW5pc3RkLmg+CisjZW5kaWYKKyNpZmRlZiBIQVZFX1NZU19UWVBFU19ICisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjZW5kaWYKKyNpZmRlZiBIQVZFX1NZU19TT0NLRVRfSAorI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KKyNlbmRpZgorI2lmZGVmIEhBVkVfTkVUSU5FVF9JTl9ICisjaW5jbHVkZSA8bmV0aW5ldC9pbi5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9BUlBBX0lORVRfSAorI2luY2x1ZGUgPGFycGEvaW5ldC5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9ORVREQl9ICisjaW5jbHVkZSA8bmV0ZGIuaD4KKyNlbmRpZgorI2lmZGVmIEhBVkVfUkVTT0xWX0gKKyNpZmRlZiBIQVZFX0FSUEFfTkFNRVNFUl9ICisjaW5jbHVkZSA8YXJwYS9uYW1lc2VyLmg+CisjZW5kaWYKKyNpbmNsdWRlIDxyZXNvbHYuaD4KKyNlbmRpZgorI2lmZGVmIEhBVkVfRkNOVExfSAorI2luY2x1ZGUgPGZjbnRsLmg+CisjZW5kaWYKKyNpZmRlZiBIQVZFX0VSUk5PX0gKKyNpbmNsdWRlIDxlcnJuby5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9TWVNfVElNRV9ICisjaW5jbHVkZSA8c3lzL3RpbWUuaD4KKyNlbmRpZgorI2lmbmRlZiBIQVZFX1BPTExfSAorI2lmZGVmIEhBVkVfU1lTX1NFTEVDVF9ICisjaW5jbHVkZSA8c3lzL3NlbGVjdC5oPgorI2VuZGlmCisjZWxzZQorI2luY2x1ZGUgPHBvbGwuaD4KKyNlbmRpZgorI2lmZGVmIEhBVkVfU1RSSU5HU19ICisjaW5jbHVkZSA8c3RyaW5ncy5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9aTElCX0gKKyNpbmNsdWRlIDx6bGliLmg+CisjZW5kaWYKKworCisjaWZkZWYgVk1TCisjaW5jbHVkZSA8c3Ryb3B0cz4KKyNkZWZpbmUgWE1MX1NPQ0tMRU5fVCB1bnNpZ25lZCBpbnQKKyNlbmRpZgorCisjaWYgZGVmaW5lZChfX01JTkdXMzJfXykgfHwgZGVmaW5lZChfV0lOMzJfV0NFKQorI2lmbmRlZiBfV0lOU09DS0FQSV8KKyNkZWZpbmUgX1dJTlNPQ0tBUElfCisjZW5kaWYKKyNpbmNsdWRlIDx3c29ja2NvbXBhdC5oPgorI2luY2x1ZGUgPHdpbnNvY2syLmg+CisjdW5kZWYgWE1MX1NPQ0tMRU5fVAorI2RlZmluZSBYTUxfU09DS0xFTl9UIHVuc2lnbmVkIGludAorI2VuZGlmCisKKyNpbmNsdWRlIDxsaWJ4bWwvZ2xvYmFscy5oPgorI2luY2x1ZGUgPGxpYnhtbC94bWxlcnJvci5oPgorI2luY2x1ZGUgPGxpYnhtbC94bWxtZW1vcnkuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvcGFyc2VyLmg+IC8qIGZvciB4bWxTdHIobiljYXNlY21wKCkgKi8KKyNpbmNsdWRlIDxsaWJ4bWwvbmFub2h0dHAuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvZ2xvYmFscy5oPgorI2luY2x1ZGUgPGxpYnhtbC91cmkuaD4KKworLyoqCisgKiBBIGNvdXBsZSBwb3J0YWJpbGl0eSBtYWNyb3MKKyAqLworI2lmbmRlZiBfV0lOU09DS0FQSV8KKyNpZiAhZGVmaW5lZChfX0JFT1NfXykgfHwgZGVmaW5lZChfX0hBSUtVX18pCisjZGVmaW5lIGNsb3Nlc29ja2V0KHMpIGNsb3NlKHMpCisjZW5kaWYKKyNkZWZpbmUgU09DS0VUIGludAorI2RlZmluZSBJTlZBTElEX1NPQ0tFVCAoLTEpCisjZW5kaWYKKworI2lmZGVmIF9fQkVPU19fCisjaWZuZGVmIFBGX0lORVQKKyNkZWZpbmUgUEZfSU5FVCBBRl9JTkVUCisjZW5kaWYKKyNlbmRpZgorCisjaWZuZGVmIFhNTF9TT0NLTEVOX1QKKyNkZWZpbmUgWE1MX1NPQ0tMRU5fVCB1bnNpZ25lZCBpbnQKKyNlbmRpZgorCisjaWZkZWYgU1RBTkRBTE9ORQorI2RlZmluZSBERUJVR19IVFRQCisjZGVmaW5lIHhtbFN0cm5jYXNlY21wKGEsIGIsIG4pIHN0cm5jYXNlY21wKChjaGFyICopYSwgKGNoYXIgKiliLCBuKQorI2RlZmluZSB4bWxTdHJjYXNlY21waShhLCBiKSBzdHJjYXNlY21wKChjaGFyICopYSwgKGNoYXIgKiliKQorI2VuZGlmCisKKyNkZWZpbmUgWE1MX05BTk9fSFRUUF9NQVhfUkVESVIJMTAKKworI2RlZmluZSBYTUxfTkFOT19IVFRQX0NIVU5LCTQwOTYKKworI2RlZmluZSBYTUxfTkFOT19IVFRQX0NMT1NFRAkwCisjZGVmaW5lIFhNTF9OQU5PX0hUVFBfV1JJVEUJMQorI2RlZmluZSBYTUxfTkFOT19IVFRQX1JFQUQJMgorI2RlZmluZSBYTUxfTkFOT19IVFRQX05PTkUJNAorCit0eXBlZGVmIHN0cnVjdCB4bWxOYW5vSFRUUEN0eHQgeworICAgIGNoYXIgKnByb3RvY29sOwkvKiB0aGUgcHJvdG9jb2wgbmFtZSAqLworICAgIGNoYXIgKmhvc3RuYW1lOwkvKiB0aGUgaG9zdCBuYW1lICovCisgICAgaW50IHBvcnQ7CQkvKiB0aGUgcG9ydCAqLworICAgIGNoYXIgKnBhdGg7CQkvKiB0aGUgcGF0aCB3aXRoaW4gdGhlIFVSTCAqLworICAgIGNoYXIgKnF1ZXJ5OwkvKiB0aGUgcXVlcnkgc3RyaW5nICovCisgICAgU09DS0VUIGZkOwkJLyogdGhlIGZpbGUgZGVzY3JpcHRvciBmb3IgdGhlIHNvY2tldCAqLworICAgIGludCBzdGF0ZTsJCS8qIFdSSVRFIC8gUkVBRCAvIENMT1NFRCAqLworICAgIGNoYXIgKm91dDsJCS8qIGJ1ZmZlciBzZW50ICh6ZXJvIHRlcm1pbmF0ZWQpICovCisgICAgY2hhciAqb3V0cHRyOwkvKiBpbmRleCB3aXRoaW4gdGhlIGJ1ZmZlciBzZW50ICovCisgICAgY2hhciAqaW47CQkvKiB0aGUgcmVjZWl2aW5nIGJ1ZmZlciAqLworICAgIGNoYXIgKmNvbnRlbnQ7CS8qIHRoZSBzdGFydCBvZiB0aGUgY29udGVudCAqLworICAgIGNoYXIgKmlucHRyOwkvKiB0aGUgbmV4dCBieXRlIHRvIHJlYWQgZnJvbSBuZXR3b3JrICovCisgICAgY2hhciAqaW5ycHRyOwkvKiB0aGUgbmV4dCBieXRlIHRvIGdpdmUgYmFjayB0byB0aGUgY2xpZW50ICovCisgICAgaW50IGlubGVuOwkJLyogbGVuIG9mIHRoZSBpbnB1dCBidWZmZXIgKi8KKyAgICBpbnQgbGFzdDsJCS8qIHJldHVybiBjb2RlIGZvciBsYXN0IG9wZXJhdGlvbiAqLworICAgIGludCByZXR1cm5WYWx1ZTsJLyogdGhlIHByb3RvY29sIHJldHVybiB2YWx1ZSAqLworICAgIGludCB2ZXJzaW9uOyAgICAgICAgLyogdGhlIHByb3RvY29sIHZlcnNpb24gKi8KKyAgICBpbnQgQ29udGVudExlbmd0aDsgIC8qIHNwZWNpZmllZCBjb250ZW50IGxlbmd0aCBmcm9tIEhUVFAgaGVhZGVyICovCisgICAgY2hhciAqY29udGVudFR5cGU7CS8qIHRoZSBNSU1FIHR5cGUgZm9yIHRoZSBpbnB1dCAqLworICAgIGNoYXIgKmxvY2F0aW9uOwkvKiB0aGUgbmV3IFVSTCBpbiBjYXNlIG9mIHJlZGlyZWN0ICovCisgICAgY2hhciAqYXV0aEhlYWRlcjsJLyogY29udGVudHMgb2Yge1dXVyxQcm94eX0tQXV0aGVudGljYXRlIGhlYWRlciAqLworICAgIGNoYXIgKmVuY29kaW5nOwkvKiBlbmNvZGluZyBleHRyYWN0ZWQgZnJvbSB0aGUgY29udGVudFR5cGUgKi8KKyAgICBjaGFyICptaW1lVHlwZTsJLyogTWltZS1UeXBlIGV4dHJhY3RlZCBmcm9tIHRoZSBjb250ZW50VHlwZSAqLworI2lmZGVmIEhBVkVfWkxJQl9ICisgICAgel9zdHJlYW0gKnN0cm07CS8qIFpsaWIgc3RyZWFtIG9iamVjdCAqLworICAgIGludCB1c2VzR3ppcDsJLyogIkNvbnRlbnQtRW5jb2Rpbmc6IGd6aXAiIHdhcyBkZXRlY3RlZCAqLworI2VuZGlmCit9IHhtbE5hbm9IVFRQQ3R4dCwgKnhtbE5hbm9IVFRQQ3R4dFB0cjsKKworc3RhdGljIGludCBpbml0aWFsaXplZCA9IDA7CitzdGF0aWMgY2hhciAqcHJveHkgPSBOVUxMOwkgLyogdGhlIHByb3h5IG5hbWUgaWYgYW55ICovCitzdGF0aWMgaW50IHByb3h5UG9ydDsJLyogdGhlIHByb3h5IHBvcnQgaWYgYW55ICovCitzdGF0aWMgdW5zaWduZWQgaW50IHRpbWVvdXQgPSA2MDsvKiB0aGUgc2VsZWN0KCkgdGltZW91dCBpbiBzZWNvbmRzICovCisKK3N0YXRpYyBpbnQgeG1sTmFub0hUVFBGZXRjaENvbnRlbnQoIHZvaWQgKiBjdHgsIGNoYXIgKiogcHRyLCBpbnQgKiBsZW4gKTsKKworLyoqCisgKiB4bWxIVFRQRXJyTWVtb3J5OgorICogQGV4dHJhOiAgZXh0cmEgaW5mb3JtYXRpb25zCisgKgorICogSGFuZGxlIGFuIG91dCBvZiBtZW1vcnkgY29uZGl0aW9uCisgKi8KK3N0YXRpYyB2b2lkCit4bWxIVFRQRXJyTWVtb3J5KGNvbnN0IGNoYXIgKmV4dHJhKQoreworICAgIF9feG1sU2ltcGxlRXJyb3IoWE1MX0ZST01fSFRUUCwgWE1MX0VSUl9OT19NRU1PUlksIE5VTEwsIE5VTEwsIGV4dHJhKTsKK30KKworLyoqCisgKiBBIHBvcnRhYmlsaXR5IGZ1bmN0aW9uCisgKi8KK3N0YXRpYyBpbnQgc29ja2V0X2Vycm5vKHZvaWQpIHsKKyNpZmRlZiBfV0lOU09DS0FQSV8KKyAgICByZXR1cm4oV1NBR2V0TGFzdEVycm9yKCkpOworI2Vsc2UKKyAgICByZXR1cm4oZXJybm8pOworI2VuZGlmCit9CisKKyNpZmRlZiBTVVBQT1JUX0lQNgorc3RhdGljCitpbnQgaGF2ZV9pcHY2KHZvaWQpIHsKKyAgICBTT0NLRVQgczsKKworICAgIHMgPSBzb2NrZXQgKEFGX0lORVQ2LCBTT0NLX1NUUkVBTSwgMCk7CisgICAgaWYgKHMgIT0gSU5WQUxJRF9TT0NLRVQpIHsKKwljbG9zZSAocyk7CisJcmV0dXJuICgxKTsKKyAgICB9CisgICAgcmV0dXJuICgwKTsKK30KKyNlbmRpZgorCisvKioKKyAqIHhtbE5hbm9IVFRQSW5pdDoKKyAqCisgKiBJbml0aWFsaXplIHRoZSBIVFRQIHByb3RvY29sIGxheWVyLgorICogQ3VycmVudGx5IGl0IGp1c3QgY2hlY2tzIGZvciBwcm94eSBpbmZvcm1hdGlvbnMKKyAqLworCit2b2lkCit4bWxOYW5vSFRUUEluaXQodm9pZCkgeworICAgIGNvbnN0IGNoYXIgKmVudjsKKyNpZmRlZiBfV0lOU09DS0FQSV8KKyAgICBXU0FEQVRBIHdzYURhdGE7CisjZW5kaWYKKworICAgIGlmIChpbml0aWFsaXplZCkKKwlyZXR1cm47CisKKyNpZmRlZiBfV0lOU09DS0FQSV8KKyAgICBpZiAoV1NBU3RhcnR1cChNQUtFV09SRCgxLCAxKSwgJndzYURhdGEpICE9IDApCisJcmV0dXJuOworI2VuZGlmCisKKyAgICBpZiAocHJveHkgPT0gTlVMTCkgeworCXByb3h5UG9ydCA9IDgwOworCWVudiA9IGdldGVudigibm9fcHJveHkiKTsKKwlpZiAoZW52ICYmICgoZW52WzBdID09ICcqJykgJiYgKGVudlsxXSA9PSAwKSkpCisJICAgIGdvdG8gZG9uZTsKKwllbnYgPSBnZXRlbnYoImh0dHBfcHJveHkiKTsKKwlpZiAoZW52ICE9IE5VTEwpIHsKKwkgICAgeG1sTmFub0hUVFBTY2FuUHJveHkoZW52KTsKKwkgICAgZ290byBkb25lOworCX0KKwllbnYgPSBnZXRlbnYoIkhUVFBfUFJPWFkiKTsKKwlpZiAoZW52ICE9IE5VTEwpIHsKKwkgICAgeG1sTmFub0hUVFBTY2FuUHJveHkoZW52KTsKKwkgICAgZ290byBkb25lOworCX0KKyAgICB9Citkb25lOgorICAgIGluaXRpYWxpemVkID0gMTsKK30KKworLyoqCisgKiB4bWxOYW5vSFRUUENsZWFudXA6CisgKgorICogQ2xlYW51cCB0aGUgSFRUUCBwcm90b2NvbCBsYXllci4KKyAqLworCit2b2lkCit4bWxOYW5vSFRUUENsZWFudXAodm9pZCkgeworICAgIGlmIChwcm94eSAhPSBOVUxMKSB7CisJeG1sRnJlZShwcm94eSk7CisJcHJveHkgPSBOVUxMOworICAgIH0KKyNpZmRlZiBfV0lOU09DS0FQSV8KKyAgICBpZiAoaW5pdGlhbGl6ZWQpCisJV1NBQ2xlYW51cCgpOworI2VuZGlmCisgICAgaW5pdGlhbGl6ZWQgPSAwOworICAgIHJldHVybjsKK30KKworLyoqCisgKiB4bWxOYW5vSFRUUFNjYW5VUkw6CisgKiBAY3R4dDogIGFuIEhUVFAgY29udGV4dAorICogQFVSTDogIFRoZSBVUkwgdXNlZCB0byBpbml0aWFsaXplIHRoZSBjb250ZXh0CisgKgorICogKFJlKUluaXRpYWxpemUgYW4gSFRUUCBjb250ZXh0IGJ5IHBhcnNpbmcgdGhlIFVSTCBhbmQgZmluZGluZworICogdGhlIHByb3RvY29sIGhvc3QgcG9ydCBhbmQgcGF0aCBpdCBpbmRpY2F0ZXMuCisgKi8KKworc3RhdGljIHZvaWQKK3htbE5hbm9IVFRQU2NhblVSTCh4bWxOYW5vSFRUUEN0eHRQdHIgY3R4dCwgY29uc3QgY2hhciAqVVJMKSB7CisgICAgeG1sVVJJUHRyIHVyaTsKKyAgICBpbnQgbGVuOworCisgICAgLyoKKyAgICAgKiBDbGVhciBhbnkgZXhpc3RpbmcgZGF0YSBmcm9tIHRoZSBjb250ZXh0CisgICAgICovCisgICAgaWYgKGN0eHQtPnByb3RvY29sICE9IE5VTEwpIHsKKyAgICAgICAgeG1sRnJlZShjdHh0LT5wcm90b2NvbCk7CisJY3R4dC0+cHJvdG9jb2wgPSBOVUxMOworICAgIH0KKyAgICBpZiAoY3R4dC0+aG9zdG5hbWUgIT0gTlVMTCkgeworICAgICAgICB4bWxGcmVlKGN0eHQtPmhvc3RuYW1lKTsKKwljdHh0LT5ob3N0bmFtZSA9IE5VTEw7CisgICAgfQorICAgIGlmIChjdHh0LT5wYXRoICE9IE5VTEwpIHsKKyAgICAgICAgeG1sRnJlZShjdHh0LT5wYXRoKTsKKwljdHh0LT5wYXRoID0gTlVMTDsKKyAgICB9CisgICAgaWYgKGN0eHQtPnF1ZXJ5ICE9IE5VTEwpIHsKKyAgICAgICAgeG1sRnJlZShjdHh0LT5xdWVyeSk7CisJY3R4dC0+cXVlcnkgPSBOVUxMOworICAgIH0KKyAgICBpZiAoVVJMID09IE5VTEwpIHJldHVybjsKKworICAgIHVyaSA9IHhtbFBhcnNlVVJJUmF3KFVSTCwgMSk7CisgICAgaWYgKHVyaSA9PSBOVUxMKQorCXJldHVybjsKKworICAgIGlmICgodXJpLT5zY2hlbWUgPT0gTlVMTCkgfHwgKHVyaS0+c2VydmVyID09IE5VTEwpKSB7CisJeG1sRnJlZVVSSSh1cmkpOworCXJldHVybjsKKyAgICB9CisKKyAgICBjdHh0LT5wcm90b2NvbCA9IHhtbE1lbVN0cmR1cCh1cmktPnNjaGVtZSk7CisgICAgLyogc3BlY2lhbCBjYXNlIG9mIElQdjYgYWRkcmVzc2VzLCB0aGUgW10gbmVlZCB0byBiZSByZW1vdmVkICovCisgICAgaWYgKCh1cmktPnNlcnZlciAhPSBOVUxMKSAmJiAoKnVyaS0+c2VydmVyID09ICdbJykpIHsKKyAgICAgICAgbGVuID0gc3RybGVuKHVyaS0+c2VydmVyKTsKKwlpZiAoKGxlbiA+IDIpICYmICh1cmktPnNlcnZlcltsZW4gLSAxXSA9PSAnXScpKSB7CisJICAgIGN0eHQtPmhvc3RuYW1lID0gKGNoYXIgKikgeG1sQ2hhclN0cm5kdXAodXJpLT5zZXJ2ZXIgKyAxLCBsZW4gLTIpOworCX0gZWxzZQorCSAgICBjdHh0LT5ob3N0bmFtZSA9IHhtbE1lbVN0cmR1cCh1cmktPnNlcnZlcik7CisgICAgfSBlbHNlCisJY3R4dC0+aG9zdG5hbWUgPSB4bWxNZW1TdHJkdXAodXJpLT5zZXJ2ZXIpOworICAgIGlmICh1cmktPnBhdGggIT0gTlVMTCkKKwljdHh0LT5wYXRoID0geG1sTWVtU3RyZHVwKHVyaS0+cGF0aCk7CisgICAgZWxzZQorCWN0eHQtPnBhdGggPSB4bWxNZW1TdHJkdXAoIi8iKTsKKyAgICBpZiAodXJpLT5xdWVyeSAhPSBOVUxMKQorCWN0eHQtPnF1ZXJ5ID0geG1sTWVtU3RyZHVwKHVyaS0+cXVlcnkpOworICAgIGlmICh1cmktPnBvcnQgIT0gMCkKKwljdHh0LT5wb3J0ID0gdXJpLT5wb3J0OworCisgICAgeG1sRnJlZVVSSSh1cmkpOworfQorCisvKioKKyAqIHhtbE5hbm9IVFRQU2NhblByb3h5OgorICogQFVSTDogIFRoZSBwcm94eSBVUkwgdXNlZCB0byBpbml0aWFsaXplIHRoZSBwcm94eSBjb250ZXh0CisgKgorICogKFJlKUluaXRpYWxpemUgdGhlIEhUVFAgUHJveHkgY29udGV4dCBieSBwYXJzaW5nIHRoZSBVUkwgYW5kIGZpbmRpbmcKKyAqIHRoZSBwcm90b2NvbCBob3N0IHBvcnQgaXQgaW5kaWNhdGVzLgorICogU2hvdWxkIGJlIGxpa2UgaHR0cDovL215cHJveHkvIG9yIGh0dHA6Ly9teXByb3h5OjMxMjgvCisgKiBBIE5VTEwgVVJMIGNsZWFucyB1cCBwcm94eSBpbmZvcm1hdGlvbnMuCisgKi8KKwordm9pZAoreG1sTmFub0hUVFBTY2FuUHJveHkoY29uc3QgY2hhciAqVVJMKSB7CisgICAgeG1sVVJJUHRyIHVyaTsKKworICAgIGlmIChwcm94eSAhPSBOVUxMKSB7CisgICAgICAgIHhtbEZyZWUocHJveHkpOworCXByb3h5ID0gTlVMTDsKKyAgICB9CisgICAgcHJveHlQb3J0ID0gMDsKKworI2lmZGVmIERFQlVHX0hUVFAKKyAgICBpZiAoVVJMID09IE5VTEwpCisJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSJSZW1vdmluZyBIVFRQIHByb3h5IGluZm9cbiIpOworICAgIGVsc2UKKwl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJIlVzaW5nIEhUVFAgcHJveHkgJXNcbiIsIFVSTCk7CisjZW5kaWYKKyAgICBpZiAoVVJMID09IE5VTEwpIHJldHVybjsKKworICAgIHVyaSA9IHhtbFBhcnNlVVJJUmF3KFVSTCwgMSk7CisgICAgaWYgKCh1cmkgPT0gTlVMTCkgfHwgKHVyaS0+c2NoZW1lID09IE5VTEwpIHx8CisJKHN0cmNtcCh1cmktPnNjaGVtZSwgImh0dHAiKSkgfHwgKHVyaS0+c2VydmVyID09IE5VTEwpKSB7CisJX194bWxJT0VycihYTUxfRlJPTV9IVFRQLCBYTUxfSFRUUF9VUkxfU1lOVEFYLCAiU3ludGF4IEVycm9yXG4iKTsKKwlpZiAodXJpICE9IE5VTEwpCisJICAgIHhtbEZyZWVVUkkodXJpKTsKKwlyZXR1cm47CisgICAgfQorCisgICAgcHJveHkgPSB4bWxNZW1TdHJkdXAodXJpLT5zZXJ2ZXIpOworICAgIGlmICh1cmktPnBvcnQgIT0gMCkKKwlwcm94eVBvcnQgPSB1cmktPnBvcnQ7CisKKyAgICB4bWxGcmVlVVJJKHVyaSk7Cit9CisKKy8qKgorICogeG1sTmFub0hUVFBOZXdDdHh0OgorICogQFVSTDogIFRoZSBVUkwgdXNlZCB0byBpbml0aWFsaXplIHRoZSBjb250ZXh0CisgKgorICogQWxsb2NhdGUgYW5kIGluaXRpYWxpemUgYSBuZXcgSFRUUCBjb250ZXh0LgorICoKKyAqIFJldHVybnMgYW4gSFRUUCBjb250ZXh0IG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworCitzdGF0aWMgeG1sTmFub0hUVFBDdHh0UHRyCit4bWxOYW5vSFRUUE5ld0N0eHQoY29uc3QgY2hhciAqVVJMKSB7CisgICAgeG1sTmFub0hUVFBDdHh0UHRyIHJldDsKKworICAgIHJldCA9ICh4bWxOYW5vSFRUUEN0eHRQdHIpIHhtbE1hbGxvYyhzaXplb2YoeG1sTmFub0hUVFBDdHh0KSk7CisgICAgaWYgKHJldCA9PSBOVUxMKSB7CisgICAgICAgIHhtbEhUVFBFcnJNZW1vcnkoImFsbG9jYXRpbmcgY29udGV4dCIpOworICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgfQorCisgICAgbWVtc2V0KHJldCwgMCwgc2l6ZW9mKHhtbE5hbm9IVFRQQ3R4dCkpOworICAgIHJldC0+cG9ydCA9IDgwOworICAgIHJldC0+cmV0dXJuVmFsdWUgPSAwOworICAgIHJldC0+ZmQgPSBJTlZBTElEX1NPQ0tFVDsKKyAgICByZXQtPkNvbnRlbnRMZW5ndGggPSAtMTsKKworICAgIHhtbE5hbm9IVFRQU2NhblVSTChyZXQsIFVSTCk7CisKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxOYW5vSFRUUEZyZWVDdHh0OgorICogQGN0eHQ6ICBhbiBIVFRQIGNvbnRleHQKKyAqCisgKiBGcmVlcyB0aGUgY29udGV4dCBhZnRlciBjbG9zaW5nIHRoZSBjb25uZWN0aW9uLgorICovCisKK3N0YXRpYyB2b2lkCit4bWxOYW5vSFRUUEZyZWVDdHh0KHhtbE5hbm9IVFRQQ3R4dFB0ciBjdHh0KSB7CisgICAgaWYgKGN0eHQgPT0gTlVMTCkgcmV0dXJuOworICAgIGlmIChjdHh0LT5ob3N0bmFtZSAhPSBOVUxMKSB4bWxGcmVlKGN0eHQtPmhvc3RuYW1lKTsKKyAgICBpZiAoY3R4dC0+cHJvdG9jb2wgIT0gTlVMTCkgeG1sRnJlZShjdHh0LT5wcm90b2NvbCk7CisgICAgaWYgKGN0eHQtPnBhdGggIT0gTlVMTCkgeG1sRnJlZShjdHh0LT5wYXRoKTsKKyAgICBpZiAoY3R4dC0+cXVlcnkgIT0gTlVMTCkgeG1sRnJlZShjdHh0LT5xdWVyeSk7CisgICAgaWYgKGN0eHQtPm91dCAhPSBOVUxMKSB4bWxGcmVlKGN0eHQtPm91dCk7CisgICAgaWYgKGN0eHQtPmluICE9IE5VTEwpIHhtbEZyZWUoY3R4dC0+aW4pOworICAgIGlmIChjdHh0LT5jb250ZW50VHlwZSAhPSBOVUxMKSB4bWxGcmVlKGN0eHQtPmNvbnRlbnRUeXBlKTsKKyAgICBpZiAoY3R4dC0+ZW5jb2RpbmcgIT0gTlVMTCkgeG1sRnJlZShjdHh0LT5lbmNvZGluZyk7CisgICAgaWYgKGN0eHQtPm1pbWVUeXBlICE9IE5VTEwpIHhtbEZyZWUoY3R4dC0+bWltZVR5cGUpOworICAgIGlmIChjdHh0LT5sb2NhdGlvbiAhPSBOVUxMKSB4bWxGcmVlKGN0eHQtPmxvY2F0aW9uKTsKKyAgICBpZiAoY3R4dC0+YXV0aEhlYWRlciAhPSBOVUxMKSB4bWxGcmVlKGN0eHQtPmF1dGhIZWFkZXIpOworI2lmZGVmIEhBVkVfWkxJQl9ICisgICAgaWYgKGN0eHQtPnN0cm0gIT0gTlVMTCkgeworCWluZmxhdGVFbmQoY3R4dC0+c3RybSk7CisJeG1sRnJlZShjdHh0LT5zdHJtKTsKKyAgICB9CisjZW5kaWYKKworICAgIGN0eHQtPnN0YXRlID0gWE1MX05BTk9fSFRUUF9OT05FOworICAgIGlmIChjdHh0LT5mZCAhPSBJTlZBTElEX1NPQ0tFVCkgY2xvc2Vzb2NrZXQoY3R4dC0+ZmQpOworICAgIGN0eHQtPmZkID0gSU5WQUxJRF9TT0NLRVQ7CisgICAgeG1sRnJlZShjdHh0KTsKK30KKworLyoqCisgKiB4bWxOYW5vSFRUUFNlbmQ6CisgKiBAY3R4dDogIGFuIEhUVFAgY29udGV4dAorICoKKyAqIFNlbmQgdGhlIGlucHV0IG5lZWRlZCB0byBpbml0aWF0ZSB0aGUgcHJvY2Vzc2luZyBvbiB0aGUgc2VydmVyIHNpZGUKKyAqIFJldHVybnMgbnVtYmVyIG9mIGJ5dGVzIHNlbnQgb3IgLTEgb24gZXJyb3IuCisgKi8KKworc3RhdGljIGludAoreG1sTmFub0hUVFBTZW5kKHhtbE5hbm9IVFRQQ3R4dFB0ciBjdHh0LCBjb25zdCBjaGFyICp4bXRfcHRyLCBpbnQgb3V0bGVuKQoreworICAgIGludCB0b3RhbF9zZW50ID0gMDsKKyNpZmRlZiBIQVZFX1BPTExfSAorICAgIHN0cnVjdCBwb2xsZmQgcDsKKyNlbHNlCisgICAgc3RydWN0IHRpbWV2YWwgdHY7CisgICAgZmRfc2V0IHdmZDsKKyNlbmRpZgorCisgICAgaWYgKChjdHh0LT5zdGF0ZSAmIFhNTF9OQU5PX0hUVFBfV1JJVEUpICYmICh4bXRfcHRyICE9IE5VTEwpKSB7CisgICAgICAgIHdoaWxlICh0b3RhbF9zZW50IDwgb3V0bGVuKSB7CisgICAgICAgICAgICBpbnQgbnNlbnQgPSBzZW5kKGN0eHQtPmZkLCBTRU5EX0FSRzJfQ0FTVCAoeG10X3B0ciArIHRvdGFsX3NlbnQpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXRsZW4gLSB0b3RhbF9zZW50LCAwKTsKKworICAgICAgICAgICAgaWYgKG5zZW50ID4gMCkKKyAgICAgICAgICAgICAgICB0b3RhbF9zZW50ICs9IG5zZW50OworICAgICAgICAgICAgZWxzZSBpZiAoKG5zZW50ID09IC0xKSAmJgorI2lmIGRlZmluZWQoRUFHQUlOKSAmJiBFQUdBSU4gIT0gRVdPVUxEQkxPQ0sKKyAgICAgICAgICAgICAgICAgICAgIChzb2NrZXRfZXJybm8oKSAhPSBFQUdBSU4pICYmCisjZW5kaWYKKyAgICAgICAgICAgICAgICAgICAgIChzb2NrZXRfZXJybm8oKSAhPSBFV09VTERCTE9DSykpIHsKKyAgICAgICAgICAgICAgICBfX3htbElPRXJyKFhNTF9GUk9NX0hUVFAsIDAsICJzZW5kIGZhaWxlZFxuIik7CisgICAgICAgICAgICAgICAgaWYgKHRvdGFsX3NlbnQgPT0gMCkKKyAgICAgICAgICAgICAgICAgICAgdG90YWxfc2VudCA9IC0xOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAvKgorICAgICAgICAgICAgICAgICAqIE5vIGRhdGEgc2VudAorICAgICAgICAgICAgICAgICAqIFNpbmNlIG5vbi1ibG9ja2luZyBzb2NrZXRzIGFyZSB1c2VkLCB3YWl0IGZvcgorICAgICAgICAgICAgICAgICAqIHNvY2tldCB0byBiZSB3cml0YWJsZSBvciBkZWZhdWx0IHRpbWVvdXQgcHJpb3IKKyAgICAgICAgICAgICAgICAgKiB0byByZXRyeWluZy4KKyAgICAgICAgICAgICAgICAgKi8KKyNpZm5kZWYgSEFWRV9QT0xMX0gKKyNpZm5kZWYgX1dJTlNPQ0tBUElfCisgICAgICAgICAgICAgICAgaWYgKGN0eHQtPmZkID4gRkRfU0VUU0laRSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworI2VuZGlmCisKKyAgICAgICAgICAgICAgICB0di50dl9zZWMgPSB0aW1lb3V0OworICAgICAgICAgICAgICAgIHR2LnR2X3VzZWMgPSAwOworICAgICAgICAgICAgICAgIEZEX1pFUk8oJndmZCk7CisjaWZkZWYgX01TQ19WRVIKKyNwcmFnbWEgd2FybmluZyhwdXNoKQorI3ByYWdtYSB3YXJuaW5nKGRpc2FibGU6IDQwMTgpCisjZW5kaWYKKyAgICAgICAgICAgICAgICBGRF9TRVQoY3R4dC0+ZmQsICZ3ZmQpOworI2lmZGVmIF9NU0NfVkVSCisjcHJhZ21hIHdhcm5pbmcocG9wKQorI2VuZGlmCisgICAgICAgICAgICAgICAgKHZvaWQpIHNlbGVjdChjdHh0LT5mZCArIDEsIE5VTEwsICZ3ZmQsIE5VTEwsICZ0dik7CisjZWxzZQorICAgICAgICAgICAgICAgIHAuZmQgPSBjdHh0LT5mZDsKKyAgICAgICAgICAgICAgICBwLmV2ZW50cyA9IFBPTExPVVQ7CisgICAgICAgICAgICAgICAgKHZvaWQpIHBvbGwoJnAsIDEsIHRpbWVvdXQgKiAxMDAwKTsKKyNlbmRpZiAvKiAhSEFWRV9QT0xMX0ggKi8KKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKworICAgIHJldHVybiB0b3RhbF9zZW50OworfQorCisvKioKKyAqIHhtbE5hbm9IVFRQUmVjdjoKKyAqIEBjdHh0OiAgYW4gSFRUUCBjb250ZXh0CisgKgorICogUmVhZCBpbmZvcm1hdGlvbiBjb21pbmcgZnJvbSB0aGUgSFRUUCBjb25uZWN0aW9uLgorICogVGhpcyBpcyBhIGJsb2NraW5nIGNhbGwgKGJ1dCBpdCBibG9ja3MgaW4gc2VsZWN0KCksIG5vdCByZWFkKCkpLgorICoKKyAqIFJldHVybnMgdGhlIG51bWJlciBvZiBieXRlIHJlYWQgb3IgLTEgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworCitzdGF0aWMgaW50Cit4bWxOYW5vSFRUUFJlY3YoeG1sTmFub0hUVFBDdHh0UHRyIGN0eHQpCit7CisjaWZkZWYgSEFWRV9QT0xMX0gKKyAgICBzdHJ1Y3QgcG9sbGZkIHA7CisjZWxzZQorICAgIGZkX3NldCByZmQ7CisgICAgc3RydWN0IHRpbWV2YWwgdHY7CisjZW5kaWYKKworCisgICAgd2hpbGUgKGN0eHQtPnN0YXRlICYgWE1MX05BTk9fSFRUUF9SRUFEKSB7CisgICAgICAgIGlmIChjdHh0LT5pbiA9PSBOVUxMKSB7CisgICAgICAgICAgICBjdHh0LT5pbiA9IChjaGFyICopIHhtbE1hbGxvY0F0b21pYyg2NTAwMCAqIHNpemVvZihjaGFyKSk7CisgICAgICAgICAgICBpZiAoY3R4dC0+aW4gPT0gTlVMTCkgeworICAgICAgICAgICAgICAgIHhtbEhUVFBFcnJNZW1vcnkoImFsbG9jYXRpbmcgaW5wdXQiKTsKKyAgICAgICAgICAgICAgICBjdHh0LT5sYXN0ID0gLTE7CisgICAgICAgICAgICAgICAgcmV0dXJuICgtMSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBjdHh0LT5pbmxlbiA9IDY1MDAwOworICAgICAgICAgICAgY3R4dC0+aW5wdHIgPSBjdHh0LT5jb250ZW50ID0gY3R4dC0+aW5ycHRyID0gY3R4dC0+aW47CisgICAgICAgIH0KKyAgICAgICAgaWYgKGN0eHQtPmlucnB0ciA+IGN0eHQtPmluICsgWE1MX05BTk9fSFRUUF9DSFVOSykgeworICAgICAgICAgICAgaW50IGRlbHRhID0gY3R4dC0+aW5ycHRyIC0gY3R4dC0+aW47CisgICAgICAgICAgICBpbnQgbGVuID0gY3R4dC0+aW5wdHIgLSBjdHh0LT5pbnJwdHI7CisKKyAgICAgICAgICAgIG1lbW1vdmUoY3R4dC0+aW4sIGN0eHQtPmlucnB0ciwgbGVuKTsKKyAgICAgICAgICAgIGN0eHQtPmlucnB0ciAtPSBkZWx0YTsKKyAgICAgICAgICAgIGN0eHQtPmNvbnRlbnQgLT0gZGVsdGE7CisgICAgICAgICAgICBjdHh0LT5pbnB0ciAtPSBkZWx0YTsKKyAgICAgICAgfQorICAgICAgICBpZiAoKGN0eHQtPmluICsgY3R4dC0+aW5sZW4pIDwgKGN0eHQtPmlucHRyICsgWE1MX05BTk9fSFRUUF9DSFVOSykpIHsKKyAgICAgICAgICAgIGludCBkX2lucHRyID0gY3R4dC0+aW5wdHIgLSBjdHh0LT5pbjsKKyAgICAgICAgICAgIGludCBkX2NvbnRlbnQgPSBjdHh0LT5jb250ZW50IC0gY3R4dC0+aW47CisgICAgICAgICAgICBpbnQgZF9pbnJwdHIgPSBjdHh0LT5pbnJwdHIgLSBjdHh0LT5pbjsKKyAgICAgICAgICAgIGNoYXIgKnRtcF9wdHIgPSBjdHh0LT5pbjsKKworICAgICAgICAgICAgY3R4dC0+aW5sZW4gKj0gMjsKKyAgICAgICAgICAgIGN0eHQtPmluID0gKGNoYXIgKikgeG1sUmVhbGxvYyh0bXBfcHRyLCBjdHh0LT5pbmxlbik7CisgICAgICAgICAgICBpZiAoY3R4dC0+aW4gPT0gTlVMTCkgeworICAgICAgICAgICAgICAgIHhtbEhUVFBFcnJNZW1vcnkoImFsbG9jYXRpbmcgaW5wdXQgYnVmZmVyIik7CisgICAgICAgICAgICAgICAgeG1sRnJlZSh0bXBfcHRyKTsKKyAgICAgICAgICAgICAgICBjdHh0LT5sYXN0ID0gLTE7CisgICAgICAgICAgICAgICAgcmV0dXJuICgtMSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBjdHh0LT5pbnB0ciA9IGN0eHQtPmluICsgZF9pbnB0cjsKKyAgICAgICAgICAgIGN0eHQtPmNvbnRlbnQgPSBjdHh0LT5pbiArIGRfY29udGVudDsKKyAgICAgICAgICAgIGN0eHQtPmlucnB0ciA9IGN0eHQtPmluICsgZF9pbnJwdHI7CisgICAgICAgIH0KKyAgICAgICAgY3R4dC0+bGFzdCA9IHJlY3YoY3R4dC0+ZmQsIGN0eHQtPmlucHRyLCBYTUxfTkFOT19IVFRQX0NIVU5LLCAwKTsKKyAgICAgICAgaWYgKGN0eHQtPmxhc3QgPiAwKSB7CisgICAgICAgICAgICBjdHh0LT5pbnB0ciArPSBjdHh0LT5sYXN0OworICAgICAgICAgICAgcmV0dXJuIChjdHh0LT5sYXN0KTsKKyAgICAgICAgfQorICAgICAgICBpZiAoY3R4dC0+bGFzdCA9PSAwKSB7CisgICAgICAgICAgICByZXR1cm4gKDApOworICAgICAgICB9CisgICAgICAgIGlmIChjdHh0LT5sYXN0ID09IC0xKSB7CisgICAgICAgICAgICBzd2l0Y2ggKHNvY2tldF9lcnJubygpKSB7CisgICAgICAgICAgICAgICAgY2FzZSBFSU5QUk9HUkVTUzoKKyAgICAgICAgICAgICAgICBjYXNlIEVXT1VMREJMT0NLOgorI2lmIGRlZmluZWQoRUFHQUlOKSAmJiBFQUdBSU4gIT0gRVdPVUxEQkxPQ0sKKyAgICAgICAgICAgICAgICBjYXNlIEVBR0FJTjoKKyNlbmRpZgorICAgICAgICAgICAgICAgICAgICBicmVhazsKKworICAgICAgICAgICAgICAgIGNhc2UgRUNPTk5SRVNFVDoKKyAgICAgICAgICAgICAgICBjYXNlIEVTSFVURE9XTjoKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuICgwKTsKKworICAgICAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgICAgICAgIF9feG1sSU9FcnIoWE1MX0ZST01fSFRUUCwgMCwgInJlY3YgZmFpbGVkXG4iKTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuICgtMSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyNpZmRlZiBIQVZFX1BPTExfSAorICAgICAgICBwLmZkID0gY3R4dC0+ZmQ7CisgICAgICAgIHAuZXZlbnRzID0gUE9MTElOOworICAgICAgICBpZiAoKHBvbGwoJnAsIDEsIHRpbWVvdXQgKiAxMDAwKSA8IDEpCisjaWYgZGVmaW5lZChFSU5UUikKKyAgICAgICAgICAgICYmIChlcnJubyAhPSBFSU5UUikKKyNlbmRpZgorICAgICAgICAgICAgKQorICAgICAgICAgICAgcmV0dXJuICgwKTsKKyNlbHNlIC8qICFIQVZFX1BPTExfSCAqLworI2lmbmRlZiBfV0lOU09DS0FQSV8KKyAgICAgICAgaWYgKGN0eHQtPmZkID4gRkRfU0VUU0laRSkKKyAgICAgICAgICAgIHJldHVybiAwOworI2VuZGlmCisKKyAgICAgICAgdHYudHZfc2VjID0gdGltZW91dDsKKyAgICAgICAgdHYudHZfdXNlYyA9IDA7CisgICAgICAgIEZEX1pFUk8oJnJmZCk7CisKKyNpZmRlZiBfTVNDX1ZFUgorI3ByYWdtYSB3YXJuaW5nKHB1c2gpCisjcHJhZ21hIHdhcm5pbmcoZGlzYWJsZTogNDAxOCkKKyNlbmRpZgorCisgICAgICAgIEZEX1NFVChjdHh0LT5mZCwgJnJmZCk7CisKKyNpZmRlZiBfTVNDX1ZFUgorI3ByYWdtYSB3YXJuaW5nKHBvcCkKKyNlbmRpZgorCisgICAgICAgIGlmICgoc2VsZWN0KGN0eHQtPmZkICsgMSwgJnJmZCwgTlVMTCwgTlVMTCwgJnR2KSA8IDEpCisjaWYgZGVmaW5lZChFSU5UUikKKyAgICAgICAgICAgICYmIChlcnJubyAhPSBFSU5UUikKKyNlbmRpZgorICAgICAgICAgICAgKQorICAgICAgICAgICAgcmV0dXJuICgwKTsKKyNlbmRpZiAvKiAhSEFWRV9QT0xMX0ggKi8KKyAgICB9CisgICAgcmV0dXJuICgwKTsKK30KKworLyoqCisgKiB4bWxOYW5vSFRUUFJlYWRMaW5lOgorICogQGN0eHQ6ICBhbiBIVFRQIGNvbnRleHQKKyAqCisgKiBSZWFkIG9uZSBsaW5lIGluIHRoZSBIVFRQIHNlcnZlciBvdXRwdXQsIHVzdWFsbHkgZm9yIGV4dHJhY3RpbmcKKyAqIHRoZSBIVFRQIHByb3RvY29sIGluZm9ybWF0aW9ucyBmcm9tIHRoZSBhbnN3ZXIgaGVhZGVyLgorICoKKyAqIFJldHVybnMgYSBuZXdseSBhbGxvY2F0ZWQgc3RyaW5nIHdpdGggYSBjb3B5IG9mIHRoZSBsaW5lLCBvciBOVUxMCisgKiAgICAgICAgIHdoaWNoIGluZGljYXRlIHRoZSBlbmQgb2YgdGhlIGlucHV0LgorICovCisKK3N0YXRpYyBjaGFyICoKK3htbE5hbm9IVFRQUmVhZExpbmUoeG1sTmFub0hUVFBDdHh0UHRyIGN0eHQpIHsKKyAgICBjaGFyIGJ1Zls0MDk2XTsKKyAgICBjaGFyICpicCA9IGJ1ZjsKKyAgICBpbnQJcmM7CisKKyAgICB3aGlsZSAoYnAgLSBidWYgPCA0MDk1KSB7CisJaWYgKGN0eHQtPmlucnB0ciA9PSBjdHh0LT5pbnB0cikgeworCSAgICBpZiAoIChyYyA9IHhtbE5hbm9IVFRQUmVjdihjdHh0KSkgPT0gMCkgeworCQlpZiAoYnAgPT0gYnVmKQorCQkgICAgcmV0dXJuKE5VTEwpOworCQllbHNlCisJCSAgICAqYnAgPSAwOworCQlyZXR1cm4oeG1sTWVtU3RyZHVwKGJ1ZikpOworCSAgICB9CisJICAgIGVsc2UgaWYgKCByYyA9PSAtMSApIHsKKwkgICAgICAgIHJldHVybiAoIE5VTEwgKTsKKwkgICAgfQorCX0KKwkqYnAgPSAqY3R4dC0+aW5ycHRyKys7CisJaWYgKCpicCA9PSAnXG4nKSB7CisJICAgICpicCA9IDA7CisJICAgIHJldHVybih4bWxNZW1TdHJkdXAoYnVmKSk7CisJfQorCWlmICgqYnAgIT0gJ1xyJykKKwkgICAgYnArKzsKKyAgICB9CisgICAgYnVmWzQwOTVdID0gMDsKKyAgICByZXR1cm4oeG1sTWVtU3RyZHVwKGJ1ZikpOworfQorCisKKy8qKgorICogeG1sTmFub0hUVFBTY2FuQW5zd2VyOgorICogQGN0eHQ6ICBhbiBIVFRQIGNvbnRleHQKKyAqIEBsaW5lOiAgYW4gSFRUUCBoZWFkZXIgbGluZQorICoKKyAqIFRyeSB0byBleHRyYWN0IHVzZWZ1bCBpbmZvcm1hdGlvbnMgZnJvbSB0aGUgc2VydmVyIGFuc3dlci4KKyAqIFdlIGN1cnJlbnRseSBwYXJzZSBhbmQgcHJvY2VzczoKKyAqICAtIFRoZSBIVFRQIHJldmlzaW9uLyByZXR1cm4gY29kZQorICogIC0gVGhlIENvbnRlbnQtVHlwZSwgTWltZS1UeXBlIGFuZCBjaGFyc2V0IHVzZWQKKyAqICAtIFRoZSBMb2NhdGlvbiBmb3IgcmVkaXJlY3QgcHJvY2Vzc2luZy4KKyAqCisgKiBSZXR1cm5zIC0xIGluIGNhc2Ugb2YgZmFpbHVyZSwgdGhlIGZpbGUgZGVzY3JpcHRvciBudW1iZXIgb3RoZXJ3aXNlCisgKi8KKworc3RhdGljIHZvaWQKK3htbE5hbm9IVFRQU2NhbkFuc3dlcih4bWxOYW5vSFRUUEN0eHRQdHIgY3R4dCwgY29uc3QgY2hhciAqbGluZSkgeworICAgIGNvbnN0IGNoYXIgKmN1ciA9IGxpbmU7CisKKyAgICBpZiAobGluZSA9PSBOVUxMKSByZXR1cm47CisKKyAgICBpZiAoIXN0cm5jbXAobGluZSwgIkhUVFAvIiwgNSkpIHsKKyAgICAgICAgaW50IHZlcnNpb24gPSAwOworCWludCByZXQgPSAwOworCisJY3VyICs9IDU7CisJd2hpbGUgKCgqY3VyID49ICcwJykgJiYgKCpjdXIgPD0gJzknKSkgeworCSAgICB2ZXJzaW9uICo9IDEwOworCSAgICB2ZXJzaW9uICs9ICpjdXIgLSAnMCc7CisJICAgIGN1cisrOworCX0KKwlpZiAoKmN1ciA9PSAnLicpIHsKKwkgICAgY3VyKys7CisJICAgIGlmICgoKmN1ciA+PSAnMCcpICYmICgqY3VyIDw9ICc5JykpIHsKKwkJdmVyc2lvbiAqPSAxMDsKKwkJdmVyc2lvbiArPSAqY3VyIC0gJzAnOworCQljdXIrKzsKKwkgICAgfQorCSAgICB3aGlsZSAoKCpjdXIgPj0gJzAnKSAmJiAoKmN1ciA8PSAnOScpKQorCQljdXIrKzsKKwl9IGVsc2UKKwkgICAgdmVyc2lvbiAqPSAxMDsKKwlpZiAoKCpjdXIgIT0gJyAnKSAmJiAoKmN1ciAhPSAnXHQnKSkgcmV0dXJuOworCXdoaWxlICgoKmN1ciA9PSAnICcpIHx8ICgqY3VyID09ICdcdCcpKSBjdXIrKzsKKwlpZiAoKCpjdXIgPCAnMCcpIHx8ICgqY3VyID4gJzknKSkgcmV0dXJuOworCXdoaWxlICgoKmN1ciA+PSAnMCcpICYmICgqY3VyIDw9ICc5JykpIHsKKwkgICAgcmV0ICo9IDEwOworCSAgICByZXQgKz0gKmN1ciAtICcwJzsKKwkgICAgY3VyKys7CisJfQorCWlmICgoKmN1ciAhPSAwKSAmJiAoKmN1ciAhPSAnICcpICYmICgqY3VyICE9ICdcdCcpKSByZXR1cm47CisJY3R4dC0+cmV0dXJuVmFsdWUgPSByZXQ7CisgICAgICAgIGN0eHQtPnZlcnNpb24gPSB2ZXJzaW9uOworICAgIH0gZWxzZSBpZiAoIXhtbFN0cm5jYXNlY21wKEJBRF9DQVNUIGxpbmUsIEJBRF9DQVNUIkNvbnRlbnQtVHlwZToiLCAxMykpIHsKKyAgICAgICAgY29uc3QgeG1sQ2hhciAqY2hhcnNldCwgKmxhc3QsICptaW1lOworICAgICAgICBjdXIgKz0gMTM7CisJd2hpbGUgKCgqY3VyID09ICcgJykgfHwgKCpjdXIgPT0gJ1x0JykpIGN1cisrOworCWlmIChjdHh0LT5jb250ZW50VHlwZSAhPSBOVUxMKQorCSAgICB4bWxGcmVlKGN0eHQtPmNvbnRlbnRUeXBlKTsKKwljdHh0LT5jb250ZW50VHlwZSA9IHhtbE1lbVN0cmR1cChjdXIpOworCW1pbWUgPSAoY29uc3QgeG1sQ2hhciAqKSBjdXI7CisJbGFzdCA9IG1pbWU7CisJd2hpbGUgKCgqbGFzdCAhPSAwKSAmJiAoKmxhc3QgIT0gJyAnKSAmJiAoKmxhc3QgIT0gJ1x0JykgJiYKKwkgICAgICAgKCpsYXN0ICE9ICc7JykgJiYgKCpsYXN0ICE9ICcsJykpCisJICAgIGxhc3QrKzsKKwlpZiAoY3R4dC0+bWltZVR5cGUgIT0gTlVMTCkKKwkgICAgeG1sRnJlZShjdHh0LT5taW1lVHlwZSk7CisJY3R4dC0+bWltZVR5cGUgPSAoY2hhciAqKSB4bWxTdHJuZHVwKG1pbWUsIGxhc3QgLSBtaW1lKTsKKwljaGFyc2V0ID0geG1sU3Ryc3RyKEJBRF9DQVNUIGN0eHQtPmNvbnRlbnRUeXBlLCBCQURfQ0FTVCAiY2hhcnNldD0iKTsKKwlpZiAoY2hhcnNldCAhPSBOVUxMKSB7CisJICAgIGNoYXJzZXQgKz0gODsKKwkgICAgbGFzdCA9IGNoYXJzZXQ7CisJICAgIHdoaWxlICgoKmxhc3QgIT0gMCkgJiYgKCpsYXN0ICE9ICcgJykgJiYgKCpsYXN0ICE9ICdcdCcpICYmCisJICAgICAgICAgICAoKmxhc3QgIT0gJzsnKSAmJiAoKmxhc3QgIT0gJywnKSkKKwkJbGFzdCsrOworCSAgICBpZiAoY3R4dC0+ZW5jb2RpbmcgIT0gTlVMTCkKKwkgICAgICAgIHhtbEZyZWUoY3R4dC0+ZW5jb2RpbmcpOworCSAgICBjdHh0LT5lbmNvZGluZyA9IChjaGFyICopIHhtbFN0cm5kdXAoY2hhcnNldCwgbGFzdCAtIGNoYXJzZXQpOworCX0KKyAgICB9IGVsc2UgaWYgKCF4bWxTdHJuY2FzZWNtcChCQURfQ0FTVCBsaW5lLCBCQURfQ0FTVCJDb250ZW50VHlwZToiLCAxMikpIHsKKyAgICAgICAgY29uc3QgeG1sQ2hhciAqY2hhcnNldCwgKmxhc3QsICptaW1lOworICAgICAgICBjdXIgKz0gMTI7CisJaWYgKGN0eHQtPmNvbnRlbnRUeXBlICE9IE5VTEwpIHJldHVybjsKKwl3aGlsZSAoKCpjdXIgPT0gJyAnKSB8fCAoKmN1ciA9PSAnXHQnKSkgY3VyKys7CisJY3R4dC0+Y29udGVudFR5cGUgPSB4bWxNZW1TdHJkdXAoY3VyKTsKKwltaW1lID0gKGNvbnN0IHhtbENoYXIgKikgY3VyOworCWxhc3QgPSBtaW1lOworCXdoaWxlICgoKmxhc3QgIT0gMCkgJiYgKCpsYXN0ICE9ICcgJykgJiYgKCpsYXN0ICE9ICdcdCcpICYmCisJICAgICAgICgqbGFzdCAhPSAnOycpICYmICgqbGFzdCAhPSAnLCcpKQorCSAgICBsYXN0Kys7CisJaWYgKGN0eHQtPm1pbWVUeXBlICE9IE5VTEwpCisJICAgIHhtbEZyZWUoY3R4dC0+bWltZVR5cGUpOworCWN0eHQtPm1pbWVUeXBlID0gKGNoYXIgKikgeG1sU3RybmR1cChtaW1lLCBsYXN0IC0gbWltZSk7CisJY2hhcnNldCA9IHhtbFN0cnN0cihCQURfQ0FTVCBjdHh0LT5jb250ZW50VHlwZSwgQkFEX0NBU1QgImNoYXJzZXQ9Iik7CisJaWYgKGNoYXJzZXQgIT0gTlVMTCkgeworCSAgICBjaGFyc2V0ICs9IDg7CisJICAgIGxhc3QgPSBjaGFyc2V0OworCSAgICB3aGlsZSAoKCpsYXN0ICE9IDApICYmICgqbGFzdCAhPSAnICcpICYmICgqbGFzdCAhPSAnXHQnKSAmJgorCSAgICAgICAgICAgKCpsYXN0ICE9ICc7JykgJiYgKCpsYXN0ICE9ICcsJykpCisJCWxhc3QrKzsKKwkgICAgaWYgKGN0eHQtPmVuY29kaW5nICE9IE5VTEwpCisJICAgICAgICB4bWxGcmVlKGN0eHQtPmVuY29kaW5nKTsKKwkgICAgY3R4dC0+ZW5jb2RpbmcgPSAoY2hhciAqKSB4bWxTdHJuZHVwKGNoYXJzZXQsIGxhc3QgLSBjaGFyc2V0KTsKKwl9CisgICAgfSBlbHNlIGlmICgheG1sU3RybmNhc2VjbXAoQkFEX0NBU1QgbGluZSwgQkFEX0NBU1QiTG9jYXRpb246IiwgOSkpIHsKKyAgICAgICAgY3VyICs9IDk7CisJd2hpbGUgKCgqY3VyID09ICcgJykgfHwgKCpjdXIgPT0gJ1x0JykpIGN1cisrOworCWlmIChjdHh0LT5sb2NhdGlvbiAhPSBOVUxMKQorCSAgICB4bWxGcmVlKGN0eHQtPmxvY2F0aW9uKTsKKwlpZiAoKmN1ciA9PSAnLycpIHsKKwkgICAgeG1sQ2hhciAqdG1wX2h0dHAgPSB4bWxTdHJkdXAoQkFEX0NBU1QgImh0dHA6Ly8iKTsKKwkgICAgeG1sQ2hhciAqdG1wX2xvYyA9CisJICAgICAgICB4bWxTdHJjYXQodG1wX2h0dHAsIChjb25zdCB4bWxDaGFyICopIGN0eHQtPmhvc3RuYW1lKTsKKwkgICAgY3R4dC0+bG9jYXRpb24gPQorCSAgICAgICAgKGNoYXIgKikgeG1sU3RyY2F0ICh0bXBfbG9jLCAoY29uc3QgeG1sQ2hhciAqKSBjdXIpOworCX0gZWxzZSB7CisJICAgIGN0eHQtPmxvY2F0aW9uID0geG1sTWVtU3RyZHVwKGN1cik7CisJfQorICAgIH0gZWxzZSBpZiAoIXhtbFN0cm5jYXNlY21wKEJBRF9DQVNUIGxpbmUsIEJBRF9DQVNUIldXVy1BdXRoZW50aWNhdGU6IiwgMTcpKSB7CisgICAgICAgIGN1ciArPSAxNzsKKwl3aGlsZSAoKCpjdXIgPT0gJyAnKSB8fCAoKmN1ciA9PSAnXHQnKSkgY3VyKys7CisJaWYgKGN0eHQtPmF1dGhIZWFkZXIgIT0gTlVMTCkKKwkgICAgeG1sRnJlZShjdHh0LT5hdXRoSGVhZGVyKTsKKwljdHh0LT5hdXRoSGVhZGVyID0geG1sTWVtU3RyZHVwKGN1cik7CisgICAgfSBlbHNlIGlmICgheG1sU3RybmNhc2VjbXAoQkFEX0NBU1QgbGluZSwgQkFEX0NBU1QiUHJveHktQXV0aGVudGljYXRlOiIsIDE5KSkgeworICAgICAgICBjdXIgKz0gMTk7CisJd2hpbGUgKCgqY3VyID09ICcgJykgfHwgKCpjdXIgPT0gJ1x0JykpIGN1cisrOworCWlmIChjdHh0LT5hdXRoSGVhZGVyICE9IE5VTEwpCisJICAgIHhtbEZyZWUoY3R4dC0+YXV0aEhlYWRlcik7CisJY3R4dC0+YXV0aEhlYWRlciA9IHhtbE1lbVN0cmR1cChjdXIpOworI2lmZGVmIEhBVkVfWkxJQl9ICisgICAgfSBlbHNlIGlmICggIXhtbFN0cm5jYXNlY21wKCBCQURfQ0FTVCBsaW5lLCBCQURfQ0FTVCJDb250ZW50LUVuY29kaW5nOiIsIDE3KSApIHsKKwljdXIgKz0gMTc7CisJd2hpbGUgKCgqY3VyID09ICcgJykgfHwgKCpjdXIgPT0gJ1x0JykpIGN1cisrOworCWlmICggIXhtbFN0cm5jYXNlY21wKCBCQURfQ0FTVCBjdXIsIEJBRF9DQVNUImd6aXAiLCA0KSApIHsKKwkgICAgY3R4dC0+dXNlc0d6aXAgPSAxOworCisJICAgIGN0eHQtPnN0cm0gPSB4bWxNYWxsb2Moc2l6ZW9mKHpfc3RyZWFtKSk7CisKKwkgICAgaWYgKGN0eHQtPnN0cm0gIT0gTlVMTCkgeworCQljdHh0LT5zdHJtLT56YWxsb2MgPSBaX05VTEw7CisJCWN0eHQtPnN0cm0tPnpmcmVlID0gWl9OVUxMOworCQljdHh0LT5zdHJtLT5vcGFxdWUgPSBaX05VTEw7CisJCWN0eHQtPnN0cm0tPmF2YWlsX2luID0gMDsKKwkJY3R4dC0+c3RybS0+bmV4dF9pbiA9IFpfTlVMTDsKKworCQlpbmZsYXRlSW5pdDIoIGN0eHQtPnN0cm0sIDMxICk7CisJICAgIH0KKwl9CisjZW5kaWYKKyAgICB9IGVsc2UgaWYgKCAheG1sU3RybmNhc2VjbXAoIEJBRF9DQVNUIGxpbmUsIEJBRF9DQVNUIkNvbnRlbnQtTGVuZ3RoOiIsIDE1KSApIHsKKwljdXIgKz0gMTU7CisJY3R4dC0+Q29udGVudExlbmd0aCA9IHN0cnRvbCggY3VyLCBOVUxMLCAxMCApOworICAgIH0KK30KKworLyoqCisgKiB4bWxOYW5vSFRUUENvbm5lY3RBdHRlbXB0OgorICogQGFkZHI6ICBhIHNvY2tldCBhZGRyZXNzIHN0cnVjdHVyZQorICoKKyAqIEF0dGVtcHQgYSBjb25uZWN0aW9uIHRvIHRoZSBnaXZlbiBJUDpwb3J0IGVuZHBvaW50LiBJdCBmb3JjZXMKKyAqIG5vbi1ibG9ja2luZyBzZW1hbnRpYyBvbiB0aGUgc29ja2V0LCBhbmQgYWxsb3cgNjAgc2Vjb25kcyBmb3IKKyAqIHRoZSBob3N0IHRvIGFuc3dlci4KKyAqCisgKiBSZXR1cm5zIC0xIGluIGNhc2Ugb2YgZmFpbHVyZSwgdGhlIGZpbGUgZGVzY3JpcHRvciBudW1iZXIgb3RoZXJ3aXNlCisgKi8KKworc3RhdGljIFNPQ0tFVAoreG1sTmFub0hUVFBDb25uZWN0QXR0ZW1wdChzdHJ1Y3Qgc29ja2FkZHIgKmFkZHIpCit7CisjaWZuZGVmIEhBVkVfUE9MTF9ICisgICAgZmRfc2V0IHdmZDsKKyNpZmRlZiBfV0lOU09DS0FQSV8KKyAgICBmZF9zZXQgeGZkOworI2VuZGlmCisgICAgc3RydWN0IHRpbWV2YWwgdHY7CisjZWxzZSAvKiAhSEFWRV9QT0xMX0ggKi8KKyAgICBzdHJ1Y3QgcG9sbGZkIHA7CisjZW5kaWYgLyogIUhBVkVfUE9MTF9IICovCisgICAgaW50IHN0YXR1czsKKworICAgIGludCBhZGRybGVuOworCisgICAgU09DS0VUIHM7CisKKyNpZmRlZiBTVVBQT1JUX0lQNgorICAgIGlmIChhZGRyLT5zYV9mYW1pbHkgPT0gQUZfSU5FVDYpIHsKKyAgICAgICAgcyA9IHNvY2tldChQRl9JTkVUNiwgU09DS19TVFJFQU0sIElQUFJPVE9fVENQKTsKKyAgICAgICAgYWRkcmxlbiA9IHNpemVvZihzdHJ1Y3Qgc29ja2FkZHJfaW42KTsKKyAgICB9IGVsc2UKKyNlbmRpZgorICAgIHsKKyAgICAgICAgcyA9IHNvY2tldChQRl9JTkVULCBTT0NLX1NUUkVBTSwgSVBQUk9UT19UQ1ApOworICAgICAgICBhZGRybGVuID0gc2l6ZW9mKHN0cnVjdCBzb2NrYWRkcl9pbik7CisgICAgfQorICAgIGlmIChzID09IElOVkFMSURfU09DS0VUKSB7CisjaWZkZWYgREVCVUdfSFRUUAorICAgICAgICBwZXJyb3IoInNvY2tldCIpOworI2VuZGlmCisgICAgICAgIF9feG1sSU9FcnIoWE1MX0ZST01fSFRUUCwgMCwgInNvY2tldCBmYWlsZWRcbiIpOworICAgICAgICByZXR1cm4gSU5WQUxJRF9TT0NLRVQ7CisgICAgfQorI2lmZGVmIF9XSU5TT0NLQVBJXworICAgIHsKKyAgICAgICAgdV9sb25nIG9uZSA9IDE7CisKKyAgICAgICAgc3RhdHVzID0gaW9jdGxzb2NrZXQocywgRklPTkJJTywgJm9uZSkgPT0gU09DS0VUX0VSUk9SID8gLTEgOiAwOworICAgIH0KKyNlbHNlIC8qIF9XSU5TT0NLQVBJXyAqLworI2lmIGRlZmluZWQoVk1TKQorICAgIHsKKyAgICAgICAgaW50IGVuYWJsZSA9IDE7CisKKyAgICAgICAgc3RhdHVzID0gaW9jdGwocywgRklPTkJJTywgJmVuYWJsZSk7CisgICAgfQorI2Vsc2UgLyogVk1TICovCisjaWYgZGVmaW5lZChfX0JFT1NfXykgJiYgIWRlZmluZWQoX19IQUlLVV9fKQorICAgIHsKKyAgICAgICAgYm9vbCBub2Jsb2NrID0gdHJ1ZTsKKworICAgICAgICBzdGF0dXMgPQorICAgICAgICAgICAgc2V0c29ja29wdChzLCBTT0xfU09DS0VULCBTT19OT05CTE9DSywgJm5vYmxvY2ssCisgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihub2Jsb2NrKSk7CisgICAgfQorI2Vsc2UgLyogX19CRU9TX18gKi8KKyAgICBpZiAoKHN0YXR1cyA9IGZjbnRsKHMsIEZfR0VURkwsIDApKSAhPSAtMSkgeworI2lmZGVmIE9fTk9OQkxPQ0sKKyAgICAgICAgc3RhdHVzIHw9IE9fTk9OQkxPQ0s7CisjZWxzZSAvKiBPX05PTkJMT0NLICovCisjaWZkZWYgRl9OREVMQVkKKyAgICAgICAgc3RhdHVzIHw9IEZfTkRFTEFZOworI2VuZGlmIC8qIEZfTkRFTEFZICovCisjZW5kaWYgLyogIU9fTk9OQkxPQ0sgKi8KKyAgICAgICAgc3RhdHVzID0gZmNudGwocywgRl9TRVRGTCwgc3RhdHVzKTsKKyAgICB9CisgICAgaWYgKHN0YXR1cyA8IDApIHsKKyNpZmRlZiBERUJVR19IVFRQCisgICAgICAgIHBlcnJvcigibm9uYmxvY2tpbmciKTsKKyNlbmRpZgorICAgICAgICBfX3htbElPRXJyKFhNTF9GUk9NX0hUVFAsIDAsICJlcnJvciBzZXR0aW5nIG5vbi1ibG9ja2luZyBJT1xuIik7CisgICAgICAgIGNsb3Nlc29ja2V0KHMpOworICAgICAgICByZXR1cm4gSU5WQUxJRF9TT0NLRVQ7CisgICAgfQorI2VuZGlmIC8qICFfX0JFT1NfXyAqLworI2VuZGlmIC8qICFWTVMgKi8KKyNlbmRpZiAvKiAhX1dJTlNPQ0tBUElfICovCisKKyAgICBpZiAoY29ubmVjdChzLCBhZGRyLCBhZGRybGVuKSA9PSAtMSkgeworICAgICAgICBzd2l0Y2ggKHNvY2tldF9lcnJubygpKSB7CisgICAgICAgICAgICBjYXNlIEVJTlBST0dSRVNTOgorICAgICAgICAgICAgY2FzZSBFV09VTERCTE9DSzoKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgICAgX194bWxJT0VycihYTUxfRlJPTV9IVFRQLCAwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgImVycm9yIGNvbm5lY3RpbmcgdG8gSFRUUCBzZXJ2ZXIiKTsKKyAgICAgICAgICAgICAgICBjbG9zZXNvY2tldChzKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gSU5WQUxJRF9TT0NLRVQ7CisgICAgICAgIH0KKyAgICB9CisjaWZuZGVmIEhBVkVfUE9MTF9ICisgICAgdHYudHZfc2VjID0gdGltZW91dDsKKyAgICB0di50dl91c2VjID0gMDsKKworI2lmZGVmIF9NU0NfVkVSCisjcHJhZ21hIHdhcm5pbmcocHVzaCkKKyNwcmFnbWEgd2FybmluZyhkaXNhYmxlOiA0MDE4KQorI2VuZGlmCisjaWZuZGVmIF9XSU5TT0NLQVBJXworICAgIGlmIChzID4gRkRfU0VUU0laRSkKKyAgICAgICAgcmV0dXJuIElOVkFMSURfU09DS0VUOworI2VuZGlmCisgICAgRkRfWkVSTygmd2ZkKTsKKyAgICBGRF9TRVQocywgJndmZCk7CisKKyNpZmRlZiBfV0lOU09DS0FQSV8KKyAgICBGRF9aRVJPKCZ4ZmQpOworICAgIEZEX1NFVChzLCAmeGZkKTsKKworICAgIHN3aXRjaCAoc2VsZWN0KHMgKyAxLCBOVUxMLCAmd2ZkLCAmeGZkLCAmdHYpKQorI2Vsc2UKKyAgICBzd2l0Y2ggKHNlbGVjdChzICsgMSwgTlVMTCwgJndmZCwgTlVMTCwgJnR2KSkKKyNlbmRpZgorI2lmZGVmIF9NU0NfVkVSCisjcHJhZ21hIHdhcm5pbmcocG9wKQorI2VuZGlmCisKKyNlbHNlIC8qICFIQVZFX1BPTExfSCAqLworICAgIHAuZmQgPSBzOworICAgIHAuZXZlbnRzID0gUE9MTE9VVDsKKyAgICBzd2l0Y2ggKHBvbGwoJnAsIDEsIHRpbWVvdXQgKiAxMDAwKSkKKyNlbmRpZiAvKiAhSEFWRV9QT0xMX0ggKi8KKworICAgIHsKKyAgICAgICAgY2FzZSAwOgorICAgICAgICAgICAgLyogVGltZSBvdXQgKi8KKyAgICAgICAgICAgIF9feG1sSU9FcnIoWE1MX0ZST01fSFRUUCwgMCwgIkNvbm5lY3QgYXR0ZW1wdCB0aW1lZCBvdXQiKTsKKyAgICAgICAgICAgIGNsb3Nlc29ja2V0KHMpOworICAgICAgICAgICAgcmV0dXJuIElOVkFMSURfU09DS0VUOworICAgICAgICBjYXNlIC0xOgorICAgICAgICAgICAgLyogRXJtbS4uID8/ICovCisgICAgICAgICAgICBfX3htbElPRXJyKFhNTF9GUk9NX0hUVFAsIDAsICJDb25uZWN0IGZhaWxlZCIpOworICAgICAgICAgICAgY2xvc2Vzb2NrZXQocyk7CisgICAgICAgICAgICByZXR1cm4gSU5WQUxJRF9TT0NLRVQ7CisgICAgfQorCisjaWZuZGVmIEhBVkVfUE9MTF9ICisgICAgaWYgKEZEX0lTU0VUKHMsICZ3ZmQpCisjaWZkZWYgX1dJTlNPQ0tBUElfCisgICAgICAgIHx8IEZEX0lTU0VUKHMsICZ4ZmQpCisjZW5kaWYKKyAgICAgICAgKQorI2Vsc2UgLyogIUhBVkVfUE9MTF9IICovCisgICAgaWYgKHAucmV2ZW50cyA9PSBQT0xMT1VUKQorI2VuZGlmIC8qICFIQVZFX1BPTExfSCAqLworICAgIHsKKyAgICAgICAgWE1MX1NPQ0tMRU5fVCBsZW47CisKKyAgICAgICAgbGVuID0gc2l6ZW9mKHN0YXR1cyk7CisjaWZkZWYgU09fRVJST1IKKyAgICAgICAgaWYgKGdldHNvY2tvcHQocywgU09MX1NPQ0tFVCwgU09fRVJST1IsIChjaGFyICopICZzdGF0dXMsICZsZW4pIDwKKyAgICAgICAgICAgIDApIHsKKyAgICAgICAgICAgIC8qIFNvbGFyaXMgZXJyb3IgY29kZSAqLworICAgICAgICAgICAgX194bWxJT0VycihYTUxfRlJPTV9IVFRQLCAwLCAiZ2V0c29ja29wdCBmYWlsZWRcbiIpOworICAgICAgICAgICAgY2xvc2Vzb2NrZXQocyk7CisgICAgICAgICAgICByZXR1cm4gSU5WQUxJRF9TT0NLRVQ7CisgICAgICAgIH0KKyNlbmRpZgorICAgICAgICBpZiAoc3RhdHVzKSB7CisgICAgICAgICAgICBfX3htbElPRXJyKFhNTF9GUk9NX0hUVFAsIDAsCisgICAgICAgICAgICAgICAgICAgICAgICJFcnJvciBjb25uZWN0aW5nIHRvIHJlbW90ZSBob3N0Iik7CisgICAgICAgICAgICBjbG9zZXNvY2tldChzKTsKKyAgICAgICAgICAgIGVycm5vID0gc3RhdHVzOworICAgICAgICAgICAgcmV0dXJuIElOVkFMSURfU09DS0VUOworICAgICAgICB9CisgICAgfSBlbHNlIHsKKyAgICAgICAgLyogcGJtICovCisgICAgICAgIF9feG1sSU9FcnIoWE1MX0ZST01fSFRUUCwgMCwgInNlbGVjdCBmYWlsZWRcbiIpOworICAgICAgICBjbG9zZXNvY2tldChzKTsKKyAgICAgICAgcmV0dXJuIElOVkFMSURfU09DS0VUOworICAgIH0KKworICAgIHJldHVybiAocyk7Cit9CisKKy8qKgorICogeG1sTmFub0hUVFBDb25uZWN0SG9zdDoKKyAqIEBob3N0OiAgdGhlIGhvc3QgbmFtZQorICogQHBvcnQ6ICB0aGUgcG9ydCBudW1iZXIKKyAqCisgKiBBdHRlbXB0IGEgY29ubmVjdGlvbiB0byB0aGUgZ2l2ZW4gaG9zdDpwb3J0IGVuZHBvaW50LiBJdCB0cmllcworICogdGhlIG11bHRpcGxlIElQIHByb3ZpZGVkIGJ5IHRoZSBETlMgaWYgYXZhaWxhYmxlLgorICoKKyAqIFJldHVybnMgLTEgaW4gY2FzZSBvZiBmYWlsdXJlLCB0aGUgZmlsZSBkZXNjcmlwdG9yIG51bWJlciBvdGhlcndpc2UKKyAqLworCitzdGF0aWMgU09DS0VUCit4bWxOYW5vSFRUUENvbm5lY3RIb3N0KGNvbnN0IGNoYXIgKmhvc3QsIGludCBwb3J0KQoreworICAgIHN0cnVjdCBob3N0ZW50ICpoOworICAgIHN0cnVjdCBzb2NrYWRkciAqYWRkciA9IE5VTEw7CisgICAgc3RydWN0IGluX2FkZHIgaWE7CisgICAgc3RydWN0IHNvY2thZGRyX2luIHNvY2tpbjsKKworI2lmZGVmIFNVUFBPUlRfSVA2CisgICAgc3RydWN0IGluNl9hZGRyIGlhNjsKKyAgICBzdHJ1Y3Qgc29ja2FkZHJfaW42IHNvY2tpbjY7CisjZW5kaWYKKyAgICBpbnQgaTsKKyAgICBTT0NLRVQgczsKKworICAgIG1lbXNldCAoJnNvY2tpbiwgMCwgc2l6ZW9mKHNvY2tpbikpOworI2lmZGVmIFNVUFBPUlRfSVA2CisgICAgbWVtc2V0ICgmc29ja2luNiwgMCwgc2l6ZW9mKHNvY2tpbjYpKTsKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoSEFWRV9HRVRBRERSSU5GTykgJiYgZGVmaW5lZChTVVBQT1JUX0lQNikgJiYgZGVmaW5lZChSRVNfVVNFX0lORVQ2KQorICAgIGlmIChoYXZlX2lwdjYgKCkpCisgICAgeworCWlmICghKF9yZXMub3B0aW9ucyAmIFJFU19JTklUKSkKKwkgICAgcmVzX2luaXQoKTsKKwlfcmVzLm9wdGlvbnMgfD0gUkVTX1VTRV9JTkVUNjsKKyAgICB9CisjZW5kaWYKKworI2lmIGRlZmluZWQoSEFWRV9HRVRBRERSSU5GTykgJiYgZGVmaW5lZChTVVBQT1JUX0lQNikgJiYgIWRlZmluZWQoX1dJTjMyKQorICAgIGlmIChoYXZlX2lwdjYgKCkpCisjZW5kaWYKKyNpZiBkZWZpbmVkKEhBVkVfR0VUQUREUklORk8pICYmIChkZWZpbmVkKFNVUFBPUlRfSVA2KSB8fCBkZWZpbmVkKF9XSU4zMikpCisgICAgeworCWludCBzdGF0dXM7CisJc3RydWN0IGFkZHJpbmZvIGhpbnRzLCAqcmVzLCAqcmVzdWx0OworCisJcmVzdWx0ID0gTlVMTDsKKwltZW1zZXQgKCZoaW50cywgMCxzaXplb2YoaGludHMpKTsKKwloaW50cy5haV9zb2NrdHlwZSA9IFNPQ0tfU1RSRUFNOworCisJc3RhdHVzID0gZ2V0YWRkcmluZm8gKGhvc3QsIE5VTEwsICZoaW50cywgJnJlc3VsdCk7CisJaWYgKHN0YXR1cykgeworCSAgICBfX3htbElPRXJyKFhNTF9GUk9NX0hUVFAsIDAsICJnZXRhZGRyaW5mbyBmYWlsZWRcbiIpOworCSAgICByZXR1cm4gSU5WQUxJRF9TT0NLRVQ7CisJfQorCisJZm9yIChyZXMgPSByZXN1bHQ7IHJlczsgcmVzID0gcmVzLT5haV9uZXh0KSB7CisJICAgIGlmIChyZXMtPmFpX2ZhbWlseSA9PSBBRl9JTkVUKSB7CisJCWlmIChyZXMtPmFpX2FkZHJsZW4gPiBzaXplb2Yoc29ja2luKSkgeworCQkgICAgX194bWxJT0VycihYTUxfRlJPTV9IVFRQLCAwLCAiYWRkcmVzcyBzaXplIG1pc21hdGNoXG4iKTsKKwkJICAgIGZyZWVhZGRyaW5mbyAocmVzdWx0KTsKKwkJICAgIHJldHVybiBJTlZBTElEX1NPQ0tFVDsKKwkJfQorCQltZW1jcHkgKCZzb2NraW4sIHJlcy0+YWlfYWRkciwgcmVzLT5haV9hZGRybGVuKTsKKwkJc29ja2luLnNpbl9wb3J0ID0gaHRvbnMgKHBvcnQpOworCQlhZGRyID0gKHN0cnVjdCBzb2NrYWRkciAqKSZzb2NraW47CisjaWZkZWYgU1VQUE9SVF9JUDYKKwkgICAgfSBlbHNlIGlmIChoYXZlX2lwdjYgKCkgJiYgKHJlcy0+YWlfZmFtaWx5ID09IEFGX0lORVQ2KSkgeworCQlpZiAocmVzLT5haV9hZGRybGVuID4gc2l6ZW9mKHNvY2tpbjYpKSB7CisJCSAgICBfX3htbElPRXJyKFhNTF9GUk9NX0hUVFAsIDAsICJhZGRyZXNzIHNpemUgbWlzbWF0Y2hcbiIpOworCQkgICAgZnJlZWFkZHJpbmZvIChyZXN1bHQpOworCQkgICAgcmV0dXJuIElOVkFMSURfU09DS0VUOworCQl9CisJCW1lbWNweSAoJnNvY2tpbjYsIHJlcy0+YWlfYWRkciwgcmVzLT5haV9hZGRybGVuKTsKKwkJc29ja2luNi5zaW42X3BvcnQgPSBodG9ucyAocG9ydCk7CisJCWFkZHIgPSAoc3RydWN0IHNvY2thZGRyICopJnNvY2tpbjY7CisjZW5kaWYKKwkgICAgfSBlbHNlCisJCWNvbnRpbnVlOyAgICAgICAgICAgICAgLyogZm9yICovCisKKwkgICAgcyA9IHhtbE5hbm9IVFRQQ29ubmVjdEF0dGVtcHQgKGFkZHIpOworCSAgICBpZiAocyAhPSBJTlZBTElEX1NPQ0tFVCkgeworCQlmcmVlYWRkcmluZm8gKHJlc3VsdCk7CisJCXJldHVybiAocyk7CisJICAgIH0KKwl9CisKKwlpZiAocmVzdWx0KQorCSAgICBmcmVlYWRkcmluZm8gKHJlc3VsdCk7CisgICAgfQorI2VuZGlmCisjaWYgZGVmaW5lZChIQVZFX0dFVEFERFJJTkZPKSAmJiBkZWZpbmVkKFNVUFBPUlRfSVA2KSAmJiAhZGVmaW5lZChfV0lOMzIpCisgICAgZWxzZQorI2VuZGlmCisjaWYgIWRlZmluZWQoSEFWRV9HRVRBRERSSU5GTykgfHwgIWRlZmluZWQoX1dJTjMyKQorICAgIHsKKwloID0gZ2V0aG9zdGJ5bmFtZSAoR0VUSE9TVEJZTkFNRV9BUkdfQ0FTVCBob3N0KTsKKwlpZiAoaCA9PSBOVUxMKSB7CisKKy8qCisgKiBPa2F5LCBJIGdvdCBmZWQgdXAgYnkgdGhlIG5vbi1wb3J0YWJpbGl0eSBvZiB0aGlzIGVycm9yIG1lc3NhZ2UKKyAqIGV4dHJhY3Rpb24gY29kZS4gaXQgd29yayBvbiBMaW51eCwgaWYgaXQgd29yayBvbiB5b3VyIHBsYXRmb3JtCisgKiBhbmQgb25lIHdhbnQgdG8gZW5hYmxlIGl0LCBzZW5kIG1lIHRoZSBkZWZpbmVkKGZvb2JhcikgbmVlZGVkCisgKi8KKyNpZiBkZWZpbmVkKEhBVkVfTkVUREJfSCkgJiYgZGVmaW5lZChIT1NUX05PVF9GT1VORCkgJiYgZGVmaW5lZChsaW51eCkKKwkgICAgY29uc3QgY2hhciAqaF9lcnJfdHh0ID0gIiI7CisKKwkgICAgc3dpdGNoIChoX2Vycm5vKSB7CisJCWNhc2UgSE9TVF9OT1RfRk9VTkQ6CisJCSAgICBoX2Vycl90eHQgPSAiQXV0aG9yaXRpdmUgaG9zdCBub3QgZm91bmQiOworCQkgICAgYnJlYWs7CisKKwkJY2FzZSBUUllfQUdBSU46CisJCSAgICBoX2Vycl90eHQgPQorCQkJIk5vbi1hdXRob3JpdGl2ZSBob3N0IG5vdCBmb3VuZCBvciBzZXJ2ZXIgZmFpbHVyZS4iOworCQkgICAgYnJlYWs7CisKKwkJY2FzZSBOT19SRUNPVkVSWToKKwkJICAgIGhfZXJyX3R4dCA9CisJCQkiTm9uLXJlY292ZXJhYmxlIGVycm9yczogIEZPUk1FUlIsIFJFRlVTRUQsIG9yIE5PVElNUC4iOworCQkgICAgYnJlYWs7CisKKyNpZmRlZiBOT19BRERSRVNTCisJCWNhc2UgTk9fQUREUkVTUzoKKwkJICAgIGhfZXJyX3R4dCA9CisJCQkiVmFsaWQgbmFtZSwgbm8gZGF0YSByZWNvcmQgb2YgcmVxdWVzdGVkIHR5cGUuIjsKKwkJICAgIGJyZWFrOworI2VuZGlmCisKKwkJZGVmYXVsdDoKKwkJICAgIGhfZXJyX3R4dCA9ICJObyBlcnJvciB0ZXh0IGRlZmluZWQuIjsKKwkJICAgIGJyZWFrOworCSAgICB9CisJICAgIF9feG1sSU9FcnIoWE1MX0ZST01fSFRUUCwgMCwgaF9lcnJfdHh0KTsKKyNlbHNlCisJICAgIF9feG1sSU9FcnIoWE1MX0ZST01fSFRUUCwgMCwgIkZhaWxlZCB0byByZXNvbHZlIGhvc3QiKTsKKyNlbmRpZgorCSAgICByZXR1cm4gSU5WQUxJRF9TT0NLRVQ7CisJfQorCisJZm9yIChpID0gMDsgaC0+aF9hZGRyX2xpc3RbaV07IGkrKykgeworCSAgICBpZiAoaC0+aF9hZGRydHlwZSA9PSBBRl9JTkVUKSB7CisJCS8qIEEgcmVjb3JkcyAoSVB2NCkgKi8KKwkJaWYgKCh1bnNpZ25lZCBpbnQpIGgtPmhfbGVuZ3RoID4gc2l6ZW9mKGlhKSkgeworCQkgICAgX194bWxJT0VycihYTUxfRlJPTV9IVFRQLCAwLCAiYWRkcmVzcyBzaXplIG1pc21hdGNoXG4iKTsKKwkJICAgIHJldHVybiBJTlZBTElEX1NPQ0tFVDsKKwkJfQorCQltZW1jcHkgKCZpYSwgaC0+aF9hZGRyX2xpc3RbaV0sIGgtPmhfbGVuZ3RoKTsKKwkJc29ja2luLnNpbl9mYW1pbHkgPSBoLT5oX2FkZHJ0eXBlOworCQlzb2NraW4uc2luX2FkZHIgPSBpYTsKKwkJc29ja2luLnNpbl9wb3J0ID0gKHVuc2lnbmVkIHNob3J0KWh0b25zICgodW5zaWduZWQgc2hvcnQpcG9ydCk7CisJCWFkZHIgPSAoc3RydWN0IHNvY2thZGRyICopICZzb2NraW47CisjaWZkZWYgU1VQUE9SVF9JUDYKKwkgICAgfSBlbHNlIGlmIChoYXZlX2lwdjYgKCkgJiYgKGgtPmhfYWRkcnR5cGUgPT0gQUZfSU5FVDYpKSB7CisJCS8qIEFBQUEgcmVjb3JkcyAoSVB2NikgKi8KKwkJaWYgKCh1bnNpZ25lZCBpbnQpIGgtPmhfbGVuZ3RoID4gc2l6ZW9mKGlhNikpIHsKKwkJICAgIF9feG1sSU9FcnIoWE1MX0ZST01fSFRUUCwgMCwgImFkZHJlc3Mgc2l6ZSBtaXNtYXRjaFxuIik7CisJCSAgICByZXR1cm4gSU5WQUxJRF9TT0NLRVQ7CisJCX0KKwkJbWVtY3B5ICgmaWE2LCBoLT5oX2FkZHJfbGlzdFtpXSwgaC0+aF9sZW5ndGgpOworCQlzb2NraW42LnNpbjZfZmFtaWx5ID0gaC0+aF9hZGRydHlwZTsKKwkJc29ja2luNi5zaW42X2FkZHIgPSBpYTY7CisJCXNvY2tpbjYuc2luNl9wb3J0ID0gaHRvbnMgKHBvcnQpOworCQlhZGRyID0gKHN0cnVjdCBzb2NrYWRkciAqKSAmc29ja2luNjsKKyNlbmRpZgorCSAgICB9IGVsc2UKKwkJYnJlYWs7ICAgICAgICAgICAgICAvKiBmb3IgKi8KKworCSAgICBzID0geG1sTmFub0hUVFBDb25uZWN0QXR0ZW1wdCAoYWRkcik7CisJICAgIGlmIChzICE9IElOVkFMSURfU09DS0VUKQorCQlyZXR1cm4gKHMpOworCX0KKyAgICB9CisjZW5kaWYKKworI2lmZGVmIERFQlVHX0hUVFAKKyAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgInhtbE5hbm9IVFRQQ29ubmVjdEhvc3Q6ICB1bmFibGUgdG8gY29ubmVjdCB0byAnJXMnLlxuIiwKKyAgICAgICAgICAgICAgICAgICAgaG9zdCk7CisjZW5kaWYKKyAgICByZXR1cm4gSU5WQUxJRF9TT0NLRVQ7Cit9CisKKworLyoqCisgKiB4bWxOYW5vSFRUUE9wZW46CisgKiBAVVJMOiAgVGhlIFVSTCB0byBsb2FkCisgKiBAY29udGVudFR5cGU6ICBpZiBhdmFpbGFibGUgdGhlIENvbnRlbnQtVHlwZSBpbmZvcm1hdGlvbiB3aWxsIGJlCisgKiAgICAgICAgICAgICAgICByZXR1cm5lZCBhdCB0aGF0IGxvY2F0aW9uCisgKgorICogVGhpcyBmdW5jdGlvbiB0cnkgdG8gb3BlbiBhIGNvbm5lY3Rpb24gdG8gdGhlIGluZGljYXRlZCByZXNvdXJjZQorICogdmlhIEhUVFAgR0VULgorICoKKyAqIFJldHVybnMgTlVMTCBpbiBjYXNlIG9mIGZhaWx1cmUsIG90aGVyd2lzZSBhIHJlcXVlc3QgaGFuZGxlci4KKyAqICAgICBUaGUgY29udGVudFR5cGUsIGlmIHByb3ZpZGVkIG11c3QgYmUgZnJlZWQgYnkgdGhlIGNhbGxlcgorICovCisKK3ZvaWQqCit4bWxOYW5vSFRUUE9wZW4oY29uc3QgY2hhciAqVVJMLCBjaGFyICoqY29udGVudFR5cGUpIHsKKyAgICBpZiAoY29udGVudFR5cGUgIT0gTlVMTCkgKmNvbnRlbnRUeXBlID0gTlVMTDsKKyAgICByZXR1cm4oeG1sTmFub0hUVFBNZXRob2QoVVJMLCBOVUxMLCBOVUxMLCBjb250ZW50VHlwZSwgTlVMTCwgMCkpOworfQorCisvKioKKyAqIHhtbE5hbm9IVFRQT3BlblJlZGlyOgorICogQFVSTDogIFRoZSBVUkwgdG8gbG9hZAorICogQGNvbnRlbnRUeXBlOiAgaWYgYXZhaWxhYmxlIHRoZSBDb250ZW50LVR5cGUgaW5mb3JtYXRpb24gd2lsbCBiZQorICogICAgICAgICAgICAgICAgcmV0dXJuZWQgYXQgdGhhdCBsb2NhdGlvbgorICogQHJlZGlyOiBpZiBhdmFpbGFibGUgdGhlIHJlZGlyZWN0ZWQgVVJMIHdpbGwgYmUgcmV0dXJuZWQKKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHRyeSB0byBvcGVuIGEgY29ubmVjdGlvbiB0byB0aGUgaW5kaWNhdGVkIHJlc291cmNlCisgKiB2aWEgSFRUUCBHRVQuCisgKgorICogUmV0dXJucyBOVUxMIGluIGNhc2Ugb2YgZmFpbHVyZSwgb3RoZXJ3aXNlIGEgcmVxdWVzdCBoYW5kbGVyLgorICogICAgIFRoZSBjb250ZW50VHlwZSwgaWYgcHJvdmlkZWQgbXVzdCBiZSBmcmVlZCBieSB0aGUgY2FsbGVyCisgKi8KKwordm9pZCoKK3htbE5hbm9IVFRQT3BlblJlZGlyKGNvbnN0IGNoYXIgKlVSTCwgY2hhciAqKmNvbnRlbnRUeXBlLCBjaGFyICoqcmVkaXIpIHsKKyAgICBpZiAoY29udGVudFR5cGUgIT0gTlVMTCkgKmNvbnRlbnRUeXBlID0gTlVMTDsKKyAgICBpZiAocmVkaXIgIT0gTlVMTCkgKnJlZGlyID0gTlVMTDsKKyAgICByZXR1cm4oeG1sTmFub0hUVFBNZXRob2RSZWRpcihVUkwsIE5VTEwsIE5VTEwsIGNvbnRlbnRUeXBlLCByZWRpciwgTlVMTCwwKSk7Cit9CisKKy8qKgorICogeG1sTmFub0hUVFBSZWFkOgorICogQGN0eDogIHRoZSBIVFRQIGNvbnRleHQKKyAqIEBkZXN0OiAgYSBidWZmZXIKKyAqIEBsZW46ICB0aGUgYnVmZmVyIGxlbmd0aAorICoKKyAqIFRoaXMgZnVuY3Rpb24gdHJpZXMgdG8gcmVhZCBAbGVuIGJ5dGVzIGZyb20gdGhlIGV4aXN0aW5nIEhUVFAgY29ubmVjdGlvbgorICogYW5kIHNhdmVzIHRoZW0gaW4gQGRlc3QuIFRoaXMgaXMgYSBibG9ja2luZyBjYWxsLgorICoKKyAqIFJldHVybnMgdGhlIG51bWJlciBvZiBieXRlIHJlYWQuIDAgaXMgYW4gaW5kaWNhdGlvbiBvZiBhbiBlbmQgb2YgY29ubmVjdGlvbi4KKyAqICAgICAgICAgLTEgaW5kaWNhdGVzIGEgcGFyYW1ldGVyIGVycm9yLgorICovCitpbnQKK3htbE5hbm9IVFRQUmVhZCh2b2lkICpjdHgsIHZvaWQgKmRlc3QsIGludCBsZW4pIHsKKyAgICB4bWxOYW5vSFRUUEN0eHRQdHIgY3R4dCA9ICh4bWxOYW5vSFRUUEN0eHRQdHIpIGN0eDsKKyNpZmRlZiBIQVZFX1pMSUJfSAorICAgIGludCBieXRlc19yZWFkID0gMDsKKyAgICBpbnQgb3JpZ19hdmFpbF9pbjsKKyAgICBpbnQgel9yZXQ7CisjZW5kaWYKKworICAgIGlmIChjdHggPT0gTlVMTCkgcmV0dXJuKC0xKTsKKyAgICBpZiAoZGVzdCA9PSBOVUxMKSByZXR1cm4oLTEpOworICAgIGlmIChsZW4gPD0gMCkgcmV0dXJuKDApOworCisjaWZkZWYgSEFWRV9aTElCX0gKKyAgICBpZiAoY3R4dC0+dXNlc0d6aXAgPT0gMSkgeworICAgICAgICBpZiAoY3R4dC0+c3RybSA9PSBOVUxMKSByZXR1cm4oMCk7CisKKyAgICAgICAgY3R4dC0+c3RybS0+bmV4dF9vdXQgPSBkZXN0OworICAgICAgICBjdHh0LT5zdHJtLT5hdmFpbF9vdXQgPSBsZW47CisJY3R4dC0+c3RybS0+YXZhaWxfaW4gPSBjdHh0LT5pbnB0ciAtIGN0eHQtPmlucnB0cjsKKworICAgICAgICB3aGlsZSAoY3R4dC0+c3RybS0+YXZhaWxfb3V0ID4gMCAmJgorCSAgICAgICAoY3R4dC0+c3RybS0+YXZhaWxfaW4gPiAwIHx8IHhtbE5hbm9IVFRQUmVjdihjdHh0KSA+IDApKSB7CisgICAgICAgICAgICBvcmlnX2F2YWlsX2luID0gY3R4dC0+c3RybS0+YXZhaWxfaW4gPQorCQkJICAgIGN0eHQtPmlucHRyIC0gY3R4dC0+aW5ycHRyIC0gYnl0ZXNfcmVhZDsKKyAgICAgICAgICAgIGN0eHQtPnN0cm0tPm5leHRfaW4gPSBCQURfQ0FTVCAoY3R4dC0+aW5ycHRyICsgYnl0ZXNfcmVhZCk7CisKKyAgICAgICAgICAgIHpfcmV0ID0gaW5mbGF0ZShjdHh0LT5zdHJtLCBaX05PX0ZMVVNIKTsKKyAgICAgICAgICAgIGJ5dGVzX3JlYWQgKz0gb3JpZ19hdmFpbF9pbiAtIGN0eHQtPnN0cm0tPmF2YWlsX2luOworCisgICAgICAgICAgICBpZiAoel9yZXQgIT0gWl9PSykgYnJlYWs7CisJfQorCisgICAgICAgIGN0eHQtPmlucnB0ciArPSBieXRlc19yZWFkOworICAgICAgICByZXR1cm4obGVuIC0gY3R4dC0+c3RybS0+YXZhaWxfb3V0KTsKKyAgICB9CisjZW5kaWYKKworICAgIHdoaWxlIChjdHh0LT5pbnB0ciAtIGN0eHQtPmlucnB0ciA8IGxlbikgeworICAgICAgICBpZiAoeG1sTmFub0hUVFBSZWN2KGN0eHQpIDw9IDApIGJyZWFrOworICAgIH0KKyAgICBpZiAoY3R4dC0+aW5wdHIgLSBjdHh0LT5pbnJwdHIgPCBsZW4pCisgICAgICAgIGxlbiA9IGN0eHQtPmlucHRyIC0gY3R4dC0+aW5ycHRyOworICAgIG1lbWNweShkZXN0LCBjdHh0LT5pbnJwdHIsIGxlbik7CisgICAgY3R4dC0+aW5ycHRyICs9IGxlbjsKKyAgICByZXR1cm4obGVuKTsKK30KKworLyoqCisgKiB4bWxOYW5vSFRUUENsb3NlOgorICogQGN0eDogIHRoZSBIVFRQIGNvbnRleHQKKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGNsb3NlcyBhbiBIVFRQIGNvbnRleHQsIGl0IGVuZHMgdXAgdGhlIGNvbm5lY3Rpb24gYW5kCisgKiBmcmVlIGFsbCBkYXRhIHJlbGF0ZWQgdG8gaXQuCisgKi8KK3ZvaWQKK3htbE5hbm9IVFRQQ2xvc2Uodm9pZCAqY3R4KSB7CisgICAgeG1sTmFub0hUVFBDdHh0UHRyIGN0eHQgPSAoeG1sTmFub0hUVFBDdHh0UHRyKSBjdHg7CisKKyAgICBpZiAoY3R4ID09IE5VTEwpIHJldHVybjsKKworICAgIHhtbE5hbm9IVFRQRnJlZUN0eHQoY3R4dCk7Cit9CisKKy8qKgorICogeG1sTmFub0hUVFBNZXRob2RSZWRpcjoKKyAqIEBVUkw6ICBUaGUgVVJMIHRvIGxvYWQKKyAqIEBtZXRob2Q6ICB0aGUgSFRUUCBtZXRob2QgdG8gdXNlCisgKiBAaW5wdXQ6ICB0aGUgaW5wdXQgc3RyaW5nIGlmIGFueQorICogQGNvbnRlbnRUeXBlOiAgdGhlIENvbnRlbnQtVHlwZSBpbmZvcm1hdGlvbiBJTiBhbmQgT1VUCisgKiBAcmVkaXI6ICB0aGUgcmVkaXJlY3RlZCBVUkwgT1VUCisgKiBAaGVhZGVyczogIHRoZSBleHRyYSBoZWFkZXJzCisgKiBAaWxlbjogIGlucHV0IGxlbmd0aAorICoKKyAqIFRoaXMgZnVuY3Rpb24gdHJ5IHRvIG9wZW4gYSBjb25uZWN0aW9uIHRvIHRoZSBpbmRpY2F0ZWQgcmVzb3VyY2UKKyAqIHZpYSBIVFRQIHVzaW5nIHRoZSBnaXZlbiBAbWV0aG9kLCBhZGRpbmcgdGhlIGdpdmVuIGV4dHJhIGhlYWRlcnMKKyAqIGFuZCB0aGUgaW5wdXQgYnVmZmVyIGZvciB0aGUgcmVxdWVzdCBjb250ZW50LgorICoKKyAqIFJldHVybnMgTlVMTCBpbiBjYXNlIG9mIGZhaWx1cmUsIG90aGVyd2lzZSBhIHJlcXVlc3QgaGFuZGxlci4KKyAqICAgICBUaGUgY29udGVudFR5cGUsIG9yIHJlZGlyLCBpZiBwcm92aWRlZCBtdXN0IGJlIGZyZWVkIGJ5IHRoZSBjYWxsZXIKKyAqLworCit2b2lkKgoreG1sTmFub0hUVFBNZXRob2RSZWRpcihjb25zdCBjaGFyICpVUkwsIGNvbnN0IGNoYXIgKm1ldGhvZCwgY29uc3QgY2hhciAqaW5wdXQsCisgICAgICAgICAgICAgICAgICBjaGFyICoqY29udGVudFR5cGUsIGNoYXIgKipyZWRpciwKKwkJICBjb25zdCBjaGFyICpoZWFkZXJzLCBpbnQgaWxlbiApIHsKKyAgICB4bWxOYW5vSFRUUEN0eHRQdHIgY3R4dDsKKyAgICBjaGFyICpicCwgKnA7CisgICAgaW50IGJsZW47CisgICAgU09DS0VUIHJldDsKKyAgICBpbnQgbmJSZWRpcmVjdHMgPSAwOworICAgIGNoYXIgKnJlZGlyVVJMID0gTlVMTDsKKyNpZmRlZiBERUJVR19IVFRQCisgICAgaW50IHhtdF9ieXRlczsKKyNlbmRpZgorCisgICAgaWYgKFVSTCA9PSBOVUxMKSByZXR1cm4oTlVMTCk7CisgICAgaWYgKG1ldGhvZCA9PSBOVUxMKSBtZXRob2QgPSAiR0VUIjsKKyAgICB4bWxOYW5vSFRUUEluaXQoKTsKKworcmV0cnk6CisgICAgaWYgKHJlZGlyVVJMID09IE5VTEwpIHsKKwljdHh0ID0geG1sTmFub0hUVFBOZXdDdHh0KFVSTCk7CisJaWYgKGN0eHQgPT0gTlVMTCkKKwkgICAgcmV0dXJuKE5VTEwpOworICAgIH0gZWxzZSB7CisJY3R4dCA9IHhtbE5hbm9IVFRQTmV3Q3R4dChyZWRpclVSTCk7CisJaWYgKGN0eHQgPT0gTlVMTCkKKwkgICAgcmV0dXJuKE5VTEwpOworCWN0eHQtPmxvY2F0aW9uID0geG1sTWVtU3RyZHVwKHJlZGlyVVJMKTsKKyAgICB9CisKKyAgICBpZiAoKGN0eHQtPnByb3RvY29sID09IE5VTEwpIHx8IChzdHJjbXAoY3R4dC0+cHJvdG9jb2wsICJodHRwIikpKSB7CisJX194bWxJT0VycihYTUxfRlJPTV9IVFRQLCBYTUxfSFRUUF9VUkxfU1lOVEFYLCAiTm90IGEgdmFsaWQgSFRUUCBVUkkiKTsKKyAgICAgICAgeG1sTmFub0hUVFBGcmVlQ3R4dChjdHh0KTsKKwlpZiAocmVkaXJVUkwgIT0gTlVMTCkgeG1sRnJlZShyZWRpclVSTCk7CisgICAgICAgIHJldHVybihOVUxMKTsKKyAgICB9CisgICAgaWYgKGN0eHQtPmhvc3RuYW1lID09IE5VTEwpIHsKKwlfX3htbElPRXJyKFhNTF9GUk9NX0hUVFAsIFhNTF9IVFRQX1VOS05PV05fSE9TVCwKKwkgICAgICAgICAgICJGYWlsZWQgdG8gaWRlbnRpZnkgaG9zdCBpbiBVUkkiKTsKKyAgICAgICAgeG1sTmFub0hUVFBGcmVlQ3R4dChjdHh0KTsKKwlpZiAocmVkaXJVUkwgIT0gTlVMTCkgeG1sRnJlZShyZWRpclVSTCk7CisgICAgICAgIHJldHVybihOVUxMKTsKKyAgICB9CisgICAgaWYgKHByb3h5KSB7CisJYmxlbiA9IHN0cmxlbihjdHh0LT5ob3N0bmFtZSkgKiAyICsgMTY7CisJcmV0ID0geG1sTmFub0hUVFBDb25uZWN0SG9zdChwcm94eSwgcHJveHlQb3J0KTsKKyAgICB9CisgICAgZWxzZSB7CisJYmxlbiA9IHN0cmxlbihjdHh0LT5ob3N0bmFtZSk7CisJcmV0ID0geG1sTmFub0hUVFBDb25uZWN0SG9zdChjdHh0LT5ob3N0bmFtZSwgY3R4dC0+cG9ydCk7CisgICAgfQorICAgIGlmIChyZXQgPT0gSU5WQUxJRF9TT0NLRVQpIHsKKyAgICAgICAgeG1sTmFub0hUVFBGcmVlQ3R4dChjdHh0KTsKKwlpZiAocmVkaXJVUkwgIT0gTlVMTCkgeG1sRnJlZShyZWRpclVSTCk7CisgICAgICAgIHJldHVybihOVUxMKTsKKyAgICB9CisgICAgY3R4dC0+ZmQgPSByZXQ7CisKKyAgICBpZiAoaW5wdXQgPT0gTlVMTCkKKwlpbGVuID0gMDsKKyAgICBlbHNlCisJYmxlbiArPSAzNjsKKworICAgIGlmIChoZWFkZXJzICE9IE5VTEwpCisJYmxlbiArPSBzdHJsZW4oaGVhZGVycykgKyAyOworICAgIGlmIChjb250ZW50VHlwZSAmJiAqY29udGVudFR5cGUpCisJLyogcmVzZXJ2ZSBmb3Igc3RyaW5nIHBsdXMgJ0NvbnRlbnQtVHlwZTogXHJcbiIgKi8KKwlibGVuICs9IHN0cmxlbigqY29udGVudFR5cGUpICsgMTY7CisgICAgaWYgKGN0eHQtPnF1ZXJ5ICE9IE5VTEwpCisJLyogMSBmb3IgJz8nICovCisJYmxlbiArPSBzdHJsZW4oY3R4dC0+cXVlcnkpICsgMTsKKyAgICBibGVuICs9IHN0cmxlbihtZXRob2QpICsgc3RybGVuKGN0eHQtPnBhdGgpICsgMjQ7CisjaWZkZWYgSEFWRV9aTElCX0gKKyAgICAvKiByZXNlcnZlIGZvciBwb3NzaWJsZSAnQWNjZXB0LUVuY29kaW5nOiBnemlwJyBzdHJpbmcgKi8KKyAgICBibGVuICs9IDIzOworI2VuZGlmCisgICAgaWYgKGN0eHQtPnBvcnQgIT0gODApIHsKKwkvKiByZXNlcnZlIHNwYWNlIGZvciAnOnh4eHh4JywgaW5jbC4gcG90ZW50aWFsIHByb3h5ICovCisJaWYgKHByb3h5KQorCSAgICBibGVuICs9IDEyOworCWVsc2UKKwkgICAgYmxlbiArPSA2OworICAgIH0KKyAgICBicCA9IChjaGFyKil4bWxNYWxsb2NBdG9taWMoYmxlbik7CisgICAgaWYgKCBicCA9PSBOVUxMICkgeworICAgICAgICB4bWxOYW5vSFRUUEZyZWVDdHh0KCBjdHh0ICk7CisJeG1sSFRUUEVyck1lbW9yeSgiYWxsb2NhdGluZyBoZWFkZXIgYnVmZmVyIik7CisJcmV0dXJuICggTlVMTCApOworICAgIH0KKworICAgIHAgPSBicDsKKworICAgIGlmIChwcm94eSkgeworCWlmIChjdHh0LT5wb3J0ICE9IDgwKSB7CisJICAgIHAgKz0gc25wcmludGYoIHAsIGJsZW4gLSAocCAtIGJwKSwgIiVzIGh0dHA6Ly8lczolZCVzIiwKKwkJCW1ldGhvZCwgY3R4dC0+aG9zdG5hbWUsCisJCQljdHh0LT5wb3J0LCBjdHh0LT5wYXRoICk7CisJfQorCWVsc2UKKwkgICAgcCArPSBzbnByaW50ZiggcCwgYmxlbiAtIChwIC0gYnApLCAiJXMgaHR0cDovLyVzJXMiLCBtZXRob2QsCisJCQljdHh0LT5ob3N0bmFtZSwgY3R4dC0+cGF0aCk7CisgICAgfQorICAgIGVsc2UKKwlwICs9IHNucHJpbnRmKCBwLCBibGVuIC0gKHAgLSBicCksICIlcyAlcyIsIG1ldGhvZCwgY3R4dC0+cGF0aCk7CisKKyAgICBpZiAoY3R4dC0+cXVlcnkgIT0gTlVMTCkKKwlwICs9IHNucHJpbnRmKCBwLCBibGVuIC0gKHAgLSBicCksICI/JXMiLCBjdHh0LT5xdWVyeSk7CisKKyAgICBpZiAoY3R4dC0+cG9ydCA9PSA4MCkgeworICAgICAgICBwICs9IHNucHJpbnRmKCBwLCBibGVuIC0gKHAgLSBicCksICIgSFRUUC8xLjBcclxuSG9zdDogJXNcclxuIiwKKwkJICAgIGN0eHQtPmhvc3RuYW1lKTsKKyAgICB9IGVsc2UgeworICAgICAgICBwICs9IHNucHJpbnRmKCBwLCBibGVuIC0gKHAgLSBicCksICIgSFRUUC8xLjBcclxuSG9zdDogJXM6JWRcclxuIiwKKwkJICAgIGN0eHQtPmhvc3RuYW1lLCBjdHh0LT5wb3J0KTsKKyAgICB9CisKKyNpZmRlZiBIQVZFX1pMSUJfSAorICAgIHAgKz0gc25wcmludGYocCwgYmxlbiAtIChwIC0gYnApLCAiQWNjZXB0LUVuY29kaW5nOiBnemlwXHJcbiIpOworI2VuZGlmCisKKyAgICBpZiAoY29udGVudFR5cGUgIT0gTlVMTCAmJiAqY29udGVudFR5cGUpCisJcCArPSBzbnByaW50ZihwLCBibGVuIC0gKHAgLSBicCksICJDb250ZW50LVR5cGU6ICVzXHJcbiIsICpjb250ZW50VHlwZSk7CisKKyAgICBpZiAoaGVhZGVycyAhPSBOVUxMKQorCXAgKz0gc25wcmludGYoIHAsIGJsZW4gLSAocCAtIGJwKSwgIiVzIiwgaGVhZGVycyApOworCisgICAgaWYgKGlucHV0ICE9IE5VTEwpCisJc25wcmludGYocCwgYmxlbiAtIChwIC0gYnApLCAiQ29udGVudC1MZW5ndGg6ICVkXHJcblxyXG4iLCBpbGVuICk7CisgICAgZWxzZQorCXNucHJpbnRmKHAsIGJsZW4gLSAocCAtIGJwKSwgIlxyXG4iKTsKKworI2lmZGVmIERFQlVHX0hUVFAKKyAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkgICAgIi0+ICVzJXMiLCBwcm94eT8gIihQcm94eSkgIiA6ICIiLCBicCk7CisgICAgaWYgKChibGVuIC09IHN0cmxlbihicCkrMSkgPCAwKQorCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkiRVJST1I6IG92ZXJmbG93ZWQgYnVmZmVyIGJ5ICVkIGJ5dGVzXG4iLCAtYmxlbik7CisjZW5kaWYKKyAgICBjdHh0LT5vdXRwdHIgPSBjdHh0LT5vdXQgPSBicDsKKyAgICBjdHh0LT5zdGF0ZSA9IFhNTF9OQU5PX0hUVFBfV1JJVEU7CisgICAgYmxlbiA9IHN0cmxlbiggY3R4dC0+b3V0ICk7CisjaWZkZWYgREVCVUdfSFRUUAorICAgIHhtdF9ieXRlcyA9IHhtbE5hbm9IVFRQU2VuZChjdHh0LCBjdHh0LT5vdXQsIGJsZW4gKTsKKyAgICBpZiAoIHhtdF9ieXRlcyAhPSBibGVuICkKKyAgICAgICAgeG1sR2VuZXJpY0Vycm9yKCB4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkJInhtbE5hbm9IVFRQTWV0aG9kUmVkaXI6ICBPbmx5ICVkIG9mICVkICVzICVzXG4iLAorCQkJeG10X2J5dGVzLCBibGVuLAorCQkJImJ5dGVzIG9mIEhUVFAgaGVhZGVycyBzZW50IHRvIGhvc3QiLAorCQkJY3R4dC0+aG9zdG5hbWUgKTsKKyNlbHNlCisgICAgeG1sTmFub0hUVFBTZW5kKGN0eHQsIGN0eHQtPm91dCwgYmxlbiApOworI2VuZGlmCisKKyAgICBpZiAoIGlucHV0ICE9IE5VTEwgKSB7CisjaWZkZWYgREVCVUdfSFRUUAorICAgICAgICB4bXRfYnl0ZXMgPSB4bWxOYW5vSFRUUFNlbmQoIGN0eHQsIGlucHV0LCBpbGVuICk7CisKKwlpZiAoIHhtdF9ieXRlcyAhPSBpbGVuICkKKwkgICAgeG1sR2VuZXJpY0Vycm9yKCB4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkJInhtbE5hbm9IVFRQTWV0aG9kUmVkaXI6ICBPbmx5ICVkIG9mICVkICVzICVzXG4iLAorCQkJeG10X2J5dGVzLCBpbGVuLAorCQkJImJ5dGVzIG9mIEhUVFAgY29udGVudCBzZW50IHRvIGhvc3QiLAorCQkJY3R4dC0+aG9zdG5hbWUgKTsKKyNlbHNlCisJeG1sTmFub0hUVFBTZW5kKCBjdHh0LCBpbnB1dCwgaWxlbiApOworI2VuZGlmCisgICAgfQorCisgICAgY3R4dC0+c3RhdGUgPSBYTUxfTkFOT19IVFRQX1JFQUQ7CisKKyAgICB3aGlsZSAoKHAgPSB4bWxOYW5vSFRUUFJlYWRMaW5lKGN0eHQpKSAhPSBOVUxMKSB7CisgICAgICAgIGlmICgqcCA9PSAwKSB7CisJICAgIGN0eHQtPmNvbnRlbnQgPSBjdHh0LT5pbnJwdHI7CisJICAgIHhtbEZyZWUocCk7CisJICAgIGJyZWFrOworCX0KKwl4bWxOYW5vSFRUUFNjYW5BbnN3ZXIoY3R4dCwgcCk7CisKKyNpZmRlZiBERUJVR19IVFRQCisJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICI8LSAlc1xuIiwgcCk7CisjZW5kaWYKKyAgICAgICAgeG1sRnJlZShwKTsKKyAgICB9CisKKyAgICBpZiAoKGN0eHQtPmxvY2F0aW9uICE9IE5VTEwpICYmIChjdHh0LT5yZXR1cm5WYWx1ZSA+PSAzMDApICYmCisgICAgICAgIChjdHh0LT5yZXR1cm5WYWx1ZSA8IDQwMCkpIHsKKyNpZmRlZiBERUJVR19IVFRQCisJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSJcblJlZGlyZWN0IHRvOiAlc1xuIiwgY3R4dC0+bG9jYXRpb24pOworI2VuZGlmCisJd2hpbGUgKCB4bWxOYW5vSFRUUFJlY3YoY3R4dCkgPiAwICkgOworICAgICAgICBpZiAobmJSZWRpcmVjdHMgPCBYTUxfTkFOT19IVFRQX01BWF9SRURJUikgeworCSAgICBuYlJlZGlyZWN0cysrOworCSAgICBpZiAocmVkaXJVUkwgIT0gTlVMTCkKKwkJeG1sRnJlZShyZWRpclVSTCk7CisJICAgIHJlZGlyVVJMID0geG1sTWVtU3RyZHVwKGN0eHQtPmxvY2F0aW9uKTsKKwkgICAgeG1sTmFub0hUVFBGcmVlQ3R4dChjdHh0KTsKKwkgICAgZ290byByZXRyeTsKKwl9CisJeG1sTmFub0hUVFBGcmVlQ3R4dChjdHh0KTsKKwlpZiAocmVkaXJVUkwgIT0gTlVMTCkgeG1sRnJlZShyZWRpclVSTCk7CisjaWZkZWYgREVCVUdfSFRUUAorCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkieG1sTmFub0hUVFBNZXRob2RSZWRpcjogVG9vIG1hbnkgcmVkaXJlY3RzLCBhYm9ydGluZyAuLi5cbiIpOworI2VuZGlmCisJcmV0dXJuKE5VTEwpOworICAgIH0KKworICAgIGlmIChjb250ZW50VHlwZSAhPSBOVUxMKSB7CisJaWYgKGN0eHQtPmNvbnRlbnRUeXBlICE9IE5VTEwpCisJICAgICpjb250ZW50VHlwZSA9IHhtbE1lbVN0cmR1cChjdHh0LT5jb250ZW50VHlwZSk7CisJZWxzZQorCSAgICAqY29udGVudFR5cGUgPSBOVUxMOworICAgIH0KKworICAgIGlmICgocmVkaXIgIT0gTlVMTCkgJiYgKHJlZGlyVVJMICE9IE5VTEwpKSB7CisJKnJlZGlyID0gcmVkaXJVUkw7CisgICAgfSBlbHNlIHsKKwlpZiAocmVkaXJVUkwgIT0gTlVMTCkKKwkgICAgeG1sRnJlZShyZWRpclVSTCk7CisJaWYgKHJlZGlyICE9IE5VTEwpCisJICAgICpyZWRpciA9IE5VTEw7CisgICAgfQorCisjaWZkZWYgREVCVUdfSFRUUAorICAgIGlmIChjdHh0LT5jb250ZW50VHlwZSAhPSBOVUxMKQorCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkiXG5Db2RlICVkLCBjb250ZW50LXR5cGUgJyVzJ1xuXG4iLAorCSAgICAgICBjdHh0LT5yZXR1cm5WYWx1ZSwgY3R4dC0+Y29udGVudFR5cGUpOworICAgIGVsc2UKKwl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJIlxuQ29kZSAlZCwgbm8gY29udGVudC10eXBlXG5cbiIsCisJICAgICAgIGN0eHQtPnJldHVyblZhbHVlKTsKKyNlbmRpZgorCisgICAgcmV0dXJuKCh2b2lkICopIGN0eHQpOworfQorCisvKioKKyAqIHhtbE5hbm9IVFRQTWV0aG9kOgorICogQFVSTDogIFRoZSBVUkwgdG8gbG9hZAorICogQG1ldGhvZDogIHRoZSBIVFRQIG1ldGhvZCB0byB1c2UKKyAqIEBpbnB1dDogIHRoZSBpbnB1dCBzdHJpbmcgaWYgYW55CisgKiBAY29udGVudFR5cGU6ICB0aGUgQ29udGVudC1UeXBlIGluZm9ybWF0aW9uIElOIGFuZCBPVVQKKyAqIEBoZWFkZXJzOiAgdGhlIGV4dHJhIGhlYWRlcnMKKyAqIEBpbGVuOiAgaW5wdXQgbGVuZ3RoCisgKgorICogVGhpcyBmdW5jdGlvbiB0cnkgdG8gb3BlbiBhIGNvbm5lY3Rpb24gdG8gdGhlIGluZGljYXRlZCByZXNvdXJjZQorICogdmlhIEhUVFAgdXNpbmcgdGhlIGdpdmVuIEBtZXRob2QsIGFkZGluZyB0aGUgZ2l2ZW4gZXh0cmEgaGVhZGVycworICogYW5kIHRoZSBpbnB1dCBidWZmZXIgZm9yIHRoZSByZXF1ZXN0IGNvbnRlbnQuCisgKgorICogUmV0dXJucyBOVUxMIGluIGNhc2Ugb2YgZmFpbHVyZSwgb3RoZXJ3aXNlIGEgcmVxdWVzdCBoYW5kbGVyLgorICogICAgIFRoZSBjb250ZW50VHlwZSwgaWYgcHJvdmlkZWQgbXVzdCBiZSBmcmVlZCBieSB0aGUgY2FsbGVyCisgKi8KKwordm9pZCoKK3htbE5hbm9IVFRQTWV0aG9kKGNvbnN0IGNoYXIgKlVSTCwgY29uc3QgY2hhciAqbWV0aG9kLCBjb25zdCBjaGFyICppbnB1dCwKKyAgICAgICAgICAgICAgICAgIGNoYXIgKipjb250ZW50VHlwZSwgY29uc3QgY2hhciAqaGVhZGVycywgaW50IGlsZW4pIHsKKyAgICByZXR1cm4oeG1sTmFub0hUVFBNZXRob2RSZWRpcihVUkwsIG1ldGhvZCwgaW5wdXQsIGNvbnRlbnRUeXBlLAorCQkgICAgICAgICAgICAgICAgICBOVUxMLCBoZWFkZXJzLCBpbGVuKSk7Cit9CisKKy8qKgorICogeG1sTmFub0hUVFBGZXRjaDoKKyAqIEBVUkw6ICBUaGUgVVJMIHRvIGxvYWQKKyAqIEBmaWxlbmFtZTogIHRoZSBmaWxlbmFtZSB3aGVyZSB0aGUgY29udGVudCBzaG91bGQgYmUgc2F2ZWQKKyAqIEBjb250ZW50VHlwZTogIGlmIGF2YWlsYWJsZSB0aGUgQ29udGVudC1UeXBlIGluZm9ybWF0aW9uIHdpbGwgYmUKKyAqICAgICAgICAgICAgICAgIHJldHVybmVkIGF0IHRoYXQgbG9jYXRpb24KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHRyeSB0byBmZXRjaCB0aGUgaW5kaWNhdGVkIHJlc291cmNlIHZpYSBIVFRQIEdFVAorICogYW5kIHNhdmUgaXQncyBjb250ZW50IGluIHRoZSBmaWxlLgorICoKKyAqIFJldHVybnMgLTEgaW4gY2FzZSBvZiBmYWlsdXJlLCAwIGluY2FzZSBvZiBzdWNjZXNzLiBUaGUgY29udGVudFR5cGUsCisgKiAgICAgaWYgcHJvdmlkZWQgbXVzdCBiZSBmcmVlZCBieSB0aGUgY2FsbGVyCisgKi8KK2ludAoreG1sTmFub0hUVFBGZXRjaChjb25zdCBjaGFyICpVUkwsIGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBjaGFyICoqY29udGVudFR5cGUpIHsKKyAgICB2b2lkICpjdHh0ID0gTlVMTDsKKyAgICBjaGFyICpidWYgPSBOVUxMOworICAgIGludCBmZDsKKyAgICBpbnQgbGVuOworICAgIGludCByZXQgPSAwOworCisgICAgaWYgKGZpbGVuYW1lID09IE5VTEwpIHJldHVybigtMSk7CisgICAgY3R4dCA9IHhtbE5hbm9IVFRQT3BlbihVUkwsIGNvbnRlbnRUeXBlKTsKKyAgICBpZiAoY3R4dCA9PSBOVUxMKSByZXR1cm4oLTEpOworCisgICAgaWYgKCFzdHJjbXAoZmlsZW5hbWUsICItIikpCisgICAgICAgIGZkID0gMDsKKyAgICBlbHNlIHsKKyAgICAgICAgZmQgPSBvcGVuKGZpbGVuYW1lLCBPX0NSRUFUIHwgT19XUk9OTFksIDAwNjQ0KTsKKwlpZiAoZmQgPCAwKSB7CisJICAgIHhtbE5hbm9IVFRQQ2xvc2UoY3R4dCk7CisJICAgIGlmICgoY29udGVudFR5cGUgIT0gTlVMTCkgJiYgKCpjb250ZW50VHlwZSAhPSBOVUxMKSkgeworCSAgICAgICAgeG1sRnJlZSgqY29udGVudFR5cGUpOworCQkqY29udGVudFR5cGUgPSBOVUxMOworCSAgICB9CisJICAgIHJldHVybigtMSk7CisJfQorICAgIH0KKworICAgIHhtbE5hbm9IVFRQRmV0Y2hDb250ZW50KCBjdHh0LCAmYnVmLCAmbGVuICk7CisgICAgaWYgKCBsZW4gPiAwICkgeworCWlmICh3cml0ZShmZCwgYnVmLCBsZW4pID09IC0xKSB7CisJICAgIHJldCA9IC0xOworCX0KKyAgICB9CisKKyAgICB4bWxOYW5vSFRUUENsb3NlKGN0eHQpOworICAgIGNsb3NlKGZkKTsKKyAgICByZXR1cm4ocmV0KTsKK30KKworI2lmZGVmIExJQlhNTF9PVVRQVVRfRU5BQkxFRAorLyoqCisgKiB4bWxOYW5vSFRUUFNhdmU6CisgKiBAY3R4dDogIHRoZSBIVFRQIGNvbnRleHQKKyAqIEBmaWxlbmFtZTogIHRoZSBmaWxlbmFtZSB3aGVyZSB0aGUgY29udGVudCBzaG91bGQgYmUgc2F2ZWQKKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHNhdmVzIHRoZSBvdXRwdXQgb2YgdGhlIEhUVFAgdHJhbnNhY3Rpb24gdG8gYSBmaWxlCisgKiBJdCBjbG9zZXMgYW5kIGZyZWUgdGhlIGNvbnRleHQgYXQgdGhlIGVuZAorICoKKyAqIFJldHVybnMgLTEgaW4gY2FzZSBvZiBmYWlsdXJlLCAwIGluY2FzZSBvZiBzdWNjZXNzLgorICovCitpbnQKK3htbE5hbm9IVFRQU2F2ZSh2b2lkICpjdHh0LCBjb25zdCBjaGFyICpmaWxlbmFtZSkgeworICAgIGNoYXIgKmJ1ZiA9IE5VTEw7CisgICAgaW50IGZkOworICAgIGludCBsZW47CisgICAgaW50IHJldCA9IDA7CisKKyAgICBpZiAoKGN0eHQgPT0gTlVMTCkgfHwgKGZpbGVuYW1lID09IE5VTEwpKSByZXR1cm4oLTEpOworCisgICAgaWYgKCFzdHJjbXAoZmlsZW5hbWUsICItIikpCisgICAgICAgIGZkID0gMDsKKyAgICBlbHNlIHsKKyAgICAgICAgZmQgPSBvcGVuKGZpbGVuYW1lLCBPX0NSRUFUIHwgT19XUk9OTFksIDA2NjYpOworCWlmIChmZCA8IDApIHsKKwkgICAgeG1sTmFub0hUVFBDbG9zZShjdHh0KTsKKwkgICAgcmV0dXJuKC0xKTsKKwl9CisgICAgfQorCisgICAgeG1sTmFub0hUVFBGZXRjaENvbnRlbnQoIGN0eHQsICZidWYsICZsZW4gKTsKKyAgICBpZiAoIGxlbiA+IDAgKSB7CisJaWYgKHdyaXRlKGZkLCBidWYsIGxlbikgPT0gLTEpIHsKKwkgICAgcmV0ID0gLTE7CisJfQorICAgIH0KKworICAgIHhtbE5hbm9IVFRQQ2xvc2UoY3R4dCk7CisgICAgY2xvc2UoZmQpOworICAgIHJldHVybihyZXQpOworfQorI2VuZGlmIC8qIExJQlhNTF9PVVRQVVRfRU5BQkxFRCAqLworCisvKioKKyAqIHhtbE5hbm9IVFRQUmV0dXJuQ29kZToKKyAqIEBjdHg6ICB0aGUgSFRUUCBjb250ZXh0CisgKgorICogR2V0IHRoZSBsYXRlc3QgSFRUUCByZXR1cm4gY29kZSByZWNlaXZlZAorICoKKyAqIFJldHVybnMgdGhlIEhUVFAgcmV0dXJuIGNvZGUgZm9yIHRoZSByZXF1ZXN0LgorICovCitpbnQKK3htbE5hbm9IVFRQUmV0dXJuQ29kZSh2b2lkICpjdHgpIHsKKyAgICB4bWxOYW5vSFRUUEN0eHRQdHIgY3R4dCA9ICh4bWxOYW5vSFRUUEN0eHRQdHIpIGN0eDsKKworICAgIGlmIChjdHh0ID09IE5VTEwpIHJldHVybigtMSk7CisKKyAgICByZXR1cm4oY3R4dC0+cmV0dXJuVmFsdWUpOworfQorCisvKioKKyAqIHhtbE5hbm9IVFRQQXV0aEhlYWRlcjoKKyAqIEBjdHg6ICB0aGUgSFRUUCBjb250ZXh0CisgKgorICogR2V0IHRoZSBhdXRoZW50aWNhdGlvbiBoZWFkZXIgb2YgYW4gSFRUUCBjb250ZXh0CisgKgorICogUmV0dXJucyB0aGUgc3Rhc2hlZCB2YWx1ZSBvZiB0aGUgV1dXLUF1dGhlbnRpY2F0ZSBvciBQcm94eS1BdXRoZW50aWNhdGUKKyAqIGhlYWRlci4KKyAqLworY29uc3QgY2hhciAqCit4bWxOYW5vSFRUUEF1dGhIZWFkZXIodm9pZCAqY3R4KSB7CisgICAgeG1sTmFub0hUVFBDdHh0UHRyIGN0eHQgPSAoeG1sTmFub0hUVFBDdHh0UHRyKSBjdHg7CisKKyAgICBpZiAoY3R4dCA9PSBOVUxMKSByZXR1cm4oTlVMTCk7CisKKyAgICByZXR1cm4oY3R4dC0+YXV0aEhlYWRlcik7Cit9CisKKy8qKgorICogeG1sTmFub0hUVFBDb250ZW50TGVuZ3RoOgorICogQGN0eDogIHRoZSBIVFRQIGNvbnRleHQKKyAqCisgKiBQcm92aWRlcyB0aGUgc3BlY2lmaWVkIGNvbnRlbnQgbGVuZ3RoIGZyb20gdGhlIEhUVFAgaGVhZGVyLgorICoKKyAqIFJldHVybiB0aGUgc3BlY2lmaWVkIGNvbnRlbnQgbGVuZ3RoIGZyb20gdGhlIEhUVFAgaGVhZGVyLiAgTm90ZSB0aGF0CisgKiBhIHZhbHVlIG9mIC0xIGluZGljYXRlcyB0aGF0IHRoZSBjb250ZW50IGxlbmd0aCBlbGVtZW50IHdhcyBub3QgaW5jbHVkZWQgaW4KKyAqIHRoZSByZXNwb25zZSBoZWFkZXIuCisgKi8KK2ludAoreG1sTmFub0hUVFBDb250ZW50TGVuZ3RoKCB2b2lkICogY3R4ICkgeworICAgIHhtbE5hbm9IVFRQQ3R4dFB0cgljdHh0ID0gKHhtbE5hbm9IVFRQQ3R4dFB0ciljdHg7CisKKyAgICByZXR1cm4gKCAoIGN0eHQgPT0gTlVMTCApID8gLTEgOiBjdHh0LT5Db250ZW50TGVuZ3RoICk7Cit9CisKKy8qKgorICogeG1sTmFub0hUVFBSZWRpcjoKKyAqIEBjdHg6ICB0aGUgSFRUUCBjb250ZXh0CisgKgorICogUHJvdmlkZXMgdGhlIHNwZWNpZmllZCByZWRpcmVjdGlvbiBVUkwgaWYgYXZhaWxhYmxlIGZyb20gdGhlIEhUVFAgaGVhZGVyLgorICoKKyAqIFJldHVybiB0aGUgc3BlY2lmaWVkIHJlZGlyZWN0aW9uIFVSTCBvciBOVUxMIGlmIG5vdCByZWRpcmVjdGVkLgorICovCitjb25zdCBjaGFyICoKK3htbE5hbm9IVFRQUmVkaXIoIHZvaWQgKiBjdHggKSB7CisgICAgeG1sTmFub0hUVFBDdHh0UHRyCWN0eHQgPSAoeG1sTmFub0hUVFBDdHh0UHRyKWN0eDsKKworICAgIHJldHVybiAoICggY3R4dCA9PSBOVUxMICkgPyBOVUxMIDogY3R4dC0+bG9jYXRpb24gKTsKK30KKworLyoqCisgKiB4bWxOYW5vSFRUUEVuY29kaW5nOgorICogQGN0eDogIHRoZSBIVFRQIGNvbnRleHQKKyAqCisgKiBQcm92aWRlcyB0aGUgc3BlY2lmaWVkIGVuY29kaW5nIGlmIHNwZWNpZmllZCBpbiB0aGUgSFRUUCBoZWFkZXJzLgorICoKKyAqIFJldHVybiB0aGUgc3BlY2lmaWVkIGVuY29kaW5nIG9yIE5VTEwgaWYgbm90IGF2YWlsYWJsZQorICovCitjb25zdCBjaGFyICoKK3htbE5hbm9IVFRQRW5jb2RpbmcoIHZvaWQgKiBjdHggKSB7CisgICAgeG1sTmFub0hUVFBDdHh0UHRyCWN0eHQgPSAoeG1sTmFub0hUVFBDdHh0UHRyKWN0eDsKKworICAgIHJldHVybiAoICggY3R4dCA9PSBOVUxMICkgPyBOVUxMIDogY3R4dC0+ZW5jb2RpbmcgKTsKK30KKworLyoqCisgKiB4bWxOYW5vSFRUUE1pbWVUeXBlOgorICogQGN0eDogIHRoZSBIVFRQIGNvbnRleHQKKyAqCisgKiBQcm92aWRlcyB0aGUgc3BlY2lmaWVkIE1pbWUtVHlwZSBpZiBzcGVjaWZpZWQgaW4gdGhlIEhUVFAgaGVhZGVycy4KKyAqCisgKiBSZXR1cm4gdGhlIHNwZWNpZmllZCBNaW1lLVR5cGUgb3IgTlVMTCBpZiBub3QgYXZhaWxhYmxlCisgKi8KK2NvbnN0IGNoYXIgKgoreG1sTmFub0hUVFBNaW1lVHlwZSggdm9pZCAqIGN0eCApIHsKKyAgICB4bWxOYW5vSFRUUEN0eHRQdHIJY3R4dCA9ICh4bWxOYW5vSFRUUEN0eHRQdHIpY3R4OworCisgICAgcmV0dXJuICggKCBjdHh0ID09IE5VTEwgKSA/IE5VTEwgOiBjdHh0LT5taW1lVHlwZSApOworfQorCisvKioKKyAqIHhtbE5hbm9IVFRQRmV0Y2hDb250ZW50OgorICogQGN0eDogIHRoZSBIVFRQIGNvbnRleHQKKyAqIEBwdHI6ICBwb2ludGVyIHRvIHNldCB0byB0aGUgY29udGVudCBidWZmZXIuCisgKiBAbGVuOiAgaW50ZWdlciBwb2ludGVyIHRvIGhvbGQgdGhlIGxlbmd0aCBvZiB0aGUgY29udGVudAorICoKKyAqIENoZWNrIGlmIGFsbCB0aGUgY29udGVudCB3YXMgcmVhZAorICoKKyAqIFJldHVybnMgMCBpZiBhbGwgdGhlIGNvbnRlbnQgd2FzIHJlYWQgYW5kIGF2YWlsYWJsZSwgcmV0dXJucworICogLTEgaWYgcmVjZWl2ZWQgY29udGVudCBsZW5ndGggd2FzIGxlc3MgdGhhbiBzcGVjaWZpZWQgb3IgYW4gZXJyb3IKKyAqIG9jY3VycmVkLgorICovCitzdGF0aWMgaW50Cit4bWxOYW5vSFRUUEZldGNoQ29udGVudCggdm9pZCAqIGN0eCwgY2hhciAqKiBwdHIsIGludCAqIGxlbiApIHsKKyAgICB4bWxOYW5vSFRUUEN0eHRQdHIJY3R4dCA9ICh4bWxOYW5vSFRUUEN0eHRQdHIpY3R4OworCisgICAgaW50CQkJcmMgPSAwOworICAgIGludAkJCWN1cl9sZ3RoOworICAgIGludAkJCXJjdmRfbGd0aDsKKyAgICBpbnQJCQlkdW1teV9pbnQ7CisgICAgY2hhciAqCQlkdW1teV9wdHIgPSBOVUxMOworCisgICAgLyogIER1bW15IHVwIHJldHVybiBpbnB1dCBwYXJhbWV0ZXJzIGlmIG5vdCBwcm92aWRlZCAgKi8KKworICAgIGlmICggbGVuID09IE5VTEwgKQorICAgICAgICBsZW4gPSAmZHVtbXlfaW50OworCisgICAgaWYgKCBwdHIgPT0gTlVMTCApCisgICAgICAgIHB0ciA9ICZkdW1teV9wdHI7CisKKyAgICAvKiAgQnV0IGNhbid0IHdvcmsgd2l0aG91dCB0aGUgY29udGV4dCBwb2ludGVyICAqLworCisgICAgaWYgKCAoIGN0eHQgPT0gTlVMTCApIHx8ICggY3R4dC0+Y29udGVudCA9PSBOVUxMICkgKSB7CisgICAgICAgICpsZW4gPSAwOworCSpwdHIgPSBOVUxMOworCXJldHVybiAoIC0xICk7CisgICAgfQorCisgICAgcmN2ZF9sZ3RoID0gY3R4dC0+aW5wdHIgLSBjdHh0LT5jb250ZW50OworCisgICAgd2hpbGUgKCAoY3VyX2xndGggPSB4bWxOYW5vSFRUUFJlY3YoIGN0eHQgKSkgPiAwICkgeworCisJcmN2ZF9sZ3RoICs9IGN1cl9sZ3RoOworCWlmICggKGN0eHQtPkNvbnRlbnRMZW5ndGggPiAwKSAmJiAocmN2ZF9sZ3RoID49IGN0eHQtPkNvbnRlbnRMZW5ndGgpICkKKwkgICAgYnJlYWs7CisgICAgfQorCisgICAgKnB0ciA9IGN0eHQtPmNvbnRlbnQ7CisgICAgKmxlbiA9IHJjdmRfbGd0aDsKKworICAgIGlmICggKCBjdHh0LT5Db250ZW50TGVuZ3RoID4gMCApICYmICggcmN2ZF9sZ3RoIDwgY3R4dC0+Q29udGVudExlbmd0aCApICkKKyAgICAgICAgcmMgPSAtMTsKKyAgICBlbHNlIGlmICggcmN2ZF9sZ3RoID09IDAgKQorCXJjID0gLTE7CisKKyAgICByZXR1cm4gKCByYyApOworfQorCisjaWZkZWYgU1RBTkRBTE9ORQoraW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CisgICAgY2hhciAqY29udGVudFR5cGUgPSBOVUxMOworCisgICAgaWYgKGFyZ3ZbMV0gIT0gTlVMTCkgeworCWlmIChhcmd2WzJdICE9IE5VTEwpCisJICAgIHhtbE5hbm9IVFRQRmV0Y2goYXJndlsxXSwgYXJndlsyXSwgJmNvbnRlbnRUeXBlKTsKKyAgICAgICAgZWxzZQorCSAgICB4bWxOYW5vSFRUUEZldGNoKGFyZ3ZbMV0sICItIiwgJmNvbnRlbnRUeXBlKTsKKwlpZiAoY29udGVudFR5cGUgIT0gTlVMTCkgeG1sRnJlZShjb250ZW50VHlwZSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSIlczogbWluaW1hbCBIVFRQIEdFVCBpbXBsZW1lbnRhdGlvblxuIiwgYXJndlswXSk7CisgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkiXHR1c2FnZSAlcyBbIFVSTCBbIGZpbGVuYW1lIF0gXVxuIiwgYXJndlswXSk7CisgICAgfQorICAgIHhtbE5hbm9IVFRQQ2xlYW51cCgpOworICAgIHhtbE1lbW9yeUR1bXAoKTsKKyAgICByZXR1cm4oMCk7Cit9CisjZW5kaWYgLyogU1RBTkRBTE9ORSAqLworI2Vsc2UgLyogIUxJQlhNTF9IVFRQX0VOQUJMRUQgKi8KKyNpZmRlZiBTVEFOREFMT05FCisjaW5jbHVkZSA8c3RkaW8uaD4KK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgeworICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCSAgICAiJXMgOiBIVFRQIHN1cHBvcnQgbm90IGNvbXBpbGVkIGluXG4iLCBhcmd2WzBdKTsKKyAgICByZXR1cm4oMCk7Cit9CisjZW5kaWYgLyogU1RBTkRBTE9ORSAqLworI2VuZGlmIC8qIExJQlhNTF9IVFRQX0VOQUJMRUQgKi8KKyNkZWZpbmUgYm90dG9tX25hbm9odHRwCisjaW5jbHVkZSAiZWxmZ2NjaGFjay5oIgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9vcHRpbS9UT1RSWSBiL2xpYnhtbDIvb3B0aW0vVE9UUlkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmUxMWY3ZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvb3B0aW0vVE9UUlkKQEAgLTAsMCArMSwyMyBAQAorWE1MOgorPT09PQorICAtIEkvTyBhdm9pZCBjb3BpZXMgd2hlbiBwYXJzaW5nIG1tYXAnZWQgZmlsZXMsIG5lZWQgdG8gdXNlCisgICAgdW5tdXRhYmxlIGJ1ZmZlcnMgZXhjZXB0IGZvciB0aGUgbGFzdCA0SyB0byBtYWtlIGl0IDAgdGVybWluYXRlZAorICAgIChvciBnZXQgcmlkIG9mIDAgdGVybWluYXRpb24gY2hlY2sgaW4gdGhlIHdob2xlIHBhcnNlciwgaGFyZCAhKQorICAtIHJlY2hlY2sgPiA0R2IgaW5zdGFuY2VzIGZvciBwYXJzaW5nLCBhbmQgUk5HIHZhbGlkYXRpb24uCisgICAgCisKK1hTTFQ6Cis9PT09PQorICAtIGdsb2JhbCB2YXJpYWJsZSBhY2Nlc3MKKyAgICAgZm9yIGVhY2ggZXhwciBpbiBzdHlsZXNoZWV0IDogYWxsb2NhdGUgaW5kZXgKKyAgICAgZm9yIGVhY2ggdHJhbnNmb3JtYXRpb24gY29udGV4dAorICAgICAgIGNyZWF0ZSBhbiBpbmRleCB0YWJsZQorICAgICAgICAgY2FjaGUgdmFsdWVzIGluIHRoZSB0cmFuc2Zvcm1hdGlvbgorCSAgIC0gY29udGV4dCBldmFsdWF0aW9uCisJICAgICAtIGNhY2hlCisJICAgICAtIGNvbnN0YW50cyBhdCB0aGUgWFBBdGggbGV2ZWwKKwkgICAtIHByb3ZpZGUgbW9yZSBpbmZvIG9uIGNvbXBpbGVkIGV4cHJlc3Npb25zCisJICAgICAtIGRlcGVuZGFuY2VzIHcuci50LiB2YXJpYWJsZXMgKHdoaWNoIG9uZXMpCisJICAgICAtIGRlcGVuZGFuY3kgb24gdGhlIGN1cnJlbnQgbm9kZQorCSAgICAgLSBkZXBlbmRhbmN5IG9uIHRoZSBjdXJyZW50IGRvY3VtZW50CisgIC0gZG8gbm90IHVzZSBfcHJpdmF0ZSBidXQgb3RoZXIgZmllbGRzIGluIHRoZSBub2RlIHN0cnVjdHVyZXMuCmRpZmYgLS1naXQgYS9saWJ4bWwyL29wdGltL2hhc2hfZGljdC5wYXRjaCBiL2xpYnhtbDIvb3B0aW0vaGFzaF9kaWN0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZjNTBhYmMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL29wdGltL2hhc2hfZGljdC5wYXRjaApAQCAtMCwwICsxLDI1NyBAQAorSW5kZXg6IGhhc2guYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorUkNTIGZpbGU6IC9jdnMvZ25vbWUvZ25vbWUteG1sL2hhc2guYyx2CityZXRyaWV2aW5nIHJldmlzaW9uIDEuMzAKK2RpZmYgLXUgLXIxLjMwIGhhc2guYworLS0tIGhhc2guYwkyOSBPY3QgMjAwMyAxMToxODozNyAtMDAwMAkxLjMwCisrKysgaGFzaC5jCTI0IEZlYiAyMDA0IDE3OjE4OjQyIC0wMDAwCitAQCAtMjYsNiArMjYsNyBAQAorICNpbmNsdWRlIDxsaWJ4bWwveG1sbWVtb3J5Lmg+CisgI2luY2x1ZGUgPGxpYnhtbC94bWxlcnJvci5oPgorICNpbmNsdWRlIDxsaWJ4bWwvZ2xvYmFscy5oPgorKyNpbmNsdWRlIDxsaWJ4bWwvZGljdC5oPgorIAorICNkZWZpbmUgTUFYX0hBU0hfTEVOIDgKKyAKK0BAIC0zOCw5ICszOSw5IEBACisgdHlwZWRlZiB4bWxIYXNoRW50cnkgKnhtbEhhc2hFbnRyeVB0cjsKKyBzdHJ1Y3QgX3htbEhhc2hFbnRyeSB7CisgICAgIHN0cnVjdCBfeG1sSGFzaEVudHJ5ICpuZXh0OworLSAgICB4bWxDaGFyICpuYW1lOworLSAgICB4bWxDaGFyICpuYW1lMjsKKy0gICAgeG1sQ2hhciAqbmFtZTM7CisrICAgIGNvbnN0IHhtbENoYXIgKm5hbWU7CisrICAgIGNvbnN0IHhtbENoYXIgKm5hbWUyOworKyAgICBjb25zdCB4bWxDaGFyICpuYW1lMzsKKyAgICAgdm9pZCAqcGF5bG9hZDsKKyAgICAgaW50IHZhbGlkOworIH07CitAQCAtNTIsNiArNTMsNyBAQAorICAgICBzdHJ1Y3QgX3htbEhhc2hFbnRyeSAqdGFibGU7CisgICAgIGludCBzaXplOworICAgICBpbnQgbmJFbGVtczsKKysgICAgeG1sRGljdFB0ciBkaWN0OworIH07CisgCisgLyoKK0BAIC0xNDMsMTIgKzE0NSwxNiBAQAorIHhtbEhhc2hUYWJsZVB0cgorIHhtbEhhc2hDcmVhdGUoaW50IHNpemUpIHsKKyAgICAgeG1sSGFzaFRhYmxlUHRyIHRhYmxlOworKyAgICB4bWxEaWN0UHRyIGRpY3Q7CisgICAKKyAgICAgaWYgKHNpemUgPD0gMCkKKyAgICAgICAgIHNpemUgPSAyNTY7CisgICAKKysgICAgZGljdCA9IHhtbERpY3RDcmVhdGUoKTsKKysgICAgaWYgKGRpY3QgPT0gTlVMTCkgcmV0dXJuKE5VTEwpOworICAgICB0YWJsZSA9IHhtbE1hbGxvYyhzaXplb2YoeG1sSGFzaFRhYmxlKSk7CisgICAgIGlmICh0YWJsZSkgeworKyAgICAgICAgdGFibGUtPmRpY3QgPSBkaWN0OworICAgICAgICAgdGFibGUtPnNpemUgPSBzaXplOworIAl0YWJsZS0+bmJFbGVtcyA9IDA7CisgICAgICAgICB0YWJsZS0+dGFibGUgPSB4bWxNYWxsb2Moc2l6ZSAqIHNpemVvZih4bWxIYXNoRW50cnkpKTsKK0BAIC0xNTgsNiArMTY0LDcgQEAKKyAgICAgICAgIH0KKyAgICAgICAgIHhtbEZyZWUodGFibGUpOworICAgICB9CisrICAgIHhtbERpY3RGcmVlKGRpY3QpOworICAgICByZXR1cm4oTlVMTCk7CisgfQorIAorQEAgLTI4MiwxMiArMjg5LDYgQEAKKyAJCW5leHQgPSBpdGVyLT5uZXh0OworIAkJaWYgKChmICE9IE5VTEwpICYmIChpdGVyLT5wYXlsb2FkICE9IE5VTEwpKQorIAkJICAgIGYoaXRlci0+cGF5bG9hZCwgaXRlci0+bmFtZSk7CistCQlpZiAoaXRlci0+bmFtZSkKKy0JCSAgICB4bWxGcmVlKGl0ZXItPm5hbWUpOworLQkJaWYgKGl0ZXItPm5hbWUyKQorLQkJICAgIHhtbEZyZWUoaXRlci0+bmFtZTIpOworLQkJaWYgKGl0ZXItPm5hbWUzKQorLQkJICAgIHhtbEZyZWUoaXRlci0+bmFtZTMpOworIAkJaXRlci0+cGF5bG9hZCA9IE5VTEw7CisgCQlpZiAoIWluc2lkZV90YWJsZSkKKyAJCSAgICB4bWxGcmVlKGl0ZXIpOworQEAgLTI5OSw2ICszMDAsNyBAQAorIAl9CisgCXhtbEZyZWUodGFibGUtPnRhYmxlKTsKKyAgICAgfQorKyAgICB4bWxEaWN0RnJlZSh0YWJsZS0+ZGljdCk7CisgICAgIHhtbEZyZWUodGFibGUpOworIH0KKyAKK0BAIC00NjUsNiArNDY3LDkgQEAKKyAKKyAgICAgaWYgKCh0YWJsZSA9PSBOVUxMKSB8fCBuYW1lID09IE5VTEwpCisgCXJldHVybigtMSk7CisrICAgIGlmIChuYW1lKSBuYW1lID0geG1sRGljdExvb2t1cCh0YWJsZS0+ZGljdCwgbmFtZSwgLTEpOworKyAgICBpZiAobmFtZTIpIG5hbWUyID0geG1sRGljdExvb2t1cCh0YWJsZS0+ZGljdCwgbmFtZTIsIC0xKTsKKysgICAgaWYgKG5hbWUzKSBuYW1lMyA9IHhtbERpY3RMb29rdXAodGFibGUtPmRpY3QsIG5hbWUzLCAtMSk7CisgCisgICAgIC8qCisgICAgICAqIENoZWNrIGZvciBkdXBsaWNhdGUgYW5kIGluc2VydGlvbiBsb2NhdGlvbi4KK0BAIC00NzUsMTUgKzQ4MCwxNSBAQAorICAgICB9IGVsc2UgeworIAlmb3IgKGluc2VydCA9ICYodGFibGUtPnRhYmxlW2tleV0pOyBpbnNlcnQtPm5leHQgIT0gTlVMTDsKKyAJICAgICBpbnNlcnQgPSBpbnNlcnQtPm5leHQpIHsKKy0JICAgIGlmICgoeG1sU3RyRXF1YWwoaW5zZXJ0LT5uYW1lLCBuYW1lKSkgJiYKKy0JCSh4bWxTdHJFcXVhbChpbnNlcnQtPm5hbWUyLCBuYW1lMikpICYmCistCQkoeG1sU3RyRXF1YWwoaW5zZXJ0LT5uYW1lMywgbmFtZTMpKSkKKysJICAgIGlmICgoaW5zZXJ0LT5uYW1lID09IG5hbWUpICYmCisrCQkoaW5zZXJ0LT5uYW1lMiA9PSBuYW1lMikgJiYKKysJCShpbnNlcnQtPm5hbWUzID09IG5hbWUzKSkKKyAJCXJldHVybigtMSk7CisgCSAgICBsZW4rKzsKKyAJfQorLQlpZiAoKHhtbFN0ckVxdWFsKGluc2VydC0+bmFtZSwgbmFtZSkpICYmCistCSAgICAoeG1sU3RyRXF1YWwoaW5zZXJ0LT5uYW1lMiwgbmFtZTIpKSAmJgorLQkgICAgKHhtbFN0ckVxdWFsKGluc2VydC0+bmFtZTMsIG5hbWUzKSkpCisrCWlmICgoaW5zZXJ0LT5uYW1lID09IG5hbWUpICYmCisrCSAgICAoaW5zZXJ0LT5uYW1lMiA9PSBuYW1lMikgJiYKKysJICAgIChpbnNlcnQtPm5hbWUzID09IG5hbWUzKSkKKyAJICAgIHJldHVybigtMSk7CisgICAgIH0KKyAKK0BAIC00OTUsOSArNTAwLDkgQEAKKyAJICAgICByZXR1cm4oLTEpOworICAgICB9CisgCistICAgIGVudHJ5LT5uYW1lID0geG1sU3RyZHVwKG5hbWUpOworLSAgICBlbnRyeS0+bmFtZTIgPSB4bWxTdHJkdXAobmFtZTIpOworLSAgICBlbnRyeS0+bmFtZTMgPSB4bWxTdHJkdXAobmFtZTMpOworKyAgICBlbnRyeS0+bmFtZSA9IG5hbWU7CisrICAgIGVudHJ5LT5uYW1lMiA9IG5hbWUyOworKyAgICBlbnRyeS0+bmFtZTMgPSBuYW1lMzsKKyAgICAgZW50cnktPnBheWxvYWQgPSB1c2VyZGF0YTsKKyAgICAgZW50cnktPm5leHQgPSBOVUxMOworICAgICBlbnRyeS0+dmFsaWQgPSAxOworQEAgLTUzOSw2ICs1NDQsOSBAQAorIAorICAgICBpZiAoKHRhYmxlID09IE5VTEwpIHx8IG5hbWUgPT0gTlVMTCkKKyAJcmV0dXJuKC0xKTsKKysgICAgaWYgKG5hbWUpIG5hbWUgPSB4bWxEaWN0TG9va3VwKHRhYmxlLT5kaWN0LCBuYW1lLCAtMSk7CisrICAgIGlmIChuYW1lMikgbmFtZTIgPSB4bWxEaWN0TG9va3VwKHRhYmxlLT5kaWN0LCBuYW1lMiwgLTEpOworKyAgICBpZiAobmFtZTMpIG5hbWUzID0geG1sRGljdExvb2t1cCh0YWJsZS0+ZGljdCwgbmFtZTMsIC0xKTsKKyAKKyAgICAgLyoKKyAgICAgICogQ2hlY2sgZm9yIGR1cGxpY2F0ZSBhbmQgaW5zZXJ0aW9uIGxvY2F0aW9uLgorQEAgLTU0OSwxOCArNTU3LDE4IEBACisgICAgIH0gZWxzZSB7CisgCWZvciAoaW5zZXJ0ID0gJih0YWJsZS0+dGFibGVba2V5XSk7IGluc2VydC0+bmV4dCAhPSBOVUxMOworIAkgICAgIGluc2VydCA9IGluc2VydC0+bmV4dCkgeworLQkgICAgaWYgKCh4bWxTdHJFcXVhbChpbnNlcnQtPm5hbWUsIG5hbWUpKSAmJgorLQkJKHhtbFN0ckVxdWFsKGluc2VydC0+bmFtZTIsIG5hbWUyKSkgJiYKKy0JCSh4bWxTdHJFcXVhbChpbnNlcnQtPm5hbWUzLCBuYW1lMykpKSB7CisrCSAgICBpZiAoKGluc2VydC0+bmFtZSA9PSBuYW1lKSAmJgorKwkJKGluc2VydC0+bmFtZTIgPT0gbmFtZTIpICYmCisrCQkoaW5zZXJ0LT5uYW1lMyA9PSBuYW1lMykpIHsKKyAJCWlmIChmKQorIAkJICAgIGYoaW5zZXJ0LT5wYXlsb2FkLCBpbnNlcnQtPm5hbWUpOworIAkJaW5zZXJ0LT5wYXlsb2FkID0gdXNlcmRhdGE7CisgCQlyZXR1cm4oMCk7CisgCSAgICB9CisgCX0KKy0JaWYgKCh4bWxTdHJFcXVhbChpbnNlcnQtPm5hbWUsIG5hbWUpKSAmJgorLQkgICAgKHhtbFN0ckVxdWFsKGluc2VydC0+bmFtZTIsIG5hbWUyKSkgJiYKKy0JICAgICh4bWxTdHJFcXVhbChpbnNlcnQtPm5hbWUzLCBuYW1lMykpKSB7CisrCWlmICgoaW5zZXJ0LT5uYW1lID09IG5hbWUpICYmCisrCSAgICAoaW5zZXJ0LT5uYW1lMiA9PSBuYW1lMikgJiYKKysJICAgIChpbnNlcnQtPm5hbWUzID09IG5hbWUzKSkgeworIAkgICAgaWYgKGYpCisgCQlmKGluc2VydC0+cGF5bG9hZCwgaW5zZXJ0LT5uYW1lKTsKKyAJICAgIGluc2VydC0+cGF5bG9hZCA9IHVzZXJkYXRhOworQEAgLTU3Niw5ICs1ODQsOSBAQAorIAkgICAgIHJldHVybigtMSk7CisgICAgIH0KKyAKKy0gICAgZW50cnktPm5hbWUgPSB4bWxTdHJkdXAobmFtZSk7CistICAgIGVudHJ5LT5uYW1lMiA9IHhtbFN0cmR1cChuYW1lMik7CistICAgIGVudHJ5LT5uYW1lMyA9IHhtbFN0cmR1cChuYW1lMyk7CisrICAgIGVudHJ5LT5uYW1lID0gbmFtZTsKKysgICAgZW50cnktPm5hbWUyID0gbmFtZTI7CisrICAgIGVudHJ5LT5uYW1lMyA9IG5hbWUzOworICAgICBlbnRyeS0+cGF5bG9hZCA9IHVzZXJkYXRhOworICAgICBlbnRyeS0+bmV4dCA9IE5VTEw7CisgICAgIGVudHJ5LT52YWxpZCA9IDE7CitAQCAtNjE1LDEwICs2MjMsMTMgQEAKKyAgICAga2V5ID0geG1sSGFzaENvbXB1dGVLZXkodGFibGUsIG5hbWUsIG5hbWUyLCBuYW1lMyk7CisgICAgIGlmICh0YWJsZS0+dGFibGVba2V5XS52YWxpZCA9PSAwKQorIAlyZXR1cm4oTlVMTCk7CisrICAgIGlmIChuYW1lKSBuYW1lID0geG1sRGljdExvb2t1cCh0YWJsZS0+ZGljdCwgbmFtZSwgLTEpOworKyAgICBpZiAobmFtZTIpIG5hbWUyID0geG1sRGljdExvb2t1cCh0YWJsZS0+ZGljdCwgbmFtZTIsIC0xKTsKKysgICAgaWYgKG5hbWUzKSBuYW1lMyA9IHhtbERpY3RMb29rdXAodGFibGUtPmRpY3QsIG5hbWUzLCAtMSk7CisgICAgIGZvciAoZW50cnkgPSAmKHRhYmxlLT50YWJsZVtrZXldKTsgZW50cnkgIT0gTlVMTDsgZW50cnkgPSBlbnRyeS0+bmV4dCkgeworLQlpZiAoKHhtbFN0ckVxdWFsKGVudHJ5LT5uYW1lLCBuYW1lKSkgJiYKKy0JICAgICh4bWxTdHJFcXVhbChlbnRyeS0+bmFtZTIsIG5hbWUyKSkgJiYKKy0JICAgICh4bWxTdHJFcXVhbChlbnRyeS0+bmFtZTMsIG5hbWUzKSkpCisrCWlmICgoZW50cnktPm5hbWUgPT0gbmFtZSkgJiYKKysJICAgIChlbnRyeS0+bmFtZTIgPT0gbmFtZTIpICYmCisrCSAgICAoZW50cnktPm5hbWUzID09IG5hbWUzKSkKKyAJICAgIHJldHVybihlbnRyeS0+cGF5bG9hZCk7CisgICAgIH0KKyAgICAgcmV0dXJuKE5VTEwpOworQEAgLTc3NCw2ICs3ODUsOSBAQAorICAgICBpZiAoZiA9PSBOVUxMKQorIAlyZXR1cm47CisgCisrICAgIGlmIChuYW1lKSBuYW1lID0geG1sRGljdExvb2t1cCh0YWJsZS0+ZGljdCwgbmFtZSwgLTEpOworKyAgICBpZiAobmFtZTIpIG5hbWUyID0geG1sRGljdExvb2t1cCh0YWJsZS0+ZGljdCwgbmFtZTIsIC0xKTsKKysgICAgaWYgKG5hbWUzKSBuYW1lMyA9IHhtbERpY3RMb29rdXAodGFibGUtPmRpY3QsIG5hbWUzLCAtMSk7CisgICAgIGlmICh0YWJsZS0+dGFibGUpIHsKKyAJZm9yKGkgPSAwOyBpIDwgdGFibGUtPnNpemU7IGkrKykgeworIAkgICAgaWYgKHRhYmxlLT50YWJsZVtpXS52YWxpZCA9PSAwKQorQEAgLTc4MSw5ICs3OTUsOSBAQAorIAkgICAgaXRlciA9ICYodGFibGUtPnRhYmxlW2ldKTsKKyAJICAgIHdoaWxlIChpdGVyKSB7CisgCQluZXh0ID0gaXRlci0+bmV4dDsKKy0JCWlmICgoKG5hbWUgPT0gTlVMTCkgfHwgKHhtbFN0ckVxdWFsKG5hbWUsIGl0ZXItPm5hbWUpKSkgJiYKKy0JCSAgICAoKG5hbWUyID09IE5VTEwpIHx8ICh4bWxTdHJFcXVhbChuYW1lMiwgaXRlci0+bmFtZTIpKSkgJiYKKy0JCSAgICAoKG5hbWUzID09IE5VTEwpIHx8ICh4bWxTdHJFcXVhbChuYW1lMywgaXRlci0+bmFtZTMpKSkgJiYKKysJCWlmICgoKG5hbWUgPT0gTlVMTCkgfHwgKG5hbWUgPT0gaXRlci0+bmFtZSkpICYmCisrCQkgICAgKChuYW1lMiA9PSBOVUxMKSB8fCAobmFtZTIgPT0gaXRlci0+bmFtZTIpKSAmJgorKwkJICAgICgobmFtZTMgPT0gTlVMTCkgfHwgKG5hbWUzID09IGl0ZXItPm5hbWUzKSkgJiYKKyAJCSAgICAoaXRlci0+cGF5bG9hZCAhPSBOVUxMKSkgeworIAkJICAgIGYoaXRlci0+cGF5bG9hZCwgZGF0YSwgaXRlci0+bmFtZSwKKyAJCSAgICAgIGl0ZXItPm5hbWUyLCBpdGVyLT5uYW1lMyk7CitAQCAtOTEzLDE5ICs5MjcsMTYgQEAKKyAgICAgaWYgKHRhYmxlLT50YWJsZVtrZXldLnZhbGlkID09IDApIHsKKyAgICAgICAgIHJldHVybigtMSk7CisgICAgIH0gZWxzZSB7CisrCWlmIChuYW1lKSBuYW1lID0geG1sRGljdExvb2t1cCh0YWJsZS0+ZGljdCwgbmFtZSwgLTEpOworKwlpZiAobmFtZTIpIG5hbWUyID0geG1sRGljdExvb2t1cCh0YWJsZS0+ZGljdCwgbmFtZTIsIC0xKTsKKysJaWYgKG5hbWUzKSBuYW1lMyA9IHhtbERpY3RMb29rdXAodGFibGUtPmRpY3QsIG5hbWUzLCAtMSk7CisgICAgICAgICBmb3IgKGVudHJ5ID0gJih0YWJsZS0+dGFibGVba2V5XSk7IGVudHJ5ICE9IE5VTEw7IGVudHJ5ID0gZW50cnktPm5leHQpIHsKKy0gICAgICAgICAgICBpZiAoeG1sU3RyRXF1YWwoZW50cnktPm5hbWUsIG5hbWUpICYmCistICAgICAgICAgICAgICAgICAgICB4bWxTdHJFcXVhbChlbnRyeS0+bmFtZTIsIG5hbWUyKSAmJgorLSAgICAgICAgICAgICAgICAgICAgeG1sU3RyRXF1YWwoZW50cnktPm5hbWUzLCBuYW1lMykpIHsKKysgICAgICAgICAgICBpZiAoKGVudHJ5LT5uYW1lID09IG5hbWUpICYmCisrCQkoZW50cnktPm5hbWUyID09IG5hbWUyKSAmJgorKwkJKGVudHJ5LT5uYW1lMyA9PSBuYW1lMykpIHsKKyAgICAgICAgICAgICAgICAgaWYgKChmICE9IE5VTEwpICYmIChlbnRyeS0+cGF5bG9hZCAhPSBOVUxMKSkKKyAgICAgICAgICAgICAgICAgICAgIGYoZW50cnktPnBheWxvYWQsIGVudHJ5LT5uYW1lKTsKKyAgICAgICAgICAgICAgICAgZW50cnktPnBheWxvYWQgPSBOVUxMOworLSAgICAgICAgICAgICAgICBpZihlbnRyeS0+bmFtZSkKKy0gICAgICAgICAgICAgICAgICAgIHhtbEZyZWUoZW50cnktPm5hbWUpOworLSAgICAgICAgICAgICAgICBpZihlbnRyeS0+bmFtZTIpCistICAgICAgICAgICAgICAgICAgICB4bWxGcmVlKGVudHJ5LT5uYW1lMik7CistICAgICAgICAgICAgICAgIGlmKGVudHJ5LT5uYW1lMykKKy0gICAgICAgICAgICAgICAgICAgIHhtbEZyZWUoZW50cnktPm5hbWUzKTsKKyAgICAgICAgICAgICAgICAgaWYocHJldikgeworICAgICAgICAgICAgICAgICAgICAgcHJldi0+bmV4dCA9IGVudHJ5LT5uZXh0OworIAkJICAgIHhtbEZyZWUoZW50cnkpOworSW5kZXg6IGluY2x1ZGUvbGlieG1sL2hhc2guaAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorUkNTIGZpbGU6IC9jdnMvZ25vbWUvZ25vbWUteG1sL2luY2x1ZGUvbGlieG1sL2hhc2guaCx2CityZXRyaWV2aW5nIHJldmlzaW9uIDEuMTUKK2RpZmYgLXUgLXIxLjE1IGhhc2guaAorLS0tIGluY2x1ZGUvbGlieG1sL2hhc2guaAkyMCBOb3YgMjAwMyAxMTo1OTowNyAtMDAwMAkxLjE1CisrKysgaW5jbHVkZS9saWJ4bWwvaGFzaC5oCTI0IEZlYiAyMDA0IDE3OjE4OjQyIC0wMDAwCitAQCAtNDIsNyArNDIsNyBAQAorICAqCisgICogQ2FsbGJhY2sgdG8gZnJlZSBkYXRhIGZyb20gYSBoYXNoLgorICAqLworLXR5cGVkZWYgdm9pZCAoKnhtbEhhc2hEZWFsbG9jYXRvcikodm9pZCAqcGF5bG9hZCwgeG1sQ2hhciAqbmFtZSk7CisrdHlwZWRlZiB2b2lkICgqeG1sSGFzaERlYWxsb2NhdG9yKSh2b2lkICpwYXlsb2FkLCBjb25zdCB4bWxDaGFyICpuYW1lKTsKKyAvKioKKyAgKiB4bWxIYXNoQ29waWVyOgorICAqIEBwYXlsb2FkOiAgdGhlIGRhdGEgaW4gdGhlIGhhc2gKZGlmZiAtLWdpdCBhL2xpYnhtbDIvb3B0aW0vaGFzaF9kaWN0LnR4dCBiL2xpYnhtbDIvb3B0aW0vaGFzaF9kaWN0LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNjU1ZGViCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9vcHRpbS9oYXNoX2RpY3QudHh0CkBAIC0wLDAgKzEsMTEgQEAKK1JldXNlcyBhIGRpY3Rpb25uYXJ5IGZvciB0aGUgaGFzaCB0YWJsZSB0byByZWR1Y2UgdGhlIHN0cmluZyBjb21wYXJlCitjb3N0cy4gTm90IHdvcnRoIGl0IHVubGVzcyB2YWxpZGF0aW5nIGJpZyBEVERzCisKKwkJd2l0aG91dAkJd2l0aAorZGIxMDAwMCAgdHJlZQkxNzUvNzkJCTE3OS84MQorZGIxMDAwMDAgc3RyZWFtCTEyMjIJCTEyMTcKK2RiYTEwMDAwMHN0cmVhbQk1OTMJCTYwMQorUkVDIHZhbGlkYXRpb24JMTk4NgkJMjA5OAorRG9jYm9vayB2YWxpZAkxMDgwOAkJMTA2NDkKKworVHVlIEZlYiAyNCAxOTowOTo0OSBDRVQgMjAwNApkaWZmIC0tZ2l0IGEvbGlieG1sMi9vczQwMC9SRUFETUU0MDAgYi9saWJ4bWwyL29zNDAwL1JFQURNRTQwMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YzE2ZGU5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9vczQwMC9SRUFETUU0MDAKQEAgLTAsMCArMSwyMTQgQEAKKworSW1wbGVtZW50YXRpb24gbm90ZXM6CisKKyAgVGhpcyBpcyBhIHRydWUgT1MvNDAwIGltcGxlbWVudGF0aW9uLCBub3QgYSBQQVNFIGltcGxlbWVudGF0aW9uIChmb3IgUEFTRSwKK3VzZSBhbiBBSVggaW1wbGVtZW50YXRpb24pLgorCisgIFRoZSBiaWdnZXN0IHByb2JsZW0gd2l0aCBPUy80MDAgaXMgRUJDRElDLiBUaGUgY3VycmVudCBsaWJ4bWwyIGltcGxlbWVudGF0aW9uCit1c2VzIFVURi04IGludGVybmFsbHkuIFRvIGVhc2UgZW5jb2RpbmcgY29udmVyc2lvbiBiZXR3ZWVuIHRoZSBjYWxsaW5nCithcHBsaWNhdGlvbnMgYW5kIGxpYnhtbDIsIHN1cHBsZW1lbnRhcnkgImNvbnZlcnQgYW5kIGxhdGNoIiBmdW5jdGlvbnMgYXJlCitwcm92aWRlZCAoU2VlIGJlbG93KS4gVG8gYmluZCB0aGUgRUJDRElDIE9TLzQwMCBzeXN0ZW0gY2FsbHMgYW5kIGxpYnhtbDIsCithbiBBU0NJSSBydW4tdGltZSBlbnZpcm9ubWVudCAoUUFEUlQpIGhhcyBiZWVuIHVzZWQgYW5kIHdyYXBwZXIgZnVuY3Rpb25zIGhhdmUKK2JlZW4gZGVzaWduZWQuCisKK090aGVyIHByb2JsZW1zIGFyZToKKy0gU291cmNlIGNvZGUgbGluZSBsZW5ndGg6IHRvIGJlIHN0b3JlZCBpbiBEQjIgbWVtYmVycywgc291cmNlIGZpbGVzIG1heSBub3QKKyAgaGF2ZSBsaW5lcyBsb25nZXIgdGhhbiAxMDAgY2hhcmFjdGVycy4gU29tZSBoZWFkZXIgYW5kIGRvY3VtZW50YXRpb24gZmlsZXMKKyAgaGF2ZSBiZWVuIG1vZGlmaWVkIGFjY29yZGluZ2x5LgorLSB2YV9saXN0IGRlcmVmZXJlbmNpbmc6IHRoZSBPUy80MDAgaW1wbGVtZW50YXRpb24gb2YgdmFfbGlzdCB0eXBlIGlzIGFuIGFycmF5CisgIGJ1dCB0aGUgY29tcGlsZXIgZm9yYmlkcyBleHBsaWNpdCBhcnJheSBkZXJlZmVyZW5jaW5nLiBTb3VyY2UgZmlsZXMgaGF2ZQorICBiZWVuIHVwZGF0ZWQgYWNjb3JkaW5nbHkuCistIERlcGVuZGluZyBvbiB0aGUgY29tcGlsYXRpb24vZXhlY3V0aW9uIGVudmlyb25tZW50LCBpdCBpcyBwb3NzaWJsZSB0aGF0CisgIHN0ZGluL3N0ZG91dC9zdGRlcnIgYXJlIG5vdCBhc3NvY2lhdGVkIHdpdGggYSBmaWxlIGRlc2NyaXB0b3I7IGFzIGEgc2lkZQorICBlZmZlY3QsIG9wZW4oKSBtYXkgcmV0dXJuIGEgZmlsZSBkZXNjcmlwdG9yIHZhbHVlIDAsIDEgb3IgMiB0aGF0IGlzIE5PVAorICBhIEMgc3RhbmRhcmQgZmlsZS4gVGh1cyB1c2luZyBzdWNoIGEgbnVtYmVyIG1heSBiZSBpbmFjY3VyYXRlLgorLSBpY29udl9vcGVuKCkgYXJndW1lbnRzOiBPUy80MDAgdXNlcyBub24tc3RhbmRhcmQgZW5jb2RpbmcgbmFtZXMgYW5kIGRvZXMgbm90CisgIHN1cHBvcnQgc3RhbmRhcmQgbmFtZXMuIEZvciB0aGlzIHJlYXNvbiwgYSBuYW1lIHdyYXBwZXIgaGFzIGJlZW4gZGVzaWduZWQuCistIGRsb3BlbigpIChzdXBwb3J0IGZvciB4bW9kdWxlKTogdGhlIGZ1bmN0aW9uIGFuZCBpdHMgY29yb2xsYXJpZXMgYXJlIG5vdAorICBwcm92aWRlZCBieSB0aGUgT1MvNDAwIGxpYnJhcnkuIEhvd2V2ZXIgYSBsb2NhbCBpbXBsZW1lbnRhdGlvbiBpcyBwcm92aWRlZC4KKworCitDb21waWxpbmcgb24gT1MvNDAwOgorCitfIEFzIGEgcHJlcmVxdWlzaXRlLCBRQURSVCBkZXZlbG9wbWVudCBlbnZpcm9ubWVudCBtdXN0IGJlIGluc3RhbGxlZC4KK18gSW5zdGFsbCB0aGUgbGlieG1sMiBzb3VyY2UgZGlyZWN0b3J5IGluIElGUy4KK18gRW50ZXIgc2hlbGwgKFFTSCkKK18gQ2hhbmdlIGN1cnJlbnQgZGlyZWN0b3J5IHRvIHRoZSBsaWJ4bWwyIGluc3RhbGxhdGlvbiBkaXJlY3RvcnkKK18gQ2hhbmdlIGN1cnJlbnQgZGlyZWN0b3J5IHRvIC4vb3M0MDAKK18gRWRpdCBmaWxlIGluaXNjcmlwdC5zaC4gWW91IG1heSB3YW50IHRvIGNoYW5nZSB0dW5hYmxlIGNvbmZpZ3VyYXRpb24KKyAgcGFyYW1ldGVycywgbGlrZSBkZWJ1ZyBpbmZvIGdlbmVyYXRpb24sIG9wdGltaXNhdGlvbiBsZXZlbCwgbGlzdGluZyBvcHRpb24sCisgIHRhcmdldCBsaWJyYXJ5LCB6bGliIGF2YWlsYWJpbGl0eSwgZXRjLgorXyBDb3B5IGFueSBmaWxlIGluIHRoZSBjdXJyZW50IGRpcmVjdG9yeSB0byBtYWtlbG9nIChpLmUuOgorICBjcCBpbml0c2NyaXB0LnNoIG1ha2Vsb2cpOiB0aGlzIGlzIGludGVuZGVkIHRvIGNyZWF0ZSB0aGUgbWFrZWxvZyBmaWxlIHdpdGgKKyAgYW4gQVNDSUkgQ0NTSUQhCitfIEVudGVyIHRoZSBjb21tYW5kICJzaCBtYWtlLnNoID5tYWtlbG9nIDI+JjEnCitfIEV4YW1pbmUgdGhlIG1ha2Vsb2cgZmlsZSB0byBjaGVjayBmb3IgY29tcGlsYXRpb24gZXJyb3JzLgorCisgIExlYXZpbmcgZmlsZSBpbml0c2NyaXB0LnNoIHVuY2hhbmdlZCwgdGhpcyB3aWxsIHByb2R1Y2UgdGhlIGZvbGxvd2luZworT1MvNDAwIG9iamVjdHM6CitfIExpYnJhcnkgTElCWE1MMi4gQWxsIG90aGVyIG9iamVjdHMgd2lsbCBiZSBzdG9yZWQgaW4gdGhpcyBsaWJyYXJ5LgorXyBNb2R1bGVzIGZvciBhbGwgbGlieG1sMiB1bml0cywgd2l0aCBmdWxsIGRlYnVnIGluZm8gYW5kIG5vIGNvZGUgb3B0aW1pemF0aW9uLgorXyBCaW5kaW5nIGRpcmVjdG9yeSBMSUJYTUwyX0EsIHRvIGJlIHVzZWQgYXQgY2FsbGluZyBwcm9ncmFtIGxpbmsgdGltZSBmb3IKKyAgc3RhdGljYWxseSBiaW5kaW5nIHRoZSBtb2R1bGVzIChzcGVjaWZ5IEJORFNSVlBHTShRQURSVFRTIFFHTERDTE5UIFFHTERCUkRSKQorICB3aGVuIGNyZWF0aW5nIGEgcHJvZ3JhbSB1c2luZyBMSUJYTUwyX0EpLgorXyBTZXJ2aWNlIHByb2dyYW0gTElCWE1MMi4gVG8gYmUgdXNlZCBhdCBjYWxsaW5nIHByb2dyYW0gcnVuLXRpbWUKKyAgd2hlbiB0aGlzIHByb2dyYW0gaGFzIGR5bmFtaWNhbGx5IGJvdW5kIGxpYnhtbDIgYXQgbGluayB0aW1lLgorXyBCaW5kaW5nIGRpcmVjdG9yeSBMSUJYTUwyLiBUbyBiZSB1c2VkIHRvIGR5bmFtaWNhbGx5IGJpbmQgbGlieG1sMiB3aGVuCisgIGxpbmtpbmcgYSBjYWxsaW5nIHByb2dyYW0uCitfIFNvdXJjZSBmaWxlIExJQlhNTC4gSXQgY29udGFpbnMgYWxsIHRoZSBoZWFkZXIgbWVtYmVycyBuZWVkZWQgdG8gY29tcGlsZSBhCisgIEMvQysrIG1vZHVsZSB1c2luZyBsaWJ4bWwyLgorXyBTdGFuZGFyZCBhbmQgYWRkaXRpb25hbCBDL0MrKyBsaWJ4bWwyIGhlYWRlciBtZW1iZXJzIChwb3NzaWJseSByZW5hbWVkKSBpbgorICBmaWxlIExJQlhNTC4KK18gSUZTIGRpcmVjdG9yeSAvbGlieG1sMiB3aXRoIHN1YmRpcmVjdG9yeSBpbmNsdWRlL2xpYnhtbCBjb250YWluaW5nIGFsbAorICBDL0MrKyBoZWFkZXIgZmlsZXMgZm9yIElGUy1iYXNlZCBjb21waWxhdGlvbi4KK18gU291cmNlIGZpbGUgTElCWE1MUlBHLiBJdCBjb250YWlucyBhbGwgdGhlIGluY2x1ZGUgbWVtYmVycyBuZWVkZWQgdG8gY29tcGlsZSBhCisgIElMRS9SUEcgbW9kdWxlL3Byb2dyYW0gdXNpbmcgbGlieG1sMiAoSUxFL1JQRyBiaW5kaW5nKS4KK18gSUxFL1JQRyBiaW5kaW5nIGluY2x1ZGUgbWVtYmVycyAocG9zc2libHkgcmVuYW1lZCkgaW4gZmlsZSBMSUJYTUxSUEcuCitfIElGUyBzdWJkaXJlY3RvcnkgL2xpYnhtbDIvaW5jbHVkZS9saWJ4bWxycGcgY29udGFpbmluZyBhbGwgSUxFL1JQRyBpbmNsdWRlCisgIGZpbGVzIGZvciBJRlMtYmFzZWQgY29tcGlsYXRpb24uCisKKworUmVuYW1lZCBoZWFkZXIgZmlsZXMgaW4gREIyIG1lbWJlcnM6CisgIERCMiBtZW1iZXIgbmFtZXMgYXJlIGxpbWl0ZWQgdG8gMTAgY2hhcmFjdGVycywgdGh1cyB0aGUgZm9sbG93aW5nIEMvQysrCitoZWFkZXIgbWVtYmVycyBhcmUgcmVuYW1lZCBhczoKKyAgcGFyc2VySW50ZXJuYWxzLmggICAgIC0tPiAgICAgUEFSU0VSSU5URQorICBzY2hlbWFzSW50ZXJuYWxzLmggICAgLS0+ICAgICBTQ0hFTUFTSU5UCisgIHhtbGF1dG9tYXRhLmggICAgICAgICAtLT4gICAgIFhNTEFVVE9NQVQKKyAgeG1sc2NoZW1hc3R5cGUuaCAgICAgIC0tPiAgICAgU0NITVRZUEVTCisgIHhwYXRoSW50ZXJuYWxzLmggICAgICAtLT4gICAgIFhQQVRISU5URVIKK0lGUyBoZWFkZXIgZmlsZXMgYXJlIE5PVCByZW5hbWVkLgorSUxFL1JQRyBoZWFkZXJzIGFyZSBwcm9jZXNzZWQgbGlrZXdpc2UuCisKKworU3BlY2lhbCBwcm9ncmFtbWluZyBjb25zaWRlcmF0aW9uOgorCitRQURSVCBiZWluZyB1c2VkLCB0aGUgZm9sbG93aW5nIHBvaW50cyBtdXN0IGJlIGNvbnNpZGVyZWQ6CitfIElmIHN0YXRpYyBiaW5kaW5nIGlzIHVzZWQsIHNlcnZpY2UgcHJvZ3JhbSBRQURSVFRTIG11c3QgYmUgbGlua2VkIHRvby4KK18gVGhlIEVCQ0RJQyBDQ1NJRCB1c2VkIGJ5IFFBRFJUIGlzIDM3IGJ5IGRlZmF1bHQsIE5PVCBUSEUgSk9CJ1MgQ0NTSUQuIElmCisgIGFub3RoZXIgRUJDRElDIENDU0lEIGlzIHJlcXVpcmVkLCBpdCBtdXN0IGJlIHNldCB2aWEgYSBsb2NhbGUgdGhyb3VnaCBhIGNhbGwKKyAgdG8gc2V0bG9jYWxlX2EgKFFBRFJUJ3Mgc2V0bG9jYWxlKCkgQVNDSUkgd3JhcHBlcikgd2l0aCBjYXRlZ29yeSBMQ19BTEwgb3IKKyAgTENfQ1RZUEUsIG9yIGJ5IHNldHRpbmcgZW52aXJvbm1lbnQgdmFyaWFibGUgUUFEUlRfRU5WX0xPQ0FMRSB0byB0aGUgbG9jYWxlCisgIG9iamVjdCBwYXRoIGJlZm9yZSBleGVjdXRpbmcgdGhlIHByb2dyYW0uCitfIEFsd2F5cyB1c2UgKklGU0lPIG9yICpJRlM2NElPIHRvIGNvbXBpbGUgY2FsbGluZyBwcm9ncmFtcy4KKworCisKK1N1cHBsZW1lbnRhcnkgKG5vbiBsaWJ4bWwyIHN0YW5kYXJkKSBzdXBwb3J0IHByb2NlZHVyZXMgZm9yIE9TLzQwMC4KKworICBBcyBjaXRlZCBhYm92ZSwgdGhlcmUgYXJlIHNvbWUgcHJvY2VkdXJlcyB0byBlYXNlIGVuY29kaW5nIGNvbnZlcnNpb24gb2YKK2xpYnhtbDIgZnVuY3Rpb24gYXJndW1lbnRzIGFuZCByZXN1bHRzOiB0aGUgbWVjaGFuaXNtIGlzIGJhc2VkIG9uCitkaWN0aW9uYXJpZXMuIFRoZSBmdW5jdGlvbnMgY29udmVydCBhIHN0cmluZywgbGF0Y2ggdGhlIHJlc3VsdCBpbiBhIGRpY3Rpb25hcnkKK3RvIGVuc3VyZSBpdHMgcGVyc2lzdGVuY2UgYW5kIHJldHVybiBpdHMgYWRkcmVzcy4gSXQgaXMgdGhlIGNhbGxlcidzCityZXNwb25zaWJpbGl0eSB0byBjbGVhbiB0aGUgZGljdGlvbmFyeSB3aGVuIGl0IGJlY29tZXMgdG9vIGJpZyBvciBkaXNhcHBlYXJzLgorCitUaGUgcHJvY2VkdXJlcyBhcmU6CisKKyNpbmNsdWRlIDxsaWJ4bWwvdHJhbnNjb2RlLmg+CisKK2NvbnN0IGNoYXIgKiAgeG1sVHJhbnNjb2RlUmVzdWx0KGNvbnN0IHhtbENoYXIgKiBzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqIGVuY29kaW5nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sRGljdFB0ciAqIGRpY3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICgqZnJlZXByb2MpKGNvbnN0IHZvaWQgKikpOworCitjb25zdCB4bWxDaGFyICogeG1sVHJhbnNjb2RlU3RyaW5nKGNvbnN0IGNoYXIgKiBzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICogZW5jb2RpbmcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbERpY3RQdHIgKiBkaWN0KTsKKworY29uc3QgeG1sQ2hhciAqIHhtbFRyYW5zY29kZVdTdHJpbmcoY29uc3QgY2hhciAqIHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICogZW5jb2RpbmcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxEaWN0UHRyICogZGljdCk7CisKK2NvbnN0IHhtbENoYXIgKiB4bWxUcmFuc2NvZGVXU3RyaW5nKGNvbnN0IGNoYXIgKiBzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqIGVuY29kaW5nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sRGljdFB0ciAqIGRpY3QpOworCit3aGVyZToKK3MgICAgICAgICAgICAgICBpcyB0aGUgc3RyaW5nIHRvIHRyYW5zbGF0ZS4KK2VuY29kaW5nICAgICAgICBpcyB0aGUgYWx0ZXJuYXRlIGNoYXJhY3RlciBlbmNvZGluZy4gSWYgbnVsbCwgdGhlIGN1cnJlbnQgam9iJ3MKKyAgICAgICAgICAgICAgICBlbmNvZGluZyAoQ0NTSUQpIGlzIHVzZWQuCitkaWN0ICAgICAgICAgICAgaXMgdGhlIGFkZHJlc3Mgb2YgdGhlIGxhdGNoaW5nIGRpcmVjdG9yeS4gSWYgTlVMTCwgdGhlIHByb2NlZHVyZQorICAgICAgICAgICAgICAgIGZ1bmN0aW9ucyBhcyBhIHNpbXBsZSBub24tbGF0Y2hpbmcgZW5jb2RpbmcgY29udmVydGVyIGFuZAorICAgICAgICAgICAgICAgIGl0cyByZXN1bHQgdmFsdWUgc2hvdWxkIGJlIGZyZWVkIGJ5IHRoZSBjYWxsZXIuCitmcmVlcHJvYyAgICAgICAgaXMgYSBwcm9jZWR1cmUgdG8gcmVsZWFzZSB0aGUgb3JpZ2luYWwgc3RyaW5nLCBvciBOVUxMLgorCit4bWxUcmFuc2NvZGVSZXN1bHQoKSAgY29udmVydHMgZnJvbSBVVEYtOCB0byB0aGUgZ2l2ZW4gYWx0ZXJuYXRlIGVuY29kaW5nLgoreG1sVHJhbnNjb2RlU3RyaW5nKCkgIGNvbnZlcnRzIGZyb20gdGhlIGdpdmVuIDgtYml0IGVuY29kaW5nIHRvIFVURi04IChub3RlIHRoYXQKKyAgICAgICAgICAgICAgICAgICAgICBVVEYtOCBpdHNlbGYgaXMgY29uc2lkZXJlZCBhcyBhIDgtYml0IGVuY29kaW5nKS4KK3htbFRyYW5zY29kZVdTdHJpbmcoKSBjb252ZXJ0cyBmcm9tIHRoZSBnaXZlbiAxNi1iaXQgZW5jb2RpbmcgdG8gVVRGLTguCit4bWxUcmFuc2NvZGVIU3RyaW5nKCkgY29udmVydHMgZnJvbSB0aGUgZ2l2ZW4gMzItYml0IGVuY29kaW5nIHRvIFVURi04LgorCisKK1RvIHNob3J0ZW4gc3RhdGVtZW50cyB1c2luZyB0aGVzZSBmdW5jdGlvbnMsIHNob3J0aGFuZHMgYXJlIGRlZmluZWQ6CisKK3htbFRSIGZvciB4bWxUcmFuc2NvZGVSZXN1bHQKK3htbFRTIGZvciB4bWxUcmFuc2NvZGVTdHJpbmcKK3htbFRXIGZvciB4bWxUcmFuc2NvZGVXU3RyaW5nCit4bWxUSCBmb3IgeG1sVHJhbnNjb2RlSHN0cmluZworCitUaGVzZSBzaG9ydGhhbmRzIG1heSBiZSBkaXNhYmxlZCBieSBkZWZpbmluZyBYTUxfTk9fU0hPUlRfTkFNRVMgYmVmb3JlCitsaWJ4bWwvdHJhbnNjb2RlLmggaW5jbHVzaW9uLgorCitBIGRpcmVjdG9yeSBwb2ludGVyIG11c3QgYmUgcHJlc2V0IHRvIE5VTEwgYmVmb3JlIHRoZSBmaXJzdCBjYWxsIHVzaW5nIGl0IHRvCitvbmUgb2YgdGhlIGFib3ZlIHByb2NlZHVyZS4KKworVG8gcmVsZWFzZSBhIGxhdGNoaW5nIGRpcmVjdG9yeSwgdXNlIGZ1bmN0aW9uCisKK3ZvaWQgICAgICAgICAgeG1sWmFwRGljdCh4bWxEaWN0UHRyICogZGljdCk7CisKKworRXhhbXBsZToKKworI2luY2x1ZGUgPGxpYnhtbC90cmFuc2NvZGUuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvdHJlZS5oPgorCit4bWxEb2NQdHIgbXlTaW1wbGVYTUxEb2MoY2hhciAqIGVsZW1lbnQsIGNoYXIgKiB0ZXh0KQoreworICAgICAgICB4bWxEb2NQdHIgZG9jOworICAgICAgICB4bWxOb2RlUHRyIG5vZGU7CisgICAgICAgIHhtbERpY3RQdHIgZGljdCA9IE5VTEw7CisKKyAgICAgICAgLyogZWxlbWVudCBhbmQgdGV4dCBhcmUgZW5jb2RlZCBpbiB0aGUgY3VycmVudCBqb2IncyBlbmNvZGluZy4gKi8KKworICAgICAgICBkb2MgPSB4bWxOZXdEb2MoKTsKKyAgICAgICAgeG1sTmV3VGV4dENoaWxkKCh4bWxOb2RlUHRyKSBkb2MsIE5VTEwsIHhtbFRTKGVsZW1lbnQsIE5VTEwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmRpY3QpLCB4bWxUUyh0ZXh0LCBOVUxMLCAmZGljdCkpOworICAgICAgICB4bWxaYXBEaWN0KCZkaWN0KTsKKyAgICAgICAgcmV0dXJuIGRvYzsKK30KKworCitBZGRpdGlvbmFsbHksIGEgZm9ybWF0dGVyIGludG8gbGF0Y2hlZC9keW5hbWljIHN0b3JhZ2UgaXMgcHJvdmlkZWQ6CisKK2NvbnN0IGNoYXIgKiAgICB4bWxWYXNwcmludGYoeG1sRGljdFB0ciAqIGRpY3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKiBlbmNvZGluZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIGZtdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFfbGlzdCBhcmdzKTsKKworCisKK0lMRS9SUEcgYmluZGluZzoKKworICBBbGwgc3RhbmRhcmQgdHlwZXMgYW5kIHByb2NlZHVyZXMgYXJlIHByb3ZpZGVkLiBTaW5jZSBJTEUvUlBHIGRvZXMgbm90CitzdXBwb3J0IG1hY3JvcywgdGhleSBoYXZlIG5vdCBiZWVuIHBvcnRlZCwgd2l0aCB0aGUgZXhjZXB0aW9ucyBvZiB0aGUgbW9yZQordXNlZnVsIG9uZXMgYW5kIHRoZSBnbG9iYWwvdGhyZWFkZWQgdmFyaWFibGVzIGFjY2VzcyBtYWNyb3MuIFRoZXNlIHZhcmlhYmxlcworY2FuIGJlIHJlYWQgd2l0aCBmdW5jdGlvbiBnZXRfeHh4KHZvaWQpLCB3aGVyZSB4eHh4IGlzIHRoZSBuYW1lIG9mIHRoZQordmFyaWFibGU7IHRoZXkgbWF5IGJlIHNldCBieSBjYWxsaW5nIGZ1bmN0aW9uIHNldF94eHh4KHZhbHVlKSwgd2hlcmUgdmFsdWUgaXMKK29mIHRoZSBzYW1lIHR5cGUgYXMgdGhlIHZhcmlhYmxlLgorCisgIFRoZSBDIHZhX2xpc3QgaXMgbm90IGltcGxlbWVudGVkIGFzIHN1Y2ggaW4gSUxFL1JQRy4gRnVuY3Rpb25zIGltcGxlbWVudGluZwordmFfbGlzdCBhbmQgYXNzb2NpYXRlZCBtZXRob2RzIGFyZSBwcm92aWRlZDoKKworICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWxzdGRhcmciCisKKyAgICAgZCB4bWxWYVN0YXJ0ICAgICAgcHIKKyAgICAgZCAgbGlzdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFZhTGlzdCkKKyAgICAgZCAgbGFzdGFyZ2FkZHIgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZQorICAgICBkICBsYXN0YXJnc2l6ZSAgICAgICAgICAgICAgICAgIDEwdSAwIHZhbHVlCisKKyAgICAgZCB4bWxWYUFyZyAgICAgICAgcHIKKyAgICAgZCAgbGlzdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFZhTGlzdCkKKyAgICAgZCAgZGVzdCAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZQorICAgICBkICBhcmdzaXplICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxWYUVuZCAgICAgICAgcHIKKyAgICAgZCAgbGlzdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFZhTGlzdCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvb3M0MDAvZGxmY24vZGxmY24uYyBiL2xpYnhtbDIvb3M0MDAvZGxmY24vZGxmY24uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNDg4ZTEyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9vczQwMC9kbGZjbi9kbGZjbi5jCkBAIC0wLDAgKzEsMTIxMyBAQAorLyoqCisqKiogICAgIGRsb3BlbigpLCBkbGNsb3NlKCkgZGxzeW0oKSwgZGxlcnJvcigpIGVtdWxhdGlvbiBmb3IgT1MvNDAwLgorKioqCisqKiogICAgIFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyoqKgorKioqICAgICBBdXRob3I6IFBhdHJpY2sgTW9ubmVyYXQgPHBtQGRhdGFzcGhlcmUuY2g+LCBEQVRBU1BIRVJFIFMuQS4KKyoqLworCisjaW5jbHVkZSA8c3RkYXJnLmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxjdHlwZS5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8ZGlyZW50Lmg+CisjaW5jbHVkZSA8cHRocmVhZC5oPgorCisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKworI2luY2x1ZGUgPGV4Y2VwdC5oPiAgICAgICAgICAgICAvKiBBUzQwMCBleGNlcHRpb25zLiAqLworI2luY2x1ZGUgPG1pcHRybmFtLmg+ICAgICAgICAgICAvKiBNSSBwb2ludGVycyBzdXBwb3J0LiAqLworI2luY2x1ZGUgPHF1c2VjLmg+ICAgICAgICAgICAgICAvKiBFcnJvciBzdHJ1Y3R1cmVzLiAqLworI2luY2x1ZGUgPHFwMGxzdGRpLmg+ICAgICAgICAgICAvKiBQYXRoIHRvIFFTWVMgb2JqZWN0IG5hbWUuICovCisjaW5jbHVkZSA8cXAwejExNzAuaD4gICAgICAgICAgIC8qIEZvciBRcDB6SW5pdEVudigpLiAqLworI2luY2x1ZGUgPHFsZWF3aS5oPiAgICAgICAgICAgICAvKiBGb3IgUWxlQWN0Qm5kUGdtTG9uZygpIGRlZmluaXRpb25zLiAqLworI2luY2x1ZGUgPHFzeS5oPiAgICAgICAgICAgICAgICAvKiBRdWFsaWZpZWQgbmFtZSBzdHJ1Y3R1cmUuICovCisjaW5jbHVkZSA8cW1ocnR2bS5oPiAgICAgICAgICAgIC8qIFJldHJpZXZlIG1lc3NhZ2UgZnJvbSBtZXNzYWdlIGZpbGUuICovCisKKyNpbmNsdWRlIDxtaWgvcmluenN0YXQuaD4KKyNpbmNsdWRlIDxtaWgvbWF0YWN0ZXguaD4KKworI2luY2x1ZGUgImxpYnhtbC9oYXNoLmgiCisjaW5jbHVkZSAiZGxmY24uaCIKKworCisvKioKKyoqKiAgICAgTWF4aW11bSBpbnRlcm5hbCBwYXRoIGxlbmd0aC4KKyoqLworCisjZGVmaW5lIE1BWFBBVEhMRU4gICAgICAgICAgICAgIDUxMjAKKworCisvKioKKyoqKiAgICAgTWF4aW11bSBlcnJvciBzdHJpbmcgbGVuZ3RoLgorKiovCisKKyNkZWZpbmUgTUFYX0VSUl9TVFIgICAgICAgICAgICAgNTExCisKKworLyoqCisqKiogICAgIEZpZWxkIGFkZHJlc3MgbWFjcm8uCisqKi8KKworI2RlZmluZSBvZmZzZXRfYnkodCwgYiwgbykgICAgICAoKHQgKikgKChjaGFyICopIChiKSArICh1bnNpZ25lZCBpbnQpIChvKSkpCisKKworLyoqCisqKiogICAgIEdsb2JhbCBmbGFncy4KKyoqLworCisjZGVmaW5lIElOSVRFRCAgICAgICAgICAwMDAwMDEgICAgICAgICAgLyogUGFja2FnZSBoYXMgYmVlbiBpbml0aWFsaXplZC4gKi8KKyNkZWZpbmUgVEhSRUFEUyAgICAgICAgIDAwMDAwMiAgICAgICAgICAvKiBNdWx0aXRocmVhZGVkIGpvYi4gKi8KKyNkZWZpbmUgTVVMVElCVUYgICAgICAgIDAwMDAwNCAgICAgICAgICAvKiBPbmUgZXJyb3IgYnVmZmVyIHBlciB0aHJlYWQuICovCisKKworLyoqCisqKiogICAgIERMTCBoYW5kbGUgcHJpdmF0ZSBzdHJ1Y3R1cmUuCisqKi8KKwordHlwZWRlZiBzdHJ1Y3QgeworICAgICAgICBRbGVfQUJQX0luZm9fTG9uZ190ICAgICBhY3RpbmZvOyAgICAgICAgLyogQWN0aXZhdGlvbiBpbmZvcm1hdGlvbi4gKi8KKyAgICAgICAgX1NZU1BUUiAgICAgICAgICAgICAgICAgcG9pbnRlcjsgICAgICAgIC8qIFBvaW50ZXIgdG8gRExMIG9iamVjdC4gKi8KKyAgICAgICAgdW5zaWduZWQgaW50ICAgICAgICAgICAgYWN0Y291bnQ7ICAgICAgIC8qIEFjdGl2YXRpb24gY291bnQuICovCit9ICAgICAgICAgICAgICAgZGxpbmZvOworCisKKy8qKgorKioqICAgICBQZXItdGhyZWFkIHN0cnVjdHVyZS4KKyoqLworCit0eXBlZGVmIHN0cnVjdCB7CisgICAgICAgIHVuc2lnbmVkIGludCAgICBsb2NrY291bnQ7ICAgICAgICAgICAgICAvKiBNdXRleCBsb2NrIGNvdW50LiAqLworICAgICAgICB1bnNpZ25lZCBpbnQgICAgaXNlcnJvcjsgICAgICAgICAgICAgICAgLyogRmxhZyBlcnJvciBwcmVzZW50LiAqLworICAgICAgICBjaGFyICAgICAgICAgICAgc3RyW01BWF9FUlJfU1RSICsgMV07ICAgLyogRXJyb3Igc3RyaW5nIGJ1ZmZlci4gKi8KK30gICAgICAgICAgICAgICBkbHRzX3Q7CisKKworc3RhdGljIHB0aHJlYWRfbXV0ZXhfdCAgZGxtdXRleCA9IFBUSFJFQURfTVVURVhfSU5JVElBTElaRVI7CitzdGF0aWMgeG1sSGFzaFRhYmxlUHRyICBkbGRpciA9ICh4bWxIYXNoVGFibGVQdHIpIE5VTEw7IC8qIERMTCBkaXJlY3RvcnkuICovCitzdGF0aWMgdW5zaWduZWQgaW50ICAgICBkbGZsYWdzID0gMDsgICAgICAgICAgICAgICAgICAgIC8qIFBhY2thZ2UgZmxhZ3MuICovCitzdGF0aWMgcHRocmVhZF9rZXlfdCAgICBkbGtleTsKK3N0YXRpYyBkbHRzX3QgICAgICAgICAgIHN0YXRpY19idWY7ICAgICAgICAgICAgIC8qIFN0YXRpYyBlcnJvciBidWZmZXIuICovCisKKworCitzdGF0aWMgdm9pZAorZGx0aHJlYWR0ZXJtKHZvaWQgKiBtZW0pCisKK3sKKyAgICAgICAgZnJlZShtZW0pOworICAgICAgICBwdGhyZWFkX3NldHNwZWNpZmljKGRsa2V5LCBOVUxMKTsKK30KKworCitzdGF0aWMgdm9pZAorZGx0ZXJtKHZvaWQpCisKK3sKKyAgICAgICAgdm9pZCAqIHA7CisKKyAgICAgICAgaWYgKGRsZmxhZ3MgJiBNVUxUSUJVRikgeworICAgICAgICAgICAgICAgIHAgPSBwdGhyZWFkX2dldHNwZWNpZmljKGRsa2V5KTsKKworICAgICAgICAgICAgICAgIGlmIChwKQorICAgICAgICAgICAgICAgICAgICAgICAgZGx0aHJlYWR0ZXJtKHApOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICBpZiAoZGxmbGFncyAmIFRIUkVBRFMpCisgICAgICAgICAgICAgICAgcHRocmVhZF9tdXRleF9sb2NrKCZkbG11dGV4KTsKKworICAgICAgICBpZiAoZGxkaXIpIHsKKyAgICAgICAgICAgICAgICB4bWxIYXNoRnJlZShkbGRpciwgKHhtbEhhc2hEZWFsbG9jYXRvcikgTlVMTCk7CisgICAgICAgICAgICAgICAgZGxkaXIgPSBOVUxMOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICBpZiAoZGxmbGFncyAmIE1VTFRJQlVGKQorICAgICAgICAgICAgICAgIHB0aHJlYWRfa2V5X2RlbGV0ZShkbGtleSk7CisKKyAgICAgICAgZGxmbGFncyB8PSB+KElOSVRFRCB8IE1VTFRJQlVGKTsKKyAgICAgICAgcHRocmVhZF9tdXRleF91bmxvY2soJmRsbXV0ZXgpOworICAgICAgICBwdGhyZWFkX211dGV4X2Rlc3Ryb3koJmRsbXV0ZXgpOworfQorCisKK3N0YXRpYyB2b2lkCitkbGluaXQodm9pZCkKKworeworICAgICAgICBpbnQgbG9ja2VkOworCisgICAgICAgIC8qKgorICAgICAgICAqKiogICAgIEluaXRpYWxpemUgdGhlIHBhY2thZ2UuCisgICAgICAgICoqKiAgICAgU2hvdWxkIGJlIGNhbGwgb25jZSBwZXIgcHJvY2Vzcy4KKyAgICAgICAgKiovCisKKyAgICAgICAgbG9ja2VkID0gIXB0aHJlYWRfbXV0ZXhfbG9jaygmZGxtdXRleCk7CisKKyAgICAgICAgaWYgKCEoZGxmbGFncyAmIElOSVRFRCkpIHsKKyAgICAgICAgICAgICAgICBkbGZsYWdzICY9IH5USFJFQURTOworCisgICAgICAgICAgICAgICAgaWYgKGxvY2tlZCkKKyAgICAgICAgICAgICAgICAgICAgICAgIGRsZmxhZ3MgfD0gVEhSRUFEUzsKKworICAgICAgICAgICAgICAgIFFwMHpJbml0RW52KCk7CisgICAgICAgICAgICAgICAgZGxkaXIgPSB4bWxIYXNoQ3JlYXRlKDE2KTsKKyAgICAgICAgICAgICAgICBkbGZsYWdzICY9IH5NVUxUSUJVRjsKKworICAgICAgICAgICAgICAgIGlmIChkbGZsYWdzICYgVEhSRUFEUykKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICghcHRocmVhZF9rZXlfY3JlYXRlKCZkbGtleSwgZGx0aHJlYWR0ZXJtKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGxmbGFncyB8PSBNVUxUSUJVRjsKKworICAgICAgICAgICAgICAgIGF0ZXhpdChkbHRlcm0pOworICAgICAgICAgICAgICAgIGRsZmxhZ3MgfD0gSU5JVEVEOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICBpZiAobG9ja2VkKQorICAgICAgICAgICAgICAgIHB0aHJlYWRfbXV0ZXhfdW5sb2NrKCZkbG11dGV4KTsKK30KKworCitzdGF0aWMgdm9pZAorZGx0aHJlYWRpbml0KHZvaWQpCisKK3sKKyAgICAgICAgZGx0c190ICogcDsKKworICAgICAgICBpZiAoIShkbGZsYWdzICYgSU5JVEVEKSkKKyAgICAgICAgICAgICAgICBkbGluaXQoKTsKKworICAgICAgICBpZiAoZGxmbGFncyAmIE1VTFRJQlVGKSB7CisgICAgICAgICAgICAgICAgcCA9IHB0aHJlYWRfZ2V0c3BlY2lmaWMoZGxrZXkpOworCisgICAgICAgICAgICAgICAgaWYgKCFwKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBwID0gKGRsdHNfdCAqKSBtYWxsb2Moc2l6ZW9mICpwKTsKKworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHApIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcC0+bG9ja2NvdW50ID0gMDsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcC0+aXNlcnJvciA9IDA7CisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHB0aHJlYWRfc2V0c3BlY2lmaWMoZGxrZXksIHApKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyZWUocCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9Cit9CisKKworc3RhdGljIHZvaWQKK2RsbG9jayh2b2lkKQorCit7CisgICAgICAgIGRsdHNfdCAqIHA7CisKKyAgICAgICAgaWYgKCEoZGxmbGFncyAmIFRIUkVBRFMpKQorICAgICAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBpZiAoZGxmbGFncyAmIE1VTFRJQlVGKSB7CisgICAgICAgICAgICAgICAgcCA9IHB0aHJlYWRfZ2V0c3BlY2lmaWMoZGxrZXkpOworCisgICAgICAgICAgICAgICAgaWYgKHAgJiYgcC0+bG9ja2NvdW50KSB7CisgICAgICAgICAgICAgICAgICAgICAgICBwLT5sb2NrY291bnQrKzsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBwID0gKGRsdHNfdCAqKSBOVUxMOworCisgICAgICAgIGlmIChwdGhyZWFkX211dGV4X2xvY2soJmRsbXV0ZXgpKQorICAgICAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBpZiAocCkKKyAgICAgICAgICAgICAgICBwLT5sb2NrY291bnQrKzsKK30KKworCitzdGF0aWMgdm9pZAorZGx1bmxvY2sodm9pZCkKKworeworICAgICAgICBkbHRzX3QgKiBwOworCisgICAgICAgIGlmICghKGRsZmxhZ3MgJiBUSFJFQURTKSkKKyAgICAgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgaWYgKGRsZmxhZ3MgJiBNVUxUSUJVRikgeworICAgICAgICAgICAgICAgIHAgPSBwdGhyZWFkX2dldHNwZWNpZmljKGRsa2V5KTsKKworICAgICAgICAgICAgICAgIGlmIChwICYmIHAtPmxvY2tjb3VudCA+IDEpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHAtPmxvY2tjb3VudC0tOworICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHAgPSAoZGx0c190ICopIE5VTEw7CisKKyAgICAgICAgaWYgKHB0aHJlYWRfbXV0ZXhfdW5sb2NrKCZkbG11dGV4KSkKKyAgICAgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgaWYgKHApCisgICAgICAgICAgICAgICAgcC0+bG9ja2NvdW50LS07Cit9CisKKworY29uc3QgY2hhciAqCitkbGVycm9yKHZvaWQpCisKK3sKKyAgICAgICAgZGx0c190ICogcDsKKworICAgICAgICBkbHRocmVhZGluaXQoKTsKKworICAgICAgICBpZiAoIShkbGZsYWdzICYgTVVMVElCVUYpKQorICAgICAgICAgICAgICAgIHAgPSAmc3RhdGljX2J1ZjsKKyAgICAgICAgZWxzZSBpZiAoIShwID0gKGRsdHNfdCAqKSBwdGhyZWFkX2dldHNwZWNpZmljKGRsa2V5KSkpCisgICAgICAgICAgICAgICAgcCA9ICZzdGF0aWNfYnVmOworCisgICAgICAgIGlmICghcC0+aXNlcnJvcikKKyAgICAgICAgICAgICAgICByZXR1cm4gKGNvbnN0IGNoYXIgKikgTlVMTDsKKworICAgICAgICBwLT5pc2Vycm9yID0gMDsKKyAgICAgICAgcmV0dXJuIHAtPnN0cjsKK30KKworCitzdGF0aWMgdm9pZAorZGxzZXRlcnJvcl9mcm9tX2Vycm5vKHVuc2lnbmVkIGludCBlcnJfbm8pCisKK3sKKyAgICAgICAgZGx0c190ICogcDsKKworICAgICAgICBpZiAoIShkbGZsYWdzICYgTVVMVElCVUYpKQorICAgICAgICAgICAgICAgIHAgPSAmc3RhdGljX2J1ZjsKKyAgICAgICAgZWxzZSBpZiAoIShwID0gKGRsdHNfdCAqKSBwdGhyZWFkX2dldHNwZWNpZmljKGRsa2V5KSkpCisgICAgICAgICAgICAgICAgcCA9ICZzdGF0aWNfYnVmOworCisgICAgICAgIHN0cmNweShwLT5zdHIsIHN0cmVycm9yKGVycl9ubykpOworICAgICAgICBwLT5pc2Vycm9yID0gMTsKK30KKworCitzdGF0aWMgdm9pZAorZGxzZXRlcnJvcl9mcm9tX2V4Y2VwdGlvbih2b2xhdGlsZSBfSU5UUlBUX0huZGxyX1Bhcm1zX1QgKiBleGNwKQorCit7CisgICAgICAgIGludCBpOworICAgICAgICBRbWhfUnR2bV9SVFZNMDMwMF90ICogaW1wOworICAgICAgICBjaGFyICogY3A7CisgICAgICAgIF9JTlRSUFRfSG5kbHJfUGFybXNfVCAqIHA7CisgICAgICAgIGRsdHNfdCAqIHE7CisgICAgICAgIGNoYXIgcnR2bWJ1ZlszMDAwMF07CisgICAgICAgIFF1c19FQ190IGVycmluZm87CisKKyAgICAgICAgcCA9IChfSU5UUlBUX0huZGxyX1Bhcm1zX1QgKikgZXhjcDsKKyAgICAgICAgZXJyaW5mby5CeXRlc19Qcm92aWRlZCA9IDA7ICAgICAgICAgICAgIC8qIEV4Y2VwdGlvbiBvbiBlcnJvci4gKi8KKyAgICAgICAgUU1IUlRWTShydHZtYnVmLCBzaXplb2YgcnR2bWJ1ZiwgIlJUVk0wMzAwIiwgcC0+TXNnX0lkLAorICAgICAgICAgICAgIlFDUEZNU0cgICBRU1lTICAgICAgIiwgcC0+RXhfRGF0YSwgcC0+TXNnX0RhdGFfTGVuLAorICAgICAgICAgICAgIipZRVMgICAgICAiLCAiKk5PICAgICAgICIsICZlcnJpbmZvKTsKKyAgICAgICAgaW1wID0gb2Zmc2V0X2J5KFFtaF9SdHZtX1JUVk0wMzAwX3QsIHJ0dm1idWYsIDApOworCisgICAgICAgIGlmICghKGRsZmxhZ3MgJiBNVUxUSUJVRikpCisgICAgICAgICAgICAgICAgcSA9ICZzdGF0aWNfYnVmOworICAgICAgICBlbHNlIGlmICghKHEgPSAoZGx0c190ICopIHB0aHJlYWRfZ2V0c3BlY2lmaWMoZGxrZXkpKSkKKyAgICAgICAgICAgICAgICBxID0gJnN0YXRpY19idWY7CisKKyAgICAgICAgaWYgKGkgPSBpbXAtPkxlbmd0aF9NZXNzYWdlX1JldHVybmVkKQorICAgICAgICAgICAgICAgIGNwID0gb2Zmc2V0X2J5KGNoYXIsIGltcCwgaW1wLT5PZmZzZXRfTWVzc2FnZV9SZXR1cm5lZCk7CisgICAgICAgIGVsc2UgaWYgKGkgPSBpbXAtPkxlbmd0aF9IZWxwX1JldHVybmVkKQorICAgICAgICAgICAgICAgIGNwID0gb2Zmc2V0X2J5KGNoYXIsIGltcCwgaW1wLT5PZmZzZXRfSGVscF9SZXR1cm5lZCk7CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAgIHEtPmlzZXJyb3IgPSAwOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgcS0+aXNlcnJvciA9IDE7CisKKyAgICAgICAgaWYgKGkgPiBzaXplb2YgcS0+c3RyIC0gMSkKKyAgICAgICAgICAgICAgICBpID0gc2l6ZW9mIHEtPnN0ciAtIDE7CisKKyAgICAgICAgbWVtY3B5KHEtPnN0ciwgY3AsIGkpOworICAgICAgICBxLT5zdHJbaV0gPSAnXDAnOworfQorCisKK3N0YXRpYyBpbnQKK2RscGFyZW50cGF0aChjb25zdCBjaGFyICogcGF0aCwgc2l6ZV90IGxlbikKKworeworICAgICAgICBpZiAobGVuIDw9IDEpCisgICAgICAgICAgICAgICAgcmV0dXJuIGxlbjsKKworICAgICAgICB3aGlsZSAocGF0aFstLWxlbl0gIT0gJy8nKQorICAgICAgICAgICAgICAgIDsKKworICAgICAgICByZXR1cm4gbGVuPyBsZW46IDE7Cit9CisKKworc3RhdGljIGludAorZGxtYWtlcGF0aChjaGFyICogcGF0aCwgc2l6ZV90IHBhdGhsZW4sIGNvbnN0IGNoYXIgKiB0YWlsLCBzaXplX3QgdGFpbGxlbikKKworeworICAgICAgICBpbnQgaTsKKworICAgICAgICBpZiAodGFpbGxlbiAmJiB0YWlsWzBdID09ICcvJykKKyAgICAgICAgICAgICAgICBwYXRobGVuID0gMDsKKworICAgICAgICBmb3IgKDs7KSB7CisgICAgICAgICAgICAgICAgd2hpbGUgKHRhaWxsZW4gJiYgKnRhaWwgPT0gJy8nKSB7CisgICAgICAgICAgICAgICAgICAgICAgICB0YWlsKys7CisgICAgICAgICAgICAgICAgICAgICAgICB0YWlsbGVuLS07CisgICAgICAgICAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBpZiAoIXRhaWxsZW4pCisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKworICAgICAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCB0YWlsbGVuOyBpKyspCisgICAgICAgICAgICAgICAgICAgICAgICBpZiAodGFpbFtpXSA9PSAnLycpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAgICAgICAgaWYgKCp0YWlsID09ICcuJykKKyAgICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoaSkgeworCisgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDI6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0YWlsWzFdICE9ICcuJykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aGxlbiA9IGRscGFyZW50cGF0aChwYXRoLCBwYXRobGVuKTsKKworICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAxOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWlsICs9IGk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhaWxsZW4gLT0gaTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGlmIChwYXRobGVuICsgaSArIDEgPj0gTUFYUEFUSExFTikgeworICAgICAgICAgICAgICAgICAgICAgICAgZXJybm8gPSBFTkFNRVRPT0xPTkc7CisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBwYXRoW3BhdGhsZW4rK10gPSAnLyc7CisgICAgICAgICAgICAgICAgbWVtY3B5KHBhdGggKyBwYXRobGVuLCB0YWlsLCBpKTsKKyAgICAgICAgICAgICAgICBwYXRobGVuICs9IGk7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgIGlmICghcGF0aGxlbikKKyAgICAgICAgICAgICAgICBwYXRoW3BhdGhsZW4rK10gPSAnLyc7CisKKyAgICAgICAgcGF0aFtwYXRobGVuXSA9ICdcMCc7CisgICAgICAgIHJldHVybiBwYXRobGVuOworfQorCisKK3N0YXRpYyBpbnQKK2RscmVzb2x2ZUxpbmsoY29uc3QgY2hhciAqIHBhdGgsIGNoYXIgKiBidWYsIHNpemVfdCBidWZzaXopCisKK3sKKyAgICAgICAgaW50IG47CisgICAgICAgIGludCBsMTsKKyAgICAgICAgaW50IGwyOworICAgICAgICBzdHJ1Y3Qgc3RhdCBzYnVmOworICAgICAgICBjaGFyIGJ1ZjFbTUFYUEFUSExFTiArIDFdOworICAgICAgICBjaGFyIGJ1ZjJbTUFYUEFUSExFTiArIDFdOworCisgICAgICAgIC8qKgorICAgICAgICAqKiogICAgIFJlc29sdmUgc3ltYm9saWMgbGluayB0byBJRlMgb2JqZWN0IG5hbWUuCisgICAgICAgICoqLworCisgICAgICAgIGlmICghYnVmKSB7CisgICAgICAgICAgICAgICAgZXJybm8gPSBFRkFVTFQ7CisgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICBpZiAoIXBhdGggfHwgISpwYXRoIHx8ICFidWZzaXopIHsKKyAgICAgICAgICAgICAgICBlcnJubyA9IEVJTlZBTDsKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgIGlmICgqcGF0aCAhPSAnLycpIHsKKyAgICAgICAgICAgICAgICBpZiAoIWdldGN3ZChidWYxLCBzaXplb2YgYnVmMSkpCisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisKKyAgICAgICAgICAgICAgICBsMSA9IHN0cmxlbihidWYxKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBsMSA9IDA7CisKKyAgICAgICAgbDEgPSBkbG1ha2VwYXRoKGJ1ZjEsIGwxLCBwYXRoLCBzdHJsZW4ocGF0aCkpOworICAgICAgICBuID0gMDsKKworICAgICAgICBmb3IgKDs7KSB7CisgICAgICAgICAgICAgICAgaWYgKGwxIDwgMCkKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKworICAgICAgICAgICAgICAgIGlmIChuKysgPj0gMjU2KSB7CisgICAgICAgICAgICAgICAgICAgICAgICBlcnJubyA9IEVMT09QOworICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgaWYgKGxzdGF0KGJ1ZjEsICZzYnVmKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVycm5vID09IEVOT0VOVCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGlmICghU19JU0xOSyhzYnVmLnN0X21vZGUpKQorICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICAgICAgICBpZiAoc2J1Zi5zdF9zaXplID4gTUFYUEFUSExFTikgeworICAgICAgICAgICAgICAgICAgICAgICAgZXJybm8gPSBFTkFNRVRPT0xPTkc7CisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBsMiA9IHJlYWRsaW5rKGJ1ZjEsIGJ1ZjIsIE1BWFBBVEhMRU4gKyAxKTsKKworICAgICAgICAgICAgICAgIGlmIChsMiA8IDApCisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisKKyAgICAgICAgICAgICAgICBpZiAoYnVmMlswXSAhPSAnLycpCisgICAgICAgICAgICAgICAgICAgICAgICBsMSA9IGRscGFyZW50cGF0aChidWYxLCBsMSk7CisKKyAgICAgICAgICAgICAgICBsMSA9IGRsbWFrZXBhdGgoYnVmMSwgbDEsIGJ1ZjIsIGwyKTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgaWYgKGwxID49IGJ1ZnNpeikgeworICAgICAgICAgICAgICAgIGVycm5vID0gRU5BTUVUT09MT05HOworICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgbWVtY3B5KGJ1ZiwgYnVmMSwgbDEgKyAxKTsKKyAgICAgICAgcmV0dXJuIGwxOworfQorCisKK3N0YXRpYyBpbnQKK2RsR2V0T2JqZWN0TmFtZShRcDBsX1FTWVNfSW5mb190ICogcXN5c2luZm8sIGNvbnN0IGNoYXIgKiBkaXIsCisgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZGlybGVuLCBjb25zdCBjaGFyICogbGluaykKKworeworICAgICAgICBpbnQgbjsKKyAgICAgICAgY2hhciAqIG5hbWVidWY7CisgICAgICAgIFFsZ19QYXRoX05hbWVfVCAqIHFwdHA7CisgICAgICAgIGNoYXIgcGF0aGJ1ZltzaXplb2YoUWxnX1BhdGhfTmFtZV9UKSArIF9RUDBMX0RJUl9OQU1FX0xHICsgNF07CisgICAgICAgIFF1c19FQ190IGVycmluZm87CisgICAgICAgIHN0cnVjdCBzdGF0IHNidWY7CisKKyAgICAgICAgLyoqCisgICAgICAgICoqKiAgICAgR2V0IFFTWVMgb2JqZWN0IGxpYnJhcnkvbmFtZS9tZW1iZXIgYW5kIHR5cGUgY29ycmVzcG9uZGluZyB0bworICAgICAgICAqKiogICAgICAgICAgICAgdGhlIHN5bWJvbGljIGBsaW5rJyBpbiBkaXJlY3RvcnkgYGRpcicuCisgICAgICAgICoqLworCisgICAgICAgIGlmICghcXN5c2luZm8pIHsKKyAgICAgICAgICAgICAgICBlcnJubyA9IEVGQVVMVDsKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgIGlmICghZGlyICYmICFsaW5rKSB7CisgICAgICAgICAgICAgICAgZXJybm8gPSBFSU5WQUw7CisgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICBxcHRwID0gKFFsZ19QYXRoX05hbWVfVCAqKSBwYXRoYnVmOworICAgICAgICBuYW1lYnVmID0gcGF0aGJ1ZiArIHNpemVvZihRbGdfUGF0aF9OYW1lX1QpOworICAgICAgICBuID0gMDsKKworICAgICAgICAvKioKKyAgICAgICAgKioqICAgICBCdWlsZCBmdWxsIHBhdGguCisgICAgICAgICoqLworCisgICAgICAgIGlmIChkaXIpIHsKKyAgICAgICAgICAgICAgICBpZiAoZGlybGVuIDwgMCB8fCBkaXJsZW4gPiBfUVAwTF9ESVJfTkFNRV9MRyArIDQpCisgICAgICAgICAgICAgICAgICAgICAgICBkaXJsZW4gPSBfUVAwTF9ESVJfTkFNRV9MRyArIDQ7CisKKyAgICAgICAgICAgICAgICB3aGlsZSAoKmRpciAmJiBuIDwgZGlybGVuKQorICAgICAgICAgICAgICAgICAgICAgICAgbmFtZWJ1ZltuKytdID0gKmRpcisrOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICBpZiAobiAmJiBuYW1lYnVmW24gLSAxXSA9PSAnLycpCisgICAgICAgICAgICAgICAgbi0tOworCisgICAgICAgIGlmIChsaW5rKSB7CisgICAgICAgICAgICAgICAgaWYgKCpsaW5rICYmICpsaW5rICE9ICcvJyAmJiBuIDwgX1FQMExfRElSX05BTUVfTEcgKyA0KQorICAgICAgICAgICAgICAgICAgICAgICAgbmFtZWJ1ZltuKytdID0gJy8nOworCisgICAgICAgICAgICAgICAgd2hpbGUgKCpsaW5rICYmIG4gPCBfUVAwTF9ESVJfTkFNRV9MRyArIDQpCisgICAgICAgICAgICAgICAgICAgICAgICBuYW1lYnVmW24rK10gPSAqbGluaysrOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICBpZiAoIW4gfHwgbiA+IF9RUDBMX0RJUl9OQU1FX0xHKSB7CisgICAgICAgICAgICAgICAgZXJybm8gPSBFTkFNRVRPT0xPTkc7CisgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICBuYW1lYnVmW25dID0gJ1wwJzsKKyAgICAgICAgbiA9IGRscmVzb2x2ZUxpbmsobmFtZWJ1ZiwgbmFtZWJ1ZiwgX1FQMExfRElSX05BTUVfTEcgKyAxKTsKKworICAgICAgICBpZiAobiA9PSAtMSkKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisKKyAgICAgICAgaWYgKHN0YXQobmFtZWJ1ZiwgJnNidWYpKQorICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKworICAgICAgICBtZW1zZXQoKGNoYXIgKikgcXB0cCwgMCwgc2l6ZW9mICpxcHRwKTsKKyAgICAgICAgcXB0cC0+UGF0aF9MZW5ndGggPSBuOworICAgICAgICBxcHRwLT5QYXRoX05hbWVfRGVsaW1pdGVyWzBdID0gJy8nOworICAgICAgICBlcnJpbmZvLkJ5dGVzX1Byb3ZpZGVkID0gc2l6ZW9mIGVycmluZm87CisgICAgICAgIFFwMGxDdnRQYXRoVG9RU1lTT2JqTmFtZShxcHRwLCBxc3lzaW5mbywgIlFTWVMwMTAwIiwgc2l6ZW9mICpxc3lzaW5mbywKKyAgICAgICAgICAgIDAsICZlcnJpbmZvKTsKKyAgICAgICAgcmV0dXJuIGVycmluZm8uQnl0ZXNfQXZhaWxhYmxlPyAtMTogMDsKK30KKworCitzdGF0aWMgY29uc3QgY2hhciAqCitnZXRjb21wb25lbnQoY2hhciAqIGRzdCwgY29uc3QgY2hhciAqIHNyYykKKworeworICAgICAgICBpbnQgaTsKKworICAgICAgICAvKioKKyAgICAgICAgKioqICAgICBHZXQgYSBwYXRoIGNvbXBvbmVudCBvZiBhdCBtb3N0IDEwIGNoYXJhY3RlcnMgYW5kCisgICAgICAgICoqKiAgICAgICAgICAgICBtYXAgaXQgdG8gdXBwZXIgY2FzZS4KKyAgICAgICAgKioqICAgICBSZXR1cm4gdGhlIGFkZHJlc3Mgb2YgdGhlIG5leHQgZGVsaW1pdGVyIGluIHNvdXJjZS4KKyAgICAgICAgKiovCisKKyAgICAgICAgZm9yIChpID0gMDs7IHNyYysrKSB7CisgICAgICAgICAgICAgICAgaWYgKCEqc3JjIHx8ICpzcmMgPT0gJyAnIHx8ICpzcmMgPT0gJy8nKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAqZHN0ID0gJ1wwJzsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBzcmM7CisgICAgICAgICAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBpZiAoaSA8IDEwKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAqZHN0KysgPSB0b3VwcGVyKCpzcmMpOworICAgICAgICAgICAgICAgICAgICAgICAgaSsrOworICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KK30KKworCitzdGF0aWMgaW50CitkbHBhdGgyUVNZUyhRcDBsX1FTWVNfSW5mb190ICogcXN5c2luZm8sIGNvbnN0IGNoYXIgKiBwYXRoLCBjb25zdCBjaGFyICogZGZ0bGliKQorCit7CisgICAgICAgIHVuc2lnbmVkIGludCBmbGFnczsKKyAgICAgICAgY2hhciAqIGNwOworCisgICAgICAgIC8qKgorICAgICAgICAqKiogICAgIENvbnZlcnQgdGhlIGdpdmVuIHBhdGggdG8gYSBRU1lTIG9iamVjdCBuYW1lLgorICAgICAgICAqKiogICAgIFN5bnRheCBydWxlcyBmb3IgcGF0aHMgYXJlOgorICAgICAgICAqKioKKyAgICAgICAgKioqICAgICAnLycrIFsgPGxpYnJhcnk+IFsgICcvJysgPGZpbGU+IFsgJy8nKyA8bWVtYmVyPiBdIF0gJy8nKiBdCisgICAgICAgICoqKiAgICAgPGxpYnJhcnk+ICcvJysgPGZpbGU+IFsgJy8nKyA8bWVtYmVyPiBdICcvJyoKKyAgICAgICAgKioqICAgICA8ZmlsZT4gJy8nKgorICAgICAgICAqKioKKyAgICAgICAgKioqICAgICBJZiBkZWZhdWx0IGxpYnJhcnkgaXMgbm90IGdpdmVuLCAqTElCTCBpcyBhc3N1bWVkLgorICAgICAgICAqKiogICAgIENvbXBvbmVudHMgbWF5IG5vIGNvbnRhaW4gc3BhY2VzLiBUaGV5IGFyZSB0cmFuc2xhdGVkIHRvCisgICAgICAgICoqKiAgICAgICAgICAgICB1cHBlcmNhc2UuIE9ubHkgdGhlIGZpcnN0IDEwIGNoYXJhY3RlcnMgYXJlIHNpZ25pZmljYW50LgorICAgICAgICAqKiogICAgIFRoZXJlIGlzIG5vIGNoZWNrIGZvciB0aGUgdmFsaWRpdHkgb2YgdGhlIGdpdmVuIGNvbXBvbmVudHMgYW5kCisgICAgICAgICoqKiAgICAgICAgICAgICBmb3IgdGhlIG9iamVjdCBleGlzdGVuY2UuCisgICAgICAgICoqKiAgICAgQ29tcG9uZW50IHR5cGVzIGFyZSBub3QgaW4gdGhlIHBhdGgsIGJ1dCBnZW5lcmF0ZWQgaW50ZXJuYWxseS4KKyAgICAgICAgKioqICAgICBDQ1NJRCBpcyBub3QgcHJvY2Vzc2VkLgorICAgICAgICAqKioKKyAgICAgICAgKioqICAgICBSZXR1cm4gMCB1cG9uIHN1Y2Nlc3MsIGVsc2UgLTEuCisgICAgICAgICoqLworCisgICAgICAgIGlmICghcXN5c2luZm8gfHwgIXBhdGgpIHsKKyAgICAgICAgICAgICAgICBlcnJubyA9IEVGQVVMVDsKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgIC8qKgorICAgICAgICAqKiogICAgIFN0cmlwIGxlYWRpbmcgc3BhY2VzLgorICAgICAgICAqKi8KKworICAgICAgICB3aGlsZSAoKnBhdGggPT0gJyAnKQorICAgICAgICAgICAgICAgIHBhdGgrKzsKKworICAgICAgICAvKioKKyAgICAgICAgKioqICAgICBDaGVjayBmb3IgbnVsbCBwYXRoLgorICAgICAgICAqKi8KKworICAgICAgICBpZiAoISpwYXRoKSB7CisgICAgICAgICAgICAgICAgZXJybm8gPSBFSU5WQUw7CisgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAvKioKKyAgICAgICAgKioqICAgICBQcmVzZXQgdGhlIHJlc3VsdCBzdHJ1Y3R1cmUuCisgICAgICAgICoqLworCisgICAgICAgIG1lbXNldCgoY2hhciAqKSBxc3lzaW5mbywgMCwgc2l6ZW9mICpxc3lzaW5mbyk7CisKKyAgICAgICAgLyoqCisgICAgICAgICoqKiAgICAgRGV0ZXJtaW5lIHRoZSBmb3JtYXQuCisgICAgICAgICoqLworCisgICAgICAgIGlmICgqcGF0aCA9PSAnLycpIHsKKyAgICAgICAgICAgICAgICAvKioKKyAgICAgICAgICAgICAgICAqKiogICAgIExpYnJhcnkgY29tcG9uZW50IHByZXNlbnQuCisgICAgICAgICAgICAgICAgKiovCisKKyAgICAgICAgICAgICAgICB3aGlsZSAoKisrcGF0aCA9PSAnLycpCisgICAgICAgICAgICAgICAgICAgICAgICA7CisKKyAgICAgICAgICAgICAgICBpZiAoISpwYXRoIHx8ICpwYXRoID09ICcgJykKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0cmNweShxc3lzaW5mby0+TGliX05hbWUsICJRU1lTIik7CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAgcGF0aCA9IGdldGNvbXBvbmVudChxc3lzaW5mby0+TGliX05hbWUsIHBhdGgpOworCisgICAgICAgICAgICAgICAgLyoqCisgICAgICAgICAgICAgICAgKioqICAgICBDaGVjayBmb3IgZmlsZSBjb21wb25lbnQgYW5kIGdldCBpdC4KKyAgICAgICAgICAgICAgICAqKi8KKworICAgICAgICAgICAgICAgIGlmICgqcGF0aCA9PSAnLycpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHdoaWxlICgqKytwYXRoID09ICcvJykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOworCisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKnBhdGggJiYgKnBhdGggIT0gJyAnKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoID0gZ2V0Y29tcG9uZW50KHFzeXNpbmZvLT5PYmpfTmFtZSwgcGF0aCk7CisgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgICAvKioKKyAgICAgICAgICAgICAgICAqKiogICAgIFRoZSBtYW5kYXRvcnkgY29tcG9uZW50IGlzIHRoZSA8ZmlsZT4uCisgICAgICAgICAgICAgICAgKiovCisKKyAgICAgICAgICAgICAgICBwYXRoID0gZ2V0Y29tcG9uZW50KHFzeXNpbmZvLT5PYmpfTmFtZSwgcGF0aCk7CisKKyAgICAgICAgICAgICAgICB3aGlsZSAoKnBhdGggPT0gJy8nKQorICAgICAgICAgICAgICAgICAgICAgICAgcGF0aCsrOworCisgICAgICAgICAgICAgICAgLyoqCisgICAgICAgICAgICAgICAgKioqICAgICBJZiB0aGVyZSBpcyBhIHNlY29uZCBjb21wb25lbnQsIG1vdmUgdGhlIGZpcnN0IHRvCisgICAgICAgICAgICAgICAgKioqICAgICAgICAgICAgIHRoZSBsaWJyYXJ5IG5hbWUgYW5kIHBhcnNlIHRoZSBmaWxlIG5hbWUuCisgICAgICAgICAgICAgICAgKiovCisKKyAgICAgICAgICAgICAgICBpZiAoKnBhdGggJiYgKnBhdGggIT0gJyAnKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBzdHJjcHkocXN5c2luZm8tPkxpYl9OYW1lLCBxc3lzaW5mby0+T2JqX05hbWUpOworICAgICAgICAgICAgICAgICAgICAgICAgbWVtc2V0KHFzeXNpbmZvLT5PYmpfTmFtZSwgMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YgcXN5c2luZm8tPk9ial9OYW1lKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHBhdGggPSBnZXRjb21wb25lbnQocXN5c2luZm8tPk9ial9OYW1lLCBwYXRoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgICAgICBzdHJjcHkocXN5c2luZm8tPkxpYl9OYW1lLCBkZnRsaWI/IGRmdGxpYjogIipMSUJMIik7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgIC8qKgorICAgICAgICAqKiogICAgIENoZWNrIGFuZCBzZXQtdXAgbWVtYmVyLgorICAgICAgICAqKi8KKworICAgICAgICB3aGlsZSAoKnBhdGggPT0gJy8nKQorICAgICAgICAgICAgICAgIHBhdGgrKzsKKworICAgICAgICBpZiAoKnBhdGggJiYgKnBhdGggIT0gJyAnKSB7CisgICAgICAgICAgICAgICAgcGF0aCA9IGdldGNvbXBvbmVudChxc3lzaW5mby0+TWJyX05hbWUsIHBhdGgpOworICAgICAgICAgICAgICAgIHN0cmNweShxc3lzaW5mby0+TWJyX1R5cGUsICIqTUJSIik7CisKKyAgICAgICAgICAgICAgICB3aGlsZSAoKnBhdGggPT0gJy8nKQorICAgICAgICAgICAgICAgICAgICAgICAgcGF0aCsrOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICBzdHJjcHkocXN5c2luZm8tPkxpYl9UeXBlLCAiKkxJQiIpOworCisgICAgICAgIGlmIChxc3lzaW5mby0+T2JqX05hbWVbMF0pCisgICAgICAgICAgICAgICAgc3RyY3B5KHFzeXNpbmZvLT5PYmpfVHlwZSwgIipGSUxFIik7CisKKyAgICAgICAgcXN5c2luZm8tPkJ5dGVzX1JldHVybmVkID0gc2l6ZW9mICpxc3lzaW5mbzsKKyAgICAgICAgcXN5c2luZm8tPkJ5dGVzX0F2YWlsYWJsZSA9IHNpemVvZiAqcXN5c2luZm87CisKKyAgICAgICAgLyoqCisgICAgICAgICoqKiAgICAgU3RyaXAgdHJhaWxpbmcgc3BhY2VzLgorICAgICAgICAqKi8KKworICAgICAgICB3aGlsZSAoKnBhdGggPT0gJyAnKQorICAgICAgICAgICAgICAgIHBhdGgrKzsKKworICAgICAgICBpZiAoKnBhdGgpIHsKKyAgICAgICAgICAgICAgICBlcnJubyA9IEVJTlZBTDsKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgIHJldHVybiAwOworfQorCisKK3N0YXRpYyBpbnQKK2RsX2lmc19saW5rKFFwMGxfUVNZU19JbmZvX3QgKiBxc3lzaW5mbywgY29uc3QgY2hhciAqIHBhdGhuYW1lKQorCit7CisgICAgICAgIC8qKgorICAgICAgICAqKiogICAgIElmIGBwYXRobmFtZScgaXMgYSBsaW5rIGZvdW5kIGluIElGUywgc2V0IGBxc3lzaW5mbycgdG8gaXRzCisgICAgICAgICoqKiAgICAgICAgICAgICBEQjIgbmFtZS4KKyAgICAgICAgKioqICAgICBSZXR1cm4gMCBpZiBPSywgZWxzZSAtMS4KKyAgICAgICAgKiovCisKKyAgICAgICAgcmV0dXJuIGRsR2V0T2JqZWN0TmFtZShxc3lzaW5mbywgKGNvbnN0IGNoYXIgKikgTlVMTCwgMCwgcGF0aG5hbWUpOworfQorCisKK3N0YXRpYyBpbnQKK2RsX3BhdGhfbGluayhRcDBsX1FTWVNfSW5mb190ICogcXN5c2luZm8sIGNvbnN0IGNoYXIgKiBwYXRodmFyLAorICAgICAgICBjb25zdCBjaGFyICogZmlsZW5hbWUsIGludCAoKiB0ZXN0cHJvYykoY29uc3QgUXAwbF9RU1lTX0luZm9fdCAqKSkKKworeworICAgICAgICBjb25zdCBjaGFyICogcDsKKyAgICAgICAgY29uc3QgY2hhciAqIHE7CisgICAgICAgIHVuc2lnbmVkIGludCBpOworICAgICAgICBjb25zdCBjaGFyICogcGF0aDsKKworICAgICAgICAvKioKKyAgICAgICAgKioqICAgICBJZiBgZmlsZW5hbWUnIGlzIG5vdCBhIHBhdGggYW5kIGlzIGEgbGluayBmb3VuZCBpbiBvbmUgb2YgdGhlCisgICAgICAgICoqKiAgICAgICAgICAgICBjb2xvbi1zZXBhcmF0ZWQgcGF0aHMgaW4gZW52aXJvbm1lbnQgdmFyaWFibGUgYHBhdGh2YXInLAorICAgICAgICAqKiogICAgICAgICAgICAgc2V0IGBxc3lzaW5mbycgdG8gaXRzIERCMiBuYW1lLgorICAgICAgICAqKiogICAgIFJldHVybiAwIGlmIE9LLCBlbHNlIC0xLgorICAgICAgICAqKi8KKworICAgICAgICBpID0gX1FQMExfRElSX05BTUVfTEc7CisKKyAgICAgICAgZm9yIChwID0gZmlsZW5hbWU7ICpwOyBwKyspCisgICAgICAgICAgICAgICAgaWYgKCpwID09ICcvJyB8fCAhLS1pKQorICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC0xOyAgICAgICAgICAgICAgLyogVG9vIGxvbmcgb3IgYSBwYXRoLiAqLworCisgICAgICAgIC8qKgorICAgICAgICAqKiogICAgIE1ha2Ugc3VyZSB3ZSBoYXZlIHRoZSBMRF9MSUJSQVJZX1BBVEggZW52aXJvbm1lbnQKKyAgICAgICAgKioqICAgICAgICAgICAgIHZhcmlhYmxlIHZhbHVlLgorICAgICAgICAqKi8KKworICAgICAgICBwYXRoID0gZ2V0ZW52KHBhdGh2YXIpOworCisgICAgICAgIGlmICghcGF0aCkKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7ICAgICAgICAgICAgICAgICAgICAgIC8qIE5vIHBhdGggbGlzdC4gKi8KKworICAgICAgICAvKioKKyAgICAgICAgKioqICAgICBUcnkgaW4gZWFjaCBwYXRoIGxpc3RlZC4KKyAgICAgICAgKiovCisKKyAgICAgICAgcSA9IHBhdGg7CisKKyAgICAgICAgaWYgKCEqcSkKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7ICAgICAgICAgICAgICAgICAgICAgIC8qIE5vIHBhdGggbGlzdC4gKi8KKworICAgICAgICBmb3IgKDs7KSB7CisgICAgICAgICAgICAgICAgZm9yIChwID0gcTsgKnAgJiYgKnAgIT0gJzonOyBwKyspCisgICAgICAgICAgICAgICAgICAgICAgICA7CisKKyAgICAgICAgICAgICAgICBpZiAocCA+IHEpICAgICAgICAgICAgICAgICAgICAgIC8qIElnbm9yZSBudWxsIHBhdGguICovCisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWRsR2V0T2JqZWN0TmFtZShxc3lzaW5mbywgcSwgcCAtIHEsIGZpbGVuYW1lKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0ZXN0cHJvYyB8fCAoKnRlc3Rwcm9jKShxc3lzaW5mbykpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7ICAgICAgIC8qIEZvdW5kOiByZXR1cm4uICovCisKKyAgICAgICAgICAgICAgICBpZiAoISpwKQorICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICAgICAgICBxID0gcCArIDE7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgIGVycm5vID0gRU5PRU5UOworICAgICAgICByZXR1cm4gLTE7Cit9CisKKworc3RhdGljIGludAorZGxfREIyX3BhdGgoUXAwbF9RU1lTX0luZm9fdCAqIHFzeXNpbmZvLCBjb25zdCBjaGFyICogcGF0aG5hbWUpCisKK3sKKyAgICAgICAgaWYgKGRscGF0aDJRU1lTKHFzeXNpbmZvLCBwYXRobmFtZSwgKGNvbnN0IGNoYXIgKikgTlVMTCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworCisgICAgICAgIGlmIChxc3lzaW5mby0+TWJyX1R5cGVbMF0pCisgICAgICAgICAgICAgICAgcmV0dXJuIC0xOyAgICAgIC8qIFNlcnZpY2UgcHJvZ3JhbSBtYXkgbm90IGhhdmUgbWVtYmVycy4gKi8KKworICAgICAgICBpZiAoIXFzeXNpbmZvLT5PYmpfVHlwZVswXSkKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7ICAgICAgLyogT2JqZWN0IG11c3QgYmUgc3BlY2lmaWVkLiAqLworCisgICAgICAgIHN0cmNweShxc3lzaW5mby0+T2JqX1R5cGUsICIqU1JWUEdNIik7ICAvKiBTZXQgb3VyIG9iamVjdCB0eXBlLiAqLworICAgICAgICByZXR1cm4gMDsKK30KKworCitzdGF0aWMgaW50CitkbF9EQjJfbmFtZShjaGFyICogZHN0LCBjb25zdCBjaGFyICogbmFtZSkKKworeworICAgICAgICBpbnQgaTsKKworICAgICAgICBmb3IgKGkgPSAwOyBpIDwgMTA7IGkrKykgeworICAgICAgICAgICAgICAgIHN3aXRjaCAoKm5hbWUpIHsKKworICAgICAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWlzbG93ZXIoKm5hbWUpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKworICAgICAgICAgICAgICAgIGNhc2UgJ1wwJzoKKyAgICAgICAgICAgICAgICBjYXNlICcvJzoKKyAgICAgICAgICAgICAgICBjYXNlICcgJzoKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgICpkc3QrKyA9ICpuYW1lKys7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgIGlmICghaSkKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisKKyAgICAgICAgKmRzdCA9ICdcMCc7CisgICAgICAgIHJldHVybiAwOworfQorCisKK3N0YXRpYyBpbnQKK2RsX3F1YWxpZmllZF9vYmplY3QoUXAwbF9RU1lTX0luZm9fdCAqIHFzeXNpbmZvLCBjb25zdCBjaGFyICogcGF0aG5hbWUpCisKK3sKKyAgICAgICAgbWVtc2V0KChjaGFyICopIHFzeXNpbmZvLCAwLCBzaXplb2YgKnFzeXNpbmZvKTsKKworICAgICAgICBpZiAoZGxfREIyX25hbWUocXN5c2luZm8tPk9ial9OYW1lLCBwYXRobmFtZSkgfHwKKyAgICAgICAgICAgIGRsX0RCMl9uYW1lKHFzeXNpbmZvLT5MaWJfTmFtZSwgcGF0aG5hbWUgKyAxMCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworCisgICAgICAgIHN0cmNweShxc3lzaW5mby0+TGliX1R5cGUsICIqTElCIik7CisgICAgICAgIHN0cmNweShxc3lzaW5mby0+T2JqX1R5cGUsICIqU1JWUEdNIik7CisgICAgICAgIHJldHVybiAwOworfQorCisKK3N0YXRpYyBpbnQKK2RsX2xpYl9vYmplY3QoUXAwbF9RU1lTX0luZm9fdCAqIHFzeXNpbmZvLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICogbGlibmFtZSwgY29uc3QgY2hhciAqIHBhdGhuYW1lKQorCit7CisgICAgICAgIGludCBpOworICAgICAgICBjaGFyICogY3A7CisKKyAgICAgICAgc3RyY3B5KHFzeXNpbmZvLT5MaWJfTmFtZSwgbGlibmFtZSk7CisgICAgICAgIHN0cmNweShxc3lzaW5mby0+TGliX1R5cGUsICIqTElCIik7CisgICAgICAgIHN0cmNweShxc3lzaW5mby0+T2JqX1R5cGUsICIqU1JWUEdNIik7CisgICAgICAgIGNwID0gcXN5c2luZm8tPk9ial9OYW1lOworCisgICAgICAgIHdoaWxlICgqcGF0aG5hbWUgPT0gJyAnKQorICAgICAgICAgICAgICAgIHBhdGhuYW1lKys7CisKKyAgICAgICAgZm9yIChpID0gMDs7IHBhdGhuYW1lKyspIHsKKyAgICAgICAgICAgICAgICBzd2l0Y2ggKCpwYXRobmFtZSkgeworCisgICAgICAgICAgICAgICAgY2FzZSAnXDAnOgorICAgICAgICAgICAgICAgIGNhc2UgJyAnOgorICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICAgICAgICBjYXNlICcvJzoKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKworICAgICAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaSA8IDEwKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqY3ArKyA9IHRvdXBwZXIoKnBhdGhuYW1lKTsKKworICAgICAgICAgICAgICAgICAgICAgICAgaSsrOworICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgd2hpbGUgKCpwYXRobmFtZSA9PSAnICcpCisgICAgICAgICAgICAgICAgcGF0aG5hbWUrKzsKKworICAgICAgICBpZiAoIWkgfHwgKnBhdGhuYW1lKQorICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKworICAgICAgICAqY3AgPSAnXDAnOworICAgICAgICByZXR1cm4gMDsKK30KKworCitzdGF0aWMgaW50CitkbF9pc19zcnZwZ20oY29uc3QgUXAwbF9RU1lTX0luZm9fdCAqIHFzeXNpbmZvKQorCit7CisgICAgICAgIHN0cnVjdCBzdGF0IHNidWY7CisgICAgICAgIGNoYXIgbmFtZWJ1ZlsxMDBdOworCisgICAgICAgIGlmICghcXN5c2luZm8tPkxpYl9OYW1lWzBdIHx8IHN0cmNtcChxc3lzaW5mby0+TGliX1R5cGUsICIqTElCIikgfHwKKyAgICAgICAgICAgICFxc3lzaW5mby0+T2JqX05hbWVbMF0gfHwgc3RyY21wKHFzeXNpbmZvLT5PYmpfVHlwZSwgIipTUlZQR00iKSB8fAorICAgICAgICAgICAgcXN5c2luZm8tPk1icl9OYW1lWzBdIHx8IHFzeXNpbmZvLT5NYnJfVHlwZVswXSkKKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKKworICAgICAgICAvKioKKyAgICAgICAgKioqICAgICBCdWlsZCB0aGUgSUZTIHBhdGggbmFtZSBmb3IgdGhlIERCMiBvYmplY3QuCisgICAgICAgICoqLworCisgICAgICAgIHNwcmludGYobmFtZWJ1ZiwgIiVzLyVzLkxJQi8lcy5TUlZQR00iLAorICAgICAgICAgICAgc3RyY21wKHFzeXNpbmZvLT5MaWJfTmFtZSwgIlFTWVMiKT8gIi9RU1lTLkxJQiI6ICIiLAorICAgICAgICAgICAgcXN5c2luZm8tPkxpYl9OYW1lLCBxc3lzaW5mby0+T2JqX05hbWUpOworCisgICAgICAgIHJldHVybiBzdGF0KG5hbWVidWYsICZzYnVmKSA9PSAwOworfQorCisKK3N0YXRpYyBpbnQKK2RscmVpbml0KGRsaW5mbyAqIGRsaXApCisKK3sKKyAgICAgICAgUklOWl9URU1QTF9UIHQ7CisgICAgICAgIFJJTlpfVEVNUExfVCAqIHA7CisgICAgICAgIHZvbGF0aWxlIF9JTlRSUFRfSG5kbHJfUGFybXNfVCBleGNidWY7CisKKyAgICAgICAgaWYgKGRsaXAtPmFjdGluZm8uRmxhZ3MgJiBRTEVfQUJQX1dBU19BQ1RJVkUpCisgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisKKyAgICAgICAgLyoqCisgICAgICAgICoqKiAgICAgQXR0ZW1wdCB0byByZWluaXRpYWxpemUgdGhlIHNlcnZpY2UgcHJvZ3JhbSB0aGF0IHdhcyBsb2FkZWQuCisgICAgICAgICoqKiAgICAgVGhlIHNlcnZpY2UgcHJvZ3JhbSBtdXN0IGJlIGNyZWF0ZWQgdG8gYWxsb3cgcmUtaW5pdGlhbGl6YXRpb246CisgICAgICAgICoqKiAgICAgICAgICAgICBBTFdSSU5aKCpZRVMpIGZvciB0aGlzIHRvIHdvcmsuIFRoZSBkZWZhdWx0IGlzCisgICAgICAgICoqKiAgICAgICAgICAgICBBTFdSSU5aKCpOTykuCisgICAgICAgICoqLworCisjcHJhZ21hIGV4Y2VwdGlvbl9oYW5kbGVyKGVyciwgZXhjYnVmLCAwLCBfQzJfTUhfRVNDQVBFLCBfQ1RMQV9IQU5ETEVfTk9fTVNHKQorICAgICAgICBwID0gJnQ7CisgICAgICAgIHQucmluel9wZ20gPSBkbGlwLT5wb2ludGVyOworICAgICAgICB0LnJpbnpfYWdwbWsgPSBkbGlwLT5hY3RpbmZvLkFjdF9HcnBfTWFyazsKKyAgICAgICAgX1JJTlpTVEFUKHApOworI3ByYWdtYSBkaXNhYmxlX2hhbmRsZXIKKworICAgICAgICByZXR1cm4gMDsKKworZXJyOgorICAgICAgICBpZiAoIW1lbWNtcCgoY2hhciAqKSBleGNidWYuTXNnX0lkLCAiTUNINDQyMSIsIDcpKQorICAgICAgICAgICAgICAgIHJldHVybiAwOyAgICAgICAvKiBQcm9ncmFtIGNhbm5vdCBiZSByZWluaXRpYWxpemVkLiAqLworCisgICAgICAgIGRsc2V0ZXJyb3JfZnJvbV9leGNlcHRpb24oJmV4Y2J1Zik7CisgICAgICAgIHJldHVybiAtMTsKK30KKworCit2b2lkICoKK2Rsc3ltKHZvaWQgKiBoYW5kbGUsIGNvbnN0IGNoYXIgKiBzeW1ib2wpCisKK3sKKyAgICAgICAgZGxpbmZvICogZGxpcDsKKyAgICAgICAgdm9pZCAqIHA7CisgICAgICAgIGludCBleHBvcnRfdHlwZTsKKyAgICAgICAgUXVzX0VDX3QgZXJyaW5mbzsKKyAgICAgICAgdm9sYXRpbGUgX0lOVFJQVF9IbmRscl9QYXJtc19UIGV4Y2J1ZjsKKyAgICAgICAgc3RhdGljIGludCB6ZXJvID0gMDsKKworICAgICAgICBkbHRocmVhZGluaXQoKTsKKworICAgICAgICBpZiAoIWhhbmRsZSB8fCAhc3ltYm9sKSB7CisgICAgICAgICAgICAgICAgZGxzZXRlcnJvcl9mcm9tX2Vycm5vKEVGQVVMVCk7CisgICAgICAgICAgICAgICAgcmV0dXJuICh2b2lkICopIE5VTEw7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgIGRsaXAgPSAoZGxpbmZvICopIGhhbmRsZTsKKworI3ByYWdtYSBleGNlcHRpb25faGFuZGxlcihlcnJvciwgZXhjYnVmLCAwLCBfQzJfTUhfRVNDQVBFLCBfQ1RMQV9IQU5ETEVfTk9fTVNHKQorICAgICAgICBlcnJpbmZvLkJ5dGVzX1Byb3ZpZGVkID0gMDsKKyAgICAgICAgUWxlR2V0RXhwTG9uZygmZGxpcC0+YWN0aW5mby5BY3RfTWFyaywgJnplcm8sICZ6ZXJvLAorICAgICAgICAgICAgKGNoYXIgKikgc3ltYm9sLCAmcCwgJmV4cG9ydF90eXBlLCAmZXJyaW5mbyk7CisgICAgICAgIHJldHVybiBwOworI3ByYWdtYSBkaXNhYmxlX2hhbmRsZXIKKworZXJyb3I6CisgICAgICAgIGRsc2V0ZXJyb3JfZnJvbV9leGNlcHRpb24oJmV4Y2J1Zik7CisgICAgICAgIHJldHVybiAodm9pZCAqKSBOVUxMOworfQorCisKK2ludAorZGxjbG9zZSh2b2lkICogaGFuZGxlKQorCit7CisgICAgICAgIGRsaW5mbyAqIGRsaXA7CisgICAgICAgIHZvaWQgKCogX2ZpbmkpKHZvaWQpOworCisgICAgICAgIGRsdGhyZWFkaW5pdCgpOworCisgICAgICAgIGlmICghaGFuZGxlKSB7CisgICAgICAgICAgICAgICAgZGxzZXRlcnJvcl9mcm9tX2Vycm5vKEVGQVVMVCk7CisgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICBkbGlwID0gKGRsaW5mbyAqKSBoYW5kbGU7CisKKyAgICAgICAgaWYgKGRsaXAtPmFjdGNvdW50KSB7CisgICAgICAgICAgICAgICAgaWYgKC0tKGRsaXAtPmFjdGNvdW50KSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAwOworCisgICAgICAgICAgICAgICAgaWYgKF9maW5pID0gZGxzeW0oaGFuZGxlLCAiX2ZpbmkiKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICgqX2ZpbmkpKCk7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgIHJldHVybiBkbHJlaW5pdChkbGlwKTsKK30KKworCitzdGF0aWMgdm9pZCAqCitkbG9wZW5xc3lzKGNvbnN0IFFwMGxfUVNZU19JbmZvX3QgKiBkbGxpbmZvKQorCit7CisgICAgICAgIGRsaW5mbyAqIGRsaXA7CisgICAgICAgIGRsaW5mbyAqIGRsaXAyOworICAgICAgICB2b2lkICgqIF9pbml0KSh2b2lkKTsKKyAgICAgICAgdW5zaWduZWQgaW50IGk7CisgICAgICAgIF9TWVNQVFIgcGdtcHRyOworICAgICAgICB1bnNpZ25lZCBsb25nIGxvbmcgYWN0bWFyazsKKyAgICAgICAgUXVzX0VDX3QgZXJyaW5mbzsKKyAgICAgICAgY2hhciBhY3RtYXJrc3RyWzIgKiBzaXplb2YgYWN0bWFyayArIDFdOworICAgICAgICBzdGF0aWMgaW50IGFjdGluZm9fc2l6ZSA9IHNpemVvZiBkbGlwLT5hY3RpbmZvOworICAgICAgICB2b2xhdGlsZSBfSU5UUlBUX0huZGxyX1Bhcm1zX1QgZXhjYnVmOworCisgICAgICAgIC8qKgorICAgICAgICAqKiogICAgIENhcHR1cmUgYW55IHR5cGUgb2YgZXJyb3IgYW5kIGlmIGFueSBvY2N1cnMsCisgICAgICAgICoqKiAgICAgICAgICAgICByZXR1cm4gbm90IGZvdW5kLgorICAgICAgICAqKi8KKworI3ByYWdtYSBleGNlcHRpb25faGFuZGxlcihlcnJvcjEsIGV4Y2J1ZiwgMCwgX0MyX01IX0VTQ0FQRSwgX0NUTEFfSEFORExFX05PX01TRykKKyAgICAgICAgcGdtcHRyID0gcnNsdnNwKFdMSV9TUlZQR00sIChjaGFyICopIGRsbGluZm8tPk9ial9OYW1lLAorICAgICAgICAgICAgKGNoYXIgKikgZGxsaW5mby0+TGliX05hbWUgLF9BVVRIX05PTkUpOworCisgICAgICAgIGlmICghcGdtcHRyKSB7CisgICAgICAgICAgICAgICAgZXJybm8gPSBFTk9FTlQ7CisgICAgICAgICAgICAgICAgcmV0dXJuICh2b2lkICopIE5VTEw7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgIC8qKgorICAgICAgICAqKiogICAgIENyZWF0ZSBhIG5ldyBETEwgaW5mbyBibG9jay4KKyAgICAgICAgKiovCisKKyAgICAgICAgZGxpcCA9IChkbGluZm8gKikgbWFsbG9jKHNpemVvZiAqZGxpcCk7CisKKyAgICAgICAgaWYgKCFkbGlwKQorICAgICAgICAgICAgICAgIHJldHVybiAodm9pZCAqKSBOVUxMOyAgICAgICAgICAgLyogQ2Fubm90IGNyZWF0ZSBibG9jay4gKi8KKyNwcmFnbWEgZGlzYWJsZV9oYW5kbGVyCisKKyAgICAgICAgZGxsb2NrKCk7CisKKyNwcmFnbWEgZXhjZXB0aW9uX2hhbmRsZXIoZXJyb3IyLCBleGNidWYsIDAsIF9DMl9NSF9FU0NBUEUsIF9DVExBX0hBTkRMRV9OT19NU0cpCisgICAgICAgIG1lbXNldCgoY2hhciAqKSBkbGlwLCAwLCBzaXplb2YgKmRsaXApOworICAgICAgICBkbGlwLT5wb2ludGVyID0gcGdtcHRyOworCisgICAgICAgIC8qKgorICAgICAgICAqKiogICAgIEFjdGl2YXRlIHRoZSBETEwuCisgICAgICAgICoqLworCisgICAgICAgIGVycmluZm8uQnl0ZXNfUHJvdmlkZWQgPSAwOworICAgICAgICBRbGVBY3RCbmRQZ21Mb25nKCZwZ21wdHIsICZhY3RtYXJrLAorICAgICAgICAgICAgJmRsaXAtPmFjdGluZm8sICZhY3RpbmZvX3NpemUsICZlcnJpbmZvKTsKKyAgICAgICAgZGxpcC0+YWN0aW5mby5BY3RfTWFyayA9IGFjdG1hcms7CisKKyAgICAgICAgLyoqCisgICAgICAgICoqKiAgICAgRHVtbXkgc3RyaW5nIGVuY29kaW5nIGFjdGl2YXRpb24gbWFyayB0byB1c2UgYXMgaGFzaCB0YWJsZSBrZXkuCisgICAgICAgICoqLworCisgICAgICAgIGZvciAoaSA9IDA7IGFjdG1hcms7IGFjdG1hcmsgPj49IDYpCisgICAgICAgICAgICAgICAgYWN0bWFya3N0cltpKytdID0gMHg0MCArIChhY3RtYXJrICYgMHgzRik7CisKKyAgICAgICAgYWN0bWFya3N0cltpXSA9ICdcMCc7CisKKyAgICAgICAgLyoqCisgICAgICAgICoqKiAgICAgQ2hlY2sgaWYgYWxyZWFkeSBhY3RpdmF0ZWQuCisgICAgICAgICoqLworCisgICAgICAgIGRsaXAyID0gKGRsaW5mbyAqKSB4bWxIYXNoTG9va3VwKGRsZGlyLCBhY3RtYXJrc3RyKTsKKworICAgICAgICBpZiAoZGxpcDIpIHsKKyAgICAgICAgICAgICAgICBmcmVlKChjaGFyICopIGRsaXApOworICAgICAgICAgICAgICAgIGRsaXAgPSBkbGlwMjsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgIGVsc2UgaWYgKHhtbEhhc2hBZGRFbnRyeShkbGRpciwgKGNvbnN0IHhtbENoYXIgKikgYWN0bWFya3N0ciwgZGxpcCkpIHsKKyAgICAgICAgICAgICAgICBkbHJlaW5pdChkbGlwKTsKKyAgICAgICAgICAgICAgICBmcmVlKChjaGFyICopIGRsaXApOworICAgICAgICAgICAgICAgIGRsdW5sb2NrKCk7CisgICAgICAgICAgICAgICAgcmV0dXJuICh2b2lkICopIE5VTEw7CisgICAgICAgICAgICAgICAgfQorI3ByYWdtYSBkaXNhYmxlX2hhbmRsZXIKKworI3ByYWdtYSBleGNlcHRpb25faGFuZGxlcihlcnJvcjIsIGV4Y2J1ZiwgMCwgX0MyX01IX0VTQ0FQRSwgX0NUTEFfSEFORExFX05PX01TRykKKworICAgICAgICAvKioKKyAgICAgICAgKioqICAgICBCdW1wIGFjdGl2YXRpb24gY291bnRlci4KKyAgICAgICAgKiovCisKKyAgICAgICAgaWYgKCEoZGxpcC0+YWN0Y291bnQrKykgJiYgKF9pbml0ID0gZGxzeW0oZGxpcCwgIl9pbml0IikpKQorICAgICAgICAgICAgICAgICgqX2luaXQpKCk7CisKKyAgICAgICAgZGx1bmxvY2soKTsKKworICAgICAgICAvKioKKyAgICAgICAgKioqICAgICBSZXR1cm4gdGhlIGhhbmRsZS4KKyAgICAgICAgKiovCisKKyAgICAgICAgcmV0dXJuICh2b2lkICopIGRsaXA7CisjcHJhZ21hIGRpc2FibGVfaGFuZGxlcgorCitlcnJvcjI6CisgICAgICAgIGZyZWUoKGNoYXIgKikgZGxpcCk7CisgICAgICAgIGRsdW5sb2NrKCk7CisKK2Vycm9yMToKKyAgICAgICAgZGxzZXRlcnJvcl9mcm9tX2V4Y2VwdGlvbigmZXhjYnVmKTsKKyAgICAgICAgcmV0dXJuICh2b2lkICopIE5VTEw7Cit9CisKKwordm9pZCAqCitkbG9wZW4oY29uc3QgY2hhciAqIGZpbGVuYW1lLCBpbnQgZmxhZykKKworeworICAgICAgICB2b2lkICogZGxoYW5kbGU7CisgICAgICAgIGludCBzdmVycm5vOworICAgICAgICBRcDBsX1FTWVNfSW5mb190IGRsbGluZm87CisKKyAgICAgICAgc3ZlcnJubyA9IGVycm5vOworICAgICAgICBlcnJubyA9IDA7CisKKyAgICAgICAgZGx0aHJlYWRpbml0KCk7CisKKyAgICAgICAgaWYgKCFmaWxlbmFtZSkgeworICAgICAgICAgICAgICAgIGRsc2V0ZXJyb3JfZnJvbV9lcnJubyhFRkFVTFQpOworICAgICAgICAgICAgICAgIGVycm5vID0gc3ZlcnJubzsKKyAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgLyoqCisgICAgICAgICoqKiAgICAgVHJ5IHRvIGxvY2F0ZSB0aGUgb2JqZWN0IGluIHRoZSBmb2xsb3dpbmcgb3JkZXI6CisgICAgICAgICoqKiAgICAgXyAgICAgICBgZmlsZW5hbWUnIGlzIGFuIElGUyBwYXRoLgorICAgICAgICAqKiogICAgIF8gICAgICAgYGZpbGVuYW1lJyBpcyBub3QgYSBwYXRoIGFuZCByZXNpZGVzIGluIG9uZSBvZgorICAgICAgICAqKiogICAgICAgICAgICAgICAgICAgICBMRF9MSUJSQVJZX1BBVEggY29sb24tc2VwYXJhdGVkIHBhdGhzLgorICAgICAgICAqKiogICAgIF8gICAgICAgYGZpbGVuYW1lJyBpcyBub3QgYSBwYXRoIGFuZCByZXNpZGVzIGluIG9uZSBvZgorICAgICAgICAqKiogICAgICAgICAgICAgICAgICAgICBQQVRIIGNvbG9uLXNlcGFyYXRlZCBwYXRocy4KKyAgICAgICAgKioqICAgICBfICAgICAgIGBmaWxlbmFtZScgaXMgYSBEQjIgcGF0aCAoYXMgL2xpYnJhcnkvb2JqZWN0KS4KKyAgICAgICAgKioqICAgICBfICAgICAgIGBmaWxlbmFtZScgaXMgYSBxdWFsaWZpZWQgb2JqZWN0IG5hbWUuCisgICAgICAgICoqKiAgICAgXyAgICAgICBgZmlsZW5hbWUnIGlzIGFuIG9iamVjdCBpbiAqQ1VSTElCLgorICAgICAgICAqKiogICAgIF8gICAgICAgYGZpbGVuYW1lJyBpcyBhbiBvYmplY3QgaW4gKkxJQkwuCisgICAgICAgICoqLworCisgICAgICAgIGlmICghZGxfaWZzX2xpbmsoJmRsbGluZm8sIGZpbGVuYW1lKSAmJiBkbF9pc19zcnZwZ20oJmRsbGluZm8pKQorICAgICAgICAgICAgICAgIGRsaGFuZGxlID0gZGxvcGVucXN5cygmZGxsaW5mbyk7CisgICAgICAgIGVsc2UgaWYgKCFkbF9wYXRoX2xpbmsoJmRsbGluZm8sCisgICAgICAgICAgICAiTERfTElCUkFSWV9QQVRIIiwgZmlsZW5hbWUsIGRsX2lzX3NydnBnbSkpCisgICAgICAgICAgICAgICAgZGxoYW5kbGUgPSBkbG9wZW5xc3lzKCZkbGxpbmZvKTsKKyAgICAgICAgZWxzZSBpZiAoIWRsX3BhdGhfbGluaygmZGxsaW5mbywgIlBBVEgiLCBmaWxlbmFtZSwgZGxfaXNfc3J2cGdtKSkKKyAgICAgICAgICAgICAgICBkbGhhbmRsZSA9IGRsb3BlbnFzeXMoJmRsbGluZm8pOworICAgICAgICBlbHNlIGlmICghZGxfREIyX3BhdGgoJmRsbGluZm8sIGZpbGVuYW1lKSAmJiBkbF9pc19zcnZwZ20oJmRsbGluZm8pKQorICAgICAgICAgICAgICAgIGRsaGFuZGxlID0gZGxvcGVucXN5cygmZGxsaW5mbyk7CisgICAgICAgIGVsc2UgaWYgKCFkbF9xdWFsaWZpZWRfb2JqZWN0KCZkbGxpbmZvLCBmaWxlbmFtZSkgJiYKKyAgICAgICAgICAgIGRsX2lzX3NydnBnbSgmZGxsaW5mbykpCisgICAgICAgICAgICAgICAgZGxoYW5kbGUgPSBkbG9wZW5xc3lzKCZkbGxpbmZvKTsKKyAgICAgICAgZWxzZSBpZiAoIWRsX2xpYl9vYmplY3QoJmRsbGluZm8sICIqQ1VSTElCIiwgZmlsZW5hbWUpICYmCisgICAgICAgICAgICBkbF9pc19zcnZwZ20oJmRsbGluZm8pKQorICAgICAgICAgICAgICAgIGRsaGFuZGxlID0gZGxvcGVucXN5cygmZGxsaW5mbyk7CisgICAgICAgIGVsc2UgaWYgKCFkbF9saWJfb2JqZWN0KCZkbGxpbmZvLCAiKkxJQkwiLCBmaWxlbmFtZSkgJiYKKyAgICAgICAgICAgIGRsX2lzX3NydnBnbSgmZGxsaW5mbykpCisgICAgICAgICAgICAgICAgZGxoYW5kbGUgPSBkbG9wZW5xc3lzKCZkbGxpbmZvKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIGRsaGFuZGxlID0gTlVMTDsKKworICAgICAgICBpZiAoIWRsaGFuZGxlICYmIGVycm5vKQorICAgICAgICAgICAgICAgIGRsc2V0ZXJyb3JfZnJvbV9lcnJubyhlcnJubyk7CisKKyAgICAgICAgZXJybm8gPSBzdmVycm5vOworICAgICAgICByZXR1cm4gZGxoYW5kbGU7Cit9CmRpZmYgLS1naXQgYS9saWJ4bWwyL29zNDAwL2RsZmNuL2RsZmNuLmggYi9saWJ4bWwyL29zNDAwL2RsZmNuL2RsZmNuLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGNmNjkxZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvb3M0MDAvZGxmY24vZGxmY24uaApAQCAtMCwwICsxLDMyIEBACisvKioKKyoqKiAgICAgZGxvcGVuKCksIGRsY2xvc2UoKSBkbHN5bSgpLCBkbGVycm9yKCkgZW11bGF0aW9uIGZvciBPUy80MDAuCisqKioKKyoqKiAgICAgU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgorKioqCisqKiogICAgIEF1dGhvcjogUGF0cmljayBNb25uZXJhdCA8cG1AZGF0YXNwaGVyZS5jaD4sIERBVEFTUEhFUkUgUy5BLgorKiovCisKKyNpZm5kZWYgX0RMRkNOX0hfCisjZGVmaW5lIF9ETEZDTl9IXworCisKKy8qKgorKioqICAgICBGbGFncyBmb3IgZGxvcGVuKCkuCisqKiogICAgIElnbm9yZWQgZm9yIE9TNDAwLgorKiovCisKKyNkZWZpbmUgUlRMRF9MQVpZICAgICAgICAgICAgICAgMDAwCisjZGVmaW5lIFJUTERfTk9XICAgICAgICAgICAgICAgIDAwMQorI2RlZmluZSBSVExEX0dMT0JBTCAgICAgICAgICAgICAwMTAKKworCisvKioKKyoqKiAgICAgUHJvdG90eXBlcy4KKyoqLworCitleHRlcm4gdm9pZCAqICAgICAgICAgICBkbG9wZW4oY29uc3QgY2hhciAqIGZpbGVuYW1lLCBpbnQgZmxhZyk7CitleHRlcm4gdm9pZCAqICAgICAgICAgICBkbHN5bSh2b2lkICogaGFuZGxlLCBjb25zdCBjaGFyICogc3ltYm9sKTsKK2V4dGVybiBjb25zdCBjaGFyICogICAgIGRsZXJyb3Iodm9pZCk7CitleHRlcm4gaW50ICAgICAgICAgICAgICBkbGNsb3NlKHZvaWQgKiBoYW5kbGUpOworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYnhtbDIvb3M0MDAvaWNvbnYvUkVBRE1FLmljb252IGIvbGlieG1sMi9vczQwMC9pY29udi9SRUFETUUuaWNvbnYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDk1MGQ1OQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvb3M0MDAvaWNvbnYvUkVBRE1FLmljb252CkBAIC0wLDAgKzEsNDcgQEAKK0lCTSBPUy80MDAgaW1wbGVtZW50cyBpY29udiBpbiBhbiBvZGQgd2F5OgorLSBUeXBlIGljb252X3QgaXMgYSBzdHJ1Y3R1cmU6IHRoZXJlZm9yZSBvYmplY3RzIG9mIHRoaXMgdHlwZSBjYW5ub3QgYmUKKyAgY29tcGFyZWQgdG8gKGljb252X3QpIC0xLgorLSBTdXBwb3J0ZWQgY2hhcmFjdGVyIHNldHMgbmFtZXMgYXJlIGFsbCBvZiB0aGUgZm9ybSBJQk1DQ1NJRGNjc2lkLi4uLCB3aGVyZQorICBjY3NpZCBpcyBhIGRlY2ltYWwgNS1kaWdpdCBpbnRlZ2VyIGlkZW50aWZ5aW5nIGFuIElCTSBjb2RlZCBjaGFyYWN0ZXIgc2V0LgorICBJbiBhZGRpdGlvbiwgY2hhcmFjdGVyIHNldCBuYW1lcyBoYXZlIHRvIGJlIGdpdmVuIGluIEVCQ0RJQy4KKyAgU3RhbmRhcmQgY2hhcmFjdGVyIHNldCBuYW1lcyBsaWtlICJVVEYtOCIgYXJlIE5PVCByZWNvZ25pemVkLgorLSBUaGUgcHJvdG90eXBlIG9mIGljb252X29wZW4oKSBkb2VzIG5vdCBkZWNsYXJlIHBhcmFtZXRlcnMgYXMgY29uc3QsIGFsdGhvdWdoCisgIHRoZXkgYXJlIG5vdCBhbHRlcmVkLgorCisgU2luY2UgbGliaWNvbnYgZG9lcyBub3Qgc3VwcG9ydCBFQkNESUMsIHVzZSBvZiB0aGlzIHBhY2thZ2UgaGVyZSBhcyBhCityZXBsYWNlbWVudCBpcyBub3QgYSBzb2x1dGlvbi4KKworIEZvciB0aGVzZSByZWFzb25zLCB0aGUgY29kZSBpbiB0aGlzIGRpcmVjdG9yeSBpbXBsZW1lbnRzIGEgd3JhcHBlciB0byB0aGUKK09TLzQwMCBpY29udiBpbXBsZW1lbnRhdGlvbi4gVGhlIHdyYXBwZXIgcGVyZm9ybXMgdGhlIGZvbGxvd2luZyB0cmFuc2Zvcm1hdGlvbnM6CistIFR5cGUgaWNvbnZfdCBpcyBhbiBwb2ludGVyLiBBbHRob3VnaCBPUy80MDAgcG9pbnRlcnMgYXJlIG9kZCwgY29tcGFyaW5nCisgIHdpdGggKGljb252X3QpIC0xIGlzIE9LLgorLSBBbGwgSUFOQSBjaGFyYWN0ZXIgc2V0IG5hbWVzIGFyZSByZWNvZ25pemVkIGluIGEgY29kaW5nLSBhbmQgY2FzZS1pbnNlbnNpdGl2ZQorICB3YXksIHByb3ZpZGluZyBhbiBlcXVpdmFsZW50IENDU0lEIGV4aXN0cy4gc2VlCisgIGh0dHA6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMvY2hhcmFjdGVyLXNldHMvY2hhcmFjdGVyLXNldHMueGh0bWwKKy0gQWxsIENDU0lEcyBmcm9tIHRoZSBhc3NvY2lhdGlvbiBmaWxlIGNhbiBiZSBleHByZXNzZWQgYXMgSUJNQ0NTSUR4eHh4eCB3aGVyZQorICB4eHh4eCBpcyB0aGUgNSBkaWdpdCBDQ1NJRDsgbm8gbnVsbCB0ZXJtaW5hdG9yIGlzIHJlcXVpcmVkLiBBbHRlcm5hdGUgY29kZXMKKyAgYXJlIG9mIHRoZSBmb3JtIGlibS14eHggKG51bGwtdGVybWluYXRlZCksIHdoZXJlIHh4eCBpcyB0aGUgaW50ZWdlciBDQ1NJRCB3aXRoCisgIGxlYWRpbmcgemVyb2VzIHN0cmlwcGVkLgorLSBJZiBhIElBTkEgQklCZW51bSBpcyBkZWZpbmVkIGZvciBhIENDU0lELCB0aGUgbmFtZSBpYW5hLXh4eCBjYW4gYmUgdXNlZCwKKyAgd2hlcmUgeHh4IGlzIHRoZSBpbnRlZ2VyIE1JQmVudW0gd2l0aG91dCBsZWFkaW5nIHplcm9lcy4KKy0gSW4gYWRkaXRpb24sIHNvbWUgYWxpYXNlcyBhcmUgYWxzbyB0YWtlbiBmcm9tIHRoZSBhc3NvY2lhdGlvbiBmaWxlLiBFeGFtcGxlcworICBhcmU6IEFTQ0lJLCBFQkNESUMsIFVURjguCistIFByb3RvdHlwZSBvZiBpY29udl9vcGVuKCkgaGFzIGNvbnN0IHBhcmFtZXRlcnMuCistIENoYXJhY3RlciBjb2RlIG5hbWVzIGNhbiBiZSBnaXZlbiBpbiBhbnkgY29kZS4KKworQ2hhcmFjdGVyIHNldCBuYW1lcyB0byBDQ1NJRCBjb252ZXJzaW9uLgorLSBodHRwOi8vd3d3LmlhbmEub3JnL2Fzc2lnbm1lbnRzL2NoYXJhY3Rlci1zZXRzL2NoYXJhY3Rlci1zZXRzLnhodG1sIHByb3ZpZGVzCisgIGFsbCBJQU5BIHJlZ2lzdGVyZWQgY2hhcmFjdGVyIHNldCBuYW1lcyBhbmQgYWxpYXNlcyBhc3NvY2lhdGVkIHdpdGggYQorICBNSUJlbnVtLCB0aGF0IGlzIGEgdW5pcXVlIGNoYXJhY3RlciBzZXQgaWRlbnRpZmllci4KKy0gQSBoYW5kLW1haW50YWluZWQgZmlsZSBjY3NpZF9taWJlbnVtLnhtbCBhc3NvY2lhdGVzIElCTSBDQ1NJRHMgdG8KKyAgSUFOQSBNQmVudW1zLgorLSBBbiBPUy80MDAgQyBwcm9ncmFtIChpbiBzdWJkaXJlY3RvcnkgYmxkY3NuZGZhKSBnZW5lcmF0ZXMgYSBkZXRlcm1pbmlzdGljCisgIGZpbml0ZSBhdXRvbWF0b24gZnJvbSB0aGUgZmlsZXMgbWVudGlvbmVkIGFib3ZlIGludG8gYSBDIGZpbGUgZm9yIGFsbAorICBwb3NzaWJsZSBjaGFyYWN0ZXIgc2V0IG5hbWUgYW5kIGFzc29jaWF0aW5nIGVhY2ggb2YgdGhlbSB3aXRoIGl0cworICBjb3JyZXNwb25kaW5nIENDU0lELiBUaGlzIHByb2dyYW0gY2FuIG9ubHkgYmUgcnVuIG9uIE9TLzQwMCBzaW5jZSBpdCB1c2VzCisgIHRoZSBuYXRpdmUgaWNvbnYgc3VwcG9ydCBmb3IgRUJDRElDLgorLSBTaW5jZSB0aGVzZSBvcGVyYXRpb25zIGFyZSB0ZWRpb3VzIGFuZCB0aGUgdGFibGUgZ2VuZXJhdGlvbiBuZWVkcyBib290c3RyYXBpbmcKKyAgd2l0aCBsaWJ4bWwyLCB0aGUgZ2VuZXJhdGVkIGF1dG9tYXRvbiBpcyBzdG9yZWQgd2l0aGluIHNvdXJjZXMgYW5kIG5lZWQgbm90CisgIGJlIHJlYnVpbHQgYXQgZWFjaCBjb21waWxhdGlvbi4gSG93ZXZlciwgc291cmNlIGlzIHByb3ZpZGVkIGhlcmUgdG8gYWxsb3cKKyAgbmV3IHRhYmxlIGdlbmVyYXRpb24gd2l0aCBjb252ZXJzaW9uIHRhYmxlcyB0aGF0IHdlcmUgbm90IGF2YWlsYWJsZSBhdCB0aGUKKyAgdGltZSBvZiBvcmlnaW5hbCBnZW5lcmF0aW9uLgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9vczQwMC9pY29udi9ibGRjc25kZmEvYmxkY3NuZGZhLmMgYi9saWJ4bWwyL29zNDAwL2ljb252L2JsZGNzbmRmYS9ibGRjc25kZmEuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40OGFmZDU0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9vczQwMC9pY29udi9ibGRjc25kZmEvYmxkY3NuZGZhLmMKQEAgLTAsMCArMSwxOTUzIEBACisvKioKKyoqKiAgICAgQnVpbGQgYSBkZXRlcm1pbmlzdGljIGZpbml0ZSBhdXRvbWF0b24gdG8gYXNzb2NpYXRlIENDU0lEcyB3aXRoCisqKiogICAgICAgICAgICAgY2hhcmFjdGVyIHNldCBuYW1lcy4KKyoqKgorKioqICAgICBDb21waWxlIG9uIE9TLzQwMCB3aXRoIG9wdGlvbnMgU1lTSUZDT1BUKCpJRlNJTykuCisqKioKKyoqKiAgICAgU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgorKioqCisqKiogICAgIEF1dGhvcjogUGF0cmljayBNb25uZXJhdCA8cG1AZGF0YXNwaGVyZS5jaD4sIERBVEFTUEhFUkUgUy5BLgorKiovCisKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxjdHlwZS5oPgorCisjaW5jbHVkZSA8aWNvbnYuaD4KKworCisjaWZkZWYgT0xEWE1MCisjaW5jbHVkZSAieG1sLmgiCisjZWxzZQorI2luY2x1ZGUgPGxpYnhtbC9oYXNoLmg+CisjaW5jbHVkZSA8bGlieG1sL3BhcnNlci5oPgorI2luY2x1ZGUgPGxpYnhtbC94cGF0aC5oPgorI2luY2x1ZGUgPGxpYnhtbC94cGF0aEludGVybmFscy5oPgorI2VuZGlmCisKKworI2lmZGVmIF9fT1M0MDBfXworI2RlZmluZSBpY29udl9vcGVuX2Vycm9yKGNkKSAgICAgICAgICAgICgoY2QpLnJldHVybl92YWx1ZSA9PSAtMSkKKyNkZWZpbmUgc2V0X2ljb252X29wZW5fZXJyb3IoY2QpICAgICAgICAoKGNkKS5yZXR1cm5fdmFsdWUgPSAtMSkKKyNlbHNlCisjZGVmaW5lIGljb252X29wZW5fZXJyb3IoY2QpICAgICAgICAgICAgKChjZCkgPT0gKGljb252X3QpIC0xKQorI2RlZmluZSBzZXRfaWNvbnZfb3Blbl9lcnJvcihjZCkgICAgICAgICgoY2QpID0gKGljb252X3QpIC0xKQorI2VuZGlmCisKKworI2RlZmluZSBDX1NPVVJDRV9DQ1NJRCAgICAgICAgICA1MDAKKyNkZWZpbmUgQ19VVEY4X0NDU0lEICAgICAgICAgICAgMTIwOAorCisKKyNkZWZpbmUgVVRGOF9TUEFDRSAgICAgIDB4MjAKKyNkZWZpbmUgVVRGOF9IVCAgICAgICAgIDB4MDkKKyNkZWZpbmUgVVRGOF8wICAgICAgICAgIDB4MzAKKyNkZWZpbmUgVVRGOF85ICAgICAgICAgIDB4MzkKKyNkZWZpbmUgVVRGOF9BICAgICAgICAgIDB4NDEKKyNkZWZpbmUgVVRGOF9aICAgICAgICAgIDB4NUEKKyNkZWZpbmUgVVRGOF9hICAgICAgICAgIDB4NjEKKyNkZWZpbmUgVVRGOF96ICAgICAgICAgIDB4N0EKKworCisjZGVmaW5lIEdSQU5VTEUgICAgICAgICAxMjggICAgICAgICAgICAgLyogTWVtb3J5IGFsbG9jYXRpb24gZ3JhbnVsZS4gKi8KKworI2RlZmluZSBFUFNJTE9OICAgICAgICAgMHgxMDAgICAgICAgICAgIC8qIFRva2VuIGZvciBlbXB0eSB0cmFuc2l0aW9uLiAqLworCisKKyNpZm5kZWYgT0ZGU0VUT0YKKyNkZWZpbmUgT0ZGU0VUT0YodCwgZikgICgodW5zaWduZWQgaW50KSAoKGNoYXIgKikgJigodCAqKSAwKS0+ZiAtIChjaGFyICopIDApKQorI2VuZGlmCisKKyNpZm5kZWYgT0ZGU0VUQlkKKyNkZWZpbmUgT0ZGU0VUQlkodCwgcCwgbykgICAgICAgKCh0ICopICgoY2hhciAqKSAocCkgKyAodW5zaWduZWQgaW50KSAobykpKQorI2VuZGlmCisKKwordHlwZWRlZiBzdHJ1Y3QgdF90cmFuc2l0aW9uICAgICB0X3RyYW5zaXRpb247ICAgLyogTkZBL0RGQSB0cmFuc2l0aW9uLiAqLwordHlwZWRlZiBzdHJ1Y3QgdF9zdGF0ZSAgICAgICAgICB0X3N0YXRlOyAgICAgICAgLyogTkZBL0RGQSBzdGF0ZSBub2RlLiAqLwordHlwZWRlZiBzdHJ1Y3QgdF9zeW1saXN0ICAgICAgICB0X3N5bWxpc3Q7ICAgICAgLyogU3ltYm9sIChpLmUuOiBuYW1lKSBsaXN0LiAqLwordHlwZWRlZiBzdHJ1Y3QgdF9jaHNldCAgICAgICAgICB0X2Noc2V0OyAgICAgICAgLyogQ2hhcmFjdGVyIHNldC4gKi8KK3R5cGVkZWYgc3RydWN0IHRfc3RhdGVncm91cCAgICAgdF9zdGF0ZWdyb3VwOyAgIC8qIE9wdGltaXphdGlvbiBncm91cC4gKi8KK3R5cGVkZWYgdW5zaWduZWQgY2hhciAgICAgICAgICAgdXRmOGNoYXI7ICAgICAgIC8qIFVURi04IGNoYXJhY3RlciBieXRlLiAqLwordHlwZWRlZiB1bnNpZ25lZCBjaGFyICAgICAgICAgICBieXRlOyAgICAgICAgICAgLyogVW50eXBlZCBkYXRhIGJ5dGUuICovCisKKwordHlwZWRlZiBzdHJ1Y3QgeyAgICAgICAgICAgICAgICAgICAgICAgIC8qIFNldCBvZiBwb2ludGVycy4gKi8KKyAgICAgICAgdW5zaWduZWQgaW50ICAgIHBfc2l6ZTsgICAgICAgICAvKiBDdXJyZW50IGFsbG9jYXRlZCBzaXplLiAqLworICAgICAgICB1bnNpZ25lZCBpbnQgICAgcF9jYXJkOyAgICAgICAgIC8qIEN1cnJlbnQgZWxlbWVudCBjb3VudC4gKi8KKyAgICAgICAgdm9pZCAqICAgICAgICAgIHBfc2V0WzFdOyAgICAgICAvKiBFbGVtZW50IGFycmF5LiAqLworfSAgICAgICAgICAgICAgIHRfcG93ZXJzZXQ7CisKKworc3RydWN0IHRfdHJhbnNpdGlvbiB7CisgICAgICAgIHRfdHJhbnNpdGlvbiAqICB0X2ZvcndwcmV2OyAgICAgLyogSGVhZCBvZiBmb3J3YXJkIHRyYW5zaXRpb24gbGlzdC4gKi8KKyAgICAgICAgdF90cmFuc2l0aW9uICogIHRfZm9yd25leHQ7ICAgICAvKiBUYWlsIG9mIGZvcndhcmQgdHJhbnNpdGlvbiBsaXN0LiAqLworICAgICAgICB0X3RyYW5zaXRpb24gKiAgdF9iYWNrcHJldjsgICAgIC8qIEhlYWQgb2YgYmFja3dhcmQgdHJhbnNpdGlvbiBsaXN0LiAqLworICAgICAgICB0X3RyYW5zaXRpb24gKiAgdF9iYWNrbmV4dDsgICAgIC8qIFRhaWwgb2YgYmFja3dhcmQgdHJhbnNpdGlvbiBsaXN0LiAqLworICAgICAgICB0X3N0YXRlICogICAgICAgdF9mcm9tOyAgICAgICAgIC8qIEluY29taW5nIHN0YXRlLiAqLworICAgICAgICB0X3N0YXRlICogICAgICAgdF90bzsgICAgICAgICAgIC8qIERlc3RpbmF0aW9uIHN0YXRlLiAqLworICAgICAgICB1bnNpZ25lZCBzaG9ydCAgdF90b2tlbjsgICAgICAgIC8qIFRyYW5zaXRpb24gdG9rZW4uICovCisgICAgICAgIHVuc2lnbmVkIGludCAgICB0X2luZGV4OyAgICAgICAgLyogVHJhbnNpdGlvbiBhcnJheSBpbmRleC4gKi8KK307CisKKworc3RydWN0IHRfc3RhdGUgeworICAgICAgICB0X3N0YXRlICogICAgICAgc19uZXh0OyAgICAgICAgIC8qIE5leHQgc3RhdGUgKGZvciBERkEgY29uc3RydWN0aW9uKS4gKi8KKyAgICAgICAgdF9zdGF0ZSAqICAgICAgIHNfc3RhY2s7ICAgICAgICAvKiBVbnByb2Nlc3NlZCBERkEgc3RhdGVzIHN0YWNrLiAqLworICAgICAgICB0X3RyYW5zaXRpb24gKiAgc19mb3J3YXJkOyAgICAgIC8qIEZvcndhcmQgdHJhbnNpdGlvbnMuICovCisgICAgICAgIHRfdHJhbnNpdGlvbiAqICBzX2JhY2t3YXJkOyAgICAgLyogQmFja3dhcmQgdHJhbnNpdGlvbnMuICovCisgICAgICAgIHRfY2hzZXQgKiAgICAgICBzX2ZpbmFsOyAgICAgICAgLyogUmVjb2duaXplZCBjaGFyYWN0ZXIgc2V0LiAqLworICAgICAgICB0X3Bvd2Vyc2V0ICogICAgc19uZmFzdGF0ZXM7ICAgIC8qIENvcnJlc3BvbmRpbmcgTkZBIHN0YXRlcy4gKi8KKyAgICAgICAgdW5zaWduZWQgaW50ICAgIHNfaW5kZXg7ICAgICAgICAvKiBTdGF0ZSBpbmRleC4gKi8KK307CisKKworc3RydWN0IHRfc3ltbGlzdCB7CisgICAgICAgIHRfc3ltbGlzdCAqICAgICBsX25leHQ7ICAgICAgICAgLyogTmV4dCBuYW1lIGluIGxpc3QuICovCisgICAgICAgIHV0ZjhjaGFyICAgICAgICBsX3N5bWJvbFsxXTsgICAgLyogTmFtZSBieXRlcy4gKi8KK307CisKKworc3RydWN0IHRfY2hzZXQgeworICAgICAgICB0X2Noc2V0ICogICAgICAgY19uZXh0OyAgICAgICAgIC8qIE5leHQgY2hhcmFjdGVyIHNldC4gKi8KKyAgICAgICAgdF9zeW1saXN0ICogICAgIGNfbmFtZXM7ICAgICAgICAvKiBDaGFyYWN0ZXIgc2V0IG5hbWUgbGlzdC4gKi8KKyAgICAgICAgaWNvbnZfdCAgICAgICAgIGNfZnJvbVVURjg7ICAgICAvKiBDb252ZXJzaW9uIGZyb20gVVRGLTguICovCisgICAgICAgIHVuc2lnbmVkIGludCAgICBjX2Njc2lkOyAgICAgICAgLyogSUJNIGNoYXJhY3RlciBzZXQgY29kZS4gKi8KKyAgICAgICAgdW5zaWduZWQgaW50ICAgIGNfbWliZW51bTsgICAgICAvKiBJQU5BIGNoYXJhY3RlciBjb2RlLiAqLworfTsKKworCitzdHJ1Y3QgdF9zdGF0ZWdyb3VwIHsKKyAgICAgICAgdF9zdGF0ZWdyb3VwICogIGdfbmV4dDsgICAgICAgICAvKiBOZXh0IGdyb3VwLiAqLworICAgICAgICB0X3N0YXRlICogICAgICAgZ19tZW1iZXI7ICAgICAgIC8qIEdyb3VwIG1lbWJlciAoc19zdGFjaykgbGlzdC4gKi8KKyAgICAgICAgdW5zaWduZWQgaW50ICAgIGdfaWQ7ICAgICAgICAgICAvKiBHcm91cCBpZGVudC4gKi8KK307CisKKworCit0X2Noc2V0ICogICAgICAgY2hzZXRfbGlzdDsgICAgICAgICAgICAgLyogQ2hhcmFjdGVyIHNldCBsaXN0LiAqLwordF9zdGF0ZSAqICAgICAgIGluaXRpYWxfc3RhdGU7ICAgICAgICAgIC8qIEluaXRpYWwgTkZBIHN0YXRlLiAqLworaWNvbnZfdCAgICAgICAgIGpvYjJ1dGY4OyAgICAgICAgICAgICAgIC8qIEpvYiBDQ1NJRCB0byBVVEYtOCBjb252ZXJzaW9uLiAqLworaWNvbnZfdCAgICAgICAgIHV0Zjgyam9iOyAgICAgICAgICAgICAgIC8qIFVURi04IHRvIGpvYiBDQ1NJRCBjb252ZXJzaW9uLiAqLwordF9zdGF0ZSAqICAgICAgIGRmYV9zdGF0ZXM7ICAgICAgICAgICAgIC8qIExpc3Qgb2YgREZBIHN0YXRlcy4gKi8KK3Vuc2lnbmVkIGludCAgICBncm91cGlkOyAgICAgICAgICAgICAgICAvKiBHcm91cCBpZGVudCBjb3VudGVyLiAqLworCisKKy8qKgorKioqICAgICBVVEYtOCBzdHJpbmdzLgorKiovCisKKyNwcmFnbWEgY29udmVydCg4MTkpCisKK3N0YXRpYyBjb25zdCB1dGY4Y2hhciAgIHV0ZjhfTUlCZW51bVtdID0gIk1JQmVudW0iOworc3RhdGljIGNvbnN0IHV0ZjhjaGFyICAgdXRmOF9taWJlbnVtW10gPSAibWliZW51bSI7CitzdGF0aWMgY29uc3QgdXRmOGNoYXIgICB1dGY4X2libV9bXSA9ICJpYm0tIjsKK3N0YXRpYyBjb25zdCB1dGY4Y2hhciAgIHV0ZjhfSUJNQ0NTSURbXSA9ICJJQk1DQ1NJRCI7CitzdGF0aWMgY29uc3QgdXRmOGNoYXIgICB1dGY4X2lhbmFfW10gPSAiaWFuYS0iOworc3RhdGljIGNvbnN0IHV0ZjhjaGFyICAgdXRmOF9OYW1lW10gPSAiTmFtZSI7CitzdGF0aWMgY29uc3QgdXRmOGNoYXIgICB1dGY4X1ByZWZfTUlNRV9OYW1lW10gPSAiUHJlZmVycmVkIE1JTUUgTmFtZSI7CitzdGF0aWMgY29uc3QgdXRmOGNoYXIgICB1dGY4X0FsaWFzZXNbXSA9ICJBbGlhc2VzIjsKK3N0YXRpYyBjb25zdCB1dGY4Y2hhciAgIHV0ZjhfaHRtbFtdID0gImh0bWwiOworc3RhdGljIGNvbnN0IHV0ZjhjaGFyICAgdXRmOF9odG1sdXJpW10gPSAiaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI7CitzdGF0aWMgY29uc3QgdXRmOGNoYXIgICB1dGY4X0FbXSA9ICJBIjsKK3N0YXRpYyBjb25zdCB1dGY4Y2hhciAgIHV0ZjhfQ1tdID0gIkMiOworc3RhdGljIGNvbnN0IHV0ZjhjaGFyICAgdXRmOF9NW10gPSAiTSI7CitzdGF0aWMgY29uc3QgdXRmOGNoYXIgICB1dGY4X05bXSA9ICJOIjsKK3N0YXRpYyBjb25zdCB1dGY4Y2hhciAgIHV0ZjhfUFtdID0gIlAiOworc3RhdGljIGNvbnN0IHV0ZjhjaGFyICAgdXRmOF9UW10gPSAiVCI7CitzdGF0aWMgY29uc3QgdXRmOGNoYXIgICB1dGY4X2Njc2lkW10gPSAiY2NzaWQiOworc3RhdGljIGNvbnN0IHV0ZjhjaGFyICAgdXRmOF9FQkNESUNbXSA9ICJFQkNESUMiOworc3RhdGljIGNvbnN0IHV0ZjhjaGFyICAgdXRmOF9BU0NJSVtdID0gIkFTQ0lJIjsKK3N0YXRpYyBjb25zdCB1dGY4Y2hhciAgIHV0ZjhfYXNzb2Nub2Rlc1tdID0gIi9jY3NpZF9taWJlbnVtL2Fzc29jW0BjY3NpZF0iOworc3RhdGljIGNvbnN0IHV0ZjhjaGFyICAgdXRmOF9hbGlhc3RleHRbXSA9CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIvY2NzaWRfbWliZW51bS9hc3NvY1tAY2NzaWQ9JENdL2FsaWFzL3RleHQoKSI7CisjaWZkZWYgT0xEWE1MCitzdGF0aWMgY29uc3QgdXRmOGNoYXIgICB1dGY4X3RhYmxlcm93c1tdID0KKyAgICAgICAgICAgICAgICAgICAgICAgICIvL3RhYmxlW0BpZD0ndGFibGUtY2hhcmFjdGVyLXNldHMtMSddLyovdHIiOworc3RhdGljIGNvbnN0IHV0ZjhjaGFyICAgdXRmOF9oZWFkZXJwb3NbXSA9CisgICAgICAgICAgICAgICAgImNvdW50KHRoW3RleHQoKT0kVF0vcHJlY2VkaW5nLXNpYmxpbmc6OnRoKSsxIjsKK3N0YXRpYyBjb25zdCB1dGY4Y2hhciAgIHV0ZjhfZ2V0bWliZW51bVtdID0gIm51bWJlcih0ZFskTV0pIjsKK3N0YXRpYyBjb25zdCB1dGY4Y2hhciAgIHV0ZjhfZ2V0cHJlZm5hbWVbXSA9ICJzdHJpbmcodGRbJFBdKSI7CitzdGF0aWMgY29uc3QgdXRmOGNoYXIgICB1dGY4X2dldG5hbWVbXSA9ICJzdHJpbmcodGRbJE5dKSI7CitzdGF0aWMgY29uc3QgdXRmOGNoYXIgICB1dGY4X2dldGFsaWFzZXNbXSA9ICJ0ZFskQV0vdGV4dCgpIjsKKyNlbHNlCitzdGF0aWMgY29uc3QgdXRmOGNoYXIgICB1dGY4X3RhYmxlcm93c1tdID0KKyAgICAgICAgICAgICAgICAgICAgICAgICIvL2h0bWw6dGFibGVbQGlkPSd0YWJsZS1jaGFyYWN0ZXItc2V0cy0xJ10vKi9odG1sOnRyIjsKK3N0YXRpYyBjb25zdCB1dGY4Y2hhciAgIHV0ZjhfaGVhZGVycG9zW10gPQorICAgICAgICAgICAgICAgICJjb3VudChodG1sOnRoW3RleHQoKT0kVF0vcHJlY2VkaW5nLXNpYmxpbmc6Omh0bWw6dGgpKzEiOworc3RhdGljIGNvbnN0IHV0ZjhjaGFyICAgdXRmOF9nZXRtaWJlbnVtW10gPSAibnVtYmVyKGh0bWw6dGRbJE1dKSI7CitzdGF0aWMgY29uc3QgdXRmOGNoYXIgICB1dGY4X2dldHByZWZuYW1lW10gPSAic3RyaW5nKGh0bWw6dGRbJFBdKSI7CitzdGF0aWMgY29uc3QgdXRmOGNoYXIgICB1dGY4X2dldG5hbWVbXSA9ICJzdHJpbmcoaHRtbDp0ZFskTl0pIjsKK3N0YXRpYyBjb25zdCB1dGY4Y2hhciAgIHV0ZjhfZ2V0YWxpYXNlc1tdID0gImh0bWw6dGRbJEFdL3RleHQoKSI7CisjZW5kaWYKKworI3ByYWdtYSBjb252ZXJ0KDApCisKKworLyoqCisqKiogICAgIFVURi04IGNoYXJhY3RlciBsZW5ndGggdGFibGUuCisqKioKKyoqKiAgICAgSW5kZXggaXMgZmlyc3QgY2hhcmFjdGVyIGJ5dGUsIHZhbHVlIGlzIHRoZSBjaGFyYWN0ZXIgYnl0ZSBjb3VudC4KKyoqLworCitzdGF0aWMgc2lnbmVkIGNoYXIgICAgICB1dGY4X2NobGVuW10gPSB7CisvKiAwMC0wNyAqLyAgICAgMSwgICAgICAxLCAgICAgIDEsICAgICAgMSwgICAgICAxLCAgICAgIDEsICAgICAgMSwgICAgICAxLAorLyogMDgtMEYgKi8gICAgIDEsICAgICAgMSwgICAgICAxLCAgICAgIDEsICAgICAgMSwgICAgICAxLCAgICAgIDEsICAgICAgMSwKKy8qIDEwLTE3ICovICAgICAxLCAgICAgIDEsICAgICAgMSwgICAgICAxLCAgICAgIDEsICAgICAgMSwgICAgICAxLCAgICAgIDEsCisvKiAxOC0xRiAqLyAgICAgMSwgICAgICAxLCAgICAgIDEsICAgICAgMSwgICAgICAxLCAgICAgIDEsICAgICAgMSwgICAgICAxLAorLyogMjAtMjcgKi8gICAgIDEsICAgICAgMSwgICAgICAxLCAgICAgIDEsICAgICAgMSwgICAgICAxLCAgICAgIDEsICAgICAgMSwKKy8qIDI4LTJGICovICAgICAxLCAgICAgIDEsICAgICAgMSwgICAgICAxLCAgICAgIDEsICAgICAgMSwgICAgICAxLCAgICAgIDEsCisvKiAzMC0zNyAqLyAgICAgMSwgICAgICAxLCAgICAgIDEsICAgICAgMSwgICAgICAxLCAgICAgIDEsICAgICAgMSwgICAgICAxLAorLyogMzgtM0YgKi8gICAgIDEsICAgICAgMSwgICAgICAxLCAgICAgIDEsICAgICAgMSwgICAgICAxLCAgICAgIDEsICAgICAgMSwKKy8qIDQwLTQ3ICovICAgICAxLCAgICAgIDEsICAgICAgMSwgICAgICAxLCAgICAgIDEsICAgICAgMSwgICAgICAxLCAgICAgIDEsCisvKiA0OC00RiAqLyAgICAgMSwgICAgICAxLCAgICAgIDEsICAgICAgMSwgICAgICAxLCAgICAgIDEsICAgICAgMSwgICAgICAxLAorLyogNTAtNTcgKi8gICAgIDEsICAgICAgMSwgICAgICAxLCAgICAgIDEsICAgICAgMSwgICAgICAxLCAgICAgIDEsICAgICAgMSwKKy8qIDU4LTVGICovICAgICAxLCAgICAgIDEsICAgICAgMSwgICAgICAxLCAgICAgIDEsICAgICAgMSwgICAgICAxLCAgICAgIDEsCisvKiA2MC02NyAqLyAgICAgMSwgICAgICAxLCAgICAgIDEsICAgICAgMSwgICAgICAxLCAgICAgIDEsICAgICAgMSwgICAgICAxLAorLyogNjgtNkYgKi8gICAgIDEsICAgICAgMSwgICAgICAxLCAgICAgIDEsICAgICAgMSwgICAgICAxLCAgICAgIDEsICAgICAgMSwKKy8qIDcwLTc3ICovICAgICAxLCAgICAgIDEsICAgICAgMSwgICAgICAxLCAgICAgIDEsICAgICAgMSwgICAgICAxLCAgICAgIDEsCisvKiA3OC03RiAqLyAgICAgMSwgICAgICAxLCAgICAgIDEsICAgICAgMSwgICAgICAxLCAgICAgIDEsICAgICAgMSwgICAgICAxLAorLyogODAtODcgKi8gICAgIC0xLCAgICAgLTEsICAgICAtMSwgICAgIC0xLCAgICAgLTEsICAgICAtMSwgICAgIC0xLCAgICAgLTEsCisvKiA4OC04RiAqLyAgICAgLTEsICAgICAtMSwgICAgIC0xLCAgICAgLTEsICAgICAtMSwgICAgIC0xLCAgICAgLTEsICAgICAtMSwKKy8qIDkwLTk3ICovICAgICAtMSwgICAgIC0xLCAgICAgLTEsICAgICAtMSwgICAgIC0xLCAgICAgLTEsICAgICAtMSwgICAgIC0xLAorLyogOTgtOUYgKi8gICAgIC0xLCAgICAgLTEsICAgICAtMSwgICAgIC0xLCAgICAgLTEsICAgICAtMSwgICAgIC0xLCAgICAgLTEsCisvKiBBMC1BNyAqLyAgICAgLTEsICAgICAtMSwgICAgIC0xLCAgICAgLTEsICAgICAtMSwgICAgIC0xLCAgICAgLTEsICAgICAtMSwKKy8qIEE4LUFGICovICAgICAtMSwgICAgIC0xLCAgICAgLTEsICAgICAtMSwgICAgIC0xLCAgICAgLTEsICAgICAtMSwgICAgIC0xLAorLyogQjAtQjcgKi8gICAgIC0xLCAgICAgLTEsICAgICAtMSwgICAgIC0xLCAgICAgLTEsICAgICAtMSwgICAgIC0xLCAgICAgLTEsCisvKiBCOC1CRiAqLyAgICAgLTEsICAgICAtMSwgICAgIC0xLCAgICAgLTEsICAgICAtMSwgICAgIC0xLCAgICAgLTEsICAgICAtMSwKKy8qIEMwLUM3ICovICAgICAyLCAgICAgIDIsICAgICAgMiwgICAgICAyLCAgICAgIDIsICAgICAgMiwgICAgICAyLCAgICAgIDIsCisvKiBDOC1DRiAqLyAgICAgMiwgICAgICAyLCAgICAgIDIsICAgICAgMiwgICAgICAyLCAgICAgIDIsICAgICAgMiwgICAgICAyLAorLyogRDAtRDcgKi8gICAgIDIsICAgICAgMiwgICAgICAyLCAgICAgIDIsICAgICAgMiwgICAgICAyLCAgICAgIDIsICAgICAgMiwKKy8qIEQ4LURGICovICAgICAyLCAgICAgIDIsICAgICAgMiwgICAgICAyLCAgICAgIDIsICAgICAgMiwgICAgICAyLCAgICAgIDIsCisvKiBFMC1FNyAqLyAgICAgMywgICAgICAzLCAgICAgIDMsICAgICAgMywgICAgICAzLCAgICAgIDMsICAgICAgMywgICAgICAzLAorLyogRTgtRUYgKi8gICAgIDMsICAgICAgMywgICAgICAzLCAgICAgIDMsICAgICAgMywgICAgICAzLCAgICAgIDMsICAgICAgMywKKy8qIEYwLUY3ICovICAgICA0LCAgICAgIDQsICAgICAgNCwgICAgICA0LCAgICAgIDQsICAgICAgNCwgICAgICA0LCAgICAgIDQsCisvKiBGOC1GRiAqLyAgICAgNSwgICAgICA1LCAgICAgIDUsICAgICAgNSwgICAgICA2LCAgICAgIDYsICAgICAgLTEsICAgICAtMQorfTsKKworCisKK3ZvaWQKK2Noa251bGwodm9pZCAqIHApCisKK3sKKyAgICAgICAgaWYgKHApCisgICAgICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGZwcmludGYoc3RkZXJyLCAiTm90IGVub3VnaCBtZW1vcnlcbiIpOworICAgICAgICBleGl0KDEpOworfQorCisKK3ZvaWQKK21ha2Vjb2RlKGNoYXIgKiBidWYsIHVuc2lnbmVkIGludCBjY3NpZCkKKworeworICAgICAgICBjY3NpZCAmPSAweEZGRkY7CisgICAgICAgIG1lbXNldChidWYsIDAsIDMyKTsKKyAgICAgICAgc3ByaW50ZihidWYsICJJQk1DQ1NJRCUwNXUwMDAwMDAwIiwgY2NzaWQpOworfQorCisKK2ljb252X3QKK2ljb252X29wZW5fY2NzaWQodW5zaWduZWQgaW50IGNjc2lkb3V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgY2NzaWRpbiwgdW5zaWduZWQgaW50IG51bGxmbGFnKQorCit7CisgICAgICAgIGNoYXIgZnJvbWNvZGVbMzNdOworICAgICAgICBjaGFyIHRvY29kZVszM107CisKKyAgICAgICAgbWFrZWNvZGUoZnJvbWNvZGUsIGNjc2lkaW4pOworICAgICAgICBtYWtlY29kZSh0b2NvZGUsIGNjc2lkb3V0KTsKKyAgICAgICAgbWVtc2V0KHRvY29kZSArIDEzLCAwLCBzaXplb2YgdG9jb2RlIC0gMTMpOworCisgICAgICAgIGlmIChudWxsZmxhZykKKyAgICAgICAgICAgICAgICBmcm9tY29kZVsxOF0gPSAnMSc7CisKKyAgICAgICAgcmV0dXJuIGljb252X29wZW4odG9jb2RlLCBmcm9tY29kZSk7Cit9CisKKwordW5zaWduZWQgaW50CitnZXRudW0oY2hhciAqICogY3BwKQorCit7CisgICAgICAgIHVuc2lnbmVkIGludCBuOworICAgICAgICBjaGFyICogY3A7CisKKyAgICAgICAgY3AgPSAqY3BwOworICAgICAgICBuID0gMDsKKworICAgICAgICB3aGlsZSAoaXNkaWdpdCgqY3ApKQorICAgICAgICAgICAgICAgIG4gPSAxMCAqIG4gKyAqY3ArKyAtICcwJzsKKworICAgICAgICAqY3BwID0gY3A7CisgICAgICAgIHJldHVybiBuOworfQorCisKK2NvbnN0IHV0ZjhjaGFyICoKK2hhc2hCaW5hcnlLZXkoY29uc3QgYnl0ZSAqIGJ5dGVzLCB1bnNpZ25lZCBpbnQgbGVuKQorCit7CisgICAgICAgIGNvbnN0IGJ5dGUgKiBicDsKKyAgICAgICAgdXRmOGNoYXIgKiBrZXk7CisgICAgICAgIHV0ZjhjaGFyICogY3A7CisgICAgICAgIHVuc2lnbmVkIGludCBuOworICAgICAgICB1bnNpZ25lZCBpbnQgbjQ7CisgICAgICAgIHVuc2lnbmVkIGludCBpOworCisgICAgICAgIC8qKgorICAgICAgICAqKiogICAgIEVuY29kZSBiaW5hcnkgZGF0YSBpbiBjaGFyYWN0ZXIgZm9ybSB0byBiZSB1c2VkIGFzIGhhc2gKKyAgICAgICAgKioqICAgICAgICAgICAgIHRhYmxlIGtleS4KKyAgICAgICAgKiovCisKKyAgICAgICAgbiA9ICg0ICogbGVuICsgMikgLyAzOworICAgICAgICBrZXkgPSAodXRmOGNoYXIgKikgbWFsbG9jKG4gKyAxKTsKKyAgICAgICAgY2hrbnVsbChrZXkpOworICAgICAgICBicCA9IGJ5dGVzOworICAgICAgICBjcCA9IGtleTsKKworICAgICAgICBmb3IgKG40ID0gbiA+PiAyOyBuNDsgbjQtLSkgeworICAgICAgICAgICAgICAgIGkgPSAoYnBbMF0gPDwgMTYpIHwgKGJwWzFdIDw8IDgpIHwgYnBbMl07CisgICAgICAgICAgICAgICAgKmNwKysgPSAweDIxICsgKChpID4+IDE4KSAmIDB4M0YpOworICAgICAgICAgICAgICAgICpjcCsrID0gMHgyMSArICgoaSA+PiAxMikgJiAweDNGKTsKKyAgICAgICAgICAgICAgICAqY3ArKyA9IDB4MjEgKyAoKGkgPj4gNikgJiAweDNGKTsKKyAgICAgICAgICAgICAgICAqY3ArKyA9IDB4MjEgKyAoaSAmIDB4M0YpOworICAgICAgICAgICAgICAgIGJwICs9IDM7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgIHN3aXRjaCAobiAmIDB4MykgeworCisgICAgICAgIGNhc2UgMjoKKyAgICAgICAgICAgICAgICAqY3ArKyA9IDB4MjEgKyAoKCpicCA+PiAyKSAmIDB4M0YpOworICAgICAgICAgICAgICAgICpjcCsrID0gMHgyMSArICgoKmJwIDw8IDQpICYgMHgzRik7CisgICAgICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgY2FzZSAzOgorICAgICAgICAgICAgICAgIGkgPSAoYnBbMF0gPDwgOCkgfCBicFsxXTsKKyAgICAgICAgICAgICAgICAqY3ArKyA9IDB4MjEgKyAoKGkgPj4gMTApICYgMHgzRik7CisgICAgICAgICAgICAgICAgKmNwKysgPSAweDIxICsgKChpID4+IDQpICYgMHgzRik7CisgICAgICAgICAgICAgICAgKmNwKysgPSAweDIxICsgKChpIDw8IDIpICYgMHgzRik7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICpjcCA9ICdcMCc7CisgICAgICAgIHJldHVybiBrZXk7Cit9CisKKwordm9pZCAqCitoYXNoX2dldCh4bWxIYXNoVGFibGVQdHIgaCwgY29uc3Qgdm9pZCAqIGJpbmtleSwgdW5zaWduZWQgaW50IGxlbikKKworeworICAgICAgICBjb25zdCB1dGY4Y2hhciAqIGtleTsKKyAgICAgICAgdm9pZCAqIHJlc3VsdDsKKworICAgICAgICBrZXkgPSBoYXNoQmluYXJ5S2V5KChjb25zdCBieXRlICopIGJpbmtleSwgbGVuKTsKKyAgICAgICAgcmVzdWx0ID0geG1sSGFzaExvb2t1cChoLCBrZXkpOworICAgICAgICBmcmVlKChjaGFyICopIGtleSk7CisgICAgICAgIHJldHVybiByZXN1bHQ7Cit9CisKKworaW50CitoYXNoX2FkZCh4bWxIYXNoVGFibGVQdHIgaCwgY29uc3Qgdm9pZCAqIGJpbmtleSwgdW5zaWduZWQgaW50IGxlbiwgdm9pZCAqIGRhdGEpCisKK3sKKyAgICAgICAgY29uc3QgdXRmOGNoYXIgKiBrZXk7CisgICAgICAgIGludCByZXN1bHQ7CisKKyAgICAgICAga2V5ID0gaGFzaEJpbmFyeUtleSgoY29uc3QgYnl0ZSAqKSBiaW5rZXksIGxlbik7CisgICAgICAgIHJlc3VsdCA9IHhtbEhhc2hBZGRFbnRyeShoLCBrZXksIGRhdGEpOworICAgICAgICBmcmVlKChjaGFyICopIGtleSk7CisgICAgICAgIHJldHVybiByZXN1bHQ7Cit9CisKKworeG1sRG9jUHRyCitsb2FkWE1MRmlsZShjb25zdCBjaGFyICogZmlsZW5hbWUpCisKK3sKKyAgICAgICAgc3RydWN0IHN0YXQgc2J1ZjsKKyAgICAgICAgYnl0ZSAqIGRhdGFidWY7CisgICAgICAgIGludCBmZDsKKyAgICAgICAgaW50IGk7CisgICAgICAgIHhtbERvY1B0ciBkb2M7CisKKyAgICAgICAgaWYgKHN0YXQoZmlsZW5hbWUsICZzYnVmKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gKHhtbERvY1B0cikgTlVMTDsKKworICAgICAgICBkYXRhYnVmID0gbWFsbG9jKHNidWYuc3Rfc2l6ZSArIDQpOworCisgICAgICAgIGlmICghZGF0YWJ1ZikKKyAgICAgICAgICAgICAgICByZXR1cm4gKHhtbERvY1B0cikgTlVMTDsKKworICAgICAgICBmZCA9IG9wZW4oZmlsZW5hbWUsIE9fUkRPTkxZCisjaWZkZWYgT19CSU5BUlkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBPX0JJTkFSWQorI2VuZGlmCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7CisKKyAgICAgICAgaWYgKGZkIDwgMCkgeworICAgICAgICAgICAgICAgIGZyZWUoKGNoYXIgKikgZGF0YWJ1Zik7CisgICAgICAgICAgICAgICAgcmV0dXJuICh4bWxEb2NQdHIpIE5VTEw7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgIGkgPSByZWFkKGZkLCAoY2hhciAqKSBkYXRhYnVmLCBzYnVmLnN0X3NpemUpOworICAgICAgICBjbG9zZShmZCk7CisKKyAgICAgICAgaWYgKGkgIT0gc2J1Zi5zdF9zaXplKSB7CisgICAgICAgICAgICAgICAgZnJlZSgoY2hhciAqKSBkYXRhYnVmKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gKHhtbERvY1B0cikgTlVMTDsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgZGF0YWJ1ZltpXSA9IGRhdGFidWZbaSArIDFdID0gZGF0YWJ1ZltpICsgMl0gPSBkYXRhYnVmW2kgKyAzXSA9IDA7CisgICAgICAgIGRvYyA9IHhtbFBhcnNlTWVtb3J5KCh4bWxDaGFyICopIGRhdGFidWYsIGkpOworICAgICAgICBmcmVlKChjaGFyICopIGRhdGFidWYpOworICAgICAgICByZXR1cm4gZG9jOworfQorCisKK2ludAorbWF0Y2goY2hhciAqICogY3BwLCBjaGFyICogcykKKworeworICAgICAgICBjaGFyICogY3A7CisgICAgICAgIGludCBjMTsKKyAgICAgICAgaW50IGMyOworCisgICAgICAgIGNwID0gKmNwcDsKKworICAgICAgICBmb3IgKGNwID0gKmNwcDsgYzIgPSAqcysrOyBjcCsrKSB7CisgICAgICAgICAgICAgICAgYzEgPSAqY3A7CisKKyAgICAgICAgICAgICAgICBpZiAoYzEgIT0gYzIpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc3VwcGVyKGMxKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYzEgPSB0b2xvd2VyKGMxKTsKKworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzdXBwZXIoYzIpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjMiA9IHRvbG93ZXIoYzIpOworICAgICAgICAgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgaWYgKGMxICE9IGMyKQorICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgIGMxID0gKmNwOworCisgICAgICAgIHdoaWxlIChjMSA9PSAnICcgfHwgYzEgPT0gJ1x0JykKKyAgICAgICAgICAgICAgICBjMSA9ICorK2NwOworCisgICAgICAgICpjcHAgPSBjcDsKKyAgICAgICAgcmV0dXJuIDE7Cit9CisKKwordF9zdGF0ZSAqCituZXdzdGF0ZSh2b2lkKQorCit7CisgICAgICAgIHRfc3RhdGUgKiBzOworCisgICAgICAgIHMgPSAodF9zdGF0ZSAqKSBtYWxsb2Moc2l6ZW9mICpzKTsKKyAgICAgICAgY2hrbnVsbChzKTsKKyAgICAgICAgbWVtc2V0KChjaGFyICopIHMsIDAsIHNpemVvZiAqcyk7CisgICAgICAgIHJldHVybiBzOworfQorCisKK3ZvaWQKK3VubGlua190cmFuc2l0aW9uKHRfdHJhbnNpdGlvbiAqIHQpCisKK3sKKyAgICAgICAgaWYgKHQtPnRfYmFja25leHQpCisgICAgICAgICAgICAgICAgdC0+dF9iYWNrbmV4dC0+dF9iYWNrcHJldiA9IHQtPnRfYmFja3ByZXY7CisKKyAgICAgICAgaWYgKHQtPnRfYmFja3ByZXYpCisgICAgICAgICAgICAgICAgdC0+dF9iYWNrcHJldi0+dF9iYWNrbmV4dCA9IHQtPnRfYmFja25leHQ7CisgICAgICAgIGVsc2UgaWYgKHQtPnRfdG8pCisgICAgICAgICAgICAgICAgdC0+dF90by0+c19iYWNrd2FyZCA9IHQtPnRfYmFja25leHQ7CisKKyAgICAgICAgaWYgKHQtPnRfZm9yd25leHQpCisgICAgICAgICAgICAgICAgdC0+dF9mb3J3bmV4dC0+dF9mb3J3cHJldiA9IHQtPnRfZm9yd3ByZXY7CisKKyAgICAgICAgaWYgKHQtPnRfZm9yd3ByZXYpCisgICAgICAgICAgICAgICAgdC0+dF9mb3J3cHJldi0+dF9mb3J3bmV4dCA9IHQtPnRfZm9yd25leHQ7CisgICAgICAgIGVsc2UgaWYgKHQtPnRfZnJvbSkKKyAgICAgICAgICAgICAgICB0LT50X2Zyb20tPnNfZm9yd2FyZCA9IHQtPnRfZm9yd25leHQ7CisKKyAgICAgICAgdC0+dF9iYWNrcHJldiA9ICh0X3RyYW5zaXRpb24gKikgTlVMTDsKKyAgICAgICAgdC0+dF9iYWNrbmV4dCA9ICh0X3RyYW5zaXRpb24gKikgTlVMTDsKKyAgICAgICAgdC0+dF9mb3J3cHJldiA9ICh0X3RyYW5zaXRpb24gKikgTlVMTDsKKyAgICAgICAgdC0+dF9mb3J3bmV4dCA9ICh0X3RyYW5zaXRpb24gKikgTlVMTDsKKyAgICAgICAgdC0+dF9mcm9tID0gKHRfc3RhdGUgKikgTlVMTDsKKyAgICAgICAgdC0+dF90byA9ICh0X3N0YXRlICopIE5VTEw7Cit9CisKKwordm9pZAorbGlua190cmFuc2l0aW9uKHRfdHJhbnNpdGlvbiAqIHQsIHRfc3RhdGUgKiBmcm9tLCB0X3N0YXRlICogdG8pCisKK3sKKyAgICAgICAgaWYgKCFmcm9tKQorICAgICAgICAgICAgICAgIGZyb20gPSB0LT50X2Zyb207CisKKyAgICAgICAgaWYgKCF0bykKKyAgICAgICAgICAgICAgICB0byA9IHQtPnRfdG87CisKKyAgICAgICAgdW5saW5rX3RyYW5zaXRpb24odCk7CisKKyAgICAgICAgaWYgKCh0LT50X2Zyb20gPSBmcm9tKSkgeworICAgICAgICAgICAgICAgIGlmICgodC0+dF9mb3J3bmV4dCA9IGZyb20tPnNfZm9yd2FyZCkpCisgICAgICAgICAgICAgICAgICAgICAgICB0LT50X2ZvcnduZXh0LT50X2ZvcndwcmV2ID0gdDsKKworICAgICAgICAgICAgICAgIGZyb20tPnNfZm9yd2FyZCA9IHQ7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgIGlmICgodC0+dF90byA9IHRvKSkgeworICAgICAgICAgICAgICAgIGlmICgodC0+dF9iYWNrbmV4dCA9IHRvLT5zX2JhY2t3YXJkKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHQtPnRfYmFja25leHQtPnRfYmFja3ByZXYgPSB0OworCisgICAgICAgICAgICAgICAgdG8tPnNfYmFja3dhcmQgPSB0OworICAgICAgICAgICAgICAgIH0KK30KKworCit0X3RyYW5zaXRpb24gKgorbmV3dHJhbnNpdGlvbih1bnNpZ25lZCBpbnQgdG9rZW4sIHRfc3RhdGUgKiBmcm9tLCB0X3N0YXRlICogdG8pCisKK3sKKyAgICAgICAgdF90cmFuc2l0aW9uICogdDsKKworICAgICAgICB0ID0gKHRfdHJhbnNpdGlvbiAqKSBtYWxsb2Moc2l6ZW9mICp0KTsKKyAgICAgICAgY2hrbnVsbCh0KTsKKyAgICAgICAgbWVtc2V0KChjaGFyICopIHQsIDAsIHNpemVvZiAqdCk7CisgICAgICAgIHQtPnRfdG9rZW4gPSB0b2tlbjsKKyAgICAgICAgbGlua190cmFuc2l0aW9uKHQsIGZyb20sIHRvKTsKKyAgICAgICAgcmV0dXJuIHQ7Cit9CisKKwordF90cmFuc2l0aW9uICoKK3VuaXF1ZXRyYW5zaXRpb24odW5zaWduZWQgaW50IHRva2VuLCB0X3N0YXRlICogZnJvbSwgdF9zdGF0ZSAqIHRvKQorCit7CisgICAgICAgIHRfdHJhbnNpdGlvbiAqIHQ7CisKKyAgICAgICAgZm9yICh0ID0gZnJvbS0+c19mb3J3YXJkOyB0OyB0ID0gdC0+dF9mb3J3bmV4dCkKKyAgICAgICAgICAgICAgICBpZiAodC0+dF90b2tlbiA9PSB0b2tlbiAmJiAodC0+dF90byA9PSB0byB8fCAhdG8pKQorICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHQ7CisKKyAgICAgICAgcmV0dXJuIHRvPyBuZXd0cmFuc2l0aW9uKHRva2VuLCBmcm9tLCB0byk6ICh0X3RyYW5zaXRpb24gKikgTlVMTDsKK30KKworCitpbnQKK3NldF9wb3NpdGlvbih0X3Bvd2Vyc2V0ICogcywgdm9pZCAqIGUpCisKK3sKKyAgICAgICAgdW5zaWduZWQgaW50IGw7CisgICAgICAgIHVuc2lnbmVkIGludCBoOworICAgICAgICB1bnNpZ25lZCBpbnQgbTsKKyAgICAgICAgaW50IGk7CisKKyAgICAgICAgbCA9IDA7CisgICAgICAgIGggPSBzLT5wX2NhcmQ7CisKKyAgICAgICAgd2hpbGUgKGwgPCBoKSB7CisgICAgICAgICAgICAgICAgbSA9IChsICsgaCkgPj4gMTsKKworICAgICAgICAgICAgICAgIC8qKgorICAgICAgICAgICAgICAgICoqKiAgICAgSWYgYm90aCBwb2ludGVycyBiZWxvbmcgdG8gZGlmZmVyZW50IGFsbG9jYXRpb24gYXJlbmFzLAorICAgICAgICAgICAgICAgICoqKiAgICAgICAgICAgICBuYXRpdmUgY29tcGFyaXNvbiBtYXkgZmluZCB0aGVtIG5laXRoZXIKKyAgICAgICAgICAgICAgICAqKiogICAgICAgICAgICAgZXF1YWwsIG5vciBncmVhdGVyLCBub3Igc21hbGxlci4KKyAgICAgICAgICAgICAgICAqKiogICAgIFdlIHRodXMgY29tcGFyZSB1c2luZyBtZW1jbXAoKSB0byBnZXQgYW4gb3J0aG9nb25hbAorICAgICAgICAgICAgICAgICoqKiAgICAgICAgICAgICByZXN1bHQuCisgICAgICAgICAgICAgICAgKiovCisKKyAgICAgICAgICAgICAgICBpID0gbWVtY21wKCZlLCBzLT5wX3NldCArIG0sIHNpemVvZiBlKTsKKworICAgICAgICAgICAgICAgIGlmIChpIDwgMCkKKyAgICAgICAgICAgICAgICAgICAgICAgIGggPSBtOworICAgICAgICAgICAgICAgIGVsc2UgaWYgKCFpKQorICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG07CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAgbCA9IG0gKyAxOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICByZXR1cm4gbDsKK30KKworCit0X3Bvd2Vyc2V0ICoKK3NldF9pbmNsdWRlKHRfcG93ZXJzZXQgKiBzLCB2b2lkICogZSkKKworeworICAgICAgICB1bnNpZ25lZCBpbnQgcG9zOworICAgICAgICB1bnNpZ25lZCBpbnQgbjsKKworICAgICAgICBpZiAoIXMpIHsKKyAgICAgICAgICAgICAgICBzID0gKHRfcG93ZXJzZXQgKikgbWFsbG9jKHNpemVvZiAqcyArCisgICAgICAgICAgICAgICAgICAgIEdSQU5VTEUgKiBzaXplb2Ygcy0+cF9zZXQpOworICAgICAgICAgICAgICAgIGNoa251bGwocyk7CisgICAgICAgICAgICAgICAgcy0+cF9zaXplID0gR1JBTlVMRTsKKyAgICAgICAgICAgICAgICBzLT5wX3NldFtHUkFOVUxFXSA9ICh0X3N0YXRlICopIE5VTEw7CisgICAgICAgICAgICAgICAgcy0+cF9zZXRbMF0gPSBlOworICAgICAgICAgICAgICAgIHMtPnBfY2FyZCA9IDE7CisgICAgICAgICAgICAgICAgcmV0dXJuIHM7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgIHBvcyA9IHNldF9wb3NpdGlvbihzLCBlKTsKKworICAgICAgICBpZiAocG9zIDwgcy0+cF9jYXJkICYmIHMtPnBfc2V0W3Bvc10gPT0gZSkKKyAgICAgICAgICAgICAgICByZXR1cm4gczsKKworICAgICAgICBpZiAocy0+cF9jYXJkID49IHMtPnBfc2l6ZSkgeworICAgICAgICAgICAgICAgIHMtPnBfc2l6ZSArPSBHUkFOVUxFOworICAgICAgICAgICAgICAgIHMgPSAodF9wb3dlcnNldCAqKSByZWFsbG9jKHMsCisgICAgICAgICAgICAgICAgICAgIHNpemVvZiAqcyArIHMtPnBfc2l6ZSAqIHNpemVvZiBzLT5wX3NldCk7CisgICAgICAgICAgICAgICAgY2hrbnVsbChzKTsKKyAgICAgICAgICAgICAgICBzLT5wX3NldFtzLT5wX3NpemVdID0gKHRfc3RhdGUgKikgTlVMTDsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgbiA9IHMtPnBfY2FyZCAtIHBvczsKKworICAgICAgICBpZiAobikKKyAgICAgICAgICAgICAgICBtZW1tb3ZlKChjaGFyICopIChzLT5wX3NldCArIHBvcyArIDEpLAorICAgICAgICAgICAgICAgICAgICAoY2hhciAqKSAocy0+cF9zZXQgKyBwb3MpLCBuICogc2l6ZW9mIHMtPnBfc2V0WzBdKTsKKworICAgICAgICBzLT5wX3NldFtwb3NdID0gZTsKKyAgICAgICAgcy0+cF9jYXJkKys7CisgICAgICAgIHJldHVybiBzOworfQorCisKK3Rfc3RhdGUgKgorbmZhdHJhbnNpdGlvbih0X3N0YXRlICogdG8sIGJ5dGUgdG9rZW4pCisKK3sKKyAgICAgICAgdF9zdGF0ZSAqIGZyb207CisKKyAgICAgICAgZnJvbSA9IG5ld3N0YXRlKCk7CisgICAgICAgIG5ld3RyYW5zaXRpb24odG9rZW4sIGZyb20sIHRvKTsKKyAgICAgICAgcmV0dXJuIGZyb207Cit9CisKKworc3RhdGljIHRfc3RhdGUgKiAgICAgICAgbmZhZGV2ZWxvcCh0X3N0YXRlICogZnJvbSwgdF9zdGF0ZSAqIGZpbmFsLCBpY29udl90IGljYywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdXRmOGNoYXIgKiBuYW1lLCB1bnNpZ25lZCBpbnQgbGVuKTsKKworCit2b2lkCituZmFzbGljZSh0X3N0YXRlICogKiBmcm9tLCB0X3N0YXRlICogKiB0bywgaWNvbnZfdCBpY2MsCisgICAgICAgICAgICAgICAgY29uc3QgdXRmOGNoYXIgKiBjaHIsIHVuc2lnbmVkIGludCBjaGxlbiwKKyAgICAgICAgICAgICAgICBjb25zdCB1dGY4Y2hhciAqIG5hbWUsIHVuc2lnbmVkIGludCBsZW4sIHRfc3RhdGUgKiBmaW5hbCkKKworeworICAgICAgICBjaGFyICogc3JjcDsKKyAgICAgICAgY2hhciAqIGRzdHA7CisgICAgICAgIHNpemVfdCBzcmNjOworICAgICAgICBzaXplX3QgZHN0YzsKKyAgICAgICAgdW5zaWduZWQgaW50IGNudDsKKyAgICAgICAgdF9zdGF0ZSAqIGY7CisgICAgICAgIHRfc3RhdGUgKiB0OworICAgICAgICB0X3RyYW5zaXRpb24gKiB0cDsKKyAgICAgICAgYnl0ZSBieXRlYnVmWzhdOworCisgICAgICAgIHNyY3AgPSAoY2hhciAqKSBjaHI7CisgICAgICAgIHNyY2MgPSBjaGxlbjsKKyAgICAgICAgZHN0cCA9IChjaGFyICopIGJ5dGVidWY7CisgICAgICAgIGRzdGMgPSBzaXplb2YgYnl0ZWJ1ZjsKKyAgICAgICAgaWNvbnYoaWNjLCAmc3JjcCwgJnNyY2MsICZkc3RwLCAmZHN0Yyk7CisgICAgICAgIGRzdHAgPSAoY2hhciAqKSBieXRlYnVmOworICAgICAgICBjbnQgPSBzaXplb2YgYnl0ZWJ1ZiAtIGRzdGM7CisgICAgICAgIHQgPSAqdG87CisgICAgICAgIGYgPSAqZnJvbTsKKworICAgICAgICAvKioKKyAgICAgICAgKioqICAgICBDaGVjayBmb3IgZW5kIG9mIHN0cmluZy4KKyAgICAgICAgKiovCisKKyAgICAgICAgaWYgKCFsZW4pCisgICAgICAgICAgICAgICAgaWYgKHQgJiYgdCAhPSBmaW5hbCkKKyAgICAgICAgICAgICAgICAgICAgICAgIHVuaXF1ZXRyYW5zaXRpb24oRVBTSUxPTiwgdCwgZmluYWwpOworICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgIHQgPSBmaW5hbDsKKworICAgICAgICBpZiAoZikKKyAgICAgICAgICAgICAgICB3aGlsZSAoY250KSB7CisgICAgICAgICAgICAgICAgICAgICAgICB0cCA9IHVuaXF1ZXRyYW5zaXRpb24oKmRzdHAsIGYsICh0X3N0YXRlICopIE5VTEwpOworCisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRwKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKworICAgICAgICAgICAgICAgICAgICAgICAgZiA9IHRwLT50X3RvOworICAgICAgICAgICAgICAgICAgICAgICAgZHN0cCsrOworICAgICAgICAgICAgICAgICAgICAgICAgY250LS07CisgICAgICAgICAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgaWYgKCFjbnQpIHsKKyAgICAgICAgICAgICAgICBpZiAoIXQpCisgICAgICAgICAgICAgICAgICAgICAgICB0ID0gbmZhZGV2ZWxvcChmLCBmaW5hbCwgaWNjLCBuYW1lLCBsZW4pOworCisgICAgICAgICAgICAgICAgKnRvID0gdDsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgIGlmICghdCkgeworICAgICAgICAgICAgICAgIHQgPSBuZmFkZXZlbG9wKCh0X3N0YXRlICopIE5VTEwsIGZpbmFsLCBpY2MsIG5hbWUsIGxlbik7CisgICAgICAgICAgICAgICAgKnRvID0gdDsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgaWYgKCFmKQorICAgICAgICAgICAgICAgICpmcm9tID0gZiA9IG5ld3N0YXRlKCk7CisKKyAgICAgICAgd2hpbGUgKGNudCA+IDEpCisgICAgICAgICAgICAgICAgdCA9IG5mYXRyYW5zaXRpb24odCwgZHN0cFstLWNudF0pOworCisgICAgICAgIG5ld3RyYW5zaXRpb24oKmRzdHAsIGYsIHQpOworfQorCisKK3Rfc3RhdGUgKgorbmZhZGV2ZWxvcCh0X3N0YXRlICogZnJvbSwgdF9zdGF0ZSAqIGZpbmFsLCBpY29udl90IGljYywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1dGY4Y2hhciAqIG5hbWUsIHVuc2lnbmVkIGludCBsZW4pCisKK3sKKyAgICAgICAgaW50IGNobGVuOworICAgICAgICBpbnQgaTsKKyAgICAgICAgdF9zdGF0ZSAqIHRvOworICAgICAgICBpbnQgdWNjbnQ7CisgICAgICAgIGludCBsY2NudDsKKyAgICAgICAgdXRmOGNoYXIgY2hyOworCisgICAgICAgIGNobGVuID0gdXRmOF9jaGxlblsqbmFtZV07CisKKyAgICAgICAgZm9yIChpID0gMTsgaSA8IGNobGVuOyBpKyspCisgICAgICAgICAgICAgICAgaWYgKChuYW1lW2ldICYgMHhDMCkgIT0gMHg4MCkKKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGlmIChpICE9IGNobGVuKSB7CisgICAgICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsCisgICAgICAgICAgICAgICAgICAgICJJbnZhbGlkIFVURjggY2hhcmFjdGVyIGluIGNoYXJhY3RlciBzZXQgbmFtZVxuIik7CisgICAgICAgICAgICAgICAgcmV0dXJuICh0X3N0YXRlICopIE5VTEw7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgIHRvID0gKHRfc3RhdGUgKikgTlVMTDsKKyAgICAgICAgbmZhc2xpY2UoJmZyb20sICZ0bywKKyAgICAgICAgICAgIGljYywgbmFtZSwgY2hsZW4sIG5hbWUgKyBjaGxlbiwgbGVuIC0gY2hsZW4sIGZpbmFsKTsKKworICAgICAgICBpZiAoKm5hbWUgPj0gVVRGOF9hICYmICpuYW1lIDw9IFVURjhfeikKKyAgICAgICAgICAgICAgICBjaHIgPSAqbmFtZSAtIFVURjhfYSArIFVURjhfQTsKKyAgICAgICAgZWxzZSBpZiAoKm5hbWUgPj0gVVRGOF9BICYmICpuYW1lIDw9IFVURjhfWikKKyAgICAgICAgICAgICAgICBjaHIgPSAqbmFtZSAtIFVURjhfQSArIFVURjhfYTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHJldHVybiBmcm9tOworCisgICAgICAgIG5mYXNsaWNlKCZmcm9tLCAmdG8sIGljYywgJmNociwgMSwgbmFtZSArIGNobGVuLCBsZW4gLSBjaGxlbiwgZmluYWwpOworICAgICAgICByZXR1cm4gZnJvbTsKK30KKworCisKK3ZvaWQKK25mYWVudGVyKGNvbnN0IHV0ZjhjaGFyICogbmFtZSwgaW50IGxlbiwgdF9jaHNldCAqIGNoYXJzZXQpCisKK3sKKyAgICAgICAgdF9jaHNldCAqIHM7CisgICAgICAgIHRfc3RhdGUgKiBmaW5hbDsKKyAgICAgICAgdF9zdGF0ZSAqIHNwOworICAgICAgICB0X3N5bWxpc3QgKiBscDsKKworICAgICAgICAvKioKKyAgICAgICAgKioqICAgICBFbnRlciBjYXNlLWluc2Vuc2l0aXZlIGBuYW1lJyBpbiBORkEgaW4gYWxsIGtub3duCisgICAgICAgICoqKiAgICAgICAgICAgICBjaGFyYWN0ZXIgY29kZXMuCisgICAgICAgICoqKiAgICAgUmVkdW5kYW50IHNoaWZ0IHN0YXRlIGNoYW5nZXMgYXMgd2VsbCBhcyBzaGlmdCBzdGF0ZQorICAgICAgICAqKiogICAgICAgICAgICAgZGlmZmVyZW5jZXMgYmV0d2VlbiB1cHBlcmNhc2UgYW5kIGxvd2VyY2FzZSBhcmUKKyAgICAgICAgKioqICAgICAgICAgICAgIG5vdCBoYW5kbGVkLgorICAgICAgICAqKi8KKworICAgICAgICBpZiAobGVuIDwgMCkKKyAgICAgICAgICAgICAgICBsZW4gPSBzdHJsZW4obmFtZSkgKyAxOworCisgICAgICAgIGZvciAobHAgPSBjaGFyc2V0LT5jX25hbWVzOyBscDsgbHAgPSBscC0+bF9uZXh0KQorICAgICAgICAgICAgICAgIGlmICghbWVtY21wKG5hbWUsIGxwLT5sX3N5bWJvbCwgbGVuKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsgICAgICAgICAvKiBBbHJlYWR5IGVudGVyZWQuICovCisKKyAgICAgICAgbHAgPSAodF9zeW1saXN0ICopIG1hbGxvYyhzaXplb2YgKmxwICsgbGVuKTsKKyAgICAgICAgY2hrbnVsbChscCk7CisgICAgICAgIG1lbWNweShscC0+bF9zeW1ib2wsIG5hbWUsIGxlbik7CisgICAgICAgIGxwLT5sX3N5bWJvbFtsZW5dID0gJ1wwJzsKKyAgICAgICAgbHAtPmxfbmV4dCA9IGNoYXJzZXQtPmNfbmFtZXM7CisgICAgICAgIGNoYXJzZXQtPmNfbmFtZXMgPSBscDsKKyAgICAgICAgZmluYWwgPSBuZXdzdGF0ZSgpOworICAgICAgICBmaW5hbC0+c19maW5hbCA9IGNoYXJzZXQ7CisKKyAgICAgICAgZm9yIChzID0gY2hzZXRfbGlzdDsgczsgcyA9IHMtPmNfbmV4dCkKKyAgICAgICAgICAgICAgICBpZiAoIWljb252X29wZW5fZXJyb3Iocy0+Y19mcm9tVVRGOCkpCisgICAgICAgICAgICAgICAgICAgICAgICBzcCA9IG5mYWRldmVsb3AoaW5pdGlhbF9zdGF0ZSwgZmluYWwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcy0+Y19mcm9tVVRGOCwgbmFtZSwgbGVuKTsKK30KKworCit1bnNpZ25lZCBpbnQKK3V0ZjhfdXRvc3RyKHV0ZjhjaGFyICogcywgdW5zaWduZWQgaW50IHYpCisKK3sKKyAgICAgICAgdW5zaWduZWQgaW50IGQ7CisgICAgICAgIHVuc2lnbmVkIGludCBpOworCisgICAgICAgIGQgPSB2IC8gMTA7CisgICAgICAgIHYgLT0gZCAqIDEwOworICAgICAgICBpID0gZD8gdXRmOF91dG9zdHIocywgZCk6IDA7CisgICAgICAgIHNbaSsrXSA9IHYgKyBVVEY4XzA7CisgICAgICAgIHNbaV0gPSAnXDAnOworICAgICAgICByZXR1cm4gaTsKK30KKworCit1bnNpZ25lZCBpbnQKK3V0ZjhfdXRvc3RycGFkKHV0ZjhjaGFyICogcywgdW5zaWduZWQgaW50IHYsIGludCBkaWdpdHMpCisKK3sKKyAgICAgICAgdW5zaWduZWQgaW50IGkgPSB1dGY4X3V0b3N0cihzLCB2KTsKKyAgICAgICAgdXRmOGNoYXIgcGFkID0gVVRGOF9TUEFDRTsKKworICAgICAgICBpZiAoZGlnaXRzIDwgMCkgeworICAgICAgICAgICAgICAgIHBhZCA9IFVURjhfMDsKKyAgICAgICAgICAgICAgICBkaWdpdHMgPSAtZGlnaXRzOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICBpZiAoaSA+PSBkaWdpdHMpCisgICAgICAgICAgICAgICAgcmV0dXJuIGk7CisKKyAgICAgICAgbWVtbW92ZShzICsgZGlnaXRzIC0gaSwgcywgaSArIDEpOworICAgICAgICBtZW1zZXQocywgcGFkLCBkaWdpdHMgLSBpKTsKKyAgICAgICAgcmV0dXJuIGRpZ2l0czsKK30KKworCit1bnNpZ25lZCBpbnQKK3V0Zjhfc3RydG91KGNvbnN0IHV0ZjhjaGFyICogcykKKworeworICAgICAgICB1bnNpZ25lZCBpbnQgdjsKKworICAgICAgICB3aGlsZSAoKnMgPT0gVVRGOF9TUEFDRSB8fCAqcyA9PSBVVEY4X0hUKQorICAgICAgICAgICAgICAgIHMrKzsKKworICAgICAgICBmb3IgKHYgPSAwOyAqcyA+PSBVVEY4XzAgJiYgKnMgPD0gVVRGOF85OykKKyAgICAgICAgICAgICAgICB2ID0gMTAgKiB2ICsgKnMrKyAtIFVURjhfMDsKKworICAgICAgICByZXR1cm4gdjsKK30KKworCit1bnNpZ25lZCBpbnQKK2dldE51bUF0dHIoeG1sTm9kZVB0ciBub2RlLCBjb25zdCB4bWxDaGFyICogbmFtZSkKKworeworICAgICAgICBjb25zdCB4bWxDaGFyICogczsKKyAgICAgICAgdW5zaWduZWQgaW50IHZhbDsKKworICAgICAgICBzID0geG1sR2V0UHJvcChub2RlLCBuYW1lKTsKKworICAgICAgICBpZiAoIXMpCisgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisKKyAgICAgICAgdmFsID0gdXRmOF9zdHJ0b3Uocyk7CisgICAgICAgIHhtbEZyZWUoKHhtbENoYXIgKikgcyk7CisgICAgICAgIHJldHVybiB2YWw7Cit9CisKKwordm9pZAorcmVhZF9hc3NvY3MoY29uc3QgY2hhciAqIGZpbGVuYW1lKQorCit7CisgICAgICAgIHhtbERvY1B0ciBkb2M7CisgICAgICAgIHhtbFhQYXRoQ29udGV4dFB0ciBjdHh0OworICAgICAgICB4bWxYUGF0aE9iamVjdFB0ciBvYmo7CisgICAgICAgIHhtbE5vZGVQdHIgbm9kZTsKKyAgICAgICAgdF9jaHNldCAqIHNwOworICAgICAgICBpbnQgaTsKKyAgICAgICAgdW5zaWduZWQgaW50IGNjc2lkOworICAgICAgICB1bnNpZ25lZCBpbnQgbWliZW51bTsKKyAgICAgICAgdXRmOGNoYXIgc3ltYnVmWzMyXTsKKworICAgICAgICBkb2MgPSBsb2FkWE1MRmlsZShmaWxlbmFtZSk7CisKKyAgICAgICAgaWYgKCFkb2MpIHsKKyAgICAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkNhbm5vdCBsb2FkIGZpbGUgJXNcbiIsIGZpbGVuYW1lKTsKKyAgICAgICAgICAgICAgICBleGl0KDEpOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICBjdHh0ID0geG1sWFBhdGhOZXdDb250ZXh0KGRvYyk7CisgICAgICAgIG9iaiA9IHhtbFhQYXRoRXZhbCh1dGY4X2Fzc29jbm9kZXMsIGN0eHQpOworCisgICAgICAgIGlmICghb2JqIHx8IG9iai0+dHlwZSAhPSBYUEFUSF9OT0RFU0VUIHx8ICFvYmotPm5vZGVzZXR2YWwgfHwKKyAgICAgICAgICAgICFvYmotPm5vZGVzZXR2YWwtPm5vZGVUYWIgfHwgIW9iai0+bm9kZXNldHZhbC0+bm9kZU5yKSB7CisgICAgICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJObyBhc3NvY2lhdGlvbiBmb3VuZCBpbiAlc1xuIiwgZmlsZW5hbWUpOworICAgICAgICAgICAgICAgIGV4aXQoMSk7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgIGZvciAoaSA9IDA7IGkgPCBvYmotPm5vZGVzZXR2YWwtPm5vZGVOcjsgaSsrKSB7CisgICAgICAgICAgICAgICAgbm9kZSA9IG9iai0+bm9kZXNldHZhbC0+bm9kZVRhYltpXTsKKyAgICAgICAgICAgICAgICBjY3NpZCA9IGdldE51bUF0dHIobm9kZSwgdXRmOF9jY3NpZCk7CisgICAgICAgICAgICAgICAgbWliZW51bSA9IGdldE51bUF0dHIobm9kZSwgdXRmOF9taWJlbnVtKTsKKworICAgICAgICAgICAgICAgIC8qKgorICAgICAgICAgICAgICAgICoqKiAgICAgQ2hlY2sgZm9yIGR1cGxpY2F0ZS4KKyAgICAgICAgICAgICAgICAqKi8KKworICAgICAgICAgICAgICAgIGZvciAoc3AgPSBjaHNldF9saXN0OyBzcDsgc3AgPSBzcC0+Y19uZXh0KQorICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNjc2lkICYmIGNjc2lkID09IHNwLT5jX2Njc2lkIHx8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWliZW51bSAmJiBtaWJlbnVtID09IHNwLT5jX21pYmVudW0pIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJEdXBsaWNhdGUgY2hhcmFjdGVyIHNldDogIik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiQ0NTSUQgPSAldS8ldSwgIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNjc2lkLCBzcC0+Y19jY3NpZCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiTUlCZW51bSA9ICV1LyV1XG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWliZW51bSwgc3AtPmNfbWliZW51bSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBpZiAoc3ApCisgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAgICAgICAgIC8qKgorICAgICAgICAgICAgICAgICoqKiAgICAgQWxsb2NhdGUgdGhlIG5ldyBjaGFyYWN0ZXIgc2V0LgorICAgICAgICAgICAgICAgICoqLworCisgICAgICAgICAgICAgICAgc3AgPSAodF9jaHNldCAqKSBtYWxsb2Moc2l6ZW9mICpzcCk7CisgICAgICAgICAgICAgICAgY2hrbnVsbChzcCk7CisgICAgICAgICAgICAgICAgbWVtc2V0KHNwLCAwLCBzaXplb2YgKnNwKTsKKworICAgICAgICAgICAgICAgIGlmICghY2NzaWQpICAgICAvKiBEbyBub3QgYXR0ZW1wdCB3aXRoIGN1cnJlbnQgam9iIENDU0lELiAqLworICAgICAgICAgICAgICAgICAgICAgICAgc2V0X2ljb252X29wZW5fZXJyb3Ioc3AtPmNfZnJvbVVURjgpOworICAgICAgICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAgc3AtPmNfZnJvbVVURjggPQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb252X29wZW5fY2NzaWQoY2NzaWQsIENfVVRGOF9DQ1NJRCwgMCk7CisKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpY29udl9vcGVuX2Vycm9yKHNwLT5jX2Zyb21VVEY4KSA9PSAtMSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQ2Fubm90IGNvbnZlcnQgaW50byBDQ1NJRCAldTogaWdub3JlZFxuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNjc2lkKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIHNwLT5jX2Njc2lkID0gY2NzaWQ7CisgICAgICAgICAgICAgICAgc3AtPmNfbWliZW51bSA9IG1pYmVudW07CisgICAgICAgICAgICAgICAgc3AtPmNfbmV4dCA9IGNoc2V0X2xpc3Q7CisgICAgICAgICAgICAgICAgY2hzZXRfbGlzdCA9IHNwOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICB4bWxYUGF0aEZyZWVPYmplY3Qob2JqKTsKKworICAgICAgICAvKioKKyAgICAgICAgKioqICAgICBFbnRlciBhbGlhc2VzLgorICAgICAgICAqKi8KKworICAgICAgICBmb3IgKHNwID0gY2hzZXRfbGlzdDsgc3A7IHNwID0gc3AtPmNfbmV4dCkgeworICAgICAgICAgICAgICAgIHN0cmNweShzeW1idWYsIHV0ZjhfaWJtXyk7CisgICAgICAgICAgICAgICAgdXRmOF91dG9zdHIoc3ltYnVmICsgNCwgc3AtPmNfY2NzaWQpOworICAgICAgICAgICAgICAgIG5mYWVudGVyKHN5bWJ1ZiwgLTEsIHNwKTsKKyAgICAgICAgICAgICAgICBzdHJjcHkoc3ltYnVmLCB1dGY4X0lCTUNDU0lEKTsKKyAgICAgICAgICAgICAgICB1dGY4X3V0b3N0cnBhZChzeW1idWYgKyA4LCBzcC0+Y19jY3NpZCwgLTUpOworICAgICAgICAgICAgICAgIG5mYWVudGVyKHN5bWJ1ZiwgMTMsIHNwKTsgICAgICAgLyogTm90IG51bGwtdGVybWluYXRlZC4gKi8KKworICAgICAgICAgICAgICAgIGlmIChzcC0+Y19taWJlbnVtKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBzdHJjcHkoc3ltYnVmLCB1dGY4X2lhbmFfKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHV0ZjhfdXRvc3RyKHN5bWJ1ZiArIDUsIHNwLT5jX21pYmVudW0pOworICAgICAgICAgICAgICAgICAgICAgICAgbmZhZW50ZXIoc3ltYnVmLCAtMSwgc3ApOworICAgICAgICAgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgeG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlKGN0eHQsIHV0ZjhfQywKKyAgICAgICAgICAgICAgICAgICAgeG1sWFBhdGhOZXdGbG9hdCgoZG91YmxlKSBzcC0+Y19jY3NpZCkpOworICAgICAgICAgICAgICAgIG9iaiA9IHhtbFhQYXRoRXZhbCh1dGY4X2FsaWFzdGV4dCwgY3R4dCk7CisKKyAgICAgICAgICAgICAgICBpZiAoIW9iaiB8fCBvYmotPnR5cGUgIT0gWFBBVEhfTk9ERVNFVCkgeworICAgICAgICAgICAgICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJnZXRBbGlhcyBmYWlsZWQgaW4gJXNcbiIsIGZpbGVuYW1lKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGV4aXQoMSk7CisgICAgICAgICAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBpZiAob2JqLT5ub2Rlc2V0dmFsICYmCisgICAgICAgICAgICAgICAgICAgIG9iai0+bm9kZXNldHZhbC0+bm9kZVRhYiAmJiBvYmotPm5vZGVzZXR2YWwtPm5vZGVOcikgeworICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IG9iai0+bm9kZXNldHZhbC0+bm9kZU5yOyBpKyspIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZSA9IG9iai0+bm9kZXNldHZhbC0+bm9kZVRhYltpXTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmZhZW50ZXIobm9kZS0+Y29udGVudCwgLTEsIHNwKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgeG1sWFBhdGhGcmVlT2JqZWN0KG9iaik7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgIHhtbFhQYXRoRnJlZUNvbnRleHQoY3R4dCk7CisgICAgICAgIHhtbEZyZWVEb2MoZG9jKTsKK30KKworCit1bnNpZ25lZCBpbnQKK2NvbHVtblBvc2l0aW9uKHhtbFhQYXRoQ29udGV4dFB0ciBjdHh0LCBjb25zdCB4bWxDaGFyICogaGVhZGVyKQorCit7CisgICAgICAgIHhtbFhQYXRoT2JqZWN0UHRyIG9iajsKKyAgICAgICAgdW5zaWduZWQgaW50IHJlcyA9IDA7CisKKyAgICAgICAgeG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlKGN0eHQsIHV0ZjhfVCwgeG1sWFBhdGhOZXdTdHJpbmcoaGVhZGVyKSk7CisgICAgICAgIG9iaiA9IHhtbFhQYXRoRXZhbCh1dGY4X2hlYWRlcnBvcywgY3R4dCk7CisKKyAgICAgICAgaWYgKG9iaikgeworICAgICAgICAgICAgICAgIGlmIChvYmotPnR5cGUgPT0gWFBBVEhfTlVNQkVSKQorICAgICAgICAgICAgICAgICAgICAgICAgcmVzID0gKHVuc2lnbmVkIGludCkgb2JqLT5mbG9hdHZhbDsKKworICAgICAgICAgICAgICAgIHhtbFhQYXRoRnJlZU9iamVjdChvYmopOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICByZXR1cm4gcmVzOworfQorCisKK3ZvaWQKK3JlYWRfaWFuYShjb25zdCBjaGFyICogZmlsZW5hbWUpCisKK3sKKyAgICAgICAgeG1sRG9jUHRyIGRvYzsKKyAgICAgICAgeG1sWFBhdGhDb250ZXh0UHRyIGN0eHQ7CisgICAgICAgIHhtbFhQYXRoT2JqZWN0UHRyIG9iajE7CisgICAgICAgIHhtbFhQYXRoT2JqZWN0UHRyIG9iajI7CisgICAgICAgIHhtbE5vZGVQdHIgbm9kZTsKKyAgICAgICAgaW50IHByZWZuYW1lY29sOworICAgICAgICBpbnQgbmFtZWNvbDsKKyAgICAgICAgaW50IG1pYmVudW1jb2w7CisgICAgICAgIGludCBhbGlhc2NvbDsKKyAgICAgICAgaW50IG1pYmVudW07CisgICAgICAgIHRfY2hzZXQgKiBzcDsKKyAgICAgICAgaW50IG47CisgICAgICAgIGludCBpOworCisgICAgICAgIGRvYyA9IGxvYWRYTUxGaWxlKGZpbGVuYW1lKTsKKworICAgICAgICBpZiAoIWRvYykgeworICAgICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiQ2Fubm90IGxvYWQgZmlsZSAlc1xuIiwgZmlsZW5hbWUpOworICAgICAgICAgICAgICAgIGV4aXQoMSk7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgIGN0eHQgPSB4bWxYUGF0aE5ld0NvbnRleHQoZG9jKTsKKworI2lmbmRlZiBPTERYTUwKKyAgICAgICAgeG1sWFBhdGhSZWdpc3Rlck5zKGN0eHQsIHV0ZjhfaHRtbCwgdXRmOF9odG1sdXJpKTsKKyNlbmRpZgorCisgICAgICAgIG9iajEgPSB4bWxYUGF0aEV2YWwodXRmOF90YWJsZXJvd3MsIGN0eHQpOworCisgICAgICAgIGlmICghb2JqMSB8fCBvYmoxLT50eXBlICE9IFhQQVRIX05PREVTRVQgfHwgIW9iajEtPm5vZGVzZXR2YWwgfHwKKyAgICAgICAgICAgICFvYmoxLT5ub2Rlc2V0dmFsLT5ub2RlVGFiIHx8IG9iajEtPm5vZGVzZXR2YWwtPm5vZGVOciA8PSAxKSB7CisgICAgICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJObyBkYXRhIGluICVzXG4iLCBmaWxlbmFtZSk7CisgICAgICAgICAgICAgICAgZXhpdCgxKTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgLyoqCisgICAgICAgICoqKiAgICAgSWRlbnRpZnkgY29sdW1ucy4KKyAgICAgICAgKiovCisKKyAgICAgICAgeG1sWFBhdGhTZXRDb250ZXh0Tm9kZShvYmoxLT5ub2Rlc2V0dmFsLT5ub2RlVGFiWzBdLCBjdHh0KTsKKyAgICAgICAgcHJlZm5hbWVjb2wgPSBjb2x1bW5Qb3NpdGlvbihjdHh0LCB1dGY4X1ByZWZfTUlNRV9OYW1lKTsKKyAgICAgICAgbmFtZWNvbCA9IGNvbHVtblBvc2l0aW9uKGN0eHQsIHV0ZjhfTmFtZSk7CisgICAgICAgIG1pYmVudW1jb2wgPSBjb2x1bW5Qb3NpdGlvbihjdHh0LCB1dGY4X01JQmVudW0pOworICAgICAgICBhbGlhc2NvbCA9IGNvbHVtblBvc2l0aW9uKGN0eHQsIHV0ZjhfQWxpYXNlcyk7CisKKyAgICAgICAgaWYgKCFwcmVmbmFtZWNvbCB8fCAhbmFtZWNvbCB8fCAhbWliZW51bWNvbCB8fCAhYWxpYXNjb2wpIHsKKyAgICAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIktleSBjb2x1bW4ocykgbWlzc2luZyBpbiAlc1xuIiwgZmlsZW5hbWUpOworICAgICAgICAgICAgICAgIGV4aXQoMSk7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgIHhtbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZShjdHh0LCB1dGY4X1AsCisgICAgICAgICAgICB4bWxYUGF0aE5ld0Zsb2F0KChkb3VibGUpIHByZWZuYW1lY29sKSk7CisgICAgICAgIHhtbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZShjdHh0LCB1dGY4X04sCisgICAgICAgICAgICB4bWxYUGF0aE5ld0Zsb2F0KChkb3VibGUpIG5hbWVjb2wpKTsKKyAgICAgICAgeG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlKGN0eHQsIHV0ZjhfTSwKKyAgICAgICAgICAgIHhtbFhQYXRoTmV3RmxvYXQoKGRvdWJsZSkgbWliZW51bWNvbCkpOworICAgICAgICB4bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGUoY3R4dCwgdXRmOF9BLAorICAgICAgICAgICAgeG1sWFBhdGhOZXdGbG9hdCgoZG91YmxlKSBhbGlhc2NvbCkpOworCisgICAgICAgIC8qKgorICAgICAgICAqKiogICAgIFByb2Nlc3MgZWFjaCByb3cuCisgICAgICAgICoqLworCisgICAgICAgIGZvciAobiA9IDE7IG4gPCBvYmoxLT5ub2Rlc2V0dmFsLT5ub2RlTnI7IG4rKykgeworICAgICAgICAgICAgICAgIHhtbFhQYXRoU2V0Q29udGV4dE5vZGUob2JqMS0+bm9kZXNldHZhbC0+bm9kZVRhYltuXSwgY3R4dCk7CisKKyAgICAgICAgICAgICAgICAvKioKKyAgICAgICAgICAgICAgICAqKiogICAgIEdldCB0aGUgTUlCZW51bSBmcm9tIGN1cnJlbnQgcm93LgorICAgICAgICAgICAgICAgICovCisKKyAgICAgICAgICAgICAgICBvYmoyID0geG1sWFBhdGhFdmFsKHV0ZjhfZ2V0bWliZW51bSwgY3R4dCk7CisKKyAgICAgICAgICAgICAgICBpZiAoIW9iajIgfHwgb2JqMi0+dHlwZSAhPSBYUEFUSF9OVU1CRVIpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiZ2V0IE1JQmVudW0gZmFpbGVkIGF0IHJvdyAldVxuIiwgbik7CisgICAgICAgICAgICAgICAgICAgICAgICBleGl0KDEpOworICAgICAgICAgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgaWYgKHhtbFhQYXRoSXNOYU4ob2JqMi0+ZmxvYXR2YWwpIHx8CisgICAgICAgICAgICAgICAgICAgIG9iajItPmZsb2F0dmFsIDwgMS4wIHx8IG9iajItPmZsb2F0dmFsID4gNjU1MzUuMCB8fAorICAgICAgICAgICAgICAgICAgICAoKHVuc2lnbmVkIGludCkgb2JqMi0+ZmxvYXR2YWwpICE9IG9iajItPmZsb2F0dmFsKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgImludmFsaWQgTUlCZW51bSBhdCByb3cgJXVcbiIsIG4pOworICAgICAgICAgICAgICAgICAgICAgICAgeG1sWFBhdGhGcmVlT2JqZWN0KG9iajIpOworICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBtaWJlbnVtID0gb2JqMi0+ZmxvYXR2YWw7CisgICAgICAgICAgICAgICAgeG1sWFBhdGhGcmVlT2JqZWN0KG9iajIpOworCisgICAgICAgICAgICAgICAgLyoqCisgICAgICAgICAgICAgICAgKioqICAgICBTZWFyY2ggdGhlIGFzc29jaWF0aW9ucyBmb3IgYSBjb3JyZXNwb25kaW5nIENDU0lELgorICAgICAgICAgICAgICAgICoqLworCisgICAgICAgICAgICAgICAgZm9yIChzcCA9IGNoc2V0X2xpc3Q7IHNwOyBzcCA9IHNwLT5jX25leHQpCisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3AtPmNfbWliZW51bSA9PSBtaWJlbnVtKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKworICAgICAgICAgICAgICAgIGlmICghc3ApCisgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsgICAgICAgLyogTm8gQ0NTSUQgZm9yIHRoaXMgTUlCZW51bS4gKi8KKworICAgICAgICAgICAgICAgIC8qKgorICAgICAgICAgICAgICAgICoqKiAgICAgUHJvY2VzcyBwcmVmZXJyZWQgTUlNRSBuYW1lLgorICAgICAgICAgICAgICAgICoqLworCisgICAgICAgICAgICAgICAgb2JqMiA9IHhtbFhQYXRoRXZhbCh1dGY4X2dldHByZWZuYW1lLCBjdHh0KTsKKworICAgICAgICAgICAgICAgIGlmICghb2JqMiB8fCBvYmoyLT50eXBlICE9IFhQQVRIX1NUUklORykgeworICAgICAgICAgICAgICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdldCBQcmVmZXJyZWRfTUlNRV9OYW1lIGZhaWxlZCBhdCByb3cgJXVcbiIsIG4pOworICAgICAgICAgICAgICAgICAgICAgICAgZXhpdCgxKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGlmIChvYmoyLT5zdHJpbmd2YWwgJiYgb2JqMi0+c3RyaW5ndmFsWzBdKQorICAgICAgICAgICAgICAgICAgICAgICAgbmZhZW50ZXIob2JqMi0+c3RyaW5ndmFsLCAtMSwgc3ApOworCisgICAgICAgICAgICAgICAgeG1sWFBhdGhGcmVlT2JqZWN0KG9iajIpOworCisgICAgICAgICAgICAgICAgLyoqCisgICAgICAgICAgICAgICAgKioqICAgICBQcm9jZXNzIG5hbWUuCisgICAgICAgICAgICAgICAgKiovCisKKyAgICAgICAgICAgICAgICBvYmoyID0geG1sWFBhdGhFdmFsKHV0ZjhfZ2V0bmFtZSwgY3R4dCk7CisKKyAgICAgICAgICAgICAgICBpZiAoIW9iajIgfHwgb2JqMi0+dHlwZSAhPSBYUEFUSF9TVFJJTkcpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiZ2V0IG5hbWUgZmFpbGVkIGF0IHJvdyAldVxuIiwgbik7CisgICAgICAgICAgICAgICAgICAgICAgICBleGl0KDEpOworICAgICAgICAgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgaWYgKG9iajItPnN0cmluZ3ZhbCAmJiBvYmoyLT5zdHJpbmd2YWxbMF0pCisgICAgICAgICAgICAgICAgICAgICAgICBuZmFlbnRlcihvYmoyLT5zdHJpbmd2YWwsIC0xLCBzcCk7CisKKyAgICAgICAgICAgICAgICB4bWxYUGF0aEZyZWVPYmplY3Qob2JqMik7CisKKyAgICAgICAgICAgICAgICAvKioKKyAgICAgICAgICAgICAgICAqKiogICAgIFByb2Nlc3MgYWxpYXNlcy4KKyAgICAgICAgICAgICAgICAqKi8KKworICAgICAgICAgICAgICAgIG9iajIgPSB4bWxYUGF0aEV2YWwodXRmOF9nZXRhbGlhc2VzLCBjdHh0KTsKKworICAgICAgICAgICAgICAgIGlmICghb2JqMiB8fCBvYmoyLT50eXBlICE9IFhQQVRIX05PREVTRVQpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiZ2V0IGFsaWFzZXMgZmFpbGVkIGF0IHJvdyAldVxuIiwgbik7CisgICAgICAgICAgICAgICAgICAgICAgICBleGl0KDEpOworICAgICAgICAgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgaWYgKG9iajItPm5vZGVzZXR2YWwgJiYgb2JqMi0+bm9kZXNldHZhbC0+bm9kZVRhYikKKyAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBvYmoyLT5ub2Rlc2V0dmFsLT5ub2RlTnI7IGkrKykgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlID0gb2JqMi0+bm9kZXNldHZhbC0+bm9kZVRhYltpXTsKKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobm9kZSAmJiBub2RlLT5jb250ZW50ICYmIG5vZGUtPmNvbnRlbnRbMF0pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmZhZW50ZXIobm9kZS0+Y29udGVudCwgLTEsIHNwKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgeG1sWFBhdGhGcmVlT2JqZWN0KG9iajIpOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICB4bWxYUGF0aEZyZWVPYmplY3Qob2JqMSk7CisgICAgICAgIHhtbFhQYXRoRnJlZUNvbnRleHQoY3R4dCk7CisgICAgICAgIHhtbEZyZWVEb2MoZG9jKTsKK30KKworCit0X3Bvd2Vyc2V0ICogICAgY2xvc3VyZXNldCh0X3Bvd2Vyc2V0ICogZHN0LCB0X3Bvd2Vyc2V0ICogc3JjKTsKKworCit0X3Bvd2Vyc2V0ICoKK2Nsb3N1cmUodF9wb3dlcnNldCAqIGRzdCwgdF9zdGF0ZSAqIHNyYykKKworeworICAgICAgICB0X3RyYW5zaXRpb24gKiB0OworICAgICAgICB1bnNpZ25lZCBpbnQgb2xkY2FyZDsKKworICAgICAgICBpZiAoc3JjLT5zX25mYXN0YXRlcykgeworICAgICAgICAgICAgICAgIC8qKgorICAgICAgICAgICAgICAgICoqKiAgICAgSXMgYSBERkEgc3RhdGU6IHJldHVybiBjbG9zdXJlIG9mIHNldCBvZiBlcXVpdmFsZW50CisgICAgICAgICAgICAgICAgKioqICAgICAgICAgICAgIE5GQSBzdGF0ZXMuCisgICAgICAgICAgICAgICAgKiovCisKKyAgICAgICAgICAgICAgICByZXR1cm4gY2xvc3VyZXNldChkc3QsIHNyYy0+c19uZmFzdGF0ZXMpOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAvKioKKyAgICAgICAgKioqICAgICBDb21wdXRlIGNsb3N1cmUgb2YgTkZBIHN0YXRlLgorICAgICAgICAqKi8KKworICAgICAgICBkc3QgPSBzZXRfaW5jbHVkZShkc3QsIHNyYyk7CisKKyAgICAgICAgZm9yICh0ID0gc3JjLT5zX2ZvcndhcmQ7IHQ7IHQgPSB0LT50X2ZvcnduZXh0KQorICAgICAgICAgICAgICAgIGlmICh0LT50X3Rva2VuID09IEVQU0lMT04pIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIG9sZGNhcmQgPSBkc3QtPnBfY2FyZDsKKyAgICAgICAgICAgICAgICAgICAgICAgIGRzdCA9IHNldF9pbmNsdWRlKGRzdCwgdC0+dF90byk7CisKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChvbGRjYXJkICE9IGRzdC0+cF9jYXJkKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkc3QgPSBjbG9zdXJlKGRzdCwgdC0+dF90byk7CisgICAgICAgICAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgcmV0dXJuIGRzdDsKK30KKworCit0X3Bvd2Vyc2V0ICoKK2Nsb3N1cmVzZXQodF9wb3dlcnNldCAqIGRzdCwgdF9wb3dlcnNldCAqIHNyYykKKworeworICAgICAgICB1bnNpZ25lZCBpbnQgaTsKKworICAgICAgICBmb3IgKGkgPSAwOyBpIDwgc3JjLT5wX2NhcmQ7IGkrKykKKyAgICAgICAgICAgICAgICBkc3QgPSBjbG9zdXJlKGRzdCwgKHRfc3RhdGUgKikgc3JjLT5wX3NldFtpXSk7CisKKyAgICAgICAgcmV0dXJuIGRzdDsKK30KKworCit0X3N0YXRlICoKK2dldF9kZmFfc3RhdGUodF9zdGF0ZSAqICogc3RhY2ssCisgICAgICAgICAgICAgICAgICAgICAgICB0X3Bvd2Vyc2V0ICogbmZhc3RhdGVzLCB4bWxIYXNoVGFibGVQdHIgc2V0aGFzaCkKKworeworICAgICAgICB0X3N0YXRlICogczsKKworICAgICAgICBpZiAocyA9IGhhc2hfZ2V0KHNldGhhc2gsIG5mYXN0YXRlcy0+cF9zZXQsCisgICAgICAgICAgICBuZmFzdGF0ZXMtPnBfY2FyZCAqIHNpemVvZiBuZmFzdGF0ZXMtPnBfc2V0WzBdKSkgeworICAgICAgICAgICAgICAgIC8qKgorICAgICAgICAgICAgICAgICoqKiAgICAgREZBIHN0YXRlIGFscmVhZHkgcHJlc2VudC4KKyAgICAgICAgICAgICAgICAqKiogICAgIFJlbGVhc2UgdGhlIE5GQSBzdGF0ZSBzZXQgYW5kIHJldHVybgorICAgICAgICAgICAgICAgICoqKiAgICAgICAgICAgICB0aGUgYWRkcmVzcyBvZiB0aGUgb2xkIERGQSBzdGF0ZS4KKyAgICAgICAgICAgICAgICAqKi8KKworICAgICAgICAgICAgICAgIGZyZWUoKGNoYXIgKikgbmZhc3RhdGVzKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gczsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgLyoqCisgICAgICAgICoqKiAgICAgQnVpbGQgdGhlIG5ldyBzdGF0ZS4KKyAgICAgICAgKiovCisKKyAgICAgICAgcyA9IG5ld3N0YXRlKCk7CisgICAgICAgIHMtPnNfbmZhc3RhdGVzID0gbmZhc3RhdGVzOworICAgICAgICBzLT5zX25leHQgPSBkZmFfc3RhdGVzOworICAgICAgICBkZmFfc3RhdGVzID0gczsKKyAgICAgICAgcy0+c19zdGFjayA9ICpzdGFjazsKKyAgICAgICAgKnN0YWNrID0gczsKKworICAgICAgICAvKioKKyAgICAgICAgKioqICAgICBFbnRlciBpdCBpbiBoYXNoLgorICAgICAgICAqKi8KKworICAgICAgICBpZiAoaGFzaF9hZGQoc2V0aGFzaCwgbmZhc3RhdGVzLT5wX3NldCwKKyAgICAgICAgICAgIG5mYXN0YXRlcy0+cF9jYXJkICogc2l6ZW9mIG5mYXN0YXRlcy0+cF9zZXRbMF0sIHMpKQorICAgICAgICAgICAgICAgIGNoa251bGwoTlVMTCk7ICAgICAgICAgIC8qIE1lbW9yeSBhbGxvY2F0aW9uIGVycm9yLiAqLworCisgICAgICAgIHJldHVybiBzOworfQorCisKK2ludAordHJhbnNjbXAoY29uc3Qgdm9pZCAqIHAxLCBjb25zdCB2b2lkICogcDIpCisKK3sKKyAgICAgICAgdF90cmFuc2l0aW9uICogdDE7CisgICAgICAgIHRfdHJhbnNpdGlvbiAqIHQyOworCisgICAgICAgIHQxID0gKih0X3RyYW5zaXRpb24gKiAqKSBwMTsKKyAgICAgICAgdDIgPSAqKHRfdHJhbnNpdGlvbiAqICopIHAyOworICAgICAgICByZXR1cm4gKChpbnQpIHQxLT50X3Rva2VuKSAtICgoaW50KSB0Mi0+dF90b2tlbik7Cit9CisKKwordm9pZAorYnVpbGRkZmEodm9pZCkKKworeworICAgICAgICB0X3Bvd2Vyc2V0ICogdHJhbnNzZXQ7CisgICAgICAgIHRfcG93ZXJzZXQgKiBzdGF0ZXNldDsKKyAgICAgICAgdF9zdGF0ZSAqIHM7CisgICAgICAgIHRfc3RhdGUgKiBzMjsKKyAgICAgICAgdW5zaWduZWQgaW50IG47CisgICAgICAgIHVuc2lnbmVkIGludCBpOworICAgICAgICB1bnNpZ25lZCBpbnQgdG9rZW47CisgICAgICAgIHRfdHJhbnNpdGlvbiAqIHQ7CisgICAgICAgIHRfc3RhdGUgKiBzdGFjazsKKyAgICAgICAgeG1sSGFzaFRhYmxlUHRyIHNldGhhc2g7CisgICAgICAgIHVuc2lnbmVkIGludCBuc3Q7CisKKyAgICAgICAgdHJhbnNzZXQgPSBzZXRfaW5jbHVkZShOVUxMLCBOVUxMKTsKKyAgICAgICAgY2hrbnVsbCh0cmFuc3NldCk7CisgICAgICAgIHN0YXRlc2V0ID0gc2V0X2luY2x1ZGUoTlVMTCwgTlVMTCk7CisgICAgICAgIGNoa251bGwoc3RhdGVzZXQpOworICAgICAgICBzZXRoYXNoID0geG1sSGFzaENyZWF0ZSgxKTsKKyAgICAgICAgY2hrbnVsbChzZXRoYXNoKTsKKyAgICAgICAgZGZhX3N0YXRlcyA9ICh0X3N0YXRlICopIE5VTEw7CisgICAgICAgIHN0YWNrID0gKHRfc3RhdGUgKikgTlVMTDsKKyAgICAgICAgbnN0ID0gMDsKKworICAgICAgICAvKioKKyAgICAgICAgKioqICAgICBCdWlsZCB0aGUgREZBIGluaXRpYWwgc3RhdGUuCisgICAgICAgICoqLworCisgICAgICAgIGdldF9kZmFfc3RhdGUoJnN0YWNrLCBjbG9zdXJlKE5VTEwsIGluaXRpYWxfc3RhdGUpLCBzZXRoYXNoKTsKKworICAgICAgICAvKioKKyAgICAgICAgKioqICAgICBCdWlsZCB0aGUgb3RoZXIgREZBIHN0YXRlcyBieSBsb29raW5nIGF0IGVhY2gKKyAgICAgICAgKioqICAgICAgICAgICAgIHBvc3NpYmxlIHRyYW5zaXRpb24gZnJvbSBzdGFja2VkIERGQSBzdGF0ZXMuCisgICAgICAgICoqLworCisgICAgICAgIGRvIHsKKyAgICAgICAgICAgICAgICBpZiAoISgrK25zdCAlIDEwMCkpCisgICAgICAgICAgICAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIiV1IERGQSBzdGF0ZXNcbiIsIG5zdCk7CisKKyAgICAgICAgICAgICAgICBzID0gc3RhY2s7CisgICAgICAgICAgICAgICAgc3RhY2sgPSBzLT5zX3N0YWNrOworICAgICAgICAgICAgICAgIHMtPnNfc3RhY2sgPSAodF9zdGF0ZSAqKSBOVUxMOworCisgICAgICAgICAgICAgICAgLyoqCisgICAgICAgICAgICAgICAgKioqICAgICBCdWlsZCBhIHNldCBvZiBhbGwgbm9uLWVwc2lsb24gdHJhbnNpdGlvbnMgZnJvbSB0aGlzCisgICAgICAgICAgICAgICAgKioqICAgICAgICAgICAgIHN0YXRlLgorICAgICAgICAgICAgICAgICoqLworCisgICAgICAgICAgICAgICAgdHJhbnNzZXQtPnBfY2FyZCA9IDA7CisKKyAgICAgICAgICAgICAgICBmb3IgKG4gPSAwOyBuIDwgcy0+c19uZmFzdGF0ZXMtPnBfY2FyZDsgbisrKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBzMiA9IHMtPnNfbmZhc3RhdGVzLT5wX3NldFtuXTsKKworICAgICAgICAgICAgICAgICAgICAgICAgZm9yICh0ID0gczItPnNfZm9yd2FyZDsgdDsgdCA9IHQtPnRfZm9yd25leHQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0LT50X3Rva2VuICE9IEVQU0lMT04pIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc3NldCA9IHNldF9pbmNsdWRlKHRyYW5zc2V0LCB0KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGtudWxsKHRyYW5zc2V0KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICAvKioKKyAgICAgICAgICAgICAgICAqKiogICAgIFNvcnQgdHJhbnNpdGlvbnMgYnkgdG9rZW4uCisgICAgICAgICAgICAgICAgKiovCisKKyAgICAgICAgICAgICAgICBxc29ydCh0cmFuc3NldC0+cF9zZXQsIHRyYW5zc2V0LT5wX2NhcmQsCisgICAgICAgICAgICAgICAgICAgIHNpemVvZiB0cmFuc3NldC0+cF9zZXRbMF0sIHRyYW5zY21wKTsKKworICAgICAgICAgICAgICAgIC8qKgorICAgICAgICAgICAgICAgICoqKiAgICAgUHJvY2VzcyBhbGwgdHJhbnNpdGlvbnMsIGdyb3VwaW5nIHRoZW0gYnkgdG9rZW4uCisgICAgICAgICAgICAgICAgKiovCisKKyAgICAgICAgICAgICAgICBzdGF0ZXNldC0+cF9jYXJkID0gMDsKKyAgICAgICAgICAgICAgICB0b2tlbiA9IEVQU0lMT047CisKKyAgICAgICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgdHJhbnNzZXQtPnBfY2FyZDsgaSsrKSB7CisgICAgICAgICAgICAgICAgICAgICAgICB0ID0gdHJhbnNzZXQtPnBfc2V0W2ldOworCisgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG9rZW4gIT0gdC0+dF90b2tlbikgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3RhdGVzZXQtPnBfY2FyZCkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoqKiAgICAgR2V0IHRoZSBlcXVpdmFsZW50IERGQSBzdGF0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoqKiAgICAgICAgICAgICBhbmQgY3JlYXRlIHRyYW5zaXRpb24uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiovCisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXd0cmFuc2l0aW9uKHRva2VuLCBzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRfZGZhX3N0YXRlKCZzdGFjaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xvc3VyZXNldChOVUxMLCBzdGF0ZXNldCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldGhhc2gpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZXNldC0+cF9jYXJkID0gMDsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9rZW4gPSB0LT50X3Rva2VuOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlc2V0ID0gc2V0X2luY2x1ZGUoc3RhdGVzZXQsIHQtPnRfdG8pOworICAgICAgICAgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgaWYgKHN0YXRlc2V0LT5wX2NhcmQpCisgICAgICAgICAgICAgICAgICAgICAgICBuZXd0cmFuc2l0aW9uKHRva2VuLCBzLCBnZXRfZGZhX3N0YXRlKCZzdGFjaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbG9zdXJlc2V0KE5VTEwsIHN0YXRlc2V0KSwgc2V0aGFzaCkpOworICAgICAgICB9IHdoaWxlIChzdGFjayk7CisKKyAgICAgICAgZnJlZSgoY2hhciAqKSB0cmFuc3NldCk7CisgICAgICAgIGZyZWUoKGNoYXIgKikgc3RhdGVzZXQpOworICAgICAgICB4bWxIYXNoRnJlZShzZXRoYXNoLCBOVUxMKTsKKworICAgICAgICAvKioKKyAgICAgICAgKioqICAgICBSZXZlcnNlIHRoZSBzdGF0ZSBsaXN0IHRvIGdldCB0aGUgaW5pdGlhbCBzdGF0ZSBmaXJzdCwKKyAgICAgICAgKioqICAgICAgICAgICAgIGNoZWNrIGZvciBhbWJpZ3VvdXMgcHJlZml4ZXMsIGRldGVybWluZSBmaW5hbCBzdGF0ZXMsCisgICAgICAgICoqKiAgICAgICAgICAgICBkZXN0cm95IE5GQSBzdGF0ZSBzZXRzLgorICAgICAgICAqKi8KKworICAgICAgICB3aGlsZSAocyA9IGRmYV9zdGF0ZXMpIHsKKyAgICAgICAgICAgICAgICBkZmFfc3RhdGVzID0gcy0+c19uZXh0OworICAgICAgICAgICAgICAgIHMtPnNfbmV4dCA9IHN0YWNrOworICAgICAgICAgICAgICAgIHN0YWNrID0gczsKKyAgICAgICAgICAgICAgICBzdGF0ZXNldCA9IHMtPnNfbmZhc3RhdGVzOworICAgICAgICAgICAgICAgIHMtPnNfbmZhc3RhdGVzID0gKHRfcG93ZXJzZXQgKikgTlVMTDsKKworICAgICAgICAgICAgICAgIGZvciAobiA9IDA7IG4gPCBzdGF0ZXNldC0+cF9jYXJkOyBuKyspIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHMyID0gKHRfc3RhdGUgKikgc3RhdGVzZXQtPnBfc2V0W25dOworCisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoczItPnNfZmluYWwpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHMtPnNfZmluYWwgJiYgcy0+c19maW5hbCAhPSBzMi0+c19maW5hbCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkFtYmlndW91cyBuYW1lIGZvciBDQ1NJRHMgJXUvJXVcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMtPnNfZmluYWwtPmNfY2NzaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMyLT5zX2ZpbmFsLT5jX2Njc2lkKTsKKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzLT5zX2ZpbmFsID0gczItPnNfZmluYWw7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGZyZWUoKGNoYXIgKikgc3RhdGVzZXQpOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICBkZmFfc3RhdGVzID0gc3RhY2s7Cit9CisKKwordm9pZAorZGVsZXRlbmZhKHZvaWQpCisKK3sKKyAgICAgICAgdF90cmFuc2l0aW9uICogdDsKKyAgICAgICAgdF9zdGF0ZSAqIHM7CisgICAgICAgIHRfc3RhdGUgKiB1OworICAgICAgICB0X3N0YXRlICogc3RhY2s7CisKKyAgICAgICAgc3RhY2sgPSBpbml0aWFsX3N0YXRlOworICAgICAgICBzdGFjay0+c19zdGFjayA9ICh0X3N0YXRlICopIE5VTEw7CisKKyAgICAgICAgd2hpbGUgKChzID0gc3RhY2spKSB7CisgICAgICAgICAgICAgICAgc3RhY2sgPSBzLT5zX3N0YWNrOworCisgICAgICAgICAgICAgICAgd2hpbGUgKCh0ID0gcy0+c19mb3J3YXJkKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgdSA9IHQtPnRfdG87CisgICAgICAgICAgICAgICAgICAgICAgICB1bmxpbmtfdHJhbnNpdGlvbih0KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGZyZWUoKGNoYXIgKikgdCk7CisKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdS0+c19iYWNrd2FyZCkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1LT5zX3N0YWNrID0gc3RhY2s7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YWNrID0gdTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgZnJlZSgoY2hhciAqKSBzKTsKKyAgICAgICAgICAgICAgICB9Cit9CisKKwordF9zdGF0ZWdyb3VwICoKK25ld2dyb3VwKHZvaWQpCisKK3sKKyAgICAgICAgdF9zdGF0ZWdyb3VwICogZzsKKworICAgICAgICBnID0gKHRfc3RhdGVncm91cCAqKSBtYWxsb2Moc2l6ZW9mICpnKTsKKyAgICAgICAgY2hrbnVsbChnKTsKKyAgICAgICAgbWVtc2V0KChjaGFyICopIGcsIDAsIHNpemVvZiAqZyk7CisgICAgICAgIGctPmdfaWQgPSBncm91cGlkKys7CisgICAgICAgIHJldHVybiBnOworfQorCisKK3ZvaWQKK29wdGltaXplZGZhKHZvaWQpCisKK3sKKyAgICAgICAgdW5zaWduZWQgaW50IGk7CisgICAgICAgIHhtbEhhc2hUYWJsZVB0ciBoOworICAgICAgICB0X3N0YXRlICogczE7CisgICAgICAgIHRfc3RhdGUgKiBzMjsKKyAgICAgICAgdF9zdGF0ZSAqIGZpbnN0YXRlczsKKyAgICAgICAgdF9zdGF0ZSAqICogc3A7CisgICAgICAgIHRfc3RhdGVncm91cCAqIGcxOworICAgICAgICB0X3N0YXRlZ3JvdXAgKiBnMjsKKyAgICAgICAgdF9zdGF0ZWdyb3VwICogZ2hlYWQ7CisgICAgICAgIHRfdHJhbnNpdGlvbiAqIHQxOworICAgICAgICB0X3RyYW5zaXRpb24gKiB0MjsKKyAgICAgICAgdW5zaWduZWQgaW50IGRvbmU7CisgICAgICAgIHVuc2lnbmVkIGludCBzdGFydGdyb3VwOworICAgICAgICB1bnNpZ25lZCBpbnQgZ3RyYW5zWzEgPDwgKDggKiBzaXplb2YodW5zaWduZWQgY2hhcikpXTsKKworICAgICAgICAvKioKKyAgICAgICAgKioqICAgICBSZWR1Y2UgREZBIHN0YXRlIGNvdW50LgorICAgICAgICAqKi8KKworICAgICAgICBncm91cGlkID0gMDsKKyAgICAgICAgZ2hlYWQgPSAodF9zdGF0ZWdyb3VwICopIE5VTEw7CisKKyAgICAgICAgLyoqCisgICAgICAgICoqKiAgICAgRmlyc3Qgc3BsaXQ6IG5vbi1maW5hbCBhbmQgZWFjaCBkaXN0aW5jdCBmaW5hbCBzdGF0ZXMuCisgICAgICAgICoqLworCisgICAgICAgIGggPSB4bWxIYXNoQ3JlYXRlKDQpOworICAgICAgICBjaGtudWxsKGgpOworCisgICAgICAgIGZvciAoczEgPSBkZmFfc3RhdGVzOyBzMTsgczEgPSBzMS0+c19uZXh0KSB7CisgICAgICAgICAgICAgICAgaWYgKCEoZzEgPSBoYXNoX2dldChoLCAmczEtPnNfZmluYWwsIHNpemVvZiBzMS0+c19maW5hbCkpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBnMSA9IG5ld2dyb3VwKCk7CisgICAgICAgICAgICAgICAgICAgICAgICBnMS0+Z19uZXh0ID0gZ2hlYWQ7CisgICAgICAgICAgICAgICAgICAgICAgICBnaGVhZCA9IGcxOworCisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaGFzaF9hZGQoaCwgJnMxLT5zX2ZpbmFsLCBzaXplb2YgczEtPnNfZmluYWwsIGcxKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hrbnVsbChOVUxMKTsgIC8qIE1lbW9yeSBhbGxvY2F0aW9uIGVycm9yLiAqLworICAgICAgICAgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgczEtPnNfaW5kZXggPSBnMS0+Z19pZDsKKyAgICAgICAgICAgICAgICBzMS0+c19zdGFjayA9IGcxLT5nX21lbWJlcjsKKyAgICAgICAgICAgICAgICBnMS0+Z19tZW1iZXIgPSBzMTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgeG1sSGFzaEZyZWUoaCwgTlVMTCk7CisKKyAgICAgICAgLyoqCisgICAgICAgICoqKiAgICAgU3Vic2VxdWVudCBzcGxpdHM6IHN0YXRlcyB0aGF0IGhhdmUgdGhlIHNhbWUgZm9yd2FyZAorICAgICAgICAqKiogICAgICAgICAgICAgdHJhbnNpdGlvbiB0b2tlbnMgdG8gc3RhdGVzIGluIHRoZSBzYW1lIGdyb3VwLgorICAgICAgICAqKi8KKworICAgICAgICBkbyB7CisgICAgICAgICAgICAgICAgZG9uZSA9IDE7CisKKyAgICAgICAgICAgICAgICBmb3IgKGcyID0gZ2hlYWQ7IGcyOyBnMiA9IGcyLT5nX25leHQpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHMxID0gZzItPmdfbWVtYmVyOworCisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXMxLT5zX3N0YWNrKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAgICAgICAgICAgICAgICAgaCA9IHhtbEhhc2hDcmVhdGUoMSk7CisgICAgICAgICAgICAgICAgICAgICAgICBjaGtudWxsKGgpOworCisgICAgICAgICAgICAgICAgICAgICAgICAvKioKKyAgICAgICAgICAgICAgICAgICAgICAgICoqKiAgICAgQnVpbGQgdGhlIGdyb3VwIHRyYW5zaXRpb24gbWFwLgorICAgICAgICAgICAgICAgICAgICAgICAgKiovCisKKyAgICAgICAgICAgICAgICAgICAgICAgIG1lbXNldCgoY2hhciAqKSBndHJhbnMsIH4wLCBzaXplb2YgZ3RyYW5zKTsKKworICAgICAgICAgICAgICAgICAgICAgICAgZm9yICh0MSA9IHMxLT5zX2ZvcndhcmQ7IHQxOyB0MSA9IHQxLT50X2ZvcnduZXh0KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBndHJhbnNbdDEtPnRfdG9rZW5dID0gdDEtPnRfdG8tPnNfaW5kZXg7CisKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChoYXNoX2FkZChoLCBndHJhbnMsIHNpemVvZiBndHJhbnMsIGcyKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hrbnVsbChOVUxMKTsKKworICAgICAgICAgICAgICAgICAgICAgICAgLyoqCisgICAgICAgICAgICAgICAgICAgICAgICAqKiogICAgIFByb2Nlc3Mgb3RoZXIgc3RhdGVzIGluIGdyb3VwLgorICAgICAgICAgICAgICAgICAgICAgICAgKiovCisKKyAgICAgICAgICAgICAgICAgICAgICAgIHNwID0gJnMxLT5zX3N0YWNrOworICAgICAgICAgICAgICAgICAgICAgICAgczEgPSAqc3A7CisKKyAgICAgICAgICAgICAgICAgICAgICAgIGRvIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKnNwID0gczEtPnNfc3RhY2s7CisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoqKiAgICAgQnVpbGQgdGhlIHRyYW5zaXRpb24gbWFwLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqKi8KKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZW1zZXQoKGNoYXIgKikgZ3RyYW5zLCB+MCwgc2l6ZW9mIGd0cmFucyk7CisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yICh0MSA9IHMxLT5zX2ZvcndhcmQ7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0MTsgdDEgPSB0MS0+dF9mb3J3bmV4dCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBndHJhbnNbdDEtPnRfdG9rZW5dID0gdDEtPnRfdG8tPnNfaW5kZXg7CisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZzEgPSBoYXNoX2dldChoLCBndHJhbnMsIHNpemVvZiBndHJhbnMpOworCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChnMSA9PSBnMikgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpzcCA9IHMxOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwID0gJnMxLT5zX3N0YWNrOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFnMSkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZzEgPSBuZXdncm91cCgpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZzEtPmdfbmV4dCA9IGdoZWFkOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2hlYWQgPSBnMTsKKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGhhc2hfYWRkKGgsIGd0cmFucywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YgZ3RyYW5zLCBnMSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoa251bGwoTlVMTCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzMS0+c19pbmRleCA9IGcxLT5nX2lkOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMxLT5zX3N0YWNrID0gZzEtPmdfbWVtYmVyOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGcxLT5nX21lbWJlciA9IHMxOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvbmUgPSAwOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgIH0gd2hpbGUgKHMxID0gKnNwKTsKKworICAgICAgICAgICAgICAgICAgICAgICAgeG1sSGFzaEZyZWUoaCwgTlVMTCk7CisgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgIH0gd2hpbGUgKCFkb25lKTsKKworICAgICAgICAvKioKKyAgICAgICAgKioqICAgICBFc3RhYmxpc2ggZ3JvdXAgbGVhZGVycyBhbmQgcmVtYXAgdHJhbnNpdGlvbnMuCisgICAgICAgICoqLworCisgICAgICAgIHN0YXJ0Z3JvdXAgPSBkZmFfc3RhdGVzLT5zX2luZGV4OworCisgICAgICAgIGZvciAoZzEgPSBnaGVhZDsgZzE7IGcxID0gZzEtPmdfbmV4dCkKKyAgICAgICAgICAgICAgICBmb3IgKHMxID0gZzEtPmdfbWVtYmVyLT5zX3N0YWNrOyBzMTsgczEgPSBzMS0+c19zdGFjaykKKyAgICAgICAgICAgICAgICAgICAgICAgIGZvciAodDEgPSBzMS0+c19iYWNrd2FyZDsgdDE7IHQxID0gdDIpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdDIgPSB0MS0+dF9iYWNrbmV4dDsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlua190cmFuc2l0aW9uKHQxLCBOVUxMLCBnMS0+Z19tZW1iZXIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgLyoqCisgICAgICAgICoqKiAgICAgUmVtb3ZlIHJlZHVuZGFudCBzdGF0ZXMgYW5kIHRyYW5zaXRpb25zLgorICAgICAgICAqKi8KKworICAgICAgICBmb3IgKGcxID0gZ2hlYWQ7IGcxOyBnMSA9IGcxLT5nX25leHQpIHsKKyAgICAgICAgICAgICAgICBnMS0+Z19tZW1iZXItPnNfbmV4dCA9ICh0X3N0YXRlICopIE5VTEw7CisKKyAgICAgICAgICAgICAgICB3aGlsZSAoKHMxID0gZzEtPmdfbWVtYmVyLT5zX3N0YWNrKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgZzEtPmdfbWVtYmVyLT5zX3N0YWNrID0gczEtPnNfc3RhY2s7CisKKyAgICAgICAgICAgICAgICAgICAgICAgIGZvciAodDEgPSBzMS0+c19mb3J3YXJkOyB0MTsgdDEgPSB0MikgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0MiA9IHQxLT50X2ZvcnduZXh0OworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bmxpbmtfdHJhbnNpdGlvbih0MSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyZWUoKGNoYXIgKikgdDEpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICAgICAgICAgIGZyZWUoKGNoYXIgKikgczEpOworICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKworICAgICAgICAvKioKKyAgICAgICAgKioqICAgICBSZW1vdmUgZ3JvdXAgc3VwcG9ydCBhbmQgcmVsaW5rIERGQSBzdGF0ZXMuCisgICAgICAgICoqLworCisgICAgICAgIGRmYV9zdGF0ZXMgPSAodF9zdGF0ZSAqKSBOVUxMOworICAgICAgICBzMiA9ICh0X3N0YXRlICopIE5VTEw7CisgICAgICAgIGZpbnN0YXRlcyA9ICh0X3N0YXRlICopIE5VTEw7CisKKyAgICAgICAgd2hpbGUgKGcxID0gZ2hlYWQpIHsKKyAgICAgICAgICAgICAgICBnaGVhZCA9IGcxLT5nX25leHQ7CisgICAgICAgICAgICAgICAgczEgPSBnMS0+Z19tZW1iZXI7CisKKyAgICAgICAgICAgICAgICBpZiAoZzEtPmdfaWQgPT0gc3RhcnRncm91cCkKKyAgICAgICAgICAgICAgICAgICAgICAgIGRmYV9zdGF0ZXMgPSBzMTsgICAgICAgIC8qIEtlZXAgc3RhcnQgc3RhdGUgZmlyc3QuICovCisgICAgICAgICAgICAgICAgZWxzZSBpZiAoczEtPnNfZmluYWwpIHsgICAgICAgICAvKiBUaGVuIGZpbmFsIHN0YXRlcy4gKi8KKyAgICAgICAgICAgICAgICAgICAgICAgIHMxLT5zX25leHQgPSBmaW5zdGF0ZXM7CisgICAgICAgICAgICAgICAgICAgICAgICBmaW5zdGF0ZXMgPSBzMTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBlbHNlIHsgICAgICAgICAgICAgICAgICAvKiBGaW5pc2ggd2l0aCBub24tZmluYWwgc3RhdGVzLiAqLworICAgICAgICAgICAgICAgICAgICAgICAgczEtPnNfbmV4dCA9IHMyOworICAgICAgICAgICAgICAgICAgICAgICAgczIgPSBzMTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGZyZWUoKGNoYXIgKikgZzEpOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICBmb3IgKGRmYV9zdGF0ZXMtPnNfbmV4dCA9IGZpbnN0YXRlczsgZmluc3RhdGVzLT5zX25leHQ7KQorICAgICAgICAgICAgICAgIGZpbnN0YXRlcyA9IGZpbnN0YXRlcy0+c19uZXh0OworCisgICAgICAgIGZpbnN0YXRlcy0+c19uZXh0ID0gczI7Cit9CisKKworY29uc3QgY2hhciAqCitpbnR0eXBlKHVuc2lnbmVkIGxvbmcgbWF4KQorCit7CisgICAgICAgIGludCBpOworCisgICAgICAgIGZvciAoaSA9IDA7IG1heDsgaSsrKQorICAgICAgICAgICAgICAgIG1heCA+Pj0gMTsKKworICAgICAgICBpZiAoaSA+IDggKiBzaXplb2YodW5zaWduZWQgaW50KSkKKyAgICAgICAgICAgICAgICByZXR1cm4gInVuc2lnbmVkIGxvbmciOworCisgICAgICAgIGlmIChpID4gOCAqIHNpemVvZih1bnNpZ25lZCBzaG9ydCkpCisgICAgICAgICAgICAgICAgcmV0dXJuICJ1bnNpZ25lZCBpbnQiOworCisgICAgICAgIGlmIChpID4gOCAqIHNpemVvZih1bnNpZ25lZCBjaGFyKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gInVuc2lnbmVkIHNob3J0IjsKKworICAgICAgICByZXR1cm4gInVuc2lnbmVkIGNoYXIiOworfQorCisKK2xpc3RpZHMoRklMRSAqIGZwKQorCit7CisgICAgICAgIHVuc2lnbmVkIGludCBwb3M7CisgICAgICAgIHRfY2hzZXQgKiBjcDsKKyAgICAgICAgdF9zeW1saXN0ICogbHA7CisgICAgICAgIGNoYXIgKiBzcmNwOworICAgICAgICBjaGFyICogZHN0cDsKKyAgICAgICAgc2l6ZV90IHNyY2M7CisgICAgICAgIHNpemVfdCBkc3RjOworICAgICAgICBjaGFyIGJ1Zls4MF07CisKKyAgICAgICAgZnByaW50ZihmcCwgIi8qKlxuKioqICAgICBDQ1NJRCAgIEZvciBhcmcgICBSZWNvZ25pemVkIG5hbWUuXG4iKTsKKyAgICAgICAgcG9zID0gMDsKKworICAgICAgICBmb3IgKGNwID0gY2hzZXRfbGlzdDsgY3A7IGNwID0gY3AtPmNfbmV4dCkgeworICAgICAgICAgICAgICAgIGlmIChwb3MpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGZwcmludGYoZnAsICJcbiIpOworICAgICAgICAgICAgICAgICAgICAgICAgcG9zID0gMDsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGlmICghY3AtPmNfbmFtZXMpCisgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAgICAgICAgIHBvcyA9IGZwcmludGYoZnAsICIqKiogICAgICU1dSAgICAgICVjICAgICAiLCBjcC0+Y19jY3NpZCwKKyAgICAgICAgICAgICAgICAgICAgaWNvbnZfb3Blbl9lcnJvcihjcC0+Y19mcm9tVVRGOCk/ICcgJzogJ1gnKTsKKworICAgICAgICAgICAgICAgIGZvciAobHAgPSBjcC0+Y19uYW1lczsgbHA7IGxwID0gbHAtPmxfbmV4dCkgeworICAgICAgICAgICAgICAgICAgICAgICAgc3JjcCA9IChjaGFyICopIGxwLT5sX3N5bWJvbDsKKyAgICAgICAgICAgICAgICAgICAgICAgIHNyY2MgPSBzdHJsZW4oc3JjcCk7CisgICAgICAgICAgICAgICAgICAgICAgICBkc3RwID0gYnVmOworICAgICAgICAgICAgICAgICAgICAgICAgZHN0YyA9IHNpemVvZiBidWY7CisgICAgICAgICAgICAgICAgICAgICAgICBpY29udih1dGY4MmpvYiwgJnNyY3AsICZzcmNjLCAmZHN0cCwgJmRzdGMpOworICAgICAgICAgICAgICAgICAgICAgICAgc3JjYyA9IGRzdHAgLSBidWY7CisKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwb3MgKyBzcmNjID4gNzkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnByaW50ZihmcCwgIlxuKioqJTIyYyIsICcgJyk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvcyA9IDI1OworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICAgICAgICAgIHBvcyArPSBmcHJpbnRmKGZwLCAiICUuKnMiLCBzcmNjLCBidWYpOworICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKworICAgICAgICBpZiAocG9zKQorICAgICAgICAgICAgICAgIGZwcmludGYoZnAsICJcbiIpOworCisgICAgICAgIGZwcmludGYoZnAsICIqKi9cblxuIik7Cit9CisKKwordm9pZAorZ2VuZXJhdGUoRklMRSAqIGZwKQorCit7CisgICAgICAgIHVuc2lnbmVkIGludCBuc3RhdGVzOworICAgICAgICB1bnNpZ25lZCBpbnQgbnRyYW5zOworICAgICAgICB1bnNpZ25lZCBpbnQgbWF4ZmluYWw7CisgICAgICAgIHRfc3RhdGUgKiBzOworICAgICAgICB0X3RyYW5zaXRpb24gKiB0OworICAgICAgICB1bnNpZ25lZCBpbnQgaTsKKyAgICAgICAgdW5zaWduZWQgaW50IHBvczsKKyAgICAgICAgY2hhciAqIG5zOworCisgICAgICAgIC8qKgorICAgICAgICAqKiogICAgIEFzc2lnbiBpbmRleGVzIHRvIHN0YXRlcyBhbmQgdHJhbnNpdGlvbnMuCisgICAgICAgICoqLworCisgICAgICAgIG5zdGF0ZXMgPSAwOworICAgICAgICBudHJhbnMgPSAwOworICAgICAgICBtYXhmaW5hbCA9IDA7CisKKyAgICAgICAgZm9yIChzID0gZGZhX3N0YXRlczsgczsgcyA9IHMtPnNfbmV4dCkgeworICAgICAgICAgICAgICAgIHMtPnNfaW5kZXggPSBuc3RhdGVzKys7CisKKyAgICAgICAgICAgICAgICBpZiAocy0+c19maW5hbCkKKyAgICAgICAgICAgICAgICAgICAgICAgIG1heGZpbmFsID0gbnN0YXRlczsKKworICAgICAgICAgICAgICAgIGZvciAodCA9IHMtPnNfZm9yd2FyZDsgdDsgdCA9IHQtPnRfZm9yd25leHQpCisgICAgICAgICAgICAgICAgICAgICAgICB0LT50X2luZGV4ID0gbnRyYW5zKys7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgIGZwcmludGYoZnAsCisgICAgICAgICAgICAiLyoqXG4qKiogICAgICV1IHN0YXRlcywgJXUgZmluYWxzLCAldSB0cmFuc2l0aW9ucy5cbioqL1xuXG4iLAorICAgICAgICAgICAgbnN0YXRlcywgbWF4ZmluYWwsIG50cmFucyk7CisgICAgICAgIGZwcmludGYoc3RkZXJyLCAiJXUgc3RhdGVzLCAldSBmaW5hbHMsICV1IHRyYW5zaXRpb25zLlxuIiwKKyAgICAgICAgICAgIG5zdGF0ZXMsIG1heGZpbmFsLCBudHJhbnMpOworCisgICAgICAgIC8qKgorICAgICAgICAqKiogICAgIEdlbmVyYXRlIHR5cGVzLgorICAgICAgICAqKi8KKworICAgICAgICBmcHJpbnRmKGZwLCAidHlwZWRlZiB1bnNpZ25lZCBzaG9ydCAgICAgICAgICB0X2Njc2lkO1xuIik7CisgICAgICAgIGZwcmludGYoZnAsICJ0eXBlZGVmICUtMjNzIHRfc3RhdGVyYW5nZTtcbiIsIGludHR5cGUobnN0YXRlcykpOworICAgICAgICBmcHJpbnRmKGZwLCAidHlwZWRlZiAlLTIzcyB0X3RyYW5zcmFuZ2U7XG5cbiIsIGludHR5cGUobnRyYW5zKSk7CisKKyAgICAgICAgLyoqCisgICAgICAgICoqKiAgICAgR2VuZXJhdGUgZmlyc3QgdHJhbnNpdGlvbiBpbmRleCBmb3IgZWFjaCBzdGF0ZS4KKyAgICAgICAgKiovCisKKyAgICAgICAgZnByaW50ZihmcCwgInN0YXRpYyB0X3RyYW5zcmFuZ2UgICAgIHRyYW5zX2FycmF5W10gPSB7XG4iKTsKKyAgICAgICAgcG9zID0gMDsKKyAgICAgICAgbnRyYW5zID0gMDsKKworICAgICAgICBmb3IgKHMgPSBkZmFfc3RhdGVzOyBzOyBzID0gcy0+c19uZXh0KSB7CisgICAgICAgICAgICAgICAgcG9zICs9IGZwcmludGYoZnAsICIgJXUsIiwgbnRyYW5zKTsKKworICAgICAgICAgICAgICAgIGlmIChwb3MgPiA3MikgeworICAgICAgICAgICAgICAgICAgICAgICAgZnByaW50ZihmcCwgIlxuIik7CisgICAgICAgICAgICAgICAgICAgICAgICBwb3MgPSAwOworICAgICAgICAgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgZm9yICh0ID0gcy0+c19mb3J3YXJkOyB0OyB0ID0gdC0+dF9mb3J3bmV4dCkKKyAgICAgICAgICAgICAgICAgICAgICAgIG50cmFucysrOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICBmcHJpbnRmKGZwLCAiICV1XG59O1xuXG4iLCBudHJhbnMpOworCisgICAgICAgIC8qKgorICAgICAgICAqKiogICAgIEdlbmVyYXRlIGZpbmFsIHN0YXRlIGluZm8uCisgICAgICAgICoqLworCisgICAgICAgIGZwcmludGYoZnAsICJzdGF0aWMgdF9jY3NpZCAgICAgICAgICBmaW5hbF9hcnJheVtdID0ge1xuIik7CisgICAgICAgIHBvcyA9IDA7CisgICAgICAgIG5zID0iIjsKKyAgICAgICAgaSA9IDA7CisKKyAgICAgICAgZm9yIChzID0gZGZhX3N0YXRlczsgcyAmJiBpKysgPCBtYXhmaW5hbDsgcyA9IHMtPnNfbmV4dCkgeworICAgICAgICAgICAgICAgIHBvcyArPSBmcHJpbnRmKGZwLCAiJXMiLCBucyk7CisgICAgICAgICAgICAgICAgbnMgPSAiLCI7CisKKyAgICAgICAgICAgICAgICBpZiAocG9zID4gNzIpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGZwcmludGYoZnAsICJcbiIpOworICAgICAgICAgICAgICAgICAgICAgICAgcG9zID0gMDsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIHBvcyArPSBmcHJpbnRmKGZwLCAiICV1IiwKKyAgICAgICAgICAgICAgICAgICAgcy0+c19maW5hbD8gcy0+c19maW5hbC0+Y19jY3NpZCArIDE6IDApOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICBmcHJpbnRmKGZwLCAiXG59O1xuXG4iKTsKKworICAgICAgICAvKioKKyAgICAgICAgKioqICAgICBHZW5lcmF0ZSBnb3RvIHRhYmxlLgorICAgICAgICAqKi8KKworICAgICAgICBmcHJpbnRmKGZwLCAic3RhdGljIHRfc3RhdGVyYW5nZSAgICAgZ290b19hcnJheVtdID0ge1xuIik7CisgICAgICAgIHBvcyA9IDA7CisKKyAgICAgICAgZm9yIChzID0gZGZhX3N0YXRlczsgczsgcyA9IHMtPnNfbmV4dCkKKyAgICAgICAgICAgICAgICBmb3IgKHQgPSBzLT5zX2ZvcndhcmQ7IHQ7IHQgPSB0LT50X2ZvcnduZXh0KSB7CisgICAgICAgICAgICAgICAgICAgICAgICBwb3MgKz0gZnByaW50ZihmcCwgIiAldSwiLCB0LT50X3RvLT5zX2luZGV4KTsKKworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHBvcyA+IDcyKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZwcmludGYoZnAsICJcbiIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3MgPSAwOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgZnByaW50ZihmcCwgIiAldVxufTtcblxuIiwgbnN0YXRlcyk7CisKKyAgICAgICAgLyoqCisgICAgICAgICoqKiAgICAgR2VuZXJhdGUgdHJhbnNpdGlvbiBsYWJlbCB0YWJsZS4KKyAgICAgICAgKiovCisKKyAgICAgICAgZnByaW50ZihmcCwgInN0YXRpYyB1bnNpZ25lZCBjaGFyICAgIGxhYmVsX2FycmF5W10gPSB7XG4iKTsKKyAgICAgICAgcG9zID0gMDsKKyAgICAgICAgbnMgPSIiOworCisgICAgICAgIGZvciAocyA9IGRmYV9zdGF0ZXM7IHM7IHMgPSBzLT5zX25leHQpCisgICAgICAgICAgICAgICAgZm9yICh0ID0gcy0+c19mb3J3YXJkOyB0OyB0ID0gdC0+dF9mb3J3bmV4dCkgeworICAgICAgICAgICAgICAgICAgICAgICAgcG9zICs9IGZwcmludGYoZnAsICIlcyIsIG5zKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIG5zID0gIiwiOworCisgICAgICAgICAgICAgICAgICAgICAgICBpZiAocG9zID4gNzIpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnByaW50ZihmcCwgIlxuIik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvcyA9IDA7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgICAgICAgICAgcG9zICs9IGZwcmludGYoZnAsICIgMHglMDJYIiwgdC0+dF90b2tlbik7CisgICAgICAgICAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgZnByaW50ZihmcCwgIlxufTtcbiIsIG5zdGF0ZXMpOworfQorCisKK21haW4oYXJnYywgYXJndikKK2ludCBhcmdjOworY2hhciAqICogYXJndjsKKworeworICAgICAgICBGSUxFICogZnA7CisgICAgICAgIHRfY2hzZXQgKiBjc3A7CisgICAgICAgIGNoYXIgc3ltYnVmWzIwXTsKKworICAgICAgICBjaHNldF9saXN0ID0gKHRfY2hzZXQgKikgTlVMTDsKKyAgICAgICAgaW5pdGlhbF9zdGF0ZSA9IG5ld3N0YXRlKCk7CisgICAgICAgIGpvYjJ1dGY4ID0gaWNvbnZfb3Blbl9jY3NpZChDX1VURjhfQ0NTSUQsIENfU09VUkNFX0NDU0lELCAwKTsKKyAgICAgICAgdXRmODJqb2IgPSBpY29udl9vcGVuX2Njc2lkKENfU09VUkNFX0NDU0lELCBDX1VURjhfQ0NTSUQsIDApOworCisgICAgICAgIGlmIChhcmdjICE9IDQpIHsKKyAgICAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIlVzYWdlOiAlcyA8Y2NzaWQtbWliZW51bSBmaWxlPiAiLCAqYXJndik7CisgICAgICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICI8aWFuYS1jaGFyYWN0ZXItc2V0IGZpbGU+IDxvdXRwdXQgZmlsZT5cbiIpOworICAgICAgICAgICAgICAgIGV4aXQoMSk7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgIC8qKgorICAgICAgICAqKiogICAgIFJlYWQgQ0NTSUQvTUlCZW51bSBhc3NvY2lhdGlvbnMuIERlZmluZSBzcGVjaWFsIG5hbWVzLgorICAgICAgICAqKi8KKworICAgICAgICByZWFkX2Fzc29jcyhhcmd2WzFdKTsKKworICAgICAgICAvKioKKyAgICAgICAgKioqICAgICBSZWFkIGNoYXJhY3RlciBzZXQgbmFtZXMgYW5kIGVzdGFibGlzaCB0aGUgY2FzZS1pbmRlcGVuZGVudAorICAgICAgICAqKiogICAgICAgICAgICAgbmFtZSBERkEgaW4gYWxsIHBvc3NpYmxlIENDU0lEcy4KKyAgICAgICAgKiovCisKKyAgICAgICAgcmVhZF9pYW5hKGFyZ3ZbMl0pOworCisgICAgICAgIC8qKgorICAgICAgICAqKiogICAgIEJ1aWxkIERGQSBmcm9tIE5GQS4KKyAgICAgICAgKiovCisKKyAgICAgICAgYnVpbGRkZmEoKTsKKworICAgICAgICAvKioKKyAgICAgICAgKioqICAgICBEZWxldGUgTkZBLgorICAgICAgICAqKi8KKworICAgICAgICBkZWxldGVuZmEoKTsKKworICAgICAgICAvKioKKyAgICAgICAgKioqICAgICBNaW5pbWl6ZSB0aGUgREZBIHN0YXRlIGNvdW50LgorICAgICAgICAqKi8KKworICAgICAgICBvcHRpbWl6ZWRmYSgpOworCisgICAgICAgIC8qKgorICAgICAgICAqKiogICAgIEdlbmVyYXRlIHRoZSB0YWJsZS4KKyAgICAgICAgKiovCisKKyAgICAgICAgZnAgPSBmb3Blbihhcmd2WzNdLCAidysiKTsKKworICAgICAgICBpZiAoIWZwKSB7CisgICAgICAgICAgICAgICAgcGVycm9yKGFyZ3ZbM10pOworICAgICAgICAgICAgICAgIGV4aXQoMSk7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgIGZwcmludGYoZnAsICIvKipcbiIpOworICAgICAgICBmcHJpbnRmKGZwLCAiKioqICAgICBDaGFyYWN0ZXIgc2V0IG5hbWVzIHRhYmxlLlxuIik7CisgICAgICAgIGZwcmludGYoZnAsICIqKiogICAgIEdlbmVyYXRlZCBieSBwcm9ncmFtIEJMRENTTkRGQSBmcm9tIik7CisgICAgICAgIGZwcmludGYoZnAsICIgSUFOQSBjaGFyYWN0ZXIgc2V0IGFzc2lnbm1lbnQgZmlsZVxuIik7CisgICAgICAgIGZwcmludGYoZnAsICIqKiogICAgICAgICAgYW5kIENDU0lEL01JQmVudW0gZXF1aXZhbGVuY2UgZmlsZS5cbiIpOworICAgICAgICBmcHJpbnRmKGZwLCAiKioqICAgICAqKiogRG8gbm90IGVkaXQgYnkgaGFuZCAqKipcbiIpOworICAgICAgICBmcHJpbnRmKGZwLCAiKiovXG5cbiIpOworICAgICAgICBsaXN0aWRzKGZwKTsKKyAgICAgICAgZ2VuZXJhdGUoZnApOworCisgICAgICAgIGlmIChmZXJyb3IoZnApKSB7CisgICAgICAgICAgICAgICAgcGVycm9yKGFyZ3ZbM10pOworICAgICAgICAgICAgICAgIGZjbG9zZShmcCk7CisgICAgICAgICAgICAgICAgZXhpdCgxKTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgZmNsb3NlKGZwKTsKKyAgICAgICAgaWNvbnZfY2xvc2Uoam9iMnV0ZjgpOworICAgICAgICBpY29udl9jbG9zZSh1dGY4MmpvYik7CisgICAgICAgIGV4aXQoMCk7Cit9CmRpZmYgLS1naXQgYS9saWJ4bWwyL29zNDAwL2ljb252L2JsZGNzbmRmYS9jY3NpZF9taWJlbnVtLmR0ZCBiL2xpYnhtbDIvb3M0MDAvaWNvbnYvYmxkY3NuZGZhL2Njc2lkX21pYmVudW0uZHRkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBjODM0ZWMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL29zNDAwL2ljb252L2JsZGNzbmRmYS9jY3NpZF9taWJlbnVtLmR0ZApAQCAtMCwwICsxLDE1IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCEtLQorLS0tICAgICBEVEQgZm9yIENDU0lEL01JQkVudW0gYXNzb2NpYXRpb24gZG9jdW1lbnRzLgorLS0tCistLS0gICAgIFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKy0tLQorLS0tICAgICBBdXRob3I6IFBhdHJpY2sgTW9ubmVyYXQgPHBtQGRhdGFzcGhlcmUuY2g+LCBEQVRBU1BIRVJFIFMuQS4KKy0tPgorPCFFTEVNRU5UIGNjc2lkX21pYmVudW0gKGFzc29jKSo+Cis8IUVMRU1FTlQgYXNzb2MgKGFsaWFzKSo+Cis8IUFUVExJU1QgYXNzb2MKKyAgICAgICAgY2NzaWQgQ0RBVEEgI0lNUExJRUQKKyAgICAgICAgbWliZW51bSBDREFUQSAjSU1QTElFRAorPgorPCFFTEVNRU5UIGFsaWFzICgjUENEQVRBKT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvb3M0MDAvaWNvbnYvYmxkY3NuZGZhL2Njc2lkX21pYmVudW0ueG1sIGIvbGlieG1sMi9vczQwMC9pY29udi9ibGRjc25kZmEvY2NzaWRfbWliZW51bS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGFmMzhiNAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvb3M0MDAvaWNvbnYvYmxkY3NuZGZhL2Njc2lkX21pYmVudW0ueG1sCkBAIC0wLDAgKzEsMjcwIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCFET0NUWVBFIGNjc2lkX21pYmVudW0gU1lTVEVNICJjY3NpZF9taWJlbnVtLmR0ZCI+Cis8IS0tCistLS0gICAgIENDU0lEL01JQkVudW0gYXNzb2NpYXRpb25zLgorLS0tCistLS0gICAgIFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKy0tLQorLS0tICAgICBBdXRob3I6IFBhdHJpY2sgTW9ubmVyYXQgPHBtQGRhdGFzcGhlcmUuY2g+LCBEQVRBU1BIRVJFIFMuQS4KKy0tPgorPGNjc2lkX21pYmVudW0+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iMCI+PCEtLSBDdXJlbnQgam9iJ3MgQ0NTSUQuIC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iMzciIG1pYmVudW09IjIwMjgiPjwhLS0gRUJDRElDLVVTIC0tPgorICAgICAgICAgICAgICAgIDxhbGlhcz5FQkNESUM8L2FsaWFzPgorICAgICAgICA8L2Fzc29jPgorICAgICAgICA8YXNzb2MgY2NzaWQ9IjI1NiI+PCEtLSBOZXRoZXJsYW5kcyA/IC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iMjczIiBtaWJlbnVtPSIyMDMwIj48IS0tIEVCQ0RJQy1ERSAtLT48L2Fzc29jPgorICAgICAgICA8YXNzb2MgY2NzaWQ9IjI3NyIgbWliZW51bT0iMjAzMyI+PCEtLSBFQkNESUMtREsvTk8gLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSIyNzgiIG1pYmVudW09IjIwMzQiPjwhLS0gRUJDRElDLUZJL1NFIC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iMjgwIiBtaWJlbnVtPSIyMDM1Ij48IS0tIEVCQ0RJQy1JVCAtLT48L2Fzc29jPgorICAgICAgICA8YXNzb2MgY2NzaWQ9IjI4NCIgbWliZW51bT0iMjAzNyI+PCEtLSBFQkNESUMtRVMgLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSIyODUiIG1pYmVudW09IjIwMzgiPjwhLS0gRUJDRElDLUdCIC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iMjkwIiBtaWJlbnVtPSIyMDM5Ij48IS0tIEVCQ0RJQy1KUC1LYW5hIC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iMjk3IiBtaWJlbnVtPSIyMDQwIj48IS0tIEVCQ0RJQy1GUiAtLT48L2Fzc29jPgorICAgICAgICA8YXNzb2MgY2NzaWQ9IjMwMCI+PCEtLSBKYXBhbiBFbmdsaXNoID8gLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSIzMDEiPjwhLS0gUEMgREFUQSBKYXBhbmVzZSAtLT48L2Fzc29jPgorICAgICAgICA8YXNzb2MgY2NzaWQ9IjM2NyIgbWliZW51bT0iMyI+PCEtLSBBTlNJIFgzLjQgQVNDSUkgLS0+CisgICAgICAgICAgICAgICAgPGFsaWFzPkFTQ0lJPC9hbGlhcz4KKyAgICAgICAgPC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSI0MjAiIG1pYmVudW09IjIwNDEiPjwhLS0gRUJDRElDLUFyYWIgLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSI0MjMiIG1pYmVudW09IjIwNDIiPjwhLS0gRUJDRElDLUdSIC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iNDI0IiBtaWJlbnVtPSIyMDQzIj48IS0tIEVCQ0RJQy1IZWJyZXcgLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSI0MzciIG1pYmVudW09IjIwMTEiPjwhLS0gOC1iaXQgUEMgQVNDSUkgLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSI1MDAiIG1pYmVudW09IjIwNDQiPjwhLS0gRUJDRElDLUJFL0NIIGludGVybmF0aW9uYWwgbGF0aW4gMSAtLT48L2Fzc29jPgorICAgICAgICA8YXNzb2MgY2NzaWQ9IjcyMCI+PCEtLSBNU0RPUyBBcmFiaWMgPyAtLT48L2Fzc29jPgorICAgICAgICA8YXNzb2MgY2NzaWQ9IjczNyI+PCEtLSBNU0RPUyBHcmVlayBQQyBEQVRBID8gLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSI3NzUiIG1pYmVudW09IjIwODciPjwhLS0gTVNET1MgQmFsdGljIFBDIERBVEEgLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSI4MTMiIG1pYmVudW09IjEwIj48IS0tIElTTy04ODU5LTcgLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSI4MTkiIG1pYmVudW09IjQiPjwhLS0gSVNPLTg4NTktMSAtLT48L2Fzc29jPgorICAgICAgICA8YXNzb2MgY2NzaWQ9IjgzMyI+PCEtLSBLb3JlYSAoZXh0ZW5kZWQgcmFuZ2UpIC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iODM1Ij48IS0tIEtvcmVhIGhvc3QgZG91YmxlIGJ5dGUgLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSI4MzYiPjwhLS0gU2ltcGxpZmllZCBjaGluZXNlIChleHRlbmRlZCByYW5nZSkgLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSI4MzciPjwhLS0gU2ltcGxpZmllZCBjaGluZXNlIC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iODM4IiBtaWJlbnVtPSIyMDE2Ij48IS0tIElCTS1UaGFpIC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iODUwIiBtaWJlbnVtPSIyMDA5Ij48IS0tIFBDIERBVEEgaW50ZXJuYXRpb25hbCBsYXRpbiAxIC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iODUxIiBtaWJlbnVtPSIyMDQ1Ij48IS0tIFBDIERBVEEgZ3JlZWsgLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSI4NTIiIG1pYmVudW09IjIwMTAiPjwhLS0gUEMgREFUQSBsYXRpbi0yIG11bHRpbGluZ3VhbCAtLT48L2Fzc29jPgorICAgICAgICA8YXNzb2MgY2NzaWQ9Ijg1NSIgbWliZW51bT0iMjA0NiI+PCEtLSBQQyBEQVRBIFJPRUNFIGN5cmlsbGljIC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iODU3IiBtaWJlbnVtPSIyMDQ3Ij48IS0tIFBDIERBVEEgVHVya2V5IGxhdGluLTUgLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSI4NTgiIG1pYmVudW09IjIwODkiPjwhLS0gUEMtTXVsdGlsaW5ndWFsLTg1MCtFdXJvIC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iODYwIiBtaWJlbnVtPSIyMDQ4Ij48IS0tIFBDIERBVEEgUG9ydHVnYWwgLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSI4NjEiIG1pYmVudW09IjIwNDkiPjwhLS0gUEMgREFUQSBJY2VsYW5kIC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iODYyIiBtaWJlbnVtPSIyMDEzIj48IS0tIFBDIERBVEEgSGVicmV3IC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iODYzIiBtaWJlbnVtPSIyMDUwIj48IS0tIFBDIERBVEEgQ2FuYWRhIC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iODY0IiBtaWJlbnVtPSIyMDUxIj48IS0tIFBDIERBVEEgQXJhYmljIC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iODY1IiBtaWJlbnVtPSIyMDUyIj48IS0tIFBDIERBVEEgREsvTk8gLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSI4NjYiIG1pYmVudW09IjIwODYiPjwhLS0gUEMgREFUQSBjeXJpbGxpYyAyIC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iODY4IiBtaWJlbnVtPSIyMDUzIj48IS0tIFBDIERBVEEgVXJkdSAtLT48L2Fzc29jPgorICAgICAgICA8YXNzb2MgY2NzaWQ9Ijg2OSIgbWliZW51bT0iMjA1NCI+PCEtLSBQQyBEQVRBIGdyZWVrICgyPykgLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSI4NzAiIG1pYmVudW09IjIwNTUiPjwhLS0gRUJDRElDLUxhdGluMi1NdWx0aWxpbmd1YWwgLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSI4NzEiIG1pYmVudW09IjIwNTYiPjwhLS0gRUJDRElDLUlTIC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iODc0IiBtaWJlbnVtPSIyMjU5Ij48IS0tIFRJUy02MjAgLS0+CisgICAgICAgICAgICAgICAgPGFsaWFzPkVVQy1USD48L2FsaWFzPgorICAgICAgICAgICAgICAgIDxhbGlhcz5ldWNUSDwvYWxpYXM+CisgICAgICAgICAgICAgICAgPGFsaWFzPmNzRVVDVEg8L2FsaWFzPgorICAgICAgICA8L2Fzc29jPgorICAgICAgICA8YXNzb2MgY2NzaWQ9Ijg3NSI+PCEtLSBHcmVlY2UgLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSI4NzgiIG1pYmVudW09IjIwODQiPjwhLS0gS09JOC1SIC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iODgwIiBtaWJlbnVtPSIyMDU3Ij48IS0tIEVCQ0RJQy1DeXJpbGxpYyAtLT48L2Fzc29jPgorICAgICAgICA8YXNzb2MgY2NzaWQ9Ijg5MSIgbWliZW51bT0iMjA1OCI+PCEtLSBQQyBEQVRBIGNvcmVhbiAobm9uLWV4dGVuZGVkKSAtLT48L2Fzc29jPgorICAgICAgICA8YXNzb2MgY2NzaWQ9Ijg5NiI+PCEtLSBKYXBhbiA3LWJpdCBLYXRha2FuYSAtLT48L2Fzc29jPgorICAgICAgICA8YXNzb2MgY2NzaWQ9Ijg5NyIgbWliZW51bT0iMTUiPjwhLS0gSklTX1gwMjAxIC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iOTAzIiBtaWJlbnVtPSIyMDU5Ij48IS0tIFBDIERBVEEgc2ltcGxpZmllZCBjaGluZXNlIChub24tZXh0ZW5kZWQpIC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iOTA0IiBtaWJlbnVtPSIyMDYwIj48IS0tIFBDIERBVEEgdHJhZGl0aW9uYWwgY2hpbmVzZSAtLT48L2Fzc29jPgorICAgICAgICA8YXNzb2MgY2NzaWQ9IjkwNSIgbWliZW51bT0iMjA2MSI+PCEtLSBFQkNESUMtVFIgbGF0aW4gMyAtLT48L2Fzc29jPgorICAgICAgICA8YXNzb2MgY2NzaWQ9IjkxMiIgbWliZW51bT0iNSI+PCEtLSBJU08tODg1OS0yIC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iOTEzIiBtaWJlbnVtPSI2Ij48IS0tIElTTy04ODU5LTMgLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSI5MTQiIG1pYmVudW09IjciPjwhLS0gSVNPLTg4NTktNCAtLT48L2Fzc29jPgorICAgICAgICA8YXNzb2MgY2NzaWQ9IjkxNSIgbWliZW51bT0iOCI+PCEtLSBJU08tODg1OS01IC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iOTE2IiBtaWJlbnVtPSIxMSI+PCEtLSBJU08tODg1OS04IC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iOTE4IiBtaWJlbnVtPSIyMDYyIj48IS0tIElCTTkxOCAtLT48L2Fzc29jPgorICAgICAgICA8YXNzb2MgY2NzaWQ9IjkyMCIgbWliZW51bT0iMTIiPjwhLS0gSVNPLTg4NTktOSAtLT48L2Fzc29jPgorICAgICAgICA8YXNzb2MgY2NzaWQ9IjkyMSIgbWliZW51bT0iMTA5Ij48IS0tIElTTy04ODU5LTEzIC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iOTIyIj48IS0tIEVzdG9uaWEsIDgtYml0IC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iOTIzIiBtaWJlbnVtPSIxMTEiPjwhLS0gSVNPLTg4NTktMTUgLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSI5MjQiIG1pYmVudW09IjIwOTAiPjwhLS0gRUJDRElDLUxhdGluOStFdXJvIC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iOTI2Ij48IS0tIEtvcmVhbiBQQyBEQVRBIERCQ1MsIFVEQyAxODgwIC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iOTI3Ij48IS0tIFRyYWRpdGlvbmFsIGNoaW5lc2UgUEMgREFUQSBEQkNTLCBVREMgNjIwNCAtLT48L2Fzc29jPgorICAgICAgICA8YXNzb2MgY2NzaWQ9IjkyOCI+PCEtLSBTaW1wbGlmaWVkIGNoaW5lc2UgUEMgREFUQSBEQkNTLCBVREMgMTg4MCAtLT48L2Fzc29jPgorICAgICAgICA8YXNzb2MgY2NzaWQ9IjkzMCI+PCEtLSBKYXBhbiBLYXRha2FuYSAoZXh0ZW5kZWQgcmFuZ2UpIDQzNzAgVURDIChVc2VyIERlZmluZWQgQ2hhcmFjdGVycykgLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSI5MzIiPjwhLS0gSmFwYW4gUEMgREFUQSBNaXhlZCAtLT48L2Fzc29jPgorICAgICAgICA8YXNzb2MgY2NzaWQ9IjkzMyI+PCEtLSBLb3JlYSAoZXh0ZW5kZWQgcmFuZ2UpLCAxODgwIFVEQyAtLT48L2Fzc29jPgorICAgICAgICA8YXNzb2MgY2NzaWQ9IjkzNCI+PCEtLSBLb3JlYW4gUEMgREFUQSAtLT48L2Fzc29jPgorICAgICAgICA8YXNzb2MgY2NzaWQ9IjkzNSI+PCEtLSBTaW1wbGlmaWVkIENoaW5lc2UgKGV4dGVuZGVkIHJhbmdlKSAtLT48L2Fzc29jPgorICAgICAgICA8YXNzb2MgY2NzaWQ9IjkzNiI+PCEtLSBTaW1wbGlmaWVkIENoaW5lc2UgKG5vbi1leHRlbmRlZCkgLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSI5MzciPjwhLS0gVHJhZGl0aW9uYWwgQ2hpbmVzZSAoZXh0ZW5kZWQgcmFuZ2UpIC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iOTM4Ij48IS0tIFRyYWRpdGlvbmFsIENoaW5lc2UgKG5vbi1leHRlbmRlZCkgLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSI5MzkiPjwhLS0gSmFwYW4gRW5nbGlzaCAoZXh0ZW5kZWQgcmFuZ2UpIDQzNzAgVURDIC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iOTQyIj48IS0tIEphcGFuZXNlIFBDIERBVEEgTWl4ZWQgLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSI5NDMiIG1pYmVudW09IjE3Ij48IS0tIFNoaWZ0X0pJUyAtLT48L2Fzc29jPgorICAgICAgICA8YXNzb2MgY2NzaWQ9Ijk0NCI+PCEtLSBLb3JlYW4gUEMgREFUQSBNaXhlZCAtLT48L2Fzc29jPgorICAgICAgICA8YXNzb2MgY2NzaWQ9Ijk0NiI+PCEtLSBTaW1wbGlmaWVkIENoaW5lc2UgUEMgREFUQSBNaXhlZCAtLT48L2Fzc29jPgorICAgICAgICA8YXNzb2MgY2NzaWQ9Ijk0NyI+PCEtLSBUcmFkaXRpb25hbCBDaGluZXNlIFBDIERBVEEgTWl4ZWQgNjIwNCBVREMgKFVzZXIgRGVmaW5lZCBDaGFyYWN0ZXJzKSAtLT48L2Fzc29jPgorICAgICAgICA8YXNzb2MgY2NzaWQ9Ijk0OSI+PCEtLSBSZXB1YmxpYyBvZiBLb3JlYSBOYXRpb25hbCBTdGFuZGFyZCBHcmFwaGljIENoYXJhY3RlciBTZXQgKEtTKS4gUEMgREFUQSBtaXhlZC1ieXRlIGluY2x1ZGluZyAxODAwIFVEQyAtLT48L2Fzc29jPgorICAgICAgICA8YXNzb2MgY2NzaWQ9Ijk1MCI+PCEtLSBUcmFkaXRpb25hbCBDaGluZXNlIFBDIERBVEEgTWl4ZWQgZm9yIEJpZzUgLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSI5NTEiPjwhLS0gUmVwdWJsaWMgb2YgS29yZWEgTmF0aW9uYWwgU3RhbmRhcmQgR3JhcGhpYyBDaGFyYWN0ZXIgU2V0IChLUykuIFBDIERBVEEgZG91YmxlLWJ5dGUgaW5jbHVkaW5nIDE4MDAgVURDIC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iOTU2Ij48IS0tIEpJUyBYMjAxIFJvbWFuIGZvciBDUCAwMDg5NTsgSklTIFgyMDgtMTk4MyBmb3IgQ1AgMDA5NTIgLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSI5NTciPjwhLS0gSklTIFgyMDEgUm9tYW4gZm9yIENQIDAwODk1OyBKSVMgWDIwOC0xOTc4IGZvciBDUCAwMDk1NSAtLT48L2Fzc29jPgorICAgICAgICA8YXNzb2MgY2NzaWQ9Ijk1OCI+PCEtLSBBU0NJSSBmb3IgQ1AgMDAzNjc7IEpJUyBYMjA4LTE5ODMgZm9yIENQIDAwOTUyIC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iOTU5Ij48IS0tIEFTQ0lJIGZvciBDUCAwMDM2NzsgSklTIFgyMDgtMTk3OCBmb3IgQ1AgMDA5NTUgLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSI5NjQiPjwhLS0gRzAgLSBBU0NJSSBmb3IgQ1AgMDAzNjc7IEcxLUNOUyAxMTY0MyBwbGFuZSAxIGZvciBDUCA5NjAgLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSI5NjUiPjwhLS0gQVNDSUkgZm9yIENQIDAwMzY3OyBDTlMgMTE2NDMgcGxhbmUgMSBmb3IgQ1AgOTYwIC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iOTcwIiBtaWJlbnVtPSIzOCI+PCEtLSBFVUMtS1IgLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSIxMDA4Ij48IS0tIEFyYWJpYyA4LWJpdCBJU08vQVNDSUkgLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSIxMDA5Ij48IS0tIElSViAtLT48L2Fzc29jPgorICAgICAgICA8YXNzb2MgY2NzaWQ9IjEwMTAiPjwhLS0gRnJhbmNlIC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iMTAxMSI+PCEtLSBHZXJtYW55IC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iMTAxMiI+PCEtLSBJdGFseSAtLT48L2Fzc29jPgorICAgICAgICA8YXNzb2MgY2NzaWQ9IjEwMTMiPjwhLS0gVW5pdGVkIEtpbmdkb20gLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSIxMDE0Ij48IS0tIFNwYWluIC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iMTAxNSI+PCEtLSBQb3J0dWdhbCAtLT48L2Fzc29jPgorICAgICAgICA8YXNzb2MgY2NzaWQ9IjEwMTYiPjwhLS0gTm9yd2F5IC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iMTAxNyI+PCEtLSBEZW5tYXJrIC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iMTAxOCI+PCEtLSBGaW5sYW5kIGFuZCBTd2VkZW4gLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSIxMDE5Ij48IS0tIEJlbGdpdW0gYW5kIE5ldGhlcmxhbmRzIC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iMTAyNSI+PCEtLSBDeXJpbGxpYyBNdWx0aWxpbmd1YWwgLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSIxMDI2IiBtaWJlbnVtPSIyMDYzIj48IS0tIFR1cmtleSBsYXRpbiA1IENFQ1AgLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSIxMDI3Ij48IS0tIEphcGFuIGVuZ2xpc2ggKGV4dGVuZGVkIHJhbmdlKSAtLT48L2Fzc29jPgorICAgICAgICA8YXNzb2MgY2NzaWQ9IjEwNDAiPjwhLS0gS29yZWFuIExhdGluIFBDIERBVEEgZXh0ZW5kZWQgLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSIxMDQxIj48IS0tIEphcGFuZXNlIFBDIERBVEEgZXh0ZW5kZWQgLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSIxMDQyIj48IS0tIFNpbXBsaWZpZWQgQ2hpbmVzZSBQQyBEQVRBIGV4dGVuZGVkIC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iMTA0MyI+PCEtLSBUcmFkaXRpb25hbCBDaGluZXNlIFBDIERBVEEgZXh0ZW5kZWQgLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSIxMDQ2Ij48IS0tIFBDIERBVEEgLSBBcmFiaWMgRXh0ZW5kZWQgLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSIxMDQ3IiBtaWJlbnVtPSIyMTAyIj48IS0tIExhdGluIG9wZW4gc3lzIEVCQ0RJQyAtLT48L2Fzc29jPgorICAgICAgICA8YXNzb2MgY2NzaWQ9IjEwNTEiIG1pYmVudW09IjIwMDQiPjwhLS0gaHAtcm9tYW44IC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iMTA4OCI+PCEtLSBLb3JlYW4gUEMgREFUQSBzaW5nbGUtYnl0ZSAtLT48L2Fzc29jPgorICAgICAgICA8YXNzb2MgY2NzaWQ9IjEwODkiIG1pYmVudW09IjkiPjwhLS0gSVNPIDg4NTktNjogQXJhYmljIC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iMTA5NyI+PCEtLSBGYXJzaSAtLT48L2Fzc29jPgorICAgICAgICA8YXNzb2MgY2NzaWQ9IjEwOTgiPjwhLS0gRmFyc2kgKElCTS1QQykgLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSIxMTEyIj48IS0tIEJhbHRpYywgTXVsdGlsaW5ndWFsIC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iMTExNCI+PCEtLSBUcmFkaXRpb25hbCBDaGluZXNlLCBUYWl3YW4gSW5kdXN0cnkgR3JhcGhpYyBDaGFyYWN0ZXIgU2V0IChCaWc1KSAtLT48L2Fzc29jPgorICAgICAgICA8YXNzb2MgY2NzaWQ9IjExMTUiPjwhLS0gU2ltcGxpZmllZCBDaGluZXNlLCBQZW9wbGUmI3gyNztzIFJlcHVibGljIG9mIENoaW5hIE5hdGlvbmFsLiBTdGFuZGFyZCAoR0IpLCBwZXJzb25hbCBjb21wdXRlciBTQkNTIC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iMTEyMiI+PCEtLSBFc3RvbmlhIC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iMTEyMyIvPgorICAgICAgICA8YXNzb2MgY2NzaWQ9IjExMjkiPjwhLS0gSVNPLTggVmlldG5hbWVzZSAtLT48L2Fzc29jPgorICAgICAgICA8YXNzb2MgY2NzaWQ9IjExMzAiPjwhLS0gRUJDRElDIFZpZXRuYW1lc2UgLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSIxMTMyIj48IS0tIEVCQ0RJQyBMYW8gLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSIxMTMzIj48IS0tIElTTy04IExhbyAtLT48L2Fzc29jPgorICAgICAgICA8YXNzb2MgY2NzaWQ9IjExMzciLz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSIxMTQwIiBtaWJlbnVtPSIyMDkxIj48IS0tIEVCQ0RJQy1VUy0zNytFdXJvIC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iMTE0MSIgbWliZW51bT0iMjA5MiI+PCEtLSBFQkNESUMtREUtMjczK0V1cm8gLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSIxMTQyIiBtaWJlbnVtPSIyMDkzIj48IS0tIEVCQ0RJQy1ESy9OTy0yNzcrRXVybyAtLT48L2Fzc29jPgorICAgICAgICA8YXNzb2MgY2NzaWQ9IjExNDMiIG1pYmVudW09IjIwOTQiPjwhLS0gRUJDRElDLUZJL1NFLTI3OCtFdXJvIC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iMTE0NCIgbWliZW51bT0iMjA5NSI+PCEtLSBFQkNESUMtSVQtMjgwK0V1cm8gLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSIxMTQ1IiBtaWJlbnVtPSIyMDk2Ij48IS0tIEVCQ0RJQy1FUy0yODQrRXVybyAtLT48L2Fzc29jPgorICAgICAgICA8YXNzb2MgY2NzaWQ9IjExNDYiIG1pYmVudW09IjIwOTciPjwhLS0gRUJDRElDLUdCLTI4NStFdXJvIC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iMTE0NyIgbWliZW51bT0iMjA5OCI+PCEtLSBFQkNESUMtRlItMjk3K0V1cm8gLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSIxMTQ4IiBtaWJlbnVtPSIyMDk5Ij48IS0tIEVCQ0RJQy1JTlQtNTAwK0V1cm8gLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSIxMTQ5IiBtaWJlbnVtPSIyMTAwIj48IS0tIEVCQ0RJQy1JUy04NzErRXVybyAtLT48L2Fzc29jPgorICAgICAgICA8YXNzb2MgY2NzaWQ9IjExNTMiLz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSIxMTU0Ii8+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iMTE1NSIvPgorICAgICAgICA8YXNzb2MgY2NzaWQ9IjExNTYiLz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSIxMTU3Ii8+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iMTE1OCIvPgorICAgICAgICA8YXNzb2MgY2NzaWQ9IjExNjAiLz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSIxMTY0Ii8+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iMTIwMSIgbWliZW51bT0iMTAxMyI+PCEtLSBVVEYtMTZCRSAtLT4KKyAgICAgICAgICAgICAgICA8YWxpYXM+VVRGMTYtQkU8L2FsaWFzPgorICAgICAgICAgICAgICAgIDxhbGlhcz5VVEYxNkJFPC9hbGlhcz4KKyAgICAgICAgICAgICAgICA8YWxpYXM+VVRGLTE2LUJFPC9hbGlhcz4KKyAgICAgICAgPC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSIxMjAzIiBtaWJlbnVtPSIxMDE0Ij48IS0tIFVURi0xNkxFIC0tPgorICAgICAgICAgICAgICAgIDxhbGlhcz5VVEYxNi1MRTwvYWxpYXM+CisgICAgICAgICAgICAgICAgPGFsaWFzPlVURjE2TEU8L2FsaWFzPgorICAgICAgICAgICAgICAgIDxhbGlhcz5VVEYtMTYtTEU8L2FsaWFzPgorICAgICAgICA8L2Fzc29jPgorICAgICAgICA8YXNzb2MgY2NzaWQ9IjEyMDgiIG1pYmVudW09IjEwNiI+PCEtLSBVVEYtOCAtLT4KKyAgICAgICAgICAgICAgICA8YWxpYXM+VVRGODwvYWxpYXM+CisgICAgICAgIDwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iMTIzMyIgbWliZW51bT0iMTAxOCI+PCEtLSBVVEYtMzJCRSAtLT4KKyAgICAgICAgICAgICAgICA8YWxpYXM+VVRGMzItQkU8L2FsaWFzPgorICAgICAgICAgICAgICAgIDxhbGlhcz5VVEYzMkJFPC9hbGlhcz4KKyAgICAgICAgICAgICAgICA8YWxpYXM+VVRGLTMyLUJFPC9hbGlhcz4KKyAgICAgICAgPC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSIxMjM1IiBtaWJlbnVtPSIxMDE5Ij48IS0tIFVURi0zMkxFIC0tPgorICAgICAgICAgICAgICAgIDxhbGlhcz5VVEYzMi1MRTwvYWxpYXM+CisgICAgICAgICAgICAgICAgPGFsaWFzPlVURjMyTEU8L2FsaWFzPgorICAgICAgICAgICAgICAgIDxhbGlhcz5VVEYtMzItTEU8L2FsaWFzPgorICAgICAgICA8L2Fzc29jPgorICAgICAgICA8YXNzb2MgY2NzaWQ9IjEyNTAiIG1pYmVudW09IjIwMDIiPjwhLS0gV2luZG93cyBMYXRpbiAyIC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iMTI1MSI+PCEtLSBXaW5kb3dzIEN5cmlsbGljIC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iMTI1MiIgbWliZW51bT0iMjAwMSI+PCEtLSBXaW5kb3dzIExhdGluIDEgLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSIxMjUzIj48IS0tIFdpbmRvd3MgR3JlZWsgLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSIxMjU0Ij48IS0tIFdpbmRvd3MgVHVya2lzaCAtLT48L2Fzc29jPgorICAgICAgICA8YXNzb2MgY2NzaWQ9IjEyNTUiPjwhLS0gV2luZG93cyBIZWJyZXcgLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSIxMjU2Ij48IS0tIFdpbmRvd3MgQXJhYmljIC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iMTI1NyI+PCEtLSBXaW5kb3dzIEJhbHRpYyBSaW0gLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSIxMjU4Ij48IS0tIFdpbmRvd3MgVmlldG5hbWVzZSAtLT48L2Fzc29jPgorICAgICAgICA8YXNzb2MgY2NzaWQ9IjEyNzUiPjwhLS0gQXBwbGUsIExhdGluLTEgLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSIxMjc2IiBtaWJlbnVtPSIyMDA1Ij48IS0tIEFkb2JlLVN0YW5kYXJkLUVuY29kaW5nIC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iMTI4MCI+PCEtLSBBcHBsZSwgR3JlZWsgLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSIxMjgxIj48IS0tIEFwcGxlLCBUdXJrZXkgLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSIxMjgyIj48IS0tIEFwcGxlLCBDZW50cmFsIEV1cm9wZWFuIChMYXRpbi0yKSAtLT48L2Fzc29jPgorICAgICAgICA8YXNzb2MgY2NzaWQ9IjEyODMiPjwhLS0gQXBwbGUsIEN5cmlsbGljIC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iMTM2MyIgbWliZW51bT0iMzYiPjwhLS0gS1NfQ181NjAxLTE5ODcgLS0+CisgICAgICAgICAgICAgICAgPGFsaWFzPmtvcmVhbjwvYWxpYXM+CisgICAgICAgIDwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iMTM2NCIvPgorICAgICAgICA8YXNzb2MgY2NzaWQ9IjEzNzMiPjwhLS0gV2luZG93cy05NTAgLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSIxMzc1IiBtaWJlbnVtPSIyMTAxIj48IS0tIEJpZzUtSEtTQ1MgLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSIxMzgwIj48IS0tIFNpbXBsaWZpZWQgQ2hpbmVzZSBEQkNTIFBDIC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iMTM4MSI+PCEtLSBTaW1wbGlmaWVkIENoaW5lc2UgUEMgREFUQSBNaXhlZCAtLT48L2Fzc29jPgorICAgICAgICA8YXNzb2MgY2NzaWQ9IjEzODMiIG1pYmVudW09IjIwMjUiPjwhLS0gR0IyMzEyIC0tPgorICAgICAgICAgICAgICAgIDxhbGlhcz5FVUMtQ048L2FsaWFzPgorICAgICAgICA8L2Fzc29jPgorICAgICAgICA8YXNzb2MgY2NzaWQ9IjEzODYiIG1pYmVudW09IjExMyI+PCEtLSBHQksgLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSIxMzg4Ij48IS0tIFNpbXBsaWZpZWQgQ2hpbmVzZSBEQkNTLUhvc3QgREFUQSBHQksgbWl4ZWQgLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSIxMzkyIj48IS0tIFMtY2ggUEMgRGFyYSBtaXhlZCBHQjE4MDMwIC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iMTM5OSIgLz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSI0Mzk2Ij48IS0tIEphcGFuZXNlIEhvc3QgREIgaW5jbHVkaW5nIDE4ODAgLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSI0OTQ4Ij48IS0tIExhdGluIDIgUEMgREFUQSBNdWx0aWxpbmd1YWwgLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSI0OTUxIj48IS0tIEN5cmlsbGljIFBDIERBVEEgTXVsdGlsaW5ndWFsIC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iNDk1MiI+PCEtLSBIZWJyZXcgUEMgREFUQSAtLT48L2Fzc29jPgorICAgICAgICA8YXNzb2MgY2NzaWQ9IjQ5NTMiPjwhLS0gVHVya2V5IFBDIERBVEEgTGF0aW4gNSAtLT48L2Fzc29jPgorICAgICAgICA8YXNzb2MgY2NzaWQ9IjQ5NjAiPjwhLS0gQXJhYmljIFBDIERBVEEgLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSI0OTY1Ij48IS0tIEdyZWVrIFBDIERBVEEgLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSI0OTcxIi8+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iNTAyNiI+PCEtLSBKYXBhbiBLYXRha2FuYSAoZXh0ZW5kZWQgcmFuZ2UpIDE4ODAgVURDIC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iNTAzNSI+PCEtLSBKYXBhbiBFbmdsaXNoIChleHRlbmRlZCByYW5nZSkgMTg4MCBVREMgLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSI1MDUwIj48IS0tIEcwIC0gSklTIFgyMDEgUm9tYW4gZm9yIENQIDg5NTsgRzEgSklTIFgyMDgtMTk5MCBmb3IgQ1AgOTUyIC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iNTA1MiI+PCEtLSBKSVMgWDIwMSBSb21hbiBmb3IgQ1AgODk1OyBKSVMgWDIwOC0xOTgzIGZvciBDUCA5NTIgLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSI1MDUzIj48IS0tIEpJUyBYMjAxIFJvbWFuIGZvciBDUCA4OTU7IEpJUyBYMjA4LTE5NzggZm9yIENQIDk1NSAtLT48L2Fzc29jPgorICAgICAgICA8YXNzb2MgY2NzaWQ9IjUwNTQiPjwhLS0gQVNDSUkgZm9yIENQIDM2NzsgSklTIFgyMDgtMTk4MyBmb3IgQ1AgOTUyIC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iNTA1NSI+PCEtLSBBU0NJSSBmb3IgQ1AgMzY3OyBKSVMgWDIwOC0xOTc4IGZvciBDUCA5NTUgLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSI1MzU0IiBtaWJlbnVtPSIyMjU4Ij48IS0tIHdpbmRvd3MtMTI1OCAtLT48L2Fzc29jPgorICAgICAgICA8YXNzb2MgY2NzaWQ9IjUzNDYiIG1pYmVudW09IjIyNTAiPjwhLS0gd2luZG93cy0xMjUwIC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iNTM0NyIgbWliZW51bT0iMjI1MSI+PCEtLSB3aW5kb3dzLTEyNTEgLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSI1MzQ4IiBtaWJlbnVtPSIyMjUyIj48IS0tIHdpbmRvd3MtMTI1MiAtLT48L2Fzc29jPgorICAgICAgICA8YXNzb2MgY2NzaWQ9IjUzNDkiIG1pYmVudW09IjIyNTMiPjwhLS0gd2luZG93cy0xMjUzIC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iNTM1MCIgbWliZW51bT0iMjI1NCI+PCEtLSB3aW5kb3dzLTEyNTQgLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSI1MTIzIi8+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iNTQ3OCIgbWliZW51bT0iNTciPjwhLS0gR0JfMjMxMi04MCAtLT4KKyAgICAgICAgICAgICAgICA8YWxpYXM+Y2hpbmVzZTwvYWxpYXM+CisgICAgICAgIDwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iODYxMiI+PCEtLSBBcmFiaWMgKGJhc2Ugc2hhcGVzIG9ubHkpIC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iOTAzMCI+PCEtLSBUaGFpIEhvc3QgRXh0ZW5kZWQgU0JDUyAtLT48L2Fzc29jPgorICAgICAgICA8YXNzb2MgY2NzaWQ9IjkwNTYiPjwhLS0gUEMgREFUQTogQXJhYmljIFBDIFN0b3JhZ2UvSW50ZXJjaGFuZ2UgLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSI5MDY2Ij48IS0tIFRoYWkgUEMgREFUQSBFeHRlbmRlZCBTQkNTIC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iOTQ0NyIgbWliZW51bT0iMjI1NSI+PCEtLSB3aW5kb3dzLTEyNTUgLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSI5NDQ4IiBtaWJlbnVtPSIyMjU2Ij48IS0tIHdpbmRvd3MtMTI1NiAtLT48L2Fzc29jPgorICAgICAgICA8YXNzb2MgY2NzaWQ9Ijk0NDkiIG1pYmVudW09IjIyNTciPjwhLS0gd2luZG93cy0xMjU3IC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iMTI3MDgiLz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSIxMzEyMSIvPgorICAgICAgICA8YXNzb2MgY2NzaWQ9IjEzMTI0Ii8+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iMTM0ODgiIG1pYmVudW09IjEwMDAiPjwhLS0gSVNPLTEwNjQ2LVVDUy0yIC0tPgorICAgICAgICAgICAgICAgIDxhbGlhcz5VQ1MtMjwvYWxpYXM+CisgICAgICAgICAgICAgICAgPGFsaWFzPlVDUzI8L2FsaWFzPgorICAgICAgICA8L2Fzc29jPgorICAgICAgICA8YXNzb2MgY2NzaWQ9IjE3MzU0Ij48IS0tIEcwIC0gQVNDSUkgZm9yIENQIDAwMzY3OyBHMSAtS1NDIFg1NjAxLTE5ODkgKGluY2x1ZGluZyAxODggVURDcykgZm9yIC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iMjU1NDYiPjwhLS0gS29yZWFuIDIwMjItS1IgVENQIEFTQ0lJIC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iMjg3MDkiPjwhLS0gVHJhZGl0aW9uYWwgQ2hpbmVzZSAoZXh0ZW5kZWQgcmFuZ2UpIC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iMzM3MjIiIG1pYmVudW09IjE4Ij48IS0tIEVVQy1KUCAtLT48L2Fzc29jPgorICAgICAgICA8YXNzb2MgY2NzaWQ9IjU3MzQ1Ij48IS0tIEFsbCBKYXBhbmVzZSAyMDIyIGNoYXJhY3RlcnMgLS0+PC9hc3NvYz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSI2MTk1MiI+PCEtLSBBUy80MDAgc3BlY2lmaWMgVUNTIGxldmVsIDIuIC0tPjwvYXNzb2M+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iNjIyMTEiLz4KKyAgICAgICAgPGFzc29jIGNjc2lkPSI2MjIyNCIvPgorICAgICAgICA8YXNzb2MgY2NzaWQ9IjYyMjM1Ii8+CisgICAgICAgIDxhc3NvYyBjY3NpZD0iNjIyNDUiLz4KKyAgICAgICAgPGFzc29jIG1pYmVudW09IjI3Ij48IS0tIElTTy0xMDY0Ni1VVEYtMSAtLT48L2Fzc29jPgorPC9jY3NpZF9taWJlbnVtPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9vczQwMC9pY29udi9ibGRjc25kZmEvY2hhcmFjdGVyLXNldHMueGh0bWwgYi9saWJ4bWwyL29zNDAwL2ljb252L2JsZGNzbmRmYS9jaGFyYWN0ZXItc2V0cy54aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMWQ1YTNiCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9vczQwMC9pY29udi9ibGRjc25kZmEvY2hhcmFjdGVyLXNldHMueGh0bWwKQEAgLTAsMCArMSwzMDc3IEBACis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBTdHJpY3QvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgeG1sbnM6aWFuYT0iaHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cyI+CisgIDxoZWFkPgorICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PUFTQ0lJIiAvPgorICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vX3N1cHBvcnQvaWFuYS1yZWdpc3RyeS5jc3MiIHR5cGU9InRleHQvY3NzIiAvPgorICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uL19zdXBwb3J0L2pxdWVyeS5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vX3N1cHBvcnQvc29ydC5qcyI+PC9zY3JpcHQ+CisgICAgPHRpdGxlPkNoYXJhY3RlciBTZXRzPC90aXRsZT4KKyAgPC9oZWFkPgorICA8Ym9keT4KKyAgICA8aDE+Q2hhcmFjdGVyIFNldHM8L2gxPgorICAgIDxkbD4KKyAgICAgIDxkdD5MYXN0IFVwZGF0ZWQ8L2R0PgorICAgICAgPGRkPjIwMTMtMDEtMjM8L2RkPgorICAgICAgPGR0PlJlZ2lzdHJhdGlvbiBQcm9jZWR1cmUocyk8L2R0PgorICAgICAgPGRkPgorICAgICAgICA8cHJlPkV4cGVydCBSZXZpZXc8L3ByZT4KKyAgICAgIDwvZGQ+CisgICAgICA8ZHQ+RXhwZXJ0KHMpPC9kdD4KKyAgICAgIDxkZD4KKyAgICAgICAgPHByZT5QcmltYXJ5IEV4cGVydCBOZWQgRnJlZWQgYW5kIFNlY29uZGFyeSBFeHBlcnQgTWFydGluIEQmIzI1Mjtyc3Q8L3ByZT4KKyAgICAgIDwvZGQ+CisgICAgICA8ZHQ+UmVmZXJlbmNlPC9kdD4KKyAgICAgIDxkZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMyOTc4Ij5SRkMyOTc4PC9hPl08L2RkPgorICAgICAgPGR0Pk5vdGU8L2R0PgorICAgICAgPGRkPgorICAgICAgICA8cHJlPlRoZXNlIGFyZSB0aGUgb2ZmaWNpYWwgbmFtZXMgZm9yIGNoYXJhY3RlciBzZXRzIHRoYXQgbWF5IGJlIHVzZWQgaW4KK3RoZSBJbnRlcm5ldCBhbmQgbWF5IGJlIHJlZmVycmVkIHRvIGluIEludGVybmV0IGRvY3VtZW50YXRpb24uICBUaGVzZQorbmFtZXMgYXJlIGV4cHJlc3NlZCBpbiBBTlNJX1gzLjQtMTk2OCB3aGljaCBpcyBjb21tb25seSBjYWxsZWQKK1VTLUFTQ0lJIG9yIHNpbXBseSBBU0NJSS4gIFRoZSBjaGFyYWN0ZXIgc2V0IG1vc3QgY29tbW9ubHkgdXNlIGluIHRoZQorSW50ZXJuZXQgYW5kIHVzZWQgZXNwZWNpYWxseSBpbiBwcm90b2NvbCBzdGFuZGFyZHMgaXMgVVMtQVNDSUksIHRoaXMKK2lzIHN0cm9uZ2x5IGVuY291cmFnZWQuICBUaGUgdXNlIG9mIHRoZSBuYW1lIFVTLUFTQ0lJIGlzIGFsc28KK2VuY291cmFnZWQuCisKK1RoZSBjaGFyYWN0ZXIgc2V0IG5hbWVzIG1heSBiZSB1cCB0byA0MCBjaGFyYWN0ZXJzIHRha2VuIGZyb20gdGhlCitwcmludGFibGUgY2hhcmFjdGVycyBvZiBVUy1BU0NJSS4gIEhvd2V2ZXIsIG5vIGRpc3RpbmN0aW9uIGlzIG1hZGUKK2JldHdlZW4gdXNlIG9mIHVwcGVyIGFuZCBsb3dlciBjYXNlIGxldHRlcnMuCisKK1RoZSBNSUJlbnVtIHZhbHVlIGlzIGEgdW5pcXVlIHZhbHVlIGZvciB1c2UgaW4gTUlCcyB0byBpZGVudGlmeSBjb2RlZAorY2hhcmFjdGVyIHNldHMuCisKK1RoZSB2YWx1ZSBzcGFjZSBmb3IgTUlCZW51bSB2YWx1ZXMgaGFzIGJlZW4gZGl2aWRlZCBpbnRvIHRocmVlCityZWdpb25zLiBUaGUgZmlyc3QgcmVnaW9uICgzLTk5OSkgY29uc2lzdHMgb2YgY29kZWQgY2hhcmFjdGVyIHNldHMKK3RoYXQgaGF2ZSBiZWVuIHN0YW5kYXJkaXplZCBieSBzb21lIHN0YW5kYXJkIHNldHRpbmcgb3JnYW5pemF0aW9uLgorVGhpcyByZWdpb24gaXMgaW50ZW5kZWQgZm9yIHN0YW5kYXJkcyB0aGF0IGRvIG5vdCBoYXZlIHN1YnNldAoraW1wbGVtZW50YXRpb25zLiBUaGUgc2Vjb25kIHJlZ2lvbiAoMTAwMC0xOTk5KSBpcyBmb3IgdGhlIFVuaWNvZGUgYW5kCitJU08vSUVDIDEwNjQ2IGNvZGVkIGNoYXJhY3RlciBzZXRzIHRvZ2V0aGVyIHdpdGggYSBzcGVjaWZpY2F0aW9uIG9mIGEKKyhzZXQgb2YpIHN1Yi1yZXBlcnRvaXJlcyB0aGF0IG1heSBvY2N1ci4gIFRoZSB0aGlyZCByZWdpb24gKCZndDsxOTk5KSBpcworaW50ZW5kZWQgZm9yIHZlbmRvciBzcGVjaWZpYyBjb2RlZCBjaGFyYWN0ZXIgc2V0cy4KKworICAgICAgICBBc3NpZ25lZCBNSUIgZW51bSBOdW1iZXJzCisgICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICAgICAgMC0yICAgICAgICAgICAgIFJlc2VydmVkCisgICAgICAgIDMtOTk5ICAgICAgICAgICBTZXQgQnkgU3RhbmRhcmRzIE9yZ2FuaXphdGlvbnMKKyAgICAgICAgMTAwMC0xOTk5ICAgICAgIFVuaWNvZGUgLyAxMDY0NgorICAgICAgICAyMDAwLTI5OTkgICAgICAgVmVuZG9yCisKK1RoZSBhbGlhc2VzIHRoYXQgc3RhcnQgd2l0aCAiY3MiIGhhdmUgYmVlbiBhZGRlZCBmb3IgdXNlIHdpdGggdGhlCitJQU5BLUNIQVJTRVQtTUlCIGFzIG9yaWdpbmFsbHkgZGVmaW5lZCBpbiBbPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMzODA4Ij5SRkMzODA4PC9hPl0sIGFuZCBhcyBjdXJyZW50bHkKK21haW50YWluZWQgYnkgSUFOQSBhdCBbPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9pYW5hY2hhcnNldC1taWIiPklBTkEgcmVnaXN0cnkgPGk+aWFuYWNoYXJzZXQtbWliPC9pPjwvYT5dLgorTm90ZSB0aGF0IHRoZSBpYW5hY2hhcnNldC1taWIgbmVlZHMgdG8gYmUga2VwdCBpbiBzeW5jIHdpdGggdGhpcworcmVnaXN0cnkuICBUaGVzZSBhbGlhc2VzIHRoYXQgc3RhcnQgd2l0aCAiY3MiIGNvbnRhaW4gdGhlIHN0YW5kYXJkCitudW1iZXJzIGFsb25nIHdpdGggc3VnZ2VzdGl2ZSBuYW1lcyBpbiBvcmRlciB0byBmYWNpbGl0YXRlIGFwcGxpY2F0aW9ucwordGhhdCB3YW50IHRvIGRpc3BsYXkgdGhlIG5hbWVzIGluIHVzZXIgaW50ZXJmYWNlcy4gIFRoZSAiY3MiIHN0YW5kcworZm9yIGNoYXJhY3RlciBzZXQgYW5kIGlzIHByb3ZpZGVkIGZvciBhcHBsaWNhdGlvbnMgdGhhdCBuZWVkIGEgbG93ZXIKK2Nhc2UgZmlyc3QgbGV0dGVyIGJ1dCB3YW50IHRvIHVzZSBtaXhlZCBjYXNlIHRoZXJlYWZ0ZXIgdGhhdCBjYW5ub3QKK2NvbnRhaW4gYW55IHNwZWNpYWwgY2hhcmFjdGVycywgc3VjaCBhcyB1bmRlcmJhciAoIl8iKSBhbmQgZGFzaCAoIi0iKS4KKworSWYgdGhlIGNoYXJhY3RlciBzZXQgaXMgZnJvbSBhbiBJU08gc3RhbmRhcmQsIGl0cyBjcyBhbGlhcyBpcyB0aGUgSVNPCitzdGFuZGFyZCBudW1iZXIgb3IgbmFtZS4gIElmIHRoZSBjaGFyYWN0ZXIgc2V0IGlzIG5vdCBmcm9tIGFuIElTTworc3RhbmRhcmQsIGJ1dCBpcyByZWdpc3RlcmVkIHdpdGggSVNPIChJUFNKL0lUU0NKIGlzIHRoZSBjdXJyZW50IElTTworUmVnaXN0cmF0aW9uIEF1dGhvcml0eSksIHRoZSBJU08gUmVnaXN0cnkgbnVtYmVyIGlzIHNwZWNpZmllZCBhcworSVNPbm5uIGZvbGxvd2VkIGJ5IGxldHRlcnMgc3VnZ2VzdGl2ZSBvZiB0aGUgbmFtZSBvciBzdGFuZGFyZHMgbnVtYmVyCitvZiB0aGUgY29kZSBzZXQuICBXaGVuIGEgbmF0aW9uYWwgb3IgaW50ZXJuYXRpb25hbCBzdGFuZGFyZCBpcworcmV2aXNlZCwgdGhlIHllYXIgb2YgcmV2aXNpb24gaXMgYWRkZWQgdG8gdGhlIGNzIGFsaWFzIG9mIHRoZSBuZXcKK2NoYXJhY3RlciBzZXQgZW50cnkgaW4gdGhlIElBTkEgUmVnaXN0cnkgaW4gb3JkZXIgdG8gZGlzdGluZ3Vpc2ggdGhlCityZXZpc2VkIGNoYXJhY3RlciBzZXQgZnJvbSB0aGUgb3JpZ2luYWwgY2hhcmFjdGVyIHNldC48L3ByZT4KKyAgICAgIDwvZGQ+CisgICAgICA8ZHQ+QWx0ZXJuYXRpdmUgRm9ybWF0czwvZHQ+CisgICAgICA8ZGQ+CisgICAgICAgIDxhIGNsYXNzPSJhbHRmb3JtYXQiIGhyZWY9ImNoYXJhY3Rlci1zZXRzLnR4dCI+PGltZyBzcmM9Ii9faW1nL2ljb25zL3RleHQtcGxhaW4ucG5nIiAvPjxiciAvPlBsYWluIHRleHQ8L2E+CisgICAgICA8L2RkPgorICAgIDwvZGw+CisgICAgPGRsPgorICAgICAgPGR0PkFsdGVybmF0aXZlIEZvcm1hdHM8L2R0PgorICAgICAgPGRkPgorICAgICAgICA8YSBjbGFzcz0iYWx0Zm9ybWF0IiBocmVmPSJjaGFyYWN0ZXItc2V0cy0xLmNzdiI+PGltZyBzcmM9Ii9faW1nL2ljb25zL3RleHQtY3N2LnBuZyIgLz48YnIgLz5DU1Y8L2E+CisgICAgICA8L2RkPgorICAgIDwvZGw+CisgICAgPHRhYmxlIGlkPSJ0YWJsZS1jaGFyYWN0ZXItc2V0cy0xIiBjbGFzcz0ic29ydGFibGUiPgorICAgICAgPHRoZWFkPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRoPlByZWZlcnJlZCBNSU1FIE5hbWU8L3RoPgorICAgICAgICAgIDx0aD5OYW1lPC90aD4KKyAgICAgICAgICA8dGg+TUlCZW51bTwvdGg+CisgICAgICAgICAgPHRoPlNvdXJjZTwvdGg+CisgICAgICAgICAgPHRoPlJlZmVyZW5jZTwvdGg+CisgICAgICAgICAgPHRoPkFsaWFzZXM8L3RoPgorICAgICAgICAgIDx0aD5Ob3RlPC90aD4KKyAgICAgICAgPC90cj4KKyAgICAgIDwvdGhlYWQ+CisgICAgICA8dGJvZHk+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+VVMtQVNDSUk8L3RkPgorICAgICAgICAgIDx0ZD5VUy1BU0NJSTwvdGQ+CisgICAgICAgICAgPHRkPjM8L3RkPgorICAgICAgICAgIDx0ZD5BTlNJIFgzLjQtMTk4NjwvdGQ+CisgICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzIwNDYiPlJGQzIwNDY8L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPmlzby1pci02PGJyIC8+QU5TSV9YMy40LTE5Njg8YnIgLz5BTlNJX1gzLjQtMTk4NjxiciAvPklTT182NDYuaXJ2OjE5OTE8YnIgLz5JU082NDYtVVM8YnIgLz5VUy1BU0NJSTxiciAvPnVzPGJyIC8+SUJNMzY3PGJyIC8+Y3AzNjc8YnIgLz5jc0FTQ0lJPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD5JU08tODg1OS0xPC90ZD4KKyAgICAgICAgICA8dGQ+SVNPXzg4NTktMToxOTg3PC90ZD4KKyAgICAgICAgICA8dGQ+NDwvdGQ+CisgICAgICAgICAgPHRkPgorICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pdHNjai5pcHNqLm9yLmpwL0lTTy1JUi8iPklTTy1JUjogSW50ZXJuYXRpb25hbCBSZWdpc3RlciBvZiBFc2NhcGUgU2VxdWVuY2VzPC9hPl08YnIgLz4KKyAgICAgICAgTm90ZTogVGhlIGN1cnJlbnQgcmVnaXN0cmF0aW9uIGF1dGhvcml0eSBpcyBJUFNKL0lUU0NKLCBKYXBhbi4KKyAgICAgIDwvdGQ+CisgICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+aXNvLWlyLTEwMDxiciAvPklTT184ODU5LTE8YnIgLz5JU08tODg1OS0xPGJyIC8+bGF0aW4xPGJyIC8+bDE8YnIgLz5JQk04MTk8YnIgLz5DUDgxOTxiciAvPmNzSVNPTGF0aW4xPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD5JU08tODg1OS0yPC90ZD4KKyAgICAgICAgICA8dGQ+SVNPXzg4NTktMjoxOTg3PC90ZD4KKyAgICAgICAgICA8dGQ+NTwvdGQ+CisgICAgICAgICAgPHRkPgorICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pdHNjai5pcHNqLm9yLmpwL0lTTy1JUi8iPklTTy1JUjogSW50ZXJuYXRpb25hbCBSZWdpc3RlciBvZiBFc2NhcGUgU2VxdWVuY2VzPC9hPl08YnIgLz4KKyAgICAgICAgTm90ZTogVGhlIGN1cnJlbnQgcmVnaXN0cmF0aW9uIGF1dGhvcml0eSBpcyBJUFNKL0lUU0NKLCBKYXBhbi4KKyAgICAgIDwvdGQ+CisgICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+aXNvLWlyLTEwMTxiciAvPklTT184ODU5LTI8YnIgLz5JU08tODg1OS0yPGJyIC8+bGF0aW4yPGJyIC8+bDI8YnIgLz5jc0lTT0xhdGluMjwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+SVNPLTg4NTktMzwvdGQ+CisgICAgICAgICAgPHRkPklTT184ODU5LTM6MTk4ODwvdGQ+CisgICAgICAgICAgPHRkPjY8L3RkPgorICAgICAgICAgIDx0ZD4KKyAgICAgICAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaXRzY2ouaXBzai5vci5qcC9JU08tSVIvIj5JU08tSVI6IEludGVybmF0aW9uYWwgUmVnaXN0ZXIgb2YgRXNjYXBlIFNlcXVlbmNlczwvYT5dPGJyIC8+CisgICAgICAgIE5vdGU6IFRoZSBjdXJyZW50IHJlZ2lzdHJhdGlvbiBhdXRob3JpdHkgaXMgSVBTSi9JVFNDSiwgSmFwYW4uCisgICAgICA8L3RkPgorICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPmlzby1pci0xMDk8YnIgLz5JU09fODg1OS0zPGJyIC8+SVNPLTg4NTktMzxiciAvPmxhdGluMzxiciAvPmwzPGJyIC8+Y3NJU09MYXRpbjM8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPklTTy04ODU5LTQ8L3RkPgorICAgICAgICAgIDx0ZD5JU09fODg1OS00OjE5ODg8L3RkPgorICAgICAgICAgIDx0ZD43PC90ZD4KKyAgICAgICAgICA8dGQ+CisgICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3Lml0c2NqLmlwc2oub3IuanAvSVNPLUlSLyI+SVNPLUlSOiBJbnRlcm5hdGlvbmFsIFJlZ2lzdGVyIG9mIEVzY2FwZSBTZXF1ZW5jZXM8L2E+XTxiciAvPgorICAgICAgICBOb3RlOiBUaGUgY3VycmVudCByZWdpc3RyYXRpb24gYXV0aG9yaXR5IGlzIElQU0ovSVRTQ0osIEphcGFuLgorICAgICAgPC90ZD4KKyAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgorICAgICAgICAgIDx0ZD5pc28taXItMTEwPGJyIC8+SVNPXzg4NTktNDxiciAvPklTTy04ODU5LTQ8YnIgLz5sYXRpbjQ8YnIgLz5sNDxiciAvPmNzSVNPTGF0aW40PC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD5JU08tODg1OS01PC90ZD4KKyAgICAgICAgICA8dGQ+SVNPXzg4NTktNToxOTg4PC90ZD4KKyAgICAgICAgICA8dGQ+ODwvdGQ+CisgICAgICAgICAgPHRkPgorICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pdHNjai5pcHNqLm9yLmpwL0lTTy1JUi8iPklTTy1JUjogSW50ZXJuYXRpb25hbCBSZWdpc3RlciBvZiBFc2NhcGUgU2VxdWVuY2VzPC9hPl08YnIgLz4KKyAgICAgICAgTm90ZTogVGhlIGN1cnJlbnQgcmVnaXN0cmF0aW9uIGF1dGhvcml0eSBpcyBJUFNKL0lUU0NKLCBKYXBhbi4KKyAgICAgIDwvdGQ+CisgICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+aXNvLWlyLTE0NDxiciAvPklTT184ODU5LTU8YnIgLz5JU08tODg1OS01PGJyIC8+Y3lyaWxsaWM8YnIgLz5jc0lTT0xhdGluQ3lyaWxsaWM8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPklTTy04ODU5LTY8L3RkPgorICAgICAgICAgIDx0ZD5JU09fODg1OS02OjE5ODc8L3RkPgorICAgICAgICAgIDx0ZD45PC90ZD4KKyAgICAgICAgICA8dGQ+CisgICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3Lml0c2NqLmlwc2oub3IuanAvSVNPLUlSLyI+SVNPLUlSOiBJbnRlcm5hdGlvbmFsIFJlZ2lzdGVyIG9mIEVzY2FwZSBTZXF1ZW5jZXM8L2E+XTxiciAvPgorICAgICAgICBOb3RlOiBUaGUgY3VycmVudCByZWdpc3RyYXRpb24gYXV0aG9yaXR5IGlzIElQU0ovSVRTQ0osIEphcGFuLgorICAgICAgPC90ZD4KKyAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgorICAgICAgICAgIDx0ZD5pc28taXItMTI3PGJyIC8+SVNPXzg4NTktNjxiciAvPklTTy04ODU5LTY8YnIgLz5FQ01BLTExNDxiciAvPkFTTU8tNzA4PGJyIC8+YXJhYmljPGJyIC8+Y3NJU09MYXRpbkFyYWJpYzwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+SVNPLTg4NTktNzwvdGQ+CisgICAgICAgICAgPHRkPklTT184ODU5LTc6MTk4NzwvdGQ+CisgICAgICAgICAgPHRkPjEwPC90ZD4KKyAgICAgICAgICA8dGQ+CisgICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3Lml0c2NqLmlwc2oub3IuanAvSVNPLUlSLyI+SVNPLUlSOiBJbnRlcm5hdGlvbmFsIFJlZ2lzdGVyIG9mIEVzY2FwZSBTZXF1ZW5jZXM8L2E+XTxiciAvPgorICAgICAgICBOb3RlOiBUaGUgY3VycmVudCByZWdpc3RyYXRpb24gYXV0aG9yaXR5IGlzIElQU0ovSVRTQ0osIEphcGFuLgorICAgICAgPC90ZD4KKyAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTk0NyI+UkZDMTk0NzwvYT5dWzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgorICAgICAgICAgIDx0ZD5pc28taXItMTI2PGJyIC8+SVNPXzg4NTktNzxiciAvPklTTy04ODU5LTc8YnIgLz5FTE9UXzkyODxiciAvPkVDTUEtMTE4PGJyIC8+Z3JlZWs8YnIgLz5ncmVlazg8YnIgLz5jc0lTT0xhdGluR3JlZWs8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPklTTy04ODU5LTg8L3RkPgorICAgICAgICAgIDx0ZD5JU09fODg1OS04OjE5ODg8L3RkPgorICAgICAgICAgIDx0ZD4xMTwvdGQ+CisgICAgICAgICAgPHRkPgorICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pdHNjai5pcHNqLm9yLmpwL0lTTy1JUi8iPklTTy1JUjogSW50ZXJuYXRpb25hbCBSZWdpc3RlciBvZiBFc2NhcGUgU2VxdWVuY2VzPC9hPl08YnIgLz4KKyAgICAgICAgTm90ZTogVGhlIGN1cnJlbnQgcmVnaXN0cmF0aW9uIGF1dGhvcml0eSBpcyBJUFNKL0lUU0NKLCBKYXBhbi4KKyAgICAgIDwvdGQ+CisgICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+aXNvLWlyLTEzODxiciAvPklTT184ODU5LTg8YnIgLz5JU08tODg1OS04PGJyIC8+aGVicmV3PGJyIC8+Y3NJU09MYXRpbkhlYnJldzwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+SVNPLTg4NTktOTwvdGQ+CisgICAgICAgICAgPHRkPklTT184ODU5LTk6MTk4OTwvdGQ+CisgICAgICAgICAgPHRkPjEyPC90ZD4KKyAgICAgICAgICA8dGQ+CisgICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3Lml0c2NqLmlwc2oub3IuanAvSVNPLUlSLyI+SVNPLUlSOiBJbnRlcm5hdGlvbmFsIFJlZ2lzdGVyIG9mIEVzY2FwZSBTZXF1ZW5jZXM8L2E+XTxiciAvPgorICAgICAgICBOb3RlOiBUaGUgY3VycmVudCByZWdpc3RyYXRpb24gYXV0aG9yaXR5IGlzIElQU0ovSVRTQ0osIEphcGFuLgorICAgICAgPC90ZD4KKyAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgorICAgICAgICAgIDx0ZD5pc28taXItMTQ4PGJyIC8+SVNPXzg4NTktOTxiciAvPklTTy04ODU5LTk8YnIgLz5sYXRpbjU8YnIgLz5sNTxiciAvPmNzSVNPTGF0aW41PC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD5JU08tODg1OS0xMDwvdGQ+CisgICAgICAgICAgPHRkPklTTy04ODU5LTEwPC90ZD4KKyAgICAgICAgICA8dGQ+MTM8L3RkPgorICAgICAgICAgIDx0ZD4KKyAgICAgICAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaXRzY2ouaXBzai5vci5qcC9JU08tSVIvIj5JU08tSVI6IEludGVybmF0aW9uYWwgUmVnaXN0ZXIgb2YgRXNjYXBlIFNlcXVlbmNlczwvYT5dPGJyIC8+CisgICAgICAgIE5vdGU6IFRoZSBjdXJyZW50IHJlZ2lzdHJhdGlvbiBhdXRob3JpdHkgaXMgSVBTSi9JVFNDSiwgSmFwYW4uCisgICAgICA8L3RkPgorICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPmlzby1pci0xNTc8YnIgLz5sNjxiciAvPklTT184ODU5LTEwOjE5OTI8YnIgLz5jc0lTT0xhdGluNjxiciAvPmxhdGluNjwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+SVNPXzY5MzctMi1hZGQ8L3RkPgorICAgICAgICAgIDx0ZD4xNDwvdGQ+CisgICAgICAgICAgPHRkPgorICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pdHNjai5pcHNqLm9yLmpwL0lTTy1JUi8iPklTTy1JUjogSW50ZXJuYXRpb25hbCBSZWdpc3RlciBvZiBFc2NhcGUgU2VxdWVuY2VzPC9hPl0gYW5kIElTTyA2OTM3LTI6MTk4MzxiciAvPgorICAgICAgICBOb3RlOiBUaGUgY3VycmVudCByZWdpc3RyYXRpb24gYXV0aG9yaXR5IGlzIElQU0ovSVRTQ0osIEphcGFuLgorICAgICAgPC90ZD4KKyAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgorICAgICAgICAgIDx0ZD5pc28taXItMTQyPGJyIC8+Y3NJU09UZXh0Q29tbTwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+SklTX1gwMjAxPC90ZD4KKyAgICAgICAgICA8dGQ+MTU8L3RkPgorICAgICAgICAgIDx0ZD5KSVMgWCAwMjAxLTE5NzYuICAgT25lIGJ5dGUgb25seSwgdGhpcyBpcyBlcXVpdmFsZW50IHRvCitKSVMvUm9tYW4gKHNpbWlsYXIgdG8gQVNDSUkpIHBsdXMgZWlnaHQtYml0IGhhbGYtd2lkdGgKK0thdGFrYW5hPC90ZD4KKyAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgorICAgICAgICAgIDx0ZD5YMDIwMTxiciAvPmNzSGFsZldpZHRoS2F0YWthbmE8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPkpJU19FbmNvZGluZzwvdGQ+CisgICAgICAgICAgPHRkPjE2PC90ZD4KKyAgICAgICAgICA8dGQ+SklTIFggMDIwMi0xOTkxLiAgVXNlcyBJU08gMjAyMiBlc2NhcGUgc2VxdWVuY2VzIHRvCitzaGlmdCBjb2RlIHNldHMgYXMgZG9jdW1lbnRlZCBpbiBKSVMgWCAwMjAyLTE5OTEuPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+Y3NKSVNFbmNvZGluZzwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+U2hpZnRfSklTPC90ZD4KKyAgICAgICAgICA8dGQ+U2hpZnRfSklTPC90ZD4KKyAgICAgICAgICA8dGQ+MTc8L3RkPgorICAgICAgICAgIDx0ZD5UaGlzIGNoYXJzZXQgaXMgYW4gZXh0ZW5zaW9uIG9mIGNzSGFsZldpZHRoS2F0YWthbmEgYnkKK2FkZGluZyBncmFwaGljIGNoYXJhY3RlcnMgaW4gSklTIFggMDIwOC4gIFRoZSBDQ1MncyBhcmUKK0pJUyBYMDIwMToxOTk3IGFuZCBKSVMgWDAyMDg6MTk5Ny4gIFRoZQorY29tcGxldGUgZGVmaW5pdGlvbiBpcyBzaG93biBpbiBBcHBlbmRpeCAxIG9mIEpJUworWDAyMDg6MTk5Ny4KK1RoaXMgY2hhcnNldCBjYW4gYmUgdXNlZCBmb3IgdGhlIHRvcC1sZXZlbCBtZWRpYSB0eXBlICJ0ZXh0Ii48L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5NU19LYW5qaTxiciAvPmNzU2hpZnRKSVM8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPkVVQy1KUDwvdGQ+CisgICAgICAgICAgPHRkPkV4dGVuZGVkX1VOSVhfQ29kZV9QYWNrZWRfRm9ybWF0X2Zvcl9KYXBhbmVzZTwvdGQ+CisgICAgICAgICAgPHRkPjE4PC90ZD4KKyAgICAgICAgICA8dGQ+U3RhbmRhcmRpemVkIGJ5IE9TRiwgVU5JWCBJbnRlcm5hdGlvbmFsLCBhbmQgVU5JWCBTeXN0ZW1zCitMYWJvcmF0b3JpZXMgUGFjaWZpYy4gIFVzZXMgSVNPIDIwMjIgcnVsZXMgdG8gc2VsZWN0Citjb2RlIHNldCAwOiBVUy1BU0NJSSAoYSBzaW5nbGUgNy1iaXQgYnl0ZSBzZXQpCitjb2RlIHNldCAxOiBKSVMgWDAyMDgtMTk5MCAoYSBkb3VibGUgOC1iaXQgYnl0ZSBzZXQpCityZXN0cmljdGVkIHRvIEEwLUZGIGluIGJvdGggYnl0ZXMKK2NvZGUgc2V0IDI6IEhhbGYgV2lkdGggS2F0YWthbmEgKGEgc2luZ2xlIDctYml0IGJ5dGUgc2V0KQorcmVxdWlyaW5nIFNTMiBhcyB0aGUgY2hhcmFjdGVyIHByZWZpeAorY29kZSBzZXQgMzogSklTIFgwMjEyLTE5OTAgKGEgZG91YmxlIDctYml0IGJ5dGUgc2V0KQorcmVzdHJpY3RlZCB0byBBMC1GRiBpbiBib3RoIGJ5dGVzCityZXF1aXJpbmcgU1MzIGFzIHRoZSBjaGFyYWN0ZXIgcHJlZml4PC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+Y3NFVUNQa2RGbXRKYXBhbmVzZTxiciAvPkVVQy1KUDwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+RXh0ZW5kZWRfVU5JWF9Db2RlX0ZpeGVkX1dpZHRoX2Zvcl9KYXBhbmVzZTwvdGQ+CisgICAgICAgICAgPHRkPjE5PC90ZD4KKyAgICAgICAgICA8dGQ+VXNlZCBpbiBKYXBhbi4gIEVhY2ggY2hhcmFjdGVyIGlzIDIgb2N0ZXRzLgorY29kZSBzZXQgMDogVVMtQVNDSUkgKGEgc2luZ2xlIDctYml0IGJ5dGUgc2V0KQorMXN0IGJ5dGUgPSAwMAorMm5kIGJ5dGUgPSAyMC03RQorY29kZSBzZXQgMTogSklTIFgwMjA4LTE5OTAgKGEgZG91YmxlIDctYml0IGJ5dGUgc2V0KQorcmVzdHJpY3RlZCAgdG8gQTAtRkYgaW4gYm90aCBieXRlcworY29kZSBzZXQgMjogSGFsZiBXaWR0aCBLYXRha2FuYSAoYSBzaW5nbGUgNy1iaXQgYnl0ZSBzZXQpCisxc3QgYnl0ZSA9IDAwCisybmQgYnl0ZSA9IEEwLUZGCitjb2RlIHNldCAzOiBKSVMgWDAyMTItMTk5MCAoYSBkb3VibGUgNy1iaXQgYnl0ZSBzZXQpCityZXN0cmljdGVkIHRvIEEwLUZGIGluCit0aGUgZmlyc3QgYnl0ZQorYW5kIDIxLTdFIGluIHRoZSBzZWNvbmQgYnl0ZTwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPmNzRVVDRml4V2lkSmFwYW5lc2U8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPkJTXzQ3MzA8L3RkPgorICAgICAgICAgIDx0ZD4yMDwvdGQ+CisgICAgICAgICAgPHRkPgorICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pdHNjai5pcHNqLm9yLmpwL0lTTy1JUi8iPklTTy1JUjogSW50ZXJuYXRpb25hbCBSZWdpc3RlciBvZiBFc2NhcGUgU2VxdWVuY2VzPC9hPl08YnIgLz4KKyAgICAgICAgTm90ZTogVGhlIGN1cnJlbnQgcmVnaXN0cmF0aW9uIGF1dGhvcml0eSBpcyBJUFNKL0lUU0NKLCBKYXBhbi4KKyAgICAgIDwvdGQ+CisgICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+aXNvLWlyLTQ8YnIgLz5JU082NDYtR0I8YnIgLz5nYjxiciAvPnVrPGJyIC8+Y3NJU080VW5pdGVkS2luZ2RvbTwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+U0VOXzg1MDIwMF9DPC90ZD4KKyAgICAgICAgICA8dGQ+MjE8L3RkPgorICAgICAgICAgIDx0ZD4KKyAgICAgICAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaXRzY2ouaXBzai5vci5qcC9JU08tSVIvIj5JU08tSVI6IEludGVybmF0aW9uYWwgUmVnaXN0ZXIgb2YgRXNjYXBlIFNlcXVlbmNlczwvYT5dPGJyIC8+CisgICAgICAgIE5vdGU6IFRoZSBjdXJyZW50IHJlZ2lzdHJhdGlvbiBhdXRob3JpdHkgaXMgSVBTSi9JVFNDSiwgSmFwYW4uCisgICAgICA8L3RkPgorICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPmlzby1pci0xMTxiciAvPklTTzY0Ni1TRTI8YnIgLz5zZTI8YnIgLz5jc0lTTzExU3dlZGlzaEZvck5hbWVzPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5JVDwvdGQ+CisgICAgICAgICAgPHRkPjIyPC90ZD4KKyAgICAgICAgICA8dGQ+CisgICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3Lml0c2NqLmlwc2oub3IuanAvSVNPLUlSLyI+SVNPLUlSOiBJbnRlcm5hdGlvbmFsIFJlZ2lzdGVyIG9mIEVzY2FwZSBTZXF1ZW5jZXM8L2E+XTxiciAvPgorICAgICAgICBOb3RlOiBUaGUgY3VycmVudCByZWdpc3RyYXRpb24gYXV0aG9yaXR5IGlzIElQU0ovSVRTQ0osIEphcGFuLgorICAgICAgPC90ZD4KKyAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgorICAgICAgICAgIDx0ZD5pc28taXItMTU8YnIgLz5JU082NDYtSVQ8YnIgLz5jc0lTTzE1SXRhbGlhbjwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+RVM8L3RkPgorICAgICAgICAgIDx0ZD4yMzwvdGQ+CisgICAgICAgICAgPHRkPgorICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pdHNjai5pcHNqLm9yLmpwL0lTTy1JUi8iPklTTy1JUjogSW50ZXJuYXRpb25hbCBSZWdpc3RlciBvZiBFc2NhcGUgU2VxdWVuY2VzPC9hPl08YnIgLz4KKyAgICAgICAgTm90ZTogVGhlIGN1cnJlbnQgcmVnaXN0cmF0aW9uIGF1dGhvcml0eSBpcyBJUFNKL0lUU0NKLCBKYXBhbi4KKyAgICAgIDwvdGQ+CisgICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+aXNvLWlyLTE3PGJyIC8+SVNPNjQ2LUVTPGJyIC8+Y3NJU08xN1NwYW5pc2g8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPkRJTl82NjAwMzwvdGQ+CisgICAgICAgICAgPHRkPjI0PC90ZD4KKyAgICAgICAgICA8dGQ+CisgICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3Lml0c2NqLmlwc2oub3IuanAvSVNPLUlSLyI+SVNPLUlSOiBJbnRlcm5hdGlvbmFsIFJlZ2lzdGVyIG9mIEVzY2FwZSBTZXF1ZW5jZXM8L2E+XTxiciAvPgorICAgICAgICBOb3RlOiBUaGUgY3VycmVudCByZWdpc3RyYXRpb24gYXV0aG9yaXR5IGlzIElQU0ovSVRTQ0osIEphcGFuLgorICAgICAgPC90ZD4KKyAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgorICAgICAgICAgIDx0ZD5pc28taXItMjE8YnIgLz5kZTxiciAvPklTTzY0Ni1ERTxiciAvPmNzSVNPMjFHZXJtYW48L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPk5TXzQ1NTEtMTwvdGQ+CisgICAgICAgICAgPHRkPjI1PC90ZD4KKyAgICAgICAgICA8dGQ+CisgICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3Lml0c2NqLmlwc2oub3IuanAvSVNPLUlSLyI+SVNPLUlSOiBJbnRlcm5hdGlvbmFsIFJlZ2lzdGVyIG9mIEVzY2FwZSBTZXF1ZW5jZXM8L2E+XTxiciAvPgorICAgICAgICBOb3RlOiBUaGUgY3VycmVudCByZWdpc3RyYXRpb24gYXV0aG9yaXR5IGlzIElQU0ovSVRTQ0osIEphcGFuLgorICAgICAgPC90ZD4KKyAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgorICAgICAgICAgIDx0ZD5pc28taXItNjA8YnIgLz5JU082NDYtTk88YnIgLz5ubzxiciAvPmNzSVNPNjBEYW5pc2hOb3J3ZWdpYW48YnIgLz5jc0lTTzYwTm9yd2VnaWFuMTwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+TkZfWl82Mi0wMTA8L3RkPgorICAgICAgICAgIDx0ZD4yNjwvdGQ+CisgICAgICAgICAgPHRkPgorICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pdHNjai5pcHNqLm9yLmpwL0lTTy1JUi8iPklTTy1JUjogSW50ZXJuYXRpb25hbCBSZWdpc3RlciBvZiBFc2NhcGUgU2VxdWVuY2VzPC9hPl08YnIgLz4KKyAgICAgICAgTm90ZTogVGhlIGN1cnJlbnQgcmVnaXN0cmF0aW9uIGF1dGhvcml0eSBpcyBJUFNKL0lUU0NKLCBKYXBhbi4KKyAgICAgIDwvdGQ+CisgICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+aXNvLWlyLTY5PGJyIC8+SVNPNjQ2LUZSPGJyIC8+ZnI8YnIgLz5jc0lTTzY5RnJlbmNoPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5JU08tMTA2NDYtVVRGLTE8L3RkPgorICAgICAgICAgIDx0ZD4yNzwvdGQ+CisgICAgICAgICAgPHRkPlVuaXZlcnNhbCBUcmFuc2ZlciBGb3JtYXQgKDEpLCB0aGlzIGlzIHRoZSBtdWx0aWJ5dGUKK2VuY29kaW5nLCB0aGF0IHN1YnNldHMgQVNDSUktNy4gSXQgZG9lcyBub3QgaGF2ZSBieXRlCitvcmRlcmluZyBpc3N1ZXMuPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+Y3NJU08xMDY0NlVURjE8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPklTT182NDYuYmFzaWM6MTk4MzwvdGQ+CisgICAgICAgICAgPHRkPjI4PC90ZD4KKyAgICAgICAgICA8dGQ+CisgICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3Lml0c2NqLmlwc2oub3IuanAvSVNPLUlSLyI+SVNPLUlSOiBJbnRlcm5hdGlvbmFsIFJlZ2lzdGVyIG9mIEVzY2FwZSBTZXF1ZW5jZXM8L2E+XTxiciAvPgorICAgICAgICBOb3RlOiBUaGUgY3VycmVudCByZWdpc3RyYXRpb24gYXV0aG9yaXR5IGlzIElQU0ovSVRTQ0osIEphcGFuLgorICAgICAgPC90ZD4KKyAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgorICAgICAgICAgIDx0ZD5yZWY8YnIgLz5jc0lTTzY0NmJhc2ljMTk4MzwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+SU5WQVJJQU5UPC90ZD4KKyAgICAgICAgICA8dGQ+Mjk8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPmNzSU5WQVJJQU5UPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5JU09fNjQ2LmlydjoxOTgzPC90ZD4KKyAgICAgICAgICA8dGQ+MzA8L3RkPgorICAgICAgICAgIDx0ZD4KKyAgICAgICAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaXRzY2ouaXBzai5vci5qcC9JU08tSVIvIj5JU08tSVI6IEludGVybmF0aW9uYWwgUmVnaXN0ZXIgb2YgRXNjYXBlIFNlcXVlbmNlczwvYT5dPGJyIC8+CisgICAgICAgIE5vdGU6IFRoZSBjdXJyZW50IHJlZ2lzdHJhdGlvbiBhdXRob3JpdHkgaXMgSVBTSi9JVFNDSiwgSmFwYW4uCisgICAgICA8L3RkPgorICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPmlzby1pci0yPGJyIC8+aXJ2PGJyIC8+Y3NJU08ySW50bFJlZlZlcnNpb248L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPk5BVFMtU0VGSTwvdGQ+CisgICAgICAgICAgPHRkPjMxPC90ZD4KKyAgICAgICAgICA8dGQ+CisgICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3Lml0c2NqLmlwc2oub3IuanAvSVNPLUlSLyI+SVNPLUlSOiBJbnRlcm5hdGlvbmFsIFJlZ2lzdGVyIG9mIEVzY2FwZSBTZXF1ZW5jZXM8L2E+XTxiciAvPgorICAgICAgICBOb3RlOiBUaGUgY3VycmVudCByZWdpc3RyYXRpb24gYXV0aG9yaXR5IGlzIElQU0ovSVRTQ0osIEphcGFuLgorICAgICAgPC90ZD4KKyAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgorICAgICAgICAgIDx0ZD5pc28taXItOC0xPGJyIC8+Y3NOQVRTU0VGSTwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+TkFUUy1TRUZJLUFERDwvdGQ+CisgICAgICAgICAgPHRkPjMyPC90ZD4KKyAgICAgICAgICA8dGQ+CisgICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3Lml0c2NqLmlwc2oub3IuanAvSVNPLUlSLyI+SVNPLUlSOiBJbnRlcm5hdGlvbmFsIFJlZ2lzdGVyIG9mIEVzY2FwZSBTZXF1ZW5jZXM8L2E+XTxiciAvPgorICAgICAgICBOb3RlOiBUaGUgY3VycmVudCByZWdpc3RyYXRpb24gYXV0aG9yaXR5IGlzIElQU0ovSVRTQ0osIEphcGFuLgorICAgICAgPC90ZD4KKyAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgorICAgICAgICAgIDx0ZD5pc28taXItOC0yPGJyIC8+Y3NOQVRTU0VGSUFERDwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+TkFUUy1EQU5PPC90ZD4KKyAgICAgICAgICA8dGQ+MzM8L3RkPgorICAgICAgICAgIDx0ZD4KKyAgICAgICAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaXRzY2ouaXBzai5vci5qcC9JU08tSVIvIj5JU08tSVI6IEludGVybmF0aW9uYWwgUmVnaXN0ZXIgb2YgRXNjYXBlIFNlcXVlbmNlczwvYT5dPGJyIC8+CisgICAgICAgIE5vdGU6IFRoZSBjdXJyZW50IHJlZ2lzdHJhdGlvbiBhdXRob3JpdHkgaXMgSVBTSi9JVFNDSiwgSmFwYW4uCisgICAgICA8L3RkPgorICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPmlzby1pci05LTE8YnIgLz5jc05BVFNEQU5PPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5OQVRTLURBTk8tQUREPC90ZD4KKyAgICAgICAgICA8dGQ+MzQ8L3RkPgorICAgICAgICAgIDx0ZD4KKyAgICAgICAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaXRzY2ouaXBzai5vci5qcC9JU08tSVIvIj5JU08tSVI6IEludGVybmF0aW9uYWwgUmVnaXN0ZXIgb2YgRXNjYXBlIFNlcXVlbmNlczwvYT5dPGJyIC8+CisgICAgICAgIE5vdGU6IFRoZSBjdXJyZW50IHJlZ2lzdHJhdGlvbiBhdXRob3JpdHkgaXMgSVBTSi9JVFNDSiwgSmFwYW4uCisgICAgICA8L3RkPgorICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPmlzby1pci05LTI8YnIgLz5jc05BVFNEQU5PQUREPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5TRU5fODUwMjAwX0I8L3RkPgorICAgICAgICAgIDx0ZD4zNTwvdGQ+CisgICAgICAgICAgPHRkPgorICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pdHNjai5pcHNqLm9yLmpwL0lTTy1JUi8iPklTTy1JUjogSW50ZXJuYXRpb25hbCBSZWdpc3RlciBvZiBFc2NhcGUgU2VxdWVuY2VzPC9hPl08YnIgLz4KKyAgICAgICAgTm90ZTogVGhlIGN1cnJlbnQgcmVnaXN0cmF0aW9uIGF1dGhvcml0eSBpcyBJUFNKL0lUU0NKLCBKYXBhbi4KKyAgICAgIDwvdGQ+CisgICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+aXNvLWlyLTEwPGJyIC8+Rkk8YnIgLz5JU082NDYtRkk8YnIgLz5JU082NDYtU0U8YnIgLz5zZTxiciAvPmNzSVNPMTBTd2VkaXNoPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5LU19DXzU2MDEtMTk4NzwvdGQ+CisgICAgICAgICAgPHRkPjM2PC90ZD4KKyAgICAgICAgICA8dGQ+CisgICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3Lml0c2NqLmlwc2oub3IuanAvSVNPLUlSLyI+SVNPLUlSOiBJbnRlcm5hdGlvbmFsIFJlZ2lzdGVyIG9mIEVzY2FwZSBTZXF1ZW5jZXM8L2E+XTxiciAvPgorICAgICAgICBOb3RlOiBUaGUgY3VycmVudCByZWdpc3RyYXRpb24gYXV0aG9yaXR5IGlzIElQU0ovSVRTQ0osIEphcGFuLgorICAgICAgPC90ZD4KKyAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgorICAgICAgICAgIDx0ZD5pc28taXItMTQ5PGJyIC8+S1NfQ181NjAxLTE5ODk8YnIgLz5LU0NfNTYwMTxiciAvPmtvcmVhbjxiciAvPmNzS1NDNTYwMTE5ODc8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPklTTy0yMDIyLUtSPC90ZD4KKyAgICAgICAgICA8dGQ+SVNPLTIwMjItS1I8L3RkPgorICAgICAgICAgIDx0ZD4zNzwvdGQ+CisgICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzE1NTciPlJGQzE1NTc8L2E+XSAoc2VlIGFsc28gS1NfQ181NjAxLTE5ODcpPC90ZD4KKyAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTU1NyI+UkZDMTU1NzwvYT5dWzxhIGhyZWY9IiNXb29oeW9uZ19DaG9pIj5Xb29oeW9uZ19DaG9pPC9hPl08L3RkPgorICAgICAgICAgIDx0ZD5jc0lTTzIwMjJLUjwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+RVVDLUtSPC90ZD4KKyAgICAgICAgICA8dGQ+RVVDLUtSPC90ZD4KKyAgICAgICAgICA8dGQ+Mzg8L3RkPgorICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxNTU3Ij5SRkMxNTU3PC9hPl0gKHNlZSBhbHNvIEtTX0NfNTg2MS0xOTkyKTwvdGQ+CisgICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzE1NTciPlJGQzE1NTc8L2E+XVs8YSBocmVmPSIjV29vaHlvbmdfQ2hvaSI+V29vaHlvbmdfQ2hvaTwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+Y3NFVUNLUjwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+SVNPLTIwMjItSlA8L3RkPgorICAgICAgICAgIDx0ZD5JU08tMjAyMi1KUDwvdGQ+CisgICAgICAgICAgPHRkPjM5PC90ZD4KKyAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTQ2OCI+UkZDMTQ2ODwvYT5dIChzZWUgYWxzbyBbPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMyMjM3Ij5SRkMyMjM3PC9hPl0pPC90ZD4KKyAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTQ2OCI+UkZDMTQ2ODwvYT5dWzxhIGhyZWY9IiNKdW5fTXVyYWkiPkp1bl9NdXJhaTwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+Y3NJU08yMDIySlA8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPklTTy0yMDIyLUpQLTI8L3RkPgorICAgICAgICAgIDx0ZD5JU08tMjAyMi1KUC0yPC90ZD4KKyAgICAgICAgICA8dGQ+NDA8L3RkPgorICAgICAgICAgIDx0ZD4KKyAgICAgICAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTU1NCI+UkZDMTU1NDwvYT5dCisgICAgICA8L3RkPgorICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxNTU0Ij5SRkMxNTU0PC9hPl1bPGEgaHJlZj0iI01hc2F0YWthX09odGEiPk1hc2F0YWthX09odGE8L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPmNzSVNPMjAyMkpQMjwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+SklTX0M2MjIwLTE5NjktanA8L3RkPgorICAgICAgICAgIDx0ZD40MTwvdGQ+CisgICAgICAgICAgPHRkPgorICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pdHNjai5pcHNqLm9yLmpwL0lTTy1JUi8iPklTTy1JUjogSW50ZXJuYXRpb25hbCBSZWdpc3RlciBvZiBFc2NhcGUgU2VxdWVuY2VzPC9hPl08YnIgLz4KKyAgICAgICAgTm90ZTogVGhlIGN1cnJlbnQgcmVnaXN0cmF0aW9uIGF1dGhvcml0eSBpcyBJUFNKL0lUU0NKLCBKYXBhbi4KKyAgICAgIDwvdGQ+CisgICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+SklTX0M2MjIwLTE5Njk8YnIgLz5pc28taXItMTM8YnIgLz5rYXRha2FuYTxiciAvPngwMjAxLTc8YnIgLz5jc0lTTzEzSklTQzYyMjBqcDwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+SklTX0M2MjIwLTE5Njktcm88L3RkPgorICAgICAgICAgIDx0ZD40MjwvdGQ+CisgICAgICAgICAgPHRkPgorICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pdHNjai5pcHNqLm9yLmpwL0lTTy1JUi8iPklTTy1JUjogSW50ZXJuYXRpb25hbCBSZWdpc3RlciBvZiBFc2NhcGUgU2VxdWVuY2VzPC9hPl08YnIgLz4KKyAgICAgICAgTm90ZTogVGhlIGN1cnJlbnQgcmVnaXN0cmF0aW9uIGF1dGhvcml0eSBpcyBJUFNKL0lUU0NKLCBKYXBhbi4KKyAgICAgIDwvdGQ+CisgICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+aXNvLWlyLTE0PGJyIC8+anA8YnIgLz5JU082NDYtSlA8YnIgLz5jc0lTTzE0SklTQzYyMjBybzwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+UFQ8L3RkPgorICAgICAgICAgIDx0ZD40MzwvdGQ+CisgICAgICAgICAgPHRkPgorICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pdHNjai5pcHNqLm9yLmpwL0lTTy1JUi8iPklTTy1JUjogSW50ZXJuYXRpb25hbCBSZWdpc3RlciBvZiBFc2NhcGUgU2VxdWVuY2VzPC9hPl08YnIgLz4KKyAgICAgICAgTm90ZTogVGhlIGN1cnJlbnQgcmVnaXN0cmF0aW9uIGF1dGhvcml0eSBpcyBJUFNKL0lUU0NKLCBKYXBhbi4KKyAgICAgIDwvdGQ+CisgICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+aXNvLWlyLTE2PGJyIC8+SVNPNjQ2LVBUPGJyIC8+Y3NJU08xNlBvcnR1Z3Vlc2U8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPmdyZWVrNy1vbGQ8L3RkPgorICAgICAgICAgIDx0ZD40NDwvdGQ+CisgICAgICAgICAgPHRkPgorICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pdHNjai5pcHNqLm9yLmpwL0lTTy1JUi8iPklTTy1JUjogSW50ZXJuYXRpb25hbCBSZWdpc3RlciBvZiBFc2NhcGUgU2VxdWVuY2VzPC9hPl08YnIgLz4KKyAgICAgICAgTm90ZTogVGhlIGN1cnJlbnQgcmVnaXN0cmF0aW9uIGF1dGhvcml0eSBpcyBJUFNKL0lUU0NKLCBKYXBhbi4KKyAgICAgIDwvdGQ+CisgICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+aXNvLWlyLTE4PGJyIC8+Y3NJU08xOEdyZWVrN09sZDwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+bGF0aW4tZ3JlZWs8L3RkPgorICAgICAgICAgIDx0ZD40NTwvdGQ+CisgICAgICAgICAgPHRkPgorICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pdHNjai5pcHNqLm9yLmpwL0lTTy1JUi8iPklTTy1JUjogSW50ZXJuYXRpb25hbCBSZWdpc3RlciBvZiBFc2NhcGUgU2VxdWVuY2VzPC9hPl08YnIgLz4KKyAgICAgICAgTm90ZTogVGhlIGN1cnJlbnQgcmVnaXN0cmF0aW9uIGF1dGhvcml0eSBpcyBJUFNKL0lUU0NKLCBKYXBhbi4KKyAgICAgIDwvdGQ+CisgICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+aXNvLWlyLTE5PGJyIC8+Y3NJU08xOUxhdGluR3JlZWs8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPk5GX1pfNjItMDEwXygxOTczKTwvdGQ+CisgICAgICAgICAgPHRkPjQ2PC90ZD4KKyAgICAgICAgICA8dGQ+CisgICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3Lml0c2NqLmlwc2oub3IuanAvSVNPLUlSLyI+SVNPLUlSOiBJbnRlcm5hdGlvbmFsIFJlZ2lzdGVyIG9mIEVzY2FwZSBTZXF1ZW5jZXM8L2E+XTxiciAvPgorICAgICAgICBOb3RlOiBUaGUgY3VycmVudCByZWdpc3RyYXRpb24gYXV0aG9yaXR5IGlzIElQU0ovSVRTQ0osIEphcGFuLgorICAgICAgPC90ZD4KKyAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgorICAgICAgICAgIDx0ZD5pc28taXItMjU8YnIgLz5JU082NDYtRlIxPGJyIC8+Y3NJU08yNUZyZW5jaDwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+TGF0aW4tZ3JlZWstMTwvdGQ+CisgICAgICAgICAgPHRkPjQ3PC90ZD4KKyAgICAgICAgICA8dGQ+CisgICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3Lml0c2NqLmlwc2oub3IuanAvSVNPLUlSLyI+SVNPLUlSOiBJbnRlcm5hdGlvbmFsIFJlZ2lzdGVyIG9mIEVzY2FwZSBTZXF1ZW5jZXM8L2E+XTxiciAvPgorICAgICAgICBOb3RlOiBUaGUgY3VycmVudCByZWdpc3RyYXRpb24gYXV0aG9yaXR5IGlzIElQU0ovSVRTQ0osIEphcGFuLgorICAgICAgPC90ZD4KKyAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgorICAgICAgICAgIDx0ZD5pc28taXItMjc8YnIgLz5jc0lTTzI3TGF0aW5HcmVlazE8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPklTT181NDI3PC90ZD4KKyAgICAgICAgICA8dGQ+NDg8L3RkPgorICAgICAgICAgIDx0ZD4KKyAgICAgICAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaXRzY2ouaXBzai5vci5qcC9JU08tSVIvIj5JU08tSVI6IEludGVybmF0aW9uYWwgUmVnaXN0ZXIgb2YgRXNjYXBlIFNlcXVlbmNlczwvYT5dPGJyIC8+CisgICAgICAgIE5vdGU6IFRoZSBjdXJyZW50IHJlZ2lzdHJhdGlvbiBhdXRob3JpdHkgaXMgSVBTSi9JVFNDSiwgSmFwYW4uCisgICAgICA8L3RkPgorICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPmlzby1pci0zNzxiciAvPmNzSVNPNTQyN0N5cmlsbGljPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5KSVNfQzYyMjYtMTk3ODwvdGQ+CisgICAgICAgICAgPHRkPjQ5PC90ZD4KKyAgICAgICAgICA8dGQ+CisgICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3Lml0c2NqLmlwc2oub3IuanAvSVNPLUlSLyI+SVNPLUlSOiBJbnRlcm5hdGlvbmFsIFJlZ2lzdGVyIG9mIEVzY2FwZSBTZXF1ZW5jZXM8L2E+XTxiciAvPgorICAgICAgICBOb3RlOiBUaGUgY3VycmVudCByZWdpc3RyYXRpb24gYXV0aG9yaXR5IGlzIElQU0ovSVRTQ0osIEphcGFuLgorICAgICAgPC90ZD4KKyAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgorICAgICAgICAgIDx0ZD5pc28taXItNDI8YnIgLz5jc0lTTzQySklTQzYyMjYxOTc4PC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5CU192aWV3ZGF0YTwvdGQ+CisgICAgICAgICAgPHRkPjUwPC90ZD4KKyAgICAgICAgICA8dGQ+CisgICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3Lml0c2NqLmlwc2oub3IuanAvSVNPLUlSLyI+SVNPLUlSOiBJbnRlcm5hdGlvbmFsIFJlZ2lzdGVyIG9mIEVzY2FwZSBTZXF1ZW5jZXM8L2E+XTxiciAvPgorICAgICAgICBOb3RlOiBUaGUgY3VycmVudCByZWdpc3RyYXRpb24gYXV0aG9yaXR5IGlzIElQU0ovSVRTQ0osIEphcGFuLgorICAgICAgPC90ZD4KKyAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgorICAgICAgICAgIDx0ZD5pc28taXItNDc8YnIgLz5jc0lTTzQ3QlNWaWV3ZGF0YTwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+SU5JUzwvdGQ+CisgICAgICAgICAgPHRkPjUxPC90ZD4KKyAgICAgICAgICA8dGQ+CisgICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3Lml0c2NqLmlwc2oub3IuanAvSVNPLUlSLyI+SVNPLUlSOiBJbnRlcm5hdGlvbmFsIFJlZ2lzdGVyIG9mIEVzY2FwZSBTZXF1ZW5jZXM8L2E+XTxiciAvPgorICAgICAgICBOb3RlOiBUaGUgY3VycmVudCByZWdpc3RyYXRpb24gYXV0aG9yaXR5IGlzIElQU0ovSVRTQ0osIEphcGFuLgorICAgICAgPC90ZD4KKyAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgorICAgICAgICAgIDx0ZD5pc28taXItNDk8YnIgLz5jc0lTTzQ5SU5JUzwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+SU5JUy04PC90ZD4KKyAgICAgICAgICA8dGQ+NTI8L3RkPgorICAgICAgICAgIDx0ZD4KKyAgICAgICAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaXRzY2ouaXBzai5vci5qcC9JU08tSVIvIj5JU08tSVI6IEludGVybmF0aW9uYWwgUmVnaXN0ZXIgb2YgRXNjYXBlIFNlcXVlbmNlczwvYT5dPGJyIC8+CisgICAgICAgIE5vdGU6IFRoZSBjdXJyZW50IHJlZ2lzdHJhdGlvbiBhdXRob3JpdHkgaXMgSVBTSi9JVFNDSiwgSmFwYW4uCisgICAgICA8L3RkPgorICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPmlzby1pci01MDxiciAvPmNzSVNPNTBJTklTODwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+SU5JUy1jeXJpbGxpYzwvdGQ+CisgICAgICAgICAgPHRkPjUzPC90ZD4KKyAgICAgICAgICA8dGQ+CisgICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3Lml0c2NqLmlwc2oub3IuanAvSVNPLUlSLyI+SVNPLUlSOiBJbnRlcm5hdGlvbmFsIFJlZ2lzdGVyIG9mIEVzY2FwZSBTZXF1ZW5jZXM8L2E+XTxiciAvPgorICAgICAgICBOb3RlOiBUaGUgY3VycmVudCByZWdpc3RyYXRpb24gYXV0aG9yaXR5IGlzIElQU0ovSVRTQ0osIEphcGFuLgorICAgICAgPC90ZD4KKyAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgorICAgICAgICAgIDx0ZD5pc28taXItNTE8YnIgLz5jc0lTTzUxSU5JU0N5cmlsbGljPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5JU09fNTQyNzoxOTgxPC90ZD4KKyAgICAgICAgICA8dGQ+NTQ8L3RkPgorICAgICAgICAgIDx0ZD4KKyAgICAgICAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaXRzY2ouaXBzai5vci5qcC9JU08tSVIvIj5JU08tSVI6IEludGVybmF0aW9uYWwgUmVnaXN0ZXIgb2YgRXNjYXBlIFNlcXVlbmNlczwvYT5dPGJyIC8+CisgICAgICAgIE5vdGU6IFRoZSBjdXJyZW50IHJlZ2lzdHJhdGlvbiBhdXRob3JpdHkgaXMgSVBTSi9JVFNDSiwgSmFwYW4uCisgICAgICA8L3RkPgorICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPmlzby1pci01NDxiciAvPklTTzU0MjdDeXJpbGxpYzE5ODE8YnIgLz5jc0lTTzU0MjcxOTgxPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5JU09fNTQyODoxOTgwPC90ZD4KKyAgICAgICAgICA8dGQ+NTU8L3RkPgorICAgICAgICAgIDx0ZD4KKyAgICAgICAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaXRzY2ouaXBzai5vci5qcC9JU08tSVIvIj5JU08tSVI6IEludGVybmF0aW9uYWwgUmVnaXN0ZXIgb2YgRXNjYXBlIFNlcXVlbmNlczwvYT5dPGJyIC8+CisgICAgICAgIE5vdGU6IFRoZSBjdXJyZW50IHJlZ2lzdHJhdGlvbiBhdXRob3JpdHkgaXMgSVBTSi9JVFNDSiwgSmFwYW4uCisgICAgICA8L3RkPgorICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPmlzby1pci01NTxiciAvPmNzSVNPNTQyOEdyZWVrPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5HQl8xOTg4LTgwPC90ZD4KKyAgICAgICAgICA8dGQ+NTY8L3RkPgorICAgICAgICAgIDx0ZD4KKyAgICAgICAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaXRzY2ouaXBzai5vci5qcC9JU08tSVIvIj5JU08tSVI6IEludGVybmF0aW9uYWwgUmVnaXN0ZXIgb2YgRXNjYXBlIFNlcXVlbmNlczwvYT5dPGJyIC8+CisgICAgICAgIE5vdGU6IFRoZSBjdXJyZW50IHJlZ2lzdHJhdGlvbiBhdXRob3JpdHkgaXMgSVBTSi9JVFNDSiwgSmFwYW4uCisgICAgICA8L3RkPgorICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPmlzby1pci01NzxiciAvPmNuPGJyIC8+SVNPNjQ2LUNOPGJyIC8+Y3NJU081N0dCMTk4ODwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+R0JfMjMxMi04MDwvdGQ+CisgICAgICAgICAgPHRkPjU3PC90ZD4KKyAgICAgICAgICA8dGQ+CisgICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3Lml0c2NqLmlwc2oub3IuanAvSVNPLUlSLyI+SVNPLUlSOiBJbnRlcm5hdGlvbmFsIFJlZ2lzdGVyIG9mIEVzY2FwZSBTZXF1ZW5jZXM8L2E+XTxiciAvPgorICAgICAgICBOb3RlOiBUaGUgY3VycmVudCByZWdpc3RyYXRpb24gYXV0aG9yaXR5IGlzIElQU0ovSVRTQ0osIEphcGFuLgorICAgICAgPC90ZD4KKyAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgorICAgICAgICAgIDx0ZD5pc28taXItNTg8YnIgLz5jaGluZXNlPGJyIC8+Y3NJU081OEdCMjMxMjgwPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5OU180NTUxLTI8L3RkPgorICAgICAgICAgIDx0ZD41ODwvdGQ+CisgICAgICAgICAgPHRkPgorICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pdHNjai5pcHNqLm9yLmpwL0lTTy1JUi8iPklTTy1JUjogSW50ZXJuYXRpb25hbCBSZWdpc3RlciBvZiBFc2NhcGUgU2VxdWVuY2VzPC9hPl08YnIgLz4KKyAgICAgICAgTm90ZTogVGhlIGN1cnJlbnQgcmVnaXN0cmF0aW9uIGF1dGhvcml0eSBpcyBJUFNKL0lUU0NKLCBKYXBhbi4KKyAgICAgIDwvdGQ+CisgICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+SVNPNjQ2LU5PMjxiciAvPmlzby1pci02MTxiciAvPm5vMjxiciAvPmNzSVNPNjFOb3J3ZWdpYW4yPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD52aWRlb3RleC1zdXBwbDwvdGQ+CisgICAgICAgICAgPHRkPjU5PC90ZD4KKyAgICAgICAgICA8dGQ+CisgICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3Lml0c2NqLmlwc2oub3IuanAvSVNPLUlSLyI+SVNPLUlSOiBJbnRlcm5hdGlvbmFsIFJlZ2lzdGVyIG9mIEVzY2FwZSBTZXF1ZW5jZXM8L2E+XTxiciAvPgorICAgICAgICBOb3RlOiBUaGUgY3VycmVudCByZWdpc3RyYXRpb24gYXV0aG9yaXR5IGlzIElQU0ovSVRTQ0osIEphcGFuLgorICAgICAgPC90ZD4KKyAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgorICAgICAgICAgIDx0ZD5pc28taXItNzA8YnIgLz5jc0lTTzcwVmlkZW90ZXhTdXBwMTwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+UFQyPC90ZD4KKyAgICAgICAgICA8dGQ+NjA8L3RkPgorICAgICAgICAgIDx0ZD4KKyAgICAgICAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaXRzY2ouaXBzai5vci5qcC9JU08tSVIvIj5JU08tSVI6IEludGVybmF0aW9uYWwgUmVnaXN0ZXIgb2YgRXNjYXBlIFNlcXVlbmNlczwvYT5dPGJyIC8+CisgICAgICAgIE5vdGU6IFRoZSBjdXJyZW50IHJlZ2lzdHJhdGlvbiBhdXRob3JpdHkgaXMgSVBTSi9JVFNDSiwgSmFwYW4uCisgICAgICA8L3RkPgorICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPmlzby1pci04NDxiciAvPklTTzY0Ni1QVDI8YnIgLz5jc0lTTzg0UG9ydHVndWVzZTI8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPkVTMjwvdGQ+CisgICAgICAgICAgPHRkPjYxPC90ZD4KKyAgICAgICAgICA8dGQ+CisgICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3Lml0c2NqLmlwc2oub3IuanAvSVNPLUlSLyI+SVNPLUlSOiBJbnRlcm5hdGlvbmFsIFJlZ2lzdGVyIG9mIEVzY2FwZSBTZXF1ZW5jZXM8L2E+XTxiciAvPgorICAgICAgICBOb3RlOiBUaGUgY3VycmVudCByZWdpc3RyYXRpb24gYXV0aG9yaXR5IGlzIElQU0ovSVRTQ0osIEphcGFuLgorICAgICAgPC90ZD4KKyAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgorICAgICAgICAgIDx0ZD5pc28taXItODU8YnIgLz5JU082NDYtRVMyPGJyIC8+Y3NJU084NVNwYW5pc2gyPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5NU1pfNzc5NS4zPC90ZD4KKyAgICAgICAgICA8dGQ+NjI8L3RkPgorICAgICAgICAgIDx0ZD4KKyAgICAgICAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaXRzY2ouaXBzai5vci5qcC9JU08tSVIvIj5JU08tSVI6IEludGVybmF0aW9uYWwgUmVnaXN0ZXIgb2YgRXNjYXBlIFNlcXVlbmNlczwvYT5dPGJyIC8+CisgICAgICAgIE5vdGU6IFRoZSBjdXJyZW50IHJlZ2lzdHJhdGlvbiBhdXRob3JpdHkgaXMgSVBTSi9JVFNDSiwgSmFwYW4uCisgICAgICA8L3RkPgorICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPmlzby1pci04NjxiciAvPklTTzY0Ni1IVTxiciAvPmh1PGJyIC8+Y3NJU084Nkh1bmdhcmlhbjwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+SklTX0M2MjI2LTE5ODM8L3RkPgorICAgICAgICAgIDx0ZD42MzwvdGQ+CisgICAgICAgICAgPHRkPgorICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pdHNjai5pcHNqLm9yLmpwL0lTTy1JUi8iPklTTy1JUjogSW50ZXJuYXRpb25hbCBSZWdpc3RlciBvZiBFc2NhcGUgU2VxdWVuY2VzPC9hPl08YnIgLz4KKyAgICAgICAgTm90ZTogVGhlIGN1cnJlbnQgcmVnaXN0cmF0aW9uIGF1dGhvcml0eSBpcyBJUFNKL0lUU0NKLCBKYXBhbi4KKyAgICAgIDwvdGQ+CisgICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+aXNvLWlyLTg3PGJyIC8+eDAyMDg8YnIgLz5KSVNfWDAyMDgtMTk4MzxiciAvPmNzSVNPODdKSVNYMDIwODwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+Z3JlZWs3PC90ZD4KKyAgICAgICAgICA8dGQ+NjQ8L3RkPgorICAgICAgICAgIDx0ZD4KKyAgICAgICAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaXRzY2ouaXBzai5vci5qcC9JU08tSVIvIj5JU08tSVI6IEludGVybmF0aW9uYWwgUmVnaXN0ZXIgb2YgRXNjYXBlIFNlcXVlbmNlczwvYT5dPGJyIC8+CisgICAgICAgIE5vdGU6IFRoZSBjdXJyZW50IHJlZ2lzdHJhdGlvbiBhdXRob3JpdHkgaXMgSVBTSi9JVFNDSiwgSmFwYW4uCisgICAgICA8L3RkPgorICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPmlzby1pci04ODxiciAvPmNzSVNPODhHcmVlazc8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPkFTTU9fNDQ5PC90ZD4KKyAgICAgICAgICA8dGQ+NjU8L3RkPgorICAgICAgICAgIDx0ZD4KKyAgICAgICAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaXRzY2ouaXBzai5vci5qcC9JU08tSVIvIj5JU08tSVI6IEludGVybmF0aW9uYWwgUmVnaXN0ZXIgb2YgRXNjYXBlIFNlcXVlbmNlczwvYT5dPGJyIC8+CisgICAgICAgIE5vdGU6IFRoZSBjdXJyZW50IHJlZ2lzdHJhdGlvbiBhdXRob3JpdHkgaXMgSVBTSi9JVFNDSiwgSmFwYW4uCisgICAgICA8L3RkPgorICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPklTT185MDM2PGJyIC8+YXJhYmljNzxiciAvPmlzby1pci04OTxiciAvPmNzSVNPODlBU01PNDQ5PC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5pc28taXItOTA8L3RkPgorICAgICAgICAgIDx0ZD42NjwvdGQ+CisgICAgICAgICAgPHRkPgorICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pdHNjai5pcHNqLm9yLmpwL0lTTy1JUi8iPklTTy1JUjogSW50ZXJuYXRpb25hbCBSZWdpc3RlciBvZiBFc2NhcGUgU2VxdWVuY2VzPC9hPl08YnIgLz4KKyAgICAgICAgTm90ZTogVGhlIGN1cnJlbnQgcmVnaXN0cmF0aW9uIGF1dGhvcml0eSBpcyBJUFNKL0lUU0NKLCBKYXBhbi4KKyAgICAgIDwvdGQ+CisgICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+Y3NJU085MDwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+SklTX0M2MjI5LTE5ODQtYTwvdGQ+CisgICAgICAgICAgPHRkPjY3PC90ZD4KKyAgICAgICAgICA8dGQ+CisgICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3Lml0c2NqLmlwc2oub3IuanAvSVNPLUlSLyI+SVNPLUlSOiBJbnRlcm5hdGlvbmFsIFJlZ2lzdGVyIG9mIEVzY2FwZSBTZXF1ZW5jZXM8L2E+XTxiciAvPgorICAgICAgICBOb3RlOiBUaGUgY3VycmVudCByZWdpc3RyYXRpb24gYXV0aG9yaXR5IGlzIElQU0ovSVRTQ0osIEphcGFuLgorICAgICAgPC90ZD4KKyAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgorICAgICAgICAgIDx0ZD5pc28taXItOTE8YnIgLz5qcC1vY3ItYTxiciAvPmNzSVNPOTFKSVNDNjIyOTE5ODRhPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5KSVNfQzYyMjktMTk4NC1iPC90ZD4KKyAgICAgICAgICA8dGQ+Njg8L3RkPgorICAgICAgICAgIDx0ZD4KKyAgICAgICAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaXRzY2ouaXBzai5vci5qcC9JU08tSVIvIj5JU08tSVI6IEludGVybmF0aW9uYWwgUmVnaXN0ZXIgb2YgRXNjYXBlIFNlcXVlbmNlczwvYT5dPGJyIC8+CisgICAgICAgIE5vdGU6IFRoZSBjdXJyZW50IHJlZ2lzdHJhdGlvbiBhdXRob3JpdHkgaXMgSVBTSi9JVFNDSiwgSmFwYW4uCisgICAgICA8L3RkPgorICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPmlzby1pci05MjxiciAvPklTTzY0Ni1KUC1PQ1ItQjxiciAvPmpwLW9jci1iPGJyIC8+Y3NJU085MkpJU0M2Mjk5MTk4NGI8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPkpJU19DNjIyOS0xOTg0LWItYWRkPC90ZD4KKyAgICAgICAgICA8dGQ+Njk8L3RkPgorICAgICAgICAgIDx0ZD4KKyAgICAgICAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaXRzY2ouaXBzai5vci5qcC9JU08tSVIvIj5JU08tSVI6IEludGVybmF0aW9uYWwgUmVnaXN0ZXIgb2YgRXNjYXBlIFNlcXVlbmNlczwvYT5dPGJyIC8+CisgICAgICAgIE5vdGU6IFRoZSBjdXJyZW50IHJlZ2lzdHJhdGlvbiBhdXRob3JpdHkgaXMgSVBTSi9JVFNDSiwgSmFwYW4uCisgICAgICA8L3RkPgorICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPmlzby1pci05MzxiciAvPmpwLW9jci1iLWFkZDxiciAvPmNzSVNPOTNKSVM2MjI5MTk4NGJhZGQ8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPkpJU19DNjIyOS0xOTg0LWhhbmQ8L3RkPgorICAgICAgICAgIDx0ZD43MDwvdGQ+CisgICAgICAgICAgPHRkPgorICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pdHNjai5pcHNqLm9yLmpwL0lTTy1JUi8iPklTTy1JUjogSW50ZXJuYXRpb25hbCBSZWdpc3RlciBvZiBFc2NhcGUgU2VxdWVuY2VzPC9hPl08YnIgLz4KKyAgICAgICAgTm90ZTogVGhlIGN1cnJlbnQgcmVnaXN0cmF0aW9uIGF1dGhvcml0eSBpcyBJUFNKL0lUU0NKLCBKYXBhbi4KKyAgICAgIDwvdGQ+CisgICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+aXNvLWlyLTk0PGJyIC8+anAtb2NyLWhhbmQ8YnIgLz5jc0lTTzk0SklTNjIyOTE5ODRoYW5kPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5KSVNfQzYyMjktMTk4NC1oYW5kLWFkZDwvdGQ+CisgICAgICAgICAgPHRkPjcxPC90ZD4KKyAgICAgICAgICA8dGQ+CisgICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3Lml0c2NqLmlwc2oub3IuanAvSVNPLUlSLyI+SVNPLUlSOiBJbnRlcm5hdGlvbmFsIFJlZ2lzdGVyIG9mIEVzY2FwZSBTZXF1ZW5jZXM8L2E+XTxiciAvPgorICAgICAgICBOb3RlOiBUaGUgY3VycmVudCByZWdpc3RyYXRpb24gYXV0aG9yaXR5IGlzIElQU0ovSVRTQ0osIEphcGFuLgorICAgICAgPC90ZD4KKyAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgorICAgICAgICAgIDx0ZD5pc28taXItOTU8YnIgLz5qcC1vY3ItaGFuZC1hZGQ8YnIgLz5jc0lTTzk1SklTNjIyOTE5ODRoYW5kYWRkPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5KSVNfQzYyMjktMTk4NC1rYW5hPC90ZD4KKyAgICAgICAgICA8dGQ+NzI8L3RkPgorICAgICAgICAgIDx0ZD4KKyAgICAgICAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaXRzY2ouaXBzai5vci5qcC9JU08tSVIvIj5JU08tSVI6IEludGVybmF0aW9uYWwgUmVnaXN0ZXIgb2YgRXNjYXBlIFNlcXVlbmNlczwvYT5dPGJyIC8+CisgICAgICAgIE5vdGU6IFRoZSBjdXJyZW50IHJlZ2lzdHJhdGlvbiBhdXRob3JpdHkgaXMgSVBTSi9JVFNDSiwgSmFwYW4uCisgICAgICA8L3RkPgorICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPmlzby1pci05NjxiciAvPmNzSVNPOTZKSVNDNjIyOTE5ODRrYW5hPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5JU09fMjAzMy0xOTgzPC90ZD4KKyAgICAgICAgICA8dGQ+NzM8L3RkPgorICAgICAgICAgIDx0ZD4KKyAgICAgICAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaXRzY2ouaXBzai5vci5qcC9JU08tSVIvIj5JU08tSVI6IEludGVybmF0aW9uYWwgUmVnaXN0ZXIgb2YgRXNjYXBlIFNlcXVlbmNlczwvYT5dPGJyIC8+CisgICAgICAgIE5vdGU6IFRoZSBjdXJyZW50IHJlZ2lzdHJhdGlvbiBhdXRob3JpdHkgaXMgSVBTSi9JVFNDSiwgSmFwYW4uCisgICAgICA8L3RkPgorICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPmlzby1pci05ODxiciAvPmUxM2I8YnIgLz5jc0lTTzIwMzM8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPkFOU0lfWDMuMTEwLTE5ODM8L3RkPgorICAgICAgICAgIDx0ZD43NDwvdGQ+CisgICAgICAgICAgPHRkPgorICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pdHNjai5pcHNqLm9yLmpwL0lTTy1JUi8iPklTTy1JUjogSW50ZXJuYXRpb25hbCBSZWdpc3RlciBvZiBFc2NhcGUgU2VxdWVuY2VzPC9hPl08YnIgLz4KKyAgICAgICAgTm90ZTogVGhlIGN1cnJlbnQgcmVnaXN0cmF0aW9uIGF1dGhvcml0eSBpcyBJUFNKL0lUU0NKLCBKYXBhbi4KKyAgICAgIDwvdGQ+CisgICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+aXNvLWlyLTk5PGJyIC8+Q1NBX1Q1MDAtMTk4MzxiciAvPk5BUExQUzxiciAvPmNzSVNPOTlOQVBMUFM8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPlQuNjEtN2JpdDwvdGQ+CisgICAgICAgICAgPHRkPjc1PC90ZD4KKyAgICAgICAgICA8dGQ+CisgICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3Lml0c2NqLmlwc2oub3IuanAvSVNPLUlSLyI+SVNPLUlSOiBJbnRlcm5hdGlvbmFsIFJlZ2lzdGVyIG9mIEVzY2FwZSBTZXF1ZW5jZXM8L2E+XTxiciAvPgorICAgICAgICBOb3RlOiBUaGUgY3VycmVudCByZWdpc3RyYXRpb24gYXV0aG9yaXR5IGlzIElQU0ovSVRTQ0osIEphcGFuLgorICAgICAgPC90ZD4KKyAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgorICAgICAgICAgIDx0ZD5pc28taXItMTAyPGJyIC8+Y3NJU08xMDJUNjE3Yml0PC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5ULjYxLThiaXQ8L3RkPgorICAgICAgICAgIDx0ZD43NjwvdGQ+CisgICAgICAgICAgPHRkPgorICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pdHNjai5pcHNqLm9yLmpwL0lTTy1JUi8iPklTTy1JUjogSW50ZXJuYXRpb25hbCBSZWdpc3RlciBvZiBFc2NhcGUgU2VxdWVuY2VzPC9hPl08YnIgLz4KKyAgICAgICAgTm90ZTogVGhlIGN1cnJlbnQgcmVnaXN0cmF0aW9uIGF1dGhvcml0eSBpcyBJUFNKL0lUU0NKLCBKYXBhbi4KKyAgICAgIDwvdGQ+CisgICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+VC42MTxiciAvPmlzby1pci0xMDM8YnIgLz5jc0lTTzEwM1Q2MThiaXQ8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPkVDTUEtY3lyaWxsaWM8L3RkPgorICAgICAgICAgIDx0ZD43NzwvdGQ+CisgICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3Lml0c2NqLmlwc2oub3IuanAvSVNPLUlSLzExMS5wZGYiPklTTyByZWdpc3RyeTwvYT5dCisgICAgICAgIChmb3JtZXJseSBbPGEgaHJlZj0iaHR0cDovL3d3dy5pdHNjai5pcHNqLm9yLmpwL0lTTy1JUi8iPkVDTUEKKyAgICAgICAgICByZWdpc3RyeTwvYT5dKTwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPmlzby1pci0xMTE8YnIgLz5LT0k4LUU8YnIgLz5jc0lTTzExMUVDTUFDeXJpbGxpYzwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+Q1NBX1oyNDMuNC0xOTg1LTE8L3RkPgorICAgICAgICAgIDx0ZD43ODwvdGQ+CisgICAgICAgICAgPHRkPgorICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pdHNjai5pcHNqLm9yLmpwL0lTTy1JUi8iPklTTy1JUjogSW50ZXJuYXRpb25hbCBSZWdpc3RlciBvZiBFc2NhcGUgU2VxdWVuY2VzPC9hPl08YnIgLz4KKyAgICAgICAgTm90ZTogVGhlIGN1cnJlbnQgcmVnaXN0cmF0aW9uIGF1dGhvcml0eSBpcyBJUFNKL0lUU0NKLCBKYXBhbi4KKyAgICAgIDwvdGQ+CisgICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+aXNvLWlyLTEyMTxiciAvPklTTzY0Ni1DQTxiciAvPmNzYTctMTxiciAvPmNzYTcxPGJyIC8+Y2E8YnIgLz5jc0lTTzEyMUNhbmFkaWFuMTwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+Q1NBX1oyNDMuNC0xOTg1LTI8L3RkPgorICAgICAgICAgIDx0ZD43OTwvdGQ+CisgICAgICAgICAgPHRkPgorICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pdHNjai5pcHNqLm9yLmpwL0lTTy1JUi8iPklTTy1JUjogSW50ZXJuYXRpb25hbCBSZWdpc3RlciBvZiBFc2NhcGUgU2VxdWVuY2VzPC9hPl08YnIgLz4KKyAgICAgICAgTm90ZTogVGhlIGN1cnJlbnQgcmVnaXN0cmF0aW9uIGF1dGhvcml0eSBpcyBJUFNKL0lUU0NKLCBKYXBhbi4KKyAgICAgIDwvdGQ+CisgICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+aXNvLWlyLTEyMjxiciAvPklTTzY0Ni1DQTI8YnIgLz5jc2E3LTI8YnIgLz5jc2E3MjxiciAvPmNzSVNPMTIyQ2FuYWRpYW4yPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5DU0FfWjI0My40LTE5ODUtZ3I8L3RkPgorICAgICAgICAgIDx0ZD44MDwvdGQ+CisgICAgICAgICAgPHRkPgorICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pdHNjai5pcHNqLm9yLmpwL0lTTy1JUi8iPklTTy1JUjogSW50ZXJuYXRpb25hbCBSZWdpc3RlciBvZiBFc2NhcGUgU2VxdWVuY2VzPC9hPl08YnIgLz4KKyAgICAgICAgTm90ZTogVGhlIGN1cnJlbnQgcmVnaXN0cmF0aW9uIGF1dGhvcml0eSBpcyBJUFNKL0lUU0NKLCBKYXBhbi4KKyAgICAgIDwvdGQ+CisgICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+aXNvLWlyLTEyMzxiciAvPmNzSVNPMTIzQ1NBWjI0MzQxOTg1Z3I8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPklTTy04ODU5LTYtRTwvdGQ+CisgICAgICAgICAgPHRkPklTT184ODU5LTYtRTwvdGQ+CisgICAgICAgICAgPHRkPjgxPC90ZD4KKyAgICAgICAgICA8dGQ+CisgICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzE1NTYiPlJGQzE1NTY8L2E+XQorICAgICAgPC90ZD4KKyAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTU1NiI+UkZDMTU1NjwvYT5dWzxhIGhyZWY9IiNJQU5BIj5JQU5BPC9hPl08L3RkPgorICAgICAgICAgIDx0ZD5jc0lTTzg4NTk2RTxiciAvPklTTy04ODU5LTYtRTwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+SVNPLTg4NTktNi1JPC90ZD4KKyAgICAgICAgICA8dGQ+SVNPXzg4NTktNi1JPC90ZD4KKyAgICAgICAgICA8dGQ+ODI8L3RkPgorICAgICAgICAgIDx0ZD4KKyAgICAgICAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTU1NiI+UkZDMTU1NjwvYT5dCisgICAgICA8L3RkPgorICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxNTU2Ij5SRkMxNTU2PC9hPl1bPGEgaHJlZj0iI0lBTkEiPklBTkE8L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPmNzSVNPODg1OTZJPGJyIC8+SVNPLTg4NTktNi1JPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5ULjEwMS1HMjwvdGQ+CisgICAgICAgICAgPHRkPjgzPC90ZD4KKyAgICAgICAgICA8dGQ+CisgICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3Lml0c2NqLmlwc2oub3IuanAvSVNPLUlSLyI+SVNPLUlSOiBJbnRlcm5hdGlvbmFsIFJlZ2lzdGVyIG9mIEVzY2FwZSBTZXF1ZW5jZXM8L2E+XTxiciAvPgorICAgICAgICBOb3RlOiBUaGUgY3VycmVudCByZWdpc3RyYXRpb24gYXV0aG9yaXR5IGlzIElQU0ovSVRTQ0osIEphcGFuLgorICAgICAgPC90ZD4KKyAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgorICAgICAgICAgIDx0ZD5pc28taXItMTI4PGJyIC8+Y3NJU08xMjhUMTAxRzI8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPklTTy04ODU5LTgtRTwvdGQ+CisgICAgICAgICAgPHRkPklTT184ODU5LTgtRTwvdGQ+CisgICAgICAgICAgPHRkPjg0PC90ZD4KKyAgICAgICAgICA8dGQ+CisgICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzE1NTYiPlJGQzE1NTY8L2E+XQorICAgICAgPC90ZD4KKyAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTU1NiI+UkZDMTU1NjwvYT5dWzxhIGhyZWY9IiNIYW5rX051c3NiYWNoZXIiPkhhbmtfTnVzc2JhY2hlcjwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+Y3NJU084ODU5OEU8YnIgLz5JU08tODg1OS04LUU8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPklTTy04ODU5LTgtSTwvdGQ+CisgICAgICAgICAgPHRkPklTT184ODU5LTgtSTwvdGQ+CisgICAgICAgICAgPHRkPjg1PC90ZD4KKyAgICAgICAgICA8dGQ+CisgICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzE1NTYiPlJGQzE1NTY8L2E+XQorICAgICAgPC90ZD4KKyAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTU1NiI+UkZDMTU1NjwvYT5dWzxhIGhyZWY9IiNIYW5rX051c3NiYWNoZXIiPkhhbmtfTnVzc2JhY2hlcjwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+Y3NJU084ODU5OEk8YnIgLz5JU08tODg1OS04LUk8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPkNTTl8zNjkxMDM8L3RkPgorICAgICAgICAgIDx0ZD44NjwvdGQ+CisgICAgICAgICAgPHRkPgorICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pdHNjai5pcHNqLm9yLmpwL0lTTy1JUi8iPklTTy1JUjogSW50ZXJuYXRpb25hbCBSZWdpc3RlciBvZiBFc2NhcGUgU2VxdWVuY2VzPC9hPl08YnIgLz4KKyAgICAgICAgTm90ZTogVGhlIGN1cnJlbnQgcmVnaXN0cmF0aW9uIGF1dGhvcml0eSBpcyBJUFNKL0lUU0NKLCBKYXBhbi4KKyAgICAgIDwvdGQ+CisgICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+aXNvLWlyLTEzOTxiciAvPmNzSVNPMTM5Q1NOMzY5MTAzPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5KVVNfSS5CMS4wMDI8L3RkPgorICAgICAgICAgIDx0ZD44NzwvdGQ+CisgICAgICAgICAgPHRkPgorICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pdHNjai5pcHNqLm9yLmpwL0lTTy1JUi8iPklTTy1JUjogSW50ZXJuYXRpb25hbCBSZWdpc3RlciBvZiBFc2NhcGUgU2VxdWVuY2VzPC9hPl08YnIgLz4KKyAgICAgICAgTm90ZTogVGhlIGN1cnJlbnQgcmVnaXN0cmF0aW9uIGF1dGhvcml0eSBpcyBJUFNKL0lUU0NKLCBKYXBhbi4KKyAgICAgIDwvdGQ+CisgICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+aXNvLWlyLTE0MTxiciAvPklTTzY0Ni1ZVTxiciAvPmpzPGJyIC8+eXU8YnIgLz5jc0lTTzE0MUpVU0lCMTAwMjwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+SUVDX1AyNy0xPC90ZD4KKyAgICAgICAgICA8dGQ+ODg8L3RkPgorICAgICAgICAgIDx0ZD4KKyAgICAgICAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaXRzY2ouaXBzai5vci5qcC9JU08tSVIvIj5JU08tSVI6IEludGVybmF0aW9uYWwgUmVnaXN0ZXIgb2YgRXNjYXBlIFNlcXVlbmNlczwvYT5dPGJyIC8+CisgICAgICAgIE5vdGU6IFRoZSBjdXJyZW50IHJlZ2lzdHJhdGlvbiBhdXRob3JpdHkgaXMgSVBTSi9JVFNDSiwgSmFwYW4uCisgICAgICA8L3RkPgorICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPmlzby1pci0xNDM8YnIgLz5jc0lTTzE0M0lFQ1AyNzE8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPkpVU19JLkIxLjAwMy1zZXJiPC90ZD4KKyAgICAgICAgICA8dGQ+ODk8L3RkPgorICAgICAgICAgIDx0ZD4KKyAgICAgICAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaXRzY2ouaXBzai5vci5qcC9JU08tSVIvIj5JU08tSVI6IEludGVybmF0aW9uYWwgUmVnaXN0ZXIgb2YgRXNjYXBlIFNlcXVlbmNlczwvYT5dPGJyIC8+CisgICAgICAgIE5vdGU6IFRoZSBjdXJyZW50IHJlZ2lzdHJhdGlvbiBhdXRob3JpdHkgaXMgSVBTSi9JVFNDSiwgSmFwYW4uCisgICAgICA8L3RkPgorICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPmlzby1pci0xNDY8YnIgLz5zZXJiaWFuPGJyIC8+Y3NJU08xNDZTZXJiaWFuPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5KVVNfSS5CMS4wMDMtbWFjPC90ZD4KKyAgICAgICAgICA8dGQ+OTA8L3RkPgorICAgICAgICAgIDx0ZD4KKyAgICAgICAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaXRzY2ouaXBzai5vci5qcC9JU08tSVIvIj5JU08tSVI6IEludGVybmF0aW9uYWwgUmVnaXN0ZXIgb2YgRXNjYXBlIFNlcXVlbmNlczwvYT5dPGJyIC8+CisgICAgICAgIE5vdGU6IFRoZSBjdXJyZW50IHJlZ2lzdHJhdGlvbiBhdXRob3JpdHkgaXMgSVBTSi9JVFNDSiwgSmFwYW4uCisgICAgICA8L3RkPgorICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPm1hY2Vkb25pYW48YnIgLz5pc28taXItMTQ3PGJyIC8+Y3NJU08xNDdNYWNlZG9uaWFuPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5ncmVlay1jY2l0dDwvdGQ+CisgICAgICAgICAgPHRkPjkxPC90ZD4KKyAgICAgICAgICA8dGQ+CisgICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3Lml0c2NqLmlwc2oub3IuanAvSVNPLUlSLyI+SVNPLUlSOiBJbnRlcm5hdGlvbmFsIFJlZ2lzdGVyIG9mIEVzY2FwZSBTZXF1ZW5jZXM8L2E+XTxiciAvPgorICAgICAgICBOb3RlOiBUaGUgY3VycmVudCByZWdpc3RyYXRpb24gYXV0aG9yaXR5IGlzIElQU0ovSVRTQ0osIEphcGFuLgorICAgICAgPC90ZD4KKyAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgorICAgICAgICAgIDx0ZD5pc28taXItMTUwPGJyIC8+Y3NJU08xNTA8YnIgLz5jc0lTTzE1MEdyZWVrQ0NJVFQ8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPk5DX05DMDAtMTA6ODE8L3RkPgorICAgICAgICAgIDx0ZD45MjwvdGQ+CisgICAgICAgICAgPHRkPgorICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pdHNjai5pcHNqLm9yLmpwL0lTTy1JUi8iPklTTy1JUjogSW50ZXJuYXRpb25hbCBSZWdpc3RlciBvZiBFc2NhcGUgU2VxdWVuY2VzPC9hPl08YnIgLz4KKyAgICAgICAgTm90ZTogVGhlIGN1cnJlbnQgcmVnaXN0cmF0aW9uIGF1dGhvcml0eSBpcyBJUFNKL0lUU0NKLCBKYXBhbi4KKyAgICAgIDwvdGQ+CisgICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+Y3ViYTxiciAvPmlzby1pci0xNTE8YnIgLz5JU082NDYtQ1U8YnIgLz5jc0lTTzE1MUN1YmE8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPklTT182OTM3LTItMjU8L3RkPgorICAgICAgICAgIDx0ZD45MzwvdGQ+CisgICAgICAgICAgPHRkPgorICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pdHNjai5pcHNqLm9yLmpwL0lTTy1JUi8iPklTTy1JUjogSW50ZXJuYXRpb25hbCBSZWdpc3RlciBvZiBFc2NhcGUgU2VxdWVuY2VzPC9hPl08YnIgLz4KKyAgICAgICAgTm90ZTogVGhlIGN1cnJlbnQgcmVnaXN0cmF0aW9uIGF1dGhvcml0eSBpcyBJUFNKL0lUU0NKLCBKYXBhbi4KKyAgICAgIDwvdGQ+CisgICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+aXNvLWlyLTE1MjxiciAvPmNzSVNPNjkzN0FkZDwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+R09TVF8xOTc2OC03NDwvdGQ+CisgICAgICAgICAgPHRkPjk0PC90ZD4KKyAgICAgICAgICA8dGQ+CisgICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3Lml0c2NqLmlwc2oub3IuanAvSVNPLUlSLyI+SVNPLUlSOiBJbnRlcm5hdGlvbmFsIFJlZ2lzdGVyIG9mIEVzY2FwZSBTZXF1ZW5jZXM8L2E+XTxiciAvPgorICAgICAgICBOb3RlOiBUaGUgY3VycmVudCByZWdpc3RyYXRpb24gYXV0aG9yaXR5IGlzIElQU0ovSVRTQ0osIEphcGFuLgorICAgICAgPC90ZD4KKyAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgorICAgICAgICAgIDx0ZD5TVF9TRVZfMzU4LTg4PGJyIC8+aXNvLWlyLTE1MzxiciAvPmNzSVNPMTUzR09TVDE5NzY4NzQ8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPklTT184ODU5LXN1cHA8L3RkPgorICAgICAgICAgIDx0ZD45NTwvdGQ+CisgICAgICAgICAgPHRkPgorICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pdHNjai5pcHNqLm9yLmpwL0lTTy1JUi8iPklTTy1JUjogSW50ZXJuYXRpb25hbCBSZWdpc3RlciBvZiBFc2NhcGUgU2VxdWVuY2VzPC9hPl08YnIgLz4KKyAgICAgICAgTm90ZTogVGhlIGN1cnJlbnQgcmVnaXN0cmF0aW9uIGF1dGhvcml0eSBpcyBJUFNKL0lUU0NKLCBKYXBhbi4KKyAgICAgIDwvdGQ+CisgICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+aXNvLWlyLTE1NDxiciAvPmxhdGluMS0yLTU8YnIgLz5jc0lTTzg4NTlTdXBwPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5JU09fMTAzNjctYm94PC90ZD4KKyAgICAgICAgICA8dGQ+OTY8L3RkPgorICAgICAgICAgIDx0ZD4KKyAgICAgICAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaXRzY2ouaXBzai5vci5qcC9JU08tSVIvIj5JU08tSVI6IEludGVybmF0aW9uYWwgUmVnaXN0ZXIgb2YgRXNjYXBlIFNlcXVlbmNlczwvYT5dPGJyIC8+CisgICAgICAgIE5vdGU6IFRoZSBjdXJyZW50IHJlZ2lzdHJhdGlvbiBhdXRob3JpdHkgaXMgSVBTSi9JVFNDSiwgSmFwYW4uCisgICAgICA8L3RkPgorICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPmlzby1pci0xNTU8YnIgLz5jc0lTTzEwMzY3Qm94PC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5sYXRpbi1sYXA8L3RkPgorICAgICAgICAgIDx0ZD45NzwvdGQ+CisgICAgICAgICAgPHRkPgorICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pdHNjai5pcHNqLm9yLmpwL0lTTy1JUi8iPklTTy1JUjogSW50ZXJuYXRpb25hbCBSZWdpc3RlciBvZiBFc2NhcGUgU2VxdWVuY2VzPC9hPl08YnIgLz4KKyAgICAgICAgTm90ZTogVGhlIGN1cnJlbnQgcmVnaXN0cmF0aW9uIGF1dGhvcml0eSBpcyBJUFNKL0lUU0NKLCBKYXBhbi4KKyAgICAgIDwvdGQ+CisgICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+bGFwPGJyIC8+aXNvLWlyLTE1ODxiciAvPmNzSVNPMTU4TGFwPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5KSVNfWDAyMTItMTk5MDwvdGQ+CisgICAgICAgICAgPHRkPjk4PC90ZD4KKyAgICAgICAgICA8dGQ+CisgICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3Lml0c2NqLmlwc2oub3IuanAvSVNPLUlSLyI+SVNPLUlSOiBJbnRlcm5hdGlvbmFsIFJlZ2lzdGVyIG9mIEVzY2FwZSBTZXF1ZW5jZXM8L2E+XTxiciAvPgorICAgICAgICBOb3RlOiBUaGUgY3VycmVudCByZWdpc3RyYXRpb24gYXV0aG9yaXR5IGlzIElQU0ovSVRTQ0osIEphcGFuLgorICAgICAgPC90ZD4KKyAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgorICAgICAgICAgIDx0ZD54MDIxMjxiciAvPmlzby1pci0xNTk8YnIgLz5jc0lTTzE1OUpJU1gwMjEyMTk5MDwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+RFNfMjA4OTwvdGQ+CisgICAgICAgICAgPHRkPjk5PC90ZD4KKyAgICAgICAgICA8dGQ+RGFuaXNoIFN0YW5kYXJkLCBEUyAyMDg5LCBGZWJydWFyeSAxOTc0PC90ZD4KKyAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgorICAgICAgICAgIDx0ZD5EUzIwODk8YnIgLz5JU082NDYtREs8YnIgLz5kazxiciAvPmNzSVNPNjQ2RGFuaXNoPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD51cy1kazwvdGQ+CisgICAgICAgICAgPHRkPjEwMDwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+Y3NVU0RLPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5kay11czwvdGQ+CisgICAgICAgICAgPHRkPjEwMTwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+Y3NES1VTPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5LU0M1NjM2PC90ZD4KKyAgICAgICAgICA8dGQ+MTAyPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgorICAgICAgICAgIDx0ZD5JU082NDYtS1I8YnIgLz5jc0tTQzU2MzY8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPlVOSUNPREUtMS0xLVVURi03PC90ZD4KKyAgICAgICAgICA8dGQ+MTAzPC90ZD4KKyAgICAgICAgICA8dGQ+CisgICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzE2NDIiPlJGQzE2NDI8L2E+XQorICAgICAgPC90ZD4KKyAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTY0MiI+UkZDMTY0MjwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+Y3NVbmljb2RlMTFVVEY3PC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5JU08tMjAyMi1DTjwvdGQ+CisgICAgICAgICAgPHRkPjEwNDwvdGQ+CisgICAgICAgICAgPHRkPgorICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxOTIyIj5SRkMxOTIyPC9hPl0KKyAgICAgIDwvdGQ+CisgICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzE5MjIiPlJGQzE5MjI8L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPmNzSVNPMjAyMkNOPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5JU08tMjAyMi1DTi1FWFQ8L3RkPgorICAgICAgICAgIDx0ZD4xMDU8L3RkPgorICAgICAgICAgIDx0ZD4KKyAgICAgICAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTkyMiI+UkZDMTkyMjwvYT5dCisgICAgICA8L3RkPgorICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxOTIyIj5SRkMxOTIyPC9hPl08L3RkPgorICAgICAgICAgIDx0ZD5jc0lTTzIwMjJDTkVYVDwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+VVRGLTg8L3RkPgorICAgICAgICAgIDx0ZD4xMDY8L3RkPgorICAgICAgICAgIDx0ZD4KKyAgICAgICAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMzYyOSI+UkZDMzYyOTwvYT5dCisgICAgICA8L3RkPgorICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMzNjI5Ij5SRkMzNjI5PC9hPl08L3RkPgorICAgICAgICAgIDx0ZD5jc1VURjg8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPklTTy04ODU5LTEzPC90ZD4KKyAgICAgICAgICA8dGQ+MTA5PC90ZD4KKyAgICAgICAgICA8dGQ+SVNPIFNlZSBbPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9jaGFyc2V0LXJlZy9JU08tODg1OS0xMyI+aHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9jaGFyc2V0LXJlZy9JU08tODg1OS0xMzwvYT5dWzxhIGhyZWY9IiNWbGFkYXNfVHVtYXNvbmlzIj5WbGFkYXNfVHVtYXNvbmlzPC9hPl08L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5jc0lTTzg4NTkxMzwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+SVNPLTg4NTktMTQ8L3RkPgorICAgICAgICAgIDx0ZD4xMTA8L3RkPgorICAgICAgICAgIDx0ZD5JU08gU2VlIFs8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2Fzc2lnbm1lbnRzL2NoYXJzZXQtcmVnL0lTTy04ODU5LTE0Ij5odHRwOi8vd3d3LmlhbmEub3JnL2Fzc2lnbm1lbnRzL2NoYXJzZXQtcmVnL0lTTy04ODU5LTE0PC9hPl0gWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuXzIiPktlbGRfU2ltb25zZW5fMjwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+aXNvLWlyLTE5OTxiciAvPklTT184ODU5LTE0OjE5OTg8YnIgLz5JU09fODg1OS0xNDxiciAvPmxhdGluODxiciAvPmlzby1jZWx0aWM8YnIgLz5sODxiciAvPmNzSVNPODg1OTE0PC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5JU08tODg1OS0xNTwvdGQ+CisgICAgICAgICAgPHRkPjExMTwvdGQ+CisgICAgICAgICAgPHRkPklTTworUGxlYXNlIHNlZTogWzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMvY2hhcnNldC1yZWcvSVNPLTg4NTktMTUiPmh0dHA6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMvY2hhcnNldC1yZWcvSVNPLTg4NTktMTU8L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPklTT184ODU5LTE1PGJyIC8+TGF0aW4tOTxiciAvPmNzSVNPODg1OTE1PC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5JU08tODg1OS0xNjwvdGQ+CisgICAgICAgICAgPHRkPjExMjwvdGQ+CisgICAgICAgICAgPHRkPklTTzwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPmlzby1pci0yMjY8YnIgLz5JU09fODg1OS0xNjoyMDAxPGJyIC8+SVNPXzg4NTktMTY8YnIgLz5sYXRpbjEwPGJyIC8+bDEwPGJyIC8+Y3NJU084ODU5MTY8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPkdCSzwvdGQ+CisgICAgICAgICAgPHRkPjExMzwvdGQ+CisgICAgICAgICAgPHRkPkNoaW5lc2UgSVQgU3RhbmRhcmRpemF0aW9uIFRlY2huaWNhbCBDb21taXR0ZWUKK1BsZWFzZSBzZWU6IFs8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2Fzc2lnbm1lbnRzL2NoYXJzZXQtcmVnL0dCSyI+aHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9jaGFyc2V0LXJlZy9HQks8L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPkNQOTM2PGJyIC8+TVM5MzY8YnIgLz53aW5kb3dzLTkzNjxiciAvPmNzR0JLPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5HQjE4MDMwPC90ZD4KKyAgICAgICAgICA8dGQ+MTE0PC90ZD4KKyAgICAgICAgICA8dGQ+Q2hpbmVzZSBJVCBTdGFuZGFyZGl6YXRpb24gVGVjaG5pY2FsIENvbW1pdHRlZQorUGxlYXNlIHNlZTogWzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMvY2hhcnNldC1yZWcvR0IxODAzMCI+aHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9jaGFyc2V0LXJlZy9HQjE4MDMwPC9hPl08L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5jc0dCMTgwMzA8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPk9TRF9FQkNESUNfREYwNF8xNTwvdGQ+CisgICAgICAgICAgPHRkPjExNTwvdGQ+CisgICAgICAgICAgPHRkPkZ1aml0c3UtU2llbWVucyBzdGFuZGFyZCBtYWluZnJhbWUgRUJDRElDIGVuY29kaW5nCitQbGVhc2Ugc2VlOiBbPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9jaGFyc2V0LXJlZy9PU0QtRUJDRElDLURGMDQtMTUiPmh0dHA6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMvY2hhcnNldC1yZWcvT1NELUVCQ0RJQy1ERjA0LTE1PC9hPl08L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5jc09TREVCQ0RJQ0RGMDQxNTwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+T1NEX0VCQ0RJQ19ERjAzX0lSVjwvdGQ+CisgICAgICAgICAgPHRkPjExNjwvdGQ+CisgICAgICAgICAgPHRkPkZ1aml0c3UtU2llbWVucyBzdGFuZGFyZCBtYWluZnJhbWUgRUJDRElDIGVuY29kaW5nCitQbGVhc2Ugc2VlOiBbPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9jaGFyc2V0LXJlZy9PU0QtRUJDRElDLURGMDMtSVJWIj5odHRwOi8vd3d3LmlhbmEub3JnL2Fzc2lnbm1lbnRzL2NoYXJzZXQtcmVnL09TRC1FQkNESUMtREYwMy1JUlY8L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPmNzT1NERUJDRElDREYwM0lSVjwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+T1NEX0VCQ0RJQ19ERjA0XzE8L3RkPgorICAgICAgICAgIDx0ZD4xMTc8L3RkPgorICAgICAgICAgIDx0ZD5GdWppdHN1LVNpZW1lbnMgc3RhbmRhcmQgbWFpbmZyYW1lIEVCQ0RJQyBlbmNvZGluZworUGxlYXNlIHNlZTogWzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMvY2hhcnNldC1yZWcvT1NELUVCQ0RJQy1ERjA0LTEiPmh0dHA6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMvY2hhcnNldC1yZWcvT1NELUVCQ0RJQy1ERjA0LTE8L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPmNzT1NERUJDRElDREYwNDE8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPklTTy0xMTU0OC0xPC90ZD4KKyAgICAgICAgICA8dGQ+MTE4PC90ZD4KKyAgICAgICAgICA8dGQ+U2VlIFs8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2Fzc2lnbm1lbnRzL2NoYXJzZXQtcmVnL0lTTy0xMTU0OC0xIj5odHRwOi8vd3d3LmlhbmEub3JnL2Fzc2lnbm1lbnRzL2NoYXJzZXQtcmVnL0lTTy0xMTU0OC0xPC9hPl0gICAgICAgICAgICBbPGEgaHJlZj0iI1NhbXVlbF9UaGliYXVsdCI+U2FtdWVsX1RoaWJhdWx0PC9hPl08L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5JU09fMTE1NDgtMTxiciAvPklTT19UUl8xMTU0OC0xPGJyIC8+Y3NJU08xMTU0ODE8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPktaLTEwNDg8L3RkPgorICAgICAgICAgIDx0ZD4xMTk8L3RkPgorICAgICAgICAgIDx0ZD5TZWUgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMvY2hhcnNldC1yZWcvS1otMTA0OCI+aHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9jaGFyc2V0LXJlZy9LWi0xMDQ4PC9hPl0gICAgICBbPGEgaHJlZj0iI1NhaXJhbl9NX0tpa2thcmluIj5TYWlyYW5fTV9LaWtrYXJpbjwvYT5dWzxhIGhyZWY9IiNBbGV4ZWlfVmVyZW1lZXYiPkFsZXhlaV9WZXJlbWVldjwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+U1RSSzEwNDgtMjAwMjxiciAvPlJLMTA0ODxiciAvPmNzS1oxMDQ4PC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5JU08tMTA2NDYtVUNTLTI8L3RkPgorICAgICAgICAgIDx0ZD4xMDAwPC90ZD4KKyAgICAgICAgICA8dGQ+dGhlIDItb2N0ZXQgQmFzaWMgTXVsdGlsaW5ndWFsIFBsYW5lLCBha2EgVW5pY29kZQordGhpcyBuZWVkcyB0byBzcGVjaWZ5IG5ldHdvcmsgYnl0ZSBvcmRlcjogdGhlIHN0YW5kYXJkCitkb2VzIG5vdCBzcGVjaWZ5IChpdCBpcyBhIDE2LWJpdCBpbnRlZ2VyIHNwYWNlKTwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPmNzVW5pY29kZTwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+SVNPLTEwNjQ2LVVDUy00PC90ZD4KKyAgICAgICAgICA8dGQ+MTAwMTwvdGQ+CisgICAgICAgICAgPHRkPnRoZSBmdWxsIGNvZGUgc3BhY2UuIChzYW1lIGNvbW1lbnQgYWJvdXQgYnl0ZSBvcmRlciwKK3RoZXNlIGFyZSAzMS1iaXQgbnVtYmVycy48L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5jc1VDUzQ8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPklTTy0xMDY0Ni1VQ1MtQmFzaWM8L3RkPgorICAgICAgICAgIDx0ZD4xMDAyPC90ZD4KKyAgICAgICAgICA8dGQ+QVNDSUkgc3Vic2V0IG9mIFVuaWNvZGUuICBCYXNpYyBMYXRpbiA9IGNvbGxlY3Rpb24gMQorU2VlIElTTyAxMDY0NiwgQXBwZW5kaXggQTwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPmNzVW5pY29kZUFTQ0lJPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5JU08tMTA2NDYtVW5pY29kZS1MYXRpbjE8L3RkPgorICAgICAgICAgIDx0ZD4xMDAzPC90ZD4KKyAgICAgICAgICA8dGQ+SVNPIExhdGluLTEgc3Vic2V0IG9mIFVuaWNvZGUuIEJhc2ljIExhdGluIGFuZCBMYXRpbi0xCitTdXBwbGVtZW50ICA9IGNvbGxlY3Rpb25zIDEgYW5kIDIuICBTZWUgSVNPIDEwNjQ2LAorQXBwZW5kaXggQS4gIFNlZSBbPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxODE1Ij5SRkMxODE1PC9hPl0uPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+Y3NVbmljb2RlTGF0aW4xPGJyIC8+SVNPLTEwNjQ2PC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5JU08tMTA2NDYtSi0xPC90ZD4KKyAgICAgICAgICA8dGQ+MTAwNDwvdGQ+CisgICAgICAgICAgPHRkPklTTyAxMDY0NiBKYXBhbmVzZSwgc2VlIFs8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzE4MTUiPlJGQzE4MTU8L2E+XS48L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5jc1VuaWNvZGVKYXBhbmVzZTwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+SVNPLVVuaWNvZGUtSUJNLTEyNjE8L3RkPgorICAgICAgICAgIDx0ZD4xMDA1PC90ZD4KKyAgICAgICAgICA8dGQ+SUJNIExhdGluLTIsIC0zLCAtNSwgRXh0ZW5kZWQgUHJlc2VudGF0aW9uIFNldCwgR0NTR0lEOiAxMjYxPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+Y3NVbmljb2RlSUJNMTI2MTwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+SVNPLVVuaWNvZGUtSUJNLTEyNjg8L3RkPgorICAgICAgICAgIDx0ZD4xMDA2PC90ZD4KKyAgICAgICAgICA8dGQ+SUJNIExhdGluLTQgRXh0ZW5kZWQgUHJlc2VudGF0aW9uIFNldCwgR0NTR0lEOiAxMjY4PC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+Y3NVbmljb2RlSUJNMTI2ODwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+SVNPLVVuaWNvZGUtSUJNLTEyNzY8L3RkPgorICAgICAgICAgIDx0ZD4xMDA3PC90ZD4KKyAgICAgICAgICA8dGQ+SUJNIEN5cmlsbGljIEdyZWVrIEV4dGVuZGVkIFByZXNlbnRhdGlvbiBTZXQsIEdDU0dJRDogMTI3NjwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPmNzVW5pY29kZUlCTTEyNzY8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPklTTy1Vbmljb2RlLUlCTS0xMjY0PC90ZD4KKyAgICAgICAgICA8dGQ+MTAwODwvdGQ+CisgICAgICAgICAgPHRkPklCTSBBcmFiaWMgUHJlc2VudGF0aW9uIFNldCwgR0NTR0lEOiAxMjY0PC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+Y3NVbmljb2RlSUJNMTI2NDwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+SVNPLVVuaWNvZGUtSUJNLTEyNjU8L3RkPgorICAgICAgICAgIDx0ZD4xMDA5PC90ZD4KKyAgICAgICAgICA8dGQ+SUJNIEhlYnJldyBQcmVzZW50YXRpb24gU2V0LCBHQ1NHSUQ6IDEyNjU8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5jc1VuaWNvZGVJQk0xMjY1PC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5VTklDT0RFLTEtMTwvdGQ+CisgICAgICAgICAgPHRkPjEwMTA8L3RkPgorICAgICAgICAgIDx0ZD4KKyAgICAgICAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTY0MSI+UkZDMTY0MTwvYT5dCisgICAgICA8L3RkPgorICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxNjQxIj5SRkMxNjQxPC9hPl08L3RkPgorICAgICAgICAgIDx0ZD5jc1VuaWNvZGUxMTwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+U0NTVTwvdGQ+CisgICAgICAgICAgPHRkPjEwMTE8L3RkPgorICAgICAgICAgIDx0ZD5TQ1NVIFNlZSBbPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9jaGFyc2V0LXJlZy9TQ1NVIj5odHRwOi8vd3d3LmlhbmEub3JnL2Fzc2lnbm1lbnRzL2NoYXJzZXQtcmVnL1NDU1U8L2E+XSAgICAgWzxhIGhyZWY9IiNNYXJrdXNfU2NoZXJlciI+TWFya3VzX1NjaGVyZXI8L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPmNzU0NTVTwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+VVRGLTc8L3RkPgorICAgICAgICAgIDx0ZD4xMDEyPC90ZD4KKyAgICAgICAgICA8dGQ+CisgICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzIxNTIiPlJGQzIxNTI8L2E+XQorICAgICAgPC90ZD4KKyAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMjE1MiI+UkZDMjE1MjwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+Y3NVVEY3PC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5VVEYtMTZCRTwvdGQ+CisgICAgICAgICAgPHRkPjEwMTM8L3RkPgorICAgICAgICAgIDx0ZD4KKyAgICAgICAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMjc4MSI+UkZDMjc4MTwvYT5dCisgICAgICA8L3RkPgorICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMyNzgxIj5SRkMyNzgxPC9hPl08L3RkPgorICAgICAgICAgIDx0ZD5jc1VURjE2QkU8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPlVURi0xNkxFPC90ZD4KKyAgICAgICAgICA8dGQ+MTAxNDwvdGQ+CisgICAgICAgICAgPHRkPgorICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMyNzgxIj5SRkMyNzgxPC9hPl0KKyAgICAgIDwvdGQ+CisgICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzI3ODEiPlJGQzI3ODE8L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPmNzVVRGMTZMRTwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+VVRGLTE2PC90ZD4KKyAgICAgICAgICA8dGQ+MTAxNTwvdGQ+CisgICAgICAgICAgPHRkPgorICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMyNzgxIj5SRkMyNzgxPC9hPl0KKyAgICAgIDwvdGQ+CisgICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzI3ODEiPlJGQzI3ODE8L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPmNzVVRGMTY8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPkNFU1UtODwvdGQ+CisgICAgICAgICAgPHRkPjEwMTY8L3RkPgorICAgICAgICAgIDx0ZD4KKyAgICAgICAgWzxhIGhyZWY9Imh0dHA6Ly93d3cudW5pY29kZS5vcmcvdW5pY29kZS9yZXBvcnRzL3RyMjYiPmh0dHA6Ly93d3cudW5pY29kZS5vcmcvdW5pY29kZS9yZXBvcnRzL3RyMjY8L2E+XQorICAgICAgPC90ZD4KKyAgICAgICAgICA8dGQ+WzxhIGhyZWY9IiNUb2J5X1BoaXBwcyI+VG9ieV9QaGlwcHM8L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPmNzQ0VTVTg8YnIgLz5jc0NFU1UtODwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+VVRGLTMyPC90ZD4KKyAgICAgICAgICA8dGQ+MTAxNzwvdGQ+CisgICAgICAgICAgPHRkPgorICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy51bmljb2RlLm9yZy91bmljb2RlL3JlcG9ydHMvdHIxOS8iPmh0dHA6Ly93d3cudW5pY29kZS5vcmcvdW5pY29kZS9yZXBvcnRzL3RyMTkvPC9hPl0KKyAgICAgIDwvdGQ+CisgICAgICAgICAgPHRkPls8YSBocmVmPSIjTWFya19EYXZpcyI+TWFya19EYXZpczwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+Y3NVVEYzMjwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+VVRGLTMyQkU8L3RkPgorICAgICAgICAgIDx0ZD4xMDE4PC90ZD4KKyAgICAgICAgICA8dGQ+CisgICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3LnVuaWNvZGUub3JnL3VuaWNvZGUvcmVwb3J0cy90cjE5LyI+aHR0cDovL3d3dy51bmljb2RlLm9yZy91bmljb2RlL3JlcG9ydHMvdHIxOS88L2E+XQorICAgICAgPC90ZD4KKyAgICAgICAgICA8dGQ+WzxhIGhyZWY9IiNNYXJrX0RhdmlzIj5NYXJrX0RhdmlzPC9hPl08L3RkPgorICAgICAgICAgIDx0ZD5jc1VURjMyQkU8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPlVURi0zMkxFPC90ZD4KKyAgICAgICAgICA8dGQ+MTAxOTwvdGQ+CisgICAgICAgICAgPHRkPgorICAgICAgICBbPGEgaHJlZj0iaHR0cDovL3d3dy51bmljb2RlLm9yZy91bmljb2RlL3JlcG9ydHMvdHIxOS8iPmh0dHA6Ly93d3cudW5pY29kZS5vcmcvdW5pY29kZS9yZXBvcnRzL3RyMTkvPC9hPl0KKyAgICAgIDwvdGQ+CisgICAgICAgICAgPHRkPls8YSBocmVmPSIjTWFya19EYXZpcyI+TWFya19EYXZpczwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+Y3NVVEYzMkxFPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5CT0NVLTE8L3RkPgorICAgICAgICAgIDx0ZD4xMDIwPC90ZD4KKyAgICAgICAgICA8dGQ+CisgICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3LnVuaWNvZGUub3JnL25vdGVzL3RuNi8iPmh0dHA6Ly93d3cudW5pY29kZS5vcmcvbm90ZXMvdG42LzwvYT5dCisgICAgICA8L3RkPgorICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iI01hcmt1c19TY2hlcmVyIj5NYXJrdXNfU2NoZXJlcjwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+Y3NCT0NVMTxiciAvPmNzQk9DVS0xPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5JU08tODg1OS0xLVdpbmRvd3MtMy4wLUxhdGluLTE8L3RkPgorICAgICAgICAgIDx0ZD4yMDAwPC90ZD4KKyAgICAgICAgICA8dGQ+RXh0ZW5kZWQgSVNPIDg4NTktMSBMYXRpbi0xIGZvciBXaW5kb3dzIDMuMC4KK1BDTCBTeW1ib2wgU2V0IGlkOiA5VTwvdGQ+CisgICAgICAgICAgPHRkPltIZXdsZXR0LVBhY2thcmQgQ29tcGFueSwgIkhQIFBDTCA1IENvbXBhcmlzb24gR3VpZGUiLAorKFAvTiA1MDIxLTAzMjkpIHBwIEItMTMsIDE5OTYuXTwvdGQ+CisgICAgICAgICAgPHRkPmNzV2luZG93czMwTGF0aW4xPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5JU08tODg1OS0xLVdpbmRvd3MtMy4xLUxhdGluLTE8L3RkPgorICAgICAgICAgIDx0ZD4yMDAxPC90ZD4KKyAgICAgICAgICA8dGQ+RXh0ZW5kZWQgSVNPIDg4NTktMSBMYXRpbi0xIGZvciBXaW5kb3dzIDMuMS4KK1BDTCBTeW1ib2wgU2V0IGlkOiAxOVU8L3RkPgorICAgICAgICAgIDx0ZD5bSGV3bGV0dC1QYWNrYXJkIENvbXBhbnksICJIUCBQQ0wgNSBDb21wYXJpc29uIEd1aWRlIiwKKyhQL04gNTAyMS0wMzI5KSBwcCBCLTEzLCAxOTk2Ll08L3RkPgorICAgICAgICAgIDx0ZD5jc1dpbmRvd3MzMUxhdGluMTwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+SVNPLTg4NTktMi1XaW5kb3dzLUxhdGluLTI8L3RkPgorICAgICAgICAgIDx0ZD4yMDAyPC90ZD4KKyAgICAgICAgICA8dGQ+RXh0ZW5kZWQgSVNPIDg4NTktMi4gIExhdGluLTIgZm9yIFdpbmRvd3MgMy4xLgorUENMIFN5bWJvbCBTZXQgaWQ6IDlFPC90ZD4KKyAgICAgICAgICA8dGQ+W0hld2xldHQtUGFja2FyZCBDb21wYW55LCAiSFAgUENMIDUgQ29tcGFyaXNvbiBHdWlkZSIsCisoUC9OIDUwMjEtMDMyOSkgcHAgQi0xMywgMTk5Ni5dPC90ZD4KKyAgICAgICAgICA8dGQ+Y3NXaW5kb3dzMzFMYXRpbjI8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPklTTy04ODU5LTktV2luZG93cy1MYXRpbi01PC90ZD4KKyAgICAgICAgICA8dGQ+MjAwMzwvdGQ+CisgICAgICAgICAgPHRkPkV4dGVuZGVkIElTTyA4ODU5LTkuICBMYXRpbi01IGZvciBXaW5kb3dzIDMuMQorUENMIFN5bWJvbCBTZXQgaWQ6IDVUPC90ZD4KKyAgICAgICAgICA8dGQ+W0hld2xldHQtUGFja2FyZCBDb21wYW55LCAiSFAgUENMIDUgQ29tcGFyaXNvbiBHdWlkZSIsCisoUC9OIDUwMjEtMDMyOSkgcHAgQi0xMywgMTk5Ni5dPC90ZD4KKyAgICAgICAgICA8dGQ+Y3NXaW5kb3dzMzFMYXRpbjU8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPmhwLXJvbWFuODwvdGQ+CisgICAgICAgICAgPHRkPjIwMDQ8L3RkPgorICAgICAgICAgIDx0ZD5MYXNlckpldCBJSVAgUHJpbnRlciBVc2VyJ3MgTWFudWFsLAorSFAgcGFydCBubyAzMzQ3MS05MDkwMSwgSGV3bGV0LVBhY2thcmQsIEp1bmUgMTk4OS48L3RkPgorICAgICAgICAgIDx0ZD5bSGV3bGV0dC1QYWNrYXJkIENvbXBhbnksICJIUCBQQ0wgNSBDb21wYXJpc29uIEd1aWRlIiwKKyhQL04gNTAyMS0wMzI5KSBwcCBCLTEzLCAxOTk2Ll1bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPnJvbWFuODxiciAvPnI4PGJyIC8+Y3NIUFJvbWFuODwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+QWRvYmUtU3RhbmRhcmQtRW5jb2Rpbmc8L3RkPgorICAgICAgICAgIDx0ZD4yMDA1PC90ZD4KKyAgICAgICAgICA8dGQ+UG9zdFNjcmlwdCBMYW5ndWFnZSBSZWZlcmVuY2UgTWFudWFsCitQQ0wgU3ltYm9sIFNldCBpZDogMTBKPC90ZD4KKyAgICAgICAgICA8dGQ+W0Fkb2JlIFN5c3RlbXMgSW5jb3Jwb3JhdGVkLCBQb3N0U2NyaXB0IExhbmd1YWdlIFJlZmVyZW5jZQorTWFudWFsLCBzZWNvbmQgZWRpdGlvbiwgQWRkaXNvbi1XZXNsZXkgUHVibGlzaGluZyBDb21wYW55LAorSW5jLiwgMTk5MC5dPC90ZD4KKyAgICAgICAgICA8dGQ+Y3NBZG9iZVN0YW5kYXJkRW5jb2Rpbmc8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPlZlbnR1cmEtVVM8L3RkPgorICAgICAgICAgIDx0ZD4yMDA2PC90ZD4KKyAgICAgICAgICA8dGQ+VmVudHVyYSBVUy4gIEFTQ0lJIHBsdXMgY2hhcmFjdGVycyB0eXBpY2FsbHkgdXNlZCBpbgorcHVibGlzaGluZywgbGlrZSBwaWxjcm93LCBjb3B5cmlnaHQsIHJlZ2lzdGVyZWQsIHRyYWRlIG1hcmssCitzZWN0aW9uLCBkYWdnZXIsIGFuZCBkb3VibGUgZGFnZ2VyIGluIHRoZSByYW5nZSBBMCAoaGV4KQordG8gRkYgKGhleCkuCitQQ0wgU3ltYm9sIFNldCBpZDogMTRKPC90ZD4KKyAgICAgICAgICA8dGQ+W0hld2xldHQtUGFja2FyZCBDb21wYW55LCAiSFAgUENMIDUgQ29tcGFyaXNvbiBHdWlkZSIsCisoUC9OIDUwMjEtMDMyOSkgcHAgQi0xMywgMTk5Ni5dPC90ZD4KKyAgICAgICAgICA8dGQ+Y3NWZW50dXJhVVM8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPlZlbnR1cmEtSW50ZXJuYXRpb25hbDwvdGQ+CisgICAgICAgICAgPHRkPjIwMDc8L3RkPgorICAgICAgICAgIDx0ZD5WZW50dXJhIEludGVybmF0aW9uYWwuICBBU0NJSSBwbHVzIGNvZGVkIGNoYXJhY3RlcnMgc2ltaWxhcgordG8gUm9tYW44LgorUENMIFN5bWJvbCBTZXQgaWQ6IDEzSjwvdGQ+CisgICAgICAgICAgPHRkPltIZXdsZXR0LVBhY2thcmQgQ29tcGFueSwgIkhQIFBDTCA1IENvbXBhcmlzb24gR3VpZGUiLAorKFAvTiA1MDIxLTAzMjkpIHBwIEItMTMsIDE5OTYuXTwvdGQ+CisgICAgICAgICAgPHRkPmNzVmVudHVyYUludGVybmF0aW9uYWw8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPkRFQy1NQ1M8L3RkPgorICAgICAgICAgIDx0ZD4yMDA4PC90ZD4KKyAgICAgICAgICA8dGQ+VkFYL1ZNUyBVc2VyJ3MgTWFudWFsLAorT3JkZXIgTnVtYmVyOiBBSS1ZNTE3QS1URSwgQXByaWwgMTk4Ni48L3RkPgorICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPmRlYzxiciAvPmNzREVDTUNTPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5JQk04NTA8L3RkPgorICAgICAgICAgIDx0ZD4yMDA5PC90ZD4KKyAgICAgICAgICA8dGQ+SUJNIE5MUyBSTSBWb2wyIFNFMDktODAwMi0wMSwgTWFyY2ggMTk5MDwvdGQ+CisgICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+Y3A4NTA8YnIgLz44NTA8YnIgLz5jc1BDODUwTXVsdGlsaW5ndWFsPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5QQzgtRGFuaXNoLU5vcndlZ2lhbjwvdGQ+CisgICAgICAgICAgPHRkPjIwMTI8L3RkPgorICAgICAgICAgIDx0ZD5QQyBEYW5pc2ggTm9yd2VnaWFuCis4LWJpdCBQQyBzZXQgZm9yIERhbmlzaCBOb3J3ZWdpYW4KK1BDTCBTeW1ib2wgU2V0IGlkOiAxMVU8L3RkPgorICAgICAgICAgIDx0ZD5bSGV3bGV0dC1QYWNrYXJkIENvbXBhbnksICJIUCBQQ0wgNSBDb21wYXJpc29uIEd1aWRlIiwKKyhQL04gNTAyMS0wMzI5KSBwcCBCLTEzLCAxOTk2Ll08L3RkPgorICAgICAgICAgIDx0ZD5jc1BDOERhbmlzaE5vcndlZ2lhbjwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+SUJNODYyPC90ZD4KKyAgICAgICAgICA8dGQ+MjAxMzwvdGQ+CisgICAgICAgICAgPHRkPklCTSBOTFMgUk0gVm9sMiBTRTA5LTgwMDItMDEsIE1hcmNoIDE5OTA8L3RkPgorICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPmNwODYyPGJyIC8+ODYyPGJyIC8+Y3NQQzg2MkxhdGluSGVicmV3PC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5QQzgtVHVya2lzaDwvdGQ+CisgICAgICAgICAgPHRkPjIwMTQ8L3RkPgorICAgICAgICAgIDx0ZD5QQyBMYXRpbiBUdXJraXNoLiAgUENMIFN5bWJvbCBTZXQgaWQ6IDlUPC90ZD4KKyAgICAgICAgICA8dGQ+W0hld2xldHQtUGFja2FyZCBDb21wYW55LCAiSFAgUENMIDUgQ29tcGFyaXNvbiBHdWlkZSIsCisoUC9OIDUwMjEtMDMyOSkgcHAgQi0xMywgMTk5Ni5dPC90ZD4KKyAgICAgICAgICA8dGQ+Y3NQQzhUdXJraXNoPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5JQk0tU3ltYm9sczwvdGQ+CisgICAgICAgICAgPHRkPjIwMTU8L3RkPgorICAgICAgICAgIDx0ZD5QcmVzZW50YXRpb24gU2V0LCBDUEdJRDogMjU5PC90ZD4KKyAgICAgICAgICA8dGQ+W0lCTSBDb3Jwb3JhdGlvbiwgIkFCT1VUIFRZUEU6IElCTSdzIFRlY2huaWNhbCBSZWZlcmVuY2UKK2ZvciBDb3JlIEludGVyY2hhbmdlIERpZ2l0aXplZCBUeXBlIiwgUHVibGljYXRpb24gbnVtYmVyCitTNTQ0LTM3MDgtMDFdPC90ZD4KKyAgICAgICAgICA8dGQ+Y3NJQk1TeW1ib2xzPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5JQk0tVGhhaTwvdGQ+CisgICAgICAgICAgPHRkPjIwMTY8L3RkPgorICAgICAgICAgIDx0ZD5QcmVzZW50YXRpb24gU2V0LCBDUEdJRDogODM4PC90ZD4KKyAgICAgICAgICA8dGQ+W0lCTSBDb3Jwb3JhdGlvbiwgIkFCT1VUIFRZUEU6IElCTSdzIFRlY2huaWNhbCBSZWZlcmVuY2UKK2ZvciBDb3JlIEludGVyY2hhbmdlIERpZ2l0aXplZCBUeXBlIiwgUHVibGljYXRpb24gbnVtYmVyCitTNTQ0LTM3MDgtMDFdPC90ZD4KKyAgICAgICAgICA8dGQ+Y3NJQk1UaGFpPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5IUC1MZWdhbDwvdGQ+CisgICAgICAgICAgPHRkPjIwMTc8L3RkPgorICAgICAgICAgIDx0ZD5QQ0wgNSBDb21wYXJpc29uIEd1aWRlLCBIZXdsZXR0LVBhY2thcmQsCitIUCBwYXJ0IG51bWJlciA1OTYxLTA1MTAsIE9jdG9iZXIgMTk5MgorUENMIFN5bWJvbCBTZXQgaWQ6IDFVPC90ZD4KKyAgICAgICAgICA8dGQ+W0hld2xldHQtUGFja2FyZCBDb21wYW55LCAiSFAgUENMIDUgQ29tcGFyaXNvbiBHdWlkZSIsCisoUC9OIDUwMjEtMDMyOSkgcHAgQi0xMywgMTk5Ni5dPC90ZD4KKyAgICAgICAgICA8dGQ+Y3NIUExlZ2FsPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5IUC1QaS1mb250PC90ZD4KKyAgICAgICAgICA8dGQ+MjAxODwvdGQ+CisgICAgICAgICAgPHRkPlBDTCA1IENvbXBhcmlzb24gR3VpZGUsIEhld2xldHQtUGFja2FyZCwKK0hQIHBhcnQgbnVtYmVyIDU5NjEtMDUxMCwgT2N0b2JlciAxOTkyCitQQ0wgU3ltYm9sIFNldCBpZDogMTVVPC90ZD4KKyAgICAgICAgICA8dGQ+W0hld2xldHQtUGFja2FyZCBDb21wYW55LCAiSFAgUENMIDUgQ29tcGFyaXNvbiBHdWlkZSIsCisoUC9OIDUwMjEtMDMyOSkgcHAgQi0xMywgMTk5Ni5dPC90ZD4KKyAgICAgICAgICA8dGQ+Y3NIUFBpRm9udDwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+SFAtTWF0aDg8L3RkPgorICAgICAgICAgIDx0ZD4yMDE5PC90ZD4KKyAgICAgICAgICA8dGQ+UENMIDUgQ29tcGFyaXNvbiBHdWlkZSwgSGV3bGV0dC1QYWNrYXJkLAorSFAgcGFydCBudW1iZXIgNTk2MS0wNTEwLCBPY3RvYmVyIDE5OTIKK1BDTCBTeW1ib2wgU2V0IGlkOiA4TTwvdGQ+CisgICAgICAgICAgPHRkPltIZXdsZXR0LVBhY2thcmQgQ29tcGFueSwgIkhQIFBDTCA1IENvbXBhcmlzb24gR3VpZGUiLAorKFAvTiA1MDIxLTAzMjkpIHBwIEItMTMsIDE5OTYuXTwvdGQ+CisgICAgICAgICAgPHRkPmNzSFBNYXRoODwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+QWRvYmUtU3ltYm9sLUVuY29kaW5nPC90ZD4KKyAgICAgICAgICA8dGQ+MjAyMDwvdGQ+CisgICAgICAgICAgPHRkPlBvc3RTY3JpcHQgTGFuZ3VhZ2UgUmVmZXJlbmNlIE1hbnVhbAorUENMIFN5bWJvbCBTZXQgaWQ6IDVNPC90ZD4KKyAgICAgICAgICA8dGQ+W0Fkb2JlIFN5c3RlbXMgSW5jb3Jwb3JhdGVkLCBQb3N0U2NyaXB0IExhbmd1YWdlIFJlZmVyZW5jZQorTWFudWFsLCBzZWNvbmQgZWRpdGlvbiwgQWRkaXNvbi1XZXNsZXkgUHVibGlzaGluZyBDb21wYW55LAorSW5jLiwgMTk5MC5dPC90ZD4KKyAgICAgICAgICA8dGQ+Y3NIUFBTTWF0aDwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+SFAtRGVza1RvcDwvdGQ+CisgICAgICAgICAgPHRkPjIwMjE8L3RkPgorICAgICAgICAgIDx0ZD5QQ0wgNSBDb21wYXJpc29uIEd1aWRlLCBIZXdsZXR0LVBhY2thcmQsCitIUCBwYXJ0IG51bWJlciA1OTYxLTA1MTAsIE9jdG9iZXIgMTk5MgorUENMIFN5bWJvbCBTZXQgaWQ6IDdKPC90ZD4KKyAgICAgICAgICA8dGQ+W0hld2xldHQtUGFja2FyZCBDb21wYW55LCAiSFAgUENMIDUgQ29tcGFyaXNvbiBHdWlkZSIsCisoUC9OIDUwMjEtMDMyOSkgcHAgQi0xMywgMTk5Ni5dPC90ZD4KKyAgICAgICAgICA8dGQ+Y3NIUERlc2t0b3A8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPlZlbnR1cmEtTWF0aDwvdGQ+CisgICAgICAgICAgPHRkPjIwMjI8L3RkPgorICAgICAgICAgIDx0ZD5QQ0wgNSBDb21wYXJpc29uIEd1aWRlLCBIZXdsZXR0LVBhY2thcmQsCitIUCBwYXJ0IG51bWJlciA1OTYxLTA1MTAsIE9jdG9iZXIgMTk5MgorUENMIFN5bWJvbCBTZXQgaWQ6IDZNPC90ZD4KKyAgICAgICAgICA8dGQ+W0hld2xldHQtUGFja2FyZCBDb21wYW55LCAiSFAgUENMIDUgQ29tcGFyaXNvbiBHdWlkZSIsCisoUC9OIDUwMjEtMDMyOSkgcHAgQi0xMywgMTk5Ni5dPC90ZD4KKyAgICAgICAgICA8dGQ+Y3NWZW50dXJhTWF0aDwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+TWljcm9zb2Z0LVB1Ymxpc2hpbmc8L3RkPgorICAgICAgICAgIDx0ZD4yMDIzPC90ZD4KKyAgICAgICAgICA8dGQ+UENMIDUgQ29tcGFyaXNvbiBHdWlkZSwgSGV3bGV0dC1QYWNrYXJkLAorSFAgcGFydCBudW1iZXIgNTk2MS0wNTEwLCBPY3RvYmVyIDE5OTIKK1BDTCBTeW1ib2wgU2V0IGlkOiA2SjwvdGQ+CisgICAgICAgICAgPHRkPltIZXdsZXR0LVBhY2thcmQgQ29tcGFueSwgIkhQIFBDTCA1IENvbXBhcmlzb24gR3VpZGUiLAorKFAvTiA1MDIxLTAzMjkpIHBwIEItMTMsIDE5OTYuXTwvdGQ+CisgICAgICAgICAgPHRkPmNzTWljcm9zb2Z0UHVibGlzaGluZzwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+V2luZG93cy0zMUo8L3RkPgorICAgICAgICAgIDx0ZD4yMDI0PC90ZD4KKyAgICAgICAgICA8dGQ+V2luZG93cyBKYXBhbmVzZS4gIEEgZnVydGhlciBleHRlbnNpb24gb2YgU2hpZnRfSklTCit0byBpbmNsdWRlIE5FQyBzcGVjaWFsIGNoYXJhY3RlcnMgKFJvdyAxMyksIE5FQworc2VsZWN0aW9uIG9mIElCTSBleHRlbnNpb25zIChSb3dzIDg5IHRvIDkyKSwgYW5kIElCTQorZXh0ZW5zaW9ucyAoUm93cyAxMTUgdG8gMTE5KS4gIFRoZSBDQ1MncyBhcmUKK0pJUyBYMDIwMToxOTk3LCBKSVMgWDAyMDg6MTk5NywgYW5kIHRoZXNlIGV4dGVuc2lvbnMuCitUaGlzIGNoYXJzZXQgY2FuIGJlIHVzZWQgZm9yIHRoZSB0b3AtbGV2ZWwgbWVkaWEgdHlwZSAidGV4dCIsCitidXQgaXQgaXMgb2YgbGltaXRlZCBvciBzcGVjaWFsaXplZCB1c2UgKHNlZSBbPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMyMjc4Ij5SRkMyMjc4PC9hPl0pLgorUENMIFN5bWJvbCBTZXQgaWQ6IDE5SzwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPmNzV2luZG93czMxSjwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+R0IyMzEyPC90ZD4KKyAgICAgICAgICA8dGQ+R0IyMzEyPC90ZD4KKyAgICAgICAgICA8dGQ+MjAyNTwvdGQ+CisgICAgICAgICAgPHRkPkNoaW5lc2UgZm9yIFBlb3BsZSdzIFJlcHVibGljIG9mIENoaW5hIChQUkMpIG1peGVkIG9uZSBieXRlLAordHdvIGJ5dGUgc2V0OgorMjAtN0UgPSBvbmUgYnl0ZSBBU0NJSQorQTEtRkUgPSB0d28gYnl0ZSBQUkMgS2FuamkKK1NlZSBHQiAyMzEyLTgwCitQQ0wgU3ltYm9sIFNldCBJZDogMThDPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+Y3NHQjIzMTI8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPkJpZzU8L3RkPgorICAgICAgICAgIDx0ZD5CaWc1PC90ZD4KKyAgICAgICAgICA8dGQ+MjAyNjwvdGQ+CisgICAgICAgICAgPHRkPkNoaW5lc2UgZm9yIFRhaXdhbiBNdWx0aS1ieXRlIHNldC4KK1BDTCBTeW1ib2wgU2V0IElkOiAxOFQ8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5jc0JpZzU8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPm1hY2ludG9zaDwvdGQ+CisgICAgICAgICAgPHRkPjIwMjc8L3RkPgorICAgICAgICAgIDx0ZD5UaGUgVW5pY29kZSBTdGFuZGFyZCB2ZXIxLjAsIElTQk4gMC0yMDEtNTY3ODgtMSwgT2N0IDE5OTE8L3RkPgorICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPm1hYzxiciAvPmNzTWFjaW50b3NoPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5JQk0wMzc8L3RkPgorICAgICAgICAgIDx0ZD4yMDI4PC90ZD4KKyAgICAgICAgICA8dGQ+SUJNIE5MUyBSTSBWb2wyIFNFMDktODAwMi0wMSwgTWFyY2ggMTk5MDwvdGQ+CisgICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+Y3AwMzc8YnIgLz5lYmNkaWMtY3AtdXM8YnIgLz5lYmNkaWMtY3AtY2E8YnIgLz5lYmNkaWMtY3Atd3Q8YnIgLz5lYmNkaWMtY3Atbmw8YnIgLz5jc0lCTTAzNzwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+SUJNMDM4PC90ZD4KKyAgICAgICAgICA8dGQ+MjAyOTwvdGQ+CisgICAgICAgICAgPHRkPklCTSAzMTc0IENoYXJhY3RlciBTZXQgUmVmLCBHQTI3LTM4MzEtMDIsIE1hcmNoIDE5OTA8L3RkPgorICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPkVCQ0RJQy1JTlQ8YnIgLz5jcDAzODxiciAvPmNzSUJNMDM4PC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5JQk0yNzM8L3RkPgorICAgICAgICAgIDx0ZD4yMDMwPC90ZD4KKyAgICAgICAgICA8dGQ+SUJNIE5MUyBSTSBWb2wyIFNFMDktODAwMi0wMSwgTWFyY2ggMTk5MDwvdGQ+CisgICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+Q1AyNzM8YnIgLz5jc0lCTTI3MzwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+SUJNMjc0PC90ZD4KKyAgICAgICAgICA8dGQ+MjAzMTwvdGQ+CisgICAgICAgICAgPHRkPklCTSAzMTc0IENoYXJhY3RlciBTZXQgUmVmLCBHQTI3LTM4MzEtMDIsIE1hcmNoIDE5OTA8L3RkPgorICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPkVCQ0RJQy1CRTxiciAvPkNQMjc0PGJyIC8+Y3NJQk0yNzQ8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPklCTTI3NTwvdGQ+CisgICAgICAgICAgPHRkPjIwMzI8L3RkPgorICAgICAgICAgIDx0ZD5JQk0gTkxTIFJNIFZvbDIgU0UwOS04MDAyLTAxLCBNYXJjaCAxOTkwPC90ZD4KKyAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgorICAgICAgICAgIDx0ZD5FQkNESUMtQlI8YnIgLz5jcDI3NTxiciAvPmNzSUJNMjc1PC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5JQk0yNzc8L3RkPgorICAgICAgICAgIDx0ZD4yMDMzPC90ZD4KKyAgICAgICAgICA8dGQ+SUJNIE5MUyBSTSBWb2wyIFNFMDktODAwMi0wMSwgTWFyY2ggMTk5MDwvdGQ+CisgICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+RUJDRElDLUNQLURLPGJyIC8+RUJDRElDLUNQLU5PPGJyIC8+Y3NJQk0yNzc8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPklCTTI3ODwvdGQ+CisgICAgICAgICAgPHRkPjIwMzQ8L3RkPgorICAgICAgICAgIDx0ZD5JQk0gTkxTIFJNIFZvbDIgU0UwOS04MDAyLTAxLCBNYXJjaCAxOTkwPC90ZD4KKyAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgorICAgICAgICAgIDx0ZD5DUDI3ODxiciAvPmViY2RpYy1jcC1maTxiciAvPmViY2RpYy1jcC1zZTxiciAvPmNzSUJNMjc4PC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5JQk0yODA8L3RkPgorICAgICAgICAgIDx0ZD4yMDM1PC90ZD4KKyAgICAgICAgICA8dGQ+SUJNIE5MUyBSTSBWb2wyIFNFMDktODAwMi0wMSwgTWFyY2ggMTk5MDwvdGQ+CisgICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+Q1AyODA8YnIgLz5lYmNkaWMtY3AtaXQ8YnIgLz5jc0lCTTI4MDwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+SUJNMjgxPC90ZD4KKyAgICAgICAgICA8dGQ+MjAzNjwvdGQ+CisgICAgICAgICAgPHRkPklCTSAzMTc0IENoYXJhY3RlciBTZXQgUmVmLCBHQTI3LTM4MzEtMDIsIE1hcmNoIDE5OTA8L3RkPgorICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPkVCQ0RJQy1KUC1FPGJyIC8+Y3AyODE8YnIgLz5jc0lCTTI4MTwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+SUJNMjg0PC90ZD4KKyAgICAgICAgICA8dGQ+MjAzNzwvdGQ+CisgICAgICAgICAgPHRkPklCTSBOTFMgUk0gVm9sMiBTRTA5LTgwMDItMDEsIE1hcmNoIDE5OTA8L3RkPgorICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPkNQMjg0PGJyIC8+ZWJjZGljLWNwLWVzPGJyIC8+Y3NJQk0yODQ8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPklCTTI4NTwvdGQ+CisgICAgICAgICAgPHRkPjIwMzg8L3RkPgorICAgICAgICAgIDx0ZD5JQk0gTkxTIFJNIFZvbDIgU0UwOS04MDAyLTAxLCBNYXJjaCAxOTkwPC90ZD4KKyAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgorICAgICAgICAgIDx0ZD5DUDI4NTxiciAvPmViY2RpYy1jcC1nYjxiciAvPmNzSUJNMjg1PC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5JQk0yOTA8L3RkPgorICAgICAgICAgIDx0ZD4yMDM5PC90ZD4KKyAgICAgICAgICA8dGQ+SUJNIDMxNzQgQ2hhcmFjdGVyIFNldCBSZWYsIEdBMjctMzgzMS0wMiwgTWFyY2ggMTk5MDwvdGQ+CisgICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+Y3AyOTA8YnIgLz5FQkNESUMtSlAta2FuYTxiciAvPmNzSUJNMjkwPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5JQk0yOTc8L3RkPgorICAgICAgICAgIDx0ZD4yMDQwPC90ZD4KKyAgICAgICAgICA8dGQ+SUJNIE5MUyBSTSBWb2wyIFNFMDktODAwMi0wMSwgTWFyY2ggMTk5MDwvdGQ+CisgICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+Y3AyOTc8YnIgLz5lYmNkaWMtY3AtZnI8YnIgLz5jc0lCTTI5NzwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+SUJNNDIwPC90ZD4KKyAgICAgICAgICA8dGQ+MjA0MTwvdGQ+CisgICAgICAgICAgPHRkPklCTSBOTFMgUk0gVm9sMiBTRTA5LTgwMDItMDEsIE1hcmNoIDE5OTAsCitJQk0gTkxTIFJNIHAgMTEtMTE8L3RkPgorICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPmNwNDIwPGJyIC8+ZWJjZGljLWNwLWFyMTxiciAvPmNzSUJNNDIwPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5JQk00MjM8L3RkPgorICAgICAgICAgIDx0ZD4yMDQyPC90ZD4KKyAgICAgICAgICA8dGQ+SUJNIE5MUyBSTSBWb2wyIFNFMDktODAwMi0wMSwgTWFyY2ggMTk5MDwvdGQ+CisgICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+Y3A0MjM8YnIgLz5lYmNkaWMtY3AtZ3I8YnIgLz5jc0lCTTQyMzwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+SUJNNDI0PC90ZD4KKyAgICAgICAgICA8dGQ+MjA0MzwvdGQ+CisgICAgICAgICAgPHRkPklCTSBOTFMgUk0gVm9sMiBTRTA5LTgwMDItMDEsIE1hcmNoIDE5OTA8L3RkPgorICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPmNwNDI0PGJyIC8+ZWJjZGljLWNwLWhlPGJyIC8+Y3NJQk00MjQ8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPklCTTQzNzwvdGQ+CisgICAgICAgICAgPHRkPjIwMTE8L3RkPgorICAgICAgICAgIDx0ZD5JQk0gTkxTIFJNIFZvbDIgU0UwOS04MDAyLTAxLCBNYXJjaCAxOTkwPC90ZD4KKyAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgorICAgICAgICAgIDx0ZD5jcDQzNzxiciAvPjQzNzxiciAvPmNzUEM4Q29kZVBhZ2U0Mzc8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPklCTTUwMDwvdGQ+CisgICAgICAgICAgPHRkPjIwNDQ8L3RkPgorICAgICAgICAgIDx0ZD5JQk0gTkxTIFJNIFZvbDIgU0UwOS04MDAyLTAxLCBNYXJjaCAxOTkwPC90ZD4KKyAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgorICAgICAgICAgIDx0ZD5DUDUwMDxiciAvPmViY2RpYy1jcC1iZTxiciAvPmViY2RpYy1jcC1jaDxiciAvPmNzSUJNNTAwPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5JQk04NTE8L3RkPgorICAgICAgICAgIDx0ZD4yMDQ1PC90ZD4KKyAgICAgICAgICA8dGQ+SUJNIE5MUyBSTSBWb2wyIFNFMDktODAwMi0wMSwgTWFyY2ggMTk5MDwvdGQ+CisgICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+Y3A4NTE8YnIgLz44NTE8YnIgLz5jc0lCTTg1MTwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+SUJNODUyPC90ZD4KKyAgICAgICAgICA8dGQ+MjAxMDwvdGQ+CisgICAgICAgICAgPHRkPklCTSBOTFMgUk0gVm9sMiBTRTA5LTgwMDItMDEsIE1hcmNoIDE5OTA8L3RkPgorICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPmNwODUyPGJyIC8+ODUyPGJyIC8+Y3NQQ3A4NTI8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPklCTTg1NTwvdGQ+CisgICAgICAgICAgPHRkPjIwNDY8L3RkPgorICAgICAgICAgIDx0ZD5JQk0gTkxTIFJNIFZvbDIgU0UwOS04MDAyLTAxLCBNYXJjaCAxOTkwPC90ZD4KKyAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgorICAgICAgICAgIDx0ZD5jcDg1NTxiciAvPjg1NTxiciAvPmNzSUJNODU1PC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5JQk04NTc8L3RkPgorICAgICAgICAgIDx0ZD4yMDQ3PC90ZD4KKyAgICAgICAgICA8dGQ+SUJNIE5MUyBSTSBWb2wyIFNFMDktODAwMi0wMSwgTWFyY2ggMTk5MDwvdGQ+CisgICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+Y3A4NTc8YnIgLz44NTc8YnIgLz5jc0lCTTg1NzwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+SUJNODYwPC90ZD4KKyAgICAgICAgICA8dGQ+MjA0ODwvdGQ+CisgICAgICAgICAgPHRkPklCTSBOTFMgUk0gVm9sMiBTRTA5LTgwMDItMDEsIE1hcmNoIDE5OTA8L3RkPgorICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPmNwODYwPGJyIC8+ODYwPGJyIC8+Y3NJQk04NjA8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPklCTTg2MTwvdGQ+CisgICAgICAgICAgPHRkPjIwNDk8L3RkPgorICAgICAgICAgIDx0ZD5JQk0gTkxTIFJNIFZvbDIgU0UwOS04MDAyLTAxLCBNYXJjaCAxOTkwPC90ZD4KKyAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgorICAgICAgICAgIDx0ZD5jcDg2MTxiciAvPjg2MTxiciAvPmNwLWlzPGJyIC8+Y3NJQk04NjE8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPklCTTg2MzwvdGQ+CisgICAgICAgICAgPHRkPjIwNTA8L3RkPgorICAgICAgICAgIDx0ZD5JQk0gS2V5Ym9hcmQgbGF5b3V0cyBhbmQgY29kZSBwYWdlcywgUE4gMDdHNDU4NiBKdW5lIDE5OTE8L3RkPgorICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPmNwODYzPGJyIC8+ODYzPGJyIC8+Y3NJQk04NjM8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPklCTTg2NDwvdGQ+CisgICAgICAgICAgPHRkPjIwNTE8L3RkPgorICAgICAgICAgIDx0ZD5JQk0gS2V5Ym9hcmQgbGF5b3V0cyBhbmQgY29kZSBwYWdlcywgUE4gMDdHNDU4NiBKdW5lIDE5OTE8L3RkPgorICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPmNwODY0PGJyIC8+Y3NJQk04NjQ8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPklCTTg2NTwvdGQ+CisgICAgICAgICAgPHRkPjIwNTI8L3RkPgorICAgICAgICAgIDx0ZD5JQk0gRE9TIDMuMyBSZWYgKEFicmlkZ2VkKSwgOTRYOTU3NSAoRmViIDE5ODcpPC90ZD4KKyAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgorICAgICAgICAgIDx0ZD5jcDg2NTxiciAvPjg2NTxiciAvPmNzSUJNODY1PC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5JQk04Njg8L3RkPgorICAgICAgICAgIDx0ZD4yMDUzPC90ZD4KKyAgICAgICAgICA8dGQ+SUJNIE5MUyBSTSBWb2wyIFNFMDktODAwMi0wMSwgTWFyY2ggMTk5MDwvdGQ+CisgICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+Q1A4Njg8YnIgLz5jcC1hcjxiciAvPmNzSUJNODY4PC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5JQk04Njk8L3RkPgorICAgICAgICAgIDx0ZD4yMDU0PC90ZD4KKyAgICAgICAgICA8dGQ+SUJNIEtleWJvYXJkIGxheW91dHMgYW5kIGNvZGUgcGFnZXMsIFBOIDA3RzQ1ODYgSnVuZSAxOTkxPC90ZD4KKyAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgorICAgICAgICAgIDx0ZD5jcDg2OTxiciAvPjg2OTxiciAvPmNwLWdyPGJyIC8+Y3NJQk04Njk8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPklCTTg3MDwvdGQ+CisgICAgICAgICAgPHRkPjIwNTU8L3RkPgorICAgICAgICAgIDx0ZD5JQk0gTkxTIFJNIFZvbDIgU0UwOS04MDAyLTAxLCBNYXJjaCAxOTkwPC90ZD4KKyAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgorICAgICAgICAgIDx0ZD5DUDg3MDxiciAvPmViY2RpYy1jcC1yb2VjZTxiciAvPmViY2RpYy1jcC15dTxiciAvPmNzSUJNODcwPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5JQk04NzE8L3RkPgorICAgICAgICAgIDx0ZD4yMDU2PC90ZD4KKyAgICAgICAgICA8dGQ+SUJNIE5MUyBSTSBWb2wyIFNFMDktODAwMi0wMSwgTWFyY2ggMTk5MDwvdGQ+CisgICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+Q1A4NzE8YnIgLz5lYmNkaWMtY3AtaXM8YnIgLz5jc0lCTTg3MTwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+SUJNODgwPC90ZD4KKyAgICAgICAgICA8dGQ+MjA1NzwvdGQ+CisgICAgICAgICAgPHRkPklCTSBOTFMgUk0gVm9sMiBTRTA5LTgwMDItMDEsIE1hcmNoIDE5OTA8L3RkPgorICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPmNwODgwPGJyIC8+RUJDRElDLUN5cmlsbGljPGJyIC8+Y3NJQk04ODA8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPklCTTg5MTwvdGQ+CisgICAgICAgICAgPHRkPjIwNTg8L3RkPgorICAgICAgICAgIDx0ZD5JQk0gTkxTIFJNIFZvbDIgU0UwOS04MDAyLTAxLCBNYXJjaCAxOTkwPC90ZD4KKyAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgorICAgICAgICAgIDx0ZD5jcDg5MTxiciAvPmNzSUJNODkxPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5JQk05MDM8L3RkPgorICAgICAgICAgIDx0ZD4yMDU5PC90ZD4KKyAgICAgICAgICA8dGQ+SUJNIE5MUyBSTSBWb2wyIFNFMDktODAwMi0wMSwgTWFyY2ggMTk5MDwvdGQ+CisgICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+Y3A5MDM8YnIgLz5jc0lCTTkwMzwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+SUJNOTA0PC90ZD4KKyAgICAgICAgICA8dGQ+MjA2MDwvdGQ+CisgICAgICAgICAgPHRkPklCTSBOTFMgUk0gVm9sMiBTRTA5LTgwMDItMDEsIE1hcmNoIDE5OTA8L3RkPgorICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPmNwOTA0PGJyIC8+OTA0PGJyIC8+Y3NJQkJNOTA0PC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5JQk05MDU8L3RkPgorICAgICAgICAgIDx0ZD4yMDYxPC90ZD4KKyAgICAgICAgICA8dGQ+SUJNIDMxNzQgQ2hhcmFjdGVyIFNldCBSZWYsIEdBMjctMzgzMS0wMiwgTWFyY2ggMTk5MDwvdGQ+CisgICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+Q1A5MDU8YnIgLz5lYmNkaWMtY3AtdHI8YnIgLz5jc0lCTTkwNTwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+SUJNOTE4PC90ZD4KKyAgICAgICAgICA8dGQ+MjA2MjwvdGQ+CisgICAgICAgICAgPHRkPklCTSBOTFMgUk0gVm9sMiBTRTA5LTgwMDItMDEsIE1hcmNoIDE5OTA8L3RkPgorICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPkNQOTE4PGJyIC8+ZWJjZGljLWNwLWFyMjxiciAvPmNzSUJNOTE4PC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5JQk0xMDI2PC90ZD4KKyAgICAgICAgICA8dGQ+MjA2MzwvdGQ+CisgICAgICAgICAgPHRkPklCTSBOTFMgUk0gVm9sMiBTRTA5LTgwMDItMDEsIE1hcmNoIDE5OTA8L3RkPgorICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPkNQMTAyNjxiciAvPmNzSUJNMTAyNjwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+RUJDRElDLUFULURFPC90ZD4KKyAgICAgICAgICA8dGQ+MjA2NDwvdGQ+CisgICAgICAgICAgPHRkPklCTSAzMjcwIENoYXIgU2V0IFJlZiBDaCAxMCwgR0EyNy0yODM3LTksIEFwcmlsIDE5ODc8L3RkPgorICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPmNzSUJNRUJDRElDQVRERTwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+RUJDRElDLUFULURFLUE8L3RkPgorICAgICAgICAgIDx0ZD4yMDY1PC90ZD4KKyAgICAgICAgICA8dGQ+SUJNIDMyNzAgQ2hhciBTZXQgUmVmIENoIDEwLCBHQTI3LTI4MzctOSwgQXByaWwgMTk4NzwvdGQ+CisgICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+Y3NFQkNESUNBVERFQTwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+RUJDRElDLUNBLUZSPC90ZD4KKyAgICAgICAgICA8dGQ+MjA2NjwvdGQ+CisgICAgICAgICAgPHRkPklCTSAzMjcwIENoYXIgU2V0IFJlZiBDaCAxMCwgR0EyNy0yODM3LTksIEFwcmlsIDE5ODc8L3RkPgorICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPmNzRUJDRElDQ0FGUjwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+RUJDRElDLURLLU5PPC90ZD4KKyAgICAgICAgICA8dGQ+MjA2NzwvdGQ+CisgICAgICAgICAgPHRkPklCTSAzMjcwIENoYXIgU2V0IFJlZiBDaCAxMCwgR0EyNy0yODM3LTksIEFwcmlsIDE5ODc8L3RkPgorICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPmNzRUJDRElDREtOTzwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+RUJDRElDLURLLU5PLUE8L3RkPgorICAgICAgICAgIDx0ZD4yMDY4PC90ZD4KKyAgICAgICAgICA8dGQ+SUJNIDMyNzAgQ2hhciBTZXQgUmVmIENoIDEwLCBHQTI3LTI4MzctOSwgQXByaWwgMTk4NzwvdGQ+CisgICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+Y3NFQkNESUNES05PQTwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+RUJDRElDLUZJLVNFPC90ZD4KKyAgICAgICAgICA8dGQ+MjA2OTwvdGQ+CisgICAgICAgICAgPHRkPklCTSAzMjcwIENoYXIgU2V0IFJlZiBDaCAxMCwgR0EyNy0yODM3LTksIEFwcmlsIDE5ODc8L3RkPgorICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPmNzRUJDRElDRklTRTwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+RUJDRElDLUZJLVNFLUE8L3RkPgorICAgICAgICAgIDx0ZD4yMDcwPC90ZD4KKyAgICAgICAgICA8dGQ+SUJNIDMyNzAgQ2hhciBTZXQgUmVmIENoIDEwLCBHQTI3LTI4MzctOSwgQXByaWwgMTk4NzwvdGQ+CisgICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+Y3NFQkNESUNGSVNFQTwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+RUJDRElDLUZSPC90ZD4KKyAgICAgICAgICA8dGQ+MjA3MTwvdGQ+CisgICAgICAgICAgPHRkPklCTSAzMjcwIENoYXIgU2V0IFJlZiBDaCAxMCwgR0EyNy0yODM3LTksIEFwcmlsIDE5ODc8L3RkPgorICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPmNzRUJDRElDRlI8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPkVCQ0RJQy1JVDwvdGQ+CisgICAgICAgICAgPHRkPjIwNzI8L3RkPgorICAgICAgICAgIDx0ZD5JQk0gMzI3MCBDaGFyIFNldCBSZWYgQ2ggMTAsIEdBMjctMjgzNy05LCBBcHJpbCAxOTg3PC90ZD4KKyAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgorICAgICAgICAgIDx0ZD5jc0VCQ0RJQ0lUPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5FQkNESUMtUFQ8L3RkPgorICAgICAgICAgIDx0ZD4yMDczPC90ZD4KKyAgICAgICAgICA8dGQ+SUJNIDMyNzAgQ2hhciBTZXQgUmVmIENoIDEwLCBHQTI3LTI4MzctOSwgQXByaWwgMTk4NzwvdGQ+CisgICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+Y3NFQkNESUNQVDwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+RUJDRElDLUVTPC90ZD4KKyAgICAgICAgICA8dGQ+MjA3NDwvdGQ+CisgICAgICAgICAgPHRkPklCTSAzMjcwIENoYXIgU2V0IFJlZiBDaCAxMCwgR0EyNy0yODM3LTksIEFwcmlsIDE5ODc8L3RkPgorICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPmNzRUJDRElDRVM8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPkVCQ0RJQy1FUy1BPC90ZD4KKyAgICAgICAgICA8dGQ+MjA3NTwvdGQ+CisgICAgICAgICAgPHRkPklCTSAzMjcwIENoYXIgU2V0IFJlZiBDaCAxMCwgR0EyNy0yODM3LTksIEFwcmlsIDE5ODc8L3RkPgorICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPmNzRUJDRElDRVNBPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5FQkNESUMtRVMtUzwvdGQ+CisgICAgICAgICAgPHRkPjIwNzY8L3RkPgorICAgICAgICAgIDx0ZD5JQk0gMzI3MCBDaGFyIFNldCBSZWYgQ2ggMTAsIEdBMjctMjgzNy05LCBBcHJpbCAxOTg3PC90ZD4KKyAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgorICAgICAgICAgIDx0ZD5jc0VCQ0RJQ0VTUzwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+RUJDRElDLVVLPC90ZD4KKyAgICAgICAgICA8dGQ+MjA3NzwvdGQ+CisgICAgICAgICAgPHRkPklCTSAzMjcwIENoYXIgU2V0IFJlZiBDaCAxMCwgR0EyNy0yODM3LTksIEFwcmlsIDE5ODc8L3RkPgorICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPmNzRUJDRElDVUs8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPkVCQ0RJQy1VUzwvdGQ+CisgICAgICAgICAgPHRkPjIwNzg8L3RkPgorICAgICAgICAgIDx0ZD5JQk0gMzI3MCBDaGFyIFNldCBSZWYgQ2ggMTAsIEdBMjctMjgzNy05LCBBcHJpbCAxOTg3PC90ZD4KKyAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dWzxhIGhyZWY9IiNLZWxkX1NpbW9uc2VuIj5LZWxkX1NpbW9uc2VuPC9hPl08L3RkPgorICAgICAgICAgIDx0ZD5jc0VCQ0RJQ1VTPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5VTktOT1dOLThCSVQ8L3RkPgorICAgICAgICAgIDx0ZD4yMDc5PC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTQyOCI+UkZDMTQyODwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+Y3NVbmtub3duOEJpVDwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+TU5FTU9OSUM8L3RkPgorICAgICAgICAgIDx0ZD4yMDgwPC90ZD4KKyAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dLCBhbHNvIGtub3duIGFzICJtbmVtb25pYythc2NpaSszOCI8L3RkPgorICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxMzQ1Ij5SRkMxMzQ1PC9hPl1bPGEgaHJlZj0iI0tlbGRfU2ltb25zZW4iPktlbGRfU2ltb25zZW48L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPmNzTW5lbW9uaWM8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPk1ORU08L3RkPgorICAgICAgICAgIDx0ZD4yMDgxPC90ZD4KKyAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTM0NSI+UkZDMTM0NTwvYT5dLCBhbHNvIGtub3duIGFzICJtbmVtb25pYythc2NpaSs4MjAwIjwvdGQ+CisgICAgICAgICAgPHRkPls8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzEzNDUiPlJGQzEzNDU8L2E+XVs8YSBocmVmPSIjS2VsZF9TaW1vbnNlbiI+S2VsZF9TaW1vbnNlbjwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+Y3NNbmVtPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5WSVNDSUk8L3RkPgorICAgICAgICAgIDx0ZD4yMDgyPC90ZD4KKyAgICAgICAgICA8dGQ+CisgICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzE0NTYiPlJGQzE0NTY8L2E+XQorICAgICAgPC90ZD4KKyAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTQ1NiI+UkZDMTQ1NjwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+Y3NWSVNDSUk8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPlZJUVI8L3RkPgorICAgICAgICAgIDx0ZD4yMDgzPC90ZD4KKyAgICAgICAgICA8dGQ+CisgICAgICAgIFs8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzE0NTYiPlJGQzE0NTY8L2E+XQorICAgICAgPC90ZD4KKyAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTQ1NiI+UkZDMTQ1NjwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+Y3NWSVFSPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD5LT0k4LVI8L3RkPgorICAgICAgICAgIDx0ZD5LT0k4LVI8L3RkPgorICAgICAgICAgIDx0ZD4yMDg0PC90ZD4KKyAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTQ4OSI+UkZDMTQ4OTwvYT5dLCBiYXNlZCBvbiBHT1NULTE5NzY4LTc0LCBJU08tNjkzNy84LAorSU5JUy1DeXJpbGxpYywgSVNPLTU0MjcuPC90ZD4KKyAgICAgICAgICA8dGQ+WzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMTQ4OSI+UkZDMTQ4OTwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+Y3NLT0k4UjwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+SFotR0ItMjMxMjwvdGQ+CisgICAgICAgICAgPHRkPjIwODU8L3RkPgorICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMxODQyIj5SRkMxODQyPC9hPl0sIFs8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzE4NDMiPlJGQzE4NDM8L2E+XVs8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzE4NDMiPlJGQzE4NDM8L2E+XVs8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2dvL3JmYzE4NDIiPlJGQzE4NDI8L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+SUJNODY2PC90ZD4KKyAgICAgICAgICA8dGQ+MjA4NjwvdGQ+CisgICAgICAgICAgPHRkPklCTSBOTERHIFZvbHVtZSAyIChTRTA5LTgwMDItMDMpIEF1Z3VzdCAxOTk0PC90ZD4KKyAgICAgICAgICA8dGQ+WzxhIGhyZWY9IiNSaWNrX1BvbmQiPlJpY2tfUG9uZDwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+Y3A4NjY8YnIgLz44NjY8YnIgLz5jc0lCTTg2NjwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+SUJNNzc1PC90ZD4KKyAgICAgICAgICA8dGQ+MjA4NzwvdGQ+CisgICAgICAgICAgPHRkPkhQIFBDTCA1IENvbXBhcmlzb24gR3VpZGUgKFAvTiA1MDIxLTAzMjkpIHBwIEItMTMsIDE5OTY8L3RkPgorICAgICAgICAgIDx0ZD5bSGV3bGV0dC1QYWNrYXJkIENvbXBhbnksICJIUCBQQ0wgNSBDb21wYXJpc29uIEd1aWRlIiwKKyhQL04gNTAyMS0wMzI5KSBwcCBCLTEzLCAxOTk2Ll08L3RkPgorICAgICAgICAgIDx0ZD5jcDc3NTxiciAvPmNzUEM3NzVCYWx0aWM8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPktPSTgtVTwvdGQ+CisgICAgICAgICAgPHRkPjIwODg8L3RkPgorICAgICAgICAgIDx0ZD4KKyAgICAgICAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvZ28vcmZjMjMxOSI+UkZDMjMxOTwvYT5dCisgICAgICA8L3RkPgorICAgICAgICAgIDx0ZD5bPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9nby9yZmMyMzE5Ij5SRkMyMzE5PC9hPl08L3RkPgorICAgICAgICAgIDx0ZD5jc0tPSThVPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5JQk0wMDg1ODwvdGQ+CisgICAgICAgICAgPHRkPjIwODk8L3RkPgorICAgICAgICAgIDx0ZD5JQk0gU2VlIFs8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2Fzc2lnbm1lbnRzL2NoYXJzZXQtcmVnL0lCTTAwODU4Ij5odHRwOi8vd3d3LmlhbmEub3JnL2Fzc2lnbm1lbnRzL2NoYXJzZXQtcmVnL0lCTTAwODU4PC9hPl0gICAgWzxhIGhyZWY9IiNUYW1lcl9NYWhkaSI+VGFtZXJfTWFoZGk8L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPkNDU0lEMDA4NTg8YnIgLz5DUDAwODU4PGJyIC8+UEMtTXVsdGlsaW5ndWFsLTg1MCtldXJvPGJyIC8+Y3NJQk0wMDg1ODwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+SUJNMDA5MjQ8L3RkPgorICAgICAgICAgIDx0ZD4yMDkwPC90ZD4KKyAgICAgICAgICA8dGQ+SUJNIFNlZSBbPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9jaGFyc2V0LXJlZy9JQk0wMDkyNCI+aHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9jaGFyc2V0LXJlZy9JQk0wMDkyNDwvYT5dICAgIFs8YSBocmVmPSIjVGFtZXJfTWFoZGkiPlRhbWVyX01haGRpPC9hPl08L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5DQ1NJRDAwOTI0PGJyIC8+Q1AwMDkyNDxiciAvPmViY2RpYy1MYXRpbjktLWV1cm88YnIgLz5jc0lCTTAwOTI0PC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5JQk0wMTE0MDwvdGQ+CisgICAgICAgICAgPHRkPjIwOTE8L3RkPgorICAgICAgICAgIDx0ZD5JQk0gU2VlIFs8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2Fzc2lnbm1lbnRzL2NoYXJzZXQtcmVnL0lCTTAxMTQwIj5odHRwOi8vd3d3LmlhbmEub3JnL2Fzc2lnbm1lbnRzL2NoYXJzZXQtcmVnL0lCTTAxMTQwPC9hPl0gICAgWzxhIGhyZWY9IiNUYW1lcl9NYWhkaSI+VGFtZXJfTWFoZGk8L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPkNDU0lEMDExNDA8YnIgLz5DUDAxMTQwPGJyIC8+ZWJjZGljLXVzLTM3K2V1cm88YnIgLz5jc0lCTTAxMTQwPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5JQk0wMTE0MTwvdGQ+CisgICAgICAgICAgPHRkPjIwOTI8L3RkPgorICAgICAgICAgIDx0ZD5JQk0gU2VlIFs8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2Fzc2lnbm1lbnRzL2NoYXJzZXQtcmVnL0lCTTAxMTQxIj5odHRwOi8vd3d3LmlhbmEub3JnL2Fzc2lnbm1lbnRzL2NoYXJzZXQtcmVnL0lCTTAxMTQxPC9hPl0gICAgWzxhIGhyZWY9IiNUYW1lcl9NYWhkaSI+VGFtZXJfTWFoZGk8L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPkNDU0lEMDExNDE8YnIgLz5DUDAxMTQxPGJyIC8+ZWJjZGljLWRlLTI3MytldXJvPGJyIC8+Y3NJQk0wMTE0MTwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+SUJNMDExNDI8L3RkPgorICAgICAgICAgIDx0ZD4yMDkzPC90ZD4KKyAgICAgICAgICA8dGQ+SUJNIFNlZSBbPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9jaGFyc2V0LXJlZy9JQk0wMTE0MiI+aHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9jaGFyc2V0LXJlZy9JQk0wMTE0MjwvYT5dICAgIFs8YSBocmVmPSIjVGFtZXJfTWFoZGkiPlRhbWVyX01haGRpPC9hPl08L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5DQ1NJRDAxMTQyPGJyIC8+Q1AwMTE0MjxiciAvPmViY2RpYy1kay0yNzcrZXVybzxiciAvPmViY2RpYy1uby0yNzcrZXVybzxiciAvPmNzSUJNMDExNDI8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPklCTTAxMTQzPC90ZD4KKyAgICAgICAgICA8dGQ+MjA5NDwvdGQ+CisgICAgICAgICAgPHRkPklCTSBTZWUgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMvY2hhcnNldC1yZWcvSUJNMDExNDMiPmh0dHA6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMvY2hhcnNldC1yZWcvSUJNMDExNDM8L2E+XSAgICBbPGEgaHJlZj0iI1RhbWVyX01haGRpIj5UYW1lcl9NYWhkaTwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+Q0NTSUQwMTE0MzxiciAvPkNQMDExNDM8YnIgLz5lYmNkaWMtZmktMjc4K2V1cm88YnIgLz5lYmNkaWMtc2UtMjc4K2V1cm88YnIgLz5jc0lCTTAxMTQzPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5JQk0wMTE0NDwvdGQ+CisgICAgICAgICAgPHRkPjIwOTU8L3RkPgorICAgICAgICAgIDx0ZD5JQk0gU2VlIFs8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2Fzc2lnbm1lbnRzL2NoYXJzZXQtcmVnL0lCTTAxMTQ0Ij5odHRwOi8vd3d3LmlhbmEub3JnL2Fzc2lnbm1lbnRzL2NoYXJzZXQtcmVnL0lCTTAxMTQ0PC9hPl0gICAgWzxhIGhyZWY9IiNUYW1lcl9NYWhkaSI+VGFtZXJfTWFoZGk8L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPkNDU0lEMDExNDQ8YnIgLz5DUDAxMTQ0PGJyIC8+ZWJjZGljLWl0LTI4MCtldXJvPGJyIC8+Y3NJQk0wMTE0NDwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+SUJNMDExNDU8L3RkPgorICAgICAgICAgIDx0ZD4yMDk2PC90ZD4KKyAgICAgICAgICA8dGQ+SUJNIFNlZSBbPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9jaGFyc2V0LXJlZy9JQk0wMTE0NSI+aHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9jaGFyc2V0LXJlZy9JQk0wMTE0NTwvYT5dICAgIFs8YSBocmVmPSIjVGFtZXJfTWFoZGkiPlRhbWVyX01haGRpPC9hPl08L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5DQ1NJRDAxMTQ1PGJyIC8+Q1AwMTE0NTxiciAvPmViY2RpYy1lcy0yODQrZXVybzxiciAvPmNzSUJNMDExNDU8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPklCTTAxMTQ2PC90ZD4KKyAgICAgICAgICA8dGQ+MjA5NzwvdGQ+CisgICAgICAgICAgPHRkPklCTSBTZWUgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMvY2hhcnNldC1yZWcvSUJNMDExNDYiPmh0dHA6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMvY2hhcnNldC1yZWcvSUJNMDExNDY8L2E+XSAgICBbPGEgaHJlZj0iI1RhbWVyX01haGRpIj5UYW1lcl9NYWhkaTwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+Q0NTSUQwMTE0NjxiciAvPkNQMDExNDY8YnIgLz5lYmNkaWMtZ2ItMjg1K2V1cm88YnIgLz5jc0lCTTAxMTQ2PC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5JQk0wMTE0NzwvdGQ+CisgICAgICAgICAgPHRkPjIwOTg8L3RkPgorICAgICAgICAgIDx0ZD5JQk0gU2VlIFs8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2Fzc2lnbm1lbnRzL2NoYXJzZXQtcmVnL0lCTTAxMTQ3Ij5odHRwOi8vd3d3LmlhbmEub3JnL2Fzc2lnbm1lbnRzL2NoYXJzZXQtcmVnL0lCTTAxMTQ3PC9hPl0gICAgWzxhIGhyZWY9IiNUYW1lcl9NYWhkaSI+VGFtZXJfTWFoZGk8L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPkNDU0lEMDExNDc8YnIgLz5DUDAxMTQ3PGJyIC8+ZWJjZGljLWZyLTI5NytldXJvPGJyIC8+Y3NJQk0wMTE0NzwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+SUJNMDExNDg8L3RkPgorICAgICAgICAgIDx0ZD4yMDk5PC90ZD4KKyAgICAgICAgICA8dGQ+SUJNIFNlZSBbPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9jaGFyc2V0LXJlZy9JQk0wMTE0OCI+aHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9jaGFyc2V0LXJlZy9JQk0wMTE0ODwvYT5dICAgIFs8YSBocmVmPSIjVGFtZXJfTWFoZGkiPlRhbWVyX01haGRpPC9hPl08L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5DQ1NJRDAxMTQ4PGJyIC8+Q1AwMTE0ODxiciAvPmViY2RpYy1pbnRlcm5hdGlvbmFsLTUwMCtldXJvPGJyIC8+Y3NJQk0wMTE0ODwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+SUJNMDExNDk8L3RkPgorICAgICAgICAgIDx0ZD4yMTAwPC90ZD4KKyAgICAgICAgICA8dGQ+SUJNIFNlZSBbPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9jaGFyc2V0LXJlZy9JQk0wMTE0OSI+aHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9jaGFyc2V0LXJlZy9JQk0wMTE0OTwvYT5dICAgIFs8YSBocmVmPSIjVGFtZXJfTWFoZGkiPlRhbWVyX01haGRpPC9hPl08L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5DQ1NJRDAxMTQ5PGJyIC8+Q1AwMTE0OTxiciAvPmViY2RpYy1pcy04NzErZXVybzxiciAvPmNzSUJNMDExNDk8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPkJpZzUtSEtTQ1M8L3RkPgorICAgICAgICAgIDx0ZD4yMTAxPC90ZD4KKyAgICAgICAgICA8dGQ+U2VlIFs8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2Fzc2lnbm1lbnRzL2NoYXJzZXQtcmVnL0JpZzUtSEtTQ1MiPmh0dHA6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMvY2hhcnNldC1yZWcvQmlnNS1IS1NDUzwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+WzxhIGhyZWY9IiNOaWNreV9ZaWNrIj5OaWNreV9ZaWNrPC9hPl08L3RkPgorICAgICAgICAgIDx0ZD5jc0JpZzVIS1NDUzwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+SUJNMTA0NzwvdGQ+CisgICAgICAgICAgPHRkPjIxMDI8L3RkPgorICAgICAgICAgIDx0ZD5JQk0xMDQ3IChFQkNESUMgTGF0aW4gMS9PcGVuIFN5c3RlbXMpCitbPGEgaHJlZj0iaHR0cDovL3d3dy0xLmlibS5jb20vc2VydmVycy9lc2VydmVyL2lzZXJpZXMvc29mdHdhcmUvZ2xvYmFsaXphdGlvbi9wZGYvY3AwMTA0N3oucGRmIj5odHRwOi8vd3d3LTEuaWJtLmNvbS9zZXJ2ZXJzL2VzZXJ2ZXIvaXNlcmllcy9zb2Z0d2FyZS9nbG9iYWxpemF0aW9uL3BkZi9jcDAxMDQ3ei5wZGY8L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPls8YSBocmVmPSIjUmV1ZWxfUm9icmlnYWRvIj5SZXVlbF9Sb2JyaWdhZG88L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPklCTS0xMDQ3PGJyIC8+Y3NJQk0xMDQ3PC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5QVENQMTU0PC90ZD4KKyAgICAgICAgICA8dGQ+MjEwMzwvdGQ+CisgICAgICAgICAgPHRkPlNlZSBbPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9jaGFyc2V0LXJlZy9QVENQMTU0Ij5odHRwOi8vd3d3LmlhbmEub3JnL2Fzc2lnbm1lbnRzL2NoYXJzZXQtcmVnL1BUQ1AxNTQ8L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPls8YSBocmVmPSIjQWxleGFuZGVyX1Vza292Ij5BbGV4YW5kZXJfVXNrb3Y8L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPmNzUFRDUDE1NDxiciAvPlBUMTU0PGJyIC8+Q1AxNTQ8YnIgLz5DeXJpbGxpYy1Bc2lhbjxiciAvPmNzUFRDUDE1NDwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+QW1pZ2EtMTI1MTwvdGQ+CisgICAgICAgICAgPHRkPjIxMDQ8L3RkPgorICAgICAgICAgIDx0ZD5TZWUgWzxhIGhyZWY9Imh0dHA6Ly93d3cuYW1pZ2EudWx0cmFuZXQucnUvQW1pZ2EtMTI1MS5odG1sIj5odHRwOi8vd3d3LmFtaWdhLnVsdHJhbmV0LnJ1L0FtaWdhLTEyNTEuaHRtbDwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+QW1pMTI1MTxiciAvPkFtaWdhMTI1MTxiciAvPkFtaS0xMjUxPGJyIC8+Y3NBbWlnYTEyNTEKKyhBbGlhc2VzIGFyZSBwcm92aWRlZCBmb3IgaGlzdG9yaWNhbCByZWFzb25zIGFuZCBzaG91bGQgbm90IGJlIHVzZWQpIFtNYWx5c2hldl08L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPktPSTctc3dpdGNoZWQ8L3RkPgorICAgICAgICAgIDx0ZD4yMTA1PC90ZD4KKyAgICAgICAgICA8dGQ+U2VlIFs8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2Fzc2lnbm1lbnRzL2NoYXJzZXQtcmVnL0tPSTctc3dpdGNoZWQiPmh0dHA6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMvY2hhcnNldC1yZWcvS09JNy1zd2l0Y2hlZDwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+Y3NLT0k3c3dpdGNoZWQ8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPkJSRjwvdGQ+CisgICAgICAgICAgPHRkPjIxMDY8L3RkPgorICAgICAgICAgIDx0ZD5TZWUgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMvY2hhcnNldC1yZWcvQlJGIj5odHRwOi8vd3d3LmlhbmEub3JnL2Fzc2lnbm1lbnRzL2NoYXJzZXQtcmVnL0JSRjwvYT5dICAgICAgICAgICAgICAgICAgICBbPGEgaHJlZj0iI1NhbXVlbF9UaGliYXVsdCI+U2FtdWVsX1RoaWJhdWx0PC9hPl08L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5jc0JSRjwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+VFNDSUk8L3RkPgorICAgICAgICAgIDx0ZD4yMTA3PC90ZD4KKyAgICAgICAgICA8dGQ+U2VlIFs8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2Fzc2lnbm1lbnRzL2NoYXJzZXQtcmVnL1RTQ0lJIj5odHRwOi8vd3d3LmlhbmEub3JnL2Fzc2lnbm1lbnRzL2NoYXJzZXQtcmVnL1RTQ0lJPC9hPl0gICAgICAgICAgIFs8YSBocmVmPSIjS3VwcHVzd2FteV9LYWx5YW5hc3UiPkt1cHB1c3dhbXlfS2FseWFuYXN1PC9hPl08L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5jc1RTQ0lJPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5DUDUxOTMyPC90ZD4KKyAgICAgICAgICA8dGQ+MjEwODwvdGQ+CisgICAgICAgICAgPHRkPlNlZSBbPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9jaGFyc2V0LXJlZy9DUDUxOTMyIj5odHRwOi8vd3d3LmlhbmEub3JnL2Fzc2lnbm1lbnRzL2NoYXJzZXQtcmVnL0NQNTE5MzI8L2E+XSAgICAgICAgICAgICAgICAgIFs8YSBocmVmPSIjWXVpX05hcnVzZSI+WXVpX05hcnVzZTwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+Y3NDUDUxOTMyPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD53aW5kb3dzLTg3NDwvdGQ+CisgICAgICAgICAgPHRkPjIxMDk8L3RkPgorICAgICAgICAgIDx0ZD5TZWUgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMvY2hhcnNldC1yZWcvd2luZG93cy04NzQiPmh0dHA6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMvY2hhcnNldC1yZWcvd2luZG93cy04NzQ8L2E+XSAgICAgICAgICAgICAgWzxhIGhyZWY9IiNTaGF3bl9TdGVlbGUiPlNoYXduX1N0ZWVsZTwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+Y3N3aW5kb3dzODc0PC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD53aW5kb3dzLTEyNTA8L3RkPgorICAgICAgICAgIDx0ZD4yMjUwPC90ZD4KKyAgICAgICAgICA8dGQ+TWljcm9zb2Z0ICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9jaGFyc2V0LXJlZy93aW5kb3dzLTEyNTAiPmh0dHA6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMvY2hhcnNldC1yZWcvd2luZG93cy0xMjUwPC9hPl0gWzxhIGhyZWY9IiNLYXR5YV9MYXpoaW50c2V2YSI+S2F0eWFfTGF6aGludHNldmE8L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPmNzd2luZG93czEyNTA8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPndpbmRvd3MtMTI1MTwvdGQ+CisgICAgICAgICAgPHRkPjIyNTE8L3RkPgorICAgICAgICAgIDx0ZD5NaWNyb3NvZnQgIFs8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2Fzc2lnbm1lbnRzL2NoYXJzZXQtcmVnL3dpbmRvd3MtMTI1MSI+aHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9jaGFyc2V0LXJlZy93aW5kb3dzLTEyNTE8L2E+XSBbPGEgaHJlZj0iI0thdHlhX0xhemhpbnRzZXZhIj5LYXR5YV9MYXpoaW50c2V2YTwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+Y3N3aW5kb3dzMTI1MTwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+d2luZG93cy0xMjUyPC90ZD4KKyAgICAgICAgICA8dGQ+MjI1MjwvdGQ+CisgICAgICAgICAgPHRkPk1pY3Jvc29mdCAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMvY2hhcnNldC1yZWcvd2luZG93cy0xMjUyIj5odHRwOi8vd3d3LmlhbmEub3JnL2Fzc2lnbm1lbnRzL2NoYXJzZXQtcmVnL3dpbmRvd3MtMTI1MjwvYT5dICAgICAgIFs8YSBocmVmPSIjQ2hyaXNfV2VuZHQiPkNocmlzX1dlbmR0PC9hPl08L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5jc3dpbmRvd3MxMjUyPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD53aW5kb3dzLTEyNTM8L3RkPgorICAgICAgICAgIDx0ZD4yMjUzPC90ZD4KKyAgICAgICAgICA8dGQ+TWljcm9zb2Z0ICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9jaGFyc2V0LXJlZy93aW5kb3dzLTEyNTMiPmh0dHA6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMvY2hhcnNldC1yZWcvd2luZG93cy0xMjUzPC9hPl0gWzxhIGhyZWY9IiNLYXR5YV9MYXpoaW50c2V2YSI+S2F0eWFfTGF6aGludHNldmE8L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPmNzd2luZG93czEyNTM8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPndpbmRvd3MtMTI1NDwvdGQ+CisgICAgICAgICAgPHRkPjIyNTQ8L3RkPgorICAgICAgICAgIDx0ZD5NaWNyb3NvZnQgIFs8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2Fzc2lnbm1lbnRzL2NoYXJzZXQtcmVnL3dpbmRvd3MtMTI1NCI+aHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9jaGFyc2V0LXJlZy93aW5kb3dzLTEyNTQ8L2E+XSBbPGEgaHJlZj0iI0thdHlhX0xhemhpbnRzZXZhIj5LYXR5YV9MYXpoaW50c2V2YTwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+Y3N3aW5kb3dzMTI1NDwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+d2luZG93cy0xMjU1PC90ZD4KKyAgICAgICAgICA8dGQ+MjI1NTwvdGQ+CisgICAgICAgICAgPHRkPk1pY3Jvc29mdCAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMvY2hhcnNldC1yZWcvd2luZG93cy0xMjU1Ij5odHRwOi8vd3d3LmlhbmEub3JnL2Fzc2lnbm1lbnRzL2NoYXJzZXQtcmVnL3dpbmRvd3MtMTI1NTwvYT5dIFs8YSBocmVmPSIjS2F0eWFfTGF6aGludHNldmEiPkthdHlhX0xhemhpbnRzZXZhPC9hPl08L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5jc3dpbmRvd3MxMjU1PC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD53aW5kb3dzLTEyNTY8L3RkPgorICAgICAgICAgIDx0ZD4yMjU2PC90ZD4KKyAgICAgICAgICA8dGQ+TWljcm9zb2Z0ICBbPGEgaHJlZj0iaHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9jaGFyc2V0LXJlZy93aW5kb3dzLTEyNTYiPmh0dHA6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMvY2hhcnNldC1yZWcvd2luZG93cy0xMjU2PC9hPl0gWzxhIGhyZWY9IiNLYXR5YV9MYXpoaW50c2V2YSI+S2F0eWFfTGF6aGludHNldmE8L2E+XTwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPmNzd2luZG93czEyNTY8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPndpbmRvd3MtMTI1NzwvdGQ+CisgICAgICAgICAgPHRkPjIyNTc8L3RkPgorICAgICAgICAgIDx0ZD5NaWNyb3NvZnQgIFs8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2Fzc2lnbm1lbnRzL2NoYXJzZXQtcmVnL3dpbmRvd3MtMTI1NyI+aHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9jaGFyc2V0LXJlZy93aW5kb3dzLTEyNTc8L2E+XSBbPGEgaHJlZj0iI0thdHlhX0xhemhpbnRzZXZhIj5LYXR5YV9MYXpoaW50c2V2YTwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+Y3N3aW5kb3dzMTI1NzwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+d2luZG93cy0xMjU4PC90ZD4KKyAgICAgICAgICA8dGQ+MjI1ODwvdGQ+CisgICAgICAgICAgPHRkPk1pY3Jvc29mdCAgWzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMvY2hhcnNldC1yZWcvd2luZG93cy0xMjU4Ij5odHRwOi8vd3d3LmlhbmEub3JnL2Fzc2lnbm1lbnRzL2NoYXJzZXQtcmVnL3dpbmRvd3MtMTI1ODwvYT5dIFs8YSBocmVmPSIjS2F0eWFfTGF6aGludHNldmEiPkthdHlhX0xhemhpbnRzZXZhPC9hPl08L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5jc3dpbmRvd3MxMjU4PC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5USVMtNjIwPC90ZD4KKyAgICAgICAgICA8dGQ+MjI1OTwvdGQ+CisgICAgICAgICAgPHRkPlRoYWkgSW5kdXN0cmlhbCBTdGFuZGFyZHMgSW5zdGl0dXRlIChUSVNJKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzxhIGhyZWY9IiNUcmluX1RhbnRzZXR0aGkiPlRyaW5fVGFudHNldHRoaTwvYT5dPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICA8dGQ+Y3NUSVM2MjA8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgPHRkPkNQNTAyMjA8L3RkPgorICAgICAgICAgIDx0ZD4yMjYwPC90ZD4KKyAgICAgICAgICA8dGQ+U2VlIFs8YSBocmVmPSJodHRwOi8vd3d3LmlhbmEub3JnL2Fzc2lnbm1lbnRzL2NoYXJzZXQtcmVnL0NQNTAyMjAiPmh0dHA6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMvY2hhcnNldC1yZWcvQ1A1MDIyMDwvYT5dICAgICAgICAgICAgICAgICAgWzxhIGhyZWY9IiNZdWlfTmFydXNlIj5ZdWlfTmFydXNlPC9hPl08L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgIDx0ZD5jc0NQNTAyMjA8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgPC90Ym9keT4KKyAgICA8L3RhYmxlPgorICAgIDxoMSBjbGFzcz0icGVvcGxlIj5QZW9wbGU8L2gxPgorICAgIDx0YWJsZSBjbGFzcz0ic29ydGFibGUiPgorICAgICAgPHRoZWFkPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRoPklEPC90aD4KKyAgICAgICAgICA8dGg+TmFtZTwvdGg+CisgICAgICAgICAgPHRoPkNvbnRhY3QgVVJJPC90aD4KKyAgICAgICAgICA8dGg+TGFzdCBVcGRhdGVkPC90aD4KKyAgICAgICAgPC90cj4KKyAgICAgIDwvdGhlYWQ+CisgICAgICA8dGJvZHk+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+CisgICAgICAgICAgICA8YSBuYW1lPSJBbGV4YW5kZXJfVXNrb3YiIGlkPSJBbGV4YW5kZXJfVXNrb3YiPltBbGV4YW5kZXJfVXNrb3ZdPC9hPgorICAgICAgICAgIDwvdGQ+CisgICAgICAgICAgPHRkPkFsZXhhbmRlciBVc2tvdjwvdGQ+CisgICAgICAgICAgPHRkPgorICAgICAgICAgICAgPGEgaHJlZj0ibWFpbHRvOmF1c2tvdiZhbXA7aWRjLmt6Ij5tYWlsdG86YXVza292JmFtcDtpZGMua3o8L2E+CisgICAgICAgICAgPC90ZD4KKyAgICAgICAgICA8dGQ+MjAwMi0wOTwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+CisgICAgICAgICAgICA8YSBuYW1lPSJBbGV4ZWlfVmVyZW1lZXYiIGlkPSJBbGV4ZWlfVmVyZW1lZXYiPltBbGV4ZWlfVmVyZW1lZXZdPC9hPgorICAgICAgICAgIDwvdGQ+CisgICAgICAgICAgPHRkPkFsZXhlaSBWZXJlbWVldjwvdGQ+CisgICAgICAgICAgPHRkPgorICAgICAgICAgICAgPGEgaHJlZj0ibWFpbHRvOkFsZXhleS5WZXJlbWVldiZhbXA7b3JhY2xlLmNvbSI+bWFpbHRvOkFsZXhleS5WZXJlbWVldiZhbXA7b3JhY2xlLmNvbTwvYT4KKyAgICAgICAgICA8L3RkPgorICAgICAgICAgIDx0ZD4yMDA2LTEyLTA3PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD4KKyAgICAgICAgICAgIDxhIG5hbWU9IkNocmlzX1dlbmR0IiBpZD0iQ2hyaXNfV2VuZHQiPltDaHJpc19XZW5kdF08L2E+CisgICAgICAgICAgPC90ZD4KKyAgICAgICAgICA8dGQ+Q2hyaXMgV2VuZHQ8L3RkPgorICAgICAgICAgIDx0ZD4KKyAgICAgICAgICAgIDxhIGhyZWY9Im1haWx0bzpjaHJpc3R3JmFtcDttaWNyb3NvZnQuY29tIj5tYWlsdG86Y2hyaXN0dyZhbXA7bWljcm9zb2Z0LmNvbTwvYT4KKyAgICAgICAgICA8L3RkPgorICAgICAgICAgIDx0ZD4xOTk5LTEyPC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD4KKyAgICAgICAgICAgIDxhIG5hbWU9IkhhbmtfTnVzc2JhY2hlciIgaWQ9IkhhbmtfTnVzc2JhY2hlciI+W0hhbmtfTnVzc2JhY2hlcl08L2E+CisgICAgICAgICAgPC90ZD4KKyAgICAgICAgICA8dGQ+SGFuayBOdXNzYmFjaGVyPC90ZD4KKyAgICAgICAgICA8dGQ+CisgICAgICAgICAgICA8YSBocmVmPSJtYWlsdG86aGFuayZhbXA7dm0udGF1LmFjLmlsIj5tYWlsdG86aGFuayZhbXA7dm0udGF1LmFjLmlsPC9hPgorICAgICAgICAgIDwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+CisgICAgICAgICAgICA8YSBuYW1lPSJJQU5BIiBpZD0iSUFOQSI+W0lBTkFdPC9hPgorICAgICAgICAgIDwvdGQ+CisgICAgICAgICAgPHRkPkludGVybmV0IEFzc2lnbmVkIE51bWJlcnMgQXV0aG9yaXR5PC90ZD4KKyAgICAgICAgICA8dGQ+CisgICAgICAgICAgICA8YSBocmVmPSJtYWlsdG86aWFuYSZhbXA7aWFuYS5vcmciPm1haWx0bzppYW5hJmFtcDtpYW5hLm9yZzwvYT4KKyAgICAgICAgICA8L3RkPgorICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPgorICAgICAgICAgICAgPGEgbmFtZT0iSnVuX011cmFpIiBpZD0iSnVuX011cmFpIj5bSnVuX011cmFpXTwvYT4KKyAgICAgICAgICA8L3RkPgorICAgICAgICAgIDx0ZD5KdW4gTXVyYWk8L3RkPgorICAgICAgICAgIDx0ZD4KKyAgICAgICAgICAgIDxhIGhyZWY9Im1haWx0bzpqdW4mYW1wO3dpZGUuYWQuanAiPm1haWx0bzpqdW4mYW1wO3dpZGUuYWQuanA8L2E+CisgICAgICAgICAgPC90ZD4KKyAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD4KKyAgICAgICAgICAgIDxhIG5hbWU9IkthdHlhX0xhemhpbnRzZXZhIiBpZD0iS2F0eWFfTGF6aGludHNldmEiPltLYXR5YV9MYXpoaW50c2V2YV08L2E+CisgICAgICAgICAgPC90ZD4KKyAgICAgICAgICA8dGQ+S2F0eWEgTGF6aGludHNldmE8L3RkPgorICAgICAgICAgIDx0ZD4KKyAgICAgICAgICAgIDxhIGhyZWY9Im1haWx0bzprYXR5YWwmYW1wO21pY3Jvc29mdC5jb20iPm1haWx0bzprYXR5YWwmYW1wO21pY3Jvc29mdC5jb208L2E+CisgICAgICAgICAgPC90ZD4KKyAgICAgICAgICA8dGQ+MTk5Ni0wNTwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+CisgICAgICAgICAgICA8YSBuYW1lPSJLZWxkX1NpbW9uc2VuIiBpZD0iS2VsZF9TaW1vbnNlbiI+W0tlbGRfU2ltb25zZW5dPC9hPgorICAgICAgICAgIDwvdGQ+CisgICAgICAgICAgPHRkPktlbGQgU2ltb25zZW48L3RkPgorICAgICAgICAgIDx0ZD4KKyAgICAgICAgICAgIDxhIGhyZWY9Im1haWx0bzpLZWxkLlNpbW9uc2VuJmFtcDtka3V1Zy5kayI+bWFpbHRvOktlbGQuU2ltb25zZW4mYW1wO2RrdXVnLmRrPC9hPgorICAgICAgICAgIDwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+CisgICAgICAgICAgICA8YSBuYW1lPSJLZWxkX1NpbW9uc2VuXzIiIGlkPSJLZWxkX1NpbW9uc2VuXzIiPltLZWxkX1NpbW9uc2VuXzJdPC9hPgorICAgICAgICAgIDwvdGQ+CisgICAgICAgICAgPHRkPktlbGQgU2ltb25zZW48L3RkPgorICAgICAgICAgIDx0ZD4KKyAgICAgICAgICAgIDxhIGhyZWY9Im1haWx0bzpLZWxkLlNpbW9uc2VuJmFtcDtyYXAuZGsiPm1haWx0bzpLZWxkLlNpbW9uc2VuJmFtcDtyYXAuZGs8L2E+CisgICAgICAgICAgPC90ZD4KKyAgICAgICAgICA8dGQ+MjAwMC0wODwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+CisgICAgICAgICAgICA8YSBuYW1lPSJLdXBwdXN3YW15X0thbHlhbmFzdSIgaWQ9Ikt1cHB1c3dhbXlfS2FseWFuYXN1Ij5bS3VwcHVzd2FteV9LYWx5YW5hc3VdPC9hPgorICAgICAgICAgIDwvdGQ+CisgICAgICAgICAgPHRkPkt1cHB1c3dhbXkgS2FseWFuYXN1bmRhcmFtPC90ZD4KKyAgICAgICAgICA8dGQ+CisgICAgICAgICAgICA8YSBocmVmPSJtYWlsdG86a2FseWFuLmdlbyZhbXA7eWFob28uY29tIj5tYWlsdG86a2FseWFuLmdlbyZhbXA7eWFob28uY29tPC9hPgorICAgICAgICAgIDwvdGQ+CisgICAgICAgICAgPHRkPjIwMDctMDUtMTQ8L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPgorICAgICAgICAgICAgPGEgbmFtZT0iTWFya19EYXZpcyIgaWQ9Ik1hcmtfRGF2aXMiPltNYXJrX0RhdmlzXTwvYT4KKyAgICAgICAgICA8L3RkPgorICAgICAgICAgIDx0ZD5NYXJrIERhdmlzPC90ZD4KKyAgICAgICAgICA8dGQ+CisgICAgICAgICAgICA8YSBocmVmPSJtYWlsdG86bWFyayZhbXA7dW5pY29kZS5vcmciPm1haWx0bzptYXJrJmFtcDt1bmljb2RlLm9yZzwvYT4KKyAgICAgICAgICA8L3RkPgorICAgICAgICAgIDx0ZD4yMDAyLTA0PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD4KKyAgICAgICAgICAgIDxhIG5hbWU9Ik1hcmt1c19TY2hlcmVyIiBpZD0iTWFya3VzX1NjaGVyZXIiPltNYXJrdXNfU2NoZXJlcl08L2E+CisgICAgICAgICAgPC90ZD4KKyAgICAgICAgICA8dGQ+TWFya3VzIFNjaGVyZXI8L3RkPgorICAgICAgICAgIDx0ZD4KKyAgICAgICAgICAgIDxhIGhyZWY9Im1haWx0bzptYXJrdXMuc2NoZXJlciZhbXA7anRjc3YuY29tIj5tYWlsdG86bWFya3VzLnNjaGVyZXImYW1wO2p0Y3N2LmNvbTwvYT4KKyAgICAgICAgICA8L3RkPgorICAgICAgICAgIDx0ZD4yMDAyLTA5PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD4KKyAgICAgICAgICAgIDxhIG5hbWU9Ik1hc2F0YWthX09odGEiIGlkPSJNYXNhdGFrYV9PaHRhIj5bTWFzYXRha2FfT2h0YV08L2E+CisgICAgICAgICAgPC90ZD4KKyAgICAgICAgICA8dGQ+TWFzYXRha2EgT2h0YTwvdGQ+CisgICAgICAgICAgPHRkPgorICAgICAgICAgICAgPGEgaHJlZj0ibWFpbHRvOm1vaHRhJmFtcDtjYy50aXRlY2guYWMuanAiPm1haWx0bzptb2h0YSZhbXA7Y2MudGl0ZWNoLmFjLmpwPC9hPgorICAgICAgICAgIDwvdGQ+CisgICAgICAgICAgPHRkPjE5OTUtMDc8L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPgorICAgICAgICAgICAgPGEgbmFtZT0iTmlja3lfWWljayIgaWQ9Ik5pY2t5X1lpY2siPltOaWNreV9ZaWNrXTwvYT4KKyAgICAgICAgICA8L3RkPgorICAgICAgICAgIDx0ZD5OaWNreSBZaWNrPC90ZD4KKyAgICAgICAgICA8dGQ+CisgICAgICAgICAgICA8YSBocmVmPSJtYWlsdG86Y2xpYWMmYW1wO2l0c2QuZ2NuLmdvdi5oayI+bWFpbHRvOmNsaWFjJmFtcDtpdHNkLmdjbi5nb3YuaGs8L2E+CisgICAgICAgICAgPC90ZD4KKyAgICAgICAgICA8dGQ+MjAwMC0xMDwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+CisgICAgICAgICAgICA8YSBuYW1lPSJSZXVlbF9Sb2JyaWdhZG8iIGlkPSJSZXVlbF9Sb2JyaWdhZG8iPltSZXVlbF9Sb2JyaWdhZG9dPC9hPgorICAgICAgICAgIDwvdGQ+CisgICAgICAgICAgPHRkPlJldWVsIFJvYnJpZ2FkbzwvdGQ+CisgICAgICAgICAgPHRkPgorICAgICAgICAgICAgPGEgaHJlZj0ibWFpbHRvOnJldWVsciZhbXA7Y2EuaWJtLmNvbSI+bWFpbHRvOnJldWVsciZhbXA7Y2EuaWJtLmNvbTwvYT4KKyAgICAgICAgICA8L3RkPgorICAgICAgICAgIDx0ZD4yMDAyLTA5PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD4KKyAgICAgICAgICAgIDxhIG5hbWU9IlJpY2tfUG9uZCIgaWQ9IlJpY2tfUG9uZCI+W1JpY2tfUG9uZF08L2E+CisgICAgICAgICAgPC90ZD4KKyAgICAgICAgICA8dGQ+UmljayBQb25kPC90ZD4KKyAgICAgICAgICA8dGQ+CisgICAgICAgICAgICA8YSBocmVmPSJtYWlsdG86cmlja3BvbmQmYW1wO3ZuZXQuaWJtLmNvbSI+bWFpbHRvOnJpY2twb25kJmFtcDt2bmV0LmlibS5jb208L2E+CisgICAgICAgICAgPC90ZD4KKyAgICAgICAgICA8dGQ+MTk5Ny0wMzwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+CisgICAgICAgICAgICA8YSBuYW1lPSJTYWlyYW5fTV9LaWtrYXJpbiIgaWQ9IlNhaXJhbl9NX0tpa2thcmluIj5bU2FpcmFuX01fS2lra2FyaW5dPC9hPgorICAgICAgICAgIDwvdGQ+CisgICAgICAgICAgPHRkPlNhaXJhbiBNLiBLaWtrYXJpbjwvdGQ+CisgICAgICAgICAgPHRkPgorICAgICAgICAgICAgPGEgaHJlZj0ibWFpbHRvOnNhaXJhbiZhbXA7c2NpLmt6Ij5tYWlsdG86c2FpcmFuJmFtcDtzY2kua3o8L2E+CisgICAgICAgICAgPC90ZD4KKyAgICAgICAgICA8dGQ+MjAwNi0xMi0wNzwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+CisgICAgICAgICAgICA8YSBuYW1lPSJTYW11ZWxfVGhpYmF1bHQiIGlkPSJTYW11ZWxfVGhpYmF1bHQiPltTYW11ZWxfVGhpYmF1bHRdPC9hPgorICAgICAgICAgIDwvdGQ+CisgICAgICAgICAgPHRkPlNhbXVlbCBUaGliYXVsdDwvdGQ+CisgICAgICAgICAgPHRkPgorICAgICAgICAgICAgPGEgaHJlZj0ibWFpbHRvOnNhbXVlbC50aGliYXVsdCZhbXA7ZW5zLWx5b24ub3JnIj5tYWlsdG86c2FtdWVsLnRoaWJhdWx0JmFtcDtlbnMtbHlvbi5vcmc8L2E+CisgICAgICAgICAgPC90ZD4KKyAgICAgICAgICA8dGQ+MjAwNi0xMi0wNzwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+CisgICAgICAgICAgICA8YSBuYW1lPSJTaGF3bl9TdGVlbGUiIGlkPSJTaGF3bl9TdGVlbGUiPltTaGF3bl9TdGVlbGVdPC9hPgorICAgICAgICAgIDwvdGQ+CisgICAgICAgICAgPHRkPlNoYXduIFN0ZWVsZTwvdGQ+CisgICAgICAgICAgPHRkPgorICAgICAgICAgICAgPGEgaHJlZj0ibWFpbHRvOlNoYXduLlN0ZWVsZSZhbXA7bWljcm9zb2Z0LmNvbSI+bWFpbHRvOlNoYXduLlN0ZWVsZSZhbXA7bWljcm9zb2Z0LmNvbTwvYT4KKyAgICAgICAgICA8L3RkPgorICAgICAgICAgIDx0ZD4yMDEwLTExLTA0PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZD4KKyAgICAgICAgICAgIDxhIG5hbWU9IlRhbWVyX01haGRpIiBpZD0iVGFtZXJfTWFoZGkiPltUYW1lcl9NYWhkaV08L2E+CisgICAgICAgICAgPC90ZD4KKyAgICAgICAgICA8dGQ+VGFtZXIgTWFoZGk8L3RkPgorICAgICAgICAgIDx0ZD4KKyAgICAgICAgICAgIDxhIGhyZWY9Im1haWx0bzp0YW1lciZhbXA7Y2EuaWJtLmNvbSI+bWFpbHRvOnRhbWVyJmFtcDtjYS5pYm0uY29tPC9hPgorICAgICAgICAgIDwvdGQ+CisgICAgICAgICAgPHRkPjIwMDAtMDg8L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkPgorICAgICAgICAgICAgPGEgbmFtZT0iVG9ieV9QaGlwcHMiIGlkPSJUb2J5X1BoaXBwcyI+W1RvYnlfUGhpcHBzXTwvYT4KKyAgICAgICAgICA8L3RkPgorICAgICAgICAgIDx0ZD5Ub2J5IFBoaXBwczwvdGQ+CisgICAgICAgICAgPHRkPgorICAgICAgICAgICAgPGEgaHJlZj0ibWFpbHRvOnRwaGlwcHMmYW1wO3Blb3BsZXNvZnQuY29tIj5tYWlsdG86dHBoaXBwcyZhbXA7cGVvcGxlc29mdC5jb208L2E+CisgICAgICAgICAgPC90ZD4KKyAgICAgICAgICA8dGQ+MjAwMi0wMzwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+CisgICAgICAgICAgICA8YSBuYW1lPSJUcmluX1RhbnRzZXR0aGkiIGlkPSJUcmluX1RhbnRzZXR0aGkiPltUcmluX1RhbnRzZXR0aGldPC9hPgorICAgICAgICAgIDwvdGQ+CisgICAgICAgICAgPHRkPlRyaW4gVGFudHNldHRoaTwvdGQ+CisgICAgICAgICAgPHRkPgorICAgICAgICAgICAgPGEgaHJlZj0ibWFpbHRvOnRyaW4mYW1wO21vemFydC5pbmV0LmNvLnRoIj5tYWlsdG86dHJpbiZhbXA7bW96YXJ0LmluZXQuY28udGg8L2E+CisgICAgICAgICAgPC90ZD4KKyAgICAgICAgICA8dGQ+MTk5OC0wOTwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+CisgICAgICAgICAgICA8YSBuYW1lPSJWbGFkYXNfVHVtYXNvbmlzIiBpZD0iVmxhZGFzX1R1bWFzb25pcyI+W1ZsYWRhc19UdW1hc29uaXNdPC9hPgorICAgICAgICAgIDwvdGQ+CisgICAgICAgICAgPHRkPlZsYWRhcyBUdW1hc29uaXM8L3RkPgorICAgICAgICAgIDx0ZD4KKyAgICAgICAgICAgIDxhIGhyZWY9Im1haWx0bzp2bGFkYXMudHVtYXNvbmlzJmFtcDttYWYudnUubHQiPm1haWx0bzp2bGFkYXMudHVtYXNvbmlzJmFtcDttYWYudnUubHQ8L2E+CisgICAgICAgICAgPC90ZD4KKyAgICAgICAgICA8dGQ+MjAwMC0wODwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+CisgICAgICAgICAgICA8YSBuYW1lPSJXb29oeW9uZ19DaG9pIiBpZD0iV29vaHlvbmdfQ2hvaSI+W1dvb2h5b25nX0Nob2ldPC9hPgorICAgICAgICAgIDwvdGQ+CisgICAgICAgICAgPHRkPldvb2h5b25nIENob2k8L3RkPgorICAgICAgICAgIDx0ZD4KKyAgICAgICAgICAgIDxhIGhyZWY9Im1haWx0bzp3aGNob2kmYW1wO2Nvc21vcy5rYWlzdC5hYy5rciI+bWFpbHRvOndoY2hvaSZhbXA7Y29zbW9zLmthaXN0LmFjLmtyPC9hPgorICAgICAgICAgIDwvdGQ+CisgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+CisgICAgICAgICAgICA8YSBuYW1lPSJZdWlfTmFydXNlIiBpZD0iWXVpX05hcnVzZSI+W1l1aV9OYXJ1c2VdPC9hPgorICAgICAgICAgIDwvdGQ+CisgICAgICAgICAgPHRkPll1aSBOYXJ1c2U8L3RkPgorICAgICAgICAgIDx0ZD4KKyAgICAgICAgICAgIDxhIGhyZWY9Im1haWx0bzpuYXJ1c2UmYW1wO2FpcmVtaXguanAiPm1haWx0bzpuYXJ1c2UmYW1wO2FpcmVtaXguanA8L2E+CisgICAgICAgICAgPC90ZD4KKyAgICAgICAgICA8dGQ+MjAxMS0wOS0yMzwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICA8L3Rib2R5PgorICAgIDwvdGFibGU+CisgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvb3M0MDAvaWNvbnYvaWFuYXRhYmxlcy5jIGIvbGlieG1sMi9vczQwMC9pY29udi9pYW5hdGFibGVzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDRiMjljNgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvb3M0MDAvaWNvbnYvaWFuYXRhYmxlcy5jCkBAIC0wLDAgKzEsNDYwOSBAQAorLyoqCisqKiogICAgIENoYXJhY3RlciBzZXQgbmFtZXMgdGFibGUuCisqKiogICAgIEdlbmVyYXRlZCBieSBwcm9ncmFtIEJMRENTTkRGQSBmcm9tIElBTkEgY2hhcmFjdGVyIHNldCBhc3NpZ25tZW50IGZpbGUKKyoqKiAgICAgICAgICBhbmQgQ0NTSUQvTUlCZW51bSBlcXVpdmFsZW5jZSBmaWxlLgorKioqICAgICAqKiogRG8gbm90IGVkaXQgYnkgaGFuZCAqKioKKyoqLworCisvKioKKyoqKiAgICAgQ0NTSUQgICBGb3IgYXJnICAgUmVjb2duaXplZCBuYW1lLgorKioqICAgICA2MjI0NSAgICAgIFggICAgICBJQk1DQ1NJRDYyMjQ1IGlibS02MjI0NQorKioqICAgICA2MjIzNSAgICAgIFggICAgICBJQk1DQ1NJRDYyMjM1IGlibS02MjIzNQorKioqICAgICA2MjIyNCAgICAgIFggICAgICBJQk1DQ1NJRDYyMjI0IGlibS02MjIyNAorKioqICAgICA2MjIxMSAgICAgIFggICAgICBJQk1DQ1NJRDYyMjExIGlibS02MjIxMQorKioqICAgICA2MTk1MiAgICAgIFggICAgICBJQk1DQ1NJRDYxOTUyIGlibS02MTk1MgorKioqICAgICA1NzM0NSAgICAgICAgICAgICBJQk1DQ1NJRDU3MzQ1IGlibS01NzM0NQorKioqICAgICAzMzcyMiAgICAgIFggICAgICBjc0VVQ1BrZEZtdEphcGFuZXNlCisqKiogICAgICAgICAgICAgICAgICAgICAgIEV4dGVuZGVkX1VOSVhfQ29kZV9QYWNrZWRfRm9ybWF0X2Zvcl9KYXBhbmVzZSBFVUMtSlAKKyoqKiAgICAgICAgICAgICAgICAgICAgICAgaWFuYS0xOCBJQk1DQ1NJRDMzNzIyIGlibS0zMzcyMgorKioqICAgICAyODcwOSAgICAgIFggICAgICBJQk1DQ1NJRDI4NzA5IGlibS0yODcwOQorKioqICAgICAyNTU0NiAgICAgICAgICAgICBJQk1DQ1NJRDI1NTQ2IGlibS0yNTU0NgorKioqICAgICAxNzM1NCAgICAgIFggICAgICBJQk1DQ1NJRDE3MzU0IGlibS0xNzM1NAorKioqICAgICAxMzQ4OCAgICAgIFggICAgICBjc1VuaWNvZGUgSVNPLTEwNjQ2LVVDUy0yIFVDUzIgVUNTLTIgaWFuYS0xMDAwCisqKiogICAgICAgICAgICAgICAgICAgICAgIElCTUNDU0lEMTM0ODggaWJtLTEzNDg4CisqKiogICAgIDEzMTI0ICAgICAgWCAgICAgIElCTUNDU0lEMTMxMjQgaWJtLTEzMTI0CisqKiogICAgIDEzMTIxICAgICAgWCAgICAgIElCTUNDU0lEMTMxMjEgaWJtLTEzMTIxCisqKiogICAgIDEyNzA4ICAgICAgWCAgICAgIElCTUNDU0lEMTI3MDggaWJtLTEyNzA4CisqKiogICAgICA5NDQ5ICAgICAgICAgICAgIGNzd2luZG93czEyNTcgd2luZG93cy0xMjU3IGlhbmEtMjI1NyBJQk1DQ1NJRDA5NDQ5CisqKiogICAgICAgICAgICAgICAgICAgICAgIGlibS05NDQ5CisqKiogICAgICA5NDQ4ICAgICAgICAgICAgIGNzd2luZG93czEyNTYgd2luZG93cy0xMjU2IGlhbmEtMjI1NiBJQk1DQ1NJRDA5NDQ4CisqKiogICAgICAgICAgICAgICAgICAgICAgIGlibS05NDQ4CisqKiogICAgICA5NDQ3ICAgICAgICAgICAgIGNzd2luZG93czEyNTUgd2luZG93cy0xMjU1IGlhbmEtMjI1NSBJQk1DQ1NJRDA5NDQ3CisqKiogICAgICAgICAgICAgICAgICAgICAgIGlibS05NDQ3CisqKiogICAgICA5MDY2ICAgICAgWCAgICAgIElCTUNDU0lEMDkwNjYgaWJtLTkwNjYKKyoqKiAgICAgIDkwNTYgICAgICBYICAgICAgSUJNQ0NTSUQwOTA1NiBpYm0tOTA1NgorKioqICAgICAgOTAzMCAgICAgIFggICAgICBJQk1DQ1NJRDA5MDMwIGlibS05MDMwCisqKiogICAgICA4NjEyICAgICAgWCAgICAgIElCTUNDU0lEMDg2MTIgaWJtLTg2MTIKKyoqKiAgICAgIDU0NzggICAgICAgICAgICAgY3NJU081OEdCMjMxMjgwIGlzby1pci01OCBHQl8yMzEyLTgwIGNoaW5lc2UgaWFuYS01NworKioqICAgICAgICAgICAgICAgICAgICAgICBJQk1DQ1NJRDA1NDc4IGlibS01NDc4CisqKiogICAgICA1MTIzICAgICAgWCAgICAgIElCTUNDU0lEMDUxMjMgaWJtLTUxMjMKKyoqKiAgICAgIDUzNTAgICAgICBYICAgICAgY3N3aW5kb3dzMTI1NCB3aW5kb3dzLTEyNTQgaWFuYS0yMjU0IElCTUNDU0lEMDUzNTAKKyoqKiAgICAgICAgICAgICAgICAgICAgICAgaWJtLTUzNTAKKyoqKiAgICAgIDUzNDkgICAgICBYICAgICAgY3N3aW5kb3dzMTI1MyB3aW5kb3dzLTEyNTMgaWFuYS0yMjUzIElCTUNDU0lEMDUzNDkKKyoqKiAgICAgICAgICAgICAgICAgICAgICAgaWJtLTUzNDkKKyoqKiAgICAgIDUzNDggICAgICBYICAgICAgY3N3aW5kb3dzMTI1MiB3aW5kb3dzLTEyNTIgaWFuYS0yMjUyIElCTUNDU0lEMDUzNDgKKyoqKiAgICAgICAgICAgICAgICAgICAgICAgaWJtLTUzNDgKKyoqKiAgICAgIDUzNDcgICAgICBYICAgICAgY3N3aW5kb3dzMTI1MSB3aW5kb3dzLTEyNTEgaWFuYS0yMjUxIElCTUNDU0lEMDUzNDcKKyoqKiAgICAgICAgICAgICAgICAgICAgICAgaWJtLTUzNDcKKyoqKiAgICAgIDUzNDYgICAgICBYICAgICAgY3N3aW5kb3dzMTI1MCB3aW5kb3dzLTEyNTAgaWFuYS0yMjUwIElCTUNDU0lEMDUzNDYKKyoqKiAgICAgICAgICAgICAgICAgICAgICAgaWJtLTUzNDYKKyoqKiAgICAgIDUzNTQgICAgICAgICAgICAgY3N3aW5kb3dzMTI1OCB3aW5kb3dzLTEyNTggaWFuYS0yMjU4IElCTUNDU0lEMDUzNTQKKyoqKiAgICAgICAgICAgICAgICAgICAgICAgaWJtLTUzNTQKKyoqKiAgICAgIDUwNTUgICAgICBYICAgICAgSUJNQ0NTSUQwNTA1NSBpYm0tNTA1NQorKioqICAgICAgNTA1NCAgICAgIFggICAgICBJQk1DQ1NJRDA1MDU0IGlibS01MDU0CisqKiogICAgICA1MDUzICAgICAgWCAgICAgIElCTUNDU0lEMDUwNTMgaWJtLTUwNTMKKyoqKiAgICAgIDUwNTIgICAgICBYICAgICAgSUJNQ0NTSUQwNTA1MiBpYm0tNTA1MgorKioqICAgICAgNTA1MCAgICAgIFggICAgICBJQk1DQ1NJRDA1MDUwIGlibS01MDUwCisqKiogICAgICA1MDM1ICAgICAgWCAgICAgIElCTUNDU0lEMDUwMzUgaWJtLTUwMzUKKyoqKiAgICAgIDUwMjYgICAgICBYICAgICAgSUJNQ0NTSUQwNTAyNiBpYm0tNTAyNgorKioqICAgICAgNDk3MSAgICAgIFggICAgICBJQk1DQ1NJRDA0OTcxIGlibS00OTcxCisqKiogICAgICA0OTY1ICAgICAgICAgICAgIElCTUNDU0lEMDQ5NjUgaWJtLTQ5NjUKKyoqKiAgICAgIDQ5NjAgICAgICBYICAgICAgSUJNQ0NTSUQwNDk2MCBpYm0tNDk2MAorKioqICAgICAgNDk1MyAgICAgICAgICAgICBJQk1DQ1NJRDA0OTUzIGlibS00OTUzCisqKiogICAgICA0OTUyICAgICAgWCAgICAgIElCTUNDU0lEMDQ5NTIgaWJtLTQ5NTIKKyoqKiAgICAgIDQ5NTEgICAgICBYICAgICAgSUJNQ0NTSUQwNDk1MSBpYm0tNDk1MQorKioqICAgICAgNDk0OCAgICAgIFggICAgICBJQk1DQ1NJRDA0OTQ4IGlibS00OTQ4CisqKiogICAgICA0Mzk2ICAgICAgWCAgICAgIElCTUNDU0lEMDQzOTYgaWJtLTQzOTYKKyoqKiAgICAgIDEzOTkgICAgICBYICAgICAgSUJNQ0NTSUQwMTM5OSBpYm0tMTM5OQorKioqICAgICAgMTM5MiAgICAgIFggICAgICBJQk1DQ1NJRDAxMzkyIGlibS0xMzkyCisqKiogICAgICAxMzg4ICAgICAgWCAgICAgIElCTUNDU0lEMDEzODggaWJtLTEzODgKKyoqKiAgICAgIDEzODYgICAgICBYICAgICAgY3NHQksgd2luZG93cy05MzYgTVM5MzYgQ1A5MzYgR0JLIGlhbmEtMTEzCisqKiogICAgICAgICAgICAgICAgICAgICAgIElCTUNDU0lEMDEzODYgaWJtLTEzODYKKyoqKiAgICAgIDEzODMgICAgICBYICAgICAgY3NHQjIzMTIgR0IyMzEyIEVVQy1DTiBpYW5hLTIwMjUgSUJNQ0NTSUQwMTM4MworKioqICAgICAgICAgICAgICAgICAgICAgICBpYm0tMTM4MworKioqICAgICAgMTM4MSAgICAgIFggICAgICBJQk1DQ1NJRDAxMzgxIGlibS0xMzgxCisqKiogICAgICAxMzgwICAgICAgWCAgICAgIElCTUNDU0lEMDEzODAgaWJtLTEzODAKKyoqKiAgICAgIDEzNzUgICAgICAgICAgICAgY3NCaWc1SEtTQ1MgQmlnNS1IS1NDUyBpYW5hLTIxMDEgSUJNQ0NTSUQwMTM3NQorKioqICAgICAgICAgICAgICAgICAgICAgICBpYm0tMTM3NQorKioqICAgICAgMTM3MyAgICAgICAgICAgICBJQk1DQ1NJRDAxMzczIGlibS0xMzczCisqKiogICAgICAxMzY0ICAgICAgWCAgICAgIElCTUNDU0lEMDEzNjQgaWJtLTEzNjQKKyoqKiAgICAgIDEzNjMgICAgICBYICAgICAgY3NLU0M1NjAxMTk4NyBLU0NfNTYwMSBLU19DXzU2MDEtMTk4OSBpc28taXItMTQ5CisqKiogICAgICAgICAgICAgICAgICAgICAgIEtTX0NfNTYwMS0xOTg3IGtvcmVhbiBpYW5hLTM2IElCTUNDU0lEMDEzNjMgaWJtLTEzNjMKKyoqKiAgICAgIDEyODMgICAgICBYICAgICAgSUJNQ0NTSUQwMTI4MyBpYm0tMTI4MworKioqICAgICAgMTI4MiAgICAgIFggICAgICBJQk1DQ1NJRDAxMjgyIGlibS0xMjgyCisqKiogICAgICAxMjgxICAgICAgWCAgICAgIElCTUNDU0lEMDEyODEgaWJtLTEyODEKKyoqKiAgICAgIDEyODAgICAgICBYICAgICAgSUJNQ0NTSUQwMTI4MCBpYm0tMTI4MAorKioqICAgICAgMTI3NiAgICAgICAgICAgICBjc0Fkb2JlU3RhbmRhcmRFbmNvZGluZyBBZG9iZS1TdGFuZGFyZC1FbmNvZGluZworKioqICAgICAgICAgICAgICAgICAgICAgICBpYW5hLTIwMDUgSUJNQ0NTSUQwMTI3NiBpYm0tMTI3NgorKioqICAgICAgMTI3NSAgICAgIFggICAgICBJQk1DQ1NJRDAxMjc1IGlibS0xMjc1CisqKiogICAgICAxMjU4ICAgICAgWCAgICAgIElCTUNDU0lEMDEyNTggaWJtLTEyNTgKKyoqKiAgICAgIDEyNTcgICAgICBYICAgICAgSUJNQ0NTSUQwMTI1NyBpYm0tMTI1NworKioqICAgICAgMTI1NiAgICAgIFggICAgICBJQk1DQ1NJRDAxMjU2IGlibS0xMjU2CisqKiogICAgICAxMjU1ICAgICAgWCAgICAgIElCTUNDU0lEMDEyNTUgaWJtLTEyNTUKKyoqKiAgICAgIDEyNTQgICAgICBYICAgICAgSUJNQ0NTSUQwMTI1NCBpYm0tMTI1NAorKioqICAgICAgMTI1MyAgICAgIFggICAgICBJQk1DQ1NJRDAxMjUzIGlibS0xMjUzCisqKiogICAgICAxMjUyICAgICAgWCAgICAgIGNzV2luZG93czMxTGF0aW4xIElTTy04ODU5LTEtV2luZG93cy0zLjEtTGF0aW4tMQorKioqICAgICAgICAgICAgICAgICAgICAgICBpYW5hLTIwMDEgSUJNQ0NTSUQwMTI1MiBpYm0tMTI1MgorKioqICAgICAgMTI1MSAgICAgIFggICAgICBJQk1DQ1NJRDAxMjUxIGlibS0xMjUxCisqKiogICAgICAxMjUwICAgICAgWCAgICAgIGNzV2luZG93czMxTGF0aW4yIElTTy04ODU5LTItV2luZG93cy1MYXRpbi0yIGlhbmEtMjAwMgorKioqICAgICAgICAgICAgICAgICAgICAgICBJQk1DQ1NJRDAxMjUwIGlibS0xMjUwCisqKiogICAgICAxMjM1ICAgICAgICAgICAgIGNzVVRGMzJMRSBVVEYtMzJMRSBVVEYtMzItTEUgVVRGMzJMRSBVVEYzMi1MRQorKioqICAgICAgICAgICAgICAgICAgICAgICBpYW5hLTEwMTkgSUJNQ0NTSUQwMTIzNSBpYm0tMTIzNQorKioqICAgICAgMTIzMyAgICAgICAgICAgICBjc1VURjMyQkUgVVRGLTMyQkUgVVRGLTMyLUJFIFVURjMyQkUgVVRGMzItQkUKKyoqKiAgICAgICAgICAgICAgICAgICAgICAgaWFuYS0xMDE4IElCTUNDU0lEMDEyMzMgaWJtLTEyMzMKKyoqKiAgICAgIDEyMDggICAgICBYICAgICAgY3NVVEY4IFVURi04IFVURjggaWFuYS0xMDYgSUJNQ0NTSUQwMTIwOCBpYm0tMTIwOAorKioqICAgICAgMTIwMyAgICAgICAgICAgICBjc1VURjE2TEUgVVRGLTE2TEUgVVRGLTE2LUxFIFVURjE2TEUgVVRGMTYtTEUKKyoqKiAgICAgICAgICAgICAgICAgICAgICAgaWFuYS0xMDE0IElCTUNDU0lEMDEyMDMgaWJtLTEyMDMKKyoqKiAgICAgIDEyMDEgICAgICAgICAgICAgY3NVVEYxNkJFIFVURi0xNkJFIFVURi0xNi1CRSBVVEYxNkJFIFVURjE2LUJFCisqKiogICAgICAgICAgICAgICAgICAgICAgIGlhbmEtMTAxMyBJQk1DQ1NJRDAxMjAxIGlibS0xMjAxCisqKiogICAgICAxMTY0ICAgICAgWCAgICAgIElCTUNDU0lEMDExNjQgaWJtLTExNjQKKyoqKiAgICAgIDExNjAgICAgICBYICAgICAgSUJNQ0NTSUQwMTE2MCBpYm0tMTE2MAorKioqICAgICAgMTE1OCAgICAgIFggICAgICBJQk1DQ1NJRDAxMTU4IGlibS0xMTU4CisqKiogICAgICAxMTU3ICAgICAgWCAgICAgIElCTUNDU0lEMDExNTcgaWJtLTExNTcKKyoqKiAgICAgIDExNTYgICAgICBYICAgICAgSUJNQ0NTSUQwMTE1NiBpYm0tMTE1NgorKioqICAgICAgMTE1NSAgICAgIFggICAgICBJQk1DQ1NJRDAxMTU1IGlibS0xMTU1CisqKiogICAgICAxMTU0ICAgICAgWCAgICAgIElCTUNDU0lEMDExNTQgaWJtLTExNTQKKyoqKiAgICAgIDExNTMgICAgICBYICAgICAgSUJNQ0NTSUQwMTE1MyBpYm0tMTE1MworKioqICAgICAgMTE0OSAgICAgIFggICAgICBjc0lCTTAxMTQ5IGViY2RpYy1pcy04NzErZXVybyBDUDAxMTQ5IENDU0lEMDExNDkKKyoqKiAgICAgICAgICAgICAgICAgICAgICAgSUJNMDExNDkgaWFuYS0yMTAwIElCTUNDU0lEMDExNDkgaWJtLTExNDkKKyoqKiAgICAgIDExNDggICAgICBYICAgICAgY3NJQk0wMTE0OCBlYmNkaWMtaW50ZXJuYXRpb25hbC01MDArZXVybyBDUDAxMTQ4CisqKiogICAgICAgICAgICAgICAgICAgICAgIENDU0lEMDExNDggSUJNMDExNDggaWFuYS0yMDk5IElCTUNDU0lEMDExNDggaWJtLTExNDgKKyoqKiAgICAgIDExNDcgICAgICBYICAgICAgY3NJQk0wMTE0NyBlYmNkaWMtZnItMjk3K2V1cm8gQ1AwMTE0NyBDQ1NJRDAxMTQ3CisqKiogICAgICAgICAgICAgICAgICAgICAgIElCTTAxMTQ3IGlhbmEtMjA5OCBJQk1DQ1NJRDAxMTQ3IGlibS0xMTQ3CisqKiogICAgICAxMTQ2ICAgICAgWCAgICAgIGNzSUJNMDExNDYgZWJjZGljLWdiLTI4NStldXJvIENQMDExNDYgQ0NTSUQwMTE0NgorKioqICAgICAgICAgICAgICAgICAgICAgICBJQk0wMTE0NiBpYW5hLTIwOTcgSUJNQ0NTSUQwMTE0NiBpYm0tMTE0NgorKioqICAgICAgMTE0NSAgICAgIFggICAgICBjc0lCTTAxMTQ1IGViY2RpYy1lcy0yODQrZXVybyBDUDAxMTQ1IENDU0lEMDExNDUKKyoqKiAgICAgICAgICAgICAgICAgICAgICAgSUJNMDExNDUgaWFuYS0yMDk2IElCTUNDU0lEMDExNDUgaWJtLTExNDUKKyoqKiAgICAgIDExNDQgICAgICBYICAgICAgY3NJQk0wMTE0NCBlYmNkaWMtaXQtMjgwK2V1cm8gQ1AwMTE0NCBDQ1NJRDAxMTQ0CisqKiogICAgICAgICAgICAgICAgICAgICAgIElCTTAxMTQ0IGlhbmEtMjA5NSBJQk1DQ1NJRDAxMTQ0IGlibS0xMTQ0CisqKiogICAgICAxMTQzICAgICAgWCAgICAgIGNzSUJNMDExNDMgZWJjZGljLXNlLTI3OCtldXJvIGViY2RpYy1maS0yNzgrZXVybworKioqICAgICAgICAgICAgICAgICAgICAgICBDUDAxMTQzIENDU0lEMDExNDMgSUJNMDExNDMgaWFuYS0yMDk0IElCTUNDU0lEMDExNDMKKyoqKiAgICAgICAgICAgICAgICAgICAgICAgaWJtLTExNDMKKyoqKiAgICAgIDExNDIgICAgICBYICAgICAgY3NJQk0wMTE0MiBlYmNkaWMtbm8tMjc3K2V1cm8gZWJjZGljLWRrLTI3NytldXJvCisqKiogICAgICAgICAgICAgICAgICAgICAgIENQMDExNDIgQ0NTSUQwMTE0MiBJQk0wMTE0MiBpYW5hLTIwOTMgSUJNQ0NTSUQwMTE0MgorKioqICAgICAgICAgICAgICAgICAgICAgICBpYm0tMTE0MgorKioqICAgICAgMTE0MSAgICAgIFggICAgICBjc0lCTTAxMTQxIGViY2RpYy1kZS0yNzMrZXVybyBDUDAxMTQxIENDU0lEMDExNDEKKyoqKiAgICAgICAgICAgICAgICAgICAgICAgSUJNMDExNDEgaWFuYS0yMDkyIElCTUNDU0lEMDExNDEgaWJtLTExNDEKKyoqKiAgICAgIDExNDAgICAgICBYICAgICAgY3NJQk0wMTE0MCBlYmNkaWMtdXMtMzcrZXVybyBDUDAxMTQwIENDU0lEMDExNDAKKyoqKiAgICAgICAgICAgICAgICAgICAgICAgSUJNMDExNDAgaWFuYS0yMDkxIElCTUNDU0lEMDExNDAgaWJtLTExNDAKKyoqKiAgICAgIDExMzcgICAgICBYICAgICAgSUJNQ0NTSUQwMTEzNyBpYm0tMTEzNworKioqICAgICAgMTEzMyAgICAgICAgICAgICBJQk1DQ1NJRDAxMTMzIGlibS0xMTMzCisqKiogICAgICAxMTMyICAgICAgWCAgICAgIElCTUNDU0lEMDExMzIgaWJtLTExMzIKKyoqKiAgICAgIDExMzAgICAgICBYICAgICAgSUJNQ0NTSUQwMTEzMCBpYm0tMTEzMAorKioqICAgICAgMTEyOSAgICAgIFggICAgICBJQk1DQ1NJRDAxMTI5IGlibS0xMTI5CisqKiogICAgICAxMTIzICAgICAgWCAgICAgIElCTUNDU0lEMDExMjMgaWJtLTExMjMKKyoqKiAgICAgIDExMjIgICAgICBYICAgICAgSUJNQ0NTSUQwMTEyMiBpYm0tMTEyMgorKioqICAgICAgMTExNSAgICAgICAgICAgICBJQk1DQ1NJRDAxMTE1IGlibS0xMTE1CisqKiogICAgICAxMTE0ICAgICAgICAgICAgIElCTUNDU0lEMDExMTQgaWJtLTExMTQKKyoqKiAgICAgIDExMTIgICAgICBYICAgICAgSUJNQ0NTSUQwMTExMiBpYm0tMTExMgorKioqICAgICAgMTA5OCAgICAgIFggICAgICBJQk1DQ1NJRDAxMDk4IGlibS0xMDk4CisqKiogICAgICAxMDk3ICAgICAgWCAgICAgIElCTUNDU0lEMDEwOTcgaWJtLTEwOTcKKyoqKiAgICAgIDEwODkgICAgICBYICAgICAgY3NJU09MYXRpbkFyYWJpYyBhcmFiaWMgQVNNTy03MDggRUNNQS0xMTQgSVNPXzg4NTktNgorKioqICAgICAgICAgICAgICAgICAgICAgICBpc28taXItMTI3IElTT184ODU5LTY6MTk4NyBJU08tODg1OS02IGlhbmEtOQorKioqICAgICAgICAgICAgICAgICAgICAgICBJQk1DQ1NJRDAxMDg5IGlibS0xMDg5CisqKiogICAgICAxMDg4ICAgICAgICAgICAgIElCTUNDU0lEMDEwODggaWJtLTEwODgKKyoqKiAgICAgIDEwNTEgICAgICBYICAgICAgY3NIUFJvbWFuOCByOCByb21hbjggaHAtcm9tYW44IGlhbmEtMjAwNCBJQk1DQ1NJRDAxMDUxCisqKiogICAgICAgICAgICAgICAgICAgICAgIGlibS0xMDUxCisqKiogICAgICAxMDQ3ICAgICAgWCAgICAgIGNzSUJNMTA0NyBJQk0tMTA0NyBJQk0xMDQ3IGlhbmEtMjEwMiBJQk1DQ1NJRDAxMDQ3CisqKiogICAgICAgICAgICAgICAgICAgICAgIGlibS0xMDQ3CisqKiogICAgICAxMDQ2ICAgICAgWCAgICAgIElCTUNDU0lEMDEwNDYgaWJtLTEwNDYKKyoqKiAgICAgIDEwNDMgICAgICAgICAgICAgSUJNQ0NTSUQwMTA0MyBpYm0tMTA0MworKioqICAgICAgMTA0MiAgICAgICAgICAgICBJQk1DQ1NJRDAxMDQyIGlibS0xMDQyCisqKiogICAgICAxMDQxICAgICAgICAgICAgIElCTUNDU0lEMDEwNDEgaWJtLTEwNDEKKyoqKiAgICAgIDEwNDAgICAgICAgICAgICAgSUJNQ0NTSUQwMTA0MCBpYm0tMTA0MAorKioqICAgICAgMTAyNyAgICAgIFggICAgICBJQk1DQ1NJRDAxMDI3IGlibS0xMDI3CisqKiogICAgICAxMDI2ICAgICAgWCAgICAgIGNzSUJNMTAyNiBDUDEwMjYgSUJNMTAyNiBpYW5hLTIwNjMgSUJNQ0NTSUQwMTAyNgorKioqICAgICAgICAgICAgICAgICAgICAgICBpYm0tMTAyNgorKioqICAgICAgMTAyNSAgICAgIFggICAgICBJQk1DQ1NJRDAxMDI1IGlibS0xMDI1CisqKiogICAgICAxMDE5ICAgICAgWCAgICAgIElCTUNDU0lEMDEwMTkgaWJtLTEwMTkKKyoqKiAgICAgIDEwMTggICAgICBYICAgICAgSUJNQ0NTSUQwMTAxOCBpYm0tMTAxOAorKioqICAgICAgMTAxNyAgICAgIFggICAgICBJQk1DQ1NJRDAxMDE3IGlibS0xMDE3CisqKiogICAgICAxMDE2ICAgICAgWCAgICAgIElCTUNDU0lEMDEwMTYgaWJtLTEwMTYKKyoqKiAgICAgIDEwMTUgICAgICBYICAgICAgSUJNQ0NTSUQwMTAxNSBpYm0tMTAxNQorKioqICAgICAgMTAxNCAgICAgIFggICAgICBJQk1DQ1NJRDAxMDE0IGlibS0xMDE0CisqKiogICAgICAxMDEzICAgICAgWCAgICAgIElCTUNDU0lEMDEwMTMgaWJtLTEwMTMKKyoqKiAgICAgIDEwMTIgICAgICBYICAgICAgSUJNQ0NTSUQwMTAxMiBpYm0tMTAxMgorKioqICAgICAgMTAxMSAgICAgIFggICAgICBJQk1DQ1NJRDAxMDExIGlibS0xMDExCisqKiogICAgICAxMDEwICAgICAgWCAgICAgIElCTUNDU0lEMDEwMTAgaWJtLTEwMTAKKyoqKiAgICAgIDEwMDkgICAgICBYICAgICAgSUJNQ0NTSUQwMTAwOSBpYm0tMTAwOQorKioqICAgICAgMTAwOCAgICAgICAgICAgICBJQk1DQ1NJRDAxMDA4IGlibS0xMDA4CisqKiogICAgICAgOTcwICAgICAgWCAgICAgIGNzRVVDS1IgRVVDLUtSIGlhbmEtMzggSUJNQ0NTSUQwMDk3MCBpYm0tOTcwCisqKiogICAgICAgOTY1ICAgICAgWCAgICAgIElCTUNDU0lEMDA5NjUgaWJtLTk2NQorKioqICAgICAgIDk2NCAgICAgIFggICAgICBJQk1DQ1NJRDAwOTY0IGlibS05NjQKKyoqKiAgICAgICA5NTkgICAgICBYICAgICAgSUJNQ0NTSUQwMDk1OSBpYm0tOTU5CisqKiogICAgICAgOTU4ICAgICAgWCAgICAgIElCTUNDU0lEMDA5NTggaWJtLTk1OAorKioqICAgICAgIDk1NyAgICAgIFggICAgICBJQk1DQ1NJRDAwOTU3IGlibS05NTcKKyoqKiAgICAgICA5NTYgICAgICBYICAgICAgSUJNQ0NTSUQwMDk1NiBpYm0tOTU2CisqKiogICAgICAgOTUxICAgICAgWCAgICAgIElCTUNDU0lEMDA5NTEgaWJtLTk1MQorKioqICAgICAgIDk1MCAgICAgIFggICAgICBJQk1DQ1NJRDAwOTUwIGlibS05NTAKKyoqKiAgICAgICA5NDkgICAgICBYICAgICAgSUJNQ0NTSUQwMDk0OSBpYm0tOTQ5CisqKiogICAgICAgOTQ3ICAgICAgWCAgICAgIElCTUNDU0lEMDA5NDcgaWJtLTk0NworKioqICAgICAgIDk0NiAgICAgIFggICAgICBJQk1DQ1NJRDAwOTQ2IGlibS05NDYKKyoqKiAgICAgICA5NDQgICAgICBYICAgICAgSUJNQ0NTSUQwMDk0NCBpYm0tOTQ0CisqKiogICAgICAgOTQzICAgICAgWCAgICAgIGNzU2hpZnRKSVMgTVNfS2FuamkgU2hpZnRfSklTIGlhbmEtMTcgSUJNQ0NTSUQwMDk0MworKioqICAgICAgICAgICAgICAgICAgICAgICBpYm0tOTQzCisqKiogICAgICAgOTQyICAgICAgWCAgICAgIElCTUNDU0lEMDA5NDIgaWJtLTk0MgorKioqICAgICAgIDkzOSAgICAgIFggICAgICBJQk1DQ1NJRDAwOTM5IGlibS05MzkKKyoqKiAgICAgICA5MzggICAgICBYICAgICAgSUJNQ0NTSUQwMDkzOCBpYm0tOTM4CisqKiogICAgICAgOTM3ICAgICAgWCAgICAgIElCTUNDU0lEMDA5MzcgaWJtLTkzNworKioqICAgICAgIDkzNiAgICAgICAgICAgICBJQk1DQ1NJRDAwOTM2IGlibS05MzYKKyoqKiAgICAgICA5MzUgICAgICBYICAgICAgSUJNQ0NTSUQwMDkzNSBpYm0tOTM1CisqKiogICAgICAgOTM0ICAgICAgWCAgICAgIElCTUNDU0lEMDA5MzQgaWJtLTkzNAorKioqICAgICAgIDkzMyAgICAgIFggICAgICBJQk1DQ1NJRDAwOTMzIGlibS05MzMKKyoqKiAgICAgICA5MzIgICAgICBYICAgICAgSUJNQ0NTSUQwMDkzMiBpYm0tOTMyCisqKiogICAgICAgOTMwICAgICAgWCAgICAgIElCTUNDU0lEMDA5MzAgaWJtLTkzMAorKioqICAgICAgIDkyOCAgICAgIFggICAgICBJQk1DQ1NJRDAwOTI4IGlibS05MjgKKyoqKiAgICAgICA5MjcgICAgICBYICAgICAgSUJNQ0NTSUQwMDkyNyBpYm0tOTI3CisqKiogICAgICAgOTI2ICAgICAgWCAgICAgIElCTUNDU0lEMDA5MjYgaWJtLTkyNgorKioqICAgICAgIDkyNCAgICAgIFggICAgICBjc0lCTTAwOTI0IGViY2RpYy1MYXRpbjktLWV1cm8gQ1AwMDkyNCBDQ1NJRDAwOTI0CisqKiogICAgICAgICAgICAgICAgICAgICAgIElCTTAwOTI0IGlhbmEtMjA5MCBJQk1DQ1NJRDAwOTI0IGlibS05MjQKKyoqKiAgICAgICA5MjMgICAgICBYICAgICAgY3NJU084ODU5MTUgTGF0aW4tOSBJU09fODg1OS0xNSBJU08tODg1OS0xNSBpYW5hLTExMQorKioqICAgICAgICAgICAgICAgICAgICAgICBJQk1DQ1NJRDAwOTIzIGlibS05MjMKKyoqKiAgICAgICA5MjIgICAgICBYICAgICAgSUJNQ0NTSUQwMDkyMiBpYm0tOTIyCisqKiogICAgICAgOTIxICAgICAgWCAgICAgIGNzSVNPODg1OTEzIElTTy04ODU5LTEzIGlhbmEtMTA5IElCTUNDU0lEMDA5MjEgaWJtLTkyMQorKioqICAgICAgIDkyMCAgICAgIFggICAgICBjc0lTT0xhdGluNSBsNSBsYXRpbjUgSVNPXzg4NTktOSBpc28taXItMTQ4CisqKiogICAgICAgICAgICAgICAgICAgICAgIElTT184ODU5LTk6MTk4OSBJU08tODg1OS05IGlhbmEtMTIgSUJNQ0NTSUQwMDkyMAorKioqICAgICAgICAgICAgICAgICAgICAgICBpYm0tOTIwCisqKiogICAgICAgOTE4ICAgICAgWCAgICAgIGNzSUJNOTE4IGViY2RpYy1jcC1hcjIgQ1A5MTggSUJNOTE4IGlhbmEtMjA2MgorKioqICAgICAgICAgICAgICAgICAgICAgICBJQk1DQ1NJRDAwOTE4IGlibS05MTgKKyoqKiAgICAgICA5MTYgICAgICBYICAgICAgY3NJU09MYXRpbkhlYnJldyBoZWJyZXcgSVNPXzg4NTktOCBpc28taXItMTM4CisqKiogICAgICAgICAgICAgICAgICAgICAgIElTT184ODU5LTg6MTk4OCBJU08tODg1OS04IGlhbmEtMTEgSUJNQ0NTSUQwMDkxNgorKioqICAgICAgICAgICAgICAgICAgICAgICBpYm0tOTE2CisqKiogICAgICAgOTE1ICAgICAgWCAgICAgIGNzSVNPTGF0aW5DeXJpbGxpYyBjeXJpbGxpYyBJU09fODg1OS01IGlzby1pci0xNDQKKyoqKiAgICAgICAgICAgICAgICAgICAgICAgSVNPXzg4NTktNToxOTg4IElTTy04ODU5LTUgaWFuYS04IElCTUNDU0lEMDA5MTUKKyoqKiAgICAgICAgICAgICAgICAgICAgICAgaWJtLTkxNQorKioqICAgICAgIDkxNCAgICAgIFggICAgICBjc0lTT0xhdGluNCBsNCBsYXRpbjQgSVNPXzg4NTktNCBpc28taXItMTEwCisqKiogICAgICAgICAgICAgICAgICAgICAgIElTT184ODU5LTQ6MTk4OCBJU08tODg1OS00IGlhbmEtNyBJQk1DQ1NJRDAwOTE0CisqKiogICAgICAgICAgICAgICAgICAgICAgIGlibS05MTQKKyoqKiAgICAgICA5MTMgICAgICAgICAgICAgY3NJU09MYXRpbjMgbDMgbGF0aW4zIElTT184ODU5LTMgaXNvLWlyLTEwOQorKioqICAgICAgICAgICAgICAgICAgICAgICBJU09fODg1OS0zOjE5ODggSVNPLTg4NTktMyBpYW5hLTYgSUJNQ0NTSUQwMDkxMworKioqICAgICAgICAgICAgICAgICAgICAgICBpYm0tOTEzCisqKiogICAgICAgOTEyICAgICAgWCAgICAgIGNzSVNPTGF0aW4yIGwyIGxhdGluMiBJU09fODg1OS0yIGlzby1pci0xMDEKKyoqKiAgICAgICAgICAgICAgICAgICAgICAgSVNPXzg4NTktMjoxOTg3IElTTy04ODU5LTIgaWFuYS01IElCTUNDU0lEMDA5MTIKKyoqKiAgICAgICAgICAgICAgICAgICAgICAgaWJtLTkxMgorKioqICAgICAgIDkwNSAgICAgIFggICAgICBjc0lCTTkwNSBlYmNkaWMtY3AtdHIgQ1A5MDUgSUJNOTA1IGlhbmEtMjA2MQorKioqICAgICAgICAgICAgICAgICAgICAgICBJQk1DQ1NJRDAwOTA1IGlibS05MDUKKyoqKiAgICAgICA5MDQgICAgICAgICAgICAgY3NJQkJNOTA0IDkwNCBjcDkwNCBJQk05MDQgaWFuYS0yMDYwIElCTUNDU0lEMDA5MDQKKyoqKiAgICAgICAgICAgICAgICAgICAgICAgaWJtLTkwNAorKioqICAgICAgIDkwMyAgICAgICAgICAgICBjc0lCTTkwMyBjcDkwMyBJQk05MDMgaWFuYS0yMDU5IElCTUNDU0lEMDA5MDMgaWJtLTkwMworKioqICAgICAgIDg5NyAgICAgIFggICAgICBjc0hhbGZXaWR0aEthdGFrYW5hIFgwMjAxIEpJU19YMDIwMSBpYW5hLTE1CisqKiogICAgICAgICAgICAgICAgICAgICAgIElCTUNDU0lEMDA4OTcgaWJtLTg5NworKioqICAgICAgIDg5NiAgICAgICAgICAgICBJQk1DQ1NJRDAwODk2IGlibS04OTYKKyoqKiAgICAgICA4OTEgICAgICBYICAgICAgY3NJQk04OTEgY3A4OTEgSUJNODkxIGlhbmEtMjA1OCBJQk1DQ1NJRDAwODkxIGlibS04OTEKKyoqKiAgICAgICA4ODAgICAgICBYICAgICAgY3NJQk04ODAgRUJDRElDLUN5cmlsbGljIGNwODgwIElCTTg4MCBpYW5hLTIwNTcKKyoqKiAgICAgICAgICAgICAgICAgICAgICAgSUJNQ0NTSUQwMDg4MCBpYm0tODgwCisqKiogICAgICAgODc4ICAgICAgWCAgICAgIGNzS09JOFIgS09JOC1SIGlhbmEtMjA4NCBJQk1DQ1NJRDAwODc4IGlibS04NzgKKyoqKiAgICAgICA4NzUgICAgICBYICAgICAgSUJNQ0NTSUQwMDg3NSBpYm0tODc1CisqKiogICAgICAgODc0ICAgICAgWCAgICAgIGNzVElTNjIwIFRJUy02MjAgY3NFVUNUSCBldWNUSCBFVUMtVEg+IGlhbmEtMjI1OQorKioqICAgICAgICAgICAgICAgICAgICAgICBJQk1DQ1NJRDAwODc0IGlibS04NzQKKyoqKiAgICAgICA4NzEgICAgICBYICAgICAgY3NJQk04NzEgZWJjZGljLWNwLWlzIENQODcxIElCTTg3MSBpYW5hLTIwNTYKKyoqKiAgICAgICAgICAgICAgICAgICAgICAgSUJNQ0NTSUQwMDg3MSBpYm0tODcxCisqKiogICAgICAgODcwICAgICAgWCAgICAgIGNzSUJNODcwIGViY2RpYy1jcC15dSBlYmNkaWMtY3Atcm9lY2UgQ1A4NzAgSUJNODcwCisqKiogICAgICAgICAgICAgICAgICAgICAgIGlhbmEtMjA1NSBJQk1DQ1NJRDAwODcwIGlibS04NzAKKyoqKiAgICAgICA4NjkgICAgICBYICAgICAgY3NJQk04NjkgY3AtZ3IgODY5IGNwODY5IElCTTg2OSBpYW5hLTIwNTQKKyoqKiAgICAgICAgICAgICAgICAgICAgICAgSUJNQ0NTSUQwMDg2OSBpYm0tODY5CisqKiogICAgICAgODY4ICAgICAgWCAgICAgIGNzSUJNODY4IGNwLWFyIENQODY4IElCTTg2OCBpYW5hLTIwNTMgSUJNQ0NTSUQwMDg2OAorKioqICAgICAgICAgICAgICAgICAgICAgICBpYm0tODY4CisqKiogICAgICAgODY2ICAgICAgWCAgICAgIGNzSUJNODY2IDg2NiBjcDg2NiBJQk04NjYgaWFuYS0yMDg2IElCTUNDU0lEMDA4NjYKKyoqKiAgICAgICAgICAgICAgICAgICAgICAgaWJtLTg2NgorKioqICAgICAgIDg2NSAgICAgIFggICAgICBjc0lCTTg2NSA4NjUgY3A4NjUgSUJNODY1IGlhbmEtMjA1MiBJQk1DQ1NJRDAwODY1CisqKiogICAgICAgICAgICAgICAgICAgICAgIGlibS04NjUKKyoqKiAgICAgICA4NjQgICAgICBYICAgICAgY3NJQk04NjQgY3A4NjQgSUJNODY0IGlhbmEtMjA1MSBJQk1DQ1NJRDAwODY0IGlibS04NjQKKyoqKiAgICAgICA4NjMgICAgICBYICAgICAgY3NJQk04NjMgODYzIGNwODYzIElCTTg2MyBpYW5hLTIwNTAgSUJNQ0NTSUQwMDg2MworKioqICAgICAgICAgICAgICAgICAgICAgICBpYm0tODYzCisqKiogICAgICAgODYyICAgICAgWCAgICAgIGNzUEM4NjJMYXRpbkhlYnJldyA4NjIgY3A4NjIgSUJNODYyIGlhbmEtMjAxMworKioqICAgICAgICAgICAgICAgICAgICAgICBJQk1DQ1NJRDAwODYyIGlibS04NjIKKyoqKiAgICAgICA4NjEgICAgICBYICAgICAgY3NJQk04NjEgY3AtaXMgODYxIGNwODYxIElCTTg2MSBpYW5hLTIwNDkKKyoqKiAgICAgICAgICAgICAgICAgICAgICAgSUJNQ0NTSUQwMDg2MSBpYm0tODYxCisqKiogICAgICAgODYwICAgICAgWCAgICAgIGNzSUJNODYwIDg2MCBjcDg2MCBJQk04NjAgaWFuYS0yMDQ4IElCTUNDU0lEMDA4NjAKKyoqKiAgICAgICAgICAgICAgICAgICAgICAgaWJtLTg2MAorKioqICAgICAgIDg1OCAgICAgICAgICAgICBjc0lCTTAwODU4IFBDLU11bHRpbGluZ3VhbC04NTArZXVybyBDUDAwODU4IENDU0lEMDA4NTgKKyoqKiAgICAgICAgICAgICAgICAgICAgICAgSUJNMDA4NTggaWFuYS0yMDg5IElCTUNDU0lEMDA4NTggaWJtLTg1OAorKioqICAgICAgIDg1NyAgICAgIFggICAgICBjc0lCTTg1NyA4NTcgY3A4NTcgSUJNODU3IGlhbmEtMjA0NyBJQk1DQ1NJRDAwODU3CisqKiogICAgICAgICAgICAgICAgICAgICAgIGlibS04NTcKKyoqKiAgICAgICA4NTUgICAgICBYICAgICAgY3NJQk04NTUgODU1IGNwODU1IElCTTg1NSBpYW5hLTIwNDYgSUJNQ0NTSUQwMDg1NQorKioqICAgICAgICAgICAgICAgICAgICAgICBpYm0tODU1CisqKiogICAgICAgODUyICAgICAgWCAgICAgIGNzUENwODUyIDg1MiBjcDg1MiBJQk04NTIgaWFuYS0yMDEwIElCTUNDU0lEMDA4NTIKKyoqKiAgICAgICAgICAgICAgICAgICAgICAgaWJtLTg1MgorKioqICAgICAgIDg1MSAgICAgIFggICAgICBjc0lCTTg1MSA4NTEgY3A4NTEgSUJNODUxIGlhbmEtMjA0NSBJQk1DQ1NJRDAwODUxCisqKiogICAgICAgICAgICAgICAgICAgICAgIGlibS04NTEKKyoqKiAgICAgICA4NTAgICAgICBYICAgICAgY3NQQzg1ME11bHRpbGluZ3VhbCA4NTAgY3A4NTAgSUJNODUwIGlhbmEtMjAwOQorKioqICAgICAgICAgICAgICAgICAgICAgICBJQk1DQ1NJRDAwODUwIGlibS04NTAKKyoqKiAgICAgICA4MzggICAgICBYICAgICAgY3NJQk1UaGFpIElCTS1UaGFpIGlhbmEtMjAxNiBJQk1DQ1NJRDAwODM4IGlibS04MzgKKyoqKiAgICAgICA4MzcgICAgICBYICAgICAgSUJNQ0NTSUQwMDgzNyBpYm0tODM3CisqKiogICAgICAgODM2ICAgICAgWCAgICAgIElCTUNDU0lEMDA4MzYgaWJtLTgzNgorKioqICAgICAgIDgzNSAgICAgIFggICAgICBJQk1DQ1NJRDAwODM1IGlibS04MzUKKyoqKiAgICAgICA4MzMgICAgICBYICAgICAgSUJNQ0NTSUQwMDgzMyBpYm0tODMzCisqKiogICAgICAgODE5ICAgICAgWCAgICAgIGNzSVNPTGF0aW4xIENQODE5IElCTTgxOSBsMSBsYXRpbjEgSVNPXzg4NTktMQorKioqICAgICAgICAgICAgICAgICAgICAgICBpc28taXItMTAwIElTT184ODU5LTE6MTk4NyBJU08tODg1OS0xIGlhbmEtNAorKioqICAgICAgICAgICAgICAgICAgICAgICBJQk1DQ1NJRDAwODE5IGlibS04MTkKKyoqKiAgICAgICA4MTMgICAgICBYICAgICAgY3NJU09MYXRpbkdyZWVrIGdyZWVrOCBncmVlayBFQ01BLTExOCBFTE9UXzkyOAorKioqICAgICAgICAgICAgICAgICAgICAgICBJU09fODg1OS03IGlzby1pci0xMjYgSVNPXzg4NTktNzoxOTg3IElTTy04ODU5LTcKKyoqKiAgICAgICAgICAgICAgICAgICAgICAgaWFuYS0xMCBJQk1DQ1NJRDAwODEzIGlibS04MTMKKyoqKiAgICAgICA3NzUgICAgICBYICAgICAgY3NQQzc3NUJhbHRpYyBjcDc3NSBJQk03NzUgaWFuYS0yMDg3IElCTUNDU0lEMDA3NzUKKyoqKiAgICAgICAgICAgICAgICAgICAgICAgaWJtLTc3NQorKioqICAgICAgIDczNyAgICAgIFggICAgICBJQk1DQ1NJRDAwNzM3IGlibS03MzcKKyoqKiAgICAgICA3MjAgICAgICBYICAgICAgSUJNQ0NTSUQwMDcyMCBpYm0tNzIwCisqKiogICAgICAgNTAwICAgICAgWCAgICAgIGNzSUJNNTAwIGViY2RpYy1jcC1jaCBlYmNkaWMtY3AtYmUgQ1A1MDAgSUJNNTAwCisqKiogICAgICAgICAgICAgICAgICAgICAgIGlhbmEtMjA0NCBJQk1DQ1NJRDAwNTAwIGlibS01MDAKKyoqKiAgICAgICA0MzcgICAgICBYICAgICAgY3NQQzhDb2RlUGFnZTQzNyA0MzcgY3A0MzcgSUJNNDM3IGlhbmEtMjAxMQorKioqICAgICAgICAgICAgICAgICAgICAgICBJQk1DQ1NJRDAwNDM3IGlibS00MzcKKyoqKiAgICAgICA0MjQgICAgICBYICAgICAgY3NJQk00MjQgZWJjZGljLWNwLWhlIGNwNDI0IElCTTQyNCBpYW5hLTIwNDMKKyoqKiAgICAgICAgICAgICAgICAgICAgICAgSUJNQ0NTSUQwMDQyNCBpYm0tNDI0CisqKiogICAgICAgNDIzICAgICAgWCAgICAgIGNzSUJNNDIzIGViY2RpYy1jcC1nciBjcDQyMyBJQk00MjMgaWFuYS0yMDQyCisqKiogICAgICAgICAgICAgICAgICAgICAgIElCTUNDU0lEMDA0MjMgaWJtLTQyMworKioqICAgICAgIDQyMCAgICAgIFggICAgICBjc0lCTTQyMCBlYmNkaWMtY3AtYXIxIGNwNDIwIElCTTQyMCBpYW5hLTIwNDEKKyoqKiAgICAgICAgICAgICAgICAgICAgICAgSUJNQ0NTSUQwMDQyMCBpYm0tNDIwCisqKiogICAgICAgMzY3ICAgICAgWCAgICAgIGNzQVNDSUkgY3AzNjcgSUJNMzY3IHVzIElTTzY0Ni1VUyBJU09fNjQ2LmlydjoxOTkxCisqKiogICAgICAgICAgICAgICAgICAgICAgIEFOU0lfWDMuNC0xOTg2IEFOU0lfWDMuNC0xOTY4IGlzby1pci02IFVTLUFTQ0lJIEFTQ0lJCisqKiogICAgICAgICAgICAgICAgICAgICAgIGlhbmEtMyBJQk1DQ1NJRDAwMzY3IGlibS0zNjcKKyoqKiAgICAgICAzMDEgICAgICBYICAgICAgSUJNQ0NTSUQwMDMwMSBpYm0tMzAxCisqKiogICAgICAgMzAwICAgICAgWCAgICAgIElCTUNDU0lEMDAzMDAgaWJtLTMwMAorKioqICAgICAgIDI5NyAgICAgIFggICAgICBjc0lCTTI5NyBlYmNkaWMtY3AtZnIgY3AyOTcgSUJNMjk3IGlhbmEtMjA0MAorKioqICAgICAgICAgICAgICAgICAgICAgICBJQk1DQ1NJRDAwMjk3IGlibS0yOTcKKyoqKiAgICAgICAyOTAgICAgICBYICAgICAgY3NJQk0yOTAgRUJDRElDLUpQLWthbmEgY3AyOTAgSUJNMjkwIGlhbmEtMjAzOQorKioqICAgICAgICAgICAgICAgICAgICAgICBJQk1DQ1NJRDAwMjkwIGlibS0yOTAKKyoqKiAgICAgICAyODUgICAgICBYICAgICAgY3NJQk0yODUgZWJjZGljLWNwLWdiIENQMjg1IElCTTI4NSBpYW5hLTIwMzgKKyoqKiAgICAgICAgICAgICAgICAgICAgICAgSUJNQ0NTSUQwMDI4NSBpYm0tMjg1CisqKiogICAgICAgMjg0ICAgICAgWCAgICAgIGNzSUJNMjg0IGViY2RpYy1jcC1lcyBDUDI4NCBJQk0yODQgaWFuYS0yMDM3CisqKiogICAgICAgICAgICAgICAgICAgICAgIElCTUNDU0lEMDAyODQgaWJtLTI4NAorKioqICAgICAgIDI4MCAgICAgIFggICAgICBjc0lCTTI4MCBlYmNkaWMtY3AtaXQgQ1AyODAgSUJNMjgwIGlhbmEtMjAzNQorKioqICAgICAgICAgICAgICAgICAgICAgICBJQk1DQ1NJRDAwMjgwIGlibS0yODAKKyoqKiAgICAgICAyNzggICAgICBYICAgICAgY3NJQk0yNzggZWJjZGljLWNwLXNlIGViY2RpYy1jcC1maSBDUDI3OCBJQk0yNzgKKyoqKiAgICAgICAgICAgICAgICAgICAgICAgaWFuYS0yMDM0IElCTUNDU0lEMDAyNzggaWJtLTI3OAorKioqICAgICAgIDI3NyAgICAgIFggICAgICBjc0lCTTI3NyBFQkNESUMtQ1AtTk8gRUJDRElDLUNQLURLIElCTTI3NyBpYW5hLTIwMzMKKyoqKiAgICAgICAgICAgICAgICAgICAgICAgSUJNQ0NTSUQwMDI3NyBpYm0tMjc3CisqKiogICAgICAgMjczICAgICAgWCAgICAgIGNzSUJNMjczIENQMjczIElCTTI3MyBpYW5hLTIwMzAgSUJNQ0NTSUQwMDI3MyBpYm0tMjczCisqKiogICAgICAgMjU2ICAgICAgWCAgICAgIElCTUNDU0lEMDAyNTYgaWJtLTI1NgorKioqICAgICAgICAzNyAgICAgIFggICAgICBjc0lCTTAzNyBlYmNkaWMtY3AtbmwgZWJjZGljLWNwLXd0IGViY2RpYy1jcC1jYQorKioqICAgICAgICAgICAgICAgICAgICAgICBlYmNkaWMtY3AtdXMgY3AwMzcgSUJNMDM3IEVCQ0RJQyBpYW5hLTIwMjgKKyoqKiAgICAgICAgICAgICAgICAgICAgICAgSUJNQ0NTSUQwMDAzNyBpYm0tMzcKKyoqKiAgICAgICAgIDAgICAgICAgICAgICAgSUJNQ0NTSUQwMDAwMCBpYm0tMAorKiovCisKKy8qKgorKioqICAgICAxMzQ5OSBzdGF0ZXMsIDIyOSBmaW5hbHMsIDIwMDIwIHRyYW5zaXRpb25zLgorKiovCisKK3R5cGVkZWYgdW5zaWduZWQgc2hvcnQgICAgICAgICAgdF9jY3NpZDsKK3R5cGVkZWYgdW5zaWduZWQgc2hvcnQgICAgICAgICAgdF9zdGF0ZXJhbmdlOwordHlwZWRlZiB1bnNpZ25lZCBzaG9ydCAgICAgICAgICB0X3RyYW5zcmFuZ2U7CisKK3N0YXRpYyB0X3RyYW5zcmFuZ2UgICAgIHRyYW5zX2FycmF5W10gPSB7CisgMCwgOTAsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwKKyA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwKKyA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwKKyA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwKKyA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwKKyA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwKKyA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwKKyA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwKKyA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwKKyA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwKKyA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwKKyA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTEsIDkxLCA5MSwgOTIsIDkzLCA5NCwKKyA5NSwgOTYsIDk3LCA5OCwgOTksIDEwMCwgMTAxLCAxMDIsIDEwMywgMTA0LCAxMDUsIDEwNiwgMTA3LCAxMDgsIDEwOSwgMTEwLAorIDExMSwgMTE2LCAxMTcsIDExOCwgMTE5LCAxMjAsIDEyMSwgMTIyLCAxMjMsIDEyNCwgMTI1LCAxMjYsIDEyNywgMTI4LCAxMjksCisgMTMwLCAxMzcsIDEzOCwgMTM5LCAxNDEsIDE0MiwgMTQzLCAxNDQsIDE0NSwgMTQ2LCAxNDcsIDE0OCwgMTUwLCAxNTEsIDE1MywKKyAxNTQsIDE1NiwgMTU3LCAxNTksIDE2MCwgMTYyLCAxNjMsIDE2NSwgMTY2LCAxNjgsIDE2OSwgMTcxLCAxNzIsIDE3MywgMTc0LAorIDE3NiwgMTc3LCAxNzksIDE4MCwgMTgyLCAxODMsIDE4NSwgMTg2LCAxODgsIDE4OSwgMTkxLCAxOTIsIDE5NCwgMTk1LCAxOTcsCisgMTk4LCAxOTksIDIwMCwgMjAyLCAyMDMsIDIwNSwgMjA2LCAyMDgsIDIwOSwgMjEwLCAyMTEsIDIxMiwgMjEzLCAyMTQsIDIxNSwKKyAyMTYsIDIxOCwgMjE5LCAyMjAsIDIyMSwgMjIyLCAyMjMsIDIyNCwgMjI1LCAyMjYsIDIyNywgMjI4LCAyMjksIDIzMCwgMjMxLAorIDIzMywgMjM0LCAyMzUsIDIzNiwgMjM4LCAyMzksIDI0MSwgMjQyLCAyNDMsIDI0NSwgMjQ2LCAyNDgsIDI0OSwgMjUxLCAyNTIsCisgMjU0LCAyNTYsIDI1NywgMjU5LCAyNjAsIDI2MSwgMjYyLCAyNjMsIDI2NCwgMjY1LCAyNjYsIDI2NywgMjY5LCAyNzAsIDI3MSwKKyAyNzUsIDI3NiwgMjc3LCAyNzgsIDI3OSwgMjg3LCAyODgsIDI4OSwgMjkxLCAyOTIsIDI5NCwgMjk1LCAyOTcsIDI5OCwgMzAwLAorIDMwMSwgMzAzLCAzMDQsIDMwNSwgMzA2LCAzMDcsIDMwOCwgMzEwLCAzMTEsIDMxMywgMzE0LCAzMTUsIDMxNiwgMzE3LCAzMTgsCisgMzE5LCAzMjAsIDMyMSwgMzIyLCAzMjMsIDMyNCwgMzI1LCAzMjcsIDMyOCwgMzI5LCAzMzAsIDMzMSwgMzMyLCAzMzMsIDMzNCwKKyAzMzUsIDMzNiwgMzM3LCAzMzgsIDMzOSwgMzQwLCAzNDEsIDM0MiwgMzQzLCAzNDQsIDM0NSwgMzQ2LCAzNDcsIDM1NywgMzU4LAorIDM1OSwgMzYwLCAzNjEsIDM2MiwgMzYzLCAzNjUsIDM2NiwgMzY3LCAzNjgsIDM3MCwgMzcxLCAzNzMsIDM3NCwgMzc2LCAzNzcsCisgMzc4LCAzODAsIDM4MSwgMzgzLCAzODQsIDM4NiwgMzg3LCAzODksIDM5MCwgMzkyLCAzOTMsIDM5NCwgMzk2LCAzOTgsIDQwMCwKKyA0MDEsIDQwMiwgNDAzLCA0MDksIDQxMCwgNDExLCA0MTIsIDQxMywgNDE2LCA0MTcsIDQxOCwgNDE5LCA0MjAsIDQyMSwgNDIyLAorIDQyMywgNDI0LCA0MjUsIDQyNiwgNDI3LCA0MjksIDQzMCwgNDMxLCA0MzIsIDQzMywgNDM0LCA0MzUsIDQzOCwgNDM5LCA0NDAsCisgNDQxLCA0NDIsIDQ0NCwgNDQ1LCA0NDYsIDQ0NywgNDUwLCA0NTEsIDQ1MiwgNDUzLCA0NTQsIDQ1NSwgNDU2LCA0NTcsIDQ1OCwKKyA0NTksIDQ2MiwgNDYzLCA0NjUsIDQ2NiwgNDY3LCA0NjgsIDQ2OSwgNDcwLCA0NzEsIDQ3MiwgNDczLCA0NzQsIDQ3NSwgNDc2LAorIDQ3NywgNDc4LCA0NzksIDQ4MCwgNDg5LCA0OTAsIDQ5MSwgNDkyLCA0OTMsIDQ5NSwgNDk2LCA0OTcsIDQ5OCwgNDk5LCA1MDAsCisgNTAxLCA1MDIsIDUwMywgNTA0LCA1MDUsIDUwNiwgNTEyLCA1MTMsIDUxNCwgNTE1LCA1MTYsIDUxOSwgNTIwLCA1MjEsIDUyMiwKKyA1MjMsIDUyNCwgNTI1LCA1MjYsIDUyNywgNTI4LCA1MzEsIDUzMiwgNTMzLCA1MzQsIDUzNSwgNTM2LCA1MzcsIDUzOCwgNTM5LAorIDU0MCwgNTQxLCA1NTEsIDU1MywgNTU0LCA1NTYsIDU1NywgNTU5LCA1NjAsIDU2MiwgNTYzLCA1NjUsIDU2NiwgNTY4LCA1NjksCisgNTcxLCA1NzIsIDU3NCwgNTc1LCA1NzcsIDU3OCwgNTgwLCA1ODEsIDU4MywgNTg1LCA1ODYsIDU4NywgNTkxLCA1OTIsIDU5MywKKyA1OTUsIDU5NiwgNTk4LCA1OTksIDYwMCwgNjAyLCA2MDMsIDYwNCwgNjA2LCA2MDcsIDYwOSwgNjEwLCA2MTIsIDYxMywgNjE1LAorIDYxNiwgNjE4LCA2MTksIDYyMSwgNjIyLCA2MjQsIDYyNSwgNjI3LCA2MjgsIDYzMCwgNjMxLCA2MzMsIDYzNCwgNjM2LCA2MzcsCisgNjM5LCA2NDAsIDY0MiwgNjQzLCA2NDQsIDY0NiwgNjQ3LCA2NDgsIDY0OSwgNjU1LCA2NTYsIDY1OCwgNjU5LCA2NjEsIDY2MiwKKyA2NjMsIDY2NCwgNjY1LCA2NjYsIDY2NywgNjY4LCA2NjksIDY3MiwgNjczLCA2NzUsIDY3NiwgNjc3LCA2NzksIDY4MCwgNjgyLAorIDY4MywgNjg1LCA2ODYsIDY4OCwgNjg5LCA2OTEsIDY5MiwgNjk0LCA2OTUsIDY5NywgNjk4LCA3MDAsIDcwMSwgNzAzLCA3MDQsCisgNzA2LCA3MDcsIDcwOSwgNzEwLCA3MTIsIDcxMywgNzE1LCA3MTYsIDcxOCwgNzE5LCA3MjEsIDcyMiwgNzIzLCA3MjQsIDcyNSwKKyA3MjcsIDcyOCwgNzMwLCA3MzEsIDczMywgNzM0LCA3MzYsIDczNywgNzM5LCA3NDAsIDc0MSwgNzQ1LCA3NDYsIDc0NywgNzQ4LAorIDc1MCwgNzUxLCA3NTIsIDc1MywgNzU0LCA3NTYsIDc1NywgNzU4LCA3NTksIDc2MCwgNzYzLCA3NjQsIDc2NywgNzY4LCA3NzEsCisgNzc5LCA3ODAsIDc4MSwgNzg2LCA3ODgsIDc4OSwgNzkxLCA3OTIsIDc5MywgNzk1LCA3OTYsIDc5OCwgNzk5LCA4MDEsIDgwMiwKKyA4MDMsIDgwNCwgODA1LCA4MDYsIDgwNywgODE2LCA4MTcsIDgxOCwgODIyLCA4MjMsIDgyNCwgODI1LCA4MjYsIDgyNywgODI4LAorIDgyOSwgODMwLCA4MzEsIDgzMiwgODMzLCA4MzQsIDgzNiwgODM3LCA4MzksIDg0MCwgODQxLCA4NDIsIDg0MywgODQ0LCA4NDUsCisgODQ3LCA4NDgsIDg0OSwgODUwLCA4NTEsIDg1MiwgODUzLCA4NTQsIDg1NSwgODU2LCA4NTcsIDg1OCwgODU5LCA4NjEsIDg2MiwKKyA4NjMsIDg2NSwgODY2LCA4NjgsIDg2OSwgODcxLCA4NzIsIDg3NCwgODc1LCA4NzcsIDg3OCwgODgwLCA4ODEsIDg4MywgODg0LAorIDg4NSwgODg3LCA4ODgsIDg5MCwgODkxLCA4OTMsIDg5NCwgODk2LCA4OTcsIDg5OCwgOTAwLCA5MDEsIDkwMywgOTA0LCA5MDYsCisgOTA3LCA5MDksIDkxMCwgOTEyLCA5MTMsIDkxNCwgOTE1LCA5MTYsIDkxNywgOTE4LCA5MTksIDkyMCwgOTMzLCA5MzQsIDkzNiwKKyA5MzcsIDkzOSwgOTQwLCA5NDIsIDk0MywgOTQ1LCA5NDYsIDk0NywgOTQ4LCA5NTIsIDk1MywgOTU1LCA5NTYsIDk1NywgOTYxLAorIDk2MiwgOTYzLCA5NjUsIDk2NiwgOTY3LCA5NjgsIDk3MCwgOTcxLCA5NzIsIDk3MywgOTc0LCA5NzUsIDk3NiwgOTc3LCA5NzgsCisgOTc5LCA5ODAsIDk4MSwgOTgyLCA5ODMsIDk4NCwgOTg1LCA5ODYsIDk4NywgOTg4LCA5OTAsIDk5MSwgOTkyLCA5OTYsIDk5OCwKKyA5OTksIDEwMDEsIDEwMDIsIDEwMDQsIDEwMDUsIDEwMDcsIDEwMDgsIDEwMTAsIDEwMTEsIDEwMTMsIDEwMTQsIDEwMTUsIDEwMTYsCisgMTAxNywgMTAxOSwgMTAyMCwgMTAyMiwgMTAyMywgMTAyNSwgMTAyNiwgMTAyOCwgMTAyOSwgMTAzMSwgMTAzMiwgMTAzNCwgMTAzNSwKKyAxMDM3LCAxMDM4LCAxMDQwLCAxMDQxLCAxMDQzLCAxMDQ0LCAxMDQ2LCAxMDQ3LCAxMDQ5LCAxMDUwLCAxMDUyLCAxMDUzLCAxMDU0LAorIDEwNTYsIDEwNTcsIDEwNTksIDEwNjAsIDEwNjIsIDEwNjMsIDEwNjUsIDEwNjYsIDEwNjgsIDEwNjksIDEwNzEsIDEwNzIsIDEwNzQsCisgMTA3NSwgMTA3NywgMTA3OCwgMTA4MCwgMTA4MSwgMTA4MywgMTA4NCwgMTA4NiwgMTA4NywgMTA4OCwgMTA4OSwgMTA5MCwgMTA5MSwKKyAxMDkzLCAxMDk0LCAxMDk2LCAxMDk3LCAxMDk5LCAxMTAwLCAxMTAyLCAxMTAzLCAxMTA1LCAxMTA2LCAxMTA4LCAxMTA5LCAxMTExLAorIDExMTIsIDExMTMsIDExMTQsIDExMTgsIDExMTksIDExMjAsIDExMjEsIDExMjIsIDExMjMsIDExMjQsIDExMjUsIDExMjYsIDExMzAsCisgMTEzMSwgMTEzMywgMTEzNCwgMTEzNSwgMTEzNywgMTEzOCwgMTE0MCwgMTE0MSwgMTE0MywgMTE0NCwgMTE0NiwgMTE0NywgMTE0OSwKKyAxMTUwLCAxMTUyLCAxMTUzLCAxMTU1LCAxMTU2LCAxMTU3LCAxMTU4LCAxMTU5LCAxMTYwLCAxMTYxLCAxMTYzLCAxMTY0LCAxMTY2LAorIDExNjcsIDExNjgsIDExNzAsIDExNzEsIDExNzMsIDExNzQsIDExNzYsIDExNzcsIDExNzksIDExODAsIDExODIsIDExODMsIDExODQsCisgMTE4NiwgMTE4NywgMTE4OCwgMTE5MCwgMTE5MSwgMTE5MiwgMTE5NiwgMTE5NywgMTE5OCwgMTE5OSwgMTIwMCwgMTIwMiwgMTIwMywKKyAxMjA0LCAxMjA2LCAxMjA3LCAxMjA4LCAxMjEyLCAxMjEzLCAxMjE0LCAxMjE1LCAxMjE2LCAxMjE3LCAxMjE4LCAxMjIxLCAxMjIyLAorIDEyMjQsIDEyMjUsIDEyMjYsIDEyMzAsIDEyMzEsIDEyMzIsIDEyMzMsIDEyMzQsIDEyMzUsIDEyMzYsIDEyMzcsIDEyMzgsIDEyMzksCisgMTI0MCwgMTI0MSwgMTI0MiwgMTI0MywgMTI0NCwgMTI0NSwgMTI0NiwgMTI0NywgMTI0OCwgMTI1NywgMTI1OCwgMTI1OSwgMTI2MCwKKyAxMjYxLCAxMjYyLCAxMjYzLCAxMjY0LCAxMjY1LCAxMjY3LCAxMjY4LCAxMjcwLCAxMjcxLCAxMjczLCAxMjc0LCAxMjc2LCAxMjc3LAorIDEyNzksIDEyODAsIDEyODIsIDEyODMsIDEyODQsIDEyODUsIDEyODYsIDEyODgsIDEyODksIDEyOTEsIDEyOTIsIDEyOTQsIDEyOTUsCisgMTI5NywgMTI5OCwgMTMwMCwgMTMwMSwgMTMwMywgMTMwNCwgMTMwNiwgMTMwNywgMTMwOCwgMTMwOSwgMTMxMCwgMTMxMSwgMTMxMiwKKyAxMzEzLCAxMzE0LCAxMzE1LCAxMzE2LCAxMzE3LCAxMzE4LCAxMzQyLCAxMzQzLCAxMzQ0LCAxMzQ2LCAxMzQ3LCAxMzQ5LCAxMzUwLAorIDEzNTIsIDEzNTMsIDEzNTUsIDEzNTYsIDEzNTgsIDEzNTksIDEzNjEsIDEzNjIsIDEzNjMsIDEzNjQsIDEzNjUsIDEzNjYsIDEzNzYsCisgMTM3OCwgMTM3OSwgMTM4MSwgMTM4MywgMTM4NywgMTM4OSwgMTM5MSwgMTM5NSwgMTM5OSwgMTQwMSwgMTQwNSwgMTQwOSwgMTQxMSwKKyAxNDEyLCAxNDE0LCAxNDE1LCAxNDE3LCAxNDE4LCAxNDIwLCAxNDIyLCAxNDI0LCAxNDI2LCAxNDI4LCAxNDMwLCAxNDMxLCAxNDMyLAorIDE0MzMsIDE0MzQsIDE0MzUsIDE0MzYsIDE0MzcsIDE0MzgsIDE0MzksIDE0NDAsIDE0NDEsIDE0NDIsIDE0NDMsIDE0NDQsIDE0NDUsCisgMTQ0NiwgMTQ3OCwgMTQ3OSwgMTQ4MCwgMTQ4MiwgMTQ4MywgMTQ4NSwgMTQ4NiwgMTQ4OCwgMTQ4OSwgMTQ5MSwgMTQ5MiwgMTQ5NCwKKyAxNDk1LCAxNDk3LCAxNDk4LCAxNDk5LCAxNTAzLCAxNTA1LCAxNTA2LCAxNTA4LCAxNTA5LCAxNTExLCAxNTEyLCAxNTE0LCAxNTE1LAorIDE1MTYsIDE1MTcsIDE1MTgsIDE1MTksIDE1MjAsIDE1MjEsIDE1MjIsIDE1MjMsIDE1MjQsIDE1MjYsIDE1MjcsIDE1MjksIDE1MzAsCisgMTUzMiwgMTUzMywgMTUzNSwgMTUzNiwgMTUzNywgMTUzOCwgMTUzOSwgMTU0MCwgMTU0MSwgMTU0MiwgMTU0MywgMTU0NCwgMTU0NSwKKyAxNTQ2LCAxNTQ3LCAxNTUxLCAxNTUzLCAxNTU0LCAxNTU2LCAxNTU3LCAxNTU5LCAxNTYwLCAxNTYyLCAxNTYzLCAxNTY0LCAxNTY1LAorIDE1NjYsIDE1NjcsIDE1NjgsIDE1NjksIDE1NzAsIDE1NzEsIDE1NzIsIDE1NzMsIDE1NzUsIDE1NzcsIDE1NzgsIDE1ODAsIDE1ODEsCisgMTU4MywgMTU4NCwgMTU4NiwgMTU4NywgMTU4OCwgMTU4OSwgMTU5MCwgMTU5MSwgMTU5MiwgMTU5MywgMTU5NCwgMTU5NSwgMTU5NiwKKyAxNTk4LCAxNTk5LCAxNjAxLCAxNjAyLCAxNjA0LCAxNjA1LCAxNjA3LCAxNjA4LCAxNjA5LCAxNjEwLCAxNjExLCAxNjEyLCAxNjEzLAorIDE2MTQsIDE2MTUsIDE2MTYsIDE2MTcsIDE2MTgsIDE2MTksIDE2MjMsIDE2MjUsIDE2MjYsIDE2MjgsIDE2MjksIDE2MzEsIDE2MzIsCisgMTYzNCwgMTYzNSwgMTYzNiwgMTYzNywgMTYzOCwgMTYzOSwgMTY0MCwgMTY0MSwgMTY0MiwgMTY0MywgMTY0NCwgMTY0NSwgMTY0NywKKyAxNjQ5LCAxNjUwLCAxNjUyLCAxNjUzLCAxNjU1LCAxNjU2LCAxNjU4LCAxNjU5LCAxNjYwLCAxNjYxLCAxNjYyLCAxNjYzLCAxNjY0LAorIDE2NjUsIDE2NjYsIDE2NjcsIDE2NjgsIDE2NjksIDE2NzEsIDE2NzIsIDE2NzQsIDE2NzUsIDE2NzcsIDE2NzgsIDE2ODAsIDE2ODEsCisgMTY4MywgMTY4NCwgMTY4NiwgMTY4NywgMTY4OSwgMTY5MCwgMTY5MiwgMTY5MywgMTY5NSwgMTY5NiwgMTY5OCwgMTY5OSwgMTcwMSwKKyAxNzAzLCAxNzA0LCAxNzA2LCAxNzA3LCAxNzA5LCAxNzEwLCAxNzEyLCAxNzEzLCAxNzE0LCAxNzE1LCAxNzE2LCAxNzE3LCAxNzE4LAorIDE3MTksIDE3MjAsIDE3MjEsIDE3MjIsIDE3MjQsIDE3MjUsIDE3MjcsIDE3MjgsIDE3MzAsIDE3MzEsIDE3MzMsIDE3MzQsIDE3MzUsCisgMTczNiwgMTczNywgMTczOCwgMTczOSwgMTc0MCwgMTc0MSwgMTc0MiwgMTc0MywgMTc0NCwgMTc0NSwgMTc0NiwgMTc1MiwgMTc1NCwKKyAxNzU1LCAxNzU3LCAxNzU4LCAxNzYwLCAxNzYxLCAxNzYzLCAxNzY0LCAxNzY1LCAxNzY2LCAxNzY4LCAxNzcwLCAxNzcxLCAxNzczLAorIDE3NzQsIDE3NzYsIDE3NzcsIDE3NzksIDE3ODAsIDE3ODEsIDE3ODIsIDE3ODMsIDE3ODQsIDE3ODUsIDE3ODYsIDE3ODgsIDE3ODksCisgMTc5MSwgMTc5MiwgMTc5NCwgMTc5NSwgMTc5NywgMTc5OSwgMTgwMSwgMTgwMywgMTgwNCwgMTgwNiwgMTgwNywgMTgwOSwgMTgxMCwKKyAxODEyLCAxODEzLCAxODE0LCAxODE1LCAxODE2LCAxODE3LCAxODE4LCAxODE5LCAxODIwLCAxODIxLCAxODIzLCAxODI0LCAxODI1LAorIDE4MjYsIDE4MjcsIDE4MjgsIDE4MjksIDE4MzAsIDE4MzEsIDE4MzIsIDE4MzMsIDE4MzQsIDE4NTYsIDE4NTcsIDE4NTksIDE4NjAsCisgMTg2MiwgMTg2MywgMTg2NSwgMTg2NiwgMTg2OCwgMTg2OSwgMTg3MSwgMTg3MywgMTg3NCwgMTg3NSwgMTg3NiwgMTg3NywgMTg3OCwKKyAxODc5LCAxODgwLCAxODgyLCAxODgzLCAxODg1LCAxODg2LCAxODg3LCAxODg4LCAxODg5LCAxODkwLCAxODkxLCAxODkyLCAxODkzLAorIDE4OTUsIDE4OTYsIDE4OTgsIDE5MDAsIDE5MDIsIDE5MDMsIDE5MDQsIDE5MDYsIDE5MDcsIDE5MDgsIDE5MDksIDE5MTcsIDE5MTgsCisgMTkyMSwgMTkyMiwgMTkyNCwgMTkyNSwgMTkyNiwgMTkyOCwgMTkyOSwgMTkzMSwgMTkzMiwgMTkzNCwgMTkzNSwgMTkzNiwgMTkzNywKKyAxOTM5LCAxOTQwLCAxOTQyLCAxOTQzLCAxOTQ1LCAxOTQ2LCAxOTQ4LCAxOTQ5LCAxOTUxLCAxOTUyLCAxOTU0LCAxOTU1LCAxOTU2LAorIDE5NTcsIDE5NTksIDE5NjAsIDE5NjIsIDE5NjMsIDE5NjUsIDE5NjYsIDE5NjgsIDE5NjksIDE5NzEsIDE5NzIsIDE5NzQsIDE5NzUsCisgMTk3NiwgMTk3NywgMTk3OSwgMTk4MCwgMTk4MiwgMTk4MywgMTk4NSwgMTk4NiwgMTk4OCwgMTk4OSwgMTk5MCwgMTk5MSwgMTk5MywKKyAxOTk0LCAxOTk2LCAxOTk3LCAxOTk5LCAyMDAwLCAyMDAyLCAyMDAzLCAyMDA0LCAyMDA1LCAyMDA3LCAyMDA4LCAyMDEwLCAyMDExLAorIDIwMTMsIDIwMTQsIDIwMTYsIDIwMTcsIDIwMTksIDIwMjAsIDIwMjIsIDIwMjMsIDIwMjQsIDIwMjUsIDIwMjYsIDIwMjcsIDIwMzcsCisgMjAzOCwgMjAzOSwgMjA0MCwgMjA0MSwgMjA0MiwgMjA0MywgMjA0NCwgMjA0NSwgMjA0NiwgMjA0NywgMjA1MSwgMjA1MywgMjA1NCwKKyAyMDU2LCAyMDU3LCAyMDU5LCAyMDYwLCAyMDYyLCAyMDYzLCAyMDY0LCAyMDY4LCAyMDY5LCAyMDcwLCAyMDc0LCAyMDc1LCAyMDc5LAorIDIwODAsIDIwODEsIDIwODYsIDIwODksIDIwOTAsIDIwOTEsIDIwOTIsIDIwOTMsIDIwOTksIDIxMDQsIDIxMDgsIDIxMTAsIDIxMTcsCisgMjEyNywgMjEzNywgMjE0MSwgMjE0NSwgMjE1NSwgMjE1NiwgMjE1NywgMjE1OCwgMjE1OSwgMjE2MCwgMjE2MSwgMjE2MiwgMjE2MywKKyAyMTY0LCAyMTczLCAyMTc2LCAyMTc3LCAyMTc4LCAyMTg4LCAyMTg5LCAyMTkwLCAyMTkxLCAyMTkyLCAyMTkzLCAyMTk2LCAyMTk5LAorIDIyMDEsIDIyMDIsIDIyMDMsIDIyMDQsIDIyMDUsIDIyMTQsIDIyMTUsIDIyMTYsIDIyMTcsIDIyMTksIDIyMjAsIDIyMjIsIDIyMjMsCisgMjIyNCwgMjIyNSwgMjIyNiwgMjIyNywgMjIyOSwgMjIzMCwgMjIzMSwgMjIzMiwgMjIzMywgMjIzNCwgMjIzNSwgMjIzNiwgMjIzNywKKyAyMjM4LCAyMjM5LCAyMjQwLCAyMjQxLCAyMjQyLCAyMjQzLCAyMjQ0LCAyMjQ1LCAyMjQ2LCAyMjQ3LCAyMjQ4LCAyMjQ5LCAyMjU5LAorIDIyNjAsIDIyNjEsIDIyNjIsIDIyNjMsIDIyNjYsIDIyNjcsIDIyNjgsIDIyNjksIDIyNzAsIDIyNzEsIDIyNzIsIDIyNzMsIDIyNzQsCisgMjI3NSwgMjI3NiwgMjI4MiwgMjI4MywgMjI4NCwgMjI4NSwgMjI4NywgMjI4OCwgMjI4OSwgMjI5MCwgMjI5MSwgMjI5MywgMjI5NCwKKyAyMjk1LCAyMjk2LCAyMjk3LCAyMjk4LCAyMjk5LCAyMzAwLCAyMzA3LCAyMzA4LCAyMzA5LCAyMzEwLCAyMzExLCAyMzEyLCAyMzEzLAorIDIzMTYsIDIzMTcsIDIzMTgsIDIzMTksIDIzMjAsIDIzMjEsIDIzMjIsIDIzMjUsIDIzMjYsIDIzMjcsIDIzMjgsIDIzMjksIDIzMzAsCisgMjMzMSwgMjMzMiwgMjMzMywgMjMzNywgMjMzOCwgMjMzOSwgMjM0MCwgMjM0MSwgMjM0MiwgMjM0MywgMjM0NCwgMjM0NSwgMjM0NiwKKyAyMzQ3LCAyMzQ4LCAyMzQ5LCAyMzU1LCAyMzU2LCAyMzU3LCAyMzU4LCAyMzU5LCAyMzYxLCAyMzYyLCAyMzYzLCAyMzY0LCAyMzY1LAorIDIzNjYsIDIzNzIsIDIzNzUsIDIzNzcsIDIzNzgsIDIzNzksIDIzODAsIDIzODEsIDIzODIsIDIzODMsIDIzODQsIDIzODUsIDIzODYsCisgMjM4NywgMjM4OCwgMjM4OSwgMjM5MCwgMjM5MSwgMjQwMCwgMjQwMSwgMjQwMiwgMjQwMywgMjQwNCwgMjQwNSwgMjQwNiwgMjQwOSwKKyAyNDEwLCAyNDExLCAyNDEyLCAyNDEzLCAyNDE0LCAyNDE1LCAyNDE2LCAyNDE3LCAyNDIxLCAyNDIyLCAyNDIzLCAyNDI0LCAyNDI1LAorIDI0MjYsIDI0MzEsIDI0MzIsIDI0MzMsIDI0MzQsIDI0MzUsIDI0MzcsIDI0MzgsIDI0MzksIDI0NDAsIDI0NDEsIDI0NDIsIDI0NDMsCisgMjQ0NCwgMjQ0NiwgMjQ0NywgMjQ0OCwgMjQ1MCwgMjQ1MSwgMjQ1MiwgMjQ1MywgMjQ1NCwgMjQ1NSwgMjQ1NiwgMjQ2MSwgMjQ2MiwKKyAyNDYzLCAyNDY0LCAyNDY1LCAyNDY3LCAyNDY4LCAyNDY5LCAyNDcwLCAyNDcxLCAyNDcyLCAyNDczLCAyNDc5LCAyNDgwLCAyNDgxLAorIDI0ODIsIDI0ODMsIDI0ODQsIDI0ODUsIDI0ODYsIDI0ODcsIDI0ODgsIDI0ODksIDI0OTAsIDI0OTEsIDI0OTYsIDI0OTcsIDI0OTgsCisgMjQ5OSwgMjUwMCwgMjUwMSwgMjUwMiwgMjUwMywgMjUwNCwgMjUwNiwgMjUwNywgMjUwOCwgMjUwOSwgMjUxMCwgMjUxMSwgMjUxMiwKKyAyNTE2LCAyNTE3LCAyNTE4LCAyNTIyLCAyNTIzLCAyNTI0LCAyNTI1LCAyNTI2LCAyNTI4LCAyNTI5LCAyNTMwLCAyNTMxLCAyNTMyLAorIDI1MzMsIDI1MzQsIDI1MzUsIDI1MzksIDI1NDAsIDI1NDEsIDI1NDIsIDI1NDMsIDI1NDUsIDI1NDYsIDI1NDcsIDI1NDgsIDI1NDksCisgMjU1MCwgMjU1MSwgMjU1MiwgMjU1MywgMjU1NCwgMjU1NywgMjU1OCwgMjU1OSwgMjU2MCwgMjU2MSwgMjU2MywgMjU2NCwgMjU2NSwKKyAyNTY2LCAyNTY3LCAyNTY4LCAyNTY5LCAyNTcwLCAyNTc0LCAyNTc1LCAyNTc2LCAyNTc5LCAyNTgwLCAyNTgxLCAyNTgyLCAyNTgzLAorIDI1ODQsIDI1ODUsIDI1ODYsIDI1ODcsIDI1ODgsIDI1ODksIDI1OTAsIDI1OTEsIDI1OTIsIDI1OTMsIDI1OTQsIDI1OTUsIDI2MDAsCisgMjYwMSwgMjYwMiwgMjYwMywgMjYwNywgMjYwOCwgMjYwOSwgMjYxMCwgMjYxMSwgMjYxMiwgMjYxNiwgMjYxOCwgMjYxOSwgMjYyMCwKKyAyNjIyLCAyNjIzLCAyNjI0LCAyNjI1LCAyNjI2LCAyNjI3LCAyNjI4LCAyNjI5LCAyNjMwLCAyNjMxLCAyNjMyLCAyNjMzLCAyNjM0LAorIDI2MzUsIDI2MzYsIDI2MzcsIDI2NDIsIDI2NDMsIDI2NDQsIDI2NDUsIDI2NDYsIDI2NDcsIDI2NDgsIDI2NDksIDI2NTAsIDI2NTEsCisgMjY1MiwgMjY1MywgMjY1NCwgMjY1NSwgMjY1NiwgMjY1NywgMjY1OCwgMjY1OSwgMjY2MCwgMjY2MSwgMjY2MiwgMjY2MywgMjY2NCwKKyAyNjY1LCAyNjY5LCAyNjcwLCAyNjcxLCAyNjcyLCAyNjczLCAyNjc1LCAyNjc2LCAyNjc3LCAyNjc4LCAyNjc5LCAyNjgwLCAyNjgxLAorIDI2ODIsIDI2ODMsIDI2ODYsIDI2ODgsIDI2ODksIDI2OTAsIDI2OTEsIDI2OTIsIDI2OTMsIDI2OTQsIDI2OTUsIDI2OTYsIDI3MDEsCisgMjcwNywgMjcwOCwgMjcwOSwgMjcxMSwgMjcxMiwgMjcyMSwgMjcyMiwgMjcyMywgMjcyOCwgMjcyOSwgMjczMCwgMjczMywgMjczNCwKKyAyNzM1LCAyNzM2LCAyNzM3LCAyNzM4LCAyNzM5LCAyNzQ2LCAyNzQ3LCAyNzQ4LCAyNzUwLCAyNzUxLCAyNzUyLCAyNzU0LCAyNzU1LAorIDI3NTYsIDI3NTcsIDI3NTgsIDI3NTksIDI3NjAsIDI3NjQsIDI3NzAsIDI3NzEsIDI3NzIsIDI3NzMsIDI3NzQsIDI3NzUsIDI3NzYsCisgMjc3NywgMjc3OCwgMjc4NiwgMjc4NywgMjc4OCwgMjc4OSwgMjc5MCwgMjc5MSwgMjc5MiwgMjc5MywgMjc5NCwgMjc5NSwgMjc5NiwKKyAyNzk3LCAyNzk4LCAyNzk5LCAyODAwLCAyODAxLCAyODAyLCAyODAzLCAyODA0LCAyODEzLCAyODE0LCAyODE4LCAyODE5LCAyODIwLAorIDI4MjEsIDI4MjIsIDI4MjMsIDI4MjQsIDI4MjUsIDI4MjYsIDI4MzIsIDI4MzMsIDI4MzQsIDI4MzUsIDI4MzYsIDI4MzcsIDI4MzgsCisgMjgzOSwgMjg0MCwgMjg0MSwgMjg0MiwgMjg0MywgMjg0NCwgMjg1MCwgMjg1MSwgMjg1MiwgMjg1MywgMjg1NCwgMjg1NiwgMjg1NywKKyAyODU4LCAyODU5LCAyODYwLCAyODYxLCAyODYyLCAyODYzLCAyODY0LCAyODY1LCAyODczLCAyODc0LCAyODc1LCAyODc2LCAyODc3LAorIDI4NzgsIDI4NzksIDI4ODAsIDI4ODEsIDI4ODIsIDI4ODMsIDI4OTUsIDI4OTcsIDI4OTgsIDI4OTksIDI5MDAsIDI5MDEsIDI5MDMsCisgMjkwNCwgMjkwNywgMjkxMCwgMjkxMiwgMjkxMywgMjkxNCwgMjkxNSwgMjkxNiwgMjkyMCwgMjkyMiwgMjkyMywgMjkyNCwgMjkyNSwKKyAyOTI3LCAyOTMwLCAyOTMxLCAyOTMyLCAyOTMzLCAyOTM1LCAyOTM2LCAyOTM3LCAyOTM4LCAyOTM5LCAyOTQwLCAyOTQxLCAyOTQyLAorIDI5NDMsIDI5NDQsIDI5NDcsIDI5NDksIDI5NTQsIDI5NjAsIDI5NjksIDI5NzQsIDI5NzUsIDI5NzgsIDI5NzksIDI5ODAsIDI5ODEsCisgMjk4MiwgMjk4MywgMjk4NCwgMjk4NSwgMjk5MiwgMjk5NSwgMzAwMSwgMzAwOSwgMzAxOCwgMzAyNCwgMzAzMCwgMzAzMiwgMzAzMywKKyAzMDM0LCAzMDM1LCAzMDM2LCAzMDM3LCAzMDM4LCAzMDM5LCAzMDQwLCAzMDQxLCAzMDQ5LCAzMDUwLCAzMDUxLCAzMDUyLCAzMDUzLAorIDMwNTQsIDMwNTUsIDMwNTYsIDMwNTcsIDMwNjUsIDMwNjcsIDMwNzcsIDMwODAsIDMwODYsIDMwODcsIDMwODksIDMwOTEsIDMwOTIsCisgMzA5MywgMzA5NCwgMzA5NSwgMzA5NiwgMzA5NywgMzA5OCwgMzEwNSwgMzEwOCwgMzExMSwgMzExNSwgMzEyNSwgMzEzMSwgMzEzMywKKyAzMTM0LCAzMTM1LCAzMTM2LCAzMTM3LCAzMTM4LCAzMTM5LCAzMTQ1LCAzMTQ4LCAzMTUwLCAzMTU5LCAzMTYxLCAzMTY1LCAzMTY2LAorIDMxNjcsIDMxNjgsIDMxNjksIDMxNzAsIDMxNzUsIDMxNzcsIDMxNzksIDMxODQsIDMxODYsIDMxODcsIDMxODgsIDMxODksIDMxOTAsCisgMzE5NCwgMzE5NSwgMzE5NiwgMzE5NywgMzE5OCwgMzIwMiwgMzIwMywgMzIwNCwgMzIwNSwgMzIwNiwgMzIwOSwgMzIxMSwgMzIxMiwKKyAzMjEzLCAzMjE0LCAzMjE1LCAzMjE2LCAzMjIwLCAzMjIxLCAzMjIyLCAzMjI0LCAzMjI1LCAzMjI2LCAzMjMxLCAzMjMyLCAzMjMzLAorIDMyMzQsIDMyMzcsIDMyMzgsIDMyMzksIDMyNDAsIDMyNDQsIDMyNDYsIDMyNDcsIDMyNDgsIDMyNTAsIDMyNTEsIDMyNTIsIDMyNTMsCisgMzI1NCwgMzI1NSwgMzI1NiwgMzI1NywgMzI2MSwgMzI2MiwgMzI2MywgMzI2NCwgMzI2NSwgMzI2NiwgMzI2NywgMzI2OCwgMzI2OSwKKyAzMjcwLCAzMjcxLCAzMjcyLCAzMjc1LCAzMjc4LCAzMjc5LCAzMjgwLCAzMjgxLCAzMjgyLCAzMjg0LCAzMjg1LCAzMjg2LCAzMjg3LAorIDMyODgsIDMyODksIDMyOTAsIDMyOTYsIDMyOTcsIDMyOTgsIDMyOTksIDMzMDAsIDMzMDEsIDMzMDMsIDMzMDQsIDMzMDUsIDMzMDYsCisgMzMwNywgMzMwOCwgMzMwOSwgMzMxMCwgMzMxMiwgMzMxMywgMzMxNCwgMzMxNSwgMzMxNiwgMzMxNywgMzMxOCwgMzMxOSwgMzMyMCwKKyAzMzIzLCAzMzI0LCAzMzI1LCAzMzI2LCAzMzI3LCAzMzI4LCAzMzI5LCAzMzMwLCAzMzMxLCAzMzMyLCAzMzMzLCAzMzM0LCAzMzM1LAorIDMzMzcsIDMzMzgsIDMzMzksIDMzNDAsIDMzNDEsIDMzNDIsIDMzNDMsIDMzNDQsIDMzNDUsIDMzNDYsIDMzNDcsIDMzNDgsIDMzNDksCisgMzM1MCwgMzM1MSwgMzM1MiwgMzM1MywgMzM1NCwgMzM1NSwgMzM1NiwgMzM1NywgMzM1OCwgMzM1OSwgMzM2MCwgMzM2MSwgMzM2MiwKKyAzMzYzLCAzMzY0LCAzMzY4LCAzMzY5LCAzMzcwLCAzMzcxLCAzMzcyLCAzMzc0LCAzMzc1LCAzMzc2LCAzMzc3LCAzMzc4LCAzMzc5LAorIDMzODAsIDMzODYsIDMzODcsIDMzODksIDMzOTAsIDMzOTIsIDMzOTMsIDMzOTUsIDMzOTYsIDMzOTgsIDMzOTksIDM0MDAsIDM0MDEsCisgMzQxMywgMzQxNCwgMzQxNiwgMzQxNywgMzQxOCwgMzQxOSwgMzQyMCwgMzQyMiwgMzQyMywgMzQyNSwgMzQyNiwgMzQyOCwgMzQyOSwKKyAzNDMwLCAzNDMxLCAzNDMyLCAzNDMzLCAzNDM0LCAzNDM1LCAzNDM2LCAzNDM3LCAzNDM4LCAzNDM5LCAzNDQwLCAzNDQxLCAzNDQyLAorIDM0NDQsIDM0NDUsIDM0NDcsIDM0NDgsIDM0NTAsIDM0NTEsIDM0NTMsIDM0NTQsIDM0NTYsIDM0NTcsIDM0NTgsIDM0NTksIDM0NjAsCisgMzQ2MSwgMzQ2MiwgMzQ2MywgMzQ2NCwgMzQ2NSwgMzQ2NiwgMzQ2NywgMzQ2OSwgMzQ3MCwgMzQ3MiwgMzQ3MywgMzQ3NSwgMzQ3NiwKKyAzNDc4LCAzNDc5LCAzNDgxLCAzNDgyLCAzNDg0LCAzNDg1LCAzNDg3LCAzNDg4LCAzNDkyLCAzNDkzLCAzNDk0LCAzNDk1LCAzNDk2LAorIDM0OTgsIDM0OTksIDM1MDEsIDM1MDIsIDM1MDQsIDM1MDUsIDM1MDcsIDM1MDgsIDM1MTAsIDM1MTEsIDM1MTIsIDM1MTMsIDM1MTUsCisgMzUxNiwgMzUxOCwgMzUxOSwgMzUyMSwgMzUyMiwgMzUyNCwgMzUyNSwgMzUyNywgMzUyOCwgMzUzMCwgMzUzMSwgMzUzMywgMzUzNCwKKyAzNTM2LCAzNTM3LCAzNTM4LCAzNTQ3LCAzNTQ4LCAzNTQ5LCAzNTUwLCAzNTUxLCAzNTUyLCAzNTUzLCAzNTU0LCAzNTU1LCAzNTU4LAorIDM1NTksIDM1NjEsIDM1NjIsIDM1NjUsIDM1NjYsIDM1NjcsIDM1NjgsIDM1NjksIDM1NzAsIDM1NzUsIDM1NzYsIDM1NzksIDM1ODAsCisgMzU4MSwgMzU4MiwgMzU4NCwgMzU4NSwgMzU4NiwgMzU4NywgMzU5MSwgMzU5MywgMzU5NCwgMzU5NiwgMzU5NywgMzU5OCwgMzU5OSwKKyAzNjAwLCAzNjAxLCAzNjAyLCAzNjAzLCAzNjA0LCAzNjA1LCAzNjA2LCAzNjA3LCAzNjA4LCAzNjA5LCAzNjEwLCAzNjExLCAzNjEyLAorIDM2MTQsIDM2MTUsIDM2MTcsIDM2MTgsIDM2MjAsIDM2MjEsIDM2MjIsIDM2MjMsIDM2MjQsIDM2MjUsIDM2MjYsIDM2MjcsIDM2MjgsCisgMzYyOSwgMzYzMCwgMzYzMSwgMzYzMiwgMzYzMywgMzYzNCwgMzYzNywgMzYzOCwgMzYzOSwgMzY0MCwgMzY0MSwgMzY0MiwgMzY0MywKKyAzNjQ0LCAzNjQ1LCAzNjQ3LCAzNjQ4LCAzNjQ5LCAzNjUwLCAzNjUxLCAzNjUyLCAzNjUzLCAzNjU0LCAzNjU1LCAzNjU3LCAzNjU4LAorIDM2NTksIDM2NjAsIDM2NjEsIDM2NjIsIDM2NjMsIDM2NjQsIDM2NjUsIDM2NjcsIDM2NjgsIDM2NjksIDM2NzAsIDM2NzEsIDM2NzIsCisgMzY3MywgMzY3NCwgMzY3NSwgMzY3NywgMzY3OCwgMzY3OSwgMzY4MCwgMzY4MSwgMzY4MiwgMzY4MywgMzY4NCwgMzY4NSwgMzY4NywKKyAzNjg4LCAzNjg5LCAzNjkwLCAzNjkxLCAzNjkyLCAzNjkzLCAzNjk0LCAzNjk1LCAzNjk3LCAzNjk4LCAzNjk5LCAzNzAwLCAzNzAxLAorIDM3MDIsIDM3MDMsIDM3MDUsIDM3MDYsIDM3MDcsIDM3MDgsIDM3MDksIDM3MTAsIDM3MTEsIDM3MTIsIDM3MTMsIDM3MTUsIDM3MTYsCisgMzcxNywgMzcxOCwgMzcxOSwgMzcyMCwgMzcyMSwgMzcyMiwgMzcyMywgMzcyNCwgMzczMywgMzczNCwgMzczNSwgMzczNiwgMzczNywKKyAzNzM4LCAzNzM5LCAzNzQwLCAzNzQxLCAzNzQyLCAzNzQzLCAzNzQ1LCAzNzQ2LCAzNzQ3LCAzNzQ4LCAzNzUxLCAzNzUyLCAzNzU0LAorIDM3NTUsIDM3NTYsIDM3NTcsIDM3NjMsIDM3NjQsIDM3NjUsIDM3NjYsIDM3NjcsIDM3NjgsIDM3NjksIDM3NzAsIDM3NzEsIDM3NzMsCisgMzc3NCwgMzc3NSwgMzc3NiwgMzc3OCwgMzc3OSwgMzc4MSwgMzc4MiwgMzc4MywgMzc4NCwgMzc4NiwgMzc4NywgMzc4OSwgMzc5MCwKKyAzNzkyLCAzNzkzLCAzNzk0LCAzNzk4LCAzNzk5LCAzODAwLCAzODAxLCAzODAyLCAzODAzLCAzODA0LCAzODA1LCAzODA2LCAzODA3LAorIDM4MDksIDM4MTAsIDM4MTEsIDM4MTIsIDM4MTMsIDM4MTQsIDM4MTUsIDM4MTYsIDM4MTcsIDM4MTgsIDM4MTksIDM4MjAsIDM4MjEsCisgMzgyMiwgMzgyMywgMzgyNCwgMzgyNSwgMzgyNiwgMzgyNywgMzgyOCwgMzgzMCwgMzgzMSwgMzgzMiwgMzgzNSwgMzgzNiwgMzgzNywKKyAzODQxLCAzODQyLCAzODQzLCAzODQ5LCAzODUwLCAzODUyLCAzODUzLCAzODU1LCAzODU2LCAzODU4LCAzODU5LCAzODY2LCAzODY3LAorIDM4NjksIDM4NzAsIDM4NzIsIDM4NzMsIDM4NzUsIDM4NzYsIDM4NzgsIDM4NzksIDM4ODEsIDM4ODIsIDM4ODMsIDM4ODUsIDM4ODYsCisgMzg4OCwgMzg5MCwgMzg5MSwgMzg5MywgMzg5NCwgMzg5NiwgMzg5NywgMzg5OSwgMzkwMCwgMzkwMSwgMzkwMiwgMzkwMywgMzkwNCwKKyAzOTA1LCAzOTA2LCAzOTA3LCAzOTA4LCAzOTA5LCAzOTEwLCAzOTEyLCAzOTEzLCAzOTE1LCAzOTE2LCAzOTE4LCAzOTE5LCAzOTIxLAorIDM5MjIsIDM5MjQsIDM5MjUsIDM5MjcsIDM5MjgsIDM5MzAsIDM5MzEsIDM5MzMsIDM5MzQsIDM5MzYsIDM5MzcsIDM5MzksIDM5NDAsCisgMzk0MiwgMzk0MywgMzk0NSwgMzk0NiwgMzk0NywgMzk0OCwgMzk1MCwgMzk1MywgMzk1NCwgMzk1NSwgMzk1NywgMzk1OCwgMzk2MCwKKyAzOTYxLCAzOTYzLCAzOTY0LCAzOTY2LCAzOTY3LCAzOTY4LCAzOTcwLCAzOTcxLCAzOTczLCAzOTc1LCAzOTc2LCAzOTc4LCAzOTgwLAorIDM5ODEsIDM5ODMsIDM5ODQsIDM5ODYsIDM5OTEsIDM5OTIsIDM5OTMsIDM5OTgsIDM5OTksIDQwMDAsIDQwMDEsIDQwMDIsIDQwMDUsCisgNDAwNiwgNDAxMCwgNDAxMSwgNDAxMywgNDAxNCwgNDAxNSwgNDAxNiwgNDAyMiwgNDAyNCwgNDAyNSwgNDAyNiwgNDAyNywgNDAyOSwKKyA0MDMwLCA0MDMyLCA0MDMzLCA0MDM1LCA0MDM2LCA0MDM4LCA0MDM5LCA0MDQxLCA0MDQyLCA0MDQ0LCA0MDQ1LCA0MDQ2LCA0MDQ3LAorIDQwNDgsIDQwNDksIDQwNTAsIDQwNTEsIDQwNTIsIDQwNTMsIDQwNTQsIDQwNTUsIDQwNTYsIDQwNTcsIDQwNTgsIDQwNTksIDQwNjAsCisgNDA2MSwgNDA2MiwgNDA2MywgNDA2NCwgNDA2NSwgNDA2NiwgNDA2NywgNDA2OCwgNDA2OSwgNDA3NCwgNDA3NSwgNDA3NiwgNDA4MywKKyA0MDg0LCA0MDg1LCA0MDg2LCA0MDg3LCA0MDg5LCA0MDkwLCA0MDkxLCA0MDkyLCA0MDkzLCA0MDk0LCA0MDk1LCA0MDk2LCA0MDk3LAorIDQwOTgsIDQxMDAsIDQxMDEsIDQxMDIsIDQxMDMsIDQxMDUsIDQxMDYsIDQxMDcsIDQxMDgsIDQxMTAsIDQxMTEsIDQxMTIsIDQxMTMsCisgNDExNSwgNDExNiwgNDExNywgNDExOCwgNDEyMCwgNDEyMSwgNDEyMiwgNDEyMywgNDEyNSwgNDEyNiwgNDEyNywgNDEyOCwgNDEzMCwKKyA0MTMxLCA0MTMyLCA0MTMzLCA0MTM1LCA0MTM2LCA0MTM3LCA0MTM4LCA0MTM5LCA0MTQwLCA0MTQxLCA0MTQyLCA0MTQ0LCA0MTQ1LAorIDQxNDYsIDQxNDcsIDQxNDksIDQxNTAsIDQxNTEsIDQxNTIsIDQxNTQsIDQxNTUsIDQxNTYsIDQxNTcsIDQxNTksIDQxNjAsIDQxNjEsCisgNDE2MiwgNDE2NCwgNDE2NSwgNDE2NiwgNDE2NywgNDE2OSwgNDE3MCwgNDE3MSwgNDE3MiwgNDE3NCwgNDE3NSwgNDE3NiwgNDE3NywKKyA0MTc5LCA0MTgwLCA0MTgxLCA0MTgyLCA0MTgzLCA0MTg0LCA0MTg1LCA0MTg2LCA0MTg4LCA0MTg5LCA0MTkwLCA0MTkxLCA0MTkzLAorIDQxOTQsIDQxOTUsIDQxOTYsIDQxOTgsIDQxOTksIDQyMDAsIDQyMDEsIDQyMDIsIDQyMDMsIDQyMDQsIDQyMDUsIDQyMDYsIDQyMDcsCisgNDIwOCwgNDIxMCwgNDIxMSwgNDIxMiwgNDIxMywgNDIxNCwgNDIxNSwgNDIxNiwgNDIxNywgNDIxOCwgNDIxOSwgNDIyMCwgNDIyMSwKKyA0MjIyLCA0MjIzLCA0MjI0LCA0MjI1LCA0MjI2LCA0MjI3LCA0MjI4LCA0MjI5LCA0MjMwLCA0MjMxLCA0MjMyLCA0MjMzLCA0MjM0LAorIDQyMzUsIDQyMzYsIDQyMzcsIDQyMzksIDQyNDAsIDQyNDEsIDQyNDIsIDQyNDMsIDQyNDQsIDQyNDUsIDQyNDYsIDQyNDgsIDQyNDksCisgNDI1MCwgNDI1MSwgNDI1MywgNDI1NCwgNDI1NSwgNDI1NywgNDI1OCwgNDI1OSwgNDI2MCwgNDI2MiwgNDI2MywgNDI2NCwgNDI2NSwKKyA0MjY3LCA0MjY4LCA0MjY5LCA0MjcwLCA0MjcyLCA0MjczLCA0Mjc0LCA0Mjc2LCA0Mjc3LCA0Mjc4LCA0Mjc5LCA0MjgxLCA0MjgyLAorIDQyODMsIDQyODQsIDQyODUsIDQyODYsIDQyODcsIDQyODgsIDQyODksIDQyOTAsIDQyOTEsIDQyOTIsIDQyOTMsIDQyOTQsIDQyOTUsCisgNDI5NiwgNDI5NywgNDI5OCwgNDI5OSwgNDMwMSwgNDMwMiwgNDMwMywgNDMwNCwgNDMwNSwgNDMwOSwgNDMxMCwgNDMxMSwgNDMxMiwKKyA0MzEzLCA0MzE0LCA0MzE1LCA0MzIzLCA0MzI0LCA0MzI1LCA0MzI3LCA0MzI4LCA0MzI5LCA0MzMwLCA0MzMyLCA0MzMzLCA0MzM0LAorIDQzMzUsIDQzMzcsIDQzMzgsIDQzMzksIDQzNDAsIDQzNDIsIDQzNDMsIDQzNDQsIDQzNDUsIDQzNDcsIDQzNDgsIDQzNDksIDQzNTAsCisgNDM1MSwgNDM1MiwgNDM1MywgNDM1NCwgNDM1NSwgNDM1NiwgNDM1NywgNDM1OCwgNDM2MCwgNDM2MSwgNDM2MiwgNDM2MywgNDM2NSwKKyA0MzY2LCA0MzY3LCA0MzY4LCA0MzY5LCA0MzcwLCA0MzcxLCA0MzcyLCA0MzczLCA0Mzc0LCA0Mzc1LCA0Mzc2LCA0Mzc3LCA0Mzc4LAorIDQzNzksIDQzODAsIDQzODEsIDQzODIsIDQzODMsIDQzODUsIDQzODYsIDQzODcsIDQzOTcsIDQzOTgsIDQzOTksIDQ0MDAsIDQ0MDEsCisgNDQwMiwgNDQwMywgNDQwNCwgNDQwNSwgNDQwNiwgNDQwNywgNDQwOCwgNDQwOSwgNDQxMSwgNDQxMiwgNDQxMywgNDQxNCwgNDQxNSwKKyA0NDE2LCA0NDE3LCA0NDE4LCA0NDIwLCA0NDIxLCA0NDIyLCA0NDIzLCA0NDI1LCA0NDI2LCA0NDI3LCA0NDI4LCA0NDMwLCA0NDMxLAorIDQ0MzIsIDQ0MzQsIDQ0MzUsIDQ0MzYsIDQ0MzcsIDQ0MzksIDQ0NDAsIDQ0NDEsIDQ0NDIsIDQ0NDQsIDQ0NDUsIDQ0NDYsIDQ0NDcsCisgNDQ0OSwgNDQ1MCwgNDQ1MSwgNDQ1MiwgNDQ1NCwgNDQ1NSwgNDQ1NiwgNDQ1OCwgNDQ1OSwgNDQ2MCwgNDQ2MiwgNDQ2MywgNDQ2NCwKKyA0NDY2LCA0NDY3LCA0NDY4LCA0NDY5LCA0NDcwLCA0NDcxLCA0NDc3LCA0NDc4LCA0NDc5LCA0NDgwLCA0NDgxLCA0NDgyLCA0NDgzLAorIDQ0ODYsIDQ0ODcsIDQ0ODgsIDQ0ODksIDQ0OTAsIDQ0OTEsIDQ0OTIsIDQ0OTMsIDQ0OTQsIDQ0OTUsIDQ0OTYsIDQ0OTcsIDQ0OTgsCisgNDQ5OSwgNDUwMSwgNDUwMiwgNDUwMywgNDUwNiwgNDUwNywgNDUwOCwgNDUxMCwgNDUxMSwgNDUxMiwgNDUxMywgNDUxNCwgNDUxNSwKKyA0NTE4LCA0NTE5LCA0NTIwLCA0NTIxLCA0NTIyLCA0NTIzLCA0NTI0LCA0NTI1LCA0NTI2LCA0NTI3LCA0NTMwLCA0NTMxLCA0NTMyLAorIDQ1MzMsIDQ1MzUsIDQ1MzYsIDQ1MzcsIDQ1MzgsIDQ1MzksIDQ1NDAsIDQ1NDEsIDQ1NDIsIDQ1NDMsIDQ1NDQsIDQ1NDUsIDQ1NDYsCisgNDU0NywgNDU0OCwgNDU0OSwgNDU1MCwgNDU1MSwgNDU1MiwgNDU1MywgNDU1NCwgNDU2MywgNDU2NCwgNDU2NSwgNDU2NywgNDU2OCwKKyA0NTY5LCA0NTcwLCA0NTcxLCA0NTcyLCA0NTczLCA0NTc0LCA0NTc1LCA0NTc2LCA0NTc3LCA0NTc4LCA0NTc5LCA0NTgwLCA0NTg2LAorIDQ1ODcsIDQ1ODgsIDQ1OTEsIDQ1OTIsIDQ1OTMsIDQ1OTQsIDQ1OTUsIDQ1OTYsIDQ1OTcsIDQ1OTgsIDQ1OTksIDQ2MDAsIDQ2MDEsCisgNDYwMiwgNDYwNSwgNDYwNiwgNDYwNywgNDYwOCwgNDYwOSwgNDYxMCwgNDYxMSwgNDYxMiwgNDYxMywgNDYxNCwgNDYxNSwgNDYxNiwKKyA0NjE3LCA0NjI3LCA0NjI4LCA0NjI5LCA0NjMxLCA0NjMyLCA0NjMzLCA0NjM0LCA0NjM2LCA0NjM3LCA0NjM4LCA0NjM5LCA0NjQxLAorIDQ2NDIsIDQ2NDMsIDQ2NDQsIDQ2NDYsIDQ2NDcsIDQ2NDgsIDQ2NDksIDQ2NTEsIDQ2NTIsIDQ2NTMsIDQ2NTQsIDQ2NTYsIDQ2NTcsCisgNDY1OCwgNDY1OSwgNDY2MSwgNDY2MiwgNDY2MywgNDY2NCwgNDY2NiwgNDY2NywgNDY2OCwgNDY2OSwgNDY3MSwgNDY3MiwgNDY3MywKKyA0Njc0LCA0Njc2LCA0Njc3LCA0Njc4LCA0Njc5LCA0NjgxLCA0NjgyLCA0NjgzLCA0Njg1LCA0Njg2LCA0Njg3LCA0Njg4LCA0Njg5LAorIDQ2OTMsIDQ2OTQsIDQ2OTUsIDQ2OTYsIDQ2OTcsIDQ2OTgsIDQ2OTksIDQ3MDEsIDQ3MDIsIDQ3MDMsIDQ3MDQsIDQ3MDYsIDQ3MDcsCisgNDcwOCwgNDcxMCwgNDcxMSwgNDcxMiwgNDcxNCwgNDcxNSwgNDcxNiwgNDcxNywgNDcxOSwgNDcyMCwgNDcyMSwgNDcyMiwgNDcyNCwKKyA0NzI1LCA0NzI2LCA0NzI3LCA0NzI5LCA0NzMwLCA0NzMxLCA0NzMyLCA0NzM0LCA0NzM1LCA0NzM2LCA0NzM3LCA0NzM5LCA0NzQwLAorIDQ3NDEsIDQ3NDIsIDQ3NDQsIDQ3NDUsIDQ3NDYsIDQ3NDcsIDQ3NDksIDQ3NTAsIDQ3NTEsIDQ3NTIsIDQ3NTQsIDQ3NTUsIDQ3NTYsCisgNDc1NywgNDc1OSwgNDc2MCwgNDc2MSwgNDc2MiwgNDc2NCwgNDc2NSwgNDc2NiwgNDc2NywgNDc2OSwgNDc3MCwgNDc3MSwgNDc3MiwKKyA0Nzc0LCA0Nzc1LCA0Nzc2LCA0Nzc4LCA0Nzc5LCA0NzgwLCA0NzgxLCA0NzgyLCA0NzgzLCA0Nzg5LCA0NzkwLCA0NzkxLCA0NzkyLAorIDQ3OTQsIDQ3OTUsIDQ3OTYsIDQ3OTcsIDQ3OTksIDQ4MDAsIDQ4MDEsIDQ4MDIsIDQ4MDMsIDQ4MDQsIDQ4MDUsIDQ4MDYsIDQ4MDcsCisgNDgwOCwgNDgwOSwgNDgxMCwgNDgxMSwgNDgxMiwgNDgxMywgNDgxNiwgNDgxNywgNDgxOCwgNDgxOSwgNDgyMSwgNDgyMiwgNDgyMywKKyA0ODI1LCA0ODI2LCA0ODI3LCA0ODI4LCA0ODMwLCA0ODMxLCA0ODMyLCA0ODMzLCA0ODM1LCA0ODM2LCA0ODM3LCA0ODM4LCA0ODQwLAorIDQ4NDEsIDQ4NDIsIDQ4NDMsIDQ4NDUsIDQ4NDYsIDQ4NDcsIDQ4NDgsIDQ4NTAsIDQ4NTEsIDQ4NTIsIDQ4NTMsIDQ4NTUsIDQ4NTYsCisgNDg1NywgNDg1OCwgNDg2MCwgNDg2MSwgNDg2MiwgNDg2MywgNDg2NSwgNDg2NiwgNDg2NywgNDg2OCwgNDg3MCwgNDg3MSwgNDg3MiwKKyA0ODczLCA0ODc1LCA0ODc2LCA0ODc3LCA0ODc4LCA0ODgwLCA0ODgxLCA0ODgyLCA0ODgzLCA0ODg1LCA0ODg2LCA0ODg3LCA0ODg4LAorIDQ4OTAsIDQ4OTEsIDQ4OTIsIDQ4OTMsIDQ4OTUsIDQ4OTYsIDQ4OTcsIDQ4OTgsIDQ4OTksIDQ5MDAsIDQ5MDEsIDQ5MDMsIDQ5MDQsCisgNDkwNSwgNDkwNiwgNDkwOCwgNDkwOSwgNDkxMCwgNDkxMSwgNDkxMywgNDkxNCwgNDkxNSwgNDkxNiwgNDkxOCwgNDkxOSwgNDkyMCwKKyA0OTIxLCA0OTIzLCA0OTI0LCA0OTI1LCA0OTI2LCA0OTI3LCA0OTMxLCA0OTMyLCA0OTMzLCA0OTM0LCA0OTM1LCA0OTM2LCA0OTM3LAorIDQ5MzgsIDQ5NDAsIDQ5NDEsIDQ5NDIsIDQ5NDMsIDQ5NDQsIDQ5NDUsIDQ5NDYsIDQ5NDgsIDQ5NDksIDQ5NTAsIDQ5NTEsIDQ5NTIsCisgNDk1MywgNDk1NCwgNDk1NywgNDk1OCwgNDk1OSwgNDk2MCwgNDk2MywgNDk2NCwgNDk2NSwgNDk2NiwgNDk2NywgNDk2OCwgNDk3MSwKKyA0OTcyLCA0OTczLCA0OTgxLCA0OTgyLCA0OTgzLCA0OTg0LCA0OTg1LCA0OTkwLCA0OTkxLCA0OTkyLCA0OTk0LCA0OTk1LCA0OTk2LAorIDQ5OTcsIDQ5OTksIDUwMDAsIDUwMDEsIDUwMDMsIDUwMDQsIDUwMDUsIDUwMDYsIDUwMDgsIDUwMDksIDUwMTAsIDUwMTEsIDUwMTMsCisgNTAxNCwgNTAxNSwgNTAxNiwgNTAxNywgNTAxOCwgNTAxOSwgNTAyMCwgNTAyMSwgNTAzMCwgNTAzMSwgNTAzMiwgNTAzMywgNTAzNCwKKyA1MDM4LCA1MDM5LCA1MDQwLCA1MDQxLCA1MDQyLCA1MDQzLCA1MDQ0LCA1MDQ1LCA1MDQ2LCA1MDQ3LCA1MDQ4LCA1MDQ5LCA1MDUwLAorIDUwNTEsIDUwNTIsIDUwNTMsIDUwNTQsIDUwNTUsIDUwNTYsIDUwNTcsIDUwNTgsIDUwNTksIDUwNjAsIDUwNjEsIDUwNjIsIDUwNjMsCisgNTA2NCwgNTA2NiwgNTA2NywgNTA2OCwgNTA2OSwgNTA3MSwgNTA3MiwgNTA3MywgNTA3NCwgNTA3NSwgNTA3NiwgNTA3NywgNTA3OSwKKyA1MDgwLCA1MDgxLCA1MDgyLCA1MDgzLCA1MDg0LCA1MDg1LCA1MDg2LCA1MDg3LCA1MDg4LCA1MDg5LCA1MDkwLCA1MDkxLCA1MDkyLAorIDUwOTMsIDUwOTQsIDUwOTUsIDUwOTYsIDUwOTcsIDUwOTksIDUxMDAsIDUxMDEsIDUxMDMsIDUxMDQsIDUxMDUsIDUxMDYsIDUxMDgsCisgNTEwOSwgNTExMCwgNTExMSwgNTExMywgNTExNCwgNTExNSwgNTExNiwgNTExOCwgNTExOSwgNTEyMCwgNTEyMSwgNTEyMywgNTEyNCwKKyA1MTI1LCA1MTI2LCA1MTI4LCA1MTI5LCA1MTMwLCA1MTMxLCA1MTMzLCA1MTM0LCA1MTM1LCA1MTM3LCA1MTM4LCA1MTM5LCA1MTQwLAorIDUxNDIsIDUxNDMsIDUxNDQsIDUxNDUsIDUxNDcsIDUxNDgsIDUxNDksIDUxNTAsIDUxNTIsIDUxNTMsIDUxNTQsIDUxNTYsIDUxNTcsCisgNTE1OCwgNTE1OSwgNTE2MSwgNTE2MiwgNTE2MywgNTE2NCwgNTE2NiwgNTE2NywgNTE2OCwgNTE2OSwgNTE3MSwgNTE3MiwgNTE3MywKKyA1MTc0LCA1MTc2LCA1MTc3LCA1MTc4LCA1MTc5LCA1MTgwLCA1MTgxLCA1MTgyLCA1MTk1LCA1MTk2LCA1MTk3LCA1MTk4LCA1MjAwLAorIDUyMDEsIDUyMDIsIDUyMDMsIDUyMDUsIDUyMDYsIDUyMDcsIDUyMDgsIDUyMTAsIDUyMTEsIDUyMTIsIDUyMTMsIDUyMTUsIDUyMTYsCisgNTIxNywgNTIxOCwgNTIxOSwgNTIyMCwgNTIyNCwgNTIyNSwgNTIyNiwgNTIyNywgNTIyOSwgNTIzMCwgNTIzMSwgNTIzMiwgNTIzMywKKyA1MjM3LCA1MjM4LCA1MjM5LCA1MjQxLCA1MjQyLCA1MjQzLCA1MjQ0LCA1MjQ1LCA1MjQ2LCA1MjQ3LCA1MjQ4LCA1MjUwLCA1MjUxLAorIDUyNTIsIDUyNTMsIDUyNTQsIDUyNTUsIDUyNTYsIDUyNTcsIDUyNTgsIDUyNTksIDUyNjAsIDUyNjEsIDUyNjIsIDUyNjMsIDUyNjQsCisgNTI2NSwgNTI2NiwgNTI2NywgNTI2OCwgNTI2OSwgNTI3MCwgNTI3MSwgNTI3MiwgNTI3MywgNTI3NCwgNTI3NSwgNTI3NiwgNTI3NywKKyA1Mjc4LCA1Mjc5LCA1MjgwLCA1MjgxLCA1MjgyLCA1MjgzLCA1Mjg0LCA1Mjg2LCA1Mjg3LCA1Mjg4LCA1Mjg5LCA1MjkwLCA1Mjk0LAorIDUyOTUsIDUyOTYsIDUyOTgsIDUyOTksIDUzMDAsIDUzMDEsIDUzMDMsIDUzMDQsIDUzMDUsIDUzMDYsIDUzMDgsIDUzMDksIDUzMTAsCisgNTMxMSwgNTMxMywgNTMxNCwgNTMxNSwgNTMxNiwgNTMxOCwgNTMxOSwgNTMyMCwgNTMyMSwgNTMyMywgNTMyNCwgNTMyNSwgNTMyNiwKKyA1MzI3LCA1MzI4LCA1MzI5LCA1MzMwLCA1MzMxLCA1MzMyLCA1MzMzLCA1MzM1LCA1MzM2LCA1MzM3LCA1MzM4LCA1MzQwLCA1MzQxLAorIDUzNDIsIDUzNDMsIDUzNDUsIDUzNDYsIDUzNDcsIDUzNDgsIDUzNTAsIDUzNTEsIDUzNTIsIDUzNTMsIDUzNTUsIDUzNTYsIDUzNTcsCisgNTM1OCwgNTM2MCwgNTM2MSwgNTM2MiwgNTM2MywgNTM2NSwgNTM2NiwgNTM2NywgNTM2OCwgNTM3MCwgNTM3MSwgNTM3MiwgNTM3MywKKyA1Mzc1LCA1Mzc2LCA1Mzc3LCA1Mzc4LCA1MzgwLCA1MzgxLCA1MzgyLCA1MzgzLCA1Mzg1LCA1Mzg2LCA1Mzg3LCA1Mzg4LCA1MzkwLAorIDUzOTEsIDUzOTIsIDUzOTMsIDUzOTQsIDUzOTUsIDUzOTYsIDUzOTgsIDUzOTksIDU0MDAsIDU0MDEsIDU0MDMsIDU0MDQsIDU0MDUsCisgNTQwNiwgNTQwOCwgNTQwOSwgNTQxMCwgNTQxMSwgNTQxMywgNTQxNCwgNTQxNSwgNTQxNiwgNTQxOCwgNTQxOSwgNTQyMCwgNTQyMSwKKyA1NDIzLCA1NDI0LCA1NDI1LCA1NDI2LCA1NDI4LCA1NDI5LCA1NDMwLCA1NDMxLCA1NDMzLCA1NDM0LCA1NDM1LCA1NDM2LCA1NDM4LAorIDU0MzksIDU0NDAsIDU0NDEsIDU0NDMsIDU0NDQsIDU0NDUsIDU0NDYsIDU0NDgsIDU0NDksIDU0NTAsIDU0NTEsIDU0NTIsIDU0NTMsCisgNTQ1NCwgNTQ1NSwgNTQ1NiwgNTQ1NywgNTQ1OCwgNTQ1OSwgNTQ2MSwgNTQ2MiwgNTQ2MywgNTQ2NCwgNTQ2NiwgNTQ2NywgNTQ2OCwKKyA1NDY5LCA1NDcxLCA1NDcyLCA1NDczLCA1NDc0LCA1NDc2LCA1NDc3LCA1NDc4LCA1NDc5LCA1NDgxLCA1NDgyLCA1NDgzLCA1NDg0LAorIDU0ODYsIDU0ODcsIDU0ODgsIDU0ODksIDU0OTEsIDU0OTIsIDU0OTMsIDU0OTQsIDU0OTUsIDU0OTYsIDU1MDAsIDU1MDEsIDU1MDIsCisgNTUwMywgNTUwNCwgNTUwNSwgNTUwNiwgNTUwNywgNTUwOCwgNTUwOSwgNTUxMCwgNTUxMSwgNTUxMiwgNTUxMywgNTUxNCwgNTUxNSwKKyA1NTE2LCA1NTIwLCA1NTIxLCA1NTIyLCA1NTIzLCA1NTI1LCA1NTI2LCA1NTI3LCA1NTI5LCA1NTMwLCA1NTMxLCA1NTMyLCA1NTM0LAorIDU1MzUsIDU1MzYsIDU1MzcsIDU1MzksIDU1NDAsIDU1NDEsIDU1NDIsIDU1NDQsIDU1NDUsIDU1NDYsIDU1NDcsIDU1NDksIDU1NTAsCisgNTU1MSwgNTU1MiwgNTU1NCwgNTU1NSwgNTU1NiwgNTU1NywgNTU1OSwgNTU2MCwgNTU2MSwgNTU2MiwgNTU2MywgNTU2NCwgNTU2NSwKKyA1NTY2LCA1NTY3LCA1NTY4LCA1NTY5LCA1NTcwLCA1NTcxLCA1NTcyLCA1NTczLCA1NTc1LCA1NTc2LCA1NTc3LCA1NTc4LCA1NTgwLAorIDU1ODEsIDU1ODIsIDU1ODQsIDU1ODUsIDU1ODYsIDU1ODcsIDU1ODksIDU1OTAsIDU1OTEsIDU1OTIsIDU1OTQsIDU1OTUsIDU1OTYsCisgNTU5NywgNTU5OSwgNTYwMCwgNTYwMSwgNTYwMiwgNTYwNCwgNTYwNSwgNTYwNiwgNTYwOCwgNTYwOSwgNTYxMCwgNTYxMiwgNTYxMywKKyA1NjE0LCA1NjE1LCA1NjE2LCA1NjIwLCA1NjIxLCA1NjIyLCA1NjIzLCA1NjI0LCA1NjI1LCA1NjI2LCA1NjI4LCA1NjI5LCA1NjMwLAorIDU2MzIsIDU2MzMsIDU2MzQsIDU2MzUsIDU2MzYsIDU2NDAsIDU2NDEsIDU2NDIsIDU2NDMsIDU2NDQsIDU2NDUsIDU2NDYsIDU2NDcsCisgNTY0OCwgNTY1MSwgNTY1MiwgNTY1MywgNTY1NCwgNTY1NiwgNTY1NywgNTY1OCwgNTY1OSwgNTY2MCwgNTY2NCwgNTY2NSwgNTY2NiwKKyA1Njc1LCA1Njc2LCA1Njc3LCA1Njc4LCA1Njc5LCA1NjgwLCA1NjgxLCA1NjgyLCA1NjgzLCA1Njg0LCA1Njg1LCA1Njg3LCA1Njg4LAorIDU2ODksIDU2OTAsIDU2OTIsIDU2OTMsIDU2OTQsIDU2OTUsIDU2OTcsIDU2OTgsIDU2OTksIDU3MDAsIDU3MDIsIDU3MDMsIDU3MDQsCisgNTcwNSwgNTcwNywgNTcwOCwgNTcwOSwgNTcxMCwgNTcxMiwgNTcxMywgNTcxNCwgNTcxNSwgNTcxNiwgNTcxNywgNTcxOCwgNTcxOSwKKyA1NzIwLCA1NzIyLCA1NzIzLCA1NzI0LCA1NzI1LCA1NzI3LCA1NzI4LCA1NzI5LCA1NzMwLCA1NzMyLCA1NzMzLCA1NzM0LCA1NzM1LAorIDU3MzcsIDU3MzgsIDU3MzksIDU3NDAsIDU3NDIsIDU3NDMsIDU3NDQsIDU3NDUsIDU3NDcsIDU3NDgsIDU3NDksIDU3NTAsIDU3NTIsCisgNTc1MywgNTc1NCwgNTc1NSwgNTc1NiwgNTc1NywgNTc1OCwgNTc1OSwgNTc2MCwgNTc2MSwgNTc2MiwgNTc2MywgNTc2NCwgNTc2NSwKKyA1NzY2LCA1NzkwLCA1NzkxLCA1NzkyLCA1Nzk0LCA1Nzk1LCA1Nzk2LCA1Nzk3LCA1Nzk5LCA1ODAwLCA1ODAxLCA1ODAyLCA1ODA0LAorIDU4MDUsIDU4MDYsIDU4MDcsIDU4MDksIDU4MTAsIDU4MTEsIDU4MTIsIDU4MTQsIDU4MTUsIDU4MTYsIDU4MTcsIDU4MTksIDU4MjAsCisgNTgyMSwgNTgyMiwgNTgyMywgNTgyNCwgNTgyNSwgNTgyNiwgNTgzNiwgNTgzNywgNTgzOCwgNTg0MCwgNTg0MSwgNTg0MiwgNTg0MywKKyA1ODQ1LCA1ODQ2LCA1ODQ3LCA1ODQ5LCA1ODUwLCA1ODUxLCA1ODU1LCA1ODU2LCA1ODU3LCA1ODU5LCA1ODYwLCA1ODYxLCA1ODYzLAorIDU4NjQsIDU4NjUsIDU4NjksIDU4NzAsIDU4NzEsIDU4NzUsIDU4NzYsIDU4NzcsIDU4NzksIDU4ODAsIDU4ODEsIDU4ODUsIDU4ODYsCisgNTg4NywgNTg5MSwgNTg5MiwgNTg5MywgNTg5NSwgNTg5NiwgNTg5NywgNTg5OCwgNTkwMCwgNTkwMSwgNTkwMiwgNTkwMywgNTkwNSwKKyA1OTA2LCA1OTA3LCA1OTA4LCA1OTEwLCA1OTExLCA1OTEyLCA1OTE0LCA1OTE1LCA1OTE2LCA1OTE4LCA1OTE5LCA1OTIwLCA1OTIyLAorIDU5MjMsIDU5MjQsIDU5MjYsIDU5MjcsIDU5MjgsIDU5MzAsIDU5MzEsIDU5MzIsIDU5MzMsIDU5MzQsIDU5MzUsIDU5MzYsIDU5MzcsCisgNTkzOCwgNTkzOSwgNTk0MCwgNTk0MSwgNTk0MiwgNTk0MywgNTk0NCwgNTk0NSwgNTk0NiwgNTk0NywgNTk0OCwgNTk4MCwgNTk4MSwKKyA1OTgyLCA1OTgzLCA1OTg0LCA1OTg1LCA1OTg2LCA1OTg4LCA1OTg5LCA1OTkwLCA1OTkxLCA1OTkzLCA1OTk0LCA1OTk1LCA1OTk2LAorIDU5OTgsIDU5OTksIDYwMDAsIDYwMDEsIDYwMDMsIDYwMDQsIDYwMDUsIDYwMDYsIDYwMDgsIDYwMDksIDYwMTAsIDYwMTEsIDYwMTMsCisgNjAxNCwgNjAxNSwgNjAxNiwgNjAxNywgNjAyMSwgNjAyMiwgNjAyMywgNjAyNSwgNjAyNiwgNjAyNywgNjAyOCwgNjAzMCwgNjAzMSwKKyA2MDMyLCA2MDMzLCA2MDM1LCA2MDM2LCA2MDM3LCA2MDM4LCA2MDQwLCA2MDQxLCA2MDQyLCA2MDQzLCA2MDQ0LCA2MDQ1LCA2MDQ2LAorIDYwNDcsIDYwNDgsIDYwNDksIDYwNTAsIDYwNTEsIDYwNTIsIDYwNTMsIDYwNTQsIDYwNTUsIDYwNTYsIDYwNTcsIDYwNTgsIDYwNTksCisgNjA2MCwgNjA2MSwgNjA2MiwgNjA2NCwgNjA2NSwgNjA2NiwgNjA2NywgNjA2OSwgNjA3MCwgNjA3MSwgNjA3MiwgNjA3NCwgNjA3NSwKKyA2MDc2LCA2MDc3LCA2MDc5LCA2MDgwLCA2MDgxLCA2MDgyLCA2MDgzLCA2MDg0LCA2MDg1LCA2MDg2LCA2MDg3LCA2MDg4LCA2MDg5LAorIDYwOTAsIDYwOTEsIDYwOTIsIDYwOTMsIDYwOTQsIDYwOTUsIDYwOTYsIDYwOTcsIDYwOTgsIDYwOTksIDYxMDAsIDYxMDEsIDYxMDIsCisgNjEwMywgNjEwNywgNjEwOCwgNjEwOSwgNjExMSwgNjExMiwgNjExMywgNjExNCwgNjExNiwgNjExNywgNjExOCwgNjExOSwgNjEyMSwKKyA2MTIyLCA2MTIzLCA2MTI0LCA2MTI2LCA2MTI3LCA2MTI4LCA2MTI5LCA2MTMwLCA2MTMxLCA2MTMyLCA2MTMzLCA2MTM0LCA2MTM1LAorIDYxMzYsIDYxMzcsIDYxMzgsIDYxMzksIDYxNDAsIDYxNDEsIDYxNDIsIDYxNDMsIDYxNDQsIDYxNDUsIDYxNDYsIDYxNDcsIDYxNDgsCisgNjE0OSwgNjE1MSwgNjE1MiwgNjE1MywgNjE1NSwgNjE1NiwgNjE1NywgNjE1OCwgNjE2MCwgNjE2MSwgNjE2MiwgNjE2MywgNjE2NSwKKyA2MTY2LCA2MTY3LCA2MTY4LCA2MTcwLCA2MTcxLCA2MTcyLCA2MTczLCA2MTc0LCA2MTc1LCA2MTc2LCA2MTc3LCA2MTc4LCA2MTc5LAorIDYxODAsIDYxODEsIDYxODIsIDYxODMsIDYxODQsIDYxODUsIDYxODYsIDYxODcsIDYxODgsIDYxODksIDYxOTAsIDYxOTEsIDYxOTIsCisgNjE5NCwgNjE5NSwgNjE5NiwgNjE5NywgNjE5OSwgNjIwMCwgNjIwMSwgNjIwMiwgNjIwNCwgNjIwNSwgNjIwNiwgNjIwNywgNjIwOSwKKyA2MjEwLCA2MjExLCA2MjEyLCA2MjEzLCA2MjE0LCA2MjE1LCA2MjE2LCA2MjE3LCA2MjE4LCA2MjE5LCA2MjIwLCA2MjIxLCA2MjIyLAorIDYyMjMsIDYyMjQsIDYyMjUsIDYyMjYsIDYyMjcsIDYyMjgsIDYyMjksIDYyMzAsIDYyMzEsIDYyMzIsIDYyMzMsIDYyMzcsIDYyMzgsCisgNjIzOSwgNjI0MSwgNjI0MiwgNjI0MywgNjI0NCwgNjI0NiwgNjI0NywgNjI0OCwgNjI0OSwgNjI1MSwgNjI1MiwgNjI1MywgNjI1NCwKKyA2MjU2LCA2MjU3LCA2MjU4LCA2MjU5LCA2MjYwLCA2MjYxLCA2MjYyLCA2MjYzLCA2MjY0LCA2MjY1LCA2MjY2LCA2MjY3LCA2MjY4LAorIDYyNjksIDYyNzAsIDYyNzEsIDYyNzIsIDYyNzMsIDYyNzQsIDYyNzUsIDYyNzYsIDYyNzcsIDYyNzgsIDYyNzksIDYyODEsIDYyODIsCisgNjI4MywgNjI4NSwgNjI4NiwgNjI4NywgNjI4OCwgNjI5MCwgNjI5MSwgNjI5MiwgNjI5MywgNjI5NSwgNjI5NiwgNjI5NywgNjI5OCwKKyA2MzAwLCA2MzAxLCA2MzAyLCA2MzAzLCA2MzA0LCA2MzA1LCA2MzA2LCA2MzA3LCA2MzA4LCA2MzA5LCA2MzEwLCA2MzExLCA2MzEyLAorIDYzMTMsIDYzMTQsIDYzMTUsIDYzMTYsIDYzMTcsIDYzMTgsIDYzMTksIDYzMjAsIDYzMjEsIDYzMjIsIDYzMjMsIDYzMjUsIDYzMjYsCisgNjMyNywgNjMyOCwgNjMzMCwgNjMzMSwgNjMzMiwgNjMzMywgNjMzNSwgNjMzNiwgNjMzNywgNjMzOCwgNjM0MCwgNjM0MSwgNjM0MiwKKyA2MzQzLCA2MzQ1LCA2MzQ2LCA2MzQ3LCA2MzQ4LCA2MzUwLCA2MzUxLCA2MzUyLCA2MzUzLCA2MzU1LCA2MzU2LCA2MzU3LCA2MzU4LAorIDYzNjAsIDYzNjEsIDYzNjIsIDYzNjMsIDYzNjUsIDYzNjYsIDYzNjcsIDYzNjgsIDYzNzAsIDYzNzEsIDYzNzIsIDYzNzMsIDYzNzUsCisgNjM3NiwgNjM3NywgNjM3OSwgNjM4MCwgNjM4MSwgNjM4MiwgNjM4NCwgNjM4NSwgNjM4NiwgNjM4NywgNjM4OSwgNjM5MCwgNjM5MSwKKyA2MzkyLCA2Mzk0LCA2Mzk1LCA2Mzk2LCA2Mzk3LCA2Mzk4LCA2Mzk5LCA2NDAwLCA2NDAxLCA2NDAyLCA2NDAzLCA2NDA0LCA2NDA1LAorIDY0MDYsIDY0MDcsIDY0MDgsIDY0MDksIDY0MTAsIDY0MTEsIDY0MTIsIDY0MTMsIDY0MTQsIDY0MTUsIDY0MTYsIDY0MTgsIDY0MTksCisgNjQyMCwgNjQyMSwgNjQyMywgNjQyNCwgNjQyNSwgNjQyNiwgNjQyOCwgNjQyOSwgNjQzMCwgNjQzMSwgNjQzMywgNjQzNCwgNjQzNSwKKyA2NDM2LCA2NDM3LCA2NDM4LCA2NDM5LCA2NDQwLCA2NDQxLCA2NDQyLCA2NDQzLCA2NDQ0LCA2NDQ1LCA2NDQ2LCA2NDQ3LCA2NDQ4LAorIDY0NDksIDY0NTAsIDY0NTEsIDY0NTIsIDY0NTMsIDY0NTQsIDY0NTUsIDY0NTYsIDY0NTcsIDY0NTgsIDY0NjQsIDY0NjUsIDY0NjYsCisgNjQ2OCwgNjQ2OSwgNjQ3MCwgNjQ3MSwgNjQ3MywgNjQ3NCwgNjQ3NSwgNjQ3NiwgNjQ3OCwgNjQ3OSwgNjQ4MCwgNjQ4MSwgNjQ4MywKKyA2NDg0LCA2NDg1LCA2NDg2LCA2NDg3LCA2NDg4LCA2NDg5LCA2NDkwLCA2NDkyLCA2NDkzLCA2NDk0LCA2NDk2LCA2NDk3LCA2NDk4LAorIDY0OTksIDY1MDEsIDY1MDIsIDY1MDMsIDY1MDQsIDY1MDYsIDY1MDcsIDY1MDgsIDY1MDksIDY1MTEsIDY1MTIsIDY1MTMsIDY1MTQsCisgNjUxNSwgNjUxNiwgNjUxNywgNjUxOCwgNjUxOSwgNjUyMCwgNjUyMSwgNjUyMiwgNjUyMywgNjUyNCwgNjUyNSwgNjUyNiwgNjUyOCwKKyA2NTI5LCA2NTMwLCA2NTMxLCA2NTMzLCA2NTM0LCA2NTM1LCA2NTM2LCA2NTM4LCA2NTM5LCA2NTQwLCA2NTQxLCA2NTQzLCA2NTQ0LAorIDY1NDUsIDY1NDcsIDY1NDgsIDY1NDksIDY1NTEsIDY1NTIsIDY1NTMsIDY1NTUsIDY1NTYsIDY1NTcsIDY1NTgsIDY1NjAsIDY1NjEsCisgNjU2MiwgNjU2MywgNjU2NSwgNjU2NiwgNjU2NywgNjU2OCwgNjU3MCwgNjU3MSwgNjU3MiwgNjU3MywgNjU3NCwgNjU3NSwgNjU3NiwKKyA2NTc3LCA2NTc4LCA2NTc5LCA2NTgwLCA2NTgxLCA2NTgyLCA2NTgzLCA2NTg0LCA2NTg1LCA2NTg2LCA2NTg3LCA2NTg4LCA2NTg5LAorIDY1OTEsIDY1OTIsIDY1OTMsIDY1OTQsIDY1OTUsIDY1OTYsIDY1OTcsIDY1OTgsIDY1OTksIDY2MDAsIDY2MDEsIDY2MDIsIDY2MDMsCisgNjYwNCwgNjYyNiwgNjYyNywgNjYyOCwgNjYyOSwgNjYzMCwgNjYzMSwgNjYzMiwgNjYzNCwgNjYzNiwgNjYzNywgNjYzOCwgNjYzOSwKKyA2NjQxLCA2NjQyLCA2NjQzLCA2NjQ0LCA2NjQ2LCA2NjQ3LCA2NjQ4LCA2NjQ5LCA2NjUxLCA2NjUyLCA2NjUzLCA2NjU1LCA2NjU2LAorIDY2NTcsIDY2NTgsIDY2NTksIDY2NjAsIDY2NjEsIDY2NjIsIDY2NjMsIDY2NjQsIDY2NjUsIDY2NjYsIDY2NjcsIDY2NjgsIDY2NjksCisgNjY3MCwgNjY3MiwgNjY3MywgNjY3NCwgNjY3NSwgNjY3NywgNjY3OCwgNjY3OSwgNjY4MCwgNjY4MSwgNjY4MiwgNjY4MywgNjY4NCwKKyA2Njg1LCA2Njg2LCA2Njg3LCA2Njg4LCA2Njg5LCA2NjkwLCA2NjkxLCA2NjkyLCA2NjkzLCA2Njk0LCA2Njk1LCA2Njk3LCA2Njk4LAorIDY2OTksIDY3MDAsIDY3MDIsIDY3MDMsIDY3MDQsIDY3MDYsIDY3MDcsIDY3MDgsIDY3MTAsIDY3MTEsIDY3MTIsIDY3MTMsIDY3MTQsCisgNjcxNSwgNjcxNiwgNjcxOCwgNjcxOSwgNjcyMCwgNjcyMSwgNjcyMiwgNjcyMywgNjczMSwgNjczMiwgNjczMywgNjczNCwgNjczNywKKyA2NzM4LCA2NzM5LCA2NzQwLCA2NzQyLCA2NzQzLCA2NzQ0LCA2NzQ1LCA2NzQ2LCA2NzQ3LCA2NzQ4LCA2NzUwLCA2NzUxLCA2NzUyLAorIDY3NTMsIDY3NTUsIDY3NTYsIDY3NTcsIDY3NTgsIDY3NjAsIDY3NjEsIDY3NjIsIDY3NjMsIDY3NjQsIDY3NjUsIDY3NjYsIDY3NjcsCisgNjc2OSwgNjc3MCwgNjc3MSwgNjc3MiwgNjc3NCwgNjc3NSwgNjc3NiwgNjc3NywgNjc3OSwgNjc4MCwgNjc4MSwgNjc4MiwgNjc4NCwKKyA2Nzg1LCA2Nzg2LCA2Nzg3LCA2Nzg5LCA2NzkwLCA2NzkxLCA2NzkyLCA2Nzk0LCA2Nzk1LCA2Nzk2LCA2Nzk3LCA2Nzk4LCA2Nzk5LAorIDY4MDAsIDY4MDEsIDY4MDMsIDY4MDQsIDY4MDUsIDY4MDYsIDY4MDgsIDY4MDksIDY4MTAsIDY4MTEsIDY4MTMsIDY4MTQsIDY4MTUsCisgNjgxNiwgNjgxOCwgNjgxOSwgNjgyMCwgNjgyMSwgNjgyMywgNjgyNCwgNjgyNSwgNjgyNiwgNjgyOCwgNjgyOSwgNjgzMCwgNjgzMSwKKyA2ODMyLCA2ODMzLCA2ODM0LCA2ODM1LCA2ODM3LCA2ODM4LCA2ODM5LCA2ODQwLCA2ODQyLCA2ODQzLCA2ODQ0LCA2ODQ1LCA2ODQ3LAorIDY4NDgsIDY4NDksIDY4NTAsIDY4NTIsIDY4NTMsIDY4NTQsIDY4NTUsIDY4NTYsIDY4NTcsIDY4NTgsIDY4NTksIDY4NjEsIDY4NjIsCisgNjg2MywgNjg2NCwgNjg2NiwgNjg2NywgNjg2OCwgNjg2OSwgNjg3MSwgNjg3MiwgNjg3MywgNjg3NCwgNjg3NiwgNjg3NywgNjg3OCwKKyA2ODc5LCA2ODgwLCA2ODgxLCA2ODgyLCA2ODgzLCA2ODg1LCA2ODg2LCA2ODg3LCA2ODg4LCA2ODkwLCA2ODkxLCA2ODkyLCA2ODkzLAorIDY4OTUsIDY4OTYsIDY4OTcsIDY4OTgsIDY5MDAsIDY5MDEsIDY5MDIsIDY5MDMsIDY5MDUsIDY5MDYsIDY5MDcsIDY5MDgsIDY5MTAsCisgNjkxMSwgNjkxMiwgNjkxMywgNjkxNCwgNjkxNSwgNjkxNiwgNjkxNywgNjkyNywgNjkyOCwgNjkyOSwgNjkzMCwgNjkzMSwgNjkzMiwKKyA2OTMzLCA2OTM0LCA2OTM1LCA2OTM2LCA2OTM3LCA2OTM4LCA2OTM5LCA2OTQwLCA2OTQxLCA2OTQyLCA2OTQzLCA2OTQ0LCA2OTQ1LAorIDY5NDYsIDY5NDcsIDY5NDgsIDY5NDksIDY5NTMsIDY5NTQsIDY5NTUsIDY5NTcsIDY5NTksIDY5NjAsIDY5NjEsIDY5NjIsIDY5NjQsCisgNjk2NSwgNjk2NiwgNjk2NywgNjk2OSwgNjk3MCwgNjk3MSwgNjk3MiwgNjk3MywgNjk3NywgNjk3OCwgNjk3OSwgNjk4MCwgNjk4MSwKKyA2OTgyLCA2OTgzLCA2OTg3LCA2OTg4LCA2OTg5LCA2OTkwLCA2OTkxLCA2OTkyLCA2OTk2LCA2OTk3LCA2OTk4LCA2OTk5LCA3MDAwLAorIDcwMDQsIDcwMDUsIDcwMDYsIDcwMDgsIDcwMDksIDcwMTAsIDcwMTIsIDcwMTQsIDcwMjAsIDcwMjEsIDcwMjIsIDcwMjcsIDcwMjgsCisgNzAyOSwgNzAzMywgNzAzNCwgNzAzNSwgNzAzNywgNzAzOCwgNzAzOSwgNzA0NiwgNzA0NywgNzA0OCwgNzA1OCwgNzA1OSwgNzA2MCwKKyA3MDcwLCA3MDcxLCA3MDcyLCA3MDc2LCA3MDc3LCA3MDc4LCA3MDgyLCA3MDgzLCA3MDg0LCA3MDk0LCA3MDk1LCA3MDk2LCA3MDk3LAorIDcwOTgsIDcwOTksIDcxMDAsIDcxMDEsIDcxMDIsIDcxMDMsIDcxMDQsIDcxMDUsIDcxMTQsIDcxMTUsIDcxMTYsIDcxMTksIDcxMjAsCisgNzEyMSwgNzEyMiwgNzEyMywgNzEyNCwgNzEyNSwgNzEzNSwgNzEzNiwgNzEzNywgNzEzOCwgNzEzOSwgNzE0MCwgNzE0MSwgNzE0MiwKKyA3MTQzLCA3MTQ0LCA3MTQ3LCA3MTQ4LCA3MTQ5LCA3MTUxLCA3MTUyLCA3MTUzLCA3MTU0LCA3MTU1LCA3MTU2LCA3MTU4LCA3MTYwLAorIDcxNjEsIDcxNjIsIDcxNzEsIDcxNzIsIDcxNzMsIDcxNzQsIDcxNzUsIDcxNzYsIDcxNzcsIDcxNzgsIDcxODAsIDcxODEsIDcxODIsCisgNzE4MywgNzE4NSwgNzE4NiwgNzE4NywgNzE4OSwgNzE5MCwgNzE5MSwgNzIwMSwgNzIwMiwgNzIwMywgNzIwNiwgNzIwNywgNzIwOCwKKyA3MjE0LCA3MjE1LCA3MjE2LCA3MjE3LCA3MjE4LCA3MjE5LCA3MjIxLCA3MjIyLCA3MjIzLCA3MjI1LCA3MjI2LCA3MjI3LCA3MjI4LAorIDcyMjksIDcyMzAsIDcyMzEsIDcyMzIsIDcyMzMsIDcyMzQsIDcyNDEsIDcyNDIsIDcyNDMsIDcyNDYsIDcyNDcsIDcyNDgsIDcyNTEsCisgNzI1MiwgNzI1MywgNzI1NywgNzI1OCwgNzI1OSwgNzI2NSwgNzI2NiwgNzI2NywgNzI2OSwgNzI3MCwgNzI3MSwgNzI3MiwgNzI3MywKKyA3Mjc0LCA3Mjc1LCA3Mjc2LCA3MjgyLCA3MjgzLCA3Mjg0LCA3Mjg3LCA3Mjg4LCA3Mjg5LCA3MjkxLCA3MjkyLCA3MjkzLCA3MzAyLAorIDczMDMsIDczMDQsIDczMDUsIDczMDYsIDczMDcsIDczMDgsIDczMTEsIDczMTIsIDczMTMsIDczMTcsIDczMTgsIDczMTksIDczMjAsCisgNzMyMSwgNzMyMiwgNzMyMywgNzMyNCwgNzMyOSwgNzMzMCwgNzMzMSwgNzMzMywgNzMzNCwgNzMzNSwgNzMzNiwgNzMzNywgNzMzOCwKKyA3MzM5LCA3MzQwLCA3MzQxLCA3MzQyLCA3MzQzLCA3MzQ0LCA3MzQ1LCA3MzQ2LCA3MzQ4LCA3MzQ5LCA3MzUwLCA3MzUyLCA3MzUzLAorIDczNTQsIDczNTksIDczNjAsIDczNjEsIDczNjMsIDczNjQsIDczNjUsIDczNjYsIDczNjcsIDczNjgsIDczNjksIDczNzAsIDczNzEsCisgNzM3NywgNzM3OCwgNzM3OSwgNzM4MCwgNzM4MSwgNzM4MiwgNzM4MywgNzM4NCwgNzM4NSwgNzM4NiwgNzM4NywgNzM4OCwgNzM4OSwKKyA3MzkwLCA3MzkxLCA3MzkyLCA3MzkzLCA3Mzk0LCA3Mzk1LCA3NDAwLCA3NDAxLCA3NDAyLCA3NDAzLCA3NDA0LCA3NDA1LCA3NDA2LAorIDc0MDcsIDc0MDgsIDc0MDksIDc0MTAsIDc0MTIsIDc0MTMsIDc0MTQsIDc0MTUsIDc0MTYsIDc0MTcsIDc0MTgsIDc0MTksIDc0MjAsCisgNzQyMSwgNzQyMiwgNzQyNiwgNzQyNywgNzQyOCwgNzQyOSwgNzQzMCwgNzQzNCwgNzQzNSwgNzQzNiwgNzQzOCwgNzQzOSwgNzQ0MCwKKyA3NDQxLCA3NDQyLCA3NDQzLCA3NDQ0LCA3NDQ1LCA3NDQ2LCA3NDQ3LCA3NDQ4LCA3NDQ5LCA3NDUwLCA3NDUxLCA3NDUyLCA3NDUzLAorIDc0NTcsIDc0NTgsIDc0NTksIDc0NjAsIDc0NjEsIDc0NjIsIDc0NjMsIDc0NjUsIDc0NjYsIDc0NjcsIDc0NjgsIDc0NjksIDc0NzAsCisgNzQ3MywgNzQ3NCwgNzQ3NSwgNzQ3NywgNzQ3OCwgNzQ3OSwgNzQ4MCwgNzQ4MSwgNzQ4MiwgNzQ4MywgNzQ4NCwgNzQ4NSwgNzQ4NiwKKyA3NDkwLCA3NDkxLCA3NDkyLCA3NDkzLCA3NDk0LCA3NDk3LCA3NDk4LCA3NDk5LCA3NTAwLCA3NTAxLCA3NTAyLCA3NTAzLCA3NTA0LAorIDc1MDUsIDc1MTAsIDc1MTEsIDc1MTIsIDc1MTMsIDc1MTQsIDc1MTUsIDc1MTksIDc1MjAsIDc1MjEsIDc1MjIsIDc1MjMsIDc1MjQsCisgNzUyNSwgNzUyNiwgNzUyNywgNzUyOCwgNzUzMiwgNzUzMywgNzUzNCwgNzUzNiwgNzUzNywgNzUzOCwgNzUzOSwgNzU0MCwgNzU0MiwKKyA3NTQzLCA3NTQ0LCA3NTQ1LCA3NTQ2LCA3NTQ3LCA3NTQ4LCA3NTQ5LCA3NTUwLCA3NTUxLCA3NTUyLCA3NTUzLCA3NTU0LCA3NTU1LAorIDc1NTYsIDc1NTcsIDc1NTgsIDc1NTksIDc1NjAsIDc1NjEsIDc1NjIsIDc1NjMsIDc1NjQsIDc1NjUsIDc1NjYsIDc1NjcsIDc1NzIsCisgNzU3MywgNzU3NCwgNzU3NSwgNzU3NiwgNzU3NywgNzU3OCwgNzU3OSwgNzU4MCwgNzU4MSwgNzU4MiwgNzU4MywgNzU4NCwgNzU4NSwKKyA3NTg2LCA3NTg3LCA3NTg4LCA3NTg5LCA3NTkwLCA3NTkxLCA3NTkyLCA3NTkzLCA3NTk0LCA3NTk1LCA3NTk2LCA3NTk3LCA3NTk4LAorIDc1OTksIDc2MDAsIDc2MDEsIDc2MDUsIDc2MDYsIDc2MDcsIDc2MDgsIDc2MDksIDc2MTAsIDc2MTEsIDc2MTIsIDc2MTMsIDc2MTUsCisgNzYxNiwgNzYxNywgNzYxOCwgNzYxOSwgNzYyMCwgNzYyMSwgNzYyMiwgNzYyMywgNzYyNCwgNzYyNSwgNzYyOCwgNzYyOSwgNzYzMCwKKyA3NjMyLCA3NjMzLCA3NjM0LCA3NjM5LCA3NjQwLCA3NjQxLCA3NjQ3LCA3NjQ4LCA3NjQ5LCA3NjUwLCA3NjUxLCA3NjUyLCA3NjU0LAorIDc2NjMsIDc2NjQsIDc2NjUsIDc2NzAsIDc2NzEsIDc2NzIsIDc2NzUsIDc2NzYsIDc2NzcsIDc2NzgsIDc2NzksIDc2ODAsIDc2ODEsCisgNzY4MiwgNzY4MywgNzY5MCwgNzY5MSwgNzY5MiwgNzY5MywgNzY5NCwgNzY5NSwgNzY5NiwgNzY5NywgNzY5OCwgNzY5OSwgNzcwMCwKKyA3NzAxLCA3NzAyLCA3NzA0LCA3NzA2LCA3NzEwLCA3NzExLCA3NzEyLCA3NzE4LCA3NzE5LCA3NzIwLCA3NzI4LCA3NzI5LCA3NzMwLAorIDc3MzksIDc3NDAsIDc3NDEsIDc3NDQsIDc3NDUsIDc3NDYsIDc3NDgsIDc3NTQsIDc3NTUsIDc3NTYsIDc3NjIsIDc3NjMsIDc3NjQsCisgNzc2NiwgNzc2NywgNzc2OCwgNzc2OSwgNzc3MCwgNzc3MSwgNzc3MiwgNzc3MywgNzc3NCwgNzc3NSwgNzc3NiwgNzc3NywgNzc3OCwKKyA3Nzc5LCA3Nzg3LCA3Nzg4LCA3Nzg5LCA3NzkwLCA3NzkxLCA3NzkyLCA3NzkzLCA3Nzk0LCA3Nzk1LCA3Nzk2LCA3Nzk3LCA3Nzk4LAorIDc4MTAsIDc4MTEsIDc4MTIsIDc4MTQsIDc4MTUsIDc4MTYsIDc4MTcsIDc4MTgsIDc4MTksIDc4MjAsIDc4MjEsIDc4MjIsIDc4MjQsCisgNzgyNSwgNzgyNiwgNzgyNywgNzgyOCwgNzgyOSwgNzgzMCwgNzgzMSwgNzgzMiwgNzgzMywgNzgzNCwgNzgzNSwgNzgzNiwgNzgzNywKKyA3ODM4LCA3ODQyLCA3ODQzLCA3ODQ0LCA3ODQ1LCA3ODQ2LCA3ODQ3LCA3ODQ4LCA3ODQ5LCA3ODUwLCA3ODUyLCA3ODUzLCA3ODU0LAorIDc4NTUsIDc4NTYsIDc4NTcsIDc4NTgsIDc4NTksIDc4NjAsIDc4NjIsIDc4NjMsIDc4NjQsIDc4NjUsIDc4NjYsIDc4NjcsIDc4NjgsCisgNzg2OSwgNzg3MCwgNzg3MSwgNzg3MiwgNzg3MywgNzg3NCwgNzg3NSwgNzg3NiwgNzg3NywgNzg3OCwgNzg3OSwgNzg4MiwgNzg4MywKKyA3ODg0LCA3ODg1LCA3ODg2LCA3ODg3LCA3ODg4LCA3ODg5LCA3ODkwLCA3ODkxLCA3ODkyLCA3ODkzLCA3ODk0LCA3ODk1LCA3ODk2LAorIDc4OTcsIDc4OTgsIDc4OTksIDc5MDAsIDc5MDEsIDc5MDIsIDc5MDMsIDc5MDQsIDc5MDUsIDc5MTIsIDc5MTMsIDc5MTQsIDc5MTUsCisgNzkxNiwgNzkxNywgNzkxOCwgNzkxOSwgNzkyMCwgNzkyMSwgNzkyMiwgNzkyMywgNzkyNCwgNzkyNSwgNzkyNiwgNzkyNywgNzkyOCwKKyA3OTI5LCA3OTMwLCA3OTMxLCA3OTMyLCA3OTMzLCA3OTM0LCA3OTM1LCA3OTM2LCA3OTM3LCA3OTM4LCA3OTQ2LCA3OTQ3LCA3OTQ4LAorIDc5NDksIDc5NTAsIDc5NTEsIDc5NTIsIDc5NTMsIDc5NTQsIDc5NTUsIDc5NTYsIDc5NjQsIDc5NjUsIDc5NjYsIDc5NjcsIDc5NjgsCisgNzk2OSwgNzk3MCwgNzk3MSwgNzk3MiwgNzk3MywgNzk3NCwgNzk3NSwgNzk3NiwgNzk3NywgNzk3OCwgNzk3OSwgNzk4MCwgNzk4MSwKKyA3OTgyLCA3OTgzLCA3OTg0LCA3OTg1LCA3OTg2LCA3OTg3LCA3OTk0LCA3OTk1LCA3OTk2LCA3OTk3LCA3OTk4LCA3OTk5LCA4MDAwLAorIDgwMDEsIDgwMDIsIDgwMDMsIDgwMDQsIDgwMDUsIDgwMDYsIDgwMDcsIDgwMDgsIDgwMDksIDgwMTAsIDgwMTEsIDgwMTIsIDgwMTMsCisgODAxNCwgODAyMCwgODAyMSwgODAyMiwgODAyMywgODAyNCwgODAyNSwgODAyNiwgODAyNywgODAyOCwgODAyOSwgODAzMCwgODAzMSwKKyA4MDMyLCA4MDMzLCA4MDM0LCA4MDM1LCA4MDM2LCA4MDM3LCA4MDQyLCA4MDQzLCA4MDQ0LCA4MDQ1LCA4MDQ2LCA4MDQ3LCA4MDQ4LAorIDgwNDksIDgwNTAsIDgwNTEsIDgwNTIsIDgwNTMsIDgwNTQsIDgwNTUsIDgwNTYsIDgwNjAsIDgwNjEsIDgwNjIsIDgwNjMsIDgwNjQsCisgODA2NSwgODA2NiwgODA3MCwgODA3MSwgODA3MiwgODA3MywgODA3NCwgODA3NSwgODA3NiwgODA3NywgODA3OCwgODA3OSwgODA4MCwKKyA4MDgxLCA4MDgyLCA4MDgzLCA4MDg0LCA4MDg1LCA4MDg2LCA4MDg3LCA4MDg4LCA4MDg5LCA4MDkwLCA4MDk0LCA4MDk1LCA4MDk2LAorIDgwOTcsIDgwOTgsIDgxMDAsIDgxMDEsIDgxMDIsIDgxMDMsIDgxMDQsIDgxMDUsIDgxMDYsIDgxMDcsIDgxMDgsIDgxMDksIDgxMTAsCisgODExMSwgODExNCwgODExNSwgODExNiwgODExNywgODExOCwgODExOSwgODEyMCwgODEyMSwgODEyMiwgODEyMywgODEyNCwgODEyNSwKKyA4MTI2LCA4MTI3LCA4MTI4LCA4MTMwLCA4MTMxLCA4MTMyLCA4MTMzLCA4MTM0LCA4MTM1LCA4MTM2LCA4MTM3LCA4MTM4LCA4MTM5LAorIDgxNDAsIDgxNDEsIDgxNDIsIDgxNDYsIDgxNDcsIDgxNDgsIDgxNDksIDgxNTAsIDgxNTEsIDgxNTIsIDgxNTMsIDgxNTQsIDgxNTUsCisgODE1NiwgODE1NywgODE1OCwgODE1OSwgODE2MCwgODE2MSwgODE2MiwgODE2MywgODE2NCwgODE2NSwgODE2NiwgODE2NywgODE3MCwKKyA4MTcxLCA4MTcyLCA4MTczLCA4MTc0LCA4MTc1LCA4MTc2LCA4MTc3LCA4MTc4LCA4MTc5LCA4MTgwLCA4MTgyLCA4MTgzLCA4MTg0LAorIDgxODUsIDgxODYsIDgxODcsIDgxODgsIDgxODksIDgxOTAsIDgxOTYsIDgxOTcsIDgxOTgsIDgxOTksIDgyMDAsIDgyMDEsIDgyMDIsCisgODIwMywgODIwNCwgODIwNSwgODIwNiwgODIwNywgODIwOCwgODIwOSwgODIxMCwgODIxMSwgODIxMiwgODIxMywgODIxNCwgODIxNSwKKyA4MjE2LCA4MjE3LCA4MjE4LCA4MjE5LCA4MjIwLCA4MjIxLCA4MjIyLCA4MjI0LCA4MjI1LCA4MjI2LCA4MjI3LCA4MjI4LCA4MjI5LAorIDgyMzAsIDgyMzEsIDgyMzIsIDgyMzMsIDgyMzQsIDgyMzUsIDgyMzYsIDgyMzcsIDgyMzgsIDgyMzksIDgyNDIsIDgyNDMsIDgyNDQsCisgODI0NSwgODI0NiwgODI0NywgODI0OCwgODI0OSwgODI1MCwgODI1MSwgODI1MiwgODI1MywgODI1NCwgODI1NSwgODI1NiwgODI1NywKKyA4MjU4LCA4MjU5LCA4MjYwLCA4MjYxLCA4MjYyLCA4MjYzLCA4MjY0LCA4MjY1LCA4MjY2LCA4MjY4LCA4MjY5LCA4MjcwLCA4MjcxLAorIDgyNzIsIDgyNzMsIDgyNzQsIDgyNzUsIDgyNzYsIDgyNzcsIDgyNzgsIDgyNzksIDgyODAsIDgyODEsIDgyODIsIDgyODMsIDgyODQsCisgODI4NSwgODI4NiwgODI4NywgODI4OCwgODI4OSwgODI5MCwgODI5MSwgODI5MiwgODI5MywgODI5NCwgODI5NSwgODI5NiwgODI5NywKKyA4Mjk4LCA4Mjk5LCA4MzAwLCA4MzAxLCA4MzAyLCA4MzAzLCA4MzA0LCA4MzA1LCA4MzA2LCA4MzA3LCA4MzA4LCA4MzA5LCA4MzEwLAorIDgzMTEsIDgzMTIsIDgzMTMsIDgzMTQsIDgzMTUsIDgzMTYsIDgzMTcsIDgzMTgsIDgzMTksIDgzMjAsIDgzMjQsIDgzMjUsIDgzMjYsCisgODMyNywgODMyOCwgODMyOSwgODMzMCwgODMzMSwgODMzMiwgODMzNCwgODMzNSwgODMzNiwgODMzNywgODMzOCwgODMzOSwgODM0MCwKKyA4MzQxLCA4MzQyLCA4MzQ4LCA4MzQ5LCA4MzUwLCA4MzUxLCA4MzUzLCA4MzU0LCA4MzU1LCA4MzU2LCA4MzU4LCA4MzU5LCA4MzYwLAorIDgzNjEsIDgzNjMsIDgzNjQsIDgzNjUsIDgzNjYsIDgzNjgsIDgzNjksIDgzNzAsIDgzNzEsIDgzNzIsIDgzNzMsIDgzODUsIDgzODYsCisgODM4NywgODM4OCwgODM5MCwgODM5MSwgODM5MiwgODM5MywgODM5NCwgODM5NSwgODM5NiwgODM5NywgODM5OCwgODM5OSwgODQwMCwKKyA4NDAyLCA4NDAzLCA4NDA0LCA4NDA1LCA4NDA3LCA4NDA4LCA4NDA5LCA4NDEwLCA4NDEyLCA4NDEzLCA4NDE0LCA4NDE1LCA4NDE2LAorIDg0MTcsIDg0MTgsIDg0MTksIDg0MjAsIDg0MjEsIDg0MjIsIDg0MjMsIDg0MjQsIDg0MjUsIDg0MjYsIDg0MjcsIDg0MjgsIDg0MjksCisgODQzMCwgODQzMSwgODQzMiwgODQzMywgODQzNCwgODQzNSwgODQzNiwgODQzNywgODQzOCwgODQzOSwgODQ0MCwgODQ0MSwgODQ0MiwKKyA4NDQ0LCA4NDQ1LCA4NDQ2LCA4NDQ3LCA4NDQ5LCA4NDUwLCA4NDUxLCA4NDUyLCA4NDU0LCA4NDU1LCA4NDU2LCA4NDU3LCA4NDU5LAorIDg0NjAsIDg0NjEsIDg0NjIsIDg0NjQsIDg0NjUsIDg0NjYsIDg0NjcsIDg0NjgsIDg0NjksIDg0NzAsIDg0NzEsIDg0NzIsIDg0NzMsCisgODQ3NCwgODQ3NSwgODQ3NiwgODQ3NywgODQ3OCwgODQ3OSwgODQ4MCwgODQ4MSwgODQ4MiwgODQ4MywgODQ4NCwgODQ4NSwgODQ4NiwKKyA4NDg3LCA4NDg5LCA4NDkwLCA4NDkxLCA4NDkyLCA4NDk0LCA4NDk1LCA4NDk2LCA4NDk3LCA4NDk5LCA4NTAwLCA4NTAxLCA4NTAyLAorIDg1MDQsIDg1MDUsIDg1MDYsIDg1MDcsIDg1MDksIDg1MTAsIDg1MTEsIDg1MTIsIDg1MTQsIDg1MTUsIDg1MTYsIDg1MTcsIDg1MTksCisgODUyMCwgODUyMSwgODUyMiwgODUyNSwgODUyNiwgODUyNywgODUyOCwgODUyOSwgODUzMCwgODUzMSwgODUzMiwgODUzMywgODUzNCwKKyA4NTM1LCA4NTM3LCA4NTM4LCA4NTM5LCA4NTQwLCA4NTQyLCA4NTQzLCA4NTQ0LCA4NTQ1LCA4NTQ3LCA4NTQ4LCA4NTQ5LCA4NTUwLAorIDg1NTIsIDg1NTMsIDg1NTQsIDg1NTUsIDg1NTcsIDg1NTgsIDg1NTksIDg1NjAsIDg1NjEsIDg1NjIsIDg1NjMsIDg1NjQsIDg1NjYsCisgODU2NywgODU2OCwgODU2OSwgODU3MSwgODU3MiwgODU3MywgODU3NCwgODU3NiwgODU3NywgODU3OCwgODU3OSwgODU4MSwgODU4MiwKKyA4NTgzLCA4NTg0LCA4NTg2LCA4NTg3LCA4NTg4LCA4NTg5LCA4NTkxLCA4NTkyLCA4NTkzLCA4NTk0LCA4NTk2LCA4NTk3LCA4NTk4LAorIDg1OTksIDg2MDAsIDg2MDEsIDg2MDIsIDg2MDQsIDg2MDYsIDg2MTUsIDg2MTYsIDg2MTcsIDg2MTgsIDg2MTksIDg2MjAsIDg2MjEsCisgODYyMiwgODYyMywgODYyNCwgODYyNSwgODYyNiwgODYyNywgODYyOCwgODYyOSwgODYzMCwgODYzMSwgODYzMiwgODYzMywgODYzNiwKKyA4NjM3LCA4NjM4LCA4NjM5LCA4NjQwLCA4NjQxLCA4NjQzLCA4NjQ0LCA4NjQ1LCA4NjQ2LCA4NjQ3LCA4NjQ4LCA4NjUxLCA4NjUyLAorIDg2NTMsIDg2NTQsIDg2NTUsIDg2NTYsIDg2NTcsIDg2NTgsIDg2NjMsIDg2NjQsIDg2NjUsIDg2NjYsIDg2NjksIDg2NzAsIDg2NzEsCisgODY3MiwgODY3MywgODY3NCwgODY3NSwgODY3NiwgODY3OCwgODY3OSwgODY4MCwgODY4MSwgODY4MiwgODY4MywgODY4NywgODY4OCwKKyA4Njg5LCA4NjkxLCA4NjkyLCA4NjkzLCA4Njk0LCA4Njk2LCA4Njk3LCA4Njk4LCA4Njk5LCA4NzAwLCA4NzAxLCA4NzAyLCA4NzAzLAorIDg3MDQsIDg3MDUsIDg3MDYsIDg3MDcsIDg3MDgsIDg3MDksIDg3MTAsIDg3MTEsIDg3MTIsIDg3MTMsIDg3MTQsIDg3MTUsIDg3MTYsCisgODcxNywgODcxOCwgODcxOSwgODcyMCwgODcyMSwgODcyMiwgODcyMywgODcyNCwgODcyNSwgODcyNiwgODcyNywgODcyOCwgODcyOSwKKyA4NzMwLCA4NzMyLCA4NzMzLCA4NzM0LCA4NzM1LCA4NzM3LCA4NzM4LCA4NzM5LCA4NzQwLCA4NzQyLCA4NzQzLCA4NzQ0LCA4NzQ1LAorIDg3NDYsIDg3NDcsIDg3NDgsIDg3NDksIDg3NTAsIDg3NTEsIDg3NTIsIDg3NTMsIDg3NTQsIDg3NTUsIDg3NTYsIDg3NTcsIDg3NTgsCisgODc1OSwgODc2MCwgODc2MSwgODc2MiwgODc2MywgODc2NCwgODc2NSwgODc2NiwgODc2NywgODc2OCwgODc2OSwgODc3MCwgODc3MSwKKyA4NzcyLCA4Nzc0LCA4Nzc1LCA4Nzc2LCA4Nzc3LCA4Nzc4LCA4Nzc5LCA4NzgwLCA4NzgxLCA4NzgyLCA4NzgzLCA4Nzg0LCA4Nzg1LAorIDg3ODYsIDg3ODcsIDg3ODgsIDg3ODksIDg3OTAsIDg3OTEsIDg3OTIsIDg3OTMsIDg3OTQsIDg3OTUsIDg3OTYsIDg3OTcsIDg3OTgsCisgODc5OSwgODgwMCwgODgwMSwgODgwMiwgODgwMywgODgwNCwgODgwNSwgODgwNiwgODgwNywgODgwOCwgODgwOSwgODgxMCwgODgxMSwKKyA4ODEyLCA4ODEzLCA4ODE0LCA4ODE1LCA4ODE2LCA4ODE3LCA4ODE4LCA4ODE5LCA4ODIwLCA4ODIxLCA4ODIyLCA4ODIzLCA4ODI0LAorIDg4MjUsIDg4MjYsIDg4MjcsIDg4MjgsIDg4MjksIDg4MzAsIDg4MzEsIDg4MzIsIDg4MzMsIDg4MzQsIDg4MzUsIDg4MzYsIDg4MzcsCisgODgzOCwgODgzOSwgODg0MCwgODg0MSwgODg0MiwgODg0MywgODg0NCwgODg0NSwgODg0NiwgODg0NywgODg0OCwgODg0OSwgODg1MCwKKyA4ODUxLCA4ODUyLCA4ODUzLCA4ODU0LCA4ODU1LCA4ODU2LCA4ODU3LCA4ODU4LCA4ODU5LCA4ODYwLCA4ODYxLCA4ODYyLCA4ODYzLAorIDg4NjQsIDg4NjUsIDg4NjYsIDg4NjcsIDg4NjgsIDg4NjksIDg4NzAsIDg4NzEsIDg4NzIsIDg4NzMsIDg4NzQsIDg4NzUsIDg4NzYsCisgODg3NywgODg3OCwgODg3OSwgODg4MCwgODg4MSwgODg4MiwgODg4MywgODg4NCwgODg4NSwgODg4NiwgODg4NywgODg4OCwgODg4OSwKKyA4ODkwLCA4ODkxLCA4ODkyLCA4ODkzLCA4ODk0LCA4ODk1LCA4ODk2LCA4ODk3LCA4ODk4LCA4ODk5LCA4OTAwLCA4OTAxLCA4OTAyLAorIDg5MDMsIDg5MDQsIDg5MDUsIDg5MDYsIDg5MDcsIDg5MDgsIDg5MDksIDg5MTAsIDg5MTEsIDg5MTIsIDg5MTMsIDg5MTQsIDg5MTUsCisgODkxNiwgODkxNywgODkxOCwgODkxOSwgODkyMCwgODkyMSwgODkyMiwgODkyMywgODkyNCwgODkyNiwgODkyOCwgODkzMCwgODkzMiwKKyA4OTM0LCA4OTM2LCA4OTM4LCA4OTQwLCA4OTQyLCA4OTUxLCA4OTUyLCA4OTUzLCA4OTU0LCA4OTU1LCA4OTU2LCA4OTU3LCA4OTU4LAorIDg5NTksIDg5NjAsIDg5NjEsIDg5NjIsIDg5NjMsIDg5NjQsIDg5NjUsIDg5NjYsIDg5NjcsIDg5NjgsIDg5NjksIDg5NzAsIDg5NzEsCisgODk3MywgODk3NCwgODk3NSwgODk3NiwgODk3NywgODk3OCwgODk4MSwgODk4MiwgODk4MywgODk4NCwgODk4NiwgODk4NywgODk4OCwKKyA4OTg5LCA4OTkwLCA4OTkxLCA4OTk3LCA4OTk4LCA4OTk5LCA5MDAwLCA5MDAxLCA5MDAyLCA5MDAzLCA5MDA0LCA5MDA1LCA5MDA2LAorIDkwMDcsIDkwMDgsIDkwMDksIDkwMTAsIDkwMTEsIDkwMTIsIDkwMTMsIDkwMTQsIDkwMTUsIDkwMTcsIDkwMTgsIDkwMTksIDkwMjAsCisgOTAyMSwgOTAyMiwgOTAyMywgOTAyNCwgOTAyNiwgOTAyNywgOTAyOCwgOTAyOSwgOTAzMSwgOTAzMiwgOTAzMywgOTAzNCwgOTAzNSwKKyA5MDM2LCA5MDM3LCA5MDM4LCA5MDM5LCA5MDQwLCA5MDQyLCA5MDQzLCA5MDQ0LCA5MDQ1LCA5MDQ3LCA5MDQ4LCA5MDQ5LCA5MDUwLAorIDkwNTIsIDkwNTMsIDkwNTQsIDkwNTUsIDkwNTYsIDkwNjAsIDkwNjEsIDkwNjIsIDkwNjMsIDkwNjQsIDkwNjUsIDkwNjYsIDkwNjcsCisgOTA2OCwgOTA2OSwgOTA3MCwgOTA3MSwgOTA3MiwgOTA3MywgOTA3NCwgOTA3NSwgOTA3NiwgOTA3NywgOTA3OCwgOTA3OSwgOTA4MCwKKyA5MDgxLCA5MDgzLCA5MDg0LCA5MDg1LCA5MDg2LCA5MDg3LCA5MDg4LCA5MDg5LCA5MDkwLCA5MDkxLCA5MDkyLCA5MDkzLCA5MDk0LAorIDkwOTUsIDkwOTYsIDkwOTcsIDkwOTgsIDkwOTksIDkxMDAsIDkxMDEsIDkxMDIsIDkxMDMsIDkxMDQsIDkxMDUsIDkxMDYsIDkxMDcsCisgOTEwOCwgOTEwOSwgOTExMCwgOTExMSwgOTExMiwgOTExMywgOTExNCwgOTExNSwgOTExNiwgOTExNywgOTExOCwgOTExOSwgOTEyMCwKKyA5MTIxLCA5MTIyLCA5MTI0LCA5MTI1LCA5MTI2LCA5MTI3LCA5MTI4LCA5MTMxLCA5MTMyLCA5MTMzLCA5MTM0LCA5MTM1LCA5MTM5LAorIDkxNDAsIDkxNDEsIDkxNDIsIDkxNDMsIDkxNDQsIDkxNDUsIDkxNTEsIDkxNTIsIDkxNTMsIDkxNTQsIDkxNTYsIDkxNTcsIDkxNTgsCisgOTE1OSwgOTE2MSwgOTE2MiwgOTE2MywgOTE2NCwgOTE2NiwgOTE2NywgOTE2OCwgOTE2OSwgOTE3NiwgOTE3NywgOTE3OCwgOTE3OSwKKyA5MTgwLCA5MTgxLCA5MTgzLCA5MTg0LCA5MTg1LCA5MTg2LCA5MTg4LCA5MTg5LCA5MTkwLCA5MTkxLCA5MTkzLCA5MTk0LCA5MTk1LAorIDkxOTYsIDkxOTgsIDkxOTksIDkyMDAsIDkyMDEsIDkyMDMsIDkyMDQsIDkyMDUsIDkyMDYsIDkyMDcsIDkyMDksIDkyMTAsIDkyMTEsCisgOTIxMiwgOTIxNCwgOTIxNSwgOTIxNiwgOTIxOCwgOTIxOSwgOTIyMCwgOTIyMSwgOTIyMywgOTIyNCwgOTIyNSwgOTIyNiwgOTIyOCwKKyA5MjI5LCA5MjMwLCA5MjMxLCA5MjMzLCA5MjM0LCA5MjM1LCA5MjM2LCA5MjM3LCA5MjM4LCA5MjM5LCA5MjQwLCA5MjQxLCA5MjQyLAorIDkyNDMsIDkyNDQsIDkyNDUsIDkyNDYsIDkyNDcsIDkyNDgsIDkyNDksIDkyNTAsIDkyNTEsIDkyNTIsIDkyNTMsIDkyNTQsIDkyNTUsCisgOTI1NiwgOTI1OCwgOTI1OSwgOTI2MCwgOTI2MSwgOTI2MywgOTI2NCwgOTI2NSwgOTI2NiwgOTI2OCwgOTI2OSwgOTI3MCwgOTI3MSwKKyA5MjczLCA5Mjc0LCA5Mjc1LCA5Mjc2LCA5Mjc4LCA5Mjc5LCA5MjgwLCA5MjgxLCA5MjgzLCA5Mjg0LCA5Mjg1LCA5Mjg2LCA5Mjg4LAorIDkyODksIDkyOTAsIDkyOTEsIDkyOTMsIDkyOTQsIDkyOTUsIDkyOTYsIDkyOTgsIDkyOTksIDkzMDAsIDkzMDEsIDkzMDMsIDkzMDQsCisgOTMwNSwgOTMwNiwgOTMwOCwgOTMwOSwgOTMxMCwgOTMxMSwgOTMxMywgOTMxNCwgOTMxNSwgOTMxNiwgOTMxNywgOTMxOCwgOTMxOSwKKyA5MzIwLCA5MzIyLCA5MzIzLCA5MzI0LCA5MzI3LCA5MzI4LCA5MzI5LCA5MzMwLCA5MzMxLCA5MzMyLCA5MzMzLCA5MzM1LCA5MzM2LAorIDkzMzcsIDkzMzgsIDkzNDAsIDkzNDEsIDkzNDIsIDkzNDMsIDkzNDUsIDkzNDYsIDkzNDcsIDkzNDgsIDkzNTAsIDkzNTEsIDkzNTIsCisgOTM1MywgOTM1NCwgOTM1NSwgOTM1NiwgOTM1OCwgOTM1OSwgOTM2MCwgOTM2MSwgOTM2MywgOTM2NCwgOTM2NSwgOTM2NywgOTM2OCwKKyA5MzY5LCA5MzcwLCA5MzcyLCA5MzczLCA5Mzc0LCA5Mzc2LCA5Mzc3LCA5Mzc4LCA5Mzc5LCA5MzgxLCA5MzgyLCA5MzgzLCA5Mzg0LAorIDkzODUsIDkzODYsIDkzODcsIDkzOTIsIDkzOTMsIDkzOTQsIDkzOTUsIDkzOTYsIDkzOTcsIDkzOTgsIDk0MDMsIDk0MDQsIDk0MDUsCisgOTQwNiwgOTQwNywgOTQwOCwgOTQwOSwgOTQxMCwgOTQxMSwgOTQxNCwgOTQxNSwgOTQxNiwgOTQxNywgOTQyMSwgOTQyMiwgOTQyMywKKyA5NDI0LCA5NDI2LCA5NDI3LCA5NDI4LCA5NDI5LCA5NDMxLCA5NDMyLCA5NDM4LCA5NDM5LCA5NDQwLCA5NDQyLCA5NDQzLCA5NDQ0LAorIDk0NDUsIDk0NDYsIDk0NDcsIDk0NDgsIDk0NDksIDk0NTEsIDk0NTIsIDk0NTMsIDk0NTQsIDk0NTYsIDk0NTcsIDk0NTgsIDk0NTksCisgOTQ2MSwgOTQ2MiwgOTQ2MywgOTQ2NCwgOTQ2NiwgOTQ2NywgOTQ2OCwgOTQ2OSwgOTQ3MSwgOTQ3MiwgOTQ3MywgOTQ3NCwgOTQ3NiwKKyA5NDc3LCA5NDc4LCA5NDc5LCA5NDgwLCA5NDgxLCA5NDgyLCA5NDgzLCA5NDg0LCA5NDg1LCA5NDg2LCA5NDg3LCA5NDg4LCA5NDg5LAorIDk0OTAsIDk0OTEsIDk0OTIsIDk0OTMsIDk0OTQsIDk0OTUsIDk0OTYsIDk0OTcsIDk0OTgsIDk0OTksIDk1MDAsIDk1MDEsIDk1MDIsCisgOTUwMywgOTUwNCwgOTUwNSwgOTUwNiwgOTUwNywgOTUwOCwgOTUxMCwgOTUxMSwgOTUxMiwgOTUxMywgOTUxNCwgOTUxNSwgOTUxNiwKKyA5NTE3LCA5NTE4LCA5NTE5LCA5NTIwLCA5NTIxLCA5NTIzLCA5NTI0LCA5NTI1LCA5NTI2LCA5NTI4LCA5NTI5LCA5NTMwLCA5NTMxLAorIDk1MzMsIDk1MzQsIDk1MzUsIDk1MzYsIDk1MzgsIDk1MzksIDk1NDAsIDk1NDEsIDk1NDMsIDk1NDQsIDk1NDUsIDk1NDYsIDk1NDgsCisgOTU0OSwgOTU1MCwgOTU1MSwgOTU1MywgOTU1NCwgOTU1NSwgOTU1NiwgOTU1NywgOTU1OCwgOTU1OSwgOTU2MCwgOTU2MiwgOTU2MywKKyA5NTY0LCA5NTY1LCA5NTY3LCA5NTY4LCA5NTY5LCA5NTcwLCA5NTcyLCA5NTczLCA5NTc0LCA5NTc1LCA5NTc3LCA5NTc4LCA5NTc5LAorIDk1ODAsIDk1ODIsIDk1ODMsIDk1ODQsIDk1ODUsIDk1ODcsIDk1ODgsIDk1ODksIDk1OTAsIDk1OTIsIDk1OTMsIDk1OTQsIDk1OTUsCisgOTU5NywgOTU5OCwgOTU5OSwgOTYwMCwgOTYwMSwgOTYwMiwgOTYwMywgOTYwNCwgOTYwNiwgOTYwNywgOTYwOCwgOTYwOSwgOTYxMSwKKyA5NjEyLCA5NjEzLCA5NjE0LCA5NjE2LCA5NjE3LCA5NjE4LCA5NjE5LCA5NjIwLCA5NjIxLCA5NjIyLCA5NjIzLCA5NjI0LCA5NjI2LAorIDk2MjcsIDk2MjgsIDk2MjksIDk2MzAsIDk2MzEsIDk2MzIsIDk2MzMsIDk2MzQsIDk2MzUsIDk2MzYsIDk2MzcsIDk2MzgsIDk2MzksCisgOTY0MCwgOTY0MSwgOTY0MiwgOTY0MywgOTY0NCwgOTY0NSwgOTY0NiwgOTY0NywgOTY0OCwgOTY0OSwgOTY1MCwgOTY1MSwgOTY1MiwKKyA5NjUzLCA5NjU1LCA5NjU2LCA5NjU3LCA5NjU4LCA5NjU5LCA5NjYwLCA5NjYxLCA5NjYyLCA5NjY0LCA5NjY1LCA5NjY2LCA5NjY3LAorIDk2NjksIDk2NzAsIDk2NzEsIDk2NzIsIDk2NzMsIDk2NzQsIDk2NzYsIDk2NzcsIDk2NzgsIDk2NzksIDk2ODEsIDk2ODIsIDk2ODMsCisgOTY4NCwgOTY4NiwgOTY4NywgOTY4OCwgOTY4OSwgOTY5MCwgOTY5MSwgOTY5MywgOTY5NCwgOTY5NSwgOTY5NiwgOTY5NywgOTY5OCwKKyA5Njk5LCA5NzAwLCA5NzAxLCA5NzAyLCA5NzAzLCA5NzA0LCA5NzA1LCA5NzA2LCA5NzA3LCA5NzA4LCA5NzA5LCA5NzEwLCA5NzEyLAorIDk3MTMsIDk3MTQsIDk3MTUsIDk3MTYsIDk3MjAsIDk3MjEsIDk3MjIsIDk3MjMsIDk3MjQsIDk3MjUsIDk3MjYsIDk3MzQsIDk3MzUsCisgOTczNiwgOTczNywgOTczOCwgOTczOSwgOTc0MSwgOTc0MiwgOTc0MywgOTc0NCwgOTc0NiwgOTc0NywgOTc0OCwgOTc0OSwgOTc1MSwKKyA5NzUyLCA5NzUzLCA5NzU0LCA5NzU2LCA5NzU3LCA5NzU4LCA5NzU5LCA5NzYwLCA5NzYxLCA5NzYyLCA5NzYzLCA5NzY0LCA5NzY1LAorIDk3NjYsIDk3NjcsIDk3NjksIDk3NzAsIDk3NzEsIDk3NzIsIDk3NzQsIDk3NzUsIDk3NzYsIDk3NzcsIDk3NzgsIDk3NzksIDk3ODAsCisgOTc4MSwgOTc4MiwgOTc4MywgOTc4NCwgOTc4NSwgOTc4NiwgOTc4NywgOTc4OCwgOTc4OSwgOTc5MCwgOTc5MiwgOTc5MywgOTc5NCwKKyA5Nzk1LCA5Nzk2LCA5Nzk3LCA5Nzk4LCA5Nzk5LCA5ODAwLCA5ODAxLCA5ODAyLCA5ODAzLCA5ODA0LCA5ODA1LCA5ODA2LCA5ODA4LAorIDk4MDksIDk4MTAsIDk4MTEsIDk4MTIsIDk4MTMsIDk4MTQsIDk4MTUsIDk4MTcsIDk4MTgsIDk4MTksIDk4MjAsIDk4MjIsIDk4MjMsCisgOTgyNCwgOTgyNSwgOTgyNywgOTgyOCwgOTgyOSwgOTgzMCwgOTgzMSwgOTgzMiwgOTgzNCwgOTgzNSwgOTgzNiwgOTgzNywgOTgzOSwKKyA5ODQwLCA5ODQxLCA5ODQyLCA5ODQ0LCA5ODQ1LCA5ODQ2LCA5ODQ3LCA5ODQ5LCA5ODUwLCA5ODUxLCA5ODUyLCA5ODUzLCA5ODU0LAorIDk4NTUsIDk4NTYsIDk4NTcsIDk4NTgsIDk4NTksIDk4NjAsIDk4NjYsIDk4NjcsIDk4NjgsIDk4NjksIDk4NzAsIDk4NzEsIDk4NzQsCisgOTg3NSwgOTg3NiwgOTg3NywgOTg3OCwgOTg3OSwgOTg4MCwgOTg4MSwgOTg4MiwgOTg4MywgOTg4NCwgOTg4NSwgOTg4NiwgOTg4NywKKyA5ODg4LCA5ODg5LCA5ODkwLCA5ODkxLCA5ODkyLCA5ODkzLCA5ODk0LCA5ODk1LCA5ODk4LCA5ODk5LCA5OTAwLCA5OTAxLCA5OTAyLAorIDk5MDMsIDk5MDQsIDk5MDUsIDk5MDYsIDk5MDcsIDk5MDgsIDk5MDksIDk5MTEsIDk5MTIsIDk5MTMsIDk5MTQsIDk5MTUsIDk5MTYsCisgOTkxNywgOTkxOCwgOTkxOSwgOTkyMCwgOTkyMSwgOTkyMiwgOTkyMywgOTkyNCwgOTkyNSwgOTkyNiwgOTkyNywgOTkyOCwgOTkyOSwKKyA5OTMwLCA5OTMxLCA5OTMyLCA5OTMzLCA5OTM0LCA5OTM1LCA5OTM2LCA5OTM3LCA5OTM4LCA5OTM5LCA5OTQwLCA5OTQ2LCA5OTQ3LAorIDk5NDgsIDk5NDksIDk5NTAsIDk5NTEsIDk5NTIsIDk5NTMsIDk5NTQsIDk5NTUsIDk5NTYsIDk5NTcsIDk5NjAsIDk5NjEsIDk5NjIsCisgOTk2MywgOTk2NCwgOTk2NSwgOTk2NiwgOTk2NywgOTk2OCwgOTk2OSwgOTk3MCwgOTk3MSwgOTk3MiwgOTk4MiwgOTk4MywgOTk4NCwKKyA5OTg2LCA5OTg3LCA5OTg4LCA5OTg5LCA5OTkxLCA5OTkyLCA5OTkzLCA5OTk0LCA5OTk2LCA5OTk3LCA5OTk4LCA5OTk5LCAxMDAwMSwKKyAxMDAwMiwgMTAwMDMsIDEwMDA0LCAxMDAwNiwgMTAwMDcsIDEwMDA4LCAxMDAwOSwgMTAwMTEsIDEwMDEyLCAxMDAxMywgMTAwMTQsCisgMTAwMTYsIDEwMDE3LCAxMDAxOCwgMTAwMTksIDEwMDIxLCAxMDAyMiwgMTAwMjMsIDEwMDI0LCAxMDAyNiwgMTAwMjcsIDEwMDI4LAorIDEwMDI5LCAxMDAzMSwgMTAwMzIsIDEwMDMzLCAxMDAzNCwgMTAwMzYsIDEwMDM3LCAxMDAzOCwgMTAwNDAsIDEwMDQxLCAxMDA0MiwKKyAxMDA0MywgMTAwNDQsIDEwMDQ4LCAxMDA0OSwgMTAwNTAsIDEwMDUxLCAxMDA1MiwgMTAwNTMsIDEwMDU0LCAxMDA1NiwgMTAwNTcsCisgMTAwNTgsIDEwMDU5LCAxMDA2MSwgMTAwNjIsIDEwMDYzLCAxMDA2NCwgMTAwNjUsIDEwMDY2LCAxMDA2NywgMTAwNjgsIDEwMDcwLAorIDEwMDcxLCAxMDA3MiwgMTAwNzMsIDEwMDc1LCAxMDA3NiwgMTAwNzcsIDEwMDc4LCAxMDA4MCwgMTAwODEsIDEwMDgyLCAxMDA4MywKKyAxMDA4NSwgMTAwODYsIDEwMDg3LCAxMDA4OCwgMTAwOTAsIDEwMDkxLCAxMDA5MiwgMTAwOTMsIDEwMDk1LCAxMDA5NiwgMTAwOTcsCisgMTAwOTgsIDEwMTAwLCAxMDEwMSwgMTAxMDIsIDEwMTAzLCAxMDEwNSwgMTAxMDYsIDEwMTA3LCAxMDEwOCwgMTAxMTAsIDEwMTExLAorIDEwMTEyLCAxMDExMywgMTAxMTUsIDEwMTE2LCAxMDExNywgMTAxMTgsIDEwMTIwLCAxMDEyMSwgMTAxMjIsIDEwMTIzLCAxMDEyNSwKKyAxMDEyNiwgMTAxMjcsIDEwMTI4LCAxMDEyOSwgMTAxMzAsIDEwMTMxLCAxMDEzMiwgMTAxMzgsIDEwMTM5LCAxMDE0MCwgMTAxNDEsCisgMTAxNDMsIDEwMTQ0LCAxMDE0NSwgMTAxNDYsIDEwMTQ4LCAxMDE0OSwgMTAxNTAsIDEwMTUxLCAxMDE1MiwgMTAxNTMsIDEwMTU0LAorIDEwMTU1LCAxMDE1NiwgMTAxNTcsIDEwMTU4LCAxMDE1OSwgMTAxNjAsIDEwMTYxLCAxMDE2NCwgMTAxNjUsIDEwMTY2LCAxMDE2NywKKyAxMDE2OSwgMTAxNzAsIDEwMTcxLCAxMDE3MiwgMTAxNzMsIDEwMTc0LCAxMDE3NiwgMTAxNzcsIDEwMTc4LCAxMDE3OSwgMTAxODEsCisgMTAxODIsIDEwMTgzLCAxMDE4NCwgMTAxODYsIDEwMTg3LCAxMDE4OCwgMTAxODksIDEwMTkxLCAxMDE5MiwgMTAxOTMsIDEwMTk0LAorIDEwMTk2LCAxMDE5NywgMTAxOTgsIDEwMTk5LCAxMDIwMSwgMTAyMDIsIDEwMjAzLCAxMDIwNCwgMTAyMDYsIDEwMjA3LCAxMDIwOCwKKyAxMDIwOSwgMTAyMTEsIDEwMjEyLCAxMDIxMywgMTAyMTQsIDEwMjE2LCAxMDIxNywgMTAyMTgsIDEwMjE5LCAxMDIyMSwgMTAyMjIsCisgMTAyMjMsIDEwMjI0LCAxMDIyNiwgMTAyMjcsIDEwMjI4LCAxMDIyOSwgMTAyMzEsIDEwMjMyLCAxMDIzMywgMTAyMzQsIDEwMjM2LAorIDEwMjM3LCAxMDIzOCwgMTAyMzksIDEwMjQxLCAxMDI0MiwgMTAyNDMsIDEwMjQ0LCAxMDI0NSwgMTAyNDYsIDEwMjQ4LCAxMDI0OSwKKyAxMDI1MCwgMTAyNTEsIDEwMjUzLCAxMDI1NCwgMTAyNTUsIDEwMjU2LCAxMDI1OCwgMTAyNTksIDEwMjYwLCAxMDI2MSwgMTAyNjMsCisgMTAyNjQsIDEwMjY1LCAxMDI2NiwgMTAyNjgsIDEwMjY5LCAxMDI3MCwgMTAyNzEsIDEwMjcyLCAxMDI3NiwgMTAyNzcsIDEwMjc4LAorIDEwMjc5LCAxMDI4MCwgMTAyODEsIDEwMjgyLCAxMDI4MywgMTAyODUsIDEwMjg2LCAxMDI4NywgMTAyODgsIDEwMjg5LCAxMDI5MCwKKyAxMDI5MiwgMTAyOTMsIDEwMjk0LCAxMDI5NSwgMTAyOTYsIDEwMjk3LCAxMDI5OCwgMTAyOTksIDEwMzAwLCAxMDMwMSwgMTAzMDQsCisgMTAzMDUsIDEwMzA2LCAxMDMwNywgMTAzMDgsIDEwMzA5LCAxMDMxMCwgMTAzMTEsIDEwMzEyLCAxMDMxMywgMTAzMTQsIDEwMzE1LAorIDEwMzIwLCAxMDMyMSwgMTAzMjIsIDEwMzIzLCAxMDMyNCwgMTAzMjUsIDEwMzI3LCAxMDMyOCwgMTAzMjksIDEwMzMwLCAxMDMzMSwKKyAxMDMzMiwgMTAzMzQsIDEwMzM1LCAxMDMzNiwgMTAzMzcsIDEwMzM5LCAxMDM0MCwgMTAzNDEsIDEwMzQyLCAxMDM0MywgMTAzNDQsCisgMTAzNDUsIDEwMzQ2LCAxMDM0NywgMTAzNTYsIDEwMzU3LCAxMDM1OCwgMTAzNTksIDEwMzYwLCAxMDM2NCwgMTAzNjUsIDEwMzY2LAorIDEwMzY3LCAxMDM2OCwgMTAzNjksIDEwMzcwLCAxMDM3MSwgMTAzNzIsIDEwMzczLCAxMDM3NCwgMTAzNzUsIDEwMzc2LCAxMDM3NywKKyAxMDM3OCwgMTAzNzksIDEwMzgwLCAxMDM4MSwgMTAzODIsIDEwMzgzLCAxMDM4NCwgMTAzODUsIDEwMzg2LCAxMDM4NywgMTAzODgsCisgMTAzODksIDEwMzkxLCAxMDM5MiwgMTAzOTMsIDEwMzk0LCAxMDM5NiwgMTAzOTcsIDEwMzk4LCAxMDM5OSwgMTA0MDAsIDEwNDAxLAorIDEwNDAyLCAxMDQwMywgMTA0MDQsIDEwNDA1LCAxMDQwNiwgMTA0MDcsIDEwNDA4LCAxMDQwOSwgMTA0MTAsIDEwNDExLCAxMDQxMiwKKyAxMDQxMywgMTA0MTQsIDEwNDE1LCAxMDQxNiwgMTA0MTcsIDEwNDE4LCAxMDQxOSwgMTA0MjAsIDEwNDIyLCAxMDQyMywgMTA0MjQsCisgMTA0MjUsIDEwNDI2LCAxMDQyNywgMTA0MjksIDEwNDMwLCAxMDQzMSwgMTA0MzIsIDEwNDM0LCAxMDQzNSwgMTA0MzYsIDEwNDM3LAorIDEwNDM5LCAxMDQ0MCwgMTA0NDEsIDEwNDQyLCAxMDQ0NCwgMTA0NDUsIDEwNDQ2LCAxMDQ0NywgMTA0NDksIDEwNDUwLCAxMDQ1MSwKKyAxMDQ1MiwgMTA0NTQsIDEwNDU1LCAxMDQ1NiwgMTA0NTcsIDEwNDU4LCAxMDQ1OSwgMTA0NjEsIDEwNDYyLCAxMDQ2MywgMTA0NjQsCisgMTA0NjYsIDEwNDY3LCAxMDQ2OCwgMTA0NjksIDEwNDcxLCAxMDQ3MiwgMTA0NzMsIDEwNDc0LCAxMDQ3NSwgMTA0NzYsIDEwNDc4LAorIDEwNDc5LCAxMDQ4MCwgMTA0ODEsIDEwNDgzLCAxMDQ4NCwgMTA0ODUsIDEwNDg2LCAxMDQ4OCwgMTA0ODksIDEwNDkwLCAxMDQ5MSwKKyAxMDQ5MywgMTA0OTQsIDEwNDk1LCAxMDQ5NiwgMTA0OTcsIDEwNDk4LCAxMDQ5OSwgMTA1MTIsIDEwNTEzLCAxMDUxNCwgMTA1MTUsCisgMTA1MTcsIDEwNTE4LCAxMDUxOSwgMTA1MjAsIDEwNTIyLCAxMDUyMywgMTA1MjQsIDEwNTI1LCAxMDUyNywgMTA1MjgsIDEwNTI5LAorIDEwNTMwLCAxMDUzMiwgMTA1MzMsIDEwNTM0LCAxMDUzNSwgMTA1MzYsIDEwNTM3LCAxMDU0MSwgMTA1NDIsIDEwNTQzLCAxMDU0NCwKKyAxMDU0NiwgMTA1NDcsIDEwNTQ4LCAxMDU0OSwgMTA1NTAsIDEwNTU0LCAxMDU1NSwgMTA1NTYsIDEwNTU3LCAxMDU1OCwgMTA1NTksCisgMTA1NjAsIDEwNTYxLCAxMDU2MiwgMTA1NjMsIDEwNTY1LCAxMDU2NiwgMTA1NjcsIDEwNTY4LCAxMDU2OSwgMTA1NzAsIDEwNTcxLAorIDEwNTcyLCAxMDU3MywgMTA1NzQsIDEwNTc1LCAxMDU3NiwgMTA1NzcsIDEwNTc4LCAxMDU3OSwgMTA1ODAsIDEwNTgxLCAxMDU4MiwKKyAxMDU4MywgMTA1ODQsIDEwNTg1LCAxMDU4NiwgMTA1ODcsIDEwNTg4LCAxMDU4OSwgMTA1OTAsIDEwNTkxLCAxMDU5MiwgMTA1OTMsCisgMTA1OTQsIDEwNTk1LCAxMDU5NiwgMTA1OTcsIDEwNTk4LCAxMDYwMCwgMTA2MDEsIDEwNjAyLCAxMDYwMywgMTA2MDQsIDEwNjA4LAorIDEwNjA5LCAxMDYxMCwgMTA2MTEsIDEwNjEyLCAxMDYxMywgMTA2MTUsIDEwNjE2LCAxMDYxNywgMTA2MTgsIDEwNjIwLCAxMDYyMSwKKyAxMDYyMiwgMTA2MjMsIDEwNjI1LCAxMDYyNiwgMTA2MjcsIDEwNjI4LCAxMDYzMCwgMTA2MzEsIDEwNjMyLCAxMDYzMywgMTA2MzUsCisgMTA2MzYsIDEwNjM3LCAxMDYzOCwgMTA2MzksIDEwNjQwLCAxMDY0MSwgMTA2NDIsIDEwNjQzLCAxMDY0NCwgMTA2NDUsIDEwNjQ2LAorIDEwNjQ3LCAxMDY0OCwgMTA2NTAsIDEwNjUxLCAxMDY1MiwgMTA2NTMsIDEwNjU1LCAxMDY1NiwgMTA2NTcsIDEwNjU4LCAxMDY2MCwKKyAxMDY2MSwgMTA2NjIsIDEwNjYzLCAxMDY2NSwgMTA2NjYsIDEwNjY3LCAxMDY2OCwgMTA2NzAsIDEwNjcxLCAxMDY3MiwgMTA2NzMsCisgMTA2NzUsIDEwNjc2LCAxMDY3NywgMTA2NzgsIDEwNjgwLCAxMDY4MSwgMTA2ODIsIDEwNjgzLCAxMDY4NSwgMTA2ODYsIDEwNjg3LAorIDEwNjg4LCAxMDY5MCwgMTA2OTEsIDEwNjkyLCAxMDY5MywgMTA2OTUsIDEwNjk2LCAxMDY5NywgMTA2OTgsIDEwNzAwLCAxMDcwMSwKKyAxMDcwMiwgMTA3MDMsIDEwNzA0LCAxMDcwNSwgMTA3MDYsIDEwNzA3LCAxMDcwOCwgMTA3MDksIDEwNzExLCAxMDcxMiwgMTA3MTMsCisgMTA3MTQsIDEwNzE2LCAxMDcxNywgMTA3MTgsIDEwNzE5LCAxMDcyMSwgMTA3MjIsIDEwNzIzLCAxMDcyNCwgMTA3MjYsIDEwNzI3LAorIDEwNzI4LCAxMDcyOSwgMTA3MzEsIDEwNzMyLCAxMDczMywgMTA3MzQsIDEwNzM2LCAxMDczNywgMTA3MzgsIDEwNzM5LCAxMDc0MSwKKyAxMDc0MiwgMTA3NDMsIDEwNzQ0LCAxMDc0NiwgMTA3NDcsIDEwNzQ4LCAxMDc0OSwgMTA3NTEsIDEwNzUyLCAxMDc1MywgMTA3NTQsCisgMTA3NTYsIDEwNzU3LCAxMDc1OCwgMTA3NTksIDEwNzYwLCAxMDc2MSwgMTA3NjIsIDEwNzYzLCAxMDc2NCwgMTA3NjUsIDEwNzY2LAorIDEwNzY3LCAxMDc2OSwgMTA3NzAsIDEwNzcxLCAxMDc3MiwgMTA3NzQsIDEwNzc1LCAxMDc3NiwgMTA3NzcsIDEwNzc5LCAxMDc4MCwKKyAxMDc4MSwgMTA3ODIsIDEwNzg0LCAxMDc4NSwgMTA3ODYsIDEwNzg3LCAxMDc4OSwgMTA3OTAsIDEwNzkxLCAxMDc5MiwgMTA3OTQsCisgMTA3OTUsIDEwNzk2LCAxMDc5NywgMTA3OTksIDEwODAwLCAxMDgwMSwgMTA4MDIsIDEwODAzLCAxMDgwNCwgMTA4MDgsIDEwODA5LAorIDEwODEwLCAxMDgxMSwgMTA4MTIsIDEwODEzLCAxMDgxNCwgMTA4MTUsIDEwODE2LCAxMDgxNywgMTA4MTgsIDEwODE5LCAxMDgyMCwKKyAxMDgyMSwgMTA4MjIsIDEwODIzLCAxMDgyNywgMTA4MjgsIDEwODI5LCAxMDgzMCwgMTA4MzIsIDEwODMzLCAxMDgzNCwgMTA4MzUsCisgMTA4MzYsIDEwODM3LCAxMDgzOSwgMTA4NDAsIDEwODQxLCAxMDg0MiwgMTA4NDQsIDEwODQ1LCAxMDg0NiwgMTA4NDcsIDEwODQ5LAorIDEwODUwLCAxMDg1MSwgMTA4NTIsIDEwODU0LCAxMDg1NSwgMTA4NTYsIDEwODU3LCAxMDg1OSwgMTA4NjAsIDEwODYxLCAxMDg2MiwKKyAxMDg2NCwgMTA4NjUsIDEwODY2LCAxMDg2NywgMTA4NjgsIDEwODY5LCAxMDg3MCwgMTA4NzEsIDEwODcyLCAxMDg3MywgMTA4NzQsCisgMTA4NzUsIDEwODc2LCAxMDg3NywgMTA4NzksIDEwODgwLCAxMDg4MSwgMTA4ODIsIDEwODg0LCAxMDg4NSwgMTA4ODYsIDEwODg3LAorIDEwODg4LCAxMDg4OSwgMTA4OTEsIDEwODkyLCAxMDg5MywgMTA4OTQsIDEwODk2LCAxMDg5NywgMTA4OTgsIDEwODk5LCAxMDkwMSwKKyAxMDkwMiwgMTA5MDMsIDEwOTA0LCAxMDkwNiwgMTA5MDcsIDEwOTA4LCAxMDkwOSwgMTA5MTAsIDEwOTExLCAxMDkxMiwgMTA5MTMsCisgMTA5MTQsIDEwOTE4LCAxMDkxOSwgMTA5MjAsIDEwOTIxLCAxMDkyMiwgMTA5MjMsIDEwOTI0LCAxMDkyNSwgMTA5MjYsIDEwOTI3LAorIDEwOTI4LCAxMDkyOSwgMTA5MzAsIDEwOTM0LCAxMDkzNSwgMTA5MzYsIDEwOTM3LCAxMDkzOCwgMTA5MzksIDEwOTQwLCAxMDk0MSwKKyAxMDk0MiwgMTA5NDUsIDEwOTQ2LCAxMDk0NywgMTA5NDgsIDEwOTUwLCAxMDk1MSwgMTA5NTIsIDEwOTUzLCAxMDk1NCwgMTA5NTgsCisgMTA5NTksIDEwOTYwLCAxMDk2MSwgMTA5NjIsIDEwOTYzLCAxMDk2NCwgMTA5NjUsIDEwOTY2LCAxMDk2NywgMTA5NjgsIDEwOTY5LAorIDEwOTcwLCAxMDk3MSwgMTA5NzIsIDEwOTczLCAxMDk3NSwgMTA5NzYsIDEwOTc3LCAxMDk3OCwgMTA5ODAsIDEwOTgxLCAxMDk4MiwKKyAxMDk4MywgMTA5ODUsIDEwOTg2LCAxMDk4NywgMTA5ODgsIDEwOTkwLCAxMDk5MSwgMTA5OTIsIDEwOTkzLCAxMDk5NSwgMTA5OTYsCisgMTA5OTcsIDEwOTk4LCAxMDk5OSwgMTEwMDAsIDExMDAxLCAxMTAwMiwgMTEwMDMsIDExMDA1LCAxMTAwNiwgMTEwMDcsIDExMDA4LAorIDExMDEwLCAxMTAxMSwgMTEwMTIsIDExMDEzLCAxMTAxNSwgMTEwMTYsIDExMDE3LCAxMTAxOCwgMTEwMjAsIDExMDIxLCAxMTAyMiwKKyAxMTAyMywgMTEwMjUsIDExMDI2LCAxMTAyNywgMTEwMjgsIDExMDMwLCAxMTAzMSwgMTEwMzIsIDExMDMzLCAxMTAzNSwgMTEwMzYsCisgMTEwMzcsIDExMDM4LCAxMTAzOSwgMTEwNDAsIDExMDQxLCAxMTA0MiwgMTEwNDMsIDExMDQ0LCAxMTA0NSwgMTEwNDYsIDExMDQ3LAorIDExMDQ4LCAxMTA0OSwgMTEwNzMsIDExMDc0LCAxMTA3NSwgMTEwNzYsIDExMDc3LCAxMTA3OCwgMTEwODAsIDExMDgxLCAxMTA4MiwKKyAxMTA4MywgMTEwODUsIDExMDg2LCAxMTA4NywgMTEwODgsIDExMDkwLCAxMTA5MSwgMTEwOTIsIDExMDkzLCAxMTA5NSwgMTEwOTYsCisgMTEwOTcsIDExMDk4LCAxMTEwMCwgMTExMDEsIDExMTAyLCAxMTEwMywgMTExMDQsIDExMTA1LCAxMTEwNiwgMTExMDcsIDExMTE3LAorIDExMTE4LCAxMTExOSwgMTExMjAsIDExMTIxLCAxMTEyMiwgMTExMjQsIDExMTI1LCAxMTEyNiwgMTExMjcsIDExMTI4LCAxMTEyOSwKKyAxMTEzMCwgMTExMzEsIDExMTMyLCAxMTEzMywgMTExMzQsIDExMTM1LCAxMTEzNiwgMTExMzcsIDExMTM4LCAxMTEzOSwgMTExNDAsCisgMTExNDEsIDExMTQyLCAxMTE0MywgMTExNDQsIDExMTQ1LCAxMTE0NiwgMTExNDcsIDExMTQ5LCAxMTE1MCwgMTExNTEsIDExMTUyLAorIDExMTU0LCAxMTE1NSwgMTExNTYsIDExMTU3LCAxMTE1OSwgMTExNjAsIDExMTYxLCAxMTE2MiwgMTExNjMsIDExMTY0LCAxMTE2NSwKKyAxMTE2NiwgMTExNjcsIDExMTY4LCAxMTE2OSwgMTExNzAsIDExMTcxLCAxMTE3MiwgMTExNzMsIDExMTc0LCAxMTE3NSwgMTExNzYsCisgMTExNzcsIDExMTc4LCAxMTE3OSwgMTExODAsIDExMTgxLCAxMTE4MiwgMTExODMsIDExMTg0LCAxMTE4NSwgMTExODYsIDExMTg3LAorIDExMjE5LCAxMTIyMCwgMTEyMjEsIDExMjIyLCAxMTIyMywgMTEyMjQsIDExMjI1LCAxMTIyNiwgMTEyMjcsIDExMjI4LCAxMTIzMCwKKyAxMTIzMSwgMTEyMzIsIDExMjMzLCAxMTIzNSwgMTEyMzYsIDExMjM3LCAxMTIzOCwgMTEyNDAsIDExMjQxLCAxMTI0MiwgMTEyNDMsCisgMTEyNDUsIDExMjQ2LCAxMTI0NywgMTEyNDgsIDExMjUwLCAxMTI1MSwgMTEyNTIsIDExMjUzLCAxMTI1NCwgMTEyNTgsIDExMjU5LAorIDExMjYwLCAxMTI2MSwgMTEyNjIsIDExMjYzLCAxMTI2NSwgMTEyNjYsIDExMjY3LCAxMTI2OCwgMTEyNzAsIDExMjcxLCAxMTI3MiwKKyAxMTI3MywgMTEyNzUsIDExMjc2LCAxMTI3NywgMTEyNzgsIDExMjc5LCAxMTI4MCwgMTEyODEsIDExMjgyLCAxMTI4MywgMTEyODQsCisgMTEyODUsIDExMjg2LCAxMTI4NywgMTEyODgsIDExMjg5LCAxMTI5MCwgMTEyOTEsIDExMjkyLCAxMTI5MywgMTEyOTQsIDExMjk1LAorIDExMjk2LCAxMTI5NywgMTEyOTgsIDExMjk5LCAxMTMwMCwgMTEzMDIsIDExMzAzLCAxMTMwNCwgMTEzMDUsIDExMzA3LCAxMTMwOCwKKyAxMTMwOSwgMTEzMTAsIDExMzEyLCAxMTMxMywgMTEzMTQsIDExMzE1LCAxMTMxNiwgMTEzMTcsIDExMzE4LCAxMTMxOSwgMTEzMjAsCisgMTEzMjEsIDExMzIyLCAxMTMyMywgMTEzMjQsIDExMzI1LCAxMTMyNiwgMTEzMjcsIDExMzI4LCAxMTMyOSwgMTEzMzAsIDExMzMxLAorIDExMzMyLCAxMTMzMywgMTEzMzQsIDExMzM1LCAxMTMzNiwgMTEzNDAsIDExMzQxLCAxMTM0MiwgMTEzNDMsIDExMzQ0LCAxMTM0NSwKKyAxMTM0NywgMTEzNDgsIDExMzQ5LCAxMTM1MCwgMTEzNTIsIDExMzUzLCAxMTM1NCwgMTEzNTUsIDExMzU3LCAxMTM1OCwgMTEzNTksCisgMTEzNjAsIDExMzYxLCAxMTM2MiwgMTEzNjMsIDExMzY0LCAxMTM2NSwgMTEzNjYsIDExMzY3LCAxMTM2OCwgMTEzNjksIDExMzcwLAorIDExMzcxLCAxMTM3MiwgMTEzNzMsIDExMzc0LCAxMTM3NSwgMTEzNzYsIDExMzc3LCAxMTM3OCwgMTEzNzksIDExMzgwLCAxMTM4MiwKKyAxMTM4MywgMTEzODQsIDExMzg1LCAxMTM4NiwgMTEzODcsIDExMzg5LCAxMTM5MCwgMTEzOTEsIDExMzkyLCAxMTM5NCwgMTEzOTUsCisgMTEzOTYsIDExMzk3LCAxMTM5OSwgMTE0MDAsIDExNDAxLCAxMTQwMiwgMTE0MDMsIDExNDA0LCAxMTQwNSwgMTE0MDYsIDExNDA3LAorIDExNDA4LCAxMTQwOSwgMTE0MTAsIDExNDExLCAxMTQxMiwgMTE0MTMsIDExNDE0LCAxMTQxNSwgMTE0MTYsIDExNDE3LCAxMTQxOCwKKyAxMTQxOSwgMTE0MjAsIDExNDIxLCAxMTQyMiwgMTE0MjMsIDExNDI0LCAxMTQyNiwgMTE0MjcsIDExNDI4LCAxMTQyOSwgMTE0MzEsCisgMTE0MzIsIDExNDMzLCAxMTQzNCwgMTE0MzYsIDExNDM3LCAxMTQzOCwgMTE0MzksIDExNDQwLCAxMTQ0MSwgMTE0NDIsIDExNDQzLAorIDExNDQ0LCAxMTQ0NSwgMTE0NDYsIDExNDQ3LCAxMTQ0OCwgMTE0NDksIDExNDUwLCAxMTQ1MSwgMTE0NTIsIDExNDUzLCAxMTQ1NCwKKyAxMTQ1NSwgMTE0NTYsIDExNDU3LCAxMTQ1OCwgMTE0NTksIDExNDYwLCAxMTQ2NCwgMTE0NjUsIDExNDY2LCAxMTQ2NywgMTE0NjgsCisgMTE0NjksIDExNDcxLCAxMTQ3MiwgMTE0NzMsIDExNDc0LCAxMTQ3NiwgMTE0NzcsIDExNDc4LCAxMTQ3OSwgMTE0ODEsIDExNDgyLAorIDExNDgzLCAxMTQ4NCwgMTE0ODUsIDExNDg2LCAxMTQ4NywgMTE0ODgsIDExNDg5LCAxMTQ5MCwgMTE0OTEsIDExNDkyLCAxMTQ5MywKKyAxMTQ5NCwgMTE0OTUsIDExNDk2LCAxMTQ5NywgMTE0OTgsIDExNDk5LCAxMTUwMCwgMTE1MDEsIDExNTAyLCAxMTUwMywgMTE1MDQsCisgMTE1MDYsIDExNTA3LCAxMTUwOCwgMTE1MDksIDExNTEwLCAxMTUxMSwgMTE1MTMsIDExNTE0LCAxMTUxNSwgMTE1MTYsIDExNTE4LAorIDExNTE5LCAxMTUyMCwgMTE1MjEsIDExNTIzLCAxMTUyNCwgMTE1MjUsIDExNTI2LCAxMTUyNywgMTE1MjgsIDExNTI5LCAxMTUzMCwKKyAxMTUzMSwgMTE1MzIsIDExNTMzLCAxMTUzNCwgMTE1MzUsIDExNTM2LCAxMTUzNywgMTE1MzgsIDExNTM5LCAxMTU0MCwgMTE1NDEsCisgMTE1NDIsIDExNTQzLCAxMTU0NCwgMTE1NDUsIDExNTQ2LCAxMTU0OCwgMTE1NDksIDExNTUwLCAxMTU1MSwgMTE1NTMsIDExNTU0LAorIDExNTU1LCAxMTU1NiwgMTE1NTgsIDExNTU5LCAxMTU2MCwgMTE1NjEsIDExNTYzLCAxMTU2NCwgMTE1NjUsIDExNTY2LCAxMTU2OCwKKyAxMTU2OSwgMTE1NzAsIDExNTcxLCAxMTU3MywgMTE1NzQsIDExNTc1LCAxMTU3NiwgMTE1NzgsIDExNTc5LCAxMTU4MCwgMTE1ODEsCisgMTE1ODMsIDExNTg0LCAxMTU4NSwgMTE1ODYsIDExNTg4LCAxMTU4OSwgMTE1OTAsIDExNTkxLCAxMTU5MywgMTE1OTQsIDExNTk1LAorIDExNTk2LCAxMTU5OCwgMTE1OTksIDExNjAwLCAxMTYwMSwgMTE2MDIsIDExNjAzLCAxMTYwNSwgMTE2MDYsIDExNjA3LCAxMTYwOCwKKyAxMTYxMCwgMTE2MTEsIDExNjEyLCAxMTYxMywgMTE2MTUsIDExNjE2LCAxMTYxNywgMTE2MTgsIDExNjE5LCAxMTYyMCwgMTE2MjEsCisgMTE2MjIsIDExNjIzLCAxMTYyNCwgMTE2MjUsIDExNjI2LCAxMTYyNywgMTE2MjgsIDExNjI5LCAxMTYzMCwgMTE2MzEsIDExNjMyLAorIDExNjMzLCAxMTYzNCwgMTE2MzUsIDExNjM2LCAxMTYzNywgMTE2MzgsIDExNjM5LCAxMTY0MCwgMTE2NDIsIDExNjQzLCAxMTY0NCwKKyAxMTY0NSwgMTE2NDcsIDExNjQ4LCAxMTY0OSwgMTE2NTAsIDExNjUyLCAxMTY1MywgMTE2NTQsIDExNjU1LCAxMTY1NiwgMTE2NTcsCisgMTE2NTgsIDExNjU5LCAxMTY2MCwgMTE2NjEsIDExNjYyLCAxMTY2MywgMTE2NjQsIDExNjY1LCAxMTY2NiwgMTE2NjcsIDExNjY4LAorIDExNjY5LCAxMTY3MCwgMTE2NzEsIDExNjcyLCAxMTY3MywgMTE2NzQsIDExNjc1LCAxMTY3NiwgMTE2NzcsIDExNjgzLCAxMTY4NCwKKyAxMTY4NSwgMTE2ODYsIDExNjg3LCAxMTY4OCwgMTE2OTAsIDExNjkxLCAxMTY5MiwgMTE2OTMsIDExNjk1LCAxMTY5NiwgMTE2OTcsCisgMTE2OTgsIDExNzAwLCAxMTcwMSwgMTE3MDIsIDExNzAzLCAxMTcwNCwgMTE3MDUsIDExNzA2LCAxMTcwNywgMTE3MDksIDExNzEwLAorIDExNzExLCAxMTcxMiwgMTE3MTMsIDExNzE0LCAxMTcxNiwgMTE3MTcsIDExNzE4LCAxMTcxOSwgMTE3MjEsIDExNzIyLCAxMTcyMywKKyAxMTcyNCwgMTE3MjYsIDExNzI3LCAxMTcyOCwgMTE3MjksIDExNzMwLCAxMTczMSwgMTE3MzIsIDExNzMzLCAxMTczNCwgMTE3MzUsCisgMTE3MzYsIDExNzM3LCAxMTczOCwgMTE3MzksIDExNzQwLCAxMTc0MSwgMTE3NDMsIDExNzQ0LCAxMTc0NSwgMTE3NDYsIDExNzQ4LAorIDExNzQ5LCAxMTc1MCwgMTE3NTEsIDExNzUzLCAxMTc1NCwgMTE3NTUsIDExNzU2LCAxMTc1OCwgMTE3NTksIDExNzYwLCAxMTc2MiwKKyAxMTc2MywgMTE3NjQsIDExNzY2LCAxMTc2NywgMTE3NjgsIDExNzY5LCAxMTc3MCwgMTE3NzEsIDExNzczLCAxMTc3NCwgMTE3NzUsCisgMTE3NzYsIDExNzc4LCAxMTc3OSwgMTE3ODAsIDExNzgxLCAxMTc4MywgMTE3ODQsIDExNzg1LCAxMTc4NiwgMTE3ODcsIDExNzg4LAorIDExNzg5LCAxMTc5MCwgMTE3OTEsIDExNzkyLCAxMTc5MywgMTE3OTQsIDExNzk1LCAxMTc5NiwgMTE3OTcsIDExNzk4LCAxMTc5OSwKKyAxMTgwMCwgMTE4MDEsIDExODAyLCAxMTgwNCwgMTE4MDUsIDExODA2LCAxMTgwNywgMTE4MDgsIDExODA5LCAxMTgxMCwgMTE4MTEsCisgMTE4MTIsIDExODEzLCAxMTgxNCwgMTE4MTUsIDExODE2LCAxMTgxNywgMTE4MzksIDExODQwLCAxMTg0MSwgMTE4NDIsIDExODQzLAorIDExODQ0LCAxMTg0NSwgMTE4NDcsIDExODQ5LCAxMTg1MCwgMTE4NTEsIDExODUyLCAxMTg1NCwgMTE4NTUsIDExODU2LCAxMTg1NywKKyAxMTg1OSwgMTE4NjAsIDExODYxLCAxMTg2MiwgMTE4NjQsIDExODY1LCAxMTg2NiwgMTE4NjcsIDExODY4LCAxMTg2OSwgMTE4NzAsCisgMTE4NzEsIDExODcyLCAxMTg3MywgMTE4NzQsIDExODc1LCAxMTg3NiwgMTE4NzcsIDExODc4LCAxMTg3OSwgMTE4ODAsIDExODgxLAorIDExODgzLCAxMTg4NCwgMTE4ODUsIDExODg2LCAxMTg4OCwgMTE4ODksIDExODkwLCAxMTg5MSwgMTE4OTIsIDExODkzLCAxMTg5NCwKKyAxMTg5NSwgMTE4OTYsIDExODk3LCAxMTg5OCwgMTE4OTksIDExOTAwLCAxMTkwMSwgMTE5MDIsIDExOTAzLCAxMTkwNCwgMTE5MDUsCisgMTE5MDcsIDExOTA4LCAxMTkwOSwgMTE5MTAsIDExOTEyLCAxMTkxMywgMTE5MTQsIDExOTE1LCAxMTkxNiwgMTE5MTcsIDExOTE4LAorIDExOTE5LCAxMTkyMCwgMTE5MjEsIDExOTIzLCAxMTkyNCwgMTE5MjUsIDExOTI2LCAxMTkyNywgMTE5MjgsIDExOTM2LCAxMTkzNywKKyAxMTkzOCwgMTE5MzksIDExOTQyLCAxMTk0MywgMTE5NDQsIDExOTQ1LCAxMTk0NywgMTE5NDgsIDExOTQ5LCAxMTk1MCwgMTE5NTEsCisgMTE5NTIsIDExOTUzLCAxMTk1NSwgMTE5NTYsIDExOTU3LCAxMTk1OCwgMTE5NjAsIDExOTYxLCAxMTk2MiwgMTE5NjMsIDExOTY1LAorIDExOTY2LCAxMTk2NywgMTE5NjgsIDExOTY5LCAxMTk3MCwgMTE5NzEsIDExOTcyLCAxMTk3NCwgMTE5NzUsIDExOTc2LCAxMTk3NywKKyAxMTk3OSwgMTE5ODAsIDExOTgxLCAxMTk4MiwgMTE5ODQsIDExOTg1LCAxMTk4NiwgMTE5ODcsIDExOTg5LCAxMTk5MCwgMTE5OTEsCisgMTE5OTIsIDExOTk0LCAxMTk5NSwgMTE5OTYsIDExOTk3LCAxMTk5OSwgMTIwMDAsIDEyMDAxLCAxMjAwMiwgMTIwMDMsIDEyMDA0LAorIDEyMDA1LCAxMjAwNiwgMTIwMDgsIDEyMDA5LCAxMjAxMCwgMTIwMTEsIDEyMDEzLCAxMjAxNCwgMTIwMTUsIDEyMDE2LCAxMjAxOCwKKyAxMjAxOSwgMTIwMjAsIDEyMDIxLCAxMjAyMywgMTIwMjQsIDEyMDI1LCAxMjAyNiwgMTIwMjgsIDEyMDI5LCAxMjAzMCwgMTIwMzEsCisgMTIwMzMsIDEyMDM0LCAxMjAzNSwgMTIwMzYsIDEyMDM3LCAxMjAzOCwgMTIwMzksIDEyMDQwLCAxMjA0MiwgMTIwNDMsIDEyMDQ0LAorIDEyMDQ1LCAxMjA0NywgMTIwNDgsIDEyMDQ5LCAxMjA1MCwgMTIwNTIsIDEyMDUzLCAxMjA1NCwgMTIwNTUsIDEyMDU3LCAxMjA1OCwKKyAxMjA1OSwgMTIwNjAsIDEyMDYxLCAxMjA2MiwgMTIwNjMsIDEyMDY0LCAxMjA2NiwgMTIwNjcsIDEyMDY4LCAxMjA2OSwgMTIwNzEsCisgMTIwNzIsIDEyMDczLCAxMjA3NCwgMTIwNzYsIDEyMDc3LCAxMjA3OCwgMTIwNzksIDEyMDgxLCAxMjA4MiwgMTIwODMsIDEyMDg0LAorIDEyMDg1LCAxMjA4NiwgMTIwODcsIDEyMDg4LCAxMjA5MCwgMTIwOTEsIDEyMDkyLCAxMjA5MywgMTIwOTUsIDEyMDk2LCAxMjA5NywKKyAxMjA5OCwgMTIxMDAsIDEyMTAxLCAxMjEwMiwgMTIxMDMsIDEyMTA1LCAxMjEwNiwgMTIxMDcsIDEyMTA4LCAxMjExMCwgMTIxMTEsCisgMTIxMTIsIDEyMTEzLCAxMjExNSwgMTIxMTYsIDEyMTE3LCAxMjExOCwgMTIxMTksIDEyMTIwLCAxMjEyMSwgMTIxMjIsIDEyMTMyLAorIDEyMTMzLCAxMjEzNCwgMTIxMzUsIDEyMTM2LCAxMjEzNywgMTIxMzgsIDEyMTM5LCAxMjE0MCwgMTIxNDEsIDEyMTQyLCAxMjE0MywKKyAxMjE0NCwgMTIxNDUsIDEyMTQ2LCAxMjE0NywgMTIxNDgsIDEyMTQ5LCAxMjE1MCwgMTIxNTEsIDEyMTUyLCAxMjE1MywgMTIxNTQsCisgMTIxNTgsIDEyMTU5LCAxMjE2MCwgMTIxNjIsIDEyMTY0LCAxMjE2NSwgMTIxNjYsIDEyMTY3LCAxMjE2OSwgMTIxNzAsIDEyMTcxLAorIDEyMTcyLCAxMjE3NCwgMTIxNzUsIDEyMTc2LCAxMjE3NywgMTIxNzgsIDEyMTgyLCAxMjE4MywgMTIxODQsIDEyMTg1LCAxMjE4NiwKKyAxMjE4NywgMTIxODgsIDEyMTkyLCAxMjE5MywgMTIxOTQsIDEyMTk1LCAxMjE5NiwgMTIxOTcsIDEyMTk4LCAxMjE5OSwgMTIyMDAsCisgMTIyMDQsIDEyMjA1LCAxMjIwNiwgMTIyMDcsIDEyMjA4LCAxMjIxMCwgMTIyMTIsIDEyMjE4LCAxMjIxOSwgMTIyMjAsIDEyMjIxLAorIDEyMjIyLCAxMjIyMywgMTIyMjQsIDEyMjI1LCAxMjIyNiwgMTIyMjcsIDEyMjI4LCAxMjIyOSwgMTIyMzAsIDEyMjMxLCAxMjIzMiwKKyAxMjIzMywgMTIyMzQsIDEyMjM1LCAxMjIzNiwgMTIyMzcsIDEyMjM4LCAxMjIzOSwgMTIyNDAsIDEyMjQxLCAxMjI0MiwgMTIyNDMsCisgMTIyNDQsIDEyMjQ1LCAxMjI0NiwgMTIyNDcsIDEyMjU2LCAxMjI1NywgMTIyNTgsIDEyMjU5LCAxMjI2MCwgMTIyNjEsIDEyMjYyLAorIDEyMjYzLCAxMjI2NCwgMTIyNjUsIDEyMjY2LCAxMjI2NywgMTIyNjgsIDEyMjY5LCAxMjI3MCwgMTIyNzEsIDEyMjcyLCAxMjI3MywKKyAxMjI3NiwgMTIyNzcsIDEyMjc4LCAxMjI3OSwgMTIyODAsIDEyMjgxLCAxMjI4MiwgMTIyODQsIDEyMjg2LCAxMjI4NywgMTIyODgsCisgMTIyOTcsIDEyMjk4LCAxMjI5OSwgMTIzMDAsIDEyMzAxLCAxMjMwMiwgMTIzMDMsIDEyMzA0LCAxMjMwNiwgMTIzMDcsIDEyMzA4LAorIDEyMzA5LCAxMjMxMSwgMTIzMTIsIDEyMzEzLCAxMjMxNCwgMTIzMTUsIDEyMzE2LCAxMjMxNywgMTIzMTgsIDEyMzE5LCAxMjMyMCwKKyAxMjMyMSwgMTIzMjIsIDEyMzIzLCAxMjMyNCwgMTIzMjUsIDEyMzI2LCAxMjMyNywgMTIzMjgsIDEyMzI5LCAxMjMzMCwgMTIzMzEsCisgMTIzMzIsIDEyMzMzLCAxMjMzNCwgMTIzNDEsIDEyMzQyLCAxMjM0MywgMTIzNDQsIDEyMzQ1LCAxMjM0NiwgMTIzNDcsIDEyMzQ4LAorIDEyMzQ5LCAxMjM1MCwgMTIzNTEsIDEyMzUyLCAxMjM1MywgMTIzNTQsIDEyMzU1LCAxMjM1NiwgMTIzNTcsIDEyMzU4LCAxMjM2NCwKKyAxMjM2NSwgMTIzNjYsIDEyMzY3LCAxMjM2OCwgMTIzNjksIDEyMzcwLCAxMjM3MSwgMTIzNzIsIDEyMzczLCAxMjM3NCwgMTIzNzUsCisgMTIzNzgsIDEyMzc5LCAxMjM4MCwgMTIzODEsIDEyMzgyLCAxMjM4MywgMTIzODQsIDEyMzg1LCAxMjM4NiwgMTIzODcsIDEyMzkyLAorIDEyMzkzLCAxMjM5NCwgMTIzOTUsIDEyMzk2LCAxMjM5NywgMTIzOTgsIDEyMzk5LCAxMjQwMCwgMTI0MDEsIDEyNDAyLCAxMjQwMywKKyAxMjQwNCwgMTI0MDUsIDEyNDA2LCAxMjQwNywgMTI0MDgsIDEyNDA5LCAxMjQxMCwgMTI0MTEsIDEyNDEyLCAxMjQxMywgMTI0MTQsCisgMTI0MTUsIDEyNDE2LCAxMjQxNywgMTI0MTgsIDEyNDE5LCAxMjQyMCwgMTI0MjYsIDEyNDI3LCAxMjQyOCwgMTI0MjksIDEyNDMwLAorIDEyNDMxLCAxMjQzMiwgMTI0MzMsIDEyNDM0LCAxMjQzNSwgMTI0MzYsIDEyNDM3LCAxMjQzOCwgMTI0MzksIDEyNDQwLCAxMjQ0MSwKKyAxMjQ0MiwgMTI0NDMsIDEyNDQ4LCAxMjQ0OSwgMTI0NTAsIDEyNDUxLCAxMjQ1MiwgMTI0NTMsIDEyNDU0LCAxMjQ1NSwgMTI0NTYsCisgMTI0NTcsIDEyNDU5LCAxMjQ2MCwgMTI0NjEsIDEyNDYyLCAxMjQ2MywgMTI0NjQsIDEyNDY1LCAxMjQ2NiwgMTI0NjcsIDEyNDY4LAorIDEyNDcyLCAxMjQ3MywgMTI0NzQsIDEyNDc1LCAxMjQ3NiwgMTI0ODAsIDEyNDgxLCAxMjQ4MiwgMTI0ODMsIDEyNDg0LCAxMjQ4NSwKKyAxMjQ4NiwgMTI0ODcsIDEyNDg4LCAxMjQ4OSwgMTI0OTAsIDEyNDkxLCAxMjQ5MiwgMTI0OTMsIDEyNDk0LCAxMjQ5NSwgMTI0OTYsCisgMTI1MDAsIDEyNTAxLCAxMjUwMiwgMTI1MDMsIDEyNTA0LCAxMjUwNSwgMTI1MDcsIDEyNTA4LCAxMjUwOSwgMTI1MTAsIDEyNTExLAorIDEyNTEyLCAxMjUxMywgMTI1MTQsIDEyNTE1LCAxMjUxNiwgMTI1MTcsIDEyNTE4LCAxMjUxOSwgMTI1MjAsIDEyNTIxLCAxMjUyNSwKKyAxMjUyNiwgMTI1MjcsIDEyNTI4LCAxMjUyOSwgMTI1MzIsIDEyNTMzLCAxMjUzNCwgMTI1MzUsIDEyNTM2LCAxMjUzNywgMTI1MzgsCisgMTI1MzksIDEyNTQwLCAxMjU0MSwgMTI1NDIsIDEyNTQzLCAxMjU0NywgMTI1NDgsIDEyNTQ5LCAxMjU1MCwgMTI1NTEsIDEyNTUyLAorIDEyNTUzLCAxMjU1NCwgMTI1NTUsIDEyNTU2LCAxMjU1NywgMTI1NTgsIDEyNTU5LCAxMjU2MCwgMTI1NjEsIDEyNTYzLCAxMjU2NCwKKyAxMjU2NSwgMTI1NjYsIDEyNTY3LCAxMjU2OCwgMTI1NjksIDEyNTcwLCAxMjU3MSwgMTI1NzIsIDEyNTczLCAxMjU3NCwgMTI1NzUsCisgMTI1NzYsIDEyNTc3LCAxMjU3OCwgMTI1NzksIDEyNTgwLCAxMjU4MSwgMTI1ODIsIDEyNTgzLCAxMjU4NCwgMTI1ODUsIDEyNTg2LAorIDEyNTkxLCAxMjU5MiwgMTI1OTMsIDEyNTk0LCAxMjU5NSwgMTI1OTYsIDEyNTk3LCAxMjU5OCwgMTI1OTksIDEyNjAwLCAxMjYwMSwKKyAxMjYwMiwgMTI2MDMsIDEyNjA0LCAxMjYwNSwgMTI2MDYsIDEyNjA3LCAxMjYwOCwgMTI2MDksIDEyNjEwLCAxMjYxMSwgMTI2MTIsCisgMTI2MTMsIDEyNjE0LCAxMjYxNSwgMTI2MTksIDEyNjIwLCAxMjYyMSwgMTI2MjIsIDEyNjIzLCAxMjYyNCwgMTI2MjUsIDEyNjI2LAorIDEyNjI3LCAxMjYyOSwgMTI2MzAsIDEyNjMxLCAxMjYzMiwgMTI2MzMsIDEyNjM0LCAxMjYzNSwgMTI2MzYsIDEyNjM3LCAxMjY0MCwKKyAxMjY0MSwgMTI2NDIsIDEyNjQzLCAxMjY0NCwgMTI2NDUsIDEyNjQ2LCAxMjY0NywgMTI2NDgsIDEyNjQ5LCAxMjY1MCwgMTI2NTIsCisgMTI2NjEsIDEyNjYyLCAxMjY2MywgMTI2NjQsIDEyNjY1LCAxMjY2NiwgMTI2NjcsIDEyNjY4LCAxMjY2OSwgMTI2NzAsIDEyNjcxLAorIDEyNjcyLCAxMjY3MywgMTI2ODAsIDEyNjgxLCAxMjY4MiwgMTI2ODMsIDEyNjg0LCAxMjY4NSwgMTI2ODYsIDEyNjg3LCAxMjY4OCwKKyAxMjY4OSwgMTI2OTEsIDEyNjkzLCAxMjY5NywgMTI2OTgsIDEyNjk5LCAxMjcwMCwgMTI3MDEsIDEyNzAyLCAxMjcwMywgMTI3MDQsCisgMTI3MDUsIDEyNzA2LCAxMjcwNywgMTI3MDksIDEyNzE1LCAxMjcxNiwgMTI3MTcsIDEyNzE4LCAxMjcxOSwgMTI3MjAsIDEyNzIxLAorIDEyNzIyLCAxMjcyMywgMTI3MjQsIDEyNzI1LCAxMjcyNiwgMTI3MjcsIDEyNzI4LCAxMjcyOSwgMTI3MzAsIDEyNzMxLCAxMjczOSwKKyAxMjc0MCwgMTI3NDEsIDEyNzQyLCAxMjc0MywgMTI3NDQsIDEyNzQ1LCAxMjc0NiwgMTI3NDcsIDEyNzQ4LCAxMjc0OSwgMTI3NTAsCisgMTI3NjIsIDEyNzYzLCAxMjc2NCwgMTI3NjYsIDEyNzY3LCAxMjc2OCwgMTI3NjksIDEyNzcwLCAxMjc3MSwgMTI3NzIsIDEyNzczLAorIDEyNzc0LCAxMjc3NiwgMTI3NzcsIDEyNzc4LCAxMjc3OSwgMTI3ODAsIDEyNzgxLCAxMjc4MiwgMTI3ODMsIDEyNzg0LCAxMjc4NSwKKyAxMjc4NiwgMTI3ODcsIDEyNzg4LCAxMjc4OSwgMTI3OTAsIDEyNzk0LCAxMjc5NSwgMTI3OTYsIDEyNzk3LCAxMjc5OCwgMTI3OTksCisgMTI4MDAsIDEyODAxLCAxMjgwMiwgMTI4MDQsIDEyODA1LCAxMjgwNiwgMTI4MDcsIDEyODA4LCAxMjgwOSwgMTI4MTAsIDEyODExLAorIDEyODEyLCAxMjgxNCwgMTI4MTUsIDEyODE2LCAxMjgxNywgMTI4MTgsIDEyODE5LCAxMjgyMCwgMTI4MjEsIDEyODIyLCAxMjgyMywKKyAxMjgyNCwgMTI4MjUsIDEyODI2LCAxMjgyNywgMTI4MjgsIDEyODI5LCAxMjgzMCwgMTI4MzEsIDEyODM0LCAxMjgzNSwgMTI4MzYsCisgMTI4MzcsIDEyODM4LCAxMjgzOSwgMTI4NDAsIDEyODQxLCAxMjg0MiwgMTI4NDMsIDEyODQ0LCAxMjg0NSwgMTI4NDYsIDEyODQ3LAorIDEyODQ4LCAxMjg0OSwgMTI4NTAsIDEyODUxLCAxMjg1MiwgMTI4NTMsIDEyODU0LCAxMjg1NSwgMTI4NTYsIDEyODU3LCAxMjg2NCwKKyAxMjg2NSwgMTI4NjYsIDEyODY3LCAxMjg2OCwgMTI4NjksIDEyODcwLCAxMjg3MSwgMTI4NzIsIDEyODczLCAxMjg3NCwgMTI4NzUsCisgMTI4NzYsIDEyODc3LCAxMjg3OCwgMTI4NzksIDEyODgwLCAxMjg4MSwgMTI4ODIsIDEyODgzLCAxMjg4NCwgMTI4ODUsIDEyODg2LAorIDEyODg3LCAxMjg4OCwgMTI4ODksIDEyODkwLCAxMjg5OCwgMTI4OTksIDEyOTAwLCAxMjkwMSwgMTI5MDIsIDEyOTAzLCAxMjkwNCwKKyAxMjkwNSwgMTI5MDYsIDEyOTA3LCAxMjkwOCwgMTI5MTYsIDEyOTE3LCAxMjkxOCwgMTI5MTksIDEyOTIwLCAxMjkyMSwgMTI5MjIsCisgMTI5MjMsIDEyOTI0LCAxMjkyNSwgMTI5MjYsIDEyOTI3LCAxMjkyOCwgMTI5MjksIDEyOTMwLCAxMjkzMSwgMTI5MzIsIDEyOTMzLAorIDEyOTM0LCAxMjkzNSwgMTI5MzYsIDEyOTM3LCAxMjkzOCwgMTI5MzksIDEyOTQ2LCAxMjk0NywgMTI5NDgsIDEyOTQ5LCAxMjk1MCwKKyAxMjk1MSwgMTI5NTIsIDEyOTUzLCAxMjk1NCwgMTI5NTUsIDEyOTU2LCAxMjk1NywgMTI5NTgsIDEyOTU5LCAxMjk2MCwgMTI5NjEsCisgMTI5NjIsIDEyOTYzLCAxMjk2NCwgMTI5NjUsIDEyOTY2LCAxMjk3MiwgMTI5NzMsIDEyOTc0LCAxMjk3NSwgMTI5NzYsIDEyOTc3LAorIDEyOTc4LCAxMjk3OSwgMTI5ODAsIDEyOTgxLCAxMjk4MiwgMTI5ODMsIDEyOTg0LCAxMjk4NSwgMTI5ODYsIDEyOTg3LCAxMjk4OCwKKyAxMjk4OSwgMTI5OTQsIDEyOTk1LCAxMjk5NiwgMTI5OTcsIDEyOTk4LCAxMjk5OSwgMTMwMDAsIDEzMDAxLCAxMzAwMiwgMTMwMDMsCisgMTMwMDQsIDEzMDA1LCAxMzAwNiwgMTMwMDcsIDEzMDA4LCAxMzAxMiwgMTMwMTMsIDEzMDE0LCAxMzAxNSwgMTMwMTYsIDEzMDE3LAorIDEzMDE4LCAxMzAyMiwgMTMwMjMsIDEzMDI0LCAxMzAyNSwgMTMwMjYsIDEzMDI3LCAxMzAyOCwgMTMwMjksIDEzMDMwLCAxMzAzMSwKKyAxMzAzMiwgMTMwMzMsIDEzMDM0LCAxMzAzNSwgMTMwMzYsIDEzMDM3LCAxMzAzOCwgMTMwMzksIDEzMDQwLCAxMzA0MSwgMTMwNDIsCisgMTMwNDYsIDEzMDQ3LCAxMzA0OCwgMTMwNDksIDEzMDUwLCAxMzA1MiwgMTMwNTMsIDEzMDU0LCAxMzA1NSwgMTMwNTYsIDEzMDU3LAorIDEzMDU4LCAxMzA1OSwgMTMwNjAsIDEzMDYxLCAxMzA2MiwgMTMwNjMsIDEzMDY2LCAxMzA2NywgMTMwNjgsIDEzMDY5LCAxMzA3MCwKKyAxMzA3MSwgMTMwNzIsIDEzMDczLCAxMzA3NCwgMTMwNzUsIDEzMDc2LCAxMzA3NywgMTMwNzgsIDEzMDc5LCAxMzA4MCwgMTMwODIsCisgMTMwODMsIDEzMDg0LCAxMzA4NSwgMTMwODYsIDEzMDg3LCAxMzA4OCwgMTMwODksIDEzMDkwLCAxMzA5MSwgMTMwOTIsIDEzMDkzLAorIDEzMDk0LCAxMzA5OCwgMTMwOTksIDEzMTAwLCAxMzEwMSwgMTMxMDIsIDEzMTAzLCAxMzEwNCwgMTMxMDUsIDEzMTA2LCAxMzEwNywKKyAxMzEwOCwgMTMxMDksIDEzMTEwLCAxMzExMSwgMTMxMTIsIDEzMTEzLCAxMzExNCwgMTMxMTUsIDEzMTE2LCAxMzExNywgMTMxMTgsCisgMTMxMTksIDEzMTIyLCAxMzEyMywgMTMxMjQsIDEzMTI1LCAxMzEyNiwgMTMxMjcsIDEzMTI4LCAxMzEyOSwgMTMxMzAsIDEzMTMxLAorIDEzMTMyLCAxMzEzNCwgMTMxMzUsIDEzMTM2LCAxMzEzNywgMTMxMzgsIDEzMTM5LCAxMzE0MCwgMTMxNDEsIDEzMTQyLCAxMzE0OCwKKyAxMzE0OSwgMTMxNTAsIDEzMTUxLCAxMzE1MiwgMTMxNTMsIDEzMTU0LCAxMzE1NSwgMTMxNTYsIDEzMTU3LCAxMzE1OCwgMTMxNTksCisgMTMxNjAsIDEzMTYxLCAxMzE2MiwgMTMxNjMsIDEzMTY0LCAxMzE2NSwgMTMxNjYsIDEzMTY3LCAxMzE2OCwgMTMxNjksIDEzMTcwLAorIDEzMTcxLCAxMzE3MiwgMTMxNzMsIDEzMTc0LCAxMzE3NiwgMTMxNzcsIDEzMTc4LCAxMzE3OSwgMTMxODAsIDEzMTgxLCAxMzE4MiwKKyAxMzE4MywgMTMxODQsIDEzMTg1LCAxMzE4NiwgMTMxODcsIDEzMTg4LCAxMzE4OSwgMTMxOTAsIDEzMTkxLCAxMzE5NCwgMTMxOTUsCisgMTMxOTYsIDEzMTk3LCAxMzE5OCwgMTMxOTksIDEzMjAwLCAxMzIwMSwgMTMyMDIsIDEzMjAzLCAxMzIwNCwgMTMyMDUsIDEzMjA2LAorIDEzMjA3LCAxMzIwOCwgMTMyMDksIDEzMjEwLCAxMzIxMSwgMTMyMTIsIDEzMjEzLCAxMzIxNCwgMTMyMTUsIDEzMjE2LCAxMzIxNywKKyAxMzIxOCwgMTMyMjAsIDEzMjIxLCAxMzIyMiwgMTMyMjMsIDEzMjI0LCAxMzIyNSwgMTMyMjYsIDEzMjI3LCAxMzIyOCwgMTMyMjksCisgMTMyMzAsIDEzMjMxLCAxMzIzMiwgMTMyMzMsIDEzMjM0LCAxMzIzNSwgMTMyMzYsIDEzMjM3LCAxMzIzOCwgMTMyMzksIDEzMjQwLAorIDEzMjQxLCAxMzI0MiwgMTMyNDMsIDEzMjQ0LCAxMzI0NSwgMTMyNDYsIDEzMjQ3LCAxMzI0OCwgMTMyNDksIDEzMjUwLCAxMzI1MSwKKyAxMzI1MiwgMTMyNTMsIDEzMjU0LCAxMzI1NSwgMTMyNTYsIDEzMjU3LCAxMzI1OCwgMTMyNTksIDEzMjYwLCAxMzI2MSwgMTMyNjIsCisgMTMyNjMsIDEzMjY0LCAxMzI2NSwgMTMyNjYsIDEzMjY3LCAxMzI2OCwgMTMyNjksIDEzMjcwLCAxMzI3MSwgMTMyNzIsIDEzMjc2LAorIDEzMjc3LCAxMzI3OCwgMTMyNzksIDEzMjgwLCAxMzI4MSwgMTMyODIsIDEzMjgzLCAxMzI4NCwgMTMyODYsIDEzMjg3LCAxMzI4OCwKKyAxMzI4OSwgMTMyOTAsIDEzMjkxLCAxMzI5MiwgMTMyOTMsIDEzMjk0LCAxMzMwMCwgMTMzMDEsIDEzMzAyLCAxMzMwMywgMTMzMDUsCisgMTMzMDYsIDEzMzA3LCAxMzMwOCwgMTMzMTAsIDEzMzExLCAxMzMxMiwgMTMzMTMsIDEzMzE1LCAxMzMxNiwgMTMzMTcsIDEzMzE4LAorIDEzMzIwLCAxMzMyMSwgMTMzMjIsIDEzMzIzLCAxMzMyNCwgMTMzMjUsIDEzMzM3LCAxMzMzOCwgMTMzMzksIDEzMzQwLCAxMzM0MiwKKyAxMzM0MywgMTMzNDQsIDEzMzQ1LCAxMzM0NiwgMTMzNDcsIDEzMzQ4LCAxMzM0OSwgMTMzNTAsIDEzMzUxLCAxMzM1MywgMTMzNTQsCisgMTMzNTUsIDEzMzU2LCAxMzM1OCwgMTMzNTksIDEzMzYwLCAxMzM2MSwgMTMzNjMsIDEzMzY0LCAxMzM2NSwgMTMzNjYsIDEzMzY3LAorIDEzMzY4LCAxMzM2OSwgMTMzNzAsIDEzMzcxLCAxMzM3MiwgMTMzNzMsIDEzMzc0LCAxMzM3NSwgMTMzNzYsIDEzMzc3LCAxMzM3OCwKKyAxMzM3OSwgMTMzODAsIDEzMzgxLCAxMzM4MiwgMTMzODMsIDEzMzg0LCAxMzM4NSwgMTMzODYsIDEzMzg3LCAxMzM4OCwgMTMzODksCisgMTMzOTAsIDEzMzkxLCAxMzM5MiwgMTMzOTQsIDEzMzk1LCAxMzM5NiwgMTMzOTcsIDEzMzk5LCAxMzQwMCwgMTM0MDEsIDEzNDAyLAorIDEzNDA0LCAxMzQwNSwgMTM0MDYsIDEzNDA3LCAxMzQwOSwgMTM0MTAsIDEzNDExLCAxMzQxMiwgMTM0MTQsIDEzNDE1LCAxMzQxNiwKKyAxMzQxNywgMTM0MTgsIDEzNDE5LCAxMzQyMCwgMTM0MjEsIDEzNDIyLCAxMzQyMywgMTM0MjQsIDEzNDI1LCAxMzQyNiwgMTM0MjcsCisgMTM0MjgsIDEzNDI5LCAxMzQzMCwgMTM0MzEsIDEzNDMyLCAxMzQzMywgMTM0MzQsIDEzNDM1LCAxMzQzNiwgMTM0MzcsIDEzNDM5LAorIDEzNDQwLCAxMzQ0MSwgMTM0NDIsIDEzNDQ0LCAxMzQ0NSwgMTM0NDYsIDEzNDQ3LCAxMzQ0OSwgMTM0NTAsIDEzNDUxLCAxMzQ1MiwKKyAxMzQ1NCwgMTM0NTUsIDEzNDU2LCAxMzQ1NywgMTM0NTksIDEzNDYwLCAxMzQ2MSwgMTM0NjIsIDEzNDY0LCAxMzQ2NSwgMTM0NjYsCisgMTM0NjcsIDEzNDY5LCAxMzQ3MCwgMTM0NzEsIDEzNDcyLCAxMzQ3NSwgMTM0NzYsIDEzNDc3LCAxMzQ3OCwgMTM0NzksIDEzNDgwLAorIDEzNDgxLCAxMzQ4MiwgMTM0ODMsIDEzNDg0LCAxMzQ4NiwgMTM0ODcsIDEzNDg4LCAxMzQ4OSwgMTM0OTEsIDEzNDkyLCAxMzQ5MywKKyAxMzQ5NCwgMTM0OTYsIDEzNDk3LCAxMzQ5OCwgMTM0OTksIDEzNTAxLCAxMzUwMiwgMTM1MDMsIDEzNTA0LCAxMzUwNiwgMTM1MDcsCisgMTM1MDgsIDEzNTA5LCAxMzUxMCwgMTM1MTEsIDEzNTEyLCAxMzUxMywgMTM1MTUsIDEzNTE2LCAxMzUxNywgMTM1MTgsIDEzNTIwLAorIDEzNTIxLCAxMzUyMiwgMTM1MjMsIDEzNTI1LCAxMzUyNiwgMTM1MjcsIDEzNTI4LCAxMzUzMCwgMTM1MzEsIDEzNTMyLCAxMzUzMywKKyAxMzUzNSwgMTM1MzYsIDEzNTM3LCAxMzUzOCwgMTM1NDAsIDEzNTQxLCAxMzU0MiwgMTM1NDMsIDEzNTQ1LCAxMzU0NiwgMTM1NDcsCisgMTM1NDgsIDEzNTQ5LCAxMzU1MCwgMTM1NTEsIDEzNTUzLCAxMzU1NSwgMTM1NjQsIDEzNTY1LCAxMzU2NiwgMTM1NjcsIDEzNTY4LAorIDEzNTY5LCAxMzU3MCwgMTM1NzEsIDEzNTcyLCAxMzU3MywgMTM1NzQsIDEzNTc1LCAxMzU3NiwgMTM1NzcsIDEzNTc4LCAxMzU3OSwKKyAxMzU4MCwgMTM1ODEsIDEzNTgyLCAxMzU4MywgMTM1ODQsIDEzNTg1LCAxMzU4NiwgMTM1ODcsIDEzNTg4LCAxMzU4OSwgMTM1OTAsCisgMTM1OTEsIDEzNTkyLCAxMzU5MywgMTM1OTQsIDEzNTk1LCAxMzU5NiwgMTM1OTcsIDEzNjAyLCAxMzYwMywgMTM2MDQsIDEzNjA1LAorIDEzNjA4LCAxMzYwOSwgMTM2MTAsIDEzNjExLCAxMzYxMiwgMTM2MTMsIDEzNjE0LCAxMzYxNSwgMTM2MTcsIDEzNjE4LCAxMzYxOSwKKyAxMzYyMCwgMTM2MjEsIDEzNjIyLCAxMzYyNiwgMTM2MjcsIDEzNjI4LCAxMzYyOSwgMTM2MzAsIDEzNjMxLCAxMzYzMywgMTM2MzQsCisgMTM2MzUsIDEzNjM2LCAxMzYzNywgMTM2MzgsIDEzNjM5LCAxMzY0MCwgMTM2NDEsIDEzNjQyLCAxMzY0MywgMTM2NDQsIDEzNjQ1LAorIDEzNjQ2LCAxMzY0NywgMTM2NDgsIDEzNjQ5LCAxMzY1MCwgMTM2NTEsIDEzNjUyLCAxMzY1MywgMTM2NTQsIDEzNjU1LCAxMzY1NiwKKyAxMzY1NywgMTM2NTgsIDEzNjU5LCAxMzY2MCwgMTM2NjEsIDEzNjYyLCAxMzY2MywgMTM2NjQsIDEzNjY1LCAxMzY2NiwgMTM2NjgsCisgMTM2NjksIDEzNjcwLCAxMzY3MSwgMTM2NzMsIDEzNjc0LCAxMzY3NSwgMTM2NzYsIDEzNjc4LCAxMzY3OSwgMTM2ODAsIDEzNjgxLAorIDEzNjgyLCAxMzY4MywgMTM2ODQsIDEzNjg1LCAxMzY4NiwgMTM2ODcsIDEzNjg4LCAxMzY4OSwgMTM2OTAsIDEzNjkxLCAxMzY5MiwKKyAxMzY5MywgMTM2OTQsIDEzNjk1LCAxMzY5NiwgMTM2OTcsIDEzNjk4LCAxMzY5OSwgMTM3MDAsIDEzNzAxLCAxMzcwMiwgMTM3MDMsCisgMTM3MDQsIDEzNzA1LCAxMzcwNiwgMTM3MDcsIDEzNzA5LCAxMzcxMCwgMTM3MTEsIDEzNzEyLCAxMzcxMywgMTM3MTQsIDEzNzE1LAorIDEzNzE2LCAxMzcxNywgMTM3MTgsIDEzNzE5LCAxMzcyMCwgMTM3MjEsIDEzNzIyLCAxMzcyMywgMTM3MjQsIDEzNzI1LCAxMzcyNiwKKyAxMzcyNywgMTM3MjgsIDEzNzI5LCAxMzczMCwgMTM3MzEsIDEzNzMyLCAxMzczMywgMTM3MzQsIDEzNzM1LCAxMzczNiwgMTM3MzcsCisgMTM3MzgsIDEzNzM5LCAxMzc0MCwgMTM3NDEsIDEzNzQyLCAxMzc0MywgMTM3NDQsIDEzNzQ1LCAxMzc0NiwgMTM3NDcsIDEzNzQ4LAorIDEzNzQ5LCAxMzc1MCwgMTM3NTEsIDEzNzUyLCAxMzc1MywgMTM3NTQsIDEzNzU1LCAxMzc1NiwgMTM3NTcsIDEzNzU4LCAxMzc1OSwKKyAxMzc2MCwgMTM3NjEsIDEzNzYyLCAxMzc2MywgMTM3NjQsIDEzNzY1LCAxMzc2NiwgMTM3NjcsIDEzNzY4LCAxMzc2OSwgMTM3NzAsCisgMTM3NzEsIDEzNzcyLCAxMzc3MywgMTM3NzQsIDEzNzc1LCAxMzc3NiwgMTM3NzcsIDEzNzc4LCAxMzc3OSwgMTM3ODAsIDEzNzgxLAorIDEzNzgyLCAxMzc4MywgMTM3ODQsIDEzNzg1LCAxMzc4NiwgMTM3ODcsIDEzNzg4LCAxMzc4OSwgMTM3OTAsIDEzNzkxLCAxMzc5MiwKKyAxMzc5MywgMTM3OTQsIDEzNzk1LCAxMzc5NiwgMTM3OTcsIDEzNzk4LCAxMzc5OSwgMTM4MDAsIDEzODAxLCAxMzgwMiwgMTM4MDMsCisgMTM4MDQsIDEzODA1LCAxMzgwNiwgMTM4MDcsIDEzODA4LCAxMzgwOSwgMTM4MTAsIDEzODExLCAxMzgxMiwgMTM4MTMsIDEzODE0LAorIDEzODE1LCAxMzgxNiwgMTM4MTcsIDEzODE4LCAxMzgxOSwgMTM4MjAsIDEzODIxLCAxMzgyMiwgMTM4MjMsIDEzODI0LCAxMzgyNSwKKyAxMzgyNiwgMTM4MjcsIDEzODI4LCAxMzgyOSwgMTM4MzAsIDEzODMxLCAxMzgzMiwgMTM4MzMsIDEzODM0LCAxMzgzNSwgMTM4MzYsCisgMTM4MzcsIDEzODM4LCAxMzgzOSwgMTM4NDAsIDEzODQxLCAxMzg0MiwgMTM4NDMsIDEzODQ0LCAxMzg0NSwgMTM4NDYsIDEzODQ3LAorIDEzODQ4LCAxMzg0OSwgMTM4NTAsIDEzODUxLCAxMzg1MiwgMTM4NTQsIDEzODU2LCAxMzg1OCwgMTM4NjAsIDEzODYyLCAxMzg2NCwKKyAxMzg2NiwgMTM4NjgsIDEzODcwLCAxMzg3OSwgMTM4ODAsIDEzODgxLCAxMzg4MiwgMTM4ODMsIDEzODg0LCAxMzg4NSwgMTM4ODYsCisgMTM4ODcsIDEzODg4LCAxMzg4OSwgMTM4OTAsIDEzODkxLCAxMzg5MiwgMTM4OTMsIDEzODk0LCAxMzg5NSwgMTM4OTYsIDEzODk3LAorIDEzODk4LCAxMzg5OSwgMTM5MDEsIDEzOTAyLCAxMzkwMywgMTM5MDQsIDEzOTA1LCAxMzkwNiwgMTM5MDksIDEzOTEwLCAxMzkxMSwKKyAxMzkxMiwgMTM5MTQsIDEzOTE1LCAxMzkxNiwgMTM5MTcsIDEzOTE4LCAxMzkxOSwgMTM5MjUsIDEzOTI2LCAxMzkyNywgMTM5MjgsCisgMTM5MjksIDEzOTMwLCAxMzkzMSwgMTM5MzIsIDEzOTMzLCAxMzkzNCwgMTM5MzUsIDEzOTM2LCAxMzkzNywgMTM5MzgsIDEzOTM5LAorIDEzOTQwLCAxMzk0MSwgMTM5NDIsIDEzOTQ0LCAxMzk0NSwgMTM5NDYsIDEzOTQ3LCAxMzk0OCwgMTM5NDksIDEzOTUwLCAxMzk1MSwKKyAxMzk1MywgMTM5NTQsIDEzOTU1LCAxMzk1NiwgMTM5NTgsIDEzOTU5LCAxMzk2MCwgMTM5NjEsIDEzOTYyLCAxMzk2MywgMTM5NjQsCisgMTM5NjUsIDEzOTY2LCAxMzk2NywgMTM5NjgsIDEzOTY5LCAxMzk3MCwgMTM5NzIsIDEzOTczLCAxMzk3NCwgMTM5NzUsIDEzOTc3LAorIDEzOTc4LCAxMzk3OSwgMTM5ODAsIDEzOTgxLCAxMzk4NSwgMTM5ODYsIDEzOTg3LCAxMzk4OCwgMTM5ODksIDEzOTkwLCAxMzk5MSwKKyAxMzk5MiwgMTM5OTMsIDEzOTk0LCAxMzk5NSwgMTM5OTYsIDEzOTk3LCAxMzk5OCwgMTM5OTksIDE0MDAwLCAxNDAwMSwgMTQwMDIsCisgMTQwMDMsIDE0MDA0LCAxNDAwNSwgMTQwMDYsIDE0MDA3LCAxNDAwOCwgMTQwMDksIDE0MDEwLCAxNDAxMSwgMTQwMTIsIDE0MDEzLAorIDE0MDE0LCAxNDAxNSwgMTQwMTYsIDE0MDE3LCAxNDAxOCwgMTQwMTksIDE0MDIwLCAxNDAyMSwgMTQwMjIsIDE0MDIzLCAxNDAyNCwKKyAxNDAyNSwgMTQwMjYsIDE0MDI3LCAxNDAyOCwgMTQwMjksIDE0MDMwLCAxNDAzMSwgMTQwMzIsIDE0MDMzLCAxNDAzNCwgMTQwMzUsCisgMTQwMzYsIDE0MDM3LCAxNDAzOCwgMTQwMzksIDE0MDQwLCAxNDA0MSwgMTQwNDIsIDE0MDQzLCAxNDA0NCwgMTQwNDYsIDE0MDQ3LAorIDE0MDQ4LCAxNDA0OSwgMTQwNTAsIDE0MDUzLCAxNDA1NCwgMTQwNTUsIDE0MDU2LCAxNDA1NywgMTQwNjEsIDE0MDYyLCAxNDA2MywKKyAxNDA2NCwgMTQwNjUsIDE0MDY2LCAxNDA3MiwgMTQwNzMsIDE0MDc0LCAxNDA3NSwgMTQwNzcsIDE0MDc4LCAxNDA3OSwgMTQwODAsCisgMTQwODIsIDE0MDgzLCAxNDA4NCwgMTQwODUsIDE0MDg3LCAxNDA4OCwgMTQwODksIDE0MDkwLCAxNDA5NywgMTQwOTgsIDE0MDk5LAorIDE0MTAwLCAxNDEwMSwgMTQxMDIsIDE0MTAzLCAxNDEwNCwgMTQxMDUsIDE0MTA3LCAxNDEwOCwgMTQxMDksIDE0MTEwLCAxNDExMiwKKyAxNDExMywgMTQxMTQsIDE0MTE1LCAxNDExNywgMTQxMTgsIDE0MTE5LCAxNDEyMCwgMTQxMjIsIDE0MTIzLCAxNDEyNCwgMTQxMjUsCisgMTQxMjYsIDE0MTI4LCAxNDEyOSwgMTQxMzAsIDE0MTMxLCAxNDEzMywgMTQxMzQsIDE0MTM1LCAxNDEzNiwgMTQxMzcsIDE0MTM4LAorIDE0MTQwLCAxNDE0MSwgMTQxNDIsIDE0MTQzLCAxNDE0NSwgMTQxNDYsIDE0MTQ3LCAxNDE0OCwgMTQxNTAsIDE0MTUxLCAxNDE1MiwKKyAxNDE1MywgMTQxNTQsIDE0MTU1LCAxNDE1NiwgMTQxNTcsIDE0MTU4LCAxNDE1OSwgMTQxNjAsIDE0MTYxLCAxNDE2MiwgMTQxNjMsCisgMTQxNjQsIDE0MTY1LCAxNDE2NiwgMTQxNjcsIDE0MTY4LCAxNDE2OSwgMTQxNzAsIDE0MTcxLCAxNDE3MiwgMTQxNzMsIDE0MTc1LAorIDE0MTc2LCAxNDE3NywgMTQxNzgsIDE0MTgwLCAxNDE4MSwgMTQxODIsIDE0MTgzLCAxNDE4NSwgMTQxODYsIDE0MTg3LCAxNDE4OCwKKyAxNDE5MCwgMTQxOTEsIDE0MTkyLCAxNDE5MywgMTQxOTUsIDE0MTk2LCAxNDE5NywgMTQxOTgsIDE0MjAwLCAxNDIwMSwgMTQyMDIsCisgMTQyMDMsIDE0MjA1LCAxNDIwNiwgMTQyMDcsIDE0MjA4LCAxNDIxMCwgMTQyMTEsIDE0MjEyLCAxNDIxMywgMTQyMTUsIDE0MjE2LAorIDE0MjE3LCAxNDIxOCwgMTQyMjAsIDE0MjIxLCAxNDIyMiwgMTQyMjMsIDE0MjI1LCAxNDIyNiwgMTQyMjcsIDE0MjI4LCAxNDIzMCwKKyAxNDIzMSwgMTQyMzIsIDE0MjMzLCAxNDIzNCwgMTQyMzUsIDE0MjM2LCAxNDIzNywgMTQyMzksIDE0MjQwLCAxNDI0MSwgMTQyNDQsCisgMTQyNDUsIDE0MjQ2LCAxNDI0NywgMTQyNDgsIDE0MjQ5LCAxNDI1MCwgMTQyNTIsIDE0MjUzLCAxNDI1NCwgMTQyNTUsIDE0MjU3LAorIDE0MjU4LCAxNDI1OSwgMTQyNjAsIDE0MjYyLCAxNDI2MywgMTQyNjQsIDE0MjY1LCAxNDI2NywgMTQyNjgsIDE0MjY5LCAxNDI3MCwKKyAxNDI3MSwgMTQyNzIsIDE0MjczLCAxNDI3NSwgMTQyNzYsIDE0Mjc3LCAxNDI3OCwgMTQyODAsIDE0MjgxLCAxNDI4MiwgMTQyODQsCisgMTQyODUsIDE0Mjg2LCAxNDI4NywgMTQyODksIDE0MjkwLCAxNDI5MSwgMTQyOTMsIDE0Mjk0LCAxNDI5NSwgMTQyOTYsIDE0Mjk4LAorIDE0Mjk5LCAxNDMwMCwgMTQzMDEsIDE0MzAyLCAxNDMwMywgMTQzMDQsIDE0MzA5LCAxNDMxMCwgMTQzMTEsIDE0MzEyLCAxNDMxMywKKyAxNDMxNCwgMTQzMTUsIDE0MzIwLCAxNDMyMSwgMTQzMjIsIDE0MzIzLCAxNDMyNCwgMTQzMjUsIDE0MzI2LCAxNDMyNywgMTQzMjgsCisgMTQzMzEsIDE0MzMyLCAxNDMzMywgMTQzMzQsIDE0MzM4LCAxNDMzOSwgMTQzNDAsIDE0MzQxLCAxNDM0MywgMTQzNDQsIDE0MzQ1LAorIDE0MzQ2LCAxNDM0OCwgMTQzNDksIDE0MzU1LCAxNDM1NiwgMTQzNTcsIDE0MzU5LCAxNDM2MCwgMTQzNjEsIDE0MzYyLCAxNDM2MywKKyAxNDM2NCwgMTQzNjUsIDE0MzY2LCAxNDM2OCwgMTQzNjksIDE0MzcwLCAxNDM3MSwgMTQzNzMsIDE0Mzc0LCAxNDM3NSwgMTQzNzYsCisgMTQzNzgsIDE0Mzc5LCAxNDM4MCwgMTQzODEsIDE0MzgzLCAxNDM4NCwgMTQzODUsIDE0Mzg2LCAxNDM4OCwgMTQzODksIDE0MzkwLAorIDE0MzkxLCAxNDM5MywgMTQzOTQsIDE0Mzk1LCAxNDM5NiwgMTQzOTcsIDE0Mzk4LCAxNDM5OSwgMTQ0MDAsIDE0NDAxLCAxNDQwMiwKKyAxNDQwMywgMTQ0MDQsIDE0NDA1LCAxNDQwNiwgMTQ0MDcsIDE0NDA4LCAxNDQwOSwgMTQ0MTAsIDE0NDExLCAxNDQxMiwgMTQ0MTMsCisgMTQ0NTIsIDE0NDkxLCAxNDQ5MywgMTQ0OTUsIDE0NDk3LCAxNDQ5OSwgMTQ1MDEsIDE0NTAzLCAxNDUwNSwgMTQ1MDcsIDE0NTA4LAorIDE0NTEwLCAxNDUxMiwgMTQ1MTQsIDE0NTE2LCAxNDUxOCwgMTQ1MjAsIDE0NTIyLCAxNDUyNCwgMTQ1MjUsIDE0NTI3LCAxNDUyOSwKKyAxNDUzMSwgMTQ1MzIsIDE0NTMzLCAxNDUzNCwgMTQ1MzUsIDE0NTM2LCAxNDUzNywgMTQ1MzksIDE0NTQwLCAxNDU0MiwgMTQ1NDQsCisgMTQ1NDYsIDE0NTQ3LCAxNDU0OCwgMTQ1NDksIDE0NTUxLCAxNDU1MywgMTQ1NTcsIDE0NTU5LCAxNDU2MSwgMTQ1NjMsIDE0NTY1LAorIDE0NTY3LCAxNDU2OSwgMTQ1NzEsIDE0NTcyLCAxNDU3MywgMTQ1NzUsIDE0NTc2LCAxNDU3NywgMTQ1NzgsIDE0NTc5LCAxNDU4MSwKKyAxNDU4MywgMTQ1ODQsIDE0NTg2LCAxNDU4OCwgMTQ1OTAsIDE0NTkyLCAxNDU5NCwgMTQ1OTUsIDE0NTk4LCAxNDYwNCwgMTQ2MDUsCisgMTQ2MDYsIDE0NjA4LCAxNDYwOSwgMTQ2MTIsIDE0NjEzLCAxNDYxNiwgMTQ2MjIsIDE0NjI0LCAxNDYyNiwgMTQ2MjgsIDE0NjMwLAorIDE0NjMyLCAxNDYzNCwgMTQ2MzYsIDE0NjM4LCAxNDY0MCwgMTQ2NDIsIDE0NjQ0LCAxNDY0NiwgMTQ2NDcsIDE0NjQ5LCAxNDY1MSwKKyAxNDY1MywgMTQ2NTUsIDE0NjU3LCAxNDY1OSwgMTQ2NjEsIDE0NjYzLCAxNDY2NSwgMTQ2NjcsIDE0NjY5LCAxNDY3MSwgMTQ2NzMsCisgMTQ2NzksIDE0NjgxLCAxNDY4MiwgMTQ2ODMsIDE0Njg2LCAxNDY4OCwgMTQ2OTAsIDE0NjkyLCAxNDY5NCwgMTQ2OTYsIDE0Njk4LAorIDE0NzAwLCAxNDcwMiwgMTQ3MDQsIDE0NzA2LCAxNDcwOCwgMTQ3MTAsIDE0NzEyLCAxNDcxNCwgMTQ3MTYsIDE0NzE4LCAxNDcyMCwKKyAxNDcyMiwgMTQ3MjQsIDE0NzI1LCAxNDcyNiwgMTQ3MjgsIDE0NzMwLCAxNDczMiwgMTQ3MzQsIDE0NzM5LCAxNDc0MCwgMTQ3NDMsCisgMTQ3NDQsIDE0NzUzLCAxNDc1NSwgMTQ3NTYsIDE0NzU3LCAxNDc1OCwgMTQ3NTksIDE0NzYwLCAxNDc2MiwgMTQ3NjQsIDE0NzY1LAorIDE0NzY2LCAxNDc2NywgMTQ3NjksIDE0NzcxLCAxNDc3MywgMTQ3NzUsIDE0Nzc3LCAxNDc3OSwgMTQ3ODEsIDE0NzgzLCAxNDc4NSwKKyAxNDc4NywgMTQ3ODksIDE0NzkxLCAxNDc5MywgMTQ3OTUsIDE0ODA4LCAxNDgxMCwgMTQ4MTIsIDE0ODE0LCAxNDgxNiwgMTQ4MTcsCisgMTQ4MTgsIDE0ODIyLCAxNDgyNCwgMTQ4MjgsIDE0ODI5LCAxNDgzMCwgMTQ4MzEsIDE0ODMyLCAxNDgzMywgMTQ4MzQsIDE0ODM1LAorIDE0ODM2LCAxNDgzOCwgMTQ4NDAsIDE0ODQyLCAxNDg0NCwgMTQ4NDYsIDE0ODQ4LCAxNDg1MCwgMTQ4NTEsIDE0ODUzLCAxNDg1NSwKKyAxNDg1NywgMTQ4NTksIDE0ODYxLCAxNDg2MywgMTQ4NjUsIDE0ODY3LCAxNDg2OSwgMTQ4NzEsIDE0ODczLCAxNDg3NSwgMTQ4NzcsCisgMTQ4NzksIDE0ODgxLCAxNDg4MywgMTQ4ODUsIDE0ODg3LCAxNDg4OSwgMTQ4OTEsIDE0ODkzLCAxNDg5NCwgMTQ4OTUsIDE0ODk3LAorIDE0ODk5LCAxNDkwMSwgMTQ5MDMsIDE0OTA1LCAxNDkwNywgMTQ5MDksIDE0OTEwLCAxNDkxMSwgMTQ5MTIsIDE0OTEzLCAxNDkxNywKKyAxNDkxOCwgMTQ5MjIsIDE0OTI0LCAxNDkyNiwgMTQ5MjgsIDE0OTMwLCAxNDkzMiwgMTQ5MzMsIDE0OTM0LCAxNDkzNiwgMTQ5MzgsCisgMTQ5NDAsIDE0OTQyLCAxNDk0NiwgMTQ5NTAsIDE0OTUxLCAxNDk1MiwgMTQ5NTUsIDE0OTU3LCAxNDk1OSwgMTQ5NjAsIDE0OTYyLAorIDE0OTY0LCAxNDk2NiwgMTQ5NjgsIDE0OTcwLCAxNDk3MSwgMTQ5NzIsIDE0OTc0LCAxNDk3NiwgMTQ5NzgsIDE0OTgwLCAxNDk4MiwKKyAxNDk4NCwgMTQ5ODYsIDE0OTkwLCAxNDk5MiwgMTQ5OTQsIDE0OTk2LCAxNTAwMCwgMTUwMDQsIDE1MDA4LCAxNTAxMCwgMTUwMTIsCisgMTUwMTQsIDE1MDE4LCAxNTAyMCwgMTUwMjIsIDE1MDI0LCAxNTAyNiwgMTUwMjgsIDE1MDUyLCAxNTA2MiwgMTUwNjQsIDE1MDY2LAorIDE1MDY4LCAxNTA3MCwgMTUwNzIsIDE1MDc0LCAxNTEwNiwgMTUxMDgsIDE1MTEwLCAxNTExMiwgMTUxMTQsIDE1MTE2LCAxNTExNywKKyAxNTExOSwgMTUxMjEsIDE1MTIzLCAxNTEyNCwgMTUxMjUsIDE1MTI2LCAxNTEyNywgMTUxMjksIDE1MTMxLCAxNTEzMywgMTUxMzQsCisgMTUxMzUsIDE1MTM2LCAxNTEzNywgMTUxMzgsIDE1MTM5LCAxNTE0MSwgMTUxNDMsIDE1MTQ1LCAxNTE0NiwgMTUxNDcsIDE1MTQ4LAorIDE1MTQ5LCAxNTE1MCwgMTUxNTIsIDE1MTU0LCAxNTE1NiwgMTUxNTcsIDE1MTU4LCAxNTE1OSwgMTUxNjAsIDE1MTYyLCAxNTE2NCwKKyAxNTE2NiwgMTUxNjcsIDE1MTY4LCAxNTE2OSwgMTUxNzAsIDE1MTcxLCAxNTE3MiwgMTUxNzQsIDE1MTc2LCAxNTE3OCwgMTUxNzksCisgMTUxODAsIDE1MTgxLCAxNTE4MiwgMTUxODMsIDE1MTg1LCAxNTE4NywgMTUxODksIDE1MTkwLCAxNTE5MSwgMTUxOTIsIDE1MTkzLAorIDE1MTk0LCAxNTE5NiwgMTUxOTgsIDE1MjAwLCAxNTIwMiwgMTUyMDQsIDE1MjA2LCAxNTIwOCwgMTUyMTAsIDE1MjEyLCAxNTIxNCwKKyAxNTIxNiwgMTUyMTgsIDE1MjIwLCAxNTIyMSwgMTUyMjIsIDE1MjIzLCAxNTIyNCwgMTUyMjYsIDE1MjI4LCAxNTIzMCwgMTUyMzEsCisgMTUyMzIsIDE1MjMzLCAxNTIzNCwgMTUyMzUsIDE1MjM2LCAxNTIzOCwgMTUyNDAsIDE1MjQyLCAxNTI0NCwgMTUyNDUsIDE1MjQ3LAorIDE1MjQ5LCAxNTI1MSwgMTUyNTIsIDE1MjUzLCAxNTI1NCwgMTUyNTYsIDE1MjU4LCAxNTI2MCwgMTUyNjIsIDE1MjY0LCAxNTI2NiwKKyAxNTI2NywgMTUyNjgsIDE1MjY5LCAxNTI3MCwgMTUyNzIsIDE1Mjc0LCAxNTI3NiwgMTUyNzgsIDE1MjgwLCAxNTI4NiwgMTUyODgsCisgMTUyOTIsIDE1Mjk0LCAxNTI5OCwgMTUzMDIsIDE1MzI0LCAxNTMyNiwgMTUzMjgsIDE1MzMwLCAxNTMzMiwgMTUzMzMsIDE1MzM0LAorIDE1MzM1LCAxNTMzNywgMTUzMzgsIDE1MzM5LCAxNTM0MCwgMTUzNDIsIDE1MzQ0LCAxNTM1MiwgMTUzNTUsIDE1MzU2LCAxNTM1OCwKKyAxNTM2MCwgMTUzNjIsIDE1MzYzLCAxNTM2NSwgMTUzNjcsIDE1MzY5LCAxNTM3MSwgMTUzNzMsIDE1Mzc1LCAxNTM3NiwgMTUzNzgsCisgMTUzODAsIDE1MzgyLCAxNTM4NCwgMTUzODYsIDE1Mzg4LCAxNTM4OSwgMTUzOTEsIDE1MzkzLCAxNTM5NSwgMTUzOTcsIDE1Mzk4LAorIDE1NDAwLCAxNTQwMiwgMTU0MDQsIDE1NDA2LCAxNTQwNywgMTU0MDksIDE1NDExLCAxNTQxMywgMTU0MTUsIDE1NDE3LCAxNTQxOSwKKyAxNTQyMSwgMTU0MjMsIDE1NDI1LCAxNTQyNywgMTU0MjgsIDE1NDI5LCAxNTQzMCwgMTU0MzEsIDE1NDMyLCAxNTQzNCwgMTU0MzYsCisgMTU0MzgsIDE1NDQwLCAxNTQ0NCwgMTU0NDYsIDE1NDQ4LCAxNTQ1MCwgMTU0NTIsIDE1NDUzLCAxNTQ1NiwgMTU0NjEsIDE1NDYyLAorIDE1NDYzLCAxNTQ3MiwgMTU0NzQsIDE1NDc3LCAxNTQ4MCwgMTU0ODYsIDE1NDk1LCAxNTQ5NiwgMTU0OTgsIDE1NTAxLCAxNTUwMiwKKyAxNTUwMywgMTU1MDQsIDE1NTA1LCAxNTUxMSwgMTU1MTYsIDE1NTIyLCAxNTUyOSwgMTU1MzAsIDE1NTMxLCAxNTUzNSwgMTU1MzcsCisgMTU1MzgsIDE1NTM5LCAxNTU0MywgMTU1NDUsIDE1NTQ2LCAxNTU0NywgMTU1NDgsIDE1NTUwLCAxNTU1MSwgMTU1NTUsIDE1NTU2LAorIDE1NTYwLCAxNTU2MSwgMTU1NjIsIDE1NTY0LCAxNTU3MywgMTU1NzUsIDE1NTc3LCAxNTU4MSwgMTU1ODcsIDE1NTkxLCAxNTU5OSwKKyAxNTYwNiwgMTU2MDksIDE1NjExLCAxNTYxNiwgMTU2MTksIDE1NjIzLCAxNTYyNywgMTU2MzIsIDE1NjQwLCAxNTY0NywgMTU2NTAsCisgMTU2NTEsIDE1NjUzLCAxNTY1NSwgMTU2NTksIDE1NjYxLCAxNTY2NSwgMTU2NzAsIDE1Njc2LCAxNTY4MywgMTU2ODcsIDE1Njg4LAorIDE1Njg5LCAxNTY5MSwgMTU2OTIsIDE1Njk1LCAxNTY5NiwgMTU2OTcsIDE1NzAwLCAxNTcwMiwgMTU3MDMsIDE1NzA3LCAxNTcwOSwKKyAxNTcxMywgMTU3MjEsIDE1NzIyLCAxNTcyMywgMTU3MjQsIDE1NzI1LCAxNTcyNiwgMTU3MjgsIDE1NzI5LCAxNTczMCwgMTU3MzEsCisgMTU3MzIsIDE1NzMzLCAxNTczNCwgMTU3MzUsIDE1NzM2LCAxNTczNywgMTU3MzgsIDE1NzQyLCAxNTc0MywgMTU3NDQsIDE1NzQ2LAorIDE1NzQ3LCAxNTc0OCwgMTU3NTAsIDE1NzUzLCAxNTc1OSwgMTU3NjUsIDE1NzY3LCAxNTc2OSwgMTU3NzEsIDE1NzczLCAxNTc3NSwKKyAxNTc4NywgMTU3OTksIDE1ODAwLCAxNTgwMiwgMTU4MDQsIDE1ODA2LCAxNTgwNywgMTU4MDgsIDE1ODA5LCAxNTgxMCwgMTU4MTEsCisgMTU4MTMsIDE1ODE1LCAxNTgxNywgMTU4MTksIDE1ODIxLCAxNTgyMiwgMTU4MjMsIDE1ODI0LCAxNTgyNSwgMTU4MjYsIDE1ODI4LAorIDE1ODMwLCAxNTgzMiwgMTU4MzQsIDE1ODM2LCAxNTgzOCwgMTU4NDAsIDE1ODQxLCAxNTg0MywgMTU4NDUsIDE1ODQ3LCAxNTg0OSwKKyAxNTg1MSwgMTU4NTIsIDE1ODU0LCAxNTg1NiwgMTU4NTgsIDE1ODYwLCAxNTg2MiwgMTU4NjQsIDE1ODY2LCAxNTg2OCwgMTU4NzIsCisgMTU4ODEsIDE1ODgyLCAxNTg4MywgMTU4ODQsIDE1ODg5LCAxNTg5MiwgMTU4OTMsIDE1ODk1LCAxNTg5NiwgMTU4OTcsIDE1ODk5LAorIDE1OTAwLCAxNTkwMSwgMTU5MDIsIDE1OTAzLCAxNTkwNCwgMTU5MDUsIDE1OTA3LCAxNTkwOSwgMTU5MTEsIDE1OTEyLCAxNTkxMywKKyAxNTkxNCwgMTU5MTUsIDE1OTE2LCAxNTkxNywgMTU5MTgsIDE1OTE5LCAxNTkyMCwgMTU5MjEsIDE1OTIyLCAxNTkyMywgMTU5MjQsCisgMTU5MjUsIDE1OTI2LCAxNTkyNywgMTU5MjgsIDE1OTI5LCAxNTkzMCwgMTU5MzEsIDE1OTMyLCAxNTkzMywgMTU5MzQsIDE1OTM1LAorIDE1OTM2LCAxNTkzNywgMTU5MzgsIDE1OTM5LCAxNTk0MCwgMTU5NDIsIDE1OTQ0LCAxNTk0NiwgMTU5NDgsIDE1OTUwLCAxNTk1MiwKKyAxNTk1NCwgMTU5NTYsIDE1OTU5LCAxNTk2OCwgMTU5NjksIDE1OTcwLCAxNTk3MSwgMTU5NzIsIDE1OTczLCAxNTk3NSwgMTU5NzYsCisgMTU5ODAsIDE1OTgzLCAxNTk4NSwgMTU5ODcsIDE1OTg5LCAxNTk5MCwgMTU5OTIsIDE1OTk0LCAxNTk5NiwgMTU5OTgsIDE2MDAwLAorIDE2MDAxLCAxNjAwMywgMTYwMDUsIDE2MDA3LCAxNjAwOSwgMTYwMTAsIDE2MDExLCAxNjAxMiwgMTYwMTQsIDE2MDE1LCAxNjAxNywKKyAxNjAxOCwgMTYwMjAsIDE2MDIyLCAxNjAyMywgMTYwMjQsIDE2MDI1LCAxNjAyNiwgMTYwMjcsIDE2MDI4LCAxNjAyOSwgMTYwMzAsCisgMTYwMzEsIDE2MDMyLCAxNjAzMywgMTYwMzQsIDE2MDM1LCAxNjAzNywgMTYwMzgsIDE2MDQxLCAxNjA0NSwgMTYwNTEsIDE2MDUzLAorIDE2MDU1LCAxNjA1NywgMTYwNTksIDE2MDYxLCAxNjA2MywgMTYwNjUsIDE2MDY2LCAxNjA2OCwgMTYwNzAsIDE2MDcyLCAxNjA3NCwKKyAxNjA3NSwgMTYwNzYsIDE2MDc3LCAxNjA3OCwgMTYwNzksIDE2MDgxLCAxNjA4MywgMTYwODUsIDE2MDg3LCAxNjA4OSwgMTYwOTEsCisgMTYwOTMsIDE2MDk1LCAxNjA5NywgMTYwOTksIDE2MTAxLCAxNjEwMywgMTYxMDQsIDE2MTA1LCAxNjEwNiwgMTYxMDcsIDE2MTA4LAorIDE2MTExLCAxNjExMiwgMTYxMTUsIDE2MTE2LCAxNjExOCwgMTYxMjAsIDE2MTIyLCAxNjEyMywgMTYxMjUsIDE2MTI3LCAxNjEyOSwKKyAxNjEzMSwgMTYxMzYsIDE2MTQxLCAxNjE0MiwgMTYxNDMsIDE2MTQ2LCAxNjE1MCwgMTYxNTIsIDE2MTU0LCAxNjE1NiwgMTYxNTgsCisgMTYxNTksIDE2MTYxLCAxNjE2MywgMTYxNjUsIDE2MTY3LCAxNjE2OSwgMTYxNzEsIDE2MTczLCAxNjE3NSwgMTYxNzcsIDE2MTc5LAorIDE2MTgxLCAxNjE4MywgMTYxODUsIDE2MTg2LCAxNjE4OCwgMTYxOTAsIDE2MTkyLCAxNjE5NCwgMTYxOTYsIDE2MTk4LCAxNjIwMCwKKyAxNjIwMiwgMTYyMDMsIDE2MjA1LCAxNjIwNywgMTYyMDgsIDE2MjA5LCAxNjIxMSwgMTYyMTIsIDE2MjEzLCAxNjIxNCwgMTYyMTUsCisgMTYyMTYsIDE2MjE3LCAxNjIyMCwgMTYyMjEsIDE2MjI0LCAxNjIyNiwgMTYyMjgsIDE2MjMwLCAxNjIzMiwgMTYyMzQsIDE2MjM2LAorIDE2MjM4LCAxNjI0MCwgMTYyNDEsIDE2MjQzLCAxNjI0NSwgMTYyNDcsIDE2MjQ5LCAxNjI1MSwgMTYyNTMsIDE2MjU1LCAxNjI1NywKKyAxNjI1OCwgMTYyNjAsIDE2MjYyLCAxNjI2NCwgMTYyNjYsIDE2MjY4LCAxNjI3MCwgMTYyNzIsIDE2Mjc0LCAxNjI3NywgMTYyNzgsCisgMTYyNzksIDE2MjgwLCAxNjI4MSwgMTYyODQsIDE2Mjg3LCAxNjI5MywgMTYyOTUsIDE2Mjk3LCAxNjI5OSwgMTYzMDIsIDE2MzA0LAorIDE2MzA2LCAxNjMwOCwgMTYzMTAsIDE2MzEyLCAxNjMxNCwgMTYzMTYsIDE2MzE4LCAxNjMxOSwgMTYzMjEsIDE2MzIyLCAxNjMyMywKKyAxNjMyNiwgMTYzMjcsIDE2MzI4LCAxNjMyOSwgMTYzMzcsIDE2MzQyLCAxNjM0NCwgMTYzNDUsIDE2MzQ5LCAxNjM1MCwgMTYzNTIsCisgMTYzNTMsIDE2MzU0LCAxNjM1NSwgMTYzNjEsIDE2MzYzLCAxNjM2NSwgMTYzNjcsIDE2MzY5LCAxNjM3MSwgMTYzNzMsIDE2Mzc1LAorIDE2Mzc3LCAxNjM3OSwgMTYzODEsIDE2MzgzLCAxNjM4NSwgMTYzODcsIDE2Mzg5LCAxNjM5MSwgMTYzOTMsIDE2Mzk1LCAxNjM5NywKKyAxNjM5OSwgMTY0MDAsIDE2NDAyLCAxNjQwNCwgMTY0MDYsIDE2NDA4LCAxNjQxMCwgMTY0MTIsIDE2NDE0LCAxNjQxNiwgMTY0MTgsCisgMTY0MjAsIDE2NDIyLCAxNjQyNCwgMTY0MjYsIDE2NDI4LCAxNjQzMCwgMTY0MzIsIDE2NDM4LCAxNjQ0MCwgMTY0NDEsIDE2NDQyLAorIDE2NDQzLCAxNjQ0NiwgMTY0NDgsIDE2NDUwLCAxNjQ1MiwgMTY0NTQsIDE2NDU2LCAxNjQ1OCwgMTY0NjAsIDE2NDYyLCAxNjQ2NCwKKyAxNjQ2NiwgMTY0NjgsIDE2NDcwLCAxNjQ3MiwgMTY0NzQsIDE2NDc2LCAxNjQ3NywgMTY0NzgsIDE2NDc5LCAxNjQ4MSwgMTY0ODMsCisgMTY0ODQsIDE2NDg1LCAxNjQ4NiwgMTY0ODcsIDE2NDk3LCAxNjQ5OCwgMTY0OTksIDE2NTAxLCAxNjUwMiwgMTY1MDMsIDE2NTA1LAorIDE2NTA4LCAxNjUxMSwgMTY1MTIsIDE2NTE0LCAxNjUyMiwgMTY1MjUsIDE2NTI2LCAxNjUyOCwgMTY1MzAsIDE2NTM1LCAxNjUzNiwKKyAxNjUzNywgMTY1NDAsIDE2NTQxLCAxNjU0NCwgMTY1NDYsIDE2NTU1LCAxNjU1NywgMTY1NTksIDE2NTYxLCAxNjU2MywgMTY1NjUsCisgMTY1NjcsIDE2NTY5LCAxNjU3MSwgMTY1NzMsIDE2NTc1LCAxNjU3NywgMTY1NzksIDE2NTgxLCAxNjU4MywgMTY1OTYsIDE2NTk4LAorIDE2NjAwLCAxNjYwMiwgMTY2MDMsIDE2NjA0LCAxNjYwNSwgMTY2MDYsIDE2NjA3LCAxNjYwOCwgMTY2MTAsIDE2NjEyLCAxNjYxNCwKKyAxNjYxNSwgMTY2MTYsIDE2NjE3LCAxNjYxOCwgMTY2MTksIDE2NjIxLCAxNjYyNSwgMTY2MjcsIDE2NjMxLCAxNjYzMywgMTY2MzQsCisgMTY2MzUsIDE2NjM2LCAxNjYzNywgMTY2MzgsIDE2NjM5LCAxNjY0MCwgMTY2NDEsIDE2NjQyLCAxNjY0NCwgMTY2NDYsIDE2NjQ3LAorIDE2NjQ4LCAxNjY1MCwgMTY2NTIsIDE2NjU0LCAxNjY1NiwgMTY2NTgsIDE2NjYwLCAxNjY2MSwgMTY2NjIsIDE2NjYzLCAxNjY2NSwKKyAxNjY2NywgMTY2NjksIDE2NjcxLCAxNjY3MywgMTY2NzUsIDE2Njc3LCAxNjY3OSwgMTY2ODEsIDE2NjgzLCAxNjY4NSwgMTY2ODcsCisgMTY2ODksIDE2NjkxLCAxNjY5MywgMTY2OTUsIDE2Njk3LCAxNjY5OSwgMTY3MDEsIDE2NzAzLCAxNjcwNSwgMTY3MDcsIDE2NzA5LAorIDE2NzExLCAxNjcxMywgMTY3MTUsIDE2NzE3LCAxNjcxOSwgMTY3MjEsIDE2NzIyLCAxNjcyMywgMTY3MjUsIDE2NzI5LCAxNjczMCwKKyAxNjczMSwgMTY3MzUsIDE2NzM3LCAxNjczOSwgMTY3NDEsIDE2NzQzLCAxNjc0NSwgMTY3NDcsIDE2NzQ4LCAxNjc0OSwgMTY3NTAsCisgMTY3NTIsIDE2NzU0LCAxNjc1NiwgMTY3NTgsIDE2NzYwLCAxNjc2MiwgMTY3NjQsIDE2NzY4LCAxNjc3MCwgMTY3NzIsIDE2Nzc2LAorIDE2Nzc3LCAxNjc3OCwgMTY3ODEsIDE2NzgzLCAxNjc4NSwgMTY3OTQsIDE2Nzk1LCAxNjc5NywgMTY3OTksIDE2ODAxLCAxNjgwMywKKyAxNjgwNSwgMTY4MDcsIDE2ODA4LCAxNjgwOSwgMTY4MTEsIDE2ODEzLCAxNjgxNSwgMTY4MTcsIDE2ODE5LCAxNjgyMSwgMTY4MjMsCisgMTY4MjcsIDE2ODI5LCAxNjgzMSwgMTY4MzMsIDE2ODM3LCAxNjg0MSwgMTY4NDUsIDE2ODQ3LCAxNjg0OSwgMTY4NTEsIDE2ODU1LAorIDE2ODU3LCAxNjg1OSwgMTY4NjEsIDE2ODYzLCAxNjg2NSwgMTY4NjcsIDE2ODkxLCAxNjg5OSwgMTY5MDEsIDE2OTAzLCAxNjkwNSwKKyAxNjkwNywgMTY5MDksIDE2OTExLCAxNjkxMywgMTY5MTUsIDE2OTE3LCAxNjkxOSwgMTY5MjEsIDE2OTIzLCAxNjkyNywgMTY5MjksCisgMTY5MzMsIDE2OTM3LCAxNjkzOSwgMTY5NDMsIDE2OTQ1LCAxNjk0NywgMTY5NzcsIDE2OTc4LCAxNjk4MCwgMTY5ODIsIDE2OTg0LAorIDE2OTg2LCAxNjk4NywgMTY5ODgsIDE2OTg5LCAxNjk5MCwgMTY5OTIsIDE2OTk0LCAxNjk5NiwgMTY5OTgsIDE2OTk5LCAxNzAwMCwKKyAxNzAwMSwgMTcwMDIsIDE3MDAzLCAxNzAwNCwgMTcwMDYsIDE3MDA4LCAxNzAxMCwgMTcwMTIsIDE3MDEzLCAxNzAxNCwgMTcwMTUsCisgMTcwMTYsIDE3MDE3LCAxNzAxOSwgMTcwMjEsIDE3MDIzLCAxNzAyNSwgMTcwMjYsIDE3MDI3LCAxNzAyOCwgMTcwMjksIDE3MDMxLAorIDE3MDMzLCAxNzAzNSwgMTcwMzcsIDE3MDM4LCAxNzAzOSwgMTcwNDAsIDE3MDQxLCAxNzA0MiwgMTcwNDMsIDE3MDQ1LCAxNzA0NywKKyAxNzA0OSwgMTcwNTEsIDE3MDUyLCAxNzA1MywgMTcwNTQsIDE3MDU1LCAxNzA1NiwgMTcwNTgsIDE3MDYwLCAxNzA2MiwgMTcwNjQsCisgMTcwNjUsIDE3MDY2LCAxNzA2NywgMTcwNjgsIDE3MDY5LCAxNzA3MSwgMTcwNzMsIDE3MDc1LCAxNzA3NywgMTcwNzksIDE3MDgxLAorIDE3MDgzLCAxNzA4NSwgMTcwODcsIDE3MDg5LCAxNzA5MSwgMTcwOTMsIDE3MDk1LCAxNzA5NywgMTcwOTgsIDE3MDk5LCAxNzEwMCwKKyAxNzEwMSwgMTcxMDMsIDE3MTA1LCAxNzEwNywgMTcxMDksIDE3MTEwLCAxNzExMSwgMTcxMTIsIDE3MTEzLCAxNzExNCwgMTcxMTUsCisgMTcxMTcsIDE3MTE5LCAxNzEyMSwgMTcxMjMsIDE3MTI1LCAxNzEyNywgMTcxMjksIDE3MTMyLCAxNzEzMywgMTcxMzUsIDE3MTM3LAorIDE3MTM5LCAxNzE0MSwgMTcxNDIsIDE3MTQzLCAxNzE0NCwgMTcxNDYsIDE3MTQ4LCAxNzE1MCwgMTcxNTIsIDE3MTU0LCAxNzE1NiwKKyAxNzE1NywgMTcxNTgsIDE3MTU5LCAxNzE2MSwgMTcxNjMsIDE3MTY1LCAxNzE2NywgMTcxNjksIDE3MTcxLCAxNzE3MywgMTcxNzUsCisgMTcxNzcsIDE3MTc5LCAxNzE4MSwgMTcxODMsIDE3MTg1LCAxNzE4OSwgMTcxOTEsIDE3MTk1LCAxNzE5OSwgMTcyMDEsIDE3MjA1LAorIDE3MjA3LCAxNzIwOSwgMTcyMTQsIDE3MjE3LCAxNzI1MSwgMTcyNTMsIDE3MjU1LCAxNzI1NywgMTcyNTksIDE3MjYxLCAxNzI2MywKKyAxNzI2NSwgMTcyNjcsIDE3MjY5LCAxNzI3MSwgMTcyNzMsIDE3Mjc1LCAxNzI3NiwgMTcyNzgsIDE3MjgwLCAxNzI4MiwgMTcyODQsCisgMTcyODUsIDE3Mjg2LCAxNzI4NywgMTcyODgsIDE3MjkwLCAxNzI5MiwgMTcyOTQsIDE3Mjk2LCAxNzI5NywgMTcyOTgsIDE3Mjk5LAorIDE3MzAwLCAxNzMwMSwgMTczMDIsIDE3MzA0LCAxNzMwNiwgMTczMDgsIDE3MzEwLCAxNzMxMSwgMTczMTIsIDE3MzEzLCAxNzMxNCwKKyAxNzMxNSwgMTczMTcsIDE3MzE5LCAxNzMyMSwgMTczMjMsIDE3MzI0LCAxNzMyNSwgMTczMjYsIDE3MzI3LCAxNzMyOSwgMTczMzEsCisgMTczMzMsIDE3MzM1LCAxNzMzNiwgMTczMzcsIDE3MzM4LCAxNzMzOSwgMTczNDAsIDE3MzQxLCAxNzM0MywgMTczNDUsIDE3MzQ3LAorIDE3MzQ5LCAxNzM1MCwgMTczNTEsIDE3MzUyLCAxNzM1MywgMTczNTQsIDE3MzU2LCAxNzM1OCwgMTczNjAsIDE3MzYyLCAxNzM2MywKKyAxNzM2NCwgMTczNjUsIDE3MzY2LCAxNzM2NywgMTczNjksIDE3MzcxLCAxNzM3MywgMTczNzUsIDE3Mzc3LCAxNzM3OSwgMTczODEsCisgMTczODMsIDE3Mzg1LCAxNzM4NywgMTczODksIDE3MzkxLCAxNzM5MywgMTczOTUsIDE3Mzk2LCAxNzM5NywgMTczOTgsIDE3Mzk5LAorIDE3NDAxLCAxNzQwMywgMTc0MDUsIDE3NDA3LCAxNzQwOCwgMTc0MDksIDE3NDEwLCAxNzQxMSwgMTc0MTIsIDE3NDEzLCAxNzQxNSwKKyAxNzQxNywgMTc0MTksIDE3NDIxLCAxNzQyMywgMTc0MjQsIDE3NDI1LCAxNzQyNiwgMTc0MjcsIDE3NDI5LCAxNzQzMSwgMTc0MzMsCisgMTc0MzUsIDE3NDM2LCAxNzQzNywgMTc0MzgsIDE3NDM5LCAxNzQ0MSwgMTc0NDMsIDE3NDQ1LCAxNzQ0NywgMTc0NDksIDE3NDU1LAorIDE3NDU3LCAxNzQ2MSwgMTc0NjMsIDE3NDY3LCAxNzQ3MywgMTc0NzUsIDE3NDc4LCAxNzQ4MSwgMTc0ODcsIDE3NDg5LCAxNzQ5MywKKyAxNzQ5NSwgMTc0OTksIDE3NTAxLCAxNzUzNCwgMTc1MzYsIDE3NTM5LCAxNzU0MiwgMTc1NDUsIDE3NTQ3LCAxNzU0OCwgMTc1NDksCisgMTc1NTAsIDE3NTUzLCAxNzU1NCwgMTc1NTUsIDE3NTU2LCAxNzU1NywgMTc1NjAsIDE3NTYxLCAxNzU2NCwgMTc1NjcsIDE3NTcwLAorIDE3NTczLCAxNzU3NiwgMTc1ODgsIDE3NTkyLCAxNzU5NCwgMTc1OTYsIDE3NTk4LCAxNzYwMCwgMTc2MDIsIDE3NjA0LCAxNzYwNiwKKyAxNzYwOCwgMTc2MDksIDE3NjExLCAxNzYxMywgMTc2MTUsIDE3NjE2LCAxNzYxOCwgMTc2MjAsIDE3NjIyLCAxNzYyNCwgMTc2MjYsCisgMTc2MjgsIDE3NjI5LCAxNzYzMSwgMTc2MzMsIDE3NjM1LCAxNzYzNywgMTc2MzksIDE3NjQxLCAxNzY0MiwgMTc2NDQsIDE3NjQ2LAorIDE3NjQ4LCAxNzY1MCwgMTc2NTEsIDE3NjUzLCAxNzY1NSwgMTc2NTcsIDE3NjU5LCAxNzY2MCwgMTc2NjIsIDE3NjY0LCAxNzY2NiwKKyAxNzY2OCwgMTc2NzAsIDE3NjcxLCAxNzY3MywgMTc2NzUsIDE3Njc3LCAxNzY3OCwgMTc2ODAsIDE3NjgyLCAxNzY4NCwgMTc2ODYsCisgMTc2ODgsIDE3NjkwLCAxNzY5MSwgMTc2OTMsIDE3Njk1LCAxNzY5NywgMTc2OTksIDE3NzAxLCAxNzcwMywgMTc3MDQsIDE3NzA2LAorIDE3NzA4LCAxNzcxMCwgMTc3MTIsIDE3NzEzLCAxNzcxNSwgMTc3MTcsIDE3NzE5LCAxNzcyMSwgMTc3MjIsIDE3NzI0LCAxNzcyNiwKKyAxNzcyOCwgMTc3MzAsIDE3NzMyLCAxNzczNCwgMTc3MzYsIDE3NzM5LCAxNzc0MiwgMTc3NDUsIDE3NzQ4LCAxNzc1MiwgMTc3NTMsCisgMTc3NTYsIDE3NzYxLCAxNzc3MSwgMTc3NzUsIDE3Nzc5LCAxNzc4OSwgMTc3OTksIDE3ODA2LCAxNzgwOCwgMTc4MTIsIDE3ODE3LAorIDE3ODIwLCAxNzgzMCwgMTc4MzEsIDE3ODMyLCAxNzg0MSwgMTc4NDMsIDE3ODQ2LCAxNzg0OSwgMTc4NTUsIDE3ODY0LCAxNzg2NSwKKyAxNzg2NywgMTc4NjksIDE3ODcxLCAxNzg3MiwgMTc4NzgsIDE3ODgxLCAxNzg5MSwgMTc4OTMsIDE3ODk1LCAxNzkwMSwgMTc5MDUsCisgMTc5MDgsIDE3OTExLCAxNzkxMiwgMTc5MTYsIDE3OTE5LCAxNzkyOCwgMTc5MzAsIDE3OTMzLCAxNzkzNSwgMTc5MzYsIDE3OTM4LAorIDE3OTQzLCAxNzk0NSwgMTc5NDcsIDE3OTQ4LCAxNzk0OSwgMTc5NTAsIDE3OTUxLCAxNzk1MiwgMTc5NTgsIDE3OTYzLCAxNzk2OSwKKyAxNzk3NiwgMTc5NzcsIDE3OTc4LCAxNzk3OSwgMTc5ODAsIDE3OTg0LCAxNzk4NiwgMTc5ODcsIDE3OTg4LCAxNzk4OSwgMTc5OTEsCisgMTc5OTIsIDE3OTkzLCAxNzk5NSwgMTc5OTgsIDE3OTk5LCAxODAwMywgMTgwMDUsIDE4MDEwLCAxODAxMSwgMTgwMTIsIDE4MDEzLAorIDE4MDE1LCAxODAxOSwgMTgwMjAsIDE4MDIxLCAxODAyMiwgMTgwMjMsIDE4MDI0LCAxODAyNiwgMTgwMjcsIDE4MDMxLCAxODAzMiwKKyAxODAzMywgMTgwMzQsIDE4MDM1LCAxODAzNiwgMTgwMzcsIDE4MDQxLCAxODA0MiwgMTgwNDMsIDE4MDQ0LCAxODA0NSwgMTgwNDcsCisgMTgwNTAsIDE4MDU1LCAxODA2NCwgMTgwNzAsIDE4MDc1LCAxODA3NywgMTgwNzgsIDE4MDgwLCAxODA4MiwgMTgwODYsIDE4MDg3LAorIDE4MDg5LCAxODA5NSwgMTgxMDEsIDE4MTEwLCAxODExOCwgMTgxMjQsIDE4MTI4LCAxODEzNiwgMTgxNDMsIDE4MTQ2LCAxODE0OCwKKyAxODE1MywgMTgxNTYsIDE4MTYwLCAxODE2NCwgMTgxNjksIDE4MTc5LCAxODE4MCwgMTgxODMsIDE4MTg0LCAxODE4NiwgMTgxODcsCisgMTgxOTAsIDE4MTk1LCAxODE5OCwgMTgxOTksIDE4MjAxLCAxODIwMywgMTgyMDQsIDE4MjA2LCAxODIwOCwgMTgyMTAsIDE4MjEyLAorIDE4MjE0LCAxODIxNiwgMTgyMTgsIDE4MjIzLCAxODIyNSwgMTgyMjcsIDE4MjI5LCAxODIzMCwgMTgyMzEsIDE4MjMzLCAxODIzNSwKKyAxODIzNywgMTgyMzksIDE4MjQxLCAxODI0MiwgMTgyNDMsIDE4MjQ1LCAxODI0NywgMTgyNDksIDE4MjUwLCAxODI1MywgMTgyNTYsCisgMTgyNTgsIDE4MjYwLCAxODI2MiwgMTgyNjMsIDE4MjY1LCAxODI3NCwgMTgyNzUsIDE4Mjc2LCAxODI3OSwgMTgyODIsIDE4Mjg4LAorIDE4MjkxLCAxODI5MiwgMTgyOTgsIDE4MzAwLCAxODMwMiwgMTgzMDQsIDE4MzA2LCAxODMwOCwgMTgzMTAsIDE4MzEyLCAxODMxNCwKKyAxODMxNiwgMTgzMTgsIDE4MzIwLCAxODMyMiwgMTgzMjQsIDE4MzI2LCAxODMyOCwgMTgzMzAsIDE4MzMyLCAxODMzNCwgMTgzMzUsCisgMTgzMzcsIDE4MzM5LCAxODM0MSwgMTgzNDMsIDE4MzQ1LCAxODM0NywgMTgzNDksIDE4MzUxLCAxODM1NywgMTgzNTksIDE4MzYyLAorIDE4MzY0LCAxODM2NiwgMTgzNjgsIDE4MzcwLCAxODM3MiwgMTgzNzQsIDE4Mzc2LCAxODM3OCwgMTgzODAsIDE4MzgyLCAxODM4NCwKKyAxODM4NiwgMTgzODgsIDE4MzkwLCAxODM5MiwgMTgzOTQsIDE4Mzk2LCAxODM5OCwgMTg0MDAsIDE4NDAyLCAxODQwNCwgMTg0MDYsCisgMTg0MDgsIDE4NDE3LCAxODQxOSwgMTg0MjEsIDE4NDIzLCAxODQyNSwgMTg0MjcsIDE4NDI5LCAxODQzMSwgMTg0MzMsIDE4NDM1LAorIDE4NDM3LCAxODQzOSwgMTg0NDEsIDE4NDQzLCAxODQ0NSwgMTg0NDcsIDE4NDQ5LCAxODQ1MSwgMTg0NTMsIDE4NDY2LCAxODQ2OCwKKyAxODQ3MCwgMTg0NzIsIDE4NDc0LCAxODQ3NiwgMTg0NzcsIDE4NDc5LCAxODQ4MywgMTg0ODUsIDE4NDg5LCAxODQ5MSwgMTg0OTIsCisgMTg0OTQsIDE4NDk2LCAxODQ5OCwgMTg1MDAsIDE4NTAyLCAxODUwNCwgMTg1MDYsIDE4NTA4LCAxODUwOSwgMTg1MTEsIDE4NTEzLAorIDE4NTE1LCAxODUxNywgMTg1MTksIDE4NTIxLCAxODUyMywgMTg1MjUsIDE4NTI3LCAxODUyOSwgMTg1MzEsIDE4NTMzLCAxODUzNSwKKyAxODUzNywgMTg1MzksIDE4NTQxLCAxODU0MywgMTg1NDUsIDE4NTQ3LCAxODU0OSwgMTg1NTEsIDE4NTUzLCAxODU1NSwgMTg1NTcsCisgMTg1NTksIDE4NTYxLCAxODU2MywgMTg1NjUsIDE4NTY3LCAxODU2OCwgMTg1NjksIDE4NTcxLCAxODU3NSwgMTg1NzYsIDE4NTgwLAorIDE4NTgyLCAxODU4NCwgMTg1ODYsIDE4NTg4LCAxODU5MCwgMTg1OTIsIDE4NTk0LCAxODU5NiwgMTg1OTgsIDE4NjAwLCAxODYwMiwKKyAxODYwNCwgMTg2MDYsIDE4NjEwLCAxODYxMiwgMTg2MTQsIDE4NjE4LCAxODYxOSwgMTg2MjAsIDE4NjIzLCAxODYyNSwgMTg2MjcsCisgMTg2MjksIDE4NjMxLCAxODYzMywgMTg2MzUsIDE4NjM3LCAxODYzOCwgMTg2NDAsIDE4NjQyLCAxODY0NCwgMTg2NDYsIDE4NjQ4LAorIDE4NjUwLCAxODY1MiwgMTg2NTYsIDE4NjU4LCAxODY2MCwgMTg2NjIsIDE4NjY2LCAxODY3MCwgMTg2NzQsIDE4Njc2LCAxODY3OCwKKyAxODY4MCwgMTg2ODQsIDE4Njg2LCAxODY4OCwgMTg2OTAsIDE4NjkyLCAxODY5NCwgMTg2OTYsIDE4NzIwLCAxODcyMiwgMTg3MzIsCisgMTg3MzUsIDE4NzM2LCAxODczNywgMTg3MzgsIDE4NzM5LCAxODc0MCwgMTg3NDIsIDE4NzQ0LCAxODc0NiwgMTg3NTEsIDE4NzUyLAorIDE4NzU1LCAxODc1NiwgMTg3NTcsIDE4NzU5LCAxODc2MiwgMTg3NjUsIDE4NzY2LCAxODc2NywgMTg3NjksIDE4NzcwLCAxODc3MywKKyAxODc3NCwgMTg3NzUsIDE4Nzc2LCAxODc3NywgMTg3ODAsIDE4NzgxLCAxODc4NiwgMTg3OTUsIDE4ODAxLCAxODgwNiwgMTg4MDgsCisgMTg4MDksIDE4ODExLCAxODgxNywgMTg4MjMsIDE4ODMyLCAxODg0MCwgMTg4NDYsIDE4ODQ5LCAxODg1NywgMTg4NjQsIDE4ODY3LAorIDE4ODY4LCAxODg3MCwgMTg4NzIsIDE4ODc2LCAxODg3OCwgMTg4ODAsIDE4ODgyLCAxODg4MywgMTg4ODksIDE4ODkyLCAxODkwMiwKKyAxODkwNCwgMTg5MDYsIDE4OTEyLCAxODkyMiwgMTg5MjYsIDE4OTI5LCAxODkzMiwgMTg5MzYsIDE4OTM4LCAxODk0NywgMTg5NDksCisgMTg5NTIsIDE4OTU0LCAxODk1OSwgMTg5NjEsIDE4OTYzLCAxODk2NywgMTg5NzIsIDE4OTc4LCAxODk4NSwgMTg5ODYsIDE4OTg3LAorIDE4OTg5LCAxODk5MiwgMTg5OTMsIDE4OTk3LCAxODk5OCwgMTkwMDMsIDE5MDA0LCAxOTAwNSwgMTkwMDYsIDE5MDA4LCAxOTAxMiwKKyAxOTAxMywgMTkwMTQsIDE5MDE2LCAxOTAxNywgMTkwMjAsIDE5MDIxLCAxOTAyMiwgMTkwMjMsIDE5MDI0LCAxOTAyNSwgMTkwMjgsCisgMTkwMjksIDE5MDMyLCAxOTAzNCwgMTkwMzUsIDE5MDM5LCAxOTA0MSwgMTkwNDUsIDE5MDUzLCAxOTA1NCwgMTkwNTUsIDE5MDU3LAorIDE5MDU4LCAxOTA1OSwgMTkwNjAsIDE5MDYxLCAxOTA2MiwgMTkwNjMsIDE5MDY1LCAxOTA2NiwgMTkwNjcsIDE5MDY4LCAxOTA2OSwKKyAxOTA3MCwgMTkwNzEsIDE5MDcyLCAxOTA3MywgMTkwNzQsIDE5MDc1LCAxOTA3NiwgMTkwNzcsIDE5MDc4LCAxOTA3OSwgMTkwODAsCisgMTkwODEsIDE5MDgyLCAxOTA4MywgMTkwODQsIDE5MDg4LCAxOTA4OSwgMTkwOTAsIDE5MDkyLCAxOTA5MywgMTkwOTQsIDE5MDk2LAorIDE5MDk5LCAxOTEwNSwgMTkxMTEsIDE5MTE0LCAxOTExNywgMTkxMjAsIDE5MTIyLCAxOTEyNSwgMTkxMzgsIDE5MTUxLCAxOTE1MywKKyAxOTE1NCwgMTkxNTUsIDE5MTU4LCAxOTE2MSwgMTkxNjQsIDE5MTY1LCAxOTE2NiwgMTkxNjcsIDE5MTY4LCAxOTE2OSwgMTkxNzAsCisgMTkxNzIsIDE5MTc0LCAxOTE3NiwgMTkxNzgsIDE5MTgwLCAxOTE4MSwgMTkxODIsIDE5MTgzLCAxOTE4NCwgMTkxODUsIDE5MTg3LAorIDE5MTg5LCAxOTE5MSwgMTkxOTMsIDE5MTk1LCAxOTE5NywgMTkxOTksIDE5MjAxLCAxOTIwMywgMTkyMDQsIDE5MjA1LCAxOTIwNiwKKyAxOTIwNywgMTkyMDgsIDE5MjEwLCAxOTIxMiwgMTkyMTQsIDE5MjE2LCAxOTIxOCwgMTkyMjAsIDE5MjIzLCAxOTIyNiwgMTkyMjcsCisgMTkyMjgsIDE5MjMwLCAxOTIzMiwgMTkyMzQsIDE5MjM2LCAxOTIzOCwgMTkyMzksIDE5MjQxLCAxOTI0MywgMTkyNDUsIDE5MjQ3LAorIDE5MjQ5LCAxOTI1MSwgMTkyNTMsIDE5MjU1LCAxOTI1NywgMTkyNTgsIDE5MjYwLCAxOTI2MiwgMTkyNjQsIDE5MjY2LCAxOTI2OCwKKyAxOTI3MCwgMTkyNzMsIDE5Mjc2LCAxOTI3OCwgMTkyODIsIDE5MjkxLCAxOTI5MiwgMTkyOTMsIDE5Mjk0LCAxOTI5NSwgMTkyOTYsCisgMTkyOTgsIDE5Mjk5LCAxOTMwMCwgMTkzMDEsIDE5MzAyLCAxOTMwMywgMTkzMDUsIDE5MzA3LCAxOTMwOSwgMTkzMTEsIDE5MzE0LAorIDE5MzE1LCAxOTMxNiwgMTkzMTcsIDE5MzE4LCAxOTMxOSwgMTkzMjAsIDE5MzIxLCAxOTMyMiwgMTkzMjMsIDE5MzI0LCAxOTMyNSwKKyAxOTMyNiwgMTkzMjcsIDE5MzI4LCAxOTMyOSwgMTkzMzAsIDE5MzMxLCAxOTMzMiwgMTkzMzMsIDE5MzM0LCAxOTMzNSwgMTkzMzYsCisgMTkzMzcsIDE5MzM4LCAxOTMzOSwgMTkzNDAsIDE5MzQxLCAxOTM0MiwgMTkzNDMsIDE5MzQ0LCAxOTM0NSwgMTkzNDYsIDE5MzQ3LAorIDE5MzQ4LCAxOTM0OSwgMTkzNTAsIDE5MzUxLCAxOTM1MywgMTkzNTUsIDE5MzU3LCAxOTM1OSwgMTkzNjEsIDE5MzYzLCAxOTM2NSwKKyAxOTM2NywgMTkzNzAsIDE5Mzc5LCAxOTM4MCwgMTkzODEsIDE5MzgyLCAxOTM4MywgMTkzODQsIDE5Mzg3LCAxOTM5MCwgMTkzOTEsCisgMTkzOTIsIDE5MzkzLCAxOTM5NSwgMTkzOTksIDE5NDAyLCAxOTQwNSwgMTk0MDcsIDE5NDEwLCAxOTQxMywgMTk0MTQsIDE5NDE2LAorIDE5NDE4LCAxOTQyMCwgMTk0MjEsIDE5NDIyLCAxOTQyMywgMTk0MjQsIDE5NDI1LCAxOTQyNywgMTk0MjgsIDE5NDI5LCAxOTQzMCwKKyAxOTQzMSwgMTk0MzIsIDE5NDMzLCAxOTQzNCwgMTk0MzUsIDE5NDM2LCAxOTQzOSwgMTk0NDAsIDE5NDQ0LCAxOTQ0OSwgMTk0NTAsCisgMTk0NTEsIDE5NDUzLCAxOTQ1NSwgMTk0NjEsIDE5NDYzLCAxOTQ2NSwgMTk0NjcsIDE5NDY5LCAxOTQ3MSwgMTk0NzMsIDE5NDc1LAorIDE5NDc3LCAxOTQ3OSwgMTk0ODEsIDE5NDg0LCAxOTQ4NSwgMTk0ODgsIDE5NDkwLCAxOTQ5MiwgMTk0OTQsIDE5NDk2LCAxOTQ5OCwKKyAxOTQ5OSwgMTk1MDAsIDE5NTAxLCAxOTUwMiwgMTk1MDMsIDE5NTA1LCAxOTUwNywgMTk1MDksIDE5NTExLCAxOTUxMywgMTk1MTUsCisgMTk1MTcsIDE5NTE5LCAxOTUyMSwgMTk1MjMsIDE5NTI1LCAxOTUyNywgMTk1MjksIDE5NTMwLCAxOTUzMSwgMTk1MzIsIDE5NTMzLAorIDE5NTM0LCAxOTUzNiwgMTk1MzgsIDE5NTQwLCAxOTU0MiwgMTk1NDQsIDE5NTQ2LCAxOTU0OCwgMTk1NTAsIDE5NTUyLCAxOTU1NCwKKyAxOTU1NiwgMTk1NTksIDE5NTYyLCAxOTU2MywgMTk1NjQsIDE5NTY2LCAxOTU2OCwgMTk1NjksIDE5NTcxLCAxOTU3MywgMTk1NzUsCisgMTk1NzcsIDE5NTc4LCAxOTU4MSwgMTk1ODMsIDE5NTg2LCAxOTU4OSwgMTk1OTIsIDE5NTk1LCAxOTU5OCwgMTk2MDQsIDE5NjExLAorIDE5NjE0LCAxOTYxNywgMTk2MjMsIDE5NjMwLCAxOTYzMSwgMTk2MzIsIDE5NjM1LCAxOTYzOSwgMTk2NDIsIDE5NjQ0LCAxOTY0NywKKyAxOTY0OSwgMTk2NTAsIDE5NjUyLCAxOTY1NCwgMTk2NTYsIDE5NjU4LCAxOTY2MCwgMTk2NjIsIDE5NjY0LCAxOTY2NiwgMTk2NjgsCisgMTk2NzAsIDE5Njc3LCAxOTY3OCwgMTk2NzksIDE5NjgwLCAxOTY4MSwgMTk2ODIsIDE5NjgzLCAxOTY4NCwgMTk2ODUsIDE5Njg2LAorIDE5Njg3LCAxOTY4OCwgMTk2ODksIDE5NjkwLCAxOTY5MSwgMTk2OTIsIDE5NjkzLCAxOTY5NCwgMTk2OTUsIDE5Njk2LCAxOTY5NywKKyAxOTY5OCwgMTk2OTksIDE5NzAwLCAxOTcwMSwgMTk3MDIsIDE5NzAzLCAxOTcwNCwgMTk3MDUsIDE5NzA2LCAxOTcwNywgMTk3MDgsCisgMTk3MDksIDE5NzEwLCAxOTcxMSwgMTk3MTIsIDE5NzEzLCAxOTcxNCwgMTk3MTUsIDE5NzE2LCAxOTcxNywgMTk3MTgsIDE5NzE5LAorIDE5NzIwLCAxOTcyMSwgMTk3MjIsIDE5NzIzLCAxOTcyNCwgMTk3MjUsIDE5NzI2LCAxOTcyNywgMTk3MjgsIDE5NzI5LCAxOTczMCwKKyAxOTczMSwgMTk3MzIsIDE5NzMzLCAxOTczNCwgMTk3MzUsIDE5NzM2LCAxOTczNywgMTk3MzgsIDE5NzM5LCAxOTc0MCwgMTk3NDEsCisgMTk3NDIsIDE5NzQzLCAxOTc0NCwgMTk3NDUsIDE5NzQ2LCAxOTc0NywgMTk3NDgsIDE5NzQ5LCAxOTc1MCwgMTk3NTEsIDE5NzUyLAorIDE5NzUzLCAxOTc1NCwgMTk3NTYsIDE5NzU4LCAxOTc2MCwgMTk3NjksIDE5NzcyLCAxOTc3NSwgMTk3NzgsIDE5NzgxLCAxOTc4NCwKKyAxOTc4NywgMTk3OTUsIDE5ODAxLCAxOTgwOSwgMTk4MTMsIDE5ODE4LCAxOTgzMCwgMTk4MzMsIDE5ODQwLCAxOTg0MiwgMTk4NDgsCisgMTk4NjMsIDE5ODcxLCAxOTg4MywgMTk4ODUsIDE5ODkxLCAxOTg5MywgMTk4OTUsIDE5OTAxLCAxOTkwMywgMTk5MDUsIDE5OTEyLAorIDE5OTE2LCAxOTkxOCwgMTk5MjgsIDE5OTM0LCAxOTkzOCwgMTk5NDgsIDE5OTU4LCAxOTk2MCwgMTk5NjgsIDE5OTcwLCAxOTk3MSwKKyAyMDAxMCwgMjAwMTEsIDIwMDEyLCAyMDAxMywgMjAwMTQsIDIwMDE1LCAyMDAxNiwgMjAwMTcsIDIwMDE4LCAyMDAxOSwgMjAwMjAKK307CisKK3N0YXRpYyB0X2Njc2lkICAgICAgICAgIGZpbmFsX2FycmF5W10gPSB7CisgMCwgNjIyNDYsIDM2OCwgOTE2LCA4OTgsIDMzNzIzLCA5MDUsIDg3MCwgODY3LCA4NjYsIDg2NCwgODYzLCA4NjIsIDg2MSwgODU4LAorIDg1NiwgODUzLCA4NTIsIDg1MSwgNDM4LCAxMzg3LCA1MzU1LCA5NDUwLCA5NDQ5LCA5NDQ4LCA1MzUxLCA1MzUwLCA1MzQ5LAorIDUzNDgsIDUzNDcsIDEyMDksIDEyMzYsIDEyMzQsIDEyMDQsIDEyMDIsIDEzNDg5LCA4NzUsIDk0NCwgMTA1MiwgODU5LCA5MjEsCisgOTE1LCA5MTQsIDkxMywgODIwLCA5MjQsIDEzNjQsIDg3OSwgOTE3LCA4MTQsIDEwOTAsIDEyNTEsIDkyMiwgMTI1MywgNTQ3OSwKKyA5NzEsIDEwNDgsIDEzNzYsIDExNTAsIDExNDksIDExNDgsIDExNDcsIDExNDYsIDExNDUsIDExNDQsIDExNDMsIDExNDIsIDExNDEsCisgOTI1LCA3NzYsIDEwMjcsIDkxOSwgOTA2LCA5MDQsIDg5MiwgODgxLCA4NzIsIDg3MSwgODY5LCA4NjUsIDUwMSwgNDI1LCA0MjQsCisgNDIxLCAyOTgsIDI5MSwgMjg2LCAyODUsIDI4MSwgMjc5LCAyNzgsIDI3NCwgMzgsIDEzODQsIDgzOSwgMTI3NywgNjIyMzYsCisgNjIyMjUsIDYyMjEyLCA2MTk1MywgNTczNDYsIDI4NzEwLCAyNTU0NywgMTczNTUsIDEzMTIyLCAxMzEyNSwgMTI3MDksIDkwNjcsCisgOTA1NywgOTAzMSwgODYxMywgNTEyNCwgNTA1MSwgNTA1MywgNTA1NCwgNTA1NSwgNTA1NiwgNTAzNiwgNTAyNywgNDk3MiwgNDk2MSwKKyA0OTY2LCA0OTUyLCA0OTUzLCA0OTU0LCA0OTQ5LCA0Mzk3LCAxMzkzLCAxNDAwLCAxMzgxLCAxMzgyLCAxMzg5LCAxMzc0LCAxMzY1LAorIDEyODEsIDEyODIsIDEyODMsIDEyODQsIDEyNzYsIDEyNTIsIDEyNTQsIDEyNTUsIDEyNTYsIDEyNTcsIDEyNTgsIDEyNTksIDExNjEsCisgMTE2NSwgMTE1NCwgMTE1NSwgMTE1NiwgMTE1NywgMTE1OCwgMTE1OSwgMTEzMSwgMTEzMywgMTEzNCwgMTEzOCwgMTEyMywgMTEyNCwKKyAxMTMwLCAxMTEzLCAxMTE1LCAxMTE2LCAxMDk4LCAxMDk5LCAxMDg5LCAxMDQxLCAxMDQyLCAxMDQzLCAxMDQ0LCAxMDQ3LCAxMDI2LAorIDEwMjgsIDEwMTEsIDEwMTIsIDEwMTMsIDEwMTQsIDEwMTUsIDEwMTYsIDEwMTcsIDEwMTgsIDEwMTksIDEwMjAsIDEwMDksIDEwMTAsCisgOTY1LCA5NjYsIDk1MSwgOTUyLCA5NTcsIDk1OCwgOTU5LCA5NjAsIDk0MywgOTQ1LCA5NDcsIDk0OCwgOTUwLCA5MzEsIDkzMywKKyA5MzQsIDkzNSwgOTM2LCA5MzcsIDkzOCwgOTM5LCA5NDAsIDkyMywgOTI3LCA5MjgsIDkyOSwgODk3LCA4NzYsIDgzNCwgODM2LAorIDgzNywgODM4LCA3MzgsIDcyMSwgMzAxLCAzMDIsIDI1NywgMSwgODk4LCA5MTYsIDM2OCwgMzY4LCA2MjI0NgorfTsKKworc3RhdGljIHRfc3RhdGVyYW5nZSAgICAgZ290b19hcnJheVtdID0geworIDEzNDQ1LCAxMTk3NywgMTM0NDYsIDEyMDY2LCAxMTc5MywgMTM0NDgsIDEzNDQ5LCAxMzQ1MCwgMTM0NTEsIDEzNDUzLCAxMzQ1NCwKKyAxMzQ1NSwgMTM0NTYsIDEzNDU3LCAxMzQ3MywgMTM0NTgsIDEzNDU5LCAxMzQ2MCwgMTM0NjYsIDEzNDYxLCAxMzQ2MiwgMTM0NjgsCisgMTE3OTMsIDEzNDQ3LCAxMzQ0OSwgMTM0NTAsIDEzNDUxLCAxMTc5MywgMTM0NDgsIDEzNDQ5LCAxMzQ1MCwgMTM0NTEsIDEzNDUyLAorIDEzNDUzLCAxMzQ1NCwgMTM0NTUsIDEzNDU2LCAxMzQ1NywgMTM0NzMsIDEzNDU4LCAxMzQ1OSwgMTM0NjAsIDEzNDY2LCAxMzQ2MSwKKyAxMzQ2MiwgMTM0NjgsIDExNzM1LCAxMzQ2OSwgMTM0NzAsIDEzNDYzLCAxMzQ2NCwgMTM0NzMsIDEzNDY1LCAxMzQ3NCwgMTM0NzUsCisgMTM0NzYsIDEzNDc3LCAxMzQ3OCwgMTM0NzksIDEzNDgwLCAxMzQ4MSwgMTM0NjYsIDEzNDgyLCAxMzQ2NywgMTM0ODMsIDEzNDY4LAorIDEzNDg1LCAxMTczNSwgMTM0NjksIDEzNDcwLCAxMzQ3MSwgMTM0NzIsIDEzNDczLCAxMzQ3NCwgMTM0NzUsIDEzNDc2LCAxMzQ3NywKKyAxMzQ3OCwgMTM0NzksIDEzNDgwLCAxMzQ4MSwgMTM0ODIsIDEzNDgzLCAxMzQ4NCwgMTM0ODUsIDExMTQ3LCAxMzQ4NiwgMTEyMzAsCisgMTM0ODcsIDEzNDg4LCAxMzQyNiwgMTM0MTksIDEzNDIwLCAxMzQ5NiwgMTM0MjMsIDEzNDk4LCAxOSwgMjI5LCAyMzAsIDIzMSwKKyAyMzIsIDE4LCAxNywgMTYsIDE1LCAxNCwgMjM4LCAyMzcsIDIzNiwgMjM1LCAyMzQsIDIzOSwgMjQwLCAyNDEsIDI0MiwgMjQzLAorIDEzLCAxMiwgMTEsIDEwLCA5LCA4LCA3LCAyNTEsIDI1MCwgMjQ5LCAyNDgsIDI0NywgMjQ2LCAyNDUsIDI1MiwgMjUzLCAyNTQsCisgMjU1LCAyNTYsIDI1NywgMjU4LCAyNTksIDI0NCwgMjYxLCAyNjAsIDYsIDI2MywgMjY0LCAyNjUsIDI2NiwgOTUsIDI2OCwgMjY5LAorIDI2OSwgMjcwLCAyNzEsIDI3MSwgMjcyLCAyNzMsIDI3MywgMjc0LCAyNzUsIDI3NSwgMjc2LCAyNzcsIDI3NywgMjc4LCAyNzksCisgMjc5LCAyODAsIDI4MSwgMjgxLCAyODIsIDI4MywgMjgzLCAyODQsIDI4NSwgMjg2LCAyODcsIDI4NywgMjg4LCAyODksIDI4OSwKKyAyOTAsIDI5MSwgMjkxLCAyOTIsIDI5MywgMjkzLCAyOTQsIDI5NSwgMjk1LCAyOTYsIDI5NywgMjk3LCAyOTgsIDI5OSwgMjk5LAorIDMwMCwgMzAxLCAzMDEsIDMwMiwgMzAzLCAzMDQsIDMwNSwgMzA1LCAzMDYsIDMwNywgMzA3LCAzMDgsIDMwOSwgMzA5LCAyMjcsCisgMzExLCAxMzQ5NCwgMiwgMzE0LCAzMTUsIDMxNiwgMzEzLCAzMTcsIDMxOCwgMzE5LCAzMjAsIDMyMSwgMzIyLCAzMjMsIDMyNCwKKyAzMjUsIDMyNiwgMzI3LCAzMjgsIDMyOSwgMzMwLCAzMzEsIDMzMiwgMzMyLCAzMzMsIDMzNCwgMzM1LCAzMzYsIDMzNiwgMzM3LAorIDMzOCwgMzM4LCA1MCwgMzQwLCAzNDEsIDM0MSwgMzQyLCAzNDMsIDM0MywgMzQ0LCAzNDUsIDM0NSwgMzQ2LCAzNDcsIDM0NywKKyAzMTUsIDMxNSwgMzQ5LCAzNTAsIDM1MCwgMzQxLCAzNTIsIDM1MywgMzU0LCAzNTUsIDM1NiwgMzU3LCAzNTgsIDM1OSwgMzU5LAorIDM2MCwgMzUxLCAzNjIsIDM2MiwgMzYxLCAzNjEsIDM2MywgMzQ4LCAzMzksIDMxMCwgMzY1LCAzNjUsIDM2NCwgMzY2LCAzNjcsCisgMzY0LCAzNjYsIDM2NywgNTcsIDM2OSwgMzcwLCAzNzAsIDM3MSwgMzcyLCAzNzIsIDM3MywgMzc0LCAzNzQsIDM3NSwgMzc2LAorIDM3NiwgMzc3LCAzNzgsIDM3OCwgMzc5LCAzODAsIDM4MSwgMzgyLCAzODMsIDM4NCwgMzg0LCAzODUsIDM4NiwgMzg2LCAzOSwKKyAzODgsIDM4OSwgMzkwLCAzOTEsIDY4LCAzOTMsIDM5NCwgMzk1LCAzOTYsIDM5NywgMzkyLCAzOTgsIDM5OSwgNjcsIDY2LCA2NSwKKyA2NCwgNjMsIDYyLCA2MSwgNjAsIDU5LCA1OCwgNDEwLCA0MDksIDQwOCwgNDA3LCA0MDYsIDQwNSwgNDA0LCA0MDMsIDQwMiwKKyA0MDEsIDQxMSwgNDEyLCA0MTMsIDQxNCwgNDE1LCA0MTYsIDQxNywgNDE4LCA0MTksIDQyMCwgNDIxLCA0MjIsIDQyMywgNDI0LAorIDQyNSwgNDAwLCA0MjYsIDQyNywgNDI4LCA0MjksIDQzMCwgNDMxLCA0MzEsIDQzMiwgNDMzLCA0MzMsIDQzNCwgNDM1LCA0MzUsCisgNTQsIDQzNywgNDM4LCA0MzgsIDQzOSwgNDQwLCA0NDAsIDQ0MSwgNDQyLCA0NDIsIDQ0MywgNDQ0LCA0NDQsIDQ0NSwgNDQ2LAorIDQ0NiwgNzgsIDQ0OCwgNDQ5LCA0NDksIDI1MiwgMjUyLCAyNTcsIDI1NywgNDUyLCA0NTEsIDQ1MCwgNDUzLCA0NTQsIDQ1NSwKKyA0NTMsIDQ1NCwgNDU1LCA5MiwgNDU3LCA0NTgsIDQ1OSwgNDYwLCA0MjYsIDQyNywgNzAsIDQ2MiwgNDYzLCA0NjQsIDQ2NSwKKyA0NjYsIDQ2NywgOTEsIDg5LCA0NzAsIDQ2OSwgNDcxLCA0NzIsIDg4LCA4NywgODYsIDQ3NiwgNDc1LCA0NzQsIDQ3NywgNDc4LAorIDQ3OSwgODUsIDg0LCA0ODIsIDQ4MSwgNDgzLCA0ODQsIDQ4NSwgNDgwLCA0NzMsIDQ4NiwgNDg3LCA0ODgsIDMxNSwgNDkwLAorIDQ5MSwgODMsIDgyLCA4MSwgNDk1LCA0OTQsIDQ5MywgNDk2LCA0OTcsIDQ5OCwgNDk5LCAyMzIsIDUwMCwgODAsIDUwMiwgNTAzLAorIDUwNCwgNTA1LCA2OSwgNTA3LCA1MDgsIDUwOSwgNTEwLCA0NCwgNTEyLCA1MTMsIDc5LCA1MTUsIDI1MiwgNDQ5LCAyNTMsIDI1NCwKKyA1MTYsIDI1NSwgMjU2LCAyNTcsIDI1OCwgNzcsIDc2LCA1MTksIDUxOCwgNTIwLCA1MjEsIDc1LCA1MjMsIDUyNCwgNzQsIDUyNiwKKyA1MjcsIDUyOCwgNTI1LCA1MjIsIDUxNywgNTE0LCA1MjksIDUzMCwgNTMxLCA1MzIsIDI2MSwgNTMzLCA3MywgNzIsIDUzNiwKKyA1MzUsIDUzNywgMjY0LCA1MzgsIDcxLCA1NDAsIDU0MSwgMjAsIDU0MywgNTQ0LCA1NDUsIDU0MiwgNTM5LCA1NDYsIDU0NywKKyA1NDgsIDU0OSwgNTM0LCA1MTEsIDUwNiwgNTAxLCA0OTIsIDQ4OSwgNDY4LCA0NjEsIDQ1NiwgNTUxLCA1NTIsIDU1MywgNTU0LAorIDU1NSwgNTU4LCA1NTAsIDU1NiwgNTU3LCA1NTksIDI4NSwgMjg1LCA1NjEsIDU2MiwgNTYyLCA1NjMsIDU2NCwgNTY0LCA1NjUsCisgNTY2LCA1NjYsIDU2NywgNTY4LCA1NjgsIDU2OSwgNTcwLCA1NzAsIDU3MSwgNTcyLCA1NzIsIDU3MywgNTc0LCA1NzQsIDU3NSwKKyA1NzYsIDU3NiwgNTc3LCA1NzgsIDU3OCwgNTc5LCA1ODAsIDU4MCwgMzYyLCAzNjIsIDU4MiwgNTgxLCA1ODMsIDU4MywgNTg0LAorIDU4NCwgMzgwLCA1ODYsIDU4NywgNTg3LCA1ODgsIDU4OSwgNTg5LCA1NSwgNTkxLCA1OTIsIDU5MiwgNSwgNTk0LCA1OTUsIDU5NSwKKyA1OTYsIDU5NywgNTk3LCA1OTgsIDU5OSwgNTk5LCA2MDAsIDYwMSwgNjAxLCA2MDIsIDYwMywgNjAzLCA2MDQsIDYwNSwgNjA1LAorIDYwNiwgNjA3LCA2MDcsIDYwOCwgNjA5LCA2MDksIDYxMCwgNjExLCA2MTEsIDYxMiwgNjEzLCA2MTMsIDYxNCwgNjE1LCA2MTUsCisgNjE2LCA2MTcsIDYxNywgNjE4LCA2MTksIDYxOSwgMzYsIDYyMSwgNjIyLCA2MjIsIDYyMywgNjIwLCA1OTMsIDYyNCwgNjI0LAorIDYyNiwgNjI2LCA2MjUsIDYyNSwgNjI3LCA2MjgsIDYyOCwgNjI5LCA2MzAsIDYzMCwgOTMsIDYzMiwgNjMzLCA2MzQsIDYzNSwKKyA2MzYsIDYzNywgNjM4LCA1NDQsIDU0NCwgNjM5LCA2NDAsIDY0MSwgNjQxLCAyMjQsIDY0MywgNjQ0LCA2NDQsIDY0NSwgNjQ2LAorIDY0NiwgNjQ3LCA2NDgsIDY0OCwgNjQ5LCA2NTAsIDY1MCwgNjUxLCA2NTIsIDY1MiwgNjUzLCA2NTQsIDY1NCwgNjU1LCA2NTYsCisgNjU2LCA2NTcsIDY1OCwgNjU4LCA2NTksIDY2MCwgNjYwLCA2NjEsIDY2MiwgNjYyLCA2NjMsIDY2NCwgNjY0LCA2NjUsIDY2NiwKKyA2NjYsIDY2NywgNjY4LCA2NjgsIDY2OSwgNjcwLCA2NzAsIDY3MSwgNjcyLCA2NzIsIDM4LCA2NzQsIDY3NSwgNjc2LCA2NzcsCisgNjc3LCA2NzgsIDY3OSwgNjc5LCA2ODAsIDY4MSwgNjgxLCA2ODIsIDY4MywgNjgzLCA2ODQsIDY4NSwgNjg1LCA2ODYsIDY3MywKKyA2ODcsIDY4NywgNjg4LCA2ODgsIDI2NywgNjkwLCA2OTEsIDY5MiwgNjkyLCA1NiwgNjk0LCA2OTUsIDY5NiwgNjk3LCA0NjUsCisgNjk4LCA2OTksIDkwLCA3MDEsIDQ3MSwgNzAyLCA0NzIsIDcwMywgNDg2LCA0ODcsIDcwNCwgNTAwLCAyMzksIDI0MCwgMjQyLAorIDI1MiwgMjUzLCAyNTQsIDI1NSwgMjU3LCAyNTgsIDQ0OSwgNTE2LCA3MDgsIDcwNywgNTI5LCA1MzAsIDUzMSwgNzA5LCA3MTAsCisgNTM3LCA1MzgsIDcxMiwgNTQ3LCA3MTMsIDk0LCA3MTUsIDcxNiwgNzE2LCA3MTcsIDcxOCwgNzE4LCA3MTksIDcyMCwgNzIwLAorIDcyMSwgNzE0LCA3MTEsIDcwNiwgNzA1LCA3MDAsIDU1MywgNTU4LCA3MjIsIDcyMiwgNzI2LCA3MjcsIDcyMywgNzI0LCA3MjUsCisgNzI4LCA2OTMsIDcyOSwgNzMwLCA3MjksIDczMCwgNDM4LCA3MzIsIDczMywgNzM0LCA3MzUsIDczNiwgNzM3LCA3MzgsIDczOSwKKyA3NDAsIDc0MSwgNzQyLCA3NDMsIDc0MywgNzQ0LCA3NDUsIDc0NSwgNzQ2LCA3NDcsIDUyLCA0NSwgNzUwLCA3NDksIDc1MSwKKyA3NTIsIDc1MywgNzU0LCA3NTUsIDc1NiwgNzU3LCA3NTgsIDc1OSwgNzYwLCA0MywgNDIsIDQxLCA0MCwgMzY1LCAzNjUsIDIyNSwKKyA3NjcsIDc2OCwgNzY4LCA3NjksIDc3MCwgNzcwLCA3NzEsIDc3MiwgNzcyLCA3NzMsIDc3NCwgNzc0LCA3NzUsIDc3NiwgNzc2LAorIDc3NywgNzc4LCA3NzgsIDc3OSwgNzgwLCA3ODAsIDQ5LCA3ODIsIDc4MywgNzgzLCA3ODQsIDc4NSwgNzg1LCA3ODYsIDc4NywKKyA3ODcsIDc4OCwgNzg5LCA3ODksIDQ4LCA3OTEsIDc5MiwgNzkyLCA3OTMsIDc5NCwgNzk0LCA3OTUsIDc5NiwgNzk2LCA3OTcsCisgNzk4LCA3OTgsIDc5OSwgODAwLCA4MDAsIDgwMSwgNzkwLCA3ODEsIDc2NiwgNzY1LCA3NjQsIDc2MywgNzYyLCA1MTMsIDgwNiwKKyA4MDcsIDgwOCwgODA5LCA4MDIsIDgwMywgODA0LCA4MDUsIDgwMiwgODAzLCA4MDQsIDgwNSwgODEwLCA4MTEsIDgxMSwgODEyLAorIDgxMywgODEzLCA4MTQsIDgxNSwgODE1LCA4MTYsIDgxNywgODE3LCA4MTgsIDc2MSwgNzQ4LCA4MTksIDgxOSwgODIwLCA4MjEsCisgODIyLCA4MjMsIDgyMywgODI0LCA3MzEsIDgyNSwgODI2LCA4MjUsIDgyNiwgNDcsIDgyOCwgODI5LCA4MjksIDgzMCwgODMxLAorIDgzMiwgODMzLCA4MzMsIDQ2LCA4MzUsIDgzNiwgODM3LCA4MzgsIDgzOSwgODQwLCA4NDEsIDg0MiwgODQzLCA4NDQsIDg0NSwKKyA4NDYsIDg0NywgODQ4LCA4NDksIDg1MCwgODUxLCA4NTIsIDg1MiwgODUzLCA4MzQsIDg1NCwgODU1LCA4NTQsIDg1NSwgNTA4LAorIDUwOCwgODU3LCA4NTgsIDg1OCwgODU5LCA4NjAsIDg2MCwgODYxLCA4NjIsIDg2MiwgODYzLCA4NjQsIDg2NCwgODY1LCA4NjYsCisgODY2LCA4NjcsIDg2OCwgODY5LCA4NzAsIDI0MywgMjQzLCA4NzIsIDg3MywgODczLCA4NzQsIDg3NSwgODc1LCA4NzYsIDg3NywKKyA4NzcsIDg3OCwgODc5LCA4NzksIDg4MCwgODgxLCA4ODEsIDg4MiwgODgzLCA4ODMsIDg4NCwgODg1LCA4ODUsIDg4NiwgODg3LAorIDg4NywgODg4LCA4ODksIDg4OSwgODkwLCA4OTEsIDg5MSwgODkyLCA4OTMsIDg5MywgODk0LCA4OTUsIDI1NiwgMjU2LCA4OTcsCisgODk4LCA4OTgsIDg5OSwgOTAwLCA5MDAsIDkwMSwgOTAyLCA5MDIsIDkwMywgOTA0LCA5MDQsIDkwNSwgOTA2LCA5MDYsIDkwNywKKyA5MDgsIDkwOCwgOTA5LCA5MTAsIDkxMCwgOTExLCA5MTIsIDkxMiwgOTEzLCA5MTQsIDkxNCwgOTE1LCA5MTYsIDkxNiwgOTE3LAorIDkxOCwgMjMzLCA5MjAsIDkyMSwgOTIyLCA5MjIsIDkyMywgOTI0LCA5MjQsIDkyNSwgOTI2LCA5MjYsIDkyNywgOTI4LCA5MjgsCisgOTI5LCA5MzAsIDkzMCwgOTMxLCA5MzIsIDkzMiwgOTMzLCA5MzQsIDkzNCwgOTM1LCA5MTksIDg5NiwgOTM2LCA5MzYsIDkzNywKKyA5MzgsIDI0MSwgOTQwLCA5NDEsIDk0MiwgOTQzLCA5NDQsIDkzOSwgODcxLCA5NDUsIDk0NSwgOTQ2LCA5NDcsIDk0OCwgOTQ5LAorIDk0OSwgMzcsIDk1MSwgOTUyLCA5NTIsIDk1MywgOTU0LCA5NTQsIDk1NSwgOTU2LCA5NTYsIDk1NywgOTU4LCA5NTgsIDk1OSwKKyA5NjAsIDk2MCwgOTYxLCA5NjIsIDk2MiwgOTYzLCA5NjQsIDk2NCwgNjIyLCA5NjYsIDk2NywgOTY4LCA5NjksIDk3MCwgOTcxLAorIDk3MSwgOTcyLCA5NzMsIDk3MywgMzUsIDk3NSwgOTc2LCA5NzYsIDk3NywgOTc4LCA5NzgsIDk3OSwgOTgwLCA5ODAsIDk4MSwKKyA5ODIsIDk4MiwgOTgzLCA5ODQsIDk4NCwgMzQsIDk4NiwgOTg3LCA5ODcsIDMzLCA5ODksIDk5MCwgOTkwLCA5OTEsIDk4OCwKKyA5OTIsIDk5MiwgOTkzLCA5OTMsIDk5NCwgOTk1LCAzMiwgOTk3LCA5OTgsIDk5OCwgMzEsIDEwMDAsIDEwMDEsIDEwMDEsIDEwMDIsCisgOTk5LCAxMDAzLCAxMDAzLCAxMDA0LCAxMDA0LCAxMDA1LCAxMDA2LCAzMCwgMTAwOCwgMTAwNywgOTk2LCAxMDA5LCAxMDEwLAorIDEwMTEsIDEwMTIsIDEwMTMsIDEwMTMsIDEwMTQsIDk4NSwgMTAxNSwgMTAxNiwgMTAxNSwgMTAxNiwgMjksIDI4LCAyNywgMjYsCisgMjUsIDI0LCAyMywgMjIsIDIxLCAxMDI2LCAxMDI1LCAxMDI0LCAxMDIzLCAxMDIyLCAxMDIxLCAxMDIwLCAxMDE5LCAxMDE4LAorIDEwMjcsIDEwMjgsIDEwMjksIDEwMzAsIDEwMzEsIDEwMzIsIDEwMzMsIDEwMzQsIDEwMzUsIDEwMzYsIDEwMzcsIDEwMzgsIDEwMzksCisgNTMsIDUxLCAxMDQyLCAxMDQxLCAxMDQzLCAxMDQ0LCAxMDQ1LCAxMDQ2LCAxMDQ2LCAxMDQ3LCAxMDQ4LCAxMDQ4LCAxMDQ5LAorIDEwNTAsIDEwNTAsIDEwNTEsIDEwNTIsIDEwNTIsIDEwNTMsIDEwNTQsIDEwNTQsIDEwNTUsIDEwNTYsIDEwNTcsIDEwNDAsIDEwNTksCisgMTA1OCwgMTA2MCwgMTA2MSwgMTA2MSwgMTA2MiwgMTA2MywgMTA2MywgMTA2NCwgMTA2NSwgMTA2NSwgMTA2NiwgMTA2NywgMTA2NywKKyAxMDY4LCAxMDY5LCAxMDY5LCAxMDcwLCAxMDcxLCAxMDcxLCAxMDcyLCAxMDE3LCA5NzQsIDk2NSwgOTUwLCA4NTYsIDgyNywKKyA2ODksIDY0MiwgNjMxLCA1OTAsIDU4NSwgMTA3MywgMTA3NCwgMTA3NSwgMTA3NiwgMTA3NywgMTA3OCwgMTA3OSwgMTA4MCwKKyAxMDgxLCAxMDgyLCAxMDgzLCAxMDg0LCAxMDczLCAxMDc0LCAxMDc1LCAxMDc2LCAxMDc3LCAxMDc4LCAxMDc5LCAxMDgwLCAxMDgxLAorIDEwODIsIDEwODMsIDEwODQsIDMsIDEwODYsIDEwODcsIDEwODcsIDEwODgsIDEwODksIDEwODksIDEwOTAsIDEwOTEsIDEwOTEsCisgMTA5MiwgMTA5MywgMTA5MywgMTA5NCwgMTA5NSwgMTA5NSwgMTA5NiwgMTA5NywgMTA5NywgMTA5OCwgMTA4NSwgNTYwLCA0NDcsCisgNDM2LCAxMDk5LCAxMTAwLCAxMTAxLCAxMTAyLCAxMTAzLCAxMDk5LCAxMTAwLCAxMTAxLCAxMTAyLCAxMTAzLCA0OTgsIDU0MSwKKyAxMTA1LCAxMTA2LCAxMTA2LCA1MDMsIDUwMywgNDU4LCA0NTgsIDUwMywgNTAzLCA3MDIsIDcwMiwgNDc4LCA0NzgsIDQ3MSwKKyA0NzEsIDQ4MywgNDgzLCA0NzcsIDQ3NywgNDk3LCA0OTcsIDQ5NiwgNDk2LCA0NzksIDQ3OSwgNTIwLCA1MjAsIDQ1OCwgNDU4LAorIDcwMiwgNzAyLCA1MjEsIDUyMSwgMTExNywgMTExOCwgMTExOCwgMTExOSwgMTEyMCwgMTEyMCwgMTEyMSwgMTEyMiwgMTEyMiwKKyA0NzEsIDQ3MSwgNTM3LCA1MzcsIDQ1OCwgNDU4LCA0NTgsIDQ1OCwgNTIxLCA1MjEsIDExMjgsIDExMjcsIDExMjYsIDExMjUsCisgMTEyNCwgMTEyMywgMTExNiwgMTExNSwgMTExNCwgMTExMywgMTExMiwgMTExMSwgMTExMCwgMTEwOSwgMTEwOCwgMTEwNywgMTEyOSwKKyAxMTMwLCAxMTMxLCAxMTMyLCAxMTMzLCAxMTM0LCAxMTM1LCAxMTM2LCAxMTM3LCAxMTM4LCAxMTM5LCAxMTQwLCAxMTQxLCAxMTQyLAorIDExNDMsIDExNDQsIDExMjksIDExMzAsIDExMzEsIDExMzIsIDExMzMsIDExMzQsIDExMzUsIDExMzYsIDExMzcsIDExMzgsIDExMzksCisgMTE0MCwgMTE0MSwgMTE0MiwgMTE0MywgMTE0NCwgMTE0NSwgMTE0NiwgNTI0LCA1MjQsIDExNDgsIDExNDksIDExNDksIDExNTAsCisgMTE1MSwgMTE1MSwgMTE1MiwgMTE1MywgMTE1MywgMTE1NCwgMTE1NSwgMTE1NSwgMTE1NiwgMTE1NywgMTE1NywgMTE1OCwgMTE0NywKKyAxMTU5LCAxMTYwLCAxMTU5LCAxMTYwLCA0MTksIDQxOSwgMTE2MiwgMTE2MywgMTE2MywgMTE2NCwgMTE2NSwgMTE2NSwgMTE2NiwKKyAxMTY3LCAxMTY3LCAxMTY4LCAxMTY5LCAxMTcwLCAxMTcxLCAxMTcyLCAxMTczLCAxMTc0LCAxMTc1LCAxMTc2LCAxMTc3LCA0MTgsCisgNDE4LCAxMTc5LCAxMTgwLCAxMTgwLCAxMTgxLCAxMTgyLCAxMTgyLCAxMTgzLCAxMTg0LCAxMTg0LCAxMTg1LCAxMTg2LCAxMTg3LAorIDExODgsIDExODksIDExOTAsIDExOTEsIDExOTIsIDExOTMsIDExOTQsIDExOTUsIDExNzgsIDExOTYsIDExOTYsIDExOTcsIDExOTcsCisgNDE1LCA0MTUsIDExOTksIDEyMDAsIDEyMDAsIDEyMDEsIDEyMDIsIDEyMDIsIDEyMDMsIDEyMDQsIDEyMDQsIDEyMDUsIDEyMDYsCisgMTIwNywgMTIwOCwgMTIwOSwgMTIxMCwgMTIxMSwgMTIxMiwgMTIxMywgMTIxNCwgMTIxNSwgMTIxNiwgMTIxNiwgNDE3LCA0MTcsCisgMTIxOCwgMTIxOSwgMTIxOSwgMTIyMCwgMTIyMSwgMTIyMSwgMTIyMiwgMTIyMywgMTIyMywgMTIyNCwgMTIyNSwgMTIyNiwgMTIyNywKKyAxMjI4LCAxMjI5LCAxMjMwLCAxMjMxLCAxMjMyLCAxMjMzLCA0MTMsIDQxMywgMTIzNSwgMTIzNiwgMTIzNiwgMTIzNywgMTIzOCwKKyAxMjM4LCAxMjM5LCAxMjQwLCAxMjQwLCAxMjQxLCAxMjQyLCAxMjQzLCAxMjQ0LCAxMjQ1LCAxMjQ2LCAxMjQ3LCAxMjQ4LCAxMjQ5LAorIDEyNTAsIDEyNTEsIDEyMzQsIDEyNTMsIDEyNTMsIDEyNTIsIDEyNTIsIDQxNCwgNDE0LCAxMjU1LCAxMjU2LCAxMjU2LCAxMjU3LAorIDEyNTgsIDEyNTgsIDEyNTksIDEyNjAsIDEyNjAsIDEyNjEsIDEyNjIsIDEyNjMsIDEyNjQsIDEyNjUsIDEyNjYsIDEyNjcsIDEyNjgsCisgMTI2OSwgMTI3MCwgMTI3MSwgMTI3MiwgMTI3MiwgNDEyLCA0MTIsIDEyNzQsIDEyNzUsIDEyNzUsIDEyNzYsIDEyNzcsIDEyNzcsCisgMTI3OCwgMTI3OSwgMTI3OSwgMTI4MCwgMTI4MSwgMTI4MiwgMTI4MywgMTI4NCwgMTI4NSwgMTI4NiwgMTI4NywgMTI4OCwgMTI4OSwKKyAxMjkwLCAxMjkxLCAxMjkxLCAxMjkyLCAxMjkzLCAxMjkzLCAxMjk0LCAxMjk1LCAxMjk1LCAxMjk2LCAxMjk3LCAxMjk3LCAxMjk4LAorIDEyOTksIDEyOTksIDEzMDAsIDEzMDEsIDEzMDEsIDEzMDIsIDEzMDMsIDEzMDMsIDEzMDQsIDEzMDUsIDEzMDUsIDEzMDYsIDEzMDcsCisgMTMwNywgMTMwOCwgMTMwOSwgMTMwOSwgMTMxMCwgMTMxMSwgMTMxMSwgNDExLCA0MTEsIDEzMTMsIDEzMTQsIDEzMTQsIDEzMTUsCisgMTMxNiwgMTMxNiwgMTMxNywgMTMxOCwgMTMxOCwgMTMxOSwgMTMyMCwgMTMyMSwgMTMyMiwgMTMyMywgMTMyNCwgMTMyNSwgMTMyNiwKKyAxMzI3LCAxMzI4LCA0MTYsIDQxNiwgMTMzMCwgMTMzMSwgMTMzMSwgMTMzMiwgMTMzMywgMTMzMywgMTMzNCwgMTMzNSwgMTMzNSwKKyAxMzM2LCAxMzM3LCAxMzM4LCAxMzM5LCAxMzQwLCAxMzQxLCAxMzQyLCAxMzQzLCAxMzQ0LCAxMzQ1LCAxMzQ2LCAxMzI5LCAxMzEyLAorIDEzNDcsIDEzNDgsIDEzNDksIDEzNDcsIDEzNDgsIDEzNDksIDQ4NCwgNDg0LCAxMzUxLCAxMzUyLCAxMzUyLCAxMzUzLCAxMzU0LAorIDEzNTQsIDEzNTUsIDEzNTYsIDEzNTYsIDEzNTcsIDEzNTgsIDEzNTksIDEzNjAsIDEzNjAsIDM5NCwgMzk0LCAxMzYyLCAxMzYzLAorIDEzNjMsIDEzNjQsIDEzNjUsIDEzNjUsIDEzNjYsIDEzNjcsIDEzNjcsIDEzNjgsIDEzNjksIDEzNzAsIDEzNzEsIDEzNzIsIDEzNzMsCisgMTM3NCwgMTM3NSwgMTM3NSwgMTM3NiwgMTM3NywgMTM3NywgMTM3OCwgMTM3OSwgMTM3OSwgMTM4MCwgMTM4MSwgMTM4MSwgMTE5NiwKKyAxMTk2LCAxMjUzLCAxMjUzLCA0MjAsIDQyMCwgMTM4NSwgMTM4NiwgMTM4NiwgMTM4NywgMTM4OCwgMTM4OCwgMTM4OSwgMTM5MCwKKyAxMzkwLCAxMzkxLCAxMzkyLCAxMzkzLCAxMzk0LCAxMzk1LCAxMzk2LCAxMzk3LCAxMzk4LCAxMzk5LCAxNDAwLCAxNDAwLCAxNDAxLAorIDEzODQsIDEzODMsIDEzODIsIDEzNjEsIDEzNTAsIDEyNzMsIDEyNTQsIDEyMTcsIDExOTgsIDExNjEsIDE0MDIsIDE0MDMsIDE0MDQsCisgMTQwNSwgMTQwNiwgMTQwNywgMTQwOCwgMTQwOSwgMTQxMCwgMTQxMSwgMTQxMiwgMTQwMiwgMTQwMywgMTQwNCwgMTQwNSwgMTQwNiwKKyAxNDA3LCAxNDA4LCAxNDA5LCAxNDEwLCAxNDExLCAxNDEyLCAxNDEzLCA5MiwgMTQxNCwgMTQxNSwgMTQxNiwgMTQxNiwgMTQxNywKKyAxNDE4LCAxNDE4LCAxNDE5LCAxNDIwLCAxNDIwLCAxNDIxLCAxNDIyLCAxNDIyLCAzNDEsIDc4MywgMTQyNCwgMTQyNSwgMTQyNiwKKyAxNDI3LCAxNDI4LCAxNDI5LCAxNDMwLCAxNDMxLCAxNDMxLCAxNDMyLCAxNDMzLCAxNDMzLCA3ODMsIDE0MzUsIDE0MzYsIDE0MzcsCisgMTQzOCwgMTQzOSwgMTQ0MCwgMTQ0MSwgMTQ0MiwgMTQ0MiwgMTQ0MywgMTQ0NCwgMTQ0NCwgNjMzLCA2MzMsIDU5NSwgNTk1LAorIDYyMiwgMTQ0OCwgMTQ0OSwgMTQ0OSwgMTQ1MCwgMTQ0NywgMTQ0NiwgMTQ1MSwgNjI2LCAxNDUyLCAxNDUzLCAxNDUxLCA2MjYsCisgMTQ1MiwgMTQ1MywgMTQ1NCwgNjI0LCA2MjQsIDE0NTUsIDE0NTYsIDE0NTcsIDE0NTcsIDYxMSwgMTQ1OSwgMTQ2MCwgMTQ2MCwKKyAxNDYxLCAxNDYyLCAxNDYyLCAxNDYzLCAxNDY0LCAxNDY0LCAxNDY1LCAxNDY2LCAxNDY3LCAxNDY4LCAxNDY4LCAxNDY5LCAxNDcwLAorIDE0NzAsIDE0NzEsIDE0NzIsIDE0NzIsIDE0NzMsIDE0NzQsIDE0NzQsIDE0NzUsIDE0NzYsIDE0NzYsIDE0NzcsIDE0NzgsIDE0NzgsCisgMTQ3OSwgMTQ4MCwgMTQ4MSwgMTQ4MiwgMTQ4MiwgMTQ4MywgMTQ4NCwgMTQ4NCwgMTQ4NSwgMTQ4NiwgMTQ4NiwgMTQ4NywgMTQ4OCwKKyAxNDg4LCAxNDg5LCAxNDkwLCAxNDkwLCAxNDkxLCAxNDkyLCAxNDkyLCAxNDkzLCAxNDk0LCAxNDk1LCAxNDk2LCAxNDk2LCAxNDk3LAorIDE0OTgsIDE0OTgsIDE0OTksIDE1MDAsIDE1MDAsIDE1MDEsIDE1MDIsIDE1MDIsIDE1MDMsIDE1MDQsIDE1MDUsIDE1MDYsIDE1MDYsCisgMTUwNywgMTUwOCwgMTUwOCwgMTUwOSwgMTUxMCwgMTUxMCwgMTUxMSwgMTUxMiwgMTUxMiwgMTUxMywgMTUxNCwgMTUxNSwgMTUxNiwKKyAxNTE2LCAxNTE3LCAxNTE4LCAxNTE4LCAxNTE5LCAxNTIwLCAxNTIwLCAxNTIxLCAxNTIyLCAxNTIyLCAxNTIzLCAxNTI0LCAxNTI0LAorIDE1MjUsIDE1MjYsIDE1MjYsIDE1MjcsIDE0NTgsIDE0NDUsIDE0MzQsIDE0MjMsIDE1MjgsIDE1MjksIDE1MzAsIDE1MzEsIDE1MzIsCisgMTUyOCwgMTUyOSwgMTUzMCwgMTUzMSwgMTUzMiwgNzM1LCAxNTM0LCAxNTM1LCAxNTM2LCAxNTM3LCAxNTM4LCAxNTM5LCAxNTQwLAorIDE1NDEsIDE1NDIsIDU0NCwgNTQ0LCAxNTQzLCA2MzksIDQ5LCA3ODMsIDE1NDUsIDE1NDYsIDE1NDYsIDE1NDcsIDE1NDgsIDE1NDgsCisgMTU0OSwgMTU1MCwgMTU1MCwgMTU1MSwgMTU0NCwgMTU1MiwgMTU1MywgMTU1MiwgMTU1MywgNjg3LCAxNTU1LCAxNTU2LCA4MDAsCisgMTU1NiwgODAwLCA5NzYsIDk4NywgOTkwLCA5OTgsIDEwMDEsIDE1NTksIDE1NTgsIDQ5LCA3NTIsIDEwMDksIDE1NjAsIDE1NjEsCisgNDgsIDU0NCwgNzUxLCA0LCAxNTY0LCAxNTYzLCAxNTYyLCA1OTUsIDgwNiwgOTUyLCAxNTY1LCAxNTY2LCAxNTY3LCAyNDMsCisgMjY5LCA2NzUsIDEwNDMsIDEwNDQsIDIzMCwgMjQxLCAyNTYsIDcxNiwgNDU4LCA2MzMsIDQ3MSwgNDcyLCA0NzcsIDQ3OCwgNDc5LAorIDQ4NCwgNzAyLCAyMzksIDI0MCwgMjQyLCAyNTcsIDI1OCwgNDgzLCA0OTYsIDQ5NywgNDk4LCA1MDMsIDI1MiwgMjU0LCAyNTUsCisgNDQ5LCA1MTYsIDUyMCwgNTIxLCA1MjQsIDUyNywgNTM4LCAyNjQsIDQ2MywgNTM3LCA1NDEsIDI1MywgMzg5LCA1MDgsIDgyOSwKKyAzOTQsIDQxMiwgNDEzLCA0MTQsIDQxNSwgNDE2LCA0MTcsIDQxOCwgNDE5LCA0MjAsIDE1NzcsIDE1NzYsIDE1NzUsIDE1NzQsCisgMTU3MywgMTU3MiwgMTU3MSwgMTU3MCwgMTU2OSwgMTU3OCwgMTU3OSwgMTU4MCwgMTU4MSwgMTU4MiwgMTU4MywgMTU4NCwgMTU4NSwKKyAxNTg2LCAzNzAsIDQxMSwgNjk1LCAxNTg4LCAxNTg5LCA2MjIsIDEwMjcsIDEwMjgsIDEwMjksIDEwMzAsIDEwMzEsIDEwMzIsCisgMTAzMywgMTAzNCwgMTAzNSwgMTU5MSwgMTU5MiwgMTU5MywgMTU5MCwgMTU4NywgMTU5NCwgMTU5NSwgMTU5NiwgMiwgNTkyLAorIDgzNiwgNDMsIDQzOCwgMTU5OSwgMTU5OCwgMTU5NywgMTU2OCwgMzQxLCA1MTMsIDgwNywgODA4LCAxMDg3LCAxNjAwLCAxNjAxLAorIDE2MDIsIDE2MDMsIDE2MDQsIDE2MDUsIDE2MDYsIDE2MDcsIDE2MDcsIDE2MDgsIDE2MDksIDE2MDksIDIyMywgMTg0LCAxODUsCisgMTYxMywgMTYxMiwgMTYxNCwgMTYxNSwgMTc0LCAxNzUsIDE3NiwgMTc3LCAxNzgsIDE3OSwgMTgwLCAxODEsIDE4MiwgMTgzLAorIDE2MjYsIDE2MjUsIDE2MjQsIDE2MjMsIDE2MjIsIDE2MjEsIDE2MjAsIDE2MTksIDE2MTgsIDE2MTcsIDE2MjcsIDE2MjgsIDE2MjksCisgMTYzMCwgMTYzMSwgMTYzMiwgMTYzMywgMTYzNCwgMTYzNSwgMTYzNiwgMTcyLCAxNzMsIDE2MzksIDE2MzgsIDQ2MywgMTY0MCwKKyAxNjQxLCAxNjcsIDE2OCwgMTY5LCAxNzAsIDE3MSwgMTY0NywgMTY0NiwgMTY0NSwgMTY0NCwgMTY0MywgNjk1LCAxNjQ4LCAxNjQ5LAorIDE2NTAsIDE2NTEsIDE2NTIsIDY3NSwgMTY2LCAxNjU1LCAzNDEsIDE2NTYsIDE2NCwgMTY1LCAxNjU5LCAxNjU4LCAxNjYwLAorIDE2NjEsIDE2NjIsIDE2NTcsIDE2NTQsIDE2NTMsIDE2NDIsIDE2MzcsIDE2MTYsIDE2NjMsIDE2NjQsIDE2NjUsIDE2NjYsIDE2NjcsCisgMTY2OCwgMTY2OSwgMTYxLCAxNjIsIDE2MywgMTY3MywgMTY3MiwgMTY3MSwgMTY3NCwgMTY3NSwgMTY3NiwgMTU4LCAxNTksCisgMTYwLCAxNjgwLCAxNjc5LCAxNjc4LCAxNjgxLCAxNjgyLCAxNjgzLCAxNTQsIDE1NSwgMTU2LCAxNTcsIDE2ODgsIDE2ODcsCisgMTY4NiwgMTY4NSwgMTY4OSwgMTY5MCwgMTY5MSwgMTY5MiwgMTQ4LCAxNDksIDE1MCwgMTUxLCAxNTIsIDE1MywgMTY5OSwgMTY5OCwKKyAxNjk3LCAxNjk2LCAxNjk1LCAxNjk0LCAxNzAwLCAxNzAxLCAxNzAyLCAxNzAzLCAxNzA0LCAxNzA1LCAxNDYsIDE0NywgMTcwOCwKKyAxNzA3LCAxNzA5LCAxNzEwLCAxNzExLCAxNzA2LCAxNjkzLCAxNjg0LCAxNjc3LCA0MjIsIDE3MTIsIDE3MTMsIDE3MTQsIDE3MTUsCisgMTcxNiwgOTg3LCA5OTAsIDEwMDksIDk5OCwgMTAwMSwgMTM5LCAxNDAsIDE0MSwgMTQyLCAxNDMsIDE0NCwgMTQ1LCAxNzI2LAorIDE3MjUsIDE3MjQsIDE3MjMsIDE3MjIsIDE3MjEsIDE3MjAsIDEwNDMsIDEwNDQsIDE3MjcsIDE3MjgsIDE3MjksIDE3MzAsIDE3MzEsCisgMTczMiwgMTczMywgMTA2LCAxNzM1LCAxNzM2LCAxMzgsIDE3MzgsIDE3MzcsIDI2OSwgMTczOSwgMTc0MCwgMTM0LCAxMzUsCisgMTM2LCAxMzcsIDE3NDUsIDE3NDQsIDE3NDMsIDE3NDIsIDE3NDYsIDE3NDcsIDE3NDgsIDE3NDksIDE3NTAsIDE3NDEsIDE3MzQsCisgMTcxOSwgMTcxOCwgMTc1MSwgMTc1MiwgMTc1MywgMTc1NCwgMTc1NSwgMTA0LCAxMDUsIDE3NTgsIDE3NTcsIDE3NTksIDE3NjAsCisgMTc2MSwgMTc2MiwgOTc2LCAxNzY0LCAxNzY1LCAxMzMsIDE3NjcsIDgzNiwgMTc2OCwgMTMyLCAxNzcwLCAzNzAsIDE3NzEsCisgMTI5LCAxMzAsIDEzMSwgMTc3NSwgMTc3NCwgMTc3MywgNTQ0LCAxNzc2LCA2MzMsIDE3NzcsIDE3NzgsIDEyNywgMTI4LCAxNzgxLAorIDE3ODAsIDE3ODIsIDE3ODMsIDE3ODQsIDE3NzksIDE3NzIsIDE3NjksIDE3NjYsIDE3NjMsIDE3ODUsIDE3ODYsIDE3ODcsIDE3ODgsCisgMTc4OSwgMTc5MCwgMTAzLCAxNzkyLCAxNzkzLCAxNzk0LCAxNzk1LCAxNzk2LCAxNzk3LCAxNzk4LCAxNzkxLCAxNzU2LCAxNzE3LAorIDE2NzAsIDE3OTksIDE4MDAsIDE4MDEsIDE4MDIsIDE4MDMsIDEwMiwgMTgwNSwgMTgwNiwgMTgwNywgMTgwOCwgMjIyLCAxODEwLAorIDE4MDksIDE4MTEsIDE4MTIsIDEwMSwgMTgxNCwgMTgxNSwgMTgxNiwgMTgxNywgMTgxOCwgNDc3LCA0NzgsIDQ3OSwgMTgxOSwKKyAxODIwLCAxODEzLCA0ODYsIDcwNCwgMTgyMSwgMTgyMiwgMjIwLCAyMjEsIDE4MjUsIDE4MjQsIDE4MjYsIDE4MjcsIDU5NSwKKyAxODI5LCAxODMwLCAxODMxLCAxODMyLCAxODMzLCAxODI4LCA0NTgsIDQ5MSwgMTgzNCwgMTgzNSwgMTI2LCAxODM3LCAxODM4LAorIDE4MzksIDIzMCwgMTg0MCwgMTI1LCAxODQyLCAxODQzLCAxMjIsIDEyMywgMTI0LCAxODQ3LCAxODQ2LCAxODQ1LCAxODQ4LAorIDE4NDksIDE4NTAsIDEyMCwgMTIxLCAxODUzLCAxODUyLCAxODU0LCAxODU1LCAxMTksIDE4NTcsIDE4NTgsIDE4NTksIDE4NTYsCisgMTg1MSwgMTg0NCwgMTg2MCwgMTg2MSwgMTg2MiwgMTg2MywgMTg2NCwgMTg0MSwgNTAwLCAxODY1LCAxODY2LCAxMTgsIDE4NjgsCisgMTg2OSwgMTE3LCAxODcxLCAxODcyLCAxMTIsIDExMywgMTE0LCAxMTUsIDExNiwgMTg3OCwgMTg3NywgMTg3NiwgMTg3NSwgMTg3NCwKKyAxODc5LCAxODgwLCAxODgxLCAxODgyLCAxODgzLCAxODg0LCAxODczLCAxODcwLCA1MDMsIDE4ODUsIDE4ODYsIDE4ODcsIDExMSwKKyAxODg5LCAxODkwLCAxODkxLCAxODkyLCAxMDMyLCAxMDMzLCAxMDM0LCAxMDM1LCAxMDI3LCAxMDMxLCAxODk1LCAxODk0LCAxODk2LAorIDE4OTcsIDQzOCwgMTg5OSwgMTkwMCwgMTAwLCAxOTAyLCAxOTAzLCAxOTA0LCAxOTA1LCAxOTA2LCAxOTA3LCAxOTA4LCAxOTAxLAorIDE4OTgsIDE4OTMsIDE4ODgsIDE5MDksIDE5MTAsIDE5MTEsIDE5MTIsIDE5MTMsIDk5LCAxOTE1LCAxOTE2LCAxOTE3LCAxOTE4LAorIDE5MTksIDE5MjAsIDk4LCAxOTIyLCAxOTIzLCA5NywgMTkyNSwgMTkyNiwgOTYsIDE5MjgsIDE5MjksIDIyOCwgMTkzMSwgMTkzMiwKKyAxOTMzLCAxOTMwLCAxOTI3LCAxOTI0LCAxOTM0LCAxOTM1LCAxOTM2LCAxOTM3LCAxOTM4LCAxOTM5LCAxOTQwLCAxOTIxLCAxOTQxLAorIDE5NDIsIDIxOSwgMTk0NCwgMTk0NSwgMjE4LCAxOTQ3LCAxOTQ4LCAxOTQ5LCAxOTQ2LCA1MTAsIDE5NTAsIDE5NTEsIDUxMywKKyA3ODMsIDIxNCwgMjE1LCAyMTYsIDIxNywgMTk1NywgMTk1NiwgMTk1NSwgMTk1NCwgNzE2LCAxOTU4LCAxOTU5LCAxOTYwLCAxOTYxLAorIDIzOSwgMjQwLCAyNDEsIDI0MiwgMjQzLCAzODksIDExMCwgMTk2NCwgMTIsIDE5NjUsIDE5NjYsIDI1MiwgMjUzLCAyNTQsIDI1NSwKKyAyNTYsIDI1OCwgNDQ5LCA1MTYsIDE5NjcsIDIxMywgMTk2OSwgNTIwLCA1MjEsIDYyMiwgODI5LCAxOTcwLCAyMTIsIDE5NzIsCisgNTI3LCAxNTY1LCAxOTczLCAxOTc0LCAxOTcxLCAxOTY4LCAxOTYzLCAxOTYyLCAxOTUzLCA1MzAsIDE5NzUsIDE5NzYsIDE5NzcsCisgMTk3OCwgMTk3OSwgMTk4MCwgMTA5LCAxOTgyLCA3MywgMTk4MywgMTA4LCAxOTg1LCA3MiwgMTk4NiwgMTA3LCAxOTg4LCAxOTg5LAorIDE5OTAsIDE5ODcsIDE5ODQsIDI2NCwgMTk5MSwgMTk5MiwgMTk5MywgNTQxLCA3OTIsIDgwNywgODA4LCA4MDksIDEwODcsIDIwOCwKKyAyMDksIDIxMCwgMjExLCAxOTk5LCAxOTk4LCAxOTk3LCAxOTk2LCAzOTQsIDc1MSwgNzUyLCA4MDYsIDIwMDAsIDIwMDEsIDIwMDIsCisgMjAwMywgMTk5LCAyMDAsIDIwMSwgMjAyLCAyMDMsIDIwNCwgMjA1LCAyMDYsIDIwNywgMjAxMywgMjAxMiwgMjAxMSwgMjAxMCwKKyAyMDA5LCAyMDA4LCAyMDA3LCAyMDA2LCAyMDA1LCAyMDE0LCAyMDE1LCAyMDE2LCAyMDE3LCAyMDE4LCAyMDE5LCAyMDIwLCAyMDIxLAorIDIwMjIsIDE5NCwgMTAyOCwgMTAyOSwgMTAzMCwgMTk1LCAxOTYsIDE5NywgMTk4LCAyMDI4LCAyMDI3LCAyMDI2LCAyMDI1LAorIDIwMjQsIDk1MiwgMjAyOSwgMjAzMCwgMjAzMSwgMjAzMiwgMjAzMywgMTg4LCAxODksIDE5MCwgMTkxLCAxOTIsIDE5MywgMjA0MCwKKyAyMDM5LCAyMDM4LCAyMDM3LCAyMDM2LCAyMDM1LCAyMDQxLCAyMDQyLCAyMDQzLCAyMDQ0LCAyMDQ1LCAyMDQ2LCAxODYsIDE4NywKKyAyMDQ5LCAyMDQ4LCAyMDUwLCAyMDUxLCA1OTIsIDIwNTMsIDIwNTIsIDIwNDcsIDIwMzQsIDIwMjMsIDIwMDQsIDE5OTUsIDE5OTQsCisgMjA1NCwgMjA1NSwgMjA1NiwgMjA1NywgMjA1OCwgMjA1OSwgMjA2MCwgMjA2MSwgMjA2MiwgMTk4MSwgMTk1MiwgMTk0MywgMTkxNCwKKyAxODY3LCAxODM2LCAxODIzLCAxODA0LCAxNjExLCA3MjIsIDcyMiwgMjA2MywgMjA2NCwgMjA2NSwgMjA2NiwgMjA2NywgMjA2OCwKKyAyMDY5LCAyMDcwLCAyMDcxLCAyMDcyLCA1NDcsIDU0OCwgMjIzLCA5MiwgMjA3NiwgMjA3NSwgMjA3NywgMjA3OCwgMjIyLCA4OSwKKyA5MCwgOTEsIDg2LCA4NywgODgsIDg0LCA4NSwgMjA4MywgMjA4MiwgMjA4MSwgMjA4MCwgMjA4NCwgMjA4NSwgMjA4NiwgMjA4NywKKyAyMjAsIDIyMSwgMiwgMjA5MCwgMjA4OSwgMjA5MSwgMjA5MiwgODEsIDgyLCA4MywgMTksIDIwOTUsIDIwOTQsIDIwOTYsIDIwOTcsCisgODAsIDIwOTksIDIxMDAsIDIxOSwgMjE4LCA2OSwgMjEwNCwgMjEwMywgMjEwMiwgMjEwNSwgMjEwNiwgMjEwNywgNDQsIDQ5LAorIDk0LCAyMTQsIDIxNSwgMjE2LCAyMTcsIDE0LCAxNSwgMTYsIDE3LCAxOCwgMzksIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLAorIDc4LCA3OSwgMzYsIDQ3LCA3NiwgNzcsIDIxMywgNzUsIDQsIDc0LCAyMTIsIDIxMTUsIDIxMTQsIDIxMTMsIDIxMTIsIDIxMTEsCisgMjExMCwgMjEwOSwgMjExNiwgMjExNywgMjExOCwgMjExOSwgMjEyMCwgMjEyMSwgMjEyMiwgNiwgNzIsIDczLCAzLCA0MSwgNDIsCisgNDMsIDQ4LCA3MSwgNDAsIDQ1LCA1MiwgNjgsIDIwOCwgMjA5LCAyMTAsIDIxMSwgMTk5LCAyMDAsIDIwMSwgMjAyLCAyMDMsCisgMjA0LCAyMDUsIDIwNiwgMjA3LCAzNywgMTk0LCAxOTUsIDE5NiwgMTk3LCAxOTgsIDE4OCwgMTg5LCAxOTAsIDE5MSwgMTkyLAorIDE5MywgMTg2LCAxODcsIDU1LCAyMTMxLCAyMTMwLCAyMTI5LCAyMTI4LCAyMTI3LCAyMTI2LCAyMTI1LCAyMTI0LCAyMTMyLAorIDIxMzMsIDIxMzQsIDIxMzUsIDIxMzYsIDIxMzcsIDIxMzgsIDIxMzksIDIxNDAsIDIxMjMsIDIxMDgsIDIxMDEsIDIwOTgsIDIwOTMsCisgMjA4OCwgMjA3OSwgMjE0MSwgMjE0MiwgMjE0MywgMjE0NCwgMjE0NSwgMjE0NiwgMjE0NywgMjE0OCwgMTg0LCAxODUsIDE3NCwKKyAxNzUsIDE3NiwgMTc3LCAxNzgsIDE3OSwgMTgwLCAxODEsIDE4MiwgMTgzLCA3MCwgMTcyLCAxNzMsIDU2LCAxNjcsIDE2OCwKKyAxNjksIDE3MCwgMTcxLCAzOCwgNTAsIDE2NiwgMTY0LCAxNjUsIDIxNTYsIDIxNTUsIDIxNTQsIDIxNTMsIDIxNTIsIDIxNTEsCisgMjE1MCwgMjE1NywgMjE1OCwgMjE1OSwgMjE2MCwgMjE2MSwgMjE2MiwgMjE2MywgMTYxLCAxNjIsIDE2MywgMTU4LCAxNTksCisgMTYwLCAxNTQsIDE1NSwgMTU2LCAxNTcsIDU4LCA1OSwgNjAsIDYxLCA2MiwgNjMsIDY0LCA2NSwgNjYsIDY3LCAxNDgsIDE0OSwKKyAxNTAsIDE1MSwgMTUyLCAxNTMsIDE0NiwgMTQ3LCAyMTcwLCAyMTY5LCAyMTY4LCAyMTY3LCAyMTY2LCAyMTY1LCAyMTcxLCAyMTcyLAorIDIxNzMsIDIxNzQsIDIxNzUsIDIxNzYsIDMwLCAzMywgMzQsIDMxLCAzMiwgNTEsIDUzLCAxMzksIDE0MCwgMTQxLCAxNDIsIDE0MywKKyAxNDQsIDE0NSwgOTUsIDEzOCwgMTM0LCAxMzUsIDEzNiwgMTM3LCAyMTgyLCAyMTgxLCAyMTgwLCAyMTc5LCAyMTc4LCAyMTgzLAorIDIxODQsIDIxODUsIDIxODYsIDIxODcsIDQ2LCAxMzMsIDU3LCAxMzIsIDIwLCA5MywgMTI5LCAxMzAsIDEzMSwgMTI3LCAxMjgsCisgMjE5MiwgMjE5MSwgMjE5MCwgMjE4OSwgMjE5MywgMjE5NCwgMjE5NSwgMjE5NiwgMjE5NywgMjE4OCwgMjE3NywgMjE2NCwgMjE5OCwKKyAyMTk5LCAyMjAwLCAyMjAxLCAxMjYsIDIyMDMsIDIyMDQsIDEyNSwgMTIyLCAxMjMsIDEyNCwgMTIwLCAxMjEsIDExOSwgMjIwOSwKKyAyMjA4LCAyMjA3LCAyMjA2LCAyMjEwLCAyMjExLCAyMjEyLCAyMjEzLCAyMjE0LCAyMjA1LCAyMjE1LCAyMjE2LCAxMTgsIDExNywKKyAxMTIsIDExMywgMTE0LCAxMTUsIDExNiwgMjIyMCwgMjIxOSwgMjIxOCwgMjIyMSwgMjIyMiwgMjIyMywgMTExLCAyMjI1LCAyMjI2LAorIDI2LCAyNywgMjgsIDI5LCAyMSwgMjUsIDIyMjksIDIyMjgsIDIyMzAsIDIyMzEsIDU0LCAyMjMzLCAyMjM0LCAyMjM1LCAyMjMyLAorIDIyMjcsIDIyMjQsIDIyMzYsIDIyMzcsIDIyMzgsIDIyMzksIDExMCwgMjI0MSwgMjI0MiwgMjI0MywgMjI0NCwgMTA5LCAxMDgsCisgMTA3LCAyMjQ4LCAyMjQ3LCAyMjQ2LCAyMjQ5LCAyMjUwLCAyMjUxLCAyMiwgMjMsIDI0LCAyMjUzLCAyMjU0LCAyMjU1LCAyMjUyLAorIDIyNTYsIDIyNTcsIDIyNTgsIDIyNDUsIDIyNDAsIDIyMTcsIDIyMDIsIDIxNDksIDIyNTksIDIyNjAsIDIyNjEsIDIyNjIsIDIyNjMsCisgMjI2NCwgMTA2LCAyMjY2LCAyMjY3LCAyMjY4LCAyMjY5LCAxMDQsIDEwNSwgMjI3MSwgMjI3MiwgMzUsIDIyNzQsIDIyNzUsCisgMjI3NiwgMjI3MywgMjI3NywgMjI3OCwgMTAzLCAyMjgwLCAyMjgxLCAyMjgyLCAyMjgzLCAyMjg0LCAyMjc5LCAyMjcwLCAyMjg1LAorIDIyODYsIDIyODcsIDEwMiwgMjI4OSwgMjI5MCwgMjI5MSwgMjI5MiwgMTAxLCAyMjk0LCAyMjk1LCAyMjk2LCAyMjk3LCAyMjk4LAorIDIyOTMsIDIyOTksIDIzMDAsIDUsIDIzMDIsIDIzMDMsIDIzMDQsIDIzMDUsIDIzMDYsIDIzMDcsIDEwMCwgMjMwOSwgMjMxMCwKKyAyMzExLCAyMzEyLCAyMzEzLCAyMzE0LCA5OSwgMjMxNiwgMjMxNywgMjMxOCwgMjMxOSwgOTgsIDk3LCA5NiwgMSwgMjMyNCwKKyAyMzIzLCAyMzIyLCAyMzIxLCAyMzI1LCAyMzI2LCAyMzI3LCAyMzI4LCAyMzI5LCAyMzMwLCAyMzMxLCAyMzIwLCAyMzMyLCAyMzMzLAorIDIzMzQsIDIzMTUsIDIzMDgsIDIzMDEsIDIyODgsIDIyNjUsIDIzMzUsIDIzMzYsIDIzMzcsIDIzMzgsIDIzMzksIDIzNDAsIDIzNDEsCisgMjM0MiwgMjM0MiwgMjM0MywgMjM0NCwgMjM0NCwgMjM0NSwgMjM0NiwgMjM0NiwgMjM0NywgMjM0OCwgMjM0OCwgMjM0OSwgMjA3NCwKKyAyMDczLCAyMzUwLCAyMzUwLCAyMzUxLCA1NTEsIDU1MiwgNTUzLCA1NTQsIDU1NSwgNzI2LCA3MjcsIDU1OCwgMjM1MiwgMjM1MywKKyAyMzU0LCAyMzU0LCA5NzYsIDIzNTYsIDIzNTcsIDIzNTgsIDIzNTksIDIzNTksIDIzNjAsIDIzNjEsIDIzNjEsIDIzNjIsIDIzNjMsCisgMjM2MywgMjM2NCwgMjM2NSwgMjM2NiwgMjM2NywgMjM2OCwgMjM2OSwgMjM3MCwgMjM3MSwgMjM3MiwgMjM3MywgMTA0NCwgMjM3NSwKKyAyMzc2LCAyMzc3LCAyMzc4LCAyMzc4LCAyMzc5LCAyMzgwLCAyMzgwLCAyMzgxLCAyMzgyLCAyMzgyLCAyMzgzLCAyMzg0LCAyMzg0LAorIDIzODUsIDIzODYsIDIzODYsIDIzODcsIDIzODgsIDIzODksIDIzOTAsIDIzOTEsIDIzOTIsIDIzOTMsIDIzOTQsIDIzOTUsIDIzOTYsCisgMjM5NywgMjM5OCwgMjM5OCwgMjM5OSwgMjQwMCwgMjQwMCwgMjQwMSwgMjQwMiwgMjQwMiwgMjQwMywgMjQwNCwgMjQwNCwgMjQwNSwKKyAyNDA2LCAyNDA2LCAyNDA3LCAyNDA4LCAyNDA4LCAyNDA5LCAyNDEwLCAyNDEwLCAyNDExLCA0NCwgNzUxLCA3NTIsIDI0MTIsCisgMTA0MywgMjQxNCwgMjQxNSwgMjQxNiwgMjQxNywgMjQxNywgMjQxOCwgMjQxOSwgMjQxOSwgMjQyMCwgMjQyMSwgMjQyMSwgMjQyMiwKKyAyNDIzLCAyNDIzLCAyNDI0LCAyNDI1LCAyNDI1LCAyNDI2LCAyNDI3LCAyNDI4LCAyNDI5LCAyNDI5LCAyNDMwLCAyNDMxLCAyNDMxLAorIDI0MzIsIDI0MzMsIDI0MzMsIDI0MzQsIDI0MzUsIDI0MzUsIDI0MzYsIDI0MzcsIDI0MzcsIDI0MzgsIDI0MzksIDI0MzksIDI0NDAsCisgMjQ0MSwgMjQ0MSwgMjQ0MiwgNDMsIDI0NDMsIDI0NDQsIDI0MTMsIDM0MSwgNzgzLCA3OTIsIDgwNiwgODA3LCA4MDgsIDEwODcsCisgMjQ0NSwgMjQ0NiwgMjQ0NywgMjQ0OCwgMjQ0OSwgMjQ1MCwgMjQ1MSwgMjQ1MiwgMjQ1MywgMjQ1NCwgNTEzLCA4MDgsIDgwOSwKKyA4MDcsIDM0MSwgNzgzLCA3OTIsIDgwNiwgODM2LCAxMDg3LCAyNDYwLCAyNDU5LCAyNDU4LCAyNDU3LCAyNDU2LCAyNDYyLCAyNDYxLAorIDI0NjMsIDI0NjQsIDI0NjUsIDI0NjYsIDMxNSwgMTkwMCwgMjQ2NywgMjQ2OCwgMjQ2OSwgMjQ3MCwgMjQ3MSwgMjQ3MSwgMjQ3MiwKKyAyNDU1LCAyMzc0LCAyNDczLCAyNDczLCAyNDc0LCAyNDc1LCAzMTUsIDMxNSwgMjQ3NywgMjQ3OCwgMjQ3OCwgMjQ3OSwgMjQ4MCwKKyAyNDgxLCAyNDgyLCAyNDgzLCAyNDg0LCAzMTIsIDI0ODYsIDI0ODcsIDI0ODgsIDI0ODksIDI0OTAsIDI0OTEsIDI0OTIsIDI0OTMsCisgMjQ5NCwgMjQ5NSwgMjQ5NSwgMjQ5NiwgMjQ5NywgMjQ5NywgMjQ5OCwgMjQ5OSwgMjQ5OSwgMjUwMCwgMjUwMSwgMjUwMiwgMjUwMywKKyAyNTA0LCAyNTA1LCA1MTMsIDI1MDcsIDI1MDgsIDI1MDksIDI1MTAsIDI1MTEsIDI1MTIsIDI1MTMsIDQ0LCA3NTEsIDI1MTQsCisgODA5LCAyNTE2LCAyNTE3LCAyNTE4LCAyNTE5LCAyNTIwLCAyNTIxLCAyNTIyLCA0MywgMjUyMywgODA4LCAyNTI1LCAyNTI2LAorIDI1MjcsIDI1MjgsIDI1MjksIDI1MzAsIDI1MzEsIDQyLCAyNTMyLCA4MDcsIDI1MzQsIDI1MzUsIDI1MzYsIDI1MzcsIDI1MzgsCisgMjUzOSwgMjU0MCwgNDEsIDI1NDEsIDEwODcsIDI1NDMsIDI1NDQsIDI1NDUsIDI1NDYsIDI1NDcsIDI1NDgsIDI1NDksIDMsCisgMjU1MCwgMzQxLCAyNTUyLCAyNTUzLCAyNTU0LCAyNTU1LCAyNTU2LCAyNTU3LCAyNTU4LCA1MCwgMjU1OSwgNzgzLCAyNTYxLAorIDI1NjIsIDI1NjMsIDI1NjQsIDI1NjUsIDI1NjYsIDI1NjcsIDQ5LCAyNTY4LCAyNDYyLCAyNTcwLCAyNTcxLCAyNTcyLCAyNTczLAorIDI1NzQsIDQ4LCAyNTc1LCA4MDYsIDI1NzcsIDI1NzgsIDI1NzksIDI1ODAsIDI1ODEsIDI1ODIsIDI1ODMsIDQwLCAyNTg0LAorIDI1ODUsIDI1NzYsIDI1NjksIDI1NjAsIDI1NTEsIDI1NDIsIDI1MzMsIDI1MjQsIDI1MTUsIDI1ODYsIDI1ODcsIDI1ODgsIDI1ODksCisgMjU5MCwgMjU5MSwgMjU5MiwgMjU5MywgMjU5NCwgMjU5NSwgMjU5NiwgMjU5NywgMjU5OCwgMjU5OSwgMjYwMCwgMjYwMSwgMjYwMiwKKyAyNjAzLCAyNTA2LCAyNjA0LCAyNjA1LCAyNjA2LCAyNDg1LCAyNDc2LCAyNjA3LCAyNjA4LCAyNjA5LCAyNjEwLCAyNjExLCAyNjExLAorIDI2MTIsIDIzNTUsIDE2MTAsIDI2MTMsIDI2MTQsIDI2MTUsIDI2MTMsIDI2MTQsIDI2MTUsIDE1NjUsIDI2MTcsIDI2MTgsIDI2MTksCisgMjYyMCwgMjYyMSwgMjYyMiwgMjYyMywgMjYyNCwgMjYyNCwgMjYyNSwgMjYyNiwgMjYyNywgMjYyOCwgMjYyOCwgMjYyOSwgMjYzMCwKKyAyNjMwLCA4MzEsIDI2MzIsIDI2MzMsIDgzNiwgODM2LCAyNjM1LCAyNjM2LCAyNjM2LCAyNjM3LCAyNjM4LCAyNjM4LCAyNjM5LAorIDI2MzQsIDI2NDAsIDI2NDEsIDI2NDAsIDI2NDEsIDgzNiwgMjY0MywgMjY0NCwgMjY0NSwgMjY0NiwgMjY0NywgMjY0OCwgMjY0OSwKKyAyNjUwLCA4MzYsIDgzNiwgMjY1MiwgMjY1MywgMjY1NCwgMjY1NSwgMjY1NiwgMjY1NywgMjY1OCwgMjY1OSwgMjY2MCwgMjY2MSwKKyAyNjYyLCAyNjYzLCAyNjY0LCAyNjY1LCAyNjY2LCAyNjY3LCAyNjY4LCAyNjY5LCAyNjcwLCAyNjcxLCAyNjcxLCAyNjcyLCAyNjUxLAorIDI2NzQsIDI2NzMsIDI2NzQsIDI2NzUsIDI2NDIsIDI2NzYsIDI2NzcsIDI2NzYsIDI2NzcsIDc1MSwgMjY3OSwgNTEzLCA4MDYsCisgODA3LCA4MDgsIDgwOSwgMjY4MCwgMjY4MSwgMjY4MiwgMjY4MiwgMjY4MywgMjY4NCwgMjY4NCwgMjY4NSwgMjY4NiwgMjY4NiwKKyAyNjg3LCAyNjg4LCAyNjg4LCA4MDYsIDgwNywgODA4LCA4MDksIDUxMywgNTQ2LCA5NTIsIDk1MiwgMjY5MSwgMjY5MiwgMjY5MiwKKyAyNjkzLCAyNjk0LCAyNjk0LCAyNjk1LCAyNjk2LCAyNjk2LCAyNjk3LCAyNjk4LCAyNjk4LCAyNjk5LCAyNjkwLCAyNzAxLCAyNzAwLAorIDI3MDIsIDI3MDMsIDI3MDMsIDM4OSwgMzg5LCAyNzA1LCAyNzA2LCAyNzA2LCAyNzA3LCAyNzA4LCAyNzA4LCAyNzA5LCAyNzEwLAorIDI3MTAsIDI3MTEsIDI3MTIsIDI3MTMsIDI3MTQsIDI3MTUsIDI3MTYsIDI3MTcsIDI3MTgsIDI3MTksIDI3MjAsIDI3MjEsIDI3MjIsCisgMjcyMiwgMjcyMywgMjcyNCwgMjcyNCwgMjcyNSwgMjcyNiwgMjcyNiwgMjcyNywgMjcyOCwgMjcyOCwgMjcyOSwgMjczMCwgMjczMCwKKyAyNzMxLCAyNzMyLCAyNzMyLCAyNzMzLCAyNzM0LCAyNzM0LCAyNzM1LCAyNzM2LCAyNzM2LCAyNzM3LCAyNzM4LCAyNzM4LCAyNzM5LAorIDI3NDAsIDI3NDAsIDI3NDEsIDI3NDIsIDI3NDIsIDI3NDMsIDI3NDQsIDI3NDQsIDI3NDUsIDI3NDYsIDI3NDcsIDI3NDgsIDI3NDgsCisgNjgzLCA2ODMsIDY3NSwgOTU4LCAyNzUxLCAyNzUyLCAyNzUyLCAyNzUzLCAyNzU0LCAyNzU0LCAyNzU1LCAyNzU2LCAyNzU2LAorIDI3NTcsIDI3NTgsIDI3NTgsIDk3MSwgMjc2MCwgMjc2MSwgMjc2MSwgMjc2MiwgMjc2MywgMjc2MywgOTc2LCAyMzU3LCAyNzY1LAorIDI3NjYsIDI3NjYsIDU4MywgNTgzLCAyNzY4LCAyNzY5LCAyNzY5LCAyNzcwLCAyLCAyNzcxLCA5OTIsIDk5MywgOTkyLCA5OTMsCisgOTk1LCAyNzczLCAyNzc0LCAxMDAzLCAxMDA0LCAxMDAzLCAxMDA0LCAxMDA2LCAyNzc2LCAyNzc3LCAyNzc4LCAyNzc1LCAxMDA5LAorIDI3NzksIDI3ODAsIDI3ODEsIDEwMDksIDI3NzksIDI3ODAsIDI3ODIsIDI3ODMsIDI3ODQsIDI3ODQsIDI3ODUsIDI3NzIsIDI3NjcsCisgMjc4NiwgMjc4NywgMjc4OCwgMjc4NiwgMjc4NywgMjc4OCwgMjcwMSwgMTA1OSwgMjc5MCwgMjc5MSwgMjc5MiwgMjc5MywgMjc5MywKKyAyNzk0LCAyNzk1LCAyNzk1LCAyNzk2LCAyNzk3LCAyNzk3LCAyNzk4LCAyNzk5LCAyNzk5LCAyODAwLCAyODAxLCAyODAxLCAyODAyLAorIDI4MDMsIDI4MDMsIDI4MDQsIDI3ODksIDI3NjQsIDI3NTksIDI3NTAsIDI3NDksIDI3MDQsIDI2ODksIDI2NzgsIDI2MzEsIDI2MTYsCisgMTU1NywgMTU1NCwgMTUzMywgMTEwNCwgMzg3LCAzNjgsIDI2MiwgMjI5LCAyODIzLCAyODI0LCAyODI1LCAyODI2LCAyODI3LAorIDI4MjgsIDIzNCwgMjM1LCAyMzYsIDIzNywgMjM4LCAyODMwLCAyODMxLCAyNDUsIDI0NiwgMjQ3LCAyNDgsIDI0OSwgMjUwLAorIDI1MSwgMjgzMywgMjgzNCwgMjgzNSwgMjgzMiwgMjgzNywgMjgzNiwgMjgzOCwgMjgzOSwgMjYzLCAyODQxLCAyODQyLCAyODQzLAorIDI4NDQsIDI4NDUsIDI4NDYsIDI2OCwgMjY4LCAyODQ4LCAyODQ5LCAyODUwLCAyODUxLCAyODUxLCAyODUyLCAyODUzLCAyODU0LAorIDI4NTUsIDI4NTUsIDI4NTYsIDI4NTcsIDI4NTgsIDI4NTksIDI4NTksIDI4NjAsIDI4NjEsIDI4NjIsIDI4NjMsIDI4NjMsIDI4NjQsCisgMjg2NSwgMjg2NiwgMjg2NywgMjg2NywgMjg2OCwgMjg2OSwgMjg3MCwgMjg3MSwgMjg3MSwgMjg3MiwgMjg3MywgMjg3NCwgMjg3NSwKKyAyODc1LCAyODc2LCAyODc3LCAyODc4LCAyODc5LCAyODgwLCAyODgxLCAyODgyLCAyODgzLCAyODgzLCAyODg0LCAyODg1LCAyODg2LAorIDI4ODcsIDI4ODcsIDI4ODgsIDI4ODksIDI4OTAsIDI4OTEsIDI4OTEsIDI4OTIsIDI4OTMsIDI4OTQsIDI4OTUsIDI4OTUsIDI4OTYsCisgMjg5NywgMjg5OCwgMjg5OSwgMjg5OSwgMjkwMCwgMjkwMSwgMjkwMiwgMjkwMywgMjkwMywgMjkwNCwgMjkwNSwgMjkwNiwgMjkwNywKKyAyOTA3LCAyOTA4LCAyOTA5LCAyOTEwLCAyOTExLCAyOTExLCAyOTEyLCAyOTEzLCAyOTE0LCAyOTE1LCAyOTE2LCAyOTE3LCAyOTE4LAorIDI5MTksIDI5MTksIDI5MjAsIDI5MjEsIDI5MjIsIDI5MjMsIDI5MjMsIDI5MjQsIDI5MjUsIDI5MjYsIDI5MjcsIDI5MjcsIDI5MjgsCisgMjkyOSwgMTM0OTEsIDI5MzEsIDI5MzIsIDMxNCwgMjkzNCwgMjkzNSwgMjkzNiwgMjkzMywgMjkzNywgMjkzOCwgMjkzOSwgMjk0MCwKKyAyOTQxLCAyOTQyLCAyOTQzLCAyOTQ0LCAyOTQ1LCAyOTQ2LCAyOTQ3LCAyOTQ4LCAyOTQ5LCAyOTUwLCAyOTUxLCAyOTUyLCAyOTUzLAorIDI5NTQsIDI5NTUsIDI5NTYsIDI5NTcsIDI5NTgsIDI5NTksIDI5NjAsIDI5NjEsIDI5NjIsIDI5NjMsIDI5NjQsIDI5NjUsIDI5NjYsCisgMjk2NiwgMjk2NywgMjk2OCwgMjk2OSwgMjk3MCwgMjk3MSwgMjk3MiwgMjk3MywgMjk3NCwgMjk3NCwgMjk3NSwgMjk3NiwgMjk3NywKKyAyOTc4LCAyOTc4LCAyOTc5LCAyOTgwLCAzNDAsIDM0MCwgMjk4MiwgMjk4MywgMjk4NCwgMjk4NSwgMjk4NSwgMjk4NiwgMjk4NywKKyAyOTg4LCAyOTg5LCAyOTg5LCAyOTkwLCAyOTkxLCAyOTkyLCAyOTkzLCAyOTkzLCAyOTk0LCAyOTk1LCAzMTQsIDMxNCwgMjk5NywKKyAyOTk4LCAyOTk5LCAzMDAwLCAzMDAwLCAzMDAxLCAzMDAyLCAzNDAsIDMwMDQsIDMwMDUsIDMwMDYsIDMwMDcsIDMwMDgsIDMwMDksCisgMzAxMCwgMzAxMSwgMzAxMiwgMzAxMywgMzAxNCwgMzAxNSwgMzAxNiwgMzAxNywgMzAxOCwgMzAxOSwgMzAxOSwgMzAyMCwgMzAyMSwKKyAzMDIyLCAzMDAzLCAzMDI0LCAzMDI0LCAzMDIzLCAzMDIzLCAzMDI1LCAzMDI2LCAzMDI3LCAyOTk2LCAyOTgxLCAyOTMwLCAzMDI5LAorIDMwMjksIDMwMjgsIDMwMzAsIDMwMzEsIDMwMjgsIDMwMzAsIDMwMzEsIDMwMzIsIDMwMzMsIDM2OSwgMzY5LCAzMDM1LCAzMDM2LAorIDMwMzcsIDMwMzgsIDMwMzgsIDMwMzksIDMwNDAsIDMwNDEsIDMwNDIsIDMwNDIsIDMwNDMsIDMwNDQsIDMwNDUsIDMwNDYsIDMwNDYsCisgMzA0NywgMzA0OCwgMzA0OSwgMzA1MCwgMzA1MCwgMzA1MSwgMzA1MiwgMzA1MywgMzA1NCwgMzA1NSwgMzA1NiwgMzA1NywgMzA1OCwKKyAzMDU5LCAzMDYwLCAzMDYxLCAzMDYyLCAzMDYyLCAzMDYzLCAzMDY0LCAzMDY1LCAzMDY2LCAzMDY2LCAzMDY3LCAzMDY4LCAzODgsCisgMzA3MCwgMzA3MSwgMzA3MiwgMzA3MywgMzA3NCwgMzA3NSwgMzkzLCAzMDc3LCAzMDc4LCAzMDc5LCAzMDgwLCAzMDgxLCAzMDgyLAorIDMwODMsIDMwNzYsIDMwODQsIDMwODUsIDMwODYsIDMwODcsIDQwMSwgNDAyLCA0MDMsIDQwNCwgNDA1LCA0MDYsIDQwNywgNDA4LAorIDQwOSwgNDEwLCAzMDg5LCAzMDkwLCAzMDkxLCAzMDkyLCAzMDkzLCAzMDk0LCAzMDk1LCAzMDk2LCAzMDk3LCAzMDk4LCAzMDk5LAorIDMwODgsIDMxMDAsIDMxMDEsIDMxMDIsIDMxMDMsIDMxMDQsIDMxMDUsIDMxMDYsIDMxMDcsIDMxMDgsIDMxMDksIDMxMDksIDMxMTAsCisgMzExMSwgMzExMiwgMzExMywgMzExMywgMzExNCwgMzExNSwgMzExNiwgMzExNywgMzExNywgMzExOCwgMzExOSwgNDM3LCA0MzcsCisgMzEyMSwgMzEyMiwgMzEyMywgMzEyNCwgMzEyNCwgMzEyNSwgMzEyNiwgMzEyNywgMzEyOCwgMzEyOCwgMzEyOSwgMzEzMCwgMzEzMSwKKyAzMTMyLCAzMTMyLCAzMTMzLCAzMTM0LCAzMTM1LCAzMTM2LCAzMTM2LCAzMTM3LCAzMTM4LCA0NDgsIDQ0OCwgMzE0MCwgMzE0MSwKKyAyNTEsIDI1MSwgMzE0MywgMzE0NCwgMjQ2LCAyNDYsIDMxNDYsIDMxNDcsIDMxNDgsIDMxNDUsIDMxNDIsIDMxNDksIDMxNTAsCisgMzE1MSwgMzE0OSwgMzE1MCwgMzE1MSwgMzE1MiwgMzE1MywgNDU3LCAzMTU1LCAzMTU2LCAzMTU3LCAzMTU4LCAzMTAwLCAzMTAxLAorIDMxNTksIDMxNjAsIDQ2MiwgMzE2MiwgMzE2MywgMzE2NCwgMzE2NSwgMzE2NiwgMzE2NywgMzE2OCwgMzE2OSwgMzE3MCwgMzE3MSwKKyA0NjksIDQ3MCwgMzE3MywgMzE3NCwgNDc0LCA0NzUsIDQ3NiwgMzE3NiwgMzE3NywgNDgxLCA0ODIsIDMxNzksIDMxODAsIDMxODEsCisgMzE3OCwgMzE3NSwgMzE4MiwgMzE4MywgMzE4NCwgMzE4NSwgMzE4NiwgMzE0LCAzMTg4LCAzMTg5LCAzMTkwLCAzMTkxLCAzMTkyLAorIDMxOTMsIDQ5MywgNDk0LCA0OTUsIDMxOTUsIDMxOTYsIDMxOTcsIDI4MjYsIDMxOTgsIDMxOTksIDMyMDAsIDUwMiwgMzIwMiwKKyAzMjAzLCAzMjA0LCAzMjA1LCAzMjA2LCAzMjA3LCA1MDcsIDMyMDksIDMyMTAsIDMyMTEsIDMyMTIsIDMyMTMsIDMyMTQsIDUxMiwKKyAzMjE2LCAzMjE3LCAyNDUsIDI0NiwgMjQ3LCAyNDgsIDI0OSwgMjUwLCAyNTEsIDQ0OCwgNTE1LCAzMjE5LCAzMjIwLCA1MTgsCisgNTE5LCAzMjIyLCAzMjIzLCA1MjMsIDMyMjUsIDMyMjYsIDUyNiwgMzIyOCwgMzIyOSwgMzIzMCwgMzIyNywgMzIyNCwgMzIyMSwKKyAzMjE4LCAzMjMxLCAzMjMyLCAzMjMzLCAzMjM0LCAyODM3LCAzMjM1LCAzMjM2LCAzMjM3LCAyNjMsIDUzNSwgNTM2LCAzMjM5LAorIDMyNDAsIDU0MCwgMzI0MiwgMzI0MywgNTQzLCAzMjQ1LCAzMjQ2LCAzMjQ3LCAzMjQ0LCAzMjQxLCAzMjQ4LCAzMjQ5LCAzMjUwLAorIDMyNTEsIDMyNTIsIDMyNTMsIDMyMzgsIDMyMTUsIDMyMDgsIDMyMDEsIDMxOTQsIDMxODcsIDMxNzIsIDMxNjEsIDMxNTQsIDMyNTUsCisgMzI1NiwgMzI1NywgMzI1OCwgMzI1OSwgMzI2MiwgMzI1NCwgMzI2MCwgMzI2MSwgMzI2MywgMzI2NCwgMzI2NSwgMjg3OSwgMjg3OSwKKyAzMjY3LCAzMjY4LCAzMjY5LCAzMjcwLCAzMjcwLCAzMjcxLCAzMjcyLCAzMjczLCAzMjc0LCAzMjc0LCAzMjc1LCAzMjc2LCAzMjc3LAorIDMyNzgsIDMyNzgsIDMyNzksIDMyODAsIDMyODEsIDMyODIsIDMyODIsIDMyODMsIDMyODQsIDMyODUsIDMyODYsIDMyODYsIDMyODcsCisgMzI4OCwgMzI4OSwgMzI5MCwgMzI5MCwgMzI5MSwgMzI5MiwgMzI5MywgMzI5NCwgMzI5NCwgMzI5NSwgMzI5NiwgMzI5NywgMzI5OCwKKyAzMjk4LCAzMjk5LCAzMzAwLCAzMzAxLCAzMzAyLCAzMzAyLCAzMzAzLCAzMzA0LCAzMzA1LCAzMzA2LCAzMzA2LCAzMzA3LCAzMzA4LAorIDMwMjQsIDMwMjQsIDMzMTAsIDMzMTEsIDMzMTIsIDMzMDksIDMzMTMsIDMzMTMsIDMzMTQsIDMzMTQsIDMzMTUsIDMzMTYsIDMwNTQsCisgMzMxOCwgMzMxOSwgMzMyMCwgMzMyMSwgMzMyMSwgMzMyMiwgMzMyMywgMzMyNCwgMzMyNSwgMzMyNSwgMzMyNiwgMzMyNywgNTkxLAorIDU5MSwgMzMyOSwgMzMzMCwgNTk0LCA1OTQsIDMzMzIsIDMzMzMsIDMzMzQsIDMzMzUsIDMzMzUsIDMzMzYsIDMzMzcsIDMzMzgsCisgMzMzOSwgMzMzOSwgMzM0MCwgMzM0MSwgMzM0MiwgMzM0MywgMzM0MywgMzM0NCwgMzM0NSwgMzM0NiwgMzM0NywgMzM0NywgMzM0OCwKKyAzMzQ5LCAzMzUwLCAzMzUxLCAzMzUxLCAzMzUyLCAzMzUzLCAzMzU0LCAzMzU1LCAzMzU1LCAzMzU2LCAzMzU3LCAzMzU4LCAzMzU5LAorIDMzNTksIDMzNjAsIDMzNjEsIDMzNjIsIDMzNjMsIDMzNjMsIDMzNjQsIDMzNjUsIDMzNjYsIDMzNjcsIDMzNjcsIDMzNjgsIDMzNjksCisgMzM3MCwgMzM3MSwgMzM3MSwgMzM3MiwgMzM3MywgMzM3NCwgMzM3NSwgMzM3NSwgMzM3NiwgMzM3NywgMzM3OCwgMzM3OSwgMzM3OSwKKyAzMzgwLCAzMzgxLCA2MjEsIDYyMSwgMzM4MywgMzM4NCwgMzM4NSwgMzM4MiwgMzMzMSwgMzM4NiwgMzM4NiwgMzM4OCwgMzM4OCwKKyAzMzg3LCAzMzg3LCAzMzg5LCAzMzkwLCAzMzkxLCAzMzkyLCAzMzkyLCAzMzkzLCAzMzk0LCAzMzk1LCAzMzk2LCAzMzk2LCAzMzk3LAorIDMzOTgsIDYzMiwgMzQwMCwgMzQwMSwgMzQwMiwgMzQwMywgMzQwNCwgMzQwNSwgMzQwNiwgMzQwNywgMzQwOCwgMzQwOSwgMzQxMCwKKyA1NDMsIDU0MywgMzQxMSwgMzQxMiwgMzQxMywgMzQxNCwgMzQxNSwgMzQxNSwgMzQxNiwgMzQxNywgNjQzLCA2NDMsIDM0MTksCisgMzQyMCwgMzQyMSwgMzQyMiwgMzQyMiwgMzQyMywgMzQyNCwgMzQyNSwgMzQyNiwgMzQyNiwgMzQyNywgMzQyOCwgMzQyOSwgMzQzMCwKKyAzNDMwLCAzNDMxLCAzNDMyLCAzNDMzLCAzNDM0LCAzNDM0LCAzNDM1LCAzNDM2LCAzNDM3LCAzNDM4LCAzNDM4LCAzNDM5LCAzNDQwLAorIDM0NDEsIDM0NDIsIDM0NDIsIDM0NDMsIDM0NDQsIDM0NDUsIDM0NDYsIDM0NDYsIDM0NDcsIDM0NDgsIDM0NDksIDM0NTAsIDM0NTAsCisgMzQ1MSwgMzQ1MiwgMzQ1MywgMzQ1NCwgMzQ1NCwgMzQ1NSwgMzQ1NiwgMzQ1NywgMzQ1OCwgMzQ1OCwgMzQ1OSwgMzQ2MCwgMzQ2MSwKKyAzNDYyLCAzNDYyLCAzNDYzLCAzNDY0LCAzNDY1LCAzNDY2LCAzNDY2LCAzNDY3LCAzNDY4LCAzNDY5LCAzNDcwLCAzNDcwLCAzNDcxLAorIDM0NzIsIDM0NzMsIDM0NzQsIDM0NzQsIDM0NzUsIDM0NzYsIDY3NCwgMzQ3OCwgMzQ3OSwgMzQ4MCwgMzQ4MSwgMzQ4MSwgMzQ4MiwKKyAzNDgzLCAzNDg0LCAzNDg1LCAzNDg1LCAzNDg2LCAzNDg3LCAzNDg4LCAzNDg5LCAzNDg5LCAzNDkwLCAzNDkxLCAzNDkyLCAzNDkzLAorIDM0OTMsIDM0OTQsIDM0OTUsIDM0OTYsIDM0OTcsIDM0OTcsIDM0OTgsIDM0OTksIDM1MDAsIDM0NzcsIDM1MDEsIDM1MDEsIDM1MDIsCisgMzUwMiwgMzUwMywgMzUwNCwgMjg0NywgMzUwNiwgMzUwNywgMzUwOCwgMzUwOSwgMzUxMCwgMzUxMCwgMzUxMSwgMzUxMiwgNjk0LAorIDM1MTQsIDM1MTUsIDM1MTYsIDM1MTcsIDMxNjUsIDM1MTgsIDM1MTksIDM1MjAsIDM1MjEsIDM1MjIsIDM1MjMsIDQ2OSwgNDcwLAorIDcwMSwgMzUyNSwgMzUyNiwgMzUyNywgMzE4MiwgMzE4MywgMzUyOCwgMzUyOSwgMzUzMCwgMzE5OCwgMzUzMiwgMzUzMywgMjM1LAorIDIzNywgMjM4LCAzNTM1LCAzNTM2LCAyNDUsIDI0NiwgMjQ4LCAyNDksIDI1MCwgMjUxLCA0NDgsIDUxNSwgMzUzOCwgMzUzOSwKKyAzNTQwLCAzNTM3LCAzMjMxLCAzMjMyLCAzMjMzLCAzNTQxLCAzNTQyLCAzNTQzLCAzNTQ0LCA1MzUsIDUzNiwgMzU0NiwgMzU0NywKKyAzNTQ4LCAzMjQ5LCAzNTQ5LCAzNTUwLCAzNTUxLCA3MTUsIDcxNSwgMzU1MywgMzU1NCwgMzU1NSwgMzU1NiwgMzU1NiwgMzU1NywKKyAzNTU4LCAzNTU5LCAzNTYwLCAzNTYwLCAzNTYxLCAzNTYyLCAzNTYzLCAzNTUyLCAzNTQ1LCAzNTM0LCAzNTMxLCAzNTI0LCAzMjU3LAorIDMyNjIsIDM1NjQsIDM1NjQsIDM1NjgsIDM1NjksIDM1NjUsIDM1NjYsIDM1NjcsIDM1NzAsIDM1NzEsIDM1NzIsIDM1MTMsIDM1NzMsCisgMzU3NCwgMzU3MywgMzU3NCwgMzU3NSwgMzU3NiwgNDM3LCAzNTc4LCAzNTc5LCAzNTgwLCAzNTgxLCAzNTgyLCAzNTgzLCAzNTg0LAorIDM1ODUsIDM1ODYsIDM1ODcsIDM1ODgsIDM1ODksIDM1OTAsIDM1OTEsIDM1OTIsIDM1OTMsIDM1OTQsIDM1OTUsIDM1OTYsIDM1OTcsCisgMzU5OCwgMzU5OSwgMzYwMCwgMzYwMSwgMzYwMSwgMzYwMiwgMzYwMywgMzYwNCwgMzYwNSwgMzYwNSwgMzYwNiwgMzYwNywgMzYwOCwKKyAzNjA5LCAzNjEwLCAzNjExLCA3NDksIDc1MCwgMzYxMywgMzYxNCwgMzYxNSwgMzYxNiwgMzYxNywgMzYxOCwgMzYxOSwgMzYyMCwKKyAzNjIxLCAzNjIyLCAzNjIzLCAzNjI0LCAzNjI1LCAzNjI2LCAzNjI3LCAzNjI4LCAzNjI5LCAzNjMwLCAzMDI5LCAzMDI5LCAzNjMyLAorIDM2MzMsIDc2NywgNzY3LCAzNjM1LCAzNjM2LCAzNjM3LCAzNjM4LCAzNjM4LCAzNjM5LCAzNjQwLCAzNjQxLCAzNjQyLCAzNjQyLAorIDM2NDMsIDM2NDQsIDM2NDUsIDM2NDYsIDM2NDYsIDM2NDcsIDM2NDgsIDM2NDksIDM2NTAsIDM2NTAsIDM2NTEsIDM2NTIsIDM2NTMsCisgMzY1NCwgMzY1NCwgMzY1NSwgMzY1NiwgMzY1NywgMzY1OCwgMzY1OCwgMzY1OSwgMzY2MCwgNzgyLCA3ODIsIDM2NjIsIDM2NjMsCisgMzY2NCwgMzY2NSwgMzY2NSwgMzY2NiwgMzY2NywgMzY2OCwgMzY2OSwgMzY2OSwgMzY3MCwgMzY3MSwgMzY3MiwgMzY3MywgMzY3MywKKyAzNjc0LCAzNjc1LCA3OTEsIDc5MSwgMzY3NywgMzY3OCwgMzY3OSwgMzY4MCwgMzY4MCwgMzY4MSwgMzY4MiwgMzY4MywgMzY4NCwKKyAzNjg0LCAzNjg1LCAzNjg2LCAzNjg3LCAzNjg4LCAzNjg4LCAzNjg5LCAzNjkwLCAzNjkxLCAzNjkyLCAzNjkyLCAzNjkzLCAzNjk0LAorIDM2OTUsIDM2NzYsIDM2NjEsIDM2MzQsIDUxMiwgNzYyLCA3NjMsIDc2NCwgNzY1LCAzNjk2LCAzNjk3LCAzNjk4LCAzNjk5LAorIDM2OTYsIDM2OTcsIDM2OTgsIDM2OTksIDM3MDAsIDM3MDEsIDM3MDIsIDM3MDMsIDM3MDMsIDM3MDQsIDM3MDUsIDM3MDYsIDM3MDcsCisgMzcwNywgMzcwOCwgMzcwOSwgMzcxMCwgMzcxMSwgMzcxMSwgMzcxMiwgMzcxMywgMzcxNCwgMzcxNSwgMzcxNSwgMzcxNiwgMzcxNywKKyAzNzE4LCAzNjMxLCAzNjEyLCAzNzE5LCAzNzE5LCAzNzIwLCAzNzIxLCAzNzIyLCAzNzIzLCAzNzI0LCAzNzI1LCAzNzI1LCAzNzI2LAorIDM3MjcsIDM3MjgsIDM1NzcsIDM3MjksIDM3MzAsIDM3MjksIDM3MzAsIDM3MzEsIDM3MzIsIDgyOCwgODI4LCAzNzM0LCAzNzM1LAorIDM3MzYsIDM3MzcsIDM3MzgsIDM3MzksIDM3NDAsIDM3NDEsIDM3NDEsIDM3NDIsIDM3NDMsIDgzNSwgMzc0NSwgMzc0NiwgMzc0NywKKyAzNzQ4LCAzNzQ5LCAzNzUwLCAzNzUxLCAzNzUyLCAzNzUzLCAzNzU0LCAzNzU1LCAzNzU2LCAzNzU3LCAzNzU4LCAzNzU5LCAzNzYwLAorIDM3NjEsIDM3NjIsIDM3NjMsIDM3NjQsIDM3NjUsIDM3NjYsIDM3NjcsIDM3NjgsIDM3NjksIDM3NzAsIDM3NzEsIDM3NzIsIDM3NzMsCisgMzc3NCwgMzc3NSwgMzc3NiwgMzc3NiwgMzc3NywgMzc3OCwgMzc3OSwgMzc0NCwgMzc4MCwgMzc4MSwgMzc4MCwgMzc4MSwgMzc4MiwKKyAzNzgzLCA1MDcsIDUwNywgMzc4NSwgMzc4NiwgMzc4NywgMzc4OCwgMzc4OCwgMzc4OSwgMzc5MCwgMzc5MSwgMzc5MiwgMzc5MiwKKyAzNzkzLCAzNzk0LCAzNzk1LCAzNzk2LCAzNzk2LCAzNzk3LCAzNzk4LCAzNzk5LCAzODAwLCAzODAwLCAzODAxLCAzODAyLCAzODAzLAorIDM4MDQsIDM4MDQsIDM4MDUsIDM4MDYsIDM4MDcsIDM4MDgsIDM4MDksIDM4MTAsIDM4MTEsIDM4MTIsIDM4MTMsIDM4MTQsIDIzNCwKKyAyMzQsIDM4MTYsIDM4MTcsIDM4MTgsIDM4MTksIDM4MTksIDM4MjAsIDM4MjEsIDM4MjIsIDM4MjMsIDM4MjMsIDM4MjQsIDM4MjUsCisgMzgyNiwgMzgyNywgMzgyNywgMzgyOCwgMzgyOSwgMzgzMCwgMzgzMSwgMzgzMSwgMzgzMiwgMzgzMywgMzgzNCwgMzgzNSwgMzgzNSwKKyAzODM2LCAzODM3LCAzODM4LCAzODM5LCAzODM5LCAzODQwLCAzODQxLCAzODQyLCAzODQzLCAzODQzLCAzODQ0LCAzODQ1LCAzODQ2LAorIDM4NDcsIDM4NDcsIDM4NDgsIDM4NDksIDM4NTAsIDM4NTEsIDM4NTEsIDM4NTIsIDM4NTMsIDM4NTQsIDM4NTUsIDM4NTUsIDM4NTYsCisgMzg1NywgMzg1OCwgMzg1OSwgMzg1OSwgMzg2MCwgMzg2MSwgMzg2MiwgMzg2MywgMzg2NCwgMzg2NSwgMjQ3LCAyNDcsIDM4NjcsCisgMzg2OCwgMzg2OSwgMzg3MCwgMzg3MCwgMzg3MSwgMzg3MiwgMzg3MywgMzg3NCwgMzg3NCwgMzg3NSwgMzg3NiwgMzg3NywgMzg3OCwKKyAzODc4LCAzODc5LCAzODgwLCAzODgxLCAzODgyLCAzODgyLCAzODgzLCAzODg0LCAzODg1LCAzODg2LCAzODg2LCAzODg3LCAzODg4LAorIDM4ODksIDM4OTAsIDM4OTAsIDM4OTEsIDM4OTIsIDM4OTMsIDM4OTQsIDM4OTQsIDM4OTUsIDM4OTYsIDM4OTcsIDM4OTgsIDM4OTgsCisgMzg5OSwgMzkwMCwgMzkwMSwgMzkwMiwgMzkwMiwgMzkwMywgMzkwNCwgMzkwNSwgMzkwNiwgMzkwNiwgMzkwNywgMzkwOCwgMzkwOSwKKyAzOTEwLCAzOTExLCAzOTEyLCAyODI5LCAzOTE0LCAzOTE1LCAzOTE2LCAzOTE3LCAzOTE4LCAzOTE4LCAzOTE5LCAzOTIwLCAzOTIxLAorIDM5MjIsIDM5MjIsIDM5MjMsIDM5MjQsIDM5MjUsIDM5MjYsIDM5MjYsIDM5MjcsIDM5MjgsIDM5MjksIDM5MzAsIDM5MzAsIDM5MzEsCisgMzkzMiwgMzkzMywgMzkzNCwgMzkzNCwgMzkzNSwgMzkzNiwgMzkzNywgMzkzOCwgMzkzOCwgMzkzOSwgMzk0MCwgMzk0MSwgMzk0MiwKKyAzOTQyLCAzOTQzLCAzOTQ0LCAzOTQ1LCAzOTEzLCAzODY2LCAzOTQ2LCAzOTQ2LCAzOTQ3LCAzOTQ4LCAzOTQ5LCAzOTUwLCAyMzYsCisgMzk1MiwgMzk1MywgMzk1NCwgMzk1NSwgMzk1NiwgMzk1NywgMzk1OCwgMzk1OSwgMzk2MCwgMzk2MSwgMzk2MiwgMzk1MSwgMzgxNSwKKyAzOTYzLCAzOTYzLCAzOTY0LCAzOTY1LCAzOTY2LCAzOTY3LCAzOTY4LCAzOTY5LCAzOTY5LCAzOTcwLCAzOTcxLCA5NTEsIDk1MSwKKyAzOTczLCAzOTc0LCAzOTc1LCAzOTc2LCAzOTc2LCAzOTc3LCAzOTc4LCAzOTc5LCAzOTgwLCAzOTgwLCAzOTgxLCAzOTgyLCAzOTgzLAorIDM5ODQsIDM5ODQsIDM5ODUsIDM5ODYsIDM5ODcsIDM5ODgsIDM5ODgsIDM5ODksIDM5OTAsIDM5OTEsIDM5OTIsIDM5OTIsIDM5OTMsCisgMzk5NCwgMzk5NSwgMzk5NiwgMzk5NiwgMzk5NywgMzk5OCwgNjIxLCA0MDAwLCA0MDAxLCA0MDAyLCA0MDAzLCA0MDA0LCA0MDA1LAorIDQwMDYsIDQwMDcsIDQwMDgsIDQwMDksIDQwMTAsIDQwMTEsIDQwMTEsIDQwMTIsIDQwMTMsIDQwMTQsIDQwMTUsIDQwMTUsIDQwMTYsCisgNDAxNywgOTc1LCA5NzUsIDQwMTksIDQwMjAsIDQwMjEsIDQwMjIsIDQwMjIsIDQwMjMsIDQwMjQsIDQwMjUsIDQwMjYsIDQwMjYsCisgNDAyNywgNDAyOCwgNDAyOSwgNDAzMCwgNDAzMCwgNDAzMSwgNDAzMiwgNDAzMywgNDAzNCwgNDAzNCwgNDAzNSwgNDAzNiwgOTg2LAorIDk4NiwgNDAzOCwgNDAzOSwgOTg5LCA5ODksIDQwNDEsIDQwNDIsIDQwNDMsIDQwNDAsIDQwNDQsIDQwNDQsIDQwNDUsIDQwNDUsCisgNDA0NiwgNDA0NywgNDA0OCwgNDA0OSwgNDA1MCwgNDA1MSwgOTk3LCA5OTcsIDQwNTMsIDQwNTQsIDEwMDAsIDEwMDAsIDQwNTYsCisgNDA1NywgNDA1OCwgNDA1NSwgNDA1OSwgNDA1OSwgNDA2MCwgNDA2MCwgNDA2MSwgNDA2MiwgNDA2MywgNDA2NCwgNDA2NSwgNDA2NiwKKyA0MDY3LCA0MDUyLCAxMDA4LCA0MDY4LCA0MDY5LCA0MDcwLCA0MDcxLCA0MDcyLCA0MDczLCA0MDczLCA0MDc0LCA0MDc1LCA0MDc2LAorIDQwMzcsIDQwNzcsIDQwNzgsIDQwNzcsIDQwNzgsIDQwNzksIDQwODAsIDEwMTgsIDEwMTksIDEwMjAsIDEwMjEsIDEwMjIsIDEwMjMsCisgMTAyNCwgMTAyNSwgMTAyNiwgNDA4MiwgNDA4MywgNDA4NCwgNDA4NSwgNDA4NiwgNDA4NywgNDA4OCwgNDA4OSwgNDA5MCwgNDA5MSwKKyAxMDQxLCAxMDQyLCA0MDkzLCA0MDk0LCA0MDk1LCA0MDk2LCA0MDk2LCA0MDk3LCA0MDk4LCA0MDk5LCA0MTAwLCA0MTAwLCA0MTAxLAorIDQxMDIsIDQxMDMsIDQxMDQsIDQxMDQsIDQxMDUsIDQxMDYsIDQxMDcsIDQxMDgsIDQxMDgsIDQxMDksIDQxMTAsIDQxMTEsIDQxMTIsCisgNDExMiwgNDExMywgNDExNCwgNDExNSwgNDExNiwgNDExNywgNDExOCwgNDExOSwgNDA5MiwgNDEyMSwgNDEyMCwgNDEyMiwgNDEyMywKKyA0MTI0LCA0MTI1LCA0MTI1LCA0MTI2LCA0MTI3LCA0MTI4LCA0MTI5LCA0MTI5LCA0MTMwLCA0MTMxLCA0MTMyLCA0MTMzLCA0MTMzLAorIDQxMzQsIDQxMzUsIDQxMzYsIDQxMzcsIDQxMzcsIDQxMzgsIDQxMzksIDQxNDAsIDQxNDEsIDQxNDEsIDQxNDIsIDQxNDMsIDQxNDQsCisgNDE0NSwgNDE0NSwgNDE0NiwgNDE0NywgNDE0OCwgNDA4MSwgNDAxOCwgMzk5OSwgMzk3MiwgMzc4NCwgMzczMywgMzUwNSwgMzQxOCwKKyAzMzk5LCAzMzI4LCAzMzE3LCA0MTQ5LCA0MTUwLCA0MTUxLCA0MTUyLCA0MTUzLCA0MTU0LCA0MTU1LCA0MTU2LCA0MTU3LCA0MTU4LAorIDQxNTksIDQxNjAsIDQxNDksIDQxNTAsIDQxNTEsIDQxNTIsIDQxNTMsIDQxNTQsIDQxNTUsIDQxNTYsIDQxNTcsIDQxNTgsIDQxNTksCisgNDE2MCwgNDE2MSwgNDE2MiwgMTA4NiwgMTA4NiwgNDE2NCwgNDE2NSwgNDE2NiwgNDE2NywgNDE2NywgNDE2OCwgNDE2OSwgNDE3MCwKKyA0MTcxLCA0MTcxLCA0MTcyLCA0MTczLCA0MTc0LCA0MTc1LCA0MTc1LCA0MTc2LCA0MTc3LCA0MTc4LCA0MTc5LCA0MTc5LCA0MTgwLAorIDQxODEsIDQxODIsIDQxODMsIDQxODMsIDQxODQsIDQxODUsIDQxODYsIDQxNjMsIDMyNjYsIDMxMzksIDMxMjAsIDQxODcsIDQxODgsCisgNDE4OSwgNDE5MCwgNDE5MSwgNDE4NywgNDE4OCwgNDE4OSwgNDE5MCwgNDE5MSwgNDE5MiwgNDE5MywgNDkzLCA1NDAsIDQxOTUsCisgNDE5NiwgNDE5NywgNDE5OCwgNDE5OCwgNDE5OSwgNDIwMCwgNTAyLCA1MDIsIDQyMDIsIDQyMDMsIDQ1NywgNDU3LCA1MDIsCisgNTAyLCA0MjA1LCA0MjA2LCA3MDEsIDcwMSwgNDIwOCwgNDIwOSwgNDc1LCA0NzUsIDQyMTEsIDQyMTIsIDQ3MCwgNDcwLCA0ODIsCisgNDgyLCA0MjE0LCA0MjE1LCA0NzYsIDQ3NiwgNDk0LCA0OTQsIDQyMTcsIDQyMTgsIDQ5NSwgNDk1LCA0MjIwLCA0MjIxLCA0NzQsCisgNDc0LCA1MTksIDUxOSwgNDIyMywgNDIyNCwgNDU3LCA0NTcsIDcwMSwgNzAxLCA0MjI2LCA0MjI3LCA1MTgsIDUxOCwgNDIyOSwKKyA0MjMwLCA0MjMxLCA0MjMyLCA0MjMyLCA0MjMzLCA0MjM0LCA0MjM1LCA0MjM2LCA0MjM2LCA0MjM3LCA0MjM4LCA0MjM5LCA0MjQwLAorIDQyNDAsIDQyNDEsIDQyNDIsIDQ3MCwgNDcwLCA0MjQ0LCA0MjQ1LCA1MzYsIDUzNiwgNDI0NywgNDI0OCwgNDU3LCA0NTcsIDQyNTAsCisgNDI1MSwgNDU3LCA0NTcsIDQyNTMsIDQyNTQsIDUxOCwgNTE4LCA0MjU2LCA0MjU3LCA0MjU4LCA0MjU1LCA0MjUyLCA0MjQ5LAorIDQyNDYsIDQyNDMsIDQyMjgsIDQyMjUsIDQyMjIsIDQyMTksIDQyMTYsIDQyMTMsIDQyMTAsIDQyMDcsIDQyMDQsIDQyMDEsIDQyNTksCisgNDI2MCwgNDI2MSwgNDI2MiwgNDI2MywgNDI2NCwgNDI2NSwgNDI2NiwgNDI2NywgNDI2OCwgNDI2OSwgNDI3MCwgNDI3MSwgNDI3MiwKKyA0MjczLCA0Mjc0LCA0MjU5LCA0MjYwLCA0MjYxLCA0MjYyLCA0MjYzLCA0MjY0LCA0MjY1LCA0MjY2LCA0MjY3LCA0MjY4LCA0MjY5LAorIDQyNzAsIDQyNzEsIDQyNzIsIDQyNzMsIDQyNzQsIDQyNzUsIDQyNzYsIDQyNzcsIDQyNzgsIDQyNzksIDQyODAsIDUyMywgNTIzLAorIDQyODIsIDQyODMsIDQyODQsIDQyODUsIDQyODUsIDQyODYsIDQyODcsIDQyODgsIDQyODksIDQyODksIDQyOTAsIDQyOTEsIDQyOTIsCisgNDI5MywgNDI5MywgNDI5NCwgNDI5NSwgNDI5NiwgNDI5NywgNDI5NywgNDI5OCwgNDI5OSwgNDMwMCwgNDMwMSwgNDMwMSwgNDMwMiwKKyA0MzAzLCA0MzA0LCA0MjgxLCA0MzA1LCA0MzA2LCA0MzA1LCA0MzA2LCA0MzA3LCA0MzA4LCA0MDIsIDQwMiwgNDMxMCwgNDMxMSwKKyA0MzEyLCA0MzEzLCA0MzEzLCA0MzE0LCA0MzE1LCA0MzE2LCA0MzE3LCA0MzE3LCA0MzE4LCA0MzE5LCA0MzIwLCA0MzIxLCA0MzIxLAorIDQzMjIsIDQzMjMsIDQzMjQsIDQzMjUsIDQzMjYsIDQzMjcsIDQzMjgsIDQzMjksIDQzMzAsIDQzMzEsIDQzMzIsIDQzMzMsIDQzMzQsCisgNDMzNSwgNDMzNiwgNDMzNywgNDMzOCwgNDMzOSwgNDM0MCwgNDM0MSwgNDM0MiwgNDM0MywgNDAzLCA0MDMsIDQzNDUsIDQzNDYsCisgNDM0NywgNDM0OCwgNDM0OCwgNDM0OSwgNDM1MCwgNDM1MSwgNDM1MiwgNDM1MiwgNDM1MywgNDM1NCwgNDM1NSwgNDM1NiwgNDM1NiwKKyA0MzU3LCA0MzU4LCA0MzU5LCA0MzYwLCA0MzYxLCA0MzYyLCA0MzYzLCA0MzY0LCA0MzY1LCA0MzY2LCA0MzY3LCA0MzY4LCA0MzY5LAorIDQzNzAsIDQzNzEsIDQzNzIsIDQzNzMsIDQzNzQsIDQzNzUsIDQzNzYsIDQzNzcsIDQzNzgsIDQzNzksIDQzNDQsIDQzODAsIDQzODAsCisgNDM4MSwgNDM4MSwgNDM4MiwgNDM4MywgNDA2LCA0MDYsIDQzODUsIDQzODYsIDQzODcsIDQzODgsIDQzODgsIDQzODksIDQzOTAsCisgNDM5MSwgNDM5MiwgNDM5MiwgNDM5MywgNDM5NCwgNDM5NSwgNDM5NiwgNDM5NiwgNDM5NywgNDM5OCwgNDM5OSwgNDQwMCwgNDQwMSwKKyA0NDAyLCA0NDAzLCA0NDA0LCA0NDA1LCA0NDA2LCA0NDA3LCA0NDA4LCA0NDA5LCA0NDEwLCA0NDExLCA0NDEyLCA0NDEzLCA0NDE0LAorIDQ0MTUsIDQ0MTYsIDQ0MTcsIDQ0MTgsIDQ0MTksIDQ0MjAsIDQ0MjAsIDQ0MjEsIDQ0MjIsIDQwNCwgNDA0LCA0NDI0LCA0NDI1LAorIDQ0MjYsIDQ0MjcsIDQ0MjcsIDQ0MjgsIDQ0MjksIDQ0MzAsIDQ0MzEsIDQ0MzEsIDQ0MzIsIDQ0MzMsIDQ0MzQsIDQ0MzUsIDQ0MzUsCisgNDQzNiwgNDQzNywgNDQzOCwgNDQzOSwgNDQ0MCwgNDQ0MSwgNDQ0MiwgNDQ0MywgNDQ0NCwgNDQ0NSwgNDQ0NiwgNDQ0NywgNDQ0OCwKKyA0NDQ5LCA0NDUwLCA0NDUxLCA0NDUyLCA0NDUzLCA0NDU0LCA0NDU1LCA0NDU2LCA0NDU3LCA0MDgsIDQwOCwgNDQ1OSwgNDQ2MCwKKyA0NDYxLCA0NDYyLCA0NDYyLCA0NDYzLCA0NDY0LCA0NDY1LCA0NDY2LCA0NDY2LCA0NDY3LCA0NDY4LCA0NDY5LCA0NDcwLCA0NDcwLAorIDQ0NzEsIDQ0NzIsIDQ0NzMsIDQ0NzQsIDQ0NzUsIDQ0NzYsIDQ0NzcsIDQ0NzgsIDQ0NzksIDQ0ODAsIDQ0ODEsIDQ0ODIsIDQ0ODMsCisgNDQ4NCwgNDQ4NSwgNDQ4NiwgNDQ4NywgNDQ4OCwgNDQ4OSwgNDQ5MCwgNDQ5MSwgNDQ5MiwgNDQ5MywgNDQ1OCwgNDQ5NSwgNDQ5NSwKKyA0NDk0LCA0NDk0LCA0NDk2LCA0NDk3LCA0MDcsIDQwNywgNDQ5OSwgNDUwMCwgNDUwMSwgNDUwMiwgNDUwMiwgNDUwMywgNDUwNCwKKyA0NTA1LCA0NTA2LCA0NTA2LCA0NTA3LCA0NTA4LCA0NTA5LCA0NTEwLCA0NTEwLCA0NTExLCA0NTEyLCA0NTEzLCA0NTE0LCA0NTE1LAorIDQ1MTYsIDQ1MTcsIDQ1MTgsIDQ1MTksIDQ1MjAsIDQ1MjEsIDQ1MjIsIDQ1MjMsIDQ1MjQsIDQ1MjUsIDQ1MjYsIDQ1MjcsIDQ1MjgsCisgNDUyOSwgNDUzMCwgNDUzMSwgNDUzMiwgNDUzMywgNDUzNCwgNDUzNCwgNDUzNSwgNDUzNiwgNDA5LCA0MDksIDQ1MzgsIDQ1MzksCisgNDU0MCwgNDU0MSwgNDU0MSwgNDU0MiwgNDU0MywgNDU0NCwgNDU0NSwgNDU0NSwgNDU0NiwgNDU0NywgNDU0OCwgNDU0OSwgNDU0OSwKKyA0NTUwLCA0NTUxLCA0NTUyLCA0NTUzLCA0NTU0LCA0NTU1LCA0NTU2LCA0NTU3LCA0NTU4LCA0NTU5LCA0NTYwLCA0NTYxLCA0NTYyLAorIDQ1NjMsIDQ1NjQsIDQ1NjUsIDQ1NjYsIDQ1NjcsIDQ1NjgsIDQ1NjksIDQ1NzAsIDQ1NzEsIDQ1NzIsIDQ1NzMsIDQ1NzMsIDQ1NzQsCisgNDU3NSwgNDU3NiwgNDU3NywgNDU3NywgNDU3OCwgNDU3OSwgNDU4MCwgNDU4MSwgNDU4MSwgNDU4MiwgNDU4MywgNDU4NCwgNDU4NSwKKyA0NTg1LCA0NTg2LCA0NTg3LCA0NTg4LCA0NTg5LCA0NTg5LCA0NTkwLCA0NTkxLCA0NTkyLCA0NTkzLCA0NTkzLCA0NTk0LCA0NTk1LAorIDQ1OTYsIDQ1OTcsIDQ1OTcsIDQ1OTgsIDQ1OTksIDQ2MDAsIDQ2MDEsIDQ2MDEsIDQ2MDIsIDQ2MDMsIDQ2MDQsIDQ2MDUsIDQ2MDUsCisgNDYwNiwgNDYwNywgNDYwOCwgNDYwOSwgNDYwOSwgNDYxMCwgNDYxMSwgNDYxMiwgNDYxMywgNDYxMywgNDYxNCwgNDYxNSwgNDEwLAorIDQxMCwgNDYxNywgNDYxOCwgNDYxOSwgNDYyMCwgNDYyMCwgNDYyMSwgNDYyMiwgNDYyMywgNDYyNCwgNDYyNCwgNDYyNSwgNDYyNiwKKyA0NjI3LCA0NjI4LCA0NjI4LCA0NjI5LCA0NjMwLCA0NjMxLCA0NjMyLCA0NjMzLCA0NjM0LCA0NjM1LCA0NjM2LCA0NjM3LCA0NjM4LAorIDQ2MzksIDQ2NDAsIDQ2NDEsIDQ2NDIsIDQ2NDMsIDQ2NDQsIDQ2NDUsIDQ2NDYsIDQ2NDcsIDQ2NDgsIDQ2NDksIDQ2NTAsIDQwNSwKKyA0MDUsIDQ2NTIsIDQ2NTMsIDQ2NTQsIDQ2NTUsIDQ2NTUsIDQ2NTYsIDQ2NTcsIDQ2NTgsIDQ2NTksIDQ2NTksIDQ2NjAsIDQ2NjEsCisgNDY2MiwgNDY2MywgNDY2MywgNDY2NCwgNDY2NSwgNDY2NiwgNDY2NywgNDY2OCwgNDY2OSwgNDY3MCwgNDY3MSwgNDY3MiwgNDY3MywKKyA0Njc0LCA0Njc1LCA0Njc2LCA0Njc3LCA0Njc4LCA0Njc5LCA0NjgwLCA0NjgxLCA0NjgyLCA0NjgzLCA0Njg0LCA0Njg1LCA0Njg2LAorIDQ2NTEsIDQ2MTYsIDQ2ODcsIDQ2ODgsIDQ2ODksIDQ2ODcsIDQ2ODgsIDQ2ODksIDQ2OTAsIDQ2OTEsIDQ4MSwgNDgxLCA0NjkzLAorIDQ2OTQsIDQ2OTUsIDQ2OTYsIDQ2OTYsIDQ2OTcsIDQ2OTgsIDQ2OTksIDQ3MDAsIDQ3MDAsIDQ3MDEsIDQ3MDIsIDQ3MDMsIDQ3MDQsCisgNDcwNCwgNDcwNSwgNDcwNiwgNDcwNywgNDcwOCwgNDcwOSwgNDcxMCwgNDcxMSwgNDcxMiwgNDcxMiwgNDcxMywgNDcxNCwgMzkzLAorIDM5MywgNDcxNiwgNDcxNywgNDcxOCwgNDcxOSwgNDcxOSwgNDcyMCwgNDcyMSwgNDcyMiwgNDcyMywgNDcyMywgNDcyNCwgNDcyNSwKKyA0NzI2LCA0NzI3LCA0NzI3LCA0NzI4LCA0NzI5LCA0NzMwLCA0NzMxLCA0NzMyLCA0NzMzLCA0NzM0LCA0NzM1LCA0NzM2LCA0NzM3LAorIDQ3MzgsIDQ3MzksIDQ3NDAsIDQ3NDEsIDQ3NDIsIDQ3NDMsIDQ3NDMsIDQ3NDQsIDQ3NDUsIDQ3NDYsIDQ3NDcsIDQ3NDcsIDQ3NDgsCisgNDc0OSwgNDc1MCwgNDc1MSwgNDc1MSwgNDc1MiwgNDc1MywgNDc1NCwgNDc1NSwgNDc1NSwgNDc1NiwgNDc1NywgNDM4MCwgNDM4MCwKKyA0NzU5LCA0NzYwLCA0NDk1LCA0NDk1LCA0NzYyLCA0NzYzLCA0MDEsIDQwMSwgNDc2NSwgNDc2NiwgNDc2NywgNDc2OCwgNDc2OCwKKyA0NzY5LCA0NzcwLCA0NzcxLCA0NzcyLCA0NzcyLCA0NzczLCA0Nzc0LCA0Nzc1LCA0Nzc2LCA0Nzc2LCA0Nzc3LCA0Nzc4LCA0Nzc5LAorIDQ3ODAsIDQ3ODEsIDQ3ODIsIDQ3ODMsIDQ3ODQsIDQ3ODUsIDQ3ODYsIDQ3ODcsIDQ3ODgsIDQ3ODksIDQ3OTAsIDQ3OTEsIDQ3OTIsCisgNDc5MywgNDc5NCwgNDc5NSwgNDc5NiwgNDc5NiwgNDc5NywgNDc5OCwgNDc5OSwgNDc2NCwgNDc2MSwgNDc1OCwgNDcxNSwgNDY5MiwKKyA0NTM3LCA0NDk4LCA0NDIzLCA0Mzg0LCA0MzA5LCA0ODAwLCA0ODAxLCA0ODAyLCA0ODAzLCA0ODA0LCA0ODA1LCA0ODA2LCA0ODA3LAorIDQ4MDgsIDQ4MDksIDQ4MTAsIDQ4MDAsIDQ4MDEsIDQ4MDIsIDQ4MDMsIDQ4MDQsIDQ4MDUsIDQ4MDYsIDQ4MDcsIDQ4MDgsIDQ4MDksCisgNDgxMCwgNDgxMSwgNDgxMiwgNDgxMywgNDgxNCwgNDgxNSwgNDgxNiwgOTIsIDQ4MTcsIDQ4MTgsIDQ4MTgsIDQ4MTksIDQ4MjAsCisgNDgyMSwgNDgyMiwgNDgyMiwgNDgyMywgNDgyNCwgNDgyNSwgNDgyNiwgNDgyNiwgNDgyNywgNDgyOCwgNDgyOSwgNDgzMCwgNDgzMCwKKyA0ODMxLCA0ODMyLCAzNDAsIDc4MiwgNDgzNCwgNDgzNSwgNDgzNiwgNDgzNywgNDgzOCwgNDgzOSwgNDg0MCwgNDg0MSwgNDg0MiwKKyA0ODQzLCA0ODQ0LCA0ODQ1LCA0ODQ2LCA0ODQ3LCA0ODQ4LCA0ODQ5LCA0ODQ5LCA0ODUwLCA0ODUxLCA0ODUyLCA0ODUzLCA0ODUzLAorIDQ4NTQsIDQ4NTUsIDc4MiwgNDg1NywgNDg1OCwgNDg1OSwgNDg2MCwgNDg2MSwgNDg2MiwgNDg2MywgNDg2NCwgNDg2NSwgNDg2NiwKKyA0ODY3LCA0ODY4LCA0ODY5LCA0ODcwLCA0ODcxLCA0ODcyLCA0ODcyLCA0ODczLCA0ODc0LCA0ODc1LCA0ODc2LCA0ODc2LCA0ODc3LAorIDQ4NzgsIDYzMiwgNjMyLCA0ODgwLCA0ODgxLCA1OTQsIDU5NCwgNDg4MywgNDg4NCwgNjIxLCA0ODg2LCA0ODg3LCA0ODg4LAorIDQ4ODksIDQ4ODksIDQ4OTAsIDQ4OTEsIDQ4OTIsIDQ4ODUsIDQ4ODIsIDQ4OTMsIDMzODgsIDQ4OTQsIDQ4OTUsIDQ4OTMsIDMzODgsCisgNDg5NCwgNDg5NSwgNDg5NiwgNDg5NywgNDg5OCwgMzM4NiwgMzM4NiwgNDg5OSwgNDkwMCwgNDkwMSwgNDkwMiwgNDkwMywgNDkwMywKKyA0OTA0LCA0OTA1LCAzMzYzLCA0OTA3LCA0OTA4LCA0OTA5LCA0OTEwLCA0OTEwLCA0OTExLCA0OTEyLCA0OTEzLCA0OTE0LCA0OTE0LAorIDQ5MTUsIDQ5MTYsIDQ5MTcsIDQ5MTgsIDQ5MTgsIDQ5MTksIDQ5MjAsIDQ5MjEsIDQ5MjIsIDQ5MjMsIDQ5MjQsIDQ5MjUsIDQ5MjYsCisgNDkyNiwgNDkyNywgNDkyOCwgNDkyOSwgNDkzMCwgNDkzMCwgNDkzMSwgNDkzMiwgNDkzMywgNDkzNCwgNDkzNCwgNDkzNSwgNDkzNiwKKyA0OTM3LCA0OTM4LCA0OTM4LCA0OTM5LCA0OTQwLCA0OTQxLCA0OTQyLCA0OTQyLCA0OTQzLCA0OTQ0LCA0OTQ1LCA0OTQ2LCA0OTQ2LAorIDQ5NDcsIDQ5NDgsIDQ5NDksIDQ5NTAsIDQ5NTEsIDQ5NTIsIDQ5NTMsIDQ5NTQsIDQ5NTQsIDQ5NTUsIDQ5NTYsIDQ5NTcsIDQ5NTgsCisgNDk1OCwgNDk1OSwgNDk2MCwgNDk2MSwgNDk2MiwgNDk2MiwgNDk2MywgNDk2NCwgNDk2NSwgNDk2NiwgNDk2NiwgNDk2NywgNDk2OCwKKyA0OTY5LCA0OTcwLCA0OTcwLCA0OTcxLCA0OTcyLCA0OTczLCA0OTc0LCA0OTc0LCA0OTc1LCA0OTc2LCA0OTc3LCA0OTc4LCA0OTc5LAorIDQ5ODAsIDQ5ODEsIDQ5ODIsIDQ5ODIsIDQ5ODMsIDQ5ODQsIDQ5ODUsIDQ5ODYsIDQ5ODYsIDQ5ODcsIDQ5ODgsIDQ5ODksIDQ5OTAsCisgNDk5MCwgNDk5MSwgNDk5MiwgNDk5MywgNDk5NCwgNDk5NCwgNDk5NSwgNDk5NiwgNDk5NywgNDk5OCwgNDk5OSwgNTAwMCwgNTAwMSwKKyA1MDAyLCA1MDAyLCA1MDAzLCA1MDA0LCA1MDA1LCA1MDA2LCA1MDA2LCA1MDA3LCA1MDA4LCA1MDA5LCA1MDEwLCA1MDEwLCA1MDExLAorIDUwMTIsIDUwMTMsIDUwMTQsIDUwMTQsIDUwMTUsIDUwMTYsIDUwMTcsIDUwMTgsIDUwMTksIDUwMjAsIDUwMjEsIDUwMjIsIDUwMjIsCisgNTAyMywgNTAyNCwgNTAyNSwgNTAyNiwgNTAyNiwgNTAyNywgNTAyOCwgNTAyOSwgNTAzMCwgNTAzMCwgNTAzMSwgNTAzMiwgNTAzMywKKyA1MDM0LCA1MDM0LCA1MDM1LCA1MDM2LCA1MDM3LCA1MDM4LCA1MDM4LCA1MDM5LCA1MDQwLCA1MDQxLCA1MDQyLCA1MDQyLCA1MDQzLAorIDUwNDQsIDUwNDUsIDQ5MDYsIDQ4NzksIDQ4NTYsIDQ4MzMsIDUwNDYsIDUwNDcsIDUwNDgsIDUwNDksIDUwNTAsIDUwNDYsIDUwNDcsCisgNTA0OCwgNTA0OSwgNTA1MCwgNTA1MSwgNTA1MiwgMzU4NSwgNTA1NCwgNTA1NSwgNTA1NiwgNTA1NywgNTA1OCwgNTA1OSwgNTA2MCwKKyA1MDYxLCA1MDYyLCA1MDYzLCA1MDY0LCA1MDY1LCA1MDY2LCA1MDY3LCA1MDY4LCA1MDY5LCA1MDcwLCA1MDcxLCA1MDcyLCA1NDMsCisgNTQzLCA1MDczLCAzNDExLCA1MDc0LCA1MDc1LCA0OSwgNDg1OSwgNTA3NywgNTA3NywgNTA3OCwgNTA3OSwgNTA4MCwgNTA4MSwKKyA1MDgxLCA1MDgyLCA1MDgzLCA1MDg0LCA1MDg1LCA1MDg1LCA1MDg2LCA1MDg3LCA1MDg4LCA1MDc2LCA1MDg5LCA1MDkwLCA1MDg5LAorIDUwOTAsIDUwOTEsIDUwOTIsIDM1MDEsIDUwOTQsIDUwOTUsIDUwOTYsIDUwOTcsIDM2OTIsIDUwOTcsIDM2OTIsIDUwOTgsIDUwOTksCisgOTc1LCA1MTAxLCA1MTAyLCA5ODYsIDk4OSwgOTk3LCAxMDAwLCA1MTA0LCA1MTA1LCA1MTA2LCA1MTAzLCA3NDksIDEwMDgsCisgNTEwNywgNTEwOCwgNTEwOSwgNTExMCwgNTQzLCA3NTAsIDUxMTIsIDUxMTMsIDQ4LCA1MTE0LCA0OSwgNTExMSwgNTk0LCA3NjUsCisgOTUxLCAxNTY0LCA1MTE1LCA1MTE2LCA1MTE3LCA1MTE4LCAyMzQsIDI2OCwgNjc0LCAxMDQxLCAxMDQyLCA1MTIwLCA1MTIxLAorIDIyOSwgMjM2LCAyNDcsIDcxNSwgNTEyMywgNTEyNCwgNDU3LCA2MzIsIDUxMjYsIDUxMjcsIDQ2OSwgNDcwLCA0NzQsIDQ3NSwKKyA0NzYsIDQ4MSwgNzAxLCA1MTI5LCA1MTMwLCAyMzUsIDIzNywgMjM4LCAyNDUsIDI0NiwgNDgyLCA0OTMsIDQ5NCwgNDk1LCA1MDIsCisgNTEzMiwgNTEzMywgMjQ4LCAyNDksIDI1MSwgNDQ4LCA1MTUsIDUxOCwgNTE5LCA1MjMsIDUyNiwgNTM1LCA1MTM1LCA1MTM2LAorIDI2MywgNDYyLCA1MzYsIDU0MCwgNTEzOCwgNTEzOSwgMjUwLCAzODgsIDUwNywgODI4LCA1MTQxLCA1MTQyLCAzOTMsIDQwMSwKKyA0MDIsIDQwMywgNDA0LCA0MDUsIDQwNiwgNDA3LCA0MDgsIDQwOSwgNTE0NCwgNTE0NSwgNTE0NiwgNTE0MywgNTE0MCwgNTEzNywKKyA1MTM0LCA1MTMxLCA1MTI4LCA1MTI1LCA1MTIyLCA1MTQ3LCA1MTQ4LCA1MTQ5LCA1MTUwLCA1MTUxLCA1MTUyLCA1MTUzLCA1MTU0LAorIDUxNTUsIDUxNTYsIDUxNTcsIDM2OSwgNDEwLCA2OTQsIDUxNTksIDUxNjAsIDUxNjEsIDUxNjIsIDUxNjMsIDUxNjQsIDYyMSwKKyAxMDE4LCAxMDE5LCAxMDIwLCAxMDIxLCAxMDIyLCAxMDIzLCAxMDI0LCAxMDI1LCAxMDI2LCA1MTY2LCA1MTY3LCA1MTY4LCA1MTY5LAorIDUxNzAsIDUxNzEsIDUxNzIsIDUxNjUsIDUxNTgsIDUxNzMsIDUxNzQsIDUxNzUsIDUxNzYsIDUxNzcsIDU5MSwgODM1LCA1MTc5LAorIDUxODAsIDQzNywgNTE4MiwgNTE4MywgNDMsIDUxODQsIDIsIDUxODEsIDUxNzgsIDUxMTksIDM0MCwgNTEyLCA3NjMsIDc2NCwKKyAxMDg2LCA1MTg1LCA1MTg2LCA1MTg3LCA1MTg4LCA1MTg5LCA1MTkwLCA1MTkxLCA1MTkyLCA1MTkzLCA1MTk0LCA1MTk1LCA1MTk2LAorIDUxOTYsIDUxOTcsIDUxOTgsIDUxOTksIDUyMDAsIDUyMDAsIDUyMDEsIDUyMDIsIDE2MTIsIDE2MTMsIDUyMDQsIDUyMDUsIDE2MTcsCisgMTYxOCwgMTYxOSwgMTYyMCwgMTYyMSwgMTYyMiwgMTYyMywgMTYyNCwgMTYyNSwgMTYyNiwgNTIwNywgNTIwOCwgNDYyLCAxNjM4LAorIDE2MzksIDUyMTAsIDUyMTEsIDY5NCwgMTY0MywgMTY0NCwgMTY0NSwgMTY0NiwgMTY0NywgNTIxMywgNTIxNCwgNjc0LCA1MjE2LAorIDUyMTcsIDM0MCwgMTY1NSwgNTIxOSwgNTIyMCwgMTY1OCwgMTY1OSwgNTIyMiwgNTIyMywgNTIyNCwgNTIyMSwgNTIxOCwgNTIxNSwKKyA1MjEyLCA1MjA5LCA1MjA2LCA1MjI1LCA1MjI2LCA1MjI3LCA1MjI4LCA1MjI5LCA1MjMwLCA1MjMxLCA1MjMyLCA1MjMzLCAxNjcxLAorIDE2NzIsIDE2NzMsIDUyMzUsIDUyMzYsIDE2NzgsIDE2NzksIDE2ODAsIDUyMzgsIDUyMzksIDE2ODUsIDE2ODYsIDE2ODcsIDE2ODgsCisgNTI0MSwgNTI0MiwgMTY5NCwgMTY5NSwgMTY5NiwgMTY5NywgMTY5OCwgMTY5OSwgNTI0NCwgNTI0NSwgMTcwNywgMTcwOCwgNTI0NywKKyA1MjQ4LCA1MjQ5LCA1MjQ2LCA1MjQzLCA1MjQwLCA1MjM3LCAzMDkyLCA1MjUwLCA1MjUxLCA1MjUyLCA1MjUzLCA1MjU0LCA1MjU1LAorIDUyNTYsIDk4NiwgOTg5LCAxMDA4LCA1MjU4LCA1MjU5LCA5OTcsIDEwMDAsIDUyNjEsIDUyNjIsIDEwNDEsIDEwNDIsIDE3MjAsCisgMTcyMSwgMTcyMiwgMTcyMywgMTcyNCwgMTcyNSwgMTcyNiwgNTI2NCwgNTI2NSwgMTczNSwgNTI2NywgNTI2OCwgNTI2OSwgMjY4LAorIDE3MzgsIDUyNzAsIDUyNzEsIDUyNzIsIDE3NDIsIDE3NDMsIDE3NDQsIDE3NDUsIDUyNzQsIDUyNzUsIDUyNzYsIDUyNzMsIDUyNjYsCisgNTI2MywgNTI2MCwgNTI3NywgNTI3OCwgNTI3OSwgNTI4MCwgNTI4MSwgNTI4MiwgNTI4MywgMTc1NywgMTc1OCwgNTI4NSwgNTI4NiwKKyA1Mjg3LCA1Mjg4LCA1Mjg5LCA1MjkwLCA5NzUsIDUyOTIsIDUyOTMsIDUyOTQsIDUyOTUsIDUyOTYsIDUyOTcsIDgzNSwgMTc2NywKKyA1Mjk5LCA1MzAwLCAzNjksIDE3NzAsIDUzMDIsIDUzMDMsIDU0MywgNjMyLCAxNzczLCAxNzc0LCAxNzc1LCA1MzA1LCA1MzA2LAorIDE3ODAsIDE3ODEsIDUzMDgsIDUzMDksIDUzMTAsIDUzMDcsIDUzMDQsIDUzMDEsIDUyOTgsIDUyOTEsIDUzMTEsIDUzMTIsIDUzMTMsCisgNTMxNCwgNTMxNSwgNTMxNiwgNTMxNywgNTMxOCwgMTc5MiwgNTMyMCwgNTMyMSwgNTMyMiwgNTMyMywgNTMyNCwgNTMyNSwgNTMyNiwKKyA1MzI3LCA1MzI4LCA1MzI5LCA1MzMwLCA1MzE5LCA1Mjg0LCA1MjU3LCA1MjM0LCA1MzMxLCA1MzMyLCA1MzMzLCA1MzM0LCA1MzM1LAorIDUzMzYsIDUzMzcsIDE4MDUsIDUzMzksIDUzNDAsIDUzNDEsIDUzNDIsIDUzNDMsIDUzNDQsIDUzNDUsIDE4MTAsIDUzNDYsIDUzNDcsCisgNTM0OCwgMTgxNCwgNTM1MCwgNTM1MSwgNTM1MiwgNTM1MywgNTM1NCwgNTM1NSwgNTM1NiwgNDc0LCA0NzUsIDQ3NiwgNTM1NywKKyA1MzU4LCA1MzU5LCA1MzYwLCA1MzQ5LCAzMTgyLCAzNTI4LCA1MzYxLCA1MzYyLCA1MzYzLCA1MzY0LCAxODI0LCAxODI1LCA1MzY2LAorIDUzNjcsIDU5NCwgNTM2OSwgNTM3MCwgNTM3MSwgNTM3MiwgNTM3MywgNTM3NCwgNTM3NSwgNTM3NiwgNTM3NywgNTM3OCwgNTM3OSwKKyA1MzY4LCA0NTcsIDMxOTEsIDUzODAsIDUzODEsIDUzODIsIDUzODMsIDE4MzcsIDUzODUsIDUzODYsIDUzODcsIDIyOSwgNTM4OCwKKyA1Mzg5LCA1MzkwLCAxODQyLCA1MzkyLCA1MzkzLCAxODQ1LCAxODQ2LCAxODQ3LCA1Mzk1LCA1Mzk2LCAxODUyLCAxODUzLCA1Mzk4LAorIDUzOTksIDE4NTcsIDU0MDEsIDU0MDIsIDU0MDMsIDU0MDAsIDUzOTcsIDUzOTQsIDU0MDQsIDU0MDUsIDU0MDYsIDU0MDcsIDU0MDgsCisgNTQwOSwgNTQxMCwgNTM5MSwgMzE5OCwgNTQxMSwgNTQxMiwgNTQxMywgNTQxNCwgMTg2OCwgNTQxNiwgNTQxNywgMTg3MSwgNTQxOSwKKyA1NDIwLCAxODc0LCAxODc1LCAxODc2LCAxODc3LCAxODc4LCA1NDIyLCA1NDIzLCA1NDI0LCA1NDIxLCA1NDE4LCA1MDIsIDU0MjUsCisgNTQyNiwgNTQyNywgNTQyOCwgNTQyOSwgMTg4OSwgNTQzMSwgNTQzMiwgNTQzMywgNTQzNCwgNTQzNSwgNTQzNiwgMTAxOCwgMTAxOSwKKyAxMDIwLCAxMDIxLCA1NDM4LCA1NDM5LCAxMDIyLCAxMDI2LCA1NDQxLCA1NDQyLCA1NDQzLCA1NDQwLCA1NDQ0LCA1NDQ1LCA1NDQ2LAorIDU0NDcsIDQzNywgNTQ0OSwgNTQ1MCwgNTQ1MSwgNTQ1MiwgNTQ1MywgNTQ1NCwgMTkwMiwgNTQ1NiwgNTQ1NywgNTQ1OCwgNTQ1OSwKKyA1NDYwLCA1NDYxLCA1NDYyLCA1NDYzLCA1NDY0LCA1NDY1LCA1NDY2LCA1NDU1LCA1NDQ4LCA1NDM3LCA1NDMwLCA1NDY3LCA1NDY4LAorIDU0NjksIDU0NzAsIDU0NzEsIDU0NzIsIDU0NzMsIDE5MTUsIDU0NzUsIDU0NzYsIDU0NzcsIDU0NzgsIDU0NzksIDU0ODAsIDU0ODEsCisgNTQ4MiwgNTQ4MywgNTQ4NCwgMTkyMiwgNTQ4NiwgNTQ4NywgMTkyNSwgNTQ4OSwgNTQ5MCwgMTkyOCwgNTQ5MiwgNTQ5MywgMTkzMSwKKyA1NDk1LCA1NDk2LCA1NDk3LCA1NDk0LCA1NDkxLCA1NDg4LCA1NDk4LCA1NDk5LCA1NTAwLCA1NTAxLCA1NTAyLCA1NTAzLCA1NTA0LAorIDU1MDUsIDU1MDYsIDU1MDcsIDU1MDgsIDU0ODUsIDU1MDksIDU1MTAsIDU1MTEsIDU1MTIsIDE5NDQsIDU1MTQsIDU1MTUsIDE5NDcsCisgNTUxNywgNTUxOCwgNTUxOSwgNTUxNiwgMzIxMiwgNTUyMCwgNTUyMSwgNTUyMiwgNTUyMywgNTEyLCA3ODIsIDU1MjUsIDU1MjYsCisgNzE1LCAxOTU0LCAxOTU1LCAxOTU2LCAxOTU3LCA1NTI4LCA1NTI5LCAyMzQsIDIzNSwgMjM2LCAyMzcsIDIzOCwgMzg4LCA1NTMxLAorIDU1MzIsIDE5NjQsIDU1MzQsIDU1MzUsIDEyLCA1NTM2LCAyNDUsIDI0NywgMjQ4LCAyNDksIDI1MCwgMjUxLCA0NDgsIDUxNSwKKyA1NTM3LCA1NTM4LCA1NTM5LCA1MTgsIDUxOSwgNjIxLCA4MjgsIDE5NjksIDU1NDEsIDU1NDIsIDUyNiwgMTU2NCwgMTk3MiwKKyA1NTQ0LCA1NTQ1LCA1NTQ2LCA1NTQzLCA1NTQwLCA1NTMzLCA1NTMwLCA1NTI3LCAzMjMyLCA1NTQ3LCA1NTQ4LCA1NTQ5LCA1NTUwLAorIDU1NTEsIDU1NTIsIDU1NTMsIDU1NTQsIDE5ODIsIDU1NTYsIDU1NTcsIDE5ODUsIDU1NTksIDU1NjAsIDE5ODgsIDU1NjIsIDU1NjMsCisgNTU2NCwgNzIsIDU1NjEsIDczLCA1NTU4LCAyNjMsIDU1NjUsIDU1NjYsIDU1NjcsIDU1NjgsIDU1NjksIDU0MCwgNzYyLCA3NjMsCisgNzY0LCA3OTEsIDEwODYsIDU1NzEsIDU1NzIsIDM5MywgNzQ5LCA3NTAsIDc2NSwgMTk5NiwgMTk5NywgMTk5OCwgMTk5OSwgNTU3NCwKKyA1NTc1LCAyMDA1LCAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5LCAyMDEwLCAyMDExLCAyMDEyLCAyMDEzLCA1NTc3LCA1NTc4LCAxMDIzLAorIDEwMjQsIDEwMjUsIDU1ODAsIDU1ODEsIDU1ODIsIDE5NSwgOTUxLCAyMDI0LCAyMDI2LCAyMDI3LCAyMDI4LCA1NTgzLCA1NTg0LAorIDU1ODUsIDIwMzUsIDIwMzYsIDIwMzcsIDIwMzgsIDIwMzksIDIwNDAsIDU1ODcsIDU1ODgsIDIwNDgsIDIwNDksIDU1OTAsIDU1OTEsCisgNTkxLCA1NTkzLCA1NTk0LCA1NTk1LCA1NTkyLCA1NTg5LCA1NTg2LCA1NTc5LCA1NTc2LCA1NTczLCA1NTcwLCA1NTk2LCA1NTk3LAorIDU1OTgsIDU1OTksIDU2MDAsIDU2MDEsIDU2MDIsIDU2MDMsIDU2MDQsIDU2MDUsIDU2MDYsIDU1NTUsIDU1MjQsIDU1MTMsIDU0NzQsCisgNTQxNSwgNTM4NCwgNTM2NSwgNTMzOCwgMTYxMSwgMzU2NCwgMzU2NCwgNTYwNywgNTYwOCwgNTYwOSwgNTYxMCwgNTYxMSwgNTYxMiwKKyA1NjEzLCA1NjE0LCA1NjE1LCA1NjE2LCA1NjE3LCAzMjQ5LCAzMjUwLCA1NjE5LCA1NjIwLCAyMDc1LCA1NjIyLCAyMDc2LCA1NjI0LAorIDU2MjUsIDU2MjMsIDU2MjYsIDU2MjcsIDU2MjgsIDU2MjksIDIwODAsIDU2MzEsIDIwODEsIDU2MzMsIDIwODIsIDU2MzUsIDIwODMsCisgNTYzNywgNTYzOCwgNTYzNiwgNTYzNCwgNTYzMiwgNTYzOSwgNTY0MCwgNTY0MSwgNTY0MiwgNTY0MywgNTY0NCwgMjA4OSwgNTY0NiwKKyAyMDkwLCA1NjQ4LCA1NjQ5LCA1NjQ3LCA1NjUwLCA1NjUxLCA1NjUyLCA1NjUzLCAyMDk0LCA1NjU1LCAyMDk1LCA1NjU3LCA1NjU4LAorIDU2NTYsIDU2NTksIDU2NjAsIDU2NjEsIDU2NjIsIDIwOTksIDU2NjQsIDU2NjUsIDU2NjYsIDU2NjcsIDU2NjgsIDIxMDIsIDU2NzAsCisgMjEwMywgNTY3MiwgMjEwNCwgNTY3NCwgNTY3NSwgNTY3MywgNTY3MSwgNTY3NiwgNTY3NywgNTY3OCwgNTY3OSwgNTY4MCwgMjEwOSwKKyA1NjgyLCAyMTEwLCA1Njg0LCAyMTExLCA1Njg2LCAyMTEyLCA1Njg4LCAyMTEzLCA1NjkwLCAyMTE0LCA1NjkyLCAyMTE1LCA1Njk0LAorIDU2OTUsIDU2OTMsIDU2OTEsIDU2ODksIDU2ODcsIDU2ODUsIDU2ODMsIDU2OTYsIDU2OTcsIDU2OTgsIDU2OTksIDU3MDAsIDU3MDEsCisgNTcwMiwgNTcwMywgNTcwNCwgMjEyNCwgNTcwNiwgMjEyNSwgNTcwOCwgMjEyNiwgNTcxMCwgMjEyNywgNTcxMiwgMjEyOCwgNTcxNCwKKyAyMTI5LCA1NzE2LCAyMTMwLCA1NzE4LCAyMTMxLCA1NzIwLCA1NzIxLCA1NzE5LCA1NzE3LCA1NzE1LCA1NzEzLCA1NzExLCA1NzA5LAorIDU3MDcsIDU3MjIsIDU3MjMsIDU3MjQsIDU3MjUsIDU3MjYsIDU3MjcsIDU3MjgsIDU3MjksIDU3MzAsIDU3MzEsIDU3MzIsIDU3MDUsCisgNTY4MSwgNTY2OSwgNTY2MywgNTY1NCwgNTY0NSwgNTYzMCwgNTczMywgNTczNCwgNTczNSwgNTczNiwgNTczNywgNTczOCwgNTczOSwKKyA1NzQwLCA1NzQxLCA1NzQyLCAyMTUwLCA1NzQ0LCAyMTUxLCA1NzQ2LCAyMTUyLCA1NzQ4LCAyMTUzLCA1NzUwLCAyMTU0LCA1NzUyLAorIDIxNTUsIDU3NTQsIDIxNTYsIDU3NTYsIDU3NTcsIDU3NTUsIDU3NTMsIDU3NTEsIDU3NDksIDU3NDcsIDU3NDUsIDU3NTgsIDU3NTksCisgNTc2MCwgNTc2MSwgNTc2MiwgNTc2MywgNTc2NCwgNTc2NSwgNTc2NiwgMjE2NSwgNTc2OCwgMjE2NiwgNTc3MCwgMjE2NywgNTc3MiwKKyAyMTY4LCA1Nzc0LCAyMTY5LCA1Nzc2LCAyMTcwLCA1Nzc4LCA1Nzc5LCA1Nzc3LCA1Nzc1LCA1NzczLCA1NzcxLCA1NzY5LCA1NzgwLAorIDU3ODEsIDU3ODIsIDU3ODMsIDU3ODQsIDU3ODUsIDU3ODYsIDU3ODcsIDIxNzgsIDU3ODksIDIxNzksIDU3OTEsIDIxODAsIDU3OTMsCisgMjE4MSwgNTc5NSwgMjE4MiwgNTc5NywgNTc5OCwgNTc5NiwgNTc5NCwgNTc5MiwgNTc5MCwgNTc5OSwgNTgwMCwgNTgwMSwgNTgwMiwKKyA1ODAzLCA1ODA0LCA1ODA1LCAyMTg5LCA1ODA3LCAyMTkwLCA1ODA5LCAyMTkxLCA1ODExLCAyMTkyLCA1ODEzLCA1ODE0LCA1ODEyLAorIDU4MTAsIDU4MDgsIDU4MTUsIDU4MTYsIDU4MTcsIDU4MTgsIDU4MTksIDU4MjAsIDU4MjEsIDU4MDYsIDU3ODgsIDU3NjcsIDU4MjIsCisgNTgyMywgNTgyNCwgNTgyNSwgNTgyNiwgNTgyNywgMjIwMywgNTgyOSwgNTgzMCwgNTgzMSwgNTgzMiwgNTgzMywgMjIwNiwgNTgzNSwKKyAyMjA3LCA1ODM3LCAyMjA4LCA1ODM5LCAyMjA5LCA1ODQxLCA1ODQyLCA1ODQwLCA1ODM4LCA1ODM2LCA1ODQzLCA1ODQ0LCA1ODQ1LAorIDU4NDYsIDU4NDcsIDU4NDgsIDU4NDksIDU4MzQsIDU4NTAsIDU4NTEsIDU4NTIsIDU4NTMsIDIyMTgsIDU4NTUsIDIyMTksIDU4NTcsCisgMjIyMCwgNTg1OSwgNTg2MCwgNTg1OCwgNTg1NiwgNTg2MSwgNTg2MiwgNTg2MywgNTg2NCwgNTg2NSwgMjIyNSwgNTg2NywgNTg2OCwKKyA1ODY5LCA1ODcwLCA1ODcxLCAyMjI4LCA1ODczLCAyMjI5LCA1ODc1LCA1ODc2LCA1ODc0LCA1ODc3LCA1ODc4LCA1ODc5LCA1ODgwLAorIDIyMzMsIDU4ODIsIDU4ODMsIDU4ODQsIDU4ODUsIDU4ODYsIDU4ODcsIDU4ODEsIDU4NzIsIDU4NjYsIDU4ODgsIDU4ODksIDU4OTAsCisgNTg5MSwgNTg5MiwgNTg5MywgMjI0MSwgNTg5NSwgNTg5NiwgNTg5NywgNTg5OCwgNTg5OSwgNTkwMCwgNTkwMSwgNTkwMiwgNTkwMywKKyAyMjQ2LCA1OTA1LCAyMjQ3LCA1OTA3LCAyMjQ4LCA1OTA5LCA1OTEwLCA1OTA4LCA1OTA2LCA1OTExLCA1OTEyLCA1OTEzLCA1OTE0LAorIDU5MTUsIDIyNTMsIDU5MTcsIDU5MTgsIDU5MTksIDU5MjAsIDU5MjEsIDU5MjIsIDU5MTYsIDU5MjMsIDU5MjQsIDU5MjUsIDU5MjYsCisgNTkyNywgNTkwNCwgNTg5NCwgNTg1NCwgNTgyOCwgNTc0MywgNTkyOCwgNTkyOSwgNTkzMCwgNTkzMSwgNTkzMiwgNTkzMywgNTkzNCwKKyA1OTM1LCAyMjY2LCA1OTM3LCA1OTM4LCA1OTM5LCA1OTQwLCA1OTQxLCA1OTQyLCA1OTQzLCA1OTQ0LCA1OTQ1LCAyMjcxLCA1OTQ3LAorIDU5NDgsIDU5NDksIDU5NTAsIDU5NTEsIDIyNzQsIDU5NTMsIDU5NTQsIDU5NTUsIDU5NTYsIDU5NTcsIDU5NTgsIDU5NTIsIDU5NTksCisgNTk2MCwgNTk2MSwgNTk2MiwgMjI4MCwgNTk2NCwgNTk2NSwgNTk2NiwgNTk2NywgNTk2OCwgNTk2OSwgNTk3MCwgNTk3MSwgNTk3MiwKKyA1OTczLCA1OTYzLCA1OTQ2LCA1OTc0LCA1OTc1LCA1OTc2LCA1OTc3LCA1OTc4LCAyMjg5LCA1OTgwLCA1OTgxLCA1OTgyLCA1OTgzLAorIDU5ODQsIDU5ODUsIDU5ODYsIDU5ODcsIDU5ODgsIDIyOTQsIDU5OTAsIDU5OTEsIDU5OTIsIDU5OTMsIDU5OTQsIDU5OTUsIDU5OTYsCisgNTk5NywgNTk5OCwgNTk5OSwgNTk4OSwgNjAwMCwgNjAwMSwgNjAwMiwgNjAwMywgMjMwMiwgNjAwNSwgNjAwNiwgNjAwNywgNjAwOCwKKyA2MDA5LCA2MDEwLCA2MDExLCA2MDEyLCA2MDEzLCA2MDE0LCA2MDE1LCA2MDE2LCA2MDE3LCAyMzA5LCA2MDE5LCA2MDIwLCA2MDIxLAorIDYwMjIsIDYwMjMsIDYwMjQsIDYwMjUsIDYwMjYsIDYwMjcsIDYwMjgsIDYwMjksIDYwMzAsIDYwMzEsIDIzMTYsIDYwMzMsIDYwMzQsCisgNjAzNSwgNjAzNiwgNjAzNywgNjAzOCwgNjAzOSwgNjA0MCwgNjA0MSwgMjMyMSwgNjA0MywgMjMyMiwgNjA0NSwgMjMyMywgNjA0NywKKyAyMzI0LCA2MDQ5LCA2MDUwLCA2MDQ4LCA2MDQ2LCA2MDQ0LCA2MDUxLCA2MDUyLCA2MDUzLCA2MDU0LCA2MDU1LCA2MDU2LCA2MDU3LAorIDYwNTgsIDYwNTksIDYwNjAsIDYwNjEsIDYwNDIsIDYwNjIsIDYwNjMsIDYwNjQsIDYwNjUsIDYwNjYsIDYwMzIsIDYwMTgsIDYwMDQsCisgNTk3OSwgNTkzNiwgNjA2NywgNjA2OCwgNjA2OSwgNjA3MCwgNjA3MSwgNjA3MiwgNjA3MywgNjA3NCwgNjA3NSwgNjA3NiwgNjA3NiwKKyA2MDc3LCA2MDc4LCA2MDc5LCA2MDgwLCA2MDgwLCA2MDgxLCA2MDgyLCA2MDgzLCA2MDg0LCA2MDg0LCA2MDg1LCA2MDg2LCA2MDg3LAorIDYwODgsIDYwODgsIDYwODksIDYwOTAsIDYwOTEsIDU2MjEsIDU2MTgsIDYwOTIsIDYwOTIsIDYwOTMsIDMyNTUsIDMyNTYsIDMyNTcsCisgMzI1OCwgMzI1OSwgMzU2OCwgMzU2OSwgMzI2MiwgNjA5NCwgNjA5NSwgNjA5NiwgNjA5NywgNjA5OCwgNjA5OCwgNjA5OSwgNjEwMCwKKyA5NzUsIDYxMDIsIDYxMDMsIDYxMDQsIDYxMDUsIDYxMDYsIDYxMDcsIDYxMDgsIDYxMDksIDYxMDksIDYxMTAsIDYxMTEsIDYxMTIsCisgNjExMywgNjExMywgNjExNCwgNjExNSwgNjExNiwgNjExNywgNjExNywgNjExOCwgNjExOSwgNjEyMCwgNjEyMSwgNjEyMiwgNjEyMywKKyA2MTI0LCA2MTI1LCA2MTI2LCA2MTI3LCA2MTI4LCA2MTI5LCA2MTMwLCA2MTMxLCA2MTMyLCA2MTMzLCA2MTM0LCA2MTM1LCA2MTM2LAorIDYxMzcsIDYxMzgsIDYxMzksIDEwNDEsIDYxNDEsIDYxNDIsIDYxNDMsIDYxNDQsIDYxNDUsIDYxNDYsIDYxNDcsIDYxNDgsIDYxNDgsCisgNjE0OSwgNjE1MCwgNjE1MSwgNjE1MiwgNjE1MiwgNjE1MywgNjE1NCwgNjE1NSwgNjE1NiwgNjE1NiwgNjE1NywgNjE1OCwgNjE1OSwKKyA2MTYwLCA2MTYwLCA2MTYxLCA2MTYyLCA2MTYzLCA2MTY0LCA2MTY0LCA2MTY1LCA2MTY2LCA2MTY3LCA2MTY4LCA2MTY5LCA2MTcwLAorIDYxNzEsIDYxNzIsIDYxNzMsIDYxNzQsIDYxNzUsIDYxNzYsIDYxNzcsIDYxNzgsIDYxNzksIDYxODAsIDYxODEsIDYxODIsIDYxODMsCisgNjE4NCwgNjE4NSwgNjE4NiwgNjE4NywgNjE4OCwgNjE4OCwgNjE4OSwgNjE5MCwgNjE5MSwgNjE5MiwgNjE5MiwgNjE5MywgNjE5NCwKKyA2MTk1LCA2MTk2LCA2MTk2LCA2MTk3LCA2MTk4LCA2MTk5LCA2MjAwLCA2MjAwLCA2MjAxLCA2MjAyLCA2MjAzLCA2MjA0LCA2MjA0LAorIDYyMDUsIDYyMDYsIDYyMDcsIDYyMDgsIDYyMDgsIDYyMDksIDYyMTAsIDYyMTEsIDYyMTIsIDYyMTIsIDYyMTMsIDYyMTQsIDYyMTUsCisgNzQ5LCA3NTAsIDYyMTYsIDYyMTcsIDYyMTgsIDEwNDIsIDYyMjAsIDYyMjEsIDYyMjIsIDYyMjMsIDYyMjQsIDYyMjUsIDYyMjYsCisgNjIyNywgNjIyNywgNjIyOCwgNjIyOSwgNjIzMCwgNjIzMSwgNjIzMSwgNjIzMiwgNjIzMywgNjIzNCwgNjIzNSwgNjIzNSwgNjIzNiwKKyA2MjM3LCA2MjM4LCA2MjM5LCA2MjM5LCA2MjQwLCA2MjQxLCA2MjQyLCA2MjQzLCA2MjQzLCA2MjQ0LCA2MjQ1LCA2MjQ2LCA2MjQ3LAorIDYyNDgsIDYyNDksIDYyNTAsIDYyNTEsIDYyNTEsIDYyNTIsIDYyNTMsIDYyNTQsIDYyNTUsIDYyNTUsIDYyNTYsIDYyNTcsIDYyNTgsCisgNjI1OSwgNjI1OSwgNjI2MCwgNjI2MSwgNjI2MiwgNjI2MywgNjI2MywgNjI2NCwgNjI2NSwgNjI2NiwgNjI2NywgNjI2NywgNjI2OCwKKyA2MjY5LCA2MjcwLCA2MjcxLCA2MjcxLCA2MjcyLCA2MjczLCA2Mjc0LCA2Mjc1LCA2Mjc1LCA2Mjc2LCA2Mjc3LCA2Mjc4LCA2Mjc5LAorIDYyODAsIDYyODEsIDQzLCA2MjgyLCA0NCwgNjIxOSwgMzQwLCA3NjMsIDc2NCwgNzY1LCA3ODIsIDc5MSwgMTA4NiwgNjI4MywKKyA2Mjg0LCA2Mjg1LCA2Mjg2LCA2Mjg3LCA2Mjg4LCA2Mjg5LCA2MjkwLCA2MjkxLCA2MjkyLCA2MjkzLCA2Mjk0LCA2Mjk1LCA2Mjk2LAorIDYyOTcsIDYyOTgsIDYyOTksIDYzMDAsIDYzMDEsIDYzMDIsIDUxMiwgNzYyLCA3NjMsIDYzMDQsIDYzMDUsIDc2NCwgNjMwNywKKyA2MzA4LCAzNDAsIDc4MiwgNjMxMCwgNjMxMSwgNzkxLCA2MzEzLCA2MzE0LCA3NjUsIDgzNSwgMTA4NiwgNjMxNiwgNjMxNywKKyA2MzE4LCA2MzE1LCA2MzEyLCA2MzA5LCA2MzA2LCA2MzIwLCA2MzE5LCA2MzIxLCA2MzIyLCA2MzIzLCA2MzI0LCA2MzI1LCA2MzI2LAorIDMxNCwgNTQ1MiwgNjMyNywgNjMyOCwgNjMyOSwgNjMzMCwgNjMzMSwgNjMzMiwgNjMzMywgNjMzNCwgNjMzNSwgNjMzNSwgNjMzNiwKKyA2MzM3LCA2MzM4LCA2MzAzLCA2MTQwLCA2MzM5LCA2MzM5LCA2MzQwLCA2MzQxLCA2MzQyLCA2MzQzLCAzMTQsIDMxNCwgNjM0NSwKKyA2MzQ2LCA2MzQ3LCA2MzQ4LCA2MzQ4LCA2MzQ5LCA2MzUwLCA2MzUxLCA2MzUyLCA2MzUzLCA2MzU0LCA2MzU1LCA2MzU2LCA2MzU3LAorIDYzNTgsIDYzNTksIDYzNjAsIDYzNjEsIDYzNjIsIDMxMSwgNjM2NCwgNjM2NSwgNjM2NiwgNjM2NywgNjM2OCwgNjM2OSwgNjM3MCwKKyA2MzcxLCA2MzcyLCA2MzczLCA2Mzc0LCA2Mzc1LCA2Mzc2LCA2Mzc3LCA2Mzc4LCA2Mzc5LCA2MzgwLCA2MzgxLCA2MzgyLCA2MzgzLAorIDYzODMsIDYzODQsIDYzODUsIDYzODYsIDYzODcsIDYzODcsIDYzODgsIDYzODksIDYzOTAsIDYzOTEsIDYzOTEsIDYzOTIsIDYzOTMsCisgNjM5NCwgNjM5NSwgNjM5NiwgNjM5NywgNjM5OCwgNjM5OSwgNjQwMCwgNjQwMSwgNjQwMiwgNjQwMywgNjQwNCwgNjQwNSwgNTEyLAorIDY0MDcsIDY0MDgsIDY0MDksIDY0MTAsIDY0MTEsIDY0MTIsIDY0MTMsIDY0MTQsIDY0MTUsIDY0MTYsIDY0MTcsIDY0MTgsIDY0MTksCisgNjQyMCwgNjQyMSwgNzUwLCA2NDIyLCA2NDIzLCA2NDI0LCA3NjIsIDY0MjYsIDY0MjcsIDY0MjgsIDY0MjksIDY0MzAsIDY0MzEsCisgNjQzMiwgNjQzMywgNjQzNCwgNjQzNSwgNjQzNiwgNjQzNywgNjQzOCwgNjQzOSwgNjQ0MCwgNjQ0MSwgNjQ0MiwgNjQ0MywgNzYzLAorIDY0NDUsIDY0NDYsIDY0NDcsIDY0NDgsIDY0NDksIDY0NTAsIDY0NTEsIDY0NTIsIDY0NTMsIDY0NTQsIDY0NTUsIDY0NTYsIDY0NTcsCisgNjQ1OCwgNjQ1OSwgNjQ2MCwgNjQ2MSwgNjQ2MiwgNzY0LCA2NDY0LCA2NDY1LCA2NDY2LCA2NDY3LCA2NDY4LCA2NDY5LCA2NDcwLAorIDY0NzEsIDY0NzIsIDY0NzMsIDY0NzQsIDY0NzUsIDY0NzYsIDY0NzcsIDY0NzgsIDY0NzksIDY0ODAsIDY0ODEsIDEwODYsIDY0ODMsCisgNjQ4NCwgNjQ4NSwgNjQ4NiwgNjQ4NywgNjQ4OCwgNjQ4OSwgNjQ5MCwgNjQ5MSwgNjQ5MiwgNjQ5MywgNjQ5NCwgNjQ5NSwgNjQ5NiwKKyA2NDk3LCA2NDk4LCA2NDk5LCA2NTAwLCAzNDAsIDY1MDIsIDY1MDMsIDY1MDQsIDY1MDUsIDY1MDYsIDY1MDcsIDY1MDgsIDY1MDksCisgNjUxMCwgNjUxMSwgNjUxMiwgNjUxMywgNjUxNCwgNjUxNSwgNjUxNiwgNjUxNywgNjUxOCwgNjUxOSwgNzgyLCA2NTIxLCA2NTIyLAorIDY1MjMsIDY1MjQsIDY1MjUsIDY1MjYsIDY1MjcsIDY1MjgsIDY1MjksIDY1MzAsIDY1MzEsIDY1MzIsIDY1MzMsIDY1MzQsIDY1MzUsCisgNjUzNiwgNjUzNywgNjUzOCwgNjMyMCwgNjU0MCwgNjU0MSwgNjU0MiwgNjU0MywgNjU0NCwgNjU0NSwgNjU0NiwgNjU0NywgNjU0OCwKKyA2NTQ5LCA2NTUwLCA2NTUxLCA2NTUyLCA2NTUzLCA3NjUsIDY1NTUsIDY1NTYsIDY1NTcsIDY1NTgsIDY1NTksIDY1NjAsIDY1NjEsCisgNjU2MiwgNjU2MywgNjU2NCwgNjU2NSwgNjU2NiwgNjU2NywgNjU2OCwgNjU2OSwgNjU3MCwgNjU3MSwgNjU3MiwgNDAsIDY1NzMsCisgNDgsIDY1NTQsIDQ5LCA2NTM5LCA1MCwgNjUyMCwgMywgNjUwMSwgNDEsIDY0ODIsIDQyLCA2NDYzLCA0MywgNjQ0NCwgNDQsCisgNjQyNSwgNjU3NCwgNjU3NSwgNjU3NiwgNjU3NywgNjU3OCwgNjU3OSwgNjU4MCwgNjU4MSwgNjU4MiwgNjU4MywgNjU4NCwgNjU4NSwKKyA2NTg2LCA2NTg3LCA2NTg4LCA2NTg5LCA2NTkwLCA2NTkxLCA2NTkyLCA2NTkzLCA2NTk0LCA2NTk1LCA2NTk2LCA2NTk3LCA2NTk4LAorIDY1OTksIDY2MDAsIDY2MDEsIDY0MDYsIDY2MDIsIDY2MDMsIDY2MDQsIDY2MDUsIDY2MDYsIDYzNjMsIDYzNDQsIDY2MDcsIDY2MDgsCisgNjYwOSwgNjYxMCwgNjYxMSwgNjYxMiwgNjYxMywgNjYxMywgNjYxNCwgNjYxNSwgNjYxNiwgNjEwMSwgNTIwMywgNjYxNywgNjYxOCwKKyA2NjE5LCA2NjE3LCA2NjE4LCA2NjE5LCA2NjIwLCA2NjIxLCAxNTY0LCA2NjIzLCA2NjI0LCA2NjI1LCA2NjI2LCA2NjI3LCA2NjI4LAorIDY2MjksIDY2MzAsIDY2MzEsIDY2MzIsIDY2MzMsIDY2MzQsIDY2MzUsIDY2MzYsIDY2MzcsIDY2MzgsIDY2MzgsIDY2MzksIDY2NDAsCisgNjY0MSwgNjY0MiwgNjY0MywgNjY0NCwgNjY0NSwgNjY0NiwgNjY0NiwgNjY0NywgNjY0OCwgNjY0OSwgNjY1MCwgNjY1MCwgNjY1MSwKKyA2NjUyLCAzNzM3LCA2NjU0LCA2NjU1LCA2NjU2LCA2NjU3LCA2NjU4LCA2NjU5LCA4MzUsIDgzNSwgNjY2MSwgNjY2MiwgNjY2MywKKyA2NjY0LCA2NjY0LCA2NjY1LCA2NjY2LCA2NjY3LCA2NjY4LCA2NjY4LCA2NjY5LCA2NjcwLCA2NjcxLCA2NjYwLCA2NjcyLCA2NjczLAorIDY2NzIsIDY2NzMsIDY2NzQsIDY2NzUsIDgzNSwgNjY3NywgNjY3OCwgNjY3OSwgNjY4MCwgNjY4MSwgNjY4MiwgNjY4MywgNjY4NCwKKyA2Njg1LCA2Njg2LCA2Njg3LCA2Njg4LCA2Njg5LCA2NjkwLCA2NjkxLCA2NjkyLCA2NjkzLCA2Njk0LCA4MzUsIDgzNSwgNjY5NiwKKyA2Njk3LCA2Njk4LCA2Njk5LCA2NzAwLCA2NzAxLCA2NzAyLCA2NzAzLCA2NzA0LCA2NzA1LCA2NzA2LCA2NzA3LCA2NzA4LCA2NzA5LAorIDY3MTAsIDY3MTEsIDY3MTIsIDY3MTMsIDY3MTQsIDY3MTUsIDY3MTYsIDY3MTcsIDY3MTgsIDY3MTksIDY3MjAsIDY3MjEsIDY3MjIsCisgNjcyMywgNjcyNCwgNjcyNSwgNjcyNiwgNjcyNywgNjcyOCwgNjcyOSwgNjczMCwgNjczMSwgNjczMiwgNjczMywgNjczNCwgNjczNSwKKyA2NzM1LCA2NzM2LCA2NzM3LCA2NzM4LCA2Njk1LCA2NzQwLCA2NzM5LCA2NzQwLCA2NzQxLCA2NzQyLCA2NzQzLCA2Njc2LCA2NzQ0LAorIDY3NDUsIDY3NDQsIDY3NDUsIDY3NDYsIDY3NDcsIDc1MCwgNjc0OSwgNjc1MCwgNjc1MSwgNTEyLCA3NjIsIDc2MywgNzY0LAorIDc2NSwgNjc1MiwgNjc1MywgNjc1NCwgNjc1NSwgNjc1NiwgNjc1NiwgNjc1NywgNjc1OCwgNjc1OSwgNjc2MCwgNjc2MCwgNjc2MSwKKyA2NzYyLCA2NzYzLCA2NzY0LCA2NzY0LCA2NzY1LCA2NzY2LCA2NzY3LCA1MTIsIDc2MiwgNzYzLCA3NjQsIDc2NSwgNjc2OCwKKyA2NzY4LCA2NzY5LCA2NzcwLCAzMjQ4LCA2NzcyLCA2NzczLCA5NTEsIDk1MSwgNjc3NSwgNjc3NiwgNjc3NywgNjc3OCwgNjc3OCwKKyA2Nzc5LCA2NzgwLCA2NzgxLCA2NzgyLCA2NzgyLCA2NzgzLCA2Nzg0LCA2Nzg1LCA2Nzg2LCA2Nzg2LCA2Nzg3LCA2Nzg4LCA2Nzg5LAorIDY3OTAsIDY3OTAsIDY3OTEsIDY3OTIsIDY3OTMsIDY3NzQsIDY3OTUsIDY3OTQsIDY3OTYsIDY3OTcsIDY3OTgsIDY3OTksIDY3OTksCisgNjgwMCwgNjgwMSwgMzg4LCAzODgsIDY4MDMsIDY4MDQsIDY4MDUsIDY4MDYsIDY4MDYsIDY4MDcsIDY4MDgsIDY4MDksIDY4MTAsCisgNjgxMCwgNjgxMSwgNjgxMiwgNjgxMywgNjgxNCwgNjgxNCwgNjgxNSwgNjgxNiwgNjgxNywgNjgxOCwgNjgxOSwgNjgyMCwgNjgyMSwKKyA2ODIyLCA2ODIzLCA2ODI0LCA2ODI1LCA2ODI2LCA2ODI3LCA2ODI4LCA2ODI5LCA2ODMwLCA2ODMxLCA2ODMyLCA2ODMzLCA2ODM0LAorIDY4MzUsIDY4MzYsIDY4MzcsIDY4MzgsIDY4MzgsIDY4MzksIDY4NDAsIDY4NDEsIDY4NDIsIDY4NDIsIDY4NDMsIDY4NDQsIDY4NDUsCisgNjg0NiwgNjg0NiwgNjg0NywgNjg0OCwgNjg0OSwgNjg1MCwgNjg1MCwgNjg1MSwgNjg1MiwgNjg1MywgNjg1NCwgNjg1NCwgNjg1NSwKKyA2ODU2LCA2ODU3LCA2ODU4LCA2ODU4LCA2ODU5LCA2ODYwLCA2ODYxLCA2ODYyLCA2ODYyLCA2ODYzLCA2ODY0LCA2ODY1LCA2ODY2LAorIDY4NjYsIDY4NjcsIDY4NjgsIDY4NjksIDY4NzAsIDY4NzAsIDY4NzEsIDY4NzIsIDY4NzMsIDY4NzQsIDY4NzQsIDY4NzUsIDY4NzYsCisgNjg3NywgNjg3OCwgNjg3OCwgNjg3OSwgNjg4MCwgNjg4MSwgNjg4MiwgNjg4MiwgNjg4MywgNjg4NCwgNjg4NSwgNjg4NiwgNjg4NywKKyA2ODg4LCA2ODg5LCA2ODkwLCA2ODkwLCA2ODkxLCA2ODkyLCA2NzQsIDM0OTMsIDM0OTMsIDY4OTQsIDY4OTUsIDM5ODQsIDY4OTcsCisgNjg5OCwgNjg5OSwgNjkwMCwgNjkwMCwgNjkwMSwgNjkwMiwgNjkwMywgNjkwNCwgNjkwNCwgNjkwNSwgNjkwNiwgNjkwNywgNjkwOCwKKyA2OTA4LCA2OTA5LCA2OTEwLCA2OTExLCA2OTEyLCA2OTEyLCA2OTEzLCA2OTE0LCA0MDExLCA2OTE2LCA2OTE3LCA2OTE4LCA2OTE5LAorIDY5MTksIDY5MjAsIDY5MjEsIDY5MjIsIDY5MjMsIDY5MjMsIDY5MjQsIDY5MjUsIDk3NSwgNjEwNSwgNjkyNywgNjkyOCwgNjkyOSwKKyA2OTMwLCA2OTMwLCA2OTMxLCA2OTMyLCAzMzEzLCAzMzEzLCA2OTM0LCA2OTM1LCA2OTM2LCA2OTM3LCA2OTM3LCA2OTM4LCA2OTM5LAorIDY5NDAsIDY5NDEsIDY5NDIsIDY5NDMsIDQwNDQsIDQwNDUsIDQwNDQsIDQwNDUsIDQwNDksIDY5NDUsIDY5NDYsIDY5NDcsIDY5NDgsCisgNjk0OSwgNjk1MCwgNDA1OSwgNDA2MCwgNDA1OSwgNDA2MCwgNDA2NCwgNjk1MiwgNjk1MywgNjk1NCwgNjk1NSwgNjk1NiwgNjk1NywKKyA2OTU4LCA2OTUxLCAxMDA4LCA2OTU5LCA2OTYwLCA2OTYxLCA2OTYyLCA2OTYzLCAxMDA4LCA2OTU5LCA2OTYwLCA2OTY0LCA2OTY1LAorIDY5NjYsIDY5NjcsIDY5NjgsIDY5NjgsIDY5NjksIDY5NzAsIDY5NzEsIDIsIDY5NDQsIDY5MzMsIDY5NzIsIDY5NzMsIDY5NzQsCisgNjk3MiwgNjk3MywgNjk3NCwgNjk3NSwgNjk3NiwgNjc5NSwgNDEyMSwgNjk3OCwgNjk3OSwgNjk4MCwgNjk4MSwgNjk4MiwgNjk4MywKKyA2OTg0LCA2OTg1LCA2OTg1LCA2OTg2LCA2OTg3LCA2OTg4LCA2OTg5LCA2OTg5LCA2OTkwLCA2OTkxLCA2OTkyLCA2OTkzLCA2OTkzLAorIDY5OTQsIDY5OTUsIDY5OTYsIDY5OTcsIDY5OTcsIDY5OTgsIDY5OTksIDcwMDAsIDcwMDEsIDcwMDEsIDcwMDIsIDcwMDMsIDcwMDQsCisgNzAwNSwgNzAwNSwgNzAwNiwgNzAwNywgNzAwOCwgNjk3NywgNjkyNiwgNjkxNSwgNjg5NiwgNjg5MywgNjgwMiwgNjc3MSwgNjc0OCwKKyA2NjUzLCA2NjIyLCA1MTAwLCA1MDkzLCA1MDUzLCA0MTk0LCAzMDY5LCAzMDM0LCAyODQwLCAyODIzLCA3MDI3LCA3MDI4LCA3MDI5LAorIDcwMzAsIDcwMzEsIDI4MzAsIDcwMzMsIDI4MzMsIDcwMzUsIDcwMzYsIDcwMzQsIDcwMzgsIDcwMzcsIDcwMzksIDcwNDAsIDI4NDEsCisgNzA0MiwgNzA0MywgNzA0NCwgNzA0NSwgNzA0NiwgMjg0OCwgNzA0OCwgNzA0OSwgNzA1MCwgNzA1MCwgNzA1MSwgNzA1MiwgNzA1MywKKyA3MDU0LCA3MDU0LCA3MDU1LCA3MDU2LCA3MDU3LCA3MDU4LCA3MDU4LCA3MDU5LCA3MDYwLCA3MDYxLCA3MDYyLCA3MDYyLCA3MDYzLAorIDcwNjQsIDcwNjUsIDcwNjYsIDcwNjYsIDcwNjcsIDcwNjgsIDcwNjksIDcwNzAsIDcwNzAsIDcwNzEsIDcwNzIsIDcwNzMsIDcwNzQsCisgNzA3NCwgNzA3NSwgNzA3NiwgNzA3NywgNzA3OCwgNzA3OSwgNzA4MCwgNzA4MSwgNzA4MiwgNzA4MiwgNzA4MywgNzA4NCwgNzA4NSwKKyA3MDg2LCA3MDg2LCA3MDg3LCA3MDg4LCA3MDg5LCA3MDkwLCA3MDkwLCA3MDkxLCA3MDkyLCA3MDkzLCA3MDk0LCA3MDk0LCA3MDk1LAorIDcwOTYsIDcwOTcsIDcwOTgsIDcwOTgsIDcwOTksIDcxMDAsIDcxMDEsIDcxMDIsIDcxMDIsIDcxMDMsIDcxMDQsIDcxMDUsIDcxMDYsCisgNzEwNiwgNzEwNywgNzEwOCwgNzEwOSwgNzExMCwgNzExMCwgNzExMSwgNzExMiwgNzExMywgNzExNCwgNzExNSwgNzExNiwgNzExNywKKyA3MTE4LCA3MTE4LCA3MTE5LCA3MTIwLCA3MTIxLCA3MTIyLCA3MTIyLCA3MTIzLCA3MTI0LCA3MTI1LCA3MTI2LCA3MTI2LCA3MTI3LAorIDcxMjgsIDI5MzEsIDcxMzAsIDI5MzQsIDcxMzIsIDcxMzMsIDcxMzEsIDcxMzQsIDcxMzUsIDcxMzYsIDcxMzcsIDcxMzgsIDcxMzksCisgNzE0MCwgNzE0MSwgNzE0MiwgNzE0MywgNzE0NCwgNzE0NSwgNzE0NiwgNzE0NywgNzE0OCwgNzE0OSwgNzE1MCwgNzE1MSwgNzE1MiwKKyA3MTUzLCA3MTU0LCA3MTU1LCA3MTU2LCA3MTU3LCA3MTU4LCA3MTU5LCA3MTYwLCA3MTYxLCA3MTYyLCA3MTYzLCA3MTYzLCA3MTY0LAorIDcxNjUsIDcxNjYsIDcxNjcsIDcxNjgsIDcxNjksIDcxNzAsIDcxNzEsIDcxNzEsIDcxNzIsIDcxNzMsIDcxNzQsIDcxNzUsIDcxNzUsCisgNzE3NiwgNzE3NywgMjk4MiwgNzE3OSwgNzE4MCwgNzE4MSwgNzE4MSwgNzE4MiwgNzE4MywgNzE4NCwgNzE4NSwgNzE4NSwgNzE4NiwKKyA3MTg3LCA3MTg4LCA3MTg5LCA3MTg5LCA3MTkwLCA3MTkxLCAyOTk3LCA3MTkzLCA3MTk0LCA3MTk1LCA3MTk1LCA3MTk2LCA3MTk3LAorIDMwMDQsIDcxOTksIDcyMDAsIDcyMDEsIDcyMDIsIDcyMDMsIDcyMDQsIDcyMDUsIDcyMDYsIDcyMDcsIDcyMDgsIDcyMDksIDcyMTAsCisgNzIxMSwgNzIxMiwgNzIxMywgNzIxMywgNzIxNCwgNzIxNSwgNzIxNiwgNzE5OCwgNzIxOCwgNzIxOCwgNzIxNywgNzIxNywgNzIxOSwKKyA3MjIwLCA3MjIxLCA3MTkyLCA3MTc4LCA3MTI5LCA3MjIzLCA3MjIzLCA3MjIyLCA3MjI0LCA3MjI1LCA3MjIyLCA3MjI0LCA3MjI1LAorIDcyMjYsIDcyMjcsIDMwMzUsIDcyMjksIDcyMzAsIDcyMzEsIDcyMzEsIDcyMzIsIDcyMzMsIDcyMzQsIDcyMzUsIDcyMzUsIDcyMzYsCisgNzIzNywgNzIzOCwgNzIzOSwgNzIzOSwgNzI0MCwgNzI0MSwgNzI0MiwgNzI0MywgNzI0MywgNzI0NCwgNzI0NSwgNzI0NiwgNzI0NywKKyA3MjQ4LCA3MjQ5LCA3MjUwLCA3MjUxLCA3MjUyLCA3MjUzLCA3MjU0LCA3MjU1LCA3MjU1LCA3MjU2LCA3MjU3LCA3MjU4LCA3MjU5LAorIDcyNTksIDcyNjAsIDcyNjEsIDMwNzAsIDcyNjMsIDcyNjQsIDcyNjUsIDcyNjYsIDcyNjcsIDMwNzcsIDcyNjksIDcyNzAsIDcyNzEsCisgNzI3MiwgNzI3MywgNzI3NCwgNzI2OCwgNzI3NSwgNzI3NiwgNzI3NywgNzI3OCwgMzA4OSwgNzI4MCwgNzI4MSwgNzI4MiwgNzI4MywKKyA3Mjg0LCA3Mjg1LCA3Mjg2LCA3Mjg3LCA3Mjg4LCA3Mjg5LCA3Mjc5LCA3MjkwLCA3MjkxLCA3MjkyLCA3MjkzLCA3Mjk0LCA3Mjk1LAorIDcyOTYsIDcyOTcsIDcyOTgsIDcyOTksIDcyOTksIDczMDAsIDczMDEsIDczMDIsIDczMDMsIDczMDMsIDczMDQsIDczMDUsIDczMDYsCisgNzMwNywgNzMwNywgNzMwOCwgNzMwOSwgMzEyMSwgNzMxMSwgNzMxMiwgNzMxMywgNzMxMywgNzMxNCwgNzMxNSwgNzMxNiwgNzMxNywKKyA3MzE3LCA3MzE4LCA3MzE5LCA3MzIwLCA3MzIxLCA3MzIxLCA3MzIyLCA3MzIzLCA3MzI0LCA3MzI1LCA3MzI1LCA3MzI2LCA3MzI3LAorIDMxNDAsIDczMjksIDMxNDMsIDczMzEsIDMxNDYsIDczMzMsIDczMzQsIDczMzIsIDczMzAsIDczMzUsIDczMzYsIDczMzcsIDczMzUsCisgNzMzNiwgNzMzNywgNzMzOCwgNzMzOSwgMzE1NSwgNzM0MSwgNzM0MiwgNzM0MywgNzI5MCwgNzI5MSwgNzM0NCwgNzM0NSwgMzE2MiwKKyA3MzQ3LCA3MzQ4LCA3MzQ5LCA3MzUwLCA3MzUxLCA3MzUyLCA3MzUzLCA3MzU0LCA3MzU1LCAzMTczLCA3MzU3LCAzMTc2LCA3MzU5LAorIDMxNzksIDczNjEsIDczNjIsIDczNjAsIDczNTgsIDczNjMsIDczNjQsIDczNjUsIDczNjYsIDczNjcsIDMxODgsIDczNjksIDczNzAsCisgNzM3MSwgNzM3MiwgNzM3MywgMzE5NSwgNzM3NSwgNzM3NiwgNzAyOSwgNzM3NywgNzM3OCwgNzM3OSwgMzIwMiwgNzM4MSwgNzM4MiwKKyA3MzgzLCA3Mzg0LCA3Mzg1LCAzMjA5LCA3Mzg3LCA3Mzg4LCA3Mzg5LCA3MzkwLCA3MzkxLCAzMjE2LCA3MzkzLCAzMjE5LCA3Mzk1LAorIDMyMjIsIDczOTcsIDMyMjUsIDczOTksIDMyMjgsIDc0MDEsIDc0MDIsIDc0MDAsIDczOTgsIDczOTYsIDczOTQsIDc0MDMsIDc0MDQsCisgNzQwNSwgNzQwNiwgNzAzOCwgNzQwNywgNzQwOCwgNzQwOSwgMzIzOSwgNzQxMSwgMzI0MiwgNzQxMywgMzI0NSwgNzQxNSwgNzQxNiwKKyA3NDE0LCA3NDEyLCA3NDE3LCA3NDE4LCA3NDE5LCA3NDIwLCA3NDIxLCA3NDIyLCA3NDEwLCA3MzkyLCA3Mzg2LCA3MzgwLCA3Mzc0LAorIDczNjgsIDczNTYsIDczNDYsIDczNDAsIDc0MjQsIDc0MjUsIDc0MjYsIDc0MjcsIDc0MjgsIDc0MzEsIDc0MjMsIDc0MjksIDc0MzAsCisgNzQzMiwgNzQzMywgNzQzNCwgNzA3OCwgNzA3OCwgNzQzNiwgNzQzNywgNzQzOCwgNzQzOSwgNzQzOSwgNzQ0MCwgNzQ0MSwgNzQ0MiwKKyA3NDQzLCA3NDQzLCA3NDQ0LCA3NDQ1LCA3NDQ2LCA3NDQ3LCA3NDQ3LCA3NDQ4LCA3NDQ5LCA3NDUwLCA3NDUxLCA3NDUxLCA3NDUyLAorIDc0NTMsIDc0NTQsIDc0NTUsIDc0NTUsIDc0NTYsIDc0NTcsIDc0NTgsIDc0NTksIDc0NTksIDc0NjAsIDc0NjEsIDc0NjIsIDc0NjMsCisgNzQ2MywgNzQ2NCwgNzQ2NSwgNzQ2NiwgNzQ2NywgNzQ2NywgNzQ2OCwgNzQ2OSwgNzQ3MCwgNzQ3MSwgNzQ3MSwgNzQ3MiwgNzQ3MywKKyA3NDc0LCA3NDc1LCA3NDc1LCA3NDc2LCA3NDc3LCA3MjE4LCA3MjE4LCA3NDc5LCA3NDgwLCA3NDgxLCA3NDc4LCA3NDgyLCA3NDgyLAorIDc0ODMsIDc0ODMsIDc0ODQsIDc0ODUsIDcyNDcsIDc0ODcsIDc0ODgsIDc0ODksIDc0OTAsIDc0OTAsIDc0OTEsIDc0OTIsIDc0OTMsCisgNzQ5NCwgNzQ5NCwgNzQ5NSwgNzQ5NiwgMzMyOSwgNzQ5OCwgMzMzMiwgNzUwMCwgNzUwMSwgNzUwMiwgNzUwMiwgNzUwMywgNzUwNCwKKyA3NTA1LCA3NTA2LCA3NTA2LCA3NTA3LCA3NTA4LCA3NTA5LCA3NTEwLCA3NTEwLCA3NTExLCA3NTEyLCA3NTEzLCA3NTE0LCA3NTE0LAorIDc1MTUsIDc1MTYsIDc1MTcsIDc1MTgsIDc1MTgsIDc1MTksIDc1MjAsIDc1MjEsIDc1MjIsIDc1MjIsIDc1MjMsIDc1MjQsIDc1MjUsCisgNzUyNiwgNzUyNiwgNzUyNywgNzUyOCwgNzUyOSwgNzUzMCwgNzUzMCwgNzUzMSwgNzUzMiwgNzUzMywgNzUzNCwgNzUzNCwgNzUzNSwKKyA3NTM2LCA3NTM3LCA3NTM4LCA3NTM4LCA3NTM5LCA3NTQwLCA3NTQxLCA3NTQyLCA3NTQyLCA3NTQzLCA3NTQ0LCA3NTQ1LCA3NTQ2LAorIDc1NDYsIDc1NDcsIDc1NDgsIDMzODMsIDc1NTAsIDc1NTEsIDc1NDksIDc0OTksIDc1NTIsIDc1NTIsIDc1NTQsIDc1NTQsIDc1NTMsCisgNzU1MywgNzU1NSwgNzU1NiwgNzU1NywgNzU1OCwgNzU1OCwgNzU1OSwgNzU2MCwgNzU2MSwgNzU2MiwgNzU2MiwgNzU2MywgNzU2NCwKKyAzNDAwLCA3NTY2LCA3NTY3LCA3NTY4LCA3NTY5LCA3NTcwLCA3NTcxLCA3NTcyLCA3NTczLCA3NTc0LCA3NTc1LCA1NDMsIDU0MywKKyA3NTc2LCA3NTc3LCA3NTc4LCA3NTc5LCA3NTgwLCA3NTgwLCA3NTgxLCA3NTgyLCAzNDE5LCA3NTg0LCA3NTg1LCA3NTg2LCA3NTg2LAorIDc1ODcsIDc1ODgsIDc1ODksIDc1OTAsIDc1OTAsIDc1OTEsIDc1OTIsIDc1OTMsIDc1OTQsIDc1OTQsIDc1OTUsIDc1OTYsIDc1OTcsCisgNzU5OCwgNzU5OCwgNzU5OSwgNzYwMCwgNzYwMSwgNzYwMiwgNzYwMiwgNzYwMywgNzYwNCwgNzYwNSwgNzYwNiwgNzYwNiwgNzYwNywKKyA3NjA4LCA3NjA5LCA3NjEwLCA3NjEwLCA3NjExLCA3NjEyLCA3NjEzLCA3NjE0LCA3NjE0LCA3NjE1LCA3NjE2LCA3NjE3LCA3NjE4LAorIDc2MTgsIDc2MTksIDc2MjAsIDc2MjEsIDc2MjIsIDc2MjIsIDc2MjMsIDc2MjQsIDc2MjUsIDc2MjYsIDc2MjYsIDc2MjcsIDc2MjgsCisgNzYyOSwgNzYzMCwgNzYzMCwgNzYzMSwgNzYzMiwgNzYzMywgNzYzNCwgNzYzNCwgNzYzNSwgNzYzNiwgNzYzNywgNzYzOCwgNzYzOCwKKyA3NjM5LCA3NjQwLCAzNDc4LCA3NjQyLCA3NjQzLCA3NjQ0LCA3NjQ0LCA3NjQ1LCA3NjQ2LCA3NjQ3LCA3NjQ4LCA3NjQ4LCA3NjQ5LAorIDc2NTAsIDc2NTEsIDc2NTIsIDc2NTIsIDc2NTMsIDc2NTQsIDc2NTUsIDc2NTYsIDc2NTYsIDc2NTcsIDc2NTgsIDc2NTksIDc2NjAsCisgNzY2MCwgNzY2MSwgNzY2MiwgNzY2MywgNzY0MSwgNzY2NCwgNzY2NCwgNzY2NSwgNzY2NSwgNzY2NiwgNzY2NywgNzA0NywgNzY2OSwKKyA3NjcwLCA3NjcxLCA3NjcyLCA3NjczLCA3NjczLCA3Njc0LCA3Njc1LCAzNTE0LCA3Njc3LCA3Njc4LCA3Njc5LCA3MzQ5LCA3NjgwLAorIDc2ODEsIDc2ODIsIDc2ODMsIDc2ODQsIDc2ODUsIDM1MjUsIDc2ODcsIDc2ODgsIDczNjMsIDczNjQsIDc2ODksIDc2OTAsIDc2OTEsCisgNzM3NywgNzY5MywgNzY5NCwgMzUzNSwgNzY5NiwgMzUzOCwgNzY5OCwgNzY5OSwgNzY5NywgNzQwMywgNzQwNCwgNzQwNSwgNzcwMCwKKyA3NzAxLCA3NzAyLCA3NzAzLCAzNTQ2LCA3NzA1LCA3NzA2LCA3NDE4LCA3NzA3LCA3NzA4LCA3NzA5LCAzNTUzLCA3NzExLCA3NzEyLAorIDc3MTMsIDc3MTMsIDc3MTQsIDc3MTUsIDc3MTYsIDc3MTcsIDc3MTcsIDc3MTgsIDc3MTksIDc3MjAsIDc3MTAsIDc3MDQsIDc2OTUsCisgNzY5MiwgNzY4NiwgNzQyNiwgNzQzMSwgNzcyMSwgNzcyMSwgNzcyNSwgNzcyNiwgNzcyMiwgNzcyMywgNzcyNCwgNzcyNywgNzcyOCwKKyA3NzI5LCA3Njc2LCA3NzMwLCA3NzMxLCA3NzMwLCA3NzMxLCA3NzMyLCA3NzMzLCAzNTc4LCA3NzM1LCA3NzM2LCA3NzM3LCA3NzM4LAorIDc3MzksIDc3NDAsIDc3NDEsIDc3NDIsIDc3NDMsIDc3NDQsIDc3NDUsIDc3NDYsIDc3NDcsIDc3NDgsIDc3NDksIDc3NTAsIDc3NTEsCisgNzc1MiwgNzc1MywgNzc1NCwgNzc1NSwgNzc1NiwgNzc1NywgNzc1NywgNzc1OCwgNzc1OSwgNzc2MCwgNzc2MSwgNzc2MSwgNzc2MiwKKyA3NzYzLCA3NzY0LCA3NzY1LCA3NzY2LCA3NzY3LCAzNjEzLCA3NzY5LCA3NzcwLCA3NzcxLCA3NzcyLCA3NzczLCA3Nzc0LCA3Nzc1LAorIDc3NzYsIDc3NzcsIDc3NzgsIDc3NzksIDc3ODAsIDc3ODEsIDc3ODIsIDc3ODMsIDc3ODQsIDc3ODUsIDcyMjMsIDcyMjMsIDc3ODcsCisgNzc4OCwgMzYzNSwgNzc5MCwgNzc5MSwgNzc5MiwgNzc5MiwgNzc5MywgNzc5NCwgNzc5NSwgNzc5NiwgNzc5NiwgNzc5NywgNzc5OCwKKyA3Nzk5LCA3ODAwLCA3ODAwLCA3ODAxLCA3ODAyLCA3ODAzLCA3ODA0LCA3ODA0LCA3ODA1LCA3ODA2LCA3ODA3LCA3ODA4LCA3ODA4LAorIDc4MDksIDc4MTAsIDc4MTEsIDc4MTIsIDc4MTIsIDc4MTMsIDc4MTQsIDM2NjIsIDc4MTYsIDc4MTcsIDc4MTgsIDc4MTgsIDc4MTksCisgNzgyMCwgNzgyMSwgNzgyMiwgNzgyMiwgNzgyMywgNzgyNCwgNzgyNSwgNzgyNiwgNzgyNiwgNzgyNywgNzgyOCwgMzY3NywgNzgzMCwKKyA3ODMxLCA3ODMyLCA3ODMyLCA3ODMzLCA3ODM0LCA3ODM1LCA3ODM2LCA3ODM2LCA3ODM3LCA3ODM4LCA3ODM5LCA3ODQwLCA3ODQwLAorIDc4NDEsIDc4NDIsIDc4NDMsIDc4NDQsIDc4NDQsIDc4NDUsIDc4NDYsIDc4NDcsIDc4MjksIDc4MTUsIDc3ODksIDUxMiwgNzYyLAorIDc2MywgNzY0LCA3NjUsIDc4NDgsIDc4NDksIDc4NTAsIDc4NTEsIDc4NDgsIDc4NDksIDc4NTAsIDc4NTEsIDc4NTIsIDc4NTMsCisgNzg1NCwgNzg1NSwgNzg1NSwgNzg1NiwgNzg1NywgNzg1OCwgNzg1OSwgNzg1OSwgNzg2MCwgNzg2MSwgNzg2MiwgNzg2MywgNzg2MywKKyA3ODY0LCA3ODY1LCA3ODY2LCA3ODY3LCA3ODY3LCA3ODY4LCA3ODY5LCA3ODcwLCA3Nzg2LCA3NzY4LCA3ODcxLCA3ODcxLCA3ODcyLAorIDc4NzMsIDc4NzQsIDc4NzUsIDc4NzYsIDc4NzcsIDc4NzcsIDc4NzgsIDc4NzksIDc4ODAsIDc3MzQsIDc4ODEsIDc4ODIsIDc4ODEsCisgNzg4MiwgNzg4MywgNzg4NCwgMzczNCwgNzg4NiwgNzg4NywgNzg4OCwgNzg4OSwgNzg5MCwgNzg5MSwgNzg5MiwgNzg5MiwgNzg5MywKKyA3ODk0LCAzNzQ1LCA3ODk2LCA3ODk3LCA3ODk4LCA3ODk5LCA3OTAwLCA3OTAxLCA3OTAyLCA3OTAzLCA3OTA0LCA3OTA1LCA3OTA2LAorIDc5MDcsIDc5MDgsIDc5MDksIDc5MTAsIDc5MTEsIDc5MTIsIDc5MTMsIDc5MTQsIDc5MTUsIDc5MTYsIDc5MTcsIDc5MTgsIDc5MTksCisgNzkyMCwgNzkyMSwgNzkyMiwgNzkyMywgNzkyNCwgNzkyNSwgNzkyNiwgNzkyNiwgNzkyNywgNzkyOCwgNzkyOSwgNzg5NSwgNzkzMCwKKyA3OTMxLCA3OTMwLCA3OTMxLCA3OTMyLCA3OTMzLCAzNzg1LCA3OTM1LCA3OTM2LCA3OTM3LCA3OTM3LCA3OTM4LCA3OTM5LCA3OTQwLAorIDc5NDEsIDc5NDEsIDc5NDIsIDc5NDMsIDc5NDQsIDc5NDUsIDc5NDUsIDc5NDYsIDc5NDcsIDc5NDgsIDc5NDksIDc5NDksIDc5NTAsCisgNzk1MSwgNzk1MiwgNzk1MywgNzk1MywgNzk1NCwgNzk1NSwgNzk1NiwgNzk1NywgNzk1OCwgNzk1OSwgNzk2MCwgNzk2MSwgNzk2MiwKKyA3OTYzLCAzODE2LCA3OTY1LCA3OTY2LCA3OTY3LCA3OTY3LCA3OTY4LCA3OTY5LCA3OTcwLCA3OTcxLCA3OTcxLCA3OTcyLCA3OTczLAorIDc5NzQsIDc5NzUsIDc5NzUsIDc5NzYsIDc5NzcsIDc5NzgsIDc5NzksIDc5NzksIDc5ODAsIDc5ODEsIDc5ODIsIDc5ODMsIDc5ODMsCisgNzk4NCwgNzk4NSwgNzk4NiwgNzk4NywgNzk4NywgNzk4OCwgNzk4OSwgNzk5MCwgNzk5MSwgNzk5MSwgNzk5MiwgNzk5MywgNzk5NCwKKyA3OTk1LCA3OTk1LCA3OTk2LCA3OTk3LCA3OTk4LCA3OTk5LCA3OTk5LCA4MDAwLCA4MDAxLCA4MDAyLCA4MDAzLCA4MDAzLCA4MDA0LAorIDgwMDUsIDgwMDYsIDgwMDcsIDgwMDcsIDgwMDgsIDgwMDksIDgwMTAsIDgwMTEsIDgwMTIsIDgwMTMsIDM4NjcsIDgwMTUsIDgwMTYsCisgODAxNywgODAxNywgODAxOCwgODAxOSwgODAyMCwgODAyMSwgODAyMSwgODAyMiwgODAyMywgODAyNCwgODAyNSwgODAyNSwgODAyNiwKKyA4MDI3LCA4MDI4LCA4MDI5LCA4MDI5LCA4MDMwLCA4MDMxLCA4MDMyLCA4MDMzLCA4MDMzLCA4MDM0LCA4MDM1LCA4MDM2LCA4MDM3LAorIDgwMzcsIDgwMzgsIDgwMzksIDgwNDAsIDgwNDEsIDgwNDEsIDgwNDIsIDgwNDMsIDgwNDQsIDgwNDUsIDgwNDUsIDgwNDYsIDgwNDcsCisgODA0OCwgODA0OSwgODA0OSwgODA1MCwgODA1MSwgODA1MiwgODA1MywgODA1MywgODA1NCwgODA1NSwgODA1NiwgODA1NywgODA1OCwKKyA4MDU5LCA3MDMyLCA4MDYxLCA4MDYyLCA4MDYzLCA4MDY0LCA4MDY1LCA4MDY1LCA4MDY2LCA4MDY3LCA4MDY4LCA4MDY5LCA4MDY5LAorIDgwNzAsIDgwNzEsIDgwNzIsIDgwNzMsIDgwNzMsIDgwNzQsIDgwNzUsIDgwNzYsIDgwNzcsIDgwNzcsIDgwNzgsIDgwNzksIDgwODAsCisgODA4MSwgODA4MSwgODA4MiwgODA4MywgODA4NCwgODA4NSwgODA4NSwgODA4NiwgODA4NywgODA4OCwgODA4OSwgODA4OSwgODA5MCwKKyA4MDkxLCA4MDkyLCA4MDYwLCA4MDE0LCA4MDkzLCA4MDkzLCA4MDk0LCA4MDk1LCA4MDk2LCA4MDk3LCAzOTUyLCA4MDk5LCA4MTAwLAorIDgxMDEsIDgxMDIsIDgxMDMsIDgxMDQsIDgxMDUsIDgxMDYsIDgxMDcsIDgxMDgsIDgwOTgsIDc5NjQsIDgxMDksIDgxMDksIDgxMTAsCisgODExMSwgODExMiwgODExMywgODExNCwgODExNSwgODExNSwgODExNiwgODExNywgMzk3MywgODExOSwgODEyMCwgODEyMSwgODEyMSwKKyA4MTIyLCA4MTIzLCA4MTI0LCA4MTI1LCA4MTI1LCA4MTI2LCA4MTI3LCA4MTI4LCA4MTI5LCA4MTI5LCA4MTMwLCA4MTMxLCA4MTMyLAorIDgxMzMsIDgxMzMsIDgxMzQsIDgxMzUsIDgxMzYsIDgxMzcsIDgxMzcsIDgxMzgsIDgxMzksIDgxNDAsIDgxNDEsIDgxNDEsIDgxNDIsCisgODE0MywgNDAwMCwgODE0NSwgODE0NiwgODE0NywgODE0OCwgODE0OSwgODE1MCwgODE1MSwgODE1MiwgODE1MywgODE1NCwgODE1NSwKKyA4MTU1LCA4MTU2LCA4MTU3LCA4MTU4LCA4MTU5LCA4MTU5LCA4MTYwLCA4MTYxLCA0MDE5LCA4MTYzLCA4MTY0LCA4MTY1LCA4MTY1LAorIDgxNjYsIDgxNjcsIDgxNjgsIDgxNjksIDgxNjksIDgxNzAsIDgxNzEsIDgxNzIsIDgxNzMsIDgxNzMsIDgxNzQsIDgxNzUsIDgxNzYsCisgODE3NywgODE3NywgODE3OCwgODE3OSwgNDAzOCwgODE4MSwgNDA0MSwgODE4MywgODE4NCwgODE4MiwgODE4NSwgODE4NSwgODE4NiwKKyA4MTg2LCA4MTg3LCA4MTg4LCA4MTg5LCA4MTkwLCA4MTkxLCA4MTkyLCA0MDUzLCA4MTk0LCA0MDU2LCA4MTk2LCA4MTk3LCA4MTk1LAorIDgxOTgsIDgxOTgsIDgxOTksIDgxOTksIDgyMDAsIDgyMDEsIDgyMDIsIDgyMDMsIDgyMDQsIDgyMDUsIDgyMDYsIDgxOTMsIDEwMDgsCisgODIwNywgODIwOCwgODIwOSwgODIxMCwgODIxMSwgODIxMiwgODIxMiwgODIxMywgODIxNCwgODIxNSwgODE4MCwgODIxNiwgODIxNywKKyA4MjE2LCA4MjE3LCA4MjE4LCA4MjE5LCA0MDgyLCA4MjIxLCA4MjIyLCA4MjIzLCA4MjI0LCA4MjI1LCA4MjI2LCA4MjI3LCA4MjI4LAorIDgyMjksIDQwOTMsIDgyMzEsIDgyMzIsIDgyMzMsIDgyMzMsIDgyMzQsIDgyMzUsIDgyMzYsIDgyMzcsIDgyMzcsIDgyMzgsIDgyMzksCisgODI0MCwgODI0MSwgODI0MSwgODI0MiwgODI0MywgODI0NCwgODI0NSwgODI0NSwgODI0NiwgODI0NywgODI0OCwgODI0OSwgODI0OSwKKyA4MjUwLCA4MjUxLCA4MjUyLCA4MjUzLCA4MjU0LCA4MjU1LCA4MjU2LCA4MjMwLCA4MjU4LCA4MjU3LCA4MjU5LCA4MjYwLCA4MjYxLAorIDgyNjIsIDgyNjIsIDgyNjMsIDgyNjQsIDgyNjUsIDgyNjYsIDgyNjYsIDgyNjcsIDgyNjgsIDgyNjksIDgyNzAsIDgyNzAsIDgyNzEsCisgODI3MiwgODI3MywgODI3NCwgODI3NCwgODI3NSwgODI3NiwgODI3NywgODI3OCwgODI3OCwgODI3OSwgODI4MCwgODI4MSwgODI4MiwKKyA4MjgyLCA4MjgzLCA4Mjg0LCA4Mjg1LCA4MjIwLCA4MTYyLCA4MTQ0LCA4MTE4LCA3OTM0LCA3ODg1LCA3NjY4LCA3NTgzLCA3NTY1LAorIDc0OTcsIDc0ODYsIDgyODYsIDgyODcsIDgyODgsIDgyODksIDgyOTAsIDgyOTEsIDgyOTIsIDgyOTMsIDgyOTQsIDgyOTUsIDgyOTYsCisgODI5NywgODI4NiwgODI4NywgODI4OCwgODI4OSwgODI5MCwgODI5MSwgODI5MiwgODI5MywgODI5NCwgODI5NSwgODI5NiwgODI5NywKKyA4Mjk4LCA4Mjk5LCA0MTY0LCA4MzAxLCA4MzAyLCA4MzAzLCA4MzAzLCA4MzA0LCA4MzA1LCA4MzA2LCA4MzA3LCA4MzA3LCA4MzA4LAorIDgzMDksIDgzMTAsIDgzMTEsIDgzMTEsIDgzMTIsIDgzMTMsIDgzMTQsIDgzMTUsIDgzMTUsIDgzMTYsIDgzMTcsIDgzMTgsIDgzMTksCisgODMxOSwgODMyMCwgODMyMSwgODMyMiwgODMwMCwgNzQzNSwgNzMyOCwgNzMxMCwgODMyMywgODMyNCwgODMyNSwgODMyNiwgODMyNywKKyA4MzIzLCA4MzI0LCA4MzI1LCA4MzI2LCA4MzI3LCA4MzI4LCA4MzI5LCA0MTk1LCA4MzMxLCA4MzMyLCA4MzMzLCA4MzMzLCA4MzM0LAorIDgzMzUsIDQyMDIsIDgzMzcsIDQyMDUsIDgzMzksIDQyMDgsIDgzNDEsIDQyMTEsIDgzNDMsIDQyMTQsIDgzNDUsIDQyMTcsIDgzNDcsCisgNDIyMCwgODM0OSwgNDIyMywgODM1MSwgNDIyNiwgODM1MywgNDIyOSwgODM1NSwgODM1NiwgODM1NywgODM1NywgODM1OCwgODM1OSwKKyA4MzYwLCA4MzYxLCA4MzYxLCA4MzYyLCA4MzYzLCA4MzY0LCA4MzY1LCA4MzY1LCA4MzY2LCA4MzY3LCA0MjQ0LCA4MzY5LCA0MjQ3LAorIDgzNzEsIDQyNTAsIDgzNzMsIDQyNTMsIDgzNzUsIDQyNTYsIDgzNzcsIDgzNzgsIDgzNzYsIDgzNzQsIDgzNzIsIDgzNzAsIDgzNjgsCisgODM1NCwgODM1MiwgODM1MCwgODM0OCwgODM0NiwgODM0NCwgODM0MiwgODM0MCwgODMzOCwgODMzNiwgODM3OSwgODM4MCwgODM4MSwKKyA4MzgyLCA4MzgzLCA4Mzg0LCA4Mzg1LCA4Mzg2LCA4Mzg3LCA4Mzg4LCA4Mzg5LCA4MzkwLCA4MzkxLCA4MzkyLCA4MzkzLCA4Mzk0LAorIDgzNzksIDgzODAsIDgzODEsIDgzODIsIDgzODMsIDgzODQsIDgzODUsIDgzODYsIDgzODcsIDgzODgsIDgzODksIDgzOTAsIDgzOTEsCisgODM5MiwgODM5MywgODM5NCwgODM5NSwgODM5NiwgODM5NywgODM5OCwgODM5OSwgODQwMCwgNDI4MiwgODQwMiwgODQwMywgODQwNCwKKyA4NDA0LCA4NDA1LCA4NDA2LCA4NDA3LCA4NDA4LCA4NDA4LCA4NDA5LCA4NDEwLCA4NDExLCA4NDEyLCA4NDEyLCA4NDEzLCA4NDE0LAorIDg0MTUsIDg0MTYsIDg0MTYsIDg0MTcsIDg0MTgsIDg0MTksIDg0MjAsIDg0MjAsIDg0MjEsIDg0MjIsIDg0MjMsIDg0MDEsIDg0MjQsCisgODQyNSwgODQyNCwgODQyNSwgODQyNiwgODQyNywgNDMxMCwgODQyOSwgODQzMCwgODQzMSwgODQzMSwgODQzMiwgODQzMywgODQzNCwKKyA4NDM1LCA4NDM1LCA4NDM2LCA4NDM3LCA4NDM4LCA4NDM5LCA4NDM5LCA4NDQwLCA4NDQxLCA4NDQyLCA4NDQzLCA4NDQ0LCA4NDQ1LAorIDg0NDYsIDg0NDcsIDg0NDgsIDg0NDksIDg0NTAsIDg0NTEsIDg0NTIsIDg0NTMsIDg0NTQsIDg0NTUsIDg0NTYsIDg0NTcsIDg0NTgsCisgODQ1OSwgODQ2MCwgODQ2MSwgNDM0NSwgODQ2MywgODQ2NCwgODQ2NSwgODQ2NSwgODQ2NiwgODQ2NywgODQ2OCwgODQ2OSwgODQ2OSwKKyA4NDcwLCA4NDcxLCA4NDcyLCA4NDczLCA4NDczLCA4NDc0LCA4NDc1LCA4NDc2LCA4NDc3LCA4NDc4LCA4NDc5LCA4NDgwLCA4NDgxLAorIDg0ODIsIDg0ODMsIDg0ODQsIDg0ODUsIDg0ODYsIDg0ODcsIDg0ODgsIDg0ODksIDg0OTAsIDg0OTEsIDg0OTIsIDg0OTMsIDg0OTQsCisgODQ5NSwgODQ5NiwgODQ2MiwgODQ5NywgODQ5NywgODQ5OCwgODQ5OCwgODQ5OSwgODUwMCwgNDM4NSwgODUwMiwgODUwMywgODUwNCwKKyA4NTA0LCA4NTA1LCA4NTA2LCA4NTA3LCA4NTA4LCA4NTA4LCA4NTA5LCA4NTEwLCA4NTExLCA4NTEyLCA4NTEyLCA4NTEzLCA4NTE0LAorIDg1MTUsIDg1MTYsIDg1MTcsIDg1MTgsIDg1MTksIDg1MjAsIDg1MjEsIDg1MjIsIDg1MjMsIDg1MjQsIDg1MjUsIDg1MjYsIDg1MjcsCisgODUyOCwgODUyOSwgODUzMCwgODUzMSwgODUzMiwgODUzMywgODUzNCwgODUzNSwgODUzNiwgODUzNiwgODUzNywgODUzOCwgNDQyNCwKKyA4NTQwLCA4NTQxLCA4NTQyLCA4NTQyLCA4NTQzLCA4NTQ0LCA4NTQ1LCA4NTQ2LCA4NTQ2LCA4NTQ3LCA4NTQ4LCA4NTQ5LCA4NTUwLAorIDg1NTAsIDg1NTEsIDg1NTIsIDg1NTMsIDg1NTQsIDg1NTUsIDg1NTYsIDg1NTcsIDg1NTgsIDg1NTksIDg1NjAsIDg1NjEsIDg1NjIsCisgODU2MywgODU2NCwgODU2NSwgODU2NiwgODU2NywgODU2OCwgODU2OSwgODU3MCwgODU3MSwgODU3MiwgNDQ1OSwgODU3NCwgODU3NSwKKyA4NTc2LCA4NTc2LCA4NTc3LCA4NTc4LCA4NTc5LCA4NTgwLCA4NTgwLCA4NTgxLCA4NTgyLCA4NTgzLCA4NTg0LCA4NTg0LCA4NTg1LAorIDg1ODYsIDg1ODcsIDg1ODgsIDg1ODksIDg1OTAsIDg1OTEsIDg1OTIsIDg1OTMsIDg1OTQsIDg1OTUsIDg1OTYsIDg1OTcsIDg1OTgsCisgODU5OSwgODYwMCwgODYwMSwgODYwMiwgODYwMywgODYwNCwgODYwNSwgODYwNiwgODYwNywgODU3MywgODYwOSwgODYwOSwgODYwOCwKKyA4NjA4LCA4NjEwLCA4NjExLCA0NDk5LCA4NjEzLCA4NjE0LCA4NjE1LCA4NjE1LCA4NjE2LCA4NjE3LCA4NjE4LCA4NjE5LCA4NjE5LAorIDg2MjAsIDg2MjEsIDg2MjIsIDg2MjMsIDg2MjMsIDg2MjQsIDg2MjUsIDg2MjYsIDg2MjcsIDg2MjgsIDg2MjksIDg2MzAsIDg2MzEsCisgODYzMiwgODYzMywgODYzNCwgODYzNSwgODYzNiwgODYzNywgODYzOCwgODYzOSwgODY0MCwgODY0MSwgODY0MiwgODY0MywgODY0NCwKKyA4NjQ1LCA4NjQ2LCA4NjQ3LCA4NjQ3LCA4NjQ4LCA4NjQ5LCA0NTM4LCA4NjUxLCA4NjUyLCA4NjUzLCA4NjUzLCA4NjU0LCA4NjU1LAorIDg2NTYsIDg2NTcsIDg2NTcsIDg2NTgsIDg2NTksIDg2NjAsIDg2NjEsIDg2NjEsIDg2NjIsIDg2NjMsIDg2NjQsIDg2NjUsIDg2NjYsCisgODY2NywgODY2OCwgODY2OSwgODY3MCwgODY3MSwgODY3MiwgODY3MywgODY3NCwgODY3NSwgODY3NiwgODY3NywgODY3OCwgODY3OSwKKyA4NjgwLCA4NjgxLCA4NjgyLCA4NjgzLCA4Njg0LCA4Njg1LCA4Njg1LCA4Njg2LCA4Njg3LCA4Njg4LCA4Njg5LCA4Njg5LCA4NjkwLAorIDg2OTEsIDg2OTIsIDg2OTMsIDg2OTMsIDg2OTQsIDg2OTUsIDg2OTYsIDg2OTcsIDg2OTcsIDg2OTgsIDg2OTksIDg3MDAsIDg3MDEsCisgODcwMSwgODcwMiwgODcwMywgODcwNCwgODcwNSwgODcwNSwgODcwNiwgODcwNywgODcwOCwgODcwOSwgODcwOSwgODcxMCwgODcxMSwKKyA4NzEyLCA4NzEzLCA4NzEzLCA4NzE0LCA4NzE1LCA4NzE2LCA4NzE3LCA4NzE3LCA4NzE4LCA4NzE5LCA4NzIwLCA4NzIxLCA4NzIxLAorIDg3MjIsIDg3MjMsIDg3MjQsIDg3MjUsIDg3MjUsIDg3MjYsIDg3MjcsIDQ2MTcsIDg3MjksIDg3MzAsIDg3MzEsIDg3MzEsIDg3MzIsCisgODczMywgODczNCwgODczNSwgODczNSwgODczNiwgODczNywgODczOCwgODczOSwgODczOSwgODc0MCwgODc0MSwgODc0MiwgODc0MywKKyA4NzQ0LCA4NzQ1LCA4NzQ2LCA4NzQ3LCA4NzQ4LCA4NzQ5LCA4NzUwLCA4NzUxLCA4NzUyLCA4NzUzLCA4NzU0LCA4NzU1LCA4NzU2LAorIDg3NTcsIDg3NTgsIDg3NTksIDg3NjAsIDg3NjEsIDQ2NTIsIDg3NjMsIDg3NjQsIDg3NjUsIDg3NjUsIDg3NjYsIDg3NjcsIDg3NjgsCisgODc2OSwgODc2OSwgODc3MCwgODc3MSwgODc3MiwgODc3MywgODc3MywgODc3NCwgODc3NSwgODc3NiwgODc3NywgODc3OCwgODc3OSwKKyA4NzgwLCA4NzgxLCA4NzgyLCA4NzgzLCA4Nzg0LCA4Nzg1LCA4Nzg2LCA4Nzg3LCA4Nzg4LCA4Nzg5LCA4NzkwLCA4NzkxLCA4NzkyLAorIDg3OTMsIDg3OTQsIDg3OTUsIDg3OTYsIDg3NjIsIDg3MjgsIDg3OTcsIDg3OTgsIDg3OTksIDg3OTcsIDg3OTgsIDg3OTksIDg4MDAsCisgODgwMSwgNDY5MywgODgwMywgODgwNCwgODgwNSwgODgwNSwgODgwNiwgODgwNywgODgwOCwgODgwOSwgODgwOSwgODgxMCwgODgxMSwKKyA4ODEyLCA4ODEzLCA4ODEzLCA4ODE0LCA4ODE1LCA4ODE2LCA4ODE3LCA4ODE4LCA4ODE5LCA4ODIwLCA4ODIxLCA4ODIxLCA4ODIyLAorIDg4MjMsIDQ3MTYsIDg4MjUsIDg4MjYsIDg4MjcsIDg4MjcsIDg4MjgsIDg4MjksIDg4MzAsIDg4MzEsIDg4MzEsIDg4MzIsIDg4MzMsCisgODgzNCwgODgzNSwgODgzNSwgODgzNiwgODgzNywgODgzOCwgODgzOSwgODg0MCwgODg0MSwgODg0MiwgODg0MywgODg0NCwgODg0NSwKKyA4ODQ2LCA4ODQ3LCA4ODQ4LCA4ODQ5LCA4ODUwLCA4ODUxLCA4ODUxLCA4ODUyLCA4ODUzLCA4ODU0LCA4ODU1LCA4ODU1LCA4ODU2LAorIDg4NTcsIDg4NTgsIDg4NTksIDg4NTksIDg4NjAsIDg4NjEsIDg4NjIsIDg4NjMsIDg4NjMsIDg4NjQsIDg4NjUsIDg0OTcsIDg0OTcsCisgODg2NywgODg2OCwgODYwOSwgODYwOSwgODg3MCwgODg3MSwgNDc2NSwgODg3MywgODg3NCwgODg3NSwgODg3NSwgODg3NiwgODg3NywKKyA4ODc4LCA4ODc5LCA4ODc5LCA4ODgwLCA4ODgxLCA4ODgyLCA4ODgzLCA4ODgzLCA4ODg0LCA4ODg1LCA4ODg2LCA4ODg3LCA4ODg4LAorIDg4ODksIDg4OTAsIDg4OTEsIDg4OTIsIDg4OTMsIDg4OTQsIDg4OTUsIDg4OTYsIDg4OTcsIDg4OTgsIDg4OTksIDg5MDAsIDg5MDEsCisgODkwMiwgODkwMywgODkwMywgODkwNCwgODkwNSwgODkwNiwgODg3MiwgODg2OSwgODg2NiwgODgyNCwgODgwMiwgODY1MCwgODYxMiwKKyA4NTM5LCA4NTAxLCA4NDI4LCA4OTA3LCA4OTA4LCA4OTA5LCA4OTEwLCA4OTExLCA4OTEyLCA4OTEzLCA4OTE0LCA4OTE1LCA4OTE2LAorIDg5MTcsIDg5MDcsIDg5MDgsIDg5MDksIDg5MTAsIDg5MTEsIDg5MTIsIDg5MTMsIDg5MTQsIDg5MTUsIDg5MTYsIDg5MTcsIDg5MTgsCisgODkxOSwgODkyMCwgODkyMSwgODkyMiwgODkyMywgOTIsIDg5MjQsIDg5MjUsIDg5MjUsIDg5MjYsIDg5MjcsIDg5MjgsIDg5MjksCisgODkyOSwgODkzMCwgODkzMSwgODkzMiwgODkzMywgODkzMywgODkzNCwgODkzNSwgODkzNiwgODkzNywgODkzNywgODkzOCwgODkzOSwKKyA0ODM0LCA4OTQxLCA4OTQyLCA4OTQzLCA4OTQ0LCA4OTQ1LCA4OTQ2LCA4OTQ3LCA4OTQ4LCA4OTQ5LCA4OTUwLCA4OTUxLCA4OTUyLAorIDg5NTMsIDg5NTQsIDg5NTUsIDg5NTUsIDg5NTYsIDg5NTcsIDg5NTgsIDg5NTksIDg5NTksIDg5NjAsIDg5NjEsIDQ4NTcsIDg5NjMsCisgODk2NCwgODk2NSwgODk2NiwgODk2NywgODk2OCwgODk2OSwgODk3MCwgODk3MSwgODk3MiwgODk3MywgODk3NCwgODk3NSwgODk3NiwKKyA4OTc3LCA4OTc3LCA4OTc4LCA4OTc5LCA4OTgwLCA4OTgxLCA4OTgxLCA4OTgyLCA4OTgzLCA0ODgwLCA4OTg1LCA0ODgzLCA4OTg3LAorIDQ4ODYsIDg5ODksIDg5OTAsIDg5OTEsIDg5OTEsIDg5OTIsIDg5OTMsIDg5OTQsIDg5ODgsIDg5ODYsIDg5OTUsIDc1NTQsIDg5OTYsCisgODk5NywgODk5NSwgNzU1NCwgODk5NiwgODk5NywgODk5OCwgODk5OSwgOTAwMCwgNzU1MiwgNzU1MiwgOTAwMSwgOTAwMiwgOTAwMywKKyA5MDA0LCA5MDA1LCA5MDA1LCA5MDA2LCA5MDA3LCA3NTMwLCA5MDA5LCA5MDEwLCA5MDExLCA5MDEyLCA5MDEyLCA5MDEzLCA5MDE0LAorIDkwMTUsIDkwMTYsIDkwMTYsIDkwMTcsIDkwMTgsIDkwMTksIDkwMjAsIDkwMjAsIDkwMjEsIDkwMjIsIDkwMjMsIDkwMjQsIDkwMjUsCisgOTAyNiwgOTAyNywgOTAyOCwgOTAyOCwgOTAyOSwgOTAzMCwgOTAzMSwgOTAzMiwgOTAzMiwgOTAzMywgOTAzNCwgOTAzNSwgOTAzNiwKKyA5MDM2LCA5MDM3LCA5MDM4LCA5MDM5LCA5MDQwLCA5MDQwLCA5MDQxLCA5MDQyLCA5MDQzLCA5MDQ0LCA5MDQ0LCA5MDQ1LCA5MDQ2LAorIDkwNDcsIDkwNDgsIDkwNDgsIDkwNDksIDkwNTAsIDkwNTEsIDkwNTIsIDkwNTMsIDkwNTQsIDkwNTUsIDkwNTYsIDkwNTYsIDkwNTcsCisgOTA1OCwgOTA1OSwgOTA2MCwgOTA2MCwgOTA2MSwgOTA2MiwgOTA2MywgOTA2NCwgOTA2NCwgOTA2NSwgOTA2NiwgOTA2NywgOTA2OCwKKyA5MDY4LCA5MDY5LCA5MDcwLCA5MDcxLCA5MDcyLCA5MDcyLCA5MDczLCA5MDc0LCA5MDc1LCA5MDc2LCA5MDc2LCA5MDc3LCA5MDc4LAorIDkwNzksIDkwODAsIDkwODEsIDkwODIsIDkwODMsIDkwODQsIDkwODQsIDkwODUsIDkwODYsIDkwODcsIDkwODgsIDkwODgsIDkwODksCisgOTA5MCwgOTA5MSwgOTA5MiwgOTA5MiwgOTA5MywgOTA5NCwgOTA5NSwgOTA5NiwgOTA5NiwgOTA5NywgOTA5OCwgOTA5OSwgOTEwMCwKKyA5MTAxLCA5MTAyLCA5MTAzLCA5MTA0LCA5MTA0LCA5MTA1LCA5MTA2LCA5MTA3LCA5MTA4LCA5MTA4LCA5MTA5LCA5MTEwLCA5MTExLAorIDkxMTIsIDkxMTIsIDkxMTMsIDkxMTQsIDkxMTUsIDkxMTYsIDkxMTYsIDkxMTcsIDkxMTgsIDkxMTksIDkxMjAsIDkxMjEsIDkxMjIsCisgOTEyMywgOTEyNCwgOTEyNCwgOTEyNSwgOTEyNiwgOTEyNywgOTEyOCwgOTEyOCwgOTEyOSwgOTEzMCwgOTEzMSwgOTEzMiwgOTEzMiwKKyA5MTMzLCA5MTM0LCA5MTM1LCA5MTM2LCA5MTM2LCA5MTM3LCA5MTM4LCA5MTM5LCA5MTQwLCA5MTQwLCA5MTQxLCA5MTQyLCA5MTQzLAorIDkxNDQsIDkxNDQsIDkxNDUsIDkxNDYsIDkxNDcsIDkwMDgsIDg5ODQsIDg5NjIsIDg5NDAsIDkxNDgsIDkxNDksIDkxNTAsIDkxNTEsCisgOTE1MiwgOTE0OCwgOTE0OSwgOTE1MCwgOTE1MSwgOTE1MiwgOTE1MywgOTE1NCwgNzc0MSwgOTE1NiwgOTE1NywgOTE1OCwgOTE1OSwKKyA5MTYwLCA5MTYxLCA5MTYyLCA5MTYzLCA5MTY0LCA5MTY1LCA5MTY2LCA5MTY3LCA5MTY4LCA5MTY5LCA5MTcwLCA5MTcxLCA5MTcyLAorIDkxNzMsIDkxNzQsIDU0MywgNTQzLCA5MTc1LCA3NTc2LCA5MTc2LCA5MTc3LCA0OSwgODk2NCwgOTE3OSwgOTE3OSwgOTE4MCwKKyA5MTgxLCA5MTgyLCA5MTgzLCA5MTgzLCA5MTg0LCA5MTg1LCA5MTg2LCA5MTg3LCA5MTg3LCA5MTg4LCA5MTg5LCA5MTkwLCA5MTc4LAorIDkxOTEsIDkxOTIsIDkxOTEsIDkxOTIsIDkxOTMsIDkxOTQsIDc2NjQsIDkxOTYsIDkxOTcsIDkxOTgsIDkxOTksIDc4NDQsIDkxOTksCisgNzg0NCwgOTIwMCwgOTIwMSwgNTEwMSwgOTIwMywgNTEwNCwgOTIwNSwgOTIwNiwgOTIwNCwgNzQ5LCAxMDA4LCA5MjA3LCA5MjA4LAorIDkyMDksIDkyMTAsIDUxMTIsIDkyMTIsIDQ4LCA5MjEzLCA0OSwgOTIxMSwgNTk0LCA3NjUsIDk1MSwgMTU2NCwgOTIxNCwgOTIxNSwKKyA5MjE2LCA5MjE3LCA1MTIwLCA5MjE5LCA1MTIzLCA5MjIxLCA1MTI2LCA5MjIzLCA1MTI5LCA5MjI1LCA1MTMyLCA5MjI3LCA1MTM1LAorIDkyMjksIDUxMzgsIDkyMzEsIDUxNDEsIDkyMzMsIDUxNDQsIDkyMzUsIDkyMzYsIDkyMzQsIDkyMzIsIDkyMzAsIDkyMjgsIDkyMjYsCisgOTIyNCwgOTIyMiwgOTIyMCwgOTIzNywgOTIzOCwgOTIzOSwgOTI0MCwgOTI0MSwgOTI0MiwgOTI0MywgOTI0NCwgOTI0NSwgOTI0NiwKKyA5MjQ3LCA1MTU5LCA5MjQ5LCA5MjUwLCA5MjUxLCA5MjUyLCA5MjUzLCA1MTY2LCA5MjU1LCA5MjU2LCA5MjU3LCA5MjU4LCA5MjU5LAorIDkyNjAsIDkyNTQsIDkyNDgsIDkyNjEsIDkyNjIsIDkyNjMsIDkyNjQsIDkyNjUsIDUxNzksIDkyNjcsIDUxODIsIDkyNjksIDQzLAorIDkyNzAsIDIsIDkyNjgsIDkyNjYsIDkyMTgsIDM0MCwgNTEyLCA3NjMsIDc2NCwgMTA4NiwgOTI3MSwgOTI3MiwgOTI3MywgOTI3NCwKKyA5Mjc1LCA5Mjc2LCA5Mjc3LCA5Mjc4LCA5Mjc5LCA5MjgwLCA5MjgxLCA5MjgyLCA5MjgyLCA5MjgzLCA5Mjg0LCA5Mjg1LCA5Mjg2LAorIDkyODYsIDkyODcsIDkyODgsIDUyMDQsIDkyOTAsIDUyMDcsIDkyOTIsIDUyMTAsIDkyOTQsIDUyMTMsIDkyOTYsIDUyMTYsIDkyOTgsCisgNTIxOSwgOTMwMCwgNTIyMiwgOTMwMiwgOTMwMywgOTMwMSwgOTI5OSwgOTI5NywgOTI5NSwgOTI5MywgOTI5MSwgOTMwNCwgOTMwNSwKKyA5MzA2LCA5MzA3LCA5MzA4LCA5MzA5LCA5MzEwLCA5MzExLCA5MzEyLCA1MjM1LCA5MzE0LCA1MjM4LCA5MzE2LCA1MjQxLCA5MzE4LAorIDUyNDQsIDkzMjAsIDUyNDcsIDkzMjIsIDkzMjMsIDkzMjEsIDkzMTksIDkzMTcsIDkzMTUsIDcyODIsIDkzMjQsIDkzMjUsIDkzMjYsCisgOTMyNywgOTMyOCwgOTMyOSwgOTMzMCwgNTI1OCwgOTMzMiwgNTI2MSwgOTMzNCwgNTI2NCwgOTMzNiwgNTI2NywgOTMzOCwgOTMzOSwKKyAyNjgsIDE3MzgsIDkzNDAsIDkzNDEsIDkzNDIsIDUyNzQsIDkzNDQsIDkzNDUsIDkzNDMsIDkzMzcsIDkzMzUsIDkzMzMsIDkzNDYsCisgOTM0NywgOTM0OCwgOTM0OSwgOTM1MCwgOTM1MSwgOTM1MiwgNTI4NSwgOTM1NCwgOTM1NSwgOTM1NiwgOTM1NywgOTM1OCwgNTI5MiwKKyA5MzYwLCA5MzYxLCA5MzYyLCA5MzYzLCA5MzY0LCA1Mjk5LCA5MzY2LCA1MzAyLCA5MzY4LCA1MzA1LCA5MzcwLCA1MzA4LCA5MzcyLAorIDkzNzMsIDkzNzEsIDkzNjksIDkzNjcsIDkzNjUsIDkzNTksIDkzNzQsIDkzNzUsIDkzNzYsIDkzNzcsIDkzNzgsIDkzNzksIDkzODAsCisgOTM4MSwgNTMyMCwgOTM4MywgOTM4NCwgOTM4NSwgOTM4NiwgOTM4NywgOTM4OCwgOTM4OSwgOTM5MCwgOTM5MSwgOTM5MiwgOTM4MiwKKyA5MzUzLCA5MzMxLCA5MzEzLCA5MzkzLCA5Mzk0LCA5Mzk1LCA5Mzk2LCA5Mzk3LCA5Mzk4LCA5Mzk5LCA1MzM5LCA5NDAxLCA5NDAyLAorIDk0MDMsIDk0MDQsIDk0MDUsIDk0MDYsIDE4MTAsIDk0MDcsIDk0MDgsIDk0MDksIDUzNTAsIDk0MTEsIDk0MTIsIDk0MTMsIDk0MTQsCisgOTQxNSwgOTQxNiwgNDc0LCA0NzUsIDQ3NiwgOTQxNywgOTQxOCwgOTQxOSwgOTQyMCwgOTQxMCwgNzM2MywgNzY4OSwgOTQyMSwKKyA5NDIyLCA5NDIzLCA5NDI0LCA1MzY2LCA5NDI2LCA1MzY5LCA5NDI4LCA5NDI5LCA5NDMwLCA5NDMxLCA5NDMyLCA5NDMzLCA5NDM0LAorIDk0MzUsIDk0MzYsIDk0MzcsIDk0MjcsIDQ1NywgNzM3MSwgOTQzOCwgOTQzOSwgOTQ0MCwgOTQ0MSwgNTM4NSwgOTQ0MywgOTQ0NCwKKyAyMjksIDk0NDUsIDk0NDYsIDk0NDcsIDUzOTIsIDk0NDksIDUzOTUsIDk0NTEsIDUzOTgsIDk0NTMsIDU0MDEsIDk0NTUsIDk0NTYsCisgOTQ1NCwgOTQ1MiwgOTQ1MCwgOTQ1NywgOTQ1OCwgOTQ1OSwgOTQ2MCwgOTQ2MSwgOTQ2MiwgOTQ2MywgOTQ0OCwgNzM3NywgOTQ2NCwKKyA5NDY1LCA5NDY2LCA5NDY3LCA1NDE2LCA5NDY5LCA1NDE5LCA5NDcxLCA1NDIyLCA5NDczLCA5NDc0LCA5NDcyLCA5NDcwLCA1MDIsCisgOTQ3NSwgOTQ3NiwgOTQ3NywgOTQ3OCwgOTQ3OSwgNTQzMSwgOTQ4MSwgOTQ4MiwgOTQ4MywgOTQ4NCwgOTQ4NSwgNTQzOCwgOTQ4NywKKyA1NDQxLCA5NDg5LCA5NDkwLCA5NDg4LCA5NDkxLCA5NDkyLCA5NDkzLCA5NDk0LCA1NDQ5LCA5NDk2LCA5NDk3LCA5NDk4LCA5NDk5LAorIDk1MDAsIDU0NTYsIDk1MDIsIDk1MDMsIDk1MDQsIDk1MDUsIDk1MDYsIDk1MDcsIDk1MDgsIDk1MDksIDk1MTAsIDk1MTEsIDk1MDEsCisgOTQ5NSwgOTQ4NiwgOTQ4MCwgOTUxMiwgOTUxMywgOTUxNCwgOTUxNSwgOTUxNiwgOTUxNywgOTUxOCwgNTQ3NSwgOTUyMCwgOTUyMSwKKyA5NTIyLCA5NTIzLCA5NTI0LCA5NTI1LCA5NTI2LCA5NTI3LCA5NTI4LCA1NDg2LCA5NTMwLCA1NDg5LCA5NTMyLCA1NDkyLCA5NTM0LAorIDU0OTUsIDk1MzYsIDk1MzcsIDk1MzUsIDk1MzMsIDk1MzEsIDk1MzgsIDk1MzksIDk1NDAsIDk1NDEsIDk1NDIsIDk1NDMsIDk1NDQsCisgOTU0NSwgOTU0NiwgOTU0NywgOTU0OCwgOTUyOSwgOTU0OSwgOTU1MCwgOTU1MSwgOTU1MiwgNTUxNCwgOTU1NCwgNTUxNywgOTU1NiwKKyA5NTU3LCA5NTU1LCA3Mzg5LCA5NTU4LCA5NTU5LCA5NTYwLCA5NTYxLCA1NTI1LCA5NTYzLCA1NTI4LCA5NTY1LCA1NTMxLCA5NTY3LAorIDU1MzQsIDk1NjksIDEyLCA5NTcwLCAyNDUsIDI0NywgMjQ4LCAyNDksIDI1MCwgMjUxLCA0NDgsIDUxNSwgOTU3MSwgOTU3MiwKKyA5NTczLCA1NTQxLCA5NTc1LCA1NTQ0LCA5NTc3LCA5NTc4LCA5NTc2LCA5NTc0LCA5NTY4LCA5NTY2LCA5NTY0LCA3NDA0LCA5NTc5LAorIDk1ODAsIDk1ODEsIDk1ODIsIDk1ODMsIDk1ODQsIDk1ODUsIDk1ODYsIDU1NTYsIDk1ODgsIDU1NTksIDk1OTAsIDU1NjIsIDk1OTIsCisgOTU5MywgNzIsIDk1OTEsIDczLCA5NTg5LCAyNjMsIDk1OTQsIDk1OTUsIDk1OTYsIDk1OTcsIDk1OTgsIDU1NzEsIDk2MDAsCisgNTU3NCwgOTYwMiwgNTU3NywgOTYwNCwgNTU4MCwgOTYwNiwgOTYwNywgMTk1LCA5NTEsIDIwMjQsIDIwMjYsIDIwMjcsIDIwMjgsCisgOTYwOCwgOTYwOSwgOTYxMCwgNTU4NywgOTYxMiwgNTU5MCwgOTYxNCwgNTU5MywgOTYxNiwgOTYxNywgOTYxNSwgOTYxMywgOTYxMSwKKyA5NjA1LCA5NjAzLCA5NjAxLCA5NTk5LCA5NjE4LCA5NjE5LCA5NjIwLCA5NjIxLCA5NjIyLCA5NjIzLCA5NjI0LCA5NjI1LCA5NjI2LAorIDk2MjcsIDk2MjgsIDk1ODcsIDk1NjIsIDk1NTMsIDk1MTksIDk0NjgsIDk0NDIsIDk0MjUsIDk0MDAsIDE2MTEsIDc3MjEsIDc3MjEsCisgOTYyOSwgOTYzMCwgOTYzMSwgOTYzMiwgOTYzMywgOTYzNCwgOTYzNSwgOTYzNiwgOTYzNywgOTYzOCwgOTYzOSwgNzQxOCwgNzQxOSwKKyA5NjQxLCA5NjQyLCAyMDc1LCA5NjQ0LCAyMDc2LCA5NjQ2LCA5NjQ3LCA5NjQ1LCA5NjQ4LCA5NjQ5LCA5NjUwLCA5NjUxLCAyMDgwLAorIDk2NTMsIDIwODEsIDk2NTUsIDIwODIsIDk2NTcsIDIwODMsIDk2NTksIDk2NjAsIDk2NTgsIDk2NTYsIDk2NTQsIDk2NjEsIDk2NjIsCisgOTY2MywgOTY2NCwgOTY2NSwgOTY2NiwgMjA4OSwgOTY2OCwgMjA5MCwgOTY3MCwgOTY3MSwgOTY2OSwgOTY3MiwgOTY3MywgOTY3NCwKKyA5Njc1LCAyMDk0LCA5Njc3LCAyMDk1LCA5Njc5LCA5NjgwLCA5Njc4LCA5NjgxLCA5NjgyLCA5NjgzLCA5Njg0LCAyMDk5LCA5Njg2LAorIDk2ODcsIDk2ODgsIDk2ODksIDk2OTAsIDIxMDIsIDk2OTIsIDIxMDMsIDk2OTQsIDIxMDQsIDk2OTYsIDk2OTcsIDk2OTUsIDk2OTMsCisgOTY5OCwgOTY5OSwgOTcwMCwgOTcwMSwgOTcwMiwgMjEwOSwgOTcwNCwgMjExMCwgOTcwNiwgMjExMSwgOTcwOCwgMjExMiwgOTcxMCwKKyAyMTEzLCA5NzEyLCAyMTE0LCA5NzE0LCAyMTE1LCA5NzE2LCA5NzE3LCA5NzE1LCA5NzEzLCA5NzExLCA5NzA5LCA5NzA3LCA5NzA1LAorIDk3MTgsIDk3MTksIDk3MjAsIDk3MjEsIDk3MjIsIDk3MjMsIDk3MjQsIDk3MjUsIDk3MjYsIDIxMjQsIDk3MjgsIDIxMjUsIDk3MzAsCisgMjEyNiwgOTczMiwgMjEyNywgOTczNCwgMjEyOCwgOTczNiwgMjEyOSwgOTczOCwgMjEzMCwgOTc0MCwgMjEzMSwgOTc0MiwgOTc0MywKKyA5NzQxLCA5NzM5LCA5NzM3LCA5NzM1LCA5NzMzLCA5NzMxLCA5NzI5LCA5NzQ0LCA5NzQ1LCA5NzQ2LCA5NzQ3LCA5NzQ4LCA5NzQ5LAorIDk3NTAsIDk3NTEsIDk3NTIsIDk3NTMsIDk3NTQsIDk3MjcsIDk3MDMsIDk2OTEsIDk2ODUsIDk2NzYsIDk2NjcsIDk2NTIsIDk3NTUsCisgOTc1NiwgOTc1NywgOTc1OCwgOTc1OSwgOTc2MCwgOTc2MSwgOTc2MiwgOTc2MywgOTc2NCwgMjE1MCwgOTc2NiwgMjE1MSwgOTc2OCwKKyAyMTUyLCA5NzcwLCAyMTUzLCA5NzcyLCAyMTU0LCA5Nzc0LCAyMTU1LCA5Nzc2LCAyMTU2LCA5Nzc4LCA5Nzc5LCA5Nzc3LCA5Nzc1LAorIDk3NzMsIDk3NzEsIDk3NjksIDk3NjcsIDk3ODAsIDk3ODEsIDk3ODIsIDk3ODMsIDk3ODQsIDk3ODUsIDk3ODYsIDk3ODcsIDk3ODgsCisgMjE2NSwgOTc5MCwgMjE2NiwgOTc5MiwgMjE2NywgOTc5NCwgMjE2OCwgOTc5NiwgMjE2OSwgOTc5OCwgMjE3MCwgOTgwMCwgOTgwMSwKKyA5Nzk5LCA5Nzk3LCA5Nzk1LCA5NzkzLCA5NzkxLCA5ODAyLCA5ODAzLCA5ODA0LCA5ODA1LCA5ODA2LCA5ODA3LCA5ODA4LCA5ODA5LAorIDIxNzgsIDk4MTEsIDIxNzksIDk4MTMsIDIxODAsIDk4MTUsIDIxODEsIDk4MTcsIDIxODIsIDk4MTksIDk4MjAsIDk4MTgsIDk4MTYsCisgOTgxNCwgOTgxMiwgOTgyMSwgOTgyMiwgOTgyMywgOTgyNCwgOTgyNSwgOTgyNiwgOTgyNywgMjE4OSwgOTgyOSwgMjE5MCwgOTgzMSwKKyAyMTkxLCA5ODMzLCAyMTkyLCA5ODM1LCA5ODM2LCA5ODM0LCA5ODMyLCA5ODMwLCA5ODM3LCA5ODM4LCA5ODM5LCA5ODQwLCA5ODQxLAorIDk4NDIsIDk4NDMsIDk4MjgsIDk4MTAsIDk3ODksIDk4NDQsIDk4NDUsIDk4NDYsIDk4NDcsIDk4NDgsIDk4NDksIDIyMDMsIDk4NTEsCisgOTg1MiwgOTg1MywgOTg1NCwgOTg1NSwgMjIwNiwgOTg1NywgMjIwNywgOTg1OSwgMjIwOCwgOTg2MSwgMjIwOSwgOTg2MywgOTg2NCwKKyA5ODYyLCA5ODYwLCA5ODU4LCA5ODY1LCA5ODY2LCA5ODY3LCA5ODY4LCA5ODY5LCA5ODcwLCA5ODcxLCA5ODU2LCA5ODcyLCA5ODczLAorIDk4NzQsIDk4NzUsIDIyMTgsIDk4NzcsIDIyMTksIDk4NzksIDIyMjAsIDk4ODEsIDk4ODIsIDk4ODAsIDk4NzgsIDk4ODMsIDk4ODQsCisgOTg4NSwgOTg4NiwgOTg4NywgMjIyNSwgOTg4OSwgOTg5MCwgOTg5MSwgOTg5MiwgOTg5MywgMjIyOCwgOTg5NSwgMjIyOSwgOTg5NywKKyA5ODk4LCA5ODk2LCA5ODk5LCA5OTAwLCA5OTAxLCA5OTAyLCAyMjMzLCA5OTA0LCA5OTA1LCA5OTA2LCA5OTA3LCA5OTA4LCA5OTA5LAorIDk5MDMsIDk4OTQsIDk4ODgsIDk5MTAsIDk5MTEsIDk5MTIsIDk5MTMsIDk5MTQsIDk5MTUsIDIyNDEsIDk5MTcsIDk5MTgsIDk5MTksCisgOTkyMCwgOTkyMSwgOTkyMiwgOTkyMywgOTkyNCwgOTkyNSwgMjI0NiwgOTkyNywgMjI0NywgOTkyOSwgMjI0OCwgOTkzMSwgOTkzMiwKKyA5OTMwLCA5OTI4LCA5OTMzLCA5OTM0LCA5OTM1LCA5OTM2LCA5OTM3LCAyMjUzLCA5OTM5LCA5OTQwLCA5OTQxLCA5OTQyLCA5OTQzLAorIDk5NDQsIDk5MzgsIDk5NDUsIDk5NDYsIDk5NDcsIDk5NDgsIDk5NDksIDk5MjYsIDk5MTYsIDk4NzYsIDk4NTAsIDk3NjUsIDk5NTAsCisgOTk1MSwgOTk1MiwgOTk1MywgOTk1NCwgOTk1NSwgOTk1NiwgOTk1NywgMjI2NiwgOTk1OSwgOTk2MCwgOTk2MSwgOTk2MiwgOTk2MywKKyA5OTY0LCA5OTY1LCA5OTY2LCA5OTY3LCAyMjcxLCA5OTY5LCA5OTcwLCA5OTcxLCA5OTcyLCA5OTczLCAyMjc0LCA5OTc1LCA5OTc2LAorIDk5NzcsIDk5NzgsIDk5NzksIDk5ODAsIDk5NzQsIDk5ODEsIDk5ODIsIDk5ODMsIDk5ODQsIDIyODAsIDk5ODYsIDk5ODcsIDk5ODgsCisgOTk4OSwgOTk5MCwgOTk5MSwgOTk5MiwgOTk5MywgOTk5NCwgOTk5NSwgOTk4NSwgOTk2OCwgOTk5NiwgOTk5NywgOTk5OCwgOTk5OSwKKyAxMDAwMCwgMjI4OSwgMTAwMDIsIDEwMDAzLCAxMDAwNCwgMTAwMDUsIDEwMDA2LCAxMDAwNywgMTAwMDgsIDEwMDA5LCAxMDAxMCwKKyAyMjk0LCAxMDAxMiwgMTAwMTMsIDEwMDE0LCAxMDAxNSwgMTAwMTYsIDEwMDE3LCAxMDAxOCwgMTAwMTksIDEwMDIwLCAxMDAyMSwKKyAxMDAxMSwgMTAwMjIsIDEwMDIzLCAxMDAyNCwgMTAwMjUsIDIzMDIsIDEwMDI3LCAxMDAyOCwgMTAwMjksIDEwMDMwLCAxMDAzMSwKKyAxMDAzMiwgMTAwMzMsIDEwMDM0LCAxMDAzNSwgMTAwMzYsIDEwMDM3LCAxMDAzOCwgMTAwMzksIDIzMDksIDEwMDQxLCAxMDA0MiwKKyAxMDA0MywgMTAwNDQsIDEwMDQ1LCAxMDA0NiwgMTAwNDcsIDEwMDQ4LCAxMDA0OSwgMTAwNTAsIDEwMDUxLCAxMDA1MiwgMTAwNTMsCisgMjMxNiwgMTAwNTUsIDEwMDU2LCAxMDA1NywgMTAwNTgsIDEwMDU5LCAxMDA2MCwgMTAwNjEsIDEwMDYyLCAxMDA2MywgMjMyMSwKKyAxMDA2NSwgMjMyMiwgMTAwNjcsIDIzMjMsIDEwMDY5LCAyMzI0LCAxMDA3MSwgMTAwNzIsIDEwMDcwLCAxMDA2OCwgMTAwNjYsCisgMTAwNzMsIDEwMDc0LCAxMDA3NSwgMTAwNzYsIDEwMDc3LCAxMDA3OCwgMTAwNzksIDEwMDgwLCAxMDA4MSwgMTAwODIsIDEwMDgzLAorIDEwMDY0LCAxMDA4NCwgMTAwODUsIDEwMDg2LCAxMDA4NywgMTAwODgsIDEwMDU0LCAxMDA0MCwgMTAwMjYsIDEwMDAxLCA5OTU4LAorIDEwMDg5LCAxMDA5MCwgMTAwOTEsIDEwMDkyLCAxMDA5MywgMTAwOTQsIDEwMDk1LCAxMDA5NiwgMTAwOTcsIDEwMDk4LCAxMDA5OCwKKyAxMDA5OSwgMTAxMDAsIDEwMTAxLCAxMDEwMiwgMTAxMDIsIDEwMTAzLCAxMDEwNCwgMTAxMDUsIDEwMTA2LCAxMDEwNiwgMTAxMDcsCisgMTAxMDgsIDEwMTA5LCAxMDExMCwgMTAxMTAsIDEwMTExLCAxMDExMiwgMTAxMTMsIDk2NDMsIDk2NDAsIDEwMTE0LCAxMDExNCwKKyAxMDExNSwgNzQyNCwgNzQyNSwgNzQyNiwgNzQyNywgNzQyOCwgNzcyNSwgNzcyNiwgNzQzMSwgMTAxMTYsIDEwMTE3LCAxMDExOCwKKyAxMDExOSwgMTAxMjAsIDEwMTIwLCAxMDEyMSwgMTAxMjIsIDYxMDIsIDEwMTI0LCAxMDEyNSwgMTAxMjYsIDEwMTI3LCAxMDEyOCwKKyAxMDEyOSwgMTAxMzAsIDEwMTMwLCAxMDEzMSwgMTAxMzIsIDEwMTMzLCAxMDEzNCwgMTAxMzQsIDEwMTM1LCAxMDEzNiwgMTAxMzcsCisgMTAxMzgsIDEwMTM4LCAxMDEzOSwgMTAxNDAsIDEwMTQxLCAxMDE0MiwgMTAxNDMsIDEwMTQ0LCAxMDE0NSwgMTAxNDYsIDEwMTQ3LAorIDEwMTQ4LCAxMDE0OSwgMTAxNTAsIDEwMTUxLCAxMDE1MiwgMTAxNTMsIDEwMTU0LCAxMDE1NSwgMTAxNTYsIDEwMTU3LCAxMDE1OCwKKyAxMDE1OSwgMTAxNjAsIDYxNDEsIDEwMTYyLCAxMDE2MywgMTAxNjQsIDEwMTY1LCAxMDE2NiwgMTAxNjcsIDEwMTY4LCAxMDE2OCwKKyAxMDE2OSwgMTAxNzAsIDEwMTcxLCAxMDE3MiwgMTAxNzIsIDEwMTczLCAxMDE3NCwgMTAxNzUsIDEwMTc2LCAxMDE3NiwgMTAxNzcsCisgMTAxNzgsIDEwMTc5LCAxMDE4MCwgMTAxODAsIDEwMTgxLCAxMDE4MiwgMTAxODMsIDEwMTg0LCAxMDE4NCwgMTAxODUsIDEwMTg2LAorIDEwMTg3LCAxMDE4OCwgMTAxODksIDEwMTkwLCAxMDE5MSwgMTAxOTIsIDEwMTkzLCAxMDE5NCwgMTAxOTUsIDEwMTk2LCAxMDE5NywKKyAxMDE5OCwgMTAxOTksIDEwMjAwLCAxMDIwMSwgMTAyMDIsIDEwMjAzLCAxMDIwNCwgMTAyMDUsIDEwMjA2LCAxMDIwNywgMTAyMDgsCisgMTAyMDgsIDEwMjA5LCAxMDIxMCwgMTAyMTEsIDEwMjEyLCAxMDIxMiwgMTAyMTMsIDEwMjE0LCAxMDIxNSwgMTAyMTYsIDEwMjE2LAorIDEwMjE3LCAxMDIxOCwgMTAyMTksIDEwMjIwLCAxMDIyMCwgMTAyMjEsIDEwMjIyLCAxMDIyMywgMTAyMjQsIDEwMjI0LCAxMDIyNSwKKyAxMDIyNiwgMTAyMjcsIDEwMjI4LCAxMDIyOCwgMTAyMjksIDEwMjMwLCAxMDIzMSwgMTAyMzIsIDEwMjMyLCAxMDIzMywgMTAyMzQsCisgMTAyMzUsIDc0OSwgNzUwLCAxMDIzNiwgMTAyMzcsIDEwMjM4LCA2MjIwLCAxMDI0MCwgMTAyNDEsIDEwMjQyLCAxMDI0MywgMTAyNDQsCisgMTAyNDUsIDEwMjQ2LCAxMDI0NiwgMTAyNDcsIDEwMjQ4LCAxMDI0OSwgMTAyNTAsIDEwMjUwLCAxMDI1MSwgMTAyNTIsIDEwMjUzLAorIDEwMjU0LCAxMDI1NCwgMTAyNTUsIDEwMjU2LCAxMDI1NywgMTAyNTgsIDEwMjU4LCAxMDI1OSwgMTAyNjAsIDEwMjYxLCAxMDI2MiwKKyAxMDI2MiwgMTAyNjMsIDEwMjY0LCAxMDI2NSwgMTAyNjYsIDEwMjY3LCAxMDI2OCwgMTAyNjksIDEwMjcwLCAxMDI3MCwgMTAyNzEsCisgMTAyNzIsIDEwMjczLCAxMDI3NCwgMTAyNzQsIDEwMjc1LCAxMDI3NiwgMTAyNzcsIDEwMjc4LCAxMDI3OCwgMTAyNzksIDEwMjgwLAorIDEwMjgxLCAxMDI4MiwgMTAyODIsIDEwMjgzLCAxMDI4NCwgMTAyODUsIDEwMjg2LCAxMDI4NiwgMTAyODcsIDEwMjg4LCAxMDI4OSwKKyAxMDI5MCwgMTAyOTAsIDEwMjkxLCAxMDI5MiwgMTAyOTMsIDEwMjk0LCAxMDI5NCwgMTAyOTUsIDEwMjk2LCAxMDI5NywgMTAyOTgsCisgMTAyOTksIDEwMzAwLCA0MywgMTAzMDEsIDQ0LCAxMDIzOSwgMzQwLCA3NjMsIDc2NCwgNzY1LCA3ODIsIDc5MSwgMTA4NiwgMTAzMDIsCisgMTAzMDMsIDEwMzA0LCAxMDMwNSwgMTAzMDYsIDEwMzA3LCAxMDMwOCwgMTAzMDksIDEwMzEwLCAxMDMxMSwgMTAzMTIsIDEwMzEzLAorIDEwMzE0LCAxMDMxNSwgMTAzMTYsIDEwMzE3LCAxMDMxOCwgMTAzMTksIDEwMzIwLCAxMDMyMSwgNjMwNCwgMTAzMjMsIDYzMDcsCisgMTAzMjUsIDYzMTAsIDEwMzI3LCA2MzEzLCAxMDMyOSwgNjMxNiwgMTAzMzEsIDEwMzMyLCAxMDMzMCwgMTAzMjgsIDEwMzI2LAorIDEwMzI0LCAxMDMzNCwgMTAzMzMsIDEwMzM1LCAxMDMzNiwgMTAzMzcsIDEwMzM4LCAxMDMzOSwgMTAzNDAsIDMxNCwgOTQ5OCwKKyAxMDM0MSwgMTAzNDIsIDEwMzQzLCAxMDM0NCwgMTAzNDUsIDEwMzQ2LCAxMDM0NywgMTAzNDgsIDEwMzQ5LCAxMDM0OSwgMTAzNTAsCisgMTAzNTEsIDEwMzUyLCAxMDMyMiwgMTAxNjEsIDEwMzUzLCAxMDM1MywgMTAzNTQsIDEwMzU1LCAxMDM1NiwgMTAzNTcsIDYzNDUsCisgMTAzNTksIDEwMzYwLCAxMDM2MSwgMTAzNjEsIDEwMzYyLCAxMDM2MywgMTAzNjQsIDEwMzY1LCAxMDM2NiwgMTAzNjcsIDEwMzY4LAorIDEwMzY5LCAxMDM3MCwgMTAzNzEsIDEwMzcyLCAxMDM3MywgMTAzNzQsIDEwMzc1LCA2MzY0LCAxMDM3NywgMTAzNzgsIDEwMzc5LAorIDEwMzgwLCAxMDM4MSwgMTAzODIsIDEwMzgzLCAxMDM4NCwgMTAzODUsIDEwMzg2LCAxMDM4NywgMTAzODgsIDEwMzg5LCAxMDM5MCwKKyAxMDM5MSwgMTAzOTIsIDEwMzkzLCAxMDM5NCwgMTAzOTUsIDEwMzk1LCAxMDM5NiwgMTAzOTcsIDEwMzk4LCAxMDM5OSwgMTAzOTksCisgMTA0MDAsIDEwNDAxLCAxMDQwMiwgMTA0MDMsIDEwNDAzLCAxMDQwNCwgMTA0MDUsIDEwNDA2LCAxMDQwNywgMTA0MDgsIDEwNDA5LAorIDEwNDEwLCAxMDQxMSwgMTA0MTIsIDEwNDEzLCAxMDQxNCwgMTA0MTUsIDEwNDE2LCAxMDQxNywgNjQwNywgMTA0MTksIDEwNDIwLAorIDEwNDIxLCAxMDQyMiwgMTA0MjMsIDEwNDI0LCAxMDQyNSwgMTA0MjYsIDEwNDI3LCAxMDQyOCwgMTA0MjksIDEwNDMwLCAxMDQzMSwKKyAxMDQzMiwgNzUwLCAxMDQzMywgMTA0MzQsIDEwNDM1LCA2NDI2LCAxMDQzNywgMTA0MzgsIDEwNDM5LCAxMDQ0MCwgMTA0NDEsCisgMTA0NDIsIDEwNDQzLCAxMDQ0NCwgMTA0NDUsIDEwNDQ2LCAxMDQ0NywgMTA0NDgsIDEwNDQ5LCAxMDQ1MCwgMTA0NTEsIDEwNDUyLAorIDEwNDUzLCA2NDQ1LCAxMDQ1NSwgMTA0NTYsIDEwNDU3LCAxMDQ1OCwgMTA0NTksIDEwNDYwLCAxMDQ2MSwgMTA0NjIsIDEwNDYzLAorIDEwNDY0LCAxMDQ2NSwgMTA0NjYsIDEwNDY3LCAxMDQ2OCwgMTA0NjksIDEwNDcwLCAxMDQ3MSwgNjQ2NCwgMTA0NzMsIDEwNDc0LAorIDEwNDc1LCAxMDQ3NiwgMTA0NzcsIDEwNDc4LCAxMDQ3OSwgMTA0ODAsIDEwNDgxLCAxMDQ4MiwgMTA0ODMsIDEwNDg0LCAxMDQ4NSwKKyAxMDQ4NiwgMTA0ODcsIDEwNDg4LCAxMDQ4OSwgNjQ4MywgMTA0OTEsIDEwNDkyLCAxMDQ5MywgMTA0OTQsIDEwNDk1LCAxMDQ5NiwKKyAxMDQ5NywgMTA0OTgsIDEwNDk5LCAxMDUwMCwgMTA1MDEsIDEwNTAyLCAxMDUwMywgMTA1MDQsIDEwNTA1LCAxMDUwNiwgMTA1MDcsCisgNjUwMiwgMTA1MDksIDEwNTEwLCAxMDUxMSwgMTA1MTIsIDEwNTEzLCAxMDUxNCwgMTA1MTUsIDEwNTE2LCAxMDUxNywgMTA1MTgsCisgMTA1MTksIDEwNTIwLCAxMDUyMSwgMTA1MjIsIDEwNTIzLCAxMDUyNCwgMTA1MjUsIDY1MjEsIDEwNTI3LCAxMDUyOCwgMTA1MjksCisgMTA1MzAsIDEwNTMxLCAxMDUzMiwgMTA1MzMsIDEwNTM0LCAxMDUzNSwgMTA1MzYsIDEwNTM3LCAxMDUzOCwgMTA1MzksIDEwNTQwLAorIDEwNTQxLCAxMDU0MiwgMTA1NDMsIDEwMzM0LCAxMDU0NSwgMTA1NDYsIDEwNTQ3LCAxMDU0OCwgMTA1NDksIDEwNTUwLCAxMDU1MSwKKyAxMDU1MiwgMTA1NTMsIDEwNTU0LCAxMDU1NSwgMTA1NTYsIDEwNTU3LCAxMDU1OCwgNjU1NSwgMTA1NjAsIDEwNTYxLCAxMDU2MiwKKyAxMDU2MywgMTA1NjQsIDEwNTY1LCAxMDU2NiwgMTA1NjcsIDEwNTY4LCAxMDU2OSwgMTA1NzAsIDEwNTcxLCAxMDU3MiwgMTA1NzMsCisgMTA1NzQsIDEwNTc1LCAxMDU3NiwgNDAsIDEwNTc3LCA0OCwgMTA1NTksIDQ5LCAxMDU0NCwgNTAsIDEwNTI2LCAzLCAxMDUwOCwKKyA0MSwgMTA0OTAsIDQyLCAxMDQ3MiwgNDMsIDEwNDU0LCA0NCwgMTA0MzYsIDEwNTc4LCAxMDU3OSwgMTA1ODAsIDEwNTgxLCAxMDU4MiwKKyAxMDU4MywgMTA1ODQsIDEwNTg1LCAxMDU4NiwgMTA1ODcsIDEwNTg4LCAxMDU4OSwgMTA1OTAsIDEwNTkxLCAxMDU5MiwgMTA1OTMsCisgMTA1OTQsIDEwNTk1LCAxMDU5NiwgMTA1OTcsIDEwNTk4LCAxMDU5OSwgMTA2MDAsIDEwNjAxLCAxMDYwMiwgMTA2MDMsIDEwNjA0LAorIDEwNjA1LCAxMDQxOCwgMTA2MDYsIDEwNjA3LCAxMDYwOCwgMTA2MDksIDEwNjEwLCAxMDM3NiwgMTAzNTgsIDEwNjExLCAxMDYxMiwKKyAxMDYxMywgMTA2MTQsIDEwNjE1LCAxMDYxNiwgMTA2MTcsIDEwNjE3LCAxMDYxOCwgMTA2MTksIDEwNjIwLCAxMDEyMywgOTI4OSwKKyAxMDYyMSwgMTA2MjIsIDEwNjIzLCAxMDYyMSwgMTA2MjIsIDEwNjIzLCAxMDYyNCwgMTA2MjUsIDY2MjMsIDEwNjI3LCAxMDYyOCwKKyAxMDYyOSwgMTA2MzAsIDEwNjMxLCAxMDYzMiwgMTA2MzMsIDEwNjM0LCAxMDYzNSwgMTA2MzYsIDEwNjM3LCAxMDYzOCwgMTA2MzksCisgMTA2NDAsIDEwNjQxLCAxMDY0MSwgMTA2NDIsIDEwNjQzLCAxMDY0NCwgMTA2NDUsIDEwNjQ2LCAxMDY0NywgMTA2NDgsIDEwNjQ5LAorIDEwNjQ5LCAxMDY1MCwgMTA2NTEsIDEwNjUyLCAxMDY1MywgMTA2NTMsIDEwNjU0LCAxMDY1NSwgNzg4OCwgMTA2NTcsIDEwNjU4LAorIDEwNjU5LCAxMDY2MCwgMTA2NjEsIDEwNjYyLCA2NjYxLCAxMDY2NCwgMTA2NjUsIDEwNjY2LCAxMDY2NiwgMTA2NjcsIDEwNjY4LAorIDEwNjY5LCAxMDY3MCwgMTA2NzAsIDEwNjcxLCAxMDY3MiwgMTA2NzMsIDEwNjYzLCAxMDY3NCwgMTA2NzUsIDEwNjc0LCAxMDY3NSwKKyAxMDY3NiwgMTA2NzcsIDY2NzcsIDEwNjc5LCAxMDY4MCwgMTA2ODEsIDEwNjgyLCAxMDY4MywgMTA2ODQsIDEwNjg1LCAxMDY4NiwKKyAxMDY4NywgMTA2ODgsIDEwNjg5LCAxMDY5MCwgMTA2OTEsIDEwNjkyLCAxMDY5MywgMTA2OTQsIDEwNjk1LCA2Njk2LCAxMDY5NywKKyAxMDY5OCwgMTA2OTksIDEwNzAwLCAxMDcwMSwgMTA3MDIsIDEwNzAzLCAxMDcwNCwgMTA3MDUsIDEwNzA2LCAxMDcwNywgMTA3MDgsCisgMTA3MDksIDEwNzEwLCAxMDcxMSwgMTA3MTIsIDEwNzEzLCAxMDcxNCwgMTA3MTUsIDEwNzE2LCAxMDcxNywgMTA3MTgsIDEwNzE5LAorIDEwNzIwLCAxMDcyMSwgMTA3MjIsIDEwNzIzLCAxMDcyNCwgMTA3MjUsIDEwNzI2LCAxMDcyNywgMTA3MjgsIDEwNzI5LCAxMDczMCwKKyAxMDczMSwgMTA3MzIsIDEwNzMzLCAxMDczNCwgMTA3MzUsIDEwNzM1LCAxMDczNiwgMTA3MzcsIDEwNzM4LCAxMDY5NiwgMTA3NDAsCisgMTA3MzksIDEwNzQwLCAxMDc0MSwgMTA3NDIsIDEwNzQzLCAxMDY3OCwgMTA3NDQsIDEwNzQ1LCAxMDc0NCwgMTA3NDUsIDEwNzQ2LAorIDEwNzQ3LCA2NzQ5LCAxMDc0OSwgMTA3NTAsIDUxMiwgNzYyLCA3NjMsIDc2NCwgNzY1LCAxMDc1MSwgMTA3NTIsIDEwNzUzLAorIDEwNzU0LCAxMDc1NSwgMTA3NTUsIDEwNzU2LCAxMDc1NywgMTA3NTgsIDEwNzU5LCAxMDc1OSwgMTA3NjAsIDEwNzYxLCAxMDc2MiwKKyAxMDc2MywgMTA3NjMsIDEwNzY0LCAxMDc2NSwgMTA3NjYsIDUxMiwgNzYyLCA3NjMsIDc2NCwgNzY1LCAxMDc2NywgMTA3NjcsCisgMTA3NjgsIDEwNzY5LCA3NDE3LCAxMDc3MSwgMTA3NzIsIDY3NzUsIDEwNzc0LCAxMDc3NSwgMTA3NzYsIDEwNzc2LCAxMDc3NywKKyAxMDc3OCwgMTA3NzksIDEwNzgwLCAxMDc4MCwgMTA3ODEsIDEwNzgyLCAxMDc4MywgMTA3ODQsIDEwNzg0LCAxMDc4NSwgMTA3ODYsCisgMTA3ODcsIDEwNzg4LCAxMDc4OCwgMTA3ODksIDEwNzkwLCAxMDc5MSwgMTA3NzMsIDEwNzkzLCAxMDc5MiwgMTA3OTQsIDEwNzk1LAorIDEwNzk2LCAxMDc5NywgMTA3OTcsIDEwNzk4LCAxMDc5OSwgNjgwMywgMTA4MDEsIDEwODAyLCAxMDgwMywgMTA4MDMsIDEwODA0LAorIDEwODA1LCAxMDgwNiwgMTA4MDcsIDEwODA3LCAxMDgwOCwgMTA4MDksIDEwODEwLCAxMDgxMSwgMTA4MTEsIDEwODEyLCAxMDgxMywKKyAxMDgxNCwgMTA4MTUsIDEwODE2LCAxMDgxNywgMTA4MTgsIDEwODE5LCAxMDgyMCwgMTA4MjEsIDEwODIyLCAxMDgyMywgMTA4MjQsCisgMTA4MjUsIDEwODI2LCAxMDgyNywgMTA4MjgsIDEwODI5LCAxMDgzMCwgMTA4MzEsIDEwODMyLCAxMDgzMywgMTA4MzQsIDEwODM1LAorIDEwODM1LCAxMDgzNiwgMTA4MzcsIDEwODM4LCAxMDgzOSwgMTA4MzksIDEwODQwLCAxMDg0MSwgMTA4NDIsIDEwODQzLCAxMDg0MywKKyAxMDg0NCwgMTA4NDUsIDEwODQ2LCAxMDg0NywgMTA4NDcsIDEwODQ4LCAxMDg0OSwgMTA4NTAsIDEwODUxLCAxMDg1MSwgMTA4NTIsCisgMTA4NTMsIDEwODU0LCAxMDg1NSwgMTA4NTUsIDEwODU2LCAxMDg1NywgMTA4NTgsIDEwODU5LCAxMDg1OSwgMTA4NjAsIDEwODYxLAorIDEwODYyLCAxMDg2MywgMTA4NjMsIDEwODY0LCAxMDg2NSwgMTA4NjYsIDEwODY3LCAxMDg2NywgMTA4NjgsIDEwODY5LCAxMDg3MCwKKyAxMDg3MSwgMTA4NzEsIDEwODcyLCAxMDg3MywgMTA4NzQsIDEwODc1LCAxMDg3NSwgMTA4NzYsIDEwODc3LCAxMDg3OCwgMTA4NzksCisgMTA4NzksIDEwODgwLCAxMDg4MSwgMTA4ODIsIDEwODgzLCAxMDg4NCwgMTA4ODUsIDEwODg2LCAxMDg4NywgMTA4ODcsIDEwODg4LAorIDEwODg5LCA2NzQsIDc2NTYsIDc2NTYsIDEwODkxLCAxMDg5MiwgODEyOSwgMTA4OTQsIDEwODk1LCAxMDg5NiwgMTA4OTcsIDEwODk3LAorIDEwODk4LCAxMDg5OSwgMTA5MDAsIDEwOTAxLCAxMDkwMSwgMTA5MDIsIDEwOTAzLCAxMDkwNCwgMTA5MDUsIDEwOTA1LCAxMDkwNiwKKyAxMDkwNywgMTA5MDgsIDEwOTA5LCAxMDkwOSwgMTA5MTAsIDEwOTExLCA4MTU1LCAxMDkxMywgMTA5MTQsIDEwOTE1LCAxMDkxNiwKKyAxMDkxNiwgMTA5MTcsIDEwOTE4LCAxMDkxOSwgMTA5MjAsIDEwOTIwLCAxMDkyMSwgMTA5MjIsIDk3NSwgMTAxMjYsIDEwOTI0LAorIDEwOTI1LCAxMDkyNiwgMTA5MjcsIDEwOTI3LCAxMDkyOCwgMTA5MjksIDc0ODIsIDc0ODIsIDEwOTMxLCAxMDkzMiwgMTA5MzMsCisgMTA5MzQsIDEwOTM0LCAxMDkzNSwgMTA5MzYsIDEwOTM3LCAxMDkzOCwgMTA5MzksIDEwOTQwLCA4MTg1LCA4MTg2LCA4MTg1LAorIDgxODYsIDgxOTAsIDEwOTQyLCAxMDk0MywgMTA5NDQsIDEwOTQ1LCAxMDk0NiwgMTA5NDcsIDgxOTgsIDgxOTksIDgxOTgsIDgxOTksCisgODIwMywgMTA5NDksIDEwOTUwLCAxMDk1MSwgMTA5NTIsIDEwOTUzLCAxMDk1NCwgMTA5NTUsIDEwOTQ4LCAxMDA4LCAxMDk1NiwKKyAxMDk1NywgMTA5NTgsIDEwOTU5LCAxMDk2MCwgMTAwOCwgMTA5NTYsIDEwOTU3LCAxMDk2MSwgMTA5NjIsIDEwOTYzLCAxMDk2NCwKKyAxMDk2NSwgMTA5NjUsIDEwOTY2LCAxMDk2NywgMTA5NjgsIDIsIDEwOTQxLCAxMDkzMCwgMTA5NjksIDEwOTcwLCAxMDk3MSwKKyAxMDk2OSwgMTA5NzAsIDEwOTcxLCAxMDk3MiwgMTA5NzMsIDEwNzkzLCA4MjU4LCAxMDk3NSwgMTA5NzYsIDEwOTc3LCAxMDk3OCwKKyAxMDk3OSwgMTA5ODAsIDEwOTgxLCAxMDk4MiwgMTA5ODIsIDEwOTgzLCAxMDk4NCwgMTA5ODUsIDEwOTg2LCAxMDk4NiwgMTA5ODcsCisgMTA5ODgsIDEwOTg5LCAxMDk5MCwgMTA5OTAsIDEwOTkxLCAxMDk5MiwgMTA5OTMsIDEwOTk0LCAxMDk5NCwgMTA5OTUsIDEwOTk2LAorIDEwOTk3LCAxMDk5OCwgMTA5OTgsIDEwOTk5LCAxMTAwMCwgMTEwMDEsIDExMDAyLCAxMTAwMiwgMTEwMDMsIDExMDA0LCAxMTAwNSwKKyAxMDk3NCwgMTA5MjMsIDEwOTEyLCAxMDg5MywgMTA4OTAsIDEwODAwLCAxMDc3MCwgMTA3NDgsIDEwNjU2LCAxMDYyNiwgOTIwMiwKKyA5MTk1LCA5MTU1LCA4MzMwLCA3MjYyLCA3MjI4LCA3MDQxLCAxMDY0MSwgMTEwMDYsIDExMDA3LCAxMTAwOCwgMTEwMDksIDExMDEwLAorIDExMDExLCAxMTAxMiwgMTEwMTMsIDExMDE0LCAxMTAxNSwgMTEwMTYsIDExMDE3LCAxMTAxOCwgMTEwMTksIDExMDIwLCAxMTAyMSwKKyAxMTAyMiwgMTA2NDEsIDExMDA2LCAxMTAwNywgMTEwMDgsIDExMDA5LCAxMTAxMCwgMTEwMTEsIDExMDEyLCAxMTAxMywgMTEwMTQsCisgMTEwMTUsIDExMDE2LCAxMTAxNywgMTEwMTgsIDExMDE5LCAxMTAyMCwgMTEwMjEsIDExMDIyLCA3NjY5LCAxMTAyMywgODA2MSwKKyA2NjM4LCA3MDA5LCA3MDEwLCA3MDExLCA3MDEyLCA3MDEzLCA3MDE0LCA3MDE1LCA3MDE2LCA3MDE3LCA3MDE4LCA3MDE5LCA3MDIwLAorIDcwMjEsIDcwMjIsIDcwMjMsIDcwMjQsIDcwMjUsIDY2MzgsIDcwMDksIDcwMTAsIDcwMTEsIDcwMTIsIDcwMTMsIDcwMTQsIDcwMTUsCisgNzAxNiwgNzAxNywgNzAxOCwgNzAxOSwgNzAyMCwgNzAyMSwgNzAyMiwgNzAyMywgNzAyNCwgNzAyNSwgMzUwNiwgNzAyNiwgMzkxNCwKKyAxMTAyNCwgMTEwMjUsIDI4NDgsIDI4NDgsIDExMDI3LCAxMTAyNywgMTEwMjgsIDExMDI4LCAxMTAyOSwgMTEwMjksIDExMDMwLAorIDExMDMwLCAxMTAzMSwgMTEwMzEsIDExMDMyLCAxMTAzMiwgMTEwMzMsIDExMDM0LCAxMTAzNCwgMTEwMzUsIDExMDM1LCAxMTAzNiwKKyAxMTAzNiwgMTEwMzcsIDExMDM3LCAxMTAzOCwgMTEwMzgsIDExMDM5LCAxMTAzOSwgMTEwNDAsIDExMDQwLCAxMTA0MSwgMTEwNDEsCisgMTEwNDIsIDExMDQzLCAxMTA0MywgMTEwNDQsIDExMDQ0LCAyOTM0LCAyOTMxLCAxMTA0NiwgMTEwNDcsIDExMDQ4LCAxMTA0OSwKKyAxMTA1MCwgMTEwNTEsIDExMDUyLCAxMTA1MiwgMTEwNTMsIDExMDU0LCAxMTA1NCwgMjk4MiwgMjk4MiwgMTEwNTYsIDExMDU2LAorIDMwMDQsIDExMDU4LCAxMTA1OSwgMTEwNjAsIDExMDYwLCAyOTk3LCAyOTk3LCAxMTA2MiwgMTEwNjIsIDExMDYxLCAxMTA2MSwKKyAxMTA1NywgMTEwNTcsIDExMDU1LCAxMTA1NSwgMTEwNDUsIDExMDQ1LCAzMDM1LCAzMDM1LCAxMTA2NywgMTEwNjcsIDExMDY4LAorIDExMDY4LCAxMTA2OSwgMTEwNjksIDExMDcwLCAxMTA3MSwgMTEwNzIsIDExMDcyLCAzMDc3LCAzMDcwLCAzMDg5LCAxMTA3NiwKKyAxMTA3NCwgMTEwNzUsIDExMDc3LCAxMTA3OCwgMTEwNzksIDExMDgwLCAxMTA4MCwgMTEwODEsIDExMDgxLCAzMTIxLCAzMTIxLAorIDExMDgzLCAxMTA4MywgMTEwODQsIDExMDg0LCAzMTYyLCAzMjM5LCAzMjQyLCAzMjQ1LCAzMjI4LCAzMjI1LCAzMjIyLCAzMjE5LAorIDI4MzAsIDMyMTYsIDMyMDksIDMyMDIsIDI4MjMsIDMxOTUsIDMxODgsIDMxNzYsIDMxNzksIDMxNzMsIDExMDg2LCAzMTU1LAorIDExMDc3LCAxMTA3OCwgMzE0NiwgMzE0MywgMzE0MCwgMzE0NiwgMzE0MywgMzE0MCwgMTEwMzMsIDExMDMzLCAxMTA5NywgMTEwOTcsCisgMTEwOTgsIDExMDk4LCAxMTA5OSwgMTEwOTksIDExMTAwLCAxMTEwMCwgMTExMDEsIDExMTAxLCAxMTEwMiwgMTExMDIsIDExMTAzLAorIDExMTAzLCAxMTEwNCwgMTExMDQsIDExMTA1LCAxMTEwNSwgMTEwNjIsIDExMDYyLCAxMTEwNiwgMTExMDYsIDExMDcwLCAxMTEwOSwKKyAxMTEwOSwgMzMzMiwgMzMzMiwgMTExMTEsIDExMTExLCAxMTExMiwgMTExMTIsIDExMTEzLCAxMTExMywgMTExMTQsIDExMTE0LAorIDExMTE1LCAxMTExNSwgMTExMTYsIDExMTE2LCAxMTExNywgMTExMTcsIDExMTE4LCAxMTExOCwgMTExMTksIDExMTE5LCAxMTEyMCwKKyAxMTEyMCwgMTExMjEsIDExMTIxLCAzMzI5LCAzMzI5LCAzMzgzLCAzMzgzLCAxMTEyMiwgMTExMjIsIDExMTIzLCAxMTEyMywKKyAzNDAwLCAxMTEyNSwgNTQzLCA1NDMsIDExMTI2LCAzNDE5LCAzNDE5LCAxMTEyOCwgMTExMjgsIDExMTI5LCAxMTEyOSwgMTExMzAsCisgMTExMzAsIDExMTMxLCAxMTEzMSwgMTExMzIsIDExMTMyLCAxMTEzMywgMTExMzMsIDExMTM0LCAxMTEzNCwgMTExMzUsIDExMTM1LAorIDExMTM2LCAxMTEzNiwgMTExMzcsIDExMTM3LCAxMTEzOCwgMTExMzgsIDExMTM5LCAxMTEzOSwgMzQ3OCwgMzQ3OCwgMTExNDEsCisgMTExNDEsIDExMTQyLCAxMTE0MiwgMTExNDMsIDExMTQzLCAxMTE0NCwgMTExNDQsIDExMTQwLCAxMTE0MCwgMjg0MSwgMTExNDcsCisgMzUxNCwgMzE2MiwgMzU1MywgMzU1MywgMTExNTAsIDExMTUwLCAzMjQyLCAzNTQ2LCAzMjIyLCAzMjI1LCAzMjI4LCAzNTM4LAorIDM1MzUsIDMxOTUsIDMxNzksIDMxNzYsIDM1MjUsIDExMTQ5LCAxMTA5MCwgMTEwOTUsIDExMTUxLCAxMTE1MSwgMTExNTUsIDExMTU2LAorIDExMTUyLCAxMTE1MywgMTExNTQsIDExMTQ4LCAxMTE0OCwgMzU3OCwgMTExNTksIDExMTYwLCAxMTE2MSwgMTExNjIsIDExMTYzLAorIDExMTYzLCAxMTE2NCwgMTExNjQsIDM2MTMsIDExMTY2LCAxMTE2NywgMzYzNSwgMzYzNSwgMTExNjksIDExMTY5LCAxMTE3MCwKKyAxMTE3MCwgMTExNzEsIDExMTcxLCAxMTE3MiwgMTExNzIsIDM2NjIsIDM2NjIsIDExMTc0LCAxMTE3NCwgMzY3NywgMzY3NywKKyAxMTE3NiwgMTExNzYsIDExMTc3LCAxMTE3NywgMTExNzgsIDExMTc4LCAxMTE3NSwgMTExNzUsIDExMTczLCAxMTE3MywgMTEwNjQsCisgMTEwNjQsIDUxMiwgNzYyLCA3NjMsIDc2NCwgNzY1LCAxMTE3OSwgMTExODAsIDExMTgxLCAxMTE4MiwgMTExNzksIDExMTgwLAorIDExMTgxLCAxMTE4MiwgMTExODMsIDExMTgzLCAxMTE4NCwgMTExODQsIDExMTg1LCAxMTE4NSwgMTExODYsIDExMTg2LCAxMTE2OCwKKyAxMTE2NSwgMTExODcsIDExMTg3LCAxMTE4OCwgMTExODksIDExMTkwLCAxMTE5MCwgMTExNTcsIDExMTU4LCAxMTE1NywgMTExNTgsCisgMzczNCwgMzc0NSwgMTExOTQsIDExMTk1LCAxMTE5NiwgMTExOTcsIDExMTk4LCAxMTE5OSwgMTEyMDAsIDExMjAwLCAxMTE5MywKKyAxMTE5MywgMzc4NSwgMzc4NSwgMTEyMDMsIDExMjAzLCAxMTIwNCwgMTEyMDQsIDExMjA1LCAxMTIwNSwgMTEyMDYsIDExMjA2LAorIDExMjA3LCAzODE2LCAzODE2LCAxMTIwOSwgMTEyMDksIDExMjEwLCAxMTIxMCwgMTEyMTEsIDExMjExLCAxMTIxMiwgMTEyMTIsCisgMTEyMTMsIDExMjEzLCAxMTIxNCwgMTEyMTQsIDExMjE1LCAxMTIxNSwgMTEyMTYsIDExMjE2LCAxMTIxNywgMTEyMTcsIDExMjE4LAorIDExMjE4LCAzODY3LCAzODY3LCAxMTIyMCwgMTEyMjAsIDExMjIxLCAxMTIyMSwgMTEyMjIsIDExMjIyLCAxMTIyMywgMTEyMjMsCisgMTEyMjQsIDExMjI0LCAxMTIyNSwgMTEyMjUsIDExMjI2LCAxMTIyNiwgMTEyMjcsIDExMjI3LCAxMTIyOCwgMTEyMjgsIDI4MjMsCisgMTEyMzAsIDExMjMxLCAxMTIzMSwgMTEyMzIsIDExMjMyLCAxMTIzMywgMTEyMzMsIDExMjM0LCAxMTIzNCwgMTEyMzUsIDExMjM1LAorIDExMjM2LCAxMTIzNiwgMTEyMzcsIDExMjM3LCAxMTIyOSwgMTEyMTksIDM5NTIsIDExMjQxLCAxMTIzOCwgMTEyMzgsIDExMjM5LAorIDExMjQwLCAxMTIwOCwgMTEyNDIsIDExMjQyLCAxMTI0MywgMTEyNDQsIDM5NzMsIDM5NzMsIDExMjQ2LCAxMTI0NiwgMTEyNDcsCisgMTEyNDcsIDExMjQ4LCAxMTI0OCwgMTEyNDksIDExMjQ5LCA0MDAwLCAxMTI1MSwgMTEyNTIsIDExMjUyLCA0MDE5LCA0MDE5LAorIDExMjU0LCAxMTI1NCwgMTEyNTUsIDExMjU1LCA0MDM4LCA0MDM4LCA0MDQxLCA0MDQxLCA0MDUzLCA0MDUzLCA0MDU2LCA0MDU2LAorIDExMjU4LCAxMTI1NywgMTAwOCwgMTEyNTksIDExMjYwLCAxMTI2MSwgMTEyNjEsIDExMjU2LCAxMTI1NiwgNDA4MiwgNDA5MywKKyA0MDkzLCAxMTI2NSwgMTEyNjUsIDExMjY2LCAxMTI2NiwgMTEyNjcsIDExMjY3LCAxMTI2OCwgMTEyNjgsIDExMjY5LCAxMTI2NCwKKyAxMTI3MSwgMTEyNzAsIDExMjcyLCAxMTI3MiwgMTEyNzMsIDExMjczLCAxMTI3NCwgMTEyNzQsIDExMjc1LCAxMTI3NSwgMTEyNzYsCisgMTEyNzYsIDExMjc3LCAxMTI3NywgMTEyNjIsIDExMjYzLCAxMTI2MiwgMTEyNjMsIDExMjUzLCAxMTI1MywgMTEyNTAsIDExMjUwLAorIDExMjQ1LCAxMTI0NSwgMTEyMDEsIDExMjAyLCAxMTIwMSwgMTEyMDIsIDExMTkxLCAxMTE5MiwgMTExOTEsIDExMTkyLCAxMTE0NSwKKyAxMTE0NSwgMTExNDYsIDExMTQ2LCAxMTEyNywgMTExMjcsIDExMTI0LCAxMTEyNCwgMTExMTAsIDExMTEwLCAxMTEwNywgMTExMDcsCisgMTExMDgsIDExMTA4LCA0MTY0LCA0MTY0LCAxMTI5MCwgMTEyOTAsIDExMjkxLCAxMTI5MSwgMTEyOTIsIDExMjkyLCAxMTI5MywKKyAxMTI5MywgMTEyNzgsIDExMjc5LCAxMTI4MCwgMTEyODEsIDExMjgyLCAxMTI4MywgMTEyODQsIDExMjg1LCAxMTI4NiwgMTEyODcsCisgMTEyODgsIDExMjg5LCAxMTI3OCwgMTEyNzksIDExMjgwLCAxMTI4MSwgMTEyODIsIDExMjgzLCAxMTI4NCwgMTEyODUsIDExMjg2LAorIDExMjg3LCAxMTI4OCwgMTEyODksIDExMDg4LCAxMTA4OSwgMTEwOTAsIDExMDkxLCAxMTA5MiwgMTEwOTUsIDExMDg3LCAxMTA5MywKKyAxMTA5NCwgMTEwOTYsIDExMDg1LCAxMTA4NSwgMTEwODIsIDExMDgyLCA0MjI5LCA0MjI5LCAxMTI5OSwgMTEyOTksIDExMzAwLAorIDExMzAwLCA0MTk1LCA0MTk1LCA0MjU2LCA0MjUzLCA0MjUwLCA0MjQ3LCA0MjQ0LCAxMTMwMSwgNDIyNiwgNDIyMywgNDIyMCwKKyA0MjE3LCA0MjE0LCA0MjExLCA0MjA4LCA0MjA1LCA0MjAyLCAxMTMwMiwgNDI1NiwgNDI1MywgNDI1MCwgNDI0NywgNDI0NCwKKyAxMTMwMSwgNDIyNiwgNDIyMywgNDIyMCwgNDIxNywgNDIxNCwgNDIxMSwgNDIwOCwgNDIwNSwgNDIwMiwgMTEzMDIsIDQyODIsCisgNDI4MiwgMTEzMDQsIDExMzA0LCAxMTMwNSwgMTEzMDUsIDExMzA2LCAxMTMwNiwgMTEzMDcsIDExMzA3LCAxMTMwMywgNDMxMCwKKyA0MzEwLCAxMTMxMCwgMTEzMTAsIDExMzExLCAxMTMxMSwgMTEzMTIsIDExMzEzLCAxMTMxNCwgMTEzMTUsIDQzNDUsIDQzNDUsCisgMTEzMTcsIDExMzE3LCAxMTMxOCwgMTEzMTgsIDExMzE5LCAxMTMyMCwgMTEzMjEsIDExMzIyLCAxMTMyMywgMTEzMTYsIDQzODUsCisgNDM4NSwgMTEzMjYsIDExMzI2LCAxMTMyNywgMTEzMjcsIDExMzI4LCAxMTMyOSwgMTEzMzAsIDExMzMxLCAxMTMzMiwgNDQyNCwKKyA0NDI0LCAxMTMzNCwgMTEzMzQsIDExMzM1LCAxMTMzNSwgMTEzMzYsIDExMzM3LCAxMTMzOCwgMTEzMzksIDQ0NTksIDQ0NTksCisgMTEzNDEsIDExMzQxLCAxMTM0MiwgMTEzNDIsIDExMzQzLCAxMTM0NCwgMTEzNDUsIDExMzQ2LCAxMTM0NywgMTEzNDAsIDQ0OTksCisgNDQ5OSwgMTEzNTAsIDExMzUwLCAxMTM1MSwgMTEzNTEsIDExMzUyLCAxMTM1MywgMTEzNTQsIDExMzU1LCAxMTM1NiwgNDUzOCwKKyA0NTM4LCAxMTM1OCwgMTEzNTgsIDExMzU5LCAxMTM1OSwgMTEzNjAsIDExMzYxLCAxMTM2MiwgMTEzNjMsIDExMzY0LCAxMTM2NSwKKyAxMTM2NSwgMTEzNjYsIDExMzY2LCAxMTM2NywgMTEzNjcsIDExMzY4LCAxMTM2OCwgMTEzNjksIDExMzY5LCAxMTM3MCwgMTEzNzAsCisgMTEzNzEsIDExMzcxLCAxMTM3MiwgMTEzNzIsIDExMzczLCAxMTM3MywgMTEzNzQsIDExMzc0LCA0NjE3LCA0NjE3LCAxMTM3NiwKKyAxMTM3NiwgMTEzNzcsIDExMzc3LCAxMTM3OCwgMTEzNzksIDExMzgwLCAxMTM4MSwgNDY1MiwgNDY1MiwgMTEzODMsIDExMzgzLAorIDExMzg0LCAxMTM4NCwgMTEzODUsIDExMzg2LCAxMTM4NywgMTEzODgsIDExMzg5LCAxMTM4MiwgMTEzNzUsIDExMzc1LCA0NjkzLAorIDQ2OTMsIDExMzkzLCAxMTM5MywgMTEzOTQsIDExMzk0LCAxMTM5NSwgNDcxNiwgNDcxNiwgMTEzOTcsIDExMzk3LCAxMTM5OCwKKyAxMTM5OCwgMTEzOTksIDExNDAwLCAxMTQwMSwgMTE0MDIsIDExNDAyLCAxMTQwMywgMTE0MDMsIDExNDA0LCAxMTQwNCwgNDc2NSwKKyA0NzY1LCAxMTQwNiwgMTE0MDYsIDExNDA3LCAxMTQwNywgMTE0MDgsIDExNDA5LCAxMTQxMCwgMTE0MTEsIDExNDEyLCAxMTQxMiwKKyAxMTM0OSwgMTEzNDksIDExMzI0LCAxMTMyNCwgMTE0MDUsIDExNDA1LCAxMTM5NiwgMTEzOTYsIDExMzkwLCAxMTM5MSwgMTEzOTIsCisgMTEzOTAsIDExMzkxLCAxMTM5MiwgMTEzNTcsIDExMzU3LCAxMTM0OSwgMTEzNDksIDExMzQ4LCAxMTM0OCwgMTEzMzMsIDExMzMzLAorIDExMzI0LCAxMTMyNCwgMTEzMjUsIDExMzI1LCAxMTMwOCwgMTEzMDksIDExMzA4LCAxMTMwOSwgMTE0MTMsIDExNDE0LCAxMTQxNSwKKyAxMTQxNiwgMTE0MTcsIDExNDE4LCAxMTQxOSwgMTE0MjAsIDExNDIxLCAxMTQyMiwgMTE0MjMsIDExNDEzLCAxMTQxNCwgMTE0MTUsCisgMTE0MTYsIDExNDE3LCAxMTQxOCwgMTE0MTksIDExNDIwLCAxMTQyMSwgMTE0MjIsIDExNDIzLCA5MiwgMTE0MjQsIDExNDI1LAorIDExNDI1LCAxMTQyNiwgMTE0MjYsIDExNDI3LCAxMTQyNywgNDgzNCwgMTE0MjksIDExNDMwLCAxMTQzMSwgMTE0MzEsIDQ4NTcsCisgMTE0MzMsIDExNDM0LCAxMTQzNSwgMTE0MzUsIDQ4ODYsIDQ4ODYsIDExNDM3LCAzMzI5LCA0ODgzLCA0ODgwLCAxMTQzNywgMzMyOSwKKyA0ODgzLCA0ODgwLCAzMzgzLCAzMzgzLCAxMTQzOCwgMTExMTcsIDExNDQwLCAxMTQ0MCwgMTE0NDEsIDExNDQxLCAxMTQ0MiwKKyAxMTQ0MiwgMTE0NDMsIDExNDQ0LCAxMTQ0NCwgMTE0NDUsIDExNDQ1LCAxMTQ0NiwgMTE0NDYsIDExNDQ3LCAxMTQ0NywgMTE0NDgsCisgMTE0NDgsIDExNDQ5LCAxMTQ0OSwgMTE0NTAsIDExNDUxLCAxMTQ1MSwgMTE0NTIsIDExNDUyLCAxMTQ1MywgMTE0NTMsIDExNDU0LAorIDExNDU0LCAxMTQ1NSwgMTE0NTUsIDExNDU2LCAxMTQ1NiwgMTE0NTcsIDExNDU4LCAxMTQ1OCwgMTE0NTksIDExNDU5LCAxMTQ2MCwKKyAxMTQ2MCwgMTE0NjEsIDExNDYxLCAxMTQ2MiwgMTE0NjMsIDExNDYzLCAxMTQ2NCwgMTE0NjQsIDExNDY1LCAxMTQ2NSwgMTE0NjYsCisgMTE0NjYsIDExNDY3LCAxMTQ2OCwgMTE0NjgsIDExNDY5LCAxMTQ2OSwgMTE0NzAsIDExNDcwLCAxMTQ3MSwgMTE0NzEsIDExNDcyLAorIDExNDcyLCAxMTQ3MywgMTE0NzMsIDExNDM5LCAxMTQzOSwgMTE0MzYsIDExNDM2LCAxMTQzMiwgMTE0MzIsIDExNDI4LCAxMTQyOCwKKyAxMTE1OSwgMTE0NzksIDExNDgwLCAxMTQ4MSwgMTE0ODIsIDQ5LCA3ODIsIDExNDg0LCAxMTQ4NCwgMTE0ODUsIDExNDg1LCAxMTQ4NiwKKyAxMTQ4NiwgNTQzLCA1NDMsIDExNDgzLCAxMTEyNiwgNDksIDc4MiwgMTE0ODksIDExNDg5LCAxMTQ5MCwgMTE0OTAsIDExNDkxLAorIDExNDkxLCAxMTE0NSwgNDgsIDU0MywgNzUwLCA0OSwgNzQ5LCAxMDA4LCA1MTA0LCA1MTAxLCA1MTY2LCA1MTU5LCA1MTQ0LAorIDUxNDEsIDUxMzgsIDUxMzUsIDUxMzIsIDUxMjksIDUxMjYsIDUxMjMsIDUxMjAsIDQzLCA0MzcsIDIsIDU5MSwgODM1LCAxMTQ5NiwKKyAxMTQ5NywgMTE0OTgsIDU5NCwgNzY1LCA5NTEsIDE1NjQsIDExNDk0LCAxMTQ5NSwgMzQwLCA1MTIsIDc2MywgNzY0LCAxMDg2LAorIDExNDk5LCAxMTUwMCwgMTE1MDEsIDExNTAyLCAxMTUwMywgMTE1MDQsIDExNTA0LCAyNjgsIDE3MzgsIDUyNjcsIDUyOTIsIDUyODUsCisgNTMyMCwgMTE1MDksIDUzMDgsIDUzMDUsIDUzMDIsIDUyOTksIDExNTA3LCAxMTUwOCwgNTI3NCwgMTE1MDYsIDUyNjQsIDUyNjEsCisgNTI1OCwgMzA4OSwgNTI0NywgNTI0NCwgNTI0MSwgNTIzOCwgNTIzNSwgNTIyMiwgNTIxOSwgNTIxNiwgNTIxMywgNTIxMCwgNTIwNywKKyA1MjA0LCA1MzM5LCA1MzUwLCA0NzQsIDQ3NSwgNDc2LCAxMTUxNiwgMTgxMCwgMTE1MTUsIDUzNjksIDExNTE5LCA1NDAxLCA1Mzk4LAorIDUzOTUsIDUzOTIsIDIyOSwgNTM4NSwgNTQ1NiwgMTE1MjMsIDU0NDksIDU0NDEsIDU0MzgsIDU0MzEsIDUwMiwgNTQyMiwgNTQxOSwKKyA1NDE2LCA1NDc1LCA1NDk1LCA1NDkyLCA1NDg5LCA1NDg2LCAxMTUzMCwgMTE1MjksIDEyLCAxOTY0LCAyNDUsIDI0NywgMjQ4LAorIDI0OSwgMjUwLCAyNTEsIDQ0OCwgNTE1LCAxMTUzMywgNzIsIDE5ODUsIDczLCAxOTgyLCAxMDIzLCAxMDI0LCAxMDI1LCAxOTUsCisgOTUxLCAyMDI0LCAyMDI2LCAyMDI3LCAyMDI4LCAxMTUzNywgMjYzLCA1NTYyLCAxMTUzNSwgMTE1MzYsIDU1OTMsIDU1OTAsCisgNTU4NywgMTE1MzgsIDU1NzcsIDU1NzQsIDU1NzEsIDExNTM5LCAzMjI1LCA1NTQ0LCA1NTQxLCAxMTUzNCwgNTUzMSwgNTUyOCwKKyA1NTI1LCAzMjA5LCA1NTE3LCA1NTE0LCAxMTUzMSwgMTE1MzIsIDExNTI0LCAxMTUyNSwgMTE1MjYsIDExNTI3LCAxMTUyOCwKKyAzMTk1LCAxMTUyMSwgMTE1MjIsIDQ1NywgMzE4OCwgMTE1MjAsIDUzNjYsIDMxNzksIDM1MjUsIDExNTE3LCAxMTUxOCwgMTE1MTAsCisgMTE1MTEsIDExNTEyLCAxMTUxMywgMTE1MTQsIDIxMzEsIDIxMzAsIDIxMjksIDIxMjgsIDIxMjcsIDIxMjYsIDIxMjUsIDIxMjQsCisgMjExNSwgMjExNCwgMjExMywgMjExMiwgMjExMSwgMjExMCwgMjEwOSwgMjEwNCwgMjEwMywgMjEwMiwgMjA5OSwgMjA5NSwgMjA5NCwKKyAyMDkwLCAyMDg5LCAyMDgzLCAyMDgyLCAyMDgxLCAyMDgwLCAyMDc2LCAyMDc1LCAyMTkyLCAyMTkxLCAyMTkwLCAyMTg5LCAyMTgyLAorIDIxODEsIDIxODAsIDIxNzksIDIxNzgsIDIxNzAsIDIxNjksIDIxNjgsIDIxNjcsIDIxNjYsIDIxNjUsIDIxNTYsIDIxNTUsIDIxNTQsCisgMjE1MywgMjE1MiwgMjE1MSwgMjE1MCwgMjIwOSwgMjIwOCwgMjIwNywgMjIwNiwgMjIwMywgMjIzMywgMjIyOSwgMjIyOCwgMjIyNSwKKyAyMjIwLCAyMjE5LCAyMjE4LCAyMjQxLCAyMjUzLCAyMjQ4LCAyMjQ3LCAyMjQ2LCAxMTU2OCwgMTE1NjksIDExNTY3LCAxMTU2MywKKyAxMTU2NCwgMTE1NjUsIDExNTY2LCAxMTU2MSwgMTE1NjIsIDExNTU3LCAxMTU1OCwgMTE1NTksIDExNTYwLCAxMTU0OSwgMTE1NTAsCisgMTE1NTEsIDExNTUyLCAxMTU1MywgMTE1NTQsIDExNTU1LCAxMTU1NiwgMjI2NiwgMjI3NCwgMjI3MSwgMjI4MCwgMTE1NzksCisgMTE1NzcsIDExNTc4LCAxMTU3NiwgMjI4OSwgMjI5NCwgMTE1ODQsIDExNTgzLCAyMzAyLCAxMTU4NywgMjMwOSwgMTE1ODksCisgMjMxNiwgMjMyNCwgMjMyMywgMjMyMiwgMjMyMSwgMTE1OTIsIDExNTkxLCAxMTU5MywgMTE1OTQsIDExNTkwLCAxMTU4OCwgMTE1ODUsCisgMTE1ODYsIDExNTgwLCAxMTU4MSwgMTE1ODIsIDExNTcwLCAxMTU3MSwgMTE1NzIsIDExNTczLCAxMTU3NCwgMTE1NzUsIDExNTk1LAorIDExNTk2LCAxMTU5NywgMTE1OTgsIDExNTk5LCAxMTYwMCwgMTE2MDEsIDExNjAxLCAxMTYwMiwgMTE2MDIsIDExNjAzLCAxMTYwMywKKyAxMTYwNCwgMTE2MDQsIDMyNDIsIDMyMzksIDE2MTEsIDExMTUxLCAxMTE1MSwgMTE1NDAsIDExNTQxLCAxMTU0MiwgMTE1NDMsCisgMTE1NDQsIDExNTQ1LCAxMTU0NiwgMTE1NDcsIDExNTQ4LCAxMTYwNSwgMTE2MDUsIDExNjA2LCAxMTA4OCwgMTEwODksIDExMDkwLAorIDExMDkxLCAxMTA5MiwgMTExNTUsIDExMTU2LCAxMTA5NSwgMTE2MDcsIDYxMDIsIDExNjA5LCAxMTYwOSwgMTE2MTAsIDExNjEwLAorIDExNjExLCAxMTYxMSwgMTE2MTIsIDExNjEzLCAxMTYxNCwgMTE2MTUsIDYxNDEsIDExNjE3LCAxMTYxNywgMTE2MTgsIDExNjE4LAorIDExNjE5LCAxMTYxOSwgMTE2MjAsIDExNjIwLCAxMTYyMSwgMTE2MjEsIDExNjIyLCAxMTYyMywgMTE2MjQsIDExNjI1LCAxMTYyNiwKKyAxMTYyNywgMTE2MjcsIDExNjI4LCAxMTYyOCwgMTE2MjksIDExNjI5LCAxMTYzMCwgMTE2MzAsIDExNjMxLCAxMTYzMSwgMTE2MzIsCisgMTE2MzIsIDExNjMzLCAxMTYzMywgNjIyMCwgMTE2MzUsIDExNjM1LCAxMTYzNiwgMTE2MzYsIDExNjM3LCAxMTYzNywgMTE2MzgsCisgMTE2MzgsIDExNjM5LCAxMTYzOSwgMTE2NDAsIDExNjQxLCAxMTY0MSwgMTE2NDIsIDExNjQyLCAxMTY0MywgMTE2NDMsIDExNjQ0LAorIDExNjQ0LCAxMTY0NSwgMTE2NDUsIDExNjQ2LCAxMTY0NiwgMTE2NDcsIDExNjQ3LCA0MywgMTE2NDgsIDQ0LCA3NDksIDc1MCwKKyAxMTYzNCwgMzQwLCA3NjMsIDc2NCwgNzY1LCA3ODIsIDc5MSwgMTA4NiwgMTE2NDksIDExNjUwLCAxMTY1MSwgMTE2NTIsIDExNjUzLAorIDYzMTMsIDYzMTYsIDYzMTAsIDYzMDcsIDYzMDQsIDMxNCwgNTQ0OSwgMTE2NTUsIDExNjU2LCAxMTY1NywgMTE2NTcsIDExNjU0LAorIDExNjE2LCA2MzQ1LCA2MzQ1LCAxMTY2MSwgMTE2NjIsIDYzNjQsIDExNjY0LCAxMTY2NSwgMTE2NjYsIDExNjY3LCAxMTY2NywKKyAxMTY2OCwgMTE2NjgsIDExNjY5LCAxMTY2OSwgMTE2NzAsIDExNjcxLCA2NDA3LCAxMTY3MywgMTE2NzQsIDY0MjYsIDExNjc2LAorIDExNjc3LCA2NDQ1LCAxMTY3OSwgMTE2ODAsIDY0NjQsIDExNjgyLCAxMTY4MywgNjQ4MywgMTE2ODUsIDExNjg2LCA2NTAyLAorIDExNjg4LCAxMTY4OSwgNjUyMSwgMTE2OTEsIDExNjkyLCA2MzEzLCAxMTY5NCwgMTE2OTUsIDY1NTUsIDExNjk3LCAxMTY5OCwKKyA0MCwgMTE2OTksIDQ4LCAxMTY5NiwgNDksIDExNjkzLCA1MCwgMTE2OTAsIDMsIDExNjg3LCA0MSwgMTE2ODQsIDQyLCAxMTY4MSwKKyA0MywgMTE2NzgsIDQ0LCA3NTAsIDExNjc1LCAxMTcwMCwgMTE3MDEsIDExNzAyLCAxMTcwMywgMTE3MDQsIDExNzA1LCAxMTcwNiwKKyAxMTcwNywgMTE3MDgsIDExNzA5LCAxMTcxMCwgMTE3MTEsIDExNzEyLCAxMTY3MiwgMTE3MTMsIDExNzE0LCAxMTY2MywgMTE2NTgsCisgMTE2NTgsIDExNjU5LCAxMTY2MCwgMTE3MTUsIDExNzE2LCAxMTcxNywgNzkxLCA3OTEsIDExNzE5LCAxMTcxOSwgMTE3MjAsCisgMTE3MjAsIDY3NCwgMTE3MjIsIDExNzIyLCAxMTcyMywgMTE3MjMsIDExNzI0LCAxMTcyNCwgMTE3MjUsIDExNzI1LCAxMTcyNiwKKyAxMTcyNiwgMTE3MjcsIDExNzIxLCAxMTcyMSwgMTE3MTgsIDExNzE4LCAxMTYwOCwgMTE2MDgsIDExNTA1LCAxMTUwNSwgNjYyMywKKyAxMTczMywgMTE3MzQsIDExNzM1LCAxMTczNSwgMTE3MzYsIDExNzM3LCAxMTczNywgMzczNCwgNjY2MSwgNjY2MSwgMTE3NDAsCisgMTE3NDAsIDExNzM5LCA2Njc3LCAxMTc0MywgMTE3NDQsIDY2OTYsIDExNzQ2LCAxMTc0NywgMTE3NDgsIDExNzQ5LCAxMTc1MCwKKyAxMTc1MSwgMTE3NTIsIDExNzUzLCAxMTc1NCwgMTE3NTQsIDExNzQ1LCAxMTc1NiwgMTE3NTUsIDExNzU2LCAxMTc0MSwgMTE3NDIsCisgMTE3NDEsIDExNzQyLCA1MTIsIDc2MiwgNzYzLCA3NjQsIDc2NSwgNjc0OSwgMTE3NTksIDExNzU5LCAxMTc2MCwgMTE3NjAsCisgMTE3NjEsIDExNzYxLCA2Nzc1LCA2Nzc1LCAxMTc2MywgMTE3NjMsIDExNzY0LCAxMTc2NCwgMTE3NjUsIDExNzY1LCAzMjQ1LAorIDExNzY3LCAxMTc2NiwgNjgwMywgNjgwMywgMTE3NjksIDExNzY5LCAxMTc3MCwgMTE3NzAsIDExNzcxLCAxMTc3MiwgMTE3NzMsCisgMTE3NzQsIDExNzc1LCAxMTc3NiwgMTE3NzYsIDExNzc3LCAxMTc3NywgMTE3NzgsIDExNzc4LCAxMTc3OSwgMTE3NzksIDExNzgwLAorIDExNzgwLCAxMTc4MSwgMTE3ODEsIDExNzgyLCAxMTc4MiwgMTE3ODMsIDExNzgzLCAxMTc4NCwgMTE3ODQsIDExNzg1LCAxMTc4NSwKKyAxMTc4NiwgMTE3ODYsIDExNzg3LCAxMTc4NywgMTE3ODgsIDE1NjQsIDExNzkwLCAxMTc5MSwgMTE3OTIsIDExNzkzLCAxMTc5MywKKyAxMTc5MywgMTE3OTQsIDExNzk1LCAxMTc5NSwgMTE3OTUsIDExMjQ3LCAxMTc5NywgMTE3OTcsIDExNzk4LCAxMTc5OCwgMTE3OTksCisgMTE3OTksIDExMjUyLCAxMTgwMSwgMTE4MDEsIDk3NSwgNjEwMiwgMTExMDcsIDExMTA3LCAxMTgwNCwgMTE4MDQsIDQwNDEsCisgNDAzOCwgNDA0MSwgNDAzOCwgMTEyNTcsIDQwNTYsIDQwNTMsIDQwNTYsIDQwNTMsIDExMjU4LCAxMTgwNywgMTE4MDYsIDEwMDgsCisgMTE4MDgsIDExODA5LCAxMDA4LCAxMTgwOCwgMTE4MDksIDExODEwLCAxMTgxMSwgMTE4MTEsIDIsIDExODA1LCAxMTgwMywgMTE4MDMsCisgMTE3NjcsIDExMjcxLCAxMTgxNSwgMTE4MTYsIDExODE2LCAxMTgxNywgMTE4MTcsIDExODE4LCAxMTgxOCwgMTE4MTksIDExODE5LAorIDExODIwLCAxMTgyMCwgMjY4LCAyNjgsIDExODIyLCAxMTgyMiwgMTE4MjMsIDExODIzLCAxMTgyNCwgMTE4MjQsIDExODI1LAorIDExODI1LCAxMTgyNiwgMTE4MjYsIDExODI3LCAxMTgyNywgMTE4MjgsIDExODI4LCAxMTgyOSwgMTE4MzAsIDExODMwLCAxMTgzMSwKKyAxMTgzMSwgMTE4MzIsIDExODMyLCAxMTgzMywgMTE4MzMsIDExODM0LCAxMTgzNCwgMTE4MzUsIDExODM1LCAxMTgzNiwgMTE4MzYsCisgMTE4MzcsIDExODM3LCAxMTgzOCwgMTE4MzksIDExODM5LCAxMTg0MCwgMTE4NDAsIDMxNCwgMTM0OTEsIDExODQyLCAxMTg0MywKKyAxMTg0NCwgMTE4NDUsIDExODQ2LCAxMTg0NywgMTE4NDgsIDExODQ5LCAxMTg1MCwgMTE4NTAsIDExODUwLCAxMTg1MSwgMTE4NTIsCisgMTE4NTIsIDExODUyLCAyNjgsIDI2OCwgMTE4NTQsIDExODU0LCAxMTg1NSwgMTE4NTUsIDExODU2LCAxMTg1NiwgMTE4NTcsCisgMTE4NTcsIDExODU4LCAxMTg1OCwgMTE4NTksIDExODU5LCAxMTg2MCwgMTE4NjAsIDExODYxLCAxMTg2MiwgMTE4NjIsIDExODYzLAorIDExODYzLCAxMTg2NCwgMTE4NjQsIDExODY1LCAxMTg2NSwgMTE4NjYsIDExODY2LCAxMTg2NywgMTE4NjcsIDExODY4LCAxMTg2OCwKKyAxMTg2OSwgMTE4NjksIDExODcwLCAxMTg3MSwgMTE4NzEsIDExODcyLCAxMTg3MiwgMzQwLCAzNDAsIDExODc0LCAxMTg3NCwKKyAxMTg3NSwgMTE4NzUsIDM0MCwgMzQwLCAxMTg3NywgMTE4NzcsIDExODc4LCAxMTg3OCwgMzE0LCAzMTQsIDMxNCwgMzQwLCAxMTg4MSwKKyAxMTg4MiwgMTE4ODMsIDExODg0LCAxMTg4NCwgMTE4ODQsIDExODgwLCAxMTg4MCwgMTE4ODAsIDExODg2LCAxMTg4NiwgMTE4ODYsCisgMTE4ODUsIDExODg1LCAxMTg4NSwgMTE4NzksIDExODc5LCAxMTg3NiwgMTE4NzYsIDExODczLCAxMTg3MywgMTE4NTMsIDExODUzLAorIDExODUzLCAxMTg0MSwgMTE4NDEsIDQzNywgNDM3LCAxMTg5MywgMTE4OTMsIDExODk0LCAxMTg5NCwgMTE4OTUsIDExODk1LAorIDI0NiwgMjQ2LCAyNTEsIDI1MSwgNDQ4LCA0NDgsIDQ1NywgNDgxLCA0ODIsIDMxNCwgMjI5LCA0OTMsIDQ5NCwgNDk1LCA1MDcsCisgNTI2LCA1MjMsIDI0NSwgMjQ2LCAyNDcsIDI0OCwgMjQ5LCAyNTAsIDI1MSwgNTE1LCAyMzgsIDIzNywgMjM2LCAyMzUsIDIzNCwKKyAyNjMsIDUzNSwgMTE5MTAsIDExOTA2LCAxMTkwNywgMTE5MDksIDExOTA4LCAxMTkwNSwgMTE5MDMsIDExOTA0LCAxMTkwMiwKKyAxMTkwMSwgMTE5MDAsIDExODk3LCAxMTg5OCwgMTE4OTksIDExODk3LCAxMTg5OCwgMTE4OTksIDExODI5LCAxMTgyOSwgMTE5MTksCisgMTE5MTksIDExOTIwLCAxMTkyMCwgMTE5MjEsIDExOTIxLCAxMTkyMiwgMTE5MjIsIDExOTIzLCAxMTkyMywgMTE5MjQsIDExOTI0LAorIDExOTI1LCAxMTkyNSwgMTE5MjYsIDExOTI2LCAxMTkyNywgMTE5MjcsIDMxNCwgMzE0LCAxMTkyOSwgMTE5MjksIDExOTMwLAorIDExOTMwLCAxMTkyOCwgMTE5MjgsIDM2OSwgMzY5LCAxMTkzMywgMTE5MzMsIDExOTM0LCAxMTkzNCwgMTE5MzUsIDExOTM1LAorIDExOTM2LCAxMTkzNiwgMTE5MzcsIDExOTM4LCAxMTkzOCwgNTk0LCA1OTQsIDExOTQwLCAxMTk0MCwgMTE5NDEsIDExOTQxLAorIDExOTQyLCAxMTk0MiwgMTE5NDMsIDExOTQzLCAxMTk0NCwgMTE5NDQsIDExOTQ1LCAxMTk0NSwgMTE5NDYsIDExOTQ2LCAxMTk0NywKKyAxMTk0NywgMTE5NDgsIDExOTQ4LCAxMTk0OSwgMTE5NDksIDExOTUwLCAxMTk1MCwgNjIxLCA2MjEsIDExOTUxLCAxMTk1MSwKKyA1OTEsIDU5MSwgMTE5NTIsIDExOTUzLCAxMTk1NCwgMTE5NTIsIDExOTUzLCAxMTk1NCwgMTE5NTUsIDExOTU1LCA2MzIsIDExOTU3LAorIDExOTU4LCA1NDMsIDU0MywgMTE5NTksIDY0MywgNjQzLCAxMTk2MSwgMTE5NjEsIDExOTYyLCAxMTk2MiwgMTE5NjMsIDExOTYzLAorIDExOTY0LCAxMTk2NCwgMTE5NjUsIDExOTY1LCAxMTk2NiwgMTE5NjYsIDExOTY3LCAxMTk2NywgMTE5NjgsIDExOTY4LCAxMTk2OSwKKyAxMTk2OSwgMTE5NzAsIDExOTcwLCAxMTk3MSwgMTE5NzEsIDExOTcyLCAxMTk3MiwgMTE5NzMsIDExOTczLCAxMTk3NCwgMTE5NzQsCisgMjYzLCAxMTk3NiwgMTE5NzcsIDcxNSwgNzE1LCAxMTk3OSwgMTE5NzksIDM4OCwgMzkzLCAxMTk4MiwgMTE5ODEsIDQwMSwgNDAyLAorIDQwMywgNDA0LCA0MDUsIDQwNiwgNDA3LCA0MDgsIDQwOSwgNDEwLCAxMTk4NSwgMTE5ODYsIDExOTgzLCAxMTk4NCwgNjk0LAorIDQ2MiwgMTE5ODksIDExOTkwLCA0NzQsIDQ3NSwgNDc2LCA0NjksIDQ3MCwgNzAxLCA1MDIsIDUxOCwgNTE5LCAyNDUsIDI0NiwKKyAyNDgsIDI0OSwgMjUwLCAyNTEsIDQ0OCwgNTE1LCAyMzUsIDIzNywgMjM4LCA1NDAsIDUzNSwgNTM2LCAxMTk5OCwgMTE5OTksCisgMTE5MDYsIDExOTA3LCAxMTk5NSwgMTE5OTYsIDExOTk3LCAxMTk5NCwgMTE5MDQsIDExOTAxLCAxMTk5MiwgMTE5OTMsIDExOTkxLAorIDExOTAwLCAxMTk4NywgMTE5ODgsIDExOTgwLCAxMTk4MCwgMTIwMDAsIDEyMDAxLCAxMjAwMiwgMTIwMDMsIDEyMDA0LCAxMjAwNSwKKyAxMjAwNiwgMTIwMDcsIDEyMDA3LCAxMTk3OCwgMTE5NzgsIDc2NywgNzY3LCAxMjAxMCwgMTIwMTAsIDEyMDExLCAxMjAxMSwKKyAxMjAxMiwgMTIwMTIsIDEyMDEzLCAxMjAxMywgMTIwMTQsIDEyMDE0LCA3ODIsIDc4MiwgMTIwMTYsIDEyMDE2LCAxMjAxNywKKyAxMjAxNywgMTE3MjksIDExNzI5LCAxMjAxOCwgMTIwMTgsIDEyMDE1LCAxMjAxNSwgMTE4ODgsIDExODg4LCA1MTIsIDc2MiwKKyA3NjMsIDc2NCwgNzY1LCAxMjAxOSwgMTIwMjAsIDEyMDIxLCAxMjAyMiwgMTIwMTksIDEyMDIwLCAxMjAyMSwgMTIwMjIsIDEyMDIzLAorIDEyMDIzLCAxMjAyNCwgMTIwMjQsIDEyMDI1LCAxMjAyNSwgNDM3LCAxMjAyNywgMTIwMjgsIDEyMDI5LCAxMjAzMCwgMTIwMzEsCisgMTIwMzIsIDEyMDMyLCAxMjAzMywgMTIwMzMsIDc0OSwgNzUwLCAxMjAzNSwgMTIwMzYsIDEyMDM3LCAxMjAzOCwgMTIwMzQsCisgMTIwMjYsIDEyMDI2LCAxMjAzOSwgMTIwNDAsIDEyMDQxLCAxMjA0MSwgMTIwNDIsIDEyMDQyLCAxMjAwOCwgMTIwMDksIDEyMDA4LAorIDEyMDA5LCA4MjgsIDgyOCwgMTIwNDUsIDgzNSwgMTIwNDcsIDEyMDQ4LCAxMjA0OSwgMTIwNTAsIDEyMDUxLCAxMjA1MiwgMTIwNTMsCisgMTIwNTQsIDEyMDU0LCAxMjA0NiwgMTIwNDYsIDIzNiwgMTIwNTcsIDUwNywgNTA3LCAxMjA1OSwgMTIwNTksIDEyMDYwLCAxMjA2MCwKKyAxMjA2MSwgMTIwNjEsIDEyMDYyLCAxMjA2MiwgMTIwNjMsIDEyMDYzLCAxMjA2NCwgMTE5MDMsIDEyMDY2LCAxMjA2NywgMTIwNjcsCisgMTIwNjgsIDEyMDY4LCAxMjA2OSwgMTIwNjksIDEyMDcwLCAxMjA3MCwgMTIwNzEsIDEyMDcxLCAxMjA3MiwgMTIwNzIsIDIzNCwKKyAyMzQsIDEyMDc0LCAxMjA3NCwgMTIwNzUsIDEyMDc1LCAxMjA3NiwgMTIwNzYsIDEyMDc3LCAxMjA3NywgMTIwNzgsIDEyMDc4LAorIDEyMDc5LCAxMjA3OSwgMTIwODAsIDEyMDgwLCAxMjA4MSwgMTIwODEsIDEyMDgyLCAxMjA4MiwgMTIwODMsIDEyMDgzLCAxMjA4NCwKKyAxMjA4NCwgMjQ3LCAyNDcsIDEyMDg2LCAxMjA4NiwgMTIwODcsIDEyMDg3LCAxMjA4OCwgMTIwODgsIDEyMDg5LCAxMjA4OSwKKyAxMjA5MCwgMTIwOTAsIDEyMDkxLCAxMjA5MSwgMTIwOTIsIDEyMDkyLCAxMjA5MywgMTIwOTMsIDEyMDk0LCAxMjA5NCwgMTIwOTUsCisgMTIwOTUsIDEyMDk2LCAxMjA4NSwgMTIwNzMsIDEyMDczLCAxMjA5NywgMTIwOTgsIDEyMDk5LCAxMjA5OSwgMTIwNjUsIDEyMDU4LAorIDEyMTAyLCAxMjEwMiwgMTIxMDAsIDEyMTAxLCA5NTEsIDk1MSwgMTIxMDQsIDEyMTA0LCAxMjEwNSwgMTIxMDUsIDEyMTA2LAorIDEyMTA2LCAxMjEwNywgMTIxMDcsIDEyMTA4LCAxMjEwOCwgNjIxLCAxMjExMCwgMTIxMTEsIDEyMTEyLCAxMjExMiwgOTc1LAorIDk3NSwgMTIxMTQsIDEyMTE0LCAxMjExNSwgMTIxMTUsIDEyMTE2LCAxMjExNiwgOTg5LCA5ODksIDk4NiwgOTg2LCAxMjExOCwKKyAxMjExOSwgMTIxMTgsIDEyMTE5LCAxMDAwLCAxMDAwLCA5OTcsIDk5NywgMTIxMjEsIDEyMTIyLCAxMjEyMSwgMTIxMjIsIDEyMTIzLAorIDEyMTIwLCAxMDA4LCAxMjEyNCwgMTIxMjUsIDEyMTI2LCAxMjEyNiwgMTIxMTcsIDEyMTE3LCAxMDI2LCAxMDI1LCAxMDI0LAorIDEwMjMsIDEwMjIsIDEwMjEsIDEwMjAsIDEwMTksIDEwMTgsIDEyMTI5LCAxMDQxLCAxMDQyLCAxMjEzMSwgMTIxMzEsIDEyMTMyLAorIDEyMTMyLCAxMjEzMywgMTIxMzMsIDEyMTM0LCAxMjEzNCwgMTIxMzUsIDEyMTM1LCAxMjEzNiwgMTIxMzAsIDEyMTM4LCAxMjEzNywKKyAxMjEzOSwgMTIxMzksIDEyMTQwLCAxMjE0MCwgMTIxNDEsIDEyMTQxLCAxMjE0MiwgMTIxNDIsIDEyMTQzLCAxMjE0MywgMTIxNDQsCisgMTIxNDQsIDEyMTI3LCAxMjEyOCwgMTIxMjcsIDEyMTI4LCAxMjExMywgMTIxMTMsIDEyMTA5LCAxMjEwOSwgMTIxMDMsIDEyMTAzLAorIDEyMDU1LCAxMjA1NiwgMTIwNTUsIDEyMDU2LCAxMjA0MywgMTIwNDQsIDEyMDQzLCAxMjA0NCwgMTE3MjcsIDExOTc1LCAxMTcyNywKKyAxMTk3NSwgMTE5NjAsIDExOTYwLCAxMTk1NiwgMTE5NTYsIDExOTM5LCAxMTkzOSwgMTE5MzEsIDExOTMyLCAxMTkzMSwgMTE5MzIsCisgMTA4NiwgMTA4NiwgMTIxNTcsIDEyMTU3LCAxMjE1OCwgMTIxNTgsIDEyMTU5LCAxMjE1OSwgMTIxNjAsIDEyMTYwLCAxMjE2MSwKKyAxMjE2MSwgMTIxNDUsIDEyMTQ2LCAxMjE0NywgMTIxNDgsIDEyMTQ5LCAxMjE1MCwgMTIxNTEsIDEyMTUyLCAxMjE1MywgMTIxNTQsCisgMTIxNTUsIDEyMTU2LCAxMjE0NSwgMTIxNDYsIDEyMTQ3LCAxMjE0OCwgMTIxNDksIDEyMTUwLCAxMjE1MSwgMTIxNTIsIDEyMTUzLAorIDEyMTU0LCAxMjE1NSwgMTIxNTYsIDExOTEzLCAxMTkxNCwgMTE5MTUsIDExOTExLCAxMTkxMiwgMTE5MTYsIDExOTE3LCAxMTkxOCwKKyAxMTg5NiwgMTE4OTYsIDQ5MywgNTQwLCA1MTgsIDUxOCwgMTIxNjcsIDEyMTY3LCAxMjE2OCwgMTIxNjgsIDUxOCwgNTE4LCA0NTcsCisgNDU3LCA0NTcsIDQ1NywgNTM2LCA1MzYsIDQ3MCwgNDcwLCAxMjE2OSwgMTIxNjksIDQ1NywgNDU3LCA0NzQsIDQ3NCwgNTE5LAorIDUxOSwgNDk1LCA0OTUsIDQ3NiwgNDc2LCA0OTQsIDQ5NCwgNDcwLCA0NzAsIDQ4MiwgNDgyLCA0NzUsIDQ3NSwgNDU3LCA0NTcsCisgNTAyLCA1MDIsIDUwMiwgNTAyLCAxMjE2NiwgMTIxNjYsIDEyMTcwLCAxMjE3MSwgMTIxNzIsIDEyMTczLCAxMjE3NCwgMTIxNzUsCisgMTIxNzYsIDEyMTc3LCAxMjE3OCwgMTIxNzksIDEyMTgwLCAxMjE4MSwgMTIxODIsIDEyMTgzLCAxMjE4NCwgMTIxNzAsIDEyMTcxLAorIDEyMTcyLCAxMjE3MywgMTIxNzQsIDEyMTc1LCAxMjE3NiwgMTIxNzcsIDEyMTc4LCAxMjE3OSwgMTIxODAsIDEyMTgxLCAxMjE4MiwKKyAxMjE4MywgMTIxODQsIDEyMTg1LCA0MDIsIDQwMiwgMTIxODcsIDEyMTg3LCAxMjE4OCwgMTIxODgsIDEyMTg5LCAxMjE4OSwKKyAxMjE5MCwgMTIxOTEsIDEyMTkyLCAxMjE5MywgNDAzLCA0MDMsIDEyMTk1LCAxMjE5NSwgMTIxOTYsIDEyMTk2LCAxMjE5NywKKyAxMjE5NywgMTIxOTgsIDEyMTk5LCAxMjIwMCwgMTIyMDEsIDEyMjAyLCAxMjE5NCwgNDA2LCA0MDYsIDEyMjA1LCAxMjIwNSwKKyAxMjIwNiwgMTIyMDYsIDEyMjA3LCAxMjIwNywgMTIyMDgsIDEyMjA5LCAxMjIxMCwgMTIyMTEsIDEyMjEyLCA0MDQsIDQwNCwKKyAxMjIxNCwgMTIyMTQsIDEyMjE1LCAxMjIxNSwgMTIyMTYsIDEyMjE2LCAxMjIxNywgMTIyMTgsIDEyMjE5LCAxMjIyMCwgNDA4LAorIDQwOCwgMTIyMjIsIDEyMjIyLCAxMjIyMywgMTIyMjMsIDEyMjI0LCAxMjIyNCwgMTIyMjUsIDEyMjI2LCAxMjIyNywgMTIyMjgsCisgMTIyMjksIDEyMjIxLCA0MDcsIDQwNywgMTIyMzIsIDEyMjMyLCAxMjIzMywgMTIyMzMsIDEyMjM0LCAxMjIzNCwgMTIyMzUsCisgMTIyMzYsIDEyMjM3LCAxMjIzOCwgMTIyMzksIDQwOSwgNDA5LCAxMjI0MSwgMTIyNDEsIDEyMjQyLCAxMjI0MiwgMTIyNDMsCisgMTIyNDMsIDEyMjQ0LCAxMjI0NSwgMTIyNDYsIDEyMjQ3LCAxMjI0OCwgMTIyNDksIDEyMjQ5LCAxMjI1MCwgMTIyNTAsIDEyMjUxLAorIDEyMjUxLCAxMjI1MiwgMTIyNTIsIDEyMjUzLCAxMjI1MywgMTIyNTQsIDEyMjU0LCAxMjI1NSwgMTIyNTUsIDEyMjU2LCAxMjI1NiwKKyAxMjI1NywgMTIyNTcsIDEyMjU4LCAxMjI1OCwgNDEwLCA0MTAsIDEyMjYwLCAxMjI2MCwgMTIyNjEsIDEyMjYxLCAxMjI2MiwKKyAxMjI2MiwgMTIyNjMsIDEyMjY0LCAxMjI2NSwgMTIyNjYsIDQwNSwgNDA1LCAxMjI2OCwgMTIyNjgsIDEyMjY5LCAxMjI2OSwKKyAxMjI3MCwgMTIyNzAsIDEyMjcxLCAxMjI3MiwgMTIyNzMsIDEyMjc0LCAxMjI3NSwgMTIyNjcsIDEyMjU5LCAxMjI1OSwgNDgxLAorIDQ4MSwgMTIyNzksIDEyMjc5LCA0ODEsIDQ4MSwgMTIyODEsIDEyMjgxLCAxMjI4MiwgMTIyODIsIDEyMjgwLCAxMjI4MCwgMTIyODMsCisgMTIyODMsIDEyMjg0LCAxMjI4NSwgMzkzLCAzOTMsIDEyMjg3LCAxMjI4NywgMTIyODgsIDEyMjg4LCAxMjI4OSwgMTIyODksCisgMTIyOTAsIDEyMjkxLCAxMjI5MiwgMTIyOTMsIDEyMjkzLCAxMjI5NCwgMTIyOTQsIDM5MywgMzkzLCAxMjI5NiwgMTIyOTYsCisgMTIyOTcsIDEyMjk3LCAxMjI5OCwgMTIyOTgsIDEyMjk5LCAxMjMwMCwgMTIzMDEsIDEyMzAyLCAxMjMwMiwgMTIzMDMsIDEyMzAzLAorIDEyMzA0LCAxMjMwNCwgMTIyOTUsIDEyMjk1LCA1MTgsIDUxOCwgMTIzMDcsIDEyMzA3LCAxMjMwOCwgMTIzMDgsIDUxOCwgNTE4LAorIDQ1NywgNDU3LCA0NTcsIDQ1NywgNTM2LCA1MzYsIDQ3MCwgNDcwLCAxMjMwOSwgMTIzMDksIDQ3NCwgNDc0LCA1MTksIDUxOSwKKyA0OTUsIDQ5NSwgNDc2LCA0NzYsIDQ5NCwgNDk0LCA0NzAsIDQ3MCwgNDgyLCA0ODIsIDQ3NSwgNDc1LCA0NTcsIDQ1NywgNTAyLAorIDUwMiwgNTAyLCA1MDIsIDEyMTY2LCAxMjE2NiwgNDU3LCA0NTcsIDcwMSwgNzAxLCA3MDEsIDcwMSwgNzAxLCA3MDEsIDEyMzEwLAorIDEyMzExLCAxMjMxMiwgMTIzMTMsIDEyMzE0LCAxMjMxNSwgMTIzMjQsIDEyMzE2LCAxMjMxNywgMTIzMTgsIDEyMzE5LCAxMjMyMCwKKyAxMjMyNSwgMTIzMjEsIDEyMzIyLCAxMjMyMywgMTIzMTAsIDEyMzExLCAxMjMxMiwgMTIzMTMsIDEyMzE0LCAxMjMxNSwgMTIzMjQsCisgMTIzMTYsIDEyMzE3LCAxMjMxOCwgMTIzMTksIDEyMzIwLCAxMjMyNSwgMTIzMjEsIDEyMzIyLCAxMjMyMywgMTIzMjQsIDEyMzI1LAorIDUyMywgNTIzLCAxMjMyNywgMTIzMjcsIDEyMzI4LCAxMjMyOCwgMTIzMjksIDEyMzI5LCAxMjMzMCwgMTIzMzAsIDUyMywgNTIzLAorIDEyMzMyLCAxMjMzMiwgMTIzMzMsIDEyMzMzLCAxMjMzNCwgMTIzMzQsIDEyMzM1LCAxMjMzNSwgMTIzMzYsIDEyMzM2LCAxMjMzMSwKKyAxMjMzMSwgMTIzMjYsIDQwMiwgNDAyLCAxMjM0MCwgMTIzNDAsIDEyMzQxLCAxMjM0MSwgMTIzNDIsIDEyMzQyLCAxMjM0MywKKyAxMjM0NCwgMTIzNDUsIDEyMzQ2LCA0MDMsIDQwMywgMTIzNDgsIDEyMzQ4LCAxMjM0OSwgMTIzNDksIDEyMzUwLCAxMjM1MCwKKyAxMjM1MSwgMTIzNTIsIDEyMzUzLCAxMjM1NCwgMTIzNTUsIDEyMzQ3LCA0MDYsIDQwNiwgMTIzNTgsIDEyMzU4LCAxMjM1OSwKKyAxMjM1OSwgMTIzNjAsIDEyMzYwLCAxMjM2MSwgMTIzNjIsIDEyMzYzLCAxMjM2NCwgMTIzNjUsIDQwNCwgNDA0LCAxMjM2NywKKyAxMjM2NywgMTIzNjgsIDEyMzY4LCAxMjM2OSwgMTIzNjksIDEyMzcwLCAxMjM3MSwgMTIzNzIsIDEyMzczLCA0MDgsIDQwOCwKKyAxMjM3NSwgMTIzNzUsIDEyMzc2LCAxMjM3NiwgMTIzNzcsIDEyMzc3LCAxMjM3OCwgMTIzNzksIDEyMzgwLCAxMjM4MSwgMTIzODIsCisgMTIzNzQsIDQwNywgNDA3LCAxMjM4NSwgMTIzODUsIDEyMzg2LCAxMjM4NiwgMTIzODcsIDEyMzg3LCAxMjM4OCwgMTIzODksCisgMTIzOTAsIDEyMzkxLCAxMjM5MiwgNDA5LCA0MDksIDEyMzk0LCAxMjM5NCwgMTIzOTUsIDEyMzk1LCAxMjM5NiwgMTIzOTYsCisgMTIzOTcsIDEyMzk4LCAxMjM5OSwgMTI0MDAsIDEyNDAxLCAxMjQwMiwgMTI0MDIsIDEyNDAzLCAxMjQwMywgMTI0MDQsIDEyNDA0LAorIDEyNDA1LCAxMjQwNSwgMTI0MDYsIDEyNDA2LCAxMjQwNywgMTI0MDcsIDEyNDA4LCAxMjQwOCwgMTI0MDksIDEyNDA5LCAxMjQxMCwKKyAxMjQxMCwgMTI0MTEsIDEyNDExLCA0MTAsIDQxMCwgMTI0MTMsIDEyNDEzLCAxMjQxNCwgMTI0MTQsIDEyNDE1LCAxMjQxNSwKKyAxMjQxNiwgMTI0MTcsIDEyNDE4LCAxMjQxOSwgNDA1LCA0MDUsIDEyNDIxLCAxMjQyMSwgMTI0MjIsIDEyNDIyLCAxMjQyMywKKyAxMjQyMywgMTI0MjQsIDEyNDI1LCAxMjQyNiwgMTI0MjcsIDEyNDI4LCAxMjQyMCwgMTI0MTIsIDEyNDEyLCA0MDEsIDQwMSwKKyAxMjQzMiwgMTI0MzIsIDEyNDMzLCAxMjQzMywgMTI0MzQsIDEyNDM0LCAxMjQzNSwgMTI0MzYsIDEyNDM3LCAxMjQzOCwgNDAxLAorIDQwMSwgMTI0NDAsIDEyNDQwLCAxMjQ0MSwgMTI0NDEsIDEyNDQyLCAxMjQ0MiwgMTI0NDMsIDEyNDQ0LCAxMjQ0NSwgMTI0NDYsCisgMTI0NDcsIDEyNDQ3LCAxMjIzMSwgMTIyMzEsIDEyNDM5LCAxMjQzOSwgMTIzODQsIDEyMzg0LCAxMjM1NiwgMTIzNTYsIDEyNDI5LAorIDEyNDMwLCAxMjQzMSwgMTI0MjksIDEyNDMwLCAxMjQzMSwgMTIzOTMsIDEyMzkzLCAxMjM4NCwgMTIzODQsIDEyMzgzLCAxMjM4MywKKyAxMjM2NiwgMTIzNjYsIDEyMzU2LCAxMjM1NiwgMTIzNTcsIDEyMzU3LCAxMjMzOCwgMTIzMzksIDEyMzM3LCAxMjMzOCwgMTIzMzksCisgMTIzMzksIDEyMjAzLCAxMjIwMywgMTIzMDUsIDEyMzA1LCAxMjMwNiwgMTIyODYsIDEyMjg2LCAxMjI4NiwgMTIyNzYsIDEyMjc3LAorIDEyMjc4LCAxMjI3NiwgMTIyNzcsIDEyMjc4LCAxMjI0MCwgMTIyNDAsIDEyMjMxLCAxMjIzMSwgMTIyMzAsIDEyMjMwLCAxMjIxMywKKyAxMjIxMywgMTIyMDMsIDEyMjAzLCAxMjIwNCwgMTIyMDQsIDEyMTg2LCAxMjE4NiwgMTI0NTAsIDEyNDUxLCAxMjQ1MiwgMTI0NjAsCisgMTI0NjEsIDEyNDUzLCAxMjQ1NCwgMTI0NTUsIDEyNDU2LCAxMjQ1NywgMTI0NTgsIDEyNDQ4LCAxMjQ0OSwgMTI0NTAsIDEyNDUxLAorIDEyNDUyLCAxMjQ2MCwgMTI0NjEsIDEyNDUzLCAxMjQ1NCwgMTI0NTUsIDEyNDU2LCAxMjQ1NywgMTI0NTgsIDEyNDU5LCAxMjQ2MCwKKyAxMjQ2MSwgMTI0NjIsIDEyNDYzLCAxMjQ2NCwgMTI0NjUsIDEyNDY2LCAxMjQ2NywgOTIsIDEyNDY4LCAxMjQ2OSwgMTI0NjksCisgMTI0NjksIDEyNDcwLCAxMjQ3MCwgMTI0NzAsIDEyNDcxLCAxMjQ3MSwgMTI0NzEsIDM0MCwgNzgyLCAxMjQ3MywgMTI0NzQsCisgMTI0NzUsIDEyNDc2LCAxMjQ3NiwgMTI0NzYsIDc4MiwgMTI0NzgsIDEyNDc5LCAxMjQ4MCwgMTI0ODEsIDEyNDgxLCAxMjQ4MSwKKyA2MjEsIDEyNDgzLCAxMjQ4MywgMTI0ODMsIDU5MSwgNTkxLCA1OTEsIDU5NCwgNTk0LCA1OTQsIDYzMiwgNjMyLCA2MzIsIDYyMSwKKyA2MjEsIDYyMSwgMTI0ODQsIDEyNDg1LCAxMjQ4NiwgMTI0ODcsIDEyNDg0LCAxMjQ4NCwgMTI0ODUsIDEyNDg2LCAxMjQ4NywKKyAxMjQ4NSwgMTI0ODYsIDEyNDg3LCAxMjQ4OCwgMTI0ODgsIDEyNDg4LCAxMjQ4OSwgNTk0LCA1OTQsIDEyNDkxLCAxMjQ5MSwKKyAxMjQ5MiwgMTI0OTIsIDEyNDkzLCAxMjQ5MywgMTI0OTQsIDEyNDk0LCAxMjQ5NSwgMTI0OTUsIDEyNDk2LCAxMjQ5NiwgMTI0OTcsCisgMTI0OTcsIDEyNDk4LCAxMjQ5OSwgMTI0OTksIDEyNTAwLCAxMjUwMCwgMTI1MDEsIDEyNTAxLCAxMjUwMiwgMTI1MDMsIDEyNTAzLAorIDEyNTA0LCAxMjUwNCwgMTI1MDUsIDEyNTA1LCAxMjUwNiwgMTI1MDYsIDEyNTA3LCAxMjUwNywgMTI1MDgsIDEyNTA4LCAxMjUwOSwKKyAxMjUxMCwgMTI1MTAsIDEyNTExLCAxMjUxMSwgMTI1MTIsIDEyNTEyLCAxMjUxMywgMTI1MTMsIDEyNTE0LCAxMjUxNCwgMTI1MTUsCisgMTI1MTUsIDEyNTE2LCAxMjUxNywgMTI1MTcsIDEyNTE4LCAxMjUxOCwgMTI1MTksIDEyNTE5LCAxMjUyMCwgMTI1MjAsIDEyNTIxLAorIDEyNTIyLCAxMjUyMiwgMTI1MjMsIDEyNTIzLCAxMjUyNCwgMTI1MjQsIDEyNTI1LCAxMjUyNSwgMTI1MjYsIDEyNTI3LCAxMjUyNywKKyAxMjUyOCwgMTI1MjgsIDEyNTI5LCAxMjUyOSwgMTI1MzAsIDEyNTMwLCAxMjUzMSwgMTI1MzEsIDExOTQ3LCAxMjUzMywgMTI1MzMsCisgMTI1MzQsIDEyNTM0LCAxMjUzNSwgMTI1MzUsIDEyNTM2LCAxMjUzNywgMTI1MzcsIDEyNTM4LCAxMjUzOCwgMTI1MzksIDEyNTM5LAorIDEyNTQwLCAxMjU0MCwgMTI1NDEsIDEyNTQxLCAxMjU0MiwgMTI1NDIsIDEyNTQzLCAxMjU0NCwgMTI1NDQsIDEyNTQ1LCAxMjU0NSwKKyAxMjU0NiwgMTI1NDYsIDEyNTQ3LCAxMjU0NywgMTI1NDgsIDEyNTQ4LCAxMjU0OSwgMTI1NDksIDEyNTUwLCAxMjU1MSwgMTI1NTEsCisgMTI1NTIsIDEyNTUyLCAxMjU1MywgMTI1NTMsIDEyNTU0LCAxMjU1NCwgMTI1NTUsIDEyNTU2LCAxMjU1NiwgMTI1NTcsIDEyNTU3LAorIDEyNTU4LCAxMjU1OCwgMTI1NTksIDEyNTU5LCAxMjU2MCwgMTI1NjEsIDEyNTYxLCAxMjU2MiwgMTI1NjIsIDEyNTYzLCAxMjU2MywKKyAxMjU2NCwgMTI1NjQsIDEyNTY1LCAxMjU2NSwgMTI1NjYsIDEyNTY2LCAxMjUzMiwgMTI1MzIsIDEyNDkwLCAxMjQ5MCwgMTI0OTAsCisgMTI0ODIsIDEyNDgyLCAxMjQ4MiwgMTI0NzcsIDEyNDc3LCAxMjQ3NywgMTI0NzIsIDEyNDcyLCAxMjQ3MiwgOTg2LCA5ODksCisgOTk3LCAxMDAwLCA5NzUsIDQ4LCA1NDMsIDc1MCwgNDksIDc0OSwgMTAwOCwgMTI1NzMsIDEyNTc0LCA0MDksIDQwOCwgNDA3LAorIDQwNiwgNDA1LCA0MDQsIDQwMywgNDAyLCA0MDEsIDM5MywgMjUwLCAzODgsIDgyOCwgNTA3LCAyNjMsIDQ2MiwgNTQwLCA1MzYsCisgMjQ4LCAyNDksIDI1MSwgNTM1LCA1MjYsIDUyMywgNTE5LCA1MTgsIDQ0OCwgNTE1LCAyMzUsIDIzNywgMjM4LCAyNDUsIDI0NiwKKyA1MDIsIDQ5NSwgNDk0LCA0OTMsIDQ4MiwgNDgxLCA0NzYsIDQ3NSwgNDc0LCA0NzAsIDcwMSwgNDY5LCA0NTcsIDYzMiwgMjI5LAorIDIzNiwgMjQ3LCA3MTUsIDIzNCwgNjc0LCAxMDQxLCAxMDQyLCAyNjgsIDY5NCwgMzY5LCA0MTAsIDYyMSwgMTAxOCwgMTAxOSwKKyAxMDIwLCAxMDIxLCAxMDIyLCAxMDIzLCAxMDI0LCAxMDI1LCAxMDI2LCAxMjU4NywgMTI1ODYsIDEyNTc3LCAxMjU3OCwgMTI1NzksCisgMTI1ODAsIDEyNTgxLCAxMjU4MiwgMTI1ODMsIDEyNTg0LCAxMjU4NSwgNDMsIDQzNywgMiwgODM1LCA1OTEsIDEyNTg4LCAxMjU4OSwKKyAxMjU5MCwgNzY1LCA5NTEsIDE1NjQsIDU5NCwgMTI1NzUsIDEyNTc2LCAzNDAsIDUxMiwgNzYzLCA3NjQsIDEwODYsIDEyNTkxLAorIDEyNTkyLCAxMjU5MywgMTI1OTQsIDEyNTk1LCAxMjU5NiwgMTI1OTYsIDE2NTksIDE2NTgsIDM0MCwgMTY1NSwgNjc0LCA2OTQsCisgMTY0NywgMTY0NiwgMTY0NSwgMTY0NCwgMTY0MywgNDYyLCAxNjM5LCAxNjM4LCAxNjI2LCAxNjI1LCAxNjI0LCAxNjIzLCAxNjIyLAorIDE2MjEsIDE2MjAsIDE2MTksIDE2MTgsIDE2MTcsIDE2MTMsIDE2MTIsIDE3MDgsIDE3MDcsIDE2OTksIDE2OTgsIDE2OTcsIDE2OTYsCisgMTY5NSwgMTY5NCwgMTY4OCwgMTY4NywgMTY4NiwgMTY4NSwgMTY4MCwgMTY3OSwgMTY3OCwgMTY3MywgMTY3MiwgMTY3MSwgMTczNSwKKyAxNzQ1LCAxNzQ0LCAxNzQzLCAxNzQyLCAyNjgsIDE3MzgsIDEyNjEwLCAxMDQxLCAxMDQyLCAxNzI2LCAxNzI1LCAxNzI0LCAxNzIzLAorIDE3MjIsIDE3MjEsIDE3MjAsIDk5NywgMTAwMCwgOTg2LCA5ODksIDEwMDgsIDE3NTgsIDE3NTcsIDk3NSwgMTc4MSwgMTc4MCwKKyA1NDMsIDYzMiwgMTc3NSwgMTc3NCwgMTc3MywgMzY5LCAxNzcwLCA4MzUsIDE3NjcsIDEyNjE3LCAxMjYxNiwgMTc5MiwgMTI2MjQsCisgMTI2MjUsIDEyNjE4LCAxMjYxOSwgMTI2MjAsIDEyNjIxLCAxMjYyMiwgMTI2MjMsIDEyNjExLCAxMjYxMiwgMTI2MTMsIDEyNjE0LAorIDEyNjE1LCAxMTk4NSwgMTI2MDUsIDEyNjA2LCAxMjYwNywgMTI2MDgsIDEyNjA5LCAxMjU5OCwgMTI1OTksIDEyNjAwLCAxMjYwMSwKKyAxMjYwMiwgMTI2MDMsIDEyNjA0LCAxODA1LCAxMjYzMSwgMTgxNCwgMTI2MzMsIDQ3NCwgNDc1LCA0NzYsIDEyNjM0LCAxODEwLAorIDEyNjMyLCA1OTQsIDEyNjM3LCAxMjYzOCwgMTgyNSwgMTgyNCwgMTgzNywgMTg1NywgMTg1MywgMTg1MiwgMTg0NywgMTg0NiwKKyAxODQ1LCAxODQyLCAxMjY0MiwgMTI2NDMsIDEyNjQ0LCAxMjY0NSwgMjI5LCAxMjY0MSwgMTg3OCwgMTg3NywgMTg3NiwgMTg3NSwKKyAxODc0LCAxODcxLCAxODY4LCAxODg5LCAxMDIyLCAxMDI2LCAxMDE4LCAxMDE5LCAxMDIwLCAxMDIxLCA0MzcsIDE5MDIsIDEyNjU1LAorIDEyNjU2LCAxMjY1NCwgMTI2NTIsIDEyNjUzLCAxMjY1MSwgNTAyLCAxMjY0OCwgMTI2NDksIDEyNjUwLCAxOTE1LCAxMjY2MiwKKyAxOTMxLCAxOTI4LCAxOTI1LCAxOTIyLCAxMjY2NCwgMTI2NjUsIDEyNjY2LCAxMjY2NywgMTI2NjgsIDEyNjYzLCAxOTQ3LCAxOTQ0LAorIDEyLCAxOTY0LCA1MjYsIDE1NjQsIDE5NzIsIDUxOCwgNTE5LCA2MjEsIDgyOCwgMTk2OSwgMjQ1LCAyNDcsIDI0OCwgMjQ5LAorIDI1MCwgMjUxLCA0NDgsIDUxNSwgMTI2NzMsIDIzNCwgMjM1LCAyMzYsIDIzNywgMjM4LCAzODgsIDcxNSwgMTk1NywgMTk1NiwKKyAxOTU1LCAxOTU0LCA1MTIsIDc4MiwgMTk4OCwgNzIsIDE5ODUsIDczLCAxOTgyLCAxMDIzLCAxMDI0LCAxMDI1LCAxOTUsIDU5MSwKKyAyMDQ5LCAyMDQ4LCAyMDQwLCAyMDM5LCAyMDM4LCAyMDM3LCAyMDM2LCAyMDM1LCA5NTEsIDIwMjgsIDIwMjcsIDIwMjYsIDEyNjgzLAorIDIwMjQsIDIwMTMsIDIwMTIsIDIwMTEsIDIwMTAsIDIwMDksIDIwMDgsIDIwMDcsIDIwMDYsIDIwMDUsIDM5MywgNzQ5LCA3NTAsCisgNzY1LCAxOTk5LCAxOTk4LCAxOTk3LCAxOTk2LCA1NDAsIDc2MiwgNzYzLCA3NjQsIDc5MSwgMTA4NiwgMjYzLCAxMjY4MCwgMTI2ODEsCisgMTI2ODIsIDEyNjg0LCAxMjY4NSwgMTI2ODYsIDEyNjg3LCAxMjY4OCwgMTI2ODksIDEyNjkwLCAxMjY5MSwgMTE5MDcsIDEyNjc0LAorIDEyNjc1LCAxMjY3NiwgMTI2NzcsIDEyNjc4LCAxMjY3OSwgMTE5MDUsIDEyNjcxLCAxMjY3MiwgMTI2NjksIDEyNjcwLCAxMjY1NywKKyAxMjY1OCwgMTI2NTksIDEyNjYwLCAxMjY2MSwgMTE5MDQsIDEyNjQ2LCAxMjY0NywgNDU3LCAxMTkwMiwgMTI2MzksIDEyNjQwLAorIDExOTAxLCAxMTk5MywgMTI2MzUsIDEyNjM2LCAxMjYyNiwgMTI2MjcsIDEyNjI4LCAxMjYyOSwgMTI2MzAsIDE2MTEsIDEyNjkyLAorIDEyNjkzLCAxMjY5NCwgMTI2OTUsIDEyNjk2LCAxMjY5NywgMTI2OTgsIDEyNjk5LCAxMjcwMCwgMTI3MDEsIDc2NSwgODM1LAorIDEwODYsIDc5MSwgMzQwLCA3ODIsIDc2NCwgNTEyLCA3NjIsIDc2MywgMTI3MDQsIDEyNzAzLCAxMjcwNSwgMTI3MDYsIDEyNzA3LAorIDMxNCwgMTI2NTQsIDEyNzA4LCAxMjcwOSwgMTI3MTAsIDEyNzEwLCAxMjcxMSwgMTI3MTEsIDEyNzEyLCAxMjcxMywgMTI3MTMsCisgMTI3MDIsIDEyNzAyLCAxMjU5NywgMTI1OTcsIDgzNSwgODM1LCAxMjcxNywgMTI3MTcsIDEyNzE4LCAxMjcxOCwgMTI3MTksCisgMTI3MTksIDUxMiwgNzYyLCA3NjMsIDc2NCwgNzY1LCAxMjcyMSwgMTI3MjEsIDEyNzIyLCAxMjcyMiwgMTI3MjMsIDEyNzIzLAorIDExOTM3LCAxMjcyNSwgMzY5LCAzNjksIDEyNzI3LCAxMjcyNywgMTI3MjgsIDEyNzI4LCAxMjcyOSwgMTI3MjksIDEyNzMwLAorIDEyNzMwLCAxMjczMSwgMTI3MzIsIDEyNzMzLCAxMjczMywgMTI3MjYsIDEyNzI2LCAxMTk4NywgMTE5ODgsIDEyNzM2LCAxMjczNywKKyAxMjczNywgMTI3MzcsIDEyNzM4LCAxMjczOCwgMTI3MzgsIDI0NiwgMjQ2LCAyNTEsIDI1MSwgNDQ4LCA0NDgsIDExOTkwLCA0NjksCisgNDcwLCAyNDUsIDI0NiwgMjQ3LCAyNDgsIDI0OSwgMjUwLCAyNTEsIDQ0OCwgNTE1LCA1MTIsIDU0MywgMjYzLCA1MzUsIDUzNiwKKyAxMTk5OCwgMTI3NDcsIDEyNzQ4LCAxMTkwOSwgMTE5MDYsIDExOTA3LCAxMTk5NSwgMTI3NDUsIDEyNzQ2LCAxMTkwMSwgMTE5OTIsCisgMTI3NDQsIDEyNzQzLCAxMjc0MCwgMTI3NDEsIDEyNzQyLCAxMjc0MCwgMTI3NDEsIDEyNzQyLCA0MzcsIDQzNywgMTI3NTQsCisgMTI3NTQsIDEyNzU1LCAxMjc1NSwgMTI3NTYsIDEyNzU2LCAxMTg2MSwgMTE4NjEsIDEyNzU4LCAxMjc1OCwgMTI3NTksIDEyNzU5LAorIDEyNzYwLCAxMjc2MCwgMTI3NjEsIDEyNzYxLCAxMjc2MiwgMTI3NjIsIDEyNzYzLCAxMjc2MywgMTI3NjQsIDEyNzY0LCAxMjc2NSwKKyAxMjc2NSwgMTI3NjYsIDEyNzY2LCAzMTQsIDMxNCwgMTI3NjgsIDEyNzY4LCAxMjc2OSwgMTI3NjksIDEyNzY3LCAxMjc2NywKKyAxMjczMSwgMTI3NzIsIDEyNzcyLCAxMjQ5OCwgMTI0OTgsIDEyNzc0LCAxMjc3NCwgMTI3NzUsIDEyNzc1LCAxMjc3NiwgMTI3NzYsCisgNjIxLCA2MjEsIDEyNzc3LCAxMjc3NywgNTkxLCA1OTEsIDEyNzc4LCAxMjc3OSwgMTI3ODAsIDEyNzc4LCAxMjc3OSwgMTI3ODAsCisgMTI3ODEsIDEyNzgxLCA1NDMsIDU0MywgMTE5NTksIDY0MywgNjQzLCAxMjc4NCwgMTI3ODQsIDEyNzg1LCAxMjc4NSwgMTI3ODYsCisgMTI3ODYsIDEyNzg3LCAxMjc4NywgMTI3ODgsIDEyNzg4LCAxMjc4OSwgMTI3ODksIDEyNzkwLCAxMjc5MCwgMTI3OTEsIDEyNzkxLAorIDEyNzkyLCAxMjc5MiwgMTI3OTMsIDEyNzkzLCAxMjc5NCwgMTI3OTQsIDEyNzk1LCAxMjc5NSwgMTI3OTYsIDEyNzk2LCAxMTcyMiwKKyAxMTcyMiwgMTI3OTgsIDEyNzk4LCAxMjc5OSwgMTI3OTksIDEyODAwLCAxMjgwMCwgMTI4MDEsIDEyODAxLCAxMjc5NywgMTI3OTcsCisgNzE1LCA3MTUsIDEyODA0LCAxMjgwNCwgMTI4MDUsIDEyODA1LCAxMjAwMiwgMTIwMDQsIDEyMDA1LCAxMjAwNiwgMTIwMDAsCisgMTIwMDEsIDEyMDAzLCAxMjgwNiwgMTI4MDYsIDExOTc4LCAxMTk3OCwgNzY3LCA3NjcsIDEyODA5LCAxMjgwOSwgMTI4MTAsCisgMTI4MTAsIDEyODExLCAxMjgxMSwgMTI4MTIsIDEyODEyLCAxMjgxMywgMTI4MTMsIDc4MiwgNzgyLCAxMjgxNSwgMTI4MTUsCisgMTI4MTYsIDEyODE2LCA3OTEsIDc5MSwgMTI4MTgsIDEyODE4LCAxMjgxOSwgMTI4MTksIDEyODIwLCAxMjgyMCwgMTI4MjEsCisgMTI4MjEsIDEyODE3LCAxMjgxNywgMTI4MTQsIDEyODE0LCAxMTg4OSwgMTE4ODksIDUxMiwgNzYyLCA3NjMsIDc2NCwgNzY1LAorIDEyODIyLCAxMjgyMywgMTI4MjQsIDEyODI1LCAxMjgyMiwgMTI4MjMsIDEyODI0LCAxMjgyNSwgMTI4MjYsIDEyODI2LCAxMjgyNywKKyAxMjgyNywgMTI4MjgsIDEyODI4LCAxMjAzMiwgMTIwMzIsIDEyODMwLCAxMjgzMCwgMTI4MzEsIDEyODI5LCAxMjgyOSwgMTIwMzksCisgMTI4MzIsIDEyODMzLCAxMjgzMywgMTI4MzQsIDEyODM0LCAxMjgwNywgMTI4MDgsIDEyODA3LCAxMjgwOCwgODI4LCA4MjgsCisgMTI4MzcsIDEyMDU0LCAxMjA1NCwgMTI4MzgsIDEyODM4LCA1MDcsIDUwNywgMTI4NDEsIDEyODQxLCAxMjg0MiwgMTI4NDIsCisgMTI4NDMsIDEyODQzLCAxMjg0NCwgMTI4NDQsIDEyODQ1LCAxMjg0NSwgMTI4NDYsIDEyMDY3LCAxMjA2NywgMTI4NDgsIDEyODQ4LAorIDEyODQ5LCAxMjg0OSwgMTI4NTAsIDEyODUwLCAxMjg1MSwgMTI4NTEsIDEyODUyLCAxMjg1MiwgMjM0LCAyMzQsIDEyODU0LAorIDEyODU0LCAxMjg1NSwgMTI4NTUsIDEyODU2LCAxMjg1NiwgMTI4NTcsIDEyODU3LCAxMjg1OCwgMTI4NTgsIDEyODU5LCAxMjg1OSwKKyAxMjg2MCwgMTI4NjAsIDEyODYxLCAxMjg2MSwgMTI4NjIsIDEyODYyLCAxMjg2MywgMTI4NjMsIDEyODY0LCAxMjg2NCwgMjQ3LAorIDI0NywgMTI4NjYsIDEyODY2LCAxMjg2NywgMTI4NjcsIDEyODY4LCAxMjg2OCwgMTI4NjksIDEyODY5LCAxMjg3MCwgMTI4NzAsCisgMTI4NzEsIDEyODcxLCAxMjg3MiwgMTI4NzIsIDEyODczLCAxMjg3MywgMTI4NzQsIDEyODc0LCAxMjg3NSwgMTI4NzUsIDEyODc2LAorIDEyODY1LCAxMjg1MywgMTI4NTMsIDEyODc3LCAxMjg3OCwgMTI4NzksIDEyODc5LCAxMjg0NywgMTI4ODAsIDEyODgxLCAxMjEwMiwKKyAxMjEwMiwgOTUxLCA5NTEsIDEyODgzLCAxMjg4MywgMTI4ODQsIDEyODg0LCAxMjg4NSwgMTI4ODUsIDEyODg2LCAxMjg4NiwKKyAxMjg4NywgMTI4ODcsIDEyMTEyLCAxMjExMiwgOTc1LCA5NzUsIDEyODkwLCAxMjg5MCwgMTI4OTEsIDEyODkxLCAxMjg5MiwKKyAxMjg5MiwgOTg5LCA5ODksIDk4NiwgOTg2LCAxMjg5NCwgMTI4OTUsIDEyODk0LCAxMjg5NSwgMTAwMCwgMTAwMCwgOTk3LCA5OTcsCisgMTI4OTcsIDEyODk4LCAxMjg5NywgMTI4OTgsIDEyODk5LCAxMjg5NiwgMTAwOCwgMTI5MDAsIDEyOTAxLCAxMjkwMiwgMTI5MDIsCisgMTI4OTMsIDEyODkzLCAxMjEzMSwgMTIxMzEsIDEyOTA1LCAxMjkwNSwgMTI5MDYsIDEyOTA2LCAxMjkwNywgMTI5MDcsIDEyOTA4LAorIDEyOTA4LCAxMjkwOSwgMTIxMzgsIDEyOTEwLCAxMjkxMSwgMTI5MTEsIDEyOTEyLCAxMjkxMiwgMTI5MTMsIDEyOTEzLCAxMjkxNCwKKyAxMjkxNCwgMTI5MTUsIDEyOTE1LCAxMjkxNiwgMTI5MTYsIDEyOTAzLCAxMjkwNCwgMTI5MDMsIDEyOTA0LCAxMjg4OSwgMTI4ODksCisgMTI4ODgsIDEyODg4LCAxMjg4MiwgMTI4ODIsIDEyODM5LCAxMjg0MCwgMTI4MzksIDEyODQwLCAxMjgzNSwgMTI4MzYsIDEyODM1LAorIDEyODM2LCAxMjgwMiwgMTI4MDIsIDEyODAzLCAxMjgwMywgMTI3ODMsIDEyNzgzLCAxMjc4MiwgMTI3ODIsIDEyNzczLCAxMjc3MywKKyAxMjc3MCwgMTI3NzEsIDEyNzcwLCAxMjc3MSwgMTA4NiwgMTA4NiwgMTI5MjksIDEyOTI5LCAxMjkzMCwgMTI5MzAsIDEyOTMxLAorIDEyOTMxLCAxMjkzMiwgMTI5MzIsIDEyOTMzLCAxMjkzMywgMTI5MTcsIDEyOTE4LCAxMjkxOSwgMTI5MjAsIDEyOTIxLCAxMjkyMiwKKyAxMjkyMywgMTI5MjQsIDEyOTI1LCAxMjkyNiwgMTI5MjcsIDEyOTI4LCAxMjkxNywgMTI5MTgsIDEyOTE5LCAxMjkyMCwgMTI5MjEsCisgMTI5MjIsIDEyOTIzLCAxMjkyNCwgMTI5MjUsIDEyOTI2LCAxMjkyNywgMTI5MjgsIDEyNzU3LCAxMjc1NywgMTE5MTMsIDExOTE0LAorIDExOTE1LCAxMjAwMiwgMTIwMDYsIDEyNzUwLCAxMjc0OSwgMTI3NTEsIDEyNzUyLCAxMjc1MywgMTI3MzksIDEyNzM5LCAxMjczOSwKKyAxMjAyOCwgMTI5MzksIDEyOTQwLCAxMjk0MSwgMTI5NDIsIDExNDg5LCAxMTQ4OSwgMTI5NDQsIDEyOTQ0LCAxMjk0NSwgMTI5NDUsCisgNTQzLCA1NDMsIDU0MywgMTE5NTksIDEyOTQzLCAxMjgwMiwgMTI4MDUsIDEyODA1LCAxMTk4MCwgOTIsIDIyMywgODQsIDg1LAorIDg2LCA4NywgODgsIDg5LCA5MCwgOTEsIDIyMiwgMiwgMjIwLCAyMjEsIDE5LCA4MSwgODIsIDgzLCA4MCwgNjksIDIxOCwgMjE5LAorIDQsIDc0LCAyMTIsIDc1LCAzNiwgNDcsIDc2LCA3NywgMjEzLCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgNzgsIDc5LCAxNCwKKyAxNSwgMTYsIDE3LCAxOCwgMzksIDk0LCAyMTQsIDIxNSwgMjE2LCAyMTcsIDQ0LCA0OSwgNTUsIDE4NiwgMTg3LCAxODgsIDE4OSwKKyAxOTAsIDE5MSwgMTkyLCAxOTMsIDM3LCAxOTQsIDE5NSwgMTk2LCAxOTcsIDE5OCwgMTk5LCAyMDAsIDIwMSwgMjAyLCAyMDMsCisgMjA0LCAyMDUsIDIwNiwgMjA3LCA0MCwgNDUsIDUyLCA2OCwgMjA4LCAyMDksIDIxMCwgMjExLCAzLCA0MSwgNDIsIDQzLCA0OCwKKyA3MSwgNiwgNzIsIDczLCAxMjk3MSwgMTI5NzIsIDEyOTczLCAxMjk3NCwgMTI5NzUsIDEyOTc2LCAxMjk3NywgMTI5NzgsIDEyOTY0LAorIDEyOTY1LCAxMjk2NiwgMTI5NjcsIDEyOTY4LCAxMjk2OSwgMTI5NzAsIDEyOTYxLCAxMjk2MiwgMTI5NjMsIDEyOTYwLCAxMjk1OCwKKyAxMjk1OSwgMTI5NTYsIDEyOTU3LCAxMjk1MiwgMTI5NTMsIDEyOTU0LCAxMjk1NSwgMTI5NTAsIDEyOTUxLCAxNjQsIDE2NSwKKyA1MCwgMTY2LCAzOCwgNTYsIDE2NywgMTY4LCAxNjksIDE3MCwgMTcxLCA3MCwgMTcyLCAxNzMsIDE3NCwgMTc1LCAxNzYsIDE3NywKKyAxNzgsIDE3OSwgMTgwLCAxODEsIDE4MiwgMTgzLCAxODQsIDE4NSwgMTQ2LCAxNDcsIDE0OCwgMTQ5LCAxNTAsIDE1MSwgMTUyLAorIDE1MywgNTgsIDU5LCA2MCwgNjEsIDYyLCA2MywgNjQsIDY1LCA2NiwgNjcsIDE1NCwgMTU1LCAxNTYsIDE1NywgMTU4LCAxNTksCisgMTYwLCAxNjEsIDE2MiwgMTYzLCAxMzQsIDEzNSwgMTM2LCAxMzcsIDk1LCAxMzgsIDUxLCA1MywgMTM5LCAxNDAsIDE0MSwgMTQyLAorIDE0MywgMTQ0LCAxNDUsIDMxLCAzMiwgMzAsIDMzLCAzNCwgMTI3LCAxMjgsIDIwLCA5MywgMTI5LCAxMzAsIDEzMSwgNTcsIDEzMiwKKyA0NiwgMTMzLCAxMzAwNSwgMTMwMDYsIDEzMDA3LCAxMzAwOCwgMTMwMDAsIDEzMDAxLCAxMzAwMiwgMTMwMDMsIDEzMDA0LCAxMjk5NCwKKyAxMjk5NSwgMTI5OTYsIDEyOTk3LCAxMjk5OCwgMTI5OTksIDEyOTg3LCAxMjk4OCwgMTI5ODksIDEyOTkwLCAxMjk5MSwgMTI5OTIsCisgMTI5OTMsIDEyNiwgMTE5LCAxMjAsIDEyMSwgMTIyLCAxMjMsIDEyNCwgMTI1LCAxMzAxNCwgMTMwMTUsIDEzMDE2LCAxMzAxNywKKyAxMzAxMywgMTEyLCAxMTMsIDExNCwgMTE1LCAxMTYsIDExNywgMTE4LCAxMTEsIDIxLCAyNSwgMjYsIDI3LCAyOCwgMjksIDU0LAorIDEzMDI2LCAxMzAyNCwgMTMwMjUsIDEzMDIzLCAxMzAyMCwgMTMwMjEsIDEzMDIyLCAxMTAsIDEzMDMxLCAxMDcsIDEwOCwgMTA5LAorIDIyLCAyMywgMjQsIDEzMDM2LCAxMzAzMywgMTMwMzQsIDEzMDM1LCAxMzAzNywgMTMwMzgsIDEzMDMyLCAxMzAyNywgMTMwMjgsCisgMTMwMjksIDEzMDMwLCAxMzAxOCwgMTMwMTksIDEzMDA5LCAxMzAxMCwgMTMwMTEsIDEzMDEyLCAxMjk3OSwgMTI5ODAsIDEyOTgxLAorIDEyOTgyLCAxMjk4MywgMTI5ODQsIDEyOTg1LCAxMjk4NiwgMTA2LCAxMzA0NSwgMTA0LCAxMDUsIDM1LCAxMzA0OCwgMTMwNDcsCisgMTAzLCAxMzA1MSwgMTMwNTIsIDEzMDQ5LCAxMzA1MCwgMTMwNDYsIDEwMiwgMTMwNTYsIDEwMSwgMTMwNTgsIDEzMDU5LCAxMzA1NywKKyA1LCAxMzA2MiwgMTMwNjMsIDEwMCwgMTMwNjUsIDEzMDY2LCA5OSwgMTMwNjgsIDEsIDk2LCA5NywgOTgsIDEzMDcwLCAxMzA3MSwKKyAxMzA3MiwgMTMwNzMsIDEzMDc0LCAxMzA2OSwgMTMwNzUsIDEzMDc2LCAxMzA2NywgMTMwNjQsIDEzMDYwLCAxMzA2MSwgMTMwNTMsCisgMTMwNTQsIDEzMDU1LCAxMzAzOSwgMTMwNDAsIDEzMDQxLCAxMzA0MiwgMTMwNDMsIDEzMDQ0LCAxMzA3NywgMTMwNzgsIDEzMDc5LAorIDEzMDgwLCAxMzA4MSwgMTMwODIsIDEzMDgzLCAxMzA4MywgMTMwODMsIDEzMDg0LCAxMzA4NCwgMTMwODQsIDEzMDg1LCAxMzA4NSwKKyAxMzA4NSwgMTE5OTgsIDEyNzQ4LCAxMzA4NiwgMTMwODYsIDEzMDg2LCAxMjY5MiwgMTI2OTMsIDEyNjk0LCAxMjY5NSwgMTI2OTYsCisgMTI2OTcsIDEyNjk4LCAxMjY5OSwgMTI3MDAsIDE2MTEsIDEyOTQ5LCAxMjk0OSwgMTI5NDksIDEzMDg3LCAxMjc1MCwgMTE5MTMsCisgMTIwMDIsIDExOTE0LCAxMTkxNSwgMTIwMDQsIDEyMDA1LCAxMjAwNiwgMTMwODgsIDEzMDg4LCAxMzA4OCwgMTMwODksIDEyNTk2LAorIDEyNTk2LCA5NzUsIDEzMDkyLCAxMzA5MywgMTMwOTMsIDEzMDkzLCAxMzA5NCwgMTMwOTQsIDEzMDk0LCAxMzA5NSwgMTMwOTUsCisgMTMwOTUsIDEzMDk2LCAxMzA5NywgMTMwOTgsIDEzMDk5LCAxMDQxLCAxMzEwMSwgMTMxMDIsIDEzMTAyLCAxMzEwMywgMTMxMDMsCisgMTMxMDQsIDEzMTA0LCAxMzEwNSwgMTMxMDUsIDEzMTA2LCAxMzEwNiwgMTMxMDcsIDEzMTA4LCAxMzEwOSwgMTMxMTAsIDEzMTExLAorIDEzMTEyLCAxMzExMiwgMTMxMTMsIDEzMTEzLCAxMzExNCwgMTMxMTQsIDEzMTE1LCAxMzExNSwgMTMxMDIsIDEzMTAyLCAxMzExNywKKyAxMzExNywgMTMxMTgsIDEzMTE4LCAxMzExOSwgMTMxMTksIDEzMTIwLCAxMzEyMCwgMTMxMjEsIDEzMTIyLCAxMzEyMywgMTMxMjQsCisgMTMxMjUsIDEzMTI2LCAxMzEyNiwgMTMxMjcsIDEzMTI3LCAxMzEyOCwgMTMxMjgsIDEzMTI5LCAxMzEyOSwgMTMxMzAsIDEzMTMwLAorIDEzMTE2LCAxMzExNiwgMTMxMzEsIDEzMTMxLCAxMzEzMiwgMTMxMzMsIDEzMTMzLCAxMzEzMywgMTA0MiwgMTMxMzUsIDEzMTM2LAorIDEzMTM2LCAxMzEzNywgMTMxMzcsIDEzMTM4LCAxMzEzOCwgMTMxMzksIDEzMTM5LCAxMzE0MCwgMTMxNDAsIDEzMTQxLCAxMzE0MiwKKyAxMzE0MiwgMTMxNDMsIDEzMTQzLCAxMzE0NCwgMTMxNDQsIDEzMTQ1LCAxMzE0NSwgMTMxMzYsIDEzMTM2LCAxMzE0NywgMTMxNDcsCisgMTMxNDgsIDEzMTQ4LCAxMzE0OSwgMTMxNDksIDEzMTUwLCAxMzE1MCwgMTMxNTEsIDEzMTUyLCAxMzE1MiwgMTMxNTMsIDEzMTUzLAorIDEzMTU0LCAxMzE1NCwgMTMxNTUsIDEzMTU1LCAxMzE1NiwgMTMxNTYsIDEzMTQ2LCAxMzE0NiwgMTMxNTcsIDEzMTU3LCAxMzE1OCwKKyAxMzE1OSwgMTMxNTksIDEzMTU5LCA0MywgMTMxNjAsIDQ0LCA3NTAsIDc0OSwgMTMxMzQsIDM0MCwgNzYzLCA3NjQsIDc2NSwKKyA3ODIsIDc5MSwgMTA4NiwgMTMxNjEsIDEzMTYyLCAxMzE2MywgMTMxNjQsIDEzMTY1LCAxMzE2NiwgMTMxMDAsIDEyNzEwLCAxMjcxMCwKKyAzMTEsIDEzMTcwLCAxMzE3MSwgMTMxNzIsIDEzMTczLCAxMzE3NCwgMTMxNzQsIDEzMTc0LCAxMzE3NCwgMTMxNzYsIDEzMTc2LAorIDEzMTc1LCAxMzE3NSwgMTMxNzcsIDEzMTc3LCAxMzE3OCwgMTMxNzksIDEzMTgwLCA1MTIsIDEzMTgyLCAxMzE4MywgMTMxODQsCisgNzYyLCAxMzE4NiwgMTMxODcsIDEzMTg4LCA3NjMsIDEzMTkwLCAxMzE5MSwgMTMxOTIsIDc2NCwgMTMxOTQsIDEzMTk1LCAxMzE5NiwKKyAxMDg2LCAxMzE5OCwgMTMxOTksIDEzMjAwLCAzNDAsIDEzMjAyLCAxMzIwMywgMTMyMDQsIDc4MiwgMTMyMDYsIDEzMjA3LCAxMzIwOCwKKyAxMjcwNCwgMTMyMTAsIDEzMjExLCA3NjUsIDEzMjEzLCAxMzIxNCwgMTMyMTUsIDQwLCAxMzIxNiwgNDgsIDEzMjEyLCA0OSwKKyAxMzIwOSwgNTAsIDEzMjA1LCAzLCAxMzIwMSwgNDEsIDEzMTk3LCA0MiwgMTMxOTMsIDQzLCAxMzE4OSwgNDQsIDc1MCwgMTMxODUsCisgMTMyMTcsIDEzMjE4LCAxMzIxOSwgMTMyMjAsIDEzMjIxLCAxMzIyMiwgMTMyMjMsIDEzMjI0LCAxMzIyNSwgMTMyMjYsIDEzMjI3LAorIDEzMjI4LCAxMzIyOSwgMTMxODEsIDMxNCwgMzE0LCAzMTQsIDEzMjMyLCAxMzIzMiwgMTMyMzIsIDEzMjMzLCAxMzIzNCwgMTMyMzUsCisgMTMyMzAsIDEzMjMxLCAxMzE2NywgMTMxNjgsIDEzMTY5LCAxMzE2OSwgMTMyMzYsIDEzMjM3LCAxMzIzOCwgMTMyMzksIDEzMjM5LAorIDEzMjM5LCAxMzA5MSwgMTMwOTEsIDEzMDkwLCAxMzA5MCwgMTMwOTAsIDgyOCwgODI4LCA4MjgsIDEzMjQzLCA4MzUsIDgzNSwKKyAxMzI0NSwgMTMyNDUsIDEzMjQ2LCAxMzI0NiwgMTMyNDQsIDgzNSwgMTMyNDksIDEzMjUwLCAxMzI1MSwgODM1LCA4MzUsIDEzMjUzLAorIDEzMjU0LCAxMzI1NSwgMTMyNTYsIDEzMjU3LCAxMzI1OCwgMTMyNTksIDEzMjYwLCAxMzI2MSwgMTMyNjIsIDEzMjYyLCAxMzI2MiwKKyAxMzI1MiwgMTMyNjQsIDEzMjY0LCAxMzI2MywgMTMyNjQsIDEzMjQ3LCAxMzI0OCwgMTMyNDcsIDEzMjQ4LCAxMzI0OCwgNzUwLAorIDEzMjY3LCAxMzI2OCwgMTMyNjgsIDEzMjY5LCAxMzI2OSwgNTEyLCA3NjIsIDc2MywgNzY0LCA3NjUsIDEzMjY3LCAxMzI3MSwKKyAxMzI3MSwgMTMyNzIsIDEzMjcyLCAxMzI3MywgMTMyNzMsIDEzMjcwLCAxMzI3MCwgOTUxLCA5NTEsIDEzMjc2LCAxMzI3NiwKKyA5NTEsIDk1MSwgMTMyNzgsIDEzMjc4LCAxMzI3OSwgMTMyNzksIDEzMjc3LCAxMzI3NywgMTMyODAsIDEzMjgwLCAxMzI4MSwKKyAxMjc0NywgMTMyODIsIDEzMjgyLCAxMzI4MiwgMTMyODMsIDEzMjg0LCAzODgsIDM4OCwgMTMyODYsIDEzMjg2LCAxMzI4NywKKyAxMzI4NywgMTMyODgsIDEzMjg4LCAxMzI4OSwgMTMyOTAsIDEzMjkxLCAxMzI5MiwgMTMyOTMsIDEzMjk0LCAxMzI5NCwgMTMyOTUsCisgMTMyOTUsIDEzMjk2LCAxMzI5NiwgMTMyOTcsIDEzMjk3LCAxMzI5OCwgMTMyOTgsIDEzMjk5LCAxMzI5OSwgMTMzMDAsIDEzMzAwLAorIDEzMzAxLCAxMzMwMSwgMTMzMDIsIDEzMzAyLCAzODgsIDM4OCwgMTMzMDQsIDEzMzA0LCAxMzMwNSwgMTMzMDUsIDEzMzA2LAorIDEzMzA2LCAxMzMwNywgMTMzMDgsIDEzMzA5LCAxMzMxMCwgMTMzMTEsIDEzMzEyLCAxMzMxMiwgMTMzMTMsIDEzMzEzLCAxMzMxNCwKKyAxMzMxNCwgMTMzMTUsIDEzMzE1LCAxMzMxNiwgMTMzMTYsIDEzMzE3LCAxMzMxNywgMTMzMTgsIDEzMzE4LCAxMzMxOSwgMTMzMTksCisgMTMzMjAsIDEzMzIwLCAxMzMyMSwgMTMzMjEsIDEzMzAzLCAxMzMwMywgMTMzMjMsIDEzMzIyLCAxMzMyMywgMTMzMjQsIDEzMzI0LAorIDEzMzI0LCAxMzMyNSwgMTIxMDYsIDEzMzI3LCAxMzMyNywgMTMzMjgsIDEzMzI4LCAxMjg4NSwgMTMzMzAsIDEzMzMwLCAxMzMzMSwKKyAxMzMzMSwgMTMzMzIsIDEzMzMyLCAxMzMyOSwgMTMzMjksIDEyMTEyLCAxMzMzNSwgMTMzMzUsIDEzMzM1LCA5NzUsIDEzMDkyLAorIDExODg2LCAxMTg4NiwgMTE4ODYsIDEzMzM4LCAxMzMzOCwgMTMzMzgsIDEzMzM5LCAxMzMzOSwgMTMzMzksIDk4OSwgOTg5LAorIDk4OSwgOTg2LCA5ODYsIDk4NiwgMTMzNDEsIDEzMzQxLCAxMzM0MSwgMTMzNDIsIDEzMzQyLCAxMzM0MiwgMTMzNDEsIDEzMzQyLAorIDEzMzQxLCAxMzM0MiwgMTMzNDEsIDEzMzQyLCAxMzM0MywgMTAwMCwgMTAwMCwgMTAwMCwgOTk3LCA5OTcsIDk5NywgMTMzNDUsCisgMTMzNDUsIDEzMzQ1LCAxMzM0NiwgMTMzNDYsIDEzMzQ2LCAxMzM0NSwgMTMzNDYsIDEzMzQ1LCAxMzM0NiwgMTMzNDUsIDEzMzQ2LAorIDEzMzQ3LCAxMzM0OCwgMTMzNDQsIDEwMDgsIDEzMzQ5LCAxMzM1MCwgMTAwOCwgMTMzNDksIDEzMzUwLCAxMzM1MSwgMTMzNTIsCisgMTMzNTIsIDEzMzUyLCAyLCAxMzM0MCwgMTMzMzcsIDEzMzM3LCAxMzMzNywgMTMyODMsIDEyMTM4LCAxMzM1NiwgMTMzNTcsCisgMTMzNTcsIDEzMzU4LCAxMzM1OCwgMTMzNTksIDEzMzU5LCAxMzM2MCwgMTMzNjAsIDEzMzYxLCAxMzM2MSwgMTMzNTcsIDEzMzU3LAorIDEzMzYzLCAxMzM2MywgMTMzNjQsIDEzMzY0LCAxMzM2NSwgMTMzNjUsIDEzMzY2LCAxMzM2NiwgMjUxLCAyNTAsIDI0OSwgMjQ4LAorIDI0NywgMjQ2LCAyNDUsIDUsIDEzMzY5LCAxMzM3MCwgMTMzNzEsIDEzMzcyLCAxMzM3MywgMTMzNzQsIDEzMzc1LCAxMzM3NiwKKyAxMzM3NywgMTMzNzgsIDEzMzc5LCAxMzM4MCwgMTMzODEsIDEzMzgyLCAxMzM4MywgMTMzODQsIDEzMzg1LCAxMzM4NiwgMTMzODcsCisgMTMzODgsIDEzMzg5LCAxMzM5MCwgMTMzOTEsIDEzMzkyLCAxMzM5MywgMTMzOTQsIDEzMzk1LCAxMzM5NiwgMTMzOTcsIDEzMzk4LAorIDEzMzk5LCAxMzQwMCwgMTM0MDEsIDEzNDAyLCAxMzQwMywgMTM0MDQsIDEzNDA1LCAxMzQwNiwgMTM0MDcsIDEzNDA4LCAxMzQwOSwKKyAxMzQxMCwgMTM0MTEsIDEzNDEyLCAxMzQxMywgMTM0MTQsIDEzNDE1LCAxMzQxNiwgMTM0MTcsIDEzNDE4LCAyMjQsIDIyNSwKKyAxMzQyMSwgMTM0MjIsIDIyNiwgMTM0MjQsIDEzNDI1LCAyMjgsIDEzNDI3LCAxMzQyOCwgMTM0MjksIDEzNDMwLCAxMzQzMSwKKyAxMzQzMiwgMTM0MzMsIDEzNDM0LCAxMzQzNSwgMTM0MzYsIDEzNDM3LCAxMzQzOCwgMTM0MzksIDEzNDQwLCAxMzQ0MSwgMTM0NDIsCisgMTM0NDMsIDEzNDQ0LCAxMzM2OCwgMTE5MDksIDEzMzY3LCAxMzM2NywgMTMzNjIsIDEzMzYyLCAxMzM1MywgMTMzNTQsIDEzMzU1LAorIDEzMzUzLCAxMzM1NCwgMTMzNTMsIDEzMzU0LCAxMzM1NSwgMTMzNTUsIDEzMzM2LCAxMzMzNiwgMTMzMzYsIDEzMzMzLCAxMzMzMywKKyAxMzMzNCwgNjc0LCAxMTcyNSwgMTE3MjUsIDY3NCwgMTI4MDAsIDEyODAwLCAxMzMyNiwgMTMzMjYsIDEzMzI2LCAxMzI4NSwKKyAxMzI4NSwgMTMyODUsIDc2NSwgNzY0LCA3NjMsIDc2MiwgNTEyLCAxMzI3NCwgMTMyNzQsIDEzMjc1LCAxMzI2NSwgMTMyNjYsCisgMTMyNjUsIDEzMjY1LCAxMzI2NiwgMTMyNjYsIDEzMjQwLCAxMzI0MiwgMTMyNDEsIDEzMjQwLCAxMzI0MCwgMTMyNDIsIDEzMjQxLAorIDEzMjQyLCAxMjk0OCwgMTI4MjEsIDEyOTQ4LCAxMjgyMSwgMTI5NDYsIDEyOTQ3LCAxMjk0NiwgMTI5NDcsIDEyOTQ3LCAxMjkzNCwKKyAxMjkzNSwgMTI5MzcsIDEyOTM2LCAxMjkzOCwgMTI5MzQsIDEyOTM1LCAxMjkzNywgMTI5MzYsIDEyOTM4LCAxMjkzNywgMTI5MzgsCisgMTI3MzQsIDEyNzM0LCAxMjczNSwgNTEyLCA3NjIsIDc2MywgNzY0LCA3NjUsIDEyNzI0LCAxMjcyNCwgMTI3MjAsIDEyNzIwLAorIDEyNzE0LCAxMjcxNSwgMTI3MTYsIDEyNzE0LCAxMjcxNSwgMTI3MTYsIDEyNTY4LCAxMjU2OSwgMTI1NzAsIDEyNTcxLCAxMjU3MiwKKyAxMjU2NywgMTI1NjksIDEyNTY4LCAxMjU2OSwgMTI1NzAsIDEyNTcxLCAxMjU3MiwgMTI1NzAsIDEyNTcxLCAxMjU3MiwgMTIxNjIsCisgMTIxNjMsIDEyMTY0LCAxMjE2NSwgMTIxNjIsIDEyMTYzLCAxMjE2NCwgMTIxNjUsIDExODg4LCAxMTg4OSwgMTE4ODksIDExODg3LAorIDExODkxLCAxMTg5MCwgMTE4ODcsIDExODg3LCAxMTg5MSwgMTE4OTAsIDExODkxLCAxMTg5MiwgMTE4MjEsIDExODIxLCAxMTgxMiwKKyAxMTgxMywgMTE4MTQsIDExODEyLCAxMTgxMywgMTE4MTQsIDExODAyLCAxMTgwMiwgMTE4MDAsIDExODAwLCA2NzQsIDExNzk2LAorIDExNzk2LCAxMTc5NiwgMTExNDMsIDExMTQzLCAxMTc4OSwgMTE3ODksIDExNzY4LCAxMTc2OCwgNTEyLCA3NjIsIDc2MywgNzY0LAorIDc2NSwgMTE3NjIsIDExNzYyLCAxMTc1NywgMTE3NTgsIDExNzU3LCAxMTc1OCwgMTE3MzgsIDExNzM4LCAxMTcyOSwgMTE3MjksCisgMTE3MjgsIDExNzI4LCAxMTczMCwgMTE3MzEsIDExNzMyLCAxMTczMCwgMTE3MzEsIDExNzMyLCAxMTQ5MiwgMTE0OTIsIDExNDkzLAorIDExMTc4LCAxMTQ5MywgMTExNzgsIDExNDg3LCAxMTQ4OCwgMTE0ODcsIDExNDg4LCAxMTQ3NCwgMTE0NzUsIDExNDc2LCAxMTQ3NywKKyAxMTQ3OCwgMTE0NzQsIDExNDc1LCAxMTQ3NiwgMTE0NzcsIDExNDc4LCAxMTI5NCwgMTEyOTUsIDExMjk2LCAxMTI5NywgMTEyOTgsCisgMTEyOTQsIDExMjk1LCAxMTI5NiwgMTEyOTcsIDExMjk4LCAxMTA3MywgMTEwNzMsIDExMDY0LCAxMTA2NCwgMTEwNjMsIDExMDY1LAorIDExMDY2LCAxMTA2MywgMTEwNjUsIDExMDY2LCAyODMwLCAyODMzLCAxMTAyNiwgMjYyNCwgMjgwNSwgMjgwNiwgMjgwNywgMjgwOCwKKyAyODA5LCAyODEwLCAyODExLCAyODEyLCAyODEzLCAyODE0LCAyODE1LCAyODE2LCAyODE3LCAyODE4LCAyODE5LCAyODIwLCAyODIxLAorIDI2MjQsIDI4MDUsIDI4MDYsIDI4MDcsIDI4MDgsIDI4MDksIDI4MTAsIDI4MTEsIDI4MTIsIDI4MTMsIDI4MTQsIDI4MTUsIDI4MTYsCisgMjgxNywgMjgxOCwgMjgxOSwgMjgyMCwgMjgyMSwgNjkwLCAyODIyLCA5MjAsIDEsIDIyNywgMjI2LCAxMzQ4OSwgMTM0OTAsCisgMTM0OTEsIDEzNDkyLCAxMzQ5MywgMTM0OTUsIDEzNDk3LCAxMzQ5OQorfTsKKworc3RhdGljIHVuc2lnbmVkIGNoYXIgICAgbGFiZWxfYXJyYXlbXSA9IHsKKyAweEZFLCAweEY5LCAweEY4LCAweEY0LCAweEU3LCAweEU2LCAweEU0LCAweEUzLCAweEUyLCAweEQ5LCAweEQ3LCAweEQ0LCAweEQzLAorIDB4RDIsIDB4RDEsIDB4QzksIDB4QzgsIDB4QzcsIDB4QzUsIDB4QzMsIDB4QzIsIDB4QzEsIDB4QjcsIDB4QjYsIDB4QjQsIDB4QjMsCisgMHhBQiwgMHhBNywgMHhBNiwgMHhBNCwgMHhBMywgMHhBMiwgMHg5QiwgMHg5OSwgMHg5NywgMHg5NCwgMHg5MywgMHg5MiwgMHg5MSwKKyAweDg5LCAweDg4LCAweDg3LCAweDg1LCAweDgzLCAweDgyLCAweDgxLCAweDc4LCAweDc3LCAweDc1LCAweDc0LCAweDczLCAweDcyLAorIDB4NzEsIDB4NzAsIDB4NkQsIDB4NkMsIDB4NkIsIDB4NkEsIDB4NjksIDB4NjgsIDB4NjcsIDB4NjYsIDB4NjUsIDB4NjQsIDB4NjMsCisgMHg2MiwgMHg2MSwgMHg1OCwgMHg1NywgMHg1NSwgMHg1NCwgMHg1MywgMHg1MiwgMHg1MCwgMHg0RCwgMHg0QywgMHg0QiwgMHg0QSwKKyAweDQ5LCAweDQ4LCAweDQ3LCAweDQ1LCAweDQzLCAweDQyLCAweDQxLCAweDM5LCAweDM4LCAweDM0LCAweDFCLCAweDAwLCAweEZFLAorIDB4RkUsIDB4RkUsIDB4RkUsIDB4RkUsIDB4RkUsIDB4MDAsIDB4MDAsIDB4MzcsIDB4MDAsIDB4MzMsIDB4MDAsIDB4MDAsIDB4MDAsCisgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgzNywgMHgzNSwgMHgzMiwgMHgzMSwgMHgzMCwgMHgwMCwKKyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAorIDB4MzksIDB4MzYsIDB4MzUsIDB4MzMsIDB4MzIsIDB4MzEsIDB4MzAsIDB4MDAsIDB4MDAsIDB4MzUsIDB4MzYsIDB4MDAsIDB4MDAsCisgMHgzNCwgMHgwMCwgMHgzMCwgMHgwMCwgMHgwMCwgMHg0NywgMHg2NywgMHgwMCwgMHg2RSwgMHg0RSwgMHgwMCwgMHg2OSwgMHg0OSwKKyAweDAwLCAweDY0LCAweDQ0LCAweDAwLCAweDZGLCAweDRGLCAweDAwLCAweDYzLCAweDQzLCAweDAwLCAweDZFLCAweDRFLCAweDAwLAorIDB4NjUsIDB4NDUsIDB4MDAsIDB4MkQsIDB4MDAsIDB4NjQsIDB4NDQsIDB4MDAsIDB4NzIsIDB4NTIsIDB4MDAsIDB4NjEsIDB4NDEsCisgMHgwMCwgMHg2NCwgMHg0NCwgMHgwMCwgMHg2RSwgMHg0RSwgMHgwMCwgMHg2MSwgMHg0MSwgMHgwMCwgMHg3NCwgMHg1NCwgMHgwMCwKKyAweDczLCAweDUzLCAweDAwLCAweDJELCAweDAwLCAweDY1LCAweDQ1LCAweDAwLCAweDYyLCAweDQyLCAweDAwLCAweDZGLCAweDRGLAorIDB4MDAsIDB4MDAsIDB4MzgsIDB4MDAsIDB4MDAsIDB4MzYsIDB4MDAsIDB4MDAsIDB4MzgsIDB4MzYsIDB4MDAsIDB4MzksIDB4MDAsCisgMHgzMSwgMHgwMCwgMHgyRCwgMHgwMCwgMHgzNCwgMHgwMCwgMHgyRSwgMHgwMCwgMHgzMywgMHgwMCwgMHg3OCwgMHg1OCwgMHgwMCwKKyAweDVGLCAweDAwLCAweDY5LCAweDQ5LCAweDAwLCAweDczLCAweDUzLCAweDAwLCAweDAwLCAweDQzLCAweDYzLCAweDAwLCAweDY5LAorIDB4NDksIDB4MDAsIDB4NjIsIDB4NDIsIDB4MDAsIDB4NjEsIDB4NDEsIDB4NjksIDB4NDksIDB4MDAsIDB4NjksIDB4NDksIDB4MzgsCisgMHgwMCwgMHgzMCwgMHgwMCwgMHgzNywgMHgwMCwgMHgyRCwgMHgwMCwgMHg2RiwgMHg0RiwgMHgwMCwgMHgwMCwgMHg0MywgMHg2MywKKyAweDZELCAweDRELCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDUyLCAweDcyLCAweDczLCAweDZFLCAweDY0LCAweDUzLCAweDRFLAorIDB4NDQsIDB4MDAsIDB4MDAsIDB4NTMsIDB4NzMsIDB4MDAsIDB4NjMsIDB4NDMsIDB4MDAsIDB4NzMsIDB4NTMsIDB4MDAsIDB4NkIsCisgMHg0QiwgMHgwMCwgMHg2OCwgMHg0OCwgMHgwMCwgMHgyRCwgMHgwMCwgMHgzNSwgMHgwMCwgMHg2NywgMHg0NywgMHgwMCwgMHg2OSwKKyAweDQ5LCAweDAwLCAweDAwLCAweDM4LCAweDAwLCAweDM1LCAweDAwLCAweDAwLCAweDM0LCAweDAwLCAweDMyLCAweDAwLCAweDAwLAorIDB4MzksIDB4MzgsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgzOSwgMHgzOCwgMHgzNywgMHgzNiwKKyAweDM1LCAweDM0LCAweDMzLCAweDMyLCAweDMxLCAweDMwLCAweDAwLCAweDM0LCAweDAwLCAweDMxLCAweDAwLCAweDAwLCAweDMxLAorIDB4MzAsIDB4MDAsIDB4MzAsIDB4MDAsIDB4NjQsIDB4NDQsIDB4MDAsIDB4NjksIDB4NDksIDB4MDAsIDB4NzMsIDB4NTMsIDB4MDAsCisgMHgwMCwgMHg0NSwgMHg2NSwgMHgwMCwgMHg3MywgMHg1MywgMHgwMCwgMHg2NSwgMHg0NSwgMHgwMCwgMHg2RSwgMHg0RSwgMHgwMCwKKyAweDY5LCAweDQ5LCAweDAwLCAweDAwLCAweDUyLCAweDcyLCAweDUyLCAweDcyLCAweDUzLCAweDczLCAweDAwLCAweDAwLCAweDAwLAorIDB4NjksIDB4NjcsIDB4NjEsIDB4NDksIDB4NDcsIDB4NDEsIDB4MDAsIDB4MDAsIDB4MzcsIDB4MDAsIDB4MzMsIDB4MzEsIDB4MzAsCisgMHgwMCwgMHgwMCwgMHgzNiwgMHgwMCwgMHgzMiwgMHgwMCwgMHgzMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgzOCwgMHgzMywKKyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDM1LCAweDM0LCAweDMwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAorIDB4MzcsIDB4MzAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MzksIDB4MzgsIDB4MzcsIDB4MzcsIDB4MDAsIDB4MzYsIDB4MDAsIDB4MDAsCisgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgzNCwgMHgzMywgMHgzMCwgMHgwMCwgMHgzMywgMHgzMiwgMHgwMCwgMHgwMCwgMHgzMCwKKyAweDAwLCAweDMwLCAweDAwLCAweDAwLCAweDM1LCAweDAwLCAweDM3LCAweDAwLCAweDAwLCAweDM5LCAweDAwLCAweDAwLCAweDM5LAorIDB4MzgsIDB4MzYsIDB4MzUsIDB4MzQsIDB4MzMsIDB4MzIsIDB4MzEsIDB4MzAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MzEsCisgMHgzMCwgMHgwMCwgMHgwMCwgMHgzMCwgMHgwMCwgMHgwMCwgMHgzMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgzOSwKKyAweDM4LCAweDM3LCAweDM2LCAweDM1LCAweDMxLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDM1LCAweDM0LCAweDMzLCAweDAwLAorIDB4MDAsIDB4MzgsIDB4MDAsIDB4MDAsIDB4MzYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MzMsIDB4MzEsIDB4MzAsIDB4MDAsIDB4MDAsCisgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgzOCwgMHgzNywgMHgzNSwgMHgzNCwgMHgzMywKKyAweDMwLCAweDM5LCAweDMyLCAweDMxLCAweDJELCAweDY0LCAweDQ0LCAweDAwLCAweDcyLCAweDUyLCAweDAwLCAweDYxLCAweDQxLAorIDB4MDAsIDB4NjQsIDB4NDQsIDB4MDAsIDB4NkUsIDB4NEUsIDB4MDAsIDB4NjEsIDB4NDEsIDB4MDAsIDB4NzQsIDB4NTQsIDB4MDAsCisgMHg3MywgMHg1MywgMHgwMCwgMHg2NSwgMHg0NSwgMHgwMCwgMHg2MiwgMHg0MiwgMHgwMCwgMHg2RiwgMHg0RiwgMHg2MywgMHg0MywKKyAweDAwLCAweDAwLCAweDUzLCAweDczLCAweDY0LCAweDQ0LCAweDM1LCAweDAwLCAweDY3LCAweDQ3LCAweDAwLCAweDY5LCAweDQ5LAorIDB4MDAsIDB4MDAsIDB4NTIsIDB4NzIsIDB4MDAsIDB4MDAsIDB4NDUsIDB4NjUsIDB4MDAsIDB4NzMsIDB4NTMsIDB4MDAsIDB4NjUsCisgMHg0NSwgMHgwMCwgMHg2RSwgMHg0RSwgMHgwMCwgMHg2MSwgMHg0MSwgMHgwMCwgMHg3MCwgMHg1MCwgMHgwMCwgMHg2MSwgMHg0MSwKKyAweDAwLCAweDZBLCAweDRBLCAweDAwLCAweDU0LCAweDc0LCAweDAwLCAweDZELCAweDRELCAweDAwLCAweDY2LCAweDQ2LCAweDAwLAorIDB4NjQsIDB4NDQsIDB4MDAsIDB4NkIsIDB4NEIsIDB4MDAsIDB4MDAsIDB4NDgsIDB4NjgsIDB4MDAsIDB4MDAsIDB4MDAsIDB4NTQsCisgMHg3NCwgMHg0QiwgMHg2QiwgMHg3MCwgMHg1MCwgMHgwMCwgMHg2MywgMHg0MywgMHgwMCwgMHg3NSwgMHg1NSwgMHgwMCwgMHgwMCwKKyAweDMyLCAweDAwLCAweDMxLCAweDAwLCAweDMzLCAweDAwLCAweDRCLCAweDZCLCAweDMyLCAweDAwLCAweDYyLCAweDQyLCAweDAwLAorIDB4MDAsIDB4NjEsIDB4NDEsIDB4MDAsIDB4NkUsIDB4NEUsIDB4MDAsIDB4NjEsIDB4NDEsIDB4MDAsIDB4NkIsIDB4NEIsIDB4MDAsCisgMHg2MSwgMHg0MSwgMHgwMCwgMHg3NCwgMHg1NCwgMHgwMCwgMHg2MSwgMHg0MSwgMHgwMCwgMHg2QiwgMHg0QiwgMHgwMCwgMHg2OCwKKyAweDQ4LCAweDAwLCAweDc0LCAweDU0LCAweDAwLCAweDY0LCAweDQ0LCAweDAwLCAweDY5LCAweDQ5LCAweDAwLCAweDc3LCAweDU3LAorIDB4MDAsIDB4NjYsIDB4NDYsIDB4MDAsIDB4NkMsIDB4NEMsIDB4MDAsIDB4MDAsIDB4MzgsIDB4MDAsIDB4NkUsIDB4NEUsIDB4MDAsCisgMHg2MSwgMHg0MSwgMHgwMCwgMHg2RCwgMHg0RCwgMHgwMCwgMHg0RiwgMHg2RiwgMHgwMCwgMHg3MiwgMHg1MiwgMHgwMCwgMHgwMCwKKyAweDUwLCAweDcwLCAweDYxLCAweDQxLCAweDAwLCAweDM5LCAweDAwLCAweDZELCAweDRELCAweDAwLCAweDAwLCAweDM3LCAweDAwLAorIDB4MzQsIDB4MzIsIDB4MDAsIDB4MzAsIDB4MDAsIDB4MDAsIDB4MzgsIDB4MzcsIDB4MzMsIDB4MDAsIDB4MzksIDB4MzgsIDB4MzcsCisgMHgzMiwgMHgzNywgMHgzNSwgMHgzMSwgMHgzOSwgMHgzNiwgMHgzNSwgMHgzMywgMHgzMSwgMHgzMCwgMHgzOCwgMHgzNCwgMHgwMCwKKyAweDAwLCAweDM5LCAweDM4LCAweDM3LCAweDM2LCAweDM1LCAweDM1LCAweDMzLCAweDAwLCAweDMxLCAweDMwLCAweDAwLCAweDAwLAorIDB4NjksIDB4NDksIDB4MDAsIDB4NjEsIDB4NDEsIDB4MDAsIDB4NjgsIDB4NDgsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisgMHgwMCwgMHgzNSwgMHgzMCwgMHg1NCwgMHg3NCwgMHgzMiwgMHgzMSwgMHgzOSwgMHgzOCwgMHgzNCwgMHgwMCwgMHgwMCwgMHg2RCwKKyAweDYyLCAweDRELCAweDQyLCAweDMwLCAweDAwLCAweDM4LCAweDAwLCAweDMyLCAweDAwLCAweDMxLCAweDAwLCAweDMzLCAweDAwLAorIDB4MzIsIDB4MDAsIDB4NjIsIDB4NDIsIDB4MDAsIDB4NjcsIDB4NDcsIDB4MDAsIDB4MzgsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisgMHgzNSwgMHgzMywgMHgwMCwgMHgzMSwgMHgwMCwgMHgzOSwgMHgwMCwgMHgzNSwgMHgwMCwgMHgzOCwgMHgwMCwgMHgwMCwgMHgwMCwKKyAweDAwLCAweDcyLCAweDUyLCAweDAwLCAweDAwLCAweDYzLCAweDQzLCAweDAwLCAweDY5LCAweDQ5LCAweDAwLCAweDZDLCAweDRDLAorIDB4MDAsIDB4NkMsIDB4NEMsIDB4MDAsIDB4NjksIDB4NDksIDB4MDAsIDB4NzIsIDB4NTIsIDB4MDAsIDB4NzksIDB4NTksIDB4MDAsCisgMHgwMCwgMHg0QiwgMHg2QiwgMHgwMCwgMHg2NSwgMHg0NSwgMHgwMCwgMHg2NSwgMHg0NSwgMHgwMCwgMHg3MiwgMHg1MiwgMHgwMCwKKyAweDAwLCAweDU3LCAweDc3LCAweDAwLCAweDY1LCAweDQ1LCAweDAwLCAweDcyLCAweDUyLCAweDAwLCAweDYyLCAweDQyLCAweDAwLAorIDB4NDUsIDB4NjUsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MzEsIDB4MzUsIDB4MzQsCisgMHgzMywgMHgzMiwgMHg2OCwgMHg2NywgMHg2MywgMHg2MSwgMHg0OCwgMHg0NywgMHg0MywgMHg0MSwgMHgwMCwgMHg2RSwgMHg0RSwKKyAweDAwLCAweDY5LCAweDQ5LCAweDAwLCAweDc0LCAweDU0LCAweDAwLCAweDYxLCAweDQxLCAweDAwLCAweDAwLCAweDAwLCAweDZDLAorIDB4NEMsIDB4MzgsIDB4MzUsIDB4MDAsIDB4NkYsIDB4NEYsIDB4MDAsIDB4MDAsIDB4NzMsIDB4NjIsIDB4NTMsIDB4NDIsIDB4MDAsCisgMHgwMCwgMHg3MiwgMHg1MiwgMHgwMCwgMHgzOCwgMHgwMCwgMHg2OSwgMHg0OSwgMHgwMCwgMHgwMCwgMHgzNywgMHgwMCwgMHgzOCwKKyAweDAwLCAweDM5LCAweDAwLCAweDMxLCAweDAwLCAweDMxLCAweDAwLCAweDMwLCAweDAwLCAweDM2LCAweDAwLCAweDM1LCAweDAwLAorIDB4NjMsIDB4NDMsIDB4MDAsIDB4MDAsIDB4NzMsIDB4NkYsIDB4NTMsIDB4NEYsIDB4NDMsIDB4NjMsIDB4MDAsIDB4NjksIDB4NDksCisgMHgwMCwgMHg3NCwgMHg1NCwgMHgwMCwgMHg2QywgMHg0QywgMHgwMCwgMHg2MSwgMHg0MSwgMHgwMCwgMHg2MiwgMHg0MiwgMHgwMCwKKyAweDM1LCAweDAwLCAweDM3LCAweDRDLCAweDZDLCAweDAwLCAweDYxLCAweDQxLCAweDAwLCAweDc1LCAweDU1LCAweDAwLCAweDY3LAorIDB4NDcsIDB4MDAsIDB4NkUsIDB4NEUsIDB4MDAsIDB4NjksIDB4NDksIDB4MDAsIDB4NkMsIDB4NEMsIDB4MDAsIDB4NjksIDB4NDksCisgMHgwMCwgMHg3NCwgMHg1NCwgMHgwMCwgMHg2QywgMHg0QywgMHgwMCwgMHg3NSwgMHg1NSwgMHgwMCwgMHg2RCwgMHg0RCwgMHgwMCwKKyAweDMwLCAweDU3LCAweDc3LCAweDAwLCAweDY1LCAweDQ1LCAweDAwLCAweDcyLCAweDUyLCAweDAwLCAweDYyLCAweDQyLCAweDAwLAorIDB4NjUsIDB4NDUsIDB4MDAsIDB4NjgsIDB4NDgsIDB4MDAsIDB4NkUsIDB4NEUsIDB4MDAsIDB4NjksIDB4NDksIDB4MDAsIDB4NzQsCisgMHg1NCwgMHgwMCwgMHg2MSwgMHg0MSwgMHgwMCwgMHg2QywgMHg0QywgMHgwMCwgMHgzMiwgMHgwMCwgMHgzNCwgMHgwMCwgMHg2NSwKKyAweDQ1LCAweDAwLCAweDY3LCAweDQ3LCAweDAwLCAweDYxLCAweDQxLCAweDAwLCAweDcwLCAweDUwLCAweDAwLCAweDY1LCAweDQ1LAorIDB4MDAsIDB4NjQsIDB4NDQsIDB4MDAsIDB4NkYsIDB4NEYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4NjMsIDB4NDMsIDB4MzYsIDB4MzUsCisgMHgzMiwgMHgwMCwgMHgzNSwgMHgwMCwgMHgzOCwgMHgwMCwgMHgwMCwgMHgwMCwgMHg3MCwgMHg1MCwgMHgzOCwgMHgzNywgMHgwMCwKKyAweDYzLCAweDQzLCAweDAwLCAweDAwLCAweDczLCAweDUzLCAweDAwLCAweDY5LCAweDQ5LCAweDAwLCAweDZBLCAweDRBLCAweDAwLAorIDB4NTQsIDB4NzQsIDB4MDAsIDB4NjYsIDB4NDYsIDB4MDAsIDB4NjksIDB4NDksIDB4MDAsIDB4NjgsIDB4NDgsIDB4MzAsIDB4MDAsCisgMHgzMiwgMHgwMCwgMHgzNiwgMHgwMCwgMHg1MywgMHg3MywgMHgwMCwgMHg2OSwgMHg0OSwgMHgwMCwgMHgwMCwgMHg0NSwgMHg2NSwKKyAweDAwLCAweDY0LCAweDQ0LCAweDAwLCAweDZGLCAweDRGLCAweDAwLCAweDYzLCAweDQzLCAweDAwLCAweDY5LCAweDQ5LCAweDAwLAorIDB4MDAsIDB4NjUsIDB4NDUsIDB4MDAsIDB4MDAsIDB4NjUsIDB4NDUsIDB4MDAsIDB4MDAsIDB4NEMsIDB4NkMsIDB4NDIsIDB4NjIsCisgMHgwMCwgMHgzNiwgMHgwMCwgMHgwMCwgMHg2NSwgMHg0NSwgMHgwMCwgMHgwMCwgMHg2NSwgMHg0NSwgMHgwMCwgMHgwMCwgMHg0QywKKyAweDZDLCAweDQyLCAweDYyLCAweDAwLCAweDMyLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDM4LCAweDMzLCAweDMxLCAweDAwLAorIDB4NjYsIDB4NDYsIDB4MDAsIDB4MDAsIDB4NzQsIDB4NkUsIDB4NTQsIDB4NEUsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKyAweDM4LCAweDM3LCAweDM2LCAweDM1LCAweDM0LCAweDMzLCAweDMyLCAweDMxLCAweDMwLCAweDAwLCAweDM1LCAweDAwLCAweDMyLAorIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MzIsIDB4MzEsIDB4MDAsIDB4NkUsIDB4NEUsIDB4MDAsIDB4NjksIDB4NDksIDB4MDAsCisgMHg3NCwgMHg1NCwgMHgwMCwgMHg2MSwgMHg0MSwgMHgwMCwgMHg2QywgMHg0QywgMHgwMCwgMHgzMSwgMHgwMCwgMHgwMCwgMHgzMSwKKyAweDMzLCAweDAwLCAweDczLCAweDUzLCAweDAwLCAweDc3LCAweDU3LCAweDAwLCAweDZGLCAweDRGLCAweDAwLCAweDY0LCAweDQ0LAorIDB4MDAsIDB4NkUsIDB4NEUsIDB4MDAsIDB4NjksIDB4NDksIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHg3NywgMHg3NSwgMHg3NCwgMHg3MywgMHg3MCwgMHg2QiwgMHg2OSwgMHg2OCwKKyAweDY3LCAweDY1LCAweDYyLCAweDYxLCAweDU3LCAweDU1LCAweDU0LCAweDUzLCAweDUwLCAweDRCLCAweDQ5LCAweDQ4LCAweDQ3LAorIDB4NDUsIDB4NDIsIDB4NDEsIDB4MDAsIDB4MDAsIDB4NDMsIDB4NjMsIDB4MDAsIDB4NjksIDB4NDksIDB4MDAsIDB4NkMsIDB4NEMsCisgMHgwMCwgMHg2QywgMHg0QywgMHgwMCwgMHg2OSwgMHg0OSwgMHgwMCwgMHg3MiwgMHg1MiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKyAweDAwLCAweDc5LCAweDczLCAweDcwLCAweDY4LCAweDYzLCAweDU5LCAweDUzLCAweDUwLCAweDQ4LCAweDQzLCAweDMxLCAweDMyLAorIDB4MDAsIDB4NzIsIDB4NTIsIDB4NDUsIDB4NjUsIDB4NDEsIDB4NjEsIDB4NDgsIDB4NjgsIDB4NEIsIDB4NkIsIDB4NTMsIDB4NzMsCisgMHg0OSwgMHg2OSwgMHg1MiwgMHg3MiwgMHg0MiwgMHg2MiwgMHg1MiwgMHg3MiwgMHg0NSwgMHg2NSwgMHg1NCwgMHg3NCwgMHg1MywKKyAweDczLCAweDRDLCAweDZDLCAweDRGLCAweDZGLCAweDQ1LCAweDY1LCAweDAwLCAweDYzLCAweDQzLCAweDAwLCAweDY1LCAweDQ1LAorIDB4MDAsIDB4NkYsIDB4NEYsIDB4NDUsIDB4NjUsIDB4NTIsIDB4NzIsIDB4NTMsIDB4NzMsIDB4NTQsIDB4NzQsIDB4NTUsIDB4NzUsCisgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKyAweDAwLCAweDAwLCAweDAwLCAweDc5LCAweDc3LCAweDc1LCAweDc0LCAweDczLCAweDcyLCAweDZFLCAweDY5LCAweDY4LCAweDY3LAorIDB4NjYsIDB4NjUsIDB4NjQsIDB4NjMsIDB4NjIsIDB4NjEsIDB4NTksIDB4NTcsIDB4NTUsIDB4NTQsIDB4NTMsIDB4NTIsIDB4NEUsCisgMHg0OSwgMHg0OCwgMHg0NywgMHg0NiwgMHg0NSwgMHg0NCwgMHg0MywgMHg0MiwgMHg0MSwgMHgwMCwgMHgyRCwgMHg0MywgMHg2MywKKyAweDAwLCAweDY5LCAweDQ5LCAweDAwLCAweDZDLCAweDRDLCAweDAwLCAweDZDLCAweDRDLCAweDAwLCAweDY5LCAweDQ5LCAweDAwLAorIDB4NzIsIDB4NTIsIDB4MDAsIDB4MDAsIDB4NzksIDB4NzAsIDB4NTksIDB4NTAsIDB4NEYsIDB4NkYsIDB4MDAsIDB4NzIsIDB4NTIsCisgMHgwMCwgMHg3NSwgMHg1NSwgMHgwMCwgMHg2NSwgMHg0NSwgMHgwMCwgMHgyQiwgMHgwMCwgMHgzMywgMHgwMCwgMHgzNywgMHgwMCwKKyAweDMyLCAweDAwLCAweDJELCAweDRGLCAweDZGLCAweDAwLCAweDcyLCAweDUyLCAweDAwLCAweDc1LCAweDU1LCAweDAwLCAweDY1LAorIDB4NDUsIDB4MDAsIDB4MkIsIDB4MDAsIDB4MzcsIDB4MDAsIDB4MzcsIDB4MDAsIDB4MzIsIDB4MDAsIDB4MkQsIDB4MDAsIDB4MDAsCisgMHg0QiwgMHg2QiwgMHg2NSwgMHg0NSwgMHg0RiwgMHg2RiwgMHgwMCwgMHg3MiwgMHg1MiwgMHgwMCwgMHg3NSwgMHg1NSwgMHgwMCwKKyAweDY1LCAweDQ1LCAweDAwLCAweDJCLCAweDAwLCAweDM0LCAweDAwLCAweDM4LCAweDAwLCAweDMyLCAweDAwLCAweDJELCAweDAwLAorIDB4NzMsIDB4NTMsIDB4NEYsIDB4NkYsIDB4MDAsIDB4NzIsIDB4NTIsIDB4MDAsIDB4NzUsIDB4NTUsIDB4MDAsIDB4NjUsIDB4NDUsCisgMHgwMCwgMHgyQiwgMHgwMCwgMHgzOCwgMHgwMCwgMHgzNywgMHgwMCwgMHgzMiwgMHgwMCwgMHgyRCwgMHg0RiwgMHg2RiwgMHgwMCwKKyAweDcyLCAweDUyLCAweDAwLCAweDc1LCAweDU1LCAweDAwLCAweDY1LCAweDQ1LCAweDAwLCAweDJCLCAweDAwLCAweDM3LCAweDAwLAorIDB4MzksIDB4MDAsIDB4MzIsIDB4MDAsIDB4MkQsIDB4MDAsIDB4MDAsIDB4NDksIDB4NjksIDB4NzIsIDB4NTIsIDB4NEYsIDB4NkYsCisgMHgwMCwgMHg3MiwgMHg1MiwgMHgwMCwgMHg3NSwgMHg1NSwgMHgwMCwgMHg2NSwgMHg0NSwgMHgwMCwgMHgyQiwgMHgwMCwgMHgzNSwKKyAweDAwLCAweDM4LCAweDAwLCAweDMyLCAweDAwLCAweDJELCAweDAwLCAweDYyLCAweDQyLCAweDRGLCAweDZGLCAweDAwLCAweDcyLAorIDB4NTIsIDB4MDAsIDB4NzUsIDB4NTUsIDB4MDAsIDB4NjUsIDB4NDUsIDB4MDAsIDB4MkIsIDB4MDAsIDB4MzAsIDB4MDAsIDB4MzAsCisgMHgwMCwgMHgzNSwgMHgwMCwgMHgyRCwgMHgwMCwgMHg2QywgMHg0QywgMHgwMCwgMHg2MSwgMHg0MSwgMHgwMCwgMHg2RSwgMHg0RSwKKyAweDAwLCAweDZGLCAweDRGLCAweDAwLCAweDY5LCAweDQ5LCAweDAwLCAweDc0LCAweDU0LCAweDAwLCAweDYxLCAweDQxLCAweDAwLAorIDB4NkUsIDB4NEUsIDB4MDAsIDB4NzIsIDB4NTIsIDB4MDAsIDB4NjUsIDB4NDUsIDB4MDAsIDB4NzQsIDB4NTQsIDB4NEYsIDB4NkYsCisgMHgwMCwgMHg3MiwgMHg1MiwgMHgwMCwgMHg3NSwgMHg1NSwgMHgwMCwgMHg2NSwgMHg0NSwgMHgwMCwgMHgyQiwgMHgwMCwgMHgzMSwKKyAweDAwLCAweDM3LCAweDAwLCAweDM4LCAweDAwLCAweDJELCAweDRGLCAweDZGLCAweDAwLCAweDcyLCAweDUyLCAweDAwLCAweDc1LAorIDB4NTUsIDB4MDAsIDB4NjUsIDB4NDUsIDB4MDAsIDB4MkIsIDB4MDAsIDB4MzAsIDB4MDAsIDB4MzgsIDB4MDAsIDB4MzIsIDB4MDAsCisgMHgyRCwgMHgwMCwgMHgwMCwgMHgwMCwgMHg3NCwgMHg3MywgMHg2RSwgMHg1NCwgMHg1MywgMHg0RSwgMHg0MSwgMHg2MSwgMHgwMCwKKyAweDZFLCAweDRFLCAweDAwLCAweDYxLCAweDQxLCAweDAwLCAweDZCLCAweDRCLCAweDAwLCAweDJELCAweDAwLCAweDcwLCAweDUwLAorIDB4NEYsIDB4NkYsIDB4MDAsIDB4NzIsIDB4NTIsIDB4MDAsIDB4NzUsIDB4NTUsIDB4MDAsIDB4NjUsIDB4NDUsIDB4MDAsIDB4MkQsCisgMHgwMCwgMHgyRCwgMHgwMCwgMHgzOSwgMHgwMCwgMHg2RSwgMHg0RSwgMHgwMCwgMHg2OSwgMHg0OSwgMHgwMCwgMHg3NCwgMHg1NCwKKyAweDAwLCAweDYxLCAweDQxLCAweDZGLCAweDRGLCAweDY1LCAweDQ1LCAweDRGLCAweDZGLCAweDAwLCAweDcyLCAweDUyLCAweDAwLAorIDB4NzUsIDB4NTUsIDB4MDAsIDB4NjUsIDB4NDUsIDB4MDAsIDB4MkIsIDB4MDAsIDB4MzcsIDB4MDAsIDB4MzMsIDB4MDAsIDB4MkQsCisgMHgwMCwgMHg3MywgMHg1MywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKyAweDAwLCAweDc1LCAweDczLCAweDZFLCAweDZDLCAweDZBLCAweDY5LCAweDY3LCAweDY2LCAweDY1LCAweDY0LCAweDYzLCAweDU1LAorIDB4NTMsIDB4NEUsIDB4NEMsIDB4NEEsIDB4NDksIDB4NDcsIDB4NDYsIDB4NDUsIDB4NDQsIDB4NDMsIDB4MDAsIDB4MDAsIDB4MkQsCisgMHgwMCwgMHg2MywgMHg0MywgMHgwMCwgMHg2OSwgMHg0OSwgMHgwMCwgMHg2NCwgMHg0NCwgMHgwMCwgMHg2MywgMHg0MywgMHgzNCwKKyAweDM4LCAweDAwLCAweDMxLCAweDAwLCAweDMxLCAweDAwLCAweDJELCAweDAwLCAweDYxLCAweDQxLCAweDAwLCAweDZELCAweDRELAorIDB4MzgsIDB4MDAsIDB4MzIsIDB4MDAsIDB4MzksIDB4MDAsIDB4NUYsIDB4MDAsIDB4NzQsIDB4NTQsIDB4MDAsIDB4NkYsIDB4NEYsCisgMHg0RSwgMHg2RSwgMHg1MCwgMHg3MCwgMHgzRSwgMHgwMCwgMHg2OCwgMHg0OCwgMHgwMCwgMHgwMCwgMHgwMCwgMHg3NCwgMHg2QiwKKyAweDZBLCAweDYzLCAweDU0LCAweDRCLCAweDRBLCAweDQzLCAweDAwLCAweDc0LCAweDU0LCAweDJELCAweDAwLCAweDYzLCAweDQzLAorIDB4NUYsIDB4MDAsIDB4NzIsIDB4NTIsIDB4MDAsIDB4NkYsIDB4NEYsIDB4MDAsIDB4NjYsIDB4NDYsIDB4MDAsIDB4NUYsIDB4MDAsCisgMHg3NCwgMHg1NCwgMHgwMCwgMHg2MSwgMHg0MSwgMHgwMCwgMHg2RCwgMHg0RCwgMHgwMCwgMHg3MiwgMHg1MiwgMHgwMCwgMHg2RiwKKyAweDRGLCAweDAwLCAweDY2LCAweDQ2LCAweDAwLCAweDVGLCAweDAwLCAweDY0LCAweDQ0LCAweDAwLCAweDY1LCAweDQ1LCAweDAwLAorIDB4NkIsIDB4NEIsIDB4MDAsIDB4NjMsIDB4NDMsIDB4MDAsIDB4NjEsIDB4NDEsIDB4MDAsIDB4NzAsIDB4NTAsIDB4MDAsIDB4NUYsCisgMHgwMCwgMHg2NSwgMHg0NSwgMHgwMCwgMHg2NCwgMHg0NCwgMHgwMCwgMHg2RiwgMHg0RiwgMHgwMCwgMHg2MywgMHg0MywgMHgwMCwKKyAweDVGLCAweDAwLCAweDc4LCAweDU4LCAweDAwLCAweDY5LCAweDQ5LCAweDAwLCAweDZFLCAweDRFLCAweDAwLCAweDc1LCAweDU1LAorIDB4MDAsIDB4NUYsIDB4MDAsIDB4NjQsIDB4NDQsIDB4MDAsIDB4NjUsIDB4NDUsIDB4MDAsIDB4NjQsIDB4NDQsIDB4MDAsIDB4NkUsCisgMHg0RSwgMHgwMCwgMHg2NSwgMHg0NSwgMHgwMCwgMHg3NCwgMHg1NCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHg3OCwKKyAweDc1LCAweDZDLCAweDYzLCAweDYyLCAweDU4LCAweDU1LCAweDRDLCAweDQzLCAweDQyLCAweDJELCAweDAwLCAweDMyLCAweDAwLAorIDB4MzEsIDB4MDAsIDB4MzMsIDB4MDAsIDB4MzIsIDB4MDAsIDB4NEIsIDB4NkIsIDB4NUYsIDB4MzIsIDB4MDAsIDB4MzgsIDB4MDAsCisgMHg2QiwgMHg0QiwgMHgwMCwgMHg2NSwgMHg0NSwgMHgwMCwgMHg2NSwgMHg0NSwgMHgwMCwgMHgwMCwgMHg3MiwgMHg2MiwgMHg1MiwKKyAweDQyLCAweDJELCAweDAwLCAweDcwLCAweDY1LCAweDUwLCAweDQ1LCAweDMwLCAweDMzLCAweDM0LCAweDM4LCAweDM5LCAweDAwLAorIDB4MDAsIDB4MDAsIDB4MzksIDB4MzYsIDB4MzEsIDB4MzAsIDB4MDAsIDB4MzMsIDB4MzEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisgMHgzOCwgMHgzMiwgMHgzNywgMHgzNSwgMHgzMSwgMHgzMCwgMHgzOSwgMHgzNSwgMHgzNCwgMHgzMiwgMHgzMSwgMHgzMSwgMHgzMCwKKyAweDMzLCAweDM2LCAweDM4LCAweDM1LCAweDM0LCAweDMwLCAweDM4LCAweDM3LCAweDM1LCAweDM5LCAweDMzLCAweDM3LCAweDM2LAorIDB4MzUsIDB4MzksIDB4MzgsIDB4MzAsIDB4MzMsIDB4MzIsIDB4MzEsIDB4MzQsIDB4MzQsIDB4MzIsIDB4MzAsIDB4MzMsIDB4MzEsCisgMHgzNiwgMHgzNSwgMHgzNywgMHgzOCwgMHgzOSwgMHgzMCwgMHgzMywgMHgzMSwgMHgzMiwgMHgzNiwgMHgzOSwgMHgzNywgMHgzNCwKKyAweDMwLCAweDM5LCAweDM4LCAweDM3LCAweDM2LCAweDM1LCAweDM0LCAweDMzLCAweDMyLCAweDMxLCAweDAwLCAweDAwLCAweDAwLAorIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MzksIDB4MzgsIDB4MzYsIDB4MzUsIDB4MzQsIDB4MzMsIDB4MzIsCisgMHgzMSwgMHgzMCwgMHgzMSwgMHgzMCwgMHgzMiwgMHgwMCwgMHgzMCwgMHgzOSwgMHgzOCwgMHgzNywgMHgzNiwgMHgzNSwgMHgzNCwKKyAweDMzLCAweDMyLCAweDMxLCAweDMwLCAweDAwLCAweDM1LCAweDAwLCAweDAwLCAweDAwLCAweDMyLCAweDMxLCAweDMwLCAweDAwLAorIDB4MzgsIDB4MzYsIDB4MDAsIDB4MzcsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MzksIDB4MzQsIDB4MzcsIDB4MzYsIDB4MzgsCisgMHgzNSwgMHgzMywgMHgzMiwgMHgzMSwgMHgwMCwgMHgyRCwgMHgwMCwgMHg2MSwgMHg0MSwgMHgwMCwgMHg2RSwgMHg0RSwgMHgwMCwKKyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDM5LCAweDM4LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAorIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisgMHgzOSwgMHgzOCwgMHgzNywgMHgzNiwgMHgzNSwgMHgzNCwgMHgzMywgMHgzMiwgMHgzMSwgMHgzMCwgMHgwMCwgMHgwMCwgMHgwMCwKKyAweDAwLCAweDM2LCAweDM3LCAweDM1LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAorIDB4MDAsIDB4MzcsIDB4MzYsIDB4MzMsIDB4MzIsIDB4MzEsIDB4MzAsIDB4MzEsIDB4MDAsIDB4MDAsIDB4MzksIDB4MzgsIDB4MDAsCisgMHgwMCwgMHgwMCwgMHgwMCwgMHgzOCwgMHgzNywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgzOSwKKyAweDM4LCAweDM1LCAweDM0LCAweDMyLCAweDMxLCAweDMwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDM1LAorIDB4MzQsIDB4MzIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MzksIDB4MzMsIDB4MzIsIDB4MDAsIDB4MDAsCisgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgzNywgMHgzMywgMHgzMiwgMHgzMCwgMHgwMCwgMHgwMCwgMHgwMCwKKyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDM4LCAweDM3LCAweDM2LCAweDM1LAorIDB4MzQsIDB4MzMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MzQsIDB4MzAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisgMHgzNCwgMHgzNiwgMHgzNSwgMHgzMywgMHgzMiwgMHgzMSwgMHgzMSwgMHgzMywgMHgzOCwgMHgzMywgMHgzNSwgMHgwMCwgMHgwMCwKKyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDMwLAorIDB4MzIsIDB4MzgsIDB4MzcsIDB4MzYsIDB4MzUsIDB4MzQsIDB4MzMsIDB4MzEsIDB4MDAsIDB4MDAsIDB4MzgsIDB4MDAsIDB4MDAsCisgMHgwMCwgMHgzNiwgMHgzNSwgMHgzMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgzMywKKyAweDMyLCAweDMxLCAweDMwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDM4LCAweDM3LCAweDM1LCAweDMzLCAweDMwLAorIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MzQsIDB4MzEsIDB4MDAsIDB4MzIsIDB4MzgsIDB4MDAsIDB4MzgsIDB4MDAsIDB4MDAsCisgMHgzMywgMHgzNCwgMHgwMCwgMHgwMCwgMHgzNSwgMHgzMywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgzNiwKKyAweDM4LCAweDMzLCAweDMxLCAweDMwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDM5LCAweDMyLCAweDAwLCAweDAwLCAweDAwLAorIDB4MDAsIDB4MDAsIDB4MDAsIDB4MzksIDB4MzgsIDB4MzcsIDB4MzYsIDB4MzQsIDB4MzEsIDB4MDAsIDB4MDAsIDB4MzQsIDB4MDAsCisgMHgzNSwgMHgwMCwgMHgzMywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgzNywgMHgzMywgMHgzMiwgMHgzMSwgMHgzMCwKKyAweDAwLCAweDAwLCAweDM2LCAweDAwLCAweDM0LCAweDAwLCAweDAwLCAweDAwLCAweDM2LCAweDM1LCAweDAwLCAweDAwLCAweDM5LAorIDB4MDAsIDB4MzAsIDB4MDAsIDB4MzUsIDB4MzQsIDB4MzAsIDB4MzcsIDB4MDAsIDB4MDAsIDB4MzksIDB4MzcsIDB4MzgsIDB4MzUsCisgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgzMSwgMHgzMCwgMHgzMiwgMHgwMCwgMHgzMiwgMHgwMCwgMHgzNywgMHgwMCwgMHgwMCwKKyAweDM3LCAweDM2LCAweDMzLCAweDMwLCAweDAwLCAweDAwLCAweDM2LCAweDAwLCAweDM3LCAweDM5LCAweDAwLCAweDAwLCAweDM4LAorIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MzMsIDB4MzIsIDB4MzEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisgMHgzNSwgMHgzMCwgMHgwMCwgMHgwMCwgMHgzMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgzNywgMHgzNiwgMHgzNSwgMHgzNCwKKyAweDAwLCAweDAwLCAweDMyLCAweDM5LCAweDMzLCAweDAwLCAweDAwLCAweDM2LCAweDAwLCAweDAwLCAweDM1LCAweDAwLCAweDAwLAorIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MzUsIDB4MzQsIDB4MzMsIDB4MzIsIDB4MzAsCisgMHgwMCwgMHgwMCwgMHgwMCwgMHgzMCwgMHgzNSwgMHgzMywgMHgzMiwgMHgwMCwgMHgwMCwgMHgzMywgMHgwMCwgMHgzMiwgMHgzOSwKKyAweDM4LCAweDM3LCAweDM2LCAweDM0LCAweDMwLCAweDAwLCAweDAwLCAweDM1LCAweDM0LCAweDM4LCAweDAwLCAweDM3LCAweDAwLAorIDB4MDAsIDB4MzUsIDB4MDAsIDB4MzQsIDB4MDAsIDB4MzMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MzcsIDB4MzQsCisgMHgzMywgMHgzMSwgMHgzMCwgMHgwMCwgMHgwMCwgMHgzMiwgMHgwMCwgMHgzNSwgMHgwMCwgMHgzOSwgMHgwMCwgMHgwMCwgMHgzMSwKKyAweDAwLCAweDAwLCAweDM0LCAweDAwLCAweDAwLCAweDM1LCAweDAwLCAweDAwLCAweDM1LCAweDAwLCAweDAwLCAweDAwLCAweDAwLAorIDB4MzQsIDB4MzMsIDB4MzIsIDB4MzEsIDB4MDAsIDB4MzIsIDB4MDAsIDB4MDAsIDB4MzIsIDB4MzEsIDB4MDAsIDB4MDAsIDB4MzAsCisgMHgwMCwgMHgwMCwgMHgzNywgMHgwMCwgMHgwMCwgMHgzNywgMHgzMywgMHgzMiwgMHgzOSwgMHgzMywgMHgwMCwgMHgwMCwgMHgwMCwKKyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDM4LCAweDM3LCAweDM2LCAweDM1LCAweDMzLCAweDM3LCAweDM1LCAweDMyLAorIDB4MzEsIDB4MzAsIDB4MzgsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MzIsIDB4MDAsIDB4MzksIDB4MzYsIDB4MzUsIDB4MzMsIDB4MzIsCisgMHgzMCwgMHgzOCwgMHgzNCwgMHgzMSwgMHgwMCwgMHgwMCwgMHgzMSwgMHgzMCwgMHgzNCwgMHgzOCwgMHgzNSwgMHgwMCwgMHgwMCwKKyAweDMxLCAweDM3LCAweDM2LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDM4LCAweDM5LCAweDM3LCAweDM2LAorIDB4MzUsIDB4MzMsIDB4MzEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MzAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MzYsIDB4MDAsIDB4MDAsCisgMHgzNiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgzNCwgMHgzNiwgMHgzNSwgMHgzMywgMHgzOCwgMHgzNiwgMHgzNCwgMHgzMywgMHgzMiwKKyAweDM1LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDM0LCAweDMzLCAweDMxLCAweDMwLAorIDB4MzgsIDB4MzcsIDB4MzYsIDB4MzIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgzOSwgMHgzOCwgMHgzNywgMHgzNiwKKyAweDM1LCAweDM0LCAweDMzLCAweDMyLCAweDMwLCAweDAwLCAweDM5LCAweDM4LCAweDM3LCAweDAwLCAweDAwLCAweDAwLCAweDAwLAorIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MzMsIDB4MzksIDB4MzcsIDB4MzYsIDB4MzQsIDB4MzIsIDB4MDAsIDB4MDAsCisgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgzOSwgMHgzOCwgMHgzNywKKyAweDM2LCAweDMxLCAweDMwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDM1LCAweDM0LCAweDMwLCAweDAwLCAweDAwLCAweDAwLAorIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MzcsIDB4MzYsIDB4MzUsIDB4MzQsIDB4MzMsIDB4MzIsIDB4MzEsIDB4MzAsCisgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHg3NCwgMHg1NCwgMHgzOSwKKyAweDM4LCAweDM3LCAweDM2LCAweDM1LCAweDM0LCAweDMzLCAweDMyLCAweDMxLCAweDMwLCAweDMxLCAweDMwLCAweDMwLCAweDM3LAorIDB4MDAsIDB4MDAsIDB4MzMsIDB4MzAsIDB4MzYsIDB4MzgsIDB4MzcsIDB4MzMsIDB4MzUsIDB4MzQsIDB4MzAsIDB4MzcsIDB4MzAsCisgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgzOSwgMHgzOCwgMHgzNywgMHgzNSwgMHgzMCwgMHgzMSwgMHgzNywgMHgwMCwgMHgwMCwKKyAweDM2LCAweDMwLCAweDM0LCAweDMzLCAweDMwLCAweDM3LCAweDAwLCAweDAwLCAweDMzLCAweDMyLCAweDMwLCAweDAwLCAweDMwLAorIDB4MzAsIDB4MzcsIDB4MzUsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MzcsIDB4MzMsIDB4MzIsIDB4MzksIDB4MzMsIDB4MzgsIDB4MzMsCisgMHgzNSwgMHgzNiwgMHgzNywgMHgzNywgMHgzNSwgMHgzMiwgMHgzMSwgMHgzMCwgMHgzOCwgMHgzOSwgMHgzNiwgMHgzNSwgMHgzMywKKyAweDMyLCAweDMxLCAweDMwLCAweDM4LCAweDM0LCAweDM0LCAweDM4LCAweDMxLCAweDMwLCAweDM1LCAweDMwLCAweDM3LCAweDMxLAorIDB4MzYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MzksIDB4MzgsIDB4MzcsIDB4MzYsIDB4MzUsCisgMHgzMywgMHgzMSwgMHgzNCwgMHgzNSwgMHgzMywgMHgzNSwgMHgzNCwgMHgzMywgMHgzMiwgMHgzNiwgMHgzOCwgMHgzMCwgMHgzMywKKyAweDMxLCAweDM0LCAweDMyLCAweDM2LCAweDM3LCAweDM4LCAweDMwLCAweDMyLCAweDMzLCAweDM0LCAweDM1LCAweDM2LCAweDM3LAorIDB4MzgsIDB4MzksIDB4MzMsIDB4MzIsIDB4MzQsIDB4MzYsIDB4MzcsIDB4MzksIDB4MzAsIDB4MzEsIDB4MzYsIDB4MzcsIDB4MzgsCisgMHgzOSwgMHgzNCwgMHgzNSwgMHgzMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgzNywKKyAweDM2LCAweDM1LCAweDM0LCAweDMzLCAweDMyLCAweDMxLCAweDMwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAorIDB4MDAsIDB4MDAsIDB4MzksIDB4MzgsIDB4MzcsIDB4MzUsIDB4MzQsIDB4MzMsIDB4MzIsIDB4MzAsIDB4MzgsIDB4MzksIDB4MzAsCisgMHgzMSwgMHgzMiwgMHgzMywgMHgzNCwgMHgzNSwgMHgzNiwgMHgzNywgMHgzOCwgMHgzOSwgMHgzNiwgMHgzNSwgMHgzNywgMHgzNywKKyAweDMwLCAweDMxLCAweDMyLCAweDMzLCAweDM2LCAweDMxLCAweDM5LCAweDM4LCAweDM3LCAweDM4LCAweDAwLCAweDAwLCAweDAwLAorIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MzksIDB4MzgsIDB4MzUsIDB4MzQsIDB4MzIsIDB4MzEsIDB4MzAsIDB4MzIsIDB4MzQsCisgMHgzNSwgMHgzMiwgMHgzMywgMHgzOSwgMHgzMCwgMHgzMiwgMHgzMywgMHgzNywgMHgzOSwgMHgzOCwgMHgzNywgMHgzNiwgMHgzNSwKKyAweDM0LCAweDMzLCAweDMyLCAweDMxLCAweDMwLCAweDMzLCAweDM0LCAweDM1LCAweDM2LCAweDM3LCAweDM4LCAweDMwLCAweDM0LAorIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MzYsIDB4MzUsIDB4MzQsIDB4MzMsIDB4MzIsIDB4MzEsIDB4MzgsCisgMHgzMywgMHgzMSwgMHgzNSwgMHgzMywgMHgzMCwgMHgzMiwgMHgzMSwgMHgzMywgMHgzNCwgMHgzNSwgMHgzNiwgMHgzNywgMHgzOCwKKyAweDM2LCAweDM1LCAweDMwLCAweDMxLCAweDMyLCAweDMzLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDM4LCAweDM3LAorIDB4MzUsIDB4MzMsIDB4MzAsIDB4MzMsIDB4MzQsIDB4MzUsIDB4MzMsIDB4MzYsIDB4MzMsIDB4MzAsIDB4MzEsIDB4MzgsIDB4MzIsCisgMHgzOSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgzOSwgMHgzOCwgMHgzNywgMHgzNiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKyAweDMzLCAweDMyLCAweDMxLCAweDMwLCAweDM2LCAweDAwLCAweDM5LCAweDM4LCAweDMxLCAweDMyLCAweDMzLCAweDMwLCAweDM1LAorIDB4MzEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MzcsIDB4MzYsIDB4MzUsIDB4MzQsIDB4MDAsIDB4MDAsIDB4MzksIDB4MzMsCisgMHgzNiwgMHgzNSwgMHgzMCwgMHgzMiwgMHgzMywgMHgzNCwgMHgzNSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgzNSwgMHgzMywgMHgzMiwKKyAweDMzLCAweDAwLCAweDMyLCAweDM5LCAweDM4LCAweDM3LCAweDM2LCAweDM0LCAweDMwLCAweDAwLCAweDAwLCAweDM1LCAweDM0LAorIDB4MzgsIDB4MDAsIDB4MzcsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MzQsIDB4MzMsIDB4MzEsIDB4MzAsIDB4MzIsIDB4MDAsCisgMHgzMSwgMHgwMCwgMHgzNiwgMHgzMCwgMHgzNiwgMHgzNiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgzNiwgMHgzNSwgMHgzMywgMHgzOSwKKyAweDM4LCAweDM3LCAweDAwLCAweDM0LCAweDAwLCAweDAwLCAweDM0LCAweDMwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAorIDB4MDAsIDB4MzksIDB4MzgsIDB4MzUsIDB4MzQsIDB4MzEsIDB4MzAsIDB4MzgsIDB4MDAsIDB4MzAsIDB4MDAsIDB4MzcsIDB4MzEsCisgMHgzNCwgMHgwMCwgMHgzMiwgMHgzOCwgMHgwMCwgMHgzOCwgMHgwMCwgMHgwMCwgMHgzNCwgMHgzMSwgMHgzNCwgMHgwMCwgMHgzNSwKKyAweDAwLCAweDMzLCAweDAwLCAweDAwLCAweDAwLCAweDM3LCAweDMzLCAweDMyLCAweDM2LCAweDAwLCAweDM0LCAweDAwLCAweDM1LAorIDB4MzksIDB4MDAsIDB4MzAsIDB4MDAsIDB4MzcsIDB4MDAsIDB4MDAsIDB4MzgsIDB4MzUsIDB4MzIsIDB4MDAsIDB4MzIsIDB4MDAsCisgMHgzNywgMHgwMCwgMHgzMywgMHgzNSwgMHgwMCwgMHgzNCwgMHgwMCwgMHgzMywgMHgwMCwgMHgzNywgMHgzMiwgMHgwMCwgMHgzNSwKKyAweDAwLCAweDM5LCAweDMxLCAweDM0LCAweDM1LCAweDM1LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDM0LCAweDMzLCAweDMyLAorIDB4MzEsIDB4MDAsIDB4MzIsIDB4MDAsIDB4MDAsIDB4MzIsIDB4MzEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisgMHgzNiwgMHgzNSwgMHgzMywgMHgzMiwgMHgzMSwgMHgzMCwgMHgwMCwgMHg2NCwgMHg0NCwgMHgwMCwgMHg2OSwgMHg0OSwgMHgwMCwKKyAweDczLCAweDUzLCAweDAwLCAweDYzLCAweDQzLCAweDAwLCAweDAwLCAweDAwLCAweDYzLCAweDQzLCAweDM5LCAweDM4LCAweDM3LAorIDB4MzUsIDB4MzQsIDB4MzMsIDB4MzIsIDB4MzEsIDB4MzAsIDB4MkQsIDB4MDAsIDB4NkQsIDB4NEQsIDB4MzIsIDB4MDAsIDB4MkQsCisgMHgwMCwgMHg3MywgMHg1MywgMHgwMCwgMHg2MywgMHg0MywgMHgwMCwgMHg3NSwgMHg1NSwgMHgwMCwgMHgyRCwgMHgwMCwgMHgzNiwKKyAweDAwLCAweDM0LCAweDAwLCAweDM2LCAweDAwLCAweDMwLCAweDMxLCAweDAwLCAweDJELCAweDAwLCAweDZFLCAweDRFLCAweDAwLAorIDB4NjksIDB4NDksIDB4MDAsIDB4NzQsIDB4NTQsIDB4MDAsIDB4NjEsIDB4NDEsIDB4MDAsIDB4NkMsIDB4NEMsIDB4MDAsIDB4MkQsCisgMHgwMCwgMHgzMSwgMHgwMCwgMHgyRSwgMHgwMCwgMHgzMywgMHgwMCwgMHgyRCwgMHgwMCwgMHg3MywgMHg1MywgMHgwMCwgMHg3NywKKyAweDU3LCAweDAwLCAweDZGLCAweDRGLCAweDAwLCAweDY0LCAweDQ0LCAweDAwLCAweDZFLCAweDRFLCAweDAwLCAweDY5LCAweDQ5LAorIDB4MDAsIDB4NzcsIDB4NTcsIDB4MDAsIDB4MDAsIDB4MzUsIDB4MzMsIDB4MkQsIDB4MzIsIDB4MDAsIDB4MkQsIDB4MDAsIDB4NkUsCisgMHg0RSwgMHgwMCwgMHg2OSwgMHg0OSwgMHgwMCwgMHg3NCwgMHg1NCwgMHgwMCwgMHg2MSwgMHg0MSwgMHgwMCwgMHg2QywgMHg0QywKKyAweDAwLCAweDJELCAweDAwLCAweDczLCAweDUzLCAweDAwLCAweDc3LCAweDU3LCAweDAwLCAweDZGLCAweDRGLCAweDAwLCAweDY0LAorIDB4NDQsIDB4MDAsIDB4NkUsIDB4NEUsIDB4MDAsIDB4NjksIDB4NDksIDB4MDAsIDB4NzcsIDB4NTcsIDB4MDAsIDB4MDAsIDB4MkQsCisgMHgwMCwgMHgwMCwgMHgzNiwgMHgzNywgMHgzOCwgMHgzOSwgMHgzNCwgMHgzMywgMHgzNSwgMHgzMiwgMHgzMSwgMHgwMCwgMHgyRCwKKyAweDAwLCAweDM5LCAweDAwLCAweDM1LCAweDAwLCAweDM4LCAweDMwLCAweDM5LCAweDMxLCAweDMwLCAweDM3LCAweDM2LCAweDM4LAorIDB4MzgsIDB4MzksIDB4MzQsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MzMsIDB4MzQsIDB4MzIsIDB4MzEsIDB4MzAsCisgMHgwMCwgMHgzNiwgMHgzNSwgMHgzMSwgMHgwMCwgMHgyRCwgMHgwMCwgMHg3MiwgMHg1MiwgMHgwMCwgMHgwMCwgMHgwMCwgMHg2OSwKKyAweDQ5LCAweDM4LCAweDMxLCAweDUzLCAweDczLCAweDAwLCAweDc1LCAweDU1LCAweDAwLCAweDJELCAweDAwLCAweDM2LCAweDAwLAorIDB4MzQsIDB4MzEsIDB4MDAsIDB4MzksIDB4MDAsIDB4MzksIDB4MDAsIDB4MzEsIDB4MDAsIDB4M0EsIDB4MDAsIDB4NzYsIDB4NTYsCisgMHgwMCwgMHg3MiwgMHg1MiwgMHgwMCwgMHg2OSwgMHg0OSwgMHgwMCwgMHgyRSwgMHgwMCwgMHgzNiwgMHgwMCwgMHgzNCwgMHgzNywKKyAweDAwLCAweDM4LCAweDAwLCAweDM5LCAweDAwLCAweDMxLCAweDAwLCAweDAwLCAweDM1LCAweDNBLCAweDM3LCAweDAwLCAweDM4LAorIDB4MDAsIDB4MzksIDB4MDAsIDB4MzEsIDB4MDAsIDB4MDAsIDB4M0EsIDB4MzgsIDB4MDAsIDB4MzgsIDB4MDAsIDB4MzksIDB4MDAsCisgMHgzMSwgMHgwMCwgMHgwMCwgMHgzQSwgMHgzOCwgMHgwMCwgMHgzOCwgMHgwMCwgMHgzOSwgMHgwMCwgMHgzMSwgMHgwMCwgMHgwMCwKKyAweDNBLCAweDM4LCAweDAwLCAweDM4LCAweDAwLCAweDM5LCAweDAwLCAweDMxLCAweDAwLCAweDAwLCAweDNBLCAweDM3LCAweDAwLAorIDB4MzgsIDB4MDAsIDB4MzksIDB4MDAsIDB4MzEsIDB4MDAsIDB4MDAsIDB4M0EsIDB4MzcsIDB4MDAsIDB4MzgsIDB4MDAsIDB4MzksCisgMHgwMCwgMHgzMSwgMHgwMCwgMHgwMCwgMHgzQSwgMHgzOCwgMHgwMCwgMHgzOSwgMHgwMCwgMHgzMSwgMHgwMCwgMHgwMCwgMHgzQSwKKyAweDM5LCAweDAwLCAweDM4LCAweDAwLCAweDM5LCAweDAwLCAweDMxLCAweDAwLCAweDAwLCAweDNBLCAweDAwLCAweDAwLCAweDAwLAorIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MzksIDB4MzgsIDB4MzcsIDB4MzYsIDB4MzUsIDB4MzQsIDB4MzMsCisgMHgzMiwgMHgzMSwgMHgwMCwgMHgyRCwgMHgwMCwgMHgzOSwgMHgwMCwgMHgzNSwgMHgwMCwgMHgzOCwgMHgwMCwgMHgwMCwgMHgzOCwKKyAweDM2LCAweDAwLCAweDAwLCAweDAwLCAweDVGLCAweDM2LCAweDJELCAweDAwLCAweDZGLCAweDRGLCAweDAwLCAweDAwLCAweDAwLAorIDB4NzMsIDB4NjIsIDB4NjEsIDB4NTMsIDB4NDIsIDB4NDEsIDB4MzEsIDB4MDAsIDB4MzAsIDB4MDAsIDB4MzIsIDB4MDAsIDB4MzAsCisgMHgwMCwgMHg1OCwgMHg3OCwgMHgwMCwgMHg1RiwgMHgwMCwgMHg3MywgMHg1MywgMHgwMCwgMHg2OSwgMHg0OSwgMHgyRCwgMHgwMCwKKyAweDM4LCAweDRFLCAweDZFLCAweDAwLCAweDYxLCAweDQxLCAweDAwLCAweDY1LCAweDQ1LCAweDAwLCAweDAwLCAweDcyLCAweDY5LAorIDB4NTIsIDB4NDksIDB4MzEsIDB4MDAsIDB4MzAsIDB4MDAsIDB4MzYsIDB4MDAsIDB4MzUsIDB4MDAsIDB4NUYsIDB4MzksIDB4MzcsCisgMHgwMCwgMHgzOCwgMHgwMCwgMHgzOSwgMHgwMCwgMHgzMSwgMHgwMCwgMHgyRCwgMHgwMCwgMHgzMSwgMHgwMCwgMHgzMCwgMHgwMCwKKyAweDM2LCAweDAwLCAweDM1LCAweDAwLCAweDVGLCAweDAwLCAweDYzLCAweDQzLCAweDAwLCAweDAwLCAweDYzLCAweDVGLCAweDQzLAorIDB4MDAsIDB4MDAsIDB4NzMsIDB4NkYsIDB4NTMsIDB4NEYsIDB4MzksIDB4MDAsIDB4MzEsIDB4MzUsIDB4MzQsIDB4MzMsIDB4MzIsCisgMHgyRCwgMHgwMCwgMHg2RSwgMHg0RSwgMHgwMCwgMHg2OSwgMHg0OSwgMHgwMCwgMHg3NCwgMHg1NCwgMHgwMCwgMHg2MSwgMHg0MSwKKyAweDM1LCAweDM0LCAweDMzLCAweDMyLCAweDMxLCAweDMzLCAweDQ5LCAweDY5LCAweDAwLCAweDZBLCAweDRBLCAweDAwLCAweDZFLAorIDB4NEUsIDB4MDAsIDB4NjEsIDB4NDEsIDB4MDAsIDB4NkIsIDB4NEIsIDB4MDAsIDB4MDAsIDB4MzksIDB4NUYsIDB4MDAsIDB4NzMsCisgMHg1MywgMHg2RiwgMHg0RiwgMHgwMCwgMHg3MiwgMHg1MiwgMHgwMCwgMHg3NSwgMHg1NSwgMHgwMCwgMHg2NSwgMHg0NSwgMHgwMCwKKyAweDJCLCAweDAwLCAweDMwLCAweDAwLCAweDM1LCAweDAwLCAweDM4LCAweDAwLCAweDJELCAweDAwLCAweDZDLCAweDRDLCAweDAwLAorIDB4NjEsIDB4NDEsIDB4MDAsIDB4NzUsIDB4NTUsIDB4MDAsIDB4NjcsIDB4NDcsIDB4MDAsIDB4NkUsIDB4NEUsIDB4MDAsIDB4NjksCisgMHg0OSwgMHgwMCwgMHg2QywgMHg0QywgMHgwMCwgMHg2OSwgMHg0OSwgMHgwMCwgMHg3NCwgMHg1NCwgMHgwMCwgMHg2QywgMHg0QywKKyAweDAwLCAweDc1LCAweDU1LCAweDAwLCAweDZELCAweDRELCAweDAwLCAweDJELCAweDAwLCAweDYzLCAweDQzLCAweDZGLCAweDRGLAorIDB4MzgsIDB4NUYsIDB4MDAsIDB4NzQsIDB4NTQsIDB4MDAsIDB4NjYsIDB4NDYsIDB4MDAsIDB4NjksIDB4NDksIDB4MDAsIDB4NjgsCisgMHg0OCwgMHgyRCwgMHgwMCwgMHg3MywgMHg1MywgMHgwMCwgMHg2OSwgMHg0OSwgMHgzMiwgMHgyRCwgMHgwMCwgMHg3MywgMHg1MywKKyAweDczLCAweDUzLCAweDAwLCAweDYxLCAweDQxLCAweDAwLCAweDAwLCAweDJELCAweDZDLCAweDYyLCAweDRDLCAweDQyLCAweDJELAorIDB4MDAsIDB4MzYsIDB4NkMsIDB4NjIsIDB4NEMsIDB4NDIsIDB4MkQsIDB4MDAsIDB4MzIsIDB4MDAsIDB4MDAsIDB4MzgsIDB4MzMsCisgMHgzMSwgMHgwMCwgMHgzOCwgMHgzMywgMHgzMSwgMHgyRCwgMHgwMCwgMHg2NiwgMHg0NiwgMHgwMCwgMHgwMCwgMHgwMCwgMHg3NCwKKyAweDczLCAweDYzLCAweDU0LCAweDUzLCAweDQzLCAweDM5LCAweDMxLCAweDAwLCAweDJELCAweDAwLCAweDczLCAweDUzLCAweDAwLAorIDB4NzcsIDB4NTcsIDB4MDAsIDB4NkYsIDB4NEYsIDB4MDAsIDB4NjQsIDB4NDQsIDB4MDAsIDB4NkUsIDB4NEUsIDB4MDAsIDB4NjksCisgMHg0OSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDM3LCAweDQyLCAweDI4LCAweDFCLCAweDMzLCAweDQyLCAweDI4LAorIDB4MzAsIDB4MzEsIDB4MzIsIDB4MzUsIDB4MzcsIDB4NDIsIDB4MjgsIDB4MzAsIDB4MzEsIDB4MzIsIDB4MzMsIDB4MzUsIDB4MzYsCisgMHgzOSwgMHg0MiwgMHgyOCwgMHgxQiwgMHgxQiwgMHgzNSwgMHgzNiwgMHg0MiwgMHgyOCwgMHgzNCwgMHg0MiwgMHgyOCwgMHgxQiwKKyAweDMwLCAweDQyLCAweDI4LCAweDQ3LCAweDY3LCAweDQyLCAweDI4LCAweDFCLCAweDZFLCAweDRFLCAweDQyLCAweDI4LCAweDFCLAorIDB4NjksIDB4NDksIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjQsIDB4NDQsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NkYsIDB4NEYsIDB4NDIsCisgMHgyOCwgMHgxQiwgMHg2MywgMHg0MywgMHg0MiwgMHgyOCwgMHgxQiwgMHg2RSwgMHg0RSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2NSwKKyAweDQ1LCAweDQyLCAweDI4LCAweDFCLCAweDJELCAweDQyLCAweDI4LCAweDFCLCAweDY0LCAweDQ0LCAweDQyLCAweDI4LCAweDFCLAorIDB4NzIsIDB4NTIsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjEsIDB4NDEsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjQsIDB4NDQsIDB4NDIsCisgMHgyOCwgMHgxQiwgMHg2RSwgMHg0RSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2MSwgMHg0MSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg3NCwKKyAweDU0LCAweDQyLCAweDI4LCAweDFCLCAweDczLCAweDUzLCAweDQyLCAweDI4LCAweDFCLCAweDJELCAweDQyLCAweDI4LCAweDFCLAorIDB4NjUsIDB4NDUsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjIsIDB4NDIsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NkYsIDB4NEYsIDB4NDIsCisgMHgyOCwgMHgzOCwgMHg0MiwgMHgyOCwgMHgzNiwgMHg0MiwgMHgyOCwgMHgxQiwgMHgxQiwgMHgzOCwgMHgzNiwgMHg0MiwgMHgyOCwKKyAweDFCLCAweDM5LCAweDQyLCAweDI4LCAweDFCLCAweDMxLCAweDQyLCAweDI4LCAweDFCLCAweDJELCAweDQyLCAweDI4LCAweDFCLAorIDB4MzQsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MkUsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzMsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NzgsCisgMHg1OCwgMHg0MiwgMHgyOCwgMHgxQiwgMHg1RiwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2OSwgMHg0OSwgMHg0MiwgMHgyOCwgMHgxQiwKKyAweDczLCAweDUzLCAweDQyLCAweDI4LCAweDQzLCAweDYzLCAweDQyLCAweDI4LCAweDFCLCAweDY5LCAweDQ5LCAweDQyLCAweDI4LAorIDB4MUIsIDB4NjIsIDB4NDIsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjEsIDB4NDEsIDB4NDIsIDB4MjgsIDB4NDksIDB4NjksIDB4NDIsCisgMHgyOCwgMHgxQiwgMHg2OSwgMHg0OSwgMHg0MiwgMHgyOCwgMHgzOCwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzMCwgMHg0MiwgMHgyOCwKKyAweDFCLCAweDM3LCAweDQyLCAweDI4LCAweDFCLCAweDJELCAweDQyLCAweDI4LCAweDFCLCAweDZGLCAweDRGLCAweDQyLCAweDI4LAorIDB4MUIsIDB4MUIsIDB4NDMsIDB4NjMsIDB4NkQsIDB4NEQsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4NTIsCisgMHg3MiwgMHg3MywgMHg2RSwgMHg2NCwgMHg1MywgMHg0RSwgMHg0NCwgMHg0MiwgMHgyOCwgMHg1MywgMHg3MywgMHg0MiwgMHgyOCwKKyAweDFCLCAweDYzLCAweDQzLCAweDQyLCAweDI4LCAweDFCLCAweDczLCAweDUzLCAweDQyLCAweDI4LCAweDFCLCAweDZCLCAweDRCLAorIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjgsIDB4NDgsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MkQsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzUsCisgMHg0MiwgMHgyOCwgMHgxQiwgMHg2NywgMHg0NywgMHg0MiwgMHgyOCwgMHgxQiwgMHg2OSwgMHg0OSwgMHg0MiwgMHgyOCwgMHgzOCwKKyAweDQyLCAweDI4LCAweDFCLCAweDM1LCAweDQyLCAweDI4LCAweDM0LCAweDQyLCAweDI4LCAweDFCLCAweDMyLCAweDQyLCAweDI4LAorIDB4MUIsIDB4MUIsIDB4MzksIDB4MzgsIDB4NDIsIDB4MjgsIDB4MzAsIDB4MzEsIDB4MzIsIDB4MzMsIDB4MzQsIDB4MzUsIDB4MzYsCisgMHgzNywgMHgzOCwgMHgzOSwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzNCwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzMSwgMHg0MiwgMHgyOCwKKyAweDFCLCAweDFCLCAweDMxLCAweDMwLCAweDQyLCAweDI4LCAweDFCLCAweDMwLCAweDQyLCAweDI4LCAweDFCLCAweDY0LCAweDQ0LAorIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjksIDB4NDksIDB4NDIsIDB4MjgsIDB4MUIsIDB4NzMsIDB4NTMsIDB4NDIsIDB4MjgsIDB4NDUsCisgMHg2NSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg3MywgMHg1MywgMHg0MiwgMHgyOCwgMHgxQiwgMHg2NSwgMHg0NSwgMHg0MiwgMHgyOCwKKyAweDFCLCAweDZFLCAweDRFLCAweDQyLCAweDI4LCAweDFCLCAweDY5LCAweDQ5LCAweDQyLCAweDI4LCAweDUyLCAweDcyLCAweDQyLAorIDB4MjgsIDB4NTIsIDB4NzIsIDB4NDIsIDB4MjgsIDB4NTMsIDB4NzMsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MUIsIDB4NjksCisgMHg2NywgMHg2MSwgMHg0OSwgMHg0NywgMHg0MSwgMHg0MiwgMHgyOCwgMHgzNywgMHg0MiwgMHgyOCwgMHgxQiwgMHgzMywgMHgzMSwKKyAweDMwLCAweDQyLCAweDI4LCAweDM2LCAweDQyLCAweDI4LCAweDFCLCAweDMyLCAweDQyLCAweDI4LCAweDFCLCAweDMwLCAweDQyLAorIDB4MjgsIDB4MzMsIDB4MzgsIDB4NDIsIDB4MjgsIDB4MzAsIDB4MzQsIDB4MzUsIDB4NDIsIDB4MjgsIDB4MzAsIDB4MzcsIDB4NDIsCisgMHgyOCwgMHgxQiwgMHgxQiwgMHgxQiwgMHgzOSwgMHgzOCwgMHgzNywgMHg0MiwgMHgyOCwgMHgzNywgMHg0MiwgMHgyOCwgMHgxQiwKKyAweDM2LCAweDQyLCAweDI4LCAweDMwLCAweDMzLCAweDM0LCAweDQyLCAweDI4LCAweDFCLCAweDMzLCAweDMyLCAweDQyLCAweDI4LAorIDB4MzAsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzAsIDB4NDIsIDB4MjgsIDB4MzUsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzcsIDB4NDIsCisgMHgyOCwgMHgzOSwgMHg0MiwgMHgyOCwgMHgzMCwgMHgzMSwgMHgzMiwgMHgzMywgMHgzNSwgMHgzNiwgMHgzOSwgMHgzOCwgMHgzNCwKKyAweDQyLCAweDI4LCAweDMwLCAweDMxLCAweDQyLCAweDI4LCAweDMwLCAweDQyLCAweDI4LCAweDMxLCAweDQyLCAweDI4LCAweDFCLAorIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MzksIDB4MzgsIDB4MzcsIDB4MzYsIDB4MzUsIDB4MzEsIDB4NDIsIDB4MjgsIDB4MzQsCisgMHgzMywgMHgzNSwgMHg0MiwgMHgyOCwgMHgzOCwgMHg0MiwgMHgyOCwgMHgzNiwgMHg0MiwgMHgyOCwgMHgxQiwgMHgxQiwgMHgxQiwKKyAweDMzLCAweDMxLCAweDMwLCAweDQyLCAweDI4LCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLAorIDB4MUIsIDB4MUIsIDB4MzgsIDB4MzcsIDB4MzUsIDB4MzQsIDB4MzMsIDB4MzAsIDB4MzksIDB4MzIsIDB4MzEsIDB4MkQsIDB4NDIsCisgMHgyOCwgMHg2NCwgMHg0NCwgMHg0MiwgMHgyOCwgMHgxQiwgMHg3MiwgMHg1MiwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2MSwgMHg0MSwKKyAweDQyLCAweDI4LCAweDFCLCAweDY0LCAweDQ0LCAweDQyLCAweDI4LCAweDFCLCAweDZFLCAweDRFLCAweDQyLCAweDI4LCAweDFCLAorIDB4NjEsIDB4NDEsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NzQsIDB4NTQsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NzMsIDB4NTMsIDB4NDIsCisgMHgyOCwgMHgxQiwgMHg2NSwgMHg0NSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2MiwgMHg0MiwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2RiwKKyAweDRGLCAweDQyLCAweDI4LCAweDYzLCAweDQzLCAweDQyLCAweDI4LCAweDFCLCAweDFCLCAweDUzLCAweDczLCAweDY0LCAweDQ0LAorIDB4NDIsIDB4MjgsIDB4MzUsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjcsIDB4NDcsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjksIDB4NDksCisgMHg0MiwgMHgyOCwgMHg1MiwgMHg3MiwgMHg0MiwgMHgyOCwgMHg0NSwgMHg2NSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg3MywgMHg1MywKKyAweDQyLCAweDI4LCAweDFCLCAweDY1LCAweDQ1LCAweDQyLCAweDI4LCAweDFCLCAweDZFLCAweDRFLCAweDQyLCAweDI4LCAweDFCLAorIDB4NjEsIDB4NDEsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NzAsIDB4NTAsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjEsIDB4NDEsIDB4NDIsCisgMHgyOCwgMHgxQiwgMHg2QSwgMHg0QSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg1NCwgMHg3NCwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2RCwKKyAweDRELCAweDQyLCAweDI4LCAweDFCLCAweDY2LCAweDQ2LCAweDQyLCAweDI4LCAweDFCLCAweDY0LCAweDQ0LCAweDQyLCAweDI4LAorIDB4MUIsIDB4NkIsIDB4NEIsIDB4NDIsIDB4MjgsIDB4NDgsIDB4NjgsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MUIsIDB4NTQsCisgMHg3NCwgMHg0QiwgMHg2QiwgMHg3MCwgMHg1MCwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2MywgMHg0MywgMHg0MiwgMHgyOCwgMHgxQiwKKyAweDc1LCAweDU1LCAweDQyLCAweDI4LCAweDMyLCAweDQyLCAweDI4LCAweDFCLCAweDMxLCAweDQyLCAweDI4LCAweDFCLCAweDMzLAorIDB4NDIsIDB4MjgsIDB4MUIsIDB4NEIsIDB4NkIsIDB4MzIsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjIsIDB4NDIsIDB4NDIsIDB4MjgsCisgMHg0MSwgMHg2MSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2RSwgMHg0RSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2MSwgMHg0MSwgMHg0MiwKKyAweDI4LCAweDFCLCAweDZCLCAweDRCLCAweDQyLCAweDI4LCAweDFCLCAweDYxLCAweDQxLCAweDQyLCAweDI4LCAweDFCLCAweDc0LAorIDB4NTQsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjEsIDB4NDEsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NkIsIDB4NEIsIDB4NDIsIDB4MjgsCisgMHgxQiwgMHg2OCwgMHg0OCwgMHg0MiwgMHgyOCwgMHgxQiwgMHg3NCwgMHg1NCwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2NCwgMHg0NCwKKyAweDQyLCAweDI4LCAweDFCLCAweDY5LCAweDQ5LCAweDQyLCAweDI4LCAweDFCLCAweDc3LCAweDU3LCAweDQyLCAweDI4LCAweDFCLAorIDB4NjYsIDB4NDYsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NkMsIDB4NEMsIDB4NDIsIDB4MjgsIDB4MzgsIDB4NDIsIDB4MjgsIDB4MUIsCisgMHg2RSwgMHg0RSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2MSwgMHg0MSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2RCwgMHg0RCwgMHg0MiwKKyAweDI4LCAweDFCLCAweDRGLCAweDZGLCAweDQyLCAweDI4LCAweDFCLCAweDcyLCAweDUyLCAweDQyLCAweDI4LCAweDFCLCAweDFCLAorIDB4NTAsIDB4NzAsIDB4NjEsIDB4NDEsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzksIDB4NDIsIDB4MjgsIDB4MUIsIDB4NkQsIDB4NEQsCisgMHg0MiwgMHgyOCwgMHgzNywgMHg0MiwgMHgyOCwgMHgxQiwgMHgzNCwgMHgzMiwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzMCwgMHg0MiwKKyAweDI4LCAweDMzLCAweDM4LCAweDM3LCAweDQyLCAweDI4LCAweDFCLCAweDM5LCAweDM4LCAweDM3LCAweDQyLCAweDI4LCAweDMyLAorIDB4NDIsIDB4MjgsIDB4MzEsIDB4MzUsIDB4MzcsIDB4NDIsIDB4MjgsIDB4MzAsIDB4MzEsIDB4MzMsIDB4MzUsIDB4MzYsIDB4MzksCisgMHgzOCwgMHgzNCwgMHg0MiwgMHgyOCwgMHgxQiwgMHgxQiwgMHgzOSwgMHgzOCwgMHgzNywgMHgzNiwgMHgzNSwgMHg0MiwgMHgyOCwKKyAweDMzLCAweDM1LCAweDQyLCAweDI4LCAweDFCLCAweDMxLCAweDMwLCAweDQyLCAweDI4LCAweDQ5LCAweDY5LCAweDQyLCAweDI4LAorIDB4MUIsIDB4NjEsIDB4NDEsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjgsIDB4NDgsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MUIsCisgMHgxQiwgMHgxQiwgMHgxQiwgMHgzNSwgMHgzMCwgMHg1NCwgMHg3NCwgMHgzMiwgMHgzMSwgMHgzOSwgMHgzOCwgMHgzNCwgMHg0MiwKKyAweDI4LCAweDFCLCAweDFCLCAweDZELCAweDYyLCAweDRELCAweDQyLCAweDQyLCAweDI4LCAweDMwLCAweDQyLCAweDI4LCAweDFCLAorIDB4MzgsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzIsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzEsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzMsCisgMHg0MiwgMHgyOCwgMHgxQiwgMHgzMiwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2MiwgMHg0MiwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2NywKKyAweDQ3LCAweDQyLCAweDI4LCAweDFCLCAweDM4LCAweDQyLCAweDI4LCAweDMzLCAweDM1LCAweDQyLCAweDI4LCAweDFCLCAweDMxLAorIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzksIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzUsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzgsIDB4NDIsCisgMHgyOCwgMHg3MiwgMHg1MiwgMHg0MiwgMHgyOCwgMHg0MywgMHg2MywgMHg0MiwgMHgyOCwgMHgxQiwgMHg2OSwgMHg0OSwgMHg0MiwKKyAweDI4LCAweDFCLCAweDZDLCAweDRDLCAweDQyLCAweDI4LCAweDFCLCAweDZDLCAweDRDLCAweDQyLCAweDI4LCAweDFCLCAweDY5LAorIDB4NDksIDB4NDIsIDB4MjgsIDB4MUIsIDB4NzIsIDB4NTIsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NzksIDB4NTksIDB4NDIsIDB4MjgsCisgMHg0QiwgMHg2QiwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2NSwgMHg0NSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2NSwgMHg0NSwgMHg0MiwKKyAweDI4LCAweDFCLCAweDcyLCAweDUyLCAweDQyLCAweDI4LCAweDU3LCAweDc3LCAweDQyLCAweDI4LCAweDFCLCAweDY1LCAweDQ1LAorIDB4NDIsIDB4MjgsIDB4MUIsIDB4NzIsIDB4NTIsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjIsIDB4NDIsIDB4NDIsIDB4MjgsIDB4MUIsCisgMHg0NSwgMHg2NSwgMHg0MiwgMHgyOCwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgzMSwgMHgzMiwgMHgzMywgMHgzNCwgMHgzNSwKKyAweDY4LCAweDY3LCAweDYzLCAweDYxLCAweDQ4LCAweDQ3LCAweDQzLCAweDQxLCAweDQyLCAweDI4LCAweDFCLCAweDZFLCAweDRFLAorIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjksIDB4NDksIDB4NDIsIDB4MjgsIDB4MUIsIDB4NzQsIDB4NTQsIDB4NDIsIDB4MjgsIDB4MUIsCisgMHg2MSwgMHg0MSwgMHg0MiwgMHgyOCwgMHgxQiwgMHgxQiwgMHgxQiwgMHg2QywgMHg0QywgMHgzOCwgMHgzNSwgMHg0MiwgMHgyOCwKKyAweDFCLCAweDZGLCAweDRGLCAweDQyLCAweDI4LCAweDFCLCAweDFCLCAweDczLCAweDYyLCAweDUzLCAweDQyLCAweDQyLCAweDI4LAorIDB4NTIsIDB4NzIsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzgsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjksIDB4NDksIDB4NDIsIDB4MjgsCisgMHgzNywgMHg0MiwgMHgyOCwgMHgxQiwgMHgzOCwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzOSwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzMSwKKyAweDQyLCAweDI4LCAweDFCLCAweDMxLCAweDQyLCAweDI4LCAweDFCLCAweDMwLCAweDQyLCAweDI4LCAweDFCLCAweDM2LCAweDQyLAorIDB4MjgsIDB4MUIsIDB4MzUsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjMsIDB4NDMsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MUIsIDB4NzMsCisgMHg2RiwgMHg1MywgMHg0RiwgMHg0MiwgMHgyOCwgMHg0MywgMHg2MywgMHg0MiwgMHgyOCwgMHgxQiwgMHg2OSwgMHg0OSwgMHg0MiwKKyAweDI4LCAweDFCLCAweDc0LCAweDU0LCAweDQyLCAweDI4LCAweDFCLCAweDZDLCAweDRDLCAweDQyLCAweDI4LCAweDFCLCAweDYxLAorIDB4NDEsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjIsIDB4NDIsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzUsIDB4NDIsIDB4MjgsIDB4MUIsCisgMHgzNywgMHg0MiwgMHgyOCwgMHg0QywgMHg2QywgMHg0MiwgMHgyOCwgMHgxQiwgMHg2MSwgMHg0MSwgMHg0MiwgMHgyOCwgMHgxQiwKKyAweDc1LCAweDU1LCAweDQyLCAweDI4LCAweDFCLCAweDY3LCAweDQ3LCAweDQyLCAweDI4LCAweDFCLCAweDZFLCAweDRFLCAweDQyLAorIDB4MjgsIDB4MUIsIDB4NjksIDB4NDksIDB4NDIsIDB4MjgsIDB4MUIsIDB4NkMsIDB4NEMsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjksCisgMHg0OSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg3NCwgMHg1NCwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2QywgMHg0QywgMHg0MiwgMHgyOCwKKyAweDFCLCAweDc1LCAweDU1LCAweDQyLCAweDI4LCAweDFCLCAweDZELCAweDRELCAweDQyLCAweDI4LCAweDFCLCAweDMwLCAweDQyLAorIDB4MjgsIDB4NTcsIDB4NzcsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjUsIDB4NDUsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NzIsIDB4NTIsCisgMHg0MiwgMHgyOCwgMHgxQiwgMHg2MiwgMHg0MiwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2NSwgMHg0NSwgMHg0MiwgMHgyOCwgMHgxQiwKKyAweDY4LCAweDQ4LCAweDQyLCAweDI4LCAweDFCLCAweDZFLCAweDRFLCAweDQyLCAweDI4LCAweDFCLCAweDY5LCAweDQ5LCAweDQyLAorIDB4MjgsIDB4MUIsIDB4NzQsIDB4NTQsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjEsIDB4NDEsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NkMsCisgMHg0QywgMHg0MiwgMHgyOCwgMHgxQiwgMHgzMiwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzNCwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2NSwKKyAweDQ1LCAweDQyLCAweDI4LCAweDFCLCAweDY3LCAweDQ3LCAweDQyLCAweDI4LCAweDFCLCAweDYxLCAweDQxLCAweDQyLCAweDI4LAorIDB4MUIsIDB4NzAsIDB4NTAsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjUsIDB4NDUsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjQsIDB4NDQsCisgMHg0MiwgMHgyOCwgMHgxQiwgMHg2RiwgMHg0RiwgMHg0MiwgMHgyOCwgMHgxQiwgMHgxQiwgMHgxQiwgMHg2MywgMHg0MywgMHgzNiwKKyAweDM1LCAweDQyLCAweDI4LCAweDMyLCAweDQyLCAweDI4LCAweDFCLCAweDM1LCAweDQyLCAweDI4LCAweDFCLCAweDM4LCAweDQyLAorIDB4MjgsIDB4MUIsIDB4MUIsIDB4MUIsIDB4NzAsIDB4NTAsIDB4MzgsIDB4MzcsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjMsIDB4NDMsCisgMHg0MiwgMHgyOCwgMHg1MywgMHg3MywgMHg0MiwgMHgyOCwgMHgxQiwgMHg2OSwgMHg0OSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2QSwKKyAweDRBLCAweDQyLCAweDI4LCAweDFCLCAweDU0LCAweDc0LCAweDQyLCAweDI4LCAweDFCLCAweDY2LCAweDQ2LCAweDQyLCAweDI4LAorIDB4MUIsIDB4NjksIDB4NDksIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjgsIDB4NDgsIDB4NDIsIDB4MjgsIDB4MzAsIDB4NDIsIDB4MjgsCisgMHgxQiwgMHgzMiwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzNiwgMHg0MiwgMHgyOCwgMHgxQiwgMHg1MywgMHg3MywgMHg0MiwgMHgyOCwKKyAweDFCLCAweDY5LCAweDQ5LCAweDQyLCAweDI4LCAweDQ1LCAweDY1LCAweDQyLCAweDI4LCAweDFCLCAweDY0LCAweDQ0LCAweDQyLAorIDB4MjgsIDB4MUIsIDB4NkYsIDB4NEYsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjMsIDB4NDMsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjksCisgMHg0OSwgMHg0MiwgMHgyOCwgMHg0NSwgMHg2NSwgMHg0MiwgMHgyOCwgMHg0NSwgMHg2NSwgMHg0MiwgMHgyOCwgMHgxQiwgMHgxQiwKKyAweDRDLCAweDZDLCAweDQyLCAweDYyLCAweDQyLCAweDI4LCAweDFCLCAweDM2LCAweDQyLCAweDI4LCAweDQ1LCAweDY1LCAweDQyLAorIDB4MjgsIDB4NDUsIDB4NjUsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MUIsIDB4NEMsIDB4NkMsIDB4NDIsIDB4NjIsIDB4NDIsIDB4MjgsCisgMHgxQiwgMHgzMiwgMHg0MiwgMHgyOCwgMHgxQiwgMHgxQiwgMHgzOCwgMHgzMywgMHgzMSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2NiwKKyAweDQ2LCAweDQyLCAweDI4LCAweDFCLCAweDFCLCAweDc0LCAweDZFLCAweDU0LCAweDRFLCAweDQyLCAweDI4LCAweDMwLCAweDMxLAorIDB4MzIsIDB4MzMsIDB4MzQsIDB4MzUsIDB4MzYsIDB4MzcsIDB4MzgsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzUsIDB4NDIsIDB4MjgsCisgMHgxQiwgMHgzMiwgMHg0MiwgMHgyOCwgMHgzMSwgMHgzMiwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2RSwgMHg0RSwgMHg0MiwgMHgyOCwKKyAweDFCLCAweDY5LCAweDQ5LCAweDQyLCAweDI4LCAweDFCLCAweDc0LCAweDU0LCAweDQyLCAweDI4LCAweDFCLCAweDYxLCAweDQxLAorIDB4NDIsIDB4MjgsIDB4MUIsIDB4NkMsIDB4NEMsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzEsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MUIsCisgMHgzMSwgMHgzMywgMHg0MiwgMHgyOCwgMHgxQiwgMHg3MywgMHg1MywgMHg0MiwgMHgyOCwgMHgxQiwgMHg3NywgMHg1NywgMHg0MiwKKyAweDI4LCAweDFCLCAweDZGLCAweDRGLCAweDQyLCAweDI4LCAweDFCLCAweDY0LCAweDQ0LCAweDQyLCAweDI4LCAweDFCLCAweDZFLAorIDB4NEUsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjksIDB4NDksIDB4NDIsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsCisgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHg3NywgMHg3NSwgMHg3NCwgMHg3MywgMHg3MCwgMHg2QiwKKyAweDY5LCAweDY4LCAweDY3LCAweDY1LCAweDYyLCAweDYxLCAweDU3LCAweDU1LCAweDU0LCAweDUzLCAweDUwLCAweDRCLCAweDQ5LAorIDB4NDgsIDB4NDcsIDB4NDUsIDB4NDIsIDB4NDEsIDB4NDIsIDB4MjgsIDB4NDMsIDB4NjMsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjksCisgMHg0OSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2QywgMHg0QywgMHg0MiwgMHgyOCwgMHgxQiwgMHg2QywgMHg0QywgMHg0MiwgMHgyOCwKKyAweDFCLCAweDY5LCAweDQ5LCAweDQyLCAweDI4LCAweDFCLCAweDcyLCAweDUyLCAweDQyLCAweDI4LCAweDFCLCAweDFCLCAweDFCLAorIDB4MUIsIDB4MUIsIDB4NzksIDB4NzMsIDB4NzAsIDB4NjgsIDB4NjMsIDB4NTksIDB4NTMsIDB4NTAsIDB4NDgsIDB4NDMsIDB4NDIsCisgMHgyOCwgMHgzMSwgMHgzMiwgMHg0MiwgMHgyOCwgMHgxQiwgMHg3MiwgMHg1MiwgMHg0MiwgMHgyOCwgMHg0NSwgMHg2NSwgMHg0MiwKKyAweDI4LCAweDQxLCAweDYxLCAweDQ4LCAweDY4LCAweDQyLCAweDI4LCAweDRCLCAweDZCLCAweDQyLCAweDI4LCAweDUzLCAweDczLAorIDB4NDIsIDB4MjgsIDB4NDksIDB4NjksIDB4NTIsIDB4NzIsIDB4NDIsIDB4MjgsIDB4NDIsIDB4NjIsIDB4NTIsIDB4NzIsIDB4NDIsCisgMHgyOCwgMHg0NSwgMHg2NSwgMHg0MiwgMHgyOCwgMHg1NCwgMHg3NCwgMHg1MywgMHg3MywgMHg0MiwgMHgyOCwgMHg0QywgMHg2QywKKyAweDRGLCAweDZGLCAweDQyLCAweDI4LCAweDQ1LCAweDY1LCAweDQyLCAweDI4LCAweDFCLCAweDYzLCAweDQzLCAweDQyLCAweDI4LAorIDB4MUIsIDB4NjUsIDB4NDUsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NkYsIDB4NEYsIDB4NDIsIDB4MjgsIDB4NDUsIDB4NjUsIDB4NDIsCisgMHgyOCwgMHg1MiwgMHg3MiwgMHg0MiwgMHgyOCwgMHg1MywgMHg3MywgMHg0MiwgMHgyOCwgMHg1NCwgMHg3NCwgMHg0MiwgMHgyOCwKKyAweDU1LCAweDc1LCAweDQyLCAweDI4LCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLAorIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4NzksIDB4NzcsIDB4NzUsIDB4NzQsIDB4NzMsIDB4NzIsCisgMHg2RSwgMHg2OSwgMHg2OCwgMHg2NywgMHg2NiwgMHg2NSwgMHg2NCwgMHg2MywgMHg2MiwgMHg2MSwgMHg1OSwgMHg1NywgMHg1NSwKKyAweDU0LCAweDUzLCAweDUyLCAweDRFLCAweDQ5LCAweDQ4LCAweDQ3LCAweDQ2LCAweDQ1LCAweDQ0LCAweDQzLCAweDQyLCAweDQxLAorIDB4NDIsIDB4MjgsIDB4MUIsIDB4MkQsIDB4NDIsIDB4MjgsIDB4NDMsIDB4NjMsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjksIDB4NDksCisgMHg0MiwgMHgyOCwgMHgxQiwgMHg2QywgMHg0QywgMHg0MiwgMHgyOCwgMHgxQiwgMHg2QywgMHg0QywgMHg0MiwgMHgyOCwgMHgxQiwKKyAweDY5LCAweDQ5LCAweDQyLCAweDI4LCAweDFCLCAweDcyLCAweDUyLCAweDQyLCAweDI4LCAweDFCLCAweDFCLCAweDc5LCAweDcwLAorIDB4NTksIDB4NTAsIDB4NDIsIDB4MjgsIDB4NEYsIDB4NkYsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NzIsIDB4NTIsIDB4NDIsIDB4MjgsCisgMHgxQiwgMHg3NSwgMHg1NSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2NSwgMHg0NSwgMHg0MiwgMHgyOCwgMHgxQiwgMHgyQiwgMHg0MiwKKyAweDI4LCAweDFCLCAweDMzLCAweDQyLCAweDI4LCAweDFCLCAweDM3LCAweDQyLCAweDI4LCAweDFCLCAweDMyLCAweDQyLCAweDI4LAorIDB4MUIsIDB4MkQsIDB4NDIsIDB4MjgsIDB4NEYsIDB4NkYsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NzIsIDB4NTIsIDB4NDIsIDB4MjgsCisgMHgxQiwgMHg3NSwgMHg1NSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2NSwgMHg0NSwgMHg0MiwgMHgyOCwgMHgxQiwgMHgyQiwgMHg0MiwKKyAweDI4LCAweDFCLCAweDM3LCAweDQyLCAweDI4LCAweDFCLCAweDM3LCAweDQyLCAweDI4LCAweDFCLCAweDMyLCAweDQyLCAweDI4LAorIDB4MUIsIDB4MkQsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MUIsIDB4NEIsIDB4NkIsIDB4NjUsIDB4NDUsIDB4NDIsIDB4MjgsIDB4NEYsCisgMHg2RiwgMHg0MiwgMHgyOCwgMHgxQiwgMHg3MiwgMHg1MiwgMHg0MiwgMHgyOCwgMHgxQiwgMHg3NSwgMHg1NSwgMHg0MiwgMHgyOCwKKyAweDFCLCAweDY1LCAweDQ1LCAweDQyLCAweDI4LCAweDFCLCAweDJCLCAweDQyLCAweDI4LCAweDFCLCAweDM0LCAweDQyLCAweDI4LAorIDB4MUIsIDB4MzgsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzIsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MkQsIDB4NDIsIDB4MjgsIDB4MUIsCisgMHg3MywgMHg1MywgMHg0MiwgMHgyOCwgMHg0RiwgMHg2RiwgMHg0MiwgMHgyOCwgMHgxQiwgMHg3MiwgMHg1MiwgMHg0MiwgMHgyOCwKKyAweDFCLCAweDc1LCAweDU1LCAweDQyLCAweDI4LCAweDFCLCAweDY1LCAweDQ1LCAweDQyLCAweDI4LCAweDFCLCAweDJCLCAweDQyLAorIDB4MjgsIDB4MUIsIDB4MzgsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzcsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzIsIDB4NDIsIDB4MjgsCisgMHgxQiwgMHgyRCwgMHg0MiwgMHgyOCwgMHg0RiwgMHg2RiwgMHg0MiwgMHgyOCwgMHgxQiwgMHg3MiwgMHg1MiwgMHg0MiwgMHgyOCwKKyAweDFCLCAweDc1LCAweDU1LCAweDQyLCAweDI4LCAweDFCLCAweDY1LCAweDQ1LCAweDQyLCAweDI4LCAweDFCLCAweDJCLCAweDQyLAorIDB4MjgsIDB4MUIsIDB4MzcsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzksIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzIsIDB4NDIsIDB4MjgsCisgMHgxQiwgMHgyRCwgMHg0MiwgMHgyOCwgMHgxQiwgMHgxQiwgMHg0OSwgMHg2OSwgMHg3MiwgMHg1MiwgMHg0MiwgMHgyOCwgMHg0RiwKKyAweDZGLCAweDQyLCAweDI4LCAweDFCLCAweDcyLCAweDUyLCAweDQyLCAweDI4LCAweDFCLCAweDc1LCAweDU1LCAweDQyLCAweDI4LAorIDB4MUIsIDB4NjUsIDB4NDUsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MkIsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzUsIDB4NDIsIDB4MjgsCisgMHgxQiwgMHgzOCwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzMiwgMHg0MiwgMHgyOCwgMHgxQiwgMHgyRCwgMHg0MiwgMHgyOCwgMHgxQiwKKyAweDYyLCAweDQyLCAweDQyLCAweDI4LCAweDRGLCAweDZGLCAweDQyLCAweDI4LCAweDFCLCAweDcyLCAweDUyLCAweDQyLCAweDI4LAorIDB4MUIsIDB4NzUsIDB4NTUsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjUsIDB4NDUsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MkIsIDB4NDIsCisgMHgyOCwgMHgxQiwgMHgzMCwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzMCwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzNSwgMHg0MiwgMHgyOCwKKyAweDFCLCAweDJELCAweDQyLCAweDI4LCAweDFCLCAweDZDLCAweDRDLCAweDQyLCAweDI4LCAweDFCLCAweDYxLCAweDQxLCAweDQyLAorIDB4MjgsIDB4MUIsIDB4NkUsIDB4NEUsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NkYsIDB4NEYsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjksCisgMHg0OSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg3NCwgMHg1NCwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2MSwgMHg0MSwgMHg0MiwgMHgyOCwKKyAweDFCLCAweDZFLCAweDRFLCAweDQyLCAweDI4LCAweDFCLCAweDcyLCAweDUyLCAweDQyLCAweDI4LCAweDFCLCAweDY1LCAweDQ1LAorIDB4NDIsIDB4MjgsIDB4MUIsIDB4NzQsIDB4NTQsIDB4NDIsIDB4MjgsIDB4NEYsIDB4NkYsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NzIsCisgMHg1MiwgMHg0MiwgMHgyOCwgMHgxQiwgMHg3NSwgMHg1NSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2NSwgMHg0NSwgMHg0MiwgMHgyOCwKKyAweDFCLCAweDJCLCAweDQyLCAweDI4LCAweDFCLCAweDMxLCAweDQyLCAweDI4LCAweDFCLCAweDM3LCAweDQyLCAweDI4LCAweDFCLAorIDB4MzgsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MkQsIDB4NDIsIDB4MjgsIDB4NEYsIDB4NkYsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NzIsCisgMHg1MiwgMHg0MiwgMHgyOCwgMHgxQiwgMHg3NSwgMHg1NSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2NSwgMHg0NSwgMHg0MiwgMHgyOCwKKyAweDFCLCAweDJCLCAweDQyLCAweDI4LCAweDFCLCAweDMwLCAweDQyLCAweDI4LCAweDFCLCAweDM4LCAweDQyLCAweDI4LCAweDFCLAorIDB4MzIsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MkQsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MUIsIDB4NzQsIDB4NzMsIDB4NkUsCisgMHg1NCwgMHg1MywgMHg0RSwgMHg0MiwgMHgyOCwgMHg0MSwgMHg2MSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2RSwgMHg0RSwgMHg0MiwKKyAweDI4LCAweDFCLCAweDYxLCAweDQxLCAweDQyLCAweDI4LCAweDFCLCAweDZCLCAweDRCLCAweDQyLCAweDI4LCAweDFCLCAweDJELAorIDB4NDIsIDB4MjgsIDB4MUIsIDB4NzAsIDB4NTAsIDB4NDIsIDB4MjgsIDB4NEYsIDB4NkYsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NzIsCisgMHg1MiwgMHg0MiwgMHgyOCwgMHgxQiwgMHg3NSwgMHg1NSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2NSwgMHg0NSwgMHg0MiwgMHgyOCwKKyAweDFCLCAweDJELCAweDQyLCAweDI4LCAweDFCLCAweDJELCAweDQyLCAweDI4LCAweDFCLCAweDM5LCAweDQyLCAweDI4LCAweDFCLAorIDB4NkUsIDB4NEUsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjksIDB4NDksIDB4NDIsIDB4MjgsIDB4MUIsIDB4NzQsIDB4NTQsIDB4NDIsCisgMHgyOCwgMHgxQiwgMHg2MSwgMHg0MSwgMHg0MiwgMHgyOCwgMHg2RiwgMHg0RiwgMHg0MiwgMHgyOCwgMHg2NSwgMHg0NSwgMHg0MiwKKyAweDI4LCAweDRGLCAweDZGLCAweDQyLCAweDI4LCAweDFCLCAweDcyLCAweDUyLCAweDQyLCAweDI4LCAweDFCLCAweDc1LCAweDU1LAorIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjUsIDB4NDUsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MkIsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzcsCisgMHg0MiwgMHgyOCwgMHgxQiwgMHgzMywgMHg0MiwgMHgyOCwgMHgxQiwgMHgyRCwgMHg0MiwgMHgyOCwgMHgxQiwgMHg3MywgMHg1MywKKyAweDQyLCAweDI4LCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLAorIDB4NzUsIDB4NzMsIDB4NkUsIDB4NkMsIDB4NkEsIDB4NjksIDB4NjcsIDB4NjYsIDB4NjUsIDB4NjQsIDB4NjMsIDB4NTUsIDB4NTMsCisgMHg0RSwgMHg0QywgMHg0QSwgMHg0OSwgMHg0NywgMHg0NiwgMHg0NSwgMHg0NCwgMHg0MywgMHg0MiwgMHgyOCwgMHgxQiwgMHgyRCwKKyAweDQyLCAweDI4LCAweDAwLCAweDFCLCAweDYzLCAweDQzLCAweDQyLCAweDI4LCAweDFCLCAweDY5LCAweDQ5LCAweDQyLCAweDI4LAorIDB4MUIsIDB4NjQsIDB4NDQsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjMsIDB4NDMsIDB4NDIsIDB4MjgsIDB4MzQsIDB4MzgsIDB4NDIsCisgMHgyOCwgMHgxQiwgMHgzMSwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzMSwgMHg0MiwgMHgyOCwgMHgxQiwgMHgyRCwgMHg0MiwgMHgyOCwKKyAweDFCLCAweDYxLCAweDQxLCAweDQyLCAweDI4LCAweDFCLCAweDZELCAweDRELCAweDQyLCAweDI4LCAweDM4LCAweDQyLCAweDI4LAorIDB4MUIsIDB4MzIsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzksIDB4NDIsIDB4MjgsIDB4MUIsIDB4NUYsIDB4NDIsIDB4MjgsIDB4MUIsCisgMHg3NCwgMHg1NCwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2RiwgMHg0RiwgMHg0MiwgMHgyOCwgMHg0RSwgMHg2RSwgMHg0MiwgMHgyOCwKKyAweDUwLCAweDcwLCAweDQyLCAweDI4LCAweDNFLCAweDQyLCAweDI4LCAweDFCLCAweDY4LCAweDQ4LCAweDQyLCAweDI4LCAweDFCLAorIDB4MUIsIDB4MUIsIDB4NzQsIDB4NkIsIDB4NkEsIDB4NjMsIDB4NTQsIDB4NEIsIDB4NEEsIDB4NDMsIDB4NDIsIDB4MjgsIDB4MUIsCisgMHg3NCwgMHg1NCwgMHgyRCwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2MywgMHg0MywgMHg0MiwgMHgyOCwgMHg1RiwgMHg0MiwgMHgyOCwKKyAweDFCLCAweDcyLCAweDUyLCAweDQyLCAweDI4LCAweDFCLCAweDZGLCAweDRGLCAweDQyLCAweDI4LCAweDFCLCAweDY2LCAweDQ2LAorIDB4NDIsIDB4MjgsIDB4MUIsIDB4NUYsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NzQsIDB4NTQsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjEsCisgMHg0MSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2RCwgMHg0RCwgMHg0MiwgMHgyOCwgMHgxQiwgMHg3MiwgMHg1MiwgMHg0MiwgMHgyOCwKKyAweDFCLCAweDZGLCAweDRGLCAweDQyLCAweDI4LCAweDFCLCAweDY2LCAweDQ2LCAweDQyLCAweDI4LCAweDFCLCAweDVGLCAweDQyLAorIDB4MjgsIDB4MUIsIDB4NjQsIDB4NDQsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjUsIDB4NDUsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NkIsCisgMHg0QiwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2MywgMHg0MywgMHg0MiwgMHgyOCwgMHgxQiwgMHg2MSwgMHg0MSwgMHg0MiwgMHgyOCwKKyAweDFCLCAweDcwLCAweDUwLCAweDQyLCAweDI4LCAweDFCLCAweDVGLCAweDQyLCAweDI4LCAweDFCLCAweDY1LCAweDQ1LCAweDQyLAorIDB4MjgsIDB4MUIsIDB4NjQsIDB4NDQsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NkYsIDB4NEYsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjMsCisgMHg0MywgMHg0MiwgMHgyOCwgMHgxQiwgMHg1RiwgMHg0MiwgMHgyOCwgMHgxQiwgMHg3OCwgMHg1OCwgMHg0MiwgMHgyOCwgMHgxQiwKKyAweDY5LCAweDQ5LCAweDQyLCAweDI4LCAweDFCLCAweDZFLCAweDRFLCAweDQyLCAweDI4LCAweDFCLCAweDc1LCAweDU1LCAweDQyLAorIDB4MjgsIDB4MUIsIDB4NUYsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjQsIDB4NDQsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjUsIDB4NDUsCisgMHg0MiwgMHgyOCwgMHgxQiwgMHg2NCwgMHg0NCwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2RSwgMHg0RSwgMHg0MiwgMHgyOCwgMHgxQiwKKyAweDY1LCAweDQ1LCAweDQyLCAweDI4LCAweDFCLCAweDc0LCAweDU0LCAweDQyLCAweDI4LCAweDFCLCAweDFCLCAweDFCLCAweDFCLAorIDB4MUIsIDB4NzgsIDB4NzUsIDB4NkMsIDB4NjMsIDB4NjIsIDB4NTgsIDB4NTUsIDB4NEMsIDB4NDMsIDB4NDIsIDB4NDIsIDB4MjgsCisgMHgyRCwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzMiwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzMSwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzMywKKyAweDQyLCAweDI4LCAweDFCLCAweDMyLCAweDQyLCAweDI4LCAweDFCLCAweDRCLCAweDZCLCAweDVGLCAweDMyLCAweDQyLCAweDI4LAorIDB4MDAsIDB4MUIsIDB4NkIsIDB4NEIsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjUsIDB4NDUsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjUsCisgMHg0NSwgMHg0MiwgMHgyOCwgMHgxQiwgMHgxQiwgMHg3MiwgMHg2MiwgMHg1MiwgMHg0MiwgMHg0MiwgMHgyOCwgMHgyRCwgMHg0MiwKKyAweDI4LCAweDFCLCAweDcwLCAweDY1LCAweDUwLCAweDQ1LCAweDQyLCAweDI4LCAweDMwLCAweDQyLCAweDI4LCAweDMzLCAweDM0LAorIDB4MzgsIDB4MzksIDB4NDIsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MzksIDB4MzYsIDB4MzEsIDB4MzAsIDB4NDIsIDB4MjgsIDB4MzMsCisgMHgzMSwgMHg0MiwgMHgyOCwgMHgwMCwgMHgxQiwgMHgwMCwgMHgxQiwgMHgzOCwgMHgzMiwgMHgzNywgMHgzNSwgMHgzMSwgMHgzMCwKKyAweDQyLCAweDI4LCAweDM5LCAweDM1LCAweDM0LCAweDMxLCAweDMyLCAweDQyLCAweDI4LCAweDMxLCAweDMwLCAweDMzLCAweDM2LAorIDB4NDIsIDB4MjgsIDB4MzgsIDB4MzUsIDB4NDIsIDB4MjgsIDB4MzAsIDB4MzQsIDB4MzUsIDB4MzcsIDB4MzgsIDB4MzksIDB4MzMsCisgMHg0MiwgMHgyOCwgMHgzNSwgMHgzNiwgMHgzNywgMHgzOCwgMHgzOSwgMHgzMCwgMHgzMSwgMHgzMiwgMHgzMywgMHgzNCwgMHg0MiwKKyAweDI4LCAweDMwLCAweDMyLCAweDM0LCAweDMzLCAweDMxLCAweDM1LCAweDM2LCAweDM3LCAweDM4LCAweDM5LCAweDQyLCAweDI4LAorIDB4MzAsIDB4MzMsIDB4MzEsIDB4MzIsIDB4NDIsIDB4MjgsIDB4MzYsIDB4MzksIDB4MzcsIDB4MzQsIDB4NDIsIDB4MjgsIDB4MzAsCisgMHgzMSwgMHgzMiwgMHgzMywgMHgzNCwgMHgzNSwgMHgzNiwgMHgzNywgMHgzOCwgMHgzOSwgMHg0MiwgMHgyOCwgMHgxQiwgMHgxQiwKKyAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDM5LCAweDM4LCAweDM2LCAweDM1LCAweDM0LCAweDMzLAorIDB4MzIsIDB4MzEsIDB4MzAsIDB4NDIsIDB4MjgsIDB4MzEsIDB4MzAsIDB4MzIsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzAsIDB4NDIsCisgMHgyOCwgMHgzOSwgMHgzMCwgMHgzMSwgMHgzMiwgMHgzMywgMHgzNCwgMHgzNSwgMHgzNiwgMHgzNywgMHgzOCwgMHg0MiwgMHgyOCwKKyAweDFCLCAweDM1LCAweDQyLCAweDI4LCAweDFCLCAweDFCLCAweDFCLCAweDMyLCAweDMxLCAweDMwLCAweDQyLCAweDI4LCAweDM4LAorIDB4MzYsIDB4NDIsIDB4MjgsIDB4MzcsIDB4NDIsIDB4MjgsIDB4MDAsIDB4MUIsIDB4MDAsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MzksCisgMHgzNCwgMHgzNiwgMHgzNywgMHgzOCwgMHgzNSwgMHgzMywgMHgzMiwgMHgzMSwgMHg0MiwgMHgyOCwgMHgxQiwgMHgyRCwgMHg0MiwKKyAweDI4LCAweDFCLCAweDYxLCAweDQxLCAweDQyLCAweDI4LCAweDFCLCAweDZFLCAweDRFLCAweDQyLCAweDI4LCAweDM4LCAweDM5LAorIDB4NDIsIDB4MjgsIDB4MzAsIDB4MzEsIDB4MzIsIDB4MzMsIDB4MzQsIDB4MzUsIDB4MzYsIDB4MzcsIDB4MzgsIDB4MzksIDB4NDIsCisgMHgyOCwgMHgzNiwgMHgzNSwgMHgzNywgMHg0MiwgMHgyOCwgMHgzNywgMHgzMCwgMHgzMSwgMHgzMiwgMHgzMywgMHgzNiwgMHg0MiwKKyAweDI4LCAweDMxLCAweDQyLCAweDI4LCAweDM5LCAweDM4LCAweDQyLCAweDI4LCAweDM3LCAweDM4LCAweDQyLCAweDI4LCAweDFCLAorIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MzksIDB4MzgsIDB4MzUsIDB4MzQsIDB4MzIsIDB4MzEsIDB4MzAsCisgMHg0MiwgMHgyOCwgMHgzMiwgMHgzNCwgMHgzNSwgMHg0MiwgMHgyOCwgMHgzMiwgMHgzMywgMHgzOSwgMHg0MiwgMHgyOCwgMHgzMCwKKyAweDMyLCAweDMzLCAweDM3LCAweDQyLCAweDI4LCAweDMzLCAweDM0LCAweDM1LCAweDM2LCAweDM3LCAweDM4LCAweDQyLCAweDI4LAorIDB4MzAsIDB4MzQsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MzQsIDB4MzYsIDB4MzUsIDB4MzMsCisgMHgzMiwgMHgzMSwgMHg0MiwgMHgyOCwgMHgzMSwgMHgzMywgMHgzOCwgMHg0MiwgMHgyOCwgMHgzMywgMHgzNSwgMHg0MiwgMHgyOCwKKyAweDMyLCAweDMwLCAweDMxLCAweDMzLCAweDM0LCAweDM1LCAweDM2LCAweDM3LCAweDM4LCAweDQyLCAweDI4LCAweDM4LCAweDQyLAorIDB4MjgsIDB4MUIsIDB4MzYsIDB4MzUsIDB4MzAsIDB4NDIsIDB4MjgsIDB4MzAsIDB4MzEsIDB4MzIsIDB4MzMsIDB4NDIsIDB4MjgsCisgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgzOCwgMHgzNywgMHgzNSwgMHgzMywgMHgzMCwgMHg0MiwgMHgyOCwgMHgzMSwKKyAweDM0LCAweDQyLCAweDI4LCAweDFCLCAweDMyLCAweDQyLCAweDI4LCAweDM4LCAweDQyLCAweDI4LCAweDFCLCAweDM4LCAweDQyLAorIDB4MjgsIDB4MzMsIDB4MzQsIDB4NDIsIDB4MjgsIDB4MzUsIDB4MzMsIDB4NDIsIDB4MjgsIDB4MzYsIDB4MzMsIDB4MzAsIDB4MzEsCisgMHgzOCwgMHg0MiwgMHgyOCwgMHgzMiwgMHgzOSwgMHg0MiwgMHgyOCwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwKKyAweDM5LCAweDM4LCAweDM3LCAweDM2LCAweDM0LCAweDMxLCAweDQyLCAweDI4LCAweDM0LCAweDQyLCAweDI4LCAweDFCLCAweDM1LAorIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzMsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MzcsIDB4MzMsCisgMHgzMiwgMHgzMSwgMHgzMCwgMHg0MiwgMHgyOCwgMHgzNiwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzNCwgMHg0MiwgMHgyOCwgMHgxQiwKKyAweDM2LCAweDM1LCAweDQyLCAweDI4LCAweDM5LCAweDQyLCAweDI4LCAweDFCLCAweDMwLCAweDQyLCAweDI4LCAweDFCLCAweDMwLAorIDB4MzQsIDB4MzUsIDB4MzcsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MzksIDB4MzcsIDB4MzgsIDB4MzUsIDB4NDIsIDB4MjgsCisgMHgzMCwgMHgzMSwgMHg0MiwgMHgyOCwgMHgzMiwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzMiwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzNywKKyAweDQyLCAweDI4LCAweDFCLCAweDFCLCAweDM3LCAweDM2LCAweDMzLCAweDMwLCAweDQyLCAweDI4LCAweDM2LCAweDQyLCAweDI4LAorIDB4MUIsIDB4MzcsIDB4MzksIDB4NDIsIDB4MjgsIDB4MzgsIDB4NDIsIDB4MjgsIDB4MzEsIDB4MzIsIDB4MzMsIDB4NDIsIDB4MjgsCisgMHgzMCwgMHgzNSwgMHg0MiwgMHgyOCwgMHgzMSwgMHg0MiwgMHgyOCwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgzNywgMHgzNiwKKyAweDM1LCAweDM0LCAweDQyLCAweDI4LCAweDFCLCAweDFCLCAweDMyLCAweDM5LCAweDMzLCAweDQyLCAweDI4LCAweDM2LCAweDQyLAorIDB4MjgsIDB4MzUsIDB4NDIsIDB4MjgsIDB4MzAsIDB4MzIsIDB4MzMsIDB4MzQsIDB4MzUsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MUIsCisgMHgxQiwgMHgzMCwgMHgzNSwgMHgzMywgMHgzMiwgMHg0MiwgMHgyOCwgMHgzMywgMHg0MiwgMHgyOCwgMHgxQiwgMHgzMiwgMHg0MiwKKyAweDI4LCAweDM2LCAweDM3LCAweDM4LCAweDM5LCAweDQyLCAweDI4LCAweDMwLCAweDM0LCAweDQyLCAweDI4LCAweDFCLCAweDFCLAorIDB4MzUsIDB4MzQsIDB4NDIsIDB4MjgsIDB4MzgsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzcsIDB4NDIsIDB4MjgsIDB4MzUsIDB4NDIsCisgMHgyOCwgMHgxQiwgMHgzNCwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzMywgMHg0MiwgMHgyOCwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwKKyAweDFCLCAweDM3LCAweDM0LCAweDMzLCAweDMxLCAweDMwLCAweDQyLCAweDI4LCAweDMyLCAweDQyLCAweDI4LCAweDFCLCAweDM1LAorIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzksIDB4NDIsIDB4MjgsIDB4MzEsIDB4NDIsIDB4MjgsIDB4MzQsIDB4NDIsIDB4MjgsIDB4MzUsCisgMHg0MiwgMHgyOCwgMHgzNSwgMHg0MiwgMHgyOCwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgzNCwgMHgzMywgMHgzMiwgMHgzMSwKKyAweDQyLCAweDI4LCAweDFCLCAweDMyLCAweDQyLCAweDI4LCAweDFCLCAweDFCLCAweDMyLCAweDMxLCAweDQyLCAweDI4LCAweDMwLAorIDB4NDIsIDB4MjgsIDB4MzcsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MzcsIDB4MzMsIDB4MzIsIDB4NDIsIDB4MjgsIDB4MzksCisgMHgzMywgMHg0MiwgMHgyOCwgMHgzOCwgMHgzMywgMHgzNSwgMHgzNiwgMHgzNywgMHg0MiwgMHgyOCwgMHgzMCwgMHgzMSwgMHgzMiwKKyAweDM1LCAweDM3LCAweDM4LCAweDQyLCAweDI4LCAweDMyLCAweDQyLCAweDI4LCAweDAwLCAweDFCLCAweDMwLCAweDMyLCAweDMzLAorIDB4MzUsIDB4MzYsIDB4MzksIDB4MzgsIDB4MzQsIDB4MzEsIDB4NDIsIDB4MjgsIDB4MzAsIDB4MzEsIDB4MzQsIDB4MzgsIDB4MzUsCisgMHg0MiwgMHgyOCwgMHgzMSwgMHgzNywgMHgzNiwgMHg0MiwgMHgyOCwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwKKyAweDM4LCAweDM5LCAweDM3LCAweDM2LCAweDM1LCAweDMzLCAweDMxLCAweDQyLCAweDI4LCAweDMwLCAweDQyLCAweDI4LCAweDM2LAorIDB4NDIsIDB4MjgsIDB4MzYsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MDAsIDB4MUIsIDB4MDAsIDB4MUIsIDB4MzQsIDB4MzYsIDB4MzUsCisgMHgzMywgMHg0MiwgMHgyOCwgMHgzOCwgMHgzMiwgMHgzMywgMHgzNCwgMHgzNiwgMHgzNSwgMHg0MiwgMHgyOCwgMHgzNCwgMHgzMSwKKyAweDMzLCAweDMwLCAweDMyLCAweDM2LCAweDM3LCAweDM4LCAweDQyLCAweDI4LCAweDMwLCAweDMyLCAweDMzLCAweDM0LCAweDM1LAorIDB4MzYsIDB4MzcsIDB4MzgsIDB4MzksIDB4NDIsIDB4MjgsIDB4MzcsIDB4MzgsIDB4MzksIDB4NDIsIDB4MjgsIDB4MUIsIDB4MDAsCisgMHgzMywgMHgzMiwgMHgzNiwgMHgzNywgMHgzOSwgMHgzNCwgMHg0MiwgMHgyOCwgMHgzMCwgMHgzMSwgMHgzNiwgMHgzNywgMHgzOCwKKyAweDM5LCAweDQyLCAweDI4LCAweDM0LCAweDM1LCAweDQyLCAweDI4LCAweDMwLCAweDQyLCAweDI4LCAweDFCLCAweDFCLCAweDFCLAorIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MzcsIDB4MzYsIDB4MzUsIDB4MzQsIDB4MzMsIDB4MzIsIDB4MzEsIDB4MzAsCisgMHg0MiwgMHgyOCwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgzMCwgMHg3NCwKKyAweDU0LCAweDM5LCAweDM4LCAweDM3LCAweDM2LCAweDM1LCAweDM0LCAweDMzLCAweDMyLCAweDMxLCAweDQyLCAweDI4LCAweDMxLAorIDB4MzAsIDB4NDIsIDB4MjgsIDB4NDIsIDB4MjgsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MzMsIDB4MzAsIDB4NDIsIDB4MjgsCisgMHg0MiwgMHgyOCwgMHg0MiwgMHgyOCwgMHg0MiwgMHgyOCwgMHg0MiwgMHgyOCwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgzOSwKKyAweDM4LCAweDM3LCAweDM1LCAweDQyLCAweDI4LCAweDQyLCAweDI4LCAweDQyLCAweDI4LCAweDFCLCAweDFCLCAweDM2LCAweDMwLAorIDB4NDIsIDB4MjgsIDB4NDIsIDB4MjgsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MzMsIDB4MzIsIDB4NDIsIDB4MjgsIDB4NDIsCisgMHgyOCwgMHgxQiwgMHgzMCwgMHg0MiwgMHgyOCwgMHg0MiwgMHgyOCwgMHg0MiwgMHgyOCwgMHg0MiwgMHgyOCwgMHgxQiwgMHgxQiwKKyAweDFCLCAweDM3LCAweDMzLCAweDMyLCAweDQyLCAweDI4LCAweDQyLCAweDI4LCAweDQyLCAweDI4LCAweDQyLCAweDI4LCAweDQyLAorIDB4MjgsIDB4NDIsIDB4MjgsIDB4NDIsIDB4MjgsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsCisgMHgxQiwgMHgzOSwgMHgzOCwgMHgzNywgMHgzNiwgMHgzNSwgMHgzMywgMHgzMSwgMHg0MiwgMHgyOCwgMHg0MiwgMHgyOCwgMHg0MiwKKyAweDI4LCAweDQyLCAweDI4LCAweDQyLCAweDI4LCAweDQyLCAweDI4LCAweDQyLCAweDI4LCAweDQyLCAweDI4LCAweDQyLCAweDI4LAorIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MzcsIDB4MzYsIDB4MzUsIDB4MzQsIDB4MzMsCisgMHgzMiwgMHgzMSwgMHgzMCwgMHg0MiwgMHgyOCwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwKKyAweDM5LCAweDM4LCAweDM3LCAweDM1LCAweDM0LCAweDMzLCAweDMyLCAweDMwLCAweDQyLCAweDI4LCAweDQyLCAweDI4LCAweDQyLAorIDB4MjgsIDB4NDIsIDB4MjgsIDB4NDIsIDB4MjgsIDB4NDIsIDB4MjgsIDB4NDIsIDB4MjgsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MUIsCisgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgzOSwgMHgzOCwgMHgzNSwgMHgzNCwgMHgzMiwgMHgzMSwgMHgzMCwgMHg0MiwKKyAweDI4LCAweDQyLCAweDI4LCAweDQyLCAweDI4LCAweDQyLCAweDI4LCAweDQyLCAweDI4LCAweDQyLCAweDI4LCAweDQyLCAweDI4LAorIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MzYsIDB4MzUsIDB4MzQsIDB4MzMsIDB4MzIsIDB4MzEsIDB4NDIsCisgMHgyOCwgMHg0MiwgMHgyOCwgMHg0MiwgMHgyOCwgMHg0MiwgMHgyOCwgMHg0MiwgMHgyOCwgMHg0MiwgMHgyOCwgMHgxQiwgMHgxQiwKKyAweDFCLCAweDFCLCAweDFCLCAweDM4LCAweDM3LCAweDM1LCAweDMzLCAweDMwLCAweDQyLCAweDI4LCAweDQyLCAweDI4LCAweDQyLAorIDB4MjgsIDB4NDIsIDB4MjgsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MzksIDB4MzgsIDB4MzcsIDB4MzYsCisgMHg0MiwgMHgyOCwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgzMywgMHgzMiwgMHgzMSwgMHgzMCwgMHg0MiwgMHgyOCwgMHg0MiwKKyAweDI4LCAweDFCLCAweDM5LCAweDQyLCAweDI4LCAweDQyLCAweDI4LCAweDQyLCAweDI4LCAweDQyLCAweDI4LCAweDQyLCAweDI4LAorIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MzcsIDB4MzYsIDB4MzUsIDB4MzQsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MzksCisgMHgzMywgMHg0MiwgMHgyOCwgMHg0MiwgMHgyOCwgMHg0MiwgMHgyOCwgMHg0MiwgMHgyOCwgMHgxQiwgMHgxQiwgMHgxQiwgMHgzNSwKKyAweDMzLCAweDMyLCAweDQyLCAweDI4LCAweDQyLCAweDI4LCAweDFCLCAweDMyLCAweDQyLCAweDI4LCAweDQyLCAweDI4LCAweDQyLAorIDB4MjgsIDB4MUIsIDB4MUIsIDB4MzUsIDB4MzQsIDB4NDIsIDB4MjgsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzcsIDB4NDIsIDB4MjgsCisgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgzNCwgMHgzMywgMHgzMSwgMHgzMCwgMHg0MiwgMHgyOCwgMHg0MiwgMHgyOCwgMHgxQiwKKyAweDMxLCAweDQyLCAweDI4LCAweDFCLCAweDM2LCAweDQyLCAweDI4LCAweDQyLCAweDI4LCAweDQyLCAweDI4LCAweDQyLCAweDI4LAorIDB4MUIsIDB4MUIsIDB4MUIsIDB4MzYsIDB4MzUsIDB4MzMsIDB4NDIsIDB4MjgsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzQsIDB4NDIsCisgMHgyOCwgMHgxQiwgMHgxQiwgMHgzNCwgMHgzMCwgMHg0MiwgMHgyOCwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwKKyAweDM5LCAweDM4LCAweDM1LCAweDM0LCAweDMxLCAweDMwLCAweDQyLCAweDI4LCAweDQyLCAweDI4LCAweDFCLCAweDMwLCAweDQyLAorIDB4MjgsIDB4MUIsIDB4MzcsIDB4NDIsIDB4MjgsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzIsIDB4NDIsIDB4MjgsIDB4NDIsIDB4MjgsCisgMHgxQiwgMHgzOCwgMHg0MiwgMHgyOCwgMHgxQiwgMHgxQiwgMHgzNCwgMHgzMSwgMHg0MiwgMHgyOCwgMHg0MiwgMHgyOCwgMHgxQiwKKyAweDM1LCAweDQyLCAweDI4LCAweDFCLCAweDMzLCAweDQyLCAweDI4LCAweDFCLCAweDFCLCAweDFCLCAweDM3LCAweDMzLCAweDMyLAorIDB4NDIsIDB4MjgsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzQsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzUsIDB4NDIsIDB4MjgsIDB4NDIsCisgMHgyOCwgMHgxQiwgMHgzMCwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzNywgMHg0MiwgMHgyOCwgMHgxQiwgMHgxQiwgMHgzOCwgMHgzNSwKKyAweDQyLCAweDI4LCAweDQyLCAweDI4LCAweDFCLCAweDMyLCAweDQyLCAweDI4LCAweDFCLCAweDM3LCAweDQyLCAweDI4LCAweDFCLAorIDB4MzMsIDB4NDIsIDB4MjgsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzQsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzMsIDB4NDIsIDB4MjgsCisgMHgxQiwgMHgzNywgMHg0MiwgMHgyOCwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzNSwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzOSwgMHg0MiwKKyAweDI4LCAweDQyLCAweDI4LCAweDQyLCAweDI4LCAweDQyLCAweDI4LCAweDQyLCAweDI4LCAweDFCLCAweDFCLCAweDFCLCAweDFCLAorIDB4MzQsIDB4MzMsIDB4MzIsIDB4MzEsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzIsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MzIsCisgMHgzMSwgMHg0MiwgMHgyOCwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgzNiwgMHgzNSwgMHgzMywgMHgzMiwKKyAweDMxLCAweDMwLCAweDQyLCAweDI4LCAweDFCLCAweDY0LCAweDQ0LCAweDQyLCAweDI4LCAweDFCLCAweDY5LCAweDQ5LCAweDQyLAorIDB4MjgsIDB4MUIsIDB4NzMsIDB4NTMsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjMsIDB4NDMsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MUIsCisgMHgxQiwgMHg2MywgMHg0MywgMHgzOSwgMHgzOCwgMHgzNywgMHgzNSwgMHgzNCwgMHgzMywgMHgzMiwgMHgzMSwgMHgzMCwgMHgyRCwKKyAweDQyLCAweDI4LCAweDFCLCAweDZELCAweDRELCAweDQyLCAweDI4LCAweDMyLCAweDQyLCAweDI4LCAweDFCLCAweDJELCAweDQyLAorIDB4MjgsIDB4MUIsIDB4NzMsIDB4NTMsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjMsIDB4NDMsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NzUsCisgMHg1NSwgMHg0MiwgMHgyOCwgMHgxQiwgMHgyRCwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzNiwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzNCwKKyAweDQyLCAweDI4LCAweDFCLCAweDM2LCAweDQyLCAweDI4LCAweDFCLCAweDMwLCAweDQyLCAweDI4LCAweDMxLCAweDQyLCAweDI4LAorIDB4MUIsIDB4MkQsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NkUsIDB4NEUsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjksIDB4NDksIDB4NDIsCisgMHgyOCwgMHgxQiwgMHg3NCwgMHg1NCwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2MSwgMHg0MSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2QywKKyAweDRDLCAweDQyLCAweDI4LCAweDFCLCAweDJELCAweDQyLCAweDI4LCAweDFCLCAweDMxLCAweDQyLCAweDI4LCAweDFCLCAweDJFLAorIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzMsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MkQsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NzMsIDB4NTMsCisgMHg0MiwgMHgyOCwgMHgxQiwgMHg3NywgMHg1NywgMHg0MiwgMHgyOCwgMHgxQiwgMHg2RiwgMHg0RiwgMHg0MiwgMHgyOCwgMHgxQiwKKyAweDY0LCAweDQ0LCAweDQyLCAweDI4LCAweDFCLCAweDZFLCAweDRFLCAweDQyLCAweDI4LCAweDFCLCAweDY5LCAweDQ5LCAweDQyLAorIDB4MjgsIDB4MUIsIDB4NzcsIDB4NTcsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzMsIDB4MzUsIDB4MkQsIDB4NDIsIDB4MjgsIDB4MzIsCisgMHg0MiwgMHgyOCwgMHgxQiwgMHgyRCwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2RSwgMHg0RSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2OSwKKyAweDQ5LCAweDQyLCAweDI4LCAweDFCLCAweDc0LCAweDU0LCAweDQyLCAweDI4LCAweDFCLCAweDYxLCAweDQxLCAweDQyLCAweDI4LAorIDB4MUIsIDB4NkMsIDB4NEMsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MkQsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NzMsIDB4NTMsIDB4NDIsCisgMHgyOCwgMHgxQiwgMHg3NywgMHg1NywgMHg0MiwgMHgyOCwgMHgxQiwgMHg2RiwgMHg0RiwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2NCwKKyAweDQ0LCAweDQyLCAweDI4LCAweDFCLCAweDZFLCAweDRFLCAweDQyLCAweDI4LCAweDFCLCAweDY5LCAweDQ5LCAweDQyLCAweDI4LAorIDB4MUIsIDB4NzcsIDB4NTcsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MkQsIDB4NDIsIDB4MjgsIDB4MDAsIDB4MUIsIDB4MDAsIDB4MUIsCisgMHgzNiwgMHgzMywgMHgzNCwgMHgzOSwgMHgzNywgMHgzOCwgMHgzNSwgMHgzMiwgMHgzMSwgMHg0MiwgMHgyOCwgMHgxQiwgMHgyRCwKKyAweDQyLCAweDI4LCAweDFCLCAweDM5LCAweDQyLCAweDI4LCAweDFCLCAweDM1LCAweDQyLCAweDI4LCAweDFCLCAweDM4LCAweDQyLAorIDB4MjgsIDB4MzAsIDB4MzEsIDB4MzksIDB4NDIsIDB4MjgsIDB4MzAsIDB4NDIsIDB4MjgsIDB4MzcsIDB4MzYsIDB4NDIsIDB4MjgsCisgMHgzOCwgMHg0MiwgMHgyOCwgMHgzOCwgMHgzOSwgMHgzNCwgMHg0MiwgMHgyOCwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwKKyAweDMzLCAweDM0LCAweDMyLCAweDMxLCAweDMwLCAweDQyLCAweDI4LCAweDFCLCAweDM2LCAweDM1LCAweDMxLCAweDQyLCAweDI4LAorIDB4MUIsIDB4MkQsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NzIsIDB4NTIsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MUIsIDB4NjksCisgMHg0OSwgMHgzOCwgMHgzMSwgMHg0MiwgMHgyOCwgMHg1MywgMHg3MywgMHg0MiwgMHgyOCwgMHgxQiwgMHg3NSwgMHg1NSwgMHg0MiwKKyAweDI4LCAweDFCLCAweDJELCAweDQyLCAweDI4LCAweDFCLCAweDM2LCAweDQyLCAweDI4LCAweDFCLCAweDM0LCAweDQyLCAweDI4LAorIDB4MzEsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzksIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzksIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzEsCisgMHg0MiwgMHgyOCwgMHgxQiwgMHgzQSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg3NiwgMHg1NiwgMHg0MiwgMHgyOCwgMHgxQiwgMHg3MiwKKyAweDUyLCAweDQyLCAweDI4LCAweDFCLCAweDY5LCAweDQ5LCAweDQyLCAweDI4LCAweDFCLCAweDJFLCAweDQyLCAweDI4LCAweDFCLAorIDB4MzYsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzQsIDB4NDIsIDB4MjgsIDB4MzcsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzgsIDB4NDIsCisgMHgyOCwgMHgxQiwgMHgzOSwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzMSwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzNSwgMHgzQSwgMHg0MiwKKyAweDI4LCAweDM3LCAweDQyLCAweDI4LCAweDFCLCAweDM4LCAweDQyLCAweDI4LCAweDFCLCAweDM5LCAweDQyLCAweDI4LCAweDFCLAorIDB4MzEsIDB4NDIsIDB4MjgsIDB4MUIsIDB4M0EsIDB4NDIsIDB4MjgsIDB4MzgsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzgsIDB4NDIsCisgMHgyOCwgMHgxQiwgMHgzOSwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzMSwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzQSwgMHg0MiwgMHgyOCwKKyAweDM4LCAweDQyLCAweDI4LCAweDFCLCAweDM4LCAweDQyLCAweDI4LCAweDFCLCAweDM5LCAweDQyLCAweDI4LCAweDFCLCAweDMxLAorIDB4NDIsIDB4MjgsIDB4MUIsIDB4M0EsIDB4NDIsIDB4MjgsIDB4MzgsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzgsIDB4NDIsIDB4MjgsCisgMHgxQiwgMHgzOSwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzMSwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzQSwgMHg0MiwgMHgyOCwgMHgzNywKKyAweDQyLCAweDI4LCAweDFCLCAweDM4LCAweDQyLCAweDI4LCAweDFCLCAweDM5LCAweDQyLCAweDI4LCAweDFCLCAweDMxLCAweDQyLAorIDB4MjgsIDB4MUIsIDB4M0EsIDB4NDIsIDB4MjgsIDB4MzcsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzgsIDB4NDIsIDB4MjgsIDB4MUIsCisgMHgzOSwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzMSwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzQSwgMHg0MiwgMHgyOCwgMHgzOCwgMHg0MiwKKyAweDI4LCAweDFCLCAweDM5LCAweDQyLCAweDI4LCAweDFCLCAweDMxLCAweDQyLCAweDI4LCAweDFCLCAweDNBLCAweDQyLCAweDI4LAorIDB4MzksIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzgsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzksIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzEsCisgMHg0MiwgMHgyOCwgMHgxQiwgMHgzQSwgMHg0MiwgMHgyOCwgMHgwMCwgMHgxQiwgMHgwMCwgMHgxQiwgMHgwMCwgMHgxQiwgMHgwMCwKKyAweDFCLCAweDAwLCAweDFCLCAweDAwLCAweDFCLCAweDAwLCAweDFCLCAweDAwLCAweDFCLCAweDAwLCAweDFCLCAweDM5LCAweDM4LAorIDB4MzcsIDB4MzYsIDB4MzUsIDB4MzQsIDB4MzMsIDB4MzIsIDB4MzEsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MkQsIDB4NDIsIDB4MjgsCisgMHgxQiwgMHgzOSwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzNSwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzOCwgMHg0MiwgMHgyOCwgMHgxQiwKKyAweDFCLCAweDM4LCAweDM2LCAweDQyLCAweDI4LCAweDFCLCAweDFCLCAweDFCLCAweDVGLCAweDM2LCAweDJELCAweDQyLCAweDI4LAorIDB4MUIsIDB4NkYsIDB4NEYsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MUIsIDB4NzMsIDB4NjIsIDB4NjEsIDB4NTMsIDB4NDIsCisgMHg0MSwgMHg0MiwgMHgyOCwgMHgzMSwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzMCwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzMiwgMHg0MiwKKyAweDI4LCAweDFCLCAweDMwLCAweDQyLCAweDI4LCAweDFCLCAweDU4LCAweDc4LCAweDQyLCAweDI4LCAweDFCLCAweDVGLCAweDQyLAorIDB4MjgsIDB4MUIsIDB4NzMsIDB4NTMsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjksIDB4NDksIDB4NDIsIDB4MjgsIDB4MkQsIDB4NDIsCisgMHgyOCwgMHgxQiwgMHgzOCwgMHg0MiwgMHgyOCwgMHg0RSwgMHg2RSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2MSwgMHg0MSwgMHg0MiwKKyAweDI4LCAweDFCLCAweDY1LCAweDQ1LCAweDQyLCAweDI4LCAweDFCLCAweDFCLCAweDcyLCAweDY5LCAweDUyLCAweDQ5LCAweDQyLAorIDB4MjgsIDB4MzEsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzAsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzYsIDB4NDIsIDB4MjgsIDB4MUIsCisgMHgzNSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg1RiwgMHg0MiwgMHgyOCwgMHgzOSwgMHgzNywgMHg0MiwgMHgyOCwgMHgxQiwgMHgzOCwKKyAweDQyLCAweDI4LCAweDFCLCAweDM5LCAweDQyLCAweDI4LCAweDFCLCAweDMxLCAweDQyLCAweDI4LCAweDFCLCAweDJELCAweDQyLAorIDB4MjgsIDB4MUIsIDB4MzEsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzAsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzYsIDB4NDIsIDB4MjgsCisgMHgxQiwgMHgzNSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg1RiwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2MywgMHg0MywgMHg0MiwgMHgyOCwKKyAweDFCLCAweDFCLCAweDYzLCAweDVGLCAweDQzLCAweDQyLCAweDI4LCAweDFCLCAweDFCLCAweDczLCAweDZGLCAweDUzLCAweDRGLAorIDB4NDIsIDB4MjgsIDB4MzksIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzEsIDB4MzIsIDB4MzMsIDB4MzQsIDB4MzUsIDB4MkQsIDB4NDIsCisgMHgyOCwgMHgxQiwgMHg2RSwgMHg0RSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2OSwgMHg0OSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg3NCwKKyAweDU0LCAweDQyLCAweDI4LCAweDFCLCAweDMxLCAweDMyLCAweDMzLCAweDM0LCAweDM1LCAweDYxLCAweDQxLCAweDQyLCAweDI4LAorIDB4MzMsIDB4NDIsIDB4MjgsIDB4NDksIDB4NjksIDB4NDIsIDB4MjgsIDB4MUIsIDB4NkEsIDB4NEEsIDB4NDIsIDB4MjgsIDB4MUIsCisgMHg2RSwgMHg0RSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2MSwgMHg0MSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2QiwgMHg0QiwgMHg0MiwKKyAweDI4LCAweDFCLCAweDFCLCAweDM5LCAweDVGLCAweDQyLCAweDI4LCAweDFCLCAweDczLCAweDUzLCAweDQyLCAweDI4LCAweDRGLAorIDB4NkYsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NzIsIDB4NTIsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NzUsIDB4NTUsIDB4NDIsIDB4MjgsCisgMHgxQiwgMHg2NSwgMHg0NSwgMHg0MiwgMHgyOCwgMHgxQiwgMHgyQiwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzMCwgMHg0MiwgMHgyOCwKKyAweDFCLCAweDM1LCAweDQyLCAweDI4LCAweDFCLCAweDM4LCAweDQyLCAweDI4LCAweDFCLCAweDJELCAweDQyLCAweDI4LCAweDFCLAorIDB4NkMsIDB4NEMsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjEsIDB4NDEsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NzUsIDB4NTUsIDB4NDIsCisgMHgyOCwgMHgxQiwgMHg2NywgMHg0NywgMHg0MiwgMHgyOCwgMHgxQiwgMHg2RSwgMHg0RSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2OSwKKyAweDQ5LCAweDQyLCAweDI4LCAweDFCLCAweDZDLCAweDRDLCAweDQyLCAweDI4LCAweDFCLCAweDY5LCAweDQ5LCAweDQyLCAweDI4LAorIDB4MUIsIDB4NzQsIDB4NTQsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NkMsIDB4NEMsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NzUsIDB4NTUsCisgMHg0MiwgMHgyOCwgMHgxQiwgMHg2RCwgMHg0RCwgMHg0MiwgMHgyOCwgMHgxQiwgMHgyRCwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2MywKKyAweDQzLCAweDQyLCAweDI4LCAweDM4LCAweDZGLCAweDRGLCAweDQyLCAweDI4LCAweDVGLCAweDQyLCAweDI4LCAweDFCLCAweDc0LAorIDB4NTQsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjYsIDB4NDYsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjksIDB4NDksIDB4NDIsIDB4MjgsCisgMHgxQiwgMHg2OCwgMHg0OCwgMHg0MiwgMHgyOCwgMHgyRCwgMHg0MiwgMHgyOCwgMHgxQiwgMHg3MywgMHg1MywgMHg0MiwgMHgyOCwKKyAweDFCLCAweDY5LCAweDQ5LCAweDQyLCAweDI4LCAweDMyLCAweDJELCAweDQyLCAweDI4LCAweDFCLCAweDczLCAweDUzLCAweDQyLAorIDB4MjgsIDB4NzMsIDB4NTMsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjEsIDB4NDEsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MkQsIDB4NDIsCisgMHgyOCwgMHg2QywgMHg2MiwgMHg0QywgMHg0MiwgMHgyRCwgMHg0MiwgMHgyOCwgMHgxQiwgMHgzNiwgMHg0MiwgMHgyOCwgMHg2QywKKyAweDYyLCAweDRDLCAweDQyLCAweDJELCAweDQyLCAweDI4LCAweDFCLCAweDMyLCAweDQyLCAweDI4LCAweDFCLCAweDFCLCAweDM4LAorIDB4MzMsIDB4MzEsIDB4NDIsIDB4MjgsIDB4MUIsIDB4MzgsIDB4MzMsIDB4MzEsIDB4MkQsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NjYsCisgMHg0NiwgMHg0MiwgMHgyOCwgMHgxQiwgMHgwMCwgMHgxQiwgMHgxQiwgMHg3NCwgMHg3MywgMHg2MywgMHg1NCwgMHg1MywgMHg0MywKKyAweDQyLCAweDI4LCAweDM5LCAweDMxLCAweDQyLCAweDI4LCAweDFCLCAweDJELCAweDQyLCAweDI4LCAweDFCLCAweDczLCAweDUzLAorIDB4NDIsIDB4MjgsIDB4MUIsIDB4NzcsIDB4NTcsIDB4NDIsIDB4MjgsIDB4MUIsIDB4NkYsIDB4NEYsIDB4NDIsIDB4MjgsIDB4MUIsCisgMHg2NCwgMHg0NCwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2RSwgMHg0RSwgMHg0MiwgMHgyOCwgMHgxQiwgMHg2OSwgMHg0OSwgMHg0MiwKKyAweDI4LCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLAorIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzMsIDB4NEEsIDB4MjgsIDB4NEEsCisgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgxQiwgMHgzNSwgMHgzNiwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzMCwKKyAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDZFLCAweDRFLCAweDRBLCAweDI4LCAweDFCLCAweDY5LCAweDQ5LCAweDRBLAorIDB4MjgsIDB4MUIsIDB4NjQsIDB4NDQsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NkYsIDB4NEYsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjMsCisgMHg0MywgMHg0QSwgMHgyOCwgMHgxQiwgMHg2RSwgMHg0RSwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2NSwgMHg0NSwgMHg0QSwgMHgyOCwKKyAweDFCLCAweDJELCAweDRBLCAweDI4LCAweDFCLCAweDY0LCAweDQ0LCAweDRBLCAweDI4LCAweDFCLCAweDcyLCAweDUyLCAweDRBLAorIDB4MjgsIDB4MUIsIDB4NjEsIDB4NDEsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjQsIDB4NDQsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NkUsCisgMHg0RSwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2MSwgMHg0MSwgMHg0QSwgMHgyOCwgMHgxQiwgMHg3NCwgMHg1NCwgMHg0QSwgMHgyOCwKKyAweDFCLCAweDczLCAweDUzLCAweDRBLCAweDI4LCAweDFCLCAweDJELCAweDRBLCAweDI4LCAweDFCLCAweDY1LCAweDQ1LCAweDRBLAorIDB4MjgsIDB4MUIsIDB4NjIsIDB4NDIsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NkYsIDB4NEYsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsCisgMHg0QSwgMHgyOCwgMHgxQiwgMHgxQiwgMHgzOCwgMHgzNiwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzOSwgMHg0QSwgMHgyOCwgMHgxQiwKKyAweDMxLCAweDRBLCAweDI4LCAweDFCLCAweDJELCAweDRBLCAweDI4LCAweDFCLCAweDM0LCAweDRBLCAweDI4LCAweDFCLCAweDJFLAorIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzMsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NzgsIDB4NTgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NUYsCisgMHg0QSwgMHgyOCwgMHgxQiwgMHg2OSwgMHg0OSwgMHg0QSwgMHgyOCwgMHgxQiwgMHg3MywgMHg1MywgMHg0QSwgMHgyOCwgMHg0QSwKKyAweDI4LCAweDFCLCAweDY5LCAweDQ5LCAweDRBLCAweDI4LCAweDFCLCAweDYyLCAweDQyLCAweDRBLCAweDI4LCAweDFCLCAweDYxLAorIDB4NDEsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjksIDB4NDksIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsCisgMHgzMCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzNywgMHg0QSwgMHgyOCwgMHgxQiwgMHgyRCwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2RiwKKyAweDRGLCAweDRBLCAweDI4LCAweDFCLCAweDFCLCAweDQzLCAweDYzLCAweDZELCAweDRELCAweDRBLCAweDI4LCAweDFCLCAweDFCLAorIDB4MUIsIDB4MUIsIDB4NTIsIDB4NzIsIDB4NzMsIDB4NkUsIDB4NjQsIDB4NTMsIDB4NEUsIDB4NDQsIDB4NEEsIDB4MjgsIDB4NEEsCisgMHgyOCwgMHgxQiwgMHg2MywgMHg0MywgMHg0QSwgMHgyOCwgMHgxQiwgMHg3MywgMHg1MywgMHg0QSwgMHgyOCwgMHgxQiwgMHg2QiwKKyAweDRCLCAweDRBLCAweDI4LCAweDFCLCAweDY4LCAweDQ4LCAweDRBLCAweDI4LCAweDFCLCAweDJELCAweDRBLCAweDI4LCAweDFCLAorIDB4MzUsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjcsIDB4NDcsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjksIDB4NDksIDB4NEEsIDB4MjgsCisgMHg0QSwgMHgyOCwgMHgxQiwgMHgzNSwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzMiwgMHg0QSwgMHgyOCwgMHgxQiwKKyAweDFCLCAweDM5LCAweDM4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDM0LCAweDRBLCAweDI4LCAweDFCLCAweDMxLAorIDB4NEEsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MzEsIDB4MzAsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzAsIDB4NEEsIDB4MjgsIDB4MUIsCisgMHg2NCwgMHg0NCwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2OSwgMHg0OSwgMHg0QSwgMHgyOCwgMHgxQiwgMHg3MywgMHg1MywgMHg0QSwKKyAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDczLCAweDUzLCAweDRBLCAweDI4LCAweDFCLCAweDY1LCAweDQ1LCAweDRBLCAweDI4LAorIDB4MUIsIDB4NkUsIDB4NEUsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjksIDB4NDksIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsCisgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgxQiwgMHgxQiwgMHg2OSwgMHg2NywgMHg2MSwgMHg0OSwgMHg0NywgMHg0MSwgMHg0QSwKKyAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDMzLCAweDMxLCAweDMwLCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDMyLAorIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzAsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsCisgMHgxQiwgMHgxQiwgMHgzOSwgMHgzOCwgMHgzNywgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzNiwgMHg0QSwgMHgyOCwKKyAweDRBLCAweDI4LCAweDFCLCAweDMzLCAweDMyLCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDMwLCAweDRBLCAweDI4LAorIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzcsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsCisgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgzOSwgMHgzOCwgMHgzNywgMHgzNiwgMHgzNSwKKyAweDMxLCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDFCLCAweDFCLCAweDMzLAorIDB4MzEsIDB4MzAsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsCisgMHgxQiwgMHgzOCwgMHgzNywgMHgzNSwgMHgzNCwgMHgzMywgMHgzMCwgMHgzOSwgMHgzMiwgMHgzMSwgMHgyRCwgMHg0QSwgMHgyOCwKKyAweDY0LCAweDQ0LCAweDRBLCAweDI4LCAweDFCLCAweDcyLCAweDUyLCAweDRBLCAweDI4LCAweDFCLCAweDYxLCAweDQxLCAweDRBLAorIDB4MjgsIDB4MUIsIDB4NjQsIDB4NDQsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NkUsIDB4NEUsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjEsCisgMHg0MSwgMHg0QSwgMHgyOCwgMHgxQiwgMHg3NCwgMHg1NCwgMHg0QSwgMHgyOCwgMHgxQiwgMHg3MywgMHg1MywgMHg0QSwgMHgyOCwKKyAweDFCLCAweDY1LCAweDQ1LCAweDRBLCAweDI4LCAweDFCLCAweDYyLCAweDQyLCAweDRBLCAweDI4LCAweDFCLCAweDZGLCAweDRGLAorIDB4NEEsIDB4MjgsIDB4NjMsIDB4NDMsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MUIsIDB4NTMsIDB4NzMsIDB4NjQsIDB4NDQsIDB4NEEsCisgMHgyOCwgMHgzNSwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2NywgMHg0NywgMHg0QSwgMHgyOCwgMHgxQiwgMHg2OSwgMHg0OSwgMHg0QSwKKyAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDczLCAweDUzLCAweDRBLCAweDI4LCAweDFCLCAweDY1LCAweDQ1LAorIDB4NEEsIDB4MjgsIDB4MUIsIDB4NkUsIDB4NEUsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjEsIDB4NDEsIDB4NEEsIDB4MjgsIDB4MUIsCisgMHg3MCwgMHg1MCwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2MSwgMHg0MSwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2QSwgMHg0QSwgMHg0QSwKKyAweDI4LCAweDFCLCAweDU0LCAweDc0LCAweDRBLCAweDI4LCAweDFCLCAweDZELCAweDRELCAweDRBLCAweDI4LCAweDFCLCAweDY2LAorIDB4NDYsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjQsIDB4NDQsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NkIsIDB4NEIsIDB4NEEsIDB4MjgsCisgMHg0QSwgMHgyOCwgMHgxQiwgMHgxQiwgMHgxQiwgMHg1NCwgMHg3NCwgMHg0QiwgMHg2QiwgMHg3MCwgMHg1MCwgMHg0QSwgMHgyOCwKKyAweDFCLCAweDYzLCAweDQzLCAweDRBLCAweDI4LCAweDFCLCAweDc1LCAweDU1LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLAorIDB4MzEsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzMsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NEIsIDB4NkIsIDB4MzIsIDB4NEEsIDB4MjgsCisgMHgxQiwgMHg2MiwgMHg0MiwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2RSwgMHg0RSwgMHg0QSwgMHgyOCwgMHgxQiwKKyAweDYxLCAweDQxLCAweDRBLCAweDI4LCAweDFCLCAweDZCLCAweDRCLCAweDRBLCAweDI4LCAweDFCLCAweDYxLCAweDQxLCAweDRBLAorIDB4MjgsIDB4MUIsIDB4NzQsIDB4NTQsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjEsIDB4NDEsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NkIsCisgMHg0QiwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2OCwgMHg0OCwgMHg0QSwgMHgyOCwgMHgxQiwgMHg3NCwgMHg1NCwgMHg0QSwgMHgyOCwKKyAweDFCLCAweDY0LCAweDQ0LCAweDRBLCAweDI4LCAweDFCLCAweDY5LCAweDQ5LCAweDRBLCAweDI4LCAweDFCLCAweDc3LCAweDU3LAorIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjYsIDB4NDYsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NkMsIDB4NEMsIDB4NEEsIDB4MjgsIDB4NEEsCisgMHgyOCwgMHgxQiwgMHg2RSwgMHg0RSwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2MSwgMHg0MSwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2RCwKKyAweDRELCAweDRBLCAweDI4LCAweDFCLCAweDRGLCAweDZGLCAweDRBLCAweDI4LCAweDFCLCAweDcyLCAweDUyLCAweDRBLCAweDI4LAorIDB4MUIsIDB4MUIsIDB4NTAsIDB4NzAsIDB4NjEsIDB4NDEsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzksIDB4NEEsIDB4MjgsIDB4MUIsCisgMHg2RCwgMHg0RCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzNCwgMHgzMiwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzMCwKKyAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDM5LCAweDM4LCAweDM3LCAweDRBLCAweDI4LCAweDMyLCAweDRBLCAweDI4LAorIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MzksIDB4MzgsIDB4MzcsIDB4MzYsIDB4MzUsIDB4NEEsIDB4MjgsCisgMHg0QSwgMHgyOCwgMHgxQiwgMHgzMSwgMHgzMCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2MSwgMHg0MSwgMHg0QSwKKyAweDI4LCAweDFCLCAweDY4LCAweDQ4LCAweDRBLCAweDI4LCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDM1LAorIDB4MzAsIDB4NTQsIDB4NzQsIDB4MzIsIDB4MzEsIDB4MzksIDB4MzgsIDB4MzQsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MUIsIDB4NkQsCisgMHg2MiwgMHg0RCwgMHg0MiwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzMiwKKyAweDRBLCAweDI4LCAweDFCLCAweDMxLCAweDRBLCAweDI4LCAweDFCLCAweDMzLCAweDRBLCAweDI4LCAweDFCLCAweDMyLCAweDRBLAorIDB4MjgsIDB4MUIsIDB4NjIsIDB4NDIsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjcsIDB4NDcsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzgsCisgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzMSwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzOSwgMHg0QSwgMHgyOCwgMHgxQiwKKyAweDM1LCAweDRBLCAweDI4LCAweDFCLCAweDM4LCAweDRBLCAweDI4LCAweDcyLCAweDUyLCAweDRBLCAweDI4LCAweDRBLCAweDI4LAorIDB4MUIsIDB4NjksIDB4NDksIDB4NEEsIDB4MjgsIDB4MUIsIDB4NkMsIDB4NEMsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NkMsIDB4NEMsCisgMHg0QSwgMHgyOCwgMHgxQiwgMHg2OSwgMHg0OSwgMHg0QSwgMHgyOCwgMHgxQiwgMHg3MiwgMHg1MiwgMHg0QSwgMHgyOCwgMHgxQiwKKyAweDc5LCAweDU5LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDY1LCAweDQ1LCAweDRBLCAweDI4LCAweDFCLCAweDY1LAorIDB4NDUsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NzIsIDB4NTIsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjUsIDB4NDUsCisgMHg0QSwgMHgyOCwgMHgxQiwgMHg3MiwgMHg1MiwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2MiwgMHg0MiwgMHg0QSwgMHgyOCwgMHgxQiwKKyAweDQ1LCAweDY1LCAweDRBLCAweDI4LCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDMxLCAweDMyLCAweDMzLCAweDM0LCAweDM1LAorIDB4NjgsIDB4NjcsIDB4NjMsIDB4NjEsIDB4NDgsIDB4NDcsIDB4NDMsIDB4NDEsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NkUsIDB4NEUsCisgMHg0QSwgMHgyOCwgMHgxQiwgMHg2OSwgMHg0OSwgMHg0QSwgMHgyOCwgMHgxQiwgMHg3NCwgMHg1NCwgMHg0QSwgMHgyOCwgMHgxQiwKKyAweDYxLCAweDQxLCAweDRBLCAweDI4LCAweDFCLCAweDFCLCAweDFCLCAweDZDLCAweDRDLCAweDM4LCAweDM1LCAweDRBLCAweDI4LAorIDB4MUIsIDB4NkYsIDB4NEYsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MUIsIDB4NzMsIDB4NjIsIDB4NTMsIDB4NDIsIDB4NEEsIDB4MjgsCisgMHg0QSwgMHgyOCwgMHgxQiwgMHgzOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2OSwgMHg0OSwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwKKyAweDFCLCAweDM4LCAweDRBLCAweDI4LCAweDFCLCAweDM5LCAweDRBLCAweDI4LCAweDFCLCAweDMxLCAweDRBLCAweDI4LCAweDFCLAorIDB4MzEsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzAsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzYsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzUsCisgMHg0QSwgMHgyOCwgMHgxQiwgMHg2MywgMHg0MywgMHg0QSwgMHgyOCwgMHgxQiwgMHgxQiwgMHg3MywgMHg2RiwgMHg1MywgMHg0RiwKKyAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDY5LCAweDQ5LCAweDRBLCAweDI4LCAweDFCLCAweDc0LCAweDU0LCAweDRBLAorIDB4MjgsIDB4MUIsIDB4NkMsIDB4NEMsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjEsIDB4NDEsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjIsCisgMHg0MiwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzNSwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzNywgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwKKyAweDFCLCAweDYxLCAweDQxLCAweDRBLCAweDI4LCAweDFCLCAweDc1LCAweDU1LCAweDRBLCAweDI4LCAweDFCLCAweDY3LCAweDQ3LAorIDB4NEEsIDB4MjgsIDB4MUIsIDB4NkUsIDB4NEUsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjksIDB4NDksIDB4NEEsIDB4MjgsIDB4MUIsCisgMHg2QywgMHg0QywgMHg0QSwgMHgyOCwgMHgxQiwgMHg2OSwgMHg0OSwgMHg0QSwgMHgyOCwgMHgxQiwgMHg3NCwgMHg1NCwgMHg0QSwKKyAweDI4LCAweDFCLCAweDZDLCAweDRDLCAweDRBLCAweDI4LCAweDFCLCAweDc1LCAweDU1LCAweDRBLCAweDI4LCAweDFCLCAweDZELAorIDB4NEQsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzAsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjUsIDB4NDUsIDB4NEEsCisgMHgyOCwgMHgxQiwgMHg3MiwgMHg1MiwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2MiwgMHg0MiwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2NSwKKyAweDQ1LCAweDRBLCAweDI4LCAweDFCLCAweDY4LCAweDQ4LCAweDRBLCAweDI4LCAweDFCLCAweDZFLCAweDRFLCAweDRBLCAweDI4LAorIDB4MUIsIDB4NjksIDB4NDksIDB4NEEsIDB4MjgsIDB4MUIsIDB4NzQsIDB4NTQsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjEsIDB4NDEsCisgMHg0QSwgMHgyOCwgMHgxQiwgMHg2QywgMHg0QywgMHg0QSwgMHgyOCwgMHgxQiwgMHgzMiwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzNCwKKyAweDRBLCAweDI4LCAweDFCLCAweDY1LCAweDQ1LCAweDRBLCAweDI4LCAweDFCLCAweDY3LCAweDQ3LCAweDRBLCAweDI4LCAweDFCLAorIDB4NjEsIDB4NDEsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NzAsIDB4NTAsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjUsIDB4NDUsIDB4NEEsCisgMHgyOCwgMHgxQiwgMHg2NCwgMHg0NCwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2RiwgMHg0RiwgMHg0QSwgMHgyOCwgMHgxQiwgMHgxQiwKKyAweDFCLCAweDYzLCAweDQzLCAweDM2LCAweDM1LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDM1LCAweDRBLCAweDI4LAorIDB4MUIsIDB4MzgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MUIsIDB4NzAsIDB4NTAsIDB4MzgsIDB4MzcsIDB4NEEsIDB4MjgsCisgMHgxQiwgMHg2MywgMHg0MywgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2OSwgMHg0OSwgMHg0QSwgMHgyOCwgMHgxQiwKKyAweDZBLCAweDRBLCAweDRBLCAweDI4LCAweDFCLCAweDU0LCAweDc0LCAweDRBLCAweDI4LCAweDFCLCAweDY2LCAweDQ2LCAweDRBLAorIDB4MjgsIDB4MUIsIDB4NjksIDB4NDksIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjgsIDB4NDgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsCisgMHgxQiwgMHgzMiwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzNiwgMHg0QSwgMHgyOCwgMHgxQiwgMHg1MywgMHg3MywgMHg0QSwgMHgyOCwKKyAweDFCLCAweDY5LCAweDQ5LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDY0LCAweDQ0LCAweDRBLCAweDI4LCAweDFCLAorIDB4NkYsIDB4NEYsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjMsIDB4NDMsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjksIDB4NDksIDB4NEEsCisgMHgyOCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgxQiwgMHg0QywgMHg2QywgMHg0MiwgMHg2MiwgMHg0QSwgMHgyOCwKKyAweDFCLCAweDM2LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDFCLCAweDRDLCAweDZDLCAweDQyLAorIDB4NjIsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzIsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MzgsIDB4MzMsIDB4MzEsIDB4NEEsCisgMHgyOCwgMHgxQiwgMHg2NiwgMHg0NiwgMHg0QSwgMHgyOCwgMHgxQiwgMHgxQiwgMHg3NCwgMHg2RSwgMHg1NCwgMHg0RSwgMHg0QSwKKyAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDM1LCAweDRBLCAweDI4LCAweDFCLCAweDMyLCAweDRBLCAweDI4LCAweDRBLCAweDI4LAorIDB4MUIsIDB4NkUsIDB4NEUsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjksIDB4NDksIDB4NEEsIDB4MjgsIDB4MUIsIDB4NzQsIDB4NTQsCisgMHg0QSwgMHgyOCwgMHgxQiwgMHg2MSwgMHg0MSwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2QywgMHg0QywgMHg0QSwgMHgyOCwgMHgxQiwKKyAweDMxLCAweDRBLCAweDI4LCAweDFCLCAweDFCLCAweDMxLCAweDMzLCAweDRBLCAweDI4LCAweDFCLCAweDczLCAweDUzLCAweDRBLAorIDB4MjgsIDB4MUIsIDB4NzcsIDB4NTcsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NkYsIDB4NEYsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjQsCisgMHg0NCwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2RSwgMHg0RSwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2OSwgMHg0OSwgMHg0QSwgMHgyOCwKKyAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDc3LAorIDB4NzUsIDB4NzQsIDB4NzMsIDB4NzAsIDB4NkIsIDB4NjksIDB4NjgsIDB4NjcsIDB4NjUsIDB4NjIsIDB4NjEsIDB4NTcsIDB4NTUsCisgMHg1NCwgMHg1MywgMHg1MCwgMHg0QiwgMHg0OSwgMHg0OCwgMHg0NywgMHg0NSwgMHg0MiwgMHg0MSwgMHg0QSwgMHgyOCwgMHg0QSwKKyAweDI4LCAweDFCLCAweDY5LCAweDQ5LCAweDRBLCAweDI4LCAweDFCLCAweDZDLCAweDRDLCAweDRBLCAweDI4LCAweDFCLCAweDZDLAorIDB4NEMsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjksIDB4NDksIDB4NEEsIDB4MjgsIDB4MUIsIDB4NzIsIDB4NTIsIDB4NEEsIDB4MjgsCisgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHg3OSwgMHg3MywgMHg3MCwgMHg2OCwgMHg2MywgMHg1OSwgMHg1MywgMHg1MCwKKyAweDQ4LCAweDQzLCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDcyLCAweDUyLCAweDRBLCAweDI4LCAweDRBLCAweDI4LAorIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsCisgMHgyOCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2MywgMHg0MywgMHg0QSwgMHgyOCwgMHgxQiwgMHg2NSwgMHg0NSwKKyAweDRBLCAweDI4LCAweDFCLCAweDZGLCAweDRGLCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LAorIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsCisgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHg3OSwgMHg3NywgMHg3NSwgMHg3NCwgMHg3MywgMHg3MiwKKyAweDZFLCAweDY5LCAweDY4LCAweDY3LCAweDY2LCAweDY1LCAweDY0LCAweDYzLCAweDYyLCAweDYxLCAweDU5LCAweDU3LCAweDU1LAorIDB4NTQsIDB4NTMsIDB4NTIsIDB4NEUsIDB4NDksIDB4NDgsIDB4NDcsIDB4NDYsIDB4NDUsIDB4NDQsIDB4NDMsIDB4NDIsIDB4NDEsCisgMHg0QSwgMHgyOCwgMHgxQiwgMHgyRCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2OSwgMHg0OSwgMHg0QSwgMHgyOCwKKyAweDFCLCAweDZDLCAweDRDLCAweDRBLCAweDI4LCAweDFCLCAweDZDLCAweDRDLCAweDRBLCAweDI4LCAweDFCLCAweDY5LCAweDQ5LAorIDB4NEEsIDB4MjgsIDB4MUIsIDB4NzIsIDB4NTIsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MUIsIDB4NzksIDB4NzAsIDB4NTksIDB4NTAsCisgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHg3MiwgMHg1MiwgMHg0QSwgMHgyOCwgMHgxQiwgMHg3NSwgMHg1NSwgMHg0QSwKKyAweDI4LCAweDFCLCAweDY1LCAweDQ1LCAweDRBLCAweDI4LCAweDFCLCAweDJCLCAweDRBLCAweDI4LCAweDFCLCAweDMzLCAweDRBLAorIDB4MjgsIDB4MUIsIDB4MzcsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzIsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MkQsIDB4NEEsIDB4MjgsCisgMHg0QSwgMHgyOCwgMHgxQiwgMHg3MiwgMHg1MiwgMHg0QSwgMHgyOCwgMHgxQiwgMHg3NSwgMHg1NSwgMHg0QSwgMHgyOCwgMHgxQiwKKyAweDY1LCAweDQ1LCAweDRBLCAweDI4LCAweDFCLCAweDJCLCAweDRBLCAweDI4LCAweDFCLCAweDM3LCAweDRBLCAweDI4LCAweDFCLAorIDB4MzcsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzIsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MkQsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MUIsCisgMHg0QiwgMHg2QiwgMHg2NSwgMHg0NSwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHg3MiwgMHg1MiwgMHg0QSwgMHgyOCwKKyAweDFCLCAweDc1LCAweDU1LCAweDRBLCAweDI4LCAweDFCLCAweDY1LCAweDQ1LCAweDRBLCAweDI4LCAweDFCLCAweDJCLCAweDRBLAorIDB4MjgsIDB4MUIsIDB4MzQsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzIsIDB4NEEsIDB4MjgsCisgMHgxQiwgMHgyRCwgMHg0QSwgMHgyOCwgMHgxQiwgMHg3MywgMHg1MywgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHg3MiwKKyAweDUyLCAweDRBLCAweDI4LCAweDFCLCAweDc1LCAweDU1LCAweDRBLCAweDI4LCAweDFCLCAweDY1LCAweDQ1LCAweDRBLCAweDI4LAorIDB4MUIsIDB4MkIsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzcsIDB4NEEsIDB4MjgsIDB4MUIsCisgMHgzMiwgMHg0QSwgMHgyOCwgMHgxQiwgMHgyRCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHg3MiwgMHg1MiwgMHg0QSwKKyAweDI4LCAweDFCLCAweDc1LCAweDU1LCAweDRBLCAweDI4LCAweDFCLCAweDY1LCAweDQ1LCAweDRBLCAweDI4LCAweDFCLCAweDJCLAorIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzcsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzksIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzIsIDB4NEEsCisgMHgyOCwgMHgxQiwgMHgyRCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgxQiwgMHg0OSwgMHg2OSwgMHg3MiwgMHg1MiwgMHg0QSwgMHgyOCwKKyAweDRBLCAweDI4LCAweDFCLCAweDcyLCAweDUyLCAweDRBLCAweDI4LCAweDFCLCAweDc1LCAweDU1LCAweDRBLCAweDI4LCAweDFCLAorIDB4NjUsIDB4NDUsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MkIsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzUsIDB4NEEsIDB4MjgsIDB4MUIsCisgMHgzOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzMiwgMHg0QSwgMHgyOCwgMHgxQiwgMHgyRCwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2MiwKKyAweDQyLCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDcyLCAweDUyLCAweDRBLCAweDI4LCAweDFCLCAweDc1LCAweDU1LAorIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjUsIDB4NDUsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MkIsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzAsCisgMHg0QSwgMHgyOCwgMHgxQiwgMHgzMCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzNSwgMHg0QSwgMHgyOCwgMHgxQiwgMHgyRCwgMHg0QSwKKyAweDI4LCAweDFCLCAweDZDLCAweDRDLCAweDRBLCAweDI4LCAweDFCLCAweDYxLCAweDQxLCAweDRBLCAweDI4LCAweDFCLCAweDZFLAorIDB4NEUsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NkYsIDB4NEYsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjksIDB4NDksIDB4NEEsIDB4MjgsCisgMHgxQiwgMHg3NCwgMHg1NCwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2MSwgMHg0MSwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2RSwgMHg0RSwKKyAweDRBLCAweDI4LCAweDFCLCAweDcyLCAweDUyLCAweDRBLCAweDI4LCAweDFCLCAweDY1LCAweDQ1LCAweDRBLCAweDI4LCAweDFCLAorIDB4NzQsIDB4NTQsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NzIsIDB4NTIsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NzUsCisgMHg1NSwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2NSwgMHg0NSwgMHg0QSwgMHgyOCwgMHgxQiwgMHgyQiwgMHg0QSwgMHgyOCwgMHgxQiwKKyAweDMxLCAweDRBLCAweDI4LCAweDFCLCAweDM3LCAweDRBLCAweDI4LCAweDFCLCAweDM4LCAweDRBLCAweDI4LCAweDFCLCAweDJELAorIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NzIsIDB4NTIsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NzUsIDB4NTUsIDB4NEEsCisgMHgyOCwgMHgxQiwgMHg2NSwgMHg0NSwgMHg0QSwgMHgyOCwgMHgxQiwgMHgyQiwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzMCwgMHg0QSwKKyAweDI4LCAweDFCLCAweDM4LCAweDRBLCAweDI4LCAweDFCLCAweDMyLCAweDRBLCAweDI4LCAweDFCLCAweDJELCAweDRBLCAweDI4LAorIDB4MUIsIDB4MUIsIDB4MUIsIDB4NzQsIDB4NzMsIDB4NkUsIDB4NTQsIDB4NTMsIDB4NEUsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsCisgMHgxQiwgMHg2RSwgMHg0RSwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2MSwgMHg0MSwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2QiwgMHg0QiwKKyAweDRBLCAweDI4LCAweDFCLCAweDJELCAweDRBLCAweDI4LCAweDFCLCAweDcwLCAweDUwLCAweDRBLCAweDI4LCAweDRBLCAweDI4LAorIDB4MUIsIDB4NzIsIDB4NTIsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NzUsIDB4NTUsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjUsIDB4NDUsCisgMHg0QSwgMHgyOCwgMHgxQiwgMHgyRCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgyRCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzOSwgMHg0QSwKKyAweDI4LCAweDFCLCAweDZFLCAweDRFLCAweDRBLCAweDI4LCAweDFCLCAweDY5LCAweDQ5LCAweDRBLCAweDI4LCAweDFCLCAweDc0LAorIDB4NTQsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjEsIDB4NDEsIDB4NEEsIDB4MjgsIDB4NkYsIDB4NEYsIDB4NEEsIDB4MjgsIDB4NjUsCisgMHg0NSwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHg3MiwgMHg1MiwgMHg0QSwgMHgyOCwgMHgxQiwgMHg3NSwgMHg1NSwKKyAweDRBLCAweDI4LCAweDFCLCAweDY1LCAweDQ1LCAweDRBLCAweDI4LCAweDFCLCAweDJCLCAweDRBLCAweDI4LCAweDFCLCAweDM3LAorIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzMsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MkQsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NzMsIDB4NTMsCisgMHg0QSwgMHgyOCwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwKKyAweDc1LCAweDczLCAweDZFLCAweDZDLCAweDZBLCAweDY5LCAweDY3LCAweDY2LCAweDY1LCAweDY0LCAweDYzLCAweDU1LCAweDUzLAorIDB4NEUsIDB4NEMsIDB4NEEsIDB4NDksIDB4NDcsIDB4NDYsIDB4NDUsIDB4NDQsIDB4NDMsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MkQsCisgMHg0QSwgMHgyOCwgMHgwMCwgMHgxQiwgMHg2MywgMHg0MywgMHg0QSwgMHgyOCwgMHgxQiwgMHg2OSwgMHg0OSwgMHg0QSwgMHgyOCwKKyAweDFCLCAweDY0LCAweDQ0LCAweDRBLCAweDI4LCAweDFCLCAweDYzLCAweDQzLCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLAorIDB4MzEsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzEsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MkQsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjEsCisgMHg0MSwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2RCwgMHg0RCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzMiwgMHg0QSwKKyAweDI4LCAweDFCLCAweDM5LCAweDRBLCAweDI4LCAweDFCLCAweDVGLCAweDRBLCAweDI4LCAweDFCLCAweDc0LCAweDU0LCAweDRBLAorIDB4MjgsIDB4MUIsIDB4NkYsIDB4NEYsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsCisgMHg2OCwgMHg0OCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgxQiwgMHgxQiwgMHg3NCwgMHg2QiwgMHg2QSwgMHg2MywgMHg1NCwgMHg0QiwKKyAweDRBLCAweDQzLCAweDRBLCAweDI4LCAweDFCLCAweDc0LCAweDU0LCAweDJELCAweDRBLCAweDI4LCAweDFCLCAweDYzLCAweDQzLAorIDB4NEEsIDB4MjgsIDB4NUYsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NzIsIDB4NTIsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NkYsIDB4NEYsCisgMHg0QSwgMHgyOCwgMHgxQiwgMHg2NiwgMHg0NiwgMHg0QSwgMHgyOCwgMHgxQiwgMHg1RiwgMHg0QSwgMHgyOCwgMHgxQiwgMHg3NCwKKyAweDU0LCAweDRBLCAweDI4LCAweDFCLCAweDYxLCAweDQxLCAweDRBLCAweDI4LCAweDFCLCAweDZELCAweDRELCAweDRBLCAweDI4LAorIDB4MUIsIDB4NzIsIDB4NTIsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NkYsIDB4NEYsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjYsIDB4NDYsCisgMHg0QSwgMHgyOCwgMHgxQiwgMHg1RiwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2NCwgMHg0NCwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2NSwKKyAweDQ1LCAweDRBLCAweDI4LCAweDFCLCAweDZCLCAweDRCLCAweDRBLCAweDI4LCAweDFCLCAweDYzLCAweDQzLCAweDRBLCAweDI4LAorIDB4MUIsIDB4NjEsIDB4NDEsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NzAsIDB4NTAsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NUYsIDB4NEEsCisgMHgyOCwgMHgxQiwgMHg2NSwgMHg0NSwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2NCwgMHg0NCwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2RiwKKyAweDRGLCAweDRBLCAweDI4LCAweDFCLCAweDYzLCAweDQzLCAweDRBLCAweDI4LCAweDFCLCAweDVGLCAweDRBLCAweDI4LCAweDFCLAorIDB4NzgsIDB4NTgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjksIDB4NDksIDB4NEEsIDB4MjgsIDB4MUIsIDB4NkUsIDB4NEUsIDB4NEEsCisgMHgyOCwgMHgxQiwgMHg3NSwgMHg1NSwgMHg0QSwgMHgyOCwgMHgxQiwgMHg1RiwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2NCwgMHg0NCwKKyAweDRBLCAweDI4LCAweDFCLCAweDY1LCAweDQ1LCAweDRBLCAweDI4LCAweDFCLCAweDY0LCAweDQ0LCAweDRBLCAweDI4LCAweDFCLAorIDB4NkUsIDB4NEUsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjUsIDB4NDUsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NzQsIDB4NTQsIDB4NEEsCisgMHgyOCwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHg3OCwgMHg3NSwgMHg2QywgMHg2MywgMHg2MiwgMHg1OCwgMHg1NSwKKyAweDRDLCAweDQzLCAweDQyLCAweDRBLCAweDI4LCAweDJELCAweDRBLCAweDI4LCAweDFCLCAweDMyLCAweDRBLCAweDI4LCAweDFCLAorIDB4MzEsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzMsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzIsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NEIsCisgMHg2QiwgMHg1RiwgMHgzMiwgMHg0QSwgMHgyOCwgMHgwMCwgMHgxQiwgMHg2QiwgMHg0QiwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2NSwKKyAweDQ1LCAweDRBLCAweDI4LCAweDFCLCAweDY1LCAweDQ1LCAweDRBLCAweDI4LCAweDFCLCAweDFCLCAweDcyLCAweDYyLCAweDUyLAorIDB4NDIsIDB4NEEsIDB4MjgsIDB4MkQsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NzAsIDB4NjUsIDB4NTAsIDB4NDUsIDB4NEEsIDB4MjgsCisgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgxQiwgMHgzOSwgMHgzNiwgMHgzMSwgMHgzMCwgMHg0QSwgMHgyOCwgMHg0QSwKKyAweDI4LCAweDAwLCAweDFCLCAweDAwLCAweDFCLCAweDM4LCAweDMyLCAweDM3LCAweDM1LCAweDMxLCAweDMwLCAweDRBLCAweDI4LAorIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsCisgMHgyOCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwKKyAweDFCLCAweDM5LCAweDM4LCAweDM2LCAweDM1LCAweDM0LCAweDMzLCAweDMyLCAweDMxLCAweDMwLCAweDRBLCAweDI4LCAweDRBLAorIDB4MjgsIDB4MUIsIDB4MzAsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzUsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MUIsCisgMHgxQiwgMHgzMiwgMHgzMSwgMHgzMCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgwMCwgMHgxQiwgMHgwMCwKKyAweDFCLCAweDFCLCAweDFCLCAweDM5LCAweDM0LCAweDM2LCAweDM3LCAweDM4LCAweDM1LCAweDMzLCAweDMyLCAweDMxLCAweDRBLAorIDB4MjgsIDB4MUIsIDB4MkQsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjEsIDB4NDEsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NkUsIDB4NEUsCisgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHg0QSwKKyAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDM5LCAweDM4LCAweDM1LAorIDB4MzQsIDB4MzIsIDB4MzEsIDB4MzAsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsCisgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgzNCwgMHgzNiwgMHgzNSwgMHgzMywgMHgzMiwKKyAweDMxLCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDM2LAorIDB4MzUsIDB4MzAsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MzgsIDB4MzcsCisgMHgzNSwgMHgzMywgMHgzMCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzMiwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwKKyAweDFCLCAweDM4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLAorIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MzksIDB4MzgsIDB4MzcsIDB4MzYsIDB4MzQsIDB4MzEsIDB4NEEsIDB4MjgsCisgMHg0QSwgMHgyOCwgMHgxQiwgMHgzNSwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzMywgMHg0QSwgMHgyOCwgMHgxQiwgMHgxQiwgMHgxQiwKKyAweDFCLCAweDFCLCAweDM3LCAweDMzLCAweDMyLCAweDMxLCAweDMwLCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDM0LAorIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzYsIDB4MzUsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzAsIDB4NEEsIDB4MjgsCisgMHgxQiwgMHgzMCwgMHgzNCwgMHgzNSwgMHgzNywgMHg0QSwgMHgyOCwgMHgxQiwgMHgxQiwgMHgzOSwgMHgzNywgMHgzOCwgMHgzNSwKKyAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDMyLCAweDRBLCAweDI4LCAweDFCLCAweDM3LCAweDRBLAorIDB4MjgsIDB4MUIsIDB4MUIsIDB4MzcsIDB4MzYsIDB4MzMsIDB4MzAsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzcsCisgMHgzOSwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgxQiwKKyAweDFCLCAweDFCLCAweDM3LCAweDM2LCAweDM1LCAweDM0LCAweDRBLCAweDI4LCAweDFCLCAweDFCLCAweDMyLCAweDM5LCAweDMzLAorIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MzAsIDB4MzUsCisgMHgzMywgMHgzMiwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzMiwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHg0QSwKKyAweDI4LCAweDFCLCAweDFCLCAweDM1LCAweDM0LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDM3LCAweDRBLCAweDI4LAorIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzQsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzMsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MUIsCisgMHgxQiwgMHgxQiwgMHgzNywgMHgzNCwgMHgzMywgMHgzMSwgMHgzMCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzNSwKKyAweDRBLCAweDI4LCAweDFCLCAweDM5LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDRBLAorIDB4MjgsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MzQsIDB4MzMsIDB4MzIsIDB4MzEsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzIsCisgMHg0QSwgMHgyOCwgMHgxQiwgMHgxQiwgMHgzMiwgMHgzMSwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwKKyAweDFCLCAweDM3LCAweDMzLCAweDMyLCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDRBLAorIDB4MjgsIDB4MDAsIDB4MUIsIDB4MzAsIDB4MzIsIDB4MzMsIDB4MzUsIDB4MzYsIDB4MzksIDB4MzgsIDB4MzQsIDB4MzEsIDB4NEEsCisgMHgyOCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgzOCwgMHgzOSwKKyAweDM3LCAweDM2LCAweDM1LCAweDMzLCAweDMxLCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LAorIDB4MUIsIDB4MDAsIDB4MUIsIDB4MDAsIDB4MUIsIDB4MzQsIDB4MzYsIDB4MzUsIDB4MzMsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsCisgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgwMCwgMHgzMywgMHgzMiwgMHgzNiwgMHgzNywgMHgzOSwKKyAweDM0LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDFCLCAweDFCLCAweDFCLAorIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MzcsIDB4MzYsIDB4MzUsIDB4MzQsIDB4MzMsIDB4MzIsIDB4MzEsIDB4MzAsIDB4NEEsCisgMHgyOCwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgzMCwgMHg3NCwgMHg1NCwKKyAweDM5LCAweDM4LCAweDM3LCAweDM2LCAweDM1LCAweDM0LCAweDMzLCAweDMyLCAweDMxLCAweDRBLCAweDI4LCAweDMxLCAweDMwLAorIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MzMsIDB4MzAsIDB4NEEsIDB4MjgsIDB4NEEsCisgMHgyOCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgzOSwgMHgzOCwKKyAweDM3LCAweDM1LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDFCLCAweDM2LCAweDMwLCAweDRBLAorIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MzMsIDB4MzIsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsCisgMHgxQiwgMHgzMCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgxQiwgMHgxQiwKKyAweDM3LCAweDMzLCAweDMyLCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LAorIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsCisgMHgzOSwgMHgzOCwgMHgzNywgMHgzNiwgMHgzNSwgMHgzMywgMHgzMSwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwKKyAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLAorIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MzcsIDB4MzYsIDB4MzUsIDB4MzQsIDB4MzMsIDB4MzIsCisgMHgzMSwgMHgzMCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgzOSwKKyAweDM4LCAweDM3LCAweDM1LCAweDM0LCAweDMzLCAweDMyLCAweDMwLCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LAorIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MUIsCisgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgzOSwgMHgzOCwgMHgzNSwgMHgzNCwgMHgzMiwgMHgzMSwgMHgzMCwgMHg0QSwgMHgyOCwKKyAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLAorIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MzYsIDB4MzUsIDB4MzQsIDB4MzMsIDB4MzIsIDB4MzEsIDB4NEEsIDB4MjgsCisgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgxQiwgMHgxQiwKKyAweDFCLCAweDFCLCAweDM4LCAweDM3LCAweDM1LCAweDMzLCAweDMwLCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LAorIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MzksIDB4MzgsIDB4MzcsIDB4MzYsIDB4NEEsCisgMHgyOCwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgzMywgMHgzMiwgMHgzMSwgMHgzMCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwKKyAweDFCLCAweDM5LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLAorIDB4MUIsIDB4MUIsIDB4MUIsIDB4MzcsIDB4MzYsIDB4MzUsIDB4MzQsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MzksIDB4MzMsCisgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgxQiwgMHgxQiwgMHgzNSwgMHgzMywKKyAweDMyLCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDMyLCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LAorIDB4MUIsIDB4MUIsIDB4MzUsIDB4MzQsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzcsIDB4NEEsIDB4MjgsIDB4MUIsCisgMHgxQiwgMHgxQiwgMHgxQiwgMHgzNCwgMHgzMywgMHgzMSwgMHgzMCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzMSwKKyAweDRBLCAweDI4LCAweDFCLCAweDM2LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLAorIDB4MUIsIDB4MUIsIDB4MzYsIDB4MzUsIDB4MzMsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzQsIDB4NEEsIDB4MjgsCisgMHgxQiwgMHgxQiwgMHgzNCwgMHgzMCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgzOSwKKyAweDM4LCAweDM1LCAweDM0LCAweDMxLCAweDMwLCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDMwLCAweDRBLCAweDI4LAorIDB4MUIsIDB4MzcsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzIsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsCisgMHgzOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgxQiwgMHgzNCwgMHgzMSwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzNSwKKyAweDRBLCAweDI4LCAweDFCLCAweDMzLCAweDRBLCAweDI4LCAweDFCLCAweDFCLCAweDFCLCAweDM3LCAweDMzLCAweDMyLCAweDRBLAorIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzQsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzUsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsCisgMHgxQiwgMHgzMCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzNywgMHg0QSwgMHgyOCwgMHgxQiwgMHgxQiwgMHgzOCwgMHgzNSwgMHg0QSwKKyAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDMyLCAweDRBLCAweDI4LCAweDFCLCAweDM3LCAweDRBLCAweDI4LCAweDFCLCAweDMzLAorIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzQsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzMsIDB4NEEsIDB4MjgsIDB4MUIsCisgMHgzNywgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzNSwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzOSwgMHg0QSwgMHgyOCwKKyAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDM0LAorIDB4MzMsIDB4MzIsIDB4MzEsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzIsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MzIsIDB4MzEsCisgMHg0QSwgMHgyOCwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgxQiwgMHgzNiwgMHgzNSwgMHgzMywgMHgzMiwgMHgzMSwKKyAweDMwLCAweDRBLCAweDI4LCAweDFCLCAweDY0LCAweDQ0LCAweDRBLCAweDI4LCAweDFCLCAweDY5LCAweDQ5LCAweDRBLCAweDI4LAorIDB4MUIsIDB4NzMsIDB4NTMsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjMsIDB4NDMsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MUIsCisgMHg2MywgMHg0MywgMHgzOSwgMHgzOCwgMHgzNywgMHgzNSwgMHgzNCwgMHgzMywgMHgzMiwgMHgzMSwgMHgzMCwgMHgyRCwgMHg0QSwKKyAweDI4LCAweDFCLCAweDZELCAweDRELCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDJELCAweDRBLCAweDI4LCAweDFCLAorIDB4NzMsIDB4NTMsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjMsIDB4NDMsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NzUsIDB4NTUsIDB4NEEsCisgMHgyOCwgMHgxQiwgMHgyRCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzNiwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzNCwgMHg0QSwgMHgyOCwKKyAweDFCLCAweDM2LCAweDRBLCAweDI4LCAweDFCLCAweDMwLCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDJELCAweDRBLAorIDB4MjgsIDB4MUIsIDB4NkUsIDB4NEUsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjksIDB4NDksIDB4NEEsIDB4MjgsIDB4MUIsIDB4NzQsCisgMHg1NCwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2MSwgMHg0MSwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2QywgMHg0QywgMHg0QSwgMHgyOCwKKyAweDFCLCAweDJELCAweDRBLCAweDI4LCAweDFCLCAweDMxLCAweDRBLCAweDI4LCAweDFCLCAweDJFLCAweDRBLCAweDI4LCAweDFCLAorIDB4MzMsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MkQsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NzMsIDB4NTMsIDB4NEEsIDB4MjgsIDB4MUIsCisgMHg3NywgMHg1NywgMHg0QSwgMHgyOCwgMHgxQiwgMHg2RiwgMHg0RiwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2NCwgMHg0NCwgMHg0QSwKKyAweDI4LCAweDFCLCAweDZFLCAweDRFLCAweDRBLCAweDI4LCAweDFCLCAweDY5LCAweDQ5LCAweDRBLCAweDI4LCAweDFCLCAweDc3LAorIDB4NTcsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzMsIDB4MzUsIDB4MkQsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MkQsCisgMHg0QSwgMHgyOCwgMHgxQiwgMHg2RSwgMHg0RSwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2OSwgMHg0OSwgMHg0QSwgMHgyOCwgMHgxQiwKKyAweDc0LCAweDU0LCAweDRBLCAweDI4LCAweDFCLCAweDYxLCAweDQxLCAweDRBLCAweDI4LCAweDFCLCAweDZDLCAweDRDLCAweDRBLAorIDB4MjgsIDB4MUIsIDB4MkQsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NzMsIDB4NTMsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NzcsIDB4NTcsCisgMHg0QSwgMHgyOCwgMHgxQiwgMHg2RiwgMHg0RiwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2NCwgMHg0NCwgMHg0QSwgMHgyOCwgMHgxQiwKKyAweDZFLCAweDRFLCAweDRBLCAweDI4LCAweDFCLCAweDY5LCAweDQ5LCAweDRBLCAweDI4LCAweDFCLCAweDc3LCAweDU3LCAweDRBLAorIDB4MjgsIDB4MUIsIDB4MkQsIDB4NEEsIDB4MjgsIDB4MDAsIDB4MUIsIDB4MDAsIDB4MUIsIDB4MzYsIDB4MzMsIDB4MzQsIDB4MzksCisgMHgzNywgMHgzOCwgMHgzNSwgMHgzMiwgMHgzMSwgMHg0QSwgMHgyOCwgMHgxQiwgMHgyRCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzOSwKKyAweDRBLCAweDI4LCAweDFCLCAweDM1LCAweDRBLCAweDI4LCAweDFCLCAweDM4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDRBLAorIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MzMsCisgMHgzNCwgMHgzMiwgMHgzMSwgMHgzMCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzNiwgMHgzNSwgMHgzMSwgMHg0QSwgMHgyOCwgMHgxQiwKKyAweDJELCAweDRBLCAweDI4LCAweDFCLCAweDcyLCAweDUyLCAweDRBLCAweDI4LCAweDFCLCAweDFCLCAweDFCLCAweDY5LCAweDQ5LAorIDB4MzgsIDB4MzEsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NzUsIDB4NTUsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MkQsCisgMHg0QSwgMHgyOCwgMHgxQiwgMHgzNiwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzNCwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwKKyAweDM5LCAweDRBLCAweDI4LCAweDFCLCAweDM5LCAweDRBLCAweDI4LCAweDFCLCAweDMxLCAweDRBLCAweDI4LCAweDFCLCAweDNBLAorIDB4NEEsIDB4MjgsIDB4MUIsIDB4NzYsIDB4NTYsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NzIsIDB4NTIsIDB4NEEsIDB4MjgsIDB4MUIsCisgMHg2OSwgMHg0OSwgMHg0QSwgMHgyOCwgMHgxQiwgMHgyRSwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzNiwgMHg0QSwgMHgyOCwgMHgxQiwKKyAweDM0LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDM4LCAweDRBLCAweDI4LCAweDFCLCAweDM5LCAweDRBLCAweDI4LAorIDB4MUIsIDB4MzEsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzUsIDB4M0EsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzgsCisgMHg0QSwgMHgyOCwgMHgxQiwgMHgzOSwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzMSwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzQSwgMHg0QSwKKyAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDM4LCAweDRBLCAweDI4LCAweDFCLCAweDM5LCAweDRBLCAweDI4LCAweDFCLCAweDMxLAorIDB4NEEsIDB4MjgsIDB4MUIsIDB4M0EsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzgsIDB4NEEsIDB4MjgsIDB4MUIsCisgMHgzOSwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzMSwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzQSwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwKKyAweDFCLCAweDM4LCAweDRBLCAweDI4LCAweDFCLCAweDM5LCAweDRBLCAweDI4LCAweDFCLCAweDMxLCAweDRBLCAweDI4LCAweDFCLAorIDB4M0EsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzksIDB4NEEsIDB4MjgsCisgMHgxQiwgMHgzMSwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzQSwgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzOCwgMHg0QSwKKyAweDI4LCAweDFCLCAweDM5LCAweDRBLCAweDI4LCAweDFCLCAweDMxLCAweDRBLCAweDI4LCAweDFCLCAweDNBLCAweDRBLCAweDI4LAorIDB4MzgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzksIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzEsIDB4NEEsIDB4MjgsIDB4MUIsIDB4M0EsCisgMHg0QSwgMHgyOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzOCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzOSwgMHg0QSwgMHgyOCwgMHgxQiwKKyAweDMxLCAweDRBLCAweDI4LCAweDFCLCAweDNBLCAweDRBLCAweDI4LCAweDAwLCAweDFCLCAweDAwLCAweDFCLCAweDAwLCAweDFCLAorIDB4MDAsIDB4MUIsIDB4MDAsIDB4MUIsIDB4MDAsIDB4MUIsIDB4MDAsIDB4MUIsIDB4MDAsIDB4MUIsIDB4MDAsIDB4MUIsIDB4MzksCisgMHgzOCwgMHgzNywgMHgzNiwgMHgzNSwgMHgzNCwgMHgzMywgMHgzMiwgMHgzMSwgMHg0QSwgMHgyOCwgMHgxQiwgMHgyRCwgMHg0QSwKKyAweDI4LCAweDFCLCAweDM5LCAweDRBLCAweDI4LCAweDFCLCAweDM1LCAweDRBLCAweDI4LCAweDFCLCAweDM4LCAweDRBLCAweDI4LAorIDB4MUIsIDB4MUIsIDB4MzgsIDB4MzYsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MUIsIDB4MUIsIDB4NUYsIDB4MzYsIDB4MkQsIDB4NEEsCisgMHgyOCwgMHgxQiwgMHg2RiwgMHg0RiwgMHg0QSwgMHgyOCwgMHgxQiwgMHgxQiwgMHgxQiwgMHg3MywgMHg2MiwgMHg2MSwgMHg1MywKKyAweDQyLCAweDQxLCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDMwLCAweDRBLCAweDI4LCAweDFCLCAweDMyLCAweDRBLAorIDB4MjgsIDB4MUIsIDB4MzAsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NTgsIDB4NzgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NUYsIDB4NEEsCisgMHgyOCwgMHgxQiwgMHg3MywgMHg1MywgMHg0QSwgMHgyOCwgMHgxQiwgMHg2OSwgMHg0OSwgMHg0QSwgMHgyOCwgMHgyRCwgMHg0QSwKKyAweDI4LCAweDFCLCAweDM4LCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDYxLCAweDQxLCAweDRBLCAweDI4LCAweDFCLAorIDB4NjUsIDB4NDUsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MUIsIDB4NzIsIDB4NjksIDB4NTIsIDB4NDksIDB4NEEsIDB4MjgsIDB4NEEsCisgMHgyOCwgMHgxQiwgMHgzMCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzNiwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzNSwgMHg0QSwgMHgyOCwKKyAweDFCLCAweDVGLCAweDRBLCAweDI4LCAweDRBLCAweDI4LCAweDFCLCAweDM4LCAweDRBLCAweDI4LCAweDFCLCAweDM5LCAweDRBLAorIDB4MjgsIDB4MUIsIDB4MzEsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MkQsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzEsIDB4NEEsIDB4MjgsCisgMHgxQiwgMHgzMCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzNiwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzNSwgMHg0QSwgMHgyOCwgMHgxQiwKKyAweDVGLCAweDRBLCAweDI4LCAweDFCLCAweDYzLCAweDQzLCAweDRBLCAweDI4LCAweDFCLCAweDFCLCAweDYzLCAweDVGLCAweDQzLAorIDB4NEEsIDB4MjgsIDB4MUIsIDB4MUIsIDB4NzMsIDB4NkYsIDB4NTMsIDB4NEYsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsCisgMHgzMSwgMHgzMiwgMHgzMywgMHgzNCwgMHgzNSwgMHgyRCwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2RSwgMHg0RSwgMHg0QSwgMHgyOCwKKyAweDFCLCAweDY5LCAweDQ5LCAweDRBLCAweDI4LCAweDFCLCAweDc0LCAweDU0LCAweDRBLCAweDI4LCAweDFCLCAweDMxLCAweDMyLAorIDB4MzMsIDB4MzQsIDB4MzUsIDB4NjEsIDB4NDEsIDB4NEEsIDB4MjgsIDB4MzMsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsCisgMHg2QSwgMHg0QSwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2RSwgMHg0RSwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2MSwgMHg0MSwgMHg0QSwKKyAweDI4LCAweDFCLCAweDZCLCAweDRCLCAweDRBLCAweDI4LCAweDFCLCAweDFCLCAweDM5LCAweDVGLCAweDRBLCAweDI4LCAweDFCLAorIDB4NzMsIDB4NTMsIDB4NEEsIDB4MjgsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NzIsIDB4NTIsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NzUsCisgMHg1NSwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2NSwgMHg0NSwgMHg0QSwgMHgyOCwgMHgxQiwgMHgyQiwgMHg0QSwgMHgyOCwgMHgxQiwKKyAweDMwLCAweDRBLCAweDI4LCAweDFCLCAweDM1LCAweDRBLCAweDI4LCAweDFCLCAweDM4LCAweDRBLCAweDI4LCAweDFCLCAweDJELAorIDB4NEEsIDB4MjgsIDB4MUIsIDB4NkMsIDB4NEMsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjEsIDB4NDEsIDB4NEEsIDB4MjgsIDB4MUIsCisgMHg3NSwgMHg1NSwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2NywgMHg0NywgMHg0QSwgMHgyOCwgMHgxQiwgMHg2RSwgMHg0RSwgMHg0QSwKKyAweDI4LCAweDFCLCAweDY5LCAweDQ5LCAweDRBLCAweDI4LCAweDFCLCAweDZDLCAweDRDLCAweDRBLCAweDI4LCAweDFCLCAweDY5LAorIDB4NDksIDB4NEEsIDB4MjgsIDB4MUIsIDB4NzQsIDB4NTQsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NkMsIDB4NEMsIDB4NEEsIDB4MjgsCisgMHgxQiwgMHg3NSwgMHg1NSwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2RCwgMHg0RCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgyRCwgMHg0QSwKKyAweDI4LCAweDFCLCAweDYzLCAweDQzLCAweDRBLCAweDI4LCAweDM4LCAweDZGLCAweDRGLCAweDRBLCAweDI4LCAweDVGLCAweDRBLAorIDB4MjgsIDB4MUIsIDB4NzQsIDB4NTQsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjYsIDB4NDYsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjksCisgMHg0OSwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2OCwgMHg0OCwgMHg0QSwgMHgyOCwgMHgyRCwgMHg0QSwgMHgyOCwgMHgxQiwgMHg3MywKKyAweDUzLCAweDRBLCAweDI4LCAweDFCLCAweDY5LCAweDQ5LCAweDRBLCAweDI4LCAweDMyLCAweDJELCAweDRBLCAweDI4LCAweDFCLAorIDB4NzMsIDB4NTMsIDB4NEEsIDB4MjgsIDB4NzMsIDB4NTMsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NjEsIDB4NDEsIDB4NEEsIDB4MjgsCisgMHgxQiwgMHgyRCwgMHg0QSwgMHgyOCwgMHg2QywgMHg2MiwgMHg0QywgMHg0MiwgMHgyRCwgMHg0QSwgMHgyOCwgMHgxQiwgMHgzNiwKKyAweDRBLCAweDI4LCAweDZDLCAweDYyLCAweDRDLCAweDQyLCAweDJELCAweDRBLCAweDI4LCAweDFCLCAweDMyLCAweDRBLCAweDI4LAorIDB4MUIsIDB4MUIsIDB4MzgsIDB4MzMsIDB4MzEsIDB4NEEsIDB4MjgsIDB4MUIsIDB4MzgsIDB4MzMsIDB4MzEsIDB4MkQsIDB4NEEsCisgMHgyOCwgMHgxQiwgMHg2NiwgMHg0NiwgMHg0QSwgMHgyOCwgMHgxQiwgMHgwMCwgMHgxQiwgMHgxQiwgMHg3NCwgMHg3MywgMHg2MywKKyAweDU0LCAweDUzLCAweDQzLCAweDRBLCAweDI4LCAweDM5LCAweDMxLCAweDRBLCAweDI4LCAweDFCLCAweDJELCAweDRBLCAweDI4LAorIDB4MUIsIDB4NzMsIDB4NTMsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NzcsIDB4NTcsIDB4NEEsIDB4MjgsIDB4MUIsIDB4NkYsIDB4NEYsCisgMHg0QSwgMHgyOCwgMHgxQiwgMHg2NCwgMHg0NCwgMHg0QSwgMHgyOCwgMHgxQiwgMHg2RSwgMHg0RSwgMHg0QSwgMHgyOCwgMHgxQiwKKyAweDY5LCAweDQ5LCAweDRBLCAweDI4LCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLCAweDFCLAorIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4MUIsIDB4NzgsIDB4NzcsIDB4NzUsIDB4NzQsCisgMHg3MywgMHg3MiwgMHg3MCwgMHg2RCwgMHg2QywgMHg2QiwgMHg2QSwgMHg2OSwgMHg2OCwgMHg2NywgMHg2NSwgMHg2MywgMHg2MiwKKyAweDYxLCAweDU4LCAweDU3LCAweDU1LCAweDU0LCAweDUzLCAweDUyLCAweDUwLCAweDRELCAweDRDLCAweDRCLCAweDRBLCAweDQ5LAorIDB4NDgsIDB4NDcsIDB4NDUsIDB4NDMsIDB4NDIsIDB4NDEsIDB4MzksIDB4MzgsIDB4MzQsIDB4NzgsIDB4NzcsIDB4NzUsIDB4NzQsCisgMHg3MywgMHg3MiwgMHg3MCwgMHg2RCwgMHg2QywgMHg2QiwgMHg2QSwgMHg2OSwgMHg2OCwgMHg2NywgMHg2NSwgMHg2MywgMHg2MiwKKyAweDYxLCAweDU4LCAweDU3LCAweDU1LCAweDU0LCAweDUzLCAweDUyLCAweDUwLCAweDRELCAweDRDLCAweDRCLCAweDRBLCAweDQ5LAorIDB4NDgsIDB4NDcsIDB4NDUsIDB4NDMsIDB4NDIsIDB4NDEsIDB4MzksIDB4MzgsIDB4MzQsIDB4NEEsIDB4NDIsIDB4NkUsIDB4NEUsCisgMHg2OSwgMHg0OSwgMHg2NCwgMHg0NCwgMHg2RiwgMHg0RiwgMHg2MywgMHg0MywgMHg2RSwgMHg0RSwgMHg2NSwgMHg0NSwgMHgyRCwKKyAweDY0LCAweDQ0LCAweDcyLCAweDUyLCAweDYxLCAweDQxLCAweDY0LCAweDQ0LCAweDZFLCAweDRFLCAweDYxLCAweDQxLCAweDc0LAorIDB4NTQsIDB4NzMsIDB4NTMsIDB4MkQsIDB4NjUsIDB4NDUsIDB4NjIsIDB4NDIsIDB4MzgsIDB4MzYsIDB4MzksIDB4MzEsIDB4MkQsCisgMHgzNCwgMHgyRSwgMHgzMywgMHg3OCwgMHg1OCwgMHg1RiwgMHg2OSwgMHg0OSwgMHg2OSwgMHg0OSwgMHg2MiwgMHg0MiwgMHgzMCwKKyAweDM3LCAweDJELCAweDZGLCAweDRGLCAweDY5LCAweDQ5LCAweDQzLCAweDYzLCAweDZELCAweDRELCAweDYxLCAweDQxLCAweDczLAorIDB4NTMsIDB4NkYsIDB4NEYsIDB4NjMsIDB4NDMsIDB4NzMsIDB4NTMsIDB4NkIsIDB4NEIsIDB4NjgsIDB4NDgsIDB4MkQsIDB4MzUsCisgMHg2NywgMHg0NywgMHgzMiwgMHgzNSwgMHgzNCwgMHgzMSwgMHgzOSwgMHgzOCwgMHgzMSwgMHgzMCwgMHgzMCwgMHg2NCwgMHg0NCwKKyAweDY5LCAweDQ5LCAweDczLCAweDUzLCAweDY1LCAweDQ1LCAweDZFLCAweDRFLCAweDMyLCAweDMwLCAweDMxLCAweDMzLCAweDM5LAorIDB4MzgsIDB4MzcsIDB4MzYsIDB4MzUsIDB4MzEsIDB4MzcsIDB4MzAsIDB4MzMsIDB4MzIsIDB4MzYsIDB4MzgsIDB4MzksIDB4MzcsCisgMHgzMCwgMHgzMywgMHgzMSwgMHgzMCwgMHg2OSwgMHg2NywgMHg2MSwgMHg0OSwgMHg0NywgMHg0MSwgMHg2NCwgMHg0NCwgMHg3MiwKKyAweDUyLCAweDYxLCAweDQxLCAweDY0LCAweDQ0LCAweDZFLCAweDRFLCAweDYxLCAweDQxLCAweDc0LCAweDU0LCAweDczLCAweDUzLAorIDB4NjUsIDB4NDUsIDB4NjIsIDB4NDIsIDB4NjMsIDB4NDMsIDB4NkYsIDB4NEYsIDB4MzUsIDB4NjcsIDB4NDcsIDB4NzMsIDB4NTMsCisgMHg2NSwgMHg0NSwgMHg2RSwgMHg0RSwgMHg2MSwgMHg0MSwgMHg3MCwgMHg1MCwgMHg2MSwgMHg0MSwgMHg2QSwgMHg0QSwgMHg1NCwKKyAweDc0LCAweDZELCAweDRELCAweDY2LCAweDQ2LCAweDY0LCAweDQ0LCAweDZCLCAweDRCLCAweDRCLCAweDZCLCAweDU0LCAweDc0LAorIDB4NzAsIDB4NTAsIDB4NjMsIDB4NDMsIDB4MzEsIDB4MzMsIDB4NEIsIDB4NkIsIDB4MzIsIDB4NkUsIDB4NEUsIDB4NjEsIDB4NDEsCisgMHg2QiwgMHg0QiwgMHg2MSwgMHg0MSwgMHg3NCwgMHg1NCwgMHg2MSwgMHg0MSwgMHg2QiwgMHg0QiwgMHg2OCwgMHg0OCwgMHg3NCwKKyAweDU0LCAweDY0LCAweDQ0LCAweDY5LCAweDQ5LCAweDc3LCAweDU3LCAweDY2LCAweDQ2LCAweDZFLCAweDRFLCAweDYxLCAweDQxLAorIDB4NkQsIDB4NEQsIDB4NEYsIDB4NkYsIDB4NzIsIDB4NTIsIDB4NkMsIDB4NEMsIDB4MzAsIDB4MzksIDB4MzQsIDB4MzIsIDB4NjEsCisgMHg0MSwgMHg2OCwgMHg0OCwgMHgzMSwgMHgzMCwgMHgzNywgMHgzOCwgMHgzOSwgMHgzNiwgMHgzNSwgMHgzMiwgMHgzOSwgMHgzOCwKKyAweDM3LCAweDMwLCAweDM1LCAweDMwLCAweDU0LCAweDc0LCAweDMyLCAweDMxLCAweDM5LCAweDM4LCAweDM0LCAweDZELCAweDRELAorIDB4MzgsIDB4MzIsIDB4MzEsIDB4MzMsIDB4MzIsIDB4NjIsIDB4NDIsIDB4NjcsIDB4NDcsIDB4MzEsIDB4MzksIDB4MzUsIDB4NjksCisgMHg0OSwgMHg2QywgMHg0QywgMHg2QywgMHg0QywgMHg2OSwgMHg0OSwgMHg3MiwgMHg1MiwgMHg2NSwgMHg0NSwgMHg2NSwgMHg0NSwKKyAweDY1LCAweDQ1LCAweDcyLCAweDUyLCAweDYyLCAweDQyLCAweDQ1LCAweDY1LCAweDcyLCAweDUyLCAweDc5LCAweDU5LCAweDcyLAorIDB4NTIsIDB4MzEsIDB4MzIsIDB4MzMsIDB4MzQsIDB4MzUsIDB4NjgsIDB4NjcsIDB4NjMsIDB4NjEsIDB4NDgsIDB4NDcsIDB4NDMsCisgMHg0MSwgMHg2RSwgMHg0RSwgMHg2OSwgMHg0OSwgMHg3NCwgMHg1NCwgMHg2MSwgMHg0MSwgMHgzOCwgMHgzOCwgMHg2QywgMHg0QywKKyAweDM4LCAweDM1LCAweDZGLCAweDRGLCAweDZELCAweDYyLCAweDRELCAweDQyLCAweDM4LCAweDM4LCAweDM5LCAweDMxLCAweDMxLAorIDB4MzAsIDB4MzYsIDB4MzUsIDB4NjMsIDB4NDMsIDB4NjksIDB4NDksIDB4NjksIDB4NDksIDB4NzQsIDB4NTQsIDB4NkMsIDB4NEMsCisgMHg2MSwgMHg0MSwgMHg2MiwgMHg0MiwgMHgzNSwgMHg2MSwgMHg0MSwgMHg3NSwgMHg1NSwgMHg2NywgMHg0NywgMHg2RSwgMHg0RSwKKyAweDY5LCAweDQ5LCAweDZDLCAweDRDLCAweDY5LCAweDQ5LCAweDc0LCAweDU0LCAweDZDLCAweDRDLCAweDc1LCAweDU1LCAweDZELAorIDB4NEQsIDB4NjUsIDB4NDUsIDB4NzIsIDB4NTIsIDB4NjIsIDB4NDIsIDB4NjUsIDB4NDUsIDB4NjgsIDB4NDgsIDB4NkUsIDB4NEUsCisgMHg2OSwgMHg0OSwgMHg3NCwgMHg1NCwgMHg2MSwgMHg0MSwgMHg2QywgMHg0QywgMHgzMywgMHgzNCwgMHg2NSwgMHg0NSwgMHg2NywKKyAweDQ3LCAweDYxLCAweDQxLCAweDcwLCAweDUwLCAweDY1LCAweDQ1LCAweDY0LCAweDQ0LCAweDZGLCAweDRGLCAweDMyLCAweDMwLAorIDB4MzUsIDB4MzgsIDB4NjMsIDB4NDMsIDB4MzYsIDB4MzUsIDB4MzcsIDB4NzAsIDB4NTAsIDB4MzgsIDB4MzcsIDB4NjksIDB4NDksCisgMHg2QSwgMHg0QSwgMHg1NCwgMHg3NCwgMHg2NiwgMHg0NiwgMHg2OSwgMHg0OSwgMHgzMiwgMHgzNiwgMHg1MywgMHg3MywgMHg2NCwKKyAweDQ0LCAweDZGLCAweDRGLCAweDYzLCAweDQzLCAweDQyLCAweDYyLCAweDRDLCAweDZDLCAweDQyLCAweDYyLCAweDRDLCAweDZDLAorIDB4MzIsIDB4MzYsIDB4MzgsIDB4MzMsIDB4MzEsIDB4NjYsIDB4NDYsIDB4NjksIDB4NDksIDB4MzUsIDB4NkUsIDB4NEUsIDB4NjksCisgMHg0OSwgMHg3NCwgMHg1NCwgMHg2MSwgMHg0MSwgMHg2QywgMHg0QywgMHgzMSwgMHgzMiwgMHgzMSwgMHgzMywgMHg3MywgMHg1MywKKyAweDc3LCAweDU3LCAweDZGLCAweDRGLCAweDY0LCAweDQ0LCAweDZFLCAweDRFLCAweDY5LCAweDQ5LCAweDc0LCAweDZFLCAweDU0LAorIDB4NEUsIDB4NjksIDB4NDksIDB4NjgsIDB4NDgsIDB4NjMsIDB4NDMsIDB4NzMsIDB4NkYsIDB4NTMsIDB4NEYsIDB4NzMsIDB4NjIsCisgMHg1MywgMHg0MiwgMHg1MCwgMHg3MCwgMHg2MSwgMHg0MSwgMHg2MiwgMHg0MiwgMHg3NSwgMHg1NSwgMHg2OSwgMHg0OSwgMHg1MywKKyAweDczLCAweDY0LCAweDQ0LCAweDY5LCAweDQ5LCAweDZDLCAweDRDLCAweDZDLCAweDRDLCAweDY5LCAweDQ5LCAweDcyLCAweDUyLAorIDB4NzcsIDB4NzUsIDB4NzQsIDB4NzMsIDB4NzAsIDB4NkIsIDB4NjksIDB4NjgsIDB4NjcsIDB4NjUsIDB4NjIsIDB4NjEsIDB4NTcsCisgMHg1NSwgMHg1NCwgMHg1MywgMHg1MCwgMHg0QiwgMHg0OSwgMHg0OCwgMHg0NywgMHg0NSwgMHg0MiwgMHg0MSwgMHgzOCwgMHgzNywKKyAweDM1LCAweDM0LCAweDMzLCAweDMwLCAweDM5LCAweDMyLCAweDMxLCAweDJELCAweDY5LCAweDQ5LCAweDczLCAweDUzLCAweDYzLAorIDB4NDMsIDB4NjUsIDB4NDUsIDB4NkYsIDB4NEYsIDB4NzIsIDB4NTIsIDB4NzksIDB4NzcsIDB4NzUsIDB4NzQsIDB4NzMsIDB4NzIsCisgMHg2RSwgMHg2OSwgMHg2OCwgMHg2NywgMHg2NiwgMHg2NSwgMHg2NCwgMHg2MywgMHg2MiwgMHg2MSwgMHg1OSwgMHg1NywgMHg1NSwKKyAweDU0LCAweDUzLCAweDUyLCAweDRFLCAweDQ5LCAweDQ4LCAweDQ3LCAweDQ2LCAweDQ1LCAweDQ0LCAweDQzLCAweDQyLCAweDQxLAorIDB4NjksIDB4NDksIDB4NkMsIDB4NEMsIDB4NkMsIDB4NEMsIDB4NjksIDB4NDksIDB4NzIsIDB4NTIsIDB4MkQsIDB4NzIsIDB4NTIsCisgMHg3NSwgMHg1NSwgMHg2NSwgMHg0NSwgMHgyQiwgMHgzMywgMHgzNywgMHgzMiwgMHg3MiwgMHg1MiwgMHg3NSwgMHg1NSwgMHg2NSwKKyAweDQ1LCAweDJCLCAweDM3LCAweDM3LCAweDMyLCAweDJELCAweDJELCAweDcyLCAweDUyLCAweDc1LCAweDU1LCAweDY1LCAweDQ1LAorIDB4MkIsIDB4MzQsIDB4MzgsIDB4MzIsIDB4MkQsIDB4NzIsIDB4NTIsIDB4NzUsIDB4NTUsIDB4NjUsIDB4NDUsIDB4MkIsIDB4MzgsCisgMHgzNywgMHgzMiwgMHg3MiwgMHg1MiwgMHg3NSwgMHg1NSwgMHg2NSwgMHg0NSwgMHgyQiwgMHgzNywgMHgzOSwgMHgzMiwgMHgyRCwKKyAweDJELCAweDcyLCAweDUyLCAweDc1LCAweDU1LCAweDY1LCAweDQ1LCAweDJCLCAweDM1LCAweDM4LCAweDMyLCAweDJELCAweDcyLAorIDB4NTIsIDB4NzUsIDB4NTUsIDB4NjUsIDB4NDUsIDB4MkIsIDB4MzAsIDB4MzAsIDB4MzUsIDB4MkQsIDB4NkMsIDB4NEMsIDB4NjEsCisgMHg0MSwgMHg2RSwgMHg0RSwgMHg2RiwgMHg0RiwgMHg2OSwgMHg0OSwgMHg3NCwgMHg1NCwgMHg2MSwgMHg0MSwgMHg2RSwgMHg0RSwKKyAweDcyLCAweDUyLCAweDY1LCAweDQ1LCAweDcyLCAweDUyLCAweDc1LCAweDU1LCAweDY1LCAweDQ1LCAweDJCLCAweDMxLCAweDM3LAorIDB4MzgsIDB4NzIsIDB4NTIsIDB4NzUsIDB4NTUsIDB4NjUsIDB4NDUsIDB4MkIsIDB4MzAsIDB4MzgsIDB4MzIsIDB4MkQsIDB4MkQsCisgMHg3NCwgMHg1NCwgMHg2RSwgMHg0RSwgMHg2MSwgMHg0MSwgMHg2QiwgMHg0QiwgMHgyRCwgMHg3MiwgMHg1MiwgMHg3NSwgMHg1NSwKKyAweDY1LCAweDQ1LCAweDJELCAweDJELCAweDM5LCAweDZFLCAweDRFLCAweDY5LCAweDQ5LCAweDc0LCAweDU0LCAweDcyLCAweDUyLAorIDB4NzUsIDB4NTUsIDB4NjUsIDB4NDUsIDB4MkIsIDB4MzcsIDB4MzMsIDB4MkQsIDB4NzMsIDB4NTMsIDB4NjUsIDB4NDUsIDB4NkYsCisgMHg0RiwgMHg2MSwgMHg0MSwgMHg3MCwgMHg1MCwgMHg3NCwgMHg3MywgMHg2RSwgMHg1NCwgMHg1MywgMHg0RSwgMHg2MiwgMHg0MiwKKyAweDQ5LCAweDY5LCAweDcyLCAweDUyLCAweDczLCAweDUzLCAweDRCLCAweDZCLCAweDY1LCAweDQ1LCAweDc5LCAweDcwLCAweDU5LAorIDB4NTAsIDB4NzUsIDB4NzMsIDB4NkUsIDB4NkMsIDB4NkEsIDB4NjksIDB4NjcsIDB4NjYsIDB4NjUsIDB4NjQsIDB4NjMsIDB4NTUsCisgMHg1MywgMHg0RSwgMHg0QywgMHg0QSwgMHg0OSwgMHg0NywgMHg0NiwgMHg0NSwgMHg0NCwgMHg0MywgMHgwMCwgMHgyRCwgMHg2MywKKyAweDQzLCAweDY5LCAweDQ5LCAweDY0LCAweDQ0LCAweDMxLCAweDMxLCAweDJELCAweDYxLCAweDQxLCAweDMyLCAweDM5LCAweDVGLAorIDB4NzQsIDB4NTQsIDB4NjgsIDB4NDgsIDB4NzQsIDB4NkIsIDB4NkEsIDB4NjMsIDB4NTQsIDB4NEIsIDB4NEEsIDB4NDMsIDB4NzQsCisgMHg1NCwgMHgyRCwgMHg1RiwgMHg3MiwgMHg1MiwgMHg2RiwgMHg0RiwgMHg2NiwgMHg0NiwgMHg1RiwgMHg3NCwgMHg1NCwgMHg2MSwKKyAweDQxLCAweDZELCAweDRELCAweDcyLCAweDUyLCAweDZGLCAweDRGLCAweDY2LCAweDQ2LCAweDVGLCAweDY0LCAweDQ0LCAweDY1LAorIDB4NDUsIDB4NkIsIDB4NEIsIDB4NjMsIDB4NDMsIDB4NjEsIDB4NDEsIDB4NzAsIDB4NTAsIDB4NUYsIDB4NjUsIDB4NDUsIDB4NjQsCisgMHg0NCwgMHg2RiwgMHg0RiwgMHg2MywgMHg0MywgMHg1RiwgMHg3OCwgMHg1OCwgMHg2OSwgMHg0OSwgMHg2RSwgMHg0RSwgMHg3NSwKKyAweDU1LCAweDVGLCAweDY0LCAweDQ0LCAweDY1LCAweDQ1LCAweDY0LCAweDQ0LCAweDZFLCAweDRFLCAweDY1LCAweDQ1LCAweDc0LAorIDB4NTQsIDB4NjMsIDB4NDMsIDB4NkYsIDB4NEYsIDB4NkQsIDB4NEQsIDB4NjMsIDB4NDMsIDB4MkQsIDB4MzIsIDB4MzEsIDB4MzMsCisgMHgzMiwgMHgwMCwgMHgzOCwgMHg2QiwgMHg0QiwgMHg2NSwgMHg0NSwgMHg2NSwgMHg0NSwgMHg0QiwgMHg2QiwgMHg1RiwgMHgzMiwKKyAweDAwLCAweEY4LCAweDczLCAweEQyLCAweEM1LCAweDY2LCAweEM1LCAweDY2LCAweDJELCAweDAwLCAweDMzLCAweDMxLCAweDAwLAorIDB4MzksIDB4MzYsIDB4MzEsIDB4MzAsIDB4MzUsIDB4MzAsIDB4MzksIDB4MzgsIDB4MzYsIDB4MzUsIDB4MzQsIDB4MzMsIDB4MzIsCisgMHgzMSwgMHgzMCwgMHgwMCwgMHgzNywgMHgwMCwgMHgzOCwgMHgzNiwgMHgzMiwgMHgzMSwgMHgzMCwgMHgzOCwgMHgzMiwgMHgzNywKKyAweDM1LCAweDMxLCAweDMwLCAweDM5LCAweDM0LCAweDM2LCAweDM3LCAweDM4LCAweDM1LCAweDMzLCAweDMyLCAweDMxLCAweDJELAorIDB4NjEsIDB4NDEsIDB4MzYsIDB4MzUsIDB4MzAsIDB4MzgsIDB4MzIsIDB4MzUsIDB4MzMsIDB4MzksIDB4MzgsIDB4MzcsIDB4MzYsCisgMHgzNCwgMHgzMSwgMHgzOCwgMHgzNywgMHgzNSwgMHgzMywgMHgzMCwgMHgzNCwgMHgzNiwgMHgzNSwgMHgzMywgMHgzMiwgMHgzMSwKKyAweDM5LCAweDM4LCAweDM1LCAweDM0LCAweDMyLCAweDMxLCAweDMwLCAweDM0LCAweDMwLCAweDMwLCAweDM0LCAweDM1LCAweDM3LAorIDB4MzYsIDB4MzUsIDB4MzIsIDB4MzcsIDB4MzcsIDB4MzYsIDB4MzUsIDB4MzQsIDB4MzcsIDB4MzksIDB4MzQsIDB4MzMsIDB4MzcsCisgMHgzNSwgMHgzNCwgMHgzMiwgMHgzMCwgMHgzNSwgMHgzMywgMHgzMiwgMHgzNSwgMHgzNCwgMHgzMywgMHgzMiwgMHgzMSwgMHgzMiwKKyAweDM5LCAweDAwLCAweDMyLCAweDMwLCAweDMyLCAweDMzLCAweDM1LCAweDM2LCAweDM5LCAweDM4LCAweDM0LCAweDMxLCAweDAwLAorIDB4MzYsIDB4MDAsIDB4MzAsIDB4MzcsIDB4MzgsIDB4MzksIDB4MDAsIDB4MzMsIDB4MzIsIDB4MzYsIDB4MzcsIDB4MzksIDB4MzQsCisgMHgzNCwgMHgzNiwgMHgzNSwgMHgzMywgMHgzNywgMHgzNiwgMHgzNSwgMHgzNCwgMHgzMywgMHgzMiwgMHgzMSwgMHgzMCwgMHgzOCwKKyAweDM5LCAweDM3LCAweDM2LCAweDM1LCAweDMzLCAweDMxLCAweDM3LCAweDMzLCAweDMyLCAweDMyLCAweDMxLCAweDM3LCAweDM0LAorIDB4MzMsIDB4MzEsIDB4MzAsIDB4MzIsIDB4MzksIDB4MzMsIDB4MzcsIDB4MzYsIDB4MzMsIDB4MzAsIDB4MzksIDB4MzcsIDB4MzgsCisgMHgzNSwgMHgzNywgMHgzMywgMHgzMiwgMHgzMSwgMHgzMCwgMHgzNywgMHgzNiwgMHgzNSwgMHgzNCwgMHgzMywgMHgzMiwgMHgzMSwKKyAweDMwLCAweDM5LCAweDM4LCAweDM3LCAweDM2LCAweDM1LCAweDMzLCAweDMxLCAweDM3LCAweDMzLCAweDMyLCAweDMwLCAweDMzLAorIDB4MzIsIDB4MzYsIDB4MzAsIDB4MzksIDB4MzgsIDB4MzcsIDB4MzUsIDB4MzMsIDB4MzAsIDB4MzksIDB4MzgsIDB4MzcsIDB4MzYsCisgMHgzOCwgMHgzNywgMHgzNSwgMHgzMywgMHgzMCwgMHgzNiwgMHgzNSwgMHgzNCwgMHgzMywgMHgzMiwgMHgzMSwgMHgzOSwgMHgzOCwKKyAweDM1LCAweDM0LCAweDMyLCAweDMxLCAweDMwLCAweDM3LCAweDM2LCAweDM1LCAweDM0LCAweDM5LCAweDM3LCAweDM1LCAweDM0LAorIDB4MzIsIDB4MzUsIDB4MzMsIDB4MzIsIDB4MzEsIDB4MzQsIDB4MzYsIDB4MzUsIDB4MzMsIDB4MzQsIDB4MzAsIDB4MzYsIDB4MzQsCisgMHgzMywgMHgzMSwgMHgzMCwgMHgzOSwgMHgzMywgMHgzMywgMHgzMiwgMHgzMSwgMHgzMCwgMHgzOSwgMHgzOCwgMHgzNywgMHgzNSwKKyAweDM0LCAweDMzLCAweDMyLCAweDMwLCAweDMwLCAweDM4LCAweDMyLCAweDM1LCAweDMzLCAweDM0LCAweDMxLCAweDM3LCAweDM0LAorIDB4MzAsIDB4MzcsIDB4MzUsIDB4MzIsIDB4MzcsIDB4MzQsIDB4MzMsIDB4MzUsIDB4MzQsIDB4MzMsIDB4MzIsIDB4MzEsIDB4MzIsCisgMHgzOSwgMHgzMiwgMHgzMSwgMHgzNywgMHgzMywgMHgzOCwgMHgzNSwgMHgzNywgMHgzMywgMHgzMiwgMHgzOSwgMHgzOCwgMHgzNSwKKyAweDM0LCAweDMxLCAweDMwLCAweDM2LCAweDM1LCAweDMzLCAweDMyLCAweDMxLCAweDMwLCAweDY0LCAweDQ0LCAweDY5LCAweDQ5LAorIDB4NzMsIDB4NTMsIDB4NjMsIDB4NDMsIDB4MzEsIDB4MzAsIDB4MzAsIDB4NzQsIDB4NTQsIDB4MzksIDB4MzgsIDB4MzcsIDB4MzYsCisgMHgzNSwgMHgzNCwgMHgzMywgMHgzMiwgMHgzMSwgMHg2MywgMHg0MywgMHgzOSwgMHgzOCwgMHgzNywgMHgzNSwgMHgzNCwgMHgzMywKKyAweDMyLCAweDMxLCAweDMwLCAweDJELCAweDJELCAweDczLCAweDUzLCAweDYzLCAweDQzLCAweDc1LCAweDU1LCAweDJELCAweDM2LAorIDB4MzQsIDB4MzYsIDB4MkQsIDB4NkUsIDB4NEUsIDB4NjksIDB4NDksIDB4NzQsIDB4NTQsIDB4NjEsIDB4NDEsIDB4NkMsIDB4NEMsCisgMHgyRCwgMHgzMSwgMHgyRSwgMHgzMywgMHgyRCwgMHg3MywgMHg1MywgMHg3NywgMHg1NywgMHg2RiwgMHg0RiwgMHg2NCwgMHg0NCwKKyAweDZFLCAweDRFLCAweDY5LCAweDQ5LCAweDc3LCAweDU3LCAweDJELCAweDZFLCAweDRFLCAweDY5LCAweDQ5LCAweDc0LCAweDU0LAorIDB4NjEsIDB4NDEsIDB4NkMsIDB4NEMsIDB4MkQsIDB4NzMsIDB4NTMsIDB4NzcsIDB4NTcsIDB4NkYsIDB4NEYsIDB4NjQsIDB4NDQsCisgMHg2RSwgMHg0RSwgMHg2OSwgMHg0OSwgMHg3NywgMHg1NywgMHgwMCwgMHgyRCwgMHgwMCwgMHgzMywgMHgzNSwgMHgyRCwgMHgzNiwKKyAweDMzLCAweDM0LCAweDM5LCAweDM3LCAweDM4LCAweDM1LCAweDMyLCAweDMxLCAweDJELCAweDM5LCAweDM1LCAweDMzLCAweDM0LAorIDB4MzIsIDB4MzEsIDB4MzAsIDB4MzYsIDB4MzUsIDB4MzEsIDB4MkQsIDB4NzIsIDB4NTIsIDB4MzgsIDB4MzAsIDB4NzUsIDB4NTUsCisgMHgyRCwgMHgzNiwgMHgzOSwgMHgzOSwgMHgzMSwgMHgzQSwgMHg3NiwgMHg1NiwgMHg3MiwgMHg1MiwgMHg2OSwgMHg0OSwgMHgyRSwKKyAweDM2LCAweDM4LCAweDM5LCAweDMxLCAweDM4LCAweDM5LCAweDMxLCAweDM4LCAweDM5LCAweDMxLCAweDM4LCAweDM5LCAweDMxLAorIDB4MzgsIDB4MzksIDB4MzEsIDB4MzgsIDB4MzksIDB4MzEsIDB4MzgsIDB4MzksIDB4MzEsIDB4MzgsIDB4MzksIDB4MzEsIDB4MzgsCisgMHgzOSwgMHgzMSwgMHgwMCwgMHgzQSwgMHgwMCwgMHgzQSwgMHgwMCwgMHgzQSwgMHgwMCwgMHgzQSwgMHgwMCwgMHgzQSwgMHgwMCwKKyAweDNBLCAweDAwLCAweDNBLCAweDAwLCAweDNBLCAweDAwLCAweDM1LCAweDNBLCAweDM5LCAweDM4LCAweDM3LCAweDM2LCAweDM1LAorIDB4MzQsIDB4MzMsIDB4MzIsIDB4MzEsIDB4MkQsIDB4MzksIDB4MzUsIDB4MzgsIDB4MzQsIDB4MzgsIDB4MzYsIDB4MzQsIDB4NjksCisgMHg0OSwgMHgzOCwgMHgzMSwgMHg1RiwgMHgzNiwgMHgyRCwgMHhCNiwgMHhFNiwgMHhDNSwgMHg2NiwgMHhEOSwgMHg5QiwgMHhGOCwKKyAweEQ1LCAweDc2LCAweEMxLCAweDYyLCAweEQ0LCAweDc1LCAweDc3LCAweEQ2LCAweEQ5LCAweDlCLCAweDYwLCAweEMyLCAweDYzLAorIDB4NkYsIDB4NEYsIDB4NkQsIDB4NEQsIDB4NkUsIDB4NEUsIDB4MzAsIDB4MzIsIDB4MzAsIDB4NTgsIDB4NzgsIDB4NUYsIDB4NzMsCisgMHg1MywgMHgyRCwgMHg2MSwgMHg0MSwgMHg2NSwgMHg0NSwgMHgzOCwgMHgzMCwgMHgzNiwgMHgzNSwgMHgzOCwgMHgzOSwgMHgzMSwKKyAweDJELCAweDMxLCAweDMwLCAweDM2LCAweDM1LCAweDVGLCAweDYzLCAweDQzLCAweDVGLCAweDYzLCAweDVGLCAweDQzLCAweDcyLAorIDB4NjksIDB4NTIsIDB4NDksIDB4MzEsIDB4MzIsIDB4MzMsIDB4MzQsIDB4MzUsIDB4MkQsIDB4NkUsIDB4NEUsIDB4NjksIDB4NDksCisgMHg3NCwgMHg1NCwgMHg2QSwgMHg0QSwgMHg2RSwgMHg0RSwgMHg2MSwgMHg0MSwgMHg2QiwgMHg0QiwgMHgzMywgMHgzOSwgMHg1RiwKKyAweDcyLCAweDUyLCAweDc1LCAweDU1LCAweDY1LCAweDQ1LCAweDJCLCAweDMwLCAweDM1LCAweDM4LCAweDJELCAweDZDLCAweDRDLAorIDB4NjEsIDB4NDEsIDB4NzUsIDB4NTUsIDB4NjcsIDB4NDcsIDB4NkUsIDB4NEUsIDB4NjksIDB4NDksIDB4NkMsIDB4NEMsIDB4NjksCisgMHg0OSwgMHg3NCwgMHg1NCwgMHg2QywgMHg0QywgMHg3NSwgMHg1NSwgMHg2RCwgMHg0RCwgMHgyRCwgMHhGMSwgMHhGMCwgMHhGMiwKKyAweEYwLCAweEE3LCAweEI3LCAweEU3LCAweDZELCAweEUyLCAweEFCLCAweEEyLCAweDVGLCAweDc0LCAweDU0LCAweDY2LCAweDQ2LAorIDB4NjksIDB4NDksIDB4MkQsIDB4NzMsIDB4NTMsIDB4MzIsIDB4MkQsIDB4NzMsIDB4NTMsIDB4NjEsIDB4NDEsIDB4NkMsIDB4NjIsCisgMHg0QywgMHg0MiwgMHgyRCwgMHg2QywgMHg2MiwgMHg0QywgMHg0MiwgMHgyRCwgMHgzMiwgMHgzNiwgMHgzOCwgMHgzMywgMHgzMSwKKyAweDM4LCAweDMzLCAweDMxLCAweDJELCAweDY2LCAweDQ2LCAweDAwLCAweDJELCAweDczLCAweDUzLCAweDM5LCAweDMxLCAweDJELAorIDB4NzMsIDB4NTMsIDB4NzcsIDB4NTcsIDB4NkYsIDB4NEYsIDB4NjQsIDB4NDQsIDB4NkUsIDB4NEUsIDB4NjgsIDB4QzcsIDB4RDUsCisgMHg3NiwgMHhDOSwgMHg3MSwgMHhDNCwgMHg2NSwgMHhENiwgMHg3NywgMHhDMywgMHg2NCwgMHhENSwgMHg3NiwgMHhDNSwgMHg2NiwKKyAweDYwLCAweEM0LCAweDY1LCAweEQ5LCAweDlCLCAweEMxLCAweDYyLCAweEM0LCAweDY1LCAweEQ1LCAweDc2LCAweEMxLCAweDYyLAorIDB4RTMsIDB4QjMsIDB4RTIsIDB4QUIsIDB4NjAsIDB4QzUsIDB4NjYsIDB4QzIsIDB4NjMsIDB4RjYsIDB4RjgsIDB4RjgsIDB4RjYsCisgMHhGOSwgMHhGMSwgMHg2MCwgMHhGNCwgMHg0QiwgMHhGMywgMHhFNywgMHhCNywgMHhBNywgMHg2RCwgMHhDOSwgMHg4OSwgMHg3MSwKKyAweDg3LCAweEM3LCAweEQ1LCAweDk1LCAweEM5LCAweDg5LCAweEM0LCAweDg0LCAweEQ2LCAweDk2LCAweEMzLCAweDgzLCAweEQ1LAorIDB4OTUsIDB4QzUsIDB4ODUsIDB4NjAsIDB4QzQsIDB4ODQsIDB4RDksIDB4OTksIDB4QzEsIDB4ODEsIDB4QzQsIDB4ODQsIDB4RDUsCisgMHg5NSwgMHhDMSwgMHg4MSwgMHhFMywgMHhBMywgMHhFMiwgMHhBMiwgMHg2MCwgMHhDNSwgMHg4NSwgMHhDMiwgMHg4MiwgMHg4MywKKyAweEMzLCAweEM5LCAweDg5LCAweEMyLCAweDgyLCAweDY0LCAweEMzLCAweEM5LCAweDcxLCAweEMyLCAweDYzLCAweEM5LCAweDg5LAorIDB4NzEsIDB4RjgsIDB4RjAsIDB4RjcsIDB4NjAsIDB4RDYsIDB4OTYsIDB4NzcsIDB4QzksIDB4ODksIDB4NzEsIDB4NjQsIDB4ODMsCisgMHhDMywgMHhENCwgMHg5NCwgMHg3NSwgMHhDMSwgMHg2MiwgMHhDMSwgMHg4MSwgMHhENiwgMHg5NiwgMHhFMiwgMHhBQiwgMHhBMiwKKyAweEQ2LCAweDc3LCAweDY2LCAweEM1LCAweEUyLCAweEFCLCAweEM1LCAweDY2LCAweEQ1LCAweDc2LCAweEFCLCAweEUyLCAweDlCLAorIDB4RDksIDB4OUIsIDB4RDksIDB4RjcsIDB4RjAsIDB4RjcsIDB4RjcsIDB4RjcsIDB4RjAsIDB4RjMsIDB4RjQsIDB4RjUsIDB4RjEsCisgMHhGMCwgMHhGMCwgMHhGMSwgMHhGMiwgMHhGMywgMHhGNSwgMHhGNiwgMHhGOSwgMHhGNCwgMHhGNywgMHhGNSwgMHhGMiwgMHhGMSwKKyAweEYwLCAweEY0LCAweEYzLCAweEYwLCAweEY5LCAweEY4LCAweEY1LCAweEY2LCAweEY3LCAweEYzLCAweEYyLCAweEY2LCAweEY5LAorIDB4RjMsIDB4QzksIDB4QzcsIDB4QzEsIDB4NzEsIDB4NjgsIDB4NjIsIDB4QzQsIDB4NjUsIDB4RDksIDB4OUIsIDB4QzEsIDB4NjIsCisgMHhDNCwgMHg2NSwgMHhENSwgMHg3NiwgMHhDMSwgMHg2MiwgMHhFMywgMHhCMywgMHhFMiwgMHhBQiwgMHhDNSwgMHg2NiwgMHhDMiwKKyAweDYzLCAweDcxLCAweEM5LCAweEM5LCAweDcxLCAweEMzLCAweDY0LCAweEQ2LCAweDc3LCAweEFCLCAweEUyLCAweEMzLCAweDY0LAorIDB4RTIsIDB4QUIsIDB4RDIsIDB4NzMsIDB4QzgsIDB4NjksIDB4RjUsIDB4QzcsIDB4NjgsIDB4NjYsIDB4QzUsIDB4RTIsIDB4QUIsCisgMHhDNSwgMHg2NiwgMHhENSwgMHg3NiwgMHhDMSwgMHg2MiwgMHhENywgMHg3OCwgMHhDMSwgMHg2MiwgMHhEMSwgMHg3MiwgMHhCMywKKyAweEUzLCAweEQ0LCAweDc1LCAweEM2LCAweDY3LCAweEM0LCAweDY1LCAweDY5LCAweEM4LCAweEQyLCAweDczLCAweDlCLCAweEQ5LAorIDB4RTMsIDB4RDcsIDB4RDIsIDB4QjMsIDB4NzgsIDB4NzMsIDB4QzMsIDB4NjQsIDB4RjIsIDB4RjEsIDB4RjMsIDB4NzMsIDB4RDIsCisgMHhGMiwgMHg2MiwgMHhDMSwgMHhENSwgMHg3NiwgMHhDMSwgMHg2MiwgMHhEMiwgMHg3MywgMHhDMSwgMHg2MiwgMHhFMywgMHhCMywKKyAweEMxLCAweDYyLCAweEQyLCAweDczLCAweEM4LCAweDY5LCAweEUzLCAweEIzLCAweEM0LCAweDY1LCAweEM5LCAweDcxLCAweEU2LAorIDB4QjYsIDB4QzYsIDB4NjcsIDB4RDMsIDB4NzQsIDB4RjQsIDB4RjAsIDB4RjksIDB4NzEsIDB4QzksIDB4QzEsIDB4NjIsIDB4RjgsCisgMHhGNCwgMHhGMiwgMHhGNSwgMHhGMCwgMHhGMSwgMHhGMiwgMHhGMywgMHhGNCwgMHhGNSwgMHhGNiwgMHhGNywgMHhGOCwgMHhGOSwKKyAweEY0LCAweEYxLCAweEY5LCAweEY4LCAweEY3LCAweEY2LCAweEY0LCAweEYyLCAweEYwLCAweEY0LCAweEY1LCAweEYzLCAweEY4LAorIDB4RjcsIDB4RjAsIDB4RjAsIDB4RjEsIDB4RjAsIDB4RjEsIDB4RjMsIDB4RjUsIDB4RjYsIDB4RjksIDB4RjgsIDB4RjQsIDB4RjEsCisgMHhGNSwgMHhGNywgMHhGOCwgMHhGMywgMHhGNSwgMHhGMSwgMHhGMCwgMHhGOSwgMHhGOCwgMHhGNywgMHhGNiwgMHhGNSwgMHhGMCwKKyAweEYyLCAweEY5LCAweEY4LCAweEY3LCAweEYwLCAweEYzLCAweEYxLCAweEYwLCAweDY5LCAweEM4LCAweEY5LCAweEY4LCAweEY1LAorIDB4RjQsIDB4RjIsIDB4RjEsIDB4RjAsIDB4RTMsIDB4QjMsIDB4NzUsIDB4RDQsIDB4NjQsIDB4QzMsIDB4QzksIDB4NzEsIDB4RDMsCisgMHg3NCwgMHhEMywgMHg3NCwgMHhDOSwgMHg3MSwgMHhEOSwgMHg5QiwgMHg3MywgMHhEMiwgMHhDNSwgMHg2NiwgMHhDNSwgMHg2NiwKKyAweEM1LCAweDY2LCAweEQ5LCAweDlCLCAweEU4LCAweEI4LCAweEQ5LCAweDlCLCAweEYxLCAweEYyLCAweEYzLCAweEY0LCAweEY1LAorIDB4QzgsIDB4QzcsIDB4QzMsIDB4QzEsIDB4NjksIDB4NjgsIDB4NjQsIDB4NjIsIDB4RDUsIDB4NzYsIDB4QzksIDB4NzEsIDB4RTMsCisgMHhCMywgMHhGMCwgMHhGOCwgMHhGMiwgMHhGMSwgMHhGMywgMHhGMiwgMHg2MywgMHhDMiwgMHhDNywgMHg2OCwgMHhGMywgMHhGNSwKKyAweEYxLCAweEY5LCAweEY1LCAweEY4LCAweEY4LCAweEMxLCAweDYyLCAweEY4LCAweEY1LCAweEQzLCAweDc0LCAweEQ2LCAweDc3LAorIDB4RDQsIDB4QzIsIDB4NzUsIDB4NjMsIDB4OUIsIDB4RDksIDB4RjgsIDB4RjcsIDB4RjgsIDB4RjksIDB4RjEsIDB4RjEsIDB4RjAsCisgMHhGNiwgMHhGNSwgMHg2NCwgMHhDMywgMHhDOSwgMHg3MSwgMHhGMiwgMHhGNSwgMHg2NCwgMHhDMywgMHhDOSwgMHg3MSwgMHhFMywKKyAweEIzLCAweEQzLCAweDc0LCAweEMxLCAweDYyLCAweEMyLCAweDYzLCAweEY1LCAweEYzLCAweEY0LCAweDY2LCAweEM1LCAweEM3LAorIDB4NjgsIDB4QzEsIDB4NjIsIDB4RDcsIDB4NzgsIDB4QzUsIDB4NjYsIDB4QzQsIDB4NjUsIDB4NzQsIDB4RDMsIDB4QzEsIDB4NjIsCisgMHhFNCwgMHhCNCwgMHhDNywgMHg2OCwgMHhENSwgMHg3NiwgMHhDOSwgMHg3MSwgMHhEMywgMHg3NCwgMHhDOSwgMHg3MSwgMHhFMywKKyAweEIzLCAweEQzLCAweDc0LCAweEU0LCAweEI0LCAweEQ0LCAweDc1LCAweEI2LCAweEU2LCAweEM1LCAweDY2LCAweEQ5LCAweDlCLAorIDB4QzIsIDB4NjMsIDB4QzUsIDB4NjYsIDB4QzgsIDB4NjksIDB4RDUsIDB4NzYsIDB4QzksIDB4NzEsIDB4RTMsIDB4QjMsIDB4QzEsCisgMHg2MiwgMHhEMywgMHg3NCwgMHhGMiwgMHhGMCwgMHhENiwgMHg3NywgMHhGNiwgMHhGNSwgMHhDMywgMHg2NCwgMHhGNywgMHhGOCwKKyAweDc4LCAweEQ3LCAweEY4LCAweEY3LCAweEFCLCAweEUyLCAweEM5LCAweDcxLCAweEQxLCAweDcyLCAweEIzLCAweEUzLCAweEM2LAorIDB4NjcsIDB4QzksIDB4NzEsIDB4RjAsIDB4RjIsIDB4RjYsIDB4QUIsIDB4RTIsIDB4NjYsIDB4QzUsIDB4QzQsIDB4NjUsIDB4RDYsCisgMHg3NywgMHhDMywgMHg2NCwgMHg2NiwgMHhDNSwgMHg2NiwgMHhDNSwgMHhEMywgMHhDMiwgMHg3NCwgMHg2MywgMHg2NiwgMHhDNSwKKyAweDY2LCAweEM1LCAweEQzLCAweEMyLCAweDc0LCAweDYzLCAweEYyLCAweEY2LCAweEY4LCAweEYzLCAweEYxLCAweEM2LCAweDY3LAorIDB4QzksIDB4NzEsIDB4RjgsIDB4RjcsIDB4RjYsIDB4RjUsIDB4RjQsIDB4RjMsIDB4RjIsIDB4RjEsIDB4RjAsIDB4RjUsIDB4RjEsCisgMHhGMiwgMHg3NiwgMHhENSwgMHhDOSwgMHg3MSwgMHhFMywgMHhCMywgMHhDMSwgMHg2MiwgMHhEMywgMHg3NCwgMHhGMSwgMHhGMiwKKyAweEYxLCAweEYzLCAweEUyLCAweEFCLCAweEU2LCAweEI2LCAweEQ2LCAweDc3LCAweEM0LCAweDY1LCAweEQ1LCAweDc2LCAweEM5LAorIDB4NzEsIDB4RTMsIDB4RDUsIDB4QjMsIDB4NzYsIDB4QzksIDB4NzEsIDB4QzgsIDB4NjksIDB4QzMsIDB4NjQsIDB4RTIsIDB4RDYsCisgMHhBQiwgMHg3NywgMHhFMiwgMHhDMiwgMHhBQiwgMHg2MywgMHhENywgMHhDMSwgMHg3OCwgMHg2MiwgMHhDMiwgMHg2MywgMHhFNCwKKyAweEI0LCAweEM5LCAweDcxLCAweEUyLCAweEM0LCAweEFCLCAweDY1LCAweDY0LCAweEMzLCAweEM5LCAweDcxLCAweEQzLCAweDc0LAorIDB4RDMsIDB4NzQsIDB4QzksIDB4NzEsIDB4RDksIDB4OUIsIDB4RTYsIDB4RTQsIDB4RTMsIDB4RTIsIDB4RDcsIDB4RDIsIDB4QzksCisgMHhDOCwgMHhDNywgMHhDNSwgMHhDMiwgMHhDMSwgMHhCNiwgMHhCNCwgMHhCMywgMHhBQiwgMHg3OCwgMHg3MywgMHg3MSwgMHg2OSwKKyAweDY4LCAweDY2LCAweDYzLCAweDYyLCAweEY3LCAweEY0LCAweEYzLCAweEY5LCAweEY4LCAweEYyLCAweEYwLCAweDYwLCAweEM5LAorIDB4NzEsIDB4RjEsIDB4RjIsIDB4NjYsIDB4QzUsIDB4QzMsIDB4NjQsIDB4QzUsIDB4NjYsIDB4QjQsIDB4RTQsIDB4QjMsIDB4RTMsCisgMHhBQiwgMHhFMiwgMHg5QiwgMHhEOSwgMHg2NiwgMHhDNSwgMHhENiwgMHg3NywgMHg3NCwgMHhEMywgMHhCMywgMHhFMywgMHhBQiwKKyAweEUyLCAweDY2LCAweEM1LCAweDYzLCAweEMyLCAweDlCLCAweEQ5LCAweDcxLCAweEM5LCAweDlCLCAweEQ5LCAweEFCLCAweEUyLAorIDB4NjIsIDB4QzEsIDB4NjksIDB4QzgsIDB4NjYsIDB4QzUsIDB4OUIsIDB4RDksIDB4RTgsIDB4RTYsIDB4RTQsIDB4RTMsIDB4RTIsCisgMHhEOSwgMHhENSwgMHhDOSwgMHhDOCwgMHhDNywgMHhDNiwgMHhDNSwgMHhDMywgMHhDMiwgMHhDMSwgMHhCOCwgMHhCNiwgMHhCNCwKKyAweEIzLCAweEFCLCAweDlCLCAweDc2LCAweDcxLCAweDY5LCAweDY4LCAweDY3LCAweDY2LCAweDY0LCAweDYzLCAweDYyLCAweDYwLAorIDB4NzcsIDB4RDYsIDB4RDksIDB4OUIsIDB4RTQsIDB4QjQsIDB4QzUsIDB4NjYsIDB4NEUsIDB4RjMsIDB4RjcsIDB4RjIsIDB4NzcsCisgMHhENiwgMHhEOSwgMHg5QiwgMHhFNCwgMHhCNCwgMHhDNSwgMHg2NiwgMHg0RSwgMHhGNywgMHhGNywgMHhGMiwgMHg2MCwgMHg2MCwKKyAweDc3LCAweEQ2LCAweEQ5LCAweDlCLCAweEU0LCAweEI0LCAweEM1LCAweDY2LCAweDRFLCAweEY0LCAweEY4LCAweEYyLCAweDYwLAorIDB4NzcsIDB4RDYsIDB4RDksIDB4OUIsIDB4RTQsIDB4QjQsIDB4QzUsIDB4NjYsIDB4NEUsIDB4RjgsIDB4RjcsIDB4RjIsIDB4NzcsCisgMHhENiwgMHhEOSwgMHg5QiwgMHhFNCwgMHhCNCwgMHhDNSwgMHg2NiwgMHg0RSwgMHhGNywgMHhGOSwgMHhGMiwgMHg2MCwgMHg2MCwKKyAweDc3LCAweEQ2LCAweEQ5LCAweDlCLCAweEU0LCAweEI0LCAweEM1LCAweDY2LCAweDRFLCAweEY1LCAweEY4LCAweEYyLCAweDYwLAorIDB4NzcsIDB4RDYsIDB4RDksIDB4OUIsIDB4RTQsIDB4QjQsIDB4QzUsIDB4NjYsIDB4NEUsIDB4RjAsIDB4RjAsIDB4RjUsIDB4NjAsCisgMHhEMywgMHg3NCwgMHhDMSwgMHg2MiwgMHhENSwgMHg3NiwgMHhENiwgMHg3NywgMHhDOSwgMHg3MSwgMHhFMywgMHhCMywgMHhDMSwKKyAweDYyLCAweEQ1LCAweDc2LCAweEQ5LCAweDlCLCAweEM1LCAweDY2LCAweDc3LCAweEQ2LCAweEQ5LCAweDlCLCAweEU0LCAweEI0LAorIDB4QzUsIDB4NjYsIDB4NEUsIDB4RjEsIDB4RjcsIDB4RjgsIDB4NzcsIDB4RDYsIDB4RDksIDB4OUIsIDB4RTQsIDB4QjQsIDB4QzUsCisgMHg2NiwgMHg0RSwgMHhGMCwgMHhGOCwgMHhGMiwgMHg2MCwgMHg2MCwgMHhFMywgMHhCMywgMHg2MiwgMHhDMSwgMHhENSwgMHg3NiwKKyAweDgxLCAweEMxLCAweEQ1LCAweDk1LCAweEMxLCAweDgxLCAweEMxLCAweDYyLCAweEQyLCAweDkyLCAweDczLCAweDYwLCAweDc3LAorIDB4RDYsIDB4RDksIDB4OUIsIDB4RTQsIDB4QjQsIDB4QzUsIDB4NjYsIDB4NjAsIDB4NjAsIDB4RjksIDB4RDUsIDB4NzYsIDB4QzksCisgMHg3MSwgMHg5NiwgMHhENiwgMHhEOSwgMHg5OSwgMHhFNCwgMHhBNCwgMHhDNSwgMHg4NSwgMHg2MCwgMHg2MCwgMHhGOSwgMHhENSwKKyAweDk1LCAweEM5LCAweDg5LCAweEUzLCAweEEzLCAweEUzLCAweEIzLCAweDg1LCAweEM1LCAweEMzLCAweDgzLCAweEM1LCAweDg1LAorIDB4QTQsIDB4RTQsIDB4QTMsIDB4RTMsIDB4QTIsIDB4RTIsIDB4OTksIDB4RDksIDB4ODUsIDB4QzUsIDB4RDYsIDB4OTYsIDB4QTMsCisgMHhFMywgMHhBMiwgMHhFMiwgMHg4NSwgMHhDNSwgMHg4MiwgMHhDMiwgMHg5OSwgMHhEOSwgMHg4OSwgMHhDOSwgMHg5OSwgMHhEOSwKKyAweEEyLCAweEUyLCAweDgxLCAweEMxLCAweDg4LCAweEM4LCAweDg1LCAweEM1LCAweEQ5LCAweDk5LCAweDkzLCAweEQzLCAweDc3LAorIDB4OTYsIDB4RDYsIDB4NzMsIDB4OTIsIDB4RDIsIDB4RTgsIDB4RTYsIDB4RTQsIDB4RTMsIDB4RTIsIDB4RDksIDB4RDUsIDB4QzksCisgMHhDOCwgMHhDNywgMHhDNiwgMHhDNSwgMHhDNCwgMHhDMywgMHhDMiwgMHhDMSwgMHhBOCwgMHhBNiwgMHhBNCwgMHhBMywgMHhBMiwKKyAweDk5LCAweDk1LCAweDg5LCAweDg4LCAweDg3LCAweDg2LCAweDg1LCAweDg0LCAweDgzLCAweDgyLCAweDgxLCAweDc2LCAweDY1LAorIDB4ODMsIDB4QzMsIDB4QzksIDB4ODksIDB4RDMsIDB4OTMsIDB4RDMsIDB4OTMsIDB4QzksIDB4ODksIDB4NjQsIDB4QzMsIDB4QzksCisgMHg3MSwgMHhEMywgMHg3NCwgMHhEMywgMHg3NCwgMHhDOSwgMHg3MSwgMHhEOSwgMHg5QiwgMHhEOSwgMHg5OSwgMHg2MCwgMHg5NiwKKyAweEQ2LCAweEQ5LCAweDk5LCAweEU0LCAweEE0LCAweEM1LCAweDg1LCAweDRFLCAweEYzLCAweEY3LCAweEYyLCAweDk2LCAweEQ2LAorIDB4RDksIDB4OTksIDB4RTQsIDB4QTQsIDB4QzUsIDB4ODUsIDB4NEUsIDB4RjcsIDB4RjcsIDB4RjIsIDB4NjAsIDB4NjAsIDB4OTYsCisgMHhENiwgMHhEOSwgMHg5OSwgMHhFNCwgMHhBNCwgMHhDNSwgMHg4NSwgMHg0RSwgMHhGNCwgMHhGOCwgMHhGMiwgMHg2MCwgMHg5NiwKKyAweEQ2LCAweEQ5LCAweDk5LCAweEU0LCAweEE0LCAweEM1LCAweDg1LCAweDRFLCAweEY4LCAweEY3LCAweEYyLCAweDk2LCAweEQ2LAorIDB4RDksIDB4OTksIDB4RTQsIDB4QTQsIDB4QzUsIDB4ODUsIDB4NEUsIDB4RjcsIDB4RjksIDB4RjIsIDB4NjAsIDB4NjAsIDB4OTYsCisgMHhENiwgMHhEOSwgMHg5OSwgMHhFNCwgMHhBNCwgMHhDNSwgMHg4NSwgMHg0RSwgMHhGNSwgMHhGOCwgMHhGMiwgMHg2MCwgMHg5NiwKKyAweEQ2LCAweEQ5LCAweDk5LCAweEU0LCAweEE0LCAweEM1LCAweDg1LCAweDRFLCAweEYwLCAweEYwLCAweEY1LCAweDYwLCAweEQzLAorIDB4OTMsIDB4QzEsIDB4ODEsIDB4RDUsIDB4OTUsIDB4RDYsIDB4OTYsIDB4QzksIDB4ODksIDB4RTMsIDB4QTMsIDB4QzEsIDB4ODEsCisgMHhENSwgMHg5NSwgMHhEOSwgMHg5OSwgMHhDNSwgMHg4NSwgMHg5NiwgMHhENiwgMHhEOSwgMHg5OSwgMHhFNCwgMHhBNCwgMHhDNSwKKyAweDg1LCAweDRFLCAweEYxLCAweEY3LCAweEY4LCAweDk2LCAweEQ2LCAweEQ5LCAweDk5LCAweEU0LCAweEE0LCAweEM1LCAweDg1LAorIDB4NEUsIDB4RjAsIDB4RjgsIDB4RjIsIDB4NjAsIDB4NjAsIDB4RTMsIDB4QTMsIDB4OTYsIDB4RDYsIDB4RDksIDB4OTksIDB4RTQsCisgMHhBNCwgMHhDNSwgMHg4NSwgMHg0RSwgMHhGNywgMHhGMywgMHg2MCwgMHg3NywgMHhENiwgMHhEOSwgMHg5QiwgMHhFNCwgMHhCNCwKKyAweEM1LCAweDY2LCAweDRFLCAweEY3LCAweEYzLCAweDYwLCAweEUyLCAweEFCLCAweEM1LCAweDY2LCAweEUyLCAweEEyLCAweEM1LAorIDB4ODUsIDB4RDYsIDB4OTYsIDB4RTMsIDB4RTIsIDB4RDUsIDB4QTMsIDB4QTIsIDB4OTUsIDB4QzIsIDB4ODIsIDB4ODksIDB4QzksCisgMHhEOSwgMHg5OSwgMHhFMiwgMHhBMiwgMHg5MiwgMHhEMiwgMHhDNSwgMHg4NSwgMHhFOCwgMHhENywgMHhCOCwgMHhBOCwgMHg5NywKKyAweDc4LCAweEQ2LCAweDc3LCAweEMxLCAweDgxLCAweDYyLCAweEQ3LCAweDk3LCAweDc4LCAweEUzLCAweEUyLCAweEQ1LCAweEIzLAorIDB4QUIsIDB4NzYsIDB4QzIsIDB4NjMsIDB4NzEsIDB4QzksIDB4RDksIDB4OUIsIDB4RTIsIDB4QUIsIDB4NzMsIDB4RDIsIDB4QzUsCisgMHg2NiwgMHhENywgMHg3OCwgMHhFNCwgMHhFMiwgMHhENSwgMHhEMywgMHhEMSwgMHhDOSwgMHhDNywgMHhDNiwgMHhDNSwgMHhDNCwKKyAweEMzLCAweEI0LCAweEFCLCAweEE0LCAweEEyLCAweDk1LCAweDkzLCAweDkxLCAweDg5LCAweDg3LCAweDg2LCAweDg1LCAweDg0LAorIDB4ODMsIDB4NzYsIDB4NzQsIDB4NzIsIDB4NzEsIDB4NjgsIDB4NjcsIDB4NjYsIDB4NjUsIDB4NjQsIDB4MDAsIDB4NjAsIDB4QzMsCisgMHg4MywgMHg2NCwgMHhDOSwgMHg4OSwgMHg3MSwgMHhDNCwgMHg4NCwgMHg2NSwgMHhGNCwgMHhGOCwgMHhGMSwgMHhGMSwgMHg2MCwKKyAweEMxLCAweDgxLCAweDYyLCAweEY4LCAweEYyLCAweEY5LCAweDZELCAweEUzLCAweEIzLCAweEEzLCAweDZFLCAweEM4LCAweDg4LAorIDB4NjksIDB4OTksIDB4OUIsIDB4RDksIDB4NzgsIDB4OTcsIDB4RDcsIDB4NzYsIDB4OTUsIDB4RDUsIDB4NjksIDB4ODgsIDB4QzgsCisgMHhFMywgMHhEMiwgMHhEMSwgMHhDMywgMHhCMywgMHhBMywgMHg5MiwgMHg5MSwgMHg4MywgMHg3MywgMHg3MiwgMHg2NCwgMHhFMywKKyAweEIzLCAweEEzLCAweDYwLCAweDg1LCAweEM1LCAweEUyLCAweEEyLCAweEM1LCAweDg1LCAweEQ1LCAweDk1LCAweEMxLCAweDgxLAorIDB4RDcsIDB4OTcsIDB4QzEsIDB4ODEsIDB4RDEsIDB4OTEsIDB4NkQsIDB4RDksIDB4OTksIDB4RDYsIDB4OTYsIDB4QzYsIDB4ODYsCisgMHg2RCwgMHhFMywgMHhBMywgMHhDMSwgMHg4MSwgMHhENCwgMHg5NCwgMHhEOSwgMHg5OSwgMHhENiwgMHg5NiwgMHhDNiwgMHg4NiwKKyAweDZELCAweEM0LCAweDg0LCAweEM1LCAweDg1LCAweEQyLCAweDkyLCAweEMzLCAweDgzLCAweEMxLCAweDgxLCAweEQ3LCAweDk3LAorIDB4NkQsIDB4QzUsIDB4ODUsIDB4QzQsIDB4ODQsIDB4RDYsIDB4OTYsIDB4QzMsIDB4ODMsIDB4NkQsIDB4RTcsIDB4QTcsIDB4QzksCisgMHg4OSwgMHhENSwgMHg5NSwgMHhFNCwgMHhBNCwgMHg2RCwgMHhDNCwgMHg4NCwgMHhDNSwgMHg4NSwgMHhDNCwgMHg4NCwgMHhENSwKKyAweDk1LCAweEM1LCAweDg1LCAweDZELCAweEQ5LCAweDlCLCAweEQ2LCAweDc3LCAweEM2LCAweDY3LCAweDZELCAweEUzLCAweEIzLAorIDB4QzEsIDB4NjIsIDB4RDQsIDB4NzUsIDB4RDksIDB4OUIsIDB4RDYsIDB4NzcsIDB4QzYsIDB4NjcsIDB4NkQsIDB4QzQsIDB4NjUsCisgMHhDNSwgMHg2NiwgMHhEMiwgMHg3MywgMHhDMywgMHg2NCwgMHhDMSwgMHg2MiwgMHhENywgMHg3OCwgMHg2RCwgMHhDNSwgMHg2NiwKKyAweEM0LCAweDY1LCAweEQ2LCAweDc3LCAweEMzLCAweDY0LCAweDZELCAweEU3LCAweEI3LCAweEM5LCAweDcxLCAweEQ1LCAweDc2LAorIDB4RTQsIDB4QjQsIDB4NkQsIDB4QzQsIDB4NjUsIDB4QzUsIDB4NjYsIDB4QzQsIDB4NjUsIDB4RDUsIDB4NzYsIDB4QzUsIDB4NjYsCisgMHhFMywgMHhCMywgMHhFMywgMHhBMywgMHhDMywgMHg4MywgMHg2NCwgMHhENiwgMHg5NiwgMHg3NywgMHhENCwgMHg5NCwgMHg3NSwKKyAweEMzLCAweDgzLCAweDY0LCAweEYzLCAweEY0LCAweEY4LCAweEY5LCAweEYwLCAweDAwLCAweEYzLCAweEYxLCAweDAwLCAweEY5LAorIDB4RjYsIDB4RjEsIDB4RjAsIDB4RjksIDB4RjgsIDB4RjcsIDB4RjYsIDB4RjUsIDB4RjQsIDB4RjMsIDB4RjIsIDB4RjEsIDB4RjAsCisgMHhGNiwgMHhGOSwgMHhGNCwgMHhGNywgMHhGMCwgMHhGMywgMHhGMiwgMHhGMSwgMHhGMCwgMHhGMiwgMHhGNCwgMHhGOSwgMHhGOCwKKyAweEY3LCAweEY2LCAweEY1LCAweEYzLCAweEYxLCAweEY1LCAweEY2LCAweEY3LCAweEY4LCAweEY5LCAweEY0LCAweEYzLCAweEYyLAorIDB4RjEsIDB4RjAsIDB4RjksIDB4RjgsIDB4RjcsIDB4RjUsIDB4RjQsIDB4RjMsIDB4RjAsIDB4RjgsIDB4RjUsIDB4RjEsIDB4RjAsCisgMHhGMywgMHhGNiwgMHhGOSwgMHhGNCwgMHhGMSwgMHhGMiwgMHhGNSwgMHhGMiwgMHhGMSwgMHhGMCwgMHhGOSwgMHhGMCwgMHhGMSwKKyAweEYyLCAweEYzLCAweEY0LCAweEY1LCAweEY2LCAweEY3LCAweEY4LCAweEY1LCAweEYwLCAweEY5LCAweEY4LCAweEY2LCAweEY1LAorIDB4RjQsIDB4RjMsIDB4RjIsIDB4RjEsIDB4RjAsIDB4MDAsIDB4RjcsIDB4MDAsIDB4RjYsIDB4RjgsIDB4RjIsIDB4RjEsIDB4RjAsCisgMHhGMiwgMHhGNywgMHhGNSwgMHhGOCwgMHhGMSwgMHhGMCwgMHhGOSwgMHhGNCwgMHhGNiwgMHhGNywgMHhGOCwgMHhGNSwgMHhGMywKKyAweEYyLCAweEYxLCAweDYwLCAweDYyLCAweEMxLCAweEY4LCAweEY3LCAweEY5LCAweEY4LCAweEYxLCAweEY3LCAweEY2LCAweEYzLAorIDB4RjIsIDB4RjEsIDB4RjAsIDB4RjYsIDB4RjcsIDB4RjUsIDB4RjksIDB4RjgsIDB4RjcsIDB4RjYsIDB4RjUsIDB4RjQsIDB4RjMsCisgMHhGMiwgMHhGMSwgMHhGMCwgMHhGOSwgMHhGOCwgMHhGNCwgMHhGMCwgMHhGOCwgMHhGNywgMHhGNiwgMHhGNSwgMHhGNCwgMHhGMywKKyAweEY3LCAweEYzLCAweEYyLCAweEYwLCAweEY5LCAweEYzLCAweEYyLCAweEY1LCAweEY0LCAweEYyLCAweEY4LCAweEYzLCAweEYyLAorIDB4RjEsIDB4RjAsIDB4RjYsIDB4RjUsIDB4RjAsIDB4RjIsIDB4RjAsIDB4RjgsIDB4RjcsIDB4RjYsIDB4RjUsIDB4RjQsIDB4RjMsCisgMHhGMSwgMHhGMywgMHhGNSwgMHhGMSwgMHhGMywgMHhGOCwgMHhGNCwgMHhGMSwgMHhGOCwgMHhGOSwgMHhGMiwgMHhGNiwgMHhGMywKKyAweEY4LCAweEYxLCAweEYwLCAweEY1LCAweEYzLCAweEYzLCAweEY0LCAweEY4LCAweEYyLCAweEY0LCAweEY1LCAweEYzLCAweEY5LAorIDB4RjgsIDB4RjcsIDB4RjYsIDB4RjQsIDB4RjEsIDB4RjgsIDB4RjcsIDB4RjUsIDB4RjMsIDB4RjAsIDB4RjQsIDB4RjYsIDB4RjUsCisgMHhGMywgMHhGMiwgMHhGMSwgMHhGOSwgMHhGOCwgMHhGNSwgMHhGNCwgMHhGMiwgMHhGMSwgMHhGMCwgMHhGNiwgMHhGNCwgMHhGOSwKKyAweEYwLCAweEYwLCAweEY0LCAweEY1LCAweEY3LCAweEY2LCAweEY1LCAweEYyLCAweEYyLCAweEY3LCAweEYxLCAweEYwLCAweEY2LAorIDB4RjEsIDB4RjUsIDB4RjAsIDB4RjMsIDB4RjIsIDB4RjEsIDB4RjgsIDB4RjcsIDB4RjYsIDB4RjUsIDB4RjQsIDB4RjcsIDB4RjksCisgMHhGNSwgMHhGNCwgMHhGMywgMHhGMiwgMHhGMCwgMHhGNSwgMHhGNiwgMHhGMywgMHhGMCwgMHhGNCwgMHhGNiwgMHhGNywgMHhGOCwKKyAweEY5LCAweEY4LCAweEY1LCAweEY0LCAweEYzLCAweEY3LCAweEY1LCAweEY0LCAweEYyLCAweEYwLCAweEY1LCAweEYzLCAweEYyLAorIDB4RjIsIDB4RjUsIDB4RjUsIDB4RjUsIDB4RjQsIDB4RjEsIDB4RjQsIDB4RjMsIDB4RjIsIDB4RjEsIDB4RjIsIDB4RjksIDB4RjcsCisgMHhGMCwgMHgwMCwgMHhGMiwgMHhGMSwgMHhGNywgMHhGNiwgMHhGMCwgMHhGMSwgMHhGNCwgMHhGOCwgMHhGNSwgMHhGMCwgMHhGMiwKKyAweEYzLCAweEY1LCAweEY2LCAweEY5LCAweEY4LCAweEY0LCAweEYxLCAweEYwLCAweEYxLCAweEYyLCAweEY1LCAweEY3LCAweEY4LAorIDB4RjgsIDB4RjcsIDB4RjYsIDB4RjUsIDB4RjMsIDB4RjksIDB4RjMsIDB4RjYsIDB4MDAsIDB4RjYsIDB4MDAsIDB4RjAsIDB4RjcsCisgMHhGOCwgMHhGOSwgMHgwMCwgMHhGMCwgMHhGNSwgMHhGNCwgMHhGOSwgMHhGOCwgMHhGNywgMHhGNiwgMHhGMSwgMHhGMCwgMHhGMywKKyAweEY5LCAweEY3LCAweEY2LCAweEY0LCAweEYyLCAweEY5LCAweEY4LCAweEY3LCAweEY2LCAweEY1LCAweEY0LCAweEYzLCAweEYyLAorIDB4RjAsIDB4RjQsIDB4RjEsIDB4RjMsIDB4RjAsIDB4RjgsIDB4RjcsIDB4RjYsIDB4RjIsIDB4RjgsIDB4RjIsIDB4RjMsIDB4RjQsCisgMHhGNiwgMHhGNSwgMHhGNCwgMHhGNiwgMHhGNSwgMHhGMywgMHhGNywgMHhGNiwgMHhGNSwgMHhGNCwgMHhGMywgMHhGMiwgMHhGMSwKKyAweEYwLCAweEY4LCAweEY5LCAweEY3LCAweEY2LCAweEY1LCAweEYzLCAweEYxLCAweEY3LCAweEYzLCAweEYyLCAweEYyLCAweEYxLAorIDB4RjcsIDB4RjQsIDB4RjMsIDB4RjEsIDB4RjAsIDB4RjIsIDB4RjksIDB4RjMsIDB4RjcsIDB4RjYsIDB4RjMsIDB4RjAsIDB4RjksCisgMHhGNywgMHhGOCwgMHhGNSwgMHhGNywgMHhGMywgMHhGMiwgMHhGMSwgMHhGMCwgMHhGMCwgMHhGOSwgMHhGOCwgMHhGNywgMHhGNiwKKyAweEY1LCAweEY0LCAweEYzLCAweEYyLCAweEYxLCAweDYwLCAweEY4LCAweEY5LCAweEY0LCAweEY4LCAweEY3LCAweEY2LCAweEYwLAorIDB4RjAsIDB4RjEsIDB4RjksIDB4RjMsIDB4RjQsIDB4RjIsIDB4RjEsIDB4RjAsIDB4RjYsIDB4RjUsIDB4RjEsIDB4NjAsIDB4OUIsCisgMHhEOSwgMHhDOSwgMHg3MSwgMHg2MCwgMHhENiwgMHg3NywgMHhENCwgMHg3NSwgMHhENSwgMHg3NiwgMHg3NiwgMHhENSwgMHhDMSwKKyAweDYyLCAweEM1LCAweDY2LCAweEQ5LCAweDlCLCAweEYxLCAweEYyLCAweEYzLCAweEY0LCAweEY1LCAweEQ1LCAweDc2LCAweEM5LAorIDB4NzEsIDB4RTMsIDB4QjMsIDB4NjAsIDB4RjUsIDB4QTIsIDB4RTIsIDB4QzMsIDB4ODMsIDB4RTIsIDB4QTIsIDB4RDIsIDB4OTIsCisgMHhDOCwgMHg4OCwgMHg2MCwgMHhGNSwgMHhDNywgMHg4NywgMHhDNywgMHg2OCwgMHhGMSwgMHhGMCwgMHhGMCwgMHhDNCwgMHg4NCwKKyAweDY1LCAweEM5LCAweDg5LCAweDcxLCAweEEyLCAweEUyLCAweDk5LCAweEQ5LCAweDk5LCAweEQ5LCAweEYyLCAweEYzLCAweEY4LAorIDB4RjAsIDB4RjEsIDB4RjIsIDB4RjMsIDB4RjUsIDB4RjYsIDB4RjksIDB4RjgsIDB4RjQsIDB4RjksIDB4RjYsIDB4RjQsIDB4RjMsCisgMHhGNSwgMHhGMSwgMHhGMywgMHhGMCwgMHhGNSwgMHhGOSwgMHhGOCwgMHhGNywgMHhGNiwgMHhGMSwgMHhGOSwgMHhGOCwgMHhGNywKKyAweEYwLCAweEM5LCAweEM3LCAweEMxLCAweDg5LCAweDg3LCAweDgxLCAweDg1LCAweEM1LCAweEUyLCAweEEyLCAweEM1LCAweDg1LAorIDB4RDUsIDB4OTUsIDB4QzQsIDB4ODQsIDB4RDksIDB4OTksIDB4QzEsIDB4ODEsIDB4QzQsIDB4ODQsIDB4RDUsIDB4OTUsIDB4QzEsCisgMHg4MSwgMHhFMywgMHhBMywgMHhFMiwgMHhBMiwgMHhDNSwgMHg4NSwgMHhDMiwgMHg4MiwgMHg4OSwgMHhDOSwgMHhDOSwgMHg4OSwKKyAweEMzLCAweDgzLCAweEQ2LCAweDk2LCAweEY1LCAweEM3LCAweDg3LCAweEUzLCAweEEzLCAweEQ0LCAweDk0LCAweEM2LCAweDg2LAorIDB4QzQsIDB4ODQsIDB4ODgsIDB4QzgsIDB4RDIsIDB4OTIsIDB4OTksIDB4RDksIDB4RTMsIDB4RDcsIDB4RDIsIDB4QTMsIDB4OTcsCisgMHg5MiwgMHhDMywgMHg4MywgMHg5MiwgMHhEMiwgMHhGMiwgMHhDMSwgMHg4MSwgMHhENSwgMHg5NSwgMHhDMSwgMHg4MSwgMHhEMiwKKyAweDkyLCAweEMxLCAweDgxLCAweEUzLCAweEEzLCAweEMxLCAweDgxLCAweEQyLCAweDkyLCAweEM4LCAweDg4LCAweEUzLCAweEEzLAorIDB4QzQsIDB4ODQsIDB4QzksIDB4ODksIDB4RTYsIDB4QTYsIDB4QzYsIDB4ODYsIDB4OTUsIDB4RDUsIDB4QzEsIDB4ODEsIDB4RDQsCisgMHg5NCwgMHg5NiwgMHhENiwgMHhEOSwgMHg5OSwgMHhEMywgMHg5MywgMHg4OSwgMHhDOSwgMHhDMSwgMHg4MSwgMHg4OCwgMHhDOCwKKyAweEY1LCAweEYyLCAweEYxLCAweEYwLCAweEY5LCAweEY4LCAweEY0LCAweEUzLCAweEEzLCAweEQ0LCAweDk0LCAweEMzLCAweDgzLAorIDB4QzksIDB4ODksIDB4RDMsIDB4OTMsIDB4RDMsIDB4OTMsIDB4QzksIDB4ODksIDB4RDksIDB4OTksIDB4OTIsIDB4RDIsIDB4QzUsCisgMHg4NSwgMHhDNSwgMHg4NSwgMHhBNiwgMHhFNiwgMHhDNSwgMHg4NSwgMHhEOSwgMHg5OSwgMHhDMiwgMHg4MiwgMHg4NSwgMHhDNSwKKyAweEQ5LCAweDk5LCAweEU4LCAweEE4LCAweEQ5LCAweDk5LCAweEYxLCAweEYyLCAweEYzLCAweEY0LCAweEY1LCAweEM4LCAweEM3LAorIDB4QzMsIDB4QzEsIDB4ODgsIDB4ODcsIDB4ODMsIDB4ODEsIDB4RDUsIDB4OTUsIDB4QzksIDB4ODksIDB4RTMsIDB4QTMsIDB4QzIsCisgMHg4MiwgMHhDNywgMHg4NywgMHhGOCwgMHhDMSwgMHg4MSwgMHhGOCwgMHhGNSwgMHhEMywgMHg5MywgMHhENiwgMHg5NiwgMHhENCwKKyAweEMyLCAweDk0LCAweDgyLCAweDk5LCAweEQ5LCAweEY4LCAweEMzLCAweDgzLCAweEM5LCAweDg5LCAweDgzLCAweEMzLCAweEM5LAorIDB4ODksIDB4RTMsIDB4QTMsIDB4RDMsIDB4OTMsIDB4QzEsIDB4ODEsIDB4QzIsIDB4ODIsIDB4RjUsIDB4QzUsIDB4ODUsIDB4QzcsCisgMHg4NywgMHhDMSwgMHg4MSwgMHhENywgMHg5NywgMHhDNSwgMHg4NSwgMHhDNCwgMHg4NCwgMHg5MywgMHhEMywgMHhDMSwgMHg4MSwKKyAweEU0LCAweEE0LCAweEM3LCAweDg3LCAweEQ1LCAweDk1LCAweEM5LCAweDg5LCAweEQzLCAweDkzLCAweEM5LCAweDg5LCAweEUzLAorIDB4QTMsIDB4RDMsIDB4OTMsIDB4RTQsIDB4QTQsIDB4RDQsIDB4OTQsIDB4QTYsIDB4RTYsIDB4QzUsIDB4ODUsIDB4RDksIDB4OTksCisgMHhDMiwgMHg4MiwgMHhDNSwgMHg4NSwgMHhDOCwgMHg4OCwgMHhENSwgMHg5NSwgMHhDOSwgMHg4OSwgMHhFMywgMHhBMywgMHhDMSwKKyAweDgxLCAweEQzLCAweDkzLCAweEYyLCAweEYwLCAweEQ2LCAweDk2LCAweEY2LCAweEY1LCAweEMzLCAweDgzLCAweEY3LCAweEY4LAorIDB4RjcsIDB4RDcsIDB4OTcsIDB4RTIsIDB4QTIsIDB4QzksIDB4ODksIDB4RDEsIDB4OTEsIDB4QTMsIDB4RTMsIDB4QzYsIDB4ODYsCisgMHhDOSwgMHg4OSwgMHhBMiwgMHhFMiwgMHg4NSwgMHhDNSwgMHhDNCwgMHg4NCwgMHhENiwgMHg5NiwgMHhDMywgMHg4MywgMHg4NSwKKyAweEM1LCAweDg1LCAweEM1LCAweEQzLCAweEMyLCAweDkzLCAweDgyLCAweDg1LCAweEM1LCAweDg1LCAweEM1LCAweEQzLCAweEMyLAorIDB4OTMsIDB4ODIsIDB4RjIsIDB4RjYsIDB4RjgsIDB4RjMsIDB4RjEsIDB4QzYsIDB4ODYsIDB4QzksIDB4ODksIDB4RDUsIDB4OTUsCisgMHhDOSwgMHg4OSwgMHhFMywgMHhBMywgMHhDMSwgMHg4MSwgMHhEMywgMHg5MywgMHhGMSwgMHhGMSwgMHhGMywgMHhFMiwgMHhBMiwKKyAweEU2LCAweEE2LCAweEQ2LCAweDk2LCAweEM0LCAweDg0LCAweEQ1LCAweDk1LCAweEM5LCAweDg5LCAweEUzLCAweEQ1LCAweEEzLAorIDB4OTUsIDB4QzksIDB4ODksIDB4QzgsIDB4ODgsIDB4QzMsIDB4ODMsIDB4RTIsIDB4RDYsIDB4QTIsIDB4OTYsIDB4RTIsIDB4QzIsCisgMHhBMiwgMHg4MiwgMHg5NywgMHhENywgMHhDMSwgMHg4MSwgMHhDMiwgMHg4MiwgMHhFNCwgMHhBNCwgMHhDOSwgMHg4OSwgMHhFMiwKKyAweEM0LCAweEEyLCAweDg0LCAweDgzLCAweEMzLCAweEM5LCAweDg5LCAweEQzLCAweDkzLCAweEQzLCAweDkzLCAweEM5LCAweDg5LAorIDB4RDksIDB4OTksIDB4RTYsIDB4RTQsIDB4RTMsIDB4RTIsIDB4RDcsIDB4RDIsIDB4QzksIDB4QzgsIDB4QzcsIDB4QzUsIDB4QzIsCisgMHhDMSwgMHhBNiwgMHhBNCwgMHhBMywgMHhBMiwgMHg5NywgMHg5MiwgMHg4OSwgMHg4OCwgMHg4NywgMHg4NSwgMHg4MiwgMHg4MSwKKyAweEM5LCAweDg5LCAweEY3LCAweEY0LCAweEYzLCAweEY1LCAweEYwLCAweEY4LCAweEY5LCAweEYyLCAweEYxLCAweDYwLCAweEUyLAorIDB4QUIsIDB4QTIsIDB4NjAsIDB4RjIsIDB4RjEsIDB4RjMsIDB4RjIsIDB4RDIsIDB4OTIsIDB4QzUsIDB4ODUsIDB4QzUsIDB4ODUsCisgMHg3MywgMHg5MiwgMHhEMiwgMHhGMiwgMHg2RCwgMHg2MCwgMHhDOCwgMHg4OCwgMHg2OSwgMHhGNywgMHhGMCwgMHhGNywgMHhGMCwKKyAweEY1LCAweEY0LCAweEYwLCAweEY4LCAweEY3LCAweEYzLCAweEY2LCAweEY3LCAweEYwLCAweEYxLCAweEY3LCAweEY0LCAweEYzLAorIDB4RjAsIDB4RjAsIDB4RjUsIDB4RjcsIDB4RjAsIDB4RjcsIDB4RjEsIDB4RjYsIDB4RjAsIDB4RjQsIDB4RjgsIDB4RjEsIDB4RjAsCisgMHhGNSwgMHhGOSwgMHhGNiwgMHhGNSwgMHhGMywgMHhGMiwgMHhGMSwgMHhGMCwgMHhGOCwgMHhGNCwgMHhGNywgMHhGNSwgMHhGMiwKKyAweEYxLCAweEYwLCAweEY4LCAweEY4LCAweEYzLCAweEY1LCAweEY2LCAweEY3LCAweEY5LCAweEYzLCAweEYwLCAweEY0LCAweEY1LAorIDB4RjAsIDB4RjEsIDB4RjYsIDB4RjcsIDB4RjgsIDB4RjksIDB4RjMsIDB4RjIsIDB4RjQsIDB4RjYsIDB4RjcsIDB4RjksIDB4RjAsCisgMHhGMiwgMHhGMywgMHhGNCwgMHhGNSwgMHhGNiwgMHhGNywgMHhGOCwgMHhGOSwgMHhGMCwgMHhGMywgMHhGMSwgMHhGNCwgMHhGMiwKKyAweEY2LCAweEY3LCAweEY4LCAweEY1LCAweEY0LCAweEYzLCAweEYyLCAweEY2LCAweEY4LCAweEY0LCAweEY1LCAweEYzLCAweEY3LAorIDB4RjYsIDB4RjUsIDB4RjQsIDB4RjMsIDB4RjIsIDB4RjEsIDB4RjAsIDB4RjksIDB4RjgsIDB4RjcsIDB4RjYsIDB4RjUsIDB4RjMsCisgMHhGMSwgMHhGNywgMHhGMywgMHhGMiwgMHhGMCwgMHhGMywgMHhGMiwgMHhGNiwgMHhGMCwgMHhGOSwgMHhGOCwgMHhGNywgMHhGNSwKKyAweEYzLCAweEYwLCAweEY3LCAweEY4LCAweEY5LCAweEY4LCAweEYxLCAweEY3LCAweEYwLCAweEYxLCAweEYyLCAweEYzLCAweEY2LAorIDB4RjYsIDB4RjUsIDB4RjcsIDB4RjAsIDB4RjEsIDB4RjIsIDB4RjMsIDB4RjQsIDB4RjUsIDB4RjYsIDB4RjcsIDB4RjgsIDB4RjksCisgMHhGOCwgMHhGOSwgMHhGMCwgMHhGNCwgMHhGMywgMHhGNCwgMHhGNSwgMHhGNiwgMHhGNywgMHhGOCwgMHhGOSwgMHhGOCwgMHhGNywKKyAweEY2LCAweEY1LCAweEY0LCAweEYzLCAweEYyLCAweEYxLCAweEYwLCAweEYwLCAweEYyLCAweEYzLCAweEY3LCAweEYyLCAweEYzLAorIDB4RjksIDB4RjIsIDB4RjQsIDB4RjUsIDB4RjAsIDB4RjEsIDB4RjIsIDB4RjMsIDB4RjYsIDB4RjUsIDB4RjAsIDB4RjIsIDB4RjEsCisgMHhGMywgMHhGNCwgMHhGNSwgMHhGNiwgMHhGNywgMHhGOCwgMHhGNSwgMHhGMywgMHhGOCwgMHhGMywgMHhGMSwgMHhGMiwgMHhGOSwKKyAweEY2LCAweEYzLCAweEYwLCAweEYxLCAweEY4LCAweEY1LCAweEYzLCAweEYzLCAweEY0LCAweEY5LCAweEY4LCAweEY3LCAweEY2LAorIDB4RjgsIDB4RjcsIDB4RjUsIDB4RjMsIDB4RjAsIDB4RjYsIDB4RjUsIDB4RjQsIDB4RjMsIDB4RjIsIDB4RjEsIDB4RjksIDB4RjgsCisgMHhGNSwgMHhGNCwgMHhGMiwgMHhGMSwgMHhGMCwgMHhGNiwgMHhGMSwgMHhGMCwgMHhGNSwgMHhGMSwgMHhGMiwgMHhGMywgMHhGOCwKKyAweEY3LCAweEY2LCAweEY1LCAweEY0LCAweEY5LCAweEYwLCAweEYyLCAweEYzLCAweEY0LCAweEY1LCAweEY1LCAweEY2LCAweEYzLAorIDB4RjQsIDB4RjAsIDB4RjksIDB4RjgsIDB4RjcsIDB4RjYsIDB4RjgsIDB4RjcsIDB4RjUsIDB4RjQsIDB4RjIsIDB4RjUsIDB4RjMsCisgMHhGMiwgMHhGMiwgMHhGMSwgMHhGNiwgMHhGNiwgMHhGMCwgMHhGOSwgMHhGOCwgMHhGNywgMHhGNCwgMHhGNiwgMHhGNSwgMHhGMywKKyAweEY0LCAweEYwLCAweEY2LCAweEY0LCAweEYzLCAweEYxLCAweEYwLCAweEY5LCAweEYzLCAweEYzLCAweEYyLCAweEYxLCAweEYwLAorIDB4RjksIDB4RjgsIDB4RjcsIDB4RjUsIDB4RjQsIDB4RjMsIDB4RjIsIDB4RjAsIDB4RjgsIDB4RjAsIDB4RjEsIDB4RjQsIDB4RjgsCisgMHhGOCwgMHhGMiwgMHhGNCwgMHhGNSwgMHhGMywgMHhGNCwgMHhGMSwgMHhGNywgMHhGNiwgMHhGNCwgMHhGOSwgMHhGMCwgMHhGNywKKyAweEY1LCAweEYyLCAweEYyLCAweEY3LCAweEY1LCAweEY0LCAweEYzLCAweEYyLCAweEY1LCAweEY1LCAweEY1LCAweEY0LCAweEYxLAorIDB4RjQsIDB4RjMsIDB4RjIsIDB4RjEsIDB4RjIsIDB4RjksIDB4RjIsIDB4RjEsIDB4RjcsIDB4RjMsIDB4RjgsIDB4RjUsIDB4RjcsCisgMHhGMywgMHhGMiwgMHhGOSwgMHhGOCwgMHhGNSwgMHhGNCwgMHhGMSwgMHhGMCwgMHhGNiwgMHhGNSwgMHhGMywgMHhGMiwgMHhGMSwKKyAweEYwLCAweEM0LCAweDg0LCAweDY1LCAweEM5LCAweDg5LCAweDcxLCAweEUyLCAweEFCLCAweEEyLCAweEYxLCAweEYwLCAweEMzLAorIDB4ODMsIDB4NjQsIDB4RjksIDB4RjgsIDB4RjcsIDB4RjYsIDB4RjUsIDB4RjQsIDB4RjMsIDB4RjIsIDB4RjEsIDB4RjAsIDB4RTMsCisgMHhCMywgMHhBMywgMHhGOSwgMHhGOCwgMHhGNywgMHhGNSwgMHhGNCwgMHhGMywgMHhGMiwgMHhGMSwgMHhGMCwgMHhDMywgMHg4MywKKyAweDY0LCAweDYwLCAweEMxLCAweDgxLCAweEYyLCAweDYwLCAweEUyLCAweEFCLCAweEEyLCAweEMzLCAweDgzLCAweDY0LCAweEU0LAorIDB4QjQsIDB4QTQsIDB4NjAsIDB4RjYsIDB4RjQsIDB4RjYsIDB4RjEsIDB4NjAsIDB4NzYsIDB4RDUsIDB4QzksIDB4NzEsIDB4RTMsCisgMHhCMywgMHhDMSwgMHg2MiwgMHhEMywgMHg3NCwgMHg2MCwgMHhGMSwgMHg0QiwgMHhGMywgMHg2MCwgMHhFMiwgMHhBQiwgMHhFNiwKKyAweEI2LCAweEQ2LCAweDc3LCAweEM0LCAweDY1LCAweEQ1LCAweDk1LCAweEM5LCAweDg5LCAweEUzLCAweEEzLCAweEMxLCAweDgxLAorIDB4RDMsIDB4OTMsIDB4NjAsIDB4RjEsIDB4NEIsIDB4RjMsIDB4NjAsIDB4RTIsIDB4QTIsIDB4RTYsIDB4QTYsIDB4RDYsIDB4OTYsCisgMHhDNCwgMHg4NCwgMHhENSwgMHg5NSwgMHhENSwgMHg3NiwgMHhDOSwgMHg4OSwgMHg3MSwgMHhFNiwgMHhCNiwgMHhBNiwgMHhGMiwKKyAweDYwLCAweDc2LCAweEQ1LCAweEM5LCAweDcxLCAweEUzLCAweEIzLCAweEMxLCAweDYyLCAweEQzLCAweDc0LCAweDYwLCAweEUyLAorIDB4QUIsIDB4RTYsIDB4QjYsIDB4RDYsIDB4NzcsIDB4QzQsIDB4NjUsIDB4RDUsIDB4OTUsIDB4QzksIDB4ODksIDB4RTMsIDB4QTMsCisgMHhDMSwgMHg4MSwgMHhEMywgMHg5MywgMHg2MCwgMHhFMiwgMHhBMiwgMHhFNiwgMHhBNiwgMHhENiwgMHg5NiwgMHhDNCwgMHg4NCwKKyAweEQ1LCAweDk1LCAweEQ1LCAweDc2LCAweEM5LCAweDg5LCAweDcxLCAweEU2LCAweEI2LCAweEE2LCAweDAwLCAweDYwLCAweDAwLAorIDB4RjUsIDB4RjMsIDB4NjAsIDB4RjYsIDB4RjMsIDB4RjQsIDB4RjksIDB4RjcsIDB4RjgsIDB4RjUsIDB4RjIsIDB4RjEsIDB4NjAsCisgMHhGOSwgMHhGNSwgMHhGOCwgMHhGMCwgMHhEOSwgMHg5OSwgMHhGMSwgMHhGOSwgMHhGOSwgMHhGMSwgMHg3QSwgMHhCNSwgMHhFNSwKKyAweEU1LCAweEE1LCAweEQ5LCAweDk5LCAweEQ5LCAweDlCLCAweEM5LCAweDg5LCAweDcxLCAweDRCLCAweEY2LCAweEY3LCAweEY4LAorIDB4RjksIDB4RjEsIDB4RjcsIDB4RjgsIDB4RjksIDB4RjEsIDB4RjgsIDB4RjgsIDB4RjksIDB4RjEsIDB4RjgsIDB4RjgsIDB4RjksCisgMHhGMSwgMHhGOCwgMHhGOCwgMHhGOSwgMHhGMSwgMHhGNywgMHhGOCwgMHhGOSwgMHhGMSwgMHhGNywgMHhGOCwgMHhGOSwgMHhGMSwKKyAweEY4LCAweEY5LCAweEYxLCAweEY5LCAweEY4LCAweEY5LCAweEYxLCAweDAwLCAweDdBLCAweDAwLCAweDdBLCAweDAwLCAweDdBLAorIDB4MDAsIDB4N0EsIDB4MDAsIDB4N0EsIDB4MDAsIDB4N0EsIDB4MDAsIDB4N0EsIDB4MDAsIDB4N0EsIDB4MDAsIDB4RjUsIDB4N0EsCisgMHhGOSwgMHhGOCwgMHhGNywgMHhGNiwgMHhGNSwgMHhGNCwgMHhGMywgMHhGMiwgMHhGMSwgMHg2MCwgMHhGOSwgMHhGNSwgMHhGOCwKKyAweEY0LCAweEEyLCAweEFCLCAweEUyLCAweEU0LCAweEI0LCAweEE0LCAweDYwLCAweEY2LCAweEY0LCAweEY4LCAweEY2LCAweEY4LAorIDB4RjEsIDB4QzksIDB4ODksIDB4RjYsIDB4NkQsIDB4NjAsIDB4RDYsIDB4OTYsIDB4NzcsIDB4RDUsIDB4OTUsIDB4RDQsIDB4OTQsCisgMHg3NSwgMHhEOSwgMHg5QiwgMHg5OSwgMHg2MCwgMHg5NSwgMHhENSwgMHhDMSwgMHg4MSwgMHhDNSwgMHg4NSwgMHhGOCwgMHhGMSwKKyAweEYwLCAweEY2LCAweEY1LCAweEY5LCAweEY3LCAweEY4LCAweEY5LCAweEYxLCAweDYwLCAweEYxLCAweEYwLCAweEY2LCAweEY1LAorIDB4NkQsIDB4QzMsIDB4ODMsIDB4NjQsIDB4NkQsIDB4QzMsIDB4ODMsIDB4NkQsIDB4NjQsIDB4RDksIDB4QzksIDB4OTksIDB4ODksCisgMHg3MSwgMHhGOSwgMHg2MCwgMHhENSwgMHg3NiwgMHhDOSwgMHg3MSwgMHhGMSwgMHhGMiwgMHhGMywgMHhGNCwgMHhGNSwgMHg2MCwKKyAweEQ1LCAweDk1LCAweEM5LCAweDg5LCAweEUzLCAweEEzLCAweEUzLCAweEIzLCAweDcxLCAweEM5LCAweEQxLCAweDcyLCAweDg5LAorIDB4QzksIDB4RDEsIDB4OTEsIDB4RDUsIDB4OTUsIDB4RDUsIDB4NzYsIDB4QzEsIDB4ODEsIDB4NjIsIDB4RjMsIDB4RDIsIDB4OTIsCisgMHg3MywgMHhGOSwgMHg2RCwgMHg5NiwgMHhENiwgMHhEOSwgMHg5OSwgMHhFNCwgMHhBNCwgMHhDNSwgMHg4NSwgMHg0RSwgMHhGMCwKKyAweEY1LCAweEY4LCAweDYwLCAweEQzLCAweDkzLCAweEMxLCAweDgxLCAweEU0LCAweEE0LCAweEM3LCAweDg3LCAweEQ1LCAweDk1LAorIDB4QzksIDB4ODksIDB4RDMsIDB4OTMsIDB4QzksIDB4ODksIDB4RTMsIDB4QTMsIDB4RDYsIDB4NzcsIDB4RDksIDB4OUIsIDB4RTQsCisgMHhCNCwgMHhDNSwgMHg2NiwgMHg0RSwgMHhGMCwgMHhGNSwgMHhGOCwgMHg2MCwgMHhEMywgMHg3NCwgMHhDMSwgMHg2MiwgMHhFNCwKKyAweEI0LCAweEM3LCAweDY4LCAweEQ1LCAweDc2LCAweEM5LCAweDcxLCAweEQzLCAweDc0LCAweEM5LCAweDcxLCAweEUzLCAweEIzLAorIDB4RDMsIDB4NzQsIDB4RDMsIDB4OTMsIDB4RTQsIDB4QjQsIDB4QTQsIDB4RDQsIDB4OTQsIDB4NzUsIDB4NjAsIDB4NkQsIDB4RTMsCisgMHhCMywgMHhDNiwgMHg2NywgMHg2RCwgMHhFMywgMHhBMywgMHhDNiwgMHg4NiwgMHhDOSwgMHg4OSwgMHhDOSwgMHg3MSwgMHg2MCwKKyAweEUyLCAweEFCLCAweEEyLCAweEYyLCAweDYwLCAweEMzLCAweDgzLCAweDY0LCAweEUyLCAweEFCLCAweEEyLCAweEMxLCAweDgxLAorIDB4NjIsIDB4QzUsIDB4ODUsIDB4NjYsIDB4QzUsIDB4ODUsIDB4NjYsIDB4NzQsIDB4OTMsIDB4RDMsIDB4NjMsIDB4ODIsIDB4QzIsCisgMHhEMywgMHhDMiwgMHg5MywgMHg4MiwgMHg3NCwgMHg2MywgMHg2MCwgMHhDNSwgMHg4NSwgMHg2NiwgMHhDNSwgMHg4NSwgMHg2NiwKKyAweDc0LCAweDkzLCAweEQzLCAweDYzLCAweDgyLCAweEMyLCAweEQzLCAweEMyLCAweDkzLCAweDgyLCAweDc0LCAweDYzLCAweDYwLAorIDB4RjIsIDB4RjYsIDB4RjgsIDB4RjMsIDB4RjEsIDB4RjgsIDB4RjMsIDB4RjEsIDB4NjAsIDB4QzYsIDB4ODYsIDB4NjcsIDB4MDAsCisgMHg2MCwgMHhFMiwgMHhBQiwgMHhBMiwgMHhGOSwgMHhGMSwgMHg2MCwgMHhBMiwgMHhFMiwgMHhFNiwgMHhBNiwgMHhENiwgMHg5NiwKKyAweEM0LCAweDg0LCAweEQ1LCAweDk1LCAweEUyLCAweEFCLCAweEU2LCAweEI2LCAweEQ2LCAweDc3LCAweEM0LCAweDY1LCAweEQ1LAorIDB4NzYsIDB4RjksIDB4RjYsIDB4RjUsIDB4RjMsIDB4RjIsIDB4RjEsIDB4RjAsIDB4RkUsIDB4RkUsIDB4RkUsIDB4RkUsIDB4RkUsCisgMHhGRSwgMHhGRSwgMHhGRSwgMHhGRSwgMHhGRSwgMHhGRSwgMHhGRSwgMHhGRSwgMHhGRSwgMHhGRSwgMHhGRSwgMHhGRSwgMHhGRSwKKyAweEZFLCAweEZFLCAweEZFLCAweEZFLCAweEZFLCAweEZFLCAweEZFLCAweEZFLCAweEZFLCAweEZFLCAweEZFLCAweEZFLCAweEZFLAorIDB4RkUsIDB4RkUsIDB4RkUsIDB4RkUsIDB4RkUsIDB4RkUsIDB4RkUsIDB4RkUsIDB4RkUsIDB4RkUsIDB4RkUsIDB4RkUsIDB4RkUsCisgMHhGRSwgMHhGRSwgMHhGRSwgMHhGRSwgMHhGRSwgMHhGRSwgMHhGRSwgMHhGRSwgMHhGRSwgMHhGRSwgMHhGRSwgMHhGRSwgMHhGRSwKKyAweEZFLCAweEZFLCAweEZFLCAweEZFLCAweEZFLCAweEZFLCAweEZFLCAweEZFLCAweEZFLCAweEZFLCAweEZFLCAweEZFLCAweEZFLAorIDB4RkUsIDB4RkUsIDB4RkUsIDB4RkUsIDB4RkUsIDB4RkUsIDB4RkUsIDB4RjYsIDB4RjUsIDB4QzksIDB4NzEsIDB4QzksIDB4ODksCisgMHhFMywgMHhFMiwgMHhDMywgMHhCMywgMHhBQiwgMHhBMywgMHhBMiwgMHg4MywgMHg2NCwgMHhDOSwgMHg4OSwgMHg3MSwgMHhDOCwKKyAweDg4LCAweDY5LCAweEY4LCAweEQ2LCAweDc3LCAweEY4LCAweEQ2LCAweDk2LCAweEMzLCAweDgzLCAweDY0LCAweEUyLCAweEFCLAorIDB4QTIsIDB4RjUsIDB4RjQsIDB4RjMsIDB4RjIsIDB4RjEsIDB4QzEsIDB4ODEsIDB4NjIsIDB4RTIsIDB4RDYsIDB4QUIsIDB4QTIsCisgMHg5NiwgMHg3NywgMHhFMiwgMHhDMiwgMHhDMSwgMHhBQiwgMHhBMiwgMHg4MiwgMHg4MSwgMHg2MywgMHhENywgMHhDNSwgMHg5NywKKyAweDg1LCAweEQ5LCAweEMyLCAweDk5LCAweDgyLCAweDYzLCAweEU4LCAweEUyLCAweEQ3LCAweEM4LCAweEMzLCAweEE4LCAweEEyLAorIDB4OTcsIDB4ODgsIDB4ODMsIDB4NzgsIDB4NjQsIDB4QzksIDB4ODksIDB4NzEsIDB4RjEsIDB4RjIsIDB4RjMsIDB4RjQsIDB4RjUsCisgMHhDMSwgMHg2MiwgMHhENiwgMHg3NywgMHhFMiwgMHhDMiwgMHhDMSwgMHhBQiwgMHg2MywgMHg2MiwgMHhFNywgMHhFNCwgMHhEMywKKyAweEMzLCAweEMyLCAweEI3LCAweEI0LCAweEE3LCAweEE0LCAweDkzLCAweDgzLCAweDgyLCAweDc0LCAweDY0LCAweDYzLCAweEU4LAorIDB4RTIsIDB4RDcsIDB4QzgsIDB4QjgsIDB4QUIsIDB4NzgsIDB4NjksIDB4OUIsIDB4OTksIDB4RDksIDB4RTIsIDB4RDUsIDB4QzQsCisgMHhBQiwgMHhBMiwgMHg5NSwgMHg4NCwgMHg3NiwgMHg2NSwgMHg2OSwgMHg0OSwgMHg3NCwgMHg3MywgMHg2MywgMHg1NCwgMHg1MywKKyAweDQzLCAweDY5LCAweDQ5LCAweDY4LCAweDQ4LCAweDM4LCAweEM5LCAweDg5LCAweDcxLCAweDZGLCAweDRGLCAweDYzLCAweDQzLAorIDB4NzMsIDB4NTMsIDB4MzEsIDB4MzIsIDB4MzMsIDB4MzQsIDB4MzUsIDB4NjEsIDB4NDEsIDB4NzMsIDB4NkYsIDB4NTMsIDB4NEYsCisgMHg2OSwgMHg0OSwgMHg2NiwgMHhDNSwgMHhENywgMHg3OCwgMHg3MywgMHg2MiwgMHg2MSwgMHg1MywgMHg0MiwgMHg0MSwgMHhEOSwKKyAweDlCLCAweDcwLCAweDY1LCAweDUwLCAweDQ1LCAweDcyLCAweDYyLCAweDUyLCAweDQyLCAweDc4LCAweDc1LCAweDZDLCAweDYzLAorIDB4NjIsIDB4NTgsIDB4NTUsIDB4NEMsIDB4NDMsIDB4NDIsIDB4NzksIDB4NzMsIDB4NzAsIDB4NjgsIDB4NjMsIDB4NTksIDB4NTMsCisgMHg1MCwgMHg0OCwgMHg0MywgMHg2OSwgMHg0OSwgMHg1MiwgMHg3MiwgMHg3MywgMHg2RSwgMHg2NCwgMHg1MywgMHg0RSwgMHg0NCwKKyAweDM1LCAweDM2LCAweDI4LCAweDc4LCAweDc3LCAweDc1LCAweDc0LCAweDczLCAweDcyLCAweDcwLCAweDZELCAweDZDLCAweDZCLAorIDB4NkEsIDB4NjksIDB4NjgsIDB4NjcsIDB4NjUsIDB4NjMsIDB4NjIsIDB4NjEsIDB4NTgsIDB4NTcsIDB4NTUsIDB4NTQsIDB4NTMsCisgMHg1MiwgMHg1MCwgMHg0RCwgMHg0QywgMHg0QiwgMHg0QSwgMHg0OSwgMHg0OCwgMHg0NywgMHg0NSwgMHg0MywgMHg0MiwgMHg0MSwKKyAweDM5LCAweDM4LCAweDM0LCAweEZFLCAweEZFLCAweDAwLCAweEZFLCAweEZFLCAweDAwLCAweEZFLCAweEZFLCAweEZFLCAweEZFCit9OwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9vczQwMC9pY29udi9pY29udi5jIGIvbGlieG1sMi9vczQwMC9pY29udi9pY29udi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM4NWMyNjgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL29zNDAwL2ljb252L2ljb252LmMKQEAgLTAsMCArMSwxNTQgQEAKKy8qKgorKioqICAgICBpY29udl9vcGVuKCksIGljb252KCksIGljb252X2Nsb3NlKCkgd3JhcHBlcnMgZm9yIHRoZSBPUy80MDAuCisqKioKKyoqKiAgICAgU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgorKioqCisqKiogICAgIEF1dGhvcjogUGF0cmljayBNb25uZXJhdCA8cG1AZGF0YXNwaGVyZS5jaD4sIERBVEFTUEhFUkUgUy5BLgorKiovCisKKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisKKyNpbmNsdWRlICIvUUlCTS9pbmNsdWRlL2ljb252LmgiICAgICAgICAvKiBGb3JjZSBzeXN0ZW0gZGVmaW5pdGlvbi4gKi8KKworI2RlZmluZSBVU0VfU1lTVEVNX0lDT05WCisjaW5jbHVkZSAiaWNvbnYuaCIgICAgICAgICAgICAgICAgICAgICAgLyogVXNlIGxvY2FsIGRlZmluaXRpb25zLiAqLworCisKKworLyoqCisqKiogICAgIEJyaW5nLWluIHRoZSBuYW1lLS0+Q0NTSUQgbWFwcGluZyBERkEgdGFibGVzLgorKiovCisKKyNpbmNsdWRlICJpYW5hdGFibGVzLmMiCisKKworCitzdGF0aWMgaW50CitmaW5kRW5jb2RpbmcoY29uc3QgdW5zaWduZWQgY2hhciAqICogbmFtZXApCisKK3sKKyAgICAgICAgdF9zdGF0ZXJhbmdlIGN1cnN0YXRlOworICAgICAgICB0X2Njc2lkIGNjc2lkOworICAgICAgICB0X2Njc2lkIGZpbmFsOworICAgICAgICB0X3RyYW5zcmFuZ2UgbDsKKyAgICAgICAgdF90cmFuc3JhbmdlIGg7CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKiBuYW1lOworCisgICAgICAgIC8qKgorICAgICAgICAqKiogICAgIEdldCB0aGUgQ0NTSUQgY29ycmVzcG9uZyB0byB0aGUgbmFtZSBhdCAqYG5hbWVwJy4KKyAgICAgICAgKioqICAgICBJZiBzdWNjZXNzLCB1cGRhdGUgcG9pbnRlciBhdCBgbmFtZXAnIHRvIDFzdCBieXRlIGFmdGVyIG1hdGNoZWQKKyAgICAgICAgKioqICAgICAgICAgICAgIG5hbWUgYW5kIHJldHVybiB0aGUgQ0NTSUQuCisgICAgICAgICoqKiAgICAgSWYgZmFpbHVyZSwgc2V0IGVycm5vIGFuZCByZXR1cm4gLTEuCisgICAgICAgICoqLworCisgICAgICAgIGlmICghbmFtZXAgfHwgIShuYW1lID0gKm5hbWVwKSkgeworICAgICAgICAgICAgICAgIGVycm5vID0gRUlOVkFMOworICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgY3Vyc3RhdGUgPSAwOworICAgICAgICBmaW5hbCA9IDA7CisKKyAgICAgICAgZm9yICg7OykgeworICAgICAgICAgICAgICAgIGlmIChjdXJzdGF0ZSA8IHNpemVvZiBmaW5hbF9hcnJheSAvIHNpemVvZiBmaW5hbF9hcnJheVswXSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmaW5hbF9hcnJheVtjdXJzdGF0ZV0pIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmluYWwgPSBmaW5hbF9hcnJheVtjdXJzdGF0ZV07CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuYW1lcCA9IG5hbWU7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGwgPSB0cmFuc19hcnJheVtjdXJzdGF0ZV0gLSAxOworICAgICAgICAgICAgICAgIGggPSB0cmFuc19hcnJheVtjdXJzdGF0ZSArIDFdOworCisgICAgICAgICAgICAgICAgZG8geworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCsrbCA+PSBoKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghZmluYWwpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJubyA9IEVJTlZBTDsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmaW5hbCAtIDE7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9IHdoaWxlIChsYWJlbF9hcnJheVtsXSAhPSAqbmFtZSk7CisKKyAgICAgICAgICAgICAgICBjdXJzdGF0ZSA9IGdvdG9fYXJyYXlbbF07CisgICAgICAgICAgICAgICAgbmFtZSsrOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAvKiBOT1RSRUFDSEVELiAqLworfQorCisKK3N0YXRpYyB2b2lkCittYWtlb3M0MDBjb2RlbmFtZShjaGFyICogYnVmLCB1bnNpZ25lZCBpbnQgY2NzaWQpCisKK3sKKyAgICAgICAgY2NzaWQgJj0gMHhGRkZGOworICAgICAgICBtZW1zZXQoYnVmLCAwLCAzMik7CisgICAgICAgIHNwcmludGYoYnVmLCAiSUJNQ0NTSUQlMDV1MDAwMDAwMCIsIGNjc2lkKTsKK30KKworCitJY29udl90CitJY29udk9wZW4oY29uc3QgY2hhciAqIHRvY29kZSwgY29uc3QgY2hhciAqIGZyb21jb2RlKQorCit7CisgICAgICAgIGludCB0b2Njc2lkID0gZmluZEVuY29kaW5nKCZ0b2NvZGUpOworICAgICAgICBpbnQgZnJvbWNjc2lkID0gZmluZEVuY29kaW5nKCZmcm9tY29kZSk7CisgICAgICAgIGNoYXIgZnJvbWlibWNjc2lkWzMzXTsKKyAgICAgICAgY2hhciB0b2libWNjc2lkWzMzXTsKKyAgICAgICAgaWNvbnZfdCAqIGNkOworCisgICAgICAgIGlmICh0b2Njc2lkIDwgMCB8fCBmcm9tY2NzaWQgPCAwKQorICAgICAgICAgICAgICAgIHJldHVybiAoSWNvbnZfdCkgLTE7CisKKyAgICAgICAgbWFrZW9zNDAwY29kZW5hbWUoZnJvbWlibWNjc2lkLCBmcm9tY2NzaWQpOworICAgICAgICBtYWtlb3M0MDBjb2RlbmFtZSh0b2libWNjc2lkLCB0b2Njc2lkKTsKKyAgICAgICAgbWVtc2V0KHRvaWJtY2NzaWQgKyAxMywgMCwgc2l6ZW9mIHRvaWJtY2NzaWQgLSAxMyk7CisKKyAgICAgICAgY2QgPSAoaWNvbnZfdCAqKSBtYWxsb2Moc2l6ZW9mICpjZCk7CisKKyAgICAgICAgaWYgKCFjZCkKKyAgICAgICAgICAgICAgICByZXR1cm4gKEljb252X3QpIC0xOworCisgICAgICAgICpjZCA9IGljb252X29wZW4odG9pYm1jY3NpZCwgZnJvbWlibWNjc2lkKTsKKworICAgICAgICBpZiAoY2QtPnJldHVybl92YWx1ZSkgeworICAgICAgICAgICAgICAgIGZyZWUoKGNoYXIgKikgY2QpOworICAgICAgICAgICAgICAgIHJldHVybiAoSWNvbnZfdCkgLTE7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgIHJldHVybiAoSWNvbnZfdCkgY2Q7Cit9CisKKworc2l6ZV90CitJY29udihJY29udl90IGNkLCBjaGFyICogKiBpbmJ1Ziwgc2l6ZV90ICogaW5ieXRlc2xlZnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqICogb3V0YnVmLCBzaXplX3QgKiBvdXRieXRlc2xlZnQpCisKK3sKKyAgICAgICAgaWYgKCFjZCB8fCBjZCA9PSAoSWNvbnZfdCkgLTEpIHsKKyAgICAgICAgICAgICAgICBlcnJubyA9IEVJTlZBTDsKKyAgICAgICAgICAgICAgICByZXR1cm4gKHNpemVfdCkgLTE7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgIHJldHVybiBpY29udigqKGljb252X3QgKikgY2QsIGluYnVmLCBpbmJ5dGVzbGVmdCwgb3V0YnVmLCBvdXRieXRlc2xlZnQpOworfQorCisKK2ludAorSWNvbnZDbG9zZShJY29udl90IGNkKQorCit7CisgICAgICAgIGlmICghY2QgfHwgY2QgPT0gKEljb252X3QpIC0xKSB7CisgICAgICAgICAgICAgICAgZXJybm8gPSBFSU5WQUw7CisgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICBpZiAoaWNvbnZfY2xvc2UoKihpY29udl90ICopIGNkKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisKKyAgICAgICAgZnJlZSgoY2hhciAqKSBjZCk7CisgICAgICAgIHJldHVybiAwOworfQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9vczQwMC9pY29udi9pY29udi5oIGIvbGlieG1sMi9vczQwMC9pY29udi9pY29udi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg3YThiYmMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL29zNDAwL2ljb252L2ljb252LmgKQEAgLTAsMCArMSw0MCBAQAorLyoqCisqKiogICAgIERlY2xhcmF0aW9ucyBmb3IgdGhlIGljb252IHdyYXBwZXJzLgorKioqCisqKiogICAgIFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyoqKgorKioqICAgICBBdXRob3I6IFBhdHJpY2sgTW9ubmVyYXQgPHBtQGRhdGFzcGhlcmUuY2g+LCBEQVRBU1BIRVJFIFMuQS4KKyoqLworCisjaWZuZGVmIF9fSUNPTlZfSF8KKyNkZWZpbmUgX19JQ09OVl9IXworCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCisKKyNpbmNsdWRlIDxzdGRkZWYuaD4gICAgICAgICAgICAgLyogRm9yIHNpemVfdC4gKi8KKworCit0eXBlZGVmIHZvaWQgKiAgSWNvbnZfdDsKKworCitJY29udl90ICAgICAgICAgSWNvbnZPcGVuKGNvbnN0IGNoYXIgKiB0b2NvZGUsIGNvbnN0IGNoYXIgKiBmcm9tY29kZSk7CitzaXplX3QgICAgICAgICAgSWNvbnYoSWNvbnZfdCBjZCwgY2hhciAqICogaW5idWYsIHNpemVfdCAqIGluYnl0ZXNsZWZ0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKiAqIG91dGJ1Ziwgc2l6ZV90ICogb3V0Ynl0ZXNsZWZ0KTsKK2ludCAgICAgICAgICAgICBJY29udkNsb3NlKEljb252X3QgY2QpOworCisKKyNpZm5kZWYgVVNFX1NZU1RFTV9JQ09OVgorI2RlZmluZSBpY29udl90ICAgICAgICAgSWNvbnZfdAorI2RlZmluZSBpY29udl9vcGVuICAgICAgSWNvbnZPcGVuCisjZGVmaW5lIGljb252ICAgICAgICAgICBJY29udgorI2RlZmluZSBpY29udl9jbG9zZSAgICAgSWNvbnZDbG9zZQorI2VuZGlmCisKKworI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKworI2VuZGlmCmRpZmYgLS1naXQgYS9saWJ4bWwyL29zNDAwL2luaXRzY3JpcHQuc2ggYi9saWJ4bWwyL29zNDAwL2luaXRzY3JpcHQuc2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmI4MDUwNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvb3M0MDAvaW5pdHNjcmlwdC5zaApAQCAtMCwwICsxLDI5MCBAQAorIyEvYmluL3NoCisjCisjICAgICAgIENvbXBpbGF0aW9uIHNjcmlwdHMgaW5pdGlhbGl6YXRpb24gZm9yIHRoZSBPUy80MDAgaW1wbGVtZW50YXRpb24uCisjCisjICAgICAgIFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyMKKyMgICAgICAgQXV0aG9yOiBQYXRyaWNrIE1vbm5lcmF0IDxwbUBkYXRhc3BoZXJlLmNoPiwgREFUQVNQSEVSRSBTLkEuCisjCisKKworY2FzZSAiJHtTQ1JJUFRESVJ9IiBpbgorLyopICAgICA7OworKikgICAgICBTQ1JJUFRESVI9ImBwd2RgLyR7U0NSSVBURElSfSIKK2VzYWMKKword2hpbGUgdHJ1ZQorZG8gICAgICBjYXNlICIke1NDUklQVERJUn0iIGluCisgICAgICAgICovLikgICAgU0NSSVBURElSPSIke1NDUklQVERJUiUvLn0iOzsKKyAgICAgICAgKikgICAgICBicmVhazs7CisgICAgICAgIGVzYWMKK2RvbmUKKworIyAgVGhlIHNjcmlwdCBkaXJlY3RvcnkgaXMgc3VwcG9zZWQgdG8gYmUgaW4gJFRPUERJUi9vczQwMC4KKworVE9QRElSPWBkaXJuYW1lICIke1NDUklQVERJUn0iYAorZXhwb3J0IFNDUklQVERJUiBUT1BESVIKKworCitzZXRlbnYoKQorCit7CisgICAgICAgICMgICAgICAgRGVmaW5lIGFuZCBleHBvcnQuCisKKyAgICAgICAgZXZhbCAkezF9PSIkezJ9IgorICAgICAgICBleHBvcnQgJHsxfQorfQorCisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjCisjICAgICAgICAgICAgICAgICAgICAgICBUdW5hYmxlIGNvbmZpZ3VyYXRpb24gcGFyYW1ldGVycy4KKyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKK3NldGVudiBUQVJHRVRMSUIgICAgICAgICdMSUJYTUwyJyAgICAgICAjIFRhcmdldCBPUy80MDAgcHJvZ3JhbSBsaWJyYXJ5Lgorc2V0ZW52IFNUQVRCTkRESVIgICAgICAgJ0xJQlhNTDJfQScgICAgICMgU3RhdGljIGJpbmRpbmcgZGlyZWN0b3J5Lgorc2V0ZW52IERZTkJORERJUiAgICAgICAgJ0xJQlhNTDInICAgICAgICMgRHluYW1pYyBiaW5kaW5nIGRpcmVjdG9yeS4KK3NldGVudiBTUlZQR00gICAgICAgICAgICJMSUJYTUwyIiAgICAgICAjIFNlcnZpY2UgcHJvZ3JhbS4KK3NldGVudiBUR1RDQ1NJRCAgICAgICAgICc1MDAnICAgICAgICAgICAjIFRhcmdldCBDQ1NJRCBvZiBvYmplY3RzLgorc2V0ZW52IERFQlVHICAgICAgICAgICAgJypBTEwnICAgICAgICAgICMgRGVidWcgbGV2ZWwuCitzZXRlbnYgT1BUSU1JWkUgICAgICAgICAnMTAnICAgICAgICAgICAgIyBPcHRpbWlzYXRpb24gbGV2ZWwuCitzZXRlbnYgT1VUUFVUICAgICAgICAgICAnKk5PTkUnICAgICAgICAgIyBDb21waWxhdGlvbiBvdXRwdXQgb3B0aW9uLgorc2V0ZW52IFRHVFJMUyAgICAgICAgICAgJ1Y1UjNNMCcgICAgICAgICMgVGFyZ2V0IE9TIHJlbGVhc2UuCitzZXRlbnYgSUZTRElSICAgICAgICAgICAnL2xpYnhtbDInICAgICAgIyBJbnN0YWxsYXRpb24gSUZTIGRpcmVjdG9yeS4KKworCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIworIyAgICAgICAgICAgICAgICAgICAgICAgQ29uZGl0aW9uYWwgY29tcGlsYXRpb24gcGFyYW1ldGVycy4KKyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKK3NldGVudiBXSVRIX1RSSU8gICAgICAgICAgICAgICAgMSAgICAjIENvbmZpZ3VyZSB0cmlvIHN1cHBvcnQuCitzZXRlbnYgV0lUSF9USFJFQURTICAgICAgICAgICAgIDEgICAgIyBDb25maWd1cmUgdGhyZWFkIHN1cHBvcnQuCitzZXRlbnYgV0lUSF9USFJFQURfQUxMT0MgICAgICAgIDEgICAgIyBXaGV0aGVyIGFsbG9jYXRpb24gaG9va3MgYXJlIHBlci10aHJlYWQuCitzZXRlbnYgV0lUSF9UUkVFICAgICAgICAgICAgICAgIDEgICAgIyBDb21waWxlIERPTSB0cmVlIEFQSS4KK3NldGVudiBXSVRIX09VVFBVVCAgICAgICAgICAgICAgMSAgICAjIENvbXBpbGUgc2VyaWFsaXphdGlvbi9zYXZpbmcgc3VwcG9ydC4KK3NldGVudiBXSVRIX1BVU0ggICAgICAgICAgICAgICAgMSAgICAjIENvbXBpbGUgcHVzaCBwYXJzZXIuCitzZXRlbnYgV0lUSF9SRUFERVIgICAgICAgICAgICAgIDEgICAgIyBDb21waWxlIHBhcnNpbmcgaW50ZXJmYWNlLgorc2V0ZW52IFdJVEhfUEFUVEVSTiAgICAgICAgICAgICAxICAgICMgQ29tcGlsZSBwYXR0ZXJuIG5vZGUgc2VsZWN0aW9uIGludGVyZmFjZS4KK3NldGVudiBXSVRIX1dSSVRFUiAgICAgICAgICAgICAgMSAgICAjIENvbXBpbGUgc2F2aW5nIGludGVyZmFjZS4KK3NldGVudiBXSVRIX1NBWDEgICAgICAgICAgICAgICAgMSAgICAjIENvbXBpbGUgU0FYIHZlcnNpb24gMSBpbnRlcmZhY2UuCitzZXRlbnYgV0lUSF9GVFAgICAgICAgICAgICAgICAgIDEgICAgIyBDb21waWxlIEZUUCBzdXBwb3J0Lgorc2V0ZW52IFdJVEhfSFRUUCAgICAgICAgICAgICAgICAxICAgICMgQ29tcGlsZSBIVFRQIHN1cHBvcnQuCitzZXRlbnYgV0lUSF9WQUxJRCAgICAgICAgICAgICAgIDEgICAgIyBDb21waWxlIERURCB2YWxpZGF0aW9uIHN1cHBvcnQuCitzZXRlbnYgV0lUSF9IVE1MICAgICAgICAgICAgICAgIDEgICAgIyBDb21waWxlIEhUTUwgc3VwcG9ydC4KK3NldGVudiBXSVRIX0xFR0FDWSAgICAgICAgICAgICAgMSAgICAjIENvbXBpbGUgZGVwcmVjYXRlZCBBUEkuCitzZXRlbnYgV0lUSF9DMTROICAgICAgICAgICAgICAgIDEgICAgIyBDb21waWxlIGNhbm9uaWNhbGl6YXRpb24gc3VwcG9ydC4KK3NldGVudiBXSVRIX0NBVEFMT0cgICAgICAgICAgICAgMSAgICAjIENvbXBpbGUgY2F0YWxvZyBzdXBwb3J0Lgorc2V0ZW52IFdJVEhfRE9DQiAgICAgICAgICAgICAgICAxICAgICMgQ29tcGlsZSBTR01MIERvY2Jvb2sgc3VwcG9ydC4KK3NldGVudiBXSVRIX1hQQVRIICAgICAgICAgICAgICAgMSAgICAjIENvbXBpbGUgWFBhdGggc3VwcG9ydC4KK3NldGVudiBXSVRIX1hQVFIgICAgICAgICAgICAgICAgMSAgICAjIENvbXBpbGUgWFBvaW50ZXIgc3VwcG9ydC4KK3NldGVudiBXSVRIX1hJTkNMVURFICAgICAgICAgICAgMSAgICAjIENvbXBpbGUgWEluY2x1ZGUgc3VwcG9ydC4KK3NldGVudiBXSVRIX0lDT05WICAgICAgICAgICAgICAgMSAgICAjIFdoZXRoZXIgaWNvbnYgc3VwcG9ydCBpcyBhdmFpbGFibGUuCitzZXRlbnYgV0lUSF9JQ1UgICAgICAgICAgICAgICAgIDAgICAgIyBXaGV0aGVyIGljdSBzdXBwb3J0IGlzIGF2YWlsYWJsZS4KK3NldGVudiBXSVRIX0lTTzg4NTlYICAgICAgICAgICAgMSAgICAjIENvbXBpbGUgSVNPLTg4NTktKiBzdXBwb3J0IGlmIG5vIGljb252Lgorc2V0ZW52IFdJVEhfREVCVUcgICAgICAgICAgICAgICAxICAgICMgQ29tcGlsZSBkZWJ1Z2dpbmcgbW9kdWxlLgorc2V0ZW52IFdJVEhfTUVNX0RFQlVHICAgICAgICAgICAxICAgICMgQ29tcGlsZSBtZW1vcnkgZGVidWdnaW5nIG1vZHVsZS4KK3NldGVudiBXSVRIX1JVTl9ERUJVRyAgICAgICAgICAgMSAgICAjIENvbXBpbGUgcnVudGltZSBkZWJ1Z2dpbmcuCitzZXRlbnYgV0lUSF9SRUdFWFBTICAgICAgICAgICAgIDEgICAgIyBDb21waWxlIHJlZ3VsYXIgZXhwcmVzc2lvbiBpbnRlcmZhY2VzLgorc2V0ZW52IFdJVEhfU0NIRU1BUyAgICAgICAgICAgICAxICAgICMgQ29tcGlsZSBzY2hlbWEgdmFsaWRhdGlvbiBpbnRlcmZhY2UuCitzZXRlbnYgV0lUSF9TQ0hFTUFUUk9OICAgICAgICAgIDEgICAgIyBDb21waWxlIHNjaGVtYXRyb24gdmFsaWRhdGlvbiBpbnRlcmZhY2UuCitzZXRlbnYgV0lUSF9NT0RVTEVTICAgICAgICAgICAgIDEgICAgIyBDb21waWxlIG1vZHVsZSBpbnRlcmZhY2VzLgorc2V0ZW52IFdJVEhfWkxJQiAgICAgICAgICAgICAgICAwICAgICMgV2hldGhlciB6bGliIGlzIGF2YWlsYWJsZS4KK3NldGVudiBXSVRIX0xaTUEgICAgICAgICAgICAgICAgMCAgICAjIFdoZXRoZXIgTFpNQSBpcyBhdmFpbGFibGUuCisKKyMgICAgICAgRGVmaW5lIFpMSUIgbG9jYXRpb25zLiBUaGlzIGlzIGlnbm9yZWQgaWYgV0lUSF9aTElCIGlzIDAuCisKK3NldGVudiBaTElCX0lOQ0xVREUgICAgICAgICAgICAgJy96bGliL2luY2x1ZGUnICMgWkxJQiBpbmNsdWRlIElGUyBkaXJlY3RvcnkuCitzZXRlbnYgWkxJQl9MSUIgICAgICAgICAgICAgICAgICdaTElCJyAgICAgICAgICAjIFpMSUIgbGlicmFyeS4KK3NldGVudiBaTElCX0JORERJUiAgICAgICAgICAgICAgJ1pMSUJfQScgICAgICAgICMgWkxJQiBiaW5kaW5nIGRpcmVjdG9yeS4KKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMKKyMgICAgICAgICAgICAgICAgICAgICAgIE9TLzQwMCBzcGVjaWZpYyBkZWZpbml0aW9ucy4KKyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKK3NldGVudiBMSUJJRlNOQU1FICAgICAgICAgICAgICAgIi9RU1lTLkxJQi8ke1RBUkdFVExJQn0uTElCIgorc2V0ZW52IE1PRFVMRV9FWFRFTlNJT04gICAgICAgICAnLlNSVlBHTScKKworCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIworIyAgICAgICAgICAgICAgICAgICAgICAgRXh0cmFjdCB2ZXJzaW9uIGluZm9ybWF0aW9uLgorIworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworCisjICAgICAgIFRyYW5zaXRpb25hbDogZ2V0IGZpbGUgbmFtZSBvZiBjb25maWd1cmUgc2NyaXB0LgorCitBVVRPQ09ORlNDUklQVD0iJHtUT1BESVJ9L2NvbmZpZ3VyZS5hYyIKKworaWYgWyAhIC1mICIke0FVVE9DT05GU0NSSVBUfSIgXQordGhlbiAgICBBVVRPQ09ORlNDUklQVD0iJHtUT1BESVJ9L2NvbmZpZ3VyZS5pbiIKK2ZpCisKKyMgICAgICAgTmVlZCB0byBnZXQgdGhlIHZlcnNpb24gZGVmaW5pdGlvbnMuCisKK2V2YWwgImBncmVwICdeTElCWE1MX1tBLVpdKl9WRVJTSU9OPScgXCIke0FVVE9DT05GU0NSSVBUfVwiYCIKK2V2YWwgImBncmVwICdeTElCWE1MX01JQ1JPX1ZFUlNJT05fU1VGRklYPScgXCIke0FVVE9DT05GU0NSSVBUfVwiYCIKK0xJQlhNTF9WRVJTSU9OPSIke0xJQlhNTF9NQUpPUl9WRVJTSU9OfS4ke0xJQlhNTF9NSU5PUl9WRVJTSU9OfSIKK0xJQlhNTF9WRVJTSU9OPSIke0xJQlhNTF9WRVJTSU9OfS4ke0xJQlhNTF9NSUNST19WRVJTSU9OfSIKK0xJQlhNTF9WRVJTSU9OPSIke0xJQlhNTF9WRVJTSU9OfSR7TElCWE1MX01JQ1JPX1ZFUlNJT05fU1VGRklYfSIKK0xJQlhNTF9WRVJTSU9OX05VTUJFUj1gZXhwciAiJHtMSUJYTUxfTUFKT1JfVkVSU0lPTn0iIFwqIDEwMDAwICsgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJHtMSUJYTUxfTUlOT1JfVkVSU0lPTn0iIFwqIDEwMCArICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJHtMSUJYTUxfTUlDUk9fVkVSU0lPTn0iYAorZXhwb3J0IExJQlhNTF9NQUpPUl9WRVJTSU9OIExJQlhNTF9NSU5PUl9WRVJTSU9OCitleHBvcnQgTElCWE1MX01JQ1JPX1ZFUlNJT04gTElCWE1MX01JQ1JPVkVSU0lPTl9TVUZGSVgKK2V4cG9ydCBMSUJYTUxfVkVSU0lPTiBMSUJYTUxfVkVSU0lPTl9OVU1CRVIKK3NldGVudiBMSUJYTUxfVkVSU0lPTl9FWFRSQSAnJworc2V0ZW52IFZFUlNJT04gICIke0xJQlhNTF9WRVJTSU9OfSIKKworCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIworIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcm9jZWR1cmVzLgorIworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworIyAgICAgICBhY3Rpb25fbmVlZGVkIGRlc3QgW3NyY10KKyMKKyMgICAgICAgZGVzdCBpcyBhbiBvYmplY3QgdG8gYnVpbGQKKyMgICAgICAgaWYgc3BlY2lmaWVkLCBzcmMgaXMgYW4gb2JqZWN0IG9uIHdoaWNoIGRlc3QgZGVwZW5kcy4KKyMKKyMgICAgICAgZXhpdCAwIChzdWNjZWVkcykgaWYgc29tZSBhY3Rpb24gaGFzIHRvIGJlIHRha2VuLCBlbHNlIDEuCisKK2FjdGlvbl9uZWVkZWQoKQorCit7CisgICAgICAgIFsgISAtZSAiJHsxfSIgXSAmJiByZXR1cm4gMAorICAgICAgICBbICIkezJ9IiBdIHx8IHJldHVybiAxCisgICAgICAgIFsgIiR7MX0iIC1vdCAiJHsyfSIgXSAmJiByZXR1cm4gMAorICAgICAgICByZXR1cm4gMQorfQorCisKKyMgICAgICAgbWFrZV9tb2R1bGUgbW9kdWxlX25hbWUgc291cmNlX25hbWUgW2FkZGl0aW9uYWxfZGVmaW5pdGlvbnNdCisjCisjICAgICAgIENvbXBpbGUgc291cmNlIG5hbWUgaW50byBBU0NJSSBtb2R1bGUgaWYgbmVlZGVkLgorIyAgICAgICBBcyBzaWRlIGVmZmVjdCwgYXBwZW5kIHRoZSBtb2R1bGUgbmFtZSB0byB2YXJpYWJsZSBNT0RVTEVTLgorIyAgICAgICBTZXQgTElOSyB0byAiWUVTIiBpZiB0aGUgbW9kdWxlIGhhcyBiZWVuIGNvbXBpbGVkLgorCittYWtlX21vZHVsZSgpCisKK3sKKyAgICAgICAgTU9EVUxFUz0iJHtNT0RVTEVTfSAkezF9IgorICAgICAgICBNT0RJRlNOQU1FPSIke0xJQklGU05BTUV9LyR7MX0uTU9EVUxFIgorICAgICAgICBhY3Rpb25fbmVlZGVkICIke01PRElGU05BTUV9IiAiJHsyfSIgfHwgcmV0dXJuIDA7CisKKyAgICAgICAgIyAgICAgICAjcHJhZ21hIGNvbnZlcnQgaGFzIHRvIGJlIGluIHRoZSBzb3VyY2UgZmlsZSBpdHNlbGYsIGkuZS4KKyAgICAgICAgIyAgICAgICAgICAgICAgIHB1dHRpbmcgaXQgaW4gYW4gaW5jbHVkZSBmaWxlIG1ha2VzIGl0IG9ubHkgYWN0aXZlCisgICAgICAgICMgICAgICAgICAgICAgICBmb3IgdGhhdCBpbmNsdWRlIGZpbGUuCisgICAgICAgICMgICAgICAgVGh1cyB3ZSBidWlsZCBhIHRlbXBvcmFyeSBmaWxlIHdpdGggdGhlIHByYWdtYSBwcmVwZW5kZWQgdG8KKyAgICAgICAgIyAgICAgICAgICAgICAgIHRoZSBzb3VyY2UgZmlsZSBhbmQgd2UgY29tcGlsZSB0aGF0IHRlbXBvcmFyeSBmaWxlLgorCisgICAgICAgIHJtIC1mIF9fdG1wc3JjZi5jCisgICAgICAgIGlmIFsgIiR7NH0iICE9ICdlYmNkaWMnIF0KKyAgICAgICAgdGhlbiAgICBlY2hvICIjbGluZSAxIFwiJHsyfVwiIiA+PiBfX3RtcHNyY2YuYworICAgICAgICAgICAgICAgIGVjaG8gIiNwcmFnbWEgY29udmVydCg4MTkpIiA+PiBfX3RtcHNyY2YuYworICAgICAgICAgICAgICAgIGVjaG8gJyNpbmNsdWRlICJ3cmFwcGVycy5oIicgPj4gX190bXBzcmNmLmMKKyAgICAgICAgZmkKKyAgICAgICAgZWNobyAiI2xpbmUgMSBcIiR7Mn1cIiIgPj4gX190bXBzcmNmLmMKKyAgICAgICAgY2F0ICIkezJ9IiA+PiBfX3RtcHNyY2YuYworICAgICAgICBDTUQ9IkNSVENNT0QgTU9EVUxFKCR7VEFSR0VUTElCfS8kezF9KSBTUkNTVE1GKCdfX3RtcHNyY2YuYycpIgorIyAgICAgICBDTUQ9IiR7Q01EfSBPUFRJT04oKklOQ0RJUkZJUlNUICpTSE9XSU5DICpTSE9XU1lTKSIKKyAgICAgICAgQ01EPSIke0NNRH0gT1BUSU9OKCpJTkNESVJGSVJTVCkiCisgICAgICAgIENNRD0iJHtDTUR9IFNZU0lGQ09QVCgqSUZTNjRJTykgTEFOR0xWTCgqRVhURU5ERUQpIExPQ0FMRVRZUEUoKkxPQ0FMRSkiCisgICAgICAgIENNRD0iJHtDTUR9IElOQ0RJUigiCisgICAgICAgIENNRD0iJHtDTUR9ICcke1RPUERJUn0vb3M0MDAvaWNvbnYnIgorICAgICAgICBpZiBbICIkezR9IiAhPSAnZWJjZGljJyBdCisgICAgICAgIHRoZW4gICAgQ01EPSIke0NNRH0gJy9xaWJtL3Byb2RkYXRhL3FhZHJ0L2luY2x1ZGUnIgorICAgICAgICBmaQorICAgICAgICBDTUQ9IiR7Q01EfSAnJHtUT1BESVJ9L29zNDAwJyAnJHtUT1BESVJ9L29zNDAwL2RsZmNuJyIKKyAgICAgICAgQ01EPSIke0NNRH0gJyR7SUZTRElSfS9pbmNsdWRlL2xpYnhtbCcgJyR7SUZTRElSfS9pbmNsdWRlJyIKKyAgICAgICAgaWYgWyAiJHtaTElCX0lOQ0xVREV9IiBdCisgICAgICAgIHRoZW4gICAgQ01EPSIke0NNRH0gJyR7WkxJQl9JTkNMVURFfSciCisgICAgICAgIGZpCisgICAgICAgIENNRD0iJHtDTUR9ICcke1RPUERJUn0nICR7SU5DTFVERVN9KSIKKyAgICAgICAgQ01EPSIke0NNRH0gVEdUQ0NTSUQoJHtUR1RDQ1NJRH0pIFRHVFJMUygke1RHVFJMU30pIgorICAgICAgICBDTUQ9IiR7Q01EfSBPVVRQVVQoJHtPVVRQVVR9KSIKKyAgICAgICAgQ01EPSIke0NNRH0gT1BUSU1JWkUoJHtPUFRJTUlaRX0pIgorICAgICAgICBDTUQ9IiR7Q01EfSBEQkdWSUVXKCR7REVCVUd9KSIKKyAgICAgICAgQ01EPSIke0NNRH0gREVGSU5FKCdfUkVFTlRSQU5UJyAnVFJJT19IQVZFX0NPTkZJR19IJyAnTkRFQlVHJyAkezN9KSIKKworICAgICAgICBzeXN0ZW0gIiR7Q01EfSIKKyAgICAgICAgcm0gLWYgX190bXBzcmNmLmMKKyAgICAgICAgTElOSz1ZRVMKK30KKworCisjICAgICAgIERldGVybWluZSBEQjIgb2JqZWN0IG5hbWUgZnJvbSBJRlMgbmFtZS4KKworZGIyX25hbWUoKQorCit7CisgICAgICAgIGlmIFsgIiR7Mn0iID0gJ25vbWFuZ2xlJyBdCisgICAgICAgIHRoZW4gICAgYmFzZW5hbWUgIiR7MX0iICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICAgICAgICAgICAgICAgdHIgJ2Etei0nICdBLVpfJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICAgICAgICAgICAgICAgc2VkIC1lICdzL1wuLiovLycgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgIC1lICdzL15cKC4uLi4uLi4uLi5cKS4qJC9cMS8nCisgICAgICAgIGVsc2UgICAgYmFzZW5hbWUgIiR7MX0iICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICAgICAgICAgICAgICAgdHIgJ2Etei0nICdBLVpfJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICAgICAgICAgICAgICAgc2VkIC1lICdzL1wuLiovLycgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgIC1lICdzL15URVNUL1QvJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgIC1lICdzL15YTUwvWC8nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgIC1lICdzL15cKC5cKS4qXCguLi4uLi4uLi5cKSQvXDFcMi8nCisgICAgICAgIGZpCit9CisKKworIyAgICAgICBDb3B5IElGUyBmaWxlIHJlcGxhY2luZyB2ZXJzaW9uICYgY29uZmlndXJhdGlvbiBpbmZvLgorCit2ZXJzaW9uZWRfY29weSgpCisKK3sKKyAgICBzZWQgLWUgInMvQExJQlhNTF9WRVJTSU9OQC8ke0xJQlhNTF9WRVJTSU9OfS9nIiAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgLWUgInMjQExJQlhNTF9NQUpPUl9WRVJTSU9OQCMke0xJQlhNTF9NQUpPUl9WRVJTSU9OfSNnIiAgICAgICAgIFwKKyAgICAgICAgLWUgInMjQExJQlhNTF9NSU5PUl9WRVJTSU9OQCMke0xJQlhNTF9NSU5PUl9WRVJTSU9OfSNnIiAgICAgICAgIFwKKyAgICAgICAgLWUgInMjQExJQlhNTF9NSUNST19WRVJTSU9OQCMke0xJQlhNTF9NSUNST19WRVJTSU9OfSNnIiAgICAgICAgIFwKKyAgICAgICAgLWUgInMjQExJQlhNTF9NSUNST19WRVJTSU9OX1NVRkZJWEAjJHtMSUJYTUxfTUlDUk9fVkVSU0lPTl9TVUZGSVh9I2ciIFwKKyAgICAgICAgLWUgInMjQExJQlhNTF9WRVJTSU9OQCMke0xJQlhNTF9WRVJTSU9OfSNnIiAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgLWUgInMjQExJQlhNTF9WRVJTSU9OX05VTUJFUkAjJHtMSUJYTUxfVkVSU0lPTl9OVU1CRVJ9I2ciICAgICAgIFwKKyAgICAgICAgLWUgInMjQExJQlhNTF9WRVJTSU9OX0VYVFJBQCMke0xJQlhNTF9WRVJTSU9OX0VYVFJBfSNnIiAgICAgICAgIFwKKyAgICAgICAgLWUgInMjQFZFUlNJT05AIyR7VkVSU0lPTn0jZyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgLWUgInMjQFdJVEhfVFJJT0AjJHtXSVRIX1RSSU99I2ciICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgLWUgInMjQFdJVEhfVEhSRUFEU0AjJHtXSVRIX1RIUkVBRFN9I2ciICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgLWUgInMjQFdJVEhfVEhSRUFEX0FMTE9DQCMke1dJVEhfVEhSRUFEX0FMTE9DfSNnIiAgICAgICAgICAgICAgIFwKKyAgICAgICAgLWUgInMjQFdJVEhfVFJFRUAjJHtXSVRIX1RSRUV9I2ciICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgLWUgInMjQFdJVEhfT1VUUFVUQCMke1dJVEhfT1VUUFVUfSNnIiAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgLWUgInMjQFdJVEhfUFVTSEAjJHtXSVRIX1BVU0h9I2ciICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgLWUgInMjQFdJVEhfUkVBREVSQCMke1dJVEhfUkVBREVSfSNnIiAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgLWUgInMjQFdJVEhfUEFUVEVSTkAjJHtXSVRIX1BBVFRFUk59I2ciICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgLWUgInMjQFdJVEhfV1JJVEVSQCMke1dJVEhfV1JJVEVSfSNnIiAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgLWUgInMjQFdJVEhfU0FYMUAjJHtXSVRIX1NBWDF9I2ciICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgLWUgInMjQFdJVEhfRlRQQCMke1dJVEhfRlRQfSNnIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgLWUgInMjQFdJVEhfSFRUUEAjJHtXSVRIX0hUVFB9I2ciICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgLWUgInMjQFdJVEhfVkFMSURAIyR7V0lUSF9WQUxJRH0jZyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgLWUgInMjQFdJVEhfSFRNTEAjJHtXSVRIX0hUTUx9I2ciICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgLWUgInMjQFdJVEhfTEVHQUNZQCMke1dJVEhfTEVHQUNZfSNnIiAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgLWUgInMjQFdJVEhfQzE0TkAjJHtXSVRIX0MxNE59I2ciICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgLWUgInMjQFdJVEhfQ0FUQUxPR0AjJHtXSVRIX0NBVEFMT0d9I2ciICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgLWUgInMjQFdJVEhfRE9DQkAjJHtXSVRIX0RPQ0J9I2ciICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgLWUgInMjQFdJVEhfWFBBVEhAIyR7V0lUSF9YUEFUSH0jZyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgLWUgInMjQFdJVEhfWFBUUkAjJHtXSVRIX1hQVFJ9I2ciICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgLWUgInMjQFdJVEhfWElOQ0xVREVAIyR7V0lUSF9YSU5DTFVERX0jZyIgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgLWUgInMjQFdJVEhfSUNPTlZAIyR7V0lUSF9JQ09OVn0jZyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgLWUgInMjQFdJVEhfSUNVQCMke1dJVEhfSUNVfSNnIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgLWUgInMjQFdJVEhfSVNPODg1OVhAIyR7V0lUSF9JU084ODU5WH0jZyIgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgLWUgInMjQFdJVEhfREVCVUdAIyR7V0lUSF9ERUJVR30jZyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgLWUgInMjQFdJVEhfTUVNX0RFQlVHQCMke1dJVEhfTUVNX0RFQlVHfSNnIiAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgLWUgInMjQFdJVEhfUlVOX0RFQlVHQCMke1dJVEhfUlVOX0RFQlVHfSNnIiAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgLWUgInMjQFdJVEhfUkVHRVhQU0AjJHtXSVRIX1JFR0VYUFN9I2ciICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgLWUgInMjQFdJVEhfU0NIRU1BU0AjJHtXSVRIX1NDSEVNQVN9I2ciICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgLWUgInMjQFdJVEhfU0NIRU1BVFJPTkAjJHtXSVRIX1NDSEVNQVRST059I2ciICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgLWUgInMjQFdJVEhfTU9EVUxFU0AjJHtXSVRIX01PRFVMRVN9I2ciICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgLWUgInMjQFdJVEhfWkxJQkAjJHtXSVRIX1pMSUJ9I2ciICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgLWUgInMjQFdJVEhfTFpNQUAjJHtXSVRIX0xaTUF9I2ciCit9CmRpZmYgLS1naXQgYS9saWJ4bWwyL29zNDAwL2xpYnhtbHJwZy9ET0NCcGFyc2VyLnJwZ2xlIGIvbGlieG1sMi9vczQwMC9saWJ4bWxycGcvRE9DQnBhcnNlci5ycGdsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZjVhYWEyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9vczQwMC9saWJ4bWxycGcvRE9DQnBhcnNlci5ycGdsZQpAQCAtMCwwICsxLDExNiBAQAorICAgICAgKiBTdW1tYXJ5OiBvbGQgRG9jQm9vayBTR01MIHBhcnNlcgorICAgICAgKiBEZXNjcmlwdGlvbjogaW50ZXJmYWNlIGZvciBhIERvY0Jvb2sgU0dNTCBub24tdmVyaWZ5aW5nIHBhcnNlcgorICAgICAgKiBUaGlzIGNvZGUgaXMgREVQUkVDQVRFRCwgYW5kIHNob3VsZCBub3QgYmUgdXNlZCBhbnltb3JlLgorICAgICAgKgorICAgICAgKiBDb3B5OiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisgICAgICAqCisgICAgICAqIEF1dGhvcjogUGF0cmljayBNb25uZXJhdCA8cG1AZGF0YXNwaGVyZS5jaD4sIERBVEFTUEhFUkUgUy5BLgorCisgICAgICAvaWYgbm90IGRlZmluZWQoRE9DQl9QQVJTRVJfSF9fKQorICAgICAgL2RlZmluZSBET0NCX1BBUlNFUl9IX18KKworICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWx2ZXJzaW9uIgorCisgICAgICAvaWYgZGVmaW5lZChMSUJYTUxfRE9DQl9FTkFCTEVEKQorCisgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3BhcnNlciIKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcvcGFyc2VySW50ZXJuYWxzIgorCisgICAgICAqIE1vc3Qgb2YgdGhlIGJhY2stZW5kIHN0cnVjdHVyZXMgZnJvbSBYTUwgYW5kIFNHTUwgYXJlIHNoYXJlZC4KKworICAgICBkIGRvY2JQYXJzZXJDdHh0UHRyLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAgICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCisKKyAgICAgZCBkb2NiUGFyc2VyQ3R4dCAgZHMgICAgICAgICAgICAgICAgICBiYXNlZChkb2NiUGFyc2VyQ3R4dFB0cikKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlZHMoeG1sUGFyc2VyQ3R4dCkKKworICAgICBkIGRvY2JTQVhIYW5kbGVyUHRyLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAgICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNBWEhhbmRsZXJQdHIpCisKKyAgICAgZCBkb2NiU0FYSGFuZGxlciAgZHMgICAgICAgICAgICAgICAgICBiYXNlZChkb2NiU0FYSGFuZGxlclB0cikKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlZHMoeG1sU0FYSGFuZGxlcikKKworICAgICBkIGRvY2JQYXJzZXJJbnB1dFB0ci4uLgorICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgICAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxQYXJzZXJJbnB1dFB0cikKKworICAgICBkIGRvY2JQYXJzZXJJbnB1dC4uLgorICAgICBkICAgICAgICAgICAgICAgICBkcyAgICAgICAgICAgICAgICAgIGJhc2VkKGRvY2JQYXJzZXJJbnB1dFB0cikKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlZHMoeG1sUGFyc2VySW5wdXQpCisKKyAgICAgZCBkb2NiRG9jUHRyICAgICAgcyAgICAgICAgICAgICAgICAgICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRG9jUHRyKQorCisgICAgICAqIFRoZXJlIGlzIG9ubHkgZmV3IHB1YmxpYyBmdW5jdGlvbnMuCisKKyAgICAgZCBkb2NiRW5jb2RlRW50aXRpZXMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCdkb2NiRW5jb2RlRW50aXRpZXMnKQorICAgICBkICBvdXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyICoKKyAgICAgZCAgb3V0bGVuICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ICoKKyAgICAgZCAgaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhcgorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCisgICAgIGQgIGlubGVuICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCAqCisgICAgIGQgIHF1b3RlQ2hhciAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIGRvY2JTQVhQYXJzZURvYy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2RvY2JTQVhQYXJzZURvYycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZShkb2NiRG9jUHRyKQorICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICB4bWxDaGFyICoKKyAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIHNheCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZShkb2NiU0FYSGFuZGxlclB0cikKKyAgICAgZCAgdXNlckRhdGEgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCisKKyAgICAgZCBkb2NiUGFyc2VEb2MgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdkb2NiUGFyc2VEb2MnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoZG9jYkRvY1B0cikKKyAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgeG1sQ2hhciAqCisgICAgIGQgIGVuY29kaW5nICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorCisgICAgIGQgZG9jYlNBWFBhcnNlRmlsZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2RvY2JTQVhQYXJzZUZpbGUnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoZG9jYkRvY1B0cikKKyAgICAgZCAgZmlsZW5hbWUgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIGVuY29kaW5nICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBzYXggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoZG9jYlNBWEhhbmRsZXJQdHIpCisgICAgIGQgIHVzZXJEYXRhICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorCisgICAgIGQgZG9jYlBhcnNlRmlsZSAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnZG9jYlBhcnNlRmlsZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZShkb2NiRG9jUHRyKQorICAgICBkICBmaWxlbmFtZSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisKKyAgICAgICogSW50ZXJmYWNlcyBmb3IgdGhlIFB1c2ggbW9kZS4KKworICAgICBkIGRvY2JGcmVlUGFyc2VyQ3R4dC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2RvY2JGcmVlUGFyc2VyQ3R4dCcpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZShkb2NiUGFyc2VyQ3R4dFB0cikKKworICAgICBkIGRvY2JDcmVhdGVQdXNoUGFyc2VyQ3R4dC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2RvY2JDcmVhdGVQdXNoUGFyc2VyQ3R4dCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZShkb2NiUGFyc2VyQ3R4dFB0cikKKyAgICAgZCAgc2F4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKGRvY2JTQVhIYW5kbGVyUHRyKQorICAgICBkICB1c2VyX2RhdGEgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKyAgICAgZCAgY2h1bmsgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIHNpemUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgZmlsZW5hbWUgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIGVuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaGFyRW5jb2RpbmcpCisKKyAgICAgZCBkb2NiUGFyc2VDaHVuayAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCdkb2NiUGFyc2VDaHVuaycpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZShkb2NiUGFyc2VyQ3R4dFB0cikKKyAgICAgZCAgY2h1bmsgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIHNpemUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgdGVybWluYXRlICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgZG9jYkNyZWF0ZUZpbGVQYXJzZXJDdHh0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnZG9jYkNyZWF0ZUZpbGVQYXJzZXJDdHh0JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKGRvY2JQYXJzZXJDdHh0UHRyKQorICAgICBkICBmaWxlbmFtZSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisKKyAgICAgZCBkb2NiUGFyc2VEb2N1bWVudC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ2RvY2JQYXJzZURvY3VtZW50JykKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKGRvY2JQYXJzZXJDdHh0UHRyKQorCisgICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9ET0NCX0VOQUJMRUQKKyAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRE9DQl9QQVJTRVJfSF9fCmRpZmYgLS1naXQgYS9saWJ4bWwyL29zNDAwL2xpYnhtbHJwZy9IVE1McGFyc2VyLnJwZ2xlIGIvbGlieG1sMi9vczQwMC9saWJ4bWxycGcvSFRNTHBhcnNlci5ycGdsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YjRhNjI2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9vczQwMC9saWJ4bWxycGcvSFRNTHBhcnNlci5ycGdsZQpAQCAtMCwwICsxLDQwMyBAQAorICAgICAgKiBTdW1tYXJ5OiBpbnRlcmZhY2UgZm9yIGFuIEhUTUwgNC4wIG5vbi12ZXJpZnlpbmcgcGFyc2VyCisgICAgICAqIERlc2NyaXB0aW9uOiB0aGlzIG1vZHVsZSBpbXBsZW1lbnRzIGFuIEhUTUwgNC4wIG5vbi12ZXJpZnlpbmcgcGFyc2VyCisgICAgICAqICAgICAgICAgICAgICB3aXRoIEFQSSBjb21wYXRpYmxlIHdpdGggdGhlIFhNTCBwYXJzZXIgb25lcy4gSXQgc2hvdWxkCisgICAgICAqICAgICAgICAgICAgICBiZSBhYmxlIHRvIHBhcnNlICJyZWFsIHdvcmxkIiBIVE1MLCBldmVuIGlmIHNldmVyZWx5CisgICAgICAqICAgICAgICAgICAgICBicm9rZW4gZnJvbSBhIHNwZWNpZmljYXRpb24gcG9pbnQgb2Ygdmlldy4KKyAgICAgICoKKyAgICAgICogQ29weTogU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgorICAgICAgKgorICAgICAgKiBBdXRob3I6IFBhdHJpY2sgTW9ubmVyYXQgPHBtQGRhdGFzcGhlcmUuY2g+LCBEQVRBU1BIRVJFIFMuQS4KKworICAgICAgL2lmIG5vdCBkZWZpbmVkKEhUTUxfUEFSU0VSX0hfXykKKyAgICAgIC9kZWZpbmUgSFRNTF9QQVJTRVJfSF9fCisKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sdmVyc2lvbiIKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcvcGFyc2VyIgorCisgICAgICAvaWYgZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKQorCisgICAgICAqIE1vc3Qgb2YgdGhlIGJhY2stZW5kIHN0cnVjdHVyZXMgZnJvbSBYTUwgYW5kIEhUTUwgYXJlIHNoYXJlZC4KKworICAgICBkIGh0bWxQYXJzZXJDdHh0UHRyLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAgICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCisKKyAgICAgZCBodG1sUGFyc2VyQ3R4dCAgZHMgICAgICAgICAgICAgICAgICBiYXNlZChodG1sUGFyc2VyQ3R4dFB0cikKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlZHMoeG1sUGFyc2VyQ3R4dCkKKworICAgICBkIGh0bWxQYXJzZXJOb2RlSW5mb1B0ci4uLgorICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgICAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxQYXJzZXJOb2RlSW5mb1B0cikKKworICAgICBkIGh0bWxQYXJzZXJOb2RlSW5mby4uLgorICAgICBkICAgICAgICAgICAgICAgICBkcyAgICAgICAgICAgICAgICAgIGJhc2VkKGh0bWxQYXJzZXJOb2RlSW5mb1B0cikKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlZHMoeG1sUGFyc2VyTm9kZUluZm8pCisKKyAgICAgZCBodG1sU0FYSGFuZGxlclB0ci4uLgorICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgICAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTQVhIYW5kbGVyUHRyKQorCisgICAgIGQgaHRtbFNBWEhhbmRsZXIgIGRzICAgICAgICAgICAgICAgICAgYmFzZWQoaHRtbFNBWEhhbmRsZXJQdHIpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZWRzKHhtbFNBWEhhbmRsZXIpCisKKyAgICAgZCBodG1sUGFyc2VySW5wdXRQdHIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICAgICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sUGFyc2VySW5wdXRQdHIpCisKKyAgICAgZCBodG1sUGFyc2VySW5wdXQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgZHMgICAgICAgICAgICAgICAgICBiYXNlZChodG1sUGFyc2VySW5wdXRQdHIpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZWRzKHhtbFBhcnNlcklucHV0KQorCisgICAgIGQgaHRtbERvY1B0ciAgICAgIHMgICAgICAgICAgICAgICAgICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbERvY1B0cikKKworICAgICBkIGh0bWxOb2RlUHRyICAgICBzICAgICAgICAgICAgICAgICAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKQorCisgICAgICAqIEludGVybmFsIGRlc2NyaXB0aW9uIG9mIGFuIEhUTUwgZWxlbWVudCwgcmVwcmVzZW50aW5nIEhUTUwgNC4wMQorICAgICAgKiBhbmQgWEhUTUwgMS4wICh3aGljaCBzaGFyZSB0aGUgc2FtZSBzdHJ1Y3R1cmUpLgorCisgICAgIGQgaHRtbEVsZW1EZXNjUHRyLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKworICAgICBkIGh0bWxFbGVtRGVzYyAgICBkcyAgICAgICAgICAgICAgICAgIGJhc2VkKGh0bWxFbGVtRGVzY1B0cikKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbiBxdWFsaWZpZWQKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIHN0YXJ0VGFnICAgICAgICAgICAgICAgICAgICAgIDN1IDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0YXJ0IHRhZyBpbXBsaWVkID8KKyAgICAgZCAgZW5kVGFnICAgICAgICAgICAgICAgICAgICAgICAgM3UgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRW5kIHRhZyBpbXBsaWVkID8KKyAgICAgZCAgc2F2ZUVuZFRhZyAgICAgICAgICAgICAgICAgICAgM3UgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2F2ZSBlbmQgdGFnID8KKyAgICAgZCAgZW1wdHkgICAgICAgICAgICAgICAgICAgICAgICAgM3UgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRW1wdHkgZWxlbWVudCA/CisgICAgIGQgIGRlcHIgICAgICAgICAgICAgICAgICAgICAgICAgIDN1IDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERlcHJlY2F0ZWQgZWxlbWVudCA/CisgICAgIGQgIGR0ZCAgICAgICAgICAgICAgICAgICAgICAgICAgIDN1IDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvb3NlIERURC9GcmFtZXNldAorICAgICBkICBpc2lubGluZSAgICAgICAgICAgICAgICAgICAgICAzdSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9jayAwL2lubGluZSBlbGVtPworICAgICBkICBkZXNjICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgICoKKyAgICAgICogTmV3IGZpZWxkcyBlbmNhcHN1bGF0aW5nIEhUTUwgc3RydWN0dXJlCisgICAgICAqCisgICAgICAqIEJ1Z3M6CisgICAgICAqICAgICAgVGhpcyBpcyBhIHZlcnkgbGltaXRlZCByZXByZXNlbnRhdGlvbi4gIEl0IGZhaWxzIHRvIHRlbGwgdXMgd2hlbgorICAgICAgKiAgICAgIGFuIGVsZW1lbnQgKnJlcXVpcmVzKiBzdWJlbGVtZW50cyAod2Ugb25seSBoYXZlIHdoZXRoZXIgdGhleSdyZQorICAgICAgKiAgICAgIGFsbG93ZWQgb3Igbm90KSwgYW5kIGl0IGRvZXNuJ3QgdGVsbCB1cyB3aGVyZSBDREFUQSBhbmQgUENEQVRBCisgICAgICAqICAgICAgYXJlIGFsbG93ZWQuICBTb21lIGVsZW1lbnQgcmVsYXRpb25zaGlwcyBhcmUgbm90IGZ1bGx5IHJlcHJlc2VudGVkOgorICAgICAgKiAgICAgIHRoZXNlIGFyZSBmbGFnZ2VkIHdpdGggdGhlIHdvcmQgTU9ESUZJRVIKKyAgICAgICoKKyAgICAgZCAgc3ViZWx0cyAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqICoKKyAgICAgZCAgZGVmYXVsdHN1YmVsdCAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIGF0dHJzX29wdCAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKiAqCisgICAgIGQgIGF0dHJzX2RlcHIgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKiAqCisgICAgIGQgIGF0dHJzX3JlcSAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKiAqCisKKyAgICAgICogSW50ZXJuYWwgZGVzY3JpcHRpb24gb2YgYW4gSFRNTCBlbnRpdHkuCisKKyAgICAgZCBodG1sRW50aXR5RGVzY1B0ci4uLgorICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisKKyAgICAgZCBodG1sRW50aXR5RGVzYy4uLgorICAgICBkICAgICAgICAgICAgICAgICBkcyAgICAgICAgICAgICAgICAgIGJhc2VkKGh0bWxFbnRpdHlEZXNjUHRyKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduIHF1YWxpZmllZAorICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgIDEwdSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVbmljb2RlIGNoYXIgdmFsdWUKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIGRlc2MgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorCisgICAgICAqIFRoZXJlIGlzIG9ubHkgZmV3IHB1YmxpYyBmdW5jdGlvbnMuCisKKyAgICAgZCBodG1sVGFnTG9va3VwICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdodG1sVGFnTG9va3VwJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKGh0bWxFbGVtRGVzY1B0cikgICAgICAgICAgICAgICAgY29uc3QKKyAgICAgZCAgdGFnICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgZCBodG1sRW50aXR5TG9va3VwLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnaHRtbEVudGl0eUxvb2t1cCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZShodG1sRW50aXR5RGVzY1B0cikgICAgICAgICAgICAgIGNvbnN0CisgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgIGQgaHRtbEVudGl0eVZhbHVlTG9va3VwLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnaHRtbEVudGl0eVZhbHVlTG9va3VwJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKGh0bWxFbnRpdHlEZXNjUHRyKSAgICAgICAgICAgICAgY29uc3QKKyAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAxMHUgMCB2YWx1ZQorCisgICAgIGQgaHRtbElzQXV0b0Nsb3NlZC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ2h0bWxJc0F1dG9DbG9zZWQnKQorICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoaHRtbERvY1B0cikKKyAgICAgZCAgZWxlbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKGh0bWxOb2RlUHRyKQorCisgICAgIGQgaHRtbEF1dG9DbG9zZVRhZy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ2h0bWxBdXRvQ2xvc2VUYWcnKQorICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoaHRtbERvY1B0cikKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIGVsZW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZShodG1sTm9kZVB0cikKKworICAgICBkIGh0bWxQYXJzZUVudGl0eVJlZi4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2h0bWxQYXJzZUVudGl0eVJlZicpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZShodG1sRW50aXR5RGVzY1B0cikgICAgICAgICAgICAgIGNvbnN0CisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZShodG1sUGFyc2VyQ3R4dFB0cikKKyAgICAgZCAgc3RyICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqKCopCisKKyAgICAgZCBodG1sUGFyc2VDaGFyUmVmLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygnaHRtbFBhcnNlQ2hhclJlZicpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZShodG1sUGFyc2VyQ3R4dFB0cikKKworICAgICBkIGh0bWxQYXJzZUVsZW1lbnQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdodG1sUGFyc2VFbGVtZW50JykKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKGh0bWxQYXJzZXJDdHh0UHRyKQorCisgICAgIGQgaHRtbE5ld1BhcnNlckN0eHQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdodG1sTmV3UGFyc2VyQ3R4dCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZShodG1sUGFyc2VyQ3R4dFB0cikKKworICAgICBkIGh0bWxDcmVhdGVNZW1vcnlQYXJzZXJDdHh0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnaHRtbENyZWF0ZU1lbW9yeVBhcnNlckN0eHQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoaHRtbFBhcnNlckN0eHRQdHIpCisgICAgIGQgIGJ1ZmZlciAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBzaXplICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCBodG1sUGFyc2VEb2N1bWVudC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ2h0bWxQYXJzZURvY3VtZW50JykKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKGh0bWxQYXJzZXJDdHh0UHRyKQorCisgICAgIGQgaHRtbFNBWFBhcnNlRG9jLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnaHRtbFNBWFBhcnNlRG9jJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKGh0bWxEb2NQdHIpCisgICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIHhtbENoYXIgKgorICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgc2F4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKGh0bWxTQVhIYW5kbGVyUHRyKQorICAgICBkICB1c2VyRGF0YSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKworICAgICBkIGh0bWxQYXJzZURvYyAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2h0bWxQYXJzZURvYycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZShodG1sRG9jUHRyKQorICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICB4bWxDaGFyICoKKyAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisKKyAgICAgZCBodG1sU0FYUGFyc2VGaWxlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnaHRtbFNBWFBhcnNlRmlsZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZShodG1sRG9jUHRyKQorICAgICBkICBmaWxlbmFtZSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIHNheCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZShodG1sU0FYSGFuZGxlclB0cikKKyAgICAgZCAgdXNlckRhdGEgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCisKKyAgICAgZCBodG1sUGFyc2VGaWxlICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdodG1sUGFyc2VGaWxlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKGh0bWxEb2NQdHIpCisgICAgIGQgIGZpbGVuYW1lICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKworICAgICBkIFVURjhUb0h0bWwgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ1VURjhUb0h0bWwnKQorICAgICBkICBvdXQgICAgICAgICAgICAgICAgICAgICAgIDY1NTM1ICAgIG9wdGlvbnMoKnZhcnNpemUpICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyIFtdCisgICAgIGQgIG91dGxlbiAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAKKyAgICAgZCAgaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhcioKKyAgICAgZCAgaW5sZW4gICAgICAgICAgICAgICAgICAgICAgICAxMGkgMAorCisgICAgIGQgaHRtbEVuY29kZUVudGl0aWVzLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygnaHRtbEVuY29kZUVudGl0aWVzJykKKyAgICAgZCAgb3V0ICAgICAgICAgICAgICAgICAgICAgICA2NTUzNSAgICBvcHRpb25zKCp2YXJzaXplKSAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciBbXQorICAgICBkICBvdXRsZW4gICAgICAgICAgICAgICAgICAgICAgIDEwaSAwCisgICAgIGQgIGluICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqCisgICAgIGQgIGlubGVuICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAKKyAgICAgZCAgcXVvdGVDaGFyICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgaHRtbElzU2NyaXB0QXR0cmlidXRlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygnaHRtbElzU2NyaXB0QXR0cmlidXRlJykKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgZCBodG1sSGFuZGxlT21pdHRlZEVsZW0uLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCdodG1sSGFuZGxlT21pdHRlZEVsZW0nKQorICAgICBkICB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9QVVNIX0VOQUJMRUQpCisKKyAgICAgICogSW50ZXJmYWNlcyBmb3IgdGhlIFB1c2ggbW9kZS4KKworICAgICBkIGh0bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2h0bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZShodG1sUGFyc2VyQ3R4dFB0cikKKyAgICAgZCAgc2F4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKGh0bWxTQVhIYW5kbGVyUHRyKQorICAgICBkICB1c2VyX2RhdGEgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKyAgICAgZCAgY2h1bmsgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIHNpemUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgZmlsZW5hbWUgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIGVuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaGFyRW5jb2RpbmcpCisKKyAgICAgZCBodG1sUGFyc2VDaHVuayAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCdodG1sUGFyc2VDaHVuaycpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZShodG1sUGFyc2VyQ3R4dFB0cikKKyAgICAgZCAgY2h1bmsgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIHNpemUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgdGVybWluYXRlICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTUxfUFVTSF9FTkFCTEVECisKKyAgICAgZCBodG1sRnJlZVBhcnNlckN0eHQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdodG1sRnJlZVBhcnNlckN0eHQnKQorICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoaHRtbFBhcnNlckN0eHRQdHIpCisKKyAgICAgICogTmV3IHNldCBvZiBzaW1wbGVyL21vcmUgZmxleGlibGUgQVBJcworCisgICAgICAqIHhtbFBhcnNlck9wdGlvbjoKKyAgICAgICoKKyAgICAgICogVGhpcyBpcyB0aGUgc2V0IG9mIFhNTCBwYXJzZXIgb3B0aW9ucyB0aGF0IGNhbiBiZSBwYXNzZWQgZG93bgorICAgICAgKiB0byB0aGUgeG1sUmVhZERvYygpIGFuZCBzaW1pbGFyIGNhbGxzLgorCisgICAgIGQgaHRtbFBhcnNlck9wdGlvbi4uLgorICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgIDEwaSAwIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpICAgICAgICAgICBlbnVtCisgICAgIGQgIEhUTUxfUEFSU0VfUkVDT1ZFUi4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlbGF4ZWQgcGFyc2luZworICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMDAwMDEnCisgICAgIGQgIEhUTUxfUEFSU0VfTk9ERUZEVEQuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vIGRlZmF1bHQgZG9jdHlwZQorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMDAwMDQnCisgICAgIGQgIEhUTUxfUEFSU0VfTk9FUlJPUi4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vIGVycm9yIHJlcG9ydHMKKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDAwMDIwJworICAgICBkICBIVE1MX1BBUlNFX05PV0FSTklORy4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBObyB3YXJuaW5nIHJlcG9ydHMKKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDAwMDQwJworICAgICBkICBIVE1MX1BBUlNFX1BFREFOVElDLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQZWRhbnRpYyBlcnIgcmVwb3J0cworICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMDAwODAnCisgICAgIGQgIEhUTUxfUEFSU0VfTk9CTEFOS1MuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlbW92ZSBibGFuayBub2RlcworICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMDAxMDAnCisgICAgIGQgIEhUTUxfUEFSU0VfTk9ORVQuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZvcmJpZCBuZXQgYWNjZXNzCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDAwMDgwMCcKKyAgICAgZCAgSFRNTF9QQVJTRV9OT0lNUExJRUQuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTm8gaW1wbGllZCBodG1sL2JvZHkKKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDAyMDAwJworICAgICBkICBIVE1MX1BBUlNFX0NPTVBBQ1QuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wYWN0IHNtYWxsIHR4dG5vZAorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMTAwMDAnCisgICAgIGQgIEhUTUxfUEFSU0VfSUdOT1JFX0VOQy4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElnbm9yZSBlbmNvZGluZyBoaW50CisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDIwMDAwMCcKKworICAgICBkIGh0bWxDdHh0UmVzZXQgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2h0bWxDdHh0UmVzZXQnKQorICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoaHRtbFBhcnNlckN0eHRQdHIpCisKKyAgICAgZCBodG1sQ3R4dFVzZU9wdGlvbnMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCdodG1sQ3R4dFVzZU9wdGlvbnMnKQorICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoaHRtbFBhcnNlckN0eHRQdHIpCisgICAgIGQgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIGh0bWxSZWFkRG9jICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2h0bWxSZWFkRG9jJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKGh0bWxEb2NQdHIpCisgICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBVUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIGh0bWxSZWFkRmlsZSAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2h0bWxSZWFkRmlsZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZShodG1sRG9jUHRyKQorICAgICBkICBVUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIGh0bWxSZWFkTWVtb3J5ICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2h0bWxSZWFkTWVtb3J5JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKGh0bWxEb2NQdHIpCisgICAgIGQgIGJ1ZmZlciAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBzaXplICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIFVSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgaHRtbFJlYWRGZCAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnaHRtbFJlYWRGZCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZShodG1sRG9jUHRyKQorICAgICBkICBmZCAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIFVSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgaHRtbFJlYWRJTyAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnaHRtbFJlYWRJTycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZShodG1sRG9jUHRyKQorICAgICBkICBpb3JlYWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sSW5wdXRSZWFkQ2FsbGJhY2spCisgICAgIGQgIGlvY2xvc2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxJbnB1dENsb3NlQ2FsbGJhY2spCisgICAgIGQgIGlvY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorICAgICBkICBVUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIGh0bWxDdHh0UmVhZERvYy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2h0bWxDdHh0UmVhZERvYycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZShodG1sRG9jUHRyKQorICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKKyAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIFVSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgaHRtbEN0eHRSZWFkRmlsZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2h0bWxDdHh0UmVhZEZpbGUnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoaHRtbERvY1B0cikKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCisgICAgIGQgIGZpbGVuYW1lICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgaHRtbEN0eHRSZWFkTWVtb3J5Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnaHRtbEN0eHRSZWFkTWVtb3J5JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKGh0bWxEb2NQdHIpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQorICAgICBkICBidWZmZXIgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBVUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIGh0bWxDdHh0UmVhZEZkICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2h0bWxDdHh0UmVhZEZkJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKGh0bWxEb2NQdHIpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQorICAgICBkICBmZCAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIFVSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgaHRtbEN0eHRSZWFkSU8gIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnaHRtbEN0eHRSZWFkSU8nKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoaHRtbERvY1B0cikKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCisgICAgIGQgIGlvcmVhZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxJbnB1dFJlYWRDYWxsYmFjaykKKyAgICAgZCAgaW9jbG9zZSAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbElucHV0Q2xvc2VDYWxsYmFjaykKKyAgICAgZCAgaW9jdHggICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCisgICAgIGQgIFVSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgICAqIEZ1cnRoZXIga25vd2xlZGdlIG9mIEhUTUwgc3RydWN0dXJlCisKKyAgICAgZCBodG1sU3RhdHVzICAgICAgcyAgICAgICAgICAgICAxMGkgMCBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKSAgICAgICAgICAgZW51bQorICAgICBkICBIVE1MX05BICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMCcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBObyBjaGVjayBhdCBhbGwKKyAgICAgZCAgSFRNTF9JTlZBTElEICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDEnCisgICAgIGQgIEhUTUxfREVQUkVDQVRFRC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMicKKyAgICAgZCAgSFRNTF9WQUxJRCAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDQnCisgICAgIGQgIEhUTUxfUkVRVUlSRUQgIGMgICAgICAgICAgICAgICAgICAgWCcwMDBDJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhUTUxfVkFMSUQgb3JlZC1pbgorCisgICAgICAqIFVzaW5nIGh0bWxFbGVtRGVzYyByYXRoZXIgdGhhbiBuYW1lIGhlcmUsIHRvIGVtcGhhc2lzZSB0aGUgZmFjdAorICAgICAgKiAgdGhhdCBvdGhlcndpc2UgdGhlcmUncyBhIGxvb2t1cCBvdmVyaGVhZAorCisgICAgIGQgaHRtbEF0dHJBbGxvd2VkLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnaHRtbEF0dHJBbGxvd2VkJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKGh0bWxTdGF0dXMpCisgICAgIGQgICNwYXJhbTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZShodG1sRWxlbURlc2NQdHIpICAgICAgICAgIGNvbnN0CisgICAgIGQgICNwYXJhbTIgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICAjcGFyYW0zICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCBodG1sRWxlbWVudEFsbG93ZWRIZXJlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygnaHRtbEVsZW1lbnRBbGxvd2VkSGVyZScpCisgICAgIGQgICNwYXJhbTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZShodG1sRWxlbURlc2NQdHIpICAgICAgICAgIGNvbnN0CisgICAgIGQgICNwYXJhbTIgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgIGQgaHRtbEVsZW1lbnRTdGF0dXNIZXJlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnaHRtbEVsZW1lbnRTdGF0dXNIZXJlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKGh0bWxTdGF0dXMpCisgICAgIGQgICNwYXJhbTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZShodG1sRWxlbURlc2NQdHIpICAgICAgICAgIGNvbnN0CisgICAgIGQgICNwYXJhbTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZShodG1sRWxlbURlc2NQdHIpICAgICAgICAgIGNvbnN0CisKKyAgICAgZCBodG1sTm9kZVN0YXR1cyAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdodG1sTm9kZVN0YXR1cycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZShodG1sU3RhdHVzKQorICAgICBkICAjcGFyYW0xICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoaHRtbE5vZGVQdHIpCisgICAgIGQgICNwYXJhbTIgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICAgKiBDIG1hY3JvcyBpbXBsZW1lbnRlZCBhcyBwcm9jZWR1cmVzIGZvciBJTEUvUlBHIHN1cHBvcnQuCisKKyAgICAgZCBodG1sRGVmYXVsdFN1YmVsZW1lbnQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCdfX2h0bWxEZWZhdWx0U3ViZWxlbWVudCcpICAgY29uc3QgY2hhciAqCisgICAgIGQgIGVsdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGh0bWxFbGVtRGVzYyAqCisKKyAgICAgZCBodG1sRWxlbWVudEFsbG93ZWRIZXJlRGVzYy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ19faHRtbEVsZW1lbnRBbGxvd2VkSGVyZURlc2MnKQorICAgICBkICBwYXJlbnQgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBodG1sRWxlbURlc2MgKgorICAgICBkICBlbHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBodG1sRWxlbURlc2MgKgorCisgICAgIGQgaHRtbFJlcXVpcmVkQXR0cnMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCdfX2h0bWxSZXF1aXJlZEF0dHJzJykgICAgICAgIGNvbnN0IGNoYXIgKiAqCisgICAgIGQgIGVsdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGh0bWxFbGVtRGVzYyAqCisKKyAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCWE1MX0hUTUxfRU5BQkxFRAorICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIVE1MX1BBUlNFUl9IX18KZGlmZiAtLWdpdCBhL2xpYnhtbDIvb3M0MDAvbGlieG1scnBnL0hUTUx0cmVlLnJwZ2xlIGIvbGlieG1sMi9vczQwMC9saWJ4bWxycGcvSFRNTHRyZWUucnBnbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODJhMTFjYQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvb3M0MDAvbGlieG1scnBnL0hUTUx0cmVlLnJwZ2xlCkBAIC0wLDAgKzEsMTY2IEBACisgICAgICAqIFN1bW1hcnk6IHNwZWNpZmljIEFQSXMgdG8gcHJvY2VzcyBIVE1MIHRyZWUsIGVzcGVjaWFsbHkgc2VyaWFsaXphdGlvbgorICAgICAgKiBEZXNjcmlwdGlvbjogdGhpcyBtb2R1bGUgaW1wbGVtZW50cyBhIGZldyBmdW5jdGlvbiBuZWVkZWQgdG8gcHJvY2VzcworICAgICAgKiAgICAgICAgICAgICAgdHJlZSBpbiBhbiBIVE1MIHNwZWNpZmljIHdheS4KKyAgICAgICoKKyAgICAgICogQ29weTogU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgorICAgICAgKgorICAgICAgKiBBdXRob3I6IFBhdHJpY2sgTW9ubmVyYXQgPHBtQGRhdGFzcGhlcmUuY2g+LCBEQVRBU1BIRVJFIFMuQS4KKworICAgICAgL2lmIG5vdCBkZWZpbmVkKEhUTUxfVFJFRV9IX18pCisgICAgICAvZGVmaW5lIEhUTUxfVFJFRV9IX18KKworICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWx2ZXJzaW9uIgorICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy90cmVlIgorICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy9IVE1McGFyc2VyIgorCisgICAgICAvaWYgZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKQorCisgICAgICAqIEhUTUxfVEVYVF9OT0RFOgorICAgICAgKgorICAgICAgKiBNYWNyby4gQSB0ZXh0IG5vZGUgaW4gYSBIVE1MIGRvY3VtZW50IGlzIHJlYWxseSBpbXBsZW1lbnRlZAorICAgICAgKiB0aGUgc2FtZSB3YXkgYXMgYSB0ZXh0IG5vZGUgaW4gYW4gWE1MIGRvY3VtZW50LgorCisgICAgIGQgSFRNTF9URVhUX05PREUgIGMgICAgICAgICAgICAgICAgICAgMworCisgICAgICAqIEhUTUxfRU5USVRZX1JFRl9OT0RFOgorICAgICAgKgorICAgICAgKiBNYWNyby4gQW4gZW50aXR5IHJlZmVyZW5jZSBpbiBhIEhUTUwgZG9jdW1lbnQgaXMgcmVhbGx5IGltcGxlbWVudGVkCisgICAgICAqIHRoZSBzYW1lIHdheSBhcyBhbiBlbnRpdHkgcmVmZXJlbmNlIGluIGFuIFhNTCBkb2N1bWVudC4KKworICAgICBkIEhUTUxfRU5USVRZX1JFRl9OT0RFLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNQorCisgICAgICAqIEhUTUxfQ09NTUVOVF9OT0RFOgorICAgICAgKgorICAgICAgKiBNYWNyby4gQSBjb21tZW50IGluIGEgSFRNTCBkb2N1bWVudCBpcyByZWFsbHkgaW1wbGVtZW50ZWQKKyAgICAgICogdGhlIHNhbWUgd2F5IGFzIGEgY29tbWVudCBpbiBhbiBYTUwgZG9jdW1lbnQuCisKKyAgICAgZCBIVE1MX0NPTU1FTlRfTk9ERS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDgKKworICAgICAgKiBIVE1MX1BSRVNFUlZFX05PREU6CisgICAgICAqCisgICAgICAqIE1hY3JvLiBBIHByZXNlcnZlZCBub2RlIGluIGEgSFRNTCBkb2N1bWVudCBpcyByZWFsbHkgaW1wbGVtZW50ZWQKKyAgICAgICogdGhlIHNhbWUgd2F5IGFzIGEgQ0RBVEEgc2VjdGlvbiBpbiBhbiBYTUwgZG9jdW1lbnQuCisKKyAgICAgZCBIVE1MX1BSRVNFUlZFX05PREUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA0CisKKyAgICAgICogSFRNTF9QSV9OT0RFOgorICAgICAgKgorICAgICAgKiBNYWNyby4gQSBwcm9jZXNzaW5nIGluc3RydWN0aW9uIGluIGEgSFRNTCBkb2N1bWVudCBpcyByZWFsbHkgaW1wbGVtZW50ZWQKKyAgICAgICogdGhlIHNhbWUgd2F5IGFzIGEgcHJvY2Vzc2luZyBpbnN0cnVjdGlvbiBpbiBhbiBYTUwgZG9jdW1lbnQuCisKKyAgICAgZCBIVE1MX1BJX05PREUgICAgYyAgICAgICAgICAgICAgICAgICA3CisKKyAgICAgZCBodG1sTmV3RG9jICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdodG1sTmV3RG9jJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKGh0bWxEb2NQdHIpCisgICAgIGQgIFVSSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBFeHRlcm5hbElEICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICBkIGh0bWxOZXdEb2NOb0R0RC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2h0bWxOZXdEb2NOb0R0RCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZShodG1sRG9jUHRyKQorICAgICBkICBVUkkgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgRXh0ZXJuYWxJRCAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgZCBodG1sR2V0TWV0YUVuY29kaW5nLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygnaHRtbEdldE1ldGFFbmNvZGluZycpICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoaHRtbERvY1B0cikKKworICAgICBkIGh0bWxTZXRNZXRhRW5jb2RpbmcuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCdodG1sU2V0TWV0YUVuY29kaW5nJykKKyAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKGh0bWxEb2NQdHIpCisgICAgIGQgIGVuY29kaW5nICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgICAvaWYgZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpCisgICAgIGQgaHRtbERvY0R1bXBNZW1vcnkuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdodG1sRG9jRHVtcE1lbW9yeScpCisgICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCisgICAgIGQgIG1lbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbENoYXIgKiAqCisgICAgIGQgIHNpemUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAKKworICAgICBkIGh0bWxEb2NEdW1wTWVtb3J5Rm9ybWF0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnaHRtbERvY0R1bXBNZW1vcnlGb3JtYXQnKQorICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQorICAgICBkICBtZW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxDaGFyICogKgorICAgICBkICBzaXplICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwCisgICAgIGQgIGZvcm1hdCAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIGh0bWxEb2NEdW1wICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ2h0bWxEb2NEdW1wJykKKyAgICAgZCAgZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRklMRSAqCisgICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCisKKyAgICAgZCBodG1sU2F2ZUZpbGUgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCdodG1sU2F2ZUZpbGUnKQorICAgICBkICBmaWxlbmFtZSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKKworICAgICBkIGh0bWxOb2RlRHVtcCAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ2h0bWxOb2RlRHVtcCcpCisgICAgIGQgIGJ1ZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxCdWZmZXJQdHIpCisgICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCisgICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQorCisgICAgIGQgaHRtbE5vZGVEdW1wRmlsZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2h0bWxOb2RlRHVtcEZpbGUnKQorICAgICBkICBvdXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGSUxFICoKKyAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKKyAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisKKyAgICAgZCBodG1sTm9kZUR1bXBGaWxlRm9ybWF0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygnaHRtbE5vZGVEdW1wRmlsZUZvcm1hdCcpCisgICAgIGQgIG91dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZJTEUgKgorICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQorICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKyAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIGZvcm1hdCAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIGh0bWxTYXZlRmlsZUVuYy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ2h0bWxTYXZlRmlsZUVuYycpCisgICAgIGQgIGZpbGVuYW1lICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQorICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKworICAgICBkIGh0bWxTYXZlRmlsZUZvcm1hdC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ2h0bWxTYXZlRmlsZUZvcm1hdCcpCisgICAgIGQgIGZpbGVuYW1lICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQorICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgZm9ybWF0ICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgaHRtbE5vZGVEdW1wRm9ybWF0T3V0cHV0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnaHRtbE5vZGVEdW1wRm9ybWF0T3V0cHV0JykKKyAgICAgZCAgYnVmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE91dHB1dEJ1ZmZlclB0cikKKyAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKKyAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisgICAgIGQgIGVuY29kaW5nICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBmb3JtYXQgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCBodG1sRG9jQ29udGVudER1bXBPdXRwdXQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdodG1sRG9jQ29udGVudER1bXBPdXRwdXQnKQorICAgICBkICBidWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sT3V0cHV0QnVmZmVyUHRyKQorICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQorICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKworICAgICBkIGh0bWxEb2NDb250ZW50RHVtcEZvcm1hdE91dHB1dC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2h0bWxEb2NDb250ZW50RHVtcEZvcm1hdE91dHB1dCcpCisgICAgIGQgIGJ1ZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxPdXRwdXRCdWZmZXJQdHIpCisgICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCisgICAgIGQgIGVuY29kaW5nICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBmb3JtYXQgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCBodG1sTm9kZUR1bXBPdXRwdXQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdodG1sTm9kZUR1bXBPdXRwdXQnKQorICAgICBkICBidWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sT3V0cHV0QnVmZmVyUHRyKQorICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQorICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKyAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisKKyAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCWE1MX09VVFBVVF9FTkFCTEQKKworICAgICBkIGh0bWxJc0Jvb2xlYW5BdHRyLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygnaHRtbElzQm9vbGVhbkF0dHInKQorICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTUxfSFRNTF9FTkFCTEVECisgICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhUTUxfVFJFRV9IX18KZGlmZiAtLWdpdCBhL2xpYnhtbDIvb3M0MDAvbGlieG1scnBnL1NBWC5ycGdsZSBiL2xpYnhtbDIvb3M0MDAvbGlieG1scnBnL1NBWC5ycGdsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xOGY4NTFkCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9vczQwMC9saWJ4bWxycGcvU0FYLnJwZ2xlCkBAIC0wLDAgKzEsMjA3IEBACisgICAgICAqIFN1bW1hcnk6IE9sZCBTQVggdmVyc2lvbiAxIGhhbmRsZXIsIGRlcHJlY2F0ZWQKKyAgICAgICogRGVzY3JpcHRpb246IERFUFJFQ0FURUQgc2V0IG9mIFNBWCB2ZXJzaW9uIDEgaW50ZXJmYWNlcyB1c2VkIHRvCisgICAgICAqICAgICAgICAgICAgICBidWlsZCB0aGUgRE9NIHRyZWUuCisgICAgICAqCisgICAgICAqIENvcHk6IFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyAgICAgICoKKyAgICAgICogQXV0aG9yOiBQYXRyaWNrIE1vbm5lcmF0IDxwbUBkYXRhc3BoZXJlLmNoPiwgREFUQVNQSEVSRSBTLkEuCisKKyAgICAgIC9pZiBub3QgZGVmaW5lZChYTUxfU0FYX0hfXykKKyAgICAgIC9kZWZpbmUgWE1MX1NBWF9IX18KKworICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWx2ZXJzaW9uIgorICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy9wYXJzZXIiCisgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3hsaW5rIgorCisgICAgICAvaWYgZGVmaW5lZChMSUJYTUxfTEVHQUNZX0VOQUJMRUQpCisKKyAgICAgZCBnZXRQdWJsaWNJZCAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCdnZXRQdWJsaWNJZCcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorCisgICAgIGQgZ2V0U3lzdGVtSWQgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygnZ2V0U3lzdGVtSWQnKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKworICAgICBkIHNldERvY3VtZW50TG9jYXRvci4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3NldERvY3VtZW50TG9jYXRvcicpCisgICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorICAgICBkICBsb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU0FYTG9jYXRvclB0cikKKworICAgICBkIGdldExpbmVOdW1iZXIgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ2dldExpbmVOdW1iZXInKQorICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKworICAgICBkIGdldENvbHVtbk51bWJlci4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ2dldENvbHVtbk51bWJlcicpCisgICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorCisgICAgIGQgaXNTdGFuZGFsb25lICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygnaXNTdGFuZGFsb25lJykKKyAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCisKKyAgICAgZCBoYXNJbnRlcm5hbFN1YnNldC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ2hhc0ludGVybmFsU3Vic2V0JykKKyAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCisKKyAgICAgZCBoYXNFeHRlcm5hbFN1YnNldC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ2hhc0V4dGVybmFsU3Vic2V0JykKKyAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCisKKyAgICAgZCBpbnRlcm5hbFN1YnNldCAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdpbnRlcm5hbFN1YnNldCcpCisgICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgRXh0ZXJuYWxJRCAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIFN5c3RlbUlEICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgIGQgZXh0ZXJuYWxTdWJzZXQgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnZXh0ZXJuYWxTdWJzZXQnKQorICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIEV4dGVybmFsSUQgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBTeXN0ZW1JRCAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICBkIGdldEVudGl0eSAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2dldEVudGl0eScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxFbnRpdHlQdHIpCisgICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICBkIGdldFBhcmFtZXRlckVudGl0eS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2dldFBhcmFtZXRlckVudGl0eScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxFbnRpdHlQdHIpCisgICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICBkIHJlc29sdmVFbnRpdHkgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3Jlc29sdmVFbnRpdHknKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sUGFyc2VySW5wdXRQdHIpCisgICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorICAgICBkICBwdWJsaWNJZCAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgc3lzdGVtSWQgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgZCBlbnRpdHlEZWNsICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdlbnRpdHlEZWNsJykKKyAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCisgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICB0eXBlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIHB1YmxpY0lkICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBzeXN0ZW1JZCAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgY29udGVudCAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgeG1sQ2hhciAqCisKKyAgICAgZCBhdHRyaWJ1dGVEZWNsICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdhdHRyaWJ1dGVEZWNsJykKKyAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCisgICAgIGQgIGVsZW0gICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBmdWxsbmFtZSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgdHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBkZWYgICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIGRlZmF1bHRWYWx1ZSAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICB0cmVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRW51bWVyYXRpb25QdHIpCisKKyAgICAgZCBlbGVtZW50RGVjbCAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdlbGVtZW50RGVjbCcpCisgICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgdHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBjb250ZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRWxlbWVudENvbnRlbnRQdHIpCisKKyAgICAgZCBub3RhdGlvbkRlY2wgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdub3RhdGlvbkRlY2wnKQorICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIHB1YmxpY0lkICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBzeXN0ZW1JZCAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICBkIHVucGFyc2VkRW50aXR5RGVjbC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3VucGFyc2VkRW50aXR5RGVjbCcpCisgICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgcHVibGljSWQgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIHN5c3RlbUlkICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBub3RhdGlvbk5hbWUgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICBkIHN0YXJ0RG9jdW1lbnQgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3N0YXJ0RG9jdW1lbnQnKQorICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKworICAgICBkIGVuZERvY3VtZW50ICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2VuZERvY3VtZW50JykKKyAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCisKKyAgICAgZCBhdHRyaWJ1dGUgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdhdHRyaWJ1dGUnKQorICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKyAgICAgZCAgZnVsbG5hbWUgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgIGQgc3RhcnRFbGVtZW50ICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnc3RhcnRFbGVtZW50JykKKyAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCisgICAgIGQgIGZ1bGxuYW1lICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBhdHRzICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICooKikKKworICAgICBkIGVuZEVsZW1lbnQgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2VuZEVsZW1lbnQnKQorICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgZCByZWZlcmVuY2UgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdyZWZlcmVuY2UnKQorICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgZCBjaGFyYWN0ZXJzICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdjaGFyYWN0ZXJzJykKKyAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCisgICAgIGQgIGNoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCBpZ25vcmFibGVXaGl0ZXNwYWNlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnaWdub3JhYmxlV2hpdGVzcGFjZScpCisgICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorICAgICBkICBjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgcHJvY2Vzc2luZ0luc3RydWN0aW9uLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygncHJvY2Vzc2luZ0luc3RydWN0aW9uJykKKyAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCisgICAgIGQgIHRhcmdldCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBkYXRhICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICBkIGdsb2JhbE5hbWVzcGFjZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2dsb2JhbE5hbWVzcGFjZScpCisgICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorICAgICBkICBocmVmICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgcHJlZml4ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgZCBzZXROYW1lc3BhY2UgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdzZXROYW1lc3BhY2UnKQorICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgZCBnZXROYW1lc3BhY2UgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdnZXROYW1lc3BhY2UnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTnNQdHIpCisgICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorCisgICAgIGQgY2hlY2tOYW1lc3BhY2UgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygnY2hlY2tOYW1lc3BhY2UnKQorICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKyAgICAgZCAgbmFtZVNwYWNlICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgeG1sQ2hhciAqCisKKyAgICAgZCBuYW1lc3BhY2VEZWNsICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCduYW1lc3BhY2VEZWNsJykKKyAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCisgICAgIGQgIGhyZWYgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBwcmVmaXggICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICBkIGNvbW1lbnQgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2NvbW1lbnQnKQorICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKyAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgZCBjZGF0YUJsb2NrICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdjZGF0YUJsb2NrJykKKyAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCisgICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9TQVgxX0VOQUJMRUQpCisgICAgIGQgaW5pdHhtbERlZmF1bHRTQVhIYW5kbGVyLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnaW5pdHhtbERlZmF1bHRTQVhIYW5kbGVyJykKKyAgICAgZCAgaGRsciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNBWEhhbmRsZXJWMSkKKyAgICAgZCAgd2FybmluZyAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgICAvaWYgZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKQorICAgICBkIGluaXRodG1sRGVmYXVsdFNBWEhhbmRsZXIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdpbml0aHRtbERlZmF1bHRTQVhIYW5kbGVyJykKKyAgICAgZCAgaGRsciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNBWEhhbmRsZXJWMSkKKyAgICAgIC9lbmRpZgorCisgICAgICAvaWYgZGVmaW5lZChMSUJYTUxfRE9DQl9FTkFCTEVEKQorICAgICBkIGluaXRkb2NiRGVmYXVsdFNBWEhhbmRsZXIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdpbml0ZG9jYkRlZmF1bHRTQVhIYW5kbGVyJykKKyAgICAgZCAgaGRsciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNBWEhhbmRsZXJWMSkKKyAgICAgIC9lbmRpZgorICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTUxfU0FYMV9FTkFCTEVECisKKyAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCWE1MX0xFR0FDWV9FTkFCTEQKKworICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfU0FYX0hfXwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9vczQwMC9saWJ4bWxycGcvU0FYMi5ycGdsZSBiL2xpYnhtbDIvb3M0MDAvbGlieG1scnBnL1NBWDIucnBnbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzlhYjlkMQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvb3M0MDAvbGlieG1scnBnL1NBWDIucnBnbGUKQEAgLTAsMCArMSwyNDggQEAKKyAgICAgICogU3VtbWFyeTogU0FYMiBwYXJzZXIgaW50ZXJmYWNlIHVzZWQgdG8gYnVpbGQgdGhlIERPTSB0cmVlCisgICAgICAqIERlc2NyaXB0aW9uOiB0aG9zZSBhcmUgdGhlIGRlZmF1bHQgU0FYMiBpbnRlcmZhY2VzIHVzZWQgYnkKKyAgICAgICogICAgICAgICAgICAgIHRoZSBsaWJyYXJ5IHdoZW4gYnVpbGRpbmcgRE9NIHRyZWUuCisgICAgICAqCisgICAgICAqIENvcHk6IFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyAgICAgICoKKyAgICAgICogQXV0aG9yOiBQYXRyaWNrIE1vbm5lcmF0IDxwbUBkYXRhc3BoZXJlLmNoPiwgREFUQVNQSEVSRSBTLkEuCisKKyAgICAgIC9pZiBub3QgZGVmaW5lZChYTUxfU0FYMl9IX18pCisgICAgICAvZGVmaW5lIFhNTF9TQVgyX0hfXworCisgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbHZlcnNpb24iCisgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3BhcnNlciIKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveGxpbmsiCisKKyAgICAgZCB4bWxTQVgyR2V0UHVibGljSWQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxTQVgyZ2V0UHVibGljSWQnKSAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorCisgICAgIGQgeG1sU0FYMkdldFN5c3RlbUlkLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sU0FYMmdldFN5c3RlbUlkJykgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKworICAgICBkIHhtbFNBWDJTZXREb2N1bWVudExvY2F0b3IuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTQVgyU2V0RG9jdW1lbnRMb2NhdG9yJykKKyAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCisgICAgIGQgIGxvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTQVhMb2NhdG9yUHRyKQorCisgICAgIGQgeG1sU0FYMkdldExpbmVOdW1iZXIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxTQVgyR2V0TGluZU51bWJlcicpCisgICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorCisgICAgIGQgeG1sU0FYMkdldENvbHVtbk51bWJlci4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFNBWDJHZXRDb2x1bW5OdW1iZXInKQorICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKworICAgICBkIHhtbFNBWDJJc1N0YW5kYWxvbmUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxTQVgySXNTdGFuZGFsb25lJykKKyAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCisKKyAgICAgZCB4bWxTQVgySGFzSW50ZXJuYWxTdWJzZXQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxTQVgySGFzSW50ZXJuYWxTdWJzZXQnKQorICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKworICAgICBkIHhtbFNBWDJIYXNFeHRlcm5hbFN1YnNldC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFNBWDJIYXNFeHRlcm5hbFN1YnNldCcpCisgICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorCisgICAgIGQgeG1sU0FYMkludGVybmFsU3Vic2V0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU0FYMkludGVybmFsU3Vic2V0JykKKyAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCisgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBFeHRlcm5hbElEICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgU3lzdGVtSUQgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgZCB4bWxTQVgyRXh0ZXJuYWxTdWJzZXQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTQVgyRXh0ZXJuYWxTdWJzZXQnKQorICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIEV4dGVybmFsSUQgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBTeXN0ZW1JRCAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICBkIHhtbFNBWDJHZXRFbnRpdHkuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTQVgyR2V0RW50aXR5JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEVudGl0eVB0cikKKyAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCisgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgIGQgeG1sU0FYMkdldFBhcmFtZXRlckVudGl0eS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNBWDJHZXRQYXJhbWV0ZXJFbnRpdHknKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRW50aXR5UHRyKQorICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgZCB4bWxTQVgyUmVzb2x2ZUVudGl0eS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNBWDJSZXNvbHZlRW50aXR5JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFBhcnNlcklucHV0UHRyKQorICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKyAgICAgZCAgcHVibGljSWQgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIHN5c3RlbUlkICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgIGQgeG1sU0FYMkVudGl0eURlY2wuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTQVgyRW50aXR5RGVjbCcpCisgICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgdHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBwdWJsaWNJZCAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgc3lzdGVtSWQgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIGNvbnRlbnQgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIHhtbENoYXIgKgorCisgICAgIGQgeG1sU0FYMkF0dHJpYnV0ZURlY2wuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTQVgyQXR0cmlidXRlRGVjbCcpCisgICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorICAgICBkICBlbGVtICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgZnVsbG5hbWUgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIHR5cGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgZGVmICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBkZWZhdWx0VmFsdWUgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgdHJlZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEVudW1lcmF0aW9uUHRyKQorCisgICAgIGQgeG1sU0FYMkVsZW1lbnREZWNsLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU0FYMkVsZW1lbnREZWNsJykKKyAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCisgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICB0eXBlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIGNvbnRlbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxFbGVtZW50Q29udGVudFB0cikKKworICAgICBkIHhtbFNBWDJOb3RhdGlvbkRlY2wuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTQVgyTm90YXRpb25EZWNsJykKKyAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCisgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBwdWJsaWNJZCAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgc3lzdGVtSWQgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgZCB4bWxTQVgyVW5wYXJzZWRFbnRpdHlEZWNsLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU0FYMlVucGFyc2VkRW50aXR5RGVjbCcpCisgICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgcHVibGljSWQgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIHN5c3RlbUlkICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBub3RhdGlvbk5hbWUgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICB4bWxDaGFyICoKKworICAgICBkIHhtbFNBWDJTdGFydERvY3VtZW50Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU0FYMlN0YXJ0RG9jdW1lbnQnKQorICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKworICAgICBkIHhtbFNBWDJFbmREb2N1bWVudC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNBWDJFbmREb2N1bWVudCcpCisgICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorCisgICAgICAvdW5kZWZpbmUgWE1MX1RFU1RWQUwKKyAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9TQVgxX0VOQUJMRUQpCisgICAgICAvZGVmaW5lIFhNTF9URVNUVkFMCisgICAgICAvZWxzZWlmIGRlZmluZWQoTElCWE1MX0hUTUxfRU5BQkxFRCkKKyAgICAgIC9kZWZpbmUgWE1MX1RFU1RWQUwKKyAgICAgIC9lbHNlaWYgZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpCisgICAgICAvZGVmaW5lIFhNTF9URVNUVkFMCisgICAgICAvZWxzZWlmIGRlZmluZWQoTElCWE1MX0RPQ0JfRU5BQkxFRCkKKyAgICAgIC9lbmRpZgorICAgICAgL2lmIGRlZmluZWQoWE1MX1RFU1RWQUwpCisgICAgIGQgeG1sU0FYMlN0YXJ0RWxlbWVudC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNBWDJTdGFydEVsZW1lbnQnKQorICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKyAgICAgZCAgZnVsbG5hbWUgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIGF0dHMgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKigqKQorCisgICAgIGQgeG1sU0FYMkVuZEVsZW1lbnQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTQVgyRW5kRWxlbWVudCcpCisgICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICAgL3VuZGVmaW5lIFhNTF9URVNUVkFMCisgICAgICAvZW5kaWYKKworICAgICBkIHhtbFNBWDJTdGFydEVsZW1lbnROcy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNBWDJTdGFydEVsZW1lbnROcycpCisgICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorICAgICBkICBsb2NhbG5hbWUgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgcHJlZml4ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIFVSSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBuYl9uYW1lc3BhY2VzICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIG5hbWVzcGFjZXMgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKigqKQorICAgICBkICBuYl9hdHRyaWJ1dGVzICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIG5iX2RlZmF1bHRlZCAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgYXR0cmlidXRlcyAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqKCopCisKKyAgICAgZCB4bWxTQVgyRW5kRWxlbWVudE5zLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU0FYMkVuZEVsZW1lbnROcycpCisgICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorICAgICBkICBsb2NhbG5hbWUgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgcHJlZml4ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIFVSSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgIGQgeG1sU0FYMlJlZmVyZW5jZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNBWDJSZWZlcmVuY2UnKQorICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgZCB4bWxTQVgyQ2hhcmFjdGVycy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNBWDJDaGFyYWN0ZXJzJykKKyAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCisgICAgIGQgIGNoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxTQVgySWdub3JhYmxlV2hpdGVzcGFjZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNBWDJJZ25vcmFibGVXaGl0ZXNwYWNlJykKKyAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCisgICAgIGQgIGNoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxTQVgyUHJvY2Vzc2luZ0luc3RydWN0aW9uLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFNBWDJQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24nKQorICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKyAgICAgZCAgdGFyZ2V0ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIGRhdGEgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgIGQgeG1sU0FYMkNvbW1lbnQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTQVgyQ29tbWVudCcpCisgICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICBkIHhtbFNBWDJDRGF0YUJsb2NrLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU0FYMkNEYXRhQmxvY2snKQorICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKyAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICAgL2lmIGRlZmluZWQoTElCWE1MX1NBWDFfRU5BQkxFRCkKKyAgICAgZCB4bWxTQVhEZWZhdWx0VmVyc2lvbi4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFNBWERlZmF1bHRWZXJzaW9uJykKKyAgICAgZCAgdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTUxfU0FYMV9FTkFCTEVECisKKyAgICAgZCB4bWxTQVhWZXJzaW9uICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxTQVhWZXJzaW9uJykKKyAgICAgZCAgaGRsciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNBWEhhbmRsZXIpCisgICAgIGQgIHZlcnNpb24gICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFNBWDJJbml0RGVmYXVsdFNBWEhhbmRsZXIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sU0FYMkluaXREZWZhdWx0U0FYSGFuZGxlcicpCisgICAgIGQgIGhkbHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTQVhIYW5kbGVyKQorICAgICBkICB3YXJuaW5nICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpCisgICAgIGQgeG1sU0FYMkluaXRIdG1sRGVmYXVsdFNBWEhhbmRsZXIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sU0FYMkluaXRIdG1sRGVmYXVsdFNBWEhhbmRsZXInKQorICAgICBkICBoZGxyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU0FYSGFuZGxlcikKKworICAgICBkIGh0bWxEZWZhdWx0U0FYSGFuZGxlckluaXQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdodG1sRGVmYXVsdFNBWEhhbmRsZXJJbml0JykKKyAgICAgIC9lbmRpZgorCisgICAgICAvaWYgZGVmaW5lZChMSUJYTUxfRE9DQl9FTkFCTEVEKQorICAgICBkIHhtbFNBWDJJbml0RG9jYkRlZmF1bHRTQVhIYW5kbGVyLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFNBWDJJbml0RG9jYkRlZmF1bHRTQVhIYW5kbGVyJykKKyAgICAgZCAgaGRsciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNBWEhhbmRsZXIpCisKKyAgICAgZCBkb2NiRGVmYXVsdFNBWEhhbmRsZXJJbml0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnZG9jYkRlZmF1bHRTQVhIYW5kbGVySW5pdCcpCisgICAgICAvZW5kaWYKKworICAgICBkIHhtbERlZmF1bHRTQVhIYW5kbGVySW5pdC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbERlZmF1bHRTQVhIYW5kbGVySW5pdCcpCisKKyAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWE1MX1NBWDJfSF9fCmRpZmYgLS1naXQgYS9saWJ4bWwyL29zNDAwL2xpYnhtbHJwZy9jMTRuLnJwZ2xlIGIvbGlieG1sMi9vczQwMC9saWJ4bWxycGcvYzE0bi5ycGdsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNjRlZmIyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9vczQwMC9saWJ4bWxycGcvYzE0bi5ycGdsZQpAQCAtMCwwICsxLDExOSBAQAorICAgICAgKiBTdW1tYXJ5OiBQcm92aWRlIENhbm9uaWNhbCBYTUwgYW5kIEV4Y2x1c2l2ZSBYTUwgQ2Fub25pY2FsaXphdGlvbgorICAgICAgKiBEZXNjcmlwdGlvbjogdGhlIGMxNG4gbW9kdWxlcyBwcm92aWRlcyBhCisgICAgICAqCisgICAgICAqICJDYW5vbmljYWwgWE1MIiBpbXBsZW1lbnRhdGlvbgorICAgICAgKiBodHRwOi8vd3d3LnczLm9yZy9UUi94bWwtYzE0bgorICAgICAgKgorICAgICAgKiBhbmQgYW4KKyAgICAgICoKKyAgICAgICogIkV4Y2x1c2l2ZSBYTUwgQ2Fub25pY2FsaXphdGlvbiIgaW1wbGVtZW50YXRpb24KKyAgICAgICogaHR0cDovL3d3dy53My5vcmcvVFIveG1sLWV4Yy1jMTRuCisgICAgICAqCisgICAgICAqIENvcHk6IFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyAgICAgICoKKyAgICAgICogQXV0aG9yOiBQYXRyaWNrIE1vbm5lcmF0IDxwbUBkYXRhc3BoZXJlLmNoPiwgREFUQVNQSEVSRSBTLkEuCisKKyAgICAgIC9pZiBub3QgZGVmaW5lZChYTUxfQzE0Tl9IX18pCisgICAgICAvZGVmaW5lIFhNTF9DMTROX0hfXworCisgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbHZlcnNpb24iCisKKyAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9DMTROX0VOQUJMRUQpCisgICAgICAvaWYgZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpCisKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcvdHJlZSIKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveHBhdGgiCisKKyAgICAgICogWE1MIENhbm9uaWNhemF0aW9uCisgICAgICAqIGh0dHA6Ly93d3cudzMub3JnL1RSL3htbC1jMTRuCisgICAgICAqCisgICAgICAqIEV4Y2x1c2l2ZSBYTUwgQ2Fub25pY2F6YXRpb24KKyAgICAgICogaHR0cDovL3d3dy53My5vcmcvVFIveG1sLWV4Yy1jMTRuCisgICAgICAqCisgICAgICAqIENhbm9uaWNhbCBmb3JtIG9mIGFuIFhNTCBkb2N1bWVudCBjb3VsZCBiZSBjcmVhdGVkIGlmIGFuZCBvbmx5IGlmCisgICAgICAqICBhKSBkZWZhdWx0IGF0dHJpYnV0ZXMgKGlmIGFueSkgYXJlIGFkZGVkIHRvIGFsbCBub2RlcworICAgICAgKiAgYikgYWxsIGNoYXJhY3RlciBhbmQgcGFyc2VkIGVudGl0eSByZWZlcmVuY2VzIGFyZSByZXNvbHZlZAorICAgICAgKiBJbiBvcmRlciB0byBhY2hpdmUgdGhpcyBpbiBsaWJ4bWwyIHRoZSBkb2N1bWVudCBNVVNUIGJlIGxvYWRlZCB3aXRoCisgICAgICAqIGZvbGxvd2luZyBnbG9iYWwgc2V0aW5nczoKKyAgICAgICoKKyAgICAgICogICAgeG1sTG9hZEV4dER0ZERlZmF1bHRWYWx1ZSA9IFhNTF9ERVRFQ1RfSURTIOMgWE1MX0NPTVBMRVRFX0FUVFJTOworICAgICAgKiAgICB4bWxTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0KDEpOworICAgICAgKgorICAgICAgKiBvciBjb3JyZXNwb25kaW5nIHBhcnNlciBjb250ZXh0IHNldHRpbmc6CisgICAgICAqICAgIHhtbFBhcnNlckN0eHRQdHIgY3R4dDsKKyAgICAgICoKKyAgICAgICogICAgLi4uCisgICAgICAqICAgIGN0eHQtPmxvYWRzdWJzZXQgPSBYTUxfREVURUNUX0lEUyDjIFhNTF9DT01QTEVURV9BVFRSUzsKKyAgICAgICogICAgY3R4dC0+cmVwbGFjZUVudGl0aWVzID0gMTsKKyAgICAgICogICAgLi4uCisKKyAgICAgICogeG1sQzE0Tk1vZGU6CisgICAgICAqCisgICAgICAqIFByZWRlZmluZWQgdmFsdWVzIGZvciBDMTROIG1vZGVzCisKKyAgICAgZCB4bWxCdWZmZXJBbGxvY2F0aW9uU2NoZW1lLi4uCisgICAgIGQgeG1sQzE0Tk1vZGUgICAgIHMgICAgICAgICAgICAgMTBpIDAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykgICAgICAgICAgIGVudW0KKyAgICAgZCAgWE1MX0MxNE5fMV8wICAgYyAgICAgICAgICAgICAgICAgICAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3JpZ2luYWwgQzE0TiAxLjAKKyAgICAgZCAgWE1MX0MxNE5fRVhDTFVTSVZFXzFfMC4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRXhjbHVzaXZlIEMxNE4gMS4wCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMQorICAgICBkICBYTUxfQzE0Tl8xXzEgICBjICAgICAgICAgICAgICAgICAgIDIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDMTROIDEuMSBzcGVjCisKKyAgICAgZCB4bWxDMTRORG9jU2F2ZVRvLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sQzE0TkRvY1NhdmVUbycpCisgICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCisgICAgIGQgIG5vZGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlU2V0UHRyKQorICAgICBkICBtb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIGluY2x1c2l2ZV9uc19wcmVmaXhlcy4uLgorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxDaGFyICooKikKKyAgICAgZCAgd2l0aF9jb21tZW50cyAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBidWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sT3V0cHV0QnVmZmVyUHRyKQorCisgICAgIGQgeG1sQzE0TkRvY0R1bXBNZW1vcnkuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxDMTRORG9jRHVtcE1lbW9yeScpCisgICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCisgICAgIGQgIG5vZGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlU2V0UHRyKQorICAgICBkICBtb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIGluY2x1c2l2ZV9uc19wcmVmaXhlcy4uLgorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxDaGFyICooKikKKyAgICAgZCAgd2l0aF9jb21tZW50cyAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBkb2NfdHh0X3B0ciAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxDaGFyICooKikKKworICAgICBkIHhtbEMxNE5Eb2NTYXZlICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbEMxNE5Eb2NTYXZlJykKKyAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKKyAgICAgZCAgbm9kZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVTZXRQdHIpCisgICAgIGQgIG1vZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgaW5jbHVzaXZlX25zX3ByZWZpeGVzLi4uCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbENoYXIgKigqKQorICAgICBkICB3aXRoX2NvbW1lbnRzICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIGZpbGVuYW1lICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBjb21wcmVzc2lvbiAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgICogVGhpcyBpcyB0aGUgY29yZSBDMTROIGZ1bmN0aW9uCisKKyAgICAgICogeG1sQzE0TklzVmlzaWJsZUNhbGxiYWNrOgorICAgICAgKiBAdXNlcl9kYXRhOiB1c2VyIGRhdGEKKyAgICAgICogQG5vZGU6IHRoZSBjdXJlbnQgbm9kZQorICAgICAgKiBAcGFyZW50OiB0aGUgcGFyZW50IG5vZGUKKyAgICAgICoKKyAgICAgICogU2lnbmF0dXJlIGZvciBhIEMxNE4gY2FsbGJhY2sgb24gdmlzaWJsZSBub2RlcworICAgICAgKgorICAgICAgKiBSZXR1cm5zIDEgaWYgdGhlIG5vZGUgc2hvdWxkIGJlIGluY2x1ZGVkCisKKyAgICAgZCB4bWxDMTROSXNWaXNpYmxlQ2FsbGJhY2suLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NwdHIKKworICAgICBkIHhtbEMxNE5FeGVjdXRlICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbEMxNE5FeGVjdXRlJykKKyAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKKyAgICAgZCAgaXNfdmlzaWJsZV9jYWxsYmFjay4uLgorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQzE0TklzVmlzaWJsZUNhbGxiYWNrKQorICAgICBkICB1c2VyX2RhdGEgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKyAgICAgZCAgbW9kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBpbmNsdXNpdmVfbnNfcHJlZml4ZXMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sQ2hhciAqKCopCisgICAgIGQgIHdpdGhfY29tbWVudHMgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgYnVmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE91dHB1dEJ1ZmZlclB0cikKKworICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTUxfT1VUUFVUX0VOQUJMRAorICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTUxfQzE0Tl9FTkFCTEVECisgICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhNTF9DMTROX0hfXwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9vczQwMC9saWJ4bWxycGcvY2F0YWxvZy5ycGdsZSBiL2xpYnhtbDIvb3M0MDAvbGlieG1scnBnL2NhdGFsb2cucnBnbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTJiYWY0ZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvb3M0MDAvbGlieG1scnBnL2NhdGFsb2cucnBnbGUKQEAgLTAsMCArMSwyMzUgQEAKKyAgICAgICogU3VtbWFyeTogaW50ZXJmYWNlcyB0byB0aGUgQ2F0YWxvZyBoYW5kbGluZyBzeXN0ZW0KKyAgICAgICogRGVzY3JpcHRpb246IHRoZSBjYXRhbG9nIG1vZHVsZSBpbXBsZW1lbnRzIHRoZSBzdXBwb3J0IGZvcgorICAgICAgKiBYTUwgQ2F0YWxvZ3MgYW5kIFNHTUwgY2F0YWxvZ3MKKyAgICAgICoKKyAgICAgICogU0dNTCBPcGVuIFRlY2huaWNhbCBSZXNvbHV0aW9uIFRSOTQwMToxOTk3LgorICAgICAgKiBodHRwOi8vd3d3LmpjbGFyay5jb20vc3AvY2F0YWxvZy5odG0KKyAgICAgICoKKyAgICAgICogWE1MIENhdGFsb2dzIFdvcmtpbmcgRHJhZnQgMDYgQXVndXN0IDIwMDEKKyAgICAgICogaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9jb21taXR0ZWVzL2VudGl0eS9zcGVjLTIwMDEtMDgtMDYuaHRtbAorICAgICAgKgorICAgICAgKiBDb3B5OiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisgICAgICAqCisgICAgICAqIEF1dGhvcjogUGF0cmljayBNb25uZXJhdCA8cG1AZGF0YXNwaGVyZS5jaD4sIERBVEFTUEhFUkUgUy5BLgorCisgICAgICAvaWYgbm90IGRlZmluZWQoWE1MX0NBVEFMT0dfSF9fKQorICAgICAgL2RlZmluZSBYTUxfQ0FUQUxPR19IX18KKworICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWx2ZXJzaW9uIgorICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWxzdHJpbmciCisgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3RyZWUiCisKKyAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9DQVRBTE9HX0VOQUJMRUQpCisKKyAgICAgICogWE1MX0NBVEFMT0dTX05BTUVTUEFDRToKKyAgICAgICoKKyAgICAgICogVGhlIG5hbWVzcGFjZSBmb3IgdGhlIFhNTCBDYXRhbG9ncyBlbGVtZW50cy4KKworICAgICBkIFhNTF9DQVRBTE9HU19OQU1FU1BBQ0UuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAndXJuOm9hc2lzOm5hbWVzOisKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGM6ZW50aXR5OnhtbG5zOnhtbDpjYXRhbG9nJworCisgICAgICAqIFhNTF9DQVRBTE9HX1BJOgorICAgICAgKgorICAgICAgKiBUaGUgc3BlY2lmaWMgWE1MIENhdGFsb2cgUHJvY2Vzc2luZyBJbnN0dWN0aW9uIG5hbWUuCisKKyAgICAgZCBYTUxfQ0FUQUxPR19QSSAgYyAgICAgICAgICAgICAgICAgICAnb2FzaXMteG1sLWNhdGFsb2cnCisKKyAgICAgICogVGhlIEFQSSBpcyB2b2x1bnRhcmlseSBsaW1pdGVkIHRvIGdlbmVyYWwgY2F0YWxvZ2luZy4KKworICAgICBkIHhtbENhdGFsb2dQcmVmZXIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAxMHUgMCBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKSAgICAgICAgICAgZW51bSB0eXBlCisgICAgIGQgWE1MX0NBVEFfUFJFRkVSX05PTkUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAwCisgICAgIGQgWE1MX0NBVEFfUFJFRkVSX1BVQkxJQy4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEKKyAgICAgZCBYTUxfQ0FUQV9QUkVGRVJfU1lTVEVNLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMgorCisgICAgIGQgeG1sQ2F0YWxvZ0FsbG93Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgMTB1IDAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykgICAgICAgICAgIGVudW0gdHlwZQorICAgICBkIFhNTF9DQVRBX0FMTE9XX05PTkUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAwCisgICAgIGQgWE1MX0NBVEFfQUxMT1dfR0xPQkFMLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMQorICAgICBkIFhNTF9DQVRBX0FMTE9XX0RPQ1VNRU5ULi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMgorICAgICBkIFhNTF9DQVRBX0FMTE9XX0FMTC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMKKworICAgICBkIHhtbENhdGFsb2dQdHIgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisKKyAgICAgICogT3BlcmF0aW9ucyBvbiBhIGdpdmVuIGNhdGFsb2cuCisKKyAgICAgZCB4bWxOZXdDYXRhbG9nICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOZXdDYXRhbG9nJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENhdGFsb2dQdHIpCisgICAgIGQgIHNnbWwgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbExvYWRBQ2F0YWxvZy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbExvYWRBQ2F0YWxvZycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDYXRhbG9nUHRyKQorICAgICBkICBmaWxlbmFtZSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKworICAgICBkIHhtbExvYWRTR01MU3VwZXJDYXRhbG9nLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTG9hZFNHTUxTdXBlckNhdGFsb2cnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2F0YWxvZ1B0cikKKyAgICAgZCAgZmlsZW5hbWUgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisKKyAgICAgZCB4bWxDb252ZXJ0U0dNTENhdGFsb2cuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxDb252ZXJ0U0dNTENhdGFsb2cnKQorICAgICBkICBjYXRhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2F0YWxvZ1B0cikKKworICAgICBkIHhtbEFDYXRhbG9nQWRkICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbEFDYXRhbG9nQWRkJykKKyAgICAgZCAgY2F0YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENhdGFsb2dQdHIpCisgICAgIGQgIHR5cGUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBvcmlnICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgcmVwbGFjZSAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgZCB4bWxBQ2F0YWxvZ1JlbW92ZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbEFDYXRhbG9nUmVtb3ZlJykKKyAgICAgZCAgY2F0YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENhdGFsb2dQdHIpCisgICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgIGQgeG1sQUNhdGFsb2dSZXNvbHZlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sQUNhdGFsb2dSZXNvbHZlJykgICAgICAgIHhtbENoYXIgKgorICAgICBkICBjYXRhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2F0YWxvZ1B0cikKKyAgICAgZCAgcHViSUQgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIHN5c0lEICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgIGQgeG1sQUNhdGFsb2dSZXNvbHZlU3lzdGVtLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sQUNhdGFsb2dSZXNvbHZlU3lzdGVtJykgIHhtbENoYXIgKgorICAgICBkICBjYXRhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2F0YWxvZ1B0cikKKyAgICAgZCAgc3lzSUQgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgZCB4bWxBQ2F0YWxvZ1Jlc29sdmVQdWJsaWMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxBQ2F0YWxvZ1Jlc29sdmVQdWJsaWMnKSAgeG1sQ2hhciAqCisgICAgIGQgIGNhdGFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDYXRhbG9nUHRyKQorICAgICBkICBwdWJJRCAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICBkIHhtbEFDYXRhbG9nUmVzb2x2ZVVSSS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbEFDYXRhbG9nUmVzb2x2ZVVSSScpICAgICB4bWxDaGFyICoKKyAgICAgZCAgY2F0YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENhdGFsb2dQdHIpCisgICAgIGQgIFVSSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgICAvaWYgZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpCisgICAgIGQgeG1sQUNhdGFsb2dEdW1wLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQUNhdGFsb2dEdW1wJykKKyAgICAgZCAgY2F0YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENhdGFsb2dQdHIpCisgICAgIGQgIG91dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZJTEUgKgorICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTUxfT1VUUFVUX0VOQUJMRAorCisgICAgIGQgeG1sRnJlZUNhdGFsb2cgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRnJlZUNhdGFsb2cnKQorICAgICBkICBjYXRhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2F0YWxvZ1B0cikKKworICAgICBkIHhtbENhdGFsb2dJc0VtcHR5Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sQ2F0YWxvZ0lzRW1wdHknKQorICAgICBkICBjYXRhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2F0YWxvZ1B0cikKKworICAgICAgKiBHbG9iYWwgb3BlcmF0aW9ucy4KKworICAgICBkIHhtbEluaXRpYWxpemVDYXRhbG9nLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sSW5pdGlhbGl6ZUNhdGFsb2cnKQorCisgICAgIGQgeG1sTG9hZENhdGFsb2cgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sTG9hZENhdGFsb2cnKQorICAgICBkICBmaWxlbmFtZSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKworICAgICBkIHhtbExvYWRDYXRhbG9ncy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbExvYWRDYXRhbG9ncycpCisgICAgIGQgIHBhdGhzICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorCisgICAgIGQgeG1sQ2F0YWxvZ0NsZWFudXAuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxDYXRhbG9nQ2xlYW51cCcpCisKKyAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKKyAgICAgZCB4bWxDYXRhbG9nRHVtcCAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxDYXRhbG9nRHVtcCcpCisgICAgIGQgIG91dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZJTEUgKgorICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTUxfT1VUUFVUX0VOQUJMRAorCisgICAgIGQgeG1sQ2F0YWxvZ1Jlc29sdmUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxDYXRhbG9nUmVzb2x2ZScpICAgICAgICAgeG1sQ2hhciAqCisgICAgIGQgIHB1YklEICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBzeXNJRCAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICBkIHhtbENhdGFsb2dSZXNvbHZlU3lzdGVtLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sQ2F0YWxvZ1Jlc29sdmVTeXN0ZW0nKSAgIHhtbENoYXIgKgorICAgICBkICBzeXNJRCAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICBkIHhtbENhdGFsb2dSZXNvbHZlUHVibGljLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sQ2F0YWxvZ1Jlc29sdmVQdWJsaWMnKSAgIHhtbENoYXIgKgorICAgICBkICBwdWJJRCAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICBkIHhtbENhdGFsb2dSZXNvbHZlVVJJLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sQ2F0YWxvZ1Jlc29sdmVVUkknKSAgICAgIHhtbENoYXIgKgorICAgICBkICBVUkkgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICBkIHhtbENhdGFsb2dBZGQgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbENhdGFsb2dBZGQnKQorICAgICBkICB0eXBlICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgb3JpZyAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIHJlcGxhY2UgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgIGQgeG1sQ2F0YWxvZ1JlbW92ZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbENhdGFsb2dSZW1vdmUnKQorICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICBkIHhtbFBhcnNlQ2F0YWxvZ0ZpbGUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxQYXJzZUNhdGFsb2dGaWxlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbERvY1B0cikKKyAgICAgZCAgZmlsZW5hbWUgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisKKyAgICAgZCB4bWxDYXRhbG9nQ29udmVydC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbENhdGFsb2dDb252ZXJ0JykKKworICAgICAgKiBTdHJpY3RseSBtaW5pbWFsIGludGVyZmFjZXMgZm9yIHBlci1kb2N1bWVudCBjYXRhbG9ncyB1c2VkCisgICAgICAqIGJ5IHRoZSBwYXJzZXIuCisKKyAgICAgZCB4bWxDYXRhbG9nRnJlZUxvY2FsLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQ2F0YWxvZ0ZyZWVMb2NhbCcpCisgICAgIGQgIGNhdGFsb2dzICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorCisgICAgIGQgeG1sQ2F0YWxvZ0FkZExvY2FsLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sQ2F0YWxvZ0FkZExvY2FsJykgICAgICAgIHZvaWQgKgorICAgICBkICBjYXRhbG9ncyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKyAgICAgZCAgVVJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgZCB4bWxDYXRhbG9nTG9jYWxSZXNvbHZlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sQ2F0YWxvZ0xvY2FsUmVzb2x2ZScpICAgIHhtbENoYXIgKgorICAgICBkICBjYXRhbG9ncyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKyAgICAgZCAgcHViSUQgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIHN5c0lEICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgIGQgeG1sQ2F0YWxvZ0xvY2FsUmVzb2x2ZVVSSS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbENhdGFsb2dMb2NhbFJlc29sdmVVUkknKSB4bWxDaGFyICoKKyAgICAgZCAgY2F0YWxvZ3MgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCisgICAgIGQgIFVSSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgICAqIFByZWZlcmVuY2Ugc2V0dGluZ3MuCisKKyAgICAgZCB4bWxDYXRhbG9nU2V0RGVidWcuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxDYXRhbG9nU2V0RGVidWcnKQorICAgICBkICBsZXZlbCAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxDYXRhbG9nU2V0RGVmYXVsdFByZWZlci4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbENhdGFsb2dTZXREZWZhdWx0UHJlZmVyJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENhdGFsb2dQcmVmZXIpCisgICAgIGQgIHByZWZlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDYXRhbG9nUHJlZmVyKQorCisgICAgIGQgeG1sQ2F0YWxvZ1NldERlZmF1bHRzLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQ2F0YWxvZ1NldERlZmF1bHRzJykKKyAgICAgZCAgYWxsb3cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENhdGFsb2dBbGxvdykKKworICAgICBkIHhtbENhdGFsb2dHZXREZWZhdWx0cy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbENhdGFsb2dHZXREZWZhdWx0cycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDYXRhbG9nQWxsb3cpCisKKyAgICAgICogREVQUkVDQVRFRCBpbnRlcmZhY2VzCisKKyAgICAgZCB4bWxDYXRhbG9nR2V0U3lzdGVtLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sQ2F0YWxvZ0dldFN5c3RlbScpICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBzeXNJRCAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICBkIHhtbENhdGFsb2dHZXRQdWJsaWMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxDYXRhbG9nR2V0UHVibGljJykgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIHB1YklEICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9DQVRBTE9HX0VOQkxECisgICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhNTF9DQVRBTE9HX0hfXwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9vczQwMC9saWJ4bWxycGcvY2h2YWxpZC5ycGdsZSBiL2xpYnhtbDIvb3M0MDAvbGlieG1scnBnL2NodmFsaWQucnBnbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzMzOTNmNgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvb3M0MDAvbGlieG1scnBnL2NodmFsaWQucnBnbGUKQEAgLTAsMCArMSw5NyBAQAorICAgICAgKiBTdW1tYXJ5OiBVbmljb2RlIGNoYXJhY3RlciByYW5nZSBjaGVja2luZworICAgICAgKiBEZXNjcmlwdGlvbjogdGhpcyBtb2R1bGUgZXhwb3J0cyBpbnRlcmZhY2VzIGZvciB0aGUgY2hhcmFjdGVyCisgICAgICAqICAgICAgICAgICAgICAgcmFuZ2UgdmFsaWRhdGlvbiBBUElzCisgICAgICAqCisgICAgICAqIENvcHk6IFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyAgICAgICoKKyAgICAgICogQXV0aG9yOiBQYXRyaWNrIE1vbm5lcmF0IDxwbUBkYXRhc3BoZXJlLmNoPiwgREFUQVNQSEVSRSBTLkEuCisKKyAgICAgIC9pZiBub3QgZGVmaW5lZChYTUxfQ0hWQUxJRF9IX18pCisgICAgICAvZGVmaW5lIFhNTF9DSFZBTElEX0hfXworCisgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbHZlcnNpb24iCisgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbHN0cmluZyIKKworICAgICAgKiBEZWZpbmUgb3VyIHR5cGVkZWZzIGFuZCBzdHJ1Y3R1cmVzCisKKyAgICAgZCB4bWxDaFNSYW5nZVB0ciAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorCisgICAgIGQgeG1sQ2hTUmFuZ2UgICAgIGRzICAgICAgICAgICAgICAgICAgYmFzZWQoeG1sQ2hTUmFuZ2VQdHIpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24gcXVhbGlmaWVkCisgICAgIGQgIGxvdyAgICAgICAgICAgICAgICAgICAgICAgICAgIDV1IDAKKyAgICAgZCAgaGlnaCAgICAgICAgICAgICAgICAgICAgICAgICAgNXUgMAorCisgICAgIGQgeG1sQ2hMUmFuZ2VQdHIgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKworICAgICBkIHhtbENoTFJhbmdlICAgICBkcyAgICAgICAgICAgICAgICAgIGJhc2VkKHhtbENoTFJhbmdlUHRyKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduIHF1YWxpZmllZAorICAgICBkICBsb3cgICAgICAgICAgICAgICAgICAgICAgICAgIDEwdSAwCisgICAgIGQgIGhpZ2ggICAgICAgICAgICAgICAgICAgICAgICAgMTB1IDAKKworICAgICBkIHhtbENoUmFuZ2VHcm91cFB0ci4uLgorICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisKKyAgICAgZCB4bWxDaFJhbmdlR3JvdXAuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgZHMgICAgICAgICAgICAgICAgICBiYXNlZCh4bWxDaFJhbmdlR3JvdXBQdHIpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24gcXVhbGlmaWVkCisgICAgIGQgIG5iU2hvcnRSYW5nZSAgICAgICAgICAgICAgICAgMTBpIDAKKyAgICAgZCAgbmJMb25nUmFuZ2UgICAgICAgICAgICAgICAgICAxMGkgMAorICAgICBkICBzaG9ydFJhbmdlICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2hTUmFuZ2VQdHIpCisgICAgIGQgIGxvbmdSYW5nZSAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaExSYW5nZVB0cikKKworICAgICAgKiBSYW5nZSBjaGVja2luZyByb3V0aW5lCisKKyAgICAgZCB4bWxDaGFySW5SYW5nZSAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxDaGFySW5SYW5nZScpCisgICAgIGQgdmFsICAgICAgICAgICAgICAgICAgICAgICAgICAgMTB1IDAgdmFsdWUKKyAgICAgZCBncm91cCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENoUmFuZ2VHcm91cFB0cikgICAgICAgICAgICAgY29uc3QKKworICAgICBkIHhtbElzQmFzZUNoYXJHcm91cC4uLgorICAgICBkICAgICAgICAgICAgICAgICBkcyAgICAgICAgICAgICAgICAgIGltcG9ydCgneG1sSXNCYXNlQ2hhckdyb3VwJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlZHMoeG1sQ2hSYW5nZUdyb3VwKSAgICAgICAgICAgICAgY29uc3QKKworICAgICBkIHhtbElzQ2hhckdyb3VwLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGRzICAgICAgICAgICAgICAgICAgaW1wb3J0KCd4bWxJc0NoYXJHcm91cCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZWRzKHhtbENoUmFuZ2VHcm91cCkgICAgICAgICAgICAgIGNvbnN0CisKKyAgICAgZCB4bWxJc0NvbWJpbmluZ0dyb3VwLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGRzICAgICAgICAgICAgICAgICAgaW1wb3J0KCd4bWxJc0NvbWJpbmluZ0dyb3VwJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlZHMoeG1sQ2hSYW5nZUdyb3VwKSAgICAgICAgICAgICAgY29uc3QKKworICAgICBkIHhtbElzRGlnaXRHcm91cC4uLgorICAgICBkICAgICAgICAgICAgICAgICBkcyAgICAgICAgICAgICAgICAgIGltcG9ydCgneG1sSXNEaWdpdEdyb3VwJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlZHMoeG1sQ2hSYW5nZUdyb3VwKSAgICAgICAgICAgICAgY29uc3QKKworICAgICBkIHhtbElzRXh0ZW5kZXJHcm91cC4uLgorICAgICBkICAgICAgICAgICAgICAgICBkcyAgICAgICAgICAgICAgICAgIGltcG9ydCgneG1sSXNFeHRlbmRlckdyb3VwJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlZHMoeG1sQ2hSYW5nZUdyb3VwKSAgICAgICAgICAgICAgY29uc3QKKworICAgICBkIHhtbElzSWRlb2dyYXBoaWNHcm91cC4uLgorICAgICBkICAgICAgICAgICAgICAgICBkcyAgICAgICAgICAgICAgICAgIGltcG9ydCgneG1sSXNJZGVvZ3JhcGhpY0dyb3VwJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlZHMoeG1sQ2hSYW5nZUdyb3VwKSAgICAgICAgICAgICAgY29uc3QKKworICAgICBkIHhtbElzQmFzZUNoYXIgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbElzQmFzZUNoYXInKQorICAgICBkIGNoICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwdSAwIHZhbHVlCisKKyAgICAgZCB4bWxJc0JsYW5rICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxJc0JsYW5rJykKKyAgICAgZCBjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMHUgMCB2YWx1ZQorCisgICAgIGQgeG1sSXNDaGFyICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sSXNDaGFyJykKKyAgICAgZCBjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMHUgMCB2YWx1ZQorCisgICAgIGQgeG1sSXNDb21iaW5pbmcgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sSXNDb21iaW5pbmcnKQorICAgICBkIGNoICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwdSAwIHZhbHVlCisKKyAgICAgZCB4bWxJc0RpZ2l0ICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxJc0RpZ2l0JykKKyAgICAgZCBjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMHUgMCB2YWx1ZQorCisgICAgIGQgeG1sSXNFeHRlbmRlciAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sSXNFeHRlbmRlcicpCisgICAgIGQgY2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgMTB1IDAgdmFsdWUKKworICAgICBkIHhtbElzSWRlb2dyYXBoaWMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxJc0lkZW9ncmFwaGljJykKKyAgICAgZCBjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMHUgMCB2YWx1ZQorCisgICAgIGQgeG1sSXNQdWJpZENoYXIgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sSXNQdWJpZENoYXInKQorICAgICBkIGNoICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwdSAwIHZhbHVlCisKKyAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWE1MX0NIVkFMSURfSF9fCmRpZmYgLS1naXQgYS9saWJ4bWwyL29zNDAwL2xpYnhtbHJwZy9kZWJ1Z1hNTC5ycGdsZSBiL2xpYnhtbDIvb3M0MDAvbGlieG1scnBnL2RlYnVnWE1MLnJwZ2xlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUwMDVhMmQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL29zNDAwL2xpYnhtbHJwZy9kZWJ1Z1hNTC5ycGdsZQpAQCAtMCwwICsxLDI0MSBAQAorICAgICAgKiBTdW1tYXJ5OiBUcmVlIGRlYnVnZ2luZyBBUElzCisgICAgICAqIERlc2NyaXB0aW9uOiBJbnRlcmZhY2VzIHRvIGEgc2V0IG9mIHJvdXRpbmVzIHVzZWQgZm9yIGRlYnVnZ2luZyB0aGUgdHJlZQorICAgICAgKiAgICAgICAgICAgICAgcHJvZHVjZWQgYnkgdGhlIFhNTCBwYXJzZXIuCisgICAgICAqCisgICAgICAqIENvcHk6IFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyAgICAgICoKKyAgICAgICogQXV0aG9yOiBQYXRyaWNrIE1vbm5lcmF0IDxwbUBkYXRhc3BoZXJlLmNoPiwgREFUQVNQSEVSRSBTLkEuCisKKyAgICAgIC9pZiBub3QgZGVmaW5lZChERUJVR19YTUxfXykKKyAgICAgIC9kZWZpbmUgREVCVUdfWE1MX18KKworICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWx2ZXJzaW9uIgorICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy90cmVlIgorCisgICAgICAvaWYgZGVmaW5lZChMSUJYTUxfREVCVUdfRU5BQkxFRCkKKworICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94cGF0aCIKKworICAgICAgKiBUaGUgc3RhbmRhcmQgRHVtcCByb3V0aW5lcy4KKworICAgICBkIHhtbERlYnVnRHVtcFN0cmluZy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbERlYnVnRHVtcFN0cmluZycpCisgICAgIGQgIG91dHB1dCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZJTEUgKgorICAgICBkICBzdHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICBkIHhtbERlYnVnRHVtcEF0dHIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxEZWJ1Z0R1bXBBdHRyJykKKyAgICAgZCAgb3V0cHV0ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRklMRSAqCisgICAgIGQgIGF0dHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxBdHRyUHRyKQorICAgICBkICBkZXB0aCAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxEZWJ1Z0R1bXBBdHRyTGlzdC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbERlYnVnRHVtcEF0dHJMaXN0JykKKyAgICAgZCAgb3V0cHV0ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRklMRSAqCisgICAgIGQgIGF0dHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxBdHRyUHRyKQorICAgICBkICBkZXB0aCAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxEZWJ1Z0R1bXBPbmVOb2RlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRGVidWdEdW1wT25lTm9kZScpCisgICAgIGQgIG91dHB1dCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZJTEUgKgorICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKyAgICAgZCAgZGVwdGggICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sRGVidWdEdW1wTm9kZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbERlYnVnRHVtcE5vZGUnKQorICAgICBkICBvdXRwdXQgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGSUxFICoKKyAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisgICAgIGQgIGRlcHRoICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbERlYnVnRHVtcE5vZGVMaXN0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRGVidWdEdW1wTm9kZUxpc3QnKQorICAgICBkICBvdXRwdXQgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGSUxFICoKKyAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisgICAgIGQgIGRlcHRoICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbERlYnVnRHVtcERvY3VtZW50SGVhZC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbERlYnVnRHVtcERvY3VtZW50SGVhZCcpCisgICAgIGQgIG91dHB1dCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZJTEUgKgorICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQorCisgICAgIGQgeG1sRGVidWdEdW1wRG9jdW1lbnQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxEZWJ1Z0R1bXBEb2N1bWVudCcpCisgICAgIGQgIG91dHB1dCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZJTEUgKgorICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQorCisgICAgIGQgeG1sRGVidWdEdW1wRFRELi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRGVidWdEdW1wRFREJykKKyAgICAgZCAgb3V0cHV0ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRklMRSAqCisgICAgIGQgIGR0ZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEdGRQdHIpCisKKyAgICAgZCB4bWxEZWJ1Z0R1bXBFbnRpdGllcy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbERlYnVnRHVtcEVudGl0aWVzJykKKyAgICAgZCAgb3V0cHV0ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRklMRSAqCisgICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCisKKyAgICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKKyAgICAgICogICAgICAgICAgICAgICAgICAgICAgQ2hlY2tpbmcgcm91dGluZXMgICAgICAgICAgICAgICAgICAgICAgICoKKyAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKKyAgICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKworICAgICBkIHhtbERlYnVnQ2hlY2tEb2N1bWVudC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbERlYnVnQ2hlY2tEb2N1bWVudCcpCisgICAgIGQgIG91dHB1dCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZJTEUgKgorICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQorCisgICAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCisgICAgICAqICAgICAgICAgICAgICAgICAgICAgIFhNTCBzaGVsbCBoZWxwZXJzICAgICAgICAgICAgICAgICAgICAgICAqCisgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCisgICAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisKKyAgICAgZCB4bWxMc09uZU5vZGUgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxMc09uZU5vZGUnKQorICAgICBkICBvdXRwdXQgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGSUxFICoKKyAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisKKyAgICAgZCB4bWxMc0NvdW50Tm9kZSAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxMc0NvdW50Tm9kZScpCisgICAgIGQgIG5vZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQorCisgICAgIGQgeG1sQm9vbFRvVGV4dCAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sQm9vbFRvVGV4dCcpICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBib29sdmFsICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKKyAgICAgICogICAgICAgVGhlIFhNTCBzaGVsbCByZWxhdGVkIHN0cnVjdHVyZXMgYW5kIGZ1bmN0aW9ucyAgICAgICAgICoKKyAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKKyAgICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKworICAgICAgL2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisKKyAgICAgICogeG1sU2hlbGxSZWFkbGluZUZ1bmM6CisgICAgICAqIEBwcm9tcHQ6ICBhIHN0cmluZyBwcm9tcHQKKyAgICAgICoKKyAgICAgICogVGhpcyBpcyBhIGdlbmVyaWMgc2lnbmF0dXJlIGZvciB0aGUgWE1MIHNoZWxsIGlucHV0IGZ1bmN0aW9uLgorICAgICAgKgorICAgICAgKiBSZXR1cm5zIGEgc3RyaW5nIHdoaWNoIHdpbGwgYmUgZnJlZWQgYnkgdGhlIFNoZWxsLgorCisgICAgIGQgeG1sU2hlbGxSZWFkbGluZUZ1bmMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NwdHIKKworICAgICAgKiB4bWxTaGVsbEN0eHQ6CisgICAgICAqCisgICAgICAqIEEgZGVidWdnaW5nIHNoZWxsIGNvbnRleHQuCisgICAgICAqIFRPRE86IGFkZCB0aGUgZGVmaW5lZCBmdW5jdGlvbiB0YWJsZXMuCisKKyAgICAgZCB4bWxTaGVsbEN0eHRQdHIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorCisgICAgIGQgeG1sU2NoZWxsQ3R4dCAgIGRzICAgICAgICAgICAgICAgICAgYmFzZWQoeG1sU2hlbGxDdHh0UHRyKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduIHF1YWxpZmllZAorICAgICBkICBmaWxlbmFtZSAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyICoKKyAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbERvY1B0cikKKyAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpCisgICAgIGQgIHBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxYUGF0aENvbnRleHRQdHIpCisgICAgIGQgIGxvYWRlZCAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAKKyAgICAgZCAgb3V0cHV0ICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRklMRSAqCisgICAgIGQgIGlucHV0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTaGVsbFJlYWRsaW5lRnVuYykKKworICAgICAgKiB4bWxTaGVsbENtZDoKKyAgICAgICogQGN0eHQ6ICBhIHNoZWxsIGNvbnRleHQKKyAgICAgICogQGFyZzogIGEgc3RyaW5nIGFyZ3VtZW50CisgICAgICAqIEBub2RlOiAgYSBmaXJzdCBub2RlCisgICAgICAqIEBub2RlMjogIGEgc2Vjb25kIG5vZGUKKyAgICAgICoKKyAgICAgICogVGhpcyBpcyBhIGdlbmVyaWMgc2lnbmF0dXJlIGZvciB0aGUgWE1MIHNoZWxsIGZ1bmN0aW9ucy4KKyAgICAgICoKKyAgICAgICogUmV0dXJucyBhbiBpbnQsIG5lZ2F0aXZlIHJldHVybnMgaW5kaWNhdGluZyBlcnJvcnMuCisKKyAgICAgZCB4bWxTaGVsbENtZCAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NwdHIKKworICAgICBkIHhtbFNoZWxsUHJpbnRYUGF0aEVycm9yLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2hlbGxQcmludFhQYXRoRXJyb3InKQorICAgICBkICBlcnJvclR5cGUgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIGFyZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorCisgICAgIGQgeG1sU2hlbGxQcmludFhQYXRoUmVzdWx0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2hlbGxQcmludFhQYXRoUmVzdWx0JykKKyAgICAgZCAgbGlzdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoT2JqZWN0UHRyKQorCisgICAgIGQgeG1sU2hlbGxMaXN0ICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sU2hlbGxMaXN0JykKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNoZWxsQ3R4dFB0cikKKyAgICAgZCAgYXJnICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY2hhciAqCisgICAgIGQgIG5vZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQorICAgICBkICBub2RlMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKworICAgICBkIHhtbFNoZWxsQmFzZSAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFNoZWxsQmFzZScpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTaGVsbEN0eHRQdHIpCisgICAgIGQgIGFyZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNoYXIgKgorICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKyAgICAgZCAgbm9kZTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisKKyAgICAgZCB4bWxTaGVsbERpciAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxTaGVsbERpcicpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTaGVsbEN0eHRQdHIpCisgICAgIGQgIGFyZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNoYXIgKgorICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKyAgICAgZCAgbm9kZTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisKKyAgICAgZCB4bWxTaGVsbExvYWQgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxTaGVsbExvYWQnKQorICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2hlbGxDdHh0UHRyKQorICAgICBkICBmaWxlbmFtZSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjaGFyICoKKyAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisgICAgIGQgIG5vZGUyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQorCisgICAgICAvaWYgZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpCisgICAgIGQgeG1sU2hlbGxQcmludE5vZGUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTaGVsbFByaW50Tm9kZScpCisgICAgIGQgIG5vZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQorCisgICAgIGQgeG1sU2hlbGxDYXQgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sU2hlbGxDYXQnKQorICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2hlbGxDdHh0UHRyKQorICAgICBkICBhcmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjaGFyICoKKyAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisgICAgIGQgIG5vZGUyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQorCisgICAgIGQgeG1sU2hlbGxXcml0ZSAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sU2hlbGxXcml0ZScpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTaGVsbEN0eHRQdHIpCisgICAgIGQgIGZpbGVuYW1lICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNoYXIgKgorICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKyAgICAgZCAgbm9kZTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisKKyAgICAgZCB4bWxTaGVsbFNhdmUgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxTaGVsbFNhdmUnKQorICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2hlbGxDdHh0UHRyKQorICAgICBkICBmaWxlbmFtZSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjaGFyICoKKyAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisgICAgIGQgIG5vZGUyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQorICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTUxfT1VUUFVUX0VOQUJMRAorCisgICAgICAvaWYgZGVmaW5lZChMSUJYTUxfVkFMSURfRU5BQkxFRCkKKyAgICAgZCB4bWxTaGVsbFZhbGlkYXRlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sU2hlbGxWYWxpZGF0ZScpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTaGVsbEN0eHRQdHIpCisgICAgIGQgIGR0ZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNoYXIgKgorICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKyAgICAgZCAgbm9kZTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisgICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9WQUxJRF9FTkFCTEVECisKKyAgICAgZCB4bWxTaGVsbER1ICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxTaGVsbER1JykKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNoZWxsQ3R4dFB0cikKKyAgICAgZCAgYXJnICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY2hhciAqCisgICAgIGQgIHRyZWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQorICAgICBkICBub2RlMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKworICAgICBkIHhtbFNoZWxsUHdkICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFNoZWxsUHdkJykKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNoZWxsQ3R4dFB0cikKKyAgICAgZCAgYnVmZmVyICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY2hhciAqCisgICAgIGQgIG5vZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQorICAgICBkICBub2RlMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKworICAgICAgKiBUaGUgU2hlbGwgaW50ZXJmYWNlLgorCisgICAgIGQgeG1sU2hlbGwgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2hlbGwnKQorICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQorICAgICBkICBmaWxlbmFtZSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjaGFyICoKKyAgICAgZCAgaW5wdXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNoZWxsUmVhZGxpbmVGdW5jKQorICAgICBkICBvdXRwdXQgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGSUxFICoKKworICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTUxfWFBBVEhfRU5BQkxFRAorICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTUxfREVCVUdfRU5BQkxFRAorICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBERUJVR19YTUxfXwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9vczQwMC9saWJ4bWxycGcvZGljdC5ycGdsZSBiL2xpYnhtbDIvb3M0MDAvbGlieG1scnBnL2RpY3QucnBnbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2QzNmY1MAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvb3M0MDAvbGlieG1scnBnL2RpY3QucnBnbGUKQEAgLTAsMCArMSw3OCBAQAorICAgICAgKiBTdW1tYXJ5OiBzdHJpbmcgZGljdGlvbmFyeQorICAgICAgKiBEZXNjcmlwdGlvbjogZGljdGlvbmFyeSBvZiByZXVzYWJsZSBzdHJpbmdzLCBqdXN0IHVzZWQgdG8gYXZvaWQKKyAgICAgICogICAgICAgICBhbGxvY2F0aW9uIGFuZCBmcmVlaW5nIG9wZXJhdGlvbnMuCisgICAgICAqCisgICAgICAqIENvcHk6IFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyAgICAgICoKKyAgICAgICogQXV0aG9yOiBQYXRyaWNrIE1vbm5lcmF0IDxwbUBkYXRhc3BoZXJlLmNoPiwgREFUQVNQSEVSRSBTLkEuCisKKyAgICAgIC9pZiBub3QgZGVmaW5lZChYTUxfRElDVF9IX18pCisgICAgICAvZGVmaW5lIFhNTF9ESUNUX0hfXworCisgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbHZlcnNpb24iCisgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3RyZWUiCisKKyAgICAgICogVGhlIGRpY3Rpb25hcnkuCisKKyAgICAgZCB4bWxEaWN0UHRyICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorCisgICAgICAqIEluaXRpYWxpemVyCisKKyAgICAgZCB4bWxJbml0aWFsaXplRGljdC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbEluaXRpYWxpemVEaWN0JykKKworICAgICAgKiBDb25zdHJ1Y3RvciBhbmQgZGVzdHJ1Y3Rvci4KKworICAgICBkIHhtbERpY3RDcmVhdGUgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbERpY3RDcmVhdGUnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRGljdFB0cikKKworICAgICBkIHhtbERpY3RTZXRMaW1pdC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwdSAwIGV4dHByb2MoJ3htbERpY3RTZXRMaW1pdCcpICAgICAgICAgICBzaXplX3QKKyAgICAgZCAgZGljdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERpY3RQdHIpCisgICAgIGQgIGxpbWl0ICAgICAgICAgICAgICAgICAgICAgICAgMTB1IDAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdAorCisgICAgIGQgeG1sRGljdEdldFVzYWdlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTB1IDAgZXh0cHJvYygneG1sRGljdEdldFVzYWdlJykgICAgICAgICAgIHNpemVfdAorICAgICBkICBkaWN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRGljdFB0cikKKworICAgICBkIHhtbERpY3RDcmVhdGVTdWIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxEaWN0Q3JlYXRlU3ViJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbERpY3RQdHIpCisgICAgIGQgIHN1YiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEaWN0UHRyKQorCisgICAgIGQgeG1sRGljdFJlZmVyZW5jZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbERpY3RHZXRSZWZlcmVuY2UnKQorICAgICBkICBkaWN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRGljdFB0cikKKworICAgICBkIHhtbERpY3RGcmVlICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbERpY3RGcmVlJykKKyAgICAgZCAgZGljdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERpY3RQdHIpCisKKyAgICAgICogTG9va3VwIG9mIGVudHJ5IGluIHRoZSBkaWN0aW9uYXJ5LgorCisgICAgIGQgeG1sRGljdExvb2t1cCAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sRGljdExvb2t1cCcpICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBkaWN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRGljdFB0cikKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbERpY3RFeGlzdHMgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbERpY3RFeGlzdHMnKSAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgZGljdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERpY3RQdHIpCisgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxEaWN0UUxvb2t1cCAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxEaWN0UUxvb2t1cCcpICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIGRpY3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEaWN0UHRyKQorICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgZCB4bWxEaWN0T3ducyAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxEaWN0T3ducycpCisgICAgIGQgIGRpY3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEaWN0UHRyKQorICAgICBkICBzdHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICBkIHhtbERpY3RTaXplICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbERpY3RTaXplJykKKyAgICAgZCAgZGljdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERpY3RQdHIpCisKKyAgICAgICogQ2xlYW51cCBmdW5jdGlvbgorCisgICAgIGQgeG1sRGljdENsZWFudXAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRGljdENsZWFudXAnKQorCisgICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICEgWE1MX0RJQ1RfSF9fCmRpZmYgLS1naXQgYS9saWJ4bWwyL29zNDAwL2xpYnhtbHJwZy9lbmNvZGluZy5ycGdsZSBiL2xpYnhtbDIvb3M0MDAvbGlieG1scnBnL2VuY29kaW5nLnJwZ2xlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgwOTcwZmIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL29zNDAwL2xpYnhtbHJwZy9lbmNvZGluZy5ycGdsZQpAQCAtMCwwICsxLDI3NCBAQAorICAgICAgKiBTdW1tYXJ5OiBpbnRlcmZhY2UgZm9yIHRoZSBlbmNvZGluZyBjb252ZXJzaW9uIGZ1bmN0aW9ucworICAgICAgKiBEZXNjcmlwdGlvbjogaW50ZXJmYWNlIGZvciB0aGUgZW5jb2RpbmcgY29udmVyc2lvbiBmdW5jdGlvbnMgbmVlZGVkIGZvcgorICAgICAgKiAgICAgICAgICAgICAgWE1MIGJhc2ljIGVuY29kaW5nIGFuZCBpY29udigpIHN1cHBvcnQuCisgICAgICAqCisgICAgICAqIFJlbGF0ZWQgc3BlY3MgYXJlCisgICAgICAqIHJmYzIwNDQgICAgICAgIChVVEYtOCBhbmQgVVRGLTE2KSBGLiBZZXJnZWF1IEFsaXMgVGVjaG5vbG9naWVzCisgICAgICAqIFtJU08tMTA2NDZdICAgIFVURi04IGFuZCBVVEYtMTYgaW4gQW5uZXhlcworICAgICAgKiBbSVNPLTg4NTktMV0gICBJU08gTGF0aW4tMSBjaGFyYWN0ZXJzIGNvZGVzLgorICAgICAgKiBbVU5JQ09ERV0gICAgICBUaGUgVW5pY29kZSBDb25zb3J0aXVtLCAiVGhlIFVuaWNvZGUgU3RhbmRhcmQgLS0KKyAgICAgICogICAgICAgICAgICAgICAgV29ybGR3aWRlIENoYXJhY3RlciBFbmNvZGluZyAtLSBWZXJzaW9uIDEuMCIsIEFkZGlzb24tCisgICAgICAqICAgICAgICAgICAgICAgIFdlc2xleSwgVm9sdW1lIDEsIDE5OTEsIFZvbHVtZSAyLCAxOTkyLiAgVVRGLTggaXMKKyAgICAgICogICAgICAgICAgICAgICAgZGVzY3JpYmVkIGluIFVuaWNvZGUgVGVjaG5pY2FsIFJlcG9ydCAjNC4KKyAgICAgICogW1VTLUFTQ0lJXSAgICAgQ29kZWQgQ2hhcmFjdGVyIFNldC0tNy1iaXQgQW1lcmljYW4gU3RhbmRhcmQgQ29kZSBmb3IKKyAgICAgICogICAgICAgICAgICAgICAgSW5mb3JtYXRpb24gSW50ZXJjaGFuZ2UsIEFOU0kgWDMuNC0xOTg2LgorICAgICAgKgorICAgICAgKiBDb3B5OiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisgICAgICAqCisgICAgICAqIEF1dGhvcjogUGF0cmljayBNb25uZXJhdCA8cG1AZGF0YXNwaGVyZS5jaD4sIERBVEFTUEhFUkUgUy5BLgorCisgICAgICAvaWYgbm90IGRlZmluZWQoWE1MX0NIQVJfRU5DT0RJTkdfSF9fKQorICAgICAgL2RlZmluZSBYTUxfQ0hBUl9FTkNPRElOR19IX18KKworICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWx2ZXJzaW9uIgorCisgICAgICAqIHhtbENoYXJFbmNvZGluZzoKKyAgICAgICoKKyAgICAgICogUHJlZGVmaW5lZCB2YWx1ZXMgZm9yIHNvbWUgc3RhbmRhcmQgZW5jb2RpbmdzLgorICAgICAgKiBMaWJ4bWwgZG9lcyBub3QgZG8gYmVmb3JlaGFuZCB0cmFuc2xhdGlvbiBvbiBVVEY4IGFuZCBJU09MYXRpblguCisgICAgICAqIEl0IGFsc28gc3VwcG9ydHMgQVNDSUksIElTTy04ODU5LTEsIGFuZCBVVEYxNiAoTEUgYW5kIEJFKSBieSBkZWZhdWx0LgorICAgICAgKgorICAgICAgKiBBbnl0aGluZyBlbHNlIHdvdWxkIGhhdmUgdG8gYmUgdHJhbnNsYXRlZCB0byBVVEY4IGJlZm9yZSBiZWluZworICAgICAgKiBnaXZlbiB0byB0aGUgcGFyc2VyIGl0c2VsZi4gVGhlIEJPTSBmb3IgVVRGMTYgYW5kIHRoZSBlbmNvZGluZworICAgICAgKiBkZWNsYXJhdGlvbiBhcmUgbG9va2VkIGF0IGFuZCBhIGNvbnZlcnRlciBpcyBsb29rZWQgZm9yIGF0IHRoYXQKKyAgICAgICogcG9pbnQuIElmIG5vdCBmb3VuZCB0aGUgcGFyc2VyIHN0b3BzIGhlcmUgYXMgYXNrZWQgYnkgdGhlIFhNTCBSRUMuIEEKKyAgICAgICogY29udmVydGVyIGNhbiBiZSByZWdpc3RlcmVkIGJ5IHRoZSB1c2VyCisgICAgICAqIHhtbFJlZ2lzdGVyQ2hhckVuY29kaW5nSGFuZGxlciBidXQgdGhlIGN1cnJlbnQgZm9ybSBkb2Vzbid0IGFsbG93CisgICAgICAqIHN0YXRlZnVsIHRyYW5zY29kaW5nIChhIHNlcmlvdXMgcHJvYmxlbSBhZ3JlZWQgISkuIElmIGljb252IGhhcyBiZWVuCisgICAgICAqIGZvdW5kIGl0IHdpbGwgYmUgdXNlZCBhdXRvbWF0aWNhbGx5IGFuZCBhbGxvdyBzdGF0ZWZ1bCB0cmFuc2NvZGluZywKKyAgICAgICogdGhlIHNpbXBsZXN0IGlzIHRoZW4gdG8gYmUgc3VyZSB0byBlbmFibGUgaWNvbnYgYW5kIHRvIHByb3ZpZGUgaWNvbnYKKyAgICAgICogbGlicyBmb3IgdGhlIGVuY29kaW5nIHN1cHBvcnQgbmVlZGVkLgorICAgICAgKgorICAgICAgKiBOb3RlIHRoYXQgdGhlIGdlbmVyaWMgIlVURi0xNiIgaXMgbm90IGEgcHJlZGVmaW5lZCB2YWx1ZS4gIEluc3RlYWQsIG9ubHkKKyAgICAgICogdGhlIHNwZWNpZmljIFVURi0xNkxFIGFuZCBVVEYtMTZCRSBhcmUgcHJlc2VudC4KKworICAgICBkIHhtbENoYXJFbmNvZGluZy4uLgorICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgIDEwaSAwIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpICAgICAgICAgICBlbnVtCisgICAgIGQgIFhNTF9DSEFSX0VOQ09ESU5HX0VSUk9SLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vIGVuY29kaW5nIGRldGVjdGVkCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgLTEKKyAgICAgZCAgWE1MX0NIQVJfRU5DT0RJTkdfTk9ORS4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTm8gZW5jb2RpbmcgZGV0ZWN0ZWQKKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAwCisgICAgIGQgIFhNTF9DSEFSX0VOQ09ESU5HX1VURjguLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVURi04CisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMQorICAgICBkICBYTUxfQ0hBUl9FTkNPRElOR19VVEYxNkxFLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVVEYtMTYgbGl0dGxlIGVuZGlhbgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDIKKyAgICAgZCAgWE1MX0NIQVJfRU5DT0RJTkdfVVRGMTZCRS4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVVRGLTE2IGJpZyBlbmRpYW4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzCisgICAgIGQgIFhNTF9DSEFSX0VOQ09ESU5HX1VDUzRMRS4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVDUy00IGxpdHRsZSBlbmRpYW4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA0CisgICAgIGQgIFhNTF9DSEFSX0VOQ09ESU5HX1VDUzRCRS4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVDUy00IGJpZyBlbmRpYW4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1CisgICAgIGQgIFhNTF9DSEFSX0VOQ09ESU5HX0VCQ0RJQy4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVCQ0RJQyB1aCEKKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA2CisgICAgIGQgIFhNTF9DSEFSX0VOQ09ESU5HX1VDUzRfMjE0My4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVDUy00IHVudXN1YWwgb3JkZXIKKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA3CisgICAgIGQgIFhNTF9DSEFSX0VOQ09ESU5HX1VDUzRfMzQxMi4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVDUy00IHVudXN1YWwgb3JkZXIKKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA4CisgICAgIGQgIFhNTF9DSEFSX0VOQ09ESU5HX1VDUzIuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVDUy0yCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgOQorICAgICBkICBYTUxfQ0hBUl9FTkNPRElOR184ODU5XzEuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJU08tODg1OS0xIElTT0xhdGluMQorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwCisgICAgIGQgIFhNTF9DSEFSX0VOQ09ESU5HXzg4NTlfMi4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElTTy04ODU5LTIgSVNPTGF0aW4yCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTEKKyAgICAgZCAgWE1MX0NIQVJfRU5DT0RJTkdfODg1OV8zLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSVNPLTg4NTktMworICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEyCisgICAgIGQgIFhNTF9DSEFSX0VOQ09ESU5HXzg4NTlfNC4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElTTy04ODU5LTQKKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMworICAgICBkICBYTUxfQ0hBUl9FTkNPRElOR184ODU5XzUuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJU08tODg1OS01CisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTQKKyAgICAgZCAgWE1MX0NIQVJfRU5DT0RJTkdfODg1OV82Li4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSVNPLTg4NTktNgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE1CisgICAgIGQgIFhNTF9DSEFSX0VOQ09ESU5HXzg4NTlfNy4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElTTy04ODU5LTcKKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNgorICAgICBkICBYTUxfQ0hBUl9FTkNPRElOR184ODU5XzguLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJU08tODg1OS04CisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTcKKyAgICAgZCAgWE1MX0NIQVJfRU5DT0RJTkdfODg1OV85Li4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSVNPLTg4NTktOQorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE4CisgICAgIGQgIFhNTF9DSEFSX0VOQ09ESU5HXzIwMjJfSlAuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElTTy0yMDIyLUpQCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTkKKyAgICAgZCAgWE1MX0NIQVJfRU5DT0RJTkdfU0hJRlRfSklTLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2hpZnRfSklTCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMjAKKyAgICAgZCAgWE1MX0NIQVJfRU5DT0RJTkdfRVVDX0pQLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRVVDLUpQCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMjEKKyAgICAgZCAgWE1MX0NIQVJfRU5DT0RJTkdfQVNDSUkuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHVyZSBBU0NJSQorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDIyCisKKyAgICAgICogeG1sQ2hhckVuY29kaW5nSW5wdXRGdW5jOgorICAgICAgKiBAb3V0OiAgYSBwb2ludGVyIHRvIGFuIGFycmF5IG9mIGJ5dGVzIHRvIHN0b3JlIHRoZSBVVEYtOCByZXN1bHQKKyAgICAgICogQG91dGxlbjogIHRoZSBsZW5ndGggb2YgQG91dAorICAgICAgKiBAaW46ICBhIHBvaW50ZXIgdG8gYW4gYXJyYXkgb2YgY2hhcnMgaW4gdGhlIG9yaWdpbmFsIGVuY29kaW5nCisgICAgICAqIEBpbmxlbjogIHRoZSBsZW5ndGggb2YgQGluCisgICAgICAqCisgICAgICAqIFRha2UgYSBibG9jayBvZiBjaGFycyBpbiB0aGUgb3JpZ2luYWwgZW5jb2RpbmcgYW5kIHRyeSB0byBjb252ZXJ0CisgICAgICAqIGl0IHRvIGFuIFVURi04IGJsb2NrIG9mIGNoYXJzIG91dC4KKyAgICAgICoKKyAgICAgICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIGJ5dGVzIHdyaXR0ZW4sIC0xIGlmIGxhY2sgb2Ygc3BhY2UsIG9yIC0yCisgICAgICAqICAgICBpZiB0aGUgdHJhbnNjb2RpbmcgZmFpbGVkLgorICAgICAgKiBUaGUgdmFsdWUgb2YgQGlubGVuIGFmdGVyIHJldHVybiBpcyB0aGUgbnVtYmVyIG9mIG9jdGV0cyBjb25zdW1lZAorICAgICAgKiAgICAgaWYgdGhlIHJldHVybiB2YWx1ZSBpcyBwb3NpdGl2ZSwgZWxzZSB1bnByZWRpY3RpYWJsZS4KKyAgICAgICogVGhlIHZhbHVlIG9mIEBvdXRsZW4gYWZ0ZXIgcmV0dXJuIGlzIHRoZSBudW1iZXIgb2Ygb2N0ZXRzIGNvbnN1bWVkLgorCisgICAgIGQgeG1sQ2hhckVuY29kaW5nSW5wdXRGdW5jLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jcHRyCisKKyAgICAgICogeG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYzoKKyAgICAgICogQG91dDogIGEgcG9pbnRlciB0byBhbiBhcnJheSBvZiBieXRlcyB0byBzdG9yZSB0aGUgcmVzdWx0CisgICAgICAqIEBvdXRsZW46ICB0aGUgbGVuZ3RoIG9mIEBvdXQKKyAgICAgICogQGluOiAgYSBwb2ludGVyIHRvIGFuIGFycmF5IG9mIFVURi04IGNoYXJzCisgICAgICAqIEBpbmxlbjogIHRoZSBsZW5ndGggb2YgQGluCisgICAgICAqCisgICAgICAqIFRha2UgYSBibG9jayBvZiBVVEYtOCBjaGFycyBpbiBhbmQgdHJ5IHRvIGNvbnZlcnQgaXQgdG8gYW5vdGhlcgorICAgICAgKiBlbmNvZGluZy4KKyAgICAgICogTm90ZTogYSBmaXJzdCBjYWxsIGRlc2lnbmVkIHRvIHByb2R1Y2UgaGVhZGluZyBpbmZvIGlzIGNhbGxlZCB3aXRoCisgICAgICAqIGluID0gTlVMTC4gSWYgc3RhdGVmdWwgdGhpcyBzaG91bGQgYWxzbyBpbml0aWFsaXplIHRoZSBlbmNvZGVyIHN0YXRlLgorICAgICAgKgorICAgICAgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgYnl0ZXMgd3JpdHRlbiwgLTEgaWYgbGFjayBvZiBzcGFjZSwgb3IgLTIKKyAgICAgICogICAgIGlmIHRoZSB0cmFuc2NvZGluZyBmYWlsZWQuCisgICAgICAqIFRoZSB2YWx1ZSBvZiBAaW5sZW4gYWZ0ZXIgcmV0dXJuIGlzIHRoZSBudW1iZXIgb2Ygb2N0ZXRzIGNvbnN1bWVkCisgICAgICAqICAgICBpZiB0aGUgcmV0dXJuIHZhbHVlIGlzIHBvc2l0aXZlLCBlbHNlIHVucHJlZGljdGlhYmxlLgorICAgICAgKiBUaGUgdmFsdWUgb2YgQG91dGxlbiBhZnRlciByZXR1cm4gaXMgdGhlIG51bWJlciBvZiBvY3RldHMgcHJvZHVjZWQuCisKKyAgICAgZCB4bWxDaGFyRW5jb2RpbmdPdXRwdXRGdW5jLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jcHRyCisKKyAgICAgICogQmxvY2sgZGVmaW5pbmcgdGhlIGhhbmRsZXJzIGZvciBub24gVVRGLTggZW5jb2RpbmdzLgorICAgICAgKiBJZiBpY29udiBpcyBzdXBwb3J0ZWQsIHRoZXJlIGFyZSB0d28gZXh0cmEgZmllbGRzLgorCisgICAgICAvaWYgZGVmaW5lZChMSUJYTUxfSUNVX0VOQUJMRUQpCisgICAgIGQgdWNvbnZfdCAgICAgICAgIGRzICAgICAgICAgICAgICAgICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbiBxdWFsaWZpZWQKKyAgICAgZCAgdWNvbnYgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUNvbnZlcnRlciAqCisgICAgIGQgIHV0ZjggICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVDb252ZXJ0ZXIgKgorICAgICAgL2VuZGlmCisKKyAgICAgZCB4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKworICAgICBkIHhtbENoYXJFbmNvZGluZ0hhbmRsZXIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgZHMgICAgICAgICAgICAgICAgICBiYXNlZCh4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduIHF1YWxpZmllZAorICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyICoKKyAgICAgZCAgaW5wdXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENoYXJFbmNvZGluZ0lucHV0RnVuYykKKyAgICAgZCAgb3V0cHV0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENoYXJFbmNvZGluZ091dHB1dEZ1bmMpCisgICAgICAqCisgICAgICAvaWYgZGVmaW5lZChMSUJYTUxfSUNPTlZfRU5BQkxFRCkKKyAgICAgZCAgaWNvbnZfaW4gICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbnZfdAorICAgICBkICBpY29udl9vdXQgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29udl90CisgICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9JQ09OVl9FTkFCTEVECisgICAgICAqCisgICAgICAvaWYgZGVmaW5lZChMSUJYTUxfSUNVX0VOQUJMRUQpCisgICAgIGQgIHVjb252X2luICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVjb252X3QgKgorICAgICBkICB1Y29udl9vdXQgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1Y29udl90ICoKKyAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCWE1MX0lDVV9FTkFCTEVECisKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcvdHJlZSIKKworICAgICAgKiBJbnRlcmZhY2VzIGZvciBlbmNvZGluZyBoYW5kbGVycy4KKworICAgICBkIHhtbEluaXRDaGFyRW5jb2RpbmdIYW5kbGVycy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxJbml0Q2hhckVuY29kaW5nSGFuZGxlcnMnKQorCisgICAgIGQgeG1sQ2xlYW51cENoYXJFbmNvZGluZ0hhbmRsZXJzLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbENsZWFudXBDaGFyRW5jb2RpbmdIYW5kbGVycycpCisKKyAgICAgZCB4bWxSZWdpc3RlckNoYXJFbmNvZGluZ0hhbmRsZXIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sUmVnaXN0ZXJDaGFyRW5jb2RpbmdIYW5kbGVyJykKKyAgICAgZCAgaGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIpCisKKyAgICAgZCB4bWxHZXRDaGFyRW5jb2RpbmdIYW5kbGVyLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sR2V0Q2hhckVuY29kaW5nSGFuZGxlcicpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyKQorICAgICBkICBlbmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2hhckVuY29kaW5nKQorCisgICAgIGQgeG1sRmluZENoYXJFbmNvZGluZ0hhbmRsZXIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxGaW5kQ2hhckVuY29kaW5nSGFuZGxlcicpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyKQorICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKworICAgICBkIHhtbE5ld0NoYXJFbmNvZGluZ0hhbmRsZXIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOZXdDaGFyRW5jb2RpbmdIYW5kbGVyJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIpCisgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBpbnB1dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2hhckVuY29kaW5nSW5wdXRGdW5jKQorICAgICBkICBvdXRwdXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYykKKworICAgICAgKiBJbnRlcmZhY2VzIGZvciBlbmNvZGluZyBuYW1lcyBhbmQgYWxpYXNlcy4KKworICAgICBkIHhtbEFkZEVuY29kaW5nQWxpYXMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxBZGRFbmNvZGluZ0FsaWFzJykKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIGFsaWFzICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorCisgICAgIGQgeG1sRGVsRW5jb2RpbmdBbGlhcy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbERlbEVuY29kaW5nQWxpYXMnKQorICAgICBkICBhbGlhcyAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKworICAgICBkIHhtbEdldEVuY29kaW5nQWxpYXMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxHZXRFbmNvZGluZ0FsaWFzJykgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIGFsaWFzICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorCisgICAgIGQgeG1sQ2xlYW51cEVuY29kaW5nQWxpYXNlcy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbENsZWFudXBFbmNvZGluZ0FsaWFzZXMnKQorCisgICAgIGQgeG1sUGFyc2VDaGFyRW5jb2RpbmcuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxQYXJzZUNoYXJFbmNvZGluZycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaGFyRW5jb2RpbmcpCisgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorCisgICAgIGQgeG1sR2V0Q2hhckVuY29kaW5nTmFtZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbEdldENoYXJFbmNvZGluZ05hbWUnKSAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgZW5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENoYXJFbmNvZGluZykKKworICAgICAgKiBJbnRlcmZhY2VzIGRpcmVjdGx5IHVzZWQgYnkgdGhlIHBhcnNlcnMuCisKKyAgICAgZCB4bWxEZXRlY3RDaGFyRW5jb2RpbmcuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxEZXRlY3RDaGFyRW5jb2RpbmcnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2hhckVuY29kaW5nKQorICAgICBkICBpbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyKgorICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxDaGFyRW5jT3V0RnVuYy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbENoYXJFbmNPdXRGdW5jJykKKyAgICAgZCAgaGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENoYXJFbmNvZGluZ0hhbmRsZXIpCisgICAgIGQgIG91dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxCdWZmZXJQdHIpCisgICAgIGQgIGluICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxCdWZmZXJQdHIpCisKKyAgICAgZCB4bWxDaGFyRW5jSW5GdW5jLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sQ2hhckVuY0luRnVuYycpCisgICAgIGQgIGhhbmRsZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaGFyRW5jb2RpbmdIYW5kbGVyKQorICAgICBkICBvdXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQnVmZmVyUHRyKQorICAgICBkICBpbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQnVmZmVyUHRyKQorCisgICAgIGQgeG1sQ2hhckVuY0ZpcnN0TGluZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbENoYXJFbmNGaXJzdExpbmUnKQorICAgICBkICBoYW5kbGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQ2hhckVuY29kaW5nSGFuZGxlcikKKyAgICAgZCAgb3V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEJ1ZmZlclB0cikKKyAgICAgZCAgaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEJ1ZmZlclB0cikKKworICAgICBkIHhtbENoYXJFbmNDbG9zZUZ1bmMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxDaGFyRW5jQ2xvc2VGdW5jJykKKyAgICAgZCAgaGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENoYXJFbmNvZGluZ0hhbmRsZXIpCisKKyAgICAgICogRXhwb3J0IGEgZmV3IHVzZWZ1bCBmdW5jdGlvbnMKKworICAgICAgL2lmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQorICAgICBkIFVURjhUb2lzb2xhdDEgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ1VURjhUb2lzb2xhdDEnKQorICAgICBkICBvdXQgICAgICAgICAgICAgICAgICAgICAgIDY1NTM1ICAgIG9wdGlvbnMoKnZhcnNpemUpICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyICgqKQorICAgICBkICBvdXRsZW4gICAgICAgICAgICAgICAgICAgICAgIDEwaSAwCisgICAgIGQgIGluICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqCisgICAgIGQgIGlubGVuICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAKKworICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTUxfT1VUUFVUX0VOQUJMRAorCisgICAgIGQgaXNvbGF0MVRvVVRGOCAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygnaXNvbGF0MVRvVVRGOCcpCisgICAgIGQgIG91dCAgICAgICAgICAgICAgICAgICAgICAgNjU1MzUgICAgb3B0aW9ucygqdmFyc2l6ZSkgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgKCopCisgICAgIGQgIG91dGxlbiAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAKKyAgICAgZCAgaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhcioKKyAgICAgZCAgaW5sZW4gICAgICAgICAgICAgICAgICAgICAgICAxMGkgMAorCisgICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhNTF9DSEFSX0VOQ09ESU5HX0gKZGlmZiAtLWdpdCBhL2xpYnhtbDIvb3M0MDAvbGlieG1scnBnL2VudGl0aWVzLnJwZ2xlIGIvbGlieG1sMi9vczQwMC9saWJ4bWxycGcvZW50aXRpZXMucnBnbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGQ5NzkxNQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvb3M0MDAvbGlieG1scnBnL2VudGl0aWVzLnJwZ2xlCkBAIC0wLDAgKzEsMTc0IEBACisgICAgICAqIFN1bW1hcnk6IGludGVyZmFjZSBmb3IgdGhlIFhNTCBlbnRpdGllcyBoYW5kbGluZworICAgICAgKiBEZXNjcmlwdGlvbjogdGhpcyBtb2R1bGUgcHJvdmlkZXMgc29tZSBvZiB0aGUgZW50aXR5IEFQSSBuZWVkZWQKKyAgICAgICogICAgICAgICAgICAgIGZvciB0aGUgcGFyc2VyIGFuZCBhcHBsaWNhdGlvbnMuCisgICAgICAqCisgICAgICAqIENvcHk6IFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyAgICAgICoKKyAgICAgICogQXV0aG9yOiBQYXRyaWNrIE1vbm5lcmF0IDxwbUBkYXRhc3BoZXJlLmNoPiwgREFUQVNQSEVSRSBTLkEuCisKKyAgICAgIC9pZiBub3QgZGVmaW5lZChYTUxfRU5USVRJRVNfSF9fKQorICAgICAgL2RlZmluZSBYTUxfRU5USVRJRVNfSF9fCisKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sdmVyc2lvbiIKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcvdHJlZSIKKworICAgICAgKiBUaGUgZGlmZmVyZW50IHZhbGlkIGVudGl0eSB0eXBlcy4KKworICAgICBkIHhtbEVudGl0eVR5cGUgICBzICAgICAgICAgICAgIDEwaSAwIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpICAgICAgICAgICBlbnVtCisgICAgIGQgIFhNTF9JTlRFUk5BTF9HRU5FUkFMX0VOVElUWS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEKKyAgICAgZCAgWE1MX0VYVEVSTkFMX0dFTkVSQUxfUEFSU0VEX0VOVElUWS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDIKKyAgICAgZCAgWE1MX0VYVEVSTkFMX0dFTkVSQUxfVU5QQVJTRURfRU5USVRZLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMworICAgICBkICBYTUxfSU5URVJOQUxfUEFSQU1FVEVSX0VOVElUWS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDQKKyAgICAgZCAgWE1MX0VYVEVSTkFMX1BBUkFNRVRFUl9FTlRJVFkuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1CisgICAgIGQgIFhNTF9JTlRFUk5BTF9QUkVERUZJTkVEX0VOVElUWS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDYKKworICAgICAgKiBBbiB1bml0IG9mIHN0b3JhZ2UgZm9yIGFuIGVudGl0eSwgY29udGFpbnMgdGhlIHN0cmluZywgdGhlIHZhbHVlCisgICAgICAqIGFuZCB0aGUgbGlua2luZCBkYXRhIG5lZWRlZCBmb3IgdGhlIGxpbmtpbmcgaW4gdGhlIGhhc2ggdGFibGUuCisKKyAgICAgZCB4bWxFbnRpdHkgICAgICAgZHMgICAgICAgICAgICAgICAgICBiYXNlZCh4bWxFbnRpdHlQdHIpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24gcXVhbGlmaWVkCisgICAgIGQgICNwcml2YXRlICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorICAgICBkICB0eXBlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRWxlbWVudFR5cGUpICAgICAgICAgICAgICAgICBYTUxfRU5USVRZX0RFQ0wKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIGNoaWxkcmVuICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKSAgICAgICAgICAgICAgICAgICAgIEZpcnN0IGNoaWxkIGxpbmsKKyAgICAgZCAgbGFzdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpICAgICAgICAgICAgICAgICAgICAgTGFzdCBjaGlsZCBsaW5rCisgICAgIGQgIHBhcmVudCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxEdGRQdHIpICAgICAgICAgICAgICAgICAgICAgIC0+IERURAorICAgICBkICBuZXh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikgICAgICAgICAgICAgICAgICAgICBuZXh0IHNpYmxpbmcgbGluaworICAgICBkICBwcmV2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikgICAgICAgICAgICAgICAgICAgICBwcmV2IHNpYmxpbmcgbGluaworICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRG9jUHRyKSAgICAgICAgICAgICAgICAgICAgICBjb250YWluaW5nIGRvY3VtZW50CisgICAgIGQgIG9yaWcgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbENoYXIgKgorICAgICBkICBjb250ZW50ICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxDaGFyICoKKyAgICAgZCAgbGVuZ3RoICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudCBsZW5ndGgKKyAgICAgZCAgZXR5cGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEVudGl0eVR5cGUpICAgICAgICAgICAgICAgICAgVGhlIGVudGl0eSB0eXBlCisgICAgIGQgIEV4dGVybmFsSUQgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBTeXN0ZW1sSUQgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgbmV4dGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEVudGl0eVB0cikgICAgICAgICAgICAgICAgICAgdW51c2VkCisgICAgIGQgIFVSSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBvd25lciAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPd25zIGNoaWxkcmVuID8KKyAgICAgZCAgY2hlY2tlZCAgICAgICAgICAgICAgICAgICAgICAxMGkgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29udGVudCBjaGVja2VkID8KKworICAgICAgKiBBbGwgZW50aXRpZXMgYXJlIHN0b3JlZCBpbiBhbiBoYXNoIHRhYmxlLgorICAgICAgKiBUaGVyZSBpcyAyIHNlcGFyYXRlIGhhc2ggdGFibGVzIGZvciBnbG9iYWwgYW5kIHBhcmFtZXRlciBlbnRpdGllcy4KKworICAgICBkIHhtbEVudGl0aWVzVGFibGVQdHIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorCisgICAgICAqIEV4dGVybmFsIGZ1bmN0aW9uczoKKworICAgICAgL2lmIGRlZmluZWQoTElCWE1MX0xFR0FDWV9FTkFCTEVEKQorICAgICBkIHhtbEluaXRpYWxpemVQcmVkZWZpbmVkRW50aXRpZXMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sSW5pdGlhbGl6ZVByZWRlZmluZWRFbnRpdGllcycpCisgICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9MRUdBQ1lfRU5BQkxECisKKyAgICAgZCB4bWxOZXdFbnRpdHkgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOZXdFbnRpdHknKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRW50aXR5UHRyKQorICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQorICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgdHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBFeHRlcm5hbElEICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgU3lzdGVtSUQgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIGNvbnRlbnQgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgIGQgeG1sQWRkRG9jRW50aXR5Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQWRkRG9jRW50aXR5JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEVudGl0eVB0cikKKyAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIHR5cGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgRXh0ZXJuYWxJRCAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIFN5c3RlbUlEICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBjb250ZW50ICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICBkIHhtbEFkZER0ZEVudGl0eS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEFkZER0ZEVudGl0eScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxFbnRpdHlQdHIpCisgICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCisgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICB0eXBlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIEV4dGVybmFsSUQgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBTeXN0ZW1JRCAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgY29udGVudCAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgZCB4bWxHZXRQcmVkZWZpbmVkRW50aXR5Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sR2V0UHJlZGVmaW5lZEVudGl0eScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxFbnRpdHlQdHIpCisgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgIGQgeG1sR2V0RG9jRW50aXR5Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sR2V0RG9jRW50aXR5JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEVudGl0eVB0cikKKyAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgZCB4bWxHZXREdGRFbnRpdHkuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxHZXREdGRFbnRpdHknKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRW50aXR5UHRyKQorICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQorICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICBkIHhtbEdldFBhcmFtZXRlckVudGl0eS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEdldFBhcmFtZXRlckVudGl0eScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxFbnRpdHlQdHIpCisgICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCisgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisKKyAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9MRUdBQ1lfRU5BQkxFRCkKKyAgICAgZCB4bWxFbmNvZGVFbnRpdGllcy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbEVuY29kZUVudGl0aWVzJykgICAgICAgICB4bWxDaGFyICoKKyAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKKyAgICAgZCAgaW5wdXQgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9MRUdBQ1lfRU5BQkxECisKKyAgICAgZCB4bWxFbmNvZGVFbnRpdGllc1JlZW50cmFudC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxDaGFyICoKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbEVuY29kZUVudGl0aWVzUmVlbnRyYW50JykKKyAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKKyAgICAgZCAgaW5wdXQgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCitYTUxQVQorICAgICBkIHhtbEVuY29kZVNwZWNpYWxDaGFycy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbFNwZWNpYWxDaGFycycpICAgICAgICAgICB4bWxDaGFyICoKKyAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKKyAgICAgZCAgaW5wdXQgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCitYTUxQVQorICAgICBkIHhtbENyZWF0ZUVudGl0aWVzVGFibGUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxDcmVhdGVFbnRpdGllc1RhYmxlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEVudGl0aWVzVGFibGVQdHIpCisKKyAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpCisgICAgIGQgeG1sQ29weUVudGl0aWVzVGFibGUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxDb3B5RW50aXRpZXNUYWJsZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxFbnRpdGllc1RhYmxlUHRyKQorICAgICBkICB0YWJsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRW50aXRpZXNUYWJsZVB0cikKKyAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCWE1MX1RSRUVfRU5BQkxFRAorCisgICAgIGQgeG1sRnJlZUVudGl0aWVzVGFibGUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxGcmVlRW50aXRpZXNUYWJsZScpCisgICAgIGQgIHRhYmxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxFbnRpdGllc1RhYmxlUHRyKQorWE1MUFUKKyAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKKyAgICAgZCB4bWxEdW1wRW50aXRpZXNUYWJsZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbER1bXBFbnRpdGllc1RhYmxlJykKKyAgICAgZCAgYnVmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEJ1ZmZlclB0cikKKyAgICAgZCAgdGFibGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEVudGl0aWVzVGFibGVQdHIpCitYTUxQVQorICAgICBkIHhtbER1bXBFbnRpdHlEZWNsLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRHVtcEVudGl0eURlY2wnKQorICAgICBkICBidWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQnVmZmVyUHRyKQorICAgICBkICBlbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRW50aXR5UHRyKQorICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTUxfT1VUUFVUX0VOQUJMRAorCisgICAgICAvaWYgZGVmaW5lZChMSUJYTUxfTEVHQUNZX0VOQUJMRUQpCisgICAgIGQgeG1sQ2xlYW51cFByZWRlZmluZWRFbnRpdGllcy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCitYTUxQVWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxDbGVhbnVwUHJlZGVmaW5lZEVudGl0aWVzJykKKyAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCWE1MX0xFR0FDWV9FTkFCTEQKKworICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfRU5USVRJRVNfSF9fCmRpZmYgLS1naXQgYS9saWJ4bWwyL29zNDAwL2xpYnhtbHJwZy9nbG9iYWxzLnJwZ2xlIGIvbGlieG1sMi9vczQwMC9saWJ4bWxycGcvZ2xvYmFscy5ycGdsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MGRhZGNhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9vczQwMC9saWJ4bWxycGcvZ2xvYmFscy5ycGdsZQpAQCAtMCwwICsxLDU1NyBAQAorICAgICAgKiBTdW1tYXJ5OiBpbnRlcmZhY2UgZm9yIGFsbCBnbG9iYWwgdmFyaWFibGVzIG9mIHRoZSBsaWJyYXJ5CisgICAgICAqIERlc2NyaXB0aW9uOiBhbGwgdGhlIGdsb2JhbCB2YXJpYWJsZXMgYW5kIHRocmVhZCBoYW5kbGluZyBmb3IKKyAgICAgICogICAgICAgICAgICAgIHRob3NlIHZhcmlhYmxlcyBpcyBoYW5kbGVkIGJ5IHRoaXMgbW9kdWxlLgorICAgICAgKgorICAgICAgKiBUaGUgYm90dG9tIG9mIHRoaXMgZmlsZSBpcyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSBidWlsZF9nbG9iLnB5CisgICAgICAqIGJhc2VkIG9uIHRoZSBkZXNjcmlwdGlvbiBmaWxlIGdsb2JhbC5kYXRhCisgICAgICAqCisgICAgICAqIENvcHk6IFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyAgICAgICoKKyAgICAgICogQXV0aG9yOiBQYXRyaWNrIE1vbm5lcmF0IDxwbUBkYXRhc3BoZXJlLmNoPiwgREFUQVNQSEVSRSBTLkEuCisKKyAgICAgIC9pZiBub3QgZGVmaW5lZChYTUxfR0xPQkFMU19IKQorICAgICAgL2RlZmluZSBYTUxfR0xPQkFMU19ICisKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sdmVyc2lvbiIKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcvcGFyc2VyIgorICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWxlcnJvciIKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcvU0FYIgorICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy9TQVgyIgorICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWxtZW1vcnkiCisKKyAgICAgZCB4bWxJbml0R2xvYmFscyAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxJbml0R2xvYmFscycpCisKKyAgICAgZCB4bWxDbGVhbnVwR2xvYmFscy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbENsZWFudXBHbG9iYWxzJykKKworICAgICAgKiB4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYzoKKyAgICAgICogQFVSSTogdGhlIFVSSSB0byByZWFkIGZyb20KKyAgICAgICogQGVuYzogdGhlIHJlcXVlc3RlZCBzb3VyY2UgZW5jb2RpbmcKKyAgICAgICoKKyAgICAgICogU2lnbmF0dXJlIGZvciB0aGUgZnVuY3Rpb24gZG9pbmcgdGhlIGxvb2t1cCBmb3IgYSBzdWl0YWJsZSBpbnB1dCBtZXRob2QKKyAgICAgICogY29ycmVzcG9uZGluZyB0byBhbiBVUkkuCisgICAgICAqCisgICAgICAqIFJldHVybnMgdGhlIG5ldyB4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciBpbiBjYXNlIG9mIHN1Y2Nlc3Mgb3IgTlVMTCBpZiBubworICAgICAgKiAgICAgICAgIG1ldGhvZCB3YXMgZm91bmQuCisKKyAgICAgZCB4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYy4uLgorICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY3B0cgorCisgICAgICAqIHhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYzoKKyAgICAgICogQFVSSTogdGhlIFVSSSB0byB3cml0ZSB0bworICAgICAgKiBAZW5jOiB0aGUgcmVxdWVzdGVkIHRhcmdldCBlbmNvZGluZworICAgICAgKgorICAgICAgKiBTaWduYXR1cmUgZm9yIHRoZSBmdW5jdGlvbiBkb2luZyB0aGUgbG9va3VwIGZvciBhIHN1aXRhYmxlIG91dHB1dCBtZXRob2QKKyAgICAgICogY29ycmVzcG9uZGluZyB0byBhbiBVUkkuCisgICAgICAqCisgICAgICAqIFJldHVybnMgdGhlIG5ldyB4bWxPdXRwdXRCdWZmZXJQdHIgaW4gY2FzZSBvZiBzdWNjZXNzIG9yIE5VTEwgaWYgbm8KKyAgICAgICogICAgICAgICBtZXRob2Qgd2FzIGZvdW5kLgorCisgICAgIGQgeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jcHRyCisKKyAgICAgZCB4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRGVmYXVsdC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlKworICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbGVuYW1lRGVmYXVsdCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxQYXJzZXJJbnB1dEJ1ZmZlci4uLgorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZUZpbGVuYW1lRnVuYykKKyAgICAgZCBmdW5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlcklucHV0QnVmZmVyLi4uCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRmlsZW5hbWVGdW5jKQorCisgICAgIGQgeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sT3V0cHV0QnVmZmVyQ3JlYXRlKworICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbGVuYW1lRGVmYXVsdCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxPdXRwdXRCdWZmZXIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVGaWxlbmFtZUZ1bmMpCisgICAgIGQgZnVuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxPdXRwdXRCdWZmZXIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVGaWxlbmFtZUZ1bmMpCisKKyAgICAgICogeG1sUmVnaXN0ZXJOb2RlRnVuYzoKKyAgICAgICogQG5vZGU6IHRoZSBjdXJyZW50IG5vZGUKKyAgICAgICoKKyAgICAgICogU2lnbmF0dXJlIGZvciB0aGUgcmVnaXN0cmF0aW9uIGNhbGxiYWNrIG9mIGEgY3JlYXRlZCBub2RlCisKKyAgICAgZCB4bWxSZWdpc3Rlck5vZGVGdW5jLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jcHRyCisKKyAgICAgICogeG1sRGVyZWdpc3Rlck5vZGVGdW5jOgorICAgICAgKiBAbm9kZTogdGhlIGN1cnJlbnQgbm9kZQorICAgICAgKgorICAgICAgKiBTaWduYXR1cmUgZm9yIHRoZSBkZXJlZ2lzdHJhdGlvbiBjYWxsYmFjayBvZiBhIGRpc2NhcmRlZCBub2RlCisKKyAgICAgZCB4bWxEZXJlZ2lzdGVyTm9kZUZ1bmMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NwdHIKKworICAgICBkIHhtbEdsb2JhbFN0YXRlUHRyLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKworICAgICBkIHhtbEdsb2JhbFN0YXRlICBkcyAgICAgICAgICAgICAgICAgIGJhc2VkKHhtbEdsb2JhbFN0YXRlUHRyKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduIHF1YWxpZmllZAorICAgICBkICB4bWxQYXJzZXJWZXJzaW9uLi4uCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICB4bWxEZWZhdWx0U0FYTG9jYXRvci4uLgorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU0FYTG9jYXRvcikKKyAgICAgZCAgeG1sRGVmYXVsdFNBWEhhbmRsZXIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNBWEhhbmRsZXJWMSkKKyAgICAgZCAgZG9jYkRlZmF1bHRTQVhIYW5kbGVyLi4uCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTQVhIYW5kbGVyVjEpCisgICAgIGQgIGh0bWxEZWZhdWx0U0FYSGFuZGxlci4uLgorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU0FYSGFuZGxlclYxKQorICAgICBkICB4bWxGcmVlICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRnJlZUZ1bmMpCisgICAgIGQgIHhtbE1hbGxvYyAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxNYWxsb2NGdW5jKQorICAgICBkICB4bWxNZW1TdHJkdXAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU3RyZHVwRnVuYykKKyAgICAgZCAgeG1sUmVhbGxvYyAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFJlYWxsb2NGdW5jKQorICAgICBkICB4bWxHZW5lcmljRXJyb3IuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEdlbmVyaWNFcnJvckZ1bmMpCisgICAgIGQgIHhtbFN0cnVjdHVyZWRFcnJvci4uLgorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU3RydWN0dXJlZEVycm9yRnVuYykKKyAgICAgZCAgeG1sR2VuZXJpY0Vycm9yQ29udGV4dC4uLgorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKyAgICAgZCAgb2xkWE1MV0Rjb21wYXRpYmlsaXR5Li4uCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAKKyAgICAgZCAgeG1sQnVmZmVyQWxsb2NTY2hlbWUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUpCisgICAgIGQgIHhtbERlZmF1bHRCdWZmZXJTaXplLi4uCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAKKyAgICAgZCAgeG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdFZhbHVlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAKKyAgICAgZCAgeG1sRG9WYWxpZGl0eUNoZWNraW5nRGVmYXVsdFZhbHVlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAKKyAgICAgZCAgeG1sR2V0V2FybmluZ3NEZWZhdWx0VmFsdWUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMAorICAgICBkICB4bWxLZWVwQmxhbmtzRGVmYXVsdFZhbHVlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAKKyAgICAgZCAgeG1sTGluZU51bWJlcnNEZWZhdWx0VmFsdWUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMAorICAgICBkICB4bWxMb2FkRXh0RHRkRGVmYXVsdFZhbHVlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAKKyAgICAgZCAgeG1sUGFyc2VyRGVidWdFbnRpdGllcy4uLgorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwCisgICAgIGQgIHhtbFBlZGFudGljUGFyc2VyRGVmYXVsdFZhbHVlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAKKyAgICAgZCAgeG1sU2F2ZU5vRW1wdHlUYWdzLi4uCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAKKyAgICAgZCAgeG1sSW5kZW50VHJlZU91dHB1dC4uLgorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwCisgICAgIGQgIHhtbFRyZWVJbmRlbnRTdHJpbmcuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIHhtbFJlZ2lzdGVyTm9kZURlZmF1bHRWYWx1ZS4uLgorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sUmVnaXN0ZXJOb2RlRnVuYykKKyAgICAgZCAgeG1sRGVyZWdpc3Rlck5vZGVEZWZhdWx0VmFsdWUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbERlcmVnaXN0ZXJOb2RlRnVuYykKKyAgICAgZCAgeG1sTWFsbG9jQXRvbWljLi4uCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxNYWxsb2NGdW5jKQorICAgICBkICB4bWxMYXN0RXJyb3IgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRXJyb3IpCisgICAgIGQgIHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVWYWx1ZS4uLgorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sUGFyc2VySW5wdXRCdWZmZXIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVGaWxlbmFtZUZ1bmMpCisgICAgIGQgIHhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lVmFsdWUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE91dHB1dEJ1ZmZlci4uLgorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZUZpbGVuYW1lRnVuYykKKyAgICAgZCAgeG1sU3RydWN0dXJlZEVycm9yQ29udGV4dC4uLgorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKworICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy90aHJlYWRzIgorCisgICAgIGQgeG1sSW5pdGlhbGl6ZUdsb2JhbFN0YXRlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sSW5pdGlhbGl6ZUdsb2JhbFN0YXRlJykKKyAgICAgZCBxcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEdsb2JhbFN0YXRlUHRyKQorCisgICAgIGQgeG1sVGhyRGVmU2V0R2VuZXJpY0Vycm9yRnVuYy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxUaHJEZWZTZXRHZW5lcmljRXJyb3JGdW5jJykKKyAgICAgZCBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCisgICAgIGQgaGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxHZW5lcmljRXJyb3JGdW5jKQorCisgICAgIGQgeG1sVGhyRGVmU2V0U3RydWN0dXJlZEVycm9yRnVuYy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxUaHJEZWZTZXRTdHJ1Y3R1cmVkRXJyb3JGdW5jJykKKyAgICAgZCBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCisgICAgIGQgaGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jKQorCisgICAgIGQgeG1sUmVnaXN0ZXJOb2RlRGVmYXVsdC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFJlZ2lzdGVyTm9kZURlZmF1bHQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sUmVnaXN0ZXJOb2RlRnVuYykKKyAgICAgZCBmdW5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFJlZ2lzdGVyTm9kZUZ1bmMpCisKKyAgICAgZCB4bWxUaHJEZWZSZWdpc3Rlck5vZGVEZWZhdWx0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRockRlZlJlZ2lzdGVyTm9kZURlZmF1bHQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sUmVnaXN0ZXJOb2RlRnVuYykKKyAgICAgZCBmdW5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFJlZ2lzdGVyTm9kZUZ1bmMpCisKKyAgICAgZCB4bWxEZXJlZ2lzdGVyTm9kZURlZmF1bHQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxEZXJlZ2lzdGVyTm9kZURlZmF1bHQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRGVyZWdpc3Rlck5vZGVGdW5jKQorICAgICBkIGZ1bmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRGVyZWdpc3Rlck5vZGVGdW5jKQorCisgICAgIGQgeG1sVGhyRGVmRGVyZWdpc3Rlck5vZGVEZWZhdWx0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRockRlZkRlcmVnaXN0ZXJOb2RlRGVmYXVsdCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxEZXJlZ2lzdGVyTm9kZUZ1bmMpCisgICAgIGQgZnVuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEZXJlZ2lzdGVyTm9kZUZ1bmMpCisKKyAgICAgZCB4bWxUaHJEZWZPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxUaHJEZWZPdXRwdXRCdWZmZXIrCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRmlsZW5hbWVEZWZhdWx0JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE91dHB1dEJ1ZmZlci4uLgorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZUZpbGVuYW1lRnVuYykKKyAgICAgZCBmdW5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE91dHB1dEJ1ZmZlci4uLgorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZUZpbGVuYW1lRnVuYykKKworICAgICBkIHhtbFRockRlZlBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVGhyRGVmUGFyc2VySW5wdXRCdWZmZXIrCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRmlsZW5hbWVEZWZhdWx0JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFBhcnNlcklucHV0QnVmZmVyLi4uCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRmlsZW5hbWVGdW5jKQorICAgICBkIGZ1bmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VySW5wdXRCdWZmZXIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVGaWxlbmFtZUZ1bmMpCisKKyAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9ET0NCX0VOQUJMRUQpCisgICAgIGQgZ2V0X2RvY2JEZWZhdWx0U0FYSGFuZGxlci4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnX19nZXRfZG9jYkRlZmF1bHRTQVhIYW5kbGVyJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNBWEhhbmRsZXJWMSkKKworICAgICBkIHNldF9kb2NiRGVmYXVsdFNBWEhhbmRsZXIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ19fc2V0X2RvY2JEZWZhdWx0U0FYSGFuZGxlcicpCisgICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTQVhIYW5kbGVyVjEpCisgICAgICAvZW5kaWYKKworICAgICAgL2lmIGRlZmluZWQoTElCWE1MX0hUTUxfRU5BQkxFRCkKKyAgICAgZCBnZXRfaHRtbERlZmF1bHRTQVhIYW5kbGVyLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdfX2dldF9odG1sRGVmYXVsdFNBWEhhbmRsZXInKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU0FYSGFuZGxlclYxKQorCisgICAgIGQgc2V0X2h0bWxEZWZhdWx0U0FYSGFuZGxlci4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnX19zZXRfaHRtbERlZmF1bHRTQVhIYW5kbGVyJykKKyAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNBWEhhbmRsZXJWMSkKKyAgICAgIC9lbmRpZgorCisgICAgIGQgZ2V0X3htbExhc3RFcnJvci4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ19fZ2V0X3htbExhc3RFcnJvcicpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxFcnJvcikKKworICAgICBkIHNldF94bWxMYXN0RXJyb3IuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdfX3NldF94bWxMYXN0RXJyb3InKQorICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRXJyb3IpCisKKyAgICAgZCBnZXRfb2xkWE1MV0Rjb21wYXRpYmlsaXR5Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdfX2dldF9vbGRYTUxXRGNvbXBhdGliaWxpdHknKQorCisgICAgIGQgc2V0X29sZFhNTFdEY29tcGF0aWJpbGl0eS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnX19zZXRfb2xkWE1MV0Rjb21wYXRpYmlsaXR5JykKKyAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgZ2V0X3htbEJ1ZmZlckFsbG9jU2NoZW1lLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnX19nZXRfeG1sQnVmZmVyQWxsb2NTY2hlbWUnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQnVmZmVyQWxsb2NhdGlvblNjaGVtZSkKKworICAgICBkIHNldF94bWxCdWZmZXJBbGxvY1NjaGVtZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ19fc2V0X3htbEJ1ZmZlckFsbG9jU2NoZW1lJykKKyAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUpCisKKyAgICAgZCB4bWxUaHJEZWZCdWZmZXJBbGxvY1NjaGVtZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFRockRlZkJ1ZmZlckFsbG9jU2NoZW1lJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUpCisgICAgIGQgIHYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxCdWZmZXJBbGxvY2F0aW9uU2NoZW1lKQorCisgICAgIGQgZ2V0X3htbERlZmF1bHRCdWZmZXJTaXplLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygnX19nZXRfeG1sRGVmYXVsdEJ1ZmZlclNpemUnKQorCisgICAgIGQgc2V0X3htbERlZmF1bHRCdWZmZXJTaXplLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnX19zZXRfeG1sRGVmYXVsdEJ1ZmZlclNpemUnKQorICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxUaHJEZWZEZWZhdWx0QnVmZmVyU2l6ZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFRockRlZkRlZmF1bHRCdWZmZXJTaXplJykKKyAgICAgZCAgdiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgZ2V0X3htbERlZmF1bHRTQVhIYW5kbGVyLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnX19nZXRfeG1sRGVmYXVsdFNBWEhhbmRsZXInKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU0FYSGFuZGxlclYxKQorCisgICAgIGQgc2V0X3htbERlZmF1bHRTQVhIYW5kbGVyLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnX19zZXRfeG1sRGVmYXVsdFNBWEhhbmRsZXInKQorICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU0FYSGFuZGxlclYxKQorCisgICAgIGQgZ2V0X3htbERlZmF1bHRTQVhMb2NhdG9yLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnX19nZXRfeG1sRGVmYXVsdFNBWExvY2F0b3InKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU0FYTG9jYXRvcikKKworICAgICBkIHNldF94bWxEZWZhdWx0U0FYTG9jYXRvci4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ19fc2V0X3htbERlZmF1bHRTQVhMb2NhdG9yJykKKyAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNBWExvY2F0b3IpCisKKyAgICAgZCBnZXRfeG1sRG9WYWxpZGl0eUNoZWNraW5nRGVmYXVsdFZhbHVlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygnX19nZXRfeG1sRG9WYWxpZGl0eSsKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENoZWNraW5nRGVmYXVsdFZhbHVlJykKKworICAgICBkIHNldF94bWxEb1ZhbGlkaXR5Q2hlY2tpbmdEZWZhdWx0VmFsdWUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdfX3NldF94bWxEb1ZhbGlkaXR5KworICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hlY2tpbmdEZWZhdWx0VmFsdWUnKQorICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgCisgICAgIGQgeG1sVGhyRGVmRG9WYWxpZGl0eUNoZWNraW5nRGVmYXVsdFZhbHVlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVGhyRGVmRG9WYWxpZGl0eSsKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENoZWNraW5nRGVmYXVsdFZhbHVlJykKKyAgICAgZCAgdiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgZ2V0X3htbEdlbmVyaWNFcnJvci4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ19fZ2V0X3htbEdlbmVyaWNFcnJvcicpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxHZW5lcmljRXJyb3JGdW5jKQorCisgICAgIGQgc2V0X3htbEdlbmVyaWNFcnJvci4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ19fc2V0X3htbEdlbmVyaWNFcnJvcicpCisgICAgIGQgIGZ1bmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxHZW5lcmljRXJyb3JGdW5jKQorCisgICAgIGQgZ2V0X3htbFN0cnVjdHVyZWRFcnJvci4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ19fZ2V0X3htbFN0cnVjdHVyZWRFcnJvcicpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jKQorCisgICAgIGQgc2V0X3htbFN0cnVjdHVyZWRFcnJvci4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ19fc2V0X3htbFN0cnVjdHVyZWRFcnJvcicpCisgICAgIGQgIGZ1bmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jKQorCisgICAgIGQgeG1sU3RydWN0dXJlZEVycm9yLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnX19jYWxsX3htbFN0cnVjdHVyZWRFcnJvcicpCisgICAgIGQgIHVzZXJEYXRhICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIHZvaWQgKgorICAgICBkICBlcnJvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRXJyb3JQdHIpIAorCisgICAgIGQgZ2V0X3htbEdlbmVyaWNFcnJvckNvbnRleHQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ19fZ2V0X3htbEdlbmVyaWNFcnJvckNvbnRleHQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKworICAgICBkIHNldF94bWxHZW5lcmljRXJyb3JDb250ZXh0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdfX3NldF94bWxHZW5lcmljRXJyb3JDb250ZXh0JykKKyAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgdm9pZCAqCisKKyAgICAgZCBnZXRfeG1sU3RydWN0dXJlZEVycm9yQ29udGV4dC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnX19nZXRfeG1sU3RydWN0dXJlZEVycm9yQ29udGV4dCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorCisgICAgIGQgc2V0X3htbFN0cnVjdHVyZWRFcnJvckNvbnRleHQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ19fc2V0X3htbFN0cnVjdHVyZWRFcnJvckNvbnRleHQnKQorICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICB2b2lkICoKKworICAgICBkIGdldF94bWxHZXRXYXJuaW5nc0RlZmF1bHRWYWx1ZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnX19nZXRfeG1sR2V0V2FybmluZ3NEZWZhdWx0VmFsdWUnKQorCisgICAgIGQgc2V0X3htbEdldFdhcm5pbmdzRGVmYXVsdFZhbHVlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdfX3NldF94bWxHZXRXYXJuaW5nc0RlZmF1bHRWYWx1ZScpCisgICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFRockRlZkdldFdhcm5pbmdzRGVmYXVsdFZhbHVlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxUaHJEZWZHZXRXYXJuaW5nc0RlZmF1bHRWYWx1ZScpCisgICAgIGQgIHYgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIGdldF94bWxJbmRlbnRUcmVlT3V0cHV0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygnX19nZXRfeG1sSW5kZW50VHJlZU91dHB1dCcpCisKKyAgICAgZCBzZXRfeG1sSW5kZW50VHJlZU91dHB1dC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgICBleHRwcm9jKCdfX3NldF94bWxJbmRlbnRUcmVlT3V0cHV0JykKKyAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sVGhyRGVmSW5kZW50VHJlZU91dHB1dC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFRockRlZkluZGVudFRyZWVPdXRwdXQnKQorICAgICBkICB2ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCBnZXRfeG1sVHJlZUluZGVudFN0cmluZy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ19fZ2V0X3htbFRyZWVJbmRlbnRTdHJpbmcnKSBjb25zdCBjaGFyICoKKworICAgICBkIHNldF94bWxUcmVlSW5kZW50U3RyaW5nLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnX19zZXRfeG1sVHJlZUluZGVudFN0cmluZycpCisgICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorIAorICAgICBkIHhtbFRockRlZlRyZWVJbmRlbnRTdHJpbmcuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxUaHJEZWZUcmVlSW5kZW50U3RyaW5nJykgY29uc3QgY2hhciAqCisgICAgIGQgIHYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorCisgICAgIGQgZ2V0X3htbEtlZXBCbGFua3NEZWZhdWx0VmFsdWUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ19fZ2V0X3htbEtlZXBCbGFua3NEZWZhdWx0VmFsdWUnKSAKKworICAgICBkIHNldF94bWxLZWVwQmxhbmtzRGVmYXVsdFZhbHVlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdfX3NldF94bWxLZWVwQmxhbmtzRGVmYXVsdFZhbHVlJykgCisgICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFRockRlZktlZXBCbGFua3NEZWZhdWx0VmFsdWUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRockRlZktlZXBCbGFua3NEZWZhdWx0VmFsdWUnKQorICAgICBkICB2ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCBnZXRfeG1sTGluZU51bWJlcnNEZWZhdWx0VmFsdWUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ19fZ2V0X3htbExpbmVOdW1iZXJzRGVmYXVsdFZhbHVlJykKKworICAgICBkIHNldF94bWxMaW5lTnVtYmVyc0RlZmF1bHRWYWx1ZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnX19zZXRfeG1sTGluZU51bWJlcnNEZWZhdWx0VmFsdWUnKQorICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxUaHJEZWZMaW5lTnVtYmVyc0RlZmF1bHRWYWx1ZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVGhyRGVmTGluZU51bWJlcnNEZWZhdWx0VmFsdWUnKQorICAgICBkICB2ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCBnZXRfeG1sTG9hZEV4dER0ZERlZmF1bHRWYWx1ZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnX19nZXRfeG1sTG9hZEV4dER0ZERlZmF1bHRWYWx1ZScpCisKKyAgICAgZCBzZXRfeG1sTG9hZEV4dER0ZERlZmF1bHRWYWx1ZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnX19zZXRfeG1sTG9hZEV4dER0ZERlZmF1bHRWYWx1ZScpCisgICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFRockRlZkxvYWRFeHREdGREZWZhdWx0VmFsdWUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRockRlZkxvYWRFeHREdGREZWZhdWx0VmFsdWUnKQorICAgICBkICB2ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCBnZXRfeG1sUGFyc2VyRGVidWdFbnRpdGllcy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnX19nZXRfeG1sUGFyc2VyRGVidWdFbnRpdGllcycpCisKKyAgICAgZCBzZXRfeG1sUGFyc2VyRGVidWdFbnRpdGllcy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnX19zZXRfeG1sUGFyc2VyRGVidWdFbnRpdGllcycpCisgICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFRockRlZlBhcnNlckRlYnVnRW50aXRpZXMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRockRlZlBhcnNlckRlYnVnRW50aXRpZXMnKQorICAgICBkICB2ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCBnZXRfeG1sUGFyc2VyVmVyc2lvbi4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ19fZ2V0X3htbFBhcnNlclZlcnNpb24nKSAgICBjb25zdCBjaGFyICoKKworICAgICBkIHNldF94bWxQYXJzZXJWZXJzaW9uLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnX19zZXRfeG1sUGFyc2VyVmVyc2lvbicpCisgICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorCisgICAgIGQgZ2V0X3htbFBlZGFudGljUGFyc2VyRGVmYXVsdFZhbHVlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygnX19nZXRfeG1sUGVkYW50aWMrCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYXJzZXJEZWZhdWx0VmFsdWUnKQorCisgICAgIGQgc2V0X3htbFBlZGFudGljUGFyc2VyRGVmYXVsdFZhbHVlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnX19zZXRfeG1sUGVkYW50aWMrCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYXJzZXJEZWZhdWx0VmFsdWUnKQorICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxUaHJEZWZQZWRhbnRpY1BhcnNlckRlZmF1bHRWYWx1ZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFRockRlZlBlZGFudGljKworICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFyc2VyRGVmYXVsdFZhbHVlJykKKyAgICAgZCAgdiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgZ2V0X3htbFNhdmVOb0VtcHR5VGFncy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ19fZ2V0X3htbFNhdmVOb0VtcHR5VGFncycpCisKKyAgICAgZCBzZXRfeG1sU2F2ZU5vRW1wdHlUYWdzLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnX19zZXRfeG1sU2F2ZU5vRW1wdHlUYWdzJykKKyAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sVGhyRGVmU2F2ZU5vRW1wdHlUYWdzLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVGhyRGVmU2F2ZU5vRW1wdHlUYWdzJykKKyAgICAgZCAgdiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgZ2V0X3htbFN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHRWYWx1ZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ19fZ2V0X3htbFN1YnN0aXR1dGUrCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbnRpdGllc0RlZmF1bHRWYWx1ZScpCisKKyAgICAgZCBzZXRfeG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdFZhbHVlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnX19zZXRfeG1sU3Vic3RpdHV0ZSsKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGl0aWVzRGVmYXVsdFZhbHVlJykKKyAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sVGhyRGVmU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdFZhbHVlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVGhyRGVmU3Vic3RpdHV0ZSsKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGl0aWVzRGVmYXVsdFZhbHVlJykKKyAgICAgZCAgdiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgZ2V0X3htbFJlZ2lzdGVyTm9kZURlZmF1bHRWYWx1ZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ19fZ2V0X3htbFJlZ2lzdGVyTm9kZSsKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERlZmF1bHRWYWx1ZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxSZWdpc3Rlck5vZGVGdW5jKQorCisgICAgIGQgc2V0X3htbFJlZ2lzdGVyTm9kZURlZmF1bHRWYWx1ZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ19fc2V0X3htbFJlZ2lzdGVyTm9kZSsKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERlZmF1bHRWYWx1ZScpCisgICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxSZWdpc3Rlck5vZGVGdW5jKQorCisgICAgIGQgeG1sUmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnX19jYWxsX3htbFJlZ2lzdGVyTm9kZSsKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERlZmF1bHRWYWx1ZScpCisgICAgIGQgIG5vZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQorCisgICAgIGQgZ2V0X3htbERlcmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnX19nZXRfeG1sRGVyZWdpc3Rlck5vZGUrCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZWZhdWx0VmFsdWUnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRGVyZWdpc3Rlck5vZGVGdW5jKQorCisgICAgIGQgc2V0X3htbERlcmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnX19zZXRfeG1sRGVyZWdpc3Rlck5vZGUrCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZWZhdWx0VmFsdWUnKQorICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRGVyZWdpc3Rlck5vZGVGdW5jKQorCisgICAgIGQgeG1sRGVyZWdpc3Rlck5vZGVEZWZhdWx0VmFsdWUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdfX2NhbGxfeG1sRGVyZWdpc3Rlck5vZGUrCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZWZhdWx0VmFsdWUnKQorICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKworICAgICBkIGdldF94bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lVmFsdWUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdfX2dldF94bWxQYXJzZXJJbnB1dEJ1ZmZlcisKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZUZpbGVuYW1lVmFsdWUnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sUGFyc2VySW5wdXRCdWZmZXIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZUZpbGVuYW1lRnVuYykKKworICAgICBkIHNldF94bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lVmFsdWUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdfX3NldF94bWxQYXJzZXJJbnB1dEJ1ZmZlcisKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZUZpbGVuYW1lVmFsdWUnKQorICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VySW5wdXRCdWZmZXIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZUZpbGVuYW1lRnVuYykKKworICAgICBkIHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVWYWx1ZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ19fY2FsbF94bWxQYXJzZXJJbnB1dEJ1ZmZlcisKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZUZpbGVuYW1lVmFsdWUnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIpCisgICAgIGQgIFVSSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBlbmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2hhckVuY29kaW5nKQorCisgICAgIGQgZ2V0X3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lVmFsdWUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdfX2dldF94bWxPdXRwdXRCdWZmZXIrCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVGaWxlbmFtZVZhbHVlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jKQorCisgICAgIGQgc2V0X3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lVmFsdWUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdfX3NldF94bWxPdXRwdXRCdWZmZXIrCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVGaWxlbmFtZVZhbHVlJykKKyAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jKQorCisgICAgIGQgeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVWYWx1ZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ19fY2FsbF94bWxPdXRwdXRCdWZmZXIrCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVGaWxlbmFtZVZhbHVlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE91dHB1dEJ1ZmZlclB0cikKKyAgICAgZCAgVVJJICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIGVuY29kZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyKQorICAgICBkICBjb21wcmVzc2lvbiAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWE1MX0dMT0JBTFNfSApkaWZmIC0tZ2l0IGEvbGlieG1sMi9vczQwMC9saWJ4bWxycGcvaGFzaC5ycGdsZSBiL2xpYnhtbDIvb3M0MDAvbGlieG1scnBnL2hhc2gucnBnbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODY3Zjk4ZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvb3M0MDAvbGlieG1scnBnL2hhc2gucnBnbGUKQEAgLTAsMCArMSwyMzEgQEAKKyAgICAgICogU3VtbWFyeTogQ2hhaW5lZCBoYXNoIHRhYmxlcworICAgICAgKiBEZXNjcmlwdGlvbjogVGhpcyBtb2R1bGUgaW1wbGVtZW50cyB0aGUgaGFzaCB0YWJsZSBzdXBwb3J0IHVzZWQgaW4KKyAgICAgICogICAgICAgICAgICAgIHZhcmlvdXMgcGxhY2VzIGluIHRoZSBsaWJyYXJ5LgorICAgICAgKgorICAgICAgKiBDb3B5OiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisgICAgICAqCisgICAgICAqIEF1dGhvcjogUGF0cmljayBNb25uZXJhdCA8cG1AZGF0YXNwaGVyZS5jaD4sIERBVEFTUEhFUkUgUy5BLgorCisgICAgICAvaWYgbm90IGRlZmluZWQoWE1MX0hBU0hfSF9fKQorICAgICAgL2RlZmluZSBYTUxfSEFTSF9IX18KKworICAgICAgKiBUaGUgaGFzaCB0YWJsZS4KKworICAgICBkIHhtbEhhc2hUYWJsZVB0ci4uLgorICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sdmVyc2lvbiIKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcvcGFyc2VyIgorICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy9kaWN0IgorCisgICAgICAqIGZ1bmN0aW9uIHR5cGVzOgorCisgICAgICAqIHhtbEhhc2hEZWFsbG9jYXRvcjoKKyAgICAgICogQHBheWxvYWQ6ICB0aGUgZGF0YSBpbiB0aGUgaGFzaAorICAgICAgKiBAbmFtZTogIHRoZSBuYW1lIGFzc29jaWF0ZWQKKyAgICAgICoKKyAgICAgICogQ2FsbGJhY2sgdG8gZnJlZSBkYXRhIGZyb20gYSBoYXNoLgorCisgICAgIGQgeG1sSGFzaERlYWxsb2NhdG9yLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jcHRyCisKKyAgICAgICogeG1sSGFzaENvcGllcjoKKyAgICAgICogQHBheWxvYWQ6ICB0aGUgZGF0YSBpbiB0aGUgaGFzaAorICAgICAgKiBAbmFtZTogIHRoZSBuYW1lIGFzc29jaWF0ZWQKKyAgICAgICoKKyAgICAgICogQ2FsbGJhY2sgdG8gY29weSBkYXRhIGZyb20gYSBoYXNoLgorICAgICAgKgorICAgICAgKiBSZXR1cm5zIGEgY29weSBvZiB0aGUgZGF0YSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuCisKKyAgICAgZCB4bWxIYXNoQ29waWVyICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NwdHIKKworICAgICAgKiB4bWxIYXNoU2Nhbm5lcjoKKyAgICAgICogQHBheWxvYWQ6ICB0aGUgZGF0YSBpbiB0aGUgaGFzaAorICAgICAgKiBAZGF0YTogIGV4dHJhIHNjYW5ubmVyIGRhdGEKKyAgICAgICogQG5hbWU6ICB0aGUgbmFtZSBhc3NvY2lhdGVkCisgICAgICAqCisgICAgICAqIENhbGxiYWNrIHdoZW4gc2Nhbm5pbmcgZGF0YSBpbiBhIGhhc2ggd2l0aCB0aGUgc2ltcGxlIHNjYW5uZXIuCisKKyAgICAgZCB4bWxIYXNoU2Nhbm5lciAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NwdHIKKworICAgICAgKiB4bWxIYXNoU2Nhbm5lckZ1bGw6CisgICAgICAqIEBwYXlsb2FkOiAgdGhlIGRhdGEgaW4gdGhlIGhhc2gKKyAgICAgICogQGRhdGE6ICBleHRyYSBzY2Fubm5lciBkYXRhCisgICAgICAqIEBuYW1lOiAgdGhlIG5hbWUgYXNzb2NpYXRlZAorICAgICAgKiBAbmFtZTI6ICB0aGUgc2Vjb25kIG5hbWUgYXNzb2NpYXRlZAorICAgICAgKiBAbmFtZTM6ICB0aGUgdGhpcmQgbmFtZSBhc3NvY2lhdGVkCisgICAgICAqCisgICAgICAqIENhbGxiYWNrIHdoZW4gc2Nhbm5pbmcgZGF0YSBpbiBhIGhhc2ggd2l0aCB0aGUgZnVsbCBzY2FubmVyLgorCisgICAgIGQgeG1sSGFzaFNjYW5uZXJGdWxsLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jcHRyCisKKyAgICAgICogQ29uc3RydWN0b3IgYW5kIGRlc3RydWN0b3IuCisKKyAgICAgZCB4bWxIYXNoQ3JlYXRlICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxIYXNoQ3JlYXRlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEhhc2hUYWJsZVB0cikKKyAgICAgZCAgc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sSGFzaENyZWF0ZURpY3QuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxIYXNoQ3JlYXRlRGljdCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxIYXNoVGFibGVQdHIpCisgICAgIGQgIHNpemUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgZGljdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERpY3RQdHIpCisKKyAgICAgZCB4bWxIYXNoRnJlZSAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxIYXNoRnJlZScpCisgICAgIGQgIHRhYmxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxIYXNoVGFibGVQdHIpCisgICAgIGQgIGYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxIYXNoRGVhbGxvY2F0b3IpCisKKyAgICAgICogQWRkIGEgbmV3IGVudHJ5IHRvIHRoZSBoYXNoIHRhYmxlLgorCisgICAgIGQgeG1sSGFzaEFkZEVudHJ5Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sSGFzaEFkZEVudHJ5JykKKyAgICAgZCAgdGFibGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEhhc2hUYWJsZVB0cikKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIHVzZXJkYXRhICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIHZvaWQgKgorCisgICAgIGQgeG1sSGFzaFVwZGF0ZUVudHJ5Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sSGFzaFVwZGF0ZUVudHJ5JykKKyAgICAgZCAgdGFibGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEhhc2hUYWJsZVB0cikKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIHVzZXJkYXRhICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIHZvaWQgKgorICAgICBkICBmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sSGFzaERlYWxsb2NhdG9yKQorCisgICAgIGQgeG1sSGFzaEFkZEVudHJ5Mi4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbEhhc2hBZGRFbnRyeTInKQorICAgICBkICB0YWJsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sSGFzaFRhYmxlUHRyKQorICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgbmFtZTIgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIHVzZXJkYXRhICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIHZvaWQgKgorCisgICAgIGQgeG1sSGFzaFVwZGF0ZUVudHJ5Mi4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbEhhc2hVcGRhdGVFbnRyeTInKQorICAgICBkICB0YWJsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sSGFzaFRhYmxlUHRyKQorICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgbmFtZTIgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIHVzZXJkYXRhICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIHZvaWQgKgorICAgICBkICBmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sSGFzaERlYWxsb2NhdG9yKQorCisgICAgIGQgeG1sSGFzaEFkZEVudHJ5My4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbEhhc2hBZGRFbnRyeTMnKQorICAgICBkICB0YWJsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sSGFzaFRhYmxlUHRyKQorICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgbmFtZTIgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIG5hbWUzICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICB1c2VyZGF0YSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICB2b2lkICoKKworICAgICBkIHhtbEhhc2hVcGRhdGVFbnRyeTMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxIYXNoVXBkYXRlRW50cnkzJykKKyAgICAgZCAgdGFibGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEhhc2hUYWJsZVB0cikKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIG5hbWUyICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBuYW1lMyAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgdXNlcmRhdGEgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgdm9pZCAqCisgICAgIGQgIGYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxIYXNoRGVhbGxvY2F0b3IpCisKKyAgICAgICogUmVtb3ZlIGFuIGVudHJ5IGZyb20gdGhlIGhhc2ggdGFibGUuCisKKyAgICAgZCB4bWxIYXNoUmVtb3ZlRW50cnkuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxIYXNoUmVtb3ZlRW50cnknKQorICAgICBkICB0YWJsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sSGFzaFRhYmxlUHRyKQorICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEhhc2hEZWFsbG9jYXRvcikKKworICAgICBkIHhtbEhhc2hSZW1vdmVFbnRyeTIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxIYXNoUmVtb3ZlRW50cnkyJykKKyAgICAgZCAgdGFibGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEhhc2hUYWJsZVB0cikKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIG5hbWUyICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sSGFzaERlYWxsb2NhdG9yKQorCisgICAgIGQgeG1sSGFzaFJlbW92ZUVudHJ5My4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbEhhc2hSZW1vdmVFbnRyeTMnKQorICAgICBkICB0YWJsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sSGFzaFRhYmxlUHRyKQorICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgbmFtZTIgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIG5hbWUzICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sSGFzaERlYWxsb2NhdG9yKQorCisgICAgICAqIFJldHJpZXZlIHRoZSB1c2VyZGF0YS4KKworICAgICBkIHhtbEhhc2hMb29rdXAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbEhhc2hMb29rdXAnKSAgICAgICAgICAgICB2b2lkICoKKyAgICAgZCAgdGFibGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEhhc2hUYWJsZVB0cikKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgZCB4bWxIYXNoTG9va3VwMiAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxIYXNoTG9va3VwMicpICAgICAgICAgICAgdm9pZCAqCisgICAgIGQgIHRhYmxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxIYXNoVGFibGVQdHIpCisgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBuYW1lMiAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICBkIHhtbEhhc2hMb29rdXAzICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbEhhc2hMb29rdXAzJykgICAgICAgICAgICB2b2lkICoKKyAgICAgZCAgdGFibGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEhhc2hUYWJsZVB0cikKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIG5hbWUyICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBuYW1lMyAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICBkIHhtbEhhc2hRTG9va3VwICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbEhhc2hRTG9va3VwJykgICAgICAgICAgICB2b2lkICoKKyAgICAgZCAgdGFibGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEhhc2hUYWJsZVB0cikKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIHByZWZpeCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgIGQgeG1sSGFzaFFMb29rdXAyLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sSGFzaFFMb29rdXAyJykgICAgICAgICAgIHZvaWQgKgorICAgICBkICB0YWJsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sSGFzaFRhYmxlUHRyKQorICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgcHJlZml4ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIG5hbWUyICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBwcmVmaXgyICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICBkIHhtbEhhc2hRTG9va3VwMy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbEhhc2hRTG9va3VwMycpICAgICAgICAgICB2b2lkICoKKyAgICAgZCAgdGFibGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEhhc2hUYWJsZVB0cikKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIHByZWZpeCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBuYW1lMiAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgcHJlZml4MiAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIG5hbWUzICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBwcmVmaXgzICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICAgKiBIZWxwZXJzLgorCisgICAgIGQgeG1sSGFzaENvcHkgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sSGFzaENvcHknKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sSGFzaFRhYmxlUHRyKQorICAgICBkICB0YWJsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sSGFzaFRhYmxlUHRyKQorICAgICBkICBmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sSGFzaENvcGllcikKKworICAgICBkIHhtbEhhc2hTaXplICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbEhhc2hTaXplJykKKyAgICAgZCAgdGFibGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEhhc2hUYWJsZVB0cikKKworICAgICBkIHhtbEhhc2hTY2FuICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEhhc2hTY2FuJykKKyAgICAgZCAgdGFibGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEhhc2hUYWJsZVB0cikKKyAgICAgZCAgZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEhhc2hTY2FubmVyKQorICAgICBkICBkYXRhICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICB2b2lkICoKKworICAgICBkIHhtbEhhc2hTY2FuMyAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEhhc2hTY2FuMycpCisgICAgIGQgIHRhYmxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxIYXNoVGFibGVQdHIpCisgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBuYW1lMiAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgbmFtZTMgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIGYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxIYXNoU2Nhbm5lcikKKyAgICAgZCAgZGF0YSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgdm9pZCAqCisKKyAgICAgZCB4bWxIYXNoU2NhbkZ1bGwuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxIYXNoU2NhbkZ1bGwnKQorICAgICBkICB0YWJsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sSGFzaFRhYmxlUHRyKQorICAgICBkICBmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sSGFzaFNjYW5uZXJGdWxsKQorICAgICBkICBkYXRhICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICB2b2lkICoKKworICAgICBkIHhtbEhhc2hTY2FuRnVsbDMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxIYXNoU2NhbkZ1bGwzJykKKyAgICAgZCAgdGFibGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEhhc2hUYWJsZVB0cikKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIG5hbWUyICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBuYW1lMyAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEhhc2hTY2FubmVyRnVsbCkKKyAgICAgZCAgZGF0YSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgdm9pZCAqCisKKyAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWE1MX0hBU0hfSF9fCmRpZmYgLS1naXQgYS9saWJ4bWwyL29zNDAwL2xpYnhtbHJwZy9saXN0LnJwZ2xlIGIvbGlieG1sMi9vczQwMC9saWJ4bWxycGcvbGlzdC5ycGdsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNjJmY2JkCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9vczQwMC9saWJ4bWxycGcvbGlzdC5ycGdsZQpAQCAtMCwwICsxLDE2OCBAQAorICAgICAgKiBTdW1tYXJ5OiBsaXN0cyBpbnRlcmZhY2VzCisgICAgICAqIERlc2NyaXB0aW9uOiB0aGlzIG1vZHVsZSBpbXBsZW1lbnQgdGhlIGxpc3Qgc3VwcG9ydCB1c2VkIGluCisgICAgICAqIHZhcmlvdXMgcGxhY2UgaW4gdGhlIGxpYnJhcnkuCisgICAgICAqCisgICAgICAqIENvcHk6IFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyAgICAgICoKKyAgICAgICogQXV0aG9yOiBQYXRyaWNrIE1vbm5lcmF0IDxwbUBkYXRhc3BoZXJlLmNoPiwgREFUQVNQSEVSRSBTLkEuCisKKyAgICAgIC9pZiBub3QgZGVmaW5lZChYTUxfTElOS19JTkNMVURFX18pCisgICAgICAvZGVmaW5lIFhNTF9MSU5LX0lOQ0xVREVfXworCisgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbHZlcnNpb24iCisKKyAgICAgZCB4bWxMaW5rUHRyICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorCisgICAgIGQgeG1sTGlzdFB0ciAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKworICAgICAgKiB4bWxMaXN0RGVhbGxvY2F0b3I6CisgICAgICAqIEBsazogIHRoZSBkYXRhIHRvIGRlYWxsb2NhdGUKKyAgICAgICoKKyAgICAgICogQ2FsbGJhY2sgZnVuY3Rpb24gdXNlZCB0byBmcmVlIGRhdGEgZnJvbSBhIGxpc3QuCisKKyAgICAgZCB4bWxMaXN0RGVhbGxvY2F0b3IuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NwdHIKKworICAgICAgKiB4bWxMaXN0RGF0YUNvbXBhcmU6CisgICAgICAqIEBkYXRhMDogdGhlIGZpcnN0IGRhdGEKKyAgICAgICogQGRhdGExOiB0aGUgc2Vjb25kIGRhdGEKKyAgICAgICoKKyAgICAgICogQ2FsbGJhY2sgZnVuY3Rpb24gdXNlZCB0byBjb21wYXJlIDIgZGF0YS4KKyAgICAgICoKKyAgICAgICogUmV0dXJucyAwIGlzIGVxdWFsaXR5LCAtMSBvciAxIG90aGVyd2lzZSBkZXBlbmRpbmcgb24gdGhlIG9yZGVyaW5nLgorCisgICAgIGQgeG1sTGlzdERhdGFDb21wYXJlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jcHRyCisKKyAgICAgICogeG1sTGlzdFdhbGtlcjoKKyAgICAgICogQGRhdGE6IHRoZSBkYXRhIGZvdW5kIGluIHRoZSBsaXN0CisgICAgICAqIEB1c2VyOiBleHRyYSB1c2VyIHByb3ZpZGVkIGRhdGEgdG8gdGhlIHdhbGtlcgorICAgICAgKgorICAgICAgKiBDYWxsYmFjayBmdW5jdGlvbiB1c2VkIHdoZW4gd2Fsa2luZyBhIGxpc3Qgd2l0aCB4bWxMaXN0V2FsaygpLgorICAgICAgKgorICAgICAgKiBSZXR1cm5zIDAgdG8gc3RvcCB3YWxraW5nIHRoZSBsaXN0LCAxIG90aGVyd2lzZS4KKworICAgICBkIHhtbExpc3RXYWxrZXIgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY3B0cgorCisgICAgICAqIENyZWF0aW9uL0RlbGV0aW9uCisKKyAgICAgZCB4bWxMaXN0Q3JlYXRlICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxMaXN0Q3JlYXRlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbExpc3RQdHIpCisgICAgIGQgIGRlYWxsb2NhdG9yICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxMaXN0RGVhbGxvY2F0b3IpCisgICAgIGQgIGNvbXBhcmUgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxMaXN0RGF0YUNvbXBhcmUpCisKKyAgICAgZCB4bWxMaXN0RGVsZXRlICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxMaXN0RGVsZXRlJykKKyAgICAgZCAgbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbExpc3RQdHIpCisKKyAgICAgICogQmFzaWMgT3BlcmF0b3JzCisKKyAgICAgZCB4bWxMaXN0U2VhcmNoICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxMaXN0U2VhcmNoJykgICAgICAgICAgICAgdm9pZCAqCisgICAgIGQgIGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxMaXN0UHRyKQorICAgICBkICBkYXRhICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKworICAgICBkIHhtbExpc3RSZXZlcnNlU2VhcmNoLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sTGlzdFJldmVyc2VTZWFyY2gnKSAgICAgIHZvaWQgKgorICAgICBkICBsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTGlzdFB0cikKKyAgICAgZCAgZGF0YSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCisKKyAgICAgZCB4bWxMaXN0SW5zZXJ0ICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxMaXN0SW5zZXJ0JykKKyAgICAgZCAgbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbExpc3RQdHIpCisgICAgIGQgIGRhdGEgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorCisgICAgIGQgeG1sTGlzdEFwcGVuZCAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sTGlzdEFwcGVuZCcpCisgICAgIGQgIGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxMaXN0UHRyKQorICAgICBkICBkYXRhICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKworICAgICBkIHhtbExpc3RSZW1vdmVGaXJzdC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbExpc3RSZW1vdmVGaXJzdCcpCisgICAgIGQgIGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxMaXN0UHRyKQorICAgICBkICBkYXRhICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKworICAgICBkIHhtbExpc3RSZW1vdmVMYXN0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sTGlzdFJlbW92ZUxhc3QnKQorICAgICBkICBsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTGlzdFB0cikKKyAgICAgZCAgZGF0YSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCisKKyAgICAgZCB4bWxMaXN0UmVtb3ZlQWxsLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sTGlzdFJlbW92ZUFsbCcpCisgICAgIGQgIGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxMaXN0UHRyKQorICAgICBkICBkYXRhICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKworICAgICBkIHhtbExpc3RDbGVhciAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbExpc3RDbGVhcicpCisgICAgIGQgIGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxMaXN0UHRyKQorCisgICAgIGQgeG1sTGlzdEVtcHR5ICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sTGlzdEVtcHR5JykKKyAgICAgZCAgbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbExpc3RQdHIpCisKKyAgICAgZCB4bWxMaXN0RnJvbnQgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxMaXN0RnJvbnQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTGlua1B0cikKKyAgICAgZCAgbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbExpc3RQdHIpCisKKyAgICAgZCB4bWxMaXN0RW5kICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxMaXN0RW5kJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbExpbmtQdHIpCisgICAgIGQgIGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxMaXN0UHRyKQorCisgICAgIGQgeG1sTGlzdFNpemUgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sTGlzdFNpemUnKQorICAgICBkICBsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTGlzdFB0cikKKworICAgICBkIHhtbExpc3RQb3BGcm9udC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbExpc3RQb3BGcm9udCcpCisgICAgIGQgIGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxMaXN0UHRyKQorCisgICAgIGQgeG1sTGlzdFBvcEJhY2suLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxMaXN0UG9wQmFjaycpCisgICAgIGQgIGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxMaXN0UHRyKQorCisgICAgIGQgeG1sTGlzdFB1c2hGcm9udC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbExpc3RQdXNoRnJvbnQnKQorICAgICBkICBsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTGlzdFB0cikKKyAgICAgZCAgZGF0YSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCisKKyAgICAgZCB4bWxMaXN0UHVzaEJhY2suLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxMaXN0UHVzaEJhY2snKQorICAgICBkICBsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTGlzdFB0cikKKyAgICAgZCAgZGF0YSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCisKKyAgICAgICogQWR2YW5jZWQgT3BlcmF0b3JzCisKKyAgICAgZCB4bWxMaXN0UmV2ZXJzZSAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxMaXN0UmV2ZXJzZScpCisgICAgIGQgIGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxMaXN0UHRyKQorCisgICAgIGQgeG1sTGlzdFNvcnQgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTGlzdFNvcnQnKQorICAgICBkICBsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTGlzdFB0cikKKworICAgICBkIHhtbExpc3RXYWxrICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbExpc3RXYWxrJykKKyAgICAgZCAgbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbExpc3RQdHIpCisgICAgIGQgIHdhbGtlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxMaXN0V2Fsa2VyKQorICAgICBkICB1c2VyICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2b2lkICoKKworICAgICBkIHhtbExpc3RSZXZlcnNlV2Fsay4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbExpc3RSZXZlcnNlV2FsaycpCisgICAgIGQgIGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxMaXN0UHRyKQorICAgICBkICB3YWxrZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTGlzdFdhbGtlcikKKyAgICAgZCAgdXNlciAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgdm9pZCAqCisKKyAgICAgZCB4bWxMaXN0TWVyZ2UgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxMaXN0TWVyZ2UnKQorICAgICBkICBsMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTGlzdFB0cikKKyAgICAgZCAgbDIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbExpc3RQdHIpCisKKyAgICAgZCB4bWxMaXN0RHVwICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxMaXN0RHVwJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbExpc3RQdHIpCisgICAgIGQgIG9sZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxMaXN0UHRyKQorCisgICAgIGQgeG1sTGlzdENvcHkgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sTGlzdENvcHknKQorICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTGlzdFB0cikKKyAgICAgZCAgb2xkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbExpc3RQdHIpICAgICAgICAgICAgICAgY29uc3QKKworICAgICAgKiBMaW5rIG9wZXJhdG9ycworCisgICAgIGQgeG1sTGlzdEdldERhdGEgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sTGlzdEdldERhdGEnKSAgICAgICAgICAgIHZvaWQgKgorICAgICBkICBsayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTGlua1B0cikKKworICAgICAgKiB4bWxMaXN0VW5pcXVlKCkKKyAgICAgICogeG1sTGlzdFN3YXAKKworICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfTElOS19JTkNMVURFX18KZGlmZiAtLWdpdCBhL2xpYnhtbDIvb3M0MDAvbGlieG1scnBnL25hbm9mdHAucnBnbGUgYi9saWJ4bWwyL29zNDAwL2xpYnhtbHJwZy9uYW5vZnRwLnJwZ2xlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA2Mzc1NjIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL29zNDAwL2xpYnhtbHJwZy9uYW5vZnRwLnJwZ2xlCkBAIC0wLDAgKzEsMTU2IEBACisgICAgICAqIFN1bW1hcnk6IG1pbmltYWwgRlRQIGltcGxlbWVudGF0aW9uCisgICAgICAqIERlc2NyaXB0aW9uOiBtaW5pbWFsIEZUUCBpbXBsZW1lbnRhdGlvbiBhbGxvd2luZyB0byBmZXRjaCByZXNvdXJjZXMKKyAgICAgICogICAgICAgICAgICAgIGxpa2UgZXh0ZXJuYWwgc3Vic2V0LgorICAgICAgKgorICAgICAgKiBDb3B5OiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisgICAgICAqCisgICAgICAqIEF1dGhvcjogUGF0cmljayBNb25uZXJhdCA8cG1AZGF0YXNwaGVyZS5jaD4sIERBVEFTUEhFUkUgUy5BLgorCisgICAgICAvaWYgbm90IGRlZmluZWQoTkFOT19GVFBfSF9fKQorICAgICAgL2RlZmluZSBOQU5PX0ZUUF9IX18KKworICAgICAgL2luY2x1ZGUgL2xpYnhtbHJwZy94bWx2ZXJzaW9uIgorCisgICAgICAvaWYgZGVmaW5lZChMSUJYTUxfRlRQX0VOQUJMRUQpCisKKyAgICAgZCBJTlZBTElEX1NPQ0tFVCAgYyAgICAgICAgICAgICAgICAgICAtMQorCisgICAgICAqIGZ0cExpc3RDYWxsYmFjazoKKyAgICAgICogQHVzZXJEYXRhOiAgdXNlciBwcm92aWRlZCBkYXRhIGZvciB0aGUgY2FsbGJhY2sKKyAgICAgICogQGZpbGVuYW1lOiAgdGhlIGZpbGUgbmFtZSAoaW5jbHVkaW5nICItPiIgd2hlbiBsaW5rcyBhcmUgc2hvd24pCisgICAgICAqIEBhdHRyaWI6ICB0aGUgYXR0cmlidXRlIHN0cmluZworICAgICAgKiBAb3duZXI6ICB0aGUgb3duZXIgc3RyaW5nCisgICAgICAqIEBncm91cDogIHRoZSBncm91cCBzdHJpbmcKKyAgICAgICogQHNpemU6ICB0aGUgZmlsZSBzaXplCisgICAgICAqIEBsaW5rczogIHRoZSBsaW5rIGNvdW50CisgICAgICAqIEB5ZWFyOiAgdGhlIHllYXIKKyAgICAgICogQG1vbnRoOiAgdGhlIG1vbnRoCisgICAgICAqIEBkYXk6ICB0aGUgZGF5CisgICAgICAqIEBob3VyOiAgdGhlIGhvdXIKKyAgICAgICogQG1pbnV0ZTogIHRoZSBtaW51dGUKKyAgICAgICoKKyAgICAgICogQSBjYWxsYmFjayBmb3IgdGhlIHhtbE5hbm9GVFBMaXN0IGNvbW1hbmQuCisgICAgICAqIE5vdGUgdGhhdCBvbmx5IG9uZSBvZiB5ZWFyIGFuZCBkYXk6bWludXRlIGFyZSBzcGVjaWZpZWQuCisKKyAgICAgZCBmdHBMaXN0Q2FsbGJhY2suLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NwdHIKKworICAgICAgKiBmdHBEYXRhQ2FsbGJhY2s6CisgICAgICAqIEB1c2VyRGF0YTogdGhlIHVzZXIgcHJvdmlkZWQgY29udGV4dAorICAgICAgKiBAZGF0YTogdGhlIGRhdGEgcmVjZWl2ZWQKKyAgICAgICogQGxlbjogaXRzIHNpemUgaW4gYnl0ZXMKKyAgICAgICoKKyAgICAgICogQSBjYWxsYmFjayBmb3IgdGhlIHhtbE5hbm9GVFBHZXQgY29tbWFuZC4KKworICAgICBkIGZ0cERhdGFDYWxsYmFjay4uLgorICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY3B0cgorCisgICAgICAqIEluaXQKKworICAgICBkIHhtbE5hbm9GVFBJbml0ICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5hbm9GVFBJbml0JykKKworICAgICBkIHhtbE5hbm9GVFBDbGVhbnVwLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTmFub0ZUUENsZWFudXAnKQorCisgICAgICAqIENyZWF0aW5nL2ZyZWVpbmcgY29udGV4dHMuCisKKyAgICAgZCB4bWxOYW5vRlRQTmV3Q3R4dC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbE5hbm9GVFBOZXdDdHh0JykgICAgICAgICB2b2lkICoKKyAgICAgZCAgVVJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisKKyAgICAgZCB4bWxOYW5vRlRQRnJlZUN0eHQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOYW5vRlRQRnJlZUN0eHQnKQorICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKworICAgICBkIHhtbE5hbm9GVFBDb25uZWN0VG8uLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxOYW5vRlRQQ29ubmVjdFRvJykgICAgICAgdm9pZCAqCisgICAgIGQgIHNlcnZlciAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBwb3J0ICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgICogT3BlbmluZy9jbG9zaW5nIHNlc3Npb24gY29ubmVjdGlvbnMuCisKKyAgICAgZCB4bWxOYW5vRlRQT3BlbiAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxOYW5vRlRQT3BlbicpICAgICAgICAgICAgdm9pZCAqCisgICAgIGQgIFVSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorCisgICAgIGQgeG1sTmFub0ZUUENvbm5lY3QuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxOYW5vRlRQQ29ubmVjdCcpCisgICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorCisgICAgIGQgeG1sTmFub0ZUUENsb3NlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sTmFub0ZUUENsb3NlJykKKyAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCisKKyAgICAgZCB4bWxOYW5vRlRQUXVpdCAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxOYW5vRlRQUXVpdCcpCisgICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorCisgICAgIGQgeG1sTmFub0ZUUFNjYW5Qcm94eS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5hbm9GVFBTY2FuUHJveHknKQorICAgICBkICBVUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKworICAgICBkIHhtbE5hbm9GVFBQcm94eS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5hbm9GVFBQcm94eScpCisgICAgIGQgIGhvc3QgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBwb3J0ICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIHVzZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBwYXNzd2QgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgdHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sTmFub0ZUUFVwZGF0ZVVSTC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbE5hbm9GVFBVcGRhdGVVUkwnKQorICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKyAgICAgZCAgVVJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisKKyAgICAgICogUmF0aGVyIGludGVybmFsIGNvbW1hbmRzLgorCisgICAgIGQgeG1sTmFub0ZUUEdldFJlc3BvbnNlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sTmFub0ZUUEdldFJlc3BvbnNlJykKKyAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCisKKyAgICAgZCB4bWxOYW5vRlRQQ2hlY2tSZXNwb25zZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbE5hbm9GVFBDaGVja1Jlc3BvbnNlJykKKyAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCisKKyAgICAgICogQ0QvRElSL0dFVCBoYW5kbGVycy4KKworICAgICBkIHhtbE5hbm9GVFBDd2QgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbE5hbm9GVFBDd2QnKQorICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKyAgICAgZCAgZGlyZWN0b3J5ICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisKKyAgICAgZCB4bWxOYW5vRlRQRGVsZSAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxOYW5vRlRQRGVsZScpCisgICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorICAgICBkICBmaWxlICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKworICAgICBkIHhtbE5hbm9GVFBHZXRDb25uZWN0aW9uLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sTmFub0ZUUEdldENvbm5lY3Rpb24nKSAgIFNvY2tldCBkZXNjcmlwdG9yCisgICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorCisgICAgIGQgeG1sTmFub0ZUUENsb3NlQ29ubmVjdGlvbi4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbE5hbm9GVFBDbG9zZUNvbm5lY3Rpb24nKQorICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKworICAgICBkIHhtbE5hbm9GVFBMaXN0ICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbE5hbm9GVFBMaXN0JykKKyAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCisgICAgIGQgIGNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZShmdHBMaXN0Q2FsbGJhY2spCisgICAgIGQgIHVzZXJEYXRhICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorICAgICBkICBmaWxlbmFtZSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKworICAgICBkIHhtbE5hbm9GVFBHZXRTb2NrZXQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxOYW5vRlRQR2V0U29ja2V0JykgICAgICAgU29ja2V0IGRlc2NyaXB0b3IKKyAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCisgICAgIGQgIGZpbGVuYW1lICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorCisgICAgIGQgeG1sTmFub0ZUUEdldCAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sTmFub0ZUUEdldCcpCisgICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorICAgICBkICBjYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoZnRwRGF0YUNhbGxiYWNrKQorICAgICBkICB1c2VyRGF0YSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKyAgICAgZCAgZmlsZW5hbWUgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisKKyAgICAgZCB4bWxOYW5vRlRQUmVhZCAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxOYW5vRlRQUmVhZCcpCisgICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorICAgICBkICBkZXN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKyAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9GVFBfRU5BQkxFRAorICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOQU5PX0ZUUF9IX18KZGlmZiAtLWdpdCBhL2xpYnhtbDIvb3M0MDAvbGlieG1scnBnL25hbm9odHRwLnJwZ2xlIGIvbGlieG1sMi9vczQwMC9saWJ4bWxycGcvbmFub2h0dHAucnBnbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGEwNzZkMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvb3M0MDAvbGlieG1scnBnL25hbm9odHRwLnJwZ2xlCkBAIC0wLDAgKzEsMTAzIEBACisgICAgICAqIFN1bW1hcnk6IG1pbmltYWwgSFRUUCBpbXBsZW1lbnRhdGlvbgorICAgICAgKiBEZXNjcmlwdGlvbjogbWluaW1hbCBIVFRQIGltcGxlbWVudGF0aW9uIGFsbG93aW5nIHRvIGZldGNoIHJlc291cmNlcworICAgICAgKiAgICAgICAgICAgICAgbGlrZSBleHRlcm5hbCBzdWJzZXQuCisgICAgICAqCisgICAgICAqIENvcHk6IFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyAgICAgICoKKyAgICAgICogQXV0aG9yOiBQYXRyaWNrIE1vbm5lcmF0IDxwbUBkYXRhc3BoZXJlLmNoPiwgREFUQVNQSEVSRSBTLkEuCisKKyAgICAgIC9pZiBub3QgZGVmaW5lZChOQU5PX0hUVFBfSF9fKQorICAgICAgL2RlZmluZSBOQU5PX0hUVFBfSF9fCisKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sdmVyc2lvbiIKKworICAgICAgL2lmIGRlZmluZWQoTElCWE1MX0hUVFBfRU5BQkxFRCkKKworICAgICBkIHhtbE5hbm9IVFRQSW5pdC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5hbm9IVFRQSW5pdCcpCisKKyAgICAgZCB4bWxOYW5vSFRUUENsZWFudXAuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOYW5vSFRUUENsZWFudXAnKQorCisgICAgIGQgeG1sTmFub0hUVFBTY2FuUHJveHkuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOYW5vSFRUUFNjYW5Qcm94eScpCisgICAgIGQgIFVSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorCisgICAgIGQgeG1sTmFub0hUVFBGZXRjaC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbE5hbm9IVFRQRmV0Y2gnKQorICAgICBkICBVUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgZmlsZW5hbWUgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisKKyAgICAgZCB4bWxOYW5vSFRUUE1ldGhvZC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbE5hbm9IVFRQTWV0aG9kJykgICAgICAgICB2b2lkICoKKyAgICAgZCAgVVJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIG1ldGhvZCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBpbnB1dCAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgY29udGVudFR5cGUgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqICoKKyAgICAgZCAgaGVhZGVycyAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIGlsZW4gICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbE5hbm9IVFRQTWV0aG9kUmVkaXIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxOYW5vSFRUUE1ldGhvZFJlZGlyJykgICAgdm9pZCAqCisgICAgIGQgIFVSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBtZXRob2QgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgaW5wdXQgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIGNvbnRlbnRUeXBlICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKiAqCisgICAgIGQgIHJlZGlyICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKiAqCisgICAgIGQgIGhlYWRlcnMgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBpbGVuICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxOYW5vSFRUUE9wZW4uLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxOYW5vSFRUUE9wZW4nKSAgICAgICAgICAgdm9pZCAqCisgICAgIGQgIFVSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBjb250ZW50VHlwZSAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyICooKikKKworICAgICBkIHhtbE5hbm9IVFRQT3BlblJlZGlyLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sTmFub0hUVFBPcGVuUmVkaXInKSAgICAgIHZvaWQgKgorICAgICBkICBVUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgY29udGVudFR5cGUgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqICoKKyAgICAgZCAgcmVkaXIgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqICoKKworICAgICBkIHhtbE5hbm9IVFRQUmV0dXJuQ29kZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbE5hbm9IVFRQUmV0dXJuQ29kZScpCisgICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorCisgICAgIGQgeG1sTmFub0hUVFBBdXRoSGVhZGVyLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sTmFub0hUVFBBdXRoSGVhZGVyJykgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKworICAgICBkIHhtbE5hbm9IVFRQUmVkaXIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxOYW5vSFRUUFJlZGlyJykgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorCisgICAgIGQgeG1sTmFub0hUVFBDb250ZW50TGVuZ3RoLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sTmFub0hUVFBDb250ZW50TGVuZ3RoJykKKyAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCisKKyAgICAgZCB4bWxOYW5vSFRUUEVuY29kaW5nLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sTmFub0hUVFBFbmNvZGluZycpICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKworICAgICBkIHhtbE5hbm9IVFRQTWltZVR5cGUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxOYW5vSFRUUE1pbWVUeXBlJykgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorCisgICAgIGQgeG1sTmFub0hUVFBSZWFkLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sTmFub0hUVFBSZWFkJykKKyAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCisgICAgIGQgIGRlc3QgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKKyAgICAgZCB4bWxOYW5vSFRUUFNhdmUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxOYW5vSFRUUFNhdmUnKQorICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKyAgICAgZCAgZmlsZW5hbWUgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9PVVRQVVRfRU5BQkxECisKKyAgICAgZCB4bWxOYW5vSFRUUENsb3NlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTmFub0hUVFBDbG9zZScpCisgICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorCisgICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9IVFRQX0VOQUJMRUQKKyAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTkFOT19IVFRQX0hfXwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9vczQwMC9saWJ4bWxycGcvcGFyc2VyLnJwZ2xlIGIvbGlieG1sMi9vczQwMC9saWJ4bWxycGcvcGFyc2VyLnJwZ2xlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdmMjllMzEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL29zNDAwL2xpYnhtbHJwZy9wYXJzZXIucnBnbGUKQEAgLTAsMCArMSwxNDA3IEBACisgICAgICAqIFN1bW1hcnk6IHRoZSBjb3JlIHBhcnNlciBtb2R1bGUKKyAgICAgICogRGVzY3JpcHRpb246IEludGVyZmFjZXMsIGNvbnN0YW50cyBhbmQgdHlwZXMgcmVsYXRlZCB0byB0aGUgWE1MIHBhcnNlcgorICAgICAgKgorICAgICAgKiBDb3B5OiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisgICAgICAqCisgICAgICAqIEF1dGhvcjogUGF0cmljayBNb25uZXJhdCA8cG1AZGF0YXNwaGVyZS5jaD4sIERBVEFTUEhFUkUgUy5BLgorCisgICAgICAvaWYgbm90IGRlZmluZWQoWE1MX1BBUlNFUl9IX18pCisgICAgICAvZGVmaW5lIFhNTF9QQVJTRVJfSF9fCisKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sdmVyc2lvbiIKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcvdHJlZSIKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcvZGljdCIKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcvaGFzaCIKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcvdmFsaWQiCisgICAgICAvaW5jbHVkZSAibGlieG1scnBnL2VudGl0aWVzIgorICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWxlcnJvciIKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sc3RyaW5nIgorCisgICAgICAqIFhNTF9ERUZBVUxUX1ZFUlNJT046CisgICAgICAqCisgICAgICAqIFRoZSBkZWZhdWx0IHZlcnNpb24gb2YgWE1MIHVzZWQ6IDEuMAorCisgICAgIGQgWE1MX0RFRkFVTFRfVkVSU0lPTi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgICcxLjAnCisKKyAgICAgICogeG1sUGFyc2VySW5wdXQ6CisgICAgICAqCisgICAgICAqIEFuIHhtbFBhcnNlcklucHV0IGlzIGFuIGlucHV0IGZsb3cgZm9yIHRoZSBYTUwgcHJvY2Vzc29yLgorICAgICAgKiBFYWNoIGVudGl0eSBwYXJzZWQgaXMgYXNzb2NpYXRlZCBhbiB4bWxQYXJzZXJJbnB1dCAoZXhjZXB0IHRoZQorICAgICAgKiBmZXcgcHJlZGVmaW5lZCBvbmVzKS4gVGhpcyBpcyB0aGUgY2FzZSBib3RoIGZvciBpbnRlcm5hbCBlbnRpdGllcworICAgICAgKiAtIGluIHdoaWNoIGNhc2UgdGhlIGZsb3cgaXMgYWxyZWFkeSBjb21wbGV0ZWx5IGluIG1lbW9yeSAtIG9yCisgICAgICAqIGV4dGVybmFsIGVudGl0aWVzIC0gaW4gd2hpY2ggY2FzZSB3ZSB1c2UgdGhlIGJ1ZiBzdHJ1Y3R1cmUgZm9yCisgICAgICAqIHByb2dyZXNzaXZlIHJlYWRpbmcgYW5kIEkxOE4gY29udmVyc2lvbnMgdG8gdGhlIGludGVybmFsIFVURi04IGZvcm1hdC4KKworICAgICAgKiB4bWxQYXJzZXJJbnB1dERlYWxsb2NhdGU6CisgICAgICAqIEBzdHI6ICB0aGUgc3RyaW5nIHRvIGRlYWxsb2NhdGUKKyAgICAgICoKKyAgICAgICogQ2FsbGJhY2sgZm9yIGZyZWVpbmcgc29tZSBwYXJzZXIgaW5wdXQgYWxsb2NhdGlvbnMuCisKKyAgICAgZCB4bWxQYXJzZXJJbnB1dERlYWxsb2NhdGUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NwdHIKKworICAgICAgKiBJbnB1dCBidWZmZXIKKworICAgICBkIHhtbFBhcnNlcklucHV0ICBkcyAgICAgICAgICAgICAgICAgIGJhc2VkKHhtbFBhcnNlcklucHV0UHRyKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduIHF1YWxpZmllZAorICAgICBkICBidWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIpICAgICAgICBVVEYtOCBlbmNvZGVkIGJ1ZmZlcgorICAgICBkICBmaWxlbmFtZSAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgZGlyZWN0b3J5ICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIGJhc2UgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgZW5kICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIGxlbmd0aCAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExlbmd0aCBpZiBrbm93bgorICAgICBkICBsaW5lICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDdXJyZW50IGxpbmUKKyAgICAgZCAgY29sICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3VycmVudCBjb2x1bW4KKyAgICAgICoKKyAgICAgICogTk9URTogY29uc3VtZWQgaXMgb25seSB0ZXN0ZWQgZm9yIGVxdWFsaXR5IGluIHRoZSBwYXJzZXIgY29kZSwKKyAgICAgICogICAgICAgc28gZXZlbiBpZiB0aGVyZSBpcyBhbiBvdmVyZmxvdyB0aGlzIHNob3VsZCBub3QgZ2l2ZSB0cm91YmxlcworICAgICAgKiAgICAgICBmb3IgcGFyc2luZyB2ZXJ5IGxhcmdlIGluc3RhbmNlcy4KKyAgICAgICoKKyAgICAgZCAgY29uc3VtZWQgICAgICAgICAgICAgICAgICAgICAyMHUgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBjb25zdW1lZCB4bWxDaGFycworICAgICBkICBmcmVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sUGFyc2VySW5wdXREZWFsbG9jYXRlKSAgICAgICBiYXNlIGRlYWxsb2NhdG9yCisgICAgIGQgIGVuY29kaW5nICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICB2ZXJzaW9uICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgc3RhbmRhbG9uZSAgICAgICAgICAgICAgICAgICAxMGkgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhbmRhbG9uZSBlbnRpdHkgPworICAgICBkICBpZCAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbnRpdHkgdW5pcXVlIElECisKKyAgICAgICogeG1sUGFyc2VyTm9kZUluZm86CisgICAgICAqCisgICAgICAqIFRoZSBwYXJzZXIgY2FuIGJlIGFza2VkIHRvIGNvbGxlY3QgTm9kZSBpbmZvcm1hdGlvbnMsIGkuZS4gYXQgd2hhdAorICAgICAgKiBwbGFjZSBpbiB0aGUgZmlsZSB0aGV5IHdlcmUgZGV0ZWN0ZWQuCisgICAgICAqIE5PVEU6IFRoaXMgaXMgb2ZmIGJ5IGRlZmF1bHQgYW5kIG5vdCB2ZXJ5IHdlbGwgdGVzdGVkLgorCisgICAgIGQgeG1sUGFyc2VyTm9kZUluZm9QdHIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorCisgICAgIGQgeG1sUGFyc2VyTm9kZUluZm8uLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgZHMgICAgICAgICAgICAgICAgICBiYXNlZCh4bWxQYXJzZXJOb2RlSW5mb1B0cikKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbiBxdWFsaWZpZWQKKyAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpICAgICAgICAgICAgICAgICAgICAgY29uc3QKKyAgICAgICogUG9zaXRpb24gJiBsaW5lICMgdGhhdCB0ZXh0IHRoYXQgY3JlYXRlZCB0aGUgbm9kZSBiZWdpbnMgJiBlbmRzIG9uCisgICAgIGQgIGJlZ2luX3BvcyAgICAgICAgICAgICAgICAgICAgMjB1IDAKKyAgICAgZCAgYmVnaW5fbGluZSAgICAgICAgICAgICAgICAgICAyMHUgMAorICAgICBkICBlbmRfcG9zICAgICAgICAgICAgICAgICAgICAgIDIwdSAwCisgICAgIGQgIGVuZF9saW5lICAgICAgICAgICAgICAgICAgICAgMjB1IDAKKworICAgICBkIHhtbFBhcnNlck5vZGVJbmZvU2VxUHRyLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKworICAgICBkIHhtbFBhcnNlck5vZGVJbmZvU2VxLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGRzICAgICAgICAgICAgICAgICAgYmFzZWQoeG1sUGFyc2VyTm9kZUluZm9TZXFQdHIpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24gcXVhbGlmaWVkCisgICAgIGQgIG1heGltdW0gICAgICAgICAgICAgICAgICAgICAgMjB1IDAKKyAgICAgZCAgbGVuZ3RoICAgICAgICAgICAgICAgICAgICAgICAyMHUgMAorICAgICBkICBidWZmZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sUGFyc2VyTm9kZUluZm9QdHIpCisKKyAgICAgICogeG1sUGFyc2VySW5wdXRTdGF0ZToKKyAgICAgICoKKyAgICAgICogVGhlIHBhcnNlciBpcyBub3cgd29ya2luZyBhbHNvIGFzIGEgc3RhdGUgYmFzZWQgcGFyc2VyLgorICAgICAgKiBUaGUgcmVjdXJzaXZlIG9uZSB1c2UgdGhlIHN0YXRlIGluZm8gZm9yIGVudGl0aWVzIHByb2Nlc3NpbmcuCisKKyAgICAgZCB4bWxQYXJzZXJJbnB1dFN0YXRlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgMTBpIDAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykgICAgICAgICAgIGVudW0KKyAgICAgZCAgWE1MX1BBUlNFUl9FT0YuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTm90aGluZyB0byBwYXJzZQorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIC0xCisgICAgIGQgIFhNTF9QQVJTRVJfU1RBUlQuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vdGhpbmcgcGFyc2VkCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMAorICAgICBkICBYTUxfUEFSU0VSX01JU0MuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNaXNjKiBiNCBpbnQgc3Vic2V0CisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMQorICAgICBkICBYTUxfUEFSU0VSX1BJICBjICAgICAgICAgICAgICAgICAgIDIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbiBwcm9jIGluc3RyCisgICAgIGQgIFhNTF9QQVJTRVJfRFRELi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEluIHNvbWUgRFREIGNvbnRlbnQKKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzCisgICAgIGQgIFhNTF9QQVJTRVJfUFJPTE9HLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1pc2MqIGFmdGVyIGludCBzYnN0CisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNAorICAgICBkICBYTUxfUEFSU0VSX0NPTU1FTlQuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXaXRoaW4gYSBjb21tZW50CisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNQorICAgICBkICBYTUxfUEFSU0VSX1NUQVJUX1RBRy4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXaXRoaW4gYSBzdGFydCB0YWcKKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA2CisgICAgIGQgIFhNTF9QQVJTRVJfQ09OVEVOVC4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdpdGhpbiB0aGUgY29udGVudAorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDcKKyAgICAgZCAgWE1MX1BBUlNFUl9DREFUQV9TRUNUSU9OLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2l0aGluIGEgQ0RBVEEKKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA4CisgICAgIGQgIFhNTF9QQVJTRVJfRU5EX1RBRy4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdpdGhpbiBhIGNsb3NpbmcgdGFnCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgOQorICAgICBkICBYTUxfUEFSU0VSX0VOVElUWV9ERUNMLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbiBhbiBlbnRpdHkgZGVjbAorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwCisgICAgIGQgIFhNTF9QQVJTRVJfRU5USVRZX1ZBTFVFLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEluIGVudGl0eSBkZWNsIHZhbHVlCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTEKKyAgICAgZCAgWE1MX1BBUlNFUl9BVFRSSUJVVEVfVkFMVUUuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW4gYXR0cmlidXRlIHZhbHVlCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTIKKyAgICAgZCAgWE1MX1BBUlNFUl9TWVNURU1fTElURVJBTC4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW4gYSBTWVNURU0gdmFsdWUKKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMworICAgICBkICBYTUxfUEFSU0VSX0VQSUxPRy4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMYXN0IGVuZCB0YWcgTWlzYyoKKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNAorICAgICBkICBYTUxfUEFSU0VSX0lHTk9SRS4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbiBJR05PUkVEIHNlY3Rpb24KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNQorICAgICBkICBYTUxfUEFSU0VSX1BVQkxJQ19MSVRFUkFMLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbiBhIFBVQkxJQyB2YWx1ZQorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE2CisKKyAgICAgICogWE1MX0RFVEVDVF9JRFM6CisgICAgICAqCisgICAgICAqIEJpdCBpbiB0aGUgbG9hZHN1YnNldCBjb250ZXh0IGZpZWxkIHRvIHRlbGwgdG8gZG8gSUQvUkVGcyBsb29rdXBzLgorICAgICAgKiBVc2UgaXQgdG8gaW5pdGlhbGl6ZSB4bWxMb2FkRXh0RHRkRGVmYXVsdFZhbHVlLgorCisgICAgIGQgWE1MX0RFVEVDVF9JRFMgIGMgICAgICAgICAgICAgICAgICAgMgorCisgICAgICAqIFhNTF9DT01QTEVURV9BVFRSUzoKKyAgICAgICoKKyAgICAgICogQml0IGluIHRoZSBsb2Fkc3Vic2V0IGNvbnRleHQgZmllbGQgdG8gdGVsbCB0byBkbyBjb21wbGV0ZSB0aGUKKyAgICAgICogZWxlbWVudHMgYXR0cmlidXRlcyBsaXN0cyB3aXRoIHRoZSBvbmVzIGRlZmF1bHRlZCBmcm9tIHRoZSBEVERzLgorICAgICAgKiBVc2UgaXQgdG8gaW5pdGlhbGl6ZSB4bWxMb2FkRXh0RHRkRGVmYXVsdFZhbHVlLgorCisgICAgIGQgWE1MX0NPTVBMRVRFX0FUVFJTLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNAorCisgICAgICAqIFhNTF9TS0lQX0lEUzoKKyAgICAgICoKKyAgICAgICogQml0IGluIHRoZSBsb2Fkc3Vic2V0IGNvbnRleHQgZmllbGQgdG8gdGVsbCB0byBub3QgZG8gSUQvUkVGcworICAgICAgKiAgIHJlZ2lzdHJhdGlvbi4KKyAgICAgICogVXNlZCB0byBpbml0aWFsaXplIHhtbExvYWRFeHREdGREZWZhdWx0VmFsdWUgaW4gc29tZSBzcGVjaWFsIGNhc2VzLgorCisgICAgIGQgWE1MX1NLSVBfSURTICAgIGMgICAgICAgICAgICAgICAgICAgOAorCisgICAgICAqIHhtbFBhcnNlck1vZGU6CisgICAgICAqCisgICAgICAqIEEgcGFyc2VyIGNhbiBvcGVyYXRlIGluIHZhcmlvdXMgbW9kZXMKKworICAgICBkIHhtbFBhcnNlck1vZGUgICBzICAgICAgICAgICAgIDEwaSAwIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpICAgICAgICAgICBlbnVtCisgICAgIGQgIFhNTF9QQVJTRV9VTktOT1dOLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMAorICAgICBkICBYTUxfUEFSU0VfRE9NLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMQorICAgICBkICBYTUxfUEFSU0VfU0FYLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMgorICAgICBkICBYTUxfUEFSU0VfUFVTSF9ET00uLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzCisgICAgIGQgIFhNTF9QQVJTRV9QVVNIX1NBWC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDQKKyAgICAgZCAgWE1MX1BBUlNFX1JFQURFUi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUKKworICAgICAgKiB4bWxQYXJzZXJDdHh0OgorICAgICAgKgorICAgICAgKiBUaGUgcGFyc2VyIGNvbnRleHQuCisgICAgICAqIE5PVEUgVGhpcyBkb2Vzbid0IGNvbXBsZXRlbHkgZGVmaW5lIHRoZSBwYXJzZXIgc3RhdGUsIHRoZSAoY3VycmVudCA/KQorICAgICAgKiAgICAgIGRlc2lnbiBvZiB0aGUgcGFyc2VyIHVzZXMgcmVjdXJzaXZlIGZ1bmN0aW9uIGNhbGxzIHNpbmNlIHRoaXMgYWxsb3cKKyAgICAgICogICAgICBhbmQgZWFzeSBtYXBwaW5nIGZyb20gdGhlIHByb2R1Y3Rpb24gcnVsZXMgb2YgdGhlIHNwZWNpZmljYXRpb24KKyAgICAgICogICAgICB0byB0aGUgYWN0dWFsIGNvZGUuIFRoZSBkcmF3YmFjayBpcyB0aGF0IHRoZSBhY3R1YWwgZnVuY3Rpb24gY2FsbAorICAgICAgKiAgICAgIGFsc28gcmVmbGVjdCB0aGUgcGFyc2VyIHN0YXRlLiBIb3dldmVyIG1vc3Qgb2YgdGhlIHBhcnNpbmcgcm91dGluZXMKKyAgICAgICogICAgICB0YWtlcyBhcyB0aGUgb25seSBhcmd1bWVudCB0aGUgcGFyc2VyIGNvbnRleHQgcG9pbnRlciwgc28gbWlncmF0aW5nCisgICAgICAqICAgICAgdG8gYSBzdGF0ZSBiYXNlZCBwYXJzZXIgZm9yIHByb2dyZXNzaXZlIHBhcnNpbmcgc2hvdWxkbid0IGJlIHRvbworICAgICAgKiAgICAgIGhhcmQuCisKKyAgICAgZCB4bWxQYXJzZXJDdHh0ICAgZHMgICAgICAgICAgICAgICAgICBiYXNlZCh4bWxQYXJzZXJDdHh0UHRyKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduIHF1YWxpZmllZAorICAgICBkICBzYXggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU0FYSGFuZGxlclB0cikgICAgICAgICAgICAgICBUaGUgU0FYIGhhbmRsZXIKKyAgICAgZCAgdXNlckRhdGEgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0FYIG9ubHktNCBET00gYnVpbGQKKyAgICAgZCAgbXlEb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbERvY1B0cikgICAgICAgICAgICAgICAgICAgICAgRG9jdW1lbnQgYmVpbmcgYnVpbHQKKyAgICAgZCAgd2VsbEZvcm1lZCAgICAgICAgICAgICAgICAgICAxMGkgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2VsbCBmb3JtZWQgZG9jID8KKyAgICAgZCAgcmVwbGFjZUVudGl0aWVzLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVwbGFjZSBlbnRpdGllcyA/CisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAKKyAgICAgZCAgdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIGVuY29kaW5nICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBzdGFuZGFsb25lICAgICAgICAgICAgICAgICAgIDEwaSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdGFuZGFsb25lIGRvY3VtZW50CisgICAgIGQgIGh0bWwgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhUTUwgc3RhdGUvdHlwZQorICAgICAgKgorICAgICAgKiBJbnB1dCBzdHJlYW0gc3RhY2sKKyAgICAgICoKKyAgICAgZCAgaW5wdXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFBhcnNlcklucHV0UHRyKSAgICAgICAgICAgICAgQ3VycmVudCBpbnB1dCBzdHJlYW0KKyAgICAgZCAgaW5wdXROciAgICAgICAgICAgICAgICAgICAgICAxMGkgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBjdXJyZW50IGluIHN0cmVhbXMKKyAgICAgZCAgaW5wdXRNYXggICAgICAgICAgICAgICAgICAgICAxMGkgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWF4ICMgb2YgaW4gc3RyZWFtcworICAgICBkICBpbnB1dFRhYiAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxQYXJzZXJJbnB1dFB0ciAqCisgICAgICAqCisgICAgICAqIE5vZGUgYW5hbHlzaXMgc3RhY2sgb25seSB1c2VkIGZvciBET00gYnVpbGRpbmcKKyAgICAgICoKKyAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpICAgICAgICAgICAgICAgICAgICAgQ3VycmVudCBwYXJzZWQgbm9kZQorICAgICBkICBub2RlTnIgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYXJzaW5nIHN0YWNrIGRlcHRoCisgICAgIGQgIG5vZGVNYXggICAgICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1heCBzdGFjayBkZXB0aAorICAgICBkICBub2RlVGFiICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxOb2RlUHRyICoKKyAgICAgICoKKyAgICAgZCAgcmVjb3JkX2luZm8gICAgICAgICAgICAgICAgICAxMGkgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgS2VlcCBub2RlIGluZm8gPworICAgICBkICBub2RlX3NlcSAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sUGFyc2VyTm9kZUluZm9TZXEpICAgICAgICAgICBQYXJzZWQgbm9kZXMgaW5mbworICAgICAgKgorICAgICBkICBlcnJObyAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFcnJvciBjb2RlCisgICAgICAqCisgICAgIGQgIGhhc0V4dGVybmFsU3Vic2V0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAKKyAgICAgZCAgaGFzaFBFcmVmcyAgICAgICAgICAgICAgICAgICAxMGkgMAorICAgICBkICBleHRlcm5hbCAgICAgICAgICAgICAgICAgICAgIDEwaSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYXJzaW5nIGV4dC4gZW50aXR5PworICAgICAgKgorICAgICBkICB2YWxpZCAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWYWxpZCBkb2N1bWVudCA/CisgICAgIGQgIHZhbGlkYXRlICAgICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRyeSB0byB2YWxpZGF0ZSA/CisgICAgIGQgIHZjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxWYWxpZEN0eHQpICAgICAgICAgICAgICAgICAgIFZhbGlkaXR5IGNvbnRleHQKKyAgICAgICoKKyAgICAgZCAgaW5zdGF0ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFBhcnNlcklucHV0U3RhdGUpICAgICAgICAgICAgQ3VycmVudCBpbnB1dCB0eXBlCisgICAgIGQgIHRva2VuICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5leHQgbG9vay1haGVhZCBjaGFyCisgICAgICAqCisgICAgIGQgIGRpcmVjdG9yeSAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKgorICAgICAgKgorICAgICAgKiBOb2RlIG5hbWUgc3RhY2sKKyAgICAgICoKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIG5hbWVOciAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhcnNpbmcgc3RhY2sgZGVwdGgKKyAgICAgZCAgbmFtZU1heCAgICAgICAgICAgICAgICAgICAgICAxMGkgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWF4IHN0YWNrIGRlcHRoCisgICAgIGQgIG5hbWVUYWIgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiAqCisgICAgICAqCisgICAgIGQgIG5iQ2hhcnMgICAgICAgICAgICAgICAgICAgICAgMjBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgeG1sQ2hhcnMgcHJvY2Vzc2VkCisgICAgIGQgIGNoZWNrSW5kZXggICAgICAgICAgICAgICAgICAgMjBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQgcHJvZ3Jlc3NpdmUgcGFyc2UKKyAgICAgZCAga2VlcEJsYW5rcyAgICAgICAgICAgICAgICAgICAxMGkgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVWdseSBidXQgLi4uCisgICAgIGQgIGRpc2FibGVTQVggICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERpc2FibGUgU0FYIGNsbGJhY2tzCisgICAgIGQgIGluU3Vic2V0ICAgICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEluIGludCAxL2V4dCAyIHNic2V0CisgICAgIGQgIGludFN1Yk5hbWUgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBleHRTdWJVUkkgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgZXh0U3ViU3l0ZW0gICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgICAqCisgICAgICAqIHhtbDpzcGFjZSB2YWx1ZXMKKyAgICAgICoKKyAgICAgZCAgc3BhY2UgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ICoKKyAgICAgZCAgc3BhY2VOciAgICAgICAgICAgICAgICAgICAgICAxMGkgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFyc2luZyBzdGFjayBkZXB0aAorICAgICBkICBzcGFjZU1heCAgICAgICAgICAgICAgICAgICAgIDEwaSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYXggc3RhY2sgZGVwdGgKKyAgICAgZCAgc3BhY2VUYWIgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ICoKKyAgICAgICoKKyAgICAgZCAgZGVwdGggICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gZGV0ZWN0IGxvb3BzCisgICAgIGQgIGVudGl0eSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxQYXJzZXJJbnB1dFB0cikgICAgICAgICAgICAgIFRvIGNoZWNrIGJvdW5kYXJpZXMKKyAgICAgZCAgY2hhcnNldCAgICAgICAgICAgICAgICAgICAgICAxMGkgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW4tbWVtb3J5IGNvbnRlbnQKKyAgICAgZCAgbm9kZWxlbiAgICAgICAgICAgICAgICAgICAgICAxMGkgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3BlZWQgdXAgcGFyc2luZworICAgICBkICBub2RlbWVtICAgICAgICAgICAgICAgICAgICAgIDEwaSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTcGVlZCB1cCBwYXJzaW5nCisgICAgIGQgIHBlZGFudGljICAgICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVuYi4gcGVkYW50aWMgd2FybmcKKyAgICAgZCAgI3ByaXZhdGUgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCisgICAgICAqCisgICAgIGQgIGxvYWRzdWJzZXQgICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvYWQgZXh0LiBzdWJzZXQgPworICAgICBkICBsaW5lbnVtYmVycyAgICAgICAgICAgICAgICAgIDEwaSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZXQgbGluZSBudW1iZXJzID8KKyAgICAgZCAgY2F0YWxvZ3MgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCisgICAgIGQgIHJlY292ZXJ5ICAgICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJ1biBpbiByZWNvdmVyeSBtb2RlCisgICAgIGQgIHByb2dyZXNzaXZlICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFByb2dyZXNzaXZlIHBhcnNpbmc/CisgICAgIGQgIGRpY3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxEaWN0UHRyKSAgICAgICAgICAgICAgICAgICAgIFBhcnNlciBkaWN0aW9uYXJ5CisgICAgIGQgIGF0dHMgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBtYXhhdHRzICAgICAgICAgICAgICAgICAgICAgIDEwaSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBYm92ZSBhcnJheSBzaXplCisgICAgIGQgIGRvY2RpY3QgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVzZSBkaWN0aW9uYXJ5ID8KKyAgICAgICoKKyAgICAgICogcHJlLWludGVybmVkIHN0cmluZ3MKKyAgICAgICoKKyAgICAgZCAgc3RyX3htbCAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIHN0cl94bWxucyAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBzdHJfeG1sX21zICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgICoKKyAgICAgICogRXZlcnl0aGluZyBiZWxvdyBpcyB1c2VkIG9ubHkgYnkgdGhlIG5ldyBTQVggbW9kZQorICAgICAgKgorICAgICBkICBzYXgyICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgU0FYIG1vZGUgPworICAgICBkICBuc05yICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIGluaGVyaXRlZCBubXNwYWNlcworICAgICBkICBuc01heCAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBcnJheSBzaXplCisgICAgIGQgIG5zVGFiICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBhdHRhbGxvY3MgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgKgorICAgICBkICBwdXNoVGFiICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKyAgICAgZCAgYXR0c0RlZmF1bHQgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEhhc2hUYWJsZVB0cikgICAgICAgICAgICAgICAgRGVmYXVsdGVkIGF0dHJzCisgICAgIGQgIGF0dHNTcGVjaWFsICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxIYXNoVGFibGVQdHIpICAgICAgICAgICAgICAgIG5vbi1DREFUQSBhdHRycworICAgICBkICBuc1dlbGxGb3JtZWQgICAgICAgICAgICAgICAgIDEwaSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEb2MgbmFtZXNwYWNlIE9LID8KKyAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAxMGkgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRXh0cmEgb3B0aW9ucworICAgICAgKgorICAgICAgKiBUaG9zZSBmaWVsZHMgYXJlIG5lZWRlZCBvbmx5IGZvciB0cmVhbWluZyBwYXJzaW5nIHNvIGZhcgorICAgICAgKgorICAgICBkICBkaWN0TmFtZXMgICAgICAgICAgICAgICAgICAgIDEwaSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEaWN0IG5hbWVzIGluIHRyZWUgPworICAgICBkICBmcmVlRWxlbXNOciAgICAgICAgICAgICAgICAgIDEwaSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIGZyZWUgZWxlbWVudCBub2RlcworICAgICBkICBmcmVlRWxlbXMgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikgICAgICAgICAgICAgICAgICAgICBGcmVlIGVsZW0gbm9kZXMgbGlzdAorICAgICBkICBmcmVlQXR0cnNOciAgICAgICAgICAgICAgICAgIDEwaSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIGZyZWUgYXR0ci4gbm9kZXMKKyAgICAgZCAgZnJlZUF0dHJzICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEF0dHJQdHIpICAgICAgICAgICAgICAgICAgICAgRnJlZSBhdHRyIG5vZXMgbGlzdAorICAgICAgKgorICAgICAgKiB0aGUgY29tcGxldGUgZXJyb3IgaW5mb3JtYXRpb25zIGZvciB0aGUgbGFzdCBlcnJvci4KKyAgICAgICoKKyAgICAgZCAgbGFzdEVycm9yICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEVycm9yKQorICAgICBkICBwYXJzZU1vZGUgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sUGFyc2VyTW9kZSkgICAgICAgICAgICAgICAgICBUaGUgcGFyc2VyIG1vZGUKKyAgICAgZCAgbmJlbnRpdGllcyAgICAgICAgICAgICAgICAgICAyMHUgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBlbnRpdHkgcmVmZXJlbmNlcworICAgICBkICBzaXplZW50aXRpZXMgICAgICAgICAgICAgICAgIDIwdSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYXJzZWQgZW50aXRpZXMgc2l6ZQorICAgICAgKgorICAgICAgKiBmb3IgdXNlIGJ5IEhUTUwgbm9uLXJlY3Vyc2l2ZSBwYXJzZXIKKyAgICAgICoKKyAgICAgZCAgbm9kZUluZm8gICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFBhcnNlck5vZGVJbmZvKSAgICAgICAgICAgICAgQ3VycmVudCBOb2RlSW5mbworICAgICBkICBub2RlSW5mb05yICAgICAgICAgICAgICAgICAgIDEwaSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYXJzaW5nIHN0YWNrIGRlcHRoCisgICAgIGQgIG5vZGVJbmZvTWF4ICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1heCBzdGFjayBkZXB0aAorICAgICBkICBub2RlSW5mb1RhYiAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxQYXJzZXJOb2RlSW5mbyAqCisgICAgICAqCisgICAgIGQgIGlucHV0X2lkICAgICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExhYmVsIGlucHV0cyA/CisgICAgIGQgIHNpemVlbnRjb3B5ICAgICAgICAgICAgICAgICAgMjB1IDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudGl0eSBjb3B5IHZvbHVtZQorCisgICAgICAqIHhtbFNBWExvY2F0b3I6CisgICAgICAqCisgICAgICAqIEEgU0FYIExvY2F0b3IuCisKKyAgICAgZCB4bWxTQVhMb2NhdG9yICAgZHMgICAgICAgICAgICAgICAgICBiYXNlZCh4bWxTQVhMb2NhdG9yUHRyKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduIHF1YWxpZmllZAorICAgICBkICBnZXRQdWJsaWNJZCAgICAgICAgICAgICAgICAgICAgKiAgIHByb2NwdHIKKyAgICAgZCAgZ2V0U3lzdGVtSWQgICAgICAgICAgICAgICAgICAgICogICBwcm9jcHRyCisgICAgIGQgIGdldExpbmVOdW1iZXIgICAgICAgICAgICAgICAgICAqICAgcHJvY3B0cgorICAgICBkICBnZXRDb2x1bW5OdW1iZXIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICBwcm9jcHRyCisKKyAgICAgICogeG1sU0FYSGFuZGxlcjoKKyAgICAgICoKKyAgICAgICogQSBTQVggaGFuZGxlciBpcyBidW5jaCBvZiBjYWxsYmFja3MgY2FsbGVkIGJ5IHRoZSBwYXJzZXIgd2hlbgorICAgICAgKiBwcm9jZXNzaW5nIG9mIHRoZSBpbnB1dCBnZW5lcmF0ZSBkYXRhIG9yIHN0cnVjdHVyZSBpbmZvcm1hdGlvbnMuCisKKyAgICAgICogcmVzb2x2ZUVudGl0eVNBWEZ1bmM6CisgICAgICAqIEBjdHg6ICB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpCisgICAgICAqIEBwdWJsaWNJZDogVGhlIHB1YmxpYyBJRCBvZiB0aGUgZW50aXR5CisgICAgICAqIEBzeXN0ZW1JZDogVGhlIHN5c3RlbSBJRCBvZiB0aGUgZW50aXR5CisgICAgICAqCisgICAgICAqIENhbGxiYWNrOgorICAgICAgKiBUaGUgZW50aXR5IGxvYWRlciwgdG8gY29udHJvbCB0aGUgbG9hZGluZyBvZiBleHRlcm5hbCBlbnRpdGllcywKKyAgICAgICogdGhlIGFwcGxpY2F0aW9uIGNhbiBlaXRoZXI6CisgICAgICAqICAgIC0gb3ZlcnJpZGUgdGhpcyByZXNvbHZlRW50aXR5KCkgY2FsbGJhY2sgaW4gdGhlIFNBWCBibG9jaworICAgICAgKiAgICAtIG9yIGJldHRlciB1c2UgdGhlIHhtbFNldEV4dGVybmFsRW50aXR5TG9hZGVyKCkgZnVuY3Rpb24gdG8KKyAgICAgICogICAgICBzZXQgdXAgaXQncyBvd24gZW50aXR5IHJlc29sdXRpb24gcm91dGluZQorICAgICAgKgorICAgICAgKiBSZXR1cm5zIHRoZSB4bWxQYXJzZXJJbnB1dFB0ciBpZiBpbmxpbmVkIG9yIE5VTEwgZm9yIERPTSBiZWhhdmlvdXIuCisKKyAgICAgZCByZXNvbHZlRW50aXR5U0FYRnVuYy4uLgorICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY3B0cgorCisgICAgICAqIGludGVybmFsU3Vic2V0U0FYRnVuYzoKKyAgICAgICogQGN0eDogIHRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCkKKyAgICAgICogQG5hbWU6ICB0aGUgcm9vdCBlbGVtZW50IG5hbWUKKyAgICAgICogQEV4dGVybmFsSUQ6ICB0aGUgZXh0ZXJuYWwgSUQKKyAgICAgICogQFN5c3RlbUlEOiAgdGhlIFNZU1RFTSBJRCAoZS5nLiBmaWxlbmFtZSBvciBVUkwpCisgICAgICAqCisgICAgICAqIENhbGxiYWNrIG9uIGludGVybmFsIHN1YnNldCBkZWNsYXJhdGlvbi4KKworICAgICBkIGludGVybmFsU3Vic2V0U0FYRnVuYy4uLgorICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY3B0cgorCisgICAgICAqIGV4dGVybmFsU3Vic2V0U0FYRnVuYzoKKyAgICAgICogQGN0eDogIHRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCkKKyAgICAgICogQG5hbWU6ICB0aGUgcm9vdCBlbGVtZW50IG5hbWUKKyAgICAgICogQEV4dGVybmFsSUQ6ICB0aGUgZXh0ZXJuYWwgSUQKKyAgICAgICogQFN5c3RlbUlEOiAgdGhlIFNZU1RFTSBJRCAoZS5nLiBmaWxlbmFtZSBvciBVUkwpCisgICAgICAqCisgICAgICAqIENhbGxiYWNrIG9uIGV4dGVybmFsIHN1YnNldCBkZWNsYXJhdGlvbi4KKworICAgICBkIGV4dGVybmFsU3Vic2V0U0FYRnVuYy4uLgorICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY3B0cgorCisgICAgICAqIGdldEVudGl0eVNBWEZ1bmM6CisgICAgICAqIEBjdHg6ICB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpCisgICAgICAqIEBuYW1lOiBUaGUgZW50aXR5IG5hbWUKKyAgICAgICoKKyAgICAgICogR2V0IGFuIGVudGl0eSBieSBuYW1lLgorICAgICAgKgorICAgICAgKiBSZXR1cm5zIHRoZSB4bWxFbnRpdHlQdHIgaWYgZm91bmQuCisKKyAgICAgZCBnZXRFbnRpdHlTQVhGdW5jLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jcHRyCisKKyAgICAgICogZ2V0UGFyYW1ldGVyRW50aXR5U0FYRnVuYzoKKyAgICAgICogQGN0eDogIHRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCkKKyAgICAgICogQG5hbWU6IFRoZSBlbnRpdHkgbmFtZQorICAgICAgKgorICAgICAgKiBHZXQgYSBwYXJhbWV0ZXIgZW50aXR5IGJ5IG5hbWUuCisgICAgICAqCisgICAgICAqIFJldHVybnMgdGhlIHhtbEVudGl0eVB0ciBpZiBmb3VuZC4KKworICAgICBkIGdldFBhcmFtZXRlckVudGl0eVNBWEZ1bmMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NwdHIKKworICAgICAgKiBlbnRpdHlEZWNsU0FYRnVuYzoKKyAgICAgICogQGN0eDogIHRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCkKKyAgICAgICogQG5hbWU6ICB0aGUgZW50aXR5IG5hbWUKKyAgICAgICogQHR5cGU6ICB0aGUgZW50aXR5IHR5cGUKKyAgICAgICogQHB1YmxpY0lkOiBUaGUgcHVibGljIElEIG9mIHRoZSBlbnRpdHkKKyAgICAgICogQHN5c3RlbUlkOiBUaGUgc3lzdGVtIElEIG9mIHRoZSBlbnRpdHkKKyAgICAgICogQGNvbnRlbnQ6IHRoZSBlbnRpdHkgdmFsdWUgKHdpdGhvdXQgcHJvY2Vzc2luZykuCisgICAgICAqCisgICAgICAqIEFuIGVudGl0eSBkZWZpbml0aW9uIGhhcyBiZWVuIHBhcnNlZC4KKworICAgICBkIGVudGl0eURlY2xTQVhGdW5jLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jcHRyCisKKyAgICAgICogbm90YXRpb25EZWNsU0FYRnVuYzoKKyAgICAgICogQGN0eDogIHRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCkKKyAgICAgICogQG5hbWU6IFRoZSBuYW1lIG9mIHRoZSBub3RhdGlvbgorICAgICAgKiBAcHVibGljSWQ6IFRoZSBwdWJsaWMgSUQgb2YgdGhlIGVudGl0eQorICAgICAgKiBAc3lzdGVtSWQ6IFRoZSBzeXN0ZW0gSUQgb2YgdGhlIGVudGl0eQorICAgICAgKgorICAgICAgKiBXaGF0IHRvIGRvIHdoZW4gYSBub3RhdGlvbiBkZWNsYXJhdGlvbiBoYXMgYmVlbiBwYXJzZWQuCisKKyAgICAgZCBub3RhdGlvbkRlY2xTQVhGdW5jLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jcHRyCisKKyAgICAgICogYXR0cmlidXRlRGVjbFNBWEZ1bmM6CisgICAgICAqIEBjdHg6ICB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpCisgICAgICAqIEBlbGVtOiAgdGhlIG5hbWUgb2YgdGhlIGVsZW1lbnQKKyAgICAgICogQGZ1bGxuYW1lOiAgdGhlIGF0dHJpYnV0ZSBuYW1lCisgICAgICAqIEB0eXBlOiAgdGhlIGF0dHJpYnV0ZSB0eXBlCisgICAgICAqIEBkZWY6ICB0aGUgdHlwZSBvZiBkZWZhdWx0IHZhbHVlCisgICAgICAqIEBkZWZhdWx0VmFsdWU6IHRoZSBhdHRyaWJ1dGUgZGVmYXVsdCB2YWx1ZQorICAgICAgKiBAdHJlZTogIHRoZSB0cmVlIG9mIGVudW1lcmF0ZWQgdmFsdWUgc2V0CisgICAgICAqCisgICAgICAqIEFuIGF0dHJpYnV0ZSBkZWZpbml0aW9uIGhhcyBiZWVuIHBhcnNlZC4KKworICAgICBkIGF0dHJpYnV0ZURlY2xTQVhGdW5jLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jcHRyCisKKyAgICAgICogZWxlbWVudERlY2xTQVhGdW5jOgorICAgICAgKiBAY3R4OiAgdGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KQorICAgICAgKiBAbmFtZTogIHRoZSBlbGVtZW50IG5hbWUKKyAgICAgICogQHR5cGU6ICB0aGUgZWxlbWVudCB0eXBlCisgICAgICAqIEBjb250ZW50OiB0aGUgZWxlbWVudCB2YWx1ZSB0cmVlCisgICAgICAqCisgICAgICAqIEFuIGVsZW1lbnQgZGVmaW5pdGlvbiBoYXMgYmVlbiBwYXJzZWQuCisKKyAgICAgZCBlbGVtZW50RGVjbFNBWEZ1bmMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NwdHIKKworICAgICAgKiB1bnBhcnNlZEVudGl0eURlY2xTQVhGdW5jOgorICAgICAgKiBAY3R4OiAgdGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KQorICAgICAgKiBAbmFtZTogVGhlIG5hbWUgb2YgdGhlIGVudGl0eQorICAgICAgKiBAcHVibGljSWQ6IFRoZSBwdWJsaWMgSUQgb2YgdGhlIGVudGl0eQorICAgICAgKiBAc3lzdGVtSWQ6IFRoZSBzeXN0ZW0gSUQgb2YgdGhlIGVudGl0eQorICAgICAgKiBAbm90YXRpb25OYW1lOiB0aGUgbmFtZSBvZiB0aGUgbm90YXRpb24KKyAgICAgICoKKyAgICAgICogV2hhdCB0byBkbyB3aGVuIGFuIHVucGFyc2VkIGVudGl0eSBkZWNsYXJhdGlvbiBpcyBwYXJzZWQuCisKKyAgICAgZCB1bnBhcnNlZEVudGl0eURlY2xTQVhGdW5jLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jcHRyCisKKyAgICAgICogc2V0RG9jdW1lbnRMb2NhdG9yU0FYRnVuYzoKKyAgICAgICogQGN0eDogIHRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCkKKyAgICAgICogQGxvYzogQSBTQVggTG9jYXRvcgorICAgICAgKgorICAgICAgKiBSZWNlaXZlIHRoZSBkb2N1bWVudCBsb2NhdG9yIGF0IHN0YXJ0dXAsIGFjdHVhbGx5IHhtbERlZmF1bHRTQVhMb2NhdG9yLgorICAgICAgKiBFdmVyeXRoaW5nIGlzIGF2YWlsYWJsZSBvbiB0aGUgY29udGV4dCwgc28gdGhpcyBpcyB1c2VsZXNzIGluIG91ciBjYXNlLgorCisgICAgIGQgc2V0RG9jdW1lbnRMb2NhdG9yU0FYRnVuYy4uLgorICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY3B0cgorCisgICAgICAqIHN0YXJ0RG9jdW1lbnRTQVhGdW5jOgorICAgICAgKiBAY3R4OiAgdGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KQorICAgICAgKgorICAgICAgKiBDYWxsZWQgd2hlbiB0aGUgZG9jdW1lbnQgc3RhcnQgYmVpbmcgcHJvY2Vzc2VkLgorCisgICAgIGQgc3RhcnREb2N1bWVudFNBWEZ1bmMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NwdHIKKworICAgICAgKiBlbmREb2N1bWVudFNBWEZ1bmM6CisgICAgICAqIEBjdHg6ICB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpCisgICAgICAqCisgICAgICAqIENhbGxlZCB3aGVuIHRoZSBkb2N1bWVudCBlbmQgaGFzIGJlZW4gZGV0ZWN0ZWQuCisKKyAgICAgZCBlbmREb2N1bWVudFNBWEZ1bmMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NwdHIKKworICAgICAgKiBzdGFydEVsZW1lbnRTQVhGdW5jOgorICAgICAgKiBAY3R4OiAgdGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KQorICAgICAgKiBAbmFtZTogIFRoZSBlbGVtZW50IG5hbWUsIGluY2x1ZGluZyBuYW1lc3BhY2UgcHJlZml4CisgICAgICAqIEBhdHRzOiAgQW4gYXJyYXkgb2YgbmFtZS92YWx1ZSBhdHRyaWJ1dGVzIHBhaXJzLCBOVUxMIHRlcm1pbmF0ZWQKKyAgICAgICoKKyAgICAgICogQ2FsbGVkIHdoZW4gYW4gb3BlbmluZyB0YWcgaGFzIGJlZW4gcHJvY2Vzc2VkLgorCisgICAgIGQgc3RhcnRFbGVtZW50U0FYRnVuYy4uLgorICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY3B0cgorCisgICAgICAqIGVuZEVsZW1lbnRTQVhGdW5jOgorICAgICAgKiBAY3R4OiAgdGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KQorICAgICAgKiBAbmFtZTogIFRoZSBlbGVtZW50IG5hbWUKKyAgICAgICoKKyAgICAgICogQ2FsbGVkIHdoZW4gdGhlIGVuZCBvZiBhbiBlbGVtZW50IGhhcyBiZWVuIGRldGVjdGVkLgorCisgICAgIGQgZW5kRWxlbWVudFNBWEZ1bmMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NwdHIKKworICAgICAgKiBhdHRyaWJ1dGVTQVhGdW5jOgorICAgICAgKiBAY3R4OiAgdGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KQorICAgICAgKiBAbmFtZTogIFRoZSBhdHRyaWJ1dGUgbmFtZSwgaW5jbHVkaW5nIG5hbWVzcGFjZSBwcmVmaXgKKyAgICAgICogQHZhbHVlOiAgVGhlIGF0dHJpYnV0ZSB2YWx1ZQorICAgICAgKgorICAgICAgKiBIYW5kbGUgYW4gYXR0cmlidXRlIHRoYXQgaGFzIGJlZW4gcmVhZCBieSB0aGUgcGFyc2VyLgorICAgICAgKiBUaGUgZGVmYXVsdCBoYW5kbGluZyBpcyB0byBjb252ZXJ0IHRoZSBhdHRyaWJ1dGUgaW50byBhbgorICAgICAgKiBET00gc3VidHJlZSBhbmQgcGFzdCBpdCBpbiBhIG5ldyB4bWxBdHRyIGVsZW1lbnQgYWRkZWQgdG8KKyAgICAgICogdGhlIGVsZW1lbnQuCisKKyAgICAgZCBhdHRyaWJ1dGVTQVhGdW5jLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jcHRyCisKKyAgICAgICogcmVmZXJlbmNlU0FYRnVuYzoKKyAgICAgICogQGN0eDogIHRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCkKKyAgICAgICogQG5hbWU6ICBUaGUgZW50aXR5IG5hbWUKKyAgICAgICoKKyAgICAgICogQ2FsbGVkIHdoZW4gYW4gZW50aXR5IHJlZmVyZW5jZSBpcyBkZXRlY3RlZC4KKworICAgICBkIHJlZmVyZW5jZVNBWEZ1bmMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NwdHIKKworICAgICAgKiBjaGFyYWN0ZXJzU0FYRnVuYzoKKyAgICAgICogQGN0eDogIHRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCkKKyAgICAgICogQGNoOiAgYSB4bWxDaGFyIHN0cmluZworICAgICAgKiBAbGVuOiB0aGUgbnVtYmVyIG9mIHhtbENoYXIKKyAgICAgICoKKyAgICAgICogUmVjZWl2aW5nIHNvbWUgY2hhcnMgZnJvbSB0aGUgcGFyc2VyLgorCisgICAgIGQgY2hhcmFjdGVyc1NBWEZ1bmMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NwdHIKKworICAgICAgKiBpZ25vcmFibGVXaGl0ZXNwYWNlU0FYRnVuYzoKKyAgICAgICogQGN0eDogIHRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCkKKyAgICAgICogQGNoOiAgYSB4bWxDaGFyIHN0cmluZworICAgICAgKiBAbGVuOiB0aGUgbnVtYmVyIG9mIHhtbENoYXIKKyAgICAgICoKKyAgICAgICogUmVjZWl2aW5nIHNvbWUgaWdub3JhYmxlIHdoaXRlc3BhY2VzIGZyb20gdGhlIHBhcnNlci4KKyAgICAgICogVU5VU0VEOiBieSBkZWZhdWx0IHRoZSBET00gYnVpbGRpbmcgd2lsbCB1c2UgY2hhcmFjdGVycy4KKworICAgICBkIGlnbm9yYWJsZVdoaXRlc3BhY2VTQVhGdW5jLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jcHRyCisKKyAgICAgICogcHJvY2Vzc2luZ0luc3RydWN0aW9uU0FYRnVuYzoKKyAgICAgICogQGN0eDogIHRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCkKKyAgICAgICogQHRhcmdldDogIHRoZSB0YXJnZXQgbmFtZQorICAgICAgKiBAZGF0YTogdGhlIFBJIGRhdGEncworICAgICAgKgorICAgICAgKiBBIHByb2Nlc3NpbmcgaW5zdHJ1Y3Rpb24gaGFzIGJlZW4gcGFyc2VkLgorCisgICAgIGQgcHJvY2Vzc2luZ0luc3RydWN0aW9uU0FYRnVuYy4uLgorICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY3B0cgorCisgICAgICAqIGNvbW1lbnRTQVhGdW5jOgorICAgICAgKiBAY3R4OiAgdGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KQorICAgICAgKiBAdmFsdWU6ICB0aGUgY29tbWVudCBjb250ZW50CisgICAgICAqCisgICAgICAqIEEgY29tbWVudCBoYXMgYmVlbiBwYXJzZWQuCisKKyAgICAgZCBjb21tZW50U0FYRnVuYy4uLgorICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY3B0cgorCisgICAgICAqIGNkYXRhQmxvY2tTQVhGdW5jOgorICAgICAgKiBAY3R4OiAgdGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KQorICAgICAgKiBAdmFsdWU6ICBUaGUgcGNkYXRhIGNvbnRlbnQKKyAgICAgICogQGxlbjogIHRoZSBibG9jayBsZW5ndGgKKyAgICAgICoKKyAgICAgICogQ2FsbGVkIHdoZW4gYSBwY2RhdGEgYmxvY2sgaGFzIGJlZW4gcGFyc2VkLgorCisgICAgIGQgY2RhdGFCbG9ja1NBWEZ1bmMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NwdHIKKworICAgICAgKiB3YXJuaW5nU0FYRnVuYzoKKyAgICAgICogQGN0eDogIGFuIFhNTCBwYXJzZXIgY29udGV4dAorICAgICAgKiBAbXNnOiAgdGhlIG1lc3NhZ2UgdG8gZGlzcGxheS90cmFuc21pdAorICAgICAgKiBALi4uOiAgZXh0cmEgcGFyYW1ldGVycyBmb3IgdGhlIG1lc3NhZ2UgZGlzcGxheQorICAgICAgKgorICAgICAgKiBEaXNwbGF5IGFuZCBmb3JtYXQgYSB3YXJuaW5nIG1lc3NhZ2VzLCBjYWxsYmFjay4KKworICAgICBkIHdhcm5pbmdTQVhGdW5jLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jcHRyCisKKyAgICAgICogZXJyb3JTQVhGdW5jOgorICAgICAgKiBAY3R4OiAgYW4gWE1MIHBhcnNlciBjb250ZXh0CisgICAgICAqIEBtc2c6ICB0aGUgbWVzc2FnZSB0byBkaXNwbGF5L3RyYW5zbWl0CisgICAgICAqIEAuLi46ICBleHRyYSBwYXJhbWV0ZXJzIGZvciB0aGUgbWVzc2FnZSBkaXNwbGF5CisgICAgICAqCisgICAgICAqIERpc3BsYXkgYW5kIGZvcm1hdCBhbiBlcnJvciBtZXNzYWdlcywgY2FsbGJhY2suCisKKyAgICAgZCBlcnJvclNBWEZ1bmMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NwdHIKKworICAgICAgKiBmYXRhbEVycm9yU0FYRnVuYzoKKyAgICAgICogQGN0eDogIGFuIFhNTCBwYXJzZXIgY29udGV4dAorICAgICAgKiBAbXNnOiAgdGhlIG1lc3NhZ2UgdG8gZGlzcGxheS90cmFuc21pdAorICAgICAgKiBALi4uOiAgZXh0cmEgcGFyYW1ldGVycyBmb3IgdGhlIG1lc3NhZ2UgZGlzcGxheQorICAgICAgKgorICAgICAgKiBEaXNwbGF5IGFuZCBmb3JtYXQgZmF0YWwgZXJyb3IgbWVzc2FnZXMsIGNhbGxiYWNrLgorICAgICAgKiBOb3RlOiBzbyBmYXIgZmF0YWxFcnJvcigpIFNBWCBjYWxsYmFja3MgYXJlIG5vdCB1c2VkLCBlcnJvcigpCisgICAgICAqICAgICAgIGdldCBhbGwgdGhlIGNhbGxiYWNrcyBmb3IgZXJyb3JzLgorCisgICAgIGQgZmF0YWxFcnJvclNBWEZ1bmMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NwdHIKKworICAgICAgKiBpc1N0YW5kYWxvbmVTQVhGdW5jOgorICAgICAgKiBAY3R4OiAgdGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KQorICAgICAgKgorICAgICAgKiBJcyB0aGlzIGRvY3VtZW50IHRhZ2dlZCBzdGFuZGFsb25lPworICAgICAgKgorICAgICAgKiBSZXR1cm5zIDEgaWYgdHJ1ZQorCisgICAgIGQgaXNTdGFuZGFsb25lU0FYRnVuYy4uLgorICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY3B0cgorCisgICAgICAqIGhhc0ludGVybmFsU3Vic2V0U0FYRnVuYzoKKyAgICAgICogQGN0eDogIHRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCkKKyAgICAgICoKKyAgICAgICogRG9lcyB0aGlzIGRvY3VtZW50IGhhcyBhbiBpbnRlcm5hbCBzdWJzZXQuCisgICAgICAqCisgICAgICAqIFJldHVybnMgMSBpZiB0cnVlCisKKyAgICAgZCBoYXNJbnRlcm5hbFN1YnNldFNBWEZ1bmMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NwdHIKKworICAgICAgKiBoYXNFeHRlcm5hbFN1YnNldFNBWEZ1bmM6CisgICAgICAqIEBjdHg6ICB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpCisgICAgICAqCisgICAgICAqIERvZXMgdGhpcyBkb2N1bWVudCBoYXMgYW4gZXh0ZXJuYWwgc3Vic2V0PworICAgICAgKgorICAgICAgKiBSZXR1cm5zIDEgaWYgdHJ1ZQorCisgICAgIGQgaGFzRXh0ZXJuYWxTdWJzZXRTQVhGdW5jLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jcHRyCisKKyAgICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCisgICAgICAqICAgICAgICAgICAgICAgICAgICAgIFRoZSBTQVggdmVyc2lvbiAyIEFQSSBleHRlbnNpb25zICAgICAgICAgICAgICAgICoKKyAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgorICAgICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisKKyAgICAgICogWE1MX1NBWDJfTUFHSUM6CisgICAgICAqCisgICAgICAqIFNwZWNpYWwgY29uc3RhbnQgZm91bmQgaW4gU0FYMiBibG9ja3MgaW5pdGlhbGl6ZWQgZmllbGRzCisKKyAgICAgZCBYTUxfU0FYMl9NQUdJQyAgYyAgICAgICAgICAgICAgICAgICBYJ0RFRURCRUFGJworCisgICAgICAqIHN0YXJ0RWxlbWVudE5zU0FYMkZ1bmM6CisgICAgICAqIEBjdHg6ICAgICAgICAgICB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpCisgICAgICAqIEBsb2NhbG5hbWU6ICAgICB0aGUgbG9jYWwgbmFtZSBvZiB0aGUgZWxlbWVudAorICAgICAgKiBAcHJlZml4OiAgICAgICAgdGhlIGVsZW1lbnQgbmFtZXNwYWNlIHByZWZpeCBpZiBhdmFpbGFibGUKKyAgICAgICogQFVSSTogICAgICAgICAgIHRoZSBlbGVtZW50IG5hbWVzcGFjZSBuYW1lIGlmIGF2YWlsYWJsZQorICAgICAgKiBAbmJfbmFtZXNwYWNlczogbnVtYmVyIG9mIG5hbWVzcGFjZSBkZWZpbml0aW9ucyBvbiB0aGF0IG5vZGUKKyAgICAgICogQG5hbWVzcGFjZXM6ICAgIHBvaW50ZXIgdG8gdGhlIGFycmF5IG9mIHByZWZpeC9VUkkgcGFpcnMgbmFtZXNwYWNlCisgICAgICAqICAgICAgICAgICAgICAgICBkZWZpbml0aW9ucworICAgICAgKiBAbmJfYXR0cmlidXRlczogIHRoZSBudW1iZXIgb2YgYXR0cmlidXRlcyBvbiB0aGF0IG5vZGUKKyAgICAgICogQG5iX2RlZmF1bHRlZDogICB0aGUgbnVtYmVyIG9mIGRlZmF1bHRlZCBhdHRyaWJ1dGVzLiBUaGUgZGVmYXVsdGVkCisgICAgICAqICAgICAgICAgICAgICAgICAgb25lcyBhcmUgYXQgdGhlIGVuZCBvZiB0aGUgYXJyYXkKKyAgICAgICogQGF0dHJpYnV0ZXM6ICAgICBwb2ludGVyIHRvIHRoZSBhcnJheSBvZgorICAgICAgKiAgICAgICAgICAgICAgICAgIChsb2NhbG5hbWUvcHJlZml4L1VSSS92YWx1ZS9lbmQpIGF0dHJpYnV0ZSB2YWx1ZXMuCisgICAgICAqCisgICAgICAqIFNBWDIgY2FsbGJhY2sgd2hlbiBhbiBlbGVtZW50IHN0YXJ0IGhhcyBiZWVuIGRldGVjdGVkIGJ5IHRoZSBwYXJzZXIuCisgICAgICAqIEl0IHByb3ZpZGVzIHRoZSBuYW1lc3BhY2UgaW5mb3JtYXRpb25zIGZvciB0aGUgZWxlbWVudCwgYXMgd2VsbCBhcworICAgICAgKiB0aGUgbmV3IG5hbWVzcGFjZSBkZWNsYXJhdGlvbnMgb24gdGhlIGVsZW1lbnQuCisKKyAgICAgZCBzdGFydEVsZW1lbnROc1NBWDJGdW5jLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jcHRyCisKKyAgICAgICogZW5kRWxlbWVudE5zU0FYMkZ1bmM6CisgICAgICAqIEBjdHg6ICB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpCisgICAgICAqIEBsb2NhbG5hbWU6ICB0aGUgbG9jYWwgbmFtZSBvZiB0aGUgZWxlbWVudAorICAgICAgKiBAcHJlZml4OiAgdGhlIGVsZW1lbnQgbmFtZXNwYWNlIHByZWZpeCBpZiBhdmFpbGFibGUKKyAgICAgICogQFVSSTogIHRoZSBlbGVtZW50IG5hbWVzcGFjZSBuYW1lIGlmIGF2YWlsYWJsZQorICAgICAgKgorICAgICAgKiBTQVgyIGNhbGxiYWNrIHdoZW4gYW4gZWxlbWVudCBlbmQgaGFzIGJlZW4gZGV0ZWN0ZWQgYnkgdGhlIHBhcnNlci4KKyAgICAgICogSXQgcHJvdmlkZXMgdGhlIG5hbWVzcGFjZSBpbmZvcm1hdGlvbnMgZm9yIHRoZSBlbGVtZW50LgorCisgICAgIGQgZW5kRWxlbWVudE5zU0FYMkZ1bmMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NwdHIKKworICAgICBkIHhtbFNBWEhhbmRsZXIgICBkcyAgICAgICAgICAgICAgICAgIGJhc2VkKHhtbFNBWEhhbmRsZXJQdHIpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24gcXVhbGlmaWVkCisgICAgIGQgIGludGVybmFsU3Vic2V0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZShpbnRlcm5hbFN1YnNldFNBWEZ1bmMpCisgICAgIGQgIGlzU3RhbmRhbG9uZSAgICAgICAgICAgICAgICAgICAgICAgbGlrZShpc1N0YW5kYWxvbmVTQVhGdW5jKQorICAgICBkICBoYXNJbnRlcm5hbFN1YnNldC4uLgorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoaGFzSW50ZXJuYWxTdWJzZXRTQVhGdW5jKQorICAgICBkICBoYXNFeHRlcm5hbFN1YnNldC4uLgorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoaGFzRXh0ZXJuYWxTdWJzZXRTQVhGdW5jKQorICAgICBkICByZXNvbHZlRW50aXR5ICAgICAgICAgICAgICAgICAgICAgIGxpa2UocmVzb2x2ZUVudGl0eVNBWEZ1bmMpCisgICAgIGQgIGdldEVudGl0eSAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZShnZXRFbnRpdHlTQVhGdW5jKQorICAgICBkICBlbnRpdHlEZWNsICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoZW50aXR5RGVjbFNBWEZ1bmMpCisgICAgIGQgIG5vdGF0aW9uRGVjbCAgICAgICAgICAgICAgICAgICAgICAgbGlrZShub3RhdGlvbkRlY2xTQVhGdW5jKQorICAgICBkICBhdHRyaWJ1dGVEZWNsICAgICAgICAgICAgICAgICAgICAgIGxpa2UoYXR0cmlidXRlRGVjbFNBWEZ1bmMpCisgICAgIGQgIGVsZW1lbnREZWNsICAgICAgICAgICAgICAgICAgICAgICAgbGlrZShlbGVtZW50RGVjbFNBWEZ1bmMpCisgICAgIGQgIHVucGFyc2VkRW50aXR5RGVjbC4uLgorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UodW5wYXJzZWRFbnRpdHlEZWNsU0FYRnVuYykKKyAgICAgZCAgc2V0RG9jdW1lbnRMb2NhdG9yLi4uCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZShzZXREb2N1bWVudExvY2F0b3JTQVhGdW5jKQorICAgICBkICBzdGFydERvY3VtZW50ICAgICAgICAgICAgICAgICAgICAgIGxpa2Uoc3RhcnREb2N1bWVudFNBWEZ1bmMpCisgICAgIGQgIGVuZERvY3VtZW50ICAgICAgICAgICAgICAgICAgICAgICAgbGlrZShlbmREb2N1bWVudFNBWEZ1bmMpCisgICAgIGQgIHN0YXJ0RWxlbWVudCAgICAgICAgICAgICAgICAgICAgICAgbGlrZShzdGFydEVsZW1lbnRTQVhGdW5jKQorICAgICBkICBlbmRFbGVtZW50ICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoZW5kRWxlbWVudFNBWEZ1bmMpCisgICAgIGQgIHJlZmVyZW5jZSAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZShyZWZlcmVuY2VTQVhGdW5jKQorICAgICBkICBjaGFyYWN0ZXJzICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoY2hhcmFjdGVyc1NBWEZ1bmMpCisgICAgIGQgIGlnbm9yYWJsZVdoaXRlc3BhY2UuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKGlnbm9yYWJsZVdoaXRlc3BhY2VTQVhGdW5jKQorICAgICBkICBwcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHByb2Nlc3NpbmdJbnN0cnVjdGlvblNBWEZ1bmMpCisgICAgIGQgIGNvbW1lbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZShjb21tZW50U0FYRnVuYykKKyAgICAgZCAgd2FybmluZyAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHdhcm5pbmdTQVhGdW5jKQorICAgICBkICBlcnJvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoZXJyb3JTQVhGdW5jKQorICAgICBkICBmYXRhbEVycm9yICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoZmF0YWxFcnJvclNBWEZ1bmMpCisgICAgIGQgIGdldFBhcmFtZXRlckVudGl0eS4uLgorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoZ2V0UGFyYW1ldGVyRW50aXR5U0FYRnVuYykKKyAgICAgZCAgY2RhdGFCbG9jayAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKGNkYXRhQmxvY2tTQVhGdW5jKQorICAgICBkICBleHRlcm5hbFN1YnNldC4uLgorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoZXh0ZXJuYWxTdWJzZXRTQVhGdW5jKQorICAgICBkICBpbml0aWFsaXplZCAgICAgICAgICAgICAgICAgIDEwdSAwCisgICAgICAqCisgICAgICAqIFRoZSBmb2xsb3dpbmcgZmllbGRzIGFyZSBleHRlbnNpb25zIGF2YWlsYWJsZSBvbmx5IG9uIHZlcnNpb24gMgorICAgICAgKgorICAgICBkICAjcHJpdmF0ZSAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKyAgICAgZCAgc3RhcnRFbGVtZW50TnMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHN0YXJ0RWxlbWVudE5zU0FYMkZ1bmMpCisgICAgIGQgIGVuZEVMZW1lbnROcyAgICAgICAgICAgICAgICAgICAgICAgbGlrZShlbmRFbGVtZW50TnNTQVgyRnVuYykKKyAgICAgZCAgc2Vycm9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFN0cnVjdHVyZWRFcnJvckZ1bmMpCisKKyAgICAgICogU0FYIFZlcnNpb24gMQorCisgICAgIGQgeG1sU0FYSGFuZGxlclYxUHRyLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKworICAgICBkIHhtbFNBWEhhbmRsZXJWMS4uLgorICAgICBkICAgICAgICAgICAgICAgICBkcyAgICAgICAgICAgICAgICAgIGJhc2VkKHhtbFNBWEhhbmRsZXJWMVB0cikKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbiBxdWFsaWZpZWQKKyAgICAgZCAgaW50ZXJuYWxTdWJzZXQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKGludGVybmFsU3Vic2V0U0FYRnVuYykKKyAgICAgZCAgaXNTdGFuZGFsb25lICAgICAgICAgICAgICAgICAgICAgICBsaWtlKGlzU3RhbmRhbG9uZVNBWEZ1bmMpCisgICAgIGQgIGhhc0ludGVybmFsU3Vic2V0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZShoYXNJbnRlcm5hbFN1YnNldFNBWEZ1bmMpCisgICAgIGQgIGhhc0V4dGVybmFsU3Vic2V0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZShoYXNFeHRlcm5hbFN1YnNldFNBWEZ1bmMpCisgICAgIGQgIHJlc29sdmVFbnRpdHkgICAgICAgICAgICAgICAgICAgICAgbGlrZShyZXNvbHZlRW50aXR5U0FYRnVuYykKKyAgICAgZCAgZ2V0RW50aXR5ICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKGdldEVudGl0eVNBWEZ1bmMpCisgICAgIGQgIGVudGl0eURlY2wgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZShlbnRpdHlEZWNsU0FYRnVuYykKKyAgICAgZCAgbm90YXRpb25EZWNsICAgICAgICAgICAgICAgICAgICAgICBsaWtlKG5vdGF0aW9uRGVjbFNBWEZ1bmMpCisgICAgIGQgIGF0dHJpYnV0ZURlY2wgICAgICAgICAgICAgICAgICAgICAgbGlrZShhdHRyaWJ1dGVEZWNsU0FYRnVuYykKKyAgICAgZCAgZWxlbWVudERlY2wgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKGVsZW1lbnREZWNsU0FYRnVuYykKKyAgICAgZCAgdW5wYXJzZWRFbnRpdHlEZWNsLi4uCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh1bnBhcnNlZEVudGl0eURlY2xTQVhGdW5jKQorICAgICBkICBzZXREb2N1bWVudExvY2F0b3IuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHNldERvY3VtZW50TG9jYXRvclNBWEZ1bmMpCisgICAgIGQgIHN0YXJ0RG9jdW1lbnQgICAgICAgICAgICAgICAgICAgICAgbGlrZShzdGFydERvY3VtZW50U0FYRnVuYykKKyAgICAgZCAgZW5kRG9jdW1lbnQgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKGVuZERvY3VtZW50U0FYRnVuYykKKyAgICAgZCAgc3RhcnRFbGVtZW50ICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHN0YXJ0RWxlbWVudFNBWEZ1bmMpCisgICAgIGQgIGVuZEVsZW1lbnQgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZShlbmRFbGVtZW50U0FYRnVuYykKKyAgICAgZCAgcmVmZXJlbmNlICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHJlZmVyZW5jZVNBWEZ1bmMpCisgICAgIGQgIGNoYXJhY3RlcnMgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZShjaGFyYWN0ZXJzU0FYRnVuYykKKyAgICAgZCAgaWdub3JhYmxlV2hpdGVzcGFjZS4uLgorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoaWdub3JhYmxlV2hpdGVzcGFjZVNBWEZ1bmMpCisgICAgIGQgIHByb2Nlc3NpbmdJbnN0cnVjdGlvbi4uLgorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UocHJvY2Vzc2luZ0luc3RydWN0aW9uU0FYRnVuYykKKyAgICAgZCAgY29tbWVudCAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKGNvbW1lbnRTQVhGdW5jKQorICAgICBkICB3YXJuaW5nICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2Uod2FybmluZ1NBWEZ1bmMpCisgICAgIGQgIGVycm9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZShlcnJvclNBWEZ1bmMpCisgICAgIGQgIGZhdGFsRXJyb3IgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZShmYXRhbEVycm9yU0FYRnVuYykKKyAgICAgZCAgZ2V0UGFyYW1ldGVyRW50aXR5Li4uCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZShnZXRQYXJhbWV0ZXJFbnRpdHlTQVhGdW5jKQorICAgICBkICBjZGF0YUJsb2NrICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoY2RhdGFCbG9ja1NBWEZ1bmMpCisgICAgIGQgIGV4dGVybmFsU3Vic2V0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZShleHRlcm5hbFN1YnNldFNBWEZ1bmMpCisgICAgIGQgIGluaXRpYWxpemVkICAgICAgICAgICAgICAgICAgMTB1IDAKKworICAgICAgKiB4bWxFeHRlcm5hbEVudGl0eUxvYWRlcjoKKyAgICAgICogQFVSTDogVGhlIFN5c3RlbSBJRCBvZiB0aGUgcmVzb3VyY2UgcmVxdWVzdGVkCisgICAgICAqIEBJRDogVGhlIFB1YmxpYyBJRCBvZiB0aGUgcmVzb3VyY2UgcmVxdWVzdGVkCisgICAgICAqIEBjb250ZXh0OiB0aGUgWE1MIHBhcnNlciBjb250ZXh0CisgICAgICAqCisgICAgICAqIEV4dGVybmFsIGVudGl0eSBsb2FkZXJzIHR5cGVzLgorICAgICAgKgorICAgICAgKiBSZXR1cm5zIHRoZSBlbnRpdHkgaW5wdXQgcGFyc2VyLgorCisgICAgIGQgeG1sRXh0ZXJuYWxFbnRpdHlMb2FkZXIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NwdHIKKworICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy9lbmNvZGluZyIKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sSU8iCisgICAgICAvaW5jbHVkZSAibGlieG1scnBnL2dsb2JhbHMiCisKKyAgICAgICogSW5pdC9DbGVhbnVwCisKKyAgICAgZCB4bWxJbml0UGFyc2VyICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxJbml0UGFyc2VyJykKKworICAgICBkIHhtbENsZWFudXBQYXJzZXIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxDbGVhbnVwUGFyc2VyJykKKworICAgICAgKiBJbnB1dCBmdW5jdGlvbnMKKworICAgICBkIHhtbFBhcnNlcklucHV0UmVhZC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFBhcnNlcklucHV0UmVhZCcpCisgICAgIGQgIGluICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJJbnB1dFB0cikKKyAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sUGFyc2VySW5wdXRHcm93Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sUGFyc2VySW5wdXRHcm93JykKKyAgICAgZCAgaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlcklucHV0UHRyKQorICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgICogQmFzaWMgcGFyc2luZyBJbnRlcmZhY2VzCisKKyAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9TQVgxX0VOQUJMRUQpCisgICAgIGQgeG1sUGFyc2VEb2MgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUGFyc2VEb2MnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRG9jUHRyKQorICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICBkIHhtbFBhcnNlRmlsZSAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFBhcnNlRmlsZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxEb2NQdHIpCisgICAgIGQgIGZpbGVuYW1lICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorCisgICAgIGQgeG1sUGFyc2VNZW1vcnkgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUGFyc2VNZW1vcnknKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRG9jUHRyKQorICAgICBkICBidWZmZXIgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTUxfU0FYMV9FTkFCTEVECisKKyAgICAgZCB4bWxTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHQnKQorICAgICBkICB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxLZWVwQmxhbmtzRGVmYXVsdC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbEtlZXBCbGFua3NEZWZhdWx0JykKKyAgICAgZCAgdmFsICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sU3RvcFBhcnNlciAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU3RvcFBhcnNlcicpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQorCisgICAgIGQgeG1sUGVkYW50aWNQYXJzZXJEZWZhdWx0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sUGVkYW50aWNQYXJzZXJEZWZhdWx0JykKKyAgICAgZCAgdmFsICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sTGluZU51bWJlcnNEZWZhdWx0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sTGluZU51bWJlcnNEZWZhdWx0JykKKyAgICAgZCAgdmFsICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgICAvaWYgZGVmaW5lZChMSUJYTUxfU0FYMV9FTkFCTEVEKQorICAgICAgKiBSZWNvdmVyeSBtb2RlCisKKyAgICAgZCB4bWxSZWNvdmVyRG9jICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxSZWNvdmVyRG9jJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbERvY1B0cikKKyAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgZCB4bWxSZWNvdmVyTWVtb3J5Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUmVjb3Zlck1lbW9yeScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxEb2NQdHIpCisgICAgIGQgIGJ1ZmZlciAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBzaXplICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxSZWNvdmVyRmlsZSAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxSZWNvdmVyRmlsZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxEb2NQdHIpCisgICAgIGQgIGZpbGVuYW1lICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTUxfU0FYMV9FTkFCTEVECisKKyAgICAgICogTGVzcyBjb21tb24gcm91dGluZXMgYW5kIFNBWCBpbnRlcmZhY2VzCisKKyAgICAgZCB4bWxQYXJzZURvY3VtZW50Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sUGFyc2VEb2N1bWVudCcpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQorCisgICAgIGQgeG1sUGFyc2VFeHRQYXJzZWRFbnQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxQYXJzZUV4dFBhcnNlZEVudCcpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQorCisgICAgICAvaWYgZGVmaW5lZChMSUJYTUxfU0FYMV9FTkFCTEVEKQorICAgICBkIHhtbFNBWFVzZXJQYXJzZUZpbGUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxTQVhVc2VyUGFyc2VGaWxlJykKKyAgICAgZCAgc2F4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNBWEhhbmRsZXJQdHIpCisgICAgIGQgIHVzZXJfZGF0YSAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorICAgICBkICBmaWxlbmFtZSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKworICAgICBkIHhtbFNBWFVzZXJQYXJzZU1lbW9yeS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFNBWFVzZXJQYXJzZU1lbW9yeScpCisgICAgIGQgIHNheCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTQVhIYW5kbGVyUHRyKQorICAgICBkICB1c2VyX2RhdGEgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKyAgICAgZCAgYnVmZmVyICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIHNpemUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFNBWFBhcnNlRG9jICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNBWFBhcnNlRG9jJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbERvY1B0cikKKyAgICAgZCAgc2F4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNBWEhhbmRsZXJQdHIpCisgICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICByZWNvdmVyeSAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxTQVhQYXJzZU1lbW9yeS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNBWFBhcnNlTWVtb3J5JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbERvY1B0cikKKyAgICAgZCAgc2F4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNBWEhhbmRsZXJQdHIpCisgICAgIGQgIGJ1ZmZlciAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBzaXplICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIHJlY292ZXJ5ICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFNBWFBhcnNlTWVtb3J5V2l0aERhdGEuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTQVhQYXJzZU1lbW9yeVdpdGhEYXRhJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbERvY1B0cikKKyAgICAgZCAgc2F4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNBWEhhbmRsZXJQdHIpCisgICAgIGQgIGJ1ZmZlciAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBzaXplICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIHJlY292ZXJ5ICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgZGF0YSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCisKKyAgICAgZCB4bWxTQVhQYXJzZUZpbGUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTQVhQYXJzZUZpbGUnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRG9jUHRyKQorICAgICBkICBzYXggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU0FYSGFuZGxlclB0cikKKyAgICAgZCAgZmlsZW5hbWUgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIHJlY292ZXJ5ICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFNBWFBhcnNlRmlsZVdpdGhEYXRhLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU0FYUGFyc2VGaWxlV2l0aERhdGEnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRG9jUHRyKQorICAgICBkICBzYXggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU0FYSGFuZGxlclB0cikKKyAgICAgZCAgZmlsZW5hbWUgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIHJlY292ZXJ5ICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgZGF0YSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCisKKyAgICAgZCB4bWxTQVhQYXJzZUVudGl0eS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNBWFBhcnNlRW50aXR5JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbERvY1B0cikKKyAgICAgZCAgc2F4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNBWEhhbmRsZXJQdHIpCisgICAgIGQgIGZpbGVuYW1lICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorCisgICAgIGQgeG1sUGFyc2VFbnRpdHkuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxQYXJzZUVudGl0eScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxEb2NQdHIpCisgICAgIGQgIGZpbGVuYW1lICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTUxfU0FYMV9FTkFCTEVECisKKyAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9WQUxJRF9FTkFCTEVEKQorICAgICBkIHhtbFNBWFBhcnNlRFREICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNBWFBhcnNlRFREJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbER0ZFB0cikKKyAgICAgZCAgc2F4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNBWEhhbmRsZXJQdHIpCisgICAgIGQgIEV4dGVybmFsSUQgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBTeXN0ZW1JRCAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICBkIHhtbFBhcnNlRFREICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFBhcnNlRFREJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbER0ZFB0cikKKyAgICAgZCAgRXh0ZXJuYWxJRCAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIFN5c3RlbUlEICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgIGQgeG1sSU9QYXJzZURURCAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sSU9QYXJzZURURCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxEdGRQdHIpCisgICAgIGQgIHNheCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTQVhIYW5kbGVyUHRyKQorICAgICBkICBpbnB1dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIpCisgICAgIGQgIGVuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaGFyRW5jb2RpbmcpCisgICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9WQUxJRF9FTkFCTEVECisKKyAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9TQVgxX0VOQUJMRUQpCisgICAgIGQgeG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeScpCisgICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCisgICAgIGQgIHNheCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTQVhIYW5kbGVyUHRyKQorICAgICBkICB1c2VyX2RhdGEgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKyAgICAgZCAgZGVwdGggICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICB1c2VyX2RhdGEgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKyAgICAgZCAgc3RyaW5nICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIGxzdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbE5vZGVQdHIgKgorICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTUxfU0FYMV9FTkFCTEVECisKKyAgICAgZCB4bWxQYXJzZUluTm9kZUNvbnRleHQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxQYXJzZUluTm9kZUNvbnRleHQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sUGFyc2VyRXJyb3JzKQorICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKyAgICAgZCAgZGF0YSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIGRhdGFsZW4gICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBsc3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxOb2RlUHRyICoKKworICAgICAgL2lmIGRlZmluZWQoTElCWE1MX1NBWDFfRU5BQkxFRCkKKyAgICAgZCB4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlSZWNvdmVyLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5UmVjb3ZlcicpCisgICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCisgICAgIGQgIHNheCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTQVhIYW5kbGVyUHRyKQorICAgICBkICB1c2VyX2RhdGEgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKyAgICAgZCAgZGVwdGggICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBzdHJpbmcgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgbHN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sTm9kZVB0ciAqCisgICAgIGQgIHJlY292ZXIgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFBhcnNlRXh0ZXJuYWxFbnRpdHkuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxQYXJzZUV4dGVybmFsRW50aXR5JykKKyAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKKyAgICAgZCAgc2F4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNBWEhhbmRsZXJQdHIpCisgICAgIGQgIHVzZXJfZGF0YSAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorICAgICBkICBkZXB0aCAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIFVSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBJRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgbHN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sTm9kZVB0ciAqCisgICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9TQVgxX0VOQUJMRUQKKworICAgICBkIHhtbFBhcnNlQ3R4dEV4dGVybmFsRW50aXR5Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sUGFyc2VDdHh0RXh0ZXJuYWxFbnRpdHknKQorICAgICBkICBzYXggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU0FYSGFuZGxlclB0cikKKyAgICAgZCAgVVJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIElEICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBsc3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxOb2RlUHRyICoKKworICAgICAgKiBQYXJzZXIgY29udGV4dHMgaGFuZGxpbmcuCisKKyAgICAgZCB4bWxOZXdQYXJzZXJDdHh0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTmV3UGFyc2VyQ3R4dCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQorCisgICAgIGQgeG1sSW5pdFBhcnNlckN0eHQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxJbml0UGFyc2VyQ3R4dCcpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQorCisgICAgIGQgeG1sQ2xlYXJQYXJzZXJDdHh0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQ2xlYXJQYXJzZXJDdHh0JykKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCisKKyAgICAgZCB4bWxGcmVlUGFyc2VyQ3R4dC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEZyZWVQYXJzZXJDdHh0JykKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCisKKyAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9TQVgxX0VOQUJMRUQpCisgICAgIGQgeG1sU2V0dXBQYXJzZXJGb3JCdWZmZXIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTZXR1cFBhcnNlckZvckJ1ZmZlcicpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQorICAgICBkICBidWZmZXIgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgZmlsZW5hbWUgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9TQVgxX0VOQUJMRUQKKworICAgICBkIHhtbENyZWF0ZURvY1BhcnNlckN0eHQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxDcmVhdGVEb2NQYXJzZXJDdHh0JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCisgICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgICAvaWYgZGVmaW5lZChMSUJYTUxfTEVHQUNZX0VOQUJMRUQpCisgICAgICAqIFJlYWRpbmcvc2V0dGluZyBvcHRpb25hbCBwYXJzaW5nIGZlYXR1cmVzLgorCisgICAgIGQgeG1sR2V0RmVhdHVyZXNMaXN0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sR2V0RmVhdHVyZXNMaXN0JykKKyAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMAorICAgICBkICByZXN1bHQgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICooKikKKworICAgICBkIHhtbEdldEZlYXR1cmUgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbEdldEZlYXR1cmUnKQorICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIHJlc3VsdCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorCisgICAgIGQgeG1sU2V0RmVhdHVyZSAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sU2V0RmVhdHVyZScpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQorICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgcmVzdWx0ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCisgICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9MRUdBQ1lfRU5BQkxECisKKyAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9QVVNIX0VOQUJMRUQpCisgICAgICAqIEludGVyZmFjZXMgZm9yIHRoZSBQdXNoIG1vZGUuCisKKyAgICAgZCB4bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbENyZWF0ZVB1c2hQYXJzZXJDdHh0JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCisgICAgIGQgIHNheCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTQVhIYW5kbGVyUHRyKQorICAgICBkICB1c2VyX2RhdGEgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKyAgICAgZCAgY2h1bmsgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIHNpemUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgZmlsZW5hbWUgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisKKyAgICAgZCB4bWxQYXJzZUNodW5rICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxQYXJzZUNodW5rJykKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCisgICAgIGQgIGNodW5rICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBzaXplICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIHRlcm1pbmF0ZSAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCWE1MX1BVU0hfRU5BQkxFRAorCisgICAgICAqIFNwZWNpYWwgSS9PIG1vZGUuCisKKyAgICAgZCB4bWxDcmVhdGVJT1BhcnNlckN0eHQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxDcmVhdGVJT1BhcnNlckN0eHQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKKyAgICAgZCAgc2F4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNBWEhhbmRsZXJQdHIpCisgICAgIGQgIHVzZXJfZGF0YSAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorICAgICBkICBpb3JlYWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sSW5wdXRSZWFkQ2FsbGJhY2spCisgICAgIGQgIGlvY2xvc2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxJbnB1dENsb3NlQ2FsbGJhY2spCisgICAgIGQgIGlvY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorICAgICBkICBlbmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2hhckVuY29kaW5nKQorCisgICAgIGQgeG1sTmV3SU9JbnB1dFN0cmVhbS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5ld0lPSW5wdXRTdHJlYW0nKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sUGFyc2VySW5wdXRQdHIpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQorICAgICBkICBpbnB1dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIpCisgICAgIGQgIGVuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaGFyRW5jb2RpbmcpCisKKyAgICAgICogTm9kZSBpbmZvcy4KKworICAgICBkIHhtbFBhcnNlckZpbmROb2RlSW5mby4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbFBhcnNlckZpbmROb2RlSW5mbycpICAgICB4bWxQYXJzZXJOb2RlSW5mbyAqCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQorICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikgICAgICAgICAgICAgICBjb25zdAorCisgICAgIGQgeG1sSW5pdE5vZGVJbmZvU2VxLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sSW5pdE5vZGVJbmZvU2VxJykKKyAgICAgZCAgc2VxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlck5vZGVJbmZvU2VxUHRyKQorCisgICAgIGQgeG1sQ2xlYXJOb2RlSW5mb1NlcS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbENsZWFyTm9kZUluZm9TZXEnKQorICAgICBkICBzZXEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyTm9kZUluZm9TZXFQdHIpCisKKyAgICAgZCB4bWxQYXJzZXJGaW5kTm9kZUluZm9JbmRleC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDIwdSAwIGV4dHByb2MoJ3htbFBhcnNlckZpbmROb2RlSW5mb0luZGV4JykKKyAgICAgZCAgc2VxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlck5vZGVJbmZvU2VxUHRyKQorICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikgICAgICAgICAgICAgICBjb25zdAorCisgICAgIGQgeG1sUGFyc2VyQWRkTm9kZUluZm8uLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxQYXJzZXJBZGROb2RlSW5mbycpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQorICAgICBkICBpbmZvICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyTm9kZUluZm9QdHIpICAgICBjb25zdAorCisgICAgICAqIEV4dGVybmFsIGVudGl0aWVzIGhhbmRsaW5nIGFjdHVhbGx5IGltcGxlbWVudGVkIGluIHhtbElPLgorCisgICAgIGQgeG1sU2V0RXh0ZXJuYWxFbnRpdHlMb2FkZXIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTZXRFeHRlcm5hbEVudGl0eUxvYWRlcicpCisgICAgIGQgIGYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxFeHRlcm5hbEVudGl0eUxvYWRlcikKKworICAgICBkIHhtbEdldEV4dGVybmFsRW50aXR5TG9hZGVyLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sR2V0RXh0ZXJuYWxFbnRpdHlMb2FkZXInKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRXh0ZXJuYWxFbnRpdHlMb2FkZXIpCisKKyAgICAgZCB4bWxMb2FkRXh0ZXJuYWxFbnRpdHkuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxMb2FkRXh0ZXJuYWxFbnRpdHknKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sUGFyc2VySW5wdXRQdHIpCisgICAgIGQgIFVSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBJRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCisKKyAgICAgICogSW5kZXggbG9va3VwLCBhY3R1YWxseSBpbXBsZW1lbnRlZCBpbiB0aGUgZW5jb2RpbmcgbW9kdWxlCisKKyAgICAgZCB4bWxCeXRlQ29uc3VtZWQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAyMGkgMCBleHRwcm9jKCd4bWxCeXRlQ29uc3VtZWQnKQorICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKKworICAgICAgKiBOZXcgc2V0IG9mIHNpbXBsZXIvbW9yZSBmbGV4aWJsZSBBUElzCisKKyAgICAgICogeG1sUGFyc2VyT3B0aW9uOgorICAgICAgKgorICAgICAgKiBUaGlzIGlzIHRoZSBzZXQgb2YgWE1MIHBhcnNlciBvcHRpb25zIHRoYXQgY2FuIGJlIHBhc3NlZCBkb3duCisgICAgICAqIHRvIHRoZSB4bWxSZWFkRG9jKCkgYW5kIHNpbWlsYXIgY2FsbHMuCisKKyAgICAgZCB4bWxQYXJzZXJPcHRpb24uLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAxMGkgMCBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKSAgICAgICAgICAgZW51bQorICAgICBkICBYTUxfUEFSU0VfUkVDT1ZFUi4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWNvdmVyIG9uIGVycm9ycworICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMDAwMDEnCisgICAgIGQgIFhNTF9QQVJTRV9OT0VOVC4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN1YnN0aXR1dGUgZW50aXRpZXMKKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDAwMDAyJworICAgICBkICBYTUxfUEFSU0VfRFRETE9BRC4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2FkIGV4dGVybmFsIHN1YnNldAorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMDAwMDQnCisgICAgIGQgIFhNTF9QQVJTRV9EVERBVFRSLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERlZmF1bHQgRFREIGF0dHJzCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDAwMDAwOCcKKyAgICAgZCAgWE1MX1BBUlNFX0RURFZBTElELi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmFsaWRhdGUgd2l0aCBEVEQKKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDAwMDEwJworICAgICBkICBYTUxfUEFSU0VfTk9FUlJPUi4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdXBwcmVzcyBlcnIgcmVwb3J0cworICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMDAwMjAnCisgICAgIGQgIFhNTF9QQVJTRV9OT1dBUk5JTkcuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN1cHByIHdhcm4gcmVwb3J0cworICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMDAwNDAnCisgICAgIGQgIFhNTF9QQVJTRV9QRURBTlRJQy4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBlZGFudGljIGVyciByZXBvcnQKKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDAwMDgwJworICAgICBkICBYTUxfUEFSU0VfTk9CTEFOS1MuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZW1vdmUgYmxhbmsgbm9kZXMKKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDAwMTAwJworICAgICBkICBYTUxfUEFSU0VfU0FYMS4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVc2UgU0FYMSBpbnRlcm5hbGx5CisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDAwMDIwMCcKKyAgICAgZCAgWE1MX1BBUlNFX1hJTkNMVURFLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW1wbCBYSW5jbHVkZSBzdWJzdAorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMDA0MDAnCisgICAgIGQgIFhNTF9QQVJTRV9OT05FVC4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZvcmJpZCBuZXR3cmsgYWNjZXNzCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDAwMDgwMCcKKyAgICAgZCAgWE1MX1BBUlNFX05PRElDVC4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTm8gY29udHh0IGRpY3QgcmV1c2UKKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDAxMDAwJworICAgICBkICBYTUxfUEFSU0VfTlNDTEVBTi4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSbXYgcmVkbmRudCBucyBkZWNscworICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMDIwMDAnCisgICAgIGQgIFhNTF9QQVJTRV9OT0NEQVRBLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENEQVRBIGFzIHRleHQgbm9kZXMKKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDA0MDAwJworICAgICBkICBYTUxfUEFSU0VfTk9YSU5DTk9ERS4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBObyBYSU5DTCBTVEFSVC9FTkQKKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDA4MDAwJworICAgICBkICBYTUxfUEFSU0VfQ09NUEFDVC4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb21wYWN0IHRleHQgbm9kZXMKKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDEwMDAwJworICAgICBkICBYTUxfUEFSU0VfT0xEMTAuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCNCB1cGQ1IGNvbXBhdGlibGUKKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDIwMDAwJworICAgICBkICBYTUxfUEFSU0VfTk9CQVNFRklYLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBObyBYSU5DIHhtbDpiYXNlIGZpeAorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwNDAwMDAnCisgICAgIGQgIFhNTF9QQVJTRV9IVUdFLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vIHBhcnNpbmcgbGltaXQKKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDgwMDAwJworICAgICBkICBYTUxfUEFSU0VfT0xEU0FYLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVc2UgU0FYMiBiNCAyLjcuMAorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAxMDAwMDAnCisgICAgIGQgIFhNTF9QQVJTRV9JR05PUkVfRU5DLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vIGludCBkb2MgY29kZSBoaW50CisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDIwMDAwMCcKKyAgICAgZCAgWE1MX1BBUlNFX0JJR19MSU5FUy4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmlnIGxpbmUjLS0+UFNWSSBmbGQKKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwNDAwMDAwJworCisgICAgIGQgeG1sQ3R4dFJlc2V0ICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQ3R4dFJlc2V0JykKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCisKKyAgICAgZCB4bWxDdHh0UmVzZXRQdXNoLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sQ3R4dFJlc2V0UHVzaCcpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQorICAgICBkICBjaHVuayAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBmaWxlbmFtZSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisKKyAgICAgZCB4bWxDdHh0VXNlT3B0aW9ucy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbEN0eHRVc2VPcHRpb25zJykKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCisgICAgIGQgIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFJlYWREb2MgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFJlYWREb2MnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRG9jUHRyKQorICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgVVJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIGVuY29kaW5nICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBvcHRpb25zICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxSZWFkRmlsZSAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxSZWFkRmlsZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxEb2NQdHIpCisgICAgIGQgIFVSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sUmVhZE1lbW9yeSAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUmVhZE1lbW9yeScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxEb2NQdHIpCisgICAgIGQgIGJ1ZmZlciAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBzaXplICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIFVSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sUmVhZEZkICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUmVhZEZkJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbERvY1B0cikKKyAgICAgZCAgZmQgICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBVUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFJlYWRJTyAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFJlYWRJTycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxEb2NQdHIpCisgICAgIGQgIGlvcmVhZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxJbnB1dFJlYWRDYWxsYmFjaykKKyAgICAgZCAgaW9jbG9zZSAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbElucHV0Q2xvc2VDYWxsYmFjaykKKyAgICAgZCAgaW9jdHggICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCisgICAgIGQgIFVSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sQ3R4dFJlYWREb2MgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQ3R4dFJlYWREb2MnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRG9jUHRyKQorICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKKyAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIFVSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sQ3R4dFJlYWRGaWxlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQ3R4dFJlYWRGaWxlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbERvY1B0cikKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCisgICAgIGQgIGZpbGVuYW1lICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sQ3R4dFJlYWRNZW1vcnkuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxDdHh0UmVhZE1lbW9yeScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxEb2NQdHIpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQorICAgICBkICBidWZmZXIgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBVUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbEN0eHRSZWFkRmQgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEN0eHRSZWFkRmQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRG9jUHRyKQorICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKKyAgICAgZCAgZmQgICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBVUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbEN0eHRSZWFkSU8gICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEN0eHRSZWFkSU8nKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRG9jUHRyKQorICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKKyAgICAgZCAgaW9yZWFkICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbElucHV0UmVhZENhbGxiYWNrKQorICAgICBkICBpb2Nsb3NlICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sSW5wdXRDbG9zZUNhbGxiYWNrKQorICAgICBkICBpb2N0eCAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKyAgICAgZCAgVVJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIGVuY29kaW5nICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBvcHRpb25zICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgICogTGlicmFyeSB3aWRlIG9wdGlvbnMKKworICAgICAgKiB4bWxGZWF0dXJlOgorICAgICAgKgorICAgICAgKiBVc2VkIHRvIGV4YW1pbmUgdGhlIGV4aXN0YW5jZSBvZiBmZWF0dXJlcyB0aGF0IGNhbiBiZSBlbmFibGVkCisgICAgICAqIG9yIGRpc2FibGVkIGF0IGNvbXBpbGUtdGltZS4KKyAgICAgICogVGhleSB1c2VkIHRvIGJlIGNhbGxlZCBYTUxfRkVBVFVSRV94eHggYnV0IHRoaXMgY2xhc2hlZCB3aXRoIEV4cGF0CisKKyAgICAgZCB4bWxGZWF0dXJlICAgICAgcyAgICAgICAgICAgICAxMGkgMCBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKSAgICAgICAgICAgZW51bQorICAgICBkICBYTUxfV0lUSF9USFJFQUQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxCisgICAgIGQgIFhNTF9XSVRIX1RSRUUgIGMgICAgICAgICAgICAgICAgICAgMgorICAgICBkICBYTUxfV0lUSF9PVVRQVVQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzCisgICAgIGQgIFhNTF9XSVRIX1BVU0ggIGMgICAgICAgICAgICAgICAgICAgNAorICAgICBkICBYTUxfV0lUSF9SRUFERVIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1CisgICAgIGQgIFhNTF9XSVRIX1BBVFRFUk4uLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA2CisgICAgIGQgIFhNTF9XSVRIX1dSSVRFUi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDcKKyAgICAgZCAgWE1MX1dJVEhfU0FYMSAgYyAgICAgICAgICAgICAgICAgICA4CisgICAgIGQgIFhNTF9XSVRIX0ZUUCAgIGMgICAgICAgICAgICAgICAgICAgOQorICAgICBkICBYTUxfV0lUSF9IVFRQICBjICAgICAgICAgICAgICAgICAgIDEwCisgICAgIGQgIFhNTF9XSVRIX1ZBTElELi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTEKKyAgICAgZCAgWE1MX1dJVEhfSFRNTCAgYyAgICAgICAgICAgICAgICAgICAxMgorICAgICBkICBYTUxfV0lUSF9MRUdBQ1kuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMworICAgICBkICBYTUxfV0lUSF9DMTROICBjICAgICAgICAgICAgICAgICAgIDE0CisgICAgIGQgIFhNTF9XSVRIX0NBVEFMT0cuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNQorICAgICBkICBYTUxfV0lUSF9YUEFUSC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE2CisgICAgIGQgIFhNTF9XSVRIX1hQVFIgIGMgICAgICAgICAgICAgICAgICAgMTcKKyAgICAgZCAgWE1MX1dJVEhfWElOQ0xVREUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxOAorICAgICBkICBYTUxfV0lUSF9JQ09OVi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE5CisgICAgIGQgIFhNTF9XSVRIX0lTTzg4NTlYLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMjAKKyAgICAgZCAgWE1MX1dJVEhfVU5JQ09ERS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDIxCisgICAgIGQgIFhNTF9XSVRIX1JFR0VYUC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDIyCisgICAgIGQgIFhNTF9XSVRIX0FVVE9NQVRBLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMjMKKyAgICAgZCAgWE1MX1dJVEhfRVhQUiAgYyAgICAgICAgICAgICAgICAgICAyNAorICAgICBkICBYTUxfV0lUSF9TQ0hFTUFTLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMjUKKyAgICAgZCAgWE1MX1dJVEhfU0NIRU1BVFJPTi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDI2CisgICAgIGQgIFhNTF9XSVRIX01PRFVMRVMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAyNworICAgICBkICBYTUxfV0lUSF9ERUJVRy4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDI4CisgICAgIGQgIFhNTF9XSVRIX0RFQlVHX01FTS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDI5CisgICAgIGQgIFhNTF9XSVRIX0RFQlVHX1JVTi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMwCisgICAgIGQgIFhNTF9XSVRIX1pMSUIgIGMgICAgICAgICAgICAgICAgICAgMzEKKyAgICAgZCAgWE1MX1dJVEhfSUNVICAgYyAgICAgICAgICAgICAgICAgICAzMgorICAgICBkICBYTUxfV0lUSF9MWk1BICBjICAgICAgICAgICAgICAgICAgIDMzCisgICAgIGQgIFhNTF9XSVRIX05PTkUgIGMgICAgICAgICAgICAgICAgICAgOTk5OTkKKworICAgICBkIHhtbEhhc0ZlYXR1cmUgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbEhhc0ZlYXR1cmUnKQorICAgICBkICBmZWF0dXJlICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRmVhdHVyZSkKKworICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfUEFSU0VSX0hfXwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9vczQwMC9saWJ4bWxycGcvcGFyc2VySW50ZXJuYWxzLnJwZ2xlIGIvbGlieG1sMi9vczQwMC9saWJ4bWxycGcvcGFyc2VySW50ZXJuYWxzLnJwZ2xlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY5NDJiN2QKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL29zNDAwL2xpYnhtbHJwZy9wYXJzZXJJbnRlcm5hbHMucnBnbGUKQEAgLTAsMCArMSw1NzUgQEAKKyAgICAgICogU3VtbWFyeTogaW50ZXJuYWxzIHJvdXRpbmVzIGFuZCBsaW1pdHMgZXhwb3J0ZWQgYnkgdGhlIHBhcnNlci4KKyAgICAgICogRGVzY3JpcHRpb246IHRoaXMgbW9kdWxlIGV4cG9ydHMgYSBudW1iZXIgb2YgaW50ZXJuYWwgcGFyc2luZyByb3V0aW5lcworICAgICAgKiAgICAgICAgICAgICAgdGhleSBhcmUgbm90IHJlYWxseSBhbGwgaW50ZW5kZWQgZm9yIGFwcGxpY2F0aW9ucyBidXQKKyAgICAgICogICAgICAgICAgICAgIGNhbiBwcm92ZSB1c2VmdWwgZG9pbmcgbG93IGxldmVsIHByb2Nlc3NpbmcuCisgICAgICAqCisgICAgICAqIENvcHk6IFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyAgICAgICoKKyAgICAgICogQXV0aG9yOiBQYXRyaWNrIE1vbm5lcmF0IDxwbUBkYXRhc3BoZXJlLmNoPiwgREFUQVNQSEVSRSBTLkEuCisKKyAgICAgIC9pZiBub3QgZGVmaW5lZChYTUxfUEFSU0VSX0lOVEVSTkFMU19IX18pCisgICAgICAvZGVmaW5lIFhNTF9QQVJTRVJfSU5URVJOQUxTX0hfXworCisgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbHZlcnNpb24iCisgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3BhcnNlciIKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcvSFRNTHBhcnNlciIKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcvY2h2YWxpZCIKKworICAgICAgKiB4bWxQYXJzZXJNYXhEZXB0aDoKKyAgICAgICoKKyAgICAgICogYXJiaXRyYXJ5IGRlcHRoIGxpbWl0IGZvciB0aGUgWE1MIGRvY3VtZW50cyB0aGF0IHdlIGFsbG93IHRvCisgICAgICAqIHByb2Nlc3MuIFRoaXMgaXMgbm90IGEgbGltaXRhdGlvbiBvZiB0aGUgcGFyc2VyIGJ1dCBhIHNhZmV0eQorICAgICAgKiBib3VuZGFyeSBmZWF0dXJlLCB1c2UgWE1MX1BBUlNFX0hVR0Ugb3B0aW9uIHRvIG92ZXJyaWRlIGl0LgorCisgICAgIGQgeG1sUGFyc2VyTWF4RGVwdGguLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAxMHUgMCBpbXBvcnQoJ3htbFBhcnNlck1heERlcHRoJykKKworICAgICAgKiBYTUxfTUFYX1RFWFRfTEVOR1RIOgorICAgICAgKgorICAgICAgKiBNYXhpbXVtIHNpemUgYWxsb3dlZCBmb3IgYSBzaW5nbGUgdGV4dCBub2RlIHdoZW4gYnVpbGRpbmcgYSB0cmVlLgorICAgICAgKiBUaGlzIGlzIG5vdCBhIGxpbWl0YXRpb24gb2YgdGhlIHBhcnNlciBidXQgYSBzYWZldHkgYm91bmRhcnkgZmVhdHVyZSwKKyAgICAgICogdXNlIFhNTF9QQVJTRV9IVUdFIG9wdGlvbiB0byBvdmVycmlkZSBpdC4KKyAgICAgICogSW50cm9kdWNlZCBpbiAyLjkuMAorCisgICAgIGQgWE1MX01BWF9URVhUX0xFTkdUSC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwMDAwMDAwCisKKyAgICAgICogWE1MX01BWF9OQU1FX0xFTkdUSDoKKyAgICAgICoKKyAgICAgICogTWF4aW11bSBzaXplIGFsbG93ZWQgZm9yIGEgbWFya3VwIGlkZW50aXRpZXIKKyAgICAgICogVGhpcyBpcyBub3QgYSBsaW1pdGF0aW9uIG9mIHRoZSBwYXJzZXIgYnV0IGEgc2FmZXR5IGJvdW5kYXJ5IGZlYXR1cmUsCisgICAgICAqIHVzZSBYTUxfUEFSU0VfSFVHRSBvcHRpb24gdG8gb3ZlcnJpZGUgaXQuCisgICAgICAqIE5vdGUgdGhhdCB3aXRoIHRoZSB1c2Ugb2YgcGFyc2luZyBkaWN0aW9uYXJpZXMgb3ZlcnJpZGluZyB0aGUgbGltaXQKKyAgICAgICogbWF5IHJlc3VsdCBpbiBtb3JlIHJ1bnRpbWUgbWVtb3J5IHVzYWdlIGluIGZhY2Ugb2YgInVuZnJpZW5kbHknIGNvbnRlbnQKKyAgICAgICogSW50cm9kdWNlZCBpbiAyLjkuMAorCisgICAgIGQgWE1MX01BWF9OQU1FX0xFTkdUSC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUwMDAwCisKKyAgICAgICogWE1MX01BWF9ESUNUSU9OQVJZX0xJTUlUOgorICAgICAgKgorICAgICAgKiBNYXhpbXVtIHNpemUgYWxsb3dlZCBieSB0aGUgcGFyc2VyIGZvciBhIGRpY3Rpb25hcnkgYnkgZGVmYXVsdAorICAgICAgKiBUaGlzIGlzIG5vdCBhIGxpbWl0YXRpb24gb2YgdGhlIHBhcnNlciBidXQgYSBzYWZldHkgYm91bmRhcnkgZmVhdHVyZSwKKyAgICAgICogdXNlIFhNTF9QQVJTRV9IVUdFIG9wdGlvbiB0byBvdmVycmlkZSBpdC4KKyAgICAgICogSW50cm9kdWNlZCBpbiAyLjkuMAorCisgICAgIGQgWE1MX01BWF9ESUNUSU9OQVJZX0xJTUlULi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTAwMDAwMDAKKworICAgICAgKiBYTUxfTUFYX0xPT0tVUF9MSU1JVDoKKyAgICAgICoKKyAgICAgICogTWF4aW11bSBzaXplIGFsbG93ZWQgYnkgdGhlIHBhcnNlciBmb3IgYWhlYWQgbG9va3VwCisgICAgICAqIFRoaXMgaXMgYW4gdXBwZXIgYm91bmRhcnkgZW5mb3JjZWQgYnkgdGhlIHBhcnNlciB0byBhdm9pZCBiYWQKKyAgICAgICogYmVoYXZpb3VyIG9uICJ1bmZyaWVuZGx5JyBjb250ZW50CisgICAgICAqIEludHJvZHVjZWQgaW4gMi45LjAKKworICAgICBkIFhNTF9NQVhfTE9PS1VQX0xJTUlULi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTAwMDAwMDAKKworICAgICAgKiBYTUxfTUFYX05BTUVMRU46CisgICAgICAqCisgICAgICAqIElkZW50aWZpZXJzIGNhbiBiZSBsb25nZXIsIGJ1dCB0aGlzIHdpbGwgYmUgbW9yZSBjb3N0bHkKKyAgICAgICogYXQgcnVudGltZS4KKworICAgICBkIFhNTF9NQVhfTkFNRUxFTi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwMAorCisgICAgICAqIElOUFVUX0NIVU5LOgorICAgICAgKgorICAgICAgKiBUaGUgcGFyc2VyIHRyaWVzIHRvIGFsd2F5cyBoYXZlIHRoYXQgYW1vdW50IG9mIGlucHV0IHJlYWR5LgorICAgICAgKiBPbmUgb2YgdGhlIHBvaW50IGlzIHByb3ZpZGluZyBjb250ZXh0IHdoZW4gcmVwb3J0aW5nIGVycm9ycy4KKworICAgICBkIElOUFVUX0NIVU5LICAgICBjICAgICAgICAgICAgICAgICAgIDI1MAorCisgICAgICAqIEdsb2JhbCB2YXJpYWJsZXMgdXNlZCBmb3IgcHJlZGVmaW5lZCBzdHJpbmdzLgorCisgICAgIGQgeG1sU3RyaW5nVGV4dCAgIHMgICAgICAgICAgICAgIDQgICAgaW1wb3J0KCd4bWxTdHJpbmdUZXh0JykgICAgICAgICAgICAgIFwwIGluIDV0aCBieXRlCisKKyAgICAgZCB4bWxTdHJpbmdUZXh0Tm9lbmMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgOSAgICBpbXBvcnQoJ3htbFN0cmluZ1RleHROb2VuYycpICAgICAgICAgXDAgaW4gMTB0aCBieXRlCisKKyAgICAgZCB4bWxTdHJpbmdDb21tZW50Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgIDcgICAgaW1wb3J0KCd4bWxTdHJpbmdUZXh0Q29tbWVudCcpICAgICAgIFwwIGluIDh0aCBieXRlCisKKyAgICAgICogRnVuY3Rpb24gdG8gZmluaXNoIHRoZSB3b3JrIG9mIHRoZSBtYWNyb3Mgd2hlcmUgbmVlZGVkLgorCisgICAgIGQgeG1sSXNMZXR0ZXIgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sSXNMZXR0ZXInKQorICAgICBkIGMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgICogUGFyc2VyIGNvbnRleHQuCisKKyAgICAgZCB4bWxDcmVhdGVGaWxlUGFyc2VyQ3R4dC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbENyZWF0ZUZpbGVQYXJzZXJDdHh0JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCisgICAgIGQgZmlsZW5hbWUgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorCisgICAgIGQgeG1sQ3JlYXRlVVJMUGFyc2VyQ3R4dC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbENyZWF0ZVVSTFBhcnNlckN0eHQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKKyAgICAgZCBmaWxlbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbENyZWF0ZU1lbW9yeVBhcnNlckN0eHQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxDcmVhdGVNZW1vcnlQYXJzZXJDdHh0JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCisgICAgIGQgYnVmZmVyICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkIHNpemUgICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxDcmVhdGVFbnRpdHlQYXJzZXJDdHh0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQ3JlYXRlRW50aXR5UGFyc2VyQ3R4dCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQorICAgICBkIFVSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCBJRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgYmFzZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgIGQgeG1sU3dpdGNoRW5jb2RpbmcuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxTd2l0Y2hFbmNvZGluZycpCisgICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQorICAgICBkIGVuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2hhckVuY29kaW5nKQorCisgICAgIGQgeG1sU3dpdGNoVG9FbmNvZGluZy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFN3aXRjaFRvRW5jb2RpbmcnKQorICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKKyAgICAgZCBoYW5kbGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIpCisKKyAgICAgZCB4bWxTd2l0Y2hJbnB1dEVuY29kaW5nLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sU3dpdGNoSW5wdXRFbmNvZGluZycpCisgICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQorICAgICBkIGlucHV0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VySW5wdXRQdHIpCisgICAgIGQgaGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyKQorCisgICAgICAqIElucHV0IFN0cmVhbXMuCisKKyAgICAgZCB4bWxOZXdTdHJpbmdJbnB1dFN0cmVhbS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5ld1N0cmluZ0lucHV0U3RyZWFtJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFBhcnNlcklucHV0UHRyKQorICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKKyAgICAgZCBidWZmZXIgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgZCB4bWxOZXdFbnRpdHlJbnB1dFN0cmVhbS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5ld0VudGl0eUlucHV0U3RyZWFtJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFBhcnNlcklucHV0UHRyKQorICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKKyAgICAgZCBlbnRpdHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEVudGl0eVB0cikKKworICAgICBkIHhtbFB1c2hJbnB1dCAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFB1c2hJbnB1dCcpCisgICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQorICAgICBkIGlucHV0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VySW5wdXRQdHIpCisKKyAgICAgZCB4bWxQb3BJbnB1dCAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxQb3BJbnB1dCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaGFyKQorICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKKworICAgICBkIHhtbEZyZWVJbnB1dFN0cmVhbS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEZyZWVJbnB1dFN0cmVhbScpCisgICAgIGQgaW5wdXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJJbnB1dFB0cikKKworICAgICBkIHhtbE5ld0lucHV0RnJvbUZpbGUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOZXdJbnB1dEZyb21GaWxlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFBhcnNlcklucHV0UHRyKQorICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKKyAgICAgZCBmaWxlbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisKKyAgICAgZCB4bWxOZXdJbnB1dFN0cmVhbS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5ld0lucHV0U3RyZWFtJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFBhcnNlcklucHV0UHRyKQorICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKKworICAgICAgKiBOYW1lc3BhY2VzLgorCisgICAgIGQgeG1sU3BsaXRRTmFtZSAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sU3BsaXRRTmFtZScpICAgICAgICAgICAgIHhtbENoYXIgKgorICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKKyAgICAgZCBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgcHJlZml4ICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbENoYXIgKigqKQorCisgICAgICAqIEdlbmVyaWMgcHJvZHVjdGlvbiBydWxlcy4KKworICAgICBkIHhtbFBhcnNlTmFtZSAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbFBhcnNlTmFtZScpICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCisKKyAgICAgZCB4bWxQYXJzZU5tdG9rZW4uLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxQYXJzZU5tdG9rZW4nKSAgICAgICAgICAgeG1sQ2hhciAqCisgICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQorCisgICAgIGQgeG1sUGFyc2VFbnRpdHlWYWx1ZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbFBhcnNlRW50aXR5VmFsdWUnKSAgICAgICB4bWxDaGFyICoKKyAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCisgICAgIGQgb3JpZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbENoYXIgKigqKQorCisgICAgIGQgeG1sUGFyc2VBdHRWYWx1ZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbFBhcnNlQXR0VmFsdWUnKSAgICAgICAgICB4bWxDaGFyICoKKyAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCisKKyAgICAgZCB4bWxQYXJzZVN5c3RlbUxpdGVyYWwuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxQYXJzZVN5c3RlbUxpdGVyYWwnKSAgICAgeG1sQ2hhciAqCisgICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQorCisgICAgIGQgeG1sUGFyc2VQdWJpZExpdGVyYWwuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxQYXJzZVB1YmlkTGl0ZXJhbCcpICAgICAgeG1sQ2hhciAqCisgICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQorCisgICAgIGQgeG1sUGFyc2VDaGFyRGF0YS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFBhcnNlQ2hhckRhdGEnKQorICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKKyAgICAgZCBjZGF0YSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sUGFyc2VFeHRlcm5hbElELi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sUGFyc2VFeHRlcm5hbElEJykgICAgICAgIHhtbENoYXIgKgorICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKKyAgICAgZCBwdWJsaWNJRCAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sQ2hhciAqKCopCisgICAgIGQgc3RyaWN0ICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFBhcnNlQ29tbWVudC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFBhcnNlQ29tbWVudCcpCisgICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQorCisgICAgIGQgeG1sUGFyc2VQSVRhcmdldC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbFBhcnNlUElUYXJnZXQnKSAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCisKKyAgICAgZCB4bWxQYXJzZVBJICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxQYXJzZVBJJykKKyAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCisKKyAgICAgZCB4bWxQYXJzZU5vdGF0aW9uRGVjbC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFBhcnNlTm90YXRpb25EZWNsJykKKyAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCisKKyAgICAgZCB4bWxQYXJzZUVudGl0eURlY2wuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxQYXJzZUVudGl0eURlY2wnKQorICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKKworICAgICBkIHhtbFBhcnNlRGVmYXVsdERlY2wuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxQYXJzZURlZmF1bHREZWNsJykKKyAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCisgICAgIGQgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbENoYXIgKigqKQorCisgICAgIGQgeG1sUGFyc2VOb3RhdGlvblR5cGUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxQYXJzZU5vdGF0aW9uVHlwZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxFbnVtZXJhdGlvblB0cikKKyAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCisKKyAgICAgZCB4bWxQYXJzZUVudW1lcmF0aW9uVHlwZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFBhcnNlRW51bWVyYXRpb25UeXBlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEVudW1lcmF0aW9uUHRyKQorICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKKworICAgICBkIHhtbFBhcnNlRW51bWVyYXRlZFR5cGUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxQYXJzZUVudW1lcmF0ZWRUeXBlJykKKyAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCisgICAgIGQgdHJlZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbEVudW1lcmF0aW9uUHRyICoKKworICAgICBkIHhtbFBhcnNlQXR0cmlidXRlVHlwZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFBhcnNlQXR0cmlidXRlVHlwZScpCisgICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQorICAgICBkIHRyZWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxFbnVtZXJhdGlvblB0ciAqCisKKyAgICAgZCB4bWxQYXJzZUF0dHJpYnV0ZUxpc3REZWNsLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUGFyc2VBdHRyaWJ1dGVMaXN0RGVjbCcpCisgICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQorCisgICAgIGQgeG1sUGFyc2VFbGVtZW50TWl4ZWRDb250ZW50RGVjbC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFBhcnNlRWxlbWVudE1peGVkQ29udGVudERlY2wnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRWxlbWVudENvbnRlbnRQdHIpCisgICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQorICAgICBkIGlucHV0Y2hrICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxQYXJzZUVsZW1lbnRDaGlsZHJlbkNvbnRlbnREZWNsLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sUGFyc2VFbGVtZW50Q2hpbGRyZW5Db250ZW50RGVjbCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxFbGVtZW50Q29udGVudFB0cikKKyAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCisgICAgIGQgaW5wdXRjaGsgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFBhcnNlRWxlbWVudENvbnRlbnREZWNsLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sUGFyc2VFbGVtZW50Q29udGVudERlY2wnKQorICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKKyAgICAgZCBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgcmVzdWx0ICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbEVsZW1lbnRDb250ZW50UHRyCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKKworICAgICBkIHhtbFBhcnNlRWxlbWVudERlY2wuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxQYXJzZUVsZW1lbnREZWNsJykKKyAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCisKKyAgICAgZCB4bWxQYXJzZU1hcmt1cERlY2wuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxQYXJzZU1hcmt1cERlY2wnKQorICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKKworICAgICBkIHhtbFBhcnNlQ2hhclJlZi4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFBhcnNlQ2hhclJlZicpCisgICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQorCisgICAgIGQgeG1sUGFyc2VFbnRpdHlSZWYuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxQYXJzZUVudGl0eVJlZicpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxFbnRpdHlQdHIpCisgICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQorCisgICAgIGQgeG1sUGFyc2VSZWZlcmVuY2UuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxQYXJzZVJlZmVyZW5jZScpCisgICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQorCisgICAgIGQgeG1sUGFyc2VQRVJlZmVyZW5jZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFBhcnNlUEVSZWZlcmVuY2UnKQorICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKKworICAgICBkIHhtbFBhcnNlRG9jVHlwZURlY2wuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxQYXJzZURvY1R5cGVEZWNsJykKKyAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCisKKyAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9TQVgxX0VOQUJMRUQpCisgICAgIGQgeG1sUGFyc2VBdHRyaWJ1dGUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxQYXJzZUF0dHJpYnV0ZScpICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQorICAgICBkIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxDaGFyICooKikKKworICAgICBkIHhtbFBhcnNlU3RhcnRUYWcuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxQYXJzZVN0YXJ0VGFnJykgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQorCisgICAgIGQgeG1sUGFyc2VFbmRUYWcgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUGFyc2VFbmRUYWcnKQorICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKKyAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCWE1MX1NBWDFfRU5BQkxFRAorCisgICAgIGQgeG1sUGFyc2VDRFNlY3QgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUGFyc2VDRFNlY3QnKQorICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKKworICAgICBkIHhtbFBhcnNlQ29udGVudC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFBhcnNlQ29udGVudCcpCisgICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQorCisgICAgIGQgeG1sUGFyc2VFbGVtZW50Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUGFyc2VFbGVtZW50JykKKyAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCisKKyAgICAgZCB4bWxQYXJzZVZlcnNpb25OdW0uLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxQYXJzZVZlcnNpb25OdW0nKSAgICAgICAgeG1sQ2hhciAqCisgICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQorCisgICAgIGQgeG1sUGFyc2VWZXJzaW9uSW5mby4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbFBhcnNlVmVyc2lvbkluZm8nKSAgICAgICB4bWxDaGFyICoKKyAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCisKKyAgICAgZCB4bWxQYXJzZUVuY05hbWUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxQYXJzZUVuY05hbWUnKSAgICAgICAgICAgeG1sQ2hhciAqCisgICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQorCisgICAgIGQgeG1sUGFyc2VFbmNvZGluZ0RlY2wuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxQYXJzZUVuY29kaW5nRGVjbCcpICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQorCisgICAgIGQgeG1sUGFyc2VTRERlY2wgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sUGFyc2VTRERlY2wnKQorICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKKworICAgICBkIHhtbFBhcnNlWE1MRGVjbC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFBhcnNlWE1MRGVjbCcpCisgICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQorCisgICAgIGQgeG1sUGFyc2VUZXh0RGVjbC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFBhcnNlVGV4dERlY2wnKQorICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKKworICAgICBkIHhtbFBhcnNlTWlzYyAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFBhcnNlTWlzYycpCisgICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQorCisgICAgIGQgeG1sUGFyc2VFeHRlcm5hbFN1YnNldC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFBhcnNlRXh0ZXJuYWxTdWJzZXQnKQorICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKKyAgICAgZCBFeHRlcm5hbElEICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgU3lzdGVtSUQgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgICAqIFhNTF9TVUJTVElUVVRFX05PTkU6CisgICAgICAqCisgICAgICAqIElmIG5vIGVudGl0aWVzIG5lZWQgdG8gYmUgc3Vic3RpdHV0ZWQuCisKKyAgICAgZCBYTUxfU1VCU1RJVFVURV9OT05FLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMAorCisgICAgICAqIFhNTF9TVUJTVElUVVRFX1JFRjoKKyAgICAgICoKKyAgICAgICogV2hldGhlciBnZW5lcmFsIGVudGl0aWVzIG5lZWQgdG8gYmUgc3Vic3RpdHV0ZWQuCisKKyAgICAgZCBYTUxfU1VCU1RJVFVURV9SRUYuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxCisKKyAgICAgICogWE1MX1NVQlNUSVRVVEVfUEVSRUY6CisgICAgICAqCisgICAgICAqIFdoZXRoZXIgcGFyYW1ldGVyIGVudGl0aWVzIG5lZWQgdG8gYmUgc3Vic3RpdHV0ZWQuCisKKyAgICAgZCBYTUxfU1VCU1RJVFVURV9QRVJFRi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDIKKworICAgICAgKiBYTUxfU1VCU1RJVFVURV9CT1RIOgorICAgICAgKgorICAgICAgKiBCb3RoIGdlbmVyYWwgYW5kIHBhcmFtZXRlciBlbnRpdGllcyBuZWVkIHRvIGJlIHN1YnN0aXR1dGVkLgorCisgICAgIGQgWE1MX1NVQlNUSVRVVEVfQk9USC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMKKworICAgICBkIHhtbFN0cmluZ0RlY29kZUVudGl0aWVzLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sU3RyaW5nRGVjb2RlRW50aXRpZXMnKSAgIHhtbENoYXIgKgorICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKKyAgICAgZCBzdHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgd2hhdCAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCBlbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENoYXIpCisgICAgIGQgZW5kMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaGFyKQorICAgICBkIGVuZDMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2hhcikKKworICAgICBkIHhtbFN0cmluZ0xlbkRlY29kZUVudGl0aWVzLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sU3RyaW5nTGVuRGVjb2RlRW50aXRpZXMnKXhtbENoYXIgKgorICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKKyAgICAgZCBzdHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCB3aGF0ICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkIGVuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2hhcikKKyAgICAgZCBlbmQyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENoYXIpCisgICAgIGQgZW5kMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaGFyKQorCisgICAgICAqIEdlbmVyYXRlZCBieSBNQUNST1Mgb24gdG9wIG9mIHBhcnNlci5jIGMuZi4gUFVTSF9BTkRfUE9QLgorCisgICAgIGQgbm9kZVB1c2ggICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygnbm9kZVB1c2gnKQorICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKKyAgICAgZCB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisKKyAgICAgZCBub2RlUG9wICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdub2RlUG9wJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpCisgICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQorCisgICAgIGQgaW5wdXRQdXNoICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygnaW5wdXRQdXNoJykKKyAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCisgICAgIGQgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJJbnB1dFB0cikKKworICAgICBkIGlucHV0UG9wICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ2lucHV0UG9wJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFBhcnNlcklucHV0UHRyKQorICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKKworICAgICBkIG5hbWVQb3AgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ25hbWVQb3AnKSAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCisKKyAgICAgZCBuYW1lUHVzaCAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCduYW1lUHVzaCcpCisgICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQorICAgICBkIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICAgKiBvdGhlciBjb21tb2RpdGllcyBzaGFyZWQgYmV0d2VlbiBwYXJzZXIuYyBhbmQgcGFyc2VySW50ZXJuYWxzLgorCisgICAgIGQgeG1sU2tpcEJsYW5rQ2hhcnMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxTa2lwQmxhbmtDaGFycycpCisgICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQorCisgICAgIGQgeG1sU3RyaW5nQ3VycmVudENoYXIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxTdHJpbmdDdXJyZW50Q2hhcicpCisgICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQorICAgICBkIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ICoKKworICAgICBkIHhtbFBhcnNlckhhbmRsZVBFUmVmZXJlbmNlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUGFyc2VySGFuZGxlUEVSZWZlcmVuY2UnKQorICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKKworICAgICBkIHhtbENoZWNrTGFuZ3VhZ2VJRC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbENoZWNrTGFuZ3VhZ2VJRCcpCisgICAgIGQgbGFuZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgICAqIFJlYWxseSBjb3JlIGZ1bmN0aW9uIHNoYXJlZCB3aXRoIEhUTUwgcGFyc2VyLgorCisgICAgIGQgeG1sQ3VycmVudENoYXIgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sQ3VycmVudENoYXInKQorICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKKyAgICAgZCBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ICoKKworICAgICBkIHhtbENvcHlDaGFyTXVsdGlCeXRlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sQ29weUNoYXJNdWx0aUJ5dGUnKQorICAgICBkIG91dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICB4bWxDaGFyICoKKyAgICAgZCB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sQ29weUNoYXIgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sQ29weUNoYXInKQorICAgICBkIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgb3V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIHhtbENoYXIgKgorICAgICBkIHZhbCAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxOZXh0Q2hhciAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOZXh0Q2hhcicpCisgICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQorCisgICAgIGQgeG1sUGFyc2VySW5wdXRTaHJpbmsuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxQYXJzZXJJbnB1dFNocmluaycpCisgICAgIGQgaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJJbnB1dFB0cikKKworICAgICAgL2lmIGRlZmluZWQoTElCWE1MX0hUTUxfRU5BQkxFRCkKKworICAgICAgKiBBY3R1YWxseSBjb21lcyBmcm9tIHRoZSBIVE1MIHBhcnNlciBidXQgbGF1bmNoZWQgZnJvbSB0aGUgaW5pdCBzdHVmZi4KKworICAgICBkIGh0bWxJbml0QXV0b0Nsb3NlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnaHRtbEluaXRBdXRvQ2xvc2UnKQorCisgICAgIGQgaHRtbENyZWF0ZUZpbGVQYXJzZXJDdHh0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnaHRtbENyZWF0ZUZpbGVQYXJzZXJDdHh0JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKGh0bWxQYXJzZXJDdHh0UHRyKQorICAgICBkIGZpbGVuYW1lICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgICAvZW5kaWYKKworICAgICAgKiBTcGVjaWZpYyBmdW5jdGlvbiB0byBrZWVwIHRyYWNrIG9mIGVudGl0aWVzIHJlZmVyZW5jZXMKKyAgICAgICogYW5kIHVzZWQgYnkgdGhlIFhTTFQgZGVidWdnZXIuCisKKyAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9MRUdBQ1lfRU5BQkxFRCkKKyAgICAgICogeG1sRW50aXR5UmVmZXJlbmNlRnVuYzoKKyAgICAgICogQGVudDogdGhlIGVudGl0eQorICAgICAgKiBAZmlyc3ROb2RlOiAgdGhlIGZpc3Qgbm9kZSBpbiB0aGUgY2h1bmsKKyAgICAgICogQGxhc3ROb2RlOiAgdGhlIGxhc3Qgbm9kIGluIHRoZSBjaHVuaworICAgICAgKgorICAgICAgKiBDYWxsYmFjayBmdW5jdGlvbiB1c2VkIHdoZW4gb25lIG5lZWRzIHRvIGJlIGFibGUgdG8gdHJhY2sgYmFjayB0aGUKKyAgICAgICogcHJvdmVuYW5jZSBvZiBhIGNodW5rIG9mIG5vZGVzIGluaGVyaXRlZCBmcm9tIGFuIGVudGl0eSByZXBsYWNlbWVudC4KKworICAgICBkIHhtbEVudGl0eVJlZmVyZW5jZUZ1bmMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NwdHIKKworICAgICBkIHhtbFNldEVudGl0eVJlZmVyZW5jZUZ1bmMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTZXRFbnRpdHlSZWZlcmVuY2VGdW5jJykKKyAgICAgZCBmdW5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEVudGl0eVJlZmVyZW5jZUZ1bmMpCisKKyAgICAgZCB4bWxQYXJzZVF1b3RlZFN0cmluZy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbFBhcnNlUXVvdGVkU3RyaW5nJykgICAgICB4bWxDaGFyICoKKyAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCisKKyAgICAgZCB4bWxQYXJzZU5hbWVzcGFjZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFBhcnNlTmFtZXNwYWNlJykKKyAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCisKKyAgICAgZCB4bWxOYW1lc3BhY2VQYXJzZU5TRGVmLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sTmFtZXNwYWNlUGFyc2VOU0RlZicpICAgIHhtbENoYXIgKgorICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKKworICAgICBkIHhtbFNjYW5OYW1lICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbFNjYW5OYW1lJykgICAgICAgICAgICAgICB4bWxDaGFyICoKKyAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCisKKyAgICAgZCB4bWxOYW1lc3BhY2VQYXJzZU5DTmFtZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbE5hbWVzcGFjZVBhcnNlTkNOYW1lJykgICB4bWxDaGFyICoKKyAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCisKKyAgICAgZCB4bWxQYXJzZXJIYW5kbGVSZWZlcmVuY2UuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxQYXJzZXJIYW5kbGVSZWZlcmVuY2UnKQorICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKKworICAgICBkIHhtbE5hbWVzcGFjZVBhcnNlUU5hbWUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxOYW1lc3BhY2VQYXJzZVFOYW1lJykgICAgeG1sQ2hhciAqCisgICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQorICAgICBkIHByZWZpeCAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxDaGFyICooKikKKworICAgICAgKiBFbnRpdGllcworCisgICAgIGQgeG1sRGVjb2RlRW50aXRpZXMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxEZWNvZGVFbnRpdGllcycpICAgICAgICAgeG1sQ2hhciAqCisgICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQorICAgICBkIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgd2hhdCAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCBlbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENoYXIpCisgICAgIGQgZW5kMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaGFyKQorICAgICBkIGVuZDMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2hhcikKKworICAgICBkIHhtbEhhbmRsZUVudGl0eS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEhhbmRsZUVudGl0eScpCisgICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQorICAgICBkIGVudGl0eSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRW50aXR5UHRyKQorICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTUxfTEVHQUNZX0VOQUJMRAorCisgICAgICAvZW5kaWYKZGlmZiAtLWdpdCBhL2xpYnhtbDIvb3M0MDAvbGlieG1scnBnL3BhdHRlcm4ucnBnbGUgYi9saWJ4bWwyL29zNDAwL2xpYnhtbHJwZy9wYXR0ZXJuLnJwZ2xlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJlODgxZTUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL29zNDAwL2xpYnhtbHJwZy9wYXR0ZXJuLnJwZ2xlCkBAIC0wLDAgKzEsMTE3IEBACisgICAgICAqIFN1bW1hcnk6IHBhdHRlcm4gZXhwcmVzc2lvbiBoYW5kbGluZworICAgICAgKiBEZXNjcmlwdGlvbjogYWxsb3dzIHRvIGNvbXBpbGUgYW5kIHRlc3QgcGF0dGVybiBleHByZXNzaW9ucyBmb3Igbm9kZXMKKyAgICAgICogICAgICAgICAgICAgIGVpdGhlciBpbiBhIHRyZWUgb3IgYmFzZWQgb24gYSBwYXJzZXIgc3RhdGUuCisgICAgICAqCisgICAgICAqIENvcHk6IFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyAgICAgICoKKyAgICAgICogQXV0aG9yOiBQYXRyaWNrIE1vbm5lcmF0IDxwbUBkYXRhc3BoZXJlLmNoPiwgREFUQVNQSEVSRSBTLkEuCisKKyAgICAgIC9pZiBub3QgZGVmaW5lZChYTUxfUEFUVEVSTl9IX18pCisgICAgICAvZGVmaW5lIFhNTF9QQVRURVJOX0hfXworCisgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbHZlcnNpb24iCisgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3RyZWUiCisgICAgICAvaW5jbHVkZSAibGlieG1scnBnL2RpY3QiCisKKyAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9QQVRURVJOX0VOQUJMRUQpCisKKyAgICAgICogeG1sUGF0dGVybjoKKyAgICAgICoKKyAgICAgICogQSBjb21waWxlZCAoWFBhdGggYmFzZWQpIHBhdHRlcm4gdG8gc2VsZWN0IG5vZGVzCisKKyAgICAgZCB4bWxQYXR0ZXJuUHRyLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKworICAgICAgKiB4bWxQYXR0ZXJuRmxhZ3M6CisgICAgICAqCisgICAgICAqIFRoaXMgaXMgdGhlIHNldCBvZiBvcHRpb25zIGFmZmVjdGluZyB0aGUgYmVoYXZpb3VyIG9mIHBhdHRlcm4KKyAgICAgICogbWF0Y2hpbmcgd2l0aCB0aGlzIG1vZHVsZQorCisgICAgIGQgeG1sUGF0dGVybkZsYWdzLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgMTBpIDAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykgICAgICAgICAgIGVudW0KKyAgICAgZCAgWE1MX1BBVFRFUk5fREVGQVVMVC4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2ltcGxlIHBhdHRlcm4gbWF0Y2gKKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDAnCisgICAgIGQgIFhNTF9QQVRURVJOX1hQQVRILi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0ZCBYUGF0aCBwYXR0ZXJuCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDAxJworICAgICBkICBYTUxfUEFUVEVSTl9YU1NFTC4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTY2htIHNlbCBYUHRoIHN1YnNldAorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMicKKyAgICAgZCAgWE1MX1BBVFRFUk5fWFNGSUVMRC4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2NobSBmbGQgWFB0aCBzdWJzZXQKKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDQnCisKKyAgICAgZCB4bWxGcmVlUGF0dGVybiAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxGcmVlUGF0dGVybicpCisgICAgIGQgIGNvbXAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXR0ZXJuUHRyKQorCisgICAgIGQgeG1sRnJlZVBhdHRlcm5MaXN0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRnJlZVBhdHRlcm5MaXN0JykKKyAgICAgZCAgY29tcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhdHRlcm5QdHIpCisKKyAgICAgZCB4bWxQYXR0ZXJuY29tcGlsZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFBhdHRlcm5jb21waWxlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFBhdHRlcm5QdHIpCisgICAgIGQgIHBhdHRlcm4gICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBkaWN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxEaWN0ICoKKyAgICAgZCAgZmxhZ3MgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBuYW1lc3BhY2VzICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICooKikKKworICAgICBkIHhtbFBhdHRlcm5NYXRjaC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFBhdHRlcm5NYXRjaCcpCisgICAgIGQgIGNvbXAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXR0ZXJuUHRyKQorICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKworICAgICAgKiBzdHJlYW1pbmcgaW50ZXJmYWNlcworCisgICAgIGQgeG1sU3RyZWFtQ3R4dFB0ci4uLgorICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisKKyAgICAgZCB4bWxQYXR0ZXJuU3RyZWFtYWJsZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFBhdHRlcm5TdHJlYW1hYmxlJykKKyAgICAgZCAgY29tcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhdHRlcm5QdHIpCisKKyAgICAgZCB4bWxQYXR0ZXJuTWF4RGVwdGguLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxQYXR0ZXJuTWF4RGVwdGgnKQorICAgICBkICBjb21wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGF0dGVyblB0cikKKworICAgICBkIHhtbFBhdHRlcm5NaW5EZXB0aC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFBhdHRlcm5NaW5EZXB0aCcpCisgICAgIGQgIGNvbXAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXR0ZXJuUHRyKQorCisgICAgIGQgeG1sUGF0dGVybkZyb21Sb290Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sUGF0dGVybkZyb21Sb290JykKKyAgICAgZCAgY29tcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhdHRlcm5QdHIpCisKKyAgICAgZCB4bWxQYXR0ZXJuR2V0U3RyZWFtQ3R4dC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFBhdHRlcm5HZXRTdHJlYW1DdHh0JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFN0cmVhbUN0eHRQdHIpCisgICAgIGQgIGNvbXAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXR0ZXJuUHRyKQorCisgICAgIGQgeG1sRnJlZVN0cmVhbUN0eHQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxGcmVlU3RyZWFtQ3R4dCcpCisgICAgIGQgIHN0cmVhbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTdHJlYW1DdHh0UHRyKQorCisgICAgIGQgeG1sU3RyZWFtUHVzaE5vZGUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxTdHJlYW1QdXNoTm9kZScpCisgICAgIGQgIHN0cmVhbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTdHJlYW1DdHh0UHRyKQorICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIG5vZGVUeXBlICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFN0cmVhbVB1c2ggICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFN0cmVhbVB1c2gnKQorICAgICBkICBzdHJlYW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU3RyZWFtQ3R4dFB0cikKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIG5zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgIGQgeG1sU3RyZWFtUHVzaEF0dHIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxTdHJlYW1QdXNoQXR0cicpCisgICAgIGQgIHN0cmVhbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTdHJlYW1DdHh0UHRyKQorICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgZCB4bWxTdHJlYW1Qb3AgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxTdHJlYW1Qb3AnKQorICAgICBkICBzdHJlYW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU3RyZWFtQ3R4dFB0cikKKworICAgICBkIHhtbFN0cmVhbVdhbnRzQW55Tm9kZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFN0cmVhbVdhbnRzQW55Tm9kZScpCisgICAgIGQgIHN0cmVhbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTdHJlYW1DdHh0UHRyKQorCisgICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9QQVRURVJOX0VOQkxECisgICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhNTF9QQVRURVJOX0hfXwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9vczQwMC9saWJ4bWxycGcvcmVsYXhuZy5ycGdsZSBiL2xpYnhtbDIvb3M0MDAvbGlieG1scnBnL3JlbGF4bmcucnBnbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWY2NjJhYQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvb3M0MDAvbGlieG1scnBnL3JlbGF4bmcucnBnbGUKQEAgLTAsMCArMSwyOTcgQEAKKyAgICAgICogU3VtbWFyeTogaW1wbGVtZW50YXRpb24gb2YgdGhlIFJlbGF4LU5HIHZhbGlkYXRpb24KKyAgICAgICogRGVzY3JpcHRpb246IGltcGxlbWVudGF0aW9uIG9mIHRoZSBSZWxheC1ORyB2YWxpZGF0aW9uCisgICAgICAqCisgICAgICAqIENvcHk6IFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyAgICAgICoKKyAgICAgICogQXV0aG9yOiBQYXRyaWNrIE1vbm5lcmF0IDxwbUBkYXRhc3BoZXJlLmNoPiwgREFUQVNQSEVSRSBTLkEuCisKKyAgICAgIC9pZiBub3QgZGVmaW5lZChYTUxfUkVMQVhfTkdfXykKKyAgICAgIC9kZWZpbmUgWE1MX1JFTEFYX05HX18KKworICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWx2ZXJzaW9uIgorICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy9oYXNoIgorICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWxzdHJpbmciCisKKyAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisKKyAgICAgZCB4bWxSZWxheE5HUHRyICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorCisgICAgICAqIHhtbFJlbGF4TkdWYWxpZGl0eUVycm9yRnVuYzoKKyAgICAgICogQGN0eDogdGhlIHZhbGlkYXRpb24gY29udGV4dAorICAgICAgKiBAbXNnOiB0aGUgbWVzc2FnZQorICAgICAgKiBALi4uOiBleHRyYSBhcmd1bWVudHMKKyAgICAgICoKKyAgICAgICogU2lnbmF0dXJlIG9mIGFuIGVycm9yIGNhbGxiYWNrIGZyb20gYSBSZWxheC1ORyB2YWxpZGF0aW9uCisKKyAgICAgZCB4bWxSZWxheE5HVmFsaWRpdHlFcnJvckZ1bmMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NwdHIKKworICAgICAgKiB4bWxSZWxheE5HVmFsaWRpdHlXYXJuaW5nRnVuYzoKKyAgICAgICogQGN0eDogdGhlIHZhbGlkYXRpb24gY29udGV4dAorICAgICAgKiBAbXNnOiB0aGUgbWVzc2FnZQorICAgICAgKiBALi4uOiBleHRyYSBhcmd1bWVudHMKKyAgICAgICoKKyAgICAgICogU2lnbmF0dXJlIG9mIGEgd2FybmluZyBjYWxsYmFjayBmcm9tIGEgUmVsYXgtTkcgdmFsaWRhdGlvbgorCisgICAgIGQgeG1sUmVsYXhOR1ZhbGlkaXR5V2FybmluZ0Z1bmMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NwdHIKKworICAgICAgKiBBIHNjaGVtYXMgdmFsaWRhdGlvbiBjb250ZXh0CisKKyAgICAgZCB4bWxSZWxheE5HUGFyc2VyQ3R4dFB0ci4uLgorICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisKKyAgICAgZCB4bWxSZWxheE5HVmFsaWRDdHh0UHRyLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKworICAgICAgKiB4bWxSZWxheE5HVmFsaWRFcnI6CisgICAgICAqCisgICAgICAqIExpc3Qgb2YgcG9zc2libGUgUmVsYXggTkcgdmFsaWRhdGlvbiBlcnJvcnMKKworICAgICBkIHhtbFJlbGF4TkdWYWxpZEVyci4uLgorICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgIDEwaSAwIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpICAgICAgICAgICBlbnVtCisgICAgIGQgIFhNTF9SRUxBWE5HX09LLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMAorICAgICBkICBYTUxfUkVMQVhOR19FUlJfTUVNT1JZLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMQorICAgICBkICBYTUxfUkVMQVhOR19FUlJfVFlQRS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDIKKyAgICAgZCAgWE1MX1JFTEFYTkdfRVJSX1RZUEVWQUwuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzCisgICAgIGQgIFhNTF9SRUxBWE5HX0VSUl9EVVBJRC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDQKKyAgICAgZCAgWE1MX1JFTEFYTkdfRVJSX1RZUEVDTVAuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1CisgICAgIGQgIFhNTF9SRUxBWE5HX0VSUl9OT1NUQVRFLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNgorICAgICBkICBYTUxfUkVMQVhOR19FUlJfTk9ERUZJTkUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA3CisgICAgIGQgIFhNTF9SRUxBWE5HX0VSUl9MSVNURVhUUkEuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA4CisgICAgIGQgIFhNTF9SRUxBWE5HX0VSUl9MSVNURU1QVFkuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA5CisgICAgIGQgIFhNTF9SRUxBWE5HX0VSUl9JTlRFUk5PREFUQS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwCisgICAgIGQgIFhNTF9SRUxBWE5HX0VSUl9JTlRFUlNFUS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDExCisgICAgIGQgIFhNTF9SRUxBWE5HX0VSUl9JTlRFUkVYVFJBLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTIKKyAgICAgZCAgWE1MX1JFTEFYTkdfRVJSX0VMRU1OQU1FLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTMKKyAgICAgZCAgWE1MX1JFTEFYTkdfRVJSX0FUVFJOQU1FLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTQKKyAgICAgZCAgWE1MX1JFTEFYTkdfRVJSX0VMRU1OT05TLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTUKKyAgICAgZCAgWE1MX1JFTEFYTkdfRVJSX0FUVFJOT05TLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTYKKyAgICAgZCAgWE1MX1JFTEFYTkdfRVJSX0VMRU1XUk9OR05TLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTcKKyAgICAgZCAgWE1MX1JFTEFYTkdfRVJSX0FUVFJXUk9OR05TLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTgKKyAgICAgZCAgWE1MX1JFTEFYTkdfRVJSX0VMRU1FWFRSQU5TLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTkKKyAgICAgZCAgWE1MX1JFTEFYTkdfRVJSX0FUVFJFWFRSQU5TLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMjAKKyAgICAgZCAgWE1MX1JFTEFYTkdfRVJSX0VMRU1OT1RFTVBUWS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDIxCisgICAgIGQgIFhNTF9SRUxBWE5HX0VSUl9OT0VMRU0uLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAyMgorICAgICBkICBYTUxfUkVMQVhOR19FUlJfTk9URUxFTS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDIzCisgICAgIGQgIFhNTF9SRUxBWE5HX0VSUl9BVFRSVkFMSUQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAyNAorICAgICBkICBYTUxfUkVMQVhOR19FUlJfQ09OVEVOVFZBTElELi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMjUKKyAgICAgZCAgWE1MX1JFTEFYTkdfRVJSX0VYVFJBQ09OVEVOVC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDI2CisgICAgIGQgIFhNTF9SRUxBWE5HX0VSUl9JTlZBTElEQVRUUi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDI3CisgICAgIGQgIFhNTF9SRUxBWE5HX0VSUl9EQVRBRUxFTS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDI4CisgICAgIGQgIFhNTF9SRUxBWE5HX0VSUl9WQUxFTEVNLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMjkKKyAgICAgZCAgWE1MX1JFTEFYTkdfRVJSX0xJU1RFTEVNLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzAKKyAgICAgZCAgWE1MX1JFTEFYTkdfRVJSX0RBVEFUWVBFLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzEKKyAgICAgZCAgWE1MX1JFTEFYTkdfRVJSX1ZBTFVFLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzIKKyAgICAgZCAgWE1MX1JFTEFYTkdfRVJSX0xJU1QuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMworICAgICBkICBYTUxfUkVMQVhOR19FUlJfTk9HUkFNTUFSLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzQKKyAgICAgZCAgWE1MX1JFTEFYTkdfRVJSX0VYVFJBREFUQS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDM1CisgICAgIGQgIFhNTF9SRUxBWE5HX0VSUl9MQUNLREFUQS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDM2CisgICAgIGQgIFhNTF9SRUxBWE5HX0VSUl9JTlRFUk5BTC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDM3CisgICAgIGQgIFhNTF9SRUxBWE5HX0VSUl9FTEVNV1JPTkcuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzOAorICAgICBkICBYTUxfUkVMQVhOR19FUlJfVEVYVFdST05HLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzkKKworICAgICAgKiB4bWxSZWxheE5HUGFyc2VyRmxhZ3M6CisgICAgICAqCisgICAgICAqIExpc3Qgb2YgcG9zc2libGUgUmVsYXggTkcgUGFyc2VyIGZsYWdzCisKKyAgICAgZCB4bWxSZWxheE5HUGFyc2VyRmxhZy4uLgorICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgIDEwaSAwIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpICAgICAgICAgICBlbnVtCisgICAgIGQgIFhNTF9SRUxBWE5HUF9OT05FLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMAorICAgICBkICBYTUxfUkVMQVhOR1BfRlJFRV9ET0MuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxCisgICAgIGQgIFhNTF9SRUxBWE5HUF9DUk5HLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMgorCisgICAgIGQgeG1sUmVsYXhOR0luaXRUeXBlcy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFJlbGF4TkdJbml0VHlwZXMnKQorCisgICAgIGQgeG1sUmVsYXhOR0NsZWFudXBUeXBlcy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFJlbGF4TkdDbGVhbnVwVHlwZXMnKQorCisKKyAgICAgICogSW50ZXJmYWNlcyBmb3IgcGFyc2luZy4KKworICAgICBkIHhtbFJlbGF4TkdOZXdQYXJzZXJDdHh0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUmVsYXhOR05ld1BhcnNlckN0eHQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sUmVsYXhOR1BhcnNlckN0eHRQdHIpCisgICAgIGQgIFVSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorCisgICAgIGQgeG1sUmVsYXhOR05ld01lbVBhcnNlckN0eHQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxSZWxheE5HTmV3TWVtUGFyc2VyQ3R4dCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxSZWxheE5HUGFyc2VyQ3R4dFB0cikKKyAgICAgZCAgYnVmZmVyICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIHNpemUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFJlbGF4TkdOZXdEb2NQYXJzZXJDdHh0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUmVsYXhOR05ld0RvY1BhcnNlckN0eHQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sUmVsYXhOR1BhcnNlckN0eHRQdHIpCisgICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCisKKyAgICAgZCB4bWxSZWxheFBhcnNlclNldEZsYWcuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxSZWxheFBhcnNlclNldEZsYWcnKQorICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUmVsYXhOR1BhcnNlckN0eHRQdHIpCisgICAgIGQgIGZsYWcgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFJlbGF4TkdGcmVlUGFyc2VyQ3R4dC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFJlbGF4TkdGcmVlUGFyc2VyQ3R4dCcpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxSZWxheE5HUGFyc2VyQ3R4dFB0cikKKworICAgICBkIHhtbFJlbGF4TkdTZXRQYXJzZXJFcnJvcnMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxSZWxheE5HU2V0UGFyc2VyRXJyb3JzJykKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFJlbGF4TkdQYXJzZXJDdHh0UHRyKQorICAgICBkICBlcnIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxSZWxheE5HVmFsaWRpdHlFcnJvckZ1bmMpCisgICAgIGQgIHdhcm4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFJlbGF4TkdWYWxpZGl0eVdhcm5pbmdGdW5jKQorICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKworICAgICBkIHhtbFJlbGF4TkdHZXRQYXJzZXJFcnJvcnMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxSZWxheE5HR2V0UGFyc2VyRXJyb3JzJykKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFJlbGF4TkdQYXJzZXJDdHh0UHRyKQorICAgICBkICBlcnIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sUmVsYXhOR1ZhbGlkaXR5RXJyb3JGdW5jKQorICAgICBkICB3YXJuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sUmVsYXhOR1ZhbGlkaXR5V2FybmluZ0Z1bmMpCisgICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKigqKQorCisgICAgIGQgeG1sUmVsYXhOR1NldFBhcnNlclN0cnVjdHVyZWRFcnJvcnMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxSZWxheE5HU2V0UGFyc2VyU3RydWN0dXJlZEVycm9ycycKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxSZWxheE5HUGFyc2VyQ3R4dFB0cikKKyAgICAgZCAgc2Vycm9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFN0cnVjdHVyZWRFcnJvckZ1bmMpCisgICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorCisgICAgIGQgeG1sUmVsYXhOR1BhcnNlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUmVsYXhOR1BhcnNlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFJlbGF4TkdQdHIpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxSZWxheE5HUGFyc2VyQ3R4dFB0cikKKworICAgICBkIHhtbFJlbGF4TkdGcmVlICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFJlbGF4TkdGcmVlJykKKyAgICAgZCAgc2NoZW1hICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFJlbGF4TkdQdHIpCisKKworICAgICAgL2lmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQorICAgICBkIHhtbFJlbGF4TkdEdW1wICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFJlbGF4TkdEdW1wJykKKyAgICAgZCAgb3V0cHV0ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRklMRSAqCisgICAgIGQgIHNjaGVtYSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxSZWxheE5HUHRyKQorCisgICAgIGQgeG1sUmVsYXhOR0R1bXBUcmVlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUmVsYXhOR0R1bXBUcmVlJykKKyAgICAgZCAgb3V0cHV0ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRklMRSAqCisgICAgIGQgIHNjaGVtYSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxSZWxheE5HUHRyKQorICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTUxfT1VUUFVUX0VOQUJMRAorCisgICAgICAqIEludGVyZmFjZXMgZm9yIHZhbGlkYXRpbmcKKworICAgICBkIHhtbFJlbGF4TkdTZXRWYWxpZEVycm9ycy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFJlbGF4TkdTZXRWYWxpZEVycm9ycycpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxSZWxheE5HVmFsaWRDdHh0UHRyKQorICAgICBkICBlcnIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxSZWxheE5HVmFsaWRpdHlFcnJvckZ1bmMpCisgICAgIGQgIHdhcm4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFJlbGF4TkdWYWxpZGl0eVdhcm5pbmdGdW5jKQorICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKworICAgICBkIHhtbFJlbGF4TkdHZXRWYWxpZEVycm9ycy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFJlbGF4TkdHZXRWYWxpZEVycm9ycycpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxSZWxheE5HVmFsaWRDdHh0UHRyKQorICAgICBkICBlcnIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sUmVsYXhOR1ZhbGlkaXR5RXJyb3JGdW5jKQorICAgICBkICB3YXJuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sUmVsYXhOR1ZhbGlkaXR5V2FybmluZ0Z1bmMpCisgICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKiAqCisKKyAgICAgZCB4bWxSZWxheE5HU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sUmVsYXhOR1NldFZhbGlkU3RydWN0dXJlZEVycm9ycycpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxSZWxheE5HVmFsaWRDdHh0UHRyKQorICAgICBkICBzZXJyb3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU3RydWN0dXJlZEVycm9yRnVuYykKKyAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCisKKyAgICAgZCB4bWxSZWxheE5HTmV3VmFsaWRDdHh0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUmVsYXhOR05ld1ZhbGlkQ3R4dCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxSZWxheE5HVmFsaWRDdHh0UHRyKQorICAgICBkICBzY2hlbWEgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUmVsYXhOR1B0cikKKworICAgICBkIHhtbFJlbGF4TkdGcmVlVmFsaWRDdHh0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUmVsYXhOR0ZyZWVWYWxpZEN0eHQnKQorICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0cikKKworICAgICBkIHhtbFJlbGF4TkdWYWxpZGF0ZURvYy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFJlbGF4TkdWYWxpZGF0ZURvYycpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxSZWxheE5HVmFsaWRDdHh0UHRyKQorICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQorCisgICAgICAqIEludGVyZmFjZXMgZm9yIHByb2dyZXNzaXZlIHZhbGlkYXRpb24gd2hlbiBwb3NzaWJsZQorCisgICAgIGQgeG1sUmVsYXhOR1ZhbGlkYXRlUHVzaEVsZW1lbnQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxSZWxheE5HVmFsaWRhdGVQdXNoRWxlbWVudCcpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxSZWxheE5HVmFsaWRDdHh0UHRyKQorICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQorICAgICBkICBlbGVtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKworICAgICBkIHhtbFJlbGF4TkdWYWxpZGF0ZVB1c2hDRGF0YS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFJlbGF4TkdWYWxpZGF0ZVB1c2hDRGF0YScpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxSZWxheE5HVmFsaWRDdHh0UHRyKQorICAgICBkICBkYXRhICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sUmVsYXhOR1ZhbGlkYXRlUG9wRWxlbWVudC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFJlbGF4TkdWYWxpZGF0ZVBvcEVsZW1lbnQnKQorICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0cikKKyAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKKyAgICAgZCAgZWxlbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisKKyAgICAgZCB4bWxSZWxheE5HVmFsaWRhdGVGdWxsRWxlbWVudC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFJlbGF4TkdWYWxpZGF0ZUZ1bGxFbGVtZW50JykKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFJlbGF4TkdWYWxpZEN0eHRQdHIpCisgICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCisgICAgIGQgIGVsZW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQorCisgICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9TQ0hFTUFTX0VOQkxECisgICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhNTF9SRUxBWF9OR19fCmRpZmYgLS1naXQgYS9saWJ4bWwyL29zNDAwL2xpYnhtbHJwZy9zY2hlbWFzSW50ZXJuYWxzLnJwZ2xlIGIvbGlieG1sMi9vczQwMC9saWJ4bWxycGcvc2NoZW1hc0ludGVybmFscy5ycGdsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZGVlYTViCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9vczQwMC9saWJ4bWxycGcvc2NoZW1hc0ludGVybmFscy5ycGdsZQpAQCAtMCwwICsxLDExMzcgQEAKKyAgICAgICogU3VtbWFyeTogaW50ZXJuYWwgaW50ZXJmYWNlcyBmb3IgWE1MIFNjaGVtYXMKKyAgICAgICogRGVzY3JpcHRpb246IGludGVybmFsIGludGVyZmFjZXMgZm9yIHRoZSBYTUwgU2NoZW1hcyBoYW5kbGluZworICAgICAgKiAgICAgICAgICAgICAgYW5kIHNjaGVtYSB2YWxpZGl0eSBjaGVja2luZworICAgICAgKiAgICAgICAgICAgICAgVGhlIFNjaGVtYXMgZGV2ZWxvcG1lbnQgaXMgYSBXb3JrIEluIFByb2dyZXNzLgorICAgICAgKiAgICAgICAgICAgICAgU29tZSBvZiB0aG9zZSBpbnRlcmZhY2VzIGFyZSBub3QgZ2FyYW50ZWVkIHRvIGJlIEFQSSBvcgorICAgICAgKiAgICAgICAgICAgICAgICBBQkkgc3RhYmxlICEKKyAgICAgICoKKyAgICAgICogQ29weTogU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgorICAgICAgKgorICAgICAgKiBBdXRob3I6IFBhdHJpY2sgTW9ubmVyYXQgPHBtQGRhdGFzcGhlcmUuY2g+LCBEQVRBU1BIRVJFIFMuQS4KKworICAgICAgL2lmIG5vdCBkZWZpbmVkKFhNTF9TQ0hFTUFfSU5URVJOQUxTX0hfXykKKyAgICAgIC9kZWZpbmUgWE1MX1NDSEVNQV9JTlRFUk5BTFNfSF9fCisKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sdmVyc2lvbiIKKworICAgICAgL2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1scmVnZXhwIgorICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy9oYXNoIgorICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy9kaWN0IgorCisgICAgIGQgeG1sU2NoZW1hVmFsVHlwZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgIDEwaSAwIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpICAgICAgICAgICBlbnVtCisgICAgIGQgIFhNTF9TQ0hFTUFTX1VOS05PV04uLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAwCisgICAgIGQgIFhNTF9TQ0hFTUFTX1NUUklORy4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEKKyAgICAgZCAgWE1MX1NDSEVNQVNfTk9STVNUUklORy4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDIKKyAgICAgZCAgWE1MX1NDSEVNQVNfREVDSU1BTC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMKKyAgICAgZCAgWE1MX1NDSEVNQVNfVElNRS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDQKKyAgICAgZCAgWE1MX1NDSEVNQVNfR0RBWS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUKKyAgICAgZCAgWE1MX1NDSEVNQVNfR01PTlRILi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNgorICAgICBkICBYTUxfU0NIRU1BU19HTU9OVEhEQVkuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA3CisgICAgIGQgIFhNTF9TQ0hFTUFTX0dZRUFSLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgOAorICAgICBkICBYTUxfU0NIRU1BU19HWUVBUk1PTlRILi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgOQorICAgICBkICBYTUxfU0NIRU1BU19EQVRFLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTAKKyAgICAgZCAgWE1MX1NDSEVNQVNfREFURVRJTUUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMQorICAgICBkICBYTUxfU0NIRU1BU19EVVJBVElPTi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEyCisgICAgIGQgIFhNTF9TQ0hFTUFTX0ZMT0FULi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTMKKyAgICAgZCAgWE1MX1NDSEVNQVNfRE9VQkxFLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTQKKyAgICAgZCAgWE1MX1NDSEVNQVNfQk9PTEVBTi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE1CisgICAgIGQgIFhNTF9TQ0hFTUFTX1RPS0VOLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTYKKyAgICAgZCAgWE1MX1NDSEVNQVNfTEFOR1VBR0UuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNworICAgICBkICBYTUxfU0NIRU1BU19OTVRPS0VOLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTgKKyAgICAgZCAgWE1MX1NDSEVNQVNfTk1UT0tFTlMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxOQorICAgICBkICBYTUxfU0NIRU1BU19OQU1FLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMjAKKyAgICAgZCAgWE1MX1NDSEVNQVNfUU5BTUUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAyMQorICAgICBkICBYTUxfU0NIRU1BU19OQ05BTUUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAyMgorICAgICBkICBYTUxfU0NIRU1BU19JRC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDIzCisgICAgIGQgIFhNTF9TQ0hFTUFTX0lEUkVGLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMjQKKyAgICAgZCAgWE1MX1NDSEVNQVNfSURSRUZTLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMjUKKyAgICAgZCAgWE1MX1NDSEVNQVNfRU5USVRZLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMjYKKyAgICAgZCAgWE1MX1NDSEVNQVNfRU5USVRJRVMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAyNworICAgICBkICBYTUxfU0NIRU1BU19OT1RBVElPTi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDI4CisgICAgIGQgIFhNTF9TQ0hFTUFTX0FOWVVSSS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDI5CisgICAgIGQgIFhNTF9TQ0hFTUFTX0lOVEVHRVIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMAorICAgICBkICBYTUxfU0NIRU1BU19OUElOVEVHRVIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMQorICAgICBkICBYTUxfU0NIRU1BU19OSU5URUdFUi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMyCisgICAgIGQgIFhNTF9TQ0hFTUFTX05OSU5URUdFUi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMzCisgICAgIGQgIFhNTF9TQ0hFTUFTX1BJTlRFR0VSLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzQKKyAgICAgZCAgWE1MX1NDSEVNQVNfSU5ULi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzUKKyAgICAgZCAgWE1MX1NDSEVNQVNfVUlOVC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDM2CisgICAgIGQgIFhNTF9TQ0hFTUFTX0xPTkcuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzNworICAgICBkICBYTUxfU0NIRU1BU19VTE9ORy4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDM4CisgICAgIGQgIFhNTF9TQ0hFTUFTX1NIT1JULi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzkKKyAgICAgZCAgWE1MX1NDSEVNQVNfVVNIT1JULi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNDAKKyAgICAgZCAgWE1MX1NDSEVNQVNfQllURS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDQxCisgICAgIGQgIFhNTF9TQ0hFTUFTX1VCWVRFLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNDIKKyAgICAgZCAgWE1MX1NDSEVNQVNfSEVYQklOQVJZLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNDMKKyAgICAgZCAgWE1MX1NDSEVNQVNfQkFTRTY0QklOQVJZLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNDQKKyAgICAgZCAgWE1MX1NDSEVNQVNfQU5ZVFlQRS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDQ1CisgICAgIGQgIFhNTF9TQ0hFTUFTX0FOWVNJTVBMRVRZUEUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA0NgorCisgICAgICAqIFhNTCBTY2hlbWFzIGRlZmluZXMgbXVsdGlwbGUgdHlwZSBvZiB0eXBlcy4KKworICAgICBkIHhtbFNjaGVtYVR5cGVUeXBlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgMTBpIDAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykgICAgICAgICAgIGVudW0KKyAgICAgZCAgWE1MX1NDSEVNQV9UWVBFX0JBU0lDLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQSBidWlsdGluIGRhdGF0eXBlCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMQorICAgICBkICBYTUxfU0NIRU1BX1RZUEVfQU5ZLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMgorICAgICBkICBYTUxfU0NIRU1BX1RZUEVfRkFDRVQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzCisgICAgIGQgIFhNTF9TQ0hFTUFfVFlQRV9TSU1QTEUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA0CisgICAgIGQgIFhNTF9TQ0hFTUFfVFlQRV9DT01QTEVYLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNQorICAgICBkICBYTUxfU0NIRU1BX1RZUEVfU0VRVUVOQ0UuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA2CisgICAgIGQgIFhNTF9TQ0hFTUFfVFlQRV9DSE9JQ0UuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA3CisgICAgIGQgIFhNTF9TQ0hFTUFfVFlQRV9BTEwuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA4CisgICAgIGQgIFhNTF9TQ0hFTUFfVFlQRV9TSU1QTEVfQ09OVEVOVC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDkKKyAgICAgZCAgWE1MX1NDSEVNQV9UWVBFX0NPTVBMRVhfQ09OVEVOVC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwCisgICAgIGQgIFhNTF9TQ0hFTUFfVFlQRV9VUi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDExCisgICAgIGQgIFhNTF9TQ0hFTUFfVFlQRV9SRVNUUklDVElPTi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEyCisgICAgIGQgIFhNTF9TQ0hFTUFfVFlQRV9FWFRFTlNJT04uLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMworICAgICBkICBYTUxfU0NIRU1BX1RZUEVfRUxFTUVOVC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE0CisgICAgIGQgIFhNTF9TQ0hFTUFfVFlQRV9BVFRSSUJVVEUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNQorICAgICBkICBYTUxfU0NIRU1BX1RZUEVfQVRUUklCVVRFR1JPVVAuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNgorICAgICBkICBYTUxfU0NIRU1BX1RZUEVfR1JPVVAuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNworICAgICBkICBYTUxfU0NIRU1BX1RZUEVfTk9UQVRJT04uLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxOAorICAgICBkICBYTUxfU0NIRU1BX1RZUEVfTElTVC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE5CisgICAgIGQgIFhNTF9TQ0hFTUFfVFlQRV9VTklPTi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDIwCisgICAgIGQgIFhNTF9TQ0hFTUFfVFlQRV9BTllfQVRUUklCVVRFLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMjEKKyAgICAgZCAgWE1MX1NDSEVNQV9UWVBFX0lEQ19VTklRVUUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAyMgorICAgICBkICBYTUxfU0NIRU1BX1RZUEVfSURDX0tFWS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDIzCisgICAgIGQgIFhNTF9TQ0hFTUFfVFlQRV9JRENfS0VZUkVGLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMjQKKyAgICAgZCAgWE1MX1NDSEVNQV9UWVBFX1BBUlRJQ0xFLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMjUKKyAgICAgZCAgWE1MX1NDSEVNQV9UWVBFX0FUVFJJQlVURV9VU0UuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAyNgorICAgICBkICBYTUxfU0NIRU1BX0ZBQ0VUX01JTklOQ0xVU0lWRS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwMDAKKyAgICAgZCAgWE1MX1NDSEVNQV9GQUNFVF9NSU5FWENMVVNJVkUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDAxCisgICAgIGQgIFhNTF9TQ0hFTUFfRkFDRVRfTUFYSU5DTFVTSVZFLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTAwMgorICAgICBkICBYTUxfU0NIRU1BX0ZBQ0VUX01BWEVYQ0xVU0lWRS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwMDMKKyAgICAgZCAgWE1MX1NDSEVNQV9GQUNFVF9UT1RBTERJR0lUUy4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwMDQKKyAgICAgZCAgWE1MX1NDSEVNQV9GQUNFVF9GUkFDVElPTkRJR0lUUy4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwMDUKKyAgICAgZCAgWE1MX1NDSEVNQV9GQUNFVF9QQVRURVJOLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTAwNgorICAgICBkICBYTUxfU0NIRU1BX0ZBQ0VUX0VOVU1FUkFUSU9OLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTAwNworICAgICBkICBYTUxfU0NIRU1BX0ZBQ0VUX1dISVRFU1BBQ0UuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDA4CisgICAgIGQgIFhNTF9TQ0hFTUFfRkFDRVRfTEVOR1RILi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTAwOQorICAgICBkICBYTUxfU0NIRU1BX0ZBQ0VUX01BWExFTkdUSC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwMTAKKyAgICAgZCAgWE1MX1NDSEVNQV9GQUNFVF9NSU5MRU5HVEguLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDExCisgICAgIGQgIFhNTF9TQ0hFTUFfRVhUUkFfUU5BTUVSRUYuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAyMDAwCisgICAgIGQgIFhNTF9TQ0hFTUFfRVhUUkFfQVRUUl9VU0VfUFJPSElCLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMjAwMQorCisgICAgIGQgeG1sU2NoZW1hQ29udGVudFR5cGUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAxMGkgMCBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKSAgICAgICAgICAgZW51bQorICAgICBkICBYTUxfU0NIRU1BX0NPTlRFTlRfVU5LTk9XTi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDAKKyAgICAgZCAgWE1MX1NDSEVNQV9DT05URU5UX0VNUFRZLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMQorICAgICBkICBYTUxfU0NIRU1BX0NPTlRFTlRfRUxFTUVOVFMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAyCisgICAgIGQgIFhNTF9TQ0hFTUFfQ09OVEVOVF9NSVhFRC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMKKyAgICAgZCAgWE1MX1NDSEVNQV9DT05URU5UX1NJTVBMRS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDQKKyAgICAgZCAgWE1MX1NDSEVNQV9DT05URU5UX01JWEVEX09SX0VMRU1FTlRTLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Jzb2xldGUKKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1CisgICAgIGQgIFhNTF9TQ0hFTUFfQ09OVEVOVF9CQVNJQy4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDYKKyAgICAgZCAgWE1MX1NDSEVNQV9DT05URU5UX0FOWS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDcKKworICAgICBkIHhtbFNjaGVtYVZhbFB0ci4uLgorICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisKKyAgICAgZCB4bWxTY2hlbWFUeXBlUHRyLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKworICAgICBkIHhtbFNjaGVtYUZhY2V0UHRyLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKworICAgICAgKiBBbm5vdGF0aW9uCisKKyAgICAgZCB4bWxTY2hlbWFBbm5vdFB0ci4uLgorICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisKKyAgICAgZCB4bWxTY2hlbWFBbm5vdCAgZHMgICAgICAgICAgICAgICAgICBiYXNlZCh4bWxTY2hlbWFBbm5vdFB0cikKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbiBxdWFsaWZpZWQKKyAgICAgZCAgbmV4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYUFubm90UHRyKQorICAgICBkICBjb250ZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikgICAgICAgICAgICAgICAgICAgICBUaGUgYW5ub3RhdGlvbgorCisgICAgICAqIFhNTF9TQ0hFTUFTX0FOWUFUVFJfU0tJUDoKKyAgICAgICoKKyAgICAgICogU2tpcCB1bmtub3duIGF0dHJpYnV0ZSBmcm9tIHZhbGlkYXRpb24KKyAgICAgICogT2Jzb2xldGUsIG5vdCB1c2VkIGFueW1vcmUuCisKKyAgICAgZCBYTUxfU0NIRU1BU19BTllBVFRSX1NLSVAuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxCisKKyAgICAgICogWE1MX1NDSEVNQVNfQU5ZQVRUUl9MQVg6CisgICAgICAqCisgICAgICAqIElnbm9yZSB2YWxpZGF0aW9uIG5vbiBkZWZpbml0aW9uIG9uIGF0dHJpYnV0ZXMKKyAgICAgICogT2Jzb2xldGUsIG5vdCB1c2VkIGFueW1vcmUuCisKKyAgICAgZCBYTUxfU0NIRU1BU19BTllBVFRSX0xBWC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDIKKworICAgICAgKiBYTUxfU0NIRU1BU19BTllBVFRSX1NUUklDVDoKKyAgICAgICoKKyAgICAgICogQXBwbHkgc3RyaWN0IHZhbGlkYXRpb24gcnVsZXMgb24gYXR0cmlidXRlcworICAgICAgKiBPYnNvbGV0ZSwgbm90IHVzZWQgYW55bW9yZS4KKworICAgICBkIFhNTF9TQ0hFTUFTX0FOWUFUVFJfU1RSSUNULi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMworCisgICAgICAqIFhNTF9TQ0hFTUFTX0FOWV9TS0lQOgorICAgICAgKgorICAgICAgKiBTa2lwIHVua25vd24gYXR0cmlidXRlIGZyb20gdmFsaWRhdGlvbgorCisgICAgIGQgWE1MX1NDSEVNQVNfQU5ZX1NLSVAuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxCisKKyAgICAgICogWE1MX1NDSEVNQVNfQU5ZX0xBWDoKKyAgICAgICoKKyAgICAgICogVXNlZCBieSB3aWxkY2FyZHMuCisgICAgICAqIFZhbGlkYXRlIGlmIHR5cGUgZm91bmQsIGRvbid0IHdvcnJ5IGlmIG5vdCBmb3VuZAorCisgICAgIGQgWE1MX1NDSEVNQVNfQU5ZX0xBWC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDIKKworICAgICAgKiBYTUxfU0NIRU1BU19BTllfU1RSSUNUOgorICAgICAgKgorICAgICAgKiBVc2VkIGJ5IHdpbGRjYXJkcy4KKyAgICAgICogQXBwbHkgc3RyaWN0IHZhbGlkYXRpb24gcnVsZXMKKworICAgICBkIFhNTF9TQ0hFTUFTX0FOWV9TVFJJQ1QuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzCisKKyAgICAgICogWE1MX1NDSEVNQVNfQVRUUl9VU0VfUFJPSElCSVRFRDoKKyAgICAgICoKKyAgICAgICogVXNlZCBieSB3aWxkY2FyZHMuCisgICAgICAqIFRoZSBhdHRyaWJ1dGUgaXMgcHJvaGliaXRlZC4KKworICAgICBkIFhNTF9TQ0hFTUFTX0FUVFJfVVNFX1BST0hJQklURUQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAwCisKKyAgICAgICogWE1MX1NDSEVNQVNfQVRUUl9VU0VfUkVRVUlSRUQ6CisgICAgICAqCisgICAgICAqIFRoZSBhdHRyaWJ1dGUgaXMgcmVxdWlyZWQuCisKKyAgICAgZCBYTUxfU0NIRU1BU19BVFRSX1VTRV9SRVFVSVJFRC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEKKworICAgICAgKiBYTUxfU0NIRU1BU19BVFRSX1VTRV9PUFRJT05BTDoKKyAgICAgICoKKyAgICAgICogVGhlIGF0dHJpYnV0ZSBpcyBvcHRpb25hbC4KKworICAgICBkIFhNTF9TQ0hFTUFTX0FUVFJfVVNFX09QVElPTkFMLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMgorCisgICAgICAqIFhNTF9TQ0hFTUFTX0FUVFJfR0xPQkFMOgorICAgICAgKgorICAgICAgKiBhbGxvdyBlbGVtZW50cyBpbiBubyBuYW1lc3BhY2UKKworICAgICBkIFhNTF9TQ0hFTUFTX0FUVFJfR0xPQkFMLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDAxJworCisgICAgICAqIFhNTF9TQ0hFTUFTX0FUVFJfTlNERUZBVUxUOgorICAgICAgKgorICAgICAgKiBhbGxvdyBlbGVtZW50cyBpbiBubyBuYW1lc3BhY2UKKworICAgICBkIFhNTF9TQ0hFTUFTX0FUVFJfTlNERUZBVUxULi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDgwJworCisgICAgICAqIFhNTF9TQ0hFTUFTX0FUVFJfSU5URVJOQUxfUkVTT0xWRUQ6CisgICAgICAqCisgICAgICAqIHRoaXMgaXMgc2V0IHdoZW4gdGhlICJ0eXBlIiBhbmQgInJlZiIgcmVmZXJlbmNlcworICAgICAgKiBoYXZlIGJlZW4gcmVzb2x2ZWQuCisKKyAgICAgZCBYTUxfU0NIRU1BU19BVFRSX0lOVEVSTkFMX1JFU09MVkVELi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMTAwJworCisgICAgICAqIFhNTF9TQ0hFTUFTX0FUVFJfRklYRUQ6CisgICAgICAqCisgICAgICAqIHRoZSBhdHRyaWJ1dGUgaGFzIGEgZml4ZWQgdmFsdWUKKworICAgICBkIFhNTF9TQ0hFTUFTX0FUVFJfRklYRUQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAyMDAnCisKKyAgICAgICogeG1sU2NoZW1hQXR0cmlidXRlOgorICAgICAgKiBBbiBhdHRyaWJ1dGUgZGVmaW5pdGlvbi4KKworICAgICBkIHhtbFNjaGVtYUF0dHJpYnV0ZVB0ci4uLgorICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisKKyAgICAgZCB4bWxTY2hlbWFBdHRyaWJ1dGUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgZHMgICAgICAgICAgICAgICAgICBiYXNlZCh4bWxTY2hlbWFBdHRyaWJ1dGVQdHIpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24gcXVhbGlmaWVkCisgICAgIGQgIHR5cGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWFUeXBlVHlwZSkKKyAgICAgZCAgbmV4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYUF0dHJpYnV0ZVB0cikgICAgICAgICAgTmV4dCBhdHRyaWJ1dGUKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIGlkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICByZWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgcmVmTnMgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIHR5cGVOYW1lICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICB0eXBlTnMgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgYW5ub3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYUFubm90UHRyKQorICAgICAgKgorICAgICBkICBiYXNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hVHlwZVB0cikgICAgICAgICAgICAgICBEZXByZWNhdGVkCisgICAgIGQgIG9jY3VycyAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERlcHJlY2F0ZWQKKyAgICAgZCAgZGVmVmFsdWUgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIHN1YnR5cGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWFUeXBlUHRyKSAgICAgICAgICAgICAgIFRoZSB0eXBlIGRlZmluaXRpb24KKyAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpCisgICAgIGQgIHRhcmdldE5hbWVzcGFjZS4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgorICAgICBkICBmbGFncyAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwCisgICAgIGQgIHJlZlByZWZpeCAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBkZWZWYWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hVmFsUHRyKSAgICAgICAgICAgICAgICBDb21waWxlZCBjb25zdHJhaW50CisgICAgIGQgIHJlZkRlY2wgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWFBdHRyaWJ1dGVQdHIpICAgICAgICAgIERlcHJlY2F0ZWQKKworICAgICAgKiB4bWxTY2hlbWFBdHRyaWJ1dGVMaW5rOgorICAgICAgKiBVc2VkIHRvIGJ1aWxkIGEgbGlzdCBvZiBhdHRyaWJ1dGUgdXNlcyBvbiBjb21wbGV4VHlwZSBkZWZpbml0aW9ucy4KKyAgICAgICogV0FSTklORzogRGVwcmVjYXRlZDsgbm90IHVzZWQuCisKKyAgICAgZCB4bWxTY2hlbWFBdHRyaWJ1dGVMaW5rUHRyLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKworICAgICBkIHhtbFNjaGVtYUF0dHJpYnV0ZUxpbmsuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgZHMgICAgICAgICAgICAgICAgICBiYXNlZCh4bWxTY2hlbWFBdHRyaWJ1dGVMaW5rUHRyKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduIHF1YWxpZmllZAorICAgICBkICBuZXh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hQXR0cmlidXRlTGlua1B0cikgICAgICBUaGUgbmV4dCBsaW5rCisgICAgIGQgIGF0dHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWFBdHRyaWJ1dGVQdHIpICAgICAgICAgIFRoZSBsaW5rZWQgYXR0cmlidXRlCisKKyAgICAgICogWE1MX1NDSEVNQVNfV0lMRENBUkRfQ09NUExFVEU6CisgICAgICAqCisgICAgICAqIElmIHRoZSB3aWxkY2FyZCBpcyBjb21wbGV0ZS4KKworICAgICBkIFhNTF9TQ0hFTUFTX1dJTERDQVJEX0NPTVBMRVRFLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDAxJworCisgICAgICAqIHhtbFNjaGVtYUNoYXJWYWx1ZUxpbms6CisgICAgICAqIFVzZWQgdG8gYnVpbGQgYSBsaXN0IG9mIG5hbWVzcGFjZXMgb24gd2lsZGNhcmRzLgorCisgICAgIGQgeG1sU2NoZW1hV2lsZGNhcmROc1B0ci4uLgorICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisKKyAgICAgZCB4bWxTY2hlbWFXaWxkY2FyZE5zLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGRzICAgICAgICAgICAgICAgICAgYmFzZWQoeG1sU2NoZW1hV2lsZGNhcmROc1B0cikKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbiBxdWFsaWZpZWQKKyAgICAgZCAgbmV4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYVdpbGRjYXJkTnNQdHIpICAgICAgICAgVGhlIG5leHQgbGluaworICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICAgKiB4bWxTY2hlbWFXaWxkY2FyZC4KKyAgICAgICogQSB3aWxkY2FyZC4KKworICAgICBkIHhtbFNjaGVtYVdpbGRjYXJkUHRyLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKworICAgICBkIHhtbFNjaGVtYVdpbGRjYXJkLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGRzICAgICAgICAgICAgICAgICAgYmFzZWQoeG1sU2NoZW1hV2lsZGNhcmRQdHIpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24gcXVhbGlmaWVkCisgICAgIGQgIHR5cGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWFUeXBlVHlwZSkgICAgICAgICAgICAgIEtpbmQgb2YgdHlwZQorICAgICBkICBpZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgYW5ub3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYUFubm90UHRyKQorICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikKKyAgICAgZCAgbWluT2NjdXJzICAgICAgICAgICAgICAgICAgICAxMGkgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVwcmVjYXRlZDsgbm90IHVzZWQKKyAgICAgZCAgbWF4T2NjdXJzICAgICAgICAgICAgICAgICAgICAxMGkgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVwcmVjYXRlZDsgbm90IHVzZWQKKyAgICAgZCAgcHJvY2Vzc0NvbnRlbnRzLi4uCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAKKyAgICAgZCAgYW55ICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTnMgY29uc3RyYWludCAjI2FueT8KKyAgICAgZCAgbnNTZXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYVdpbGRjYXJkTnNQdHIpICAgICAgICAgQWxsb3dlZCBuYW1zcGNlIGxpc3QKKyAgICAgZCAgbmVnTnNTZXQgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYVdpbGRjYXJkTnNQdHIpICAgICAgICAgTmVnYXRlZCBuYW1lc3BhY2UKKyAgICAgZCAgZmxhZ3MgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVwcmVjYXRlZDsgbm90IHVzZWQKKworICAgICAgKiBYTUxfU0NIRU1BU19BVFRSR1JPVVBfV0lMRENBUkRfQlVJTERFRDoKKyAgICAgICoKKyAgICAgICogVGhlIGF0dHJpYnV0ZSB3aWxkY2FyZCBoYXMgYmVlbiBhbHJlYWR5IGJ1aWxkZWQuCisKKyAgICAgZCBYTUxfU0NIRU1BU19BVFRSR1JPVVBfV0lMRENBUkRfQlVJTERFRC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMScKKworICAgICAgKiBYTUxfU0NIRU1BU19BVFRSR1JPVVBfR0xPQkFMOgorICAgICAgKgorICAgICAgKiBUaGUgYXR0cmlidXRlIHdpbGRjYXJkIGhhcyBiZWVuIGFscmVhZHkgYnVpbGRlZC4KKworICAgICBkIFhNTF9TQ0hFTUFTX0FUVFJHUk9VUF9HTE9CQUwuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDInCisKKyAgICAgICogWE1MX1NDSEVNQVNfQVRUUkdST1VQX01BUktFRDoKKyAgICAgICoKKyAgICAgICogTWFya3MgdGhlIGF0dHIgZ3JvdXAgYXMgbWFya2VkOyB1c2VkIGZvciBjaXJjdWxhciBjaGVja3MuCisKKyAgICAgZCBYTUxfU0NIRU1BU19BVFRSR1JPVVBfTUFSS0VELi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDA0JworCisgICAgICAqIFhNTF9TQ0hFTUFTX0FUVFJHUk9VUF9SRURFRklORUQ6CisgICAgICAqCisgICAgICAqIFRoZSBhdHRyIGdyb3VwIHdhcyByZWRlZmluZWQuCisKKyAgICAgZCBYTUxfU0NIRU1BU19BVFRSR1JPVVBfUkVERUZJTkVELi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDA4JworCisgICAgICAqIFhNTF9TQ0hFTUFTX0FUVFJHUk9VUF9IQVNfUkVGUzoKKyAgICAgICoKKyAgICAgICogV2hldGhlciB0aGlzIGF0dHIuIGdyb3VwIGNvbnRhaW5zIGF0dHIuIGdyb3VwIHJlZmVyZW5jZXMuCisKKyAgICAgZCBYTUxfU0NIRU1BU19BVFRSR1JPVVBfSEFTX1JFRlMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMTAnCisKKyAgICAgICogQW4gYXR0cmlidXRlIGdyb3VwIGRlZmluaXRpb24uCisgICAgICAqCisgICAgICAqIHhtbFNjaGVtYUF0dHJpYnV0ZSBhbmQgeG1sU2NoZW1hQXR0cmlidXRlR3JvdXAgc3RhcnQgb2Ygc3RydWN0dXJlcworICAgICAgKiBtdXN0IGJlIGtlcHQgc2ltaWxhcgorCisgICAgIGQgeG1sU2NoZW1hQXR0cmlidXRlR3JvdXBQdHIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorCisgICAgIGQgeG1sU2NoZW1hQXR0cmlidXRlR3JvdXAuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgZHMgICAgICAgICAgICAgICAgICBiYXNlZCh4bWxTY2hlbWFBdHRyaWJ1dGVHcm91cFB0cikKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbiBxdWFsaWZpZWQKKyAgICAgZCAgdHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYVR5cGVUeXBlKSAgICAgICAgICAgICAgS2luZCBvZiB0eXBlCisgICAgIGQgIG5leHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWFBdHRyaWJ1dGVQdHIpICAgICAgICAgIE5leHQgYXR0cmlidXRlCisgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBpZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgcmVmICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIHJlZk5zICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBhbm5vdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hQW5ub3RQdHIpCisgICAgICAqCisgICAgIGQgIGF0dHJpYnV0ZXMgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWFBdHRyaWJ1dGVQdHIpICAgICAgICAgIERlcHJlY2F0ZWQ7IG5vdCB1c2VkCisgICAgIGQgIG5vZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKQorICAgICBkICBmbGFncyAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwCisgICAgIGQgIGF0dHJpYnV0ZVdpbGRjYXJkLi4uCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWFXaWxkY2FyZFB0cikKKyAgICAgZCAgcmVmUHJlZml4ICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIHJlZkl0ZW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWFBdHRyaWJ1dGVHcm91cFB0cikgICAgIERlcHJlY2F0ZWQ7IG5vdCB1c2VkCisgICAgIGQgIHRhcmdldE5hbWVzcGFjZS4uLgorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgYXR0clVzZXMgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCisKKyAgICAgICogeG1sU2NoZW1hVHlwZUxpbms6CisgICAgICAqIFVzZWQgdG8gYnVpbGQgYSBsaXN0IG9mIHR5cGVzIChlLmcuIG1lbWJlciB0eXBlcyBvZgorICAgICAgKiBzaW1wbGVUeXBlIHdpdGggdmFyaWV0eSAidW5pb24iKS4KKworICAgICBkIHhtbFNjaGVtYVR5cGVMaW5rUHRyLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKworICAgICBkIHhtbFNjaGVtYVR5cGVMaW5rLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGRzICAgICAgICAgICAgICAgICAgYmFzZWQoeG1sU2NoZW1hVHlwZUxpbmtQdHIpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24gcXVhbGlmaWVkCisgICAgIGQgIG5leHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWFUeXBlTGlua1B0cikgICAgICAgICAgIE5leHQgdHlwZSBsaW5rCisgICAgIGQgIHR5cGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWFUeXBlUHRyKSAgICAgICAgICAgICAgIExpbmtlZCB0eXBlCisKKyAgICAgICogeG1sU2NoZW1hRmFjZXRMaW5rOgorICAgICAgKiBVc2VkIHRvIGJ1aWxkIGEgbGlzdCBvZiBmYWNldHMuCisKKyAgICAgZCB4bWxTY2hlbWFGYWNldExpbmtQdHIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorCisgICAgIGQgeG1sU2NoZW1hRmFjZXRMaW5rLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGRzICAgICAgICAgICAgICAgICAgYmFzZWQoeG1sU2NoZW1hRmFjZXRMaW5rUHRyKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduIHF1YWxpZmllZAorICAgICBkICBuZXh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hRmFjZXRMaW5rUHRyKSAgICAgICAgICBOZXh0IGZhY2V0IGxpbmsKKyAgICAgZCAgZmFjZXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYUZhY2V0UHRyKSAgICAgICAgICAgICAgTGlua2VkIGZhY2V0CisKKyAgICAgICogWE1MX1NDSEVNQVNfVFlQRV9NSVhFRDoKKyAgICAgICoKKyAgICAgICogdGhlIGVsZW1lbnQgY29udGVudCB0eXBlIGlzIG1peGVkCisKKyAgICAgZCBYTUxfU0NIRU1BU19UWVBFX01JWEVELi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDAwMDAwMScKKworICAgICAgKiBYTUxfU0NIRU1BU19UWVBFX0RFUklWQVRJT05fTUVUSE9EX0VYVEVOU0lPTjoKKyAgICAgICoKKyAgICAgICogdGhlIHNpbXBsZSBvciBjb21wbGV4IHR5cGUgaGFzIGEgZGVyaXZhdGlvbiBtZXRob2Qgb2YgImV4dGVuc2lvbiIuCisKKyAgICAgZCBYTUxfU0NIRU1BU19UWVBFX0RFUklWQVRJT05fTUVUSE9EX0VYVEVOU0lPTi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMDAwMDInCisKKyAgICAgICogWE1MX1NDSEVNQVNfVFlQRV9ERVJJVkFUSU9OX01FVEhPRF9SRVNUUklDVElPTjoKKyAgICAgICoKKyAgICAgICogdGhlIHNpbXBsZSBvciBjb21wbGV4IHR5cGUgaGFzIGEgZGVyaXZhdGlvbiBtZXRob2Qgb2YgInJlc3RyaWN0aW9uIi4KKworICAgICBkIFhNTF9TQ0hFTUFTX1RZUEVfREVSSVZBVElPTl9NRVRIT0RfUkVTVFJJQ1RJT04uLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDAwMDA0JworCisgICAgICAqIFhNTF9TQ0hFTUFTX1RZUEVfR0xPQkFMOgorICAgICAgKgorICAgICAgKiB0aGUgdHlwZSBpcyBnbG9iYWwKKworICAgICBkIFhNTF9TQ0hFTUFTX1RZUEVfR0xPQkFMLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDAwMDAwOCcKKworICAgICAgKiBYTUxfU0NIRU1BU19UWVBFX09XTkVEX0FUVFJfV0lMRENBUkQ6CisgICAgICAqCisgICAgICAqIHRoZSBjb21wbGV4VHlwZSBvd25zIGFuIGF0dHJpYnV0ZSB3aWxkY2FyZCwgaS5lLgorICAgICAgKiBpdCBjYW4gYmUgZnJlZWQgYnkgdGhlIGNvbXBsZXhUeXBlCisKKyAgICAgZCBYTUxfU0NIRU1BU19UWVBFX09XTkVEX0FUVFJfV0lMRENBUkQuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Jzb2xldGUuCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDAwMDAxMCcKKworICAgICAgKiBYTUxfU0NIRU1BU19UWVBFX1ZBUklFVFlfQUJTRU5UOgorICAgICAgKgorICAgICAgKiB0aGUgc2ltcGxlVHlwZSBoYXMgYSB2YXJpZXR5IG9mICJhYnNlbnQiLgorICAgICAgKiBUT0RPOiBBY3R1YWxseSBub3QgbmVjZXNzYXJ5IDotLywgc2luY2UgaWYKKyAgICAgICogbm9uZSBvZiB0aGUgdmFyaWV0eSBmbGFncyBvY2N1ciB0aGVuIGl0J3MKKyAgICAgICogYXV0b21hdGljYWxseSBhYnNlbnQuCisKKyAgICAgZCBYTUxfU0NIRU1BU19UWVBFX1ZBUklFVFlfQUJTRU5ULi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDAwMDAyMCcKKworICAgICAgKiBYTUxfU0NIRU1BU19UWVBFX1ZBUklFVFlfTElTVDoKKyAgICAgICoKKyAgICAgICogdGhlIHNpbXBsZVR5cGUgaGFzIGEgdmFyaWV0eSBvZiAibGlzdCIuCisKKyAgICAgZCBYTUxfU0NIRU1BU19UWVBFX1ZBUklFVFlfTElTVC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMDAwNDAnCisKKyAgICAgICogWE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX1VOSU9OOgorICAgICAgKgorICAgICAgKiB0aGUgc2ltcGxlVHlwZSBoYXMgYSB2YXJpZXR5IG9mICJ1bmlvbiIuCisKKyAgICAgZCBYTUxfU0NIRU1BU19UWVBFX1ZBUklFVFlfVU5JT04uLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDAwMDgwJworCisgICAgICAqIFhNTF9TQ0hFTUFTX1RZUEVfVkFSSUVUWV9BVE9NSUM6CisgICAgICAqCisgICAgICAqIHRoZSBzaW1wbGVUeXBlIGhhcyBhIHZhcmlldHkgb2YgInVuaW9uIi4KKworICAgICBkIFhNTF9TQ0hFTUFTX1RZUEVfVkFSSUVUWV9BVE9NSUMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDAwMTAwJworCisgICAgICAqIFhNTF9TQ0hFTUFTX1RZUEVfRklOQUxfRVhURU5TSU9OOgorICAgICAgKgorICAgICAgKiB0aGUgY29tcGxleFR5cGUgaGFzIGEgZmluYWwgb2YgImV4dGVuc2lvbiIuCisKKyAgICAgZCBYTUxfU0NIRU1BU19UWVBFX0ZJTkFMX0VYVEVOU0lPTi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMDAyMDAnCisKKyAgICAgICogWE1MX1NDSEVNQVNfVFlQRV9GSU5BTF9SRVNUUklDVElPTjoKKyAgICAgICoKKyAgICAgICogdGhlIHNpbXBsZVR5cGUvY29tcGxleFR5cGUgaGFzIGEgZmluYWwgb2YgInJlc3RyaWN0aW9uIi4KKworICAgICBkIFhNTF9TQ0hFTUFTX1RZUEVfRklOQUxfUkVTVFJJQ1RJT04uLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDAwNDAwJworCisgICAgICAqIFhNTF9TQ0hFTUFTX1RZUEVfRklOQUxfTElTVDoKKyAgICAgICoKKyAgICAgICogdGhlIHNpbXBsZVR5cGUgaGFzIGEgZmluYWwgb2YgImxpc3QiLgorCisgICAgIGQgWE1MX1NDSEVNQVNfVFlQRV9GSU5BTF9MSVNULi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDAwMDgwMCcKKworICAgICAgKiBYTUxfU0NIRU1BU19UWVBFX0ZJTkFMX1VOSU9OOgorICAgICAgKgorICAgICAgKiB0aGUgc2ltcGxlVHlwZSBoYXMgYSBmaW5hbCBvZiAidW5pb24iLgorCisgICAgIGQgWE1MX1NDSEVNQVNfVFlQRV9GSU5BTF9VTklPTi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMDEwMDAnCisKKyAgICAgICogWE1MX1NDSEVNQVNfVFlQRV9GSU5BTF9ERUZBVUxUOgorICAgICAgKgorICAgICAgKiB0aGUgc2ltcGxlVHlwZSBoYXMgYSBmaW5hbCBvZiAiZGVmYXVsdCIuCisKKyAgICAgZCBYTUxfU0NIRU1BU19UWVBFX0ZJTkFMX0RFRkFVTFQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDAyMDAwJworCisgICAgICAqIFhNTF9TQ0hFTUFTX1RZUEVfQlVJTFRJTl9QUklNSVRJVkU6CisgICAgICAqCisgICAgICAqIE1hcmtzIHRoZSBpdGVtIGFzIGEgYnVpbHRpbiBwcmltaXRpdmUuCisKKyAgICAgZCBYTUxfU0NIRU1BU19UWVBFX0JVSUxUSU5fUFJJTUlUSVZFLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDAwNDAwMCcKKworICAgICAgKiBYTUxfU0NIRU1BU19UWVBFX01BUktFRDoKKyAgICAgICoKKyAgICAgICogTWFya3MgdGhlIGl0ZW0gYXMgbWFya2VkOyB1c2VkIGZvciBjaXJjdWxhciBjaGVja3MuCisKKyAgICAgZCBYTUxfU0NIRU1BU19UWVBFX01BUktFRC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMTAwMDAnCisKKyAgICAgICogWE1MX1NDSEVNQVNfVFlQRV9CTE9DS19ERUZBVUxUOgorICAgICAgKgorICAgICAgKiB0aGUgY29tcGxleFR5cGUgZGlkIG5vdCBzcGVjaWZ5ICdibG9jaycgc28gdXNlIHRoZSBkZWZhdWx0IG9mIHRoZQorICAgICAgKiA8c2NoZW1hPiBpdGVtLgorCisgICAgIGQgWE1MX1NDSEVNQVNfVFlQRV9CTE9DS19ERUZBVUxULi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDAyMDAwMCcKKworICAgICAgKiBYTUxfU0NIRU1BU19UWVBFX0JMT0NLX0VYVEVOU0lPTjoKKyAgICAgICoKKyAgICAgICogdGhlIGNvbXBsZXhUeXBlIGhhcyBhICdibG9jaycgb2YgImV4dGVuc2lvbiIuCisKKyAgICAgZCBYTUxfU0NIRU1BU19UWVBFX0JMT0NLX0VYVEVOU0lPTi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwNDAwMDAnCisKKyAgICAgICogWE1MX1NDSEVNQVNfVFlQRV9CTE9DS19SRVNUUklDVElPTjoKKyAgICAgICoKKyAgICAgICogdGhlIGNvbXBsZXhUeXBlIGhhcyBhICdibG9jaycgb2YgInJlc3RyaWN0aW9uIi4KKworICAgICBkIFhNTF9TQ0hFTUFTX1RZUEVfQkxPQ0tfUkVTVFJJQ1RJT04uLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDgwMDAwJworCisgICAgICAqIFhNTF9TQ0hFTUFTX1RZUEVfQUJTVFJBQ1Q6CisgICAgICAqCisgICAgICAqIHRoZSBzaW1wbGUvY29tcGxleFR5cGUgaXMgYWJzdHJhY3QuCisKKyAgICAgZCBYTUxfU0NIRU1BU19UWVBFX0FCU1RSQUNULi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDEwMDAwMCcKKworICAgICAgKiBYTUxfU0NIRU1BU19UWVBFX0ZBQ0VUU05FRURWQUxVRToKKyAgICAgICoKKyAgICAgICogaW5kaWNhdGVzIGlmIHRoZSBmYWNldHMgbmVlZCBhIGNvbXB1dGVkIHZhbHVlCisKKyAgICAgZCBYTUxfU0NIRU1BU19UWVBFX0ZBQ0VUU05FRURWQUxVRS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAyMDAwMDAnCisKKyAgICAgICogWE1MX1NDSEVNQVNfVFlQRV9JTlRFUk5BTF9SRVNPTFZFRDoKKyAgICAgICoKKyAgICAgICogaW5kaWNhdGVzIHRoYXQgdGhlIHR5cGUgd2FzIHR5cGVmaXhlZAorCisgICAgIGQgWE1MX1NDSEVNQVNfVFlQRV9JTlRFUk5BTF9SRVNPTFZFRC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDA0MDAwMDAnCisKKyAgICAgICogWE1MX1NDSEVNQVNfVFlQRV9JTlRFUk5BTF9JTlZBTElEOgorICAgICAgKgorICAgICAgKiBpbmRpY2F0ZXMgdGhhdCB0aGUgdHlwZSBpcyBpbnZhbGlkCisKKyAgICAgZCBYTUxfU0NIRU1BU19UWVBFX0lOVEVSTkFMX0lOVkFMSUQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwODAwMDAwJworCisgICAgICAqIFhNTF9TQ0hFTUFTX1RZUEVfV0hJVEVTUEFDRV9QUkVTRVJWRToKKyAgICAgICoKKyAgICAgICogYSB3aGl0ZXNwYWNlLWZhY2V0IHZhbHVlIG9mICJwcmVzZXJ2ZSIKKworICAgICBkIFhNTF9TQ0hFTUFTX1RZUEVfV0hJVEVTUEFDRV9QUkVTRVJWRS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDEwMDAwMDAnCisKKyAgICAgICogWE1MX1NDSEVNQVNfVFlQRV9XSElURVNQQUNFX1JFUExBQ0U6CisgICAgICAqCisgICAgICAqIGEgd2hpdGVzcGFjZS1mYWNldCB2YWx1ZSBvZiAicmVwbGFjZSIKKworICAgICBkIFhNTF9TQ0hFTUFTX1RZUEVfV0hJVEVTUEFDRV9SRVBMQUNFLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMjAwMDAwMCcKKworICAgICAgKiBYTUxfU0NIRU1BU19UWVBFX1dISVRFU1BBQ0VfQ09MTEFQU0U6CisgICAgICAqCisgICAgICAqIGEgd2hpdGVzcGFjZS1mYWNldCB2YWx1ZSBvZiAiY29sbGFwc2UiCisKKyAgICAgZCBYTUxfU0NIRU1BU19UWVBFX1dISVRFU1BBQ0VfQ09MTEFQU0UuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzA0MDAwMDAwJworCisgICAgICAqIFhNTF9TQ0hFTUFTX1RZUEVfSEFTX0ZBQ0VUUzoKKyAgICAgICoKKyAgICAgICogaGFzIGZhY2V0cworCisgICAgIGQgWE1MX1NDSEVNQVNfVFlQRV9IQVNfRkFDRVRTLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwODAwMDAwMCcKKworICAgICAgKiBYTUxfU0NIRU1BU19UWVBFX05PUk1WQUxVRU5FRURFRDoKKyAgICAgICoKKyAgICAgICogaW5kaWNhdGVzIGlmIHRoZSBmYWNldHMgKHBhdHRlcm4pIG5lZWQgYSBub3JtYWxpemVkIHZhbHVlCisKKyAgICAgZCBYTUxfU0NIRU1BU19UWVBFX05PUk1WQUxVRU5FRURFRC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMTAwMDAwMDAnCisKKyAgICAgICogWE1MX1NDSEVNQVNfVFlQRV9GSVhVUF8xOgorICAgICAgKgorICAgICAgKiBGaXJzdCBzdGFnZSBvZiBmaXh1cCB3YXMgZG9uZS4KKworICAgICBkIFhNTF9TQ0hFTUFTX1RZUEVfRklYVVBfMS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMjAwMDAwMDAnCisKKyAgICAgICogWE1MX1NDSEVNQVNfVFlQRV9SRURFRklORUQ6CisgICAgICAqCisgICAgICAqIFRoZSB0eXBlIHdhcyByZWRlZmluZWQuCisKKyAgICAgZCBYTUxfU0NIRU1BU19UWVBFX1JFREVGSU5FRC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnNDAwMDAwMDAnCisKKyAgICAgIC9pZiBkZWZpbmVkKERJU0FCTEVEKQorICAgICAgKiBYTUxfU0NIRU1BU19UWVBFX1JFREVGSU5JTkc6CisgICAgICAqCisgICAgICAqIFRoZSB0eXBlIHJlZGVmaW5lcyBhbiBvdGhlciB0eXBlLgorCisgICAgIGQgWE1MX1NDSEVNQVNfVFlQRV9SRURFRklOSU5HLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCc4MDAwMDAwMCcKKyAgICAgIC9lbmRpZgorCisgICAgICAqIF94bWxTY2hlbWFUeXBlOgorICAgICAgKgorICAgICAgKiBTY2hlbWFzIHR5cGUgZGVmaW5pdGlvbi4KKworICAgICBkIHhtbFNjaGVtYVR5cGUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgZHMgICAgICAgICAgICAgICAgICBiYXNlZCh4bWxTY2hlbWFUeXBlUHRyKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduIHF1YWxpZmllZAorICAgICBkICB0eXBlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hVHlwZVR5cGUpICAgICAgICAgICAgICBLaW5kIG9mIHR5cGUKKyAgICAgZCAgbmV4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYVR5cGVQdHIpICAgICAgICAgICAgICAgTmV4dCB0eXBlCisgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBpZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgcmVmICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIHJlZk5zICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBhbm5vdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hQW5ub3RQdHIpCisgICAgIGQgIHN1YnR5cGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWFUeXBlUHRyKQorICAgICBkICBhdHRyaWJ1dGVzICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hQXR0cmlidXRlUHRyKSAgICAgICAgICBEZXByZWNhdGVkOyBub3QgdXNlZAorICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikKKyAgICAgZCAgbWluT2NjdXJzICAgICAgICAgICAgICAgICAgICAxMGkgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVwcmVjYXRlZDsgbm90IHVzZWQKKyAgICAgZCAgbWF4T2NjdXJzICAgICAgICAgICAgICAgICAgICAxMGkgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVwcmVjYXRlZDsgbm90IHVzZWQKKyAgICAgICoKKyAgICAgZCAgZmxhZ3MgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMAorICAgICBkICBjb250ZW50VHlwZSAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hQ29udGVudFR5cGUpCisgICAgIGQgIGJhc2UgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBiYXNlTnMgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgYmFzZVR5cGUgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYVR5cGVQdHIpICAgICAgICAgICAgICAgQmFzZSB0eXBlIGNvbXBvbmVudAorICAgICBkICBmYWNldHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hRmFjZXRQdHIpICAgICAgICAgICAgICBMb2NhbCBmYWNldHMKKyAgICAgZCAgcmVkZWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYVR5cGVQdHIpICAgICAgICAgICAgICAgRGVwcmVjYXRlZDsgbm90IHVzZWQKKyAgICAgZCAgcmVjdXJzZSAgICAgICAgICAgICAgICAgICAgICAxMGkgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Jzb2xldGUKKyAgICAgZCAgYXR0cmlidXRlVXNlcyAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYUF0dHJpYnV0ZUxpbmtQdHIpICAgICAgRGVwcmVjYXRlZDsgbm90IHVzZWQKKyAgICAgZCAgYXR0cmlidXRlV2lsZGNhcmQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYVdpbGRjYXJkUHRyKQorICAgICBkICBidWlsdEluVHlwZSAgICAgICAgICAgICAgICAgIDEwaSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCdWlsdC1pbiB0eXBlcyB0eXBlCisgICAgIGQgIG1lbWJlclR5cGVzICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWFUeXBlTGlua1B0cikgICAgICAgICAgIFVuaW9uIG1lbWJlci10eXBlcworICAgICBkICBmYWNldFNldCAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hRmFjZXRMaW5rUHRyKSAgICAgICAgICBBbGwgZmFjZXRzCisgICAgIGQgIHJlZlByZWZpeCAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBjb250ZW50VHlwZURlZi4uLgorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hVHlwZVB0cikKKyAgICAgZCAgY29udE1vZGVsICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFJlZ2V4cFB0cikgICAgICAgICAgICAgICAgICAgQ29udGVudCBtb2RlbCBhdXRvbS4KKyAgICAgZCAgdGFyZ2V0TmFtZXNwYWNlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBhdHRyVXNlcyAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKworICAgICAgKiB4bWxTY2hlbWFFbGVtZW50OgorICAgICAgKiBBbiBlbGVtZW50IGRlZmluaXRpb24uCisgICAgICAqCisgICAgICAqIHhtbFNjaGVtYVR5cGUsIHhtbFNjaGVtYUZhY2V0IGFuZCB4bWxTY2hlbWFFbGVtZW50IHN0YXJ0IG9mCisgICAgICAqIHN0cnVjdHVyZXMgbXVzdCBiZSBrZXB0IHNpbWlsYXIKKworICAgICAgKiBYTUxfU0NIRU1BU19FTEVNX05JTExBQkxFOgorICAgICAgKgorICAgICAgKiB0aGUgZWxlbWVudCBpcyBuaWxsYWJsZQorCisgICAgIGQgWE1MX1NDSEVNQVNfRUxFTV9OSUxMQUJMRS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMDAwMDEnCisKKyAgICAgICogWE1MX1NDSEVNQVNfRUxFTV9HTE9CQUw6CisgICAgICAqCisgICAgICAqIHRoZSBlbGVtZW50IGlzIGdsb2JhbAorCisgICAgIGQgWE1MX1NDSEVNQVNfRUxFTV9HTE9CQUwuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDAwMDAyJworCisgICAgICAqIFhNTF9TQ0hFTUFTX0VMRU1fREVGQVVMVDoKKyAgICAgICoKKyAgICAgICogdGhlIGVsZW1lbnQgaGFzIGEgZGVmYXVsdCB2YWx1ZQorCisgICAgIGQgWE1MX1NDSEVNQVNfRUxFTV9ERUZBVUxULi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDAwMDAwNCcKKworICAgICAgKiBYTUxfU0NIRU1BU19FTEVNX0ZJWEVEOgorICAgICAgKgorICAgICAgKiB0aGUgZWxlbWVudCBoYXMgYSBmaXhlZCB2YWx1ZQorCisgICAgIGQgWE1MX1NDSEVNQVNfRUxFTV9GSVhFRC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMDAwMDgnCisKKyAgICAgICogWE1MX1NDSEVNQVNfRUxFTV9BQlNUUkFDVDoKKyAgICAgICoKKyAgICAgICogdGhlIGVsZW1lbnQgaXMgYWJzdHJhY3QKKworICAgICBkIFhNTF9TQ0hFTUFTX0VMRU1fQUJTVFJBQ1QuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDAwMDEwJworCisgICAgICAqIFhNTF9TQ0hFTUFTX0VMRU1fVE9QTEVWRUw6CisgICAgICAqCisgICAgICAqIHRoZSBlbGVtZW50IGlzIHRvcCBsZXZlbAorICAgICAgKiBvYnNvbGV0ZTogdXNlIFhNTF9TQ0hFTUFTX0VMRU1fR0xPQkFMIGluc3RlYWQKKworICAgICBkIFhNTF9TQ0hFTUFTX0VMRU1fVE9QTEVWRUwuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDAwMDIwJworCisgICAgICAqIFhNTF9TQ0hFTUFTX0VMRU1fUkVGOgorICAgICAgKgorICAgICAgKiB0aGUgZWxlbWVudCBpcyBhIHJlZmVyZW5jZSB0byBhIHR5cGUKKworICAgICBkIFhNTF9TQ0hFTUFTX0VMRU1fUkVGLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDAwMDA0MCcKKworICAgICAgKiBYTUxfU0NIRU1BU19FTEVNX05TREVGQVVMVDoKKyAgICAgICoKKyAgICAgICogYWxsb3cgZWxlbWVudHMgaW4gbm8gbmFtZXNwYWNlCisgICAgICAqIE9ic29sZXRlLCBub3QgdXNlZCBhbnltb3JlLgorCisgICAgIGQgWE1MX1NDSEVNQVNfRUxFTV9OU0RFRkFVTFQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDAwMDgwJworCisgICAgICAqIFhNTF9TQ0hFTUFTX0VMRU1fSU5URVJOQUxfUkVTT0xWRUQ6CisgICAgICAqCisgICAgICAqIHRoaXMgaXMgc2V0IHdoZW4gInR5cGUiLCAicmVmIiwgInN1YnN0aXR1dGlvbkdyb3VwIgorICAgICAgKiByZWZlcmVuY2VzIGhhdmUgYmVlbiByZXNvbHZlZC4KKworICAgICBkIFhNTF9TQ0hFTUFTX0VMRU1fSU5URVJOQUxfUkVTT0xWRUQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDAwMTAwJworCisgICAgICAqIFhNTF9TQ0hFTUFTX0VMRU1fQ0lSQ1VMQVI6CisgICAgICAqCisgICAgICAqIGEgaGVscGVyIGZsYWcgZm9yIHRoZSBzZWFyY2ggb2YgY2lyY3VsYXIgcmVmZXJlbmNlcy4KKworICAgICBkIFhNTF9TQ0hFTUFTX0VMRU1fQ0lSQ1VMQVIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDAwMjAwJworCisgICAgICAqIFhNTF9TQ0hFTUFTX0VMRU1fQkxPQ0tfQUJTRU5UOgorICAgICAgKgorICAgICAgKiB0aGUgImJsb2NrIiBhdHRyaWJ1dGUgaXMgYWJzZW50CisKKyAgICAgZCBYTUxfU0NIRU1BU19FTEVNX0JMT0NLX0FCU0VOVC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMDA0MDAnCisKKyAgICAgICogWE1MX1NDSEVNQVNfRUxFTV9CTE9DS19FWFRFTlNJT046CisgICAgICAqCisgICAgICAqIGRpc2FsbG93ZWQgc3Vic3RpdHV0aW9ucyBhcmUgYWJzZW50CisKKyAgICAgZCBYTUxfU0NIRU1BU19FTEVNX0JMT0NLX0VYVEVOU0lPTi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMDA4MDAnCisKKyAgICAgICogWE1MX1NDSEVNQVNfRUxFTV9CTE9DS19SRVNUUklDVElPTjoKKyAgICAgICoKKyAgICAgICogZGlzYWxsb3dlZCBzdWJzdGl0dXRpb25zOiAicmVzdHJpY3Rpb24iCisKKyAgICAgZCBYTUxfU0NIRU1BU19FTEVNX0JMT0NLX1JFU1RSSUNUSU9OLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDAwMTAwMCcKKworICAgICAgKiBYTUxfU0NIRU1BU19FTEVNX0JMT0NLX1NVQlNUSVRVVElPTjoKKyAgICAgICoKKyAgICAgICogZGlzYWxsb3dlZCBzdWJzdGl0dXRpb25zOiAic3Vic3RpdHVpb24iCisKKyAgICAgZCBYTUxfU0NIRU1BU19FTEVNX0JMT0NLX1NVQlNUSVRVVElPTi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMDIwMDAnCisKKyAgICAgICogWE1MX1NDSEVNQVNfRUxFTV9GSU5BTF9BQlNFTlQ6CisgICAgICAqCisgICAgICAqIHN1YnN0aXR1dGlvbiBncm91cCBleGNsdXNpb25zIGFyZSBhYnNlbnQKKworICAgICBkIFhNTF9TQ0hFTUFTX0VMRU1fRklOQUxfQUJTRU5ULi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDAwNDAwMCcKKworICAgICAgKiBYTUxfU0NIRU1BU19FTEVNX0ZJTkFMX0VYVEVOU0lPTjoKKyAgICAgICoKKyAgICAgICogc3Vic3RpdHV0aW9uIGdyb3VwIGV4Y2x1c2lvbnM6ICJleHRlbnNpb24iCisKKyAgICAgZCBYTUxfU0NIRU1BU19FTEVNX0ZJTkFMX0VYVEVOU0lPTi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMDgwMDAnCisKKyAgICAgICogWE1MX1NDSEVNQVNfRUxFTV9GSU5BTF9SRVNUUklDVElPTjoKKyAgICAgICoKKyAgICAgICogc3Vic3RpdHV0aW9uIGdyb3VwIGV4Y2x1c2lvbnM6ICJyZXN0cmljdGlvbiIKKworICAgICBkIFhNTF9TQ0hFTUFTX0VMRU1fRklOQUxfUkVTVFJJQ1RJT04uLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDEwMDAwJworCisgICAgICAqIFhNTF9TQ0hFTUFTX0VMRU1fU1VCU1RfR1JPVVBfSEVBRDoKKyAgICAgICoKKyAgICAgICogdGhlIGRlY2xhcmF0aW9uIGlzIGEgc3Vic3RpdHV0aW9uIGdyb3VwIGhlYWQKKworICAgICBkIFhNTF9TQ0hFTUFTX0VMRU1fU1VCU1RfR1JPVVBfSEVBRC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMjAwMDAnCisKKyAgICAgICogWE1MX1NDSEVNQVNfRUxFTV9JTlRFUk5BTF9DSEVDS0VEOgorICAgICAgKgorICAgICAgKiB0aGlzIGlzIHNldCB3aGVuIHRoZSBlbGVtIGRlY2wgaGFzIGJlZW4gY2hlY2tlZCBhZ2FpbnN0CisgICAgICAqIGFsbCBjb25zdHJhaW50cworCisgICAgIGQgWE1MX1NDSEVNQVNfRUxFTV9JTlRFUk5BTF9DSEVDS0VELi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDA0MDAwMCcKKworICAgICBkIHhtbFNjaGVtYUVsZW1lbnRQdHIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorCisgICAgIGQgeG1sU2NoZW1hRWxlbWVudC4uLgorICAgICBkICAgICAgICAgICAgICAgICBkcyAgICAgICAgICAgICAgICAgIGJhc2VkKHhtbFNjaGVtYUVsZW1lbnRQdHIpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24gcXVhbGlmaWVkCisgICAgIGQgIHR5cGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWFUeXBlVHlwZSkgICAgICAgICAgICAgIEtpbmQgb2YgdHlwZQorICAgICBkICBuZXh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hRWxlbWVudFB0cikgICAgICAgICAgICBOb3QgdXNlZCA/CisgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBpZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgcmVmICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIHJlZk5zICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBhbm5vdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hQW5ub3RQdHIpCisgICAgIGQgIHN1YnR5cGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWFUeXBlUHRyKQorICAgICBkICBhdHRyaWJ1dGVzICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hQXR0cmlidXRlUHRyKSAgICAgICAgICBEZXByZWNhdGVkOyBub3QgdXNlZAorICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikKKyAgICAgZCAgbWluT2NjdXJzICAgICAgICAgICAgICAgICAgICAxMGkgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVwcmVjYXRlZDsgbm90IHVzZWQKKyAgICAgZCAgbWF4T2NjdXJzICAgICAgICAgICAgICAgICAgICAxMGkgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVwcmVjYXRlZDsgbm90IHVzZWQKKyAgICAgICoKKyAgICAgZCAgZmxhZ3MgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMAorICAgICBkICB0YXJnZXROYW1lc3BhY2UuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIG5hbWVkVHlwZSAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBuYW1lZFR5cGVOcyAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgc3Vic3RHcm91cCAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIHN1YnN0R3JvdXBOcyAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBzY29wZSAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIHJlZkRlY2wgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWFFbGVtZW50UHRyKQorICAgICBkICBjb250TW9kZWwgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sUmVnZXhwUHRyKQorICAgICBkICBjb250ZW50VHlwZSAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hQ29udGVudFR5cGUpCisgICAgIGQgIHJlZlByZWZpeCAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBkZXZWYWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hVmFsUHRyKSAgICAgICAgICAgICAgICBDb21wIHZhbCBjb25zdHJhaW50CisgICAgIGQgIGlkY3MgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorCisgICAgICAqIFhNTF9TQ0hFTUFTX0ZBQ0VUX1VOS05PV046CisgICAgICAqCisgICAgICAqIHVua25vd24gZmFjZXQgaGFuZGxpbmcKKworICAgICBkIFhNTF9TQ0hFTUFTX0ZBQ0VUX1VOS05PV04uLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAwCisKKyAgICAgICogWE1MX1NDSEVNQVNfRkFDRVRfUFJFU0VSVkU6CisgICAgICAqCisgICAgICAqIHByZXNlcnZlIHRoZSB0eXBlIG9mIHRoZSBmYWNldAorCisgICAgIGQgWE1MX1NDSEVNQVNfRkFDRVRfUFJFU0VSVkUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxCisKKyAgICAgICogWE1MX1NDSEVNQVNfRkFDRVRfUkVQTEFDRToKKyAgICAgICoKKyAgICAgICogcmVwbGFjZSB0aGUgdHlwZSBvZiB0aGUgZmFjZXQKKworICAgICBkIFhNTF9TQ0hFTUFTX0ZBQ0VUX1JFUExBQ0UuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAyCisKKyAgICAgICogWE1MX1NDSEVNQVNfRkFDRVRfQ09MTEFQU0U6CisgICAgICAqCisgICAgICAqIGNvbGxhcHNlIHRoZSB0eXBlcyBvZiB0aGUgZmFjZXQKKworICAgICBkIFhNTF9TQ0hFTUFTX0ZBQ0VUX0NPTExBUFNFLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMworCisgICAgICAqIEEgZmFjZXQgZGVmaW5pdGlvbi4KKworICAgICBkIHhtbFNjaGVtYUZhY2V0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIGRzICAgICAgICAgICAgICAgICAgYmFzZWQoeG1sU2NoZW1hRmFjZXRQdHIpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24gcXVhbGlmaWVkCisgICAgIGQgIHR5cGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWFUeXBlVHlwZSkgICAgICAgICAgICAgIEtpbmQgb2YgdHlwZQorICAgICBkICBuZXh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hRmFjZXRQdHIpICAgICAgICAgICAgICBOZXh0IHR5cGUgaW4gc2VxLgorICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgaWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIGFubm90ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWFBbm5vdFB0cikKKyAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpCisgICAgIGQgIGZpeGVkICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9GQUNFVF9QUkVTRVJWRSwgZXRjCisgICAgIGQgIHdoaXRlc3BhY2UgICAgICAgICAgICAgICAgICAgMTBpIDAKKyAgICAgZCAgdmFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYVZhbFB0cikgICAgICAgICAgICAgICAgQ29tcGlsZWQgdmFsdWUKKyAgICAgZCAgcmVnZXhwICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFJlZ2V4cFB0cikgICAgICAgICAgICAgICAgICAgUmVnZXhwIGZvciBwYXR0ZXJucworCisgICAgICAqIEEgbm90YXRpb24gZGVmaW5pdGlvbi4KKworICAgICBkIHhtbFNjaGVtYU5vdGF0aW9uUHRyLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKworICAgICBkIHhtbFNjaGVtYU5vdGF0aW9uLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGRzICAgICAgICAgICAgICAgICAgYmFzZWQoeG1sU2NoZW1hTm90YXRpb25QdHIpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24gcXVhbGlmaWVkCisgICAgIGQgIHR5cGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWFUeXBlVHlwZSkgICAgICAgICAgICAgIEtpbmQgb2YgdHlwZQorICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgYW5ub3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYUFubm90UHRyKQorICAgICBkICBpZGVudGlmaWVyICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgdGFyZ2V0TmFtZXNwYWNlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgICAqIFRPRE86IEFjdHVhbGx5IGFsbCB0aG9zZSBmbGFncyB1c2VkIGZvciB0aGUgc2NoZW1hIHNob3VsZCBzaXQKKyAgICAgICogb24gdGhlIHNjaGVtYSBwYXJzZXIgY29udGV4dCwgc2luY2UgdGhleSBhcmUgdXNlZCBvbmx5CisgICAgICAqIGR1cmluZyBwYXJzaW5nIGFuIFhNTCBzY2hlbWEgZG9jdW1lbnQsIGFuZCBub3QgYXZhaWxhYmxlCisgICAgICAqIG9uIHRoZSBjb21wb25lbnQgbGV2ZWwgYXMgcGVyIHNwZWMuCisKKyAgICAgICogWE1MX1NDSEVNQVNfUVVBTElGX0VMRU06CisgICAgICAqCisgICAgICAqIFJlZmxlY3RzIGVsZW1lbnRGb3JtRGVmYXVsdCA9PSBxdWFsaWZpZWQgaW4KKyAgICAgICogYW4gWE1MIHNjaGVtYSBkb2N1bWVudC4KKworICAgICBkIFhNTF9TQ0hFTUFTX1FVQUxJRl9FTEVNLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDAwMDAwMScKKworICAgICAgKiBYTUxfU0NIRU1BU19RVUFMSUZfQVRUUjoKKyAgICAgICoKKyAgICAgICogUmVmbGVjdHMgYXR0cmlidXRlRm9ybURlZmF1bHQgPT0gcXVhbGlmaWVkIGluCisgICAgICAqIGFuIFhNTCBzY2hlbWEgZG9jdW1lbnQuCisKKyAgICAgZCBYTUxfU0NIRU1BU19RVUFMSUZfQVRUUi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMDAwMDInCisKKyAgICAgICogWE1MX1NDSEVNQVNfRklOQUxfREVGQVVMVF9FWFRFTlNJT046CisgICAgICAqCisgICAgICAqIHRoZSBzY2hlbWEgaGFzICJleHRlbnNpb24iIGluIHRoZSBzZXQgb2YgZmluYWxEZWZhdWx0LgorCisgICAgIGQgWE1MX1NDSEVNQVNfRklOQUxfREVGQVVMVF9FWFRFTlNJT04uLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDAwMDA0JworCisgICAgICAqIFhNTF9TQ0hFTUFTX0ZJTkFMX0RFRkFVTFRfUkVTVFJJQ1RJT046CisgICAgICAqCisgICAgICAqIHRoZSBzY2hlbWEgaGFzICJyZXN0cmljdGlvbiIgaW4gdGhlIHNldCBvZiBmaW5hbERlZmF1bHQuCisKKyAgICAgZCBYTUxfU0NIRU1BU19GSU5BTF9ERUZBVUxUX1JFU1RSSUNUSU9OLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDAwMDAwOCcKKworICAgICAgKiBYTUxfU0NIRU1BU19GSU5BTF9ERUZBVUxUX0xJU1Q6CisgICAgICAqCisgICAgICAqIHRoZSBjc2hlbWEgaGFzICJsaXN0IiBpbiB0aGUgc2V0IG9mIGZpbmFsRGVmYXVsdC4KKworICAgICBkIFhNTF9TQ0hFTUFTX0ZJTkFMX0RFRkFVTFRfTElTVC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMDAwMTAnCisKKyAgICAgICogWE1MX1NDSEVNQVNfRklOQUxfREVGQVVMVF9VTklPTjoKKyAgICAgICoKKyAgICAgICogdGhlIHNjaGVtYSBoYXMgInVuaW9uIiBpbiB0aGUgc2V0IG9mIGZpbmFsRGVmYXVsdC4KKworICAgICBkIFhNTF9TQ0hFTUFTX0ZJTkFMX0RFRkFVTFRfVU5JT04uLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDAwMDIwJworCisgICAgICAqIFhNTF9TQ0hFTUFTX0JMT0NLX0RFRkFVTFRfRVhURU5TSU9OOgorICAgICAgKgorICAgICAgKiB0aGUgc2NoZW1hIGhhcyAiZXh0ZW5zaW9uIiBpbiB0aGUgc2V0IG9mIGJsb2NrRGVmYXVsdC4KKworICAgICBkIFhNTF9TQ0hFTUFTX0JMT0NLX0RFRkFVTFRfRVhURU5TSU9OLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDAwMDA0MCcKKworICAgICAgKiBYTUxfU0NIRU1BU19CTE9DS19ERUZBVUxUX1JFU1RSSUNUSU9OOgorICAgICAgKgorICAgICAgKiB0aGUgc2NoZW1hIGhhcyAicmVzdHJpY3Rpb24iIGluIHRoZSBzZXQgb2YgYmxvY2tEZWZhdWx0LgorCisgICAgIGQgWE1MX1NDSEVNQVNfQkxPQ0tfREVGQVVMVF9SRVNUUklDVElPTi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMDAwODAnCisKKyAgICAgICogWE1MX1NDSEVNQVNfQkxPQ0tfREVGQVVMVF9TVUJTVElUVVRJT046CisgICAgICAqCisgICAgICAqIHRoZSBzY2hlbWEgaGFzICJzdWJzdGl0dXRpb24iIGluIHRoZSBzZXQgb2YgYmxvY2tEZWZhdWx0LgorCisgICAgIGQgWE1MX1NDSEVNQVNfQkxPQ0tfREVGQVVMVF9TVUJTVElUVVRJT04uLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDAwMTAwJworCisgICAgICAqIFhNTF9TQ0hFTUFTX0lOQ0xVRElOR19DT05WRVJUX05TOgorICAgICAgKgorICAgICAgKiB0aGUgc2NoZW1hIGlzIGN1cnJlbnRseSBpbmNsdWRpbmcgYW4gb3RoZXIgc2NoZW1hIHdpdGgKKyAgICAgICogbm8gdGFyZ2V0IG5hbWVzcGFjZS4KKworICAgICBkIFhNTF9TQ0hFTUFTX0lOQ0xVRElOR19DT05WRVJUX05TLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDAwMDIwMCcKKworICAgICAgKiBfeG1sU2NoZW1hOgorICAgICAgKgorICAgICAgKiBBIFNjaGVtYXMgZGVmaW5pdGlvbgorCisgICAgIGQgeG1sU2NoZW1hICAgICAgIGRzICAgICAgICAgICAgICAgICAgYmFzZWQoeG1sU2NoZW1hUHRyKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduIHF1YWxpZmllZAorICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgdGFyZ2V0TmFtZXNwYWNlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICB2ZXJzaW9uICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgaWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxEb2NQdHIpCisgICAgIGQgIGFubm90ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWFBbm5vdFB0cikKKyAgICAgZCAgZmxhZ3MgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMAorICAgICAgKgorICAgICBkICB0eXBlRGVjbCAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sSGFzaFRhYmxlUHRyKQorICAgICBkICBhdHRyRGVjbCAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sSGFzaFRhYmxlUHRyKQorICAgICBkICBhdHRyR3JwRGVjbCAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sSGFzaFRhYmxlUHRyKQorICAgICBkICBlbGVtRGVjbCAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sSGFzaFRhYmxlUHRyKQorICAgICBkICBub3RhRGVjbCAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sSGFzaFRhYmxlUHRyKQorICAgICBkICBzY2hlbWFzSW1wb3J0cy4uLgorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sSGFzaFRhYmxlUHRyKQorICAgICAgKgorICAgICBkICAjcHJpdmF0ZSAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKyAgICAgZCAgZ3JvdXBEZWNsICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEhhc2hUYWJsZVB0cikKKyAgICAgZCAgZGljdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbERpY3RQdHIpCisgICAgIGQgIGluY2x1ZGVzICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorICAgICBkICBwcmVzZXJ2ZSAgICAgICAgICAgICAgICAgICAgIDEwaSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEbyBub3QgZnJlZSBkb2MgPworICAgICBkICBjb3VudGVyICAgICAgICAgICAgICAgICAgICAgIDEwaSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGb3IgbmFtZSB1bmlxdWVuZXNzCisgICAgIGQgIGlkY0RlZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxIYXNoVGFibGVQdHIpICAgICAgICAgICAgICAgIEFsbCBpZC1jb25zdHIuIGRlZnMKKyAgICAgZCAgdm9sYXRpbGVzICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCisKKyAgICAgZCB4bWxTY2hlbWFGcmVlVHlwZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNjaGVtYUZyZWVUeXBlJykKKyAgICAgZCB0eXBlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYVR5cGVQdHIpCisKKyAgICAgZCB4bWxTY2hlbWFGcmVlV2lsZGNhcmQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTY2hlbWFGcmVlV2lsZGNhcmQnKQorICAgICBkIHdpbGRjYXJkICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2NoZW1hV2lsZGNhcmRQdHIpCisKKyAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCWE1MX1NDSEVNQVNfRU5CTEQKKyAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0NIRU1BX0lOVEVSTkFMU19IX18KZGlmZiAtLWdpdCBhL2xpYnhtbDIvb3M0MDAvbGlieG1scnBnL3NjaGVtYXRyb24ucnBnbGUgYi9saWJ4bWwyL29zNDAwL2xpYnhtbHJwZy9zY2hlbWF0cm9uLnJwZ2xlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZmOGVhNjIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL29zNDAwL2xpYnhtbHJwZy9zY2hlbWF0cm9uLnJwZ2xlCkBAIC0wLDAgKzEsMTk1IEBACisgICAgICAqIFN1bW1hcnk6IFhNTCBTY2hlbWFzdHJvbiBpbXBsZW1lbnRhdGlvbgorICAgICAgKiBEZXNjcmlwdGlvbjogaW50ZXJmYWNlIHRvIHRoZSBYTUwgU2NoZW1hdHJvbiB2YWxpZGl0eSBjaGVja2luZy4KKyAgICAgICoKKyAgICAgICogQ29weTogU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgorICAgICAgKgorICAgICAgKiBBdXRob3I6IFBhdHJpY2sgTW9ubmVyYXQgPHBtQGRhdGFzcGhlcmUuY2g+LCBEQVRBU1BIRVJFIFMuQS4KKworICAgICAgL2lmIG5vdCBkZWZpbmVkKFhNTF9TQ0hFTUFUUk9OX0hfXykKKyAgICAgIC9kZWZpbmUgWE1MX1NDSEVNQVRST05fSF9fCisKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sdmVyc2lvbiIKKworICAgICAgL2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVRST05fRU5BQkxFRCkKKworICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy90cmVlIgorCisgICAgIGQgeG1sU2NoZW1hdHJvblZhbGlkT3B0aW9ucy4uLgorICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgIDEwaSAwIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpICAgICAgICAgICBlbnVtCisgICAgIGQgIFhNTF9TQ0hFTUFUUk9OX09VVF9RVUlFVC4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFF1aWV0IG5vIHJlcG9ydAorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMScKKyAgICAgZCAgWE1MX1NDSEVNQVRST05fT1VUX1RFWFQuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQnVpbGQgdGV4dHVhbCByZXBvcnQKKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDInCisgICAgIGQgIFhNTF9TQ0hFTUFUUk9OX09VVF9YTUwuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dCBTVlJMCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDA0JworICAgICBkICBYTUxfU0NIRU1BVFJPTl9PVVRfRVJST1IuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQgdG8gZXJyb3IgZnVuYworICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwOCcKKyAgICAgZCAgWE1MX1NDSEVNQVRST05fT1VUX0ZJTEUuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0IHRvIGZpbGUgZGVzY3IKKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAxMDAnCisgICAgIGQgIFhNTF9TQ0hFTUFUUk9OX09VVF9CVUZGRVIuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dCB0byBhIGJ1ZmZlcgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDIwMCcKKyAgICAgZCAgWE1MX1NDSEVNQVRST05fT1VUX0lPLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0IHRvIEkvTyBtZWNoCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwNDAwJworCisgICAgICAqIFRoZSBzY2hlbWFzIHJlbGF0ZWQgdHlwZXMgYXJlIGtlcHQgaW50ZXJuYWwKKworICAgICBkIHhtbFNjaGVtYXRyb25QdHIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorCisgICAgICAqIHhtbFNjaGVtYXRyb25WYWxpZGl0eUVycm9yRnVuYzoKKyAgICAgICogQGN0eDogdGhlIHZhbGlkYXRpb24gY29udGV4dAorICAgICAgKiBAbXNnOiB0aGUgbWVzc2FnZQorICAgICAgKiBALi4uOiBleHRyYSBhcmd1bWVudHMKKyAgICAgICoKKyAgICAgICogU2lnbmF0dXJlIG9mIGFuIGVycm9yIGNhbGxiYWNrIGZyb20gYSBTY2hlbWF0cm9uIHZhbGlkYXRpb24KKworICAgICBkIHhtbFNjaGVtYXRyb25WYWxpZGl0eUVycm9yRnVuYy4uLgorICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY3B0cgorCisgICAgICAqIHhtbFNjaGVtYXRyb25WYWxpZGl0eVdhcm5pbmdGdW5jOgorICAgICAgKiBAY3R4OiB0aGUgdmFsaWRhdGlvbiBjb250ZXh0CisgICAgICAqIEBtc2c6IHRoZSBtZXNzYWdlCisgICAgICAqIEAuLi46IGV4dHJhIGFyZ3VtZW50cworICAgICAgKgorICAgICAgKiBTaWduYXR1cmUgb2YgYSB3YXJuaW5nIGNhbGxiYWNrIGZyb20gYSBTY2hlbWF0cm9uIHZhbGlkYXRpb24KKworICAgICBkIHhtbFNjaGVtYXRyb25WYWxpZGl0eVdhcm5pbmdGdW5jLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jcHRyCisKKyAgICAgICogQSBzY2hlbWFzIHZhbGlkYXRpb24gY29udGV4dAorCisgICAgIGQgeG1sU2NoZW1hdHJvblBhcnNlckN0eHRQdHIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorCisgICAgIGQgeG1sU2NoZW1hdHJvblZhbGlkQ3R4dFB0ci4uLgorICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisKKyAgICAgICogSW50ZXJmYWNlcyBmb3IgcGFyc2luZy4KKworICAgICBkIHhtbFNjaGVtYXRyb25OZXdQYXJzZXJDdHh0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2NoZW1hdHJvbk5ld1BhcnNlckN0eHQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hdHJvblBhcnNlckN0eHRQdHIpCisgICAgIGQgIFVSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorCisgICAgIGQgeG1sU2NoZW1hdHJvbk5ld01lbVBhcnNlckN0eHQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxTY2hlbWF0cm9uTmV3TWVtUGFyc2VyQ3R4dCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWF0cm9uUGFyc2VyQ3R4dFB0cikKKyAgICAgZCAgYnVmZmVyICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIHNpemUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFNjaGVtYXRyb25OZXdEb2NQYXJzZXJDdHh0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sU2NoZW1hdHJvbk5ld0RvY1BhcnNlckN0eHQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hdHJvblBhcnNlckN0eHRQdHIpCisgICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCisKKyAgICAgZCB4bWxTY2hlbWF0cm9uRnJlZVBhcnNlckN0eHQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxTY2hlbWF0cm9uRnJlZVBhcnNlckN0eHQnKQorICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWF0cm9uUGFyc2VyQ3R4dFB0cikKKworICAgICAgL2lmIGRlZmluZWQoRElTQUJMRUQpCisgICAgIGQgeG1sU2NoZW1hdHJvblNldFBhcnNlckVycm9ycy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFNjaGVtYXRyb25TZXRQYXJzZXJFcnJvcnMnKQorICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWF0cm9uUGFyc2VyQ3R4dFB0cikKKyAgICAgZCAgZXJyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hdHJvblZhbGlkaXR5RXJyb3JGdW5jKQorICAgICBkICB3YXJuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sU2NoZW1hdHJvblZhbGlkaXR5V2FybmluZ0Z1bmMpCisgICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorCisgICAgIGQgeG1sU2NoZW1hdHJvbkdldFBhcnNlckVycm9ycy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFNjaGVtYXRyb25HZXRQYXJzZXJFcnJvcnMnKQorICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWF0cm9uUGFyc2VyQ3R4dFB0cikKKyAgICAgZCAgZXJyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYXRyb25WYWxpZGl0eUVycm9yRnVuYykKKyAgICAgZCAgd2FybiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sU2NoZW1hdHJvblZhbGlkaXR5V2FybmluZ0Z1bmMpCisgICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKigqKQorCisgICAgIGQgeG1sU2NoZW1hdHJvbklzVmFsaWQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxTY2hlbWF0cm9uSXNWYWxpZCcpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWF0cm9uVmFsaWRDdHh0UHRyKQorICAgICAgL2VuZGlmCisKKyAgICAgZCB4bWxTY2hlbWF0cm9uUGFyc2UuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTY2hlbWF0cm9uUGFyc2UnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hdHJvblB0cikKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hdHJvblBhcnNlckN0eHRQdHIpCisKKyAgICAgZCB4bWxTY2hlbWF0cm9uRnJlZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNjaGVtYXRyb25GcmVlJykKKyAgICAgZCAgc2NoZW1hICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYXRyb25QdHIpCisKKyAgICAgICogSW50ZXJmYWNlcyBmb3IgdmFsaWRhdGluZworCisgICAgIGQgeG1sU2NoZW1hdHJvblNldFZhbGlkU3RydWN0dXJlZEVycm9ycy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNjaGVtYXRyb25TZXRWYWxpZFN0cnVjdC0KKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmVkRXJyb3JzJykKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYXRyb25WYWxpZEN0eHRQdHIpCisgICAgIGQgIHNlcnJvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jKQorICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKworICAgICAgL2lmIGRlZmluZWQoRElTQUJMRUQpCisgICAgIGQgeG1sU2NoZW1hdHJvblNldFZhbGlkRXJyb3JzLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sU2NoZW1hdHJvblNldFZhbGlkRXJyb3JzJykKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYXRyb25WYWxpZEN0eHRQdHIpCisgICAgIGQgIGVyciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYXRyb25WYWxpZGl0eUVycm9yRnVuYykKKyAgICAgZCAgd2FybiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFNjaGVtYXRyb25WYWxpZGl0eVdhcm5pbmdGdW5jKQorICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKworICAgICBkIHhtbFNjaGVtYXRyb25HZXRWYWxpZEVycm9ycy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFNjaGVtYXRyb25HZXRWYWxpZEVycm9ycycpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWF0cm9uVmFsaWRDdHh0UHRyKQorICAgICBkICBlcnIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hdHJvblZhbGlkaXR5RXJyb3JGdW5jKQorICAgICBkICB3YXJuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxTY2hlbWF0cm9uVmFsaWRpdHlXYXJuaW5nRnVuYykKKyAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqKCopCisKKyAgICAgZCB4bWxTY2hlbWF0cm9uU2V0VmFsaWRPcHRpb25zLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sU2NoZW1hdHJvblNldFZhbGlkT3B0aW9ucycpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWF0cm9uVmFsaWRDdHh0UHRyKQorICAgICBkICBvcHRpb25zICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxTY2hlbWF0cm9uVmFsaWRDdHh0R2V0T3B0aW9ucy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFNjaGVtYXRyb25WYWxpZEN0eHRHZXRPcHRpb25zJykKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYXRyb25WYWxpZEN0eHRQdHIpCisKKyAgICAgZCB4bWxTY2hlbWF0cm9uVmFsaWRhdGVPbmVFbGVtZW50Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sU2NoZW1hdHJvblZhbGlkYXRlT25lRWxlbWVudCcpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWF0cm9uVmFsaWRDdHh0UHRyKQorICAgICBkICBlbGVtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKyAgICAgIC9lbmRpZgorCisgICAgIGQgeG1sU2NoZW1hdHJvbk5ld1ZhbGlkQ3R4dC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNjaGVtYXRyb25OZXdWYWxpZEN0eHQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hdHJvblZhbGlkQ3R4dFB0cikKKyAgICAgZCAgc2NoZW1hICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYXRyb25QdHIpCisgICAgIGQgIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFNjaGVtYXRyb25GcmVlVmFsaWRDdHh0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2NoZW1hdHJvbkZyZWVWYWxpZEN0eHQnKQorICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2NoZW1hdHJvblZhbGlkQ3R4dFB0cikKKworICAgICBkIHhtbFNjaGVtYXRyb25WYWxpZGF0ZURvYy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFNjaGVtYXRyb25WYWxpZGF0ZURvYycpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWF0cm9uVmFsaWRDdHh0UHRyKQorICAgICBkICBpbnN0YW5jZSAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQorCisgICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9TQ0hFTUFUUk9OX0VOQUJMRUQKKyAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWE1MX1NDSEVNQVRST05fSF9fCmRpZmYgLS1naXQgYS9saWJ4bWwyL29zNDAwL2xpYnhtbHJwZy90aHJlYWRzLnJwZ2xlIGIvbGlieG1sMi9vczQwMC9saWJ4bWxycGcvdGhyZWFkcy5ycGdsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wN2Q0Mjc4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9vczQwMC9saWJ4bWxycGcvdGhyZWFkcy5ycGdsZQpAQCAtMCwwICsxLDcwIEBACisgICAgICAqIFN1bW1hcnk6IGludGVyZmFjZXMgZm9yIHRocmVhZCBoYW5kbGluZworICAgICAgKiBEZXNjcmlwdGlvbjogc2V0IG9mIGdlbmVyaWMgdGhyZWFkaW5nIHJlbGF0ZWQgcm91dGluZXMKKyAgICAgICogICAgICAgICAgICAgIHNob3VsZCB3b3JrIHdpdGggcHRocmVhZHMsIFdpbmRvd3MgbmF0aXZlIG9yIFRMUyB0aHJlYWRzCisgICAgICAqCisgICAgICAqIENvcHk6IFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyAgICAgICoKKyAgICAgICogQXV0aG9yOiBQYXRyaWNrIE1vbm5lcmF0IDxwbUBkYXRhc3BoZXJlLmNoPiwgREFUQVNQSEVSRSBTLkEuCisKKyAgICAgIC9pZiBub3QgZGVmaW5lZChYTUxfVEhSRUFEU19IX18pCisgICAgICAvZGVmaW5lIFhNTF9USFJFQURTX0hfXworCisgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbHZlcnNpb24iCisKKyAgICAgICogeG1sTXV0ZXggYXJlIGEgc2ltcGxlIG11dHVhbCBleGNlcHRpb24gbG9ja3MuCisKKyAgICAgZCB4bWxNdXRleFB0ciAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorCisgICAgICAqIHhtbFJNdXRleCBhcmUgcmVlbnRyYW50IG11dHVhbCBleGNlcHRpb24gbG9ja3MuCisKKyAgICAgZCB4bWxSTXV0ZXhQdHIgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorCisgICAgICAvaW5jbHVkZSAibGlieG1scnBnL2dsb2JhbHMiCisKKyAgICAgZCB4bWxOZXdNdXRleCAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOZXdNdXRleCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxNdXRleFB0cikKKworICAgICBkIHhtbE11dGV4TG9jayAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE11dGV4TG9jaycpCisgICAgIGQgIHRvayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxNdXRleFB0cikKKworICAgICBkIHhtbE11dGV4VW5sb2NrICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE11dGV4VW5sb2NrJykKKyAgICAgZCAgdG9rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE11dGV4UHRyKQorCisgICAgIGQgeG1sRnJlZU11dGV4ICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRnJlZU11dGV4JykKKyAgICAgZCAgdG9rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE11dGV4UHRyKQorCisgICAgIGQgeG1sTmV3Uk11dGV4ICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTmV3Uk11dGV4JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFJNdXRleFB0cikKKworICAgICBkIHhtbFJNdXRleExvY2sgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFJNdXRleExvY2snKQorICAgICBkICB0b2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUk11dGV4UHRyKQorCisgICAgIGQgeG1sUk11dGV4VW5sb2NrLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUk11dGV4VW5sb2NrJykKKyAgICAgZCAgdG9rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFJNdXRleFB0cikKKworICAgICBkIHhtbEZyZWVSTXV0ZXggICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEZyZWVSTXV0ZXgnKQorICAgICBkICB0b2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUk11dGV4UHRyKQorCisgICAgICAqIExpYnJhcnkgd2lkZSBBUElzLgorCisgICAgIGQgeG1sSW5pdFRocmVhZHMgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sSW5pdFRocmVhZHMnKQorCisgICAgIGQgeG1sTG9ja0xpYnJhcnkgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTG9ja0xpYnJhcnknKQorCisgICAgIGQgeG1sVW5sb2NrTGlicmFyeS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFVubG9ja0xpYnJhcnknKQorCisgICAgIGQgeG1sR2V0VGhyZWFkSWQgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sR2V0VGhyZWFkSWQnKQorCisgICAgIGQgeG1sSXNNYWluVGhyZWFkLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sSXNNYWluVGhyZWFkJykKKworICAgICBkIHhtbENsZWFudXBUaHJlYWRzLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQ2xlYW51cFRocmVhZHMnKQorCisgICAgIGQgeG1sR2V0R2xvYmFsU3RhdGUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxHZXRHbG9iYWxTdGF0ZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxHbG9iYWxTdGF0ZVB0cikKKworICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfVEhSRUFEU19IX18KZGlmZiAtLWdpdCBhL2xpYnhtbDIvb3M0MDAvbGlieG1scnBnL3RyYW5zY29kZS5ycGdsZSBiL2xpYnhtbDIvb3M0MDAvbGlieG1scnBnL3RyYW5zY29kZS5ycGdsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iOTZlNGU4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9vczQwMC9saWJ4bWxycGcvdHJhbnNjb2RlLnJwZ2xlCkBAIC0wLDAgKzEsNzEgQEAKKyAgICAgICogU3VwcGxlbWVudGFyeSBjaGFyYWN0ZXIgY29kZSBjb252ZXJzaW9uIGZ1bmN0aW9ucyBmb3IKKyAgICAgICogICBFQkNESUMgZW52aXJvbm1lbnRzLgorICAgICAgKgorICAgICAgKiBDb3B5OiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisgICAgICAqCisgICAgICAqIEF1dGhvcjogUGF0cmljayBNb25uZXJhdCA8cG1AZGF0YXNwaGVyZS5jaD4sIERBVEFTUEhFUkUgUy5BLgorCisgICAgICAvaWYgbm90IGRlZmluZWQoVFJBTlNDT0RFX0hfXykKKyAgICAgIC9kZWZpbmUgVFJBTlNDT0RFX0hfXworCisgICAgICAvaW5jbHVkZSAibGlieG1scnBnL2RpY3QiCisgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbHN0ZGFyZyIKKworICAgICBkIHhtbFphcERpY3QgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFphcERpY3QnKQorICAgICBkICBkaWN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRGljdFB0cikKKworICAgICBkIHhtbFRyYW5zY29kZVJlc3VsdC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbFRyYW5zY29kZVJlc3VsdCcpICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIGVuY29kaW5nICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBkaWN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRGljdFB0cikgb3B0aW9ucygqb21pdCkKKyAgICAgZCAgZnJlZXByb2MgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBwcm9jcHRyCisKKyAgICAgZCB4bWxUcmFuc2NvZGVTdHJpbmcuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxUcmFuc2NvZGVTdHJpbmcnKSAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgZGljdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbERpY3RQdHIpIG9wdGlvbnMoKm9taXQpCisKKyAgICAgZCB4bWxUcmFuc2NvZGVXU3RyaW5nLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sVHJhbnNjb2RlV1N0cmluZycpICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIGRpY3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxEaWN0UHRyKSBvcHRpb25zKCpvbWl0KQorCisgICAgIGQgeG1sVHJhbnNjb2RlSFN0cmluZy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbFRyYW5zY29kZUhTdHJpbmcnKSAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIGVuY29kaW5nICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBkaWN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRGljdFB0cikgb3B0aW9ucygqb21pdCkKKworICAgICAgL2lmIG5vdCBkZWZpbmVkKFhNTF9OT19TSE9SVF9OQU1FUykKKyAgICAgZCB4bWxUUiAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxUcmFuc2NvZGVSZXN1bHQnKSAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgZGljdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbERpY3RQdHIpIG9wdGlvbnMoKm9taXQpCisgICAgIGQgIGZyZWVwcm9jICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgcHJvY3B0cgorCisgICAgIGQgeG1sVFMgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sVHJhbnNjb2RlU3RyaW5nJykgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIGRpY3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxEaWN0UHRyKSBvcHRpb25zKCpvbWl0KQorCisgICAgIGQgeG1sVFcgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sVHJhbnNjb2RlV1N0cmluZycpICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIGRpY3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxEaWN0UHRyKSBvcHRpb25zKCpvbWl0KQorCisgICAgIGQgeG1sVEggICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sVHJhbnNjb2RlSFN0cmluZycpICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIGRpY3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxEaWN0UHRyKSBvcHRpb25zKCpvbWl0KQorICAgICAgL2VuZGlmCisKKyAgICAgZCB4bWxWYXNwcmludGYgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxWYXNwcmludGYnKQorICAgICBkICBkaWN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRGljdFB0cikgb3B0aW9ucygqb21pdCkKKyAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIGZtdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBhcmdzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2Vkcyh4bWxWYUxpc3QpCisKKyAgICAgIC9lbmRpZgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9vczQwMC9saWJ4bWxycGcvdHJlZS5ycGdsZSBiL2xpYnhtbDIvb3M0MDAvbGlieG1scnBnL3RyZWUucnBnbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGI0OTgxYQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvb3M0MDAvbGlieG1scnBnL3RyZWUucnBnbGUKQEAgLTAsMCArMSwxNjI4IEBACisgICAgICAqIFN1bW1hcnk6IGludGVyZmFjZXMgZm9yIHRyZWUgbWFuaXB1bGF0aW9uCisgICAgICAqIERlc2NyaXB0aW9uOiB0aGlzIG1vZHVsZSBkZXNjcmliZXMgdGhlIHN0cnVjdHVyZXMgZm91bmQgaW4gYW4gdHJlZQorICAgICAgKiAgICAgICAgICAgICAgcmVzdWx0aW5nIGZyb20gYW4gWE1MIG9yIEhUTUwgcGFyc2luZywgYXMgd2VsbCBhcyB0aGUgQVBJCisgICAgICAqICAgICAgICAgICAgICBwcm92aWRlZCBmb3IgdmFyaW91cyBwcm9jZXNzaW5nIG9uIHRoYXQgdHJlZQorICAgICAgKgorICAgICAgKiBDb3B5OiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisgICAgICAqCisgICAgICAqIEF1dGhvcjogUGF0cmljayBNb25uZXJhdCA8cG1AZGF0YXNwaGVyZS5jaD4sIERBVEFTUEhFUkUgUy5BLgorCisgICAgICAvaWYgbm90IGRlZmluZWQoWE1MX1RSRUVfSF9fKQorICAgICAgL2RlZmluZSBYTUxfVFJFRV9IX18KKworICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWx2ZXJzaW9uIgorICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWxzdHJpbmciCisKKworICAgICAgKiBTb21lIG9mIHRoZSBiYXNpYyB0eXBlcyBwb2ludGVyIHRvIHN0cnVjdHVyZXM6CisKKyAgICAgICogeG1sSU8uaAorCisgICAgIGQgeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorCisgICAgIGQgeG1sT3V0cHV0QnVmZmVyUHRyLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKworICAgICAgKiBwYXJzZXIuaAorCisgICAgIGQgeG1sUGFyc2VySW5wdXRQdHIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorCisgICAgIGQgeG1sUGFyc2VyQ3R4dFB0ci4uLgorICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisKKyAgICAgZCB4bWxTQVhMb2NhdG9yUHRyLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKworICAgICBkIHhtbFNBWEhhbmRsZXJQdHIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorCisgICAgICAqIGVudGl0aWVzLmgKKworICAgICBkIHhtbEVudGl0eVB0ciAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisKKworICAgICAgKiBCQVNFX0JVRkZFUl9TSVpFOgorICAgICAgKgorICAgICAgKiBkZWZhdWx0IGJ1ZmZlciBzaXplIDQwMDAuCisKKyAgICAgZCBCQVNFX0JVRkZFUl9TSVpFLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNDA5NgorCisgICAgICAqIExJQlhNTF9OQU1FU1BBQ0VfRElDVDoKKyAgICAgICoKKyAgICAgICogRGVmaW5lcyBleHBlcmltZW50YWwgYmVoYXZpb3VyOgorICAgICAgKiAxKSB4bWxOcyBnZXRzIGFuIGFkZGl0aW9uYWwgZmllbGQgQGNvbnRleHQgKGEgeG1sRG9jKQorICAgICAgKiAyKSB3aGVuIGNyZWF0aW5nIGEgdHJlZSwgeG1sTnMtPmhyZWYgaXMgc3RvcmVkIGluIHRoZSBkaWN0IG9mIHhtbERvYy4KKworICAgICAgL2lmIGRlZmluZWQoRE9fTk9UX0NPTVBJTEUpCisgICAgICAvZGVmaW5lIExJQlhNTF9OQU1FU1BBQ0VfRElDVAorICAgICAgL2VuZGlmCisKKyAgICAgICogeG1sQnVmZmVyQWxsb2NhdGlvblNjaGVtZToKKyAgICAgICoKKyAgICAgICogQSBidWZmZXIgYWxsb2NhdGlvbiBzY2hlbWUgY2FuIGJlIGRlZmluZWQgdG8gZWl0aGVyIG1hdGNoIGV4YWN0bHkgdGhlCisgICAgICAqIG5lZWQgb3IgZG91YmxlIGl0J3MgYWxsb2NhdGVkIHNpemUgZWFjaCB0aW1lIGl0IGlzIGZvdW5kIHRvbyBzbWFsbC4KKworICAgICBkIHhtbEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAxMGkgMCBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKSAgICAgICAgICAgZW51bQorICAgICBkICBYTUxfQlVGRkVSX0FMTE9DX0RPVUJMRUlULi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMAorICAgICBkICBYTUxfQlVGRkVSX0FMTE9DX0VYQUNULi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMQorICAgICBkICBYTUxfQlVGRkVSX0FMTE9DX0lNTVVUQUJMRS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDIKKyAgICAgZCAgWE1MX0JVRkZFUl9BTExPQ19JTy4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMKKyAgICAgZCAgWE1MX0JVRkZFUl9BTExPQ19IWUJSSUQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA0CisKKyAgICAgICogeG1sQnVmZmVyOgorICAgICAgKgorICAgICAgKiBBIGJ1ZmZlciBzdHJ1Y3R1cmUsIHRoaXMgb2xkIGNvbnN0cnVjdCBpcyBsaW1pdGVkIHRvIDJHQiBhbmQKKyAgICAgICogaXMgYmVpbmcgZGVwcmVjYXRlZCwgdXNlIEFQSSB3aXRoIHhtbEJ1ZiBpbnN0ZWFkCisKKyAgICAgZCB4bWxCdWZmZXJQdHIgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorCisgICAgIGQgeG1sQnVmZmVyICAgICAgIGRzICAgICAgICAgICAgICAgICAgYmFzZWQoeG1sQnVmZmVyUHRyKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduIHF1YWxpZmllZAorICAgICBkICBjb250ZW50ICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxDaGFyICoKKyAgICAgZCAgdXNlICAgICAgICAgICAgICAgICAgICAgICAgICAxMHUgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlIGJ1ZmZlciBzaXplIHVzZWQKKyAgICAgZCAgc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAxMHUgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlIGJ1ZmZlciBzaXplCisgICAgIGQgIGFsbG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxCdWZmZXJBbGxvY2F0aW9uU2NoZW1lKSAgICAgIFRoZSByZWFsbG9jIG1ldGhvZAorICAgICBkICBjb250ZW50SU8gICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxDaGFyICoKKworICAgICAgKiB4bWxCdWZQdHI6CisgICAgICAqCisgICAgICAqIEEgcG9pbnRlciB0byBhIGJ1ZmZlciBzdHJ1Y3R1cmUsIHRoZSBhY3R1YWwgc3RydWN0dXJlIGludGVybmFscyBhcmUgbm90CisgICAgICAqIHB1YmxpYworCisgICAgIGQgeG1sQnVmUHRyICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKworICAgICAgKiBBIGZldyBwdWJsaWMgcm91dGluZXMgZm9yIHhtbEJ1Zi4gQXMgdGhvc2UgYXJlIGV4cGVjdGVkIHRvIGJlIHVzZWQKKyAgICAgICogbW9zdGx5IGludGVybmFsbHkgdGhlIGJ1bGsgb2YgdGhlIHJvdXRpbmVzIGFyZSBpbnRlcm5hbCBpbiBidWYuaAorCisgICAgIGQgeG1sQnVmQ29udGVudCAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sQnVmQ29udGVudCcpICAgICAgICAgICAgIHhtbENoYXIgKgorICAgICBkICBidWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQnVmUHRyKSAgICAgICAgICAgICAgICBjb25zdAorCisgICAgIGQgeG1sQnVmRW5kICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sQnVmRW5kJykgICAgICAgICAgICAgICAgIHhtbENoYXIgKgorICAgICBkICBidWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQnVmUHRyKSAgICAgICAgICAgICAgICBjb25zdAorCisgICAgIGQgeG1sQnVmVXNlICAgICAgIHByICAgICAgICAgICAgMTB1IDAgZXh0cHJvYygneG1sQnVmVXNlJykgICAgICAgICAgICAgICAgIHNpemVfdAorICAgICBkICBidWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQnVmUHRyKSAgICAgICAgICAgICAgICBjb25zdAorCisgICAgIGQgeG1sQnVmU2hyaW5rICAgIHByICAgICAgICAgICAgMTB1IDAgZXh0cHJvYygneG1sQnVmU2hyaW5rJykgICAgICAgICAgICAgIHNpemVfdAorICAgICBkICBidWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQnVmUHRyKQorICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgIDEwdSAwIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QKKworICAgICAgKiBMSUJYTUwyX05FV19CVUZGRVI6CisgICAgICAqCisgICAgICAqIE1hY3JvIHVzZWQgdG8gZXhwcmVzcyB0aGF0IHRoZSBBUEkgdXNlIHRoZSBuZXcgYnVmZmVycyBmb3IKKyAgICAgICogeG1sUGFyc2VySW5wdXRCdWZmZXIgYW5kIHhtbE91dHB1dEJ1ZmZlci4gVGhlIGNoYW5nZSB3YXMKKyAgICAgICogaW50cm9kdWNlZCBpbiAyLjkuMC4KKworICAgICAgL2RlZmluZSBMSUJYTUwyX05FV19CVUZGRVIKKworICAgICAgKiBYTUxfWE1MX05BTUVTUEFDRToKKyAgICAgICoKKyAgICAgICogVGhpcyBpcyB0aGUgbmFtZXNwYWNlIGZvciB0aGUgc3BlY2lhbCB4bWw6IHByZWZpeCBwcmVkZWZpbmVkIGluIHRoZQorICAgICAgKiBYTUwgTmFtZXNwYWNlIHNwZWNpZmljYXRpb24uCisKKyAgICAgZCBYTUxfWE1MX05BTUVTUEFDRS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgICdodHRwOi8vd3d3LnczLm9yZy9YTUwvMTk5OC8rCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWVzcGFjZScKKworICAgICAgKiBYTUxfWE1MX0lEOgorICAgICAgKgorICAgICAgKiBUaGlzIGlzIHRoZSBuYW1lIGZvciB0aGUgc3BlY2lhbCB4bWw6aWQgYXR0cmlidXRlCisKKyAgICAgZCBYTUxfWE1MX0lEICAgICAgYyAgICAgICAgICAgICAgICAgICAneG1sOmlkJworCisgICAgICAqIFRoZSBkaWZmZXJlbnQgZWxlbWVudCB0eXBlcyBjYXJyaWVkIGJ5IGFuIFhNTCB0cmVlLgorICAgICAgKgorICAgICAgKiBOT1RFOiBUaGlzIGlzIHN5bmNocm9uaXplZCB3aXRoIERPTSBMZXZlbDEgdmFsdWVzCisgICAgICAqICAgICAgIFNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtRE9NLUxldmVsLTEvCisgICAgICAqCisgICAgICAqIEFjdHVhbGx5IHRoaXMgaGFkIGRpdmVyZ2VkIGEgYml0LCBhbmQgbm93IFhNTF9ET0NVTUVOVF9UWVBFX05PREUgc2hvdWxkCisgICAgICAqIGJlIGRlcHJlY2F0ZWQgdG8gdXNlIGFuIFhNTF9EVERfTk9ERS4KKworICAgICBkIHhtbEVsZW1lbnRUeXBlICBzICAgICAgICAgICAgIDEwaSAwIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpICAgICAgICAgICBlbnVtCisgICAgIGQgIFhNTF9FTEVNRU5UX05PREUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxCisgICAgIGQgIFhNTF9BVFRSSUJVVEVfTk9ERS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDIKKyAgICAgZCAgWE1MX1RFWFRfTk9ERSAgYyAgICAgICAgICAgICAgICAgICAzCisgICAgIGQgIFhNTF9DREFUQV9TRUNUSU9OX05PREUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA0CisgICAgIGQgIFhNTF9FTlRJVFlfUkVGX05PREUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1CisgICAgIGQgIFhNTF9FTlRJVFlfTk9ERS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDYKKyAgICAgZCAgWE1MX1BJX05PREUgICAgYyAgICAgICAgICAgICAgICAgICA3CisgICAgIGQgIFhNTF9DT01NRU5UX05PREUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA4CisgICAgIGQgIFhNTF9ET0NVTUVOVF9OT0RFLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgOQorICAgICBkICBYTUxfRE9DVU1FTlRfVFlQRV9OT0RFLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTAKKyAgICAgZCAgWE1MX0RPQ1VNRU5UX0ZSQUdfTk9ERS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDExCisgICAgIGQgIFhNTF9OT1RBVElPTl9OT0RFLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTIKKyAgICAgZCAgWE1MX0hUTUxfRE9DVU1FTlRfTk9ERS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEzCisgICAgIGQgIFhNTF9EVERfTk9ERSAgIGMgICAgICAgICAgICAgICAgICAgMTQKKyAgICAgZCAgWE1MX0VMRU1FTlRfREVDTC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE1CisgICAgIGQgIFhNTF9BVFRSSUJVVEVfREVDTC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE2CisgICAgIGQgIFhNTF9FTlRJVFlfREVDTC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE3CisgICAgIGQgIFhNTF9OQU1FU1BBQ0VfREVDTC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE4CisgICAgIGQgIFhNTF9MT0NBTF9OQU1FU1BBQ0UuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWxpYXMKKyAgICAgZCAgWE1MX1hJTkNMVURFX1NUQVJULi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTkKKyAgICAgZCAgWE1MX1hJTkNMVURFX0VORC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDIwCisgICAgICAvaWYgZGVmaW5lZChMSUJYTUxfRE9DQl9FTkFCTEVEKQorICAgICBkICBYTUxfRE9DQl9ET0NVTUVOVF9OT0RFLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMjEKKyAgICAgIC9lbmRpZgorCisgICAgICAqIHhtbE5vdGF0aW9uOgorICAgICAgKgorICAgICAgKiBBIERURCBOb3RhdGlvbiBkZWZpbml0aW9uLgorCisgICAgIGQgeG1sTm90YXRpb25QdHIgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKworICAgICBkIHhtbE5vdGF0aW9uICAgICBkcyAgICAgICAgICAgICAgICAgIGJhc2VkKHhtbE5vdGF0aW9uUHRyKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduIHF1YWxpZmllZAorICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgUHVibGljSUQgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIFN5c3RlbUlEICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgICAqIHhtbEF0dHJpYnV0ZVR5cGU6CisgICAgICAqCisgICAgICAqIEEgRFREIEF0dHJpYnV0ZSB0eXBlIGRlZmluaXRpb24uCisKKyAgICAgZCB4bWxBdHRyaWJ1dGVUeXBlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgMTBpIDAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykgICAgICAgICAgIGVudW0KKyAgICAgZCAgWE1MX0FUVFJJQlVURV9DREFUQS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEKKyAgICAgZCAgWE1MX0FUVFJJQlVURV9JRC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDIKKyAgICAgZCAgWE1MX0FUVFJJQlVURV9JRFJFRi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMKKyAgICAgZCAgWE1MX0FUVFJJQlVURV9JRFJFRlMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA0CisgICAgIGQgIFhNTF9BVFRSSUJVVEVfRU5USVRZLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNQorICAgICBkICBYTUxfQVRUUklCVVRFX0VOVElUSUVTLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNgorICAgICBkICBYTUxfQVRUUklCVVRFX05NVE9LRU4uLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA3CisgICAgIGQgIFhNTF9BVFRSSUJVVEVfTk1UT0tFTlMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA4CisgICAgIGQgIFhNTF9BVFRSSUJVVEVfRU5VTUVSQVRJT04uLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA5CisgICAgIGQgIFhNTF9BVFRSSUJVVEVfTk9UQVRJT04uLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMAorCisgICAgICAqIHhtbEF0dHJpYnV0ZURlZmF1bHQ6CisgICAgICAqCisgICAgICAqIEEgRFREIEF0dHJpYnV0ZSBkZWZhdWx0IGRlZmluaXRpb24uCisKKyAgICAgZCB4bWxBdHRyaWJ1dGVEZWZhdWx0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgMTBpIDAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykgICAgICAgICAgIGVudW0KKyAgICAgZCAgWE1MX0FUVFJJQlVURV9OT05FLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMQorICAgICBkICBYTUxfQVRUUklCVVRFX1JFUVVJUkVELi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMgorICAgICBkICBYTUxfQVRUUklCVVRFX0lNUExJRUQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzCisgICAgIGQgIFhNTF9BVFRSSUJVVEVfRklYRUQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA0CisKKyAgICAgICogeG1sRW51bWVyYXRpb246CisgICAgICAqCisgICAgICAqIExpc3Qgc3RydWN0dXJlIHVzZWQgd2hlbiB0aGVyZSBpcyBhbiBlbnVtZXJhdGlvbiBpbiBEVERzLgorCisgICAgIGQgeG1sRW51bWVyYXRpb25QdHIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorCisgICAgIGQgeG1sRW51bWVyYXRpb24gIGRzICAgICAgICAgICAgICAgICAgYmFzZWQoeG1sRW51bWVyYXRpb25QdHIpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24gcXVhbGlmaWVkCisgICAgIGQgIG5leHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxFbnVtZXJhdGlvblB0cikgICAgICAgICAgICAgIE5leHQgb25lCisgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgICAqIEZvcndhcmQgcG9pbnRlciBkZWNsYXJhdGlvbnMuCisKKyAgICAgZCB4bWxOb2RlUHRyICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorICAgICBkIHhtbERvY1B0ciAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisgICAgIGQgeG1sRHRkUHRyICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKworICAgICAgKiB4bWxBdHRyaWJ1dGU6CisgICAgICAqCisgICAgICAqIEFuIEF0dHJpYnV0ZSBkZWNsYXJhdGlvbiBpbiBhIERURC4KKworICAgICBkIHhtbEF0dHJpYnV0ZVB0ci4uLgorICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisKKyAgICAgZCB4bWxBdHRyaWJ1dGUgICAgZHMgICAgICAgICAgICAgICAgICBiYXNlZCh4bWxBdHRyaWJ1dGVQdHIpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24gcXVhbGlmaWVkCisgICAgIGQgICNwcml2YXRlICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFwcGxpY2F0aW9uIGRhdGEKKyAgICAgZCAgdHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEVsZW1lbnRUeXBlKSAgICAgICAgICAgICAgICAgWE1MX0FUVFJJQlVURV9ERUNMCisgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBjaGlsZHJlbiAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikgICAgICAgICAgICAgICAgICAgICBOVUxMCisgICAgIGQgIGxhc3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKSAgICAgICAgICAgICAgICAgICAgIE5VTEwKKyAgICAgZCAgcGFyZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbER0ZFB0cikgICAgICAgICAgICAgICAgICAgICAgLT4gRFRECisgICAgIGQgIG5leHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKSAgICAgICAgICAgICAgICAgICAgIG5leHQgc2libGluZyBsaW5rCisgICAgIGQgIHByZXYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKSAgICAgICAgICAgICAgICAgICAgIHByZXZpb3VzIHNpYmxpbmcgbG5rCisgICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxEb2NQdHIpICAgICAgICAgICAgICAgICAgICAgIFRoZSBjb250YWluaW5nIGRvYworICAgICBkICBuZXh0aCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQXR0cmlidXRlUHRyKSAgICAgICAgICAgICAgICBOZXh0IGluIGhhc2ggdGFibGUKKyAgICAgZCAgYXR5cGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEF0dHJpYnV0ZVR5cGUpICAgICAgICAgICAgICAgVGhlIGF0dHJpYnV0ZSB0eXBlCisgICAgIGQgIGRlZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxBdHRyaWJ1dGVEZWZhdWx0KSAgICAgICAgICAgIFRoZSBkZWZhdWx0CisgICAgIGQgIGRlZmF1bHRWYWx1ZSAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yIGNvbnN0IHhtbENoYXIgKgorICAgICBkICB0cmVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRW51bWVyYXRpb25QdHIpICAgICAgICAgICAgICBvciBlbnVtIHRyZWUKKyAgICAgZCAgcHJlZml4ICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIGVsZW0gICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgICAqIHhtbEVsZW1lbnRDb250ZW50VHlwZToKKyAgICAgICoKKyAgICAgICogUG9zc2libGUgZGVmaW5pdGlvbnMgb2YgZWxlbWVudCBjb250ZW50IHR5cGVzLgorCisgICAgIGQgeG1sRWxlbWVudENvbnRlbnRUeXBlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgMTBpIDAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykgICAgICAgICAgIGVudW0KKyAgICAgZCAgWE1MX0VMRU1FTlRfQ09OVEVOVF9QQ0RBVEEuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxCisgICAgIGQgIFhNTF9FTEVNRU5UX0NPTlRFTlRfRUxFTUVOVC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDIKKyAgICAgZCAgWE1MX0VMRU1FTlRfQ09OVEVOVF9TRVEuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzCisgICAgIGQgIFhNTF9FTEVNRU5UX0NPTlRFTlRfT1IuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA0CisKKyAgICAgICogeG1sRWxlbWVudENvbnRlbnRPY2N1cjoKKyAgICAgICoKKyAgICAgICogUG9zc2libGUgZGVmaW5pdGlvbnMgb2YgZWxlbWVudCBjb250ZW50IG9jY3VycmVuY2VzLgorCisgICAgIGQgeG1sRWxlbWVudENvbnRlbnRPY2N1ci4uLgorICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgIDEwaSAwIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpICAgICAgICAgICBlbnVtCisgICAgIGQgIFhNTF9FTEVNRU5UX0NPTlRFTlRfT05DRS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEKKyAgICAgZCAgWE1MX0VMRU1FTlRfQ09OVEVOVF9PUFQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAyCisgICAgIGQgIFhNTF9FTEVNRU5UX0NPTlRFTlRfTVVMVC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMKKyAgICAgZCAgWE1MX0VMRU1FTlRfQ09OVEVOVF9QTFVTLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNAorCisgICAgICAqIHhtbEVsZW1lbnRDb250ZW50OgorICAgICAgKgorICAgICAgKiBBbiBYTUwgRWxlbWVudCBjb250ZW50IGFzIHN0b3JlZCBhZnRlciBwYXJzaW5nIGFuIGVsZW1lbnQgZGVmaW5pdGlvbgorICAgICAgKiBpbiBhIERURC4KKworICAgICBkIHhtbEVsZW1lbnRDb250ZW50UHRyLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKworICAgICBkIHhtbEVsZW1lbnRDb250ZW50Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIGRzICAgICAgICAgICAgICAgICAgYmFzZWQoeG1sRWxlbWVudENvbnRlbnRQdHIpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24gcXVhbGlmaWVkCisgICAgIGQgIHR5cGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxFbGVtZW50Q29udGVudFR5cGUpCisgICAgIGQgIG9jdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxFbGVtZW50Q29udGVudE9jY3VyKQorICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgYzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEVsZW1lbnRDb250ZW50UHRyKSAgICAgICAgICAgRmlyc3QgY2hpbGQKKyAgICAgZCAgYzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEVsZW1lbnRDb250ZW50UHRyKSAgICAgICAgICAgU2Vjb25kIGNoaWxkCisgICAgIGQgIHBhcmVudCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxFbGVtZW50Q29udGVudFB0cikgICAgICAgICAgIFBhcmVudAorICAgICBkICBwcmVmaXggICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICAgKiB4bWxFbGVtZW50VHlwZVZhbDoKKyAgICAgICoKKyAgICAgICogVGhlIGRpZmZlcmVudCBwb3NzaWJpbGl0aWVzIGZvciBhbiBlbGVtZW50IGNvbnRlbnQgdHlwZS4KKworICAgICBkIHhtbEVsZW1lbnRUeXBlVmFsLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgMTBpIDAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykgICAgICAgICAgIGVudW0KKyAgICAgZCAgWE1MX0VMRU1FTlRfVFlQRV9VTkRFRklORUQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAwCisgICAgIGQgIFhNTF9FTEVNRU5UX1RZUEVfRU1QVFkuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxCisgICAgIGQgIFhNTF9FTEVNRU5UX1RZUEVfQU5ZLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMgorICAgICBkICBYTUxfRUxFTUVOVF9UWVBFX01JWEVELi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMworICAgICBkICBYTUxfRUxFTUVOVF9UWVBFX0VMRU1FTlQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA0CisKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1scmVnZXhwIgorCisgICAgICAqIHhtbEVsZW1lbnQ6CisgICAgICAqCisgICAgICAqIEFuIFhNTCBFbGVtZW50IGRlY2xhcmF0aW9uIGZyb20gYSBEVEQuCisKKyAgICAgZCB4bWxFbGVtZW50UHRyICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorCisgICAgIGQgeG1sRWxlbWVudCAgICAgIGRzICAgICAgICAgICAgICAgICAgYmFzZWQoeG1sRWxlbWVudFB0cikKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbiBxdWFsaWZpZWQKKyAgICAgZCAgI3ByaXZhdGUgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXBwbGljYXRpb24gZGF0YQorICAgICBkICB0eXBlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRWxlbWVudFR5cGUpICAgICAgICAgICAgICAgICBYTUxfRUxFTUVOVF9ERUNMCisgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBjaGlsZHJlbiAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikgICAgICAgICAgICAgICAgICAgICBOVUxMCisgICAgIGQgIGxhc3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKSAgICAgICAgICAgICAgICAgICAgIE5VTEwKKyAgICAgZCAgcGFyZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbER0ZFB0cikgICAgICAgICAgICAgICAgICAgICAgLT4gRFRECisgICAgIGQgIG5leHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKSAgICAgICAgICAgICAgICAgICAgIG5leHQgc2libGluZyBsaW5rCisgICAgIGQgIHByZXYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKSAgICAgICAgICAgICAgICAgICAgIHByZXZpb3VzIHNpYmxpbmcgbG5rCisgICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxEb2NQdHIpICAgICAgICAgICAgICAgICAgICAgIFRoZSBjb250YWluaW5nIGRvYworICAgICBkICBldHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRWxlbWVudFR5cGVWYWwpICAgICAgICAgICAgICBUaGUgdHlwZQorICAgICBkICBjb250ZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRWxlbWVudENvbnRlbnRQdHIpICAgICAgICAgICBBbGxvd2VkIGVsZW0gY29udGVudAorICAgICBkICBhdHRyaWJ1dGVzICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQXR0cmlidXRlUHRyKSAgICAgICAgICAgICAgICBEZWNsYXJlZCBhdHRyaWJ1dGVzCisgICAgIGQgIHByZWZpeCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICAgL2lmIGRlZmluZWQoTElCWE1MX1JFR0VYUF9FTkFCTEVEKQorICAgICBkICBjb250TW9kZWwgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sUmVnZXhwUHRyKSAgICAgICAgICAgICAgICAgICBWYWxpZGF0aW5nIHJlZ2V4cAorICAgICAgL2Vsc2UKKyAgICAgZCAgY29udE1vZGVsICAgICAgICAgICAgICAgICAgICAgICoKKyAgICAgIC9lbmRpZgorCisgICAgICAqIFhNTF9MT0NBTF9OQU1FU1BBQ0U6CisgICAgICAqCisgICAgICAqIEEgbmFtZXNwYWNlIGRlY2xhcmF0aW9uIG5vZGUuCisKKyAgICAgICogeG1sTnM6CisgICAgICAqCisgICAgICAqIEFuIFhNTCBuYW1lc3BhY2UuCisgICAgICAqIE5vdGUgdGhhdCBwcmVmaXggPT0gTlVMTCBpcyB2YWxpZCwgaXQgZGVmaW5lcyB0aGUgZGVmYXVsdCBuYW1lc3BhY2UKKyAgICAgICogd2l0aGluIHRoZSBzdWJ0cmVlICh1bnRpbCBvdmVycmlkZGVuKS4KKyAgICAgICoKKyAgICAgICogeG1sTnNUeXBlIGlzIHVuaWZpZWQgd2l0aCB4bWxFbGVtZW50VHlwZS4KKworICAgICBkIHhtbE5zVHlwZSAgICAgICBzICAgICAgICAgICAgICAgICAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpICAgICAgICAgICBlbnVtCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxFbGVtZW50VHlwZSkKKworICAgICBkIHhtbE5zUHRyICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisKKyAgICAgZCB4bWxOcyAgICAgICAgICAgZHMgICAgICAgICAgICAgICAgICBiYXNlZCh4bWxOc1B0cikKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbiBxdWFsaWZpZWQKKyAgICAgZCAgbmV4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5zUHRyKSAgICAgICAgICAgICAgICAgICAgICAgbmV4dCBOcyBsaW5rCisgICAgIGQgIHR5cGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOc1R5cGUpICAgICAgICAgICAgICAgICAgICAgIEdsb2JhbCBvciBsb2NhbAorICAgICBkICBocmVmICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgcHJlZml4ICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgICNwcml2YXRlICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFwcGxpY2F0aW9uIGRhdGEKKyAgICAgZCAgY29udGV4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbERvY1B0cikgICAgICAgICAgICAgICAgICAgICAgbm9ybWFsbHkgYW4geG1sRG9jCisKKyAgICAgICogeG1sRHRkOgorICAgICAgKgorICAgICAgKiBBbiBYTUwgRFRELCBhcyBkZWZpbmVkIGJ5IDwhRE9DVFlQRSAuLi4gVGhlcmUgaXMgYWN0dWFsbHkgb25lIGZvcgorICAgICAgKiB0aGUgaW50ZXJuYWwgc3Vic2V0IGFuZCBmb3IgdGhlIGV4dGVybmFsIHN1YnNldC4KKworICAgICBkIHhtbER0ZCAgICAgICAgICBkcyAgICAgICAgICAgICAgICAgIGJhc2VkKHhtbER0ZFB0cikKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbiBxdWFsaWZpZWQKKyAgICAgZCAgI3ByaXZhdGUgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXBwbGljYXRpb24gZGF0YQorICAgICBkICB0eXBlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRWxlbWVudFR5cGUpICAgICAgICAgICAgICAgICBYTUxfRFREX05PREUKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIGNoaWxkcmVuICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKSAgICAgICAgICAgICAgICAgICAgIFByb3BlcnR5IGxpbmsgdmFsdWUKKyAgICAgZCAgbGFzdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpICAgICAgICAgICAgICAgICAgICAgTGFzdCBjaGlsZCBsaW5rCisgICAgIGQgIHBhcmVudCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxEb2NQdHIpICAgICAgICAgICAgICAgICAgICAgIENoaWxkLT5wYXJlbnQgbGluaworICAgICBkICBuZXh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikgICAgICAgICAgICAgICAgICAgICBuZXh0IHNpYmxpbmcgbGluaworICAgICBkICBwcmV2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikgICAgICAgICAgICAgICAgICAgICBwcmV2aW91cyBzaWJsaW5nIGxuaworICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRG9jUHRyKSAgICAgICAgICAgICAgICAgICAgICBUaGUgY29udGFpbmluZyBkb2MKKyAgICAgZCAgbm90YXRpb25zICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90YXRpb25zIGhhc2ggdGFibGUKKyAgICAgZCAgZWxlbWVudHMgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudHMgaGFzaCB0YWJsZQorICAgICBkICBlbnRpdGllcyAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnRpdGllcyBoYXNoIHRhYmxlCisgICAgIGQgIEV4dGVybmFsSUQgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBTeXN0ZW1JRCAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgcGVudGl0aWVzICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW0uIGVudC4gaCB0YWJsZQorCisgICAgICAqIHhtbEF0dHI6CisgICAgICAqCisgICAgICAqIEFuIGF0dHJpYnV0ZSBvbiBhbiBYTUwgbm9kZS4KKworICAgICBkIHhtbEF0dHJQdHIgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisKKyAgICAgZCB4bWxBdHRyICAgICAgICAgZHMgICAgICAgICAgICAgICAgICBiYXNlZCh4bWxBdHRyUHRyKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduIHF1YWxpZmllZAorICAgICBkICAjcHJpdmF0ZSAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBcHBsaWNhdGlvbiBkYXRhCisgICAgIGQgIHR5cGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxFbGVtZW50VHlwZSkgICAgICAgICAgICAgICAgIFhNTF9BVFRSSUJVVEVfTk9ERQorICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgY2hpbGRyZW4gICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpICAgICAgICAgICAgICAgICAgICAgUHJvcGVydHkgbGluayB2YWx1ZQorICAgICBkICBsYXN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikgICAgICAgICAgICAgICAgICAgICBOVUxMCisgICAgIGQgIHBhcmVudCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKSAgICAgICAgICAgICAgICAgICAgIENoaWxkLT5wYXJlbnQgbGluaworICAgICBkICBuZXh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQXR0clB0cikgICAgICAgICAgICAgICAgICAgICBuZXh0IHNpYmxpbmcgbGluaworICAgICBkICBwcmV2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQXR0clB0cikgICAgICAgICAgICAgICAgICAgICBwcmV2aW91cyBzaWJsaW5nIGxuaworICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRG9jUHRyKSAgICAgICAgICAgICAgICAgICAgICBUaGUgY29udGFpbmluZyBkb2MKKyAgICAgZCAgbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5zUHRyKSAgICAgICAgICAgICAgICAgICAgICAgQXNzb2NpYXRlZCBuYW1lc3BhY2UKKyAgICAgZCAgYXR5cGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEF0dHJpYnV0ZVR5cGUpICAgICAgICAgICAgICAgRm9yIHZhbGlkYXRpb24KKyAgICAgZCAgcHN2aSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVHlwZS9QU1ZJIGluZm8KKworICAgICAgKiB4bWxJRDoKKyAgICAgICoKKyAgICAgICogQW4gWE1MIElEIGluc3RhbmNlLgorCisgICAgIGQgeG1sSWRQdHIgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKworICAgICBkIHhtbElEICAgICAgICAgICBkcyAgICAgICAgICAgICAgICAgIGJhc2VkKHhtbElkUHRyKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduIHF1YWxpZmllZAorICAgICBkICBuZXh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sSWRQdHIpICAgICAgICAgICAgICAgICAgICAgICBOZXh0IElECisgICAgIGQgIGF0dHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxBdHRyUHRyKSAgICAgICAgICAgICAgICAgICAgIEF0dHJpYnV0ZSBob2xkaW5nIGl0CisgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBsaW5lbm8gICAgICAgICAgICAgICAgICAgICAgIDEwaSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaW5lICMgaWYgbm90IGF2YWlsCisgICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxEb2NQdHIpICAgICAgICAgICAgICAgICAgICAgIERvYyBob2xkaW5nIElECisKKyAgICAgICogeG1sUmVmOgorICAgICAgKgorICAgICAgKiBBbiBYTUwgSURSRUYgaW5zdGFuY2UuCisKKyAgICAgZCB4bWxSZWZQdHIgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorCisgICAgIGQgeG1sUmVmICAgICAgICAgIGRzICAgICAgICAgICAgICAgICAgYmFzZWQoeG1sUmVmUHRyKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduIHF1YWxpZmllZAorICAgICBkICBuZXh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sUmVmUHRyKSAgICAgICAgICAgICAgICAgICAgICBOZXh0IFJlZgorICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgYXR0ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEF0dHJQdHIpICAgICAgICAgICAgICAgICAgICAgQXR0cmlidXRlIGhvbGRpbmcgaXQKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIGxpbmVubyAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpbmUgIyBpZiBub3QgYXZhaWwKKworICAgICAgKiB4bWxOb2RlOgorICAgICAgKgorICAgICAgKiBBIG5vZGUgaW4gYW4gWE1MIHRyZWUuCisKKyAgICAgZCB4bWxOb2RlICAgICAgICAgZHMgICAgICAgICAgICAgICAgICBiYXNlZCh4bWxOb2RlUHRyKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduIHF1YWxpZmllZAorICAgICBkICAjcHJpdmF0ZSAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBcHBsaWNhdGlvbiBkYXRhCisgICAgIGQgIHR5cGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxFbGVtZW50VHlwZSkKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIGNoaWxkcmVuICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKSAgICAgICAgICAgICAgICAgICAgIFBhcmVudC0+Y2hpbGRyZW4gbG5rCisgICAgIGQgIGxhc3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKSAgICAgICAgICAgICAgICAgICAgIExhc3QgY2hpbGQgbGluaworICAgICBkICBwYXJlbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikgICAgICAgICAgICAgICAgICAgICBDaGlsZC0+cGFyZW50IGxpbmsKKyAgICAgZCAgbmV4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpICAgICAgICAgICAgICAgICAgICAgbmV4dCBzaWJsaW5nIGxpbmsKKyAgICAgZCAgcHJldiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpICAgICAgICAgICAgICAgICAgICAgcHJldmlvdXMgc2libGluZyBsbmsKKyAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbERvY1B0cikgICAgICAgICAgICAgICAgICAgICAgVGhlIGNvbnRhaW5pbmcgZG9jCisgICAgIGQgIG5zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOc1B0cikgICAgICAgICAgICAgICAgICAgICAgIEFzc29jaWF0ZWQgbmFtZXNwYWNlCisgICAgIGQgIGNvbnRlbnQgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbENoYXIgKgorICAgICBkICBwcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQXR0clB0cikgICAgICAgICAgICAgICAgICAgICBQcm9wZXJ0aWVzIGxpc3QKKyAgICAgZCAgbnNEZWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5zUHRyKSAgICAgICAgICAgICAgICAgICAgICAgTm9kZSBucyBkZWZpbml0aW9ucworICAgICBkICBwc3ZpICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUeXBlL1BTVkkgaW5mbworICAgICBkICBsaW5lICAgICAgICAgICAgICAgICAgICAgICAgICA1dSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaW5lIG51bWJlcgorICAgICBkICBleHRyYSAgICAgICAgICAgICAgICAgICAgICAgICA1dSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEYXRhIGZvciBYUGF0aC9YU0xUCisKKyAgICAgICogeG1sRG9jUHJvcGVydHkKKyAgICAgICoKKyAgICAgICogU2V0IG9mIHByb3BlcnRpZXMgb2YgdGhlIGRvY3VtZW50IGFzIGZvdW5kIGJ5IHRoZSBwYXJzZXIKKyAgICAgICogU29tZSBvZiB0aGVtIGFyZSBsaW5rZWQgdG8gc2ltaWxhcnkgbmFtZWQgeG1sUGFyc2VyT3B0aW9uCisKKyAgICAgZCB4bWxEb2NQcm9wZXJ0aWVzLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgMTBpIDAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykgICAgICAgICAgIGVudW0KKyAgICAgZCAgWE1MX0RPQ19XRUxMRk9STUVELi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDAwMDAwMScKKyAgICAgZCAgWE1MX0RPQ19OU1ZBTElELi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDAwMDAwMicKKyAgICAgZCAgWE1MX0RPQ19PTEQxMCAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDAwMDA0JworICAgICBkICBYTUxfRE9DX0RURFZBTElELi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDAwMDAwOCcKKyAgICAgZCAgWE1MX0RPQ19YSU5DTFVERS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMDAwMTAnCisgICAgIGQgIFhNTF9ET0NfVVNFUkJVSUxULi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDAwMDAyMCcKKyAgICAgZCAgWE1MX0RPQ19JTlRFUk5BTC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMDAwMzAnCisgICAgIGQgIFhNTF9ET0NfSFRNTCAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDAwMDA4MCcKKworICAgICAgKiB4bWxEb2M6CisgICAgICAqCisgICAgICAqIEFuIFhNTCBkb2N1bWVudC4KKworICAgICBkIHhtbERvYyAgICAgICAgICBkcyAgICAgICAgICAgICAgICAgIGJhc2VkKHhtbERvY1B0cikKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbiBxdWFsaWZpZWQKKyAgICAgZCAgI3ByaXZhdGUgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXBwbGljYXRpb24gZGF0YQorICAgICBkICB0eXBlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRWxlbWVudFR5cGUpICAgICAgICAgICAgICAgICBYTUxfRE9DVU1FTlRfTk9ERQorICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgY2hpbGRyZW4gICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpICAgICAgICAgICAgICAgICAgICAgVGhlIGRvY3VtZW50IHRyZWUKKyAgICAgZCAgbGFzdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpICAgICAgICAgICAgICAgICAgICAgTGFzdCBjaGlsZCBsaW5rCisgICAgIGQgIHBhcmVudCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKSAgICAgICAgICAgICAgICAgICAgIENoaWxkLT5wYXJlbnQgbGluaworICAgICBkICBuZXh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikgICAgICAgICAgICAgICAgICAgICBuZXh0IHNpYmxpbmcgbGluaworICAgICBkICBwcmV2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikgICAgICAgICAgICAgICAgICAgICBwcmV2aW91cyBzaWJsaW5nIGxuaworICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRG9jUHRyKSAgICAgICAgICAgICAgICAgICAgICBSZWZlcmVuY2UgdG8gaXRzZWxmCisgICAgIGQgIGNvbXByZXNzaW9uICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHpsaWIgY29tcHJlc3Npb24gbGV2CisgICAgIGQgIHN0YW5kYWxvbmUgICAgICAgICAgICAgICAgICAgMTBpIDAKKyAgICAgZCAgaW50U3Vic2V0ICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbER0ZFB0cikgICAgICAgICAgICAgICAgICAgICAgSW50ZXJuYWwgc3Vic2V0CisgICAgIGQgIGV4dFN1YnNldCAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxEdGRQdHIpICAgICAgICAgICAgICAgICAgICAgIEV4dGVybmFsIHN1YnNldAorICAgICBkICBvbGRucyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTnNQdHIpICAgICAgICAgICAgICAgICAgICAgICBHbG9iYWwgbmFtZXNwYWNlCisgICAgIGQgIHZlcnNpb24gICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgaWRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSURzIGhhc2ggdGFibGUKKyAgICAgZCAgcmVmcyAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSURSRUZzIGhhc2ggdGFibGUKKyAgICAgZCAgVVJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIGNoYXJzZXQgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEluLW1lbW9yeSBlbmNvZGluZworICAgICBkICBkaWN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxEaWN0UHRyIGZvciBuYW1lcworICAgICBkICBwc3ZpICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUeXBlL1BTVkkgaW5vCisgICAgIGQgIHBhcnNlRmxhZ3MgICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFBhcnNlck9wdGlvbidzCisgICAgIGQgIHByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbERvY1Byb3BlcnRpZXMKKworICAgICAgKiB4bWxET01XcmFwQWNxdWlyZU5zRnVuY3Rpb246CisgICAgICAqIEBjdHh0OiAgYSBET00gd3JhcHBlciBjb250ZXh0CisgICAgICAqIEBub2RlOiAgdGhlIGNvbnRleHQgbm9kZSAoZWxlbWVudCBvciBhdHRyaWJ1dGUpCisgICAgICAqIEBuc05hbWU6ICB0aGUgcmVxdWVzdGVkIG5hbWVzcGFjZSBuYW1lCisgICAgICAqIEBuc1ByZWZpeDogIHRoZSByZXF1ZXN0ZWQgbmFtZXNwYWNlIHByZWZpeAorICAgICAgKgorICAgICAgKiBBIGZ1bmN0aW9uIGNhbGxlZCB0byBhY3F1aXJlIG5hbWVzcGFjZXMgKHhtbE5zKSBmcm9tIHRoZSB3cmFwcGVyLgorICAgICAgKgorICAgICAgKiBSZXR1cm5zIGFuIHhtbE5zUHRyIG9yIE5VTEwgaW4gY2FzZSBvZiBhbiBlcnJvci4KKworICAgICBkIHhtbERPTVdyYXBBY3F1aXJlTnNGdW5jdGlvbi4uLgorICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY3B0cgorCisgICAgICAqIHhtbERPTVdyYXBDdHh0OgorICAgICAgKgorICAgICAgKiBDb250ZXh0IGZvciBET00gd3JhcHBlci1vcGVyYXRpb25zLgorCisgICAgIGQgeG1sRE9NV3JhcEN0eHRQdHIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorCisgICAgIGQgeG1sRE9NV3JhcEN0eHQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgZHMgICAgICAgICAgICAgICAgICBiYXNlZCh4bWxET01XcmFwQ3R4dFB0cikKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbiBxdWFsaWZpZWQKKyAgICAgZCAgI3ByaXZhdGUgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCisgICAgIGQgIHR5cGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAKKyAgICAgZCAgbmFtZXNwYWNlTWFwICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCisgICAgIGQgIGdldE5zRm9yTm9kZUZ1bmMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbERPTVdyYXBBY3F1aXJlTnNGdW5jdGlvbikKKworCisgICAgICAqIFZhcmlhYmxlcy4KKworICAgICAgKiBTb21lIGhlbHBlciBmdW5jdGlvbnMKKworICAgICAgL3VuZGVmaW5lIFhNTF9URVNUVkFMCisgICAgICAvaWYgZGVmaW5lZChMSUJYTUxfVFJFRV9FTkFCTEVEKQorICAgICAgL2RlZmluZSBYTUxfVEVTVFZBTAorICAgICAgL2Vsc2VpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorICAgICAgL2RlZmluZSBYTUxfVEVTVFZBTAorICAgICAgL2Vsc2VpZiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisgICAgICAvZGVmaW5lIFhNTF9URVNUVkFMCisgICAgICAvZWxzZWlmIGRlZmluZWQoTElCWE1MX0RFQlVHX0VOQUJMRUQpCisgICAgICAvZGVmaW5lIFhNTF9URVNUVkFMCisgICAgICAvZWxzZWlmIGRlZmluZWQoTElCWE1MX0hUTUxfRU5BQkxFRCkKKyAgICAgIC9kZWZpbmUgWE1MX1RFU1RWQUwKKyAgICAgIC9lbHNlaWYgZGVmaW5lZChMSUJYTUxfU0FYMV9FTkFCTEVEKQorICAgICAgL2RlZmluZSBYTUxfVEVTVFZBTAorICAgICAgL2Vsc2VpZiBkZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpCisgICAgICAvZGVmaW5lIFhNTF9URVNUVkFMCisgICAgICAvZWxzZWlmIGRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKQorICAgICAgL2RlZmluZSBYTUxfVEVTVFZBTAorICAgICAgL2Vsc2VpZiBkZWZpbmVkKExJQlhNTF9ET0NCX0VOQUJMRUQpCisgICAgICAvZGVmaW5lIFhNTF9URVNUVkFMCisgICAgICAvZW5kaWYKKyAgICAgIC9pZiBkZWZpbmVkKFhNTF9URVNUVkFMKQorICAgICBkIHhtbFZhbGlkYXRlTkNOYW1lLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVmFsaWRhdGVOQ05hbWUnKQorICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgc3BhY2UgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgICAvdW5kZWZpbmUgWE1MX1RFU1RWQUwKKyAgICAgIC9lbmRpZgorCisgICAgICAvaWYgZGVmaW5lZChMSUJYTUxfVFJFRV9FTkFCTEVEKQorICAgICAgL2RlZmluZSBYTUxfVEVTVFZBTAorICAgICAgL2Vsc2VpZiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisgICAgICAvZGVmaW5lIFhNTF9URVNUVkFMCisgICAgICAvZW5kaWYKKyAgICAgIC9pZiBkZWZpbmVkKFhNTF9URVNUVkFMKQorICAgICBkIHhtbFZhbGlkYXRlUU5hbWUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxWYWxpZGF0ZVFOYW1lJykKKyAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIHNwYWNlICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFZhbGlkYXRlTmFtZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFZhbGlkYXRlTmFtZScpCisgICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBzcGFjZSAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxWYWxpZGF0ZU5NVG9rZW4uLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxWYWxpZGF0ZU5NVG9rZW4nKQorICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgc3BhY2UgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgICAvdW5kZWZpbmUgWE1MX1RFU1RWQUwKKyAgICAgIC9lbmRpZgorCisgICAgIGQgeG1sQnVpbGRRTmFtZSAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sQnVpbGRRTmFtZScpICAgICAgICAgICAgIHhtbENoYXIgKgorICAgICBkICBuY25hbWUgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgcHJlZml4ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIG1lbW9yeSAgICAgICAgICAgICAgICAgICAgNjU1MzUgICAgb3B0aW9ucygqdmFyc2l6ZTogKm9taXQpICAgICAgICAgICAgIHhtbENoYXJbXQorICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZW1vcnkgbGVuZ3RoCisKKyAgICAgZCB4bWxTcGxpdFFOYW1lMiAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxTcGxpdFFOYW1lMicpICAgICAgICAgICAgeG1sQ2hhciAqCisgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBwcmVmaXggICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxDaGFyICoKKworICAgICBkIHhtbFNwbGl0UU5hbWUzICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbFNwbGl0UU5hbWUzJykgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAKKworICAgICAgKiBIYW5kbGluZyBCdWZmZXJzLCB0aGUgb2xkIG9uZXMgc2VlIEB4bWxCdWYgZm9yIHRoZSBuZXcgb25lcy4KKworICAgICBkIHhtbFNldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sU2V0QnVmZmVyQWxsb2NhdGlvblNjaGVtZScpCisgICAgIGQgIHNjaGVtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUpCisKKyAgICAgZCB4bWxHZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbEdldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQnVmZmVyQWxsb2NhdGlvblNjaGVtZSkKKworICAgICBkIHhtbEJ1ZmZlckNyZWF0ZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEJ1ZmZlckNyZWF0ZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxCdWZmZXJQdHIpCisKKyAgICAgZCB4bWxCdWZmZXJDcmVhdGVTaXplLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQnVmZmVyQ3JlYXRlU2l6ZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxCdWZmZXJQdHIpCisgICAgIGQgIHNpemUgICAgICAgICAgICAgICAgICAgICAgICAgMTB1IDAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdAorCisgICAgIGQgeG1sQnVmZmVyQ3JlYXRlU3RhdGljLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQnVmZmVyQ3JlYXRlU3RhdGljJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEJ1ZmZlclB0cikKKyAgICAgZCAgbWVtICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZQorICAgICBkICBzaXplICAgICAgICAgICAgICAgICAgICAgICAgIDEwdSAwIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QKKworICAgICBkIHhtbEJ1ZmZlclJlc2l6ZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbEJ1ZmZlclJlc2l6ZScpCisgICAgIGQgIGJ1ZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxCdWZmZXJQdHIpCisgICAgIGQgIHNpemUgICAgICAgICAgICAgICAgICAgICAgICAgMTB1IDAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdAorCisgICAgIGQgeG1sQnVmZmVyRnJlZSAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQnVmZmVyRnJlZScpCisgICAgIGQgIGJ1ZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxCdWZmZXJQdHIpCisKKyAgICAgZCB4bWxCdWZmZXJEdW1wICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxCdWZmZXJEdW1wJykKKyAgICAgZCAgZmlsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRklMRSAqCisgICAgIGQgIGJ1ZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxCdWZmZXJQdHIpCisKKyAgICAgZCB4bWxCdWZmZXJBZGQgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxCdWZmZXJBZGQnKQorICAgICBkICBidWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQnVmZmVyUHRyKQorICAgICBkICBzdHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyIGxlbmd0aAorCisgICAgIGQgeG1sQnVmZmVyQWRkSGVhZC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbEJ1ZmZlckFkZEhlYWQnKQorICAgICBkICBidWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQnVmZmVyUHRyKQorICAgICBkICBzdHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyIGxlbmd0aAorCisgICAgIGQgeG1sQnVmZmVyQ2F0ICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sQnVmZmVyQ2F0JykKKyAgICAgZCAgYnVmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEJ1ZmZlclB0cikKKyAgICAgZCAgc3RyICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgZCB4bWxCdWZmZXJDQ2F0ICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxCdWZmZXJDQ2F0JykKKyAgICAgZCAgYnVmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEJ1ZmZlclB0cikKKyAgICAgZCAgc3RyICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisKKyAgICAgZCB4bWxCdWZmZXJTaHJpbmsuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxCdWZmZXJTaHJpbmsnKQorICAgICBkICBidWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQnVmZmVyUHRyKQorICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgIDEwdSAwIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIgbGVuZ3RoCisKKyAgICAgZCB4bWxCdWZmZXJHcm93ICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxCdWZmZXJHcm93JykKKyAgICAgZCAgYnVmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEJ1ZmZlclB0cikKKyAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAxMHUgMCB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyIGxlbmd0aAorCisgICAgIGQgeG1sQnVmZmVyRW1wdHkgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQnVmZmVyRW1wdHknKQorICAgICBkICBidWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQnVmZmVyUHRyKQorCisgICAgIGQgeG1sQnVmZmVyQ29udGVudC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbEJ1ZmZlckNvbnRlbnQnKSAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgYnVmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEJ1ZmZlclB0cikKKworICAgICBkIHhtbEJ1ZmZlckRldGFjaC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbEJ1ZmZlckRldGFjaCcpICAgICAgICAgICB4bWxDaGFyICoKKyAgICAgZCAgYnVmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEJ1ZmZlclB0cikKKworICAgICBkIHhtbEJ1ZmZlclNldEFsbG9jYXRpb25TY2hlbWUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sQnVmZmVyU2V0QWxsb2NhdGlvblNjaGVtZScpCisgICAgIGQgIGJ1ZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxCdWZmZXJQdHIpCisgICAgIGQgIHNjaGVtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUpCisKKyAgICAgZCB4bWxCdWZmZXJMZW5ndGguLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxCdWZmZXJMZW5ndGgnKQorICAgICBkICBidWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQnVmZmVyUHRyKQorCisgICAgICAqIENyZWF0aW5nL2ZyZWVpbmcgbmV3IHN0cnVjdHVyZXMuCisKKyAgICAgZCB4bWxDcmVhdGVJbnRTdWJzZXQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxDcmVhdGVJbnRTdWJzZXQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRHRkUHRyKQorICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQorICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgRXh0ZXJuYWxJRCAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIFN5c3RlbWxJRCAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgIGQgeG1sTmV3RHRkICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTmV3RHRkJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbER0ZFB0cikKKyAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIEV4dGVybmFsSUQgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBTeXN0ZW1sSUQgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICBkIHhtbEdldEludFN1YnNldC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEdldEludFN1YnNldCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxEdGRQdHIpCisgICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCisKKyAgICAgZCB4bWxGcmVlRHRkICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxGcmVlRHRkJykKKyAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbER0ZFB0cikKKworICAgICAgL2lmIGRlZmluZWQoTElCWE1MX0xFR0FDWV9FTkFCTEVEKQorICAgICBkIHhtbE5ld0dsb2JhbE5zICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5ld0dsb2JhbE5zJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5zUHRyKQorICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQorICAgICBkICBocmVmICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgcHJlZml4ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9MRUdBQ1lfRU5BQkxECisKKyAgICAgZCB4bWxOZXdOcyAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOZXdOcycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOc1B0cikKKyAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisgICAgIGQgIGhyZWYgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBwcmVmaXggICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICBkIHhtbEZyZWVOcyAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEZyZWVOcycpCisgICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOc1B0cikKKworICAgICBkIHhtbEZyZWVOc0xpc3QgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEZyZWVOc0xpc3QnKQorICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTnNQdHIpCisKKyAgICAgZCB4bWxOZXdEb2MgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOZXdEb2MnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRG9jUHRyKQorICAgICBkICB2ZXJzaW9uICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICBkIHhtbEZyZWVEb2MgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEZyZWVEb2MnKQorICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQorCisgICAgIGQgeG1sTmV3RG9jUHJvcCAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTmV3RG9jUHJvcCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxBdHRyUHRyKQorICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpCisgICAgICAvZGVmaW5lIFhNTF9URVNUVkFMCisgICAgICAvZWxzZWlmIGRlZmluZWQoTElCWE1MX0hUTUxfRU5BQkxFRCkKKyAgICAgIC9kZWZpbmUgWE1MX1RFU1RWQUwKKyAgICAgIC9lbHNlaWYgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQorICAgICAgL2RlZmluZSBYTUxfVEVTVFZBTAorICAgICAgL2VuZGlmCisgICAgICAvaWYgZGVmaW5lZChYTUxfVEVTVFZBTCkKKyAgICAgZCB4bWxOZXdQcm9wICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOZXdQcm9wJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEF0dHJQdHIpCisgICAgIGQgIG5vZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQorICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgIC91bmRlZmluZSBYTUxfVEVTVFZBTAorICAgICAgL2VuZGlmCisKKyAgICAgZCB4bWxOZXdOc1Byb3AgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOZXdOc1Byb3AnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQXR0clB0cikKKyAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisgICAgIGQgIG5zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOc1B0cikKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgIGQgeG1sTmV3TnNQcm9wRWF0TmFtZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5ld05zUHJvcEVhdE5hbWUnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQXR0clB0cikKKyAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisgICAgIGQgIG5zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOc1B0cikKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sQ2hhciAqCisgICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgIGQgeG1sRnJlZVByb3BMaXN0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRnJlZVByb3BMaXN0JykKKyAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEF0dHJQdHIpCisKKyAgICAgZCB4bWxGcmVlUHJvcCAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxGcmVlUHJvcCcpCisgICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxBdHRyUHRyKQorCisgICAgIGQgeG1sQ29weVByb3AgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQ29weVByb3AnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQXR0clB0cikKKyAgICAgZCAgdGFyZ2V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisgICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxBdHRyUHRyKQorCisgICAgIGQgeG1sQ29weVByb3BMaXN0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQ29weVByb3BMaXN0JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEF0dHJQdHIpCisgICAgIGQgIHRhcmdldCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQorICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXR0clB0cikKKworICAgICAgL2lmIGRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCkKKyAgICAgZCB4bWxDb3B5RHRkICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxDb3B5RHRkJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbER0ZFB0cikKKyAgICAgZCAgZHRkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbER0ZFB0cikKKyAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCWE1MX1RSRUVfRU5BQkxFRAorCisgICAgICAvaWYgZGVmaW5lZChMSUJYTUxfVFJFRV9FTkFCTEVEKQorICAgICAgL2RlZmluZSBYTUxfVEVTVFZBTAorICAgICAgL2Vsc2VpZiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisgICAgICAvZGVmaW5lIFhNTF9URVNUVkFMCisgICAgICAvZW5kaWYKKyAgICAgIC9pZiBkZWZpbmVkKFhNTF9URVNUVkFMKQorICAgICBkIHhtbENvcHlEb2MgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbENvcHlEb2MnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRG9jUHRyKQorICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQorICAgICBkICByZWN1cnNpdmUgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgIC91bmRlZmluZSBYTUxfVEVTVFZBTAorICAgICAgL2VuZGlmCisKKyAgICAgICogQ3JlYXRpbmcgbmV3IG5vZGVzLgorCisgICAgIGQgeG1sTmV3RG9jTm9kZSAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTmV3RG9jTm9kZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKQorICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQorICAgICBkICBucyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTnNQdHIpCisgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBjb250ZW50ICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICBkIHhtbE5ld0RvY05vZGVFYXROYW1lLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTmV3RG9jTm9kZUVhdE5hbWUnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikKKyAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKKyAgICAgZCAgbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5zUHRyKQorICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxDaGFyICoKKyAgICAgZCAgY29udGVudCAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgZCB4bWxOZXdOb2RlICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOZXdOb2RlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpCisgICAgIGQgIG5zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOc1B0cikKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgZCB4bWxOZXdOb2RlRWF0TmFtZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5ld05vZGVFYXROYW1lJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpCisgICAgIGQgIG5zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOc1B0cikKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sQ2hhciAqCisKKyAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpCisgICAgICAvZGVmaW5lIFhNTF9URVNUVkFMCisgICAgICAvZWxzZWlmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyAgICAgIC9kZWZpbmUgWE1MX1RFU1RWQUwKKyAgICAgIC9lbmRpZgorICAgICAgL2lmIGRlZmluZWQoWE1MX1RFU1RWQUwpCisgICAgIGQgeG1sTmV3Q2hpbGQgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTmV3Q2hpbGQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikKKyAgICAgZCAgcGFyZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisgICAgIGQgIG5zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOc1B0cikKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIGNvbnRlbnQgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgICAvdW5kZWZpbmUgWE1MX1RFU1RWQUwKKyAgICAgIC9lbmRpZgorCisgICAgIGQgeG1sTmV3RG9jVGV4dCAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTmV3RG9jVGV4dCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKQorICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQorICAgICBkICBjb250ZW50ICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICBkIHhtbE5ld1RleHQgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5ld1RleHQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikKKyAgICAgZCAgY29udGVudCAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgZCB4bWxOZXdEb2NQSSAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOZXdEb2NQSScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKQorICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQorICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgY29udGVudCAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgZCB4bWxOZXdQSSAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOZXdQSScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKQorICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgY29udGVudCAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgZCB4bWxOZXdEb2NUZXh0TGVuLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTmV3RG9jVGV4dExlbicpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKQorICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQorICAgICBkICBjb250ZW50ICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sTmV3VGV4dExlbiAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTmV3VGV4dExlbicpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKQorICAgICBkICBjb250ZW50ICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sTmV3RG9jQ29tbWVudC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5ld0RvY0NvbW1lbnQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikKKyAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKKyAgICAgZCAgY29udGVudCAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgZCB4bWxOZXdDb21tZW50ICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOZXdDb21tZW50JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpCisgICAgIGQgIGNvbnRlbnQgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgIGQgeG1sTmV3Q0RhdGFCbG9jay4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5ld0NEYXRhQmxvY2snKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikKKyAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKKyAgICAgZCAgY29udGVudCAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbE5ld0NoYXJSZWYgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5ld0NoYXJSZWYnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikKKyAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgZCB4bWxOZXdSZWZlcmVuY2UuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOZXdSZWZlcmVuY2UnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikKKyAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgZCB4bWxDb3B5Tm9kZSAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxDb3B5Tm9kZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKQorICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKyAgICAgZCAgcmVjdXJzaXZlICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sRG9jQ29weU5vZGUgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRG9jQ29weU5vZGUnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikKKyAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisgICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCisgICAgIGQgIHJlY3Vyc2l2ZSAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbERvY0NvcHlOb2RlTGlzdC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbERvY0NvcHlOb2RlTGlzdCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKQorICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQorICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKworICAgICBkIHhtbENvcHlOb2RlTGlzdC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbENvcHlOb2RlTGlzdCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKQorICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKworICAgICAgL2lmIGRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCkKKyAgICAgZCB4bWxOZXdUZXh0Q2hpbGQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOZXdUZXh0Q2hpbGQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikKKyAgICAgZCAgcGFyZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisgICAgIGQgIG5zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOc1B0cikKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIGNvbnRlbnQgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgIGQgeG1sTmV3RG9jUmF3Tm9kZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5ld0RvY1Jhd05vZGUnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikKKyAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKKyAgICAgZCAgbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5zUHRyKQorICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgY29udGVudCAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgZCB4bWxOZXdEb2NGcmFnbWVudC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5ld0RvY0ZyYWdtZW50JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpCisgICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCisgICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9UUkVFX0VOQUJMRUQKKworICAgICAgKiBOYXZpZ2F0aW5nLgorCisgICAgIGQgeG1sTmV3RG9jRnJhZ21lbnQuLi4KKyAgICAgZCB4bWxHZXRMaW5lTm8gICAgcHIgICAgICAgICAgICAyMGkgMCBleHRwcm9jKCd4bWxHZXRMaW5lTm8nKQorICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKworICAgICAgL2lmIGRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCkKKyAgICAgIC9kZWZpbmUgWE1MX1RFU1RWQUwKKyAgICAgIC9lbHNlaWYgZGVmaW5lZChMSUJYTUxfREVCVUdfRU5BQkxFRCkKKyAgICAgIC9kZWZpbmUgWE1MX1RFU1RWQUwKKyAgICAgIC9lbmRpZgorICAgICAgL2lmIGRlZmluZWQoWE1MX1RFU1RWQUwpCisgICAgIGQgeG1sR2V0Tm9kZVBhdGggIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sR2V0Tm9kZVBhdGgnKSAgICAgICAgICAgIHhtbENoYXIgKgorICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKworICAgICAgL3VuZGVmaW5lIFhNTF9URVNUVkFMCisgICAgICAvZW5kaWYKKworICAgICBkIHhtbERvY0dldFJvb3RFbGVtZW50Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRG9jR2V0Um9vdEVsZW1lbnQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikKKyAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKKworICAgICBkIHhtbEdldExhc3RDaGlsZC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEdldExhc3RDaGlsZCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKQorICAgICBkICBwYXJlbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKworICAgICBkIHhtbE5vZGVJc1RleHQgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbE5vZGVJc1RleHQnKQorICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKworICAgICBkIHhtbElzQmxhbmtOb2RlICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbElzQmxhbmtOb2RlJykKKyAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisKKyAgICAgICogQ2hhbmdpbmcgdGhlIHN0cnVjdHVyZS4KKworICAgICAgL2lmIGRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCkKKyAgICAgIC9kZWZpbmUgWE1MX1RFU1RWQUwKKyAgICAgIC9lbHNlaWYgZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpCisgICAgICAvZGVmaW5lIFhNTF9URVNUVkFMCisgICAgICAvZW5kaWYKKyAgICAgIC9pZiBkZWZpbmVkKFhNTF9URVNUVkFMKQorICAgICBkIHhtbERvY1NldFJvb3RFbGVtZW50Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRG9jU2V0Um9vdEVsZW1lbnQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikKKyAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKKyAgICAgZCAgcm9vdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisKKyAgICAgIC91bmRlZmluZSBYTUxfVEVTVFZBTAorICAgICAgL2VuZGlmCisKKyAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpCisgICAgIGQgeG1sTm9kZVNldE5hbWUgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTm9kZVNldE5hbWUnKQorICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9UUkVFX0VOQUJMRUQKKworICAgICBkIHhtbEFkZENoaWxkICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEFkZENoaWxkJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpCisgICAgIGQgIHBhcmVudCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQorICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKworICAgICBkIHhtbEFkZENoaWxkTGlzdC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEFkZENoaWxkTGlzdCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKQorICAgICBkICBwYXJlbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKyAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisKKyAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpCisgICAgICAvZGVmaW5lIFhNTF9URVNUVkFMCisgICAgICAvZWxzZWlmIGRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKQorICAgICAgL2RlZmluZSBYTUxfVEVTVFZBTAorICAgICAgL2VuZGlmCisgICAgICAvaWYgZGVmaW5lZChYTUxfVEVTVFZBTCkKKyAgICAgZCB4bWxSZXBsYWNlTm9kZSAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxSZXBsYWNlTm9kZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKQorICAgICBkICBvbGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKyAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisKKyAgICAgIC91bmRlZmluZSBYTUxfVEVTVFZBTAorICAgICAgL2VuZGlmCisKKyAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpCisgICAgICAvZGVmaW5lIFhNTF9URVNUVkFMCisgICAgICAvZWxzZWlmIGRlZmluZWQoTElCWE1MX0hUTUxfRU5BQkxFRCkKKyAgICAgIC9kZWZpbmUgWE1MX1RFU1RWQUwKKyAgICAgIC9lbHNlaWYgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQorICAgICAgL2RlZmluZSBYTUxfVEVTVFZBTAorICAgICAgL2VuZGlmCisgICAgICAvaWYgZGVmaW5lZChYTUxfVEVTVFZBTCkKKyAgICAgZCB4bWxBZGRQcmV2U2libGluZy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEFkZFByZXZTaWJsaW5nJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpCisgICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQorICAgICBkICBlbGVtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKworICAgICAgL3VuZGVmaW5lIFhNTF9URVNUVkFMCisgICAgICAvZW5kaWYKKworICAgICBkIHhtbEFkZFNpYmxpbmcgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEFkZFNpYmxpbmcnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikKKyAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisgICAgIGQgIGVsZW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQorCisgICAgIGQgeG1sQWRkTmV4dFNpYmxpbmcuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxBZGROZXh0U2libGluZycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKQorICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKyAgICAgZCAgZWxlbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisKKyAgICAgZCB4bWxVbmxpbmtOb2RlICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxVbmxpbmtOb2RlJykKKyAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisKKyAgICAgZCB4bWxUZXh0TWVyZ2UgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxUZXh0TWVyZ2UnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikKKyAgICAgZCAgZmlyc3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisgICAgIGQgIHNlY29uZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQorCisgICAgIGQgeG1sVGV4dENvbmNhdCAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVGV4dENvbmNhdCcpCisgICAgIGQgIG5vZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQorICAgICBkICBjb250ZW50ICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sRnJlZU5vZGVMaXN0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRnJlZU5vZGVMaXN0JykKKyAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisKKyAgICAgZCB4bWxGcmVlTm9kZSAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxGcmVlTm9kZScpCisgICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQorCisgICAgIGQgeG1sU2V0VHJlZURvYyAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2V0VHJlZURvYycpCisgICAgIGQgIHRyZWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQorICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQorCisgICAgIGQgeG1sU2V0TGlzdERvYyAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2V0TGlzdERvYycpCisgICAgIGQgIGxpc3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQorICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQorCisgICAgICAqIE5hbWVzcGFjZXMuCisKKyAgICAgZCB4bWxTZWFyY2hOcyAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTZWFyY2hOcycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOc1B0cikKKyAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKKyAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisgICAgIGQgIG5hbWVTcGFjZSAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgIGQgeG1sU2VhcmNoTnNCeUhyZWYuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTZWFyY2hOc0J5SHJlZicpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOc1B0cikKKyAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKKyAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisgICAgIGQgIGhyZWYgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgICAvaWYgZGVmaW5lZChMSUJYTUxfVFJFRV9FTkFCTEVEKQorICAgICAgL2RlZmluZSBYTUxfVEVTVFZBTAorICAgICAgL2Vsc2VpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorICAgICAgL2RlZmluZSBYTUxfVEVTVFZBTAorICAgICAgL2Vsc2VpZiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisgICAgICAvZGVmaW5lIFhNTF9URVNUVkFMCisgICAgICAvZW5kaWYKKyAgICAgIC9pZiBkZWZpbmVkKFhNTF9URVNUVkFMKQorICAgICBkIHhtbEdldE5zTGlzdCAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbEdldE5zTGlzdCcpICAgICAgICAgICAgICB4bWxOc1B0ciAqCisgICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCisgICAgIGQgIG5vZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQorCisgICAgICAvdW5kZWZpbmUgWE1MX1RFU1RWQUwKKyAgICAgIC9lbmRpZgorCisgICAgIGQgeG1sU2V0TnMgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2V0TnMnKQorICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKyAgICAgZCAgbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5zUHRyKQorCisgICAgIGQgeG1sQ29weU5hbWVzcGFjZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbENvcHlOYW1lc3BhY2UnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTnNQdHIpCisgICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOc1B0cikKKworICAgICBkIHhtbENvcHlOYW1lc3BhY2VMaXN0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQ29weU5hbWVzcGFjZUxpc3QnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTnNQdHIpCisgICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOc1B0cikKKworICAgICAgKiBDaGFuZ2luZyB0aGUgY29udGVudC4KKworICAgICAgL2lmIGRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCkKKyAgICAgIC9kZWZpbmUgWE1MX1RFU1RWQUwKKyAgICAgIC9lbHNlaWYgZGVmaW5lZChMSUJYTUxfWElOQ0xVREVfRU5BQkxFRCkKKyAgICAgIC9kZWZpbmUgWE1MX1RFU1RWQUwKKyAgICAgIC9lbHNlaWYgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQorICAgICAgL2RlZmluZSBYTUxfVEVTVFZBTAorICAgICAgL2Vsc2VpZiBkZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpCisgICAgICAvZGVmaW5lIFhNTF9URVNUVkFMCisgICAgICAvZW5kaWYKKyAgICAgIC9pZiBkZWZpbmVkKFhNTF9URVNUVkFMKQorICAgICBkIHhtbFNldFByb3AgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNldFByb3AnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQXR0clB0cikKKyAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICBkIHhtbFNldE5zUHJvcCAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNldE5zUHJvcCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxBdHRyUHRyKQorICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKyAgICAgZCAgbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5zUHRyKQorICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgIC91bmRlZmluZSBYTUxfVEVTVFZBTAorICAgICAgL2VuZGlmCisKKyAgICAgZCB4bWxHZXROb05zUHJvcCAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxHZXROb05zUHJvcCcpICAgICAgICAgICAgeG1sQ2hhciAqCisgICAgIGQgIG5vZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQorICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICBkIHhtbEdldFByb3AgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbEdldFByb3AnKSAgICAgICAgICAgICAgICB4bWxDaGFyICoKKyAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgIGQgeG1sSGFzUHJvcCAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sSGFzUHJvcCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxBdHRyUHRyKQorICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgZCB4bWxIYXNOc1Byb3AgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxIYXNOc1Byb3AnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQXR0clB0cikKKyAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBuYW1lU3BhY2UgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICBkIHhtbEdldE5zUHJvcCAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbEdldE5zUHJvcCcpICAgICAgICAgICAgICB4bWxDaGFyICoKKyAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBuYW1lU3BhY2UgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICBkIHhtbFN0cmluZ0dldE5vZGVMaXN0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU3RyaW5nR2V0Tm9kZUxpc3QnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikKKyAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKKyAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgZCB4bWxTdHJpbmdMZW5HZXROb2RlTGlzdC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFN0cmluZ0xlbkdldE5vZGVMaXN0JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpCisgICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCisgICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxOb2RlTGlzdEdldFN0cmluZy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbE5vZGVMaXN0R2V0U3RyaW5nJykgICAgICB4bWxDaGFyICoKKyAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKKyAgICAgZCAgbGlzdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisgICAgIGQgIGluTGluZSAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICAgL2lmIGRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCkKKyAgICAgZCB4bWxOb2RlTGlzdEdldFJhd1N0cmluZy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbE5vZGVMaXN0R2V0UmF3U3RyaW5nJykgICB4bWxDaGFyICoKKyAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKKyAgICAgZCAgbGlzdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisgICAgIGQgIGluTGluZSAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCWE1MX1RSRUVfRU5BQkxFRAorCisgICAgIGQgeG1sTm9kZVNldENvbnRlbnQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOb2RlU2V0Q29udGVudCcpCisgICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQorICAgICBkICBjb250ZW50ICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICAgL2lmIGRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCkKKyAgICAgZCB4bWxOb2RlU2V0Q29udGVudExlbi4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5vZGVTZXRDb250ZW50TGVuJykKKyAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisgICAgIGQgIGNvbnRlbnQgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9UUkVFX0VOQUJMRUQKKworICAgICBkIHhtbE5vZGVBZGRDb250ZW50Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTm9kZUFkZENvbnRlbnQnKQorICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKyAgICAgZCAgY29udGVudCAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgZCB4bWxOb2RlQWRkQ29udGVudExlbi4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5vZGVBZGRDb250ZW50TGVuJykKKyAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisgICAgIGQgIGNvbnRlbnQgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxOb2RlR2V0Q29udGVudC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbE5vZGVHZXRDb250ZW50JykgICAgICAgICB4bWxDaGFyICoKKyAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisKKyAgICAgZCB4bWxOb2RlQnVmR2V0Q29udGVudC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbE5vZGVCdWZHZXRDb250ZW50JykKKyAgICAgZCAgYnVmZmVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEJ1ZmZlclB0cikKKyAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisKKyAgICAgZCB4bWxCdWZHZXROb2RlQ29udGVudC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbEJ1ZkdldE5vZGVDb250ZW50JykKKyAgICAgZCAgYnVmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEJ1ZlB0cikKKyAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisKKyAgICAgZCB4bWxOb2RlR2V0TGFuZyAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxOb2RlR2V0TGFuZycpICAgICAgICAgICAgeG1sQ2hhciAqCisgICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQorCisgICAgIGQgeG1sTm9kZUdldFNwYWNlUHJlc2VydmUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxOb2RlR2V0U3BhY2VQcmVzZXJ2ZScpCisgICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQorCisgICAgICAvaWYgZGVmaW5lZChMSUJYTUxfVFJFRV9FTkFCTEVEKQorICAgICBkIHhtbE5vZGVTZXRMYW5nICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5vZGVTZXRMYW5nJykKKyAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisgICAgIGQgIGxhbmcgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgIGQgeG1sTm9kZVNldFNwYWNlUHJlc2VydmUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOb2RlU2V0U3BhY2VQcmVzZXJ2ZScpCisgICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQorICAgICBkICB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9UUkVFX0VOQUJMRUQKKworICAgICBkIHhtbE5vZGVHZXRCYXNlICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbE5vZGVHZXRCYXNlJykgICAgICAgICAgICB4bWxDaGFyICoKKyAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKKyAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisKKyAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpCisgICAgICAvZGVmaW5lIFhNTF9URVNUVkFMCisgICAgICAvZWxzZWlmIGRlZmluZWQoTElCWE1MX1hJTkNMVURFX0VOQUJMRUQpCisgICAgICAvZGVmaW5lIFhNTF9URVNUVkFMCisgICAgICAvZW5kaWYKKyAgICAgIC9pZiBkZWZpbmVkKFhNTF9URVNUVkFMKQorICAgICBkIHhtbE5vZGVTZXRCYXNlICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5vZGVTZXRCYXNlJykKKyAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisgICAgIGQgIHVyaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgICAvdW5kZWZpbmUgWE1MX1RFU1RWQUwKKyAgICAgIC9lbmRpZgorCisgICAgICAqIFJlbW92aW5nIGNvbnRlbnQuCisKKyAgICAgZCB4bWxSZW1vdmVQcm9wICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxSZW1vdmVQcm9wJykKKyAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEF0dHJQdHIpCisKKyAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpCisgICAgICAvZGVmaW5lIFhNTF9URVNUVkFMCisgICAgICAvZWxzZWlmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyAgICAgIC9kZWZpbmUgWE1MX1RFU1RWQUwKKyAgICAgIC9lbmRpZgorICAgICAgL2lmIGRlZmluZWQoWE1MX1RFU1RWQUwpCisgICAgIGQgeG1sVW5zZXROc1Byb3AgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVW5zZXROc1Byb3AnKQorICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKyAgICAgZCAgbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5zUHRyKQorICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICBkIHhtbFVuc2V0UHJvcCAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVuc2V0UHJvcCcpCisgICAgIGQgIG5vZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQorICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICAgL3VuZGVmaW5lIFhNTF9URVNUVkFMCisgICAgICAvZW5kaWYKKworICAgICAgKiBJbnRlcm5hbCwgZG9uJ3QgdXNlLgorCisgICAgIGQgeG1sQnVmZmVyV3JpdGVDaGFyYWN0ZXIuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdhcm5pbmc6IHJlbmFtZWQKKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxCdWZmZXJXcml0ZUNIQVInKQorICAgICBkICBidWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQnVmZmVyUHRyKQorICAgICBkICBzdHJpbmcgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICBkIHhtbEJ1ZmZlcldyaXRlQ2hhci4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEJ1ZmZlcldyaXRlQ2hhcicpCisgICAgIGQgIGJ1ZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxCdWZmZXJQdHIpCisgICAgIGQgIHN0cmluZyAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgIGQgeG1sQnVmZmVyV3JpdGVRdW90ZWRTdHJpbmcuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxCdWZmZXJXcml0ZVF1b3RlZFN0cmluZycpCisgICAgIGQgIGJ1ZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxCdWZmZXJQdHIpCisgICAgIGQgIHN0cmluZyAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgICAvaWYgZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpCisgICAgIGQgeG1sQXR0clNlcmlhbGl6ZVR4dENvbnRlbnQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxBdHRyU2VyaWFsaXplVHh0Q29udGVudCcpCisgICAgIGQgIGJ1ZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxCdWZmZXJQdHIpCisgICAgIGQgIGF0dHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxBdHRyUHRyKQorICAgICBkICBzdHJpbmcgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCWE1MX09VVFBVVF9FTkFCTEQKKworICAgICAgL2lmIGRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCkKKworICAgICAgKiBOYW1lc3BhY2UgaGFuZGxpbmcuCisKKyAgICAgZCB4bWxSZWNvbmNpbGlhdGVOcy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFJlY29uY2lsaWF0ZU5zJykKKyAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKKyAgICAgZCAgdHJlZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisgICAgICAvZW5kaWYKKworICAgICAgL2lmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQorCisgICAgICAqIFNhdmluZy4KKworICAgICBkIHhtbERvY0R1bXBGb3JtYXRNZW1vcnkuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxEb2NEdW1wRm9ybWF0TWVtb3J5JykKKyAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKKyAgICAgZCAgbWVtICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sQ2hhciAqICgqKQorICAgICBkICBzaXplICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwCisgICAgIGQgIGZvcm1hdCAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbERvY0R1bXBNZW1vcnkuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxEb2NEdW1wTWVtb3J5JykKKyAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKKyAgICAgZCAgbWVtICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sQ2hhciAqICgqKQorICAgICBkICBzaXplICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwCisKKyAgICAgZCB4bWxEb2NEdW1wTWVtb3J5RW5jLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRG9jRHVtcE1lbW9yeUVuYycpCisgICAgIGQgIG91dF9kb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCisgICAgIGQgIGRvY190eHRfcHRyICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbENoYXIgKiAoKikKKyAgICAgZCAgZG9jX3R4dF9sZW4gICAgICAgICAgICAgICAgICAxMGkgMAorICAgICBkICB0eHRfZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKworICAgICBkIHhtbERvY0R1bXBGb3JtYXRNZW1vcnlFbmMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxEb2NEdW1wRm9ybWF0TWVtb3J5RW5jJykKKyAgICAgZCAgb3V0X2RvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKKyAgICAgZCAgZG9jX3R4dF9wdHIgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sQ2hhciAqICgqKQorICAgICBkICBkb2NfdHh0X2xlbiAgICAgICAgICAgICAgICAgIDEwaSAwCisgICAgIGQgIHR4dF9lbmNvZGluZyAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBmb3JtYXQgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxEb2NGb3JtYXREdW1wLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sRG9jRm9ybWF0RHVtcCcpCisgICAgIGQgIGYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZJTEUgKgorICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQorICAgICBkICBmb3JtYXQgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxEb2NEdW1wICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxEb2NEdW1wJykKKyAgICAgZCAgZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRklMRSAqCisgICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCisKKyAgICAgZCB4bWxFbGVtRHVtcCAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxFbGVtRHVtcCcpCisgICAgIGQgIGYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZJTEUgKgorICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQorICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKworICAgICBkIHhtbFNhdmVGaWxlICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFNhdmVGaWxlJykKKyAgICAgZCAgZmlsZW5hbWUgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCisKKyAgICAgZCB4bWxTYXZlRm9ybWF0RmlsZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFNhdmVGb3JtYXRGaWxlJykKKyAgICAgZCAgZmlsZW5hbWUgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCisgICAgIGQgIGZvcm1hdCAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbEJ1Zk5vZGVEdW1wICBwciAgICAgICAgICAgIDEwdSAwIGV4dHByb2MoJ3htbEJ1Zk5vZGVEdW1wJykgICAgICAgICAgICBzaXplX3QKKyAgICAgZCAgYnVmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEJ1ZlB0cikKKyAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKKyAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisgICAgIGQgIGxldmVsICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgZm9ybWF0ICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sTm9kZUR1bXAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sTm9kZUR1bXAnKQorICAgICBkICBidWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQnVmZmVyUHRyKQorICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQorICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKyAgICAgZCAgbGV2ZWwgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBmb3JtYXQgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxTYXZlRmlsZVRvICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxTYXZlRmlsZVRvJykKKyAgICAgZCAgYnVmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE91dHB1dEJ1ZmZlclB0cikKKyAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKKyAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisKKyAgICAgZCB4bWxTYXZlRm9ybWF0RmlsZVRvLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sU2F2ZUZvcm1hdEZpbGVUbycpCisgICAgIGQgIGJ1ZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxPdXRwdXRCdWZmZXJQdHIpCisgICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCisgICAgIGQgIGVuY29kaW5nICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBmb3JtYXQgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxOb2RlRHVtcE91dHB1dC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5vZGVEdW1wT3V0cHV0JykKKyAgICAgZCAgYnVmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE91dHB1dEJ1ZmZlclB0cikKKyAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKKyAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisgICAgIGQgIGxldmVsICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgZm9ybWF0ICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKworICAgICBkIHhtbFNhdmVGb3JtYXRGaWxlRW5jLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sU2F2ZUZvcm1hdEZpbGVFbmMnKQorICAgICBkICBmaWxlbmFtZSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKKyAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIGZvcm1hdCAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFNhdmVGaWxlRW5jICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFNhdmVGaWxlRW5jJykKKyAgICAgZCAgZmlsZW5hbWUgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCisgICAgIGQgIGVuY29kaW5nICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTUxfT1VUUFVUX0VOQUJMRAorCisgICAgICAqIFhIVE1MCisKKyAgICAgZCB4bWxJc1hIVE1MICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxJc1hIVE1MJykKKyAgICAgZCAgc3lzdGVtSUQgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIHB1YmxpY0lEICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgICAqIENvbXByZXNzaW9uLgorCisgICAgIGQgeG1sR2V0RG9jQ29tcHJlc3NNb2RlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sR2V0RG9jQ29tcHJlc3NNb2RlJykKKyAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKKworICAgICBkIHhtbFNldERvY0NvbXByZXNzTW9kZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNldERvY0NvbXByZXNzTW9kZScpCisgICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCisgICAgIGQgIG1vZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbEdldENvbXByZXNzTW9kZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbEdldENvbXByZXNzTW9kZScpCisKKyAgICAgZCB4bWxTZXRDb21wcmVzc01vZGUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTZXRDb21wcmVzc01vZGUnKQorICAgICBkICBtb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgICogRE9NLXdyYXBwZXIgaGVscGVyIGZ1bmN0aW9ucy4KKworICAgICBkIHhtbERPTVdyYXBOZXdDdHh0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRE9NV3JhcE5ld0N0eHQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRE9NV3JhcEN0eHRQdHIpCisKKyAgICAgZCB4bWxET01XcmFwRnJlZUN0eHQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxET01XcmFwRnJlZUN0eHQnKQorICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRE9NV3JhcEN0eHRQdHIpCisKKyAgICAgZCB4bWxET01XcmFwUmVjb25jaWxlTmFtZXNwYWNlcy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxET01XcmFwUmVjb25jaWxlTmFtZXNwYWNlcycpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxET01XcmFwQ3R4dFB0cikKKyAgICAgZCAgZWxlbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisgICAgIGQgIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbERPTVdyYXBBZG9wdE5vZGUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxET01XcmFwQWRvcHROb2RlJykKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERPTVdyYXBDdHh0UHRyKQorICAgICBkICBzb3VyY2VEb2MgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQorICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKyAgICAgZCAgZGVzdERvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKKyAgICAgZCAgZGVzdFBhcmVudCAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisgICAgIGQgIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbERPTVdyYXBSZW1vdmVOb2RlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sRE9NV3JhcFJlbW92ZU5vZGUnKQorICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRE9NV3JhcEN0eHRQdHIpCisgICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCisgICAgIGQgIG5vZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQorICAgICBkICBvcHRpb25zICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxET01XcmFwQ2xvbmVOb2RlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sRE9NV3JhcENsb25lTm9kZScpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxET01XcmFwQ3R4dFB0cikKKyAgICAgZCAgc291cmNlRG9jICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKKyAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisgICAgIGQgIGNsb25lZE5vZGUgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKQorICAgICBkICBkZXN0RG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQorICAgICBkICBkZXN0UGFyZW50ICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKyAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgICAvaWYgZGVmaW5lZChMSUJYTUxfVFJFRV9FTkFCTEVEKQorCisgICAgICAqIDUgaW50ZXJmYWNlcyBmcm9tIERPTSBFbGVtZW50VHJhdmVyc2FsLCBidXQgZGlmZmVyZW50IGluIGVudGl0aWVzCisgICAgICAqIHRyYXZlcnNhbC4KKworICAgICBkIHhtbENoaWxkRWxlbWVudENvdW50Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMjB1IDAgZXh0cHJvYygneG1sQ2hpbGRFbGVtZW50Q291bnQnKQorICAgICBkICBwYXJlbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKworICAgICBkIHhtbE5leHRFbGVtZW50U2libGluZy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5leHRFbGVtZW50U2libGluZycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKQorICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKworICAgICBkIHhtbEZpcnN0RWxlbWVudENoaWxkLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRmlyc3RFbGVtZW50Q2hpbGQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikKKyAgICAgZCAgcGFyZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisKKyAgICAgZCB4bWxMYXN0RWxlbWVudENoaWxkLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTGFzdEVsZW1lbnRDaGlsZCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKQorICAgICBkICBwYXJlbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKworICAgICBkIHhtbFByZXZpb3VzRWxlbWVudFNpYmxpbmcuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxQcmV2aW91c0VsZW1lbnRTaWJsaW5nJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpCisgICAgIGQgIG5vZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQorICAgICAgL2VuZGlmCisKKyAgICAgIC9pZiBub3QgZGVmaW5lZChYTUxfUEFSU0VSX0hfXykKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sbWVtb3J5IgorICAgICAgL2VuZGlmCisKKyAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWE1MX1RSRUVfSF9fCmRpZmYgLS1naXQgYS9saWJ4bWwyL29zNDAwL2xpYnhtbHJwZy91cmkucnBnbGUgYi9saWJ4bWwyL29zNDAwL2xpYnhtbHJwZy91cmkucnBnbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWEyM2Q4MAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvb3M0MDAvbGlieG1scnBnL3VyaS5ycGdsZQpAQCAtMCwwICsxLDEwMCBAQAorICAgICAgKiBTdW1tYXJ5OiBsaWJyYXJ5IG9mIGdlbmVyaWMgVVJJIHJlbGF0ZWQgcm91dGluZXMKKyAgICAgICogRGVzY3JpcHRpb246IGxpYnJhcnkgb2YgZ2VuZXJpYyBVUkkgcmVsYXRlZCByb3V0aW5lcworICAgICAgKiAgICAgICAgICAgICAgSW1wbGVtZW50cyBSRkMgMjM5NgorICAgICAgKgorICAgICAgKiBDb3B5OiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisgICAgICAqCisgICAgICAqIEF1dGhvcjogUGF0cmljayBNb25uZXJhdCA8cG1AZGF0YXNwaGVyZS5jaD4sIERBVEFTUEhFUkUgUy5BLgorCisgICAgICAvaWYgbm90IGRlZmluZWQoWE1MX1VSSV9IX18pCisgICAgICAvZGVmaW5lIFhNTF9VUklfSF9fCisKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sdmVyc2lvbiIKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcvdHJlZSIKKworICAgICAgKiB4bWxVUkk6CisgICAgICAqCisgICAgICAqIEEgcGFyc2VkIFVSSSByZWZlcmVuY2UuIFRoaXMgaXMgYSBzdHJ1Y3QgY29udGFpbmluZyB0aGUgdmFyaW91cyBmaWVsZHMKKyAgICAgICogYXMgZGVzY3JpYmVkIGluIFJGQyAyMzk2IGJ1dCBzZXBhcmF0ZWQgZm9yIGZ1cnRoZXIgcHJvY2Vzc2luZy4KKyAgICAgICoKKyAgICAgICogTm90ZTogcXVlcnkgaXMgYSBkZXByZWNhdGVkIGZpZWxkIHdoaWNoIGlzIGluY29ycmVjdGx5IHVuZXNjYXBlZC4KKyAgICAgICogcXVlcnlfcmF3IHRha2VzIHByZWNlZGVuY2Ugb3ZlciBxdWVyeSBpZiB0aGUgZm9ybWVyIGlzIHNldC4KKyAgICAgICogU2VlOiBodHRwOi8vbWFpbC5nbm9tZS5vcmcvYXJjaGl2ZXMveG1sLzIwMDctQXByaWwvdGhyZWFkLmh0bWwjMDAxMjcKKworICAgICBkIHhtbFVSSVB0ciAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisKKyAgICAgZCB4bWxVUkkgICAgICAgICAgZHMgICAgICAgICAgICAgICAgICBiYXNlZCh4bWxVUklQdHIpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24gcXVhbGlmaWVkCisgICAgIGQgIHNjaGVtZSAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKgorICAgICBkICBvcGFxdWUgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyICoKKyAgICAgZCAgYXV0aG9yaXR5ICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqCisgICAgIGQgIHNlcnZlciAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKgorICAgICBkICB1c2VyICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyICoKKyAgICAgZCAgcG9ydCAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMAorICAgICBkICBwYXRoICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyICoKKyAgICAgZCAgcXVlcnkgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqCisgICAgIGQgIGZyYWdtZW50ICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKgorICAgICBkICBjbGVhbnVwICAgICAgICAgICAgICAgICAgICAgIDEwaSAwCisgICAgIGQgIHF1ZXJ5X3JhdyAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKgorCisgICAgIGQgeG1sQ3JlYXRlVVJJICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQ3JlYXRlVVJJJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFVSSVB0cikKKworICAgICBkIHhtbEJ1aWxkVVJJICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbEJ1aWxkVVJJJykgICAgICAgICAgICAgICB4bWxDaGFyICoKKyAgICAgZCAgVVJJICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIGJhc2UgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgIGQgeG1sQnVpbGRSZWxhdGl2ZVVSSS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbEJ1aWxkUmVsYXRpdmVVUkknKSAgICAgICB4bWxDaGFyICoKKyAgICAgZCAgVVJJICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIGJhc2UgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgIGQgeG1sUGFyc2VVUkkgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUGFyc2VVUkknKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sVVJJUHRyKQorICAgICBkICBzdHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKworICAgICBkIHhtbFBhcnNlVVJJUmF3ICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFBhcnNlVVJJUmF3JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFVSSVB0cikKKyAgICAgZCAgc3RyICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIHJhdyAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFBhcnNlVVJJUmVmZXJlbmNlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sUGFyc2VVUklSZWZlcmVuY2UnKQorICAgICBkICB1cmkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVVJJUHRyKQorICAgICBkICBzdHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKworICAgICBkIHhtbFNhdmVVcmkgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbFNhdmVVcmknKSAgICAgICAgICAgICAgICB4bWxDaGFyICoKKyAgICAgZCAgdXJpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFVSSVB0cikKKworICAgICBkIHhtbFByaW50VVJJICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFByaW50VVJJJykKKyAgICAgZCAgc3RyZWFtICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRklMRSAqCisgICAgIGQgIHVyaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxVUklQdHIpCisKKyAgICAgZCB4bWxVUklFc2NhcGVTdHIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxVUklFc2NhcGVTdHInKSAgICAgICAgICAgeG1sQ2hhciAqCisgICAgIGQgIHN0ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBsaXN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICBkIHhtbFVSSVVuZXNjYXBlU3RyaW5nLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sVVJJVW5lc2NhcGVTdHJpbmcnKSAgICAgIGNoYXIgKgorICAgICBkICBzdHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICB0YXJnZXQgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjaGFyICoKKworICAgICBkIHhtbE5vcm1hbGl6ZVVSSVBhdGguLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxOb3JtYWxpemVVUklQYXRoJykKKyAgICAgZCAgcGF0aCAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY2hhciAqCisKKyAgICAgZCB4bWxVUklFc2NhcGUgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxVUklFc2NhcGUnKSAgICAgICAgICAgICAgeG1sQ2hhciAqCisgICAgIGQgIHN0ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgIGQgeG1sRnJlZVVSSSAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRnJlZVVSSScpCisgICAgIGQgIHVyaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxVUklQdHIpCisKKyAgICAgZCB4bWxDYW5vbmljUGF0aCAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxDYW5vbmljUGF0aCcpICAgICAgICAgICAgeG1sQ2hhciAqCisgICAgIGQgIHBhdGggICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgIGQgeG1sUGF0aFRvVVJJICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sUGF0aFRvVVJJJykgICAgICAgICAgICAgIHhtbENoYXIgKgorICAgICBkICBwYXRoICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfVVJJX0hfXwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9vczQwMC9saWJ4bWxycGcvdmFsaWQucnBnbGUgYi9saWJ4bWwyL29zNDAwL2xpYnhtbHJwZy92YWxpZC5ycGdsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MjJiODlkCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9vczQwMC9saWJ4bWxycGcvdmFsaWQucnBnbGUKQEAgLTAsMCArMSw1NzUgQEAKKyAgICAgICogU3VtbWFyeTogVGhlIERURCB2YWxpZGF0aW9uCisgICAgICAqIERlc2NyaXB0aW9uOiBBUEkgZm9yIHRoZSBEVEQgaGFuZGxpbmcgYW5kIHRoZSB2YWxpZGl0eSBjaGVja2luZworICAgICAgKgorICAgICAgKiBDb3B5OiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisgICAgICAqCisgICAgICAqIEF1dGhvcjogUGF0cmljayBNb25uZXJhdCA8cG1AZGF0YXNwaGVyZS5jaD4sIERBVEFTUEhFUkUgUy5BLgorCisgICAgICAvaWYgbm90IGRlZmluZWQoWE1MX1ZBTElEX0hfXykKKyAgICAgIC9kZWZpbmUgWE1MX1ZBTElEX0hfXworCisgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbHZlcnNpb24iCisgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbGVycm9yIgorICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy90cmVlIgorICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy9saXN0IgorICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWxhdXRvbWF0YSIKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1scmVnZXhwIgorCisgICAgICAqIFZhbGlkYXRpb24gc3RhdGUgYWRkZWQgZm9yIG5vbi1kZXRlcm1pbmlzdCBjb250ZW50IG1vZGVsLgorCisgICAgIGQgeG1sVmFsaWRTdGF0ZVB0ci4uLgorICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisKKyAgICAgICogeG1sVmFsaWRpdHlFcnJvckZ1bmM6CisgICAgICAqIEBjdHg6ICB1c3VhbGx5IGFuIHhtbFZhbGlkQ3R4dFB0ciB0byBhIHZhbGlkaXR5IGVycm9yIGNvbnRleHQsCisgICAgICAqICAgICAgICBidXQgY29tZXMgZnJvbSBjdHh0LT51c2VyRGF0YSAod2hpY2ggbm9ybWFsbHkgY29udGFpbnMgc3VjaAorICAgICAgKiAgICAgICAgYSBwb2ludGVyKTsgY3R4dC0+dXNlckRhdGEgY2FuIGJlIGNoYW5nZWQgYnkgdGhlIHVzZXIuCisgICAgICAqIEBtc2c6ICB0aGUgc3RyaW5nIHRvIGZvcm1hdCAqcHJpbnRmIGxpa2UgdmFyYXJnCisgICAgICAqIEAuLi46ICByZW1haW5pbmcgYXJndW1lbnRzIHRvIHRoZSBmb3JtYXQKKyAgICAgICoKKyAgICAgICogQ2FsbGJhY2sgY2FsbGVkIHdoZW4gYSB2YWxpZGl0eSBlcnJvciBpcyBmb3VuZC4gVGhpcyBpcyBhIG1lc3NhZ2UKKyAgICAgICogb3JpZW50ZWQgZnVuY3Rpb24gc2ltaWxhciB0byBhbiAqcHJpbnRmIGZ1bmN0aW9uLgorCisgICAgIGQgeG1sVmFsaWRpdHlFcnJvckZ1bmMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NwdHIKKworICAgICAgKiB4bWxWYWxpZGl0eVdhcm5pbmdGdW5jOgorICAgICAgKiBAY3R4OiAgdXN1YWxseSBhbiB4bWxWYWxpZEN0eHRQdHIgdG8gYSB2YWxpZGl0eSBlcnJvciBjb250ZXh0LAorICAgICAgKiAgICAgICAgYnV0IGNvbWVzIGZyb20gY3R4dC0+dXNlckRhdGEgKHdoaWNoIG5vcm1hbGx5IGNvbnRhaW5zIHN1Y2gKKyAgICAgICogICAgICAgIGEgcG9pbnRlcik7IGN0eHQtPnVzZXJEYXRhIGNhbiBiZSBjaGFuZ2VkIGJ5IHRoZSB1c2VyLgorICAgICAgKiBAbXNnOiAgdGhlIHN0cmluZyB0byBmb3JtYXQgKnByaW50ZiBsaWtlIHZhcmFyZworICAgICAgKiBALi4uOiAgcmVtYWluaW5nIGFyZ3VtZW50cyB0byB0aGUgZm9ybWF0CisgICAgICAqCisgICAgICAqIENhbGxiYWNrIGNhbGxlZCB3aGVuIGEgdmFsaWRpdHkgd2FybmluZyBpcyBmb3VuZC4gVGhpcyBpcyBhIG1lc3NhZ2UKKyAgICAgICogb3JpZW50ZWQgZnVuY3Rpb24gc2ltaWxhciB0byBhbiAqcHJpbnRmIGZ1bmN0aW9uLgorCisgICAgIGQgeG1sVmFsaWRpdHlXYXJuaW5nRnVuYy4uLgorICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY3B0cgorCisgICAgICAqIHhtbFZhbGlkQ3R4dDoKKyAgICAgICogQW4geG1sVmFsaWRDdHh0IGlzIHVzZWQgZm9yIGVycm9yIHJlcG9ydGluZyB3aGVuIHZhbGlkYXRpbmcuCisKKyAgICAgZCB4bWxWYWxpZEN0eHRQdHIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorCisgICAgIGQgeG1sVmFsaWRDdHh0ICAgIGRzICAgICAgICAgICAgICAgICAgYmFzZWQoeG1sVmFsaWRDdHh0UHRyKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduIHF1YWxpZmllZAorICAgICBkICB1c2VyZGF0YSAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKyAgICAgZCAgZXJyb3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFZhbGlkaXR5RXJyb3JGdW5jKSAgICAgICAgICAgRXJyb3IgY2FsbGJhY2sKKyAgICAgZCAgd2FybmluZyAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFZhbGlkaXR5V2FybmluZ0Z1bmMpICAgICAgICAgV2FybmluZyBjYWxsYmFjaworICAgICAgKgorICAgICAgKiBOb2RlIGFuYWx5c2lzIHN0YWNrIHVzZWQgd2hlbiB2YWxpZGF0aW5nIHdpdGhpbiBlbnRpdGllcworICAgICAgKgorICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikgICAgICAgICAgICAgICAgICAgICBDdXJyZW50IHBhcnNlZCBOb2RlCisgICAgIGQgIG5vZGVOciAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhcnNpbmcgc3RhY2sgZGVwdGgKKyAgICAgZCAgbm9kZU1heCAgICAgICAgICAgICAgICAgICAgICAxMGkgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWF4IHN0YWNrIGRlcHRoCisgICAgIGQgIG5vZGVUYWIgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbE5vZGVQdHIgKgorICAgICAgKgorICAgICBkICBmaW5pc2hEdGQgICAgICAgICAgICAgICAgICAgIDEwdSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaW5pc2ggdmFsaWR0bmcgRFREPworICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRG9jUHRyKSAgICAgICAgICAgICAgICAgICAgICBUaGUgZG9jdW1lbnQKKyAgICAgZCAgdmFsaWQgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGVtcCBjaGVjayByZXN1bHQKKyAgICAgICoKKyAgICAgICogc3RhdGUgc3RhdGUgdXNlZCBmb3Igbm9uLWRldGVybWluaXN0IGNvbnRlbnQgdmFsaWRhdGlvbgorICAgICAgKgorICAgICBkICB2c3RhdGUgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxWYWxpZFN0YXRlICoKKyAgICAgZCAgdnN0YXRlTnIgICAgICAgICAgICAgICAgICAgICAxMGkgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmFsaWRhdC4gc3RhY2sgZGVwdGgKKyAgICAgZCAgdnN0YXRlTWF4ICAgICAgICAgICAgICAgICAgICAxMGkgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWF4IHN0YWNrIGRlcHRoCisgICAgIGQgIHZzdGF0ZVRhYiAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFZhbGlkU3RhdGUgKgorICAgICAgKgorICAgICAgL2lmIGRlZmluZWQoTElCWE1MX1JFR0VYUF9FTkFCTEVEKQorICAgICBkICBhbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQXV0b21hdGFQdHIpICAgICAgICAgICAgICAgICBUaGUgYXV0b21hdGEKKyAgICAgZCAgc3RhdGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEF1dG9tYXRhU3RhdGVQdHIpICAgICAgICAgICAgQXV0b21hdGEgYnVpbGQgc3RhdGUKKyAgICAgIC9lbHNlCisgICAgIGQgIGFtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCisgICAgIGQgIHN0YXRlICAgICAgICAgICAgICAgICAgICAgICAgICAqCisgICAgICAvZW5kaWYKKworICAgICAgKiBBTEwgbm90YXRpb24gZGVjbGFyYXRpb25zIGFyZSBzdG9yZWQgaW4gYSB0YWJsZS4KKyAgICAgICogVGhlcmUgaXMgb25lIHRhYmxlIHBlciBEVEQuCisKKyAgICAgZCB4bWxOb3RhdGlvblRhYmxlUHRyLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKworICAgICAgKiBBTEwgZWxlbWVudCBkZWNsYXJhdGlvbnMgYXJlIHN0b3JlZCBpbiBhIHRhYmxlLgorICAgICAgKiBUaGVyZSBpcyBvbmUgdGFibGUgcGVyIERURC4KKworICAgICBkIHhtbEVsZW1lbnRUYWJsZVB0ci4uLgorICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisKKyAgICAgICogQUxMIGF0dHJpYnV0ZSBkZWNsYXJhdGlvbnMgYXJlIHN0b3JlZCBpbiBhIHRhYmxlLgorICAgICAgKiBUaGVyZSBpcyBvbmUgdGFibGUgcGVyIERURC4KKworICAgICBkIHhtbEF0dHJpYnV0ZVRhYmxlUHRyLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKworICAgICAgKiBBTEwgSURzIGF0dHJpYnV0ZXMgYXJlIHN0b3JlZCBpbiBhIHRhYmxlLgorICAgICAgKiBUaGVyZSBpcyBvbmUgdGFibGUgcGVyIGRvY3VtZW50LgorCisgICAgIGQgeG1sSURUYWJsZVB0ciAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKworICAgICAgKiBBTEwgUmVmcyBhdHRyaWJ1dGVzIGFyZSBzdG9yZWQgaW4gYSB0YWJsZS4KKyAgICAgICogVGhlcmUgaXMgb25lIHRhYmxlIHBlciBkb2N1bWVudC4KKworICAgICBkIHhtbFJlZlRhYmxlUHRyICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisKKyAgICAgICogTm90YXRpb24KKworICAgICBkIHhtbEFkZE5vdGF0aW9uRGVjbC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEFkZE5vdGF0aW9uRGVjbCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb3RhdGlvblB0cikKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFZhbGlkQ3R4dFB0cikKKyAgICAgZCAgZHRkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbER0ZFB0cikKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIFB1YmxpY0lEICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBTeXN0ZW1JRCAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICAgL2lmIGRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCkKKyAgICAgZCB4bWxDb3B5Tm90YXRpb25UYWJsZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbENvcHlOb3RhdGlvblRhYmxlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vdGF0aW9uUHRyKQorICAgICBkICB0YWJsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm90YXRpb25UYWJsZVB0cikKKyAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCWE1MX1RSRUVfRU5BQkxFRAorCisgICAgIGQgeG1sRnJlZU5vdGF0aW9uVGFibGUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxGcmVlTm90YXRpb25UYWJsZScpCisgICAgIGQgIHRhYmxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb3RhdGlvblRhYmxlUHRyKQorCisgICAgICAvaWYgZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpCisgICAgIGQgeG1sRHVtcE5vdGF0aW9uRGVjbC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbER1bXBOb3RhdGlvbkRlY2wnKQorICAgICBkICBidWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQnVmZmVyUHRyKQorICAgICBkICBub3RhICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm90YXRpb25QdHIpCisKKyAgICAgZCB4bWxEdW1wTm90YXRpb25UYWJsZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbER1bXBOb3RhdGlvblRhYmxlJykKKyAgICAgZCAgYnVmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEJ1ZmZlclB0cikKKyAgICAgZCAgdGFibGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vdGF0aW9uVGFibGVQdHIpCisgICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9PVVRQVVRfRU5BQkxECisKKyAgICAgICogRWxlbWVudCBDb250ZW50CisgICAgICAqIHRoZSBub24gRG9jIHZlcnNpb24gYXJlIGJlaW5nIGRlcHJlY2F0ZWQKKworICAgICBkIHhtbE5ld0VsZW1lbnRDb250ZW50Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTmV3RWxlbWVudENvbnRlbnQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRWxlbWVudENvbnRlbnRQdHIpCisgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICB0eXBlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRWxlbWVudENvbnRlbnRUeXBlKQorCisgICAgIGQgeG1sQ29weUVsZW1lbnRDb250ZW50Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQ29weUVsZW1lbnRDb250ZW50JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEVsZW1lbnRDb250ZW50UHRyKQorICAgICBkICBjb250ZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRWxlbWVudENvbnRlbnRQdHIpCisKKyAgICAgZCB4bWxGcmVlRWxlbWVudENvbnRlbnQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxGcmVlRWxlbWVudENvbnRlbnQnKQorICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRWxlbWVudENvbnRlbnRQdHIpCisKKyAgICAgICogdGhlIG5ldyB2ZXJzaW9ucyB3aXRoIGRvYyBhcmd1bWVudAorCisgICAgIGQgeG1sTmV3RG9jRWxlbWVudENvbnRlbnQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOZXdEb2NFbGVtZW50Q29udGVudCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxFbGVtZW50Q29udGVudFB0cikKKyAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIHR5cGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxFbGVtZW50Q29udGVudFR5cGUpCisKKyAgICAgZCB4bWxDb3B5RG9jRWxlbWVudENvbnRlbnQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxDb3B5RG9jRWxlbWVudENvbnRlbnQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRWxlbWVudENvbnRlbnRQdHIpCisgICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCisgICAgIGQgIGNvbnRlbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxFbGVtZW50Q29udGVudFB0cikKKworICAgICBkIHhtbEZyZWVEb2NFbGVtZW50Q29udGVudC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEZyZWVEb2NFbGVtZW50Q29udGVudCcpCisgICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCisgICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxFbGVtZW50Q29udGVudFB0cikKKworICAgICBkIHhtbFNucHJpbnRmRWxlbWVudENvbnRlbnQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTbnByaW50ZkVsZW1lbnRDb250ZW50JykKKyAgICAgZCAgYnVmICAgICAgICAgICAgICAgICAgICAgICA2NTUzNSAgICBvcHRpb25zKCp2YXJzaXplKQorICAgICBkICBzaXplICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIGNvbnRlbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxFbGVtZW50Q29udGVudFB0cikKKyAgICAgZCAgZW5nbG9iICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgICAvaWYgZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpCisgICAgICAqIERFUFJFQ0FURUQKKyAgICAgZCB4bWxTcHJpbnRmRWxlbWVudENvbnRlbnQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTcHJpbnRmRWxlbWVudENvbnRlbnQnKQorICAgICBkICBidWYgICAgICAgICAgICAgICAgICAgICAgIDY1NTM1ICAgIG9wdGlvbnMoKnZhcnNpemUpCisgICAgIGQgIGNvbnRlbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxFbGVtZW50Q29udGVudFB0cikKKyAgICAgZCAgZW5nbG9iICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTUxfT1VUUFVUX0VOQUJMRAorCisgICAgICAqIERFUFJFQ0FURUQKKworICAgICAgKiBFbGVtZW50CisKKyAgICAgZCB4bWxBZGRFbGVtZW50RGVjbC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEFkZEVsZW1lbnREZWNsJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEVsZW1lbnRQdHIpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxWYWxpZEN0eHRQdHIpCisgICAgIGQgIGR0ZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEdGRQdHIpCisgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICB0eXBlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRWxlbWVudFR5cGVWYWwpCisgICAgIGQgIGNvbnRlbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxFbGVtZW50Q29udGVudFB0cikKKworICAgICAgL2lmIGRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCkKKyAgICAgZCB4bWxDb3B5RWxlbWVudFRhYmxlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQ29weUVsZW1lbnRUYWJsZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxFbGVtZW50VGFibGVQdHIpCisgICAgIGQgIHRhYmxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxFbGVtZW50VGFibGVQdHIpCisgICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9UUkVFX0VOQUJMRUQKKworICAgICBkIHhtbEZyZWVFbGVtZW50VGFibGUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxGcmVlRWxlbWVudFRhYmxlJykKKyAgICAgZCAgdGFibGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEVsZW1lbnRUYWJsZVB0cikKKworICAgICAgL2lmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQorICAgICBkIHhtbER1bXBFbGVtZW50VGFibGUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxEdW1wRWxlbWVudFRhYmxlJykKKyAgICAgZCAgYnVmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEJ1ZmZlclB0cikKKyAgICAgZCAgdGFibGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEVsZW1lbnRUYWJsZVB0cikKKworICAgICBkIHhtbER1bXBFbGVtZW50RGVjbC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbER1bXBFbGVtZW50RGVjbCcpCisgICAgIGQgIGJ1ZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxCdWZmZXJQdHIpCisgICAgIGQgIGVsZW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxFbGVtZW50UHRyKQorICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTUxfT1VUUFVUX0VOQUJMRAorCisgICAgICAqIEVudW1lcmF0aW9uCisKKyAgICAgZCB4bWxDcmVhdGVFbnVtZXJhdGlvbi4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbENyZWF0ZUVudW1lcmF0aW9uJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEVudW1lcmF0aW9uUHRyKQorICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICBkIHhtbEZyZWVFbnVtZXJhdGlvbi4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEZyZWVFbnVtZXJhdGlvbicpCisgICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxFbnVtZXJhdGlvblB0cikKKworICAgICAgL2lmIGRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCkKKyAgICAgZCB4bWxDb3B5RW51bWVyYXRpb24uLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxDb3B5RW51bWVyYXRpb24nKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRW51bWVyYXRpb25QdHIpCisgICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxFbnVtZXJhdGlvblB0cikKKyAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCWE1MX1RSRUVfRU5BQkxFRAorCisgICAgICAqIEF0dHJpYnV0ZQorCisgICAgIGQgeG1sQWRkQXR0cmlidXRlRGVjbC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEFkZEF0dHJpYnV0ZURlY2wnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQXR0cmlidXRlUHRyKQorICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVmFsaWRDdHh0UHRyKQorICAgICBkICBkdGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRHRkUHRyKQorICAgICBkICBlbGVtICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIG5zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICB0eXBlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXR0cmlidXRlVHlwZSkKKyAgICAgZCAgZGVmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEF0dHJpYnV0ZURlZmF1bHQpCisgICAgIGQgIGRlZmF1bHRWYWx1ZSAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICB0cmVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRW51bWVyYXRpb25QdHIpCisKKyAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpCisgICAgIGQgeG1sQ29weUF0dHJpYnV0ZVRhYmxlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQ29weUF0dHJpYnV0ZVRhYmxlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEF0dHJpYnV0ZVRhYmxlUHRyKQorICAgICBkICB0YWJsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXR0cmlidXRlVGFibGVQdHIpCisgICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9UUkVFX0VOQUJMRUQKKworICAgICBkIHhtbEZyZWVBdHRyaWJ1dGVUYWJsZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEZyZWVBdHRyaWJ1dGVUYWJsZScpCisgICAgIGQgIHRhYmxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxBdHRyaWJ1dGVUYWJsZVB0cikKKworICAgICAgL2lmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQorICAgICBkIHhtbER1bXBBdHRyaWJ1dGVUYWJsZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbER1bXBBdHRyaWJ1dGVUYWJsZScpCisgICAgIGQgIGJ1ZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxCdWZmZXJQdHIpCisgICAgIGQgIHRhYmxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxBdHRyaWJ1dGVUYWJsZVB0cikKKworICAgICBkIHhtbER1bXBBdHRyaWJ1dGVEZWNsLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRHVtcEF0dHJpYnV0ZURlY2wnKQorICAgICBkICBidWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQnVmZmVyUHRyKQorICAgICBkICBhdHRyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXR0cmlidXRlUHRyKQorICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTUxfT1VUUFVUX0VOQUJMRAorCisgICAgICAqIElEcworCisgICAgIGQgeG1sQWRkSUQgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQWRkSUQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sSURQdHIpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxWYWxpZEN0eHRQdHIpCisgICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCisgICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBhdHRyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXR0clB0cikKKworICAgICBkIHhtbEZyZWVJZFRhYmxlICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEZyZWVJRFRhYmxlJykKKyAgICAgZCAgdGFibGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbElEVGFibGVQdHIpCisKKyAgICAgZCB4bWxHZXRJRCAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxHZXRJRCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxBdHRyUHRyKQorICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQorICAgICBkICBJRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICBkIHhtbElzSUQgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbElzSUQnKQorICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQorICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKyAgICAgZCAgYXR0ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEF0dHJQdHIpCisKKyAgICAgZCB4bWxSZW1vdmVJRCAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxSZW1vdmVJRCcpCisgICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCisgICAgIGQgIGF0dHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxBdHRyUHRyKQorCisgICAgICAqIElEUkVGcworCisgICAgIGQgeG1sQWRkUmVmICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQWRkUmVmJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFJlZlB0cikKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFZhbGlkQ3R4dFB0cikKKyAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKKyAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIGF0dHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxBdHRyUHRyKQorCisgICAgIGQgeG1sRnJlZVJlZlRhYmxlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRnJlZVJlZlRhYmxlJykKKyAgICAgZCAgdGFibGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFJlZlRhYmxlUHRyKQorCisgICAgIGQgeG1sSXNSZWYgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sSXNSZWYnKQorICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQorICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKyAgICAgZCAgYXR0ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEF0dHJQdHIpCisKKyAgICAgZCB4bWxSZW1vdmVSZWYgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxSZW1vdmVSZWYnKQorICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQorICAgICBkICBhdHRyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXR0clB0cikKKworICAgICBkIHhtbEdldFJlZnMgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEdldFJlZnMnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTGlzdFB0cikKKyAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKKyAgICAgZCAgSUQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgICogVGhlIHB1YmxpYyBmdW5jdGlvbiBjYWxscyByZWxhdGVkIHRvIHZhbGlkaXR5IGNoZWNraW5nLgorCisgICAgICAvaWYgZGVmaW5lZChMSUJYTUxfVkFMSURfRU5BQkxFRCkKKyAgICAgICogQWxsb2NhdGUvUmVsZWFzZSBWYWxpZGF0aW9uIENvbnRleHRzCisKKyAgICAgZCB4bWxOZXdWYWxpZEN0eHQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOZXdWYWxpZEN0eHQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sVmFsaWRDdHh0UHRyKQorCisgICAgIGQgeG1sRnJlZVZhbGlkQ3R4dC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEZyZWVWYWxpZEN0eHQnKQorICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVmFsaWRDdHh0UHRyKQorCisgICAgIGQgeG1sVmFsaWRhdGVSb290Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVmFsaWRhdGVSb290JykKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFZhbGlkQ3R4dFB0cikKKyAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKKworICAgICBkIHhtbFZhbGlkYXRlRWxlbWVudERlY2wuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxWYWxpZGF0ZUVsZW1lbnREZWNsJykKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFZhbGlkQ3R4dFB0cikKKyAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKKyAgICAgZCAgZWxlbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEVsZW1lbnRQdHIpCisKKyAgICAgZCB4bWxWYWxpZE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYyggICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbENoYXIgKgorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVmFsaWROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZScpCisgICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCisgICAgIGQgIGVsZW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQorICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgZCB4bWxWYWxpZEN0eHROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbFZhbGlkQ3R4dCsgICAgICAgICAgICAgICB4bWxDaGFyICoKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZScpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxWYWxpZEN0eHRQdHIpCisgICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCisgICAgIGQgIGVsZW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQorICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgZCB4bWxWYWxpZGF0ZUF0dHJpYnV0ZURlY2wuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxWYWxpZGF0ZUF0dHJpYnV0ZURlY2wnKQorICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVmFsaWRDdHh0UHRyKQorICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQorICAgICBkICBhdHRyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXR0cmlidXRlUHRyKQorCisgICAgIGQgeG1sVmFsaWRhdGVBdHRyaWJ1dGVWYWx1ZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFZhbGlkYXRlQXR0cmlidXRlVmFsdWUnKQorICAgICBkICB0eXBlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXR0cmlidXRlVHlwZSkKKyAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgZCB4bWxWYWxpZGF0ZU5vdGF0aW9uRGVjbC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFZhbGlkYXRlTm90YXRpb25EZWNsJykKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFZhbGlkQ3R4dFB0cikKKyAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKKyAgICAgZCAgbm90YSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vdGF0aW9uUHRyKQorCisgICAgIGQgeG1sVmFsaWRhdGVEdGQgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVmFsaWRhdGVEdGQnKQorICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVmFsaWRDdHh0UHRyKQorICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQorICAgICBkICBkdGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRHRkUHRyKQorCisgICAgIGQgeG1sVmFsaWRhdGVEdGRGaW5hbC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFZhbGlkYXRlRHRkRmluYWwnKQorICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVmFsaWRDdHh0UHRyKQorICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQorCisgICAgIGQgeG1sVmFsaWRhdGVEb2N1bWVudC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFZhbGlkYXRlRG9jdW1lbnQnKQorICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVmFsaWRDdHh0UHRyKQorICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQorCisgICAgIGQgeG1sVmFsaWRhdGVFbGVtZW50Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVmFsaWRhdGVFbGVtZW50JykKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFZhbGlkQ3R4dFB0cikKKyAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKKyAgICAgZCAgZWxlbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisKKyAgICAgZCB4bWxWYWxpZGF0ZU9uZUVsZW1lbnQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxWYWxpZGF0ZU9uZUVsZW1lbnQnKQorICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVmFsaWRDdHh0UHRyKQorICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQorICAgICBkICBlbGVtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKworICAgICBkIHhtbFZhbGlkYXRlT25lQXR0cmlidXRlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVmFsaWRhdGVPbmVBdHRyaWJ1dGUnKQorICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVmFsaWRDdHh0UHRyKQorICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQorICAgICBkICBlbGVtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKyAgICAgZCAgYXR0ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEF0dHJQdHIpCisgICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgIGQgeG1sVmFsaWRhdGVPbmVOYW1lc3BhY2UuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxWYWxpZGF0ZU9uZU5hbWVzcGFjZScpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxWYWxpZEN0eHRQdHIpCisgICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCisgICAgIGQgIGVsZW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQorICAgICBkICBwcmVmaXggICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5zUHRyKQorICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICBkIHhtbFZhbGlkYXRlRG9jdW1lbnRGaW5hbC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFZhbGlkYXRlRG9jdW1lbnRGaW5hbCcpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxWYWxpZEN0eHRQdHIpCisgICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCisgICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9WQUxJRF9FTkFCTEVECisKKyAgICAgIC91bmRlZmluZSBYTUxfVEVTVFZBTAorICAgICAgL2lmIGRlZmluZWQoTElCWE1MX1ZBTElEX0VOQUJMRUQpCisgICAgICAvZGVmaW5lIFhNTF9URVNUVkFMCisgICAgICAvZWxzZWlmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyAgICAgIC9kZWZpbmUgWE1MX1RFU1RWQUwKKyAgICAgIC9lbmRpZgorICAgICAgL2lmIGRlZmluZWQoWE1MX1RFU1RWQUwpCisgICAgIGQgeG1sVmFsaWRhdGVOb3RhdGlvblVzZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFZhbGlkYXRlTm90YXRpb25Vc2UnKQorICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVmFsaWRDdHh0UHRyKQorICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQorICAgICBkICBub3RhdGlvbk5hbWUgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICAgL3VuZGVmaW5lIFhNTF9URVNUVkFMCisgICAgICAvZW5kaWYKKworICAgICBkIHhtbElzTWl4ZWRFbGVtZW50Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sSXNNaXhlZEVsZW1lbnQnKQorICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQorICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICBkIHhtbEdldER0ZEF0dHJEZXNjLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sR2V0RHRkQXR0ckRlc2MnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQXR0cmlidXRlUHRyKQorICAgICBkICBkdGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRHRkUHRyKQorICAgICBkICBlbGVtICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgZCB4bWxHZXREdGRRQXR0ckRlc2MuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxHZXREdGRRQXR0ckRlc2MnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQXR0cmlidXRlUHRyKQorICAgICBkICBkdGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRHRkUHRyKQorICAgICBkICBlbGVtICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIHByZWZpeCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgIGQgeG1sR2V0RHRkTm90YXRpb25EZXNjLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sR2V0RHRkTm90YXRpb25EZXNjJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vdGF0aW9uUHRyKQorICAgICBkICBkdGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRHRkUHRyKQorICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICBkIHhtbEdldER0ZFFFbGVtZW50RGVzYy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEdldER0ZFFFbGVtZW50RGVzYycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxFbGVtZW50UHRyKQorICAgICBkICBkdGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRHRkUHRyKQorICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgcHJlZml4ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgZCB4bWxHZXREdGRFbGVtZW50RGVzYy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEdldER0ZEVsZW1lbnREZXNjJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEVsZW1lbnRQdHIpCisgICAgIGQgIGR0ZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEdGRQdHIpCisgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgICAvaWYgZGVmaW5lZChMSUJYTUxfVkFMSURfRU5BQkxFRCkKKyAgICAgZCB4bWxWYWxpZEdldFBvdGVudGlhbENoaWxkcmVuLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFZhbGlkR2V0UG90ZW50aWFsQ2hpbGRyZW4nKQorICAgICBkICBjdHJlZSAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxFbGVtZW50Q29udGVudCAqCisgICAgIGQgIG5hbWVzICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKigqKQorICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwCisgICAgIGQgIG1heCAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFZhbGlkR2V0VmFsaWRFbGVtZW50cy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFZhbGlkR2V0VmFsaWRFbGVtZW50cycpCisgICAgIGQgIHByZXYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKQorICAgICBkICBuZXh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikKKyAgICAgZCAgbmFtZXMgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqKCopCisgICAgIGQgIG1heCAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFZhbGlkYXRlTmFtZVZhbHVlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVmFsaWRhdGVOYW1lVmFsdWUnKQorICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICBkIHhtbFZhbGlkYXRlTmFtZXNWYWx1ZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFZhbGlkYXRlTmFtZXNWYWx1ZScpCisgICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgIGQgeG1sVmFsaWRhdGVObXRva2VuVmFsdWUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxWYWxpZGF0ZU5tdG9rZW5WYWx1ZScpCisgICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgIGQgeG1sVmFsaWRhdGVObXRva2Vuc1ZhbHVlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVmFsaWRhdGVObXRva2Vuc1ZhbHVlJykKKyAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9SRUdFWFBfRU5BQkxFRCkKKyAgICAgICogVmFsaWRhdGlvbiBiYXNlZCBvbiB0aGUgcmVnZXhwIHN1cHBvcnQKKworICAgICBkIHhtbFZhbGlkQnVpbGRDb250ZW50TW9kZWwuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxWYWxpZEJ1aWxkQ29udGVudE1vZGVsJykKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFZhbGlkQ3R4dFB0cikKKyAgICAgZCAgZWxlbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEVsZW1lbnRQdHIpCisKKyAgICAgZCB4bWxWYWxpZGF0ZVB1c2hFbGVtZW50Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVmFsaWRhdGVQdXNoRWxlbWVudCcpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxWYWxpZEN0eHRQdHIpCisgICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCisgICAgIGQgIGVsZW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQorICAgICBkICBxbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICBkIHhtbFZhbGlkYXRlUHVzaENEYXRhLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVmFsaWRhdGVQdXNoQ0RhdGEnKQorICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVmFsaWRDdHh0UHRyKQorICAgICBkICBkYXRhICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sVmFsaWRhdGVQb3BFbGVtZW50Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVmFsaWRhdGVQb3BFbGVtZW50JykKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFZhbGlkQ3R4dFB0cikKKyAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKKyAgICAgZCAgZWxlbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisgICAgIGQgIHFuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9SRUdFWFBfRU5BQkxECisgICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9WQUxJRF9FTkFCTEVECisgICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhNTF9WQUxJRF9IX18KZGlmZiAtLWdpdCBhL2xpYnhtbDIvb3M0MDAvbGlieG1scnBnL3hpbmNsdWRlLnJwZ2xlIGIvbGlieG1sMi9vczQwMC9saWJ4bWxycGcveGluY2x1ZGUucnBnbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzBiNjhmZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvb3M0MDAvbGlieG1scnBnL3hpbmNsdWRlLnJwZ2xlCkBAIC0wLDAgKzEsMTQ3IEBACisgICAgICAqIFN1bW1hcnk6IGltcGxlbWVudGF0aW9uIG9mIFhJbmNsdWRlCisgICAgICAqIERlc2NyaXB0aW9uOiBBUEkgdG8gaGFuZGxlIFhJbmNsdWRlIHByb2Nlc3NpbmcsCisgICAgICAqIGltcGxlbWVudHMgdGhlCisgICAgICAqIFdvcmxkIFdpZGUgV2ViIENvbnNvcnRpdW0gTGFzdCBDYWxsIFdvcmtpbmcgRHJhZnQgMTAgTm92ZW1iZXIgMjAwMworICAgICAgKiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDAzL1dELXhpbmNsdWRlLTIwMDMxMTEwCisgICAgICAqCisgICAgICAqIENvcHk6IFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyAgICAgICoKKyAgICAgICogQXV0aG9yOiBQYXRyaWNrIE1vbm5lcmF0IDxwbUBkYXRhc3BoZXJlLmNoPiwgREFUQVNQSEVSRSBTLkEuCisKKyAgICAgIC9pZiBub3QgZGVmaW5lZChYTUxfWElOQ0xVREVfSF9fKQorICAgICAgL2RlZmluZSBYTUxfWElOQ0xVREVfSF9fCisKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sdmVyc2lvbiIKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcvdHJlZSIKKworICAgICAgL2lmIGRlZmluZWQoTElCWE1MX1hJTkNMVURFX0VOQUJMRUQpCisKKyAgICAgICogWElOQ0xVREVfTlM6CisgICAgICAqCisgICAgICAqIE1hY3JvIGRlZmluaW5nIHRoZSBYaW5jbHVkZSBuYW1lc3BhY2U6IGh0dHA6Ly93d3cudzMub3JnLzIwMDMvWEluY2x1ZGUKKworICAgICBkIFhJTkNMVURFX05TICAgICBjICAgICAgICAgICAgICAgICAgICdodHRwOi8vd3d3LnczLm9yZy8yMDAzL1hJbmNsdWRlJworCisKKyAgICAgICogWElOQ0xVREVfT0xEX05TOgorICAgICAgKgorICAgICAgKiBEZWZpbmUgdGhlIGRyYWZ0IFhpbmNsdWRlIG5hbWVzcGFjZTogaHR0cDovL3d3dy53My5vcmcvMjAwMS9YSW5jbHVkZQorCisgICAgIGQgWElOQ0xVREVfT0xEX05TLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgJ2h0dHA6Ly93d3cudzMub3JnLzIwMDEvWEluY2x1ZGUnCisKKyAgICAgICogWElOQ0xVREVfTk9ERToKKyAgICAgICoKKyAgICAgICogTWFjcm8gZGVmaW5pbmcgImluY2x1ZGUiCisKKyAgICAgZCBYSU5DTFVERV9OT0RFICAgYyAgICAgICAgICAgICAgICAgICAnaW5jbHVkZScKKworICAgICAgKiBYSU5DTFVERV9GQUxMQkFDSzoKKyAgICAgICoKKyAgICAgICogTWFjcm8gZGVmaW5pbmcgImZhbGxiYWNrIgorCisgICAgIGQgWElOQ0xVREVfRkFMTEJBQ0suLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAnZmFsbGJhY2snCisKKyAgICAgICogWElOQ0xVREVfSFJFRjoKKyAgICAgICoKKyAgICAgICogTWFjcm8gZGVmaW5pbmcgImhyZWYiCisKKyAgICAgZCBYSU5DTFVERV9IUkVGICAgYyAgICAgICAgICAgICAgICAgICAnaHJlZicKKworICAgICAgKiBYSU5DTFVERV9QQVJTRToKKyAgICAgICoKKyAgICAgICogTWFjcm8gZGVmaW5pbmcgInBhcnNlIgorCisgICAgIGQgWElOQ0xVREVfUEFSU0UgIGMgICAgICAgICAgICAgICAgICAgJ3BhcnNlJworCisgICAgICAqIFhJTkNMVURFX1BBUlNFX1hNTDoKKyAgICAgICoKKyAgICAgICogTWFjcm8gZGVmaW5pbmcgInhtbCIKKworICAgICBkIFhJTkNMVURFX1BBUlNFX1hNTC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgICd4bWwnCisKKyAgICAgICogWElOQ0xVREVfUEFSU0VfVEVYVDoKKyAgICAgICoKKyAgICAgICogTWFjcm8gZGVmaW5pbmcgInRleHQiCisKKyAgICAgZCBYSU5DTFVERV9QQVJTRV9URVhULi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgJ3RleHQnCisKKyAgICAgICogWElOQ0xVREVfUEFSU0VfRU5DT0RJTkc6CisgICAgICAqCisgICAgICAqIE1hY3JvIGRlZmluaW5nICJlbmNvZGluZyIKKworICAgICBkIFhJTkNMVURFX1BBUlNFX0VOQ09ESU5HLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgJ2VuY29kaW5nJworCisgICAgICAqIFhJTkNMVURFX1BBUlNFX1hQT0lOVEVSOgorICAgICAgKgorICAgICAgKiBNYWNybyBkZWZpbmluZyAieHBvaW50ZXIiCisKKyAgICAgZCBYSU5DTFVERV9QQVJTRV9YUE9JTlRFUi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgICd4cG9pbnRlcicKKworICAgICBkIHhtbFhJbmNsdWRlQ3R4dFB0ci4uLgorICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisKKyAgICAgICogc3RhbmRhbG9uZSBwcm9jZXNzaW5nCisKKyAgICAgZCB4bWxYSW5jbHVkZVByb2Nlc3MuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxYSW5jbHVkZVByb2Nlc3MnKQorICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQorCisgICAgIGQgeG1sWEluY2x1ZGVQcm9jZXNzRmxhZ3MuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxYSW5jbHVkZVByb2Nlc3NGbGFncycpCisgICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCisgICAgIGQgIGZsYWdzICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFhJbmNsdWRlUHJvY2Vzc0ZsYWdzRGF0YS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFhJbmNsdWRlUHJvY2Vzc0ZsYWdzRGF0YScpCisgICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCisgICAgIGQgIGZsYWdzICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgZGF0YSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCisKKyAgICAgZCB4bWxYSW5jbHVkZVByb2Nlc3NUcmVlRmxhZ3NEYXRhLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sWEluY2x1ZGVQcm9jZXNzVHJlZUZsYWdzRGF0YScpCisgICAgIGQgIHRyZWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQorICAgICBkICBmbGFncyAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIGRhdGEgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorCisgICAgIGQgeG1sWEluY2x1ZGVQcm9jZXNzVHJlZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFhJbmNsdWRlUHJvY2Vzc1RyZWUnKQorICAgICBkICB0cmVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKworICAgICBkIHhtbFhJbmNsdWRlUHJvY2Vzc1RyZWVGbGFncy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFhJbmNsdWRlUHJvY2Vzc1RyZWVGbGFncycpCisgICAgIGQgIHRyZWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQorICAgICBkICBmbGFncyAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKworICAgICAgKiBjb250ZXh0dWFsIHByb2Nlc3NpbmcKKworICAgICBkIHhtbFhJbmNsdWRlTmV3Q29udGV4dC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhJbmNsdWRlTmV3Q29udGV4dCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxYSW5jbHVkZUN0eHRQdHIpCisgICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCisKKyAgICAgZCB4bWxYSW5jbHVkZVNldEZsYWdzLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sWEluY2x1ZGVTZXRGbGFncycpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYSW5jbHVkZUN0eHRQdHIpCisgICAgIGQgIGZsYWdzICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFhJbmNsdWRlRnJlZUNvbnRleHQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYSW5jbHVkZUZyZWVDb250ZXh0JykKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhJbmNsdWRlQ3R4dFB0cikKKworICAgICBkIHhtbFhJbmNsdWRlUHJvY2Vzc05vZGUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxYSW5jbHVkZVByb2Nlc3NOb2RlJykKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhJbmNsdWRlQ3R4dFB0cikKKyAgICAgZCAgdHJlZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisKKyAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWElOQ0xVREVfRU5BQkxFRAorICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfWElOQ0xVREVfSF9fCmRpZmYgLS1naXQgYS9saWJ4bWwyL29zNDAwL2xpYnhtbHJwZy94bGluay5ycGdsZSBiL2xpYnhtbDIvb3M0MDAvbGlieG1scnBnL3hsaW5rLnJwZ2xlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk2NGU2MDUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL29zNDAwL2xpYnhtbHJwZy94bGluay5ycGdsZQpAQCAtMCwwICsxLDE2NCBAQAorICAgICAgKiBTdW1tYXJ5OiB1bmZpbmlzaGVkIFhMaW5rIGRldGVjdGlvbiBtb2R1bGUKKyAgICAgICogRGVzY3JpcHRpb246IHVuZmluaXNoZWQgWExpbmsgZGV0ZWN0aW9uIG1vZHVsZQorICAgICAgKgorICAgICAgKiBDb3B5OiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisgICAgICAqCisgICAgICAqIEF1dGhvcjogUGF0cmljayBNb25uZXJhdCA8cG1AZGF0YXNwaGVyZS5jaD4sIERBVEFTUEhFUkUgUy5BLgorCisgICAgICAvaWYgbm90IGRlZmluZWQoWE1MX1hMSU5LX0hfXykKKyAgICAgIC9kZWZpbmUgWE1MX1hMSU5LX0hfXworCisgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbHZlcnNpb24iCisgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3RyZWUiCisKKyAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9YUFRSX0VOQUJMRUQpCisKKyAgICAgICogVmFyaW91cyBkZWZpbmVzIGZvciB0aGUgdmFyaW91cyBMaW5rIHByb3BlcnRpZXMuCisgICAgICAqCisgICAgICAqIE5PVEU6IHRoZSBsaW5rIGRldGVjdGlvbiBsYXllciB3aWxsIHRyeSB0byByZXNvbHZlIFFOYW1lIGV4cGFuc2lvbgorICAgICAgKiAgICAgICBvZiBuYW1lc3BhY2VzLiBJZiAiZm9vIiBpcyB0aGUgcHJlZml4IGZvciAiaHR0cDovL2Zvby5jb20vIgorICAgICAgKiAgICAgICB0aGVuIHRoZSBsaW5rIGRldGVjdGlvbiBsYXllciB3aWxsIGV4cGFuZCByb2xlPSJmb286bXlyb2xlIgorICAgICAgKiAgICAgICB0byAiaHR0cDovL2Zvby5jb20vOm15cm9sZSIuCisgICAgICAqIE5PVEU6IHRoZSBsaW5rIGRldGVjdGlvbiBsYXllciB3aWxsIGV4cGFuZCBVUkktUmVmZW5jZXMgZm91bmQgb24KKyAgICAgICogICAgICAgaHJlZiBhdHRyaWJ1dGVzIGJ5IHVzaW5nIHRoZSBiYXNlIG1lY2hhbmlzbSBpZiBmb3VuZC4KKworICAgICBkIHhsaW5rUmVmICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpICAgICAgICAgICB4bWxDaGFyICoKKyAgICAgZCB4bGlua1JvbGUgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKSAgICAgICAgICAgeG1sQ2hhciAqCisgICAgIGQgeGxpbmtUaXRsZSAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykgICAgICAgICAgIHhtbENoYXIgKgorCisgICAgIGQgeGxpbmtUeXBlICAgICAgIHMgICAgICAgICAgICAgMTBpIDAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykgICAgICAgICAgIGVudW0KKyAgICAgZCAgWExJTktfVFlQRV9OT05FLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMAorICAgICBkICBYTElOS19UWVBFX1NJTVBMRS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEKKyAgICAgZCAgWExJTktfVFlQRV9FWFRFTkRFRC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDIKKyAgICAgZCAgWExJTktfVFlQRV9FWFRFTkRFRF9TRVQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzCisKKyAgICAgZCB4bGlua1Nob3cgICAgICAgcyAgICAgICAgICAgICAxMGkgMCBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKSAgICAgICAgICAgZW51bQorICAgICBkICBYTElOS19TSE9XX05PTkUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAwCisgICAgIGQgIFhMSU5LX1NIT1dfTkVXLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMQorICAgICBkICBYTElOS19TSE9XX0VNQkVELi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMgorICAgICBkICBYTElOS19TSE9XX1JFUExBQ0UuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzCisKKyAgICAgZCB4bGlua0FjdHVhdGUgICAgcyAgICAgICAgICAgICAxMGkgMCBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKSAgICAgICAgICAgZW51bQorICAgICBkICBYTElOS19BQ1RVQVRFX05PTkUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAwCisgICAgIGQgIFhMSU5LX0FDVFVBVEVfQVVUTy4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEKKyAgICAgZCAgWExJTktfQUNUVUFURV9PTlJFUVVFU1QuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAyCisKKyAgICAgICogeGxpbmtOb2RlRGV0ZWN0RnVuYzoKKyAgICAgICogQGN0eDogIHVzZXIgZGF0YSBwb2ludGVyCisgICAgICAqIEBub2RlOiAgdGhlIG5vZGUgdG8gY2hlY2sKKyAgICAgICoKKyAgICAgICogVGhpcyBpcyB0aGUgcHJvdG90eXBlIGZvciB0aGUgbGluayBkZXRlY3Rpb24gcm91dGluZS4KKyAgICAgICogSXQgY2FsbHMgdGhlIGRlZmF1bHQgbGluayBkZXRlY3Rpb24gY2FsbGJhY2tzIHVwb24gbGluayBkZXRlY3Rpb24uCisKKyAgICAgZCB4bGlua05vZGVEZXRlY3RGdW5jLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jcHRyCisKKyAgICAgICogVGhlIGxpbmsgZGV0ZWN0aW9uIG1vZHVsZSBpbnRlcmFjdCB3aXRoIHRoZSB1cHBlciBsYXllcnMgdXNpbmcKKyAgICAgICogYSBzZXQgb2YgY2FsbGJhY2sgcmVnaXN0ZXJlZCBhdCBwYXJzaW5nIHRpbWUuCisKKyAgICAgICogeGxpbmtTaW1wbGVMaW5rRnVuazoKKyAgICAgICogQGN0eDogIHVzZXIgZGF0YSBwb2ludGVyCisgICAgICAqIEBub2RlOiAgdGhlIG5vZGUgY2FycnlpbmcgdGhlIGxpbmsKKyAgICAgICogQGhyZWY6ICB0aGUgdGFyZ2V0IG9mIHRoZSBsaW5rCisgICAgICAqIEByb2xlOiAgdGhlIHJvbGUgc3RyaW5nCisgICAgICAqIEB0aXRsZTogIHRoZSBsaW5rIHRpdGxlCisgICAgICAqCisgICAgICAqIFRoaXMgaXMgdGhlIHByb3RvdHlwZSBmb3IgYSBzaW1wbGUgbGluayBkZXRlY3Rpb24gY2FsbGJhY2suCisKKyAgICAgZCB4bGlua1NpbXBsZUxpbmtGdW5rLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jcHRyCisKKyAgICAgICogeGxpbmtFeHRlbmRlZExpbmtGdW5rOgorICAgICAgKiBAY3R4OiAgdXNlciBkYXRhIHBvaW50ZXIKKyAgICAgICogQG5vZGU6ICB0aGUgbm9kZSBjYXJyeWluZyB0aGUgbGluaworICAgICAgKiBAbmJMb2NhdG9yczogdGhlIG51bWJlciBvZiBsb2NhdG9ycyBkZXRlY3RlZCBvbiB0aGUgbGluaworICAgICAgKiBAaHJlZnM6ICBwb2ludGVyIHRvIHRoZSBhcnJheSBvZiBsb2NhdG9yIGhyZWZzCisgICAgICAqIEByb2xlczogIHBvaW50ZXIgdG8gdGhlIGFycmF5IG9mIGxvY2F0b3Igcm9sZXMKKyAgICAgICogQG5iQXJjczogdGhlIG51bWJlciBvZiBhcmNzIGRldGVjdGVkIG9uIHRoZSBsaW5rCisgICAgICAqIEBmcm9tOiAgcG9pbnRlciB0byB0aGUgYXJyYXkgb2Ygc291cmNlIHJvbGVzIGZvdW5kIG9uIHRoZSBhcmNzCisgICAgICAqIEB0bzogIHBvaW50ZXIgdG8gdGhlIGFycmF5IG9mIHRhcmdldCByb2xlcyBmb3VuZCBvbiB0aGUgYXJjcworICAgICAgKiBAc2hvdzogIGFycmF5IG9mIHZhbHVlcyBmb3IgdGhlIHNob3cgYXR0cmlidXRlcyBmb3VuZCBvbiB0aGUgYXJjcworICAgICAgKiBAYWN0dWF0ZTogIGFycmF5IG9mIHZhbHVlcyBmb3IgdGhlIGFjdHVhdGUgYXR0cmlidXRlcyBmb3VuZCBvbiB0aGUgYXJjcworICAgICAgKiBAbmJUaXRsZXM6IHRoZSBudW1iZXIgb2YgdGl0bGVzIGRldGVjdGVkIG9uIHRoZSBsaW5rCisgICAgICAqIEB0aXRsZTogIGFycmF5IG9mIHRpdGxlcyBkZXRlY3RlZCBvbiB0aGUgbGluaworICAgICAgKiBAbGFuZ3M6ICBhcnJheSBvZiB4bWw6bGFuZyB2YWx1ZXMgZm9yIHRoZSB0aXRsZXMKKyAgICAgICoKKyAgICAgICogVGhpcyBpcyB0aGUgcHJvdG90eXBlIGZvciBhIGV4dGVuZGVkIGxpbmsgZGV0ZWN0aW9uIGNhbGxiYWNrLgorCisgICAgIGQgeGxpbmtFeHRlbmRlZExpbmtGdW5rLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jcHRyCisKKyAgICAgICogeGxpbmtFeHRlbmRlZExpbmtTZXRGdW5rOgorICAgICAgKiBAY3R4OiAgdXNlciBkYXRhIHBvaW50ZXIKKyAgICAgICogQG5vZGU6ICB0aGUgbm9kZSBjYXJyeWluZyB0aGUgbGluaworICAgICAgKiBAbmJMb2NhdG9yczogdGhlIG51bWJlciBvZiBsb2NhdG9ycyBkZXRlY3RlZCBvbiB0aGUgbGluaworICAgICAgKiBAaHJlZnM6ICBwb2ludGVyIHRvIHRoZSBhcnJheSBvZiBsb2NhdG9yIGhyZWZzCisgICAgICAqIEByb2xlczogIHBvaW50ZXIgdG8gdGhlIGFycmF5IG9mIGxvY2F0b3Igcm9sZXMKKyAgICAgICogQG5iVGl0bGVzOiB0aGUgbnVtYmVyIG9mIHRpdGxlcyBkZXRlY3RlZCBvbiB0aGUgbGluaworICAgICAgKiBAdGl0bGU6ICBhcnJheSBvZiB0aXRsZXMgZGV0ZWN0ZWQgb24gdGhlIGxpbmsKKyAgICAgICogQGxhbmdzOiAgYXJyYXkgb2YgeG1sOmxhbmcgdmFsdWVzIGZvciB0aGUgdGl0bGVzCisgICAgICAqCisgICAgICAqIFRoaXMgaXMgdGhlIHByb3RvdHlwZSBmb3IgYSBleHRlbmRlZCBsaW5rIHNldCBkZXRlY3Rpb24gY2FsbGJhY2suCisKKyAgICAgZCB4bGlua0V4dGVuZGVkTGlua1NldEZ1bmsuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NwdHIKKworICAgICAgKiBUaGlzIGlzIHRoZSBzdHJ1Y3R1cmUgY29udGFpbmluZyBhIHNldCBvZiBMaW5rcyBkZXRlY3Rpb24gY2FsbGJhY2tzLgorICAgICAgKgorICAgICAgKiBUaGVyZSBpcyBubyBkZWZhdWx0IHhsaW5rIGNhbGxiYWNrcywgaWYgb25lIHdhbnQgdG8gZ2V0IGxpbmsKKyAgICAgICogcmVjb2duaXRpb24gYWN0aXZhdGVkLCB0aG9zZSBjYWxsIGJhY2tzIG11c3QgYmUgcHJvdmlkZWQgYmVmb3JlIHBhcnNpbmcuCisKKyAgICAgZCB4bGlua0hhbmRsZXJQdHIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKSAgICAgICAgICAgeG1sQ2hhciAqCisKKyAgICAgZCB4bGlua0hhbmRsZXIgICAgZHMgICAgICAgICAgICAgICAgICBiYXNlZCh4bGlua0hhbmRsZXJQdHIpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24gcXVhbGlmaWVkCisgICAgIGQgIHNpbXBsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bGlua1NpbXBsZUxpbmtGdW5rKQorICAgICBkICBleHRlbmRlZCAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeGxpbmtFeHRlbmRlZExpbmtGdW5rKQorICAgICBkICBzZXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeGxpbmtFeHRlbmRlZExpbmtTZXRGdW5rKQorCisgICAgICAqIFRoZSBkZWZhdWx0IGRldGVjdGlvbiByb3V0aW5lLCBjYW4gYmUgb3ZlcnJpZGRlbiwgdGhleSBjYWxsIHRoZSBkZWZhdWx0CisgICAgICAqIGRldGVjdGlvbiBjYWxsYmFja3MuCisKKyAgICAgZCB4bGlua0dldERlZmF1bHREZXRlY3QuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bGlua0dldERlZmF1bHREZXRlY3QnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeGxpbmtOb2RlRGV0ZWN0RnVuYykKKworICAgICBkIHhsaW5rU2V0RGVmYXVsdERldGVjdC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3hsaW5rU2V0RGVmYXVsdERldGVjdCcpCisgICAgIGQgIGZ1bmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bGlua05vZGVEZXRlY3RGdW5jKQorCisgICAgICAqIFJvdXRpbmVzIHRvIHNldC9nZXQgdGhlIGRlZmF1bHQgaGFuZGxlcnMuCisKKyAgICAgZCB4bGlua0dldERlZmF1bHRIYW5kbGVyLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneGxpbmtHZXREZWZhdWx0SGFuZGxlcicpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bGlua0hhbmRsZXJQdHIpCisKKyAgICAgZCB4bGlua1NldERlZmF1bHRIYW5kbGVyLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneGxpbmtTZXREZWZhdWx0SGFuZGxlcicpCisgICAgIGQgIGhhbmRsZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bGlua0hhbmRsZXJQdHIpCisKKyAgICAgICogTGluayBkZXRlY3Rpb24gbW9kdWxlIGl0c2VsZi4KKworICAgICBkIHhsaW5rSXNMaW5rICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3hsaW5rSXNMaW5rJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhsaW5rVHlwZSkKKyAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKKyAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisKKyAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCWE1MX1hQVFJfRU5BQkxFRAorICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfWExJTktfSF9fCmRpZmYgLS1naXQgYS9saWJ4bWwyL29zNDAwL2xpYnhtbHJwZy94bWxJTy5ycGdsZSBiL2xpYnhtbDIvb3M0MDAvbGlieG1scnBnL3htbElPLnJwZ2xlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcyOTExYmMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL29zNDAwL2xpYnhtbHJwZy94bWxJTy5ycGdsZQpAQCAtMCwwICsxLDQ0MSBAQAorICAgICAgKiBTdW1tYXJ5OiBpbnRlcmZhY2UgZm9yIHRoZSBJL08gaW50ZXJmYWNlcyB1c2VkIGJ5IHRoZSBwYXJzZXIKKyAgICAgICogRGVzY3JpcHRpb246IGludGVyZmFjZSBmb3IgdGhlIEkvTyBpbnRlcmZhY2VzIHVzZWQgYnkgdGhlIHBhcnNlcgorICAgICAgKgorICAgICAgKiBDb3B5OiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisgICAgICAqCisgICAgICAqIEF1dGhvcjogUGF0cmljayBNb25uZXJhdCA8cG1AZGF0YXNwaGVyZS5jaD4sIERBVEFTUEhFUkUgUy5BLgorCisgICAgICAvaWYgbm90IGRlZmluZWQoWE1MX0lPX0hfXykKKyAgICAgIC9kZWZpbmUgWE1MX0lPX0hfXworCisgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbHZlcnNpb24iCisKKyAgICAgICogVGhvc2UgYXJlIHRoZSBmdW5jdGlvbnMgYW5kIGRhdGF0eXBlcyBmb3IgdGhlIHBhcnNlciBpbnB1dAorICAgICAgKiBJL08gc3RydWN0dXJlcy4KKworICAgICAgKiB4bWxJbnB1dE1hdGNoQ2FsbGJhY2s6CisgICAgICAqIEBmaWxlbmFtZTogdGhlIGZpbGVuYW1lIG9yIFVSSQorICAgICAgKgorICAgICAgKiBDYWxsYmFjayB1c2VkIGluIHRoZSBJL08gSW5wdXQgQVBJIHRvIGRldGVjdCBpZiB0aGUgY3VycmVudCBoYW5kbGVyCisgICAgICAqIGNhbiBwcm92aWRlIGlucHV0IGZvbmN0aW9ubmFsaXRpZXMgZm9yIHRoaXMgcmVzb3VyY2UuCisgICAgICAqCisgICAgICAqIFJldHVybnMgMSBpZiB5ZXMgYW5kIDAgaWYgYW5vdGhlciBJbnB1dCBtb2R1bGUgc2hvdWxkIGJlIHVzZWQKKworICAgICBkIHhtbElucHV0TWF0Y2hDYWxsYmFjay4uLgorICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY3B0cgorCisgICAgICAqIHhtbElucHV0T3BlbkNhbGxiYWNrOgorICAgICAgKiBAZmlsZW5hbWU6IHRoZSBmaWxlbmFtZSBvciBVUkkKKyAgICAgICoKKyAgICAgICogQ2FsbGJhY2sgdXNlZCBpbiB0aGUgSS9PIElucHV0IEFQSSB0byBvcGVuIHRoZSByZXNvdXJjZQorICAgICAgKgorICAgICAgKiBSZXR1cm5zIGFuIElucHV0IGNvbnRleHQgb3IgTlVMTCBpbiBjYXNlIG9yIGVycm9yCisKKyAgICAgZCB4bWxJbnB1dE9wZW5DYWxsYmFjay4uLgorICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY3B0cgorCisgICAgICAqIHhtbElucHV0UmVhZENhbGxiYWNrOgorICAgICAgKiBAY29udGV4dDogIGFuIElucHV0IGNvbnRleHQKKyAgICAgICogQGJ1ZmZlcjogIHRoZSBidWZmZXIgdG8gc3RvcmUgZGF0YSByZWFkCisgICAgICAqIEBsZW46ICB0aGUgbGVuZ3RoIG9mIHRoZSBidWZmZXIgaW4gYnl0ZXMKKyAgICAgICoKKyAgICAgICogQ2FsbGJhY2sgdXNlZCBpbiB0aGUgSS9PIElucHV0IEFQSSB0byByZWFkIHRoZSByZXNvdXJjZQorICAgICAgKgorICAgICAgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgYnl0ZXMgcmVhZCBvciAtMSBpbiBjYXNlIG9mIGVycm9yCisKKyAgICAgZCB4bWxJbnB1dFJlYWRDYWxsYmFjay4uLgorICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY3B0cgorCisgICAgICAqIHhtbElucHV0Q2xvc2VDYWxsYmFjazoKKyAgICAgICogQGNvbnRleHQ6ICBhbiBJbnB1dCBjb250ZXh0CisgICAgICAqCisgICAgICAqIENhbGxiYWNrIHVzZWQgaW4gdGhlIEkvTyBJbnB1dCBBUEkgdG8gY2xvc2UgdGhlIHJlc291cmNlCisgICAgICAqCisgICAgICAqIFJldHVybnMgMCBvciAtMSBpbiBjYXNlIG9mIGVycm9yCisKKyAgICAgZCB4bWxJbnB1dENsb3NlQ2FsbGJhY2suLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NwdHIKKworICAgICAgL2lmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQorCisgICAgICAqIFRob3NlIGFyZSB0aGUgZnVuY3Rpb25zIGFuZCBkYXRhdHlwZXMgZm9yIHRoZSBsaWJyYXJ5IG91dHB1dAorICAgICAgKiBJL08gc3RydWN0dXJlcy4KKworICAgICAgKiB4bWxPdXRwdXRNYXRjaENhbGxiYWNrOgorICAgICAgKiBAZmlsZW5hbWU6IHRoZSBmaWxlbmFtZSBvciBVUkkKKyAgICAgICoKKyAgICAgICogQ2FsbGJhY2sgdXNlZCBpbiB0aGUgSS9PIE91dHB1dCBBUEkgdG8gZGV0ZWN0IGlmIHRoZSBjdXJyZW50IGhhbmRsZXIKKyAgICAgICogY2FuIHByb3ZpZGUgb3V0cHV0IGZvbmN0aW9ubmFsaXRpZXMgZm9yIHRoaXMgcmVzb3VyY2UuCisgICAgICAqCisgICAgICAqIFJldHVybnMgMSBpZiB5ZXMgYW5kIDAgaWYgYW5vdGhlciBPdXRwdXQgbW9kdWxlIHNob3VsZCBiZSB1c2VkCisKKyAgICAgZCB4bWxPdXRwdXRNYXRjaENhbGxiYWNrLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jcHRyCisKKyAgICAgICogeG1sT3V0cHV0T3BlbkNhbGxiYWNrOgorICAgICAgKiBAZmlsZW5hbWU6IHRoZSBmaWxlbmFtZSBvciBVUkkKKyAgICAgICoKKyAgICAgICogQ2FsbGJhY2sgdXNlZCBpbiB0aGUgSS9PIE91dHB1dCBBUEkgdG8gb3BlbiB0aGUgcmVzb3VyY2UKKyAgICAgICoKKyAgICAgICogUmV0dXJucyBhbiBPdXRwdXQgY29udGV4dCBvciBOVUxMIGluIGNhc2Ugb3IgZXJyb3IKKworICAgICBkIHhtbE91dHB1dE9wZW5DYWxsYmFjay4uLgorICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY3B0cgorCisgICAgICAqIHhtbE91dHB1dFdyaXRlQ2FsbGJhY2s6CisgICAgICAqIEBjb250ZXh0OiAgYW4gT3V0cHV0IGNvbnRleHQKKyAgICAgICogQGJ1ZmZlcjogIHRoZSBidWZmZXIgb2YgZGF0YSB0byB3cml0ZQorICAgICAgKiBAbGVuOiAgdGhlIGxlbmd0aCBvZiB0aGUgYnVmZmVyIGluIGJ5dGVzCisgICAgICAqCisgICAgICAqIENhbGxiYWNrIHVzZWQgaW4gdGhlIEkvTyBPdXRwdXQgQVBJIHRvIHdyaXRlIHRvIHRoZSByZXNvdXJjZQorICAgICAgKgorICAgICAgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgYnl0ZXMgd3JpdHRlbiBvciAtMSBpbiBjYXNlIG9mIGVycm9yCisKKyAgICAgZCB4bWxPdXRwdXRXcml0ZUNhbGxiYWNrLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jcHRyCisKKyAgICAgICogeG1sT3V0cHV0Q2xvc2VDYWxsYmFjazoKKyAgICAgICogQGNvbnRleHQ6ICBhbiBPdXRwdXQgY29udGV4dAorICAgICAgKgorICAgICAgKiBDYWxsYmFjayB1c2VkIGluIHRoZSBJL08gT3V0cHV0IEFQSSB0byBjbG9zZSB0aGUgcmVzb3VyY2UKKyAgICAgICoKKyAgICAgICogUmV0dXJucyAwIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IKKworICAgICBkIHhtbE91dHB1dENsb3NlQ2FsbGJhY2suLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NwdHIKKyAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCWE1MX09VVFBVVF9FTkFCTEQKKworICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy9nbG9iYWxzIgorICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy90cmVlIgorICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy9wYXJzZXIiCisgICAgICAvaW5jbHVkZSAibGlieG1scnBnL2VuY29kaW5nIgorCisgICAgIGQgeG1sUGFyc2VySW5wdXRCdWZmZXIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgZHMgICAgICAgICAgICAgICAgICBiYXNlZCh4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cikKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbiBxdWFsaWZpZWQKKyAgICAgZCAgY29udGV4dCAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCisgICAgIGQgIHJlYWRjYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxJbnB1dFJlYWRDYWxsYmFjaykKKyAgICAgZCAgY2xvc2VjYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbElucHV0Q2xvc2VDYWxsYmFjaykKKyAgICAgICoKKyAgICAgZCAgZW5jb2RlciAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIpICAgICAgQ29udmVyc2lvbnMgLS0+IFVURjgKKyAgICAgICoKKyAgICAgZCAgYnVmZmVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEJ1ZlB0cikgICAgICAgICAgICAgICAgICAgICAgVVRGLTggbG9jYWwgYnVmZmVyCisgICAgIGQgIHJhdyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxCdWZQdHIpICAgICAgICAgICAgICAgICAgICAgIFJhdyBpbnB1dCBidWZmZXIKKyAgICAgZCAgY29tcHJlc3NlZCAgICAgICAgICAgICAgICAgICAxMGkgMAorICAgICBkICBlcnJvciAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwCisgICAgIGQgIHJhd2NvbnN1bWVkICAgICAgICAgICAgICAgICAgMjB1IDAKKworICAgICAgL2lmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQorICAgICBkIHhtbE91dHB1dEJ1ZmZlci4uLgorICAgICBkICAgICAgICAgICAgICAgICBkcyAgICAgICAgICAgICAgICAgIGJhc2VkKHhtbE91dHB1dEJ1ZmZlclB0cikKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbiBxdWFsaWZpZWQKKyAgICAgZCAgY29udGV4dCAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCisgICAgIGQgIHdyaXRlY2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxPdXRwdXRXcml0ZUNhbGxiYWNrKQorICAgICBkICBjbG9zZWNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sT3V0cHV0Q2xvc2VDYWxsYmFjaykKKyAgICAgICoKKyAgICAgZCAgZW5jb2RlciAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIpICAgICAgQ29udmVyc2lvbnMgLS0+IFVURjgKKyAgICAgICoKKyAgICAgZCAgYnVmZmVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEJ1ZlB0cikgICAgICAgICAgICAgICAgICAgICAgVVRGLTgvSVNPTGF0aW4gbG9jYWwKKyAgICAgZCAgY29udiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEJ1ZlB0cikgICAgICAgICAgICAgICAgICAgICAgQnVmZmVyIGZvciBvdXRwdXQKKyAgICAgZCAgd3JpdHRlbiAgICAgICAgICAgICAgICAgICAgICAxMGkgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG90YWwgIyBieXRlIHdyaXR0ZW4KKyAgICAgZCAgZXJyb3IgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMAorICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTUxfT1VUUFVUX0VOQUJMRAorCisgICAgICAqIEludGVyZmFjZXMgZm9yIGlucHV0CisKKyAgICAgZCB4bWxDbGVhbnVwSW5wdXRDYWxsYmFja3MuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxDbGVhbnVwSW5wdXRDYWxsYmFja3MnKQorCisgICAgIGQgeG1sUG9wSW5wdXRDYWxsYmFja3MuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxQb3BJbnB1dENhbGxiYWNrcycpCisKKyAgICAgZCB4bWxSZWdpc3RlckRlZmF1bHRJbnB1dENhbGxiYWNrcy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxSZWdpc3RlckRlZmF1bHRJbnB1dENhbGxiYWNrcycpCisKKyAgICAgZCB4bWxBbGxvY1BhcnNlcklucHV0QnVmZmVyLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQWxsb2NQYXJzZXJJbnB1dEJ1ZmZlcicpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cikKKyAgICAgZCAgZW5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENoYXJFbmNvZGluZykKKworICAgICBkIHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFBhcnNlcklucHV0QnVmZmVyUHRyKQorICAgICBkICBVUkkgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgZW5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENoYXJFbmNvZGluZykKKworICAgICBkIHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGUnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIpCisgICAgIGQgIGZpbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZJTEUgKgorICAgICBkICBlbmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2hhckVuY29kaW5nKQorCisgICAgIGQgeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGZC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZkJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFBhcnNlcklucHV0QnVmZmVyUHRyKQorICAgICBkICBmZCAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIGVuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaGFyRW5jb2RpbmcpCisKKyAgICAgZCB4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZU1lbS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZU1lbScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cikKKyAgICAgZCAgbWVtICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIHNpemUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgZW5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENoYXJFbmNvZGluZykKKworICAgICBkIHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlU3RhdGljLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlU3RhdGljJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFBhcnNlcklucHV0QnVmZmVyUHRyKQorICAgICBkICBtZW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBlbmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2hhckVuY29kaW5nKQorCisgICAgIGQgeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVJTy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUlPJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFBhcnNlcklucHV0QnVmZmVyUHRyKQorICAgICBkICBpb3JlYWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sSW5wdXRSZWFkQ2FsbGJhY2spCisgICAgIGQgIGlvY2xvc2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxJbnB1dENsb3NlQ2FsbGJhY2spCisgICAgIGQgIGlvY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorICAgICBkICBlbmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2hhckVuY29kaW5nKQorCisgICAgIGQgeG1sUGFyc2VySW5wdXRCdWZmZXJSZWFkLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sUGFyc2VySW5wdXRCdWZmZXJSZWFkJykKKyAgICAgZCAgaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlcklucHV0QnVmZmVyUHRyKQorICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxQYXJzZXJJbnB1dEJ1ZmZlckdyb3cuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxQYXJzZXJJbnB1dEJ1ZmZlckdyb3cnKQorICAgICBkICBpbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIpCisgICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFBhcnNlcklucHV0QnVmZmVyUHVzaC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFBhcnNlcklucHV0QnVmZmVyUHVzaCcpCisgICAgIGQgIGluICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cikKKyAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBidWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKworICAgICBkIHhtbEZyZWVQYXJzZXJJbnB1dEJ1ZmZlci4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEZyZWVQYXJzZXJJbnB1dEJ1ZmZlcicpCisgICAgIGQgIGluICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cikKKworICAgICBkIHhtbFBhcnNlckdldERpcmVjdG9yeS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbFBhcnNlckdldERpcmVjdG9yeScpICAgICBjaGFyICoKKyAgICAgZCAgZmlsZW5hbWUgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisKKyAgICAgZCB4bWxSZWdpc3RlcklucHV0Q2FsbGJhY2tzLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sUmVnaXN0ZXJJbnB1dENhbGxiYWNrcycpCisgICAgIGQgIG1hdGNoRnVuYyAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxJbnB1dE1hdGNoQ2FsbGJhY2spCisgICAgIGQgIG9wZW5GdW5jICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxJbnB1dE9wZW5DYWxsYmFjaykKKyAgICAgZCAgcmVhZEZ1bmMgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbElucHV0UmVhZENhbGxiYWNrKQorICAgICBkICBjbG9zZUZ1bmMgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sSW5wdXRDbG9zZUNhbGxiYWNrKQorCisgICAgICAvaWYgZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpCisKKyAgICAgICogSW50ZXJmYWNlcyBmb3Igb3V0cHV0CisKKyAgICAgZCB4bWxDbGVhbnVwT3V0cHV0Q2FsbGJhY2tzLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQ2xlYW51cE91dHB1dENhbGxiYWNrcycpCisKKyAgICAgZCB4bWxSZWdpc3RlckRlZmF1bHRPdXRwdXRDYWxsYmFja3MuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sUmVnaXN0ZXJEZWZhdWx0T3VwdXRDYWxsYmFja3MnKQorCisgICAgIGQgeG1sQWxsb2NPdXRwdXRCdWZmZXIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxBbGxvY091dHB1dEJ1ZmZlcicpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxPdXRwdXRCdWZmZXJQdHIpCisgICAgIGQgIGVuY29kZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIpCisKKyAgICAgZCB4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxPdXRwdXRCdWZmZXJQdHIpCisgICAgIGQgIFVSSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBlbmNvZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyKQorICAgICBkICBjb21wcmVzc2lvbiAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxPdXRwdXRCdWZmZXJQdHIpCisgICAgIGQgIGZpbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZJTEUgKgorICAgICBkICBlbmNvZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyKQorCisgICAgIGQgeG1sT3V0cHV0QnVmZmVyQ3JlYXRlQnVmZmVyLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbE91dHB1dEJ1ZmZlckNyZWF0ZUJ1ZmZlcicpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxPdXRwdXRCdWZmZXJQdHIpCisgICAgIGQgIGJ1ZmZlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxCdWZmZXJQdHIpCisgICAgIGQgIGVuY29kZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIpCisKKyAgICAgZCB4bWxPdXRwdXRCdWZmZXJDcmVhdGVGZC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZkJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE91dHB1dEJ1ZmZlclB0cikKKyAgICAgZCAgZmQgICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBlbmNvZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyKQorCisgICAgIGQgeG1sT3V0cHV0QnVmZmVyQ3JlYXRlSU8uLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxPdXRwdXRCdWZmZXJDcmVhdGVJTycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxPdXRwdXRCdWZmZXJQdHIpCisgICAgIGQgIGlvd3JpdGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxPdXRwdXRXcml0ZUNhbGxiYWNrKQorICAgICBkICBpb2Nsb3NlICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sT3V0cHV0Q2xvc2VDYWxsYmFjaykKKyAgICAgZCAgaW9jdHggICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCisgICAgIGQgIGVuY29kZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIpCisKKyAgICAgICogQ291cGxlIG9mIEFQSXMgdG8gZ2V0IHRoZSBvdXRwdXQgd2l0aG91dCBkaWdnaW5nIGludG8gdGhlIGJ1ZmZlcnMKKworICAgICBkIHhtbE91dHB1dEJ1ZmZlckdldENvbnRlbnQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxPdXRwdXRCdWZmZXJHZXRDb250ZW50JykgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIG91dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxPdXRwdXRCdWZmZXJQdHIpCisKKyAgICAgZCB4bWxPdXRwdXRCdWZmZXJHZXRTaXplLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTB1IDAgZXh0cHJvYygneG1sT3V0cHV0QnVmZmVyR2V0U2l6ZScpICAgIHNpemVfdAorICAgICBkICBvdXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sT3V0cHV0QnVmZmVyUHRyKQorCisgICAgIGQgeG1sT3V0cHV0QnVmZmVyV3JpdGUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxPdXRwdXRCdWZmZXJXcml0ZScpCisgICAgIGQgIG91dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxPdXRwdXRCdWZmZXJQdHIpCisgICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgYnVmICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisKKyAgICAgZCB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nJykKKyAgICAgZCAgb3V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE91dHB1dEJ1ZmZlclB0cikKKyAgICAgZCAgc3RyICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisKKyAgICAgZCB4bWxPdXRwdXRCdWZmZXJXcml0ZUVzY2FwZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbE91dHB1dEJ1ZmZlcldyaXRlRXNjYXBlJykKKyAgICAgZCAgb3V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE91dHB1dEJ1ZmZlclB0cikKKyAgICAgZCAgc3RyICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIGVzY2FwaW5nICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaGFyRW5jb2RpbmdPdXRwdXRGdW5jKQorCisgICAgIGQgeG1sT3V0cHV0QnVmZmVyRmx1c2guLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxPdXRwdXRCdWZmZXJGbHVzaCcpCisgICAgIGQgIG91dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxPdXRwdXRCdWZmZXJQdHIpCisKKyAgICAgZCB4bWxPdXRwdXRCdWZmZXJDbG9zZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbE91dHB1dEJ1ZmZlckNsb3NlJykKKyAgICAgZCAgb3V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE91dHB1dEJ1ZmZlclB0cikKKworICAgICBkIHhtbFJlZ2lzdGVyT3V0cHV0Q2FsbGJhY2tzLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sUmVnaXN0ZXJPdXRwdXRDYWxsYmFja3MnKQorICAgICBkICBtYXRjaEZ1bmMgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sT3V0cHV0TWF0Y2hDYWxsYmFjaykKKyAgICAgZCAgb3BlbkZ1bmMgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE91dHB1dE9wZW5DYWxsYmFjaykKKyAgICAgZCAgd3JpdGVGdW5jICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE91dHB1dFdyaXRlQ2FsbGJhY2spCisgICAgIGQgIGNsb3NlRnVuYyAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxPdXRwdXRDbG9zZUNhbGxiYWNrKQorCisgICAgICAvaWYgZGVmaW5lZChMSUJYTUxfSFRUUF9FTkFCTEVEKQorCisgICAgICAqICBUaGlzIGZ1bmN0aW9uIG9ubHkgZXhpc3RzIGlmIEhUVFAgc3VwcG9ydCBidWlsdCBpbnRvIHRoZSBsaWJyYXJ5CisKKyAgICAgZCB4bWxSZWdpc3RlckhUVFBQb3N0Q2FsbGJhY2tzLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFJlZ2lzdGVySFRUUFBvc3RDYWxsYmFja3MnKQorCisgICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9IVFRQX0VOQUJMRUQKKyAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCWE1MX09VVFBVVF9FTkFCTEQKKworICAgICBkIHhtbENoZWNrSFRUUElucHV0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQ2hlY2tIVFRQSW5wdXQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sUGFyc2VySW5wdXRQdHIpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJDdHh0UHRyKQorICAgICBkICByZXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VySW5wdXRQdHIpCisKKyAgICAgICogQSBwcmVkZWZpbmVkIGVudGl0eSBsb2FkZXIgZGlzYWJsaW5nIG5ldHdvcmsgYWNjZXNzZXMKKworICAgICBkIHhtbE5vTmV0RXh0ZXJuYWxFbnRpdHlMb2FkZXIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sTm9OZXRFeHRlcm5hbEVudGl0eUxvYWRlcicpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxQYXJzZXJJbnB1dFB0cikKKyAgICAgZCAgVVJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIElEICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VyQ3R4dFB0cikKKworICAgICAgKiB4bWxOb3JtYWxpemVXaW5kb3dzUGF0aCBpcyBvYnNvbGV0ZSwgZG9uJ3QgdXNlIGl0LgorICAgICAgKiBDaGVjayB4bWxDYW5vbmljUGF0aCBpbiB1cmkuaCBmb3IgYSBiZXR0ZXIgYWx0ZXJuYXRpdmUuCisKKyAgICAgZCB4bWxOb3JtYWxpemVXaW5kb3dzUGF0aC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbE5vcm1hbGl6ZVdpbmRvd3NQYXRoJykgICB4bWxDaGFyICoKKyAgICAgZCAgcGF0aCAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgZCB4bWxDaGVja0ZpbGVuYW1lLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sQ2hlY2tGaWxlbmFtZScpCisgICAgIGQgIHBhdGggICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorCisgICAgICAqIERlZmF1bHQgJ2ZpbGU6Ly8nIHByb3RvY29sIGNhbGxiYWNrcworCisgICAgIGQgeG1sRmlsZU1hdGNoICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sRmlsZU1hdGNoJykKKyAgICAgZCAgZmlsZW5hbWUgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisKKyAgICAgZCB4bWxGaWxlT3BlbiAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxGaWxlT3BlbicpICAgICAgICAgICAgICAgdm9pZCAqCisgICAgIGQgIGZpbGVuYW1lICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorCisgICAgIGQgeG1sRmlsZVJlYWQgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sRmlsZVJlYWQnKQorICAgICBkICBjb250ZXh0ICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKyAgICAgZCAgYnVmZmVyICAgICAgICAgICAgICAgICAgICA2NTUzNSAgICBvcHRpb25zKCp2YXJzaXplKQorICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxGaWxlQ2xvc2UgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxGaWxlQ2xvc2UnKQorICAgICBkICBjb250ZXh0ICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKworICAgICAgKiBEZWZhdWx0ICdodHRwOi8vJyBwcm90b2NvbCBjYWxsYmFja3MKKworICAgICAgL2lmIGRlZmluZWQoTElCWE1MX0hUVFBfRU5BQkxFRCkKKyAgICAgZCB4bWxJT0hUVFBNYXRjaCAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxJT0hUVFBNYXRjaCcpCisgICAgIGQgIGZpbGVuYW1lICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorCisgICAgIGQgeG1sSU9IVFRQT3BlbiAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sSU9IVFRQT3BlbicpICAgICAgICAgICAgIHZvaWQgKgorICAgICBkICBmaWxlbmFtZSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKworICAgICAgL2lmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQorICAgICBkIHhtbElPSFRUUE9wZW5XICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbElPSFRUUE9wZW5XJykgICAgICAgICAgICB2b2lkICoKKyAgICAgZCAgcG9zdF91cmkgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIGNvbXByZXNzaW9uICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCWE1MX09VVFBVVF9FTkFCTEQKKworICAgICBkIHhtbElPSFRUUFJlYWQgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbElPSFRUUFJlYWQnKQorICAgICBkICBjb250ZXh0ICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKyAgICAgZCAgYnVmZmVyICAgICAgICAgICAgICAgICAgICA2NTUzNSAgICBvcHRpb25zKCp2YXJzaXplKQorICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxJT0hUVFBDbG9zZSAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxJT0hUVFBDbG9zZScpCisgICAgIGQgIGNvbnRleHQgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTUxfSFRUUF9FTkFCTEVECisKKyAgICAgICogRGVmYXVsdCAnZnRwOi8vJyBwcm90b2NvbCBjYWxsYmFja3MKKworICAgICAgL2lmIGRlZmluZWQoTElCWE1MX0ZUUF9FTkFCTEVEKQorICAgICBkIHhtbElPRlRQTWF0Y2ggICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbElPRlRQTWF0Y2gnKQorICAgICBkICBmaWxlbmFtZSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKworICAgICBkIHhtbElPRlRQT3BlbiAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbElPRlRQT3BlbicpICAgICAgICAgICAgICB2b2lkICoKKyAgICAgZCAgZmlsZW5hbWUgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisKKyAgICAgZCB4bWxJT0ZUUFJlYWQgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxJT0ZUUFJlYWQnKQorICAgICBkICBjb250ZXh0ICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKyAgICAgZCAgYnVmZmVyICAgICAgICAgICAgICAgICAgICA2NTUzNSAgICBvcHRpb25zKCp2YXJzaXplKQorICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxJT0ZUUENsb3NlICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxJT0ZUUENsb3NlJykKKyAgICAgZCAgY29udGV4dCAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCisgICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9GVFBfRU5BQkxFRAorCisgICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhNTF9JT19IX18KZGlmZiAtLWdpdCBhL2xpYnhtbDIvb3M0MDAvbGlieG1scnBnL3htbGF1dG9tYXRhLnJwZ2xlIGIvbGlieG1sMi9vczQwMC9saWJ4bWxycGcveG1sYXV0b21hdGEucnBnbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDk3OTcyNQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvb3M0MDAvbGlieG1scnBnL3htbGF1dG9tYXRhLnJwZ2xlCkBAIC0wLDAgKzEsMTc5IEBACisgICAgICAqIFN1bW1hcnk6IEFQSSB0byBidWlsZCByZWdleHAgYXV0b21hdGEKKyAgICAgICogRGVzY3JpcHRpb246IHRoZSBBUEkgdG8gYnVpbGQgcmVnZXhwIGF1dG9tYXRhCisgICAgICAqCisgICAgICAqIENvcHk6IFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyAgICAgICoKKyAgICAgICogQXV0aG9yOiBQYXRyaWNrIE1vbm5lcmF0IDxwbUBkYXRhc3BoZXJlLmNoPiwgREFUQVNQSEVSRSBTLkEuCisKKyAgICAgIC9pZiBub3QgZGVmaW5lZChYTUxfQVVUT01BVEFfSF9fKQorICAgICAgL2RlZmluZSBYTUxfQVVUT01BVEFfSF9fCisKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sdmVyc2lvbiIKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcvdHJlZSIKKworICAgICAgL2lmIGRlZmluZWQoTElCWE1MX1JFR0VYUF9FTkFCTEVEKQorICAgICAgL2lmIGRlZmluZWQoTElCWE1MX0FVVE9NQVRBX0VOQUJMRUQpCisKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1scmVnZXhwIgorCisgICAgICAqIHhtbEF1dG9tYXRhUHRyOgorICAgICAgKgorICAgICAgKiBBIGxpYnhtbCBhdXRvbWF0YSBkZXNjcmlwdGlvbiwgSXQgY2FuIGJlIGNvbXBpbGVkIGludG8gYSByZWdleHAKKworICAgICBkIHhtbEF1dG9tYXRhUHRyICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisKKyAgICAgICogeG1sQXV0b21hdGFTdGF0ZVB0cjoKKyAgICAgICoKKyAgICAgICogQSBzdGF0ZSBpbnQgdGhlIGF1dG9tYXRhIGRlc2NyaXB0aW9uLAorCisgICAgIGQgeG1sQXV0b21hdGFTdGF0ZVB0ci4uLgorICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisKKyAgICAgICogQnVpbGRpbmcgQVBJCisKKyAgICAgZCB4bWxOZXdBdXRvbWF0YSAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOZXdBdXRvbWF0YScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxBdXRvbWF0YVB0cikKKworICAgICBkIHhtbEZyZWVBdXRvbWF0YS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEZyZWVBdXRvbWF0YScpCisgICAgIGQgIGFtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxBdXRvbWF0YVB0cikKKworICAgICBkIHhtbEF1dG9tYXRhR2V0SW5pdFN0YXRlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQXV0b21hdGFHZXRJbml0U3RhdGUnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQXV0b21hdGFTdGF0ZVB0cikKKyAgICAgZCAgYW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEF1dG9tYXRhUHRyKQorCisgICAgIGQgeG1sQXV0b21hdGFTZXRGaW5hbFN0YXRlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sQXV0b21hdGFTZXRGaW5hbFN0YXRlJykKKyAgICAgZCAgYW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEF1dG9tYXRhUHRyKQorICAgICBkICBzdGF0ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXV0b21hdGFTdGF0ZVB0cikKKworICAgICBkIHhtbEF1dG9tYXRhTmV3U3RhdGUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxBdXRvbWF0YU5ld1N0YXRlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEF1dG9tYXRhU3RhdGVQdHIpCisgICAgIGQgIGFtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxBdXRvbWF0YVB0cikKKworICAgICBkIHhtbEF1dG9tYXRhTmV3VHJhbnNpdGlvbi4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEF1dG9tYXRhTmV3VHJhbnNpdGlvbicpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxBdXRvbWF0YVN0YXRlUHRyKQorICAgICBkICBhbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXV0b21hdGFQdHIpCisgICAgIGQgIGZyb20gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxBdXRvbWF0YVN0YXRlUHRyKQorICAgICBkICB0byAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXV0b21hdGFTdGF0ZVB0cikKKyAgICAgZCAgdG9rZW4gICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIGRhdGEgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIHZvaWQgKgorCisgICAgIGQgeG1sQXV0b21hdGFOZXdUcmFuc2l0aW9uMi4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEF1dG9tYXRhTmV3VHJhbnNpdGlvbjInKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQXV0b21hdGFTdGF0ZVB0cikKKyAgICAgZCAgYW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEF1dG9tYXRhUHRyKQorICAgICBkICBmcm9tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXV0b21hdGFTdGF0ZVB0cikKKyAgICAgZCAgdG8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEF1dG9tYXRhU3RhdGVQdHIpCisgICAgIGQgIHRva2VuICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICB0b2tlbjIgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgZGF0YSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgdm9pZCAqCisKKyAgICAgZCB4bWxBdXRvbWF0YU5ld05lZ1RyYW5zLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQXV0b21hdGFOZXdOZWdUcmFucycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxBdXRvbWF0YVN0YXRlUHRyKQorICAgICBkICBhbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXV0b21hdGFQdHIpCisgICAgIGQgIGZyb20gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxBdXRvbWF0YVN0YXRlUHRyKQorICAgICBkICB0byAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXV0b21hdGFTdGF0ZVB0cikKKyAgICAgZCAgdG9rZW4gICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIHRva2VuMiAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBkYXRhICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICB2b2lkICoKKworICAgICBkIHhtbEF1dG9tYXRhTmV3Q291bnRUcmFucy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEF1dG9tYXRhTmV3Q291bnRUcmFucycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxBdXRvbWF0YVN0YXRlUHRyKQorICAgICBkICBhbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXV0b21hdGFQdHIpCisgICAgIGQgIGZyb20gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxBdXRvbWF0YVN0YXRlUHRyKQorICAgICBkICB0byAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXV0b21hdGFTdGF0ZVB0cikKKyAgICAgZCAgdG9rZW4gICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIG1pbiAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgbWF4ICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBkYXRhICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICB2b2lkICoKKworICAgICBkIHhtbEF1dG9tYXRhTmV3Q291bnRUcmFuczIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxBdXRvbWF0YU5ld0NvdW50VHJhbnMyJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEF1dG9tYXRhU3RhdGVQdHIpCisgICAgIGQgIGFtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxBdXRvbWF0YVB0cikKKyAgICAgZCAgZnJvbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEF1dG9tYXRhU3RhdGVQdHIpCisgICAgIGQgIHRvICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxBdXRvbWF0YVN0YXRlUHRyKQorICAgICBkICB0b2tlbiAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgdG9rZW4yICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIG1pbiAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgbWF4ICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBkYXRhICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICB2b2lkICoKKworICAgICBkIHhtbEF1dG9tYXRhTmV3T25jZVRyYW5zLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQXV0b21hdGFOZXdPbmNlVHJhbnMnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQXV0b21hdGFTdGF0ZVB0cikKKyAgICAgZCAgYW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEF1dG9tYXRhUHRyKQorICAgICBkICBmcm9tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXV0b21hdGFTdGF0ZVB0cikKKyAgICAgZCAgdG8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEF1dG9tYXRhU3RhdGVQdHIpCisgICAgIGQgIHRva2VuICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBtaW4gICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIG1heCAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgZGF0YSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgdm9pZCAqCisKKyAgICAgZCB4bWxBdXRvbWF0YU5ld09uY2VUcmFuczIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxBdXRvbWF0YU5ld09uY2VUcmFuczInKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQXV0b21hdGFTdGF0ZVB0cikKKyAgICAgZCAgYW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEF1dG9tYXRhUHRyKQorICAgICBkICBmcm9tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXV0b21hdGFTdGF0ZVB0cikKKyAgICAgZCAgdG8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEF1dG9tYXRhU3RhdGVQdHIpCisgICAgIGQgIHRva2VuICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICB0b2tlbjIgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgbWluICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBtYXggICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIGRhdGEgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIHZvaWQgKgorCisgICAgIGQgeG1sQXV0b21hdGFOZXdBbGxUcmFucy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEF1dG9tYXRhTmV3QWxsVHJhbnMnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQXV0b21hdGFTdGF0ZVB0cikKKyAgICAgZCAgYW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEF1dG9tYXRhUHRyKQorICAgICBkICBmcm9tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXV0b21hdGFTdGF0ZVB0cikKKyAgICAgZCAgdG8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEF1dG9tYXRhU3RhdGVQdHIpCisgICAgIGQgIGxheCAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbEF1dG9tYXRhTmV3RXBzaWxvbi4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEF1dG9tYXRhTmV3RXBzaWxvbicpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxBdXRvbWF0YVN0YXRlUHRyKQorICAgICBkICBhbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXV0b21hdGFQdHIpCisgICAgIGQgIGZyb20gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxBdXRvbWF0YVN0YXRlUHRyKQorICAgICBkICB0byAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXV0b21hdGFTdGF0ZVB0cikKKworICAgICBkIHhtbEF1dG9tYXRhTmV3Q291bnRlZFRyYW5zLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQXV0b21hdGFOZXdDb3VudGVkVHJhbnMnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQXV0b21hdGFTdGF0ZVB0cikKKyAgICAgZCAgYW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEF1dG9tYXRhUHRyKQorICAgICBkICBmcm9tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXV0b21hdGFTdGF0ZVB0cikKKyAgICAgZCAgdG8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEF1dG9tYXRhU3RhdGVQdHIpCisgICAgIGQgIGNvdW50ZXIgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbEF1dG9tYXRhTmV3Q291bnRlclRyYW5zLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQXV0b21hdGFOZXdDb3VudGVyVHJhbnMnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sQXV0b21hdGFTdGF0ZVB0cikKKyAgICAgZCAgYW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEF1dG9tYXRhUHRyKQorICAgICBkICBmcm9tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXV0b21hdGFTdGF0ZVB0cikKKyAgICAgZCAgdG8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEF1dG9tYXRhU3RhdGVQdHIpCisgICAgIGQgIGNvdW50ZXIgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbEF1dG9tYXRhTmV3Q291bnRlci4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbEF1dG9tYXRhTmV3Q291bnRlcicpCisgICAgIGQgIGFtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxBdXRvbWF0YVB0cikKKyAgICAgZCAgbWluICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBtYXggICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxBdXRvbWF0YUNvbXBpbGUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxBdXRvbWF0YUNvbXBpbGUnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sUmVnZXhwUHRyKQorICAgICBkICBhbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXV0b21hdGFQdHIpCisKKyAgICAgZCB4bWxBdXRvbWF0YUlzRGV0ZXJtaW5pc3QuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxBdXRvbWF0YUlzRGV0ZXJtaW5pc3QnKQorICAgICBkICBhbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQXV0b21hdGFQdHIpCisKKyAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVVUT01BVEFfRU5BQkxFRAorICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTUxfUkVHRVhQX0VOQUJMRAorICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfQVVUT01BVEFfSF9fCmRpZmYgLS1naXQgYS9saWJ4bWwyL29zNDAwL2xpYnhtbHJwZy94bWxlcnJvci5ycGdsZSBiL2xpYnhtbDIvb3M0MDAvbGlieG1scnBnL3htbGVycm9yLnJwZ2xlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI3N2NhYWQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL29zNDAwL2xpYnhtbHJwZy94bWxlcnJvci5ycGdsZQpAQCAtMCwwICsxLDE2ODEgQEAKKyAgICAgICogU3VtbWFyeTogZXJyb3IgaGFuZGxpbmcKKyAgICAgICogRGVzY3JpcHRpb246IHRoZSBBUEkgdXNlZCB0byByZXBvcnQgZXJyb3JzCisgICAgICAqCisgICAgICAqIENvcHk6IFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyAgICAgICoKKyAgICAgICogQXV0aG9yOiBQYXRyaWNrIE1vbm5lcmF0IDxwbUBkYXRhc3BoZXJlLmNoPiwgREFUQVNQSEVSRSBTLkEuCisKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcvcGFyc2VyIgorCisgICAgICAvaWYgbm90IGRlZmluZWQoWE1MX0VSUk9SX0hfXykKKyAgICAgIC9kZWZpbmUgWE1MX0VSUk9SX0hfXworCisgICAgICAqIHhtbEVycm9yTGV2ZWw6CisgICAgICAqCisgICAgICAqIEluZGljYXRlcyB0aGUgbGV2ZWwgb2YgYW4gZXJyb3IKKworICAgICBkIHhtbEVycm9yTGV2ZWwgICBzICAgICAgICAgICAgIDEwaSAwIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpICAgICAgICAgICBlbnVtCisgICAgIGQgIFhNTF9FUlJfTk9ORSAgIGMgICAgICAgICAgICAgICAgICAgMAorICAgICBkICBYTUxfRVJSX1dBUk5JTkcuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBIHNpbXBsZSB3YXJuaW5nCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMQorICAgICBkICBYTUxfRVJSX0VSUk9SICBjICAgICAgICAgICAgICAgICAgIDIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBIHJlY292ZXJhYmxlIGVycm9yCisgICAgIGQgIFhNTF9FUlJfRkFUQUwgIGMgICAgICAgICAgICAgICAgICAgMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEEgZmF0YWwgZXJyb3IKKworICAgICAgKiB4bWxFcnJvckRvbWFpbjoKKyAgICAgICoKKyAgICAgICogSW5kaWNhdGVzIHdoZXJlIGFuIGVycm9yIG1heSBoYXZlIGNvbWUgZnJvbQorCisgICAgIGQgeG1sRXJyb3JEb21haW4gIHMgICAgICAgICAgICAgMTBpIDAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykgICAgICAgICAgIGVudW0KKyAgICAgZCAgWE1MX0ZST01fTk9ORSAgYyAgICAgICAgICAgICAgICAgICAwCisgICAgIGQgIFhNTF9GUk9NX1BBUlNFUi4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhNTCBwYXJzZXIKKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxCisgICAgIGQgIFhNTF9GUk9NX1RSRUUgIGMgICAgICAgICAgICAgICAgICAgMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRyZWUgbW9kdWxlCisgICAgIGQgIFhNTF9GUk9NX05BTUVTUEFDRS4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhNTCBOYW1lc3BhY2UgbW9kdWxlCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMworICAgICBkICBYTUxfRlJPTV9EVEQgICBjICAgICAgICAgICAgICAgICAgIDQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEVEQgdmFsaWRhdGlvbgorICAgICBkICBYTUxfRlJPTV9IVE1MICBjICAgICAgICAgICAgICAgICAgIDUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIVE1MIHBhcnNlcgorICAgICBkICBYTUxfRlJPTV9NRU1PUlkuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNZW1vcnkgYWxsb2NhdG9yCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNgorICAgICBkICBYTUxfRlJPTV9PVVRQVVQuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJpYWxpemF0aW9uIGNvZGUKKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA3CisgICAgIGQgIFhNTF9GUk9NX0lPICAgIGMgICAgICAgICAgICAgICAgICAgOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElucHV0L091dHB1dCBzdGFjaworICAgICBkICBYTUxfRlJPTV9GVFAgICBjICAgICAgICAgICAgICAgICAgIDkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGVFAgbW9kdWxlCisgICAgIGQgIFhNTF9GUk9NX0hUVFAgIGMgICAgICAgICAgICAgICAgICAgMTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhUVFAgbW9kdWxlCisgICAgIGQgIFhNTF9GUk9NX1hJTkNMVURFLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhJbmNsdWRlIHByb2Nlc3NpbmcKKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMQorICAgICBkICBYTUxfRlJPTV9YUEFUSC4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYUGF0aCBtb2R1bGUKKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMgorICAgICBkICBYTUxfRlJPTV9YUE9JTlRFUi4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYUG9pbnRlciBtb2R1bGUKKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMworICAgICBkICBYTUxfRlJPTV9SRUdFWFAuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWdleHAgbW9kdWxlCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTQKKyAgICAgZCAgWE1MX0ZST01fREFUQVRZUEUuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVzNDIFhNTCBTY2htIER0YXR5cGUKKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNQorICAgICBkICBYTUxfRlJPTV9TQ0hFTUFTUC4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXM0MgWE1MIFNjaG0gcGFyc2VyCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTYKKyAgICAgZCAgWE1MX0ZST01fU0NIRU1BU1YuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVzNDIFhNTCBTY2htIHZhbGlkLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE3CisgICAgIGQgIFhNTF9GUk9NX1JFTEFYTkdQLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlbGF4LU5HIHBhcnNlcgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE4CisgICAgIGQgIFhNTF9GUk9NX1JFTEFYTkdWLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlbGF4LU5HIHZhbGlkYXRvcgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE5CisgICAgIGQgIFhNTF9GUk9NX0NBVEFMT0cuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENhdGFsb2cgbW9kdWxlCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMjAKKyAgICAgZCAgWE1MX0ZST01fQzE0TiAgYyAgICAgICAgICAgICAgICAgICAyMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2Fub25pY2FsaXphdGlvbgorICAgICBkICBYTUxfRlJPTV9YU0xUICBjICAgICAgICAgICAgICAgICAgIDIyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbmdpbmUgZnJvbSBsaWJ4c2x0CisgICAgIGQgIFhNTF9GUk9NX1ZBTElELi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERURCB2YWxpZC4gdy8gY3R4dAorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDIzCisgICAgIGQgIFhNTF9GUk9NX0NIRUNLLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVycm9yIGNoZWNrIG1vZHVsZQorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDI0CisgICAgIGQgIFhNTF9GUk9NX1dSSVRFUi4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbHdyaXRlciBtb2R1bGUKKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAyNQorICAgICBkICBYTUxfRlJPTV9NT0RVTEUuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEeW4uIGxvYWRlZCBtb2R1bGUKKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAyNgorICAgICBkICBYTUxfRlJPTV9JMThOICBjICAgICAgICAgICAgICAgICAgIDI3ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNb2QgaGRsZyBjaGFyIGNvbnYKKyAgICAgZCAgWE1MX0ZST01fU0NIRU1BVFJPTlYuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2NoZW1hdHJvbiB2YWxpZAorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDI4CisgICAgIGQgIFhNTF9GUk9NX0JVRkZFUi4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJ1ZmZlcnMgbW9kdWxlCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMjkKKyAgICAgZCAgWE1MX0ZST01fVVJJICAgYyAgICAgICAgICAgICAgICAgICAzMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVVJJIG1vZHVsZQorCisgICAgICAqIHhtbEVycm9yOgorICAgICAgKgorICAgICAgKiBBbiBYTUwgRXJyb3IgaW5zdGFuY2UuCisKKyAgICAgZCB4bWxFcnJvclB0ciAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorCisgICAgIGQgeG1sRXJyb3IgICAgICAgIGRzICAgICAgICAgICAgICAgICAgYmFzZWQoeG1sRXJyb3JQdHIpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24gcXVhbGlmaWVkCisgICAgIGQgIGRvbWFpbiAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpYnBhcnQgcmFpc2luZyBlcnIKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRXJyb3IgY29kZQorICAgICBkICBtZXNzYWdlICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyICoKKyAgICAgZCAgbGV2ZWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEVycm9yTGV2ZWwpICAgICAgICAgICAgICAgICAgRXJyb3Igc2V2ZXJpdHkKKyAgICAgZCAgZmlsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsZSBuYW1lCisgICAgIGQgIGxpbmUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpbmUgbnVtYmVyCisgICAgIGQgIHN0cjEgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKgorICAgICBkICBzdHIyICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyICoKKyAgICAgZCAgc3RyMyAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqCisgICAgIGQgIGludDEgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEV4dHJhIG51bWJlciBpbmZvCisgICAgIGQgIGludDIgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVycm9yIGNvbHVtbgorICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKyAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCisKKyAgICAgICogeG1sUGFyc2VyRXJyb3I6CisgICAgICAqCisgICAgICAqIFRoaXMgaXMgYW4gZXJyb3IgdGhhdCB0aGUgWE1MIChvciBIVE1MKSBwYXJzZXIgY2FuIGdlbmVyYXRlCisKKyAgICAgZCB4bWxQYXJzZXJFcnJvcnMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAxMGkgMCBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKSAgICAgICAgICAgZW51bQorICAgICBkICBYTUxfRVJSX09LICAgICBjICAgICAgICAgICAgICAgICAgIDAKKyAgICAgZCAgWE1MX0VSUl9JTlRFUk5BTF9FUlJPUi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEKKyAgICAgZCAgWE1MX0VSUl9OT19NRU1PUlkuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAyCisgICAgIGQgIFhNTF9FUlJfRE9DVU1FTlRfU1RBUlQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzCisgICAgIGQgIFhNTF9FUlJfRE9DVU1FTlRfRU1QVFkuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA0CisgICAgIGQgIFhNTF9FUlJfRE9DVU1FTlRfRU5ELi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNQorICAgICBkICBYTUxfRVJSX0lOVkFMSURfSEVYX0NIQVJSRUYuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA2CisgICAgIGQgIFhNTF9FUlJfSU5WQUxJRF9ERUNfQ0hBUlJFRi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDcKKyAgICAgZCAgWE1MX0VSUl9JTlZBTElEX0NIQVJSRUYuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA4CisgICAgIGQgIFhNTF9FUlJfSU5WQUxJRF9DSEFSLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgOQorICAgICBkICBYTUxfRVJSX0NIQVJSRUZfQVRfRU9GLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTAKKyAgICAgZCAgWE1MX0VSUl9DSEFSUkVGX0lOX1BST0xPRy4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDExCisgICAgIGQgIFhNTF9FUlJfQ0hBUlJFRl9JTl9FUElMT0cuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMgorICAgICBkICBYTUxfRVJSX0NIQVJSRUZfSU5fRFRELi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTMKKyAgICAgZCAgWE1MX0VSUl9FTlRJVFlSRUZfQVRfRU9GLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTQKKyAgICAgZCAgWE1MX0VSUl9FTlRJVFlSRUZfSU5fUFJPTE9HLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTUKKyAgICAgZCAgWE1MX0VSUl9FTlRJVFlSRUZfSU5fRVBJTE9HLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTYKKyAgICAgZCAgWE1MX0VSUl9FTlRJVFlSRUZfSU5fRFRELi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTcKKyAgICAgZCAgWE1MX0VSUl9QRVJFRl9BVF9FT0YuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxOAorICAgICBkICBYTUxfRVJSX1BFUkVGX0lOX1BST0xPRy4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE5CisgICAgIGQgIFhNTF9FUlJfUEVSRUZfSU5fRVBJTE9HLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMjAKKyAgICAgZCAgWE1MX0VSUl9QRVJFRl9JTl9JTlRfU1VCU0VULi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMjEKKyAgICAgZCAgWE1MX0VSUl9FTlRJVFlSRUZfTk9fTkFNRS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDIyCisgICAgIGQgIFhNTF9FUlJfRU5USVRZUkVGX1NFTUlDT0xfTUlTU0lORy4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDIzCisgICAgIGQgIFhNTF9FUlJfUEVSRUZfTk9fTkFNRS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDI0CisgICAgIGQgIFhNTF9FUlJfUEVSRUZfU0VNSUNPTF9NSVNTSU5HLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMjUKKyAgICAgZCAgWE1MX0VSUl9VTkRFQ0xBUkVEX0VOVElUWS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDI2CisgICAgIGQgIFhNTF9XQVJfVU5ERUNMQVJFRF9FTlRJVFkuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAyNworICAgICBkICBYTUxfRVJSX1VOUEFSU0VEX0VOVElUWS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDI4CisgICAgIGQgIFhNTF9FUlJfRU5USVRZX0lTX0VYVEVSTkFMLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMjkKKyAgICAgZCAgWE1MX0VSUl9FTlRJVFlfSVNfUEFSQU1FVEVSLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzAKKyAgICAgZCAgWE1MX0VSUl9VTktOT1dOX0VOQ09ESU5HLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzEKKyAgICAgZCAgWE1MX0VSUl9VTlNVUFBPUlRFRF9FTkNPRElORy4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMyCisgICAgIGQgIFhNTF9FUlJfU1RSSU5HX05PVF9TVEFSVEVELi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzMKKyAgICAgZCAgWE1MX0VSUl9TVFJJTkdfTk9UX0NMT1NFRC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDM0CisgICAgIGQgIFhNTF9FUlJfTlNfREVDTF9FUlJPUi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDM1CisgICAgIGQgIFhNTF9FUlJfRU5USVRZX05PVF9TVEFSVEVELi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzYKKyAgICAgZCAgWE1MX0VSUl9FTlRJVFlfTk9UX0ZJTklTSEVELi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzcKKyAgICAgZCAgWE1MX0VSUl9MVF9JTl9BVFRSSUJVVEUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzOAorICAgICBkICBYTUxfRVJSX0FUVFJJQlVURV9OT1RfU1RBUlRFRC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDM5CisgICAgIGQgIFhNTF9FUlJfQVRUUklCVVRFX05PVF9GSU5JU0hFRC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDQwCisgICAgIGQgIFhNTF9FUlJfQVRUUklCVVRFX1dJVEhPVVRfVkFMVUUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA0MQorICAgICBkICBYTUxfRVJSX0FUVFJJQlVURV9SRURFRklORUQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA0MgorICAgICBkICBYTUxfRVJSX0xJVEVSQUxfTk9UX1NUQVJURUQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA0MworICAgICBkICBYTUxfRVJSX0xJVEVSQUxfTk9UX0ZJTklTSEVELi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNDQKKyAgICAgZCAgWE1MX0VSUl9DT01NRU5UX05PVF9GSU5JU0hFRC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDQ1CisgICAgIGQgIFhNTF9FUlJfUElfTk9UX1NUQVJURUQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA0NgorICAgICBkICBYTUxfRVJSX1BJX05PVF9GSU5JU0hFRC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDQ3CisgICAgIGQgIFhNTF9FUlJfTk9UQVRJT05fTk9UX1NUQVJURUQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA0OAorICAgICBkICBYTUxfRVJSX05PVEFUSU9OX05PVF9GSU5JU0hFRC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDQ5CisgICAgIGQgIFhNTF9FUlJfQVRUTElTVF9OT1RfU1RBUlRFRC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUwCisgICAgIGQgIFhNTF9FUlJfQVRUTElTVF9OT1RfRklOSVNIRUQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1MQorICAgICBkICBYTUxfRVJSX01JWEVEX05PVF9TVEFSVEVELi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNTIKKyAgICAgZCAgWE1MX0VSUl9NSVhFRF9OT1RfRklOSVNIRUQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1MworICAgICBkICBYTUxfRVJSX0VMRU1DT05URU5UX05PVF9TVEFSVEVELi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNTQKKyAgICAgZCAgWE1MX0VSUl9FTEVNQ09OVEVOVF9OT1RfRklOSVNIRUQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1NQorICAgICBkICBYTUxfRVJSX1hNTERFQ0xfTk9UX1NUQVJURUQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1NgorICAgICBkICBYTUxfRVJSX1hNTERFQ0xfTk9UX0ZJTklTSEVELi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNTcKKyAgICAgZCAgWE1MX0VSUl9DT05EU0VDX05PVF9TVEFSVEVELi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNTgKKyAgICAgZCAgWE1MX0VSUl9DT05EU0VDX05PVF9GSU5JU0hFRC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDU5CisgICAgIGQgIFhNTF9FUlJfRVhUX1NVQlNFVF9OT1RfRklOSVNIRUQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA2MAorICAgICBkICBYTUxfRVJSX0RPQ1RZUEVfTk9UX0ZJTklTSEVELi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNjEKKyAgICAgZCAgWE1MX0VSUl9NSVNQTEFDRURfQ0RBVEFfRU5ELi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNjIKKyAgICAgZCAgWE1MX0VSUl9DREFUQV9OT1RfRklOSVNIRUQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA2MworICAgICBkICBYTUxfRVJSX1JFU0VSVkVEX1hNTF9OQU1FLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNjQKKyAgICAgZCAgWE1MX0VSUl9TUEFDRV9SRVFVSVJFRC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDY1CisgICAgIGQgIFhNTF9FUlJfU0VQQVJBVE9SX1JFUVVJUkVELi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNjYKKyAgICAgZCAgWE1MX0VSUl9OTVRPS0VOX1JFUVVJUkVELi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNjcKKyAgICAgZCAgWE1MX0VSUl9OQU1FX1JFUVVJUkVELi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNjgKKyAgICAgZCAgWE1MX0VSUl9QQ0RBVEFfUkVRVUlSRUQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA2OQorICAgICBkICBYTUxfRVJSX1VSSV9SRVFVSVJFRC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDcwCisgICAgIGQgIFhNTF9FUlJfUFVCSURfUkVRVUlSRUQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA3MQorICAgICBkICBYTUxfRVJSX0xUX1JFUVVJUkVELi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNzIKKyAgICAgZCAgWE1MX0VSUl9HVF9SRVFVSVJFRC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDczCisgICAgIGQgIFhNTF9FUlJfTFRTTEFTSF9SRVFVSVJFRC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDc0CisgICAgIGQgIFhNTF9FUlJfRVFVQUxfUkVRVUlSRUQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA3NQorICAgICBkICBYTUxfRVJSX1RBR19OQU1FX01JU01BVENILi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNzYKKyAgICAgZCAgWE1MX0VSUl9UQUdfTk9UX0ZJTklTSEVELi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNzcKKyAgICAgZCAgWE1MX0VSUl9TVEFOREFMT05FX1ZBTFVFLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNzgKKyAgICAgZCAgWE1MX0VSUl9FTkNPRElOR19OQU1FLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNzkKKyAgICAgZCAgWE1MX0VSUl9IWVBIRU5fSU5fQ09NTUVOVC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDgwCisgICAgIGQgIFhNTF9FUlJfSU5WQUxJRF9FTkNPRElORy4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDgxCisgICAgIGQgIFhNTF9FUlJfRVhUX0VOVElUWV9TVEFOREFMT05FLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgODIKKyAgICAgZCAgWE1MX0VSUl9DT05EU0VDX0lOVkFMSUQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA4MworICAgICBkICBYTUxfRVJSX1ZBTFVFX1JFUVVJUkVELi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgODQKKyAgICAgZCAgWE1MX0VSUl9OT1RfV0VMTF9CQUxBTkNFRC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDg1CisgICAgIGQgIFhNTF9FUlJfRVhUUkFfQ09OVEVOVC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDg2CisgICAgIGQgIFhNTF9FUlJfRU5USVRZX0NIQVJfRVJST1IuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA4NworICAgICBkICBYTUxfRVJSX0VOVElUWV9QRV9JTlRFUk5BTC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDg4CisgICAgIGQgIFhNTF9FUlJfRU5USVRZX0xPT1AuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA4OQorICAgICBkICBYTUxfRVJSX0VOVElUWV9CT1VOREFSWS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDkwCisgICAgIGQgIFhNTF9FUlJfSU5WQUxJRF9VUkkuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA5MQorICAgICBkICBYTUxfRVJSX1VSSV9GUkFHTUVOVC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDkyCisgICAgIGQgIFhNTF9XQVJfQ0FUQUxPR19QSS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDkzCisgICAgIGQgIFhNTF9FUlJfTk9fRFRELi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgOTQKKyAgICAgZCAgWE1MX0VSUl9DT05EU0VDX0lOVkFMSURfS0VZV09SRC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDk1CisgICAgIGQgIFhNTF9FUlJfVkVSU0lPTl9NSVNTSU5HLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgOTYKKyAgICAgZCAgWE1MX1dBUl9VTktOT1dOX1ZFUlNJT04uLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA5NworICAgICBkICBYTUxfV0FSX0xBTkdfVkFMVUUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA5OAorICAgICBkICBYTUxfV0FSX05TX1VSSS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDk5CisgICAgIGQgIFhNTF9XQVJfTlNfVVJJX1JFTEFUSVZFLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTAwCisgICAgIGQgIFhNTF9FUlJfTUlTU0lOR19FTkNPRElORy4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwMQorICAgICBkICBYTUxfV0FSX1NQQUNFX1ZBTFVFLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTAyCisgICAgIGQgIFhNTF9FUlJfTk9UX1NUQU5EQUxPTkUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDMKKyAgICAgZCAgWE1MX0VSUl9FTlRJVFlfUFJPQ0VTU0lORy4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwNAorICAgICBkICBYTUxfRVJSX05PVEFUSU9OX1BST0NFU1NJTkcuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDUKKyAgICAgZCAgWE1MX1dBUl9OU19DT0xVTU4uLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDYKKyAgICAgZCAgWE1MX1dBUl9FTlRJVFlfUkVERUZJTkVELi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTA3CisgICAgIGQgIFhNTF9FUlJfVU5LTk9XTl9WRVJTSU9OLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTA4CisgICAgIGQgIFhNTF9FUlJfVkVSU0lPTl9NSVNNQVRDSC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwOQorICAgICBkICBYTUxfRVJSX05BTUVfVE9PX0xPTkcuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMTAKKyAgICAgZCAgWE1MX0VSUl9VU0VSX1NUT1AuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMTEKKyAgICAgZCAgWE1MX05TX0VSUl9YTUxfTkFNRVNQQUNFLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMjAwCisgICAgIGQgIFhNTF9OU19FUlJfVU5ERUZJTkVEX05BTUVTUEFDRS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDIwMQorICAgICBkICBYTUxfTlNfRVJSX1FOQU1FLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMjAyCisgICAgIGQgIFhNTF9OU19FUlJfQVRUUklCVVRFX1JFREVGSU5FRC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDIwMworICAgICBkICBYTUxfTlNfRVJSX0VNUFRZLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMjA0CisgICAgIGQgIFhNTF9OU19FUlJfQ09MT04uLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAyMDUKKyAgICAgZCAgWE1MX0RURF9BVFRSSUJVVEVfREVGQVVMVC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUwMAorICAgICBkICBYTUxfRFREX0FUVFJJQlVURV9SRURFRklORUQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1MDEKKyAgICAgZCAgWE1MX0RURF9BVFRSSUJVVEVfVkFMVUUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1MDIKKyAgICAgZCAgWE1MX0RURF9DT05URU5UX0VSUk9SLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNTAzCisgICAgIGQgIFhNTF9EVERfQ09OVEVOVF9NT0RFTC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUwNAorICAgICBkICBYTUxfRFREX0NPTlRFTlRfTk9UX0RFVEVSTUlOSVNULi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNTA1CisgICAgIGQgIFhNTF9EVERfRElGRkVSRU5UX1BSRUZJWC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUwNgorICAgICBkICBYTUxfRFREX0VMRU1fREVGQVVMVF9OQU1FU1BBQ0UuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1MDcKKyAgICAgZCAgWE1MX0RURF9FTEVNX05BTUVTUEFDRS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUwOAorICAgICBkICBYTUxfRFREX0VMRU1fUkVERUZJTkVELi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNTA5CisgICAgIGQgIFhNTF9EVERfRU1QVFlfTk9UQVRJT04uLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1MTAKKyAgICAgZCAgWE1MX0RURF9FTlRJVFlfVFlQRS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUxMQorICAgICBkICBYTUxfRFREX0lEX0ZJWEVELi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNTEyCisgICAgIGQgIFhNTF9EVERfSURfUkVERUZJTkVELi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNTEzCisgICAgIGQgIFhNTF9EVERfSURfU1VCU0VULi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNTE0CisgICAgIGQgIFhNTF9EVERfSU5WQUxJRF9DSElMRC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUxNQorICAgICBkICBYTUxfRFREX0lOVkFMSURfREVGQVVMVC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUxNgorICAgICBkICBYTUxfRFREX0xPQURfRVJST1IuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1MTcKKyAgICAgZCAgWE1MX0RURF9NSVNTSU5HX0FUVFJJQlVURS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUxOAorICAgICBkICBYTUxfRFREX01JWEVEX0NPUlJVUFQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1MTkKKyAgICAgZCAgWE1MX0RURF9NVUxUSVBMRV9JRC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUyMAorICAgICBkICBYTUxfRFREX05PX0RPQy4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUyMQorICAgICBkICBYTUxfRFREX05PX0RURC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUyMgorICAgICBkICBYTUxfRFREX05PX0VMRU1fTkFNRS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUyMworICAgICBkICBYTUxfRFREX05PX1BSRUZJWC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUyNAorICAgICBkICBYTUxfRFREX05PX1JPT1QuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1MjUKKyAgICAgZCAgWE1MX0RURF9OT1RBVElPTl9SRURFRklORUQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1MjYKKyAgICAgZCAgWE1MX0RURF9OT1RBVElPTl9WQUxVRS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUyNworICAgICBkICBYTUxfRFREX05PVF9FTVBUWS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUyOAorICAgICBkICBYTUxfRFREX05PVF9QQ0RBVEEuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1MjkKKyAgICAgZCAgWE1MX0RURF9OT1RfU1RBTkRBTE9ORS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUzMAorICAgICBkICBYTUxfRFREX1JPT1RfTkFNRS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUzMQorICAgICBkICBYTUxfRFREX1NUQU5EQUxPTkVfV0hJVEVfU1BBQ0UuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1MzIKKyAgICAgZCAgWE1MX0RURF9VTktOT1dOX0FUVFJJQlVURS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUzMworICAgICBkICBYTUxfRFREX1VOS05PV05fRUxFTS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUzNAorICAgICBkICBYTUxfRFREX1VOS05PV05fRU5USVRZLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNTM1CisgICAgIGQgIFhNTF9EVERfVU5LTk9XTl9JRC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUzNgorICAgICBkICBYTUxfRFREX1VOS05PV05fTk9UQVRJT04uLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1MzcKKyAgICAgZCAgWE1MX0RURF9TVEFOREFMT05FX0RFRkFVTFRFRC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUzOAorICAgICBkICBYTUxfRFREX1hNTElEX1ZBTFVFLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNTM5CisgICAgIGQgIFhNTF9EVERfWE1MSURfVFlQRS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDU0MAorICAgICBkICBYTUxfRFREX0RVUF9UT0tFTi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDU0MQorICAgICBkICBYTUxfSFRNTF9TVFJVQ1VSRV9FUlJPUi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDgwMAorICAgICBkICBYTUxfSFRNTF9VTktOT1dOX1RBRy4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDgwMQorICAgICBkICBYTUxfUk5HUF9BTllOQU1FX0FUVFJfQU5DRVNUT1IuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDAwCisgICAgIGQgIFhNTF9STkdQX0FUVFJfQ09ORkxJQ1QuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDAxCisgICAgIGQgIFhNTF9STkdQX0FUVFJJQlVURV9DSElMRFJFTi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwMDIKKyAgICAgZCAgWE1MX1JOR1BfQVRUUklCVVRFX0NPTlRFTlQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDAzCisgICAgIGQgIFhNTF9STkdQX0FUVFJJQlVURV9FTVBUWS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwMDQKKyAgICAgZCAgWE1MX1JOR1BfQVRUUklCVVRFX05PT1AuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDA1CisgICAgIGQgIFhNTF9STkdQX0NIT0lDRV9DT05URU5ULi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTAwNgorICAgICBkICBYTUxfUk5HUF9DSE9JQ0VfRU1QVFkuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDA3CisgICAgIGQgIFhNTF9STkdQX0NSRUFURV9GQUlMVVJFLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTAwOAorICAgICBkICBYTUxfUk5HUF9EQVRBX0NPTlRFTlQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDA5CisgICAgIGQgIFhNTF9STkdQX0RFRl9DSE9JQ0VfQU5EX0lOVEVSTEVBVkUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDEwCisgICAgIGQgIFhNTF9STkdQX0RFRklORV9DUkVBVEVfRkFJTEVELi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTAxMQorICAgICBkICBYTUxfUk5HUF9ERUZJTkVfRU1QVFkuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDEyCisgICAgIGQgIFhNTF9STkdQX0RFRklORV9NSVNTSU5HLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTAxMworICAgICBkICBYTUxfUk5HUF9ERUZJTkVfTkFNRV9NSVNTSU5HLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTAxNAorICAgICBkICBYTUxfUk5HUF9FTEVNX0NPTlRFTlRfRU1QVFkuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDE1CisgICAgIGQgIFhNTF9STkdQX0VMRU1fQ09OVEVOVF9FUlJPUi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwMTYKKyAgICAgZCAgWE1MX1JOR1BfRUxFTUVOVF9FTVBUWS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwMTcKKyAgICAgZCAgWE1MX1JOR1BfRUxFTUVOVF9DT05URU5ULi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTAxOAorICAgICBkICBYTUxfUk5HUF9FTEVNRU5UX05BTUUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDE5CisgICAgIGQgIFhNTF9STkdQX0VMRU1FTlRfTk9fQ09OVEVOVC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwMjAKKyAgICAgZCAgWE1MX1JOR1BfRUxFTV9URVhUX0NPTkZMSUNULi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTAyMQorICAgICBkICBYTUxfUk5HUF9FTVBUWS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwMjIKKyAgICAgZCAgWE1MX1JOR1BfRU1QVFlfQ09OU1RSVUNULi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTAyMworICAgICBkICBYTUxfUk5HUF9FTVBUWV9DT05URU5ULi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTAyNAorICAgICBkICBYTUxfUk5HUF9FTVBUWV9OT1RfRU1QVFkuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDI1CisgICAgIGQgIFhNTF9STkdQX0VSUk9SX1RZUEVfTElCLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTAyNgorICAgICBkICBYTUxfUk5HUF9FWENFUFRfRU1QVFkuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDI3CisgICAgIGQgIFhNTF9STkdQX0VYQ0VQVF9NSVNTSU5HLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTAyOAorICAgICBkICBYTUxfUk5HUF9FWENFUFRfTVVMVElQTEUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDI5CisgICAgIGQgIFhNTF9STkdQX0VYQ0VQVF9OT19DT05URU5ULi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTAzMAorICAgICBkICBYTUxfUk5HUF9FWFRFUk5BTFJFRl9FTVRQWS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwMzEKKyAgICAgZCAgWE1MX1JOR1BfRVhURVJOQUxfUkVGX0ZBSUxVUkUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDMyCisgICAgIGQgIFhNTF9STkdQX0VYVEVSTkFMUkVGX1JFQ1VSU0UuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDMzCisgICAgIGQgIFhNTF9STkdQX0ZPUkJJRERFTl9BVFRSSUJVVEUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDM0CisgICAgIGQgIFhNTF9STkdQX0ZPUkVJR05fRUxFTUVOVC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwMzUKKyAgICAgZCAgWE1MX1JOR1BfR1JBTU1BUl9DT05URU5ULi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTAzNgorICAgICBkICBYTUxfUk5HUF9HUkFNTUFSX0VNUFRZLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTAzNworICAgICBkICBYTUxfUk5HUF9HUkFNTUFSX01JU1NJTkcuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDM4CisgICAgIGQgIFhNTF9STkdQX0dSQU1NQVJfTk9fU1RBUlQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDM5CisgICAgIGQgIFhNTF9STkdQX0dST1VQX0FUVFJfQ09ORkxJQ1QuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDQwCisgICAgIGQgIFhNTF9STkdQX0hSRUZfRVJST1IuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDQxCisgICAgIGQgIFhNTF9STkdQX0lOQ0xVREVfRU1QVFkuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDQyCisgICAgIGQgIFhNTF9STkdQX0lOQ0xVREVfRkFJTFVSRS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwNDMKKyAgICAgZCAgWE1MX1JOR1BfSU5DTFVERV9SRUNVUlNFLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTA0NAorICAgICBkICBYTUxfUk5HUF9JTlRFUkxFQVZFX0FERC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwNDUKKyAgICAgZCAgWE1MX1JOR1BfSU5URVJMRUFWRV9DUkVBVEVfRkFJTEVELi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTA0NgorICAgICBkICBYTUxfUk5HUF9JTlRFUkxFQVZFX0VNUFRZLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTA0NworICAgICBkICBYTUxfUk5HUF9JTlRFUkxFQVZFX05PX0NPTlRFTlQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDQ4CisgICAgIGQgIFhNTF9STkdQX0lOVkFMSURfREVGSU5FX05BTUUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDQ5CisgICAgIGQgIFhNTF9STkdQX0lOVkFMSURfVVJJLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTA1MAorICAgICBkICBYTUxfUk5HUF9JTlZBTElEX1ZBTFVFLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTA1MQorICAgICBkICBYTUxfUk5HUF9NSVNTSU5HX0hSRUYuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDUyCisgICAgIGQgIFhNTF9STkdQX05BTUVfTUlTU0lORy4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwNTMKKyAgICAgZCAgWE1MX1JOR1BfTkVFRF9DT01CSU5FLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTA1NAorICAgICBkICBYTUxfUk5HUF9OT1RBTExPV0VEX05PVF9FTVBUWS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwNTUKKyAgICAgZCAgWE1MX1JOR1BfTlNOQU1FX0FUVFJfQU5DRVNUT1IuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDU2CisgICAgIGQgIFhNTF9STkdQX05TTkFNRV9OT19OUy4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwNTcKKyAgICAgZCAgWE1MX1JOR1BfUEFSQU1fRk9SQklEREVOLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTA1OAorICAgICBkICBYTUxfUk5HUF9QQVJBTV9OQU1FX01JU1NJTkcuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDU5CisgICAgIGQgIFhNTF9STkdQX1BBUkVOVFJFRl9DUkVBVEVfRkFJTEVELi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTA2MAorICAgICBkICBYTUxfUk5HUF9QQVJFTlRSRUZfTkFNRV9JTlZBTElELi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTA2MQorICAgICBkICBYTUxfUk5HUF9QQVJFTlRSRUZfTk9fTkFNRS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwNjIKKyAgICAgZCAgWE1MX1JOR1BfUEFSRU5UUkVGX05PX1BBUkVOVC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwNjMKKyAgICAgZCAgWE1MX1JOR1BfUEFSRU5UUkVGX05PVF9FTVBUWS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwNjQKKyAgICAgZCAgWE1MX1JOR1BfUEFSU0VfRVJST1IuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDY1CisgICAgIGQgIFhNTF9STkdQX1BBVF9BTllOQU1FX0VYQ0VQVF9BTllOQU1FLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTA2NgorICAgICBkICBYTUxfUk5HUF9QQVRfQVRUUl9BVFRSLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTA2NworICAgICBkICBYTUxfUk5HUF9QQVRfQVRUUl9FTEVNLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTA2OAorICAgICBkICBYTUxfUk5HUF9QQVRfREFUQV9FWENFUFRfQVRUUi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwNjkKKyAgICAgZCAgWE1MX1JOR1BfUEFUX0RBVEFfRVhDRVBUX0VMRU0uLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDcwCisgICAgIGQgIFhNTF9STkdQX1BBVF9EQVRBX0VYQ0VQVF9FTVBUWS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwNzEKKyAgICAgZCAgWE1MX1JOR1BfUEFUX0RBVEFfRVhDRVBUX0dST1VQLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTA3MgorICAgICBkICBYTUxfUk5HUF9QQVRfREFUQV9FWENFUFRfSU5URVJMRUFWRS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwNzMKKyAgICAgZCAgWE1MX1JOR1BfUEFUX0RBVEFfRVhDRVBUX0xJU1QuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDc0CisgICAgIGQgIFhNTF9STkdQX1BBVF9EQVRBX0VYQ0VQVF9PTkVNT1JFLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTA3NQorICAgICBkICBYTUxfUk5HUF9QQVRfREFUQV9FWENFUFRfUkVGLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTA3NgorICAgICBkICBYTUxfUk5HUF9QQVRfREFUQV9FWENFUFRfVEVYVC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwNzcKKyAgICAgZCAgWE1MX1JOR1BfUEFUX0xJU1RfQVRUUi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwNzgKKyAgICAgZCAgWE1MX1JOR1BfUEFUX0xJU1RfRUxFTS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwNzkKKyAgICAgZCAgWE1MX1JOR1BfUEFUX0xJU1RfSU5URVJMRUFWRS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwODAKKyAgICAgZCAgWE1MX1JOR1BfUEFUX0xJU1RfTElTVC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwODEKKyAgICAgZCAgWE1MX1JOR1BfUEFUX0xJU1RfUkVGLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTA4MgorICAgICBkICBYTUxfUk5HUF9QQVRfTElTVF9URVhULi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTA4MworICAgICBkICBYTUxfUk5HUF9QQVRfTlNOQU1FX0VYQ0VQVF9BTllOQU1FLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTA4NAorICAgICBkICBYTUxfUk5HUF9QQVRfTlNOQU1FX0VYQ0VQVF9OU05BTUUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDg1CisgICAgIGQgIFhNTF9STkdQX1BBVF9PTkVNT1JFX0dST1VQX0FUVFIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDg2CisgICAgIGQgIFhNTF9STkdQX1BBVF9PTkVNT1JFX0lOVEVSTEVBVkVfQVRUUi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwODcKKyAgICAgZCAgWE1MX1JOR1BfUEFUX1NUQVJUX0FUVFIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDg4CisgICAgIGQgIFhNTF9STkdQX1BBVF9TVEFSVF9EQVRBLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTA4OQorICAgICBkICBYTUxfUk5HUF9QQVRfU1RBUlRfRU1QVFkuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDkwCisgICAgIGQgIFhNTF9STkdQX1BBVF9TVEFSVF9HUk9VUC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwOTEKKyAgICAgZCAgWE1MX1JOR1BfUEFUX1NUQVJUX0lOVEVSTEVBVkUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDkyCisgICAgIGQgIFhNTF9STkdQX1BBVF9TVEFSVF9MSVNULi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTA5MworICAgICBkICBYTUxfUk5HUF9QQVRfU1RBUlRfT05FTU9SRS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwOTQKKyAgICAgZCAgWE1MX1JOR1BfUEFUX1NUQVJUX1RFWFQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDk1CisgICAgIGQgIFhNTF9STkdQX1BBVF9TVEFSVF9WQUxVRS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwOTYKKyAgICAgZCAgWE1MX1JOR1BfUFJFRklYX1VOREVGSU5FRC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwOTcKKyAgICAgZCAgWE1MX1JOR1BfUkVGX0NSRUFURV9GQUlMRUQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMDk4CisgICAgIGQgIFhNTF9STkdQX1JFRl9DWUNMRS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEwOTkKKyAgICAgZCAgWE1MX1JOR1BfUkVGX05BTUVfSU5WQUxJRC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDExMDAKKyAgICAgZCAgWE1MX1JOR1BfUkVGX05PX0RFRi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDExMDEKKyAgICAgZCAgWE1MX1JOR1BfUkVGX05PX05BTUUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMTAyCisgICAgIGQgIFhNTF9STkdQX1JFRl9OT1RfRU1QVFkuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMTAzCisgICAgIGQgIFhNTF9STkdQX1NUQVJUX0NIT0lDRV9BTkRfSU5URVJMRUFWRS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDExMDQKKyAgICAgZCAgWE1MX1JOR1BfU1RBUlRfQ09OVEVOVC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDExMDUKKyAgICAgZCAgWE1MX1JOR1BfU1RBUlRfRU1QVFkuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMTA2CisgICAgIGQgIFhNTF9STkdQX1NUQVJUX01JU1NJTkcuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMTA3CisgICAgIGQgIFhNTF9STkdQX1RFWFRfRVhQRUNURUQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMTA4CisgICAgIGQgIFhNTF9STkdQX1RFWFRfSEFTX0NISUxELi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTEwOQorICAgICBkICBYTUxfUk5HUF9UWVBFX01JU1NJTkcuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMTEwCisgICAgIGQgIFhNTF9STkdQX1RZUEVfTk9UX0ZPVU5ELi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTExMQorICAgICBkICBYTUxfUk5HUF9UWVBFX1ZBTFVFLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTExMgorICAgICBkICBYTUxfUk5HUF9VTktOT1dOX0FUVFJJQlVURS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDExMTMKKyAgICAgZCAgWE1MX1JOR1BfVU5LTk9XTl9DT01CSU5FLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTExNAorICAgICBkICBYTUxfUk5HUF9VTktOT1dOX0NPTlNUUlVDVC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDExMTUKKyAgICAgZCAgWE1MX1JOR1BfVU5LTk9XTl9UWVBFX0xJQi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDExMTYKKyAgICAgZCAgWE1MX1JOR1BfVVJJX0ZSQUdNRU5ULi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTExNworICAgICBkICBYTUxfUk5HUF9VUklfTk9UX0FCU09MVVRFLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTExOAorICAgICBkICBYTUxfUk5HUF9WQUxVRV9FTVBUWS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDExMTkKKyAgICAgZCAgWE1MX1JOR1BfVkFMVUVfTk9fQ09OVEVOVC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDExMjAKKyAgICAgZCAgWE1MX1JOR1BfWE1MTlNfTkFNRS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDExMjEKKyAgICAgZCAgWE1MX1JOR1BfWE1MX05TLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTEyMgorICAgICBkICBYTUxfWFBBVEhfRVhQUkVTU0lPTl9PSy4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEyMDAKKyAgICAgZCAgWE1MX1hQQVRIX05VTUJFUl9FUlJPUi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEyMDEKKyAgICAgZCAgWE1MX1hQQVRIX1VORklOSVNIRURfTElURVJBTF9FUlJPUi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEyMDIKKyAgICAgZCAgWE1MX1hQQVRIX1NUQVJUX0xJVEVSQUxfRVJST1IuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMjAzCisgICAgIGQgIFhNTF9YUEFUSF9WQVJJQUJMRV9SRUZfRVJST1IuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMjA0CisgICAgIGQgIFhNTF9YUEFUSF9VTkRFRl9WQVJJQUJMRV9FUlJPUi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEyMDUKKyAgICAgZCAgWE1MX1hQQVRIX0lOVkFMSURfUFJFRElDQVRFX0VSUk9SLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTIwNgorICAgICBkICBYTUxfWFBBVEhfRVhQUl9FUlJPUi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEyMDcKKyAgICAgZCAgWE1MX1hQQVRIX1VOQ0xPU0VEX0VSUk9SLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTIwOAorICAgICBkICBYTUxfWFBBVEhfVU5LTk9XTl9GVU5DX0VSUk9SLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTIwOQorICAgICBkICBYTUxfWFBBVEhfSU5WQUxJRF9PUEVSQU5ELi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTIxMAorICAgICBkICBYTUxfWFBBVEhfSU5WQUxJRF9UWVBFLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTIxMQorICAgICBkICBYTUxfWFBBVEhfSU5WQUxJRF9BUklUWS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEyMTIKKyAgICAgZCAgWE1MX1hQQVRIX0lOVkFMSURfQ1RYVF9TSVpFLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTIxMworICAgICBkICBYTUxfWFBBVEhfSU5WQUxJRF9DVFhUX1BPU0lUSU9OLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTIxNAorICAgICBkICBYTUxfWFBBVEhfTUVNT1JZX0VSUk9SLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTIxNQorICAgICBkICBYTUxfWFBUUl9TWU5UQVhfRVJST1IuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMjE2CisgICAgIGQgIFhNTF9YUFRSX1JFU09VUkNFX0VSUk9SLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTIxNworICAgICBkICBYTUxfWFBUUl9TVUJfUkVTT1VSQ0VfRVJST1IuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMjE4CisgICAgIGQgIFhNTF9YUEFUSF9VTkRFRl9QUkVGSVhfRVJST1IuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMjE5CisgICAgIGQgIFhNTF9YUEFUSF9FTkNPRElOR19FUlJPUi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEyMjAKKyAgICAgZCAgWE1MX1hQQVRIX0lOVkFMSURfQ0hBUl9FUlJPUi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEyMzEKKyAgICAgZCAgWE1MX1RSRUVfSU5WQUxJRF9IRVguLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMzAwCisgICAgIGQgIFhNTF9UUkVFX0lOVkFMSURfREVDLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTMwMQorICAgICBkICBYTUxfVFJFRV9VTlRFUk1JTkFURURfRU5USVRZLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTMwMgorICAgICBkICBYTUxfVFJFRV9OT1RfVVRGOC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEzMDMKKyAgICAgZCAgWE1MX1NBVkVfTk9UX1VURjguLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNDAwCisgICAgIGQgIFhNTF9TQVZFX0NIQVJfSU5WQUxJRC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE0MDEKKyAgICAgZCAgWE1MX1NBVkVfTk9fRE9DVFlQRS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE0MDIKKyAgICAgZCAgWE1MX1NBVkVfVU5LTk9XTl9FTkNPRElORy4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE0MDMKKyAgICAgZCAgWE1MX1JFR0VYUF9DT01QSUxFX0VSUk9SLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTQwMworICAgICBkICBYTUxfSU9fVU5LTk9XTi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE1MDAKKyAgICAgZCAgWE1MX0lPX0VBQ0NFUyAgYyAgICAgICAgICAgICAgICAgICAxNTAxCisgICAgIGQgIFhNTF9JT19FQUdBSU4gIGMgICAgICAgICAgICAgICAgICAgMTUwMgorICAgICBkICBYTUxfSU9fRUJBREYgICBjICAgICAgICAgICAgICAgICAgIDE1MDMKKyAgICAgZCAgWE1MX0lPX0VCQURNU0cuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNTA0CisgICAgIGQgIFhNTF9JT19FQlVTWSAgIGMgICAgICAgICAgICAgICAgICAgMTUwNQorICAgICBkICBYTUxfSU9fRUNBTkNFTEVELi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTUwNgorICAgICBkICBYTUxfSU9fRUNISUxEICBjICAgICAgICAgICAgICAgICAgIDE1MDcKKyAgICAgZCAgWE1MX0lPX0VERUFETEsuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNTA4CisgICAgIGQgIFhNTF9JT19FRE9NICAgIGMgICAgICAgICAgICAgICAgICAgMTUwOQorICAgICBkICBYTUxfSU9fRUVYSVNUICBjICAgICAgICAgICAgICAgICAgIDE1MTAKKyAgICAgZCAgWE1MX0lPX0VGQVVMVCAgYyAgICAgICAgICAgICAgICAgICAxNTExCisgICAgIGQgIFhNTF9JT19FRkJJRyAgIGMgICAgICAgICAgICAgICAgICAgMTUxMgorICAgICBkICBYTUxfSU9fRUlOUFJPR1JFU1MuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNTEzCisgICAgIGQgIFhNTF9JT19FSU5UUiAgIGMgICAgICAgICAgICAgICAgICAgMTUxNAorICAgICBkICBYTUxfSU9fRUlOVkFMICBjICAgICAgICAgICAgICAgICAgIDE1MTUKKyAgICAgZCAgWE1MX0lPX0VJTyAgICAgYyAgICAgICAgICAgICAgICAgICAxNTE2CisgICAgIGQgIFhNTF9JT19FSVNESVIgIGMgICAgICAgICAgICAgICAgICAgMTUxNworICAgICBkICBYTUxfSU9fRU1GSUxFICBjICAgICAgICAgICAgICAgICAgIDE1MTgKKyAgICAgZCAgWE1MX0lPX0VNTElOSyAgYyAgICAgICAgICAgICAgICAgICAxNTE5CisgICAgIGQgIFhNTF9JT19FTVNHU0laRS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE1MjAKKyAgICAgZCAgWE1MX0lPX0VOQU1FVE9PTE9ORy4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE1MjEKKyAgICAgZCAgWE1MX0lPX0VORklMRSAgYyAgICAgICAgICAgICAgICAgICAxNTIyCisgICAgIGQgIFhNTF9JT19FTk9ERVYgIGMgICAgICAgICAgICAgICAgICAgMTUyMworICAgICBkICBYTUxfSU9fRU5PRU5UICBjICAgICAgICAgICAgICAgICAgIDE1MjQKKyAgICAgZCAgWE1MX0lPX0VOT0VYRUMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNTI1CisgICAgIGQgIFhNTF9JT19FTk9MQ0sgIGMgICAgICAgICAgICAgICAgICAgMTUyNgorICAgICBkICBYTUxfSU9fRU5PTUVNICBjICAgICAgICAgICAgICAgICAgIDE1MjcKKyAgICAgZCAgWE1MX0lPX0VOT1NQQyAgYyAgICAgICAgICAgICAgICAgICAxNTI4CisgICAgIGQgIFhNTF9JT19FTk9TWVMgIGMgICAgICAgICAgICAgICAgICAgMTUyOQorICAgICBkICBYTUxfSU9fRU5PVERJUi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE1MzAKKyAgICAgZCAgWE1MX0lPX0VOT1RFTVBUWS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE1MzEKKyAgICAgZCAgWE1MX0lPX0VOT1RTVVAuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNTMyCisgICAgIGQgIFhNTF9JT19FTk9UVFkgIGMgICAgICAgICAgICAgICAgICAgMTUzMworICAgICBkICBYTUxfSU9fRU5YSU8gICBjICAgICAgICAgICAgICAgICAgIDE1MzQKKyAgICAgZCAgWE1MX0lPX0VQRVJNICAgYyAgICAgICAgICAgICAgICAgICAxNTM1CisgICAgIGQgIFhNTF9JT19FUElQRSAgIGMgICAgICAgICAgICAgICAgICAgMTUzNgorICAgICBkICBYTUxfSU9fRVJBTkdFICBjICAgICAgICAgICAgICAgICAgIDE1MzcKKyAgICAgZCAgWE1MX0lPX0VST0ZTICAgYyAgICAgICAgICAgICAgICAgICAxNTM4CisgICAgIGQgIFhNTF9JT19FU1BJUEUgIGMgICAgICAgICAgICAgICAgICAgMTUzOQorICAgICBkICBYTUxfSU9fRVNSQ0ggICBjICAgICAgICAgICAgICAgICAgIDE1NDAKKyAgICAgZCAgWE1MX0lPX0VUSU1FRE9VVC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE1NDEKKyAgICAgZCAgWE1MX0lPX0VYREVWICAgYyAgICAgICAgICAgICAgICAgICAxNTQyCisgICAgIGQgIFhNTF9JT19ORVRXT1JLX0FUVEVNUFQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNTQzCisgICAgIGQgIFhNTF9JT19FTkNPREVSLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTU0NAorICAgICBkICBYTUxfSU9fRkxVU0ggICBjICAgICAgICAgICAgICAgICAgIDE1NDUKKyAgICAgZCAgWE1MX0lPX1dSSVRFICAgYyAgICAgICAgICAgICAgICAgICAxNTQ2CisgICAgIGQgIFhNTF9JT19OT19JTlBVVC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE1NDcKKyAgICAgZCAgWE1MX0lPX0JVRkZFUl9GVUxMLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTU0OAorICAgICBkICBYTUxfSU9fTE9BRF9FUlJPUi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE1NDkKKyAgICAgZCAgWE1MX0lPX0VOT1RTT0NLLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTU1MAorICAgICBkICBYTUxfSU9fRUlTQ09OTi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE1NTEKKyAgICAgZCAgWE1MX0lPX0VDT05OUkVGVVNFRC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE1NTIKKyAgICAgZCAgWE1MX0lPX0VORVRVTlJFQUNILi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTU1MworICAgICBkICBYTUxfSU9fRUFERFJJTlVTRS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE1NTQKKyAgICAgZCAgWE1MX0lPX0VBTFJFQURZLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTU1NQorICAgICBkICBYTUxfSU9fRUFGTk9TVVBQT1JULi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTU1NgorICAgICBkICBYTUxfWElOQ0xVREVfUkVDVVJTSU9OLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTYwMAorICAgICBkICBYTUxfWElOQ0xVREVfUEFSU0VfVkFMVUUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNjAxCisgICAgIGQgIFhNTF9YSU5DTFVERV9FTlRJVFlfREVGX01JU01BVENILi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTYwMgorICAgICBkICBYTUxfWElOQ0xVREVfTk9fSFJFRi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE2MDMKKyAgICAgZCAgWE1MX1hJTkNMVURFX05PX0ZBTExCQUNLLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTYwNAorICAgICBkICBYTUxfWElOQ0xVREVfSFJFRl9VUkkuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNjA1CisgICAgIGQgIFhNTF9YSU5DTFVERV9URVhUX0ZSQUdNRU5ULi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTYwNgorICAgICBkICBYTUxfWElOQ0xVREVfVEVYVF9ET0NVTUVOVC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE2MDcKKyAgICAgZCAgWE1MX1hJTkNMVURFX0lOVkFMSURfQ0hBUi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE2MDgKKyAgICAgZCAgWE1MX1hJTkNMVURFX0JVSUxEX0ZBSUxFRC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE2MDkKKyAgICAgZCAgWE1MX1hJTkNMVURFX1VOS05PV05fRU5DT0RJTkcuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNjEwCisgICAgIGQgIFhNTF9YSU5DTFVERV9NVUxUSVBMRV9ST09ULi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTYxMQorICAgICBkICBYTUxfWElOQ0xVREVfWFBUUl9GQUlMRUQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNjEyCisgICAgIGQgIFhNTF9YSU5DTFVERV9YUFRSX1JFU1VMVC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE2MTMKKyAgICAgZCAgWE1MX1hJTkNMVURFX0lOQ0xVREVfSU5fSU5DTFVERS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE2MTQKKyAgICAgZCAgWE1MX1hJTkNMVURFX0ZBTExCQUNLU19JTl9JTkNMVURFLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTYxNQorICAgICBkICBYTUxfWElOQ0xVREVfRkFMTEJBQ0tfTk9UX0lOX0lOQ0xVREUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNjE2CisgICAgIGQgIFhNTF9YSU5DTFVERV9ERVBSRUNBVEVEX05TLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTYxNworICAgICBkICBYTUxfWElOQ0xVREVfRlJBR01FTlRfSUQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNjE4CisgICAgIGQgIFhNTF9DQVRBTE9HX01JU1NJTkdfQVRUUi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE2NTAKKyAgICAgZCAgWE1MX0NBVEFMT0dfRU5UUllfQlJPS0VOLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTY1MQorICAgICBkICBYTUxfQ0FUQUxPR19QUkVGRVJfVkFMVUUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNjUyCisgICAgIGQgIFhNTF9DQVRBTE9HX05PVF9DQVRBTE9HLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTY1MworICAgICBkICBYTUxfQ0FUQUxPR19SRUNVUlNJT04uLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNjU0CisgICAgIGQgIFhNTF9TQ0hFTUFQX1BSRUZJWF9VTkRFRklORUQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzAwCisgICAgIGQgIFhNTF9TQ0hFTUFQX0FUVFJGT1JNREVGQVVMVF9WQUxVRS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE3MDEKKyAgICAgZCAgWE1MX1NDSEVNQVBfQVRUUkdSUF9OT05BTUVfTk9SRUYuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzAyCisgICAgIGQgIFhNTF9TQ0hFTUFQX0FUVFJfTk9OQU1FX05PUkVGLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTcwMworICAgICBkICBYTUxfU0NIRU1BUF9DT01QTEVYVFlQRV9OT05BTUVfTk9SRUYuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzA0CisgICAgIGQgIFhNTF9TQ0hFTUFQX0VMRU1GT1JNREVGQVVMVF9WQUxVRS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE3MDUKKyAgICAgZCAgWE1MX1NDSEVNQVBfRUxFTV9OT05BTUVfTk9SRUYuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzA2CisgICAgIGQgIFhNTF9TQ0hFTUFQX0VYVEVOU0lPTl9OT19CQVNFLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTcwNworICAgICBkICBYTUxfU0NIRU1BUF9GQUNFVF9OT19WQUxVRS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE3MDgKKyAgICAgZCAgWE1MX1NDSEVNQVBfRkFJTEVEX0JVSUxEX0lNUE9SVC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE3MDkKKyAgICAgZCAgWE1MX1NDSEVNQVBfR1JPVVBfTk9OQU1FX05PUkVGLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTcxMAorICAgICBkICBYTUxfU0NIRU1BUF9JTVBPUlRfTkFNRVNQQUNFX05PVF9VUkkuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzExCisgICAgIGQgIFhNTF9TQ0hFTUFQX0lNUE9SVF9SRURFRklORV9OU05BTUUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzEyCisgICAgIGQgIFhNTF9TQ0hFTUFQX0lNUE9SVF9TQ0hFTUFfTk9UX1VSSS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE3MTMKKyAgICAgZCAgWE1MX1NDSEVNQVBfSU5WQUxJRF9CT09MRUFOLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTcxNAorICAgICBkICBYTUxfU0NIRU1BUF9JTlZBTElEX0VOVU0uLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzE1CisgICAgIGQgIFhNTF9TQ0hFTUFQX0lOVkFMSURfRkFDRVQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzE2CisgICAgIGQgIFhNTF9TQ0hFTUFQX0lOVkFMSURfRkFDRVRfVkFMVUUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzE3CisgICAgIGQgIFhNTF9TQ0hFTUFQX0lOVkFMSURfTUFYT0NDVVJTLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTcxOAorICAgICBkICBYTUxfU0NIRU1BUF9JTlZBTElEX01JTk9DQ1VSUy4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE3MTkKKyAgICAgZCAgWE1MX1NDSEVNQVBfSU5WQUxJRF9SRUZfQU5EX1NVQlRZUEUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzIwCisgICAgIGQgIFhNTF9TQ0hFTUFQX0lOVkFMSURfV0hJVEVfU1BBQ0UuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzIxCisgICAgIGQgIFhNTF9TQ0hFTUFQX05PQVRUUl9OT1JFRi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE3MjIKKyAgICAgZCAgWE1MX1NDSEVNQVBfTk9UQVRJT05fTk9fTkFNRS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE3MjMKKyAgICAgZCAgWE1MX1NDSEVNQVBfTk9UWVBFX05PUkVGLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTcyNAorICAgICBkICBYTUxfU0NIRU1BUF9SRUZfQU5EX1NVQlRZUEUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzI1CisgICAgIGQgIFhNTF9TQ0hFTUFQX1JFU1RSSUNUSU9OX05PTkFNRV9OT1JFRi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE3MjYKKyAgICAgZCAgWE1MX1NDSEVNQVBfU0lNUExFVFlQRV9OT05BTUUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzI3CisgICAgIGQgIFhNTF9TQ0hFTUFQX1RZUEVfQU5EX1NVQlRZUEUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzI4CisgICAgIGQgIFhNTF9TQ0hFTUFQX1VOS05PV05fQUxMX0NISUxELi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTcyOQorICAgICBkICBYTUxfU0NIRU1BUF9VTktOT1dOX0FOWUFUVFJJQlVURV9DSElMRC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE3MzAKKyAgICAgZCAgWE1MX1NDSEVNQVBfVU5LTk9XTl9BVFRSX0NISUxELi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTczMQorICAgICBkICBYTUxfU0NIRU1BUF9VTktOT1dOX0FUVFJHUlBfQ0hJTEQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzMyCisgICAgIGQgIFhNTF9TQ0hFTUFQX1VOS05PV05fQVRUUklCVVRFX0dST1VQLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTczMworICAgICBkICBYTUxfU0NIRU1BUF9VTktOT1dOX0JBU0VfVFlQRS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE3MzQKKyAgICAgZCAgWE1MX1NDSEVNQVBfVU5LTk9XTl9DSE9JQ0VfQ0hJTEQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzM1CisgICAgIGQgIFhNTF9TQ0hFTUFQX1VOS05PV05fQ09NUExFWENPTlRFTlRfQ0hJTEQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzM2CisgICAgIGQgIFhNTF9TQ0hFTUFQX1VOS05PV05fQ09NUExFWFRZUEVfQ0hJTEQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzM3CisgICAgIGQgIFhNTF9TQ0hFTUFQX1VOS05PV05fRUxFTV9DSElMRC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE3MzgKKyAgICAgZCAgWE1MX1NDSEVNQVBfVU5LTk9XTl9FWFRFTlNJT05fQ0hJTEQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzM5CisgICAgIGQgIFhNTF9TQ0hFTUFQX1VOS05PV05fRkFDRVRfQ0hJTEQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzQwCisgICAgIGQgIFhNTF9TQ0hFTUFQX1VOS05PV05fRkFDRVRfVFlQRS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE3NDEKKyAgICAgZCAgWE1MX1NDSEVNQVBfVU5LTk9XTl9HUk9VUF9DSElMRC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE3NDIKKyAgICAgZCAgWE1MX1NDSEVNQVBfVU5LTk9XTl9JTVBPUlRfQ0hJTEQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzQzCisgICAgIGQgIFhNTF9TQ0hFTUFQX1VOS05PV05fTElTVF9DSElMRC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE3NDQKKyAgICAgZCAgWE1MX1NDSEVNQVBfVU5LTk9XTl9OT1RBVElPTl9DSElMRC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE3NDUKKyAgICAgZCAgWE1MX1NDSEVNQVBfVU5LTk9XTl9QUk9DRVNTQ09OVEVOVF9DSElMRC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE3NDYKKyAgICAgZCAgWE1MX1NDSEVNQVBfVU5LTk9XTl9SRUYuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzQ3CisgICAgIGQgIFhNTF9TQ0hFTUFQX1VOS05PV05fUkVTVFJJQ1RJT05fQ0hJTEQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzQ4CisgICAgIGQgIFhNTF9TQ0hFTUFQX1VOS05PV05fU0NIRU1BU19DSElMRC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE3NDkKKyAgICAgZCAgWE1MX1NDSEVNQVBfVU5LTk9XTl9TRVFVRU5DRV9DSElMRC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE3NTAKKyAgICAgZCAgWE1MX1NDSEVNQVBfVU5LTk9XTl9TSU1QTEVDT05URU5UX0NISUxELi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTc1MQorICAgICBkICBYTUxfU0NIRU1BUF9VTktOT1dOX1NJTVBMRVRZUEVfQ0hJTEQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzUyCisgICAgIGQgIFhNTF9TQ0hFTUFQX1VOS05PV05fVFlQRS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE3NTMKKyAgICAgZCAgWE1MX1NDSEVNQVBfVU5LTk9XTl9VTklPTl9DSElMRC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE3NTQKKyAgICAgZCAgWE1MX1NDSEVNQVBfRUxFTV9ERUZBVUxUX0ZJWEVELi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTc1NQorICAgICBkICBYTUxfU0NIRU1BUF9SRUdFWFBfSU5WQUxJRC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE3NTYKKyAgICAgZCAgWE1MX1NDSEVNQVBfRkFJTEVEX0xPQUQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzU3CisgICAgIGQgIFhNTF9TQ0hFTUFQX05PVEhJTkdfVE9fUEFSU0UuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzU4CisgICAgIGQgIFhNTF9TQ0hFTUFQX05PUk9PVC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE3NTkKKyAgICAgZCAgWE1MX1NDSEVNQVBfUkVERUZJTkVEX0dST1VQLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTc2MAorICAgICBkICBYTUxfU0NIRU1BUF9SRURFRklORURfVFlQRS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE3NjEKKyAgICAgZCAgWE1MX1NDSEVNQVBfUkVERUZJTkVEX0VMRU1FTlQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzYyCisgICAgIGQgIFhNTF9TQ0hFTUFQX1JFREVGSU5FRF9BVFRSR1JPVVAuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzYzCisgICAgIGQgIFhNTF9TQ0hFTUFQX1JFREVGSU5FRF9BVFRSLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTc2NAorICAgICBkICBYTUxfU0NIRU1BUF9SRURFRklORURfTk9UQVRJT04uLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzY1CisgICAgIGQgIFhNTF9TQ0hFTUFQX0ZBSUxFRF9QQVJTRS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE3NjYKKyAgICAgZCAgWE1MX1NDSEVNQVBfVU5LTk9XTl9QUkVGSVguLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzY3CisgICAgIGQgIFhNTF9TQ0hFTUFQX0RFRl9BTkRfUFJFRklYLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTc2OAorICAgICBkICBYTUxfU0NIRU1BUF9VTktOT1dOX0lOQ0xVREVfQ0hJTEQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzY5CisgICAgIGQgIFhNTF9TQ0hFTUFQX0lOQ0xVREVfU0NIRU1BX05PVF9VUkkuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzcwCisgICAgIGQgIFhNTF9TQ0hFTUFQX0lOQ0xVREVfU0NIRU1BX05PX1VSSS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE3NzEKKyAgICAgZCAgWE1MX1NDSEVNQVBfTk9UX1NDSEVNQS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE3NzIKKyAgICAgZCAgWE1MX1NDSEVNQVBfVU5LTk9XTl9NRU1CRVJfVFlQRS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE3NzMKKyAgICAgZCAgWE1MX1NDSEVNQVBfSU5WQUxJRF9BVFRSX1VTRS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE3NzQKKyAgICAgZCAgWE1MX1NDSEVNQVBfUkVDVVJTSVZFLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTc3NQorICAgICBkICBYTUxfU0NIRU1BUF9TVVBFUk5VTUVST1VTX0xJU1RfSVRFTV9UWVBFLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTc3NgorICAgICBkICBYTUxfU0NIRU1BUF9JTlZBTElEX0FUVFJfQ09NQklOQVRJT04uLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzc3CisgICAgIGQgIFhNTF9TQ0hFTUFQX0lOVkFMSURfQVRUUl9JTkxJTkVfQ09NQklOQVRJT04uLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzc4CisgICAgIGQgIFhNTF9TQ0hFTUFQX01JU1NJTkdfU0lNUExFVFlQRV9DSElMRC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE3NzkKKyAgICAgZCAgWE1MX1NDSEVNQVBfSU5WQUxJRF9BVFRSX05BTUUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzgwCisgICAgIGQgIFhNTF9TQ0hFTUFQX1JFRl9BTkRfQ09OVEVOVC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE3ODEKKyAgICAgZCAgWE1MX1NDSEVNQVBfQ1RfUFJPUFNfQ09SUkVDVF8xLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTc4MgorICAgICBkICBYTUxfU0NIRU1BUF9DVF9QUk9QU19DT1JSRUNUXzIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzgzCisgICAgIGQgIFhNTF9TQ0hFTUFQX0NUX1BST1BTX0NPUlJFQ1RfMy4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE3ODQKKyAgICAgZCAgWE1MX1NDSEVNQVBfQ1RfUFJPUFNfQ09SUkVDVF80Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTc4NQorICAgICBkICBYTUxfU0NIRU1BUF9DVF9QUk9QU19DT1JSRUNUXzUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzg2CisgICAgIGQgIFhNTF9TQ0hFTUFQX0RFUklWQVRJT05fT0tfUkVTVFJJQ1RJT05fMS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE3ODcKKyAgICAgZCAgWE1MX1NDSEVNQVBfREVSSVZBVElPTl9PS19SRVNUUklDVElPTl8yXzFfMS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE3ODgKKyAgICAgZCAgWE1MX1NDSEVNQVBfREVSSVZBVElPTl9PS19SRVNUUklDVElPTl8yXzFfMi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE3ODkKKyAgICAgZCAgWE1MX1NDSEVNQVBfREVSSVZBVElPTl9PS19SRVNUUklDVElPTl8yXzIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzkwCisgICAgIGQgIFhNTF9TQ0hFTUFQX0RFUklWQVRJT05fT0tfUkVTVFJJQ1RJT05fMy4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE3OTEKKyAgICAgZCAgWE1MX1NDSEVNQVBfV0lMRENBUkRfSU5WQUxJRF9OU19NRU1CRVIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzkyCisgICAgIGQgIFhNTF9TQ0hFTUFQX0lOVEVSU0VDVElPTl9OT1RfRVhQUkVTU0lCTEUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzkzCisgICAgIGQgIFhNTF9TQ0hFTUFQX1VOSU9OX05PVF9FWFBSRVNTSUJMRS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE3OTQKKyAgICAgZCAgWE1MX1NDSEVNQVBfU1JDX0lNUE9SVF8zXzEuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzk1CisgICAgIGQgIFhNTF9TQ0hFTUFQX1NSQ19JTVBPUlRfM18yLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTc5NgorICAgICBkICBYTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzRfMS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE3OTcKKyAgICAgZCAgWE1MX1NDSEVNQVBfREVSSVZBVElPTl9PS19SRVNUUklDVElPTl80XzIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNzk4CisgICAgIGQgIFhNTF9TQ0hFTUFQX0RFUklWQVRJT05fT0tfUkVTVFJJQ1RJT05fNF8zLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTc5OQorICAgICBkICBYTUxfU0NIRU1BUF9DT1NfQ1RfRVhURU5EU18xXzMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxODAwCisgICAgIGQgIFhNTF9TQ0hFTUFWX05PUk9PVC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE4MDEKKyAgICAgZCAgWE1MX1NDSEVNQVZfVU5ERUNMQVJFREVMRU0uLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxODAyCisgICAgIGQgIFhNTF9TQ0hFTUFWX05PVFRPUExFVkVMLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTgwMworICAgICBkICBYTUxfU0NIRU1BVl9NSVNTSU5HLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTgwNAorICAgICBkICBYTUxfU0NIRU1BVl9XUk9OR0VMRU0uLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxODA1CisgICAgIGQgIFhNTF9TQ0hFTUFWX05PVFlQRS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE4MDYKKyAgICAgZCAgWE1MX1NDSEVNQVZfTk9ST0xMQkFDSy4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE4MDcKKyAgICAgZCAgWE1MX1NDSEVNQVZfSVNBQlNUUkFDVC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE4MDgKKyAgICAgZCAgWE1MX1NDSEVNQVZfTk9URU1QVFkuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxODA5CisgICAgIGQgIFhNTF9TQ0hFTUFWX0VMRU1DT05ULi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTgxMAorICAgICBkICBYTUxfU0NIRU1BVl9IQVZFREVGQVVMVC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE4MTEKKyAgICAgZCAgWE1MX1NDSEVNQVZfTk9UTklMTEFCTEUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxODEyCisgICAgIGQgIFhNTF9TQ0hFTUFWX0VYVFJBQ09OVEVOVC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE4MTMKKyAgICAgZCAgWE1MX1NDSEVNQVZfSU5WQUxJREFUVFIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxODE0CisgICAgIGQgIFhNTF9TQ0hFTUFWX0lOVkFMSURFTEVNLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTgxNQorICAgICBkICBYTUxfU0NIRU1BVl9OT1RERVRFUk1JTklTVC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE4MTYKKyAgICAgZCAgWE1MX1NDSEVNQVZfQ09OU1RSVUNULi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTgxNworICAgICBkICBYTUxfU0NIRU1BVl9JTlRFUk5BTC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE4MTgKKyAgICAgZCAgWE1MX1NDSEVNQVZfTk9UU0lNUExFLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTgxOQorICAgICBkICBYTUxfU0NIRU1BVl9BVFRSVU5LTk9XTi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE4MjAKKyAgICAgZCAgWE1MX1NDSEVNQVZfQVRUUklOVkFMSUQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxODIxCisgICAgIGQgIFhNTF9TQ0hFTUFWX1ZBTFVFLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTgyMgorICAgICBkICBYTUxfU0NIRU1BVl9GQUNFVC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE4MjMKKyAgICAgZCAgWE1MX1NDSEVNQVZfQ1ZDX0RBVEFUWVBFX1ZBTElEXzFfMl8xLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTgyNAorICAgICBkICBYTUxfU0NIRU1BVl9DVkNfREFUQVRZUEVfVkFMSURfMV8yXzIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxODI1CisgICAgIGQgIFhNTF9TQ0hFTUFWX0NWQ19EQVRBVFlQRV9WQUxJRF8xXzJfMy4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE4MjYKKyAgICAgZCAgWE1MX1NDSEVNQVZfQ1ZDX1RZUEVfM18xXzEuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxODI3CisgICAgIGQgIFhNTF9TQ0hFTUFWX0NWQ19UWVBFXzNfMV8yLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTgyOAorICAgICBkICBYTUxfU0NIRU1BVl9DVkNfRkFDRVRfVkFMSUQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxODI5CisgICAgIGQgIFhNTF9TQ0hFTUFWX0NWQ19MRU5HVEhfVkFMSUQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxODMwCisgICAgIGQgIFhNTF9TQ0hFTUFWX0NWQ19NSU5MRU5HVEhfVkFMSUQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxODMxCisgICAgIGQgIFhNTF9TQ0hFTUFWX0NWQ19NQVhMRU5HVEhfVkFMSUQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxODMyCisgICAgIGQgIFhNTF9TQ0hFTUFWX0NWQ19NSU5JTkNMVVNJVkVfVkFMSUQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxODMzCisgICAgIGQgIFhNTF9TQ0hFTUFWX0NWQ19NQVhJTkNMVVNJVkVfVkFMSUQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxODM0CisgICAgIGQgIFhNTF9TQ0hFTUFWX0NWQ19NSU5FWENMVVNJVkVfVkFMSUQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxODM1CisgICAgIGQgIFhNTF9TQ0hFTUFWX0NWQ19NQVhFWENMVVNJVkVfVkFMSUQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxODM2CisgICAgIGQgIFhNTF9TQ0hFTUFWX0NWQ19UT1RBTERJR0lUU19WQUxJRC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE4MzcKKyAgICAgZCAgWE1MX1NDSEVNQVZfQ1ZDX0ZSQUNUSU9ORElHSVRTX1ZBTElELi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTgzOAorICAgICBkICBYTUxfU0NIRU1BVl9DVkNfUEFUVEVSTl9WQUxJRC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE4MzkKKyAgICAgZCAgWE1MX1NDSEVNQVZfQ1ZDX0VOVU1FUkFUSU9OX1ZBTElELi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTg0MAorICAgICBkICBYTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzJfMS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE4NDEKKyAgICAgZCAgWE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV8yXzIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxODQyCisgICAgIGQgIFhNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfMl8zLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTg0MworICAgICBkICBYTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzJfNC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE4NDQKKyAgICAgZCAgWE1MX1NDSEVNQVZfQ1ZDX0VMVF8xLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTg0NQorICAgICBkICBYTUxfU0NIRU1BVl9DVkNfRUxUXzIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxODQ2CisgICAgIGQgIFhNTF9TQ0hFTUFWX0NWQ19FTFRfM18xLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTg0NworICAgICBkICBYTUxfU0NIRU1BVl9DVkNfRUxUXzNfMl8xLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTg0OAorICAgICBkICBYTUxfU0NIRU1BVl9DVkNfRUxUXzNfMl8yLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTg0OQorICAgICBkICBYTUxfU0NIRU1BVl9DVkNfRUxUXzRfMS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE4NTAKKyAgICAgZCAgWE1MX1NDSEVNQVZfQ1ZDX0VMVF80XzIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxODUxCisgICAgIGQgIFhNTF9TQ0hFTUFWX0NWQ19FTFRfNF8zLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTg1MgorICAgICBkICBYTUxfU0NIRU1BVl9DVkNfRUxUXzVfMV8xLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTg1MworICAgICBkICBYTUxfU0NIRU1BVl9DVkNfRUxUXzVfMV8yLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTg1NAorICAgICBkICBYTUxfU0NIRU1BVl9DVkNfRUxUXzVfMl8xLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTg1NQorICAgICBkICBYTUxfU0NIRU1BVl9DVkNfRUxUXzVfMl8yXzEuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxODU2CisgICAgIGQgIFhNTF9TQ0hFTUFWX0NWQ19FTFRfNV8yXzJfMl8xLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTg1NworICAgICBkICBYTUxfU0NIRU1BVl9DVkNfRUxUXzVfMl8yXzJfMi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE4NTgKKyAgICAgZCAgWE1MX1NDSEVNQVZfQ1ZDX0VMVF82Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTg1OQorICAgICBkICBYTUxfU0NIRU1BVl9DVkNfRUxUXzcuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxODYwCisgICAgIGQgIFhNTF9TQ0hFTUFWX0NWQ19BVFRSSUJVVEVfMS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE4NjEKKyAgICAgZCAgWE1MX1NDSEVNQVZfQ1ZDX0FUVFJJQlVURV8yLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTg2MgorICAgICBkICBYTUxfU0NIRU1BVl9DVkNfQVRUUklCVVRFXzMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxODYzCisgICAgIGQgIFhNTF9TQ0hFTUFWX0NWQ19BVFRSSUJVVEVfNC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE4NjQKKyAgICAgZCAgWE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV8zXzEuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxODY1CisgICAgIGQgIFhNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfM18yXzEuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxODY2CisgICAgIGQgIFhNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfM18yXzIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxODY3CisgICAgIGQgIFhNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfNC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE4NjgKKyAgICAgZCAgWE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV81XzEuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxODY5CisgICAgIGQgIFhNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfNV8yLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTg3MAorICAgICBkICBYTUxfU0NIRU1BVl9FTEVNRU5UX0NPTlRFTlQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxODcxCisgICAgIGQgIFhNTF9TQ0hFTUFWX0RPQ1VNRU5UX0VMRU1FTlRfTUlTU0lORy4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE4NzIKKyAgICAgZCAgWE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV8xLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTg3MworICAgICBkICBYTUxfU0NIRU1BVl9DVkNfQVUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxODc0CisgICAgIGQgIFhNTF9TQ0hFTUFWX0NWQ19UWVBFXzEuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxODc1CisgICAgIGQgIFhNTF9TQ0hFTUFWX0NWQ19UWVBFXzIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxODc2CisgICAgIGQgIFhNTF9TQ0hFTUFWX0NWQ19JREMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxODc3CisgICAgIGQgIFhNTF9TQ0hFTUFWX0NWQ19XSUxEQ0FSRC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE4NzgKKyAgICAgZCAgWE1MX1NDSEVNQVZfTUlTQy4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE4NzkKKyAgICAgZCAgWE1MX1hQVFJfVU5LTk9XTl9TQ0hFTUUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxOTAwCisgICAgIGQgIFhNTF9YUFRSX0NISUxEU0VRX1NUQVJULi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTkwMQorICAgICBkICBYTUxfWFBUUl9FVkFMX0ZBSUxFRC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE5MDIKKyAgICAgZCAgWE1MX1hQVFJfRVhUUkFfT0JKRUNUUy4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE5MDMKKyAgICAgZCAgWE1MX0MxNE5fQ1JFQVRFX0NUWFQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxOTUwCisgICAgIGQgIFhNTF9DMTROX1JFUVVJUkVTX1VURjguLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxOTUxCisgICAgIGQgIFhNTF9DMTROX0NSRUFURV9TVEFDSy4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE5NTIKKyAgICAgZCAgWE1MX0MxNE5fSU5WQUxJRF9OT0RFLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTk1MworICAgICBkICBYTUxfQzE0Tl9VTktOT1dfTk9ERS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE5NTQKKyAgICAgZCAgWE1MX0MxNE5fUkVMQVRJVkVfTkFNRVNQQUNFLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTk1NQorICAgICBkICBYTUxfRlRQX1BBU1ZfQU5TV0VSLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMjAwMAorICAgICBkICBYTUxfRlRQX0VQU1ZfQU5TV0VSLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMjAwMQorICAgICBkICBYTUxfRlRQX0FDQ05ULi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMjAwMgorICAgICBkICBYTUxfRlRQX1VSTF9TWU5UQVguLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAyMDAzCisgICAgIGQgIFhNTF9IVFRQX1VSTF9TWU5UQVguLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAyMDIwCisgICAgIGQgIFhNTF9IVFRQX1VTRV9JUC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDIwMjEKKyAgICAgZCAgWE1MX0hUVFBfVU5LTk9XTl9IT1NULi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMjAyMgorICAgICBkICBYTUxfU0NIRU1BUF9TUkNfU0lNUExFX1RZUEVfMS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMwMDAKKyAgICAgZCAgWE1MX1NDSEVNQVBfU1JDX1NJTVBMRV9UWVBFXzIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMDAxCisgICAgIGQgIFhNTF9TQ0hFTUFQX1NSQ19TSU1QTEVfVFlQRV8zLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzAwMgorICAgICBkICBYTUxfU0NIRU1BUF9TUkNfU0lNUExFX1RZUEVfNC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMwMDMKKyAgICAgZCAgWE1MX1NDSEVNQVBfU1JDX1JFU09MVkUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMDA0CisgICAgIGQgIFhNTF9TQ0hFTUFQX1NSQ19SRVNUUklDVElPTl9CQVNFX09SX1NJTVBMRVRZUEUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMDA1CisgICAgIGQgIFhNTF9TQ0hFTUFQX1NSQ19MSVNUX0lURU1UWVBFX09SX1NJTVBMRVRZUEUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMDA2CisgICAgIGQgIFhNTF9TQ0hFTUFQX1NSQ19VTklPTl9NRU1CRVJUWVBFU19PUl9TSU1QTEVUWVBFUy4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMwMDcKKyAgICAgZCAgWE1MX1NDSEVNQVBfU1RfUFJPUFNfQ09SUkVDVF8xLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzAwOAorICAgICBkICBYTUxfU0NIRU1BUF9TVF9QUk9QU19DT1JSRUNUXzIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMDA5CisgICAgIGQgIFhNTF9TQ0hFTUFQX1NUX1BST1BTX0NPUlJFQ1RfMy4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMwMTAKKyAgICAgZCAgWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18xXzEuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMDExCisgICAgIGQgIFhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMV8yLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzAxMgorICAgICBkICBYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzFfM18xLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzAxMworICAgICBkICBYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzFfM18yLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzAxNAorICAgICBkICBYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzJfMS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMwMTUKKyAgICAgZCAgWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzNfMV8xLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzAxNgorICAgICBkICBYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzJfM18xXzIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMDE3CisgICAgIGQgIFhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMl8zXzJfMS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMwMTgKKyAgICAgZCAgWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzNfMl8yLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzAxOQorICAgICBkICBYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzJfM18yXzMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMDIwCisgICAgIGQgIFhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMl8zXzJfNC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMwMjEKKyAgICAgZCAgWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzNfMl81Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzAyMgorICAgICBkICBYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzNfMS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMwMjMKKyAgICAgZCAgWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzNfMS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMwMjQKKyAgICAgZCAgWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzNfMV8yLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzAyNQorICAgICBkICBYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzNfM18yXzIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMDI2CisgICAgIGQgIFhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfM18zXzJfMS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMwMjcKKyAgICAgZCAgWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzNfMl8zLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzAyOAorICAgICBkICBYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzNfM18yXzQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMDI5CisgICAgIGQgIFhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfM18zXzJfNS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMwMzAKKyAgICAgZCAgWE1MX1NDSEVNQVBfQ09TX1NUX0RFUklWRURfT0tfMl8xLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzAzMQorICAgICBkICBYTUxfU0NIRU1BUF9DT1NfU1RfREVSSVZFRF9PS18yXzIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMDMyCisgICAgIGQgIFhNTF9TQ0hFTUFQX1M0U19FTEVNX05PVF9BTExPV0VELi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzAzMworICAgICBkICBYTUxfU0NIRU1BUF9TNFNfRUxFTV9NSVNTSU5HLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzAzNAorICAgICBkICBYTUxfU0NIRU1BUF9TNFNfQVRUUl9OT1RfQUxMT1dFRC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMwMzUKKyAgICAgZCAgWE1MX1NDSEVNQVBfUzRTX0FUVFJfTUlTU0lORy4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMwMzYKKyAgICAgZCAgWE1MX1NDSEVNQVBfUzRTX0FUVFJfSU5WQUxJRF9WQUxVRS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMwMzcKKyAgICAgZCAgWE1MX1NDSEVNQVBfU1JDX0VMRU1FTlRfMS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMwMzgKKyAgICAgZCAgWE1MX1NDSEVNQVBfU1JDX0VMRU1FTlRfMl8xLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzAzOQorICAgICBkICBYTUxfU0NIRU1BUF9TUkNfRUxFTUVOVF8yXzIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMDQwCisgICAgIGQgIFhNTF9TQ0hFTUFQX1NSQ19FTEVNRU5UXzMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMDQxCisgICAgIGQgIFhNTF9TQ0hFTUFQX1BfUFJPUFNfQ09SUkVDVF8xLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzA0MgorICAgICBkICBYTUxfU0NIRU1BUF9QX1BST1BTX0NPUlJFQ1RfMl8xLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzA0MworICAgICBkICBYTUxfU0NIRU1BUF9QX1BST1BTX0NPUlJFQ1RfMl8yLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzA0NAorICAgICBkICBYTUxfU0NIRU1BUF9FX1BST1BTX0NPUlJFQ1RfMi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMwNDUKKyAgICAgZCAgWE1MX1NDSEVNQVBfRV9QUk9QU19DT1JSRUNUXzMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMDQ2CisgICAgIGQgIFhNTF9TQ0hFTUFQX0VfUFJPUFNfQ09SUkVDVF80Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzA0NworICAgICBkICBYTUxfU0NIRU1BUF9FX1BST1BTX0NPUlJFQ1RfNS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMwNDgKKyAgICAgZCAgWE1MX1NDSEVNQVBfRV9QUk9QU19DT1JSRUNUXzYuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMDQ5CisgICAgIGQgIFhNTF9TQ0hFTUFQX1NSQ19JTkNMVURFLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzA1MAorICAgICBkICBYTUxfU0NIRU1BUF9TUkNfQVRUUklCVVRFXzEuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMDUxCisgICAgIGQgIFhNTF9TQ0hFTUFQX1NSQ19BVFRSSUJVVEVfMi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMwNTIKKyAgICAgZCAgWE1MX1NDSEVNQVBfU1JDX0FUVFJJQlVURV8zXzEuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMDUzCisgICAgIGQgIFhNTF9TQ0hFTUFQX1NSQ19BVFRSSUJVVEVfM18yLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzA1NAorICAgICBkICBYTUxfU0NIRU1BUF9TUkNfQVRUUklCVVRFXzQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMDU1CisgICAgIGQgIFhNTF9TQ0hFTUFQX05PX1hNTE5TLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzA1NgorICAgICBkICBYTUxfU0NIRU1BUF9OT19YU0kuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMDU3CisgICAgIGQgIFhNTF9TQ0hFTUFQX0NPU19WQUxJRF9ERUZBVUxUXzEuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMDU4CisgICAgIGQgIFhNTF9TQ0hFTUFQX0NPU19WQUxJRF9ERUZBVUxUXzJfMS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMwNTkKKyAgICAgZCAgWE1MX1NDSEVNQVBfQ09TX1ZBTElEX0RFRkFVTFRfMl8yXzEuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMDYwCisgICAgIGQgIFhNTF9TQ0hFTUFQX0NPU19WQUxJRF9ERUZBVUxUXzJfMl8yLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzA2MQorICAgICBkICBYTUxfU0NIRU1BUF9DVkNfU0lNUExFX1RZUEUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMDYyCisgICAgIGQgIFhNTF9TQ0hFTUFQX0NPU19DVF9FWFRFTkRTXzFfMS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMwNjMKKyAgICAgZCAgWE1MX1NDSEVNQVBfU1JDX0lNUE9SVF8xXzEuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMDY0CisgICAgIGQgIFhNTF9TQ0hFTUFQX1NSQ19JTVBPUlRfMV8yLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzA2NQorICAgICBkICBYTUxfU0NIRU1BUF9TUkNfSU1QT1JUXzIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMDY2CisgICAgIGQgIFhNTF9TQ0hFTUFQX1NSQ19JTVBPUlRfMl8xLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzA2NworICAgICBkICBYTUxfU0NIRU1BUF9TUkNfSU1QT1JUXzJfMi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMwNjgKKyAgICAgZCAgWE1MX1NDSEVNQVBfSU5URVJOQUwuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTm9uIFczQworICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMwNjkKKyAgICAgZCAgWE1MX1NDSEVNQVBfTk9UX0RFVEVSTUlOSVNUSUMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMDcwCisgICAgIGQgIFhNTF9TQ0hFTUFQX1NSQ19BVFRSSUJVVEVfR1JPVVBfMS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMwNzEKKyAgICAgZCAgWE1MX1NDSEVNQVBfU1JDX0FUVFJJQlVURV9HUk9VUF8yLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzA3MgorICAgICBkICBYTUxfU0NIRU1BUF9TUkNfQVRUUklCVVRFX0dST1VQXzMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMDczCisgICAgIGQgIFhNTF9TQ0hFTUFQX01HX1BST1BTX0NPUlJFQ1RfMS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMwNzQKKyAgICAgZCAgWE1MX1NDSEVNQVBfTUdfUFJPUFNfQ09SUkVDVF8yLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzA3NQorICAgICBkICBYTUxfU0NIRU1BUF9TUkNfQ1RfMS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMwNzYKKyAgICAgZCAgWE1MX1NDSEVNQVBfREVSSVZBVElPTl9PS19SRVNUUklDVElPTl8yXzFfMy4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMwNzcKKyAgICAgZCAgWE1MX1NDSEVNQVBfQVVfUFJPUFNfQ09SUkVDVF8yLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzA3OAorICAgICBkICBYTUxfU0NIRU1BUF9BX1BST1BTX0NPUlJFQ1RfMi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMwNzkKKyAgICAgZCAgWE1MX1NDSEVNQVBfQ19QUk9QU19DT1JSRUNULi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzA4MAorICAgICBkICBYTUxfU0NIRU1BUF9TUkNfUkVERUZJTkUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMDgxCisgICAgIGQgIFhNTF9TQ0hFTUFQX1NSQ19JTVBPUlQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMDgyCisgICAgIGQgIFhNTF9TQ0hFTUFQX1dBUk5fU0tJUF9TQ0hFTUEuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMDgzCisgICAgIGQgIFhNTF9TQ0hFTUFQX1dBUk5fVU5MT0NBVEVEX1NDSEVNQS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMwODQKKyAgICAgZCAgWE1MX1NDSEVNQVBfV0FSTl9BVFRSX1JFREVDTF9QUk9ILi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMzA4NQorICAgICBkICBYTUxfU0NIRU1BUF9XQVJOX0FUVFJfUE9JTlRMRVNTX1BST0guLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMDg2CisgICAgIGQgIFhNTF9TQ0hFTUFQX0FHX1BST1BTX0NPUlJFQ1QuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMDg3CisgICAgIGQgIFhNTF9TQ0hFTUFQX0NPU19DVF9FWFRFTkRTXzFfMi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMwODgKKyAgICAgZCAgWE1MX1NDSEVNQVBfQVVfUFJPUFNfQ09SUkVDVC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMwODkKKyAgICAgZCAgWE1MX1NDSEVNQVBfQV9QUk9QU19DT1JSRUNUXzMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzMDkwCisgICAgIGQgIFhNTF9TQ0hFTUFQX0NPU19BTExfTElNSVRFRC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMwOTEKKyAgICAgZCAgWE1MX1NDSEVNQVRST05WX0FTU0VSVC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDQwMDAKKyAgICAgZCAgWE1MX1NDSEVNQVRST05WX1JFUE9SVC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDQwMDEKKyAgICAgZCAgWE1MX01PRFVMRV9PUEVOLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNDkwMAorICAgICBkICBYTUxfTU9EVUxFX0NMT1NFLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNDkwMQorICAgICBkICBYTUxfQ0hFQ0tfRk9VTkRfRUxFTUVOVC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUwMDAKKyAgICAgZCAgWE1MX0NIRUNLX0ZPVU5EX0FUVFJJQlVURS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUwMDEKKyAgICAgZCAgWE1MX0NIRUNLX0ZPVU5EX1RFWFQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1MDAyCisgICAgIGQgIFhNTF9DSEVDS19GT1VORF9DREFUQS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUwMDMKKyAgICAgZCAgWE1MX0NIRUNLX0ZPVU5EX0VOVElUWVJFRi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUwMDQKKyAgICAgZCAgWE1MX0NIRUNLX0ZPVU5EX0VOVElUWS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUwMDUKKyAgICAgZCAgWE1MX0NIRUNLX0ZPVU5EX1BJLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNTAwNgorICAgICBkICBYTUxfQ0hFQ0tfRk9VTkRfQ09NTUVOVC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUwMDcKKyAgICAgZCAgWE1MX0NIRUNLX0ZPVU5EX0RPQ1RZUEUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1MDA4CisgICAgIGQgIFhNTF9DSEVDS19GT1VORF9GUkFHTUVOVC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUwMDkKKyAgICAgZCAgWE1MX0NIRUNLX0ZPVU5EX05PVEFUSU9OLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNTAxMAorICAgICBkICBYTUxfQ0hFQ0tfVU5LTk9XTl9OT0RFLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNTAxMQorICAgICBkICBYTUxfQ0hFQ0tfRU5USVRZX1RZUEUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1MDEyCisgICAgIGQgIFhNTF9DSEVDS19OT19QQVJFTlQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1MDEzCisgICAgIGQgIFhNTF9DSEVDS19OT19ET0MuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1MDE0CisgICAgIGQgIFhNTF9DSEVDS19OT19OQU1FLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNTAxNQorICAgICBkICBYTUxfQ0hFQ0tfTk9fRUxFTS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUwMTYKKyAgICAgZCAgWE1MX0NIRUNLX1dST05HX0RPQy4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUwMTcKKyAgICAgZCAgWE1MX0NIRUNLX05PX1BSRVYuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1MDE4CisgICAgIGQgIFhNTF9DSEVDS19XUk9OR19QUkVWLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNTAxOQorICAgICBkICBYTUxfQ0hFQ0tfTk9fTkVYVC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUwMjAKKyAgICAgZCAgWE1MX0NIRUNLX1dST05HX05FWFQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1MDIxCisgICAgIGQgIFhNTF9DSEVDS19OT1RfRFRELi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNTAyMgorICAgICBkICBYTUxfQ0hFQ0tfTk9UX0FUVFIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1MDIzCisgICAgIGQgIFhNTF9DSEVDS19OT1RfQVRUUl9ERUNMLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNTAyNAorICAgICBkICBYTUxfQ0hFQ0tfTk9UX0VMRU1fREVDTC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUwMjUKKyAgICAgZCAgWE1MX0NIRUNLX05PVF9FTlRJVFlfREVDTC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUwMjYKKyAgICAgZCAgWE1MX0NIRUNLX05PVF9OU19ERUNMLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNTAyNworICAgICBkICBYTUxfQ0hFQ0tfTk9fSFJFRi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUwMjgKKyAgICAgZCAgWE1MX0NIRUNLX1dST05HX1BBUkVOVC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUwMjkKKyAgICAgZCAgWE1MX0NIRUNLX05TX1NDT1BFLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNTAzMAorICAgICBkICBYTUxfQ0hFQ0tfTlNfQU5DRVNUT1IuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1MDMxCisgICAgIGQgIFhNTF9DSEVDS19OT1RfVVRGOC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUwMzIKKyAgICAgZCAgWE1MX0NIRUNLX05PX0RJQ1QuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1MDMzCisgICAgIGQgIFhNTF9DSEVDS19OT1RfTkNOQU1FLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNTAzNAorICAgICBkICBYTUxfQ0hFQ0tfT1VUU0lERV9ESUNULi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNTAzNQorICAgICBkICBYTUxfQ0hFQ0tfV1JPTkdfTkFNRS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDUwMzYKKyAgICAgZCAgWE1MX0NIRUNLX05BTUVfTk9UX05VTEwuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1MDM3CisgICAgIGQgIFhNTF9JMThOX05PX05BTUUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA2MDAwCisgICAgIGQgIFhNTF9JMThOX05PX0hBTkRMRVIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA2MDAxCisgICAgIGQgIFhNTF9JMThOX0VYQ0VTU19IQU5ETEVSLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNjAwMgorICAgICBkICBYTUxfSTE4Tl9DT05WX0ZBSUxFRC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDYwMDMKKyAgICAgZCAgWE1MX0kxOE5fTk9fT1VUUFVULi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNjAwNAorICAgICBkICBYTUxfQlVGX09WRVJGTE9XLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNzAwMAorCisgICAgICAqIHhtbEdlbmVyaWNFcnJvckZ1bmM6CisgICAgICAqIEBjdHg6ICBhIHBhcnNpbmcgY29udGV4dAorICAgICAgKiBAbXNnOiAgdGhlIG1lc3NhZ2UKKyAgICAgICogQC4uLjogIHRoZSBleHRyYSBhcmd1bWVudHMgb2YgdGhlIHZhcmFncyB0byBmb3JtYXQgdGhlIG1lc3NhZ2UKKyAgICAgICoKKyAgICAgICogU2lnbmF0dXJlIG9mIHRoZSBmdW5jdGlvbiB0byB1c2Ugd2hlbiB0aGVyZSBpcyBhbiBlcnJvciBhbmQKKyAgICAgICogbm8gcGFyc2luZyBvciB2YWxpZGl0eSBjb250ZXh0IGF2YWlsYWJsZSAuCisKKyAgICAgZCB4bWxHZW5lcmljRXJyb3JGdW5jLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jcHRyCisKKyAgICAgICogeG1sU3RydWN0dXJlZEVycm9yRnVuYzoKKyAgICAgICogQHVzZXJEYXRhOiAgdXNlciBwcm92aWRlZCBkYXRhIGZvciB0aGUgZXJyb3IgY2FsbGJhY2sKKyAgICAgICogQGVycm9yOiAgdGhlIGVycm9yIGJlaW5nIHJhaXNlZC4KKyAgICAgICoKKyAgICAgICogU2lnbmF0dXJlIG9mIHRoZSBmdW5jdGlvbiB0byB1c2Ugd2hlbiB0aGVyZSBpcyBhbiBlcnJvciBhbmQKKyAgICAgICogdGhlIG1vZHVsZSBoYW5kbGVzIHRoZSBuZXcgZXJyb3IgcmVwb3J0aW5nIG1lY2hhbmlzbS4KKworICAgICBkIHhtbFN0cnVjdHVyZWRFcnJvckZ1bmMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NwdHIKKworICAgICAgKiBVc2UgdGhlIGZvbGxvd2luZyBmdW5jdGlvbiB0byByZXNldCB0aGUgdHdvIGdsb2JhbCB2YXJpYWJsZXMKKyAgICAgICogeG1sR2VuZXJpY0Vycm9yIGFuZCB4bWxHZW5lcmljRXJyb3JDb250ZXh0LgorCisgICAgIGQgeG1sU2V0R2VuZXJpY0Vycm9yRnVuYy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNldEdlbmVyaWNFcnJvckZ1bmMnKQorICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKyAgICAgZCAgaGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEdlbmVyaWNFcnJvckZ1bmMpCisKKyAgICAgZCBpbml0R2VuZXJpY0Vycm9yRGVmYXVsdEZ1bmMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaW5pdEdlbmVyaWNFcnJvckRlZmF1bHRGdW5jJykKKyAgICAgZCAgaGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEdlbmVyaWNFcnJvckZ1bmMpCisKKyAgICAgZCB4bWxTZXRTdHJ1Y3R1cmVkRXJyb3JGdW5jLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2V0U3RydWN0dXJlZEVycm9yRnVuYycpCisgICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorICAgICBkICBoYW5kbGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sR2VuZXJpY0Vycm9yRnVuYykKKworICAgICAgKiBEZWZhdWx0IG1lc3NhZ2Ugcm91dGluZXMgdXNlZCBieSBTQVggYW5kIFZhbGlkIGNvbnRleHQgZm9yIGVycm9yCisgICAgICAqIGFuZCB3YXJuaW5nIHJlcG9ydGluZy4KKyAgICAgICoKKyAgICAgICogVGhlc2UgYXJlIHZhcmFyZyBmdW5jdGlvbnMuCisgICAgICAqIFRoZSBmb2xsb3dpbmcgcHJvdG90eXBlcyBzdXBwb3J0IHVwIHRvIDggcG9pbnRlciBhcmd1bWVudHMuCisgICAgICAqIE90aGVyIGFyZ3VtZW50IHNpZ25hdHVyZSBjYW4gYmUgYWNoaWV2ZWQgYnkgZGVmaW5pbmcgYWx0ZXJuYXRlCisgICAgICAqICAgcHJvdG90eXBlcyByZWRpcmVjdGVkIHRvIHRoZSBzYW1lIGZ1bmN0aW9uLgorCisgICAgIGQgeG1sUGFyc2VyRXJyb3IgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUGFyc2VyRXJyb3InKQorICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKyAgICAgZCAgbXNnICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIGhhbmRsZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxHZW5lcmljRXJyb3JGdW5jKQorICAgICBkICBhcmcxICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykKKyAgICAgZCAgYXJnMiAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpCisgICAgIGQgIGFyZzMgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKQorICAgICBkICBhcmc0ICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykKKyAgICAgZCAgYXJnNSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpCisgICAgIGQgIGFyZzYgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKQorICAgICBkICBhcmc3ICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykKKyAgICAgZCAgYXJnOCAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpCisKKyAgICAgZCB4bWxQYXJzZXJXYXJuaW5nLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUGFyc2VyV2FybmluZycpCisgICAgIGQgIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorICAgICBkICBtc2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgaGFuZGxlciAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEdlbmVyaWNFcnJvckZ1bmMpCisgICAgIGQgIGFyZzEgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKQorICAgICBkICBhcmcyICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykKKyAgICAgZCAgYXJnMyAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpCisgICAgIGQgIGFyZzQgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKQorICAgICBkICBhcmc1ICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykKKyAgICAgZCAgYXJnNiAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpCisgICAgIGQgIGFyZzcgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKQorICAgICBkICBhcmc4ICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykKKworICAgICBkIHhtbFBhcnNlclZhbGlkaXR5RXJyb3IuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxQYXJzZXJWYWxpZGl0eUVycm9yJykKKyAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCisgICAgIGQgIG1zZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBoYW5kbGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sR2VuZXJpY0Vycm9yRnVuYykKKyAgICAgZCAgYXJnMSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpCisgICAgIGQgIGFyZzIgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKQorICAgICBkICBhcmczICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykKKyAgICAgZCAgYXJnNCAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpCisgICAgIGQgIGFyZzUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKQorICAgICBkICBhcmc2ICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykKKyAgICAgZCAgYXJnNyAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpCisgICAgIGQgIGFyZzggICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKQorCisgICAgIGQgeG1sUGFyc2VyVmFsaWRpdHlXYXJuaW5nLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUGFyc2VyVmFsaWRpdHlXYXJuaW5nJykKKyAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCisgICAgIGQgIG1zZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBoYW5kbGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sR2VuZXJpY0Vycm9yRnVuYykKKyAgICAgZCAgYXJnMSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpCisgICAgIGQgIGFyZzIgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKQorICAgICBkICBhcmczICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykKKyAgICAgZCAgYXJnNCAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpCisgICAgIGQgIGFyZzUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKQorICAgICBkICBhcmc2ICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykKKyAgICAgZCAgYXJnNyAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpCisgICAgIGQgIGFyZzggICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKQorCisgICAgIGQgeG1sUGFyc2VyUHJpbnRGaWxlSW5mby4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFBhcnNlclByaW50RmlsZUluZm8nKQorICAgICBkICBpbnB1dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VySW5wdXRQdHIpCisKKyAgICAgZCB4bWxQYXJzZXJQcmludEZpbGVDb250ZXh0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUGFyc2VyUHJpbnRGaWxlQ29udGV4dCcpCisgICAgIGQgIGlucHV0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJJbnB1dFB0cikKKworICAgICAgKiBFeHRlbmRlZCBlcnJvciBpbmZvcm1hdGlvbiByb3V0aW5lcworCisgICAgIGQgeG1sR2V0TGFzdEVycm9yLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sR2V0TGFzdEVycm9yJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEVycm9yUHRyKQorCisgICAgIGQgeG1sUmVzZXRMYXN0RXJyb3IuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxSZXNldExhc3RFcnJvcicpCisKKyAgICAgZCB4bWxDdHh0R2V0TGFzdEVycm9yLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQ3R4dEdldExhc3RFcnJvcicpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxFcnJvclB0cikKKyAgICAgZCAgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCisKKyAgICAgZCB4bWxDdHh0UmVzZXRMYXN0RXJyb3IuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxDdHh0UmVzZXRMYXN0RXJyb3InKQorICAgICBkICBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKworICAgICBkIHhtbFJlc2V0RXJyb3IgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFJlc2V0RXJyb3InKQorICAgICBkICBlcnIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRXJyb3JQdHIpCisKKyAgICAgZCB4bWxDb3B5RXJyb3IgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxDb3B5RXJyb3InKQorICAgICBkICBmcm9tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRXJyb3JQdHIpCisgICAgIGQgIHRvICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxFcnJvclB0cikKKworICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfRVJST1JfSF9fCmRpZmYgLS1naXQgYS9saWJ4bWwyL29zNDAwL2xpYnhtbHJwZy94bWxleHBvcnRzLnJwZ2xlIGIvbGlieG1sMi9vczQwMC9saWJ4bWxycGcveG1sZXhwb3J0cy5ycGdsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YTZmZDEwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9vczQwMC9saWJ4bWxycGcveG1sZXhwb3J0cy5ycGdsZQpAQCAtMCwwICsxLDE1IEBACisgICAgICAqIFN1bW1hcnk6IG1hY3JvcyBmb3IgbWFya2luZyBzeW1ib2xzIGFzIGV4cG9ydGFibGUvaW1wb3J0YWJsZS4KKyAgICAgICogRGVzY3JpcHRpb246IG1hY3JvcyBmb3IgbWFya2luZyBzeW1ib2xzIGFzIGV4cG9ydGFibGUvaW1wb3J0YWJsZS4KKyAgICAgICoKKyAgICAgICogQ29weTogU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgorICAgICAgKgorICAgICAgKiBBdXRob3I6IFBhdHJpY2sgTW9ubmVyYXQgPHBtQGRhdGFzcGhlcmUuY2g+LCBEQVRBU1BIRVJFIFMuQS4KKworICAgICAgL2lmIG5vdCBkZWZpbmVkKFhNTF9FWFBPUlRTX0hfXykKKyAgICAgIC9kZWZpbmUgWE1MX0VYUE9SVFNfSF9fCisKKyAgICAgICogVGhlIGRlZmluaXRpb24gaW4gdGhlIG9yaWdpbmFsIEMgaGVhZGVyIGZpbGUgYXJlIG5vdCBhcHBsaWFibGUgdG8KKyAgICAgICogSUxFL1JQRy4KKyAgICAgICogVGhlcmVmb3JlIHRoaXMgZmlsZSBpcyBpbnRlbnRpb25hbGx5IGVtcHR5LgorCisgICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhNTF9FWFBPUlRTX0hfXwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9vczQwMC9saWJ4bWxycGcveG1sbWVtb3J5LnJwZ2xlIGIvbGlieG1sMi9vczQwMC9saWJ4bWxycGcveG1sbWVtb3J5LnJwZ2xlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE2NWVhY2EKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL29zNDAwL2xpYnhtbHJwZy94bWxtZW1vcnkucnBnbGUKQEAgLTAsMCArMSwyMzkgQEAKKyAgICAgICogU3VtbWFyeTogaW50ZXJmYWNlIGZvciB0aGUgbWVtb3J5IGFsbG9jYXRvcgorICAgICAgKiBEZXNjcmlwdGlvbjogcHJvdmlkZXMgaW50ZXJmYWNlcyBmb3IgdGhlIG1lbW9yeSBhbGxvY2F0b3IsCisgICAgICAqICAgICAgICAgICAgICBpbmNsdWRpbmcgZGVidWdnaW5nIGNhcGFiaWxpdGllcy4KKyAgICAgICoKKyAgICAgICogQ29weTogU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgorICAgICAgKgorICAgICAgKiBBdXRob3I6IFBhdHJpY2sgTW9ubmVyYXQgPHBtQGRhdGFzcGhlcmUuY2g+LCBEQVRBU1BIRVJFIFMuQS4KKworICAgICAgL2lmIG5vdCBkZWZpbmVkKERFQlVHX01FTU9SWV9BTExPQ19fKQorICAgICAgL2RlZmluZSBERUJVR19NRU1PUllfQUxMT0NfXworCisgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbHZlcnNpb24iCisKKyAgICAgICogREVCVUdfTUVNT1JZOgorICAgICAgKgorICAgICAgKiBERUJVR19NRU1PUlkgcmVwbGFjZXMgdGhlIGFsbG9jYXRvciB3aXRoIGEgY29sbGVjdCBhbmQgZGVidWcKKyAgICAgICogc2hlbGwgdG8gdGhlIGxpYmMgYWxsb2NhdG9yLgorICAgICAgKiBERUJVR19NRU1PUlkgc2hvdWxkIG9ubHkgYmUgYWN0aXZhdGVkIHdoZW4gZGVidWdnaW5nCisgICAgICAqIGxpYnhtbCBpLmUuIGlmIGxpYnhtbCBoYXMgYmVlbiBjb25maWd1cmVkIHdpdGggLS13aXRoLWRlYnVnLW1lbSB0b28uCisKKyAgICAgICogL2RlZmluZSBERUJVR19NRU1PUllfRlJFRUQKKyAgICAgICogL2RlZmluZSBERUJVR19NRU1PUllfTE9DQVRJT04KKworICAgICAgL2lmIGRlZmluZWQoREVCVUcpCisgICAgICAvaWYgbm90IGRlZmluZWQoREVCVUdfTUVNT1JZKQorICAgICAgL2RlZmluZSBERUJVR19NRU1PUlkKKyAgICAgIC9lbmRpZgorICAgICAgL2VuZGlmCisKKyAgICAgICogREVCVUdfTUVNT1JZX0xPQ0FUSU9OOgorICAgICAgKgorICAgICAgKiBERUJVR19NRU1PUllfTE9DQVRJT04gc2hvdWxkIGJlIGFjdGl2YXRlZCBvbmx5IHdoZW4gZGVidWdnaW5nCisgICAgICAqIGxpYnhtbCBpLmUuIGlmIGxpYnhtbCBoYXMgYmVlbiBjb25maWd1cmVkIHdpdGggLS13aXRoLWRlYnVnLW1lbSB0b28uCisKKyAgICAgIC9pZiBkZWZpbmVkKERFQlVHX01FTU9SWV9MT0NBVElPTikKKyAgICAgIC9lbmRpZgorCisgICAgICAqIFRoZSBYTUwgbWVtb3J5IHdyYXBwZXIgc3VwcG9ydCA0IGJhc2ljIG92ZXJsb2FkYWJsZSBmdW5jdGlvbnMuCisKKyAgICAgICogeG1sRnJlZUZ1bmM6CisgICAgICAqIEBtZW06IGFuIGFscmVhZHkgYWxsb2NhdGVkIGJsb2NrIG9mIG1lbW9yeQorICAgICAgKgorICAgICAgKiBTaWduYXR1cmUgZm9yIGEgZnJlZSgpIGltcGxlbWVudGF0aW9uLgorCisgICAgIGQgeG1sRnJlZUZ1bmMgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jcHRyCisKKyAgICAgICogeG1sTWFsbG9jRnVuYzoKKyAgICAgICogQHNpemU6ICB0aGUgc2l6ZSByZXF1ZXN0ZWQgaW4gYnl0ZXMKKyAgICAgICoKKyAgICAgICogU2lnbmF0dXJlIGZvciBhIG1hbGxvYygpIGltcGxlbWVudGF0aW9uLgorICAgICAgKgorICAgICAgKiBSZXR1cm5zIGEgcG9pbnRlciB0byB0aGUgbmV3bHkgYWxsb2NhdGVkIGJsb2NrIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci4KKworICAgICBkIHhtbE1hbGxvY0Z1bmMgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY3B0cgorCisgICAgICAqIHhtbFJlYWxsb2NGdW5jOgorICAgICAgKiBAbWVtOiBhbiBhbHJlYWR5IGFsbG9jYXRlZCBibG9jayBvZiBtZW1vcnkKKyAgICAgICogQHNpemU6ICB0aGUgbmV3IHNpemUgcmVxdWVzdGVkIGluIGJ5dGVzCisgICAgICAqCisgICAgICAqIFNpZ25hdHVyZSBmb3IgYSByZWFsbG9jKCkgaW1wbGVtZW50YXRpb24uCisgICAgICAqCisgICAgICAqIFJldHVybnMgYSBwb2ludGVyIHRvIHRoZSBuZXdseSByZWFsbG9jYXRlZCBibG9jayBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuCisKKyAgICAgZCB4bWxSZWFsbG9jRnVuYyAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NwdHIKKworICAgICAgKiB4bWxTdHJkdXBGdW5jOgorICAgICAgKiBAc3RyOiBhIHplcm8gdGVybWluYXRlZCBzdHJpbmcKKyAgICAgICoKKyAgICAgICogU2lnbmF0dXJlIGZvciBhbiBzdHJkdXAoKSBpbXBsZW1lbnRhdGlvbi4KKyAgICAgICoKKyAgICAgICogUmV0dXJucyB0aGUgY29weSBvZiB0aGUgc3RyaW5nIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci4KKworICAgICBkIHhtbFN0cmR1cEZ1bmMgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY3B0cgorCisgICAgICAqIFRoZSA1IGludGVyZmFjZXMgdXNlZCBmb3IgYWxsIG1lbW9yeSBoYW5kbGluZyB3aXRoaW4gbGlieG1sLgorICAgICAgKiBTaW5jZSBpbmRpcmVjdCBjYWxscyBhcmUgb25seSBzdXBwb3J0ZWQgdmlhIGEgYmFzZWQgcHJvdG90eXBlLAorICAgICAgKiAgIHN0b3JhZ2UgaXMgYWNjZXNzZWQgdmlhIGZ1bmN0aW9ucy4KKworICAgICBkIGdldF94bWxGcmVlICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ19fZ2V0X3htbEZyZWUnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRnJlZUZ1bmMpCisKKyAgICAgZCBzZXRfeG1sRnJlZSAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdfX3NldF94bWxGcmVlJykKKyAgICAgZCAgZnVuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEZyZWVGdW5jKQorCisgICAgIGQgeG1sRnJlZSAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnX19jYWxsX3htbEZyZWUnKQorICAgICBkICBtZW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKworICAgICBkIGdldF94bWxNYWxsb2MgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ19fZ2V0X3htbE1hbGxvYycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxNYWxsb2NGdW5jKQorCisgICAgIGQgc2V0X3htbE1hbGxvYyAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnX19zZXRfeG1sTWFsbG9jJykKKyAgICAgZCAgZnVuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE1hbGxvY0Z1bmMpCisKKyAgICAgZCB4bWxNYWxsb2MgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCdfX2NhbGxfeG1sTWFsbG9jJykgICAgICAgICAgdm9pZCAqCisgICAgIGQgIHNpemUgICAgICAgICAgICAgICAgICAgICAgICAgMTB1IDAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdAorCisgICAgIGQgZ2V0X3htbE1hbGxvY0F0b21pYy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ19fZ2V0X3htbE1hbGxvY0F0b21pYycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxNYWxsb2NGdW5jKQorCisgICAgIGQgc2V0X3htbE1hbGxvY0F0b21pYy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ19fc2V0X3htbE1hbGxvY0F0b21pYycpCisgICAgIGQgIGZ1bmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxNYWxsb2NGdW5jKQorCisgICAgIGQgeG1sTWFsbG9jQXRvbWljLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygnX19jYWxsX3htbE1hbGxvY0F0b21pYycpICAgIHZvaWQgKgorICAgICBkICBzaXplICAgICAgICAgICAgICAgICAgICAgICAgIDEwdSAwIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QKKworICAgICBkIGdldF94bWxSZWFsbG9jICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ19fZ2V0X3htbFJlYWxsb2MnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sUmVhbGxvY0Z1bmMpCisKKyAgICAgZCBzZXRfeG1sUmVhbGxvYyAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCdfX3NldF94bWxSZWFsbG9jJykKKyAgICAgZCAgZnVuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFJlYWxsb2NGdW5jKQorCisgICAgIGQgeG1sUmVhbGxvYyAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygnX19jYWxsX3htbFJlYWxsb2MnKSAgICAgICAgIHZvaWQgKgorICAgICBkICBtZW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKyAgICAgZCAgc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAxMHUgMCB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90CisKKyAgICAgZCBnZXRfeG1sTWVtU3RyZHVwLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnX19nZXRfeG1sTWVtU3RyZHVwJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFN0cmR1cEZ1bmMpCisKKyAgICAgZCBzZXRfeG1sTWVtU3RyZHVwLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnX19zZXRfeG1sTWVtc3RyZHVwJykKKyAgICAgZCAgZnVuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFN0cmR1cEZ1bmMpCisKKyAgICAgZCB4bWxNZW1TdHJkdXAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCdfX2NhbGxfeG1sTWVtU3RyZHVwJykgICAgICAgICAgdm9pZCAqCisgICAgIGQgIHN0ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorCisgICAgICAqIFRoZSB3YXkgdG8gb3ZlcmxvYWQgdGhlIGV4aXN0aW5nIGZ1bmN0aW9ucy4KKyAgICAgICogVGhlIHhtbEdjIGZ1bmN0aW9uIGhhdmUgYW4gZXh0cmEgZW50cnkgZm9yIGF0b21pYyBibG9jaworICAgICAgKiBhbGxvY2F0aW9ucyB1c2VmdWwgZm9yIGdhcmJhZ2UgY29sbGVjdGVkIG1lbW9yeSBhbGxvY2F0b3JzCisKKyAgICAgZCB4bWxNZW1TZXR1cCAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxNZW1TZXR1cCcpCisgICAgIGQgIGZyZWVGdW5jICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxGcmVlRnVuYykKKyAgICAgZCAgbWFsbG9jRnVuYyAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE1hbGxvY0Z1bmMpCisgICAgIGQgIHJlYWxsb2NGdW5jICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxSZWFsbG9jRnVuYykKKyAgICAgZCAgc3RyZHVwRnVuYyAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFN0cmR1cEZ1bmMpCisKKyAgICAgZCB4bWxNZW1HZXQgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxNZW1HZXQnKQorICAgICBkICBmcmVlRnVuYyAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRnJlZUZ1bmMpCisgICAgIGQgIG1hbGxvY0Z1bmMgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxNYWxsb2NGdW5jKQorICAgICBkICByZWFsbG9jRnVuYyAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sUmVhbGxvY0Z1bmMpCisgICAgIGQgIHN0cmR1cEZ1bmMgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTdHJkdXBGdW5jKQorCisgICAgIGQgeG1sR2NNZW1TZXR1cCAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sR2NNZW1TZXR1cCcpCisgICAgIGQgIGZyZWVGdW5jICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxGcmVlRnVuYykKKyAgICAgZCAgbWFsbG9jRnVuYyAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE1hbGxvY0Z1bmMpCisgICAgIGQgIG1hbGxvY0F0b21pY0Z1bmMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE1hbGxvY0Z1bmMpCisgICAgIGQgIHJlYWxsb2NGdW5jICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxSZWFsbG9jRnVuYykKKyAgICAgZCAgc3RyZHVwRnVuYyAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFN0cmR1cEZ1bmMpCisKKyAgICAgZCB4bWxHY01lbUdldCAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxHY01lbUdldCcpCisgICAgIGQgIGZyZWVGdW5jICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxGcmVlRnVuYykKKyAgICAgZCAgbWFsbG9jRnVuYyAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE1hbGxvY0Z1bmMpCisgICAgIGQgIG1hbGxvY0F0b21pY0Z1bmMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE1hbGxvY0Z1bmMpCisgICAgIGQgIHJlYWxsb2NGdW5jICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxSZWFsbG9jRnVuYykKKyAgICAgZCAgc3RyZHVwRnVuYyAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFN0cmR1cEZ1bmMpCisKKyAgICAgICogSW5pdGlhbGl6YXRpb24gb2YgdGhlIG1lbW9yeSBsYXllci4KKworICAgICBkIHhtbEluaXRNZW1vcnkgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbEluaXRNZW1vcnknKQorCisgICAgICAqIENsZWFudXAgb2YgdGhlIG1lbW9yeSBsYXllci4KKworICAgICBkIHhtbENsZWFudXBNZW1vcnkuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxDbGVhbnVwTWVtb3J5JykKKworICAgICAgKiBUaGVzZSBhcmUgc3BlY2lmaWMgdG8gdGhlIFhNTCBkZWJ1ZyBtZW1vcnkgd3JhcHBlci4KKworICAgICBkIHhtbE1lbVVzZWQgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbE1lbVVzZWQnKQorCisgICAgIGQgeG1sTWVtQmxvY2tzICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sTWVtQmxvY2tzJykKKworICAgICBkIHhtbE1lbURpc3BsYXkgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE1lbURpc3BsYXknKQorICAgICBkICBmcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGSUxFICoKKworICAgICBkIHhtbE1tRGlzcGxheUxhc3QuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxNZW1EaXNwbGF5TGFzdCcpCisgICAgIGQgIGZwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZJTEUgKgorICAgICBkICBuYkJ5dGVzICAgICAgICAgICAgICAgICAgICAgIDIwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxNZW1TaG93ICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxNZW1TaG93JykKKyAgICAgZCAgZnAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRklMRSAqCisgICAgIGQgIG5yICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbE1lbW9yeUR1bXAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE1lbW9yeUR1bXAnKQorCisgICAgIGQgeG1sTWVtTWFsbG9jICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sTWVtTWFsbG9jJykgICAgICAgICAgICAgIHZvaWQgKgorICAgICBkICBzaXplICAgICAgICAgICAgICAgICAgICAgICAgIDEwdSAwIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QKKworICAgICBkIHhtbE1lbVJlYWxsb2MgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbE1lbVJlYWxsb2MnKSAgICAgICAgICAgICB2b2lkICoKKyAgICAgZCAgcHRyICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCisgICAgIGQgIHNpemUgICAgICAgICAgICAgICAgICAgICAgICAgMTB1IDAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdAorCisgICAgIGQgeG1sTWVtRnJlZSAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTWVtRnJlZScpCisgICAgIGQgIHB0ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorCisgICAgIGQgeG1sTWVtb3J5U3RyZHVwLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sTWVtb3J5U3RyZHVwJykgICAgICAgICAgIGNoYXIgKgorICAgICBkICBzdHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKworICAgICBkIHhtbE1hbGxvY0xvYyAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbE1hbGxvY0xvYycpICAgICAgICAgICAgICB2b2lkICoKKyAgICAgZCAgc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAxMHUgMCB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90CisgICAgIGQgIGZpbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBsaW5lICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxSZWFsbG9jTG9jICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxSZWFsbG9jTG9jJykgICAgICAgICAgICAgIHZvaWQgKgorICAgICBkICBwdHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKyAgICAgZCAgc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAxMHUgMCB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90CisgICAgIGQgIGZpbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBsaW5lICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxNYWxsb2NBdG9taWNMb2MuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxNYWxsb2NBdG9taWNMb2MnKSAgICAgICAgdm9pZCAqCisgICAgIGQgIHNpemUgICAgICAgICAgICAgICAgICAgICAgICAgMTB1IDAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdAorICAgICBkICBmaWxlICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgbGluZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sTWVtU3RyZHVwTG9jLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sTWVtU3RyZHVwTG9jJykgICAgICAgICAgIGNoYXIgKgorICAgICBkICBzdHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgZmlsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIGxpbmUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICAgL2lmIG5vdCBkZWZpbmVkKFhNTF9HTE9CQUxTX0gpCisgICAgICAvaWYgbm90IGRlZmluZWQoWE1MX1RIUkVBRFNfSF9fKQorICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy90aHJlYWRzIgorICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy9nbG9iYWxzIgorICAgICAgL2VuZGlmCisgICAgICAvZW5kaWYKKworICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBERUJVR19NRU1PUllfQUxMT0NfXwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9vczQwMC9saWJ4bWxycGcveG1sbW9kdWxlLnJwZ2xlIGIvbGlieG1sMi9vczQwMC9saWJ4bWxycGcveG1sbW9kdWxlLnJwZ2xlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA5NTkyYTYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL29zNDAwL2xpYnhtbHJwZy94bWxtb2R1bGUucnBnbGUKQEAgLTAsMCArMSw1MSBAQAorICAgICAgKiBTdW1tYXJ5OiBkeW5hbWljIG1vZHVsZSBsb2FkaW5nCisgICAgICAqIERlc2NyaXB0aW9uOiBiYXNpYyBBUEkgZm9yIGR5bmFtaWMgbW9kdWxlIGxvYWRpbmcsIHVzZWQgYnkKKyAgICAgICogICAgICAgICAgICAgIGxpYmV4c2x0IGFkZGVkIGluIDIuNi4xNworICAgICAgKgorICAgICAgKiBDb3B5OiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisgICAgICAqCisgICAgICAqIEF1dGhvcjogUGF0cmljayBNb25uZXJhdCA8cG1AZGF0YXNwaGVyZS5jaD4sIERBVEFTUEhFUkUgUy5BLgorCisgICAgICAvaWYgbm90IGRlZmluZWQoWE1MX01PRFVMRV9IX18pCisgICAgICAvZGVmaW5lIFhNTF9NT0RVTEVfSF9fCisKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sdmVyc2lvbiIKKworICAgICAgL2lmIGRlZmluZWQoTElCWE1MX01PRFVMRVNfRU5BQkxFRCkKKworICAgICAgKiB4bWxNb2R1bGVQdHI6CisgICAgICAqCisgICAgICAqIEEgaGFuZGxlIHRvIGEgZHluYW1pY2FsbHkgbG9hZGVkIG1vZHVsZQorCisgICAgIGQgeG1sTW9kdWxlUHRyICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKworICAgICAgKiB4bWxNb2R1bGVPcHRpb246CisgICAgICAqCisgICAgICAqIGVudW1lcmF0aW9uIG9mIG9wdGlvbnMgdGhhdCBjYW4gYmUgcGFzc2VkIGRvd24gdG8geG1sTW9kdWxlT3BlbigpCisKKyAgICAgZCB4bWxNb2R1bGVPcHRpb24uLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAxMGkgMCBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKSAgICAgICAgICAgZW51bQorICAgICBkICBYTUxfTU9EVUxFX0xBWlkuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMYXp5IGJpbmRpbmcKKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxCisgICAgIGQgIFhNTF9NT0RVTEVfTE9DQUwuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsIGJpbmRpbmcKKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAyCisKKyAgICAgZCB4bWxNb2R1bGVPcGVuICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxNb2R1bGVPcGVuJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE1vZHVsZVB0cikKKyAgICAgZCAgZmlsZW5hbWUgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbE1vZHVsZVN5bWJvbC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbE1vZHVsZVN5bWJvbCcpCisgICAgIGQgIG1vZHVsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxNb2R1bGVQdHIpCisgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICByZXN1bHQgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICooKikKKworICAgICBkIHhtbE1vZHVsZUNsb3NlICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbE1vZHVsZUNsb3NlJykKKyAgICAgZCAgbW9kdWxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE1vZHVsZVB0cikKKworICAgICBkIHhtbE1vZHVsZUZyZWUgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbE1vZHVsZUZyZWUnKQorICAgICBkICBtb2R1bGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTW9kdWxlUHRyKQorCisgICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9NT0RVTEVTX0VOQkxECisgICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhNTF9NT0RVTEVfSF9fCmRpZmYgLS1naXQgYS9saWJ4bWwyL29zNDAwL2xpYnhtbHJwZy94bWxyZWFkZXIucnBnbGUgYi9saWJ4bWwyL29zNDAwL2xpYnhtbHJwZy94bWxyZWFkZXIucnBnbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWNjZDM3YwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvb3M0MDAvbGlieG1scnBnL3htbHJlYWRlci5ycGdsZQpAQCAtMCwwICsxLDYxOSBAQAorICAgICAgKiBTdW1tYXJ5OiB0aGUgWE1MUmVhZGVyIGltcGxlbWVudGF0aW9uCisgICAgICAqIERlc2NyaXB0aW9uOiBBUEkgb2YgdGhlIFhNTCBzdHJlYW1pbmcgQVBJIGJhc2VkIG9uIEMjIGludGVyZmFjZXMuCisgICAgICAqCisgICAgICAqIENvcHk6IFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyAgICAgICoKKyAgICAgICogQXV0aG9yOiBQYXRyaWNrIE1vbm5lcmF0IDxwbUBkYXRhc3BoZXJlLmNoPiwgREFUQVNQSEVSRSBTLkEuCisKKyAgICAgIC9pZiBub3QgZGVmaW5lZChYTUxfWE1MUkVBREVSX0hfXykKKyAgICAgIC9kZWZpbmUgWE1MX1hNTFJFQURFUl9IX18KKworICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWx2ZXJzaW9uIgorICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy90cmVlIgorICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWxJTyIKKworICAgICAgL2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcvcmVsYXhuZyIKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sc2NoZW1hcyIKKyAgICAgIC9lbmRpZgorCisgICAgICAqIHhtbFBhcnNlclNldmVyaXRpZXM6CisgICAgICAqCisgICAgICAqIEhvdyBzZXZlcmUgYW4gZXJyb3IgY2FsbGJhY2sgaXMgd2hlbiB0aGUgcGVyLXJlYWRlciBlcnJvciBjYWxsYmFjayBBUEkKKyAgICAgICogaXMgdXNlZC4KKworICAgICBkIHhtbFBhcnNlclNldmVyaXRpZXMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAxMGkgMCBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKSAgICAgICAgICAgZW51bQorICAgICBkICBYTUxfUEFSU0VSX1NFVkVSSVRZX1ZBTElESVRZX1dBUk5JTkcuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxCisgICAgIGQgIFhNTF9QQVJTRVJfU0VWRVJJVFlfVkFMSURJVFlfRVJST1IuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAyCisgICAgIGQgIFhNTF9QQVJTRVJfU0VWRVJJVFlfV0FSTklORy4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMKKyAgICAgZCAgWE1MX1BBUlNFUl9TRVZFUklUWV9FUlJPUi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDQKKworICAgICAgL2lmIGRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKQorCisgICAgICAqIHhtbFRleHRSZWFkZXJNb2RlOgorICAgICAgKgorICAgICAgKiBJbnRlcm5hbCBzdGF0ZSB2YWx1ZXMgZm9yIHRoZSByZWFkZXIuCisKKyAgICAgZCB4bWxUZXh0UmVhZGVyTW9kZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgIDEwaSAwIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpICAgICAgICAgICBlbnVtCisgICAgIGQgIFhNTF9URVhUUkVBREVSX01PREVfSU5JVElBTC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDAKKyAgICAgZCAgWE1MX1RFWFRSRUFERVJfTU9ERV9JTlRFUkFDVElWRS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEKKyAgICAgZCAgWE1MX1RFWFRSRUFERVJfTU9ERV9FUlJPUi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDIKKyAgICAgZCAgWE1MX1RFWFRSRUFERVJfTU9ERV9FT0YuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzCisgICAgIGQgIFhNTF9URVhUUkVBREVSX01PREVfQ0xPU0VELi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNAorICAgICBkICBYTUxfVEVYVFJFQURFUl9NT0RFX1JFQURJTkcuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA1CisKKyAgICAgICogeG1sUGFyc2VyUHJvcGVydGllczoKKyAgICAgICoKKyAgICAgICogU29tZSBjb21tb24gb3B0aW9ucyB0byB1c2Ugd2l0aCB4bWxUZXh0UmVhZGVyU2V0UGFyc2VyUHJvcCwgYnV0IGl0CisgICAgICAqIGlzIGJldHRlciB0byB1c2UgeG1sUGFyc2VyT3B0aW9uIGFuZCB0aGUgeG1sUmVhZGVyTmV3eHh4IGFuZAorICAgICAgKiB4bWxSZWFkZXJGb3J4eHggQVBJcyBub3cuCisKKyAgICAgZCB4bWxQYXJzZXJQcm9wZXJ0aWVzLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgMTBpIDAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykgICAgICAgICAgIGVudW0KKyAgICAgZCAgWE1MX1BBUlNFUl9MT0FERFRELi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMQorICAgICBkICBYTUxfUEFSU0VSX0RFRkFVTFRBVFRSUy4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDIKKyAgICAgZCAgWE1MX1BBUlNFUl9WQUxJREFURS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDMKKyAgICAgZCAgWE1MX1BBUlNFUl9TVUJTVF9FTlRJVElFUy4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDQKKworICAgICAgKiB4bWxSZWFkZXJUeXBlczoKKyAgICAgICoKKyAgICAgICogUHJlZGVmaW5lZCBjb25zdGFudHMgZm9yIHRoZSBkaWZmZXJlbnQgdHlwZXMgb2Ygbm9kZXMuCisKKyAgICAgZCB4bWxSZWFkZXJUeXBlcyAgcyAgICAgICAgICAgICAxMGkgMCBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKSAgICAgICAgICAgZW51bQorICAgICBkICBYTUxfUkVBREVSX1RZUEVfTk9ORS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDAKKyAgICAgZCAgWE1MX1JFQURFUl9UWVBFX0VMRU1FTlQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxCisgICAgIGQgIFhNTF9SRUFERVJfVFlQRV9BVFRSSUJVVEUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAyCisgICAgIGQgIFhNTF9SRUFERVJfVFlQRV9URVhULi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMworICAgICBkICBYTUxfUkVBREVSX1RZUEVfQ0RBVEEuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA0CisgICAgIGQgIFhNTF9SRUFERVJfVFlQRV9FTlRJVFlfUkVGRVJFTkNFLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNQorICAgICBkICBYTUxfUkVBREVSX1RZUEVfRU5USVRZLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNgorICAgICBkICBYTUxfUkVBREVSX1RZUEVfUFJPQ0VTU0lOR19JTlNUUlVDVElPTi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDcKKyAgICAgZCAgWE1MX1JFQURFUl9UWVBFX0NPTU1FTlQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA4CisgICAgIGQgIFhNTF9SRUFERVJfVFlQRV9ET0NVTUVOVC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDkKKyAgICAgZCAgWE1MX1JFQURFUl9UWVBFX0RPQ1VNRU5UX1RZUEUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMAorICAgICBkICBYTUxfUkVBREVSX1RZUEVfRE9DVU1FTlRfRlJBR01FTlQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMQorICAgICBkICBYTUxfUkVBREVSX1RZUEVfTk9UQVRJT04uLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxMgorICAgICBkICBYTUxfUkVBREVSX1RZUEVfV0hJVEVTUEFDRS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEzCisgICAgIGQgIFhNTF9SRUFERVJfVFlQRV9TSUdOSUZJQ0FOVF9XSElURVNQQUNFLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTQKKyAgICAgZCAgWE1MX1JFQURFUl9UWVBFX0VORF9FTEVNRU5ULi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTUKKyAgICAgZCAgWE1MX1JFQURFUl9UWVBFX0VORF9FTlRJVFkuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNgorICAgICBkICBYTUxfUkVBREVSX1RZUEVfWE1MX0RFQ0xBUkFUSU9OLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTcKKworICAgICAgKiB4bWxUZXh0UmVhZGVyUHRyOgorICAgICAgKgorICAgICAgKiBQb2ludGVyIHRvIGFuIHhtbFJlYWRlciBjb250ZXh0LgorCisgICAgIGQgeG1sVGV4dFJlYWRlclB0ci4uLgorICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisKKyAgICAgICogQ29uc3RydWN0b3JzICYgRGVzdHJ1Y3RvcgorCisgICAgIGQgeG1sTmV3VGV4dFJlYWRlci4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5ld1RleHRSZWFkZXInKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKKyAgICAgZCAgaW5wdXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlcklucHV0QnVmZmVyUHRyKQorICAgICBkICBVUkkgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKworICAgICBkIHhtbE5ld1RleHRSZWFkZXJGaWxlbmFtZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbE5ld1RleHRSZWFkZXJGaWxlbmFtZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQorICAgICBkICBVUkkgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKworICAgICBkIHhtbEZyZWVUZXh0UmVhZGVyLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRnJlZVRleHRSZWFkZXInKQorICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKKworICAgICBkIHhtbFRleHRSZWFkZXJTZXR1cC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFRleHRSZWFkZXJTZXR1cCcpCisgICAgIGQgIHJlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQorICAgICBkICBpbnB1dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIpCisgICAgIGQgIFVSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgICAqIEl0ZXJhdG9ycworCisgICAgIGQgeG1sVGV4dFJlYWRlclJlYWQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxUZXh0UmVhZGVyUmVhZCcpCisgICAgIGQgIHJlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQorCisgICAgICAvaWYgZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpCisgICAgIGQgeG1sVGV4dFJlYWRlclJlYWRJbm5lclhtbC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbFRleHRSZWFkZXJSZWFkSW5uZXJYbWwnKSB4bWxDaGFyICoKKyAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCisKKyAgICAgZCB4bWxUZXh0UmVhZGVyUmVhZE91dGVyWG1sLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sVGV4dFJlYWRlclJlYWRPdXRlclhtbCcpIHhtbENoYXIgKgorICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKKyAgICAgIC9lbmRpZgorCisgICAgIGQgeG1sVGV4dFJlYWRlclJlYWRTdHJpbmcuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxUZXh0UmVhZGVyUmVhZFN0cmluZycpICAgeG1sQ2hhciAqCisgICAgIGQgIHJlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQorCisgICAgIGQgeG1sVGV4dFJlYWRlclJlYWRBdHRyaWJ1dGVWYWx1ZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRSZWFkZXJSZWFkQXR0cmlidXRlVmFsdWUnKQorICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKKworICAgICAgKiBBdHRyaWJ1dGVzIG9mIHRoZSBub2RlCisKKyAgICAgZCB4bWxUZXh0UmVhZGVyQXR0cmlidXRlQ291bnQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxUZXh0UmVhZGVyQXR0cmlidXRlQ291bnQnKQorICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKKworICAgICBkIHhtbFRleHRSZWFkZXJEZXB0aC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFRleHRSZWFkZXJEZXB0aCcpCisgICAgIGQgIHJlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQorCisgICAgIGQgeG1sVGV4dFJlYWRlckhhc0F0dHJpYnV0ZXMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxUZXh0UmVhZGVySGFzQXR0cmlidXRlcycpCisgICAgIGQgIHJlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQorCisgICAgIGQgeG1sVGV4dFJlYWRlckhhc1ZhbHVlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVGV4dFJlYWRlckhhc1ZhbHVlJykKKyAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCisKKyAgICAgZCB4bWxUZXh0UmVhZGVySXNEZWZhdWx0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVGV4dFJlYWRlcklzRGVmYXVsdCcpCisgICAgIGQgIHJlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQorCisgICAgIGQgeG1sVGV4dFJlYWRlcklzRW1wdHlFbGVtZW50Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVGV4dFJlYWRlcklzRW1wdHlFbGVtZW50JykKKyAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCisKKyAgICAgZCB4bWxUZXh0UmVhZGVyTm9kZVR5cGUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxUZXh0UmVhZGVyTm9kZVR5cGUnKQorICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKKworICAgICBkIHhtbFRleHRSZWFkZXJRdW90ZUNoYXIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxUZXh0UmVhZGVyUXVvdGVDaGFyJykKKyAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCisKKyAgICAgZCB4bWxUZXh0UmVhZGVyUmVhZFN0YXRlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVGV4dFJlYWRlclJlYWRTdGF0ZScpCisgICAgIGQgIHJlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQorCisgICAgIGQgeG1sVGV4dFJlYWRlcklzTmFtZXNwYWNlRGVjbC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRSZWFkZXJJc05hbWVzcGFjZURlY2wnKQorICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKKworICAgICBkIHhtbFRleHRSZWFkZXJDb25zdEJhc2VVcmkuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxUZXh0UmVhZGVyQ29uc3RCYXNlVXJpJykgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIHJlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQorCisgICAgIGQgeG1sVGV4dFJlYWRlckNvbnN0TG9jYWxOYW1lLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYyggICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxUZXh0UmVhZGVyQ29uc3RMb2NhbE5hbWUnKQorICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKKworICAgICBkIHhtbFRleHRSZWFkZXJDb25zdE5hbWUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxUZXh0UmVhZGVyQ29uc3ROYW1lJykgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIHJlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQorCisgICAgIGQgeG1sVGV4dFJlYWRlckNvbnN0TmFtZXNwYWNlVXJpLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYyggICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxUZXh0UmVhZGVyQ29uc3ROYW1lc3BhY2VVcmknKQorICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKKworICAgICBkIHhtbFRleHRSZWFkZXJDb25zdFByZWZpeC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbFRleHRSZWFkZXJDb25zdFByZWZpeCcpICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCisKKyAgICAgZCB4bWxUZXh0UmVhZGVyQ29uc3RYbWxMYW5nLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sVGV4dFJlYWRlckNvbnN0WG1sTGFuZycpIGNvbnN0IHhtbENoYXIgKgorICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKKworICAgICBkIHhtbFRleHRSZWFkZXJDb25zdFN0cmluZy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbFRleHRSZWFkZXJDb25zdFN0cmluZycpICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCisgICAgIGQgIHN0ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgIGQgeG1sVGV4dFJlYWRlckNvbnN0VmFsdWUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxUZXh0UmVhZGVyQ29uc3RWYWx1ZScpICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIHJlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQorCisgICAgICAqIHVzZSB0aGUgQ29uc3QgdmVyc2lvbiBvZiB0aGUgcm91dGluZSBmb3IKKyAgICAgICogYmV0dGVyIHBlcmZvcm1hbmNlIGFuZCBzaW1wbGVyIGNvZGUKKworICAgICBkIHhtbFRleHRSZWFkZXJCYXNlVXJpLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sVGV4dFJlYWRlckJhc2VVcmknKSAgICAgIHhtbENoYXIgKgorICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKKworICAgICBkIHhtbFRleHRSZWFkZXJMb2NhbE5hbWUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxUZXh0UmVhZGVyTG9jYWxOYW1lJykgICAgeG1sQ2hhciAqCisgICAgIGQgIHJlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQorCisgICAgIGQgeG1sVGV4dFJlYWRlck5hbWUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxUZXh0UmVhZGVyTmFtZScpICAgICAgICAgeG1sQ2hhciAqCisgICAgIGQgIHJlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQorCisgICAgIGQgeG1sVGV4dFJlYWRlck5hbWVzcGFjZVVyaS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbFRleHRSZWFkZXJOYW1lc3BhY2VVcmknKSB4bWxDaGFyICoKKyAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCisKKyAgICAgZCB4bWxUZXh0UmVhZGVyUHJlZml4Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sVGV4dFJlYWRlclByZWZpeCcpICAgICAgIHhtbENoYXIgKgorICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKKworICAgICBkIHhtbFRleHRSZWFkZXJYbWxMYW5nLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sVGV4dFJlYWRlclhtbExhbmcnKSAgICAgIHhtbENoYXIgKgorICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKKworICAgICBkIHhtbFRleHRSZWFkZXJWYWx1ZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbFRleHRSZWFkZXJWYWx1ZScpICAgICAgICB4bWxDaGFyICoKKyAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCisKKyAgICAgICogTWV0aG9kcyBvZiB0aGUgWG1sVGV4dFJlYWRlcgorCisgICAgIGQgeG1sVGV4dFJlYWRlckNsb3NlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVGV4dFJlYWRlckNsb3NlJykKKyAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCisKKyAgICAgZCB4bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlTm8uLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sQ2hhciAqCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRSZWFkZXJHZXRBdHRyaWJ1dGVObycpCisgICAgIGQgIHJlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQorICAgICBkICBubyAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZScpIHhtbENoYXIgKgorICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgZCB4bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlTnMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sQ2hhciAqCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRSZWFkZXJHZXRBdHRyaWJ1dGVOcycpCisgICAgIGQgIHJlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQorICAgICBkICBsb2NhbE5hbWUgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgbmFtZXNwYWNlVVJJICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgZCB4bWxUZXh0UmVhZGVyR2V0UmVtYWluZGVyLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sVGV4dFJlYWRlckdldFJlbWFpbmRlcicpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cikKKyAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCisKKyAgICAgZCB4bWxUZXh0UmVhZGVyTG9va3VwTmFtZXNwYWNlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYyggICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbENoYXIgKgorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxUZXh0UmVhZGVyTG9va3VwTmFtZXNwYWNlJykKKyAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCisgICAgIGQgIHByZWZpeCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgIGQgeG1sVGV4dFJlYWRlck1vdmVUb0F0dHJpYnV0ZU5vLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVGV4dFJlYWRlck1vdmVUb0F0dHJpYnV0ZU5vJykKKyAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCisgICAgIGQgIG5vICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFRleHRSZWFkZXJNb3ZlVG9BdHRyaWJ1dGUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxUZXh0UmVhZGVyTW92ZVRvQXR0cmlidXRlJykKKyAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCisgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgIGQgeG1sVGV4dFJlYWRlck1vdmVUb0F0dHJpYnV0ZU5zLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVGV4dFJlYWRlck1vdmVUb0F0dHJpYnV0ZU5zJykKKyAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCisgICAgIGQgIGxvY2FsTmFtZSAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBuYW1lc3BhY2VVUkkgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICBkIHhtbFRleHRSZWFkZXJNb3ZlVG9GaXJzdEF0dHJpYnV0ZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRSZWFkZXJNb3ZlVG9GaXJzdEF0dHJpYnV0ZScpCisgICAgIGQgIHJlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQorCisgICAgIGQgeG1sVGV4dFJlYWRlck1vdmVUb05leHRBdHRyaWJ1dGUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxUZXh0UmVhZGVyTW92ZVRvTmV4dEF0dHJpYnV0ZScpCisgICAgIGQgIHJlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQorCisgICAgIGQgeG1sVGV4dFJlYWRlck1vdmVUb0VsZW1lbnQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxUZXh0UmVhZGVyTW92ZVRvRWxlbWVudCcpCisgICAgIGQgIHJlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQorCisgICAgIGQgeG1sVGV4dFJlYWRlck5vcm1hbGl6YXRpb24uLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxUZXh0UmVhZGVyTm9ybWFsaXphdGlvbicpCisgICAgIGQgIHJlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQorCisgICAgIGQgeG1sVGV4dFJlYWRlckNvbnN0RW5jb2RpbmcuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxUZXh0UmVhZGVyQ29uc3RFbmNvZGluZycpY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIHJlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQorCisgICAgICAqIEV4dGVuc2lvbnMKKworICAgICBkIHhtbFRleHRSZWFkZXJTZXRQYXJzZXJQcm9wLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVGV4dFJlYWRlclNldFBhcnNlclByb3AnKQorICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKKyAgICAgZCAgcHJvcCAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxUZXh0UmVhZGVyR2V0UGFyc2VyUHJvcC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFRleHRSZWFkZXJHZXRQYXJzZXJQcm9wJykKKyAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCisgICAgIGQgIHByb3AgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFRleHRSZWFkZXJDdXJyZW50Tm9kZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFRleHRSZWFkZXJDdXJyZW50Tm9kZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKQorICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKKworICAgICBkIHhtbFRleHRSZWFkZXJHZXRQYXJzZXJMaW5lTnVtYmVyLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVGV4dFJlYWRlckdldFBhcnNlckxpbmVOdW1iZXInKQorICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKKworICAgICBkIHhtbFRleHRSZWFkZXJHZXRQYXJzZXJDb2x1bW5OdW1iZXIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxUZXh0UmVhZGVyR2V0UGFyc2VyQ29sdW1uTnVtYmVyJykKKyAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCisKKyAgICAgZCB4bWxUZXh0UmVhZGVyUHJlc2VydmUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxUZXh0UmVhZGVyUHJlc2VydmUnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikKKyAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCisKKyAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9QQVRURVJOX0VOQUJMRUQpCisgICAgIGQgeG1sVGV4dFJlYWRlclByZXNlcnZlUGF0dGVybi4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRSZWFkZXJQcmVzZXJ2ZVBhdHRlcm4nKQorICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKKyAgICAgZCAgcGF0dGVybiAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIG5hbWVzcGFjZXMgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKigqKQorICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTUxfUEFUVEVSTl9FTkJMRAorCisgICAgIGQgeG1sVGV4dFJlYWRlckN1cnJlbnREb2MuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxUZXh0UmVhZGVyQ3VycmVudERvYycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxEb2NQdHIpCisgICAgIGQgIHJlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQorCisgICAgIGQgeG1sVGV4dFJlYWRlckV4cGFuZC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFRleHRSZWFkZXJFeHBhbmQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikKKyAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCisKKyAgICAgZCB4bWxUZXh0UmVhZGVyTmV4dC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFRleHRSZWFkZXJOZXh0JykKKyAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCisKKyAgICAgZCB4bWxUZXh0UmVhZGVyTmV4dFNpYmxpbmcuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxUZXh0UmVhZGVyTmV4dFNpYmxpbmcnKQorICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKKworICAgICBkIHhtbFRleHRSZWFkZXJJc1ZhbGlkLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVGV4dFJlYWRlcklzVmFsaWQnKQorICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKKworICAgICAgL2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyAgICAgZCB4bWxUZXh0UmVhZGVyUmVsYXhOR1ZhbGlkYXRlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZScpCisgICAgIGQgIHJlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQorICAgICBkICBybmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKworICAgICBkIHhtbFRleHRSZWFkZXJSZWxheE5HVmFsaWRhdGVDdHh0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZUN0eHQnKQorICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFJlbGF4TkdWYWxpZEN0eHRQdHIpCisgICAgIGQgIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFRleHRSZWFkZXJSZWxheE5HU2V0U2NoZW1hLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVGV4dFJlYWRlclJlbGF4TkdTZXRTY2hlbWEnKQorICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKKyAgICAgZCAgc2NoZW1hICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFJlbGF4TkdQdHIpCisKKyAgICAgZCB4bWxUZXh0UmVhZGVyU2NoZW1hVmFsaWRhdGUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxUZXh0UmVhZGVyU2NoZW1hVmFsaWRhdGUnKQorICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKKyAgICAgZCAgeHNkICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisKKyAgICAgZCB4bWxUZXh0UmVhZGVyU2NoZW1hVmFsaWRhdGVDdHh0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlQ3R4dCcpCisgICAgIGQgIHJlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQorICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2NoZW1hVmFsaWRDdHh0UHRyKQorICAgICBkICBvcHRpb25zICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxUZXh0UmVhZGVyU2V0U2NoZW1hLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVGV4dFJlYWRlclNldFNjaGVtYScpCisgICAgIGQgIHJlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQorICAgICBkICBzY2hlbWEgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2NoZW1hUHRyKQorICAgICAgL2VuZGlmCisKKyAgICAgZCB4bWxUZXh0UmVhZGVyQ29uc3RYbWxWZXJzaW9uLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYyggICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxUZXh0UmVhZGVyQ29uc3RYbWxWZXJzaW9uJykKKyAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCisKKyAgICAgZCB4bWxUZXh0UmVhZGVyU3RhbmRhbG9uZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFRleHRSZWFkZXJTdGFuZGFsb25lJykKKyAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCisKKyAgICAgICogSW5kZXggbG9va3VwCisKKyAgICAgZCB4bWxUZXh0UmVhZGVyQnl0ZUNvbnN1bWVkLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMjBpIDAgZXh0cHJvYygneG1sVGV4dFJlYWRlckJ5dGVDb25zdW1lZCcpCisgICAgIGQgIHJlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQorCisgICAgICAqIE5ldyBtb3JlIGNvbXBsZXRlIEFQSXMgZm9yIHNpbXBsZXIgY3JlYXRpb24gYW5kIHJldXNlIG9mIHJlYWRlcnMKKworICAgICBkIHhtbFJlYWRlcldhbGtlci4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFJlYWRlcldhbGtlcicpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQorICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQorCisgICAgIGQgeG1sUmVhZGVyRm9yRG9jLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUmVhZGVyRm9yRG9jJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCisgICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBVUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFJlYWRlckZvckZpbGUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxSZWFkZXJGb3JGaWxlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCisgICAgIGQgIGZpbGVuYW1lICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sUmVhZGVyRm9yTWVtb3J5Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUmVhZGVyRm9yTWVtb3J5JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCisgICAgIGQgIGJ1ZmZlciAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBzaXplICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIFVSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sUmVhZGVyRm9yRmQgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUmVhZGVyRm9yRmQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKKyAgICAgZCAgZmQgICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBVUkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFJlYWRlckZvcklPICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFJlYWRlckZvcklPJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCisgICAgIGQgIGlvcmVhZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxJbnB1dFJlYWRDYWxsYmFjaykKKyAgICAgZCAgaW9jbG9zZSAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbElucHV0Q2xvc2VDYWxsYmFjaykKKyAgICAgZCAgaW9jdHggICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCisgICAgIGQgIFVSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sUmVhZGVyTmV3V2Fsa2VyLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sUmVhZGVyTmV3V2Fsa2VyJykKKyAgICAgZCAgcmVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJQdHIpCisgICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxEb2NQdHIpCisKKyAgICAgZCB4bWxSZWFkZXJOZXdEb2MuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxSZWFkZXJOZXdEb2MnKQorICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKKyAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIFVSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sUmVhZGVyTmV3RmlsZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFJlYWRlck5ld0ZpbGUnKQorICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKKyAgICAgZCAgZmlsZW5hbWUgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIGVuY29kaW5nICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBvcHRpb25zICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxSZWFkZXJOZXdNZW1vcnkuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxSZWFkZXJOZXdNZW1vcnknKQorICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKKyAgICAgZCAgYnVmZmVyICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIHNpemUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgVVJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIGVuY29kaW5nICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBvcHRpb25zICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxSZWFkZXJOZXdGZCAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxSZWFkZXJOZXdGZCcpCisgICAgIGQgIHJlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0UmVhZGVyUHRyKQorICAgICBkICBmZCAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIFVSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sUmVhZGVyTmV3SU8gIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sUmVhZGVyTmV3SU8nKQorICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKKyAgICAgZCAgaW9yZWFkICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbElucHV0UmVhZENhbGxiYWNrKQorICAgICBkICBpb2Nsb3NlICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sSW5wdXRDbG9zZUNhbGxiYWNrKQorICAgICBkICBpb2N0eCAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKyAgICAgZCAgVVJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIGVuY29kaW5nICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBvcHRpb25zICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgICogRXJyb3IgaGFuZGxpbmcgZXh0ZW5zaW9ucworCisgICAgIGQgeG1sVGV4dFJlYWRlckxvY2F0b3JQdHIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKSAgICAgICAgICAgdm9pZCAqCisKKyAgICAgICogeG1sVGV4dFJlYWRlckVycm9yRnVuYzoKKyAgICAgICogQGFyZzogdGhlIHVzZXIgYXJndW1lbnQKKyAgICAgICogQG1zZzogdGhlIG1lc3NhZ2UKKyAgICAgICogQHNldmVyaXR5OiB0aGUgc2V2ZXJpdHkgb2YgdGhlIGVycm9yCisgICAgICAqIEBsb2NhdG9yOiBhIGxvY2F0b3IgaW5kaWNhdGluZyB3aGVyZSB0aGUgZXJyb3Igb2NjdXJlZAorICAgICAgKgorICAgICAgKiBTaWduYXR1cmUgb2YgYW4gZXJyb3IgY2FsbGJhY2sgZnJvbSBhIHJlYWRlciBwYXJzZXIKKworICAgICBkIHhtbFRleHRSZWFkZXJFcnJvckZ1bmMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NwdHIKKworICAgICBkIHhtbFRleHRSZWFkZXJMb2NhdG9yTGluZU51bWJlci4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRSZWFkZXJMb2NhdG9yTGluZU51bWJlcicpCisgICAgIGQgIGxvY2F0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0UmVhZGVyTG9jYXRvclB0cikKKworICAgICBkIHhtbFRleHRSZWFkZXJMb2NhdG9yQmFzZVVSSS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxDaGFyICoKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVGV4dFJlYWRlckxvY2F0b3JCYXNlVVJJJykKKyAgICAgZCAgbG9jYXRvciAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJMb2NhdG9yUHRyKQorCisgICAgIGQgeG1sVGV4dFJlYWRlclNldEVycm9ySGFuZGxlci4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRSZWFkZXJTZXRFcnJvckhhbmRsZXInKQorICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKKyAgICAgZCAgZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRSZWFkZXJFcnJvckZ1bmMpCisgICAgIGQgIGFyZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorCisgICAgIGQgeG1sVGV4dFJlYWRlclNldFN0cnVjdHVyZWRFcnJvckhhbmRsZXIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxUZXh0UmVhZGVyU2V0U3RydWN0dXJlZEUtCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnJvckhhbmRsZXInKQorICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKKyAgICAgZCAgZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFN0cnVjdHVyZWRFcnJvckZ1bmMpCisgICAgIGQgIGFyZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorCisgICAgIGQgeG1sVGV4dFJlYWRlckdldEVycm9ySGFuZGxlci4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRSZWFkZXJHZXRFcnJvckhhbmRsZXInKQorICAgICBkICByZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFJlYWRlclB0cikKKyAgICAgZCAgZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFRleHRSZWFkZXJFcnJvckZ1bmMpCisgICAgIGQgIGFyZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKigqKQorCisgICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9SRUFERVJfRU5BQkxECisgICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhNTF9YTUxSRUFERVJfSF9fCmRpZmYgLS1naXQgYS9saWJ4bWwyL29zNDAwL2xpYnhtbHJwZy94bWxyZWdleHAucnBnbGUgYi9saWJ4bWwyL29zNDAwL2xpYnhtbHJwZy94bWxyZWdleHAucnBnbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjVjMmQwNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvb3M0MDAvbGlieG1scnBnL3htbHJlZ2V4cC5ycGdsZQpAQCAtMCwwICsxLDI0NiBAQAorICAgICAgKiBTdW1tYXJ5OiByZWd1bGFyIGV4cHJlc3Npb25zIGhhbmRsaW5nCisgICAgICAqIERlc2NyaXB0aW9uOiBiYXNpYyBBUEkgZm9yIGxpYnhtbCByZWd1bGFyIGV4cHJlc3Npb25zIGhhbmRsaW5nIHVzZWQKKyAgICAgICogICAgICAgICAgICAgIGZvciBYTUwgU2NoZW1hcyBhbmQgdmFsaWRhdGlvbi4KKyAgICAgICoKKyAgICAgICogQ29weTogU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgorICAgICAgKgorICAgICAgKiBBdXRob3I6IFBhdHJpY2sgTW9ubmVyYXQgPHBtQGRhdGFzcGhlcmUuY2g+LCBEQVRBU1BIRVJFIFMuQS4KKworICAgICAgL2lmIG5vdCBkZWZpbmVkKFhNTF9SRUdFWFBfSF9fKQorICAgICAgL2RlZmluZSBYTUxfUkVHRVhQX0hfXworCisgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbHZlcnNpb24iCisKKyAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9SRUdFWFBfRU5BQkxFRCkKKworICAgICAgKiB4bWxSZWdleHBQdHI6CisgICAgICAqCisgICAgICAqIEEgbGlieG1sIHJlZ3VsYXIgZXhwcmVzc2lvbiwgdGhleSBjYW4gYWN0dWFsbHkgYmUgZmFyIG1vcmUgY29tcGxleAorICAgICAgKiB0aGFuayB0aGUgUE9TSVggcmVnZXggZXhwcmVzc2lvbnMuCisKKyAgICAgZCB4bWxSZWdleHBQdHIgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorCisgICAgICAqIHhtbFJlZ0V4ZWNDdHh0UHRyOgorICAgICAgKgorICAgICAgKiBBIGxpYnhtbCBwcm9ncmVzc2l2ZSByZWd1bGFyIGV4cHJlc3Npb24gZXZhbHVhdGlvbiBjb250ZXh0CisKKyAgICAgZCB4bWxSZWdFeGVjQ3R4dFB0ci4uLgorICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcvdHJlZSIKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcvZGljdCIKKworICAgICAgKiBUaGUgUE9TSVggbGlrZSBBUEkKKworICAgICBkIHhtbFJlZ2V4cENvbXBpbGUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxSZWdleHBDb21waWxlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFJlZ2V4cFB0cikKKyAgICAgZCAgcmVnZXhwICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgZCB4bWxSZWdGcmVlUmVnZXhwLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUmVnRnJlZVJlZ2V4cCcpCisgICAgIGQgIHJlZ2V4cCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxSZWdleHBQdHIpCisKKyAgICAgZCB4bWxSZWdleHBFeGVjICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxSZWdleHBFeGVjJykKKyAgICAgZCAgY29tcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFJlZ2V4cFB0cikKKyAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgZCB4bWxSZWdleHBQcmludCAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxSZWdleHBQcmludCcpCisgICAgIGQgIG91dHB1dCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZJTEUgKgorICAgICBkICByZWdleHAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUmVnZXhwUHRyKQorCisgICAgIGQgeG1sUmVnZXhwSXNEZXRlcm1pbmlzdC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFJlZ2V4cElzRGV0ZXJtaW5pc3QnKQorICAgICBkICBjb21wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sUmVnZXhwUHRyKQorCisgICAgICAqIHhtbFJlZ0V4ZWNDYWxsYmFja3M6CisgICAgICAqIEBleGVjOiB0aGUgcmVndWxhciBleHByZXNzaW9uIGNvbnRleHQKKyAgICAgICogQHRva2VuOiB0aGUgY3VycmVudCB0b2tlbiBzdHJpbmcKKyAgICAgICogQHRyYW5zZGF0YTogdHJhbnNpdGlvbiBkYXRhCisgICAgICAqIEBpbnB1dGRhdGE6IGlucHV0IGRhdGEKKyAgICAgICoKKyAgICAgICogQ2FsbGJhY2sgZnVuY3Rpb24gd2hlbiBkb2luZyBhIHRyYW5zaXRpb24gaW4gdGhlIGF1dG9tYXRhCisKKyAgICAgZCB4bWxSZWdFeGVjQ2FsbGJhY2tzLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jcHRyCisKKyAgICAgICogVGhlIHByb2dyZXNzaXZlIEFQSQorCisgICAgIGQgeG1sUmVnTmV3RXhlY0N0eHQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxSZWdOZXdFeGVjQ3R4dCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxSZWdFeGVjQ3R4dFB0cikKKyAgICAgZCAgY29tcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFJlZ2V4cFB0cikKKyAgICAgZCAgY2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFJlZ0V4ZWNDYWxsYmFja3MpCisgICAgIGQgIGRhdGEgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorCisgICAgIGQgeG1sUmVnRnJlZUV4ZWNDdHh0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sUmVnRnJlZUV4ZWNDdHh0JykKKyAgICAgZCAgZXhlYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFJlZ0V4ZWNDdHh0UHRyKQorCisgICAgIGQgeG1sUmVnRXhlY1B1c2hTdHJpbmcuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxSZWdFeGVjUHVzaFN0cmluZycpCisgICAgIGQgIGV4ZWMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxSZWdFeGVjQ3R4dFB0cikKKyAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIGRhdGEgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorCisgICAgIGQgeG1sUmVnRXhlY1B1c2hTdHJpbmcyLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sUmVnRXhlY1B1c2hTdHJpbmcyJykKKyAgICAgZCAgZXhlYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFJlZ0V4ZWNDdHh0UHRyKQorICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgdmFsdWUyICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIGRhdGEgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorCisgICAgIGQgeG1sUmVnRXhlY05leHRWYWx1ZXMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxSZWdFeGVjTmV4dFZhbHVlcycpCisgICAgIGQgIGV4ZWMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxSZWdFeGVjQ3R4dFB0cikKKyAgICAgZCAgbmJ2YWwgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMAorICAgICBkICBuYm5lZyAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwCisgICAgIGQgIHZhbHVlcyAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbENoYXIgKiAoKikKKyAgICAgZCAgdGVybWluYWwgICAgICAgICAgICAgICAgICAgICAxMGkgMAorCisgICAgIGQgeG1sUmVnRXhlY0VyckluZm8uLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxSZWdFeGVjRXJySW5mbycpCisgICAgIGQgIGV4ZWMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxSZWdFeGVjQ3R4dFB0cikKKyAgICAgZCAgc3RyaW5nICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqICgqKQorICAgICBkICBuYnZhbCAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwCisgICAgIGQgIG5ibmVnICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAKKyAgICAgZCAgdmFsdWVzICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sQ2hhciAqICgqKQorICAgICBkICB0ZXJtaW5hbCAgICAgICAgICAgICAgICAgICAgIDEwaSAwCisKKyAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9FWFBSX0VOQUJMRUQpCisKKyAgICAgICogRm9ybWFsIHJlZ3VsYXIgZXhwcmVzc2lvbiBoYW5kbGluZworICAgICAgKiBJdHMgZ29hbCBpcyB0byBkbyBzb21lIGZvcm1hbCB3b3JrIG9uIGNvbnRlbnQgbW9kZWxzCisKKyAgICAgICogZXhwcmVzc2lvbnMgYXJlIHVzZWQgd2l0aGluIGEgY29udGV4dAorCisgICAgIGQgeG1sRXhwQ3R4dFB0ciAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKworICAgICBkIHhtbEV4cEZyZWVDdHh0ICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEV4cEZyZWVDdHh0JykKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEV4cEN0eHRQdHIpCisKKyAgICAgZCB4bWxFeHBOZXdDdHh0ICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxFeHBOZXdDdHh0JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEV4cEN0eHRQdHIpCisgICAgIGQgIG1heE5vZGVzICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgZGljdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERpY3RQdHIpCisKKyAgICAgZCB4bWxFeHBDdHh0TmJOb2Rlcy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbEV4cEN0eHROYk5vZGVzJykKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEV4cEN0eHRQdHIpCisKKyAgICAgZCB4bWxFeHBDdHh0TmJDb25zLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sRXhwQ3R4dE5iQ29ucycpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxFeHBDdHh0UHRyKQorCisgICAgICAqIEV4cHJlc3Npb25zIGFyZSB0cmVlcyBidXQgdGhlIHRyZWUgaXMgb3BhcXVlCisKKyAgICAgZCB4bWxFeHBOb2RlUHRyICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorCisgICAgIGQgeG1sRXhwTm9kZVR5cGUgIHMgICAgICAgICAgICAgMTBpIDAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykgICAgICAgICAgIGVudW0KKyAgICAgZCAgWE1MX0VYUF9FTVBUWSAgYyAgICAgICAgICAgICAgICAgICAwCisgICAgIGQgIFhNTF9FWFBfRk9SQklELi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMQorICAgICBkICBYTUxfRVhQX0FUT00gICBjICAgICAgICAgICAgICAgICAgIDIKKyAgICAgZCAgWE1MX0VYUF9TRVEgICAgYyAgICAgICAgICAgICAgICAgICAzCisgICAgIGQgIFhNTF9FWFBfT1IgICAgIGMgICAgICAgICAgICAgICAgICAgNAorICAgICBkICBYTUxfRVhQX0NPVU5UICBjICAgICAgICAgICAgICAgICAgIDUKKworICAgICAgKiAyIGNvcmUgZXhwcmVzc2lvbnMgc2hhcmVkIGJ5IGFsbCBmb3IgdGhlIGVtcHR5IGxhbmd1YWdlIHNldAorICAgICAgKiBhbmQgZm9yIHRoZSBzZXQgd2l0aCBqdXN0IHRoZSBlbXB0eSB0b2tlbgorCisgICAgIGQgZm9yYmlkZGVuRXhwICAgIHMgICAgICAgICAgICAgICAgICAgaW1wb3J0KCdmb3JiaWRkZW5FeHAnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRXhwTm9kZVB0cikKKworICAgICBkIGVtcHR5RXhwICAgICAgICBzICAgICAgICAgICAgICAgICAgIGltcG9ydCgnZW1wdHlFeHAnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRXhwTm9kZVB0cikKKworCisgICAgICAqIEV4cHJlc3Npb25zIGFyZSByZWZlcmVuY2UgY291bnRlZCBpbnRlcm5hbGx5CisKKyAgICAgZCB4bWxFeHBGcmVlICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxFeHBGcmVlJykKKyAgICAgZCAgZXhwciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEV4cE5vZGVQdHIpCisKKyAgICAgZCB4bWxFeHBSZWYgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxFeHBSZWYnKQorICAgICBkICBleHByICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRXhwTm9kZVB0cikKKworICAgICAgKiBjb25zdHJ1Y3RvcnMgY2FuIGJlIGVpdGhlciBtYW51YWwgb3IgZnJvbSBhIHN0cmluZworCisgICAgIGQgeG1sRXhwUGFyc2UgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRXhwUGFyc2UnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRXhwTm9kZVB0cikKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEV4cEN0eHRQdHIpCisgICAgIGQgIGV4cHIgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorCisgICAgIGQgeG1sRXhwTmV3QXRvbSAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRXhwTmV3QXRvbScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxFeHBOb2RlUHRyKQorICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRXhwQ3R4dFB0cikKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbEV4cE5ld09yICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEV4cE5ld09yJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEV4cE5vZGVQdHIpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxFeHBDdHh0UHRyKQorICAgICBkICBsZWZ0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRXhwTm9kZVB0cikKKyAgICAgZCAgcmlnaHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEV4cE5vZGVQdHIpCisKKyAgICAgZCB4bWxFeHBOZXdTZXEgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxFeHBOZXdTZXEnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRXhwTm9kZVB0cikKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEV4cEN0eHRQdHIpCisgICAgIGQgIGxlZnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxFeHBOb2RlUHRyKQorICAgICBkICByaWdodCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRXhwTm9kZVB0cikKKworICAgICBkIHhtbEV4cE5ld1JhbmdlICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEV4cE5ld1JhbmdlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEV4cE5vZGVQdHIpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxFeHBDdHh0UHRyKQorICAgICBkICBzdWJzZXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRXhwTm9kZVB0cikKKyAgICAgZCAgbWluICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBtYXggICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgICogVGhlIHJlYWxseSBpbnRlcmVzdGluZyBBUElzCisKKyAgICAgZCB4bWxFeHBJc05pbGxhYmxlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sRXhwSXNOaWxsYWJsZScpCisgICAgIGQgIGV4cHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxFeHBOb2RlUHRyKQorCisgICAgIGQgeG1sRXhwTWF4VG9rZW4gIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sRXhwTWF4VG9rZW4nKQorICAgICBkICBleHByICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRXhwTm9kZVB0cikKKworICAgICBkIHhtbEV4cEdldExhbmd1YWdlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sRXhwR2V0TGFuZ3VhZ2UnKQorICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRXhwQ3R4dFB0cikKKyAgICAgZCAgZXhwciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEV4cE5vZGVQdHIpCisgICAgIGQgIGxhbmdMaXN0ICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKigqKQorICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxFeHBHZXRTdGFydCAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxFeHBHZXRTdGFydCcpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxFeHBDdHh0UHRyKQorICAgICBkICBleHByICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRXhwTm9kZVB0cikKKyAgICAgZCAgdG9rTGlzdCAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqKCopCisgICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbEV4cFN0cmluZ0Rlcml2ZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbEV4cFN0cmluZ0Rlcml2ZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxFeHBOb2RlUHRyKQorICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRXhwQ3R4dFB0cikKKyAgICAgZCAgZXhwciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEV4cE5vZGVQdHIpCisgICAgIGQgIHN0ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxFeHBFeHBEZXJpdmUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxFeHBFeHBEZXJpdmUnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRXhwTm9kZVB0cikKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEV4cEN0eHRQdHIpCisgICAgIGQgIGV4cHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxFeHBOb2RlUHRyKQorICAgICBkICBzdWIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRXhwTm9kZVB0cikKKworICAgICBkIHhtbEV4cFN1YnN1bWUgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbEV4cFN1YnN1bWUnKQorICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRXhwQ3R4dFB0cikKKyAgICAgZCAgZXhwciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbEV4cE5vZGVQdHIpCisgICAgIGQgIHN1YiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxFeHBOb2RlUHRyKQorCisgICAgIGQgeG1sRXhwRHVtcCAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRXhwRHVtcCcpCisgICAgIGQgIGJ1ZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxCdWZmZXJQdHIpCisgICAgIGQgIGV4cHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxFeHBOb2RlUHRyKQorICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTUxfRVhQUl9FTkFCTEVECisgICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9SRUdFWFBfRU5BQkxECisgICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhNTF9SRUdFWFBfSF9fCmRpZmYgLS1naXQgYS9saWJ4bWwyL29zNDAwL2xpYnhtbHJwZy94bWxzYXZlLnJwZ2xlIGIvbGlieG1sMi9vczQwMC9saWJ4bWxycGcveG1sc2F2ZS5ycGdsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZmNiMDlmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9vczQwMC9saWJ4bWxycGcveG1sc2F2ZS5ycGdsZQpAQCAtMCwwICsxLDk2IEBACisgICAgICAqIFN1bW1hcnk6IHRoZSBYTUwgZG9jdW1lbnQgc2VyaWFsaXplcgorICAgICAgKiBEZXNjcmlwdGlvbjogQVBJIHRvIHNhdmUgZG9jdW1lbnQgb3Igc3VidHJlZSBvZiBkb2N1bWVudAorICAgICAgKgorICAgICAgKiBDb3B5OiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisgICAgICAqCisgICAgICAqIEF1dGhvcjogUGF0cmljayBNb25uZXJhdCA8cG1AZGF0YXNwaGVyZS5jaD4sIERBVEFTUEhFUkUgUy5BLgorCisgICAgICAvaWYgbm90IGRlZmluZWQoWE1MX1hNTFNBVkVfSF9fKQorICAgICAgL2RlZmluZSBYTUxfWE1MU0FWRV9IX18KKworICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWx2ZXJzaW9uIgorICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy90cmVlIgorICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy9lbmNvZGluZyIKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sSU8iCisKKyAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKKworICAgICAgKiB4bWxTYXZlT3B0aW9uOgorICAgICAgKgorICAgICAgKiBUaGlzIGlzIHRoZSBzZXQgb2YgWE1MIHNhdmUgb3B0aW9ucyB0aGF0IGNhbiBiZSBwYXNzZWQgZG93bgorICAgICAgKiB0byB0aGUgeG1sU2F2ZVRvRmQoKSBhbmQgc2ltaWxhciBjYWxscy4KKworICAgICBkIHhtbFNhdmVPcHRpb24gICBzICAgICAgICAgICAgIDEwaSAwIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpICAgICAgICAgICBlbnVtCisgICAgIGQgIFhNTF9TQVZFX0ZPUk1BVC4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZvcm1hdCBzYXZlIG91dHB1dAorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMScKKyAgICAgZCAgWE1MX1NBVkVfTk9fREVDTC4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRHJvcCB4bWwgZGVjbGFyYXRpb24KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDInCisgICAgIGQgIFhNTF9TQVZFX05PX0VNUFRZLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vIGVtcHR5IHRhZ3MKKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDQnCisgICAgIGQgIFhNTF9TQVZFX05PX1hIVE1MLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vIFhIVE1MMSBzcGVjaWZpYworICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwOCcKKyAgICAgZCAgWE1MX1NBVkVfWEhUTUwuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRnJjZSBYSFRNTDEgc3BlY2lmaWMKKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMTAnCisgICAgIGQgIFhNTF9TQVZFX0FTX1hNTC4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZyY2UgWE1MIG9uIEhUTUwgZG9jCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgWCcwMDIwJworICAgICBkICBYTUxfU0FWRV9BU19IVE1MLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGcmNlIEhUTUwgb24gWE1MIGRvYworICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDA0MCcKKyAgICAgZCAgWE1MX1NBVkVfV1NOT05TSUcuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRm10IHcvIG5vbi1zaWcgc3BhY2UKKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwODAnCisKKyAgICAgZCB4bWxTYXZlQ3R4dFB0ciAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorCisgICAgIGQgeG1sU2F2ZVRvRmQgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2F2ZVRvRmQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2F2ZUN0eHRQdHIpCisgICAgIGQgIGZkICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFNhdmVUb0ZpbGVuYW1lLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2F2ZVRvRmlsZW5hbWUnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2F2ZUN0eHRQdHIpCisgICAgIGQgIGZpbGVuYW1lICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sU2F2ZVRvQnVmZmVyLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2F2ZVRvQnVmZmVyJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNhdmVDdHh0UHRyKQorICAgICBkICBidWZmZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQnVmZmVyUHRyKQorICAgICBkICBlbmNvZGluZyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sU2F2ZVRvSU8gICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2F2ZVRvSU8nKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2F2ZUN0eHRQdHIpCisgICAgIGQgIGlvd3JpdGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxPdXRwdXRXcml0ZUNhbGxiYWNrKQorICAgICBkICBpb2Nsb3NlICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sT3V0cHV0Q2xvc2VDYWxsYmFjaykKKyAgICAgZCAgaW9jdHggICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCisgICAgIGQgIGVuY29kaW5nICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBvcHRpb25zICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxTYXZlRG9jICAgICAgcHIgICAgICAgICAgICAyMGkgMCBleHRwcm9jKCd4bWxTYXZlRG9jJykKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNhdmVDdHh0UHRyKQorICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQorCisgICAgIGQgeG1sU2F2ZVRyZWUgICAgIHByICAgICAgICAgICAgMjBpIDAgZXh0cHJvYygneG1sU2F2ZVRyZWUnKQorICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2F2ZUN0eHRQdHIpCisgICAgIGQgIG5vZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQorCisgICAgIGQgeG1sU2F2ZUZsdXNoICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sU2F2ZUZsdXNoJykKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNhdmVDdHh0UHRyKQorCisgICAgIGQgeG1sU2F2ZUNsb3NlICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sU2F2ZUNsb3NlJykKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNhdmVDdHh0UHRyKQorCisgICAgIGQgeG1sU2F2ZVNldEVzY2FwZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFNhdmVTZXRFc2NhcGUnKQorICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2F2ZUN0eHRQdHIpCisgICAgIGQgIGVzY2FwZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaGFyRW5jb2RpbmdPdXRwdXRGdW5jKQorCisgICAgIGQgeG1sU2F2ZVNldEF0dHJFc2NhcGUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxTYXZlU2V0QXR0ckVzY2FwZScpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTYXZlQ3R4dFB0cikKKyAgICAgZCAgZXNjYXBlICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENoYXJFbmNvZGluZ091dHB1dEZ1bmMpCisKKyAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCWE1MX09VVFBVVF9FTkFCTEQKKyAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWE1MX1hNTFNBVkVfSF9fCmRpZmYgLS1naXQgYS9saWJ4bWwyL29zNDAwL2xpYnhtbHJwZy94bWxzY2hlbWFzLnJwZ2xlIGIvbGlieG1sMi9vczQwMC9saWJ4bWxycGcveG1sc2NoZW1hcy5ycGdsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NjVkZDI2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9vczQwMC9saWJ4bWxycGcveG1sc2NoZW1hcy5ycGdsZQpAQCAtMCwwICsxLDMxOCBAQAorICAgICAgKiBTdW1tYXJ5OiBpbmNvbXBsZXRlIFhNTCBTY2hlbWFzIHN0cnVjdHVyZSBpbXBsZW1lbnRhdGlvbgorICAgICAgKiBEZXNjcmlwdGlvbjogaW50ZXJmYWNlIHRvIHRoZSBYTUwgU2NoZW1hcyBoYW5kbGluZyBhbmQgc2NoZW1hIHZhbGlkaXR5CisgICAgICAqICAgICAgICAgICAgICBjaGVja2luZywgaXQgaXMgaW5jb21wbGV0ZSByaWdodCBub3cuCisgICAgICAqCisgICAgICAqIENvcHk6IFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyAgICAgICoKKyAgICAgICogQXV0aG9yOiBQYXRyaWNrIE1vbm5lcmF0IDxwbUBkYXRhc3BoZXJlLmNoPiwgREFUQVNQSEVSRSBTLkEuCisKKyAgICAgIC9pZiBub3QgZGVmaW5lZChYTUxfU0NIRU1BX0hfXykKKyAgICAgIC9kZWZpbmUgWE1MX1NDSEVNQV9IX18KKworICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWx2ZXJzaW9uIgorCisgICAgICAvaWYgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQorCisgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3RyZWUiCisKKyAgICAgICogVGhpcyBlcnJvciBjb2RlcyBhcmUgb2Jzb2xldGU7IG5vdCB1c2VkIGFueSBtb3JlLgorCisgICAgIGQgeG1sU2NoZW1hVmFsaWRFcnJvci4uLgorICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgIDEwaSAwIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpICAgICAgICAgICBlbnVtCisgICAgIGQgIFhNTF9TQ0hFTUFTX0VSUl9PSy4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDAKKyAgICAgZCAgWE1MX1NDSEVNQVNfRVJSX05PUk9PVC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEKKyAgICAgZCAgWE1MX1NDSEVNQVNfRVJSX1VOREVDTEFSRURFTEVNLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMgorICAgICBkICBYTUxfU0NIRU1BU19FUlJfTk9UVE9QTEVWRUwuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAzCisgICAgIGQgIFhNTF9TQ0hFTUFTX0VSUl9NSVNTSU5HLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNAorICAgICBkICBYTUxfU0NIRU1BU19FUlJfV1JPTkdFTEVNLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNQorICAgICBkICBYTUxfU0NIRU1BU19FUlJfTk9UWVBFLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNgorICAgICBkICBYTUxfU0NIRU1BU19FUlJfTk9ST0xMQkFDSy4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDcKKyAgICAgZCAgWE1MX1NDSEVNQVNfRVJSX0lTQUJTVFJBQ1QuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA4CisgICAgIGQgIFhNTF9TQ0hFTUFTX0VSUl9OT1RFTVBUWS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDkKKyAgICAgZCAgWE1MX1NDSEVNQVNfRVJSX0VMRU1DT05ULi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTAKKyAgICAgZCAgWE1MX1NDSEVNQVNfRVJSX0hBVkVERUZBVUxULi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTEKKyAgICAgZCAgWE1MX1NDSEVNQVNfRVJSX05PVE5JTExBQkxFLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTIKKyAgICAgZCAgWE1MX1NDSEVNQVNfRVJSX0VYVFJBQ09OVEVOVC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEzCisgICAgIGQgIFhNTF9TQ0hFTUFTX0VSUl9JTlZBTElEQVRUUi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE0CisgICAgIGQgIFhNTF9TQ0hFTUFTX0VSUl9JTlZBTElERUxFTS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE1CisgICAgIGQgIFhNTF9TQ0hFTUFTX0VSUl9OT1RERVRFUk1JTklTVC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDE2CisgICAgIGQgIFhNTF9TQ0hFTUFTX0VSUl9DT05TVFJVQ1QuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNworICAgICBkICBYTUxfU0NIRU1BU19FUlJfSU5URVJOQUwuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxOAorICAgICBkICBYTUxfU0NIRU1BU19FUlJfTk9UU0lNUExFLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTkKKyAgICAgZCAgWE1MX1NDSEVNQVNfRVJSX0FUVFJVTktOT1dOLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMjAKKyAgICAgZCAgWE1MX1NDSEVNQVNfRVJSX0FUVFJJTlZBTElELi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMjEKKyAgICAgZCAgWE1MX1NDSEVNQVNfRVJSX1ZBTFVFLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMjIKKyAgICAgZCAgWE1MX1NDSEVNQVNfRVJSX0ZBQ0VULi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMjMKKyAgICAgZCAgWE1MX1NDSEVNQVNfRVJSXy4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDI0CisgICAgIGQgIFhNTF9TQ0hFTUFTX0VSUl9YWFguLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAyNQorCisgICAgICAqIEFUVEVOVElPTjogQ2hhbmdlIHhtbFNjaGVtYVNldFZhbGlkT3B0aW9ucydzIGNoZWNrCisgICAgICAqIGZvciBpbnZhbGlkIHZhbHVlcywgaWYgYWRkaW5nIHRvIHRoZSB2YWxpZGF0aW9uCisgICAgICAqIG9wdGlvbnMgYmVsb3cuCisKKyAgICAgICogeG1sU2NoZW1hVmFsaWRPcHRpb246CisgICAgICAqCisgICAgICAqIFRoaXMgaXMgdGhlIHNldCBvZiBYTUwgU2NoZW1hIHZhbGlkYXRpb24gb3B0aW9ucy4KKworICAgICBkIHhtbFNjaGVtYVZhbGlkT3B0aW9uLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgMTBpIDAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykgICAgICAgICAgIGVudW0KKyAgICAgICoKKyAgICAgICogRGVmYXVsdC9maXhlZDogY3JlYXRlIGFuIGF0dHJpYnV0ZSBub2RlCisgICAgICAqIG9yIGFuIGVsZW1lbnQncyB0ZXh0IG5vZGUgb24gdGhlIGluc3RhbmNlLgorICAgICAgKgorICAgICBkICBYTUxfU0NIRU1BX1ZBTF9WQ19JX0NSRUFURS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMScKKyAgICAgIC9pZiBkZWZpbmVkKERJU0FCTEVEKQorICAgICAgKgorICAgICAgKiBhc3NlbWJsZSBzY2hlbWF0YSB1c2luZworICAgICAgKiB4c2k6c2NoZW1hTG9jYXRpb24gYW5kCisgICAgICAqIHhzaTpub05hbWVzcGFjZVNjaGVtYUxvY2F0aW9uCisgICAgICAqCisgICAgIGQgIFhNTF9TQ0hFTUFfVkFMX1hTSV9BU1NFTUJMRS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIFgnMDAwMicKKyAgICAgIC9lbmRpZgorCisgICAgICAqIFRoZSBzY2hlbWFzIHJlbGF0ZWQgdHlwZXMgYXJlIGtlcHQgaW50ZXJuYWwKKworICAgICBkIHhtbFNjaGVtYVB0ciAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisKKyAgICAgICogeG1sU2NoZW1hVmFsaWRpdHlFcnJvckZ1bmM6CisgICAgICAqIEBjdHg6IHRoZSB2YWxpZGF0aW9uIGNvbnRleHQKKyAgICAgICogQG1zZzogdGhlIG1lc3NhZ2UKKyAgICAgICogQC4uLjogZXh0cmEgYXJndW1lbnRzCisgICAgICAqCisgICAgICAqIFNpZ25hdHVyZSBvZiBhbiBlcnJvciBjYWxsYmFjayBmcm9tIGFuIFhTRCB2YWxpZGF0aW9uCisKKyAgICAgZCB4bWxTY2hlbWFWYWxpZGl0eUVycm9yRnVuYy4uLgorICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY3B0cgorCisgICAgICAqIHhtbFNjaGVtYVZhbGlkaXR5V2FybmluZ0Z1bmM6CisgICAgICAqIEBjdHg6IHRoZSB2YWxpZGF0aW9uIGNvbnRleHQKKyAgICAgICogQG1zZzogdGhlIG1lc3NhZ2UKKyAgICAgICogQC4uLjogZXh0cmEgYXJndW1lbnRzCisgICAgICAqCisgICAgICAqIFNpZ25hdHVyZSBvZiBhIHdhcm5pbmcgY2FsbGJhY2sgZnJvbSBhbiBYU0QgdmFsaWRhdGlvbgorCisgICAgIGQgeG1sU2NoZW1hVmFsaWRpdHlXYXJuaW5nRnVuYy4uLgorICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY3B0cgorCisgICAgICAqIEEgc2NoZW1hcyB2YWxpZGF0aW9uIGNvbnRleHQKKworICAgICBkIHhtbFNjaGVtYVBhcnNlckN0eHRQdHIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorCisgICAgIGQgeG1sU2NoZW1hVmFsaWRDdHh0UHRyLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKworICAgICAgKiB4bWxTY2hlbWFWYWxpZGl0eUxvY2F0b3JGdW5jOgorICAgICAgKiBAY3R4OiB1c2VyIHByb3ZpZGVkIGNvbnRleHQKKyAgICAgICogQGZpbGU6IHJldHVybmVkIGZpbGUgaW5mb3JtYXRpb24KKyAgICAgICogQGxpbmU6IHJldHVybmVkIGxpbmUgaW5mb3JtYXRpb24KKyAgICAgICoKKyAgICAgICogQSBzY2hlbWFzIHZhbGlkYXRpb24gbG9jYXRvciwgYSBjYWxsYmFjayBjYWxsZWQgYnkgdGhlIHZhbGlkYXRvci4KKyAgICAgICogVGhpcyBpcyB1c2VkIHdoZW4gZmlsZSBvciBub2RlIGluZm9ybWF0aW9ucyBhcmUgbm90IGF2YWlsYWJsZQorICAgICAgKiB0byBmaW5kIG91dCB3aGF0IGZpbGUgYW5kIGxpbmUgbnVtYmVyIGFyZSBhZmZlY3RlZAorICAgICAgKgorICAgICAgKiBSZXR1cm5zOiAwIGluIGNhc2Ugb2Ygc3VjY2VzcyBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvcgorCisgICAgIGQgeG1sU2NoZW1hVmFsaWRpdHlMb2NhdG9yRnVuYy4uLgorICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY3B0cgorCisgICAgICAqIEludGVyZmFjZXMgZm9yIHBhcnNpbmcuCisKKyAgICAgZCB4bWxTY2hlbWFOZXdQYXJzZXJDdHh0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2NoZW1hTmV3UGFyc2VyQ3R4dCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWFQYXJzZXJDdHh0UHRyKQorICAgICBkIFVSTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKworICAgICBkIHhtbFNjaGVtYU5ld01lbVBhcnNlckN0eHQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTY2hlbWFOZXdNZW1QYXJzZXJDdHh0JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYVBhcnNlckN0eHRQdHIpCisgICAgIGQgYnVmZmVyICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkIHNpemUgICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxTY2hlbWFOZXdEb2NQYXJzZXJDdHh0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2NoZW1hTmV3RG9jUGFyc2VyQ3R4dCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWFQYXJzZXJDdHh0UHRyKQorICAgICBkIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQorCisgICAgIGQgeG1sU2NoZW1hRnJlZVBhcnNlckN0eHQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTY2hlbWFGcmVlUGFyc2VyQ3R4dCcpCisgICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWFQYXJzZXJDdHh0UHRyKQorCisgICAgIGQgeG1sU2NoZW1hU2V0UGFyc2VyRXJyb3JzLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2NoZW1hU2V0UGFyc2VyRXJyb3JzJykKKyAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYVBhcnNlckN0eHRQdHIpCisgICAgIGQgZXJyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYVZhbGlkaXR5RXJyb3JGdW5jKQorICAgICBkIHdhcm4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWFWYWxpZGl0eVdhcm5pbmdGdW5jKQorICAgICBkIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKworICAgICBkIHhtbFNjaGVtYVNldFBhcnNlclN0cnVjdHVyZWRFcnJvcnMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxTY2hlbWFTZXRQYXJzZXJTdHJ1Y3R1cmVkRXJyb3JzJykKKyAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYVBhcnNlckN0eHRQdHIpCisgICAgIGQgc2Vycm9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jKQorICAgICBkIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKworICAgICBkIHhtbFNjaGVtYUdldFBhcnNlckVycm9ycy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFNjaGVtYUdldFBhcnNlckVycm9ycycpCisgICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWFQYXJzZXJDdHh0UHRyKQorICAgICBkIGVyciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hVmFsaWRpdHlFcnJvckZ1bmMpCisgICAgIGQgd2FybiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWFWYWxpZGl0eVdhcm5pbmdGdW5jKQorICAgICBkIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICooKikKKworICAgICBkIHhtbFNjaGVtYUlzVmFsaWQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxTY2hlbWFJc1ZhbGlkJykKKyAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYVZhbGlkQ3R4dFB0cikKKworICAgICBkIHhtbFNjaGVtYVBhcnNlICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNjaGVtYVBhcnNlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYVB0cikKKyAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYVBhcnNlckN0eHRQdHIpCisKKyAgICAgZCB4bWxTY2hlbWFGcmVlICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTY2hlbWFGcmVlJykKKyAgICAgZCBzY2hlbWEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYVB0cikKKworICAgICAgL2lmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQorICAgICBkIHhtbFNjaGVtYUR1bXAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNjaGVtYUR1bXAnKQorICAgICBkIG91dHB1dCAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGSUxFICoKKyAgICAgZCBzY2hlbWEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYVB0cikKKyAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCWE1MX09VVFBVVF9FTkFCTEQKKworICAgICAgKiBJbnRlcmZhY2VzIGZvciB2YWxpZGF0aW5nCisKKyAgICAgZCB4bWxTY2hlbWFTZXRWYWxpZEVycm9ycy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNjaGVtYVNldFZhbGlkRXJyb3JzJykKKyAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYVZhbGlkQ3R4dFB0cikKKyAgICAgZCBlcnIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hVmFsaWRpdHlFcnJvckZ1bmMpCisgICAgIGQgd2FybiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYVZhbGlkaXR5V2FybmluZ0Z1bmMpCisgICAgIGQgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorCisgICAgIGQgeG1sU2NoZW1hU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sU2NoZW1hU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzJykKKyAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYVZhbGlkQ3R4dFB0cikKKyAgICAgZCBzZXJyb3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFN0cnVjdHVyZWRFcnJvckZ1bmMpCisgICAgIGQgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorCisgICAgIGQgeG1sU2NoZW1hR2V0VmFsaWRFcnJvcnMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxTY2hlbWFHZXRWYWxpZEVycm9ycycpCisgICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWFWYWxpZEN0eHRQdHIpCisgICAgIGQgZXJyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWFWYWxpZGl0eUVycm9yRnVuYykKKyAgICAgZCB3YXJuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYVZhbGlkaXR5V2FybmluZ0Z1bmMpCisgICAgIGQgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKigqKQorCisgICAgIGQgeG1sU2NoZW1hU2V0VmFsaWRPcHRpb25zLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sU2NoZW1hU2V0VmFsaWRPcHRpb25zJykKKyAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYVZhbGlkQ3R4dFB0cikKKyAgICAgZCBvcHRpb25zICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sU2NoZW1hVmFsaWRhdGVTZXRGaWxlbmFtZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFNjaGVtYVZhbGlkYXRlU2V0RmlsZW5hbWUnKQorICAgICBkIHZjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2NoZW1hVmFsaWRDdHh0UHRyKQorICAgICBkIGZpbGVuYW1lICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKworICAgICBkIHhtbFNjaGVtYVZhbGlkQ3R4dEdldE9wdGlvbnMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxTY2hlbWFWYWxpZEN0eHRHZXRPcHRpb25zJykKKyAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYVZhbGlkQ3R4dFB0cikKKworICAgICBkIHhtbFNjaGVtYU5ld1ZhbGlkQ3R4dC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNjaGVtYU5ld1ZhbGlkQ3R4dCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWFWYWxpZEN0eHRQdHIpCisgICAgIGQgc2NoZW1hICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWFQdHIpCisKKyAgICAgZCB4bWxTY2hlbWFGcmVlVmFsaWRDdHh0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2NoZW1hRnJlZVZhbGlkQ3R4dCcpCisgICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWFWYWxpZEN0eHRQdHIpCisKKyAgICAgZCB4bWxTY2hlbWFWYWxpZGF0ZURvYy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFNjaGVtYVZhbGlkYXRlRG9jJykKKyAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYVZhbGlkQ3R4dFB0cikKKyAgICAgZCBpbnN0YW5jZSAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKKworICAgICBkIHhtbFNjaGVtYVZhbGlkYXRlT25lRWxlbWVudC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFNjaGVtYVZhbGlkYXRlT25lRWxlbWVudCcpCisgICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWFWYWxpZEN0eHRQdHIpCisgICAgIGQgZWxlbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQorCisgICAgIGQgeG1sU2NoZW1hVmFsaWRhdGVTdHJlYW0uLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxTY2hlbWFWYWxpZGF0ZVN0cmVhbScpCisgICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWFWYWxpZEN0eHRQdHIpCisgICAgIGQgaW5wdXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cikKKyAgICAgZCBlbmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbENoYXJFbmNvZGluZykKKyAgICAgZCBzYXggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNBWEhhbmRsZXJQdHIpCisgICAgIGQgdXNlcl9kYXRhICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorCisgICAgIGQgeG1sU2NoZW1hVmFsaWRhdGVGaWxlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sU2NoZW1hVmFsaWRhdGVGaWxlJykKKyAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYVZhbGlkQ3R4dFB0cikKKyAgICAgZCBmaWxlbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgb3B0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFNjaGVtYVZhbGlkQ3R4dEdldFBhcnNlckN0eHQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxTY2hlbWFWYWxpZEN0eHRHZXRQYXJzZXJDdHh0JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCisgICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWFWYWxpZEN0eHRQdHIpCisKKyAgICAgICogSW50ZXJmYWNlIHRvIGluc2VydCBTY2hlbWFzIFNBWCB2YWxpZGF0aW9uIGluIGEgU0FYIHN0cmVhbQorCisgICAgIGQgeG1sU2NoZW1hU0FYUGx1Z1B0ci4uLgorICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisKKyAgICAgZCB4bWxTY2hlbWFTQVhQbHVnLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2NoZW1hU0FYUGx1ZycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWFTQVhQbHVnUHRyKQorICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2NoZW1hVmFsaWRDdHh0UHRyKQorICAgICBkIHNheCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU0FYSGFuZGxlclB0cikKKyAgICAgZCB1c2VyX2RhdGEgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqKCopCisKKyAgICAgZCB4bWxTY2hlbWFTQVhVbnBsdWcuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxTY2hlbWFTQVhVbnBsdWcnKQorICAgICBkIHBsdWcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2NoZW1hU0FYUGx1Z1B0cikKKworICAgICBkIHhtbFNjaGVtYVZhbGlkYXRlU2V0TG9jYXRvci4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFNjaGVtYVZhbGlkYXRlU2V0TG9jYXRvcicpCisgICAgIGQgdmN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWFWYWxpZEN0eHRQdHIpCisgICAgIGQgZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYVZhbGlkaXR5TG9jYXRvckZ1bmMpCisgICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorCisgICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9TQ0hFTUFTX0VOQkxECisgICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhNTF9TQ0hFTUFfSF9fCmRpZmYgLS1naXQgYS9saWJ4bWwyL29zNDAwL2xpYnhtbHJwZy94bWxzY2hlbWFzdHlwZXMucnBnbGUgYi9saWJ4bWwyL29zNDAwL2xpYnhtbHJwZy94bWxzY2hlbWFzdHlwZXMucnBnbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjQzM2MzMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvb3M0MDAvbGlieG1scnBnL3htbHNjaGVtYXN0eXBlcy5ycGdsZQpAQCAtMCwwICsxLDIzNSBAQAorICAgICAgKiBTdW1tYXJ5OiBpbXBsZW1lbnRhdGlvbiBvZiBYTUwgU2NoZW1hIERhdGF0eXBlcworICAgICAgKiBEZXNjcmlwdGlvbjogbW9kdWxlIHByb3ZpZGluZyB0aGUgWE1MIFNjaGVtYSBEYXRhdHlwZXMgaW1wbGVtZW50YXRpb24KKyAgICAgICogICAgICAgICAgICAgIGJvdGggZGVmaW5pdGlvbiBhbmQgdmFsaWRpdHkgY2hlY2tpbmcKKyAgICAgICoKKyAgICAgICogQ29weTogU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgorICAgICAgKgorICAgICAgKiBBdXRob3I6IFBhdHJpY2sgTW9ubmVyYXQgPHBtQGRhdGFzcGhlcmUuY2g+LCBEQVRBU1BIRVJFIFMuQS4KKworICAgICAgL2lmIG5vdCBkZWZpbmVkKFhNTF9TQ0hFTUFfVFlQRVNfSF9fKQorICAgICAgL2RlZmluZSBYTUxfU0NIRU1BX1RZUEVTX0hfXworCisgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbHZlcnNpb24iCisKKyAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcvc2NoZW1hc0ludGVybmFscyIKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sc2NoZW1hcyIKKworICAgICBkIHhtbFNjaGVtYVdoaXRlc3BhY2VWYWx1ZVR5cGUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAxMGkgMCBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKSAgICAgICAgICAgZW51bQorICAgICBkICBYTUxfU0NIRU1BX1dISVRFU1BBQ0VfVU5LTk9XTi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDAKKyAgICAgZCAgWE1MX1NDSEVNQV9XSElURVNQQUNFX1BSRVNFUlZFLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMQorICAgICBkICBYTUxfU0NIRU1BX1dISVRFU1BBQ0VfUkVQTEFDRS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDIKKyAgICAgZCAgWE1MX1NDSEVNQV9XSElURVNQQUNFX0NPTExBUFNFLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMworCisgICAgIGQgeG1sU2NoZW1hSW5pdFR5cGVzLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2NoZW1hSW5pdFR5cGVzJykKKworICAgICBkIHhtbFNjaGVtYUNsZWFudXBUeXBlcy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNjaGVtYUNsZWFudXBUeXBlcycpCisKKyAgICAgZCB4bWxTY2hlbWFHZXRQcmVkZWZpbmVkVHlwZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNjaGVtYUdldFByZWRlZmluZWRUeXBlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYVR5cGVQdHIpCisgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBucyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICBkIHhtbFNjaGVtYVZhbGlkYXRlUHJlZGVmaW5lZFR5cGUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxTY2hlbWFWYWxpZGF0ZVByZWRlZmluZWRUeXBlJykKKyAgICAgZCAgdHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYVR5cGVQdHIpCisgICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxTY2hlbWFWYWxQdHIgKgorCisgICAgIGQgeG1sU2NoZW1hVmFsUHJlZGVmVHlwZU5vZGUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxTY2hlbWFWYWxQcmVkZWZUeXBlTm9kZScpCisgICAgIGQgIHR5cGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWFUeXBlUHRyKQorICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgdmFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sU2NoZW1hVmFsUHRyICoKKyAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisKKyAgICAgZCB4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sU2NoZW1hVmFsaWRhdGVGYWNldCcpCisgICAgIGQgIGJhc2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWFUeXBlUHRyKQorICAgICBkICBmYWNldCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2NoZW1hRmFjZXRQdHIpCisgICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2NoZW1hVmFsUHRyKQorCisgICAgIGQgeG1sU2NoZW1hVmFsaWRhdGVGYWNldFdodHNwLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sU2NoZW1hVmFsaWRhdGVGYWNldFdodHNwJykKKyAgICAgZCAgZmFjZXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYUZhY2V0UHRyKQorICAgICBkICBmd3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWFXaGl0ZXNwYWNlVmFsdWVUeXBlKQorICAgICBkICB2YWxUeXBlICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2NoZW1hVmFsVHlwZSkKKyAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIHZhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWFWYWxQdHIpCisgICAgIGQgIHdzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYVdoaXRlc3BhY2VWYWx1ZVR5cGUpCisKKyAgICAgZCB4bWxTY2hlbWFGcmVlVmFsdWUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTY2hlbWFGcmVlVmFsdWUnKQorICAgICBkICB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2NoZW1hVmFsUHRyKQorCisgICAgIGQgeG1sU2NoZW1hTmV3RmFjZXQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTY2hlbWFOZXdGYWNldCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWFGYWNldFB0cikKKworICAgICBkIHhtbFNjaGVtYUNoZWNrRmFjZXQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxTY2hlbWFDaGVja0ZhY2V0JykKKyAgICAgZCAgZmFjZXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYUZhY2V0UHRyKQorICAgICBkICB0eXBlRGVjbCAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2NoZW1hVHlwZVB0cikKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYVBhcnNlckN0eHRQdHIpCisgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgIGQgeG1sU2NoZW1hRnJlZUZhY2V0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2NoZW1hRnJlZUZhY2V0JykKKyAgICAgZCAgZmFjZXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYUZhY2V0UHRyKQorCisgICAgIGQgeG1sU2NoZW1hQ29tcGFyZVZhbHVlcy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFNjaGVtYUNvbXBhcmVWYWx1ZXMnKQorICAgICBkICB4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2NoZW1hVmFsUHRyKQorICAgICBkICB5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2NoZW1hVmFsUHRyKQorCisgICAgIGQgeG1sU2NoZW1hR2V0QnVpbHRJbkxpc3RTaW1wbGVUeXBlSXRlbVR5cGUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTY2hlbWFHZXRCdWlsdEluTGlzdFNpbXAtCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVUeXBlSXRlbVR5cGUnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hVHlwZVB0cikKKyAgICAgZCAgdHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYVR5cGVQdHIpCisKKyAgICAgZCB4bWxTY2hlbWFWYWxpZGF0ZUxpc3RTaW1wbGVUeXBlRmFjZXQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxTY2hlbWFWYWxpZGF0ZUxpc3RTaW1wbGUtCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVHlwZUZhY2V0JykKKyAgICAgZCAgZmFjZXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYUZhY2V0UHRyKQorICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgYWN0dWFsTGVuICAgICAgICAgICAgICAgICAgICAyMHUgMCB2YWx1ZQorICAgICBkICBleHBlY3RlZExlbiAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nICoKKworICAgICBkIHhtbFNjaGVtYUdldEJ1aWx0SW5UeXBlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2NoZW1hR2V0QnVpbHRJblR5cGUnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hVHlwZVB0cikKKyAgICAgZCAgdHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYVZhbFR5cGUpCisKKyAgICAgZCB4bWxTY2hlbWFJc0J1aWx0SW5UeXBlRmFjZXQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxTY2hlbWFJc0J1aWx0SW5UeXBlRmFjZXQnKQorICAgICBkICB0eXBlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2NoZW1hVHlwZVB0cikKKyAgICAgZCAgZmFjZXRUeXBlICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sU2NoZW1hQ29sbGFwc2VTdHJpbmcuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxTY2hlbWFDb2xsYXBzZVN0cmluZycpICAgeG1sQ2hhciAqCisgICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgIGQgeG1sU2NoZW1hV2hpdGVTcGFjZVJlcGxhY2UuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxTY2hlbWFXaGl0ZVNwYWNlUmVwbGFjZScpeG1sQ2hhciAqCisgICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgIGQgeG1sU2NoZW1hR2V0RmFjZXRWYWx1ZUFzVUxvbmcuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAyMHUgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxTY2hlbWFHZXRGYWNldFZhbHVlQXNVTG9uZycpCisgICAgIGQgIGZhY2V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWFGYWNldFB0cikKKworICAgICBkIHhtbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxTY2hlbWFWYWxpZGF0ZUxlbmd0aEZhY2V0JykKKyAgICAgZCAgdHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYVR5cGVQdHIpCisgICAgIGQgIGZhY2V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWFGYWNldFB0cikKKyAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIHZhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWFWYWxQdHIpCisgICAgIGQgIGxlbmd0aCAgICAgICAgICAgICAgICAgICAgICAgMjB1IDAKKworICAgICBkIHhtbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXRXaHRzcC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXRXaHRzcCcpCisgICAgIGQgIGZhY2V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWFGYWNldFB0cikKKyAgICAgZCAgdmFsVHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYVZhbFR5cGUpCisgICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2NoZW1hVmFsUHRyKQorICAgICBkICBsZW5ndGggICAgICAgICAgICAgICAgICAgICAgIDIwdSAwCisgICAgIGQgIHdzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYVdoaXRlc3BhY2VWYWx1ZVR5cGUpCisKKyAgICAgZCB4bWxTY2hlbWFWYWxQcmVkZWZUeXBlTm9kZU5vTm9ybS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFNjaGVtYVZhbFByZWRlZlR5cGVOb2RlTm9Ob3JtJykKKyAgICAgZCAgdHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYVR5cGVQdHIpCisgICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hVmFsUHRyKQorICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKworICAgICBkIHhtbFNjaGVtYUdldENhbm9uVmFsdWUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxTY2hlbWFHZXRDYW5vblZhbHVlJykKKyAgICAgZCAgdmFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYVZhbFB0cikKKyAgICAgZCAgcmV0VmFsdWUgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqICoKKworICAgICBkIHhtbFNjaGVtYUdldENhbm9uVmFsdWVXaHRzcC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFNjaGVtYUdldENhbm9uVmFsdWVXaHRzcCcpCisgICAgIGQgIHZhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWFWYWxQdHIpCisgICAgIGQgIHJldFZhbHVlICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiAqCisgICAgIGQgIHdzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYVdoaXRlc3BhY2VWYWx1ZVR5cGUpCisKKyAgICAgZCB4bWxTY2hlbWFWYWx1ZUFwcGVuZC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFNjaGVtYVZhbHVlQXBwZW5kJykKKyAgICAgZCAgcHJldiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYVZhbFB0cikKKyAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYVZhbFB0cikKKworICAgICBkIHhtbFNjaGVtYVZhbHVlR2V0TmV4dC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNjaGVtYVZhbHVlR2V0TmV4dCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWFWYWxQdHIpCisgICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWFWYWxQdHIpCisKKyAgICAgZCB4bWxTY2hlbWFWYWx1ZUdldEFzU3RyaW5nLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sU2NoZW1hVmFsdWVHZXRBc1N0cmluZycpIGNvbnN0IHhtbENoYXIgKgorICAgICBkICB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2NoZW1hVmFsUHRyKQorCisgICAgIGQgeG1sU2NoZW1hVmFsdWVHZXRBc0Jvb2xlYW4uLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxTY2hlbWFWYWx1ZUdldEFzQm9vbGVhbicpCisgICAgIGQgIHZhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWFWYWxQdHIpCisKKyAgICAgZCB4bWxTY2hlbWFOZXdTdHJpbmdWYWx1ZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNjaGVtYU5ld1N0cmluZ1ZhbHVlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYVZhbFB0cikKKyAgICAgZCAgdHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYVZhbFR5cGUpCisgICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgIGQgeG1sU2NoZW1hTmV3Tk9UQVRJT05WYWx1ZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNjaGVtYU5ld05PVEFUSU9OVmFsdWUnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hVmFsUHRyKQorICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgZCB4bWxTY2hlbWFOZXdRTmFtZVZhbHVlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sU2NoZW1hTmV3UU5hbWVWYWx1ZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxTY2hlbWFWYWxQdHIpCisgICAgIGQgIG5hbWVzcGFjZU5hbWUgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBsb2NhbE5hbWUgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICBkIHhtbFNjaGVtYUNvbXBhcmVWYWx1ZXNXaHRzcC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFNjaGVtYUNvbXBhcmVWYWx1ZXNXaHRzcCcpCisgICAgIGQgIHggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWFWYWxQdHIpCisgICAgIGQgIHh3cyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYVdoaXRlc3BhY2VWYWx1ZVR5cGUpCisgICAgIGQgIHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxTY2hlbWFWYWxQdHIpCisgICAgIGQgIHl3cyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFNjaGVtYVdoaXRlc3BhY2VWYWx1ZVR5cGUpCisKKyAgICAgZCB4bWxTY2hlbWFDb3B5VmFsdWUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxTY2hlbWFDb3B5VmFsdWUnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hVmFsUHRyKQorICAgICBkICB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sU2NoZW1hVmFsUHRyKQorCisgICAgIGQgeG1sU2NoZW1hR2V0VmFsVHlwZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFNjaGVtYUdldFZhbFR5cGUnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sU2NoZW1hVmFsVHlwZSkKKyAgICAgZCAgdmFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFNjaGVtYVZhbFB0cikKKworICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTUxfU0NIRU1BU19FTkJMRAorICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfU0NIRU1BX1RZUEVTX0hfXwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9vczQwMC9saWJ4bWxycGcveG1sc3RkYXJnLnJwZ2xlIGIvbGlieG1sMi9vczQwMC9saWJ4bWxycGcveG1sc3RkYXJnLnJwZ2xlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRlNmYxMjEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL29zNDAwL2xpYnhtbHJwZy94bWxzdGRhcmcucnBnbGUKQEAgLTAsMCArMSwzNCBAQAorICAgICAgKiBTdW1tYXJ5OiB2YV9saXN0IHN1cHBvcnQgZm9yIElMRS9SUEcuCisgICAgICAqCisgICAgICAqIENvcHk6IFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyAgICAgICoKKyAgICAgICogQXV0aG9yOiBQYXRyaWNrIE1vbm5lcmF0IDxwbUBkYXRhc3BoZXJlLmNoPiwgREFUQVNQSEVSRSBTLkEuCisKKyAgICAgIC9pZiBub3QgZGVmaW5lZChYTUxfU1REQVJHX0hfXykKKyAgICAgIC9kZWZpbmUgWE1MX1NUREFSR19IX18KKworICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWx2ZXJzaW9uIgorCisgICAgICAqIFRoZSB2YV9saXN0IG9iamVjdC4KKworICAgICBkIHhtbFZhTGlzdCAgICAgICBkcyAgICAgICAgICAgICAgICAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24gcXVhbGlmaWVkCisgICAgIGQgIGN1cnJlbnQgICAgICAgICAgICAgICAgICAgICAgICAqCisgICAgIGQgIG5leHQgICAgICAgICAgICAgICAgICAgICAgICAgICAqCisKKyAgICAgICogUHJvY2VkdXJlcy4KKworICAgICBkIHhtbFZhU3RhcnQgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ19feG1sVmFTdGFydCcpCisgICAgIGQgIGxpc3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxWYUxpc3QpCisgICAgIGQgIGxhc3RhcmdhZGRyICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUKKyAgICAgZCAgbGFzdGFyZ3NpemUgICAgICAgICAgICAgICAgICAxMHUgMCB2YWx1ZQorCisgICAgIGQgeG1sVmFBcmcgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygnX194bWxWYUFyZycpCisgICAgIGQgIGxpc3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxWYUxpc3QpCisgICAgIGQgIGRlc3QgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUKKyAgICAgZCAgYXJnc2l6ZSAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sVmFFbmQgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygnX194bWxWYUVuZCcpCisgICAgIGQgIGxpc3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxWYUxpc3QpCisKKyAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWE1MX1NUREFSR19IX18KZGlmZiAtLWdpdCBhL2xpYnhtbDIvb3M0MDAvbGlieG1scnBnL3htbHN0cmluZy5ycGdsZSBiL2xpYnhtbDIvb3M0MDAvbGlieG1scnBnL3htbHN0cmluZy5ycGdsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MWU5ZWI1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9vczQwMC9saWJ4bWxycGcveG1sc3RyaW5nLnJwZ2xlCkBAIC0wLDAgKzEsMTYyIEBACisgICAgICAqIFN1bW1hcnk6IHNldCBvZiByb3V0aW5lcyB0byBwcm9jZXNzIHN0cmluZ3MKKyAgICAgICogRGVzY3JpcHRpb246IHR5cGUgYW5kIGludGVyZmFjZXMgbmVlZGVkIGZvciB0aGUgaW50ZXJuYWwgc3RyaW5nCisgICAgICAqICAgICAgICAgICAgICBoYW5kbGluZyBvZiB0aGUgbGlicmFyeSwgZXNwZWNpYWxseSBVVEY4IHByb2Nlc3NpbmcuCisgICAgICAqCisgICAgICAqIENvcHk6IFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyAgICAgICoKKyAgICAgICogQXV0aG9yOiBQYXRyaWNrIE1vbm5lcmF0IDxwbUBkYXRhc3BoZXJlLmNoPiwgREFUQVNQSEVSRSBTLkEuCisKKyAgICAgIC9pZiBub3QgZGVmaW5lZChYTUxfU1RSSU5HX0hfXykKKyAgICAgIC9kZWZpbmUgWE1MX1NUUklOR19IX18KKworICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWx2ZXJzaW9uIgorICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWxzdGRhcmciCisKKyAgICAgICogeG1sQ2hhcjoKKyAgICAgICoKKyAgICAgICogVGhpcyBpcyBhIGJhc2ljIGJ5dGUgaW4gYW4gVVRGLTggZW5jb2RlZCBzdHJpbmcuCisgICAgICAqIEl0J3MgdW5zaWduZWQgYWxsb3dpbmcgdG8gcGlucG9pbnQgY2FzZSB3aGVyZSBjaGFyICogYXJlIGFzc2lnbmVkCisgICAgICAqIHRvIHhtbENoYXIgKiAocG9zc2libHkgbWFraW5nIHNlcmlhbGl6YXRpb24gYmFjayBpbXBvc3NpYmxlKS4KKworICAgICBkIHhtbENoYXIgICAgICAgICBzICAgICAgICAgICAgICAzdSAwIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisKKyAgICAgICogeG1sQ2hhciBoYW5kbGluZworCisgICAgIGQgeG1sU3RyZHVwICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sU3RyZHVwJykgICAgICAgICAgICAgICAgIHhtbENoYXIgKgorICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICBkIHhtbFN0cm5kdXAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbFN0cm5kdXAnKSAgICAgICAgICAgICAgICB4bWxDaGFyICoKKyAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbENoYXJTdHJuZHVwICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbENoYXJTdHJuZHVwJykgICAgICAgICAgICB4bWxDaGFyICoKKyAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbENoYXJTdHJkdXAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbENoYXJTdHJkdXAnKSAgICAgICAgICAgICB4bWxDaGFyICoKKyAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisKKyAgICAgZCB4bWxTdHJzdWIgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxTdHJzdWInKSAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIHN0ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBzdGFydCAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFN0cmNociAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbFN0cmNocicpICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgc3RyICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIHZhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxDaGFyKQorCisgICAgIGQgeG1sU3Ryc3RyICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sU3Ryc3RyJykgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBzdHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgdmFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgZCB4bWxTdHJjYXNlc3RyICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxTdHJjYXNlc3RyJykgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIHN0ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICBkIHhtbFN0cmNtcCAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFN0cmNtcCcpCisgICAgIGQgIHN0cjEgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBzdHIyICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICBkIHhtbFN0cm5jbXAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFN0cm5jbXAnKQorICAgICBkICBzdHIxICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgc3RyMiAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFN0cmNhc2VjbXAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFN0cmNhc2VjbXAnKQorICAgICBkICBzdHIxICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgc3RyMiAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgZCB4bWxTdHJuY2FzZWNtcCAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxTdHJuY2FzZWNtcCcpCisgICAgIGQgIHN0cjEgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBzdHIyICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sU3RyRXF1YWwgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sU3RyRXF1YWwnKQorICAgICBkICBzdHIxICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgc3RyMiAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgZCB4bWxTdHJRRXF1YWwgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxTdHJRRXF1YWwnKQorICAgICBkICBwcmVmICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIHN0cmUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgIGQgeG1sU3RybGVuICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sU3RybGVuJykKKyAgICAgZCAgc3RyICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgZCB4bWxTdHJjYXQgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxTdHJjYXQnKSAgICAgICAgICAgICAgICAgeG1sQ2hhciAqCisgICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIHhtbENoYXIgKgorICAgICBkICBhZGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICBkIHhtbFN0cm5jYXQgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbFN0cm5jYXQnKSAgICAgICAgICAgICAgICB4bWxDaGFyICoKKyAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgeG1sQ2hhciAqCisgICAgIGQgIGFkZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxTdHJuY2F0TmV3ICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxTdHJuY2F0TmV3JykgICAgICAgICAgICAgeG1sQ2hhciAqCisgICAgIGQgIHN0cjEgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBzdHIyICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgICAqIHhtbFN0clByaW50ZigpIGlzIGEgdmFyYXJnIGZ1bmN0aW9uLgorICAgICAgKiBUaGUgZm9sbG93aW5nIHByb3RvdHlwZSBzdXBwb3J0cyB1cCB0byA4IHBvaW50ZXIgYXJndW1lbnRzLgorICAgICAgKiBPdGhlciBhcmd1bWVudCBzaWduYXR1cmUgY2FuIGJlIGFjaGlldmVkIGJ5IGRlZmluaW5nIGFsdGVybmF0ZQorICAgICAgKiAgIHByb3RvdHlwZXMgcmVkaXJlY3RlZCB0byB0aGUgc2FtZSBmdW5jdGlvbi4KKworICAgICBkIHhtbFN0clByaW50ZiAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFN0clByaW50ZicpCisgICAgIGQgIGJ1ZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIHhtbENoYXIgKgorICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIG1zZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBhcmcxICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykKKyAgICAgZCAgYXJnMiAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpCisgICAgIGQgIGFyZzMgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKQorICAgICBkICBhcmc0ICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykKKyAgICAgZCAgYXJnNSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpCisgICAgIGQgIGFyZzYgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKQorICAgICBkICBhcmc3ICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykKKyAgICAgZCAgYXJnOCAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpCisKKyAgICAgZCB4bWxTdHJWUHJpbnRmICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxTdHJWUHJpbnRmJykKKyAgICAgZCAgYnVmICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgeG1sQ2hhciAqCisgICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgbXNnICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIGFwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZWRzKHhtbFZhTGlzdCkKKworICAgICBkIHhtbEdldFVURjhDaGFyICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbEdldFVURjhDaGFyJykKKyAgICAgZCAgdXRmICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgdW5zLiBjaGFyICoKKyAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMAorCisgICAgIGQgeG1sQ2hlY2tVVEY4ICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sQ2hlY2tVVEY4JykKKyAgICAgZCAgdXRmICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgdW5zLiBjaGFyICoKKworICAgICBkIHhtbFVURjhTdHJzaXplICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVURjhTdHJzaXplJykKKyAgICAgZCAgdXRmICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFVURjhTdHJuZHVwICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbFVURjhTdHJuZHVwJykgICAgICAgICAgICB4bWxDaGFyICoKKyAgICAgZCAgdXRmICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFVURjhTdHJwb3MgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbFVURjhTdHJwb3MnKSAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgdXRmICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIHBvcyAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFVURjhTdHJsb2MgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVURjhTdHJsb2MnKQorICAgICBkICB1dGYgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgdXRmY2hhciAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgZCB4bWxVVEY4U3Ryc3ViICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxVVEY4U3Ryc3ViJykgICAgICAgICAgICAgeG1sQ2hhciAqCisgICAgIGQgIHV0ZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBzdGFydCAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFVURjhTdHJsZW4gICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVURjhTdHJsZW4nKQorICAgICBkICB1dGYgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICBkIHhtbFVURjhTaXplICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVURjhTaXplJykKKyAgICAgZCAgdXRmICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgZCB4bWxVVEY4Q2hhcmNtcCAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVVEY4Q2hhcmNtcCcpCisgICAgIGQgIHV0ZjEgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICB1dGYyICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfU1RSSU5HX0hfXwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9vczQwMC9saWJ4bWxycGcveG1sdW5pY29kZS5ycGdsZSBiL2xpYnhtbDIvb3M0MDAvbGlieG1scnBnL3htbHVuaWNvZGUucnBnbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjRmN2FiZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvb3M0MDAvbGlieG1scnBnL3htbHVuaWNvZGUucnBnbGUKQEAgLTAsMCArMSw2NjggQEAKKyAgICAgICogU3VtbWFyeTogVW5pY29kZSBjaGFyYWN0ZXIgQVBJcworICAgICAgKiBEZXNjcmlwdGlvbjogQVBJIGZvciB0aGUgVW5pY29kZSBjaGFyYWN0ZXIgQVBJcworICAgICAgKgorICAgICAgKiBDb3B5OiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisgICAgICAqCisgICAgICAqIEF1dGhvcjogUGF0cmljayBNb25uZXJhdCA8cG1AZGF0YXNwaGVyZS5jaD4sIERBVEFTUEhFUkUgUy5BLgorCisgICAgICAvaWYgbm90IGRlZmluZWQoWE1MX1VOSUNPREVfSF9fKQorICAgICAgL2RlZmluZSBYTUxfVU5JQ09ERV9IX18KKworICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWx2ZXJzaW9uIgorCisgICAgICAvaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorCisgICAgIGQgeG1sVUNTSXNBZWdlYW5OdW1iZXJzLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNBZWdlYW5OdW1iZXJzJykKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sVUNTSXNBbHBoYWJldGljUHJlc2VudGF0aW9uRm9ybXMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxVQ1NJc0FscGhhYmV0aWNQcmVzZW50YXRpb25Gb3JtcycKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFVDU0lzQXJhYmljICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzQXJhYmljJykKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sVUNTSXNBcmFiaWNQcmVzZW50YXRpb25Gb3Jtc0EuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxVQ1NJc0FyYWJpY1ByZXNlbnRhdGlvbkZvcm1zQScpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFVDU0lzQXJhYmljUHJlc2VudGF0aW9uRm9ybXNCLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVUNTSXNBcmFiaWNQcmVzZW50YXRpb25Gb3Jtc0InKQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxVQ1NJc0FybWVuaWFuLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNBcm1lbmlhbicpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFVDU0lzQXJyb3dzICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzQXJyb3dzJykKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sVUNTSXNCYXNpY0xhdGluLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNCYXNpY0xhdGluJykKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sVUNTSXNCZW5nYWxpLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNCZW5nYWxpJykKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sVUNTSXNCbG9ja0VsZW1lbnRzLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNCbG9ja0VsZW1lbnRzJykKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sVUNTSXNCb3BvbW9mby4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzQm9wb21vZm8nKQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxVQ1NJc0JvcG9tb2ZvRXh0ZW5kZWQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0JvcG9tb2ZvRXh0ZW5kZWQnKQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxVQ1NJc0JveERyYXdpbmcuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0JveERyYXdpbmcnKQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxVQ1NJc0JyYWlsbGVQYXR0ZXJucy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzQnJhaWxsZVBhdHRlcm5zJykKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sVUNTSXNCdWhpZCAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNCdWhpZCcpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFVDU0lzQnl6YW50aW5lTXVzaWNhbFN5bWJvbHMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxVQ1NJc0J5emFudGluZU11c2ljYWxTeW1ib2xzJykKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sVUNTSXNDSktDb21wYXRpYmlsaXR5Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNDSktDb21wYXRpYmlsaXR5JykKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sVUNTSXNDSktDb21wYXRpYmlsaXR5Rm9ybXMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHlGb3JtcycpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eUlkZW9ncmFwaHMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHlJZGVvZ3JhcGhzJykKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sVUNTSXNDSktDb21wYXRpYmlsaXR5SWRlb2dyYXBoc1N1cHBsZW1lbnQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHlJZGUtCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2dyYXBoc1N1cHBsZW1lbnQnKQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxVQ1NJc0NKS1JhZGljYWxzU3VwcGxlbWVudC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFVDU0lzQ0pLUmFkaWNhbHNTdXBwbGVtZW50JykKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sVUNTSXNDSktTeW1ib2xzYW5kUHVuY3R1YXRpb24uLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxVQ1NJc0NKS1N5bWJvbHNhbmRQdW5jdHVhdGlvbicpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFVDU0lzQ0pLVW5pZmllZElkZW9ncmFwaHMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxVQ1NJc0NKS1VuaWZpZWRJZGVvZ3JhcGhzJykKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sVUNTSXNDSktVbmlmaWVkSWRlb2dyYXBoc0V4dGVuc2lvbkEuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0NKS1VuaWZpZWRJZGVvZ3JhcGgtCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc0V4dGVuc2lvbkEnKQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxVQ1NJc0NKS1VuaWZpZWRJZGVvZ3JhcGhzRXh0ZW5zaW9uQi4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzQ0pLVW5pZmllZElkZW9ncmFwaC0KKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzRXh0ZW5zaW9uQicpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFVDU0lzQ2hlcm9rZWUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0NoZXJva2VlJykKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sVUNTSXNDb21iaW5pbmdEaWFjcml0aWNhbE1hcmtzLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVUNTSXNDb21iaW5pbmdEaWFjcml0aWNhbE1hcmtzJykKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sVUNTSXNDb21iaW5pbmdEaWFjcml0aWNhbE1hcmtzZm9yU3ltYm9scy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzQ29tYmluaW5nRGlhY3JpdGljYS0KKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsTWFya3Nmb3JTeW1ib2xzJykKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sVUNTSXNDb21iaW5pbmdIYWxmTWFya3MuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0NvbWJpbmluZ0hhbGZNYXJrcycpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFVDU0lzQ29tYmluaW5nTWFya3Nmb3JTeW1ib2xzLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVUNTSXNDb21iaW5pbmdNYXJrc2ZvclN5bWJvbHMnKQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxVQ1NJc0NvbnRyb2xQaWN0dXJlcy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzQ29udHJvbFBpY3R1cmVzJykKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sVUNTSXNDdXJyZW5jeVN5bWJvbHMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0N1cnJlbmN5U3ltYm9scycpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFVDU0lzQ3lwcmlvdFN5bGxhYmFyeS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzQ3lwcmlvdFN5bGxhYmFyeScpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFVDU0lzQ3lyaWxsaWMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0N5cmlsbGljJykKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sVUNTSXNDeXJpbGxpY1N1cHBsZW1lbnQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0N5cmlsbGljU3VwcGxlbWVudCcpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFVDU0lzRGVzZXJldC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzRGVzZXJldCcpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFVDU0lzRGV2YW5hZ2FyaS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzRGV2YW5hZ2FyaScpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFVDU0lzRGluZ2JhdHMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0RpbmdiYXRzJykKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sVUNTSXNFbmNsb3NlZEFscGhhbnVtZXJpY3MuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxVQ1NJc0VuY2xvc2VkQWxwaGFudW1lcmljcycpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFVDU0lzRW5jbG9zZWRDSktMZXR0ZXJzYW5kTW9udGhzLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVUNTSXNFbmNsb3NlZENKS0xldHRlcnNhbmRNb250aHMnCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxVQ1NJc0V0aGlvcGljLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNFdGhpb3BpYycpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFVDU0lzR2VuZXJhbFB1bmN0dWF0aW9uLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNHZW5lcmFsUHVuY3R1YXRpb24nKQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxVQ1NJc0dlb21ldHJpY1NoYXBlcy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzR2VvbWV0cmljU2hhcGVzJykKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sVUNTSXNHZW9yZ2lhbi4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzR2VvcmdpYW4nKQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxVQ1NJc0dvdGhpYyAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0dvdGhpYycpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFVDU0lzR3JlZWsgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzR3JlZWsnKQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxVQ1NJc0dyZWVrRXh0ZW5kZWQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0dyZWVrRXh0ZW5kZWQnKQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxVQ1NJc0dyZWVrYW5kQ29wdGljLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNHcmVla2FuZENvcHRpYycpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFVDU0lzR3VqYXJhdGkuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0d1amFyYXRpJykKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sVUNTSXNHdXJtdWtoaS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzR3VybXVraGknKQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxVQ1NJc0hhbGZ3aWR0aGFuZEZ1bGx3aWR0aEZvcm1zLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVUNTSXNIYWxmd2lkdGhhbmRGdWxsd2lkdGhGb3JtcycpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFVDU0lzSGFuZ3VsQ29tcGF0aWJpbGl0eUphbW8uLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxVQ1NJc0hhbmd1bENvbXBhdGliaWxpdHlKYW1vJykKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sVUNTSXNIYW5ndWxKYW1vLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNIYW5ndWxKYW1vJykKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sVUNTSXNIYW5ndWxTeWxsYWJsZXMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0hhbmd1bFN5bGxhYmxlcycpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFVDU0lzSGFudW5vby4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzSGFudW5vbycpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFVDU0lzSGVicmV3ICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzSGVicmV3JykKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sVUNTSXNIaWdoUHJpdmF0ZVVzZVN1cnJvZ2F0ZXMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxVQ1NJc0hpZ2hQcml2YXRlVXNlU3Vycm9nYXRlcycpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFVDU0lzSGlnaFN1cnJvZ2F0ZXMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0hpZ2hTdXJyb2dhdGVzJykKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sVUNTSXNIaXJhZ2FuYS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzSGlyYWdhbmEnKQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxVQ1NJc0lQQUV4dGVuc2lvbnMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0lQQUV4dGVuc2lvbnMnKQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxVQ1NJc0lkZW9ncmFwaGljRGVzY3JpcHRpb25DaGFyYWN0ZXJzLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNJZGVvZ3JhcGhpY0Rlc2NyaXB0LQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlvbkNoYXJhY3RlcnMnKQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxVQ1NJc0thbmJ1biAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0thbmJ1bicpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFVDU0lzS2FuZ3hpUmFkaWNhbHMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0thbmd4aVJhZGljYWxzJykKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sVUNTSXNLYW5uYWRhLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNLYW5uYWRhJykKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sVUNTSXNLYXRha2FuYS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzS2F0YWthbmEnKQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxVQ1NJc0thdGFrYW5hUGhvbmV0aWNFeHRlbnNpb25zLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVUNTSXNLYXRha2FuYVBob25ldGljRXh0ZW5zaW9ucycpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFVDU0lzS2htZXIgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzS2htZXInKQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxVQ1NJc0tobWVyU3ltYm9scy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzS2htZXJTeW1ib2xzJykKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sVUNTSXNMYW8gICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNMYW8nKQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxVQ1NJc0xhdGluMVN1cHBsZW1lbnQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0xhdGluMVN1cHBsZW1lbnQnKQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxVQ1NJc0xhdGluRXh0ZW5kZWRBLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNMYXRpbkV4dGVuZGVkQScpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFVDU0lzTGF0aW5FeHRlbmRlZEIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0xhdGluRXh0ZW5kZWRCJykKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sVUNTSXNMYXRpbkV4dGVuZGVkQWRkaXRpb25hbC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFVDU0lzTGF0aW5FeHRlbmRlZEFkZGl0aW9uYWwnKQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxVQ1NJc0xldHRlcmxpa2VTeW1ib2xzLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNMZXR0ZXJsaWtlU3ltYm9scycpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFVDU0lzTGltYnUgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzTGltYnUnKQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxVQ1NJc0xpbmVhckJJZGVvZ3JhbXMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0xpbmVhckJJZGVvZ3JhbXMnKQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxVQ1NJc0xpbmVhckJTeWxsYWJhcnkuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0xpbmVhckJTeWxsYWJhcnknKQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxVQ1NJc0xvd1N1cnJvZ2F0ZXMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0xvd1N1cnJvZ2F0ZXMnKQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxVQ1NJc01hbGF5YWxhbS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzTWFsYXlhbGFtJykKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sVUNTSXNNYXRoZW1hdGljYWxBbHBoYW51bWVyaWNTeW1ib2xzLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNNYXRoZW1hdGljYWxBbHBoYW51LQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lcmljU3ltYm9scycpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFVDU0lzTWF0aGVtYXRpY2FsT3BlcmF0b3JzLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVUNTSXNNYXRoZW1hdGljYWxPcGVyYXRvcnMnKQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxVQ1NJc01pc2NlbGxhbmVvdXNNYXRoZW1hdGljYWxTeW1ib2xzQS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzTWlzY2VsbGFuZW91c01hdGhlbS0KKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdGljYWxTeW1ib2xzQScpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFVDU0lzTWlzY2VsbGFuZW91c01hdGhlbWF0aWNhbFN5bWJvbHNCLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNNaXNjZWxsYW5lb3VzTWF0aGVtLQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0aWNhbFN5bWJvbHNCJykKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sVUNTSXNNaXNjZWxsYW5lb3VzU3ltYm9scy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFVDU0lzTWlzY2VsbGFuZW91c1N5bWJvbHMnKQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxVQ1NJc01pc2NlbGxhbmVvdXNTeW1ib2xzYW5kQXJyb3dzLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNNaXNjZWxsYW5lb3VzU3ltYm9sLQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhbmRBcnJvd3MnKQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxVQ1NJc01pc2NlbGxhbmVvdXNUZWNobmljYWwuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxVQ1NJc01pc2NlbGxhbmVvdXNUZWNobmljYWwnKQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxVQ1NJc01vbmdvbGlhbi4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzTW9uZ29saWFuJykKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sVUNTSXNNdXNpY2FsU3ltYm9scy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzTXVzaWNhbFN5bWJvbHMnKQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxVQ1NJc015YW5tYXIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc015YW5tYXInKQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxVQ1NJc051bWJlckZvcm1zLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNOdW1iZXJGb3JtcycpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFVDU0lzT2doYW0gICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzT2doYW0nKQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxVQ1NJc09sZEl0YWxpYy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzT2xkSXRhbGljJykKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sVUNTSXNPcHRpY2FsQ2hhcmFjdGVyUmVjb2duaXRpb24uLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxVQ1NJc09wdGljYWxDaGFyYWN0ZXJSZWNvZ25pdGlvbicKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFVDU0lzT3JpeWEgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzT3JpeWEnKQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxVQ1NJc09zbWFueWEuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc09zbWFueWEnKQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxVQ1NJc1Bob25ldGljRXh0ZW5zaW9ucy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzUGhvbmV0aWNFeHRlbnNpb25zJykKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sVUNTSXNQcml2YXRlVXNlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNQcml2YXRlVXNlJykKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sVUNTSXNQcml2YXRlVXNlQXJlYS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzUHJpdmF0ZVVzZUFyZWEnKQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxVQ1NJc1J1bmljICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc1J1bmljJykKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sVUNTSXNTaGF2aWFuLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNTaGF2aWFuJykKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sVUNTSXNTaW5oYWxhLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNTaW5oYWxhJykKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sVUNTSXNTbWFsbEZvcm1WYXJpYW50cy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzU21hbGxGb3JtVmFyaWFudHMnKQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxVQ1NJc1NwYWNpbmdNb2RpZmllckxldHRlcnMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxVQ1NJc1NwYWNpbmdNb2RpZmllckxldHRlcnMnKQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxVQ1NJc1NwZWNpYWxzLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNTcGVjaWFscycpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFVDU0lzU3VwZXJzY3JpcHRzYW5kU3Vic2NyaXB0cy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFVDU0lzU3VwZXJzY3JpcHRzYW5kU3Vic2NyaXB0cycpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFVDU0lzU3VwcGxlbWVudGFsQXJyb3dzQS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFVDU0lzU3VwcGxlbWVudGFsQXJyb3dzQScpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFVDU0lzU3VwcGxlbWVudGFsQXJyb3dzQi4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFVDU0lzU3VwcGxlbWVudGFsQXJyb3dzQicpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFVDU0lzU3VwcGxlbWVudGFsTWF0aGVtYXRpY2FsT3BlcmF0b3JzLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNTdXBwbGVtZW50YWxNYXRoZW1hLQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpY2FsT3BlcmF0b3JzJykKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sVUNTSXNTdXBwbGVtZW50YXJ5UHJpdmF0ZVVzZUFyZWFBLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNTdXBwbGVtZW50YXJ5UHJpdmF0LQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVVc2VBcmVhQScpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFVDU0lzU3VwcGxlbWVudGFyeVByaXZhdGVVc2VBcmVhQi4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzU3VwcGxlbWVudGFyeVByaXZhdC0KKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlVXNlQXJlYUInKQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxVQ1NJc1N5cmlhYyAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc1N5cmlhYycpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFVDU0lzVGFnYWxvZy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzVGFnYWxvZycpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFVDU0lzVGFnYmFud2EuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc1RhZ2JhbndhJykKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sVUNTSXNUYWdzICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNUYWdzJykKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sVUNTSXNUYWlMZSAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNUYWlMZScpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFVDU0lzVGFpWHVhbkppbmdTeW1ib2xzLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNUYWlYdWFuSmluZ1N5bWJvbHMnKQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxVQ1NJc1RhbWlsICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc1RhbWlsJykKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sVUNTSXNUZWx1Z3UgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNUZWx1Z3UnKQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxVQ1NJc1RoYWFuYSAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc1RoYWFuYScpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFVDU0lzVGhhaSAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzVGhhaScpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFVDU0lzVGliZXRhbi4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzVGliZXRhbicpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFVDU0lzVWdhcml0aWMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc1VnYXJpdGljJykKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sVUNTSXNVbmlmaWVkQ2FuYWRpYW5BYm9yaWdpbmFsU3lsbGFiaWNzLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNVbmlmaWVkQ2FuYWRpYW5BYm9yLQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlnaW5hbFN5bGxhYmljcycpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFVDU0lzVmFyaWF0aW9uU2VsZWN0b3JzLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNWYXJpYXRpb25TZWxlY3RvcnMnKQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxVQ1NJc1ZhcmlhdGlvblNlbGVjdG9yc1N1cHBsZW1lbnQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc1ZhcmlhdGlvblNlbGVjdG9yc1MtCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBwbGVtZW50JykKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sVUNTSXNZaVJhZGljYWxzLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNZaVJhZGljYWxzJykKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sVUNTSXNZaVN5bGxhYmxlcy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzWWlTeWxsYWJsZXMnKQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxVQ1NJc1lpamluZ0hleGFncmFtU3ltYm9scy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFVDU0lzWWlqaW5nSGV4YWdyYW1TeW1ib2xzJykKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sVUNTSXNCbG9jayAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNCbG9jaycpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgYmxvY2sgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisKKyAgICAgZCB4bWxVQ1NJc0NhdEMgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0NhdEMnKQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxVQ1NJc0NhdENjICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0NhdENjJykKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sVUNTSXNDYXRDZiAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNDYXRDZicpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFVDU0lzQ2F0Q28gICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzQ2F0Q28nKQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxVQ1NJc0NhdENzICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0NhdENzJykKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sVUNTSXNDYXRMICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNDYXRMJykKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sVUNTSXNDYXRMbCAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNDYXRMbCcpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFVDU0lzQ2F0TG0gICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzQ2F0TG0nKQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxVQ1NJc0NhdExvICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0NhdExvJykKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sVUNTSXNDYXRMdCAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNDYXRMdCcpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFVDU0lzQ2F0THUgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzQ2F0THUnKQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxVQ1NJc0NhdE0gICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0NhdE0nKQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxVQ1NJc0NhdE1jICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0NhdE1jJykKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sVUNTSXNDYXRNZSAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNDYXRNZScpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFVDU0lzQ2F0TW4gICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzQ2F0TW4nKQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxVQ1NJc0NhdE4gICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0NhdE4nKQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxVQ1NJc0NhdE5kICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0NhdE5kJykKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sVUNTSXNDYXRObCAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNDYXRObCcpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFVDU0lzQ2F0Tm8gICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzQ2F0Tm8nKQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxVQ1NJc0NhdFAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0NhdFAnKQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxVQ1NJc0NhdFBjICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0NhdFBjJykKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sVUNTSXNDYXRQZCAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNDYXRQZCcpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFVDU0lzQ2F0UGUgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzQ2F0UGUnKQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxVQ1NJc0NhdFBmICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0NhdFBmJykKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sVUNTSXNDYXRQaSAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNDYXRQaScpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFVDU0lzQ2F0UG8gICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzQ2F0UG8nKQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxVQ1NJc0NhdFBzICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0NhdFBzJykKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sVUNTSXNDYXRTICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNDYXRTJykKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sVUNTSXNDYXRTYyAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNDYXRTYycpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFVDU0lzQ2F0U2sgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzQ2F0U2snKQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxVQ1NJc0NhdFNtICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0NhdFNtJykKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sVUNTSXNDYXRTbyAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNDYXRTbycpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFVDU0lzQ2F0WiAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzQ2F0WicpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFVDU0lzQ2F0WmwgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzQ2F0WmwnKQorICAgICBkICBjb2RlICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxVQ1NJc0NhdFpwICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxVQ1NJc0NhdFpwJykKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sVUNTSXNDYXRacyAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVUNTSXNDYXRacycpCisgICAgIGQgIGNvZGUgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFVDU0lzQ2F0ICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFVDU0lzQ2F0JykKKyAgICAgZCAgY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBjYXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKworICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTUxfVU5JQ09ERV9FTkJMRAorICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfVU5JQ09ERV9IX18KZGlmZiAtLWdpdCBhL2xpYnhtbDIvb3M0MDAvbGlieG1scnBnL3htbHZlcnNpb24ucnBnbGUuaW4gYi9saWJ4bWwyL29zNDAwL2xpYnhtbHJwZy94bWx2ZXJzaW9uLnJwZ2xlLmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgxNjc2YmUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL29zNDAwL2xpYnhtbHJwZy94bWx2ZXJzaW9uLnJwZ2xlLmluCkBAIC0wLDAgKzEsMzUyIEBACisgICAgICAqIFN1bW1hcnk6IGNvbXBpbGUtdGltZSB2ZXJzaW9uIGluZm9ybWF0aW9ucworICAgICAgKiBEZXNjcmlwdGlvbjogY29tcGlsZS10aW1lIHZlcnNpb24gaW5mb3JtYXRpb25zIGZvciB0aGUgWE1MIGxpYnJhcnkKKyAgICAgICoKKyAgICAgICogQ29weTogU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgorICAgICAgKgorICAgICAgKiBBdXRob3I6IFBhdHJpY2sgTW9ubmVyYXQgPHBtQGRhdGFzcGhlcmUuY2g+LCBEQVRBU1BIRVJFIFMuQS4KKworICAgICAgL2lmIG5vdCBkZWZpbmVkKFhNTF9WRVJTSU9OX0hfXykKKyAgICAgIC9kZWZpbmUgWE1MX1ZFUlNJT05fSF9fCisKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sZXhwb3J0cyIKKworICAgICAgKiB1c2UgdGhvc2UgdG8gYmUgc3VyZSBub3RoaW5nIG5hc3R5IHdpbGwgaGFwcGVuIGlmCisgICAgICAqIHlvdXIgbGlicmFyeSBhbmQgaW5jbHVkZXMgbWlzbWF0Y2gKKworCisgICAgIGQgeG1sQ2hlY2tWZXJzaW9uLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sQ2hlY2tWZXJzaW9uJykKKyAgICAgZCAgdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgICAqIExJQlhNTF9ET1RURURfVkVSU0lPTjoKKyAgICAgICoKKyAgICAgICogdGhlIHZlcnNpb24gc3RyaW5nIGxpa2UgIjEuMi4zIgorCisgICAgIGQgTElCWE1MX0RPVFRFRF9WRVJTSU9OLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgJ0BWRVJTSU9OQCcKKworICAgICAgKiBMSUJYTUxfVkVSU0lPTjoKKyAgICAgICoKKyAgICAgICogdGhlIHZlcnNpb24gbnVtYmVyOiAxLjIuMyB2YWx1ZSBpcyAxMDIwMworCisgICAgIGQgTElCWE1MX1ZFUlNJT04gIGMgICAgICAgICAgICAgICAgICAgQExJQlhNTF9WRVJTSU9OX05VTUJFUkAKKworICAgICAgKiBMSUJYTUxfVkVSU0lPTl9TVFJJTkc6CisgICAgICAqCisgICAgICAqIHRoZSB2ZXJzaW9uIG51bWJlciBzdHJpbmcsIDEuMi4zIHZhbHVlIGlzICIxMDIwMyIKKworICAgICBkIExJQlhNTF9WRVJTSU9OX1NUUklORy4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgICdATElCWE1MX1ZFUlNJT05fTlVNQkVSQCcKKworICAgICAgKiBMSUJYTUxfVkVSU0lPTl9FWFRSQToKKyAgICAgICoKKyAgICAgICogZXh0cmEgdmVyc2lvbiBpbmZvcm1hdGlvbiwgdXNlZCB0byBzaG93IGEgQ1ZTIGNvbXBpbGF0aW9uCisKKyAgICAgZCBMSUJYTUxfVkVSU0lPTl9FWFRSQS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgICdATElCWE1MX1ZFUlNJT05fRVhUUkFAJworCisgICAgICAqIEZvciBjb25kaXRpb25hbCBjb21waWxhdGlvbgorICAgICAgL2RlZmluZSAgIERFRklORURfMQorICAgICAgL3VuZGVmaW5lIERFRklORURfMAorCisgICAgICAvaWYgZGVmaW5lZChERUZJTkVEX0BXSVRIX1RSSU9AKQorICAgICAgKiBXSVRIX1RSSU86CisgICAgICAqCisgICAgICAqIGRlZmluZWQgaWYgdGhlIHRyaW8gc3VwcG9ydCBuZWVkIHRvIGJlIGNvbmZpZ3VyZWQgaW4KKworICAgICAgL2RlZmluZSBXSVRIX1RSSU8KKyAgICAgIC9lbHNlCisgICAgICAqIFdJVEhPVVRfVFJJTzoKKyAgICAgICoKKyAgICAgICogZGVmaW5lZCBpZiB0aGUgdHJpbyBzdXBwb3J0IHNob3VsZCBub3QgYmUgY29uZmlndXJlZCBpbgorCisgICAgICAvZGVmaW5lIFdJVEhPVVRfVFJJTworICAgICAgL2VuZGlmCisKKyAgICAgICogTElCWE1MX1RIUkVBRF9FTkFCTEVEOgorICAgICAgKgorICAgICAgKiBXaGV0aGVyIHRoZSB0aHJlYWQgc3VwcG9ydCBpcyBjb25maWd1cmVkIGluCisKKyAgICAgIC9pZiBkZWZpbmVkKERFRklORURfQFdJVEhfVEhSRUFEU0ApCisgICAgICAvZGVmaW5lIExJQlhNTF9USFJFQURfRU5BQkxFRAorICAgICAgL2VuZGlmCisKKyAgICAgICogTElCWE1MX1RIUkVBRF9BTExPQ19FTkFCTEVEOgorICAgICAgKgorICAgICAgKiBXaGV0aGVyIHRoZSBhbGxvY2F0aW9uIGhvb2tzIGFyZSBwZXItdGhyZWFkCisKKyAgICAgIC9pZiBkZWZpbmVkKERFRklORURfQFdJVEhfVEhSRUFEX0FMTE9DQCkKKyAgICAgIC9kZWZpbmUgTElCWE1MX1RIUkVBRF9BTExPQ19FTkFCTEVECisgICAgICAvZW5kaWYKKworICAgICAgKiBMSUJYTUxfVFJFRV9FTkFCTEVEOgorICAgICAgKgorICAgICAgKiBXaGV0aGVyIHRoZSBET00gbGlrZSB0cmVlIG1hbmlwdWxhdGlvbiBBUEkgc3VwcG9ydCBpcyBjb25maWd1cmVkIGluCisKKyAgICAgIC9pZiBkZWZpbmVkKERFRklORURfQFdJVEhfVFJFRUApCisgICAgICAvZGVmaW5lIExJQlhNTF9UUkVFX0VOQUJMRUQKKyAgICAgIC9lbmRpZgorCisgICAgICAqIExJQlhNTF9PVVRQVVRfRU5BQkxFRDoKKyAgICAgICoKKyAgICAgICogV2hldGhlciB0aGUgc2VyaWFsaXphdGlvbi9zYXZpbmcgc3VwcG9ydCBpcyBjb25maWd1cmVkIGluCisKKyAgICAgIC9pZiBkZWZpbmVkKERFRklORURfQFdJVEhfT1VUUFVUQCkKKyAgICAgIC9kZWZpbmUgTElCWE1MX09VVFBVVF9FTkFCTEVECisgICAgICAvZW5kaWYKKworICAgICAgKiBMSUJYTUxfUFVTSF9FTkFCTEVEOgorICAgICAgKgorICAgICAgKiBXaGV0aGVyIHRoZSBwdXNoIHBhcnNpbmcgaW50ZXJmYWNlcyBhcmUgY29uZmlndXJlZCBpbgorCisgICAgICAvaWYgZGVmaW5lZChERUZJTkVEX0BXSVRIX1BVU0hAKQorICAgICAgL2RlZmluZSBMSUJYTUxfUFVTSF9FTkFCTEVECisgICAgICAvZW5kaWYKKworICAgICAgKiBMSUJYTUxfUkVBREVSX0VOQUJMRUQ6CisgICAgICAqCisgICAgICAqIFdoZXRoZXIgdGhlIHhtbFJlYWRlciBwYXJzaW5nIGludGVyZmFjZSBpcyBjb25maWd1cmVkIGluCisKKyAgICAgIC9pZiBkZWZpbmVkKERFRklORURfQFdJVEhfUkVBREVSQCkKKyAgICAgIC9kZWZpbmUgTElCWE1MX1JFQURFUl9FTkFCTEVECisgICAgICAvZW5kaWYKKworICAgICAgKiBMSUJYTUxfUEFUVEVSTl9FTkFCTEVEOgorICAgICAgKgorICAgICAgKiBXaGV0aGVyIHRoZSB4bWxQYXR0ZXJuIG5vZGUgc2VsZWN0aW9uIGludGVyZmFjZSBpcyBjb25maWd1cmVkIGluCisKKyAgICAgIC9pZiBkZWZpbmVkKERFRklORURfQFdJVEhfUEFUVEVSTkApCisgICAgICAvZGVmaW5lIExJQlhNTF9QQVRURVJOX0VOQUJMRUQKKyAgICAgIC9lbmRpZgorCisgICAgICAqIExJQlhNTF9XUklURVJfRU5BQkxFRDoKKyAgICAgICoKKyAgICAgICogV2hldGhlciB0aGUgeG1sV3JpdGVyIHNhdmluZyBpbnRlcmZhY2UgaXMgY29uZmlndXJlZCBpbgorCisgICAgICAvaWYgZGVmaW5lZChERUZJTkVEX0BXSVRIX1dSSVRFUkApCisgICAgICAvZGVmaW5lIExJQlhNTF9XUklURVJfRU5BQkxFRAorICAgICAgL2VuZGlmCisKKyAgICAgICogTElCWE1MX1NBWDFfRU5BQkxFRDoKKyAgICAgICoKKyAgICAgICogV2hldGhlciB0aGUgb2xkZXIgU0FYMSBpbnRlcmZhY2UgaXMgY29uZmlndXJlZCBpbgorCisgICAgICAvaWYgZGVmaW5lZChERUZJTkVEX0BXSVRIX1NBWDFAKQorICAgICAgL2RlZmluZSBMSUJYTUxfU0FYMV9FTkFCTEVECisgICAgICAvZW5kaWYKKworICAgICAgKiBMSUJYTUxfRlRQX0VOQUJMRUQ6CisgICAgICAqCisgICAgICAqIFdoZXRoZXIgdGhlIEZUUCBzdXBwb3J0IGlzIGNvbmZpZ3VyZWQgaW4KKworICAgICAgL2lmIGRlZmluZWQoREVGSU5FRF9AV0lUSF9GVFBAKQorICAgICAgL2RlZmluZSBMSUJYTUxfRlRQX0VOQUJMRUQKKyAgICAgIC9lbmRpZgorCisgICAgICAqIExJQlhNTF9IVFRQX0VOQUJMRUQ6CisgICAgICAqCisgICAgICAqIFdoZXRoZXIgdGhlIEhUVFAgc3VwcG9ydCBpcyBjb25maWd1cmVkIGluCisKKyAgICAgIC9pZiBkZWZpbmVkKERFRklORURfQFdJVEhfSFRUUEApCisgICAgICAvZGVmaW5lIExJQlhNTF9IVFRQX0VOQUJMRUQKKyAgICAgIC9lbmRpZgorCisgICAgICAqIExJQlhNTF9WQUxJRF9FTkFCTEVEOgorICAgICAgKgorICAgICAgKiBXaGV0aGVyIHRoZSBEVEQgdmFsaWRhdGlvbiBzdXBwb3J0IGlzIGNvbmZpZ3VyZWQgaW4KKworICAgICAgL2lmIGRlZmluZWQoREVGSU5FRF9AV0lUSF9WQUxJREApCisgICAgICAvZGVmaW5lIExJQlhNTF9WQUxJRF9FTkFCTEVECisgICAgICAvZW5kaWYKKworICAgICAgKiBMSUJYTUxfSFRNTF9FTkFCTEVEOgorICAgICAgKgorICAgICAgKiBXaGV0aGVyIHRoZSBIVE1MIHN1cHBvcnQgaXMgY29uZmlndXJlZCBpbgorCisgICAgICAvaWYgZGVmaW5lZChERUZJTkVEX0BXSVRIX0hUTUxAKQorICAgICAgL2RlZmluZSBMSUJYTUxfSFRNTF9FTkFCTEVECisgICAgICAvZW5kaWYKKworICAgICAgKiBMSUJYTUxfTEVHQUNZX0VOQUJMRUQ6CisgICAgICAqCisgICAgICAqIFdoZXRoZXIgdGhlIGRlcHJlY2F0ZWQgQVBJcyBhcmUgY29tcGlsZWQgaW4gZm9yIGNvbXBhdGliaWxpdHkKKworICAgICAgL2lmIGRlZmluZWQoREVGSU5FRF9AV0lUSF9MRUdBQ1lAKQorICAgICAgL2RlZmluZSBMSUJYTUxfTEVHQUNZX0VOQUJMRUQKKyAgICAgIC9lbmRpZgorCisgICAgICAqIExJQlhNTF9DMTROX0VOQUJMRUQ6CisgICAgICAqCisgICAgICAqIFdoZXRoZXIgdGhlIENhbm9uaWNhbGl6YXRpb24gc3VwcG9ydCBpcyBjb25maWd1cmVkIGluCisKKyAgICAgIC9pZiBkZWZpbmVkKERFRklORURfQFdJVEhfQzE0TkApCisgICAgICAvZGVmaW5lIExJQlhNTF9DMTROX0VOQUJMRUQKKyAgICAgIC9lbmRpZgorCisgICAgICAqIExJQlhNTF9DQVRBTE9HX0VOQUJMRUQ6CisgICAgICAqCisgICAgICAqIFdoZXRoZXIgdGhlIENhdGFsb2cgc3VwcG9ydCBpcyBjb25maWd1cmVkIGluCisKKyAgICAgIC9pZiBkZWZpbmVkKERFRklORURfQFdJVEhfQ0FUQUxPR0ApCisgICAgICAvZGVmaW5lIExJQlhNTF9DQVRBTE9HX0VOQUJMRUQKKyAgICAgIC9lbmRpZgorCisgICAgICAqIExJQlhNTF9ET0NCX0VOQUJMRUQ6CisgICAgICAqCisgICAgICAqIFdoZXRoZXIgdGhlIFNHTUwgRG9jYm9vayBzdXBwb3J0IGlzIGNvbmZpZ3VyZWQgaW4KKworICAgICAgL2lmIGRlZmluZWQoREVGSU5FRF9AV0lUSF9ET0NCQCkKKyAgICAgIC9kZWZpbmUgTElCWE1MX0RPQ0JfRU5BQkxFRAorICAgICAgL2VuZGlmCisKKyAgICAgICogTElCWE1MX1hQQVRIX0VOQUJMRUQ6CisgICAgICAqCisgICAgICAqIFdoZXRoZXIgWFBhdGggaXMgY29uZmlndXJlZCBpbgorCisgICAgICAvaWYgZGVmaW5lZChERUZJTkVEX0BXSVRIX1hQQVRIQCkKKyAgICAgIC9kZWZpbmUgTElCWE1MX1hQQVRIX0VOQUJMRUQKKyAgICAgIC9lbmRpZgorCisgICAgICAqIExJQlhNTF9YUFRSX0VOQUJMRUQ6CisgICAgICAqCisgICAgICAqIFdoZXRoZXIgWFBvaW50ZXIgaXMgY29uZmlndXJlZCBpbgorCisgICAgICAvaWYgZGVmaW5lZChERUZJTkVEX0BXSVRIX1hQVFJAKQorICAgICAgL2RlZmluZSBMSUJYTUxfWFBUUl9FTkFCTEVECisgICAgICAvZW5kaWYKKworICAgICAgKiBMSUJYTUxfWElOQ0xVREVfRU5BQkxFRDoKKyAgICAgICoKKyAgICAgICogV2hldGhlciBYSW5jbHVkZSBpcyBjb25maWd1cmVkIGluCisKKyAgICAgIC9pZiBkZWZpbmVkKERFRklORURfQFdJVEhfWElOQ0xVREVAKQorICAgICAgL2RlZmluZSBMSUJYTUxfWElOQ0xVREVfRU5BQkxFRAorICAgICAgL2VuZGlmCisKKyAgICAgICogTElCWE1MX0lDT05WX0VOQUJMRUQ6CisgICAgICAqCisgICAgICAqIFdoZXRoZXIgaWNvbnYgc3VwcG9ydCBpcyBhdmFpbGFibGUKKworICAgICAgL2lmIGRlZmluZWQoREVGSU5FRF9AV0lUSF9JQ09OVkApCisgICAgICAvZGVmaW5lIExJQlhNTF9JQ09OVl9FTkFCTEVECisgICAgICAvZW5kaWYKKworICAgICAgKiBMSUJYTUxfSUNVX0VOQUJMRUQ6CisgICAgICAqCisgICAgICAqIFdoZXRoZXIgaWN1IHN1cHBvcnQgaXMgYXZhaWxhYmxlCisKKyAgICAgIC9pZiBkZWZpbmVkKERFRklORURfQFdJVEhfSUNVQCkKKyAgICAgIC9kZWZpbmUgTElCWE1MX0lDVV9FTkFCTEVECisgICAgICAvZW5kaWYKKworICAgICAgKiBMSUJYTUxfSVNPODg1OVhfRU5BQkxFRDoKKyAgICAgICoKKyAgICAgICogV2hldGhlciBJU08tODg1OS0qIHN1cHBvcnQgaXMgbWFkZSBhdmFpbGFibGUgaW4gY2FzZSBpY29udiBpcyBub3QKKworICAgICAgL2lmIGRlZmluZWQoREVGSU5FRF9AV0lUSF9JU084ODU5WEApCisgICAgICAvZGVmaW5lIExJQlhNTF9JU084ODU5WF9FTkFCTEVECisgICAgICAvZW5kaWYKKworICAgICAgKiBMSUJYTUxfREVCVUdfRU5BQkxFRDoKKyAgICAgICoKKyAgICAgICogV2hldGhlciBEZWJ1Z2dpbmcgbW9kdWxlIGlzIGNvbmZpZ3VyZWQgaW4KKworICAgICAgL2lmIGRlZmluZWQoREVGSU5FRF9AV0lUSF9ERUJVR0ApCisgICAgICAvZGVmaW5lIExJQlhNTF9ERUJVR19FTkFCTEVECisgICAgICAvZW5kaWYKKworICAgICAgKiBERUJVR19NRU1PUllfTE9DQVRJT046CisgICAgICAqCisgICAgICAqIFdoZXRoZXIgdGhlIG1lbW9yeSBkZWJ1Z2dpbmcgaXMgY29uZmlndXJlZCBpbgorCisgICAgICAvaWYgZGVmaW5lZChERUZJTkVEX0BXSVRIX01FTV9ERUJVR0ApCisgICAgICAvZGVmaW5lIERFQlVHX01FTU9SWV9MT0NBVElPTgorICAgICAgL2VuZGlmCisKKyAgICAgICogTElCWE1MX0RFQlVHX1JVTlRJTUU6CisgICAgICAqCisgICAgICAqIFdoZXRoZXIgdGhlIHJ1bnRpbWUgZGVidWdnaW5nIGlzIGNvbmZpZ3VyZWQgaW4KKworICAgICAgL2lmIGRlZmluZWQoREVGSU5FRF9AV0lUSF9SVU5fREVCVUdAKQorICAgICAgL2RlZmluZSBMSUJYTUxfREVCVUdfUlVOVElNRQorICAgICAgL2VuZGlmCisKKyAgICAgICogTElCWE1MX1VOSUNPREVfRU5BQkxFRDoKKyAgICAgICoKKyAgICAgICogV2hldGhlciB0aGUgVW5pY29kZSByZWxhdGVkIGludGVyZmFjZXMgYXJlIGNvbXBpbGVkIGluCisKKyAgICAgIC9pZiBkZWZpbmVkKERFRklORURfQFdJVEhfUkVHRVhQU0ApCisgICAgICAvZGVmaW5lIExJQlhNTF9VTklDT0RFX0VOQUJMRUQKKyAgICAgIC9lbmRpZgorCisgICAgICAqIExJQlhNTF9SRUdFWFBfRU5BQkxFRDoKKyAgICAgICoKKyAgICAgICogV2hldGhlciB0aGUgcmVndWxhciBleHByZXNzaW9ucyBpbnRlcmZhY2VzIGFyZSBjb21waWxlZCBpbgorCisgICAgICAvaWYgZGVmaW5lZChERUZJTkVEX0BXSVRIX1JFR0VYUFNAKQorICAgICAgL2RlZmluZSBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKKyAgICAgIC9lbmRpZgorCisgICAgICAqIExJQlhNTF9BVVRPTUFUQV9FTkFCTEVEOgorICAgICAgKgorICAgICAgKiBXaGV0aGVyIHRoZSBhdXRvbWF0YSBpbnRlcmZhY2VzIGFyZSBjb21waWxlZCBpbgorCisgICAgICAvaWYgZGVmaW5lZChERUZJTkVEX0BXSVRIX1JFR0VYUFNAKQorICAgICAgL2RlZmluZSBMSUJYTUxfQVVUT01BVEFfRU5BQkxFRAorICAgICAgL2VuZGlmCisKKyAgICAgICogTElCWE1MX0VYUFJfRU5BQkxFRDoKKyAgICAgICoKKyAgICAgICogV2hldGhlciB0aGUgZm9ybWFsIGV4cHJlc3Npb25zIGludGVyZmFjZXMgYXJlIGNvbXBpbGVkIGluCisKKyAgICAgIC9pZiBkZWZpbmVkKERFRklORURfQFdJVEhfU0NIRU1BU0ApCisgICAgICAvZGVmaW5lIExJQlhNTF9FWFBSX0VOQUJMRUQKKyAgICAgIC9lbmRpZgorCisgICAgICAqIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQ6CisgICAgICAqCisgICAgICAqIFdoZXRoZXIgdGhlIFNjaGVtYXMgdmFsaWRhdGlvbiBpbnRlcmZhY2VzIGFyZSBjb21waWxlZCBpbgorCisgICAgICAvaWYgZGVmaW5lZChERUZJTkVEX0BXSVRIX1NDSEVNQVNAKQorICAgICAgL2RlZmluZSBMSUJYTUxfU0NIRU1BU19FTkFCTEVECisgICAgICAvZW5kaWYKKworICAgICAgKiBMSUJYTUxfU0NIRU1BVFJPTl9FTkFCTEVEOgorICAgICAgKgorICAgICAgKiBXaGV0aGVyIHRoZSBTY2hlbWF0cm9uIHZhbGlkYXRpb24gaW50ZXJmYWNlcyBhcmUgY29tcGlsZWQgaW4KKworICAgICAgL2lmIGRlZmluZWQoREVGSU5FRF9AV0lUSF9TQ0hFTUFUUk9OQCkKKyAgICAgIC9kZWZpbmUgTElCWE1MX1NDSEVNQVRST05fRU5BQkxFRAorICAgICAgL2VuZGlmCisKKyAgICAgICogTElCWE1MX01PRFVMRVNfRU5BQkxFRDoKKyAgICAgICoKKyAgICAgICogV2hldGhlciB0aGUgbW9kdWxlIGludGVyZmFjZXMgYXJlIGNvbXBpbGVkIGluCisKKyAgICAgIC9pZiBkZWZpbmVkKERFRklORURfQFdJVEhfTU9EVUxFU0ApCisgICAgICAvZGVmaW5lIExJQlhNTF9NT0RVTEVTX0VOQUJMRUQKKworICAgICAgKiBMSUJYTUxfTU9EVUxFX0VYVEVOU0lPTjoKKyAgICAgICoKKyAgICAgICogdGhlIHN0cmluZyBzdWZmaXggdXNlZCBieSBkeW5hbWljIG1vZHVsZXMgKHVzdWFsbHkgc2hhcmVkIGxpYnJhcmllcykKKworICAgICBkIExJQlhNTF9NT0RVTEVfRVhURU5TSU9OLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgJy5TUlZQR00nCisgICAgICAvZW5kaWYKKworICAgICAgKiBMSUJYTUxfWkxJQl9FTkFCTEVEOgorICAgICAgKgorICAgICAgKiBXaGV0aGVyIHRoZSBabGliIHN1cHBvcnQgaXMgY29tcGlsZWQgaW4KKworICAgICAgL2lmIGRlZmluZWQoREVGSU5FRF9AV0lUSF9aTElCQCkKKyAgICAgIC9kZWZpbmUgTElCWE1MX1pMSUJfRU5BQkxFRAorICAgICAgL2VuZGlmCisKKyAgICAgICogTElCWE1MX0xaTUFfRU5BQkxFRDoKKyAgICAgICoKKyAgICAgICogV2hldGhlciB0aGUgTHptYSBzdXBwb3J0IGlzIGNvbXBpbGVkIGluCisKKyAgICAgIC9pZiBkZWZpbmVkKERFRklORURfQFdJVEhfTFpNQUApCisgICAgICAvZGVmaW5lIExJQlhNTF9MWk1BX0VOQUJMRUQKKyAgICAgIC9lbmRpZgorICAgICAgL2VuZGlmCmRpZmYgLS1naXQgYS9saWJ4bWwyL29zNDAwL2xpYnhtbHJwZy94bWx3cml0ZXIucnBnbGUgYi9saWJ4bWwyL29zNDAwL2xpYnhtbHJwZy94bWx3cml0ZXIucnBnbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjJkM2QzMAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvb3M0MDAvbGlieG1scnBnL3htbHdyaXRlci5ycGdsZQpAQCAtMCwwICsxLDcyNSBAQAorICAgICAgKiBTdW1tYXJ5OiB0ZXh0IHdyaXRpbmcgQVBJIGZvciBYTUwKKyAgICAgICogRGVzY3JpcHRpb246IHRleHQgd3JpdGluZyBBUEkgZm9yIFhNTAorICAgICAgKgorICAgICAgKiBDb3B5OiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisgICAgICAqCisgICAgICAqIEF1dGhvcjogUGF0cmljayBNb25uZXJhdCA8cG1AZGF0YXNwaGVyZS5jaD4sIERBVEFTUEhFUkUgUy5BLgorCisgICAgICAvaWYgbm90IGRlZmluZWQoWE1MX1hNTFdSSVRFUl9IX18pCisgICAgICAvZGVmaW5lIFhNTF9YTUxXUklURVJfSF9fCisKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sdmVyc2lvbiIKKworICAgICAgL2lmIGRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKQorCisgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbHN0ZGFyZyIKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sSU8iCisgICAgICAvaW5jbHVkZSAibGlieG1scnBnL2xpc3QiCisgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3htbHN0cmluZyIKKworICAgICBkIHhtbFRleHRXcml0ZXJQdHIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorCisgICAgICAqIENvbnN0cnVjdG9ycyAmIERlc3RydWN0b3IKKworICAgICBkIHhtbE5ld1RleHRXcml0ZXIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOZXdUZXh0V3JpdGVyJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCisgICAgIGQgIG91dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxPdXRwdXRCdWZmZXJQdHIpCisKKyAgICAgZCB4bWxOZXdUZXh0V3JpdGVyRmlsZW5hbWUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOZXdUZXh0V3JpdGVyRmlsZW5hbWUnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKKyAgICAgZCAgdXJpICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIGNvbXByZXNzaW9uICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbE5ld1RleHRXcml0ZXJNZW1vcnkuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOZXdUZXh0V3JpdGVyTWVtb3J5JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCisgICAgIGQgIGJ1ZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxCdWZmZXJQdHIpCisgICAgIGQgIGNvbXByZXNzaW9uICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbE5ld1RleHRXcml0ZXJQdXNoUGFyc2VyLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTmV3VGV4dFdyaXRlclB1c2hQYXJzZXInKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFBhcnNlckN0eHRQdHIpCisgICAgIGQgIGNvbXByZXNzaW9uICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbE5ld1RleHRXcml0ZXJEb2MuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxOZXdUZXh0V3JpdGVyRG9jJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCisgICAgIGQgIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxEb2NQdHIpCisgICAgIGQgIGNvbXByZXNzaW9uICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbE5ld1RleHRXcml0ZXJUcmVlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sTmV3VGV4dFdyaXRlclRyZWUnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKKyAgICAgZCAgZG9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbERvY1B0cikKKyAgICAgZCAgbm9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisgICAgIGQgIGNvbXByZXNzaW9uICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbEZyZWVUZXh0V3JpdGVyLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sRnJlZVRleHRXcml0ZXInKQorICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKKworICAgICAgKiBGdW5jdGlvbnMKKworICAgICAgKiBEb2N1bWVudAorCisgICAgIGQgeG1sVGV4dFdyaXRlclN0YXJ0RG9jdW1lbnQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxUZXh0V3JpdGVyU3RhcnREb2N1bWVudCcpCisgICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQorICAgICBkICB2ZXJzaW9uICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgZW5jb2RpbmcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIHN0YW5kYWxvbmUgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorCisgICAgIGQgeG1sVGV4dFdyaXRlckVuZERvY3VtZW50Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVGV4dFdyaXRlckVuZERvY3VtZW50JykKKyAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCisKKyAgICAgICogQ29tbWVudHMKKworICAgICBkIHhtbFRleHRXcml0ZXJTdGFydENvbW1lbnQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxUZXh0V3JpdGVyU3RhcnRDb21tZW50JykKKyAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCisKKyAgICAgZCB4bWxUZXh0V3JpdGVyRW5kQ29tbWVudC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFRleHRXcml0ZXJFbmRDb21tZW50JykKKyAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCisKKyAgICAgZCB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRDb21tZW50Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0Q29tbWVudCcpCisgICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQorICAgICBkICBmb3JtYXQgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgI3ZhcmFyZzEgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCisgICAgIGQgICN2YXJhcmcyICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgorICAgICBkICAjdmFyYXJnMyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKKyAgICAgZCAgI3ZhcmFyZzQgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCisgICAgIGQgICN2YXJhcmc1ICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgorICAgICBkICAjdmFyYXJnNiAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKKyAgICAgZCAgI3ZhcmFyZzcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCisgICAgIGQgICN2YXJhcmc4ICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgorCisgICAgIGQgeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdENvbW1lbnQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0Q29tbWVudCcpCisgICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQorICAgICBkICBmb3JtYXQgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgYXJncHRyICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlZHMoeG1sVmFMaXN0KQorCisgICAgIGQgeG1sVGV4dFdyaXRlcldyaXRlQ29tbWVudC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFRleHRXcml0ZXJXcml0ZUNvbW1lbnQnKQorICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKKyAgICAgZCAgY29udGVudCAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgICogRWxlbWVudHMKKworICAgICBkIHhtbFRleHRXcml0ZXJTdGFydEVsZW1lbnQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxUZXh0V3JpdGVyU3RhcnRFbGVtZW50JykKKyAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCisgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgIGQgeG1sVGV4dFdyaXRlclN0YXJ0RWxlbWVudE5TLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVGV4dFdyaXRlclN0YXJ0RWxlbWVudE5TJykKKyAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCisgICAgIGQgIHByZWZpeCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgbmFtZXNwYWNlVVJJICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgZCB4bWxUZXh0V3JpdGVyRW5kRWxlbWVudC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFRleHRXcml0ZXJFbmRFbGVtZW50JykKKyAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCisKKyAgICAgZCB4bWxUZXh0V3JpdGVyRnVsbEVuZEVsZW1lbnQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxUZXh0V3JpdGVyRnVsbEVuZEVsZW1lbnQnKQorICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKKworICAgICAgKiBFbGVtZW50cyBjb252ZW5pZW5jeSBmdW5jdGlvbnMKKworICAgICBkIHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdEVsZW1lbnQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRFbGVtZW50JykKKyAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCisgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBmb3JtYXQgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgI3ZhcmFyZzEgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCisgICAgIGQgICN2YXJhcmcyICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgorICAgICBkICAjdmFyYXJnMyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKKyAgICAgZCAgI3ZhcmFyZzQgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCisgICAgIGQgICN2YXJhcmc1ICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgorICAgICBkICAjdmFyYXJnNiAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKKyAgICAgZCAgI3ZhcmFyZzcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCisgICAgIGQgICN2YXJhcmc4ICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgorCisgICAgIGQgeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEVsZW1lbnQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RWxlbWVudCcpCisgICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQorICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgZm9ybWF0ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIGFyZ3B0ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZWRzKHhtbFZhTGlzdCkKKworICAgICBkIHhtbFRleHRXcml0ZXJXcml0ZUVsZW1lbnQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxUZXh0V3JpdGVyV3JpdGVFbGVtZW50JykKKyAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCisgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBjb250ZW50ICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICBkIHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdEVsZW1lbnROUy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdEVsZW1lbnROUycpCisgICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQorICAgICBkICBwcmVmaXggICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIG5hbWVzcGFjZVVSSSAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBmb3JtYXQgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgI3ZhcmFyZzEgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCisgICAgIGQgICN2YXJhcmcyICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgorICAgICBkICAjdmFyYXJnMyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKKyAgICAgZCAgI3ZhcmFyZzQgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCisgICAgIGQgICN2YXJhcmc1ICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgorICAgICBkICAjdmFyYXJnNiAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKKyAgICAgZCAgI3ZhcmFyZzcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCisgICAgIGQgICN2YXJhcmc4ICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgorCisgICAgIGQgeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEVsZW1lbnROUy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRFbGVtZW50TlMnKQorICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKKyAgICAgZCAgcHJlZml4ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBuYW1lc3BhY2VVUkkgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgZm9ybWF0ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIGFyZ3B0ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZWRzKHhtbFZhTGlzdCkKKworICAgICBkIHhtbFRleHRXcml0ZXJXcml0ZUVsZW1lbnROUy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRXcml0ZXJXcml0ZUVsZW1lbnROUycpCisgICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQorICAgICBkICBwcmVmaXggICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIG5hbWVzcGFjZVVSSSAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBjb250ZW50ICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICAgKiBUZXh0CisKKyAgICAgZCB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRSYXcuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRSYXcnKQorICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKKyAgICAgZCAgZm9ybWF0ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgICN2YXJhcmcxICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgorICAgICBkICAjdmFyYXJnMiAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKKyAgICAgZCAgI3ZhcmFyZzMgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCisgICAgIGQgICN2YXJhcmc0ICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgorICAgICBkICAjdmFyYXJnNSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKKyAgICAgZCAgI3ZhcmFyZzYgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCisgICAgIGQgICN2YXJhcmc3ICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgorICAgICBkICAjdmFyYXJnOCAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKKworICAgICBkIHhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRSYXcuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0UmF3JykKKyAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCisgICAgIGQgIGZvcm1hdCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBhcmdwdHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2Vkcyh4bWxWYUxpc3QpCisKKyAgICAgZCB4bWxUZXh0V3JpdGVyV3JpdGVSYXdMZW4uLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxUZXh0V3JpdGVyV3JpdGVSYXdMZW4nKQorICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKKyAgICAgZCAgY29udGVudCAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIGxlbiAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFRleHRXcml0ZXJXcml0ZVJhdy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFRleHRXcml0ZXJXcml0ZVJhdycpCisgICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQorICAgICBkICBjb250ZW50ICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICBkIHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdFN0cmluZy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdFN0cmluZycpCisgICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQorICAgICBkICBmb3JtYXQgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgI3ZhcmFyZzEgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCisgICAgIGQgICN2YXJhcmcyICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgorICAgICBkICAjdmFyYXJnMyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKKyAgICAgZCAgI3ZhcmFyZzQgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCisgICAgIGQgICN2YXJhcmc1ICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgorICAgICBkICAjdmFyYXJnNiAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKKyAgICAgZCAgI3ZhcmFyZzcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCisgICAgIGQgICN2YXJhcmc4ICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgorCisgICAgIGQgeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdFN0cmluZy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRTdHJpbmcnKQorICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKKyAgICAgZCAgZm9ybWF0ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIGFyZ3B0ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZWRzKHhtbFZhTGlzdCkKKworICAgICBkIHhtbFRleHRXcml0ZXJXcml0ZVN0cmluZy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFRleHRXcml0ZXJXcml0ZVN0cmluZycpCisgICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQorICAgICBkICBjb250ZW50ICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICBkIHhtbFRleHRXcml0ZXJXcml0ZUJhc2U2NC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFRleHRXcml0ZXJXcml0ZUJhc2U2NCcpCisgICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQorICAgICBkICBkYXRhICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgc3RhcnQgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBsZW4gICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxUZXh0V3JpdGVyV3JpdGVCaW5IZXguLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxUZXh0V3JpdGVyV3JpdGVCaW5IZXgnKQorICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKKyAgICAgZCAgZGF0YSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIHN0YXJ0ICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgbGVuICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgICAqIEF0dHJpYnV0ZXMKKworICAgICBkIHhtbFRleHRXcml0ZXJTdGFydEF0dHJpYnV0ZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRXcml0ZXJTdGFydEF0dHJpYnV0ZScpCisgICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQorICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICBkIHhtbFRleHRXcml0ZXJTdGFydEF0dHJpYnV0ZU5TLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVGV4dFdyaXRlclN0YXJ0QXR0cmlidXRlTlMnKQorICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKKyAgICAgZCAgcHJlZml4ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBuYW1lc3BhY2VVUkkgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICBkIHhtbFRleHRXcml0ZXJFbmRBdHRyaWJ1dGUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxUZXh0V3JpdGVyRW5kQXR0cmlidXRlJykKKyAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCisKKyAgICAgICogQXR0cmlidXRlcyBjb252ZW5pZW5jeSBmdW5jdGlvbnMKKworICAgICBkIHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdEF0dHJpYnV0ZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdEF0dHJpYnV0ZScpCisgICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQorICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgZm9ybWF0ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgICN2YXJhcmcxICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgorICAgICBkICAjdmFyYXJnMiAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKKyAgICAgZCAgI3ZhcmFyZzMgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCisgICAgIGQgICN2YXJhcmc0ICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgorICAgICBkICAjdmFyYXJnNSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKKyAgICAgZCAgI3ZhcmFyZzYgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCisgICAgIGQgICN2YXJhcmc3ICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgorICAgICBkICAjdmFyYXJnOCAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKKworICAgICBkIHhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRBdHRyaWJ1dGUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0QXR0cmlidXRlJykKKyAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCisgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBmb3JtYXQgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgYXJncHRyICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlZHMoeG1sVmFMaXN0KQorCisgICAgIGQgeG1sVGV4dFdyaXRlcldyaXRlQXR0cmlidXRlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVGV4dFdyaXRlcldyaXRlQXR0cmlidXRlJykKKyAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCisgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBjb250ZW50ICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICBkIHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdEF0dHJpYnV0ZU5TLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0QXR0cmlidXRlTlMnCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQorICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKKyAgICAgZCAgcHJlZml4ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBuYW1lc3BhY2VVUkkgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgZm9ybWF0ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgICN2YXJhcmcxICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgorICAgICBkICAjdmFyYXJnMiAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKKyAgICAgZCAgI3ZhcmFyZzMgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCisgICAgIGQgICN2YXJhcmc0ICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgorICAgICBkICAjdmFyYXJnNSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKKyAgICAgZCAgI3ZhcmFyZzYgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCisgICAgIGQgICN2YXJhcmc3ICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgorICAgICBkICAjdmFyYXJnOCAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKKworICAgICBkIHhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRBdHRyaWJ1dGVOUy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRBdC0KKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmlidXRlTlMnKQorICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKKyAgICAgZCAgcHJlZml4ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBuYW1lc3BhY2VVUkkgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgZm9ybWF0ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIGFyZ3B0ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZWRzKHhtbFZhTGlzdCkKKworICAgICBkIHhtbFRleHRXcml0ZXJXcml0ZUF0dHJpYnV0ZU5TLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVGV4dFdyaXRlcldyaXRlQXR0cmlidXRlTlMnKQorICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKKyAgICAgZCAgcHJlZml4ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBuYW1lc3BhY2VVUkkgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgY29udGVudCAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgICogUEkncworCisgICAgIGQgeG1sVGV4dFdyaXRlclN0YXJ0UEkuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxUZXh0V3JpdGVyU3RhcnRQSScpCisgICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQorICAgICBkICB0YXJnZXQgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICBkIHhtbFRleHRXcml0ZXJFbmRQSS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFRleHRXcml0ZXJFbmRQSScpCisgICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQorCisgICAgICAqIFBJIGNvbnZlbmllbmN5IGZ1bmN0aW9ucworCisgICAgIGQgeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0UEkuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRQSScpCisgICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQorICAgICBkICB0YXJnZXQgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgZm9ybWF0ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgICN2YXJhcmcxICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgorICAgICBkICAjdmFyYXJnMiAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKKyAgICAgZCAgI3ZhcmFyZzMgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCisgICAgIGQgICN2YXJhcmc0ICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgorICAgICBkICAjdmFyYXJnNSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKKyAgICAgZCAgI3ZhcmFyZzYgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCisgICAgIGQgICN2YXJhcmc3ICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgorICAgICBkICAjdmFyYXJnOCAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKKworICAgICBkIHhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRQSS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRQSScpCisgICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQorICAgICBkICB0YXJnZXQgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgZm9ybWF0ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIGFyZ3B0ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZWRzKHhtbFZhTGlzdCkKKworICAgICBkIHhtbFRleHRXcml0ZXJXcml0ZVBJLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVGV4dFdyaXRlcldyaXRlUEknKQorICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKKyAgICAgZCAgdGFyZ2V0ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIGNvbnRlbnQgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgICAqIHhtbFRleHRXcml0ZXJXcml0ZVByb2Nlc3NpbmdJbnN0cnVjdGlvbjoKKyAgICAgICoKKyAgICAgICogVGhpcyBtYWNybyBtYXBzIHRvIHhtbFRleHRXcml0ZXJXcml0ZVBJCisKKyAgICAgZCB4bWxUZXh0V3JpdGVyV3JpdGVQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxUZXh0V3JpdGVyV3JpdGVQSScpCisgICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQorICAgICBkICB0YXJnZXQgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgY29udGVudCAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgICogQ0RBVEEKKworICAgICBkIHhtbFRleHRXcml0ZXJTdGFydENEQVRBLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVGV4dFdyaXRlclN0YXJ0Q0RBVEEnKQorICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKKworICAgICBkIHhtbFRleHRXcml0ZXJFbmRDREFUQS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFRleHRXcml0ZXJFbmRDREFUQScpCisgICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQorCisgICAgICAqIENEQVRBIGNvbnZlbmllbmN5IGZ1bmN0aW9ucworCisgICAgIGQgeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0Q0RBVEEuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRDREFUQScpCisgICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQorICAgICBkICBmb3JtYXQgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgI3ZhcmFyZzEgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCisgICAgIGQgICN2YXJhcmcyICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgorICAgICBkICAjdmFyYXJnMyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKKyAgICAgZCAgI3ZhcmFyZzQgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCisgICAgIGQgICN2YXJhcmc1ICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgorICAgICBkICAjdmFyYXJnNiAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKKyAgICAgZCAgI3ZhcmFyZzcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCisgICAgIGQgICN2YXJhcmc4ICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgorCisgICAgIGQgeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdENEQVRBLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdENEQVRBJykKKyAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCisgICAgIGQgIGZvcm1hdCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBhcmdwdHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2Vkcyh4bWxWYUxpc3QpCisKKyAgICAgZCB4bWxUZXh0V3JpdGVyV3JpdGVDREFUQS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFRleHRXcml0ZXJXcml0ZUNEQVRBJykKKyAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCisgICAgIGQgIGNvbnRlbnQgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgICAqIERURAorCisgICAgIGQgeG1sVGV4dFdyaXRlclN0YXJ0RFRELi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVGV4dFdyaXRlclN0YXJ0RFREJykKKyAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCisgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBwdWJpZCAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgc3lzaWQgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgZCB4bWxUZXh0V3JpdGVyRW5kRFRELi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVGV4dFdyaXRlckVuZERURCcpCisgICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQorCisgICAgICAqIERURCBjb252ZW5pZW5jeSBmdW5jdGlvbnMKKworICAgICBkIHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdERURC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdERURCcpCisgICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQorICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgcHViaWQgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIHN5c2lkICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBmb3JtYXQgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgI3ZhcmFyZzEgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCisgICAgIGQgICN2YXJhcmcyICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgorICAgICBkICAjdmFyYXJnMyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKKyAgICAgZCAgI3ZhcmFyZzQgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCisgICAgIGQgICN2YXJhcmc1ICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgorICAgICBkICAjdmFyYXJnNiAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKKyAgICAgZCAgI3ZhcmFyZzcgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCisgICAgIGQgICN2YXJhcmc4ICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgorCisgICAgIGQgeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERURC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVEQnKQorICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIHB1YmlkICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBzeXNpZCAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgZm9ybWF0ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgIGFyZ3B0ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZWRzKHhtbFZhTGlzdCkKKworICAgICBkIHhtbFRleHRXcml0ZXJXcml0ZURURC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFRleHRXcml0ZXJXcml0ZURURCcpCisgICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQorICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgcHViaWQgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIHN5c2lkICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBzdWJzZXQgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICAgKiB4bWxUZXh0V3JpdGVyV3JpdGVEb2NUeXBlOgorICAgICAgKgorICAgICAgKiB0aGlzIG1hY3JvIG1hcHMgdG8geG1sVGV4dFdyaXRlcldyaXRlRFRECisKKyAgICAgZCB4bWxUZXh0V3JpdGVyV3JpdGVEb2NUeXBlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVGV4dFdyaXRlcldyaXRlRFREJykKKyAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCisgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBwdWJpZCAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgc3lzaWQgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIHN1YnNldCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgICAqIERURCBlbGVtZW50IGRlZmluaXRpb24KKworICAgICBkIHhtbFRleHRXcml0ZXJTdGFydERUREVsZW1lbnQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxUZXh0V3JpdGVyU3RhcnREVERFbGVtZW50JykKKyAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCisgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgIGQgeG1sVGV4dFdyaXRlckVuZERUREVsZW1lbnQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxUZXh0V3JpdGVyRW5kRFRERWxlbWVudCcpCisgICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQorCisgICAgICAqIERURCBlbGVtZW50IGRlZmluaXRpb24gY29udmVuaWVuY3kgZnVuY3Rpb25zCisKKyAgICAgZCB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVERFbGVtZW50Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFRERWxlbWVudCcpCisgICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQorICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgZm9ybWF0ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisgICAgIGQgICN2YXJhcmcxICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgorICAgICBkICAjdmFyYXJnMiAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKKyAgICAgZCAgI3ZhcmFyZzMgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCisgICAgIGQgICN2YXJhcmc0ICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgorICAgICBkICAjdmFyYXJnNSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKKyAgICAgZCAgI3ZhcmFyZzYgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCisgICAgIGQgICN2YXJhcmc3ICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgorICAgICBkICAjdmFyYXJnOCAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKKworICAgICBkIHhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVERFbGVtZW50Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREVsZW1lbnQnCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQorICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIGZvcm1hdCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBhcmdwdHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2Vkcyh4bWxWYUxpc3QpCisKKyAgICAgZCB4bWxUZXh0V3JpdGVyV3JpdGVEVERFbGVtZW50Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVGV4dFdyaXRlcldyaXRlRFRERWxlbWVudCcpCisgICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQorICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgY29udGVudCAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgICogRFREIGF0dHJpYnV0ZSBsaXN0IGRlZmluaXRpb24KKworICAgICBkIHhtbFRleHRXcml0ZXJTdGFydERUREF0dGxpc3QuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxUZXh0V3JpdGVyU3RhcnREVERBdHRsaXN0JykKKyAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCisgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgIGQgeG1sVGV4dFdyaXRlckVuZERUREF0dGxpc3QuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxUZXh0V3JpdGVyRW5kRFREQXR0bGlzdCcpCisgICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQorCisgICAgICAqIERURCBhdHRyaWJ1dGUgbGlzdCBkZWZpbml0aW9uIGNvbnZlbmllbmN5IGZ1bmN0aW9ucworCisgICAgIGQgeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFREQXR0bGlzdC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdERUREF0dGxpc3QnKQorICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIGZvcm1hdCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICAjdmFyYXJnMSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKKyAgICAgZCAgI3ZhcmFyZzIgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCisgICAgIGQgICN2YXJhcmczICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgorICAgICBkICAjdmFyYXJnNCAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKKyAgICAgZCAgI3ZhcmFyZzUgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCisgICAgIGQgICN2YXJhcmc2ICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgorICAgICBkICAjdmFyYXJnNyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKKyAgICAgZCAgI3ZhcmFyZzggICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCisKKyAgICAgZCB4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFREQXR0bGlzdC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVERBdHRsaXN0JworICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKKyAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCisgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBmb3JtYXQgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgYXJncHRyICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlZHMoeG1sVmFMaXN0KQorCisgICAgIGQgeG1sVGV4dFdyaXRlcldyaXRlRFREQXR0bGlzdC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRXcml0ZXJXcml0ZURUREF0dGxpc3QnKQorICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIGNvbnRlbnQgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgICAqIERURCBlbnRpdHkgZGVmaW5pdGlvbgorCisgICAgIGQgeG1sVGV4dFdyaXRlclN0YXJ0RFRERW50aXR5Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVGV4dFdyaXRlclN0YXJ0RFRERW50aXR5JykKKyAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCisgICAgIGQgIHBlICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgZCB4bWxUZXh0V3JpdGVyRW5kRFRERW50aXR5Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVGV4dFdyaXRlckVuZERUREVudGl0eScpCisgICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQorCisgICAgICAqIERURCBlbnRpdHkgZGVmaW5pdGlvbiBjb252ZW5pZW5jeSBmdW5jdGlvbnMKKworICAgICBkIHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdERUREludGVybmFsRW50aXR5Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFRELQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEludGVybmFsRW50aXR5JykKKyAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCisgICAgIGQgIHBlICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIGZvcm1hdCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICAjdmFyYXJnMSAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKKyAgICAgZCAgI3ZhcmFyZzIgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCisgICAgIGQgICN2YXJhcmczICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgorICAgICBkICAjdmFyYXJnNCAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKKyAgICAgZCAgI3ZhcmFyZzUgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCisgICAgIGQgICN2YXJhcmc2ICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nOiAqbm9wYXNzKSAgICAgIHZvaWQgKgorICAgICBkICAjdmFyYXJnNyAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZzogKm5vcGFzcykgICAgICB2b2lkICoKKyAgICAgZCAgI3ZhcmFyZzggICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmc6ICpub3Bhc3MpICAgICAgdm9pZCAqCisKKyAgICAgZCB4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFRESW50ZXJuYWxFbnRpdHkuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFQtCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgREludGVybmFsRW50aXR5JykKKyAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCisgICAgIGQgIHBlICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIGZvcm1hdCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKgorICAgICBkICBhcmdwdHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2Vkcyh4bWxWYUxpc3QpCisKKyAgICAgZCB4bWxUZXh0V3JpdGVyV3JpdGVEVERJbnRlcm5hbEVudGl0eS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRXcml0ZXJXcml0ZURUREludGVybmFsRW50aXR5JworICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKKyAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCisgICAgIGQgIHBlICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIGNvbnRlbnQgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgIGQgeG1sVGV4dFdyaXRlcldyaXRlRFRERXh0ZXJuYWxFbnRpdHkuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxUZXh0V3JpdGVyV3JpdGVEVERFeHRlcm5hbEVudGl0eScKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCisgICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQorICAgICBkICBwZSAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBwdWJpZCAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgc3lzaWQgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIG5kYXRhaWQgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgIGQgeG1sVGV4dFdyaXRlcldyaXRlRFRERXh0ZXJuYWxFbnRpdHlDb250ZW50cy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFRleHRXcml0ZXJXcml0ZURUREV4dGVybi0KKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbEVudGl0eUNvbnRlbnRzJykKKyAgICAgZCAgd3JpdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFRleHRXcml0ZXJQdHIpCisgICAgIGQgIHB1YmlkICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBzeXNpZCAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgbmRhdGFpZCAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgZCB4bWxUZXh0V3JpdGVyV3JpdGVEVERFbnRpdHkuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxUZXh0V3JpdGVyV3JpdGVEVERFbnRpdHknKQorICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKKyAgICAgZCAgcGUgICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgcHViaWQgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIHN5c2lkICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBuZGF0YWlkICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgY29udGVudCAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgICogRFREIG5vdGF0aW9uIGRlZmluaXRpb24KKworICAgICBkIHhtbFRleHRXcml0ZXJXcml0ZURURE5vdGF0aW9uLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sVGV4dFdyaXRlcldyaXRlRFRETm90YXRpb24nKQorICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIHB1YmlkICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBzeXNpZCAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICAgKiBJbmRlbnRhdGlvbgorCisgICAgIGQgeG1sVGV4dFdyaXRlclNldEluZGVudC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFRleHRXcml0ZXJTZXRJbmRlbnQnKQorICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKKyAgICAgZCAgaW5kZW50ICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sVGV4dFdyaXRlclNldEluZGVudFN0cmluZy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFRleHRXcml0ZXJTZXRJbmRlbnRTdHJpbmcnKQorICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKKyAgICAgZCAgc3RyICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgZCB4bWxUZXh0V3JpdGVyU2V0UXVvdGVDaGFyLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sVGV4dFdyaXRlclNldFF1b3RlQ2hhcicpCisgICAgIGQgIHdyaXRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxUZXh0V3JpdGVyUHRyKQorICAgICBkICBxdW90ZWNoYXIgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sQ2hhcikKKworICAgICAgKiBtaXNjCisKKyAgICAgZCB4bWxUZXh0V3JpdGVyRmx1c2guLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxUZXh0V3JpdGVyRmx1c2gnKQorICAgICBkICB3cml0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sVGV4dFdyaXRlclB0cikKKworICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTUxfV1JJVEVSX0VOQUJMRAorICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfWE1MV1JJVEVSX0hfXwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9vczQwMC9saWJ4bWxycGcveHBhdGgucnBnbGUgYi9saWJ4bWwyL29zNDAwL2xpYnhtbHJwZy94cGF0aC5ycGdsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZjNiZTMyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9vczQwMC9saWJ4bWxycGcveHBhdGgucnBnbGUKQEAgLTAsMCArMSw2NDkgQEAKKyAgICAgICogU3VtbWFyeTogWE1MIFBhdGggTGFuZ3VhZ2UgaW1wbGVtZW50YXRpb24KKyAgICAgICogRGVzY3JpcHRpb246IEFQSSBmb3IgdGhlIFhNTCBQYXRoIExhbmd1YWdlIGltcGxlbWVudGF0aW9uCisgICAgICAqCisgICAgICAqIFhNTCBQYXRoIExhbmd1YWdlIGltcGxlbWVudGF0aW9uCisgICAgICAqIFhQYXRoIGlzIGEgbGFuZ3VhZ2UgZm9yIGFkZHJlc3NpbmcgcGFydHMgb2YgYW4gWE1MIGRvY3VtZW50LAorICAgICAgKiBkZXNpZ25lZCB0byBiZSB1c2VkIGJ5IGJvdGggWFNMVCBhbmQgWFBvaW50ZXIKKyAgICAgICogICAgIGh0dHA6Ly93d3cudzMub3JnL1RSL3hwYXRoCisgICAgICAqCisgICAgICAqIEltcGxlbWVudHMKKyAgICAgICogVzNDIFJlY29tbWVuZGF0aW9uIDE2IE5vdmVtYmVyIDE5OTkKKyAgICAgICogICAgIGh0dHA6Ly93d3cudzMub3JnL1RSLzE5OTkvUkVDLXhwYXRoLTE5OTkxMTE2CisgICAgICAqCisgICAgICAqIENvcHk6IFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyAgICAgICoKKyAgICAgICogQXV0aG9yOiBQYXRyaWNrIE1vbm5lcmF0IDxwbUBkYXRhc3BoZXJlLmNoPiwgREFUQVNQSEVSRSBTLkEuCisKKyAgICAgIC9pZiBub3QgZGVmaW5lZChYTUxfWFBBVEhfSF9fKQorICAgICAgL2RlZmluZSBYTUxfWFBBVEhfSF9fCisKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sdmVyc2lvbiIKKworICAgICAgL2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sZXJyb3IiCisgICAgICAvaW5jbHVkZSAibGlieG1scnBnL3RyZWUiCisgICAgICAvaW5jbHVkZSAibGlieG1scnBnL2hhc2giCisgICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9YUEFUSF9FTkFCTEVECisKKyAgICAgIC9pZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorCisgICAgIGQgeG1sWFBhdGhDb250ZXh0UHRyLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKworICAgICBkIHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ci4uLgorICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisKKyAgICAgICogVGhlIHNldCBvZiBYUGF0aCBlcnJvciBjb2Rlcy4KKworICAgICBkIHhtbFhQYXRoRXJyb3IgICBzICAgICAgICAgICAgIDEwaSAwIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpICAgICAgICAgICBlbnVtCisgICAgIGQgIFhQQVRIX0VYUFJFU1NJT05fT0suLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAwCisgICAgIGQgIFhQQVRIX05VTUJFUl9FUlJPUi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEKKyAgICAgZCAgWFBBVEhfVU5GSU5JU0hFRF9MSVRFUkFMX0VSUk9SLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMgorICAgICBkICBYUEFUSF9TVEFSVF9MSVRFUkFMX0VSUk9SLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMworICAgICBkICBYUEFUSF9WQVJJQUJMRV9SRUZfRVJST1IuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA0CisgICAgIGQgIFhQQVRIX1VOREVGX1ZBUklBQkxFX0VSUk9SLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgNQorICAgICBkICBYUEFUSF9JTlZBTElEX1BSRURJQ0FURV9FUlJPUi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDYKKyAgICAgZCAgWFBBVEhfRVhQUl9FUlJPUi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDcKKyAgICAgZCAgWFBBVEhfVU5DTE9TRURfRVJST1IuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA4CisgICAgIGQgIFhQQVRIX1VOS05PV05fRlVOQ19FUlJPUi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDkKKyAgICAgZCAgWFBBVEhfSU5WQUxJRF9PUEVSQU5ELi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTAKKyAgICAgZCAgWFBBVEhfSU5WQUxJRF9UWVBFLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTEKKyAgICAgZCAgWFBBVEhfSU5WQUxJRF9BUklUWS4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDEyCisgICAgIGQgIFhQQVRIX0lOVkFMSURfQ1RYVF9TSVpFLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTMKKyAgICAgZCAgWFBBVEhfSU5WQUxJRF9DVFhUX1BPU0lUSU9OLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTQKKyAgICAgZCAgWFBBVEhfTUVNT1JZX0VSUk9SLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTUKKyAgICAgZCAgWFBUUl9TWU5UQVhfRVJST1IuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxNgorICAgICBkICBYUFRSX1JFU09VUkNFX0VSUk9SLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMTcKKyAgICAgZCAgWFBUUl9TVUJfUkVTT1VSQ0VfRVJST1IuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxOAorICAgICBkICBYUEFUSF9VTkRFRl9QUkVGSVhfRVJST1IuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICAxOQorICAgICBkICBYUEFUSF9FTkNPRElOR19FUlJPUi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDIwCisgICAgIGQgIFhQQVRIX0lOVkFMSURfQ0hBUl9FUlJPUi4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDIxCisgICAgIGQgIFhQQVRIX0lOVkFMSURfQ1RYVC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDIyCisgICAgIGQgIFhQQVRIX1NUQUNLX0VSUk9SLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMjMKKyAgICAgZCAgWFBBVEhfRk9SQklEX1ZBUklBQkxFX0VSUk9SLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMjQKKworICAgICAgKiBBIG5vZGUtc2V0IChhbiB1bm9yZGVyZWQgY29sbGVjdGlvbiBvZiBub2RlcyB3aXRob3V0IGR1cGxpY2F0ZXMpLgorCisgICAgIGQgeG1sTm9kZVNldFB0ciAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKworICAgICBkIHhtbE5vZGVTZXQgICAgICBkcyAgICAgICAgICAgICAgICAgIGJhc2VkKHhtbE5vZGVTZXRQdHIpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24gcXVhbGlmaWVkCisgICAgIGQgIG5vZGVOciAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNldCBub2RlIGNvdW50CisgICAgIGQgIG5vZGVNYXggICAgICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1heCAjIG5vZGVzIGluIHNldAorICAgICBkICBub2RlVGFiICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxOb2RlUHRyICoKKworICAgICAgKiBBbiBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCB0byB5aWVsZCBhbiBvYmplY3QsIHdoaWNoCisgICAgICAqIGhhcyBvbmUgb2YgdGhlIGZvbGxvd2luZyBmb3VyIGJhc2ljIHR5cGVzOgorICAgICAgKiAgIC0gbm9kZS1zZXQKKyAgICAgICogICAtIGJvb2xlYW4KKyAgICAgICogICAtIG51bWJlcgorICAgICAgKiAgIC0gc3RyaW5nCisgICAgICAqCisgICAgICAqIEBAIFhQb2ludGVyIHdpbGwgYWRkIG1vcmUgdHlwZXMgIQorCisgICAgIGQgeG1sWFBhdGhPYmplY3RUeXBlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgMTBpIDAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykgICAgICAgICAgIGVudW0KKyAgICAgZCAgWFBBVEhfVU5ERUZJTkVELi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGMgICAgICAgICAgICAgICAgICAgMAorICAgICBkICBYUEFUSF9OT0RFU0VUICBjICAgICAgICAgICAgICAgICAgIDEKKyAgICAgZCAgWFBBVEhfQk9PTEVBTiAgYyAgICAgICAgICAgICAgICAgICAyCisgICAgIGQgIFhQQVRIX05VTUJFUiAgIGMgICAgICAgICAgICAgICAgICAgMworICAgICBkICBYUEFUSF9TVFJJTkcgICBjICAgICAgICAgICAgICAgICAgIDQKKyAgICAgZCAgWFBBVEhfUE9JTlQgICAgYyAgICAgICAgICAgICAgICAgICA1CisgICAgIGQgIFhQQVRIX1JBTkdFICAgIGMgICAgICAgICAgICAgICAgICAgNgorICAgICBkICBYUEFUSF9MT0NBVElPTlNFVC4uLgorICAgICBkICAgICAgICAgICAgICAgICBjICAgICAgICAgICAgICAgICAgIDcKKyAgICAgZCAgWFBBVEhfVVNFUlMgICAgYyAgICAgICAgICAgICAgICAgICA4CisgICAgIGQgIFhQQVRIX1hTTFRfVFJFRS4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFIvTyBYU0xUIHZhbHVlIHRyZWUKKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICA5CisKKyAgICAgZCB4bWxYUGF0aE9iamVjdFB0ci4uLgorICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisKKyAgICAgZCB4bWxYUGF0aE9iamVjdCAgZHMgICAgICAgICAgICAgICAgICBiYXNlZCh4bWxYUGF0aE9iamVjdFB0cikKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbiBxdWFsaWZpZWQKKyAgICAgZCAgdHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFhQYXRoT2JqZWN0VHlwZSkKKyAgICAgZCAgbm9kZXNldHZhbCAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVTZXRQdHIpCisgICAgIGQgIGJvb2x2YWwgICAgICAgICAgICAgICAgICAgICAgMTBpIDAKKyAgICAgZCAgZmxvYXR2YWwgICAgICAgICAgICAgICAgICAgICAgOGYKKyAgICAgZCAgc3RyaW5ndmFsICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sQ2hhciAqCisgICAgIGQgIHVzZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorICAgICBkICBpbmRleCAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwCisgICAgIGQgIHVzZXIyICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorICAgICBkICBpbmRleDIgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwCisKKyAgICAgICogeG1sWFBhdGhDb252ZXJ0RnVuYzoKKyAgICAgICogQG9iajogIGFuIFhQYXRoIG9iamVjdAorICAgICAgKiBAdHlwZTogIHRoZSBudW1iZXIgb2YgdGhlIHRhcmdldCB0eXBlCisgICAgICAqCisgICAgICAqIEEgY29udmVyc2lvbiBmdW5jdGlvbiBpcyBhc3NvY2lhdGVkIHRvIGEgdHlwZSBhbmQgdXNlZCB0byBjYXN0CisgICAgICAqIHRoZSBuZXcgdHlwZSB0byBwcmltaXRpdmUgdmFsdWVzLgorICAgICAgKgorICAgICAgKiBSZXR1cm5zIC0xIGluIGNhc2Ugb2YgZXJyb3IsIDAgb3RoZXJ3aXNlCisKKyAgICAgZCB4bWxYUGF0aENvbnZlcnRGdW5jLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jcHRyCisKKyAgICAgICogRXh0cmEgdHlwZTogYSBuYW1lIGFuZCBhIGNvbnZlcnNpb24gZnVuY3Rpb24uCisKKyAgICAgZCB4bWxYUGF0aFR5cGVQdHIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorCisgICAgIGQgeG1sWFBhdGhUeXBlICAgIGRzICAgICAgICAgICAgICAgICAgYmFzZWQoeG1sWFBhdGhUeXBlUHRyKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduIHF1YWxpZmllZAorICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGUgdHlwZSBuYW1lCisgICAgIGQgIGZ1bmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxYUGF0aENvbnZlcnRGdW5jKSAgICAgICAgICAgIENvbnZlcnNpb24gZnVuY3Rpb24KKworICAgICAgKiBFeHRyYSB2YXJpYWJsZTogYSBuYW1lIGFuZCBhIHZhbHVlLgorCisgICAgIGQgeG1sWFBhdGhWYXJpYWJsZVB0ci4uLgorICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisKKyAgICAgZCB4bWxYUGF0aFZhcmlhYmxlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIGRzICAgICAgICAgICAgICAgICAgYmFzZWQoeG1sWFBhdGhWYXJpYWJsZVB0cikKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbiBxdWFsaWZpZWQKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlIHZhcmlhYmxlIG5hbWUKKyAgICAgZCAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFhQYXRoT2JqZWN0UHRyKSAgICAgICAgICAgICAgVGhlIHZhbHVlCisKKyAgICAgICogeG1sWFBhdGhFdmFsRnVuYzoKKyAgICAgICogQGN0eHQ6IGFuIFhQYXRoIHBhcnNlciBjb250ZXh0CisgICAgICAqIEBuYXJnczogdGhlIG51bWJlciBvZiBhcmd1bWVudHMgcGFzc2VkIHRvIHRoZSBmdW5jdGlvbgorICAgICAgKgorICAgICAgKiBBbiBYUGF0aCBldmFsdWF0aW9uIGZ1bmN0aW9uLCB0aGUgcGFyYW1ldGVycyBhcmUgb24gdGhlIFhQYXRoCisgICAgICAqICAgY29udGV4dCBzdGFjay4KKworICAgICBkIHhtbFhQYXRoRXZhbEZ1bmMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NwdHIKKworICAgICAgKiBFeHRyYSBmdW5jdGlvbjogYSBuYW1lIGFuZCBhbiBldmFsdWF0aW9uIGZ1bmN0aW9uLgorCisgICAgIGQgeG1sWFBhdGhGdW5jUHRyLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKworICAgICBkIHhtbFhQYXRoRnVuY3QgICBkcyAgICAgICAgICAgICAgICAgIGJhc2VkKHhtbFhQYXRoRnVuY1B0cikKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbiBxdWFsaWZpZWQKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlIGZ1bmN0aW9uIG5hbWUKKyAgICAgZCAgZnVuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFhQYXRoRXZhbEZ1bmMpICAgICAgICAgICAgICAgRXZhbHVhdGlvbiBmdW5jdGlvbgorCisgICAgICAqIHhtbFhQYXRoQXhpc0Z1bmM6CisgICAgICAqIEBjdHh0OiAgdGhlIFhQYXRoIGludGVycHJldGVyIGNvbnRleHQKKyAgICAgICogQGN1cjogIHRoZSBwcmV2aW91cyBub2RlIGJlaW5nIGV4cGxvcmVkIG9uIHRoYXQgYXhpcworICAgICAgKgorICAgICAgKiBBbiBheGlzIHRyYXZlcnNhbCBmdW5jdGlvbi4gVG8gdHJhdmVyc2UgYW4gYXhpcywgdGhlIGVuZ2luZSBjYWxscworICAgICAgKiB0aGUgZmlyc3QgdGltZSB3aXRoIGN1ciA9PSBOVUxMIGFuZCByZXBlYXQgdW50aWwgdGhlIGZ1bmN0aW9uIHJldHVybnMKKyAgICAgICogTlVMTCBpbmRpY2F0aW5nIHRoZSBlbmQgb2YgdGhlIGF4aXMgdHJhdmVyc2FsLgorICAgICAgKgorICAgICAgKiBSZXR1cm5zIHRoZSBuZXh0IG5vZGUgaW4gdGhhdCBheGlzIG9yIE5VTEwgaWYgYXQgdGhlIGVuZCBvZiB0aGUgYXhpcy4KKworICAgICBkIHhtbFhQYXRoQXhpc0Z1bmMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NwdHIKKworICAgICAgKiBFeHRyYSBheGlzOiBhIG5hbWUgYW5kIGFuIGF4aXMgZnVuY3Rpb24uCisKKyAgICAgZCB4bWxYUGF0aEF4aXNQdHIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorCisgICAgIGQgeG1sWFBhdGhBeGlzICAgIGRzICAgICAgICAgICAgICAgICAgYmFzZWQoeG1sWFBhdGhBeGlzUHRyKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduIHF1YWxpZmllZAorICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGUgYXhpcyBuYW1lCisgICAgIGQgIGZ1bmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxYUGF0aEF4aXNGdW5jKSAgICAgICAgICAgICAgIFRoZSBzZWFyY2ggZnVuY3Rpb24KKworICAgICAgKiB4bWxYUGF0aEZ1bmN0aW9uOgorICAgICAgKiBAY3R4dDogIHRoZSBYUGF0aCBpbnRlcnByZXN0YXRpb24gY29udGV4dAorICAgICAgKiBAbmFyZ3M6ICB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cworICAgICAgKgorICAgICAgKiBBbiBYUGF0aCBmdW5jdGlvbi4KKyAgICAgICogVGhlIGFyZ3VtZW50cyAoaWYgYW55KSBhcmUgcG9wcGVkIG91dCBmcm9tIHRoZSBjb250ZXh0IHN0YWNrCisgICAgICAqIGFuZCB0aGUgcmVzdWx0IGlzIHB1c2hlZCBvbiB0aGUgc3RhY2suCisKKyAgICAgZCB4bWxYUGF0aEZ1bmN0aW9uLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jcHRyCisKKyAgICAgICogRnVuY3Rpb24gYW5kIFZhcmlhYmxlIExvb2t1cC4KKworICAgICAgKiB4bWxYUGF0aFZhcmlhYmxlTG9va3VwRnVuYzoKKyAgICAgICogQGN0eHQ6ICBhbiBYUGF0aCBjb250ZXh0CisgICAgICAqIEBuYW1lOiAgbmFtZSBvZiB0aGUgdmFyaWFibGUKKyAgICAgICogQG5zX3VyaTogIHRoZSBuYW1lc3BhY2UgbmFtZSBob3N0aW5nIHRoaXMgdmFyaWFibGUKKyAgICAgICoKKyAgICAgICogUHJvdG90eXBlIGZvciBjYWxsYmFja3MgdXNlZCB0byBwbHVnIHZhcmlhYmxlIGxvb2t1cCBpbiB0aGUgWFBhdGgKKyAgICAgICogZW5naW5lLgorICAgICAgKgorICAgICAgKiBSZXR1cm5zIHRoZSBYUGF0aCBvYmplY3QgdmFsdWUgb3IgTlVMTCBpZiBub3QgZm91bmQuCisKKyAgICAgZCB4bWxYUGF0aFZhcmlhYmxlTG9va3VwRnVuYy4uLgorICAgICBkICAgICAgICAgICAgICAgICBzICAgICAgICAgICAgICAgKiAgIGJhc2VkKCMjIyMjI3R5cGVkZWYjIyMjIyMpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY3B0cgorCisgICAgICAqIHhtbFhQYXRoRnVuY0xvb2t1cEZ1bmM6CisgICAgICAqIEBjdHh0OiAgYW4gWFBhdGggY29udGV4dAorICAgICAgKiBAbmFtZTogIG5hbWUgb2YgdGhlIGZ1bmN0aW9uCisgICAgICAqIEBuc191cmk6ICB0aGUgbmFtZXNwYWNlIG5hbWUgaG9zdGluZyB0aGlzIGZ1bmN0aW9uCisgICAgICAqCisgICAgICAqIFByb3RvdHlwZSBmb3IgY2FsbGJhY2tzIHVzZWQgdG8gcGx1ZyBmdW5jdGlvbiBsb29rdXAgaW4gdGhlIFhQYXRoCisgICAgICAqIGVuZ2luZS4KKyAgICAgICoKKyAgICAgICogUmV0dXJucyB0aGUgWFBhdGggZnVuY3Rpb24gb3IgTlVMTCBpZiBub3QgZm91bmQuCisKKyAgICAgZCB4bWxYUGF0aEZ1bmNMb29rdXBGdW5jLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHMgICAgICAgICAgICAgICAqICAgYmFzZWQoIyMjIyMjdHlwZWRlZiMjIyMjIykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jcHRyCisKKyAgICAgICogeG1sWFBhdGhGbGFnczoKKyAgICAgICogRmxhZ3MgZm9yIFhQYXRoIGVuZ2luZSBjb21waWxhdGlvbiBhbmQgcnVudGltZQorCisgICAgICAqIFhNTF9YUEFUSF9DSEVDS05TOgorICAgICAgKgorICAgICAgKiBjaGVjayBuYW1lc3BhY2VzIGF0IGNvbXBpbGF0aW9uCisKKyAgICAgZCAgWE1MX1hQQVRIX0NIRUNLTlMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDEnCisKKyAgICAgICogWE1MX1hQQVRIX05PVkFSOgorICAgICAgKgorICAgICAgKiBmb3JiaWQgdmFyaWFibGVzIGluIGV4cHJlc3Npb24KKworICAgICBkICBYTUxfWFBBVEhfTk9WQVIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgYyAgICAgICAgICAgICAgICAgICBYJzAwMDInCisKKyAgICAgICogeG1sWFBhdGhDb250ZXh0OgorICAgICAgKgorICAgICAgKiBFeHByZXNzaW9uIGV2YWx1YXRpb24gb2NjdXJzIHdpdGggcmVzcGVjdCB0byBhIGNvbnRleHQuCisgICAgICAqIGhlIGNvbnRleHQgY29uc2lzdHMgb2Y6CisgICAgICAqICAgIC0gYSBub2RlICh0aGUgY29udGV4dCBub2RlKQorICAgICAgKiAgICAtIGEgbm9kZSBsaXN0ICh0aGUgY29udGV4dCBub2RlIGxpc3QpCisgICAgICAqICAgIC0gYSBzZXQgb2YgdmFyaWFibGUgYmluZGluZ3MKKyAgICAgICogICAgLSBhIGZ1bmN0aW9uIGxpYnJhcnkKKyAgICAgICogICAgLSB0aGUgc2V0IG9mIG5hbWVzcGFjZSBkZWNsYXJhdGlvbnMgaW4gc2NvcGUgZm9yIHRoZSBleHByZXNzaW9uCisgICAgICAqIEZvbGxvd2luZyB0aGUgc3dpdGNoIHRvIGhhc2ggdGFibGVzLCB0aGlzIG5lZWQgdG8gYmUgdHJpbW1lZCB1cCBhdAorICAgICAgKiB0aGUgbmV4dCBiaW5hcnkgaW5jb21wYXRpYmxlIHJlbGVhc2UuCisgICAgICAqIFRoZSBub2RlIG1heSBiZSBtb2RpZmllZCB3aGVuIHRoZSBjb250ZXh0IGlzIHBhc3NlZCB0byBsaWJ4bWwyCisgICAgICAqIGZvciBhbiBYUGF0aCBldmFsdWF0aW9uIHNvIHlvdSBtYXkgbmVlZCB0byBpbml0aWFsaXplIGl0IGFnYWluCisgICAgICAqIGJlZm9yZSB0aGUgbmV4dCBjYWxsLgorCisgICAgIGQgeG1sWFBhdGhDb250ZXh0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIGRzICAgICAgICAgICAgICAgICAgYmFzZWQoeG1sWFBhdGhDb250ZXh0UHRyKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduIHF1YWxpZmllZAorICAgICBkICBkb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sRG9jUHRyKSAgICAgICAgICAgICAgICAgICAgICBDdXJyZW50IGRvY3VtZW50CisgICAgIGQgIG5vZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKSAgICAgICAgICAgICAgICAgICAgIEN1cnJlbnQgbm9kZQorICAgICAgKgorICAgICBkICBuYl92YXJpYWJsZXNfdW51c2VkLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVbnVzZWQgKGhhc2ggdGFibGUpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAKKyAgICAgZCAgbWF4X3ZhcmlhYmxlc191bnVzZWQuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVudXNlZCAoaGFzaCB0YWJsZSkKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMAorICAgICBkICB2YXJIYXNoICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sSGFzaFRhYmxlUHRyKSAgICAgICAgICAgICAgICAgRGVmaW5lZCB2YXJpYWJsZXMKKyAgICAgICoKKyAgICAgZCAgbmJfdHlwZXMgICAgICAgICAgICAgICAgICAgICAxMGkgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgb2YgZGVmaW5lZCB0eXBlcworICAgICBkICBtYXhfdHlwZXMgICAgICAgICAgICAgICAgICAgIDEwaSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWF4IG51bWJlciBvZiB0eXBlcworICAgICBkICB0eXBlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sWFBhdGhUeXBlUHRyKSAgICAgICAgICAgICAgICAgRGVmaW5lZCB0eXBlcyBhcnJheQorICAgICAgKgorICAgICBkICBuYl9mdW5jc191bnVzZWQuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVbnVzZWQgKGhhc2ggdGFibGUpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAKKyAgICAgZCAgbWF4X2Z1bmNzX3VudXNlZC4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVudXNlZCAoaGFzaCB0YWJsZSkKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMAorICAgICBkICBmdW5jSGFzaCAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sSGFzaFRhYmxlUHRyKSAgICAgICAgICAgICAgICAgRGVmaW5lZCBmdW5jdGlvbnMKKyAgICAgICoKKyAgICAgZCAgbmJfYXhpcyAgICAgICAgICAgICAgICAgICAgICAxMGkgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgb2YgZGVmaW5lZCBheGlzCisgICAgIGQgIG1heF9heGlzICAgICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYXggbnVtYmVyIG9mIGF4aXMKKyAgICAgZCAgYXhpcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFhQYXRoQXhpc1B0cikgICAgICAgICAgICAgICAgIERlZmluZWQgYXhpcyBhcnJheQorICAgICAgKgorICAgICAgKiB0aGUgbmFtZXNwYWNlIG5vZGVzIG9mIHRoZSBjb250ZXh0IG5vZGUKKyAgICAgICoKKyAgICAgZCAgbmFtZXNwYWNlcyAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbE5zUHRyICoKKyAgICAgZCAgbnNOciAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgc2NvcGUgbmFtZXNwYWNlcworICAgICBkICB1c2VyICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHByb2NwdHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRnVuY3Rpb24gdG8gZnJlZQorICAgICAgKgorICAgICAgKiBleHRyYSB2YXJpYWJsZXMKKyAgICAgICoKKyAgICAgZCAgY29udGV4dFNpemUgICAgICAgICAgICAgICAgICAxMGkgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSBjb250ZXh0IHNpemUKKyAgICAgZCAgcHJveGltaXR5UG9zaXRpb24uLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMAorICAgICAgKgorICAgICAgKiBleHRyYSBzdHVmZiBmb3IgWFBvaW50ZXIKKyAgICAgICoKKyAgICAgZCAgeHB0ciAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhQb2ludGVyIGNvbnRleHQgPworICAgICBkICBoZXJlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikgICAgICAgICAgICAgICAgICAgICAgRm9yIGhlcmUoKQorICAgICBkICBvcmlnaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikgICAgICAgICAgICAgICAgICAgICAgRm9yIG9yaWdpbigpCisgICAgICAqCisgICAgICAqIHRoZSBzZXQgb2YgbmFtZXNwYWNlIGRlY2xhcmF0aW9ucyBpbiBzY29wZSBmb3IgdGhlIGV4cHJlc3Npb24KKyAgICAgICoKKyAgICAgZCAgbnNIYXNoICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEhhc2hUYWJsZVB0cikgICAgICAgICAgICAgICAgIE5hbWVzcGFjZSBoYXNodGFibGUKKyAgICAgZCAgdmFyTG9va3VwRnVuYyAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFhQYXRoVmFyaWFibGVMb29rdXBGdW5jKSAgICAgIFZhciBsb29rdXAgZnVuY3Rpb24KKyAgICAgZCAgdmFyTG9va3VwRGF0YSAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorICAgICAgKgorICAgICAgKiBQb3NzaWJpbGl0eSB0byBsaW5rIGluIGFuIGV4dHJhIGl0ZW0KKyAgICAgICoKKyAgICAgZCAgZXh0cmEgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorICAgICAgKgorICAgICAgKiBUaGUgZnVuY3Rpb24gbmFtZSBhbmQgVVJJIHdoZW4gY2FsbGluZyBhIGZ1bmN0aW9uCisgICAgICAqCisgICAgIGQgIGZ1bmN0aW9uICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgZnVuY3Rpb25VUkkgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICAgKgorICAgICAgKiBmdW5jdGlvbiBsb29rdXAgZnVuY3Rpb24gYW5kIGRhdGEKKyAgICAgICoKKyAgICAgZCAgZnVuY0xvb2t1cEZ1bmMuLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZ1bmMgbG9va3VwIGZ1bmMKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFhQYXRoVmFyaWFibGVMb29rdXBGdW5jKQorICAgICBkICBmdW5jTG9va3VwRGF0YS4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCisgICAgICAqCisgICAgICAqIHRlbXBvcmFyeSBuYW1lc3BhY2UgbGlzdHMga2VwdCBmb3Igd2Fsa2luZyB0aGUgbmFtZXNwYWNlIGF4aXMKKyAgICAgICoKKyAgICAgZCAgdG1wTnNMaXN0ICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sTnNQdHIgKgorICAgICBkICB0bXBOc05yICAgICAgICAgICAgICAgICAgICAgIDEwaSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIHNjb3BlIG5hbWVzcGFjZXMKKyAgICAgICoKKyAgICAgICogZXJyb3IgcmVwb3J0aW5nIG1lY2hhbmlzbQorICAgICAgKgorICAgICBkICB1c2VyRGF0YSAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKyAgICAgZCAgZXJyb3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFN0cnVjdHVyZWRFcnJvckZ1bmMpICAgICAgICAgRXJyb3IgY2FsbGJhY2sKKyAgICAgZCAgbGFzdEVycm9yICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbEVycm9yKSAgICAgICAgICAgICAgICAgICAgICAgVGhlIGxhc3QgZXJyb3IKKyAgICAgZCAgZGVidWdOb2RlICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpICAgICAgICAgICAgICAgICAgICAgWFNMVCBzb3VyY2Ugbm9kZQorICAgICAgKgorICAgICAgKiBkaWN0aW9uYXJ5CisgICAgICAqCisgICAgIGQgIGRpY3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxEaWN0UHRyKSAgICAgICAgICAgICAgICAgICAgIERpY3Rpb25hcnkgaWYgYW55CisgICAgICAqCisgICAgIGQgIGZsYWdzICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbXBpbGF0aW9uIGNvbnRyb2wKKyAgICAgICoKKyAgICAgICogQ2FjaGUgZm9yIHJldXNhbCBvZiBYUGF0aCBvYmplY3RzCisgICAgICAqCisgICAgIGQgIGNhY2hlICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorCisgICAgICAqIFRoZSBzdHJ1Y3R1cmUgb2YgYSBjb21waWxlZCBleHByZXNzaW9uIGZvcm0gaXMgbm90IHB1YmxpYy4KKworICAgICBkIHhtbFhQYXRoQ29tcEV4cHJQdHIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorCisgICAgICAqIHhtbFhQYXRoUGFyc2VyQ29udGV4dDoKKyAgICAgICoKKyAgICAgICogQW4gWFBhdGggcGFyc2VyIGNvbnRleHQuIEl0IGNvbnRhaW5zIHB1cmUgcGFyc2luZyBpbmZvcm1hdGlvbnMsCisgICAgICAqIGFuIHhtbFhQYXRoQ29udGV4dCwgYW5kIHRoZSBzdGFjayBvZiBvYmplY3RzLgorCisgICAgIGQgeG1sWFBhdGhQYXJzZXJDb250ZXh0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIGRzICAgICAgICAgICAgICAgICAgYmFzZWQoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduIHF1YWxpZmllZAorICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgYmFzZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgICAqCisgICAgIGQgIGVycm9yICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVycm9yIGNvZGUKKyAgICAgICoKKyAgICAgZCAgY29udGV4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFhQYXRoQ29udGV4dFB0cikgICAgICAgICAgICAgRXZhbHVhdGlvbiBjb250ZXh0CisgICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxYUGF0aE9iamVjdFB0cikgICAgICAgICAgICAgIFRoZSBjdXJyZW50IHZhbHVlCisgICAgIGQgIHZhbHVlTnIgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZhbHVlIHN0YWNrIGRlcHRoCisgICAgIGQgIHZhbHVlTWF4ICAgICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1heCBzdGFjayBkZXB0aAorICAgICBkICB2YWx1ZVRhYiAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxYUGF0aE9iamVjdFB0ciAqCisgICAgICAqCisgICAgIGQgIGNvbXAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxYUGF0aENvbXBFeHByUHRyKSAgICAgICAgICAgIFByZWNvbXBpbGVkIGV4cHIuCisgICAgIGQgIHhwdHIgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhQb2ludGVyIGV4cHJlc3Npb24/CisgICAgIGQgIGFuY2VzdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKSAgICAgICAgICAgICAgICAgICAgIFRvIHdhbGsgcHJlYy4gYXhpcworICAgICAgKgorICAgICBkICB2YWx1ZUZyYW1lICAgICAgICAgICAgICAgICAgIDEwaSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaW1pdCBzdGFjayBwb3AKKworICAgICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCisgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgorICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKKyAgICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisKKyAgICAgICogT2JqZWN0cyBhbmQgTm9kZXNldHMgaGFuZGxpbmcKKworICAgICBkIHhtbFhQYXRoTkFOICAgICBzICAgICAgICAgICAgICA4ZiAgIGltcG9ydCgneG1sWFBhdGhOQU4nKQorICAgICBkIHhtbFhQYXRoUElORiAgICBzICAgICAgICAgICAgICA4ZiAgIGltcG9ydCgneG1sWFBhdGhQSU5GJykKKyAgICAgZCB4bWxYUGF0aE5JTkYgICAgcyAgICAgICAgICAgICAgOGYgICBpbXBvcnQoJ3htbFhQYXRoTklORicpCisKKyAgICAgZCB4bWxYUGF0aEZyZWVPYmplY3QuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aEZyZWVPYmplY3QnKQorICAgICBkIG9iaiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhPYmplY3RQdHIpCisKKyAgICAgZCB4bWxYUGF0aE5vZGVTZXRDcmVhdGUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aE5vZGVTZXRDcmVhdGUnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVNldFB0cikKKyAgICAgZCB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisKKyAgICAgZCB4bWxYUGF0aEZyZWVOb2RlU2V0TGlzdC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoRnJlZU5vZGVTZXRMaXN0JykKKyAgICAgZCBvYmogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoT2JqZWN0UHRyKQorCisgICAgIGQgeG1sWFBhdGhGcmVlTm9kZVNldC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoRnJlZU5vZGVTZXQnKQorICAgICBkIG9iaiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVNldFB0cikKKworICAgICBkIHhtbFhQYXRoT2JqZWN0Q29weS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoT2JqZWN0Q29weScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxYUGF0aE9iamVjdFB0cikKKyAgICAgZCB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoT2JqZWN0UHRyKQorCisgICAgIGQgeG1sWFBhdGhDbXBOb2Rlcy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFhQYXRoQ21wTm9kZXMnKQorICAgICBkIG5vZGUxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKyAgICAgZCBub2RlMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisKKyAgICAgICogQ29udmVyc2lvbiBmdW5jdGlvbnMgdG8gYmFzaWMgdHlwZXMuCisKKyAgICAgZCB4bWxYUGF0aENhc3ROdW1iZXJUb0Jvb2xlYW4uLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sWFBhdGhDYXN0TnVtYmVyVG9Cb29sZWFuJykKKyAgICAgZCB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgOGYgICB2YWx1ZQorCisgICAgIGQgeG1sWFBhdGhDYXN0U3RyaW5nVG9Cb29sZWFuLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFhQYXRoQ2FzdFN0cmluZ1RvQm9vbGVhbicpCisgICAgIGQgdmFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgIGQgeG1sWFBhdGhDYXN0Tm9kZVNldFRvQm9vbGVhbi4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFhQYXRoQ2FzdE5vZGVTZXRUb0Jvb2xlYW4nKQorICAgICBkIG5zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVNldFB0cikKKworICAgICBkIHhtbFhQYXRoQ2FzdFRvQm9vbGVhbi4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFhQYXRoQ2FzdFRvQm9vbGVhbicpCisgICAgIGQgdmFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aE9iamVjdFB0cikKKworICAgICBkIHhtbFhQYXRoQ2FzdEJvb2xlYW5Ub051bWJlci4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxYUGF0aENhc3RCb29sZWFuVG9OdW1iZXInKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA4ZgorICAgICBkIHZhbCAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxYUGF0aENhc3RTdHJpbmdUb051bWJlci4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICA4ZiAgIGV4dHByb2MoJ3htbFhQYXRoQ2FzdFN0cmluZ1RvTnVtYmVyJykKKyAgICAgZCB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgZCB4bWxYUGF0aENhc3ROb2RlVG9OdW1iZXIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgOGYgICBleHRwcm9jKCd4bWxYUGF0aENhc3ROb2RlVG9OdW1iZXInKQorICAgICBkIG5vZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKworICAgICBkIHhtbFhQYXRoQ2FzdE5vZGVTZXRUb051bWJlci4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICA4ZiAgIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxYUGF0aENhc3ROb2RlU2V0VG9OdW1iZXInKQorICAgICBkIG5zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVNldFB0cikKKworICAgICBkIHhtbFhQYXRoQ2FzdFRvTnVtYmVyLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgIDhmICAgZXh0cHJvYygneG1sWFBhdGhDYXN0VG9OdW1iZXInKQorICAgICBkIHZhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhPYmplY3RQdHIpCisKKyAgICAgZCB4bWxYUGF0aENhc3RCb29sZWFuVG9TdHJpbmcuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sQ2hhciAqCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxYUGF0aENhc3RCb29sZWFuVG9TdHJpbmcnKQorICAgICBkIHZhbCAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxYUGF0aENhc3ROdW1iZXJUb1N0cmluZy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbFhQYXRoQ2FzdE51bWJlclRvU3RyaW5nJyl4bWxDaGFyICoKKyAgICAgZCB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgOGYgICB2YWx1ZQorCisgICAgIGQgeG1sWFBhdGhDYXN0Tm9kZVRvU3RyaW5nLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sWFBhdGhDYXN0Tm9kZVRvU3RyaW5nJykgIHhtbENoYXIgKgorICAgICBkIG5vZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKworICAgICBkIHhtbFhQYXRoQ2FzdE5vZGVTZXRUb1N0cmluZy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbFhQYXRoQ2FzdE5vZGVTZXRUb1N0cmluZyd4bWxDaGFyICoKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCisgICAgIGQgbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlU2V0UHRyKQorCisgICAgIGQgeG1sWFBhdGhDYXN0VG9TdHJpbmcuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxYUGF0aENhc3RUb1N0cmluZycpICAgICAgeG1sQ2hhciAqCisgICAgIGQgdmFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aE9iamVjdFB0cikKKworICAgICBkIHhtbFhQYXRoQ29udmVydEJvb2xlYW4uLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aENvbnZlcnRCb29sZWFuJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFhQYXRoT2JqZWN0UHRyKQorICAgICBkIHZhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhPYmplY3RQdHIpCisKKyAgICAgZCB4bWxYUGF0aENvbnZlcnROdW1iZXIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aENvbnZlcnROdW1iZXInKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sWFBhdGhPYmplY3RQdHIpCisgICAgIGQgdmFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aE9iamVjdFB0cikKKworICAgICBkIHhtbFhQYXRoQ29udmVydFN0cmluZy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoQ29udmVydFN0cmluZycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxYUGF0aE9iamVjdFB0cikKKyAgICAgZCB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoT2JqZWN0UHRyKQorCisgICAgICAqIENvbnRleHQgaGFuZGxpbmcuCisKKyAgICAgZCB4bWxYUGF0aE5ld0NvbnRleHQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aE5ld0NvbnRleHQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sWFBhdGhDb250ZXh0UHRyKQorICAgICBkIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQorCisgICAgIGQgeG1sWFBhdGhGcmVlQ29udGV4dC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoRnJlZUNvbnRleHQnKQorICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhDb250ZXh0UHRyKQorCisgICAgIGQgeG1sWFBhdGhDb250ZXh0U2V0Q2FjaGUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxYUGF0aENvbnRleHRTZXRDYWNoZScpCisgICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aENvbnRleHRQdHIpCisgICAgIGQgYWN0aXZlICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkIG9wdGlvbnMgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgICogRXZhbHVhdGlvbiBmdW5jdGlvbnMuCisKKyAgICAgZCB4bWxYUGF0aE9yZGVyRG9jRWxlbXMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAyMGkgMCBleHRwcm9jKCd4bWxYUGF0aE9yZGVyRG9jRWxlbXMnKQorICAgICBkIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQorCisgICAgIGQgeG1sWFBhdGhTZXRDb250ZXh0Tm9kZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFhQYXRoU2V0Q29udGV4dE5vZGUnKQorICAgICBkIG5vZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKyAgICAgZCBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoQ29udGV4dFB0cikKKworICAgICBkIHhtbFhQYXRoTm9kZUV2YWwuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aE5vZGVFdmFsJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFhQYXRoT2JqZWN0UHRyKQorICAgICBkIG5vZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKyAgICAgZCBzdHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aENvbnRleHRQdHIpCisKKyAgICAgZCB4bWxYUGF0aEV2YWwgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aEV2YWwnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sWFBhdGhPYmplY3RQdHIpCisgICAgIGQgc3RyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkIGN0eCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhDb250ZXh0UHRyKQorCisgICAgIGQgeG1sWFBhdGhFdmFsRXhwcmVzc2lvbi4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoRXZhbEV4cHJlc3Npb24nKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sWFBhdGhPYmplY3RQdHIpCisgICAgIGQgc3RyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhDb250ZXh0UHRyKQorCisgICAgIGQgeG1sWFBhdGhFdmFsUHJlZGljYXRlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sWFBhdGhFdmFsUHJlZGljYXRlJykKKyAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoQ29udGV4dFB0cikKKyAgICAgZCByZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoT2JqZWN0UHRyKQorCisgICAgICAqIFNlcGFyYXRlIGNvbXBpbGF0aW9uL2V2YWx1YXRpb24gZW50cnkgcG9pbnRzLgorCisgICAgIGQgeG1sWFBhdGhDb21waWxlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhDb21waWxlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFhQYXRoQ29tcEV4cHJQdHIpCisgICAgIGQgc3RyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgIGQgeG1sWFBhdGhDdHh0Q29tcGlsZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoQ3R4dENvbXBpbGUnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sWFBhdGhDb21wRXhwclB0cikKKyAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoQ29udGV4dFB0cikKKyAgICAgZCBzdHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgZCB4bWxYUGF0aENvbXBpbGVkRXZhbC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoQ29tcGlsZWRFdmFsJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFhQYXRoT2JqZWN0UHRyKQorICAgICBkIGNvbXAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhDb21wRXhwclB0cikKKyAgICAgZCBjdHggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoQ29udGV4dFB0cikKKworICAgICBkIHhtbFhQYXRoQ29tcGlsZWRFdmFsVG9Cb29sZWFuLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sWFBhdGhDb21waWxlZEV2YWxUb0Jvb2xlYW4nKQorICAgICBkIGNvbXAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhDb21wRXhwclB0cikKKyAgICAgZCBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoQ29udGV4dFB0cikKKworICAgICBkIHhtbFhQYXRoRnJlZUNvbXBFeHByLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhGcmVlQ29tcEV4cHInKQorICAgICBkIGNvbXAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhDb21wRXhwclB0cikKKyAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCWE1MX1hQQVRIX0VOQUJMRUQKKworICAgICAgL3VuZGVmaW5lIFhNTF9URVNUVkFMCisgICAgICAvaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyAgICAgIC9kZWZpbmUgWE1MX1RFU1RWQUwKKyAgICAgIC9lbHNlaWYgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQorICAgICAgL2RlZmluZSBYTUxfVEVTVFZBTAorICAgICAgL2VuZGlmCisgICAgICAvaWYgZGVmaW5lZChYTUxfVEVTVFZBTCkKKyAgICAgZCB4bWxYUGF0aEluaXQgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aEluaXQnKQorCisgICAgIGQgeG1sWFBhdGhJc05hTiAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sWFBhdGhJc05hTicpCisgICAgIGQgdmFsICAgICAgICAgICAgICAgICAgICAgICAgICAgIDhmICAgdmFsdWUKKworICAgICBkIHhtbFhQYXRoSXNJbmYgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFhQYXRoSXNJbmYnKQorICAgICBkIHZhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICA4ZiAgIHZhbHVlCisKKyAgICAgIC91bmRlZmluZSBYTUxfVEVTVFZBTAorICAgICAgL2VuZGlmCisKKyAgICAgICogQyBtYWNyb3MgaW1wbGVtZW50ZWQgYXMgcHJvY2VkdXJlcyBmb3IgSUxFL1JQRyBzdXBwb3J0LgorCisgICAgICAvaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyAgICAgZCB4bWxYUGF0aE5vZGVTZXRHZXRMZW5ndGguLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCdfX3htbFhQYXRoTm9kZVNldEdldExlbmd0aCcpCisgICAgIGQgIG5zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlU2V0UHRyKQorCisgICAgIGQgeG1sWFBhdGhOb2RlU2V0SXRlbS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ19feG1sWFBhdGhOb2RlU2V0SXRlbScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKQorICAgICBkICBucyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVNldFB0cikKKyAgICAgZCAgaW5kZXggICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sWFBhdGhOb2RlU2V0SXNFbXB0eS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ19feG1sWFBhdGhOb2RlU2V0SXNFbXB0eScpCisgICAgIGQgIG5zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlU2V0UHRyKQorICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTUxfWFBBVEhfRU5BQkxFRAorICAgICAgL2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfWFBBVEhfSF9fCmRpZmYgLS1naXQgYS9saWJ4bWwyL29zNDAwL2xpYnhtbHJwZy94cGF0aEludGVybmFscy5ycGdsZSBiL2xpYnhtbDIvb3M0MDAvbGlieG1scnBnL3hwYXRoSW50ZXJuYWxzLnJwZ2xlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY5ZjNhZTAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL29zNDAwL2xpYnhtbHJwZy94cGF0aEludGVybmFscy5ycGdsZQpAQCAtMCwwICsxLDY3MiBAQAorICAgICAgKiBTdW1tYXJ5OiBpbnRlcm5hbCBpbnRlcmZhY2VzIGZvciBYTUwgUGF0aCBMYW5ndWFnZSBpbXBsZW1lbnRhdGlvbgorICAgICAgKiBEZXNjcmlwdGlvbjogaW50ZXJuYWwgaW50ZXJmYWNlcyBmb3IgWE1MIFBhdGggTGFuZ3VhZ2UgaW1wbGVtZW50YXRpb24KKyAgICAgICogICAgICAgICAgICAgIHVzZWQgdG8gYnVpbGQgbmV3IG1vZHVsZXMgb24gdG9wIG9mIFhQYXRoIGxpa2UgWFBvaW50ZXIgYW5kCisgICAgICAqICAgICAgICAgICAgICBYU0xUCisgICAgICAqCisgICAgICAqIENvcHk6IFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyAgICAgICoKKyAgICAgICogQXV0aG9yOiBQYXRyaWNrIE1vbm5lcmF0IDxwbUBkYXRhc3BoZXJlLmNoPiwgREFUQVNQSEVSRSBTLkEuCisKKyAgICAgIC9pZiBub3QgZGVmaW5lZChYTUxfWFBBVEhfSU5URVJOQUxTX0hfXykKKyAgICAgIC9kZWZpbmUgWE1MX1hQQVRIX0lOVEVSTkFMU19IX18KKworICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94bWx2ZXJzaW9uIgorICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94cGF0aCIKKworICAgICAgL2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisKKyAgICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCisgICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhlbHBlcnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKKyAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgorICAgICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisKKyAgICAgICogTWFueSBvZiB0aGVzZSBtYWNyb3MgbWF5IGxhdGVyIHR1cm4gaW50byBmdW5jdGlvbnMuIFRoZXkKKyAgICAgICogc2hvdWxkbid0IGJlIHVzZWQgaW4gI2lmZGVmJ3MgcHJlcHJvY2Vzc29yIGluc3RydWN0aW9ucy4KKworICAgICBkIHhtbFhQYXRoUG9wQm9vbGVhbi4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFhQYXRoUG9wQm9vbGVhbicpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIpCisKKyAgICAgZCB4bWxYUGF0aFBvcE51bWJlci4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICA4ZiAgIGV4dHByb2MoJ3htbFhQYXRoUG9wTnVtYmVyJykKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cikKKworICAgICBkIHhtbFhQYXRoUG9wU3RyaW5nLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sWFBhdGhQb3BTdHJpbmcnKSAgICAgICAgIHhtbENoYXIgKgorICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKQorCisgICAgIGQgeG1sWFBhdGhQb3BOb2RlU2V0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhQb3BOb2RlU2V0JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVTZXRQdHIpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIpCisKKyAgICAgZCB4bWxYUGF0aFBvcEV4dGVybmFsLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sWFBhdGhQb3BFeHRlcm5hbCcpICAgICAgIHZvaWQgKgorICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKQorCisgICAgICAqIFZhcmlhYmxlIExvb2t1cCBmb3J3YXJkaW5nLgorCisgICAgIGQgeG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlTG9va3VwLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlTG9va3VwJykKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoQ29udGV4dFB0cikKKyAgICAgZCAgZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sWFBhdGhWYXJpYWJsZUxvb2t1cEZ1bmMpCisgICAgIGQgIGRhdGEgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorCisgICAgICAqIEZ1bmN0aW9uIExvb2t1cCBmb3J3YXJkaW5nLgorCisgICAgIGQgeG1sWFBhdGhSZWdpc3RlckZ1bmNMb29rdXAuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aFJlZ2lzdGVyRnVuY0xvb2t1cCcpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aENvbnRleHRQdHIpCisgICAgIGQgIGYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aEZ1bmNMb29rdXBGdW5jKQorICAgICBkICBmdW5jQ3R4dCAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoKKworICAgICAgKiBFcnJvciByZXBvcnRpbmcuCisgICAgICAqIE5vdGUgdGhpcyBwcm9jZWR1cmUgaXMgcmVuYW1lZCBpbiBSUEcgdG8gYXZvaWQgY2hhcmFjdGVyIGNhc2UgY2xhc2ggd2l0aAorICAgICAgKiAgIGRhdGEgdHlwZSB4bWxYUGF0aEVycm9yLgorCisgICAgIGQgeG1sWFBhdGhSZXBvcnRFcnJvci4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoZXJyb3InKQorICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKQorICAgICBkICBmaWxlICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCBjaGFyICoKKyAgICAgZCAgbGluZSAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBubyAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxYUGF0aEVyciAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aEVycicpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIpCisgICAgIGQgIGVycm9yICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICAgL2lmIGRlZmluZWQoTElCWE1MX0RFQlVHX0VOQUJMRUQpCisgICAgIGQgeG1sWFBhdGhEZWJ1Z0R1bXBPYmplY3QuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aERlYnVnRHVtcE9iamVjdCcpCisgICAgIGQgIG91dHB1dCAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZJTEUgKgorICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhPYmplY3RQdHIpCisgICAgIGQgIGRlcHRoICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFhQYXRoRGVidWdEdW1wQ29tcEV4cHIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aERlYnVnRHVtcENvbXBFeHByJykKKyAgICAgZCAgb3V0cHV0ICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRklMRSAqCisgICAgIGQgIGNvbXAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aENvbXBFeHByUHRyKQorICAgICBkICBkZXB0aCAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisgICAgICAvZW5kaWYKKworICAgICAgKiBOb2RlU2V0IGhhbmRsaW5nLgorCisgICAgIGQgeG1sWFBhdGhOb2RlU2V0Q29udGFpbnMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxYUGF0aE5vZGVTZXRDb250YWlucycpCisgICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlU2V0UHRyKQorICAgICBkICB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKworICAgICBkIHhtbFhQYXRoRGlmZmVyZW5jZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoRGlmZmVyZW5jZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlU2V0UHRyKQorICAgICBkICBub2RlczEgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVNldFB0cikKKyAgICAgZCAgbm9kZXMyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVTZXRQdHIpCisKKyAgICAgZCB4bWxYUGF0aEludGVyc2VjdGlvbi4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoSW50ZXJzZWN0aW9uJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVTZXRQdHIpCisgICAgIGQgIG5vZGVzMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlU2V0UHRyKQorICAgICBkICBub2RlczIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVNldFB0cikKKworICAgICBkIHhtbFhQYXRoRGlzdGluY3RTb3J0ZWQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aERpc3RpbmN0U29ydGVkJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVTZXRQdHIpCisgICAgIGQgIG5vZGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlU2V0UHRyKQorCisgICAgIGQgeG1sWFBhdGhEaXN0aW5jdC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoRGlzdGluY3QnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVNldFB0cikKKyAgICAgZCAgbm9kZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVTZXRQdHIpCisKKyAgICAgZCB4bWxYUGF0aEhhc1NhbWVOb2Rlcy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFhQYXRoSGFzU2FtZU5vZGVzJykKKyAgICAgZCAgbm9kZXMxICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVTZXRQdHIpCisgICAgIGQgIG5vZGVzMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlU2V0UHRyKQorCisgICAgIGQgeG1sWFBhdGhOb2RlTGVhZGluZ1NvcnRlZC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoTm9kZUxlYWRpbmdTb3J0ZWQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVNldFB0cikKKyAgICAgZCAgbm9kZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVTZXRQdHIpCisgICAgIGQgIG5vZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQorCisgICAgIGQgeG1sWFBhdGhMZWFkaW5nU29ydGVkLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhMZWFkaW5nU29ydGVkJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVTZXRQdHIpCisgICAgIGQgIG5vZGVzMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlU2V0UHRyKQorICAgICBkICBub2RlczIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVNldFB0cikKKworICAgICBkIHhtbFhQYXRoTm9kZUxlYWRpbmcuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aE5vZGVMZWFkaW5nJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVTZXRQdHIpCisgICAgIGQgIG5vZGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlU2V0UHRyKQorICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKworICAgICBkIHhtbFhQYXRoTGVhZGluZy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoTGVhZGluZycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlU2V0UHRyKQorICAgICBkICBub2RlczEgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVNldFB0cikKKyAgICAgZCAgbm9kZXMyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVTZXRQdHIpCisKKyAgICAgZCB4bWxYUGF0aE5vZGVUcmFpbGluZ1NvcnRlZC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoTm9kZVRyYWlsaW5nU29ydGVkJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVTZXRQdHIpCisgICAgIGQgIG5vZGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlU2V0UHRyKQorICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKworICAgICBkIHhtbFhQYXRoVHJhaWxpbmdTb3J0ZWQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aFRyYWlsaW5nU29ydGVkJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVTZXRQdHIpCisgICAgIGQgIG5vZGVzMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlU2V0UHRyKQorICAgICBkICBub2RlczIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVNldFB0cikKKworICAgICBkIHhtbFhQYXRoTm9kZVRyYWlsaW5nLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhOb2RlVHJhaWxpbmcnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVNldFB0cikKKyAgICAgZCAgbm9kZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVTZXRQdHIpCisgICAgIGQgIG5vZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQorCisgICAgIGQgeG1sWFBhdGhUcmFpbGluZy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoVHJhaWxpbmcnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVNldFB0cikKKyAgICAgZCAgbm9kZXMxICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVTZXRQdHIpCisgICAgIGQgIG5vZGVzMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlU2V0UHRyKQorCisgICAgICAqIEV4dGVuZGluZyBhIGNvbnRleHQuCisKKyAgICAgZCB4bWxYUGF0aFJlZ2lzdGVyTnMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxYUGF0aFJlZ2lzdGVyTnMnKQorICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhDb250ZXh0UHRyKQorICAgICBkICBwcmVmaXggICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgbnNfdXJpICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgZCB4bWxYUGF0aE5zTG9va3VwLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAqICAgZXh0cHJvYygneG1sWFBhdGhOc0xvb2t1cCcpICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhDb250ZXh0UHRyKQorICAgICBkICBwcmVmaXggICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICBkIHhtbFhQYXRoUmVnaXN0ZXJlZE5zQ2xlYW51cC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFhQYXRoUmVnaXN0ZXJlZE5zQ2xlYW51cCcpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aENvbnRleHRQdHIpCisKKyAgICAgZCB4bWxYUGF0aFJlZ2lzdGVyRnVuYy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFhQYXRoUmVnaXN0ZXJGdW5jJykKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoQ29udGV4dFB0cikKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIGYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aEZ1bmN0aW9uKQorCisgICAgIGQgeG1sWFBhdGhSZWdpc3RlckZ1bmNOUy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFhQYXRoUmVnaXN0ZXJGdW5jTlMnKQorICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhDb250ZXh0UHRyKQorICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgbnNfdXJpICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIGYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aEZ1bmN0aW9uKQorCisgICAgIGQgeG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlJykKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoQ29udGV4dFB0cikKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aE9iamVjdFB0cikKKworICAgICBkIHhtbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZU5TLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlTlMnKQorICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhDb250ZXh0UHRyKQorICAgICBkICBuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKyAgICAgZCAgbnNfdXJpICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aE9iamVjdFB0cikKKworICAgICBkIHhtbFhQYXRoRnVuY3Rpb25Mb29rdXAuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aEZ1bmN0aW9uTG9va3VwJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFhQYXRoRnVuY3Rpb24pCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aENvbnRleHRQdHIpCisgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorCisgICAgIGQgeG1sWFBhdGhGdW5jdGlvbkxvb2t1cE5TLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhGdW5jdGlvbkxvb2t1cE5TJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFhQYXRoRnVuY3Rpb24pCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aENvbnRleHRQdHIpCisgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBuc191cmkgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICBkIHhtbFhQYXRoUmVnaXN0ZXJlZEZ1bmNzQ2xlYW51cC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFhQYXRoUmVnaXN0ZXJlZEZ1bmNzQ2xlYW51cCcpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aENvbnRleHRQdHIpCisKKyAgICAgZCB4bWxYUGF0aFZhcmlhYmxlTG9va3VwLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhWYXJpYWJsZUxvb2t1cCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxYUGF0aE9iamVjdFB0cikKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoQ29udGV4dFB0cikKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgZCB4bWxYUGF0aFZhcmlhYmxlTG9va3VwTlMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aFZhcmlhYmxlTG9va3VwTlMnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sWFBhdGhPYmplY3RQdHIpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aENvbnRleHRQdHIpCisgICAgIGQgIG5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKgorICAgICBkICBuc191cmkgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICBkIHhtbFhQYXRoUmVnaXN0ZXJlZFZhcmlhYmxlc0NsZWFudXAuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxYUGF0aFJlZ2lzdGVyZWRWYXJpYWJsZXNDbGVhbnVwJykKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoQ29udGV4dFB0cikKKworICAgICAgKiBVdGlsaXRpZXMgdG8gZXh0ZW5kIFhQYXRoLgorCisgICAgIGQgeG1sWFBhdGhOZXdQYXJzZXJDb250ZXh0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhOZXdQYXJzZXJDb250ZXh0JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cikKKyAgICAgZCAgc3RyICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aENvbnRleHRQdHIpCisKKyAgICAgZCB4bWxYUGF0aEZyZWVQYXJzZXJDb250ZXh0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhGcmVlUGFyc2VyQ29udGV4dCcpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIpCisKKworICAgICAgKiBUT0RPOiByZW1hcCB0byB4bWxYUGF0aFZhbHVlUG9wIGFuZCBQdXNoLgorCisgICAgIGQgdmFsdWVQb3AgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygndmFsdWVQb3AnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sWFBhdGhPYmplY3RQdHIpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIpCisKKyAgICAgZCB2YWx1ZVB1c2ggICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd2YWx1ZVB1c2gnKQorICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKQorICAgICBkICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhPYmplY3RQdHIpCisKKyAgICAgZCB4bWxYUGF0aE5ld1N0cmluZy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoTmV3U3RyaW5nJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFhQYXRoT2JqZWN0UHRyKQorICAgICBkICB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAgIHZhbHVlIG9wdGlvbnMoKnN0cmluZykgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoKKworICAgICBkIHhtbFhQYXRoTmV3Q1N0cmluZy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoTmV3Q1N0cmluZycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxYUGF0aE9iamVjdFB0cikKKyAgICAgZCAgdmFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgY2hhciAqCisKKyAgICAgZCB4bWxYUGF0aFdyYXBTdHJpbmcuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aFdyYXBTdHJpbmcnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sWFBhdGhPYmplY3RQdHIpCisgICAgIGQgIHZhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIHhtbENoYXIgKgorCisgICAgIGQgeG1sWFBhdGhXcmFwQ1N0cmluZy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoV3JhcENTdHJpbmcnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sWFBhdGhPYmplY3RQdHIpCisgICAgIGQgIHZhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgb3B0aW9ucygqc3RyaW5nKSAgICAgICAgICAgICAgIGNoYXIgKgorCisgICAgIGQgeG1sWFBhdGhOZXdGbG9hdC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoTmV3RmxvYXQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sWFBhdGhPYmplY3RQdHIpCisgICAgIGQgIHZhbCAgICAgICAgICAgICAgICAgICAgICAgICAgIDhmICAgdmFsdWUKKworICAgICBkIHhtbFhQYXRoTmV3Qm9vbGVhbi4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoTmV3Qm9vbGVhbicpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxYUGF0aE9iamVjdFB0cikKKyAgICAgZCAgdmFsICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sWFBhdGhOZXdOb2RlU2V0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhOZXdOb2RlU2V0JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFhQYXRoT2JqZWN0UHRyKQorICAgICBkICB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKworICAgICBkIHhtbFhQYXRoTmV3VmFsdWVUcmVlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhOZXdWYWx1ZVRyZWUnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sWFBhdGhPYmplY3RQdHIpCisgICAgIGQgIHZhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQorCisgICAgIGQgeG1sWFBhdGhOb2RlU2V0QWRkLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sWFBhdGhOb2RlU2V0QWRkJykKKyAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVTZXRQdHIpCisgICAgIGQgIHZhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQorCisgICAgIGQgeG1sWFBhdGhOb2RlU2V0QWRkVW5pcXVlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sWFBhdGhOb2RlU2V0QWRkVW5pcXVlJykKKyAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVTZXRQdHIpCisgICAgIGQgIHZhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQorCisgICAgIGQgeG1sWFBhdGhOb2RlU2V0QWRkTnMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAxMGkgMCBleHRwcm9jKCd4bWxYUGF0aE5vZGVTZXRBZGROcycpCisgICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlU2V0UHRyKQorICAgICBkICBub2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKyAgICAgZCAgbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5zUHRyKQorCisgICAgIGQgeG1sWFBhdGhOb2RlU2V0U29ydC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoTm9kZVNldFNvcnQnKQorICAgICBkICBzZXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVNldFB0cikKKworICAgICBkIHhtbFhQYXRoUm9vdCAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoUm9vdCcpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIpCisKKyAgICAgZCB4bWxYUGF0aEV2YWxFeHByLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhFdmFsRXhwcicpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIpCisKKyAgICAgZCB4bWxYUGF0aFBhcnNlTmFtZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgKiAgIGV4dHByb2MoJ3htbFhQYXRoUGFyc2VOYW1lJykgICAgICAgICB4bWxDaGFyICoKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cikKKworICAgICBkIHhtbFhQYXRoUGFyc2VOQ05hbWUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICogICBleHRwcm9jKCd4bWxYUGF0aFBhcnNlTkNOYW1lJykgICAgICAgeG1sQ2hhciAqCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIpCisKKyAgICAgICogRXhpc3RpbmcgZnVuY3Rpb25zLgorCisgICAgIGQgeG1sWFBhdGhTdHJpbmdFdmFsTnVtYmVyLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgIDhmICAgZXh0cHJvYygneG1sWFBhdGhTdHJpbmdFdmFsTnVtYmVyJykKKyAgICAgZCAgc3RyICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgZCB4bWxYUGF0aEV2YWx1YXRlUHJlZGljYXRlUmVzdWx0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sWFBhdGhFdmFsdWF0ZVByZWRpY2F0ZVJlc3VsdCcpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIpCisgICAgIGQgIHJlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aE9iamVjdFB0cikKKworICAgICBkIHhtbFhQYXRoUmVnaXN0ZXJBbGxGdW5jdGlvbnMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxYUGF0aFJlZ2lzdGVyQWxsRnVuY3Rpb25zJykKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoQ29udGV4dFB0cikKKworICAgICBkIHhtbFhQYXRoTm9kZVNldE1lcmdlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhOb2RlU2V0TWVyZ2UnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVNldFB0cikKKyAgICAgZCAgdmFsMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVTZXRQdHIpCisgICAgIGQgIHZhbDIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlU2V0UHRyKQorCisgICAgIGQgeG1sWFBhdGhOb2RlU2V0RGVsLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhOb2RlU2V0RGVsJykKKyAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVTZXRQdHIpCisgICAgIGQgIHZhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQorCisgICAgIGQgeG1sWFBhdGhOb2RlU2V0UmVtb3ZlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhOb2RlU2V0UmVtb3ZlJykKKyAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVTZXRQdHIpCisgICAgIGQgIHZhbCAgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFhQYXRoTmV3Tm9kZVNldExpc3QuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aE5ld05vZGVTZXRMaXN0JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFhQYXRoT2JqZWN0UHRyKQorICAgICBkICB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVNldFB0cikKKworICAgICBkIHhtbFhQYXRoV3JhcE5vZGVTZXQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aFdyYXBOb2RlU2V0JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFhQYXRoT2JqZWN0UHRyKQorICAgICBkICB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVNldFB0cikKKworICAgICBkIHhtbFhQYXRoV3JhcEV4dGVybmFsLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhXcmFwRXh0ZXJuYWwnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sWFBhdGhPYmplY3RQdHIpCisgICAgIGQgIHZhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgorCisgICAgIGQgeG1sWFBhdGhFcXVhbFZhbHVlcy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFhQYXRoRXF1YWxWYWx1ZXMnKQorICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKQorCisgICAgIGQgeG1sWFBhdGhOb3RFcXVhbFZhbHVlcy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgIDEwaSAwIGV4dHByb2MoJ3htbFhQYXRoTm90RXF1YWxWYWx1ZXMnKQorICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKQorCisgICAgIGQgeG1sWFBhdGhDb21wYXJlVmFsdWVzLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sWFBhdGhDb21wYXJlVmFsdWVzJykKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cikKKyAgICAgZCAgaW5mICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorICAgICBkICBzdHJpY3QgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxYUGF0aFZhbHVlRmxpcFNpZ24uLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aFZhbHVlRmxpcFNpZ24nKQorICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKQorCisgICAgIGQgeG1sWFBhdGhBZGRWYWx1ZXMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aEFkZFZhbHVlcycpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIpCisKKyAgICAgZCB4bWxYUGF0aFN1YlZhbHVlcy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoU3ViVmFsdWVzJykKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cikKKworICAgICBkIHhtbFhQYXRoTXVsdFZhbHVlcy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoTXVsdFZhbHVlcycpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIpCisKKyAgICAgZCB4bWxYUGF0aERpdlZhbHVlcy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoRGl2VmFsdWVzJykKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cikKKworICAgICBkIHhtbFhQYXRoTW9kVmFsdWVzLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhNb2RWYWx1ZXMnKQorICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKQorCisgICAgIGQgeG1sWFBhdGhJc05vZGVUeXBlLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgMTBpIDAgZXh0cHJvYygneG1sWFBhdGhJc05vZGVUeXBlJykKKyAgICAgZCAgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisKKyAgICAgICogU29tZSBvZiB0aGUgYXhpcyBuYXZpZ2F0aW9uIHJvdXRpbmVzLgorCisgICAgIGQgeG1sWFBhdGhOZXh0U2VsZi4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoTmV4dFNlbGYnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cikKKyAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisKKyAgICAgZCB4bWxYUGF0aE5leHRDaGlsZC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoTmV4dENoaWxkJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbE5vZGVQdHIpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIpCisgICAgIGQgIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQorCisgICAgIGQgeG1sWFBhdGhOZXh0RGVzY2VuZGFudC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoTmV4dERlc2NlbmRhbnQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cikKKyAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisKKyAgICAgZCB4bWxYUGF0aE5leHREZXNjZW5kYW50T3JTZWxmLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sWFBhdGhOZXh0RGVzY2VuZGFudE9yU2VsZicpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKQorICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKQorICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKworICAgICBkIHhtbFhQYXRoTmV4dFBhcmVudC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoTmV4dFBhcmVudCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKQorICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKQorICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKworICAgICBkIHhtbFhQYXRoTmV4dEFuY2VzdG9yT3JTZWxmLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhOZXh0QW5jZXN0b3JPclNlbGYnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cikKKyAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisKKyAgICAgZCB4bWxYUGF0aE5leHRGb2xsb3dpbmdTaWJsaW5nLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sWFBhdGhOZXh0Rm9sbG93aW5nU2libGluZycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKQorICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKQorICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKworICAgICBkIHhtbFhQYXRoTmV4dEZvbGxvd2luZy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoTmV4dEZvbGxvd2luZycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKQorICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKQorICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKworICAgICBkIHhtbFhQYXRoTmV4dE5hbWVzcGFjZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoTmV4dE5hbWVzcGFjZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKQorICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKQorICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKworICAgICBkIHhtbFhQYXRoTmV4dEF0dHJpYnV0ZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoTmV4dEF0dHJpYnV0ZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKQorICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKQorICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKworICAgICBkIHhtbFhQYXRoTmV4dFByZWNlZGluZy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoTmV4dFByZWNlZGluZycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKQorICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKQorICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKworICAgICBkIHhtbFhQYXRoTmV4dEFuY2VzdG9yLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhOZXh0QW5jZXN0b3InKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cikKKyAgICAgZCAgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisKKyAgICAgZCB4bWxYUGF0aE5leHRQcmVjZWRpbmdTaWJsaW5nLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sWFBhdGhOZXh0UHJlY2VkaW5nU2libGluZycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxOb2RlUHRyKQorICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKQorICAgICBkICBjdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKworICAgICAgKiBUaGUgb2ZmaWNpYWwgY29yZSBvZiBYUGF0aCBmdW5jdGlvbnMuCisKKyAgICAgZCB4bWxYUGF0aExhc3RGdW5jdGlvbi4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoTGFzdEZ1bmN0aW9uJykKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cikKKyAgICAgZCAgbmFyZ3MgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sWFBhdGhQb3NpdGlvbkZ1bmN0aW9uLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhQb3NpdGlvbkZ1bmN0aW9uJykKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cikKKyAgICAgZCAgbmFyZ3MgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sWFBhdGhDb3VudEZ1bmN0aW9uLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhDb3VudEZ1bmN0aW9uJykKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cikKKyAgICAgZCAgbmFyZ3MgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sWFBhdGhJZEZ1bmN0aW9uLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhJZEZ1bmN0aW9uJykKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cikKKyAgICAgZCAgbmFyZ3MgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sWFBhdGhMb2NhbE5hbWVGdW5jdGlvbi4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoTG9jYWxOYW1lRnVuY3Rpb24nKQorICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKQorICAgICBkICBuYXJncyAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxYUGF0aE5hbWVzcGFjZVVSSUZ1bmN0aW9uLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sWFBhdGhOYW1lc3BhY2VVUklGdW5jdGlvbicpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIpCisgICAgIGQgIG5hcmdzICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFhQYXRoU3RyaW5nRnVuY3Rpb24uLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aFN0cmluZ0Z1bmN0aW9uJykKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cikKKyAgICAgZCAgbmFyZ3MgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sWFBhdGhTdHJpbmdMZW5ndGhGdW5jdGlvbi4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3htbFhQYXRoU3RyaW5nTGVuZ3RoRnVuY3Rpb24nKQorICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKQorICAgICBkICBuYXJncyAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxYUGF0aENvbmNhdEZ1bmN0aW9uLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhDb25jYXRGdW5jdGlvbicpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIpCisgICAgIGQgIG5hcmdzICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFhQYXRoQ29udGFpbnNGdW5jdGlvbi4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoQ29udGFpbnNGdW5jdGlvbicpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIpCisgICAgIGQgIG5hcmdzICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFhQYXRoU3RhcnRzV2l0aEZ1bmN0aW9uLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhTdGFydHNXaXRoRnVuY3Rpb24nKQorICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKQorICAgICBkICBuYXJncyAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxYUGF0aFN1YnN0cmluZ0Z1bmN0aW9uLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhTdWJzdHJpbmdGdW5jdGlvbicpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIpCisgICAgIGQgIG5hcmdzICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFhQYXRoU3Vic3RyaW5nQmVmb3JlRnVuY3Rpb24uLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKAorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4bWxYUGF0aFN1YnN0cmluZ0JlZm9yZUZ1bmN0aW9uJykKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cikKKyAgICAgZCAgbmFyZ3MgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sWFBhdGhTdWJzdHJpbmdBZnRlckZ1bmN0aW9uLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sWFBhdGhTdWJzdHJpbmdBZnRlckZ1bmN0aW9uJykKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cikKKyAgICAgZCAgbmFyZ3MgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisKKyAgICAgZCB4bWxYUGF0aE5vcm1hbGl6ZUZ1bmN0aW9uLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhOb3JtYWxpemVGdW5jdGlvbicpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIpCisgICAgIGQgIG5hcmdzICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFhQYXRoVHJhbnNsYXRlRnVuY3Rpb24uLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aFRyYW5zbGF0ZUZ1bmN0aW9uJykKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cikKKyAgICAgZCAgbmFyZ3MgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sWFBhdGhOb3RGdW5jdGlvbi4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoTm90RnVuY3Rpb24nKQorICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKQorICAgICBkICBuYXJncyAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxYUGF0aFRydWVGdW5jdGlvbi4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoVHJ1ZUZ1bmN0aW9uJykKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cikKKyAgICAgZCAgbmFyZ3MgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sWFBhdGhGYWxzZUZ1bmN0aW9uLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhGYWxzZUZ1bmN0aW9uJykKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cikKKyAgICAgZCAgbmFyZ3MgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sWFBhdGhMYW5nRnVuY3Rpb24uLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aExhbmdGdW5jdGlvbicpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIpCisgICAgIGQgIG5hcmdzICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFhQYXRoTnVtYmVyRnVuY3Rpb24uLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aE51bWJlckZ1bmN0aW9uJykKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cikKKyAgICAgZCAgbmFyZ3MgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sWFBhdGhTdW1GdW5jdGlvbi4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoU3VtRnVuY3Rpb24nKQorICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKQorICAgICBkICBuYXJncyAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxYUGF0aEZsb29yRnVuY3Rpb24uLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aEZsb29yRnVuY3Rpb24nKQorICAgICBkICBjdHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKQorICAgICBkICBuYXJncyAgICAgICAgICAgICAgICAgICAgICAgIDEwaSAwIHZhbHVlCisKKyAgICAgZCB4bWxYUGF0aENlaWxpbmdGdW5jdGlvbi4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQYXRoQ2VpbGluZ0Z1bmN0aW9uJykKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cikKKyAgICAgZCAgbmFyZ3MgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sWFBhdGhSb3VuZEZ1bmN0aW9uLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFBhdGhSb3VuZEZ1bmN0aW9uJykKKyAgICAgZCAgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cikKKyAgICAgZCAgbmFyZ3MgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgIGQgeG1sWFBhdGhCb29sZWFuRnVuY3Rpb24uLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aEJvb2xlYW5GdW5jdGlvbicpCisgICAgIGQgIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIpCisgICAgIGQgIG5hcmdzICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICAgKiBSZWFsbHkgaW50ZXJuYWwgZnVuY3Rpb25zCisKKyAgICAgZCB4bWxYUGF0aE5vZGVTZXRGcmVlTnMuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUGF0aE5vZGVTZXRGcmVlTnMnKQorICAgICBkICBucyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTnNQdHIpCisKKyAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCWE1MX1hQQVRIX0VOQUJMRUQKKyAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWFBBVEhfSU5URVJOQUxTX0hfXwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9vczQwMC9saWJ4bWxycGcveHBvaW50ZXIucnBnbGUgYi9saWJ4bWwyL29zNDAwL2xpYnhtbHJwZy94cG9pbnRlci5ycGdsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZjQzMzE0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9vczQwMC9saWJ4bWxycGcveHBvaW50ZXIucnBnbGUKQEAgLTAsMCArMSwxNTcgQEAKKyAgICAgICogU3VtbWFyeTogQVBJIHRvIGhhbmRsZSBYTUwgUG9pbnRlcnMKKyAgICAgICogRGVzY3JpcHRpb246IEFQSSB0byBoYW5kbGUgWE1MIFBvaW50ZXJzCisgICAgICAqIEJhc2UgaW1wbGVtZW50YXRpb24gd2FzIG1hZGUgYWNjb3JkaW5nbHkgdG8KKyAgICAgICogVzNDIENhbmRpZGF0ZSBSZWNvbW1lbmRhdGlvbiA3IEp1bmUgMjAwMAorICAgICAgKiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDAwL0NSLXhwdHItMjAwMDA2MDcKKyAgICAgICoKKyAgICAgICogQWRkZWQgc3VwcG9ydCBmb3IgdGhlIGVsZW1lbnQoKSBzY2hlbWUgZGVzY3JpYmVkIGluOgorICAgICAgKiBXM0MgUHJvcG9zZWQgUmVjb21tZW5kYXRpb24gMTMgTm92ZW1iZXIgMjAwMgorICAgICAgKiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDAyL1BSLXhwdHItZWxlbWVudC0yMDAyMTExMy8KKyAgICAgICoKKyAgICAgICogQ29weTogU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgorICAgICAgKgorICAgICAgKiBBdXRob3I6IFBhdHJpY2sgTW9ubmVyYXQgPHBtQGRhdGFzcGhlcmUuY2g+LCBEQVRBU1BIRVJFIFMuQS4KKworICAgICAgL2lmIG5vdCBkZWZpbmVkKFhNTF9YUFRSX0hfXykKKyAgICAgIC9kZWZpbmUgWE1MX1hQVFJfSF9fCisKKyAgICAgIC9pbmNsdWRlICJsaWJ4bWxycGcveG1sdmVyc2lvbiIKKworICAgICAgL2lmIGRlZmluZWQoTElCWE1MX1hQVFJfRU5BQkxFRCkKKworICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy90cmVlIgorICAgICAgL2luY2x1ZGUgImxpYnhtbHJwZy94cGF0aCIKKworICAgICAgKiBBIExvY2F0aW9uIFNldAorCisgICAgIGQgeG1sTG9jYXRpb25TZXRQdHIuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcyAgICAgICAgICAgICAgICogICBiYXNlZCgjIyMjIyN0eXBlZGVmIyMjIyMjKQorCisgICAgIGQgeG1sTG9jYXRpb25TZXQgIGRzICAgICAgICAgICAgICAgICAgYmFzZWQoeG1sTG9jYXRpb25TZXRQdHIpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24gcXVhbGlmaWVkCisgICAgIGQgIGxvY05yICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgbG9jYXRpb25zIGluIHNldAorICAgICBkICBsb2NNYXggICAgICAgICAgICAgICAgICAgICAgIDEwaSAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYXggbG9jYXRpb25zIGluIHNldAorICAgICBkICBsb2NUYWIgICAgICAgICAgICAgICAgICAgICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxYUGF0aE9iamVjdFB0ciAqCisKKyAgICAgICogSGFuZGxpbmcgb2YgbG9jYXRpb24gc2V0cy4KKworICAgICBkIHhtbFhQdHJMb2NhdGlvblNldENyZWF0ZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQdHJMb2NhdGlvblNldENyZWF0ZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxMb2NhdGlvblNldFB0cikKKyAgICAgZCB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoT2JqZWN0UHRyKQorCisgICAgIGQgeG1sWFB0ckZyZWVMb2NhdGlvblNldC4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQdHJGcmVlTG9jYXRpb25TZXQnKQorICAgICBkIG9iaiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTG9jYXRpb25TZXRQdHIpCisKKyAgICAgZCB4bWxYUHRyTG9jYXRpb25TZXRNZXJnZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQdHJMb2NhdGlvblNldE1lcmdlJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbExvY2F0aW9uU2V0UHRyKQorICAgICBkIHZhbDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTG9jYXRpb25TZXRQdHIpCisgICAgIGQgdmFsMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxMb2NhdGlvblNldFB0cikKKworICAgICBkIHhtbFhQdHJOZXdSYW5nZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQdHJOZXdSYW5nZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxYUGF0aE9iamVjdFB0cikKKyAgICAgZCBzdGFydCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisgICAgIGQgc3RhcnRpbmRleCAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKyAgICAgZCBlbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisgICAgIGQgZW5kaW5kZXggICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFhQdHJOZXdSYW5nZVBvaW50cy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQdHJOZXdSYW5nZVBvaW50cycpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxYUGF0aE9iamVjdFB0cikKKyAgICAgZCBzdGFydCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoT2JqZWN0UHRyKQorICAgICBkIGVuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhPYmplY3RQdHIpCisKKyAgICAgZCB4bWxYUHRyTmV3UmFuZ2VOb2RlUG9pbnQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUHRyTmV3UmFuZ2VOb2RlUG9pbnQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sWFBhdGhPYmplY3RQdHIpCisgICAgIGQgc3RhcnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxOb2RlUHRyKQorICAgICBkIGVuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhPYmplY3RQdHIpCisKKyAgICAgZCB4bWxYUHRyTmV3UmFuZ2VQb2ludE5vZGUuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUHRyTmV3UmFuZ2VQb2ludE5vZGUnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sWFBhdGhPYmplY3RQdHIpCisgICAgIGQgc3RhcnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aE9iamVjdFB0cikKKyAgICAgZCBlbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisKKyAgICAgZCB4bWxYUHRyTmV3UmFuZ2VOb2Rlcy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQdHJOZXdSYW5nZU5vZGVzJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFhQYXRoT2JqZWN0UHRyKQorICAgICBkIHN0YXJ0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKyAgICAgZCBlbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisKKyAgICAgZCB4bWxYUHRyTmV3TG9jYXRpb25TZXROb2Rlcy4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQdHJOZXdMb2NhdGlvblNldE5vZGVzJykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFhQYXRoT2JqZWN0UHRyKQorICAgICBkIHN0YXJ0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKyAgICAgZCBlbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisKKyAgICAgZCB4bWxYUHRyTmV3TG9jYXRpb25TZXROb2RlU2V0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneG1sWFB0ck5ld0xvY2F0aW9uU2V0Tm9kZVNldCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxYUGF0aE9iamVjdFB0cikKKyAgICAgZCBzZXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVTZXRQdHIpCisKKyAgICAgZCB4bWxYUHRyTmV3UmFuZ2VOb2RlT2JqZWN0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFB0ck5ld1JhbmdlTm9kZU9iamVjdCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxYUGF0aE9iamVjdFB0cikKKyAgICAgZCBzdGFydCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisgICAgIGQgZW5kICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aE9iamVjdFB0cikKKworICAgICBkIHhtbFhQdHJOZXdDb2xsYXBzZWRSYW5nZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQdHJOZXdDb2xsYXBzZWRSYW5nZScpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxYUGF0aE9iamVjdFB0cikKKyAgICAgZCBzdGFydCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisKKyAgICAgZCB4bWxYUHRyTG9jYXRpb25TZXRBZGQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUHRyTG9jYXRpb25TZXRBZGQnKQorICAgICBkIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTG9jYXRpb25TZXRQdHIpCisgICAgIGQgdmFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aE9iamVjdFB0cikKKworICAgICBkIHhtbFhQdHJXcmFwTG9jYXRpb25TZXQuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUHRyV3JhcExvY2F0aW9uU2V0JykKKyAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWtlKHhtbFhQYXRoT2JqZWN0UHRyKQorICAgICBkIHZhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTG9jYXRpb25TZXRQdHIpCisKKyAgICAgZCB4bWxYUHRyTG9jYXRpb25TZXREZWwuLi4KKyAgICAgZCAgICAgICAgICAgICAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUHRyTG9jYXRpb25TZXREZWwnKQorICAgICBkIGN1ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTG9jYXRpb25TZXRQdHIpCisgICAgIGQgdmFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aE9iamVjdFB0cikKKworICAgICBkIHhtbFhQdHJMb2NhdGlvblNldFJlbW92ZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQdHJMb2NhdGlvblNldFJlbW92ZScpCisgICAgIGQgY3VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxMb2NhdGlvblNldFB0cikKKyAgICAgZCB2YWwgICAgICAgICAgICAgICAgICAgICAgICAgICAxMGkgMCB2YWx1ZQorCisgICAgICAqIEZ1bmN0aW9ucy4KKworICAgICBkIHhtbFhQdHJOZXdDb250ZXh0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFB0ck5ld0NvbnRleHQnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sWFBhdGhDb250ZXh0UHRyKQorICAgICBkIGRvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sRG9jUHRyKQorICAgICBkIGhlcmUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sTm9kZVB0cikKKyAgICAgZCBvcmlnaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbE5vZGVQdHIpCisKKyAgICAgZCB4bWxYUHRyRXZhbCAgICAgcHIgICAgICAgICAgICAgICAgICBleHRwcm9jKCd4bWxYUHRyRXZhbCcpCisgICAgIGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZSh4bWxYUGF0aE9iamVjdFB0cikKKyAgICAgZCBzdHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICB2YWx1ZSBvcHRpb25zKCpzdHJpbmcpICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqCisgICAgIGQgY3R4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aENvbnRleHRQdHIpCisKKyAgICAgZCB4bWxYUHRyUmFuZ2VUb0Z1bmN0aW9uLi4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFB0clJhbmdlVG9GdW5jdGlvbicpCisgICAgIGQgY3R4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgbGlrZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIpCisgICAgIGQgbmFyZ3MgICAgICAgICAgICAgICAgICAgICAgICAgMTBpIDAgdmFsdWUKKworICAgICBkIHhtbFhQdHJCdWlsZE5vZGVMaXN0Li4uCisgICAgIGQgICAgICAgICAgICAgICAgIHByICAgICAgICAgICAgICAgICAgZXh0cHJvYygneG1sWFB0ckJ1aWxkTm9kZUxpc3QnKQorICAgICBkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UoeG1sTm9kZVB0cikKKyAgICAgZCBvYmogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBsaWtlKHhtbFhQYXRoT2JqZWN0UHRyKQorCisgICAgIGQgeG1sWFB0ckV2YWxSYW5nZVByZWRpY2F0ZS4uLgorICAgICBkICAgICAgICAgICAgICAgICBwciAgICAgICAgICAgICAgICAgIGV4dHByb2MoJ3htbFhQdHJFdmFsUmFuZ2VQcmVkaWNhdGUnKQorICAgICBkIGN0eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGxpa2UoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKQorCisgICAgICAvZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhNTF9YUFRSX0VOQUJMRUQKKyAgICAgIC9lbmRpZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWE1MX1hQVFJfSF9fCmRpZmYgLS1naXQgYS9saWJ4bWwyL29zNDAwL21ha2UtYmxkY3NuZGZhLnNoIGIvbGlieG1sMi9vczQwMC9tYWtlLWJsZGNzbmRmYS5zaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41N2NmMDEyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9vczQwMC9tYWtlLWJsZGNzbmRmYS5zaApAQCAtMCwwICsxLDQzIEBACisjIS9iaW4vc2gKKyMKKyMgICAgICAgQ29tcGlsYXRpb24gc2NyaXB0IGZvciB0aGUgaWNvbnYgbmFtZXMgREZBIGJ1aWxlci4KKyMKKyMgICAgICAgU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgorIworIyAgICAgICBBdXRob3I6IFBhdHJpY2sgTW9ubmVyYXQgPHBtQGRhdGFzcGhlcmUuY2g+LCBEQVRBU1BIRVJFIFMuQS4KKyMKKworU0NSSVBURElSPWBkaXJuYW1lICIkezB9ImAKKy4gIiR7U0NSSVBURElSfS9pbml0c2NyaXB0LnNoIgorY2QgIiR7VE9QRElSfS9vczQwMC9pY29udi9ibGRjc25kZmEiCisKKworIyBUaGlzIGlzIGZvciBvbGQgWE1MIGxpYnJhcnkgKGJvb3RzdHJhcHBpbmcpLgorI3JtIC1yZiB4bWwuaCB4bWwKKyNsbiAtcyAvUVNZUy5MSUIvWE1MLkxJQi9ILkZJTEUvWE1MLk1CUiB4bWwuaAorI21rZGlyIHhtbAorI21rZGlyIHhtbC9oCisjbG4gLXMgL1FTWVMuTElCL1hNTC5MSUIvSC5GSUxFL1VURjguTUJSIHhtbC9oL3V0ZjgKKworCisjICAgICAgIENvbXBpbGUuCisKK0NNRD0iQ1JUQ01PRCBNT0RVTEUoJHtUQVJHRVRMSUJ9L0JMRENTTkRGQSkgU1JDU1RNRignYmxkY3NuZGZhLmMnKSIKK0NNRD0iJHtDTUR9IFNZU0lGQ09QVCgqSUZTNjRJTykgTEFOR0xWTCgqRVhURU5ERUQpIExPQ0FMRVRZUEUoKkxPQ0FMRSkiCitDTUQ9IiR7Q01EfSBJTkNESVIoIgorQ01EPSIke0NNRH0gJyR7SUZTRElSfS9pbmNsdWRlJyAke0lOQ0xVREVTfSkiCitDTUQ9IiR7Q01EfSBUR1RDQ1NJRCgke1RHVENDU0lEfSkgVEdUUkxTKCR7VEdUUkxTfSkiCitDTUQ9IiR7Q01EfSBPVVRQVVQoJHtPVVRQVVR9KSIKK0NNRD0iJHtDTUR9IE9QVElNSVpFKDEwKSIKK0NNRD0iJHtDTUR9IERCR1ZJRVcoJHtERUJVR30pIgorI0NNRD0iJHtDTUR9IERFRklORSgnT0xEWE1MJyAneG1sWFBhdGhTZXRDb250ZXh0Tm9kZT14bWxYUGF0aFNldEN1cnJlbnROb2RlJykiCisKK3N5c3RlbSAiJHtDTUR9IgorCisjICAgICAgIExpbmsKKworQ01EPSJDUlRQR00gUEdNKCR7VEFSR0VUTElCfS9CTERDU05ERkEpIE1PRFVMRSgke1RBUkdFVExJQn0vQkxEQ1NOREZBKSIKK0NNRD0iJHtDTUR9IEJORERJUigke1RBUkdFVExJQn0vJHtEWU5CTkRESVJ9KSIKKyNDTUQ9IiR7Q01EfSBCTkRESVIoWE1ML1hNTCkiCitDTUQ9IiR7Q01EfSBUR1RSTFMoJHtUR1RSTFN9KSIKK3N5c3RlbSAiJHtDTUR9IgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9vczQwMC9tYWtlLWluY2x1ZGUuc2ggYi9saWJ4bWwyL29zNDAwL21ha2UtaW5jbHVkZS5zaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZTViMDU4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9vczQwMC9tYWtlLWluY2x1ZGUuc2gKQEAgLTAsMCArMSw4MSBAQAorIyEvYmluL3NoCisjCisjICAgICAgIEluc3RhbGxhdGlvbiBvZiB0aGUgQyBoZWFkZXIgZmlsZXMgaW4gdGhlIE9TLzQwMCBsaWJyYXJ5LgorIworIyAgICAgICBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisjCisjICAgICAgIEF1dGhvcjogUGF0cmljayBNb25uZXJhdCA8cG1AZGF0YXNwaGVyZS5jaD4sIERBVEFTUEhFUkUgUy5BLgorIworCitTQ1JJUFRESVI9YGRpcm5hbWUgIiR7MH0iYAorLiAiJHtTQ1JJUFRESVJ9L2luaXRzY3JpcHQuc2giCitjZCAiJHtUT1BESVJ9L2luY2x1ZGUiCisKKworIyAgICAgICBDcmVhdGUgdGhlIE9TLzQwMCBzb3VyY2UgcHJvZ3JhbSBmaWxlIGZvciB0aGUgQyBoZWFkZXIgZmlsZXMuCisKK1NSQ1BGPSIke0xJQklGU05BTUV9L0xJQlhNTC5GSUxFIgorCitpZiBhY3Rpb25fbmVlZGVkICIke1NSQ1BGfSIKK3RoZW4gICAgQ01EPSJDUlRTUkNQRiBGSUxFKCR7VEFSR0VUTElCfS9MSUJYTUwpIFJDRExFTigxMTIpIgorICAgICAgICBDTUQ9IiR7Q01EfSBDQ1NJRCgke1RHVENDU0lEfSkgVEVYVCgnbGlieG1sMjogQy9DKysgaGVhZGVyIGZpbGVzJykiCisgICAgICAgIHN5c3RlbSAiJHtDTUR9IgorZmkKKworCisjICAgICAgIENyZWF0ZSB0aGUgSUZTIGRpcmVjdG9yeSBmb3IgdGhlIEMgaGVhZGVyIGZpbGVzLgorCitpZiBhY3Rpb25fbmVlZGVkICIke0lGU0RJUn0vaW5jbHVkZS9saWJ4bWwiCit0aGVuICAgIG1rZGlyIC1wICIke0lGU0RJUn0vaW5jbHVkZS9saWJ4bWwiCitmaQorCisKKworIyAgICAgICBFbnVtZXJhdGlvbiB2YWx1ZXMgbWF5IGJlIHVzZWQgYXMgdmFfYXJnIHRhZ2ZpZWxkcywgc28gdGhleSBNVVNUIGJlCisjICAgICAgICAgICAgICAgaW50ZWdlcnMuCisKK2NvcHlfaGZpbGUoKQorCit7CisgICAgICAgIHNlZCAtZSAnMWlcCisjcHJhZ21hIGVudW0oaW50KVwKKycgIiR7QH0iIC1lICckYVwKKyNwcmFnbWEgZW51bShwb3ApXAorJworfQorCisjICAgICAgIENvcHkgdGhlIGhlYWRlciBmaWxlcyB0byBEQjIgbGlicmFyeS4gTGluayBmcm9tIElGUyBpbmNsdWRlIGRpcmVjdG9yeS4KKworZm9yIEhGSUxFIGluICIke1RPUERJUn0vb3M0MDAvdHJhbnNjb2RlLmgiIGxpYnhtbC8qLmggbGlieG1sLyouaC5pbgorZG8gICAgICBDTUQ9ImNhdCBcIiR7SEZJTEV9XCIiCisgICAgICAgIERFU1Q9IiR7U1JDUEZ9L2BkYjJfbmFtZSBcIiR7SEZJTEV9XCIgbm9tYW5nbGVgLk1CUiIKKworICAgICAgICBjYXNlICJgYmFzZW5hbWUgXCIke0hGSUxFfVwiYCIgaW4KKworICAgICAgICB4bWx3aW4zMnZlcnNpb24uaCopCisgICAgICAgICAgICAgICAgY29udGludWU7OyAgICAgICMgTm90IG9uIE0kVyAhCisKKyAgICAgICAgKi5pbikgICBDTUQ9IiR7Q01EfSB8IHZlcnNpb25lZF9jb3B5Ijs7CisKKyAgICAgICAgeG1sc2NoZW1hc3R5cGVzLmgpICAgICAgIyAgICAgICBTcGVjaWFsIGNhc2U6IHJlbmFtZSBjb2xsaWRpbmcgZmlsZS4KKyAgICAgICAgICAgICAgICBERVNUPSIke1NSQ1BGfS9TQ0hNVFlQRVMuTUJSIjs7CisKKyAgICAgICAgZXNhYworCisgICAgICAgIGlmIGFjdGlvbl9uZWVkZWQgIiR7REVTVH0iICIke0hGSUxFfSIKKyAgICAgICAgdGhlbiAgICBldmFsICIke0NNRH0iIHwgY29weV9oZmlsZSA+IHRtcGhkcmZpbGUKKworICAgICAgICAgICAgICAgICMgICAgICAgTmVlZCB0byB0cmFuc2xhdGUgdG8gdGFyZ2V0IENDU0lELgorCisgICAgICAgICAgICAgICAgQ01EPSJDUFkgT0JKKCdgcHdkYC90bXBoZHJmaWxlJykgVE9PQkooJyR7REVTVH0nKSIKKyAgICAgICAgICAgICAgICBDTUQ9IiR7Q01EfSBUT0NDU0lEKCR7VEdUQ0NTSUR9KSBEVEFGTVQoKlRFWFQpIFJFUExBQ0UoKllFUykiCisgICAgICAgICAgICAgICAgc3lzdGVtICIke0NNRH0iCisgICAgICAgIGZpCisKKyAgICAgICAgSUZTRklMRT0iJHtJRlNESVJ9L2luY2x1ZGUvbGlieG1sL2BiYXNlbmFtZSBcIiR7SEZJTEV9XCIgLmluYCIKKworICAgICAgICBpZiBhY3Rpb25fbmVlZGVkICIke0lGU0ZJTEV9IiAiJHtERVNUfSIKKyAgICAgICAgdGhlbiAgICBybSAtZiAiJHtJRlNGSUxFfSIKKyAgICAgICAgICAgICAgICBsbiAtcyAiJHtERVNUfSIgIiR7SUZTRklMRX0iCisgICAgICAgIGZpCitkb25lCmRpZmYgLS1naXQgYS9saWJ4bWwyL29zNDAwL21ha2UtcnBnLnNoIGIvbGlieG1sMi9vczQwMC9tYWtlLXJwZy5zaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NWQzMjQ5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9vczQwMC9tYWtlLXJwZy5zaApAQCAtMCwwICsxLDk3IEBACisjIS9iaW4vc2gKKyMKKyMgICAgICAgSW5zdGFsbGF0aW9uIG9mIHRoZSBJTEUvUlBHIGhlYWRlciBmaWxlcyBpbiB0aGUgT1MvNDAwIGxpYnJhcnkuCisjCisjICAgICAgIFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyMKKyMgICAgICAgQXV0aG9yOiBQYXRyaWNrIE1vbm5lcmF0IDxwbUBkYXRhc3BoZXJlLmNoPiwgREFUQVNQSEVSRSBTLkEuCisjCisKK1NDUklQVERJUj1gZGlybmFtZSAiJHswfSJgCisuICIke1NDUklQVERJUn0vaW5pdHNjcmlwdC5zaCIKK2NkICIke1RPUERJUn0vb3M0MDAvbGlieG1scnBnIgorCisKKyMgICAgICAgQ3JlYXRlIHRoZSBPUy80MDAgc291cmNlIHByb2dyYW0gZmlsZSBmb3IgdGhlIElMRS9SUEcgaGVhZGVyIGZpbGVzLgorCitTUkNQRj0iJHtMSUJJRlNOQU1FfS9MSUJYTUxSUEcuRklMRSIKKworaWYgYWN0aW9uX25lZWRlZCAiJHtTUkNQRn0iCit0aGVuICAgIENNRD0iQ1JUU1JDUEYgRklMRSgke1RBUkdFVExJQn0vTElCWE1MUlBHKSBSQ0RMRU4oMTEyKSIKKyAgICAgICAgQ01EPSIke0NNRH0gQ0NTSUQoJHtUR1RDQ1NJRH0pIFRFWFQoJ2xpYnhtbDI6IElMRS9SUEcgaGVhZGVyIGZpbGVzJykiCisgICAgICAgIHN5c3RlbSAiJHtDTUR9IgorZmkKKworCisjICAgICAgIE1hcCBmaWxlIG5hbWVzIHRvIERCMiBuYW1lIHN5bnRheC4KKworPiB0bXBzdWJzdGZpbGUKKworZm9yIEhGSUxFIGluICoucnBnbGUgKi5ycGdsZS5pbgorZG8gICAgICBOQU1FPSJgYmFzZW5hbWUgXCIke0hGSUxFfVwiIC5pbmAiCisgICAgICAgIFZBUj0iYGJhc2VuYW1lIFwiJHtOQU1FfVwiIC5ycGdsZWAiCisgICAgICAgIFZBTD0iYGRiMl9uYW1lIFwiJHtOQU1FfVwiIG5vbWFuZ2xlYCIKKworICAgICAgICBpZiBbICIke1ZBUn0iID0gJ3htbHNjaGVtYXN0eXBlcycgXQorICAgICAgICB0aGVuICAgIFZBTD1TQ0hNVFlQRVMKKyAgICAgICAgZmkKKworICAgICAgICBlY2hvICJzLyR7VkFSfS8ke1ZBTH0vZyIgPj4gdG1wc3Vic3RmaWxlCisgICAgICAgIGV2YWwgIlZBUl8ke1ZBUn09XCIke1ZBTH1cIiIKK2RvbmUKKworCitjaGFuZ2VfaW5jbHVkZSgpCisKK3sKKyAgICAgICAgc2VkIC1lICdcI14uLi4uLi4vaW5jbHVkZSAgKiJsaWJ4bWxycGcvI3snICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIC1lICdzLy8vJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIC1lICdzLyIuKi8vJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIC1mIHRtcHN1YnN0ZmlsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIC1lICdzIy4qIyAgICAgIC9pbmNsdWRlIGxpYnhtbHJwZywmIycgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIC1lICd9JworfQorCisKKyMgICAgICAgQ3JlYXRlIHRoZSBJRlMgZGlyZWN0b3J5IGZvciB0aGUgSUxFL1JQRyBoZWFkZXIgZmlsZXMuCisKK1JQR0lGU0RJUj0iJHtJRlNESVJ9L2luY2x1ZGUvbGlieG1scnBnIgorCitpZiBhY3Rpb25fbmVlZGVkICIke1JQR0lGU0RJUn0iCit0aGVuICAgIG1rZGlyIC1wICIke1JQR0lGU0RJUn0iCitmaQorCisjICAgICAgIENvcHkgdGhlIGhlYWRlciBmaWxlcyB0byBJRlMgSUxFL1JQRyBpbmNsdWRlIGRpcmVjdG9yeS4KKyMgICAgICAgQ29weSB0aGVtIHdpdGggaW5jbHVkZSBwYXRoIGVkaXRpbmcgdG8gdGhlIERCMiBsaWJyYXJ5LgorCitmb3IgSEZJTEUgaW4gKi5ycGdsZSAqLnJwZ2xlLmluCitkbyAgICAgIElGU0NNRD0iY2F0IFwiJHtIRklMRX1cIiIKKyAgICAgICAgREIyQ01EPSJjaGFuZ2VfaW5jbHVkZSA8IFwiJHtIRklMRX1cIiIKKyAgICAgICAgSUZTRklMRT0iYGJhc2VuYW1lIFwiJHtIRklMRX1cIiAuaW5gIgorCisgICAgICAgIGNhc2UgIiR7SEZJTEV9IiBpbgorCisgICAgICAgICouaW4pICAgSUZTQ01EPSIke0lGU0NNRH0gfCB2ZXJzaW9uZWRfY29weSIKKyAgICAgICAgICAgICAgICBEQjJDTUQ9IiR7REIyQ01EfSB8IHZlcnNpb25lZF9jb3B5IgorICAgICAgICAgICAgICAgIDs7CisgICAgICAgIGVzYWMKKworICAgICAgICBJRlNERVNUPSIke1JQR0lGU0RJUn0vJHtJRlNGSUxFfSIKKworICAgICAgICBpZiBhY3Rpb25fbmVlZGVkICIke0lGU0RFU1R9IiAiJHtIRklMRX0iCisgICAgICAgIHRoZW4gICAgZXZhbCAiJHtJRlNDTUR9IiA+ICIke0lGU0RFU1R9IgorICAgICAgICBmaQorCisgICAgICAgIGV2YWwgREIyTUJSPSJcIlwke1ZBUl9gYmFzZW5hbWUgXCIke0lGU0RFU1R9XCIgLnJwZ2xlYH1cIiIKKyAgICAgICAgREIyREVTVD0iJHtTUkNQRn0vJHtEQjJNQlJ9Lk1CUiIKKworICAgICAgICBpZiBhY3Rpb25fbmVlZGVkICIke0RCMkRFU1R9IiAiJHtIRklMRX0iCisgICAgICAgIHRoZW4gICAgZXZhbCAiJHtEQjJDTUR9IiB8IGNoYW5nZV9pbmNsdWRlID4gdG1waGRyZmlsZQorCisgICAgICAgICAgICAgICAgIyAgICAgICBOZWVkIHRvIHRyYW5zbGF0ZSB0byB0YXJnZXQgQ0NTSUQuCisKKyAgICAgICAgICAgICAgICBDTUQ9IkNQWSBPQkooJ2Bwd2RgL3RtcGhkcmZpbGUnKSBUT09CSignJHtEQjJERVNUfScpIgorICAgICAgICAgICAgICAgIENNRD0iJHtDTUR9IFRPQ0NTSUQoJHtUR1RDQ1NJRH0pIERUQUZNVCgqVEVYVCkgUkVQTEFDRSgqWUVTKSIKKyAgICAgICAgICAgICAgICBzeXN0ZW0gIiR7Q01EfSIKKyAgICAgICAgZmkKK2RvbmUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvb3M0MDAvbWFrZS1zcmMuc2ggYi9saWJ4bWwyL29zNDAwL21ha2Utc3JjLnNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYwNmNmYWYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL29zNDAwL21ha2Utc3JjLnNoCkBAIC0wLDAgKzEsMjQxIEBACisjIS9iaW4vc2gKKyMKKyMgICAgICAgbGlieG1sIGNvbXBpbGF0aW9uIHNjcmlwdCBmb3IgdGhlIE9TLzQwMC4KKyMKKyMgICAgICAgU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgorIworIyAgICAgICBBdXRob3I6IFBhdHJpY2sgTW9ubmVyYXQgPHBtQGRhdGFzcGhlcmUuY2g+LCBEQVRBU1BIRVJFIFMuQS4KKyMKKworU0NSSVBURElSPWBkaXJuYW1lICIkezB9ImAKKy4gIiR7U0NSSVBURElSfS9pbml0c2NyaXB0LnNoIgorY2QgIiR7VE9QRElSfSIKKworCisjICAgICAgQ3JlYXRlIGFuZCBjb21waWxlIHRoZSBpZGVudGlmaWNhdGlvbiBzb3VyY2UgZmlsZS4KKworZWNobyAnI3ByYWdtYSBjb21tZW50KHVzZXIsICJsaWJ4bWwyIHZlcnNpb24gJyIke0xJQlhNTF9WRVJTSU9OfSInIiknID4gb3M0MDAuYworZWNobyAnI3ByYWdtYSBjb21tZW50KHVzZXIsIF9fREFURV9fKScgPj4gb3M0MDAuYworZWNobyAnI3ByYWdtYSBjb21tZW50KHVzZXIsIF9fVElNRV9fKScgPj4gb3M0MDAuYworZWNobyAnI3ByYWdtYSBjb21tZW50KGNvcHlyaWdodCwgIkNvcHlyaWdodCAoQykgMTk5OC0yMDE0IERhbmllbCBWZWlsbGFyZC4gT1MvNDAwIHZlcnNpb24gYnkgUC4gTW9ubmVyYXQuIiknID4+IG9zNDAwLmMKK21ha2VfbW9kdWxlICAgICBPUzQwMCAgICAgICAgICAgb3M0MDAuYworTElOSz0gICAgICAgICAgICAgICAgICAgICAgICAgICAjIE5vIG5lZWQgdG8gcmVidWlsZCBzZXJ2aWNlIHByb2dyYW0geWV0LgorTU9EVUxFUz0KKworCisjICAgICAgIEdldCBzb3VyY2UgbGlzdC4KKworZm9sZGxpbmVzKCkKKworeworICAgICAgICBzZWQgLWUgJzpiZWdpbicgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgLWUgJy9cXCQveycgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgLWUgJ3MvXFwkLyAvJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgLWUgJ04nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgLWUgJ2JiZWdpbicgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgLWUgJ30nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgLWUgJ3MvXG4vL2cnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgLWUgJ3MvW1s6c3BhY2U6XV0qJC8vJworfQorCisKK2dldF9tYWtlX3ZhcigpCisKK3sKKyAgICAgICAgZm9sZGxpbmVzIDwgTWFrZWZpbGUuYW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgc2VkIC1lICIvXiR7MX1bWzpzcGFjZTpdXSo9W1s6c3BhY2U6XV0qL3siICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIC1lICdzLy8vJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIC1lICdxJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIC1lICd9JyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIC1lICdkJworfQorCisKK2RvY2Jfc291cmNlcz1gZ2V0X21ha2VfdmFyIGRvY2Jfc291cmNlc2AKK3RyaW9fc291cmNlcz1gZ2V0X21ha2VfdmFyIHRyaW9fc291cmNlc2AKK0NTT1VSQ0VTPWBldmFsIGVjaG8gIlxgZ2V0X21ha2VfdmFyIGxpYnhtbDJfbGFfU09VUkNFUyB8IHRyICcoKScgJ3t9J1xgImAKKworCisjICAgICAgIENvbXBpbGUgdGhlIHNvdXJjZXMgaW50byBtb2R1bGVzLgorCitJTkNMVURFUz0iJ2Bwd2RgJyIKKworIyAgICAgICBPUy80MDAgc3BlY2lmaWMgbW9kdWxlcyBmaXJzdC4KKworbWFrZV9tb2R1bGUgICAgIERMRkNOICAgICAgICAgICAiJHtTQ1JJUFRESVJ9L2RsZmNuL2RsZmNuLmMiICAgICcnICAgICAgZWJjZGljCittYWtlX21vZHVsZSAgICAgSUNPTlYgICAgICAgICAgICIke1NDUklQVERJUn0vaWNvbnYvaWNvbnYuYyIgICAgJycgICAgICBlYmNkaWMKK21ha2VfbW9kdWxlICAgICBXUkFQUEVSUyAgICAgICAgIiR7U0NSSVBURElSfS93cmFwcGVycy5jIiAgICAgICAnJyAgICAgIGViY2RpYworbWFrZV9tb2R1bGUgICAgIFRSQU5TQ09ERSAgICAgICAiJHtTQ1JJUFRESVJ9L3RyYW5zY29kZS5jIgorbWFrZV9tb2R1bGUgICAgIFJQR1NVUFBPUlQgICAgICAiJHtTQ1JJUFRESVJ9L3JwZ3N1cHBvcnQuYyIKKworIyAgICAgICBSZWd1bGFyIGxpYnhtbDIgbW9kdWxlcy4KKworZm9yIFNSQyBpbiAke0NTT1VSQ0VTfQorZG8gICAgICBNT0RVTEU9YGRiMl9uYW1lICIke1NSQ30iYAorICAgICAgICBtYWtlX21vZHVsZSAiJHtNT0RVTEV9IiAiJHtTUkN9IgorZG9uZQorCisKKyMgICAgICAgSWYgbmVlZGVkLCAocmUpY3JlYXRlIHRoZSBzdGF0aWMgYmluZGluZyBkaXJlY3RvcnkuCisKK2lmIGFjdGlvbl9uZWVkZWQgIiR7TElCSUZTTkFNRX0vJHtTVEFUQk5ERElSfS5CTkRESVIiCit0aGVuICAgIExJTks9WUVTCitmaQorCitpZiBbICIke0xJTkt9IiBdCit0aGVuICAgIHJtIC1yZiAiJHtMSUJJRlNOQU1FfS8ke1NUQVRCTkRESVJ9LkJORERJUiIKKyAgICAgICAgQ01EPSJDUlRCTkRESVIgQk5ERElSKCR7VEFSR0VUTElCfS8ke1NUQVRCTkRESVJ9KSIKKyAgICAgICAgQ01EPSIke0NNRH0gVEVYVCgnbGlieG1sMiBzdGF0aWMgYmluZGluZyBkaXJlY3RvcnknKSIKKyAgICAgICAgc3lzdGVtICIke0NNRH0iCisKKyAgICAgICAgZm9yIE1PRFVMRSBpbiAke01PRFVMRVN9CisgICAgICAgIGRvICAgICAgQ01EPSJBRERCTkRESVJFIEJORERJUigke1RBUkdFVExJQn0vJHtTVEFUQk5ERElSfSkiCisgICAgICAgICAgICAgICAgQ01EPSIke0NNRH0gT0JKKCgke1RBUkdFVExJQn0vJHtNT0RVTEV9ICpNT0RVTEUpKSIKKyAgICAgICAgICAgICAgICBzeXN0ZW0gIiR7Q01EfSIKKyAgICAgICAgZG9uZQorZmkKKworCisjICAgICAgIFRoZSBleHBvcnRhdGlvbiBmaWxlIGZvciBzZXJ2aWNlIHByb2dyYW0gY3JlYXRpb24gbXVzdCBiZSBpbiBhIERCMgorIyAgICAgICAgICAgICAgIHNvdXJjZSBmaWxlLCBzbyBtYWtlIHN1cmUgaXQgZXhpc3RzLgorCitpZiBhY3Rpb25fbmVlZGVkICIke0xJQklGU05BTUV9L1RPT0xTLkZJTEUiCit0aGVuICAgIENNRD0iQ1JUU1JDUEYgRklMRSgke1RBUkdFVExJQn0vVE9PTFMpIFJDRExFTigxMTIpIgorICAgICAgICBDTUQ9IiR7Q01EfSBDQ1NJRCgke1RHVENDU0lEfSkgVEVYVCgnbGlieG1sMjogYnVpbGQgdG9vbHMnKSIKKyAgICAgICAgc3lzdGVtICIke0NNRH0iCitmaQorCisKKyMgICAgICAgR2VuZXJhdGUgYWxsIGV4cG9ydGVkIHN5bWJvbCB0YWJsZSB2ZXJzaW9ucyBpbiBhIGJpbmRpbmcgc291cmNlIGZpbGUuCisKK0JTRj0iJHtMSUJJRlNOQU1FfS9UT09MUy5GSUxFL0JORFNSQy5NQlIiCitQR01FWFBTPQorCitPUzQwMFNZTVM9YGNhdCBvczQwMC90cmFuc2NvZGUuaCBvczQwMC9ycGdzdXBwb3J0LmggICAgICAgICAgICAgICAgICAgICB8CisgICAgICAgICAgIHNlZCAtZSAnSCcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAtZSAnZycgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAtZSAncy9cbi8gLycgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAtZSAncy9cXCQvIC8nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAtZSAncy8uKi8mIC8nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAtZSAncy9cL1wqLipcKlwvLyAvZycgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAtZSAnaCcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAtZSAnOmxvb3AnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAtZSAnZycgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAtZSAnL1wvXCovZCcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAtZSAnLzsvIWQnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAtZSAncy9bXjtdKjsvLycgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAtZSAneCcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAtZSAncy9bWzpzcGFjZTpdXSo7LiokLy8nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAtZSAnL1hNTFBVQkZVTi97JyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAtZSAncy9bWzpzcGFjZTpdXSooLiokLy8nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAtZSAncy8uKltbOnNwYWNlOl0qXS8vJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAtZSAncCcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAtZSAnYmxvb3AnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAtZSAnfScgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAtZSAnL1hNTFBVQlZBUi8hYmxvb3AnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAtZSAnOmxvb3AyJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAtZSAnL1xbW15dW10qXF0veycgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAtZSAncy8vLycgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAtZSAnYmxvb3AyJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAtZSAnfScgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAtZSAncy9bWzpzcGFjZTpdXSosW1s6c3BhY2U6XV0qLywvZycgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAtZSAncy9bXixdKltbOnNwYWNlOl0qXS8vJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAtZSAncy9bXls6YWxudW06XV8sXS8vZycgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAtZSAncy8sL1xuL2cnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAtZSAncCcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAtZSAnYmxvb3AnYAorCitzZWQgLWUgJ3MvIy4qLy8nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgLWUgJ3MvW1s6c3BhY2U6XV0qJC8vJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgLWUgJ3MvXltbOnNwYWNlOl1dKi8vJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgLWUgJy9eKmdsb2JhbDokL2QnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgLWUgJy9eJC9kJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgLWUgJy9bWzpzcGFjZTpdXSp7JC97JyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgLWUgICAncy8vLycgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgLWUgICAnaCcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgLWUgICAncy9bXkEtWmEtejAtOV0vXy9nJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgLWUgICAncy9eWzAtOV0vXyYvJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgLWUgICAneCcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgLWUgICAnRycgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgLWUgICAncy9cKC4qXClcblwoLipcKS9cMl9TSUdOQVRVUkU9IlwxIi8nICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgLWUgICAncCcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgLWUgICAncy8uKi8vJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgLWUgICAneCcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgLWUgICAicy8uKi9TT05BTUU9JyYnLyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgLWUgICAnYicgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgLWUgJ30nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgLWUgJy9bWzpzcGFjZTpdXSo7JC8hZCcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgLWUgJ3MvLy8nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgLWUgJy9eeG1sRGxsTWFpbiQvZCcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgLWUgJy9efVtbOnNwYWNlOl1dKi8heycgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgLWUgICAnSCcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgLWUgICAnZCcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgLWUgJ30nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgLWUgJ3MvLy8nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgLWUgJy9eJC8heycgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgLWUgICAncy9bXkEtWmEtejAtOV0vXy9nJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgLWUgICAncy9eWzAtOV0vXyYvJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgLWUgICAncy8uKi8keyZ9LycgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgLWUgICAneCcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgLWUgICAnSCcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgLWUgICAncy8uKi8vJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgLWUgJ30nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgLWUgJ3gnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgLWUgJ3MvXG4vIC9nJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgLWUgJ3MvXltbOnNwYWNlOl1dKi8vJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgLWUgJ3MvLiovZGVjbGFyZSAke1NPTkFNRX09IiYiLycgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgLWUgJ3MvLiovJjsgUEdNRVhQUz0iJHtTT05BTUV9ICR7UEdNRVhQU30iLycgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIDwgIiR7VE9QRElSfS9saWJ4bWwyLnN5bXMiICAgID4gYm5kdmFycworLiAuL2JuZHZhcnMKKworUEdNTFZMPUNVUlJFTlQKK2ZvciBQR01FWFAgaW4gJHtQR01FWFBTfQorZG8gICAgICBTSUdOQVRVUkU9YGVjaG8gIiR7UEdNRVhQfSIgfCBzZWQgJ3MvXkxJQlhNTDJfLy8nYAorICAgICAgICBldmFsIEVOVFJJRVM9XCJcJHske1BHTUVYUH19XCIKKyAgICAgICAgZWNobyAiIFNUUlBHTUVYUCBQR01MVkwoKiR7UEdNTFZMfSkgU0lHTkFUVVJFKCcke1NJR05BVFVSRX0nKSIKKyAgICAgICAgZm9yIEVOVFJZIGluICR7RU5UUklFU30gJHtPUzQwMFNZTVN9CisgICAgICAgIGRvICAgICAgZWNobyAiIEVYUE9SVCAgICBTWU1CT0woJyR7RU5UUll9JykiCisgICAgICAgIGRvbmUKKyAgICAgICAgZWNobyAnIEVORFBHTUVYUCcKKyAgICAgICAgUEdNTFZMPVBSVgorZG9uZSAgICAgICAgICAgID4gIiR7QlNGfSIKKworCisjICAgICAgIEJ1aWxkIHRoZSBzZXJ2aWNlIHByb2dyYW0gaWYgbmVlZGVkLgorCitpZiBhY3Rpb25fbmVlZGVkICIke0xJQklGU05BTUV9LyR7U1JWUEdNfS5TUlZQR00iCit0aGVuICAgIExJTks9WUVTCitmaQorCitpZiBbICIke0xJTkt9IiBdCit0aGVuICAgIENNRD0iQ1JUU1JWUEdNIFNSVlBHTSgke1RBUkdFVExJQn0vJHtTUlZQR019KSIKKyAgICAgICAgQ01EPSIke0NNRH0gU1JDRklMRSgke1RBUkdFVExJQn0vVE9PTFMpIFNSQ01CUihCTkRTUkMpIgorICAgICAgICBDTUQ9IiR7Q01EfSBNT0RVTEUoJHtUQVJHRVRMSUJ9L09TNDAwKSIKKyAgICAgICAgQ01EPSIke0NNRH0gQk5ERElSKCgke1RBUkdFVExJQn0vJHtTVEFUQk5ERElSfSkiCisgICAgICAgIGlmIFsgIiR7V0lUSF9aTElCfSIgLW5lIDAgXQorICAgICAgICB0aGVuICAgIENNRD0iJHtDTUR9ICgke1pMSUJfTElCfS8ke1pMSUJfQk5ERElSfSkiCisgICAgICAgIGZpCisgICAgICAgIENNRD0iJHtDTUR9KSIKKyAgICAgICAgQ01EPSIke0NNRH0gQk5EU1JWUEdNKFFBRFJUVFMpIgorICAgICAgICBDTUQ9IiR7Q01EfSBURVhUKCdsaWJ4bWwyIGR5bmFtaWMgbGlicmFyeScpIgorICAgICAgICBDTUQ9IiR7Q01EfSBUR1RSTFMoJHtUR1RSTFN9KSIKKyAgICAgICAgc3lzdGVtICIke0NNRH0iCisgICAgICAgIExJTks9WUVTCitmaQorCisKKyMgICAgICAgSWYgbmVlZGVkLCAocmUpY3JlYXRlIHRoZSBkeW5hbWljIGJpbmRpbmcgZGlyZWN0b3J5LgorCitpZiBhY3Rpb25fbmVlZGVkICIke0xJQklGU05BTUV9LyR7RFlOQk5ERElSfS5CTkRESVIiCit0aGVuICAgIExJTks9WUVTCitmaQorCitpZiBbICIke0xJTkt9IiBdCit0aGVuICAgIHJtIC1yZiAiJHtMSUJJRlNOQU1FfS8ke0RZTkJORERJUn0uQk5ERElSIgorICAgICAgICBDTUQ9IkNSVEJORERJUiBCTkRESVIoJHtUQVJHRVRMSUJ9LyR7RFlOQk5ERElSfSkiCisgICAgICAgIENNRD0iJHtDTUR9IFRFWFQoJ2xpYnhtbDIgZHluYW1pYyBiaW5kaW5nIGRpcmVjdG9yeScpIgorICAgICAgICBzeXN0ZW0gIiR7Q01EfSIKKyAgICAgICAgQ01EPSJBRERCTkRESVJFIEJORERJUigke1RBUkdFVExJQn0vJHtEWU5CTkRESVJ9KSIKKyAgICAgICAgQ01EPSIke0NNRH0gT0JKKCgqTElCTC8ke1NSVlBHTX0gKlNSVlBHTSkpIgorICAgICAgICBzeXN0ZW0gIiR7Q01EfSIKK2ZpCmRpZmYgLS1naXQgYS9saWJ4bWwyL29zNDAwL21ha2Uuc2ggYi9saWJ4bWwyL29zNDAwL21ha2Uuc2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODY0ZTcyYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvb3M0MDAvbWFrZS5zaApAQCAtMCwwICsxLDc1IEBACisjIS9iaW4vc2gKKyMKKyMgICAgICAgbGlieG1sMiBjb21waWxhdGlvbiBzY3JpcHQgZm9yIHRoZSBPUy80MDAuCisjICAgICAgIFRoaXMgaXMgYSBzaGVsbCBzY3JpcHQgc2luY2UgbWFrZSBpcyBub3QgYSBzdGFuZGFyZCBjb21wb25lbnQgb2YgT1MvNDAwLgorIworIyAgICAgICBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisjCisjICAgICAgIEF1dGhvcjogUGF0cmljayBNb25uZXJhdCA8cG1AZGF0YXNwaGVyZS5jaD4sIERBVEFTUEhFUkUgUy5BLgorIworCitTQ1JJUFRESVI9YGRpcm5hbWUgIiR7MH0iYAorLiAiJHtTQ1JJUFRESVJ9L2luaXRzY3JpcHQuc2giCitjZCAiJHtUT1BESVJ9IgorCisKKyMgICAgICAgQ3JlYXRlIHRoZSBPUy80MDAgbGlicmFyeSBpZiBpdCBkb2VzIG5vdCBleGlzdC4KKworaWYgYWN0aW9uX25lZWRlZCAiJHtMSUJJRlNOQU1FfSIKK3RoZW4gICAgQ01EPSJDUlRMSUIgTElCKCR7VEFSR0VUTElCfSkiCisgICAgICAgIENNRD0iJHtDTUR9IFRFWFQoJ2xpYnhtbDI6IFhNTCBwYXJzZXIgYW5kIHRvb2xraXQgQVBJJykiCisgICAgICAgIHN5c3RlbSAiJHtDTUR9IgorZmkKKworCisjICAgICAgIENyZWF0ZSB0aGUgRE9DUyBzb3VyY2UgZmlsZSBpZiBpdCBkb2VzIG5vdCBleGlzdC4KKworaWYgYWN0aW9uX25lZWRlZCAiJHtMSUJJRlNOQU1FfS9ET0NTLkZJTEUiCit0aGVuICAgIENNRD0iQ1JUU1JDUEYgRklMRSgke1RBUkdFVExJQn0vRE9DUykgUkNETEVOKDExMikiCisgICAgICAgIENNRD0iJHtDTUR9IENDU0lEKCR7VEdUQ0NTSUR9KSBURVhUKCdEb2N1bWVudGF0aW9uIHRleHRzJykiCisgICAgICAgIHN5c3RlbSAiJHtDTUR9IgorZmkKKworCisjICAgICAgIENvcHkgc29tZSBkb2N1bWVudGF0aW9uIGZpbGVzIGlmIG5lZWRlZC4KKworZm9yIFRFWFQgaW4gIiR7VE9QRElSfS9BVVRIT1JTIiAiJHtUT1BESVJ9L0NoYW5nZUxvZyIgICAgICAgICAgICAgICAgICAgXAorICAgICIke1RPUERJUn0vQ29weXJpZ2h0IiAiJHtUT1BESVJ9L0hBQ0tJTkciICIke1RPUERJUn0vUkVBRE1FIiAgICAgICAgXAorICAgICIke1RPUERJUn0vTUFJTlRBSU5FUlMiICIke1RPUERJUn0vTkVXUyIgIiR7VE9QRElSfS9UT0RPIiAgICAgICAgICAgXAorICAgICIke1RPUERJUn0vVE9ET19TQ0hFTUFTIiAiJHtUT1BESVJ9L29zNDAwL1JFQURNRTQwMCIKK2RvICAgICAgaWYgWyAtZiAiJHtURVhUfSIgXQorICAgICAgICB0aGVuICAgIE1FTUJFUj0iYGJhc2VuYW1lIFwiJHtURVhUfVwiIC5PUzQwMGAiCisgICAgICAgICAgICAgICAgTUVNQkVSPSIke0xJQklGU05BTUV9L0RPQ1MuRklMRS9gZGIyX25hbWUgXCIke01FTUJFUn1cImAuTUJSIgorCisgICAgICAgICAgICAgICAgaWYgYWN0aW9uX25lZWRlZCAiJHtNRU1CRVJ9IiAiJHtURVhUfSIKKyAgICAgICAgICAgICAgICB0aGVuICAgIENNRD0iQ1BZIE9CSignJHtURVhUfScpIFRPT0JKKCcke01FTUJFUn0nKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIENNRD0iJHtDTUR9IFRPQ0NTSUQoJHtUR1RDQ1NJRH0pIgorICAgICAgICAgICAgICAgICAgICAgICAgQ01EPSIke0NNRH0gRFRBRk1UKCpURVhUKSBSRVBMQUNFKCpZRVMpIgorICAgICAgICAgICAgICAgICAgICAgICAgc3lzdGVtICIke0NNRH0iCisgICAgICAgICAgICAgICAgZmkKKyAgICAgICAgZmkKK2RvbmUKKworCisjICAgICAgIEJ1aWxkIGZpbGVzIGZyb20gdGVtcGxhdGUuCisKK2NvbmZpZ0ZpbGUoKQorCit7CisgICAgICAgIGFyZ3M9YHNldCB8IHNlZCAtZSAnL15bQS1aYS16X11bQS1aYS16MC05X10qPS8hZCcgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAtZSAncy9bXC9cXFxcJl0vXFxcXCYvZycgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAtZSAicy8nLydcXFxcXFwnJy9nIiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAtZSAncy9eXChbXj1dKlwpPVwoLipcKSQvLWUgJ1wnJ3NcL0BcMUBcL1wyXC9nJ1wnL2AKKyAgICAgICAgZXZhbCBzZWQgJHthcmdzfSA8ICIkezF9Ii5pbiA+ICIkezF9IgorfQorCitjb25maWdGaWxlIGluY2x1ZGUvbGlieG1sL3htbHZlcnNpb24uaAorY29uZmlnRmlsZSBvczQwMC9vczQwMGNvbmZpZy5oCittdiBvczQwMC9vczQwMGNvbmZpZy5oIGNvbmZpZy5oCisKKworIyAgICAgICBCdWlsZCBpbiBlYWNoIGRpcmVjdG9yeS4KKworZm9yIFNVQkRJUiBpbiBpbmNsdWRlIHJwZyBzcmMKK2RvICAgICAgIiR7U0NSSVBURElSfS9tYWtlLSR7U1VCRElSfS5zaCIKK2RvbmUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvb3M0MDAvb3M0MDBjb25maWcuaC5pbiBiL2xpYnhtbDIvb3M0MDAvb3M0MDBjb25maWcuaC5pbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zOTY2YWM4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9vczQwMC9vczQwMGNvbmZpZy5oLmluCkBAIC0wLDAgKzEsMzUzIEBACisvKioKKyoqKiAgICAgQ29uZmlndXJhdGlvbiBwYXJhbWV0ZXJzIGZvciB0aGUgT1MvNDAwIGltcGxlbWVudGF0aW9uLgorKioqCisqKiogICAgIFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyoqKgorKioqICAgICBBdXRob3I6IFBhdHJpY2sgTW9ubmVyYXQgPHBtQGRhdGFzcGhlcmUuY2g+LCBEQVRBU1BIRVJFIFMuQS4KKyoqLworCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPGFuc2lkZWNsLmg+IGhlYWRlciBmaWxlLiAqLworI3VuZGVmIEhBVkVfQU5TSURFQ0xfSAorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPGFycGEvaW5ldC5oPiBoZWFkZXIgZmlsZS4gKi8KKyNkZWZpbmUgSEFWRV9BUlBBX0lORVRfSCAgICAgICAgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPGFycGEvbmFtZXNlci5oPiBoZWFkZXIgZmlsZS4gKi8KKyNkZWZpbmUgSEFWRV9BUlBBX05BTUVTRVJfSCAgICAgMQorCisvKiBXaGV0aGVyIHN0cnVjdCBzb2NrYWRkcjo6X19zc19mYW1pbHkgZXhpc3RzICovCisjdW5kZWYgSEFWRV9CUk9LRU5fU1NfRkFNSUxZCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgY2xhc3MnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfQ0xBU1MKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxjdHlwZS5oPiBoZWFkZXIgZmlsZS4gKi8KKyNkZWZpbmUgSEFWRV9DVFlQRV9IICAgICAgICAgICAgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPGRpcmVudC5oPiBoZWFkZXIgZmlsZS4gKi8KKyNkZWZpbmUgSEFWRV9ESVJFTlRfSCAgICAgICAgICAgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPGRsZmNuLmg+IGhlYWRlciBmaWxlLiAqLworI2RlZmluZSBIQVZFX0RMRkNOX0ggICAgICAgICAgICAxICAgICAgIC8qIExvY2FsbHkgZW11bGF0ZWQuICovCisKKy8qIEhhdmUgZGxvcGVuIGJhc2VkIGRzbyAqLworI2RlZmluZSBIQVZFX0RMT1BFTiAgICAgICAgICAgICAxICAgICAgIC8qIExvY2FsbHkgZW11bGF0ZWQuICovCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8ZGwuaD4gaGVhZGVyIGZpbGUuICovCisjdW5kZWYgSEFWRV9ETF9ICisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8ZXJybm8uaD4gaGVhZGVyIGZpbGUuICovCisjZGVmaW5lIEhBVkVfRVJSTk9fSCAgICAgICAgICAgIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxmY250bC5oPiBoZWFkZXIgZmlsZS4gKi8KKyNkZWZpbmUgSEFWRV9GQ05UTF9IICAgICAgICAgICAgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGZpbml0ZScgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9GSU5JVEUKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxmbG9hdC5oPiBoZWFkZXIgZmlsZS4gKi8KKyNkZWZpbmUgSEFWRV9GTE9BVF9IICAgICAgICAgICAgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGZwY2xhc3MnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfRlBDTEFTUworCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGZwcmludGYnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfRlBSSU5URiAgICAgICAgICAgICAgICAgICAgIC8qIFVzZSB0cmlvLiAqLworCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGZwX2NsYXNzJyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX0ZQX0NMQVNTCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8ZnBfY2xhc3MuaD4gaGVhZGVyIGZpbGUuICovCisjdW5kZWYgSEFWRV9GUF9DTEFTU19ICisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgZnRpbWUnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfRlRJTUUKKworLyogRGVmaW5lIGlmIGdldGFkZHJpbmZvIGlzIHRoZXJlICovCisjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gICAgICAgIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBnZXR0aW1lb2ZkYXknIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfR0VUVElNRU9GREFZCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8aWVlZWZwLmg+IGhlYWRlciBmaWxlLiAqLworI3VuZGVmIEhBVkVfSUVFRUZQX0gKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxpbnR0eXBlcy5oPiBoZWFkZXIgZmlsZS4gKi8KKyNkZWZpbmUgSEFWRV9JTlRUWVBFU19IICAgICAgICAgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGlzYXNjaWknIGZ1bmN0aW9uLiAqLworI2RlZmluZSBIQVZFX0lTQVNDSUkgICAgICAgICAgICAxCisKKy8qIERlZmluZSBpZiBpc2luZiBpcyB0aGVyZSAqLworI3VuZGVmIEhBVkVfSVNJTkYKKworLyogRGVmaW5lIGlmIGlzbmFuIGlzIHRoZXJlICovCisjdW5kZWYgSEFWRV9JU05BTgorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGlzbmFuZCcgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9JU05BTkQKKworLyogRGVmaW5lIGlmIGhpc3RvcnkgbGlicmFyeSBpcyB0aGVyZSAoLWxoaXN0b3J5KSAqLworI3VuZGVmIEhBVkVfTElCSElTVE9SWQorCisvKiBIYXZlIGNvbXByZXNzaW9uIGxpYnJhcnkgKi8KKyN1bmRlZiBIQVZFX0xJQkxaTUEKKworLyogRGVmaW5lIGlmIHB0aHJlYWQgbGlicmFyeSBpcyB0aGVyZSAoLWxwdGhyZWFkKSAqLworI3VuZGVmIEhBVkVfTElCUFRIUkVBRAorCisvKiBEZWZpbmUgaWYgcmVhZGxpbmUgbGlicmFyeSBpcyB0aGVyZSAoLWxyZWFkbGluZSkgKi8KKyN1bmRlZiBIQVZFX0xJQlJFQURMSU5FCisKKy8qIEhhdmUgY29tcHJlc3Npb24gbGlicmFyeSAqLworI3VuZGVmIEhBVkVfTElCWgorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPGxpbWl0cy5oPiBoZWFkZXIgZmlsZS4gKi8KKyNkZWZpbmUgSEFWRV9MSU1JVFNfSCAgICAgICAgICAgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGxvY2FsdGltZScgZnVuY3Rpb24uICovCisjZGVmaW5lIEhBVkVfTE9DQUxUSU1FICAgICAgICAgIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxsem1hLmg+IGhlYWRlciBmaWxlLiAqLworI3VuZGVmIEhBVkVfTFpNQV9ICisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8bWFsbG9jLmg+IGhlYWRlciBmaWxlLiAqLworI3VuZGVmIEhBVkVfTUFMTE9DX0gKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxtYXRoLmg+IGhlYWRlciBmaWxlLiAqLworI2RlZmluZSBIQVZFX01BVEhfSCAgICAgICAgICAgICAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8bWVtb3J5Lmg+IGhlYWRlciBmaWxlLiAqLworI2RlZmluZSBIQVZFX01FTU9SWV9IICAgICAgICAgICAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgbW1hcCcgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9NTUFQCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgbXVubWFwJyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX01VTk1BUAorCisvKiBtbWFwKCkgaXMgbm8gZ29vZCB3aXRob3V0IG11bm1hcCgpICovCisjaWYgZGVmaW5lZChIQVZFX01NQVApICYmICFkZWZpbmVkKEhBVkVfTVVOTUFQKQorIyAgdW5kZWYgLyoqLyBIQVZFX01NQVAKKyNlbmRpZgorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPG5hbi5oPiBoZWFkZXIgZmlsZS4gKi8KKyN1bmRlZiBIQVZFX05BTl9ICisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8bmRpci5oPiBoZWFkZXIgZmlsZSwgYW5kIGl0IGRlZmluZXMgYERJUicuICovCisjdW5kZWYgSEFWRV9ORElSX0gKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxuZXRkYi5oPiBoZWFkZXIgZmlsZS4gKi8KKyNkZWZpbmUgSEFWRV9ORVREQl9IICAgICAgICAgICAgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPG5ldGluZXQvaW4uaD4gaGVhZGVyIGZpbGUuICovCisjZGVmaW5lIEhBVkVfTkVUSU5FVF9JTl9IICAgICAgIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxwb2xsLmg+IGhlYWRlciBmaWxlLiAqLworI3VuZGVmIEhBVkVfUE9MTF9ICisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgcHJpbnRmJyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX1BSSU5URiAgICAgICAgICAgICAgICAgICAgICAvKiBVc2UgdHJpby4gKi8KKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGB2cHJpbnRmJyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX1ZQUklOVEYgICAgICAgICAgICAgICAgICAgICAvKiBVc2UgdHJpby4gKi8KKworLyogRGVmaW5lIGlmIDxwdGhyZWFkLmg+IGlzIHRoZXJlICovCisjZGVmaW5lIEhBVkVfUFRIUkVBRF9IICAgICAgICAgIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBwdXRlbnYnIGZ1bmN0aW9uLiAqLworI2RlZmluZSBIQVZFX1BVVEVOViAgICAgICAgICAgICAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgcmFuZCcgZnVuY3Rpb24uICovCisjZGVmaW5lIEhBVkVfUkFORCAgICAgICAgICAgICAgIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGByYW5kX3InIGZ1bmN0aW9uLiAqLworI2RlZmluZSBIQVZFX1JBTkRfUiAgICAgICAgICAgICAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8cmVzb2x2Lmg+IGhlYWRlciBmaWxlLiAqLworI2RlZmluZSBIQVZFX1JFU09MVl9IICAgICAgICAgICAxCisKKy8qIEhhdmUgc2hsX2xvYWQgYmFzZWQgZHNvICovCisjdW5kZWYgSEFWRV9TSExMT0FECisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgc2lnbmFsJyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX1NJR05BTAorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHNpZ25hbC5oPiBoZWFkZXIgZmlsZS4gKi8KKyNkZWZpbmUgSEFWRV9TSUdOQUxfSCAgICAgICAgICAgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHNucHJpbnRmJyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX1NOUFJJTlRGICAgICAgICAgICAgICAgICAgICAvKiBVc2UgdHJpby4gKi8KKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBzcHJpbnRmJyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX1NQUklOVEYgICAgICAgICAgICAgICAgICAgICAvKiBVc2UgdHJpby4gKi8KKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBzcmFuZCcgZnVuY3Rpb24uICovCisjZGVmaW5lIEhBVkVfU1JBTkQgICAgICAgICAgICAgIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBzY2FuZicgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9TQ0FORiAgICAgICAgICAgICAgICAgICAgICAgLyogVXNlIHRyaW8uICovCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgZnNjYW5mJyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX0ZTQ0FORiAgICAgICAgICAgICAgICAgICAgICAvKiBVc2UgdHJpby4gKi8KKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBzc2NhbmYnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfU1NDQU5GICAgICAgICAgICAgICAgICAgICAgIC8qIFVzZSB0cmlvLiAqLworCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHN0YXQnIGZ1bmN0aW9uLiAqLworI2RlZmluZSBIQVZFX1NUQVQgICAgICAgICAgICAgICAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3RkYXJnLmg+IGhlYWRlciBmaWxlLiAqLworI2RlZmluZSBIQVZFX1NUREFSR19IICAgICAgICAgICAxICAgICAgIC8qIE92ZXJsb2FkZWQgKi8KKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzdGRpbnQuaD4gaGVhZGVyIGZpbGUuICovCisjZGVmaW5lIEhBVkVfU1RESU5UX0ggICAgICAgICAgIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzdGRsaWIuaD4gaGVhZGVyIGZpbGUuICovCisjZGVmaW5lIEhBVkVfU1RETElCX0ggICAgICAgICAgIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBzdHJkdXAnIGZ1bmN0aW9uLiAqLworI2RlZmluZSBIQVZFX1NUUkRVUCAgICAgICAgICAgICAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgc3RyZXJyb3InIGZ1bmN0aW9uLiAqLworI2RlZmluZSBIQVZFX1NUUkVSUk9SICAgICAgICAgICAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgc3RyZnRpbWUnIGZ1bmN0aW9uLiAqLworI2RlZmluZSBIQVZFX1NUUkZUSU1FICAgICAgICAgICAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3RyaW5ncy5oPiBoZWFkZXIgZmlsZS4gKi8KKyNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggICAgICAgICAgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN0cmluZy5oPiBoZWFkZXIgZmlsZS4gKi8KKyNkZWZpbmUgSEFWRV9TVFJJTkdfSCAgICAgICAgICAgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHN0cm5kdXAnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfU1RSTkRVUAorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy9kaXIuaD4gaGVhZGVyIGZpbGUsIGFuZCBpdCBkZWZpbmVzIGBESVInLgorICAgKi8KKyN1bmRlZiBIQVZFX1NZU19ESVJfSAorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy9tbWFuLmg+IGhlYWRlciBmaWxlLiAqLworI2RlZmluZSBIQVZFX1NZU19NTUFOX0ggICAgICAgICAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3lzL25kaXIuaD4gaGVhZGVyIGZpbGUsIGFuZCBpdCBkZWZpbmVzIGBESVInLgorICAgKi8KKyN1bmRlZiBIQVZFX1NZU19ORElSX0gKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzeXMvc2VsZWN0Lmg+IGhlYWRlciBmaWxlLiAqLworI3VuZGVmIEhBVkVfU1lTX1NFTEVDVF9ICisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3lzL3NvY2tldC5oPiBoZWFkZXIgZmlsZS4gKi8KKyNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggICAgICAgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy9zdGF0Lmg+IGhlYWRlciBmaWxlLiAqLworI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggICAgICAgICAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3lzL3RpbWViLmg+IGhlYWRlciBmaWxlLiAqLworI2RlZmluZSBIQVZFX1NZU19USU1FQl9IICAgICAgICAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3lzL3RpbWUuaD4gaGVhZGVyIGZpbGUuICovCisjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3lzL3R5cGVzLmg+IGhlYWRlciBmaWxlLiAqLworI2RlZmluZSBIQVZFX1NZU19UWVBFU19IICAgICAgICAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgdGltZScgZnVuY3Rpb24uICovCisjZGVmaW5lIEhBVkVfVElNRSAgICAgICAgICAgICAgIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDx0aW1lLmg+IGhlYWRlciBmaWxlLiAqLworI2RlZmluZSBIQVZFX1RJTUVfSCAgICAgICAgICAgICAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8dW5pc3RkLmg+IGhlYWRlciBmaWxlLiAqLworI2RlZmluZSBIQVZFX1VOSVNURF9IICAgICAgICAgICAxCisKKy8qIFdoZXRoZXIgdmFfY29weSgpIGlzIGF2YWlsYWJsZSAqLworI3VuZGVmIEhBVkVfVkFfQ09QWQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHZmcHJpbnRmJyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX1ZGUFJJTlRGICAgICAgICAgICAgICAgICAgICAvKiBVc2UgdHJpby4gKi8KKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGB2c25wcmludGYnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfVlNOUFJJTlRGICAgICAgICAgICAgICAgICAgIC8qIFVzZSB0cmlvLiAqLworCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHZzcHJpbnRmJyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX1ZTUFJJTlRGICAgICAgICAgICAgICAgICAgICAvKiBVc2UgdHJpby4gKi8KKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDx6bGliLmg+IGhlYWRlciBmaWxlLiAqLworLyogQWN0dWFsbHkgZGVwZW5kZW50IG9uIHRoZSBjb21waWxhdGlvbiBzY3JpcHQuICovCisjaWYgQFdJVEhfWkxJQkAKKyNkZWZpbmUgSEFWRV9aTElCX0ggICAgICAgICAgICAgMQorI2Vsc2UKKyN1bmRlZiBIQVZFX1pMSUJfSAorI2VuZGlmCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgX3N0YXQnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfX1NUQVQKKworLyogV2hldGhlciBfX3ZhX2NvcHkoKSBpcyBhdmFpbGFibGUgKi8KKyN1bmRlZiBIQVZFX19fVkFfQ09QWQorCisvKiBEZWZpbmUgYXMgY29uc3QgaWYgdGhlIGRlY2xhcmF0aW9uIG9mIGljb252KCkgbmVlZHMgY29uc3QuICovCisjZGVmaW5lIElDT05WX0NPTlNUCisKKy8qIERlZmluZSB0byB0aGUgc3ViLWRpcmVjdG9yeSBpbiB3aGljaCBsaWJ0b29sIHN0b3JlcyB1bmluc3RhbGxlZCBsaWJyYXJpZXMuCisgICAqLworI3VuZGVmIExUX09CSkRJUgorCisvKiBOYW1lIG9mIHBhY2thZ2UgKi8KKyNkZWZpbmUgUEFDS0FHRSAgICAgICAgICAgICAgICAgImxpYnhtbDIiCisKKy8qIERlZmluZSB0byB0aGUgYWRkcmVzcyB3aGVyZSBidWcgcmVwb3J0cyBmb3IgdGhpcyBwYWNrYWdlIHNob3VsZCBiZSBzZW50LiAqLworI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAgICAgICAiIgorCisvKiBEZWZpbmUgdG8gdGhlIGZ1bGwgbmFtZSBvZiB0aGlzIHBhY2thZ2UuICovCisjZGVmaW5lIFBBQ0tBR0VfTkFNRSAgICAgICAgICAgICIiCisKKy8qIERlZmluZSB0byB0aGUgZnVsbCBuYW1lIGFuZCB2ZXJzaW9uIG9mIHRoaXMgcGFja2FnZS4gKi8KKyNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgICAgICAgICAgIiIKKworLyogRGVmaW5lIHRvIHRoZSBvbmUgc3ltYm9sIHNob3J0IG5hbWUgb2YgdGhpcyBwYWNrYWdlLiAqLworI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgICAgICAgICAiIgorCisvKiBEZWZpbmUgdG8gdGhlIGhvbWUgcGFnZSBmb3IgdGhpcyBwYWNrYWdlLiAqLworI2RlZmluZSBQQUNLQUdFX1VSTCAgICAgICAgICAgICAiIgorCisvKiBEZWZpbmUgdG8gdGhlIHZlcnNpb24gb2YgdGhpcyBwYWNrYWdlLiAqLworI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gICAgICAgICAiIgorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgQU5TSSBDIGhlYWRlciBmaWxlcy4gKi8KKyNkZWZpbmUgU1REQ19IRUFERVJTICAgICAgICAgICAgMQorCisvKiBTdXBwb3J0IGZvciBJUHY2ICovCisjZGVmaW5lIFNVUFBPUlRfSVA2CisKKy8qIFZlcnNpb24gbnVtYmVyIG9mIHBhY2thZ2UgKi8KKyNkZWZpbmUgVkVSU0lPTiAgICAgICAgICAgICAgICAgIkBWRVJTSU9OQCIKKworLyogRGV0ZXJtaW5lIHdoYXQgc29ja2V0IGxlbmd0aCAoc29ja2xlbl90KSBkYXRhIHR5cGUgaXMgKi8KKyNkZWZpbmUgWE1MX1NPQ0tMRU5fVCAgICAgICAgICAgc29ja2xlbl90CisKKy8qIERlZmluZSBmb3IgU29sYXJpcyAyLjUuMSBzbyB0aGUgdWludDMyX3QgdHlwZWRlZiBmcm9tIDxzeXMvc3luY2guaD4sCisgICA8cHRocmVhZC5oPiwgb3IgPHNlbWFwaG9yZS5oPiBpcyBub3QgdXNlZC4gSWYgdGhlIHR5cGVkZWYgd2VyZSBhbGxvd2VkLCB0aGUKKyAgICNkZWZpbmUgYmVsb3cgd291bGQgY2F1c2UgYSBzeW50YXggZXJyb3IuICovCisjdW5kZWYgX1VJTlQzMl9UCisKKy8qIFVzaW5nIHRoZSBXaW4zMiBTb2NrZXQgaW1wbGVtZW50YXRpb24gKi8KKyN1bmRlZiBfV0lOU09DS0FQSV8KKworLyogc3NfZmFtaWx5IGlzIG5vdCBkZWZpbmVkIGhlcmUsIHVzZSBfX3NzX2ZhbWlseSBpbnN0ZWFkICovCisjdW5kZWYgc3NfZmFtaWx5CisKKy8qIERlZmluZSB0byB0aGUgdHlwZSBvZiBhbiB1bnNpZ25lZCBpbnRlZ2VyIHR5cGUgb2Ygd2lkdGggZXhhY3RseSAzMiBiaXRzIGlmCisgICBzdWNoIGEgdHlwZSBleGlzdHMgYW5kIHRoZSBzdGFuZGFyZCBpbmNsdWRlcyBkbyBub3QgZGVmaW5lIGl0LiAqLworI3VuZGVmIHVpbnQzMl90CisKKy8qIFR5cGUgY2FzdCBmb3IgdGhlIHNlbmQoKSBmdW5jdGlvbiAybmQgYXJnICovCisjZGVmaW5lIFNFTkRfQVJHMl9DQVNUICAgICAgICAgIChjaGFyICopCisKKy8qIFR5cGUgY2FzdCBmb3IgdGhlIGdldGhvc3RieW5hbWUoKSBhcmd1bWVudCAqLworI2RlZmluZSBHRVRIT1NUQllOQU1FX0FSR19DQVNUICAoY2hhciAqKQorCisvKiBEZWZpbmUgaWYgdmFfbGlzdCBpcyBhbiBhcnJheSB0eXBlICovCisjZGVmaW5lIFZBX0xJU1RfSVNfQVJSQVkgICAgICAgIDEKZGlmZiAtLWdpdCBhL2xpYnhtbDIvb3M0MDAvcnBnc3VwcG9ydC5jIGIvbGlieG1sMi9vczQwMC9ycGdzdXBwb3J0LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTM2MDljMAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvb3M0MDAvcnBnc3VwcG9ydC5jCkBAIC0wLDAgKzEsMjcwIEBACisvKioKKyoqKiAgICAgQWRkaXRpb25hbCBwcm9jZWR1cmVzIGZvciBJTEUvUlBHIHN1cHBvcnQuCisqKioKKyoqKiAgICAgU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgorKioqCisqKiogICAgIEF1dGhvcjogUGF0cmljayBNb25uZXJhdCA8cG1AZGF0YXNwaGVyZS5jaD4sIERBVEFTUEhFUkUgUy5BLgorKiovCisKKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKworI2luY2x1ZGUgPHN0ZGFyZy5oPgorCisjaW5jbHVkZSAibGlieG1sL3htbG1lbW9yeS5oIgorI2luY2x1ZGUgImxpYnhtbC94cGF0aC5oIgorI2luY2x1ZGUgImxpYnhtbC9wYXJzZXIuaCIKKyNpbmNsdWRlICJsaWJ4bWwvSFRNTHBhcnNlci5oIgorCisjaW5jbHVkZSAicnBnc3VwcG9ydC5oIgorCisKKy8qKgorKioqICAgICBJTEUvUlBHIGNhbm5vdCBkaXJlY3RseSBkZXJlZmVuY2UgYSBwb2ludGVyIGFuZCBoYXMgbm8gbWFjcm9zLgorKioqICAgICBUaGUgZm9sbG93aW5nIGFkZGl0aW9uYWwgcHJvY2VkdXJlcyBzdXBwbHkgdGhlc2UgZnVuY3Rpb25zLgorKioqICAgICBJbiBhZGRpdGlvbiwgdGhlIGZvbGxvd2luZyBjb2RlIGlzIGFkanVzdGVkIGZvciB0aHJlYWRzIGNvbnRyb2wgYXQKKyoqKiAgICAgICAgICAgICBjb21waWxlIHRpbWUgdmlhIHRoZSBDIG1hY3Jvcy4KKyoqLworCisjZGVmaW5lIFRIUkVBREVEX1ZBUihuYW1lLCB0eXBlKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgdHlwZSBfX2dldF8jI25hbWUodm9pZCkgeyByZXR1cm4gbmFtZTsgfSAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgdm9pZCBfX3NldF8jI25hbWUodHlwZSBhcmcpIHsgbmFtZSA9IGFyZzsgfQorCisKK1RIUkVBREVEX1ZBUih4bWxGcmVlLCB4bWxGcmVlRnVuYykKKwordm9pZAorX19jYWxsX3htbEZyZWUodm9pZCAqIG1lbSkKKworeworICAgICAgICB4bWxGcmVlKG1lbSk7Cit9CisKKworVEhSRUFERURfVkFSKHhtbE1hbGxvYywgeG1sTWFsbG9jRnVuYykKKwordm9pZCAqCitfX2NhbGxfeG1sTWFsbG9jKHNpemVfdCBzaXplKQorCit7CisgICAgICAgIHJldHVybiB4bWxNYWxsb2Moc2l6ZSk7Cit9CisKKworVEhSRUFERURfVkFSKHhtbE1hbGxvY0F0b21pYywgeG1sTWFsbG9jRnVuYykKKwordm9pZCAqCitfX2NhbGxfeG1sTWFsbG9jQXRvbWljKHNpemVfdCBzaXplKQorCit7CisgICAgICAgIHJldHVybiB4bWxNYWxsb2NBdG9taWMoc2l6ZSk7Cit9CisKKworVEhSRUFERURfVkFSKHhtbFJlYWxsb2MsIHhtbFJlYWxsb2NGdW5jKQorCit2b2lkICoKK19fY2FsbF94bWxSZWFsbG9jKHZvaWQgKiBtZW0sIHNpemVfdCBzaXplKQorCit7CisgICAgICAgIHJldHVybiB4bWxSZWFsbG9jKG1lbSwgc2l6ZSk7Cit9CisKKworVEhSRUFERURfVkFSKHhtbE1lbVN0cmR1cCwgeG1sU3RyZHVwRnVuYykKKworY2hhciAqCitfX2NhbGxfeG1sTWVtU3RyZHVwKGNvbnN0IGNoYXIgKiBzdHIpCisKK3sKKyAgICAgICAgcmV0dXJuIHhtbE1lbVN0cmR1cChzdHIpOworfQorCisKKyNpZmRlZiBMSUJYTUxfRE9DQl9FTkFCTEVECitUSFJFQURFRF9WQVIoZG9jYkRlZmF1bHRTQVhIYW5kbGVyLCB4bWxTQVhIYW5kbGVyVjEpCisjZW5kaWYKKworCisjaWZkZWYgTElCWE1MX0hUTUxfRU5BQkxFRAorVEhSRUFERURfVkFSKGh0bWxEZWZhdWx0U0FYSGFuZGxlciwgeG1sU0FYSGFuZGxlclYxKQorI2VuZGlmCisKKworVEhSRUFERURfVkFSKHhtbExhc3RFcnJvciwgeG1sRXJyb3IpCisKK1RIUkVBREVEX1ZBUihvbGRYTUxXRGNvbXBhdGliaWxpdHksIGludCkKK1RIUkVBREVEX1ZBUih4bWxCdWZmZXJBbGxvY1NjaGVtZSwgeG1sQnVmZmVyQWxsb2NhdGlvblNjaGVtZSkKK1RIUkVBREVEX1ZBUih4bWxEZWZhdWx0QnVmZmVyU2l6ZSwgaW50KQorVEhSRUFERURfVkFSKHhtbERlZmF1bHRTQVhIYW5kbGVyLCB4bWxTQVhIYW5kbGVyVjEpCitUSFJFQURFRF9WQVIoeG1sRGVmYXVsdFNBWExvY2F0b3IsIHhtbFNBWExvY2F0b3IpCitUSFJFQURFRF9WQVIoeG1sRG9WYWxpZGl0eUNoZWNraW5nRGVmYXVsdFZhbHVlLCBpbnQpCisKKy8qIE5vIGNhbGxlciB0byB4bWxHZW5lcmljRXJyb3IoKSBiZWNhdXNlIHRoZSBhcmd1bWVudCBsaXN0IGlzIHVua25vd24uICovCitUSFJFQURFRF9WQVIoeG1sR2VuZXJpY0Vycm9yLCB4bWxHZW5lcmljRXJyb3JGdW5jKQorCisKK1RIUkVBREVEX1ZBUih4bWxTdHJ1Y3R1cmVkRXJyb3IsIHhtbFN0cnVjdHVyZWRFcnJvckZ1bmMpCisKK3ZvaWQKK19fY2FsbF94bWxTdHJ1Y3R1cmVkRXJyb3Iodm9pZCAqIHVzZXJEYXRhLCB4bWxFcnJvclB0ciBlcnJvcikKKworeworICAgICAgICB4bWxTdHJ1Y3R1cmVkRXJyb3IodXNlckRhdGEsIGVycm9yKTsKK30KKworVEhSRUFERURfVkFSKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsIHZvaWQgKikKK1RIUkVBREVEX1ZBUih4bWxTdHJ1Y3R1cmVkRXJyb3JDb250ZXh0LCB2b2lkICopCitUSFJFQURFRF9WQVIoeG1sR2V0V2FybmluZ3NEZWZhdWx0VmFsdWUsIGludCkKK1RIUkVBREVEX1ZBUih4bWxJbmRlbnRUcmVlT3V0cHV0LCBpbnQpCitUSFJFQURFRF9WQVIoeG1sVHJlZUluZGVudFN0cmluZywgY29uc3QgY2hhciAqKQorVEhSRUFERURfVkFSKHhtbEtlZXBCbGFua3NEZWZhdWx0VmFsdWUsIGludCkKK1RIUkVBREVEX1ZBUih4bWxMaW5lTnVtYmVyc0RlZmF1bHRWYWx1ZSwgaW50KQorVEhSRUFERURfVkFSKHhtbExvYWRFeHREdGREZWZhdWx0VmFsdWUsIGludCkKK1RIUkVBREVEX1ZBUih4bWxQYXJzZXJEZWJ1Z0VudGl0aWVzLCBpbnQpCitUSFJFQURFRF9WQVIoeG1sUGFyc2VyVmVyc2lvbiwgY29uc3QgY2hhciAqKQorVEhSRUFERURfVkFSKHhtbFBlZGFudGljUGFyc2VyRGVmYXVsdFZhbHVlLCBpbnQpCitUSFJFQURFRF9WQVIoeG1sU2F2ZU5vRW1wdHlUYWdzLCBpbnQpCitUSFJFQURFRF9WQVIoeG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdFZhbHVlLCBpbnQpCisKKworVEhSRUFERURfVkFSKHhtbFJlZ2lzdGVyTm9kZURlZmF1bHRWYWx1ZSwgeG1sUmVnaXN0ZXJOb2RlRnVuYykKKwordm9pZAorX19jYWxsX3htbFJlZ2lzdGVyTm9kZURlZmF1bHRWYWx1ZSh4bWxOb2RlUHRyIG5vZGUpCisKK3sKKyAgICAgICAgeG1sUmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlKG5vZGUpOworfQorCisKK1RIUkVBREVEX1ZBUih4bWxEZXJlZ2lzdGVyTm9kZURlZmF1bHRWYWx1ZSwgeG1sRGVyZWdpc3Rlck5vZGVGdW5jKQorCit2b2lkCitfX2NhbGxfeG1sRGVyZWdpc3Rlck5vZGVEZWZhdWx0VmFsdWUoeG1sTm9kZVB0ciBub2RlKQorCit7CisgICAgICAgIHhtbERlcmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlKG5vZGUpOworfQorCisKK1RIUkVBREVEX1ZBUih4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lVmFsdWUsIHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jKQorCit4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cgorX19jYWxsX3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVWYWx1ZShjb25zdCBjaGFyICpVUkksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbENoYXJFbmNvZGluZyBlbmMpCisKK3sKKyAgICAgICAgcmV0dXJuIHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVWYWx1ZShVUkksIGVuYyk7Cit9CisKKworVEhSRUFERURfVkFSKHhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lVmFsdWUsIHhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYykKKworeG1sT3V0cHV0QnVmZmVyUHRyCitfX2NhbGxfeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVWYWx1ZShjb25zdCBjaGFyICpVUkksCisgICAgICAgICAgICAgICAgICAgICAgICB4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyIGVuY29kZXIsIGludCBjb21wcmVzc2lvbikKKworeworICAgICAgICByZXR1cm4geG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVWYWx1ZShVUkksIGVuY29kZXIsIGNvbXByZXNzaW9uKTsKK30KKworCisKKy8qKgorKioqICAgICB2YV9saXN0IHN1cHBvcnQuCisqKi8KKwordm9pZAorX194bWxWYVN0YXJ0KGNoYXIgKiAqIGxpc3QsIGNoYXIgKiBsYXN0YXJnYWRkciwgc2l6ZV90IGxhc3RhcmdzaXplKQorCit7CisgICAgICAgIGxpc3RbMV0gPSBsYXN0YXJnYWRkciArIGxhc3RhcmdzaXplOworfQorCisKK3ZvaWQgKgorX194bWxWYUFyZyhjaGFyICogKiBsaXN0LCB2b2lkICogZGVzdCwgc2l6ZV90IGFyZ3NpemUpCisKK3sKKyAgICAgICAgc2l6ZV90IGFsaWduOworCisgICAgICAgIGlmICghYXJnc2l6ZSkKKyAgICAgICAgICAgICAgICByZXR1cm4gKHZvaWQgKikgTlVMTDsKKworICAgICAgICBmb3IgKGFsaWduID0gMTY7IGFsaWduID4gYXJnc2l6ZTsgYWxpZ24gPj49IDEpCisgICAgICAgICAgICAgICAgOworCisgICAgICAgIGFsaWduLS07CisgICAgICAgIGxpc3RbMF0gPSBsaXN0WzFdICsgKGFsaWduIC0gKCgoc2l6ZV90KSBsaXN0WzBdIC0gMSkgJiBhbGlnbikpOworICAgICAgICBsaXN0WzFdID0gbGlzdFswXSArIGFyZ3NpemU7CisKKyAgICAgICAgaWYgKGRlc3QpCisgICAgICAgICAgICAgICAgbWVtY3B5KGRlc3QsIGxpc3RbMF0sIGFyZ3NpemUpOworCisgICAgICAgIHJldHVybiAodm9pZCAqKSBsaXN0WzBdOworfQorCisKK3ZvaWQKK19feG1sVmFFbmQoY2hhciAqICogbGlzdCkKKworeworICAgICAgICAvKiBOb3RoaW5nIHRvIGRvLiAqLworfQorCisKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAorCitpbnQKK19feG1sWFBhdGhOb2RlU2V0R2V0TGVuZ3RoKGNvbnN0IHhtbE5vZGVTZXQgKiBucykKKworeworCXJldHVybiB4bWxYUGF0aE5vZGVTZXRHZXRMZW5ndGgobnMpOworfQorCisKK3htbE5vZGVQdHIKK19feG1sWFBhdGhOb2RlU2V0SXRlbShjb25zdCB4bWxOb2RlU2V0ICogbnMsIGludCBpbmRleCkKKworeworCXJldHVybiB4bWxYUGF0aE5vZGVTZXRJdGVtKG5zLCBpbmRleCk7Cit9CisKKworaW50CitfX3htbFhQYXRoTm9kZVNldElzRW1wdHkoY29uc3QgeG1sTm9kZVNldCAqIG5zKQorCit7CisJcmV0dXJuIHhtbFhQYXRoTm9kZVNldElzRW1wdHkobnMpOworfQorCisjZW5kaWYKKworCisjaWZkZWYgTElCWE1MX0hUTUxfRU5BQkxFRAorCitjb25zdCBjaGFyICoKK19faHRtbERlZmF1bHRTdWJlbGVtZW50KGNvbnN0IGh0bWxFbGVtRGVzYyAqIGVsdCkKKworeworCXJldHVybiBodG1sRGVmYXVsdFN1YmVsZW1lbnQoZWx0KTsKK30KKworCitpbnQKK19faHRtbEVsZW1lbnRBbGxvd2VkSGVyZURlc2MoY29uc3QgaHRtbEVsZW1EZXNjICogcGFyZW50LAorCQkJCQkJY29uc3QgaHRtbEVsZW1EZXNjICogZWx0KQorCit7CisJcmV0dXJuIGh0bWxFbGVtZW50QWxsb3dlZEhlcmVEZXNjKHBhcmVudCwgZWx0KTsKK30KKworCitjb25zdCBjaGFyICogKgorX19odG1sUmVxdWlyZWRBdHRycyhjb25zdCBodG1sRWxlbURlc2MgKiBlbHQpCisKK3sKKwlyZXR1cm4gaHRtbFJlcXVpcmVkQXR0cnMoZWx0KTsKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9saWJ4bWwyL29zNDAwL3JwZ3N1cHBvcnQuaCBiL2xpYnhtbDIvb3M0MDAvcnBnc3VwcG9ydC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY3MjViNTkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL29zNDAwL3JwZ3N1cHBvcnQuaApAQCAtMCwwICsxLDE1NyBAQAorLyoqCisqKiogICAgIEFkZGl0aW9uYWwgZGVsYXJhdGlvbnMgZm9yIElMRS9SUEcgc3VwcG9ydC4KKyoqKgorKioqICAgICBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisqKioKKyoqKiAgICAgQXV0aG9yOiBQYXRyaWNrIE1vbm5lcmF0IDxwbUBkYXRhc3BoZXJlLmNoPiwgREFUQVNQSEVSRSBTLkEuCisqKi8KKworI2lmbmRlZiBfX1JQR1NVUFBPUlRfSF9fCisjZGVmaW5lIF9fUlBHU1VQUE9SVF9IX18KKworI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorCisjaW5jbHVkZSA8bGlieG1sL3htbG1lbW9yeS5oPgorI2luY2x1ZGUgPGxpYnhtbC94cGF0aC5oPgorI2luY2x1ZGUgImxpYnhtbC9IVE1McGFyc2VyLmgiCisKKworWE1MUFVCRlVOIHhtbEZyZWVGdW5jICAgX19nZXRfeG1sRnJlZSh2b2lkKTsKK1hNTFBVQkZVTiB2b2lkICAgICAgICAgIF9fc2V0X3htbEZyZWUoeG1sRnJlZUZ1bmMgZnJlZWZ1bmMpOworWE1MUFVCRlVOIHZvaWQgICAgICAgICAgX19jYWxsX3htbEZyZWUodm9pZCAqIG1lbSk7CitYTUxQVUJGVU4geG1sTWFsbG9jRnVuYyBfX2dldF94bWxNYWxsb2Modm9pZCk7CitYTUxQVUJGVU4gdm9pZCAgICAgICAgICBfX3NldF94bWxNYWxsb2MoeG1sTWFsbG9jRnVuYyBhbGxvY2Z1bmMpOworWE1MUFVCRlVOIHZvaWQgKiAgICAgICAgX19jYWxsX3htbE1hbGxvYyhzaXplX3Qgc2l6ZSk7CitYTUxQVUJGVU4geG1sTWFsbG9jRnVuYyBfX2dldF94bWxNYWxsb2NBdG9taWModm9pZCk7CitYTUxQVUJGVU4gdm9pZCAgICAgICAgICBfX3NldF94bWxNYWxsb2NBdG9taWMoeG1sTWFsbG9jRnVuYyBhbGxvY2Z1bmMpOworWE1MUFVCRlVOIHZvaWQgKiAgICAgICAgX19jYWxsX3htbE1hbGxvY0F0b21pYyhzaXplX3Qgc2l6ZSk7CitYTUxQVUJGVU4geG1sUmVhbGxvY0Z1bmMgX19nZXRfeG1sUmVhbGxvYyh2b2lkKTsKK1hNTFBVQkZVTiB2b2lkICAgICAgICAgIF9fc2V0X3htbFJlYWxsb2MoeG1sUmVhbGxvY0Z1bmMgcmVhbGxvY2Z1bmMpOworWE1MUFVCRlVOIHZvaWQgKiAgICAgICAgX19jYWxsX3htbFJlYWxsb2Modm9pZCAqIG1lbSwgc2l6ZV90IHNpemUpOworWE1MUFVCRlVOIHhtbFN0cmR1cEZ1bmMgX19nZXRfeG1sTWVtU3RyZHVwKHZvaWQpOworWE1MUFVCRlVOIHZvaWQgICAgICAgICAgX19zZXRfeG1sTWVtU3RyZHVwKHhtbFN0cmR1cEZ1bmMgc3RyZHVwZnVuYyk7CitYTUxQVUJGVU4gY2hhciAqICAgICAgICBfX2NhbGxfeG1sTWVtU3RyZHVwKGNvbnN0IGNoYXIgKiBzdHIpOworCisjaWZkZWYgTElCWE1MX0RPQ0JfRU5BQkxFRAorWE1MUFVCRlVOIHhtbFNBWEhhbmRsZXJWMSBfX2dldF9kb2NiRGVmYXVsdFNBWEhhbmRsZXIodm9pZCk7CitYTUxQVUJGVU4gdm9pZCAgICAgICAgICBfX3NldF9kb2NiRGVmYXVsdFNBWEhhbmRsZXIoeG1sU0FYSGFuZGxlclYxIGhkbHIpOworI2VuZGlmCisKKyNpZmRlZiBMSUJYTUxfSFRNTF9FTkFCTEVECitYTUxQVUJGVU4geG1sU0FYSGFuZGxlclYxIF9fZ2V0X2h0bWxEZWZhdWx0U0FYSGFuZGxlcih2b2lkKTsKK1hNTFBVQkZVTiB2b2lkICAgICAgICAgIF9fc2V0X2h0bWxEZWZhdWx0U0FYSGFuZGxlcih4bWxTQVhIYW5kbGVyVjEgaGRscik7CisjZW5kaWYKKworWE1MUFVCRlVOIHhtbEVycm9yICAgICAgX19nZXRfeG1sTGFzdEVycm9yKHZvaWQpOworWE1MUFVCRlVOIHZvaWQgICAgICAgICAgX19zZXRfeG1sTGFzdEVycm9yKHhtbEVycm9yIGVycik7CisKK1hNTFBVQkZVTiBpbnQgICAgICAgICAgIF9fZ2V0X29sZFhNTFdEY29tcGF0aWJpbGl0eSh2b2lkKTsKK1hNTFBVQkZVTiB2b2lkICAgICAgICAgIF9fc2V0X29sZFhNTFdEY29tcGF0aWJpbGl0eShpbnQgdmFsKTsKKworWE1MUFVCRlVOIHhtbEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUgX19nZXRfeG1sQnVmZmVyQWxsb2NTY2hlbWUodm9pZCk7CitYTUxQVUJGVU4gdm9pZCAgICAgICAgICBfX3NldF94bWxCdWZmZXJBbGxvY1NjaGVtZSh4bWxCdWZmZXJBbGxvY2F0aW9uU2NoZW1lIHZhbCk7CisKK1hNTFBVQkZVTiBpbnQgICAgICAgICAgIF9fZ2V0X3htbERlZmF1bHRCdWZmZXJTaXplKHZvaWQpOworWE1MUFVCRlVOIHZvaWQgICAgICAgICAgX19zZXRfeG1sRGVmYXVsdEJ1ZmZlclNpemUoaW50IHZhbCk7CisKK1hNTFBVQkZVTiB4bWxTQVhIYW5kbGVyVjEgX19nZXRfeG1sRGVmYXVsdFNBWEhhbmRsZXIodm9pZCk7CitYTUxQVUJGVU4gdm9pZCAgICAgICAgICBfX3NldF94bWxEZWZhdWx0U0FYSGFuZGxlcih4bWxTQVhIYW5kbGVyVjEgdmFsKTsKKworWE1MUFVCRlVOIHhtbFNBWExvY2F0b3IgX19nZXRfeG1sRGVmYXVsdFNBWExvY2F0b3Iodm9pZCk7CitYTUxQVUJGVU4gdm9pZCAgICAgICAgICBfX3NldF94bWxEZWZhdWx0U0FYTG9jYXRvcih4bWxTQVhMb2NhdG9yIHZhbCk7CisKK1hNTFBVQkZVTiBpbnQgICAgICAgICAgIF9fZ2V0X3htbERvVmFsaWRpdHlDaGVja2luZ0RlZmF1bHRWYWx1ZSh2b2lkKTsKK1hNTFBVQkZVTiB2b2lkICAgICAgICAgIF9fc2V0X3htbERvVmFsaWRpdHlDaGVja2luZ0RlZmF1bHRWYWx1ZShpbnQgdmFsKTsKKworWE1MUFVCRlVOIHhtbEdlbmVyaWNFcnJvckZ1bmMgX19nZXRfeG1sR2VuZXJpY0Vycm9yKHZvaWQpOworWE1MUFVCRlVOIHZvaWQgICAgICAgICAgX19zZXRfeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckZ1bmMgdmFsKTsKKworWE1MUFVCRlVOIHhtbFN0cnVjdHVyZWRFcnJvckZ1bmMgX19nZXRfeG1sU3RydWN0dXJlZEVycm9yKHZvaWQpOworWE1MUFVCRlVOIHZvaWQgICAgICAgICAgX19zZXRfeG1sU3RydWN0dXJlZEVycm9yKHhtbFN0cnVjdHVyZWRFcnJvckZ1bmMgdmFsKTsKK1hNTFBVQkZVTiB2b2lkICAgICAgICAgIF9fY2FsbF94bWxTdHJ1Y3R1cmVkRXJyb3Iodm9pZCAqdXNlckRhdGEsIHhtbEVycm9yUHRyIGVycm9yKTsKKworWE1MUFVCRlVOIHZvaWQgKiAgICAgICAgX19nZXRfeG1sR2VuZXJpY0Vycm9yQ29udGV4dCh2b2lkKTsKK1hNTFBVQkZVTiB2b2lkICAgICAgICAgIF9fc2V0X3htbEdlbmVyaWNFcnJvckNvbnRleHQodm9pZCAqIHZhbCk7CisKK1hNTFBVQkZVTiB2b2lkICogICAgICAgIF9fZ2V0X3htbFN0cnVjdHVyZWRFcnJvckNvbnRleHQodm9pZCk7CitYTUxQVUJGVU4gdm9pZCAgICAgICAgICBfX3NldF94bWxTdHJ1Y3R1cmVkRXJyb3JDb250ZXh0KHZvaWQgKiB2YWwpOworCitYTUxQVUJGVU4gaW50ICAgICAgICAgICBfX2dldF94bWxHZXRXYXJuaW5nc0RlZmF1bHRWYWx1ZSh2b2lkKTsKK1hNTFBVQkZVTiB2b2lkICAgICAgICAgIF9fc2V0X3htbEdldFdhcm5pbmdzRGVmYXVsdFZhbHVlKGludCB2YWwpOworCitYTUxQVUJGVU4gaW50ICAgICAgICAgICBfX2dldF94bWxJbmRlbnRUcmVlT3V0cHV0KHZvaWQpOworWE1MUFVCRlVOIHZvaWQgICAgICAgICAgX19zZXRfeG1sSW5kZW50VHJlZU91dHB1dChpbnQgdmFsKTsKKworWE1MUFVCRlVOIGNvbnN0IGNoYXIgKiAgX19nZXRfeG1sVHJlZUluZGVudFN0cmluZyh2b2lkKTsKK1hNTFBVQkZVTiB2b2lkICAgICAgICAgIF9fc2V0X3htbFRyZWVJbmRlbnRTdHJpbmcoY29uc3QgY2hhciAqIHZhbCk7CisKK1hNTFBVQkZVTiBpbnQgICAgICAgICAgIF9fZ2V0X3htbEtlZXBCbGFua3NEZWZhdWx0VmFsdWUodm9pZCk7CitYTUxQVUJGVU4gdm9pZCAgICAgICAgICBfX3NldF94bWxLZWVwQmxhbmtzRGVmYXVsdFZhbHVlKGludCB2YWwpOworCitYTUxQVUJGVU4gaW50ICAgICAgICAgICBfX2dldF94bWxMaW5lTnVtYmVyc0RlZmF1bHRWYWx1ZSh2b2lkKTsKK1hNTFBVQkZVTiB2b2lkICAgICAgICAgIF9fc2V0X3htbExpbmVOdW1iZXJzRGVmYXVsdFZhbHVlKGludCB2YWwpOworCitYTUxQVUJGVU4gaW50ICAgICAgICAgICBfX2dldF94bWxMb2FkRXh0RHRkRGVmYXVsdFZhbHVlKHZvaWQpOworWE1MUFVCRlVOIHZvaWQgICAgICAgICAgX19zZXRfeG1sTG9hZEV4dER0ZERlZmF1bHRWYWx1ZShpbnQgdmFsKTsKKworWE1MUFVCRlVOIGludCAgICAgICAgICAgX19nZXRfeG1sUGFyc2VyRGVidWdFbnRpdGllcyh2b2lkKTsKK1hNTFBVQkZVTiB2b2lkICAgICAgICAgIF9fc2V0X3htbFBhcnNlckRlYnVnRW50aXRpZXMoaW50IHZhbCk7CisKK1hNTFBVQkZVTiBjb25zdCBjaGFyICogIF9fZ2V0X3htbFBhcnNlclZlcnNpb24odm9pZCk7CitYTUxQVUJGVU4gdm9pZCAgICAgICAgICBfX3NldF94bWxQYXJzZXJWZXJzaW9uKGNvbnN0IGNoYXIgKiB2YWwpOworCitYTUxQVUJGVU4gaW50ICAgICAgICAgICBfX2dldF94bWxQZWRhbnRpY1BhcnNlckRlZmF1bHRWYWx1ZSh2b2lkKTsKK1hNTFBVQkZVTiB2b2lkICAgICAgICAgIF9fc2V0X3htbFBlZGFudGljUGFyc2VyRGVmYXVsdFZhbHVlKGludCB2YWwpOworCitYTUxQVUJGVU4gaW50ICAgICAgICAgICBfX2dldF94bWxTYXZlTm9FbXB0eVRhZ3Modm9pZCk7CitYTUxQVUJGVU4gdm9pZCAgICAgICAgICBfX3NldF94bWxTYXZlTm9FbXB0eVRhZ3MoaW50IHZhbCk7CisKK1hNTFBVQkZVTiBpbnQgICAgICAgICAgIF9fZ2V0X3htbFN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHRWYWx1ZSh2b2lkKTsKK1hNTFBVQkZVTiB2b2lkICAgICAgICAgIF9fc2V0X3htbFN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHRWYWx1ZShpbnQgdmFsKTsKKworWE1MUFVCRlVOIHhtbFJlZ2lzdGVyTm9kZUZ1bmMgX19nZXRfeG1sUmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlKHZvaWQpOworWE1MUFVCRlVOIHZvaWQgICAgICAgICAgX19zZXRfeG1sUmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlKHhtbFJlZ2lzdGVyTm9kZUZ1bmMgdmFsKTsKK1hNTFBVQkZVTiB2b2lkICAgICAgICAgIF9fY2FsbF94bWxSZWdpc3Rlck5vZGVEZWZhdWx0VmFsdWUoeG1sTm9kZVB0ciBub2RlKTsKKworWE1MUFVCRlVOIHhtbERlcmVnaXN0ZXJOb2RlRnVuYyBfX2dldF94bWxEZXJlZ2lzdGVyTm9kZURlZmF1bHRWYWx1ZSh2b2lkKTsKK1hNTFBVQkZVTiB2b2lkICAgICAgICAgIF9fc2V0X3htbERlcmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlKHhtbERlcmVnaXN0ZXJOb2RlRnVuYyB2YWwpOworWE1MUFVCRlVOIHZvaWQgICAgICAgICAgX19jYWxsX3htbERlcmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlKHhtbE5vZGVQdHIgbm9kZSk7CisKK1hNTFBVQkZVTiB4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYworICAgICAgICAgICAgICAgICAgICAgICAgX19nZXRfeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZVZhbHVlKHZvaWQpOworWE1MUFVCRlVOIHZvaWQgICAgICAgICAgX19zZXRfeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZVZhbHVlKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYyB2YWwpOworWE1MUFVCRlVOIHhtbFBhcnNlcklucHV0QnVmZmVyUHRyCisgICAgICAgICAgICAgICAgX19jYWxsX3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVWYWx1ZShjb25zdCBjaGFyICpVUkksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbENoYXJFbmNvZGluZyBlbmMpOworCitYTUxQVUJGVU4geG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jCisgICAgICAgICAgICAgICAgICAgICAgICBfX2dldF94bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZVZhbHVlKHZvaWQpOworWE1MUFVCRlVOIHZvaWQgICAgICAgICAgX19zZXRfeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVWYWx1ZSgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jIHZhbCk7CitYTUxQVUJGVU4geG1sT3V0cHV0QnVmZmVyUHRyCisgICAgICAgICAgICAgICAgICAgICAgICBfX2NhbGxfeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVWYWx1ZShjb25zdCBjaGFyICpVUkksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIgZW5jb2RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGNvbXByZXNzaW9uKTsKKworCitYTUxQVUJGVU4gdm9pZCAgICAgICAgICBfX3htbFZhU3RhcnQoY2hhciAqICogbGlzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqIGxhc3RhcmdhZGRyLCBzaXplX3QgbGFzdGFyZ3NpemUpOworWE1MUFVCRlVOIHZvaWQgKiAgICAgICAgX194bWxWYUFyZyhjaGFyICogKiBsaXN0LCB2b2lkICogZGVzdCwgc2l6ZV90IGFyZ3NpemUpOworWE1MUFVCRlVOIHZvaWQgICAgICAgICAgX194bWxWYUVuZChjaGFyICogKiBsaXN0KTsKKworI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECitYTUxQVUJGVU4gaW50CQlfX3htbFhQYXRoTm9kZVNldEdldExlbmd0aCh4bWxOb2RlU2V0UHRyIG5zKTsKK1hNTFBVQkZVTiB4bWxOb2RlUHRyCV9feG1sWFBhdGhOb2RlU2V0SXRlbSh4bWxOb2RlU2V0UHRyIG5zLCBpbnQgaW5kZXgpOworWE1MUFVCRlVOIGludAkJX194bWxYUGF0aE5vZGVTZXRJc0VtcHR5KHhtbE5vZGVTZXRQdHIgbnMpOworI2VuZGlmCisKKyNpZmRlZiBMSUJYTUxfSFRNTF9FTkFCTEVECitYTUxQVUJGVU4gY29uc3QgY2hhciAqCV9faHRtbERlZmF1bHRTdWJlbGVtZW50KGNvbnN0IGh0bWxFbGVtRGVzYyAqIGVsdCk7CitYTUxQVUJGVU4gaW50CV9faHRtbEVsZW1lbnRBbGxvd2VkSGVyZURlc2MoY29uc3QgaHRtbEVsZW1EZXNjICogcGFyZW50LAorCQkJY29uc3QgaHRtbEVsZW1EZXNjICogZWx0KTsKK1hNTFBVQkZVTiBjb25zdCBjaGFyICogKgorCQkJX19odG1sUmVxdWlyZWRBdHRycyhjb25zdCBodG1sRWxlbURlc2MgKiBlbHQpOworI2VuZGlmCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9vczQwMC90cmFuc2NvZGUuYyBiL2xpYnhtbDIvb3M0MDAvdHJhbnNjb2RlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmFlNjE4NwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvb3M0MDAvdHJhbnNjb2RlLmMKQEAgLTAsMCArMSwyNjggQEAKKy8qKgorKioqICAgICBUcmFuc2NvZGluZyBzdXBwb3J0IGFuZCB3cmFwcGVycy4KKyoqKgorKioqICAgICBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisqKioKKyoqKiAgICAgQXV0aG9yOiBQYXRyaWNrIE1vbm5lcmF0IDxwbUBkYXRhc3BoZXJlLmNoPiwgREFUQVNQSEVSRSBTLkEuCisqKi8KKworI2RlZmluZSBJTl9MSUJYTUwKKyNpbmNsdWRlICJsaWJ4bWwuaCIKKworI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPGljb252Lmg+CisjaW5jbHVkZSAibGlieG1sL3htbG1lbW9yeS5oIgorI2luY2x1ZGUgImxpYnhtbC9kaWN0LmgiCisjaW5jbHVkZSAidHJhbnNjb2RlLmgiCisKKworLyoqCisqKiogICAgIERlc3Ryb3kgYSBkaWN0aW9uYXJ5IGFuZCBtYXJrIGFzIGRlc3Ryb3llZC4KKyoqLworCit2b2lkCit4bWxaYXBEaWN0KHhtbERpY3RQdHIgKiBkaWN0KQorCit7CisgICAgICAgIGlmIChkaWN0ICYmICpkaWN0KSB7CisgICAgICAgICAgICAgICAgeG1sRGljdEZyZWUoKmRpY3QpOworICAgICAgICAgICAgICAgICpkaWN0ID0gKHhtbERpY3RQdHIpIE5VTEw7CisgICAgICAgICAgICAgICAgfQorfQorCisKKy8qKgorKioqICAgICBTdXBwb3J0IGZvciBpbmxpbmUgY29udmVyc2lvbiBmcm9tL3RvIFVURi04LgorKioqICAgICBUaGlzIGlzIHRhcmdldHRlZCB0byBmdW5jdGlvbiBwYXJhbWV0ZXIgZW5jb2RpbmcgY29udmVyc2lvbi4KKyoqKiAgICAgTWV0aG9kIGlzOgorKioqICAgICAtICAgICAgIENvbnZlcnQgc3RyaW5nIGZyb20vdG8gVVRGLTguCisqKiogICAgIC0gICAgICAgS2VlcCBpdCBpbiBhIGRpY3Rpb25hcnkuCisqKiogICAgIC0gICAgICAgRnJlZSBvcmlnaW5hbCBzdHJpbmcgaWYgYSByZWxlYXNlIHByb2NlZHVyZSBpcyBwcm92aWRlZC4KKyoqKiAgICAgQ2FuIGFsc28gYmUgY2FsbGVkIHdpdGhvdXQgZGljdGlvbmFyeSB0byBjb252ZXJ0IGEgc3RyaW5nIGZyb20vdG8gVVRGLTgKKyoqKiAgICAgICAgICAgICBpbnRvIHhtbE1hbGxvYydlZCBkeW5hbWljIHN0b3JhZ2UuCisqKi8KKworY29uc3QgY2hhciAqCit4bWxUcmFuc2NvZGVSZXN1bHQoY29uc3QgeG1sQ2hhciAqIHMsIGNvbnN0IGNoYXIgKiBlbmNvZGluZywKKyAgICAgICAgICAgICAgICAgICAgICAgIHhtbERpY3RQdHIgKiBkaWN0LCB2b2lkICgqZnJlZXByb2MpKGNvbnN0IHZvaWQgKikpCisKK3sKKyAgICAgICAgc2l6ZV90IGw7CisgICAgICAgIGljb252X3QgY2Q7CisgICAgICAgIGNoYXIgKiBzcmNwOworICAgICAgICBjaGFyICogZHN0cDsKKyAgICAgICAgc2l6ZV90IHNyY2M7CisgICAgICAgIHNpemVfdCBkc3RjOworICAgICAgICBjaGFyICogdHM7CisgICAgICAgIGNvbnN0IGNoYXIgKiByZXQ7CisgICAgICAgIGludCBlcnI7CisgICAgICAgIHN0YXRpYyBjb25zdCBpbnQgbnVsbHN0cmluZ1tdID0geyAwIH07CisKKyAgICAgICAgLyogQ29udmVydCBmcm9tIFVURi04LiAqLworCisgICAgICAgIGlmICghcykKKyAgICAgICAgICAgICAgICByZXR1cm4gKGNvbnN0IGNoYXIgKikgTlVMTDsKKworICAgICAgICByZXQgPSAoY29uc3QgY2hhciAqKSBOVUxMOworICAgICAgICB0cyA9IChjaGFyICopIE5VTEw7CisgICAgICAgIGVyciA9IDA7CisgICAgICAgIGwgPSB4bWxTdHJsZW4ocyk7CisKKyAgICAgICAgaWYgKCFsICYmIGRpY3QpCisgICAgICAgICAgICAgICAgcmV0ID0gKGNvbnN0IGNoYXIgKikgbnVsbHN0cmluZzsKKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgaWYgKGRpY3QgJiYgISpkaWN0KQorICAgICAgICAgICAgICAgICAgICAgICAgZXJyID0gISgqZGljdCA9IHhtbERpY3RDcmVhdGUoKSk7CisKKyAgICAgICAgICAgICAgICBpZiAoIWVycikKKyAgICAgICAgICAgICAgICAgICAgICAgIGVyciA9ICEodHMgPSB4bWxNYWxsb2MoNCAqIGwgKyA0KSk7CisKKyAgICAgICAgICAgICAgICBkc3RwID0gdHM7CisgICAgICAgICAgICAgICAgZHN0YyA9IDQgKiBsOworCisgICAgICAgICAgICAgICAgaWYgKCFlcnIgJiYgbCkgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFlbmNvZGluZykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5jb2RpbmcgPSAiaWJtLTAiOyAgICAgLyogSm9iJ3MgZW5jb2RpbmcuICovCisKKyAgICAgICAgICAgICAgICAgICAgICAgIGNkID0gaWNvbnZfb3BlbihlbmNvZGluZywgIlVURi04Iik7CisKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjZCA9PSAoaWNvbnZfdCkgLTEpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVyciA9IDE7CisgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjcCA9IChjaGFyICopIHM7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyY2MgPSBsOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcmNjID0gaWNvbnYoY2QsICZzcmNwLCAmc3JjYywgJmRzdHAsICZkc3RjKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbnZfY2xvc2UoY2QpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnIgPSBzcmNjID09IChzaXplX3QpIC0xOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBpZiAoIWVycikgeworICAgICAgICAgICAgICAgICAgICAgICAgZHN0cFswXSA9IGRzdHBbMV0gPSBkc3RwWzJdID0gZHN0cFszXSA9ICdcMCc7CisKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICghZGljdCkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZHN0YykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cyA9IHhtbFJlYWxsb2ModHMsIChkc3RwIC0gdHMpICsgNCk7CisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0ID0gKGNvbnN0IGNoYXIgKikgdHM7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRzID0gKGNoYXIgKikgTlVMTDsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXQgPSAoY2hhciAqKSB4bWxEaWN0TG9va3VwKCpkaWN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHhtbENoYXIgKikgdHMsIGRzdHAgLSB0cyArIDEpOworICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKworICAgICAgICBpZiAodHMpCisgICAgICAgICAgICAgICAgeG1sRnJlZSh0cyk7CisKKyAgICAgICAgaWYgKGZyZWVwcm9jKQorICAgICAgICAgICAgICAgICgqZnJlZXByb2MpKHMpOworCisgICAgICAgIHJldHVybiByZXQ7Cit9CisKKworLyoqCisqKiogICAgIFN1cHBvcnQgZm9yIGlubGluZSBjb252ZXJzaW9uIHRvIFVURi04LgorKioqICAgICBNZXRob2QgaXM6CisqKiogICAgIC0gICAgICAgQ29udmVydCBzdHJpbmcgdG8gVVRGLTguCisqKiogICAgIC0gICAgICAgS2VlcCBpdCBpbiBhIGRpY3Rpb25hcnkuCisqKiogICAgIENhbiBhbHNvIGJlIGNhbGxlZCB3aXRob3V0IGRpY3Rpb25hcnkgdG8gY29udmVydCBhIHN0cmluZyB0byBVVEYtOCBpbnRvCisqKiogICAgICAgICAgICAgeG1sTWFsbG9jJ2VkIGR5bmFtaWMgc3RvcmFnZS4KKyoqLworCitzdGF0aWMgY29uc3QgeG1sQ2hhciAqCitpblRyYW5zY29kZShjb25zdCBjaGFyICogcywgc2l6ZV90IGwsIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgeG1sRGljdFB0ciAqIGRpY3QpCisKK3sKKyAgICAgICAgaWNvbnZfdCBjZDsKKyAgICAgICAgY2hhciAqIHNyY3A7CisgICAgICAgIGNoYXIgKiBkc3RwOworICAgICAgICBzaXplX3Qgc3JjYzsKKyAgICAgICAgc2l6ZV90IGRzdGM7CisgICAgICAgIHhtbENoYXIgKiB0czsKKyAgICAgICAgY29uc3QgeG1sQ2hhciAqIHJldDsKKyAgICAgICAgc3RhdGljIGNvbnN0IHhtbENoYXIgbnVsbHN0cmluZ1tdID0geyAwIH07CisKKyAgICAgICAgaWYgKCFsICYmIGRpY3QpCisgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxzdHJpbmc7CisKKyAgICAgICAgaWYgKGRpY3QgJiYgISpkaWN0KQorICAgICAgICAgICAgICAgIGlmICghKCpkaWN0ID0geG1sRGljdENyZWF0ZSgpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoY29uc3QgeG1sQ2hhciAqKSBOVUxMOworCisgICAgICAgIHRzID0gKHhtbENoYXIgKikgeG1sTWFsbG9jKDYgKiBsICsgMSk7CisKKyAgICAgICAgaWYgKCF0cykKKyAgICAgICAgICAgICAgICByZXR1cm4gKGNvbnN0IHhtbENoYXIgKikgTlVMTDsKKworICAgICAgICBkc3RwID0gKGNoYXIgKikgdHM7CisgICAgICAgIGRzdGMgPSA2ICogbDsKKworICAgICAgICBpZiAobCkgeworICAgICAgICAgICAgICAgIGlmICghZW5jb2RpbmcpCisgICAgICAgICAgICAgICAgICAgICAgICBlbmNvZGluZyA9ICJpYm0tMCI7ICAgICAvKiBVc2Ugam9iJ3MgZW5jb2RpbmcuICovCisKKyAgICAgICAgICAgICAgICBjZCA9IGljb252X29wZW4oIlVURi04IiwgZW5jb2RpbmcpOworCisgICAgICAgICAgICAgICAgaWYgKGNkID09IChpY29udl90KSAtMSkgeworICAgICAgICAgICAgICAgICAgICAgICAgeG1sRnJlZSgoY2hhciAqKSB0cyk7CisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKGNvbnN0IHhtbENoYXIgKikgTlVMTDsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIHNyY3AgPSAoY2hhciAqKSBzOworICAgICAgICAgICAgICAgIHNyY2MgPSBsOworICAgICAgICAgICAgICAgIHNyY2MgPSBpY29udihjZCwgJnNyY3AsICZzcmNjLCAmZHN0cCwgJmRzdGMpOworICAgICAgICAgICAgICAgIGljb252X2Nsb3NlKGNkKTsKKworICAgICAgICAgICAgICAgIGlmIChzcmNjID09IChzaXplX3QpIC0xKSB7CisgICAgICAgICAgICAgICAgICAgICAgICB4bWxGcmVlKChjaGFyICopIHRzKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoY29uc3QgeG1sQ2hhciAqKSBOVUxMOworICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKworICAgICAgICAqZHN0cCA9ICdcMCc7CisKKyAgICAgICAgaWYgKCFkaWN0KSB7CisgICAgICAgICAgICAgICAgaWYgKGRzdGMpCisgICAgICAgICAgICAgICAgICAgICAgICB0cyA9IHhtbFJlYWxsb2ModHMsIChkc3RwIC0gdHMpICsgMSk7CisKKyAgICAgICAgICAgICAgICByZXR1cm4gdHM7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgIHJldCA9IHhtbERpY3RMb29rdXAoKmRpY3QsIHRzLCBkc3RwIC0gdHMgKyAxKTsKKyAgICAgICAgeG1sRnJlZSgoY2hhciAqKSB0cyk7CisgICAgICAgIHJldHVybiByZXQ7Cit9CisKKworLyoqCisqKiogICAgIElucHV0IDgtYml0IGNoYXJhY3RlciBzdHJpbmcgcGFyYW1ldGVyLgorKiovCisKK2NvbnN0IHhtbENoYXIgKgoreG1sVHJhbnNjb2RlU3RyaW5nKGNvbnN0IGNoYXIgKiBzLCBjb25zdCBjaGFyICogZW5jb2RpbmcsIHhtbERpY3RQdHIgKiBkaWN0KQorCit7CisgICAgICAgIGlmICghcykKKyAgICAgICAgICAgICAgICByZXR1cm4gKGNvbnN0IHhtbENoYXIgKikgTlVMTDsKKworICAgICAgICByZXR1cm4gaW5UcmFuc2NvZGUocywgeG1sU3RybGVuKHMpLCBlbmNvZGluZywgZGljdCk7Cit9CisKKworLyoqCisqKiogICAgIElucHV0IDE2LWJpdCBjaGFyYWN0ZXIgc3RyaW5nIHBhcmFtZXRlci4KKyoqLworCitjb25zdCB4bWxDaGFyICoKK3htbFRyYW5zY29kZVdTdHJpbmcoY29uc3QgY2hhciAqIHMsIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgeG1sRGljdFB0ciAqIGRpY3QpCisKK3sKKyAgICAgICAgc2l6ZV90IGk7CisKKyAgICAgICAgaWYgKCFzKQorICAgICAgICAgICAgICAgIHJldHVybiAoY29uc3QgeG1sQ2hhciAqKSBOVUxMOworCisgICAgICAgIGZvciAoaSA9IDA7IHNbaV0gJiYgc1tpICsgMV07IGkgKz0gMikKKyAgICAgICAgICAgICAgICA7CisKKyAgICAgICAgcmV0dXJuIGluVHJhbnNjb2RlKHMsIGksIGVuY29kaW5nLCBkaWN0KTsKK30KKworCisvKioKKyoqKiAgICAgSW5wdXQgMzItYml0IGNoYXJhY3RlciBzdHJpbmcgcGFyYW1ldGVyLgorKiovCisKK2NvbnN0IHhtbENoYXIgKgoreG1sVHJhbnNjb2RlSFN0cmluZyhjb25zdCBjaGFyICogcywgY29uc3QgY2hhciAqIGVuY29kaW5nLCB4bWxEaWN0UHRyICogZGljdCkKKworeworICAgICAgICBzaXplX3QgaTsKKworICAgICAgICBpZiAoIXMpCisgICAgICAgICAgICAgICAgcmV0dXJuIChjb25zdCB4bWxDaGFyICopIE5VTEw7CisKKyAgICAgICAgZm9yIChpID0gMDsgc1tpXSAmJiBzW2kgKyAxXSAmJiBzW2kgKyAyXSAmJiBzW2kgKyAzXTsgaSArPSA0KQorICAgICAgICAgICAgICAgIDsKKworICAgICAgICByZXR1cm4gaW5UcmFuc2NvZGUocywgaSwgZW5jb2RpbmcsIGRpY3QpOworfQorCisKKy8qKgorKioqICAgICB2YXNwcmludGYoKSBpbXBsZW1lbnRhdGlvbiB3aXRoIHJlc3VsdCB0cmFuc2NvZGluZy4KKyoqLworCitjb25zdCBjaGFyICoKK3htbFZhc3ByaW50Zih4bWxEaWN0UHRyICogZGljdCwgY29uc3QgY2hhciAqIGVuY29kaW5nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBmbXQsIHZhX2xpc3QgYXJncykKKworeworICAgICAgICBjaGFyICogcyA9IE5VTEw7CisKKyAgICAgICAgdmFzcHJpbnRmKCZzLCBmbXQsIGFyZ3MpOworICAgICAgICByZXR1cm4geG1sVHJhbnNjb2RlUmVzdWx0KChjb25zdCB4bWxDaGFyICopIHMsIGVuY29kaW5nLCBkaWN0LCBmcmVlKTsKK30KZGlmZiAtLWdpdCBhL2xpYnhtbDIvb3M0MDAvdHJhbnNjb2RlLmggYi9saWJ4bWwyL29zNDAwL3RyYW5zY29kZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZjYTU3NzMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL29zNDAwL3RyYW5zY29kZS5oCkBAIC0wLDAgKzEsNDMgQEAKKy8qKgorKioqICAgICBUcmFuc2NvZGluZyBzdXBwb3J0IGRlY2xhcmF0aW9ucy4KKyoqKgorKioqICAgICBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisqKioKKyoqKiAgICAgQXV0aG9yOiBQYXRyaWNrIE1vbm5lcmF0IDxwbUBkYXRhc3BoZXJlLmNoPiwgREFUQVNQSEVSRSBTLkEuCisqKi8KKworI2lmbmRlZiBfVFJBTlNDT0RFX0hfCisjZGVmaW5lIF9UUkFOU0NPREVfSF8KKworI2luY2x1ZGUgPHN0ZGFyZy5oPgorI2luY2x1ZGUgPGxpYnhtbC9kaWN0Lmg+CisKKworWE1MUFVCRlVOIHZvaWQgICAgICAgICAgeG1sWmFwRGljdCh4bWxEaWN0UHRyICogZGljdCk7CitYTUxQVUJGVU4gY29uc3QgY2hhciAqICB4bWxUcmFuc2NvZGVSZXN1bHQoY29uc3QgeG1sQ2hhciAqIHMsCisgICAgICAgIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgeG1sRGljdFB0ciAqIGRpY3QsCisgICAgICAgIHZvaWQgKCpmcmVlcHJvYykoY29uc3Qgdm9pZCAqKSk7CitYTUxQVUJGVU4gY29uc3QgeG1sQ2hhciAqIHhtbFRyYW5zY29kZVN0cmluZyhjb25zdCBjaGFyICogcywKKyAgICAgICAgY29uc3QgY2hhciAqIGVuY29kaW5nLCB4bWxEaWN0UHRyICogZGljdCk7CitYTUxQVUJGVU4gY29uc3QgeG1sQ2hhciAqIHhtbFRyYW5zY29kZVdTdHJpbmcoY29uc3QgY2hhciAqIHMsCisgICAgICAgIGNvbnN0IGNoYXIgKiBlbmNvZGluZywgeG1sRGljdFB0ciAqIGRpY3QpOworWE1MUFVCRlVOIGNvbnN0IHhtbENoYXIgKiB4bWxUcmFuc2NvZGVIU3RyaW5nKGNvbnN0IGNoYXIgKiBzLAorICAgICAgICBjb25zdCBjaGFyICogZW5jb2RpbmcsIHhtbERpY3RQdHIgKiBkaWN0KTsKKworI2lmbmRlZiBYTUxfTk9fU0hPUlRfTkFNRVMKKy8qKgorKioqICAgICBTaW5jZSB0aGUgYWJvdmUgZnVuY3Rpb25zIGFyZSBnZW5lcmFsbHkgY2FsbGVkICJpbmxpbmUiIChpLmUuOiBzZXZlcmFsCisqKiogICAgICAgICAgICAgdGltZXMgbmVzdGVkIGluIGEgc2luZ2xlIGV4cHJlc3Npb24pLCBkZWZpbmUgc2hvcnRoYW5kIG5hbWVzCisqKiogICAgICAgICAgICAgdG8gbWluaW1pemUgY2FsbGluZyBzdGF0ZW1lbnQgbGVuZ3RoLgorKiovCisKKyNkZWZpbmUgeG1sVFIgICB4bWxUcmFuc2NvZGVSZXN1bHQKKyNkZWZpbmUgeG1sVFMgICB4bWxUcmFuc2NvZGVTdHJpbmcKKyNkZWZpbmUgeG1sVFcgICB4bWxUcmFuc2NvZGVXU3RyaW5nCisjZGVmaW5lIHhtbFRIICAgeG1sVHJhbnNjb2RlSHN0cmluZworI2VuZGlmCisKK1hNTFBVQkZVTiBjb25zdCBjaGFyICogIHhtbFZhc3ByaW50Zih4bWxEaWN0UHRyICogZGljdCwgY29uc3QgY2hhciAqIGVuY29kaW5nLAorICAgICAgICBjb25zdCB4bWxDaGFyICogZm10LCB2YV9saXN0IGFyZ3MpOworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYnhtbDIvb3M0MDAvd3JhcHBlcnMuYyBiL2xpYnhtbDIvb3M0MDAvd3JhcHBlcnMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZjU5MmI3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9vczQwMC93cmFwcGVycy5jCkBAIC0wLDAgKzEsMTcwIEBACisvKioKKyoqKiAgICAgVVRGLTgvRUJDRElDIHdyYXBwZXJzIHRvIHN5c3RlbSBhbmQgQyBsaWJyYXJ5IHByb2NlZHVyZXMuCisqKioKKyoqKiAgICAgU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgorKioqCisqKiogICAgIEF1dGhvcjogUGF0cmljayBNb25uZXJhdCA8cG1AZGF0YXNwaGVyZS5jaD4sIERBVEFTUEhFUkUgUy5BLgorKiovCisKKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CisjaW5jbHVkZSA8YXJwYS9pbmV0Lmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8ZGxmY24uaD4KKyNpbmNsdWRlIDxuZXRkYi5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2luY2x1ZGUgImxpYnhtbC94bWxtZW1vcnkuaCIKKworI2luY2x1ZGUgInRyYW5zY29kZS5oIgorCisKK3N0YXRpYyBjb25zdCBjaGFyICogICAgIGx4ZGxlcyA9IE5VTEw7CisKKworaW50CitfbHhfZ2V0YWRkcmluZm8oY29uc3QgY2hhciAqIG5vZGUsIGNvbnN0IGNoYXIgKiBzZXJ2aWNlLAorICAgICAgICBjb25zdCBzdHJ1Y3QgYWRkcmluZm8gKiBoaW50cywgc3RydWN0IGFkZHJpbmZvICogKiByZXMpCisKK3sKKyAgICAgICAgeG1sRGljdFB0ciBkID0gTlVMTDsKKyAgICAgICAgaW50IGk7CisKKyAgICAgICAgaSA9IGdldGFkZHJpbmZvKHhtbFRyYW5zY29kZVJlc3VsdChub2RlLCBOVUxMLCAmZCwgTlVMTCksCisgICAgICAgICAgICB4bWxUcmFuc2NvZGVSZXN1bHQoc2VydmljZSwgTlVMTCwgJmQsIE5VTEwpLCBoaW50cywgcmVzKTsKKyAgICAgICAgeG1sWmFwRGljdCgmZCk7CisgICAgICAgIHJldHVybiBpOworfQorCisKK2NvbnN0IGNoYXIgKgorX2x4X2luZXRfbnRvcChpbnQgYWYsIGNvbnN0IHZvaWQgKiBzcmMsIGNoYXIgKiBkc3QsIHNvY2tsZW5fdCBzaXplKQorCit7CisgICAgICAgIGNvbnN0IGNoYXIgKiBjcDEgPSBpbmV0X250b3AoYWYsIHNyYywgZHN0LCBzaXplKTsKKyAgICAgICAgY2hhciBjb25zdCAqIGNwMjsKKyAgICAgICAgaW50IGk7CisKKyAgICAgICAgaWYgKCFjcDEpCisgICAgICAgICAgICAgICAgcmV0dXJuIGNwMTsKKworICAgICAgICBpZiAoIShjcDIgPSB4bWxUcmFuc2NvZGVTdHJpbmcoY3AxLCBOVUxMLCBOVUxMKSkpCisgICAgICAgICAgICAgICAgcmV0dXJuIGNwMjsKKworICAgICAgICBpID0gc3RybGVuKGNwMik7CisKKyAgICAgICAgaWYgKGkgPj0gc2l6ZSkgeworICAgICAgICAgICAgICAgIHhtbEZyZWUoKGNoYXIgKikgY3AyKTsKKyAgICAgICAgICAgICAgICBlcnJubyA9IEVOT1NQQzsKKyAgICAgICAgICAgICAgICByZXR1cm4gKGNvbnN0IGNoYXIgKikgTlVMTDsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgbWVtY3B5KGRzdCwgY3AyLCBpICsgMSk7CisgICAgICAgIHhtbEZyZWUoKGNoYXIgKikgY3AyKTsKKyAgICAgICAgcmV0dXJuIGRzdDsKK30KKworCit2b2lkICoKK19seF9kbG9wZW4oY29uc3QgY2hhciAqIGZpbGVuYW1lLCBpbnQgZmxhZykKKworeworICAgICAgICB4bWxEaWN0UHRyIGQgPSBOVUxMOworICAgICAgICB2b2lkICogcmVzdWx0OworCisgICAgICAgIHJlc3VsdCA9IGRsb3Blbih4bWxUcmFuc2NvZGVSZXN1bHQoZmlsZW5hbWUsIE5VTEwsICZkLCBOVUxMKSwgZmxhZyk7CisgICAgICAgIHhtbFphcERpY3QoJmQpOworICAgICAgICByZXR1cm4gcmVzdWx0OworfQorCisKK3ZvaWQgKgorX2x4X2Rsc3ltKHZvaWQgKiBoYW5kbGUsIGNvbnN0IGNoYXIgKiBzeW1ib2wpCisKK3sKKyAgICAgICAgeG1sRGljdFB0ciBkID0gTlVMTDsKKyAgICAgICAgdm9pZCAqIHJlc3VsdDsKKworICAgICAgICByZXN1bHQgPSBkbHN5bShoYW5kbGUsIHhtbFRyYW5zY29kZVJlc3VsdChzeW1ib2wsIE5VTEwsICZkLCBOVUxMKSk7CisgICAgICAgIHhtbFphcERpY3QoJmQpOworICAgICAgICByZXR1cm4gcmVzdWx0OworfQorCisKK2NoYXIgKgorX2x4X2RsZXJyb3Iodm9pZCkKKworeworICAgICAgICBjaGFyICogY3AxID0gKGNoYXIgKikgZGxlcnJvcigpOworCisgICAgICAgIGlmICghY3AxKQorICAgICAgICAgICAgICAgIHJldHVybiBjcDE7CisKKyAgICAgICAgaWYgKGx4ZGxlcykKKyAgICAgICAgICAgICAgICB4bWxGcmVlKChjaGFyICopIGx4ZGxlcyk7CisKKyAgICAgICAgbHhkbGVzID0gKGNvbnN0IGNoYXIgKikgeG1sVHJhbnNjb2RlU3RyaW5nKGNwMSwgTlVMTCwgTlVMTCk7CisgICAgICAgIHJldHVybiAoY2hhciAqKSBseGRsZXM7Cit9CisKKworI2lmZGVmIEhBVkVfWkxJQl9ICisjaW5jbHVkZSA8emxpYi5oPgorCitnekZpbGUKK19seF9nem9wZW4oY29uc3QgY2hhciAqIHBhdGgsIGNvbnN0IGNoYXIgKiBtb2RlKQorCit7CisgICAgICAgIHhtbERpY3RQdHIgZCA9IE5VTEw7CisgICAgICAgIGd6RmlsZSBmOworCisgICAgICAgIGYgPSBnem9wZW4oeG1sVHJhbnNjb2RlUmVzdWx0KHBhdGgsIE5VTEwsICZkLCBOVUxMKSwKKyAgICAgICAgICAgIHhtbFRyYW5zY29kZVJlc3VsdChtb2RlLCBOVUxMLCAmZCwgTlVMTCkpOworICAgICAgICB4bWxaYXBEaWN0KCZkKTsKKyAgICAgICAgcmV0dXJuIGY7Cit9CisKKworZ3pGaWxlCitfbHhfZ3pkb3BlbihpbnQgZmQsIGNvbnN0IGNoYXIgKiBtb2RlKQorCit7CisgICAgICAgIHhtbERpY3RQdHIgZCA9IE5VTEw7CisgICAgICAgIGd6RmlsZSBmOworCisgICAgICAgIGYgPSBnemRvcGVuKGZkLCB4bWxUcmFuc2NvZGVSZXN1bHQobW9kZSwgTlVMTCwgJmQsIE5VTEwpKTsKKyAgICAgICAgeG1sWmFwRGljdCgmZCk7CisgICAgICAgIHJldHVybiBmOworfQorCitpbnQKK19seF9pbmZsYXRlSW5pdDJfKHpfc3RyZWFtcCBzdHJtLCBpbnQgd2luZG93Qml0cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICogdmVyc2lvbiwgaW50IHN0cmVhbV9zaXplKQorCit7CisgICAgICAgIHhtbERpY3RQdHIgZCA9IE5VTEw7CisgICAgICAgIGludCByOworCisgICAgICAgIHIgPSBpbmZsYXRlSW5pdDJfKHN0cm0sIHdpbmRvd0JpdHMsCisgICAgICAgICAgICB4bWxUcmFuc2NvZGVSZXN1bHQodmVyc2lvbiwgTlVMTCwgJmQsIE5VTEwpLCBzdHJlYW1fc2l6ZSk7CisgICAgICAgIHhtbFphcERpY3QoJmQpOworICAgICAgICByZXR1cm4gcjsKK30KKworaW50CitfbHhfZGVmbGF0ZUluaXQyXyh6X3N0cmVhbXAgc3RybSwgaW50IGxldmVsLCBpbnQgbWV0aG9kLCBpbnQgd2luZG93Qml0cywKKyAgICAgICAgaW50IG1lbUxldmVsLCBpbnQgc3RyYXRlZ3ksIGNvbnN0IGNoYXIgKiB2ZXJzaW9uLCBpbnQgc3RyZWFtX3NpemUpCisKK3sKKyAgICAgICAgeG1sRGljdFB0ciBkID0gTlVMTDsKKyAgICAgICAgaW50IHI7CisKKyAgICAgICAgciA9IGRlZmxhdGVJbml0Ml8oc3RybSwgbGV2ZWwsIG1ldGhvZCwgd2luZG93Qml0cywgbWVtTGV2ZWwsIHN0cmF0ZWd5LAorICAgICAgICAgICAgeG1sVHJhbnNjb2RlUmVzdWx0KHZlcnNpb24sIE5VTEwsICZkLCBOVUxMKSwgc3RyZWFtX3NpemUpOworICAgICAgICB4bWxaYXBEaWN0KCZkKTsKKyAgICAgICAgcmV0dXJuIHI7Cit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9vczQwMC93cmFwcGVycy5oIGIvbGlieG1sMi9vczQwMC93cmFwcGVycy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM4OGVjOGMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL29zNDAwL3dyYXBwZXJzLmgKQEAgLTAsMCArMSw3MCBAQAorLyoqCisqKiogICAgIFJlcGxhY2Ugc3lzdGVtL0MgbGlicmFyeSBjYWxscyBieSBFQkNESUMgd3JhcHBlcnMuCisqKiogICAgIFRoaXMgaXMgYSBsYXllciBpbnNlcnRlZCBiZXR3ZWVuIGxpYnhtbDIgaXRzZWxmIGFuZCB0aGUgRUJDRElDCisqKiogICAgICAgICAgICAgZW52aXJvbm1lbnQuCisqKioKKyoqKiAgICAgU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgorKioqCisqKiogICAgIEF1dGhvcjogUGF0cmljayBNb25uZXJhdCA8cG1AZGF0YXNwaGVyZS5jaD4sIERBVEFTUEhFUkUgUy5BLgorKiovCisKKyNpZm5kZWYgX19XUkFQUEVSU19IXworI2RlZmluZSBfX1dSQVBQRVJTX0hfCisKKy8qKgorKioqICAgICBPUy80MDAgc3BlY2lmaWMgZGVmaW5lcy4KKyoqLworCisjZGVmaW5lIF9fY3BsdXNwbHVzX19zdHJpbmdzX18KKworLyoqCisqKiogICAgIEZvcmNlIGhlYWRlciBpbmNsdXNpb25zIGJlZm9yZSByZW5hbWluZyBwcm9jZWR1cmVzIHRvIFVURi04IHdyYXBwZXJzLgorKiovCisKKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CisjaW5jbHVkZSA8YXJwYS9pbmV0Lmg+CisjaW5jbHVkZSA8bmV0ZGIuaD4KKworI2luY2x1ZGUgImRsZmNuLmgiCisKKworLyoqCisqKiogICAgIFVURi04IHdyYXBwZXJzIHByb3RvdHlwZXMuCisqKi8KKworZXh0ZXJuIGludCAgICAgIF9seF9nZXRhZGRyaW5mbyhjb25zdCBjaGFyICogbm9kZSwgY29uc3QgY2hhciAqIHNlcnZpY2UsCisgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgYWRkcmluZm8gKiBoaW50cywgc3RydWN0IGFkZHJpbmZvICogKiByZXMpOworZXh0ZXJuIGNvbnN0IGNoYXIgKgorICAgICAgICAgICAgICAgIF9seF9pbmV0X250b3AoaW50IGFmLAorICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgdm9pZCAqIHNyYywgY2hhciAqIGRzdCwgc29ja2xlbl90IHNpemUpOworZXh0ZXJuIHZvaWQgKiAgIF9seF9kbG9wZW4oY29uc3QgY2hhciAqIGZpbGVuYW1lLCBpbnQgZmxhZyk7CitleHRlcm4gdm9pZCAqICAgX2x4X2Rsc3ltKHZvaWQgKiBoYW5kbGUsIGNvbnN0IGNoYXIgKiBzeW1ib2wpOworZXh0ZXJuIGNoYXIgKiAgIF9seF9kbGVycm9yKHZvaWQpOworCisKKyNpZmRlZiBIQVZFX1pMSUJfSAorCisjaW5jbHVkZSA8emxpYi5oPgorCitleHRlcm4gZ3pGaWxlICAgX2x4X2d6b3Blbihjb25zdCBjaGFyICogcGF0aCwgY29uc3QgY2hhciAqIG1vZGUpOworZXh0ZXJuIGd6RmlsZSAgIF9seF9nemRvcGVuKGludCBmZCwgY29uc3QgY2hhciAqIG1vZGUpOworCisjZW5kaWYKKworCisvKioKKyoqKiAgICAgUmVuYW1lIGRhdGEvcHJvY2VkdXJlcyB0byBVVEYtOCB3cmFwcGVycy4KKyoqLworCisjZGVmaW5lIGdldGFkZHJpbmZvICAgICBfbHhfZ2V0YWRkcmluZm8KKyNkZWZpbmUgaW5ldF9udG9wICAgICAgIF9seF9pbmV0X250b3AKKyNkZWZpbmUgZGxvcGVuICAgICAgICAgIF9seF9kbG9wZW4KKyNkZWZpbmUgZGxzeW0gICAgICAgICAgIF9seF9kbHN5bQorI2RlZmluZSBkbGVycm9yICAgICAgICAgX2x4X2RsZXJyb3IKKyNkZWZpbmUgZ3pvcGVuICAgICAgICAgIF9seF9nem9wZW4KKyNkZWZpbmUgZ3pkb3BlbiAgICAgICAgIF9seF9nemRvcGVuCisjZGVmaW5lIGluZmxhdGVJbml0Ml8gICBfbHhfaW5mbGF0ZUluaXQyXworI2RlZmluZSBkZWZsYXRlSW5pdDJfICAgX2x4X2RlZmxhdGVJbml0Ml8KKworI2VuZGlmCmRpZmYgLS1naXQgYS9saWJ4bWwyL3BhcnNlci5jIGIvbGlieG1sMi9wYXJzZXIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hOGQxYjY3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9wYXJzZXIuYwpAQCAtMCwwICsxLDE1NjgxIEBACisvKgorICogcGFyc2VyLmMgOiBhbiBYTUwgMS4wIHBhcnNlciwgbmFtZXNwYWNlcyBhbmQgdmFsaWRpdHkgc3VwcG9ydCBhcmUgbW9zdGx5CisgKiAgICAgICAgICAgIGltcGxlbWVudGVkIG9uIHRvcCBvZiB0aGUgU0FYIGludGVyZmFjZXMKKyAqCisgKiBSZWZlcmVuY2VzOgorICogICBUaGUgWE1MIHNwZWNpZmljYXRpb246CisgKiAgICAgaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLXhtbAorICogICBPcmlnaW5hbCAxLjAgdmVyc2lvbjoKKyAqICAgICBodHRwOi8vd3d3LnczLm9yZy9UUi8xOTk4L1JFQy14bWwtMTk5ODAyMTAKKyAqICAgWE1MIHNlY29uZCBlZGl0aW9uIHdvcmtpbmcgZHJhZnQKKyAqICAgICBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDAwL1dELXhtbC0yZS0yMDAwMDgxNAorICoKKyAqIE9rYXkgdGhpcyBpcyBhIGJpZyBmaWxlLCB0aGUgcGFyc2VyIGNvcmUgaXMgYXJvdW5kIDcwMDAgbGluZXMsIHRoZW4gaXQKKyAqIGlzIGZvbGxvd2VkIGJ5IHRoZSBwcm9ncmVzc2l2ZSBwYXJzZXIgdG9wIHJvdXRpbmVzLCB0aGVuIHRoZSB2YXJpb3VzCisgKiBoaWdoIGxldmVsIEFQSXMgdG8gY2FsbCB0aGUgcGFyc2VyIGFuZCBhIGZldyBtaXNjZWxsYW5lb3VzIGZ1bmN0aW9ucy4KKyAqIEEgbnVtYmVyIG9mIGhlbHBlciBmdW5jdGlvbnMgYW5kIGRlcHJlY2F0ZWQgb25lcyBoYXZlIGJlZW4gbW92ZWQgdG8KKyAqIHBhcnNlckludGVybmFscy5jIHRvIHJlZHVjZSB0aGlzIGZpbGUgc2l6ZS4KKyAqIEFzIG11Y2ggYXMgcG9zc2libGUgdGhlIGZ1bmN0aW9ucyBhcmUgYXNzb2NpYXRlZCB3aXRoIHRoZWlyIHJlbGF0aXZlCisgKiBwcm9kdWN0aW9uIGluIHRoZSBYTUwgc3BlY2lmaWNhdGlvbi4gQSBmZXcgcHJvZHVjdGlvbnMgZGVmaW5pbmcgdGhlCisgKiBkaWZmZXJlbnQgcmFuZ2VzIG9mIGNoYXJhY3RlciBhcmUgYWN0dWFsbHkgaW1wbGFudGVkIGVpdGhlciBpbgorICogcGFyc2VySW50ZXJuYWxzLmggb3IgcGFyc2VySW50ZXJuYWxzLmMKKyAqIFRoZSBET00gdHJlZSBidWlsZCBpcyByZWFsaXplZCBmcm9tIHRoZSBkZWZhdWx0IFNBWCBjYWxsYmFja3MgaW4KKyAqIHRoZSBtb2R1bGUgU0FYLmMuCisgKiBUaGUgcm91dGluZXMgZG9pbmcgdGhlIHZhbGlkYXRpb24gY2hlY2tzIGFyZSBpbiB2YWxpZC5jIGFuZCBjYWxsZWQgZWl0aGVyCisgKiBmcm9tIHRoZSBTQVggY2FsbGJhY2tzIG9yIGFzIHN0YW5kYWxvbmUgZnVuY3Rpb25zIHVzaW5nIGEgcHJlcGFyc2VkCisgKiBkb2N1bWVudC4KKyAqCisgKiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisgKgorICogZGFuaWVsQHZlaWxsYXJkLmNvbQorICovCisKKyNkZWZpbmUgSU5fTElCWE1MCisjaW5jbHVkZSAibGlieG1sLmgiCisKKyNpZiBkZWZpbmVkKFdJTjMyKSAmJiAhZGVmaW5lZCAoX19DWUdXSU5fXykKKyNkZWZpbmUgWE1MX0RJUl9TRVAgJ1xcJworI2Vsc2UKKyNkZWZpbmUgWE1MX0RJUl9TRVAgJy8nCisjZW5kaWYKKworI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPGxpbWl0cy5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN0ZGFyZy5oPgorI2luY2x1ZGUgPGxpYnhtbC94bWxtZW1vcnkuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvdGhyZWFkcy5oPgorI2luY2x1ZGUgPGxpYnhtbC9nbG9iYWxzLmg+CisjaW5jbHVkZSA8bGlieG1sL3RyZWUuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvcGFyc2VyLmg+CisjaW5jbHVkZSA8bGlieG1sL3BhcnNlckludGVybmFscy5oPgorI2luY2x1ZGUgPGxpYnhtbC92YWxpZC5oPgorI2luY2x1ZGUgPGxpYnhtbC9lbnRpdGllcy5oPgorI2luY2x1ZGUgPGxpYnhtbC94bWxlcnJvci5oPgorI2luY2x1ZGUgPGxpYnhtbC9lbmNvZGluZy5oPgorI2luY2x1ZGUgPGxpYnhtbC94bWxJTy5oPgorI2luY2x1ZGUgPGxpYnhtbC91cmkuaD4KKyNpZmRlZiBMSUJYTUxfQ0FUQUxPR19FTkFCTEVECisjaW5jbHVkZSA8bGlieG1sL2NhdGFsb2cuaD4KKyNlbmRpZgorI2lmZGVmIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQKKyNpbmNsdWRlIDxsaWJ4bWwveG1sc2NoZW1hc3R5cGVzLmg+CisjaW5jbHVkZSA8bGlieG1sL3JlbGF4bmcuaD4KKyNlbmRpZgorI2lmZGVmIEhBVkVfQ1RZUEVfSAorI2luY2x1ZGUgPGN0eXBlLmg+CisjZW5kaWYKKyNpZmRlZiBIQVZFX1NURExJQl9ICisjaW5jbHVkZSA8c3RkbGliLmg+CisjZW5kaWYKKyNpZmRlZiBIQVZFX1NZU19TVEFUX0gKKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9GQ05UTF9ICisjaW5jbHVkZSA8ZmNudGwuaD4KKyNlbmRpZgorI2lmZGVmIEhBVkVfVU5JU1REX0gKKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNlbmRpZgorI2lmZGVmIEhBVkVfWkxJQl9ICisjaW5jbHVkZSA8emxpYi5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9MWk1BX0gKKyNpbmNsdWRlIDxsem1hLmg+CisjZW5kaWYKKworI2luY2x1ZGUgImJ1Zi5oIgorI2luY2x1ZGUgImVuYy5oIgorCitzdGF0aWMgdm9pZAoreG1sRmF0YWxFcnIoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0LCB4bWxQYXJzZXJFcnJvcnMgZXJyb3IsIGNvbnN0IGNoYXIgKmluZm8pOworCitzdGF0aWMgeG1sUGFyc2VyQ3R4dFB0cgoreG1sQ3JlYXRlRW50aXR5UGFyc2VyQ3R4dEludGVybmFsKGNvbnN0IHhtbENoYXIgKlVSTCwgY29uc3QgeG1sQ2hhciAqSUQsCisJICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqYmFzZSwgeG1sUGFyc2VyQ3R4dFB0ciBwY3R4KTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKglBcmJpdHJhcnkgbGltaXRzIHNldCBpbiB0aGUgcGFyc2VyLiBTZWUgWE1MX1BBUlNFX0hVR0UJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2RlZmluZSBYTUxfUEFSU0VSX0JJR19FTlRJVFkgMTAwMAorI2RlZmluZSBYTUxfUEFSU0VSX0xPVF9FTlRJVFkgNTAwMAorCisvKgorICogWE1MX1BBUlNFUl9OT05fTElORUFSIGlzIHRoZSB0aHJlc2hvbGQgd2hlcmUgdGhlIHJhdGlvIG9mIHBhcnNlZCBlbnRpdHkKKyAqICAgIHJlcGxhY2VtZW50IG92ZXIgdGhlIHNpemUgaW4gYnl0ZSBvZiB0aGUgaW5wdXQgaW5kaWNhdGVzIHRoYXQgeW91IGhhdmUKKyAqICAgIGFuZCBlcG9uZW50aWFsIGJlaGF2aW91ci4gQSB2YWx1ZSBvZiAxMCBjb3JyZXNwb25kIHRvIGF0IGxlYXN0IDMgZW50aXR5CisgKiAgICByZXBsYWNlbWVudCBwZXIgYnl0ZSBvZiBpbnB1dC4KKyAqLworI2RlZmluZSBYTUxfUEFSU0VSX05PTl9MSU5FQVIgMTAKKworLyoKKyAqIHhtbFBhcnNlckVudGl0eUNoZWNrCisgKgorICogRnVuY3Rpb24gdG8gY2hlY2sgbm9uLWxpbmVhciBlbnRpdHkgZXhwYW5zaW9uIGJlaGF2aW91cgorICogVGhpcyBpcyBoZXJlIHRvIGRldGVjdCBhbmQgc3RvcCBleHBvbmVudGlhbCBsaW5lYXIgZW50aXR5IGV4cGFuc2lvbgorICogVGhpcyBpcyBub3QgYSBsaW1pdGF0aW9uIG9mIHRoZSBwYXJzZXIgYnV0IGEgc2FmZXR5CisgKiBib3VuZGFyeSBmZWF0dXJlLiBJdCBjYW4gYmUgZGlzYWJsZWQgd2l0aCB0aGUgWE1MX1BBUlNFX0hVR0UKKyAqIHBhcnNlciBvcHRpb24uCisgKi8KK3N0YXRpYyBpbnQKK3htbFBhcnNlckVudGl0eUNoZWNrKHhtbFBhcnNlckN0eHRQdHIgY3R4dCwgc2l6ZV90IHNpemUsCisgICAgICAgICAgICAgICAgICAgICB4bWxFbnRpdHlQdHIgZW50LCBzaXplX3QgcmVwbGFjZW1lbnQpCit7CisgICAgc2l6ZV90IGNvbnN1bWVkID0gMDsKKworICAgIGlmICgoY3R4dCA9PSBOVUxMKSB8fCAoY3R4dC0+b3B0aW9ucyAmIFhNTF9QQVJTRV9IVUdFKSkKKyAgICAgICAgcmV0dXJuICgwKTsKKyAgICBpZiAoY3R4dC0+bGFzdEVycm9yLmNvZGUgPT0gWE1MX0VSUl9FTlRJVFlfTE9PUCkKKyAgICAgICAgcmV0dXJuICgxKTsKKworICAgIC8qCisgICAgICogVGhpcyBtYXkgbG9vayBhYnN1cmQgYnV0IGlzIG5lZWRlZCB0byBkZXRlY3QKKyAgICAgKiBlbnRpdGllcyBwcm9ibGVtcworICAgICAqLworICAgIGlmICgoZW50ICE9IE5VTEwpICYmIChlbnQtPmV0eXBlICE9IFhNTF9JTlRFUk5BTF9QUkVERUZJTkVEX0VOVElUWSkgJiYKKwkoZW50LT5jb250ZW50ICE9IE5VTEwpICYmIChlbnQtPmNoZWNrZWQgPT0gMCkpIHsKKwl1bnNpZ25lZCBsb25nIG9sZG5iZW50ID0gY3R4dC0+bmJlbnRpdGllczsKKwl4bWxDaGFyICpyZXA7CisKKwllbnQtPmNoZWNrZWQgPSAxOworCisJcmVwID0geG1sU3RyaW5nRGVjb2RlRW50aXRpZXMoY3R4dCwgZW50LT5jb250ZW50LAorCQkJCSAgWE1MX1NVQlNUSVRVVEVfUkVGLCAwLCAwLCAwKTsKKworCWVudC0+Y2hlY2tlZCA9IChjdHh0LT5uYmVudGl0aWVzIC0gb2xkbmJlbnQgKyAxKSAqIDI7CisJaWYgKHJlcCAhPSBOVUxMKSB7CisJICAgIGlmICh4bWxTdHJjaHIocmVwLCAnPCcpKQorCQllbnQtPmNoZWNrZWQgfD0gMTsKKwkgICAgeG1sRnJlZShyZXApOworCSAgICByZXAgPSBOVUxMOworCX0KKyAgICB9CisgICAgaWYgKHJlcGxhY2VtZW50ICE9IDApIHsKKwlpZiAocmVwbGFjZW1lbnQgPCBYTUxfTUFYX1RFWFRfTEVOR1RIKQorCSAgICByZXR1cm4oMCk7CisKKyAgICAgICAgLyoKKwkgKiBJZiB0aGUgdm9sdW1lIG9mIGVudGl0eSBjb3B5IHJlYWNoZXMgMTAgdGltZXMgdGhlCisJICogYW1vdW50IG9mIHBhcnNlZCBkYXRhIGFuZCBvdmVyIHRoZSBsYXJnZSB0ZXh0IHRocmVzaG9sZAorCSAqIHRoZW4gdGhhdCdzIHZlcnkgbGlrZWx5IHRvIGJlIGFuIGFidXNlLgorCSAqLworICAgICAgICBpZiAoY3R4dC0+aW5wdXQgIT0gTlVMTCkgeworCSAgICBjb25zdW1lZCA9IGN0eHQtPmlucHV0LT5jb25zdW1lZCArCisJICAgICAgICAgICAgICAgKGN0eHQtPmlucHV0LT5jdXIgLSBjdHh0LT5pbnB1dC0+YmFzZSk7CisJfQorICAgICAgICBjb25zdW1lZCArPSBjdHh0LT5zaXplZW50aXRpZXM7CisKKyAgICAgICAgaWYgKHJlcGxhY2VtZW50IDwgWE1MX1BBUlNFUl9OT05fTElORUFSICogY29uc3VtZWQpCisJICAgIHJldHVybigwKTsKKyAgICB9IGVsc2UgaWYgKHNpemUgIT0gMCkgeworICAgICAgICAvKgorICAgICAgICAgKiBEbyB0aGUgY2hlY2sgYmFzZWQgb24gdGhlIHJlcGxhY2VtZW50IHNpemUgb2YgdGhlIGVudGl0eQorICAgICAgICAgKi8KKyAgICAgICAgaWYgKHNpemUgPCBYTUxfUEFSU0VSX0JJR19FTlRJVFkpCisJICAgIHJldHVybigwKTsKKworICAgICAgICAvKgorICAgICAgICAgKiBBIGxpbWl0IG9uIHRoZSBhbW91bnQgb2YgdGV4dCBkYXRhIHJlYXNvbmFibHkgdXNlZAorICAgICAgICAgKi8KKyAgICAgICAgaWYgKGN0eHQtPmlucHV0ICE9IE5VTEwpIHsKKyAgICAgICAgICAgIGNvbnN1bWVkID0gY3R4dC0+aW5wdXQtPmNvbnN1bWVkICsKKyAgICAgICAgICAgICAgICAoY3R4dC0+aW5wdXQtPmN1ciAtIGN0eHQtPmlucHV0LT5iYXNlKTsKKyAgICAgICAgfQorICAgICAgICBjb25zdW1lZCArPSBjdHh0LT5zaXplZW50aXRpZXM7CisKKyAgICAgICAgaWYgKChzaXplIDwgWE1MX1BBUlNFUl9OT05fTElORUFSICogY29uc3VtZWQpICYmCisJICAgIChjdHh0LT5uYmVudGl0aWVzICogMyA8IFhNTF9QQVJTRVJfTk9OX0xJTkVBUiAqIGNvbnN1bWVkKSkKKyAgICAgICAgICAgIHJldHVybiAoMCk7CisgICAgfSBlbHNlIGlmIChlbnQgIT0gTlVMTCkgeworICAgICAgICAvKgorICAgICAgICAgKiB1c2UgdGhlIG51bWJlciBvZiBwYXJzZWQgZW50aXRpZXMgaW4gdGhlIHJlcGxhY2VtZW50CisgICAgICAgICAqLworICAgICAgICBzaXplID0gZW50LT5jaGVja2VkIC8gMjsKKworICAgICAgICAvKgorICAgICAgICAgKiBUaGUgYW1vdW50IG9mIGRhdGEgcGFyc2VkIGNvdW50aW5nIGVudGl0aWVzIHNpemUgb25seSBvbmNlCisgICAgICAgICAqLworICAgICAgICBpZiAoY3R4dC0+aW5wdXQgIT0gTlVMTCkgeworICAgICAgICAgICAgY29uc3VtZWQgPSBjdHh0LT5pbnB1dC0+Y29uc3VtZWQgKworICAgICAgICAgICAgICAgIChjdHh0LT5pbnB1dC0+Y3VyIC0gY3R4dC0+aW5wdXQtPmJhc2UpOworICAgICAgICB9CisgICAgICAgIGNvbnN1bWVkICs9IGN0eHQtPnNpemVlbnRpdGllczsKKworICAgICAgICAvKgorICAgICAgICAgKiBDaGVjayB0aGUgZGVuc2l0eSBvZiBlbnRpdGllcyBmb3IgdGhlIGFtb3VudCBvZiBkYXRhCisJICoga25vd2luZyBhbiBlbnRpdHkgcmVmZXJlbmNlIHdpbGwgdGFrZSBhdCBsZWFzdCAzIGJ5dGVzCisgICAgICAgICAqLworICAgICAgICBpZiAoc2l6ZSAqIDMgPCBjb25zdW1lZCAqIFhNTF9QQVJTRVJfTk9OX0xJTkVBUikKKyAgICAgICAgICAgIHJldHVybiAoMCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgLyoKKyAgICAgICAgICogc3RyYW5nZSB3ZSBnb3Qgbm8gZGF0YSBmb3IgY2hlY2tpbmcKKyAgICAgICAgICovCisJaWYgKCgoY3R4dC0+bGFzdEVycm9yLmNvZGUgIT0gWE1MX0VSUl9VTkRFQ0xBUkVEX0VOVElUWSkgJiYKKwkgICAgIChjdHh0LT5sYXN0RXJyb3IuY29kZSAhPSBYTUxfV0FSX1VOREVDTEFSRURfRU5USVRZKSkgfHwKKwkgICAgKGN0eHQtPm5iZW50aXRpZXMgPD0gMTAwMDApKQorCSAgICByZXR1cm4gKDApOworICAgIH0KKyAgICB4bWxGYXRhbEVycihjdHh0LCBYTUxfRVJSX0VOVElUWV9MT09QLCBOVUxMKTsKKyAgICByZXR1cm4gKDEpOworfQorCisvKioKKyAqIHhtbFBhcnNlck1heERlcHRoOgorICoKKyAqIGFyYml0cmFyeSBkZXB0aCBsaW1pdCBmb3IgdGhlIFhNTCBkb2N1bWVudHMgdGhhdCB3ZSBhbGxvdyB0bworICogcHJvY2Vzcy4gVGhpcyBpcyBub3QgYSBsaW1pdGF0aW9uIG9mIHRoZSBwYXJzZXIgYnV0IGEgc2FmZXR5CisgKiBib3VuZGFyeSBmZWF0dXJlLiBJdCBjYW4gYmUgZGlzYWJsZWQgd2l0aCB0aGUgWE1MX1BBUlNFX0hVR0UKKyAqIHBhcnNlciBvcHRpb24uCisgKi8KK3Vuc2lnbmVkIGludCB4bWxQYXJzZXJNYXhEZXB0aCA9IDI1NjsKKworCisKKyNkZWZpbmUgU0FYMiAxCisjZGVmaW5lIFhNTF9QQVJTRVJfQklHX0JVRkZFUl9TSVpFIDMwMAorI2RlZmluZSBYTUxfUEFSU0VSX0JVRkZFUl9TSVpFIDEwMAorI2RlZmluZSBTQVhfQ09NUEFUX01PREUgQkFEX0NBU1QgIlNBWCBjb21wYXRpYmlsaXR5IG1vZGUgZG9jdW1lbnQiCisKKy8qKgorICogWE1MX1BBUlNFUl9DSFVOS19TSVpFCisgKgorICogV2hlbiBjYWxsaW5nIEdST1cgdGhhdCdzIHRoZSBtaW5pbWFsIGFtb3VudCBvZiBkYXRhCisgKiB0aGUgcGFyc2VyIGV4cGVjdGVkIHRvIGhhdmUgcmVjZWl2ZWQuIEl0IGlzIG5vdCBhIGhhcmQKKyAqIGxpbWl0IGJ1dCBhbiBvcHRpbWl6YXRpb24gd2hlbiByZWFkaW5nIHN0cmluZ3MgbGlrZSBOYW1lcworICogSXQgaXMgbm90IHN0cmljdGx5IG5lZWRlZCBhcyBsb25nIGFzIGlucHV0cyBhdmFpbGFibGUgY2hhcmFjdGVycworICogYXJlIGZvbGxvd2VkIGJ5IDAsIHdoaWNoIHNob3VsZCBiZSBwcm92aWRlZCBieSB0aGUgSS9PIGxldmVsCisgKi8KKyNkZWZpbmUgWE1MX1BBUlNFUl9DSFVOS19TSVpFIDEwMAorCisvKgorICogTGlzdCBvZiBYTUwgcHJlZml4ZWQgUEkgYWxsb3dlZCBieSBXM0Mgc3BlY3MKKyAqLworCitzdGF0aWMgY29uc3QgY2hhciAqeG1sVzNDUElzW10gPSB7CisgICAgInhtbC1zdHlsZXNoZWV0IiwKKyAgICAieG1sLW1vZGVsIiwKKyAgICBOVUxMCit9OworCisKKy8qIERFUFIgdm9pZCB4bWxQYXJzZXJIYW5kbGVSZWZlcmVuY2UoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0KTsgKi8KK3N0YXRpYyB4bWxFbnRpdHlQdHIgeG1sUGFyc2VTdHJpbmdQRVJlZmVyZW5jZSh4bWxQYXJzZXJDdHh0UHRyIGN0eHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqKnN0cik7CisKK3N0YXRpYyB4bWxQYXJzZXJFcnJvcnMKK3htbFBhcnNlRXh0ZXJuYWxFbnRpdHlQcml2YXRlKHhtbERvY1B0ciBkb2MsIHhtbFBhcnNlckN0eHRQdHIgb2xkY3R4dCwKKwkgICAgICAgICAgICAgIHhtbFNBWEhhbmRsZXJQdHIgc2F4LAorCQkgICAgICB2b2lkICp1c2VyX2RhdGEsIGludCBkZXB0aCwgY29uc3QgeG1sQ2hhciAqVVJMLAorCQkgICAgICBjb25zdCB4bWxDaGFyICpJRCwgeG1sTm9kZVB0ciAqbGlzdCk7CisKK3N0YXRpYyBpbnQKK3htbEN0eHRVc2VPcHRpb25zSW50ZXJuYWwoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0LCBpbnQgb3B0aW9ucywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZW5jb2RpbmcpOworI2lmZGVmIExJQlhNTF9MRUdBQ1lfRU5BQkxFRAorc3RhdGljIHZvaWQKK3htbEFkZEVudGl0eVJlZmVyZW5jZSh4bWxFbnRpdHlQdHIgZW50LCB4bWxOb2RlUHRyIGZpcnN0Tm9kZSwKKyAgICAgICAgICAgICAgICAgICAgICB4bWxOb2RlUHRyIGxhc3ROb2RlKTsKKyNlbmRpZiAvKiBMSUJYTUxfTEVHQUNZX0VOQUJMRUQgKi8KKworc3RhdGljIHhtbFBhcnNlckVycm9ycworeG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5SW50ZXJuYWwoeG1sUGFyc2VyQ3R4dFB0ciBvbGRjdHh0LAorCQkgICAgICBjb25zdCB4bWxDaGFyICpzdHJpbmcsIHZvaWQgKnVzZXJfZGF0YSwgeG1sTm9kZVB0ciAqbHN0KTsKKworc3RhdGljIGludAoreG1sTG9hZEVudGl0eUNvbnRlbnQoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0LCB4bWxFbnRpdHlQdHIgZW50aXR5KTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJU29tZSBmYWN0b3JpemVkIGVycm9yIHJvdXRpbmVzCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqCisgKiB4bWxFcnJBdHRyaWJ1dGVEdXA6CisgKiBAY3R4dDogIGFuIFhNTCBwYXJzZXIgY29udGV4dAorICogQHByZWZpeDogIHRoZSBhdHRyaWJ1dGUgcHJlZml4CisgKiBAbG9jYWxuYW1lOiAgdGhlIGF0dHJpYnV0ZSBsb2NhbG5hbWUKKyAqCisgKiBIYW5kbGUgYSByZWRlZmluaXRpb24gb2YgYXR0cmlidXRlIGVycm9yCisgKi8KK3N0YXRpYyB2b2lkCit4bWxFcnJBdHRyaWJ1dGVEdXAoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0LCBjb25zdCB4bWxDaGFyICogcHJlZml4LAorICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBsb2NhbG5hbWUpCit7CisgICAgaWYgKChjdHh0ICE9IE5VTEwpICYmIChjdHh0LT5kaXNhYmxlU0FYICE9IDApICYmCisgICAgICAgIChjdHh0LT5pbnN0YXRlID09IFhNTF9QQVJTRVJfRU9GKSkKKwlyZXR1cm47CisgICAgaWYgKGN0eHQgIT0gTlVMTCkKKwljdHh0LT5lcnJObyA9IFhNTF9FUlJfQVRUUklCVVRFX1JFREVGSU5FRDsKKworICAgIGlmIChwcmVmaXggPT0gTlVMTCkKKyAgICAgICAgX194bWxSYWlzZUVycm9yKE5VTEwsIE5VTEwsIE5VTEwsIGN0eHQsIE5VTEwsIFhNTF9GUk9NX1BBUlNFUiwKKyAgICAgICAgICAgICAgICAgICAgICAgIFhNTF9FUlJfQVRUUklCVVRFX1JFREVGSU5FRCwgWE1MX0VSUl9GQVRBTCwgTlVMTCwgMCwKKyAgICAgICAgICAgICAgICAgICAgICAgIChjb25zdCBjaGFyICopIGxvY2FsbmFtZSwgTlVMTCwgTlVMTCwgMCwgMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJBdHRyaWJ1dGUgJXMgcmVkZWZpbmVkXG4iLCBsb2NhbG5hbWUpOworICAgIGVsc2UKKyAgICAgICAgX194bWxSYWlzZUVycm9yKE5VTEwsIE5VTEwsIE5VTEwsIGN0eHQsIE5VTEwsIFhNTF9GUk9NX1BBUlNFUiwKKyAgICAgICAgICAgICAgICAgICAgICAgIFhNTF9FUlJfQVRUUklCVVRFX1JFREVGSU5FRCwgWE1MX0VSUl9GQVRBTCwgTlVMTCwgMCwKKyAgICAgICAgICAgICAgICAgICAgICAgIChjb25zdCBjaGFyICopIHByZWZpeCwgKGNvbnN0IGNoYXIgKikgbG9jYWxuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgMCwgMCwgIkF0dHJpYnV0ZSAlczolcyByZWRlZmluZWRcbiIsIHByZWZpeCwKKyAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsbmFtZSk7CisgICAgaWYgKGN0eHQgIT0gTlVMTCkgeworCWN0eHQtPndlbGxGb3JtZWQgPSAwOworCWlmIChjdHh0LT5yZWNvdmVyeSA9PSAwKQorCSAgICBjdHh0LT5kaXNhYmxlU0FYID0gMTsKKyAgICB9Cit9CisKKy8qKgorICogeG1sRmF0YWxFcnI6CisgKiBAY3R4dDogIGFuIFhNTCBwYXJzZXIgY29udGV4dAorICogQGVycm9yOiAgdGhlIGVycm9yIG51bWJlcgorICogQGV4dHJhOiAgZXh0cmEgaW5mb3JtYXRpb24gc3RyaW5nCisgKgorICogSGFuZGxlIGEgZmF0YWwgcGFyc2VyIGVycm9yLCBpLmUuIHZpb2xhdGluZyBXZWxsLUZvcm1lZG5lc3MgY29uc3RyYWludHMKKyAqLworc3RhdGljIHZvaWQKK3htbEZhdGFsRXJyKHhtbFBhcnNlckN0eHRQdHIgY3R4dCwgeG1sUGFyc2VyRXJyb3JzIGVycm9yLCBjb25zdCBjaGFyICppbmZvKQoreworICAgIGNvbnN0IGNoYXIgKmVycm1zZzsKKyAgICBjaGFyIGVycnN0clsxMjldID0gIiI7CisKKyAgICBpZiAoKGN0eHQgIT0gTlVMTCkgJiYgKGN0eHQtPmRpc2FibGVTQVggIT0gMCkgJiYKKyAgICAgICAgKGN0eHQtPmluc3RhdGUgPT0gWE1MX1BBUlNFUl9FT0YpKQorCXJldHVybjsKKyAgICBzd2l0Y2ggKGVycm9yKSB7CisgICAgICAgIGNhc2UgWE1MX0VSUl9JTlZBTElEX0hFWF9DSEFSUkVGOgorICAgICAgICAgICAgZXJybXNnID0gIkNoYXJSZWY6IGludmFsaWQgaGV4YWRlY2ltYWwgdmFsdWUiOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0VSUl9JTlZBTElEX0RFQ19DSEFSUkVGOgorICAgICAgICAgICAgZXJybXNnID0gIkNoYXJSZWY6IGludmFsaWQgZGVjaW1hbCB2YWx1ZSI7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfRVJSX0lOVkFMSURfQ0hBUlJFRjoKKyAgICAgICAgICAgIGVycm1zZyA9ICJDaGFyUmVmOiBpbnZhbGlkIHZhbHVlIjsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9FUlJfSU5URVJOQUxfRVJST1I6CisgICAgICAgICAgICBlcnJtc2cgPSAiaW50ZXJuYWwgZXJyb3IiOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0VSUl9QRVJFRl9BVF9FT0Y6CisgICAgICAgICAgICBlcnJtc2cgPSAiUEVSZWZlcmVuY2UgYXQgZW5kIG9mIGRvY3VtZW50IjsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9FUlJfUEVSRUZfSU5fUFJPTE9HOgorICAgICAgICAgICAgZXJybXNnID0gIlBFUmVmZXJlbmNlIGluIHByb2xvZyI7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfRVJSX1BFUkVGX0lOX0VQSUxPRzoKKyAgICAgICAgICAgIGVycm1zZyA9ICJQRVJlZmVyZW5jZSBpbiBlcGlsb2ciOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0VSUl9QRVJFRl9OT19OQU1FOgorICAgICAgICAgICAgZXJybXNnID0gIlBFUmVmZXJlbmNlOiBubyBuYW1lIjsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9FUlJfUEVSRUZfU0VNSUNPTF9NSVNTSU5HOgorICAgICAgICAgICAgZXJybXNnID0gIlBFUmVmZXJlbmNlOiBleHBlY3RpbmcgJzsnIjsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9FUlJfRU5USVRZX0xPT1A6CisgICAgICAgICAgICBlcnJtc2cgPSAiRGV0ZWN0ZWQgYW4gZW50aXR5IHJlZmVyZW5jZSBsb29wIjsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9FUlJfRU5USVRZX05PVF9TVEFSVEVEOgorICAgICAgICAgICAgZXJybXNnID0gIkVudGl0eVZhbHVlOiBcIiBvciAnIGV4cGVjdGVkIjsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9FUlJfRU5USVRZX1BFX0lOVEVSTkFMOgorICAgICAgICAgICAgZXJybXNnID0gIlBFUmVmZXJlbmNlcyBmb3JiaWRkZW4gaW4gaW50ZXJuYWwgc3Vic2V0IjsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9FUlJfRU5USVRZX05PVF9GSU5JU0hFRDoKKyAgICAgICAgICAgIGVycm1zZyA9ICJFbnRpdHlWYWx1ZTogXCIgb3IgJyBleHBlY3RlZCI7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfRVJSX0FUVFJJQlVURV9OT1RfU1RBUlRFRDoKKyAgICAgICAgICAgIGVycm1zZyA9ICJBdHRWYWx1ZTogXCIgb3IgJyBleHBlY3RlZCI7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfRVJSX0xUX0lOX0FUVFJJQlVURToKKyAgICAgICAgICAgIGVycm1zZyA9ICJVbmVzY2FwZWQgJzwnIG5vdCBhbGxvd2VkIGluIGF0dHJpYnV0ZXMgdmFsdWVzIjsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9FUlJfTElURVJBTF9OT1RfU1RBUlRFRDoKKyAgICAgICAgICAgIGVycm1zZyA9ICJTeXN0ZW1MaXRlcmFsIFwiIG9yICcgZXhwZWN0ZWQiOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0VSUl9MSVRFUkFMX05PVF9GSU5JU0hFRDoKKyAgICAgICAgICAgIGVycm1zZyA9ICJVbmZpbmlzaGVkIFN5c3RlbSBvciBQdWJsaWMgSUQgXCIgb3IgJyBleHBlY3RlZCI7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfRVJSX01JU1BMQUNFRF9DREFUQV9FTkQ6CisgICAgICAgICAgICBlcnJtc2cgPSAiU2VxdWVuY2UgJ11dPicgbm90IGFsbG93ZWQgaW4gY29udGVudCI7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfRVJSX1VSSV9SRVFVSVJFRDoKKyAgICAgICAgICAgIGVycm1zZyA9ICJTWVNURU0gb3IgUFVCTElDLCB0aGUgVVJJIGlzIG1pc3NpbmciOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0VSUl9QVUJJRF9SRVFVSVJFRDoKKyAgICAgICAgICAgIGVycm1zZyA9ICJQVUJMSUMsIHRoZSBQdWJsaWMgSWRlbnRpZmllciBpcyBtaXNzaW5nIjsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9FUlJfSFlQSEVOX0lOX0NPTU1FTlQ6CisgICAgICAgICAgICBlcnJtc2cgPSAiQ29tbWVudCBtdXN0IG5vdCBjb250YWluICctLScgKGRvdWJsZS1oeXBoZW4pIjsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9FUlJfUElfTk9UX1NUQVJURUQ6CisgICAgICAgICAgICBlcnJtc2cgPSAieG1sUGFyc2VQSSA6IG5vIHRhcmdldCBuYW1lIjsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9FUlJfUkVTRVJWRURfWE1MX05BTUU6CisgICAgICAgICAgICBlcnJtc2cgPSAiSW52YWxpZCBQSSBuYW1lIjsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9FUlJfTk9UQVRJT05fTk9UX1NUQVJURUQ6CisgICAgICAgICAgICBlcnJtc2cgPSAiTk9UQVRJT046IE5hbWUgZXhwZWN0ZWQgaGVyZSI7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfRVJSX05PVEFUSU9OX05PVF9GSU5JU0hFRDoKKyAgICAgICAgICAgIGVycm1zZyA9ICInPicgcmVxdWlyZWQgdG8gY2xvc2UgTk9UQVRJT04gZGVjbGFyYXRpb24iOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0VSUl9WQUxVRV9SRVFVSVJFRDoKKyAgICAgICAgICAgIGVycm1zZyA9ICJFbnRpdHkgdmFsdWUgcmVxdWlyZWQiOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0VSUl9VUklfRlJBR01FTlQ6CisgICAgICAgICAgICBlcnJtc2cgPSAiRnJhZ21lbnQgbm90IGFsbG93ZWQiOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0VSUl9BVFRMSVNUX05PVF9TVEFSVEVEOgorICAgICAgICAgICAgZXJybXNnID0gIicoJyByZXF1aXJlZCB0byBzdGFydCBBVFRMSVNUIGVudW1lcmF0aW9uIjsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9FUlJfTk1UT0tFTl9SRVFVSVJFRDoKKyAgICAgICAgICAgIGVycm1zZyA9ICJObVRva2VuIGV4cGVjdGVkIGluIEFUVExJU1QgZW51bWVyYXRpb24iOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0VSUl9BVFRMSVNUX05PVF9GSU5JU0hFRDoKKyAgICAgICAgICAgIGVycm1zZyA9ICInKScgcmVxdWlyZWQgdG8gZmluaXNoIEFUVExJU1QgZW51bWVyYXRpb24iOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0VSUl9NSVhFRF9OT1RfU1RBUlRFRDoKKyAgICAgICAgICAgIGVycm1zZyA9ICJNaXhlZENvbnRlbnREZWNsIDogJ3wnIG9yICcpKicgZXhwZWN0ZWQiOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0VSUl9QQ0RBVEFfUkVRVUlSRUQ6CisgICAgICAgICAgICBlcnJtc2cgPSAiTWl4ZWRDb250ZW50RGVjbCA6ICcjUENEQVRBJyBleHBlY3RlZCI7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfRVJSX0VMRU1DT05URU5UX05PVF9TVEFSVEVEOgorICAgICAgICAgICAgZXJybXNnID0gIkNvbnRlbnREZWNsIDogTmFtZSBvciAnKCcgZXhwZWN0ZWQiOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0VSUl9FTEVNQ09OVEVOVF9OT1RfRklOSVNIRUQ6CisgICAgICAgICAgICBlcnJtc2cgPSAiQ29udGVudERlY2wgOiAnLCcgJ3wnIG9yICcpJyBleHBlY3RlZCI7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfRVJSX1BFUkVGX0lOX0lOVF9TVUJTRVQ6CisgICAgICAgICAgICBlcnJtc2cgPQorICAgICAgICAgICAgICAgICJQRVJlZmVyZW5jZTogZm9yYmlkZGVuIHdpdGhpbiBtYXJrdXAgZGVjbCBpbiBpbnRlcm5hbCBzdWJzZXQiOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0VSUl9HVF9SRVFVSVJFRDoKKyAgICAgICAgICAgIGVycm1zZyA9ICJleHBlY3RlZCAnPiciOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0VSUl9DT05EU0VDX0lOVkFMSUQ6CisgICAgICAgICAgICBlcnJtc2cgPSAiWE1MIGNvbmRpdGlvbmFsIHNlY3Rpb24gJ1snIGV4cGVjdGVkIjsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9FUlJfRVhUX1NVQlNFVF9OT1RfRklOSVNIRUQ6CisgICAgICAgICAgICBlcnJtc2cgPSAiQ29udGVudCBlcnJvciBpbiB0aGUgZXh0ZXJuYWwgc3Vic2V0IjsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9FUlJfQ09ORFNFQ19JTlZBTElEX0tFWVdPUkQ6CisgICAgICAgICAgICBlcnJtc2cgPQorICAgICAgICAgICAgICAgICJjb25kaXRpb25hbCBzZWN0aW9uIElOQ0xVREUgb3IgSUdOT1JFIGtleXdvcmQgZXhwZWN0ZWQiOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0VSUl9DT05EU0VDX05PVF9GSU5JU0hFRDoKKyAgICAgICAgICAgIGVycm1zZyA9ICJYTUwgY29uZGl0aW9uYWwgc2VjdGlvbiBub3QgY2xvc2VkIjsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9FUlJfWE1MREVDTF9OT1RfU1RBUlRFRDoKKyAgICAgICAgICAgIGVycm1zZyA9ICJUZXh0IGRlY2xhcmF0aW9uICc8P3htbCcgcmVxdWlyZWQiOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0VSUl9YTUxERUNMX05PVF9GSU5JU0hFRDoKKyAgICAgICAgICAgIGVycm1zZyA9ICJwYXJzaW5nIFhNTCBkZWNsYXJhdGlvbjogJz8+JyBleHBlY3RlZCI7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfRVJSX0VYVF9FTlRJVFlfU1RBTkRBTE9ORToKKyAgICAgICAgICAgIGVycm1zZyA9ICJleHRlcm5hbCBwYXJzZWQgZW50aXRpZXMgY2Fubm90IGJlIHN0YW5kYWxvbmUiOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0VSUl9FTlRJVFlSRUZfU0VNSUNPTF9NSVNTSU5HOgorICAgICAgICAgICAgZXJybXNnID0gIkVudGl0eVJlZjogZXhwZWN0aW5nICc7JyI7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfRVJSX0RPQ1RZUEVfTk9UX0ZJTklTSEVEOgorICAgICAgICAgICAgZXJybXNnID0gIkRPQ1RZUEUgaW1wcm9wZXJseSB0ZXJtaW5hdGVkIjsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9FUlJfTFRTTEFTSF9SRVFVSVJFRDoKKyAgICAgICAgICAgIGVycm1zZyA9ICJFbmRUYWc6ICc8Lycgbm90IGZvdW5kIjsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9FUlJfRVFVQUxfUkVRVUlSRUQ6CisgICAgICAgICAgICBlcnJtc2cgPSAiZXhwZWN0ZWQgJz0nIjsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9FUlJfU1RSSU5HX05PVF9DTE9TRUQ6CisgICAgICAgICAgICBlcnJtc2cgPSAiU3RyaW5nIG5vdCBjbG9zZWQgZXhwZWN0aW5nIFwiIG9yICciOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0VSUl9TVFJJTkdfTk9UX1NUQVJURUQ6CisgICAgICAgICAgICBlcnJtc2cgPSAiU3RyaW5nIG5vdCBzdGFydGVkIGV4cGVjdGluZyAnIG9yIFwiIjsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9FUlJfRU5DT0RJTkdfTkFNRToKKyAgICAgICAgICAgIGVycm1zZyA9ICJJbnZhbGlkIFhNTCBlbmNvZGluZyBuYW1lIjsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9FUlJfU1RBTkRBTE9ORV9WQUxVRToKKyAgICAgICAgICAgIGVycm1zZyA9ICJzdGFuZGFsb25lIGFjY2VwdHMgb25seSAneWVzJyBvciAnbm8nIjsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9FUlJfRE9DVU1FTlRfRU1QVFk6CisgICAgICAgICAgICBlcnJtc2cgPSAiRG9jdW1lbnQgaXMgZW1wdHkiOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0VSUl9ET0NVTUVOVF9FTkQ6CisgICAgICAgICAgICBlcnJtc2cgPSAiRXh0cmEgY29udGVudCBhdCB0aGUgZW5kIG9mIHRoZSBkb2N1bWVudCI7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfRVJSX05PVF9XRUxMX0JBTEFOQ0VEOgorICAgICAgICAgICAgZXJybXNnID0gImNodW5rIGlzIG5vdCB3ZWxsIGJhbGFuY2VkIjsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9FUlJfRVhUUkFfQ09OVEVOVDoKKyAgICAgICAgICAgIGVycm1zZyA9ICJleHRyYSBjb250ZW50IGF0IHRoZSBlbmQgb2Ygd2VsbCBiYWxhbmNlZCBjaHVuayI7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfRVJSX1ZFUlNJT05fTUlTU0lORzoKKyAgICAgICAgICAgIGVycm1zZyA9ICJNYWxmb3JtZWQgZGVjbGFyYXRpb24gZXhwZWN0aW5nIHZlcnNpb24iOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0VSUl9OQU1FX1RPT19MT05HOgorICAgICAgICAgICAgZXJybXNnID0gIk5hbWUgdG9vIGxvbmcgdXNlIFhNTF9QQVJTRV9IVUdFIG9wdGlvbiI7CisgICAgICAgICAgICBicmVhazsKKyNpZiAwCisgICAgICAgIGNhc2U6CisgICAgICAgICAgICBlcnJtc2cgPSAiIjsKKyAgICAgICAgICAgIGJyZWFrOworI2VuZGlmCisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBlcnJtc2cgPSAiVW5yZWdpc3RlcmVkIGVycm9yIG1lc3NhZ2UiOworICAgIH0KKyAgICBpZiAoaW5mbyA9PSBOVUxMKQorICAgICAgICBzbnByaW50ZihlcnJzdHIsIDEyOCwgIiVzXG4iLCBlcnJtc2cpOworICAgIGVsc2UKKyAgICAgICAgc25wcmludGYoZXJyc3RyLCAxMjgsICIlczogJSVzXG4iLCBlcnJtc2cpOworICAgIGlmIChjdHh0ICE9IE5VTEwpCisJY3R4dC0+ZXJyTm8gPSBlcnJvcjsKKyAgICBfX3htbFJhaXNlRXJyb3IoTlVMTCwgTlVMTCwgTlVMTCwgY3R4dCwgTlVMTCwgWE1MX0ZST01fUEFSU0VSLCBlcnJvciwKKyAgICAgICAgICAgICAgICAgICAgWE1MX0VSUl9GQVRBTCwgTlVMTCwgMCwgaW5mbywgTlVMTCwgTlVMTCwgMCwgMCwgJmVycnN0clswXSwKKyAgICAgICAgICAgICAgICAgICAgaW5mbyk7CisgICAgaWYgKGN0eHQgIT0gTlVMTCkgeworCWN0eHQtPndlbGxGb3JtZWQgPSAwOworCWlmIChjdHh0LT5yZWNvdmVyeSA9PSAwKQorCSAgICBjdHh0LT5kaXNhYmxlU0FYID0gMTsKKyAgICB9Cit9CisKKy8qKgorICogeG1sRmF0YWxFcnJNc2c6CisgKiBAY3R4dDogIGFuIFhNTCBwYXJzZXIgY29udGV4dAorICogQGVycm9yOiAgdGhlIGVycm9yIG51bWJlcgorICogQG1zZzogIHRoZSBlcnJvciBtZXNzYWdlCisgKgorICogSGFuZGxlIGEgZmF0YWwgcGFyc2VyIGVycm9yLCBpLmUuIHZpb2xhdGluZyBXZWxsLUZvcm1lZG5lc3MgY29uc3RyYWludHMKKyAqLworc3RhdGljIHZvaWQKK3htbEZhdGFsRXJyTXNnKHhtbFBhcnNlckN0eHRQdHIgY3R4dCwgeG1sUGFyc2VyRXJyb3JzIGVycm9yLAorICAgICAgICAgICAgICAgY29uc3QgY2hhciAqbXNnKQoreworICAgIGlmICgoY3R4dCAhPSBOVUxMKSAmJiAoY3R4dC0+ZGlzYWJsZVNBWCAhPSAwKSAmJgorICAgICAgICAoY3R4dC0+aW5zdGF0ZSA9PSBYTUxfUEFSU0VSX0VPRikpCisJcmV0dXJuOworICAgIGlmIChjdHh0ICE9IE5VTEwpCisJY3R4dC0+ZXJyTm8gPSBlcnJvcjsKKyAgICBfX3htbFJhaXNlRXJyb3IoTlVMTCwgTlVMTCwgTlVMTCwgY3R4dCwgTlVMTCwgWE1MX0ZST01fUEFSU0VSLCBlcnJvciwKKyAgICAgICAgICAgICAgICAgICAgWE1MX0VSUl9GQVRBTCwgTlVMTCwgMCwgTlVMTCwgTlVMTCwgTlVMTCwgMCwgMCwgIiVzIiwgbXNnKTsKKyAgICBpZiAoY3R4dCAhPSBOVUxMKSB7CisJY3R4dC0+d2VsbEZvcm1lZCA9IDA7CisJaWYgKGN0eHQtPnJlY292ZXJ5ID09IDApCisJICAgIGN0eHQtPmRpc2FibGVTQVggPSAxOworICAgIH0KK30KKworLyoqCisgKiB4bWxXYXJuaW5nTXNnOgorICogQGN0eHQ6ICBhbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBlcnJvcjogIHRoZSBlcnJvciBudW1iZXIKKyAqIEBtc2c6ICB0aGUgZXJyb3IgbWVzc2FnZQorICogQHN0cjE6ICBleHRyYSBkYXRhCisgKiBAc3RyMjogIGV4dHJhIGRhdGEKKyAqCisgKiBIYW5kbGUgYSB3YXJuaW5nLgorICovCitzdGF0aWMgdm9pZAoreG1sV2FybmluZ01zZyh4bWxQYXJzZXJDdHh0UHRyIGN0eHQsIHhtbFBhcnNlckVycm9ycyBlcnJvciwKKyAgICAgICAgICAgICAgY29uc3QgY2hhciAqbXNnLCBjb25zdCB4bWxDaGFyICpzdHIxLCBjb25zdCB4bWxDaGFyICpzdHIyKQoreworICAgIHhtbFN0cnVjdHVyZWRFcnJvckZ1bmMgc2NoYW5uZWwgPSBOVUxMOworCisgICAgaWYgKChjdHh0ICE9IE5VTEwpICYmIChjdHh0LT5kaXNhYmxlU0FYICE9IDApICYmCisgICAgICAgIChjdHh0LT5pbnN0YXRlID09IFhNTF9QQVJTRVJfRU9GKSkKKwlyZXR1cm47CisgICAgaWYgKChjdHh0ICE9IE5VTEwpICYmIChjdHh0LT5zYXggIT0gTlVMTCkgJiYKKyAgICAgICAgKGN0eHQtPnNheC0+aW5pdGlhbGl6ZWQgPT0gWE1MX1NBWDJfTUFHSUMpKQorICAgICAgICBzY2hhbm5lbCA9IGN0eHQtPnNheC0+c2Vycm9yOworICAgIGlmIChjdHh0ICE9IE5VTEwpIHsKKyAgICAgICAgX194bWxSYWlzZUVycm9yKHNjaGFubmVsLAorICAgICAgICAgICAgICAgICAgICAoY3R4dC0+c2F4KSA/IGN0eHQtPnNheC0+d2FybmluZyA6IE5VTEwsCisgICAgICAgICAgICAgICAgICAgIGN0eHQtPnVzZXJEYXRhLAorICAgICAgICAgICAgICAgICAgICBjdHh0LCBOVUxMLCBYTUxfRlJPTV9QQVJTRVIsIGVycm9yLAorICAgICAgICAgICAgICAgICAgICBYTUxfRVJSX1dBUk5JTkcsIE5VTEwsIDAsCisJCSAgICAoY29uc3QgY2hhciAqKSBzdHIxLCAoY29uc3QgY2hhciAqKSBzdHIyLCBOVUxMLCAwLCAwLAorCQkgICAgbXNnLCAoY29uc3QgY2hhciAqKSBzdHIxLCAoY29uc3QgY2hhciAqKSBzdHIyKTsKKyAgICB9IGVsc2UgeworICAgICAgICBfX3htbFJhaXNlRXJyb3Ioc2NoYW5uZWwsIE5VTEwsIE5VTEwsCisgICAgICAgICAgICAgICAgICAgIGN0eHQsIE5VTEwsIFhNTF9GUk9NX1BBUlNFUiwgZXJyb3IsCisgICAgICAgICAgICAgICAgICAgIFhNTF9FUlJfV0FSTklORywgTlVMTCwgMCwKKwkJICAgIChjb25zdCBjaGFyICopIHN0cjEsIChjb25zdCBjaGFyICopIHN0cjIsIE5VTEwsIDAsIDAsCisJCSAgICBtc2csIChjb25zdCBjaGFyICopIHN0cjEsIChjb25zdCBjaGFyICopIHN0cjIpOworICAgIH0KK30KKworLyoqCisgKiB4bWxWYWxpZGl0eUVycm9yOgorICogQGN0eHQ6ICBhbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBlcnJvcjogIHRoZSBlcnJvciBudW1iZXIKKyAqIEBtc2c6ICB0aGUgZXJyb3IgbWVzc2FnZQorICogQHN0cjE6ICBleHRyYSBkYXRhCisgKgorICogSGFuZGxlIGEgdmFsaWRpdHkgZXJyb3IuCisgKi8KK3N0YXRpYyB2b2lkCit4bWxWYWxpZGl0eUVycm9yKHhtbFBhcnNlckN0eHRQdHIgY3R4dCwgeG1sUGFyc2VyRXJyb3JzIGVycm9yLAorICAgICAgICAgICAgICBjb25zdCBjaGFyICptc2csIGNvbnN0IHhtbENoYXIgKnN0cjEsIGNvbnN0IHhtbENoYXIgKnN0cjIpCit7CisgICAgeG1sU3RydWN0dXJlZEVycm9yRnVuYyBzY2hhbm5lbCA9IE5VTEw7CisKKyAgICBpZiAoKGN0eHQgIT0gTlVMTCkgJiYgKGN0eHQtPmRpc2FibGVTQVggIT0gMCkgJiYKKyAgICAgICAgKGN0eHQtPmluc3RhdGUgPT0gWE1MX1BBUlNFUl9FT0YpKQorCXJldHVybjsKKyAgICBpZiAoY3R4dCAhPSBOVUxMKSB7CisJY3R4dC0+ZXJyTm8gPSBlcnJvcjsKKwlpZiAoKGN0eHQtPnNheCAhPSBOVUxMKSAmJiAoY3R4dC0+c2F4LT5pbml0aWFsaXplZCA9PSBYTUxfU0FYMl9NQUdJQykpCisJICAgIHNjaGFubmVsID0gY3R4dC0+c2F4LT5zZXJyb3I7CisgICAgfQorICAgIGlmIChjdHh0ICE9IE5VTEwpIHsKKyAgICAgICAgX194bWxSYWlzZUVycm9yKHNjaGFubmVsLAorICAgICAgICAgICAgICAgICAgICBjdHh0LT52Y3R4dC5lcnJvciwgY3R4dC0+dmN0eHQudXNlckRhdGEsCisgICAgICAgICAgICAgICAgICAgIGN0eHQsIE5VTEwsIFhNTF9GUk9NX0RURCwgZXJyb3IsCisgICAgICAgICAgICAgICAgICAgIFhNTF9FUlJfRVJST1IsIE5VTEwsIDAsIChjb25zdCBjaGFyICopIHN0cjEsCisJCSAgICAoY29uc3QgY2hhciAqKSBzdHIyLCBOVUxMLCAwLCAwLAorCQkgICAgbXNnLCAoY29uc3QgY2hhciAqKSBzdHIxLCAoY29uc3QgY2hhciAqKSBzdHIyKTsKKwljdHh0LT52YWxpZCA9IDA7CisgICAgfSBlbHNlIHsKKyAgICAgICAgX194bWxSYWlzZUVycm9yKHNjaGFubmVsLCBOVUxMLCBOVUxMLAorICAgICAgICAgICAgICAgICAgICBjdHh0LCBOVUxMLCBYTUxfRlJPTV9EVEQsIGVycm9yLAorICAgICAgICAgICAgICAgICAgICBYTUxfRVJSX0VSUk9SLCBOVUxMLCAwLCAoY29uc3QgY2hhciAqKSBzdHIxLAorCQkgICAgKGNvbnN0IGNoYXIgKikgc3RyMiwgTlVMTCwgMCwgMCwKKwkJICAgIG1zZywgKGNvbnN0IGNoYXIgKikgc3RyMSwgKGNvbnN0IGNoYXIgKikgc3RyMik7CisgICAgfQorfQorCisvKioKKyAqIHhtbEZhdGFsRXJyTXNnSW50OgorICogQGN0eHQ6ICBhbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBlcnJvcjogIHRoZSBlcnJvciBudW1iZXIKKyAqIEBtc2c6ICB0aGUgZXJyb3IgbWVzc2FnZQorICogQHZhbDogIGFuIGludGVnZXIgdmFsdWUKKyAqCisgKiBIYW5kbGUgYSBmYXRhbCBwYXJzZXIgZXJyb3IsIGkuZS4gdmlvbGF0aW5nIFdlbGwtRm9ybWVkbmVzcyBjb25zdHJhaW50cworICovCitzdGF0aWMgdm9pZAoreG1sRmF0YWxFcnJNc2dJbnQoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0LCB4bWxQYXJzZXJFcnJvcnMgZXJyb3IsCisgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICptc2csIGludCB2YWwpCit7CisgICAgaWYgKChjdHh0ICE9IE5VTEwpICYmIChjdHh0LT5kaXNhYmxlU0FYICE9IDApICYmCisgICAgICAgIChjdHh0LT5pbnN0YXRlID09IFhNTF9QQVJTRVJfRU9GKSkKKwlyZXR1cm47CisgICAgaWYgKGN0eHQgIT0gTlVMTCkKKwljdHh0LT5lcnJObyA9IGVycm9yOworICAgIF9feG1sUmFpc2VFcnJvcihOVUxMLCBOVUxMLCBOVUxMLAorICAgICAgICAgICAgICAgICAgICBjdHh0LCBOVUxMLCBYTUxfRlJPTV9QQVJTRVIsIGVycm9yLCBYTUxfRVJSX0ZBVEFMLAorICAgICAgICAgICAgICAgICAgICBOVUxMLCAwLCBOVUxMLCBOVUxMLCBOVUxMLCB2YWwsIDAsIG1zZywgdmFsKTsKKyAgICBpZiAoY3R4dCAhPSBOVUxMKSB7CisJY3R4dC0+d2VsbEZvcm1lZCA9IDA7CisJaWYgKGN0eHQtPnJlY292ZXJ5ID09IDApCisJICAgIGN0eHQtPmRpc2FibGVTQVggPSAxOworICAgIH0KK30KKworLyoqCisgKiB4bWxGYXRhbEVyck1zZ1N0ckludFN0cjoKKyAqIEBjdHh0OiAgYW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAZXJyb3I6ICB0aGUgZXJyb3IgbnVtYmVyCisgKiBAbXNnOiAgdGhlIGVycm9yIG1lc3NhZ2UKKyAqIEBzdHIxOiAgYW4gc3RyaW5nIGluZm8KKyAqIEB2YWw6ICBhbiBpbnRlZ2VyIHZhbHVlCisgKiBAc3RyMjogIGFuIHN0cmluZyBpbmZvCisgKgorICogSGFuZGxlIGEgZmF0YWwgcGFyc2VyIGVycm9yLCBpLmUuIHZpb2xhdGluZyBXZWxsLUZvcm1lZG5lc3MgY29uc3RyYWludHMKKyAqLworc3RhdGljIHZvaWQKK3htbEZhdGFsRXJyTXNnU3RySW50U3RyKHhtbFBhcnNlckN0eHRQdHIgY3R4dCwgeG1sUGFyc2VyRXJyb3JzIGVycm9yLAorICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqbXNnLCBjb25zdCB4bWxDaGFyICpzdHIxLCBpbnQgdmFsLAorCQkgIGNvbnN0IHhtbENoYXIgKnN0cjIpCit7CisgICAgaWYgKChjdHh0ICE9IE5VTEwpICYmIChjdHh0LT5kaXNhYmxlU0FYICE9IDApICYmCisgICAgICAgIChjdHh0LT5pbnN0YXRlID09IFhNTF9QQVJTRVJfRU9GKSkKKwlyZXR1cm47CisgICAgaWYgKGN0eHQgIT0gTlVMTCkKKwljdHh0LT5lcnJObyA9IGVycm9yOworICAgIF9feG1sUmFpc2VFcnJvcihOVUxMLCBOVUxMLCBOVUxMLAorICAgICAgICAgICAgICAgICAgICBjdHh0LCBOVUxMLCBYTUxfRlJPTV9QQVJTRVIsIGVycm9yLCBYTUxfRVJSX0ZBVEFMLAorICAgICAgICAgICAgICAgICAgICBOVUxMLCAwLCAoY29uc3QgY2hhciAqKSBzdHIxLCAoY29uc3QgY2hhciAqKSBzdHIyLAorCQkgICAgTlVMTCwgdmFsLCAwLCBtc2csIHN0cjEsIHZhbCwgc3RyMik7CisgICAgaWYgKGN0eHQgIT0gTlVMTCkgeworCWN0eHQtPndlbGxGb3JtZWQgPSAwOworCWlmIChjdHh0LT5yZWNvdmVyeSA9PSAwKQorCSAgICBjdHh0LT5kaXNhYmxlU0FYID0gMTsKKyAgICB9Cit9CisKKy8qKgorICogeG1sRmF0YWxFcnJNc2dTdHI6CisgKiBAY3R4dDogIGFuIFhNTCBwYXJzZXIgY29udGV4dAorICogQGVycm9yOiAgdGhlIGVycm9yIG51bWJlcgorICogQG1zZzogIHRoZSBlcnJvciBtZXNzYWdlCisgKiBAdmFsOiAgYSBzdHJpbmcgdmFsdWUKKyAqCisgKiBIYW5kbGUgYSBmYXRhbCBwYXJzZXIgZXJyb3IsIGkuZS4gdmlvbGF0aW5nIFdlbGwtRm9ybWVkbmVzcyBjb25zdHJhaW50cworICovCitzdGF0aWMgdm9pZAoreG1sRmF0YWxFcnJNc2dTdHIoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0LCB4bWxQYXJzZXJFcnJvcnMgZXJyb3IsCisgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICptc2csIGNvbnN0IHhtbENoYXIgKiB2YWwpCit7CisgICAgaWYgKChjdHh0ICE9IE5VTEwpICYmIChjdHh0LT5kaXNhYmxlU0FYICE9IDApICYmCisgICAgICAgIChjdHh0LT5pbnN0YXRlID09IFhNTF9QQVJTRVJfRU9GKSkKKwlyZXR1cm47CisgICAgaWYgKGN0eHQgIT0gTlVMTCkKKwljdHh0LT5lcnJObyA9IGVycm9yOworICAgIF9feG1sUmFpc2VFcnJvcihOVUxMLCBOVUxMLCBOVUxMLCBjdHh0LCBOVUxMLAorICAgICAgICAgICAgICAgICAgICBYTUxfRlJPTV9QQVJTRVIsIGVycm9yLCBYTUxfRVJSX0ZBVEFMLAorICAgICAgICAgICAgICAgICAgICBOVUxMLCAwLCAoY29uc3QgY2hhciAqKSB2YWwsIE5VTEwsIE5VTEwsIDAsIDAsIG1zZywKKyAgICAgICAgICAgICAgICAgICAgdmFsKTsKKyAgICBpZiAoY3R4dCAhPSBOVUxMKSB7CisJY3R4dC0+d2VsbEZvcm1lZCA9IDA7CisJaWYgKGN0eHQtPnJlY292ZXJ5ID09IDApCisJICAgIGN0eHQtPmRpc2FibGVTQVggPSAxOworICAgIH0KK30KKworLyoqCisgKiB4bWxFcnJNc2dTdHI6CisgKiBAY3R4dDogIGFuIFhNTCBwYXJzZXIgY29udGV4dAorICogQGVycm9yOiAgdGhlIGVycm9yIG51bWJlcgorICogQG1zZzogIHRoZSBlcnJvciBtZXNzYWdlCisgKiBAdmFsOiAgYSBzdHJpbmcgdmFsdWUKKyAqCisgKiBIYW5kbGUgYSBub24gZmF0YWwgcGFyc2VyIGVycm9yCisgKi8KK3N0YXRpYyB2b2lkCit4bWxFcnJNc2dTdHIoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0LCB4bWxQYXJzZXJFcnJvcnMgZXJyb3IsCisgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICptc2csIGNvbnN0IHhtbENoYXIgKiB2YWwpCit7CisgICAgaWYgKChjdHh0ICE9IE5VTEwpICYmIChjdHh0LT5kaXNhYmxlU0FYICE9IDApICYmCisgICAgICAgIChjdHh0LT5pbnN0YXRlID09IFhNTF9QQVJTRVJfRU9GKSkKKwlyZXR1cm47CisgICAgaWYgKGN0eHQgIT0gTlVMTCkKKwljdHh0LT5lcnJObyA9IGVycm9yOworICAgIF9feG1sUmFpc2VFcnJvcihOVUxMLCBOVUxMLCBOVUxMLCBjdHh0LCBOVUxMLAorICAgICAgICAgICAgICAgICAgICBYTUxfRlJPTV9QQVJTRVIsIGVycm9yLCBYTUxfRVJSX0VSUk9SLAorICAgICAgICAgICAgICAgICAgICBOVUxMLCAwLCAoY29uc3QgY2hhciAqKSB2YWwsIE5VTEwsIE5VTEwsIDAsIDAsIG1zZywKKyAgICAgICAgICAgICAgICAgICAgdmFsKTsKK30KKworLyoqCisgKiB4bWxOc0VycjoKKyAqIEBjdHh0OiAgYW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAZXJyb3I6ICB0aGUgZXJyb3IgbnVtYmVyCisgKiBAbXNnOiAgdGhlIG1lc3NhZ2UKKyAqIEBpbmZvMTogIGV4dHJhIGluZm9ybWF0aW9uIHN0cmluZworICogQGluZm8yOiAgZXh0cmEgaW5mb3JtYXRpb24gc3RyaW5nCisgKgorICogSGFuZGxlIGEgZmF0YWwgcGFyc2VyIGVycm9yLCBpLmUuIHZpb2xhdGluZyBXZWxsLUZvcm1lZG5lc3MgY29uc3RyYWludHMKKyAqLworc3RhdGljIHZvaWQKK3htbE5zRXJyKHhtbFBhcnNlckN0eHRQdHIgY3R4dCwgeG1sUGFyc2VyRXJyb3JzIGVycm9yLAorICAgICAgICAgY29uc3QgY2hhciAqbXNnLAorICAgICAgICAgY29uc3QgeG1sQ2hhciAqIGluZm8xLCBjb25zdCB4bWxDaGFyICogaW5mbzIsCisgICAgICAgICBjb25zdCB4bWxDaGFyICogaW5mbzMpCit7CisgICAgaWYgKChjdHh0ICE9IE5VTEwpICYmIChjdHh0LT5kaXNhYmxlU0FYICE9IDApICYmCisgICAgICAgIChjdHh0LT5pbnN0YXRlID09IFhNTF9QQVJTRVJfRU9GKSkKKwlyZXR1cm47CisgICAgaWYgKGN0eHQgIT0gTlVMTCkKKwljdHh0LT5lcnJObyA9IGVycm9yOworICAgIF9feG1sUmFpc2VFcnJvcihOVUxMLCBOVUxMLCBOVUxMLCBjdHh0LCBOVUxMLCBYTUxfRlJPTV9OQU1FU1BBQ0UsIGVycm9yLAorICAgICAgICAgICAgICAgICAgICBYTUxfRVJSX0VSUk9SLCBOVUxMLCAwLCAoY29uc3QgY2hhciAqKSBpbmZvMSwKKyAgICAgICAgICAgICAgICAgICAgKGNvbnN0IGNoYXIgKikgaW5mbzIsIChjb25zdCBjaGFyICopIGluZm8zLCAwLCAwLCBtc2csCisgICAgICAgICAgICAgICAgICAgIGluZm8xLCBpbmZvMiwgaW5mbzMpOworICAgIGlmIChjdHh0ICE9IE5VTEwpCisJY3R4dC0+bnNXZWxsRm9ybWVkID0gMDsKK30KKworLyoqCisgKiB4bWxOc1dhcm4KKyAqIEBjdHh0OiAgYW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAZXJyb3I6ICB0aGUgZXJyb3IgbnVtYmVyCisgKiBAbXNnOiAgdGhlIG1lc3NhZ2UKKyAqIEBpbmZvMTogIGV4dHJhIGluZm9ybWF0aW9uIHN0cmluZworICogQGluZm8yOiAgZXh0cmEgaW5mb3JtYXRpb24gc3RyaW5nCisgKgorICogSGFuZGxlIGEgbmFtZXNwYWNlIHdhcm5pbmcgZXJyb3IKKyAqLworc3RhdGljIHZvaWQKK3htbE5zV2Fybih4bWxQYXJzZXJDdHh0UHRyIGN0eHQsIHhtbFBhcnNlckVycm9ycyBlcnJvciwKKyAgICAgICAgIGNvbnN0IGNoYXIgKm1zZywKKyAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBpbmZvMSwgY29uc3QgeG1sQ2hhciAqIGluZm8yLAorICAgICAgICAgY29uc3QgeG1sQ2hhciAqIGluZm8zKQoreworICAgIGlmICgoY3R4dCAhPSBOVUxMKSAmJiAoY3R4dC0+ZGlzYWJsZVNBWCAhPSAwKSAmJgorICAgICAgICAoY3R4dC0+aW5zdGF0ZSA9PSBYTUxfUEFSU0VSX0VPRikpCisJcmV0dXJuOworICAgIF9feG1sUmFpc2VFcnJvcihOVUxMLCBOVUxMLCBOVUxMLCBjdHh0LCBOVUxMLCBYTUxfRlJPTV9OQU1FU1BBQ0UsIGVycm9yLAorICAgICAgICAgICAgICAgICAgICBYTUxfRVJSX1dBUk5JTkcsIE5VTEwsIDAsIChjb25zdCBjaGFyICopIGluZm8xLAorICAgICAgICAgICAgICAgICAgICAoY29uc3QgY2hhciAqKSBpbmZvMiwgKGNvbnN0IGNoYXIgKikgaW5mbzMsIDAsIDAsIG1zZywKKyAgICAgICAgICAgICAgICAgICAgaW5mbzEsIGluZm8yLCBpbmZvMyk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCUxpYnJhcnkgd2lkZSBvcHRpb25zCQkJCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKgorICAqIHhtbEhhc0ZlYXR1cmU6CisgICogQGZlYXR1cmU6IHRoZSBmZWF0dXJlIHRvIGJlIGV4YW1pbmVkCisgICoKKyAgKiBFeGFtaW5lcyBpZiB0aGUgbGlicmFyeSBoYXMgYmVlbiBjb21waWxlZCB3aXRoIGEgZ2l2ZW4gZmVhdHVyZS4KKyAgKgorICAqIFJldHVybnMgYSBub24temVybyB2YWx1ZSBpZiB0aGUgZmVhdHVyZSBleGlzdCwgb3RoZXJ3aXNlIHplcm8uCisgICogUmV0dXJucyB6ZXJvICgwKSBpZiB0aGUgZmVhdHVyZSBkb2VzIG5vdCBleGlzdCBvciBhbiB1bmtub3duCisgICogdW5rbm93biBmZWF0dXJlIGlzIHJlcXVlc3RlZCwgbm9uLXplcm8gb3RoZXJ3aXNlLgorICAqLworaW50Cit4bWxIYXNGZWF0dXJlKHhtbEZlYXR1cmUgZmVhdHVyZSkKK3sKKyAgICBzd2l0Y2ggKGZlYXR1cmUpIHsKKwljYXNlIFhNTF9XSVRIX1RIUkVBRDoKKyNpZmRlZiBMSUJYTUxfVEhSRUFEX0VOQUJMRUQKKwkgICAgcmV0dXJuKDEpOworI2Vsc2UKKwkgICAgcmV0dXJuKDApOworI2VuZGlmCisgICAgICAgIGNhc2UgWE1MX1dJVEhfVFJFRToKKyNpZmRlZiBMSUJYTUxfVFJFRV9FTkFCTEVECisgICAgICAgICAgICByZXR1cm4oMSk7CisjZWxzZQorICAgICAgICAgICAgcmV0dXJuKDApOworI2VuZGlmCisgICAgICAgIGNhc2UgWE1MX1dJVEhfT1VUUFVUOgorI2lmZGVmIExJQlhNTF9PVVRQVVRfRU5BQkxFRAorICAgICAgICAgICAgcmV0dXJuKDEpOworI2Vsc2UKKyAgICAgICAgICAgIHJldHVybigwKTsKKyNlbmRpZgorICAgICAgICBjYXNlIFhNTF9XSVRIX1BVU0g6CisjaWZkZWYgTElCWE1MX1BVU0hfRU5BQkxFRAorICAgICAgICAgICAgcmV0dXJuKDEpOworI2Vsc2UKKyAgICAgICAgICAgIHJldHVybigwKTsKKyNlbmRpZgorICAgICAgICBjYXNlIFhNTF9XSVRIX1JFQURFUjoKKyNpZmRlZiBMSUJYTUxfUkVBREVSX0VOQUJMRUQKKyAgICAgICAgICAgIHJldHVybigxKTsKKyNlbHNlCisgICAgICAgICAgICByZXR1cm4oMCk7CisjZW5kaWYKKyAgICAgICAgY2FzZSBYTUxfV0lUSF9QQVRURVJOOgorI2lmZGVmIExJQlhNTF9QQVRURVJOX0VOQUJMRUQKKyAgICAgICAgICAgIHJldHVybigxKTsKKyNlbHNlCisgICAgICAgICAgICByZXR1cm4oMCk7CisjZW5kaWYKKyAgICAgICAgY2FzZSBYTUxfV0lUSF9XUklURVI6CisjaWZkZWYgTElCWE1MX1dSSVRFUl9FTkFCTEVECisgICAgICAgICAgICByZXR1cm4oMSk7CisjZWxzZQorICAgICAgICAgICAgcmV0dXJuKDApOworI2VuZGlmCisgICAgICAgIGNhc2UgWE1MX1dJVEhfU0FYMToKKyNpZmRlZiBMSUJYTUxfU0FYMV9FTkFCTEVECisgICAgICAgICAgICByZXR1cm4oMSk7CisjZWxzZQorICAgICAgICAgICAgcmV0dXJuKDApOworI2VuZGlmCisgICAgICAgIGNhc2UgWE1MX1dJVEhfRlRQOgorI2lmZGVmIExJQlhNTF9GVFBfRU5BQkxFRAorICAgICAgICAgICAgcmV0dXJuKDEpOworI2Vsc2UKKyAgICAgICAgICAgIHJldHVybigwKTsKKyNlbmRpZgorICAgICAgICBjYXNlIFhNTF9XSVRIX0hUVFA6CisjaWZkZWYgTElCWE1MX0hUVFBfRU5BQkxFRAorICAgICAgICAgICAgcmV0dXJuKDEpOworI2Vsc2UKKyAgICAgICAgICAgIHJldHVybigwKTsKKyNlbmRpZgorICAgICAgICBjYXNlIFhNTF9XSVRIX1ZBTElEOgorI2lmZGVmIExJQlhNTF9WQUxJRF9FTkFCTEVECisgICAgICAgICAgICByZXR1cm4oMSk7CisjZWxzZQorICAgICAgICAgICAgcmV0dXJuKDApOworI2VuZGlmCisgICAgICAgIGNhc2UgWE1MX1dJVEhfSFRNTDoKKyNpZmRlZiBMSUJYTUxfSFRNTF9FTkFCTEVECisgICAgICAgICAgICByZXR1cm4oMSk7CisjZWxzZQorICAgICAgICAgICAgcmV0dXJuKDApOworI2VuZGlmCisgICAgICAgIGNhc2UgWE1MX1dJVEhfTEVHQUNZOgorI2lmZGVmIExJQlhNTF9MRUdBQ1lfRU5BQkxFRAorICAgICAgICAgICAgcmV0dXJuKDEpOworI2Vsc2UKKyAgICAgICAgICAgIHJldHVybigwKTsKKyNlbmRpZgorICAgICAgICBjYXNlIFhNTF9XSVRIX0MxNE46CisjaWZkZWYgTElCWE1MX0MxNE5fRU5BQkxFRAorICAgICAgICAgICAgcmV0dXJuKDEpOworI2Vsc2UKKyAgICAgICAgICAgIHJldHVybigwKTsKKyNlbmRpZgorICAgICAgICBjYXNlIFhNTF9XSVRIX0NBVEFMT0c6CisjaWZkZWYgTElCWE1MX0NBVEFMT0dfRU5BQkxFRAorICAgICAgICAgICAgcmV0dXJuKDEpOworI2Vsc2UKKyAgICAgICAgICAgIHJldHVybigwKTsKKyNlbmRpZgorICAgICAgICBjYXNlIFhNTF9XSVRIX1hQQVRIOgorI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECisgICAgICAgICAgICByZXR1cm4oMSk7CisjZWxzZQorICAgICAgICAgICAgcmV0dXJuKDApOworI2VuZGlmCisgICAgICAgIGNhc2UgWE1MX1dJVEhfWFBUUjoKKyNpZmRlZiBMSUJYTUxfWFBUUl9FTkFCTEVECisgICAgICAgICAgICByZXR1cm4oMSk7CisjZWxzZQorICAgICAgICAgICAgcmV0dXJuKDApOworI2VuZGlmCisgICAgICAgIGNhc2UgWE1MX1dJVEhfWElOQ0xVREU6CisjaWZkZWYgTElCWE1MX1hJTkNMVURFX0VOQUJMRUQKKyAgICAgICAgICAgIHJldHVybigxKTsKKyNlbHNlCisgICAgICAgICAgICByZXR1cm4oMCk7CisjZW5kaWYKKyAgICAgICAgY2FzZSBYTUxfV0lUSF9JQ09OVjoKKyNpZmRlZiBMSUJYTUxfSUNPTlZfRU5BQkxFRAorICAgICAgICAgICAgcmV0dXJuKDEpOworI2Vsc2UKKyAgICAgICAgICAgIHJldHVybigwKTsKKyNlbmRpZgorICAgICAgICBjYXNlIFhNTF9XSVRIX0lTTzg4NTlYOgorI2lmZGVmIExJQlhNTF9JU084ODU5WF9FTkFCTEVECisgICAgICAgICAgICByZXR1cm4oMSk7CisjZWxzZQorICAgICAgICAgICAgcmV0dXJuKDApOworI2VuZGlmCisgICAgICAgIGNhc2UgWE1MX1dJVEhfVU5JQ09ERToKKyNpZmRlZiBMSUJYTUxfVU5JQ09ERV9FTkFCTEVECisgICAgICAgICAgICByZXR1cm4oMSk7CisjZWxzZQorICAgICAgICAgICAgcmV0dXJuKDApOworI2VuZGlmCisgICAgICAgIGNhc2UgWE1MX1dJVEhfUkVHRVhQOgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAorICAgICAgICAgICAgcmV0dXJuKDEpOworI2Vsc2UKKyAgICAgICAgICAgIHJldHVybigwKTsKKyNlbmRpZgorICAgICAgICBjYXNlIFhNTF9XSVRIX0FVVE9NQVRBOgorI2lmZGVmIExJQlhNTF9BVVRPTUFUQV9FTkFCTEVECisgICAgICAgICAgICByZXR1cm4oMSk7CisjZWxzZQorICAgICAgICAgICAgcmV0dXJuKDApOworI2VuZGlmCisgICAgICAgIGNhc2UgWE1MX1dJVEhfRVhQUjoKKyNpZmRlZiBMSUJYTUxfRVhQUl9FTkFCTEVECisgICAgICAgICAgICByZXR1cm4oMSk7CisjZWxzZQorICAgICAgICAgICAgcmV0dXJuKDApOworI2VuZGlmCisgICAgICAgIGNhc2UgWE1MX1dJVEhfU0NIRU1BUzoKKyNpZmRlZiBMSUJYTUxfU0NIRU1BU19FTkFCTEVECisgICAgICAgICAgICByZXR1cm4oMSk7CisjZWxzZQorICAgICAgICAgICAgcmV0dXJuKDApOworI2VuZGlmCisgICAgICAgIGNhc2UgWE1MX1dJVEhfU0NIRU1BVFJPTjoKKyNpZmRlZiBMSUJYTUxfU0NIRU1BVFJPTl9FTkFCTEVECisgICAgICAgICAgICByZXR1cm4oMSk7CisjZWxzZQorICAgICAgICAgICAgcmV0dXJuKDApOworI2VuZGlmCisgICAgICAgIGNhc2UgWE1MX1dJVEhfTU9EVUxFUzoKKyNpZmRlZiBMSUJYTUxfTU9EVUxFU19FTkFCTEVECisgICAgICAgICAgICByZXR1cm4oMSk7CisjZWxzZQorICAgICAgICAgICAgcmV0dXJuKDApOworI2VuZGlmCisgICAgICAgIGNhc2UgWE1MX1dJVEhfREVCVUc6CisjaWZkZWYgTElCWE1MX0RFQlVHX0VOQUJMRUQKKyAgICAgICAgICAgIHJldHVybigxKTsKKyNlbHNlCisgICAgICAgICAgICByZXR1cm4oMCk7CisjZW5kaWYKKyAgICAgICAgY2FzZSBYTUxfV0lUSF9ERUJVR19NRU06CisjaWZkZWYgREVCVUdfTUVNT1JZX0xPQ0FUSU9OCisgICAgICAgICAgICByZXR1cm4oMSk7CisjZWxzZQorICAgICAgICAgICAgcmV0dXJuKDApOworI2VuZGlmCisgICAgICAgIGNhc2UgWE1MX1dJVEhfREVCVUdfUlVOOgorI2lmZGVmIExJQlhNTF9ERUJVR19SVU5USU1FCisgICAgICAgICAgICByZXR1cm4oMSk7CisjZWxzZQorICAgICAgICAgICAgcmV0dXJuKDApOworI2VuZGlmCisgICAgICAgIGNhc2UgWE1MX1dJVEhfWkxJQjoKKyNpZmRlZiBMSUJYTUxfWkxJQl9FTkFCTEVECisgICAgICAgICAgICByZXR1cm4oMSk7CisjZWxzZQorICAgICAgICAgICAgcmV0dXJuKDApOworI2VuZGlmCisgICAgICAgIGNhc2UgWE1MX1dJVEhfTFpNQToKKyNpZmRlZiBMSUJYTUxfTFpNQV9FTkFCTEVECisgICAgICAgICAgICByZXR1cm4oMSk7CisjZWxzZQorICAgICAgICAgICAgcmV0dXJuKDApOworI2VuZGlmCisgICAgICAgIGNhc2UgWE1MX1dJVEhfSUNVOgorI2lmZGVmIExJQlhNTF9JQ1VfRU5BQkxFRAorICAgICAgICAgICAgcmV0dXJuKDEpOworI2Vsc2UKKyAgICAgICAgICAgIHJldHVybigwKTsKKyNlbmRpZgorICAgICAgICBkZWZhdWx0OgorCSAgICBicmVhazsKKyAgICAgfQorICAgICByZXR1cm4oMCk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCVNBWDIgZGVmYXVsdGVkIGF0dHJpYnV0ZXMgaGFuZGxpbmcJCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKgorICogeG1sRGV0ZWN0U0FYMjoKKyAqIEBjdHh0OiAgYW4gWE1MIHBhcnNlciBjb250ZXh0CisgKgorICogRG8gdGhlIFNBWDIgZGV0ZWN0aW9uIGFuZCBzcGVjaWZpYyBpbnRpYWxpemF0aW9uCisgKi8KK3N0YXRpYyB2b2lkCit4bWxEZXRlY3RTQVgyKHhtbFBhcnNlckN0eHRQdHIgY3R4dCkgeworICAgIGlmIChjdHh0ID09IE5VTEwpIHJldHVybjsKKyNpZmRlZiBMSUJYTUxfU0FYMV9FTkFCTEVECisgICAgaWYgKChjdHh0LT5zYXgpICYmICAoY3R4dC0+c2F4LT5pbml0aWFsaXplZCA9PSBYTUxfU0FYMl9NQUdJQykgJiYKKyAgICAgICAgKChjdHh0LT5zYXgtPnN0YXJ0RWxlbWVudE5zICE9IE5VTEwpIHx8CisgICAgICAgICAoY3R4dC0+c2F4LT5lbmRFbGVtZW50TnMgIT0gTlVMTCkpKSBjdHh0LT5zYXgyID0gMTsKKyNlbHNlCisgICAgY3R4dC0+c2F4MiA9IDE7CisjZW5kaWYgLyogTElCWE1MX1NBWDFfRU5BQkxFRCAqLworCisgICAgY3R4dC0+c3RyX3htbCA9IHhtbERpY3RMb29rdXAoY3R4dC0+ZGljdCwgQkFEX0NBU1QgInhtbCIsIDMpOworICAgIGN0eHQtPnN0cl94bWxucyA9IHhtbERpY3RMb29rdXAoY3R4dC0+ZGljdCwgQkFEX0NBU1QgInhtbG5zIiwgNSk7CisgICAgY3R4dC0+c3RyX3htbF9ucyA9IHhtbERpY3RMb29rdXAoY3R4dC0+ZGljdCwgWE1MX1hNTF9OQU1FU1BBQ0UsIDM2KTsKKyAgICBpZiAoKGN0eHQtPnN0cl94bWw9PU5VTEwpIHx8IChjdHh0LT5zdHJfeG1sbnM9PU5VTEwpIHx8CisJCShjdHh0LT5zdHJfeG1sX25zID09IE5VTEwpKSB7CisgICAgICAgIHhtbEVyck1lbW9yeShjdHh0LCBOVUxMKTsKKyAgICB9Cit9CisKK3R5cGVkZWYgc3RydWN0IF94bWxEZWZBdHRycyB4bWxEZWZBdHRyczsKK3R5cGVkZWYgeG1sRGVmQXR0cnMgKnhtbERlZkF0dHJzUHRyOworc3RydWN0IF94bWxEZWZBdHRycyB7CisgICAgaW50IG5iQXR0cnM7CS8qIG51bWJlciBvZiBkZWZhdWx0ZWQgYXR0cmlidXRlcyBvbiB0aGF0IGVsZW1lbnQgKi8KKyAgICBpbnQgbWF4QXR0cnM7ICAgICAgIC8qIHRoZSBzaXplIG9mIHRoZSBhcnJheSAqLworICAgIGNvbnN0IHhtbENoYXIgKnZhbHVlc1s1XTsgLyogYXJyYXkgb2YgbG9jYWxuYW1lL3ByZWZpeC92YWx1ZXMvZXh0ZXJuYWwgKi8KK307CisKKy8qKgorICogeG1sQXR0ck5vcm1hbGl6ZVNwYWNlOgorICogQHNyYzogdGhlIHNvdXJjZSBzdHJpbmcKKyAqIEBkc3Q6IHRoZSB0YXJnZXQgc3RyaW5nCisgKgorICogTm9ybWFsaXplIHRoZSBzcGFjZSBpbiBub24gQ0RBVEEgYXR0cmlidXRlIHZhbHVlczoKKyAqIElmIHRoZSBhdHRyaWJ1dGUgdHlwZSBpcyBub3QgQ0RBVEEsIHRoZW4gdGhlIFhNTCBwcm9jZXNzb3IgTVVTVCBmdXJ0aGVyCisgKiBwcm9jZXNzIHRoZSBub3JtYWxpemVkIGF0dHJpYnV0ZSB2YWx1ZSBieSBkaXNjYXJkaW5nIGFueSBsZWFkaW5nIGFuZAorICogdHJhaWxpbmcgc3BhY2UgKCN4MjApIGNoYXJhY3RlcnMsIGFuZCBieSByZXBsYWNpbmcgc2VxdWVuY2VzIG9mIHNwYWNlCisgKiAoI3gyMCkgY2hhcmFjdGVycyBieSBhIHNpbmdsZSBzcGFjZSAoI3gyMCkgY2hhcmFjdGVyLgorICogTm90ZSB0aGF0IHRoZSBzaXplIG9mIGRzdCBuZWVkIHRvIGJlIGF0IGxlYXN0IHNyYywgYW5kIGlmIG9uZSBkb2Vzbid0IG5lZWQKKyAqIHRvIHByZXNlcnZlIGRzdCAoYW5kIGl0IGRvZXNuJ3QgY29tZSBmcm9tIGEgZGljdGlvbmFyeSBvciByZWFkLW9ubHkpIHRoZW4KKyAqIHBhc3Npbmcgc3JjIGFzIGRzdCBpcyBqdXN0IGZpbmUuCisgKgorICogUmV0dXJucyBhIHBvaW50ZXIgdG8gdGhlIG5vcm1hbGl6ZWQgdmFsdWUgKGRzdCkgb3IgTlVMTCBpZiBubyBjb252ZXJzaW9uCisgKiAgICAgICAgIGlzIG5lZWRlZC4KKyAqLworc3RhdGljIHhtbENoYXIgKgoreG1sQXR0ck5vcm1hbGl6ZVNwYWNlKGNvbnN0IHhtbENoYXIgKnNyYywgeG1sQ2hhciAqZHN0KQoreworICAgIGlmICgoc3JjID09IE5VTEwpIHx8IChkc3QgPT0gTlVMTCkpCisgICAgICAgIHJldHVybihOVUxMKTsKKworICAgIHdoaWxlICgqc3JjID09IDB4MjApIHNyYysrOworICAgIHdoaWxlICgqc3JjICE9IDApIHsKKwlpZiAoKnNyYyA9PSAweDIwKSB7CisJICAgIHdoaWxlICgqc3JjID09IDB4MjApIHNyYysrOworCSAgICBpZiAoKnNyYyAhPSAwKQorCQkqZHN0KysgPSAweDIwOworCX0gZWxzZSB7CisJICAgICpkc3QrKyA9ICpzcmMrKzsKKwl9CisgICAgfQorICAgICpkc3QgPSAwOworICAgIGlmIChkc3QgPT0gc3JjKQorICAgICAgIHJldHVybihOVUxMKTsKKyAgICByZXR1cm4oZHN0KTsKK30KKworLyoqCisgKiB4bWxBdHRyTm9ybWFsaXplU3BhY2UyOgorICogQHNyYzogdGhlIHNvdXJjZSBzdHJpbmcKKyAqCisgKiBOb3JtYWxpemUgdGhlIHNwYWNlIGluIG5vbiBDREFUQSBhdHRyaWJ1dGUgdmFsdWVzLCBhIHNsaWdodGx5IG1vcmUgY29tcGxleAorICogZnJvbnQgZW5kIHRvIGF2b2lkIGFsbG9jYXRpb24gcHJvYmxlbXMgd2hlbiBydW5uaW5nIG9uIGF0dHJpYnV0ZSB2YWx1ZXMKKyAqIGNvbWluZyBmcm9tIHRoZSBpbnB1dC4KKyAqCisgKiBSZXR1cm5zIGEgcG9pbnRlciB0byB0aGUgbm9ybWFsaXplZCB2YWx1ZSAoZHN0KSBvciBOVUxMIGlmIG5vIGNvbnZlcnNpb24KKyAqICAgICAgICAgaXMgbmVlZGVkLgorICovCitzdGF0aWMgY29uc3QgeG1sQ2hhciAqCit4bWxBdHRyTm9ybWFsaXplU3BhY2UyKHhtbFBhcnNlckN0eHRQdHIgY3R4dCwgeG1sQ2hhciAqc3JjLCBpbnQgKmxlbikKK3sKKyAgICBpbnQgaTsKKyAgICBpbnQgcmVtb3ZlX2hlYWQgPSAwOworICAgIGludCBuZWVkX3JlYWxsb2MgPSAwOworICAgIGNvbnN0IHhtbENoYXIgKmN1cjsKKworICAgIGlmICgoY3R4dCA9PSBOVUxMKSB8fCAoc3JjID09IE5VTEwpIHx8IChsZW4gPT0gTlVMTCkpCisgICAgICAgIHJldHVybihOVUxMKTsKKyAgICBpID0gKmxlbjsKKyAgICBpZiAoaSA8PSAwKQorICAgICAgICByZXR1cm4oTlVMTCk7CisKKyAgICBjdXIgPSBzcmM7CisgICAgd2hpbGUgKCpjdXIgPT0gMHgyMCkgeworICAgICAgICBjdXIrKzsKKwlyZW1vdmVfaGVhZCsrOworICAgIH0KKyAgICB3aGlsZSAoKmN1ciAhPSAwKSB7CisJaWYgKCpjdXIgPT0gMHgyMCkgeworCSAgICBjdXIrKzsKKwkgICAgaWYgKCgqY3VyID09IDB4MjApIHx8ICgqY3VyID09IDApKSB7CisJICAgICAgICBuZWVkX3JlYWxsb2MgPSAxOworCQlicmVhazsKKwkgICAgfQorCX0gZWxzZQorCSAgICBjdXIrKzsKKyAgICB9CisgICAgaWYgKG5lZWRfcmVhbGxvYykgeworICAgICAgICB4bWxDaGFyICpyZXQ7CisKKwlyZXQgPSB4bWxTdHJuZHVwKHNyYyArIHJlbW92ZV9oZWFkLCBpIC0gcmVtb3ZlX2hlYWQgKyAxKTsKKwlpZiAocmV0ID09IE5VTEwpIHsKKwkgICAgeG1sRXJyTWVtb3J5KGN0eHQsIE5VTEwpOworCSAgICByZXR1cm4oTlVMTCk7CisJfQorCXhtbEF0dHJOb3JtYWxpemVTcGFjZShyZXQsIHJldCk7CisJKmxlbiA9IChpbnQpIHN0cmxlbigoY29uc3QgY2hhciAqKXJldCk7CisgICAgICAgIHJldHVybihyZXQpOworICAgIH0gZWxzZSBpZiAocmVtb3ZlX2hlYWQpIHsKKyAgICAgICAgKmxlbiAtPSByZW1vdmVfaGVhZDsKKyAgICAgICAgbWVtbW92ZShzcmMsIHNyYyArIHJlbW92ZV9oZWFkLCAxICsgKmxlbik7CisJcmV0dXJuKHNyYyk7CisgICAgfQorICAgIHJldHVybihOVUxMKTsKK30KKworLyoqCisgKiB4bWxBZGREZWZBdHRyczoKKyAqIEBjdHh0OiAgYW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAZnVsbG5hbWU6ICB0aGUgZWxlbWVudCBmdWxsbmFtZQorICogQGZ1bGxhdHRyOiAgdGhlIGF0dHJpYnV0ZSBmdWxsbmFtZQorICogQHZhbHVlOiAgdGhlIGF0dHJpYnV0ZSB2YWx1ZQorICoKKyAqIEFkZCBhIGRlZmF1bHRlZCBhdHRyaWJ1dGUgZm9yIGFuIGVsZW1lbnQKKyAqLworc3RhdGljIHZvaWQKK3htbEFkZERlZkF0dHJzKHhtbFBhcnNlckN0eHRQdHIgY3R4dCwKKyAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKmZ1bGxuYW1lLAorICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqZnVsbGF0dHIsCisgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICp2YWx1ZSkgeworICAgIHhtbERlZkF0dHJzUHRyIGRlZmF1bHRzOworICAgIGludCBsZW47CisgICAgY29uc3QgeG1sQ2hhciAqbmFtZTsKKyAgICBjb25zdCB4bWxDaGFyICpwcmVmaXg7CisKKyAgICAvKgorICAgICAqIEFsbG93cyB0byBkZXRlY3QgYXR0cmlidXRlIHJlZGVmaW5pdGlvbnMKKyAgICAgKi8KKyAgICBpZiAoY3R4dC0+YXR0c1NwZWNpYWwgIT0gTlVMTCkgeworICAgICAgICBpZiAoeG1sSGFzaExvb2t1cDIoY3R4dC0+YXR0c1NwZWNpYWwsIGZ1bGxuYW1lLCBmdWxsYXR0cikgIT0gTlVMTCkKKwkgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmIChjdHh0LT5hdHRzRGVmYXVsdCA9PSBOVUxMKSB7CisgICAgICAgIGN0eHQtPmF0dHNEZWZhdWx0ID0geG1sSGFzaENyZWF0ZURpY3QoMTAsIGN0eHQtPmRpY3QpOworCWlmIChjdHh0LT5hdHRzRGVmYXVsdCA9PSBOVUxMKQorCSAgICBnb3RvIG1lbV9lcnJvcjsKKyAgICB9CisKKyAgICAvKgorICAgICAqIHNwbGl0IHRoZSBlbGVtZW50IG5hbWUgaW50byBwcmVmaXg6bG9jYWxuYW1lICwgdGhlIHN0cmluZyBmb3VuZAorICAgICAqIGFyZSB3aXRoaW4gdGhlIERURCBhbmQgdGhlbiBub3QgYXNzb2NpYXRlZCB0byBuYW1lc3BhY2UgbmFtZXMuCisgICAgICovCisgICAgbmFtZSA9IHhtbFNwbGl0UU5hbWUzKGZ1bGxuYW1lLCAmbGVuKTsKKyAgICBpZiAobmFtZSA9PSBOVUxMKSB7CisgICAgICAgIG5hbWUgPSB4bWxEaWN0TG9va3VwKGN0eHQtPmRpY3QsIGZ1bGxuYW1lLCAtMSk7CisJcHJlZml4ID0gTlVMTDsKKyAgICB9IGVsc2UgeworICAgICAgICBuYW1lID0geG1sRGljdExvb2t1cChjdHh0LT5kaWN0LCBuYW1lLCAtMSk7CisJcHJlZml4ID0geG1sRGljdExvb2t1cChjdHh0LT5kaWN0LCBmdWxsbmFtZSwgbGVuKTsKKyAgICB9CisKKyAgICAvKgorICAgICAqIG1ha2Ugc3VyZSB0aGVyZSBpcyBzb21lIHN0b3JhZ2UKKyAgICAgKi8KKyAgICBkZWZhdWx0cyA9IHhtbEhhc2hMb29rdXAyKGN0eHQtPmF0dHNEZWZhdWx0LCBuYW1lLCBwcmVmaXgpOworICAgIGlmIChkZWZhdWx0cyA9PSBOVUxMKSB7CisgICAgICAgIGRlZmF1bHRzID0gKHhtbERlZkF0dHJzUHRyKSB4bWxNYWxsb2Moc2l6ZW9mKHhtbERlZkF0dHJzKSArCisJICAgICAgICAgICAgICAgICAgICg0ICogNSkgKiBzaXplb2YoY29uc3QgeG1sQ2hhciAqKSk7CisJaWYgKGRlZmF1bHRzID09IE5VTEwpCisJICAgIGdvdG8gbWVtX2Vycm9yOworCWRlZmF1bHRzLT5uYkF0dHJzID0gMDsKKwlkZWZhdWx0cy0+bWF4QXR0cnMgPSA0OworCWlmICh4bWxIYXNoVXBkYXRlRW50cnkyKGN0eHQtPmF0dHNEZWZhdWx0LCBuYW1lLCBwcmVmaXgsCisJICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdHMsIE5VTEwpIDwgMCkgeworCSAgICB4bWxGcmVlKGRlZmF1bHRzKTsKKwkgICAgZ290byBtZW1fZXJyb3I7CisJfQorICAgIH0gZWxzZSBpZiAoZGVmYXVsdHMtPm5iQXR0cnMgPj0gZGVmYXVsdHMtPm1heEF0dHJzKSB7CisgICAgICAgIHhtbERlZkF0dHJzUHRyIHRlbXA7CisKKyAgICAgICAgdGVtcCA9ICh4bWxEZWZBdHRyc1B0cikgeG1sUmVhbGxvYyhkZWZhdWx0cywgc2l6ZW9mKHhtbERlZkF0dHJzKSArCisJCSAgICAgICAoMiAqIGRlZmF1bHRzLT5tYXhBdHRycyAqIDUpICogc2l6ZW9mKGNvbnN0IHhtbENoYXIgKikpOworCWlmICh0ZW1wID09IE5VTEwpCisJICAgIGdvdG8gbWVtX2Vycm9yOworCWRlZmF1bHRzID0gdGVtcDsKKwlkZWZhdWx0cy0+bWF4QXR0cnMgKj0gMjsKKwlpZiAoeG1sSGFzaFVwZGF0ZUVudHJ5MihjdHh0LT5hdHRzRGVmYXVsdCwgbmFtZSwgcHJlZml4LAorCSAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRzLCBOVUxMKSA8IDApIHsKKwkgICAgeG1sRnJlZShkZWZhdWx0cyk7CisJICAgIGdvdG8gbWVtX2Vycm9yOworCX0KKyAgICB9CisKKyAgICAvKgorICAgICAqIFNwbGl0IHRoZSBlbGVtZW50IG5hbWUgaW50byBwcmVmaXg6bG9jYWxuYW1lICwgdGhlIHN0cmluZyBmb3VuZAorICAgICAqIGFyZSB3aXRoaW4gdGhlIERURCBhbmQgaGVuIG5vdCBhc3NvY2lhdGVkIHRvIG5hbWVzcGFjZSBuYW1lcy4KKyAgICAgKi8KKyAgICBuYW1lID0geG1sU3BsaXRRTmFtZTMoZnVsbGF0dHIsICZsZW4pOworICAgIGlmIChuYW1lID09IE5VTEwpIHsKKyAgICAgICAgbmFtZSA9IHhtbERpY3RMb29rdXAoY3R4dC0+ZGljdCwgZnVsbGF0dHIsIC0xKTsKKwlwcmVmaXggPSBOVUxMOworICAgIH0gZWxzZSB7CisgICAgICAgIG5hbWUgPSB4bWxEaWN0TG9va3VwKGN0eHQtPmRpY3QsIG5hbWUsIC0xKTsKKwlwcmVmaXggPSB4bWxEaWN0TG9va3VwKGN0eHQtPmRpY3QsIGZ1bGxhdHRyLCBsZW4pOworICAgIH0KKworICAgIGRlZmF1bHRzLT52YWx1ZXNbNSAqIGRlZmF1bHRzLT5uYkF0dHJzXSA9IG5hbWU7CisgICAgZGVmYXVsdHMtPnZhbHVlc1s1ICogZGVmYXVsdHMtPm5iQXR0cnMgKyAxXSA9IHByZWZpeDsKKyAgICAvKiBpbnRlcm4gdGhlIHN0cmluZyBhbmQgcHJlY29tcHV0ZSB0aGUgZW5kICovCisgICAgbGVuID0geG1sU3RybGVuKHZhbHVlKTsKKyAgICB2YWx1ZSA9IHhtbERpY3RMb29rdXAoY3R4dC0+ZGljdCwgdmFsdWUsIGxlbik7CisgICAgZGVmYXVsdHMtPnZhbHVlc1s1ICogZGVmYXVsdHMtPm5iQXR0cnMgKyAyXSA9IHZhbHVlOworICAgIGRlZmF1bHRzLT52YWx1ZXNbNSAqIGRlZmF1bHRzLT5uYkF0dHJzICsgM10gPSB2YWx1ZSArIGxlbjsKKyAgICBpZiAoY3R4dC0+ZXh0ZXJuYWwpCisgICAgICAgIGRlZmF1bHRzLT52YWx1ZXNbNSAqIGRlZmF1bHRzLT5uYkF0dHJzICsgNF0gPSBCQURfQ0FTVCAiZXh0ZXJuYWwiOworICAgIGVsc2UKKyAgICAgICAgZGVmYXVsdHMtPnZhbHVlc1s1ICogZGVmYXVsdHMtPm5iQXR0cnMgKyA0XSA9IE5VTEw7CisgICAgZGVmYXVsdHMtPm5iQXR0cnMrKzsKKworICAgIHJldHVybjsKKworbWVtX2Vycm9yOgorICAgIHhtbEVyck1lbW9yeShjdHh0LCBOVUxMKTsKKyAgICByZXR1cm47Cit9CisKKy8qKgorICogeG1sQWRkU3BlY2lhbEF0dHI6CisgKiBAY3R4dDogIGFuIFhNTCBwYXJzZXIgY29udGV4dAorICogQGZ1bGxuYW1lOiAgdGhlIGVsZW1lbnQgZnVsbG5hbWUKKyAqIEBmdWxsYXR0cjogIHRoZSBhdHRyaWJ1dGUgZnVsbG5hbWUKKyAqIEB0eXBlOiAgdGhlIGF0dHJpYnV0ZSB0eXBlCisgKgorICogUmVnaXN0ZXIgdGhpcyBhdHRyaWJ1dGUgdHlwZQorICovCitzdGF0aWMgdm9pZAoreG1sQWRkU3BlY2lhbEF0dHIoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0LAorCQkgIGNvbnN0IHhtbENoYXIgKmZ1bGxuYW1lLAorCQkgIGNvbnN0IHhtbENoYXIgKmZ1bGxhdHRyLAorCQkgIGludCB0eXBlKQoreworICAgIGlmIChjdHh0LT5hdHRzU3BlY2lhbCA9PSBOVUxMKSB7CisgICAgICAgIGN0eHQtPmF0dHNTcGVjaWFsID0geG1sSGFzaENyZWF0ZURpY3QoMTAsIGN0eHQtPmRpY3QpOworCWlmIChjdHh0LT5hdHRzU3BlY2lhbCA9PSBOVUxMKQorCSAgICBnb3RvIG1lbV9lcnJvcjsKKyAgICB9CisKKyAgICBpZiAoeG1sSGFzaExvb2t1cDIoY3R4dC0+YXR0c1NwZWNpYWwsIGZ1bGxuYW1lLCBmdWxsYXR0cikgIT0gTlVMTCkKKyAgICAgICAgcmV0dXJuOworCisgICAgeG1sSGFzaEFkZEVudHJ5MihjdHh0LT5hdHRzU3BlY2lhbCwgZnVsbG5hbWUsIGZ1bGxhdHRyLAorICAgICAgICAgICAgICAgICAgICAgKHZvaWQgKikgKGxvbmcpIHR5cGUpOworICAgIHJldHVybjsKKworbWVtX2Vycm9yOgorICAgIHhtbEVyck1lbW9yeShjdHh0LCBOVUxMKTsKKyAgICByZXR1cm47Cit9CisKKy8qKgorICogeG1sQ2xlYW5TcGVjaWFsQXR0ckNhbGxiYWNrOgorICoKKyAqIFJlbW92ZXMgQ0RBVEEgYXR0cmlidXRlcyBmcm9tIHRoZSBzcGVjaWFsIGF0dHJpYnV0ZSB0YWJsZQorICovCitzdGF0aWMgdm9pZAoreG1sQ2xlYW5TcGVjaWFsQXR0ckNhbGxiYWNrKHZvaWQgKnBheWxvYWQsIHZvaWQgKmRhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqZnVsbG5hbWUsIGNvbnN0IHhtbENoYXIgKmZ1bGxhdHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKnVudXNlZCBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgeG1sUGFyc2VyQ3R4dFB0ciBjdHh0ID0gKHhtbFBhcnNlckN0eHRQdHIpIGRhdGE7CisKKyAgICBpZiAoKChsb25nKSBwYXlsb2FkKSA9PSBYTUxfQVRUUklCVVRFX0NEQVRBKSB7CisgICAgICAgIHhtbEhhc2hSZW1vdmVFbnRyeTIoY3R4dC0+YXR0c1NwZWNpYWwsIGZ1bGxuYW1lLCBmdWxsYXR0ciwgTlVMTCk7CisgICAgfQorfQorCisvKioKKyAqIHhtbENsZWFuU3BlY2lhbEF0dHI6CisgKiBAY3R4dDogIGFuIFhNTCBwYXJzZXIgY29udGV4dAorICoKKyAqIFRyaW0gdGhlIGxpc3Qgb2YgYXR0cmlidXRlcyBkZWZpbmVkIHRvIHJlbW92ZSBhbGwgdGhvc2Ugb2YgdHlwZQorICogQ0RBVEEgYXMgdGhleSBhcmUgbm90IHNwZWNpYWwuIFRoaXMgY2FsbCBzaG91bGQgYmUgZG9uZSB3aGVuIGZpbmlzaGluZworICogdG8gcGFyc2UgdGhlIERURCBhbmQgYmVmb3JlIHN0YXJ0aW5nIHRvIHBhcnNlIHRoZSBkb2N1bWVudCByb290LgorICovCitzdGF0aWMgdm9pZAoreG1sQ2xlYW5TcGVjaWFsQXR0cih4bWxQYXJzZXJDdHh0UHRyIGN0eHQpCit7CisgICAgaWYgKGN0eHQtPmF0dHNTcGVjaWFsID09IE5VTEwpCisgICAgICAgIHJldHVybjsKKworICAgIHhtbEhhc2hTY2FuRnVsbChjdHh0LT5hdHRzU3BlY2lhbCwgeG1sQ2xlYW5TcGVjaWFsQXR0ckNhbGxiYWNrLCBjdHh0KTsKKworICAgIGlmICh4bWxIYXNoU2l6ZShjdHh0LT5hdHRzU3BlY2lhbCkgPT0gMCkgeworICAgICAgICB4bWxIYXNoRnJlZShjdHh0LT5hdHRzU3BlY2lhbCwgTlVMTCk7CisgICAgICAgIGN0eHQtPmF0dHNTcGVjaWFsID0gTlVMTDsKKyAgICB9CisgICAgcmV0dXJuOworfQorCisvKioKKyAqIHhtbENoZWNrTGFuZ3VhZ2VJRDoKKyAqIEBsYW5nOiAgcG9pbnRlciB0byB0aGUgc3RyaW5nIHZhbHVlCisgKgorICogQ2hlY2tzIHRoYXQgdGhlIHZhbHVlIGNvbmZvcm1zIHRvIHRoZSBMYW5ndWFnZUlEIHByb2R1Y3Rpb246CisgKgorICogTk9URTogdGhpcyBpcyBzb21ld2hhdCBkZXByZWNhdGVkLCB0aG9zZSBwcm9kdWN0aW9ucyB3ZXJlIHJlbW92ZWQgZnJvbQorICogICAgICAgdGhlIFhNTCBTZWNvbmQgZWRpdGlvbi4KKyAqCisgKiBbMzNdIExhbmd1YWdlSUQgOjo9IExhbmdjb2RlICgnLScgU3ViY29kZSkqCisgKiBbMzRdIExhbmdjb2RlIDo6PSBJU082MzlDb2RlIHwgIElhbmFDb2RlIHwgIFVzZXJDb2RlCisgKiBbMzVdIElTTzYzOUNvZGUgOjo9IChbYS16XSB8IFtBLVpdKSAoW2Etel0gfCBbQS1aXSkKKyAqIFszNl0gSWFuYUNvZGUgOjo9ICgnaScgfCAnSScpICctJyAoW2Etel0gfCBbQS1aXSkrCisgKiBbMzddIFVzZXJDb2RlIDo6PSAoJ3gnIHwgJ1gnKSAnLScgKFthLXpdIHwgW0EtWl0pKworICogWzM4XSBTdWJjb2RlIDo6PSAoW2Etel0gfCBbQS1aXSkrCisgKgorICogVGhlIGN1cnJlbnQgUkVDIHJlZmVyZW5jZSB0aGUgc3VjZXNzb3JzIG9mIFJGQyAxNzY2LCBjdXJyZW50bHkgNTY0NgorICoKKyAqIGh0dHA6Ly93d3cucmZjLWVkaXRvci5vcmcvcmZjL3JmYzU2NDYudHh0CisgKiBsYW5ndGFnICAgICAgID0gbGFuZ3VhZ2UKKyAqICAgICAgICAgICAgICAgICBbIi0iIHNjcmlwdF0KKyAqICAgICAgICAgICAgICAgICBbIi0iIHJlZ2lvbl0KKyAqICAgICAgICAgICAgICAgICAqKCItIiB2YXJpYW50KQorICogICAgICAgICAgICAgICAgICooIi0iIGV4dGVuc2lvbikKKyAqICAgICAgICAgICAgICAgICBbIi0iIHByaXZhdGV1c2VdCisgKiBsYW5ndWFnZSAgICAgID0gMiozQUxQSEEgICAgICAgICAgICA7IHNob3J0ZXN0IElTTyA2MzkgY29kZQorICogICAgICAgICAgICAgICAgIFsiLSIgZXh0bGFuZ10gICAgICAgOyBzb21ldGltZXMgZm9sbG93ZWQgYnkKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDsgZXh0ZW5kZWQgbGFuZ3VhZ2Ugc3VidGFncworICogICAgICAgICAgICAgICAvIDRBTFBIQSAgICAgICAgICAgICAgOyBvciByZXNlcnZlZCBmb3IgZnV0dXJlIHVzZQorICogICAgICAgICAgICAgICAvIDUqOEFMUEhBICAgICAgICAgICAgOyBvciByZWdpc3RlcmVkIGxhbmd1YWdlIHN1YnRhZworICoKKyAqIGV4dGxhbmcgICAgICAgPSAzQUxQSEEgICAgICAgICAgICAgIDsgc2VsZWN0ZWQgSVNPIDYzOSBjb2RlcworICogICAgICAgICAgICAgICAgICoyKCItIiAzQUxQSEEpICAgICAgOyBwZXJtYW5lbnRseSByZXNlcnZlZAorICoKKyAqIHNjcmlwdCAgICAgICAgPSA0QUxQSEEgICAgICAgICAgICAgIDsgSVNPIDE1OTI0IGNvZGUKKyAqCisgKiByZWdpb24gICAgICAgID0gMkFMUEhBICAgICAgICAgICAgICA7IElTTyAzMTY2LTEgY29kZQorICogICAgICAgICAgICAgICAvIDNESUdJVCAgICAgICAgICAgICAgOyBVTiBNLjQ5IGNvZGUKKyAqCisgKiB2YXJpYW50ICAgICAgID0gNSo4YWxwaGFudW0gICAgICAgICA7IHJlZ2lzdGVyZWQgdmFyaWFudHMKKyAqICAgICAgICAgICAgICAgLyAoRElHSVQgM2FscGhhbnVtKQorICoKKyAqIGV4dGVuc2lvbiAgICAgPSBzaW5nbGV0b24gMSooIi0iICgyKjhhbHBoYW51bSkpCisgKgorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOyBTaW5nbGUgYWxwaGFudW1lcmljcworICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOyAieCIgcmVzZXJ2ZWQgZm9yIHByaXZhdGUgdXNlCisgKiBzaW5nbGV0b24gICAgID0gRElHSVQgICAgICAgICAgICAgICA7IDAgLSA5CisgKiAgICAgICAgICAgICAgIC8gJXg0MS01NyAgICAgICAgICAgICA7IEEgLSBXCisgKiAgICAgICAgICAgICAgIC8gJXg1OS01QSAgICAgICAgICAgICA7IFkgLSBaCisgKiAgICAgICAgICAgICAgIC8gJXg2MS03NyAgICAgICAgICAgICA7IGEgLSB3CisgKiAgICAgICAgICAgICAgIC8gJXg3OS03QSAgICAgICAgICAgICA7IHkgLSB6CisgKgorICogaXQgc291bmRzIHJpZ2h0IHRvIHN0aWxsIGFsbG93IElycmVndWxhciBpLXh4eCBJQU5BIGFuZCB1c2VyIGNvZGVzIHRvbworICogVGhlIHBhcnNlciBiZWxvdyBkb2Vzbid0IHRyeSB0byBjb3BlIHdpdGggZXh0ZW5zaW9uIG9yIHByaXZhdGV1c2UKKyAqIHRoYXQgY291bGQgYmUgYWRkZWQgYnV0IHRoYXQncyBub3QgaW50ZXJvcGVyYWJsZSBhbnl3YXkKKyAqCisgKiBSZXR1cm5zIDEgaWYgY29ycmVjdCAwIG90aGVyd2lzZQorICoqLworaW50Cit4bWxDaGVja0xhbmd1YWdlSUQoY29uc3QgeG1sQ2hhciAqIGxhbmcpCit7CisgICAgY29uc3QgeG1sQ2hhciAqY3VyID0gbGFuZywgKm54dDsKKworICAgIGlmIChjdXIgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuICgwKTsKKyAgICBpZiAoKChjdXJbMF0gPT0gJ2knKSAmJiAoY3VyWzFdID09ICctJykpIHx8CisgICAgICAgICgoY3VyWzBdID09ICdJJykgJiYgKGN1clsxXSA9PSAnLScpKSB8fAorICAgICAgICAoKGN1clswXSA9PSAneCcpICYmIChjdXJbMV0gPT0gJy0nKSkgfHwKKyAgICAgICAgKChjdXJbMF0gPT0gJ1gnKSAmJiAoY3VyWzFdID09ICctJykpKSB7CisgICAgICAgIC8qCisgICAgICAgICAqIFN0aWxsIGFsbG93IElBTkEgY29kZSBhbmQgdXNlciBjb2RlIHdoaWNoIHdlcmUgY29taW5nCisgICAgICAgICAqIGZyb20gdGhlIHByZXZpb3VzIHZlcnNpb24gb2YgdGhlIFhNTC0xLjAgc3BlY2lmaWNhdGlvbgorICAgICAgICAgKiBpdCdzIGRlcHJlY2F0ZWQgYnV0IHdlIHNob3VsZCBub3QgZmFpbAorICAgICAgICAgKi8KKyAgICAgICAgY3VyICs9IDI7CisgICAgICAgIHdoaWxlICgoKGN1clswXSA+PSAnQScpICYmIChjdXJbMF0gPD0gJ1onKSkgfHwKKyAgICAgICAgICAgICAgICgoY3VyWzBdID49ICdhJykgJiYgKGN1clswXSA8PSAneicpKSkKKyAgICAgICAgICAgIGN1cisrOworICAgICAgICByZXR1cm4oY3VyWzBdID09IDApOworICAgIH0KKyAgICBueHQgPSBjdXI7CisgICAgd2hpbGUgKCgobnh0WzBdID49ICdBJykgJiYgKG54dFswXSA8PSAnWicpKSB8fAorICAgICAgICAgICAoKG54dFswXSA+PSAnYScpICYmIChueHRbMF0gPD0gJ3onKSkpCisgICAgICAgICAgIG54dCsrOworICAgIGlmIChueHQgLSBjdXIgPj0gNCkgeworICAgICAgICAvKgorICAgICAgICAgKiBSZXNlcnZlZAorICAgICAgICAgKi8KKyAgICAgICAgaWYgKChueHQgLSBjdXIgPiA4KSB8fCAobnh0WzBdICE9IDApKQorICAgICAgICAgICAgcmV0dXJuKDApOworICAgICAgICByZXR1cm4oMSk7CisgICAgfQorICAgIGlmIChueHQgLSBjdXIgPCAyKQorICAgICAgICByZXR1cm4oMCk7CisgICAgLyogd2UgZ290IGFuIElTTyA2MzkgY29kZSAqLworICAgIGlmIChueHRbMF0gPT0gMCkKKyAgICAgICAgcmV0dXJuKDEpOworICAgIGlmIChueHRbMF0gIT0gJy0nKQorICAgICAgICByZXR1cm4oMCk7CisKKyAgICBueHQrKzsKKyAgICBjdXIgPSBueHQ7CisgICAgLyogbm93IHdlIGNhbiBoYXZlIGV4dGxhbmcgb3Igc2NyaXB0IG9yIHJlZ2lvbiBvciB2YXJpYW50ICovCisgICAgaWYgKChueHRbMF0gPj0gJzAnKSAmJiAobnh0WzBdIDw9ICc5JykpCisgICAgICAgIGdvdG8gcmVnaW9uX200OTsKKworICAgIHdoaWxlICgoKG54dFswXSA+PSAnQScpICYmIChueHRbMF0gPD0gJ1onKSkgfHwKKyAgICAgICAgICAgKChueHRbMF0gPj0gJ2EnKSAmJiAobnh0WzBdIDw9ICd6JykpKQorICAgICAgICAgICBueHQrKzsKKyAgICBpZiAobnh0IC0gY3VyID09IDQpCisgICAgICAgIGdvdG8gc2NyaXB0OworICAgIGlmIChueHQgLSBjdXIgPT0gMikKKyAgICAgICAgZ290byByZWdpb247CisgICAgaWYgKChueHQgLSBjdXIgPj0gNSkgJiYgKG54dCAtIGN1ciA8PSA4KSkKKyAgICAgICAgZ290byB2YXJpYW50OworICAgIGlmIChueHQgLSBjdXIgIT0gMykKKyAgICAgICAgcmV0dXJuKDApOworICAgIC8qIHdlIHBhcnNlZCBhbiBleHRsYW5nICovCisgICAgaWYgKG54dFswXSA9PSAwKQorICAgICAgICByZXR1cm4oMSk7CisgICAgaWYgKG54dFswXSAhPSAnLScpCisgICAgICAgIHJldHVybigwKTsKKworICAgIG54dCsrOworICAgIGN1ciA9IG54dDsKKyAgICAvKiBub3cgd2UgY2FuIGhhdmUgc2NyaXB0IG9yIHJlZ2lvbiBvciB2YXJpYW50ICovCisgICAgaWYgKChueHRbMF0gPj0gJzAnKSAmJiAobnh0WzBdIDw9ICc5JykpCisgICAgICAgIGdvdG8gcmVnaW9uX200OTsKKworICAgIHdoaWxlICgoKG54dFswXSA+PSAnQScpICYmIChueHRbMF0gPD0gJ1onKSkgfHwKKyAgICAgICAgICAgKChueHRbMF0gPj0gJ2EnKSAmJiAobnh0WzBdIDw9ICd6JykpKQorICAgICAgICAgICBueHQrKzsKKyAgICBpZiAobnh0IC0gY3VyID09IDIpCisgICAgICAgIGdvdG8gcmVnaW9uOworICAgIGlmICgobnh0IC0gY3VyID49IDUpICYmIChueHQgLSBjdXIgPD0gOCkpCisgICAgICAgIGdvdG8gdmFyaWFudDsKKyAgICBpZiAobnh0IC0gY3VyICE9IDQpCisgICAgICAgIHJldHVybigwKTsKKyAgICAvKiB3ZSBwYXJzZWQgYSBzY3JpcHQgKi8KK3NjcmlwdDoKKyAgICBpZiAobnh0WzBdID09IDApCisgICAgICAgIHJldHVybigxKTsKKyAgICBpZiAobnh0WzBdICE9ICctJykKKyAgICAgICAgcmV0dXJuKDApOworCisgICAgbnh0Kys7CisgICAgY3VyID0gbnh0OworICAgIC8qIG5vdyB3ZSBjYW4gaGF2ZSByZWdpb24gb3IgdmFyaWFudCAqLworICAgIGlmICgobnh0WzBdID49ICcwJykgJiYgKG54dFswXSA8PSAnOScpKQorICAgICAgICBnb3RvIHJlZ2lvbl9tNDk7CisKKyAgICB3aGlsZSAoKChueHRbMF0gPj0gJ0EnKSAmJiAobnh0WzBdIDw9ICdaJykpIHx8CisgICAgICAgICAgICgobnh0WzBdID49ICdhJykgJiYgKG54dFswXSA8PSAneicpKSkKKyAgICAgICAgICAgbnh0Kys7CisKKyAgICBpZiAoKG54dCAtIGN1ciA+PSA1KSAmJiAobnh0IC0gY3VyIDw9IDgpKQorICAgICAgICBnb3RvIHZhcmlhbnQ7CisgICAgaWYgKG54dCAtIGN1ciAhPSAyKQorICAgICAgICByZXR1cm4oMCk7CisgICAgLyogd2UgcGFyc2VkIGEgcmVnaW9uICovCityZWdpb246CisgICAgaWYgKG54dFswXSA9PSAwKQorICAgICAgICByZXR1cm4oMSk7CisgICAgaWYgKG54dFswXSAhPSAnLScpCisgICAgICAgIHJldHVybigwKTsKKworICAgIG54dCsrOworICAgIGN1ciA9IG54dDsKKyAgICAvKiBub3cgd2UgY2FuIGp1c3QgaGF2ZSBhIHZhcmlhbnQgKi8KKyAgICB3aGlsZSAoKChueHRbMF0gPj0gJ0EnKSAmJiAobnh0WzBdIDw9ICdaJykpIHx8CisgICAgICAgICAgICgobnh0WzBdID49ICdhJykgJiYgKG54dFswXSA8PSAneicpKSkKKyAgICAgICAgICAgbnh0Kys7CisKKyAgICBpZiAoKG54dCAtIGN1ciA8IDUpIHx8IChueHQgLSBjdXIgPiA4KSkKKyAgICAgICAgcmV0dXJuKDApOworCisgICAgLyogd2UgcGFyc2VkIGEgdmFyaWFudCAqLwordmFyaWFudDoKKyAgICBpZiAobnh0WzBdID09IDApCisgICAgICAgIHJldHVybigxKTsKKyAgICBpZiAobnh0WzBdICE9ICctJykKKyAgICAgICAgcmV0dXJuKDApOworICAgIC8qIGV4dGVuc2lvbnMgYW5kIHByaXZhdGUgdXNlIHN1YnRhZ3Mgbm90IGNoZWNrZWQgKi8KKyAgICByZXR1cm4gKDEpOworCityZWdpb25fbTQ5OgorICAgIGlmICgoKG54dFsxXSA+PSAnMCcpICYmIChueHRbMV0gPD0gJzknKSkgJiYKKyAgICAgICAgKChueHRbMl0gPj0gJzAnKSAmJiAobnh0WzJdIDw9ICc5JykpKSB7CisgICAgICAgIG54dCArPSAzOworICAgICAgICBnb3RvIHJlZ2lvbjsKKyAgICB9CisgICAgcmV0dXJuKDApOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQlQYXJzZXIgc3RhY2tzIHJlbGF0ZWQgZnVuY3Rpb25zIGFuZCBtYWNyb3MJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworc3RhdGljIHhtbEVudGl0eVB0ciB4bWxQYXJzZVN0cmluZ0VudGl0eVJlZih4bWxQYXJzZXJDdHh0UHRyIGN0eHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiogc3RyKTsKKworI2lmZGVmIFNBWDIKKy8qKgorICogbnNQdXNoOgorICogQGN0eHQ6ICBhbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBwcmVmaXg6ICB0aGUgbmFtZXNwYWNlIHByZWZpeCBvciBOVUxMCisgKiBAVVJMOiAgdGhlIG5hbWVzcGFjZSBuYW1lCisgKgorICogUHVzaGVzIGEgbmV3IHBhcnNlciBuYW1lc3BhY2Ugb24gdG9wIG9mIHRoZSBucyBzdGFjaworICoKKyAqIFJldHVybnMgLTEgaW4gY2FzZSBvZiBlcnJvciwgLTIgaWYgdGhlIG5hbWVzcGFjZSBzaG91bGQgYmUgZGlzY2FyZGVkCisgKgkgICBhbmQgdGhlIGluZGV4IGluIHRoZSBzdGFjayBvdGhlcndpc2UuCisgKi8KK3N0YXRpYyBpbnQKK25zUHVzaCh4bWxQYXJzZXJDdHh0UHRyIGN0eHQsIGNvbnN0IHhtbENoYXIgKnByZWZpeCwgY29uc3QgeG1sQ2hhciAqVVJMKQoreworICAgIGlmIChjdHh0LT5vcHRpb25zICYgWE1MX1BBUlNFX05TQ0xFQU4pIHsKKyAgICAgICAgaW50IGk7CisJZm9yIChpID0gY3R4dC0+bnNOciAtIDI7aSA+PSAwO2kgLT0gMikgeworCSAgICBpZiAoY3R4dC0+bnNUYWJbaV0gPT0gcHJlZml4KSB7CisJCS8qIGluIHNjb3BlICovCisJICAgICAgICBpZiAoY3R4dC0+bnNUYWJbaSArIDFdID09IFVSTCkKKwkJICAgIHJldHVybigtMik7CisJCS8qIG91dCBvZiBzY29wZSBrZWVwIGl0ICovCisJCWJyZWFrOworCSAgICB9CisJfQorICAgIH0KKyAgICBpZiAoKGN0eHQtPm5zTWF4ID09IDApIHx8IChjdHh0LT5uc1RhYiA9PSBOVUxMKSkgeworCWN0eHQtPm5zTWF4ID0gMTA7CisJY3R4dC0+bnNOciA9IDA7CisJY3R4dC0+bnNUYWIgPSAoY29uc3QgeG1sQ2hhciAqKikKKwkgICAgICAgICAgICAgIHhtbE1hbGxvYyhjdHh0LT5uc01heCAqIHNpemVvZih4bWxDaGFyICopKTsKKwlpZiAoY3R4dC0+bnNUYWIgPT0gTlVMTCkgeworCSAgICB4bWxFcnJNZW1vcnkoY3R4dCwgTlVMTCk7CisJICAgIGN0eHQtPm5zTWF4ID0gMDsKKyAgICAgICAgICAgIHJldHVybiAoLTEpOworCX0KKyAgICB9IGVsc2UgaWYgKGN0eHQtPm5zTnIgPj0gY3R4dC0+bnNNYXgpIHsKKyAgICAgICAgY29uc3QgeG1sQ2hhciAqKiB0bXA7CisgICAgICAgIGN0eHQtPm5zTWF4ICo9IDI7CisgICAgICAgIHRtcCA9IChjb25zdCB4bWxDaGFyICoqKSB4bWxSZWFsbG9jKChjaGFyICopIGN0eHQtPm5zVGFiLAorCQkJCSAgICBjdHh0LT5uc01heCAqIHNpemVvZihjdHh0LT5uc1RhYlswXSkpOworICAgICAgICBpZiAodG1wID09IE5VTEwpIHsKKyAgICAgICAgICAgIHhtbEVyck1lbW9yeShjdHh0LCBOVUxMKTsKKwkgICAgY3R4dC0+bnNNYXggLz0gMjsKKyAgICAgICAgICAgIHJldHVybiAoLTEpOworICAgICAgICB9CisJY3R4dC0+bnNUYWIgPSB0bXA7CisgICAgfQorICAgIGN0eHQtPm5zVGFiW2N0eHQtPm5zTnIrK10gPSBwcmVmaXg7CisgICAgY3R4dC0+bnNUYWJbY3R4dC0+bnNOcisrXSA9IFVSTDsKKyAgICByZXR1cm4gKGN0eHQtPm5zTnIpOworfQorLyoqCisgKiBuc1BvcDoKKyAqIEBjdHh0OiBhbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBucjogIHRoZSBudW1iZXIgdG8gcG9wCisgKgorICogUG9wcyB0aGUgdG9wIEBuciBwYXJzZXIgcHJlZml4L25hbWVzcGFjZSBmcm9tIHRoZSBucyBzdGFjaworICoKKyAqIFJldHVybnMgdGhlIG51bWJlciBvZiBuYW1lc3BhY2VzIHJlbW92ZWQKKyAqLworc3RhdGljIGludAorbnNQb3AoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0LCBpbnQgbnIpCit7CisgICAgaW50IGk7CisKKyAgICBpZiAoY3R4dC0+bnNUYWIgPT0gTlVMTCkgcmV0dXJuKDApOworICAgIGlmIChjdHh0LT5uc05yIDwgbnIpIHsKKyAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICJQYm0gcG9wcGluZyAlZCBOU1xuIiwgbnIpOworICAgICAgICBuciA9IGN0eHQtPm5zTnI7CisgICAgfQorICAgIGlmIChjdHh0LT5uc05yIDw9IDApCisgICAgICAgIHJldHVybiAoMCk7CisKKyAgICBmb3IgKGkgPSAwO2kgPCBucjtpKyspIHsKKyAgICAgICAgIGN0eHQtPm5zTnItLTsKKwkgY3R4dC0+bnNUYWJbY3R4dC0+bnNOcl0gPSBOVUxMOworICAgIH0KKyAgICByZXR1cm4obnIpOworfQorI2VuZGlmCisKK3N0YXRpYyBpbnQKK3htbEN0eHRHcm93QXR0cnMoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0LCBpbnQgbnIpIHsKKyAgICBjb25zdCB4bWxDaGFyICoqYXR0czsKKyAgICBpbnQgKmF0dGFsbG9jczsKKyAgICBpbnQgbWF4YXR0czsKKworICAgIGlmIChjdHh0LT5hdHRzID09IE5VTEwpIHsKKwltYXhhdHRzID0gNTU7IC8qIGFsbG93IGZvciAxMCBhdHRycyBieSBkZWZhdWx0ICovCisJYXR0cyA9IChjb25zdCB4bWxDaGFyICoqKQorCSAgICAgICB4bWxNYWxsb2MobWF4YXR0cyAqIHNpemVvZih4bWxDaGFyICopKTsKKwlpZiAoYXR0cyA9PSBOVUxMKSBnb3RvIG1lbV9lcnJvcjsKKwljdHh0LT5hdHRzID0gYXR0czsKKwlhdHRhbGxvY3MgPSAoaW50ICopIHhtbE1hbGxvYygobWF4YXR0cyAvIDUpICogc2l6ZW9mKGludCkpOworCWlmIChhdHRhbGxvY3MgPT0gTlVMTCkgZ290byBtZW1fZXJyb3I7CisJY3R4dC0+YXR0YWxsb2NzID0gYXR0YWxsb2NzOworCWN0eHQtPm1heGF0dHMgPSBtYXhhdHRzOworICAgIH0gZWxzZSBpZiAobnIgKyA1ID4gY3R4dC0+bWF4YXR0cykgeworCW1heGF0dHMgPSAobnIgKyA1KSAqIDI7CisJYXR0cyA9IChjb25zdCB4bWxDaGFyICoqKSB4bWxSZWFsbG9jKCh2b2lkICopIGN0eHQtPmF0dHMsCisJCQkJICAgICBtYXhhdHRzICogc2l6ZW9mKGNvbnN0IHhtbENoYXIgKikpOworCWlmIChhdHRzID09IE5VTEwpIGdvdG8gbWVtX2Vycm9yOworCWN0eHQtPmF0dHMgPSBhdHRzOworCWF0dGFsbG9jcyA9IChpbnQgKikgeG1sUmVhbGxvYygodm9pZCAqKSBjdHh0LT5hdHRhbGxvY3MsCisJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobWF4YXR0cyAvIDUpICogc2l6ZW9mKGludCkpOworCWlmIChhdHRhbGxvY3MgPT0gTlVMTCkgZ290byBtZW1fZXJyb3I7CisJY3R4dC0+YXR0YWxsb2NzID0gYXR0YWxsb2NzOworCWN0eHQtPm1heGF0dHMgPSBtYXhhdHRzOworICAgIH0KKyAgICByZXR1cm4oY3R4dC0+bWF4YXR0cyk7CittZW1fZXJyb3I6CisgICAgeG1sRXJyTWVtb3J5KGN0eHQsIE5VTEwpOworICAgIHJldHVybigtMSk7Cit9CisKKy8qKgorICogaW5wdXRQdXNoOgorICogQGN0eHQ6ICBhbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEB2YWx1ZTogIHRoZSBwYXJzZXIgaW5wdXQKKyAqCisgKiBQdXNoZXMgYSBuZXcgcGFyc2VyIGlucHV0IG9uIHRvcCBvZiB0aGUgaW5wdXQgc3RhY2sKKyAqCisgKiBSZXR1cm5zIC0xIGluIGNhc2Ugb2YgZXJyb3IsIHRoZSBpbmRleCBpbiB0aGUgc3RhY2sgb3RoZXJ3aXNlCisgKi8KK2ludAoraW5wdXRQdXNoKHhtbFBhcnNlckN0eHRQdHIgY3R4dCwgeG1sUGFyc2VySW5wdXRQdHIgdmFsdWUpCit7CisgICAgaWYgKChjdHh0ID09IE5VTEwpIHx8ICh2YWx1ZSA9PSBOVUxMKSkKKyAgICAgICAgcmV0dXJuKC0xKTsKKyAgICBpZiAoY3R4dC0+aW5wdXROciA+PSBjdHh0LT5pbnB1dE1heCkgeworICAgICAgICBjdHh0LT5pbnB1dE1heCAqPSAyOworICAgICAgICBjdHh0LT5pbnB1dFRhYiA9CisgICAgICAgICAgICAoeG1sUGFyc2VySW5wdXRQdHIgKikgeG1sUmVhbGxvYyhjdHh0LT5pbnB1dFRhYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN0eHQtPmlucHV0TWF4ICoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihjdHh0LT5pbnB1dFRhYlswXSkpOworICAgICAgICBpZiAoY3R4dC0+aW5wdXRUYWIgPT0gTlVMTCkgeworICAgICAgICAgICAgeG1sRXJyTWVtb3J5KGN0eHQsIE5VTEwpOworCSAgICB4bWxGcmVlSW5wdXRTdHJlYW0odmFsdWUpOworCSAgICBjdHh0LT5pbnB1dE1heCAvPSAyOworCSAgICB2YWx1ZSA9IE5VTEw7CisgICAgICAgICAgICByZXR1cm4gKC0xKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBjdHh0LT5pbnB1dFRhYltjdHh0LT5pbnB1dE5yXSA9IHZhbHVlOworICAgIGN0eHQtPmlucHV0ID0gdmFsdWU7CisgICAgcmV0dXJuIChjdHh0LT5pbnB1dE5yKyspOworfQorLyoqCisgKiBpbnB1dFBvcDoKKyAqIEBjdHh0OiBhbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqCisgKiBQb3BzIHRoZSB0b3AgcGFyc2VyIGlucHV0IGZyb20gdGhlIGlucHV0IHN0YWNrCisgKgorICogUmV0dXJucyB0aGUgaW5wdXQganVzdCByZW1vdmVkCisgKi8KK3htbFBhcnNlcklucHV0UHRyCitpbnB1dFBvcCh4bWxQYXJzZXJDdHh0UHRyIGN0eHQpCit7CisgICAgeG1sUGFyc2VySW5wdXRQdHIgcmV0OworCisgICAgaWYgKGN0eHQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuKE5VTEwpOworICAgIGlmIChjdHh0LT5pbnB1dE5yIDw9IDApCisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgY3R4dC0+aW5wdXROci0tOworICAgIGlmIChjdHh0LT5pbnB1dE5yID4gMCkKKyAgICAgICAgY3R4dC0+aW5wdXQgPSBjdHh0LT5pbnB1dFRhYltjdHh0LT5pbnB1dE5yIC0gMV07CisgICAgZWxzZQorICAgICAgICBjdHh0LT5pbnB1dCA9IE5VTEw7CisgICAgcmV0ID0gY3R4dC0+aW5wdXRUYWJbY3R4dC0+aW5wdXROcl07CisgICAgY3R4dC0+aW5wdXRUYWJbY3R4dC0+aW5wdXROcl0gPSBOVUxMOworICAgIHJldHVybiAocmV0KTsKK30KKy8qKgorICogbm9kZVB1c2g6CisgKiBAY3R4dDogIGFuIFhNTCBwYXJzZXIgY29udGV4dAorICogQHZhbHVlOiAgdGhlIGVsZW1lbnQgbm9kZQorICoKKyAqIFB1c2hlcyBhIG5ldyBlbGVtZW50IG5vZGUgb24gdG9wIG9mIHRoZSBub2RlIHN0YWNrCisgKgorICogUmV0dXJucyAtMSBpbiBjYXNlIG9mIGVycm9yLCB0aGUgaW5kZXggaW4gdGhlIHN0YWNrIG90aGVyd2lzZQorICovCitpbnQKK25vZGVQdXNoKHhtbFBhcnNlckN0eHRQdHIgY3R4dCwgeG1sTm9kZVB0ciB2YWx1ZSkKK3sKKyAgICBpZiAoY3R4dCA9PSBOVUxMKSByZXR1cm4oMCk7CisgICAgaWYgKGN0eHQtPm5vZGVOciA+PSBjdHh0LT5ub2RlTWF4KSB7CisgICAgICAgIHhtbE5vZGVQdHIgKnRtcDsKKworCXRtcCA9ICh4bWxOb2RlUHRyICopIHhtbFJlYWxsb2MoY3R4dC0+bm9kZVRhYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3R4dC0+bm9kZU1heCAqIDIgKgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoY3R4dC0+bm9kZVRhYlswXSkpOworICAgICAgICBpZiAodG1wID09IE5VTEwpIHsKKyAgICAgICAgICAgIHhtbEVyck1lbW9yeShjdHh0LCBOVUxMKTsKKyAgICAgICAgICAgIHJldHVybiAoLTEpOworICAgICAgICB9CisgICAgICAgIGN0eHQtPm5vZGVUYWIgPSB0bXA7CisJY3R4dC0+bm9kZU1heCAqPSAyOworICAgIH0KKyAgICBpZiAoKCgodW5zaWduZWQgaW50KSBjdHh0LT5ub2RlTnIpID4geG1sUGFyc2VyTWF4RGVwdGgpICYmCisgICAgICAgICgoY3R4dC0+b3B0aW9ucyAmIFhNTF9QQVJTRV9IVUdFKSA9PSAwKSkgeworCXhtbEZhdGFsRXJyTXNnSW50KGN0eHQsIFhNTF9FUlJfSU5URVJOQUxfRVJST1IsCisJCSAiRXhjZXNzaXZlIGRlcHRoIGluIGRvY3VtZW50OiAlZCB1c2UgWE1MX1BBUlNFX0hVR0Ugb3B0aW9uXG4iLAorCQkJICB4bWxQYXJzZXJNYXhEZXB0aCk7CisJY3R4dC0+aW5zdGF0ZSA9IFhNTF9QQVJTRVJfRU9GOworCXJldHVybigtMSk7CisgICAgfQorICAgIGN0eHQtPm5vZGVUYWJbY3R4dC0+bm9kZU5yXSA9IHZhbHVlOworICAgIGN0eHQtPm5vZGUgPSB2YWx1ZTsKKyAgICByZXR1cm4gKGN0eHQtPm5vZGVOcisrKTsKK30KKworLyoqCisgKiBub2RlUG9wOgorICogQGN0eHQ6IGFuIFhNTCBwYXJzZXIgY29udGV4dAorICoKKyAqIFBvcHMgdGhlIHRvcCBlbGVtZW50IG5vZGUgZnJvbSB0aGUgbm9kZSBzdGFjaworICoKKyAqIFJldHVybnMgdGhlIG5vZGUganVzdCByZW1vdmVkCisgKi8KK3htbE5vZGVQdHIKK25vZGVQb3AoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0KQoreworICAgIHhtbE5vZGVQdHIgcmV0OworCisgICAgaWYgKGN0eHQgPT0gTlVMTCkgcmV0dXJuKE5VTEwpOworICAgIGlmIChjdHh0LT5ub2RlTnIgPD0gMCkKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICBjdHh0LT5ub2RlTnItLTsKKyAgICBpZiAoY3R4dC0+bm9kZU5yID4gMCkKKyAgICAgICAgY3R4dC0+bm9kZSA9IGN0eHQtPm5vZGVUYWJbY3R4dC0+bm9kZU5yIC0gMV07CisgICAgZWxzZQorICAgICAgICBjdHh0LT5ub2RlID0gTlVMTDsKKyAgICByZXQgPSBjdHh0LT5ub2RlVGFiW2N0eHQtPm5vZGVOcl07CisgICAgY3R4dC0+bm9kZVRhYltjdHh0LT5ub2RlTnJdID0gTlVMTDsKKyAgICByZXR1cm4gKHJldCk7Cit9CisKKyNpZmRlZiBMSUJYTUxfUFVTSF9FTkFCTEVECisvKioKKyAqIG5hbWVOc1B1c2g6CisgKiBAY3R4dDogIGFuIFhNTCBwYXJzZXIgY29udGV4dAorICogQHZhbHVlOiAgdGhlIGVsZW1lbnQgbmFtZQorICogQHByZWZpeDogIHRoZSBlbGVtZW50IHByZWZpeAorICogQFVSSTogIHRoZSBlbGVtZW50IG5hbWVzcGFjZSBuYW1lCisgKgorICogUHVzaGVzIGEgbmV3IGVsZW1lbnQgbmFtZS9wcmVmaXgvVVJMIG9uIHRvcCBvZiB0aGUgbmFtZSBzdGFjaworICoKKyAqIFJldHVybnMgLTEgaW4gY2FzZSBvZiBlcnJvciwgdGhlIGluZGV4IGluIHRoZSBzdGFjayBvdGhlcndpc2UKKyAqLworc3RhdGljIGludAorbmFtZU5zUHVzaCh4bWxQYXJzZXJDdHh0UHRyIGN0eHQsIGNvbnN0IHhtbENoYXIgKiB2YWx1ZSwKKyAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqcHJlZml4LCBjb25zdCB4bWxDaGFyICpVUkksIGludCBuc05yKQoreworICAgIGlmIChjdHh0LT5uYW1lTnIgPj0gY3R4dC0+bmFtZU1heCkgeworICAgICAgICBjb25zdCB4bWxDaGFyICogKnRtcDsKKyAgICAgICAgdm9pZCAqKnRtcDI7CisgICAgICAgIGN0eHQtPm5hbWVNYXggKj0gMjsKKyAgICAgICAgdG1wID0gKGNvbnN0IHhtbENoYXIgKiAqKSB4bWxSZWFsbG9jKCh4bWxDaGFyICogKiljdHh0LT5uYW1lVGFiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3R4dC0+bmFtZU1heCAqCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoY3R4dC0+bmFtZVRhYlswXSkpOworICAgICAgICBpZiAodG1wID09IE5VTEwpIHsKKwkgICAgY3R4dC0+bmFtZU1heCAvPSAyOworCSAgICBnb3RvIG1lbV9lcnJvcjsKKyAgICAgICAgfQorCWN0eHQtPm5hbWVUYWIgPSB0bXA7CisgICAgICAgIHRtcDIgPSAodm9pZCAqKikgeG1sUmVhbGxvYygodm9pZCAqICopY3R4dC0+cHVzaFRhYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN0eHQtPm5hbWVNYXggKiAzICoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihjdHh0LT5wdXNoVGFiWzBdKSk7CisgICAgICAgIGlmICh0bXAyID09IE5VTEwpIHsKKwkgICAgY3R4dC0+bmFtZU1heCAvPSAyOworCSAgICBnb3RvIG1lbV9lcnJvcjsKKyAgICAgICAgfQorCWN0eHQtPnB1c2hUYWIgPSB0bXAyOworICAgIH0KKyAgICBjdHh0LT5uYW1lVGFiW2N0eHQtPm5hbWVOcl0gPSB2YWx1ZTsKKyAgICBjdHh0LT5uYW1lID0gdmFsdWU7CisgICAgY3R4dC0+cHVzaFRhYltjdHh0LT5uYW1lTnIgKiAzXSA9ICh2b2lkICopIHByZWZpeDsKKyAgICBjdHh0LT5wdXNoVGFiW2N0eHQtPm5hbWVOciAqIDMgKyAxXSA9ICh2b2lkICopIFVSSTsKKyAgICBjdHh0LT5wdXNoVGFiW2N0eHQtPm5hbWVOciAqIDMgKyAyXSA9ICh2b2lkICopIChsb25nKSBuc05yOworICAgIHJldHVybiAoY3R4dC0+bmFtZU5yKyspOworbWVtX2Vycm9yOgorICAgIHhtbEVyck1lbW9yeShjdHh0LCBOVUxMKTsKKyAgICByZXR1cm4gKC0xKTsKK30KKy8qKgorICogbmFtZU5zUG9wOgorICogQGN0eHQ6IGFuIFhNTCBwYXJzZXIgY29udGV4dAorICoKKyAqIFBvcHMgdGhlIHRvcCBlbGVtZW50L3ByZWZpeC9VUkkgbmFtZSBmcm9tIHRoZSBuYW1lIHN0YWNrCisgKgorICogUmV0dXJucyB0aGUgbmFtZSBqdXN0IHJlbW92ZWQKKyAqLworc3RhdGljIGNvbnN0IHhtbENoYXIgKgorbmFtZU5zUG9wKHhtbFBhcnNlckN0eHRQdHIgY3R4dCkKK3sKKyAgICBjb25zdCB4bWxDaGFyICpyZXQ7CisKKyAgICBpZiAoY3R4dC0+bmFtZU5yIDw9IDApCisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgY3R4dC0+bmFtZU5yLS07CisgICAgaWYgKGN0eHQtPm5hbWVOciA+IDApCisgICAgICAgIGN0eHQtPm5hbWUgPSBjdHh0LT5uYW1lVGFiW2N0eHQtPm5hbWVOciAtIDFdOworICAgIGVsc2UKKyAgICAgICAgY3R4dC0+bmFtZSA9IE5VTEw7CisgICAgcmV0ID0gY3R4dC0+bmFtZVRhYltjdHh0LT5uYW1lTnJdOworICAgIGN0eHQtPm5hbWVUYWJbY3R4dC0+bmFtZU5yXSA9IE5VTEw7CisgICAgcmV0dXJuIChyZXQpOworfQorI2VuZGlmIC8qIExJQlhNTF9QVVNIX0VOQUJMRUQgKi8KKworLyoqCisgKiBuYW1lUHVzaDoKKyAqIEBjdHh0OiAgYW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAdmFsdWU6ICB0aGUgZWxlbWVudCBuYW1lCisgKgorICogUHVzaGVzIGEgbmV3IGVsZW1lbnQgbmFtZSBvbiB0b3Agb2YgdGhlIG5hbWUgc3RhY2sKKyAqCisgKiBSZXR1cm5zIC0xIGluIGNhc2Ugb2YgZXJyb3IsIHRoZSBpbmRleCBpbiB0aGUgc3RhY2sgb3RoZXJ3aXNlCisgKi8KK2ludAorbmFtZVB1c2goeG1sUGFyc2VyQ3R4dFB0ciBjdHh0LCBjb25zdCB4bWxDaGFyICogdmFsdWUpCit7CisgICAgaWYgKGN0eHQgPT0gTlVMTCkgcmV0dXJuICgtMSk7CisKKyAgICBpZiAoY3R4dC0+bmFtZU5yID49IGN0eHQtPm5hbWVNYXgpIHsKKyAgICAgICAgY29uc3QgeG1sQ2hhciAqICp0bXA7CisgICAgICAgIHRtcCA9IChjb25zdCB4bWxDaGFyICogKikgeG1sUmVhbGxvYygoeG1sQ2hhciAqICopY3R4dC0+bmFtZVRhYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN0eHQtPm5hbWVNYXggKiAyICoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihjdHh0LT5uYW1lVGFiWzBdKSk7CisgICAgICAgIGlmICh0bXAgPT0gTlVMTCkgeworCSAgICBnb3RvIG1lbV9lcnJvcjsKKyAgICAgICAgfQorCWN0eHQtPm5hbWVUYWIgPSB0bXA7CisgICAgICAgIGN0eHQtPm5hbWVNYXggKj0gMjsKKyAgICB9CisgICAgY3R4dC0+bmFtZVRhYltjdHh0LT5uYW1lTnJdID0gdmFsdWU7CisgICAgY3R4dC0+bmFtZSA9IHZhbHVlOworICAgIHJldHVybiAoY3R4dC0+bmFtZU5yKyspOworbWVtX2Vycm9yOgorICAgIHhtbEVyck1lbW9yeShjdHh0LCBOVUxMKTsKKyAgICByZXR1cm4gKC0xKTsKK30KKy8qKgorICogbmFtZVBvcDoKKyAqIEBjdHh0OiBhbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqCisgKiBQb3BzIHRoZSB0b3AgZWxlbWVudCBuYW1lIGZyb20gdGhlIG5hbWUgc3RhY2sKKyAqCisgKiBSZXR1cm5zIHRoZSBuYW1lIGp1c3QgcmVtb3ZlZAorICovCitjb25zdCB4bWxDaGFyICoKK25hbWVQb3AoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0KQoreworICAgIGNvbnN0IHhtbENoYXIgKnJldDsKKworICAgIGlmICgoY3R4dCA9PSBOVUxMKSB8fCAoY3R4dC0+bmFtZU5yIDw9IDApKQorICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIGN0eHQtPm5hbWVOci0tOworICAgIGlmIChjdHh0LT5uYW1lTnIgPiAwKQorICAgICAgICBjdHh0LT5uYW1lID0gY3R4dC0+bmFtZVRhYltjdHh0LT5uYW1lTnIgLSAxXTsKKyAgICBlbHNlCisgICAgICAgIGN0eHQtPm5hbWUgPSBOVUxMOworICAgIHJldCA9IGN0eHQtPm5hbWVUYWJbY3R4dC0+bmFtZU5yXTsKKyAgICBjdHh0LT5uYW1lVGFiW2N0eHQtPm5hbWVOcl0gPSBOVUxMOworICAgIHJldHVybiAocmV0KTsKK30KKworc3RhdGljIGludCBzcGFjZVB1c2goeG1sUGFyc2VyQ3R4dFB0ciBjdHh0LCBpbnQgdmFsKSB7CisgICAgaWYgKGN0eHQtPnNwYWNlTnIgPj0gY3R4dC0+c3BhY2VNYXgpIHsKKyAgICAgICAgaW50ICp0bXA7CisKKwljdHh0LT5zcGFjZU1heCAqPSAyOworICAgICAgICB0bXAgPSAoaW50ICopIHhtbFJlYWxsb2MoY3R4dC0+c3BhY2VUYWIsCisJICAgICAgICAgICAgICAgICAgICAgICAgIGN0eHQtPnNwYWNlTWF4ICogc2l6ZW9mKGN0eHQtPnNwYWNlVGFiWzBdKSk7CisgICAgICAgIGlmICh0bXAgPT0gTlVMTCkgeworCSAgICB4bWxFcnJNZW1vcnkoY3R4dCwgTlVMTCk7CisJICAgIGN0eHQtPnNwYWNlTWF4IC89MjsKKwkgICAgcmV0dXJuKC0xKTsKKwl9CisJY3R4dC0+c3BhY2VUYWIgPSB0bXA7CisgICAgfQorICAgIGN0eHQtPnNwYWNlVGFiW2N0eHQtPnNwYWNlTnJdID0gdmFsOworICAgIGN0eHQtPnNwYWNlID0gJmN0eHQtPnNwYWNlVGFiW2N0eHQtPnNwYWNlTnJdOworICAgIHJldHVybihjdHh0LT5zcGFjZU5yKyspOworfQorCitzdGF0aWMgaW50IHNwYWNlUG9wKHhtbFBhcnNlckN0eHRQdHIgY3R4dCkgeworICAgIGludCByZXQ7CisgICAgaWYgKGN0eHQtPnNwYWNlTnIgPD0gMCkgcmV0dXJuKDApOworICAgIGN0eHQtPnNwYWNlTnItLTsKKyAgICBpZiAoY3R4dC0+c3BhY2VOciA+IDApCisJY3R4dC0+c3BhY2UgPSAmY3R4dC0+c3BhY2VUYWJbY3R4dC0+c3BhY2VOciAtIDFdOworICAgIGVsc2UKKyAgICAgICAgY3R4dC0+c3BhY2UgPSAmY3R4dC0+c3BhY2VUYWJbMF07CisgICAgcmV0ID0gY3R4dC0+c3BhY2VUYWJbY3R4dC0+c3BhY2VOcl07CisgICAgY3R4dC0+c3BhY2VUYWJbY3R4dC0+c3BhY2VOcl0gPSAtMTsKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoKKyAqIE1hY3JvcyBmb3IgYWNjZXNzaW5nIHRoZSBjb250ZW50LiBUaG9zZSBzaG91bGQgYmUgdXNlZCBvbmx5IGJ5IHRoZSBwYXJzZXIsCisgKiBhbmQgbm90IGV4cG9ydGVkLgorICoKKyAqIERpcnR5IG1hY3JvcywgaS5lLiBvbmUgb2Z0ZW4gbmVlZCB0byBtYWtlIGFzc3VtcHRpb24gb24gdGhlIGNvbnRleHQgdG8KKyAqIHVzZSB0aGVtCisgKgorICogICBDVVJfUFRSIHJldHVybiB0aGUgY3VycmVudCBwb2ludGVyIHRvIHRoZSB4bWxDaGFyIHRvIGJlIHBhcnNlZC4KKyAqICAgICAgICAgICBUbyBiZSB1c2VkIHdpdGggZXh0cmVtZSBjYXV0aW9uIHNpbmNlIG9wZXJhdGlvbnMgY29uc3VtaW5nCisgKiAgICAgICAgICAgY2hhcmFjdGVycyBtYXkgbW92ZSB0aGUgaW5wdXQgYnVmZmVyIHRvIGEgZGlmZmVyZW50IGxvY2F0aW9uICEKKyAqICAgQ1VSICAgICByZXR1cm5zIHRoZSBjdXJyZW50IHhtbENoYXIgdmFsdWUsIGkuZS4gYSA4IGJpdCB2YWx1ZSBpZiBjb21waWxlZAorICogICAgICAgICAgIFRoaXMgc2hvdWxkIGJlIHVzZWQgaW50ZXJuYWxseSBieSB0aGUgcGFyc2VyCisgKiAgICAgICAgICAgb25seSB0byBjb21wYXJlIHRvIEFTQ0lJIHZhbHVlcyBvdGhlcndpc2UgaXQgd291bGQgYnJlYWsgd2hlbgorICogICAgICAgICAgIHJ1bm5pbmcgd2l0aCBVVEYtOCBlbmNvZGluZy4KKyAqICAgUkFXICAgICBzYW1lIGFzIENVUiBidXQgaW4gdGhlIGlucHV0IGJ1ZmZlciwgYnlwYXNzIGFueSB0b2tlbgorICogICAgICAgICAgIGV4dHJhY3Rpb24gdGhhdCBtYXkgaGF2ZSBiZWVuIGRvbmUKKyAqICAgTlhUKG4pICByZXR1cm5zIHRoZSBuJ3RoIG5leHQgeG1sQ2hhci4gU2FtZSBhcyBDVVIgaXMgc2hvdWxkIGJlIHVzZWQgb25seQorICogICAgICAgICAgIHRvIGNvbXBhcmUgb24gQVNDSUkgYmFzZWQgc3Vic3RyaW5nLgorICogICBTS0lQKG4pIFNraXAgbiB4bWxDaGFyLCBhbmQgbXVzdCBhbHNvIGJlIHVzZWQgb25seSB0byBza2lwIEFTQ0lJIGRlZmluZWQKKyAqICAgICAgICAgICBzdHJpbmdzIHdpdGhvdXQgbmV3bGluZXMgd2l0aGluIHRoZSBwYXJzZXIuCisgKiAgIE5FWFQxKGwpIFNraXAgMSB4bWxDaGFyLCBhbmQgbXVzdCBhbHNvIGJlIHVzZWQgb25seSB0byBza2lwIDEgbm9uLW5ld2xpbmUgQVNDSUkKKyAqICAgICAgICAgICBkZWZpbmVkIGNoYXIgd2l0aGluIHRoZSBwYXJzZXIuCisgKiBDbGVhbiBtYWNyb3MsIG5vdCBkZXBlbmRlbnQgb2YgYW4gQVNDSUkgY29udGV4dCwgZXhwZWN0IFVURi04IGVuY29kaW5nCisgKgorICogICBORVhUICAgIFNraXAgdG8gdGhlIG5leHQgY2hhcmFjdGVyLCB0aGlzIGRvZXMgdGhlIHByb3BlciBkZWNvZGluZworICogICAgICAgICAgIGluIFVURi04IG1vZGUuIEl0IGFsc28gcG9wLXVwIHVuZmluaXNoZWQgZW50aXRpZXMgb24gdGhlIGZseS4KKyAqICAgTkVYVEwobCkgU2tpcCB0aGUgY3VycmVudCB1bmljb2RlIGNoYXJhY3RlciBvZiBsIHhtbENoYXJzIGxvbmcuCisgKiAgIENVUl9DSEFSKGwpIHJldHVybnMgdGhlIGN1cnJlbnQgdW5pY29kZSBjaGFyYWN0ZXIgKGludCksIHNldCBsCisgKiAgICAgICAgICAgdG8gdGhlIG51bWJlciBvZiB4bWxDaGFycyB1c2VkIGZvciB0aGUgZW5jb2RpbmcgWzAtNV0uCisgKiAgIENVUl9TQ0hBUiAgc2FtZSBidXQgb3BlcmF0ZSBvbiBhIHN0cmluZyBpbnN0ZWFkIG9mIHRoZSBjb250ZXh0CisgKiAgIENPUFlfQlVGICBjb3B5IHRoZSBjdXJyZW50IHVuaWNvZGUgY2hhciB0byB0aGUgdGFyZ2V0IGJ1ZmZlciwgaW5jcmVtZW50CisgKiAgICAgICAgICAgIHRoZSBpbmRleAorICogICBHUk9XLCBTSFJJTksgIGhhbmRsaW5nIG9mIGlucHV0IGJ1ZmZlcnMKKyAqLworCisjZGVmaW5lIFJBVyAoKmN0eHQtPmlucHV0LT5jdXIpCisjZGVmaW5lIENVUiAoKmN0eHQtPmlucHV0LT5jdXIpCisjZGVmaW5lIE5YVCh2YWwpIGN0eHQtPmlucHV0LT5jdXJbKHZhbCldCisjZGVmaW5lIENVUl9QVFIgY3R4dC0+aW5wdXQtPmN1cgorCisjZGVmaW5lIENNUDQoIHMsIGMxLCBjMiwgYzMsIGM0ICkgXAorICAoICgodW5zaWduZWQgY2hhciAqKSBzKVsgMCBdID09IGMxICYmICgodW5zaWduZWQgY2hhciAqKSBzKVsgMSBdID09IGMyICYmIFwKKyAgICAoKHVuc2lnbmVkIGNoYXIgKikgcylbIDIgXSA9PSBjMyAmJiAoKHVuc2lnbmVkIGNoYXIgKikgcylbIDMgXSA9PSBjNCApCisjZGVmaW5lIENNUDUoIHMsIGMxLCBjMiwgYzMsIGM0LCBjNSApIFwKKyAgKCBDTVA0KCBzLCBjMSwgYzIsIGMzLCBjNCApICYmICgodW5zaWduZWQgY2hhciAqKSBzKVsgNCBdID09IGM1ICkKKyNkZWZpbmUgQ01QNiggcywgYzEsIGMyLCBjMywgYzQsIGM1LCBjNiApIFwKKyAgKCBDTVA1KCBzLCBjMSwgYzIsIGMzLCBjNCwgYzUgKSAmJiAoKHVuc2lnbmVkIGNoYXIgKikgcylbIDUgXSA9PSBjNiApCisjZGVmaW5lIENNUDcoIHMsIGMxLCBjMiwgYzMsIGM0LCBjNSwgYzYsIGM3ICkgXAorICAoIENNUDYoIHMsIGMxLCBjMiwgYzMsIGM0LCBjNSwgYzYgKSAmJiAoKHVuc2lnbmVkIGNoYXIgKikgcylbIDYgXSA9PSBjNyApCisjZGVmaW5lIENNUDgoIHMsIGMxLCBjMiwgYzMsIGM0LCBjNSwgYzYsIGM3LCBjOCApIFwKKyAgKCBDTVA3KCBzLCBjMSwgYzIsIGMzLCBjNCwgYzUsIGM2LCBjNyApICYmICgodW5zaWduZWQgY2hhciAqKSBzKVsgNyBdID09IGM4ICkKKyNkZWZpbmUgQ01QOSggcywgYzEsIGMyLCBjMywgYzQsIGM1LCBjNiwgYzcsIGM4LCBjOSApIFwKKyAgKCBDTVA4KCBzLCBjMSwgYzIsIGMzLCBjNCwgYzUsIGM2LCBjNywgYzggKSAmJiBcCisgICAgKCh1bnNpZ25lZCBjaGFyICopIHMpWyA4IF0gPT0gYzkgKQorI2RlZmluZSBDTVAxMCggcywgYzEsIGMyLCBjMywgYzQsIGM1LCBjNiwgYzcsIGM4LCBjOSwgYzEwICkgXAorICAoIENNUDkoIHMsIGMxLCBjMiwgYzMsIGM0LCBjNSwgYzYsIGM3LCBjOCwgYzkgKSAmJiBcCisgICAgKCh1bnNpZ25lZCBjaGFyICopIHMpWyA5IF0gPT0gYzEwICkKKworI2RlZmluZSBTS0lQKHZhbCkgZG8gewkJCQkJCQlcCisgICAgY3R4dC0+bmJDaGFycyArPSAodmFsKSxjdHh0LT5pbnB1dC0+Y3VyICs9ICh2YWwpLGN0eHQtPmlucHV0LT5jb2wrPSh2YWwpOwkJCVwKKyAgICBpZiAoKmN0eHQtPmlucHV0LT5jdXIgPT0gJyUnKSB4bWxQYXJzZXJIYW5kbGVQRVJlZmVyZW5jZShjdHh0KTsJXAorICAgIGlmICgoKmN0eHQtPmlucHV0LT5jdXIgPT0gMCkgJiYJCQkJCVwKKyAgICAgICAgKHhtbFBhcnNlcklucHV0R3JvdyhjdHh0LT5pbnB1dCwgSU5QVVRfQ0hVTkspIDw9IDApKQkJXAorCSAgICB4bWxQb3BJbnB1dChjdHh0KTsJCQkJCQlcCisgIH0gd2hpbGUgKDApCisKKyNkZWZpbmUgU0tJUEwodmFsKSBkbyB7CQkJCQkJCVwKKyAgICBpbnQgc2tpcGw7CQkJCQkJCQlcCisgICAgZm9yKHNraXBsPTA7IHNraXBsPHZhbDsgc2tpcGwrKykgewkJCQkJXAorCWlmICgqKGN0eHQtPmlucHV0LT5jdXIpID09ICdcbicpIHsJCQkJXAorCWN0eHQtPmlucHV0LT5saW5lKys7IGN0eHQtPmlucHV0LT5jb2wgPSAxOwkJCVwKKwl9IGVsc2UgY3R4dC0+aW5wdXQtPmNvbCsrOwkJCQkJXAorCWN0eHQtPm5iQ2hhcnMrKzsJCQkJCQlcCisJY3R4dC0+aW5wdXQtPmN1cisrOwkJCQkJCVwKKyAgICB9CQkJCQkJCQkJXAorICAgIGlmICgqY3R4dC0+aW5wdXQtPmN1ciA9PSAnJScpIHhtbFBhcnNlckhhbmRsZVBFUmVmZXJlbmNlKGN0eHQpOwlcCisgICAgaWYgKCgqY3R4dC0+aW5wdXQtPmN1ciA9PSAwKSAmJgkJCQkJXAorICAgICAgICAoeG1sUGFyc2VySW5wdXRHcm93KGN0eHQtPmlucHV0LCBJTlBVVF9DSFVOSykgPD0gMCkpCQlcCisJICAgIHhtbFBvcElucHV0KGN0eHQpOwkJCQkJCVwKKyAgfSB3aGlsZSAoMCkKKworI2RlZmluZSBTSFJJTksgaWYgKChjdHh0LT5wcm9ncmVzc2l2ZSA9PSAwKSAmJgkJCQlcCisJCSAgIChjdHh0LT5pbnB1dC0+Y3VyIC0gY3R4dC0+aW5wdXQtPmJhc2UgPiAyICogSU5QVVRfQ0hVTkspICYmIFwKKwkJICAgKGN0eHQtPmlucHV0LT5lbmQgLSBjdHh0LT5pbnB1dC0+Y3VyIDwgMiAqIElOUFVUX0NIVU5LKSkgXAorCXhtbFNIUklOSyAoY3R4dCk7CisKK3N0YXRpYyB2b2lkIHhtbFNIUklOSyAoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0KSB7CisgICAgeG1sUGFyc2VySW5wdXRTaHJpbmsoY3R4dC0+aW5wdXQpOworICAgIGlmICgoKmN0eHQtPmlucHV0LT5jdXIgPT0gMCkgJiYKKyAgICAgICAgKHhtbFBhcnNlcklucHV0R3JvdyhjdHh0LT5pbnB1dCwgSU5QVVRfQ0hVTkspIDw9IDApKQorCSAgICB4bWxQb3BJbnB1dChjdHh0KTsKKyAgfQorCisjZGVmaW5lIEdST1cgaWYgKChjdHh0LT5wcm9ncmVzc2l2ZSA9PSAwKSAmJgkJCQlcCisJCSAoY3R4dC0+aW5wdXQtPmVuZCAtIGN0eHQtPmlucHV0LT5jdXIgPCBJTlBVVF9DSFVOSykpCVwKKwl4bWxHUk9XIChjdHh0KTsKKworc3RhdGljIHZvaWQgeG1sR1JPVyAoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0KSB7CisgICAgdW5zaWduZWQgbG9uZyBjdXJFbmQgPSBjdHh0LT5pbnB1dC0+ZW5kIC0gY3R4dC0+aW5wdXQtPmN1cjsKKyAgICB1bnNpZ25lZCBsb25nIGN1ckJhc2UgPSBjdHh0LT5pbnB1dC0+Y3VyIC0gY3R4dC0+aW5wdXQtPmJhc2U7CisKKyAgICBpZiAoKChjdXJFbmQgPiAodW5zaWduZWQgbG9uZykgWE1MX01BWF9MT09LVVBfTElNSVQpIHx8CisgICAgICAgICAoY3VyQmFzZSA+ICh1bnNpZ25lZCBsb25nKSBYTUxfTUFYX0xPT0tVUF9MSU1JVCkpICYmCisgICAgICAgICAoKGN0eHQtPmlucHV0LT5idWYpICYmIChjdHh0LT5pbnB1dC0+YnVmLT5yZWFkY2FsbGJhY2sgIT0gKHhtbElucHV0UmVhZENhbGxiYWNrKSB4bWxOb3ApKSAmJgorICAgICAgICAoKGN0eHQtPm9wdGlvbnMgJiBYTUxfUEFSU0VfSFVHRSkgPT0gMCkpIHsKKyAgICAgICAgeG1sRmF0YWxFcnIoY3R4dCwgWE1MX0VSUl9JTlRFUk5BTF9FUlJPUiwgIkh1Z2UgaW5wdXQgbG9va3VwIik7CisgICAgICAgIGN0eHQtPmluc3RhdGUgPSBYTUxfUEFSU0VSX0VPRjsKKyAgICB9CisgICAgeG1sUGFyc2VySW5wdXRHcm93KGN0eHQtPmlucHV0LCBJTlBVVF9DSFVOSyk7CisgICAgaWYgKChjdHh0LT5pbnB1dC0+Y3VyICE9IE5VTEwpICYmICgqY3R4dC0+aW5wdXQtPmN1ciA9PSAwKSAmJgorICAgICAgICAoeG1sUGFyc2VySW5wdXRHcm93KGN0eHQtPmlucHV0LCBJTlBVVF9DSFVOSykgPD0gMCkpCisJICAgIHhtbFBvcElucHV0KGN0eHQpOworfQorCisjZGVmaW5lIFNLSVBfQkxBTktTIHhtbFNraXBCbGFua0NoYXJzKGN0eHQpCisKKyNkZWZpbmUgTkVYVCB4bWxOZXh0Q2hhcihjdHh0KQorCisjZGVmaW5lIE5FWFQxIHsJCQkJCQkJCVwKKwljdHh0LT5pbnB1dC0+Y29sKys7CQkJCQkJXAorCWN0eHQtPmlucHV0LT5jdXIrKzsJCQkJCQlcCisJY3R4dC0+bmJDaGFycysrOwkJCQkJCVwKKwlpZiAoKmN0eHQtPmlucHV0LT5jdXIgPT0gMCkJCQkJCVwKKwkgICAgeG1sUGFyc2VySW5wdXRHcm93KGN0eHQtPmlucHV0LCBJTlBVVF9DSFVOSyk7CQlcCisgICAgfQorCisjZGVmaW5lIE5FWFRMKGwpIGRvIHsJCQkJCQkJXAorICAgIGlmICgqKGN0eHQtPmlucHV0LT5jdXIpID09ICdcbicpIHsJCQkJCVwKKwljdHh0LT5pbnB1dC0+bGluZSsrOyBjdHh0LT5pbnB1dC0+Y29sID0gMTsJCQlcCisgICAgfSBlbHNlIGN0eHQtPmlucHV0LT5jb2wrKzsJCQkJCQlcCisgICAgY3R4dC0+aW5wdXQtPmN1ciArPSBsOwkJCQlcCisgICAgaWYgKCpjdHh0LT5pbnB1dC0+Y3VyID09ICclJykgeG1sUGFyc2VySGFuZGxlUEVSZWZlcmVuY2UoY3R4dCk7CVwKKyAgfSB3aGlsZSAoMCkKKworI2RlZmluZSBDVVJfQ0hBUihsKSB4bWxDdXJyZW50Q2hhcihjdHh0LCAmbCkKKyNkZWZpbmUgQ1VSX1NDSEFSKHMsIGwpIHhtbFN0cmluZ0N1cnJlbnRDaGFyKGN0eHQsIHMsICZsKQorCisjZGVmaW5lIENPUFlfQlVGKGwsYixpLHYpCQkJCQkJXAorICAgIGlmIChsID09IDEpIGJbaSsrXSA9ICh4bWxDaGFyKSB2OwkJCQkJXAorICAgIGVsc2UgaSArPSB4bWxDb3B5Q2hhck11bHRpQnl0ZSgmYltpXSx2KQorCisvKioKKyAqIHhtbFNraXBCbGFua0NoYXJzOgorICogQGN0eHQ6ICB0aGUgWE1MIHBhcnNlciBjb250ZXh0CisgKgorICogc2tpcCBhbGwgYmxhbmtzIGNoYXJhY3RlciBmb3VuZCBhdCB0aGF0IHBvaW50IGluIHRoZSBpbnB1dCBzdHJlYW1zLgorICogSXQgcG9wcyB1cCBmaW5pc2hlZCBlbnRpdGllcyBpbiB0aGUgcHJvY2VzcyBpZiBhbGxvd2FibGUgYXQgdGhhdCBwb2ludC4KKyAqCisgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2Ygc3BhY2UgY2hhcnMgc2tpcHBlZAorICovCisKK2ludAoreG1sU2tpcEJsYW5rQ2hhcnMoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0KSB7CisgICAgaW50IHJlcyA9IDA7CisKKyAgICAvKgorICAgICAqIEl0J3MgT2theSB0byB1c2UgQ1VSL05FWFQgaGVyZSBzaW5jZSBhbGwgdGhlIGJsYW5rcyBhcmUgb24KKyAgICAgKiB0aGUgQVNDSUkgcmFuZ2UuCisgICAgICovCisgICAgaWYgKChjdHh0LT5pbnB1dE5yID09IDEpICYmIChjdHh0LT5pbnN0YXRlICE9IFhNTF9QQVJTRVJfRFREKSkgeworCWNvbnN0IHhtbENoYXIgKmN1cjsKKwkvKgorCSAqIGlmIHdlIGFyZSBpbiB0aGUgZG9jdW1lbnQgY29udGVudCwgZ28gcmVhbGx5IGZhc3QKKwkgKi8KKwljdXIgPSBjdHh0LT5pbnB1dC0+Y3VyOworCXdoaWxlIChJU19CTEFOS19DSCgqY3VyKSkgeworCSAgICBpZiAoKmN1ciA9PSAnXG4nKSB7CisJCWN0eHQtPmlucHV0LT5saW5lKys7IGN0eHQtPmlucHV0LT5jb2wgPSAxOworCSAgICB9IGVsc2UgeworCQljdHh0LT5pbnB1dC0+Y29sKys7CisJICAgIH0KKwkgICAgY3VyKys7CisJICAgIHJlcysrOworCSAgICBpZiAoKmN1ciA9PSAwKSB7CisJCWN0eHQtPmlucHV0LT5jdXIgPSBjdXI7CisJCXhtbFBhcnNlcklucHV0R3JvdyhjdHh0LT5pbnB1dCwgSU5QVVRfQ0hVTkspOworCQljdXIgPSBjdHh0LT5pbnB1dC0+Y3VyOworCSAgICB9CisJfQorCWN0eHQtPmlucHV0LT5jdXIgPSBjdXI7CisgICAgfSBlbHNlIHsKKwlpbnQgY3VyOworCWRvIHsKKwkgICAgY3VyID0gQ1VSOworCSAgICB3aGlsZSAoSVNfQkxBTktfQ0goY3VyKSkgeyAvKiBDSEVDS0VEIHRzdGJsYW5rcy54bWwgKi8KKwkJTkVYVDsKKwkJY3VyID0gQ1VSOworCQlyZXMrKzsKKwkgICAgfQorCSAgICB3aGlsZSAoKGN1ciA9PSAwKSAmJiAoY3R4dC0+aW5wdXROciA+IDEpICYmCisJCSAgIChjdHh0LT5pbnN0YXRlICE9IFhNTF9QQVJTRVJfQ09NTUVOVCkpIHsKKwkJeG1sUG9wSW5wdXQoY3R4dCk7CisJCWN1ciA9IENVUjsKKwkgICAgfQorCSAgICAvKgorCSAgICAgKiBOZWVkIHRvIGhhbmRsZSBzdXBwb3J0IG9mIGVudGl0aWVzIGJyYW5jaGluZyBoZXJlCisJICAgICAqLworCSAgICBpZiAoKmN0eHQtPmlucHV0LT5jdXIgPT0gJyUnKSB4bWxQYXJzZXJIYW5kbGVQRVJlZmVyZW5jZShjdHh0KTsKKwl9IHdoaWxlIChJU19CTEFOSyhjdXIpKTsgLyogQ0hFQ0tFRCB0c3RibGFua3MueG1sICovCisgICAgfQorICAgIHJldHVybihyZXMpOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQlDb21tb2RpdHkgZnVuY3Rpb25zIHRvIGhhbmRsZSBlbnRpdGllcwkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqCisgKiB4bWxQb3BJbnB1dDoKKyAqIEBjdHh0OiAgYW4gWE1MIHBhcnNlciBjb250ZXh0CisgKgorICogeG1sUG9wSW5wdXQ6IHRoZSBjdXJyZW50IGlucHV0IHBvaW50ZWQgYnkgY3R4dC0+aW5wdXQgY2FtZSB0byBhbiBlbmQKKyAqICAgICAgICAgIHBvcCBpdCBhbmQgcmV0dXJuIHRoZSBuZXh0IGNoYXIuCisgKgorICogUmV0dXJucyB0aGUgY3VycmVudCB4bWxDaGFyIGluIHRoZSBwYXJzZXIgY29udGV4dAorICovCit4bWxDaGFyCit4bWxQb3BJbnB1dCh4bWxQYXJzZXJDdHh0UHRyIGN0eHQpIHsKKyAgICBpZiAoKGN0eHQgPT0gTlVMTCkgfHwgKGN0eHQtPmlucHV0TnIgPD0gMSkpIHJldHVybigwKTsKKyAgICBpZiAoeG1sUGFyc2VyRGVidWdFbnRpdGllcykKKwl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJIlBvcHBpbmcgaW5wdXQgJWRcbiIsIGN0eHQtPmlucHV0TnIpOworICAgIHhtbEZyZWVJbnB1dFN0cmVhbShpbnB1dFBvcChjdHh0KSk7CisgICAgaWYgKCgqY3R4dC0+aW5wdXQtPmN1ciA9PSAwKSAmJgorICAgICAgICAoeG1sUGFyc2VySW5wdXRHcm93KGN0eHQtPmlucHV0LCBJTlBVVF9DSFVOSykgPD0gMCkpCisJICAgIHJldHVybih4bWxQb3BJbnB1dChjdHh0KSk7CisgICAgcmV0dXJuKENVUik7Cit9CisKKy8qKgorICogeG1sUHVzaElucHV0OgorICogQGN0eHQ6ICBhbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBpbnB1dDogIGFuIFhNTCBwYXJzZXIgaW5wdXQgZnJhZ21lbnQgKGVudGl0eSwgWE1MIGZyYWdtZW50IC4uLikuCisgKgorICogeG1sUHVzaElucHV0OiBzd2l0Y2ggdG8gYSBuZXcgaW5wdXQgc3RyZWFtIHdoaWNoIGlzIHN0YWNrZWQgb24gdG9wCisgKiAgICAgICAgICAgICAgIG9mIHRoZSBwcmV2aW91cyBvbmUocykuCisgKiBSZXR1cm5zIC0xIGluIGNhc2Ugb2YgZXJyb3Igb3IgdGhlIGluZGV4IGluIHRoZSBpbnB1dCBzdGFjaworICovCitpbnQKK3htbFB1c2hJbnB1dCh4bWxQYXJzZXJDdHh0UHRyIGN0eHQsIHhtbFBhcnNlcklucHV0UHRyIGlucHV0KSB7CisgICAgaW50IHJldDsKKyAgICBpZiAoaW5wdXQgPT0gTlVMTCkgcmV0dXJuKC0xKTsKKworICAgIGlmICh4bWxQYXJzZXJEZWJ1Z0VudGl0aWVzKSB7CisJaWYgKChjdHh0LT5pbnB1dCAhPSBOVUxMKSAmJiAoY3R4dC0+aW5wdXQtPmZpbGVuYW1lKSkKKwkgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSAgICAiJXMoJWQpOiAiLCBjdHh0LT5pbnB1dC0+ZmlsZW5hbWUsCisJCSAgICBjdHh0LT5pbnB1dC0+bGluZSk7CisJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSJQdXNoaW5nIGlucHV0ICVkIDogJS4zMHNcbiIsIGN0eHQtPmlucHV0TnIrMSwgaW5wdXQtPmN1cik7CisgICAgfQorICAgIHJldCA9IGlucHV0UHVzaChjdHh0LCBpbnB1dCk7CisgICAgaWYgKGN0eHQtPmluc3RhdGUgPT0gWE1MX1BBUlNFUl9FT0YpCisgICAgICAgIHJldHVybigtMSk7CisgICAgR1JPVzsKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxQYXJzZUNoYXJSZWY6CisgKiBAY3R4dDogIGFuIFhNTCBwYXJzZXIgY29udGV4dAorICoKKyAqIHBhcnNlIFJlZmVyZW5jZSBkZWNsYXJhdGlvbnMKKyAqCisgKiBbNjZdIENoYXJSZWYgOjo9ICcmIycgWzAtOV0rICc7JyB8CisgKiAgICAgICAgICAgICAgICAgICcmI3gnIFswLTlhLWZBLUZdKyAnOycKKyAqCisgKiBbIFdGQzogTGVnYWwgQ2hhcmFjdGVyIF0KKyAqIENoYXJhY3RlcnMgcmVmZXJyZWQgdG8gdXNpbmcgY2hhcmFjdGVyIHJlZmVyZW5jZXMgbXVzdCBtYXRjaCB0aGUKKyAqIHByb2R1Y3Rpb24gZm9yIENoYXIuCisgKgorICogUmV0dXJucyB0aGUgdmFsdWUgcGFyc2VkIChhcyBhbiBpbnQpLCAwIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworaW50Cit4bWxQYXJzZUNoYXJSZWYoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0KSB7CisgICAgdW5zaWduZWQgaW50IHZhbCA9IDA7CisgICAgaW50IGNvdW50ID0gMDsKKyAgICB1bnNpZ25lZCBpbnQgb3V0b2ZyYW5nZSA9IDA7CisKKyAgICAvKgorICAgICAqIFVzaW5nIFJBVy9DVVIvTkVYVCBpcyBva2F5IHNpbmNlIHdlIGFyZSB3b3JraW5nIG9uIEFTQ0lJIHJhbmdlIGhlcmUKKyAgICAgKi8KKyAgICBpZiAoKFJBVyA9PSAnJicpICYmIChOWFQoMSkgPT0gJyMnKSAmJgorICAgICAgICAoTlhUKDIpID09ICd4JykpIHsKKwlTS0lQKDMpOworCUdST1c7CisJd2hpbGUgKFJBVyAhPSAnOycpIHsgLyogbG9vcCBibG9ja2VkIGJ5IGNvdW50ICovCisJICAgIGlmIChjb3VudCsrID4gMjApIHsKKwkJY291bnQgPSAwOworCQlHUk9XOworICAgICAgICAgICAgICAgIGlmIChjdHh0LT5pbnN0YXRlID09IFhNTF9QQVJTRVJfRU9GKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4oMCk7CisJICAgIH0KKwkgICAgaWYgKChSQVcgPj0gJzAnKSAmJiAoUkFXIDw9ICc5JykpCisJICAgICAgICB2YWwgPSB2YWwgKiAxNiArIChDVVIgLSAnMCcpOworCSAgICBlbHNlIGlmICgoUkFXID49ICdhJykgJiYgKFJBVyA8PSAnZicpICYmIChjb3VudCA8IDIwKSkKKwkgICAgICAgIHZhbCA9IHZhbCAqIDE2ICsgKENVUiAtICdhJykgKyAxMDsKKwkgICAgZWxzZSBpZiAoKFJBVyA+PSAnQScpICYmIChSQVcgPD0gJ0YnKSAmJiAoY291bnQgPCAyMCkpCisJICAgICAgICB2YWwgPSB2YWwgKiAxNiArIChDVVIgLSAnQScpICsgMTA7CisJICAgIGVsc2UgeworCQl4bWxGYXRhbEVycihjdHh0LCBYTUxfRVJSX0lOVkFMSURfSEVYX0NIQVJSRUYsIE5VTEwpOworCQl2YWwgPSAwOworCQlicmVhazsKKwkgICAgfQorCSAgICBpZiAodmFsID4gMHgxMEZGRkYpCisJICAgICAgICBvdXRvZnJhbmdlID0gdmFsOworCisJICAgIE5FWFQ7CisJICAgIGNvdW50Kys7CisJfQorCWlmIChSQVcgPT0gJzsnKSB7CisJICAgIC8qIG9uIHB1cnBvc2UgdG8gYXZvaWQgcmVlbnRyYW5jeSBwcm9ibGVtcyB3aXRoIE5FWFQgYW5kIFNLSVAgKi8KKwkgICAgY3R4dC0+aW5wdXQtPmNvbCsrOworCSAgICBjdHh0LT5uYkNoYXJzICsrOworCSAgICBjdHh0LT5pbnB1dC0+Y3VyKys7CisJfQorICAgIH0gZWxzZSBpZiAgKChSQVcgPT0gJyYnKSAmJiAoTlhUKDEpID09ICcjJykpIHsKKwlTS0lQKDIpOworCUdST1c7CisJd2hpbGUgKFJBVyAhPSAnOycpIHsgLyogbG9vcCBibG9ja2VkIGJ5IGNvdW50ICovCisJICAgIGlmIChjb3VudCsrID4gMjApIHsKKwkJY291bnQgPSAwOworCQlHUk9XOworICAgICAgICAgICAgICAgIGlmIChjdHh0LT5pbnN0YXRlID09IFhNTF9QQVJTRVJfRU9GKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4oMCk7CisJICAgIH0KKwkgICAgaWYgKChSQVcgPj0gJzAnKSAmJiAoUkFXIDw9ICc5JykpCisJICAgICAgICB2YWwgPSB2YWwgKiAxMCArIChDVVIgLSAnMCcpOworCSAgICBlbHNlIHsKKwkJeG1sRmF0YWxFcnIoY3R4dCwgWE1MX0VSUl9JTlZBTElEX0RFQ19DSEFSUkVGLCBOVUxMKTsKKwkJdmFsID0gMDsKKwkJYnJlYWs7CisJICAgIH0KKwkgICAgaWYgKHZhbCA+IDB4MTBGRkZGKQorCSAgICAgICAgb3V0b2ZyYW5nZSA9IHZhbDsKKworCSAgICBORVhUOworCSAgICBjb3VudCsrOworCX0KKwlpZiAoUkFXID09ICc7JykgeworCSAgICAvKiBvbiBwdXJwb3NlIHRvIGF2b2lkIHJlZW50cmFuY3kgcHJvYmxlbXMgd2l0aCBORVhUIGFuZCBTS0lQICovCisJICAgIGN0eHQtPmlucHV0LT5jb2wrKzsKKwkgICAgY3R4dC0+bmJDaGFycyArKzsKKwkgICAgY3R4dC0+aW5wdXQtPmN1cisrOworCX0KKyAgICB9IGVsc2UgeworICAgICAgICB4bWxGYXRhbEVycihjdHh0LCBYTUxfRVJSX0lOVkFMSURfQ0hBUlJFRiwgTlVMTCk7CisgICAgfQorCisgICAgLyoKKyAgICAgKiBbIFdGQzogTGVnYWwgQ2hhcmFjdGVyIF0KKyAgICAgKiBDaGFyYWN0ZXJzIHJlZmVycmVkIHRvIHVzaW5nIGNoYXJhY3RlciByZWZlcmVuY2VzIG11c3QgbWF0Y2ggdGhlCisgICAgICogcHJvZHVjdGlvbiBmb3IgQ2hhci4KKyAgICAgKi8KKyAgICBpZiAoKElTX0NIQVIodmFsKSAmJiAob3V0b2ZyYW5nZSA9PSAwKSkpIHsKKyAgICAgICAgcmV0dXJuKHZhbCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgeG1sRmF0YWxFcnJNc2dJbnQoY3R4dCwgWE1MX0VSUl9JTlZBTElEX0NIQVIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICJ4bWxQYXJzZUNoYXJSZWY6IGludmFsaWQgeG1sQ2hhciB2YWx1ZSAlZFxuIiwKKwkgICAgICAgICAgICAgICAgICB2YWwpOworICAgIH0KKyAgICByZXR1cm4oMCk7Cit9CisKKy8qKgorICogeG1sUGFyc2VTdHJpbmdDaGFyUmVmOgorICogQGN0eHQ6ICBhbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBzdHI6ICBhIHBvaW50ZXIgdG8gYW4gaW5kZXggaW4gdGhlIHN0cmluZworICoKKyAqIHBhcnNlIFJlZmVyZW5jZSBkZWNsYXJhdGlvbnMsIHZhcmlhbnQgcGFyc2luZyBmcm9tIGEgc3RyaW5nIHJhdGhlcgorICogdGhhbiBhbiBhbiBpbnB1dCBmbG93LgorICoKKyAqIFs2Nl0gQ2hhclJlZiA6Oj0gJyYjJyBbMC05XSsgJzsnIHwKKyAqICAgICAgICAgICAgICAgICAgJyYjeCcgWzAtOWEtZkEtRl0rICc7JworICoKKyAqIFsgV0ZDOiBMZWdhbCBDaGFyYWN0ZXIgXQorICogQ2hhcmFjdGVycyByZWZlcnJlZCB0byB1c2luZyBjaGFyYWN0ZXIgcmVmZXJlbmNlcyBtdXN0IG1hdGNoIHRoZQorICogcHJvZHVjdGlvbiBmb3IgQ2hhci4KKyAqCisgKiBSZXR1cm5zIHRoZSB2YWx1ZSBwYXJzZWQgKGFzIGFuIGludCksIDAgaW4gY2FzZSBvZiBlcnJvciwgc3RyIHdpbGwgYmUKKyAqICAgICAgICAgdXBkYXRlZCB0byB0aGUgY3VycmVudCB2YWx1ZSBvZiB0aGUgaW5kZXgKKyAqLworc3RhdGljIGludAoreG1sUGFyc2VTdHJpbmdDaGFyUmVmKHhtbFBhcnNlckN0eHRQdHIgY3R4dCwgY29uc3QgeG1sQ2hhciAqKnN0cikgeworICAgIGNvbnN0IHhtbENoYXIgKnB0cjsKKyAgICB4bWxDaGFyIGN1cjsKKyAgICB1bnNpZ25lZCBpbnQgdmFsID0gMDsKKyAgICB1bnNpZ25lZCBpbnQgb3V0b2ZyYW5nZSA9IDA7CisKKyAgICBpZiAoKHN0ciA9PSBOVUxMKSB8fCAoKnN0ciA9PSBOVUxMKSkgcmV0dXJuKDApOworICAgIHB0ciA9ICpzdHI7CisgICAgY3VyID0gKnB0cjsKKyAgICBpZiAoKGN1ciA9PSAnJicpICYmIChwdHJbMV0gPT0gJyMnKSAmJiAocHRyWzJdID09ICd4JykpIHsKKwlwdHIgKz0gMzsKKwljdXIgPSAqcHRyOworCXdoaWxlIChjdXIgIT0gJzsnKSB7IC8qIE5vbiBpbnB1dCBjb25zdW1pbmcgbG9vcCAqLworCSAgICBpZiAoKGN1ciA+PSAnMCcpICYmIChjdXIgPD0gJzknKSkKKwkgICAgICAgIHZhbCA9IHZhbCAqIDE2ICsgKGN1ciAtICcwJyk7CisJICAgIGVsc2UgaWYgKChjdXIgPj0gJ2EnKSAmJiAoY3VyIDw9ICdmJykpCisJICAgICAgICB2YWwgPSB2YWwgKiAxNiArIChjdXIgLSAnYScpICsgMTA7CisJICAgIGVsc2UgaWYgKChjdXIgPj0gJ0EnKSAmJiAoY3VyIDw9ICdGJykpCisJICAgICAgICB2YWwgPSB2YWwgKiAxNiArIChjdXIgLSAnQScpICsgMTA7CisJICAgIGVsc2UgeworCQl4bWxGYXRhbEVycihjdHh0LCBYTUxfRVJSX0lOVkFMSURfSEVYX0NIQVJSRUYsIE5VTEwpOworCQl2YWwgPSAwOworCQlicmVhazsKKwkgICAgfQorCSAgICBpZiAodmFsID4gMHgxMEZGRkYpCisJICAgICAgICBvdXRvZnJhbmdlID0gdmFsOworCisJICAgIHB0cisrOworCSAgICBjdXIgPSAqcHRyOworCX0KKwlpZiAoY3VyID09ICc7JykKKwkgICAgcHRyKys7CisgICAgfSBlbHNlIGlmICAoKGN1ciA9PSAnJicpICYmIChwdHJbMV0gPT0gJyMnKSl7CisJcHRyICs9IDI7CisJY3VyID0gKnB0cjsKKwl3aGlsZSAoY3VyICE9ICc7JykgeyAvKiBOb24gaW5wdXQgY29uc3VtaW5nIGxvb3BzICovCisJICAgIGlmICgoY3VyID49ICcwJykgJiYgKGN1ciA8PSAnOScpKQorCSAgICAgICAgdmFsID0gdmFsICogMTAgKyAoY3VyIC0gJzAnKTsKKwkgICAgZWxzZSB7CisJCXhtbEZhdGFsRXJyKGN0eHQsIFhNTF9FUlJfSU5WQUxJRF9ERUNfQ0hBUlJFRiwgTlVMTCk7CisJCXZhbCA9IDA7CisJCWJyZWFrOworCSAgICB9CisJICAgIGlmICh2YWwgPiAweDEwRkZGRikKKwkgICAgICAgIG91dG9mcmFuZ2UgPSB2YWw7CisKKwkgICAgcHRyKys7CisJICAgIGN1ciA9ICpwdHI7CisJfQorCWlmIChjdXIgPT0gJzsnKQorCSAgICBwdHIrKzsKKyAgICB9IGVsc2UgeworCXhtbEZhdGFsRXJyKGN0eHQsIFhNTF9FUlJfSU5WQUxJRF9DSEFSUkVGLCBOVUxMKTsKKwlyZXR1cm4oMCk7CisgICAgfQorICAgICpzdHIgPSBwdHI7CisKKyAgICAvKgorICAgICAqIFsgV0ZDOiBMZWdhbCBDaGFyYWN0ZXIgXQorICAgICAqIENoYXJhY3RlcnMgcmVmZXJyZWQgdG8gdXNpbmcgY2hhcmFjdGVyIHJlZmVyZW5jZXMgbXVzdCBtYXRjaCB0aGUKKyAgICAgKiBwcm9kdWN0aW9uIGZvciBDaGFyLgorICAgICAqLworICAgIGlmICgoSVNfQ0hBUih2YWwpICYmIChvdXRvZnJhbmdlID09IDApKSkgeworICAgICAgICByZXR1cm4odmFsKTsKKyAgICB9IGVsc2UgeworICAgICAgICB4bWxGYXRhbEVyck1zZ0ludChjdHh0LCBYTUxfRVJSX0lOVkFMSURfQ0hBUiwKKwkJCSAgInhtbFBhcnNlU3RyaW5nQ2hhclJlZjogaW52YWxpZCB4bWxDaGFyIHZhbHVlICVkXG4iLAorCQkJICB2YWwpOworICAgIH0KKyAgICByZXR1cm4oMCk7Cit9CisKKy8qKgorICogeG1sTmV3QmxhbmtzV3JhcHBlcklucHV0U3RyZWFtOgorICogQGN0eHQ6ICBhbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBlbnRpdHk6ICBhbiBFbnRpdHkgcG9pbnRlcgorICoKKyAqIENyZWF0ZSBhIG5ldyBpbnB1dCBzdHJlYW0gZm9yIHdyYXBwaW5nCisgKiBibGFua3MgYXJvdW5kIGEgUEVSZWZlcmVuY2UKKyAqCisgKiBSZXR1cm5zIHRoZSBuZXcgaW5wdXQgc3RyZWFtIG9yIE5VTEwKKyAqLworCitzdGF0aWMgdm9pZCBkZWFsbG9jYmxhbmtzd3JhcHBlciAoeG1sQ2hhciAqc3RyKSB7eG1sRnJlZShzdHIpO30KKworc3RhdGljIHhtbFBhcnNlcklucHV0UHRyCit4bWxOZXdCbGFua3NXcmFwcGVySW5wdXRTdHJlYW0oeG1sUGFyc2VyQ3R4dFB0ciBjdHh0LCB4bWxFbnRpdHlQdHIgZW50aXR5KSB7CisgICAgeG1sUGFyc2VySW5wdXRQdHIgaW5wdXQ7CisgICAgeG1sQ2hhciAqYnVmZmVyOworICAgIHNpemVfdCBsZW5ndGg7CisgICAgaWYgKGVudGl0eSA9PSBOVUxMKSB7CisJeG1sRmF0YWxFcnIoY3R4dCwgWE1MX0VSUl9JTlRFUk5BTF9FUlJPUiwKKwkgICAgICAgICAgICAieG1sTmV3QmxhbmtzV3JhcHBlcklucHV0U3RyZWFtIGVudGl0eVxuIik7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBpZiAoeG1sUGFyc2VyRGVidWdFbnRpdGllcykKKwl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJIm5ldyBibGFua3Mgd3JhcHBlciBmb3IgZW50aXR5OiAlc1xuIiwgZW50aXR5LT5uYW1lKTsKKyAgICBpbnB1dCA9IHhtbE5ld0lucHV0U3RyZWFtKGN0eHQpOworICAgIGlmIChpbnB1dCA9PSBOVUxMKSB7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBsZW5ndGggPSB4bWxTdHJsZW4oZW50aXR5LT5uYW1lKSArIDU7CisgICAgYnVmZmVyID0geG1sTWFsbG9jQXRvbWljKGxlbmd0aCk7CisgICAgaWYgKGJ1ZmZlciA9PSBOVUxMKSB7CisJeG1sRXJyTWVtb3J5KGN0eHQsIE5VTEwpOworICAgICAgICB4bWxGcmVlKGlucHV0KTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIGJ1ZmZlciBbMF0gPSAnICc7CisgICAgYnVmZmVyIFsxXSA9ICclJzsKKyAgICBidWZmZXIgW2xlbmd0aC0zXSA9ICc7JzsKKyAgICBidWZmZXIgW2xlbmd0aC0yXSA9ICcgJzsKKyAgICBidWZmZXIgW2xlbmd0aC0xXSA9IDA7CisgICAgbWVtY3B5KGJ1ZmZlciArIDIsIGVudGl0eS0+bmFtZSwgbGVuZ3RoIC0gNSk7CisgICAgaW5wdXQtPmZyZWUgPSBkZWFsbG9jYmxhbmtzd3JhcHBlcjsKKyAgICBpbnB1dC0+YmFzZSA9IGJ1ZmZlcjsKKyAgICBpbnB1dC0+Y3VyID0gYnVmZmVyOworICAgIGlucHV0LT5sZW5ndGggPSBsZW5ndGg7CisgICAgaW5wdXQtPmVuZCA9ICZidWZmZXJbbGVuZ3RoXTsKKyAgICByZXR1cm4oaW5wdXQpOworfQorCisvKioKKyAqIHhtbFBhcnNlckhhbmRsZVBFUmVmZXJlbmNlOgorICogQGN0eHQ6ICB0aGUgcGFyc2VyIGNvbnRleHQKKyAqCisgKiBbNjldIFBFUmVmZXJlbmNlIDo6PSAnJScgTmFtZSAnOycKKyAqCisgKiBbIFdGQzogTm8gUmVjdXJzaW9uIF0KKyAqIEEgcGFyc2VkIGVudGl0eSBtdXN0IG5vdCBjb250YWluIGEgcmVjdXJzaXZlCisgKiByZWZlcmVuY2UgdG8gaXRzZWxmLCBlaXRoZXIgZGlyZWN0bHkgb3IgaW5kaXJlY3RseS4KKyAqCisgKiBbIFdGQzogRW50aXR5IERlY2xhcmVkIF0KKyAqIEluIGEgZG9jdW1lbnQgd2l0aG91dCBhbnkgRFRELCBhIGRvY3VtZW50IHdpdGggb25seSBhbiBpbnRlcm5hbCBEVEQKKyAqIHN1YnNldCB3aGljaCBjb250YWlucyBubyBwYXJhbWV0ZXIgZW50aXR5IHJlZmVyZW5jZXMsIG9yIGEgZG9jdW1lbnQKKyAqIHdpdGggInN0YW5kYWxvbmU9J3llcyciLCAuLi4gIC4uLiBUaGUgZGVjbGFyYXRpb24gb2YgYSBwYXJhbWV0ZXIKKyAqIGVudGl0eSBtdXN0IHByZWNlZGUgYW55IHJlZmVyZW5jZSB0byBpdC4uLgorICoKKyAqIFsgVkM6IEVudGl0eSBEZWNsYXJlZCBdCisgKiBJbiBhIGRvY3VtZW50IHdpdGggYW4gZXh0ZXJuYWwgc3Vic2V0IG9yIGV4dGVybmFsIHBhcmFtZXRlciBlbnRpdGllcworICogd2l0aCAic3RhbmRhbG9uZT0nbm8nIiwgLi4uICAuLi4gVGhlIGRlY2xhcmF0aW9uIG9mIGEgcGFyYW1ldGVyIGVudGl0eQorICogbXVzdCBwcmVjZWRlIGFueSByZWZlcmVuY2UgdG8gaXQuLi4KKyAqCisgKiBbIFdGQzogSW4gRFREIF0KKyAqIFBhcmFtZXRlci1lbnRpdHkgcmVmZXJlbmNlcyBtYXkgb25seSBhcHBlYXIgaW4gdGhlIERURC4KKyAqIE5PVEU6IG1pc2xlYWRpbmcgYnV0IHRoaXMgaXMgaGFuZGxlZC4KKyAqCisgKiBBIFBFUmVmZXJlbmNlIG1heSBoYXZlIGJlZW4gZGV0ZWN0ZWQgaW4gdGhlIGN1cnJlbnQgaW5wdXQgc3RyZWFtCisgKiB0aGUgaGFuZGxpbmcgaXMgZG9uZSBhY2NvcmRpbmdseSB0bworICogICAgICBodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMteG1sI2VudHByb2MKKyAqIGkuZS4KKyAqICAgLSBJbmNsdWRlZCBpbiBsaXRlcmFsIGluIGVudGl0eSB2YWx1ZXMKKyAqICAgLSBJbmNsdWRlZCBhcyBQYXJhbWV0ZXIgRW50aXR5IHJlZmVyZW5jZSB3aXRoaW4gRFREcworICovCit2b2lkCit4bWxQYXJzZXJIYW5kbGVQRVJlZmVyZW5jZSh4bWxQYXJzZXJDdHh0UHRyIGN0eHQpIHsKKyAgICBjb25zdCB4bWxDaGFyICpuYW1lOworICAgIHhtbEVudGl0eVB0ciBlbnRpdHkgPSBOVUxMOworICAgIHhtbFBhcnNlcklucHV0UHRyIGlucHV0OworCisgICAgaWYgKFJBVyAhPSAnJScpIHJldHVybjsKKyAgICBzd2l0Y2goY3R4dC0+aW5zdGF0ZSkgeworCWNhc2UgWE1MX1BBUlNFUl9DREFUQV9TRUNUSU9OOgorCSAgICByZXR1cm47CisgICAgICAgIGNhc2UgWE1MX1BBUlNFUl9DT01NRU5UOgorCSAgICByZXR1cm47CisJY2FzZSBYTUxfUEFSU0VSX1NUQVJUX1RBRzoKKwkgICAgcmV0dXJuOworCWNhc2UgWE1MX1BBUlNFUl9FTkRfVEFHOgorCSAgICByZXR1cm47CisgICAgICAgIGNhc2UgWE1MX1BBUlNFUl9FT0Y6CisJICAgIHhtbEZhdGFsRXJyKGN0eHQsIFhNTF9FUlJfUEVSRUZfQVRfRU9GLCBOVUxMKTsKKwkgICAgcmV0dXJuOworICAgICAgICBjYXNlIFhNTF9QQVJTRVJfUFJPTE9HOgorCWNhc2UgWE1MX1BBUlNFUl9TVEFSVDoKKwljYXNlIFhNTF9QQVJTRVJfTUlTQzoKKwkgICAgeG1sRmF0YWxFcnIoY3R4dCwgWE1MX0VSUl9QRVJFRl9JTl9QUk9MT0csIE5VTEwpOworCSAgICByZXR1cm47CisJY2FzZSBYTUxfUEFSU0VSX0VOVElUWV9ERUNMOgorICAgICAgICBjYXNlIFhNTF9QQVJTRVJfQ09OVEVOVDoKKyAgICAgICAgY2FzZSBYTUxfUEFSU0VSX0FUVFJJQlVURV9WQUxVRToKKyAgICAgICAgY2FzZSBYTUxfUEFSU0VSX1BJOgorCWNhc2UgWE1MX1BBUlNFUl9TWVNURU1fTElURVJBTDoKKwljYXNlIFhNTF9QQVJTRVJfUFVCTElDX0xJVEVSQUw6CisJICAgIC8qIHdlIGp1c3QgaWdub3JlIGl0IHRoZXJlICovCisJICAgIHJldHVybjsKKyAgICAgICAgY2FzZSBYTUxfUEFSU0VSX0VQSUxPRzoKKwkgICAgeG1sRmF0YWxFcnIoY3R4dCwgWE1MX0VSUl9QRVJFRl9JTl9FUElMT0csIE5VTEwpOworCSAgICByZXR1cm47CisJY2FzZSBYTUxfUEFSU0VSX0VOVElUWV9WQUxVRToKKwkgICAgLyoKKwkgICAgICogTk9URTogaW4gdGhlIGNhc2Ugb2YgZW50aXR5IHZhbHVlcywgd2UgZG9uJ3QgZG8gdGhlCisJICAgICAqICAgICAgIHN1YnN0aXR1dGlvbiBoZXJlIHNpbmNlIHdlIG5lZWQgdGhlIGxpdGVyYWwKKwkgICAgICogICAgICAgZW50aXR5IHZhbHVlIHRvIGJlIGFibGUgdG8gc2F2ZSB0aGUgaW50ZXJuYWwKKwkgICAgICogICAgICAgc3Vic2V0IG9mIHRoZSBkb2N1bWVudC4KKwkgICAgICogICAgICAgVGhpcyB3aWxsIGJlIGhhbmRsZWQgYnkgeG1sU3RyaW5nRGVjb2RlRW50aXRpZXMKKwkgICAgICovCisJICAgIHJldHVybjsKKyAgICAgICAgY2FzZSBYTUxfUEFSU0VSX0RURDoKKwkgICAgLyoKKwkgICAgICogW1dGQzogV2VsbC1Gb3JtZWRuZXNzIENvbnN0cmFpbnQ6IFBFcyBpbiBJbnRlcm5hbCBTdWJzZXRdCisJICAgICAqIEluIHRoZSBpbnRlcm5hbCBEVEQgc3Vic2V0LCBwYXJhbWV0ZXItZW50aXR5IHJlZmVyZW5jZXMKKwkgICAgICogY2FuIG9jY3VyIG9ubHkgd2hlcmUgbWFya3VwIGRlY2xhcmF0aW9ucyBjYW4gb2NjdXIsIG5vdAorCSAgICAgKiB3aXRoaW4gbWFya3VwIGRlY2xhcmF0aW9ucy4KKwkgICAgICogSW4gdGhhdCBjYXNlIHRoaXMgaXMgaGFuZGxlZCBpbiB4bWxQYXJzZU1hcmt1cERlY2wKKwkgICAgICovCisJICAgIGlmICgoY3R4dC0+ZXh0ZXJuYWwgPT0gMCkgJiYgKGN0eHQtPmlucHV0TnIgPT0gMSkpCisJCXJldHVybjsKKwkgICAgaWYgKElTX0JMQU5LX0NIKE5YVCgxKSkgfHwgTlhUKDEpID09IDApCisJCXJldHVybjsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9QQVJTRVJfSUdOT1JFOgorICAgICAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIE5FWFQ7CisgICAgbmFtZSA9IHhtbFBhcnNlTmFtZShjdHh0KTsKKyAgICBpZiAoeG1sUGFyc2VyRGVidWdFbnRpdGllcykKKwl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJIlBFUmVmZXJlbmNlOiAlc1xuIiwgbmFtZSk7CisgICAgaWYgKG5hbWUgPT0gTlVMTCkgeworCXhtbEZhdGFsRXJyKGN0eHQsIFhNTF9FUlJfUEVSRUZfTk9fTkFNRSwgTlVMTCk7CisgICAgfSBlbHNlIHsKKwlpZiAoUkFXID09ICc7JykgeworCSAgICBORVhUOworCSAgICBpZiAoKGN0eHQtPnNheCAhPSBOVUxMKSAmJiAoY3R4dC0+c2F4LT5nZXRQYXJhbWV0ZXJFbnRpdHkgIT0gTlVMTCkpCisJCWVudGl0eSA9IGN0eHQtPnNheC0+Z2V0UGFyYW1ldGVyRW50aXR5KGN0eHQtPnVzZXJEYXRhLCBuYW1lKTsKKwkgICAgaWYgKGN0eHQtPmluc3RhdGUgPT0gWE1MX1BBUlNFUl9FT0YpCisJICAgICAgICByZXR1cm47CisJICAgIGlmIChlbnRpdHkgPT0gTlVMTCkgeworCisJCS8qCisJCSAqIFsgV0ZDOiBFbnRpdHkgRGVjbGFyZWQgXQorCQkgKiBJbiBhIGRvY3VtZW50IHdpdGhvdXQgYW55IERURCwgYSBkb2N1bWVudCB3aXRoIG9ubHkgYW4KKwkJICogaW50ZXJuYWwgRFREIHN1YnNldCB3aGljaCBjb250YWlucyBubyBwYXJhbWV0ZXIgZW50aXR5CisJCSAqIHJlZmVyZW5jZXMsIG9yIGEgZG9jdW1lbnQgd2l0aCAic3RhbmRhbG9uZT0neWVzJyIsIC4uLgorCQkgKiAuLi4gVGhlIGRlY2xhcmF0aW9uIG9mIGEgcGFyYW1ldGVyIGVudGl0eSBtdXN0IHByZWNlZGUKKwkJICogYW55IHJlZmVyZW5jZSB0byBpdC4uLgorCQkgKi8KKwkJaWYgKChjdHh0LT5zdGFuZGFsb25lID09IDEpIHx8CisJCSAgICAoKGN0eHQtPmhhc0V4dGVybmFsU3Vic2V0ID09IDApICYmCisJCSAgICAgKGN0eHQtPmhhc1BFcmVmcyA9PSAwKSkpIHsKKwkJICAgIHhtbEZhdGFsRXJyTXNnU3RyKGN0eHQsIFhNTF9FUlJfVU5ERUNMQVJFRF9FTlRJVFksCisJCQkgIlBFUmVmZXJlbmNlOiAlJSVzOyBub3QgZm91bmRcbiIsIG5hbWUpOworCSAgICAgICAgfSBlbHNlIHsKKwkJICAgIC8qCisJCSAgICAgKiBbIFZDOiBFbnRpdHkgRGVjbGFyZWQgXQorCQkgICAgICogSW4gYSBkb2N1bWVudCB3aXRoIGFuIGV4dGVybmFsIHN1YnNldCBvciBleHRlcm5hbAorCQkgICAgICogcGFyYW1ldGVyIGVudGl0aWVzIHdpdGggInN0YW5kYWxvbmU9J25vJyIsIC4uLgorCQkgICAgICogLi4uIFRoZSBkZWNsYXJhdGlvbiBvZiBhIHBhcmFtZXRlciBlbnRpdHkgbXVzdCBwcmVjZWRlCisJCSAgICAgKiBhbnkgcmVmZXJlbmNlIHRvIGl0Li4uCisJCSAgICAgKi8KKwkJICAgIGlmICgoY3R4dC0+dmFsaWRhdGUpICYmIChjdHh0LT52Y3R4dC5lcnJvciAhPSBOVUxMKSkgeworCQkgICAgICAgIHhtbFZhbGlkaXR5RXJyb3IoY3R4dCwgWE1MX1dBUl9VTkRFQ0xBUkVEX0VOVElUWSwKKwkJCSAgICAgICAgICAgICAgICAgIlBFUmVmZXJlbmNlOiAlJSVzOyBub3QgZm91bmRcbiIsCisJCQkJICAgICAgICAgbmFtZSwgTlVMTCk7CisJCSAgICB9IGVsc2UKKwkJICAgICAgICB4bWxXYXJuaW5nTXNnKGN0eHQsIFhNTF9XQVJfVU5ERUNMQVJFRF9FTlRJVFksCisJCQkgICAgICAgICAgICAgICJQRVJlZmVyZW5jZTogJSUlczsgbm90IGZvdW5kXG4iLAorCQkJCSAgICAgIG5hbWUsIE5VTEwpOworCQkgICAgY3R4dC0+dmFsaWQgPSAwOworCQl9CisJCXhtbFBhcnNlckVudGl0eUNoZWNrKGN0eHQsIDAsIE5VTEwsIDApOworCSAgICB9IGVsc2UgaWYgKGN0eHQtPmlucHV0LT5mcmVlICE9IGRlYWxsb2NibGFua3N3cmFwcGVyKSB7CisJCSAgICBpbnB1dCA9IHhtbE5ld0JsYW5rc1dyYXBwZXJJbnB1dFN0cmVhbShjdHh0LCBlbnRpdHkpOworCQkgICAgaWYgKHhtbFB1c2hJbnB1dChjdHh0LCBpbnB1dCkgPCAwKQorCQkgICAgICAgIHJldHVybjsKKwkgICAgfSBlbHNlIHsKKwkgICAgICAgIGlmICgoZW50aXR5LT5ldHlwZSA9PSBYTUxfSU5URVJOQUxfUEFSQU1FVEVSX0VOVElUWSkgfHwKKwkJICAgIChlbnRpdHktPmV0eXBlID09IFhNTF9FWFRFUk5BTF9QQVJBTUVURVJfRU5USVRZKSkgeworCQkgICAgeG1sQ2hhciBzdGFydFs0XTsKKwkJICAgIHhtbENoYXJFbmNvZGluZyBlbmM7CisKKwkJICAgIC8qCisJCSAgICAgKiBOb3RlOiBleHRlcm5hbCBwYXJhbWV0ZXIgZW50aXRpZXMgd2lsbCBub3QgYmUgbG9hZGVkLCBpdAorCQkgICAgICogaXMgbm90IHJlcXVpcmVkIGZvciBhIG5vbi12YWxpZGF0aW5nIHBhcnNlciwgdW5sZXNzIHRoZQorCQkgICAgICogb3B0aW9uIG9mIHZhbGlkYXRpbmcsIG9yIHN1YnN0aXR1dGluZyBlbnRpdGllcyB3ZXJlCisJCSAgICAgKiBnaXZlbi4gRG9pbmcgc28gaXMgZmFyIG1vcmUgc2VjdXJlIGFzIHRoZSBwYXJzZXIgd2lsbAorCQkgICAgICogb25seSBwcm9jZXNzIGRhdGEgY29taW5nIGZyb20gdGhlIGRvY3VtZW50IGVudGl0eSBieQorCQkgICAgICogZGVmYXVsdC4KKwkJICAgICAqLworICAgICAgICAgICAgICAgICAgICBpZiAoKGVudGl0eS0+ZXR5cGUgPT0gWE1MX0VYVEVSTkFMX1BBUkFNRVRFUl9FTlRJVFkpICYmCisJCSAgICAgICAgKChjdHh0LT5vcHRpb25zICYgWE1MX1BBUlNFX05PRU5UKSA9PSAwKSAmJgorCQkJKChjdHh0LT5vcHRpb25zICYgWE1MX1BBUlNFX0RURFZBTElEKSA9PSAwKSAmJgorCQkJKChjdHh0LT5vcHRpb25zICYgWE1MX1BBUlNFX0RURExPQUQpID09IDApICYmCisJCQkoKGN0eHQtPm9wdGlvbnMgJiBYTUxfUEFSU0VfRFREQVRUUikgPT0gMCkgJiYKKwkJCShjdHh0LT5yZXBsYWNlRW50aXRpZXMgPT0gMCkgJiYKKwkJCShjdHh0LT52YWxpZGF0ZSA9PSAwKSkKKwkJCXJldHVybjsKKworCQkgICAgLyoKKwkJICAgICAqIGhhbmRsZSB0aGUgZXh0cmEgc3BhY2VzIGFkZGVkIGJlZm9yZSBhbmQgYWZ0ZXIKKwkJICAgICAqIGMuZi4gaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLXhtbCNhcy1QRQorCQkgICAgICogdGhpcyBpcyBkb25lIGluZGVwZW5kZW50bHkuCisJCSAgICAgKi8KKwkJICAgIGlucHV0ID0geG1sTmV3RW50aXR5SW5wdXRTdHJlYW0oY3R4dCwgZW50aXR5KTsKKwkJICAgIGlmICh4bWxQdXNoSW5wdXQoY3R4dCwgaW5wdXQpIDwgMCkKKwkJICAgICAgICByZXR1cm47CisKKwkJICAgIC8qCisJCSAgICAgKiBHZXQgdGhlIDQgZmlyc3QgYnl0ZXMgYW5kIGRlY29kZSB0aGUgY2hhcnNldAorCQkgICAgICogaWYgZW5jICE9IFhNTF9DSEFSX0VOQ09ESU5HX05PTkUKKwkJICAgICAqIHBsdWcgc29tZSBlbmNvZGluZyBjb252ZXJzaW9uIHJvdXRpbmVzLgorCQkgICAgICogTm90ZSB0aGF0LCBzaW5jZSB3ZSBtYXkgaGF2ZSBzb21lIG5vbi1VVEY4CisJCSAgICAgKiBlbmNvZGluZyAobGlrZSBVVEYxNiwgYnVnIDEzNTIyOSksIHRoZSAnbGVuZ3RoJworCQkgICAgICogaXMgbm90IGtub3duLCBidXQgd2UgY2FuIGNhbGN1bGF0ZSBiYXNlZCB1cG9uCisJCSAgICAgKiB0aGUgYW1vdW50IG9mIGRhdGEgaW4gdGhlIGJ1ZmZlci4KKwkJICAgICAqLworCQkgICAgR1JPVworICAgICAgICAgICAgICAgICAgICBpZiAoY3R4dC0+aW5zdGF0ZSA9PSBYTUxfUEFSU0VSX0VPRikKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKKwkJICAgIGlmICgoY3R4dC0+aW5wdXQtPmVuZCAtIGN0eHQtPmlucHV0LT5jdXIpPj00KSB7CisJCQlzdGFydFswXSA9IFJBVzsKKwkJCXN0YXJ0WzFdID0gTlhUKDEpOworCQkJc3RhcnRbMl0gPSBOWFQoMik7CisJCQlzdGFydFszXSA9IE5YVCgzKTsKKwkJCWVuYyA9IHhtbERldGVjdENoYXJFbmNvZGluZyhzdGFydCwgNCk7CisJCQlpZiAoZW5jICE9IFhNTF9DSEFSX0VOQ09ESU5HX05PTkUpIHsKKwkJCSAgICB4bWxTd2l0Y2hFbmNvZGluZyhjdHh0LCBlbmMpOworCQkJfQorCQkgICAgfQorCisJCSAgICBpZiAoKGVudGl0eS0+ZXR5cGUgPT0gWE1MX0VYVEVSTkFMX1BBUkFNRVRFUl9FTlRJVFkpICYmCisJCQkoQ01QNShDVVJfUFRSLCAnPCcsICc/JywgJ3gnLCAnbScsICdsJyApKSAmJgorCQkJKElTX0JMQU5LX0NIKE5YVCg1KSkpKSB7CisJCQl4bWxQYXJzZVRleHREZWNsKGN0eHQpOworCQkgICAgfQorCQl9IGVsc2UgeworCQkgICAgeG1sRmF0YWxFcnJNc2dTdHIoY3R4dCwgWE1MX0VSUl9FTlRJVFlfSVNfUEFSQU1FVEVSLAorCQkJICAgICAiUEVSZWZlcmVuY2U6ICVzIGlzIG5vdCBhIHBhcmFtZXRlciBlbnRpdHlcbiIsCisJCQkJICAgICAgbmFtZSk7CisJCX0KKwkgICAgfQorCX0gZWxzZSB7CisJICAgIHhtbEZhdGFsRXJyKGN0eHQsIFhNTF9FUlJfUEVSRUZfU0VNSUNPTF9NSVNTSU5HLCBOVUxMKTsKKwl9CisgICAgfQorfQorCisvKgorICogTWFjcm8gdXNlZCB0byBncm93IHRoZSBjdXJyZW50IGJ1ZmZlci4KKyAqIGJ1ZmZlciMjX3NpemUgaXMgZXhwZWN0ZWQgdG8gYmUgYSBzaXplX3QKKyAqIG1lbV9lcnJvcjogaXMgZXhwZWN0ZWQgdG8gaGFuZGxlIG1lbW9yeSBhbGxvY2F0aW9uIGZhaWx1cmVzCisgKi8KKyNkZWZpbmUgZ3Jvd0J1ZmZlcihidWZmZXIsIG4pIHsJCQkJCQlcCisgICAgeG1sQ2hhciAqdG1wOwkJCQkJCQlcCisgICAgc2l6ZV90IG5ld19zaXplID0gYnVmZmVyIyNfc2l6ZSAqIDIgKyBuOyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgaWYgKG5ld19zaXplIDwgYnVmZmVyIyNfc2l6ZSkgZ290byBtZW1fZXJyb3I7ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgdG1wID0gKHhtbENoYXIgKikgeG1sUmVhbGxvYyhidWZmZXIsIG5ld19zaXplKTsgICAgICAgICAgICAgICAgICAgICBcCisgICAgaWYgKHRtcCA9PSBOVUxMKSBnb3RvIG1lbV9lcnJvcjsJCQkJCVwKKyAgICBidWZmZXIgPSB0bXA7CQkJCQkJCVwKKyAgICBidWZmZXIjI19zaXplID0gbmV3X3NpemU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKK30KKworLyoqCisgKiB4bWxTdHJpbmdMZW5EZWNvZGVFbnRpdGllczoKKyAqIEBjdHh0OiAgdGhlIHBhcnNlciBjb250ZXh0CisgKiBAc3RyOiAgdGhlIGlucHV0IHN0cmluZworICogQGxlbjogdGhlIHN0cmluZyBsZW5ndGgKKyAqIEB3aGF0OiAgY29tYmluYXRpb24gb2YgWE1MX1NVQlNUSVRVVEVfUkVGIGFuZCBYTUxfU1VCU1RJVFVURV9QRVJFRgorICogQGVuZDogIGFuIGVuZCBtYXJrZXIgeG1sQ2hhciwgMCBpZiBub25lCisgKiBAZW5kMjogIGFuIGVuZCBtYXJrZXIgeG1sQ2hhciwgMCBpZiBub25lCisgKiBAZW5kMzogIGFuIGVuZCBtYXJrZXIgeG1sQ2hhciwgMCBpZiBub25lCisgKgorICogVGFrZXMgYSBlbnRpdHkgc3RyaW5nIGNvbnRlbnQgYW5kIHByb2Nlc3MgdG8gZG8gdGhlIGFkZXF1YXRlIHN1YnN0aXR1dGlvbnMuCisgKgorICogWzY3XSBSZWZlcmVuY2UgOjo9IEVudGl0eVJlZiB8IENoYXJSZWYKKyAqCisgKiBbNjldIFBFUmVmZXJlbmNlIDo6PSAnJScgTmFtZSAnOycKKyAqCisgKiBSZXR1cm5zIEEgbmV3bHkgYWxsb2NhdGVkIHN0cmluZyB3aXRoIHRoZSBzdWJzdGl0dXRpb24gZG9uZS4gVGhlIGNhbGxlcgorICogICAgICBtdXN0IGRlYWxsb2NhdGUgaXQgIQorICovCit4bWxDaGFyICoKK3htbFN0cmluZ0xlbkRlY29kZUVudGl0aWVzKHhtbFBhcnNlckN0eHRQdHIgY3R4dCwgY29uc3QgeG1sQ2hhciAqc3RyLCBpbnQgbGVuLAorCQkgICAgICBpbnQgd2hhdCwgeG1sQ2hhciBlbmQsIHhtbENoYXIgIGVuZDIsIHhtbENoYXIgZW5kMykgeworICAgIHhtbENoYXIgKmJ1ZmZlciA9IE5VTEw7CisgICAgc2l6ZV90IGJ1ZmZlcl9zaXplID0gMDsKKyAgICBzaXplX3QgbmJjaGFycyA9IDA7CisKKyAgICB4bWxDaGFyICpjdXJyZW50ID0gTlVMTDsKKyAgICB4bWxDaGFyICpyZXAgPSBOVUxMOworICAgIGNvbnN0IHhtbENoYXIgKmxhc3Q7CisgICAgeG1sRW50aXR5UHRyIGVudDsKKyAgICBpbnQgYyxsOworCisgICAgaWYgKChjdHh0ID09IE5VTEwpIHx8IChzdHIgPT0gTlVMTCkgfHwgKGxlbiA8IDApKQorCXJldHVybihOVUxMKTsKKyAgICBsYXN0ID0gc3RyICsgbGVuOworCisgICAgaWYgKCgoY3R4dC0+ZGVwdGggPiA0MCkgJiYKKyAgICAgICAgICgoY3R4dC0+b3B0aW9ucyAmIFhNTF9QQVJTRV9IVUdFKSA9PSAwKSkgfHwKKwkoY3R4dC0+ZGVwdGggPiAxMDI0KSkgeworCXhtbEZhdGFsRXJyKGN0eHQsIFhNTF9FUlJfRU5USVRZX0xPT1AsIE5VTEwpOworCXJldHVybihOVUxMKTsKKyAgICB9CisKKyAgICAvKgorICAgICAqIGFsbG9jYXRlIGEgdHJhbnNsYXRpb24gYnVmZmVyLgorICAgICAqLworICAgIGJ1ZmZlcl9zaXplID0gWE1MX1BBUlNFUl9CSUdfQlVGRkVSX1NJWkU7CisgICAgYnVmZmVyID0gKHhtbENoYXIgKikgeG1sTWFsbG9jQXRvbWljKGJ1ZmZlcl9zaXplKTsKKyAgICBpZiAoYnVmZmVyID09IE5VTEwpIGdvdG8gbWVtX2Vycm9yOworCisgICAgLyoKKyAgICAgKiBPSyBsb29wIHVudGlsIHdlIHJlYWNoIG9uZSBvZiB0aGUgZW5kaW5nIGNoYXIgb3IgYSBzaXplIGxpbWl0LgorICAgICAqIHdlIGFyZSBvcGVyYXRpbmcgb24gYWxyZWFkeSBwYXJzZWQgdmFsdWVzLgorICAgICAqLworICAgIGlmIChzdHIgPCBsYXN0KQorCWMgPSBDVVJfU0NIQVIoc3RyLCBsKTsKKyAgICBlbHNlCisgICAgICAgIGMgPSAwOworICAgIHdoaWxlICgoYyAhPSAwKSAmJiAoYyAhPSBlbmQpICYmIC8qIG5vbiBpbnB1dCBjb25zdW1pbmcgbG9vcCAqLworCSAgIChjICE9IGVuZDIpICYmIChjICE9IGVuZDMpKSB7CisKKwlpZiAoYyA9PSAwKSBicmVhazsKKyAgICAgICAgaWYgKChjID09ICcmJykgJiYgKHN0clsxXSA9PSAnIycpKSB7CisJICAgIGludCB2YWwgPSB4bWxQYXJzZVN0cmluZ0NoYXJSZWYoY3R4dCwgJnN0cik7CisJICAgIGlmICh2YWwgIT0gMCkgeworCQlDT1BZX0JVRigwLGJ1ZmZlcixuYmNoYXJzLHZhbCk7CisJICAgIH0KKwkgICAgaWYgKG5iY2hhcnMgKyBYTUxfUEFSU0VSX0JVRkZFUl9TSVpFID4gYnVmZmVyX3NpemUpIHsKKwkgICAgICAgIGdyb3dCdWZmZXIoYnVmZmVyLCBYTUxfUEFSU0VSX0JVRkZFUl9TSVpFKTsKKwkgICAgfQorCX0gZWxzZSBpZiAoKGMgPT0gJyYnKSAmJiAod2hhdCAmIFhNTF9TVUJTVElUVVRFX1JFRikpIHsKKwkgICAgaWYgKHhtbFBhcnNlckRlYnVnRW50aXRpZXMpCisJCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkJIlN0cmluZyBkZWNvZGluZyBFbnRpdHkgUmVmZXJlbmNlOiAlLjMwc1xuIiwKKwkJCXN0cik7CisJICAgIGVudCA9IHhtbFBhcnNlU3RyaW5nRW50aXR5UmVmKGN0eHQsICZzdHIpOworCSAgICBpZiAoKGN0eHQtPmxhc3RFcnJvci5jb2RlID09IFhNTF9FUlJfRU5USVRZX0xPT1ApIHx8CisJICAgICAgICAoY3R4dC0+bGFzdEVycm9yLmNvZGUgPT0gWE1MX0VSUl9JTlRFUk5BTF9FUlJPUikpCisJICAgICAgICBnb3RvIGludF9lcnJvcjsKKwkgICAgeG1sUGFyc2VyRW50aXR5Q2hlY2soY3R4dCwgMCwgZW50LCAwKTsKKwkgICAgaWYgKGVudCAhPSBOVUxMKQorCSAgICAgICAgY3R4dC0+bmJlbnRpdGllcyArPSBlbnQtPmNoZWNrZWQgLyAyOworCSAgICBpZiAoKGVudCAhPSBOVUxMKSAmJgorCQkoZW50LT5ldHlwZSA9PSBYTUxfSU5URVJOQUxfUFJFREVGSU5FRF9FTlRJVFkpKSB7CisJCWlmIChlbnQtPmNvbnRlbnQgIT0gTlVMTCkgeworCQkgICAgQ09QWV9CVUYoMCxidWZmZXIsbmJjaGFycyxlbnQtPmNvbnRlbnRbMF0pOworCQkgICAgaWYgKG5iY2hhcnMgKyBYTUxfUEFSU0VSX0JVRkZFUl9TSVpFID4gYnVmZmVyX3NpemUpIHsKKwkJCWdyb3dCdWZmZXIoYnVmZmVyLCBYTUxfUEFSU0VSX0JVRkZFUl9TSVpFKTsKKwkJICAgIH0KKwkJfSBlbHNlIHsKKwkJICAgIHhtbEZhdGFsRXJyTXNnKGN0eHQsIFhNTF9FUlJfSU5URVJOQUxfRVJST1IsCisJCQkgICAgInByZWRlZmluZWQgZW50aXR5IGhhcyBubyBjb250ZW50XG4iKTsKKwkJfQorCSAgICB9IGVsc2UgaWYgKChlbnQgIT0gTlVMTCkgJiYgKGVudC0+Y29udGVudCAhPSBOVUxMKSkgeworCQljdHh0LT5kZXB0aCsrOworCQlyZXAgPSB4bWxTdHJpbmdEZWNvZGVFbnRpdGllcyhjdHh0LCBlbnQtPmNvbnRlbnQsIHdoYXQsCisJCQkgICAgICAgICAgICAgICAgICAgICAgMCwgMCwgMCk7CisJCWN0eHQtPmRlcHRoLS07CisKKwkJaWYgKHJlcCAhPSBOVUxMKSB7CisJCSAgICBjdXJyZW50ID0gcmVwOworCQkgICAgd2hpbGUgKCpjdXJyZW50ICE9IDApIHsgLyogbm9uIGlucHV0IGNvbnN1bWluZyBsb29wICovCisJCQlidWZmZXJbbmJjaGFycysrXSA9ICpjdXJyZW50Kys7CisJCQlpZiAobmJjaGFycyArIFhNTF9QQVJTRVJfQlVGRkVSX1NJWkUgPiBidWZmZXJfc2l6ZSkgeworCQkJICAgIGlmICh4bWxQYXJzZXJFbnRpdHlDaGVjayhjdHh0LCBuYmNoYXJzLCBlbnQsIDApKQorCQkJCWdvdG8gaW50X2Vycm9yOworCQkJICAgIGdyb3dCdWZmZXIoYnVmZmVyLCBYTUxfUEFSU0VSX0JVRkZFUl9TSVpFKTsKKwkJCX0KKwkJICAgIH0KKwkJICAgIHhtbEZyZWUocmVwKTsKKwkJICAgIHJlcCA9IE5VTEw7CisJCX0KKwkgICAgfSBlbHNlIGlmIChlbnQgIT0gTlVMTCkgeworCQlpbnQgaSA9IHhtbFN0cmxlbihlbnQtPm5hbWUpOworCQljb25zdCB4bWxDaGFyICpjdXIgPSBlbnQtPm5hbWU7CisKKwkJYnVmZmVyW25iY2hhcnMrK10gPSAnJic7CisJCWlmIChuYmNoYXJzICsgaSArIFhNTF9QQVJTRVJfQlVGRkVSX1NJWkUgPiBidWZmZXJfc2l6ZSkgeworCQkgICAgZ3Jvd0J1ZmZlcihidWZmZXIsIGkgKyBYTUxfUEFSU0VSX0JVRkZFUl9TSVpFKTsKKwkJfQorCQlmb3IgKDtpID4gMDtpLS0pCisJCSAgICBidWZmZXJbbmJjaGFycysrXSA9ICpjdXIrKzsKKwkJYnVmZmVyW25iY2hhcnMrK10gPSAnOyc7CisJICAgIH0KKwl9IGVsc2UgaWYgKGMgPT0gJyUnICYmICh3aGF0ICYgWE1MX1NVQlNUSVRVVEVfUEVSRUYpKSB7CisJICAgIGlmICh4bWxQYXJzZXJEZWJ1Z0VudGl0aWVzKQorCQl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJCSJTdHJpbmcgZGVjb2RpbmcgUEUgUmVmZXJlbmNlOiAlLjMwc1xuIiwgc3RyKTsKKwkgICAgZW50ID0geG1sUGFyc2VTdHJpbmdQRVJlZmVyZW5jZShjdHh0LCAmc3RyKTsKKwkgICAgaWYgKGN0eHQtPmxhc3RFcnJvci5jb2RlID09IFhNTF9FUlJfRU5USVRZX0xPT1ApCisJICAgICAgICBnb3RvIGludF9lcnJvcjsKKwkgICAgeG1sUGFyc2VyRW50aXR5Q2hlY2soY3R4dCwgMCwgZW50LCAwKTsKKwkgICAgaWYgKGVudCAhPSBOVUxMKQorCSAgICAgICAgY3R4dC0+bmJlbnRpdGllcyArPSBlbnQtPmNoZWNrZWQgLyAyOworCSAgICBpZiAoZW50ICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICBpZiAoZW50LT5jb250ZW50ID09IE5VTEwpIHsKKwkJICAgIHhtbExvYWRFbnRpdHlDb250ZW50KGN0eHQsIGVudCk7CisJCX0KKwkJY3R4dC0+ZGVwdGgrKzsKKwkJcmVwID0geG1sU3RyaW5nRGVjb2RlRW50aXRpZXMoY3R4dCwgZW50LT5jb250ZW50LCB3aGF0LAorCQkJICAgICAgICAgICAgICAgICAgICAgIDAsIDAsIDApOworCQljdHh0LT5kZXB0aC0tOworCQlpZiAocmVwICE9IE5VTEwpIHsKKwkJICAgIGN1cnJlbnQgPSByZXA7CisJCSAgICB3aGlsZSAoKmN1cnJlbnQgIT0gMCkgeyAvKiBub24gaW5wdXQgY29uc3VtaW5nIGxvb3AgKi8KKwkJCWJ1ZmZlcltuYmNoYXJzKytdID0gKmN1cnJlbnQrKzsKKwkJCWlmIChuYmNoYXJzICsgWE1MX1BBUlNFUl9CVUZGRVJfU0laRSA+IGJ1ZmZlcl9zaXplKSB7CisJCQkgICAgaWYgKHhtbFBhcnNlckVudGl0eUNoZWNrKGN0eHQsIG5iY2hhcnMsIGVudCwgMCkpCisJCQkgICAgICAgIGdvdG8gaW50X2Vycm9yOworCQkJICAgIGdyb3dCdWZmZXIoYnVmZmVyLCBYTUxfUEFSU0VSX0JVRkZFUl9TSVpFKTsKKwkJCX0KKwkJICAgIH0KKwkJICAgIHhtbEZyZWUocmVwKTsKKwkJICAgIHJlcCA9IE5VTEw7CisJCX0KKwkgICAgfQorCX0gZWxzZSB7CisJICAgIENPUFlfQlVGKGwsYnVmZmVyLG5iY2hhcnMsYyk7CisJICAgIHN0ciArPSBsOworCSAgICBpZiAobmJjaGFycyArIFhNTF9QQVJTRVJfQlVGRkVSX1NJWkUgPiBidWZmZXJfc2l6ZSkgeworCSAgICAgICAgZ3Jvd0J1ZmZlcihidWZmZXIsIFhNTF9QQVJTRVJfQlVGRkVSX1NJWkUpOworCSAgICB9CisJfQorCWlmIChzdHIgPCBsYXN0KQorCSAgICBjID0gQ1VSX1NDSEFSKHN0ciwgbCk7CisJZWxzZQorCSAgICBjID0gMDsKKyAgICB9CisgICAgYnVmZmVyW25iY2hhcnNdID0gMDsKKyAgICByZXR1cm4oYnVmZmVyKTsKKworbWVtX2Vycm9yOgorICAgIHhtbEVyck1lbW9yeShjdHh0LCBOVUxMKTsKK2ludF9lcnJvcjoKKyAgICBpZiAocmVwICE9IE5VTEwpCisgICAgICAgIHhtbEZyZWUocmVwKTsKKyAgICBpZiAoYnVmZmVyICE9IE5VTEwpCisgICAgICAgIHhtbEZyZWUoYnVmZmVyKTsKKyAgICByZXR1cm4oTlVMTCk7Cit9CisKKy8qKgorICogeG1sU3RyaW5nRGVjb2RlRW50aXRpZXM6CisgKiBAY3R4dDogIHRoZSBwYXJzZXIgY29udGV4dAorICogQHN0cjogIHRoZSBpbnB1dCBzdHJpbmcKKyAqIEB3aGF0OiAgY29tYmluYXRpb24gb2YgWE1MX1NVQlNUSVRVVEVfUkVGIGFuZCBYTUxfU1VCU1RJVFVURV9QRVJFRgorICogQGVuZDogIGFuIGVuZCBtYXJrZXIgeG1sQ2hhciwgMCBpZiBub25lCisgKiBAZW5kMjogIGFuIGVuZCBtYXJrZXIgeG1sQ2hhciwgMCBpZiBub25lCisgKiBAZW5kMzogIGFuIGVuZCBtYXJrZXIgeG1sQ2hhciwgMCBpZiBub25lCisgKgorICogVGFrZXMgYSBlbnRpdHkgc3RyaW5nIGNvbnRlbnQgYW5kIHByb2Nlc3MgdG8gZG8gdGhlIGFkZXF1YXRlIHN1YnN0aXR1dGlvbnMuCisgKgorICogWzY3XSBSZWZlcmVuY2UgOjo9IEVudGl0eVJlZiB8IENoYXJSZWYKKyAqCisgKiBbNjldIFBFUmVmZXJlbmNlIDo6PSAnJScgTmFtZSAnOycKKyAqCisgKiBSZXR1cm5zIEEgbmV3bHkgYWxsb2NhdGVkIHN0cmluZyB3aXRoIHRoZSBzdWJzdGl0dXRpb24gZG9uZS4gVGhlIGNhbGxlcgorICogICAgICBtdXN0IGRlYWxsb2NhdGUgaXQgIQorICovCit4bWxDaGFyICoKK3htbFN0cmluZ0RlY29kZUVudGl0aWVzKHhtbFBhcnNlckN0eHRQdHIgY3R4dCwgY29uc3QgeG1sQ2hhciAqc3RyLCBpbnQgd2hhdCwKKwkJICAgICAgICB4bWxDaGFyIGVuZCwgeG1sQ2hhciAgZW5kMiwgeG1sQ2hhciBlbmQzKSB7CisgICAgaWYgKChjdHh0ID09IE5VTEwpIHx8IChzdHIgPT0gTlVMTCkpIHJldHVybihOVUxMKTsKKyAgICByZXR1cm4oeG1sU3RyaW5nTGVuRGVjb2RlRW50aXRpZXMoY3R4dCwgc3RyLCB4bWxTdHJsZW4oc3RyKSwgd2hhdCwKKyAgICAgICAgICAgZW5kLCBlbmQyLCBlbmQzKSk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCUNvbW1vZGl0eSBmdW5jdGlvbnMsIGNsZWFudXAgbmVlZGVkID8JCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKgorICogYXJlQmxhbmtzOgorICogQGN0eHQ6ICBhbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBzdHI6ICBhIHhtbENoYXIgKgorICogQGxlbjogIHRoZSBzaXplIG9mIEBzdHIKKyAqIEBibGFua19jaGFyczogd2Uga25vdyB0aGUgY2hhcnMgYXJlIGJsYW5rcworICoKKyAqIElzIHRoaXMgYSBzZXF1ZW5jZSBvZiBibGFuayBjaGFycyB0aGF0IG9uZSBjYW4gaWdub3JlID8KKyAqCisgKiBSZXR1cm5zIDEgaWYgaWdub3JhYmxlIDAgb3RoZXJ3aXNlLgorICovCisKK3N0YXRpYyBpbnQgYXJlQmxhbmtzKHhtbFBhcnNlckN0eHRQdHIgY3R4dCwgY29uc3QgeG1sQ2hhciAqc3RyLCBpbnQgbGVuLAorICAgICAgICAgICAgICAgICAgICAgaW50IGJsYW5rX2NoYXJzKSB7CisgICAgaW50IGksIHJldDsKKyAgICB4bWxOb2RlUHRyIGxhc3RDaGlsZDsKKworICAgIC8qCisgICAgICogRG9uJ3Qgc3BlbmQgdGltZSB0cnlpbmcgdG8gZGlmZmVyZW50aWF0ZSB0aGVtLCB0aGUgc2FtZSBjYWxsYmFjayBpcworICAgICAqIHVzZWQgIQorICAgICAqLworICAgIGlmIChjdHh0LT5zYXgtPmlnbm9yYWJsZVdoaXRlc3BhY2UgPT0gY3R4dC0+c2F4LT5jaGFyYWN0ZXJzKQorCXJldHVybigwKTsKKworICAgIC8qCisgICAgICogQ2hlY2sgZm9yIHhtbDpzcGFjZSB2YWx1ZS4KKyAgICAgKi8KKyAgICBpZiAoKGN0eHQtPnNwYWNlID09IE5VTEwpIHx8ICgqKGN0eHQtPnNwYWNlKSA9PSAxKSB8fAorICAgICAgICAoKihjdHh0LT5zcGFjZSkgPT0gLTIpKQorCXJldHVybigwKTsKKworICAgIC8qCisgICAgICogQ2hlY2sgdGhhdCB0aGUgc3RyaW5nIGlzIG1hZGUgb2YgYmxhbmtzCisgICAgICovCisgICAgaWYgKGJsYW5rX2NoYXJzID09IDApIHsKKwlmb3IgKGkgPSAwO2kgPCBsZW47aSsrKQorCSAgICBpZiAoIShJU19CTEFOS19DSChzdHJbaV0pKSkgcmV0dXJuKDApOworICAgIH0KKworICAgIC8qCisgICAgICogTG9vayBpZiB0aGUgZWxlbWVudCBpcyBtaXhlZCBjb250ZW50IGluIHRoZSBEVEQgaWYgYXZhaWxhYmxlCisgICAgICovCisgICAgaWYgKGN0eHQtPm5vZGUgPT0gTlVMTCkgcmV0dXJuKDApOworICAgIGlmIChjdHh0LT5teURvYyAhPSBOVUxMKSB7CisJcmV0ID0geG1sSXNNaXhlZEVsZW1lbnQoY3R4dC0+bXlEb2MsIGN0eHQtPm5vZGUtPm5hbWUpOworICAgICAgICBpZiAocmV0ID09IDApIHJldHVybigxKTsKKyAgICAgICAgaWYgKHJldCA9PSAxKSByZXR1cm4oMCk7CisgICAgfQorCisgICAgLyoKKyAgICAgKiBPdGhlcndpc2UsIGhldXJpc3RpYyA6LVwKKyAgICAgKi8KKyAgICBpZiAoKFJBVyAhPSAnPCcpICYmIChSQVcgIT0gMHhEKSkgcmV0dXJuKDApOworICAgIGlmICgoY3R4dC0+bm9kZS0+Y2hpbGRyZW4gPT0gTlVMTCkgJiYKKwkoUkFXID09ICc8JykgJiYgKE5YVCgxKSA9PSAnLycpKSByZXR1cm4oMCk7CisKKyAgICBsYXN0Q2hpbGQgPSB4bWxHZXRMYXN0Q2hpbGQoY3R4dC0+bm9kZSk7CisgICAgaWYgKGxhc3RDaGlsZCA9PSBOVUxMKSB7CisgICAgICAgIGlmICgoY3R4dC0+bm9kZS0+dHlwZSAhPSBYTUxfRUxFTUVOVF9OT0RFKSAmJgorICAgICAgICAgICAgKGN0eHQtPm5vZGUtPmNvbnRlbnQgIT0gTlVMTCkpIHJldHVybigwKTsKKyAgICB9IGVsc2UgaWYgKHhtbE5vZGVJc1RleHQobGFzdENoaWxkKSkKKyAgICAgICAgcmV0dXJuKDApOworICAgIGVsc2UgaWYgKChjdHh0LT5ub2RlLT5jaGlsZHJlbiAhPSBOVUxMKSAmJgorICAgICAgICAgICAgICh4bWxOb2RlSXNUZXh0KGN0eHQtPm5vZGUtPmNoaWxkcmVuKSkpCisgICAgICAgIHJldHVybigwKTsKKyAgICByZXR1cm4oMSk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCUV4dHJhIHN0dWZmIGZvciBuYW1lc3BhY2Ugc3VwcG9ydAkJCSoKKyAqCVJlbGF0ZXMgdG8gaHR0cDovL3d3dy53My5vcmcvVFIvV0QteG1sLW5hbWVzCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioKKyAqIHhtbFNwbGl0UU5hbWU6CisgKiBAY3R4dDogIGFuIFhNTCBwYXJzZXIgY29udGV4dAorICogQG5hbWU6ICBhbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBwcmVmaXg6ICBhIHhtbENoYXIgKioKKyAqCisgKiBwYXJzZSBhbiBVVEY4IGVuY29kZWQgWE1MIHF1YWxpZmllZCBuYW1lIHN0cmluZworICoKKyAqIFtOUyA1XSBRTmFtZSA6Oj0gKFByZWZpeCAnOicpPyBMb2NhbFBhcnQKKyAqCisgKiBbTlMgNl0gUHJlZml4IDo6PSBOQ05hbWUKKyAqCisgKiBbTlMgN10gTG9jYWxQYXJ0IDo6PSBOQ05hbWUKKyAqCisgKiBSZXR1cm5zIHRoZSBsb2NhbCBwYXJ0LCBhbmQgcHJlZml4IGlzIHVwZGF0ZWQKKyAqICAgdG8gZ2V0IHRoZSBQcmVmaXggaWYgYW55LgorICovCisKK3htbENoYXIgKgoreG1sU3BsaXRRTmFtZSh4bWxQYXJzZXJDdHh0UHRyIGN0eHQsIGNvbnN0IHhtbENoYXIgKm5hbWUsIHhtbENoYXIgKipwcmVmaXgpIHsKKyAgICB4bWxDaGFyIGJ1ZltYTUxfTUFYX05BTUVMRU4gKyA1XTsKKyAgICB4bWxDaGFyICpidWZmZXIgPSBOVUxMOworICAgIGludCBsZW4gPSAwOworICAgIGludCBtYXggPSBYTUxfTUFYX05BTUVMRU47CisgICAgeG1sQ2hhciAqcmV0ID0gTlVMTDsKKyAgICBjb25zdCB4bWxDaGFyICpjdXIgPSBuYW1lOworICAgIGludCBjOworCisgICAgaWYgKHByZWZpeCA9PSBOVUxMKSByZXR1cm4oTlVMTCk7CisgICAgKnByZWZpeCA9IE5VTEw7CisKKyAgICBpZiAoY3VyID09IE5VTEwpIHJldHVybihOVUxMKTsKKworI2lmbmRlZiBYTUxfWE1MX05BTUVTUEFDRQorICAgIC8qIHhtbDogcHJlZml4IGlzIG5vdCByZWFsbHkgYSBuYW1lc3BhY2UgKi8KKyAgICBpZiAoKGN1clswXSA9PSAneCcpICYmIChjdXJbMV0gPT0gJ20nKSAmJgorICAgICAgICAoY3VyWzJdID09ICdsJykgJiYgKGN1clszXSA9PSAnOicpKQorCXJldHVybih4bWxTdHJkdXAobmFtZSkpOworI2VuZGlmCisKKyAgICAvKiBuYXN0eSBidXQgd2VsbD1mb3JtZWQgKi8KKyAgICBpZiAoY3VyWzBdID09ICc6JykKKwlyZXR1cm4oeG1sU3RyZHVwKG5hbWUpKTsKKworICAgIGMgPSAqY3VyKys7CisgICAgd2hpbGUgKChjICE9IDApICYmIChjICE9ICc6JykgJiYgKGxlbiA8IG1heCkpIHsgLyogdGVzdGVkIGJpZ25hbWUueG1sICovCisJYnVmW2xlbisrXSA9IGM7CisJYyA9ICpjdXIrKzsKKyAgICB9CisgICAgaWYgKGxlbiA+PSBtYXgpIHsKKwkvKgorCSAqIE9rYXkgc29tZW9uZSBtYW5hZ2VkIHRvIG1ha2UgYSBodWdlIG5hbWUsIHNvIGhlJ3MgcmVhZHkgdG8gcGF5CisJICogZm9yIHRoZSBwcm9jZXNzaW5nIHNwZWVkLgorCSAqLworCW1heCA9IGxlbiAqIDI7CisKKwlidWZmZXIgPSAoeG1sQ2hhciAqKSB4bWxNYWxsb2NBdG9taWMobWF4ICogc2l6ZW9mKHhtbENoYXIpKTsKKwlpZiAoYnVmZmVyID09IE5VTEwpIHsKKwkgICAgeG1sRXJyTWVtb3J5KGN0eHQsIE5VTEwpOworCSAgICByZXR1cm4oTlVMTCk7CisJfQorCW1lbWNweShidWZmZXIsIGJ1ZiwgbGVuKTsKKwl3aGlsZSAoKGMgIT0gMCkgJiYgKGMgIT0gJzonKSkgeyAvKiB0ZXN0ZWQgYmlnbmFtZS54bWwgKi8KKwkgICAgaWYgKGxlbiArIDEwID4gbWF4KSB7CisJICAgICAgICB4bWxDaGFyICp0bXA7CisKKwkJbWF4ICo9IDI7CisJCXRtcCA9ICh4bWxDaGFyICopIHhtbFJlYWxsb2MoYnVmZmVyLAorCQkJCQkJbWF4ICogc2l6ZW9mKHhtbENoYXIpKTsKKwkJaWYgKHRtcCA9PSBOVUxMKSB7CisJCSAgICB4bWxGcmVlKGJ1ZmZlcik7CisJCSAgICB4bWxFcnJNZW1vcnkoY3R4dCwgTlVMTCk7CisJCSAgICByZXR1cm4oTlVMTCk7CisJCX0KKwkJYnVmZmVyID0gdG1wOworCSAgICB9CisJICAgIGJ1ZmZlcltsZW4rK10gPSBjOworCSAgICBjID0gKmN1cisrOworCX0KKwlidWZmZXJbbGVuXSA9IDA7CisgICAgfQorCisgICAgaWYgKChjID09ICc6JykgJiYgKCpjdXIgPT0gMCkpIHsKKyAgICAgICAgaWYgKGJ1ZmZlciAhPSBOVUxMKQorCSAgICB4bWxGcmVlKGJ1ZmZlcik7CisJKnByZWZpeCA9IE5VTEw7CisJcmV0dXJuKHhtbFN0cmR1cChuYW1lKSk7CisgICAgfQorCisgICAgaWYgKGJ1ZmZlciA9PSBOVUxMKQorCXJldCA9IHhtbFN0cm5kdXAoYnVmLCBsZW4pOworICAgIGVsc2UgeworCXJldCA9IGJ1ZmZlcjsKKwlidWZmZXIgPSBOVUxMOworCW1heCA9IFhNTF9NQVhfTkFNRUxFTjsKKyAgICB9CisKKworICAgIGlmIChjID09ICc6JykgeworCWMgPSAqY3VyOworICAgICAgICAqcHJlZml4ID0gcmV0OworCWlmIChjID09IDApIHsKKwkgICAgcmV0dXJuKHhtbFN0cm5kdXAoQkFEX0NBU1QgIiIsIDApKTsKKwl9CisJbGVuID0gMDsKKworCS8qCisJICogQ2hlY2sgdGhhdCB0aGUgZmlyc3QgY2hhcmFjdGVyIGlzIHByb3BlciB0byBzdGFydAorCSAqIGEgbmV3IG5hbWUKKwkgKi8KKwlpZiAoISgoKGMgPj0gMHg2MSkgJiYgKGMgPD0gMHg3QSkpIHx8CisJICAgICAgKChjID49IDB4NDEpICYmIChjIDw9IDB4NUEpKSB8fAorCSAgICAgIChjID09ICdfJykgfHwgKGMgPT0gJzonKSkpIHsKKwkgICAgaW50IGw7CisJICAgIGludCBmaXJzdCA9IENVUl9TQ0hBUihjdXIsIGwpOworCisJICAgIGlmICghSVNfTEVUVEVSKGZpcnN0KSAmJiAoZmlyc3QgIT0gJ18nKSkgeworCQl4bWxGYXRhbEVyck1zZ1N0cihjdHh0LCBYTUxfTlNfRVJSX1FOQU1FLAorCQkJICAgICJOYW1lICVzIGlzIG5vdCBYTUwgTmFtZXNwYWNlIGNvbXBsaWFudFxuIiwKKwkJCQkgIG5hbWUpOworCSAgICB9CisJfQorCWN1cisrOworCisJd2hpbGUgKChjICE9IDApICYmIChsZW4gPCBtYXgpKSB7IC8qIHRlc3RlZCBiaWduYW1lMi54bWwgKi8KKwkgICAgYnVmW2xlbisrXSA9IGM7CisJICAgIGMgPSAqY3VyKys7CisJfQorCWlmIChsZW4gPj0gbWF4KSB7CisJICAgIC8qCisJICAgICAqIE9rYXkgc29tZW9uZSBtYW5hZ2VkIHRvIG1ha2UgYSBodWdlIG5hbWUsIHNvIGhlJ3MgcmVhZHkgdG8gcGF5CisJICAgICAqIGZvciB0aGUgcHJvY2Vzc2luZyBzcGVlZC4KKwkgICAgICovCisJICAgIG1heCA9IGxlbiAqIDI7CisKKwkgICAgYnVmZmVyID0gKHhtbENoYXIgKikgeG1sTWFsbG9jQXRvbWljKG1heCAqIHNpemVvZih4bWxDaGFyKSk7CisJICAgIGlmIChidWZmZXIgPT0gTlVMTCkgeworCSAgICAgICAgeG1sRXJyTWVtb3J5KGN0eHQsIE5VTEwpOworCQlyZXR1cm4oTlVMTCk7CisJICAgIH0KKwkgICAgbWVtY3B5KGJ1ZmZlciwgYnVmLCBsZW4pOworCSAgICB3aGlsZSAoYyAhPSAwKSB7IC8qIHRlc3RlZCBiaWduYW1lMi54bWwgKi8KKwkJaWYgKGxlbiArIDEwID4gbWF4KSB7CisJCSAgICB4bWxDaGFyICp0bXA7CisKKwkJICAgIG1heCAqPSAyOworCQkgICAgdG1wID0gKHhtbENoYXIgKikgeG1sUmVhbGxvYyhidWZmZXIsCisJCQkJCQkgICAgbWF4ICogc2l6ZW9mKHhtbENoYXIpKTsKKwkJICAgIGlmICh0bXAgPT0gTlVMTCkgeworCQkJeG1sRXJyTWVtb3J5KGN0eHQsIE5VTEwpOworCQkJeG1sRnJlZShidWZmZXIpOworCQkJcmV0dXJuKE5VTEwpOworCQkgICAgfQorCQkgICAgYnVmZmVyID0gdG1wOworCQl9CisJCWJ1ZmZlcltsZW4rK10gPSBjOworCQljID0gKmN1cisrOworCSAgICB9CisJICAgIGJ1ZmZlcltsZW5dID0gMDsKKwl9CisKKwlpZiAoYnVmZmVyID09IE5VTEwpCisJICAgIHJldCA9IHhtbFN0cm5kdXAoYnVmLCBsZW4pOworCWVsc2UgeworCSAgICByZXQgPSBidWZmZXI7CisJfQorICAgIH0KKworICAgIHJldHVybihyZXQpOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQkJVGhlIHBhcnNlciBpdHNlbGYJCQkJKgorICoJUmVsYXRlcyB0byBodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMteG1sCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKglSb3V0aW5lcyB0byBwYXJzZSBOYW1lLCBOQ05hbWUgYW5kIE5tVG9rZW4JCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZkZWYgREVCVUcKK3N0YXRpYyB1bnNpZ25lZCBsb25nIG5iUGFyc2VOYW1lID0gMDsKK3N0YXRpYyB1bnNpZ25lZCBsb25nIG5iUGFyc2VObVRva2VuID0gMDsKK3N0YXRpYyB1bnNpZ25lZCBsb25nIG5iUGFyc2VOQ05hbWUgPSAwOworc3RhdGljIHVuc2lnbmVkIGxvbmcgbmJQYXJzZU5DTmFtZUNvbXBsZXggPSAwOworc3RhdGljIHVuc2lnbmVkIGxvbmcgbmJQYXJzZU5hbWVDb21wbGV4ID0gMDsKK3N0YXRpYyB1bnNpZ25lZCBsb25nIG5iUGFyc2VTdHJpbmdOYW1lID0gMDsKKyNlbmRpZgorCisvKgorICogVGhlIHR3byBmb2xsb3dpbmcgZnVuY3Rpb25zIGFyZSByZWxhdGVkIHRvIHRoZSBjaGFuZ2Ugb2YgYWNjZXB0ZWQKKyAqIGNoYXJhY3RlcnMgZm9yIE5hbWUgYW5kIE5tVG9rZW4gaW4gdGhlIFJldmlzaW9uIDUgb2YgWE1MLTEuMAorICogVGhleSBjb3JyZXNwb25kIHRvIHRoZSBtb2RpZmllZCBwcm9kdWN0aW9uIFs0XSBhbmQgdGhlIG5ldyBwcm9kdWN0aW9uIFs0YV0KKyAqIGNoYW5nZXMgaW4gdGhhdCByZXZpc2lvbi4gQWxzbyBub3RlIHRoYXQgdGhlIG1hY3JvcyB1c2VkIGZvciB0aGUKKyAqIHByb2R1Y3Rpb25zIExldHRlciwgRGlnaXQsIENvbWJpbmluZ0NoYXIgYW5kIEV4dGVuZGVyIGFyZSBub3QgbmVlZGVkCisgKiBhbnltb3JlLgorICogV2Ugc3RpbGwga2VlcCBjb21wYXRpYmlsaXR5IHRvIHByZS1yZXZpc2lvbjUgcGFyc2luZyBzZW1hbnRpYyBpZiB0aGUKKyAqIG5ldyBYTUxfUEFSU0VfT0xEMTAgb3B0aW9uIGlzIGdpdmVuIHRvIHRoZSBwYXJzZXIuCisgKi8KK3N0YXRpYyBpbnQKK3htbElzTmFtZVN0YXJ0Q2hhcih4bWxQYXJzZXJDdHh0UHRyIGN0eHQsIGludCBjKSB7CisgICAgaWYgKChjdHh0LT5vcHRpb25zICYgWE1MX1BBUlNFX09MRDEwKSA9PSAwKSB7CisgICAgICAgIC8qCisJICogVXNlIHRoZSBuZXcgY2hlY2tzIG9mIHByb2R1Y3Rpb24gWzRdIFs0YV0gYW1kIFs1XSBvZiB0aGUKKwkgKiBVcGRhdGUgNSBvZiBYTUwtMS4wCisJICovCisJaWYgKChjICE9ICcgJykgJiYgKGMgIT0gJz4nKSAmJiAoYyAhPSAnLycpICYmIC8qIGFjY2VsZXJhdG9ycyAqLworCSAgICAoKChjID49ICdhJykgJiYgKGMgPD0gJ3onKSkgfHwKKwkgICAgICgoYyA+PSAnQScpICYmIChjIDw9ICdaJykpIHx8CisJICAgICAoYyA9PSAnXycpIHx8IChjID09ICc6JykgfHwKKwkgICAgICgoYyA+PSAweEMwKSAmJiAoYyA8PSAweEQ2KSkgfHwKKwkgICAgICgoYyA+PSAweEQ4KSAmJiAoYyA8PSAweEY2KSkgfHwKKwkgICAgICgoYyA+PSAweEY4KSAmJiAoYyA8PSAweDJGRikpIHx8CisJICAgICAoKGMgPj0gMHgzNzApICYmIChjIDw9IDB4MzdEKSkgfHwKKwkgICAgICgoYyA+PSAweDM3RikgJiYgKGMgPD0gMHgxRkZGKSkgfHwKKwkgICAgICgoYyA+PSAweDIwMEMpICYmIChjIDw9IDB4MjAwRCkpIHx8CisJICAgICAoKGMgPj0gMHgyMDcwKSAmJiAoYyA8PSAweDIxOEYpKSB8fAorCSAgICAgKChjID49IDB4MkMwMCkgJiYgKGMgPD0gMHgyRkVGKSkgfHwKKwkgICAgICgoYyA+PSAweDMwMDEpICYmIChjIDw9IDB4RDdGRikpIHx8CisJICAgICAoKGMgPj0gMHhGOTAwKSAmJiAoYyA8PSAweEZEQ0YpKSB8fAorCSAgICAgKChjID49IDB4RkRGMCkgJiYgKGMgPD0gMHhGRkZEKSkgfHwKKwkgICAgICgoYyA+PSAweDEwMDAwKSAmJiAoYyA8PSAweEVGRkZGKSkpKQorCSAgICByZXR1cm4oMSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgaWYgKElTX0xFVFRFUihjKSB8fCAoYyA9PSAnXycpIHx8IChjID09ICc6JykpCisJICAgIHJldHVybigxKTsKKyAgICB9CisgICAgcmV0dXJuKDApOworfQorCitzdGF0aWMgaW50Cit4bWxJc05hbWVDaGFyKHhtbFBhcnNlckN0eHRQdHIgY3R4dCwgaW50IGMpIHsKKyAgICBpZiAoKGN0eHQtPm9wdGlvbnMgJiBYTUxfUEFSU0VfT0xEMTApID09IDApIHsKKyAgICAgICAgLyoKKwkgKiBVc2UgdGhlIG5ldyBjaGVja3Mgb2YgcHJvZHVjdGlvbiBbNF0gWzRhXSBhbWQgWzVdIG9mIHRoZQorCSAqIFVwZGF0ZSA1IG9mIFhNTC0xLjAKKwkgKi8KKwlpZiAoKGMgIT0gJyAnKSAmJiAoYyAhPSAnPicpICYmIChjICE9ICcvJykgJiYgLyogYWNjZWxlcmF0b3JzICovCisJICAgICgoKGMgPj0gJ2EnKSAmJiAoYyA8PSAneicpKSB8fAorCSAgICAgKChjID49ICdBJykgJiYgKGMgPD0gJ1onKSkgfHwKKwkgICAgICgoYyA+PSAnMCcpICYmIChjIDw9ICc5JykpIHx8IC8qICFzdGFydCAqLworCSAgICAgKGMgPT0gJ18nKSB8fCAoYyA9PSAnOicpIHx8CisJICAgICAoYyA9PSAnLScpIHx8IChjID09ICcuJykgfHwgKGMgPT0gMHhCNykgfHwgLyogIXN0YXJ0ICovCisJICAgICAoKGMgPj0gMHhDMCkgJiYgKGMgPD0gMHhENikpIHx8CisJICAgICAoKGMgPj0gMHhEOCkgJiYgKGMgPD0gMHhGNikpIHx8CisJICAgICAoKGMgPj0gMHhGOCkgJiYgKGMgPD0gMHgyRkYpKSB8fAorCSAgICAgKChjID49IDB4MzAwKSAmJiAoYyA8PSAweDM2RikpIHx8IC8qICFzdGFydCAqLworCSAgICAgKChjID49IDB4MzcwKSAmJiAoYyA8PSAweDM3RCkpIHx8CisJICAgICAoKGMgPj0gMHgzN0YpICYmIChjIDw9IDB4MUZGRikpIHx8CisJICAgICAoKGMgPj0gMHgyMDBDKSAmJiAoYyA8PSAweDIwMEQpKSB8fAorCSAgICAgKChjID49IDB4MjAzRikgJiYgKGMgPD0gMHgyMDQwKSkgfHwgLyogIXN0YXJ0ICovCisJICAgICAoKGMgPj0gMHgyMDcwKSAmJiAoYyA8PSAweDIxOEYpKSB8fAorCSAgICAgKChjID49IDB4MkMwMCkgJiYgKGMgPD0gMHgyRkVGKSkgfHwKKwkgICAgICgoYyA+PSAweDMwMDEpICYmIChjIDw9IDB4RDdGRikpIHx8CisJICAgICAoKGMgPj0gMHhGOTAwKSAmJiAoYyA8PSAweEZEQ0YpKSB8fAorCSAgICAgKChjID49IDB4RkRGMCkgJiYgKGMgPD0gMHhGRkZEKSkgfHwKKwkgICAgICgoYyA+PSAweDEwMDAwKSAmJiAoYyA8PSAweEVGRkZGKSkpKQorCSAgICAgcmV0dXJuKDEpOworICAgIH0gZWxzZSB7CisgICAgICAgIGlmICgoSVNfTEVUVEVSKGMpKSB8fCAoSVNfRElHSVQoYykpIHx8CisgICAgICAgICAgICAoYyA9PSAnLicpIHx8IChjID09ICctJykgfHwKKwkgICAgKGMgPT0gJ18nKSB8fCAoYyA9PSAnOicpIHx8CisJICAgIChJU19DT01CSU5JTkcoYykpIHx8CisJICAgIChJU19FWFRFTkRFUihjKSkpCisJICAgIHJldHVybigxKTsKKyAgICB9CisgICAgcmV0dXJuKDApOworfQorCitzdGF0aWMgeG1sQ2hhciAqIHhtbFBhcnNlQXR0VmFsdWVJbnRlcm5hbCh4bWxQYXJzZXJDdHh0UHRyIGN0eHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgKmxlbiwgaW50ICphbGxvYywgaW50IG5vcm1hbGl6ZSk7CisKK3N0YXRpYyBjb25zdCB4bWxDaGFyICoKK3htbFBhcnNlTmFtZUNvbXBsZXgoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0KSB7CisgICAgaW50IGxlbiA9IDAsIGw7CisgICAgaW50IGM7CisgICAgaW50IGNvdW50ID0gMDsKKworI2lmZGVmIERFQlVHCisgICAgbmJQYXJzZU5hbWVDb21wbGV4Kys7CisjZW5kaWYKKworICAgIC8qCisgICAgICogSGFuZGxlciBmb3IgbW9yZSBjb21wbGV4IGNhc2VzCisgICAgICovCisgICAgR1JPVzsKKyAgICBpZiAoY3R4dC0+aW5zdGF0ZSA9PSBYTUxfUEFSU0VSX0VPRikKKyAgICAgICAgcmV0dXJuKE5VTEwpOworICAgIGMgPSBDVVJfQ0hBUihsKTsKKyAgICBpZiAoKGN0eHQtPm9wdGlvbnMgJiBYTUxfUEFSU0VfT0xEMTApID09IDApIHsKKyAgICAgICAgLyoKKwkgKiBVc2UgdGhlIG5ldyBjaGVja3Mgb2YgcHJvZHVjdGlvbiBbNF0gWzRhXSBhbWQgWzVdIG9mIHRoZQorCSAqIFVwZGF0ZSA1IG9mIFhNTC0xLjAKKwkgKi8KKwlpZiAoKGMgPT0gJyAnKSB8fCAoYyA9PSAnPicpIHx8IChjID09ICcvJykgfHwgLyogYWNjZWxlcmF0b3JzICovCisJICAgICghKCgoYyA+PSAnYScpICYmIChjIDw9ICd6JykpIHx8CisJICAgICAgICgoYyA+PSAnQScpICYmIChjIDw9ICdaJykpIHx8CisJICAgICAgIChjID09ICdfJykgfHwgKGMgPT0gJzonKSB8fAorCSAgICAgICAoKGMgPj0gMHhDMCkgJiYgKGMgPD0gMHhENikpIHx8CisJICAgICAgICgoYyA+PSAweEQ4KSAmJiAoYyA8PSAweEY2KSkgfHwKKwkgICAgICAgKChjID49IDB4RjgpICYmIChjIDw9IDB4MkZGKSkgfHwKKwkgICAgICAgKChjID49IDB4MzcwKSAmJiAoYyA8PSAweDM3RCkpIHx8CisJICAgICAgICgoYyA+PSAweDM3RikgJiYgKGMgPD0gMHgxRkZGKSkgfHwKKwkgICAgICAgKChjID49IDB4MjAwQykgJiYgKGMgPD0gMHgyMDBEKSkgfHwKKwkgICAgICAgKChjID49IDB4MjA3MCkgJiYgKGMgPD0gMHgyMThGKSkgfHwKKwkgICAgICAgKChjID49IDB4MkMwMCkgJiYgKGMgPD0gMHgyRkVGKSkgfHwKKwkgICAgICAgKChjID49IDB4MzAwMSkgJiYgKGMgPD0gMHhEN0ZGKSkgfHwKKwkgICAgICAgKChjID49IDB4RjkwMCkgJiYgKGMgPD0gMHhGRENGKSkgfHwKKwkgICAgICAgKChjID49IDB4RkRGMCkgJiYgKGMgPD0gMHhGRkZEKSkgfHwKKwkgICAgICAgKChjID49IDB4MTAwMDApICYmIChjIDw9IDB4RUZGRkYpKSkpKSB7CisJICAgIHJldHVybihOVUxMKTsKKwl9CisJbGVuICs9IGw7CisJTkVYVEwobCk7CisJYyA9IENVUl9DSEFSKGwpOworCXdoaWxlICgoYyAhPSAnICcpICYmIChjICE9ICc+JykgJiYgKGMgIT0gJy8nKSAmJiAvKiBhY2NlbGVyYXRvcnMgKi8KKwkgICAgICAgKCgoYyA+PSAnYScpICYmIChjIDw9ICd6JykpIHx8CisJICAgICAgICAoKGMgPj0gJ0EnKSAmJiAoYyA8PSAnWicpKSB8fAorCSAgICAgICAgKChjID49ICcwJykgJiYgKGMgPD0gJzknKSkgfHwgLyogIXN0YXJ0ICovCisJICAgICAgICAoYyA9PSAnXycpIHx8IChjID09ICc6JykgfHwKKwkgICAgICAgIChjID09ICctJykgfHwgKGMgPT0gJy4nKSB8fCAoYyA9PSAweEI3KSB8fCAvKiAhc3RhcnQgKi8KKwkgICAgICAgICgoYyA+PSAweEMwKSAmJiAoYyA8PSAweEQ2KSkgfHwKKwkgICAgICAgICgoYyA+PSAweEQ4KSAmJiAoYyA8PSAweEY2KSkgfHwKKwkgICAgICAgICgoYyA+PSAweEY4KSAmJiAoYyA8PSAweDJGRikpIHx8CisJICAgICAgICAoKGMgPj0gMHgzMDApICYmIChjIDw9IDB4MzZGKSkgfHwgLyogIXN0YXJ0ICovCisJICAgICAgICAoKGMgPj0gMHgzNzApICYmIChjIDw9IDB4MzdEKSkgfHwKKwkgICAgICAgICgoYyA+PSAweDM3RikgJiYgKGMgPD0gMHgxRkZGKSkgfHwKKwkgICAgICAgICgoYyA+PSAweDIwMEMpICYmIChjIDw9IDB4MjAwRCkpIHx8CisJICAgICAgICAoKGMgPj0gMHgyMDNGKSAmJiAoYyA8PSAweDIwNDApKSB8fCAvKiAhc3RhcnQgKi8KKwkgICAgICAgICgoYyA+PSAweDIwNzApICYmIChjIDw9IDB4MjE4RikpIHx8CisJICAgICAgICAoKGMgPj0gMHgyQzAwKSAmJiAoYyA8PSAweDJGRUYpKSB8fAorCSAgICAgICAgKChjID49IDB4MzAwMSkgJiYgKGMgPD0gMHhEN0ZGKSkgfHwKKwkgICAgICAgICgoYyA+PSAweEY5MDApICYmIChjIDw9IDB4RkRDRikpIHx8CisJICAgICAgICAoKGMgPj0gMHhGREYwKSAmJiAoYyA8PSAweEZGRkQpKSB8fAorCSAgICAgICAgKChjID49IDB4MTAwMDApICYmIChjIDw9IDB4RUZGRkYpKQorCQkpKSB7CisJICAgIGlmIChjb3VudCsrID4gWE1MX1BBUlNFUl9DSFVOS19TSVpFKSB7CisJCWNvdW50ID0gMDsKKwkJR1JPVzsKKyAgICAgICAgICAgICAgICBpZiAoY3R4dC0+aW5zdGF0ZSA9PSBYTUxfUEFSU0VSX0VPRikKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuKE5VTEwpOworCSAgICB9CisJICAgIGxlbiArPSBsOworCSAgICBORVhUTChsKTsKKwkgICAgYyA9IENVUl9DSEFSKGwpOworCX0KKyAgICB9IGVsc2UgeworCWlmICgoYyA9PSAnICcpIHx8IChjID09ICc+JykgfHwgKGMgPT0gJy8nKSB8fCAvKiBhY2NlbGVyYXRvcnMgKi8KKwkgICAgKCFJU19MRVRURVIoYykgJiYgKGMgIT0gJ18nKSAmJgorCSAgICAgKGMgIT0gJzonKSkpIHsKKwkgICAgcmV0dXJuKE5VTEwpOworCX0KKwlsZW4gKz0gbDsKKwlORVhUTChsKTsKKwljID0gQ1VSX0NIQVIobCk7CisKKwl3aGlsZSAoKGMgIT0gJyAnKSAmJiAoYyAhPSAnPicpICYmIChjICE9ICcvJykgJiYgLyogdGVzdCBiaWduYW1lLnhtbCAqLworCSAgICAgICAoKElTX0xFVFRFUihjKSkgfHwgKElTX0RJR0lUKGMpKSB8fAorCQkoYyA9PSAnLicpIHx8IChjID09ICctJykgfHwKKwkJKGMgPT0gJ18nKSB8fCAoYyA9PSAnOicpIHx8CisJCShJU19DT01CSU5JTkcoYykpIHx8CisJCShJU19FWFRFTkRFUihjKSkpKSB7CisJICAgIGlmIChjb3VudCsrID4gWE1MX1BBUlNFUl9DSFVOS19TSVpFKSB7CisJCWNvdW50ID0gMDsKKwkJR1JPVzsKKyAgICAgICAgICAgICAgICBpZiAoY3R4dC0+aW5zdGF0ZSA9PSBYTUxfUEFSU0VSX0VPRikKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuKE5VTEwpOworCSAgICB9CisJICAgIGxlbiArPSBsOworCSAgICBORVhUTChsKTsKKwkgICAgYyA9IENVUl9DSEFSKGwpOworCSAgICBpZiAoYyA9PSAwKSB7CisJCWNvdW50ID0gMDsKKwkJR1JPVzsKKyAgICAgICAgICAgICAgICBpZiAoY3R4dC0+aW5zdGF0ZSA9PSBYTUxfUEFSU0VSX0VPRikKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuKE5VTEwpOworCQljID0gQ1VSX0NIQVIobCk7CisJICAgIH0KKwl9CisgICAgfQorICAgIGlmICgobGVuID4gWE1MX01BWF9OQU1FX0xFTkdUSCkgJiYKKyAgICAgICAgKChjdHh0LT5vcHRpb25zICYgWE1MX1BBUlNFX0hVR0UpID09IDApKSB7CisgICAgICAgIHhtbEZhdGFsRXJyKGN0eHQsIFhNTF9FUlJfTkFNRV9UT09fTE9ORywgIk5hbWUiKTsKKyAgICAgICAgcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBpZiAoKCpjdHh0LT5pbnB1dC0+Y3VyID09ICdcbicpICYmIChjdHh0LT5pbnB1dC0+Y3VyWy0xXSA9PSAnXHInKSkKKyAgICAgICAgcmV0dXJuKHhtbERpY3RMb29rdXAoY3R4dC0+ZGljdCwgY3R4dC0+aW5wdXQtPmN1ciAtIChsZW4gKyAxKSwgbGVuKSk7CisgICAgcmV0dXJuKHhtbERpY3RMb29rdXAoY3R4dC0+ZGljdCwgY3R4dC0+aW5wdXQtPmN1ciAtIGxlbiwgbGVuKSk7Cit9CisKKy8qKgorICogeG1sUGFyc2VOYW1lOgorICogQGN0eHQ6ICBhbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqCisgKiBwYXJzZSBhbiBYTUwgbmFtZS4KKyAqCisgKiBbNF0gTmFtZUNoYXIgOjo9IExldHRlciB8IERpZ2l0IHwgJy4nIHwgJy0nIHwgJ18nIHwgJzonIHwKKyAqICAgICAgICAgICAgICAgICAgQ29tYmluaW5nQ2hhciB8IEV4dGVuZGVyCisgKgorICogWzVdIE5hbWUgOjo9IChMZXR0ZXIgfCAnXycgfCAnOicpIChOYW1lQ2hhcikqCisgKgorICogWzZdIE5hbWVzIDo6PSBOYW1lICgjeDIwIE5hbWUpKgorICoKKyAqIFJldHVybnMgdGhlIE5hbWUgcGFyc2VkIG9yIE5VTEwKKyAqLworCitjb25zdCB4bWxDaGFyICoKK3htbFBhcnNlTmFtZSh4bWxQYXJzZXJDdHh0UHRyIGN0eHQpIHsKKyAgICBjb25zdCB4bWxDaGFyICppbjsKKyAgICBjb25zdCB4bWxDaGFyICpyZXQ7CisgICAgaW50IGNvdW50ID0gMDsKKworICAgIEdST1c7CisKKyNpZmRlZiBERUJVRworICAgIG5iUGFyc2VOYW1lKys7CisjZW5kaWYKKworICAgIC8qCisgICAgICogQWNjZWxlcmF0b3IgZm9yIHNpbXBsZSBBU0NJSSBuYW1lcworICAgICAqLworICAgIGluID0gY3R4dC0+aW5wdXQtPmN1cjsKKyAgICBpZiAoKCgqaW4gPj0gMHg2MSkgJiYgKCppbiA8PSAweDdBKSkgfHwKKwkoKCppbiA+PSAweDQxKSAmJiAoKmluIDw9IDB4NUEpKSB8fAorCSgqaW4gPT0gJ18nKSB8fCAoKmluID09ICc6JykpIHsKKwlpbisrOworCXdoaWxlICgoKCppbiA+PSAweDYxKSAmJiAoKmluIDw9IDB4N0EpKSB8fAorCSAgICAgICAoKCppbiA+PSAweDQxKSAmJiAoKmluIDw9IDB4NUEpKSB8fAorCSAgICAgICAoKCppbiA+PSAweDMwKSAmJiAoKmluIDw9IDB4MzkpKSB8fAorCSAgICAgICAoKmluID09ICdfJykgfHwgKCppbiA9PSAnLScpIHx8CisJICAgICAgICgqaW4gPT0gJzonKSB8fCAoKmluID09ICcuJykpCisJICAgIGluKys7CisJaWYgKCgqaW4gPiAwKSAmJiAoKmluIDwgMHg4MCkpIHsKKwkgICAgY291bnQgPSBpbiAtIGN0eHQtPmlucHV0LT5jdXI7CisgICAgICAgICAgICBpZiAoKGNvdW50ID4gWE1MX01BWF9OQU1FX0xFTkdUSCkgJiYKKyAgICAgICAgICAgICAgICAoKGN0eHQtPm9wdGlvbnMgJiBYTUxfUEFSU0VfSFVHRSkgPT0gMCkpIHsKKyAgICAgICAgICAgICAgICB4bWxGYXRhbEVycihjdHh0LCBYTUxfRVJSX05BTUVfVE9PX0xPTkcsICJOYW1lIik7CisgICAgICAgICAgICAgICAgcmV0dXJuKE5VTEwpOworICAgICAgICAgICAgfQorCSAgICByZXQgPSB4bWxEaWN0TG9va3VwKGN0eHQtPmRpY3QsIGN0eHQtPmlucHV0LT5jdXIsIGNvdW50KTsKKwkgICAgY3R4dC0+aW5wdXQtPmN1ciA9IGluOworCSAgICBjdHh0LT5uYkNoYXJzICs9IGNvdW50OworCSAgICBjdHh0LT5pbnB1dC0+Y29sICs9IGNvdW50OworCSAgICBpZiAocmV0ID09IE5VTEwpCisJICAgICAgICB4bWxFcnJNZW1vcnkoY3R4dCwgTlVMTCk7CisJICAgIHJldHVybihyZXQpOworCX0KKyAgICB9CisgICAgLyogYWNjZWxlcmF0b3IgZm9yIHNwZWNpYWwgY2FzZXMgKi8KKyAgICByZXR1cm4oeG1sUGFyc2VOYW1lQ29tcGxleChjdHh0KSk7Cit9CisKK3N0YXRpYyBjb25zdCB4bWxDaGFyICoKK3htbFBhcnNlTkNOYW1lQ29tcGxleCh4bWxQYXJzZXJDdHh0UHRyIGN0eHQpIHsKKyAgICBpbnQgbGVuID0gMCwgbDsKKyAgICBpbnQgYzsKKyAgICBpbnQgY291bnQgPSAwOworICAgIGNvbnN0IHhtbENoYXIgKmVuZDsgLyogbmVlZGVkIGJlY2F1c2UgQ1VSX0NIQVIoKSBjYW4gbW92ZSBjdXIgb24gXHJcbiAqLworCisjaWZkZWYgREVCVUcKKyAgICBuYlBhcnNlTkNOYW1lQ29tcGxleCsrOworI2VuZGlmCisKKyAgICAvKgorICAgICAqIEhhbmRsZXIgZm9yIG1vcmUgY29tcGxleCBjYXNlcworICAgICAqLworICAgIEdST1c7CisgICAgZW5kID0gY3R4dC0+aW5wdXQtPmN1cjsKKyAgICBjID0gQ1VSX0NIQVIobCk7CisgICAgaWYgKChjID09ICcgJykgfHwgKGMgPT0gJz4nKSB8fCAoYyA9PSAnLycpIHx8IC8qIGFjY2VsZXJhdG9ycyAqLworCSgheG1sSXNOYW1lU3RhcnRDaGFyKGN0eHQsIGMpIHx8IChjID09ICc6JykpKSB7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKworICAgIHdoaWxlICgoYyAhPSAnICcpICYmIChjICE9ICc+JykgJiYgKGMgIT0gJy8nKSAmJiAvKiB0ZXN0IGJpZ25hbWUueG1sICovCisJICAgKHhtbElzTmFtZUNoYXIoY3R4dCwgYykgJiYgKGMgIT0gJzonKSkpIHsKKwlpZiAoY291bnQrKyA+IFhNTF9QQVJTRVJfQ0hVTktfU0laRSkgeworICAgICAgICAgICAgaWYgKChsZW4gPiBYTUxfTUFYX05BTUVfTEVOR1RIKSAmJgorICAgICAgICAgICAgICAgICgoY3R4dC0+b3B0aW9ucyAmIFhNTF9QQVJTRV9IVUdFKSA9PSAwKSkgeworICAgICAgICAgICAgICAgIHhtbEZhdGFsRXJyKGN0eHQsIFhNTF9FUlJfTkFNRV9UT09fTE9ORywgIk5DTmFtZSIpOworICAgICAgICAgICAgICAgIHJldHVybihOVUxMKTsKKyAgICAgICAgICAgIH0KKwkgICAgY291bnQgPSAwOworCSAgICBHUk9XOworICAgICAgICAgICAgaWYgKGN0eHQtPmluc3RhdGUgPT0gWE1MX1BBUlNFUl9FT0YpCisgICAgICAgICAgICAgICAgcmV0dXJuKE5VTEwpOworCX0KKwlsZW4gKz0gbDsKKwlORVhUTChsKTsKKwllbmQgPSBjdHh0LT5pbnB1dC0+Y3VyOworCWMgPSBDVVJfQ0hBUihsKTsKKwlpZiAoYyA9PSAwKSB7CisJICAgIGNvdW50ID0gMDsKKwkgICAgR1JPVzsKKyAgICAgICAgICAgIGlmIChjdHh0LT5pbnN0YXRlID09IFhNTF9QQVJTRVJfRU9GKQorICAgICAgICAgICAgICAgIHJldHVybihOVUxMKTsKKwkgICAgZW5kID0gY3R4dC0+aW5wdXQtPmN1cjsKKwkgICAgYyA9IENVUl9DSEFSKGwpOworCX0KKyAgICB9CisgICAgaWYgKChsZW4gPiBYTUxfTUFYX05BTUVfTEVOR1RIKSAmJgorICAgICAgICAoKGN0eHQtPm9wdGlvbnMgJiBYTUxfUEFSU0VfSFVHRSkgPT0gMCkpIHsKKyAgICAgICAgeG1sRmF0YWxFcnIoY3R4dCwgWE1MX0VSUl9OQU1FX1RPT19MT05HLCAiTkNOYW1lIik7CisgICAgICAgIHJldHVybihOVUxMKTsKKyAgICB9CisgICAgcmV0dXJuKHhtbERpY3RMb29rdXAoY3R4dC0+ZGljdCwgZW5kIC0gbGVuLCBsZW4pKTsKK30KKworLyoqCisgKiB4bWxQYXJzZU5DTmFtZToKKyAqIEBjdHh0OiAgYW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAbGVuOiAgbGVuZ3RoIG9mIHRoZSBzdHJpbmcgcGFyc2VkCisgKgorICogcGFyc2UgYW4gWE1MIG5hbWUuCisgKgorICogWzROU10gTkNOYW1lQ2hhciA6Oj0gTGV0dGVyIHwgRGlnaXQgfCAnLicgfCAnLScgfCAnXycgfAorICogICAgICAgICAgICAgICAgICAgICAgQ29tYmluaW5nQ2hhciB8IEV4dGVuZGVyCisgKgorICogWzVOU10gTkNOYW1lIDo6PSAoTGV0dGVyIHwgJ18nKSAoTkNOYW1lQ2hhcikqCisgKgorICogUmV0dXJucyB0aGUgTmFtZSBwYXJzZWQgb3IgTlVMTAorICovCisKK3N0YXRpYyBjb25zdCB4bWxDaGFyICoKK3htbFBhcnNlTkNOYW1lKHhtbFBhcnNlckN0eHRQdHIgY3R4dCkgeworICAgIGNvbnN0IHhtbENoYXIgKmluOworICAgIGNvbnN0IHhtbENoYXIgKnJldDsKKyAgICBpbnQgY291bnQgPSAwOworCisjaWZkZWYgREVCVUcKKyAgICBuYlBhcnNlTkNOYW1lKys7CisjZW5kaWYKKworICAgIC8qCisgICAgICogQWNjZWxlcmF0b3IgZm9yIHNpbXBsZSBBU0NJSSBuYW1lcworICAgICAqLworICAgIGluID0gY3R4dC0+aW5wdXQtPmN1cjsKKyAgICBpZiAoKCgqaW4gPj0gMHg2MSkgJiYgKCppbiA8PSAweDdBKSkgfHwKKwkoKCppbiA+PSAweDQxKSAmJiAoKmluIDw9IDB4NUEpKSB8fAorCSgqaW4gPT0gJ18nKSkgeworCWluKys7CisJd2hpbGUgKCgoKmluID49IDB4NjEpICYmICgqaW4gPD0gMHg3QSkpIHx8CisJICAgICAgICgoKmluID49IDB4NDEpICYmICgqaW4gPD0gMHg1QSkpIHx8CisJICAgICAgICgoKmluID49IDB4MzApICYmICgqaW4gPD0gMHgzOSkpIHx8CisJICAgICAgICgqaW4gPT0gJ18nKSB8fCAoKmluID09ICctJykgfHwKKwkgICAgICAgKCppbiA9PSAnLicpKQorCSAgICBpbisrOworCWlmICgoKmluID4gMCkgJiYgKCppbiA8IDB4ODApKSB7CisJICAgIGNvdW50ID0gaW4gLSBjdHh0LT5pbnB1dC0+Y3VyOworICAgICAgICAgICAgaWYgKChjb3VudCA+IFhNTF9NQVhfTkFNRV9MRU5HVEgpICYmCisgICAgICAgICAgICAgICAgKChjdHh0LT5vcHRpb25zICYgWE1MX1BBUlNFX0hVR0UpID09IDApKSB7CisgICAgICAgICAgICAgICAgeG1sRmF0YWxFcnIoY3R4dCwgWE1MX0VSUl9OQU1FX1RPT19MT05HLCAiTkNOYW1lIik7CisgICAgICAgICAgICAgICAgcmV0dXJuKE5VTEwpOworICAgICAgICAgICAgfQorCSAgICByZXQgPSB4bWxEaWN0TG9va3VwKGN0eHQtPmRpY3QsIGN0eHQtPmlucHV0LT5jdXIsIGNvdW50KTsKKwkgICAgY3R4dC0+aW5wdXQtPmN1ciA9IGluOworCSAgICBjdHh0LT5uYkNoYXJzICs9IGNvdW50OworCSAgICBjdHh0LT5pbnB1dC0+Y29sICs9IGNvdW50OworCSAgICBpZiAocmV0ID09IE5VTEwpIHsKKwkgICAgICAgIHhtbEVyck1lbW9yeShjdHh0LCBOVUxMKTsKKwkgICAgfQorCSAgICByZXR1cm4ocmV0KTsKKwl9CisgICAgfQorICAgIHJldHVybih4bWxQYXJzZU5DTmFtZUNvbXBsZXgoY3R4dCkpOworfQorCisvKioKKyAqIHhtbFBhcnNlTmFtZUFuZENvbXBhcmU6CisgKiBAY3R4dDogIGFuIFhNTCBwYXJzZXIgY29udGV4dAorICoKKyAqIHBhcnNlIGFuIFhNTCBuYW1lIGFuZCBjb21wYXJlcyBmb3IgbWF0Y2gKKyAqIChzcGVjaWFsaXplZCBmb3IgZW5kdGFnIHBhcnNpbmcpCisgKgorICogUmV0dXJucyBOVUxMIGZvciBhbiBpbGxlZ2FsIG5hbWUsICh4bWxDaGFyKikgMSBmb3Igc3VjY2VzcworICogYW5kIHRoZSBuYW1lIGZvciBtaXNtYXRjaAorICovCisKK3N0YXRpYyBjb25zdCB4bWxDaGFyICoKK3htbFBhcnNlTmFtZUFuZENvbXBhcmUoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0LCB4bWxDaGFyIGNvbnN0ICpvdGhlcikgeworICAgIHJlZ2lzdGVyIGNvbnN0IHhtbENoYXIgKmNtcCA9IG90aGVyOworICAgIHJlZ2lzdGVyIGNvbnN0IHhtbENoYXIgKmluOworICAgIGNvbnN0IHhtbENoYXIgKnJldDsKKworICAgIEdST1c7CisgICAgaWYgKGN0eHQtPmluc3RhdGUgPT0gWE1MX1BBUlNFUl9FT0YpCisgICAgICAgIHJldHVybihOVUxMKTsKKworICAgIGluID0gY3R4dC0+aW5wdXQtPmN1cjsKKyAgICB3aGlsZSAoKmluICE9IDAgJiYgKmluID09ICpjbXApIHsKKwkrK2luOworCSsrY21wOworCWN0eHQtPmlucHV0LT5jb2wrKzsKKyAgICB9CisgICAgaWYgKCpjbXAgPT0gMCAmJiAoKmluID09ICc+JyB8fCBJU19CTEFOS19DSCAoKmluKSkpIHsKKwkvKiBzdWNjZXNzICovCisJY3R4dC0+aW5wdXQtPmN1ciA9IGluOworCXJldHVybiAoY29uc3QgeG1sQ2hhciopIDE7CisgICAgfQorICAgIC8qIGZhaWx1cmUgKG9yIGVuZCBvZiBpbnB1dCBidWZmZXIpLCBjaGVjayB3aXRoIGZ1bGwgZnVuY3Rpb24gKi8KKyAgICByZXQgPSB4bWxQYXJzZU5hbWUgKGN0eHQpOworICAgIC8qIHN0cmluZ3MgY29taW5nIGZyb20gdGhlIGRpY3Rpb25uYXJ5IGRpcmVjdCBjb21wYXJlIHBvc3NpYmxlICovCisgICAgaWYgKHJldCA9PSBvdGhlcikgeworCXJldHVybiAoY29uc3QgeG1sQ2hhciopIDE7CisgICAgfQorICAgIHJldHVybiByZXQ7Cit9CisKKy8qKgorICogeG1sUGFyc2VTdHJpbmdOYW1lOgorICogQGN0eHQ6ICBhbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBzdHI6ICBhIHBvaW50ZXIgdG8gdGhlIHN0cmluZyBwb2ludGVyIChJTi9PVVQpCisgKgorICogcGFyc2UgYW4gWE1MIG5hbWUuCisgKgorICogWzRdIE5hbWVDaGFyIDo6PSBMZXR0ZXIgfCBEaWdpdCB8ICcuJyB8ICctJyB8ICdfJyB8ICc6JyB8CisgKiAgICAgICAgICAgICAgICAgIENvbWJpbmluZ0NoYXIgfCBFeHRlbmRlcgorICoKKyAqIFs1XSBOYW1lIDo6PSAoTGV0dGVyIHwgJ18nIHwgJzonKSAoTmFtZUNoYXIpKgorICoKKyAqIFs2XSBOYW1lcyA6Oj0gTmFtZSAoI3gyMCBOYW1lKSoKKyAqCisgKiBSZXR1cm5zIHRoZSBOYW1lIHBhcnNlZCBvciBOVUxMLiBUaGUgQHN0ciBwb2ludGVyCisgKiBpcyB1cGRhdGVkIHRvIHRoZSBjdXJyZW50IGxvY2F0aW9uIGluIHRoZSBzdHJpbmcuCisgKi8KKworc3RhdGljIHhtbENoYXIgKgoreG1sUGFyc2VTdHJpbmdOYW1lKHhtbFBhcnNlckN0eHRQdHIgY3R4dCwgY29uc3QgeG1sQ2hhcioqIHN0cikgeworICAgIHhtbENoYXIgYnVmW1hNTF9NQVhfTkFNRUxFTiArIDVdOworICAgIGNvbnN0IHhtbENoYXIgKmN1ciA9ICpzdHI7CisgICAgaW50IGxlbiA9IDAsIGw7CisgICAgaW50IGM7CisKKyNpZmRlZiBERUJVRworICAgIG5iUGFyc2VTdHJpbmdOYW1lKys7CisjZW5kaWYKKworICAgIGMgPSBDVVJfU0NIQVIoY3VyLCBsKTsKKyAgICBpZiAoIXhtbElzTmFtZVN0YXJ0Q2hhcihjdHh0LCBjKSkgeworCXJldHVybihOVUxMKTsKKyAgICB9CisKKyAgICBDT1BZX0JVRihsLGJ1ZixsZW4sYyk7CisgICAgY3VyICs9IGw7CisgICAgYyA9IENVUl9TQ0hBUihjdXIsIGwpOworICAgIHdoaWxlICh4bWxJc05hbWVDaGFyKGN0eHQsIGMpKSB7CisJQ09QWV9CVUYobCxidWYsbGVuLGMpOworCWN1ciArPSBsOworCWMgPSBDVVJfU0NIQVIoY3VyLCBsKTsKKwlpZiAobGVuID49IFhNTF9NQVhfTkFNRUxFTikgeyAvKiB0ZXN0IGJpZ2VudG5hbWUueG1sICovCisJICAgIC8qCisJICAgICAqIE9rYXkgc29tZW9uZSBtYW5hZ2VkIHRvIG1ha2UgYSBodWdlIG5hbWUsIHNvIGhlJ3MgcmVhZHkgdG8gcGF5CisJICAgICAqIGZvciB0aGUgcHJvY2Vzc2luZyBzcGVlZC4KKwkgICAgICovCisJICAgIHhtbENoYXIgKmJ1ZmZlcjsKKwkgICAgaW50IG1heCA9IGxlbiAqIDI7CisKKwkgICAgYnVmZmVyID0gKHhtbENoYXIgKikgeG1sTWFsbG9jQXRvbWljKG1heCAqIHNpemVvZih4bWxDaGFyKSk7CisJICAgIGlmIChidWZmZXIgPT0gTlVMTCkgeworCSAgICAgICAgeG1sRXJyTWVtb3J5KGN0eHQsIE5VTEwpOworCQlyZXR1cm4oTlVMTCk7CisJICAgIH0KKwkgICAgbWVtY3B5KGJ1ZmZlciwgYnVmLCBsZW4pOworCSAgICB3aGlsZSAoeG1sSXNOYW1lQ2hhcihjdHh0LCBjKSkgeworCQlpZiAobGVuICsgMTAgPiBtYXgpIHsKKwkJICAgIHhtbENoYXIgKnRtcDsKKworICAgICAgICAgICAgICAgICAgICBpZiAoKGxlbiA+IFhNTF9NQVhfTkFNRV9MRU5HVEgpICYmCisgICAgICAgICAgICAgICAgICAgICAgICAoKGN0eHQtPm9wdGlvbnMgJiBYTUxfUEFSU0VfSFVHRSkgPT0gMCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHhtbEZhdGFsRXJyKGN0eHQsIFhNTF9FUlJfTkFNRV9UT09fTE9ORywgIk5DTmFtZSIpOworCQkJeG1sRnJlZShidWZmZXIpOworICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuKE5VTEwpOworICAgICAgICAgICAgICAgICAgICB9CisJCSAgICBtYXggKj0gMjsKKwkJICAgIHRtcCA9ICh4bWxDaGFyICopIHhtbFJlYWxsb2MoYnVmZmVyLAorCQkJICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heCAqIHNpemVvZih4bWxDaGFyKSk7CisJCSAgICBpZiAodG1wID09IE5VTEwpIHsKKwkJCXhtbEVyck1lbW9yeShjdHh0LCBOVUxMKTsKKwkJCXhtbEZyZWUoYnVmZmVyKTsKKwkJCXJldHVybihOVUxMKTsKKwkJICAgIH0KKwkJICAgIGJ1ZmZlciA9IHRtcDsKKwkJfQorCQlDT1BZX0JVRihsLGJ1ZmZlcixsZW4sYyk7CisJCWN1ciArPSBsOworCQljID0gQ1VSX1NDSEFSKGN1ciwgbCk7CisJICAgIH0KKwkgICAgYnVmZmVyW2xlbl0gPSAwOworCSAgICAqc3RyID0gY3VyOworCSAgICByZXR1cm4oYnVmZmVyKTsKKwl9CisgICAgfQorICAgIGlmICgobGVuID4gWE1MX01BWF9OQU1FX0xFTkdUSCkgJiYKKyAgICAgICAgKChjdHh0LT5vcHRpb25zICYgWE1MX1BBUlNFX0hVR0UpID09IDApKSB7CisgICAgICAgIHhtbEZhdGFsRXJyKGN0eHQsIFhNTF9FUlJfTkFNRV9UT09fTE9ORywgIk5DTmFtZSIpOworICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgfQorICAgICpzdHIgPSBjdXI7CisgICAgcmV0dXJuKHhtbFN0cm5kdXAoYnVmLCBsZW4pKTsKK30KKworLyoqCisgKiB4bWxQYXJzZU5tdG9rZW46CisgKiBAY3R4dDogIGFuIFhNTCBwYXJzZXIgY29udGV4dAorICoKKyAqIHBhcnNlIGFuIFhNTCBObXRva2VuLgorICoKKyAqIFs3XSBObXRva2VuIDo6PSAoTmFtZUNoYXIpKworICoKKyAqIFs4XSBObXRva2VucyA6Oj0gTm10b2tlbiAoI3gyMCBObXRva2VuKSoKKyAqCisgKiBSZXR1cm5zIHRoZSBObXRva2VuIHBhcnNlZCBvciBOVUxMCisgKi8KKworeG1sQ2hhciAqCit4bWxQYXJzZU5tdG9rZW4oeG1sUGFyc2VyQ3R4dFB0ciBjdHh0KSB7CisgICAgeG1sQ2hhciBidWZbWE1MX01BWF9OQU1FTEVOICsgNV07CisgICAgaW50IGxlbiA9IDAsIGw7CisgICAgaW50IGM7CisgICAgaW50IGNvdW50ID0gMDsKKworI2lmZGVmIERFQlVHCisgICAgbmJQYXJzZU5tVG9rZW4rKzsKKyNlbmRpZgorCisgICAgR1JPVzsKKyAgICBpZiAoY3R4dC0+aW5zdGF0ZSA9PSBYTUxfUEFSU0VSX0VPRikKKyAgICAgICAgcmV0dXJuKE5VTEwpOworICAgIGMgPSBDVVJfQ0hBUihsKTsKKworICAgIHdoaWxlICh4bWxJc05hbWVDaGFyKGN0eHQsIGMpKSB7CisJaWYgKGNvdW50KysgPiBYTUxfUEFSU0VSX0NIVU5LX1NJWkUpIHsKKwkgICAgY291bnQgPSAwOworCSAgICBHUk9XOworCX0KKwlDT1BZX0JVRihsLGJ1ZixsZW4sYyk7CisJTkVYVEwobCk7CisJYyA9IENVUl9DSEFSKGwpOworCWlmIChjID09IDApIHsKKwkgICAgY291bnQgPSAwOworCSAgICBHUk9XOworCSAgICBpZiAoY3R4dC0+aW5zdGF0ZSA9PSBYTUxfUEFSU0VSX0VPRikKKwkJcmV0dXJuKE5VTEwpOworICAgICAgICAgICAgYyA9IENVUl9DSEFSKGwpOworCX0KKwlpZiAobGVuID49IFhNTF9NQVhfTkFNRUxFTikgeworCSAgICAvKgorCSAgICAgKiBPa2F5IHNvbWVvbmUgbWFuYWdlZCB0byBtYWtlIGEgaHVnZSB0b2tlbiwgc28gaGUncyByZWFkeSB0byBwYXkKKwkgICAgICogZm9yIHRoZSBwcm9jZXNzaW5nIHNwZWVkLgorCSAgICAgKi8KKwkgICAgeG1sQ2hhciAqYnVmZmVyOworCSAgICBpbnQgbWF4ID0gbGVuICogMjsKKworCSAgICBidWZmZXIgPSAoeG1sQ2hhciAqKSB4bWxNYWxsb2NBdG9taWMobWF4ICogc2l6ZW9mKHhtbENoYXIpKTsKKwkgICAgaWYgKGJ1ZmZlciA9PSBOVUxMKSB7CisJICAgICAgICB4bWxFcnJNZW1vcnkoY3R4dCwgTlVMTCk7CisJCXJldHVybihOVUxMKTsKKwkgICAgfQorCSAgICBtZW1jcHkoYnVmZmVyLCBidWYsIGxlbik7CisJICAgIHdoaWxlICh4bWxJc05hbWVDaGFyKGN0eHQsIGMpKSB7CisJCWlmIChjb3VudCsrID4gWE1MX1BBUlNFUl9DSFVOS19TSVpFKSB7CisJCSAgICBjb3VudCA9IDA7CisJCSAgICBHUk9XOworICAgICAgICAgICAgICAgICAgICBpZiAoY3R4dC0+aW5zdGF0ZSA9PSBYTUxfUEFSU0VSX0VPRikgeworICAgICAgICAgICAgICAgICAgICAgICAgeG1sRnJlZShidWZmZXIpOworICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuKE5VTEwpOworICAgICAgICAgICAgICAgICAgICB9CisJCX0KKwkJaWYgKGxlbiArIDEwID4gbWF4KSB7CisJCSAgICB4bWxDaGFyICp0bXA7CisKKyAgICAgICAgICAgICAgICAgICAgaWYgKChtYXggPiBYTUxfTUFYX05BTUVfTEVOR1RIKSAmJgorICAgICAgICAgICAgICAgICAgICAgICAgKChjdHh0LT5vcHRpb25zICYgWE1MX1BBUlNFX0hVR0UpID09IDApKSB7CisgICAgICAgICAgICAgICAgICAgICAgICB4bWxGYXRhbEVycihjdHh0LCBYTUxfRVJSX05BTUVfVE9PX0xPTkcsICJObVRva2VuIik7CisgICAgICAgICAgICAgICAgICAgICAgICB4bWxGcmVlKGJ1ZmZlcik7CisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgICAgICAgICAgICAgICAgIH0KKwkJICAgIG1heCAqPSAyOworCQkgICAgdG1wID0gKHhtbENoYXIgKikgeG1sUmVhbGxvYyhidWZmZXIsCisJCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4ICogc2l6ZW9mKHhtbENoYXIpKTsKKwkJICAgIGlmICh0bXAgPT0gTlVMTCkgeworCQkJeG1sRXJyTWVtb3J5KGN0eHQsIE5VTEwpOworCQkJeG1sRnJlZShidWZmZXIpOworCQkJcmV0dXJuKE5VTEwpOworCQkgICAgfQorCQkgICAgYnVmZmVyID0gdG1wOworCQl9CisJCUNPUFlfQlVGKGwsYnVmZmVyLGxlbixjKTsKKwkJTkVYVEwobCk7CisJCWMgPSBDVVJfQ0hBUihsKTsKKwkgICAgfQorCSAgICBidWZmZXJbbGVuXSA9IDA7CisJICAgIHJldHVybihidWZmZXIpOworCX0KKyAgICB9CisgICAgaWYgKGxlbiA9PSAwKQorICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgaWYgKChsZW4gPiBYTUxfTUFYX05BTUVfTEVOR1RIKSAmJgorICAgICAgICAoKGN0eHQtPm9wdGlvbnMgJiBYTUxfUEFSU0VfSFVHRSkgPT0gMCkpIHsKKyAgICAgICAgeG1sRmF0YWxFcnIoY3R4dCwgWE1MX0VSUl9OQU1FX1RPT19MT05HLCAiTm1Ub2tlbiIpOworICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgfQorICAgIHJldHVybih4bWxTdHJuZHVwKGJ1ZiwgbGVuKSk7Cit9CisKKy8qKgorICogeG1sUGFyc2VFbnRpdHlWYWx1ZToKKyAqIEBjdHh0OiAgYW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAb3JpZzogIGlmIG5vbi1OVUxMIHN0b3JlIGEgY29weSBvZiB0aGUgb3JpZ2luYWwgZW50aXR5IHZhbHVlCisgKgorICogcGFyc2UgYSB2YWx1ZSBmb3IgRU5USVRZIGRlY2xhcmF0aW9ucworICoKKyAqIFs5XSBFbnRpdHlWYWx1ZSA6Oj0gJyInIChbXiUmIl0gfCBQRVJlZmVyZW5jZSB8IFJlZmVyZW5jZSkqICciJyB8CisgKgkgICAgICAgICAgICAgICAiJyIgKFteJSYnXSB8IFBFUmVmZXJlbmNlIHwgUmVmZXJlbmNlKSogIiciCisgKgorICogUmV0dXJucyB0aGUgRW50aXR5VmFsdWUgcGFyc2VkIHdpdGggcmVmZXJlbmNlIHN1YnN0aXR1dGVkIG9yIE5VTEwKKyAqLworCit4bWxDaGFyICoKK3htbFBhcnNlRW50aXR5VmFsdWUoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0LCB4bWxDaGFyICoqb3JpZykgeworICAgIHhtbENoYXIgKmJ1ZiA9IE5VTEw7CisgICAgaW50IGxlbiA9IDA7CisgICAgaW50IHNpemUgPSBYTUxfUEFSU0VSX0JVRkZFUl9TSVpFOworICAgIGludCBjLCBsOworICAgIHhtbENoYXIgc3RvcDsKKyAgICB4bWxDaGFyICpyZXQgPSBOVUxMOworICAgIGNvbnN0IHhtbENoYXIgKmN1ciA9IE5VTEw7CisgICAgeG1sUGFyc2VySW5wdXRQdHIgaW5wdXQ7CisKKyAgICBpZiAoUkFXID09ICciJykgc3RvcCA9ICciJzsKKyAgICBlbHNlIGlmIChSQVcgPT0gJ1wnJykgc3RvcCA9ICdcJyc7CisgICAgZWxzZSB7CisJeG1sRmF0YWxFcnIoY3R4dCwgWE1MX0VSUl9FTlRJVFlfTk9UX1NUQVJURUQsIE5VTEwpOworCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgYnVmID0gKHhtbENoYXIgKikgeG1sTWFsbG9jQXRvbWljKHNpemUgKiBzaXplb2YoeG1sQ2hhcikpOworICAgIGlmIChidWYgPT0gTlVMTCkgeworCXhtbEVyck1lbW9yeShjdHh0LCBOVUxMKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorCisgICAgLyoKKyAgICAgKiBUaGUgY29udGVudCBvZiB0aGUgZW50aXR5IGRlZmluaXRpb24gaXMgY29waWVkIGluIGEgYnVmZmVyLgorICAgICAqLworCisgICAgY3R4dC0+aW5zdGF0ZSA9IFhNTF9QQVJTRVJfRU5USVRZX1ZBTFVFOworICAgIGlucHV0ID0gY3R4dC0+aW5wdXQ7CisgICAgR1JPVzsKKyAgICBpZiAoY3R4dC0+aW5zdGF0ZSA9PSBYTUxfUEFSU0VSX0VPRikgeworICAgICAgICB4bWxGcmVlKGJ1Zik7CisgICAgICAgIHJldHVybihOVUxMKTsKKyAgICB9CisgICAgTkVYVDsKKyAgICBjID0gQ1VSX0NIQVIobCk7CisgICAgLyoKKyAgICAgKiBOT1RFOiA0LjQuNSBJbmNsdWRlZCBpbiBMaXRlcmFsCisgICAgICogV2hlbiBhIHBhcmFtZXRlciBlbnRpdHkgcmVmZXJlbmNlIGFwcGVhcnMgaW4gYSBsaXRlcmFsIGVudGl0eQorICAgICAqIHZhbHVlLCAuLi4gYSBzaW5nbGUgb3IgZG91YmxlIHF1b3RlIGNoYXJhY3RlciBpbiB0aGUgcmVwbGFjZW1lbnQKKyAgICAgKiB0ZXh0IGlzIGFsd2F5cyB0cmVhdGVkIGFzIGEgbm9ybWFsIGRhdGEgY2hhcmFjdGVyIGFuZCB3aWxsIG5vdAorICAgICAqIHRlcm1pbmF0ZSB0aGUgbGl0ZXJhbC4KKyAgICAgKiBJbiBwcmFjdGljZSBpdCBtZWFucyB3ZSBzdG9wIHRoZSBsb29wIG9ubHkgd2hlbiBiYWNrIGF0IHBhcnNpbmcKKyAgICAgKiB0aGUgaW5pdGlhbCBlbnRpdHkgYW5kIHRoZSBxdW90ZSBpcyBmb3VuZAorICAgICAqLworICAgIHdoaWxlICgoKElTX0NIQVIoYykpICYmICgoYyAhPSBzdG9wKSB8fCAvKiBjaGVja2VkICovCisJICAgIChjdHh0LT5pbnB1dCAhPSBpbnB1dCkpKSAmJiAoY3R4dC0+aW5zdGF0ZSAhPSBYTUxfUEFSU0VSX0VPRikpIHsKKwlpZiAobGVuICsgNSA+PSBzaXplKSB7CisJICAgIHhtbENoYXIgKnRtcDsKKworCSAgICBzaXplICo9IDI7CisJICAgIHRtcCA9ICh4bWxDaGFyICopIHhtbFJlYWxsb2MoYnVmLCBzaXplICogc2l6ZW9mKHhtbENoYXIpKTsKKwkgICAgaWYgKHRtcCA9PSBOVUxMKSB7CisJCXhtbEVyck1lbW9yeShjdHh0LCBOVUxMKTsKKwkJeG1sRnJlZShidWYpOworCQlyZXR1cm4oTlVMTCk7CisJICAgIH0KKwkgICAgYnVmID0gdG1wOworCX0KKwlDT1BZX0JVRihsLGJ1ZixsZW4sYyk7CisJTkVYVEwobCk7CisJLyoKKwkgKiBQb3AtdXAgb2YgZmluaXNoZWQgZW50aXRpZXMuCisJICovCisJd2hpbGUgKChSQVcgPT0gMCkgJiYgKGN0eHQtPmlucHV0TnIgPiAxKSkgLyogbm9uIGlucHV0IGNvbnN1bWluZyAqLworCSAgICB4bWxQb3BJbnB1dChjdHh0KTsKKworCUdST1c7CisJYyA9IENVUl9DSEFSKGwpOworCWlmIChjID09IDApIHsKKwkgICAgR1JPVzsKKwkgICAgYyA9IENVUl9DSEFSKGwpOworCX0KKyAgICB9CisgICAgYnVmW2xlbl0gPSAwOworICAgIGlmIChjdHh0LT5pbnN0YXRlID09IFhNTF9QQVJTRVJfRU9GKSB7CisgICAgICAgIHhtbEZyZWUoYnVmKTsKKyAgICAgICAgcmV0dXJuKE5VTEwpOworICAgIH0KKworICAgIC8qCisgICAgICogUmFpc2UgcHJvYmxlbSB3LnIudC4gJyYnIGFuZCAnJScgYmVpbmcgdXNlZCBpbiBub24tZW50aXRpZXMKKyAgICAgKiByZWZlcmVuY2UgY29uc3RydWN0cy4gTm90ZSBDaGFycmVmIHdpbGwgYmUgaGFuZGxlZCBpbgorICAgICAqIHhtbFN0cmluZ0RlY29kZUVudGl0aWVzKCkKKyAgICAgKi8KKyAgICBjdXIgPSBidWY7CisgICAgd2hpbGUgKCpjdXIgIT0gMCkgeyAvKiBub24gaW5wdXQgY29uc3VtaW5nICovCisJaWYgKCgqY3VyID09ICclJykgfHwgKCgqY3VyID09ICcmJykgJiYgKGN1clsxXSAhPSAnIycpKSkgeworCSAgICB4bWxDaGFyICpuYW1lOworCSAgICB4bWxDaGFyIHRtcCA9ICpjdXI7CisKKwkgICAgY3VyKys7CisJICAgIG5hbWUgPSB4bWxQYXJzZVN0cmluZ05hbWUoY3R4dCwgJmN1cik7CisgICAgICAgICAgICBpZiAoKG5hbWUgPT0gTlVMTCkgfHwgKCpjdXIgIT0gJzsnKSkgeworCQl4bWxGYXRhbEVyck1zZ0ludChjdHh0LCBYTUxfRVJSX0VOVElUWV9DSEFSX0VSUk9SLAorCSAgICAiRW50aXR5VmFsdWU6ICclYycgZm9yYmlkZGVuIGV4Y2VwdCBmb3IgZW50aXRpZXMgcmVmZXJlbmNlc1xuIiwKKwkgICAgICAgICAgICAgICAgICAgICAgICAgIHRtcCk7CisJICAgIH0KKwkgICAgaWYgKCh0bXAgPT0gJyUnKSAmJiAoY3R4dC0+aW5TdWJzZXQgPT0gMSkgJiYKKwkJKGN0eHQtPmlucHV0TnIgPT0gMSkpIHsKKwkJeG1sRmF0YWxFcnIoY3R4dCwgWE1MX0VSUl9FTlRJVFlfUEVfSU5URVJOQUwsIE5VTEwpOworCSAgICB9CisJICAgIGlmIChuYW1lICE9IE5VTEwpCisJCXhtbEZyZWUobmFtZSk7CisJICAgIGlmICgqY3VyID09IDApCisJICAgICAgICBicmVhazsKKwl9CisJY3VyKys7CisgICAgfQorCisgICAgLyoKKyAgICAgKiBUaGVuIFBFUmVmZXJlbmNlIGVudGl0aWVzIGFyZSBzdWJzdGl0dXRlZC4KKyAgICAgKi8KKyAgICBpZiAoYyAhPSBzdG9wKSB7CisJeG1sRmF0YWxFcnIoY3R4dCwgWE1MX0VSUl9FTlRJVFlfTk9UX0ZJTklTSEVELCBOVUxMKTsKKwl4bWxGcmVlKGJ1Zik7CisgICAgfSBlbHNlIHsKKwlORVhUOworCS8qCisJICogTk9URTogNC40LjcgQnlwYXNzZWQKKwkgKiBXaGVuIGEgZ2VuZXJhbCBlbnRpdHkgcmVmZXJlbmNlIGFwcGVhcnMgaW4gdGhlIEVudGl0eVZhbHVlIGluCisJICogYW4gZW50aXR5IGRlY2xhcmF0aW9uLCBpdCBpcyBieXBhc3NlZCBhbmQgbGVmdCBhcyBpcy4KKwkgKiBzbyBYTUxfU1VCU1RJVFVURV9SRUYgaXMgbm90IHNldCBoZXJlLgorCSAqLworCXJldCA9IHhtbFN0cmluZ0RlY29kZUVudGl0aWVzKGN0eHQsIGJ1ZiwgWE1MX1NVQlNUSVRVVEVfUEVSRUYsCisJCQkJICAgICAgMCwgMCwgMCk7CisJaWYgKG9yaWcgIT0gTlVMTCkKKwkgICAgKm9yaWcgPSBidWY7CisJZWxzZQorCSAgICB4bWxGcmVlKGJ1Zik7CisgICAgfQorCisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogeG1sUGFyc2VBdHRWYWx1ZUNvbXBsZXg6CisgKiBAY3R4dDogIGFuIFhNTCBwYXJzZXIgY29udGV4dAorICogQGxlbjogICB0aGUgcmVzdWx0aW5nIGF0dHJpYnV0ZSBsZW4KKyAqIEBub3JtYWxpemU6ICB3ZXRoZXIgdG8gYXBwbHkgdGhlIGlubmVyIG5vcm1hbGl6YXRpb24KKyAqCisgKiBwYXJzZSBhIHZhbHVlIGZvciBhbiBhdHRyaWJ1dGUsIHRoaXMgaXMgdGhlIGZhbGxiYWNrIGZ1bmN0aW9uCisgKiBvZiB4bWxQYXJzZUF0dFZhbHVlKCkgd2hlbiB0aGUgYXR0cmlidXRlIHBhcnNpbmcgcmVxdWlyZXMgaGFuZGxpbmcKKyAqIG9mIG5vbi1BU0NJSSBjaGFyYWN0ZXJzLCBvciBub3JtYWxpemF0aW9uIGNvbXBhY3Rpb24uCisgKgorICogUmV0dXJucyB0aGUgQXR0VmFsdWUgcGFyc2VkIG9yIE5VTEwuIFRoZSB2YWx1ZSBoYXMgdG8gYmUgZnJlZWQgYnkgdGhlIGNhbGxlci4KKyAqLworc3RhdGljIHhtbENoYXIgKgoreG1sUGFyc2VBdHRWYWx1ZUNvbXBsZXgoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0LCBpbnQgKmF0dGxlbiwgaW50IG5vcm1hbGl6ZSkgeworICAgIHhtbENoYXIgbGltaXQgPSAwOworICAgIHhtbENoYXIgKmJ1ZiA9IE5VTEw7CisgICAgeG1sQ2hhciAqcmVwID0gTlVMTDsKKyAgICBzaXplX3QgbGVuID0gMDsKKyAgICBzaXplX3QgYnVmX3NpemUgPSAwOworICAgIGludCBjLCBsLCBpbl9zcGFjZSA9IDA7CisgICAgeG1sQ2hhciAqY3VycmVudCA9IE5VTEw7CisgICAgeG1sRW50aXR5UHRyIGVudDsKKworICAgIGlmIChOWFQoMCkgPT0gJyInKSB7CisJY3R4dC0+aW5zdGF0ZSA9IFhNTF9QQVJTRVJfQVRUUklCVVRFX1ZBTFVFOworCWxpbWl0ID0gJyInOworICAgICAgICBORVhUOworICAgIH0gZWxzZSBpZiAoTlhUKDApID09ICdcJycpIHsKKwlsaW1pdCA9ICdcJyc7CisJY3R4dC0+aW5zdGF0ZSA9IFhNTF9QQVJTRVJfQVRUUklCVVRFX1ZBTFVFOworICAgICAgICBORVhUOworICAgIH0gZWxzZSB7CisJeG1sRmF0YWxFcnIoY3R4dCwgWE1MX0VSUl9BVFRSSUJVVEVfTk9UX1NUQVJURUQsIE5VTEwpOworCXJldHVybihOVUxMKTsKKyAgICB9CisKKyAgICAvKgorICAgICAqIGFsbG9jYXRlIGEgdHJhbnNsYXRpb24gYnVmZmVyLgorICAgICAqLworICAgIGJ1Zl9zaXplID0gWE1MX1BBUlNFUl9CVUZGRVJfU0laRTsKKyAgICBidWYgPSAoeG1sQ2hhciAqKSB4bWxNYWxsb2NBdG9taWMoYnVmX3NpemUpOworICAgIGlmIChidWYgPT0gTlVMTCkgZ290byBtZW1fZXJyb3I7CisKKyAgICAvKgorICAgICAqIE9LIGxvb3AgdW50aWwgd2UgcmVhY2ggb25lIG9mIHRoZSBlbmRpbmcgY2hhciBvciBhIHNpemUgbGltaXQuCisgICAgICovCisgICAgYyA9IENVUl9DSEFSKGwpOworICAgIHdoaWxlICgoKE5YVCgwKSAhPSBsaW1pdCkgJiYgLyogY2hlY2tlZCAqLworICAgICAgICAgICAgKElTX0NIQVIoYykpICYmIChjICE9ICc8JykpICYmCisgICAgICAgICAgICAoY3R4dC0+aW5zdGF0ZSAhPSBYTUxfUEFSU0VSX0VPRikpIHsKKyAgICAgICAgLyoKKyAgICAgICAgICogSW1wb3NlIGEgcmVhc29uYWJsZSBsaW1pdCBvbiBhdHRyaWJ1dGUgc2l6ZSwgdW5sZXNzIFhNTF9QQVJTRV9IVUdFCisgICAgICAgICAqIHNwZWNpYWwgb3B0aW9uIGlzIGdpdmVuCisgICAgICAgICAqLworICAgICAgICBpZiAoKGxlbiA+IFhNTF9NQVhfVEVYVF9MRU5HVEgpICYmCisgICAgICAgICAgICAoKGN0eHQtPm9wdGlvbnMgJiBYTUxfUEFSU0VfSFVHRSkgPT0gMCkpIHsKKyAgICAgICAgICAgIHhtbEZhdGFsRXJyTXNnKGN0eHQsIFhNTF9FUlJfQVRUUklCVVRFX05PVF9GSU5JU0hFRCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJBdHRWYWx1ZSBsZW5ndGggdG9vIGxvbmdcbiIpOworICAgICAgICAgICAgZ290byBtZW1fZXJyb3I7CisgICAgICAgIH0KKwlpZiAoYyA9PSAwKSBicmVhazsKKwlpZiAoYyA9PSAnJicpIHsKKwkgICAgaW5fc3BhY2UgPSAwOworCSAgICBpZiAoTlhUKDEpID09ICcjJykgeworCQlpbnQgdmFsID0geG1sUGFyc2VDaGFyUmVmKGN0eHQpOworCisJCWlmICh2YWwgPT0gJyYnKSB7CisJCSAgICBpZiAoY3R4dC0+cmVwbGFjZUVudGl0aWVzKSB7CisJCQlpZiAobGVuICsgMTAgPiBidWZfc2l6ZSkgeworCQkJICAgIGdyb3dCdWZmZXIoYnVmLCAxMCk7CisJCQl9CisJCQlidWZbbGVuKytdID0gJyYnOworCQkgICAgfSBlbHNlIHsKKwkJCS8qCisJCQkgKiBUaGUgcmVwYXJzaW5nIHdpbGwgYmUgZG9uZSBpbiB4bWxTdHJpbmdHZXROb2RlTGlzdCgpCisJCQkgKiBjYWxsZWQgYnkgdGhlIGF0dHJpYnV0ZSgpIGZ1bmN0aW9uIGluIFNBWC5jCisJCQkgKi8KKwkJCWlmIChsZW4gKyAxMCA+IGJ1Zl9zaXplKSB7CisJCQkgICAgZ3Jvd0J1ZmZlcihidWYsIDEwKTsKKwkJCX0KKwkJCWJ1ZltsZW4rK10gPSAnJic7CisJCQlidWZbbGVuKytdID0gJyMnOworCQkJYnVmW2xlbisrXSA9ICczJzsKKwkJCWJ1ZltsZW4rK10gPSAnOCc7CisJCQlidWZbbGVuKytdID0gJzsnOworCQkgICAgfQorCQl9IGVsc2UgaWYgKHZhbCAhPSAwKSB7CisJCSAgICBpZiAobGVuICsgMTAgPiBidWZfc2l6ZSkgeworCQkJZ3Jvd0J1ZmZlcihidWYsIDEwKTsKKwkJICAgIH0KKwkJICAgIGxlbiArPSB4bWxDb3B5Q2hhcigwLCAmYnVmW2xlbl0sIHZhbCk7CisJCX0KKwkgICAgfSBlbHNlIHsKKwkJZW50ID0geG1sUGFyc2VFbnRpdHlSZWYoY3R4dCk7CisJCWN0eHQtPm5iZW50aXRpZXMrKzsKKwkJaWYgKGVudCAhPSBOVUxMKQorCQkgICAgY3R4dC0+bmJlbnRpdGllcyArPSBlbnQtPm93bmVyOworCQlpZiAoKGVudCAhPSBOVUxMKSAmJgorCQkgICAgKGVudC0+ZXR5cGUgPT0gWE1MX0lOVEVSTkFMX1BSRURFRklORURfRU5USVRZKSkgeworCQkgICAgaWYgKGxlbiArIDEwID4gYnVmX3NpemUpIHsKKwkJCWdyb3dCdWZmZXIoYnVmLCAxMCk7CisJCSAgICB9CisJCSAgICBpZiAoKGN0eHQtPnJlcGxhY2VFbnRpdGllcyA9PSAwKSAmJgorCQkgICAgICAgIChlbnQtPmNvbnRlbnRbMF0gPT0gJyYnKSkgeworCQkJYnVmW2xlbisrXSA9ICcmJzsKKwkJCWJ1ZltsZW4rK10gPSAnIyc7CisJCQlidWZbbGVuKytdID0gJzMnOworCQkJYnVmW2xlbisrXSA9ICc4JzsKKwkJCWJ1ZltsZW4rK10gPSAnOyc7CisJCSAgICB9IGVsc2UgeworCQkJYnVmW2xlbisrXSA9IGVudC0+Y29udGVudFswXTsKKwkJICAgIH0KKwkJfSBlbHNlIGlmICgoZW50ICE9IE5VTEwpICYmCisJCSAgICAgICAgICAgKGN0eHQtPnJlcGxhY2VFbnRpdGllcyAhPSAwKSkgeworCQkgICAgaWYgKGVudC0+ZXR5cGUgIT0gWE1MX0lOVEVSTkFMX1BSRURFRklORURfRU5USVRZKSB7CisJCQlyZXAgPSB4bWxTdHJpbmdEZWNvZGVFbnRpdGllcyhjdHh0LCBlbnQtPmNvbnRlbnQsCisJCQkJCQkgICAgICBYTUxfU1VCU1RJVFVURV9SRUYsCisJCQkJCQkgICAgICAwLCAwLCAwKTsKKwkJCWlmIChyZXAgIT0gTlVMTCkgeworCQkJICAgIGN1cnJlbnQgPSByZXA7CisJCQkgICAgd2hpbGUgKCpjdXJyZW50ICE9IDApIHsgLyogbm9uIGlucHV0IGNvbnN1bWluZyAqLworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKCpjdXJyZW50ID09IDB4RCkgfHwgKCpjdXJyZW50ID09IDB4QSkgfHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgqY3VycmVudCA9PSAweDkpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWZbbGVuKytdID0gMHgyMDsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnQrKzsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWZbbGVuKytdID0gKmN1cnJlbnQrKzsKKwkJCQlpZiAobGVuICsgMTAgPiBidWZfc2l6ZSkgeworCQkJCSAgICBncm93QnVmZmVyKGJ1ZiwgMTApOworCQkJCX0KKwkJCSAgICB9CisJCQkgICAgeG1sRnJlZShyZXApOworCQkJICAgIHJlcCA9IE5VTEw7CisJCQl9CisJCSAgICB9IGVsc2UgeworCQkJaWYgKGxlbiArIDEwID4gYnVmX3NpemUpIHsKKwkJCSAgICBncm93QnVmZmVyKGJ1ZiwgMTApOworCQkJfQorCQkJaWYgKGVudC0+Y29udGVudCAhPSBOVUxMKQorCQkJICAgIGJ1ZltsZW4rK10gPSBlbnQtPmNvbnRlbnRbMF07CisJCSAgICB9CisJCX0gZWxzZSBpZiAoZW50ICE9IE5VTEwpIHsKKwkJICAgIGludCBpID0geG1sU3RybGVuKGVudC0+bmFtZSk7CisJCSAgICBjb25zdCB4bWxDaGFyICpjdXIgPSBlbnQtPm5hbWU7CisKKwkJICAgIC8qCisJCSAgICAgKiBUaGlzIG1heSBsb29rIGFic3VyZCBidXQgaXMgbmVlZGVkIHRvIGRldGVjdAorCQkgICAgICogZW50aXRpZXMgcHJvYmxlbXMKKwkJICAgICAqLworCQkgICAgaWYgKChlbnQtPmV0eXBlICE9IFhNTF9JTlRFUk5BTF9QUkVERUZJTkVEX0VOVElUWSkgJiYKKwkJCShlbnQtPmNvbnRlbnQgIT0gTlVMTCkgJiYgKGVudC0+Y2hlY2tlZCA9PSAwKSkgeworCQkJdW5zaWduZWQgbG9uZyBvbGRuYmVudCA9IGN0eHQtPm5iZW50aXRpZXM7CisKKwkJCXJlcCA9IHhtbFN0cmluZ0RlY29kZUVudGl0aWVzKGN0eHQsIGVudC0+Y29udGVudCwKKwkJCQkJCSAgWE1MX1NVQlNUSVRVVEVfUkVGLCAwLCAwLCAwKTsKKworCQkJZW50LT5jaGVja2VkID0gKGN0eHQtPm5iZW50aXRpZXMgLSBvbGRuYmVudCArIDEpICogMjsKKwkJCWlmIChyZXAgIT0gTlVMTCkgeworCQkJICAgIGlmICh4bWxTdHJjaHIocmVwLCAnPCcpKQorCQkJICAgICAgICBlbnQtPmNoZWNrZWQgfD0gMTsKKwkJCSAgICB4bWxGcmVlKHJlcCk7CisJCQkgICAgcmVwID0gTlVMTDsKKwkJCX0KKwkJICAgIH0KKworCQkgICAgLyoKKwkJICAgICAqIEp1c3Qgb3V0cHV0IHRoZSByZWZlcmVuY2UKKwkJICAgICAqLworCQkgICAgYnVmW2xlbisrXSA9ICcmJzsKKwkJICAgIHdoaWxlIChsZW4gKyBpICsgMTAgPiBidWZfc2l6ZSkgeworCQkJZ3Jvd0J1ZmZlcihidWYsIGkgKyAxMCk7CisJCSAgICB9CisJCSAgICBmb3IgKDtpID4gMDtpLS0pCisJCQlidWZbbGVuKytdID0gKmN1cisrOworCQkgICAgYnVmW2xlbisrXSA9ICc7JzsKKwkJfQorCSAgICB9CisJfSBlbHNlIHsKKwkgICAgaWYgKChjID09IDB4MjApIHx8IChjID09IDB4RCkgfHwgKGMgPT0gMHhBKSB8fCAoYyA9PSAweDkpKSB7CisJICAgICAgICBpZiAoKGxlbiAhPSAwKSB8fCAoIW5vcm1hbGl6ZSkpIHsKKwkJICAgIGlmICgoIW5vcm1hbGl6ZSkgfHwgKCFpbl9zcGFjZSkpIHsKKwkJCUNPUFlfQlVGKGwsYnVmLGxlbiwweDIwKTsKKwkJCXdoaWxlIChsZW4gKyAxMCA+IGJ1Zl9zaXplKSB7CisJCQkgICAgZ3Jvd0J1ZmZlcihidWYsIDEwKTsKKwkJCX0KKwkJICAgIH0KKwkJICAgIGluX3NwYWNlID0gMTsKKwkJfQorCSAgICB9IGVsc2UgeworCSAgICAgICAgaW5fc3BhY2UgPSAwOworCQlDT1BZX0JVRihsLGJ1ZixsZW4sYyk7CisJCWlmIChsZW4gKyAxMCA+IGJ1Zl9zaXplKSB7CisJCSAgICBncm93QnVmZmVyKGJ1ZiwgMTApOworCQl9CisJICAgIH0KKwkgICAgTkVYVEwobCk7CisJfQorCUdST1c7CisJYyA9IENVUl9DSEFSKGwpOworICAgIH0KKyAgICBpZiAoY3R4dC0+aW5zdGF0ZSA9PSBYTUxfUEFSU0VSX0VPRikKKyAgICAgICAgZ290byBlcnJvcjsKKworICAgIGlmICgoaW5fc3BhY2UpICYmIChub3JtYWxpemUpKSB7CisgICAgICAgIHdoaWxlICgobGVuID4gMCkgJiYgKGJ1ZltsZW4gLSAxXSA9PSAweDIwKSkgbGVuLS07CisgICAgfQorICAgIGJ1ZltsZW5dID0gMDsKKyAgICBpZiAoUkFXID09ICc8JykgeworCXhtbEZhdGFsRXJyKGN0eHQsIFhNTF9FUlJfTFRfSU5fQVRUUklCVVRFLCBOVUxMKTsKKyAgICB9IGVsc2UgaWYgKFJBVyAhPSBsaW1pdCkgeworCWlmICgoYyAhPSAwKSAmJiAoIUlTX0NIQVIoYykpKSB7CisJICAgIHhtbEZhdGFsRXJyTXNnKGN0eHQsIFhNTF9FUlJfSU5WQUxJRF9DSEFSLAorCQkJICAgImludmFsaWQgY2hhcmFjdGVyIGluIGF0dHJpYnV0ZSB2YWx1ZVxuIik7CisJfSBlbHNlIHsKKwkgICAgeG1sRmF0YWxFcnJNc2coY3R4dCwgWE1MX0VSUl9BVFRSSUJVVEVfTk9UX0ZJTklTSEVELAorCQkJICAgIkF0dFZhbHVlOiAnIGV4cGVjdGVkXG4iKTsKKyAgICAgICAgfQorICAgIH0gZWxzZQorCU5FWFQ7CisKKyAgICAvKgorICAgICAqIFRoZXJlIHdlIHBvdGVudGlhbGx5IHJpc2sgYW4gb3ZlcmZsb3csIGRvbid0IGFsbG93IGF0dHJpYnV0ZSB2YWx1ZSBvZgorICAgICAqIGxlbmd0aCBtb3JlIHRoYW4gSU5UX01BWCBpdCBpcyBhIHZlcnkgcmVhc29ubmFibGUgYXNzdW1wdGlvbiAhCisgICAgICovCisgICAgaWYgKGxlbiA+PSBJTlRfTUFYKSB7CisgICAgICAgIHhtbEZhdGFsRXJyTXNnKGN0eHQsIFhNTF9FUlJfQVRUUklCVVRFX05PVF9GSU5JU0hFRCwKKyAgICAgICAgICAgICAgICAgICAgICAgIkF0dFZhbHVlIGxlbmd0aCB0b28gbG9uZ1xuIik7CisgICAgICAgIGdvdG8gbWVtX2Vycm9yOworICAgIH0KKworICAgIGlmIChhdHRsZW4gIT0gTlVMTCkgKmF0dGxlbiA9IChpbnQpIGxlbjsKKyAgICByZXR1cm4oYnVmKTsKKworbWVtX2Vycm9yOgorICAgIHhtbEVyck1lbW9yeShjdHh0LCBOVUxMKTsKK2Vycm9yOgorICAgIGlmIChidWYgIT0gTlVMTCkKKyAgICAgICAgeG1sRnJlZShidWYpOworICAgIGlmIChyZXAgIT0gTlVMTCkKKyAgICAgICAgeG1sRnJlZShyZXApOworICAgIHJldHVybihOVUxMKTsKK30KKworLyoqCisgKiB4bWxQYXJzZUF0dFZhbHVlOgorICogQGN0eHQ6ICBhbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqCisgKiBwYXJzZSBhIHZhbHVlIGZvciBhbiBhdHRyaWJ1dGUKKyAqIE5vdGU6IHRoZSBwYXJzZXIgd29uJ3QgZG8gc3Vic3RpdHV0aW9uIG9mIGVudGl0aWVzIGhlcmUsIHRoaXMKKyAqIHdpbGwgYmUgaGFuZGxlZCBsYXRlciBpbiB4bWxTdHJpbmdHZXROb2RlTGlzdAorICoKKyAqIFsxMF0gQXR0VmFsdWUgOjo9ICciJyAoW148JiJdIHwgUmVmZXJlbmNlKSogJyInIHwKKyAqICAgICAgICAgICAgICAgICAgICInIiAoW148JiddIHwgUmVmZXJlbmNlKSogIiciCisgKgorICogMy4zLjMgQXR0cmlidXRlLVZhbHVlIE5vcm1hbGl6YXRpb246CisgKiBCZWZvcmUgdGhlIHZhbHVlIG9mIGFuIGF0dHJpYnV0ZSBpcyBwYXNzZWQgdG8gdGhlIGFwcGxpY2F0aW9uIG9yCisgKiBjaGVja2VkIGZvciB2YWxpZGl0eSwgdGhlIFhNTCBwcm9jZXNzb3IgbXVzdCBub3JtYWxpemUgaXQgYXMgZm9sbG93czoKKyAqIC0gYSBjaGFyYWN0ZXIgcmVmZXJlbmNlIGlzIHByb2Nlc3NlZCBieSBhcHBlbmRpbmcgdGhlIHJlZmVyZW5jZWQKKyAqICAgY2hhcmFjdGVyIHRvIHRoZSBhdHRyaWJ1dGUgdmFsdWUKKyAqIC0gYW4gZW50aXR5IHJlZmVyZW5jZSBpcyBwcm9jZXNzZWQgYnkgcmVjdXJzaXZlbHkgcHJvY2Vzc2luZyB0aGUKKyAqICAgcmVwbGFjZW1lbnQgdGV4dCBvZiB0aGUgZW50aXR5CisgKiAtIGEgd2hpdGVzcGFjZSBjaGFyYWN0ZXIgKCN4MjAsICN4RCwgI3hBLCAjeDkpIGlzIHByb2Nlc3NlZCBieQorICogICBhcHBlbmRpbmcgI3gyMCB0byB0aGUgbm9ybWFsaXplZCB2YWx1ZSwgZXhjZXB0IHRoYXQgb25seSBhIHNpbmdsZQorICogICAjeDIwIGlzIGFwcGVuZGVkIGZvciBhICIjeEQjeEEiIHNlcXVlbmNlIHRoYXQgaXMgcGFydCBvZiBhbiBleHRlcm5hbAorICogICBwYXJzZWQgZW50aXR5IG9yIHRoZSBsaXRlcmFsIGVudGl0eSB2YWx1ZSBvZiBhbiBpbnRlcm5hbCBwYXJzZWQgZW50aXR5CisgKiAtIG90aGVyIGNoYXJhY3RlcnMgYXJlIHByb2Nlc3NlZCBieSBhcHBlbmRpbmcgdGhlbSB0byB0aGUgbm9ybWFsaXplZCB2YWx1ZQorICogSWYgdGhlIGRlY2xhcmVkIHZhbHVlIGlzIG5vdCBDREFUQSwgdGhlbiB0aGUgWE1MIHByb2Nlc3NvciBtdXN0IGZ1cnRoZXIKKyAqIHByb2Nlc3MgdGhlIG5vcm1hbGl6ZWQgYXR0cmlidXRlIHZhbHVlIGJ5IGRpc2NhcmRpbmcgYW55IGxlYWRpbmcgYW5kCisgKiB0cmFpbGluZyBzcGFjZSAoI3gyMCkgY2hhcmFjdGVycywgYW5kIGJ5IHJlcGxhY2luZyBzZXF1ZW5jZXMgb2Ygc3BhY2UKKyAqICgjeDIwKSBjaGFyYWN0ZXJzIGJ5IGEgc2luZ2xlIHNwYWNlICgjeDIwKSBjaGFyYWN0ZXIuCisgKiBBbGwgYXR0cmlidXRlcyBmb3Igd2hpY2ggbm8gZGVjbGFyYXRpb24gaGFzIGJlZW4gcmVhZCBzaG91bGQgYmUgdHJlYXRlZAorICogYnkgYSBub24tdmFsaWRhdGluZyBwYXJzZXIgYXMgaWYgZGVjbGFyZWQgQ0RBVEEuCisgKgorICogUmV0dXJucyB0aGUgQXR0VmFsdWUgcGFyc2VkIG9yIE5VTEwuIFRoZSB2YWx1ZSBoYXMgdG8gYmUgZnJlZWQgYnkgdGhlIGNhbGxlci4KKyAqLworCisKK3htbENoYXIgKgoreG1sUGFyc2VBdHRWYWx1ZSh4bWxQYXJzZXJDdHh0UHRyIGN0eHQpIHsKKyAgICBpZiAoKGN0eHQgPT0gTlVMTCkgfHwgKGN0eHQtPmlucHV0ID09IE5VTEwpKSByZXR1cm4oTlVMTCk7CisgICAgcmV0dXJuKHhtbFBhcnNlQXR0VmFsdWVJbnRlcm5hbChjdHh0LCBOVUxMLCBOVUxMLCAwKSk7Cit9CisKKy8qKgorICogeG1sUGFyc2VTeXN0ZW1MaXRlcmFsOgorICogQGN0eHQ6ICBhbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqCisgKiBwYXJzZSBhbiBYTUwgTGl0ZXJhbAorICoKKyAqIFsxMV0gU3lzdGVtTGl0ZXJhbCA6Oj0gKCciJyBbXiJdKiAnIicpIHwgKCInIiBbXiddKiAiJyIpCisgKgorICogUmV0dXJucyB0aGUgU3lzdGVtTGl0ZXJhbCBwYXJzZWQgb3IgTlVMTAorICovCisKK3htbENoYXIgKgoreG1sUGFyc2VTeXN0ZW1MaXRlcmFsKHhtbFBhcnNlckN0eHRQdHIgY3R4dCkgeworICAgIHhtbENoYXIgKmJ1ZiA9IE5VTEw7CisgICAgaW50IGxlbiA9IDA7CisgICAgaW50IHNpemUgPSBYTUxfUEFSU0VSX0JVRkZFUl9TSVpFOworICAgIGludCBjdXIsIGw7CisgICAgeG1sQ2hhciBzdG9wOworICAgIGludCBzdGF0ZSA9IGN0eHQtPmluc3RhdGU7CisgICAgaW50IGNvdW50ID0gMDsKKworICAgIFNIUklOSzsKKyAgICBpZiAoUkFXID09ICciJykgeworICAgICAgICBORVhUOworCXN0b3AgPSAnIic7CisgICAgfSBlbHNlIGlmIChSQVcgPT0gJ1wnJykgeworICAgICAgICBORVhUOworCXN0b3AgPSAnXCcnOworICAgIH0gZWxzZSB7CisJeG1sRmF0YWxFcnIoY3R4dCwgWE1MX0VSUl9MSVRFUkFMX05PVF9TVEFSVEVELCBOVUxMKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorCisgICAgYnVmID0gKHhtbENoYXIgKikgeG1sTWFsbG9jQXRvbWljKHNpemUgKiBzaXplb2YoeG1sQ2hhcikpOworICAgIGlmIChidWYgPT0gTlVMTCkgeworICAgICAgICB4bWxFcnJNZW1vcnkoY3R4dCwgTlVMTCk7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBjdHh0LT5pbnN0YXRlID0gWE1MX1BBUlNFUl9TWVNURU1fTElURVJBTDsKKyAgICBjdXIgPSBDVVJfQ0hBUihsKTsKKyAgICB3aGlsZSAoKElTX0NIQVIoY3VyKSkgJiYgKGN1ciAhPSBzdG9wKSkgeyAvKiBjaGVja2VkICovCisJaWYgKGxlbiArIDUgPj0gc2l6ZSkgeworCSAgICB4bWxDaGFyICp0bXA7CisKKyAgICAgICAgICAgIGlmICgoc2l6ZSA+IFhNTF9NQVhfTkFNRV9MRU5HVEgpICYmCisgICAgICAgICAgICAgICAgKChjdHh0LT5vcHRpb25zICYgWE1MX1BBUlNFX0hVR0UpID09IDApKSB7CisgICAgICAgICAgICAgICAgeG1sRmF0YWxFcnIoY3R4dCwgWE1MX0VSUl9OQU1FX1RPT19MT05HLCAiU3lzdGVtTGl0ZXJhbCIpOworICAgICAgICAgICAgICAgIHhtbEZyZWUoYnVmKTsKKwkJY3R4dC0+aW5zdGF0ZSA9ICh4bWxQYXJzZXJJbnB1dFN0YXRlKSBzdGF0ZTsKKyAgICAgICAgICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgICAgICAgICB9CisJICAgIHNpemUgKj0gMjsKKwkgICAgdG1wID0gKHhtbENoYXIgKikgeG1sUmVhbGxvYyhidWYsIHNpemUgKiBzaXplb2YoeG1sQ2hhcikpOworCSAgICBpZiAodG1wID09IE5VTEwpIHsKKwkgICAgICAgIHhtbEZyZWUoYnVmKTsKKwkJeG1sRXJyTWVtb3J5KGN0eHQsIE5VTEwpOworCQljdHh0LT5pbnN0YXRlID0gKHhtbFBhcnNlcklucHV0U3RhdGUpIHN0YXRlOworCQlyZXR1cm4oTlVMTCk7CisJICAgIH0KKwkgICAgYnVmID0gdG1wOworCX0KKwljb3VudCsrOworCWlmIChjb3VudCA+IDUwKSB7CisJICAgIEdST1c7CisJICAgIGNvdW50ID0gMDsKKyAgICAgICAgICAgIGlmIChjdHh0LT5pbnN0YXRlID09IFhNTF9QQVJTRVJfRU9GKSB7CisJICAgICAgICB4bWxGcmVlKGJ1Zik7CisJCXJldHVybihOVUxMKTsKKyAgICAgICAgICAgIH0KKwl9CisJQ09QWV9CVUYobCxidWYsbGVuLGN1cik7CisJTkVYVEwobCk7CisJY3VyID0gQ1VSX0NIQVIobCk7CisJaWYgKGN1ciA9PSAwKSB7CisJICAgIEdST1c7CisJICAgIFNIUklOSzsKKwkgICAgY3VyID0gQ1VSX0NIQVIobCk7CisJfQorICAgIH0KKyAgICBidWZbbGVuXSA9IDA7CisgICAgY3R4dC0+aW5zdGF0ZSA9ICh4bWxQYXJzZXJJbnB1dFN0YXRlKSBzdGF0ZTsKKyAgICBpZiAoIUlTX0NIQVIoY3VyKSkgeworCXhtbEZhdGFsRXJyKGN0eHQsIFhNTF9FUlJfTElURVJBTF9OT1RfRklOSVNIRUQsIE5VTEwpOworICAgIH0gZWxzZSB7CisJTkVYVDsKKyAgICB9CisgICAgcmV0dXJuKGJ1Zik7Cit9CisKKy8qKgorICogeG1sUGFyc2VQdWJpZExpdGVyYWw6CisgKiBAY3R4dDogIGFuIFhNTCBwYXJzZXIgY29udGV4dAorICoKKyAqIHBhcnNlIGFuIFhNTCBwdWJsaWMgbGl0ZXJhbAorICoKKyAqIFsxMl0gUHViaWRMaXRlcmFsIDo6PSAnIicgUHViaWRDaGFyKiAnIicgfCAiJyIgKFB1YmlkQ2hhciAtICInIikqICInIgorICoKKyAqIFJldHVybnMgdGhlIFB1YmlkTGl0ZXJhbCBwYXJzZWQgb3IgTlVMTC4KKyAqLworCit4bWxDaGFyICoKK3htbFBhcnNlUHViaWRMaXRlcmFsKHhtbFBhcnNlckN0eHRQdHIgY3R4dCkgeworICAgIHhtbENoYXIgKmJ1ZiA9IE5VTEw7CisgICAgaW50IGxlbiA9IDA7CisgICAgaW50IHNpemUgPSBYTUxfUEFSU0VSX0JVRkZFUl9TSVpFOworICAgIHhtbENoYXIgY3VyOworICAgIHhtbENoYXIgc3RvcDsKKyAgICBpbnQgY291bnQgPSAwOworICAgIHhtbFBhcnNlcklucHV0U3RhdGUgb2xkc3RhdGUgPSBjdHh0LT5pbnN0YXRlOworCisgICAgU0hSSU5LOworICAgIGlmIChSQVcgPT0gJyInKSB7CisgICAgICAgIE5FWFQ7CisJc3RvcCA9ICciJzsKKyAgICB9IGVsc2UgaWYgKFJBVyA9PSAnXCcnKSB7CisgICAgICAgIE5FWFQ7CisJc3RvcCA9ICdcJyc7CisgICAgfSBlbHNlIHsKKwl4bWxGYXRhbEVycihjdHh0LCBYTUxfRVJSX0xJVEVSQUxfTk9UX1NUQVJURUQsIE5VTEwpOworCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgYnVmID0gKHhtbENoYXIgKikgeG1sTWFsbG9jQXRvbWljKHNpemUgKiBzaXplb2YoeG1sQ2hhcikpOworICAgIGlmIChidWYgPT0gTlVMTCkgeworCXhtbEVyck1lbW9yeShjdHh0LCBOVUxMKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIGN0eHQtPmluc3RhdGUgPSBYTUxfUEFSU0VSX1BVQkxJQ19MSVRFUkFMOworICAgIGN1ciA9IENVUjsKKyAgICB3aGlsZSAoKElTX1BVQklEQ0hBUl9DSChjdXIpKSAmJiAoY3VyICE9IHN0b3ApKSB7IC8qIGNoZWNrZWQgKi8KKwlpZiAobGVuICsgMSA+PSBzaXplKSB7CisJICAgIHhtbENoYXIgKnRtcDsKKworICAgICAgICAgICAgaWYgKChzaXplID4gWE1MX01BWF9OQU1FX0xFTkdUSCkgJiYKKyAgICAgICAgICAgICAgICAoKGN0eHQtPm9wdGlvbnMgJiBYTUxfUEFSU0VfSFVHRSkgPT0gMCkpIHsKKyAgICAgICAgICAgICAgICB4bWxGYXRhbEVycihjdHh0LCBYTUxfRVJSX05BTUVfVE9PX0xPTkcsICJQdWJsaWMgSUQiKTsKKyAgICAgICAgICAgICAgICB4bWxGcmVlKGJ1Zik7CisgICAgICAgICAgICAgICAgcmV0dXJuKE5VTEwpOworICAgICAgICAgICAgfQorCSAgICBzaXplICo9IDI7CisJICAgIHRtcCA9ICh4bWxDaGFyICopIHhtbFJlYWxsb2MoYnVmLCBzaXplICogc2l6ZW9mKHhtbENoYXIpKTsKKwkgICAgaWYgKHRtcCA9PSBOVUxMKSB7CisJCXhtbEVyck1lbW9yeShjdHh0LCBOVUxMKTsKKwkJeG1sRnJlZShidWYpOworCQlyZXR1cm4oTlVMTCk7CisJICAgIH0KKwkgICAgYnVmID0gdG1wOworCX0KKwlidWZbbGVuKytdID0gY3VyOworCWNvdW50Kys7CisJaWYgKGNvdW50ID4gNTApIHsKKwkgICAgR1JPVzsKKwkgICAgY291bnQgPSAwOworICAgICAgICAgICAgaWYgKGN0eHQtPmluc3RhdGUgPT0gWE1MX1BBUlNFUl9FT0YpIHsKKwkJeG1sRnJlZShidWYpOworCQlyZXR1cm4oTlVMTCk7CisgICAgICAgICAgICB9CisJfQorCU5FWFQ7CisJY3VyID0gQ1VSOworCWlmIChjdXIgPT0gMCkgeworCSAgICBHUk9XOworCSAgICBTSFJJTks7CisJICAgIGN1ciA9IENVUjsKKwl9CisgICAgfQorICAgIGJ1ZltsZW5dID0gMDsKKyAgICBpZiAoY3VyICE9IHN0b3ApIHsKKwl4bWxGYXRhbEVycihjdHh0LCBYTUxfRVJSX0xJVEVSQUxfTk9UX0ZJTklTSEVELCBOVUxMKTsKKyAgICB9IGVsc2UgeworCU5FWFQ7CisgICAgfQorICAgIGN0eHQtPmluc3RhdGUgPSBvbGRzdGF0ZTsKKyAgICByZXR1cm4oYnVmKTsKK30KKworc3RhdGljIHZvaWQgeG1sUGFyc2VDaGFyRGF0YUNvbXBsZXgoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0LCBpbnQgY2RhdGEpOworCisvKgorICogdXNlZCBmb3IgdGhlIHRlc3QgaW4gdGhlIGlubmVyIGxvb3Agb2YgdGhlIGNoYXIgZGF0YSB0ZXN0aW5nCisgKi8KK3N0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHRlc3RfY2hhcl9kYXRhWzI1Nl0gPSB7CisgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKyAgICAweDAwLCAweDA5LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiAweDksIENSL0xGIHNlcGFyYXRlZCAqLworICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKyAgICAweDIwLCAweDIxLCAweDIyLCAweDIzLCAweDI0LCAweDI1LCAweDAwLCAweDI3LCAvKiAmICovCisgICAgMHgyOCwgMHgyOSwgMHgyQSwgMHgyQiwgMHgyQywgMHgyRCwgMHgyRSwgMHgyRiwKKyAgICAweDMwLCAweDMxLCAweDMyLCAweDMzLCAweDM0LCAweDM1LCAweDM2LCAweDM3LAorICAgIDB4MzgsIDB4MzksIDB4M0EsIDB4M0IsIDB4MDAsIDB4M0QsIDB4M0UsIDB4M0YsIC8qIDwgKi8KKyAgICAweDQwLCAweDQxLCAweDQyLCAweDQzLCAweDQ0LCAweDQ1LCAweDQ2LCAweDQ3LAorICAgIDB4NDgsIDB4NDksIDB4NEEsIDB4NEIsIDB4NEMsIDB4NEQsIDB4NEUsIDB4NEYsCisgICAgMHg1MCwgMHg1MSwgMHg1MiwgMHg1MywgMHg1NCwgMHg1NSwgMHg1NiwgMHg1NywKKyAgICAweDU4LCAweDU5LCAweDVBLCAweDVCLCAweDVDLCAweDAwLCAweDVFLCAweDVGLCAvKiBdICovCisgICAgMHg2MCwgMHg2MSwgMHg2MiwgMHg2MywgMHg2NCwgMHg2NSwgMHg2NiwgMHg2NywKKyAgICAweDY4LCAweDY5LCAweDZBLCAweDZCLCAweDZDLCAweDZELCAweDZFLCAweDZGLAorICAgIDB4NzAsIDB4NzEsIDB4NzIsIDB4NzMsIDB4NzQsIDB4NzUsIDB4NzYsIDB4NzcsCisgICAgMHg3OCwgMHg3OSwgMHg3QSwgMHg3QiwgMHg3QywgMHg3RCwgMHg3RSwgMHg3RiwKKyAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAvKiBub24tYXNjaWkgKi8KKyAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAorICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKyAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAorICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKyAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAorICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKyAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAorICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKyAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAorICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMAorfTsKKworLyoqCisgKiB4bWxQYXJzZUNoYXJEYXRhOgorICogQGN0eHQ6ICBhbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBjZGF0YTogIGludCBpbmRpY2F0aW5nIHdoZXRoZXIgd2UgYXJlIHdpdGhpbiBhIENEQVRBIHNlY3Rpb24KKyAqCisgKiBwYXJzZSBhIENoYXJEYXRhIHNlY3Rpb24uCisgKiBpZiB3ZSBhcmUgd2l0aGluIGEgQ0RBVEEgc2VjdGlvbiAnXV0+JyBtYXJrcyBhbiBlbmQgb2Ygc2VjdGlvbi4KKyAqCisgKiBUaGUgcmlnaHQgYW5nbGUgYnJhY2tldCAoPikgbWF5IGJlIHJlcHJlc2VudGVkIHVzaW5nIHRoZSBzdHJpbmcgIiZndDsiLAorICogYW5kIG11c3QsIGZvciBjb21wYXRpYmlsaXR5LCBiZSBlc2NhcGVkIHVzaW5nICImZ3Q7IiBvciBhIGNoYXJhY3RlcgorICogcmVmZXJlbmNlIHdoZW4gaXQgYXBwZWFycyBpbiB0aGUgc3RyaW5nICJdXT4iIGluIGNvbnRlbnQsIHdoZW4gdGhhdAorICogc3RyaW5nIGlzIG5vdCBtYXJraW5nIHRoZSBlbmQgb2YgYSBDREFUQSBzZWN0aW9uLgorICoKKyAqIFsxNF0gQ2hhckRhdGEgOjo9IFtePCZdKiAtIChbXjwmXSogJ11dPicgW148Jl0qKQorICovCisKK3ZvaWQKK3htbFBhcnNlQ2hhckRhdGEoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0LCBpbnQgY2RhdGEpIHsKKyAgICBjb25zdCB4bWxDaGFyICppbjsKKyAgICBpbnQgbmJjaGFyID0gMDsKKyAgICBpbnQgbGluZSA9IGN0eHQtPmlucHV0LT5saW5lOworICAgIGludCBjb2wgPSBjdHh0LT5pbnB1dC0+Y29sOworICAgIGludCBjY29sOworCisgICAgU0hSSU5LOworICAgIEdST1c7CisgICAgLyoKKyAgICAgKiBBY2NlbGVyYXRlZCBjb21tb24gY2FzZSB3aGVyZSBpbnB1dCBkb24ndCBuZWVkIHRvIGJlCisgICAgICogbW9kaWZpZWQgYmVmb3JlIHBhc3NpbmcgaXQgdG8gdGhlIGhhbmRsZXIuCisgICAgICovCisgICAgaWYgKCFjZGF0YSkgeworCWluID0gY3R4dC0+aW5wdXQtPmN1cjsKKwlkbyB7CitnZXRfbW9yZV9zcGFjZToKKwkgICAgd2hpbGUgKCppbiA9PSAweDIwKSB7IGluKys7IGN0eHQtPmlucHV0LT5jb2wrKzsgfQorCSAgICBpZiAoKmluID09IDB4QSkgeworCQlkbyB7CisJCSAgICBjdHh0LT5pbnB1dC0+bGluZSsrOyBjdHh0LT5pbnB1dC0+Y29sID0gMTsKKwkJICAgIGluKys7CisJCX0gd2hpbGUgKCppbiA9PSAweEEpOworCQlnb3RvIGdldF9tb3JlX3NwYWNlOworCSAgICB9CisJICAgIGlmICgqaW4gPT0gJzwnKSB7CisJCW5iY2hhciA9IGluIC0gY3R4dC0+aW5wdXQtPmN1cjsKKwkJaWYgKG5iY2hhciA+IDApIHsKKwkJICAgIGNvbnN0IHhtbENoYXIgKnRtcCA9IGN0eHQtPmlucHV0LT5jdXI7CisJCSAgICBjdHh0LT5pbnB1dC0+Y3VyID0gaW47CisKKwkJICAgIGlmICgoY3R4dC0+c2F4ICE9IE5VTEwpICYmCisJCSAgICAgICAgKGN0eHQtPnNheC0+aWdub3JhYmxlV2hpdGVzcGFjZSAhPQorCQkgICAgICAgICBjdHh0LT5zYXgtPmNoYXJhY3RlcnMpKSB7CisJCQlpZiAoYXJlQmxhbmtzKGN0eHQsIHRtcCwgbmJjaGFyLCAxKSkgeworCQkJICAgIGlmIChjdHh0LT5zYXgtPmlnbm9yYWJsZVdoaXRlc3BhY2UgIT0gTlVMTCkKKwkJCQljdHh0LT5zYXgtPmlnbm9yYWJsZVdoaXRlc3BhY2UoY3R4dC0+dXNlckRhdGEsCisJCQkJCQkgICAgICAgdG1wLCBuYmNoYXIpOworCQkJfSBlbHNlIHsKKwkJCSAgICBpZiAoY3R4dC0+c2F4LT5jaGFyYWN0ZXJzICE9IE5VTEwpCisJCQkJY3R4dC0+c2F4LT5jaGFyYWN0ZXJzKGN0eHQtPnVzZXJEYXRhLAorCQkJCQkJICAgICAgdG1wLCBuYmNoYXIpOworCQkJICAgIGlmICgqY3R4dC0+c3BhY2UgPT0gLTEpCisJCQkgICAgICAgICpjdHh0LT5zcGFjZSA9IC0yOworCQkJfQorCQkgICAgfSBlbHNlIGlmICgoY3R4dC0+c2F4ICE9IE5VTEwpICYmCisJCSAgICAgICAgICAgICAgIChjdHh0LT5zYXgtPmNoYXJhY3RlcnMgIT0gTlVMTCkpIHsKKwkJCWN0eHQtPnNheC0+Y2hhcmFjdGVycyhjdHh0LT51c2VyRGF0YSwKKwkJCQkJICAgICAgdG1wLCBuYmNoYXIpOworCQkgICAgfQorCQl9CisJCXJldHVybjsKKwkgICAgfQorCitnZXRfbW9yZToKKyAgICAgICAgICAgIGNjb2wgPSBjdHh0LT5pbnB1dC0+Y29sOworCSAgICB3aGlsZSAodGVzdF9jaGFyX2RhdGFbKmluXSkgeworCQlpbisrOworCQljY29sKys7CisJICAgIH0KKwkgICAgY3R4dC0+aW5wdXQtPmNvbCA9IGNjb2w7CisJICAgIGlmICgqaW4gPT0gMHhBKSB7CisJCWRvIHsKKwkJICAgIGN0eHQtPmlucHV0LT5saW5lKys7IGN0eHQtPmlucHV0LT5jb2wgPSAxOworCQkgICAgaW4rKzsKKwkJfSB3aGlsZSAoKmluID09IDB4QSk7CisJCWdvdG8gZ2V0X21vcmU7CisJICAgIH0KKwkgICAgaWYgKCppbiA9PSAnXScpIHsKKwkJaWYgKChpblsxXSA9PSAnXScpICYmIChpblsyXSA9PSAnPicpKSB7CisJCSAgICB4bWxGYXRhbEVycihjdHh0LCBYTUxfRVJSX01JU1BMQUNFRF9DREFUQV9FTkQsIE5VTEwpOworCQkgICAgY3R4dC0+aW5wdXQtPmN1ciA9IGluOworCQkgICAgcmV0dXJuOworCQl9CisJCWluKys7CisJCWN0eHQtPmlucHV0LT5jb2wrKzsKKwkJZ290byBnZXRfbW9yZTsKKwkgICAgfQorCSAgICBuYmNoYXIgPSBpbiAtIGN0eHQtPmlucHV0LT5jdXI7CisJICAgIGlmIChuYmNoYXIgPiAwKSB7CisJCWlmICgoY3R4dC0+c2F4ICE9IE5VTEwpICYmCisJCSAgICAoY3R4dC0+c2F4LT5pZ25vcmFibGVXaGl0ZXNwYWNlICE9CisJCSAgICAgY3R4dC0+c2F4LT5jaGFyYWN0ZXJzKSAmJgorCQkgICAgKElTX0JMQU5LX0NIKCpjdHh0LT5pbnB1dC0+Y3VyKSkpIHsKKwkJICAgIGNvbnN0IHhtbENoYXIgKnRtcCA9IGN0eHQtPmlucHV0LT5jdXI7CisJCSAgICBjdHh0LT5pbnB1dC0+Y3VyID0gaW47CisKKwkJICAgIGlmIChhcmVCbGFua3MoY3R4dCwgdG1wLCBuYmNoYXIsIDApKSB7CisJCSAgICAgICAgaWYgKGN0eHQtPnNheC0+aWdub3JhYmxlV2hpdGVzcGFjZSAhPSBOVUxMKQorCQkJICAgIGN0eHQtPnNheC0+aWdub3JhYmxlV2hpdGVzcGFjZShjdHh0LT51c2VyRGF0YSwKKwkJCQkJCQkgICB0bXAsIG5iY2hhcik7CisJCSAgICB9IGVsc2UgeworCQkgICAgICAgIGlmIChjdHh0LT5zYXgtPmNoYXJhY3RlcnMgIT0gTlVMTCkKKwkJCSAgICBjdHh0LT5zYXgtPmNoYXJhY3RlcnMoY3R4dC0+dXNlckRhdGEsCisJCQkJCQkgIHRtcCwgbmJjaGFyKTsKKwkJCWlmICgqY3R4dC0+c3BhY2UgPT0gLTEpCisJCQkgICAgKmN0eHQtPnNwYWNlID0gLTI7CisJCSAgICB9CisgICAgICAgICAgICAgICAgICAgIGxpbmUgPSBjdHh0LT5pbnB1dC0+bGluZTsKKyAgICAgICAgICAgICAgICAgICAgY29sID0gY3R4dC0+aW5wdXQtPmNvbDsKKwkJfSBlbHNlIGlmIChjdHh0LT5zYXggIT0gTlVMTCkgeworCQkgICAgaWYgKGN0eHQtPnNheC0+Y2hhcmFjdGVycyAhPSBOVUxMKQorCQkJY3R4dC0+c2F4LT5jaGFyYWN0ZXJzKGN0eHQtPnVzZXJEYXRhLAorCQkJCQkgICAgICBjdHh0LT5pbnB1dC0+Y3VyLCBuYmNoYXIpOworICAgICAgICAgICAgICAgICAgICBsaW5lID0gY3R4dC0+aW5wdXQtPmxpbmU7CisgICAgICAgICAgICAgICAgICAgIGNvbCA9IGN0eHQtPmlucHV0LT5jb2w7CisJCX0KKyAgICAgICAgICAgICAgICAvKiBzb21ldGhpbmcgcmVhbGx5IGJhZCBoYXBwZW5lZCBpbiB0aGUgU0FYIGNhbGxiYWNrICovCisgICAgICAgICAgICAgICAgaWYgKGN0eHQtPmluc3RhdGUgIT0gWE1MX1BBUlNFUl9DT05URU5UKQorICAgICAgICAgICAgICAgICAgICByZXR1cm47CisJICAgIH0KKwkgICAgY3R4dC0+aW5wdXQtPmN1ciA9IGluOworCSAgICBpZiAoKmluID09IDB4RCkgeworCQlpbisrOworCQlpZiAoKmluID09IDB4QSkgeworCQkgICAgY3R4dC0+aW5wdXQtPmN1ciA9IGluOworCQkgICAgaW4rKzsKKwkJICAgIGN0eHQtPmlucHV0LT5saW5lKys7IGN0eHQtPmlucHV0LT5jb2wgPSAxOworCQkgICAgY29udGludWU7IC8qIHdoaWxlICovCisJCX0KKwkJaW4tLTsKKwkgICAgfQorCSAgICBpZiAoKmluID09ICc8JykgeworCQlyZXR1cm47CisJICAgIH0KKwkgICAgaWYgKCppbiA9PSAnJicpIHsKKwkJcmV0dXJuOworCSAgICB9CisJICAgIFNIUklOSzsKKwkgICAgR1JPVzsKKyAgICAgICAgICAgIGlmIChjdHh0LT5pbnN0YXRlID09IFhNTF9QQVJTRVJfRU9GKQorCQlyZXR1cm47CisJICAgIGluID0gY3R4dC0+aW5wdXQtPmN1cjsKKwl9IHdoaWxlICgoKCppbiA+PSAweDIwKSAmJiAoKmluIDw9IDB4N0YpKSB8fCAoKmluID09IDB4MDkpKTsKKwluYmNoYXIgPSAwOworICAgIH0KKyAgICBjdHh0LT5pbnB1dC0+bGluZSA9IGxpbmU7CisgICAgY3R4dC0+aW5wdXQtPmNvbCA9IGNvbDsKKyAgICB4bWxQYXJzZUNoYXJEYXRhQ29tcGxleChjdHh0LCBjZGF0YSk7Cit9CisKKy8qKgorICogeG1sUGFyc2VDaGFyRGF0YUNvbXBsZXg6CisgKiBAY3R4dDogIGFuIFhNTCBwYXJzZXIgY29udGV4dAorICogQGNkYXRhOiAgaW50IGluZGljYXRpbmcgd2hldGhlciB3ZSBhcmUgd2l0aGluIGEgQ0RBVEEgc2VjdGlvbgorICoKKyAqIHBhcnNlIGEgQ2hhckRhdGEgc2VjdGlvbi50aGlzIGlzIHRoZSBmYWxsYmFjayBmdW5jdGlvbgorICogb2YgeG1sUGFyc2VDaGFyRGF0YSgpIHdoZW4gdGhlIHBhcnNpbmcgcmVxdWlyZXMgaGFuZGxpbmcKKyAqIG9mIG5vbi1BU0NJSSBjaGFyYWN0ZXJzLgorICovCitzdGF0aWMgdm9pZAoreG1sUGFyc2VDaGFyRGF0YUNvbXBsZXgoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0LCBpbnQgY2RhdGEpIHsKKyAgICB4bWxDaGFyIGJ1ZltYTUxfUEFSU0VSX0JJR19CVUZGRVJfU0laRSArIDVdOworICAgIGludCBuYmNoYXIgPSAwOworICAgIGludCBjdXIsIGw7CisgICAgaW50IGNvdW50ID0gMDsKKworICAgIFNIUklOSzsKKyAgICBHUk9XOworICAgIGN1ciA9IENVUl9DSEFSKGwpOworICAgIHdoaWxlICgoY3VyICE9ICc8JykgJiYgLyogY2hlY2tlZCAqLworICAgICAgICAgICAoY3VyICE9ICcmJykgJiYKKwkgICAoSVNfQ0hBUihjdXIpKSkgLyogdGVzdCBhbHNvIGRvbmUgaW4geG1sQ3VycmVudENoYXIoKSAqLyB7CisJaWYgKChjdXIgPT0gJ10nKSAmJiAoTlhUKDEpID09ICddJykgJiYKKwkgICAgKE5YVCgyKSA9PSAnPicpKSB7CisJICAgIGlmIChjZGF0YSkgYnJlYWs7CisJICAgIGVsc2UgeworCQl4bWxGYXRhbEVycihjdHh0LCBYTUxfRVJSX01JU1BMQUNFRF9DREFUQV9FTkQsIE5VTEwpOworCSAgICB9CisJfQorCUNPUFlfQlVGKGwsYnVmLG5iY2hhcixjdXIpOworCWlmIChuYmNoYXIgPj0gWE1MX1BBUlNFUl9CSUdfQlVGRkVSX1NJWkUpIHsKKwkgICAgYnVmW25iY2hhcl0gPSAwOworCisJICAgIC8qCisJICAgICAqIE9LIHRoZSBzZWdtZW50IGlzIHRvIGJlIGNvbnN1bWVkIGFzIGNoYXJzLgorCSAgICAgKi8KKwkgICAgaWYgKChjdHh0LT5zYXggIT0gTlVMTCkgJiYgKCFjdHh0LT5kaXNhYmxlU0FYKSkgeworCQlpZiAoYXJlQmxhbmtzKGN0eHQsIGJ1ZiwgbmJjaGFyLCAwKSkgeworCQkgICAgaWYgKGN0eHQtPnNheC0+aWdub3JhYmxlV2hpdGVzcGFjZSAhPSBOVUxMKQorCQkJY3R4dC0+c2F4LT5pZ25vcmFibGVXaGl0ZXNwYWNlKGN0eHQtPnVzZXJEYXRhLAorCQkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZiwgbmJjaGFyKTsKKwkJfSBlbHNlIHsKKwkJICAgIGlmIChjdHh0LT5zYXgtPmNoYXJhY3RlcnMgIT0gTlVMTCkKKwkJCWN0eHQtPnNheC0+Y2hhcmFjdGVycyhjdHh0LT51c2VyRGF0YSwgYnVmLCBuYmNoYXIpOworCQkgICAgaWYgKChjdHh0LT5zYXgtPmNoYXJhY3RlcnMgIT0KKwkJICAgICAgICAgY3R4dC0+c2F4LT5pZ25vcmFibGVXaGl0ZXNwYWNlKSAmJgorCQkJKCpjdHh0LT5zcGFjZSA9PSAtMSkpCisJCQkqY3R4dC0+c3BhY2UgPSAtMjsKKwkJfQorCSAgICB9CisJICAgIG5iY2hhciA9IDA7CisgICAgICAgICAgICAvKiBzb21ldGhpbmcgcmVhbGx5IGJhZCBoYXBwZW5lZCBpbiB0aGUgU0FYIGNhbGxiYWNrICovCisgICAgICAgICAgICBpZiAoY3R4dC0+aW5zdGF0ZSAhPSBYTUxfUEFSU0VSX0NPTlRFTlQpCisgICAgICAgICAgICAgICAgcmV0dXJuOworCX0KKwljb3VudCsrOworCWlmIChjb3VudCA+IDUwKSB7CisJICAgIEdST1c7CisJICAgIGNvdW50ID0gMDsKKyAgICAgICAgICAgIGlmIChjdHh0LT5pbnN0YXRlID09IFhNTF9QQVJTRVJfRU9GKQorCQlyZXR1cm47CisJfQorCU5FWFRMKGwpOworCWN1ciA9IENVUl9DSEFSKGwpOworICAgIH0KKyAgICBpZiAobmJjaGFyICE9IDApIHsKKyAgICAgICAgYnVmW25iY2hhcl0gPSAwOworCS8qCisJICogT0sgdGhlIHNlZ21lbnQgaXMgdG8gYmUgY29uc3VtZWQgYXMgY2hhcnMuCisJICovCisJaWYgKChjdHh0LT5zYXggIT0gTlVMTCkgJiYgKCFjdHh0LT5kaXNhYmxlU0FYKSkgeworCSAgICBpZiAoYXJlQmxhbmtzKGN0eHQsIGJ1ZiwgbmJjaGFyLCAwKSkgeworCQlpZiAoY3R4dC0+c2F4LT5pZ25vcmFibGVXaGl0ZXNwYWNlICE9IE5VTEwpCisJCSAgICBjdHh0LT5zYXgtPmlnbm9yYWJsZVdoaXRlc3BhY2UoY3R4dC0+dXNlckRhdGEsIGJ1ZiwgbmJjaGFyKTsKKwkgICAgfSBlbHNlIHsKKwkJaWYgKGN0eHQtPnNheC0+Y2hhcmFjdGVycyAhPSBOVUxMKQorCQkgICAgY3R4dC0+c2F4LT5jaGFyYWN0ZXJzKGN0eHQtPnVzZXJEYXRhLCBidWYsIG5iY2hhcik7CisJCWlmICgoY3R4dC0+c2F4LT5jaGFyYWN0ZXJzICE9IGN0eHQtPnNheC0+aWdub3JhYmxlV2hpdGVzcGFjZSkgJiYKKwkJICAgICgqY3R4dC0+c3BhY2UgPT0gLTEpKQorCQkgICAgKmN0eHQtPnNwYWNlID0gLTI7CisJICAgIH0KKwl9CisgICAgfQorICAgIGlmICgoY3VyICE9IDApICYmICghSVNfQ0hBUihjdXIpKSkgeworCS8qIEdlbmVyYXRlIHRoZSBlcnJvciBhbmQgc2tpcCB0aGUgb2ZmZW5kaW5nIGNoYXJhY3RlciAqLworICAgICAgICB4bWxGYXRhbEVyck1zZ0ludChjdHh0LCBYTUxfRVJSX0lOVkFMSURfQ0hBUiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIlBDREFUQSBpbnZhbGlkIENoYXIgdmFsdWUgJWRcbiIsCisJICAgICAgICAgICAgICAgICAgY3VyKTsKKwlORVhUTChsKTsKKyAgICB9Cit9CisKKy8qKgorICogeG1sUGFyc2VFeHRlcm5hbElEOgorICogQGN0eHQ6ICBhbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBwdWJsaWNJRDogIGEgeG1sQ2hhcioqIHJlY2VpdmluZyBQdWJpZExpdGVyYWwKKyAqIEBzdHJpY3Q6IGluZGljYXRlIHdoZXRoZXIgd2Ugc2hvdWxkIHJlc3RyaWN0IHBhcnNpbmcgdG8gb25seQorICogICAgICAgICAgcHJvZHVjdGlvbiBbNzVdLCBzZWUgTk9URSBiZWxvdworICoKKyAqIFBhcnNlIGFuIEV4dGVybmFsIElEIG9yIGEgUHVibGljIElECisgKgorICogTk9URTogUHJvZHVjdGlvbnMgWzc1XSBhbmQgWzgzXSBpbnRlcmFjdCBiYWRseSBzaW5jZSBbNzVdIGNhbiBnZW5lcmF0ZQorICogICAgICAgJ1BVQkxJQycgUyBQdWJpZExpdGVyYWwgUyBTeXN0ZW1MaXRlcmFsCisgKgorICogWzc1XSBFeHRlcm5hbElEIDo6PSAnU1lTVEVNJyBTIFN5c3RlbUxpdGVyYWwKKyAqICAgICAgICAgICAgICAgICAgIHwgJ1BVQkxJQycgUyBQdWJpZExpdGVyYWwgUyBTeXN0ZW1MaXRlcmFsCisgKgorICogWzgzXSBQdWJsaWNJRCA6Oj0gJ1BVQkxJQycgUyBQdWJpZExpdGVyYWwKKyAqCisgKiBSZXR1cm5zIHRoZSBmdW5jdGlvbiByZXR1cm5zIFN5c3RlbUxpdGVyYWwgYW5kIGluIHRoZSBzZWNvbmQKKyAqICAgICAgICAgICAgICAgIGNhc2UgcHVibGljSUQgcmVjZWl2ZXMgUHViaWRMaXRlcmFsLCBpcyBzdHJpY3QgaXMgb2ZmCisgKiAgICAgICAgICAgICAgICBpdCBpcyBwb3NzaWJsZSB0byByZXR1cm4gTlVMTCBhbmQgaGF2ZSBwdWJsaWNJRCBzZXQuCisgKi8KKworeG1sQ2hhciAqCit4bWxQYXJzZUV4dGVybmFsSUQoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0LCB4bWxDaGFyICoqcHVibGljSUQsIGludCBzdHJpY3QpIHsKKyAgICB4bWxDaGFyICpVUkkgPSBOVUxMOworCisgICAgU0hSSU5LOworCisgICAgKnB1YmxpY0lEID0gTlVMTDsKKyAgICBpZiAoQ01QNihDVVJfUFRSLCAnUycsICdZJywgJ1MnLCAnVCcsICdFJywgJ00nKSkgeworICAgICAgICBTS0lQKDYpOworCWlmICghSVNfQkxBTktfQ0goQ1VSKSkgeworCSAgICB4bWxGYXRhbEVyck1zZyhjdHh0LCBYTUxfRVJSX1NQQUNFX1JFUVVJUkVELAorCSAgICAgICAgICAgICAgICAgICAiU3BhY2UgcmVxdWlyZWQgYWZ0ZXIgJ1NZU1RFTSdcbiIpOworCX0KKyAgICAgICAgU0tJUF9CTEFOS1M7CisJVVJJID0geG1sUGFyc2VTeXN0ZW1MaXRlcmFsKGN0eHQpOworCWlmIChVUkkgPT0gTlVMTCkgeworCSAgICB4bWxGYXRhbEVycihjdHh0LCBYTUxfRVJSX1VSSV9SRVFVSVJFRCwgTlVMTCk7CisgICAgICAgIH0KKyAgICB9IGVsc2UgaWYgKENNUDYoQ1VSX1BUUiwgJ1AnLCAnVScsICdCJywgJ0wnLCAnSScsICdDJykpIHsKKyAgICAgICAgU0tJUCg2KTsKKwlpZiAoIUlTX0JMQU5LX0NIKENVUikpIHsKKwkgICAgeG1sRmF0YWxFcnJNc2coY3R4dCwgWE1MX0VSUl9TUEFDRV9SRVFVSVJFRCwKKwkJICAgICJTcGFjZSByZXF1aXJlZCBhZnRlciAnUFVCTElDJ1xuIik7CisJfQorICAgICAgICBTS0lQX0JMQU5LUzsKKwkqcHVibGljSUQgPSB4bWxQYXJzZVB1YmlkTGl0ZXJhbChjdHh0KTsKKwlpZiAoKnB1YmxpY0lEID09IE5VTEwpIHsKKwkgICAgeG1sRmF0YWxFcnIoY3R4dCwgWE1MX0VSUl9QVUJJRF9SRVFVSVJFRCwgTlVMTCk7CisJfQorCWlmIChzdHJpY3QpIHsKKwkgICAgLyoKKwkgICAgICogV2UgZG9uJ3QgaGFuZGxlIFs4M10gc28gIlMgU3lzdGVtTGl0ZXJhbCIgaXMgcmVxdWlyZWQuCisJICAgICAqLworCSAgICBpZiAoIUlTX0JMQU5LX0NIKENVUikpIHsKKwkJeG1sRmF0YWxFcnJNc2coY3R4dCwgWE1MX0VSUl9TUEFDRV9SRVFVSVJFRCwKKwkJCSJTcGFjZSByZXF1aXJlZCBhZnRlciB0aGUgUHVibGljIElkZW50aWZpZXJcbiIpOworCSAgICB9CisJfSBlbHNlIHsKKwkgICAgLyoKKwkgICAgICogV2UgaGFuZGxlIFs4M10gc28gd2UgcmV0dXJuIGltbWVkaWF0ZWx5LCBpZgorCSAgICAgKiAiUyBTeXN0ZW1MaXRlcmFsIiBpcyBub3QgZGV0ZWN0ZWQuIEZyb20gYSBwdXJlbHkgcGFyc2luZworCSAgICAgKiBwb2ludCBvZiB2aWV3IHRoYXQncyBhIG5pY2UgbWVzcy4KKwkgICAgICovCisJICAgIGNvbnN0IHhtbENoYXIgKnB0cjsKKwkgICAgR1JPVzsKKworCSAgICBwdHIgPSBDVVJfUFRSOworCSAgICBpZiAoIUlTX0JMQU5LX0NIKCpwdHIpKSByZXR1cm4oTlVMTCk7CisKKwkgICAgd2hpbGUgKElTX0JMQU5LX0NIKCpwdHIpKSBwdHIrKzsgLyogVE9ETzogZGFuZ2Vyb3VzLCBmaXggISAqLworCSAgICBpZiAoKCpwdHIgIT0gJ1wnJykgJiYgKCpwdHIgIT0gJyInKSkgcmV0dXJuKE5VTEwpOworCX0KKyAgICAgICAgU0tJUF9CTEFOS1M7CisJVVJJID0geG1sUGFyc2VTeXN0ZW1MaXRlcmFsKGN0eHQpOworCWlmIChVUkkgPT0gTlVMTCkgeworCSAgICB4bWxGYXRhbEVycihjdHh0LCBYTUxfRVJSX1VSSV9SRVFVSVJFRCwgTlVMTCk7CisgICAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuKFVSSSk7Cit9CisKKy8qKgorICogeG1sUGFyc2VDb21tZW50Q29tcGxleDoKKyAqIEBjdHh0OiAgYW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAYnVmOiAgdGhlIGFscmVhZHkgcGFyc2VkIHBhcnQgb2YgdGhlIGJ1ZmZlcgorICogQGxlbjogIG51bWJlciBvZiBieXRlcyBmaWxsZXMgaW4gdGhlIGJ1ZmZlcgorICogQHNpemU6ICBhbGxvY2F0ZWQgc2l6ZSBvZiB0aGUgYnVmZmVyCisgKgorICogU2tpcCBhbiBYTUwgKFNHTUwpIGNvbW1lbnQgPCEtLSAuLi4uIC0tPgorICogIFRoZSBzcGVjIHNheXMgdGhhdCAiRm9yIGNvbXBhdGliaWxpdHksIHRoZSBzdHJpbmcgIi0tIiAoZG91YmxlLWh5cGhlbikKKyAqICBtdXN0IG5vdCBvY2N1ciB3aXRoaW4gY29tbWVudHMuICIKKyAqIFRoaXMgaXMgdGhlIHNsb3cgcm91dGluZSBpbiBjYXNlIHRoZSBhY2NlbGVyYXRvciBmb3IgYXNjaWkgZGlkbid0IHdvcmsKKyAqCisgKiBbMTVdIENvbW1lbnQgOjo9ICc8IS0tJyAoKENoYXIgLSAnLScpIHwgKCctJyAoQ2hhciAtICctJykpKSogJy0tPicKKyAqLworc3RhdGljIHZvaWQKK3htbFBhcnNlQ29tbWVudENvbXBsZXgoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0LCB4bWxDaGFyICpidWYsCisgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBsZW4sIHNpemVfdCBzaXplKSB7CisgICAgaW50IHEsIHFsOworICAgIGludCByLCBybDsKKyAgICBpbnQgY3VyLCBsOworICAgIHNpemVfdCBjb3VudCA9IDA7CisgICAgaW50IGlucHV0aWQ7CisKKyAgICBpbnB1dGlkID0gY3R4dC0+aW5wdXQtPmlkOworCisgICAgaWYgKGJ1ZiA9PSBOVUxMKSB7CisgICAgICAgIGxlbiA9IDA7CisJc2l6ZSA9IFhNTF9QQVJTRVJfQlVGRkVSX1NJWkU7CisJYnVmID0gKHhtbENoYXIgKikgeG1sTWFsbG9jQXRvbWljKHNpemUgKiBzaXplb2YoeG1sQ2hhcikpOworCWlmIChidWYgPT0gTlVMTCkgeworCSAgICB4bWxFcnJNZW1vcnkoY3R4dCwgTlVMTCk7CisJICAgIHJldHVybjsKKwl9CisgICAgfQorICAgIEdST1c7CS8qIEFzc3VyZSB0aGVyZSdzIGVub3VnaCBpbnB1dCBkYXRhICovCisgICAgcSA9IENVUl9DSEFSKHFsKTsKKyAgICBpZiAocSA9PSAwKQorICAgICAgICBnb3RvIG5vdF90ZXJtaW5hdGVkOworICAgIGlmICghSVNfQ0hBUihxKSkgeworICAgICAgICB4bWxGYXRhbEVyck1zZ0ludChjdHh0LCBYTUxfRVJSX0lOVkFMSURfQ0hBUiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgInhtbFBhcnNlQ29tbWVudDogaW52YWxpZCB4bWxDaGFyIHZhbHVlICVkXG4iLAorCSAgICAgICAgICAgICAgICAgIHEpOworCXhtbEZyZWUgKGJ1Zik7CisJcmV0dXJuOworICAgIH0KKyAgICBORVhUTChxbCk7CisgICAgciA9IENVUl9DSEFSKHJsKTsKKyAgICBpZiAociA9PSAwKQorICAgICAgICBnb3RvIG5vdF90ZXJtaW5hdGVkOworICAgIGlmICghSVNfQ0hBUihyKSkgeworICAgICAgICB4bWxGYXRhbEVyck1zZ0ludChjdHh0LCBYTUxfRVJSX0lOVkFMSURfQ0hBUiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgInhtbFBhcnNlQ29tbWVudDogaW52YWxpZCB4bWxDaGFyIHZhbHVlICVkXG4iLAorCSAgICAgICAgICAgICAgICAgIHEpOworCXhtbEZyZWUgKGJ1Zik7CisJcmV0dXJuOworICAgIH0KKyAgICBORVhUTChybCk7CisgICAgY3VyID0gQ1VSX0NIQVIobCk7CisgICAgaWYgKGN1ciA9PSAwKQorICAgICAgICBnb3RvIG5vdF90ZXJtaW5hdGVkOworICAgIHdoaWxlIChJU19DSEFSKGN1cikgJiYgLyogY2hlY2tlZCAqLworICAgICAgICAgICAoKGN1ciAhPSAnPicpIHx8CisJICAgIChyICE9ICctJykgfHwgKHEgIT0gJy0nKSkpIHsKKwlpZiAoKHIgPT0gJy0nKSAmJiAocSA9PSAnLScpKSB7CisJICAgIHhtbEZhdGFsRXJyKGN0eHQsIFhNTF9FUlJfSFlQSEVOX0lOX0NPTU1FTlQsIE5VTEwpOworCX0KKyAgICAgICAgaWYgKChsZW4gPiBYTUxfTUFYX1RFWFRfTEVOR1RIKSAmJgorICAgICAgICAgICAgKChjdHh0LT5vcHRpb25zICYgWE1MX1BBUlNFX0hVR0UpID09IDApKSB7CisgICAgICAgICAgICB4bWxGYXRhbEVyck1zZ1N0cihjdHh0LCBYTUxfRVJSX0NPTU1FTlRfTk9UX0ZJTklTSEVELAorICAgICAgICAgICAgICAgICAgICAgICAgICJDb21tZW50IHRvbyBiaWcgZm91bmQiLCBOVUxMKTsKKyAgICAgICAgICAgIHhtbEZyZWUgKGJ1Zik7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKwlpZiAobGVuICsgNSA+PSBzaXplKSB7CisJICAgIHhtbENoYXIgKm5ld19idWY7CisgICAgICAgICAgICBzaXplX3QgbmV3X3NpemU7CisKKwkgICAgbmV3X3NpemUgPSBzaXplICogMjsKKwkgICAgbmV3X2J1ZiA9ICh4bWxDaGFyICopIHhtbFJlYWxsb2MoYnVmLCBuZXdfc2l6ZSk7CisJICAgIGlmIChuZXdfYnVmID09IE5VTEwpIHsKKwkJeG1sRnJlZSAoYnVmKTsKKwkJeG1sRXJyTWVtb3J5KGN0eHQsIE5VTEwpOworCQlyZXR1cm47CisJICAgIH0KKwkgICAgYnVmID0gbmV3X2J1ZjsKKyAgICAgICAgICAgIHNpemUgPSBuZXdfc2l6ZTsKKwl9CisJQ09QWV9CVUYocWwsYnVmLGxlbixxKTsKKwlxID0gcjsKKwlxbCA9IHJsOworCXIgPSBjdXI7CisJcmwgPSBsOworCisJY291bnQrKzsKKwlpZiAoY291bnQgPiA1MCkgeworCSAgICBHUk9XOworCSAgICBjb3VudCA9IDA7CisgICAgICAgICAgICBpZiAoY3R4dC0+aW5zdGF0ZSA9PSBYTUxfUEFSU0VSX0VPRikgeworCQl4bWxGcmVlKGJ1Zik7CisJCXJldHVybjsKKyAgICAgICAgICAgIH0KKwl9CisJTkVYVEwobCk7CisJY3VyID0gQ1VSX0NIQVIobCk7CisJaWYgKGN1ciA9PSAwKSB7CisJICAgIFNIUklOSzsKKwkgICAgR1JPVzsKKwkgICAgY3VyID0gQ1VSX0NIQVIobCk7CisJfQorICAgIH0KKyAgICBidWZbbGVuXSA9IDA7CisgICAgaWYgKGN1ciA9PSAwKSB7CisJeG1sRmF0YWxFcnJNc2dTdHIoY3R4dCwgWE1MX0VSUl9DT01NRU5UX05PVF9GSU5JU0hFRCwKKwkgICAgICAgICAgICAgICAgICAgICAiQ29tbWVudCBub3QgdGVybWluYXRlZCBcbjwhLS0lLjUwc1xuIiwgYnVmKTsKKyAgICB9IGVsc2UgaWYgKCFJU19DSEFSKGN1cikpIHsKKyAgICAgICAgeG1sRmF0YWxFcnJNc2dJbnQoY3R4dCwgWE1MX0VSUl9JTlZBTElEX0NIQVIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICJ4bWxQYXJzZUNvbW1lbnQ6IGludmFsaWQgeG1sQ2hhciB2YWx1ZSAlZFxuIiwKKwkgICAgICAgICAgICAgICAgICBjdXIpOworICAgIH0gZWxzZSB7CisJaWYgKGlucHV0aWQgIT0gY3R4dC0+aW5wdXQtPmlkKSB7CisJICAgIHhtbEZhdGFsRXJyTXNnKGN0eHQsIFhNTF9FUlJfRU5USVRZX0JPVU5EQVJZLAorCQkiQ29tbWVudCBkb2Vzbid0IHN0YXJ0IGFuZCBzdG9wIGluIHRoZSBzYW1lIGVudGl0eVxuIik7CisJfQorICAgICAgICBORVhUOworCWlmICgoY3R4dC0+c2F4ICE9IE5VTEwpICYmIChjdHh0LT5zYXgtPmNvbW1lbnQgIT0gTlVMTCkgJiYKKwkgICAgKCFjdHh0LT5kaXNhYmxlU0FYKSkKKwkgICAgY3R4dC0+c2F4LT5jb21tZW50KGN0eHQtPnVzZXJEYXRhLCBidWYpOworICAgIH0KKyAgICB4bWxGcmVlKGJ1Zik7CisgICAgcmV0dXJuOworbm90X3Rlcm1pbmF0ZWQ6CisgICAgeG1sRmF0YWxFcnJNc2dTdHIoY3R4dCwgWE1MX0VSUl9DT01NRU5UX05PVF9GSU5JU0hFRCwKKwkJCSAiQ29tbWVudCBub3QgdGVybWluYXRlZFxuIiwgTlVMTCk7CisgICAgeG1sRnJlZShidWYpOworICAgIHJldHVybjsKK30KKworLyoqCisgKiB4bWxQYXJzZUNvbW1lbnQ6CisgKiBAY3R4dDogIGFuIFhNTCBwYXJzZXIgY29udGV4dAorICoKKyAqIFNraXAgYW4gWE1MIChTR01MKSBjb21tZW50IDwhLS0gLi4uLiAtLT4KKyAqICBUaGUgc3BlYyBzYXlzIHRoYXQgIkZvciBjb21wYXRpYmlsaXR5LCB0aGUgc3RyaW5nICItLSIgKGRvdWJsZS1oeXBoZW4pCisgKiAgbXVzdCBub3Qgb2NjdXIgd2l0aGluIGNvbW1lbnRzLiAiCisgKgorICogWzE1XSBDb21tZW50IDo6PSAnPCEtLScgKChDaGFyIC0gJy0nKSB8ICgnLScgKENoYXIgLSAnLScpKSkqICctLT4nCisgKi8KK3ZvaWQKK3htbFBhcnNlQ29tbWVudCh4bWxQYXJzZXJDdHh0UHRyIGN0eHQpIHsKKyAgICB4bWxDaGFyICpidWYgPSBOVUxMOworICAgIHNpemVfdCBzaXplID0gWE1MX1BBUlNFUl9CVUZGRVJfU0laRTsKKyAgICBzaXplX3QgbGVuID0gMDsKKyAgICB4bWxQYXJzZXJJbnB1dFN0YXRlIHN0YXRlOworICAgIGNvbnN0IHhtbENoYXIgKmluOworICAgIHNpemVfdCBuYmNoYXIgPSAwOworICAgIGludCBjY29sOworICAgIGludCBpbnB1dGlkOworCisgICAgLyoKKyAgICAgKiBDaGVjayB0aGF0IHRoZXJlIGlzIGEgY29tbWVudCByaWdodCBoZXJlLgorICAgICAqLworICAgIGlmICgoUkFXICE9ICc8JykgfHwgKE5YVCgxKSAhPSAnIScpIHx8CisgICAgICAgIChOWFQoMikgIT0gJy0nKSB8fCAoTlhUKDMpICE9ICctJykpIHJldHVybjsKKyAgICBzdGF0ZSA9IGN0eHQtPmluc3RhdGU7CisgICAgY3R4dC0+aW5zdGF0ZSA9IFhNTF9QQVJTRVJfQ09NTUVOVDsKKyAgICBpbnB1dGlkID0gY3R4dC0+aW5wdXQtPmlkOworICAgIFNLSVAoNCk7CisgICAgU0hSSU5LOworICAgIEdST1c7CisKKyAgICAvKgorICAgICAqIEFjY2VsZXJhdGVkIGNvbW1vbiBjYXNlIHdoZXJlIGlucHV0IGRvbid0IG5lZWQgdG8gYmUKKyAgICAgKiBtb2RpZmllZCBiZWZvcmUgcGFzc2luZyBpdCB0byB0aGUgaGFuZGxlci4KKyAgICAgKi8KKyAgICBpbiA9IGN0eHQtPmlucHV0LT5jdXI7CisgICAgZG8geworCWlmICgqaW4gPT0gMHhBKSB7CisJICAgIGRvIHsKKwkJY3R4dC0+aW5wdXQtPmxpbmUrKzsgY3R4dC0+aW5wdXQtPmNvbCA9IDE7CisJCWluKys7CisJICAgIH0gd2hpbGUgKCppbiA9PSAweEEpOworCX0KK2dldF9tb3JlOgorICAgICAgICBjY29sID0gY3R4dC0+aW5wdXQtPmNvbDsKKwl3aGlsZSAoKCgqaW4gPiAnLScpICYmICgqaW4gPD0gMHg3RikpIHx8CisJICAgICAgICgoKmluID49IDB4MjApICYmICgqaW4gPCAnLScpKSB8fAorCSAgICAgICAoKmluID09IDB4MDkpKSB7CisJCSAgICBpbisrOworCQkgICAgY2NvbCsrOworCX0KKwljdHh0LT5pbnB1dC0+Y29sID0gY2NvbDsKKwlpZiAoKmluID09IDB4QSkgeworCSAgICBkbyB7CisJCWN0eHQtPmlucHV0LT5saW5lKys7IGN0eHQtPmlucHV0LT5jb2wgPSAxOworCQlpbisrOworCSAgICB9IHdoaWxlICgqaW4gPT0gMHhBKTsKKwkgICAgZ290byBnZXRfbW9yZTsKKwl9CisJbmJjaGFyID0gaW4gLSBjdHh0LT5pbnB1dC0+Y3VyOworCS8qCisJICogc2F2ZSBjdXJyZW50IHNldCBvZiBkYXRhCisJICovCisJaWYgKG5iY2hhciA+IDApIHsKKwkgICAgaWYgKChjdHh0LT5zYXggIT0gTlVMTCkgJiYKKwkJKGN0eHQtPnNheC0+Y29tbWVudCAhPSBOVUxMKSkgeworCQlpZiAoYnVmID09IE5VTEwpIHsKKwkJICAgIGlmICgoKmluID09ICctJykgJiYgKGluWzFdID09ICctJykpCisJCSAgICAgICAgc2l6ZSA9IG5iY2hhciArIDE7CisJCSAgICBlbHNlCisJCSAgICAgICAgc2l6ZSA9IFhNTF9QQVJTRVJfQlVGRkVSX1NJWkUgKyBuYmNoYXI7CisJCSAgICBidWYgPSAoeG1sQ2hhciAqKSB4bWxNYWxsb2NBdG9taWMoc2l6ZSAqIHNpemVvZih4bWxDaGFyKSk7CisJCSAgICBpZiAoYnVmID09IE5VTEwpIHsKKwkJICAgICAgICB4bWxFcnJNZW1vcnkoY3R4dCwgTlVMTCk7CisJCQljdHh0LT5pbnN0YXRlID0gc3RhdGU7CisJCQlyZXR1cm47CisJCSAgICB9CisJCSAgICBsZW4gPSAwOworCQl9IGVsc2UgaWYgKGxlbiArIG5iY2hhciArIDEgPj0gc2l6ZSkgeworCQkgICAgeG1sQ2hhciAqbmV3X2J1ZjsKKwkJICAgIHNpemUgICs9IGxlbiArIG5iY2hhciArIFhNTF9QQVJTRVJfQlVGRkVSX1NJWkU7CisJCSAgICBuZXdfYnVmID0gKHhtbENoYXIgKikgeG1sUmVhbGxvYyhidWYsCisJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplICogc2l6ZW9mKHhtbENoYXIpKTsKKwkJICAgIGlmIChuZXdfYnVmID09IE5VTEwpIHsKKwkJICAgICAgICB4bWxGcmVlIChidWYpOworCQkJeG1sRXJyTWVtb3J5KGN0eHQsIE5VTEwpOworCQkJY3R4dC0+aW5zdGF0ZSA9IHN0YXRlOworCQkJcmV0dXJuOworCQkgICAgfQorCQkgICAgYnVmID0gbmV3X2J1ZjsKKwkJfQorCQltZW1jcHkoJmJ1ZltsZW5dLCBjdHh0LT5pbnB1dC0+Y3VyLCBuYmNoYXIpOworCQlsZW4gKz0gbmJjaGFyOworCQlidWZbbGVuXSA9IDA7CisJICAgIH0KKwl9CisgICAgICAgIGlmICgobGVuID4gWE1MX01BWF9URVhUX0xFTkdUSCkgJiYKKyAgICAgICAgICAgICgoY3R4dC0+b3B0aW9ucyAmIFhNTF9QQVJTRV9IVUdFKSA9PSAwKSkgeworICAgICAgICAgICAgeG1sRmF0YWxFcnJNc2dTdHIoY3R4dCwgWE1MX0VSUl9DT01NRU5UX05PVF9GSU5JU0hFRCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAiQ29tbWVudCB0b28gYmlnIGZvdW5kIiwgTlVMTCk7CisgICAgICAgICAgICB4bWxGcmVlIChidWYpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisJY3R4dC0+aW5wdXQtPmN1ciA9IGluOworCWlmICgqaW4gPT0gMHhBKSB7CisJICAgIGluKys7CisJICAgIGN0eHQtPmlucHV0LT5saW5lKys7IGN0eHQtPmlucHV0LT5jb2wgPSAxOworCX0KKwlpZiAoKmluID09IDB4RCkgeworCSAgICBpbisrOworCSAgICBpZiAoKmluID09IDB4QSkgeworCQljdHh0LT5pbnB1dC0+Y3VyID0gaW47CisJCWluKys7CisJCWN0eHQtPmlucHV0LT5saW5lKys7IGN0eHQtPmlucHV0LT5jb2wgPSAxOworCQljb250aW51ZTsgLyogd2hpbGUgKi8KKwkgICAgfQorCSAgICBpbi0tOworCX0KKwlTSFJJTks7CisJR1JPVzsKKyAgICAgICAgaWYgKGN0eHQtPmluc3RhdGUgPT0gWE1MX1BBUlNFUl9FT0YpIHsKKyAgICAgICAgICAgIHhtbEZyZWUoYnVmKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCWluID0gY3R4dC0+aW5wdXQtPmN1cjsKKwlpZiAoKmluID09ICctJykgeworCSAgICBpZiAoaW5bMV0gPT0gJy0nKSB7CisJICAgICAgICBpZiAoaW5bMl0gPT0gJz4nKSB7CisJCSAgICBpZiAoY3R4dC0+aW5wdXQtPmlkICE9IGlucHV0aWQpIHsKKwkJCXhtbEZhdGFsRXJyTXNnKGN0eHQsIFhNTF9FUlJfRU5USVRZX0JPVU5EQVJZLAorCQkJImNvbW1lbnQgZG9lc24ndCBzdGFydCBhbmQgc3RvcCBpbiB0aGUgc2FtZSBlbnRpdHlcbiIpOworCQkgICAgfQorCQkgICAgU0tJUCgzKTsKKwkJICAgIGlmICgoY3R4dC0+c2F4ICE9IE5VTEwpICYmIChjdHh0LT5zYXgtPmNvbW1lbnQgIT0gTlVMTCkgJiYKKwkJICAgICAgICAoIWN0eHQtPmRpc2FibGVTQVgpKSB7CisJCQlpZiAoYnVmICE9IE5VTEwpCisJCQkgICAgY3R4dC0+c2F4LT5jb21tZW50KGN0eHQtPnVzZXJEYXRhLCBidWYpOworCQkJZWxzZQorCQkJICAgIGN0eHQtPnNheC0+Y29tbWVudChjdHh0LT51c2VyRGF0YSwgQkFEX0NBU1QgIiIpOworCQkgICAgfQorCQkgICAgaWYgKGJ1ZiAhPSBOVUxMKQorCQkgICAgICAgIHhtbEZyZWUoYnVmKTsKKwkJICAgIGlmIChjdHh0LT5pbnN0YXRlICE9IFhNTF9QQVJTRVJfRU9GKQorCQkJY3R4dC0+aW5zdGF0ZSA9IHN0YXRlOworCQkgICAgcmV0dXJuOworCQl9CisJCWlmIChidWYgIT0gTlVMTCkgeworCQkgICAgeG1sRmF0YWxFcnJNc2dTdHIoY3R4dCwgWE1MX0VSUl9IWVBIRU5fSU5fQ09NTUVOVCwKKwkJICAgICAgICAgICAgICAgICAgICAgICJEb3VibGUgaHlwaGVuIHdpdGhpbiBjb21tZW50OiAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICI8IS0tJS41MHNcbiIsCisJCQkJICAgICAgYnVmKTsKKwkJfSBlbHNlCisJCSAgICB4bWxGYXRhbEVyck1zZ1N0cihjdHh0LCBYTUxfRVJSX0hZUEhFTl9JTl9DT01NRU5ULAorCQkgICAgICAgICAgICAgICAgICAgICAgIkRvdWJsZSBoeXBoZW4gd2l0aGluIGNvbW1lbnRcbiIsIE5VTEwpOworCQlpbisrOworCQljdHh0LT5pbnB1dC0+Y29sKys7CisJICAgIH0KKwkgICAgaW4rKzsKKwkgICAgY3R4dC0+aW5wdXQtPmNvbCsrOworCSAgICBnb3RvIGdldF9tb3JlOworCX0KKyAgICB9IHdoaWxlICgoKCppbiA+PSAweDIwKSAmJiAoKmluIDw9IDB4N0YpKSB8fCAoKmluID09IDB4MDkpKTsKKyAgICB4bWxQYXJzZUNvbW1lbnRDb21wbGV4KGN0eHQsIGJ1ZiwgbGVuLCBzaXplKTsKKyAgICBjdHh0LT5pbnN0YXRlID0gc3RhdGU7CisgICAgcmV0dXJuOworfQorCisKKy8qKgorICogeG1sUGFyc2VQSVRhcmdldDoKKyAqIEBjdHh0OiAgYW4gWE1MIHBhcnNlciBjb250ZXh0CisgKgorICogcGFyc2UgdGhlIG5hbWUgb2YgYSBQSQorICoKKyAqIFsxN10gUElUYXJnZXQgOjo9IE5hbWUgLSAoKCdYJyB8ICd4JykgKCdNJyB8ICdtJykgKCdMJyB8ICdsJykpCisgKgorICogUmV0dXJucyB0aGUgUElUYXJnZXQgbmFtZSBvciBOVUxMCisgKi8KKworY29uc3QgeG1sQ2hhciAqCit4bWxQYXJzZVBJVGFyZ2V0KHhtbFBhcnNlckN0eHRQdHIgY3R4dCkgeworICAgIGNvbnN0IHhtbENoYXIgKm5hbWU7CisKKyAgICBuYW1lID0geG1sUGFyc2VOYW1lKGN0eHQpOworICAgIGlmICgobmFtZSAhPSBOVUxMKSAmJgorICAgICAgICAoKG5hbWVbMF0gPT0gJ3gnKSB8fCAobmFtZVswXSA9PSAnWCcpKSAmJgorICAgICAgICAoKG5hbWVbMV0gPT0gJ20nKSB8fCAobmFtZVsxXSA9PSAnTScpKSAmJgorICAgICAgICAoKG5hbWVbMl0gPT0gJ2wnKSB8fCAobmFtZVsyXSA9PSAnTCcpKSkgeworCWludCBpOworCWlmICgobmFtZVswXSA9PSAneCcpICYmIChuYW1lWzFdID09ICdtJykgJiYKKwkgICAgKG5hbWVbMl0gPT0gJ2wnKSAmJiAobmFtZVszXSA9PSAwKSkgeworCSAgICB4bWxGYXRhbEVyck1zZyhjdHh0LCBYTUxfRVJSX1JFU0VSVkVEX1hNTF9OQU1FLAorCQkgIlhNTCBkZWNsYXJhdGlvbiBhbGxvd2VkIG9ubHkgYXQgdGhlIHN0YXJ0IG9mIHRoZSBkb2N1bWVudFxuIik7CisJICAgIHJldHVybihuYW1lKTsKKwl9IGVsc2UgaWYgKG5hbWVbM10gPT0gMCkgeworCSAgICB4bWxGYXRhbEVycihjdHh0LCBYTUxfRVJSX1JFU0VSVkVEX1hNTF9OQU1FLCBOVUxMKTsKKwkgICAgcmV0dXJuKG5hbWUpOworCX0KKwlmb3IgKGkgPSAwOztpKyspIHsKKwkgICAgaWYgKHhtbFczQ1BJc1tpXSA9PSBOVUxMKSBicmVhazsKKwkgICAgaWYgKHhtbFN0ckVxdWFsKG5hbWUsIChjb25zdCB4bWxDaGFyICopeG1sVzNDUElzW2ldKSkKKwkgICAgICAgIHJldHVybihuYW1lKTsKKwl9CisJeG1sV2FybmluZ01zZyhjdHh0LCBYTUxfRVJSX1JFU0VSVkVEX1hNTF9OQU1FLAorCQkgICAgICAieG1sUGFyc2VQSVRhcmdldDogaW52YWxpZCBuYW1lIHByZWZpeCAneG1sJ1xuIiwKKwkJICAgICAgTlVMTCwgTlVMTCk7CisgICAgfQorICAgIGlmICgobmFtZSAhPSBOVUxMKSAmJiAoeG1sU3RyY2hyKG5hbWUsICc6JykgIT0gTlVMTCkpIHsKKwl4bWxOc0VycihjdHh0LCBYTUxfTlNfRVJSX0NPTE9OLAorCQkgImNvbG9ucyBhcmUgZm9yYmlkZGVuIGZyb20gUEkgbmFtZXMgJyVzJ1xuIiwgbmFtZSwgTlVMTCwgTlVMTCk7CisgICAgfQorICAgIHJldHVybihuYW1lKTsKK30KKworI2lmZGVmIExJQlhNTF9DQVRBTE9HX0VOQUJMRUQKKy8qKgorICogeG1sUGFyc2VDYXRhbG9nUEk6CisgKiBAY3R4dDogIGFuIFhNTCBwYXJzZXIgY29udGV4dAorICogQGNhdGFsb2c6ICB0aGUgUEkgdmFsdWUgc3RyaW5nCisgKgorICogcGFyc2UgYW4gWE1MIENhdGFsb2cgUHJvY2Vzc2luZyBJbnN0cnVjdGlvbi4KKyAqCisgKiA8P29hc2lzLXhtbC1jYXRhbG9nIGNhdGFsb2c9Imh0dHA6Ly9leGFtcGxlLmNvbS9jYXRhbG9nLnhtbCI/PgorICoKKyAqIE9jY3VycyBvbmx5IGlmIGFsbG93ZWQgYnkgdGhlIHVzZXIgYW5kIGlmIGhhcHBlbmluZyBpbiB0aGUgTWlzYworICogcGFydCBvZiB0aGUgZG9jdW1lbnQgYmVmb3JlIGFueSBkb2N0eXBlIGluZm9ybWF0aW9ucworICogVGhpcyB3aWxsIGFkZCB0aGUgZ2l2ZW4gY2F0YWxvZyB0byB0aGUgcGFyc2luZyBjb250ZXh0IGluIG9yZGVyCisgKiB0byBiZSB1c2VkIGlmIHRoZXJlIGlzIGEgcmVzb2x1dGlvbiBuZWVkIGZ1cnRoZXIgZG93biBpbiB0aGUgZG9jdW1lbnQKKyAqLworCitzdGF0aWMgdm9pZAoreG1sUGFyc2VDYXRhbG9nUEkoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0LCBjb25zdCB4bWxDaGFyICpjYXRhbG9nKSB7CisgICAgeG1sQ2hhciAqVVJMID0gTlVMTDsKKyAgICBjb25zdCB4bWxDaGFyICp0bXAsICpiYXNlOworICAgIHhtbENoYXIgbWFya2VyOworCisgICAgdG1wID0gY2F0YWxvZzsKKyAgICB3aGlsZSAoSVNfQkxBTktfQ0goKnRtcCkpIHRtcCsrOworICAgIGlmICh4bWxTdHJuY21wKHRtcCwgQkFEX0NBU1QiY2F0YWxvZyIsIDcpKQorCWdvdG8gZXJyb3I7CisgICAgdG1wICs9IDc7CisgICAgd2hpbGUgKElTX0JMQU5LX0NIKCp0bXApKSB0bXArKzsKKyAgICBpZiAoKnRtcCAhPSAnPScpIHsKKwlyZXR1cm47CisgICAgfQorICAgIHRtcCsrOworICAgIHdoaWxlIChJU19CTEFOS19DSCgqdG1wKSkgdG1wKys7CisgICAgbWFya2VyID0gKnRtcDsKKyAgICBpZiAoKG1hcmtlciAhPSAnXCcnKSAmJiAobWFya2VyICE9ICciJykpCisJZ290byBlcnJvcjsKKyAgICB0bXArKzsKKyAgICBiYXNlID0gdG1wOworICAgIHdoaWxlICgoKnRtcCAhPSAwKSAmJiAoKnRtcCAhPSBtYXJrZXIpKSB0bXArKzsKKyAgICBpZiAoKnRtcCA9PSAwKQorCWdvdG8gZXJyb3I7CisgICAgVVJMID0geG1sU3RybmR1cChiYXNlLCB0bXAgLSBiYXNlKTsKKyAgICB0bXArKzsKKyAgICB3aGlsZSAoSVNfQkxBTktfQ0goKnRtcCkpIHRtcCsrOworICAgIGlmICgqdG1wICE9IDApCisJZ290byBlcnJvcjsKKworICAgIGlmIChVUkwgIT0gTlVMTCkgeworCWN0eHQtPmNhdGFsb2dzID0geG1sQ2F0YWxvZ0FkZExvY2FsKGN0eHQtPmNhdGFsb2dzLCBVUkwpOworCXhtbEZyZWUoVVJMKTsKKyAgICB9CisgICAgcmV0dXJuOworCitlcnJvcjoKKyAgICB4bWxXYXJuaW5nTXNnKGN0eHQsIFhNTF9XQVJfQ0FUQUxPR19QSSwKKwkgICAgICAgICAgIkNhdGFsb2cgUEkgc3ludGF4IGVycm9yOiAlc1xuIiwKKwkJICBjYXRhbG9nLCBOVUxMKTsKKyAgICBpZiAoVVJMICE9IE5VTEwpCisJeG1sRnJlZShVUkwpOworfQorI2VuZGlmCisKKy8qKgorICogeG1sUGFyc2VQSToKKyAqIEBjdHh0OiAgYW4gWE1MIHBhcnNlciBjb250ZXh0CisgKgorICogcGFyc2UgYW4gWE1MIFByb2Nlc3NpbmcgSW5zdHJ1Y3Rpb24uCisgKgorICogWzE2XSBQSSA6Oj0gJzw/JyBQSVRhcmdldCAoUyAoQ2hhciogLSAoQ2hhciogJz8+JyBDaGFyKikpKT8gJz8+JworICoKKyAqIFRoZSBwcm9jZXNzaW5nIGlzIHRyYW5zZmVyZWQgdG8gU0FYIG9uY2UgcGFyc2VkLgorICovCisKK3ZvaWQKK3htbFBhcnNlUEkoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0KSB7CisgICAgeG1sQ2hhciAqYnVmID0gTlVMTDsKKyAgICBzaXplX3QgbGVuID0gMDsKKyAgICBzaXplX3Qgc2l6ZSA9IFhNTF9QQVJTRVJfQlVGRkVSX1NJWkU7CisgICAgaW50IGN1ciwgbDsKKyAgICBjb25zdCB4bWxDaGFyICp0YXJnZXQ7CisgICAgeG1sUGFyc2VySW5wdXRTdGF0ZSBzdGF0ZTsKKyAgICBpbnQgY291bnQgPSAwOworCisgICAgaWYgKChSQVcgPT0gJzwnKSAmJiAoTlhUKDEpID09ICc/JykpIHsKKwl4bWxQYXJzZXJJbnB1dFB0ciBpbnB1dCA9IGN0eHQtPmlucHV0OworCXN0YXRlID0gY3R4dC0+aW5zdGF0ZTsKKyAgICAgICAgY3R4dC0+aW5zdGF0ZSA9IFhNTF9QQVJTRVJfUEk7CisJLyoKKwkgKiB0aGlzIGlzIGEgUHJvY2Vzc2luZyBJbnN0cnVjdGlvbi4KKwkgKi8KKwlTS0lQKDIpOworCVNIUklOSzsKKworCS8qCisJICogUGFyc2UgdGhlIHRhcmdldCBuYW1lIGFuZCBjaGVjayBmb3Igc3BlY2lhbCBzdXBwb3J0IGxpa2UKKwkgKiBuYW1lc3BhY2UuCisJICovCisgICAgICAgIHRhcmdldCA9IHhtbFBhcnNlUElUYXJnZXQoY3R4dCk7CisJaWYgKHRhcmdldCAhPSBOVUxMKSB7CisJICAgIGlmICgoUkFXID09ICc/JykgJiYgKE5YVCgxKSA9PSAnPicpKSB7CisJCWlmIChpbnB1dCAhPSBjdHh0LT5pbnB1dCkgeworCQkgICAgeG1sRmF0YWxFcnJNc2coY3R4dCwgWE1MX0VSUl9FTlRJVFlfQk9VTkRBUlksCisJICAgICJQSSBkZWNsYXJhdGlvbiBkb2Vzbid0IHN0YXJ0IGFuZCBzdG9wIGluIHRoZSBzYW1lIGVudGl0eVxuIik7CisJCX0KKwkJU0tJUCgyKTsKKworCQkvKgorCQkgKiBTQVg6IFBJIGRldGVjdGVkLgorCQkgKi8KKwkJaWYgKChjdHh0LT5zYXgpICYmICghY3R4dC0+ZGlzYWJsZVNBWCkgJiYKKwkJICAgIChjdHh0LT5zYXgtPnByb2Nlc3NpbmdJbnN0cnVjdGlvbiAhPSBOVUxMKSkKKwkJICAgIGN0eHQtPnNheC0+cHJvY2Vzc2luZ0luc3RydWN0aW9uKGN0eHQtPnVzZXJEYXRhLAorCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LCBOVUxMKTsKKwkJaWYgKGN0eHQtPmluc3RhdGUgIT0gWE1MX1BBUlNFUl9FT0YpCisJCSAgICBjdHh0LT5pbnN0YXRlID0gc3RhdGU7CisJCXJldHVybjsKKwkgICAgfQorCSAgICBidWYgPSAoeG1sQ2hhciAqKSB4bWxNYWxsb2NBdG9taWMoc2l6ZSAqIHNpemVvZih4bWxDaGFyKSk7CisJICAgIGlmIChidWYgPT0gTlVMTCkgeworCQl4bWxFcnJNZW1vcnkoY3R4dCwgTlVMTCk7CisJCWN0eHQtPmluc3RhdGUgPSBzdGF0ZTsKKwkJcmV0dXJuOworCSAgICB9CisJICAgIGN1ciA9IENVUjsKKwkgICAgaWYgKCFJU19CTEFOSyhjdXIpKSB7CisJCXhtbEZhdGFsRXJyTXNnU3RyKGN0eHQsIFhNTF9FUlJfU1BBQ0VfUkVRVUlSRUQsCisJCQkgICJQYXJzZVBJOiBQSSAlcyBzcGFjZSBleHBlY3RlZFxuIiwgdGFyZ2V0KTsKKwkgICAgfQorICAgICAgICAgICAgU0tJUF9CTEFOS1M7CisJICAgIGN1ciA9IENVUl9DSEFSKGwpOworCSAgICB3aGlsZSAoSVNfQ0hBUihjdXIpICYmIC8qIGNoZWNrZWQgKi8KKwkJICAgKChjdXIgIT0gJz8nKSB8fCAoTlhUKDEpICE9ICc+JykpKSB7CisJCWlmIChsZW4gKyA1ID49IHNpemUpIHsKKwkJICAgIHhtbENoYXIgKnRtcDsKKyAgICAgICAgICAgICAgICAgICAgc2l6ZV90IG5ld19zaXplID0gc2l6ZSAqIDI7CisJCSAgICB0bXAgPSAoeG1sQ2hhciAqKSB4bWxSZWFsbG9jKGJ1ZiwgbmV3X3NpemUpOworCQkgICAgaWYgKHRtcCA9PSBOVUxMKSB7CisJCQl4bWxFcnJNZW1vcnkoY3R4dCwgTlVMTCk7CisJCQl4bWxGcmVlKGJ1Zik7CisJCQljdHh0LT5pbnN0YXRlID0gc3RhdGU7CisJCQlyZXR1cm47CisJCSAgICB9CisJCSAgICBidWYgPSB0bXA7CisgICAgICAgICAgICAgICAgICAgIHNpemUgPSBuZXdfc2l6ZTsKKwkJfQorCQljb3VudCsrOworCQlpZiAoY291bnQgPiA1MCkgeworCQkgICAgR1JPVzsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGN0eHQtPmluc3RhdGUgPT0gWE1MX1BBUlNFUl9FT0YpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHhtbEZyZWUoYnVmKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgICAgICAgICAgfQorCQkgICAgY291bnQgPSAwOworICAgICAgICAgICAgICAgICAgICBpZiAoKGxlbiA+IFhNTF9NQVhfVEVYVF9MRU5HVEgpICYmCisgICAgICAgICAgICAgICAgICAgICAgICAoKGN0eHQtPm9wdGlvbnMgJiBYTUxfUEFSU0VfSFVHRSkgPT0gMCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHhtbEZhdGFsRXJyTXNnU3RyKGN0eHQsIFhNTF9FUlJfUElfTk9UX0ZJTklTSEVELAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlBJICVzIHRvbyBiaWcgZm91bmQiLCB0YXJnZXQpOworICAgICAgICAgICAgICAgICAgICAgICAgeG1sRnJlZShidWYpOworICAgICAgICAgICAgICAgICAgICAgICAgY3R4dC0+aW5zdGF0ZSA9IHN0YXRlOworICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgICAgICAgICB9CisJCX0KKwkJQ09QWV9CVUYobCxidWYsbGVuLGN1cik7CisJCU5FWFRMKGwpOworCQljdXIgPSBDVVJfQ0hBUihsKTsKKwkJaWYgKGN1ciA9PSAwKSB7CisJCSAgICBTSFJJTks7CisJCSAgICBHUk9XOworCQkgICAgY3VyID0gQ1VSX0NIQVIobCk7CisJCX0KKwkgICAgfQorICAgICAgICAgICAgaWYgKChsZW4gPiBYTUxfTUFYX1RFWFRfTEVOR1RIKSAmJgorICAgICAgICAgICAgICAgICgoY3R4dC0+b3B0aW9ucyAmIFhNTF9QQVJTRV9IVUdFKSA9PSAwKSkgeworICAgICAgICAgICAgICAgIHhtbEZhdGFsRXJyTXNnU3RyKGN0eHQsIFhNTF9FUlJfUElfTk9UX0ZJTklTSEVELAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJQSSAlcyB0b28gYmlnIGZvdW5kIiwgdGFyZ2V0KTsKKyAgICAgICAgICAgICAgICB4bWxGcmVlKGJ1Zik7CisgICAgICAgICAgICAgICAgY3R4dC0+aW5zdGF0ZSA9IHN0YXRlOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKwkgICAgYnVmW2xlbl0gPSAwOworCSAgICBpZiAoY3VyICE9ICc/JykgeworCQl4bWxGYXRhbEVyck1zZ1N0cihjdHh0LCBYTUxfRVJSX1BJX05PVF9GSU5JU0hFRCwKKwkJICAgICAgIlBhcnNlUEk6IFBJICVzIG5ldmVyIGVuZCAuLi5cbiIsIHRhcmdldCk7CisJICAgIH0gZWxzZSB7CisJCWlmIChpbnB1dCAhPSBjdHh0LT5pbnB1dCkgeworCQkgICAgeG1sRmF0YWxFcnJNc2coY3R4dCwgWE1MX0VSUl9TUEFDRV9SRVFVSVJFRCwKKwkgICAgIlBJIGRlY2xhcmF0aW9uIGRvZXNuJ3Qgc3RhcnQgYW5kIHN0b3AgaW4gdGhlIHNhbWUgZW50aXR5XG4iKTsKKwkJfQorCQlTS0lQKDIpOworCisjaWZkZWYgTElCWE1MX0NBVEFMT0dfRU5BQkxFRAorCQlpZiAoKChzdGF0ZSA9PSBYTUxfUEFSU0VSX01JU0MpIHx8CisJICAgICAgICAgICAgIChzdGF0ZSA9PSBYTUxfUEFSU0VSX1NUQVJUKSkgJiYKKwkJICAgICh4bWxTdHJFcXVhbCh0YXJnZXQsIFhNTF9DQVRBTE9HX1BJKSkpIHsKKwkJICAgIHhtbENhdGFsb2dBbGxvdyBhbGxvdyA9IHhtbENhdGFsb2dHZXREZWZhdWx0cygpOworCQkgICAgaWYgKChhbGxvdyA9PSBYTUxfQ0FUQV9BTExPV19ET0NVTUVOVCkgfHwKKwkJCShhbGxvdyA9PSBYTUxfQ0FUQV9BTExPV19BTEwpKQorCQkJeG1sUGFyc2VDYXRhbG9nUEkoY3R4dCwgYnVmKTsKKwkJfQorI2VuZGlmCisKKworCQkvKgorCQkgKiBTQVg6IFBJIGRldGVjdGVkLgorCQkgKi8KKwkJaWYgKChjdHh0LT5zYXgpICYmICghY3R4dC0+ZGlzYWJsZVNBWCkgJiYKKwkJICAgIChjdHh0LT5zYXgtPnByb2Nlc3NpbmdJbnN0cnVjdGlvbiAhPSBOVUxMKSkKKwkJICAgIGN0eHQtPnNheC0+cHJvY2Vzc2luZ0luc3RydWN0aW9uKGN0eHQtPnVzZXJEYXRhLAorCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LCBidWYpOworCSAgICB9CisJICAgIHhtbEZyZWUoYnVmKTsKKwl9IGVsc2UgeworCSAgICB4bWxGYXRhbEVycihjdHh0LCBYTUxfRVJSX1BJX05PVF9TVEFSVEVELCBOVUxMKTsKKwl9CisJaWYgKGN0eHQtPmluc3RhdGUgIT0gWE1MX1BBUlNFUl9FT0YpCisJICAgIGN0eHQtPmluc3RhdGUgPSBzdGF0ZTsKKyAgICB9Cit9CisKKy8qKgorICogeG1sUGFyc2VOb3RhdGlvbkRlY2w6CisgKiBAY3R4dDogIGFuIFhNTCBwYXJzZXIgY29udGV4dAorICoKKyAqIHBhcnNlIGEgbm90YXRpb24gZGVjbGFyYXRpb24KKyAqCisgKiBbODJdIE5vdGF0aW9uRGVjbCA6Oj0gJzwhTk9UQVRJT04nIFMgTmFtZSBTIChFeHRlcm5hbElEIHwgIFB1YmxpY0lEKSBTPyAnPicKKyAqCisgKiBIZW5jZSB0aGVyZSBpcyBhY3R1YWxseSAzIGNob2ljZXM6CisgKiAgICAgJ1BVQkxJQycgUyBQdWJpZExpdGVyYWwKKyAqICAgICAnUFVCTElDJyBTIFB1YmlkTGl0ZXJhbCBTIFN5c3RlbUxpdGVyYWwKKyAqIGFuZCAnU1lTVEVNJyBTIFN5c3RlbUxpdGVyYWwKKyAqCisgKiBTZWUgdGhlIE5PVEUgb24geG1sUGFyc2VFeHRlcm5hbElEKCkuCisgKi8KKwordm9pZAoreG1sUGFyc2VOb3RhdGlvbkRlY2woeG1sUGFyc2VyQ3R4dFB0ciBjdHh0KSB7CisgICAgY29uc3QgeG1sQ2hhciAqbmFtZTsKKyAgICB4bWxDaGFyICpQdWJpZDsKKyAgICB4bWxDaGFyICpTeXN0ZW1pZDsKKworICAgIGlmIChDTVAxMChDVVJfUFRSLCAnPCcsICchJywgJ04nLCAnTycsICdUJywgJ0EnLCAnVCcsICdJJywgJ08nLCAnTicpKSB7CisJeG1sUGFyc2VySW5wdXRQdHIgaW5wdXQgPSBjdHh0LT5pbnB1dDsKKwlTSFJJTks7CisJU0tJUCgxMCk7CisJaWYgKCFJU19CTEFOS19DSChDVVIpKSB7CisJICAgIHhtbEZhdGFsRXJyTXNnKGN0eHQsIFhNTF9FUlJfU1BBQ0VfUkVRVUlSRUQsCisJCQkgICAiU3BhY2UgcmVxdWlyZWQgYWZ0ZXIgJzwhTk9UQVRJT04nXG4iKTsKKwkgICAgcmV0dXJuOworCX0KKwlTS0lQX0JMQU5LUzsKKworICAgICAgICBuYW1lID0geG1sUGFyc2VOYW1lKGN0eHQpOworCWlmIChuYW1lID09IE5VTEwpIHsKKwkgICAgeG1sRmF0YWxFcnIoY3R4dCwgWE1MX0VSUl9OT1RBVElPTl9OT1RfU1RBUlRFRCwgTlVMTCk7CisJICAgIHJldHVybjsKKwl9CisJaWYgKCFJU19CTEFOS19DSChDVVIpKSB7CisJICAgIHhtbEZhdGFsRXJyTXNnKGN0eHQsIFhNTF9FUlJfU1BBQ0VfUkVRVUlSRUQsCisJCSAgICAgIlNwYWNlIHJlcXVpcmVkIGFmdGVyIHRoZSBOT1RBVElPTiBuYW1lJ1xuIik7CisJICAgIHJldHVybjsKKwl9CisJaWYgKHhtbFN0cmNocihuYW1lLCAnOicpICE9IE5VTEwpIHsKKwkgICAgeG1sTnNFcnIoY3R4dCwgWE1MX05TX0VSUl9DT0xPTiwKKwkJICAgICAiY29sb25zIGFyZSBmb3JiaWRkZW4gZnJvbSBub3RhdGlvbiBuYW1lcyAnJXMnXG4iLAorCQkgICAgIG5hbWUsIE5VTEwsIE5VTEwpOworCX0KKwlTS0lQX0JMQU5LUzsKKworCS8qCisJICogUGFyc2UgdGhlIElEcy4KKwkgKi8KKwlTeXN0ZW1pZCA9IHhtbFBhcnNlRXh0ZXJuYWxJRChjdHh0LCAmUHViaWQsIDApOworCVNLSVBfQkxBTktTOworCisJaWYgKFJBVyA9PSAnPicpIHsKKwkgICAgaWYgKGlucHV0ICE9IGN0eHQtPmlucHV0KSB7CisJCXhtbEZhdGFsRXJyTXNnKGN0eHQsIFhNTF9FUlJfU1BBQ0VfUkVRVUlSRUQsCisJIk5vdGF0aW9uIGRlY2xhcmF0aW9uIGRvZXNuJ3Qgc3RhcnQgYW5kIHN0b3AgaW4gdGhlIHNhbWUgZW50aXR5XG4iKTsKKwkgICAgfQorCSAgICBORVhUOworCSAgICBpZiAoKGN0eHQtPnNheCAhPSBOVUxMKSAmJiAoIWN0eHQtPmRpc2FibGVTQVgpICYmCisJCShjdHh0LT5zYXgtPm5vdGF0aW9uRGVjbCAhPSBOVUxMKSkKKwkJY3R4dC0+c2F4LT5ub3RhdGlvbkRlY2woY3R4dC0+dXNlckRhdGEsIG5hbWUsIFB1YmlkLCBTeXN0ZW1pZCk7CisJfSBlbHNlIHsKKwkgICAgeG1sRmF0YWxFcnIoY3R4dCwgWE1MX0VSUl9OT1RBVElPTl9OT1RfRklOSVNIRUQsIE5VTEwpOworCX0KKwlpZiAoU3lzdGVtaWQgIT0gTlVMTCkgeG1sRnJlZShTeXN0ZW1pZCk7CisJaWYgKFB1YmlkICE9IE5VTEwpIHhtbEZyZWUoUHViaWQpOworICAgIH0KK30KKworLyoqCisgKiB4bWxQYXJzZUVudGl0eURlY2w6CisgKiBAY3R4dDogIGFuIFhNTCBwYXJzZXIgY29udGV4dAorICoKKyAqIHBhcnNlIDwhRU5USVRZIGRlY2xhcmF0aW9ucworICoKKyAqIFs3MF0gRW50aXR5RGVjbCA6Oj0gR0VEZWNsIHwgUEVEZWNsCisgKgorICogWzcxXSBHRURlY2wgOjo9ICc8IUVOVElUWScgUyBOYW1lIFMgRW50aXR5RGVmIFM/ICc+JworICoKKyAqIFs3Ml0gUEVEZWNsIDo6PSAnPCFFTlRJVFknIFMgJyUnIFMgTmFtZSBTIFBFRGVmIFM/ICc+JworICoKKyAqIFs3M10gRW50aXR5RGVmIDo6PSBFbnRpdHlWYWx1ZSB8IChFeHRlcm5hbElEIE5EYXRhRGVjbD8pCisgKgorICogWzc0XSBQRURlZiA6Oj0gRW50aXR5VmFsdWUgfCBFeHRlcm5hbElECisgKgorICogWzc2XSBORGF0YURlY2wgOjo9IFMgJ05EQVRBJyBTIE5hbWUKKyAqCisgKiBbIFZDOiBOb3RhdGlvbiBEZWNsYXJlZCBdCisgKiBUaGUgTmFtZSBtdXN0IG1hdGNoIHRoZSBkZWNsYXJlZCBuYW1lIG9mIGEgbm90YXRpb24uCisgKi8KKwordm9pZAoreG1sUGFyc2VFbnRpdHlEZWNsKHhtbFBhcnNlckN0eHRQdHIgY3R4dCkgeworICAgIGNvbnN0IHhtbENoYXIgKm5hbWUgPSBOVUxMOworICAgIHhtbENoYXIgKnZhbHVlID0gTlVMTDsKKyAgICB4bWxDaGFyICpVUkkgPSBOVUxMLCAqbGl0ZXJhbCA9IE5VTEw7CisgICAgY29uc3QgeG1sQ2hhciAqbmRhdGEgPSBOVUxMOworICAgIGludCBpc1BhcmFtZXRlciA9IDA7CisgICAgeG1sQ2hhciAqb3JpZyA9IE5VTEw7CisgICAgaW50IHNraXBwZWQ7CisKKyAgICAvKiBHUk9XOyBkb25lIGluIHRoZSBjYWxsZXIgKi8KKyAgICBpZiAoQ01QOChDVVJfUFRSLCAnPCcsICchJywgJ0UnLCAnTicsICdUJywgJ0knLCAnVCcsICdZJykpIHsKKwl4bWxQYXJzZXJJbnB1dFB0ciBpbnB1dCA9IGN0eHQtPmlucHV0OworCVNIUklOSzsKKwlTS0lQKDgpOworCXNraXBwZWQgPSBTS0lQX0JMQU5LUzsKKwlpZiAoc2tpcHBlZCA9PSAwKSB7CisJICAgIHhtbEZhdGFsRXJyTXNnKGN0eHQsIFhNTF9FUlJfU1BBQ0VfUkVRVUlSRUQsCisJCQkgICAiU3BhY2UgcmVxdWlyZWQgYWZ0ZXIgJzwhRU5USVRZJ1xuIik7CisJfQorCisJaWYgKFJBVyA9PSAnJScpIHsKKwkgICAgTkVYVDsKKwkgICAgc2tpcHBlZCA9IFNLSVBfQkxBTktTOworCSAgICBpZiAoc2tpcHBlZCA9PSAwKSB7CisJCXhtbEZhdGFsRXJyTXNnKGN0eHQsIFhNTF9FUlJfU1BBQ0VfUkVRVUlSRUQsCisJCQkgICAgICAgIlNwYWNlIHJlcXVpcmVkIGFmdGVyICclJ1xuIik7CisJICAgIH0KKwkgICAgaXNQYXJhbWV0ZXIgPSAxOworCX0KKworICAgICAgICBuYW1lID0geG1sUGFyc2VOYW1lKGN0eHQpOworCWlmIChuYW1lID09IE5VTEwpIHsKKwkgICAgeG1sRmF0YWxFcnJNc2coY3R4dCwgWE1MX0VSUl9OQU1FX1JFUVVJUkVELAorCSAgICAgICAgICAgICAgICAgICAieG1sUGFyc2VFbnRpdHlEZWNsOiBubyBuYW1lXG4iKTsKKyAgICAgICAgICAgIHJldHVybjsKKwl9CisJaWYgKHhtbFN0cmNocihuYW1lLCAnOicpICE9IE5VTEwpIHsKKwkgICAgeG1sTnNFcnIoY3R4dCwgWE1MX05TX0VSUl9DT0xPTiwKKwkJICAgICAiY29sb25zIGFyZSBmb3JiaWRkZW4gZnJvbSBlbnRpdGllcyBuYW1lcyAnJXMnXG4iLAorCQkgICAgIG5hbWUsIE5VTEwsIE5VTEwpOworCX0KKyAgICAgICAgc2tpcHBlZCA9IFNLSVBfQkxBTktTOworCWlmIChza2lwcGVkID09IDApIHsKKwkgICAgeG1sRmF0YWxFcnJNc2coY3R4dCwgWE1MX0VSUl9TUEFDRV9SRVFVSVJFRCwKKwkJCSAgICJTcGFjZSByZXF1aXJlZCBhZnRlciB0aGUgZW50aXR5IG5hbWVcbiIpOworCX0KKworCWN0eHQtPmluc3RhdGUgPSBYTUxfUEFSU0VSX0VOVElUWV9ERUNMOworCS8qCisJICogaGFuZGxlIHRoZSB2YXJpb3VzIGNhc2Ugb2YgZGVmaW5pdGlvbnMuLi4KKwkgKi8KKwlpZiAoaXNQYXJhbWV0ZXIpIHsKKwkgICAgaWYgKChSQVcgPT0gJyInKSB8fCAoUkFXID09ICdcJycpKSB7CisJICAgICAgICB2YWx1ZSA9IHhtbFBhcnNlRW50aXR5VmFsdWUoY3R4dCwgJm9yaWcpOworCQlpZiAodmFsdWUpIHsKKwkJICAgIGlmICgoY3R4dC0+c2F4ICE9IE5VTEwpICYmCisJCQkoIWN0eHQtPmRpc2FibGVTQVgpICYmIChjdHh0LT5zYXgtPmVudGl0eURlY2wgIT0gTlVMTCkpCisJCQljdHh0LT5zYXgtPmVudGl0eURlY2woY3R4dC0+dXNlckRhdGEsIG5hbWUsCisJCSAgICAgICAgICAgICAgICAgICAgWE1MX0lOVEVSTkFMX1BBUkFNRVRFUl9FTlRJVFksCisJCQkJICAgIE5VTEwsIE5VTEwsIHZhbHVlKTsKKwkJfQorCSAgICB9IGVsc2UgeworCSAgICAgICAgVVJJID0geG1sUGFyc2VFeHRlcm5hbElEKGN0eHQsICZsaXRlcmFsLCAxKTsKKwkJaWYgKChVUkkgPT0gTlVMTCkgJiYgKGxpdGVyYWwgPT0gTlVMTCkpIHsKKwkJICAgIHhtbEZhdGFsRXJyKGN0eHQsIFhNTF9FUlJfVkFMVUVfUkVRVUlSRUQsIE5VTEwpOworCQl9CisJCWlmIChVUkkpIHsKKwkJICAgIHhtbFVSSVB0ciB1cmk7CisKKwkJICAgIHVyaSA9IHhtbFBhcnNlVVJJKChjb25zdCBjaGFyICopIFVSSSk7CisJCSAgICBpZiAodXJpID09IE5VTEwpIHsKKwkJICAgICAgICB4bWxFcnJNc2dTdHIoY3R4dCwgWE1MX0VSUl9JTlZBTElEX1VSSSwKKwkJCQkgICAgICJJbnZhbGlkIFVSSTogJXNcbiIsIFVSSSk7CisJCQkvKgorCQkJICogVGhpcyByZWFsbHkgb3VnaHQgdG8gYmUgYSB3ZWxsIGZvcm1lZG5lc3MgZXJyb3IKKwkJCSAqIGJ1dCB0aGUgWE1MIENvcmUgV0cgZGVjaWRlZCBvdGhlcndpc2UgYy5mLiBpc3N1ZQorCQkJICogRTI2IG9mIHRoZSBYTUwgZXJyYXRhcy4KKwkJCSAqLworCQkgICAgfSBlbHNlIHsKKwkJCWlmICh1cmktPmZyYWdtZW50ICE9IE5VTEwpIHsKKwkJCSAgICAvKgorCQkJICAgICAqIE9rYXkgdGhpcyBpcyBmb29saXNoIHRvIGJsb2NrIHRob3NlIGJ1dCBub3QKKwkJCSAgICAgKiBpbnZhbGlkIFVSSXMuCisJCQkgICAgICovCisJCQkgICAgeG1sRmF0YWxFcnIoY3R4dCwgWE1MX0VSUl9VUklfRlJBR01FTlQsIE5VTEwpOworCQkJfSBlbHNlIHsKKwkJCSAgICBpZiAoKGN0eHQtPnNheCAhPSBOVUxMKSAmJgorCQkJCSghY3R4dC0+ZGlzYWJsZVNBWCkgJiYKKwkJCQkoY3R4dC0+c2F4LT5lbnRpdHlEZWNsICE9IE5VTEwpKQorCQkJCWN0eHQtPnNheC0+ZW50aXR5RGVjbChjdHh0LT51c2VyRGF0YSwgbmFtZSwKKwkJCQkJICAgIFhNTF9FWFRFUk5BTF9QQVJBTUVURVJfRU5USVRZLAorCQkJCQkgICAgbGl0ZXJhbCwgVVJJLCBOVUxMKTsKKwkJCX0KKwkJCXhtbEZyZWVVUkkodXJpKTsKKwkJICAgIH0KKwkJfQorCSAgICB9CisJfSBlbHNlIHsKKwkgICAgaWYgKChSQVcgPT0gJyInKSB8fCAoUkFXID09ICdcJycpKSB7CisJICAgICAgICB2YWx1ZSA9IHhtbFBhcnNlRW50aXR5VmFsdWUoY3R4dCwgJm9yaWcpOworCQlpZiAoKGN0eHQtPnNheCAhPSBOVUxMKSAmJgorCQkgICAgKCFjdHh0LT5kaXNhYmxlU0FYKSAmJiAoY3R4dC0+c2F4LT5lbnRpdHlEZWNsICE9IE5VTEwpKQorCQkgICAgY3R4dC0+c2F4LT5lbnRpdHlEZWNsKGN0eHQtPnVzZXJEYXRhLCBuYW1lLAorCQkJCVhNTF9JTlRFUk5BTF9HRU5FUkFMX0VOVElUWSwKKwkJCQlOVUxMLCBOVUxMLCB2YWx1ZSk7CisJCS8qCisJCSAqIEZvciBleHBhdCBjb21wYXRpYmlsaXR5IGluIFNBWCBtb2RlLgorCQkgKi8KKwkJaWYgKChjdHh0LT5teURvYyA9PSBOVUxMKSB8fAorCQkgICAgKHhtbFN0ckVxdWFsKGN0eHQtPm15RG9jLT52ZXJzaW9uLCBTQVhfQ09NUEFUX01PREUpKSkgeworCQkgICAgaWYgKGN0eHQtPm15RG9jID09IE5VTEwpIHsKKwkJCWN0eHQtPm15RG9jID0geG1sTmV3RG9jKFNBWF9DT01QQVRfTU9ERSk7CisJCQlpZiAoY3R4dC0+bXlEb2MgPT0gTlVMTCkgeworCQkJICAgIHhtbEVyck1lbW9yeShjdHh0LCAiTmV3IERvYyBmYWlsZWQiKTsKKwkJCSAgICByZXR1cm47CisJCQl9CisJCQljdHh0LT5teURvYy0+cHJvcGVydGllcyA9IFhNTF9ET0NfSU5URVJOQUw7CisJCSAgICB9CisJCSAgICBpZiAoY3R4dC0+bXlEb2MtPmludFN1YnNldCA9PSBOVUxMKQorCQkJY3R4dC0+bXlEb2MtPmludFN1YnNldCA9IHhtbE5ld0R0ZChjdHh0LT5teURvYywKKwkJCQkJICAgIEJBRF9DQVNUICJmYWtlIiwgTlVMTCwgTlVMTCk7CisKKwkJICAgIHhtbFNBWDJFbnRpdHlEZWNsKGN0eHQsIG5hbWUsIFhNTF9JTlRFUk5BTF9HRU5FUkFMX0VOVElUWSwKKwkJCSAgICAgICAgICAgICAgTlVMTCwgTlVMTCwgdmFsdWUpOworCQl9CisJICAgIH0gZWxzZSB7CisJICAgICAgICBVUkkgPSB4bWxQYXJzZUV4dGVybmFsSUQoY3R4dCwgJmxpdGVyYWwsIDEpOworCQlpZiAoKFVSSSA9PSBOVUxMKSAmJiAobGl0ZXJhbCA9PSBOVUxMKSkgeworCQkgICAgeG1sRmF0YWxFcnIoY3R4dCwgWE1MX0VSUl9WQUxVRV9SRVFVSVJFRCwgTlVMTCk7CisJCX0KKwkJaWYgKFVSSSkgeworCQkgICAgeG1sVVJJUHRyIHVyaTsKKworCQkgICAgdXJpID0geG1sUGFyc2VVUkkoKGNvbnN0IGNoYXIgKilVUkkpOworCQkgICAgaWYgKHVyaSA9PSBOVUxMKSB7CisJCSAgICAgICAgeG1sRXJyTXNnU3RyKGN0eHQsIFhNTF9FUlJfSU5WQUxJRF9VUkksCisJCQkJICAgICAiSW52YWxpZCBVUkk6ICVzXG4iLCBVUkkpOworCQkJLyoKKwkJCSAqIFRoaXMgcmVhbGx5IG91Z2h0IHRvIGJlIGEgd2VsbCBmb3JtZWRuZXNzIGVycm9yCisJCQkgKiBidXQgdGhlIFhNTCBDb3JlIFdHIGRlY2lkZWQgb3RoZXJ3aXNlIGMuZi4gaXNzdWUKKwkJCSAqIEUyNiBvZiB0aGUgWE1MIGVycmF0YXMuCisJCQkgKi8KKwkJICAgIH0gZWxzZSB7CisJCQlpZiAodXJpLT5mcmFnbWVudCAhPSBOVUxMKSB7CisJCQkgICAgLyoKKwkJCSAgICAgKiBPa2F5IHRoaXMgaXMgZm9vbGlzaCB0byBibG9jayB0aG9zZSBidXQgbm90CisJCQkgICAgICogaW52YWxpZCBVUklzLgorCQkJICAgICAqLworCQkJICAgIHhtbEZhdGFsRXJyKGN0eHQsIFhNTF9FUlJfVVJJX0ZSQUdNRU5ULCBOVUxMKTsKKwkJCX0KKwkJCXhtbEZyZWVVUkkodXJpKTsKKwkJICAgIH0KKwkJfQorCQlpZiAoKFJBVyAhPSAnPicpICYmICghSVNfQkxBTktfQ0goQ1VSKSkpIHsKKwkJICAgIHhtbEZhdGFsRXJyTXNnKGN0eHQsIFhNTF9FUlJfU1BBQ0VfUkVRVUlSRUQsCisJCQkJICAgIlNwYWNlIHJlcXVpcmVkIGJlZm9yZSAnTkRBVEEnXG4iKTsKKwkJfQorCQlTS0lQX0JMQU5LUzsKKwkJaWYgKENNUDUoQ1VSX1BUUiwgJ04nLCAnRCcsICdBJywgJ1QnLCAnQScpKSB7CisJCSAgICBTS0lQKDUpOworCQkgICAgaWYgKCFJU19CTEFOS19DSChDVVIpKSB7CisJCQl4bWxGYXRhbEVyck1zZyhjdHh0LCBYTUxfRVJSX1NQQUNFX1JFUVVJUkVELAorCQkJCSAgICAgICAiU3BhY2UgcmVxdWlyZWQgYWZ0ZXIgJ05EQVRBJ1xuIik7CisJCSAgICB9CisJCSAgICBTS0lQX0JMQU5LUzsKKwkJICAgIG5kYXRhID0geG1sUGFyc2VOYW1lKGN0eHQpOworCQkgICAgaWYgKChjdHh0LT5zYXggIT0gTlVMTCkgJiYgKCFjdHh0LT5kaXNhYmxlU0FYKSAmJgorCQkgICAgICAgIChjdHh0LT5zYXgtPnVucGFyc2VkRW50aXR5RGVjbCAhPSBOVUxMKSkKKwkJCWN0eHQtPnNheC0+dW5wYXJzZWRFbnRpdHlEZWNsKGN0eHQtPnVzZXJEYXRhLCBuYW1lLAorCQkJCSAgICBsaXRlcmFsLCBVUkksIG5kYXRhKTsKKwkJfSBlbHNlIHsKKwkJICAgIGlmICgoY3R4dC0+c2F4ICE9IE5VTEwpICYmCisJCSAgICAgICAgKCFjdHh0LT5kaXNhYmxlU0FYKSAmJiAoY3R4dC0+c2F4LT5lbnRpdHlEZWNsICE9IE5VTEwpKQorCQkJY3R4dC0+c2F4LT5lbnRpdHlEZWNsKGN0eHQtPnVzZXJEYXRhLCBuYW1lLAorCQkJCSAgICBYTUxfRVhURVJOQUxfR0VORVJBTF9QQVJTRURfRU5USVRZLAorCQkJCSAgICBsaXRlcmFsLCBVUkksIE5VTEwpOworCQkgICAgLyoKKwkJICAgICAqIEZvciBleHBhdCBjb21wYXRpYmlsaXR5IGluIFNBWCBtb2RlLgorCQkgICAgICogYXNzdW1pbmcgdGhlIGVudGl0eSByZXBhbGNlbWVudCB3YXMgYXNrZWQgZm9yCisJCSAgICAgKi8KKwkJICAgIGlmICgoY3R4dC0+cmVwbGFjZUVudGl0aWVzICE9IDApICYmCisJCQkoKGN0eHQtPm15RG9jID09IE5VTEwpIHx8CisJCQkoeG1sU3RyRXF1YWwoY3R4dC0+bXlEb2MtPnZlcnNpb24sIFNBWF9DT01QQVRfTU9ERSkpKSkgeworCQkJaWYgKGN0eHQtPm15RG9jID09IE5VTEwpIHsKKwkJCSAgICBjdHh0LT5teURvYyA9IHhtbE5ld0RvYyhTQVhfQ09NUEFUX01PREUpOworCQkJICAgIGlmIChjdHh0LT5teURvYyA9PSBOVUxMKSB7CisJCQkgICAgICAgIHhtbEVyck1lbW9yeShjdHh0LCAiTmV3IERvYyBmYWlsZWQiKTsKKwkJCQlyZXR1cm47CisJCQkgICAgfQorCQkJICAgIGN0eHQtPm15RG9jLT5wcm9wZXJ0aWVzID0gWE1MX0RPQ19JTlRFUk5BTDsKKwkJCX0KKworCQkJaWYgKGN0eHQtPm15RG9jLT5pbnRTdWJzZXQgPT0gTlVMTCkKKwkJCSAgICBjdHh0LT5teURvYy0+aW50U3Vic2V0ID0geG1sTmV3RHRkKGN0eHQtPm15RG9jLAorCQkJCQkJQkFEX0NBU1QgImZha2UiLCBOVUxMLCBOVUxMKTsKKwkJCXhtbFNBWDJFbnRpdHlEZWNsKGN0eHQsIG5hbWUsCisJCQkJICAgICAgICAgIFhNTF9FWFRFUk5BTF9HRU5FUkFMX1BBUlNFRF9FTlRJVFksCisJCQkJICAgICAgICAgIGxpdGVyYWwsIFVSSSwgTlVMTCk7CisJCSAgICB9CisJCX0KKwkgICAgfQorCX0KKwlpZiAoY3R4dC0+aW5zdGF0ZSA9PSBYTUxfUEFSU0VSX0VPRikKKwkgICAgcmV0dXJuOworCVNLSVBfQkxBTktTOworCWlmIChSQVcgIT0gJz4nKSB7CisJICAgIHhtbEZhdGFsRXJyTXNnU3RyKGN0eHQsIFhNTF9FUlJfRU5USVRZX05PVF9GSU5JU0hFRCwKKwkgICAgICAgICAgICAieG1sUGFyc2VFbnRpdHlEZWNsOiBlbnRpdHkgJXMgbm90IHRlcm1pbmF0ZWRcbiIsIG5hbWUpOworCX0gZWxzZSB7CisJICAgIGlmIChpbnB1dCAhPSBjdHh0LT5pbnB1dCkgeworCQl4bWxGYXRhbEVyck1zZyhjdHh0LCBYTUxfRVJSX0VOVElUWV9CT1VOREFSWSwKKwkiRW50aXR5IGRlY2xhcmF0aW9uIGRvZXNuJ3Qgc3RhcnQgYW5kIHN0b3AgaW4gdGhlIHNhbWUgZW50aXR5XG4iKTsKKwkgICAgfQorCSAgICBORVhUOworCX0KKwlpZiAob3JpZyAhPSBOVUxMKSB7CisJICAgIC8qCisJICAgICAqIFVnbHkgbWVjaGFuaXNtIHRvIHNhdmUgdGhlIHJhdyBlbnRpdHkgdmFsdWUuCisJICAgICAqLworCSAgICB4bWxFbnRpdHlQdHIgY3VyID0gTlVMTDsKKworCSAgICBpZiAoaXNQYXJhbWV0ZXIpIHsKKwkgICAgICAgIGlmICgoY3R4dC0+c2F4ICE9IE5VTEwpICYmCisJCSAgICAoY3R4dC0+c2F4LT5nZXRQYXJhbWV0ZXJFbnRpdHkgIT0gTlVMTCkpCisJCSAgICBjdXIgPSBjdHh0LT5zYXgtPmdldFBhcmFtZXRlckVudGl0eShjdHh0LT51c2VyRGF0YSwgbmFtZSk7CisJICAgIH0gZWxzZSB7CisJICAgICAgICBpZiAoKGN0eHQtPnNheCAhPSBOVUxMKSAmJgorCQkgICAgKGN0eHQtPnNheC0+Z2V0RW50aXR5ICE9IE5VTEwpKQorCQkgICAgY3VyID0gY3R4dC0+c2F4LT5nZXRFbnRpdHkoY3R4dC0+dXNlckRhdGEsIG5hbWUpOworCQlpZiAoKGN1ciA9PSBOVUxMKSAmJiAoY3R4dC0+dXNlckRhdGE9PWN0eHQpKSB7CisJCSAgICBjdXIgPSB4bWxTQVgyR2V0RW50aXR5KGN0eHQsIG5hbWUpOworCQl9CisJICAgIH0KKyAgICAgICAgICAgIGlmIChjdXIgIT0gTlVMTCkgeworCSAgICAgICAgaWYgKGN1ci0+b3JpZyAhPSBOVUxMKQorCQkgICAgeG1sRnJlZShvcmlnKTsKKwkJZWxzZQorCQkgICAgY3VyLT5vcmlnID0gb3JpZzsKKwkgICAgfSBlbHNlCisJCXhtbEZyZWUob3JpZyk7CisJfQorCWlmICh2YWx1ZSAhPSBOVUxMKSB4bWxGcmVlKHZhbHVlKTsKKwlpZiAoVVJJICE9IE5VTEwpIHhtbEZyZWUoVVJJKTsKKwlpZiAobGl0ZXJhbCAhPSBOVUxMKSB4bWxGcmVlKGxpdGVyYWwpOworICAgIH0KK30KKworLyoqCisgKiB4bWxQYXJzZURlZmF1bHREZWNsOgorICogQGN0eHQ6ICBhbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEB2YWx1ZTogIFJlY2VpdmUgYSBwb3NzaWJsZSBmaXhlZCBkZWZhdWx0IHZhbHVlIGZvciB0aGUgYXR0cmlidXRlCisgKgorICogUGFyc2UgYW4gYXR0cmlidXRlIGRlZmF1bHQgZGVjbGFyYXRpb24KKyAqCisgKiBbNjBdIERlZmF1bHREZWNsIDo6PSAnI1JFUVVJUkVEJyB8ICcjSU1QTElFRCcgfCAoKCcjRklYRUQnIFMpPyBBdHRWYWx1ZSkKKyAqCisgKiBbIFZDOiBSZXF1aXJlZCBBdHRyaWJ1dGUgXQorICogaWYgdGhlIGRlZmF1bHQgZGVjbGFyYXRpb24gaXMgdGhlIGtleXdvcmQgI1JFUVVJUkVELCB0aGVuIHRoZQorICogYXR0cmlidXRlIG11c3QgYmUgc3BlY2lmaWVkIGZvciBhbGwgZWxlbWVudHMgb2YgdGhlIHR5cGUgaW4gdGhlCisgKiBhdHRyaWJ1dGUtbGlzdCBkZWNsYXJhdGlvbi4KKyAqCisgKiBbIFZDOiBBdHRyaWJ1dGUgRGVmYXVsdCBMZWdhbCBdCisgKiBUaGUgZGVjbGFyZWQgZGVmYXVsdCB2YWx1ZSBtdXN0IG1lZXQgdGhlIGxleGljYWwgY29uc3RyYWludHMgb2YKKyAqIHRoZSBkZWNsYXJlZCBhdHRyaWJ1dGUgdHlwZSBjLmYuIHhtbFZhbGlkYXRlQXR0cmlidXRlRGVjbCgpCisgKgorICogWyBWQzogRml4ZWQgQXR0cmlidXRlIERlZmF1bHQgXQorICogaWYgYW4gYXR0cmlidXRlIGhhcyBhIGRlZmF1bHQgdmFsdWUgZGVjbGFyZWQgd2l0aCB0aGUgI0ZJWEVECisgKiBrZXl3b3JkLCBpbnN0YW5jZXMgb2YgdGhhdCBhdHRyaWJ1dGUgbXVzdCBtYXRjaCB0aGUgZGVmYXVsdCB2YWx1ZS4KKyAqCisgKiBbIFdGQzogTm8gPCBpbiBBdHRyaWJ1dGUgVmFsdWVzIF0KKyAqIGhhbmRsZWQgaW4geG1sUGFyc2VBdHRWYWx1ZSgpCisgKgorICogcmV0dXJuczogWE1MX0FUVFJJQlVURV9OT05FLCBYTUxfQVRUUklCVVRFX1JFUVVJUkVELCBYTUxfQVRUUklCVVRFX0lNUExJRUQKKyAqICAgICAgICAgIG9yIFhNTF9BVFRSSUJVVEVfRklYRUQuCisgKi8KKworaW50Cit4bWxQYXJzZURlZmF1bHREZWNsKHhtbFBhcnNlckN0eHRQdHIgY3R4dCwgeG1sQ2hhciAqKnZhbHVlKSB7CisgICAgaW50IHZhbDsKKyAgICB4bWxDaGFyICpyZXQ7CisKKyAgICAqdmFsdWUgPSBOVUxMOworICAgIGlmIChDTVA5KENVUl9QVFIsICcjJywgJ1InLCAnRScsICdRJywgJ1UnLCAnSScsICdSJywgJ0UnLCAnRCcpKSB7CisJU0tJUCg5KTsKKwlyZXR1cm4oWE1MX0FUVFJJQlVURV9SRVFVSVJFRCk7CisgICAgfQorICAgIGlmIChDTVA4KENVUl9QVFIsICcjJywgJ0knLCAnTScsICdQJywgJ0wnLCAnSScsICdFJywgJ0QnKSkgeworCVNLSVAoOCk7CisJcmV0dXJuKFhNTF9BVFRSSUJVVEVfSU1QTElFRCk7CisgICAgfQorICAgIHZhbCA9IFhNTF9BVFRSSUJVVEVfTk9ORTsKKyAgICBpZiAoQ01QNihDVVJfUFRSLCAnIycsICdGJywgJ0knLCAnWCcsICdFJywgJ0QnKSkgeworCVNLSVAoNik7CisJdmFsID0gWE1MX0FUVFJJQlVURV9GSVhFRDsKKwlpZiAoIUlTX0JMQU5LX0NIKENVUikpIHsKKwkgICAgeG1sRmF0YWxFcnJNc2coY3R4dCwgWE1MX0VSUl9TUEFDRV9SRVFVSVJFRCwKKwkJCSAgICJTcGFjZSByZXF1aXJlZCBhZnRlciAnI0ZJWEVEJ1xuIik7CisJfQorCVNLSVBfQkxBTktTOworICAgIH0KKyAgICByZXQgPSB4bWxQYXJzZUF0dFZhbHVlKGN0eHQpOworICAgIGN0eHQtPmluc3RhdGUgPSBYTUxfUEFSU0VSX0RURDsKKyAgICBpZiAocmV0ID09IE5VTEwpIHsKKwl4bWxGYXRhbEVyck1zZyhjdHh0LCAoeG1sUGFyc2VyRXJyb3JzKWN0eHQtPmVyck5vLAorCQkgICAgICAgIkF0dHJpYnV0ZSBkZWZhdWx0IHZhbHVlIGRlY2xhcmF0aW9uIGVycm9yXG4iKTsKKyAgICB9IGVsc2UKKyAgICAgICAgKnZhbHVlID0gcmV0OworICAgIHJldHVybih2YWwpOworfQorCisvKioKKyAqIHhtbFBhcnNlTm90YXRpb25UeXBlOgorICogQGN0eHQ6ICBhbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqCisgKiBwYXJzZSBhbiBOb3RhdGlvbiBhdHRyaWJ1dGUgdHlwZS4KKyAqCisgKiBOb3RlOiB0aGUgbGVhZGluZyAnTk9UQVRJT04nIFMgcGFydCBoYXMgYWxyZWFkeSBiZWluZyBwYXJzZWQuLi4KKyAqCisgKiBbNThdIE5vdGF0aW9uVHlwZSA6Oj0gJ05PVEFUSU9OJyBTICcoJyBTPyBOYW1lIChTPyAnfCcgUz8gTmFtZSkqIFM/ICcpJworICoKKyAqIFsgVkM6IE5vdGF0aW9uIEF0dHJpYnV0ZXMgXQorICogVmFsdWVzIG9mIHRoaXMgdHlwZSBtdXN0IG1hdGNoIG9uZSBvZiB0aGUgbm90YXRpb24gbmFtZXMgaW5jbHVkZWQKKyAqIGluIHRoZSBkZWNsYXJhdGlvbjsgYWxsIG5vdGF0aW9uIG5hbWVzIGluIHRoZSBkZWNsYXJhdGlvbiBtdXN0IGJlIGRlY2xhcmVkLgorICoKKyAqIFJldHVybnM6IHRoZSBub3RhdGlvbiBhdHRyaWJ1dGUgdHJlZSBidWlsdCB3aGlsZSBwYXJzaW5nCisgKi8KKworeG1sRW51bWVyYXRpb25QdHIKK3htbFBhcnNlTm90YXRpb25UeXBlKHhtbFBhcnNlckN0eHRQdHIgY3R4dCkgeworICAgIGNvbnN0IHhtbENoYXIgKm5hbWU7CisgICAgeG1sRW51bWVyYXRpb25QdHIgcmV0ID0gTlVMTCwgbGFzdCA9IE5VTEwsIGN1ciwgdG1wOworCisgICAgaWYgKFJBVyAhPSAnKCcpIHsKKwl4bWxGYXRhbEVycihjdHh0LCBYTUxfRVJSX05PVEFUSU9OX05PVF9TVEFSVEVELCBOVUxMKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIFNIUklOSzsKKyAgICBkbyB7CisgICAgICAgIE5FWFQ7CisJU0tJUF9CTEFOS1M7CisgICAgICAgIG5hbWUgPSB4bWxQYXJzZU5hbWUoY3R4dCk7CisJaWYgKG5hbWUgPT0gTlVMTCkgeworCSAgICB4bWxGYXRhbEVyck1zZyhjdHh0LCBYTUxfRVJSX05BTUVfUkVRVUlSRUQsCisJCQkgICAiTmFtZSBleHBlY3RlZCBpbiBOT1RBVElPTiBkZWNsYXJhdGlvblxuIik7CisgICAgICAgICAgICB4bWxGcmVlRW51bWVyYXRpb24ocmV0KTsKKwkgICAgcmV0dXJuKE5VTEwpOworCX0KKwl0bXAgPSByZXQ7CisJd2hpbGUgKHRtcCAhPSBOVUxMKSB7CisJICAgIGlmICh4bWxTdHJFcXVhbChuYW1lLCB0bXAtPm5hbWUpKSB7CisJCXhtbFZhbGlkaXR5RXJyb3IoY3R4dCwgWE1MX0RURF9EVVBfVE9LRU4sCisJICAic3RhbmRhbG9uZTogYXR0cmlidXRlIG5vdGF0aW9uIHZhbHVlIHRva2VuICVzIGR1cGxpY2F0ZWRcbiIsCisJCQkJIG5hbWUsIE5VTEwpOworCQlpZiAoIXhtbERpY3RPd25zKGN0eHQtPmRpY3QsIG5hbWUpKQorCQkgICAgeG1sRnJlZSgoeG1sQ2hhciAqKSBuYW1lKTsKKwkJYnJlYWs7CisJICAgIH0KKwkgICAgdG1wID0gdG1wLT5uZXh0OworCX0KKwlpZiAodG1wID09IE5VTEwpIHsKKwkgICAgY3VyID0geG1sQ3JlYXRlRW51bWVyYXRpb24obmFtZSk7CisJICAgIGlmIChjdXIgPT0gTlVMTCkgeworICAgICAgICAgICAgICAgIHhtbEZyZWVFbnVtZXJhdGlvbihyZXQpOworICAgICAgICAgICAgICAgIHJldHVybihOVUxMKTsKKyAgICAgICAgICAgIH0KKwkgICAgaWYgKGxhc3QgPT0gTlVMTCkgcmV0ID0gbGFzdCA9IGN1cjsKKwkgICAgZWxzZSB7CisJCWxhc3QtPm5leHQgPSBjdXI7CisJCWxhc3QgPSBjdXI7CisJICAgIH0KKwl9CisJU0tJUF9CTEFOS1M7CisgICAgfSB3aGlsZSAoUkFXID09ICd8Jyk7CisgICAgaWYgKFJBVyAhPSAnKScpIHsKKwl4bWxGYXRhbEVycihjdHh0LCBYTUxfRVJSX05PVEFUSU9OX05PVF9GSU5JU0hFRCwgTlVMTCk7CisgICAgICAgIHhtbEZyZWVFbnVtZXJhdGlvbihyZXQpOworCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgTkVYVDsKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxQYXJzZUVudW1lcmF0aW9uVHlwZToKKyAqIEBjdHh0OiAgYW4gWE1MIHBhcnNlciBjb250ZXh0CisgKgorICogcGFyc2UgYW4gRW51bWVyYXRpb24gYXR0cmlidXRlIHR5cGUuCisgKgorICogWzU5XSBFbnVtZXJhdGlvbiA6Oj0gJygnIFM/IE5tdG9rZW4gKFM/ICd8JyBTPyBObXRva2VuKSogUz8gJyknCisgKgorICogWyBWQzogRW51bWVyYXRpb24gXQorICogVmFsdWVzIG9mIHRoaXMgdHlwZSBtdXN0IG1hdGNoIG9uZSBvZiB0aGUgTm10b2tlbiB0b2tlbnMgaW4KKyAqIHRoZSBkZWNsYXJhdGlvbgorICoKKyAqIFJldHVybnM6IHRoZSBlbnVtZXJhdGlvbiBhdHRyaWJ1dGUgdHJlZSBidWlsdCB3aGlsZSBwYXJzaW5nCisgKi8KKworeG1sRW51bWVyYXRpb25QdHIKK3htbFBhcnNlRW51bWVyYXRpb25UeXBlKHhtbFBhcnNlckN0eHRQdHIgY3R4dCkgeworICAgIHhtbENoYXIgKm5hbWU7CisgICAgeG1sRW51bWVyYXRpb25QdHIgcmV0ID0gTlVMTCwgbGFzdCA9IE5VTEwsIGN1ciwgdG1wOworCisgICAgaWYgKFJBVyAhPSAnKCcpIHsKKwl4bWxGYXRhbEVycihjdHh0LCBYTUxfRVJSX0FUVExJU1RfTk9UX1NUQVJURUQsIE5VTEwpOworCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgU0hSSU5LOworICAgIGRvIHsKKyAgICAgICAgTkVYVDsKKwlTS0lQX0JMQU5LUzsKKyAgICAgICAgbmFtZSA9IHhtbFBhcnNlTm10b2tlbihjdHh0KTsKKwlpZiAobmFtZSA9PSBOVUxMKSB7CisJICAgIHhtbEZhdGFsRXJyKGN0eHQsIFhNTF9FUlJfTk1UT0tFTl9SRVFVSVJFRCwgTlVMTCk7CisJICAgIHJldHVybihyZXQpOworCX0KKwl0bXAgPSByZXQ7CisJd2hpbGUgKHRtcCAhPSBOVUxMKSB7CisJICAgIGlmICh4bWxTdHJFcXVhbChuYW1lLCB0bXAtPm5hbWUpKSB7CisJCXhtbFZhbGlkaXR5RXJyb3IoY3R4dCwgWE1MX0RURF9EVVBfVE9LRU4sCisJICAic3RhbmRhbG9uZTogYXR0cmlidXRlIGVudW1lcmF0aW9uIHZhbHVlIHRva2VuICVzIGR1cGxpY2F0ZWRcbiIsCisJCQkJIG5hbWUsIE5VTEwpOworCQlpZiAoIXhtbERpY3RPd25zKGN0eHQtPmRpY3QsIG5hbWUpKQorCQkgICAgeG1sRnJlZShuYW1lKTsKKwkJYnJlYWs7CisJICAgIH0KKwkgICAgdG1wID0gdG1wLT5uZXh0OworCX0KKwlpZiAodG1wID09IE5VTEwpIHsKKwkgICAgY3VyID0geG1sQ3JlYXRlRW51bWVyYXRpb24obmFtZSk7CisJICAgIGlmICgheG1sRGljdE93bnMoY3R4dC0+ZGljdCwgbmFtZSkpCisJCXhtbEZyZWUobmFtZSk7CisJICAgIGlmIChjdXIgPT0gTlVMTCkgeworICAgICAgICAgICAgICAgIHhtbEZyZWVFbnVtZXJhdGlvbihyZXQpOworICAgICAgICAgICAgICAgIHJldHVybihOVUxMKTsKKyAgICAgICAgICAgIH0KKwkgICAgaWYgKGxhc3QgPT0gTlVMTCkgcmV0ID0gbGFzdCA9IGN1cjsKKwkgICAgZWxzZSB7CisJCWxhc3QtPm5leHQgPSBjdXI7CisJCWxhc3QgPSBjdXI7CisJICAgIH0KKwl9CisJU0tJUF9CTEFOS1M7CisgICAgfSB3aGlsZSAoUkFXID09ICd8Jyk7CisgICAgaWYgKFJBVyAhPSAnKScpIHsKKwl4bWxGYXRhbEVycihjdHh0LCBYTUxfRVJSX0FUVExJU1RfTk9UX0ZJTklTSEVELCBOVUxMKTsKKwlyZXR1cm4ocmV0KTsKKyAgICB9CisgICAgTkVYVDsKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxQYXJzZUVudW1lcmF0ZWRUeXBlOgorICogQGN0eHQ6ICBhbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEB0cmVlOiAgdGhlIGVudW1lcmF0aW9uIHRyZWUgYnVpbHQgd2hpbGUgcGFyc2luZworICoKKyAqIHBhcnNlIGFuIEVudW1lcmF0ZWQgYXR0cmlidXRlIHR5cGUuCisgKgorICogWzU3XSBFbnVtZXJhdGVkVHlwZSA6Oj0gTm90YXRpb25UeXBlIHwgRW51bWVyYXRpb24KKyAqCisgKiBbNThdIE5vdGF0aW9uVHlwZSA6Oj0gJ05PVEFUSU9OJyBTICcoJyBTPyBOYW1lIChTPyAnfCcgUz8gTmFtZSkqIFM/ICcpJworICoKKyAqCisgKiBSZXR1cm5zOiBYTUxfQVRUUklCVVRFX0VOVU1FUkFUSU9OIG9yIFhNTF9BVFRSSUJVVEVfTk9UQVRJT04KKyAqLworCitpbnQKK3htbFBhcnNlRW51bWVyYXRlZFR5cGUoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0LCB4bWxFbnVtZXJhdGlvblB0ciAqdHJlZSkgeworICAgIGlmIChDTVA4KENVUl9QVFIsICdOJywgJ08nLCAnVCcsICdBJywgJ1QnLCAnSScsICdPJywgJ04nKSkgeworCVNLSVAoOCk7CisJaWYgKCFJU19CTEFOS19DSChDVVIpKSB7CisJICAgIHhtbEZhdGFsRXJyTXNnKGN0eHQsIFhNTF9FUlJfU1BBQ0VfUkVRVUlSRUQsCisJCQkgICAiU3BhY2UgcmVxdWlyZWQgYWZ0ZXIgJ05PVEFUSU9OJ1xuIik7CisJICAgIHJldHVybigwKTsKKwl9CisgICAgICAgIFNLSVBfQkxBTktTOworCSp0cmVlID0geG1sUGFyc2VOb3RhdGlvblR5cGUoY3R4dCk7CisJaWYgKCp0cmVlID09IE5VTEwpIHJldHVybigwKTsKKwlyZXR1cm4oWE1MX0FUVFJJQlVURV9OT1RBVElPTik7CisgICAgfQorICAgICp0cmVlID0geG1sUGFyc2VFbnVtZXJhdGlvblR5cGUoY3R4dCk7CisgICAgaWYgKCp0cmVlID09IE5VTEwpIHJldHVybigwKTsKKyAgICByZXR1cm4oWE1MX0FUVFJJQlVURV9FTlVNRVJBVElPTik7Cit9CisKKy8qKgorICogeG1sUGFyc2VBdHRyaWJ1dGVUeXBlOgorICogQGN0eHQ6ICBhbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEB0cmVlOiAgdGhlIGVudW1lcmF0aW9uIHRyZWUgYnVpbHQgd2hpbGUgcGFyc2luZworICoKKyAqIHBhcnNlIHRoZSBBdHRyaWJ1dGUgbGlzdCBkZWYgZm9yIGFuIGVsZW1lbnQKKyAqCisgKiBbNTRdIEF0dFR5cGUgOjo9IFN0cmluZ1R5cGUgfCBUb2tlbml6ZWRUeXBlIHwgRW51bWVyYXRlZFR5cGUKKyAqCisgKiBbNTVdIFN0cmluZ1R5cGUgOjo9ICdDREFUQScKKyAqCisgKiBbNTZdIFRva2VuaXplZFR5cGUgOjo9ICdJRCcgfCAnSURSRUYnIHwgJ0lEUkVGUycgfCAnRU5USVRZJyB8CisgKiAgICAgICAgICAgICAgICAgICAgICAgICdFTlRJVElFUycgfCAnTk1UT0tFTicgfCAnTk1UT0tFTlMnCisgKgorICogVmFsaWRpdHkgY29uc3RyYWludHMgZm9yIGF0dHJpYnV0ZSB2YWx1ZXMgc3ludGF4IGFyZSBjaGVja2VkIGluCisgKiB4bWxWYWxpZGF0ZUF0dHJpYnV0ZVZhbHVlKCkKKyAqCisgKiBbIFZDOiBJRCBdCisgKiBWYWx1ZXMgb2YgdHlwZSBJRCBtdXN0IG1hdGNoIHRoZSBOYW1lIHByb2R1Y3Rpb24uIEEgbmFtZSBtdXN0IG5vdAorICogYXBwZWFyIG1vcmUgdGhhbiBvbmNlIGluIGFuIFhNTCBkb2N1bWVudCBhcyBhIHZhbHVlIG9mIHRoaXMgdHlwZTsKKyAqIGkuZS4sIElEIHZhbHVlcyBtdXN0IHVuaXF1ZWx5IGlkZW50aWZ5IHRoZSBlbGVtZW50cyB3aGljaCBiZWFyIHRoZW0uCisgKgorICogWyBWQzogT25lIElEIHBlciBFbGVtZW50IFR5cGUgXQorICogTm8gZWxlbWVudCB0eXBlIG1heSBoYXZlIG1vcmUgdGhhbiBvbmUgSUQgYXR0cmlidXRlIHNwZWNpZmllZC4KKyAqCisgKiBbIFZDOiBJRCBBdHRyaWJ1dGUgRGVmYXVsdCBdCisgKiBBbiBJRCBhdHRyaWJ1dGUgbXVzdCBoYXZlIGEgZGVjbGFyZWQgZGVmYXVsdCBvZiAjSU1QTElFRCBvciAjUkVRVUlSRUQuCisgKgorICogWyBWQzogSURSRUYgXQorICogVmFsdWVzIG9mIHR5cGUgSURSRUYgbXVzdCBtYXRjaCB0aGUgTmFtZSBwcm9kdWN0aW9uLCBhbmQgdmFsdWVzCisgKiBvZiB0eXBlIElEUkVGUyBtdXN0IG1hdGNoIE5hbWVzOyBlYWNoIElEUkVGIE5hbWUgbXVzdCBtYXRjaCB0aGUgdmFsdWUKKyAqIG9mIGFuIElEIGF0dHJpYnV0ZSBvbiBzb21lIGVsZW1lbnQgaW4gdGhlIFhNTCBkb2N1bWVudDsgaS5lLiBJRFJFRgorICogdmFsdWVzIG11c3QgbWF0Y2ggdGhlIHZhbHVlIG9mIHNvbWUgSUQgYXR0cmlidXRlLgorICoKKyAqIFsgVkM6IEVudGl0eSBOYW1lIF0KKyAqIFZhbHVlcyBvZiB0eXBlIEVOVElUWSBtdXN0IG1hdGNoIHRoZSBOYW1lIHByb2R1Y3Rpb24sIHZhbHVlcworICogb2YgdHlwZSBFTlRJVElFUyBtdXN0IG1hdGNoIE5hbWVzOyBlYWNoIEVudGl0eSBOYW1lIG11c3QgbWF0Y2ggdGhlCisgKiBuYW1lIG9mIGFuIHVucGFyc2VkIGVudGl0eSBkZWNsYXJlZCBpbiB0aGUgRFRELgorICoKKyAqIFsgVkM6IE5hbWUgVG9rZW4gXQorICogVmFsdWVzIG9mIHR5cGUgTk1UT0tFTiBtdXN0IG1hdGNoIHRoZSBObXRva2VuIHByb2R1Y3Rpb247IHZhbHVlcworICogb2YgdHlwZSBOTVRPS0VOUyBtdXN0IG1hdGNoIE5tdG9rZW5zLgorICoKKyAqIFJldHVybnMgdGhlIGF0dHJpYnV0ZSB0eXBlCisgKi8KK2ludAoreG1sUGFyc2VBdHRyaWJ1dGVUeXBlKHhtbFBhcnNlckN0eHRQdHIgY3R4dCwgeG1sRW51bWVyYXRpb25QdHIgKnRyZWUpIHsKKyAgICBTSFJJTks7CisgICAgaWYgKENNUDUoQ1VSX1BUUiwgJ0MnLCAnRCcsICdBJywgJ1QnLCAnQScpKSB7CisJU0tJUCg1KTsKKwlyZXR1cm4oWE1MX0FUVFJJQlVURV9DREFUQSk7CisgICAgIH0gZWxzZSBpZiAoQ01QNihDVVJfUFRSLCAnSScsICdEJywgJ1InLCAnRScsICdGJywgJ1MnKSkgeworCVNLSVAoNik7CisJcmV0dXJuKFhNTF9BVFRSSUJVVEVfSURSRUZTKTsKKyAgICAgfSBlbHNlIGlmIChDTVA1KENVUl9QVFIsICdJJywgJ0QnLCAnUicsICdFJywgJ0YnKSkgeworCVNLSVAoNSk7CisJcmV0dXJuKFhNTF9BVFRSSUJVVEVfSURSRUYpOworICAgICB9IGVsc2UgaWYgKChSQVcgPT0gJ0knKSAmJiAoTlhUKDEpID09ICdEJykpIHsKKyAgICAgICAgU0tJUCgyKTsKKwlyZXR1cm4oWE1MX0FUVFJJQlVURV9JRCk7CisgICAgIH0gZWxzZSBpZiAoQ01QNihDVVJfUFRSLCAnRScsICdOJywgJ1QnLCAnSScsICdUJywgJ1knKSkgeworCVNLSVAoNik7CisJcmV0dXJuKFhNTF9BVFRSSUJVVEVfRU5USVRZKTsKKyAgICAgfSBlbHNlIGlmIChDTVA4KENVUl9QVFIsICdFJywgJ04nLCAnVCcsICdJJywgJ1QnLCAnSScsICdFJywgJ1MnKSkgeworCVNLSVAoOCk7CisJcmV0dXJuKFhNTF9BVFRSSUJVVEVfRU5USVRJRVMpOworICAgICB9IGVsc2UgaWYgKENNUDgoQ1VSX1BUUiwgJ04nLCAnTScsICdUJywgJ08nLCAnSycsICdFJywgJ04nLCAnUycpKSB7CisJU0tJUCg4KTsKKwlyZXR1cm4oWE1MX0FUVFJJQlVURV9OTVRPS0VOUyk7CisgICAgIH0gZWxzZSBpZiAoQ01QNyhDVVJfUFRSLCAnTicsICdNJywgJ1QnLCAnTycsICdLJywgJ0UnLCAnTicpKSB7CisJU0tJUCg3KTsKKwlyZXR1cm4oWE1MX0FUVFJJQlVURV9OTVRPS0VOKTsKKyAgICAgfQorICAgICByZXR1cm4oeG1sUGFyc2VFbnVtZXJhdGVkVHlwZShjdHh0LCB0cmVlKSk7Cit9CisKKy8qKgorICogeG1sUGFyc2VBdHRyaWJ1dGVMaXN0RGVjbDoKKyAqIEBjdHh0OiAgYW4gWE1MIHBhcnNlciBjb250ZXh0CisgKgorICogOiBwYXJzZSB0aGUgQXR0cmlidXRlIGxpc3QgZGVmIGZvciBhbiBlbGVtZW50CisgKgorICogWzUyXSBBdHRsaXN0RGVjbCA6Oj0gJzwhQVRUTElTVCcgUyBOYW1lIEF0dERlZiogUz8gJz4nCisgKgorICogWzUzXSBBdHREZWYgOjo9IFMgTmFtZSBTIEF0dFR5cGUgUyBEZWZhdWx0RGVjbAorICoKKyAqLwordm9pZAoreG1sUGFyc2VBdHRyaWJ1dGVMaXN0RGVjbCh4bWxQYXJzZXJDdHh0UHRyIGN0eHQpIHsKKyAgICBjb25zdCB4bWxDaGFyICplbGVtTmFtZTsKKyAgICBjb25zdCB4bWxDaGFyICphdHRyTmFtZTsKKyAgICB4bWxFbnVtZXJhdGlvblB0ciB0cmVlOworCisgICAgaWYgKENNUDkoQ1VSX1BUUiwgJzwnLCAnIScsICdBJywgJ1QnLCAnVCcsICdMJywgJ0knLCAnUycsICdUJykpIHsKKwl4bWxQYXJzZXJJbnB1dFB0ciBpbnB1dCA9IGN0eHQtPmlucHV0OworCisJU0tJUCg5KTsKKwlpZiAoIUlTX0JMQU5LX0NIKENVUikpIHsKKwkgICAgeG1sRmF0YWxFcnJNc2coY3R4dCwgWE1MX0VSUl9TUEFDRV9SRVFVSVJFRCwKKwkJICAgICAgICAgICAgICAgICAiU3BhY2UgcmVxdWlyZWQgYWZ0ZXIgJzwhQVRUTElTVCdcbiIpOworCX0KKyAgICAgICAgU0tJUF9CTEFOS1M7CisgICAgICAgIGVsZW1OYW1lID0geG1sUGFyc2VOYW1lKGN0eHQpOworCWlmIChlbGVtTmFtZSA9PSBOVUxMKSB7CisJICAgIHhtbEZhdGFsRXJyTXNnKGN0eHQsIFhNTF9FUlJfTkFNRV9SRVFVSVJFRCwKKwkJCSAgICJBVFRMSVNUOiBubyBuYW1lIGZvciBFbGVtZW50XG4iKTsKKwkgICAgcmV0dXJuOworCX0KKwlTS0lQX0JMQU5LUzsKKwlHUk9XOworCXdoaWxlICgoUkFXICE9ICc+JykgJiYgKGN0eHQtPmluc3RhdGUgIT0gWE1MX1BBUlNFUl9FT0YpKSB7CisJICAgIGNvbnN0IHhtbENoYXIgKmNoZWNrID0gQ1VSX1BUUjsKKwkgICAgaW50IHR5cGU7CisJICAgIGludCBkZWY7CisJICAgIHhtbENoYXIgKmRlZmF1bHRWYWx1ZSA9IE5VTEw7CisKKwkgICAgR1JPVzsKKyAgICAgICAgICAgIHRyZWUgPSBOVUxMOworCSAgICBhdHRyTmFtZSA9IHhtbFBhcnNlTmFtZShjdHh0KTsKKwkgICAgaWYgKGF0dHJOYW1lID09IE5VTEwpIHsKKwkJeG1sRmF0YWxFcnJNc2coY3R4dCwgWE1MX0VSUl9OQU1FX1JFUVVJUkVELAorCQkJICAgICAgICJBVFRMSVNUOiBubyBuYW1lIGZvciBBdHRyaWJ1dGVcbiIpOworCQlicmVhazsKKwkgICAgfQorCSAgICBHUk9XOworCSAgICBpZiAoIUlTX0JMQU5LX0NIKENVUikpIHsKKwkJeG1sRmF0YWxFcnJNc2coY3R4dCwgWE1MX0VSUl9TUEFDRV9SRVFVSVJFRCwKKwkJICAgICAgICAiU3BhY2UgcmVxdWlyZWQgYWZ0ZXIgdGhlIGF0dHJpYnV0ZSBuYW1lXG4iKTsKKwkJYnJlYWs7CisJICAgIH0KKwkgICAgU0tJUF9CTEFOS1M7CisKKwkgICAgdHlwZSA9IHhtbFBhcnNlQXR0cmlidXRlVHlwZShjdHh0LCAmdHJlZSk7CisJICAgIGlmICh0eXBlIDw9IDApIHsKKwkgICAgICAgIGJyZWFrOworCSAgICB9CisKKwkgICAgR1JPVzsKKwkgICAgaWYgKCFJU19CTEFOS19DSChDVVIpKSB7CisJCXhtbEZhdGFsRXJyTXNnKGN0eHQsIFhNTF9FUlJfU1BBQ0VfUkVRVUlSRUQsCisJCQkgICAgICAgIlNwYWNlIHJlcXVpcmVkIGFmdGVyIHRoZSBhdHRyaWJ1dGUgdHlwZVxuIik7CisJICAgICAgICBpZiAodHJlZSAhPSBOVUxMKQorCQkgICAgeG1sRnJlZUVudW1lcmF0aW9uKHRyZWUpOworCQlicmVhazsKKwkgICAgfQorCSAgICBTS0lQX0JMQU5LUzsKKworCSAgICBkZWYgPSB4bWxQYXJzZURlZmF1bHREZWNsKGN0eHQsICZkZWZhdWx0VmFsdWUpOworCSAgICBpZiAoZGVmIDw9IDApIHsKKyAgICAgICAgICAgICAgICBpZiAoZGVmYXVsdFZhbHVlICE9IE5VTEwpCisJCSAgICB4bWxGcmVlKGRlZmF1bHRWYWx1ZSk7CisJICAgICAgICBpZiAodHJlZSAhPSBOVUxMKQorCQkgICAgeG1sRnJlZUVudW1lcmF0aW9uKHRyZWUpOworCSAgICAgICAgYnJlYWs7CisJICAgIH0KKwkgICAgaWYgKCh0eXBlICE9IFhNTF9BVFRSSUJVVEVfQ0RBVEEpICYmIChkZWZhdWx0VmFsdWUgIT0gTlVMTCkpCisJICAgICAgICB4bWxBdHRyTm9ybWFsaXplU3BhY2UoZGVmYXVsdFZhbHVlLCBkZWZhdWx0VmFsdWUpOworCisJICAgIEdST1c7CisgICAgICAgICAgICBpZiAoUkFXICE9ICc+JykgeworCQlpZiAoIUlTX0JMQU5LX0NIKENVUikpIHsKKwkJICAgIHhtbEZhdGFsRXJyTXNnKGN0eHQsIFhNTF9FUlJfU1BBQ0VfUkVRVUlSRUQsCisJCQkiU3BhY2UgcmVxdWlyZWQgYWZ0ZXIgdGhlIGF0dHJpYnV0ZSBkZWZhdWx0IHZhbHVlXG4iKTsKKwkJICAgIGlmIChkZWZhdWx0VmFsdWUgIT0gTlVMTCkKKwkJCXhtbEZyZWUoZGVmYXVsdFZhbHVlKTsKKwkJICAgIGlmICh0cmVlICE9IE5VTEwpCisJCQl4bWxGcmVlRW51bWVyYXRpb24odHJlZSk7CisJCSAgICBicmVhazsKKwkJfQorCQlTS0lQX0JMQU5LUzsKKwkgICAgfQorCSAgICBpZiAoY2hlY2sgPT0gQ1VSX1BUUikgeworCQl4bWxGYXRhbEVycihjdHh0LCBYTUxfRVJSX0lOVEVSTkFMX0VSUk9SLAorCQkgICAgICAgICAgICAiaW4geG1sUGFyc2VBdHRyaWJ1dGVMaXN0RGVjbFxuIik7CisJCWlmIChkZWZhdWx0VmFsdWUgIT0gTlVMTCkKKwkJICAgIHhtbEZyZWUoZGVmYXVsdFZhbHVlKTsKKwkgICAgICAgIGlmICh0cmVlICE9IE5VTEwpCisJCSAgICB4bWxGcmVlRW51bWVyYXRpb24odHJlZSk7CisJCWJyZWFrOworCSAgICB9CisJICAgIGlmICgoY3R4dC0+c2F4ICE9IE5VTEwpICYmICghY3R4dC0+ZGlzYWJsZVNBWCkgJiYKKwkJKGN0eHQtPnNheC0+YXR0cmlidXRlRGVjbCAhPSBOVUxMKSkKKwkJY3R4dC0+c2F4LT5hdHRyaWJ1dGVEZWNsKGN0eHQtPnVzZXJEYXRhLCBlbGVtTmFtZSwgYXR0ck5hbWUsCisJICAgICAgICAgICAgICAgICAgICAgICAgdHlwZSwgZGVmLCBkZWZhdWx0VmFsdWUsIHRyZWUpOworCSAgICBlbHNlIGlmICh0cmVlICE9IE5VTEwpCisJCXhtbEZyZWVFbnVtZXJhdGlvbih0cmVlKTsKKworCSAgICBpZiAoKGN0eHQtPnNheDIpICYmIChkZWZhdWx0VmFsdWUgIT0gTlVMTCkgJiYKKwkgICAgICAgIChkZWYgIT0gWE1MX0FUVFJJQlVURV9JTVBMSUVEKSAmJgorCQkoZGVmICE9IFhNTF9BVFRSSUJVVEVfUkVRVUlSRUQpKSB7CisJCXhtbEFkZERlZkF0dHJzKGN0eHQsIGVsZW1OYW1lLCBhdHRyTmFtZSwgZGVmYXVsdFZhbHVlKTsKKwkgICAgfQorCSAgICBpZiAoY3R4dC0+c2F4MikgeworCQl4bWxBZGRTcGVjaWFsQXR0cihjdHh0LCBlbGVtTmFtZSwgYXR0ck5hbWUsIHR5cGUpOworCSAgICB9CisJICAgIGlmIChkZWZhdWx0VmFsdWUgIT0gTlVMTCkKKwkgICAgICAgIHhtbEZyZWUoZGVmYXVsdFZhbHVlKTsKKwkgICAgR1JPVzsKKwl9CisJaWYgKFJBVyA9PSAnPicpIHsKKwkgICAgaWYgKGlucHV0ICE9IGN0eHQtPmlucHV0KSB7CisJCXhtbFZhbGlkaXR5RXJyb3IoY3R4dCwgWE1MX0VSUl9FTlRJVFlfQk9VTkRBUlksCisgICAgIkF0dHJpYnV0ZSBsaXN0IGRlY2xhcmF0aW9uIGRvZXNuJ3Qgc3RhcnQgYW5kIHN0b3AgaW4gdGhlIHNhbWUgZW50aXR5XG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgTlVMTCk7CisJICAgIH0KKwkgICAgTkVYVDsKKwl9CisgICAgfQorfQorCisvKioKKyAqIHhtbFBhcnNlRWxlbWVudE1peGVkQ29udGVudERlY2w6CisgKiBAY3R4dDogIGFuIFhNTCBwYXJzZXIgY29udGV4dAorICogQGlucHV0Y2hrOiAgdGhlIGlucHV0IHVzZWQgZm9yIHRoZSBjdXJyZW50IGVudGl0eSwgbmVlZGVkIGZvciBib3VuZGFyeSBjaGVja3MKKyAqCisgKiBwYXJzZSB0aGUgZGVjbGFyYXRpb24gZm9yIGEgTWl4ZWQgRWxlbWVudCBjb250ZW50CisgKiBUaGUgbGVhZGluZyAnKCcgYW5kIHNwYWNlcyBoYXZlIGJlZW4gc2tpcHBlZCBpbiB4bWxQYXJzZUVsZW1lbnRDb250ZW50RGVjbAorICoKKyAqIFs1MV0gTWl4ZWQgOjo9ICcoJyBTPyAnI1BDREFUQScgKFM/ICd8JyBTPyBOYW1lKSogUz8gJykqJyB8CisgKiAgICAgICAgICAgICAgICAnKCcgUz8gJyNQQ0RBVEEnIFM/ICcpJworICoKKyAqIFsgVkM6IFByb3BlciBHcm91cC9QRSBOZXN0aW5nIF0gYXBwbGllcyB0byBbNTFdIHRvbyAoc2VlIFs0OV0pCisgKgorICogWyBWQzogTm8gRHVwbGljYXRlIFR5cGVzIF0KKyAqIFRoZSBzYW1lIG5hbWUgbXVzdCBub3QgYXBwZWFyIG1vcmUgdGhhbiBvbmNlIGluIGEgc2luZ2xlCisgKiBtaXhlZC1jb250ZW50IGRlY2xhcmF0aW9uLgorICoKKyAqIHJldHVybnM6IHRoZSBsaXN0IG9mIHRoZSB4bWxFbGVtZW50Q29udGVudFB0ciBkZXNjcmliaW5nIHRoZSBlbGVtZW50IGNob2ljZXMKKyAqLworeG1sRWxlbWVudENvbnRlbnRQdHIKK3htbFBhcnNlRWxlbWVudE1peGVkQ29udGVudERlY2woeG1sUGFyc2VyQ3R4dFB0ciBjdHh0LCBpbnQgaW5wdXRjaGspIHsKKyAgICB4bWxFbGVtZW50Q29udGVudFB0ciByZXQgPSBOVUxMLCBjdXIgPSBOVUxMLCBuOworICAgIGNvbnN0IHhtbENoYXIgKmVsZW0gPSBOVUxMOworCisgICAgR1JPVzsKKyAgICBpZiAoQ01QNyhDVVJfUFRSLCAnIycsICdQJywgJ0MnLCAnRCcsICdBJywgJ1QnLCAnQScpKSB7CisJU0tJUCg3KTsKKwlTS0lQX0JMQU5LUzsKKwlTSFJJTks7CisJaWYgKFJBVyA9PSAnKScpIHsKKwkgICAgaWYgKChjdHh0LT52YWxpZGF0ZSkgJiYgKGN0eHQtPmlucHV0LT5pZCAhPSBpbnB1dGNoaykpIHsKKwkJeG1sVmFsaWRpdHlFcnJvcihjdHh0LCBYTUxfRVJSX0VOVElUWV9CT1VOREFSWSwKKyJFbGVtZW50IGNvbnRlbnQgZGVjbGFyYXRpb24gZG9lc24ndCBzdGFydCBhbmQgc3RvcCBpbiB0aGUgc2FtZSBlbnRpdHlcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCBOVUxMKTsKKwkgICAgfQorCSAgICBORVhUOworCSAgICByZXQgPSB4bWxOZXdEb2NFbGVtZW50Q29udGVudChjdHh0LT5teURvYywgTlVMTCwgWE1MX0VMRU1FTlRfQ09OVEVOVF9QQ0RBVEEpOworCSAgICBpZiAocmV0ID09IE5VTEwpCisJICAgICAgICByZXR1cm4oTlVMTCk7CisJICAgIGlmIChSQVcgPT0gJyonKSB7CisJCXJldC0+b2N1ciA9IFhNTF9FTEVNRU5UX0NPTlRFTlRfTVVMVDsKKwkJTkVYVDsKKwkgICAgfQorCSAgICByZXR1cm4ocmV0KTsKKwl9CisJaWYgKChSQVcgPT0gJygnKSB8fCAoUkFXID09ICd8JykpIHsKKwkgICAgcmV0ID0gY3VyID0geG1sTmV3RG9jRWxlbWVudENvbnRlbnQoY3R4dC0+bXlEb2MsIE5VTEwsIFhNTF9FTEVNRU5UX0NPTlRFTlRfUENEQVRBKTsKKwkgICAgaWYgKHJldCA9PSBOVUxMKSByZXR1cm4oTlVMTCk7CisJfQorCXdoaWxlICgoUkFXID09ICd8JykgJiYgKGN0eHQtPmluc3RhdGUgIT0gWE1MX1BBUlNFUl9FT0YpKSB7CisJICAgIE5FWFQ7CisJICAgIGlmIChlbGVtID09IE5VTEwpIHsKKwkgICAgICAgIHJldCA9IHhtbE5ld0RvY0VsZW1lbnRDb250ZW50KGN0eHQtPm15RG9jLCBOVUxMLCBYTUxfRUxFTUVOVF9DT05URU5UX09SKTsKKwkJaWYgKHJldCA9PSBOVUxMKSByZXR1cm4oTlVMTCk7CisJCXJldC0+YzEgPSBjdXI7CisJCWlmIChjdXIgIT0gTlVMTCkKKwkJICAgIGN1ci0+cGFyZW50ID0gcmV0OworCQljdXIgPSByZXQ7CisJICAgIH0gZWxzZSB7CisJICAgICAgICBuID0geG1sTmV3RG9jRWxlbWVudENvbnRlbnQoY3R4dC0+bXlEb2MsIE5VTEwsIFhNTF9FTEVNRU5UX0NPTlRFTlRfT1IpOworCQlpZiAobiA9PSBOVUxMKSByZXR1cm4oTlVMTCk7CisJCW4tPmMxID0geG1sTmV3RG9jRWxlbWVudENvbnRlbnQoY3R4dC0+bXlEb2MsIGVsZW0sIFhNTF9FTEVNRU5UX0NPTlRFTlRfRUxFTUVOVCk7CisJCWlmIChuLT5jMSAhPSBOVUxMKQorCQkgICAgbi0+YzEtPnBhcmVudCA9IG47CisJICAgICAgICBjdXItPmMyID0gbjsKKwkJaWYgKG4gIT0gTlVMTCkKKwkJICAgIG4tPnBhcmVudCA9IGN1cjsKKwkJY3VyID0gbjsKKwkgICAgfQorCSAgICBTS0lQX0JMQU5LUzsKKwkgICAgZWxlbSA9IHhtbFBhcnNlTmFtZShjdHh0KTsKKwkgICAgaWYgKGVsZW0gPT0gTlVMTCkgeworCQl4bWxGYXRhbEVyck1zZyhjdHh0LCBYTUxfRVJSX05BTUVfUkVRVUlSRUQsCisJCQkieG1sUGFyc2VFbGVtZW50TWl4ZWRDb250ZW50RGVjbCA6IE5hbWUgZXhwZWN0ZWRcbiIpOworCQl4bWxGcmVlRG9jRWxlbWVudENvbnRlbnQoY3R4dC0+bXlEb2MsIGN1cik7CisJCXJldHVybihOVUxMKTsKKwkgICAgfQorCSAgICBTS0lQX0JMQU5LUzsKKwkgICAgR1JPVzsKKwl9CisJaWYgKChSQVcgPT0gJyknKSAmJiAoTlhUKDEpID09ICcqJykpIHsKKwkgICAgaWYgKGVsZW0gIT0gTlVMTCkgeworCQljdXItPmMyID0geG1sTmV3RG9jRWxlbWVudENvbnRlbnQoY3R4dC0+bXlEb2MsIGVsZW0sCisJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfRUxFTUVOVF9DT05URU5UX0VMRU1FTlQpOworCQlpZiAoY3VyLT5jMiAhPSBOVUxMKQorCQkgICAgY3VyLT5jMi0+cGFyZW50ID0gY3VyOworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKHJldCAhPSBOVUxMKQorICAgICAgICAgICAgICAgIHJldC0+b2N1ciA9IFhNTF9FTEVNRU5UX0NPTlRFTlRfTVVMVDsKKwkgICAgaWYgKChjdHh0LT52YWxpZGF0ZSkgJiYgKGN0eHQtPmlucHV0LT5pZCAhPSBpbnB1dGNoaykpIHsKKwkJeG1sVmFsaWRpdHlFcnJvcihjdHh0LCBYTUxfRVJSX0VOVElUWV9CT1VOREFSWSwKKyJFbGVtZW50IGNvbnRlbnQgZGVjbGFyYXRpb24gZG9lc24ndCBzdGFydCBhbmQgc3RvcCBpbiB0aGUgc2FtZSBlbnRpdHlcbiIsCisJCQkJIE5VTEwsIE5VTEwpOworCSAgICB9CisJICAgIFNLSVAoMik7CisJfSBlbHNlIHsKKwkgICAgeG1sRnJlZURvY0VsZW1lbnRDb250ZW50KGN0eHQtPm15RG9jLCByZXQpOworCSAgICB4bWxGYXRhbEVycihjdHh0LCBYTUxfRVJSX01JWEVEX05PVF9TVEFSVEVELCBOVUxMKTsKKwkgICAgcmV0dXJuKE5VTEwpOworCX0KKworICAgIH0gZWxzZSB7CisJeG1sRmF0YWxFcnIoY3R4dCwgWE1MX0VSUl9QQ0RBVEFfUkVRVUlSRUQsIE5VTEwpOworICAgIH0KKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxQYXJzZUVsZW1lbnRDaGlsZHJlbkNvbnRlbnREZWNsUHJpdjoKKyAqIEBjdHh0OiAgYW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAaW5wdXRjaGs6ICB0aGUgaW5wdXQgdXNlZCBmb3IgdGhlIGN1cnJlbnQgZW50aXR5LCBuZWVkZWQgZm9yIGJvdW5kYXJ5IGNoZWNrcworICogQGRlcHRoOiB0aGUgbGV2ZWwgb2YgcmVjdXJzaW9uCisgKgorICogcGFyc2UgdGhlIGRlY2xhcmF0aW9uIGZvciBhIE1peGVkIEVsZW1lbnQgY29udGVudAorICogVGhlIGxlYWRpbmcgJygnIGFuZCBzcGFjZXMgaGF2ZSBiZWVuIHNraXBwZWQgaW4geG1sUGFyc2VFbGVtZW50Q29udGVudERlY2wKKyAqCisgKgorICogWzQ3XSBjaGlsZHJlbiA6Oj0gKGNob2ljZSB8IHNlcSkgKCc/JyB8ICcqJyB8ICcrJyk/CisgKgorICogWzQ4XSBjcCA6Oj0gKE5hbWUgfCBjaG9pY2UgfCBzZXEpICgnPycgfCAnKicgfCAnKycpPworICoKKyAqIFs0OV0gY2hvaWNlIDo6PSAnKCcgUz8gY3AgKCBTPyAnfCcgUz8gY3AgKSogUz8gJyknCisgKgorICogWzUwXSBzZXEgOjo9ICcoJyBTPyBjcCAoIFM/ICcsJyBTPyBjcCApKiBTPyAnKScKKyAqCisgKiBbIFZDOiBQcm9wZXIgR3JvdXAvUEUgTmVzdGluZyBdIGFwcGxpZXMgdG8gWzQ5XSBhbmQgWzUwXQorICogVE9ETyBQYXJhbWV0ZXItZW50aXR5IHJlcGxhY2VtZW50IHRleHQgbXVzdCBiZSBwcm9wZXJseSBuZXN0ZWQKKyAqCXdpdGggcGFyZW50aGVzaXplZCBncm91cHMuIFRoYXQgaXMgdG8gc2F5LCBpZiBlaXRoZXIgb2YgdGhlCisgKglvcGVuaW5nIG9yIGNsb3NpbmcgcGFyZW50aGVzZXMgaW4gYSBjaG9pY2UsIHNlcSwgb3IgTWl4ZWQKKyAqCWNvbnN0cnVjdCBpcyBjb250YWluZWQgaW4gdGhlIHJlcGxhY2VtZW50IHRleHQgZm9yIGEgcGFyYW1ldGVyCisgKgllbnRpdHksIGJvdGggbXVzdCBiZSBjb250YWluZWQgaW4gdGhlIHNhbWUgcmVwbGFjZW1lbnQgdGV4dC4gRm9yCisgKglpbnRlcm9wZXJhYmlsaXR5LCBpZiBhIHBhcmFtZXRlci1lbnRpdHkgcmVmZXJlbmNlIGFwcGVhcnMgaW4gYQorICoJY2hvaWNlLCBzZXEsIG9yIE1peGVkIGNvbnN0cnVjdCwgaXRzIHJlcGxhY2VtZW50IHRleHQgc2hvdWxkIG5vdAorICoJYmUgZW1wdHksIGFuZCBuZWl0aGVyIHRoZSBmaXJzdCBub3IgbGFzdCBub24tYmxhbmsgY2hhcmFjdGVyIG9mCisgKgl0aGUgcmVwbGFjZW1lbnQgdGV4dCBzaG91bGQgYmUgYSBjb25uZWN0b3IgKHwgb3IgLCkuCisgKgorICogUmV0dXJucyB0aGUgdHJlZSBvZiB4bWxFbGVtZW50Q29udGVudFB0ciBkZXNjcmliaW5nIHRoZSBlbGVtZW50CisgKiAgICAgICAgICBoaWVyYXJjaHkuCisgKi8KK3N0YXRpYyB4bWxFbGVtZW50Q29udGVudFB0cgoreG1sUGFyc2VFbGVtZW50Q2hpbGRyZW5Db250ZW50RGVjbFByaXYoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0LCBpbnQgaW5wdXRjaGssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZGVwdGgpIHsKKyAgICB4bWxFbGVtZW50Q29udGVudFB0ciByZXQgPSBOVUxMLCBjdXIgPSBOVUxMLCBsYXN0ID0gTlVMTCwgb3AgPSBOVUxMOworICAgIGNvbnN0IHhtbENoYXIgKmVsZW07CisgICAgeG1sQ2hhciB0eXBlID0gMDsKKworICAgIGlmICgoKGRlcHRoID4gMTI4KSAmJiAoKGN0eHQtPm9wdGlvbnMgJiBYTUxfUEFSU0VfSFVHRSkgPT0gMCkpIHx8CisgICAgICAgIChkZXB0aCA+ICAyMDQ4KSkgeworICAgICAgICB4bWxGYXRhbEVyck1zZ0ludChjdHh0LCBYTUxfRVJSX0VMRU1DT05URU5UX05PVF9GSU5JU0hFRCwKKyJ4bWxQYXJzZUVsZW1lbnRDaGlsZHJlbkNvbnRlbnREZWNsIDogZGVwdGggJWQgdG9vIGRlZXAsIHVzZSBYTUxfUEFSU0VfSFVHRVxuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgZGVwdGgpOworCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgU0tJUF9CTEFOS1M7CisgICAgR1JPVzsKKyAgICBpZiAoUkFXID09ICcoJykgeworCWludCBpbnB1dGlkID0gY3R4dC0+aW5wdXQtPmlkOworCisgICAgICAgIC8qIFJlY3Vyc2Ugb24gZmlyc3QgY2hpbGQgKi8KKwlORVhUOworCVNLSVBfQkxBTktTOworICAgICAgICBjdXIgPSByZXQgPSB4bWxQYXJzZUVsZW1lbnRDaGlsZHJlbkNvbnRlbnREZWNsUHJpdihjdHh0LCBpbnB1dGlkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXB0aCArIDEpOworCVNLSVBfQkxBTktTOworCUdST1c7CisgICAgfSBlbHNlIHsKKwllbGVtID0geG1sUGFyc2VOYW1lKGN0eHQpOworCWlmIChlbGVtID09IE5VTEwpIHsKKwkgICAgeG1sRmF0YWxFcnIoY3R4dCwgWE1MX0VSUl9FTEVNQ09OVEVOVF9OT1RfU1RBUlRFRCwgTlVMTCk7CisJICAgIHJldHVybihOVUxMKTsKKwl9CisgICAgICAgIGN1ciA9IHJldCA9IHhtbE5ld0RvY0VsZW1lbnRDb250ZW50KGN0eHQtPm15RG9jLCBlbGVtLCBYTUxfRUxFTUVOVF9DT05URU5UX0VMRU1FTlQpOworCWlmIChjdXIgPT0gTlVMTCkgeworCSAgICB4bWxFcnJNZW1vcnkoY3R4dCwgTlVMTCk7CisJICAgIHJldHVybihOVUxMKTsKKwl9CisJR1JPVzsKKwlpZiAoUkFXID09ICc/JykgeworCSAgICBjdXItPm9jdXIgPSBYTUxfRUxFTUVOVF9DT05URU5UX09QVDsKKwkgICAgTkVYVDsKKwl9IGVsc2UgaWYgKFJBVyA9PSAnKicpIHsKKwkgICAgY3VyLT5vY3VyID0gWE1MX0VMRU1FTlRfQ09OVEVOVF9NVUxUOworCSAgICBORVhUOworCX0gZWxzZSBpZiAoUkFXID09ICcrJykgeworCSAgICBjdXItPm9jdXIgPSBYTUxfRUxFTUVOVF9DT05URU5UX1BMVVM7CisJICAgIE5FWFQ7CisJfSBlbHNlIHsKKwkgICAgY3VyLT5vY3VyID0gWE1MX0VMRU1FTlRfQ09OVEVOVF9PTkNFOworCX0KKwlHUk9XOworICAgIH0KKyAgICBTS0lQX0JMQU5LUzsKKyAgICBTSFJJTks7CisgICAgd2hpbGUgKChSQVcgIT0gJyknKSAmJiAoY3R4dC0+aW5zdGF0ZSAhPSBYTUxfUEFSU0VSX0VPRikpIHsKKyAgICAgICAgLyoKKwkgKiBFYWNoIGxvb3Agd2UgcGFyc2Ugb25lIHNlcGFyYXRvciBhbmQgb25lIGVsZW1lbnQuCisJICovCisgICAgICAgIGlmIChSQVcgPT0gJywnKSB7CisJICAgIGlmICh0eXBlID09IDApIHR5cGUgPSBDVVI7CisKKwkgICAgLyoKKwkgICAgICogRGV0ZWN0ICJOYW1lIHwgTmFtZSAsIE5hbWUiIGVycm9yCisJICAgICAqLworCSAgICBlbHNlIGlmICh0eXBlICE9IENVUikgeworCQl4bWxGYXRhbEVyck1zZ0ludChjdHh0LCBYTUxfRVJSX1NFUEFSQVRPUl9SRVFVSVJFRCwKKwkJICAgICJ4bWxQYXJzZUVsZW1lbnRDaGlsZHJlbkNvbnRlbnREZWNsIDogJyVjJyBleHBlY3RlZFxuIiwKKwkJICAgICAgICAgICAgICAgICAgdHlwZSk7CisJCWlmICgobGFzdCAhPSBOVUxMKSAmJiAobGFzdCAhPSByZXQpKQorCQkgICAgeG1sRnJlZURvY0VsZW1lbnRDb250ZW50KGN0eHQtPm15RG9jLCBsYXN0KTsKKwkJaWYgKHJldCAhPSBOVUxMKQorCQkgICAgeG1sRnJlZURvY0VsZW1lbnRDb250ZW50KGN0eHQtPm15RG9jLCByZXQpOworCQlyZXR1cm4oTlVMTCk7CisJICAgIH0KKwkgICAgTkVYVDsKKworCSAgICBvcCA9IHhtbE5ld0RvY0VsZW1lbnRDb250ZW50KGN0eHQtPm15RG9jLCBOVUxMLCBYTUxfRUxFTUVOVF9DT05URU5UX1NFUSk7CisJICAgIGlmIChvcCA9PSBOVUxMKSB7CisJCWlmICgobGFzdCAhPSBOVUxMKSAmJiAobGFzdCAhPSByZXQpKQorCQkgICAgeG1sRnJlZURvY0VsZW1lbnRDb250ZW50KGN0eHQtPm15RG9jLCBsYXN0KTsKKwkgICAgICAgIHhtbEZyZWVEb2NFbGVtZW50Q29udGVudChjdHh0LT5teURvYywgcmV0KTsKKwkJcmV0dXJuKE5VTEwpOworCSAgICB9CisJICAgIGlmIChsYXN0ID09IE5VTEwpIHsKKwkJb3AtPmMxID0gcmV0OworCQlpZiAocmV0ICE9IE5VTEwpCisJCSAgICByZXQtPnBhcmVudCA9IG9wOworCQlyZXQgPSBjdXIgPSBvcDsKKwkgICAgfSBlbHNlIHsKKwkgICAgICAgIGN1ci0+YzIgPSBvcDsKKwkJaWYgKG9wICE9IE5VTEwpCisJCSAgICBvcC0+cGFyZW50ID0gY3VyOworCQlvcC0+YzEgPSBsYXN0OworCQlpZiAobGFzdCAhPSBOVUxMKQorCQkgICAgbGFzdC0+cGFyZW50ID0gb3A7CisJCWN1ciA9b3A7CisJCWxhc3QgPSBOVUxMOworCSAgICB9CisJfSBlbHNlIGlmIChSQVcgPT0gJ3wnKSB7CisJICAgIGlmICh0eXBlID09IDApIHR5cGUgPSBDVVI7CisKKwkgICAgLyoKKwkgICAgICogRGV0ZWN0ICJOYW1lICwgTmFtZSB8IE5hbWUiIGVycm9yCisJICAgICAqLworCSAgICBlbHNlIGlmICh0eXBlICE9IENVUikgeworCQl4bWxGYXRhbEVyck1zZ0ludChjdHh0LCBYTUxfRVJSX1NFUEFSQVRPUl9SRVFVSVJFRCwKKwkJICAgICJ4bWxQYXJzZUVsZW1lbnRDaGlsZHJlbkNvbnRlbnREZWNsIDogJyVjJyBleHBlY3RlZFxuIiwKKwkJCQkgIHR5cGUpOworCQlpZiAoKGxhc3QgIT0gTlVMTCkgJiYgKGxhc3QgIT0gcmV0KSkKKwkJICAgIHhtbEZyZWVEb2NFbGVtZW50Q29udGVudChjdHh0LT5teURvYywgbGFzdCk7CisJCWlmIChyZXQgIT0gTlVMTCkKKwkJICAgIHhtbEZyZWVEb2NFbGVtZW50Q29udGVudChjdHh0LT5teURvYywgcmV0KTsKKwkJcmV0dXJuKE5VTEwpOworCSAgICB9CisJICAgIE5FWFQ7CisKKwkgICAgb3AgPSB4bWxOZXdEb2NFbGVtZW50Q29udGVudChjdHh0LT5teURvYywgTlVMTCwgWE1MX0VMRU1FTlRfQ09OVEVOVF9PUik7CisJICAgIGlmIChvcCA9PSBOVUxMKSB7CisJCWlmICgobGFzdCAhPSBOVUxMKSAmJiAobGFzdCAhPSByZXQpKQorCQkgICAgeG1sRnJlZURvY0VsZW1lbnRDb250ZW50KGN0eHQtPm15RG9jLCBsYXN0KTsKKwkJaWYgKHJldCAhPSBOVUxMKQorCQkgICAgeG1sRnJlZURvY0VsZW1lbnRDb250ZW50KGN0eHQtPm15RG9jLCByZXQpOworCQlyZXR1cm4oTlVMTCk7CisJICAgIH0KKwkgICAgaWYgKGxhc3QgPT0gTlVMTCkgeworCQlvcC0+YzEgPSByZXQ7CisJCWlmIChyZXQgIT0gTlVMTCkKKwkJICAgIHJldC0+cGFyZW50ID0gb3A7CisJCXJldCA9IGN1ciA9IG9wOworCSAgICB9IGVsc2UgeworCSAgICAgICAgY3VyLT5jMiA9IG9wOworCQlpZiAob3AgIT0gTlVMTCkKKwkJICAgIG9wLT5wYXJlbnQgPSBjdXI7CisJCW9wLT5jMSA9IGxhc3Q7CisJCWlmIChsYXN0ICE9IE5VTEwpCisJCSAgICBsYXN0LT5wYXJlbnQgPSBvcDsKKwkJY3VyID1vcDsKKwkJbGFzdCA9IE5VTEw7CisJICAgIH0KKwl9IGVsc2UgeworCSAgICB4bWxGYXRhbEVycihjdHh0LCBYTUxfRVJSX0VMRU1DT05URU5UX05PVF9GSU5JU0hFRCwgTlVMTCk7CisJICAgIGlmICgobGFzdCAhPSBOVUxMKSAmJiAobGFzdCAhPSByZXQpKQorCSAgICAgICAgeG1sRnJlZURvY0VsZW1lbnRDb250ZW50KGN0eHQtPm15RG9jLCBsYXN0KTsKKwkgICAgaWYgKHJldCAhPSBOVUxMKQorCQl4bWxGcmVlRG9jRWxlbWVudENvbnRlbnQoY3R4dC0+bXlEb2MsIHJldCk7CisJICAgIHJldHVybihOVUxMKTsKKwl9CisJR1JPVzsKKwlTS0lQX0JMQU5LUzsKKwlHUk9XOworCWlmIChSQVcgPT0gJygnKSB7CisJICAgIGludCBpbnB1dGlkID0gY3R4dC0+aW5wdXQtPmlkOworCSAgICAvKiBSZWN1cnNlIG9uIHNlY29uZCBjaGlsZCAqLworCSAgICBORVhUOworCSAgICBTS0lQX0JMQU5LUzsKKwkgICAgbGFzdCA9IHhtbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2xQcml2KGN0eHQsIGlucHV0aWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVwdGggKyAxKTsKKwkgICAgU0tJUF9CTEFOS1M7CisJfSBlbHNlIHsKKwkgICAgZWxlbSA9IHhtbFBhcnNlTmFtZShjdHh0KTsKKwkgICAgaWYgKGVsZW0gPT0gTlVMTCkgeworCQl4bWxGYXRhbEVycihjdHh0LCBYTUxfRVJSX0VMRU1DT05URU5UX05PVF9TVEFSVEVELCBOVUxMKTsKKwkJaWYgKHJldCAhPSBOVUxMKQorCQkgICAgeG1sRnJlZURvY0VsZW1lbnRDb250ZW50KGN0eHQtPm15RG9jLCByZXQpOworCQlyZXR1cm4oTlVMTCk7CisJICAgIH0KKwkgICAgbGFzdCA9IHhtbE5ld0RvY0VsZW1lbnRDb250ZW50KGN0eHQtPm15RG9jLCBlbGVtLCBYTUxfRUxFTUVOVF9DT05URU5UX0VMRU1FTlQpOworCSAgICBpZiAobGFzdCA9PSBOVUxMKSB7CisJCWlmIChyZXQgIT0gTlVMTCkKKwkJICAgIHhtbEZyZWVEb2NFbGVtZW50Q29udGVudChjdHh0LT5teURvYywgcmV0KTsKKwkJcmV0dXJuKE5VTEwpOworCSAgICB9CisJICAgIGlmIChSQVcgPT0gJz8nKSB7CisJCWxhc3QtPm9jdXIgPSBYTUxfRUxFTUVOVF9DT05URU5UX09QVDsKKwkJTkVYVDsKKwkgICAgfSBlbHNlIGlmIChSQVcgPT0gJyonKSB7CisJCWxhc3QtPm9jdXIgPSBYTUxfRUxFTUVOVF9DT05URU5UX01VTFQ7CisJCU5FWFQ7CisJICAgIH0gZWxzZSBpZiAoUkFXID09ICcrJykgeworCQlsYXN0LT5vY3VyID0gWE1MX0VMRU1FTlRfQ09OVEVOVF9QTFVTOworCQlORVhUOworCSAgICB9IGVsc2UgeworCQlsYXN0LT5vY3VyID0gWE1MX0VMRU1FTlRfQ09OVEVOVF9PTkNFOworCSAgICB9CisJfQorCVNLSVBfQkxBTktTOworCUdST1c7CisgICAgfQorICAgIGlmICgoY3VyICE9IE5VTEwpICYmIChsYXN0ICE9IE5VTEwpKSB7CisgICAgICAgIGN1ci0+YzIgPSBsYXN0OworCWlmIChsYXN0ICE9IE5VTEwpCisJICAgIGxhc3QtPnBhcmVudCA9IGN1cjsKKyAgICB9CisgICAgaWYgKChjdHh0LT52YWxpZGF0ZSkgJiYgKGN0eHQtPmlucHV0LT5pZCAhPSBpbnB1dGNoaykpIHsKKwl4bWxWYWxpZGl0eUVycm9yKGN0eHQsIFhNTF9FUlJfRU5USVRZX0JPVU5EQVJZLAorIkVsZW1lbnQgY29udGVudCBkZWNsYXJhdGlvbiBkb2Vzbid0IHN0YXJ0IGFuZCBzdG9wIGluIHRoZSBzYW1lIGVudGl0eVxuIiwKKwkJCSBOVUxMLCBOVUxMKTsKKyAgICB9CisgICAgTkVYVDsKKyAgICBpZiAoUkFXID09ICc/JykgeworCWlmIChyZXQgIT0gTlVMTCkgeworCSAgICBpZiAoKHJldC0+b2N1ciA9PSBYTUxfRUxFTUVOVF9DT05URU5UX1BMVVMpIHx8CisJICAgICAgICAocmV0LT5vY3VyID09IFhNTF9FTEVNRU5UX0NPTlRFTlRfTVVMVCkpCisJICAgICAgICByZXQtPm9jdXIgPSBYTUxfRUxFTUVOVF9DT05URU5UX01VTFQ7CisJICAgIGVsc2UKKwkgICAgICAgIHJldC0+b2N1ciA9IFhNTF9FTEVNRU5UX0NPTlRFTlRfT1BUOworCX0KKwlORVhUOworICAgIH0gZWxzZSBpZiAoUkFXID09ICcqJykgeworCWlmIChyZXQgIT0gTlVMTCkgeworCSAgICByZXQtPm9jdXIgPSBYTUxfRUxFTUVOVF9DT05URU5UX01VTFQ7CisJICAgIGN1ciA9IHJldDsKKwkgICAgLyoKKwkgICAgICogU29tZSBub3JtYWxpemF0aW9uOgorCSAgICAgKiAoYSB8IGIqIHwgYz8pKiA9PSAoYSB8IGIgfCBjKSoKKwkgICAgICovCisJICAgIHdoaWxlICgoY3VyICE9IE5VTEwpICYmIChjdXItPnR5cGUgPT0gWE1MX0VMRU1FTlRfQ09OVEVOVF9PUikpIHsKKwkJaWYgKChjdXItPmMxICE9IE5VTEwpICYmCisJICAgICAgICAgICAgKChjdXItPmMxLT5vY3VyID09IFhNTF9FTEVNRU5UX0NPTlRFTlRfT1BUKSB8fAorCQkgICAgIChjdXItPmMxLT5vY3VyID09IFhNTF9FTEVNRU5UX0NPTlRFTlRfTVVMVCkpKQorCQkgICAgY3VyLT5jMS0+b2N1ciA9IFhNTF9FTEVNRU5UX0NPTlRFTlRfT05DRTsKKwkJaWYgKChjdXItPmMyICE9IE5VTEwpICYmCisJICAgICAgICAgICAgKChjdXItPmMyLT5vY3VyID09IFhNTF9FTEVNRU5UX0NPTlRFTlRfT1BUKSB8fAorCQkgICAgIChjdXItPmMyLT5vY3VyID09IFhNTF9FTEVNRU5UX0NPTlRFTlRfTVVMVCkpKQorCQkgICAgY3VyLT5jMi0+b2N1ciA9IFhNTF9FTEVNRU5UX0NPTlRFTlRfT05DRTsKKwkJY3VyID0gY3VyLT5jMjsKKwkgICAgfQorCX0KKwlORVhUOworICAgIH0gZWxzZSBpZiAoUkFXID09ICcrJykgeworCWlmIChyZXQgIT0gTlVMTCkgeworCSAgICBpbnQgZm91bmQgPSAwOworCisJICAgIGlmICgocmV0LT5vY3VyID09IFhNTF9FTEVNRU5UX0NPTlRFTlRfT1BUKSB8fAorCSAgICAgICAgKHJldC0+b2N1ciA9PSBYTUxfRUxFTUVOVF9DT05URU5UX01VTFQpKQorCSAgICAgICAgcmV0LT5vY3VyID0gWE1MX0VMRU1FTlRfQ09OVEVOVF9NVUxUOworCSAgICBlbHNlCisJICAgICAgICByZXQtPm9jdXIgPSBYTUxfRUxFTUVOVF9DT05URU5UX1BMVVM7CisJICAgIC8qCisJICAgICAqIFNvbWUgbm9ybWFsaXphdGlvbjoKKwkgICAgICogKGEgfCBiKikrID09IChhIHwgYikqCisJICAgICAqIChhIHwgYj8pKyA9PSAoYSB8IGIpKgorCSAgICAgKi8KKwkgICAgd2hpbGUgKChjdXIgIT0gTlVMTCkgJiYgKGN1ci0+dHlwZSA9PSBYTUxfRUxFTUVOVF9DT05URU5UX09SKSkgeworCQlpZiAoKGN1ci0+YzEgIT0gTlVMTCkgJiYKKwkgICAgICAgICAgICAoKGN1ci0+YzEtPm9jdXIgPT0gWE1MX0VMRU1FTlRfQ09OVEVOVF9PUFQpIHx8CisJCSAgICAgKGN1ci0+YzEtPm9jdXIgPT0gWE1MX0VMRU1FTlRfQ09OVEVOVF9NVUxUKSkpIHsKKwkJICAgIGN1ci0+YzEtPm9jdXIgPSBYTUxfRUxFTUVOVF9DT05URU5UX09OQ0U7CisJCSAgICBmb3VuZCA9IDE7CisJCX0KKwkJaWYgKChjdXItPmMyICE9IE5VTEwpICYmCisJICAgICAgICAgICAgKChjdXItPmMyLT5vY3VyID09IFhNTF9FTEVNRU5UX0NPTlRFTlRfT1BUKSB8fAorCQkgICAgIChjdXItPmMyLT5vY3VyID09IFhNTF9FTEVNRU5UX0NPTlRFTlRfTVVMVCkpKSB7CisJCSAgICBjdXItPmMyLT5vY3VyID0gWE1MX0VMRU1FTlRfQ09OVEVOVF9PTkNFOworCQkgICAgZm91bmQgPSAxOworCQl9CisJCWN1ciA9IGN1ci0+YzI7CisJICAgIH0KKwkgICAgaWYgKGZvdW5kKQorCQlyZXQtPm9jdXIgPSBYTUxfRUxFTUVOVF9DT05URU5UX01VTFQ7CisJfQorCU5FWFQ7CisgICAgfQorICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2w6CisgKiBAY3R4dDogIGFuIFhNTCBwYXJzZXIgY29udGV4dAorICogQGlucHV0Y2hrOiAgdGhlIGlucHV0IHVzZWQgZm9yIHRoZSBjdXJyZW50IGVudGl0eSwgbmVlZGVkIGZvciBib3VuZGFyeSBjaGVja3MKKyAqCisgKiBwYXJzZSB0aGUgZGVjbGFyYXRpb24gZm9yIGEgTWl4ZWQgRWxlbWVudCBjb250ZW50CisgKiBUaGUgbGVhZGluZyAnKCcgYW5kIHNwYWNlcyBoYXZlIGJlZW4gc2tpcHBlZCBpbiB4bWxQYXJzZUVsZW1lbnRDb250ZW50RGVjbAorICoKKyAqIFs0N10gY2hpbGRyZW4gOjo9IChjaG9pY2UgfCBzZXEpICgnPycgfCAnKicgfCAnKycpPworICoKKyAqIFs0OF0gY3AgOjo9IChOYW1lIHwgY2hvaWNlIHwgc2VxKSAoJz8nIHwgJyonIHwgJysnKT8KKyAqCisgKiBbNDldIGNob2ljZSA6Oj0gJygnIFM/IGNwICggUz8gJ3wnIFM/IGNwICkqIFM/ICcpJworICoKKyAqIFs1MF0gc2VxIDo6PSAnKCcgUz8gY3AgKCBTPyAnLCcgUz8gY3AgKSogUz8gJyknCisgKgorICogWyBWQzogUHJvcGVyIEdyb3VwL1BFIE5lc3RpbmcgXSBhcHBsaWVzIHRvIFs0OV0gYW5kIFs1MF0KKyAqIFRPRE8gUGFyYW1ldGVyLWVudGl0eSByZXBsYWNlbWVudCB0ZXh0IG11c3QgYmUgcHJvcGVybHkgbmVzdGVkCisgKgl3aXRoIHBhcmVudGhlc2l6ZWQgZ3JvdXBzLiBUaGF0IGlzIHRvIHNheSwgaWYgZWl0aGVyIG9mIHRoZQorICoJb3BlbmluZyBvciBjbG9zaW5nIHBhcmVudGhlc2VzIGluIGEgY2hvaWNlLCBzZXEsIG9yIE1peGVkCisgKgljb25zdHJ1Y3QgaXMgY29udGFpbmVkIGluIHRoZSByZXBsYWNlbWVudCB0ZXh0IGZvciBhIHBhcmFtZXRlcgorICoJZW50aXR5LCBib3RoIG11c3QgYmUgY29udGFpbmVkIGluIHRoZSBzYW1lIHJlcGxhY2VtZW50IHRleHQuIEZvcgorICoJaW50ZXJvcGVyYWJpbGl0eSwgaWYgYSBwYXJhbWV0ZXItZW50aXR5IHJlZmVyZW5jZSBhcHBlYXJzIGluIGEKKyAqCWNob2ljZSwgc2VxLCBvciBNaXhlZCBjb25zdHJ1Y3QsIGl0cyByZXBsYWNlbWVudCB0ZXh0IHNob3VsZCBub3QKKyAqCWJlIGVtcHR5LCBhbmQgbmVpdGhlciB0aGUgZmlyc3Qgbm9yIGxhc3Qgbm9uLWJsYW5rIGNoYXJhY3RlciBvZgorICoJdGhlIHJlcGxhY2VtZW50IHRleHQgc2hvdWxkIGJlIGEgY29ubmVjdG9yICh8IG9yICwpLgorICoKKyAqIFJldHVybnMgdGhlIHRyZWUgb2YgeG1sRWxlbWVudENvbnRlbnRQdHIgZGVzY3JpYmluZyB0aGUgZWxlbWVudAorICogICAgICAgICAgaGllcmFyY2h5LgorICovCit4bWxFbGVtZW50Q29udGVudFB0cgoreG1sUGFyc2VFbGVtZW50Q2hpbGRyZW5Db250ZW50RGVjbCh4bWxQYXJzZXJDdHh0UHRyIGN0eHQsIGludCBpbnB1dGNoaykgeworICAgIC8qIHN0dWIgbGVmdCBmb3IgQVBJL0FCSSBjb21wYXQgKi8KKyAgICByZXR1cm4oeG1sUGFyc2VFbGVtZW50Q2hpbGRyZW5Db250ZW50RGVjbFByaXYoY3R4dCwgaW5wdXRjaGssIDEpKTsKK30KKworLyoqCisgKiB4bWxQYXJzZUVsZW1lbnRDb250ZW50RGVjbDoKKyAqIEBjdHh0OiAgYW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAbmFtZTogIHRoZSBuYW1lIG9mIHRoZSBlbGVtZW50IGJlaW5nIGRlZmluZWQuCisgKiBAcmVzdWx0OiAgdGhlIEVsZW1lbnQgQ29udGVudCBwb2ludGVyIHdpbGwgYmUgc3RvcmVkIGhlcmUgaWYgYW55CisgKgorICogcGFyc2UgdGhlIGRlY2xhcmF0aW9uIGZvciBhbiBFbGVtZW50IGNvbnRlbnQgZWl0aGVyIE1peGVkIG9yIENoaWxkcmVuLAorICogdGhlIGNhc2VzIEVNUFRZIGFuZCBBTlkgYXJlIGhhbmRsZWQgZGlyZWN0bHkgaW4geG1sUGFyc2VFbGVtZW50RGVjbAorICoKKyAqIFs0Nl0gY29udGVudHNwZWMgOjo9ICdFTVBUWScgfCAnQU5ZJyB8IE1peGVkIHwgY2hpbGRyZW4KKyAqCisgKiByZXR1cm5zOiB0aGUgdHlwZSBvZiBlbGVtZW50IGNvbnRlbnQgWE1MX0VMRU1FTlRfVFlQRV94eHgKKyAqLworCitpbnQKK3htbFBhcnNlRWxlbWVudENvbnRlbnREZWNsKHhtbFBhcnNlckN0eHRQdHIgY3R4dCwgY29uc3QgeG1sQ2hhciAqbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbEVsZW1lbnRDb250ZW50UHRyICpyZXN1bHQpIHsKKworICAgIHhtbEVsZW1lbnRDb250ZW50UHRyIHRyZWUgPSBOVUxMOworICAgIGludCBpbnB1dGlkID0gY3R4dC0+aW5wdXQtPmlkOworICAgIGludCByZXM7CisKKyAgICAqcmVzdWx0ID0gTlVMTDsKKworICAgIGlmIChSQVcgIT0gJygnKSB7CisJeG1sRmF0YWxFcnJNc2dTdHIoY3R4dCwgWE1MX0VSUl9FTEVNQ09OVEVOVF9OT1RfU1RBUlRFRCwKKwkJInhtbFBhcnNlRWxlbWVudENvbnRlbnREZWNsIDogJXMgJygnIGV4cGVjdGVkXG4iLCBuYW1lKTsKKwlyZXR1cm4oLTEpOworICAgIH0KKyAgICBORVhUOworICAgIEdST1c7CisgICAgaWYgKGN0eHQtPmluc3RhdGUgPT0gWE1MX1BBUlNFUl9FT0YpCisgICAgICAgIHJldHVybigtMSk7CisgICAgU0tJUF9CTEFOS1M7CisgICAgaWYgKENNUDcoQ1VSX1BUUiwgJyMnLCAnUCcsICdDJywgJ0QnLCAnQScsICdUJywgJ0EnKSkgeworICAgICAgICB0cmVlID0geG1sUGFyc2VFbGVtZW50TWl4ZWRDb250ZW50RGVjbChjdHh0LCBpbnB1dGlkKTsKKwlyZXMgPSBYTUxfRUxFTUVOVF9UWVBFX01JWEVEOworICAgIH0gZWxzZSB7CisgICAgICAgIHRyZWUgPSB4bWxQYXJzZUVsZW1lbnRDaGlsZHJlbkNvbnRlbnREZWNsUHJpdihjdHh0LCBpbnB1dGlkLCAxKTsKKwlyZXMgPSBYTUxfRUxFTUVOVF9UWVBFX0VMRU1FTlQ7CisgICAgfQorICAgIFNLSVBfQkxBTktTOworICAgICpyZXN1bHQgPSB0cmVlOworICAgIHJldHVybihyZXMpOworfQorCisvKioKKyAqIHhtbFBhcnNlRWxlbWVudERlY2w6CisgKiBAY3R4dDogIGFuIFhNTCBwYXJzZXIgY29udGV4dAorICoKKyAqIHBhcnNlIGFuIEVsZW1lbnQgZGVjbGFyYXRpb24uCisgKgorICogWzQ1XSBlbGVtZW50ZGVjbCA6Oj0gJzwhRUxFTUVOVCcgUyBOYW1lIFMgY29udGVudHNwZWMgUz8gJz4nCisgKgorICogWyBWQzogVW5pcXVlIEVsZW1lbnQgVHlwZSBEZWNsYXJhdGlvbiBdCisgKiBObyBlbGVtZW50IHR5cGUgbWF5IGJlIGRlY2xhcmVkIG1vcmUgdGhhbiBvbmNlCisgKgorICogUmV0dXJucyB0aGUgdHlwZSBvZiB0aGUgZWxlbWVudCwgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcgorICovCitpbnQKK3htbFBhcnNlRWxlbWVudERlY2woeG1sUGFyc2VyQ3R4dFB0ciBjdHh0KSB7CisgICAgY29uc3QgeG1sQ2hhciAqbmFtZTsKKyAgICBpbnQgcmV0ID0gLTE7CisgICAgeG1sRWxlbWVudENvbnRlbnRQdHIgY29udGVudCAgPSBOVUxMOworCisgICAgLyogR1JPVzsgZG9uZSBpbiB0aGUgY2FsbGVyICovCisgICAgaWYgKENNUDkoQ1VSX1BUUiwgJzwnLCAnIScsICdFJywgJ0wnLCAnRScsICdNJywgJ0UnLCAnTicsICdUJykpIHsKKwl4bWxQYXJzZXJJbnB1dFB0ciBpbnB1dCA9IGN0eHQtPmlucHV0OworCisJU0tJUCg5KTsKKwlpZiAoIUlTX0JMQU5LX0NIKENVUikpIHsKKwkgICAgeG1sRmF0YWxFcnJNc2coY3R4dCwgWE1MX0VSUl9TUEFDRV9SRVFVSVJFRCwKKwkJICAgICAgICAgICAiU3BhY2UgcmVxdWlyZWQgYWZ0ZXIgJ0VMRU1FTlQnXG4iKTsKKwl9CisgICAgICAgIFNLSVBfQkxBTktTOworICAgICAgICBuYW1lID0geG1sUGFyc2VOYW1lKGN0eHQpOworCWlmIChuYW1lID09IE5VTEwpIHsKKwkgICAgeG1sRmF0YWxFcnJNc2coY3R4dCwgWE1MX0VSUl9OQU1FX1JFUVVJUkVELAorCQkJICAgInhtbFBhcnNlRWxlbWVudERlY2w6IG5vIG5hbWUgZm9yIEVsZW1lbnRcbiIpOworCSAgICByZXR1cm4oLTEpOworCX0KKwl3aGlsZSAoKFJBVyA9PSAwKSAmJiAoY3R4dC0+aW5wdXROciA+IDEpKQorCSAgICB4bWxQb3BJbnB1dChjdHh0KTsKKwlpZiAoIUlTX0JMQU5LX0NIKENVUikpIHsKKwkgICAgeG1sRmF0YWxFcnJNc2coY3R4dCwgWE1MX0VSUl9TUEFDRV9SRVFVSVJFRCwKKwkJCSAgICJTcGFjZSByZXF1aXJlZCBhZnRlciB0aGUgZWxlbWVudCBuYW1lXG4iKTsKKwl9CisgICAgICAgIFNLSVBfQkxBTktTOworCWlmIChDTVA1KENVUl9QVFIsICdFJywgJ00nLCAnUCcsICdUJywgJ1knKSkgeworCSAgICBTS0lQKDUpOworCSAgICAvKgorCSAgICAgKiBFbGVtZW50IG11c3QgYWx3YXlzIGJlIGVtcHR5LgorCSAgICAgKi8KKwkgICAgcmV0ID0gWE1MX0VMRU1FTlRfVFlQRV9FTVBUWTsKKwl9IGVsc2UgaWYgKChSQVcgPT0gJ0EnKSAmJiAoTlhUKDEpID09ICdOJykgJiYKKwkgICAgICAgICAgIChOWFQoMikgPT0gJ1knKSkgeworCSAgICBTS0lQKDMpOworCSAgICAvKgorCSAgICAgKiBFbGVtZW50IGlzIGEgZ2VuZXJpYyBjb250YWluZXIuCisJICAgICAqLworCSAgICByZXQgPSBYTUxfRUxFTUVOVF9UWVBFX0FOWTsKKwl9IGVsc2UgaWYgKFJBVyA9PSAnKCcpIHsKKwkgICAgcmV0ID0geG1sUGFyc2VFbGVtZW50Q29udGVudERlY2woY3R4dCwgbmFtZSwgJmNvbnRlbnQpOworCX0gZWxzZSB7CisJICAgIC8qCisJICAgICAqIFsgV0ZDOiBQRXMgaW4gSW50ZXJuYWwgU3Vic2V0IF0gZXJyb3IgaGFuZGxpbmcuCisJICAgICAqLworCSAgICBpZiAoKFJBVyA9PSAnJScpICYmIChjdHh0LT5leHRlcm5hbCA9PSAwKSAmJgorCSAgICAgICAgKGN0eHQtPmlucHV0TnIgPT0gMSkpIHsKKwkJeG1sRmF0YWxFcnJNc2coY3R4dCwgWE1MX0VSUl9QRVJFRl9JTl9JTlRfU1VCU0VULAorCSAgIlBFUmVmZXJlbmNlOiBmb3JiaWRkZW4gd2l0aGluIG1hcmt1cCBkZWNsIGluIGludGVybmFsIHN1YnNldFxuIik7CisJICAgIH0gZWxzZSB7CisJCXhtbEZhdGFsRXJyTXNnKGN0eHQsIFhNTF9FUlJfRUxFTUNPTlRFTlRfTk9UX1NUQVJURUQsCisJCSAgICAgICJ4bWxQYXJzZUVsZW1lbnREZWNsOiAnRU1QVFknLCAnQU5ZJyBvciAnKCcgZXhwZWN0ZWRcbiIpOworICAgICAgICAgICAgfQorCSAgICByZXR1cm4oLTEpOworCX0KKworCVNLSVBfQkxBTktTOworCS8qCisJICogUG9wLXVwIG9mIGZpbmlzaGVkIGVudGl0aWVzLgorCSAqLworCXdoaWxlICgoUkFXID09IDApICYmIChjdHh0LT5pbnB1dE5yID4gMSkpCisJICAgIHhtbFBvcElucHV0KGN0eHQpOworCVNLSVBfQkxBTktTOworCisJaWYgKFJBVyAhPSAnPicpIHsKKwkgICAgeG1sRmF0YWxFcnIoY3R4dCwgWE1MX0VSUl9HVF9SRVFVSVJFRCwgTlVMTCk7CisJICAgIGlmIChjb250ZW50ICE9IE5VTEwpIHsKKwkJeG1sRnJlZURvY0VsZW1lbnRDb250ZW50KGN0eHQtPm15RG9jLCBjb250ZW50KTsKKwkgICAgfQorCX0gZWxzZSB7CisJICAgIGlmIChpbnB1dCAhPSBjdHh0LT5pbnB1dCkgeworCQl4bWxGYXRhbEVyck1zZyhjdHh0LCBYTUxfRVJSX0VOVElUWV9CT1VOREFSWSwKKyAgICAiRWxlbWVudCBkZWNsYXJhdGlvbiBkb2Vzbid0IHN0YXJ0IGFuZCBzdG9wIGluIHRoZSBzYW1lIGVudGl0eVxuIik7CisJICAgIH0KKworCSAgICBORVhUOworCSAgICBpZiAoKGN0eHQtPnNheCAhPSBOVUxMKSAmJiAoIWN0eHQtPmRpc2FibGVTQVgpICYmCisJCShjdHh0LT5zYXgtPmVsZW1lbnREZWNsICE9IE5VTEwpKSB7CisJCWlmIChjb250ZW50ICE9IE5VTEwpCisJCSAgICBjb250ZW50LT5wYXJlbnQgPSBOVUxMOworCSAgICAgICAgY3R4dC0+c2F4LT5lbGVtZW50RGVjbChjdHh0LT51c2VyRGF0YSwgbmFtZSwgcmV0LAorCQkgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQpOworCQlpZiAoKGNvbnRlbnQgIT0gTlVMTCkgJiYgKGNvbnRlbnQtPnBhcmVudCA9PSBOVUxMKSkgeworCQkgICAgLyoKKwkJICAgICAqIHRoaXMgaXMgYSB0cmljazogaWYgeG1sQWRkRWxlbWVudERlY2wgaXMgY2FsbGVkLAorCQkgICAgICogaW5zdGVhZCBvZiBjb3B5aW5nIHRoZSBmdWxsIHRyZWUgaXQgaXMgcGx1Z2dlZCBkaXJlY3RseQorCQkgICAgICogaWYgY2FsbGVkIGZyb20gdGhlIHBhcnNlci4gQXZvaWQgZHVwbGljYXRpbmcgdGhlCisJCSAgICAgKiBpbnRlcmZhY2VzIG9yIGNoYW5nZSB0aGUgQVBJL0FCSQorCQkgICAgICovCisJCSAgICB4bWxGcmVlRG9jRWxlbWVudENvbnRlbnQoY3R4dC0+bXlEb2MsIGNvbnRlbnQpOworCQl9CisJICAgIH0gZWxzZSBpZiAoY29udGVudCAhPSBOVUxMKSB7CisJCXhtbEZyZWVEb2NFbGVtZW50Q29udGVudChjdHh0LT5teURvYywgY29udGVudCk7CisJICAgIH0KKwl9CisgICAgfQorICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbFBhcnNlQ29uZGl0aW9uYWxTZWN0aW9ucworICogQGN0eHQ6ICBhbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqCisgKiBbNjFdIGNvbmRpdGlvbmFsU2VjdCA6Oj0gaW5jbHVkZVNlY3QgfCBpZ25vcmVTZWN0CisgKiBbNjJdIGluY2x1ZGVTZWN0IDo6PSAnPCFbJyBTPyAnSU5DTFVERScgUz8gJ1snIGV4dFN1YnNldERlY2wgJ11dPicKKyAqIFs2M10gaWdub3JlU2VjdCA6Oj0gJzwhWycgUz8gJ0lHTk9SRScgUz8gJ1snIGlnbm9yZVNlY3RDb250ZW50cyogJ11dPicKKyAqIFs2NF0gaWdub3JlU2VjdENvbnRlbnRzIDo6PSBJZ25vcmUgKCc8IVsnIGlnbm9yZVNlY3RDb250ZW50cyAnXV0+JyBJZ25vcmUpKgorICogWzY1XSBJZ25vcmUgOjo9IENoYXIqIC0gKENoYXIqICgnPCFbJyB8ICddXT4nKSBDaGFyKikKKyAqLworCitzdGF0aWMgdm9pZAoreG1sUGFyc2VDb25kaXRpb25hbFNlY3Rpb25zKHhtbFBhcnNlckN0eHRQdHIgY3R4dCkgeworICAgIGludCBpZCA9IGN0eHQtPmlucHV0LT5pZDsKKworICAgIFNLSVAoMyk7CisgICAgU0tJUF9CTEFOS1M7CisgICAgaWYgKENNUDcoQ1VSX1BUUiwgJ0knLCAnTicsICdDJywgJ0wnLCAnVScsICdEJywgJ0UnKSkgeworCVNLSVAoNyk7CisJU0tJUF9CTEFOS1M7CisJaWYgKFJBVyAhPSAnWycpIHsKKwkgICAgeG1sRmF0YWxFcnIoY3R4dCwgWE1MX0VSUl9DT05EU0VDX0lOVkFMSUQsIE5VTEwpOworCX0gZWxzZSB7CisJICAgIGlmIChjdHh0LT5pbnB1dC0+aWQgIT0gaWQpIHsKKwkJeG1sVmFsaWRpdHlFcnJvcihjdHh0LCBYTUxfRVJSX0VOVElUWV9CT1VOREFSWSwKKwkgICAgIkFsbCBtYXJrdXAgb2YgdGhlIGNvbmRpdGlvbmFsIHNlY3Rpb24gaXMgbm90IGluIHRoZSBzYW1lIGVudGl0eVxuIiwKKwkJCQkgICAgIE5VTEwsIE5VTEwpOworCSAgICB9CisJICAgIE5FWFQ7CisJfQorCWlmICh4bWxQYXJzZXJEZWJ1Z0VudGl0aWVzKSB7CisJICAgIGlmICgoY3R4dC0+aW5wdXQgIT0gTlVMTCkgJiYgKGN0eHQtPmlucHV0LT5maWxlbmFtZSkpCisJCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkJIiVzKCVkKTogIiwgY3R4dC0+aW5wdXQtPmZpbGVuYW1lLAorCQkJY3R4dC0+aW5wdXQtPmxpbmUpOworCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJICAgICJFbnRlcmluZyBJTkNMVURFIENvbmRpdGlvbmFsIFNlY3Rpb25cbiIpOworCX0KKworCXdoaWxlICgoKFJBVyAhPSAwKSAmJiAoKFJBVyAhPSAnXScpIHx8IChOWFQoMSkgIT0gJ10nKSB8fAorCSAgICAgICAgKE5YVCgyKSAhPSAnPicpKSkgJiYgKGN0eHQtPmluc3RhdGUgIT0gWE1MX1BBUlNFUl9FT0YpKSB7CisJICAgIGNvbnN0IHhtbENoYXIgKmNoZWNrID0gQ1VSX1BUUjsKKwkgICAgdW5zaWduZWQgaW50IGNvbnMgPSBjdHh0LT5pbnB1dC0+Y29uc3VtZWQ7CisKKwkgICAgaWYgKChSQVcgPT0gJzwnKSAmJiAoTlhUKDEpID09ICchJykgJiYgKE5YVCgyKSA9PSAnWycpKSB7CisJCXhtbFBhcnNlQ29uZGl0aW9uYWxTZWN0aW9ucyhjdHh0KTsKKwkgICAgfSBlbHNlIGlmIChJU19CTEFOS19DSChDVVIpKSB7CisJCU5FWFQ7CisJICAgIH0gZWxzZSBpZiAoUkFXID09ICclJykgeworCQl4bWxQYXJzZVBFUmVmZXJlbmNlKGN0eHQpOworCSAgICB9IGVsc2UKKwkJeG1sUGFyc2VNYXJrdXBEZWNsKGN0eHQpOworCisJICAgIC8qCisJICAgICAqIFBvcC11cCBvZiBmaW5pc2hlZCBlbnRpdGllcy4KKwkgICAgICovCisJICAgIHdoaWxlICgoUkFXID09IDApICYmIChjdHh0LT5pbnB1dE5yID4gMSkpCisJCXhtbFBvcElucHV0KGN0eHQpOworCisJICAgIGlmICgoQ1VSX1BUUiA9PSBjaGVjaykgJiYgKGNvbnMgPT0gY3R4dC0+aW5wdXQtPmNvbnN1bWVkKSkgeworCQl4bWxGYXRhbEVycihjdHh0LCBYTUxfRVJSX0VYVF9TVUJTRVRfTk9UX0ZJTklTSEVELCBOVUxMKTsKKwkJYnJlYWs7CisJICAgIH0KKwl9CisJaWYgKHhtbFBhcnNlckRlYnVnRW50aXRpZXMpIHsKKwkgICAgaWYgKChjdHh0LT5pbnB1dCAhPSBOVUxMKSAmJiAoY3R4dC0+aW5wdXQtPmZpbGVuYW1lKSkKKwkJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCQkiJXMoJWQpOiAiLCBjdHh0LT5pbnB1dC0+ZmlsZW5hbWUsCisJCQljdHh0LT5pbnB1dC0+bGluZSk7CisJICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkgICAgIkxlYXZpbmcgSU5DTFVERSBDb25kaXRpb25hbCBTZWN0aW9uXG4iKTsKKwl9CisKKyAgICB9IGVsc2UgaWYgKENNUDYoQ1VSX1BUUiwgJ0knLCAnRycsICdOJywgJ08nLCAnUicsICdFJykpIHsKKwlpbnQgc3RhdGU7CisJeG1sUGFyc2VySW5wdXRTdGF0ZSBpbnN0YXRlOworCWludCBkZXB0aCA9IDA7CisKKwlTS0lQKDYpOworCVNLSVBfQkxBTktTOworCWlmIChSQVcgIT0gJ1snKSB7CisJICAgIHhtbEZhdGFsRXJyKGN0eHQsIFhNTF9FUlJfQ09ORFNFQ19JTlZBTElELCBOVUxMKTsKKwl9IGVsc2UgeworCSAgICBpZiAoY3R4dC0+aW5wdXQtPmlkICE9IGlkKSB7CisJCXhtbFZhbGlkaXR5RXJyb3IoY3R4dCwgWE1MX0VSUl9FTlRJVFlfQk9VTkRBUlksCisJICAgICJBbGwgbWFya3VwIG9mIHRoZSBjb25kaXRpb25hbCBzZWN0aW9uIGlzIG5vdCBpbiB0aGUgc2FtZSBlbnRpdHlcbiIsCisJCQkJICAgICBOVUxMLCBOVUxMKTsKKwkgICAgfQorCSAgICBORVhUOworCX0KKwlpZiAoeG1sUGFyc2VyRGVidWdFbnRpdGllcykgeworCSAgICBpZiAoKGN0eHQtPmlucHV0ICE9IE5VTEwpICYmIChjdHh0LT5pbnB1dC0+ZmlsZW5hbWUpKQorCQl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJCSIlcyglZCk6ICIsIGN0eHQtPmlucHV0LT5maWxlbmFtZSwKKwkJCWN0eHQtPmlucHV0LT5saW5lKTsKKwkgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSAgICAiRW50ZXJpbmcgSUdOT1JFIENvbmRpdGlvbmFsIFNlY3Rpb25cbiIpOworCX0KKworCS8qCisJICogUGFyc2UgdXAgdG8gdGhlIGVuZCBvZiB0aGUgY29uZGl0aW9uYWwgc2VjdGlvbgorCSAqIEJ1dCBkaXNhYmxlIFNBWCBldmVudCBnZW5lcmF0aW5nIERURCBidWlsZGluZyBpbiB0aGUgbWVhbnRpbWUKKwkgKi8KKwlzdGF0ZSA9IGN0eHQtPmRpc2FibGVTQVg7CisJaW5zdGF0ZSA9IGN0eHQtPmluc3RhdGU7CisJaWYgKGN0eHQtPnJlY292ZXJ5ID09IDApIGN0eHQtPmRpc2FibGVTQVggPSAxOworCWN0eHQtPmluc3RhdGUgPSBYTUxfUEFSU0VSX0lHTk9SRTsKKworCXdoaWxlICgoKGRlcHRoID49IDApICYmIChSQVcgIT0gMCkpICYmCisgICAgICAgICAgICAgICAoY3R4dC0+aW5zdGF0ZSAhPSBYTUxfUEFSU0VSX0VPRikpIHsKKwkgIGlmICgoUkFXID09ICc8JykgJiYgKE5YVCgxKSA9PSAnIScpICYmIChOWFQoMikgPT0gJ1snKSkgeworCSAgICBkZXB0aCsrOworCSAgICBTS0lQKDMpOworCSAgICBjb250aW51ZTsKKwkgIH0KKwkgIGlmICgoUkFXID09ICddJykgJiYgKE5YVCgxKSA9PSAnXScpICYmIChOWFQoMikgPT0gJz4nKSkgeworCSAgICBpZiAoLS1kZXB0aCA+PSAwKSBTS0lQKDMpOworCSAgICBjb250aW51ZTsKKwkgIH0KKwkgIE5FWFQ7CisJICBjb250aW51ZTsKKwl9CisKKwljdHh0LT5kaXNhYmxlU0FYID0gc3RhdGU7CisJY3R4dC0+aW5zdGF0ZSA9IGluc3RhdGU7CisKKwlpZiAoeG1sUGFyc2VyRGVidWdFbnRpdGllcykgeworCSAgICBpZiAoKGN0eHQtPmlucHV0ICE9IE5VTEwpICYmIChjdHh0LT5pbnB1dC0+ZmlsZW5hbWUpKQorCQl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJCSIlcyglZCk6ICIsIGN0eHQtPmlucHV0LT5maWxlbmFtZSwKKwkJCWN0eHQtPmlucHV0LT5saW5lKTsKKwkgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSAgICAiTGVhdmluZyBJR05PUkUgQ29uZGl0aW9uYWwgU2VjdGlvblxuIik7CisJfQorCisgICAgfSBlbHNlIHsKKwl4bWxGYXRhbEVycihjdHh0LCBYTUxfRVJSX0NPTkRTRUNfSU5WQUxJRF9LRVlXT1JELCBOVUxMKTsKKyAgICB9CisKKyAgICBpZiAoUkFXID09IDApCisgICAgICAgIFNIUklOSzsKKworICAgIGlmIChSQVcgPT0gMCkgeworCXhtbEZhdGFsRXJyKGN0eHQsIFhNTF9FUlJfQ09ORFNFQ19OT1RfRklOSVNIRUQsIE5VTEwpOworICAgIH0gZWxzZSB7CisJaWYgKGN0eHQtPmlucHV0LT5pZCAhPSBpZCkgeworCSAgICB4bWxWYWxpZGl0eUVycm9yKGN0eHQsIFhNTF9FUlJfRU5USVRZX0JPVU5EQVJZLAorCSJBbGwgbWFya3VwIG9mIHRoZSBjb25kaXRpb25hbCBzZWN0aW9uIGlzIG5vdCBpbiB0aGUgc2FtZSBlbnRpdHlcbiIsCisJCQkJIE5VTEwsIE5VTEwpOworCX0KKyAgICAgICAgU0tJUCgzKTsKKyAgICB9Cit9CisKKy8qKgorICogeG1sUGFyc2VNYXJrdXBEZWNsOgorICogQGN0eHQ6ICBhbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqCisgKiBwYXJzZSBNYXJrdXAgZGVjbGFyYXRpb25zCisgKgorICogWzI5XSBtYXJrdXBkZWNsIDo6PSBlbGVtZW50ZGVjbCB8IEF0dGxpc3REZWNsIHwgRW50aXR5RGVjbCB8CisgKiAgICAgICAgICAgICAgICAgICAgIE5vdGF0aW9uRGVjbCB8IFBJIHwgQ29tbWVudAorICoKKyAqIFsgVkM6IFByb3BlciBEZWNsYXJhdGlvbi9QRSBOZXN0aW5nIF0KKyAqIFBhcmFtZXRlci1lbnRpdHkgcmVwbGFjZW1lbnQgdGV4dCBtdXN0IGJlIHByb3Blcmx5IG5lc3RlZCB3aXRoCisgKiBtYXJrdXAgZGVjbGFyYXRpb25zLiBUaGF0IGlzIHRvIHNheSwgaWYgZWl0aGVyIHRoZSBmaXJzdCBjaGFyYWN0ZXIKKyAqIG9yIHRoZSBsYXN0IGNoYXJhY3RlciBvZiBhIG1hcmt1cCBkZWNsYXJhdGlvbiAobWFya3VwZGVjbCBhYm92ZSkgaXMKKyAqIGNvbnRhaW5lZCBpbiB0aGUgcmVwbGFjZW1lbnQgdGV4dCBmb3IgYSBwYXJhbWV0ZXItZW50aXR5IHJlZmVyZW5jZSwKKyAqIGJvdGggbXVzdCBiZSBjb250YWluZWQgaW4gdGhlIHNhbWUgcmVwbGFjZW1lbnQgdGV4dC4KKyAqCisgKiBbIFdGQzogUEVzIGluIEludGVybmFsIFN1YnNldCBdCisgKiBJbiB0aGUgaW50ZXJuYWwgRFREIHN1YnNldCwgcGFyYW1ldGVyLWVudGl0eSByZWZlcmVuY2VzIGNhbiBvY2N1cgorICogb25seSB3aGVyZSBtYXJrdXAgZGVjbGFyYXRpb25zIGNhbiBvY2N1ciwgbm90IHdpdGhpbiBtYXJrdXAgZGVjbGFyYXRpb25zLgorICogKFRoaXMgZG9lcyBub3QgYXBwbHkgdG8gcmVmZXJlbmNlcyB0aGF0IG9jY3VyIGluIGV4dGVybmFsIHBhcmFtZXRlcgorICogZW50aXRpZXMgb3IgdG8gdGhlIGV4dGVybmFsIHN1YnNldC4pCisgKi8KK3ZvaWQKK3htbFBhcnNlTWFya3VwRGVjbCh4bWxQYXJzZXJDdHh0UHRyIGN0eHQpIHsKKyAgICBHUk9XOworICAgIGlmIChDVVIgPT0gJzwnKSB7CisgICAgICAgIGlmIChOWFQoMSkgPT0gJyEnKSB7CisJICAgIHN3aXRjaCAoTlhUKDIpKSB7CisJICAgICAgICBjYXNlICdFJzoKKwkJICAgIGlmIChOWFQoMykgPT0gJ0wnKQorCQkJeG1sUGFyc2VFbGVtZW50RGVjbChjdHh0KTsKKwkJICAgIGVsc2UgaWYgKE5YVCgzKSA9PSAnTicpCisJCQl4bWxQYXJzZUVudGl0eURlY2woY3R4dCk7CisJCSAgICBicmVhazsKKwkgICAgICAgIGNhc2UgJ0EnOgorCQkgICAgeG1sUGFyc2VBdHRyaWJ1dGVMaXN0RGVjbChjdHh0KTsKKwkJICAgIGJyZWFrOworCSAgICAgICAgY2FzZSAnTic6CisJCSAgICB4bWxQYXJzZU5vdGF0aW9uRGVjbChjdHh0KTsKKwkJICAgIGJyZWFrOworCSAgICAgICAgY2FzZSAnLSc6CisJCSAgICB4bWxQYXJzZUNvbW1lbnQoY3R4dCk7CisJCSAgICBicmVhazsKKwkJZGVmYXVsdDoKKwkJICAgIC8qIHRoZXJlIGlzIGFuIGVycm9yIGJ1dCBpdCB3aWxsIGJlIGRldGVjdGVkIGxhdGVyICovCisJCSAgICBicmVhazsKKwkgICAgfQorCX0gZWxzZSBpZiAoTlhUKDEpID09ICc/JykgeworCSAgICB4bWxQYXJzZVBJKGN0eHQpOworCX0KKyAgICB9CisgICAgLyoKKyAgICAgKiBUaGlzIGlzIG9ubHkgZm9yIGludGVybmFsIHN1YnNldC4gT24gZXh0ZXJuYWwgZW50aXRpZXMsCisgICAgICogdGhlIHJlcGxhY2VtZW50IGlzIGRvbmUgYmVmb3JlIHBhcnNpbmcgc3RhZ2UKKyAgICAgKi8KKyAgICBpZiAoKGN0eHQtPmV4dGVybmFsID09IDApICYmIChjdHh0LT5pbnB1dE5yID09IDEpKQorCXhtbFBhcnNlUEVSZWZlcmVuY2UoY3R4dCk7CisKKyAgICAvKgorICAgICAqIENvbmRpdGlvbmFsIHNlY3Rpb25zIGFyZSBhbGxvd2VkIGZyb20gZW50aXRpZXMgaW5jbHVkZWQKKyAgICAgKiBieSBQRSBSZWZlcmVuY2VzIGluIHRoZSBpbnRlcm5hbCBzdWJzZXQuCisgICAgICovCisgICAgaWYgKChjdHh0LT5leHRlcm5hbCA9PSAwKSAmJiAoY3R4dC0+aW5wdXROciA+IDEpKSB7CisgICAgICAgIGlmICgoUkFXID09ICc8JykgJiYgKE5YVCgxKSA9PSAnIScpICYmIChOWFQoMikgPT0gJ1snKSkgeworCSAgICB4bWxQYXJzZUNvbmRpdGlvbmFsU2VjdGlvbnMoY3R4dCk7CisJfQorICAgIH0KKworICAgIGN0eHQtPmluc3RhdGUgPSBYTUxfUEFSU0VSX0RURDsKK30KKworLyoqCisgKiB4bWxQYXJzZVRleHREZWNsOgorICogQGN0eHQ6ICBhbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqCisgKiBwYXJzZSBhbiBYTUwgZGVjbGFyYXRpb24gaGVhZGVyIGZvciBleHRlcm5hbCBlbnRpdGllcworICoKKyAqIFs3N10gVGV4dERlY2wgOjo9ICc8P3htbCcgVmVyc2lvbkluZm8/IEVuY29kaW5nRGVjbCBTPyAnPz4nCisgKi8KKwordm9pZAoreG1sUGFyc2VUZXh0RGVjbCh4bWxQYXJzZXJDdHh0UHRyIGN0eHQpIHsKKyAgICB4bWxDaGFyICp2ZXJzaW9uOworICAgIGNvbnN0IHhtbENoYXIgKmVuY29kaW5nOworCisgICAgLyoKKyAgICAgKiBXZSBrbm93IHRoYXQgJzw/eG1sJyBpcyBoZXJlLgorICAgICAqLworICAgIGlmICgoQ01QNShDVVJfUFRSLCAnPCcsICc/JywgJ3gnLCAnbScsICdsJykpICYmIChJU19CTEFOS19DSChOWFQoNSkpKSkgeworCVNLSVAoNSk7CisgICAgfSBlbHNlIHsKKwl4bWxGYXRhbEVycihjdHh0LCBYTUxfRVJSX1hNTERFQ0xfTk9UX1NUQVJURUQsIE5VTEwpOworCXJldHVybjsKKyAgICB9CisKKyAgICBpZiAoIUlTX0JMQU5LX0NIKENVUikpIHsKKwl4bWxGYXRhbEVyck1zZyhjdHh0LCBYTUxfRVJSX1NQQUNFX1JFUVVJUkVELAorCQkgICAgICAgIlNwYWNlIG5lZWRlZCBhZnRlciAnPD94bWwnXG4iKTsKKyAgICB9CisgICAgU0tJUF9CTEFOS1M7CisKKyAgICAvKgorICAgICAqIFdlIG1heSBoYXZlIHRoZSBWZXJzaW9uSW5mbyBoZXJlLgorICAgICAqLworICAgIHZlcnNpb24gPSB4bWxQYXJzZVZlcnNpb25JbmZvKGN0eHQpOworICAgIGlmICh2ZXJzaW9uID09IE5VTEwpCisJdmVyc2lvbiA9IHhtbENoYXJTdHJkdXAoWE1MX0RFRkFVTFRfVkVSU0lPTik7CisgICAgZWxzZSB7CisJaWYgKCFJU19CTEFOS19DSChDVVIpKSB7CisJICAgIHhtbEZhdGFsRXJyTXNnKGN0eHQsIFhNTF9FUlJfU1BBQ0VfUkVRVUlSRUQsCisJCSAgICAgICAgICAgIlNwYWNlIG5lZWRlZCBoZXJlXG4iKTsKKwl9CisgICAgfQorICAgIGN0eHQtPmlucHV0LT52ZXJzaW9uID0gdmVyc2lvbjsKKworICAgIC8qCisgICAgICogV2UgbXVzdCBoYXZlIHRoZSBlbmNvZGluZyBkZWNsYXJhdGlvbgorICAgICAqLworICAgIGVuY29kaW5nID0geG1sUGFyc2VFbmNvZGluZ0RlY2woY3R4dCk7CisgICAgaWYgKGN0eHQtPmVyck5vID09IFhNTF9FUlJfVU5TVVBQT1JURURfRU5DT0RJTkcpIHsKKwkvKgorCSAqIFRoZSBYTUwgUkVDIGluc3RydWN0cyB1cyB0byBzdG9wIHBhcnNpbmcgcmlnaHQgaGVyZQorCSAqLworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGlmICgoZW5jb2RpbmcgPT0gTlVMTCkgJiYgKGN0eHQtPmVyck5vID09IFhNTF9FUlJfT0spKSB7CisJeG1sRmF0YWxFcnJNc2coY3R4dCwgWE1MX0VSUl9NSVNTSU5HX0VOQ09ESU5HLAorCQkgICAgICAgIk1pc3NpbmcgZW5jb2RpbmcgaW4gdGV4dCBkZWNsYXJhdGlvblxuIik7CisgICAgfQorCisgICAgU0tJUF9CTEFOS1M7CisgICAgaWYgKChSQVcgPT0gJz8nKSAmJiAoTlhUKDEpID09ICc+JykpIHsKKyAgICAgICAgU0tJUCgyKTsKKyAgICB9IGVsc2UgaWYgKFJBVyA9PSAnPicpIHsKKyAgICAgICAgLyogRGVwcmVjYXRlZCBvbGQgV0QgLi4uICovCisJeG1sRmF0YWxFcnIoY3R4dCwgWE1MX0VSUl9YTUxERUNMX05PVF9GSU5JU0hFRCwgTlVMTCk7CisJTkVYVDsKKyAgICB9IGVsc2UgeworCXhtbEZhdGFsRXJyKGN0eHQsIFhNTF9FUlJfWE1MREVDTF9OT1RfRklOSVNIRUQsIE5VTEwpOworCU1PVkVUT19FTkRUQUcoQ1VSX1BUUik7CisJTkVYVDsKKyAgICB9Cit9CisKKy8qKgorICogeG1sUGFyc2VFeHRlcm5hbFN1YnNldDoKKyAqIEBjdHh0OiAgYW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBARXh0ZXJuYWxJRDogdGhlIGV4dGVybmFsIGlkZW50aWZpZXIKKyAqIEBTeXN0ZW1JRDogdGhlIHN5c3RlbSBpZGVudGlmaWVyIChvciBVUkwpCisgKgorICogcGFyc2UgTWFya3VwIGRlY2xhcmF0aW9ucyBmcm9tIGFuIGV4dGVybmFsIHN1YnNldAorICoKKyAqIFszMF0gZXh0U3Vic2V0IDo6PSB0ZXh0RGVjbD8gZXh0U3Vic2V0RGVjbAorICoKKyAqIFszMV0gZXh0U3Vic2V0RGVjbCA6Oj0gKG1hcmt1cGRlY2wgfCBjb25kaXRpb25hbFNlY3QgfCBQRVJlZmVyZW5jZSB8IFMpICoKKyAqLwordm9pZAoreG1sUGFyc2VFeHRlcm5hbFN1YnNldCh4bWxQYXJzZXJDdHh0UHRyIGN0eHQsIGNvbnN0IHhtbENoYXIgKkV4dGVybmFsSUQsCisgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKlN5c3RlbUlEKSB7CisgICAgeG1sRGV0ZWN0U0FYMihjdHh0KTsKKyAgICBHUk9XOworCisgICAgaWYgKChjdHh0LT5lbmNvZGluZyA9PSBOVUxMKSAmJgorICAgICAgICAoY3R4dC0+aW5wdXQtPmVuZCAtIGN0eHQtPmlucHV0LT5jdXIgPj0gNCkpIHsKKyAgICAgICAgeG1sQ2hhciBzdGFydFs0XTsKKwl4bWxDaGFyRW5jb2RpbmcgZW5jOworCisJc3RhcnRbMF0gPSBSQVc7CisJc3RhcnRbMV0gPSBOWFQoMSk7CisJc3RhcnRbMl0gPSBOWFQoMik7CisJc3RhcnRbM10gPSBOWFQoMyk7CisJZW5jID0geG1sRGV0ZWN0Q2hhckVuY29kaW5nKHN0YXJ0LCA0KTsKKwlpZiAoZW5jICE9IFhNTF9DSEFSX0VOQ09ESU5HX05PTkUpCisJICAgIHhtbFN3aXRjaEVuY29kaW5nKGN0eHQsIGVuYyk7CisgICAgfQorCisgICAgaWYgKENNUDUoQ1VSX1BUUiwgJzwnLCAnPycsICd4JywgJ20nLCAnbCcpKSB7CisJeG1sUGFyc2VUZXh0RGVjbChjdHh0KTsKKwlpZiAoY3R4dC0+ZXJyTm8gPT0gWE1MX0VSUl9VTlNVUFBPUlRFRF9FTkNPRElORykgeworCSAgICAvKgorCSAgICAgKiBUaGUgWE1MIFJFQyBpbnN0cnVjdHMgdXMgdG8gc3RvcCBwYXJzaW5nIHJpZ2h0IGhlcmUKKwkgICAgICovCisJICAgIGN0eHQtPmluc3RhdGUgPSBYTUxfUEFSU0VSX0VPRjsKKwkgICAgcmV0dXJuOworCX0KKyAgICB9CisgICAgaWYgKGN0eHQtPm15RG9jID09IE5VTEwpIHsKKyAgICAgICAgY3R4dC0+bXlEb2MgPSB4bWxOZXdEb2MoQkFEX0NBU1QgIjEuMCIpOworCWlmIChjdHh0LT5teURvYyA9PSBOVUxMKSB7CisJICAgIHhtbEVyck1lbW9yeShjdHh0LCAiTmV3IERvYyBmYWlsZWQiKTsKKwkgICAgcmV0dXJuOworCX0KKwljdHh0LT5teURvYy0+cHJvcGVydGllcyA9IFhNTF9ET0NfSU5URVJOQUw7CisgICAgfQorICAgIGlmICgoY3R4dC0+bXlEb2MgIT0gTlVMTCkgJiYgKGN0eHQtPm15RG9jLT5pbnRTdWJzZXQgPT0gTlVMTCkpCisgICAgICAgIHhtbENyZWF0ZUludFN1YnNldChjdHh0LT5teURvYywgTlVMTCwgRXh0ZXJuYWxJRCwgU3lzdGVtSUQpOworCisgICAgY3R4dC0+aW5zdGF0ZSA9IFhNTF9QQVJTRVJfRFREOworICAgIGN0eHQtPmV4dGVybmFsID0gMTsKKyAgICB3aGlsZSAoKChSQVcgPT0gJzwnKSAmJiAoTlhUKDEpID09ICc/JykpIHx8CisgICAgICAgICAgICgoUkFXID09ICc8JykgJiYgKE5YVCgxKSA9PSAnIScpKSB8fAorCSAgIChSQVcgPT0gJyUnKSB8fCBJU19CTEFOS19DSChDVVIpKSB7CisJY29uc3QgeG1sQ2hhciAqY2hlY2sgPSBDVVJfUFRSOworCXVuc2lnbmVkIGludCBjb25zID0gY3R4dC0+aW5wdXQtPmNvbnN1bWVkOworCisJR1JPVzsKKyAgICAgICAgaWYgKChSQVcgPT0gJzwnKSAmJiAoTlhUKDEpID09ICchJykgJiYgKE5YVCgyKSA9PSAnWycpKSB7CisJICAgIHhtbFBhcnNlQ29uZGl0aW9uYWxTZWN0aW9ucyhjdHh0KTsKKwl9IGVsc2UgaWYgKElTX0JMQU5LX0NIKENVUikpIHsKKwkgICAgTkVYVDsKKwl9IGVsc2UgaWYgKFJBVyA9PSAnJScpIHsKKyAgICAgICAgICAgIHhtbFBhcnNlUEVSZWZlcmVuY2UoY3R4dCk7CisJfSBlbHNlCisJICAgIHhtbFBhcnNlTWFya3VwRGVjbChjdHh0KTsKKworCS8qCisJICogUG9wLXVwIG9mIGZpbmlzaGVkIGVudGl0aWVzLgorCSAqLworCXdoaWxlICgoUkFXID09IDApICYmIChjdHh0LT5pbnB1dE5yID4gMSkpCisJICAgIHhtbFBvcElucHV0KGN0eHQpOworCisJaWYgKChDVVJfUFRSID09IGNoZWNrKSAmJiAoY29ucyA9PSBjdHh0LT5pbnB1dC0+Y29uc3VtZWQpKSB7CisJICAgIHhtbEZhdGFsRXJyKGN0eHQsIFhNTF9FUlJfRVhUX1NVQlNFVF9OT1RfRklOSVNIRUQsIE5VTEwpOworCSAgICBicmVhazsKKwl9CisgICAgfQorCisgICAgaWYgKFJBVyAhPSAwKSB7CisJeG1sRmF0YWxFcnIoY3R4dCwgWE1MX0VSUl9FWFRfU1VCU0VUX05PVF9GSU5JU0hFRCwgTlVMTCk7CisgICAgfQorCit9CisKKy8qKgorICogeG1sUGFyc2VSZWZlcmVuY2U6CisgKiBAY3R4dDogIGFuIFhNTCBwYXJzZXIgY29udGV4dAorICoKKyAqIHBhcnNlIGFuZCBoYW5kbGUgZW50aXR5IHJlZmVyZW5jZXMgaW4gY29udGVudCwgZGVwZW5kaW5nIG9uIHRoZSBTQVgKKyAqIGludGVyZmFjZSwgdGhpcyBtYXkgZW5kLXVwIGluIGEgY2FsbCB0byBjaGFyYWN0ZXIoKSBpZiB0aGlzIGlzIGEKKyAqIENoYXJSZWYsIGEgcHJlZGVmaW5lZCBlbnRpdHksIGlmIHRoZXJlIGlzIG5vIHJlZmVyZW5jZSgpIGNhbGxiYWNrLgorICogb3IgaWYgdGhlIHBhcnNlciB3YXMgYXNrZWQgdG8gc3dpdGNoIHRvIHRoYXQgbW9kZS4KKyAqCisgKiBbNjddIFJlZmVyZW5jZSA6Oj0gRW50aXR5UmVmIHwgQ2hhclJlZgorICovCit2b2lkCit4bWxQYXJzZVJlZmVyZW5jZSh4bWxQYXJzZXJDdHh0UHRyIGN0eHQpIHsKKyAgICB4bWxFbnRpdHlQdHIgZW50OworICAgIHhtbENoYXIgKnZhbDsKKyAgICBpbnQgd2FzX2NoZWNrZWQ7CisgICAgeG1sTm9kZVB0ciBsaXN0ID0gTlVMTDsKKyAgICB4bWxQYXJzZXJFcnJvcnMgcmV0ID0gWE1MX0VSUl9PSzsKKworCisgICAgaWYgKFJBVyAhPSAnJicpCisgICAgICAgIHJldHVybjsKKworICAgIC8qCisgICAgICogU2ltcGxlIGNhc2Ugb2YgYSBDaGFyUmVmCisgICAgICovCisgICAgaWYgKE5YVCgxKSA9PSAnIycpIHsKKwlpbnQgaSA9IDA7CisJeG1sQ2hhciBvdXRbMTBdOworCWludCBoZXggPSBOWFQoMik7CisJaW50IHZhbHVlID0geG1sUGFyc2VDaGFyUmVmKGN0eHQpOworCisJaWYgKHZhbHVlID09IDApCisJICAgIHJldHVybjsKKwlpZiAoY3R4dC0+Y2hhcnNldCAhPSBYTUxfQ0hBUl9FTkNPRElOR19VVEY4KSB7CisJICAgIC8qCisJICAgICAqIFNvIHdlIGFyZSB1c2luZyBub24tVVRGLTggYnVmZmVycworCSAgICAgKiBDaGVjayB0aGF0IHRoZSBjaGFyIGZpdCBvbiA4Yml0cywgaWYgbm90CisJICAgICAqIGdlbmVyYXRlIGEgQ2hhclJlZi4KKwkgICAgICovCisJICAgIGlmICh2YWx1ZSA8PSAweEZGKSB7CisJCW91dFswXSA9IHZhbHVlOworCQlvdXRbMV0gPSAwOworCQlpZiAoKGN0eHQtPnNheCAhPSBOVUxMKSAmJiAoY3R4dC0+c2F4LT5jaGFyYWN0ZXJzICE9IE5VTEwpICYmCisJCSAgICAoIWN0eHQtPmRpc2FibGVTQVgpKQorCQkgICAgY3R4dC0+c2F4LT5jaGFyYWN0ZXJzKGN0eHQtPnVzZXJEYXRhLCBvdXQsIDEpOworCSAgICB9IGVsc2UgeworCQlpZiAoKGhleCA9PSAneCcpIHx8IChoZXggPT0gJ1gnKSkKKwkJICAgIHNucHJpbnRmKChjaGFyICopb3V0LCBzaXplb2Yob3V0KSwgIiN4JVgiLCB2YWx1ZSk7CisJCWVsc2UKKwkJICAgIHNucHJpbnRmKChjaGFyICopb3V0LCBzaXplb2Yob3V0KSwgIiMlZCIsIHZhbHVlKTsKKwkJaWYgKChjdHh0LT5zYXggIT0gTlVMTCkgJiYgKGN0eHQtPnNheC0+cmVmZXJlbmNlICE9IE5VTEwpICYmCisJCSAgICAoIWN0eHQtPmRpc2FibGVTQVgpKQorCQkgICAgY3R4dC0+c2F4LT5yZWZlcmVuY2UoY3R4dC0+dXNlckRhdGEsIG91dCk7CisJICAgIH0KKwl9IGVsc2UgeworCSAgICAvKgorCSAgICAgKiBKdXN0IGVuY29kZSB0aGUgdmFsdWUgaW4gVVRGLTgKKwkgICAgICovCisJICAgIENPUFlfQlVGKDAgLG91dCwgaSwgdmFsdWUpOworCSAgICBvdXRbaV0gPSAwOworCSAgICBpZiAoKGN0eHQtPnNheCAhPSBOVUxMKSAmJiAoY3R4dC0+c2F4LT5jaGFyYWN0ZXJzICE9IE5VTEwpICYmCisJCSghY3R4dC0+ZGlzYWJsZVNBWCkpCisJCWN0eHQtPnNheC0+Y2hhcmFjdGVycyhjdHh0LT51c2VyRGF0YSwgb3V0LCBpKTsKKwl9CisJcmV0dXJuOworICAgIH0KKworICAgIC8qCisgICAgICogV2UgYXJlIHNlZWluZyBhbiBlbnRpdHkgcmVmZXJlbmNlCisgICAgICovCisgICAgZW50ID0geG1sUGFyc2VFbnRpdHlSZWYoY3R4dCk7CisgICAgaWYgKGVudCA9PSBOVUxMKSByZXR1cm47CisgICAgaWYgKCFjdHh0LT53ZWxsRm9ybWVkKQorCXJldHVybjsKKyAgICB3YXNfY2hlY2tlZCA9IGVudC0+Y2hlY2tlZDsKKworICAgIC8qIHNwZWNpYWwgY2FzZSBvZiBwcmVkZWZpbmVkIGVudGl0aWVzICovCisgICAgaWYgKChlbnQtPm5hbWUgPT0gTlVMTCkgfHwKKyAgICAgICAgKGVudC0+ZXR5cGUgPT0gWE1MX0lOVEVSTkFMX1BSRURFRklORURfRU5USVRZKSkgeworCXZhbCA9IGVudC0+Y29udGVudDsKKwlpZiAodmFsID09IE5VTEwpIHJldHVybjsKKwkvKgorCSAqIGlubGluZSB0aGUgZW50aXR5LgorCSAqLworCWlmICgoY3R4dC0+c2F4ICE9IE5VTEwpICYmIChjdHh0LT5zYXgtPmNoYXJhY3RlcnMgIT0gTlVMTCkgJiYKKwkgICAgKCFjdHh0LT5kaXNhYmxlU0FYKSkKKwkgICAgY3R4dC0+c2F4LT5jaGFyYWN0ZXJzKGN0eHQtPnVzZXJEYXRhLCB2YWwsIHhtbFN0cmxlbih2YWwpKTsKKwlyZXR1cm47CisgICAgfQorCisgICAgLyoKKyAgICAgKiBUaGUgZmlyc3QgcmVmZXJlbmNlIHRvIHRoZSBlbnRpdHkgdHJpZ2dlciBhIHBhcnNpbmcgcGhhc2UKKyAgICAgKiB3aGVyZSB0aGUgZW50LT5jaGlsZHJlbiBpcyBmaWxsZWQgd2l0aCB0aGUgcmVzdWx0IGZyb20KKyAgICAgKiB0aGUgcGFyc2luZy4KKyAgICAgKiBOb3RlOiBleHRlcm5hbCBwYXJzZWQgZW50aXRpZXMgd2lsbCBub3QgYmUgbG9hZGVkLCBpdCBpcyBub3QKKyAgICAgKiByZXF1aXJlZCBmb3IgYSBub24tdmFsaWRhdGluZyBwYXJzZXIsIHVubGVzcyB0aGUgcGFyc2luZyBvcHRpb24KKyAgICAgKiBvZiB2YWxpZGF0aW5nLCBvciBzdWJzdGl0dXRpbmcgZW50aXRpZXMgd2VyZSBnaXZlbi4gRG9pbmcgc28gaXMKKyAgICAgKiBmYXIgbW9yZSBzZWN1cmUgYXMgdGhlIHBhcnNlciB3aWxsIG9ubHkgcHJvY2VzcyBkYXRhIGNvbWluZyBmcm9tCisgICAgICogdGhlIGRvY3VtZW50IGVudGl0eSBieSBkZWZhdWx0LgorICAgICAqLworICAgIGlmICgoKGVudC0+Y2hlY2tlZCA9PSAwKSB8fAorICAgICAgICAgKChlbnQtPmNoaWxkcmVuID09IE5VTEwpICYmIChjdHh0LT5vcHRpb25zICYgWE1MX1BBUlNFX05PRU5UKSkpICYmCisgICAgICAgICgoZW50LT5ldHlwZSAhPSBYTUxfRVhURVJOQUxfR0VORVJBTF9QQVJTRURfRU5USVRZKSB8fAorICAgICAgICAgKGN0eHQtPm9wdGlvbnMgJiAoWE1MX1BBUlNFX05PRU5UIHwgWE1MX1BBUlNFX0RURFZBTElEKSkpKSB7CisJdW5zaWduZWQgbG9uZyBvbGRuYmVudCA9IGN0eHQtPm5iZW50aXRpZXM7CisKKwkvKgorCSAqIFRoaXMgaXMgYSBiaXQgaGFja2lzaCBidXQgdGhpcyBzZWVtcyB0aGUgYmVzdAorCSAqIHdheSB0byBtYWtlIHN1cmUgYm90aCBTQVggYW5kIERPTSBlbnRpdHkgc3VwcG9ydAorCSAqIGJlaGF2ZXMgb2theS4KKwkgKi8KKwl2b2lkICp1c2VyX2RhdGE7CisJaWYgKGN0eHQtPnVzZXJEYXRhID09IGN0eHQpCisJICAgIHVzZXJfZGF0YSA9IE5VTEw7CisJZWxzZQorCSAgICB1c2VyX2RhdGEgPSBjdHh0LT51c2VyRGF0YTsKKworCS8qCisJICogQ2hlY2sgdGhhdCB0aGlzIGVudGl0eSBpcyB3ZWxsIGZvcm1lZAorCSAqIDQuMy4yOiBBbiBpbnRlcm5hbCBnZW5lcmFsIHBhcnNlZCBlbnRpdHkgaXMgd2VsbC1mb3JtZWQKKwkgKiBpZiBpdHMgcmVwbGFjZW1lbnQgdGV4dCBtYXRjaGVzIHRoZSBwcm9kdWN0aW9uIGxhYmVsZWQKKwkgKiBjb250ZW50LgorCSAqLworCWlmIChlbnQtPmV0eXBlID09IFhNTF9JTlRFUk5BTF9HRU5FUkFMX0VOVElUWSkgeworCSAgICBjdHh0LT5kZXB0aCsrOworCSAgICByZXQgPSB4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlJbnRlcm5hbChjdHh0LCBlbnQtPmNvbnRlbnQsCisJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJfZGF0YSwgJmxpc3QpOworCSAgICBjdHh0LT5kZXB0aC0tOworCisJfSBlbHNlIGlmIChlbnQtPmV0eXBlID09IFhNTF9FWFRFUk5BTF9HRU5FUkFMX1BBUlNFRF9FTlRJVFkpIHsKKwkgICAgY3R4dC0+ZGVwdGgrKzsKKwkgICAgcmV0ID0geG1sUGFyc2VFeHRlcm5hbEVudGl0eVByaXZhdGUoY3R4dC0+bXlEb2MsIGN0eHQsIGN0eHQtPnNheCwKKwkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJfZGF0YSwgY3R4dC0+ZGVwdGgsIGVudC0+VVJJLAorCQkJCQkgICBlbnQtPkV4dGVybmFsSUQsICZsaXN0KTsKKwkgICAgY3R4dC0+ZGVwdGgtLTsKKwl9IGVsc2UgeworCSAgICByZXQgPSBYTUxfRVJSX0VOVElUWV9QRV9JTlRFUk5BTDsKKwkgICAgeG1sRXJyTXNnU3RyKGN0eHQsIFhNTF9FUlJfSU5URVJOQUxfRVJST1IsCisJCQkgImludmFsaWQgZW50aXR5IHR5cGUgZm91bmRcbiIsIE5VTEwpOworCX0KKworCS8qCisJICogU3RvcmUgdGhlIG51bWJlciBvZiBlbnRpdGllcyBuZWVkaW5nIHBhcnNpbmcgZm9yIHRoaXMgZW50aXR5CisJICogY29udGVudCBhbmQgZG8gY2hlY2tpbmdzCisJICovCisJZW50LT5jaGVja2VkID0gKGN0eHQtPm5iZW50aXRpZXMgLSBvbGRuYmVudCArIDEpICogMjsKKwlpZiAoKGVudC0+Y29udGVudCAhPSBOVUxMKSAmJiAoeG1sU3RyY2hyKGVudC0+Y29udGVudCwgJzwnKSkpCisJICAgIGVudC0+Y2hlY2tlZCB8PSAxOworCWlmIChyZXQgPT0gWE1MX0VSUl9FTlRJVFlfTE9PUCkgeworCSAgICB4bWxGYXRhbEVycihjdHh0LCBYTUxfRVJSX0VOVElUWV9MT09QLCBOVUxMKTsKKwkgICAgeG1sRnJlZU5vZGVMaXN0KGxpc3QpOworCSAgICByZXR1cm47CisJfQorCWlmICh4bWxQYXJzZXJFbnRpdHlDaGVjayhjdHh0LCAwLCBlbnQsIDApKSB7CisJICAgIHhtbEZyZWVOb2RlTGlzdChsaXN0KTsKKwkgICAgcmV0dXJuOworCX0KKworCWlmICgocmV0ID09IFhNTF9FUlJfT0spICYmIChsaXN0ICE9IE5VTEwpKSB7CisJICAgIGlmICgoKGVudC0+ZXR5cGUgPT0gWE1MX0lOVEVSTkFMX0dFTkVSQUxfRU5USVRZKSB8fAorCSAgICAgKGVudC0+ZXR5cGUgPT0gWE1MX0VYVEVSTkFMX0dFTkVSQUxfUEFSU0VEX0VOVElUWSkpJiYKKwkJKGVudC0+Y2hpbGRyZW4gPT0gTlVMTCkpIHsKKwkJZW50LT5jaGlsZHJlbiA9IGxpc3Q7CisJCWlmIChjdHh0LT5yZXBsYWNlRW50aXRpZXMpIHsKKwkJICAgIC8qCisJCSAgICAgKiBQcnVuZSBpdCBkaXJlY3RseSBpbiB0aGUgZ2VuZXJhdGVkIGRvY3VtZW50CisJCSAgICAgKiBleGNlcHQgZm9yIHNpbmdsZSB0ZXh0IG5vZGVzLgorCQkgICAgICovCisJCSAgICBpZiAoKChsaXN0LT50eXBlID09IFhNTF9URVhUX05PREUpICYmCisJCQkgKGxpc3QtPm5leHQgPT0gTlVMTCkpIHx8CisJCQkoY3R4dC0+cGFyc2VNb2RlID09IFhNTF9QQVJTRV9SRUFERVIpKSB7CisJCQlsaXN0LT5wYXJlbnQgPSAoeG1sTm9kZVB0cikgZW50OworCQkJbGlzdCA9IE5VTEw7CisJCQllbnQtPm93bmVyID0gMTsKKwkJICAgIH0gZWxzZSB7CisJCQllbnQtPm93bmVyID0gMDsKKwkJCXdoaWxlIChsaXN0ICE9IE5VTEwpIHsKKwkJCSAgICBsaXN0LT5wYXJlbnQgPSAoeG1sTm9kZVB0cikgY3R4dC0+bm9kZTsKKwkJCSAgICBsaXN0LT5kb2MgPSBjdHh0LT5teURvYzsKKwkJCSAgICBpZiAobGlzdC0+bmV4dCA9PSBOVUxMKQorCQkJCWVudC0+bGFzdCA9IGxpc3Q7CisJCQkgICAgbGlzdCA9IGxpc3QtPm5leHQ7CisJCQl9CisJCQlsaXN0ID0gZW50LT5jaGlsZHJlbjsKKyNpZmRlZiBMSUJYTUxfTEVHQUNZX0VOQUJMRUQKKwkJCWlmIChlbnQtPmV0eXBlID09IFhNTF9FWFRFUk5BTF9HRU5FUkFMX1BBUlNFRF9FTlRJVFkpCisJCQkgIHhtbEFkZEVudGl0eVJlZmVyZW5jZShlbnQsIGxpc3QsIE5VTEwpOworI2VuZGlmIC8qIExJQlhNTF9MRUdBQ1lfRU5BQkxFRCAqLworCQkgICAgfQorCQl9IGVsc2UgeworCQkgICAgZW50LT5vd25lciA9IDE7CisJCSAgICB3aGlsZSAobGlzdCAhPSBOVUxMKSB7CisJCQlsaXN0LT5wYXJlbnQgPSAoeG1sTm9kZVB0cikgZW50OworCQkJeG1sU2V0VHJlZURvYyhsaXN0LCBlbnQtPmRvYyk7CisJCQlpZiAobGlzdC0+bmV4dCA9PSBOVUxMKQorCQkJICAgIGVudC0+bGFzdCA9IGxpc3Q7CisJCQlsaXN0ID0gbGlzdC0+bmV4dDsKKwkJICAgIH0KKwkJfQorCSAgICB9IGVsc2UgeworCQl4bWxGcmVlTm9kZUxpc3QobGlzdCk7CisJCWxpc3QgPSBOVUxMOworCSAgICB9CisJfSBlbHNlIGlmICgocmV0ICE9IFhNTF9FUlJfT0spICYmCisJCSAgIChyZXQgIT0gWE1MX1dBUl9VTkRFQ0xBUkVEX0VOVElUWSkpIHsKKwkgICAgeG1sRmF0YWxFcnJNc2dTdHIoY3R4dCwgWE1MX0VSUl9VTkRFQ0xBUkVEX0VOVElUWSwKKwkJICAgICAiRW50aXR5ICclcycgZmFpbGVkIHRvIHBhcnNlXG4iLCBlbnQtPm5hbWUpOworCSAgICB4bWxQYXJzZXJFbnRpdHlDaGVjayhjdHh0LCAwLCBlbnQsIDApOworCX0gZWxzZSBpZiAobGlzdCAhPSBOVUxMKSB7CisJICAgIHhtbEZyZWVOb2RlTGlzdChsaXN0KTsKKwkgICAgbGlzdCA9IE5VTEw7CisJfQorCWlmIChlbnQtPmNoZWNrZWQgPT0gMCkKKwkgICAgZW50LT5jaGVja2VkID0gMjsKKyAgICB9IGVsc2UgaWYgKGVudC0+Y2hlY2tlZCAhPSAxKSB7CisJY3R4dC0+bmJlbnRpdGllcyArPSBlbnQtPmNoZWNrZWQgLyAyOworICAgIH0KKworICAgIC8qCisgICAgICogTm93IHRoYXQgdGhlIGVudGl0eSBjb250ZW50IGhhcyBiZWVuIGdhdGhlcmVkCisgICAgICogcHJvdmlkZSBpdCB0byB0aGUgYXBwbGljYXRpb24sIHRoaXMgY2FuIHRha2UgZGlmZmVyZW50IGZvcm1zIGJhc2VkCisgICAgICogb24gdGhlIHBhcnNpbmcgbW9kZXMuCisgICAgICovCisgICAgaWYgKGVudC0+Y2hpbGRyZW4gPT0gTlVMTCkgeworCS8qCisJICogUHJvYmFibHkgcnVubmluZyBpbiBTQVggbW9kZSBhbmQgdGhlIGNhbGxiYWNrcyBkb24ndAorCSAqIGJ1aWxkIHRoZSBlbnRpdHkgY29udGVudC4gU28gdW5sZXNzIHdlIGFscmVhZHkgd2VudAorCSAqIHRob3VnaCBwYXJzaW5nIGZvciBmaXJzdCBjaGVja2luZyBnbyB0aG91Z2ggdGhlIGVudGl0eQorCSAqIGNvbnRlbnQgdG8gZ2VuZXJhdGUgY2FsbGJhY2tzIGFzc29jaWF0ZWQgdG8gdGhlIGVudGl0eQorCSAqLworCWlmICh3YXNfY2hlY2tlZCAhPSAwKSB7CisJICAgIHZvaWQgKnVzZXJfZGF0YTsKKwkgICAgLyoKKwkgICAgICogVGhpcyBpcyBhIGJpdCBoYWNraXNoIGJ1dCB0aGlzIHNlZW1zIHRoZSBiZXN0CisJICAgICAqIHdheSB0byBtYWtlIHN1cmUgYm90aCBTQVggYW5kIERPTSBlbnRpdHkgc3VwcG9ydAorCSAgICAgKiBiZWhhdmVzIG9rYXkuCisJICAgICAqLworCSAgICBpZiAoY3R4dC0+dXNlckRhdGEgPT0gY3R4dCkKKwkJdXNlcl9kYXRhID0gTlVMTDsKKwkgICAgZWxzZQorCQl1c2VyX2RhdGEgPSBjdHh0LT51c2VyRGF0YTsKKworCSAgICBpZiAoZW50LT5ldHlwZSA9PSBYTUxfSU5URVJOQUxfR0VORVJBTF9FTlRJVFkpIHsKKwkJY3R4dC0+ZGVwdGgrKzsKKwkJcmV0ID0geG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5SW50ZXJuYWwoY3R4dCwKKwkJCQkgICBlbnQtPmNvbnRlbnQsIHVzZXJfZGF0YSwgTlVMTCk7CisJCWN0eHQtPmRlcHRoLS07CisJICAgIH0gZWxzZSBpZiAoZW50LT5ldHlwZSA9PQorCQkgICAgICAgWE1MX0VYVEVSTkFMX0dFTkVSQUxfUEFSU0VEX0VOVElUWSkgeworCQljdHh0LT5kZXB0aCsrOworCQlyZXQgPSB4bWxQYXJzZUV4dGVybmFsRW50aXR5UHJpdmF0ZShjdHh0LT5teURvYywgY3R4dCwKKwkJCSAgIGN0eHQtPnNheCwgdXNlcl9kYXRhLCBjdHh0LT5kZXB0aCwKKwkJCSAgIGVudC0+VVJJLCBlbnQtPkV4dGVybmFsSUQsIE5VTEwpOworCQljdHh0LT5kZXB0aC0tOworCSAgICB9IGVsc2UgeworCQlyZXQgPSBYTUxfRVJSX0VOVElUWV9QRV9JTlRFUk5BTDsKKwkJeG1sRXJyTXNnU3RyKGN0eHQsIFhNTF9FUlJfSU5URVJOQUxfRVJST1IsCisJCQkgICAgICJpbnZhbGlkIGVudGl0eSB0eXBlIGZvdW5kXG4iLCBOVUxMKTsKKwkgICAgfQorCSAgICBpZiAocmV0ID09IFhNTF9FUlJfRU5USVRZX0xPT1ApIHsKKwkJeG1sRmF0YWxFcnIoY3R4dCwgWE1MX0VSUl9FTlRJVFlfTE9PUCwgTlVMTCk7CisJCXJldHVybjsKKwkgICAgfQorCX0KKwlpZiAoKGN0eHQtPnNheCAhPSBOVUxMKSAmJiAoY3R4dC0+c2F4LT5yZWZlcmVuY2UgIT0gTlVMTCkgJiYKKwkgICAgKGN0eHQtPnJlcGxhY2VFbnRpdGllcyA9PSAwKSAmJiAoIWN0eHQtPmRpc2FibGVTQVgpKSB7CisJICAgIC8qCisJICAgICAqIEVudGl0eSByZWZlcmVuY2UgY2FsbGJhY2sgY29tZXMgc2Vjb25kLCBpdCdzIHNvbWV3aGF0CisJICAgICAqIHN1cGVyZmx1b3VzIGJ1dCBhIGNvbXBhdGliaWxpdHkgdG8gaGlzdG9yaWNhbCBiZWhhdmlvdXIKKwkgICAgICovCisJICAgIGN0eHQtPnNheC0+cmVmZXJlbmNlKGN0eHQtPnVzZXJEYXRhLCBlbnQtPm5hbWUpOworCX0KKwlyZXR1cm47CisgICAgfQorCisgICAgLyoKKyAgICAgKiBJZiB3ZSBkaWRuJ3QgZ2V0IGFueSBjaGlsZHJlbiBmb3IgdGhlIGVudGl0eSBiZWluZyBidWlsdAorICAgICAqLworICAgIGlmICgoY3R4dC0+c2F4ICE9IE5VTEwpICYmIChjdHh0LT5zYXgtPnJlZmVyZW5jZSAhPSBOVUxMKSAmJgorCShjdHh0LT5yZXBsYWNlRW50aXRpZXMgPT0gMCkgJiYgKCFjdHh0LT5kaXNhYmxlU0FYKSkgeworCS8qCisJICogQ3JlYXRlIGEgbm9kZS4KKwkgKi8KKwljdHh0LT5zYXgtPnJlZmVyZW5jZShjdHh0LT51c2VyRGF0YSwgZW50LT5uYW1lKTsKKwlyZXR1cm47CisgICAgfQorCisgICAgaWYgKChjdHh0LT5yZXBsYWNlRW50aXRpZXMpIHx8IChlbnQtPmNoaWxkcmVuID09IE5VTEwpKSAgeworCS8qCisJICogVGhlcmUgaXMgYSBwcm9ibGVtIG9uIHRoZSBoYW5kbGluZyBvZiBfcHJpdmF0ZSBmb3IgZW50aXRpZXMKKwkgKiAoYnVnIDE1NTgxNik6IFNob3VsZCB3ZSBjb3B5IHRoZSBjb250ZW50IG9mIHRoZSBmaWVsZCBmcm9tCisJICogdGhlIGVudGl0eSAocG9zc2libHkgb3ZlcndyaXRpbmcgc29tZSB2YWx1ZSBzZXQgYnkgdGhlIHVzZXIKKwkgKiB3aGVuIGEgY29weSBpcyBjcmVhdGVkKSwgc2hvdWxkIHdlIGxlYXZlIGl0IGFsb25lLCBvciBzaG91bGQKKwkgKiB3ZSB0cnkgdG8gdGFrZSBjYXJlIG9mIGRpZmZlcmVudCBzaXR1YXRpb25zPyAgVGhlIHByb2JsZW0KKwkgKiBpcyBleGFjZXJiYXRlZCBieSB0aGUgdXNhZ2Ugb2YgdGhpcyBmaWVsZCBieSB0aGUgeG1sUmVhZGVyLgorCSAqIFRvIGZpeCB0aGlzIGJ1Zywgd2UgbG9vayBhdCBfcHJpdmF0ZSBvbiB0aGUgY3JlYXRlZCBub2RlCisJICogYW5kLCBpZiBpdCdzIE5VTEwsIHdlIGNvcHkgaW4gd2hhdGV2ZXIgd2FzIGluIHRoZSBlbnRpdHkuCisJICogSWYgaXQncyBub3QgTlVMTCB3ZSBsZWF2ZSBpdCBhbG9uZS4gIFRoaXMgaXMgc29tZXdoYXQgb2YgYQorCSAqIGhhY2sgLSBtYXliZSB3ZSBzaG91bGQgaGF2ZSBmdXJ0aGVyIHRlc3RzIHRvIGRldGVybWluZQorCSAqIHdoYXQgdG8gZG8uCisJICovCisJaWYgKChjdHh0LT5ub2RlICE9IE5VTEwpICYmIChlbnQtPmNoaWxkcmVuICE9IE5VTEwpKSB7CisJICAgIC8qCisJICAgICAqIFNlZW1zIHdlIGFyZSBnZW5lcmF0aW5nIHRoZSBET00gY29udGVudCwgZG8KKwkgICAgICogYSBzaW1wbGUgdHJlZSBjb3B5IGZvciBhbGwgcmVmZXJlbmNlcyBleGNlcHQgdGhlIGZpcnN0CisJICAgICAqIEluIHRoZSBmaXJzdCBvY2N1cnJlbmNlIGxpc3QgY29udGFpbnMgdGhlIHJlcGxhY2VtZW50LgorCSAgICAgKi8KKwkgICAgaWYgKCgobGlzdCA9PSBOVUxMKSAmJiAoZW50LT5vd25lciA9PSAwKSkgfHwKKwkJKGN0eHQtPnBhcnNlTW9kZSA9PSBYTUxfUEFSU0VfUkVBREVSKSkgeworCQl4bWxOb2RlUHRyIG53ID0gTlVMTCwgY3VyLCBmaXJzdENoaWxkID0gTlVMTDsKKworCQkvKgorCQkgKiBXZSBhcmUgY29weWluZyBoZXJlLCBtYWtlIHN1cmUgdGhlcmUgaXMgbm8gYWJ1c2UKKwkJICovCisJCWN0eHQtPnNpemVlbnRjb3B5ICs9IGVudC0+bGVuZ3RoICsgNTsKKwkJaWYgKHhtbFBhcnNlckVudGl0eUNoZWNrKGN0eHQsIDAsIGVudCwgY3R4dC0+c2l6ZWVudGNvcHkpKQorCQkgICAgcmV0dXJuOworCisJCS8qCisJCSAqIHdoZW4gb3BlcmF0aW5nIG9uIGEgcmVhZGVyLCB0aGUgZW50aXRpZXMgZGVmaW5pdGlvbnMKKwkJICogYXJlIGFsd2F5cyBvd25pbmcgdGhlIGVudGl0aWVzIHN1YnRyZWUuCisJCWlmIChjdHh0LT5wYXJzZU1vZGUgPT0gWE1MX1BBUlNFX1JFQURFUikKKwkJICAgIGVudC0+b3duZXIgPSAxOworCQkgKi8KKworCQljdXIgPSBlbnQtPmNoaWxkcmVuOworCQl3aGlsZSAoY3VyICE9IE5VTEwpIHsKKwkJICAgIG53ID0geG1sRG9jQ29weU5vZGUoY3VyLCBjdHh0LT5teURvYywgMSk7CisJCSAgICBpZiAobncgIT0gTlVMTCkgeworCQkJaWYgKG53LT5fcHJpdmF0ZSA9PSBOVUxMKQorCQkJICAgIG53LT5fcHJpdmF0ZSA9IGN1ci0+X3ByaXZhdGU7CisJCQlpZiAoZmlyc3RDaGlsZCA9PSBOVUxMKXsKKwkJCSAgICBmaXJzdENoaWxkID0gbnc7CisJCQl9CisJCQludyA9IHhtbEFkZENoaWxkKGN0eHQtPm5vZGUsIG53KTsKKwkJICAgIH0KKwkJICAgIGlmIChjdXIgPT0gZW50LT5sYXN0KSB7CisJCQkvKgorCQkJICogbmVlZGVkIHRvIGRldGVjdCBzb21lIHN0cmFuZ2UgZW1wdHkKKwkJCSAqIG5vZGUgY2FzZXMgaW4gdGhlIHJlYWRlciB0ZXN0cworCQkJICovCisJCQlpZiAoKGN0eHQtPnBhcnNlTW9kZSA9PSBYTUxfUEFSU0VfUkVBREVSKSAmJgorCQkJICAgIChudyAhPSBOVUxMKSAmJgorCQkJICAgIChudy0+dHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFKSAmJgorCQkJICAgIChudy0+Y2hpbGRyZW4gPT0gTlVMTCkpCisJCQkgICAgbnctPmV4dHJhID0gMTsKKworCQkJYnJlYWs7CisJCSAgICB9CisJCSAgICBjdXIgPSBjdXItPm5leHQ7CisJCX0KKyNpZmRlZiBMSUJYTUxfTEVHQUNZX0VOQUJMRUQKKwkJaWYgKGVudC0+ZXR5cGUgPT0gWE1MX0VYVEVSTkFMX0dFTkVSQUxfUEFSU0VEX0VOVElUWSkKKwkJICB4bWxBZGRFbnRpdHlSZWZlcmVuY2UoZW50LCBmaXJzdENoaWxkLCBudyk7CisjZW5kaWYgLyogTElCWE1MX0xFR0FDWV9FTkFCTEVEICovCisJICAgIH0gZWxzZSBpZiAoKGxpc3QgPT0gTlVMTCkgfHwgKGN0eHQtPmlucHV0TnIgPiAwKSkgeworCQl4bWxOb2RlUHRyIG53ID0gTlVMTCwgY3VyLCBuZXh0LCBsYXN0LAorCQkJICAgZmlyc3RDaGlsZCA9IE5VTEw7CisKKwkJLyoKKwkJICogV2UgYXJlIGNvcHlpbmcgaGVyZSwgbWFrZSBzdXJlIHRoZXJlIGlzIG5vIGFidXNlCisJCSAqLworCQljdHh0LT5zaXplZW50Y29weSArPSBlbnQtPmxlbmd0aCArIDU7CisJCWlmICh4bWxQYXJzZXJFbnRpdHlDaGVjayhjdHh0LCAwLCBlbnQsIGN0eHQtPnNpemVlbnRjb3B5KSkKKwkJICAgIHJldHVybjsKKworCQkvKgorCQkgKiBDb3B5IHRoZSBlbnRpdHkgY2hpbGQgbGlzdCBhbmQgbWFrZSBpdCB0aGUgbmV3CisJCSAqIGVudGl0eSBjaGlsZCBsaXN0LiBUaGUgZ29hbCBpcyB0byBtYWtlIHN1cmUgYW55CisJCSAqIElEIG9yIFJFRiByZWZlcmVuY2VkIHdpbGwgYmUgdGhlIG9uZSBmcm9tIHRoZQorCQkgKiBkb2N1bWVudCBjb250ZW50IGFuZCBub3QgdGhlIGVudGl0eSBjb3B5LgorCQkgKi8KKwkJY3VyID0gZW50LT5jaGlsZHJlbjsKKwkJZW50LT5jaGlsZHJlbiA9IE5VTEw7CisJCWxhc3QgPSBlbnQtPmxhc3Q7CisJCWVudC0+bGFzdCA9IE5VTEw7CisJCXdoaWxlIChjdXIgIT0gTlVMTCkgeworCQkgICAgbmV4dCA9IGN1ci0+bmV4dDsKKwkJICAgIGN1ci0+bmV4dCA9IE5VTEw7CisJCSAgICBjdXItPnBhcmVudCA9IE5VTEw7CisJCSAgICBudyA9IHhtbERvY0NvcHlOb2RlKGN1ciwgY3R4dC0+bXlEb2MsIDEpOworCQkgICAgaWYgKG53ICE9IE5VTEwpIHsKKwkJCWlmIChudy0+X3ByaXZhdGUgPT0gTlVMTCkKKwkJCSAgICBudy0+X3ByaXZhdGUgPSBjdXItPl9wcml2YXRlOworCQkJaWYgKGZpcnN0Q2hpbGQgPT0gTlVMTCl7CisJCQkgICAgZmlyc3RDaGlsZCA9IGN1cjsKKwkJCX0KKwkJCXhtbEFkZENoaWxkKCh4bWxOb2RlUHRyKSBlbnQsIG53KTsKKwkJCXhtbEFkZENoaWxkKGN0eHQtPm5vZGUsIGN1cik7CisJCSAgICB9CisJCSAgICBpZiAoY3VyID09IGxhc3QpCisJCQlicmVhazsKKwkJICAgIGN1ciA9IG5leHQ7CisJCX0KKwkJaWYgKGVudC0+b3duZXIgPT0gMCkKKwkJICAgIGVudC0+b3duZXIgPSAxOworI2lmZGVmIExJQlhNTF9MRUdBQ1lfRU5BQkxFRAorCQlpZiAoZW50LT5ldHlwZSA9PSBYTUxfRVhURVJOQUxfR0VORVJBTF9QQVJTRURfRU5USVRZKQorCQkgIHhtbEFkZEVudGl0eVJlZmVyZW5jZShlbnQsIGZpcnN0Q2hpbGQsIG53KTsKKyNlbmRpZiAvKiBMSUJYTUxfTEVHQUNZX0VOQUJMRUQgKi8KKwkgICAgfSBlbHNlIHsKKwkJY29uc3QgeG1sQ2hhciAqbmJrdGV4dDsKKworCQkvKgorCQkgKiB0aGUgbmFtZSBjaGFuZ2UgaXMgdG8gYXZvaWQgY29hbGVzY2luZyBvZiB0aGUKKwkJICogbm9kZSB3aXRoIGEgcG9zc2libGUgcHJldmlvdXMgdGV4dCBvbmUgd2hpY2gKKwkJICogd291bGQgbWFrZSBlbnQtPmNoaWxkcmVuIGEgZGFuZ2xpbmcgcG9pbnRlcgorCQkgKi8KKwkJbmJrdGV4dCA9IHhtbERpY3RMb29rdXAoY3R4dC0+ZGljdCwgQkFEX0NBU1QgIm5ia3RleHQiLAorCQkJCQktMSk7CisJCWlmIChlbnQtPmNoaWxkcmVuLT50eXBlID09IFhNTF9URVhUX05PREUpCisJCSAgICBlbnQtPmNoaWxkcmVuLT5uYW1lID0gbmJrdGV4dDsKKwkJaWYgKChlbnQtPmxhc3QgIT0gZW50LT5jaGlsZHJlbikgJiYKKwkJICAgIChlbnQtPmxhc3QtPnR5cGUgPT0gWE1MX1RFWFRfTk9ERSkpCisJCSAgICBlbnQtPmxhc3QtPm5hbWUgPSBuYmt0ZXh0OworCQl4bWxBZGRDaGlsZExpc3QoY3R4dC0+bm9kZSwgZW50LT5jaGlsZHJlbik7CisJICAgIH0KKworCSAgICAvKgorCSAgICAgKiBUaGlzIGlzIHRvIGF2b2lkIGEgbmFzdHkgc2lkZSBlZmZlY3QsIHNlZQorCSAgICAgKiBjaGFyYWN0ZXJzKCkgaW4gU0FYLmMKKwkgICAgICovCisJICAgIGN0eHQtPm5vZGVtZW0gPSAwOworCSAgICBjdHh0LT5ub2RlbGVuID0gMDsKKwkgICAgcmV0dXJuOworCX0KKyAgICB9Cit9CisKKy8qKgorICogeG1sUGFyc2VFbnRpdHlSZWY6CisgKiBAY3R4dDogIGFuIFhNTCBwYXJzZXIgY29udGV4dAorICoKKyAqIHBhcnNlIEVOVElUWSByZWZlcmVuY2VzIGRlY2xhcmF0aW9ucworICoKKyAqIFs2OF0gRW50aXR5UmVmIDo6PSAnJicgTmFtZSAnOycKKyAqCisgKiBbIFdGQzogRW50aXR5IERlY2xhcmVkIF0KKyAqIEluIGEgZG9jdW1lbnQgd2l0aG91dCBhbnkgRFRELCBhIGRvY3VtZW50IHdpdGggb25seSBhbiBpbnRlcm5hbCBEVEQKKyAqIHN1YnNldCB3aGljaCBjb250YWlucyBubyBwYXJhbWV0ZXIgZW50aXR5IHJlZmVyZW5jZXMsIG9yIGEgZG9jdW1lbnQKKyAqIHdpdGggInN0YW5kYWxvbmU9J3llcyciLCB0aGUgTmFtZSBnaXZlbiBpbiB0aGUgZW50aXR5IHJlZmVyZW5jZQorICogbXVzdCBtYXRjaCB0aGF0IGluIGFuIGVudGl0eSBkZWNsYXJhdGlvbiwgZXhjZXB0IHRoYXQgd2VsbC1mb3JtZWQKKyAqIGRvY3VtZW50cyBuZWVkIG5vdCBkZWNsYXJlIGFueSBvZiB0aGUgZm9sbG93aW5nIGVudGl0aWVzOiBhbXAsIGx0LAorICogZ3QsIGFwb3MsIHF1b3QuICBUaGUgZGVjbGFyYXRpb24gb2YgYSBwYXJhbWV0ZXIgZW50aXR5IG11c3QgcHJlY2VkZQorICogYW55IHJlZmVyZW5jZSB0byBpdC4gIFNpbWlsYXJseSwgdGhlIGRlY2xhcmF0aW9uIG9mIGEgZ2VuZXJhbCBlbnRpdHkKKyAqIG11c3QgcHJlY2VkZSBhbnkgcmVmZXJlbmNlIHRvIGl0IHdoaWNoIGFwcGVhcnMgaW4gYSBkZWZhdWx0IHZhbHVlIGluIGFuCisgKiBhdHRyaWJ1dGUtbGlzdCBkZWNsYXJhdGlvbi4gTm90ZSB0aGF0IGlmIGVudGl0aWVzIGFyZSBkZWNsYXJlZCBpbiB0aGUKKyAqIGV4dGVybmFsIHN1YnNldCBvciBpbiBleHRlcm5hbCBwYXJhbWV0ZXIgZW50aXRpZXMsIGEgbm9uLXZhbGlkYXRpbmcKKyAqIHByb2Nlc3NvciBpcyBub3Qgb2JsaWdhdGVkIHRvIHJlYWQgYW5kIHByb2Nlc3MgdGhlaXIgZGVjbGFyYXRpb25zOworICogZm9yIHN1Y2ggZG9jdW1lbnRzLCB0aGUgcnVsZSB0aGF0IGFuIGVudGl0eSBtdXN0IGJlIGRlY2xhcmVkIGlzIGEKKyAqIHdlbGwtZm9ybWVkbmVzcyBjb25zdHJhaW50IG9ubHkgaWYgc3RhbmRhbG9uZT0neWVzJy4KKyAqCisgKiBbIFdGQzogUGFyc2VkIEVudGl0eSBdCisgKiBBbiBlbnRpdHkgcmVmZXJlbmNlIG11c3Qgbm90IGNvbnRhaW4gdGhlIG5hbWUgb2YgYW4gdW5wYXJzZWQgZW50aXR5CisgKgorICogUmV0dXJucyB0aGUgeG1sRW50aXR5UHRyIGlmIGZvdW5kLCBvciBOVUxMIG90aGVyd2lzZS4KKyAqLworeG1sRW50aXR5UHRyCit4bWxQYXJzZUVudGl0eVJlZih4bWxQYXJzZXJDdHh0UHRyIGN0eHQpIHsKKyAgICBjb25zdCB4bWxDaGFyICpuYW1lOworICAgIHhtbEVudGl0eVB0ciBlbnQgPSBOVUxMOworCisgICAgR1JPVzsKKyAgICBpZiAoY3R4dC0+aW5zdGF0ZSA9PSBYTUxfUEFSU0VSX0VPRikKKyAgICAgICAgcmV0dXJuKE5VTEwpOworCisgICAgaWYgKFJBVyAhPSAnJicpCisgICAgICAgIHJldHVybihOVUxMKTsKKyAgICBORVhUOworICAgIG5hbWUgPSB4bWxQYXJzZU5hbWUoY3R4dCk7CisgICAgaWYgKG5hbWUgPT0gTlVMTCkgeworCXhtbEZhdGFsRXJyTXNnKGN0eHQsIFhNTF9FUlJfTkFNRV9SRVFVSVJFRCwKKwkJICAgICAgICJ4bWxQYXJzZUVudGl0eVJlZjogbm8gbmFtZVxuIik7CisgICAgICAgIHJldHVybihOVUxMKTsKKyAgICB9CisgICAgaWYgKFJBVyAhPSAnOycpIHsKKwl4bWxGYXRhbEVycihjdHh0LCBYTUxfRVJSX0VOVElUWVJFRl9TRU1JQ09MX01JU1NJTkcsIE5VTEwpOworCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgTkVYVDsKKworICAgIC8qCisgICAgICogUHJlZGVmaW5lZCBlbnRpdGllcyBvdmVycmlkZSBhbnkgZXh0cmEgZGVmaW5pdGlvbgorICAgICAqLworICAgIGlmICgoY3R4dC0+b3B0aW9ucyAmIFhNTF9QQVJTRV9PTERTQVgpID09IDApIHsKKyAgICAgICAgZW50ID0geG1sR2V0UHJlZGVmaW5lZEVudGl0eShuYW1lKTsKKyAgICAgICAgaWYgKGVudCAhPSBOVUxMKQorICAgICAgICAgICAgcmV0dXJuKGVudCk7CisgICAgfQorCisgICAgLyoKKyAgICAgKiBJbmNyZWFzZSB0aGUgbnVtYmVyIG9mIGVudGl0eSByZWZlcmVuY2VzIHBhcnNlZAorICAgICAqLworICAgIGN0eHQtPm5iZW50aXRpZXMrKzsKKworICAgIC8qCisgICAgICogQXNrIGZpcnN0IFNBWCBmb3IgZW50aXR5IHJlc29sdXRpb24sIG90aGVyd2lzZSB0cnkgdGhlCisgICAgICogZW50aXRpZXMgd2hpY2ggbWF5IGhhdmUgc3RvcmVkIGluIHRoZSBwYXJzZXIgY29udGV4dC4KKyAgICAgKi8KKyAgICBpZiAoY3R4dC0+c2F4ICE9IE5VTEwpIHsKKwlpZiAoY3R4dC0+c2F4LT5nZXRFbnRpdHkgIT0gTlVMTCkKKwkgICAgZW50ID0gY3R4dC0+c2F4LT5nZXRFbnRpdHkoY3R4dC0+dXNlckRhdGEsIG5hbWUpOworCWlmICgoY3R4dC0+d2VsbEZvcm1lZCA9PSAxICkgJiYgKGVudCA9PSBOVUxMKSAmJgorCSAgICAoY3R4dC0+b3B0aW9ucyAmIFhNTF9QQVJTRV9PTERTQVgpKQorCSAgICBlbnQgPSB4bWxHZXRQcmVkZWZpbmVkRW50aXR5KG5hbWUpOworCWlmICgoY3R4dC0+d2VsbEZvcm1lZCA9PSAxICkgJiYgKGVudCA9PSBOVUxMKSAmJgorCSAgICAoY3R4dC0+dXNlckRhdGE9PWN0eHQpKSB7CisJICAgIGVudCA9IHhtbFNBWDJHZXRFbnRpdHkoY3R4dCwgbmFtZSk7CisJfQorICAgIH0KKyAgICBpZiAoY3R4dC0+aW5zdGF0ZSA9PSBYTUxfUEFSU0VSX0VPRikKKwlyZXR1cm4oTlVMTCk7CisgICAgLyoKKyAgICAgKiBbIFdGQzogRW50aXR5IERlY2xhcmVkIF0KKyAgICAgKiBJbiBhIGRvY3VtZW50IHdpdGhvdXQgYW55IERURCwgYSBkb2N1bWVudCB3aXRoIG9ubHkgYW4KKyAgICAgKiBpbnRlcm5hbCBEVEQgc3Vic2V0IHdoaWNoIGNvbnRhaW5zIG5vIHBhcmFtZXRlciBlbnRpdHkKKyAgICAgKiByZWZlcmVuY2VzLCBvciBhIGRvY3VtZW50IHdpdGggInN0YW5kYWxvbmU9J3llcyciLCB0aGUKKyAgICAgKiBOYW1lIGdpdmVuIGluIHRoZSBlbnRpdHkgcmVmZXJlbmNlIG11c3QgbWF0Y2ggdGhhdCBpbiBhbgorICAgICAqIGVudGl0eSBkZWNsYXJhdGlvbiwgZXhjZXB0IHRoYXQgd2VsbC1mb3JtZWQgZG9jdW1lbnRzCisgICAgICogbmVlZCBub3QgZGVjbGFyZSBhbnkgb2YgdGhlIGZvbGxvd2luZyBlbnRpdGllczogYW1wLCBsdCwKKyAgICAgKiBndCwgYXBvcywgcXVvdC4KKyAgICAgKiBUaGUgZGVjbGFyYXRpb24gb2YgYSBwYXJhbWV0ZXIgZW50aXR5IG11c3QgcHJlY2VkZSBhbnkKKyAgICAgKiByZWZlcmVuY2UgdG8gaXQuCisgICAgICogU2ltaWxhcmx5LCB0aGUgZGVjbGFyYXRpb24gb2YgYSBnZW5lcmFsIGVudGl0eSBtdXN0CisgICAgICogcHJlY2VkZSBhbnkgcmVmZXJlbmNlIHRvIGl0IHdoaWNoIGFwcGVhcnMgaW4gYSBkZWZhdWx0CisgICAgICogdmFsdWUgaW4gYW4gYXR0cmlidXRlLWxpc3QgZGVjbGFyYXRpb24uIE5vdGUgdGhhdCBpZgorICAgICAqIGVudGl0aWVzIGFyZSBkZWNsYXJlZCBpbiB0aGUgZXh0ZXJuYWwgc3Vic2V0IG9yIGluCisgICAgICogZXh0ZXJuYWwgcGFyYW1ldGVyIGVudGl0aWVzLCBhIG5vbi12YWxpZGF0aW5nIHByb2Nlc3NvcgorICAgICAqIGlzIG5vdCBvYmxpZ2F0ZWQgdG8gcmVhZCBhbmQgcHJvY2VzcyB0aGVpciBkZWNsYXJhdGlvbnM7CisgICAgICogZm9yIHN1Y2ggZG9jdW1lbnRzLCB0aGUgcnVsZSB0aGF0IGFuIGVudGl0eSBtdXN0IGJlCisgICAgICogZGVjbGFyZWQgaXMgYSB3ZWxsLWZvcm1lZG5lc3MgY29uc3RyYWludCBvbmx5IGlmCisgICAgICogc3RhbmRhbG9uZT0neWVzJy4KKyAgICAgKi8KKyAgICBpZiAoZW50ID09IE5VTEwpIHsKKwlpZiAoKGN0eHQtPnN0YW5kYWxvbmUgPT0gMSkgfHwKKwkgICAgKChjdHh0LT5oYXNFeHRlcm5hbFN1YnNldCA9PSAwKSAmJgorCSAgICAgKGN0eHQtPmhhc1BFcmVmcyA9PSAwKSkpIHsKKwkgICAgeG1sRmF0YWxFcnJNc2dTdHIoY3R4dCwgWE1MX0VSUl9VTkRFQ0xBUkVEX0VOVElUWSwKKwkJICAgICAiRW50aXR5ICclcycgbm90IGRlZmluZWRcbiIsIG5hbWUpOworCX0gZWxzZSB7CisJICAgIHhtbEVyck1zZ1N0cihjdHh0LCBYTUxfV0FSX1VOREVDTEFSRURfRU5USVRZLAorCQkgICAgICJFbnRpdHkgJyVzJyBub3QgZGVmaW5lZFxuIiwgbmFtZSk7CisJICAgIGlmICgoY3R4dC0+aW5TdWJzZXQgPT0gMCkgJiYKKwkJKGN0eHQtPnNheCAhPSBOVUxMKSAmJgorCQkoY3R4dC0+c2F4LT5yZWZlcmVuY2UgIT0gTlVMTCkpIHsKKwkJY3R4dC0+c2F4LT5yZWZlcmVuY2UoY3R4dC0+dXNlckRhdGEsIG5hbWUpOworCSAgICB9CisJfQorCXhtbFBhcnNlckVudGl0eUNoZWNrKGN0eHQsIDAsIGVudCwgMCk7CisJY3R4dC0+dmFsaWQgPSAwOworICAgIH0KKworICAgIC8qCisgICAgICogWyBXRkM6IFBhcnNlZCBFbnRpdHkgXQorICAgICAqIEFuIGVudGl0eSByZWZlcmVuY2UgbXVzdCBub3QgY29udGFpbiB0aGUgbmFtZSBvZiBhbgorICAgICAqIHVucGFyc2VkIGVudGl0eQorICAgICAqLworICAgIGVsc2UgaWYgKGVudC0+ZXR5cGUgPT0gWE1MX0VYVEVSTkFMX0dFTkVSQUxfVU5QQVJTRURfRU5USVRZKSB7CisJeG1sRmF0YWxFcnJNc2dTdHIoY3R4dCwgWE1MX0VSUl9VTlBBUlNFRF9FTlRJVFksCisJCSAiRW50aXR5IHJlZmVyZW5jZSB0byB1bnBhcnNlZCBlbnRpdHkgJXNcbiIsIG5hbWUpOworICAgIH0KKworICAgIC8qCisgICAgICogWyBXRkM6IE5vIEV4dGVybmFsIEVudGl0eSBSZWZlcmVuY2VzIF0KKyAgICAgKiBBdHRyaWJ1dGUgdmFsdWVzIGNhbm5vdCBjb250YWluIGRpcmVjdCBvciBpbmRpcmVjdAorICAgICAqIGVudGl0eSByZWZlcmVuY2VzIHRvIGV4dGVybmFsIGVudGl0aWVzLgorICAgICAqLworICAgIGVsc2UgaWYgKChjdHh0LT5pbnN0YXRlID09IFhNTF9QQVJTRVJfQVRUUklCVVRFX1ZBTFVFKSAmJgorCSAgICAgKGVudC0+ZXR5cGUgPT0gWE1MX0VYVEVSTkFMX0dFTkVSQUxfUEFSU0VEX0VOVElUWSkpIHsKKwl4bWxGYXRhbEVyck1zZ1N0cihjdHh0LCBYTUxfRVJSX0VOVElUWV9JU19FWFRFUk5BTCwKKwkgICAgICJBdHRyaWJ1dGUgcmVmZXJlbmNlcyBleHRlcm5hbCBlbnRpdHkgJyVzJ1xuIiwgbmFtZSk7CisgICAgfQorICAgIC8qCisgICAgICogWyBXRkM6IE5vIDwgaW4gQXR0cmlidXRlIFZhbHVlcyBdCisgICAgICogVGhlIHJlcGxhY2VtZW50IHRleHQgb2YgYW55IGVudGl0eSByZWZlcnJlZCB0byBkaXJlY3RseSBvcgorICAgICAqIGluZGlyZWN0bHkgaW4gYW4gYXR0cmlidXRlIHZhbHVlIChvdGhlciB0aGFuICImbHQ7IikgbXVzdAorICAgICAqIG5vdCBjb250YWluIGEgPC4KKyAgICAgKi8KKyAgICBlbHNlIGlmICgoY3R4dC0+aW5zdGF0ZSA9PSBYTUxfUEFSU0VSX0FUVFJJQlVURV9WQUxVRSkgJiYKKwkgICAgIChlbnQgIT0gTlVMTCkgJiYgCisJICAgICAoZW50LT5ldHlwZSAhPSBYTUxfSU5URVJOQUxfUFJFREVGSU5FRF9FTlRJVFkpKSB7CisJaWYgKCgoZW50LT5jaGVja2VkICYgMSkgfHwgKGVudC0+Y2hlY2tlZCA9PSAwKSkgJiYKKwkgICAgIChlbnQtPmNvbnRlbnQgIT0gTlVMTCkgJiYgKHhtbFN0cmNocihlbnQtPmNvbnRlbnQsICc8JykpKSB7CisJICAgIHhtbEZhdGFsRXJyTXNnU3RyKGN0eHQsIFhNTF9FUlJfTFRfSU5fQVRUUklCVVRFLAorCSInPCcgaW4gZW50aXR5ICclcycgaXMgbm90IGFsbG93ZWQgaW4gYXR0cmlidXRlcyB2YWx1ZXNcbiIsIG5hbWUpOworICAgICAgICB9CisgICAgfQorCisgICAgLyoKKyAgICAgKiBJbnRlcm5hbCBjaGVjaywgbm8gcGFyYW1ldGVyIGVudGl0aWVzIGhlcmUgLi4uCisgICAgICovCisgICAgZWxzZSB7CisJc3dpdGNoIChlbnQtPmV0eXBlKSB7CisJICAgIGNhc2UgWE1MX0lOVEVSTkFMX1BBUkFNRVRFUl9FTlRJVFk6CisJICAgIGNhc2UgWE1MX0VYVEVSTkFMX1BBUkFNRVRFUl9FTlRJVFk6CisJICAgIHhtbEZhdGFsRXJyTXNnU3RyKGN0eHQsIFhNTF9FUlJfRU5USVRZX0lTX1BBUkFNRVRFUiwKKwkgICAgICJBdHRlbXB0IHRvIHJlZmVyZW5jZSB0aGUgcGFyYW1ldGVyIGVudGl0eSAnJXMnXG4iLAorCQkJICAgICAgbmFtZSk7CisJICAgIGJyZWFrOworCSAgICBkZWZhdWx0OgorCSAgICBicmVhazsKKwl9CisgICAgfQorCisgICAgLyoKKyAgICAgKiBbIFdGQzogTm8gUmVjdXJzaW9uIF0KKyAgICAgKiBBIHBhcnNlZCBlbnRpdHkgbXVzdCBub3QgY29udGFpbiBhIHJlY3Vyc2l2ZSByZWZlcmVuY2UKKyAgICAgKiB0byBpdHNlbGYsIGVpdGhlciBkaXJlY3RseSBvciBpbmRpcmVjdGx5LgorICAgICAqIERvbmUgc29tZXdoZXJlIGVsc2UKKyAgICAgKi8KKyAgICByZXR1cm4oZW50KTsKK30KKworLyoqCisgKiB4bWxQYXJzZVN0cmluZ0VudGl0eVJlZjoKKyAqIEBjdHh0OiAgYW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAc3RyOiAgYSBwb2ludGVyIHRvIGFuIGluZGV4IGluIHRoZSBzdHJpbmcKKyAqCisgKiBwYXJzZSBFTlRJVFkgcmVmZXJlbmNlcyBkZWNsYXJhdGlvbnMsIGJ1dCB0aGlzIHZlcnNpb24gcGFyc2VzIGl0IGZyb20KKyAqIGEgc3RyaW5nIHZhbHVlLgorICoKKyAqIFs2OF0gRW50aXR5UmVmIDo6PSAnJicgTmFtZSAnOycKKyAqCisgKiBbIFdGQzogRW50aXR5IERlY2xhcmVkIF0KKyAqIEluIGEgZG9jdW1lbnQgd2l0aG91dCBhbnkgRFRELCBhIGRvY3VtZW50IHdpdGggb25seSBhbiBpbnRlcm5hbCBEVEQKKyAqIHN1YnNldCB3aGljaCBjb250YWlucyBubyBwYXJhbWV0ZXIgZW50aXR5IHJlZmVyZW5jZXMsIG9yIGEgZG9jdW1lbnQKKyAqIHdpdGggInN0YW5kYWxvbmU9J3llcyciLCB0aGUgTmFtZSBnaXZlbiBpbiB0aGUgZW50aXR5IHJlZmVyZW5jZQorICogbXVzdCBtYXRjaCB0aGF0IGluIGFuIGVudGl0eSBkZWNsYXJhdGlvbiwgZXhjZXB0IHRoYXQgd2VsbC1mb3JtZWQKKyAqIGRvY3VtZW50cyBuZWVkIG5vdCBkZWNsYXJlIGFueSBvZiB0aGUgZm9sbG93aW5nIGVudGl0aWVzOiBhbXAsIGx0LAorICogZ3QsIGFwb3MsIHF1b3QuICBUaGUgZGVjbGFyYXRpb24gb2YgYSBwYXJhbWV0ZXIgZW50aXR5IG11c3QgcHJlY2VkZQorICogYW55IHJlZmVyZW5jZSB0byBpdC4gIFNpbWlsYXJseSwgdGhlIGRlY2xhcmF0aW9uIG9mIGEgZ2VuZXJhbCBlbnRpdHkKKyAqIG11c3QgcHJlY2VkZSBhbnkgcmVmZXJlbmNlIHRvIGl0IHdoaWNoIGFwcGVhcnMgaW4gYSBkZWZhdWx0IHZhbHVlIGluIGFuCisgKiBhdHRyaWJ1dGUtbGlzdCBkZWNsYXJhdGlvbi4gTm90ZSB0aGF0IGlmIGVudGl0aWVzIGFyZSBkZWNsYXJlZCBpbiB0aGUKKyAqIGV4dGVybmFsIHN1YnNldCBvciBpbiBleHRlcm5hbCBwYXJhbWV0ZXIgZW50aXRpZXMsIGEgbm9uLXZhbGlkYXRpbmcKKyAqIHByb2Nlc3NvciBpcyBub3Qgb2JsaWdhdGVkIHRvIHJlYWQgYW5kIHByb2Nlc3MgdGhlaXIgZGVjbGFyYXRpb25zOworICogZm9yIHN1Y2ggZG9jdW1lbnRzLCB0aGUgcnVsZSB0aGF0IGFuIGVudGl0eSBtdXN0IGJlIGRlY2xhcmVkIGlzIGEKKyAqIHdlbGwtZm9ybWVkbmVzcyBjb25zdHJhaW50IG9ubHkgaWYgc3RhbmRhbG9uZT0neWVzJy4KKyAqCisgKiBbIFdGQzogUGFyc2VkIEVudGl0eSBdCisgKiBBbiBlbnRpdHkgcmVmZXJlbmNlIG11c3Qgbm90IGNvbnRhaW4gdGhlIG5hbWUgb2YgYW4gdW5wYXJzZWQgZW50aXR5CisgKgorICogUmV0dXJucyB0aGUgeG1sRW50aXR5UHRyIGlmIGZvdW5kLCBvciBOVUxMIG90aGVyd2lzZS4gVGhlIHN0ciBwb2ludGVyCisgKiBpcyB1cGRhdGVkIHRvIHRoZSBjdXJyZW50IGxvY2F0aW9uIGluIHRoZSBzdHJpbmcuCisgKi8KK3N0YXRpYyB4bWxFbnRpdHlQdHIKK3htbFBhcnNlU3RyaW5nRW50aXR5UmVmKHhtbFBhcnNlckN0eHRQdHIgY3R4dCwgY29uc3QgeG1sQ2hhciAqKiBzdHIpIHsKKyAgICB4bWxDaGFyICpuYW1lOworICAgIGNvbnN0IHhtbENoYXIgKnB0cjsKKyAgICB4bWxDaGFyIGN1cjsKKyAgICB4bWxFbnRpdHlQdHIgZW50ID0gTlVMTDsKKworICAgIGlmICgoc3RyID09IE5VTEwpIHx8ICgqc3RyID09IE5VTEwpKQorICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgcHRyID0gKnN0cjsKKyAgICBjdXIgPSAqcHRyOworICAgIGlmIChjdXIgIT0gJyYnKQorCXJldHVybihOVUxMKTsKKworICAgIHB0cisrOworICAgIG5hbWUgPSB4bWxQYXJzZVN0cmluZ05hbWUoY3R4dCwgJnB0cik7CisgICAgaWYgKG5hbWUgPT0gTlVMTCkgeworCXhtbEZhdGFsRXJyTXNnKGN0eHQsIFhNTF9FUlJfTkFNRV9SRVFVSVJFRCwKKwkJICAgICAgICJ4bWxQYXJzZVN0cmluZ0VudGl0eVJlZjogbm8gbmFtZVxuIik7CisJKnN0ciA9IHB0cjsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIGlmICgqcHRyICE9ICc7JykgeworCXhtbEZhdGFsRXJyKGN0eHQsIFhNTF9FUlJfRU5USVRZUkVGX1NFTUlDT0xfTUlTU0lORywgTlVMTCk7CisgICAgICAgIHhtbEZyZWUobmFtZSk7CisJKnN0ciA9IHB0cjsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIHB0cisrOworCisKKyAgICAvKgorICAgICAqIFByZWRlZmluZWQgZW50aXRpZXMgb3ZlcnJpZGUgYW55IGV4dHJhIGRlZmluaXRpb24KKyAgICAgKi8KKyAgICBpZiAoKGN0eHQtPm9wdGlvbnMgJiBYTUxfUEFSU0VfT0xEU0FYKSA9PSAwKSB7CisgICAgICAgIGVudCA9IHhtbEdldFByZWRlZmluZWRFbnRpdHkobmFtZSk7CisgICAgICAgIGlmIChlbnQgIT0gTlVMTCkgeworICAgICAgICAgICAgeG1sRnJlZShuYW1lKTsKKyAgICAgICAgICAgICpzdHIgPSBwdHI7CisgICAgICAgICAgICByZXR1cm4oZW50KTsKKyAgICAgICAgfQorICAgIH0KKworICAgIC8qCisgICAgICogSW5jcmVhdGUgdGhlIG51bWJlciBvZiBlbnRpdHkgcmVmZXJlbmNlcyBwYXJzZWQKKyAgICAgKi8KKyAgICBjdHh0LT5uYmVudGl0aWVzKys7CisKKyAgICAvKgorICAgICAqIEFzayBmaXJzdCBTQVggZm9yIGVudGl0eSByZXNvbHV0aW9uLCBvdGhlcndpc2UgdHJ5IHRoZQorICAgICAqIGVudGl0aWVzIHdoaWNoIG1heSBoYXZlIHN0b3JlZCBpbiB0aGUgcGFyc2VyIGNvbnRleHQuCisgICAgICovCisgICAgaWYgKGN0eHQtPnNheCAhPSBOVUxMKSB7CisJaWYgKGN0eHQtPnNheC0+Z2V0RW50aXR5ICE9IE5VTEwpCisJICAgIGVudCA9IGN0eHQtPnNheC0+Z2V0RW50aXR5KGN0eHQtPnVzZXJEYXRhLCBuYW1lKTsKKwlpZiAoKGVudCA9PSBOVUxMKSAmJiAoY3R4dC0+b3B0aW9ucyAmIFhNTF9QQVJTRV9PTERTQVgpKQorCSAgICBlbnQgPSB4bWxHZXRQcmVkZWZpbmVkRW50aXR5KG5hbWUpOworCWlmICgoZW50ID09IE5VTEwpICYmIChjdHh0LT51c2VyRGF0YT09Y3R4dCkpIHsKKwkgICAgZW50ID0geG1sU0FYMkdldEVudGl0eShjdHh0LCBuYW1lKTsKKwl9CisgICAgfQorICAgIGlmIChjdHh0LT5pbnN0YXRlID09IFhNTF9QQVJTRVJfRU9GKSB7CisJeG1sRnJlZShuYW1lKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorCisgICAgLyoKKyAgICAgKiBbIFdGQzogRW50aXR5IERlY2xhcmVkIF0KKyAgICAgKiBJbiBhIGRvY3VtZW50IHdpdGhvdXQgYW55IERURCwgYSBkb2N1bWVudCB3aXRoIG9ubHkgYW4KKyAgICAgKiBpbnRlcm5hbCBEVEQgc3Vic2V0IHdoaWNoIGNvbnRhaW5zIG5vIHBhcmFtZXRlciBlbnRpdHkKKyAgICAgKiByZWZlcmVuY2VzLCBvciBhIGRvY3VtZW50IHdpdGggInN0YW5kYWxvbmU9J3llcyciLCB0aGUKKyAgICAgKiBOYW1lIGdpdmVuIGluIHRoZSBlbnRpdHkgcmVmZXJlbmNlIG11c3QgbWF0Y2ggdGhhdCBpbiBhbgorICAgICAqIGVudGl0eSBkZWNsYXJhdGlvbiwgZXhjZXB0IHRoYXQgd2VsbC1mb3JtZWQgZG9jdW1lbnRzCisgICAgICogbmVlZCBub3QgZGVjbGFyZSBhbnkgb2YgdGhlIGZvbGxvd2luZyBlbnRpdGllczogYW1wLCBsdCwKKyAgICAgKiBndCwgYXBvcywgcXVvdC4KKyAgICAgKiBUaGUgZGVjbGFyYXRpb24gb2YgYSBwYXJhbWV0ZXIgZW50aXR5IG11c3QgcHJlY2VkZSBhbnkKKyAgICAgKiByZWZlcmVuY2UgdG8gaXQuCisgICAgICogU2ltaWxhcmx5LCB0aGUgZGVjbGFyYXRpb24gb2YgYSBnZW5lcmFsIGVudGl0eSBtdXN0CisgICAgICogcHJlY2VkZSBhbnkgcmVmZXJlbmNlIHRvIGl0IHdoaWNoIGFwcGVhcnMgaW4gYSBkZWZhdWx0CisgICAgICogdmFsdWUgaW4gYW4gYXR0cmlidXRlLWxpc3QgZGVjbGFyYXRpb24uIE5vdGUgdGhhdCBpZgorICAgICAqIGVudGl0aWVzIGFyZSBkZWNsYXJlZCBpbiB0aGUgZXh0ZXJuYWwgc3Vic2V0IG9yIGluCisgICAgICogZXh0ZXJuYWwgcGFyYW1ldGVyIGVudGl0aWVzLCBhIG5vbi12YWxpZGF0aW5nIHByb2Nlc3NvcgorICAgICAqIGlzIG5vdCBvYmxpZ2F0ZWQgdG8gcmVhZCBhbmQgcHJvY2VzcyB0aGVpciBkZWNsYXJhdGlvbnM7CisgICAgICogZm9yIHN1Y2ggZG9jdW1lbnRzLCB0aGUgcnVsZSB0aGF0IGFuIGVudGl0eSBtdXN0IGJlCisgICAgICogZGVjbGFyZWQgaXMgYSB3ZWxsLWZvcm1lZG5lc3MgY29uc3RyYWludCBvbmx5IGlmCisgICAgICogc3RhbmRhbG9uZT0neWVzJy4KKyAgICAgKi8KKyAgICBpZiAoZW50ID09IE5VTEwpIHsKKwlpZiAoKGN0eHQtPnN0YW5kYWxvbmUgPT0gMSkgfHwKKwkgICAgKChjdHh0LT5oYXNFeHRlcm5hbFN1YnNldCA9PSAwKSAmJgorCSAgICAgKGN0eHQtPmhhc1BFcmVmcyA9PSAwKSkpIHsKKwkgICAgeG1sRmF0YWxFcnJNc2dTdHIoY3R4dCwgWE1MX0VSUl9VTkRFQ0xBUkVEX0VOVElUWSwKKwkJICAgICAiRW50aXR5ICclcycgbm90IGRlZmluZWRcbiIsIG5hbWUpOworCX0gZWxzZSB7CisJICAgIHhtbEVyck1zZ1N0cihjdHh0LCBYTUxfV0FSX1VOREVDTEFSRURfRU5USVRZLAorCQkJICAiRW50aXR5ICclcycgbm90IGRlZmluZWRcbiIsCisJCQkgIG5hbWUpOworCX0KKwl4bWxQYXJzZXJFbnRpdHlDaGVjayhjdHh0LCAwLCBlbnQsIDApOworCS8qIFRPRE8gPyBjaGVjayByZWdyZXNzaW9ucyBjdHh0LT52YWxpZCA9IDA7ICovCisgICAgfQorCisgICAgLyoKKyAgICAgKiBbIFdGQzogUGFyc2VkIEVudGl0eSBdCisgICAgICogQW4gZW50aXR5IHJlZmVyZW5jZSBtdXN0IG5vdCBjb250YWluIHRoZSBuYW1lIG9mIGFuCisgICAgICogdW5wYXJzZWQgZW50aXR5CisgICAgICovCisgICAgZWxzZSBpZiAoZW50LT5ldHlwZSA9PSBYTUxfRVhURVJOQUxfR0VORVJBTF9VTlBBUlNFRF9FTlRJVFkpIHsKKwl4bWxGYXRhbEVyck1zZ1N0cihjdHh0LCBYTUxfRVJSX1VOUEFSU0VEX0VOVElUWSwKKwkJICJFbnRpdHkgcmVmZXJlbmNlIHRvIHVucGFyc2VkIGVudGl0eSAlc1xuIiwgbmFtZSk7CisgICAgfQorCisgICAgLyoKKyAgICAgKiBbIFdGQzogTm8gRXh0ZXJuYWwgRW50aXR5IFJlZmVyZW5jZXMgXQorICAgICAqIEF0dHJpYnV0ZSB2YWx1ZXMgY2Fubm90IGNvbnRhaW4gZGlyZWN0IG9yIGluZGlyZWN0CisgICAgICogZW50aXR5IHJlZmVyZW5jZXMgdG8gZXh0ZXJuYWwgZW50aXRpZXMuCisgICAgICovCisgICAgZWxzZSBpZiAoKGN0eHQtPmluc3RhdGUgPT0gWE1MX1BBUlNFUl9BVFRSSUJVVEVfVkFMVUUpICYmCisJICAgICAoZW50LT5ldHlwZSA9PSBYTUxfRVhURVJOQUxfR0VORVJBTF9QQVJTRURfRU5USVRZKSkgeworCXhtbEZhdGFsRXJyTXNnU3RyKGN0eHQsIFhNTF9FUlJfRU5USVRZX0lTX0VYVEVSTkFMLAorCSAiQXR0cmlidXRlIHJlZmVyZW5jZXMgZXh0ZXJuYWwgZW50aXR5ICclcydcbiIsIG5hbWUpOworICAgIH0KKyAgICAvKgorICAgICAqIFsgV0ZDOiBObyA8IGluIEF0dHJpYnV0ZSBWYWx1ZXMgXQorICAgICAqIFRoZSByZXBsYWNlbWVudCB0ZXh0IG9mIGFueSBlbnRpdHkgcmVmZXJyZWQgdG8gZGlyZWN0bHkgb3IKKyAgICAgKiBpbmRpcmVjdGx5IGluIGFuIGF0dHJpYnV0ZSB2YWx1ZSAob3RoZXIgdGhhbiAiJmx0OyIpIG11c3QKKyAgICAgKiBub3QgY29udGFpbiBhIDwuCisgICAgICovCisgICAgZWxzZSBpZiAoKGN0eHQtPmluc3RhdGUgPT0gWE1MX1BBUlNFUl9BVFRSSUJVVEVfVkFMVUUpICYmCisJICAgICAoZW50ICE9IE5VTEwpICYmIChlbnQtPmNvbnRlbnQgIT0gTlVMTCkgJiYKKwkgICAgIChlbnQtPmV0eXBlICE9IFhNTF9JTlRFUk5BTF9QUkVERUZJTkVEX0VOVElUWSkgJiYKKwkgICAgICh4bWxTdHJjaHIoZW50LT5jb250ZW50LCAnPCcpKSkgeworCXhtbEZhdGFsRXJyTXNnU3RyKGN0eHQsIFhNTF9FUlJfTFRfSU5fQVRUUklCVVRFLAorICAgICAiJzwnIGluIGVudGl0eSAnJXMnIGlzIG5vdCBhbGxvd2VkIGluIGF0dHJpYnV0ZXMgdmFsdWVzXG4iLAorCQkJICBuYW1lKTsKKyAgICB9CisKKyAgICAvKgorICAgICAqIEludGVybmFsIGNoZWNrLCBubyBwYXJhbWV0ZXIgZW50aXRpZXMgaGVyZSAuLi4KKyAgICAgKi8KKyAgICBlbHNlIHsKKwlzd2l0Y2ggKGVudC0+ZXR5cGUpIHsKKwkgICAgY2FzZSBYTUxfSU5URVJOQUxfUEFSQU1FVEVSX0VOVElUWToKKwkgICAgY2FzZSBYTUxfRVhURVJOQUxfUEFSQU1FVEVSX0VOVElUWToKKwkJeG1sRmF0YWxFcnJNc2dTdHIoY3R4dCwgWE1MX0VSUl9FTlRJVFlfSVNfUEFSQU1FVEVSLAorCSAgICAgIkF0dGVtcHQgdG8gcmVmZXJlbmNlIHRoZSBwYXJhbWV0ZXIgZW50aXR5ICclcydcbiIsCisJCQkJICBuYW1lKTsKKwkgICAgYnJlYWs7CisJICAgIGRlZmF1bHQ6CisJICAgIGJyZWFrOworCX0KKyAgICB9CisKKyAgICAvKgorICAgICAqIFsgV0ZDOiBObyBSZWN1cnNpb24gXQorICAgICAqIEEgcGFyc2VkIGVudGl0eSBtdXN0IG5vdCBjb250YWluIGEgcmVjdXJzaXZlIHJlZmVyZW5jZQorICAgICAqIHRvIGl0c2VsZiwgZWl0aGVyIGRpcmVjdGx5IG9yIGluZGlyZWN0bHkuCisgICAgICogRG9uZSBzb21ld2hlcmUgZWxzZQorICAgICAqLworCisgICAgeG1sRnJlZShuYW1lKTsKKyAgICAqc3RyID0gcHRyOworICAgIHJldHVybihlbnQpOworfQorCisvKioKKyAqIHhtbFBhcnNlUEVSZWZlcmVuY2U6CisgKiBAY3R4dDogIGFuIFhNTCBwYXJzZXIgY29udGV4dAorICoKKyAqIHBhcnNlIFBFUmVmZXJlbmNlIGRlY2xhcmF0aW9ucworICogVGhlIGVudGl0eSBjb250ZW50IGlzIGhhbmRsZWQgZGlyZWN0bHkgYnkgcHVzaGluZyBpdCdzIGNvbnRlbnQgYXMKKyAqIGEgbmV3IGlucHV0IHN0cmVhbS4KKyAqCisgKiBbNjldIFBFUmVmZXJlbmNlIDo6PSAnJScgTmFtZSAnOycKKyAqCisgKiBbIFdGQzogTm8gUmVjdXJzaW9uIF0KKyAqIEEgcGFyc2VkIGVudGl0eSBtdXN0IG5vdCBjb250YWluIGEgcmVjdXJzaXZlCisgKiByZWZlcmVuY2UgdG8gaXRzZWxmLCBlaXRoZXIgZGlyZWN0bHkgb3IgaW5kaXJlY3RseS4KKyAqCisgKiBbIFdGQzogRW50aXR5IERlY2xhcmVkIF0KKyAqIEluIGEgZG9jdW1lbnQgd2l0aG91dCBhbnkgRFRELCBhIGRvY3VtZW50IHdpdGggb25seSBhbiBpbnRlcm5hbCBEVEQKKyAqIHN1YnNldCB3aGljaCBjb250YWlucyBubyBwYXJhbWV0ZXIgZW50aXR5IHJlZmVyZW5jZXMsIG9yIGEgZG9jdW1lbnQKKyAqIHdpdGggInN0YW5kYWxvbmU9J3llcyciLCAuLi4gIC4uLiBUaGUgZGVjbGFyYXRpb24gb2YgYSBwYXJhbWV0ZXIKKyAqIGVudGl0eSBtdXN0IHByZWNlZGUgYW55IHJlZmVyZW5jZSB0byBpdC4uLgorICoKKyAqIFsgVkM6IEVudGl0eSBEZWNsYXJlZCBdCisgKiBJbiBhIGRvY3VtZW50IHdpdGggYW4gZXh0ZXJuYWwgc3Vic2V0IG9yIGV4dGVybmFsIHBhcmFtZXRlciBlbnRpdGllcworICogd2l0aCAic3RhbmRhbG9uZT0nbm8nIiwgLi4uICAuLi4gVGhlIGRlY2xhcmF0aW9uIG9mIGEgcGFyYW1ldGVyIGVudGl0eQorICogbXVzdCBwcmVjZWRlIGFueSByZWZlcmVuY2UgdG8gaXQuLi4KKyAqCisgKiBbIFdGQzogSW4gRFREIF0KKyAqIFBhcmFtZXRlci1lbnRpdHkgcmVmZXJlbmNlcyBtYXkgb25seSBhcHBlYXIgaW4gdGhlIERURC4KKyAqIE5PVEU6IG1pc2xlYWRpbmcgYnV0IHRoaXMgaXMgaGFuZGxlZC4KKyAqLwordm9pZAoreG1sUGFyc2VQRVJlZmVyZW5jZSh4bWxQYXJzZXJDdHh0UHRyIGN0eHQpCit7CisgICAgY29uc3QgeG1sQ2hhciAqbmFtZTsKKyAgICB4bWxFbnRpdHlQdHIgZW50aXR5ID0gTlVMTDsKKyAgICB4bWxQYXJzZXJJbnB1dFB0ciBpbnB1dDsKKworICAgIGlmIChSQVcgIT0gJyUnKQorICAgICAgICByZXR1cm47CisgICAgTkVYVDsKKyAgICBuYW1lID0geG1sUGFyc2VOYW1lKGN0eHQpOworICAgIGlmIChuYW1lID09IE5VTEwpIHsKKwl4bWxGYXRhbEVyck1zZyhjdHh0LCBYTUxfRVJSX05BTUVfUkVRVUlSRUQsCisJCSAgICAgICAieG1sUGFyc2VQRVJlZmVyZW5jZTogbm8gbmFtZVxuIik7CisJcmV0dXJuOworICAgIH0KKyAgICBpZiAoUkFXICE9ICc7JykgeworCXhtbEZhdGFsRXJyKGN0eHQsIFhNTF9FUlJfRU5USVRZUkVGX1NFTUlDT0xfTUlTU0lORywgTlVMTCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBORVhUOworCisgICAgLyoKKyAgICAgKiBJbmNyZWF0ZSB0aGUgbnVtYmVyIG9mIGVudGl0eSByZWZlcmVuY2VzIHBhcnNlZAorICAgICAqLworICAgIGN0eHQtPm5iZW50aXRpZXMrKzsKKworICAgIC8qCisgICAgICogUmVxdWVzdCB0aGUgZW50aXR5IGZyb20gU0FYCisgICAgICovCisgICAgaWYgKChjdHh0LT5zYXggIT0gTlVMTCkgJiYKKwkoY3R4dC0+c2F4LT5nZXRQYXJhbWV0ZXJFbnRpdHkgIT0gTlVMTCkpCisJZW50aXR5ID0gY3R4dC0+c2F4LT5nZXRQYXJhbWV0ZXJFbnRpdHkoY3R4dC0+dXNlckRhdGEsIG5hbWUpOworICAgIGlmIChjdHh0LT5pbnN0YXRlID09IFhNTF9QQVJTRVJfRU9GKQorCXJldHVybjsKKyAgICBpZiAoZW50aXR5ID09IE5VTEwpIHsKKwkvKgorCSAqIFsgV0ZDOiBFbnRpdHkgRGVjbGFyZWQgXQorCSAqIEluIGEgZG9jdW1lbnQgd2l0aG91dCBhbnkgRFRELCBhIGRvY3VtZW50IHdpdGggb25seSBhbgorCSAqIGludGVybmFsIERURCBzdWJzZXQgd2hpY2ggY29udGFpbnMgbm8gcGFyYW1ldGVyIGVudGl0eQorCSAqIHJlZmVyZW5jZXMsIG9yIGEgZG9jdW1lbnQgd2l0aCAic3RhbmRhbG9uZT0neWVzJyIsIC4uLgorCSAqIC4uLiBUaGUgZGVjbGFyYXRpb24gb2YgYSBwYXJhbWV0ZXIgZW50aXR5IG11c3QgcHJlY2VkZQorCSAqIGFueSByZWZlcmVuY2UgdG8gaXQuLi4KKwkgKi8KKwlpZiAoKGN0eHQtPnN0YW5kYWxvbmUgPT0gMSkgfHwKKwkgICAgKChjdHh0LT5oYXNFeHRlcm5hbFN1YnNldCA9PSAwKSAmJgorCSAgICAgKGN0eHQtPmhhc1BFcmVmcyA9PSAwKSkpIHsKKwkgICAgeG1sRmF0YWxFcnJNc2dTdHIoY3R4dCwgWE1MX0VSUl9VTkRFQ0xBUkVEX0VOVElUWSwKKwkJCSAgICAgICJQRVJlZmVyZW5jZTogJSUlczsgbm90IGZvdW5kXG4iLAorCQkJICAgICAgbmFtZSk7CisJfSBlbHNlIHsKKwkgICAgLyoKKwkgICAgICogWyBWQzogRW50aXR5IERlY2xhcmVkIF0KKwkgICAgICogSW4gYSBkb2N1bWVudCB3aXRoIGFuIGV4dGVybmFsIHN1YnNldCBvciBleHRlcm5hbAorCSAgICAgKiBwYXJhbWV0ZXIgZW50aXRpZXMgd2l0aCAic3RhbmRhbG9uZT0nbm8nIiwgLi4uCisJICAgICAqIC4uLiBUaGUgZGVjbGFyYXRpb24gb2YgYSBwYXJhbWV0ZXIgZW50aXR5IG11c3QKKwkgICAgICogcHJlY2VkZSBhbnkgcmVmZXJlbmNlIHRvIGl0Li4uCisJICAgICAqLworCSAgICB4bWxXYXJuaW5nTXNnKGN0eHQsIFhNTF9XQVJfVU5ERUNMQVJFRF9FTlRJVFksCisJCQkgICJQRVJlZmVyZW5jZTogJSUlczsgbm90IGZvdW5kXG4iLAorCQkJICBuYW1lLCBOVUxMKTsKKwkgICAgY3R4dC0+dmFsaWQgPSAwOworCX0KKwl4bWxQYXJzZXJFbnRpdHlDaGVjayhjdHh0LCAwLCBOVUxMLCAwKTsKKyAgICB9IGVsc2UgeworCS8qCisJICogSW50ZXJuYWwgY2hlY2tpbmcgaW4gY2FzZSB0aGUgZW50aXR5IHF1ZXN0IGJhcmZlZAorCSAqLworCWlmICgoZW50aXR5LT5ldHlwZSAhPSBYTUxfSU5URVJOQUxfUEFSQU1FVEVSX0VOVElUWSkgJiYKKwkgICAgKGVudGl0eS0+ZXR5cGUgIT0gWE1MX0VYVEVSTkFMX1BBUkFNRVRFUl9FTlRJVFkpKSB7CisJICAgIHhtbFdhcm5pbmdNc2coY3R4dCwgWE1MX1dBUl9VTkRFQ0xBUkVEX0VOVElUWSwKKwkJICAiSW50ZXJuYWw6ICUlJXM7IGlzIG5vdCBhIHBhcmFtZXRlciBlbnRpdHlcbiIsCisJCQkgIG5hbWUsIE5VTEwpOworCX0gZWxzZSBpZiAoY3R4dC0+aW5wdXQtPmZyZWUgIT0gZGVhbGxvY2JsYW5rc3dyYXBwZXIpIHsKKwkgICAgaW5wdXQgPSB4bWxOZXdCbGFua3NXcmFwcGVySW5wdXRTdHJlYW0oY3R4dCwgZW50aXR5KTsKKwkgICAgaWYgKHhtbFB1c2hJbnB1dChjdHh0LCBpbnB1dCkgPCAwKQorCQlyZXR1cm47CisJfSBlbHNlIHsKKwkgICAgLyoKKwkgICAgICogVE9ETyAhISEKKwkgICAgICogaGFuZGxlIHRoZSBleHRyYSBzcGFjZXMgYWRkZWQgYmVmb3JlIGFuZCBhZnRlcgorCSAgICAgKiBjLmYuIGh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy14bWwjYXMtUEUKKwkgICAgICovCisJICAgIGlucHV0ID0geG1sTmV3RW50aXR5SW5wdXRTdHJlYW0oY3R4dCwgZW50aXR5KTsKKwkgICAgaWYgKHhtbFB1c2hJbnB1dChjdHh0LCBpbnB1dCkgPCAwKQorCQlyZXR1cm47CisJICAgIGlmICgoZW50aXR5LT5ldHlwZSA9PSBYTUxfRVhURVJOQUxfUEFSQU1FVEVSX0VOVElUWSkgJiYKKwkJKENNUDUoQ1VSX1BUUiwgJzwnLCAnPycsICd4JywgJ20nLCAnbCcpKSAmJgorCQkoSVNfQkxBTktfQ0goTlhUKDUpKSkpIHsKKwkJeG1sUGFyc2VUZXh0RGVjbChjdHh0KTsKKwkJaWYgKGN0eHQtPmVyck5vID09CisJCSAgICBYTUxfRVJSX1VOU1VQUE9SVEVEX0VOQ09ESU5HKSB7CisJCSAgICAvKgorCQkgICAgICogVGhlIFhNTCBSRUMgaW5zdHJ1Y3RzIHVzIHRvIHN0b3AgcGFyc2luZworCQkgICAgICogcmlnaHQgaGVyZQorCQkgICAgICovCisJCSAgICBjdHh0LT5pbnN0YXRlID0gWE1MX1BBUlNFUl9FT0Y7CisJCSAgICByZXR1cm47CisJCX0KKwkgICAgfQorCX0KKyAgICB9CisgICAgY3R4dC0+aGFzUEVyZWZzID0gMTsKK30KKworLyoqCisgKiB4bWxMb2FkRW50aXR5Q29udGVudDoKKyAqIEBjdHh0OiAgYW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAZW50aXR5OiBhbiB1bmxvYWRlZCBzeXN0ZW0gZW50aXR5CisgKgorICogTG9hZCB0aGUgb3JpZ2luYWwgY29udGVudCBvZiB0aGUgZ2l2ZW4gc3lzdGVtIGVudGl0eSBmcm9tIHRoZQorICogRXh0ZXJuYWxJRC9TeXN0ZW1JRCBnaXZlbi4gVGhpcyBpcyB0byBiZSB1c2VkIGZvciBJbmNsdWRlZCBpbiBMaXRlcmFsCisgKiBodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMteG1sLyNpbmxpdGVyYWwgcHJvY2Vzc2luZyBvZiBlbnRpdGllcyByZWZlcmVuY2VzCisgKgorICogUmV0dXJucyAwIGluIGNhc2Ugb2Ygc3VjY2VzcyBhbmQgLTEgaW4gY2FzZSBvZiBmYWlsdXJlCisgKi8KK3N0YXRpYyBpbnQKK3htbExvYWRFbnRpdHlDb250ZW50KHhtbFBhcnNlckN0eHRQdHIgY3R4dCwgeG1sRW50aXR5UHRyIGVudGl0eSkgeworICAgIHhtbFBhcnNlcklucHV0UHRyIGlucHV0OworICAgIHhtbEJ1ZmZlclB0ciBidWY7CisgICAgaW50IGwsIGM7CisgICAgaW50IGNvdW50ID0gMDsKKworICAgIGlmICgoY3R4dCA9PSBOVUxMKSB8fCAoZW50aXR5ID09IE5VTEwpIHx8CisgICAgICAgICgoZW50aXR5LT5ldHlwZSAhPSBYTUxfRVhURVJOQUxfUEFSQU1FVEVSX0VOVElUWSkgJiYKKwkgKGVudGl0eS0+ZXR5cGUgIT0gWE1MX0VYVEVSTkFMX0dFTkVSQUxfUEFSU0VEX0VOVElUWSkpIHx8CisJKGVudGl0eS0+Y29udGVudCAhPSBOVUxMKSkgeworCXhtbEZhdGFsRXJyKGN0eHQsIFhNTF9FUlJfSU5URVJOQUxfRVJST1IsCisJICAgICAgICAgICAgInhtbExvYWRFbnRpdHlDb250ZW50IHBhcmFtZXRlciBlcnJvciIpOworICAgICAgICByZXR1cm4oLTEpOworICAgIH0KKworICAgIGlmICh4bWxQYXJzZXJEZWJ1Z0VudGl0aWVzKQorCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkiUmVhZGluZyAlcyBlbnRpdHkgY29udGVudCBpbnB1dFxuIiwgZW50aXR5LT5uYW1lKTsKKworICAgIGJ1ZiA9IHhtbEJ1ZmZlckNyZWF0ZSgpOworICAgIGlmIChidWYgPT0gTlVMTCkgeworCXhtbEZhdGFsRXJyKGN0eHQsIFhNTF9FUlJfSU5URVJOQUxfRVJST1IsCisJICAgICAgICAgICAgInhtbExvYWRFbnRpdHlDb250ZW50IHBhcmFtZXRlciBlcnJvciIpOworICAgICAgICByZXR1cm4oLTEpOworICAgIH0KKworICAgIGlucHV0ID0geG1sTmV3RW50aXR5SW5wdXRTdHJlYW0oY3R4dCwgZW50aXR5KTsKKyAgICBpZiAoaW5wdXQgPT0gTlVMTCkgeworCXhtbEZhdGFsRXJyKGN0eHQsIFhNTF9FUlJfSU5URVJOQUxfRVJST1IsCisJICAgICAgICAgICAgInhtbExvYWRFbnRpdHlDb250ZW50IGlucHV0IGVycm9yIik7CisJeG1sQnVmZmVyRnJlZShidWYpOworICAgICAgICByZXR1cm4oLTEpOworICAgIH0KKworICAgIC8qCisgICAgICogUHVzaCB0aGUgZW50aXR5IGFzIHRoZSBjdXJyZW50IGlucHV0LCByZWFkIGNoYXIgYnkgY2hhcgorICAgICAqIHNhdmluZyB0byB0aGUgYnVmZmVyIHVudGlsIHRoZSBlbmQgb2YgdGhlIGVudGl0eSBvciBhbiBlcnJvcgorICAgICAqLworICAgIGlmICh4bWxQdXNoSW5wdXQoY3R4dCwgaW5wdXQpIDwgMCkgeworICAgICAgICB4bWxCdWZmZXJGcmVlKGJ1Zik7CisJcmV0dXJuKC0xKTsKKyAgICB9CisKKyAgICBHUk9XOworICAgIGMgPSBDVVJfQ0hBUihsKTsKKyAgICB3aGlsZSAoKGN0eHQtPmlucHV0ID09IGlucHV0KSAmJiAoY3R4dC0+aW5wdXQtPmN1ciA8IGN0eHQtPmlucHV0LT5lbmQpICYmCisgICAgICAgICAgIChJU19DSEFSKGMpKSkgeworICAgICAgICB4bWxCdWZmZXJBZGQoYnVmLCBjdHh0LT5pbnB1dC0+Y3VyLCBsKTsKKwlpZiAoY291bnQrKyA+IFhNTF9QQVJTRVJfQ0hVTktfU0laRSkgeworCSAgICBjb3VudCA9IDA7CisJICAgIEdST1c7CisgICAgICAgICAgICBpZiAoY3R4dC0+aW5zdGF0ZSA9PSBYTUxfUEFSU0VSX0VPRikgeworICAgICAgICAgICAgICAgIHhtbEJ1ZmZlckZyZWUoYnVmKTsKKyAgICAgICAgICAgICAgICByZXR1cm4oLTEpOworICAgICAgICAgICAgfQorCX0KKwlORVhUTChsKTsKKwljID0gQ1VSX0NIQVIobCk7CisJaWYgKGMgPT0gMCkgeworCSAgICBjb3VudCA9IDA7CisJICAgIEdST1c7CisgICAgICAgICAgICBpZiAoY3R4dC0+aW5zdGF0ZSA9PSBYTUxfUEFSU0VSX0VPRikgeworICAgICAgICAgICAgICAgIHhtbEJ1ZmZlckZyZWUoYnVmKTsKKyAgICAgICAgICAgICAgICByZXR1cm4oLTEpOworICAgICAgICAgICAgfQorCSAgICBjID0gQ1VSX0NIQVIobCk7CisJfQorICAgIH0KKworICAgIGlmICgoY3R4dC0+aW5wdXQgPT0gaW5wdXQpICYmIChjdHh0LT5pbnB1dC0+Y3VyID49IGN0eHQtPmlucHV0LT5lbmQpKSB7CisgICAgICAgIHhtbFBvcElucHV0KGN0eHQpOworICAgIH0gZWxzZSBpZiAoIUlTX0NIQVIoYykpIHsKKyAgICAgICAgeG1sRmF0YWxFcnJNc2dJbnQoY3R4dCwgWE1MX0VSUl9JTlZBTElEX0NIQVIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICJ4bWxMb2FkRW50aXR5Q29udGVudDogaW52YWxpZCBjaGFyIHZhbHVlICVkXG4iLAorCSAgICAgICAgICAgICAgICAgIGMpOworCXhtbEJ1ZmZlckZyZWUoYnVmKTsKKwlyZXR1cm4oLTEpOworICAgIH0KKyAgICBlbnRpdHktPmNvbnRlbnQgPSBidWYtPmNvbnRlbnQ7CisgICAgYnVmLT5jb250ZW50ID0gTlVMTDsKKyAgICB4bWxCdWZmZXJGcmVlKGJ1Zik7CisKKyAgICByZXR1cm4oMCk7Cit9CisKKy8qKgorICogeG1sUGFyc2VTdHJpbmdQRVJlZmVyZW5jZToKKyAqIEBjdHh0OiAgYW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAc3RyOiAgYSBwb2ludGVyIHRvIGFuIGluZGV4IGluIHRoZSBzdHJpbmcKKyAqCisgKiBwYXJzZSBQRVJlZmVyZW5jZSBkZWNsYXJhdGlvbnMKKyAqCisgKiBbNjldIFBFUmVmZXJlbmNlIDo6PSAnJScgTmFtZSAnOycKKyAqCisgKiBbIFdGQzogTm8gUmVjdXJzaW9uIF0KKyAqIEEgcGFyc2VkIGVudGl0eSBtdXN0IG5vdCBjb250YWluIGEgcmVjdXJzaXZlCisgKiByZWZlcmVuY2UgdG8gaXRzZWxmLCBlaXRoZXIgZGlyZWN0bHkgb3IgaW5kaXJlY3RseS4KKyAqCisgKiBbIFdGQzogRW50aXR5IERlY2xhcmVkIF0KKyAqIEluIGEgZG9jdW1lbnQgd2l0aG91dCBhbnkgRFRELCBhIGRvY3VtZW50IHdpdGggb25seSBhbiBpbnRlcm5hbCBEVEQKKyAqIHN1YnNldCB3aGljaCBjb250YWlucyBubyBwYXJhbWV0ZXIgZW50aXR5IHJlZmVyZW5jZXMsIG9yIGEgZG9jdW1lbnQKKyAqIHdpdGggInN0YW5kYWxvbmU9J3llcyciLCAuLi4gIC4uLiBUaGUgZGVjbGFyYXRpb24gb2YgYSBwYXJhbWV0ZXIKKyAqIGVudGl0eSBtdXN0IHByZWNlZGUgYW55IHJlZmVyZW5jZSB0byBpdC4uLgorICoKKyAqIFsgVkM6IEVudGl0eSBEZWNsYXJlZCBdCisgKiBJbiBhIGRvY3VtZW50IHdpdGggYW4gZXh0ZXJuYWwgc3Vic2V0IG9yIGV4dGVybmFsIHBhcmFtZXRlciBlbnRpdGllcworICogd2l0aCAic3RhbmRhbG9uZT0nbm8nIiwgLi4uICAuLi4gVGhlIGRlY2xhcmF0aW9uIG9mIGEgcGFyYW1ldGVyIGVudGl0eQorICogbXVzdCBwcmVjZWRlIGFueSByZWZlcmVuY2UgdG8gaXQuLi4KKyAqCisgKiBbIFdGQzogSW4gRFREIF0KKyAqIFBhcmFtZXRlci1lbnRpdHkgcmVmZXJlbmNlcyBtYXkgb25seSBhcHBlYXIgaW4gdGhlIERURC4KKyAqIE5PVEU6IG1pc2xlYWRpbmcgYnV0IHRoaXMgaXMgaGFuZGxlZC4KKyAqCisgKiBSZXR1cm5zIHRoZSBzdHJpbmcgb2YgdGhlIGVudGl0eSBjb250ZW50LgorICogICAgICAgICBzdHIgaXMgdXBkYXRlZCB0byB0aGUgY3VycmVudCB2YWx1ZSBvZiB0aGUgaW5kZXgKKyAqLworc3RhdGljIHhtbEVudGl0eVB0cgoreG1sUGFyc2VTdHJpbmdQRVJlZmVyZW5jZSh4bWxQYXJzZXJDdHh0UHRyIGN0eHQsIGNvbnN0IHhtbENoYXIgKipzdHIpIHsKKyAgICBjb25zdCB4bWxDaGFyICpwdHI7CisgICAgeG1sQ2hhciBjdXI7CisgICAgeG1sQ2hhciAqbmFtZTsKKyAgICB4bWxFbnRpdHlQdHIgZW50aXR5ID0gTlVMTDsKKworICAgIGlmICgoc3RyID09IE5VTEwpIHx8ICgqc3RyID09IE5VTEwpKSByZXR1cm4oTlVMTCk7CisgICAgcHRyID0gKnN0cjsKKyAgICBjdXIgPSAqcHRyOworICAgIGlmIChjdXIgIT0gJyUnKQorICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgcHRyKys7CisgICAgbmFtZSA9IHhtbFBhcnNlU3RyaW5nTmFtZShjdHh0LCAmcHRyKTsKKyAgICBpZiAobmFtZSA9PSBOVUxMKSB7CisJeG1sRmF0YWxFcnJNc2coY3R4dCwgWE1MX0VSUl9OQU1FX1JFUVVJUkVELAorCQkgICAgICAgInhtbFBhcnNlU3RyaW5nUEVSZWZlcmVuY2U6IG5vIG5hbWVcbiIpOworCSpzdHIgPSBwdHI7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBjdXIgPSAqcHRyOworICAgIGlmIChjdXIgIT0gJzsnKSB7CisJeG1sRmF0YWxFcnIoY3R4dCwgWE1MX0VSUl9FTlRJVFlSRUZfU0VNSUNPTF9NSVNTSU5HLCBOVUxMKTsKKwl4bWxGcmVlKG5hbWUpOworCSpzdHIgPSBwdHI7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBwdHIrKzsKKworICAgIC8qCisgICAgICogSW5jcmVhdGUgdGhlIG51bWJlciBvZiBlbnRpdHkgcmVmZXJlbmNlcyBwYXJzZWQKKyAgICAgKi8KKyAgICBjdHh0LT5uYmVudGl0aWVzKys7CisKKyAgICAvKgorICAgICAqIFJlcXVlc3QgdGhlIGVudGl0eSBmcm9tIFNBWAorICAgICAqLworICAgIGlmICgoY3R4dC0+c2F4ICE9IE5VTEwpICYmCisJKGN0eHQtPnNheC0+Z2V0UGFyYW1ldGVyRW50aXR5ICE9IE5VTEwpKQorCWVudGl0eSA9IGN0eHQtPnNheC0+Z2V0UGFyYW1ldGVyRW50aXR5KGN0eHQtPnVzZXJEYXRhLCBuYW1lKTsKKyAgICBpZiAoY3R4dC0+aW5zdGF0ZSA9PSBYTUxfUEFSU0VSX0VPRikgeworCXhtbEZyZWUobmFtZSk7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBpZiAoZW50aXR5ID09IE5VTEwpIHsKKwkvKgorCSAqIFsgV0ZDOiBFbnRpdHkgRGVjbGFyZWQgXQorCSAqIEluIGEgZG9jdW1lbnQgd2l0aG91dCBhbnkgRFRELCBhIGRvY3VtZW50IHdpdGggb25seSBhbgorCSAqIGludGVybmFsIERURCBzdWJzZXQgd2hpY2ggY29udGFpbnMgbm8gcGFyYW1ldGVyIGVudGl0eQorCSAqIHJlZmVyZW5jZXMsIG9yIGEgZG9jdW1lbnQgd2l0aCAic3RhbmRhbG9uZT0neWVzJyIsIC4uLgorCSAqIC4uLiBUaGUgZGVjbGFyYXRpb24gb2YgYSBwYXJhbWV0ZXIgZW50aXR5IG11c3QgcHJlY2VkZQorCSAqIGFueSByZWZlcmVuY2UgdG8gaXQuLi4KKwkgKi8KKwlpZiAoKGN0eHQtPnN0YW5kYWxvbmUgPT0gMSkgfHwKKwkgICAgKChjdHh0LT5oYXNFeHRlcm5hbFN1YnNldCA9PSAwKSAmJiAoY3R4dC0+aGFzUEVyZWZzID09IDApKSkgeworCSAgICB4bWxGYXRhbEVyck1zZ1N0cihjdHh0LCBYTUxfRVJSX1VOREVDTEFSRURfRU5USVRZLAorCQkgIlBFUmVmZXJlbmNlOiAlJSVzOyBub3QgZm91bmRcbiIsIG5hbWUpOworCX0gZWxzZSB7CisJICAgIC8qCisJICAgICAqIFsgVkM6IEVudGl0eSBEZWNsYXJlZCBdCisJICAgICAqIEluIGEgZG9jdW1lbnQgd2l0aCBhbiBleHRlcm5hbCBzdWJzZXQgb3IgZXh0ZXJuYWwKKwkgICAgICogcGFyYW1ldGVyIGVudGl0aWVzIHdpdGggInN0YW5kYWxvbmU9J25vJyIsIC4uLgorCSAgICAgKiAuLi4gVGhlIGRlY2xhcmF0aW9uIG9mIGEgcGFyYW1ldGVyIGVudGl0eSBtdXN0CisJICAgICAqIHByZWNlZGUgYW55IHJlZmVyZW5jZSB0byBpdC4uLgorCSAgICAgKi8KKwkgICAgeG1sV2FybmluZ01zZyhjdHh0LCBYTUxfV0FSX1VOREVDTEFSRURfRU5USVRZLAorCQkJICAiUEVSZWZlcmVuY2U6ICUlJXM7IG5vdCBmb3VuZFxuIiwKKwkJCSAgbmFtZSwgTlVMTCk7CisJICAgIGN0eHQtPnZhbGlkID0gMDsKKwl9CisJeG1sUGFyc2VyRW50aXR5Q2hlY2soY3R4dCwgMCwgTlVMTCwgMCk7CisgICAgfSBlbHNlIHsKKwkvKgorCSAqIEludGVybmFsIGNoZWNraW5nIGluIGNhc2UgdGhlIGVudGl0eSBxdWVzdCBiYXJmZWQKKwkgKi8KKwlpZiAoKGVudGl0eS0+ZXR5cGUgIT0gWE1MX0lOVEVSTkFMX1BBUkFNRVRFUl9FTlRJVFkpICYmCisJICAgIChlbnRpdHktPmV0eXBlICE9IFhNTF9FWFRFUk5BTF9QQVJBTUVURVJfRU5USVRZKSkgeworCSAgICB4bWxXYXJuaW5nTXNnKGN0eHQsIFhNTF9XQVJfVU5ERUNMQVJFRF9FTlRJVFksCisJCQkgICIlJSVzOyBpcyBub3QgYSBwYXJhbWV0ZXIgZW50aXR5XG4iLAorCQkJICBuYW1lLCBOVUxMKTsKKwl9CisgICAgfQorICAgIGN0eHQtPmhhc1BFcmVmcyA9IDE7CisgICAgeG1sRnJlZShuYW1lKTsKKyAgICAqc3RyID0gcHRyOworICAgIHJldHVybihlbnRpdHkpOworfQorCisvKioKKyAqIHhtbFBhcnNlRG9jVHlwZURlY2w6CisgKiBAY3R4dDogIGFuIFhNTCBwYXJzZXIgY29udGV4dAorICoKKyAqIHBhcnNlIGEgRE9DVFlQRSBkZWNsYXJhdGlvbgorICoKKyAqIFsyOF0gZG9jdHlwZWRlY2wgOjo9ICc8IURPQ1RZUEUnIFMgTmFtZSAoUyBFeHRlcm5hbElEKT8gUz8KKyAqICAgICAgICAgICAgICAgICAgICAgICgnWycgKG1hcmt1cGRlY2wgfCBQRVJlZmVyZW5jZSB8IFMpKiAnXScgUz8pPyAnPicKKyAqCisgKiBbIFZDOiBSb290IEVsZW1lbnQgVHlwZSBdCisgKiBUaGUgTmFtZSBpbiB0aGUgZG9jdW1lbnQgdHlwZSBkZWNsYXJhdGlvbiBtdXN0IG1hdGNoIHRoZSBlbGVtZW50CisgKiB0eXBlIG9mIHRoZSByb290IGVsZW1lbnQuCisgKi8KKwordm9pZAoreG1sUGFyc2VEb2NUeXBlRGVjbCh4bWxQYXJzZXJDdHh0UHRyIGN0eHQpIHsKKyAgICBjb25zdCB4bWxDaGFyICpuYW1lID0gTlVMTDsKKyAgICB4bWxDaGFyICpFeHRlcm5hbElEID0gTlVMTDsKKyAgICB4bWxDaGFyICpVUkkgPSBOVUxMOworCisgICAgLyoKKyAgICAgKiBXZSBrbm93IHRoYXQgJzwhRE9DVFlQRScgaGFzIGJlZW4gZGV0ZWN0ZWQuCisgICAgICovCisgICAgU0tJUCg5KTsKKworICAgIFNLSVBfQkxBTktTOworCisgICAgLyoKKyAgICAgKiBQYXJzZSB0aGUgRE9DVFlQRSBuYW1lLgorICAgICAqLworICAgIG5hbWUgPSB4bWxQYXJzZU5hbWUoY3R4dCk7CisgICAgaWYgKG5hbWUgPT0gTlVMTCkgeworCXhtbEZhdGFsRXJyTXNnKGN0eHQsIFhNTF9FUlJfTkFNRV9SRVFVSVJFRCwKKwkJICAgICAgICJ4bWxQYXJzZURvY1R5cGVEZWNsIDogbm8gRE9DVFlQRSBuYW1lICFcbiIpOworICAgIH0KKyAgICBjdHh0LT5pbnRTdWJOYW1lID0gbmFtZTsKKworICAgIFNLSVBfQkxBTktTOworCisgICAgLyoKKyAgICAgKiBDaGVjayBmb3IgU3lzdGVtSUQgYW5kIEV4dGVybmFsSUQKKyAgICAgKi8KKyAgICBVUkkgPSB4bWxQYXJzZUV4dGVybmFsSUQoY3R4dCwgJkV4dGVybmFsSUQsIDEpOworCisgICAgaWYgKChVUkkgIT0gTlVMTCkgfHwgKEV4dGVybmFsSUQgIT0gTlVMTCkpIHsKKyAgICAgICAgY3R4dC0+aGFzRXh0ZXJuYWxTdWJzZXQgPSAxOworICAgIH0KKyAgICBjdHh0LT5leHRTdWJVUkkgPSBVUkk7CisgICAgY3R4dC0+ZXh0U3ViU3lzdGVtID0gRXh0ZXJuYWxJRDsKKworICAgIFNLSVBfQkxBTktTOworCisgICAgLyoKKyAgICAgKiBDcmVhdGUgYW5kIHVwZGF0ZSB0aGUgaW50ZXJuYWwgc3Vic2V0LgorICAgICAqLworICAgIGlmICgoY3R4dC0+c2F4ICE9IE5VTEwpICYmIChjdHh0LT5zYXgtPmludGVybmFsU3Vic2V0ICE9IE5VTEwpICYmCisJKCFjdHh0LT5kaXNhYmxlU0FYKSkKKwljdHh0LT5zYXgtPmludGVybmFsU3Vic2V0KGN0eHQtPnVzZXJEYXRhLCBuYW1lLCBFeHRlcm5hbElELCBVUkkpOworICAgIGlmIChjdHh0LT5pbnN0YXRlID09IFhNTF9QQVJTRVJfRU9GKQorCXJldHVybjsKKworICAgIC8qCisgICAgICogSXMgdGhlcmUgYW55IGludGVybmFsIHN1YnNldCBkZWNsYXJhdGlvbnMgPworICAgICAqIHRoZXkgYXJlIGhhbmRsZWQgc2VwYXJhdGVseSBpbiB4bWxQYXJzZUludGVybmFsU3Vic2V0KCkKKyAgICAgKi8KKyAgICBpZiAoUkFXID09ICdbJykKKwlyZXR1cm47CisKKyAgICAvKgorICAgICAqIFdlIHNob3VsZCBiZSBhdCB0aGUgZW5kIG9mIHRoZSBET0NUWVBFIGRlY2xhcmF0aW9uLgorICAgICAqLworICAgIGlmIChSQVcgIT0gJz4nKSB7CisJeG1sRmF0YWxFcnIoY3R4dCwgWE1MX0VSUl9ET0NUWVBFX05PVF9GSU5JU0hFRCwgTlVMTCk7CisgICAgfQorICAgIE5FWFQ7Cit9CisKKy8qKgorICogeG1sUGFyc2VJbnRlcm5hbFN1YnNldDoKKyAqIEBjdHh0OiAgYW4gWE1MIHBhcnNlciBjb250ZXh0CisgKgorICogcGFyc2UgdGhlIGludGVybmFsIHN1YnNldCBkZWNsYXJhdGlvbgorICoKKyAqIFsyOCBlbmRdICgnWycgKG1hcmt1cGRlY2wgfCBQRVJlZmVyZW5jZSB8IFMpKiAnXScgUz8pPyAnPicKKyAqLworCitzdGF0aWMgdm9pZAoreG1sUGFyc2VJbnRlcm5hbFN1YnNldCh4bWxQYXJzZXJDdHh0UHRyIGN0eHQpIHsKKyAgICAvKgorICAgICAqIElzIHRoZXJlIGFueSBEVEQgZGVmaW5pdGlvbiA/CisgICAgICovCisgICAgaWYgKFJBVyA9PSAnWycpIHsKKyAgICAgICAgY3R4dC0+aW5zdGF0ZSA9IFhNTF9QQVJTRVJfRFREOworICAgICAgICBORVhUOworCS8qCisJICogUGFyc2UgdGhlIHN1Y2Nlc3Npb24gb2YgTWFya3VwIGRlY2xhcmF0aW9ucyBhbmQKKwkgKiBQRVJlZmVyZW5jZXMuCisJICogU3Vic2VxdWVuY2UgKG1hcmt1cGRlY2wgfCBQRVJlZmVyZW5jZSB8IFMpKgorCSAqLworCXdoaWxlICgoUkFXICE9ICddJykgJiYgKGN0eHQtPmluc3RhdGUgIT0gWE1MX1BBUlNFUl9FT0YpKSB7CisJICAgIGNvbnN0IHhtbENoYXIgKmNoZWNrID0gQ1VSX1BUUjsKKwkgICAgdW5zaWduZWQgaW50IGNvbnMgPSBjdHh0LT5pbnB1dC0+Y29uc3VtZWQ7CisKKwkgICAgU0tJUF9CTEFOS1M7CisJICAgIHhtbFBhcnNlTWFya3VwRGVjbChjdHh0KTsKKwkgICAgeG1sUGFyc2VQRVJlZmVyZW5jZShjdHh0KTsKKworCSAgICAvKgorCSAgICAgKiBQb3AtdXAgb2YgZmluaXNoZWQgZW50aXRpZXMuCisJICAgICAqLworCSAgICB3aGlsZSAoKFJBVyA9PSAwKSAmJiAoY3R4dC0+aW5wdXROciA+IDEpKQorCQl4bWxQb3BJbnB1dChjdHh0KTsKKworCSAgICBpZiAoKENVUl9QVFIgPT0gY2hlY2spICYmIChjb25zID09IGN0eHQtPmlucHV0LT5jb25zdW1lZCkpIHsKKwkJeG1sRmF0YWxFcnIoY3R4dCwgWE1MX0VSUl9JTlRFUk5BTF9FUlJPUiwKKwkgICAgICJ4bWxQYXJzZUludGVybmFsU3Vic2V0OiBlcnJvciBkZXRlY3RlZCBpbiBNYXJrdXAgZGVjbGFyYXRpb25cbiIpOworCQlicmVhazsKKwkgICAgfQorCX0KKwlpZiAoUkFXID09ICddJykgeworCSAgICBORVhUOworCSAgICBTS0lQX0JMQU5LUzsKKwl9CisgICAgfQorCisgICAgLyoKKyAgICAgKiBXZSBzaG91bGQgYmUgYXQgdGhlIGVuZCBvZiB0aGUgRE9DVFlQRSBkZWNsYXJhdGlvbi4KKyAgICAgKi8KKyAgICBpZiAoUkFXICE9ICc+JykgeworCXhtbEZhdGFsRXJyKGN0eHQsIFhNTF9FUlJfRE9DVFlQRV9OT1RfRklOSVNIRUQsIE5VTEwpOworICAgIH0KKyAgICBORVhUOworfQorCisjaWZkZWYgTElCWE1MX1NBWDFfRU5BQkxFRAorLyoqCisgKiB4bWxQYXJzZUF0dHJpYnV0ZToKKyAqIEBjdHh0OiAgYW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAdmFsdWU6ICBhIHhtbENoYXIgKiogdXNlZCB0byBzdG9yZSB0aGUgdmFsdWUgb2YgdGhlIGF0dHJpYnV0ZQorICoKKyAqIHBhcnNlIGFuIGF0dHJpYnV0ZQorICoKKyAqIFs0MV0gQXR0cmlidXRlIDo6PSBOYW1lIEVxIEF0dFZhbHVlCisgKgorICogWyBXRkM6IE5vIEV4dGVybmFsIEVudGl0eSBSZWZlcmVuY2VzIF0KKyAqIEF0dHJpYnV0ZSB2YWx1ZXMgY2Fubm90IGNvbnRhaW4gZGlyZWN0IG9yIGluZGlyZWN0IGVudGl0eSByZWZlcmVuY2VzCisgKiB0byBleHRlcm5hbCBlbnRpdGllcy4KKyAqCisgKiBbIFdGQzogTm8gPCBpbiBBdHRyaWJ1dGUgVmFsdWVzIF0KKyAqIFRoZSByZXBsYWNlbWVudCB0ZXh0IG9mIGFueSBlbnRpdHkgcmVmZXJyZWQgdG8gZGlyZWN0bHkgb3IgaW5kaXJlY3RseSBpbgorICogYW4gYXR0cmlidXRlIHZhbHVlIChvdGhlciB0aGFuICImbHQ7IikgbXVzdCBub3QgY29udGFpbiBhIDwuCisgKgorICogWyBWQzogQXR0cmlidXRlIFZhbHVlIFR5cGUgXQorICogVGhlIGF0dHJpYnV0ZSBtdXN0IGhhdmUgYmVlbiBkZWNsYXJlZDsgdGhlIHZhbHVlIG11c3QgYmUgb2YgdGhlIHR5cGUKKyAqIGRlY2xhcmVkIGZvciBpdC4KKyAqCisgKiBbMjVdIEVxIDo6PSBTPyAnPScgUz8KKyAqCisgKiBXaXRoIG5hbWVzcGFjZToKKyAqCisgKiBbTlMgMTFdIEF0dHJpYnV0ZSA6Oj0gUU5hbWUgRXEgQXR0VmFsdWUKKyAqCisgKiBBbHNvIHRoZSBjYXNlIFFOYW1lID09IHhtbG5zOj8/PyBpcyBoYW5kbGVkIGluZGVwZW5kZW50bHkgYXMgYSBuYW1lc3BhY2UKKyAqIGRlZmluaXRpb24uCisgKgorICogUmV0dXJucyB0aGUgYXR0cmlidXRlIG5hbWUsIGFuZCB0aGUgdmFsdWUgaW4gKnZhbHVlLgorICovCisKK2NvbnN0IHhtbENoYXIgKgoreG1sUGFyc2VBdHRyaWJ1dGUoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0LCB4bWxDaGFyICoqdmFsdWUpIHsKKyAgICBjb25zdCB4bWxDaGFyICpuYW1lOworICAgIHhtbENoYXIgKnZhbDsKKworICAgICp2YWx1ZSA9IE5VTEw7CisgICAgR1JPVzsKKyAgICBuYW1lID0geG1sUGFyc2VOYW1lKGN0eHQpOworICAgIGlmIChuYW1lID09IE5VTEwpIHsKKwl4bWxGYXRhbEVyck1zZyhjdHh0LCBYTUxfRVJSX05BTUVfUkVRVUlSRUQsCisJICAgICAgICAgICAgICAgImVycm9yIHBhcnNpbmcgYXR0cmlidXRlIG5hbWVcbiIpOworICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgfQorCisgICAgLyoKKyAgICAgKiByZWFkIHRoZSB2YWx1ZQorICAgICAqLworICAgIFNLSVBfQkxBTktTOworICAgIGlmIChSQVcgPT0gJz0nKSB7CisgICAgICAgIE5FWFQ7CisJU0tJUF9CTEFOS1M7CisJdmFsID0geG1sUGFyc2VBdHRWYWx1ZShjdHh0KTsKKwljdHh0LT5pbnN0YXRlID0gWE1MX1BBUlNFUl9DT05URU5UOworICAgIH0gZWxzZSB7CisJeG1sRmF0YWxFcnJNc2dTdHIoY3R4dCwgWE1MX0VSUl9BVFRSSUJVVEVfV0lUSE9VVF9WQUxVRSwKKwkgICAgICAgIlNwZWNpZmljYXRpb24gbWFuZGF0ZSB2YWx1ZSBmb3IgYXR0cmlidXRlICVzXG4iLCBuYW1lKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorCisgICAgLyoKKyAgICAgKiBDaGVjayB0aGF0IHhtbDpsYW5nIGNvbmZvcm1zIHRvIHRoZSBzcGVjaWZpY2F0aW9uCisgICAgICogTm8gbW9yZSByZWdpc3RlcmVkIGFzIGFuIGVycm9yLCBqdXN0IGdlbmVyYXRlIGEgd2FybmluZyBub3cKKyAgICAgKiBzaW5jZSB0aGlzIHdhcyBkZXByZWNhdGVkIGluIFhNTCBzZWNvbmQgZWRpdGlvbgorICAgICAqLworICAgIGlmICgoY3R4dC0+cGVkYW50aWMpICYmICh4bWxTdHJFcXVhbChuYW1lLCBCQURfQ0FTVCAieG1sOmxhbmciKSkpIHsKKwlpZiAoIXhtbENoZWNrTGFuZ3VhZ2VJRCh2YWwpKSB7CisJICAgIHhtbFdhcm5pbmdNc2coY3R4dCwgWE1MX1dBUl9MQU5HX1ZBTFVFLAorCQkgICAgICAgICAgIk1hbGZvcm1lZCB2YWx1ZSBmb3IgeG1sOmxhbmcgOiAlc1xuIiwKKwkJCSAgdmFsLCBOVUxMKTsKKwl9CisgICAgfQorCisgICAgLyoKKyAgICAgKiBDaGVjayB0aGF0IHhtbDpzcGFjZSBjb25mb3JtcyB0byB0aGUgc3BlY2lmaWNhdGlvbgorICAgICAqLworICAgIGlmICh4bWxTdHJFcXVhbChuYW1lLCBCQURfQ0FTVCAieG1sOnNwYWNlIikpIHsKKwlpZiAoeG1sU3RyRXF1YWwodmFsLCBCQURfQ0FTVCAiZGVmYXVsdCIpKQorCSAgICAqKGN0eHQtPnNwYWNlKSA9IDA7CisJZWxzZSBpZiAoeG1sU3RyRXF1YWwodmFsLCBCQURfQ0FTVCAicHJlc2VydmUiKSkKKwkgICAgKihjdHh0LT5zcGFjZSkgPSAxOworCWVsc2UgeworCQl4bWxXYXJuaW5nTXNnKGN0eHQsIFhNTF9XQVJfU1BBQ0VfVkFMVUUsCisiSW52YWxpZCB2YWx1ZSBcIiVzXCIgZm9yIHhtbDpzcGFjZSA6IFwiZGVmYXVsdFwiIG9yIFwicHJlc2VydmVcIiBleHBlY3RlZFxuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbCwgTlVMTCk7CisJfQorICAgIH0KKworICAgICp2YWx1ZSA9IHZhbDsKKyAgICByZXR1cm4obmFtZSk7Cit9CisKKy8qKgorICogeG1sUGFyc2VTdGFydFRhZzoKKyAqIEBjdHh0OiAgYW4gWE1MIHBhcnNlciBjb250ZXh0CisgKgorICogcGFyc2UgYSBzdGFydCBvZiB0YWcgZWl0aGVyIGZvciBydWxlIGVsZW1lbnQgb3IKKyAqIEVtcHR5RWxlbWVudC4gSW4gYm90aCBjYXNlIHdlIGRvbid0IHBhcnNlIHRoZSB0YWcgY2xvc2luZyBjaGFycy4KKyAqCisgKiBbNDBdIFNUYWcgOjo9ICc8JyBOYW1lIChTIEF0dHJpYnV0ZSkqIFM/ICc+JworICoKKyAqIFsgV0ZDOiBVbmlxdWUgQXR0IFNwZWMgXQorICogTm8gYXR0cmlidXRlIG5hbWUgbWF5IGFwcGVhciBtb3JlIHRoYW4gb25jZSBpbiB0aGUgc2FtZSBzdGFydC10YWcgb3IKKyAqIGVtcHR5LWVsZW1lbnQgdGFnLgorICoKKyAqIFs0NF0gRW1wdHlFbGVtVGFnIDo6PSAnPCcgTmFtZSAoUyBBdHRyaWJ1dGUpKiBTPyAnLz4nCisgKgorICogWyBXRkM6IFVuaXF1ZSBBdHQgU3BlYyBdCisgKiBObyBhdHRyaWJ1dGUgbmFtZSBtYXkgYXBwZWFyIG1vcmUgdGhhbiBvbmNlIGluIHRoZSBzYW1lIHN0YXJ0LXRhZyBvcgorICogZW1wdHktZWxlbWVudCB0YWcuCisgKgorICogV2l0aCBuYW1lc3BhY2U6CisgKgorICogW05TIDhdIFNUYWcgOjo9ICc8JyBRTmFtZSAoUyBBdHRyaWJ1dGUpKiBTPyAnPicKKyAqCisgKiBbTlMgMTBdIEVtcHR5RWxlbWVudCA6Oj0gJzwnIFFOYW1lIChTIEF0dHJpYnV0ZSkqIFM/ICcvPicKKyAqCisgKiBSZXR1cm5zIHRoZSBlbGVtZW50IG5hbWUgcGFyc2VkCisgKi8KKworY29uc3QgeG1sQ2hhciAqCit4bWxQYXJzZVN0YXJ0VGFnKHhtbFBhcnNlckN0eHRQdHIgY3R4dCkgeworICAgIGNvbnN0IHhtbENoYXIgKm5hbWU7CisgICAgY29uc3QgeG1sQ2hhciAqYXR0bmFtZTsKKyAgICB4bWxDaGFyICphdHR2YWx1ZTsKKyAgICBjb25zdCB4bWxDaGFyICoqYXR0cyA9IGN0eHQtPmF0dHM7CisgICAgaW50IG5iYXR0cyA9IDA7CisgICAgaW50IG1heGF0dHMgPSBjdHh0LT5tYXhhdHRzOworICAgIGludCBpOworCisgICAgaWYgKFJBVyAhPSAnPCcpIHJldHVybihOVUxMKTsKKyAgICBORVhUMTsKKworICAgIG5hbWUgPSB4bWxQYXJzZU5hbWUoY3R4dCk7CisgICAgaWYgKG5hbWUgPT0gTlVMTCkgeworCXhtbEZhdGFsRXJyTXNnKGN0eHQsIFhNTF9FUlJfTkFNRV9SRVFVSVJFRCwKKwkgICAgICJ4bWxQYXJzZVN0YXJ0VGFnOiBpbnZhbGlkIGVsZW1lbnQgbmFtZVxuIik7CisgICAgICAgIHJldHVybihOVUxMKTsKKyAgICB9CisKKyAgICAvKgorICAgICAqIE5vdyBwYXJzZSB0aGUgYXR0cmlidXRlcywgaXQgZW5kcyB1cCB3aXRoIHRoZSBlbmRpbmcKKyAgICAgKgorICAgICAqIChTIEF0dHJpYnV0ZSkqIFM/CisgICAgICovCisgICAgU0tJUF9CTEFOS1M7CisgICAgR1JPVzsKKworICAgIHdoaWxlICgoKFJBVyAhPSAnPicpICYmCisJICAgKChSQVcgIT0gJy8nKSB8fCAoTlhUKDEpICE9ICc+JykpICYmCisJICAgKElTX0JZVEVfQ0hBUihSQVcpKSkgJiYgKGN0eHQtPmluc3RhdGUgIT0gWE1MX1BBUlNFUl9FT0YpKSB7CisJY29uc3QgeG1sQ2hhciAqcSA9IENVUl9QVFI7CisJdW5zaWduZWQgaW50IGNvbnMgPSBjdHh0LT5pbnB1dC0+Y29uc3VtZWQ7CisKKwlhdHRuYW1lID0geG1sUGFyc2VBdHRyaWJ1dGUoY3R4dCwgJmF0dHZhbHVlKTsKKyAgICAgICAgaWYgKChhdHRuYW1lICE9IE5VTEwpICYmIChhdHR2YWx1ZSAhPSBOVUxMKSkgeworCSAgICAvKgorCSAgICAgKiBbIFdGQzogVW5pcXVlIEF0dCBTcGVjIF0KKwkgICAgICogTm8gYXR0cmlidXRlIG5hbWUgbWF5IGFwcGVhciBtb3JlIHRoYW4gb25jZSBpbiB0aGUgc2FtZQorCSAgICAgKiBzdGFydC10YWcgb3IgZW1wdHktZWxlbWVudCB0YWcuCisJICAgICAqLworCSAgICBmb3IgKGkgPSAwOyBpIDwgbmJhdHRzO2kgKz0gMikgeworCSAgICAgICAgaWYgKHhtbFN0ckVxdWFsKGF0dHNbaV0sIGF0dG5hbWUpKSB7CisJCSAgICB4bWxFcnJBdHRyaWJ1dGVEdXAoY3R4dCwgTlVMTCwgYXR0bmFtZSk7CisJCSAgICB4bWxGcmVlKGF0dHZhbHVlKTsKKwkJICAgIGdvdG8gZmFpbGVkOworCQl9CisJICAgIH0KKwkgICAgLyoKKwkgICAgICogQWRkIHRoZSBwYWlyIHRvIGF0dHMKKwkgICAgICovCisJICAgIGlmIChhdHRzID09IE5VTEwpIHsKKwkgICAgICAgIG1heGF0dHMgPSAyMjsgLyogYWxsb3cgZm9yIDEwIGF0dHJzIGJ5IGRlZmF1bHQgKi8KKwkgICAgICAgIGF0dHMgPSAoY29uc3QgeG1sQ2hhciAqKikKKwkJICAgICAgIHhtbE1hbGxvYyhtYXhhdHRzICogc2l6ZW9mKHhtbENoYXIgKikpOworCQlpZiAoYXR0cyA9PSBOVUxMKSB7CisJCSAgICB4bWxFcnJNZW1vcnkoY3R4dCwgTlVMTCk7CisJCSAgICBpZiAoYXR0dmFsdWUgIT0gTlVMTCkKKwkJCXhtbEZyZWUoYXR0dmFsdWUpOworCQkgICAgZ290byBmYWlsZWQ7CisJCX0KKwkJY3R4dC0+YXR0cyA9IGF0dHM7CisJCWN0eHQtPm1heGF0dHMgPSBtYXhhdHRzOworCSAgICB9IGVsc2UgaWYgKG5iYXR0cyArIDQgPiBtYXhhdHRzKSB7CisJICAgICAgICBjb25zdCB4bWxDaGFyICoqbjsKKworCSAgICAgICAgbWF4YXR0cyAqPSAyOworCSAgICAgICAgbiA9IChjb25zdCB4bWxDaGFyICoqKSB4bWxSZWFsbG9jKCh2b2lkICopIGF0dHMsCisJCQkJCSAgICAgbWF4YXR0cyAqIHNpemVvZihjb25zdCB4bWxDaGFyICopKTsKKwkJaWYgKG4gPT0gTlVMTCkgeworCQkgICAgeG1sRXJyTWVtb3J5KGN0eHQsIE5VTEwpOworCQkgICAgaWYgKGF0dHZhbHVlICE9IE5VTEwpCisJCQl4bWxGcmVlKGF0dHZhbHVlKTsKKwkJICAgIGdvdG8gZmFpbGVkOworCQl9CisJCWF0dHMgPSBuOworCQljdHh0LT5hdHRzID0gYXR0czsKKwkJY3R4dC0+bWF4YXR0cyA9IG1heGF0dHM7CisJICAgIH0KKwkgICAgYXR0c1tuYmF0dHMrK10gPSBhdHRuYW1lOworCSAgICBhdHRzW25iYXR0cysrXSA9IGF0dHZhbHVlOworCSAgICBhdHRzW25iYXR0c10gPSBOVUxMOworCSAgICBhdHRzW25iYXR0cyArIDFdID0gTlVMTDsKKwl9IGVsc2UgeworCSAgICBpZiAoYXR0dmFsdWUgIT0gTlVMTCkKKwkJeG1sRnJlZShhdHR2YWx1ZSk7CisJfQorCitmYWlsZWQ6CisKKwlHUk9XCisJaWYgKChSQVcgPT0gJz4nKSB8fCAoKChSQVcgPT0gJy8nKSAmJiAoTlhUKDEpID09ICc+JykpKSkKKwkgICAgYnJlYWs7CisJaWYgKCFJU19CTEFOS19DSChSQVcpKSB7CisJICAgIHhtbEZhdGFsRXJyTXNnKGN0eHQsIFhNTF9FUlJfU1BBQ0VfUkVRVUlSRUQsCisJCQkgICAiYXR0cmlidXRlcyBjb25zdHJ1Y3QgZXJyb3JcbiIpOworCX0KKwlTS0lQX0JMQU5LUzsKKyAgICAgICAgaWYgKChjb25zID09IGN0eHQtPmlucHV0LT5jb25zdW1lZCkgJiYgKHEgPT0gQ1VSX1BUUikgJiYKKyAgICAgICAgICAgIChhdHRuYW1lID09IE5VTEwpICYmIChhdHR2YWx1ZSA9PSBOVUxMKSkgeworCSAgICB4bWxGYXRhbEVyck1zZyhjdHh0LCBYTUxfRVJSX0lOVEVSTkFMX0VSUk9SLAorCQkJICAgInhtbFBhcnNlU3RhcnRUYWc6IHByb2JsZW0gcGFyc2luZyBhdHRyaWJ1dGVzXG4iKTsKKwkgICAgYnJlYWs7CisJfQorCVNIUklOSzsKKyAgICAgICAgR1JPVzsKKyAgICB9CisKKyAgICAvKgorICAgICAqIFNBWDogU3RhcnQgb2YgRWxlbWVudCAhCisgICAgICovCisgICAgaWYgKChjdHh0LT5zYXggIT0gTlVMTCkgJiYgKGN0eHQtPnNheC0+c3RhcnRFbGVtZW50ICE9IE5VTEwpICYmCisJKCFjdHh0LT5kaXNhYmxlU0FYKSkgeworCWlmIChuYmF0dHMgPiAwKQorCSAgICBjdHh0LT5zYXgtPnN0YXJ0RWxlbWVudChjdHh0LT51c2VyRGF0YSwgbmFtZSwgYXR0cyk7CisJZWxzZQorCSAgICBjdHh0LT5zYXgtPnN0YXJ0RWxlbWVudChjdHh0LT51c2VyRGF0YSwgbmFtZSwgTlVMTCk7CisgICAgfQorCisgICAgaWYgKGF0dHMgIT0gTlVMTCkgeworICAgICAgICAvKiBGcmVlIG9ubHkgdGhlIGNvbnRlbnQgc3RyaW5ncyAqLworICAgICAgICBmb3IgKGkgPSAxO2kgPCBuYmF0dHM7aSs9MikKKwkgICAgaWYgKGF0dHNbaV0gIT0gTlVMTCkKKwkgICAgICAgeG1sRnJlZSgoeG1sQ2hhciAqKSBhdHRzW2ldKTsKKyAgICB9CisgICAgcmV0dXJuKG5hbWUpOworfQorCisvKioKKyAqIHhtbFBhcnNlRW5kVGFnMToKKyAqIEBjdHh0OiAgYW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAbGluZTogIGxpbmUgb2YgdGhlIHN0YXJ0IHRhZworICogQG5zTnI6ICBudW1iZXIgb2YgbmFtZXNwYWNlcyBvbiB0aGUgc3RhcnQgdGFnCisgKgorICogcGFyc2UgYW4gZW5kIG9mIHRhZworICoKKyAqIFs0Ml0gRVRhZyA6Oj0gJzwvJyBOYW1lIFM/ICc+JworICoKKyAqIFdpdGggbmFtZXNwYWNlCisgKgorICogW05TIDldIEVUYWcgOjo9ICc8LycgUU5hbWUgUz8gJz4nCisgKi8KKworc3RhdGljIHZvaWQKK3htbFBhcnNlRW5kVGFnMSh4bWxQYXJzZXJDdHh0UHRyIGN0eHQsIGludCBsaW5lKSB7CisgICAgY29uc3QgeG1sQ2hhciAqbmFtZTsKKworICAgIEdST1c7CisgICAgaWYgKChSQVcgIT0gJzwnKSB8fCAoTlhUKDEpICE9ICcvJykpIHsKKwl4bWxGYXRhbEVyck1zZyhjdHh0LCBYTUxfRVJSX0xUU0xBU0hfUkVRVUlSRUQsCisJCSAgICAgICAieG1sUGFyc2VFbmRUYWc6ICc8Lycgbm90IGZvdW5kXG4iKTsKKwlyZXR1cm47CisgICAgfQorICAgIFNLSVAoMik7CisKKyAgICBuYW1lID0geG1sUGFyc2VOYW1lQW5kQ29tcGFyZShjdHh0LGN0eHQtPm5hbWUpOworCisgICAgLyoKKyAgICAgKiBXZSBzaG91bGQgZGVmaW5pdGVseSBiZSBhdCB0aGUgZW5kaW5nICJTPyAnPiciIHBhcnQKKyAgICAgKi8KKyAgICBHUk9XOworICAgIFNLSVBfQkxBTktTOworICAgIGlmICgoIUlTX0JZVEVfQ0hBUihSQVcpKSB8fCAoUkFXICE9ICc+JykpIHsKKwl4bWxGYXRhbEVycihjdHh0LCBYTUxfRVJSX0dUX1JFUVVJUkVELCBOVUxMKTsKKyAgICB9IGVsc2UKKwlORVhUMTsKKworICAgIC8qCisgICAgICogWyBXRkM6IEVsZW1lbnQgVHlwZSBNYXRjaCBdCisgICAgICogVGhlIE5hbWUgaW4gYW4gZWxlbWVudCdzIGVuZC10YWcgbXVzdCBtYXRjaCB0aGUgZWxlbWVudCB0eXBlIGluIHRoZQorICAgICAqIHN0YXJ0LXRhZy4KKyAgICAgKgorICAgICAqLworICAgIGlmIChuYW1lICE9ICh4bWxDaGFyKikxKSB7CisgICAgICAgIGlmIChuYW1lID09IE5VTEwpIG5hbWUgPSBCQURfQ0FTVCAidW5wYXJzZWFibGUiOworICAgICAgICB4bWxGYXRhbEVyck1zZ1N0ckludFN0cihjdHh0LCBYTUxfRVJSX1RBR19OQU1FX01JU01BVENILAorCQkgICAgICJPcGVuaW5nIGFuZCBlbmRpbmcgdGFnIG1pc21hdGNoOiAlcyBsaW5lICVkIGFuZCAlc1xuIiwKKwkJICAgICAgICAgICAgICAgIGN0eHQtPm5hbWUsIGxpbmUsIG5hbWUpOworICAgIH0KKworICAgIC8qCisgICAgICogU0FYOiBFbmQgb2YgVGFnCisgICAgICovCisgICAgaWYgKChjdHh0LT5zYXggIT0gTlVMTCkgJiYgKGN0eHQtPnNheC0+ZW5kRWxlbWVudCAhPSBOVUxMKSAmJgorCSghY3R4dC0+ZGlzYWJsZVNBWCkpCisgICAgICAgIGN0eHQtPnNheC0+ZW5kRWxlbWVudChjdHh0LT51c2VyRGF0YSwgY3R4dC0+bmFtZSk7CisKKyAgICBuYW1lUG9wKGN0eHQpOworICAgIHNwYWNlUG9wKGN0eHQpOworICAgIHJldHVybjsKK30KKworLyoqCisgKiB4bWxQYXJzZUVuZFRhZzoKKyAqIEBjdHh0OiAgYW4gWE1MIHBhcnNlciBjb250ZXh0CisgKgorICogcGFyc2UgYW4gZW5kIG9mIHRhZworICoKKyAqIFs0Ml0gRVRhZyA6Oj0gJzwvJyBOYW1lIFM/ICc+JworICoKKyAqIFdpdGggbmFtZXNwYWNlCisgKgorICogW05TIDldIEVUYWcgOjo9ICc8LycgUU5hbWUgUz8gJz4nCisgKi8KKwordm9pZAoreG1sUGFyc2VFbmRUYWcoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0KSB7CisgICAgeG1sUGFyc2VFbmRUYWcxKGN0eHQsIDApOworfQorI2VuZGlmIC8qIExJQlhNTF9TQVgxX0VOQUJMRUQgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJICAgICAgU0FYIDIgc3BlY2lmaWMgb3BlcmF0aW9ucwkJCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qCisgKiB4bWxHZXROYW1lc3BhY2U6CisgKiBAY3R4dDogIGFuIFhNTCBwYXJzZXIgY29udGV4dAorICogQHByZWZpeDogIHRoZSBwcmVmaXggdG8gbG9va3VwCisgKgorICogTG9va3VwIHRoZSBuYW1lc3BhY2UgbmFtZSBmb3IgdGhlIEBwcmVmaXggKHdoaWNoIGNhIGJlIE5VTEwpCisgKiBUaGUgcHJlZml4IG11c3QgY29tZSBmcm9tIHRoZSBAY3R4dC0+ZGljdCBkaWN0aW9ubmFyeQorICoKKyAqIFJldHVybnMgdGhlIG5hbWVzcGFjZSBuYW1lIG9yIE5VTEwgaWYgbm90IGJvdW5kCisgKi8KK3N0YXRpYyBjb25zdCB4bWxDaGFyICoKK3htbEdldE5hbWVzcGFjZSh4bWxQYXJzZXJDdHh0UHRyIGN0eHQsIGNvbnN0IHhtbENoYXIgKnByZWZpeCkgeworICAgIGludCBpOworCisgICAgaWYgKHByZWZpeCA9PSBjdHh0LT5zdHJfeG1sKSByZXR1cm4oY3R4dC0+c3RyX3htbF9ucyk7CisgICAgZm9yIChpID0gY3R4dC0+bnNOciAtIDI7aSA+PSAwO2ktPTIpCisgICAgICAgIGlmIChjdHh0LT5uc1RhYltpXSA9PSBwcmVmaXgpIHsKKwkgICAgaWYgKChwcmVmaXggPT0gTlVMTCkgJiYgKCpjdHh0LT5uc1RhYltpICsgMV0gPT0gMCkpCisJICAgICAgICByZXR1cm4oTlVMTCk7CisJICAgIHJldHVybihjdHh0LT5uc1RhYltpICsgMV0pOworCX0KKyAgICByZXR1cm4oTlVMTCk7Cit9CisKKy8qKgorICogeG1sUGFyc2VRTmFtZToKKyAqIEBjdHh0OiAgYW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAcHJlZml4OiAgcG9pbnRlciB0byBzdG9yZSB0aGUgcHJlZml4IHBhcnQKKyAqCisgKiBwYXJzZSBhbiBYTUwgTmFtZXNwYWNlIFFOYW1lCisgKgorICogWzZdICBRTmFtZSAgOjo9IChQcmVmaXggJzonKT8gTG9jYWxQYXJ0CisgKiBbN10gIFByZWZpeCAgOjo9IE5DTmFtZQorICogWzhdICBMb2NhbFBhcnQgIDo6PSBOQ05hbWUKKyAqCisgKiBSZXR1cm5zIHRoZSBOYW1lIHBhcnNlZCBvciBOVUxMCisgKi8KKworc3RhdGljIGNvbnN0IHhtbENoYXIgKgoreG1sUGFyc2VRTmFtZSh4bWxQYXJzZXJDdHh0UHRyIGN0eHQsIGNvbnN0IHhtbENoYXIgKipwcmVmaXgpIHsKKyAgICBjb25zdCB4bWxDaGFyICpsLCAqcDsKKworICAgIEdST1c7CisKKyAgICBsID0geG1sUGFyc2VOQ05hbWUoY3R4dCk7CisgICAgaWYgKGwgPT0gTlVMTCkgeworICAgICAgICBpZiAoQ1VSID09ICc6JykgeworCSAgICBsID0geG1sUGFyc2VOYW1lKGN0eHQpOworCSAgICBpZiAobCAhPSBOVUxMKSB7CisJICAgICAgICB4bWxOc0VycihjdHh0LCBYTUxfTlNfRVJSX1FOQU1FLAorCQkgICAgICAgICAiRmFpbGVkIHRvIHBhcnNlIFFOYW1lICclcydcbiIsIGwsIE5VTEwsIE5VTEwpOworCQkqcHJlZml4ID0gTlVMTDsKKwkJcmV0dXJuKGwpOworCSAgICB9CisJfQorICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgfQorICAgIGlmIChDVVIgPT0gJzonKSB7CisgICAgICAgIE5FWFQ7CisJcCA9IGw7CisJbCA9IHhtbFBhcnNlTkNOYW1lKGN0eHQpOworCWlmIChsID09IE5VTEwpIHsKKwkgICAgeG1sQ2hhciAqdG1wOworCisgICAgICAgICAgICB4bWxOc0VycihjdHh0LCBYTUxfTlNfRVJSX1FOQU1FLAorCSAgICAgICAgICAgICAiRmFpbGVkIHRvIHBhcnNlIFFOYW1lICclczonXG4iLCBwLCBOVUxMLCBOVUxMKTsKKwkgICAgbCA9IHhtbFBhcnNlTm10b2tlbihjdHh0KTsKKwkgICAgaWYgKGwgPT0gTlVMTCkKKwkJdG1wID0geG1sQnVpbGRRTmFtZShCQURfQ0FTVCAiIiwgcCwgTlVMTCwgMCk7CisJICAgIGVsc2UgeworCQl0bXAgPSB4bWxCdWlsZFFOYW1lKGwsIHAsIE5VTEwsIDApOworCQl4bWxGcmVlKChjaGFyICopbCk7CisJICAgIH0KKwkgICAgcCA9IHhtbERpY3RMb29rdXAoY3R4dC0+ZGljdCwgdG1wLCAtMSk7CisJICAgIGlmICh0bXAgIT0gTlVMTCkgeG1sRnJlZSh0bXApOworCSAgICAqcHJlZml4ID0gTlVMTDsKKwkgICAgcmV0dXJuKHApOworCX0KKwlpZiAoQ1VSID09ICc6JykgeworCSAgICB4bWxDaGFyICp0bXA7CisKKyAgICAgICAgICAgIHhtbE5zRXJyKGN0eHQsIFhNTF9OU19FUlJfUU5BTUUsCisJICAgICAgICAgICAgICJGYWlsZWQgdG8gcGFyc2UgUU5hbWUgJyVzOiVzOidcbiIsIHAsIGwsIE5VTEwpOworCSAgICBORVhUOworCSAgICB0bXAgPSAoeG1sQ2hhciAqKSB4bWxQYXJzZU5hbWUoY3R4dCk7CisJICAgIGlmICh0bXAgIT0gTlVMTCkgeworCSAgICAgICAgdG1wID0geG1sQnVpbGRRTmFtZSh0bXAsIGwsIE5VTEwsIDApOworCQlsID0geG1sRGljdExvb2t1cChjdHh0LT5kaWN0LCB0bXAsIC0xKTsKKwkJaWYgKHRtcCAhPSBOVUxMKSB4bWxGcmVlKHRtcCk7CisJCSpwcmVmaXggPSBwOworCQlyZXR1cm4obCk7CisJICAgIH0KKwkgICAgdG1wID0geG1sQnVpbGRRTmFtZShCQURfQ0FTVCAiIiwgbCwgTlVMTCwgMCk7CisJICAgIGwgPSB4bWxEaWN0TG9va3VwKGN0eHQtPmRpY3QsIHRtcCwgLTEpOworCSAgICBpZiAodG1wICE9IE5VTEwpIHhtbEZyZWUodG1wKTsKKwkgICAgKnByZWZpeCA9IHA7CisJICAgIHJldHVybihsKTsKKwl9CisJKnByZWZpeCA9IHA7CisgICAgfSBlbHNlCisgICAgICAgICpwcmVmaXggPSBOVUxMOworICAgIHJldHVybihsKTsKK30KKworLyoqCisgKiB4bWxQYXJzZVFOYW1lQW5kQ29tcGFyZToKKyAqIEBjdHh0OiAgYW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAbmFtZTogIHRoZSBsb2NhbG5hbWUKKyAqIEBwcmVmaXg6ICB0aGUgcHJlZml4LCBpZiBhbnkuCisgKgorICogcGFyc2UgYW4gWE1MIG5hbWUgYW5kIGNvbXBhcmVzIGZvciBtYXRjaAorICogKHNwZWNpYWxpemVkIGZvciBlbmR0YWcgcGFyc2luZykKKyAqCisgKiBSZXR1cm5zIE5VTEwgZm9yIGFuIGlsbGVnYWwgbmFtZSwgKHhtbENoYXIqKSAxIGZvciBzdWNjZXNzCisgKiBhbmQgdGhlIG5hbWUgZm9yIG1pc21hdGNoCisgKi8KKworc3RhdGljIGNvbnN0IHhtbENoYXIgKgoreG1sUGFyc2VRTmFtZUFuZENvbXBhcmUoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0LCB4bWxDaGFyIGNvbnN0ICpuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgeG1sQ2hhciBjb25zdCAqcHJlZml4KSB7CisgICAgY29uc3QgeG1sQ2hhciAqY21wOworICAgIGNvbnN0IHhtbENoYXIgKmluOworICAgIGNvbnN0IHhtbENoYXIgKnJldDsKKyAgICBjb25zdCB4bWxDaGFyICpwcmVmaXgyOworCisgICAgaWYgKHByZWZpeCA9PSBOVUxMKSByZXR1cm4oeG1sUGFyc2VOYW1lQW5kQ29tcGFyZShjdHh0LCBuYW1lKSk7CisKKyAgICBHUk9XOworICAgIGluID0gY3R4dC0+aW5wdXQtPmN1cjsKKworICAgIGNtcCA9IHByZWZpeDsKKyAgICB3aGlsZSAoKmluICE9IDAgJiYgKmluID09ICpjbXApIHsKKwkrK2luOworCSsrY21wOworICAgIH0KKyAgICBpZiAoKCpjbXAgPT0gMCkgJiYgKCppbiA9PSAnOicpKSB7CisgICAgICAgIGluKys7CisJY21wID0gbmFtZTsKKwl3aGlsZSAoKmluICE9IDAgJiYgKmluID09ICpjbXApIHsKKwkgICAgKytpbjsKKwkgICAgKytjbXA7CisJfQorCWlmICgqY21wID09IDAgJiYgKCppbiA9PSAnPicgfHwgSVNfQkxBTktfQ0ggKCppbikpKSB7CisJICAgIC8qIHN1Y2Nlc3MgKi8KKwkgICAgY3R4dC0+aW5wdXQtPmN1ciA9IGluOworCSAgICByZXR1cm4oKGNvbnN0IHhtbENoYXIqKSAxKTsKKwl9CisgICAgfQorICAgIC8qCisgICAgICogYWxsIHN0cmluZ3MgY29tcyBmcm9tIHRoZSBkaWN0aW9uYXJ5LCBlcXVhbGl0eSBjYW4gYmUgZG9uZSBkaXJlY3RseQorICAgICAqLworICAgIHJldCA9IHhtbFBhcnNlUU5hbWUgKGN0eHQsICZwcmVmaXgyKTsKKyAgICBpZiAoKHJldCA9PSBuYW1lKSAmJiAocHJlZml4ID09IHByZWZpeDIpKQorCXJldHVybigoY29uc3QgeG1sQ2hhciopIDEpOworICAgIHJldHVybiByZXQ7Cit9CisKKy8qKgorICogeG1sUGFyc2VBdHRWYWx1ZUludGVybmFsOgorICogQGN0eHQ6ICBhbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBsZW46ICBhdHRyaWJ1dGUgbGVuIHJlc3VsdAorICogQGFsbG9jOiAgd2hldGhlciB0aGUgYXR0cmlidXRlIHdhcyByZWFsbG9jYXRlZCBhcyBhIG5ldyBzdHJpbmcKKyAqIEBub3JtYWxpemU6ICBpZiAxIHRoZW4gZnVydGhlciBub24tQ0RBVEEgbm9ybWFsaXphdGlvbiBtdXN0IGJlIGRvbmUKKyAqCisgKiBwYXJzZSBhIHZhbHVlIGZvciBhbiBhdHRyaWJ1dGUuCisgKiBOT1RFOiBpZiBubyBub3JtYWxpemF0aW9uIGlzIG5lZWRlZCwgdGhlIHJvdXRpbmUgd2lsbCByZXR1cm4gcG9pbnRlcnMKKyAqICAgICAgIGRpcmVjdGx5IGZyb20gdGhlIGRhdGEgYnVmZmVyLgorICoKKyAqIDMuMy4zIEF0dHJpYnV0ZS1WYWx1ZSBOb3JtYWxpemF0aW9uOgorICogQmVmb3JlIHRoZSB2YWx1ZSBvZiBhbiBhdHRyaWJ1dGUgaXMgcGFzc2VkIHRvIHRoZSBhcHBsaWNhdGlvbiBvcgorICogY2hlY2tlZCBmb3IgdmFsaWRpdHksIHRoZSBYTUwgcHJvY2Vzc29yIG11c3Qgbm9ybWFsaXplIGl0IGFzIGZvbGxvd3M6CisgKiAtIGEgY2hhcmFjdGVyIHJlZmVyZW5jZSBpcyBwcm9jZXNzZWQgYnkgYXBwZW5kaW5nIHRoZSByZWZlcmVuY2VkCisgKiAgIGNoYXJhY3RlciB0byB0aGUgYXR0cmlidXRlIHZhbHVlCisgKiAtIGFuIGVudGl0eSByZWZlcmVuY2UgaXMgcHJvY2Vzc2VkIGJ5IHJlY3Vyc2l2ZWx5IHByb2Nlc3NpbmcgdGhlCisgKiAgIHJlcGxhY2VtZW50IHRleHQgb2YgdGhlIGVudGl0eQorICogLSBhIHdoaXRlc3BhY2UgY2hhcmFjdGVyICgjeDIwLCAjeEQsICN4QSwgI3g5KSBpcyBwcm9jZXNzZWQgYnkKKyAqICAgYXBwZW5kaW5nICN4MjAgdG8gdGhlIG5vcm1hbGl6ZWQgdmFsdWUsIGV4Y2VwdCB0aGF0IG9ubHkgYSBzaW5nbGUKKyAqICAgI3gyMCBpcyBhcHBlbmRlZCBmb3IgYSAiI3hEI3hBIiBzZXF1ZW5jZSB0aGF0IGlzIHBhcnQgb2YgYW4gZXh0ZXJuYWwKKyAqICAgcGFyc2VkIGVudGl0eSBvciB0aGUgbGl0ZXJhbCBlbnRpdHkgdmFsdWUgb2YgYW4gaW50ZXJuYWwgcGFyc2VkIGVudGl0eQorICogLSBvdGhlciBjaGFyYWN0ZXJzIGFyZSBwcm9jZXNzZWQgYnkgYXBwZW5kaW5nIHRoZW0gdG8gdGhlIG5vcm1hbGl6ZWQgdmFsdWUKKyAqIElmIHRoZSBkZWNsYXJlZCB2YWx1ZSBpcyBub3QgQ0RBVEEsIHRoZW4gdGhlIFhNTCBwcm9jZXNzb3IgbXVzdCBmdXJ0aGVyCisgKiBwcm9jZXNzIHRoZSBub3JtYWxpemVkIGF0dHJpYnV0ZSB2YWx1ZSBieSBkaXNjYXJkaW5nIGFueSBsZWFkaW5nIGFuZAorICogdHJhaWxpbmcgc3BhY2UgKCN4MjApIGNoYXJhY3RlcnMsIGFuZCBieSByZXBsYWNpbmcgc2VxdWVuY2VzIG9mIHNwYWNlCisgKiAoI3gyMCkgY2hhcmFjdGVycyBieSBhIHNpbmdsZSBzcGFjZSAoI3gyMCkgY2hhcmFjdGVyLgorICogQWxsIGF0dHJpYnV0ZXMgZm9yIHdoaWNoIG5vIGRlY2xhcmF0aW9uIGhhcyBiZWVuIHJlYWQgc2hvdWxkIGJlIHRyZWF0ZWQKKyAqIGJ5IGEgbm9uLXZhbGlkYXRpbmcgcGFyc2VyIGFzIGlmIGRlY2xhcmVkIENEQVRBLgorICoKKyAqIFJldHVybnMgdGhlIEF0dFZhbHVlIHBhcnNlZCBvciBOVUxMLiBUaGUgdmFsdWUgaGFzIHRvIGJlIGZyZWVkIGJ5IHRoZQorICogICAgIGNhbGxlciBpZiBpdCB3YXMgY29waWVkLCB0aGlzIGNhbiBiZSBkZXRlY3RlZCBieSB2YWxbKmxlbl0gPT0gMC4KKyAqLworCitzdGF0aWMgeG1sQ2hhciAqCit4bWxQYXJzZUF0dFZhbHVlSW50ZXJuYWwoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0LCBpbnQgKmxlbiwgaW50ICphbGxvYywKKyAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbm9ybWFsaXplKQoreworICAgIHhtbENoYXIgbGltaXQgPSAwOworICAgIGNvbnN0IHhtbENoYXIgKmluID0gTlVMTCwgKnN0YXJ0LCAqZW5kLCAqbGFzdDsKKyAgICB4bWxDaGFyICpyZXQgPSBOVUxMOworICAgIGludCBsaW5lLCBjb2w7CisKKyAgICBHUk9XOworICAgIGluID0gKHhtbENoYXIgKikgQ1VSX1BUUjsKKyAgICBsaW5lID0gY3R4dC0+aW5wdXQtPmxpbmU7CisgICAgY29sID0gY3R4dC0+aW5wdXQtPmNvbDsKKyAgICBpZiAoKmluICE9ICciJyAmJiAqaW4gIT0gJ1wnJykgeworICAgICAgICB4bWxGYXRhbEVycihjdHh0LCBYTUxfRVJSX0FUVFJJQlVURV9OT1RfU1RBUlRFRCwgTlVMTCk7CisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgfQorICAgIGN0eHQtPmluc3RhdGUgPSBYTUxfUEFSU0VSX0FUVFJJQlVURV9WQUxVRTsKKworICAgIC8qCisgICAgICogdHJ5IHRvIGhhbmRsZSBpbiB0aGlzIHJvdXRpbmUgdGhlIG1vc3QgY29tbW9uIGNhc2Ugd2hlcmUgbm8KKyAgICAgKiBhbGxvY2F0aW9uIG9mIGEgbmV3IHN0cmluZyBpcyByZXF1aXJlZCBhbmQgd2hlcmUgY29udGVudCBpcworICAgICAqIHB1cmUgQVNDSUkuCisgICAgICovCisgICAgbGltaXQgPSAqaW4rKzsKKyAgICBjb2wrKzsKKyAgICBlbmQgPSBjdHh0LT5pbnB1dC0+ZW5kOworICAgIHN0YXJ0ID0gaW47CisgICAgaWYgKGluID49IGVuZCkgeworICAgICAgICBjb25zdCB4bWxDaGFyICpvbGRiYXNlID0gY3R4dC0+aW5wdXQtPmJhc2U7CisJR1JPVzsKKwlpZiAob2xkYmFzZSAhPSBjdHh0LT5pbnB1dC0+YmFzZSkgeworCSAgICBsb25nIGRlbHRhID0gY3R4dC0+aW5wdXQtPmJhc2UgLSBvbGRiYXNlOworCSAgICBzdGFydCA9IHN0YXJ0ICsgZGVsdGE7CisJICAgIGluID0gaW4gKyBkZWx0YTsKKwl9CisJZW5kID0gY3R4dC0+aW5wdXQtPmVuZDsKKyAgICB9CisgICAgaWYgKG5vcm1hbGl6ZSkgeworICAgICAgICAvKgorCSAqIFNraXAgYW55IGxlYWRpbmcgc3BhY2VzCisJICovCisJd2hpbGUgKChpbiA8IGVuZCkgJiYgKCppbiAhPSBsaW1pdCkgJiYKKwkgICAgICAgKCgqaW4gPT0gMHgyMCkgfHwgKCppbiA9PSAweDkpIHx8CisJICAgICAgICAoKmluID09IDB4QSkgfHwgKCppbiA9PSAweEQpKSkgeworCSAgICBpZiAoKmluID09IDB4QSkgeworCSAgICAgICAgbGluZSsrOyBjb2wgPSAxOworCSAgICB9IGVsc2UgeworCSAgICAgICAgY29sKys7CisJICAgIH0KKwkgICAgaW4rKzsKKwkgICAgc3RhcnQgPSBpbjsKKwkgICAgaWYgKGluID49IGVuZCkgeworCQljb25zdCB4bWxDaGFyICpvbGRiYXNlID0gY3R4dC0+aW5wdXQtPmJhc2U7CisJCUdST1c7CisgICAgICAgICAgICAgICAgaWYgKGN0eHQtPmluc3RhdGUgPT0gWE1MX1BBUlNFUl9FT0YpCisgICAgICAgICAgICAgICAgICAgIHJldHVybihOVUxMKTsKKwkJaWYgKG9sZGJhc2UgIT0gY3R4dC0+aW5wdXQtPmJhc2UpIHsKKwkJICAgIGxvbmcgZGVsdGEgPSBjdHh0LT5pbnB1dC0+YmFzZSAtIG9sZGJhc2U7CisJCSAgICBzdGFydCA9IHN0YXJ0ICsgZGVsdGE7CisJCSAgICBpbiA9IGluICsgZGVsdGE7CisJCX0KKwkJZW5kID0gY3R4dC0+aW5wdXQtPmVuZDsKKyAgICAgICAgICAgICAgICBpZiAoKChpbiAtIHN0YXJ0KSA+IFhNTF9NQVhfVEVYVF9MRU5HVEgpICYmCisgICAgICAgICAgICAgICAgICAgICgoY3R4dC0+b3B0aW9ucyAmIFhNTF9QQVJTRV9IVUdFKSA9PSAwKSkgeworICAgICAgICAgICAgICAgICAgICB4bWxGYXRhbEVyck1zZyhjdHh0LCBYTUxfRVJSX0FUVFJJQlVURV9OT1RfRklOSVNIRUQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJBdHRWYWx1ZSBsZW5ndGggdG9vIGxvbmdcbiIpOworICAgICAgICAgICAgICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgICAgICAgICAgICAgfQorCSAgICB9CisJfQorCXdoaWxlICgoaW4gPCBlbmQpICYmICgqaW4gIT0gbGltaXQpICYmICgqaW4gPj0gMHgyMCkgJiYKKwkgICAgICAgKCppbiA8PSAweDdmKSAmJiAoKmluICE9ICcmJykgJiYgKCppbiAhPSAnPCcpKSB7CisJICAgIGNvbCsrOworCSAgICBpZiAoKCppbisrID09IDB4MjApICYmICgqaW4gPT0gMHgyMCkpIGJyZWFrOworCSAgICBpZiAoaW4gPj0gZW5kKSB7CisJCWNvbnN0IHhtbENoYXIgKm9sZGJhc2UgPSBjdHh0LT5pbnB1dC0+YmFzZTsKKwkJR1JPVzsKKyAgICAgICAgICAgICAgICBpZiAoY3R4dC0+aW5zdGF0ZSA9PSBYTUxfUEFSU0VSX0VPRikKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuKE5VTEwpOworCQlpZiAob2xkYmFzZSAhPSBjdHh0LT5pbnB1dC0+YmFzZSkgeworCQkgICAgbG9uZyBkZWx0YSA9IGN0eHQtPmlucHV0LT5iYXNlIC0gb2xkYmFzZTsKKwkJICAgIHN0YXJ0ID0gc3RhcnQgKyBkZWx0YTsKKwkJICAgIGluID0gaW4gKyBkZWx0YTsKKwkJfQorCQllbmQgPSBjdHh0LT5pbnB1dC0+ZW5kOworICAgICAgICAgICAgICAgIGlmICgoKGluIC0gc3RhcnQpID4gWE1MX01BWF9URVhUX0xFTkdUSCkgJiYKKyAgICAgICAgICAgICAgICAgICAgKChjdHh0LT5vcHRpb25zICYgWE1MX1BBUlNFX0hVR0UpID09IDApKSB7CisgICAgICAgICAgICAgICAgICAgIHhtbEZhdGFsRXJyTXNnKGN0eHQsIFhNTF9FUlJfQVRUUklCVVRFX05PVF9GSU5JU0hFRCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkF0dFZhbHVlIGxlbmd0aCB0b28gbG9uZ1xuIik7CisgICAgICAgICAgICAgICAgICAgIHJldHVybihOVUxMKTsKKyAgICAgICAgICAgICAgICB9CisJICAgIH0KKwl9CisJbGFzdCA9IGluOworCS8qCisJICogc2tpcCB0aGUgdHJhaWxpbmcgYmxhbmtzCisJICovCisJd2hpbGUgKChsYXN0Wy0xXSA9PSAweDIwKSAmJiAobGFzdCA+IHN0YXJ0KSkgbGFzdC0tOworCXdoaWxlICgoaW4gPCBlbmQpICYmICgqaW4gIT0gbGltaXQpICYmCisJICAgICAgICgoKmluID09IDB4MjApIHx8ICgqaW4gPT0gMHg5KSB8fAorCSAgICAgICAgKCppbiA9PSAweEEpIHx8ICgqaW4gPT0gMHhEKSkpIHsKKwkgICAgaWYgKCppbiA9PSAweEEpIHsKKwkgICAgICAgIGxpbmUrKywgY29sID0gMTsKKwkgICAgfSBlbHNlIHsKKwkgICAgICAgIGNvbCsrOworCSAgICB9CisJICAgIGluKys7CisJICAgIGlmIChpbiA+PSBlbmQpIHsKKwkJY29uc3QgeG1sQ2hhciAqb2xkYmFzZSA9IGN0eHQtPmlucHV0LT5iYXNlOworCQlHUk9XOworICAgICAgICAgICAgICAgIGlmIChjdHh0LT5pbnN0YXRlID09IFhNTF9QQVJTRVJfRU9GKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4oTlVMTCk7CisJCWlmIChvbGRiYXNlICE9IGN0eHQtPmlucHV0LT5iYXNlKSB7CisJCSAgICBsb25nIGRlbHRhID0gY3R4dC0+aW5wdXQtPmJhc2UgLSBvbGRiYXNlOworCQkgICAgc3RhcnQgPSBzdGFydCArIGRlbHRhOworCQkgICAgaW4gPSBpbiArIGRlbHRhOworCQkgICAgbGFzdCA9IGxhc3QgKyBkZWx0YTsKKwkJfQorCQllbmQgPSBjdHh0LT5pbnB1dC0+ZW5kOworICAgICAgICAgICAgICAgIGlmICgoKGluIC0gc3RhcnQpID4gWE1MX01BWF9URVhUX0xFTkdUSCkgJiYKKyAgICAgICAgICAgICAgICAgICAgKChjdHh0LT5vcHRpb25zICYgWE1MX1BBUlNFX0hVR0UpID09IDApKSB7CisgICAgICAgICAgICAgICAgICAgIHhtbEZhdGFsRXJyTXNnKGN0eHQsIFhNTF9FUlJfQVRUUklCVVRFX05PVF9GSU5JU0hFRCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkF0dFZhbHVlIGxlbmd0aCB0b28gbG9uZ1xuIik7CisgICAgICAgICAgICAgICAgICAgIHJldHVybihOVUxMKTsKKyAgICAgICAgICAgICAgICB9CisJICAgIH0KKwl9CisgICAgICAgIGlmICgoKGluIC0gc3RhcnQpID4gWE1MX01BWF9URVhUX0xFTkdUSCkgJiYKKyAgICAgICAgICAgICgoY3R4dC0+b3B0aW9ucyAmIFhNTF9QQVJTRV9IVUdFKSA9PSAwKSkgeworICAgICAgICAgICAgeG1sRmF0YWxFcnJNc2coY3R4dCwgWE1MX0VSUl9BVFRSSUJVVEVfTk9UX0ZJTklTSEVELAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIkF0dFZhbHVlIGxlbmd0aCB0b28gbG9uZ1xuIik7CisgICAgICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgICAgIH0KKwlpZiAoKmluICE9IGxpbWl0KSBnb3RvIG5lZWRfY29tcGxleDsKKyAgICB9IGVsc2UgeworCXdoaWxlICgoaW4gPCBlbmQpICYmICgqaW4gIT0gbGltaXQpICYmICgqaW4gPj0gMHgyMCkgJiYKKwkgICAgICAgKCppbiA8PSAweDdmKSAmJiAoKmluICE9ICcmJykgJiYgKCppbiAhPSAnPCcpKSB7CisJICAgIGluKys7CisJICAgIGNvbCsrOworCSAgICBpZiAoaW4gPj0gZW5kKSB7CisJCWNvbnN0IHhtbENoYXIgKm9sZGJhc2UgPSBjdHh0LT5pbnB1dC0+YmFzZTsKKwkJR1JPVzsKKyAgICAgICAgICAgICAgICBpZiAoY3R4dC0+aW5zdGF0ZSA9PSBYTUxfUEFSU0VSX0VPRikKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuKE5VTEwpOworCQlpZiAob2xkYmFzZSAhPSBjdHh0LT5pbnB1dC0+YmFzZSkgeworCQkgICAgbG9uZyBkZWx0YSA9IGN0eHQtPmlucHV0LT5iYXNlIC0gb2xkYmFzZTsKKwkJICAgIHN0YXJ0ID0gc3RhcnQgKyBkZWx0YTsKKwkJICAgIGluID0gaW4gKyBkZWx0YTsKKwkJfQorCQllbmQgPSBjdHh0LT5pbnB1dC0+ZW5kOworICAgICAgICAgICAgICAgIGlmICgoKGluIC0gc3RhcnQpID4gWE1MX01BWF9URVhUX0xFTkdUSCkgJiYKKyAgICAgICAgICAgICAgICAgICAgKChjdHh0LT5vcHRpb25zICYgWE1MX1BBUlNFX0hVR0UpID09IDApKSB7CisgICAgICAgICAgICAgICAgICAgIHhtbEZhdGFsRXJyTXNnKGN0eHQsIFhNTF9FUlJfQVRUUklCVVRFX05PVF9GSU5JU0hFRCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkF0dFZhbHVlIGxlbmd0aCB0b28gbG9uZ1xuIik7CisgICAgICAgICAgICAgICAgICAgIHJldHVybihOVUxMKTsKKyAgICAgICAgICAgICAgICB9CisJICAgIH0KKwl9CisJbGFzdCA9IGluOworICAgICAgICBpZiAoKChpbiAtIHN0YXJ0KSA+IFhNTF9NQVhfVEVYVF9MRU5HVEgpICYmCisgICAgICAgICAgICAoKGN0eHQtPm9wdGlvbnMgJiBYTUxfUEFSU0VfSFVHRSkgPT0gMCkpIHsKKyAgICAgICAgICAgIHhtbEZhdGFsRXJyTXNnKGN0eHQsIFhNTF9FUlJfQVRUUklCVVRFX05PVF9GSU5JU0hFRCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJBdHRWYWx1ZSBsZW5ndGggdG9vIGxvbmdcbiIpOworICAgICAgICAgICAgcmV0dXJuKE5VTEwpOworICAgICAgICB9CisJaWYgKCppbiAhPSBsaW1pdCkgZ290byBuZWVkX2NvbXBsZXg7CisgICAgfQorICAgIGluKys7CisgICAgY29sKys7CisgICAgaWYgKGxlbiAhPSBOVUxMKSB7CisgICAgICAgICpsZW4gPSBsYXN0IC0gc3RhcnQ7CisgICAgICAgIHJldCA9ICh4bWxDaGFyICopIHN0YXJ0OworICAgIH0gZWxzZSB7CisgICAgICAgIGlmIChhbGxvYykgKmFsbG9jID0gMTsKKyAgICAgICAgcmV0ID0geG1sU3RybmR1cChzdGFydCwgbGFzdCAtIHN0YXJ0KTsKKyAgICB9CisgICAgQ1VSX1BUUiA9IGluOworICAgIGN0eHQtPmlucHV0LT5saW5lID0gbGluZTsKKyAgICBjdHh0LT5pbnB1dC0+Y29sID0gY29sOworICAgIGlmIChhbGxvYykgKmFsbG9jID0gMDsKKyAgICByZXR1cm4gcmV0OworbmVlZF9jb21wbGV4OgorICAgIGlmIChhbGxvYykgKmFsbG9jID0gMTsKKyAgICByZXR1cm4geG1sUGFyc2VBdHRWYWx1ZUNvbXBsZXgoY3R4dCwgbGVuLCBub3JtYWxpemUpOworfQorCisvKioKKyAqIHhtbFBhcnNlQXR0cmlidXRlMjoKKyAqIEBjdHh0OiAgYW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAcHJlZjogIHRoZSBlbGVtZW50IHByZWZpeAorICogQGVsZW06ICB0aGUgZWxlbWVudCBuYW1lCisgKiBAcHJlZml4OiAgYSB4bWxDaGFyICoqIHVzZWQgdG8gc3RvcmUgdGhlIHZhbHVlIG9mIHRoZSBhdHRyaWJ1dGUgcHJlZml4CisgKiBAdmFsdWU6ICBhIHhtbENoYXIgKiogdXNlZCB0byBzdG9yZSB0aGUgdmFsdWUgb2YgdGhlIGF0dHJpYnV0ZQorICogQGxlbjogIGFuIGludCAqIHRvIHNhdmUgdGhlIGxlbmd0aCBvZiB0aGUgYXR0cmlidXRlCisgKiBAYWxsb2M6ICBhbiBpbnQgKiB0byBpbmRpY2F0ZSBpZiB0aGUgYXR0cmlidXRlIHdhcyBhbGxvY2F0ZWQKKyAqCisgKiBwYXJzZSBhbiBhdHRyaWJ1dGUgaW4gdGhlIG5ldyBTQVgyIGZyYW1ld29yay4KKyAqCisgKiBSZXR1cm5zIHRoZSBhdHRyaWJ1dGUgbmFtZSwgYW5kIHRoZSB2YWx1ZSBpbiAqdmFsdWUsIC4KKyAqLworCitzdGF0aWMgY29uc3QgeG1sQ2hhciAqCit4bWxQYXJzZUF0dHJpYnV0ZTIoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0LAorICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBwcmVmLCBjb25zdCB4bWxDaGFyICogZWxlbSwKKyAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoqIHByZWZpeCwgeG1sQ2hhciAqKiB2YWx1ZSwKKyAgICAgICAgICAgICAgICAgICBpbnQgKmxlbiwgaW50ICphbGxvYykKK3sKKyAgICBjb25zdCB4bWxDaGFyICpuYW1lOworICAgIHhtbENoYXIgKnZhbCwgKmludGVybmFsX3ZhbCA9IE5VTEw7CisgICAgaW50IG5vcm1hbGl6ZSA9IDA7CisKKyAgICAqdmFsdWUgPSBOVUxMOworICAgIEdST1c7CisgICAgbmFtZSA9IHhtbFBhcnNlUU5hbWUoY3R4dCwgcHJlZml4KTsKKyAgICBpZiAobmFtZSA9PSBOVUxMKSB7CisgICAgICAgIHhtbEZhdGFsRXJyTXNnKGN0eHQsIFhNTF9FUlJfTkFNRV9SRVFVSVJFRCwKKyAgICAgICAgICAgICAgICAgICAgICAgImVycm9yIHBhcnNpbmcgYXR0cmlidXRlIG5hbWVcbiIpOworICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIH0KKworICAgIC8qCisgICAgICogZ2V0IHRoZSB0eXBlIGlmIG5lZWRlZAorICAgICAqLworICAgIGlmIChjdHh0LT5hdHRzU3BlY2lhbCAhPSBOVUxMKSB7CisgICAgICAgIGludCB0eXBlOworCisgICAgICAgIHR5cGUgPSAoaW50KSAobG9uZykgeG1sSGFzaFFMb29rdXAyKGN0eHQtPmF0dHNTcGVjaWFsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmVmLCBlbGVtLCAqcHJlZml4LCBuYW1lKTsKKyAgICAgICAgaWYgKHR5cGUgIT0gMCkKKyAgICAgICAgICAgIG5vcm1hbGl6ZSA9IDE7CisgICAgfQorCisgICAgLyoKKyAgICAgKiByZWFkIHRoZSB2YWx1ZQorICAgICAqLworICAgIFNLSVBfQkxBTktTOworICAgIGlmIChSQVcgPT0gJz0nKSB7CisgICAgICAgIE5FWFQ7CisgICAgICAgIFNLSVBfQkxBTktTOworICAgICAgICB2YWwgPSB4bWxQYXJzZUF0dFZhbHVlSW50ZXJuYWwoY3R4dCwgbGVuLCBhbGxvYywgbm9ybWFsaXplKTsKKwlpZiAobm9ybWFsaXplKSB7CisJICAgIC8qCisJICAgICAqIFNvbWV0aW1lcyBhIHNlY29uZCBub3JtYWxpc2F0aW9uIHBhc3MgZm9yIHNwYWNlcyBpcyBuZWVkZWQKKwkgICAgICogYnV0IHRoYXQgb25seSBoYXBwZW5zIGlmIGNoYXJyZWZzIG9yIGVudGl0aWVzIHJlZmVybmNlcworCSAgICAgKiBoYXZlIGJlZW4gdXNlZCBpbiB0aGUgYXR0cmlidXRlIHZhbHVlLCBpLmUuIHRoZSBhdHRyaWJ1dGUKKwkgICAgICogdmFsdWUgaGF2ZSBiZWVuIGV4dHJhY3RlZCBpbiBhbiBhbGxvY2F0ZWQgc3RyaW5nIGFscmVhZHkuCisJICAgICAqLworCSAgICBpZiAoKmFsbG9jKSB7CisJICAgICAgICBjb25zdCB4bWxDaGFyICp2YWwyOworCisJICAgICAgICB2YWwyID0geG1sQXR0ck5vcm1hbGl6ZVNwYWNlMihjdHh0LCB2YWwsIGxlbik7CisJCWlmICgodmFsMiAhPSBOVUxMKSAmJiAodmFsMiAhPSB2YWwpKSB7CisJCSAgICB4bWxGcmVlKHZhbCk7CisJCSAgICB2YWwgPSAoeG1sQ2hhciAqKSB2YWwyOworCQl9CisJICAgIH0KKwl9CisgICAgICAgIGN0eHQtPmluc3RhdGUgPSBYTUxfUEFSU0VSX0NPTlRFTlQ7CisgICAgfSBlbHNlIHsKKyAgICAgICAgeG1sRmF0YWxFcnJNc2dTdHIoY3R4dCwgWE1MX0VSUl9BVFRSSUJVVEVfV0lUSE9VVF9WQUxVRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIlNwZWNpZmljYXRpb24gbWFuZGF0ZSB2YWx1ZSBmb3IgYXR0cmlidXRlICVzXG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lKTsKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICB9CisKKyAgICBpZiAoKnByZWZpeCA9PSBjdHh0LT5zdHJfeG1sKSB7CisgICAgICAgIC8qCisgICAgICAgICAqIENoZWNrIHRoYXQgeG1sOmxhbmcgY29uZm9ybXMgdG8gdGhlIHNwZWNpZmljYXRpb24KKyAgICAgICAgICogTm8gbW9yZSByZWdpc3RlcmVkIGFzIGFuIGVycm9yLCBqdXN0IGdlbmVyYXRlIGEgd2FybmluZyBub3cKKyAgICAgICAgICogc2luY2UgdGhpcyB3YXMgZGVwcmVjYXRlZCBpbiBYTUwgc2Vjb25kIGVkaXRpb24KKyAgICAgICAgICovCisgICAgICAgIGlmICgoY3R4dC0+cGVkYW50aWMpICYmICh4bWxTdHJFcXVhbChuYW1lLCBCQURfQ0FTVCAibGFuZyIpKSkgeworICAgICAgICAgICAgaW50ZXJuYWxfdmFsID0geG1sU3RybmR1cCh2YWwsICpsZW4pOworICAgICAgICAgICAgaWYgKCF4bWxDaGVja0xhbmd1YWdlSUQoaW50ZXJuYWxfdmFsKSkgeworICAgICAgICAgICAgICAgIHhtbFdhcm5pbmdNc2coY3R4dCwgWE1MX1dBUl9MQU5HX1ZBTFVFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk1hbGZvcm1lZCB2YWx1ZSBmb3IgeG1sOmxhbmcgOiAlc1xuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludGVybmFsX3ZhbCwgTlVMTCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICAvKgorICAgICAgICAgKiBDaGVjayB0aGF0IHhtbDpzcGFjZSBjb25mb3JtcyB0byB0aGUgc3BlY2lmaWNhdGlvbgorICAgICAgICAgKi8KKyAgICAgICAgaWYgKHhtbFN0ckVxdWFsKG5hbWUsIEJBRF9DQVNUICJzcGFjZSIpKSB7CisgICAgICAgICAgICBpbnRlcm5hbF92YWwgPSB4bWxTdHJuZHVwKHZhbCwgKmxlbik7CisgICAgICAgICAgICBpZiAoeG1sU3RyRXF1YWwoaW50ZXJuYWxfdmFsLCBCQURfQ0FTVCAiZGVmYXVsdCIpKQorICAgICAgICAgICAgICAgICooY3R4dC0+c3BhY2UpID0gMDsKKyAgICAgICAgICAgIGVsc2UgaWYgKHhtbFN0ckVxdWFsKGludGVybmFsX3ZhbCwgQkFEX0NBU1QgInByZXNlcnZlIikpCisgICAgICAgICAgICAgICAgKihjdHh0LT5zcGFjZSkgPSAxOworICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgeG1sV2FybmluZ01zZyhjdHh0LCBYTUxfV0FSX1NQQUNFX1ZBTFVFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkludmFsaWQgdmFsdWUgXCIlc1wiIGZvciB4bWw6c3BhY2UgOiBcImRlZmF1bHRcIiBvciBcInByZXNlcnZlXCIgZXhwZWN0ZWRcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlcm5hbF92YWwsIE5VTEwpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIGlmIChpbnRlcm5hbF92YWwpIHsKKyAgICAgICAgICAgIHhtbEZyZWUoaW50ZXJuYWxfdmFsKTsKKyAgICAgICAgfQorICAgIH0KKworICAgICp2YWx1ZSA9IHZhbDsKKyAgICByZXR1cm4gKG5hbWUpOworfQorLyoqCisgKiB4bWxQYXJzZVN0YXJ0VGFnMjoKKyAqIEBjdHh0OiAgYW4gWE1MIHBhcnNlciBjb250ZXh0CisgKgorICogcGFyc2UgYSBzdGFydCBvZiB0YWcgZWl0aGVyIGZvciBydWxlIGVsZW1lbnQgb3IKKyAqIEVtcHR5RWxlbWVudC4gSW4gYm90aCBjYXNlIHdlIGRvbid0IHBhcnNlIHRoZSB0YWcgY2xvc2luZyBjaGFycy4KKyAqIFRoaXMgcm91dGluZSBpcyBjYWxsZWQgd2hlbiBydW5uaW5nIFNBWDIgcGFyc2luZworICoKKyAqIFs0MF0gU1RhZyA6Oj0gJzwnIE5hbWUgKFMgQXR0cmlidXRlKSogUz8gJz4nCisgKgorICogWyBXRkM6IFVuaXF1ZSBBdHQgU3BlYyBdCisgKiBObyBhdHRyaWJ1dGUgbmFtZSBtYXkgYXBwZWFyIG1vcmUgdGhhbiBvbmNlIGluIHRoZSBzYW1lIHN0YXJ0LXRhZyBvcgorICogZW1wdHktZWxlbWVudCB0YWcuCisgKgorICogWzQ0XSBFbXB0eUVsZW1UYWcgOjo9ICc8JyBOYW1lIChTIEF0dHJpYnV0ZSkqIFM/ICcvPicKKyAqCisgKiBbIFdGQzogVW5pcXVlIEF0dCBTcGVjIF0KKyAqIE5vIGF0dHJpYnV0ZSBuYW1lIG1heSBhcHBlYXIgbW9yZSB0aGFuIG9uY2UgaW4gdGhlIHNhbWUgc3RhcnQtdGFnIG9yCisgKiBlbXB0eS1lbGVtZW50IHRhZy4KKyAqCisgKiBXaXRoIG5hbWVzcGFjZToKKyAqCisgKiBbTlMgOF0gU1RhZyA6Oj0gJzwnIFFOYW1lIChTIEF0dHJpYnV0ZSkqIFM/ICc+JworICoKKyAqIFtOUyAxMF0gRW1wdHlFbGVtZW50IDo6PSAnPCcgUU5hbWUgKFMgQXR0cmlidXRlKSogUz8gJy8+JworICoKKyAqIFJldHVybnMgdGhlIGVsZW1lbnQgbmFtZSBwYXJzZWQKKyAqLworCitzdGF0aWMgY29uc3QgeG1sQ2hhciAqCit4bWxQYXJzZVN0YXJ0VGFnMih4bWxQYXJzZXJDdHh0UHRyIGN0eHQsIGNvbnN0IHhtbENoYXIgKipwcmVmLAorICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqKlVSSSwgaW50ICp0bGVuKSB7CisgICAgY29uc3QgeG1sQ2hhciAqbG9jYWxuYW1lOworICAgIGNvbnN0IHhtbENoYXIgKnByZWZpeDsKKyAgICBjb25zdCB4bWxDaGFyICphdHRuYW1lOworICAgIGNvbnN0IHhtbENoYXIgKmFwcmVmaXg7CisgICAgY29uc3QgeG1sQ2hhciAqbnNuYW1lOworICAgIHhtbENoYXIgKmF0dHZhbHVlOworICAgIGNvbnN0IHhtbENoYXIgKiphdHRzID0gY3R4dC0+YXR0czsKKyAgICBpbnQgbWF4YXR0cyA9IGN0eHQtPm1heGF0dHM7CisgICAgaW50IG5yYXR0cywgbmJhdHRzLCBuYmRlZjsKKyAgICBpbnQgaSwgaiwgbmJOcywgYXR0dmFsLCBvbGRsaW5lLCBvbGRjb2w7CisgICAgY29uc3QgeG1sQ2hhciAqYmFzZTsKKyAgICB1bnNpZ25lZCBsb25nIGN1cjsKKyAgICBpbnQgbnNOciA9IGN0eHQtPm5zTnI7CisKKyAgICBpZiAoUkFXICE9ICc8JykgcmV0dXJuKE5VTEwpOworICAgIE5FWFQxOworCisgICAgLyoKKyAgICAgKiBOT1RFOiBpdCBpcyBjcnVjaWFsIHdpdGggdGhlIFNBWDIgQVBJIHRvIG5ldmVyIGNhbGwgU0hSSU5LIGJleW9uZCB0aGF0CisgICAgICogICAgICAgcG9pbnQgc2luY2UgdGhlIGF0dHJpYnV0ZSB2YWx1ZXMgbWF5IGJlIHN0b3JlZCBhcyBwb2ludGVycyB0bworICAgICAqICAgICAgIHRoZSBidWZmZXIgYW5kIGNhbGxpbmcgU0hSSU5LIHdvdWxkIGRlc3Ryb3kgdGhlbSAhCisgICAgICogICAgICAgVGhlIFNocmlua2luZyBpcyBvbmx5IHBvc3NpYmxlIG9uY2UgdGhlIGZ1bGwgc2V0IG9mIGF0dHJpYnV0ZQorICAgICAqICAgICAgIGNhbGxiYWNrcyBoYXZlIGJlZW4gZG9uZS4KKyAgICAgKi8KK3JlcGFyc2U6CisgICAgU0hSSU5LOworICAgIGJhc2UgPSBjdHh0LT5pbnB1dC0+YmFzZTsKKyAgICBjdXIgPSBjdHh0LT5pbnB1dC0+Y3VyIC0gY3R4dC0+aW5wdXQtPmJhc2U7CisgICAgb2xkbGluZSA9IGN0eHQtPmlucHV0LT5saW5lOworICAgIG9sZGNvbCA9IGN0eHQtPmlucHV0LT5jb2w7CisgICAgbmJhdHRzID0gMDsKKyAgICBucmF0dHMgPSAwOworICAgIG5iZGVmID0gMDsKKyAgICBuYk5zID0gMDsKKyAgICBhdHR2YWwgPSAwOworICAgIC8qIEZvcmdldCBhbnkgbmFtZXNwYWNlcyBhZGRlZCBkdXJpbmcgYW4gZWFybGllciBwYXJzZSBvZiB0aGlzIGVsZW1lbnQuICovCisgICAgY3R4dC0+bnNOciA9IG5zTnI7CisKKyAgICBsb2NhbG5hbWUgPSB4bWxQYXJzZVFOYW1lKGN0eHQsICZwcmVmaXgpOworICAgIGlmIChsb2NhbG5hbWUgPT0gTlVMTCkgeworCXhtbEZhdGFsRXJyTXNnKGN0eHQsIFhNTF9FUlJfTkFNRV9SRVFVSVJFRCwKKwkJICAgICAgICJTdGFydFRhZzogaW52YWxpZCBlbGVtZW50IG5hbWVcbiIpOworICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgfQorICAgICp0bGVuID0gY3R4dC0+aW5wdXQtPmN1ciAtIGN0eHQtPmlucHV0LT5iYXNlIC0gY3VyOworCisgICAgLyoKKyAgICAgKiBOb3cgcGFyc2UgdGhlIGF0dHJpYnV0ZXMsIGl0IGVuZHMgdXAgd2l0aCB0aGUgZW5kaW5nCisgICAgICoKKyAgICAgKiAoUyBBdHRyaWJ1dGUpKiBTPworICAgICAqLworICAgIFNLSVBfQkxBTktTOworICAgIEdST1c7CisgICAgaWYgKGN0eHQtPmlucHV0LT5iYXNlICE9IGJhc2UpIGdvdG8gYmFzZV9jaGFuZ2VkOworCisgICAgd2hpbGUgKCgoUkFXICE9ICc+JykgJiYKKwkgICAoKFJBVyAhPSAnLycpIHx8IChOWFQoMSkgIT0gJz4nKSkgJiYKKwkgICAoSVNfQllURV9DSEFSKFJBVykpKSAmJiAoY3R4dC0+aW5zdGF0ZSAhPSBYTUxfUEFSU0VSX0VPRikpIHsKKwljb25zdCB4bWxDaGFyICpxID0gQ1VSX1BUUjsKKwl1bnNpZ25lZCBpbnQgY29ucyA9IGN0eHQtPmlucHV0LT5jb25zdW1lZDsKKwlpbnQgbGVuID0gLTEsIGFsbG9jID0gMDsKKworCWF0dG5hbWUgPSB4bWxQYXJzZUF0dHJpYnV0ZTIoY3R4dCwgcHJlZml4LCBsb2NhbG5hbWUsCisJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmYXByZWZpeCwgJmF0dHZhbHVlLCAmbGVuLCAmYWxsb2MpOworCWlmIChjdHh0LT5pbnB1dC0+YmFzZSAhPSBiYXNlKSB7CisJICAgIGlmICgoYXR0dmFsdWUgIT0gTlVMTCkgJiYgKGFsbG9jICE9IDApKQorCSAgICAgICAgeG1sRnJlZShhdHR2YWx1ZSk7CisJICAgIGF0dHZhbHVlID0gTlVMTDsKKwkgICAgZ290byBiYXNlX2NoYW5nZWQ7CisJfQorICAgICAgICBpZiAoKGF0dG5hbWUgIT0gTlVMTCkgJiYgKGF0dHZhbHVlICE9IE5VTEwpKSB7CisJICAgIGlmIChsZW4gPCAwKSBsZW4gPSB4bWxTdHJsZW4oYXR0dmFsdWUpOworICAgICAgICAgICAgaWYgKChhdHRuYW1lID09IGN0eHQtPnN0cl94bWxucykgJiYgKGFwcmVmaXggPT0gTlVMTCkpIHsKKwkgICAgICAgIGNvbnN0IHhtbENoYXIgKlVSTCA9IHhtbERpY3RMb29rdXAoY3R4dC0+ZGljdCwgYXR0dmFsdWUsIGxlbik7CisJCXhtbFVSSVB0ciB1cmk7CisKKyAgICAgICAgICAgICAgICBpZiAoVVJMID09IE5VTEwpIHsKKwkJICAgIHhtbEVyck1lbW9yeShjdHh0LCAiZGljdGlvbmFyeSBhbGxvY2F0aW9uIGZhaWx1cmUiKTsKKwkJICAgIGlmICgoYXR0dmFsdWUgIT0gTlVMTCkgJiYgKGFsbG9jICE9IDApKQorCQkJeG1sRnJlZShhdHR2YWx1ZSk7CisJCSAgICByZXR1cm4oTlVMTCk7CisJCX0KKyAgICAgICAgICAgICAgICBpZiAoKlVSTCAhPSAwKSB7CisJCSAgICB1cmkgPSB4bWxQYXJzZVVSSSgoY29uc3QgY2hhciAqKSBVUkwpOworCQkgICAgaWYgKHVyaSA9PSBOVUxMKSB7CisJCQl4bWxOc0VycihjdHh0LCBYTUxfV0FSX05TX1VSSSwKKwkJCSAgICAgICAgICJ4bWxuczogJyVzJyBpcyBub3QgYSB2YWxpZCBVUklcbiIsCisJCQkJCSAgIFVSTCwgTlVMTCwgTlVMTCk7CisJCSAgICB9IGVsc2UgeworCQkJaWYgKHVyaS0+c2NoZW1lID09IE5VTEwpIHsKKwkJCSAgICB4bWxOc1dhcm4oY3R4dCwgWE1MX1dBUl9OU19VUklfUkVMQVRJVkUsCisJCQkJICAgICAgInhtbG5zOiBVUkkgJXMgaXMgbm90IGFic29sdXRlXG4iLAorCQkJCSAgICAgIFVSTCwgTlVMTCwgTlVMTCk7CisJCQl9CisJCQl4bWxGcmVlVVJJKHVyaSk7CisJCSAgICB9CisJCSAgICBpZiAoVVJMID09IGN0eHQtPnN0cl94bWxfbnMpIHsKKwkJCWlmIChhdHRuYW1lICE9IGN0eHQtPnN0cl94bWwpIHsKKwkJCSAgICB4bWxOc0VycihjdHh0LCBYTUxfTlNfRVJSX1hNTF9OQU1FU1BBQ0UsCisJCQkgInhtbCBuYW1lc3BhY2UgVVJJIGNhbm5vdCBiZSB0aGUgZGVmYXVsdCBuYW1lc3BhY2VcbiIsCisJCQkJICAgICBOVUxMLCBOVUxMLCBOVUxMKTsKKwkJCX0KKwkJCWdvdG8gc2tpcF9kZWZhdWx0X25zOworCQkgICAgfQorCQkgICAgaWYgKChsZW4gPT0gMjkpICYmCisJCQkoeG1sU3RyRXF1YWwoVVJMLAorCQkJCSBCQURfQ0FTVCAiaHR0cDovL3d3dy53My5vcmcvMjAwMC94bWxucy8iKSkpIHsKKwkJCXhtbE5zRXJyKGN0eHQsIFhNTF9OU19FUlJfWE1MX05BTUVTUEFDRSwKKwkJCSAgICAgInJldXNlIG9mIHRoZSB4bWxucyBuYW1lc3BhY2UgbmFtZSBpcyBmb3JiaWRkZW5cbiIsCisJCQkJIE5VTEwsIE5VTEwsIE5VTEwpOworCQkJZ290byBza2lwX2RlZmF1bHRfbnM7CisJCSAgICB9CisJCX0KKwkJLyoKKwkJICogY2hlY2sgdGhhdCBpdCdzIG5vdCBhIGRlZmluZWQgbmFtZXNwYWNlCisJCSAqLworCQlmb3IgKGogPSAxO2ogPD0gbmJOcztqKyspCisJCSAgICBpZiAoY3R4dC0+bnNUYWJbY3R4dC0+bnNOciAtIDIgKiBqXSA9PSBOVUxMKQorCQkJYnJlYWs7CisJCWlmIChqIDw9IG5iTnMpCisJCSAgICB4bWxFcnJBdHRyaWJ1dGVEdXAoY3R4dCwgTlVMTCwgYXR0bmFtZSk7CisJCWVsc2UKKwkJICAgIGlmIChuc1B1c2goY3R4dCwgTlVMTCwgVVJMKSA+IDApIG5iTnMrKzsKK3NraXBfZGVmYXVsdF9uczoKKwkJaWYgKGFsbG9jICE9IDApIHhtbEZyZWUoYXR0dmFsdWUpOworCQlpZiAoKFJBVyA9PSAnPicpIHx8ICgoKFJBVyA9PSAnLycpICYmIChOWFQoMSkgPT0gJz4nKSkpKQorCQkgICAgYnJlYWs7CisJCWlmICghSVNfQkxBTktfQ0goUkFXKSkgeworCQkgICAgeG1sRmF0YWxFcnJNc2coY3R4dCwgWE1MX0VSUl9TUEFDRV9SRVFVSVJFRCwKKwkJCQkgICAiYXR0cmlidXRlcyBjb25zdHJ1Y3QgZXJyb3JcbiIpOworCQkgICAgYnJlYWs7CisJCX0KKwkJU0tJUF9CTEFOS1M7CisJCWNvbnRpbnVlOworCSAgICB9CisgICAgICAgICAgICBpZiAoYXByZWZpeCA9PSBjdHh0LT5zdHJfeG1sbnMpIHsKKwkgICAgICAgIGNvbnN0IHhtbENoYXIgKlVSTCA9IHhtbERpY3RMb29rdXAoY3R4dC0+ZGljdCwgYXR0dmFsdWUsIGxlbik7CisJCXhtbFVSSVB0ciB1cmk7CisKKyAgICAgICAgICAgICAgICBpZiAoYXR0bmFtZSA9PSBjdHh0LT5zdHJfeG1sKSB7CisJCSAgICBpZiAoVVJMICE9IGN0eHQtPnN0cl94bWxfbnMpIHsKKwkJICAgICAgICB4bWxOc0VycihjdHh0LCBYTUxfTlNfRVJSX1hNTF9OQU1FU1BBQ0UsCisJCQkgICAgICAgICAieG1sIG5hbWVzcGFjZSBwcmVmaXggbWFwcGVkIHRvIHdyb25nIFVSSVxuIiwKKwkJCSAgICAgICAgIE5VTEwsIE5VTEwsIE5VTEwpOworCQkgICAgfQorCQkgICAgLyoKKwkJICAgICAqIERvIG5vdCBrZWVwIGEgbmFtZXNwYWNlIGRlZmluaXRpb24gbm9kZQorCQkgICAgICovCisJCSAgICBnb3RvIHNraXBfbnM7CisJCX0KKyAgICAgICAgICAgICAgICBpZiAoVVJMID09IGN0eHQtPnN0cl94bWxfbnMpIHsKKwkJICAgIGlmIChhdHRuYW1lICE9IGN0eHQtPnN0cl94bWwpIHsKKwkJICAgICAgICB4bWxOc0VycihjdHh0LCBYTUxfTlNfRVJSX1hNTF9OQU1FU1BBQ0UsCisJCQkgICAgICAgICAieG1sIG5hbWVzcGFjZSBVUkkgbWFwcGVkIHRvIHdyb25nIHByZWZpeFxuIiwKKwkJCSAgICAgICAgIE5VTEwsIE5VTEwsIE5VTEwpOworCQkgICAgfQorCQkgICAgZ290byBza2lwX25zOworCQl9CisgICAgICAgICAgICAgICAgaWYgKGF0dG5hbWUgPT0gY3R4dC0+c3RyX3htbG5zKSB7CisJCSAgICB4bWxOc0VycihjdHh0LCBYTUxfTlNfRVJSX1hNTF9OQU1FU1BBQ0UsCisJCQkgICAgICJyZWRlZmluaXRpb24gb2YgdGhlIHhtbG5zIHByZWZpeCBpcyBmb3JiaWRkZW5cbiIsCisJCQkgICAgIE5VTEwsIE5VTEwsIE5VTEwpOworCQkgICAgZ290byBza2lwX25zOworCQl9CisJCWlmICgobGVuID09IDI5KSAmJgorCQkgICAgKHhtbFN0ckVxdWFsKFVSTCwKKwkJICAgICAgICAgICAgICAgICBCQURfQ0FTVCAiaHR0cDovL3d3dy53My5vcmcvMjAwMC94bWxucy8iKSkpIHsKKwkJICAgIHhtbE5zRXJyKGN0eHQsIFhNTF9OU19FUlJfWE1MX05BTUVTUEFDRSwKKwkJCSAgICAgInJldXNlIG9mIHRoZSB4bWxucyBuYW1lc3BhY2UgbmFtZSBpcyBmb3JiaWRkZW5cbiIsCisJCQkgICAgIE5VTEwsIE5VTEwsIE5VTEwpOworCQkgICAgZ290byBza2lwX25zOworCQl9CisJCWlmICgoVVJMID09IE5VTEwpIHx8IChVUkxbMF0gPT0gMCkpIHsKKwkJICAgIHhtbE5zRXJyKGN0eHQsIFhNTF9OU19FUlJfWE1MX05BTUVTUEFDRSwKKwkJICAgICAgICAgICAgICJ4bWxuczolczogRW1wdHkgWE1MIG5hbWVzcGFjZSBpcyBub3QgYWxsb3dlZFxuIiwKKwkJCSAgICAgICAgICBhdHRuYW1lLCBOVUxMLCBOVUxMKTsKKwkJICAgIGdvdG8gc2tpcF9uczsKKwkJfSBlbHNlIHsKKwkJICAgIHVyaSA9IHhtbFBhcnNlVVJJKChjb25zdCBjaGFyICopIFVSTCk7CisJCSAgICBpZiAodXJpID09IE5VTEwpIHsKKwkJCXhtbE5zRXJyKGN0eHQsIFhNTF9XQVJfTlNfVVJJLAorCQkJICAgICAieG1sbnM6JXM6ICclcycgaXMgbm90IGEgdmFsaWQgVVJJXG4iLAorCQkJCQkgICBhdHRuYW1lLCBVUkwsIE5VTEwpOworCQkgICAgfSBlbHNlIHsKKwkJCWlmICgoY3R4dC0+cGVkYW50aWMpICYmICh1cmktPnNjaGVtZSA9PSBOVUxMKSkgeworCQkJICAgIHhtbE5zV2FybihjdHh0LCBYTUxfV0FSX05TX1VSSV9SRUxBVElWRSwKKwkJCQkgICAgICAieG1sbnM6JXM6IFVSSSAlcyBpcyBub3QgYWJzb2x1dGVcbiIsCisJCQkJICAgICAgYXR0bmFtZSwgVVJMLCBOVUxMKTsKKwkJCX0KKwkJCXhtbEZyZWVVUkkodXJpKTsKKwkJICAgIH0KKwkJfQorCisJCS8qCisJCSAqIGNoZWNrIHRoYXQgaXQncyBub3QgYSBkZWZpbmVkIG5hbWVzcGFjZQorCQkgKi8KKwkJZm9yIChqID0gMTtqIDw9IG5iTnM7aisrKQorCQkgICAgaWYgKGN0eHQtPm5zVGFiW2N0eHQtPm5zTnIgLSAyICogal0gPT0gYXR0bmFtZSkKKwkJCWJyZWFrOworCQlpZiAoaiA8PSBuYk5zKQorCQkgICAgeG1sRXJyQXR0cmlidXRlRHVwKGN0eHQsIGFwcmVmaXgsIGF0dG5hbWUpOworCQllbHNlCisJCSAgICBpZiAobnNQdXNoKGN0eHQsIGF0dG5hbWUsIFVSTCkgPiAwKSBuYk5zKys7Citza2lwX25zOgorCQlpZiAoYWxsb2MgIT0gMCkgeG1sRnJlZShhdHR2YWx1ZSk7CisJCWlmICgoUkFXID09ICc+JykgfHwgKCgoUkFXID09ICcvJykgJiYgKE5YVCgxKSA9PSAnPicpKSkpCisJCSAgICBicmVhazsKKwkJaWYgKCFJU19CTEFOS19DSChSQVcpKSB7CisJCSAgICB4bWxGYXRhbEVyck1zZyhjdHh0LCBYTUxfRVJSX1NQQUNFX1JFUVVJUkVELAorCQkJCSAgICJhdHRyaWJ1dGVzIGNvbnN0cnVjdCBlcnJvclxuIik7CisJCSAgICBicmVhazsKKwkJfQorCQlTS0lQX0JMQU5LUzsKKwkJaWYgKGN0eHQtPmlucHV0LT5iYXNlICE9IGJhc2UpIGdvdG8gYmFzZV9jaGFuZ2VkOworCQljb250aW51ZTsKKwkgICAgfQorCisJICAgIC8qCisJICAgICAqIEFkZCB0aGUgcGFpciB0byBhdHRzCisJICAgICAqLworCSAgICBpZiAoKGF0dHMgPT0gTlVMTCkgfHwgKG5iYXR0cyArIDUgPiBtYXhhdHRzKSkgeworCSAgICAgICAgaWYgKHhtbEN0eHRHcm93QXR0cnMoY3R4dCwgbmJhdHRzICsgNSkgPCAwKSB7CisJCSAgICBpZiAoYXR0dmFsdWVbbGVuXSA9PSAwKQorCQkJeG1sRnJlZShhdHR2YWx1ZSk7CisJCSAgICBnb3RvIGZhaWxlZDsKKwkJfQorCSAgICAgICAgbWF4YXR0cyA9IGN0eHQtPm1heGF0dHM7CisJCWF0dHMgPSBjdHh0LT5hdHRzOworCSAgICB9CisJICAgIGN0eHQtPmF0dGFsbG9jc1tucmF0dHMrK10gPSBhbGxvYzsKKwkgICAgYXR0c1tuYmF0dHMrK10gPSBhdHRuYW1lOworCSAgICBhdHRzW25iYXR0cysrXSA9IGFwcmVmaXg7CisJICAgIGF0dHNbbmJhdHRzKytdID0gTlVMTDsgLyogdGhlIFVSSSB3aWxsIGJlIGZldGNoZWQgbGF0ZXIgKi8KKwkgICAgYXR0c1tuYmF0dHMrK10gPSBhdHR2YWx1ZTsKKwkgICAgYXR0dmFsdWUgKz0gbGVuOworCSAgICBhdHRzW25iYXR0cysrXSA9IGF0dHZhbHVlOworCSAgICAvKgorCSAgICAgKiB0YWcgaWYgc29tZSBkZWFsbG9jYXRpb24gaXMgbmVlZGVkCisJICAgICAqLworCSAgICBpZiAoYWxsb2MgIT0gMCkgYXR0dmFsID0gMTsKKwl9IGVsc2UgeworCSAgICBpZiAoKGF0dHZhbHVlICE9IE5VTEwpICYmIChhdHR2YWx1ZVtsZW5dID09IDApKQorCQl4bWxGcmVlKGF0dHZhbHVlKTsKKwl9CisKK2ZhaWxlZDoKKworCUdST1cKKyAgICAgICAgaWYgKGN0eHQtPmluc3RhdGUgPT0gWE1MX1BBUlNFUl9FT0YpCisgICAgICAgICAgICBicmVhazsKKwlpZiAoY3R4dC0+aW5wdXQtPmJhc2UgIT0gYmFzZSkgZ290byBiYXNlX2NoYW5nZWQ7CisJaWYgKChSQVcgPT0gJz4nKSB8fCAoKChSQVcgPT0gJy8nKSAmJiAoTlhUKDEpID09ICc+JykpKSkKKwkgICAgYnJlYWs7CisJaWYgKCFJU19CTEFOS19DSChSQVcpKSB7CisJICAgIHhtbEZhdGFsRXJyTXNnKGN0eHQsIFhNTF9FUlJfU1BBQ0VfUkVRVUlSRUQsCisJCQkgICAiYXR0cmlidXRlcyBjb25zdHJ1Y3QgZXJyb3JcbiIpOworCSAgICBicmVhazsKKwl9CisJU0tJUF9CTEFOS1M7CisgICAgICAgIGlmICgoY29ucyA9PSBjdHh0LT5pbnB1dC0+Y29uc3VtZWQpICYmIChxID09IENVUl9QVFIpICYmCisgICAgICAgICAgICAoYXR0bmFtZSA9PSBOVUxMKSAmJiAoYXR0dmFsdWUgPT0gTlVMTCkpIHsKKwkgICAgeG1sRmF0YWxFcnIoY3R4dCwgWE1MX0VSUl9JTlRFUk5BTF9FUlJPUiwKKwkgICAgICAgICAieG1sUGFyc2VTdGFydFRhZzogcHJvYmxlbSBwYXJzaW5nIGF0dHJpYnV0ZXNcbiIpOworCSAgICBicmVhazsKKwl9CisgICAgICAgIEdST1c7CisJaWYgKGN0eHQtPmlucHV0LT5iYXNlICE9IGJhc2UpIGdvdG8gYmFzZV9jaGFuZ2VkOworICAgIH0KKworICAgIC8qCisgICAgICogVGhlIGF0dHJpYnV0ZXMgZGVmYXVsdGluZworICAgICAqLworICAgIGlmIChjdHh0LT5hdHRzRGVmYXVsdCAhPSBOVUxMKSB7CisgICAgICAgIHhtbERlZkF0dHJzUHRyIGRlZmF1bHRzOworCisJZGVmYXVsdHMgPSB4bWxIYXNoTG9va3VwMihjdHh0LT5hdHRzRGVmYXVsdCwgbG9jYWxuYW1lLCBwcmVmaXgpOworCWlmIChkZWZhdWx0cyAhPSBOVUxMKSB7CisJICAgIGZvciAoaSA9IDA7aSA8IGRlZmF1bHRzLT5uYkF0dHJzO2krKykgeworCSAgICAgICAgYXR0bmFtZSA9IGRlZmF1bHRzLT52YWx1ZXNbNSAqIGldOworCQlhcHJlZml4ID0gZGVmYXVsdHMtPnZhbHVlc1s1ICogaSArIDFdOworCisgICAgICAgICAgICAgICAgLyoKKwkJICogc3BlY2lhbCB3b3JrIGZvciBuYW1lc3BhY2VzIGRlZmF1bHRlZCBkZWZzCisJCSAqLworCQlpZiAoKGF0dG5hbWUgPT0gY3R4dC0+c3RyX3htbG5zKSAmJiAoYXByZWZpeCA9PSBOVUxMKSkgeworCQkgICAgLyoKKwkJICAgICAqIGNoZWNrIHRoYXQgaXQncyBub3QgYSBkZWZpbmVkIG5hbWVzcGFjZQorCQkgICAgICovCisJCSAgICBmb3IgKGogPSAxO2ogPD0gbmJOcztqKyspCisJCSAgICAgICAgaWYgKGN0eHQtPm5zVGFiW2N0eHQtPm5zTnIgLSAyICogal0gPT0gTlVMTCkKKwkJCSAgICBicmVhazsKKwkgICAgICAgICAgICBpZiAoaiA8PSBuYk5zKSBjb250aW51ZTsKKworCQkgICAgbnNuYW1lID0geG1sR2V0TmFtZXNwYWNlKGN0eHQsIE5VTEwpOworCQkgICAgaWYgKG5zbmFtZSAhPSBkZWZhdWx0cy0+dmFsdWVzWzUgKiBpICsgMl0pIHsKKwkJCWlmIChuc1B1c2goY3R4dCwgTlVMTCwKKwkJCSAgICAgICAgICAgZGVmYXVsdHMtPnZhbHVlc1s1ICogaSArIDJdKSA+IDApCisJCQkgICAgbmJOcysrOworCQkgICAgfQorCQl9IGVsc2UgaWYgKGFwcmVmaXggPT0gY3R4dC0+c3RyX3htbG5zKSB7CisJCSAgICAvKgorCQkgICAgICogY2hlY2sgdGhhdCBpdCdzIG5vdCBhIGRlZmluZWQgbmFtZXNwYWNlCisJCSAgICAgKi8KKwkJICAgIGZvciAoaiA9IDE7aiA8PSBuYk5zO2orKykKKwkJICAgICAgICBpZiAoY3R4dC0+bnNUYWJbY3R4dC0+bnNOciAtIDIgKiBqXSA9PSBhdHRuYW1lKQorCQkJICAgIGJyZWFrOworCSAgICAgICAgICAgIGlmIChqIDw9IG5iTnMpIGNvbnRpbnVlOworCisJCSAgICBuc25hbWUgPSB4bWxHZXROYW1lc3BhY2UoY3R4dCwgYXR0bmFtZSk7CisJCSAgICBpZiAobnNuYW1lICE9IGRlZmF1bHRzLT52YWx1ZXNbMl0pIHsKKwkJCWlmIChuc1B1c2goY3R4dCwgYXR0bmFtZSwKKwkJCSAgICAgICAgICAgZGVmYXVsdHMtPnZhbHVlc1s1ICogaSArIDJdKSA+IDApCisJCQkgICAgbmJOcysrOworCQkgICAgfQorCQl9IGVsc2UgeworCQkgICAgLyoKKwkJICAgICAqIGNoZWNrIHRoYXQgaXQncyBub3QgYSBkZWZpbmVkIGF0dHJpYnV0ZQorCQkgICAgICovCisJCSAgICBmb3IgKGogPSAwO2ogPCBuYmF0dHM7ais9NSkgeworCQkJaWYgKChhdHRuYW1lID09IGF0dHNbal0pICYmIChhcHJlZml4ID09IGF0dHNbaisxXSkpCisJCQkgICAgYnJlYWs7CisJCSAgICB9CisJCSAgICBpZiAoaiA8IG5iYXR0cykgY29udGludWU7CisKKwkJICAgIGlmICgoYXR0cyA9PSBOVUxMKSB8fCAobmJhdHRzICsgNSA+IG1heGF0dHMpKSB7CisJCQlpZiAoeG1sQ3R4dEdyb3dBdHRycyhjdHh0LCBuYmF0dHMgKyA1KSA8IDApIHsKKwkJCSAgICByZXR1cm4oTlVMTCk7CisJCQl9CisJCQltYXhhdHRzID0gY3R4dC0+bWF4YXR0czsKKwkJCWF0dHMgPSBjdHh0LT5hdHRzOworCQkgICAgfQorCQkgICAgYXR0c1tuYmF0dHMrK10gPSBhdHRuYW1lOworCQkgICAgYXR0c1tuYmF0dHMrK10gPSBhcHJlZml4OworCQkgICAgaWYgKGFwcmVmaXggPT0gTlVMTCkKKwkJCWF0dHNbbmJhdHRzKytdID0gTlVMTDsKKwkJICAgIGVsc2UKKwkJICAgICAgICBhdHRzW25iYXR0cysrXSA9IHhtbEdldE5hbWVzcGFjZShjdHh0LCBhcHJlZml4KTsKKwkJICAgIGF0dHNbbmJhdHRzKytdID0gZGVmYXVsdHMtPnZhbHVlc1s1ICogaSArIDJdOworCQkgICAgYXR0c1tuYmF0dHMrK10gPSBkZWZhdWx0cy0+dmFsdWVzWzUgKiBpICsgM107CisJCSAgICBpZiAoKGN0eHQtPnN0YW5kYWxvbmUgPT0gMSkgJiYKKwkJICAgICAgICAoZGVmYXVsdHMtPnZhbHVlc1s1ICogaSArIDRdICE9IE5VTEwpKSB7CisJCQl4bWxWYWxpZGl0eUVycm9yKGN0eHQsIFhNTF9EVERfU1RBTkRBTE9ORV9ERUZBVUxURUQsCisJICAic3RhbmRhbG9uZTogYXR0cmlidXRlICVzIG9uICVzIGRlZmF1bHRlZCBmcm9tIGV4dGVybmFsIHN1YnNldFxuIiwKKwkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRuYW1lLCBsb2NhbG5hbWUpOworCQkgICAgfQorCQkgICAgbmJkZWYrKzsKKwkJfQorCSAgICB9CisJfQorICAgIH0KKworICAgIC8qCisgICAgICogVGhlIGF0dHJpYnV0ZXMgY2hlY2tpbmdzCisgICAgICovCisgICAgZm9yIChpID0gMDsgaSA8IG5iYXR0cztpICs9IDUpIHsKKyAgICAgICAgLyoKKwkqIFRoZSBkZWZhdWx0IG5hbWVzcGFjZSBkb2VzIG5vdCBhcHBseSB0byBhdHRyaWJ1dGUgbmFtZXMuCisJKi8KKwlpZiAoYXR0c1tpICsgMV0gIT0gTlVMTCkgeworCSAgICBuc25hbWUgPSB4bWxHZXROYW1lc3BhY2UoY3R4dCwgYXR0c1tpICsgMV0pOworCSAgICBpZiAobnNuYW1lID09IE5VTEwpIHsKKwkJeG1sTnNFcnIoY3R4dCwgWE1MX05TX0VSUl9VTkRFRklORURfTkFNRVNQQUNFLAorCQkgICAgIk5hbWVzcGFjZSBwcmVmaXggJXMgZm9yICVzIG9uICVzIGlzIG5vdCBkZWZpbmVkXG4iLAorCQkgICAgYXR0c1tpICsgMV0sIGF0dHNbaV0sIGxvY2FsbmFtZSk7CisJICAgIH0KKwkgICAgYXR0c1tpICsgMl0gPSBuc25hbWU7CisJfSBlbHNlCisJICAgIG5zbmFtZSA9IE5VTEw7CisJLyoKKwkgKiBbIFdGQzogVW5pcXVlIEF0dCBTcGVjIF0KKwkgKiBObyBhdHRyaWJ1dGUgbmFtZSBtYXkgYXBwZWFyIG1vcmUgdGhhbiBvbmNlIGluIHRoZSBzYW1lCisJICogc3RhcnQtdGFnIG9yIGVtcHR5LWVsZW1lbnQgdGFnLgorCSAqIEFzIGV4dGVuZGVkIGJ5IHRoZSBOYW1lc3BhY2UgaW4gWE1MIFJFQy4KKwkgKi8KKyAgICAgICAgZm9yIChqID0gMDsgaiA8IGk7aiArPSA1KSB7CisJICAgIGlmIChhdHRzW2ldID09IGF0dHNbal0pIHsKKwkgICAgICAgIGlmIChhdHRzW2krMV0gPT0gYXR0c1tqKzFdKSB7CisJCSAgICB4bWxFcnJBdHRyaWJ1dGVEdXAoY3R4dCwgYXR0c1tpKzFdLCBhdHRzW2ldKTsKKwkJICAgIGJyZWFrOworCQl9CisJCWlmICgobnNuYW1lICE9IE5VTEwpICYmIChhdHRzW2ogKyAyXSA9PSBuc25hbWUpKSB7CisJCSAgICB4bWxOc0VycihjdHh0LCBYTUxfTlNfRVJSX0FUVFJJQlVURV9SRURFRklORUQsCisJCQkgICAgICJOYW1lc3BhY2VkIEF0dHJpYnV0ZSAlcyBpbiAnJXMnIHJlZGVmaW5lZFxuIiwKKwkJCSAgICAgYXR0c1tpXSwgbnNuYW1lLCBOVUxMKTsKKwkJICAgIGJyZWFrOworCQl9CisJICAgIH0KKwl9CisgICAgfQorCisgICAgbnNuYW1lID0geG1sR2V0TmFtZXNwYWNlKGN0eHQsIHByZWZpeCk7CisgICAgaWYgKChwcmVmaXggIT0gTlVMTCkgJiYgKG5zbmFtZSA9PSBOVUxMKSkgeworCXhtbE5zRXJyKGN0eHQsIFhNTF9OU19FUlJfVU5ERUZJTkVEX05BTUVTUEFDRSwKKwkgICAgICAgICAiTmFtZXNwYWNlIHByZWZpeCAlcyBvbiAlcyBpcyBub3QgZGVmaW5lZFxuIiwKKwkJIHByZWZpeCwgbG9jYWxuYW1lLCBOVUxMKTsKKyAgICB9CisgICAgKnByZWYgPSBwcmVmaXg7CisgICAgKlVSSSA9IG5zbmFtZTsKKworICAgIC8qCisgICAgICogU0FYOiBTdGFydCBvZiBFbGVtZW50ICEKKyAgICAgKi8KKyAgICBpZiAoKGN0eHQtPnNheCAhPSBOVUxMKSAmJiAoY3R4dC0+c2F4LT5zdGFydEVsZW1lbnROcyAhPSBOVUxMKSAmJgorCSghY3R4dC0+ZGlzYWJsZVNBWCkpIHsKKwlpZiAobmJOcyA+IDApCisJICAgIGN0eHQtPnNheC0+c3RhcnRFbGVtZW50TnMoY3R4dC0+dXNlckRhdGEsIGxvY2FsbmFtZSwgcHJlZml4LAorCQkJICBuc25hbWUsIG5iTnMsICZjdHh0LT5uc1RhYltjdHh0LT5uc05yIC0gMiAqIG5iTnNdLAorCQkJICBuYmF0dHMgLyA1LCBuYmRlZiwgYXR0cyk7CisJZWxzZQorCSAgICBjdHh0LT5zYXgtPnN0YXJ0RWxlbWVudE5zKGN0eHQtPnVzZXJEYXRhLCBsb2NhbG5hbWUsIHByZWZpeCwKKwkgICAgICAgICAgICAgICAgICBuc25hbWUsIDAsIE5VTEwsIG5iYXR0cyAvIDUsIG5iZGVmLCBhdHRzKTsKKyAgICB9CisKKyAgICAvKgorICAgICAqIEZyZWUgdXAgYXR0cmlidXRlIGFsbG9jYXRlZCBzdHJpbmdzIGlmIG5lZWRlZAorICAgICAqLworICAgIGlmIChhdHR2YWwgIT0gMCkgeworCWZvciAoaSA9IDMsaiA9IDA7IGogPCBucmF0dHM7aSArPSA1LGorKykKKwkgICAgaWYgKChjdHh0LT5hdHRhbGxvY3Nbal0gIT0gMCkgJiYgKGF0dHNbaV0gIT0gTlVMTCkpCisJICAgICAgICB4bWxGcmVlKCh4bWxDaGFyICopIGF0dHNbaV0pOworICAgIH0KKworICAgIHJldHVybihsb2NhbG5hbWUpOworCitiYXNlX2NoYW5nZWQ6CisgICAgLyoKKyAgICAgKiB0aGUgYXR0cmlidXRlIHN0cmluZ3MgYXJlIHZhbGlkIGlpZiB0aGUgYmFzZSBkaWRuJ3QgY2hhbmdlZAorICAgICAqLworICAgIGlmIChhdHR2YWwgIT0gMCkgeworCWZvciAoaSA9IDMsaiA9IDA7IGogPCBucmF0dHM7aSArPSA1LGorKykKKwkgICAgaWYgKChjdHh0LT5hdHRhbGxvY3Nbal0gIT0gMCkgJiYgKGF0dHNbaV0gIT0gTlVMTCkpCisJICAgICAgICB4bWxGcmVlKCh4bWxDaGFyICopIGF0dHNbaV0pOworICAgIH0KKyAgICBjdHh0LT5pbnB1dC0+Y3VyID0gY3R4dC0+aW5wdXQtPmJhc2UgKyBjdXI7CisgICAgY3R4dC0+aW5wdXQtPmxpbmUgPSBvbGRsaW5lOworICAgIGN0eHQtPmlucHV0LT5jb2wgPSBvbGRjb2w7CisgICAgaWYgKGN0eHQtPndlbGxGb3JtZWQgPT0gMSkgeworCWdvdG8gcmVwYXJzZTsKKyAgICB9CisgICAgcmV0dXJuKE5VTEwpOworfQorCisvKioKKyAqIHhtbFBhcnNlRW5kVGFnMjoKKyAqIEBjdHh0OiAgYW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAbGluZTogIGxpbmUgb2YgdGhlIHN0YXJ0IHRhZworICogQG5zTnI6ICBudW1iZXIgb2YgbmFtZXNwYWNlcyBvbiB0aGUgc3RhcnQgdGFnCisgKgorICogcGFyc2UgYW4gZW5kIG9mIHRhZworICoKKyAqIFs0Ml0gRVRhZyA6Oj0gJzwvJyBOYW1lIFM/ICc+JworICoKKyAqIFdpdGggbmFtZXNwYWNlCisgKgorICogW05TIDldIEVUYWcgOjo9ICc8LycgUU5hbWUgUz8gJz4nCisgKi8KKworc3RhdGljIHZvaWQKK3htbFBhcnNlRW5kVGFnMih4bWxQYXJzZXJDdHh0UHRyIGN0eHQsIGNvbnN0IHhtbENoYXIgKnByZWZpeCwKKyAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICpVUkksIGludCBsaW5lLCBpbnQgbnNOciwgaW50IHRsZW4pIHsKKyAgICBjb25zdCB4bWxDaGFyICpuYW1lOworCisgICAgR1JPVzsKKyAgICBpZiAoKFJBVyAhPSAnPCcpIHx8IChOWFQoMSkgIT0gJy8nKSkgeworCXhtbEZhdGFsRXJyKGN0eHQsIFhNTF9FUlJfTFRTTEFTSF9SRVFVSVJFRCwgTlVMTCk7CisJcmV0dXJuOworICAgIH0KKyAgICBTS0lQKDIpOworCisgICAgaWYgKCh0bGVuID4gMCkgJiYgKHhtbFN0cm5jbXAoY3R4dC0+aW5wdXQtPmN1ciwgY3R4dC0+bmFtZSwgdGxlbikgPT0gMCkpIHsKKyAgICAgICAgaWYgKGN0eHQtPmlucHV0LT5jdXJbdGxlbl0gPT0gJz4nKSB7CisJICAgIGN0eHQtPmlucHV0LT5jdXIgKz0gdGxlbiArIDE7CisJICAgIGN0eHQtPmlucHV0LT5jb2wgKz0gdGxlbiArIDE7CisJICAgIGdvdG8gZG9uZTsKKwl9CisJY3R4dC0+aW5wdXQtPmN1ciArPSB0bGVuOworCWN0eHQtPmlucHV0LT5jb2wgKz0gdGxlbjsKKwluYW1lID0gKHhtbENoYXIqKTE7CisgICAgfSBlbHNlIHsKKwlpZiAocHJlZml4ID09IE5VTEwpCisJICAgIG5hbWUgPSB4bWxQYXJzZU5hbWVBbmRDb21wYXJlKGN0eHQsIGN0eHQtPm5hbWUpOworCWVsc2UKKwkgICAgbmFtZSA9IHhtbFBhcnNlUU5hbWVBbmRDb21wYXJlKGN0eHQsIGN0eHQtPm5hbWUsIHByZWZpeCk7CisgICAgfQorCisgICAgLyoKKyAgICAgKiBXZSBzaG91bGQgZGVmaW5pdGVseSBiZSBhdCB0aGUgZW5kaW5nICJTPyAnPiciIHBhcnQKKyAgICAgKi8KKyAgICBHUk9XOworICAgIGlmIChjdHh0LT5pbnN0YXRlID09IFhNTF9QQVJTRVJfRU9GKQorICAgICAgICByZXR1cm47CisgICAgU0tJUF9CTEFOS1M7CisgICAgaWYgKCghSVNfQllURV9DSEFSKFJBVykpIHx8IChSQVcgIT0gJz4nKSkgeworCXhtbEZhdGFsRXJyKGN0eHQsIFhNTF9FUlJfR1RfUkVRVUlSRUQsIE5VTEwpOworICAgIH0gZWxzZQorCU5FWFQxOworCisgICAgLyoKKyAgICAgKiBbIFdGQzogRWxlbWVudCBUeXBlIE1hdGNoIF0KKyAgICAgKiBUaGUgTmFtZSBpbiBhbiBlbGVtZW50J3MgZW5kLXRhZyBtdXN0IG1hdGNoIHRoZSBlbGVtZW50IHR5cGUgaW4gdGhlCisgICAgICogc3RhcnQtdGFnLgorICAgICAqCisgICAgICovCisgICAgaWYgKG5hbWUgIT0gKHhtbENoYXIqKTEpIHsKKyAgICAgICAgaWYgKG5hbWUgPT0gTlVMTCkgbmFtZSA9IEJBRF9DQVNUICJ1bnBhcnNlYWJsZSI7CisgICAgICAgIGlmICgobGluZSA9PSAwKSAmJiAoY3R4dC0+bm9kZSAhPSBOVUxMKSkKKyAgICAgICAgICAgIGxpbmUgPSBjdHh0LT5ub2RlLT5saW5lOworICAgICAgICB4bWxGYXRhbEVyck1zZ1N0ckludFN0cihjdHh0LCBYTUxfRVJSX1RBR19OQU1FX01JU01BVENILAorCQkgICAgICJPcGVuaW5nIGFuZCBlbmRpbmcgdGFnIG1pc21hdGNoOiAlcyBsaW5lICVkIGFuZCAlc1xuIiwKKwkJICAgICAgICAgICAgICAgIGN0eHQtPm5hbWUsIGxpbmUsIG5hbWUpOworICAgIH0KKworICAgIC8qCisgICAgICogU0FYOiBFbmQgb2YgVGFnCisgICAgICovCitkb25lOgorICAgIGlmICgoY3R4dC0+c2F4ICE9IE5VTEwpICYmIChjdHh0LT5zYXgtPmVuZEVsZW1lbnROcyAhPSBOVUxMKSAmJgorCSghY3R4dC0+ZGlzYWJsZVNBWCkpCisJY3R4dC0+c2F4LT5lbmRFbGVtZW50TnMoY3R4dC0+dXNlckRhdGEsIGN0eHQtPm5hbWUsIHByZWZpeCwgVVJJKTsKKworICAgIHNwYWNlUG9wKGN0eHQpOworICAgIGlmIChuc05yICE9IDApCisJbnNQb3AoY3R4dCwgbnNOcik7CisgICAgcmV0dXJuOworfQorCisvKioKKyAqIHhtbFBhcnNlQ0RTZWN0OgorICogQGN0eHQ6ICBhbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqCisgKiBQYXJzZSBlc2NhcGVkIHB1cmUgcmF3IGNvbnRlbnQuCisgKgorICogWzE4XSBDRFNlY3QgOjo9IENEU3RhcnQgQ0RhdGEgQ0RFbmQKKyAqCisgKiBbMTldIENEU3RhcnQgOjo9ICc8IVtDREFUQVsnCisgKgorICogWzIwXSBEYXRhIDo6PSAoQ2hhciogLSAoQ2hhciogJ11dPicgQ2hhciopKQorICoKKyAqIFsyMV0gQ0RFbmQgOjo9ICddXT4nCisgKi8KK3ZvaWQKK3htbFBhcnNlQ0RTZWN0KHhtbFBhcnNlckN0eHRQdHIgY3R4dCkgeworICAgIHhtbENoYXIgKmJ1ZiA9IE5VTEw7CisgICAgaW50IGxlbiA9IDA7CisgICAgaW50IHNpemUgPSBYTUxfUEFSU0VSX0JVRkZFUl9TSVpFOworICAgIGludCByLCBybDsKKyAgICBpbnQJcywgc2w7CisgICAgaW50IGN1ciwgbDsKKyAgICBpbnQgY291bnQgPSAwOworCisgICAgLyogQ2hlY2sgMi42LjAgd2FzIE5YVCgwKSBub3QgUkFXICovCisgICAgaWYgKENNUDkoQ1VSX1BUUiwgJzwnLCAnIScsICdbJywgJ0MnLCAnRCcsICdBJywgJ1QnLCAnQScsICdbJykpIHsKKwlTS0lQKDkpOworICAgIH0gZWxzZQorICAgICAgICByZXR1cm47CisKKyAgICBjdHh0LT5pbnN0YXRlID0gWE1MX1BBUlNFUl9DREFUQV9TRUNUSU9OOworICAgIHIgPSBDVVJfQ0hBUihybCk7CisgICAgaWYgKCFJU19DSEFSKHIpKSB7CisJeG1sRmF0YWxFcnIoY3R4dCwgWE1MX0VSUl9DREFUQV9OT1RfRklOSVNIRUQsIE5VTEwpOworCWN0eHQtPmluc3RhdGUgPSBYTUxfUEFSU0VSX0NPTlRFTlQ7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgTkVYVEwocmwpOworICAgIHMgPSBDVVJfQ0hBUihzbCk7CisgICAgaWYgKCFJU19DSEFSKHMpKSB7CisJeG1sRmF0YWxFcnIoY3R4dCwgWE1MX0VSUl9DREFUQV9OT1RfRklOSVNIRUQsIE5VTEwpOworCWN0eHQtPmluc3RhdGUgPSBYTUxfUEFSU0VSX0NPTlRFTlQ7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgTkVYVEwoc2wpOworICAgIGN1ciA9IENVUl9DSEFSKGwpOworICAgIGJ1ZiA9ICh4bWxDaGFyICopIHhtbE1hbGxvY0F0b21pYyhzaXplICogc2l6ZW9mKHhtbENoYXIpKTsKKyAgICBpZiAoYnVmID09IE5VTEwpIHsKKwl4bWxFcnJNZW1vcnkoY3R4dCwgTlVMTCk7CisJcmV0dXJuOworICAgIH0KKyAgICB3aGlsZSAoSVNfQ0hBUihjdXIpICYmCisgICAgICAgICAgICgociAhPSAnXScpIHx8IChzICE9ICddJykgfHwgKGN1ciAhPSAnPicpKSkgeworCWlmIChsZW4gKyA1ID49IHNpemUpIHsKKwkgICAgeG1sQ2hhciAqdG1wOworCisgICAgICAgICAgICBpZiAoKHNpemUgPiBYTUxfTUFYX1RFWFRfTEVOR1RIKSAmJgorICAgICAgICAgICAgICAgICgoY3R4dC0+b3B0aW9ucyAmIFhNTF9QQVJTRV9IVUdFKSA9PSAwKSkgeworICAgICAgICAgICAgICAgIHhtbEZhdGFsRXJyTXNnU3RyKGN0eHQsIFhNTF9FUlJfQ0RBVEFfTk9UX0ZJTklTSEVELAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQ0RhdGEgc2VjdGlvbiB0b28gYmlnIGZvdW5kIiwgTlVMTCk7CisgICAgICAgICAgICAgICAgeG1sRnJlZSAoYnVmKTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisJICAgIHRtcCA9ICh4bWxDaGFyICopIHhtbFJlYWxsb2MoYnVmLCBzaXplICogMiAqIHNpemVvZih4bWxDaGFyKSk7CisJICAgIGlmICh0bXAgPT0gTlVMTCkgeworCSAgICAgICAgeG1sRnJlZShidWYpOworCQl4bWxFcnJNZW1vcnkoY3R4dCwgTlVMTCk7CisJCXJldHVybjsKKwkgICAgfQorCSAgICBidWYgPSB0bXA7CisJICAgIHNpemUgKj0gMjsKKwl9CisJQ09QWV9CVUYocmwsYnVmLGxlbixyKTsKKwlyID0gczsKKwlybCA9IHNsOworCXMgPSBjdXI7CisJc2wgPSBsOworCWNvdW50Kys7CisJaWYgKGNvdW50ID4gNTApIHsKKwkgICAgR1JPVzsKKyAgICAgICAgICAgIGlmIChjdHh0LT5pbnN0YXRlID09IFhNTF9QQVJTRVJfRU9GKSB7CisJCXhtbEZyZWUoYnVmKTsKKwkJcmV0dXJuOworICAgICAgICAgICAgfQorCSAgICBjb3VudCA9IDA7CisJfQorCU5FWFRMKGwpOworCWN1ciA9IENVUl9DSEFSKGwpOworICAgIH0KKyAgICBidWZbbGVuXSA9IDA7CisgICAgY3R4dC0+aW5zdGF0ZSA9IFhNTF9QQVJTRVJfQ09OVEVOVDsKKyAgICBpZiAoY3VyICE9ICc+JykgeworCXhtbEZhdGFsRXJyTXNnU3RyKGN0eHQsIFhNTF9FUlJfQ0RBVEFfTk9UX0ZJTklTSEVELAorCSAgICAgICAgICAgICAgICAgICAgICJDRGF0YSBzZWN0aW9uIG5vdCBmaW5pc2hlZFxuJS41MHNcbiIsIGJ1Zik7CisJeG1sRnJlZShidWYpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIE5FWFRMKGwpOworCisgICAgLyoKKyAgICAgKiBPSyB0aGUgYnVmZmVyIGlzIHRvIGJlIGNvbnN1bWVkIGFzIGNkYXRhLgorICAgICAqLworICAgIGlmICgoY3R4dC0+c2F4ICE9IE5VTEwpICYmICghY3R4dC0+ZGlzYWJsZVNBWCkpIHsKKwlpZiAoY3R4dC0+c2F4LT5jZGF0YUJsb2NrICE9IE5VTEwpCisJICAgIGN0eHQtPnNheC0+Y2RhdGFCbG9jayhjdHh0LT51c2VyRGF0YSwgYnVmLCBsZW4pOworCWVsc2UgaWYgKGN0eHQtPnNheC0+Y2hhcmFjdGVycyAhPSBOVUxMKQorCSAgICBjdHh0LT5zYXgtPmNoYXJhY3RlcnMoY3R4dC0+dXNlckRhdGEsIGJ1ZiwgbGVuKTsKKyAgICB9CisgICAgeG1sRnJlZShidWYpOworfQorCisvKioKKyAqIHhtbFBhcnNlQ29udGVudDoKKyAqIEBjdHh0OiAgYW4gWE1MIHBhcnNlciBjb250ZXh0CisgKgorICogUGFyc2UgYSBjb250ZW50OgorICoKKyAqIFs0M10gY29udGVudCA6Oj0gKGVsZW1lbnQgfCBDaGFyRGF0YSB8IFJlZmVyZW5jZSB8IENEU2VjdCB8IFBJIHwgQ29tbWVudCkqCisgKi8KKwordm9pZAoreG1sUGFyc2VDb250ZW50KHhtbFBhcnNlckN0eHRQdHIgY3R4dCkgeworICAgIEdST1c7CisgICAgd2hpbGUgKChSQVcgIT0gMCkgJiYKKwkgICAoKFJBVyAhPSAnPCcpIHx8IChOWFQoMSkgIT0gJy8nKSkgJiYKKwkgICAoY3R4dC0+aW5zdGF0ZSAhPSBYTUxfUEFSU0VSX0VPRikpIHsKKwljb25zdCB4bWxDaGFyICp0ZXN0ID0gQ1VSX1BUUjsKKwl1bnNpZ25lZCBpbnQgY29ucyA9IGN0eHQtPmlucHV0LT5jb25zdW1lZDsKKwljb25zdCB4bWxDaGFyICpjdXIgPSBjdHh0LT5pbnB1dC0+Y3VyOworCisJLyoKKwkgKiBGaXJzdCBjYXNlIDogYSBQcm9jZXNzaW5nIEluc3RydWN0aW9uLgorCSAqLworCWlmICgoKmN1ciA9PSAnPCcpICYmIChjdXJbMV0gPT0gJz8nKSkgeworCSAgICB4bWxQYXJzZVBJKGN0eHQpOworCX0KKworCS8qCisJICogU2Vjb25kIGNhc2UgOiBhIENEU2VjdGlvbgorCSAqLworCS8qIDIuNi4wIHRlc3Qgd2FzICpjdXIgbm90IFJBVyAqLworCWVsc2UgaWYgKENNUDkoQ1VSX1BUUiwgJzwnLCAnIScsICdbJywgJ0MnLCAnRCcsICdBJywgJ1QnLCAnQScsICdbJykpIHsKKwkgICAgeG1sUGFyc2VDRFNlY3QoY3R4dCk7CisJfQorCisJLyoKKwkgKiBUaGlyZCBjYXNlIDogIGEgY29tbWVudAorCSAqLworCWVsc2UgaWYgKCgqY3VyID09ICc8JykgJiYgKE5YVCgxKSA9PSAnIScpICYmCisJCSAoTlhUKDIpID09ICctJykgJiYgKE5YVCgzKSA9PSAnLScpKSB7CisJICAgIHhtbFBhcnNlQ29tbWVudChjdHh0KTsKKwkgICAgY3R4dC0+aW5zdGF0ZSA9IFhNTF9QQVJTRVJfQ09OVEVOVDsKKwl9CisKKwkvKgorCSAqIEZvdXJ0aCBjYXNlIDogIGEgc3ViLWVsZW1lbnQuCisJICovCisJZWxzZSBpZiAoKmN1ciA9PSAnPCcpIHsKKwkgICAgeG1sUGFyc2VFbGVtZW50KGN0eHQpOworCX0KKworCS8qCisJICogRmlmdGggY2FzZSA6IGEgcmVmZXJlbmNlLiBJZiBpZiBoYXMgbm90IGJlZW4gcmVzb2x2ZWQsCisJICogICAgcGFyc2luZyByZXR1cm5zIGl0J3MgTmFtZSwgY3JlYXRlIHRoZSBub2RlCisJICovCisKKwllbHNlIGlmICgqY3VyID09ICcmJykgeworCSAgICB4bWxQYXJzZVJlZmVyZW5jZShjdHh0KTsKKwl9CisKKwkvKgorCSAqIExhc3QgY2FzZSwgdGV4dC4gTm90ZSB0aGF0IFJlZmVyZW5jZXMgYXJlIGhhbmRsZWQgZGlyZWN0bHkuCisJICovCisJZWxzZSB7CisJICAgIHhtbFBhcnNlQ2hhckRhdGEoY3R4dCwgMCk7CisJfQorCisJR1JPVzsKKwkvKgorCSAqIFBvcC11cCBvZiBmaW5pc2hlZCBlbnRpdGllcy4KKwkgKi8KKwl3aGlsZSAoKFJBVyA9PSAwKSAmJiAoY3R4dC0+aW5wdXROciA+IDEpKQorCSAgICB4bWxQb3BJbnB1dChjdHh0KTsKKwlTSFJJTks7CisKKwlpZiAoKGNvbnMgPT0gY3R4dC0+aW5wdXQtPmNvbnN1bWVkKSAmJiAodGVzdCA9PSBDVVJfUFRSKSkgeworCSAgICB4bWxGYXRhbEVycihjdHh0LCBYTUxfRVJSX0lOVEVSTkFMX0VSUk9SLAorCSAgICAgICAgICAgICAgICAiZGV0ZWN0ZWQgYW4gZXJyb3IgaW4gZWxlbWVudCBjb250ZW50XG4iKTsKKwkgICAgY3R4dC0+aW5zdGF0ZSA9IFhNTF9QQVJTRVJfRU9GOworICAgICAgICAgICAgYnJlYWs7CisJfQorICAgIH0KK30KKworLyoqCisgKiB4bWxQYXJzZUVsZW1lbnQ6CisgKiBAY3R4dDogIGFuIFhNTCBwYXJzZXIgY29udGV4dAorICoKKyAqIHBhcnNlIGFuIFhNTCBlbGVtZW50LCB0aGlzIGlzIGhpZ2hseSByZWN1cnNpdmUKKyAqCisgKiBbMzldIGVsZW1lbnQgOjo9IEVtcHR5RWxlbVRhZyB8IFNUYWcgY29udGVudCBFVGFnCisgKgorICogWyBXRkM6IEVsZW1lbnQgVHlwZSBNYXRjaCBdCisgKiBUaGUgTmFtZSBpbiBhbiBlbGVtZW50J3MgZW5kLXRhZyBtdXN0IG1hdGNoIHRoZSBlbGVtZW50IHR5cGUgaW4gdGhlCisgKiBzdGFydC10YWcuCisgKgorICovCisKK3ZvaWQKK3htbFBhcnNlRWxlbWVudCh4bWxQYXJzZXJDdHh0UHRyIGN0eHQpIHsKKyAgICBjb25zdCB4bWxDaGFyICpuYW1lOworICAgIGNvbnN0IHhtbENoYXIgKnByZWZpeCA9IE5VTEw7CisgICAgY29uc3QgeG1sQ2hhciAqVVJJID0gTlVMTDsKKyAgICB4bWxQYXJzZXJOb2RlSW5mbyBub2RlX2luZm87CisgICAgaW50IGxpbmUsIHRsZW4gPSAwOworICAgIHhtbE5vZGVQdHIgcmV0OworICAgIGludCBuc05yID0gY3R4dC0+bnNOcjsKKworICAgIGlmICgoKHVuc2lnbmVkIGludCkgY3R4dC0+bmFtZU5yID4geG1sUGFyc2VyTWF4RGVwdGgpICYmCisgICAgICAgICgoY3R4dC0+b3B0aW9ucyAmIFhNTF9QQVJTRV9IVUdFKSA9PSAwKSkgeworCXhtbEZhdGFsRXJyTXNnSW50KGN0eHQsIFhNTF9FUlJfSU5URVJOQUxfRVJST1IsCisJCSAiRXhjZXNzaXZlIGRlcHRoIGluIGRvY3VtZW50OiAlZCB1c2UgWE1MX1BBUlNFX0hVR0Ugb3B0aW9uXG4iLAorCQkJICB4bWxQYXJzZXJNYXhEZXB0aCk7CisJY3R4dC0+aW5zdGF0ZSA9IFhNTF9QQVJTRVJfRU9GOworCXJldHVybjsKKyAgICB9CisKKyAgICAvKiBDYXB0dXJlIHN0YXJ0IHBvc2l0aW9uICovCisgICAgaWYgKGN0eHQtPnJlY29yZF9pbmZvKSB7CisgICAgICAgIG5vZGVfaW5mby5iZWdpbl9wb3MgPSBjdHh0LT5pbnB1dC0+Y29uc3VtZWQgKworICAgICAgICAgICAgICAgICAgICAgICAgICAoQ1VSX1BUUiAtIGN0eHQtPmlucHV0LT5iYXNlKTsKKwlub2RlX2luZm8uYmVnaW5fbGluZSA9IGN0eHQtPmlucHV0LT5saW5lOworICAgIH0KKworICAgIGlmIChjdHh0LT5zcGFjZU5yID09IDApCisJc3BhY2VQdXNoKGN0eHQsIC0xKTsKKyAgICBlbHNlIGlmICgqY3R4dC0+c3BhY2UgPT0gLTIpCisJc3BhY2VQdXNoKGN0eHQsIC0xKTsKKyAgICBlbHNlCisJc3BhY2VQdXNoKGN0eHQsICpjdHh0LT5zcGFjZSk7CisKKyAgICBsaW5lID0gY3R4dC0+aW5wdXQtPmxpbmU7CisjaWZkZWYgTElCWE1MX1NBWDFfRU5BQkxFRAorICAgIGlmIChjdHh0LT5zYXgyKQorI2VuZGlmIC8qIExJQlhNTF9TQVgxX0VOQUJMRUQgKi8KKyAgICAgICAgbmFtZSA9IHhtbFBhcnNlU3RhcnRUYWcyKGN0eHQsICZwcmVmaXgsICZVUkksICZ0bGVuKTsKKyNpZmRlZiBMSUJYTUxfU0FYMV9FTkFCTEVECisgICAgZWxzZQorCW5hbWUgPSB4bWxQYXJzZVN0YXJ0VGFnKGN0eHQpOworI2VuZGlmIC8qIExJQlhNTF9TQVgxX0VOQUJMRUQgKi8KKyAgICBpZiAoY3R4dC0+aW5zdGF0ZSA9PSBYTUxfUEFSU0VSX0VPRikKKwlyZXR1cm47CisgICAgaWYgKG5hbWUgPT0gTlVMTCkgeworCXNwYWNlUG9wKGN0eHQpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIG5hbWVQdXNoKGN0eHQsIG5hbWUpOworICAgIHJldCA9IGN0eHQtPm5vZGU7CisKKyNpZmRlZiBMSUJYTUxfVkFMSURfRU5BQkxFRAorICAgIC8qCisgICAgICogWyBWQzogUm9vdCBFbGVtZW50IFR5cGUgXQorICAgICAqIFRoZSBOYW1lIGluIHRoZSBkb2N1bWVudCB0eXBlIGRlY2xhcmF0aW9uIG11c3QgbWF0Y2ggdGhlIGVsZW1lbnQKKyAgICAgKiB0eXBlIG9mIHRoZSByb290IGVsZW1lbnQuCisgICAgICovCisgICAgaWYgKGN0eHQtPnZhbGlkYXRlICYmIGN0eHQtPndlbGxGb3JtZWQgJiYgY3R4dC0+bXlEb2MgJiYKKyAgICAgICAgY3R4dC0+bm9kZSAmJiAoY3R4dC0+bm9kZSA9PSBjdHh0LT5teURvYy0+Y2hpbGRyZW4pKQorICAgICAgICBjdHh0LT52YWxpZCAmPSB4bWxWYWxpZGF0ZVJvb3QoJmN0eHQtPnZjdHh0LCBjdHh0LT5teURvYyk7CisjZW5kaWYgLyogTElCWE1MX1ZBTElEX0VOQUJMRUQgKi8KKworICAgIC8qCisgICAgICogQ2hlY2sgZm9yIGFuIEVtcHR5IEVsZW1lbnQuCisgICAgICovCisgICAgaWYgKChSQVcgPT0gJy8nKSAmJiAoTlhUKDEpID09ICc+JykpIHsKKyAgICAgICAgU0tJUCgyKTsKKwlpZiAoY3R4dC0+c2F4MikgeworCSAgICBpZiAoKGN0eHQtPnNheCAhPSBOVUxMKSAmJiAoY3R4dC0+c2F4LT5lbmRFbGVtZW50TnMgIT0gTlVMTCkgJiYKKwkJKCFjdHh0LT5kaXNhYmxlU0FYKSkKKwkJY3R4dC0+c2F4LT5lbmRFbGVtZW50TnMoY3R4dC0+dXNlckRhdGEsIG5hbWUsIHByZWZpeCwgVVJJKTsKKyNpZmRlZiBMSUJYTUxfU0FYMV9FTkFCTEVECisJfSBlbHNlIHsKKwkgICAgaWYgKChjdHh0LT5zYXggIT0gTlVMTCkgJiYgKGN0eHQtPnNheC0+ZW5kRWxlbWVudCAhPSBOVUxMKSAmJgorCQkoIWN0eHQtPmRpc2FibGVTQVgpKQorCQljdHh0LT5zYXgtPmVuZEVsZW1lbnQoY3R4dC0+dXNlckRhdGEsIG5hbWUpOworI2VuZGlmIC8qIExJQlhNTF9TQVgxX0VOQUJMRUQgKi8KKwl9CisJbmFtZVBvcChjdHh0KTsKKwlzcGFjZVBvcChjdHh0KTsKKwlpZiAobnNOciAhPSBjdHh0LT5uc05yKQorCSAgICBuc1BvcChjdHh0LCBjdHh0LT5uc05yIC0gbnNOcik7CisJaWYgKCByZXQgIT0gTlVMTCAmJiBjdHh0LT5yZWNvcmRfaW5mbyApIHsKKwkgICBub2RlX2luZm8uZW5kX3BvcyA9IGN0eHQtPmlucHV0LT5jb25zdW1lZCArCisJCQkgICAgICAoQ1VSX1BUUiAtIGN0eHQtPmlucHV0LT5iYXNlKTsKKwkgICBub2RlX2luZm8uZW5kX2xpbmUgPSBjdHh0LT5pbnB1dC0+bGluZTsKKwkgICBub2RlX2luZm8ubm9kZSA9IHJldDsKKwkgICB4bWxQYXJzZXJBZGROb2RlSW5mbyhjdHh0LCAmbm9kZV9pbmZvKTsKKwl9CisJcmV0dXJuOworICAgIH0KKyAgICBpZiAoUkFXID09ICc+JykgeworICAgICAgICBORVhUMTsKKyAgICB9IGVsc2UgeworICAgICAgICB4bWxGYXRhbEVyck1zZ1N0ckludFN0cihjdHh0LCBYTUxfRVJSX0dUX1JFUVVJUkVELAorCQkgICAgICJDb3VsZG4ndCBmaW5kIGVuZCBvZiBTdGFydCBUYWcgJXMgbGluZSAlZFxuIiwKKwkJICAgICAgICAgICAgICAgIG5hbWUsIGxpbmUsIE5VTEwpOworCisJLyoKKwkgKiBlbmQgb2YgcGFyc2luZyBvZiB0aGlzIG5vZGUuCisJICovCisJbm9kZVBvcChjdHh0KTsKKwluYW1lUG9wKGN0eHQpOworCXNwYWNlUG9wKGN0eHQpOworCWlmIChuc05yICE9IGN0eHQtPm5zTnIpCisJICAgIG5zUG9wKGN0eHQsIGN0eHQtPm5zTnIgLSBuc05yKTsKKworCS8qCisJICogQ2FwdHVyZSBlbmQgcG9zaXRpb24gYW5kIGFkZCBub2RlCisJICovCisJaWYgKCByZXQgIT0gTlVMTCAmJiBjdHh0LT5yZWNvcmRfaW5mbyApIHsKKwkgICBub2RlX2luZm8uZW5kX3BvcyA9IGN0eHQtPmlucHV0LT5jb25zdW1lZCArCisJCQkgICAgICAoQ1VSX1BUUiAtIGN0eHQtPmlucHV0LT5iYXNlKTsKKwkgICBub2RlX2luZm8uZW5kX2xpbmUgPSBjdHh0LT5pbnB1dC0+bGluZTsKKwkgICBub2RlX2luZm8ubm9kZSA9IHJldDsKKwkgICB4bWxQYXJzZXJBZGROb2RlSW5mbyhjdHh0LCAmbm9kZV9pbmZvKTsKKwl9CisJcmV0dXJuOworICAgIH0KKworICAgIC8qCisgICAgICogUGFyc2UgdGhlIGNvbnRlbnQgb2YgdGhlIGVsZW1lbnQ6CisgICAgICovCisgICAgeG1sUGFyc2VDb250ZW50KGN0eHQpOworICAgIGlmIChjdHh0LT5pbnN0YXRlID09IFhNTF9QQVJTRVJfRU9GKQorCXJldHVybjsKKyAgICBpZiAoIUlTX0JZVEVfQ0hBUihSQVcpKSB7CisgICAgICAgIHhtbEZhdGFsRXJyTXNnU3RySW50U3RyKGN0eHQsIFhNTF9FUlJfVEFHX05PVF9GSU5JU0hFRCwKKwkgIlByZW1hdHVyZSBlbmQgb2YgZGF0YSBpbiB0YWcgJXMgbGluZSAlZFxuIiwKKwkJICAgICAgICAgICAgICAgIG5hbWUsIGxpbmUsIE5VTEwpOworCisJLyoKKwkgKiBlbmQgb2YgcGFyc2luZyBvZiB0aGlzIG5vZGUuCisJICovCisJbm9kZVBvcChjdHh0KTsKKwluYW1lUG9wKGN0eHQpOworCXNwYWNlUG9wKGN0eHQpOworCWlmIChuc05yICE9IGN0eHQtPm5zTnIpCisJICAgIG5zUG9wKGN0eHQsIGN0eHQtPm5zTnIgLSBuc05yKTsKKwlyZXR1cm47CisgICAgfQorCisgICAgLyoKKyAgICAgKiBwYXJzZSB0aGUgZW5kIG9mIHRhZzogJzwvJyBzaG91bGQgYmUgaGVyZS4KKyAgICAgKi8KKyAgICBpZiAoY3R4dC0+c2F4MikgeworCXhtbFBhcnNlRW5kVGFnMihjdHh0LCBwcmVmaXgsIFVSSSwgbGluZSwgY3R4dC0+bnNOciAtIG5zTnIsIHRsZW4pOworCW5hbWVQb3AoY3R4dCk7CisgICAgfQorI2lmZGVmIExJQlhNTF9TQVgxX0VOQUJMRUQKKyAgICAgIGVsc2UKKwl4bWxQYXJzZUVuZFRhZzEoY3R4dCwgbGluZSk7CisjZW5kaWYgLyogTElCWE1MX1NBWDFfRU5BQkxFRCAqLworCisgICAgLyoKKyAgICAgKiBDYXB0dXJlIGVuZCBwb3NpdGlvbiBhbmQgYWRkIG5vZGUKKyAgICAgKi8KKyAgICBpZiAoIHJldCAhPSBOVUxMICYmIGN0eHQtPnJlY29yZF9pbmZvICkgeworICAgICAgIG5vZGVfaW5mby5lbmRfcG9zID0gY3R4dC0+aW5wdXQtPmNvbnN1bWVkICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKENVUl9QVFIgLSBjdHh0LT5pbnB1dC0+YmFzZSk7CisgICAgICAgbm9kZV9pbmZvLmVuZF9saW5lID0gY3R4dC0+aW5wdXQtPmxpbmU7CisgICAgICAgbm9kZV9pbmZvLm5vZGUgPSByZXQ7CisgICAgICAgeG1sUGFyc2VyQWRkTm9kZUluZm8oY3R4dCwgJm5vZGVfaW5mbyk7CisgICAgfQorfQorCisvKioKKyAqIHhtbFBhcnNlVmVyc2lvbk51bToKKyAqIEBjdHh0OiAgYW4gWE1MIHBhcnNlciBjb250ZXh0CisgKgorICogcGFyc2UgdGhlIFhNTCB2ZXJzaW9uIHZhbHVlLgorICoKKyAqIFsyNl0gVmVyc2lvbk51bSA6Oj0gJzEuJyBbMC05XSsKKyAqCisgKiBJbiBwcmFjdGljZSBhbGxvdyBbMC05XS5bMC05XSsgYXQgdGhhdCBsZXZlbAorICoKKyAqIFJldHVybnMgdGhlIHN0cmluZyBnaXZpbmcgdGhlIFhNTCB2ZXJzaW9uIG51bWJlciwgb3IgTlVMTAorICovCit4bWxDaGFyICoKK3htbFBhcnNlVmVyc2lvbk51bSh4bWxQYXJzZXJDdHh0UHRyIGN0eHQpIHsKKyAgICB4bWxDaGFyICpidWYgPSBOVUxMOworICAgIGludCBsZW4gPSAwOworICAgIGludCBzaXplID0gMTA7CisgICAgeG1sQ2hhciBjdXI7CisKKyAgICBidWYgPSAoeG1sQ2hhciAqKSB4bWxNYWxsb2NBdG9taWMoc2l6ZSAqIHNpemVvZih4bWxDaGFyKSk7CisgICAgaWYgKGJ1ZiA9PSBOVUxMKSB7CisJeG1sRXJyTWVtb3J5KGN0eHQsIE5VTEwpOworCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgY3VyID0gQ1VSOworICAgIGlmICghKChjdXIgPj0gJzAnKSAmJiAoY3VyIDw9ICc5JykpKSB7CisJeG1sRnJlZShidWYpOworCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgYnVmW2xlbisrXSA9IGN1cjsKKyAgICBORVhUOworICAgIGN1cj1DVVI7CisgICAgaWYgKGN1ciAhPSAnLicpIHsKKwl4bWxGcmVlKGJ1Zik7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBidWZbbGVuKytdID0gY3VyOworICAgIE5FWFQ7CisgICAgY3VyPUNVUjsKKyAgICB3aGlsZSAoKGN1ciA+PSAnMCcpICYmIChjdXIgPD0gJzknKSkgeworCWlmIChsZW4gKyAxID49IHNpemUpIHsKKwkgICAgeG1sQ2hhciAqdG1wOworCisJICAgIHNpemUgKj0gMjsKKwkgICAgdG1wID0gKHhtbENoYXIgKikgeG1sUmVhbGxvYyhidWYsIHNpemUgKiBzaXplb2YoeG1sQ2hhcikpOworCSAgICBpZiAodG1wID09IE5VTEwpIHsKKwkgICAgICAgIHhtbEZyZWUoYnVmKTsKKwkJeG1sRXJyTWVtb3J5KGN0eHQsIE5VTEwpOworCQlyZXR1cm4oTlVMTCk7CisJICAgIH0KKwkgICAgYnVmID0gdG1wOworCX0KKwlidWZbbGVuKytdID0gY3VyOworCU5FWFQ7CisJY3VyPUNVUjsKKyAgICB9CisgICAgYnVmW2xlbl0gPSAwOworICAgIHJldHVybihidWYpOworfQorCisvKioKKyAqIHhtbFBhcnNlVmVyc2lvbkluZm86CisgKiBAY3R4dDogIGFuIFhNTCBwYXJzZXIgY29udGV4dAorICoKKyAqIHBhcnNlIHRoZSBYTUwgdmVyc2lvbi4KKyAqCisgKiBbMjRdIFZlcnNpb25JbmZvIDo6PSBTICd2ZXJzaW9uJyBFcSAoJyBWZXJzaW9uTnVtICcgfCAiIFZlcnNpb25OdW0gIikKKyAqCisgKiBbMjVdIEVxIDo6PSBTPyAnPScgUz8KKyAqCisgKiBSZXR1cm5zIHRoZSB2ZXJzaW9uIHN0cmluZywgZS5nLiAiMS4wIgorICovCisKK3htbENoYXIgKgoreG1sUGFyc2VWZXJzaW9uSW5mbyh4bWxQYXJzZXJDdHh0UHRyIGN0eHQpIHsKKyAgICB4bWxDaGFyICp2ZXJzaW9uID0gTlVMTDsKKworICAgIGlmIChDTVA3KENVUl9QVFIsICd2JywgJ2UnLCAncicsICdzJywgJ2knLCAnbycsICduJykpIHsKKwlTS0lQKDcpOworCVNLSVBfQkxBTktTOworCWlmIChSQVcgIT0gJz0nKSB7CisJICAgIHhtbEZhdGFsRXJyKGN0eHQsIFhNTF9FUlJfRVFVQUxfUkVRVUlSRUQsIE5VTEwpOworCSAgICByZXR1cm4oTlVMTCk7CisgICAgICAgIH0KKwlORVhUOworCVNLSVBfQkxBTktTOworCWlmIChSQVcgPT0gJyInKSB7CisJICAgIE5FWFQ7CisJICAgIHZlcnNpb24gPSB4bWxQYXJzZVZlcnNpb25OdW0oY3R4dCk7CisJICAgIGlmIChSQVcgIT0gJyInKSB7CisJCXhtbEZhdGFsRXJyKGN0eHQsIFhNTF9FUlJfU1RSSU5HX05PVF9DTE9TRUQsIE5VTEwpOworCSAgICB9IGVsc2UKKwkgICAgICAgIE5FWFQ7CisJfSBlbHNlIGlmIChSQVcgPT0gJ1wnJyl7CisJICAgIE5FWFQ7CisJICAgIHZlcnNpb24gPSB4bWxQYXJzZVZlcnNpb25OdW0oY3R4dCk7CisJICAgIGlmIChSQVcgIT0gJ1wnJykgeworCQl4bWxGYXRhbEVycihjdHh0LCBYTUxfRVJSX1NUUklOR19OT1RfQ0xPU0VELCBOVUxMKTsKKwkgICAgfSBlbHNlCisJICAgICAgICBORVhUOworCX0gZWxzZSB7CisJICAgIHhtbEZhdGFsRXJyKGN0eHQsIFhNTF9FUlJfU1RSSU5HX05PVF9TVEFSVEVELCBOVUxMKTsKKwl9CisgICAgfQorICAgIHJldHVybih2ZXJzaW9uKTsKK30KKworLyoqCisgKiB4bWxQYXJzZUVuY05hbWU6CisgKiBAY3R4dDogIGFuIFhNTCBwYXJzZXIgY29udGV4dAorICoKKyAqIHBhcnNlIHRoZSBYTUwgZW5jb2RpbmcgbmFtZQorICoKKyAqIFs4MV0gRW5jTmFtZSA6Oj0gW0EtWmEtel0gKFtBLVphLXowLTkuX10gfCAnLScpKgorICoKKyAqIFJldHVybnMgdGhlIGVuY29kaW5nIG5hbWUgdmFsdWUgb3IgTlVMTAorICovCit4bWxDaGFyICoKK3htbFBhcnNlRW5jTmFtZSh4bWxQYXJzZXJDdHh0UHRyIGN0eHQpIHsKKyAgICB4bWxDaGFyICpidWYgPSBOVUxMOworICAgIGludCBsZW4gPSAwOworICAgIGludCBzaXplID0gMTA7CisgICAgeG1sQ2hhciBjdXI7CisKKyAgICBjdXIgPSBDVVI7CisgICAgaWYgKCgoY3VyID49ICdhJykgJiYgKGN1ciA8PSAneicpKSB8fAorICAgICAgICAoKGN1ciA+PSAnQScpICYmIChjdXIgPD0gJ1onKSkpIHsKKwlidWYgPSAoeG1sQ2hhciAqKSB4bWxNYWxsb2NBdG9taWMoc2l6ZSAqIHNpemVvZih4bWxDaGFyKSk7CisJaWYgKGJ1ZiA9PSBOVUxMKSB7CisJICAgIHhtbEVyck1lbW9yeShjdHh0LCBOVUxMKTsKKwkgICAgcmV0dXJuKE5VTEwpOworCX0KKworCWJ1ZltsZW4rK10gPSBjdXI7CisJTkVYVDsKKwljdXIgPSBDVVI7CisJd2hpbGUgKCgoY3VyID49ICdhJykgJiYgKGN1ciA8PSAneicpKSB8fAorCSAgICAgICAoKGN1ciA+PSAnQScpICYmIChjdXIgPD0gJ1onKSkgfHwKKwkgICAgICAgKChjdXIgPj0gJzAnKSAmJiAoY3VyIDw9ICc5JykpIHx8CisJICAgICAgIChjdXIgPT0gJy4nKSB8fCAoY3VyID09ICdfJykgfHwKKwkgICAgICAgKGN1ciA9PSAnLScpKSB7CisJICAgIGlmIChsZW4gKyAxID49IHNpemUpIHsKKwkgICAgICAgIHhtbENoYXIgKnRtcDsKKworCQlzaXplICo9IDI7CisJCXRtcCA9ICh4bWxDaGFyICopIHhtbFJlYWxsb2MoYnVmLCBzaXplICogc2l6ZW9mKHhtbENoYXIpKTsKKwkJaWYgKHRtcCA9PSBOVUxMKSB7CisJCSAgICB4bWxFcnJNZW1vcnkoY3R4dCwgTlVMTCk7CisJCSAgICB4bWxGcmVlKGJ1Zik7CisJCSAgICByZXR1cm4oTlVMTCk7CisJCX0KKwkJYnVmID0gdG1wOworCSAgICB9CisJICAgIGJ1ZltsZW4rK10gPSBjdXI7CisJICAgIE5FWFQ7CisJICAgIGN1ciA9IENVUjsKKwkgICAgaWYgKGN1ciA9PSAwKSB7CisJICAgICAgICBTSFJJTks7CisJCUdST1c7CisJCWN1ciA9IENVUjsKKwkgICAgfQorICAgICAgICB9CisJYnVmW2xlbl0gPSAwOworICAgIH0gZWxzZSB7CisJeG1sRmF0YWxFcnIoY3R4dCwgWE1MX0VSUl9FTkNPRElOR19OQU1FLCBOVUxMKTsKKyAgICB9CisgICAgcmV0dXJuKGJ1Zik7Cit9CisKKy8qKgorICogeG1sUGFyc2VFbmNvZGluZ0RlY2w6CisgKiBAY3R4dDogIGFuIFhNTCBwYXJzZXIgY29udGV4dAorICoKKyAqIHBhcnNlIHRoZSBYTUwgZW5jb2RpbmcgZGVjbGFyYXRpb24KKyAqCisgKiBbODBdIEVuY29kaW5nRGVjbCA6Oj0gUyAnZW5jb2RpbmcnIEVxICgnIicgRW5jTmFtZSAnIicgfCAgIiciIEVuY05hbWUgIiciKQorICoKKyAqIHRoaXMgc2V0dXBzIHRoZSBjb252ZXJzaW9uIGZpbHRlcnMuCisgKgorICogUmV0dXJucyB0aGUgZW5jb2RpbmcgdmFsdWUgb3IgTlVMTAorICovCisKK2NvbnN0IHhtbENoYXIgKgoreG1sUGFyc2VFbmNvZGluZ0RlY2woeG1sUGFyc2VyQ3R4dFB0ciBjdHh0KSB7CisgICAgeG1sQ2hhciAqZW5jb2RpbmcgPSBOVUxMOworCisgICAgU0tJUF9CTEFOS1M7CisgICAgaWYgKENNUDgoQ1VSX1BUUiwgJ2UnLCAnbicsICdjJywgJ28nLCAnZCcsICdpJywgJ24nLCAnZycpKSB7CisJU0tJUCg4KTsKKwlTS0lQX0JMQU5LUzsKKwlpZiAoUkFXICE9ICc9JykgeworCSAgICB4bWxGYXRhbEVycihjdHh0LCBYTUxfRVJSX0VRVUFMX1JFUVVJUkVELCBOVUxMKTsKKwkgICAgcmV0dXJuKE5VTEwpOworICAgICAgICB9CisJTkVYVDsKKwlTS0lQX0JMQU5LUzsKKwlpZiAoUkFXID09ICciJykgeworCSAgICBORVhUOworCSAgICBlbmNvZGluZyA9IHhtbFBhcnNlRW5jTmFtZShjdHh0KTsKKwkgICAgaWYgKFJBVyAhPSAnIicpIHsKKwkJeG1sRmF0YWxFcnIoY3R4dCwgWE1MX0VSUl9TVFJJTkdfTk9UX0NMT1NFRCwgTlVMTCk7CisJICAgIH0gZWxzZQorCSAgICAgICAgTkVYVDsKKwl9IGVsc2UgaWYgKFJBVyA9PSAnXCcnKXsKKwkgICAgTkVYVDsKKwkgICAgZW5jb2RpbmcgPSB4bWxQYXJzZUVuY05hbWUoY3R4dCk7CisJICAgIGlmIChSQVcgIT0gJ1wnJykgeworCQl4bWxGYXRhbEVycihjdHh0LCBYTUxfRVJSX1NUUklOR19OT1RfQ0xPU0VELCBOVUxMKTsKKwkgICAgfSBlbHNlCisJICAgICAgICBORVhUOworCX0gZWxzZSB7CisJICAgIHhtbEZhdGFsRXJyKGN0eHQsIFhNTF9FUlJfU1RSSU5HX05PVF9TVEFSVEVELCBOVUxMKTsKKwl9CisKKyAgICAgICAgLyoKKyAgICAgICAgICogTm9uIHN0YW5kYXJkIHBhcnNpbmcsIGFsbG93aW5nIHRoZSB1c2VyIHRvIGlnbm9yZSBlbmNvZGluZworICAgICAgICAgKi8KKyAgICAgICAgaWYgKGN0eHQtPm9wdGlvbnMgJiBYTUxfUEFSU0VfSUdOT1JFX0VOQykgeworCSAgICB4bWxGcmVlKCh4bWxDaGFyICopIGVuY29kaW5nKTsKKyAgICAgICAgICAgIHJldHVybihOVUxMKTsKKwl9CisKKwkvKgorCSAqIFVURi0xNiBlbmNvZGluZyBzdHdpY2ggaGFzIGFscmVhZHkgdGFrZW4gcGxhY2UgYXQgdGhpcyBzdGFnZSwKKwkgKiBtb3JlIG92ZXIgdGhlIGxpdHRsZS1lbmRpYW4vYmlnLWVuZGlhbiBzZWxlY3Rpb24gaXMgYWxyZWFkeSBkb25lCisJICovCisgICAgICAgIGlmICgoZW5jb2RpbmcgIT0gTlVMTCkgJiYKKwkgICAgKCgheG1sU3RyY2FzZWNtcChlbmNvZGluZywgQkFEX0NBU1QgIlVURi0xNiIpKSB8fAorCSAgICAgKCF4bWxTdHJjYXNlY21wKGVuY29kaW5nLCBCQURfQ0FTVCAiVVRGMTYiKSkpKSB7CisJICAgIC8qCisJICAgICAqIElmIG5vIGVuY29kaW5nIHdhcyBwYXNzZWQgdG8gdGhlIHBhcnNlciwgdGhhdCB3ZSBhcmUKKwkgICAgICogdXNpbmcgVVRGLTE2IGFuZCBubyBkZWNvZGVyIGlzIHByZXNlbnQgaS5lLiB0aGUKKwkgICAgICogZG9jdW1lbnQgaXMgYXBwYXJlbnRseSBVVEYtOCBjb21wYXRpYmxlLCB0aGVuIHJhaXNlIGFuCisJICAgICAqIGVuY29kaW5nIG1pc21hdGNoIGZhdGFsIGVycm9yCisJICAgICAqLworCSAgICBpZiAoKGN0eHQtPmVuY29kaW5nID09IE5VTEwpICYmCisJICAgICAgICAoY3R4dC0+aW5wdXQtPmJ1ZiAhPSBOVUxMKSAmJgorCSAgICAgICAgKGN0eHQtPmlucHV0LT5idWYtPmVuY29kZXIgPT0gTlVMTCkpIHsKKwkJeG1sRmF0YWxFcnJNc2coY3R4dCwgWE1MX0VSUl9JTlZBTElEX0VOQ09ESU5HLAorCQkgICJEb2N1bWVudCBsYWJlbGxlZCBVVEYtMTYgYnV0IGhhcyBVVEYtOCBjb250ZW50XG4iKTsKKwkgICAgfQorCSAgICBpZiAoY3R4dC0+ZW5jb2RpbmcgIT0gTlVMTCkKKwkJeG1sRnJlZSgoeG1sQ2hhciAqKSBjdHh0LT5lbmNvZGluZyk7CisJICAgIGN0eHQtPmVuY29kaW5nID0gZW5jb2Rpbmc7CisJfQorCS8qCisJICogVVRGLTggZW5jb2RpbmcgaXMgaGFuZGxlZCBuYXRpdmVseQorCSAqLworICAgICAgICBlbHNlIGlmICgoZW5jb2RpbmcgIT0gTlVMTCkgJiYKKwkgICAgKCgheG1sU3RyY2FzZWNtcChlbmNvZGluZywgQkFEX0NBU1QgIlVURi04IikpIHx8CisJICAgICAoIXhtbFN0cmNhc2VjbXAoZW5jb2RpbmcsIEJBRF9DQVNUICJVVEY4IikpKSkgeworCSAgICBpZiAoY3R4dC0+ZW5jb2RpbmcgIT0gTlVMTCkKKwkJeG1sRnJlZSgoeG1sQ2hhciAqKSBjdHh0LT5lbmNvZGluZyk7CisJICAgIGN0eHQtPmVuY29kaW5nID0gZW5jb2Rpbmc7CisJfQorCWVsc2UgaWYgKGVuY29kaW5nICE9IE5VTEwpIHsKKwkgICAgeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0ciBoYW5kbGVyOworCisJICAgIGlmIChjdHh0LT5pbnB1dC0+ZW5jb2RpbmcgIT0gTlVMTCkKKwkJeG1sRnJlZSgoeG1sQ2hhciAqKSBjdHh0LT5pbnB1dC0+ZW5jb2RpbmcpOworCSAgICBjdHh0LT5pbnB1dC0+ZW5jb2RpbmcgPSBlbmNvZGluZzsKKworICAgICAgICAgICAgaGFuZGxlciA9IHhtbEZpbmRDaGFyRW5jb2RpbmdIYW5kbGVyKChjb25zdCBjaGFyICopIGVuY29kaW5nKTsKKwkgICAgaWYgKGhhbmRsZXIgIT0gTlVMTCkgeworCQl4bWxTd2l0Y2hUb0VuY29kaW5nKGN0eHQsIGhhbmRsZXIpOworCSAgICB9IGVsc2UgeworCQl4bWxGYXRhbEVyck1zZ1N0cihjdHh0LCBYTUxfRVJSX1VOU1VQUE9SVEVEX0VOQ09ESU5HLAorCQkJIlVuc3VwcG9ydGVkIGVuY29kaW5nICVzXG4iLCBlbmNvZGluZyk7CisJCXJldHVybihOVUxMKTsKKwkgICAgfQorCX0KKyAgICB9CisgICAgcmV0dXJuKGVuY29kaW5nKTsKK30KKworLyoqCisgKiB4bWxQYXJzZVNERGVjbDoKKyAqIEBjdHh0OiAgYW4gWE1MIHBhcnNlciBjb250ZXh0CisgKgorICogcGFyc2UgdGhlIFhNTCBzdGFuZGFsb25lIGRlY2xhcmF0aW9uCisgKgorICogWzMyXSBTRERlY2wgOjo9IFMgJ3N0YW5kYWxvbmUnIEVxCisgKiAgICAgICAgICAgICAgICAgKCgiJyIgKCd5ZXMnIHwgJ25vJykgIiciKSB8ICgnIicgKCd5ZXMnIHwgJ25vJyknIicpKQorICoKKyAqIFsgVkM6IFN0YW5kYWxvbmUgRG9jdW1lbnQgRGVjbGFyYXRpb24gXQorICogVE9ETyBUaGUgc3RhbmRhbG9uZSBkb2N1bWVudCBkZWNsYXJhdGlvbiBtdXN0IGhhdmUgdGhlIHZhbHVlICJubyIKKyAqIGlmIGFueSBleHRlcm5hbCBtYXJrdXAgZGVjbGFyYXRpb25zIGNvbnRhaW4gZGVjbGFyYXRpb25zIG9mOgorICogIC0gYXR0cmlidXRlcyB3aXRoIGRlZmF1bHQgdmFsdWVzLCBpZiBlbGVtZW50cyB0byB3aGljaCB0aGVzZQorICogICAgYXR0cmlidXRlcyBhcHBseSBhcHBlYXIgaW4gdGhlIGRvY3VtZW50IHdpdGhvdXQgc3BlY2lmaWNhdGlvbnMKKyAqICAgIG9mIHZhbHVlcyBmb3IgdGhlc2UgYXR0cmlidXRlcywgb3IKKyAqICAtIGVudGl0aWVzIChvdGhlciB0aGFuIGFtcCwgbHQsIGd0LCBhcG9zLCBxdW90KSwgaWYgcmVmZXJlbmNlcworICogICAgdG8gdGhvc2UgZW50aXRpZXMgYXBwZWFyIGluIHRoZSBkb2N1bWVudCwgb3IKKyAqICAtIGF0dHJpYnV0ZXMgd2l0aCB2YWx1ZXMgc3ViamVjdCB0byBub3JtYWxpemF0aW9uLCB3aGVyZSB0aGUKKyAqICAgIGF0dHJpYnV0ZSBhcHBlYXJzIGluIHRoZSBkb2N1bWVudCB3aXRoIGEgdmFsdWUgd2hpY2ggd2lsbCBjaGFuZ2UKKyAqICAgIGFzIGEgcmVzdWx0IG9mIG5vcm1hbGl6YXRpb24sIG9yCisgKiAgLSBlbGVtZW50IHR5cGVzIHdpdGggZWxlbWVudCBjb250ZW50LCBpZiB3aGl0ZSBzcGFjZSBvY2N1cnMgZGlyZWN0bHkKKyAqICAgIHdpdGhpbiBhbnkgaW5zdGFuY2Ugb2YgdGhvc2UgdHlwZXMuCisgKgorICogUmV0dXJuczoKKyAqICAgMSBpZiBzdGFuZGFsb25lPSJ5ZXMiCisgKiAgIDAgaWYgc3RhbmRhbG9uZT0ibm8iCisgKiAgLTIgaWYgc3RhbmRhbG9uZSBhdHRyaWJ1dGUgaXMgbWlzc2luZyBvciBpbnZhbGlkCisgKgkgIChBIHN0YW5kYWxvbmUgdmFsdWUgb2YgLTIgbWVhbnMgdGhhdCB0aGUgWE1MIGRlY2xhcmF0aW9uIHdhcyBmb3VuZCwKKyAqCSAgIGJ1dCBubyB2YWx1ZSB3YXMgc3BlY2lmaWVkIGZvciB0aGUgc3RhbmRhbG9uZSBhdHRyaWJ1dGUpLgorICovCisKK2ludAoreG1sUGFyc2VTRERlY2woeG1sUGFyc2VyQ3R4dFB0ciBjdHh0KSB7CisgICAgaW50IHN0YW5kYWxvbmUgPSAtMjsKKworICAgIFNLSVBfQkxBTktTOworICAgIGlmIChDTVAxMChDVVJfUFRSLCAncycsICd0JywgJ2EnLCAnbicsICdkJywgJ2EnLCAnbCcsICdvJywgJ24nLCAnZScpKSB7CisJU0tJUCgxMCk7CisgICAgICAgIFNLSVBfQkxBTktTOworCWlmIChSQVcgIT0gJz0nKSB7CisJICAgIHhtbEZhdGFsRXJyKGN0eHQsIFhNTF9FUlJfRVFVQUxfUkVRVUlSRUQsIE5VTEwpOworCSAgICByZXR1cm4oc3RhbmRhbG9uZSk7CisgICAgICAgIH0KKwlORVhUOworCVNLSVBfQkxBTktTOworICAgICAgICBpZiAoUkFXID09ICdcJycpeworCSAgICBORVhUOworCSAgICBpZiAoKFJBVyA9PSAnbicpICYmIChOWFQoMSkgPT0gJ28nKSkgeworCSAgICAgICAgc3RhbmRhbG9uZSA9IDA7CisgICAgICAgICAgICAgICAgU0tJUCgyKTsKKwkgICAgfSBlbHNlIGlmICgoUkFXID09ICd5JykgJiYgKE5YVCgxKSA9PSAnZScpICYmCisJICAgICAgICAgICAgICAgKE5YVCgyKSA9PSAncycpKSB7CisJICAgICAgICBzdGFuZGFsb25lID0gMTsKKwkJU0tJUCgzKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisJCXhtbEZhdGFsRXJyKGN0eHQsIFhNTF9FUlJfU1RBTkRBTE9ORV9WQUxVRSwgTlVMTCk7CisJICAgIH0KKwkgICAgaWYgKFJBVyAhPSAnXCcnKSB7CisJCXhtbEZhdGFsRXJyKGN0eHQsIFhNTF9FUlJfU1RSSU5HX05PVF9DTE9TRUQsIE5VTEwpOworCSAgICB9IGVsc2UKKwkgICAgICAgIE5FWFQ7CisJfSBlbHNlIGlmIChSQVcgPT0gJyInKXsKKwkgICAgTkVYVDsKKwkgICAgaWYgKChSQVcgPT0gJ24nKSAmJiAoTlhUKDEpID09ICdvJykpIHsKKwkgICAgICAgIHN0YW5kYWxvbmUgPSAwOworCQlTS0lQKDIpOworCSAgICB9IGVsc2UgaWYgKChSQVcgPT0gJ3knKSAmJiAoTlhUKDEpID09ICdlJykgJiYKKwkgICAgICAgICAgICAgICAoTlhUKDIpID09ICdzJykpIHsKKwkgICAgICAgIHN0YW5kYWxvbmUgPSAxOworICAgICAgICAgICAgICAgIFNLSVAoMyk7CisgICAgICAgICAgICB9IGVsc2UgeworCQl4bWxGYXRhbEVycihjdHh0LCBYTUxfRVJSX1NUQU5EQUxPTkVfVkFMVUUsIE5VTEwpOworCSAgICB9CisJICAgIGlmIChSQVcgIT0gJyInKSB7CisJCXhtbEZhdGFsRXJyKGN0eHQsIFhNTF9FUlJfU1RSSU5HX05PVF9DTE9TRUQsIE5VTEwpOworCSAgICB9IGVsc2UKKwkgICAgICAgIE5FWFQ7CisJfSBlbHNlIHsKKwkgICAgeG1sRmF0YWxFcnIoY3R4dCwgWE1MX0VSUl9TVFJJTkdfTk9UX1NUQVJURUQsIE5VTEwpOworICAgICAgICB9CisgICAgfQorICAgIHJldHVybihzdGFuZGFsb25lKTsKK30KKworLyoqCisgKiB4bWxQYXJzZVhNTERlY2w6CisgKiBAY3R4dDogIGFuIFhNTCBwYXJzZXIgY29udGV4dAorICoKKyAqIHBhcnNlIGFuIFhNTCBkZWNsYXJhdGlvbiBoZWFkZXIKKyAqCisgKiBbMjNdIFhNTERlY2wgOjo9ICc8P3htbCcgVmVyc2lvbkluZm8gRW5jb2RpbmdEZWNsPyBTRERlY2w/IFM/ICc/PicKKyAqLworCit2b2lkCit4bWxQYXJzZVhNTERlY2woeG1sUGFyc2VyQ3R4dFB0ciBjdHh0KSB7CisgICAgeG1sQ2hhciAqdmVyc2lvbjsKKworICAgIC8qCisgICAgICogVGhpcyB2YWx1ZSBmb3Igc3RhbmRhbG9uZSBpbmRpY2F0ZXMgdGhhdCB0aGUgZG9jdW1lbnQgaGFzIGFuCisgICAgICogWE1MIGRlY2xhcmF0aW9uIGJ1dCBpdCBkb2VzIG5vdCBoYXZlIGEgc3RhbmRhbG9uZSBhdHRyaWJ1dGUuCisgICAgICogSXQgd2lsbCBiZSBvdmVyd3JpdHRlbiBsYXRlciBpZiBhIHN0YW5kYWxvbmUgYXR0cmlidXRlIGlzIGZvdW5kLgorICAgICAqLworICAgIGN0eHQtPmlucHV0LT5zdGFuZGFsb25lID0gLTI7CisKKyAgICAvKgorICAgICAqIFdlIGtub3cgdGhhdCAnPD94bWwnIGlzIGhlcmUuCisgICAgICovCisgICAgU0tJUCg1KTsKKworICAgIGlmICghSVNfQkxBTktfQ0goUkFXKSkgeworCXhtbEZhdGFsRXJyTXNnKGN0eHQsIFhNTF9FUlJfU1BBQ0VfUkVRVUlSRUQsCisJICAgICAgICAgICAgICAgIkJsYW5rIG5lZWRlZCBhZnRlciAnPD94bWwnXG4iKTsKKyAgICB9CisgICAgU0tJUF9CTEFOS1M7CisKKyAgICAvKgorICAgICAqIFdlIG11c3QgaGF2ZSB0aGUgVmVyc2lvbkluZm8gaGVyZS4KKyAgICAgKi8KKyAgICB2ZXJzaW9uID0geG1sUGFyc2VWZXJzaW9uSW5mbyhjdHh0KTsKKyAgICBpZiAodmVyc2lvbiA9PSBOVUxMKSB7CisJeG1sRmF0YWxFcnIoY3R4dCwgWE1MX0VSUl9WRVJTSU9OX01JU1NJTkcsIE5VTEwpOworICAgIH0gZWxzZSB7CisJaWYgKCF4bWxTdHJFcXVhbCh2ZXJzaW9uLCAoY29uc3QgeG1sQ2hhciAqKSBYTUxfREVGQVVMVF9WRVJTSU9OKSkgeworCSAgICAvKgorCSAgICAgKiBDaGFuZ2VkIGhlcmUgZm9yIFhNTC0xLjAgNXRoIGVkaXRpb24KKwkgICAgICovCisJICAgIGlmIChjdHh0LT5vcHRpb25zICYgWE1MX1BBUlNFX09MRDEwKSB7CisJCXhtbEZhdGFsRXJyTXNnU3RyKGN0eHQsIFhNTF9FUlJfVU5LTk9XTl9WRVJTSU9OLAorCQkJICAgICAgICAgICJVbnN1cHBvcnRlZCB2ZXJzaW9uICclcydcbiIsCisJCQkgICAgICAgICAgdmVyc2lvbik7CisJICAgIH0gZWxzZSB7CisJICAgICAgICBpZiAoKHZlcnNpb25bMF0gPT0gJzEnKSAmJiAoKHZlcnNpb25bMV0gPT0gJy4nKSkpIHsKKwkJICAgIHhtbFdhcm5pbmdNc2coY3R4dCwgWE1MX1dBUl9VTktOT1dOX1ZFUlNJT04sCisJCSAgICAgICAgICAgICAgICAgICJVbnN1cHBvcnRlZCB2ZXJzaW9uICclcydcbiIsCisJCQkJICB2ZXJzaW9uLCBOVUxMKTsKKwkJfSBlbHNlIHsKKwkJICAgIHhtbEZhdGFsRXJyTXNnU3RyKGN0eHQsIFhNTF9FUlJfVU5LTk9XTl9WRVJTSU9OLAorCQkJCSAgICAgICJVbnN1cHBvcnRlZCB2ZXJzaW9uICclcydcbiIsCisJCQkJICAgICAgdmVyc2lvbik7CisJCX0KKwkgICAgfQorCX0KKwlpZiAoY3R4dC0+dmVyc2lvbiAhPSBOVUxMKQorCSAgICB4bWxGcmVlKCh2b2lkICopIGN0eHQtPnZlcnNpb24pOworCWN0eHQtPnZlcnNpb24gPSB2ZXJzaW9uOworICAgIH0KKworICAgIC8qCisgICAgICogV2UgbWF5IGhhdmUgdGhlIGVuY29kaW5nIGRlY2xhcmF0aW9uCisgICAgICovCisgICAgaWYgKCFJU19CTEFOS19DSChSQVcpKSB7CisgICAgICAgIGlmICgoUkFXID09ICc/JykgJiYgKE5YVCgxKSA9PSAnPicpKSB7CisJICAgIFNLSVAoMik7CisJICAgIHJldHVybjsKKwl9CisJeG1sRmF0YWxFcnJNc2coY3R4dCwgWE1MX0VSUl9TUEFDRV9SRVFVSVJFRCwgIkJsYW5rIG5lZWRlZCBoZXJlXG4iKTsKKyAgICB9CisgICAgeG1sUGFyc2VFbmNvZGluZ0RlY2woY3R4dCk7CisgICAgaWYgKGN0eHQtPmVyck5vID09IFhNTF9FUlJfVU5TVVBQT1JURURfRU5DT0RJTkcpIHsKKwkvKgorCSAqIFRoZSBYTUwgUkVDIGluc3RydWN0cyB1cyB0byBzdG9wIHBhcnNpbmcgcmlnaHQgaGVyZQorCSAqLworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgLyoKKyAgICAgKiBXZSBtYXkgaGF2ZSB0aGUgc3RhbmRhbG9uZSBzdGF0dXMuCisgICAgICovCisgICAgaWYgKChjdHh0LT5pbnB1dC0+ZW5jb2RpbmcgIT0gTlVMTCkgJiYgKCFJU19CTEFOS19DSChSQVcpKSkgeworICAgICAgICBpZiAoKFJBVyA9PSAnPycpICYmIChOWFQoMSkgPT0gJz4nKSkgeworCSAgICBTS0lQKDIpOworCSAgICByZXR1cm47CisJfQorCXhtbEZhdGFsRXJyTXNnKGN0eHQsIFhNTF9FUlJfU1BBQ0VfUkVRVUlSRUQsICJCbGFuayBuZWVkZWQgaGVyZVxuIik7CisgICAgfQorCisgICAgLyoKKyAgICAgKiBXZSBjYW4gZ3JvdyB0aGUgaW5wdXQgYnVmZmVyIGZyZWVseSBhdCB0aGF0IHBvaW50CisgICAgICovCisgICAgR1JPVzsKKworICAgIFNLSVBfQkxBTktTOworICAgIGN0eHQtPmlucHV0LT5zdGFuZGFsb25lID0geG1sUGFyc2VTRERlY2woY3R4dCk7CisKKyAgICBTS0lQX0JMQU5LUzsKKyAgICBpZiAoKFJBVyA9PSAnPycpICYmIChOWFQoMSkgPT0gJz4nKSkgeworICAgICAgICBTS0lQKDIpOworICAgIH0gZWxzZSBpZiAoUkFXID09ICc+JykgeworICAgICAgICAvKiBEZXByZWNhdGVkIG9sZCBXRCAuLi4gKi8KKwl4bWxGYXRhbEVycihjdHh0LCBYTUxfRVJSX1hNTERFQ0xfTk9UX0ZJTklTSEVELCBOVUxMKTsKKwlORVhUOworICAgIH0gZWxzZSB7CisJeG1sRmF0YWxFcnIoY3R4dCwgWE1MX0VSUl9YTUxERUNMX05PVF9GSU5JU0hFRCwgTlVMTCk7CisJTU9WRVRPX0VORFRBRyhDVVJfUFRSKTsKKwlORVhUOworICAgIH0KK30KKworLyoqCisgKiB4bWxQYXJzZU1pc2M6CisgKiBAY3R4dDogIGFuIFhNTCBwYXJzZXIgY29udGV4dAorICoKKyAqIHBhcnNlIGFuIFhNTCBNaXNjKiBvcHRpb25hbCBmaWVsZC4KKyAqCisgKiBbMjddIE1pc2MgOjo9IENvbW1lbnQgfCBQSSB8ICBTCisgKi8KKwordm9pZAoreG1sUGFyc2VNaXNjKHhtbFBhcnNlckN0eHRQdHIgY3R4dCkgeworICAgIHdoaWxlICgoY3R4dC0+aW5zdGF0ZSAhPSBYTUxfUEFSU0VSX0VPRikgJiYKKyAgICAgICAgICAgKCgoUkFXID09ICc8JykgJiYgKE5YVCgxKSA9PSAnPycpKSB8fAorICAgICAgICAgICAgKENNUDQoQ1VSX1BUUiwgJzwnLCAnIScsICctJywgJy0nKSkgfHwKKyAgICAgICAgICAgIElTX0JMQU5LX0NIKENVUikpKSB7CisgICAgICAgIGlmICgoUkFXID09ICc8JykgJiYgKE5YVCgxKSA9PSAnPycpKSB7CisJICAgIHhtbFBhcnNlUEkoY3R4dCk7CisJfSBlbHNlIGlmIChJU19CTEFOS19DSChDVVIpKSB7CisJICAgIE5FWFQ7CisJfSBlbHNlCisJICAgIHhtbFBhcnNlQ29tbWVudChjdHh0KTsKKyAgICB9Cit9CisKKy8qKgorICogeG1sUGFyc2VEb2N1bWVudDoKKyAqIEBjdHh0OiAgYW4gWE1MIHBhcnNlciBjb250ZXh0CisgKgorICogcGFyc2UgYW4gWE1MIGRvY3VtZW50IChhbmQgYnVpbGQgYSB0cmVlIGlmIHVzaW5nIHRoZSBzdGFuZGFyZCBTQVgKKyAqIGludGVyZmFjZSkuCisgKgorICogWzFdIGRvY3VtZW50IDo6PSBwcm9sb2cgZWxlbWVudCBNaXNjKgorICoKKyAqIFsyMl0gcHJvbG9nIDo6PSBYTUxEZWNsPyBNaXNjKiAoZG9jdHlwZWRlY2wgTWlzYyopPworICoKKyAqIFJldHVybnMgMCwgLTEgaW4gY2FzZSBvZiBlcnJvci4gdGhlIHBhcnNlciBjb250ZXh0IGlzIGF1Z21lbnRlZAorICogICAgICAgICAgICAgICAgYXMgYSByZXN1bHQgb2YgdGhlIHBhcnNpbmcuCisgKi8KKworaW50Cit4bWxQYXJzZURvY3VtZW50KHhtbFBhcnNlckN0eHRQdHIgY3R4dCkgeworICAgIHhtbENoYXIgc3RhcnRbNF07CisgICAgeG1sQ2hhckVuY29kaW5nIGVuYzsKKworICAgIHhtbEluaXRQYXJzZXIoKTsKKworICAgIGlmICgoY3R4dCA9PSBOVUxMKSB8fCAoY3R4dC0+aW5wdXQgPT0gTlVMTCkpCisgICAgICAgIHJldHVybigtMSk7CisKKyAgICBHUk9XOworCisgICAgLyoKKyAgICAgKiBTQVg6IGRldGVjdGluZyB0aGUgbGV2ZWwuCisgICAgICovCisgICAgeG1sRGV0ZWN0U0FYMihjdHh0KTsKKworICAgIC8qCisgICAgICogU0FYOiBiZWdpbm5pbmcgb2YgdGhlIGRvY3VtZW50IHByb2Nlc3NpbmcuCisgICAgICovCisgICAgaWYgKChjdHh0LT5zYXgpICYmIChjdHh0LT5zYXgtPnNldERvY3VtZW50TG9jYXRvcikpCisgICAgICAgIGN0eHQtPnNheC0+c2V0RG9jdW1lbnRMb2NhdG9yKGN0eHQtPnVzZXJEYXRhLCAmeG1sRGVmYXVsdFNBWExvY2F0b3IpOworICAgIGlmIChjdHh0LT5pbnN0YXRlID09IFhNTF9QQVJTRVJfRU9GKQorCXJldHVybigtMSk7CisKKyAgICBpZiAoKGN0eHQtPmVuY29kaW5nID09IE5VTEwpICYmCisgICAgICAgICgoY3R4dC0+aW5wdXQtPmVuZCAtIGN0eHQtPmlucHV0LT5jdXIpID49IDQpKSB7CisJLyoKKwkgKiBHZXQgdGhlIDQgZmlyc3QgYnl0ZXMgYW5kIGRlY29kZSB0aGUgY2hhcnNldAorCSAqIGlmIGVuYyAhPSBYTUxfQ0hBUl9FTkNPRElOR19OT05FCisJICogcGx1ZyBzb21lIGVuY29kaW5nIGNvbnZlcnNpb24gcm91dGluZXMuCisJICovCisJc3RhcnRbMF0gPSBSQVc7CisJc3RhcnRbMV0gPSBOWFQoMSk7CisJc3RhcnRbMl0gPSBOWFQoMik7CisJc3RhcnRbM10gPSBOWFQoMyk7CisJZW5jID0geG1sRGV0ZWN0Q2hhckVuY29kaW5nKCZzdGFydFswXSwgNCk7CisJaWYgKGVuYyAhPSBYTUxfQ0hBUl9FTkNPRElOR19OT05FKSB7CisJICAgIHhtbFN3aXRjaEVuY29kaW5nKGN0eHQsIGVuYyk7CisJfQorICAgIH0KKworCisgICAgaWYgKENVUiA9PSAwKSB7CisJeG1sRmF0YWxFcnIoY3R4dCwgWE1MX0VSUl9ET0NVTUVOVF9FTVBUWSwgTlVMTCk7CisgICAgfQorCisgICAgLyoKKyAgICAgKiBDaGVjayBmb3IgdGhlIFhNTERlY2wgaW4gdGhlIFByb2xvZy4KKyAgICAgKiBkbyBub3QgR1JPVyBoZXJlIHRvIGF2b2lkIHRoZSBkZXRlY3RlZCBlbmNvZGVyIHRvIGRlY29kZSBtb3JlCisgICAgICogdGhhbiBqdXN0IHRoZSBmaXJzdCBsaW5lLCB1bmxlc3MgdGhlIGFtb3VudCBvZiBkYXRhIGlzIHJlYWxseQorICAgICAqIHRvbyBzbWFsbCB0byBob2xkICI8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJmb28iCisgICAgICovCisgICAgaWYgKChjdHh0LT5pbnB1dC0+ZW5kIC0gY3R4dC0+aW5wdXQtPmN1cikgPCAzNSkgeworICAgICAgIEdST1c7CisgICAgfQorICAgIGlmICgoQ01QNShDVVJfUFRSLCAnPCcsICc/JywgJ3gnLCAnbScsICdsJykpICYmIChJU19CTEFOS19DSChOWFQoNSkpKSkgeworCisJLyoKKwkgKiBOb3RlIHRoYXQgd2Ugd2lsbCBzd2l0Y2ggZW5jb2Rpbmcgb24gdGhlIGZseS4KKwkgKi8KKwl4bWxQYXJzZVhNTERlY2woY3R4dCk7CisJaWYgKGN0eHQtPmVyck5vID09IFhNTF9FUlJfVU5TVVBQT1JURURfRU5DT0RJTkcpIHsKKwkgICAgLyoKKwkgICAgICogVGhlIFhNTCBSRUMgaW5zdHJ1Y3RzIHVzIHRvIHN0b3AgcGFyc2luZyByaWdodCBoZXJlCisJICAgICAqLworCSAgICByZXR1cm4oLTEpOworCX0KKwljdHh0LT5zdGFuZGFsb25lID0gY3R4dC0+aW5wdXQtPnN0YW5kYWxvbmU7CisJU0tJUF9CTEFOS1M7CisgICAgfSBlbHNlIHsKKwljdHh0LT52ZXJzaW9uID0geG1sQ2hhclN0cmR1cChYTUxfREVGQVVMVF9WRVJTSU9OKTsKKyAgICB9CisgICAgaWYgKChjdHh0LT5zYXgpICYmIChjdHh0LT5zYXgtPnN0YXJ0RG9jdW1lbnQpICYmICghY3R4dC0+ZGlzYWJsZVNBWCkpCisgICAgICAgIGN0eHQtPnNheC0+c3RhcnREb2N1bWVudChjdHh0LT51c2VyRGF0YSk7CisgICAgaWYgKGN0eHQtPmluc3RhdGUgPT0gWE1MX1BBUlNFUl9FT0YpCisJcmV0dXJuKC0xKTsKKyAgICBpZiAoKGN0eHQtPm15RG9jICE9IE5VTEwpICYmIChjdHh0LT5pbnB1dCAhPSBOVUxMKSAmJgorICAgICAgICAoY3R4dC0+aW5wdXQtPmJ1ZiAhPSBOVUxMKSAmJiAoY3R4dC0+aW5wdXQtPmJ1Zi0+Y29tcHJlc3NlZCA+PSAwKSkgeworCWN0eHQtPm15RG9jLT5jb21wcmVzc2lvbiA9IGN0eHQtPmlucHV0LT5idWYtPmNvbXByZXNzZWQ7CisgICAgfQorCisgICAgLyoKKyAgICAgKiBUaGUgTWlzYyBwYXJ0IG9mIHRoZSBQcm9sb2cKKyAgICAgKi8KKyAgICBHUk9XOworICAgIHhtbFBhcnNlTWlzYyhjdHh0KTsKKworICAgIC8qCisgICAgICogVGhlbiBwb3NzaWJseSBkb2MgdHlwZSBkZWNsYXJhdGlvbihzKSBhbmQgbW9yZSBNaXNjCisgICAgICogKGRvY3R5cGVkZWNsIE1pc2MqKT8KKyAgICAgKi8KKyAgICBHUk9XOworICAgIGlmIChDTVA5KENVUl9QVFIsICc8JywgJyEnLCAnRCcsICdPJywgJ0MnLCAnVCcsICdZJywgJ1AnLCAnRScpKSB7CisKKwljdHh0LT5pblN1YnNldCA9IDE7CisJeG1sUGFyc2VEb2NUeXBlRGVjbChjdHh0KTsKKwlpZiAoUkFXID09ICdbJykgeworCSAgICBjdHh0LT5pbnN0YXRlID0gWE1MX1BBUlNFUl9EVEQ7CisJICAgIHhtbFBhcnNlSW50ZXJuYWxTdWJzZXQoY3R4dCk7CisJICAgIGlmIChjdHh0LT5pbnN0YXRlID09IFhNTF9QQVJTRVJfRU9GKQorCQlyZXR1cm4oLTEpOworCX0KKworCS8qCisJICogQ3JlYXRlIGFuZCB1cGRhdGUgdGhlIGV4dGVybmFsIHN1YnNldC4KKwkgKi8KKwljdHh0LT5pblN1YnNldCA9IDI7CisJaWYgKChjdHh0LT5zYXggIT0gTlVMTCkgJiYgKGN0eHQtPnNheC0+ZXh0ZXJuYWxTdWJzZXQgIT0gTlVMTCkgJiYKKwkgICAgKCFjdHh0LT5kaXNhYmxlU0FYKSkKKwkgICAgY3R4dC0+c2F4LT5leHRlcm5hbFN1YnNldChjdHh0LT51c2VyRGF0YSwgY3R4dC0+aW50U3ViTmFtZSwKKwkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdHh0LT5leHRTdWJTeXN0ZW0sIGN0eHQtPmV4dFN1YlVSSSk7CisJaWYgKGN0eHQtPmluc3RhdGUgPT0gWE1MX1BBUlNFUl9FT0YpCisJICAgIHJldHVybigtMSk7CisJY3R4dC0+aW5TdWJzZXQgPSAwOworCisgICAgICAgIHhtbENsZWFuU3BlY2lhbEF0dHIoY3R4dCk7CisKKwljdHh0LT5pbnN0YXRlID0gWE1MX1BBUlNFUl9QUk9MT0c7CisJeG1sUGFyc2VNaXNjKGN0eHQpOworICAgIH0KKworICAgIC8qCisgICAgICogVGltZSB0byBzdGFydCBwYXJzaW5nIHRoZSB0cmVlIGl0c2VsZgorICAgICAqLworICAgIEdST1c7CisgICAgaWYgKFJBVyAhPSAnPCcpIHsKKwl4bWxGYXRhbEVyck1zZyhjdHh0LCBYTUxfRVJSX0RPQ1VNRU5UX0VNUFRZLAorCQkgICAgICAgIlN0YXJ0IHRhZyBleHBlY3RlZCwgJzwnIG5vdCBmb3VuZFxuIik7CisgICAgfSBlbHNlIHsKKwljdHh0LT5pbnN0YXRlID0gWE1MX1BBUlNFUl9DT05URU5UOworCXhtbFBhcnNlRWxlbWVudChjdHh0KTsKKwljdHh0LT5pbnN0YXRlID0gWE1MX1BBUlNFUl9FUElMT0c7CisKKworCS8qCisJICogVGhlIE1pc2MgcGFydCBhdCB0aGUgZW5kCisJICovCisJeG1sUGFyc2VNaXNjKGN0eHQpOworCisJaWYgKFJBVyAhPSAwKSB7CisJICAgIHhtbEZhdGFsRXJyKGN0eHQsIFhNTF9FUlJfRE9DVU1FTlRfRU5ELCBOVUxMKTsKKwl9CisJY3R4dC0+aW5zdGF0ZSA9IFhNTF9QQVJTRVJfRU9GOworICAgIH0KKworICAgIC8qCisgICAgICogU0FYOiBlbmQgb2YgdGhlIGRvY3VtZW50IHByb2Nlc3NpbmcuCisgICAgICovCisgICAgaWYgKChjdHh0LT5zYXgpICYmIChjdHh0LT5zYXgtPmVuZERvY3VtZW50ICE9IE5VTEwpKQorICAgICAgICBjdHh0LT5zYXgtPmVuZERvY3VtZW50KGN0eHQtPnVzZXJEYXRhKTsKKworICAgIC8qCisgICAgICogUmVtb3ZlIGxvY2FsbHkga2VwdCBlbnRpdHkgZGVmaW5pdGlvbnMgaWYgdGhlIHRyZWUgd2FzIG5vdCBidWlsdAorICAgICAqLworICAgIGlmICgoY3R4dC0+bXlEb2MgIT0gTlVMTCkgJiYKKwkoeG1sU3RyRXF1YWwoY3R4dC0+bXlEb2MtPnZlcnNpb24sIFNBWF9DT01QQVRfTU9ERSkpKSB7CisJeG1sRnJlZURvYyhjdHh0LT5teURvYyk7CisJY3R4dC0+bXlEb2MgPSBOVUxMOworICAgIH0KKworICAgIGlmICgoY3R4dC0+d2VsbEZvcm1lZCkgJiYgKGN0eHQtPm15RG9jICE9IE5VTEwpKSB7CisgICAgICAgIGN0eHQtPm15RG9jLT5wcm9wZXJ0aWVzIHw9IFhNTF9ET0NfV0VMTEZPUk1FRDsKKwlpZiAoY3R4dC0+dmFsaWQpCisJICAgIGN0eHQtPm15RG9jLT5wcm9wZXJ0aWVzIHw9IFhNTF9ET0NfRFREVkFMSUQ7CisJaWYgKGN0eHQtPm5zV2VsbEZvcm1lZCkKKwkgICAgY3R4dC0+bXlEb2MtPnByb3BlcnRpZXMgfD0gWE1MX0RPQ19OU1ZBTElEOworCWlmIChjdHh0LT5vcHRpb25zICYgWE1MX1BBUlNFX09MRDEwKQorCSAgICBjdHh0LT5teURvYy0+cHJvcGVydGllcyB8PSBYTUxfRE9DX09MRDEwOworICAgIH0KKyAgICBpZiAoISBjdHh0LT53ZWxsRm9ybWVkKSB7CisJY3R4dC0+dmFsaWQgPSAwOworCXJldHVybigtMSk7CisgICAgfQorICAgIHJldHVybigwKTsKK30KKworLyoqCisgKiB4bWxQYXJzZUV4dFBhcnNlZEVudDoKKyAqIEBjdHh0OiAgYW4gWE1MIHBhcnNlciBjb250ZXh0CisgKgorICogcGFyc2UgYSBnZW5lcmFsIHBhcnNlZCBlbnRpdHkKKyAqIEFuIGV4dGVybmFsIGdlbmVyYWwgcGFyc2VkIGVudGl0eSBpcyB3ZWxsLWZvcm1lZCBpZiBpdCBtYXRjaGVzIHRoZQorICogcHJvZHVjdGlvbiBsYWJlbGVkIGV4dFBhcnNlZEVudC4KKyAqCisgKiBbNzhdIGV4dFBhcnNlZEVudCA6Oj0gVGV4dERlY2w/IGNvbnRlbnQKKyAqCisgKiBSZXR1cm5zIDAsIC0xIGluIGNhc2Ugb2YgZXJyb3IuIHRoZSBwYXJzZXIgY29udGV4dCBpcyBhdWdtZW50ZWQKKyAqICAgICAgICAgICAgICAgIGFzIGEgcmVzdWx0IG9mIHRoZSBwYXJzaW5nLgorICovCisKK2ludAoreG1sUGFyc2VFeHRQYXJzZWRFbnQoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0KSB7CisgICAgeG1sQ2hhciBzdGFydFs0XTsKKyAgICB4bWxDaGFyRW5jb2RpbmcgZW5jOworCisgICAgaWYgKChjdHh0ID09IE5VTEwpIHx8IChjdHh0LT5pbnB1dCA9PSBOVUxMKSkKKyAgICAgICAgcmV0dXJuKC0xKTsKKworICAgIHhtbERlZmF1bHRTQVhIYW5kbGVySW5pdCgpOworCisgICAgeG1sRGV0ZWN0U0FYMihjdHh0KTsKKworICAgIEdST1c7CisKKyAgICAvKgorICAgICAqIFNBWDogYmVnaW5uaW5nIG9mIHRoZSBkb2N1bWVudCBwcm9jZXNzaW5nLgorICAgICAqLworICAgIGlmICgoY3R4dC0+c2F4KSAmJiAoY3R4dC0+c2F4LT5zZXREb2N1bWVudExvY2F0b3IpKQorICAgICAgICBjdHh0LT5zYXgtPnNldERvY3VtZW50TG9jYXRvcihjdHh0LT51c2VyRGF0YSwgJnhtbERlZmF1bHRTQVhMb2NhdG9yKTsKKworICAgIC8qCisgICAgICogR2V0IHRoZSA0IGZpcnN0IGJ5dGVzIGFuZCBkZWNvZGUgdGhlIGNoYXJzZXQKKyAgICAgKiBpZiBlbmMgIT0gWE1MX0NIQVJfRU5DT0RJTkdfTk9ORQorICAgICAqIHBsdWcgc29tZSBlbmNvZGluZyBjb252ZXJzaW9uIHJvdXRpbmVzLgorICAgICAqLworICAgIGlmICgoY3R4dC0+aW5wdXQtPmVuZCAtIGN0eHQtPmlucHV0LT5jdXIpID49IDQpIHsKKwlzdGFydFswXSA9IFJBVzsKKwlzdGFydFsxXSA9IE5YVCgxKTsKKwlzdGFydFsyXSA9IE5YVCgyKTsKKwlzdGFydFszXSA9IE5YVCgzKTsKKwllbmMgPSB4bWxEZXRlY3RDaGFyRW5jb2Rpbmcoc3RhcnQsIDQpOworCWlmIChlbmMgIT0gWE1MX0NIQVJfRU5DT0RJTkdfTk9ORSkgeworCSAgICB4bWxTd2l0Y2hFbmNvZGluZyhjdHh0LCBlbmMpOworCX0KKyAgICB9CisKKworICAgIGlmIChDVVIgPT0gMCkgeworCXhtbEZhdGFsRXJyKGN0eHQsIFhNTF9FUlJfRE9DVU1FTlRfRU1QVFksIE5VTEwpOworICAgIH0KKworICAgIC8qCisgICAgICogQ2hlY2sgZm9yIHRoZSBYTUxEZWNsIGluIHRoZSBQcm9sb2cuCisgICAgICovCisgICAgR1JPVzsKKyAgICBpZiAoKENNUDUoQ1VSX1BUUiwgJzwnLCAnPycsICd4JywgJ20nLCAnbCcpKSAmJiAoSVNfQkxBTktfQ0goTlhUKDUpKSkpIHsKKworCS8qCisJICogTm90ZSB0aGF0IHdlIHdpbGwgc3dpdGNoIGVuY29kaW5nIG9uIHRoZSBmbHkuCisJICovCisJeG1sUGFyc2VYTUxEZWNsKGN0eHQpOworCWlmIChjdHh0LT5lcnJObyA9PSBYTUxfRVJSX1VOU1VQUE9SVEVEX0VOQ09ESU5HKSB7CisJICAgIC8qCisJICAgICAqIFRoZSBYTUwgUkVDIGluc3RydWN0cyB1cyB0byBzdG9wIHBhcnNpbmcgcmlnaHQgaGVyZQorCSAgICAgKi8KKwkgICAgcmV0dXJuKC0xKTsKKwl9CisJU0tJUF9CTEFOS1M7CisgICAgfSBlbHNlIHsKKwljdHh0LT52ZXJzaW9uID0geG1sQ2hhclN0cmR1cChYTUxfREVGQVVMVF9WRVJTSU9OKTsKKyAgICB9CisgICAgaWYgKChjdHh0LT5zYXgpICYmIChjdHh0LT5zYXgtPnN0YXJ0RG9jdW1lbnQpICYmICghY3R4dC0+ZGlzYWJsZVNBWCkpCisgICAgICAgIGN0eHQtPnNheC0+c3RhcnREb2N1bWVudChjdHh0LT51c2VyRGF0YSk7CisgICAgaWYgKGN0eHQtPmluc3RhdGUgPT0gWE1MX1BBUlNFUl9FT0YpCisJcmV0dXJuKC0xKTsKKworICAgIC8qCisgICAgICogRG9pbmcgdmFsaWRpdHkgY2hlY2tpbmcgb24gY2h1bmsgZG9lc24ndCBtYWtlIHNlbnNlCisgICAgICovCisgICAgY3R4dC0+aW5zdGF0ZSA9IFhNTF9QQVJTRVJfQ09OVEVOVDsKKyAgICBjdHh0LT52YWxpZGF0ZSA9IDA7CisgICAgY3R4dC0+bG9hZHN1YnNldCA9IDA7CisgICAgY3R4dC0+ZGVwdGggPSAwOworCisgICAgeG1sUGFyc2VDb250ZW50KGN0eHQpOworICAgIGlmIChjdHh0LT5pbnN0YXRlID09IFhNTF9QQVJTRVJfRU9GKQorCXJldHVybigtMSk7CisKKyAgICBpZiAoKFJBVyA9PSAnPCcpICYmIChOWFQoMSkgPT0gJy8nKSkgeworCXhtbEZhdGFsRXJyKGN0eHQsIFhNTF9FUlJfTk9UX1dFTExfQkFMQU5DRUQsIE5VTEwpOworICAgIH0gZWxzZSBpZiAoUkFXICE9IDApIHsKKwl4bWxGYXRhbEVycihjdHh0LCBYTUxfRVJSX0VYVFJBX0NPTlRFTlQsIE5VTEwpOworICAgIH0KKworICAgIC8qCisgICAgICogU0FYOiBlbmQgb2YgdGhlIGRvY3VtZW50IHByb2Nlc3NpbmcuCisgICAgICovCisgICAgaWYgKChjdHh0LT5zYXgpICYmIChjdHh0LT5zYXgtPmVuZERvY3VtZW50ICE9IE5VTEwpKQorICAgICAgICBjdHh0LT5zYXgtPmVuZERvY3VtZW50KGN0eHQtPnVzZXJEYXRhKTsKKworICAgIGlmICghIGN0eHQtPndlbGxGb3JtZWQpIHJldHVybigtMSk7CisgICAgcmV0dXJuKDApOworfQorCisjaWZkZWYgTElCWE1MX1BVU0hfRU5BQkxFRAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJUHJvZ3Jlc3NpdmUgcGFyc2luZyBpbnRlcmZhY2VzCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqCisgKiB4bWxQYXJzZUxvb2t1cFNlcXVlbmNlOgorICogQGN0eHQ6ICBhbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBmaXJzdDogIHRoZSBmaXJzdCBjaGFyIHRvIGxvb2t1cAorICogQG5leHQ6ICB0aGUgbmV4dCBjaGFyIHRvIGxvb2t1cCBvciB6ZXJvCisgKiBAdGhpcmQ6ICB0aGUgbmV4dCBjaGFyIHRvIGxvb2t1cCBvciB6ZXJvCisgKgorICogVHJ5IHRvIGZpbmQgaWYgYSBzZXF1ZW5jZSAoZmlyc3QsIG5leHQsIHRoaXJkKSBvciAganVzdCAoZmlyc3QgbmV4dCkgb3IKKyAqIChmaXJzdCkgaXMgYXZhaWxhYmxlIGluIHRoZSBpbnB1dCBzdHJlYW0uCisgKiBUaGlzIGZ1bmN0aW9uIGhhcyBhIHNpZGUgZWZmZWN0IG9mIChwb3NzaWJseSkgaW5jcmVtZW50aW5nIGN0eHQtPmNoZWNrSW5kZXgKKyAqIHRvIGF2b2lkIHJlc2Nhbm5pbmcgc2VxdWVuY2VzIG9mIGJ5dGVzLCBpdCBET0VTIGNoYW5nZSB0aGUgc3RhdGUgb2YgdGhlCisgKiBwYXJzZXIsIGRvIG5vdCB1c2UgbGliZXJhbGx5LgorICoKKyAqIFJldHVybnMgdGhlIGluZGV4IHRvIHRoZSBjdXJyZW50IHBhcnNpbmcgcG9pbnQgaWYgdGhlIGZ1bGwgc2VxdWVuY2UKKyAqICAgICAgaXMgYXZhaWxhYmxlLCAtMSBvdGhlcndpc2UuCisgKi8KK3N0YXRpYyBpbnQKK3htbFBhcnNlTG9va3VwU2VxdWVuY2UoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0LCB4bWxDaGFyIGZpcnN0LAorICAgICAgICAgICAgICAgICAgICAgICB4bWxDaGFyIG5leHQsIHhtbENoYXIgdGhpcmQpIHsKKyAgICBpbnQgYmFzZSwgbGVuOworICAgIHhtbFBhcnNlcklucHV0UHRyIGluOworICAgIGNvbnN0IHhtbENoYXIgKmJ1ZjsKKworICAgIGluID0gY3R4dC0+aW5wdXQ7CisgICAgaWYgKGluID09IE5VTEwpIHJldHVybigtMSk7CisgICAgYmFzZSA9IGluLT5jdXIgLSBpbi0+YmFzZTsKKyAgICBpZiAoYmFzZSA8IDApIHJldHVybigtMSk7CisgICAgaWYgKGN0eHQtPmNoZWNrSW5kZXggPiBiYXNlKQorICAgICAgICBiYXNlID0gY3R4dC0+Y2hlY2tJbmRleDsKKyAgICBpZiAoaW4tPmJ1ZiA9PSBOVUxMKSB7CisJYnVmID0gaW4tPmJhc2U7CisJbGVuID0gaW4tPmxlbmd0aDsKKyAgICB9IGVsc2UgeworCWJ1ZiA9IHhtbEJ1ZkNvbnRlbnQoaW4tPmJ1Zi0+YnVmZmVyKTsKKwlsZW4gPSB4bWxCdWZVc2UoaW4tPmJ1Zi0+YnVmZmVyKTsKKyAgICB9CisgICAgLyogdGFrZSBpbnRvIGFjY291bnQgdGhlIHNlcXVlbmNlIGxlbmd0aCAqLworICAgIGlmICh0aGlyZCkgbGVuIC09IDI7CisgICAgZWxzZSBpZiAobmV4dCkgbGVuIC0tOworICAgIGZvciAoO2Jhc2UgPCBsZW47YmFzZSsrKSB7CisgICAgICAgIGlmIChidWZbYmFzZV0gPT0gZmlyc3QpIHsKKwkgICAgaWYgKHRoaXJkICE9IDApIHsKKwkJaWYgKChidWZbYmFzZSArIDFdICE9IG5leHQpIHx8CisJCSAgICAoYnVmW2Jhc2UgKyAyXSAhPSB0aGlyZCkpIGNvbnRpbnVlOworCSAgICB9IGVsc2UgaWYgKG5leHQgIT0gMCkgeworCQlpZiAoYnVmW2Jhc2UgKyAxXSAhPSBuZXh0KSBjb250aW51ZTsKKwkgICAgfQorCSAgICBjdHh0LT5jaGVja0luZGV4ID0gMDsKKyNpZmRlZiBERUJVR19QVVNICisJICAgIGlmIChuZXh0ID09IDApCisJCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkJIlBQOiBsb29rdXAgJyVjJyBmb3VuZCBhdCAlZFxuIiwKKwkJCWZpcnN0LCBiYXNlKTsKKwkgICAgZWxzZSBpZiAodGhpcmQgPT0gMCkKKwkJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCQkiUFA6IGxvb2t1cCAnJWMlYycgZm91bmQgYXQgJWRcbiIsCisJCQlmaXJzdCwgbmV4dCwgYmFzZSk7CisJICAgIGVsc2UKKwkJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCQkiUFA6IGxvb2t1cCAnJWMlYyVjJyBmb3VuZCBhdCAlZFxuIiwKKwkJCWZpcnN0LCBuZXh0LCB0aGlyZCwgYmFzZSk7CisjZW5kaWYKKwkgICAgcmV0dXJuKGJhc2UgLSAoaW4tPmN1ciAtIGluLT5iYXNlKSk7CisJfQorICAgIH0KKyAgICBjdHh0LT5jaGVja0luZGV4ID0gYmFzZTsKKyNpZmRlZiBERUJVR19QVVNICisgICAgaWYgKG5leHQgPT0gMCkKKwl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJIlBQOiBsb29rdXAgJyVjJyBmYWlsZWRcbiIsIGZpcnN0KTsKKyAgICBlbHNlIGlmICh0aGlyZCA9PSAwKQorCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkiUFA6IGxvb2t1cCAnJWMlYycgZmFpbGVkXG4iLCBmaXJzdCwgbmV4dCk7CisgICAgZWxzZQorCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkiUFA6IGxvb2t1cCAnJWMlYyVjJyBmYWlsZWRcbiIsIGZpcnN0LCBuZXh0LCB0aGlyZCk7CisjZW5kaWYKKyAgICByZXR1cm4oLTEpOworfQorCisvKioKKyAqIHhtbFBhcnNlR2V0TGFzdHM6CisgKiBAY3R4dDogIGFuIFhNTCBwYXJzZXIgY29udGV4dAorICogQGxhc3RsdDogIHBvaW50ZXIgdG8gc3RvcmUgdGhlIGxhc3QgJzwnIGZyb20gdGhlIGlucHV0CisgKiBAbGFzdGd0OiAgcG9pbnRlciB0byBzdG9yZSB0aGUgbGFzdCAnPicgZnJvbSB0aGUgaW5wdXQKKyAqCisgKiBMb29rdXAgdGhlIGxhc3QgPCBhbmQgPiBpbiB0aGUgY3VycmVudCBjaHVuaworICovCitzdGF0aWMgdm9pZAoreG1sUGFyc2VHZXRMYXN0cyh4bWxQYXJzZXJDdHh0UHRyIGN0eHQsIGNvbnN0IHhtbENoYXIgKipsYXN0bHQsCisgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKipsYXN0Z3QpIHsKKyAgICBjb25zdCB4bWxDaGFyICp0bXA7CisKKyAgICBpZiAoKGN0eHQgPT0gTlVMTCkgfHwgKGxhc3RsdCA9PSBOVUxMKSB8fCAobGFzdGd0ID09IE5VTEwpKSB7CisJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSAgICAiSW50ZXJuYWwgZXJyb3I6IHhtbFBhcnNlR2V0TGFzdHNcbiIpOworCXJldHVybjsKKyAgICB9CisgICAgaWYgKChjdHh0LT5wcm9ncmVzc2l2ZSAhPSAwKSAmJiAoY3R4dC0+aW5wdXROciA9PSAxKSkgeworICAgICAgICB0bXAgPSBjdHh0LT5pbnB1dC0+ZW5kOworCXRtcC0tOworCXdoaWxlICgodG1wID49IGN0eHQtPmlucHV0LT5iYXNlKSAmJiAoKnRtcCAhPSAnPCcpKSB0bXAtLTsKKwlpZiAodG1wIDwgY3R4dC0+aW5wdXQtPmJhc2UpIHsKKwkgICAgKmxhc3RsdCA9IE5VTEw7CisJICAgICpsYXN0Z3QgPSBOVUxMOworCX0gZWxzZSB7CisJICAgICpsYXN0bHQgPSB0bXA7CisJICAgIHRtcCsrOworCSAgICB3aGlsZSAoKHRtcCA8IGN0eHQtPmlucHV0LT5lbmQpICYmICgqdG1wICE9ICc+JykpIHsKKwkgICAgICAgIGlmICgqdG1wID09ICdcJycpIHsKKwkJICAgIHRtcCsrOworCQkgICAgd2hpbGUgKCh0bXAgPCBjdHh0LT5pbnB1dC0+ZW5kKSAmJiAoKnRtcCAhPSAnXCcnKSkgdG1wKys7CisJCSAgICBpZiAodG1wIDwgY3R4dC0+aW5wdXQtPmVuZCkgdG1wKys7CisJCX0gZWxzZSBpZiAoKnRtcCA9PSAnIicpIHsKKwkJICAgIHRtcCsrOworCQkgICAgd2hpbGUgKCh0bXAgPCBjdHh0LT5pbnB1dC0+ZW5kKSAmJiAoKnRtcCAhPSAnIicpKSB0bXArKzsKKwkJICAgIGlmICh0bXAgPCBjdHh0LT5pbnB1dC0+ZW5kKSB0bXArKzsKKwkJfSBlbHNlCisJCSAgICB0bXArKzsKKwkgICAgfQorCSAgICBpZiAodG1wIDwgY3R4dC0+aW5wdXQtPmVuZCkKKwkgICAgICAgICpsYXN0Z3QgPSB0bXA7CisJICAgIGVsc2UgeworCSAgICAgICAgdG1wID0gKmxhc3RsdDsKKwkJdG1wLS07CisJCXdoaWxlICgodG1wID49IGN0eHQtPmlucHV0LT5iYXNlKSAmJiAoKnRtcCAhPSAnPicpKSB0bXAtLTsKKwkJaWYgKHRtcCA+PSBjdHh0LT5pbnB1dC0+YmFzZSkKKwkJICAgICpsYXN0Z3QgPSB0bXA7CisJCWVsc2UKKwkJICAgICpsYXN0Z3QgPSBOVUxMOworCSAgICB9CisJfQorICAgIH0gZWxzZSB7CisgICAgICAgICpsYXN0bHQgPSBOVUxMOworCSpsYXN0Z3QgPSBOVUxMOworICAgIH0KK30KKy8qKgorICogeG1sQ2hlY2tDZGF0YVB1c2g6CisgKiBAY3VyOiBwb2ludGVyIHRvIHRoZSBib2NrIG9mIGNoYXJhY3RlcnMKKyAqIEBsZW46IGxlbmd0aCBvZiB0aGUgYmxvY2sgaW4gYnl0ZXMKKyAqCisgKiBDaGVjayB0aGF0IHRoZSBibG9jayBvZiBjaGFyYWN0ZXJzIGlzIG9rYXkgYXMgU0NkYXRhIGNvbnRlbnQgWzIwXQorICoKKyAqIFJldHVybnMgdGhlIG51bWJlciBvZiBieXRlcyB0byBwYXNzIGlmIG9rYXksIGEgbmVnYXRpdmUgaW5kZXggd2hlcmUgYW4KKyAqICAgICAgICAgVVRGLTggZXJyb3Igb2NjdXJlZCBvdGhlcndpc2UKKyAqLworc3RhdGljIGludAoreG1sQ2hlY2tDZGF0YVB1c2goY29uc3QgeG1sQ2hhciAqdXRmLCBpbnQgbGVuKSB7CisgICAgaW50IGl4OworICAgIHVuc2lnbmVkIGNoYXIgYzsKKyAgICBpbnQgY29kZXBvaW50OworCisgICAgaWYgKCh1dGYgPT0gTlVMTCkgfHwgKGxlbiA8PSAwKSkKKyAgICAgICAgcmV0dXJuKDApOworCisgICAgZm9yIChpeCA9IDA7IGl4IDwgbGVuOykgeyAgICAgIC8qIHN0cmluZyBpcyAwLXRlcm1pbmF0ZWQgKi8KKyAgICAgICAgYyA9IHV0ZltpeF07CisgICAgICAgIGlmICgoYyAmIDB4ODApID09IDB4MDApIHsJLyogMS1ieXRlIGNvZGUsIHN0YXJ0cyB3aXRoIDEwICovCisJICAgIGlmIChjID49IDB4MjApCisJCWl4Kys7CisJICAgIGVsc2UgaWYgKChjID09IDB4QSkgfHwgKGMgPT0gMHhEKSB8fCAoYyA9PSAweDkpKQorCSAgICAgICAgaXgrKzsKKwkgICAgZWxzZQorCSAgICAgICAgcmV0dXJuKC1peCk7CisJfSBlbHNlIGlmICgoYyAmIDB4ZTApID09IDB4YzApIHsvKiAyLWJ5dGUgY29kZSwgc3RhcnRzIHdpdGggMTEwICovCisJICAgIGlmIChpeCArIDIgPiBsZW4pIHJldHVybihpeCk7CisJICAgIGlmICgodXRmW2l4KzFdICYgMHhjMCApICE9IDB4ODApCisJICAgICAgICByZXR1cm4oLWl4KTsKKwkgICAgY29kZXBvaW50ID0gKHV0ZltpeF0gJiAweDFmKSA8PCA2OworCSAgICBjb2RlcG9pbnQgfD0gdXRmW2l4KzFdICYgMHgzZjsKKwkgICAgaWYgKCF4bWxJc0NoYXJRKGNvZGVwb2ludCkpCisJICAgICAgICByZXR1cm4oLWl4KTsKKwkgICAgaXggKz0gMjsKKwl9IGVsc2UgaWYgKChjICYgMHhmMCkgPT0gMHhlMCkgey8qIDMtYnl0ZSBjb2RlLCBzdGFydHMgd2l0aCAxMTEwICovCisJICAgIGlmIChpeCArIDMgPiBsZW4pIHJldHVybihpeCk7CisJICAgIGlmICgoKHV0ZltpeCsxXSAmIDB4YzApICE9IDB4ODApIHx8CisJICAgICAgICAoKHV0ZltpeCsyXSAmIDB4YzApICE9IDB4ODApKQorCQkgICAgcmV0dXJuKC1peCk7CisJICAgIGNvZGVwb2ludCA9ICh1dGZbaXhdICYgMHhmKSA8PCAxMjsKKwkgICAgY29kZXBvaW50IHw9ICh1dGZbaXgrMV0gJiAweDNmKSA8PCA2OworCSAgICBjb2RlcG9pbnQgfD0gdXRmW2l4KzJdICYgMHgzZjsKKwkgICAgaWYgKCF4bWxJc0NoYXJRKGNvZGVwb2ludCkpCisJICAgICAgICByZXR1cm4oLWl4KTsKKwkgICAgaXggKz0gMzsKKwl9IGVsc2UgaWYgKChjICYgMHhmOCkgPT0gMHhmMCkgey8qIDQtYnl0ZSBjb2RlLCBzdGFydHMgd2l0aCAxMTExMCAqLworCSAgICBpZiAoaXggKyA0ID4gbGVuKSByZXR1cm4oaXgpOworCSAgICBpZiAoKCh1dGZbaXgrMV0gJiAweGMwKSAhPSAweDgwKSB8fAorCSAgICAgICAgKCh1dGZbaXgrMl0gJiAweGMwKSAhPSAweDgwKSB8fAorCQkoKHV0ZltpeCszXSAmIDB4YzApICE9IDB4ODApKQorCQkgICAgcmV0dXJuKC1peCk7CisJICAgIGNvZGVwb2ludCA9ICh1dGZbaXhdICYgMHg3KSA8PCAxODsKKwkgICAgY29kZXBvaW50IHw9ICh1dGZbaXgrMV0gJiAweDNmKSA8PCAxMjsKKwkgICAgY29kZXBvaW50IHw9ICh1dGZbaXgrMl0gJiAweDNmKSA8PCA2OworCSAgICBjb2RlcG9pbnQgfD0gdXRmW2l4KzNdICYgMHgzZjsKKwkgICAgaWYgKCF4bWxJc0NoYXJRKGNvZGVwb2ludCkpCisJICAgICAgICByZXR1cm4oLWl4KTsKKwkgICAgaXggKz0gNDsKKwl9IGVsc2UJCQkJLyogdW5rbm93biBlbmNvZGluZyAqLworCSAgICByZXR1cm4oLWl4KTsKKyAgICAgIH0KKyAgICAgIHJldHVybihpeCk7Cit9CisKKy8qKgorICogeG1sUGFyc2VUcnlPckZpbmlzaDoKKyAqIEBjdHh0OiAgYW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAdGVybWluYXRlOiAgbGFzdCBjaHVuayBpbmRpY2F0b3IKKyAqCisgKiBUcnkgdG8gcHJvZ3Jlc3Mgb24gcGFyc2luZworICoKKyAqIFJldHVybnMgemVybyBpZiBubyBwYXJzaW5nIHdhcyBwb3NzaWJsZQorICovCitzdGF0aWMgaW50Cit4bWxQYXJzZVRyeU9yRmluaXNoKHhtbFBhcnNlckN0eHRQdHIgY3R4dCwgaW50IHRlcm1pbmF0ZSkgeworICAgIGludCByZXQgPSAwOworICAgIGludCBhdmFpbCwgdGxlbjsKKyAgICB4bWxDaGFyIGN1ciwgbmV4dDsKKyAgICBjb25zdCB4bWxDaGFyICpsYXN0bHQsICpsYXN0Z3Q7CisKKyAgICBpZiAoY3R4dC0+aW5wdXQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuKDApOworCisjaWZkZWYgREVCVUdfUFVTSAorICAgIHN3aXRjaCAoY3R4dC0+aW5zdGF0ZSkgeworCWNhc2UgWE1MX1BBUlNFUl9FT0Y6CisJICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkgICAgIlBQOiB0cnkgRU9GXG4iKTsgYnJlYWs7CisJY2FzZSBYTUxfUEFSU0VSX1NUQVJUOgorCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJICAgICJQUDogdHJ5IFNUQVJUXG4iKTsgYnJlYWs7CisJY2FzZSBYTUxfUEFSU0VSX01JU0M6CisJICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkgICAgIlBQOiB0cnkgTUlTQ1xuIik7YnJlYWs7CisJY2FzZSBYTUxfUEFSU0VSX0NPTU1FTlQ6CisJICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkgICAgIlBQOiB0cnkgQ09NTUVOVFxuIik7YnJlYWs7CisJY2FzZSBYTUxfUEFSU0VSX1BST0xPRzoKKwkgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSAgICAiUFA6IHRyeSBQUk9MT0dcbiIpO2JyZWFrOworCWNhc2UgWE1MX1BBUlNFUl9TVEFSVF9UQUc6CisJICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkgICAgIlBQOiB0cnkgU1RBUlRfVEFHXG4iKTticmVhazsKKwljYXNlIFhNTF9QQVJTRVJfQ09OVEVOVDoKKwkgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSAgICAiUFA6IHRyeSBDT05URU5UXG4iKTticmVhazsKKwljYXNlIFhNTF9QQVJTRVJfQ0RBVEFfU0VDVElPTjoKKwkgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSAgICAiUFA6IHRyeSBDREFUQV9TRUNUSU9OXG4iKTticmVhazsKKwljYXNlIFhNTF9QQVJTRVJfRU5EX1RBRzoKKwkgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSAgICAiUFA6IHRyeSBFTkRfVEFHXG4iKTticmVhazsKKwljYXNlIFhNTF9QQVJTRVJfRU5USVRZX0RFQ0w6CisJICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkgICAgIlBQOiB0cnkgRU5USVRZX0RFQ0xcbiIpO2JyZWFrOworCWNhc2UgWE1MX1BBUlNFUl9FTlRJVFlfVkFMVUU6CisJICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkgICAgIlBQOiB0cnkgRU5USVRZX1ZBTFVFXG4iKTticmVhazsKKwljYXNlIFhNTF9QQVJTRVJfQVRUUklCVVRFX1ZBTFVFOgorCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJICAgICJQUDogdHJ5IEFUVFJJQlVURV9WQUxVRVxuIik7YnJlYWs7CisJY2FzZSBYTUxfUEFSU0VSX0RURDoKKwkgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSAgICAiUFA6IHRyeSBEVERcbiIpO2JyZWFrOworCWNhc2UgWE1MX1BBUlNFUl9FUElMT0c6CisJICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkgICAgIlBQOiB0cnkgRVBJTE9HXG4iKTticmVhazsKKwljYXNlIFhNTF9QQVJTRVJfUEk6CisJICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkgICAgIlBQOiB0cnkgUElcbiIpO2JyZWFrOworICAgICAgICBjYXNlIFhNTF9QQVJTRVJfSUdOT1JFOgorICAgICAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSAgICAiUFA6IHRyeSBJR05PUkVcbiIpO2JyZWFrOworICAgIH0KKyNlbmRpZgorCisgICAgaWYgKChjdHh0LT5pbnB1dCAhPSBOVUxMKSAmJgorICAgICAgICAoY3R4dC0+aW5wdXQtPmN1ciAtIGN0eHQtPmlucHV0LT5iYXNlID4gNDA5NikpIHsKKwl4bWxTSFJJTksoY3R4dCk7CisJY3R4dC0+Y2hlY2tJbmRleCA9IDA7CisgICAgfQorICAgIHhtbFBhcnNlR2V0TGFzdHMoY3R4dCwgJmxhc3RsdCwgJmxhc3RndCk7CisKKyAgICB3aGlsZSAoY3R4dC0+aW5zdGF0ZSAhPSBYTUxfUEFSU0VSX0VPRikgeworCWlmICgoY3R4dC0+ZXJyTm8gIT0gWE1MX0VSUl9PSykgJiYgKGN0eHQtPmRpc2FibGVTQVggPT0gMSkpCisJICAgIHJldHVybigwKTsKKworCisJLyoKKwkgKiBQb3AtdXAgb2YgZmluaXNoZWQgZW50aXRpZXMuCisJICovCisJd2hpbGUgKChSQVcgPT0gMCkgJiYgKGN0eHQtPmlucHV0TnIgPiAxKSkKKwkgICAgeG1sUG9wSW5wdXQoY3R4dCk7CisKKwlpZiAoY3R4dC0+aW5wdXQgPT0gTlVMTCkgYnJlYWs7CisJaWYgKGN0eHQtPmlucHV0LT5idWYgPT0gTlVMTCkKKwkgICAgYXZhaWwgPSBjdHh0LT5pbnB1dC0+bGVuZ3RoIC0KKwkgICAgICAgICAgICAoY3R4dC0+aW5wdXQtPmN1ciAtIGN0eHQtPmlucHV0LT5iYXNlKTsKKwllbHNlIHsKKwkgICAgLyoKKwkgICAgICogSWYgd2UgYXJlIG9wZXJhdGluZyBvbiBjb252ZXJ0ZWQgaW5wdXQsIHRyeSB0byBmbHVzaAorCSAgICAgKiByZW1haW5uZyBjaGFycyB0byBhdm9pZCB0aGVtIHN0YWxsaW5nIGluIHRoZSBub24tY29udmVydGVkCisJICAgICAqIGJ1ZmZlci4gQnV0IGRvIG5vdCBkbyB0aGlzIGluIGRvY3VtZW50IHN0YXJ0IHdoZXJlCisJICAgICAqIGVuY29kaW5nPSIuLi4iIG1heSBub3QgaGF2ZSBiZWVuIHJlYWQgYW5kIHdlIHdvcmsgb24gYQorCSAgICAgKiBndWVzc2VkIGVuY29kaW5nLgorCSAgICAgKi8KKwkgICAgaWYgKChjdHh0LT5pbnN0YXRlICE9IFhNTF9QQVJTRVJfU1RBUlQpICYmCisJICAgICAgICAoY3R4dC0+aW5wdXQtPmJ1Zi0+cmF3ICE9IE5VTEwpICYmCisJCSh4bWxCdWZJc0VtcHR5KGN0eHQtPmlucHV0LT5idWYtPnJhdykgPT0gMCkpIHsKKyAgICAgICAgICAgICAgICBzaXplX3QgYmFzZSA9IHhtbEJ1ZkdldElucHV0QmFzZShjdHh0LT5pbnB1dC0+YnVmLT5idWZmZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3R4dC0+aW5wdXQpOworCQlzaXplX3QgY3VycmVudCA9IGN0eHQtPmlucHV0LT5jdXIgLSBjdHh0LT5pbnB1dC0+YmFzZTsKKworCQl4bWxQYXJzZXJJbnB1dEJ1ZmZlclB1c2goY3R4dC0+aW5wdXQtPmJ1ZiwgMCwgIiIpOworICAgICAgICAgICAgICAgIHhtbEJ1ZlNldElucHV0QmFzZUN1cihjdHh0LT5pbnB1dC0+YnVmLT5idWZmZXIsIGN0eHQtPmlucHV0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYXNlLCBjdXJyZW50KTsKKwkgICAgfQorCSAgICBhdmFpbCA9IHhtbEJ1ZlVzZShjdHh0LT5pbnB1dC0+YnVmLT5idWZmZXIpIC0KKwkJICAgIChjdHh0LT5pbnB1dC0+Y3VyIC0gY3R4dC0+aW5wdXQtPmJhc2UpOworCX0KKyAgICAgICAgaWYgKGF2YWlsIDwgMSkKKwkgICAgZ290byBkb25lOworICAgICAgICBzd2l0Y2ggKGN0eHQtPmluc3RhdGUpIHsKKyAgICAgICAgICAgIGNhc2UgWE1MX1BBUlNFUl9FT0Y6CisJICAgICAgICAvKgorCQkgKiBEb2N1bWVudCBwYXJzaW5nIGlzIGRvbmUgIQorCQkgKi8KKwkgICAgICAgIGdvdG8gZG9uZTsKKyAgICAgICAgICAgIGNhc2UgWE1MX1BBUlNFUl9TVEFSVDoKKwkJaWYgKGN0eHQtPmNoYXJzZXQgPT0gWE1MX0NIQVJfRU5DT0RJTkdfTk9ORSkgeworCQkgICAgeG1sQ2hhciBzdGFydFs0XTsKKwkJICAgIHhtbENoYXJFbmNvZGluZyBlbmM7CisKKwkJICAgIC8qCisJCSAgICAgKiBWZXJ5IGZpcnN0IGNoYXJzIHJlYWQgZnJvbSB0aGUgZG9jdW1lbnQgZmxvdy4KKwkJICAgICAqLworCQkgICAgaWYgKGF2YWlsIDwgNCkKKwkJCWdvdG8gZG9uZTsKKworCQkgICAgLyoKKwkJICAgICAqIEdldCB0aGUgNCBmaXJzdCBieXRlcyBhbmQgZGVjb2RlIHRoZSBjaGFyc2V0CisJCSAgICAgKiBpZiBlbmMgIT0gWE1MX0NIQVJfRU5DT0RJTkdfTk9ORQorCQkgICAgICogcGx1ZyBzb21lIGVuY29kaW5nIGNvbnZlcnNpb24gcm91dGluZXMsCisJCSAgICAgKiBlbHNlIHhtbFN3aXRjaEVuY29kaW5nIHdpbGwgc2V0IHRvIChkZWZhdWx0KQorCQkgICAgICogVVRGOC4KKwkJICAgICAqLworCQkgICAgc3RhcnRbMF0gPSBSQVc7CisJCSAgICBzdGFydFsxXSA9IE5YVCgxKTsKKwkJICAgIHN0YXJ0WzJdID0gTlhUKDIpOworCQkgICAgc3RhcnRbM10gPSBOWFQoMyk7CisJCSAgICBlbmMgPSB4bWxEZXRlY3RDaGFyRW5jb2Rpbmcoc3RhcnQsIDQpOworCQkgICAgeG1sU3dpdGNoRW5jb2RpbmcoY3R4dCwgZW5jKTsKKwkJICAgIGJyZWFrOworCQl9CisKKwkJaWYgKGF2YWlsIDwgMikKKwkJICAgIGdvdG8gZG9uZTsKKwkJY3VyID0gY3R4dC0+aW5wdXQtPmN1clswXTsKKwkJbmV4dCA9IGN0eHQtPmlucHV0LT5jdXJbMV07CisJCWlmIChjdXIgPT0gMCkgeworCQkgICAgaWYgKChjdHh0LT5zYXgpICYmIChjdHh0LT5zYXgtPnNldERvY3VtZW50TG9jYXRvcikpCisJCQljdHh0LT5zYXgtPnNldERvY3VtZW50TG9jYXRvcihjdHh0LT51c2VyRGF0YSwKKwkJCQkJCSAgICAgICZ4bWxEZWZhdWx0U0FYTG9jYXRvcik7CisJCSAgICB4bWxGYXRhbEVycihjdHh0LCBYTUxfRVJSX0RPQ1VNRU5UX0VNUFRZLCBOVUxMKTsKKwkJICAgIGN0eHQtPmluc3RhdGUgPSBYTUxfUEFSU0VSX0VPRjsKKyNpZmRlZiBERUJVR19QVVNICisJCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJCSAgICAiUFA6IGVudGVyaW5nIEVPRlxuIik7CisjZW5kaWYKKwkJICAgIGlmICgoY3R4dC0+c2F4KSAmJiAoY3R4dC0+c2F4LT5lbmREb2N1bWVudCAhPSBOVUxMKSkKKwkJCWN0eHQtPnNheC0+ZW5kRG9jdW1lbnQoY3R4dC0+dXNlckRhdGEpOworCQkgICAgZ290byBkb25lOworCQl9CisJICAgICAgICBpZiAoKGN1ciA9PSAnPCcpICYmIChuZXh0ID09ICc/JykpIHsKKwkJICAgIC8qIFBJIG9yIFhNTCBkZWNsICovCisJCSAgICBpZiAoYXZhaWwgPCA1KSByZXR1cm4ocmV0KTsKKwkJICAgIGlmICgoIXRlcm1pbmF0ZSkgJiYKKwkJICAgICAgICAoeG1sUGFyc2VMb29rdXBTZXF1ZW5jZShjdHh0LCAnPycsICc+JywgMCkgPCAwKSkKKwkJCXJldHVybihyZXQpOworCQkgICAgaWYgKChjdHh0LT5zYXgpICYmIChjdHh0LT5zYXgtPnNldERvY3VtZW50TG9jYXRvcikpCisJCQljdHh0LT5zYXgtPnNldERvY3VtZW50TG9jYXRvcihjdHh0LT51c2VyRGF0YSwKKwkJCQkJCSAgICAgICZ4bWxEZWZhdWx0U0FYTG9jYXRvcik7CisJCSAgICBpZiAoKGN0eHQtPmlucHV0LT5jdXJbMl0gPT0gJ3gnKSAmJgorCQkJKGN0eHQtPmlucHV0LT5jdXJbM10gPT0gJ20nKSAmJgorCQkJKGN0eHQtPmlucHV0LT5jdXJbNF0gPT0gJ2wnKSAmJgorCQkJKElTX0JMQU5LX0NIKGN0eHQtPmlucHV0LT5jdXJbNV0pKSkgeworCQkJcmV0ICs9IDU7CisjaWZkZWYgREVCVUdfUFVTSAorCQkJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCQkJIlBQOiBQYXJzaW5nIFhNTCBEZWNsXG4iKTsKKyNlbmRpZgorCQkJeG1sUGFyc2VYTUxEZWNsKGN0eHQpOworCQkJaWYgKGN0eHQtPmVyck5vID09IFhNTF9FUlJfVU5TVVBQT1JURURfRU5DT0RJTkcpIHsKKwkJCSAgICAvKgorCQkJICAgICAqIFRoZSBYTUwgUkVDIGluc3RydWN0cyB1cyB0byBzdG9wIHBhcnNpbmcgcmlnaHQKKwkJCSAgICAgKiBoZXJlCisJCQkgICAgICovCisJCQkgICAgY3R4dC0+aW5zdGF0ZSA9IFhNTF9QQVJTRVJfRU9GOworCQkJICAgIHJldHVybigwKTsKKwkJCX0KKwkJCWN0eHQtPnN0YW5kYWxvbmUgPSBjdHh0LT5pbnB1dC0+c3RhbmRhbG9uZTsKKwkJCWlmICgoY3R4dC0+ZW5jb2RpbmcgPT0gTlVMTCkgJiYKKwkJCSAgICAoY3R4dC0+aW5wdXQtPmVuY29kaW5nICE9IE5VTEwpKQorCQkJICAgIGN0eHQtPmVuY29kaW5nID0geG1sU3RyZHVwKGN0eHQtPmlucHV0LT5lbmNvZGluZyk7CisJCQlpZiAoKGN0eHQtPnNheCkgJiYgKGN0eHQtPnNheC0+c3RhcnREb2N1bWVudCkgJiYKKwkJCSAgICAoIWN0eHQtPmRpc2FibGVTQVgpKQorCQkJICAgIGN0eHQtPnNheC0+c3RhcnREb2N1bWVudChjdHh0LT51c2VyRGF0YSk7CisJCQljdHh0LT5pbnN0YXRlID0gWE1MX1BBUlNFUl9NSVNDOworI2lmZGVmIERFQlVHX1BVU0gKKwkJCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkJCSJQUDogZW50ZXJpbmcgTUlTQ1xuIik7CisjZW5kaWYKKwkJICAgIH0gZWxzZSB7CisJCQljdHh0LT52ZXJzaW9uID0geG1sQ2hhclN0cmR1cChYTUxfREVGQVVMVF9WRVJTSU9OKTsKKwkJCWlmICgoY3R4dC0+c2F4KSAmJiAoY3R4dC0+c2F4LT5zdGFydERvY3VtZW50KSAmJgorCQkJICAgICghY3R4dC0+ZGlzYWJsZVNBWCkpCisJCQkgICAgY3R4dC0+c2F4LT5zdGFydERvY3VtZW50KGN0eHQtPnVzZXJEYXRhKTsKKwkJCWN0eHQtPmluc3RhdGUgPSBYTUxfUEFSU0VSX01JU0M7CisjaWZkZWYgREVCVUdfUFVTSAorCQkJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCQkJIlBQOiBlbnRlcmluZyBNSVNDXG4iKTsKKyNlbmRpZgorCQkgICAgfQorCQl9IGVsc2UgeworCQkgICAgaWYgKChjdHh0LT5zYXgpICYmIChjdHh0LT5zYXgtPnNldERvY3VtZW50TG9jYXRvcikpCisJCQljdHh0LT5zYXgtPnNldERvY3VtZW50TG9jYXRvcihjdHh0LT51c2VyRGF0YSwKKwkJCQkJCSAgICAgICZ4bWxEZWZhdWx0U0FYTG9jYXRvcik7CisJCSAgICBjdHh0LT52ZXJzaW9uID0geG1sQ2hhclN0cmR1cChYTUxfREVGQVVMVF9WRVJTSU9OKTsKKwkJICAgIGlmIChjdHh0LT52ZXJzaW9uID09IE5VTEwpIHsKKwkJICAgICAgICB4bWxFcnJNZW1vcnkoY3R4dCwgTlVMTCk7CisJCQlicmVhazsKKwkJICAgIH0KKwkJICAgIGlmICgoY3R4dC0+c2F4KSAmJiAoY3R4dC0+c2F4LT5zdGFydERvY3VtZW50KSAmJgorCQkgICAgICAgICghY3R4dC0+ZGlzYWJsZVNBWCkpCisJCQljdHh0LT5zYXgtPnN0YXJ0RG9jdW1lbnQoY3R4dC0+dXNlckRhdGEpOworCQkgICAgY3R4dC0+aW5zdGF0ZSA9IFhNTF9QQVJTRVJfTUlTQzsKKyNpZmRlZiBERUJVR19QVVNICisJCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJCSAgICAiUFA6IGVudGVyaW5nIE1JU0NcbiIpOworI2VuZGlmCisJCX0KKwkJYnJlYWs7CisgICAgICAgICAgICBjYXNlIFhNTF9QQVJTRVJfU1RBUlRfVEFHOiB7CisJICAgICAgICBjb25zdCB4bWxDaGFyICpuYW1lOworCQljb25zdCB4bWxDaGFyICpwcmVmaXggPSBOVUxMOworCQljb25zdCB4bWxDaGFyICpVUkkgPSBOVUxMOworCQlpbnQgbnNOciA9IGN0eHQtPm5zTnI7CisKKwkJaWYgKChhdmFpbCA8IDIpICYmIChjdHh0LT5pbnB1dE5yID09IDEpKQorCQkgICAgZ290byBkb25lOworCQljdXIgPSBjdHh0LT5pbnB1dC0+Y3VyWzBdOworCSAgICAgICAgaWYgKGN1ciAhPSAnPCcpIHsKKwkJICAgIHhtbEZhdGFsRXJyKGN0eHQsIFhNTF9FUlJfRE9DVU1FTlRfRU1QVFksIE5VTEwpOworCQkgICAgY3R4dC0+aW5zdGF0ZSA9IFhNTF9QQVJTRVJfRU9GOworCQkgICAgaWYgKChjdHh0LT5zYXgpICYmIChjdHh0LT5zYXgtPmVuZERvY3VtZW50ICE9IE5VTEwpKQorCQkJY3R4dC0+c2F4LT5lbmREb2N1bWVudChjdHh0LT51c2VyRGF0YSk7CisJCSAgICBnb3RvIGRvbmU7CisJCX0KKwkJaWYgKCF0ZXJtaW5hdGUpIHsKKwkJICAgIGlmIChjdHh0LT5wcm9ncmVzc2l2ZSkgeworCQkgICAgICAgIC8qID4gY2FuIGJlIGZvdW5kIHVuZXNjYXBlZCBpbiBhdHRyaWJ1dGUgdmFsdWVzICovCisJCSAgICAgICAgaWYgKChsYXN0Z3QgPT0gTlVMTCkgfHwgKGN0eHQtPmlucHV0LT5jdXIgPj0gbGFzdGd0KSkKKwkJCSAgICBnb3RvIGRvbmU7CisJCSAgICB9IGVsc2UgaWYgKHhtbFBhcnNlTG9va3VwU2VxdWVuY2UoY3R4dCwgJz4nLCAwLCAwKSA8IDApIHsKKwkJCWdvdG8gZG9uZTsKKwkJICAgIH0KKwkJfQorCQlpZiAoY3R4dC0+c3BhY2VOciA9PSAwKQorCQkgICAgc3BhY2VQdXNoKGN0eHQsIC0xKTsKKwkJZWxzZSBpZiAoKmN0eHQtPnNwYWNlID09IC0yKQorCQkgICAgc3BhY2VQdXNoKGN0eHQsIC0xKTsKKwkJZWxzZQorCQkgICAgc3BhY2VQdXNoKGN0eHQsICpjdHh0LT5zcGFjZSk7CisjaWZkZWYgTElCWE1MX1NBWDFfRU5BQkxFRAorCQlpZiAoY3R4dC0+c2F4MikKKyNlbmRpZiAvKiBMSUJYTUxfU0FYMV9FTkFCTEVEICovCisJCSAgICBuYW1lID0geG1sUGFyc2VTdGFydFRhZzIoY3R4dCwgJnByZWZpeCwgJlVSSSwgJnRsZW4pOworI2lmZGVmIExJQlhNTF9TQVgxX0VOQUJMRUQKKwkJZWxzZQorCQkgICAgbmFtZSA9IHhtbFBhcnNlU3RhcnRUYWcoY3R4dCk7CisjZW5kaWYgLyogTElCWE1MX1NBWDFfRU5BQkxFRCAqLworCQlpZiAoY3R4dC0+aW5zdGF0ZSA9PSBYTUxfUEFSU0VSX0VPRikKKwkJICAgIGdvdG8gZG9uZTsKKwkJaWYgKG5hbWUgPT0gTlVMTCkgeworCQkgICAgc3BhY2VQb3AoY3R4dCk7CisJCSAgICBjdHh0LT5pbnN0YXRlID0gWE1MX1BBUlNFUl9FT0Y7CisJCSAgICBpZiAoKGN0eHQtPnNheCkgJiYgKGN0eHQtPnNheC0+ZW5kRG9jdW1lbnQgIT0gTlVMTCkpCisJCQljdHh0LT5zYXgtPmVuZERvY3VtZW50KGN0eHQtPnVzZXJEYXRhKTsKKwkJICAgIGdvdG8gZG9uZTsKKwkJfQorI2lmZGVmIExJQlhNTF9WQUxJRF9FTkFCTEVECisJCS8qCisJCSAqIFsgVkM6IFJvb3QgRWxlbWVudCBUeXBlIF0KKwkJICogVGhlIE5hbWUgaW4gdGhlIGRvY3VtZW50IHR5cGUgZGVjbGFyYXRpb24gbXVzdCBtYXRjaAorCQkgKiB0aGUgZWxlbWVudCB0eXBlIG9mIHRoZSByb290IGVsZW1lbnQuCisJCSAqLworCQlpZiAoY3R4dC0+dmFsaWRhdGUgJiYgY3R4dC0+d2VsbEZvcm1lZCAmJiBjdHh0LT5teURvYyAmJgorCQkgICAgY3R4dC0+bm9kZSAmJiAoY3R4dC0+bm9kZSA9PSBjdHh0LT5teURvYy0+Y2hpbGRyZW4pKQorCQkgICAgY3R4dC0+dmFsaWQgJj0geG1sVmFsaWRhdGVSb290KCZjdHh0LT52Y3R4dCwgY3R4dC0+bXlEb2MpOworI2VuZGlmIC8qIExJQlhNTF9WQUxJRF9FTkFCTEVEICovCisKKwkJLyoKKwkJICogQ2hlY2sgZm9yIGFuIEVtcHR5IEVsZW1lbnQuCisJCSAqLworCQlpZiAoKFJBVyA9PSAnLycpICYmIChOWFQoMSkgPT0gJz4nKSkgeworCQkgICAgU0tJUCgyKTsKKworCQkgICAgaWYgKGN0eHQtPnNheDIpIHsKKwkJCWlmICgoY3R4dC0+c2F4ICE9IE5VTEwpICYmCisJCQkgICAgKGN0eHQtPnNheC0+ZW5kRWxlbWVudE5zICE9IE5VTEwpICYmCisJCQkgICAgKCFjdHh0LT5kaXNhYmxlU0FYKSkKKwkJCSAgICBjdHh0LT5zYXgtPmVuZEVsZW1lbnROcyhjdHh0LT51c2VyRGF0YSwgbmFtZSwKKwkJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmVmaXgsIFVSSSk7CisJCQlpZiAoY3R4dC0+bnNOciAtIG5zTnIgPiAwKQorCQkJICAgIG5zUG9wKGN0eHQsIGN0eHQtPm5zTnIgLSBuc05yKTsKKyNpZmRlZiBMSUJYTUxfU0FYMV9FTkFCTEVECisJCSAgICB9IGVsc2UgeworCQkJaWYgKChjdHh0LT5zYXggIT0gTlVMTCkgJiYKKwkJCSAgICAoY3R4dC0+c2F4LT5lbmRFbGVtZW50ICE9IE5VTEwpICYmCisJCQkgICAgKCFjdHh0LT5kaXNhYmxlU0FYKSkKKwkJCSAgICBjdHh0LT5zYXgtPmVuZEVsZW1lbnQoY3R4dC0+dXNlckRhdGEsIG5hbWUpOworI2VuZGlmIC8qIExJQlhNTF9TQVgxX0VOQUJMRUQgKi8KKwkJICAgIH0KKwkJICAgIGlmIChjdHh0LT5pbnN0YXRlID09IFhNTF9QQVJTRVJfRU9GKQorCQkJZ290byBkb25lOworCQkgICAgc3BhY2VQb3AoY3R4dCk7CisJCSAgICBpZiAoY3R4dC0+bmFtZU5yID09IDApIHsKKwkJCWN0eHQtPmluc3RhdGUgPSBYTUxfUEFSU0VSX0VQSUxPRzsKKwkJICAgIH0gZWxzZSB7CisJCQljdHh0LT5pbnN0YXRlID0gWE1MX1BBUlNFUl9DT05URU5UOworCQkgICAgfQorICAgICAgICAgICAgICAgICAgICBjdHh0LT5wcm9ncmVzc2l2ZSA9IDE7CisJCSAgICBicmVhazsKKwkJfQorCQlpZiAoUkFXID09ICc+JykgeworCQkgICAgTkVYVDsKKwkJfSBlbHNlIHsKKwkJICAgIHhtbEZhdGFsRXJyTXNnU3RyKGN0eHQsIFhNTF9FUlJfR1RfUkVRVUlSRUQsCisJCQkJCSAiQ291bGRuJ3QgZmluZCBlbmQgb2YgU3RhcnQgVGFnICVzXG4iLAorCQkJCQkgbmFtZSk7CisJCSAgICBub2RlUG9wKGN0eHQpOworCQkgICAgc3BhY2VQb3AoY3R4dCk7CisJCX0KKwkJaWYgKGN0eHQtPnNheDIpCisJCSAgICBuYW1lTnNQdXNoKGN0eHQsIG5hbWUsIHByZWZpeCwgVVJJLCBjdHh0LT5uc05yIC0gbnNOcik7CisjaWZkZWYgTElCWE1MX1NBWDFfRU5BQkxFRAorCQllbHNlCisJCSAgICBuYW1lUHVzaChjdHh0LCBuYW1lKTsKKyNlbmRpZiAvKiBMSUJYTUxfU0FYMV9FTkFCTEVEICovCisKKwkJY3R4dC0+aW5zdGF0ZSA9IFhNTF9QQVJTRVJfQ09OVEVOVDsKKyAgICAgICAgICAgICAgICBjdHh0LT5wcm9ncmVzc2l2ZSA9IDE7CisgICAgICAgICAgICAgICAgYnJlYWs7CisJICAgIH0KKyAgICAgICAgICAgIGNhc2UgWE1MX1BBUlNFUl9DT05URU5UOiB7CisJCWNvbnN0IHhtbENoYXIgKnRlc3Q7CisJCXVuc2lnbmVkIGludCBjb25zOworCQlpZiAoKGF2YWlsIDwgMikgJiYgKGN0eHQtPmlucHV0TnIgPT0gMSkpCisJCSAgICBnb3RvIGRvbmU7CisJCWN1ciA9IGN0eHQtPmlucHV0LT5jdXJbMF07CisJCW5leHQgPSBjdHh0LT5pbnB1dC0+Y3VyWzFdOworCisJCXRlc3QgPSBDVVJfUFRSOworCSAgICAgICAgY29ucyA9IGN0eHQtPmlucHV0LT5jb25zdW1lZDsKKwkJaWYgKChjdXIgPT0gJzwnKSAmJiAobmV4dCA9PSAnLycpKSB7CisJCSAgICBjdHh0LT5pbnN0YXRlID0gWE1MX1BBUlNFUl9FTkRfVEFHOworCQkgICAgYnJlYWs7CisJICAgICAgICB9IGVsc2UgaWYgKChjdXIgPT0gJzwnKSAmJiAobmV4dCA9PSAnPycpKSB7CisJCSAgICBpZiAoKCF0ZXJtaW5hdGUpICYmCisJCSAgICAgICAgKHhtbFBhcnNlTG9va3VwU2VxdWVuY2UoY3R4dCwgJz8nLCAnPicsIDApIDwgMCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGN0eHQtPnByb2dyZXNzaXZlID0gWE1MX1BBUlNFUl9QSTsKKwkJCWdvdG8gZG9uZTsKKyAgICAgICAgICAgICAgICAgICAgfQorCQkgICAgeG1sUGFyc2VQSShjdHh0KTsKKwkJICAgIGN0eHQtPmluc3RhdGUgPSBYTUxfUEFSU0VSX0NPTlRFTlQ7CisgICAgICAgICAgICAgICAgICAgIGN0eHQtPnByb2dyZXNzaXZlID0gMTsKKwkJfSBlbHNlIGlmICgoY3VyID09ICc8JykgJiYgKG5leHQgIT0gJyEnKSkgeworCQkgICAgY3R4dC0+aW5zdGF0ZSA9IFhNTF9QQVJTRVJfU1RBUlRfVEFHOworCQkgICAgYnJlYWs7CisJCX0gZWxzZSBpZiAoKGN1ciA9PSAnPCcpICYmIChuZXh0ID09ICchJykgJiYKKwkJICAgICAgICAgICAoY3R4dC0+aW5wdXQtPmN1clsyXSA9PSAnLScpICYmCisJCQkgICAoY3R4dC0+aW5wdXQtPmN1clszXSA9PSAnLScpKSB7CisJCSAgICBpbnQgdGVybTsKKworCSAgICAgICAgICAgIGlmIChhdmFpbCA8IDQpCisJCSAgICAgICAgZ290byBkb25lOworCQkgICAgY3R4dC0+aW5wdXQtPmN1ciArPSA0OworCQkgICAgdGVybSA9IHhtbFBhcnNlTG9va3VwU2VxdWVuY2UoY3R4dCwgJy0nLCAnLScsICc+Jyk7CisJCSAgICBjdHh0LT5pbnB1dC0+Y3VyIC09IDQ7CisJCSAgICBpZiAoKCF0ZXJtaW5hdGUpICYmICh0ZXJtIDwgMCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGN0eHQtPnByb2dyZXNzaXZlID0gWE1MX1BBUlNFUl9DT01NRU5UOworCQkJZ290byBkb25lOworICAgICAgICAgICAgICAgICAgICB9CisJCSAgICB4bWxQYXJzZUNvbW1lbnQoY3R4dCk7CisJCSAgICBjdHh0LT5pbnN0YXRlID0gWE1MX1BBUlNFUl9DT05URU5UOworICAgICAgICAgICAgICAgICAgICBjdHh0LT5wcm9ncmVzc2l2ZSA9IDE7CisJCX0gZWxzZSBpZiAoKGN1ciA9PSAnPCcpICYmIChjdHh0LT5pbnB1dC0+Y3VyWzFdID09ICchJykgJiYKKwkJICAgIChjdHh0LT5pbnB1dC0+Y3VyWzJdID09ICdbJykgJiYKKwkJICAgIChjdHh0LT5pbnB1dC0+Y3VyWzNdID09ICdDJykgJiYKKwkJICAgIChjdHh0LT5pbnB1dC0+Y3VyWzRdID09ICdEJykgJiYKKwkJICAgIChjdHh0LT5pbnB1dC0+Y3VyWzVdID09ICdBJykgJiYKKwkJICAgIChjdHh0LT5pbnB1dC0+Y3VyWzZdID09ICdUJykgJiYKKwkJICAgIChjdHh0LT5pbnB1dC0+Y3VyWzddID09ICdBJykgJiYKKwkJICAgIChjdHh0LT5pbnB1dC0+Y3VyWzhdID09ICdbJykpIHsKKwkJICAgIFNLSVAoOSk7CisJCSAgICBjdHh0LT5pbnN0YXRlID0gWE1MX1BBUlNFUl9DREFUQV9TRUNUSU9OOworCQkgICAgYnJlYWs7CisJCX0gZWxzZSBpZiAoKGN1ciA9PSAnPCcpICYmIChuZXh0ID09ICchJykgJiYKKwkJICAgICAgICAgICAoYXZhaWwgPCA5KSkgeworCQkgICAgZ290byBkb25lOworCQl9IGVsc2UgaWYgKGN1ciA9PSAnJicpIHsKKwkJICAgIGlmICgoIXRlcm1pbmF0ZSkgJiYKKwkJICAgICAgICAoeG1sUGFyc2VMb29rdXBTZXF1ZW5jZShjdHh0LCAnOycsIDAsIDApIDwgMCkpCisJCQlnb3RvIGRvbmU7CisJCSAgICB4bWxQYXJzZVJlZmVyZW5jZShjdHh0KTsKKwkJfSBlbHNlIHsKKwkJICAgIC8qIFRPRE8gQXZvaWQgdGhlIGV4dHJhIGNvcHksIGhhbmRsZSBkaXJlY3RseSAhISEgKi8KKwkJICAgIC8qCisJCSAgICAgKiBHb2FsIG9mIHRoZSBmb2xsb3dpbmcgdGVzdCBpczoKKwkJICAgICAqICAtIG1pbmltaXplIGNhbGxzIHRvIHRoZSBTQVggJ2NoYXJhY3RlcicgY2FsbGJhY2sKKwkJICAgICAqICAgIHdoZW4gdGhleSBhcmUgbWVyZ2VhYmxlCisJCSAgICAgKiAgLSBoYW5kbGUgYW4gcHJvYmxlbSBmb3IgaXNCbGFuayB3aGVuIHdlIG9ubHkgcGFyc2UKKwkJICAgICAqICAgIGEgc2VxdWVuY2Ugb2YgYmxhbmsgY2hhcnMgYW5kIHRoZSBuZXh0IG9uZSBpcworCQkgICAgICogICAgbm90IGF2YWlsYWJsZSB0byBjaGVjayBhZ2FpbnN0ICc8JyBwcmVzZW5jZS4KKwkJICAgICAqICAtIHRyaWVzIHRvIGhvbW9nZW5pemUgdGhlIGRpZmZlcmVuY2VzIGluIFNBWAorCQkgICAgICogICAgY2FsbGJhY2tzIGJldHdlZW4gdGhlIHB1c2ggYW5kIHB1bGwgdmVyc2lvbnMKKwkJICAgICAqICAgIG9mIHRoZSBwYXJzZXIuCisJCSAgICAgKi8KKwkJICAgIGlmICgoY3R4dC0+aW5wdXROciA9PSAxKSAmJgorCQkgICAgICAgIChhdmFpbCA8IFhNTF9QQVJTRVJfQklHX0JVRkZFUl9TSVpFKSkgeworCQkJaWYgKCF0ZXJtaW5hdGUpIHsKKwkJCSAgICBpZiAoY3R4dC0+cHJvZ3Jlc3NpdmUpIHsKKwkJCQlpZiAoKGxhc3RsdCA9PSBOVUxMKSB8fAorCQkJCSAgICAoY3R4dC0+aW5wdXQtPmN1ciA+IGxhc3RsdCkpCisJCQkJICAgIGdvdG8gZG9uZTsKKwkJCSAgICB9IGVsc2UgaWYgKHhtbFBhcnNlTG9va3VwU2VxdWVuY2UoY3R4dCwKKwkJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzwnLCAwLCAwKSA8IDApIHsKKwkJCQlnb3RvIGRvbmU7CisJCQkgICAgfQorCQkJfQorICAgICAgICAgICAgICAgICAgICB9CisJCSAgICBjdHh0LT5jaGVja0luZGV4ID0gMDsKKwkJICAgIHhtbFBhcnNlQ2hhckRhdGEoY3R4dCwgMCk7CisJCX0KKwkJLyoKKwkJICogUG9wLXVwIG9mIGZpbmlzaGVkIGVudGl0aWVzLgorCQkgKi8KKwkJd2hpbGUgKChSQVcgPT0gMCkgJiYgKGN0eHQtPmlucHV0TnIgPiAxKSkKKwkJICAgIHhtbFBvcElucHV0KGN0eHQpOworCQlpZiAoKGNvbnMgPT0gY3R4dC0+aW5wdXQtPmNvbnN1bWVkKSAmJiAodGVzdCA9PSBDVVJfUFRSKSkgeworCQkgICAgeG1sRmF0YWxFcnIoY3R4dCwgWE1MX0VSUl9JTlRFUk5BTF9FUlJPUiwKKwkJICAgICAgICAgICAgICAgICJkZXRlY3RlZCBhbiBlcnJvciBpbiBlbGVtZW50IGNvbnRlbnRcbiIpOworCQkgICAgY3R4dC0+aW5zdGF0ZSA9IFhNTF9QQVJTRVJfRU9GOworCQkgICAgYnJlYWs7CisJCX0KKwkJYnJlYWs7CisJICAgIH0KKyAgICAgICAgICAgIGNhc2UgWE1MX1BBUlNFUl9FTkRfVEFHOgorCQlpZiAoYXZhaWwgPCAyKQorCQkgICAgZ290byBkb25lOworCQlpZiAoIXRlcm1pbmF0ZSkgeworCQkgICAgaWYgKGN0eHQtPnByb2dyZXNzaXZlKSB7CisJCSAgICAgICAgLyogPiBjYW4gYmUgZm91bmQgdW5lc2NhcGVkIGluIGF0dHJpYnV0ZSB2YWx1ZXMgKi8KKwkJICAgICAgICBpZiAoKGxhc3RndCA9PSBOVUxMKSB8fCAoY3R4dC0+aW5wdXQtPmN1ciA+PSBsYXN0Z3QpKQorCQkJICAgIGdvdG8gZG9uZTsKKwkJICAgIH0gZWxzZSBpZiAoeG1sUGFyc2VMb29rdXBTZXF1ZW5jZShjdHh0LCAnPicsIDAsIDApIDwgMCkgeworCQkJZ290byBkb25lOworCQkgICAgfQorCQl9CisJCWlmIChjdHh0LT5zYXgyKSB7CisJCSAgICB4bWxQYXJzZUVuZFRhZzIoY3R4dCwKKwkJICAgICAgICAgICAodm9pZCAqKSBjdHh0LT5wdXNoVGFiW2N0eHQtPm5hbWVOciAqIDMgLSAzXSwKKwkJICAgICAgICAgICAodm9pZCAqKSBjdHh0LT5wdXNoVGFiW2N0eHQtPm5hbWVOciAqIDMgLSAyXSwgMCwKKwkJICAgICAgIChpbnQpIChsb25nKSBjdHh0LT5wdXNoVGFiW2N0eHQtPm5hbWVOciAqIDMgLSAxXSwgMCk7CisJCSAgICBuYW1lTnNQb3AoY3R4dCk7CisJCX0KKyNpZmRlZiBMSUJYTUxfU0FYMV9FTkFCTEVECisJCSAgZWxzZQorCQkgICAgeG1sUGFyc2VFbmRUYWcxKGN0eHQsIDApOworI2VuZGlmIC8qIExJQlhNTF9TQVgxX0VOQUJMRUQgKi8KKwkJaWYgKGN0eHQtPmluc3RhdGUgPT0gWE1MX1BBUlNFUl9FT0YpIHsKKwkJICAgIC8qIE5vdGhpbmcgKi8KKwkJfSBlbHNlIGlmIChjdHh0LT5uYW1lTnIgPT0gMCkgeworCQkgICAgY3R4dC0+aW5zdGF0ZSA9IFhNTF9QQVJTRVJfRVBJTE9HOworCQl9IGVsc2UgeworCQkgICAgY3R4dC0+aW5zdGF0ZSA9IFhNTF9QQVJTRVJfQ09OVEVOVDsKKwkJfQorCQlicmVhazsKKyAgICAgICAgICAgIGNhc2UgWE1MX1BBUlNFUl9DREFUQV9TRUNUSU9OOiB7CisJICAgICAgICAvKgorCQkgKiBUaGUgUHVzaCBtb2RlIG5lZWQgdG8gaGF2ZSB0aGUgU0FYIGNhbGxiYWNrIGZvcgorCQkgKiBjZGF0YUJsb2NrIG1lcmdlIGJhY2sgY29udGlndW91cyBjYWxsYmFja3MuCisJCSAqLworCQlpbnQgYmFzZTsKKworCQliYXNlID0geG1sUGFyc2VMb29rdXBTZXF1ZW5jZShjdHh0LCAnXScsICddJywgJz4nKTsKKwkJaWYgKGJhc2UgPCAwKSB7CisJCSAgICBpZiAoYXZhaWwgPj0gWE1MX1BBUlNFUl9CSUdfQlVGRkVSX1NJWkUgKyAyKSB7CisJCSAgICAgICAgaW50IHRtcDsKKworCQkJdG1wID0geG1sQ2hlY2tDZGF0YVB1c2goY3R4dC0+aW5wdXQtPmN1ciwKKwkJCSAgICAgICAgICAgICAgICAgICAgICAgIFhNTF9QQVJTRVJfQklHX0JVRkZFUl9TSVpFKTsKKwkJCWlmICh0bXAgPCAwKSB7CisJCQkgICAgdG1wID0gLXRtcDsKKwkJCSAgICBjdHh0LT5pbnB1dC0+Y3VyICs9IHRtcDsKKwkJCSAgICBnb3RvIGVuY29kaW5nX2Vycm9yOworCQkJfQorCQkJaWYgKChjdHh0LT5zYXggIT0gTlVMTCkgJiYgKCFjdHh0LT5kaXNhYmxlU0FYKSkgeworCQkJICAgIGlmIChjdHh0LT5zYXgtPmNkYXRhQmxvY2sgIT0gTlVMTCkKKwkJCQljdHh0LT5zYXgtPmNkYXRhQmxvY2soY3R4dC0+dXNlckRhdGEsCisJCQkJICAgICAgICAgICAgICAgICAgICAgIGN0eHQtPmlucHV0LT5jdXIsIHRtcCk7CisJCQkgICAgZWxzZSBpZiAoY3R4dC0+c2F4LT5jaGFyYWN0ZXJzICE9IE5VTEwpCisJCQkJY3R4dC0+c2F4LT5jaGFyYWN0ZXJzKGN0eHQtPnVzZXJEYXRhLAorCQkJCSAgICAgICAgICAgICAgICAgICAgICBjdHh0LT5pbnB1dC0+Y3VyLCB0bXApOworCQkJfQorCQkJaWYgKGN0eHQtPmluc3RhdGUgPT0gWE1MX1BBUlNFUl9FT0YpCisJCQkgICAgZ290byBkb25lOworCQkJU0tJUEwodG1wKTsKKwkJCWN0eHQtPmNoZWNrSW5kZXggPSAwOworCQkgICAgfQorCQkgICAgZ290byBkb25lOworCQl9IGVsc2UgeworCQkgICAgaW50IHRtcDsKKworCQkgICAgdG1wID0geG1sQ2hlY2tDZGF0YVB1c2goY3R4dC0+aW5wdXQtPmN1ciwgYmFzZSk7CisJCSAgICBpZiAoKHRtcCA8IDApIHx8ICh0bXAgIT0gYmFzZSkpIHsKKwkJCXRtcCA9IC10bXA7CisJCQljdHh0LT5pbnB1dC0+Y3VyICs9IHRtcDsKKwkJCWdvdG8gZW5jb2RpbmdfZXJyb3I7CisJCSAgICB9CisJCSAgICBpZiAoKGN0eHQtPnNheCAhPSBOVUxMKSAmJiAoYmFzZSA9PSAwKSAmJgorCQkgICAgICAgIChjdHh0LT5zYXgtPmNkYXRhQmxvY2sgIT0gTlVMTCkgJiYKKwkJICAgICAgICAoIWN0eHQtPmRpc2FibGVTQVgpKSB7CisJCQkvKgorCQkJICogU3BlY2lhbCBjYXNlIHRvIHByb3ZpZGUgaWRlbnRpY2FsIGJlaGF2aW91cgorCQkJICogYmV0d2VlbiBwdWxsIGFuZCBwdXNoIHBhcnNlcnMgb24gZW5wdHkgQ0RBVEEKKwkJCSAqIHNlY3Rpb25zCisJCQkgKi8KKwkJCSBpZiAoKGN0eHQtPmlucHV0LT5jdXIgLSBjdHh0LT5pbnB1dC0+YmFzZSA+PSA5KSAmJgorCQkJICAgICAoIXN0cm5jbXAoKGNvbnN0IGNoYXIgKikmY3R4dC0+aW5wdXQtPmN1clstOV0sCisJCQkgICAgICAgICAgICAgICAiPCFbQ0RBVEFbIiwgOSkpKQorCQkJICAgICBjdHh0LT5zYXgtPmNkYXRhQmxvY2soY3R4dC0+dXNlckRhdGEsCisJCQkgICAgICAgICAgICAgICAgICAgICAgICAgICBCQURfQ0FTVCAiIiwgMCk7CisJCSAgICB9IGVsc2UgaWYgKChjdHh0LT5zYXggIT0gTlVMTCkgJiYgKGJhc2UgPiAwKSAmJgorCQkJKCFjdHh0LT5kaXNhYmxlU0FYKSkgeworCQkJaWYgKGN0eHQtPnNheC0+Y2RhdGFCbG9jayAhPSBOVUxMKQorCQkJICAgIGN0eHQtPnNheC0+Y2RhdGFCbG9jayhjdHh0LT51c2VyRGF0YSwKKwkJCQkJCSAgY3R4dC0+aW5wdXQtPmN1ciwgYmFzZSk7CisJCQllbHNlIGlmIChjdHh0LT5zYXgtPmNoYXJhY3RlcnMgIT0gTlVMTCkKKwkJCSAgICBjdHh0LT5zYXgtPmNoYXJhY3RlcnMoY3R4dC0+dXNlckRhdGEsCisJCQkJCQkgIGN0eHQtPmlucHV0LT5jdXIsIGJhc2UpOworCQkgICAgfQorCQkgICAgaWYgKGN0eHQtPmluc3RhdGUgPT0gWE1MX1BBUlNFUl9FT0YpCisJCQlnb3RvIGRvbmU7CisJCSAgICBTS0lQTChiYXNlICsgMyk7CisJCSAgICBjdHh0LT5jaGVja0luZGV4ID0gMDsKKwkJICAgIGN0eHQtPmluc3RhdGUgPSBYTUxfUEFSU0VSX0NPTlRFTlQ7CisjaWZkZWYgREVCVUdfUFVTSAorCQkgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCQkgICAgIlBQOiBlbnRlcmluZyBDT05URU5UXG4iKTsKKyNlbmRpZgorCQl9CisJCWJyZWFrOworCSAgICB9CisgICAgICAgICAgICBjYXNlIFhNTF9QQVJTRVJfTUlTQzoKKwkJU0tJUF9CTEFOS1M7CisJCWlmIChjdHh0LT5pbnB1dC0+YnVmID09IE5VTEwpCisJCSAgICBhdmFpbCA9IGN0eHQtPmlucHV0LT5sZW5ndGggLQorCQkgICAgICAgICAgICAoY3R4dC0+aW5wdXQtPmN1ciAtIGN0eHQtPmlucHV0LT5iYXNlKTsKKwkJZWxzZQorCQkgICAgYXZhaWwgPSB4bWxCdWZVc2UoY3R4dC0+aW5wdXQtPmJ1Zi0+YnVmZmVyKSAtCisJCSAgICAgICAgICAgIChjdHh0LT5pbnB1dC0+Y3VyIC0gY3R4dC0+aW5wdXQtPmJhc2UpOworCQlpZiAoYXZhaWwgPCAyKQorCQkgICAgZ290byBkb25lOworCQljdXIgPSBjdHh0LT5pbnB1dC0+Y3VyWzBdOworCQluZXh0ID0gY3R4dC0+aW5wdXQtPmN1clsxXTsKKwkgICAgICAgIGlmICgoY3VyID09ICc8JykgJiYgKG5leHQgPT0gJz8nKSkgeworCQkgICAgaWYgKCghdGVybWluYXRlKSAmJgorCQkgICAgICAgICh4bWxQYXJzZUxvb2t1cFNlcXVlbmNlKGN0eHQsICc/JywgJz4nLCAwKSA8IDApKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBjdHh0LT5wcm9ncmVzc2l2ZSA9IFhNTF9QQVJTRVJfUEk7CisJCQlnb3RvIGRvbmU7CisgICAgICAgICAgICAgICAgICAgIH0KKyNpZmRlZiBERUJVR19QVVNICisJCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJCSAgICAiUFA6IFBhcnNpbmcgUElcbiIpOworI2VuZGlmCisJCSAgICB4bWxQYXJzZVBJKGN0eHQpOworCQkgICAgaWYgKGN0eHQtPmluc3RhdGUgPT0gWE1MX1BBUlNFUl9FT0YpCisJCQlnb3RvIGRvbmU7CisJCSAgICBjdHh0LT5pbnN0YXRlID0gWE1MX1BBUlNFUl9NSVNDOworICAgICAgICAgICAgICAgICAgICBjdHh0LT5wcm9ncmVzc2l2ZSA9IDE7CisJCSAgICBjdHh0LT5jaGVja0luZGV4ID0gMDsKKwkJfSBlbHNlIGlmICgoY3VyID09ICc8JykgJiYgKG5leHQgPT0gJyEnKSAmJgorCQkgICAgKGN0eHQtPmlucHV0LT5jdXJbMl0gPT0gJy0nKSAmJgorCQkgICAgKGN0eHQtPmlucHV0LT5jdXJbM10gPT0gJy0nKSkgeworCQkgICAgaWYgKCghdGVybWluYXRlKSAmJgorCQkgICAgICAgICh4bWxQYXJzZUxvb2t1cFNlcXVlbmNlKGN0eHQsICctJywgJy0nLCAnPicpIDwgMCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGN0eHQtPnByb2dyZXNzaXZlID0gWE1MX1BBUlNFUl9DT01NRU5UOworCQkJZ290byBkb25lOworICAgICAgICAgICAgICAgICAgICB9CisjaWZkZWYgREVCVUdfUFVTSAorCQkgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCQkgICAgIlBQOiBQYXJzaW5nIENvbW1lbnRcbiIpOworI2VuZGlmCisJCSAgICB4bWxQYXJzZUNvbW1lbnQoY3R4dCk7CisJCSAgICBpZiAoY3R4dC0+aW5zdGF0ZSA9PSBYTUxfUEFSU0VSX0VPRikKKwkJCWdvdG8gZG9uZTsKKwkJICAgIGN0eHQtPmluc3RhdGUgPSBYTUxfUEFSU0VSX01JU0M7CisgICAgICAgICAgICAgICAgICAgIGN0eHQtPnByb2dyZXNzaXZlID0gMTsKKwkJICAgIGN0eHQtPmNoZWNrSW5kZXggPSAwOworCQl9IGVsc2UgaWYgKChjdXIgPT0gJzwnKSAmJiAobmV4dCA9PSAnIScpICYmCisJCSAgICAoY3R4dC0+aW5wdXQtPmN1clsyXSA9PSAnRCcpICYmCisJCSAgICAoY3R4dC0+aW5wdXQtPmN1clszXSA9PSAnTycpICYmCisJCSAgICAoY3R4dC0+aW5wdXQtPmN1cls0XSA9PSAnQycpICYmCisJCSAgICAoY3R4dC0+aW5wdXQtPmN1cls1XSA9PSAnVCcpICYmCisJCSAgICAoY3R4dC0+aW5wdXQtPmN1cls2XSA9PSAnWScpICYmCisJCSAgICAoY3R4dC0+aW5wdXQtPmN1cls3XSA9PSAnUCcpICYmCisJCSAgICAoY3R4dC0+aW5wdXQtPmN1cls4XSA9PSAnRScpKSB7CisJCSAgICBpZiAoKCF0ZXJtaW5hdGUpICYmCisJCSAgICAgICAgKHhtbFBhcnNlTG9va3VwU2VxdWVuY2UoY3R4dCwgJz4nLCAwLCAwKSA8IDApKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBjdHh0LT5wcm9ncmVzc2l2ZSA9IFhNTF9QQVJTRVJfRFREOworCQkJZ290byBkb25lOworICAgICAgICAgICAgICAgICAgICB9CisjaWZkZWYgREVCVUdfUFVTSAorCQkgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCQkgICAgIlBQOiBQYXJzaW5nIGludGVybmFsIHN1YnNldFxuIik7CisjZW5kaWYKKwkJICAgIGN0eHQtPmluU3Vic2V0ID0gMTsKKyAgICAgICAgICAgICAgICAgICAgY3R4dC0+cHJvZ3Jlc3NpdmUgPSAwOworCQkgICAgY3R4dC0+Y2hlY2tJbmRleCA9IDA7CisJCSAgICB4bWxQYXJzZURvY1R5cGVEZWNsKGN0eHQpOworCQkgICAgaWYgKGN0eHQtPmluc3RhdGUgPT0gWE1MX1BBUlNFUl9FT0YpCisJCQlnb3RvIGRvbmU7CisJCSAgICBpZiAoUkFXID09ICdbJykgeworCQkJY3R4dC0+aW5zdGF0ZSA9IFhNTF9QQVJTRVJfRFREOworI2lmZGVmIERFQlVHX1BVU0gKKwkJCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkJCSJQUDogZW50ZXJpbmcgRFREXG4iKTsKKyNlbmRpZgorCQkgICAgfSBlbHNlIHsKKwkJCS8qCisJCQkgKiBDcmVhdGUgYW5kIHVwZGF0ZSB0aGUgZXh0ZXJuYWwgc3Vic2V0LgorCQkJICovCisJCQljdHh0LT5pblN1YnNldCA9IDI7CisJCQlpZiAoKGN0eHQtPnNheCAhPSBOVUxMKSAmJiAoIWN0eHQtPmRpc2FibGVTQVgpICYmCisJCQkgICAgKGN0eHQtPnNheC0+ZXh0ZXJuYWxTdWJzZXQgIT0gTlVMTCkpCisJCQkgICAgY3R4dC0+c2F4LT5leHRlcm5hbFN1YnNldChjdHh0LT51c2VyRGF0YSwKKwkJCQkgICAgY3R4dC0+aW50U3ViTmFtZSwgY3R4dC0+ZXh0U3ViU3lzdGVtLAorCQkJCSAgICBjdHh0LT5leHRTdWJVUkkpOworCQkJY3R4dC0+aW5TdWJzZXQgPSAwOworCQkJeG1sQ2xlYW5TcGVjaWFsQXR0cihjdHh0KTsKKwkJCWN0eHQtPmluc3RhdGUgPSBYTUxfUEFSU0VSX1BST0xPRzsKKyNpZmRlZiBERUJVR19QVVNICisJCQl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJCQkiUFA6IGVudGVyaW5nIFBST0xPR1xuIik7CisjZW5kaWYKKwkJICAgIH0KKwkJfSBlbHNlIGlmICgoY3VyID09ICc8JykgJiYgKG5leHQgPT0gJyEnKSAmJgorCQkgICAgICAgICAgIChhdmFpbCA8IDkpKSB7CisJCSAgICBnb3RvIGRvbmU7CisJCX0gZWxzZSB7CisJCSAgICBjdHh0LT5pbnN0YXRlID0gWE1MX1BBUlNFUl9TVEFSVF9UQUc7CisJCSAgICBjdHh0LT5wcm9ncmVzc2l2ZSA9IFhNTF9QQVJTRVJfU1RBUlRfVEFHOworCQkgICAgeG1sUGFyc2VHZXRMYXN0cyhjdHh0LCAmbGFzdGx0LCAmbGFzdGd0KTsKKyNpZmRlZiBERUJVR19QVVNICisJCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJCSAgICAiUFA6IGVudGVyaW5nIFNUQVJUX1RBR1xuIik7CisjZW5kaWYKKwkJfQorCQlicmVhazsKKyAgICAgICAgICAgIGNhc2UgWE1MX1BBUlNFUl9QUk9MT0c6CisJCVNLSVBfQkxBTktTOworCQlpZiAoY3R4dC0+aW5wdXQtPmJ1ZiA9PSBOVUxMKQorCQkgICAgYXZhaWwgPSBjdHh0LT5pbnB1dC0+bGVuZ3RoIC0gKGN0eHQtPmlucHV0LT5jdXIgLSBjdHh0LT5pbnB1dC0+YmFzZSk7CisJCWVsc2UKKwkJICAgIGF2YWlsID0geG1sQnVmVXNlKGN0eHQtPmlucHV0LT5idWYtPmJ1ZmZlcikgLQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjdHh0LT5pbnB1dC0+Y3VyIC0gY3R4dC0+aW5wdXQtPmJhc2UpOworCQlpZiAoYXZhaWwgPCAyKQorCQkgICAgZ290byBkb25lOworCQljdXIgPSBjdHh0LT5pbnB1dC0+Y3VyWzBdOworCQluZXh0ID0gY3R4dC0+aW5wdXQtPmN1clsxXTsKKwkgICAgICAgIGlmICgoY3VyID09ICc8JykgJiYgKG5leHQgPT0gJz8nKSkgeworCQkgICAgaWYgKCghdGVybWluYXRlKSAmJgorCQkgICAgICAgICh4bWxQYXJzZUxvb2t1cFNlcXVlbmNlKGN0eHQsICc/JywgJz4nLCAwKSA8IDApKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBjdHh0LT5wcm9ncmVzc2l2ZSA9IFhNTF9QQVJTRVJfUEk7CisJCQlnb3RvIGRvbmU7CisgICAgICAgICAgICAgICAgICAgIH0KKyNpZmRlZiBERUJVR19QVVNICisJCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJCSAgICAiUFA6IFBhcnNpbmcgUElcbiIpOworI2VuZGlmCisJCSAgICB4bWxQYXJzZVBJKGN0eHQpOworCQkgICAgaWYgKGN0eHQtPmluc3RhdGUgPT0gWE1MX1BBUlNFUl9FT0YpCisJCQlnb3RvIGRvbmU7CisJCSAgICBjdHh0LT5pbnN0YXRlID0gWE1MX1BBUlNFUl9QUk9MT0c7CisgICAgICAgICAgICAgICAgICAgIGN0eHQtPnByb2dyZXNzaXZlID0gMTsKKwkJfSBlbHNlIGlmICgoY3VyID09ICc8JykgJiYgKG5leHQgPT0gJyEnKSAmJgorCQkgICAgKGN0eHQtPmlucHV0LT5jdXJbMl0gPT0gJy0nKSAmJiAoY3R4dC0+aW5wdXQtPmN1clszXSA9PSAnLScpKSB7CisJCSAgICBpZiAoKCF0ZXJtaW5hdGUpICYmCisJCSAgICAgICAgKHhtbFBhcnNlTG9va3VwU2VxdWVuY2UoY3R4dCwgJy0nLCAnLScsICc+JykgPCAwKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgY3R4dC0+cHJvZ3Jlc3NpdmUgPSBYTUxfUEFSU0VSX0NPTU1FTlQ7CisJCQlnb3RvIGRvbmU7CisgICAgICAgICAgICAgICAgICAgIH0KKyNpZmRlZiBERUJVR19QVVNICisJCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJCSAgICAiUFA6IFBhcnNpbmcgQ29tbWVudFxuIik7CisjZW5kaWYKKwkJICAgIHhtbFBhcnNlQ29tbWVudChjdHh0KTsKKwkJICAgIGlmIChjdHh0LT5pbnN0YXRlID09IFhNTF9QQVJTRVJfRU9GKQorCQkJZ290byBkb25lOworCQkgICAgY3R4dC0+aW5zdGF0ZSA9IFhNTF9QQVJTRVJfUFJPTE9HOworICAgICAgICAgICAgICAgICAgICBjdHh0LT5wcm9ncmVzc2l2ZSA9IDE7CisJCX0gZWxzZSBpZiAoKGN1ciA9PSAnPCcpICYmIChuZXh0ID09ICchJykgJiYKKwkJICAgICAgICAgICAoYXZhaWwgPCA0KSkgeworCQkgICAgZ290byBkb25lOworCQl9IGVsc2UgeworCQkgICAgY3R4dC0+aW5zdGF0ZSA9IFhNTF9QQVJTRVJfU1RBUlRfVEFHOworCQkgICAgaWYgKGN0eHQtPnByb2dyZXNzaXZlID09IDApCisJCQljdHh0LT5wcm9ncmVzc2l2ZSA9IFhNTF9QQVJTRVJfU1RBUlRfVEFHOworCQkgICAgeG1sUGFyc2VHZXRMYXN0cyhjdHh0LCAmbGFzdGx0LCAmbGFzdGd0KTsKKyNpZmRlZiBERUJVR19QVVNICisJCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJCSAgICAiUFA6IGVudGVyaW5nIFNUQVJUX1RBR1xuIik7CisjZW5kaWYKKwkJfQorCQlicmVhazsKKyAgICAgICAgICAgIGNhc2UgWE1MX1BBUlNFUl9FUElMT0c6CisJCVNLSVBfQkxBTktTOworCQlpZiAoY3R4dC0+aW5wdXQtPmJ1ZiA9PSBOVUxMKQorCQkgICAgYXZhaWwgPSBjdHh0LT5pbnB1dC0+bGVuZ3RoIC0gKGN0eHQtPmlucHV0LT5jdXIgLSBjdHh0LT5pbnB1dC0+YmFzZSk7CisJCWVsc2UKKwkJICAgIGF2YWlsID0geG1sQnVmVXNlKGN0eHQtPmlucHV0LT5idWYtPmJ1ZmZlcikgLQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjdHh0LT5pbnB1dC0+Y3VyIC0gY3R4dC0+aW5wdXQtPmJhc2UpOworCQlpZiAoYXZhaWwgPCAyKQorCQkgICAgZ290byBkb25lOworCQljdXIgPSBjdHh0LT5pbnB1dC0+Y3VyWzBdOworCQluZXh0ID0gY3R4dC0+aW5wdXQtPmN1clsxXTsKKwkgICAgICAgIGlmICgoY3VyID09ICc8JykgJiYgKG5leHQgPT0gJz8nKSkgeworCQkgICAgaWYgKCghdGVybWluYXRlKSAmJgorCQkgICAgICAgICh4bWxQYXJzZUxvb2t1cFNlcXVlbmNlKGN0eHQsICc/JywgJz4nLCAwKSA8IDApKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBjdHh0LT5wcm9ncmVzc2l2ZSA9IFhNTF9QQVJTRVJfUEk7CisJCQlnb3RvIGRvbmU7CisgICAgICAgICAgICAgICAgICAgIH0KKyNpZmRlZiBERUJVR19QVVNICisJCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJCSAgICAiUFA6IFBhcnNpbmcgUElcbiIpOworI2VuZGlmCisJCSAgICB4bWxQYXJzZVBJKGN0eHQpOworCQkgICAgaWYgKGN0eHQtPmluc3RhdGUgPT0gWE1MX1BBUlNFUl9FT0YpCisJCQlnb3RvIGRvbmU7CisJCSAgICBjdHh0LT5pbnN0YXRlID0gWE1MX1BBUlNFUl9FUElMT0c7CisgICAgICAgICAgICAgICAgICAgIGN0eHQtPnByb2dyZXNzaXZlID0gMTsKKwkJfSBlbHNlIGlmICgoY3VyID09ICc8JykgJiYgKG5leHQgPT0gJyEnKSAmJgorCQkgICAgKGN0eHQtPmlucHV0LT5jdXJbMl0gPT0gJy0nKSAmJiAoY3R4dC0+aW5wdXQtPmN1clszXSA9PSAnLScpKSB7CisJCSAgICBpZiAoKCF0ZXJtaW5hdGUpICYmCisJCSAgICAgICAgKHhtbFBhcnNlTG9va3VwU2VxdWVuY2UoY3R4dCwgJy0nLCAnLScsICc+JykgPCAwKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgY3R4dC0+cHJvZ3Jlc3NpdmUgPSBYTUxfUEFSU0VSX0NPTU1FTlQ7CisJCQlnb3RvIGRvbmU7CisgICAgICAgICAgICAgICAgICAgIH0KKyNpZmRlZiBERUJVR19QVVNICisJCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJCSAgICAiUFA6IFBhcnNpbmcgQ29tbWVudFxuIik7CisjZW5kaWYKKwkJICAgIHhtbFBhcnNlQ29tbWVudChjdHh0KTsKKwkJICAgIGlmIChjdHh0LT5pbnN0YXRlID09IFhNTF9QQVJTRVJfRU9GKQorCQkJZ290byBkb25lOworCQkgICAgY3R4dC0+aW5zdGF0ZSA9IFhNTF9QQVJTRVJfRVBJTE9HOworICAgICAgICAgICAgICAgICAgICBjdHh0LT5wcm9ncmVzc2l2ZSA9IDE7CisJCX0gZWxzZSBpZiAoKGN1ciA9PSAnPCcpICYmIChuZXh0ID09ICchJykgJiYKKwkJICAgICAgICAgICAoYXZhaWwgPCA0KSkgeworCQkgICAgZ290byBkb25lOworCQl9IGVsc2UgeworCQkgICAgeG1sRmF0YWxFcnIoY3R4dCwgWE1MX0VSUl9ET0NVTUVOVF9FTkQsIE5VTEwpOworCQkgICAgY3R4dC0+aW5zdGF0ZSA9IFhNTF9QQVJTRVJfRU9GOworI2lmZGVmIERFQlVHX1BVU0gKKwkJICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkJICAgICJQUDogZW50ZXJpbmcgRU9GXG4iKTsKKyNlbmRpZgorCQkgICAgaWYgKChjdHh0LT5zYXgpICYmIChjdHh0LT5zYXgtPmVuZERvY3VtZW50ICE9IE5VTEwpKQorCQkJY3R4dC0+c2F4LT5lbmREb2N1bWVudChjdHh0LT51c2VyRGF0YSk7CisJCSAgICBnb3RvIGRvbmU7CisJCX0KKwkJYnJlYWs7CisgICAgICAgICAgICBjYXNlIFhNTF9QQVJTRVJfRFREOiB7CisJICAgICAgICAvKgorCQkgKiBTb3JyeSBidXQgcHJvZ3Jlc3NpdmUgcGFyc2luZyBvZiB0aGUgaW50ZXJuYWwgc3Vic2V0CisJCSAqIGlzIG5vdCBleHBlY3RlZCB0byBiZSBzdXBwb3J0ZWQuIFdlIGZpcnN0IGNoZWNrIHRoYXQKKwkJICogdGhlIGZ1bGwgY29udGVudCBvZiB0aGUgaW50ZXJuYWwgc3Vic2V0IGlzIGF2YWlsYWJsZSBhbmQKKwkJICogdGhlIHBhcnNpbmcgaXMgbGF1bmNoZWQgb25seSBhdCB0aGF0IHBvaW50LgorCQkgKiBJbnRlcm5hbCBzdWJzZXQgZW5kcyB1cCB3aXRoICInXScgUz8gJz4nIiBpbiBhbiB1bmVzY2FwZWQKKwkJICogc2VjdGlvbiBhbmQgbm90IGluIGEgJ11dPicgc2VxdWVuY2Ugd2hpY2ggYXJlIGNvbmRpdGlvbmFsCisJCSAqIHNlY3Rpb25zICh3aG9ldmVyIGFyZ3VlZCB0byBrZWVwIHRoYXQgY3JhcCBpbiBYTUwgZGVzZXJ2ZQorCQkgKiBhIHBsYWNlIGluIGhlbGwgISkuCisJCSAqLworCQlpbnQgYmFzZSwgaTsKKwkJeG1sQ2hhciAqYnVmOworCSAgICAgICAgeG1sQ2hhciBxdW90ZSA9IDA7CisgICAgICAgICAgICAgICAgc2l6ZV90IHVzZTsKKworCQliYXNlID0gY3R4dC0+aW5wdXQtPmN1ciAtIGN0eHQtPmlucHV0LT5iYXNlOworCQlpZiAoYmFzZSA8IDApIHJldHVybigwKTsKKwkJaWYgKGN0eHQtPmNoZWNrSW5kZXggPiBiYXNlKQorCQkgICAgYmFzZSA9IGN0eHQtPmNoZWNrSW5kZXg7CisJCWJ1ZiA9IHhtbEJ1ZkNvbnRlbnQoY3R4dC0+aW5wdXQtPmJ1Zi0+YnVmZmVyKTsKKyAgICAgICAgICAgICAgICB1c2UgPSB4bWxCdWZVc2UoY3R4dC0+aW5wdXQtPmJ1Zi0+YnVmZmVyKTsKKwkJZm9yICg7KHVuc2lnbmVkIGludCkgYmFzZSA8IHVzZTsgYmFzZSsrKSB7CisJCSAgICBpZiAocXVvdGUgIT0gMCkgeworCQkgICAgICAgIGlmIChidWZbYmFzZV0gPT0gcXVvdGUpCisJCQkgICAgcXVvdGUgPSAwOworCQkJY29udGludWU7CisJCSAgICB9CisJCSAgICBpZiAoKHF1b3RlID09IDApICYmIChidWZbYmFzZV0gPT0gJzwnKSkgeworCQkgICAgICAgIGludCBmb3VuZCAgPSAwOworCQkJLyogc3BlY2lhbCBoYW5kbGluZyBvZiBjb21tZW50cyAqLworCQkgICAgICAgIGlmICgoKHVuc2lnbmVkIGludCkgYmFzZSArIDQgPCB1c2UpICYmCisJCQkgICAgKGJ1ZltiYXNlICsgMV0gPT0gJyEnKSAmJgorCQkJICAgIChidWZbYmFzZSArIDJdID09ICctJykgJiYKKwkJCSAgICAoYnVmW2Jhc2UgKyAzXSA9PSAnLScpKSB7CisJCQkgICAgZm9yICg7KHVuc2lnbmVkIGludCkgYmFzZSArIDMgPCB1c2U7IGJhc2UrKykgeworCQkJCWlmICgoYnVmW2Jhc2VdID09ICctJykgJiYKKwkJCQkgICAgKGJ1ZltiYXNlICsgMV0gPT0gJy0nKSAmJgorCQkJCSAgICAoYnVmW2Jhc2UgKyAyXSA9PSAnPicpKSB7CisJCQkJICAgIGZvdW5kID0gMTsKKwkJCQkgICAgYmFzZSArPSAyOworCQkJCSAgICBicmVhazsKKwkJCQl9CisJCSAgICAgICAgICAgIH0KKwkJCSAgICBpZiAoIWZvdW5kKSB7CisjaWYgMAorCQkJICAgICAgICBmcHJpbnRmKHN0ZGVyciwgInVuZmluaXNoZWQgY29tbWVudFxuIik7CisjZW5kaWYKKwkJCSAgICAgICAgYnJlYWs7IC8qIGZvciAqLworCQkgICAgICAgICAgICB9CisJCSAgICAgICAgICAgIGNvbnRpbnVlOworCQkJfQorCQkgICAgfQorCQkgICAgaWYgKGJ1ZltiYXNlXSA9PSAnIicpIHsKKwkJICAgICAgICBxdW90ZSA9ICciJzsKKwkJCWNvbnRpbnVlOworCQkgICAgfQorCQkgICAgaWYgKGJ1ZltiYXNlXSA9PSAnXCcnKSB7CisJCSAgICAgICAgcXVvdGUgPSAnXCcnOworCQkJY29udGludWU7CisJCSAgICB9CisJCSAgICBpZiAoYnVmW2Jhc2VdID09ICddJykgeworI2lmIDAKKwkJICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIiVjJWMlYyVjOiAiLCBidWZbYmFzZV0sCisJCQkgICAgICAgIGJ1ZltiYXNlICsgMV0sIGJ1ZltiYXNlICsgMl0sIGJ1ZltiYXNlICsgM10pOworI2VuZGlmCisJCSAgICAgICAgaWYgKCh1bnNpZ25lZCBpbnQpIGJhc2UgKzEgPj0gdXNlKQorCQkJICAgIGJyZWFrOworCQkJaWYgKGJ1ZltiYXNlICsgMV0gPT0gJ10nKSB7CisJCQkgICAgLyogY29uZGl0aW9uYWwgY3JhcCwgc2tpcCBib3RoICddJyAhICovCisJCQkgICAgYmFzZSsrOworCQkJICAgIGNvbnRpbnVlOworCQkJfQorCQkgICAgICAgIGZvciAoaSA9IDE7ICh1bnNpZ25lZCBpbnQpIGJhc2UgKyBpIDwgdXNlOyBpKyspIHsKKwkJCSAgICBpZiAoYnVmW2Jhc2UgKyBpXSA9PSAnPicpIHsKKyNpZiAwCisJCQkgICAgICAgIGZwcmludGYoc3RkZXJyLCAiZm91bmRcbiIpOworI2VuZGlmCisJCQkgICAgICAgIGdvdG8gZm91bmRfZW5kX2ludF9zdWJzZXQ7CisJCQkgICAgfQorCQkJICAgIGlmICghSVNfQkxBTktfQ0goYnVmW2Jhc2UgKyBpXSkpIHsKKyNpZiAwCisJCQkgICAgICAgIGZwcmludGYoc3RkZXJyLCAibm90IGZvdW5kXG4iKTsKKyNlbmRpZgorCQkJICAgICAgICBnb3RvIG5vdF9lbmRfb2ZfaW50X3N1YnNldDsKKwkJCSAgICB9CisJCQl9CisjaWYgMAorCQkJZnByaW50ZihzdGRlcnIsICJlbmQgb2Ygc3RyZWFtXG4iKTsKKyNlbmRpZgorCQkgICAgICAgIGJyZWFrOworCisJCSAgICB9Citub3RfZW5kX29mX2ludF9zdWJzZXQ6CisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOyAvKiBmb3IgKi8KKwkJfQorCQkvKgorCQkgKiBXZSBkaWRuJ3QgZm91bmQgdGhlIGVuZCBvZiB0aGUgSW50ZXJuYWwgc3Vic2V0CisJCSAqLworICAgICAgICAgICAgICAgIGlmIChxdW90ZSA9PSAwKQorICAgICAgICAgICAgICAgICAgICBjdHh0LT5jaGVja0luZGV4ID0gYmFzZTsKKyAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgIGN0eHQtPmNoZWNrSW5kZXggPSAwOworI2lmZGVmIERFQlVHX1BVU0gKKwkJaWYgKG5leHQgPT0gMCkKKwkJICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkJICAgICJQUDogbG9va3VwIG9mIGludCBzdWJzZXQgZW5kIGZpbGVkXG4iKTsKKyNlbmRpZgorCSAgICAgICAgZ290byBkb25lOworCitmb3VuZF9lbmRfaW50X3N1YnNldDoKKyAgICAgICAgICAgICAgICBjdHh0LT5jaGVja0luZGV4ID0gMDsKKwkJeG1sUGFyc2VJbnRlcm5hbFN1YnNldChjdHh0KTsKKwkJaWYgKGN0eHQtPmluc3RhdGUgPT0gWE1MX1BBUlNFUl9FT0YpCisJCSAgICBnb3RvIGRvbmU7CisJCWN0eHQtPmluU3Vic2V0ID0gMjsKKwkJaWYgKChjdHh0LT5zYXggIT0gTlVMTCkgJiYgKCFjdHh0LT5kaXNhYmxlU0FYKSAmJgorCQkgICAgKGN0eHQtPnNheC0+ZXh0ZXJuYWxTdWJzZXQgIT0gTlVMTCkpCisJCSAgICBjdHh0LT5zYXgtPmV4dGVybmFsU3Vic2V0KGN0eHQtPnVzZXJEYXRhLCBjdHh0LT5pbnRTdWJOYW1lLAorCQkJICAgIGN0eHQtPmV4dFN1YlN5c3RlbSwgY3R4dC0+ZXh0U3ViVVJJKTsKKwkJY3R4dC0+aW5TdWJzZXQgPSAwOworCQl4bWxDbGVhblNwZWNpYWxBdHRyKGN0eHQpOworCQlpZiAoY3R4dC0+aW5zdGF0ZSA9PSBYTUxfUEFSU0VSX0VPRikKKwkJICAgIGdvdG8gZG9uZTsKKwkJY3R4dC0+aW5zdGF0ZSA9IFhNTF9QQVJTRVJfUFJPTE9HOworCQljdHh0LT5jaGVja0luZGV4ID0gMDsKKyNpZmRlZiBERUJVR19QVVNICisJCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkJIlBQOiBlbnRlcmluZyBQUk9MT0dcbiIpOworI2VuZGlmCisgICAgICAgICAgICAgICAgYnJlYWs7CisJICAgIH0KKyAgICAgICAgICAgIGNhc2UgWE1MX1BBUlNFUl9DT01NRU5UOgorCQl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJCSJQUDogaW50ZXJuYWwgZXJyb3IsIHN0YXRlID09IENPTU1FTlRcbiIpOworCQljdHh0LT5pbnN0YXRlID0gWE1MX1BBUlNFUl9DT05URU5UOworI2lmZGVmIERFQlVHX1BVU0gKKwkJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCQkiUFA6IGVudGVyaW5nIENPTlRFTlRcbiIpOworI2VuZGlmCisJCWJyZWFrOworICAgICAgICAgICAgY2FzZSBYTUxfUEFSU0VSX0lHTk9SRToKKwkJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCQkiUFA6IGludGVybmFsIGVycm9yLCBzdGF0ZSA9PSBJR05PUkUiKTsKKwkgICAgICAgIGN0eHQtPmluc3RhdGUgPSBYTUxfUEFSU0VSX0RURDsKKyNpZmRlZiBERUJVR19QVVNICisJCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkJIlBQOiBlbnRlcmluZyBEVERcbiIpOworI2VuZGlmCisJICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgWE1MX1BBUlNFUl9QSToKKwkJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCQkiUFA6IGludGVybmFsIGVycm9yLCBzdGF0ZSA9PSBQSVxuIik7CisJCWN0eHQtPmluc3RhdGUgPSBYTUxfUEFSU0VSX0NPTlRFTlQ7CisjaWZkZWYgREVCVUdfUFVTSAorCQl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJCSJQUDogZW50ZXJpbmcgQ09OVEVOVFxuIik7CisjZW5kaWYKKwkJYnJlYWs7CisgICAgICAgICAgICBjYXNlIFhNTF9QQVJTRVJfRU5USVRZX0RFQ0w6CisJCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkJIlBQOiBpbnRlcm5hbCBlcnJvciwgc3RhdGUgPT0gRU5USVRZX0RFQ0xcbiIpOworCQljdHh0LT5pbnN0YXRlID0gWE1MX1BBUlNFUl9EVEQ7CisjaWZkZWYgREVCVUdfUFVTSAorCQl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJCSJQUDogZW50ZXJpbmcgRFREXG4iKTsKKyNlbmRpZgorCQlicmVhazsKKyAgICAgICAgICAgIGNhc2UgWE1MX1BBUlNFUl9FTlRJVFlfVkFMVUU6CisJCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkJIlBQOiBpbnRlcm5hbCBlcnJvciwgc3RhdGUgPT0gRU5USVRZX1ZBTFVFXG4iKTsKKwkJY3R4dC0+aW5zdGF0ZSA9IFhNTF9QQVJTRVJfQ09OVEVOVDsKKyNpZmRlZiBERUJVR19QVVNICisJCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkJIlBQOiBlbnRlcmluZyBEVERcbiIpOworI2VuZGlmCisJCWJyZWFrOworICAgICAgICAgICAgY2FzZSBYTUxfUEFSU0VSX0FUVFJJQlVURV9WQUxVRToKKwkJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCQkiUFA6IGludGVybmFsIGVycm9yLCBzdGF0ZSA9PSBBVFRSSUJVVEVfVkFMVUVcbiIpOworCQljdHh0LT5pbnN0YXRlID0gWE1MX1BBUlNFUl9TVEFSVF9UQUc7CisjaWZkZWYgREVCVUdfUFVTSAorCQl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJCSJQUDogZW50ZXJpbmcgU1RBUlRfVEFHXG4iKTsKKyNlbmRpZgorCQlicmVhazsKKyAgICAgICAgICAgIGNhc2UgWE1MX1BBUlNFUl9TWVNURU1fTElURVJBTDoKKwkJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCQkiUFA6IGludGVybmFsIGVycm9yLCBzdGF0ZSA9PSBTWVNURU1fTElURVJBTFxuIik7CisJCWN0eHQtPmluc3RhdGUgPSBYTUxfUEFSU0VSX1NUQVJUX1RBRzsKKyNpZmRlZiBERUJVR19QVVNICisJCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkJIlBQOiBlbnRlcmluZyBTVEFSVF9UQUdcbiIpOworI2VuZGlmCisJCWJyZWFrOworICAgICAgICAgICAgY2FzZSBYTUxfUEFSU0VSX1BVQkxJQ19MSVRFUkFMOgorCQl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJCSJQUDogaW50ZXJuYWwgZXJyb3IsIHN0YXRlID09IFBVQkxJQ19MSVRFUkFMXG4iKTsKKwkJY3R4dC0+aW5zdGF0ZSA9IFhNTF9QQVJTRVJfU1RBUlRfVEFHOworI2lmZGVmIERFQlVHX1BVU0gKKwkJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCQkiUFA6IGVudGVyaW5nIFNUQVJUX1RBR1xuIik7CisjZW5kaWYKKwkJYnJlYWs7CisJfQorICAgIH0KK2RvbmU6CisjaWZkZWYgREVCVUdfUFVTSAorICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCAiUFA6IGRvbmUgJWRcbiIsIHJldCk7CisjZW5kaWYKKyAgICByZXR1cm4ocmV0KTsKK2VuY29kaW5nX2Vycm9yOgorICAgIHsKKyAgICAgICAgY2hhciBidWZmZXJbMTUwXTsKKworCXNucHJpbnRmKGJ1ZmZlciwgMTQ5LCAiQnl0ZXM6IDB4JTAyWCAweCUwMlggMHglMDJYIDB4JTAyWFxuIiwKKwkJCWN0eHQtPmlucHV0LT5jdXJbMF0sIGN0eHQtPmlucHV0LT5jdXJbMV0sCisJCQljdHh0LT5pbnB1dC0+Y3VyWzJdLCBjdHh0LT5pbnB1dC0+Y3VyWzNdKTsKKwlfX3htbEVyckVuY29kaW5nKGN0eHQsIFhNTF9FUlJfSU5WQUxJRF9DSEFSLAorCQkgICAgICJJbnB1dCBpcyBub3QgcHJvcGVyIFVURi04LCBpbmRpY2F0ZSBlbmNvZGluZyAhXG4lcyIsCisJCSAgICAgQkFEX0NBU1QgYnVmZmVyLCBOVUxMKTsKKyAgICB9CisgICAgcmV0dXJuKDApOworfQorCisvKioKKyAqIHhtbFBhcnNlQ2hlY2tUcmFuc2l0aW9uOgorICogQGN0eHQ6ICBhbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBjaHVuazogIGEgY2hhciBhcnJheQorICogQHNpemU6ICB0aGUgc2l6ZSBpbiBieXRlIG9mIHRoZSBjaHVuaworICoKKyAqIENoZWNrIGRlcGVuZGluZyBvbiB0aGUgY3VycmVudCBwYXJzZXIgc3RhdGUgaWYgdGhlIGNodW5rIGdpdmVuIG11c3QgYmUKKyAqIHByb2Nlc3NlZCBpbW1lZGlhdGVseSBvciBvbmUgbmVlZCBtb3JlIGRhdGEgdG8gYWR2YW5jZSBvbiBwYXJzaW5nLgorICoKKyAqIFJldHVybnMgLTEgaW4gY2FzZSBvZiBlcnJvciwgMCBpZiB0aGUgcHVzaCBpcyBub3QgbmVlZGVkIGFuZCAxIGlmIG5lZWRlZAorICovCitzdGF0aWMgaW50Cit4bWxQYXJzZUNoZWNrVHJhbnNpdGlvbih4bWxQYXJzZXJDdHh0UHRyIGN0eHQsIGNvbnN0IGNoYXIgKmNodW5rLCBpbnQgc2l6ZSkgeworICAgIGlmICgoY3R4dCA9PSBOVUxMKSB8fCAoY2h1bmsgPT0gTlVMTCkgfHwgKHNpemUgPCAwKSkKKyAgICAgICAgcmV0dXJuKC0xKTsKKyAgICBpZiAoY3R4dC0+aW5zdGF0ZSA9PSBYTUxfUEFSU0VSX1NUQVJUX1RBRykgeworICAgICAgICBpZiAobWVtY2hyKGNodW5rLCAnPicsIHNpemUpICE9IE5VTEwpCisgICAgICAgICAgICByZXR1cm4oMSk7CisgICAgICAgIHJldHVybigwKTsKKyAgICB9CisgICAgaWYgKGN0eHQtPnByb2dyZXNzaXZlID09IFhNTF9QQVJTRVJfQ09NTUVOVCkgeworICAgICAgICBpZiAobWVtY2hyKGNodW5rLCAnPicsIHNpemUpICE9IE5VTEwpCisgICAgICAgICAgICByZXR1cm4oMSk7CisgICAgICAgIHJldHVybigwKTsKKyAgICB9CisgICAgaWYgKGN0eHQtPmluc3RhdGUgPT0gWE1MX1BBUlNFUl9DREFUQV9TRUNUSU9OKSB7CisgICAgICAgIGlmIChtZW1jaHIoY2h1bmssICc+Jywgc2l6ZSkgIT0gTlVMTCkKKyAgICAgICAgICAgIHJldHVybigxKTsKKyAgICAgICAgcmV0dXJuKDApOworICAgIH0KKyAgICBpZiAoY3R4dC0+cHJvZ3Jlc3NpdmUgPT0gWE1MX1BBUlNFUl9QSSkgeworICAgICAgICBpZiAobWVtY2hyKGNodW5rLCAnPicsIHNpemUpICE9IE5VTEwpCisgICAgICAgICAgICByZXR1cm4oMSk7CisgICAgICAgIHJldHVybigwKTsKKyAgICB9CisgICAgaWYgKGN0eHQtPmluc3RhdGUgPT0gWE1MX1BBUlNFUl9FTkRfVEFHKSB7CisgICAgICAgIGlmIChtZW1jaHIoY2h1bmssICc+Jywgc2l6ZSkgIT0gTlVMTCkKKyAgICAgICAgICAgIHJldHVybigxKTsKKyAgICAgICAgcmV0dXJuKDApOworICAgIH0KKyAgICBpZiAoKGN0eHQtPnByb2dyZXNzaXZlID09IFhNTF9QQVJTRVJfRFREKSB8fAorICAgICAgICAoY3R4dC0+aW5zdGF0ZSA9PSBYTUxfUEFSU0VSX0RURCkpIHsKKyAgICAgICAgaWYgKG1lbWNocihjaHVuaywgJz4nLCBzaXplKSAhPSBOVUxMKQorICAgICAgICAgICAgcmV0dXJuKDEpOworICAgICAgICByZXR1cm4oMCk7CisgICAgfQorICAgIHJldHVybigxKTsKK30KKworLyoqCisgKiB4bWxQYXJzZUNodW5rOgorICogQGN0eHQ6ICBhbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBjaHVuazogIGFuIGNoYXIgYXJyYXkKKyAqIEBzaXplOiAgdGhlIHNpemUgaW4gYnl0ZSBvZiB0aGUgY2h1bmsKKyAqIEB0ZXJtaW5hdGU6ICBsYXN0IGNodW5rIGluZGljYXRvcgorICoKKyAqIFBhcnNlIGEgQ2h1bmsgb2YgbWVtb3J5CisgKgorICogUmV0dXJucyB6ZXJvIGlmIG5vIGVycm9yLCB0aGUgeG1sUGFyc2VyRXJyb3JzIG90aGVyd2lzZS4KKyAqLworaW50Cit4bWxQYXJzZUNodW5rKHhtbFBhcnNlckN0eHRQdHIgY3R4dCwgY29uc3QgY2hhciAqY2h1bmssIGludCBzaXplLAorICAgICAgICAgICAgICBpbnQgdGVybWluYXRlKSB7CisgICAgaW50IGVuZF9pbl9sZiA9IDA7CisgICAgaW50IHJlbWFpbiA9IDA7CisgICAgc2l6ZV90IG9sZF9hdmFpbCA9IDA7CisgICAgc2l6ZV90IGF2YWlsID0gMDsKKworICAgIGlmIChjdHh0ID09IE5VTEwpCisgICAgICAgIHJldHVybihYTUxfRVJSX0lOVEVSTkFMX0VSUk9SKTsKKyAgICBpZiAoKGN0eHQtPmVyck5vICE9IFhNTF9FUlJfT0spICYmIChjdHh0LT5kaXNhYmxlU0FYID09IDEpKQorICAgICAgICByZXR1cm4oY3R4dC0+ZXJyTm8pOworICAgIGlmIChjdHh0LT5pbnN0YXRlID09IFhNTF9QQVJTRVJfRU9GKQorICAgICAgICByZXR1cm4oLTEpOworICAgIGlmIChjdHh0LT5pbnN0YXRlID09IFhNTF9QQVJTRVJfU1RBUlQpCisgICAgICAgIHhtbERldGVjdFNBWDIoY3R4dCk7CisgICAgaWYgKChzaXplID4gMCkgJiYgKGNodW5rICE9IE5VTEwpICYmICghdGVybWluYXRlKSAmJgorICAgICAgICAoY2h1bmtbc2l6ZSAtIDFdID09ICdccicpKSB7CisJZW5kX2luX2xmID0gMTsKKwlzaXplLS07CisgICAgfQorCit4bWxkZWNsX2RvbmU6CisKKyAgICBpZiAoKHNpemUgPiAwKSAmJiAoY2h1bmsgIT0gTlVMTCkgJiYgKGN0eHQtPmlucHV0ICE9IE5VTEwpICYmCisgICAgICAgIChjdHh0LT5pbnB1dC0+YnVmICE9IE5VTEwpICYmIChjdHh0LT5pbnN0YXRlICE9IFhNTF9QQVJTRVJfRU9GKSkgIHsKKwlzaXplX3QgYmFzZSA9IHhtbEJ1ZkdldElucHV0QmFzZShjdHh0LT5pbnB1dC0+YnVmLT5idWZmZXIsIGN0eHQtPmlucHV0KTsKKwlzaXplX3QgY3VyID0gY3R4dC0+aW5wdXQtPmN1ciAtIGN0eHQtPmlucHV0LT5iYXNlOworCWludCByZXM7CisKKyAgICAgICAgb2xkX2F2YWlsID0geG1sQnVmVXNlKGN0eHQtPmlucHV0LT5idWYtPmJ1ZmZlcik7CisgICAgICAgIC8qCisgICAgICAgICAqIFNwZWNpZmljIGhhbmRsaW5nIGlmIHdlIGF1dG9kZXRlY3RlZCBhbiBlbmNvZGluZywgd2Ugc2hvdWxkIG5vdAorICAgICAgICAgKiBwdXNoIG1vcmUgdGhhbiB0aGUgZmlyc3QgbGluZSAuLi4gd2hpY2ggZGVwZW5kIG9uIHRoZSBlbmNvZGluZworICAgICAgICAgKiBBbmQgb25seSBwdXNoIHRoZSByZXN0IG9uY2UgdGhlIGZpbmFsIGVuY29kaW5nIHdhcyBkZXRlY3RlZAorICAgICAgICAgKi8KKyAgICAgICAgaWYgKChjdHh0LT5pbnN0YXRlID09IFhNTF9QQVJTRVJfU1RBUlQpICYmIChjdHh0LT5pbnB1dCAhPSBOVUxMKSAmJgorICAgICAgICAgICAgKGN0eHQtPmlucHV0LT5idWYgIT0gTlVMTCkgJiYgKGN0eHQtPmlucHV0LT5idWYtPmVuY29kZXIgIT0gTlVMTCkpIHsKKyAgICAgICAgICAgIHVuc2lnbmVkIGludCBsZW4gPSA0NTsKKworICAgICAgICAgICAgaWYgKCh4bWxTdHJjYXNlc3RyKEJBRF9DQVNUIGN0eHQtPmlucHV0LT5idWYtPmVuY29kZXItPm5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQkFEX0NBU1QgIlVURi0xNiIpKSB8fAorICAgICAgICAgICAgICAgICh4bWxTdHJjYXNlc3RyKEJBRF9DQVNUIGN0eHQtPmlucHV0LT5idWYtPmVuY29kZXItPm5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQkFEX0NBU1QgIlVURjE2IikpKQorICAgICAgICAgICAgICAgIGxlbiA9IDkwOworICAgICAgICAgICAgZWxzZSBpZiAoKHhtbFN0cmNhc2VzdHIoQkFEX0NBU1QgY3R4dC0+aW5wdXQtPmJ1Zi0+ZW5jb2Rlci0+bmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJBRF9DQVNUICJVQ1MtNCIpKSB8fAorICAgICAgICAgICAgICAgICAgICAgKHhtbFN0cmNhc2VzdHIoQkFEX0NBU1QgY3R4dC0+aW5wdXQtPmJ1Zi0+ZW5jb2Rlci0+bmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJBRF9DQVNUICJVQ1M0IikpKQorICAgICAgICAgICAgICAgIGxlbiA9IDE4MDsKKworICAgICAgICAgICAgaWYgKGN0eHQtPmlucHV0LT5idWYtPnJhd2NvbnN1bWVkIDwgbGVuKQorICAgICAgICAgICAgICAgIGxlbiAtPSBjdHh0LT5pbnB1dC0+YnVmLT5yYXdjb25zdW1lZDsKKworICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAqIENoYW5nZSBzaXplIGZvciByZWFkaW5nIHRoZSBpbml0aWFsIGRlY2xhcmF0aW9uIG9ubHkKKyAgICAgICAgICAgICAqIGlmIHNpemUgaXMgZ3JlYXRlciB0aGFuIGxlbi4gT3RoZXJ3aXNlLCBtZW1tb3ZlIGluIHhtbEJ1ZmZlckFkZAorICAgICAgICAgICAgICogd2lsbCBibGluZGx5IGNvcHkgZXh0cmEgYnl0ZXMgZnJvbSBtZW1vcnkuCisgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgIGlmICgodW5zaWduZWQgaW50KSBzaXplID4gbGVuKSB7CisgICAgICAgICAgICAgICAgcmVtYWluID0gc2l6ZSAtIGxlbjsKKyAgICAgICAgICAgICAgICBzaXplID0gbGVuOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICByZW1haW4gPSAwOworICAgICAgICAgICAgfQorICAgICAgICB9CisJcmVzID0geG1sUGFyc2VySW5wdXRCdWZmZXJQdXNoKGN0eHQtPmlucHV0LT5idWYsIHNpemUsIGNodW5rKTsKKwlpZiAocmVzIDwgMCkgeworCSAgICBjdHh0LT5lcnJObyA9IFhNTF9QQVJTRVJfRU9GOworCSAgICBjdHh0LT5kaXNhYmxlU0FYID0gMTsKKwkgICAgcmV0dXJuIChYTUxfUEFSU0VSX0VPRik7CisJfQorICAgICAgICB4bWxCdWZTZXRJbnB1dEJhc2VDdXIoY3R4dC0+aW5wdXQtPmJ1Zi0+YnVmZmVyLCBjdHh0LT5pbnB1dCwgYmFzZSwgY3VyKTsKKyNpZmRlZiBERUJVR19QVVNICisJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICJQUDogcHVzaGVkICVkXG4iLCBzaXplKTsKKyNlbmRpZgorCisgICAgfSBlbHNlIGlmIChjdHh0LT5pbnN0YXRlICE9IFhNTF9QQVJTRVJfRU9GKSB7CisJaWYgKChjdHh0LT5pbnB1dCAhPSBOVUxMKSAmJiBjdHh0LT5pbnB1dC0+YnVmICE9IE5VTEwpIHsKKwkgICAgeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIgaW4gPSBjdHh0LT5pbnB1dC0+YnVmOworCSAgICBpZiAoKGluLT5lbmNvZGVyICE9IE5VTEwpICYmIChpbi0+YnVmZmVyICE9IE5VTEwpICYmCisJCSAgICAoaW4tPnJhdyAhPSBOVUxMKSkgeworCQlpbnQgbmJjaGFyczsKKwkJc2l6ZV90IGJhc2UgPSB4bWxCdWZHZXRJbnB1dEJhc2UoaW4tPmJ1ZmZlciwgY3R4dC0+aW5wdXQpOworCQlzaXplX3QgY3VycmVudCA9IGN0eHQtPmlucHV0LT5jdXIgLSBjdHh0LT5pbnB1dC0+YmFzZTsKKworCQluYmNoYXJzID0geG1sQ2hhckVuY0lucHV0KGluLCB0ZXJtaW5hdGUpOworCQlpZiAobmJjaGFycyA8IDApIHsKKwkJICAgIC8qIFRPRE8gMi42LjAgKi8KKwkJICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkJCSAgICAieG1sUGFyc2VDaHVuazogZW5jb2RlciBlcnJvclxuIik7CisJCSAgICByZXR1cm4oWE1MX0VSUl9JTlZBTElEX0VOQ09ESU5HKTsKKwkJfQorCQl4bWxCdWZTZXRJbnB1dEJhc2VDdXIoaW4tPmJ1ZmZlciwgY3R4dC0+aW5wdXQsIGJhc2UsIGN1cnJlbnQpOworCSAgICB9CisJfQorICAgIH0KKyAgICBpZiAocmVtYWluICE9IDApIHsKKyAgICAgICAgeG1sUGFyc2VUcnlPckZpbmlzaChjdHh0LCAwKTsKKyAgICB9IGVsc2UgeworICAgICAgICBpZiAoKGN0eHQtPmlucHV0ICE9IE5VTEwpICYmIChjdHh0LT5pbnB1dC0+YnVmICE9IE5VTEwpKQorICAgICAgICAgICAgYXZhaWwgPSB4bWxCdWZVc2UoY3R4dC0+aW5wdXQtPmJ1Zi0+YnVmZmVyKTsKKyAgICAgICAgLyoKKyAgICAgICAgICogRGVwZW5kaW5nIG9uIHRoZSBjdXJyZW50IHN0YXRlIGl0IG1heSBub3QgYmUgc3VjaAorICAgICAgICAgKiBhIGdvb2QgaWRlYSB0byB0cnkgcGFyc2luZyBpZiB0aGVyZSBpcyBub3RoaW5nIGluIHRoZSBjaHVuaworICAgICAgICAgKiB3aGljaCB3b3VsZCBiZSB3b3J0aCBkb2luZyBhIHBhcnNlciBzdGF0ZSB0cmFuc2l0aW9uIGFuZCB3ZQorICAgICAgICAgKiBuZWVkIHRvIHdhaXQgZm9yIG1vcmUgZGF0YQorICAgICAgICAgKi8KKyAgICAgICAgaWYgKCh0ZXJtaW5hdGUpIHx8IChhdmFpbCA+IFhNTF9NQVhfVEVYVF9MRU5HVEgpIHx8CisgICAgICAgICAgICAob2xkX2F2YWlsID09IDApIHx8IChhdmFpbCA9PSAwKSB8fAorICAgICAgICAgICAgKHhtbFBhcnNlQ2hlY2tUcmFuc2l0aW9uKGN0eHQsCisgICAgICAgICAgICAgICAgICAgICAgIChjb25zdCBjaGFyICopJmN0eHQtPmlucHV0LT5iYXNlW29sZF9hdmFpbF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXZhaWwgLSBvbGRfYXZhaWwpKSkKKyAgICAgICAgICAgIHhtbFBhcnNlVHJ5T3JGaW5pc2goY3R4dCwgdGVybWluYXRlKTsKKyAgICB9CisgICAgaWYgKGN0eHQtPmluc3RhdGUgPT0gWE1MX1BBUlNFUl9FT0YpCisgICAgICAgIHJldHVybihjdHh0LT5lcnJObyk7CisKKyAgICBpZiAoKGN0eHQtPmlucHV0ICE9IE5VTEwpICYmCisgICAgICAgICAoKChjdHh0LT5pbnB1dC0+ZW5kIC0gY3R4dC0+aW5wdXQtPmN1cikgPiBYTUxfTUFYX0xPT0tVUF9MSU1JVCkgfHwKKyAgICAgICAgICgoY3R4dC0+aW5wdXQtPmN1ciAtIGN0eHQtPmlucHV0LT5iYXNlKSA+IFhNTF9NQVhfTE9PS1VQX0xJTUlUKSkgJiYKKyAgICAgICAgKChjdHh0LT5vcHRpb25zICYgWE1MX1BBUlNFX0hVR0UpID09IDApKSB7CisgICAgICAgIHhtbEZhdGFsRXJyKGN0eHQsIFhNTF9FUlJfSU5URVJOQUxfRVJST1IsICJIdWdlIGlucHV0IGxvb2t1cCIpOworICAgICAgICBjdHh0LT5pbnN0YXRlID0gWE1MX1BBUlNFUl9FT0Y7CisgICAgfQorICAgIGlmICgoY3R4dC0+ZXJyTm8gIT0gWE1MX0VSUl9PSykgJiYgKGN0eHQtPmRpc2FibGVTQVggPT0gMSkpCisgICAgICAgIHJldHVybihjdHh0LT5lcnJObyk7CisKKyAgICBpZiAocmVtYWluICE9IDApIHsKKyAgICAgICAgY2h1bmsgKz0gc2l6ZTsKKyAgICAgICAgc2l6ZSA9IHJlbWFpbjsKKyAgICAgICAgcmVtYWluID0gMDsKKyAgICAgICAgZ290byB4bWxkZWNsX2RvbmU7CisgICAgfQorICAgIGlmICgoZW5kX2luX2xmID09IDEpICYmIChjdHh0LT5pbnB1dCAhPSBOVUxMKSAmJgorICAgICAgICAoY3R4dC0+aW5wdXQtPmJ1ZiAhPSBOVUxMKSkgeworCXNpemVfdCBiYXNlID0geG1sQnVmR2V0SW5wdXRCYXNlKGN0eHQtPmlucHV0LT5idWYtPmJ1ZmZlciwKKwkJCQkJIGN0eHQtPmlucHV0KTsKKwlzaXplX3QgY3VycmVudCA9IGN0eHQtPmlucHV0LT5jdXIgLSBjdHh0LT5pbnB1dC0+YmFzZTsKKworCXhtbFBhcnNlcklucHV0QnVmZmVyUHVzaChjdHh0LT5pbnB1dC0+YnVmLCAxLCAiXHIiKTsKKworCXhtbEJ1ZlNldElucHV0QmFzZUN1cihjdHh0LT5pbnB1dC0+YnVmLT5idWZmZXIsIGN0eHQtPmlucHV0LAorCQkJICAgICAgYmFzZSwgY3VycmVudCk7CisgICAgfQorICAgIGlmICh0ZXJtaW5hdGUpIHsKKwkvKgorCSAqIENoZWNrIGZvciB0ZXJtaW5hdGlvbgorCSAqLworCWludCBjdXJfYXZhaWwgPSAwOworCisJaWYgKGN0eHQtPmlucHV0ICE9IE5VTEwpIHsKKwkgICAgaWYgKGN0eHQtPmlucHV0LT5idWYgPT0gTlVMTCkKKwkJY3VyX2F2YWlsID0gY3R4dC0+aW5wdXQtPmxlbmd0aCAtCisJCQkgICAgKGN0eHQtPmlucHV0LT5jdXIgLSBjdHh0LT5pbnB1dC0+YmFzZSk7CisJICAgIGVsc2UKKwkJY3VyX2F2YWlsID0geG1sQnVmVXNlKGN0eHQtPmlucHV0LT5idWYtPmJ1ZmZlcikgLQorCQkJICAgICAgICAgICAgICAoY3R4dC0+aW5wdXQtPmN1ciAtIGN0eHQtPmlucHV0LT5iYXNlKTsKKwl9CisKKwlpZiAoKGN0eHQtPmluc3RhdGUgIT0gWE1MX1BBUlNFUl9FT0YpICYmCisJICAgIChjdHh0LT5pbnN0YXRlICE9IFhNTF9QQVJTRVJfRVBJTE9HKSkgeworCSAgICB4bWxGYXRhbEVycihjdHh0LCBYTUxfRVJSX0RPQ1VNRU5UX0VORCwgTlVMTCk7CisJfQorCWlmICgoY3R4dC0+aW5zdGF0ZSA9PSBYTUxfUEFSU0VSX0VQSUxPRykgJiYgKGN1cl9hdmFpbCA+IDApKSB7CisJICAgIHhtbEZhdGFsRXJyKGN0eHQsIFhNTF9FUlJfRE9DVU1FTlRfRU5ELCBOVUxMKTsKKwl9CisJaWYgKGN0eHQtPmluc3RhdGUgIT0gWE1MX1BBUlNFUl9FT0YpIHsKKwkgICAgaWYgKChjdHh0LT5zYXgpICYmIChjdHh0LT5zYXgtPmVuZERvY3VtZW50ICE9IE5VTEwpKQorCQljdHh0LT5zYXgtPmVuZERvY3VtZW50KGN0eHQtPnVzZXJEYXRhKTsKKwl9CisJY3R4dC0+aW5zdGF0ZSA9IFhNTF9QQVJTRVJfRU9GOworICAgIH0KKyAgICBpZiAoY3R4dC0+d2VsbEZvcm1lZCA9PSAwKQorCXJldHVybigoeG1sUGFyc2VyRXJyb3JzKSBjdHh0LT5lcnJObyk7CisgICAgZWxzZQorICAgICAgICByZXR1cm4oMCk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCUkvTyBmcm9udCBlbmQgZnVuY3Rpb25zIHRvIHRoZSBwYXJzZXIJCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKgorICogeG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQ6CisgKiBAc2F4OiAgYSBTQVggaGFuZGxlcgorICogQHVzZXJfZGF0YTogIFRoZSB1c2VyIGRhdGEgcmV0dXJuZWQgb24gU0FYIGNhbGxiYWNrcworICogQGNodW5rOiAgYSBwb2ludGVyIHRvIGFuIGFycmF5IG9mIGNoYXJzCisgKiBAc2l6ZTogIG51bWJlciBvZiBjaGFycyBpbiB0aGUgYXJyYXkKKyAqIEBmaWxlbmFtZTogIGFuIG9wdGlvbmFsIGZpbGUgbmFtZSBvciBVUkkKKyAqCisgKiBDcmVhdGUgYSBwYXJzZXIgY29udGV4dCBmb3IgdXNpbmcgdGhlIFhNTCBwYXJzZXIgaW4gcHVzaCBtb2RlLgorICogSWYgQGJ1ZmZlciBhbmQgQHNpemUgYXJlIG5vbi1OVUxMLCB0aGUgZGF0YSBpcyB1c2VkIHRvIGRldGVjdAorICogdGhlIGVuY29kaW5nLiAgVGhlIHJlbWFpbmluZyBjaGFyYWN0ZXJzIHdpbGwgYmUgcGFyc2VkIHNvIHRoZXkKKyAqIGRvbid0IG5lZWQgdG8gYmUgZmVkIGluIGFnYWluIHRocm91Z2ggeG1sUGFyc2VDaHVuay4KKyAqIFRvIGFsbG93IGNvbnRlbnQgZW5jb2RpbmcgZGV0ZWN0aW9uLCBAc2l6ZSBzaG91bGQgYmUgPj0gNAorICogVGhlIHZhbHVlIG9mIEBmaWxlbmFtZSBpcyB1c2VkIGZvciBmZXRjaGluZyBleHRlcm5hbCBlbnRpdGllcworICogYW5kIGVycm9yL3dhcm5pbmcgcmVwb3J0cy4KKyAqCisgKiBSZXR1cm5zIHRoZSBuZXcgcGFyc2VyIGNvbnRleHQgb3IgTlVMTAorICovCisKK3htbFBhcnNlckN0eHRQdHIKK3htbENyZWF0ZVB1c2hQYXJzZXJDdHh0KHhtbFNBWEhhbmRsZXJQdHIgc2F4LCB2b2lkICp1c2VyX2RhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpjaHVuaywgaW50IHNpemUsIGNvbnN0IGNoYXIgKmZpbGVuYW1lKSB7CisgICAgeG1sUGFyc2VyQ3R4dFB0ciBjdHh0OworICAgIHhtbFBhcnNlcklucHV0UHRyIGlucHV0U3RyZWFtOworICAgIHhtbFBhcnNlcklucHV0QnVmZmVyUHRyIGJ1ZjsKKyAgICB4bWxDaGFyRW5jb2RpbmcgZW5jID0gWE1MX0NIQVJfRU5DT0RJTkdfTk9ORTsKKworICAgIC8qCisgICAgICogcGx1ZyBzb21lIGVuY29kaW5nIGNvbnZlcnNpb24gcm91dGluZXMKKyAgICAgKi8KKyAgICBpZiAoKGNodW5rICE9IE5VTEwpICYmIChzaXplID49IDQpKQorCWVuYyA9IHhtbERldGVjdENoYXJFbmNvZGluZygoY29uc3QgeG1sQ2hhciAqKSBjaHVuaywgc2l6ZSk7CisKKyAgICBidWYgPSB4bWxBbGxvY1BhcnNlcklucHV0QnVmZmVyKGVuYyk7CisgICAgaWYgKGJ1ZiA9PSBOVUxMKSByZXR1cm4oTlVMTCk7CisKKyAgICBjdHh0ID0geG1sTmV3UGFyc2VyQ3R4dCgpOworICAgIGlmIChjdHh0ID09IE5VTEwpIHsKKyAgICAgICAgeG1sRXJyTWVtb3J5KE5VTEwsICJjcmVhdGluZyBwYXJzZXI6IG91dCBvZiBtZW1vcnlcbiIpOworCXhtbEZyZWVQYXJzZXJJbnB1dEJ1ZmZlcihidWYpOworCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgY3R4dC0+ZGljdE5hbWVzID0gMTsKKyAgICBjdHh0LT5wdXNoVGFiID0gKHZvaWQgKiopIHhtbE1hbGxvYyhjdHh0LT5uYW1lTWF4ICogMyAqIHNpemVvZih4bWxDaGFyICopKTsKKyAgICBpZiAoY3R4dC0+cHVzaFRhYiA9PSBOVUxMKSB7CisgICAgICAgIHhtbEVyck1lbW9yeShjdHh0LCBOVUxMKTsKKwl4bWxGcmVlUGFyc2VySW5wdXRCdWZmZXIoYnVmKTsKKwl4bWxGcmVlUGFyc2VyQ3R4dChjdHh0KTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIGlmIChzYXggIT0gTlVMTCkgeworI2lmZGVmIExJQlhNTF9TQVgxX0VOQUJMRUQKKwlpZiAoY3R4dC0+c2F4ICE9ICh4bWxTQVhIYW5kbGVyUHRyKSAmeG1sRGVmYXVsdFNBWEhhbmRsZXIpCisjZW5kaWYgLyogTElCWE1MX1NBWDFfRU5BQkxFRCAqLworCSAgICB4bWxGcmVlKGN0eHQtPnNheCk7CisJY3R4dC0+c2F4ID0gKHhtbFNBWEhhbmRsZXJQdHIpIHhtbE1hbGxvYyhzaXplb2YoeG1sU0FYSGFuZGxlcikpOworCWlmIChjdHh0LT5zYXggPT0gTlVMTCkgeworCSAgICB4bWxFcnJNZW1vcnkoY3R4dCwgTlVMTCk7CisJICAgIHhtbEZyZWVQYXJzZXJJbnB1dEJ1ZmZlcihidWYpOworCSAgICB4bWxGcmVlUGFyc2VyQ3R4dChjdHh0KTsKKwkgICAgcmV0dXJuKE5VTEwpOworCX0KKwltZW1zZXQoY3R4dC0+c2F4LCAwLCBzaXplb2YoeG1sU0FYSGFuZGxlcikpOworCWlmIChzYXgtPmluaXRpYWxpemVkID09IFhNTF9TQVgyX01BR0lDKQorCSAgICBtZW1jcHkoY3R4dC0+c2F4LCBzYXgsIHNpemVvZih4bWxTQVhIYW5kbGVyKSk7CisJZWxzZQorCSAgICBtZW1jcHkoY3R4dC0+c2F4LCBzYXgsIHNpemVvZih4bWxTQVhIYW5kbGVyVjEpKTsKKwlpZiAodXNlcl9kYXRhICE9IE5VTEwpCisJICAgIGN0eHQtPnVzZXJEYXRhID0gdXNlcl9kYXRhOworICAgIH0KKyAgICBpZiAoZmlsZW5hbWUgPT0gTlVMTCkgeworCWN0eHQtPmRpcmVjdG9yeSA9IE5VTEw7CisgICAgfSBlbHNlIHsKKyAgICAgICAgY3R4dC0+ZGlyZWN0b3J5ID0geG1sUGFyc2VyR2V0RGlyZWN0b3J5KGZpbGVuYW1lKTsKKyAgICB9CisKKyAgICBpbnB1dFN0cmVhbSA9IHhtbE5ld0lucHV0U3RyZWFtKGN0eHQpOworICAgIGlmIChpbnB1dFN0cmVhbSA9PSBOVUxMKSB7CisJeG1sRnJlZVBhcnNlckN0eHQoY3R4dCk7CisJeG1sRnJlZVBhcnNlcklucHV0QnVmZmVyKGJ1Zik7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKworICAgIGlmIChmaWxlbmFtZSA9PSBOVUxMKQorCWlucHV0U3RyZWFtLT5maWxlbmFtZSA9IE5VTEw7CisgICAgZWxzZSB7CisJaW5wdXRTdHJlYW0tPmZpbGVuYW1lID0gKGNoYXIgKikKKwkgICAgeG1sQ2Fub25pY1BhdGgoKGNvbnN0IHhtbENoYXIgKikgZmlsZW5hbWUpOworCWlmIChpbnB1dFN0cmVhbS0+ZmlsZW5hbWUgPT0gTlVMTCkgeworCSAgICB4bWxGcmVlUGFyc2VyQ3R4dChjdHh0KTsKKwkgICAgeG1sRnJlZVBhcnNlcklucHV0QnVmZmVyKGJ1Zik7CisJICAgIHJldHVybihOVUxMKTsKKwl9CisgICAgfQorICAgIGlucHV0U3RyZWFtLT5idWYgPSBidWY7CisgICAgeG1sQnVmUmVzZXRJbnB1dChpbnB1dFN0cmVhbS0+YnVmLT5idWZmZXIsIGlucHV0U3RyZWFtKTsKKyAgICBpbnB1dFB1c2goY3R4dCwgaW5wdXRTdHJlYW0pOworCisgICAgLyoKKyAgICAgKiBJZiB0aGUgY2FsbGVyIGRpZG4ndCBwcm92aWRlIGFuIGluaXRpYWwgJ2NodW5rJyBmb3IgZGV0ZXJtaW5pbmcKKyAgICAgKiB0aGUgZW5jb2RpbmcsIHdlIHNldCB0aGUgY29udGV4dCB0byBYTUxfQ0hBUl9FTkNPRElOR19OT05FIHNvCisgICAgICogdGhhdCBpdCBjYW4gYmUgYXV0b21hdGljYWxseSBkZXRlcm1pbmVkIGxhdGVyCisgICAgICovCisgICAgaWYgKChzaXplID09IDApIHx8IChjaHVuayA9PSBOVUxMKSkgeworCWN0eHQtPmNoYXJzZXQgPSBYTUxfQ0hBUl9FTkNPRElOR19OT05FOworICAgIH0gZWxzZSBpZiAoKGN0eHQtPmlucHV0ICE9IE5VTEwpICYmIChjdHh0LT5pbnB1dC0+YnVmICE9IE5VTEwpKSB7CisJc2l6ZV90IGJhc2UgPSB4bWxCdWZHZXRJbnB1dEJhc2UoY3R4dC0+aW5wdXQtPmJ1Zi0+YnVmZmVyLCBjdHh0LT5pbnB1dCk7CisJc2l6ZV90IGN1ciA9IGN0eHQtPmlucHV0LT5jdXIgLSBjdHh0LT5pbnB1dC0+YmFzZTsKKworCXhtbFBhcnNlcklucHV0QnVmZmVyUHVzaChjdHh0LT5pbnB1dC0+YnVmLCBzaXplLCBjaHVuayk7CisKKyAgICAgICAgeG1sQnVmU2V0SW5wdXRCYXNlQ3VyKGN0eHQtPmlucHV0LT5idWYtPmJ1ZmZlciwgY3R4dC0+aW5wdXQsIGJhc2UsIGN1cik7CisjaWZkZWYgREVCVUdfUFVTSAorCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCAiUFA6IHB1c2hlZCAlZFxuIiwgc2l6ZSk7CisjZW5kaWYKKyAgICB9CisKKyAgICBpZiAoZW5jICE9IFhNTF9DSEFSX0VOQ09ESU5HX05PTkUpIHsKKyAgICAgICAgeG1sU3dpdGNoRW5jb2RpbmcoY3R4dCwgZW5jKTsKKyAgICB9CisKKyAgICByZXR1cm4oY3R4dCk7Cit9CisjZW5kaWYgLyogTElCWE1MX1BVU0hfRU5BQkxFRCAqLworCisvKioKKyAqIHhtbFN0b3BQYXJzZXI6CisgKiBAY3R4dDogIGFuIFhNTCBwYXJzZXIgY29udGV4dAorICoKKyAqIEJsb2NrcyBmdXJ0aGVyIHBhcnNlciBwcm9jZXNzaW5nCisgKi8KK3ZvaWQKK3htbFN0b3BQYXJzZXIoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0KSB7CisgICAgaWYgKGN0eHQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuOworICAgIGN0eHQtPmluc3RhdGUgPSBYTUxfUEFSU0VSX0VPRjsKKyAgICBjdHh0LT5lcnJObyA9IFhNTF9FUlJfVVNFUl9TVE9QOworICAgIGN0eHQtPmRpc2FibGVTQVggPSAxOworICAgIGlmIChjdHh0LT5pbnB1dCAhPSBOVUxMKSB7CisJY3R4dC0+aW5wdXQtPmN1ciA9IEJBRF9DQVNUIiI7CisJY3R4dC0+aW5wdXQtPmJhc2UgPSBjdHh0LT5pbnB1dC0+Y3VyOworICAgIH0KK30KKworLyoqCisgKiB4bWxDcmVhdGVJT1BhcnNlckN0eHQ6CisgKiBAc2F4OiAgYSBTQVggaGFuZGxlcgorICogQHVzZXJfZGF0YTogIFRoZSB1c2VyIGRhdGEgcmV0dXJuZWQgb24gU0FYIGNhbGxiYWNrcworICogQGlvcmVhZDogIGFuIEkvTyByZWFkIGZ1bmN0aW9uCisgKiBAaW9jbG9zZTogIGFuIEkvTyBjbG9zZSBmdW5jdGlvbgorICogQGlvY3R4OiAgYW4gSS9PIGhhbmRsZXIKKyAqIEBlbmM6ICB0aGUgY2hhcnNldCBlbmNvZGluZyBpZiBrbm93bgorICoKKyAqIENyZWF0ZSBhIHBhcnNlciBjb250ZXh0IGZvciB1c2luZyB0aGUgWE1MIHBhcnNlciB3aXRoIGFuIGV4aXN0aW5nCisgKiBJL08gc3RyZWFtCisgKgorICogUmV0dXJucyB0aGUgbmV3IHBhcnNlciBjb250ZXh0IG9yIE5VTEwKKyAqLworeG1sUGFyc2VyQ3R4dFB0cgoreG1sQ3JlYXRlSU9QYXJzZXJDdHh0KHhtbFNBWEhhbmRsZXJQdHIgc2F4LCB2b2lkICp1c2VyX2RhdGEsCisJeG1sSW5wdXRSZWFkQ2FsbGJhY2sgICBpb3JlYWQsIHhtbElucHV0Q2xvc2VDYWxsYmFjayAgaW9jbG9zZSwKKwl2b2lkICppb2N0eCwgeG1sQ2hhckVuY29kaW5nIGVuYykgeworICAgIHhtbFBhcnNlckN0eHRQdHIgY3R4dDsKKyAgICB4bWxQYXJzZXJJbnB1dFB0ciBpbnB1dFN0cmVhbTsKKyAgICB4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciBidWY7CisKKyAgICBpZiAoaW9yZWFkID09IE5VTEwpIHJldHVybihOVUxMKTsKKworICAgIGJ1ZiA9IHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlSU8oaW9yZWFkLCBpb2Nsb3NlLCBpb2N0eCwgZW5jKTsKKyAgICBpZiAoYnVmID09IE5VTEwpIHsKKyAgICAgICAgaWYgKGlvY2xvc2UgIT0gTlVMTCkKKyAgICAgICAgICAgIGlvY2xvc2UoaW9jdHgpOworICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIH0KKworICAgIGN0eHQgPSB4bWxOZXdQYXJzZXJDdHh0KCk7CisgICAgaWYgKGN0eHQgPT0gTlVMTCkgeworCXhtbEZyZWVQYXJzZXJJbnB1dEJ1ZmZlcihidWYpOworCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgaWYgKHNheCAhPSBOVUxMKSB7CisjaWZkZWYgTElCWE1MX1NBWDFfRU5BQkxFRAorCWlmIChjdHh0LT5zYXggIT0gKHhtbFNBWEhhbmRsZXJQdHIpICZ4bWxEZWZhdWx0U0FYSGFuZGxlcikKKyNlbmRpZiAvKiBMSUJYTUxfU0FYMV9FTkFCTEVEICovCisJICAgIHhtbEZyZWUoY3R4dC0+c2F4KTsKKwljdHh0LT5zYXggPSAoeG1sU0FYSGFuZGxlclB0cikgeG1sTWFsbG9jKHNpemVvZih4bWxTQVhIYW5kbGVyKSk7CisJaWYgKGN0eHQtPnNheCA9PSBOVUxMKSB7CisJICAgIHhtbEVyck1lbW9yeShjdHh0LCBOVUxMKTsKKwkgICAgeG1sRnJlZVBhcnNlckN0eHQoY3R4dCk7CisJICAgIHJldHVybihOVUxMKTsKKwl9CisJbWVtc2V0KGN0eHQtPnNheCwgMCwgc2l6ZW9mKHhtbFNBWEhhbmRsZXIpKTsKKwlpZiAoc2F4LT5pbml0aWFsaXplZCA9PSBYTUxfU0FYMl9NQUdJQykKKwkgICAgbWVtY3B5KGN0eHQtPnNheCwgc2F4LCBzaXplb2YoeG1sU0FYSGFuZGxlcikpOworCWVsc2UKKwkgICAgbWVtY3B5KGN0eHQtPnNheCwgc2F4LCBzaXplb2YoeG1sU0FYSGFuZGxlclYxKSk7CisJaWYgKHVzZXJfZGF0YSAhPSBOVUxMKQorCSAgICBjdHh0LT51c2VyRGF0YSA9IHVzZXJfZGF0YTsKKyAgICB9CisKKyAgICBpbnB1dFN0cmVhbSA9IHhtbE5ld0lPSW5wdXRTdHJlYW0oY3R4dCwgYnVmLCBlbmMpOworICAgIGlmIChpbnB1dFN0cmVhbSA9PSBOVUxMKSB7CisJeG1sRnJlZVBhcnNlckN0eHQoY3R4dCk7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBpbnB1dFB1c2goY3R4dCwgaW5wdXRTdHJlYW0pOworCisgICAgcmV0dXJuKGN0eHQpOworfQorCisjaWZkZWYgTElCWE1MX1ZBTElEX0VOQUJMRUQKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCUZyb250IGVuZHMgd2hlbiBwYXJzaW5nIGEgRFRECQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqCisgKiB4bWxJT1BhcnNlRFREOgorICogQHNheDogIHRoZSBTQVggaGFuZGxlciBibG9jayBvciBOVUxMCisgKiBAaW5wdXQ6ICBhbiBJbnB1dCBCdWZmZXIKKyAqIEBlbmM6ICB0aGUgY2hhcnNldCBlbmNvZGluZyBpZiBrbm93bgorICoKKyAqIExvYWQgYW5kIHBhcnNlIGEgRFRECisgKgorICogUmV0dXJucyB0aGUgcmVzdWx0aW5nIHhtbER0ZFB0ciBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuCisgKiBAaW5wdXQgd2lsbCBiZSBmcmVlZCBieSB0aGUgZnVuY3Rpb24gaW4gYW55IGNhc2UuCisgKi8KKworeG1sRHRkUHRyCit4bWxJT1BhcnNlRFREKHhtbFNBWEhhbmRsZXJQdHIgc2F4LCB4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciBpbnB1dCwKKwkgICAgICB4bWxDaGFyRW5jb2RpbmcgZW5jKSB7CisgICAgeG1sRHRkUHRyIHJldCA9IE5VTEw7CisgICAgeG1sUGFyc2VyQ3R4dFB0ciBjdHh0OworICAgIHhtbFBhcnNlcklucHV0UHRyIHBpbnB1dCA9IE5VTEw7CisgICAgeG1sQ2hhciBzdGFydFs0XTsKKworICAgIGlmIChpbnB1dCA9PSBOVUxMKQorCXJldHVybihOVUxMKTsKKworICAgIGN0eHQgPSB4bWxOZXdQYXJzZXJDdHh0KCk7CisgICAgaWYgKGN0eHQgPT0gTlVMTCkgeworICAgICAgICB4bWxGcmVlUGFyc2VySW5wdXRCdWZmZXIoaW5wdXQpOworCXJldHVybihOVUxMKTsKKyAgICB9CisKKyAgICAvKiBXZSBhcmUgbG9hZGluZyBhIERURCAqLworICAgIGN0eHQtPm9wdGlvbnMgfD0gWE1MX1BBUlNFX0RURExPQUQ7CisKKyAgICAvKgorICAgICAqIFNldC11cCB0aGUgU0FYIGNvbnRleHQKKyAgICAgKi8KKyAgICBpZiAoc2F4ICE9IE5VTEwpIHsKKwlpZiAoY3R4dC0+c2F4ICE9IE5VTEwpCisJICAgIHhtbEZyZWUoY3R4dC0+c2F4KTsKKyAgICAgICAgY3R4dC0+c2F4ID0gc2F4OworICAgICAgICBjdHh0LT51c2VyRGF0YSA9IGN0eHQ7CisgICAgfQorICAgIHhtbERldGVjdFNBWDIoY3R4dCk7CisKKyAgICAvKgorICAgICAqIGdlbmVyYXRlIGEgcGFyc2VyIGlucHV0IGZyb20gdGhlIEkvTyBoYW5kbGVyCisgICAgICovCisKKyAgICBwaW5wdXQgPSB4bWxOZXdJT0lucHV0U3RyZWFtKGN0eHQsIGlucHV0LCBYTUxfQ0hBUl9FTkNPRElOR19OT05FKTsKKyAgICBpZiAocGlucHV0ID09IE5VTEwpIHsKKyAgICAgICAgaWYgKHNheCAhPSBOVUxMKSBjdHh0LT5zYXggPSBOVUxMOworICAgICAgICB4bWxGcmVlUGFyc2VySW5wdXRCdWZmZXIoaW5wdXQpOworCXhtbEZyZWVQYXJzZXJDdHh0KGN0eHQpOworCXJldHVybihOVUxMKTsKKyAgICB9CisKKyAgICAvKgorICAgICAqIHBsdWcgc29tZSBlbmNvZGluZyBjb252ZXJzaW9uIHJvdXRpbmVzIGhlcmUuCisgICAgICovCisgICAgaWYgKHhtbFB1c2hJbnB1dChjdHh0LCBwaW5wdXQpIDwgMCkgeworICAgICAgICBpZiAoc2F4ICE9IE5VTEwpIGN0eHQtPnNheCA9IE5VTEw7CisJeG1sRnJlZVBhcnNlckN0eHQoY3R4dCk7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBpZiAoZW5jICE9IFhNTF9DSEFSX0VOQ09ESU5HX05PTkUpIHsKKyAgICAgICAgeG1sU3dpdGNoRW5jb2RpbmcoY3R4dCwgZW5jKTsKKyAgICB9CisKKyAgICBwaW5wdXQtPmZpbGVuYW1lID0gTlVMTDsKKyAgICBwaW5wdXQtPmxpbmUgPSAxOworICAgIHBpbnB1dC0+Y29sID0gMTsKKyAgICBwaW5wdXQtPmJhc2UgPSBjdHh0LT5pbnB1dC0+Y3VyOworICAgIHBpbnB1dC0+Y3VyID0gY3R4dC0+aW5wdXQtPmN1cjsKKyAgICBwaW5wdXQtPmZyZWUgPSBOVUxMOworCisgICAgLyoKKyAgICAgKiBsZXQncyBwYXJzZSB0aGF0IGVudGl0eSBrbm93aW5nIGl0J3MgYW4gZXh0ZXJuYWwgc3Vic2V0LgorICAgICAqLworICAgIGN0eHQtPmluU3Vic2V0ID0gMjsKKyAgICBjdHh0LT5teURvYyA9IHhtbE5ld0RvYyhCQURfQ0FTVCAiMS4wIik7CisgICAgaWYgKGN0eHQtPm15RG9jID09IE5VTEwpIHsKKwl4bWxFcnJNZW1vcnkoY3R4dCwgIk5ldyBEb2MgZmFpbGVkIik7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBjdHh0LT5teURvYy0+cHJvcGVydGllcyA9IFhNTF9ET0NfSU5URVJOQUw7CisgICAgY3R4dC0+bXlEb2MtPmV4dFN1YnNldCA9IHhtbE5ld0R0ZChjdHh0LT5teURvYywgQkFEX0NBU1QgIm5vbmUiLAorCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCQURfQ0FTVCAibm9uZSIsIEJBRF9DQVNUICJub25lIik7CisKKyAgICBpZiAoKGVuYyA9PSBYTUxfQ0hBUl9FTkNPRElOR19OT05FKSAmJgorICAgICAgICAoKGN0eHQtPmlucHV0LT5lbmQgLSBjdHh0LT5pbnB1dC0+Y3VyKSA+PSA0KSkgeworCS8qCisJICogR2V0IHRoZSA0IGZpcnN0IGJ5dGVzIGFuZCBkZWNvZGUgdGhlIGNoYXJzZXQKKwkgKiBpZiBlbmMgIT0gWE1MX0NIQVJfRU5DT0RJTkdfTk9ORQorCSAqIHBsdWcgc29tZSBlbmNvZGluZyBjb252ZXJzaW9uIHJvdXRpbmVzLgorCSAqLworCXN0YXJ0WzBdID0gUkFXOworCXN0YXJ0WzFdID0gTlhUKDEpOworCXN0YXJ0WzJdID0gTlhUKDIpOworCXN0YXJ0WzNdID0gTlhUKDMpOworCWVuYyA9IHhtbERldGVjdENoYXJFbmNvZGluZyhzdGFydCwgNCk7CisJaWYgKGVuYyAhPSBYTUxfQ0hBUl9FTkNPRElOR19OT05FKSB7CisJICAgIHhtbFN3aXRjaEVuY29kaW5nKGN0eHQsIGVuYyk7CisJfQorICAgIH0KKworICAgIHhtbFBhcnNlRXh0ZXJuYWxTdWJzZXQoY3R4dCwgQkFEX0NBU1QgIm5vbmUiLCBCQURfQ0FTVCAibm9uZSIpOworCisgICAgaWYgKGN0eHQtPm15RG9jICE9IE5VTEwpIHsKKwlpZiAoY3R4dC0+d2VsbEZvcm1lZCkgeworCSAgICByZXQgPSBjdHh0LT5teURvYy0+ZXh0U3Vic2V0OworCSAgICBjdHh0LT5teURvYy0+ZXh0U3Vic2V0ID0gTlVMTDsKKwkgICAgaWYgKHJldCAhPSBOVUxMKSB7CisJCXhtbE5vZGVQdHIgdG1wOworCisJCXJldC0+ZG9jID0gTlVMTDsKKwkJdG1wID0gcmV0LT5jaGlsZHJlbjsKKwkJd2hpbGUgKHRtcCAhPSBOVUxMKSB7CisJCSAgICB0bXAtPmRvYyA9IE5VTEw7CisJCSAgICB0bXAgPSB0bXAtPm5leHQ7CisJCX0KKwkgICAgfQorCX0gZWxzZSB7CisJICAgIHJldCA9IE5VTEw7CisJfQorICAgICAgICB4bWxGcmVlRG9jKGN0eHQtPm15RG9jKTsKKyAgICAgICAgY3R4dC0+bXlEb2MgPSBOVUxMOworICAgIH0KKyAgICBpZiAoc2F4ICE9IE5VTEwpIGN0eHQtPnNheCA9IE5VTEw7CisgICAgeG1sRnJlZVBhcnNlckN0eHQoY3R4dCk7CisKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxTQVhQYXJzZURURDoKKyAqIEBzYXg6ICB0aGUgU0FYIGhhbmRsZXIgYmxvY2sKKyAqIEBFeHRlcm5hbElEOiAgYSBOQU1FKiBjb250YWluaW5nIHRoZSBFeHRlcm5hbCBJRCBvZiB0aGUgRFRECisgKiBAU3lzdGVtSUQ6ICBhIE5BTUUqIGNvbnRhaW5pbmcgdGhlIFVSTCB0byB0aGUgRFRECisgKgorICogTG9hZCBhbmQgcGFyc2UgYW4gZXh0ZXJuYWwgc3Vic2V0LgorICoKKyAqIFJldHVybnMgdGhlIHJlc3VsdGluZyB4bWxEdGRQdHIgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLgorICovCisKK3htbER0ZFB0cgoreG1sU0FYUGFyc2VEVEQoeG1sU0FYSGFuZGxlclB0ciBzYXgsIGNvbnN0IHhtbENoYXIgKkV4dGVybmFsSUQsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKlN5c3RlbUlEKSB7CisgICAgeG1sRHRkUHRyIHJldCA9IE5VTEw7CisgICAgeG1sUGFyc2VyQ3R4dFB0ciBjdHh0OworICAgIHhtbFBhcnNlcklucHV0UHRyIGlucHV0ID0gTlVMTDsKKyAgICB4bWxDaGFyRW5jb2RpbmcgZW5jOworICAgIHhtbENoYXIqIHN5c3RlbUlkQ2Fub25pYzsKKworICAgIGlmICgoRXh0ZXJuYWxJRCA9PSBOVUxMKSAmJiAoU3lzdGVtSUQgPT0gTlVMTCkpIHJldHVybihOVUxMKTsKKworICAgIGN0eHQgPSB4bWxOZXdQYXJzZXJDdHh0KCk7CisgICAgaWYgKGN0eHQgPT0gTlVMTCkgeworCXJldHVybihOVUxMKTsKKyAgICB9CisKKyAgICAvKiBXZSBhcmUgbG9hZGluZyBhIERURCAqLworICAgIGN0eHQtPm9wdGlvbnMgfD0gWE1MX1BBUlNFX0RURExPQUQ7CisKKyAgICAvKgorICAgICAqIFNldC11cCB0aGUgU0FYIGNvbnRleHQKKyAgICAgKi8KKyAgICBpZiAoc2F4ICE9IE5VTEwpIHsKKwlpZiAoY3R4dC0+c2F4ICE9IE5VTEwpCisJICAgIHhtbEZyZWUoY3R4dC0+c2F4KTsKKyAgICAgICAgY3R4dC0+c2F4ID0gc2F4OworICAgICAgICBjdHh0LT51c2VyRGF0YSA9IGN0eHQ7CisgICAgfQorCisgICAgLyoKKyAgICAgKiBDYW5vbmljYWxpc2UgdGhlIHN5c3RlbSBJRAorICAgICAqLworICAgIHN5c3RlbUlkQ2Fub25pYyA9IHhtbENhbm9uaWNQYXRoKFN5c3RlbUlEKTsKKyAgICBpZiAoKFN5c3RlbUlEICE9IE5VTEwpICYmIChzeXN0ZW1JZENhbm9uaWMgPT0gTlVMTCkpIHsKKwl4bWxGcmVlUGFyc2VyQ3R4dChjdHh0KTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorCisgICAgLyoKKyAgICAgKiBBc2sgdGhlIEVudGl0eSByZXNvbHZlciB0byBsb2FkIHRoZSBkYW1uIHRoaW5nCisgICAgICovCisKKyAgICBpZiAoKGN0eHQtPnNheCAhPSBOVUxMKSAmJiAoY3R4dC0+c2F4LT5yZXNvbHZlRW50aXR5ICE9IE5VTEwpKQorCWlucHV0ID0gY3R4dC0+c2F4LT5yZXNvbHZlRW50aXR5KGN0eHQtPnVzZXJEYXRhLCBFeHRlcm5hbElELAorCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3RlbUlkQ2Fub25pYyk7CisgICAgaWYgKGlucHV0ID09IE5VTEwpIHsKKyAgICAgICAgaWYgKHNheCAhPSBOVUxMKSBjdHh0LT5zYXggPSBOVUxMOworCXhtbEZyZWVQYXJzZXJDdHh0KGN0eHQpOworCWlmIChzeXN0ZW1JZENhbm9uaWMgIT0gTlVMTCkKKwkgICAgeG1sRnJlZShzeXN0ZW1JZENhbm9uaWMpOworCXJldHVybihOVUxMKTsKKyAgICB9CisKKyAgICAvKgorICAgICAqIHBsdWcgc29tZSBlbmNvZGluZyBjb252ZXJzaW9uIHJvdXRpbmVzIGhlcmUuCisgICAgICovCisgICAgaWYgKHhtbFB1c2hJbnB1dChjdHh0LCBpbnB1dCkgPCAwKSB7CisgICAgICAgIGlmIChzYXggIT0gTlVMTCkgY3R4dC0+c2F4ID0gTlVMTDsKKwl4bWxGcmVlUGFyc2VyQ3R4dChjdHh0KTsKKwlpZiAoc3lzdGVtSWRDYW5vbmljICE9IE5VTEwpCisJICAgIHhtbEZyZWUoc3lzdGVtSWRDYW5vbmljKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIGlmICgoY3R4dC0+aW5wdXQtPmVuZCAtIGN0eHQtPmlucHV0LT5jdXIpID49IDQpIHsKKwllbmMgPSB4bWxEZXRlY3RDaGFyRW5jb2RpbmcoY3R4dC0+aW5wdXQtPmN1ciwgNCk7CisJeG1sU3dpdGNoRW5jb2RpbmcoY3R4dCwgZW5jKTsKKyAgICB9CisKKyAgICBpZiAoaW5wdXQtPmZpbGVuYW1lID09IE5VTEwpCisJaW5wdXQtPmZpbGVuYW1lID0gKGNoYXIgKikgc3lzdGVtSWRDYW5vbmljOworICAgIGVsc2UKKwl4bWxGcmVlKHN5c3RlbUlkQ2Fub25pYyk7CisgICAgaW5wdXQtPmxpbmUgPSAxOworICAgIGlucHV0LT5jb2wgPSAxOworICAgIGlucHV0LT5iYXNlID0gY3R4dC0+aW5wdXQtPmN1cjsKKyAgICBpbnB1dC0+Y3VyID0gY3R4dC0+aW5wdXQtPmN1cjsKKyAgICBpbnB1dC0+ZnJlZSA9IE5VTEw7CisKKyAgICAvKgorICAgICAqIGxldCdzIHBhcnNlIHRoYXQgZW50aXR5IGtub3dpbmcgaXQncyBhbiBleHRlcm5hbCBzdWJzZXQuCisgICAgICovCisgICAgY3R4dC0+aW5TdWJzZXQgPSAyOworICAgIGN0eHQtPm15RG9jID0geG1sTmV3RG9jKEJBRF9DQVNUICIxLjAiKTsKKyAgICBpZiAoY3R4dC0+bXlEb2MgPT0gTlVMTCkgeworCXhtbEVyck1lbW9yeShjdHh0LCAiTmV3IERvYyBmYWlsZWQiKTsKKyAgICAgICAgaWYgKHNheCAhPSBOVUxMKSBjdHh0LT5zYXggPSBOVUxMOworCXhtbEZyZWVQYXJzZXJDdHh0KGN0eHQpOworCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgY3R4dC0+bXlEb2MtPnByb3BlcnRpZXMgPSBYTUxfRE9DX0lOVEVSTkFMOworICAgIGN0eHQtPm15RG9jLT5leHRTdWJzZXQgPSB4bWxOZXdEdGQoY3R4dC0+bXlEb2MsIEJBRF9DQVNUICJub25lIiwKKwkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRXh0ZXJuYWxJRCwgU3lzdGVtSUQpOworICAgIHhtbFBhcnNlRXh0ZXJuYWxTdWJzZXQoY3R4dCwgRXh0ZXJuYWxJRCwgU3lzdGVtSUQpOworCisgICAgaWYgKGN0eHQtPm15RG9jICE9IE5VTEwpIHsKKwlpZiAoY3R4dC0+d2VsbEZvcm1lZCkgeworCSAgICByZXQgPSBjdHh0LT5teURvYy0+ZXh0U3Vic2V0OworCSAgICBjdHh0LT5teURvYy0+ZXh0U3Vic2V0ID0gTlVMTDsKKwkgICAgaWYgKHJldCAhPSBOVUxMKSB7CisJCXhtbE5vZGVQdHIgdG1wOworCisJCXJldC0+ZG9jID0gTlVMTDsKKwkJdG1wID0gcmV0LT5jaGlsZHJlbjsKKwkJd2hpbGUgKHRtcCAhPSBOVUxMKSB7CisJCSAgICB0bXAtPmRvYyA9IE5VTEw7CisJCSAgICB0bXAgPSB0bXAtPm5leHQ7CisJCX0KKwkgICAgfQorCX0gZWxzZSB7CisJICAgIHJldCA9IE5VTEw7CisJfQorICAgICAgICB4bWxGcmVlRG9jKGN0eHQtPm15RG9jKTsKKyAgICAgICAgY3R4dC0+bXlEb2MgPSBOVUxMOworICAgIH0KKyAgICBpZiAoc2F4ICE9IE5VTEwpIGN0eHQtPnNheCA9IE5VTEw7CisgICAgeG1sRnJlZVBhcnNlckN0eHQoY3R4dCk7CisKKyAgICByZXR1cm4ocmV0KTsKK30KKworCisvKioKKyAqIHhtbFBhcnNlRFREOgorICogQEV4dGVybmFsSUQ6ICBhIE5BTUUqIGNvbnRhaW5pbmcgdGhlIEV4dGVybmFsIElEIG9mIHRoZSBEVEQKKyAqIEBTeXN0ZW1JRDogIGEgTkFNRSogY29udGFpbmluZyB0aGUgVVJMIHRvIHRoZSBEVEQKKyAqCisgKiBMb2FkIGFuZCBwYXJzZSBhbiBleHRlcm5hbCBzdWJzZXQuCisgKgorICogUmV0dXJucyB0aGUgcmVzdWx0aW5nIHhtbER0ZFB0ciBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KKworeG1sRHRkUHRyCit4bWxQYXJzZURURChjb25zdCB4bWxDaGFyICpFeHRlcm5hbElELCBjb25zdCB4bWxDaGFyICpTeXN0ZW1JRCkgeworICAgIHJldHVybih4bWxTQVhQYXJzZURURChOVUxMLCBFeHRlcm5hbElELCBTeXN0ZW1JRCkpOworfQorI2VuZGlmIC8qIExJQlhNTF9WQUxJRF9FTkFCTEVEICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCUZyb250IGVuZHMgd2hlbiBwYXJzaW5nIGFuIEVudGl0eQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqCisgKiB4bWxQYXJzZUN0eHRFeHRlcm5hbEVudGl0eToKKyAqIEBjdHg6ICB0aGUgZXhpc3RpbmcgcGFyc2luZyBjb250ZXh0CisgKiBAVVJMOiAgdGhlIFVSTCBmb3IgdGhlIGVudGl0eSB0byBsb2FkCisgKiBASUQ6ICB0aGUgU3lzdGVtIElEIGZvciB0aGUgZW50aXR5IHRvIGxvYWQKKyAqIEBsc3Q6ICB0aGUgcmV0dXJuIHZhbHVlIGZvciB0aGUgc2V0IG9mIHBhcnNlZCBub2RlcworICoKKyAqIFBhcnNlIGFuIGV4dGVybmFsIGdlbmVyYWwgZW50aXR5IHdpdGhpbiBhbiBleGlzdGluZyBwYXJzaW5nIGNvbnRleHQKKyAqIEFuIGV4dGVybmFsIGdlbmVyYWwgcGFyc2VkIGVudGl0eSBpcyB3ZWxsLWZvcm1lZCBpZiBpdCBtYXRjaGVzIHRoZQorICogcHJvZHVjdGlvbiBsYWJlbGVkIGV4dFBhcnNlZEVudC4KKyAqCisgKiBbNzhdIGV4dFBhcnNlZEVudCA6Oj0gVGV4dERlY2w/IGNvbnRlbnQKKyAqCisgKiBSZXR1cm5zIDAgaWYgdGhlIGVudGl0eSBpcyB3ZWxsIGZvcm1lZCwgLTEgaW4gY2FzZSBvZiBhcmdzIHByb2JsZW0gYW5kCisgKiAgICB0aGUgcGFyc2VyIGVycm9yIGNvZGUgb3RoZXJ3aXNlCisgKi8KKworaW50Cit4bWxQYXJzZUN0eHRFeHRlcm5hbEVudGl0eSh4bWxQYXJzZXJDdHh0UHRyIGN0eCwgY29uc3QgeG1sQ2hhciAqVVJMLAorCSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKklELCB4bWxOb2RlUHRyICpsc3QpIHsKKyAgICB4bWxQYXJzZXJDdHh0UHRyIGN0eHQ7CisgICAgeG1sRG9jUHRyIG5ld0RvYzsKKyAgICB4bWxOb2RlUHRyIG5ld1Jvb3Q7CisgICAgeG1sU0FYSGFuZGxlclB0ciBvbGRzYXggPSBOVUxMOworICAgIGludCByZXQgPSAwOworICAgIHhtbENoYXIgc3RhcnRbNF07CisgICAgeG1sQ2hhckVuY29kaW5nIGVuYzsKKworICAgIGlmIChjdHggPT0gTlVMTCkgcmV0dXJuKC0xKTsKKworICAgIGlmICgoKGN0eC0+ZGVwdGggPiA0MCkgJiYgKChjdHgtPm9wdGlvbnMgJiBYTUxfUEFSU0VfSFVHRSkgPT0gMCkpIHx8CisgICAgICAgIChjdHgtPmRlcHRoID4gMTAyNCkpIHsKKwlyZXR1cm4oWE1MX0VSUl9FTlRJVFlfTE9PUCk7CisgICAgfQorCisgICAgaWYgKGxzdCAhPSBOVUxMKQorICAgICAgICAqbHN0ID0gTlVMTDsKKyAgICBpZiAoKFVSTCA9PSBOVUxMKSAmJiAoSUQgPT0gTlVMTCkpCisJcmV0dXJuKC0xKTsKKyAgICBpZiAoY3R4LT5teURvYyA9PSBOVUxMKSAvKiBAQCByZWxheCBidXQgY2hlY2sgZm9yIGRlcmVmZXJlbmNlcyAqLworCXJldHVybigtMSk7CisKKyAgICBjdHh0ID0geG1sQ3JlYXRlRW50aXR5UGFyc2VyQ3R4dEludGVybmFsKFVSTCwgSUQsIE5VTEwsIGN0eCk7CisgICAgaWYgKGN0eHQgPT0gTlVMTCkgeworCXJldHVybigtMSk7CisgICAgfQorCisgICAgb2xkc2F4ID0gY3R4dC0+c2F4OworICAgIGN0eHQtPnNheCA9IGN0eC0+c2F4OworICAgIHhtbERldGVjdFNBWDIoY3R4dCk7CisgICAgbmV3RG9jID0geG1sTmV3RG9jKEJBRF9DQVNUICIxLjAiKTsKKyAgICBpZiAobmV3RG9jID09IE5VTEwpIHsKKwl4bWxGcmVlUGFyc2VyQ3R4dChjdHh0KTsKKwlyZXR1cm4oLTEpOworICAgIH0KKyAgICBuZXdEb2MtPnByb3BlcnRpZXMgPSBYTUxfRE9DX0lOVEVSTkFMOworICAgIGlmIChjdHgtPm15RG9jLT5kaWN0KSB7CisJbmV3RG9jLT5kaWN0ID0gY3R4LT5teURvYy0+ZGljdDsKKwl4bWxEaWN0UmVmZXJlbmNlKG5ld0RvYy0+ZGljdCk7CisgICAgfQorICAgIGlmIChjdHgtPm15RG9jICE9IE5VTEwpIHsKKwluZXdEb2MtPmludFN1YnNldCA9IGN0eC0+bXlEb2MtPmludFN1YnNldDsKKwluZXdEb2MtPmV4dFN1YnNldCA9IGN0eC0+bXlEb2MtPmV4dFN1YnNldDsKKyAgICB9CisgICAgaWYgKGN0eC0+bXlEb2MtPlVSTCAhPSBOVUxMKSB7CisJbmV3RG9jLT5VUkwgPSB4bWxTdHJkdXAoY3R4LT5teURvYy0+VVJMKTsKKyAgICB9CisgICAgbmV3Um9vdCA9IHhtbE5ld0RvY05vZGUobmV3RG9jLCBOVUxMLCBCQURfQ0FTVCAicHNldWRvcm9vdCIsIE5VTEwpOworICAgIGlmIChuZXdSb290ID09IE5VTEwpIHsKKwljdHh0LT5zYXggPSBvbGRzYXg7CisJeG1sRnJlZVBhcnNlckN0eHQoY3R4dCk7CisJbmV3RG9jLT5pbnRTdWJzZXQgPSBOVUxMOworCW5ld0RvYy0+ZXh0U3Vic2V0ID0gTlVMTDsKKyAgICAgICAgeG1sRnJlZURvYyhuZXdEb2MpOworCXJldHVybigtMSk7CisgICAgfQorICAgIHhtbEFkZENoaWxkKCh4bWxOb2RlUHRyKSBuZXdEb2MsIG5ld1Jvb3QpOworICAgIG5vZGVQdXNoKGN0eHQsIG5ld0RvYy0+Y2hpbGRyZW4pOworICAgIGlmIChjdHgtPm15RG9jID09IE5VTEwpIHsKKwljdHh0LT5teURvYyA9IG5ld0RvYzsKKyAgICB9IGVsc2UgeworCWN0eHQtPm15RG9jID0gY3R4LT5teURvYzsKKwluZXdEb2MtPmNoaWxkcmVuLT5kb2MgPSBjdHgtPm15RG9jOworICAgIH0KKworICAgIC8qCisgICAgICogR2V0IHRoZSA0IGZpcnN0IGJ5dGVzIGFuZCBkZWNvZGUgdGhlIGNoYXJzZXQKKyAgICAgKiBpZiBlbmMgIT0gWE1MX0NIQVJfRU5DT0RJTkdfTk9ORQorICAgICAqIHBsdWcgc29tZSBlbmNvZGluZyBjb252ZXJzaW9uIHJvdXRpbmVzLgorICAgICAqLworICAgIEdST1cKKyAgICBpZiAoKGN0eHQtPmlucHV0LT5lbmQgLSBjdHh0LT5pbnB1dC0+Y3VyKSA+PSA0KSB7CisJc3RhcnRbMF0gPSBSQVc7CisJc3RhcnRbMV0gPSBOWFQoMSk7CisJc3RhcnRbMl0gPSBOWFQoMik7CisJc3RhcnRbM10gPSBOWFQoMyk7CisJZW5jID0geG1sRGV0ZWN0Q2hhckVuY29kaW5nKHN0YXJ0LCA0KTsKKwlpZiAoZW5jICE9IFhNTF9DSEFSX0VOQ09ESU5HX05PTkUpIHsKKwkgICAgeG1sU3dpdGNoRW5jb2RpbmcoY3R4dCwgZW5jKTsKKwl9CisgICAgfQorCisgICAgLyoKKyAgICAgKiBQYXJzZSBhIHBvc3NpYmxlIHRleHQgZGVjbGFyYXRpb24gZmlyc3QKKyAgICAgKi8KKyAgICBpZiAoKENNUDUoQ1VSX1BUUiwgJzwnLCAnPycsICd4JywgJ20nLCAnbCcpKSAmJiAoSVNfQkxBTktfQ0goTlhUKDUpKSkpIHsKKwl4bWxQYXJzZVRleHREZWNsKGN0eHQpOworCS8qCisJICogQW4gWE1MLTEuMCBkb2N1bWVudCBjYW4ndCByZWZlcmVuY2UgYW4gZW50aXR5IG5vdCBYTUwtMS4wCisJICovCisJaWYgKCh4bWxTdHJFcXVhbChjdHgtPnZlcnNpb24sIEJBRF9DQVNUICIxLjAiKSkgJiYKKwkgICAgKCF4bWxTdHJFcXVhbChjdHh0LT5pbnB1dC0+dmVyc2lvbiwgQkFEX0NBU1QgIjEuMCIpKSkgeworCSAgICB4bWxGYXRhbEVyck1zZyhjdHh0LCBYTUxfRVJSX1ZFUlNJT05fTUlTTUFUQ0gsCisJICAgICAgICAgICAgICAgICAgICJWZXJzaW9uIG1pc21hdGNoIGJldHdlZW4gZG9jdW1lbnQgYW5kIGVudGl0eVxuIik7CisJfQorICAgIH0KKworICAgIC8qCisgICAgICogSWYgdGhlIHVzZXIgcHJvdmlkZWQgaXRzIG93biBTQVggY2FsbGJhY2tzIHRoZW4gcmV1c2UgdGhlCisgICAgICogdXNlRGF0YSBjYWxsYmFjayBmaWVsZCwgb3RoZXJ3aXNlIHRoZSBleHBlY3RlZCBzZXR1cCBpbiBhCisgICAgICogRE9NIGJ1aWxkZXIgaXMgdG8gaGF2ZSB1c2VyRGF0YSA9PSBjdHh0CisgICAgICovCisgICAgaWYgKGN0eC0+dXNlckRhdGEgPT0gY3R4KQorICAgICAgICBjdHh0LT51c2VyRGF0YSA9IGN0eHQ7CisgICAgZWxzZQorICAgICAgICBjdHh0LT51c2VyRGF0YSA9IGN0eC0+dXNlckRhdGE7CisKKyAgICAvKgorICAgICAqIERvaW5nIHZhbGlkaXR5IGNoZWNraW5nIG9uIGNodW5rIGRvZXNuJ3QgbWFrZSBzZW5zZQorICAgICAqLworICAgIGN0eHQtPmluc3RhdGUgPSBYTUxfUEFSU0VSX0NPTlRFTlQ7CisgICAgY3R4dC0+dmFsaWRhdGUgPSBjdHgtPnZhbGlkYXRlOworICAgIGN0eHQtPnZhbGlkID0gY3R4LT52YWxpZDsKKyAgICBjdHh0LT5sb2Fkc3Vic2V0ID0gY3R4LT5sb2Fkc3Vic2V0OworICAgIGN0eHQtPmRlcHRoID0gY3R4LT5kZXB0aCArIDE7CisgICAgY3R4dC0+cmVwbGFjZUVudGl0aWVzID0gY3R4LT5yZXBsYWNlRW50aXRpZXM7CisgICAgaWYgKGN0eHQtPnZhbGlkYXRlKSB7CisJY3R4dC0+dmN0eHQuZXJyb3IgPSBjdHgtPnZjdHh0LmVycm9yOworCWN0eHQtPnZjdHh0Lndhcm5pbmcgPSBjdHgtPnZjdHh0Lndhcm5pbmc7CisgICAgfSBlbHNlIHsKKwljdHh0LT52Y3R4dC5lcnJvciA9IE5VTEw7CisJY3R4dC0+dmN0eHQud2FybmluZyA9IE5VTEw7CisgICAgfQorICAgIGN0eHQtPnZjdHh0Lm5vZGVUYWIgPSBOVUxMOworICAgIGN0eHQtPnZjdHh0Lm5vZGVOciA9IDA7CisgICAgY3R4dC0+dmN0eHQubm9kZU1heCA9IDA7CisgICAgY3R4dC0+dmN0eHQubm9kZSA9IE5VTEw7CisgICAgaWYgKGN0eHQtPmRpY3QgIT0gTlVMTCkgeG1sRGljdEZyZWUoY3R4dC0+ZGljdCk7CisgICAgY3R4dC0+ZGljdCA9IGN0eC0+ZGljdDsKKyAgICBjdHh0LT5zdHJfeG1sID0geG1sRGljdExvb2t1cChjdHh0LT5kaWN0LCBCQURfQ0FTVCAieG1sIiwgMyk7CisgICAgY3R4dC0+c3RyX3htbG5zID0geG1sRGljdExvb2t1cChjdHh0LT5kaWN0LCBCQURfQ0FTVCAieG1sbnMiLCA1KTsKKyAgICBjdHh0LT5zdHJfeG1sX25zID0geG1sRGljdExvb2t1cChjdHh0LT5kaWN0LCBYTUxfWE1MX05BTUVTUEFDRSwgMzYpOworICAgIGN0eHQtPmRpY3ROYW1lcyA9IGN0eC0+ZGljdE5hbWVzOworICAgIGN0eHQtPmF0dHNEZWZhdWx0ID0gY3R4LT5hdHRzRGVmYXVsdDsKKyAgICBjdHh0LT5hdHRzU3BlY2lhbCA9IGN0eC0+YXR0c1NwZWNpYWw7CisgICAgY3R4dC0+bGluZW51bWJlcnMgPSBjdHgtPmxpbmVudW1iZXJzOworCisgICAgeG1sUGFyc2VDb250ZW50KGN0eHQpOworCisgICAgY3R4LT52YWxpZGF0ZSA9IGN0eHQtPnZhbGlkYXRlOworICAgIGN0eC0+dmFsaWQgPSBjdHh0LT52YWxpZDsKKyAgICBpZiAoKFJBVyA9PSAnPCcpICYmIChOWFQoMSkgPT0gJy8nKSkgeworCXhtbEZhdGFsRXJyKGN0eHQsIFhNTF9FUlJfTk9UX1dFTExfQkFMQU5DRUQsIE5VTEwpOworICAgIH0gZWxzZSBpZiAoUkFXICE9IDApIHsKKwl4bWxGYXRhbEVycihjdHh0LCBYTUxfRVJSX0VYVFJBX0NPTlRFTlQsIE5VTEwpOworICAgIH0KKyAgICBpZiAoY3R4dC0+bm9kZSAhPSBuZXdEb2MtPmNoaWxkcmVuKSB7CisJeG1sRmF0YWxFcnIoY3R4dCwgWE1MX0VSUl9OT1RfV0VMTF9CQUxBTkNFRCwgTlVMTCk7CisgICAgfQorCisgICAgaWYgKCFjdHh0LT53ZWxsRm9ybWVkKSB7CisgICAgICAgIGlmIChjdHh0LT5lcnJObyA9PSAwKQorCSAgICByZXQgPSAxOworCWVsc2UKKwkgICAgcmV0ID0gY3R4dC0+ZXJyTm87CisgICAgfSBlbHNlIHsKKwlpZiAobHN0ICE9IE5VTEwpIHsKKwkgICAgeG1sTm9kZVB0ciBjdXI7CisKKwkgICAgLyoKKwkgICAgICogUmV0dXJuIHRoZSBuZXdseSBjcmVhdGVkIG5vZGVzZXQgYWZ0ZXIgdW5saW5raW5nIGl0IGZyb20KKwkgICAgICogdGhleSBwc2V1ZG8gcGFyZW50LgorCSAgICAgKi8KKwkgICAgY3VyID0gbmV3RG9jLT5jaGlsZHJlbi0+Y2hpbGRyZW47CisJICAgICpsc3QgPSBjdXI7CisJICAgIHdoaWxlIChjdXIgIT0gTlVMTCkgeworCQljdXItPnBhcmVudCA9IE5VTEw7CisJCWN1ciA9IGN1ci0+bmV4dDsKKwkgICAgfQorICAgICAgICAgICAgbmV3RG9jLT5jaGlsZHJlbi0+Y2hpbGRyZW4gPSBOVUxMOworCX0KKwlyZXQgPSAwOworICAgIH0KKyAgICBjdHh0LT5zYXggPSBvbGRzYXg7CisgICAgY3R4dC0+ZGljdCA9IE5VTEw7CisgICAgY3R4dC0+YXR0c0RlZmF1bHQgPSBOVUxMOworICAgIGN0eHQtPmF0dHNTcGVjaWFsID0gTlVMTDsKKyAgICB4bWxGcmVlUGFyc2VyQ3R4dChjdHh0KTsKKyAgICBuZXdEb2MtPmludFN1YnNldCA9IE5VTEw7CisgICAgbmV3RG9jLT5leHRTdWJzZXQgPSBOVUxMOworICAgIHhtbEZyZWVEb2MobmV3RG9jKTsKKworICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbFBhcnNlRXh0ZXJuYWxFbnRpdHlQcml2YXRlOgorICogQGRvYzogIHRoZSBkb2N1bWVudCB0aGUgY2h1bmsgcGVydGFpbnMgdG8KKyAqIEBvbGRjdHh0OiAgdGhlIHByZXZpb3VzIHBhcnNlciBjb250ZXh0IGlmIGF2YWlsYWJsZQorICogQHNheDogIHRoZSBTQVggaGFuZGxlciBibG9jIChwb3NzaWJseSBOVUxMKQorICogQHVzZXJfZGF0YTogIFRoZSB1c2VyIGRhdGEgcmV0dXJuZWQgb24gU0FYIGNhbGxiYWNrcyAocG9zc2libHkgTlVMTCkKKyAqIEBkZXB0aDogIFVzZWQgZm9yIGxvb3AgZGV0ZWN0aW9uLCB1c2UgMAorICogQFVSTDogIHRoZSBVUkwgZm9yIHRoZSBlbnRpdHkgdG8gbG9hZAorICogQElEOiAgdGhlIFN5c3RlbSBJRCBmb3IgdGhlIGVudGl0eSB0byBsb2FkCisgKiBAbGlzdDogIHRoZSByZXR1cm4gdmFsdWUgZm9yIHRoZSBzZXQgb2YgcGFyc2VkIG5vZGVzCisgKgorICogUHJpdmF0ZSB2ZXJzaW9uIG9mIHhtbFBhcnNlRXh0ZXJuYWxFbnRpdHkoKQorICoKKyAqIFJldHVybnMgMCBpZiB0aGUgZW50aXR5IGlzIHdlbGwgZm9ybWVkLCAtMSBpbiBjYXNlIG9mIGFyZ3MgcHJvYmxlbSBhbmQKKyAqICAgIHRoZSBwYXJzZXIgZXJyb3IgY29kZSBvdGhlcndpc2UKKyAqLworCitzdGF0aWMgeG1sUGFyc2VyRXJyb3JzCit4bWxQYXJzZUV4dGVybmFsRW50aXR5UHJpdmF0ZSh4bWxEb2NQdHIgZG9jLCB4bWxQYXJzZXJDdHh0UHRyIG9sZGN0eHQsCisJICAgICAgICAgICAgICB4bWxTQVhIYW5kbGVyUHRyIHNheCwKKwkJICAgICAgdm9pZCAqdXNlcl9kYXRhLCBpbnQgZGVwdGgsIGNvbnN0IHhtbENoYXIgKlVSTCwKKwkJICAgICAgY29uc3QgeG1sQ2hhciAqSUQsIHhtbE5vZGVQdHIgKmxpc3QpIHsKKyAgICB4bWxQYXJzZXJDdHh0UHRyIGN0eHQ7CisgICAgeG1sRG9jUHRyIG5ld0RvYzsKKyAgICB4bWxOb2RlUHRyIG5ld1Jvb3Q7CisgICAgeG1sU0FYSGFuZGxlclB0ciBvbGRzYXggPSBOVUxMOworICAgIHhtbFBhcnNlckVycm9ycyByZXQgPSBYTUxfRVJSX09LOworICAgIHhtbENoYXIgc3RhcnRbNF07CisgICAgeG1sQ2hhckVuY29kaW5nIGVuYzsKKworICAgIGlmICgoKGRlcHRoID4gNDApICYmCisJKChvbGRjdHh0ID09IE5VTEwpIHx8IChvbGRjdHh0LT5vcHRpb25zICYgWE1MX1BBUlNFX0hVR0UpID09IDApKSB8fAorCShkZXB0aCA+IDEwMjQpKSB7CisJcmV0dXJuKFhNTF9FUlJfRU5USVRZX0xPT1ApOworICAgIH0KKworICAgIGlmIChsaXN0ICE9IE5VTEwpCisgICAgICAgICpsaXN0ID0gTlVMTDsKKyAgICBpZiAoKFVSTCA9PSBOVUxMKSAmJiAoSUQgPT0gTlVMTCkpCisJcmV0dXJuKFhNTF9FUlJfSU5URVJOQUxfRVJST1IpOworICAgIGlmIChkb2MgPT0gTlVMTCkKKwlyZXR1cm4oWE1MX0VSUl9JTlRFUk5BTF9FUlJPUik7CisKKworICAgIGN0eHQgPSB4bWxDcmVhdGVFbnRpdHlQYXJzZXJDdHh0SW50ZXJuYWwoVVJMLCBJRCwgTlVMTCwgb2xkY3R4dCk7CisgICAgaWYgKGN0eHQgPT0gTlVMTCkgcmV0dXJuKFhNTF9XQVJfVU5ERUNMQVJFRF9FTlRJVFkpOworICAgIGN0eHQtPnVzZXJEYXRhID0gY3R4dDsKKyAgICBpZiAob2xkY3R4dCAhPSBOVUxMKSB7CisJY3R4dC0+X3ByaXZhdGUgPSBvbGRjdHh0LT5fcHJpdmF0ZTsKKwljdHh0LT5sb2Fkc3Vic2V0ID0gb2xkY3R4dC0+bG9hZHN1YnNldDsKKwljdHh0LT52YWxpZGF0ZSA9IG9sZGN0eHQtPnZhbGlkYXRlOworCWN0eHQtPmV4dGVybmFsID0gb2xkY3R4dC0+ZXh0ZXJuYWw7CisJY3R4dC0+cmVjb3JkX2luZm8gPSBvbGRjdHh0LT5yZWNvcmRfaW5mbzsKKwljdHh0LT5ub2RlX3NlcS5tYXhpbXVtID0gb2xkY3R4dC0+bm9kZV9zZXEubWF4aW11bTsKKwljdHh0LT5ub2RlX3NlcS5sZW5ndGggPSBvbGRjdHh0LT5ub2RlX3NlcS5sZW5ndGg7CisJY3R4dC0+bm9kZV9zZXEuYnVmZmVyID0gb2xkY3R4dC0+bm9kZV9zZXEuYnVmZmVyOworICAgIH0gZWxzZSB7CisJLyoKKwkgKiBEb2luZyB2YWxpZGl0eSBjaGVja2luZyBvbiBjaHVuayB3aXRob3V0IGNvbnRleHQKKwkgKiBkb2Vzbid0IG1ha2Ugc2Vuc2UKKwkgKi8KKwljdHh0LT5fcHJpdmF0ZSA9IE5VTEw7CisJY3R4dC0+dmFsaWRhdGUgPSAwOworCWN0eHQtPmV4dGVybmFsID0gMjsKKwljdHh0LT5sb2Fkc3Vic2V0ID0gMDsKKyAgICB9CisgICAgaWYgKHNheCAhPSBOVUxMKSB7CisJb2xkc2F4ID0gY3R4dC0+c2F4OworICAgICAgICBjdHh0LT5zYXggPSBzYXg7CisJaWYgKHVzZXJfZGF0YSAhPSBOVUxMKQorCSAgICBjdHh0LT51c2VyRGF0YSA9IHVzZXJfZGF0YTsKKyAgICB9CisgICAgeG1sRGV0ZWN0U0FYMihjdHh0KTsKKyAgICBuZXdEb2MgPSB4bWxOZXdEb2MoQkFEX0NBU1QgIjEuMCIpOworICAgIGlmIChuZXdEb2MgPT0gTlVMTCkgeworCWN0eHQtPm5vZGVfc2VxLm1heGltdW0gPSAwOworCWN0eHQtPm5vZGVfc2VxLmxlbmd0aCA9IDA7CisJY3R4dC0+bm9kZV9zZXEuYnVmZmVyID0gTlVMTDsKKwl4bWxGcmVlUGFyc2VyQ3R4dChjdHh0KTsKKwlyZXR1cm4oWE1MX0VSUl9JTlRFUk5BTF9FUlJPUik7CisgICAgfQorICAgIG5ld0RvYy0+cHJvcGVydGllcyA9IFhNTF9ET0NfSU5URVJOQUw7CisgICAgbmV3RG9jLT5pbnRTdWJzZXQgPSBkb2MtPmludFN1YnNldDsKKyAgICBuZXdEb2MtPmV4dFN1YnNldCA9IGRvYy0+ZXh0U3Vic2V0OworICAgIG5ld0RvYy0+ZGljdCA9IGRvYy0+ZGljdDsKKyAgICB4bWxEaWN0UmVmZXJlbmNlKG5ld0RvYy0+ZGljdCk7CisKKyAgICBpZiAoZG9jLT5VUkwgIT0gTlVMTCkgeworCW5ld0RvYy0+VVJMID0geG1sU3RyZHVwKGRvYy0+VVJMKTsKKyAgICB9CisgICAgbmV3Um9vdCA9IHhtbE5ld0RvY05vZGUobmV3RG9jLCBOVUxMLCBCQURfQ0FTVCAicHNldWRvcm9vdCIsIE5VTEwpOworICAgIGlmIChuZXdSb290ID09IE5VTEwpIHsKKwlpZiAoc2F4ICE9IE5VTEwpCisJICAgIGN0eHQtPnNheCA9IG9sZHNheDsKKwljdHh0LT5ub2RlX3NlcS5tYXhpbXVtID0gMDsKKwljdHh0LT5ub2RlX3NlcS5sZW5ndGggPSAwOworCWN0eHQtPm5vZGVfc2VxLmJ1ZmZlciA9IE5VTEw7CisJeG1sRnJlZVBhcnNlckN0eHQoY3R4dCk7CisJbmV3RG9jLT5pbnRTdWJzZXQgPSBOVUxMOworCW5ld0RvYy0+ZXh0U3Vic2V0ID0gTlVMTDsKKyAgICAgICAgeG1sRnJlZURvYyhuZXdEb2MpOworCXJldHVybihYTUxfRVJSX0lOVEVSTkFMX0VSUk9SKTsKKyAgICB9CisgICAgeG1sQWRkQ2hpbGQoKHhtbE5vZGVQdHIpIG5ld0RvYywgbmV3Um9vdCk7CisgICAgbm9kZVB1c2goY3R4dCwgbmV3RG9jLT5jaGlsZHJlbik7CisgICAgY3R4dC0+bXlEb2MgPSBkb2M7CisgICAgbmV3Um9vdC0+ZG9jID0gZG9jOworCisgICAgLyoKKyAgICAgKiBHZXQgdGhlIDQgZmlyc3QgYnl0ZXMgYW5kIGRlY29kZSB0aGUgY2hhcnNldAorICAgICAqIGlmIGVuYyAhPSBYTUxfQ0hBUl9FTkNPRElOR19OT05FCisgICAgICogcGx1ZyBzb21lIGVuY29kaW5nIGNvbnZlcnNpb24gcm91dGluZXMuCisgICAgICovCisgICAgR1JPVzsKKyAgICBpZiAoKGN0eHQtPmlucHV0LT5lbmQgLSBjdHh0LT5pbnB1dC0+Y3VyKSA+PSA0KSB7CisJc3RhcnRbMF0gPSBSQVc7CisJc3RhcnRbMV0gPSBOWFQoMSk7CisJc3RhcnRbMl0gPSBOWFQoMik7CisJc3RhcnRbM10gPSBOWFQoMyk7CisJZW5jID0geG1sRGV0ZWN0Q2hhckVuY29kaW5nKHN0YXJ0LCA0KTsKKwlpZiAoZW5jICE9IFhNTF9DSEFSX0VOQ09ESU5HX05PTkUpIHsKKwkgICAgeG1sU3dpdGNoRW5jb2RpbmcoY3R4dCwgZW5jKTsKKwl9CisgICAgfQorCisgICAgLyoKKyAgICAgKiBQYXJzZSBhIHBvc3NpYmxlIHRleHQgZGVjbGFyYXRpb24gZmlyc3QKKyAgICAgKi8KKyAgICBpZiAoKENNUDUoQ1VSX1BUUiwgJzwnLCAnPycsICd4JywgJ20nLCAnbCcpKSAmJiAoSVNfQkxBTktfQ0goTlhUKDUpKSkpIHsKKwl4bWxQYXJzZVRleHREZWNsKGN0eHQpOworICAgIH0KKworICAgIGN0eHQtPmluc3RhdGUgPSBYTUxfUEFSU0VSX0NPTlRFTlQ7CisgICAgY3R4dC0+ZGVwdGggPSBkZXB0aDsKKworICAgIHhtbFBhcnNlQ29udGVudChjdHh0KTsKKworICAgIGlmICgoUkFXID09ICc8JykgJiYgKE5YVCgxKSA9PSAnLycpKSB7CisJeG1sRmF0YWxFcnIoY3R4dCwgWE1MX0VSUl9OT1RfV0VMTF9CQUxBTkNFRCwgTlVMTCk7CisgICAgfSBlbHNlIGlmIChSQVcgIT0gMCkgeworCXhtbEZhdGFsRXJyKGN0eHQsIFhNTF9FUlJfRVhUUkFfQ09OVEVOVCwgTlVMTCk7CisgICAgfQorICAgIGlmIChjdHh0LT5ub2RlICE9IG5ld0RvYy0+Y2hpbGRyZW4pIHsKKwl4bWxGYXRhbEVycihjdHh0LCBYTUxfRVJSX05PVF9XRUxMX0JBTEFOQ0VELCBOVUxMKTsKKyAgICB9CisKKyAgICBpZiAoIWN0eHQtPndlbGxGb3JtZWQpIHsKKyAgICAgICAgaWYgKGN0eHQtPmVyck5vID09IDApCisJICAgIHJldCA9IFhNTF9FUlJfSU5URVJOQUxfRVJST1I7CisJZWxzZQorCSAgICByZXQgPSAoeG1sUGFyc2VyRXJyb3JzKWN0eHQtPmVyck5vOworICAgIH0gZWxzZSB7CisJaWYgKGxpc3QgIT0gTlVMTCkgeworCSAgICB4bWxOb2RlUHRyIGN1cjsKKworCSAgICAvKgorCSAgICAgKiBSZXR1cm4gdGhlIG5ld2x5IGNyZWF0ZWQgbm9kZXNldCBhZnRlciB1bmxpbmtpbmcgaXQgZnJvbQorCSAgICAgKiB0aGV5IHBzZXVkbyBwYXJlbnQuCisJICAgICAqLworCSAgICBjdXIgPSBuZXdEb2MtPmNoaWxkcmVuLT5jaGlsZHJlbjsKKwkgICAgKmxpc3QgPSBjdXI7CisJICAgIHdoaWxlIChjdXIgIT0gTlVMTCkgeworCQljdXItPnBhcmVudCA9IE5VTEw7CisJCWN1ciA9IGN1ci0+bmV4dDsKKwkgICAgfQorICAgICAgICAgICAgbmV3RG9jLT5jaGlsZHJlbi0+Y2hpbGRyZW4gPSBOVUxMOworCX0KKwlyZXQgPSBYTUxfRVJSX09LOworICAgIH0KKworICAgIC8qCisgICAgICogUmVjb3JkIGluIHRoZSBwYXJlbnQgY29udGV4dCB0aGUgbnVtYmVyIG9mIGVudGl0aWVzIHJlcGxhY2VtZW50CisgICAgICogZG9uZSB3aGVuIHBhcnNpbmcgdGhhdCByZWZlcmVuY2UuCisgICAgICovCisgICAgaWYgKG9sZGN0eHQgIT0gTlVMTCkKKyAgICAgICAgb2xkY3R4dC0+bmJlbnRpdGllcyArPSBjdHh0LT5uYmVudGl0aWVzOworCisgICAgLyoKKyAgICAgKiBBbHNvIHJlY29yZCB0aGUgc2l6ZSBvZiB0aGUgZW50aXR5IHBhcnNlZAorICAgICAqLworICAgIGlmIChjdHh0LT5pbnB1dCAhPSBOVUxMKSB7CisJb2xkY3R4dC0+c2l6ZWVudGl0aWVzICs9IGN0eHQtPmlucHV0LT5jb25zdW1lZDsKKwlvbGRjdHh0LT5zaXplZW50aXRpZXMgKz0gKGN0eHQtPmlucHV0LT5jdXIgLSBjdHh0LT5pbnB1dC0+YmFzZSk7CisgICAgfQorICAgIC8qCisgICAgICogQW5kIHJlY29yZCB0aGUgbGFzdCBlcnJvciBpZiBhbnkKKyAgICAgKi8KKyAgICBpZiAoY3R4dC0+bGFzdEVycm9yLmNvZGUgIT0gWE1MX0VSUl9PSykKKyAgICAgICAgeG1sQ29weUVycm9yKCZjdHh0LT5sYXN0RXJyb3IsICZvbGRjdHh0LT5sYXN0RXJyb3IpOworCisgICAgaWYgKHNheCAhPSBOVUxMKQorCWN0eHQtPnNheCA9IG9sZHNheDsKKyAgICBvbGRjdHh0LT5ub2RlX3NlcS5tYXhpbXVtID0gY3R4dC0+bm9kZV9zZXEubWF4aW11bTsKKyAgICBvbGRjdHh0LT5ub2RlX3NlcS5sZW5ndGggPSBjdHh0LT5ub2RlX3NlcS5sZW5ndGg7CisgICAgb2xkY3R4dC0+bm9kZV9zZXEuYnVmZmVyID0gY3R4dC0+bm9kZV9zZXEuYnVmZmVyOworICAgIGN0eHQtPm5vZGVfc2VxLm1heGltdW0gPSAwOworICAgIGN0eHQtPm5vZGVfc2VxLmxlbmd0aCA9IDA7CisgICAgY3R4dC0+bm9kZV9zZXEuYnVmZmVyID0gTlVMTDsKKyAgICB4bWxGcmVlUGFyc2VyQ3R4dChjdHh0KTsKKyAgICBuZXdEb2MtPmludFN1YnNldCA9IE5VTEw7CisgICAgbmV3RG9jLT5leHRTdWJzZXQgPSBOVUxMOworICAgIHhtbEZyZWVEb2MobmV3RG9jKTsKKworICAgIHJldHVybihyZXQpOworfQorCisjaWZkZWYgTElCWE1MX1NBWDFfRU5BQkxFRAorLyoqCisgKiB4bWxQYXJzZUV4dGVybmFsRW50aXR5OgorICogQGRvYzogIHRoZSBkb2N1bWVudCB0aGUgY2h1bmsgcGVydGFpbnMgdG8KKyAqIEBzYXg6ICB0aGUgU0FYIGhhbmRsZXIgYmxvYyAocG9zc2libHkgTlVMTCkKKyAqIEB1c2VyX2RhdGE6ICBUaGUgdXNlciBkYXRhIHJldHVybmVkIG9uIFNBWCBjYWxsYmFja3MgKHBvc3NpYmx5IE5VTEwpCisgKiBAZGVwdGg6ICBVc2VkIGZvciBsb29wIGRldGVjdGlvbiwgdXNlIDAKKyAqIEBVUkw6ICB0aGUgVVJMIGZvciB0aGUgZW50aXR5IHRvIGxvYWQKKyAqIEBJRDogIHRoZSBTeXN0ZW0gSUQgZm9yIHRoZSBlbnRpdHkgdG8gbG9hZAorICogQGxzdDogIHRoZSByZXR1cm4gdmFsdWUgZm9yIHRoZSBzZXQgb2YgcGFyc2VkIG5vZGVzCisgKgorICogUGFyc2UgYW4gZXh0ZXJuYWwgZ2VuZXJhbCBlbnRpdHkKKyAqIEFuIGV4dGVybmFsIGdlbmVyYWwgcGFyc2VkIGVudGl0eSBpcyB3ZWxsLWZvcm1lZCBpZiBpdCBtYXRjaGVzIHRoZQorICogcHJvZHVjdGlvbiBsYWJlbGVkIGV4dFBhcnNlZEVudC4KKyAqCisgKiBbNzhdIGV4dFBhcnNlZEVudCA6Oj0gVGV4dERlY2w/IGNvbnRlbnQKKyAqCisgKiBSZXR1cm5zIDAgaWYgdGhlIGVudGl0eSBpcyB3ZWxsIGZvcm1lZCwgLTEgaW4gY2FzZSBvZiBhcmdzIHByb2JsZW0gYW5kCisgKiAgICB0aGUgcGFyc2VyIGVycm9yIGNvZGUgb3RoZXJ3aXNlCisgKi8KKworaW50Cit4bWxQYXJzZUV4dGVybmFsRW50aXR5KHhtbERvY1B0ciBkb2MsIHhtbFNBWEhhbmRsZXJQdHIgc2F4LCB2b2lkICp1c2VyX2RhdGEsCisJICBpbnQgZGVwdGgsIGNvbnN0IHhtbENoYXIgKlVSTCwgY29uc3QgeG1sQ2hhciAqSUQsIHhtbE5vZGVQdHIgKmxzdCkgeworICAgIHJldHVybih4bWxQYXJzZUV4dGVybmFsRW50aXR5UHJpdmF0ZShkb2MsIE5VTEwsIHNheCwgdXNlcl9kYXRhLCBkZXB0aCwgVVJMLAorCQkgICAgICAgICAgICAgICAgICAgICAgIElELCBsc3QpKTsKK30KKworLyoqCisgKiB4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnk6CisgKiBAZG9jOiAgdGhlIGRvY3VtZW50IHRoZSBjaHVuayBwZXJ0YWlucyB0bworICogQHNheDogIHRoZSBTQVggaGFuZGxlciBibG9jIChwb3NzaWJseSBOVUxMKQorICogQHVzZXJfZGF0YTogIFRoZSB1c2VyIGRhdGEgcmV0dXJuZWQgb24gU0FYIGNhbGxiYWNrcyAocG9zc2libHkgTlVMTCkKKyAqIEBkZXB0aDogIFVzZWQgZm9yIGxvb3AgZGV0ZWN0aW9uLCB1c2UgMAorICogQHN0cmluZzogIHRoZSBpbnB1dCBzdHJpbmcgaW4gVVRGOCBvciBJU08tTGF0aW4gKHplcm8gdGVybWluYXRlZCkKKyAqIEBsc3Q6ICB0aGUgcmV0dXJuIHZhbHVlIGZvciB0aGUgc2V0IG9mIHBhcnNlZCBub2RlcworICoKKyAqIFBhcnNlIGEgd2VsbC1iYWxhbmNlZCBjaHVuayBvZiBhbiBYTUwgZG9jdW1lbnQKKyAqIGNhbGxlZCBieSB0aGUgcGFyc2VyCisgKiBUaGUgYWxsb3dlZCBzZXF1ZW5jZSBmb3IgdGhlIFdlbGwgQmFsYW5jZWQgQ2h1bmsgaXMgdGhlIG9uZSBkZWZpbmVkIGJ5CisgKiB0aGUgY29udGVudCBwcm9kdWN0aW9uIGluIHRoZSBYTUwgZ3JhbW1hcjoKKyAqCisgKiBbNDNdIGNvbnRlbnQgOjo9IChlbGVtZW50IHwgQ2hhckRhdGEgfCBSZWZlcmVuY2UgfCBDRFNlY3QgfCBQSSB8IENvbW1lbnQpKgorICoKKyAqIFJldHVybnMgMCBpZiB0aGUgY2h1bmsgaXMgd2VsbCBiYWxhbmNlZCwgLTEgaW4gY2FzZSBvZiBhcmdzIHByb2JsZW0gYW5kCisgKiAgICB0aGUgcGFyc2VyIGVycm9yIGNvZGUgb3RoZXJ3aXNlCisgKi8KKworaW50Cit4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnkoeG1sRG9jUHRyIGRvYywgeG1sU0FYSGFuZGxlclB0ciBzYXgsCisgICAgIHZvaWQgKnVzZXJfZGF0YSwgaW50IGRlcHRoLCBjb25zdCB4bWxDaGFyICpzdHJpbmcsIHhtbE5vZGVQdHIgKmxzdCkgeworICAgIHJldHVybiB4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlSZWNvdmVyKCBkb2MsIHNheCwgdXNlcl9kYXRhLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVwdGgsIHN0cmluZywgbHN0LCAwICk7Cit9CisjZW5kaWYgLyogTElCWE1MX1NBWDFfRU5BQkxFRCAqLworCisvKioKKyAqIHhtbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeUludGVybmFsOgorICogQG9sZGN0eHQ6ICB0aGUgZXhpc3RpbmcgcGFyc2luZyBjb250ZXh0CisgKiBAc3RyaW5nOiAgdGhlIGlucHV0IHN0cmluZyBpbiBVVEY4IG9yIElTTy1MYXRpbiAoemVybyB0ZXJtaW5hdGVkKQorICogQHVzZXJfZGF0YTogIHRoZSB1c2VyIGRhdGEgZmllbGQgZm9yIHRoZSBwYXJzZXIgY29udGV4dAorICogQGxzdDogIHRoZSByZXR1cm4gdmFsdWUgZm9yIHRoZSBzZXQgb2YgcGFyc2VkIG5vZGVzCisgKgorICoKKyAqIFBhcnNlIGEgd2VsbC1iYWxhbmNlZCBjaHVuayBvZiBhbiBYTUwgZG9jdW1lbnQKKyAqIGNhbGxlZCBieSB0aGUgcGFyc2VyCisgKiBUaGUgYWxsb3dlZCBzZXF1ZW5jZSBmb3IgdGhlIFdlbGwgQmFsYW5jZWQgQ2h1bmsgaXMgdGhlIG9uZSBkZWZpbmVkIGJ5CisgKiB0aGUgY29udGVudCBwcm9kdWN0aW9uIGluIHRoZSBYTUwgZ3JhbW1hcjoKKyAqCisgKiBbNDNdIGNvbnRlbnQgOjo9IChlbGVtZW50IHwgQ2hhckRhdGEgfCBSZWZlcmVuY2UgfCBDRFNlY3QgfCBQSSB8IENvbW1lbnQpKgorICoKKyAqIFJldHVybnMgWE1MX0VSUl9PSyBpZiB0aGUgY2h1bmsgaXMgd2VsbCBiYWxhbmNlZCwgYW5kIHRoZSBwYXJzZXIKKyAqIGVycm9yIGNvZGUgb3RoZXJ3aXNlCisgKgorICogSW4gY2FzZSByZWNvdmVyIGlzIHNldCB0byAxLCB0aGUgbm9kZWxpc3Qgd2lsbCBub3QgYmUgZW1wdHkgZXZlbiBpZgorICogdGhlIHBhcnNlZCBjaHVuayBpcyBub3Qgd2VsbCBiYWxhbmNlZC4KKyAqLworc3RhdGljIHhtbFBhcnNlckVycm9ycworeG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5SW50ZXJuYWwoeG1sUGFyc2VyQ3R4dFB0ciBvbGRjdHh0LAorCWNvbnN0IHhtbENoYXIgKnN0cmluZywgdm9pZCAqdXNlcl9kYXRhLCB4bWxOb2RlUHRyICpsc3QpIHsKKyAgICB4bWxQYXJzZXJDdHh0UHRyIGN0eHQ7CisgICAgeG1sRG9jUHRyIG5ld0RvYyA9IE5VTEw7CisgICAgeG1sTm9kZVB0ciBuZXdSb290OworICAgIHhtbFNBWEhhbmRsZXJQdHIgb2xkc2F4ID0gTlVMTDsKKyAgICB4bWxOb2RlUHRyIGNvbnRlbnQgPSBOVUxMOworICAgIHhtbE5vZGVQdHIgbGFzdCA9IE5VTEw7CisgICAgaW50IHNpemU7CisgICAgeG1sUGFyc2VyRXJyb3JzIHJldCA9IFhNTF9FUlJfT0s7CisjaWZkZWYgU0FYMgorICAgIGludCBpOworI2VuZGlmCisKKyAgICBpZiAoKChvbGRjdHh0LT5kZXB0aCA+IDQwKSAmJiAoKG9sZGN0eHQtPm9wdGlvbnMgJiBYTUxfUEFSU0VfSFVHRSkgPT0gMCkpIHx8CisgICAgICAgIChvbGRjdHh0LT5kZXB0aCA+ICAxMDI0KSkgeworCXJldHVybihYTUxfRVJSX0VOVElUWV9MT09QKTsKKyAgICB9CisKKworICAgIGlmIChsc3QgIT0gTlVMTCkKKyAgICAgICAgKmxzdCA9IE5VTEw7CisgICAgaWYgKHN0cmluZyA9PSBOVUxMKQorICAgICAgICByZXR1cm4oWE1MX0VSUl9JTlRFUk5BTF9FUlJPUik7CisKKyAgICBzaXplID0geG1sU3RybGVuKHN0cmluZyk7CisKKyAgICBjdHh0ID0geG1sQ3JlYXRlTWVtb3J5UGFyc2VyQ3R4dCgoY2hhciAqKSBzdHJpbmcsIHNpemUpOworICAgIGlmIChjdHh0ID09IE5VTEwpIHJldHVybihYTUxfV0FSX1VOREVDTEFSRURfRU5USVRZKTsKKyAgICBpZiAodXNlcl9kYXRhICE9IE5VTEwpCisJY3R4dC0+dXNlckRhdGEgPSB1c2VyX2RhdGE7CisgICAgZWxzZQorCWN0eHQtPnVzZXJEYXRhID0gY3R4dDsKKyAgICBpZiAoY3R4dC0+ZGljdCAhPSBOVUxMKSB4bWxEaWN0RnJlZShjdHh0LT5kaWN0KTsKKyAgICBjdHh0LT5kaWN0ID0gb2xkY3R4dC0+ZGljdDsKKyAgICBjdHh0LT5zdHJfeG1sID0geG1sRGljdExvb2t1cChjdHh0LT5kaWN0LCBCQURfQ0FTVCAieG1sIiwgMyk7CisgICAgY3R4dC0+c3RyX3htbG5zID0geG1sRGljdExvb2t1cChjdHh0LT5kaWN0LCBCQURfQ0FTVCAieG1sbnMiLCA1KTsKKyAgICBjdHh0LT5zdHJfeG1sX25zID0geG1sRGljdExvb2t1cChjdHh0LT5kaWN0LCBYTUxfWE1MX05BTUVTUEFDRSwgMzYpOworCisjaWZkZWYgU0FYMgorICAgIC8qIHByb3BhZ2F0ZSBuYW1lc3BhY2VzIGRvd24gdGhlIGVudGl0eSAqLworICAgIGZvciAoaSA9IDA7aSA8IG9sZGN0eHQtPm5zTnI7aSArPSAyKSB7CisgICAgICAgIG5zUHVzaChjdHh0LCBvbGRjdHh0LT5uc1RhYltpXSwgb2xkY3R4dC0+bnNUYWJbaSsxXSk7CisgICAgfQorI2VuZGlmCisKKyAgICBvbGRzYXggPSBjdHh0LT5zYXg7CisgICAgY3R4dC0+c2F4ID0gb2xkY3R4dC0+c2F4OworICAgIHhtbERldGVjdFNBWDIoY3R4dCk7CisgICAgY3R4dC0+cmVwbGFjZUVudGl0aWVzID0gb2xkY3R4dC0+cmVwbGFjZUVudGl0aWVzOworICAgIGN0eHQtPm9wdGlvbnMgPSBvbGRjdHh0LT5vcHRpb25zOworCisgICAgY3R4dC0+X3ByaXZhdGUgPSBvbGRjdHh0LT5fcHJpdmF0ZTsKKyAgICBpZiAob2xkY3R4dC0+bXlEb2MgPT0gTlVMTCkgeworCW5ld0RvYyA9IHhtbE5ld0RvYyhCQURfQ0FTVCAiMS4wIik7CisJaWYgKG5ld0RvYyA9PSBOVUxMKSB7CisJICAgIGN0eHQtPnNheCA9IG9sZHNheDsKKwkgICAgY3R4dC0+ZGljdCA9IE5VTEw7CisJICAgIHhtbEZyZWVQYXJzZXJDdHh0KGN0eHQpOworCSAgICByZXR1cm4oWE1MX0VSUl9JTlRFUk5BTF9FUlJPUik7CisJfQorCW5ld0RvYy0+cHJvcGVydGllcyA9IFhNTF9ET0NfSU5URVJOQUw7CisJbmV3RG9jLT5kaWN0ID0gY3R4dC0+ZGljdDsKKwl4bWxEaWN0UmVmZXJlbmNlKG5ld0RvYy0+ZGljdCk7CisJY3R4dC0+bXlEb2MgPSBuZXdEb2M7CisgICAgfSBlbHNlIHsKKwljdHh0LT5teURvYyA9IG9sZGN0eHQtPm15RG9jOworICAgICAgICBjb250ZW50ID0gY3R4dC0+bXlEb2MtPmNoaWxkcmVuOworCWxhc3QgPSBjdHh0LT5teURvYy0+bGFzdDsKKyAgICB9CisgICAgbmV3Um9vdCA9IHhtbE5ld0RvY05vZGUoY3R4dC0+bXlEb2MsIE5VTEwsIEJBRF9DQVNUICJwc2V1ZG9yb290IiwgTlVMTCk7CisgICAgaWYgKG5ld1Jvb3QgPT0gTlVMTCkgeworCWN0eHQtPnNheCA9IG9sZHNheDsKKwljdHh0LT5kaWN0ID0gTlVMTDsKKwl4bWxGcmVlUGFyc2VyQ3R4dChjdHh0KTsKKwlpZiAobmV3RG9jICE9IE5VTEwpIHsKKwkgICAgeG1sRnJlZURvYyhuZXdEb2MpOworCX0KKwlyZXR1cm4oWE1MX0VSUl9JTlRFUk5BTF9FUlJPUik7CisgICAgfQorICAgIGN0eHQtPm15RG9jLT5jaGlsZHJlbiA9IE5VTEw7CisgICAgY3R4dC0+bXlEb2MtPmxhc3QgPSBOVUxMOworICAgIHhtbEFkZENoaWxkKCh4bWxOb2RlUHRyKSBjdHh0LT5teURvYywgbmV3Um9vdCk7CisgICAgbm9kZVB1c2goY3R4dCwgY3R4dC0+bXlEb2MtPmNoaWxkcmVuKTsKKyAgICBjdHh0LT5pbnN0YXRlID0gWE1MX1BBUlNFUl9DT05URU5UOworICAgIGN0eHQtPmRlcHRoID0gb2xkY3R4dC0+ZGVwdGggKyAxOworCisgICAgY3R4dC0+dmFsaWRhdGUgPSAwOworICAgIGN0eHQtPmxvYWRzdWJzZXQgPSBvbGRjdHh0LT5sb2Fkc3Vic2V0OworICAgIGlmICgob2xkY3R4dC0+dmFsaWRhdGUpIHx8IChvbGRjdHh0LT5yZXBsYWNlRW50aXRpZXMgIT0gMCkpIHsKKwkvKgorCSAqIElEL0lEUkVGIHJlZ2lzdHJhdGlvbiB3aWxsIGJlIGRvbmUgaW4geG1sVmFsaWRhdGVFbGVtZW50IGJlbG93CisJICovCisJY3R4dC0+bG9hZHN1YnNldCB8PSBYTUxfU0tJUF9JRFM7CisgICAgfQorICAgIGN0eHQtPmRpY3ROYW1lcyA9IG9sZGN0eHQtPmRpY3ROYW1lczsKKyAgICBjdHh0LT5hdHRzRGVmYXVsdCA9IG9sZGN0eHQtPmF0dHNEZWZhdWx0OworICAgIGN0eHQtPmF0dHNTcGVjaWFsID0gb2xkY3R4dC0+YXR0c1NwZWNpYWw7CisKKyAgICB4bWxQYXJzZUNvbnRlbnQoY3R4dCk7CisgICAgaWYgKChSQVcgPT0gJzwnKSAmJiAoTlhUKDEpID09ICcvJykpIHsKKwl4bWxGYXRhbEVycihjdHh0LCBYTUxfRVJSX05PVF9XRUxMX0JBTEFOQ0VELCBOVUxMKTsKKyAgICB9IGVsc2UgaWYgKFJBVyAhPSAwKSB7CisJeG1sRmF0YWxFcnIoY3R4dCwgWE1MX0VSUl9FWFRSQV9DT05URU5ULCBOVUxMKTsKKyAgICB9CisgICAgaWYgKGN0eHQtPm5vZGUgIT0gY3R4dC0+bXlEb2MtPmNoaWxkcmVuKSB7CisJeG1sRmF0YWxFcnIoY3R4dCwgWE1MX0VSUl9OT1RfV0VMTF9CQUxBTkNFRCwgTlVMTCk7CisgICAgfQorCisgICAgaWYgKCFjdHh0LT53ZWxsRm9ybWVkKSB7CisgICAgICAgIGlmIChjdHh0LT5lcnJObyA9PSAwKQorCSAgICByZXQgPSBYTUxfRVJSX0lOVEVSTkFMX0VSUk9SOworCWVsc2UKKwkgICAgcmV0ID0gKHhtbFBhcnNlckVycm9ycyljdHh0LT5lcnJObzsKKyAgICB9IGVsc2UgeworICAgICAgcmV0ID0gWE1MX0VSUl9PSzsKKyAgICB9CisKKyAgICBpZiAoKGxzdCAhPSBOVUxMKSAmJiAocmV0ID09IFhNTF9FUlJfT0spKSB7CisJeG1sTm9kZVB0ciBjdXI7CisKKwkvKgorCSAqIFJldHVybiB0aGUgbmV3bHkgY3JlYXRlZCBub2Rlc2V0IGFmdGVyIHVubGlua2luZyBpdCBmcm9tCisJICogdGhleSBwc2V1ZG8gcGFyZW50LgorCSAqLworCWN1ciA9IGN0eHQtPm15RG9jLT5jaGlsZHJlbi0+Y2hpbGRyZW47CisJKmxzdCA9IGN1cjsKKwl3aGlsZSAoY3VyICE9IE5VTEwpIHsKKyNpZmRlZiBMSUJYTUxfVkFMSURfRU5BQkxFRAorCSAgICBpZiAoKG9sZGN0eHQtPnZhbGlkYXRlKSAmJiAob2xkY3R4dC0+d2VsbEZvcm1lZCkgJiYKKwkJKG9sZGN0eHQtPm15RG9jKSAmJiAob2xkY3R4dC0+bXlEb2MtPmludFN1YnNldCkgJiYKKwkJKGN1ci0+dHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFKSkgeworCQlvbGRjdHh0LT52YWxpZCAmPSB4bWxWYWxpZGF0ZUVsZW1lbnQoJm9sZGN0eHQtPnZjdHh0LAorCQkJb2xkY3R4dC0+bXlEb2MsIGN1cik7CisJICAgIH0KKyNlbmRpZiAvKiBMSUJYTUxfVkFMSURfRU5BQkxFRCAqLworCSAgICBjdXItPnBhcmVudCA9IE5VTEw7CisJICAgIGN1ciA9IGN1ci0+bmV4dDsKKwl9CisJY3R4dC0+bXlEb2MtPmNoaWxkcmVuLT5jaGlsZHJlbiA9IE5VTEw7CisgICAgfQorICAgIGlmIChjdHh0LT5teURvYyAhPSBOVUxMKSB7CisJeG1sRnJlZU5vZGUoY3R4dC0+bXlEb2MtPmNoaWxkcmVuKTsKKyAgICAgICAgY3R4dC0+bXlEb2MtPmNoaWxkcmVuID0gY29udGVudDsKKyAgICAgICAgY3R4dC0+bXlEb2MtPmxhc3QgPSBsYXN0OworICAgIH0KKworICAgIC8qCisgICAgICogUmVjb3JkIGluIHRoZSBwYXJlbnQgY29udGV4dCB0aGUgbnVtYmVyIG9mIGVudGl0aWVzIHJlcGxhY2VtZW50CisgICAgICogZG9uZSB3aGVuIHBhcnNpbmcgdGhhdCByZWZlcmVuY2UuCisgICAgICovCisgICAgaWYgKG9sZGN0eHQgIT0gTlVMTCkKKyAgICAgICAgb2xkY3R4dC0+bmJlbnRpdGllcyArPSBjdHh0LT5uYmVudGl0aWVzOworCisgICAgLyoKKyAgICAgKiBBbHNvIHJlY29yZCB0aGUgbGFzdCBlcnJvciBpZiBhbnkKKyAgICAgKi8KKyAgICBpZiAoY3R4dC0+bGFzdEVycm9yLmNvZGUgIT0gWE1MX0VSUl9PSykKKyAgICAgICAgeG1sQ29weUVycm9yKCZjdHh0LT5sYXN0RXJyb3IsICZvbGRjdHh0LT5sYXN0RXJyb3IpOworCisgICAgY3R4dC0+c2F4ID0gb2xkc2F4OworICAgIGN0eHQtPmRpY3QgPSBOVUxMOworICAgIGN0eHQtPmF0dHNEZWZhdWx0ID0gTlVMTDsKKyAgICBjdHh0LT5hdHRzU3BlY2lhbCA9IE5VTEw7CisgICAgeG1sRnJlZVBhcnNlckN0eHQoY3R4dCk7CisgICAgaWYgKG5ld0RvYyAhPSBOVUxMKSB7CisJeG1sRnJlZURvYyhuZXdEb2MpOworICAgIH0KKworICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbFBhcnNlSW5Ob2RlQ29udGV4dDoKKyAqIEBub2RlOiAgdGhlIGNvbnRleHQgbm9kZQorICogQGRhdGE6ICB0aGUgaW5wdXQgc3RyaW5nCisgKiBAZGF0YWxlbjogIHRoZSBpbnB1dCBzdHJpbmcgbGVuZ3RoIGluIGJ5dGVzCisgKiBAb3B0aW9uczogIGEgY29tYmluYXRpb24gb2YgeG1sUGFyc2VyT3B0aW9uCisgKiBAbHN0OiAgdGhlIHJldHVybiB2YWx1ZSBmb3IgdGhlIHNldCBvZiBwYXJzZWQgbm9kZXMKKyAqCisgKiBQYXJzZSBhIHdlbGwtYmFsYW5jZWQgY2h1bmsgb2YgYW4gWE1MIGRvY3VtZW50CisgKiB3aXRoaW4gdGhlIGNvbnRleHQgKERURCwgbmFtZXNwYWNlcywgZXRjIC4uLikgb2YgdGhlIGdpdmVuIG5vZGUuCisgKgorICogVGhlIGFsbG93ZWQgc2VxdWVuY2UgZm9yIHRoZSBkYXRhIGlzIGEgV2VsbCBCYWxhbmNlZCBDaHVuayBkZWZpbmVkIGJ5CisgKiB0aGUgY29udGVudCBwcm9kdWN0aW9uIGluIHRoZSBYTUwgZ3JhbW1hcjoKKyAqCisgKiBbNDNdIGNvbnRlbnQgOjo9IChlbGVtZW50IHwgQ2hhckRhdGEgfCBSZWZlcmVuY2UgfCBDRFNlY3QgfCBQSSB8IENvbW1lbnQpKgorICoKKyAqIFJldHVybnMgWE1MX0VSUl9PSyBpZiB0aGUgY2h1bmsgaXMgd2VsbCBiYWxhbmNlZCwgYW5kIHRoZSBwYXJzZXIKKyAqIGVycm9yIGNvZGUgb3RoZXJ3aXNlCisgKi8KK3htbFBhcnNlckVycm9ycworeG1sUGFyc2VJbk5vZGVDb250ZXh0KHhtbE5vZGVQdHIgbm9kZSwgY29uc3QgY2hhciAqZGF0YSwgaW50IGRhdGFsZW4sCisgICAgICAgICAgICAgICAgICAgICAgaW50IG9wdGlvbnMsIHhtbE5vZGVQdHIgKmxzdCkgeworI2lmZGVmIFNBWDIKKyAgICB4bWxQYXJzZXJDdHh0UHRyIGN0eHQ7CisgICAgeG1sRG9jUHRyIGRvYyA9IE5VTEw7CisgICAgeG1sTm9kZVB0ciBmYWtlLCBjdXI7CisgICAgaW50IG5zbnIgPSAwOworCisgICAgeG1sUGFyc2VyRXJyb3JzIHJldCA9IFhNTF9FUlJfT0s7CisKKyAgICAvKgorICAgICAqIGNoZWNrIGFsbCBpbnB1dCBwYXJhbWV0ZXJzLCBncmFiIHRoZSBkb2N1bWVudAorICAgICAqLworICAgIGlmICgobHN0ID09IE5VTEwpIHx8IChub2RlID09IE5VTEwpIHx8IChkYXRhID09IE5VTEwpIHx8IChkYXRhbGVuIDwgMCkpCisgICAgICAgIHJldHVybihYTUxfRVJSX0lOVEVSTkFMX0VSUk9SKTsKKyAgICBzd2l0Y2ggKG5vZGUtPnR5cGUpIHsKKyAgICAgICAgY2FzZSBYTUxfRUxFTUVOVF9OT0RFOgorICAgICAgICBjYXNlIFhNTF9BVFRSSUJVVEVfTk9ERToKKyAgICAgICAgY2FzZSBYTUxfVEVYVF9OT0RFOgorICAgICAgICBjYXNlIFhNTF9DREFUQV9TRUNUSU9OX05PREU6CisgICAgICAgIGNhc2UgWE1MX0VOVElUWV9SRUZfTk9ERToKKyAgICAgICAgY2FzZSBYTUxfUElfTk9ERToKKyAgICAgICAgY2FzZSBYTUxfQ09NTUVOVF9OT0RFOgorICAgICAgICBjYXNlIFhNTF9ET0NVTUVOVF9OT0RFOgorICAgICAgICBjYXNlIFhNTF9IVE1MX0RPQ1VNRU5UX05PREU6CisJICAgIGJyZWFrOworCWRlZmF1bHQ6CisJICAgIHJldHVybihYTUxfRVJSX0lOVEVSTkFMX0VSUk9SKTsKKworICAgIH0KKyAgICB3aGlsZSAoKG5vZGUgIT0gTlVMTCkgJiYgKG5vZGUtPnR5cGUgIT0gWE1MX0VMRU1FTlRfTk9ERSkgJiYKKyAgICAgICAgICAgKG5vZGUtPnR5cGUgIT0gWE1MX0RPQ1VNRU5UX05PREUpICYmCisJICAgKG5vZGUtPnR5cGUgIT0gWE1MX0hUTUxfRE9DVU1FTlRfTk9ERSkpCisJbm9kZSA9IG5vZGUtPnBhcmVudDsKKyAgICBpZiAobm9kZSA9PSBOVUxMKQorCXJldHVybihYTUxfRVJSX0lOVEVSTkFMX0VSUk9SKTsKKyAgICBpZiAobm9kZS0+dHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFKQorCWRvYyA9IG5vZGUtPmRvYzsKKyAgICBlbHNlCisgICAgICAgIGRvYyA9ICh4bWxEb2NQdHIpIG5vZGU7CisgICAgaWYgKGRvYyA9PSBOVUxMKQorCXJldHVybihYTUxfRVJSX0lOVEVSTkFMX0VSUk9SKTsKKworICAgIC8qCisgICAgICogYWxsb2NhdGUgYSBjb250ZXh0IGFuZCBzZXQtdXAgZXZlcnl0aGluZyBub3QgcmVsYXRlZCB0byB0aGUKKyAgICAgKiBub2RlIHBvc2l0aW9uIGluIHRoZSB0cmVlCisgICAgICovCisgICAgaWYgKGRvYy0+dHlwZSA9PSBYTUxfRE9DVU1FTlRfTk9ERSkKKwljdHh0ID0geG1sQ3JlYXRlTWVtb3J5UGFyc2VyQ3R4dCgoY2hhciAqKSBkYXRhLCBkYXRhbGVuKTsKKyNpZmRlZiBMSUJYTUxfSFRNTF9FTkFCTEVECisgICAgZWxzZSBpZiAoZG9jLT50eXBlID09IFhNTF9IVE1MX0RPQ1VNRU5UX05PREUpIHsKKwljdHh0ID0gaHRtbENyZWF0ZU1lbW9yeVBhcnNlckN0eHQoKGNoYXIgKikgZGF0YSwgZGF0YWxlbik7CisgICAgICAgIC8qCisgICAgICAgICAqIFdoZW4gcGFyc2luZyBpbiBjb250ZXh0LCBpdCBtYWtlcyBubyBzZW5zZSB0byBhZGQgaW1wbGllZAorICAgICAgICAgKiBlbGVtZW50cyBsaWtlIGh0bWwvYm9keS9ldGMuLi4KKyAgICAgICAgICovCisgICAgICAgIG9wdGlvbnMgfD0gSFRNTF9QQVJTRV9OT0lNUExJRUQ7CisgICAgfQorI2VuZGlmCisgICAgZWxzZQorICAgICAgICByZXR1cm4oWE1MX0VSUl9JTlRFUk5BTF9FUlJPUik7CisKKyAgICBpZiAoY3R4dCA9PSBOVUxMKQorICAgICAgICByZXR1cm4oWE1MX0VSUl9OT19NRU1PUlkpOworCisgICAgLyoKKyAgICAgKiBVc2UgaW5wdXQgZG9jJ3MgZGljdCBpZiBwcmVzZW50LCBlbHNlIGFzc3VyZSBYTUxfUEFSU0VfTk9ESUNUIGlzIHNldC4KKyAgICAgKiBXZSBuZWVkIGEgZGljdGlvbmFyeSBmb3IgeG1sRGV0ZWN0U0FYMiwgc28gaWYgdGhlcmUncyBubyBkb2MgZGljdAorICAgICAqIHdlIG11c3Qgd2FpdCB1bnRpbCB0aGUgbGFzdCBtb21lbnQgdG8gZnJlZSB0aGUgb3JpZ2luYWwgb25lLgorICAgICAqLworICAgIGlmIChkb2MtPmRpY3QgIT0gTlVMTCkgeworICAgICAgICBpZiAoY3R4dC0+ZGljdCAhPSBOVUxMKQorCSAgICB4bWxEaWN0RnJlZShjdHh0LT5kaWN0KTsKKwljdHh0LT5kaWN0ID0gZG9jLT5kaWN0OworICAgIH0gZWxzZQorICAgICAgICBvcHRpb25zIHw9IFhNTF9QQVJTRV9OT0RJQ1Q7CisKKyAgICBpZiAoZG9jLT5lbmNvZGluZyAhPSBOVUxMKSB7CisgICAgICAgIHhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIgaGRscjsKKworICAgICAgICBpZiAoY3R4dC0+ZW5jb2RpbmcgIT0gTlVMTCkKKwkgICAgeG1sRnJlZSgoeG1sQ2hhciAqKSBjdHh0LT5lbmNvZGluZyk7CisgICAgICAgIGN0eHQtPmVuY29kaW5nID0geG1sU3RyZHVwKChjb25zdCB4bWxDaGFyICopIGRvYy0+ZW5jb2RpbmcpOworCisgICAgICAgIGhkbHIgPSB4bWxGaW5kQ2hhckVuY29kaW5nSGFuZGxlcigoY29uc3QgY2hhciAqKSBkb2MtPmVuY29kaW5nKTsKKyAgICAgICAgaWYgKGhkbHIgIT0gTlVMTCkgeworICAgICAgICAgICAgeG1sU3dpdGNoVG9FbmNvZGluZyhjdHh0LCBoZGxyKTsKKwl9IGVsc2UgeworICAgICAgICAgICAgcmV0dXJuKFhNTF9FUlJfVU5TVVBQT1JURURfRU5DT0RJTkcpOworICAgICAgICB9CisgICAgfQorCisgICAgeG1sQ3R4dFVzZU9wdGlvbnNJbnRlcm5hbChjdHh0LCBvcHRpb25zLCBOVUxMKTsKKyAgICB4bWxEZXRlY3RTQVgyKGN0eHQpOworICAgIGN0eHQtPm15RG9jID0gZG9jOworICAgIC8qIHBhcnNpbmcgaW4gY29udGV4dCwgaS5lLiBhcyB3aXRoaW4gZXhpc3RpbmcgY29udGVudCAqLworICAgIGN0eHQtPmluc3RhdGUgPSBYTUxfUEFSU0VSX0NPTlRFTlQ7CisKKyAgICBmYWtlID0geG1sTmV3Q29tbWVudChOVUxMKTsKKyAgICBpZiAoZmFrZSA9PSBOVUxMKSB7CisgICAgICAgIHhtbEZyZWVQYXJzZXJDdHh0KGN0eHQpOworCXJldHVybihYTUxfRVJSX05PX01FTU9SWSk7CisgICAgfQorICAgIHhtbEFkZENoaWxkKG5vZGUsIGZha2UpOworCisgICAgaWYgKG5vZGUtPnR5cGUgPT0gWE1MX0VMRU1FTlRfTk9ERSkgeworCW5vZGVQdXNoKGN0eHQsIG5vZGUpOworCS8qCisJICogaW5pdGlhbGl6ZSB0aGUgU0FYMiBuYW1lc3BhY2VzIHN0YWNrCisJICovCisJY3VyID0gbm9kZTsKKwl3aGlsZSAoKGN1ciAhPSBOVUxMKSAmJiAoY3VyLT50eXBlID09IFhNTF9FTEVNRU5UX05PREUpKSB7CisJICAgIHhtbE5zUHRyIG5zID0gY3VyLT5uc0RlZjsKKwkgICAgY29uc3QgeG1sQ2hhciAqaXByZWZpeCwgKmlocmVmOworCisJICAgIHdoaWxlIChucyAhPSBOVUxMKSB7CisJCWlmIChjdHh0LT5kaWN0KSB7CisJCSAgICBpcHJlZml4ID0geG1sRGljdExvb2t1cChjdHh0LT5kaWN0LCBucy0+cHJlZml4LCAtMSk7CisJCSAgICBpaHJlZiA9IHhtbERpY3RMb29rdXAoY3R4dC0+ZGljdCwgbnMtPmhyZWYsIC0xKTsKKwkJfSBlbHNlIHsKKwkJICAgIGlwcmVmaXggPSBucy0+cHJlZml4OworCQkgICAgaWhyZWYgPSBucy0+aHJlZjsKKwkJfQorCisJICAgICAgICBpZiAoeG1sR2V0TmFtZXNwYWNlKGN0eHQsIGlwcmVmaXgpID09IE5VTEwpIHsKKwkJICAgIG5zUHVzaChjdHh0LCBpcHJlZml4LCBpaHJlZik7CisJCSAgICBuc25yKys7CisJCX0KKwkJbnMgPSBucy0+bmV4dDsKKwkgICAgfQorCSAgICBjdXIgPSBjdXItPnBhcmVudDsKKwl9CisgICAgfQorCisgICAgaWYgKChjdHh0LT52YWxpZGF0ZSkgfHwgKGN0eHQtPnJlcGxhY2VFbnRpdGllcyAhPSAwKSkgeworCS8qCisJICogSUQvSURSRUYgcmVnaXN0cmF0aW9uIHdpbGwgYmUgZG9uZSBpbiB4bWxWYWxpZGF0ZUVsZW1lbnQgYmVsb3cKKwkgKi8KKwljdHh0LT5sb2Fkc3Vic2V0IHw9IFhNTF9TS0lQX0lEUzsKKyAgICB9CisKKyNpZmRlZiBMSUJYTUxfSFRNTF9FTkFCTEVECisgICAgaWYgKGRvYy0+dHlwZSA9PSBYTUxfSFRNTF9ET0NVTUVOVF9OT0RFKQorICAgICAgICBfX2h0bWxQYXJzZUNvbnRlbnQoY3R4dCk7CisgICAgZWxzZQorI2VuZGlmCisJeG1sUGFyc2VDb250ZW50KGN0eHQpOworCisgICAgbnNQb3AoY3R4dCwgbnNucik7CisgICAgaWYgKChSQVcgPT0gJzwnKSAmJiAoTlhUKDEpID09ICcvJykpIHsKKwl4bWxGYXRhbEVycihjdHh0LCBYTUxfRVJSX05PVF9XRUxMX0JBTEFOQ0VELCBOVUxMKTsKKyAgICB9IGVsc2UgaWYgKFJBVyAhPSAwKSB7CisJeG1sRmF0YWxFcnIoY3R4dCwgWE1MX0VSUl9FWFRSQV9DT05URU5ULCBOVUxMKTsKKyAgICB9CisgICAgaWYgKChjdHh0LT5ub2RlICE9IE5VTEwpICYmIChjdHh0LT5ub2RlICE9IG5vZGUpKSB7CisJeG1sRmF0YWxFcnIoY3R4dCwgWE1MX0VSUl9OT1RfV0VMTF9CQUxBTkNFRCwgTlVMTCk7CisJY3R4dC0+d2VsbEZvcm1lZCA9IDA7CisgICAgfQorCisgICAgaWYgKCFjdHh0LT53ZWxsRm9ybWVkKSB7CisgICAgICAgIGlmIChjdHh0LT5lcnJObyA9PSAwKQorCSAgICByZXQgPSBYTUxfRVJSX0lOVEVSTkFMX0VSUk9SOworCWVsc2UKKwkgICAgcmV0ID0gKHhtbFBhcnNlckVycm9ycyljdHh0LT5lcnJObzsKKyAgICB9IGVsc2UgeworICAgICAgICByZXQgPSBYTUxfRVJSX09LOworICAgIH0KKworICAgIC8qCisgICAgICogUmV0dXJuIHRoZSBuZXdseSBjcmVhdGVkIG5vZGVzZXQgYWZ0ZXIgdW5saW5raW5nIGl0IGZyb20KKyAgICAgKiB0aGUgcHNldWRvIHNpYmxpbmcuCisgICAgICovCisKKyAgICBjdXIgPSBmYWtlLT5uZXh0OworICAgIGZha2UtPm5leHQgPSBOVUxMOworICAgIG5vZGUtPmxhc3QgPSBmYWtlOworCisgICAgaWYgKGN1ciAhPSBOVUxMKSB7CisJY3VyLT5wcmV2ID0gTlVMTDsKKyAgICB9CisKKyAgICAqbHN0ID0gY3VyOworCisgICAgd2hpbGUgKGN1ciAhPSBOVUxMKSB7CisJY3VyLT5wYXJlbnQgPSBOVUxMOworCWN1ciA9IGN1ci0+bmV4dDsKKyAgICB9CisKKyAgICB4bWxVbmxpbmtOb2RlKGZha2UpOworICAgIHhtbEZyZWVOb2RlKGZha2UpOworCisKKyAgICBpZiAocmV0ICE9IFhNTF9FUlJfT0spIHsKKyAgICAgICAgeG1sRnJlZU5vZGVMaXN0KCpsc3QpOworCSpsc3QgPSBOVUxMOworICAgIH0KKworICAgIGlmIChkb2MtPmRpY3QgIT0gTlVMTCkKKyAgICAgICAgY3R4dC0+ZGljdCA9IE5VTEw7CisgICAgeG1sRnJlZVBhcnNlckN0eHQoY3R4dCk7CisKKyAgICByZXR1cm4ocmV0KTsKKyNlbHNlIC8qICFTQVgyICovCisgICAgcmV0dXJuKFhNTF9FUlJfSU5URVJOQUxfRVJST1IpOworI2VuZGlmCit9CisKKyNpZmRlZiBMSUJYTUxfU0FYMV9FTkFCTEVECisvKioKKyAqIHhtbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXI6CisgKiBAZG9jOiAgdGhlIGRvY3VtZW50IHRoZSBjaHVuayBwZXJ0YWlucyB0bworICogQHNheDogIHRoZSBTQVggaGFuZGxlciBibG9jIChwb3NzaWJseSBOVUxMKQorICogQHVzZXJfZGF0YTogIFRoZSB1c2VyIGRhdGEgcmV0dXJuZWQgb24gU0FYIGNhbGxiYWNrcyAocG9zc2libHkgTlVMTCkKKyAqIEBkZXB0aDogIFVzZWQgZm9yIGxvb3AgZGV0ZWN0aW9uLCB1c2UgMAorICogQHN0cmluZzogIHRoZSBpbnB1dCBzdHJpbmcgaW4gVVRGOCBvciBJU08tTGF0aW4gKHplcm8gdGVybWluYXRlZCkKKyAqIEBsc3Q6ICB0aGUgcmV0dXJuIHZhbHVlIGZvciB0aGUgc2V0IG9mIHBhcnNlZCBub2RlcworICogQHJlY292ZXI6IHJldHVybiBub2RlcyBldmVuIGlmIHRoZSBkYXRhIGlzIGJyb2tlbiAodXNlIDApCisgKgorICoKKyAqIFBhcnNlIGEgd2VsbC1iYWxhbmNlZCBjaHVuayBvZiBhbiBYTUwgZG9jdW1lbnQKKyAqIGNhbGxlZCBieSB0aGUgcGFyc2VyCisgKiBUaGUgYWxsb3dlZCBzZXF1ZW5jZSBmb3IgdGhlIFdlbGwgQmFsYW5jZWQgQ2h1bmsgaXMgdGhlIG9uZSBkZWZpbmVkIGJ5CisgKiB0aGUgY29udGVudCBwcm9kdWN0aW9uIGluIHRoZSBYTUwgZ3JhbW1hcjoKKyAqCisgKiBbNDNdIGNvbnRlbnQgOjo9IChlbGVtZW50IHwgQ2hhckRhdGEgfCBSZWZlcmVuY2UgfCBDRFNlY3QgfCBQSSB8IENvbW1lbnQpKgorICoKKyAqIFJldHVybnMgMCBpZiB0aGUgY2h1bmsgaXMgd2VsbCBiYWxhbmNlZCwgLTEgaW4gY2FzZSBvZiBhcmdzIHByb2JsZW0gYW5kCisgKiAgICB0aGUgcGFyc2VyIGVycm9yIGNvZGUgb3RoZXJ3aXNlCisgKgorICogSW4gY2FzZSByZWNvdmVyIGlzIHNldCB0byAxLCB0aGUgbm9kZWxpc3Qgd2lsbCBub3QgYmUgZW1wdHkgZXZlbiBpZgorICogdGhlIHBhcnNlZCBjaHVuayBpcyBub3Qgd2VsbCBiYWxhbmNlZCwgYXNzdW1pbmcgdGhlIHBhcnNpbmcgc3VjY2VlZGVkIHRvCisgKiBzb21lIGV4dGVudC4KKyAqLworaW50Cit4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlSZWNvdmVyKHhtbERvY1B0ciBkb2MsIHhtbFNBWEhhbmRsZXJQdHIgc2F4LAorICAgICB2b2lkICp1c2VyX2RhdGEsIGludCBkZXB0aCwgY29uc3QgeG1sQ2hhciAqc3RyaW5nLCB4bWxOb2RlUHRyICpsc3QsCisgICAgIGludCByZWNvdmVyKSB7CisgICAgeG1sUGFyc2VyQ3R4dFB0ciBjdHh0OworICAgIHhtbERvY1B0ciBuZXdEb2M7CisgICAgeG1sU0FYSGFuZGxlclB0ciBvbGRzYXggPSBOVUxMOworICAgIHhtbE5vZGVQdHIgY29udGVudCwgbmV3Um9vdDsKKyAgICBpbnQgc2l6ZTsKKyAgICBpbnQgcmV0ID0gMDsKKworICAgIGlmIChkZXB0aCA+IDQwKSB7CisJcmV0dXJuKFhNTF9FUlJfRU5USVRZX0xPT1ApOworICAgIH0KKworCisgICAgaWYgKGxzdCAhPSBOVUxMKQorICAgICAgICAqbHN0ID0gTlVMTDsKKyAgICBpZiAoc3RyaW5nID09IE5VTEwpCisgICAgICAgIHJldHVybigtMSk7CisKKyAgICBzaXplID0geG1sU3RybGVuKHN0cmluZyk7CisKKyAgICBjdHh0ID0geG1sQ3JlYXRlTWVtb3J5UGFyc2VyQ3R4dCgoY2hhciAqKSBzdHJpbmcsIHNpemUpOworICAgIGlmIChjdHh0ID09IE5VTEwpIHJldHVybigtMSk7CisgICAgY3R4dC0+dXNlckRhdGEgPSBjdHh0OworICAgIGlmIChzYXggIT0gTlVMTCkgeworCW9sZHNheCA9IGN0eHQtPnNheDsKKyAgICAgICAgY3R4dC0+c2F4ID0gc2F4OworCWlmICh1c2VyX2RhdGEgIT0gTlVMTCkKKwkgICAgY3R4dC0+dXNlckRhdGEgPSB1c2VyX2RhdGE7CisgICAgfQorICAgIG5ld0RvYyA9IHhtbE5ld0RvYyhCQURfQ0FTVCAiMS4wIik7CisgICAgaWYgKG5ld0RvYyA9PSBOVUxMKSB7CisJeG1sRnJlZVBhcnNlckN0eHQoY3R4dCk7CisJcmV0dXJuKC0xKTsKKyAgICB9CisgICAgbmV3RG9jLT5wcm9wZXJ0aWVzID0gWE1MX0RPQ19JTlRFUk5BTDsKKyAgICBpZiAoKGRvYyAhPSBOVUxMKSAmJiAoZG9jLT5kaWN0ICE9IE5VTEwpKSB7CisgICAgICAgIHhtbERpY3RGcmVlKGN0eHQtPmRpY3QpOworCWN0eHQtPmRpY3QgPSBkb2MtPmRpY3Q7CisJeG1sRGljdFJlZmVyZW5jZShjdHh0LT5kaWN0KTsKKwljdHh0LT5zdHJfeG1sID0geG1sRGljdExvb2t1cChjdHh0LT5kaWN0LCBCQURfQ0FTVCAieG1sIiwgMyk7CisJY3R4dC0+c3RyX3htbG5zID0geG1sRGljdExvb2t1cChjdHh0LT5kaWN0LCBCQURfQ0FTVCAieG1sbnMiLCA1KTsKKwljdHh0LT5zdHJfeG1sX25zID0geG1sRGljdExvb2t1cChjdHh0LT5kaWN0LCBYTUxfWE1MX05BTUVTUEFDRSwgMzYpOworCWN0eHQtPmRpY3ROYW1lcyA9IDE7CisgICAgfSBlbHNlIHsKKwl4bWxDdHh0VXNlT3B0aW9uc0ludGVybmFsKGN0eHQsIFhNTF9QQVJTRV9OT0RJQ1QsIE5VTEwpOworICAgIH0KKyAgICBpZiAoZG9jICE9IE5VTEwpIHsKKwluZXdEb2MtPmludFN1YnNldCA9IGRvYy0+aW50U3Vic2V0OworCW5ld0RvYy0+ZXh0U3Vic2V0ID0gZG9jLT5leHRTdWJzZXQ7CisgICAgfQorICAgIG5ld1Jvb3QgPSB4bWxOZXdEb2NOb2RlKG5ld0RvYywgTlVMTCwgQkFEX0NBU1QgInBzZXVkb3Jvb3QiLCBOVUxMKTsKKyAgICBpZiAobmV3Um9vdCA9PSBOVUxMKSB7CisJaWYgKHNheCAhPSBOVUxMKQorCSAgICBjdHh0LT5zYXggPSBvbGRzYXg7CisJeG1sRnJlZVBhcnNlckN0eHQoY3R4dCk7CisJbmV3RG9jLT5pbnRTdWJzZXQgPSBOVUxMOworCW5ld0RvYy0+ZXh0U3Vic2V0ID0gTlVMTDsKKyAgICAgICAgeG1sRnJlZURvYyhuZXdEb2MpOworCXJldHVybigtMSk7CisgICAgfQorICAgIHhtbEFkZENoaWxkKCh4bWxOb2RlUHRyKSBuZXdEb2MsIG5ld1Jvb3QpOworICAgIG5vZGVQdXNoKGN0eHQsIG5ld1Jvb3QpOworICAgIGlmIChkb2MgPT0gTlVMTCkgeworCWN0eHQtPm15RG9jID0gbmV3RG9jOworICAgIH0gZWxzZSB7CisJY3R4dC0+bXlEb2MgPSBuZXdEb2M7CisJbmV3RG9jLT5jaGlsZHJlbi0+ZG9jID0gZG9jOworCS8qIEVuc3VyZSB0aGF0IGRvYyBoYXMgWE1MIHNwZWMgbmFtZXNwYWNlICovCisJeG1sU2VhcmNoTnNCeUhyZWYoZG9jLCAoeG1sTm9kZVB0cilkb2MsIFhNTF9YTUxfTkFNRVNQQUNFKTsKKwluZXdEb2MtPm9sZE5zID0gZG9jLT5vbGROczsKKyAgICB9CisgICAgY3R4dC0+aW5zdGF0ZSA9IFhNTF9QQVJTRVJfQ09OVEVOVDsKKyAgICBjdHh0LT5kZXB0aCA9IGRlcHRoOworCisgICAgLyoKKyAgICAgKiBEb2luZyB2YWxpZGl0eSBjaGVja2luZyBvbiBjaHVuayBkb2Vzbid0IG1ha2Ugc2Vuc2UKKyAgICAgKi8KKyAgICBjdHh0LT52YWxpZGF0ZSA9IDA7CisgICAgY3R4dC0+bG9hZHN1YnNldCA9IDA7CisgICAgeG1sRGV0ZWN0U0FYMihjdHh0KTsKKworICAgIGlmICggZG9jICE9IE5VTEwgKXsKKyAgICAgICAgY29udGVudCA9IGRvYy0+Y2hpbGRyZW47CisgICAgICAgIGRvYy0+Y2hpbGRyZW4gPSBOVUxMOworICAgICAgICB4bWxQYXJzZUNvbnRlbnQoY3R4dCk7CisgICAgICAgIGRvYy0+Y2hpbGRyZW4gPSBjb250ZW50OworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgeG1sUGFyc2VDb250ZW50KGN0eHQpOworICAgIH0KKyAgICBpZiAoKFJBVyA9PSAnPCcpICYmIChOWFQoMSkgPT0gJy8nKSkgeworCXhtbEZhdGFsRXJyKGN0eHQsIFhNTF9FUlJfTk9UX1dFTExfQkFMQU5DRUQsIE5VTEwpOworICAgIH0gZWxzZSBpZiAoUkFXICE9IDApIHsKKwl4bWxGYXRhbEVycihjdHh0LCBYTUxfRVJSX0VYVFJBX0NPTlRFTlQsIE5VTEwpOworICAgIH0KKyAgICBpZiAoY3R4dC0+bm9kZSAhPSBuZXdEb2MtPmNoaWxkcmVuKSB7CisJeG1sRmF0YWxFcnIoY3R4dCwgWE1MX0VSUl9OT1RfV0VMTF9CQUxBTkNFRCwgTlVMTCk7CisgICAgfQorCisgICAgaWYgKCFjdHh0LT53ZWxsRm9ybWVkKSB7CisgICAgICAgIGlmIChjdHh0LT5lcnJObyA9PSAwKQorCSAgICByZXQgPSAxOworCWVsc2UKKwkgICAgcmV0ID0gY3R4dC0+ZXJyTm87CisgICAgfSBlbHNlIHsKKyAgICAgIHJldCA9IDA7CisgICAgfQorCisgICAgaWYgKChsc3QgIT0gTlVMTCkgJiYgKChyZXQgPT0gMCkgfHwgKHJlY292ZXIgPT0gMSkpKSB7CisJeG1sTm9kZVB0ciBjdXI7CisKKwkvKgorCSAqIFJldHVybiB0aGUgbmV3bHkgY3JlYXRlZCBub2Rlc2V0IGFmdGVyIHVubGlua2luZyBpdCBmcm9tCisJICogdGhleSBwc2V1ZG8gcGFyZW50LgorCSAqLworCWN1ciA9IG5ld0RvYy0+Y2hpbGRyZW4tPmNoaWxkcmVuOworCSpsc3QgPSBjdXI7CisJd2hpbGUgKGN1ciAhPSBOVUxMKSB7CisJICAgIHhtbFNldFRyZWVEb2MoY3VyLCBkb2MpOworCSAgICBjdXItPnBhcmVudCA9IE5VTEw7CisJICAgIGN1ciA9IGN1ci0+bmV4dDsKKwl9CisJbmV3RG9jLT5jaGlsZHJlbi0+Y2hpbGRyZW4gPSBOVUxMOworICAgIH0KKworICAgIGlmIChzYXggIT0gTlVMTCkKKwljdHh0LT5zYXggPSBvbGRzYXg7CisgICAgeG1sRnJlZVBhcnNlckN0eHQoY3R4dCk7CisgICAgbmV3RG9jLT5pbnRTdWJzZXQgPSBOVUxMOworICAgIG5ld0RvYy0+ZXh0U3Vic2V0ID0gTlVMTDsKKyAgICBuZXdEb2MtPm9sZE5zID0gTlVMTDsKKyAgICB4bWxGcmVlRG9jKG5ld0RvYyk7CisKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxTQVhQYXJzZUVudGl0eToKKyAqIEBzYXg6ICB0aGUgU0FYIGhhbmRsZXIgYmxvY2sKKyAqIEBmaWxlbmFtZTogIHRoZSBmaWxlbmFtZQorICoKKyAqIHBhcnNlIGFuIFhNTCBleHRlcm5hbCBlbnRpdHkgb3V0IG9mIGNvbnRleHQgYW5kIGJ1aWxkIGEgdHJlZS4KKyAqIEl0IHVzZSB0aGUgZ2l2ZW4gU0FYIGZ1bmN0aW9uIGJsb2NrIHRvIGhhbmRsZSB0aGUgcGFyc2luZyBjYWxsYmFjay4KKyAqIElmIHNheCBpcyBOVUxMLCBmYWxsYmFjayB0byB0aGUgZGVmYXVsdCBET00gdHJlZSBidWlsZGluZyByb3V0aW5lcy4KKyAqCisgKiBbNzhdIGV4dFBhcnNlZEVudCA6Oj0gVGV4dERlY2w/IGNvbnRlbnQKKyAqCisgKiBUaGlzIGNvcnJlc3BvbmQgdG8gYSAiV2VsbCBCYWxhbmNlZCIgY2h1bmsKKyAqCisgKiBSZXR1cm5zIHRoZSByZXN1bHRpbmcgZG9jdW1lbnQgdHJlZQorICovCisKK3htbERvY1B0cgoreG1sU0FYUGFyc2VFbnRpdHkoeG1sU0FYSGFuZGxlclB0ciBzYXgsIGNvbnN0IGNoYXIgKmZpbGVuYW1lKSB7CisgICAgeG1sRG9jUHRyIHJldDsKKyAgICB4bWxQYXJzZXJDdHh0UHRyIGN0eHQ7CisKKyAgICBjdHh0ID0geG1sQ3JlYXRlRmlsZVBhcnNlckN0eHQoZmlsZW5hbWUpOworICAgIGlmIChjdHh0ID09IE5VTEwpIHsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIGlmIChzYXggIT0gTlVMTCkgeworCWlmIChjdHh0LT5zYXggIT0gTlVMTCkKKwkgICAgeG1sRnJlZShjdHh0LT5zYXgpOworICAgICAgICBjdHh0LT5zYXggPSBzYXg7CisgICAgICAgIGN0eHQtPnVzZXJEYXRhID0gTlVMTDsKKyAgICB9CisKKyAgICB4bWxQYXJzZUV4dFBhcnNlZEVudChjdHh0KTsKKworICAgIGlmIChjdHh0LT53ZWxsRm9ybWVkKQorCXJldCA9IGN0eHQtPm15RG9jOworICAgIGVsc2UgeworICAgICAgICByZXQgPSBOVUxMOworICAgICAgICB4bWxGcmVlRG9jKGN0eHQtPm15RG9jKTsKKyAgICAgICAgY3R4dC0+bXlEb2MgPSBOVUxMOworICAgIH0KKyAgICBpZiAoc2F4ICE9IE5VTEwpCisgICAgICAgIGN0eHQtPnNheCA9IE5VTEw7CisgICAgeG1sRnJlZVBhcnNlckN0eHQoY3R4dCk7CisKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxQYXJzZUVudGl0eToKKyAqIEBmaWxlbmFtZTogIHRoZSBmaWxlbmFtZQorICoKKyAqIHBhcnNlIGFuIFhNTCBleHRlcm5hbCBlbnRpdHkgb3V0IG9mIGNvbnRleHQgYW5kIGJ1aWxkIGEgdHJlZS4KKyAqCisgKiBbNzhdIGV4dFBhcnNlZEVudCA6Oj0gVGV4dERlY2w/IGNvbnRlbnQKKyAqCisgKiBUaGlzIGNvcnJlc3BvbmQgdG8gYSAiV2VsbCBCYWxhbmNlZCIgY2h1bmsKKyAqCisgKiBSZXR1cm5zIHRoZSByZXN1bHRpbmcgZG9jdW1lbnQgdHJlZQorICovCisKK3htbERvY1B0cgoreG1sUGFyc2VFbnRpdHkoY29uc3QgY2hhciAqZmlsZW5hbWUpIHsKKyAgICByZXR1cm4oeG1sU0FYUGFyc2VFbnRpdHkoTlVMTCwgZmlsZW5hbWUpKTsKK30KKyNlbmRpZiAvKiBMSUJYTUxfU0FYMV9FTkFCTEVEICovCisKKy8qKgorICogeG1sQ3JlYXRlRW50aXR5UGFyc2VyQ3R4dEludGVybmFsOgorICogQFVSTDogIHRoZSBlbnRpdHkgVVJMCisgKiBASUQ6ICB0aGUgZW50aXR5IFBVQkxJQyBJRAorICogQGJhc2U6ICBhIHBvc3NpYmxlIGJhc2UgZm9yIHRoZSB0YXJnZXQgVVJJCisgKiBAcGN0eDogIHBhcnNlciBjb250ZXh0IHVzZWQgdG8gc2V0IG9wdGlvbnMgb24gbmV3IGNvbnRleHQKKyAqCisgKiBDcmVhdGUgYSBwYXJzZXIgY29udGV4dCBmb3IgYW4gZXh0ZXJuYWwgZW50aXR5CisgKiBBdXRvbWF0aWMgc3VwcG9ydCBmb3IgWkxJQi9Db21wcmVzcyBjb21wcmVzc2VkIGRvY3VtZW50IGlzIHByb3ZpZGVkCisgKiBieSBkZWZhdWx0IGlmIGZvdW5kIGF0IGNvbXBpbGUtdGltZS4KKyAqCisgKiBSZXR1cm5zIHRoZSBuZXcgcGFyc2VyIGNvbnRleHQgb3IgTlVMTAorICovCitzdGF0aWMgeG1sUGFyc2VyQ3R4dFB0cgoreG1sQ3JlYXRlRW50aXR5UGFyc2VyQ3R4dEludGVybmFsKGNvbnN0IHhtbENoYXIgKlVSTCwgY29uc3QgeG1sQ2hhciAqSUQsCisJICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqYmFzZSwgeG1sUGFyc2VyQ3R4dFB0ciBwY3R4KSB7CisgICAgeG1sUGFyc2VyQ3R4dFB0ciBjdHh0OworICAgIHhtbFBhcnNlcklucHV0UHRyIGlucHV0U3RyZWFtOworICAgIGNoYXIgKmRpcmVjdG9yeSA9IE5VTEw7CisgICAgeG1sQ2hhciAqdXJpOworCisgICAgY3R4dCA9IHhtbE5ld1BhcnNlckN0eHQoKTsKKyAgICBpZiAoY3R4dCA9PSBOVUxMKSB7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKworICAgIGlmIChwY3R4ICE9IE5VTEwpIHsKKyAgICAgICAgY3R4dC0+b3B0aW9ucyA9IHBjdHgtPm9wdGlvbnM7CisgICAgICAgIGN0eHQtPl9wcml2YXRlID0gcGN0eC0+X3ByaXZhdGU7CisgICAgfQorCisgICAgdXJpID0geG1sQnVpbGRVUkkoVVJMLCBiYXNlKTsKKworICAgIGlmICh1cmkgPT0gTlVMTCkgeworCWlucHV0U3RyZWFtID0geG1sTG9hZEV4dGVybmFsRW50aXR5KChjaGFyICopVVJMLCAoY2hhciAqKUlELCBjdHh0KTsKKwlpZiAoaW5wdXRTdHJlYW0gPT0gTlVMTCkgeworCSAgICB4bWxGcmVlUGFyc2VyQ3R4dChjdHh0KTsKKwkgICAgcmV0dXJuKE5VTEwpOworCX0KKworCWlucHV0UHVzaChjdHh0LCBpbnB1dFN0cmVhbSk7CisKKwlpZiAoKGN0eHQtPmRpcmVjdG9yeSA9PSBOVUxMKSAmJiAoZGlyZWN0b3J5ID09IE5VTEwpKQorCSAgICBkaXJlY3RvcnkgPSB4bWxQYXJzZXJHZXREaXJlY3RvcnkoKGNoYXIgKilVUkwpOworCWlmICgoY3R4dC0+ZGlyZWN0b3J5ID09IE5VTEwpICYmIChkaXJlY3RvcnkgIT0gTlVMTCkpCisJICAgIGN0eHQtPmRpcmVjdG9yeSA9IGRpcmVjdG9yeTsKKyAgICB9IGVsc2UgeworCWlucHV0U3RyZWFtID0geG1sTG9hZEV4dGVybmFsRW50aXR5KChjaGFyICopdXJpLCAoY2hhciAqKUlELCBjdHh0KTsKKwlpZiAoaW5wdXRTdHJlYW0gPT0gTlVMTCkgeworCSAgICB4bWxGcmVlKHVyaSk7CisJICAgIHhtbEZyZWVQYXJzZXJDdHh0KGN0eHQpOworCSAgICByZXR1cm4oTlVMTCk7CisJfQorCisJaW5wdXRQdXNoKGN0eHQsIGlucHV0U3RyZWFtKTsKKworCWlmICgoY3R4dC0+ZGlyZWN0b3J5ID09IE5VTEwpICYmIChkaXJlY3RvcnkgPT0gTlVMTCkpCisJICAgIGRpcmVjdG9yeSA9IHhtbFBhcnNlckdldERpcmVjdG9yeSgoY2hhciAqKXVyaSk7CisJaWYgKChjdHh0LT5kaXJlY3RvcnkgPT0gTlVMTCkgJiYgKGRpcmVjdG9yeSAhPSBOVUxMKSkKKwkgICAgY3R4dC0+ZGlyZWN0b3J5ID0gZGlyZWN0b3J5OworCXhtbEZyZWUodXJpKTsKKyAgICB9CisgICAgcmV0dXJuKGN0eHQpOworfQorCisvKioKKyAqIHhtbENyZWF0ZUVudGl0eVBhcnNlckN0eHQ6CisgKiBAVVJMOiAgdGhlIGVudGl0eSBVUkwKKyAqIEBJRDogIHRoZSBlbnRpdHkgUFVCTElDIElECisgKiBAYmFzZTogIGEgcG9zc2libGUgYmFzZSBmb3IgdGhlIHRhcmdldCBVUkkKKyAqCisgKiBDcmVhdGUgYSBwYXJzZXIgY29udGV4dCBmb3IgYW4gZXh0ZXJuYWwgZW50aXR5CisgKiBBdXRvbWF0aWMgc3VwcG9ydCBmb3IgWkxJQi9Db21wcmVzcyBjb21wcmVzc2VkIGRvY3VtZW50IGlzIHByb3ZpZGVkCisgKiBieSBkZWZhdWx0IGlmIGZvdW5kIGF0IGNvbXBpbGUtdGltZS4KKyAqCisgKiBSZXR1cm5zIHRoZSBuZXcgcGFyc2VyIGNvbnRleHQgb3IgTlVMTAorICovCit4bWxQYXJzZXJDdHh0UHRyCit4bWxDcmVhdGVFbnRpdHlQYXJzZXJDdHh0KGNvbnN0IHhtbENoYXIgKlVSTCwgY29uc3QgeG1sQ2hhciAqSUQsCisJICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqYmFzZSkgeworICAgIHJldHVybiB4bWxDcmVhdGVFbnRpdHlQYXJzZXJDdHh0SW50ZXJuYWwoVVJMLCBJRCwgYmFzZSwgTlVMTCk7CisKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJRnJvbnQgZW5kcyB3aGVuIHBhcnNpbmcgZnJvbSBhIGZpbGUJCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKgorICogeG1sQ3JlYXRlVVJMUGFyc2VyQ3R4dDoKKyAqIEBmaWxlbmFtZTogIHRoZSBmaWxlbmFtZSBvciBVUkwKKyAqIEBvcHRpb25zOiAgYSBjb21iaW5hdGlvbiBvZiB4bWxQYXJzZXJPcHRpb24KKyAqCisgKiBDcmVhdGUgYSBwYXJzZXIgY29udGV4dCBmb3IgYSBmaWxlIG9yIFVSTCBjb250ZW50LgorICogQXV0b21hdGljIHN1cHBvcnQgZm9yIFpMSUIvQ29tcHJlc3MgY29tcHJlc3NlZCBkb2N1bWVudCBpcyBwcm92aWRlZAorICogYnkgZGVmYXVsdCBpZiBmb3VuZCBhdCBjb21waWxlLXRpbWUgYW5kIGZvciBmaWxlIGFjY2Vzc2VzCisgKgorICogUmV0dXJucyB0aGUgbmV3IHBhcnNlciBjb250ZXh0IG9yIE5VTEwKKyAqLworeG1sUGFyc2VyQ3R4dFB0cgoreG1sQ3JlYXRlVVJMUGFyc2VyQ3R4dChjb25zdCBjaGFyICpmaWxlbmFtZSwgaW50IG9wdGlvbnMpCit7CisgICAgeG1sUGFyc2VyQ3R4dFB0ciBjdHh0OworICAgIHhtbFBhcnNlcklucHV0UHRyIGlucHV0U3RyZWFtOworICAgIGNoYXIgKmRpcmVjdG9yeSA9IE5VTEw7CisKKyAgICBjdHh0ID0geG1sTmV3UGFyc2VyQ3R4dCgpOworICAgIGlmIChjdHh0ID09IE5VTEwpIHsKKwl4bWxFcnJNZW1vcnkoTlVMTCwgImNhbm5vdCBhbGxvY2F0ZSBwYXJzZXIgY29udGV4dCIpOworCXJldHVybihOVUxMKTsKKyAgICB9CisKKyAgICBpZiAob3B0aW9ucykKKwl4bWxDdHh0VXNlT3B0aW9uc0ludGVybmFsKGN0eHQsIG9wdGlvbnMsIE5VTEwpOworICAgIGN0eHQtPmxpbmVudW1iZXJzID0gMTsKKworICAgIGlucHV0U3RyZWFtID0geG1sTG9hZEV4dGVybmFsRW50aXR5KGZpbGVuYW1lLCBOVUxMLCBjdHh0KTsKKyAgICBpZiAoaW5wdXRTdHJlYW0gPT0gTlVMTCkgeworCXhtbEZyZWVQYXJzZXJDdHh0KGN0eHQpOworCXJldHVybihOVUxMKTsKKyAgICB9CisKKyAgICBpbnB1dFB1c2goY3R4dCwgaW5wdXRTdHJlYW0pOworICAgIGlmICgoY3R4dC0+ZGlyZWN0b3J5ID09IE5VTEwpICYmIChkaXJlY3RvcnkgPT0gTlVMTCkpCisgICAgICAgIGRpcmVjdG9yeSA9IHhtbFBhcnNlckdldERpcmVjdG9yeShmaWxlbmFtZSk7CisgICAgaWYgKChjdHh0LT5kaXJlY3RvcnkgPT0gTlVMTCkgJiYgKGRpcmVjdG9yeSAhPSBOVUxMKSkKKyAgICAgICAgY3R4dC0+ZGlyZWN0b3J5ID0gZGlyZWN0b3J5OworCisgICAgcmV0dXJuKGN0eHQpOworfQorCisvKioKKyAqIHhtbENyZWF0ZUZpbGVQYXJzZXJDdHh0OgorICogQGZpbGVuYW1lOiAgdGhlIGZpbGVuYW1lCisgKgorICogQ3JlYXRlIGEgcGFyc2VyIGNvbnRleHQgZm9yIGEgZmlsZSBjb250ZW50LgorICogQXV0b21hdGljIHN1cHBvcnQgZm9yIFpMSUIvQ29tcHJlc3MgY29tcHJlc3NlZCBkb2N1bWVudCBpcyBwcm92aWRlZAorICogYnkgZGVmYXVsdCBpZiBmb3VuZCBhdCBjb21waWxlLXRpbWUuCisgKgorICogUmV0dXJucyB0aGUgbmV3IHBhcnNlciBjb250ZXh0IG9yIE5VTEwKKyAqLworeG1sUGFyc2VyQ3R4dFB0cgoreG1sQ3JlYXRlRmlsZVBhcnNlckN0eHQoY29uc3QgY2hhciAqZmlsZW5hbWUpCit7CisgICAgcmV0dXJuKHhtbENyZWF0ZVVSTFBhcnNlckN0eHQoZmlsZW5hbWUsIDApKTsKK30KKworI2lmZGVmIExJQlhNTF9TQVgxX0VOQUJMRUQKKy8qKgorICogeG1sU0FYUGFyc2VGaWxlV2l0aERhdGE6CisgKiBAc2F4OiAgdGhlIFNBWCBoYW5kbGVyIGJsb2NrCisgKiBAZmlsZW5hbWU6ICB0aGUgZmlsZW5hbWUKKyAqIEByZWNvdmVyeTogIHdvcmsgaW4gcmVjb3ZlcnkgbW9kZSwgaS5lLiB0cmllcyB0byByZWFkIG5vIFdlbGwgRm9ybWVkCisgKiAgICAgICAgICAgICBkb2N1bWVudHMKKyAqIEBkYXRhOiAgdGhlIHVzZXJkYXRhCisgKgorICogcGFyc2UgYW4gWE1MIGZpbGUgYW5kIGJ1aWxkIGEgdHJlZS4gQXV0b21hdGljIHN1cHBvcnQgZm9yIFpMSUIvQ29tcHJlc3MKKyAqIGNvbXByZXNzZWQgZG9jdW1lbnQgaXMgcHJvdmlkZWQgYnkgZGVmYXVsdCBpZiBmb3VuZCBhdCBjb21waWxlLXRpbWUuCisgKiBJdCB1c2UgdGhlIGdpdmVuIFNBWCBmdW5jdGlvbiBibG9jayB0byBoYW5kbGUgdGhlIHBhcnNpbmcgY2FsbGJhY2suCisgKiBJZiBzYXggaXMgTlVMTCwgZmFsbGJhY2sgdG8gdGhlIGRlZmF1bHQgRE9NIHRyZWUgYnVpbGRpbmcgcm91dGluZXMuCisgKgorICogVXNlciBkYXRhICh2b2lkICopIGlzIHN0b3JlZCB3aXRoaW4gdGhlIHBhcnNlciBjb250ZXh0IGluIHRoZQorICogY29udGV4dCdzIF9wcml2YXRlIG1lbWJlciwgc28gaXQgaXMgYXZhaWxhYmxlIG5lYXJseSBldmVyeXdoZXJlIGluIGxpYnhtbAorICoKKyAqIFJldHVybnMgdGhlIHJlc3VsdGluZyBkb2N1bWVudCB0cmVlCisgKi8KKworeG1sRG9jUHRyCit4bWxTQVhQYXJzZUZpbGVXaXRoRGF0YSh4bWxTQVhIYW5kbGVyUHRyIHNheCwgY29uc3QgY2hhciAqZmlsZW5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVjb3ZlcnksIHZvaWQgKmRhdGEpIHsKKyAgICB4bWxEb2NQdHIgcmV0OworICAgIHhtbFBhcnNlckN0eHRQdHIgY3R4dDsKKworICAgIHhtbEluaXRQYXJzZXIoKTsKKworICAgIGN0eHQgPSB4bWxDcmVhdGVGaWxlUGFyc2VyQ3R4dChmaWxlbmFtZSk7CisgICAgaWYgKGN0eHQgPT0gTlVMTCkgeworCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgaWYgKHNheCAhPSBOVUxMKSB7CisJaWYgKGN0eHQtPnNheCAhPSBOVUxMKQorCSAgICB4bWxGcmVlKGN0eHQtPnNheCk7CisgICAgICAgIGN0eHQtPnNheCA9IHNheDsKKyAgICB9CisgICAgeG1sRGV0ZWN0U0FYMihjdHh0KTsKKyAgICBpZiAoZGF0YSE9TlVMTCkgeworCWN0eHQtPl9wcml2YXRlID0gZGF0YTsKKyAgICB9CisKKyAgICBpZiAoY3R4dC0+ZGlyZWN0b3J5ID09IE5VTEwpCisgICAgICAgIGN0eHQtPmRpcmVjdG9yeSA9IHhtbFBhcnNlckdldERpcmVjdG9yeShmaWxlbmFtZSk7CisKKyAgICBjdHh0LT5yZWNvdmVyeSA9IHJlY292ZXJ5OworCisgICAgeG1sUGFyc2VEb2N1bWVudChjdHh0KTsKKworICAgIGlmICgoY3R4dC0+d2VsbEZvcm1lZCkgfHwgcmVjb3ZlcnkpIHsKKyAgICAgICAgcmV0ID0gY3R4dC0+bXlEb2M7CisJaWYgKHJldCAhPSBOVUxMKSB7CisJICAgIGlmIChjdHh0LT5pbnB1dC0+YnVmLT5jb21wcmVzc2VkID4gMCkKKwkJcmV0LT5jb21wcmVzc2lvbiA9IDk7CisJICAgIGVsc2UKKwkJcmV0LT5jb21wcmVzc2lvbiA9IGN0eHQtPmlucHV0LT5idWYtPmNvbXByZXNzZWQ7CisJfQorICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICByZXQgPSBOVUxMOworICAgICAgIHhtbEZyZWVEb2MoY3R4dC0+bXlEb2MpOworICAgICAgIGN0eHQtPm15RG9jID0gTlVMTDsKKyAgICB9CisgICAgaWYgKHNheCAhPSBOVUxMKQorICAgICAgICBjdHh0LT5zYXggPSBOVUxMOworICAgIHhtbEZyZWVQYXJzZXJDdHh0KGN0eHQpOworCisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogeG1sU0FYUGFyc2VGaWxlOgorICogQHNheDogIHRoZSBTQVggaGFuZGxlciBibG9jaworICogQGZpbGVuYW1lOiAgdGhlIGZpbGVuYW1lCisgKiBAcmVjb3Zlcnk6ICB3b3JrIGluIHJlY292ZXJ5IG1vZGUsIGkuZS4gdHJpZXMgdG8gcmVhZCBubyBXZWxsIEZvcm1lZAorICogICAgICAgICAgICAgZG9jdW1lbnRzCisgKgorICogcGFyc2UgYW4gWE1MIGZpbGUgYW5kIGJ1aWxkIGEgdHJlZS4gQXV0b21hdGljIHN1cHBvcnQgZm9yIFpMSUIvQ29tcHJlc3MKKyAqIGNvbXByZXNzZWQgZG9jdW1lbnQgaXMgcHJvdmlkZWQgYnkgZGVmYXVsdCBpZiBmb3VuZCBhdCBjb21waWxlLXRpbWUuCisgKiBJdCB1c2UgdGhlIGdpdmVuIFNBWCBmdW5jdGlvbiBibG9jayB0byBoYW5kbGUgdGhlIHBhcnNpbmcgY2FsbGJhY2suCisgKiBJZiBzYXggaXMgTlVMTCwgZmFsbGJhY2sgdG8gdGhlIGRlZmF1bHQgRE9NIHRyZWUgYnVpbGRpbmcgcm91dGluZXMuCisgKgorICogUmV0dXJucyB0aGUgcmVzdWx0aW5nIGRvY3VtZW50IHRyZWUKKyAqLworCit4bWxEb2NQdHIKK3htbFNBWFBhcnNlRmlsZSh4bWxTQVhIYW5kbGVyUHRyIHNheCwgY29uc3QgY2hhciAqZmlsZW5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZWNvdmVyeSkgeworICAgIHJldHVybih4bWxTQVhQYXJzZUZpbGVXaXRoRGF0YShzYXgsZmlsZW5hbWUscmVjb3ZlcnksTlVMTCkpOworfQorCisvKioKKyAqIHhtbFJlY292ZXJEb2M6CisgKiBAY3VyOiAgYSBwb2ludGVyIHRvIGFuIGFycmF5IG9mIHhtbENoYXIKKyAqCisgKiBwYXJzZSBhbiBYTUwgaW4tbWVtb3J5IGRvY3VtZW50IGFuZCBidWlsZCBhIHRyZWUuCisgKiBJbiB0aGUgY2FzZSB0aGUgZG9jdW1lbnQgaXMgbm90IFdlbGwgRm9ybWVkLCBhIGF0dGVtcHQgdG8gYnVpbGQgYQorICogdHJlZSBpcyB0cmllZCBhbnl3YXkKKyAqCisgKiBSZXR1cm5zIHRoZSByZXN1bHRpbmcgZG9jdW1lbnQgdHJlZSBvciBOVUxMIGluIGNhc2Ugb2YgZmFpbHVyZQorICovCisKK3htbERvY1B0cgoreG1sUmVjb3ZlckRvYyhjb25zdCB4bWxDaGFyICpjdXIpIHsKKyAgICByZXR1cm4oeG1sU0FYUGFyc2VEb2MoTlVMTCwgY3VyLCAxKSk7Cit9CisKKy8qKgorICogeG1sUGFyc2VGaWxlOgorICogQGZpbGVuYW1lOiAgdGhlIGZpbGVuYW1lCisgKgorICogcGFyc2UgYW4gWE1MIGZpbGUgYW5kIGJ1aWxkIGEgdHJlZS4gQXV0b21hdGljIHN1cHBvcnQgZm9yIFpMSUIvQ29tcHJlc3MKKyAqIGNvbXByZXNzZWQgZG9jdW1lbnQgaXMgcHJvdmlkZWQgYnkgZGVmYXVsdCBpZiBmb3VuZCBhdCBjb21waWxlLXRpbWUuCisgKgorICogUmV0dXJucyB0aGUgcmVzdWx0aW5nIGRvY3VtZW50IHRyZWUgaWYgdGhlIGZpbGUgd2FzIHdlbGxmb3JtZWQsCisgKiBOVUxMIG90aGVyd2lzZS4KKyAqLworCit4bWxEb2NQdHIKK3htbFBhcnNlRmlsZShjb25zdCBjaGFyICpmaWxlbmFtZSkgeworICAgIHJldHVybih4bWxTQVhQYXJzZUZpbGUoTlVMTCwgZmlsZW5hbWUsIDApKTsKK30KKworLyoqCisgKiB4bWxSZWNvdmVyRmlsZToKKyAqIEBmaWxlbmFtZTogIHRoZSBmaWxlbmFtZQorICoKKyAqIHBhcnNlIGFuIFhNTCBmaWxlIGFuZCBidWlsZCBhIHRyZWUuIEF1dG9tYXRpYyBzdXBwb3J0IGZvciBaTElCL0NvbXByZXNzCisgKiBjb21wcmVzc2VkIGRvY3VtZW50IGlzIHByb3ZpZGVkIGJ5IGRlZmF1bHQgaWYgZm91bmQgYXQgY29tcGlsZS10aW1lLgorICogSW4gdGhlIGNhc2UgdGhlIGRvY3VtZW50IGlzIG5vdCBXZWxsIEZvcm1lZCwgaXQgYXR0ZW1wdHMgdG8gYnVpbGQKKyAqIGEgdHJlZSBhbnl3YXkKKyAqCisgKiBSZXR1cm5zIHRoZSByZXN1bHRpbmcgZG9jdW1lbnQgdHJlZSBvciBOVUxMIGluIGNhc2Ugb2YgZmFpbHVyZQorICovCisKK3htbERvY1B0cgoreG1sUmVjb3ZlckZpbGUoY29uc3QgY2hhciAqZmlsZW5hbWUpIHsKKyAgICByZXR1cm4oeG1sU0FYUGFyc2VGaWxlKE5VTEwsIGZpbGVuYW1lLCAxKSk7Cit9CisKKworLyoqCisgKiB4bWxTZXR1cFBhcnNlckZvckJ1ZmZlcjoKKyAqIEBjdHh0OiAgYW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAYnVmZmVyOiAgYSB4bWxDaGFyICogYnVmZmVyCisgKiBAZmlsZW5hbWU6ICBhIGZpbGUgbmFtZQorICoKKyAqIFNldHVwIHRoZSBwYXJzZXIgY29udGV4dCB0byBwYXJzZSBhIG5ldyBidWZmZXI7IENsZWFycyBhbnkgcHJpb3IKKyAqIGNvbnRlbnRzIGZyb20gdGhlIHBhcnNlciBjb250ZXh0LiBUaGUgYnVmZmVyIHBhcmFtZXRlciBtdXN0IG5vdCBiZQorICogTlVMTCwgYnV0IHRoZSBmaWxlbmFtZSBwYXJhbWV0ZXIgY2FuIGJlCisgKi8KK3ZvaWQKK3htbFNldHVwUGFyc2VyRm9yQnVmZmVyKHhtbFBhcnNlckN0eHRQdHIgY3R4dCwgY29uc3QgeG1sQ2hhciogYnVmZmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiBmaWxlbmFtZSkKK3sKKyAgICB4bWxQYXJzZXJJbnB1dFB0ciBpbnB1dDsKKworICAgIGlmICgoY3R4dCA9PSBOVUxMKSB8fCAoYnVmZmVyID09IE5VTEwpKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnB1dCA9IHhtbE5ld0lucHV0U3RyZWFtKGN0eHQpOworICAgIGlmIChpbnB1dCA9PSBOVUxMKSB7CisgICAgICAgIHhtbEVyck1lbW9yeShOVUxMLCAicGFyc2luZyBuZXcgYnVmZmVyOiBvdXQgb2YgbWVtb3J5XG4iKTsKKyAgICAgICAgeG1sQ2xlYXJQYXJzZXJDdHh0KGN0eHQpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgeG1sQ2xlYXJQYXJzZXJDdHh0KGN0eHQpOworICAgIGlmIChmaWxlbmFtZSAhPSBOVUxMKQorICAgICAgICBpbnB1dC0+ZmlsZW5hbWUgPSAoY2hhciAqKSB4bWxDYW5vbmljUGF0aCgoY29uc3QgeG1sQ2hhciAqKWZpbGVuYW1lKTsKKyAgICBpbnB1dC0+YmFzZSA9IGJ1ZmZlcjsKKyAgICBpbnB1dC0+Y3VyID0gYnVmZmVyOworICAgIGlucHV0LT5lbmQgPSAmYnVmZmVyW3htbFN0cmxlbihidWZmZXIpXTsKKyAgICBpbnB1dFB1c2goY3R4dCwgaW5wdXQpOworfQorCisvKioKKyAqIHhtbFNBWFVzZXJQYXJzZUZpbGU6CisgKiBAc2F4OiAgYSBTQVggaGFuZGxlcgorICogQHVzZXJfZGF0YTogIFRoZSB1c2VyIGRhdGEgcmV0dXJuZWQgb24gU0FYIGNhbGxiYWNrcworICogQGZpbGVuYW1lOiAgYSBmaWxlIG5hbWUKKyAqCisgKiBwYXJzZSBhbiBYTUwgZmlsZSBhbmQgY2FsbCB0aGUgZ2l2ZW4gU0FYIGhhbmRsZXIgcm91dGluZXMuCisgKiBBdXRvbWF0aWMgc3VwcG9ydCBmb3IgWkxJQi9Db21wcmVzcyBjb21wcmVzc2VkIGRvY3VtZW50IGlzIHByb3ZpZGVkCisgKgorICogUmV0dXJucyAwIGluIGNhc2Ugb2Ygc3VjY2VzcyBvciBhIGVycm9yIG51bWJlciBvdGhlcndpc2UKKyAqLworaW50Cit4bWxTQVhVc2VyUGFyc2VGaWxlKHhtbFNBWEhhbmRsZXJQdHIgc2F4LCB2b2lkICp1c2VyX2RhdGEsCisgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmZpbGVuYW1lKSB7CisgICAgaW50IHJldCA9IDA7CisgICAgeG1sUGFyc2VyQ3R4dFB0ciBjdHh0OworCisgICAgY3R4dCA9IHhtbENyZWF0ZUZpbGVQYXJzZXJDdHh0KGZpbGVuYW1lKTsKKyAgICBpZiAoY3R4dCA9PSBOVUxMKSByZXR1cm4gLTE7CisgICAgaWYgKGN0eHQtPnNheCAhPSAoeG1sU0FYSGFuZGxlclB0cikgJnhtbERlZmF1bHRTQVhIYW5kbGVyKQorCXhtbEZyZWUoY3R4dC0+c2F4KTsKKyAgICBjdHh0LT5zYXggPSBzYXg7CisgICAgeG1sRGV0ZWN0U0FYMihjdHh0KTsKKworICAgIGlmICh1c2VyX2RhdGEgIT0gTlVMTCkKKwljdHh0LT51c2VyRGF0YSA9IHVzZXJfZGF0YTsKKworICAgIHhtbFBhcnNlRG9jdW1lbnQoY3R4dCk7CisKKyAgICBpZiAoY3R4dC0+d2VsbEZvcm1lZCkKKwlyZXQgPSAwOworICAgIGVsc2UgeworICAgICAgICBpZiAoY3R4dC0+ZXJyTm8gIT0gMCkKKwkgICAgcmV0ID0gY3R4dC0+ZXJyTm87CisJZWxzZQorCSAgICByZXQgPSAtMTsKKyAgICB9CisgICAgaWYgKHNheCAhPSBOVUxMKQorCWN0eHQtPnNheCA9IE5VTEw7CisgICAgaWYgKGN0eHQtPm15RG9jICE9IE5VTEwpIHsKKyAgICAgICAgeG1sRnJlZURvYyhjdHh0LT5teURvYyk7CisJY3R4dC0+bXlEb2MgPSBOVUxMOworICAgIH0KKyAgICB4bWxGcmVlUGFyc2VyQ3R4dChjdHh0KTsKKworICAgIHJldHVybiByZXQ7Cit9CisjZW5kaWYgLyogTElCWE1MX1NBWDFfRU5BQkxFRCAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQlGcm9udCBlbmRzIHdoZW4gcGFyc2luZyBmcm9tIG1lbW9yeQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqCisgKiB4bWxDcmVhdGVNZW1vcnlQYXJzZXJDdHh0OgorICogQGJ1ZmZlcjogIGEgcG9pbnRlciB0byBhIGNoYXIgYXJyYXkKKyAqIEBzaXplOiAgdGhlIHNpemUgb2YgdGhlIGFycmF5CisgKgorICogQ3JlYXRlIGEgcGFyc2VyIGNvbnRleHQgZm9yIGFuIFhNTCBpbi1tZW1vcnkgZG9jdW1lbnQuCisgKgorICogUmV0dXJucyB0aGUgbmV3IHBhcnNlciBjb250ZXh0IG9yIE5VTEwKKyAqLworeG1sUGFyc2VyQ3R4dFB0cgoreG1sQ3JlYXRlTWVtb3J5UGFyc2VyQ3R4dChjb25zdCBjaGFyICpidWZmZXIsIGludCBzaXplKSB7CisgICAgeG1sUGFyc2VyQ3R4dFB0ciBjdHh0OworICAgIHhtbFBhcnNlcklucHV0UHRyIGlucHV0OworICAgIHhtbFBhcnNlcklucHV0QnVmZmVyUHRyIGJ1ZjsKKworICAgIGlmIChidWZmZXIgPT0gTlVMTCkKKwlyZXR1cm4oTlVMTCk7CisgICAgaWYgKHNpemUgPD0gMCkKKwlyZXR1cm4oTlVMTCk7CisKKyAgICBjdHh0ID0geG1sTmV3UGFyc2VyQ3R4dCgpOworICAgIGlmIChjdHh0ID09IE5VTEwpCisJcmV0dXJuKE5VTEwpOworCisgICAgLyogVE9ETzogeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVTdGF0aWMsIHJlcXVpcmVzIHNvbWUgc2VyaW91cyBjaGFuZ2VzICovCisgICAgYnVmID0geG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVNZW0oYnVmZmVyLCBzaXplLCBYTUxfQ0hBUl9FTkNPRElOR19OT05FKTsKKyAgICBpZiAoYnVmID09IE5VTEwpIHsKKwl4bWxGcmVlUGFyc2VyQ3R4dChjdHh0KTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorCisgICAgaW5wdXQgPSB4bWxOZXdJbnB1dFN0cmVhbShjdHh0KTsKKyAgICBpZiAoaW5wdXQgPT0gTlVMTCkgeworCXhtbEZyZWVQYXJzZXJJbnB1dEJ1ZmZlcihidWYpOworCXhtbEZyZWVQYXJzZXJDdHh0KGN0eHQpOworCXJldHVybihOVUxMKTsKKyAgICB9CisKKyAgICBpbnB1dC0+ZmlsZW5hbWUgPSBOVUxMOworICAgIGlucHV0LT5idWYgPSBidWY7CisgICAgeG1sQnVmUmVzZXRJbnB1dChpbnB1dC0+YnVmLT5idWZmZXIsIGlucHV0KTsKKworICAgIGlucHV0UHVzaChjdHh0LCBpbnB1dCk7CisgICAgcmV0dXJuKGN0eHQpOworfQorCisjaWZkZWYgTElCWE1MX1NBWDFfRU5BQkxFRAorLyoqCisgKiB4bWxTQVhQYXJzZU1lbW9yeVdpdGhEYXRhOgorICogQHNheDogIHRoZSBTQVggaGFuZGxlciBibG9jaworICogQGJ1ZmZlcjogIGFuIHBvaW50ZXIgdG8gYSBjaGFyIGFycmF5CisgKiBAc2l6ZTogIHRoZSBzaXplIG9mIHRoZSBhcnJheQorICogQHJlY292ZXJ5OiAgd29yayBpbiByZWNvdmVyeSBtb2RlLCBpLmUuIHRyaWVzIHRvIHJlYWQgbm8gV2VsbCBGb3JtZWQKKyAqICAgICAgICAgICAgIGRvY3VtZW50cworICogQGRhdGE6ICB0aGUgdXNlcmRhdGEKKyAqCisgKiBwYXJzZSBhbiBYTUwgaW4tbWVtb3J5IGJsb2NrIGFuZCB1c2UgdGhlIGdpdmVuIFNBWCBmdW5jdGlvbiBibG9jaworICogdG8gaGFuZGxlIHRoZSBwYXJzaW5nIGNhbGxiYWNrLiBJZiBzYXggaXMgTlVMTCwgZmFsbGJhY2sgdG8gdGhlIGRlZmF1bHQKKyAqIERPTSB0cmVlIGJ1aWxkaW5nIHJvdXRpbmVzLgorICoKKyAqIFVzZXIgZGF0YSAodm9pZCAqKSBpcyBzdG9yZWQgd2l0aGluIHRoZSBwYXJzZXIgY29udGV4dCBpbiB0aGUKKyAqIGNvbnRleHQncyBfcHJpdmF0ZSBtZW1iZXIsIHNvIGl0IGlzIGF2YWlsYWJsZSBuZWFybHkgZXZlcnl3aGVyZSBpbiBsaWJ4bWwKKyAqCisgKiBSZXR1cm5zIHRoZSByZXN1bHRpbmcgZG9jdW1lbnQgdHJlZQorICovCisKK3htbERvY1B0cgoreG1sU0FYUGFyc2VNZW1vcnlXaXRoRGF0YSh4bWxTQVhIYW5kbGVyUHRyIHNheCwgY29uc3QgY2hhciAqYnVmZmVyLAorCSAgICAgICAgICBpbnQgc2l6ZSwgaW50IHJlY292ZXJ5LCB2b2lkICpkYXRhKSB7CisgICAgeG1sRG9jUHRyIHJldDsKKyAgICB4bWxQYXJzZXJDdHh0UHRyIGN0eHQ7CisKKyAgICB4bWxJbml0UGFyc2VyKCk7CisKKyAgICBjdHh0ID0geG1sQ3JlYXRlTWVtb3J5UGFyc2VyQ3R4dChidWZmZXIsIHNpemUpOworICAgIGlmIChjdHh0ID09IE5VTEwpIHJldHVybihOVUxMKTsKKyAgICBpZiAoc2F4ICE9IE5VTEwpIHsKKwlpZiAoY3R4dC0+c2F4ICE9IE5VTEwpCisJICAgIHhtbEZyZWUoY3R4dC0+c2F4KTsKKyAgICAgICAgY3R4dC0+c2F4ID0gc2F4OworICAgIH0KKyAgICB4bWxEZXRlY3RTQVgyKGN0eHQpOworICAgIGlmIChkYXRhIT1OVUxMKSB7CisJY3R4dC0+X3ByaXZhdGU9ZGF0YTsKKyAgICB9CisKKyAgICBjdHh0LT5yZWNvdmVyeSA9IHJlY292ZXJ5OworCisgICAgeG1sUGFyc2VEb2N1bWVudChjdHh0KTsKKworICAgIGlmICgoY3R4dC0+d2VsbEZvcm1lZCkgfHwgcmVjb3ZlcnkpIHJldCA9IGN0eHQtPm15RG9jOworICAgIGVsc2UgeworICAgICAgIHJldCA9IE5VTEw7CisgICAgICAgeG1sRnJlZURvYyhjdHh0LT5teURvYyk7CisgICAgICAgY3R4dC0+bXlEb2MgPSBOVUxMOworICAgIH0KKyAgICBpZiAoc2F4ICE9IE5VTEwpCisJY3R4dC0+c2F4ID0gTlVMTDsKKyAgICB4bWxGcmVlUGFyc2VyQ3R4dChjdHh0KTsKKworICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbFNBWFBhcnNlTWVtb3J5OgorICogQHNheDogIHRoZSBTQVggaGFuZGxlciBibG9jaworICogQGJ1ZmZlcjogIGFuIHBvaW50ZXIgdG8gYSBjaGFyIGFycmF5CisgKiBAc2l6ZTogIHRoZSBzaXplIG9mIHRoZSBhcnJheQorICogQHJlY292ZXJ5OiAgd29yayBpbiByZWNvdmVyeSBtb2RlLCBpLmUuIHRyaWVzIHRvIHJlYWQgbm90IFdlbGwgRm9ybWVkCisgKiAgICAgICAgICAgICBkb2N1bWVudHMKKyAqCisgKiBwYXJzZSBhbiBYTUwgaW4tbWVtb3J5IGJsb2NrIGFuZCB1c2UgdGhlIGdpdmVuIFNBWCBmdW5jdGlvbiBibG9jaworICogdG8gaGFuZGxlIHRoZSBwYXJzaW5nIGNhbGxiYWNrLiBJZiBzYXggaXMgTlVMTCwgZmFsbGJhY2sgdG8gdGhlIGRlZmF1bHQKKyAqIERPTSB0cmVlIGJ1aWxkaW5nIHJvdXRpbmVzLgorICoKKyAqIFJldHVybnMgdGhlIHJlc3VsdGluZyBkb2N1bWVudCB0cmVlCisgKi8KK3htbERvY1B0cgoreG1sU0FYUGFyc2VNZW1vcnkoeG1sU0FYSGFuZGxlclB0ciBzYXgsIGNvbnN0IGNoYXIgKmJ1ZmZlciwKKwkgICAgICAgICAgaW50IHNpemUsIGludCByZWNvdmVyeSkgeworICAgIHJldHVybiB4bWxTQVhQYXJzZU1lbW9yeVdpdGhEYXRhKHNheCwgYnVmZmVyLCBzaXplLCByZWNvdmVyeSwgTlVMTCk7Cit9CisKKy8qKgorICogeG1sUGFyc2VNZW1vcnk6CisgKiBAYnVmZmVyOiAgYW4gcG9pbnRlciB0byBhIGNoYXIgYXJyYXkKKyAqIEBzaXplOiAgdGhlIHNpemUgb2YgdGhlIGFycmF5CisgKgorICogcGFyc2UgYW4gWE1MIGluLW1lbW9yeSBibG9jayBhbmQgYnVpbGQgYSB0cmVlLgorICoKKyAqIFJldHVybnMgdGhlIHJlc3VsdGluZyBkb2N1bWVudCB0cmVlCisgKi8KKworeG1sRG9jUHRyIHhtbFBhcnNlTWVtb3J5KGNvbnN0IGNoYXIgKmJ1ZmZlciwgaW50IHNpemUpIHsKKyAgIHJldHVybih4bWxTQVhQYXJzZU1lbW9yeShOVUxMLCBidWZmZXIsIHNpemUsIDApKTsKK30KKworLyoqCisgKiB4bWxSZWNvdmVyTWVtb3J5OgorICogQGJ1ZmZlcjogIGFuIHBvaW50ZXIgdG8gYSBjaGFyIGFycmF5CisgKiBAc2l6ZTogIHRoZSBzaXplIG9mIHRoZSBhcnJheQorICoKKyAqIHBhcnNlIGFuIFhNTCBpbi1tZW1vcnkgYmxvY2sgYW5kIGJ1aWxkIGEgdHJlZS4KKyAqIEluIHRoZSBjYXNlIHRoZSBkb2N1bWVudCBpcyBub3QgV2VsbCBGb3JtZWQsIGFuIGF0dGVtcHQgdG8KKyAqIGJ1aWxkIGEgdHJlZSBpcyB0cmllZCBhbnl3YXkKKyAqCisgKiBSZXR1cm5zIHRoZSByZXN1bHRpbmcgZG9jdW1lbnQgdHJlZSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworCit4bWxEb2NQdHIgeG1sUmVjb3Zlck1lbW9yeShjb25zdCBjaGFyICpidWZmZXIsIGludCBzaXplKSB7CisgICByZXR1cm4oeG1sU0FYUGFyc2VNZW1vcnkoTlVMTCwgYnVmZmVyLCBzaXplLCAxKSk7Cit9CisKKy8qKgorICogeG1sU0FYVXNlclBhcnNlTWVtb3J5OgorICogQHNheDogIGEgU0FYIGhhbmRsZXIKKyAqIEB1c2VyX2RhdGE6ICBUaGUgdXNlciBkYXRhIHJldHVybmVkIG9uIFNBWCBjYWxsYmFja3MKKyAqIEBidWZmZXI6ICBhbiBpbi1tZW1vcnkgWE1MIGRvY3VtZW50IGlucHV0CisgKiBAc2l6ZTogIHRoZSBsZW5ndGggb2YgdGhlIFhNTCBkb2N1bWVudCBpbiBieXRlcworICoKKyAqIEEgYmV0dGVyIFNBWCBwYXJzaW5nIHJvdXRpbmUuCisgKiBwYXJzZSBhbiBYTUwgaW4tbWVtb3J5IGJ1ZmZlciBhbmQgY2FsbCB0aGUgZ2l2ZW4gU0FYIGhhbmRsZXIgcm91dGluZXMuCisgKgorICogUmV0dXJucyAwIGluIGNhc2Ugb2Ygc3VjY2VzcyBvciBhIGVycm9yIG51bWJlciBvdGhlcndpc2UKKyAqLworaW50IHhtbFNBWFVzZXJQYXJzZU1lbW9yeSh4bWxTQVhIYW5kbGVyUHRyIHNheCwgdm9pZCAqdXNlcl9kYXRhLAorCQkJICBjb25zdCBjaGFyICpidWZmZXIsIGludCBzaXplKSB7CisgICAgaW50IHJldCA9IDA7CisgICAgeG1sUGFyc2VyQ3R4dFB0ciBjdHh0OworCisgICAgeG1sSW5pdFBhcnNlcigpOworCisgICAgY3R4dCA9IHhtbENyZWF0ZU1lbW9yeVBhcnNlckN0eHQoYnVmZmVyLCBzaXplKTsKKyAgICBpZiAoY3R4dCA9PSBOVUxMKSByZXR1cm4gLTE7CisgICAgaWYgKGN0eHQtPnNheCAhPSAoeG1sU0FYSGFuZGxlclB0cikgJnhtbERlZmF1bHRTQVhIYW5kbGVyKQorICAgICAgICB4bWxGcmVlKGN0eHQtPnNheCk7CisgICAgY3R4dC0+c2F4ID0gc2F4OworICAgIHhtbERldGVjdFNBWDIoY3R4dCk7CisKKyAgICBpZiAodXNlcl9kYXRhICE9IE5VTEwpCisJY3R4dC0+dXNlckRhdGEgPSB1c2VyX2RhdGE7CisKKyAgICB4bWxQYXJzZURvY3VtZW50KGN0eHQpOworCisgICAgaWYgKGN0eHQtPndlbGxGb3JtZWQpCisJcmV0ID0gMDsKKyAgICBlbHNlIHsKKyAgICAgICAgaWYgKGN0eHQtPmVyck5vICE9IDApCisJICAgIHJldCA9IGN0eHQtPmVyck5vOworCWVsc2UKKwkgICAgcmV0ID0gLTE7CisgICAgfQorICAgIGlmIChzYXggIT0gTlVMTCkKKyAgICAgICAgY3R4dC0+c2F4ID0gTlVMTDsKKyAgICBpZiAoY3R4dC0+bXlEb2MgIT0gTlVMTCkgeworICAgICAgICB4bWxGcmVlRG9jKGN0eHQtPm15RG9jKTsKKwljdHh0LT5teURvYyA9IE5VTEw7CisgICAgfQorICAgIHhtbEZyZWVQYXJzZXJDdHh0KGN0eHQpOworCisgICAgcmV0dXJuIHJldDsKK30KKyNlbmRpZiAvKiBMSUJYTUxfU0FYMV9FTkFCTEVEICovCisKKy8qKgorICogeG1sQ3JlYXRlRG9jUGFyc2VyQ3R4dDoKKyAqIEBjdXI6ICBhIHBvaW50ZXIgdG8gYW4gYXJyYXkgb2YgeG1sQ2hhcgorICoKKyAqIENyZWF0ZXMgYSBwYXJzZXIgY29udGV4dCBmb3IgYW4gWE1MIGluLW1lbW9yeSBkb2N1bWVudC4KKyAqCisgKiBSZXR1cm5zIHRoZSBuZXcgcGFyc2VyIGNvbnRleHQgb3IgTlVMTAorICovCit4bWxQYXJzZXJDdHh0UHRyCit4bWxDcmVhdGVEb2NQYXJzZXJDdHh0KGNvbnN0IHhtbENoYXIgKmN1cikgeworICAgIGludCBsZW47CisKKyAgICBpZiAoY3VyID09IE5VTEwpCisJcmV0dXJuKE5VTEwpOworICAgIGxlbiA9IHhtbFN0cmxlbihjdXIpOworICAgIHJldHVybih4bWxDcmVhdGVNZW1vcnlQYXJzZXJDdHh0KChjb25zdCBjaGFyICopY3VyLCBsZW4pKTsKK30KKworI2lmZGVmIExJQlhNTF9TQVgxX0VOQUJMRUQKKy8qKgorICogeG1sU0FYUGFyc2VEb2M6CisgKiBAc2F4OiAgdGhlIFNBWCBoYW5kbGVyIGJsb2NrCisgKiBAY3VyOiAgYSBwb2ludGVyIHRvIGFuIGFycmF5IG9mIHhtbENoYXIKKyAqIEByZWNvdmVyeTogIHdvcmsgaW4gcmVjb3ZlcnkgbW9kZSwgaS5lLiB0cmllcyB0byByZWFkIG5vIFdlbGwgRm9ybWVkCisgKiAgICAgICAgICAgICBkb2N1bWVudHMKKyAqCisgKiBwYXJzZSBhbiBYTUwgaW4tbWVtb3J5IGRvY3VtZW50IGFuZCBidWlsZCBhIHRyZWUuCisgKiBJdCB1c2UgdGhlIGdpdmVuIFNBWCBmdW5jdGlvbiBibG9jayB0byBoYW5kbGUgdGhlIHBhcnNpbmcgY2FsbGJhY2suCisgKiBJZiBzYXggaXMgTlVMTCwgZmFsbGJhY2sgdG8gdGhlIGRlZmF1bHQgRE9NIHRyZWUgYnVpbGRpbmcgcm91dGluZXMuCisgKgorICogUmV0dXJucyB0aGUgcmVzdWx0aW5nIGRvY3VtZW50IHRyZWUKKyAqLworCit4bWxEb2NQdHIKK3htbFNBWFBhcnNlRG9jKHhtbFNBWEhhbmRsZXJQdHIgc2F4LCBjb25zdCB4bWxDaGFyICpjdXIsIGludCByZWNvdmVyeSkgeworICAgIHhtbERvY1B0ciByZXQ7CisgICAgeG1sUGFyc2VyQ3R4dFB0ciBjdHh0OworICAgIHhtbFNBWEhhbmRsZXJQdHIgb2xkc2F4ID0gTlVMTDsKKworICAgIGlmIChjdXIgPT0gTlVMTCkgcmV0dXJuKE5VTEwpOworCisKKyAgICBjdHh0ID0geG1sQ3JlYXRlRG9jUGFyc2VyQ3R4dChjdXIpOworICAgIGlmIChjdHh0ID09IE5VTEwpIHJldHVybihOVUxMKTsKKyAgICBpZiAoc2F4ICE9IE5VTEwpIHsKKyAgICAgICAgb2xkc2F4ID0gY3R4dC0+c2F4OworICAgICAgICBjdHh0LT5zYXggPSBzYXg7CisgICAgICAgIGN0eHQtPnVzZXJEYXRhID0gTlVMTDsKKyAgICB9CisgICAgeG1sRGV0ZWN0U0FYMihjdHh0KTsKKworICAgIHhtbFBhcnNlRG9jdW1lbnQoY3R4dCk7CisgICAgaWYgKChjdHh0LT53ZWxsRm9ybWVkKSB8fCByZWNvdmVyeSkgcmV0ID0gY3R4dC0+bXlEb2M7CisgICAgZWxzZSB7CisgICAgICAgcmV0ID0gTlVMTDsKKyAgICAgICB4bWxGcmVlRG9jKGN0eHQtPm15RG9jKTsKKyAgICAgICBjdHh0LT5teURvYyA9IE5VTEw7CisgICAgfQorICAgIGlmIChzYXggIT0gTlVMTCkKKwljdHh0LT5zYXggPSBvbGRzYXg7CisgICAgeG1sRnJlZVBhcnNlckN0eHQoY3R4dCk7CisKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxQYXJzZURvYzoKKyAqIEBjdXI6ICBhIHBvaW50ZXIgdG8gYW4gYXJyYXkgb2YgeG1sQ2hhcgorICoKKyAqIHBhcnNlIGFuIFhNTCBpbi1tZW1vcnkgZG9jdW1lbnQgYW5kIGJ1aWxkIGEgdHJlZS4KKyAqCisgKiBSZXR1cm5zIHRoZSByZXN1bHRpbmcgZG9jdW1lbnQgdHJlZQorICovCisKK3htbERvY1B0cgoreG1sUGFyc2VEb2MoY29uc3QgeG1sQ2hhciAqY3VyKSB7CisgICAgcmV0dXJuKHhtbFNBWFBhcnNlRG9jKE5VTEwsIGN1ciwgMCkpOworfQorI2VuZGlmIC8qIExJQlhNTF9TQVgxX0VOQUJMRUQgKi8KKworI2lmZGVmIExJQlhNTF9MRUdBQ1lfRU5BQkxFRAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKglTcGVjaWZpYyBmdW5jdGlvbiB0byBrZWVwIHRyYWNrIG9mIGVudGl0aWVzIHJlZmVyZW5jZXMJCSoKKyAqCWFuZCB1c2VkIGJ5IHRoZSBYU0xUIGRlYnVnZ2VyCQkJCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK3N0YXRpYyB4bWxFbnRpdHlSZWZlcmVuY2VGdW5jIHhtbEVudGl0eVJlZkZ1bmMgPSBOVUxMOworCisvKioKKyAqIHhtbEFkZEVudGl0eVJlZmVyZW5jZToKKyAqIEBlbnQgOiBBIHZhbGlkIGVudGl0eQorICogQGZpcnN0Tm9kZSA6IEEgdmFsaWQgZmlyc3Qgbm9kZSBmb3IgY2hpbGRyZW4gb2YgZW50aXR5CisgKiBAbGFzdE5vZGUgOiBBIHZhbGlkIGxhc3Qgbm9kZSBvZiBjaGlsZHJlbiBlbnRpdHkKKyAqCisgKiBOb3RpZnkgb2YgYSByZWZlcmVuY2UgdG8gYW4gZW50aXR5IG9mIHR5cGUgWE1MX0VYVEVSTkFMX0dFTkVSQUxfUEFSU0VEX0VOVElUWQorICovCitzdGF0aWMgdm9pZAoreG1sQWRkRW50aXR5UmVmZXJlbmNlKHhtbEVudGl0eVB0ciBlbnQsIHhtbE5vZGVQdHIgZmlyc3ROb2RlLAorICAgICAgICAgICAgICAgICAgICAgIHhtbE5vZGVQdHIgbGFzdE5vZGUpCit7CisgICAgaWYgKHhtbEVudGl0eVJlZkZ1bmMgIT0gTlVMTCkgeworICAgICAgICAoKnhtbEVudGl0eVJlZkZ1bmMpIChlbnQsIGZpcnN0Tm9kZSwgbGFzdE5vZGUpOworICAgIH0KK30KKworCisvKioKKyAqIHhtbFNldEVudGl0eVJlZmVyZW5jZUZ1bmM6CisgKiBAZnVuYzogQSB2YWxpZCBmdW5jdGlvbgorICoKKyAqIFNldCB0aGUgZnVuY3Rpb24gdG8gY2FsbCBjYWxsIGJhY2sgd2hlbiBhIHhtbCByZWZlcmVuY2UgaGFzIGJlZW4gbWFkZQorICovCit2b2lkCit4bWxTZXRFbnRpdHlSZWZlcmVuY2VGdW5jKHhtbEVudGl0eVJlZmVyZW5jZUZ1bmMgZnVuYykKK3sKKyAgICB4bWxFbnRpdHlSZWZGdW5jID0gZnVuYzsKK30KKyNlbmRpZiAvKiBMSUJYTUxfTEVHQUNZX0VOQUJMRUQgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJCQlNaXNjZWxsYW5lb3VzCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECisjaW5jbHVkZSA8bGlieG1sL3hwYXRoLmg+CisjZW5kaWYKKworZXh0ZXJuIHZvaWQgWE1MQ0RFQ0wgeG1sR2VuZXJpY0Vycm9yRGVmYXVsdEZ1bmModm9pZCAqY3R4LCBjb25zdCBjaGFyICptc2csIC4uLik7CitzdGF0aWMgaW50IHhtbFBhcnNlckluaXRpYWxpemVkID0gMDsKKworLyoqCisgKiB4bWxJbml0UGFyc2VyOgorICoKKyAqIEluaXRpYWxpemF0aW9uIGZ1bmN0aW9uIGZvciB0aGUgWE1MIHBhcnNlci4KKyAqIFRoaXMgaXMgbm90IHJlZW50cmFudC4gQ2FsbCBvbmNlIGJlZm9yZSBwcm9jZXNzaW5nIGluIGNhc2Ugb2YKKyAqIHVzZSBpbiBtdWx0aXRocmVhZGVkIHByb2dyYW1zLgorICovCisKK3ZvaWQKK3htbEluaXRQYXJzZXIodm9pZCkgeworICAgIGlmICh4bWxQYXJzZXJJbml0aWFsaXplZCAhPSAwKQorCXJldHVybjsKKworI2lmZGVmIExJQlhNTF9USFJFQURfRU5BQkxFRAorICAgIF9feG1sR2xvYmFsSW5pdE11dGV4TG9jaygpOworICAgIGlmICh4bWxQYXJzZXJJbml0aWFsaXplZCA9PSAwKSB7CisjZW5kaWYKKwl4bWxJbml0VGhyZWFkcygpOworCXhtbEluaXRHbG9iYWxzKCk7CisJaWYgKCh4bWxHZW5lcmljRXJyb3IgPT0geG1sR2VuZXJpY0Vycm9yRGVmYXVsdEZ1bmMpIHx8CisJICAgICh4bWxHZW5lcmljRXJyb3IgPT0gTlVMTCkpCisJICAgIGluaXRHZW5lcmljRXJyb3JEZWZhdWx0RnVuYyhOVUxMKTsKKwl4bWxJbml0TWVtb3J5KCk7CisgICAgICAgIHhtbEluaXRpYWxpemVEaWN0KCk7CisJeG1sSW5pdENoYXJFbmNvZGluZ0hhbmRsZXJzKCk7CisJeG1sRGVmYXVsdFNBWEhhbmRsZXJJbml0KCk7CisJeG1sUmVnaXN0ZXJEZWZhdWx0SW5wdXRDYWxsYmFja3MoKTsKKyNpZmRlZiBMSUJYTUxfT1VUUFVUX0VOQUJMRUQKKwl4bWxSZWdpc3RlckRlZmF1bHRPdXRwdXRDYWxsYmFja3MoKTsKKyNlbmRpZiAvKiBMSUJYTUxfT1VUUFVUX0VOQUJMRUQgKi8KKyNpZmRlZiBMSUJYTUxfSFRNTF9FTkFCTEVECisJaHRtbEluaXRBdXRvQ2xvc2UoKTsKKwlodG1sRGVmYXVsdFNBWEhhbmRsZXJJbml0KCk7CisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAorCXhtbFhQYXRoSW5pdCgpOworI2VuZGlmCisJeG1sUGFyc2VySW5pdGlhbGl6ZWQgPSAxOworI2lmZGVmIExJQlhNTF9USFJFQURfRU5BQkxFRAorICAgIH0KKyAgICBfX3htbEdsb2JhbEluaXRNdXRleFVubG9jaygpOworI2VuZGlmCit9CisKKy8qKgorICogeG1sQ2xlYW51cFBhcnNlcjoKKyAqCisgKiBUaGlzIGZ1bmN0aW9uIG5hbWUgaXMgc29tZXdoYXQgbWlzbGVhZGluZy4gSXQgZG9lcyBub3QgY2xlYW4gdXAKKyAqIHBhcnNlciBzdGF0ZSwgaXQgY2xlYW5zIHVwIG1lbW9yeSBhbGxvY2F0ZWQgYnkgdGhlIGxpYnJhcnkgaXRzZWxmLgorICogSXQgaXMgYSBjbGVhbnVwIGZ1bmN0aW9uIGZvciB0aGUgWE1MIGxpYnJhcnkuIEl0IHRyaWVzIHRvIHJlY2xhaW0gYWxsCisgKiByZWxhdGVkIGdsb2JhbCBtZW1vcnkgYWxsb2NhdGVkIGZvciB0aGUgbGlicmFyeSBwcm9jZXNzaW5nLgorICogSXQgZG9lc24ndCBkZWFsbG9jYXRlIGFueSBkb2N1bWVudCByZWxhdGVkIG1lbW9yeS4gT25lIHNob3VsZAorICogY2FsbCB4bWxDbGVhbnVwUGFyc2VyKCkgb25seSB3aGVuIHRoZSBwcm9jZXNzIGhhcyBmaW5pc2hlZCB1c2luZworICogdGhlIGxpYnJhcnkgYW5kIGFsbCBYTUwvSFRNTCBkb2N1bWVudHMgYnVpbHQgd2l0aCBpdC4KKyAqIFNlZSBhbHNvIHhtbEluaXRQYXJzZXIoKSB3aGljaCBoYXMgdGhlIG9wcG9zaXRlIGZ1bmN0aW9uIG9mIHByZXBhcmluZworICogdGhlIGxpYnJhcnkgZm9yIG9wZXJhdGlvbnMuCisgKgorICogV0FSTklORzogaWYgeW91ciBhcHBsaWNhdGlvbiBpcyBtdWx0aXRocmVhZGVkIG9yIGhhcyBwbHVnaW4gc3VwcG9ydAorICogICAgICAgICAgY2FsbGluZyB0aGlzIG1heSBjcmFzaCB0aGUgYXBwbGljYXRpb24gaWYgYW5vdGhlciB0aHJlYWQgb3IKKyAqICAgICAgICAgIGEgcGx1Z2luIGlzIHN0aWxsIHVzaW5nIGxpYnhtbDIuIEl0J3Mgc29tZXRpbWVzIHZlcnkgaGFyZCB0bworICogICAgICAgICAgZ3Vlc3MgaWYgbGlieG1sMiBpcyBpbiB1c2UgaW4gdGhlIGFwcGxpY2F0aW9uLCBzb21lIGxpYnJhcmllcworICogICAgICAgICAgb3IgcGx1Z2lucyBtYXkgdXNlIGl0IHdpdGhvdXQgbm90aWNlLiBJbiBjYXNlIG9mIGRvdWJ0IGFic3RhaW4KKyAqICAgICAgICAgIGZyb20gY2FsbGluZyB0aGlzIGZ1bmN0aW9uIG9yIGRvIGl0IGp1c3QgYmVmb3JlIGNhbGxpbmcgZXhpdCgpCisgKiAgICAgICAgICB0byBhdm9pZCBsZWFrIHJlcG9ydHMgZnJvbSB2YWxncmluZCAhCisgKi8KKwordm9pZAoreG1sQ2xlYW51cFBhcnNlcih2b2lkKSB7CisgICAgaWYgKCF4bWxQYXJzZXJJbml0aWFsaXplZCkKKwlyZXR1cm47CisKKyAgICB4bWxDbGVhbnVwQ2hhckVuY29kaW5nSGFuZGxlcnMoKTsKKyNpZmRlZiBMSUJYTUxfQ0FUQUxPR19FTkFCTEVECisgICAgeG1sQ2F0YWxvZ0NsZWFudXAoKTsKKyNlbmRpZgorICAgIHhtbERpY3RDbGVhbnVwKCk7CisgICAgeG1sQ2xlYW51cElucHV0Q2FsbGJhY2tzKCk7CisjaWZkZWYgTElCWE1MX09VVFBVVF9FTkFCTEVECisgICAgeG1sQ2xlYW51cE91dHB1dENhbGxiYWNrcygpOworI2VuZGlmCisjaWZkZWYgTElCWE1MX1NDSEVNQVNfRU5BQkxFRAorICAgIHhtbFNjaGVtYUNsZWFudXBUeXBlcygpOworICAgIHhtbFJlbGF4TkdDbGVhbnVwVHlwZXMoKTsKKyNlbmRpZgorICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgeG1sQ2xlYW51cEdsb2JhbHMoKTsKKyAgICB4bWxDbGVhbnVwVGhyZWFkcygpOyAvKiBtdXN0IGJlIGxhc3QgaWYgY2FsbGVkIG5vdCBmcm9tIHRoZSBtYWluIHRocmVhZCAqLworICAgIHhtbENsZWFudXBNZW1vcnkoKTsKKyAgICB4bWxQYXJzZXJJbml0aWFsaXplZCA9IDA7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJTmV3IHNldCAoMi42LjApIG9mIHNpbXBsZXIgYW5kIG1vcmUgZmxleGlibGUgQVBJcwkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioKKyAqIERJQ1RfRlJFRToKKyAqIEBzdHI6ICBhIHN0cmluZworICoKKyAqIEZyZWUgYSBzdHJpbmcgaWYgaXQgaXMgbm90IG93bmVkIGJ5IHRoZSAiZGljdCIgZGljdGlvbm5hcnkgaW4gdGhlCisgKiBjdXJyZW50IHNjb3BlCisgKi8KKyNkZWZpbmUgRElDVF9GUkVFKHN0cikJCQkJCQlcCisJaWYgKChzdHIpICYmICgoIWRpY3QpIHx8CQkJCVwKKwkgICAgKHhtbERpY3RPd25zKGRpY3QsIChjb25zdCB4bWxDaGFyICopKHN0cikpID09IDApKSkJXAorCSAgICB4bWxGcmVlKChjaGFyICopKHN0cikpOworCisvKioKKyAqIHhtbEN0eHRSZXNldDoKKyAqIEBjdHh0OiBhbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqCisgKiBSZXNldCBhIHBhcnNlciBjb250ZXh0CisgKi8KK3ZvaWQKK3htbEN0eHRSZXNldCh4bWxQYXJzZXJDdHh0UHRyIGN0eHQpCit7CisgICAgeG1sUGFyc2VySW5wdXRQdHIgaW5wdXQ7CisgICAgeG1sRGljdFB0ciBkaWN0OworCisgICAgaWYgKGN0eHQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuOworCisgICAgZGljdCA9IGN0eHQtPmRpY3Q7CisKKyAgICB3aGlsZSAoKGlucHV0ID0gaW5wdXRQb3AoY3R4dCkpICE9IE5VTEwpIHsgLyogTm9uIGNvbnN1bWluZyAqLworICAgICAgICB4bWxGcmVlSW5wdXRTdHJlYW0oaW5wdXQpOworICAgIH0KKyAgICBjdHh0LT5pbnB1dE5yID0gMDsKKyAgICBjdHh0LT5pbnB1dCA9IE5VTEw7CisKKyAgICBjdHh0LT5zcGFjZU5yID0gMDsKKyAgICBpZiAoY3R4dC0+c3BhY2VUYWIgIT0gTlVMTCkgeworCWN0eHQtPnNwYWNlVGFiWzBdID0gLTE7CisJY3R4dC0+c3BhY2UgPSAmY3R4dC0+c3BhY2VUYWJbMF07CisgICAgfSBlbHNlIHsKKyAgICAgICAgY3R4dC0+c3BhY2UgPSBOVUxMOworICAgIH0KKworCisgICAgY3R4dC0+bm9kZU5yID0gMDsKKyAgICBjdHh0LT5ub2RlID0gTlVMTDsKKworICAgIGN0eHQtPm5hbWVOciA9IDA7CisgICAgY3R4dC0+bmFtZSA9IE5VTEw7CisKKyAgICBESUNUX0ZSRUUoY3R4dC0+dmVyc2lvbik7CisgICAgY3R4dC0+dmVyc2lvbiA9IE5VTEw7CisgICAgRElDVF9GUkVFKGN0eHQtPmVuY29kaW5nKTsKKyAgICBjdHh0LT5lbmNvZGluZyA9IE5VTEw7CisgICAgRElDVF9GUkVFKGN0eHQtPmRpcmVjdG9yeSk7CisgICAgY3R4dC0+ZGlyZWN0b3J5ID0gTlVMTDsKKyAgICBESUNUX0ZSRUUoY3R4dC0+ZXh0U3ViVVJJKTsKKyAgICBjdHh0LT5leHRTdWJVUkkgPSBOVUxMOworICAgIERJQ1RfRlJFRShjdHh0LT5leHRTdWJTeXN0ZW0pOworICAgIGN0eHQtPmV4dFN1YlN5c3RlbSA9IE5VTEw7CisgICAgaWYgKGN0eHQtPm15RG9jICE9IE5VTEwpCisgICAgICAgIHhtbEZyZWVEb2MoY3R4dC0+bXlEb2MpOworICAgIGN0eHQtPm15RG9jID0gTlVMTDsKKworICAgIGN0eHQtPnN0YW5kYWxvbmUgPSAtMTsKKyAgICBjdHh0LT5oYXNFeHRlcm5hbFN1YnNldCA9IDA7CisgICAgY3R4dC0+aGFzUEVyZWZzID0gMDsKKyAgICBjdHh0LT5odG1sID0gMDsKKyAgICBjdHh0LT5leHRlcm5hbCA9IDA7CisgICAgY3R4dC0+aW5zdGF0ZSA9IFhNTF9QQVJTRVJfU1RBUlQ7CisgICAgY3R4dC0+dG9rZW4gPSAwOworCisgICAgY3R4dC0+d2VsbEZvcm1lZCA9IDE7CisgICAgY3R4dC0+bnNXZWxsRm9ybWVkID0gMTsKKyAgICBjdHh0LT5kaXNhYmxlU0FYID0gMDsKKyAgICBjdHh0LT52YWxpZCA9IDE7CisjaWYgMAorICAgIGN0eHQtPnZjdHh0LnVzZXJEYXRhID0gY3R4dDsKKyAgICBjdHh0LT52Y3R4dC5lcnJvciA9IHhtbFBhcnNlclZhbGlkaXR5RXJyb3I7CisgICAgY3R4dC0+dmN0eHQud2FybmluZyA9IHhtbFBhcnNlclZhbGlkaXR5V2FybmluZzsKKyNlbmRpZgorICAgIGN0eHQtPnJlY29yZF9pbmZvID0gMDsKKyAgICBjdHh0LT5uYkNoYXJzID0gMDsKKyAgICBjdHh0LT5jaGVja0luZGV4ID0gMDsKKyAgICBjdHh0LT5pblN1YnNldCA9IDA7CisgICAgY3R4dC0+ZXJyTm8gPSBYTUxfRVJSX09LOworICAgIGN0eHQtPmRlcHRoID0gMDsKKyAgICBjdHh0LT5jaGFyc2V0ID0gWE1MX0NIQVJfRU5DT0RJTkdfVVRGODsKKyAgICBjdHh0LT5jYXRhbG9ncyA9IE5VTEw7CisgICAgY3R4dC0+bmJlbnRpdGllcyA9IDA7CisgICAgY3R4dC0+c2l6ZWVudGl0aWVzID0gMDsKKyAgICBjdHh0LT5zaXplZW50Y29weSA9IDA7CisgICAgeG1sSW5pdE5vZGVJbmZvU2VxKCZjdHh0LT5ub2RlX3NlcSk7CisKKyAgICBpZiAoY3R4dC0+YXR0c0RlZmF1bHQgIT0gTlVMTCkgeworICAgICAgICB4bWxIYXNoRnJlZShjdHh0LT5hdHRzRGVmYXVsdCwgKHhtbEhhc2hEZWFsbG9jYXRvcikgeG1sRnJlZSk7CisgICAgICAgIGN0eHQtPmF0dHNEZWZhdWx0ID0gTlVMTDsKKyAgICB9CisgICAgaWYgKGN0eHQtPmF0dHNTcGVjaWFsICE9IE5VTEwpIHsKKyAgICAgICAgeG1sSGFzaEZyZWUoY3R4dC0+YXR0c1NwZWNpYWwsIE5VTEwpOworICAgICAgICBjdHh0LT5hdHRzU3BlY2lhbCA9IE5VTEw7CisgICAgfQorCisjaWZkZWYgTElCWE1MX0NBVEFMT0dfRU5BQkxFRAorICAgIGlmIChjdHh0LT5jYXRhbG9ncyAhPSBOVUxMKQorCXhtbENhdGFsb2dGcmVlTG9jYWwoY3R4dC0+Y2F0YWxvZ3MpOworI2VuZGlmCisgICAgaWYgKGN0eHQtPmxhc3RFcnJvci5jb2RlICE9IFhNTF9FUlJfT0spCisgICAgICAgIHhtbFJlc2V0RXJyb3IoJmN0eHQtPmxhc3RFcnJvcik7Cit9CisKKy8qKgorICogeG1sQ3R4dFJlc2V0UHVzaDoKKyAqIEBjdHh0OiBhbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBjaHVuazogIGEgcG9pbnRlciB0byBhbiBhcnJheSBvZiBjaGFycworICogQHNpemU6ICBudW1iZXIgb2YgY2hhcnMgaW4gdGhlIGFycmF5CisgKiBAZmlsZW5hbWU6ICBhbiBvcHRpb25hbCBmaWxlIG5hbWUgb3IgVVJJCisgKiBAZW5jb2Rpbmc6ICB0aGUgZG9jdW1lbnQgZW5jb2RpbmcsIG9yIE5VTEwKKyAqCisgKiBSZXNldCBhIHB1c2ggcGFyc2VyIGNvbnRleHQKKyAqCisgKiBSZXR1cm5zIDAgaW4gY2FzZSBvZiBzdWNjZXNzIGFuZCAxIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworaW50Cit4bWxDdHh0UmVzZXRQdXNoKHhtbFBhcnNlckN0eHRQdHIgY3R4dCwgY29uc3QgY2hhciAqY2h1bmssCisgICAgICAgICAgICAgICAgIGludCBzaXplLCBjb25zdCBjaGFyICpmaWxlbmFtZSwgY29uc3QgY2hhciAqZW5jb2RpbmcpCit7CisgICAgeG1sUGFyc2VySW5wdXRQdHIgaW5wdXRTdHJlYW07CisgICAgeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIgYnVmOworICAgIHhtbENoYXJFbmNvZGluZyBlbmMgPSBYTUxfQ0hBUl9FTkNPRElOR19OT05FOworCisgICAgaWYgKGN0eHQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuKDEpOworCisgICAgaWYgKChlbmNvZGluZyA9PSBOVUxMKSAmJiAoY2h1bmsgIT0gTlVMTCkgJiYgKHNpemUgPj0gNCkpCisgICAgICAgIGVuYyA9IHhtbERldGVjdENoYXJFbmNvZGluZygoY29uc3QgeG1sQ2hhciAqKSBjaHVuaywgc2l6ZSk7CisKKyAgICBidWYgPSB4bWxBbGxvY1BhcnNlcklucHV0QnVmZmVyKGVuYyk7CisgICAgaWYgKGJ1ZiA9PSBOVUxMKQorICAgICAgICByZXR1cm4oMSk7CisKKyAgICBpZiAoY3R4dCA9PSBOVUxMKSB7CisgICAgICAgIHhtbEZyZWVQYXJzZXJJbnB1dEJ1ZmZlcihidWYpOworICAgICAgICByZXR1cm4oMSk7CisgICAgfQorCisgICAgeG1sQ3R4dFJlc2V0KGN0eHQpOworCisgICAgaWYgKGN0eHQtPnB1c2hUYWIgPT0gTlVMTCkgeworICAgICAgICBjdHh0LT5wdXNoVGFiID0gKHZvaWQgKiopIHhtbE1hbGxvYyhjdHh0LT5uYW1lTWF4ICogMyAqCisJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKHhtbENoYXIgKikpOworICAgICAgICBpZiAoY3R4dC0+cHVzaFRhYiA9PSBOVUxMKSB7CisJICAgIHhtbEVyck1lbW9yeShjdHh0LCBOVUxMKTsKKyAgICAgICAgICAgIHhtbEZyZWVQYXJzZXJJbnB1dEJ1ZmZlcihidWYpOworICAgICAgICAgICAgcmV0dXJuKDEpOworICAgICAgICB9CisgICAgfQorCisgICAgaWYgKGZpbGVuYW1lID09IE5VTEwpIHsKKyAgICAgICAgY3R4dC0+ZGlyZWN0b3J5ID0gTlVMTDsKKyAgICB9IGVsc2UgeworICAgICAgICBjdHh0LT5kaXJlY3RvcnkgPSB4bWxQYXJzZXJHZXREaXJlY3RvcnkoZmlsZW5hbWUpOworICAgIH0KKworICAgIGlucHV0U3RyZWFtID0geG1sTmV3SW5wdXRTdHJlYW0oY3R4dCk7CisgICAgaWYgKGlucHV0U3RyZWFtID09IE5VTEwpIHsKKyAgICAgICAgeG1sRnJlZVBhcnNlcklucHV0QnVmZmVyKGJ1Zik7CisgICAgICAgIHJldHVybigxKTsKKyAgICB9CisKKyAgICBpZiAoZmlsZW5hbWUgPT0gTlVMTCkKKyAgICAgICAgaW5wdXRTdHJlYW0tPmZpbGVuYW1lID0gTlVMTDsKKyAgICBlbHNlCisgICAgICAgIGlucHV0U3RyZWFtLT5maWxlbmFtZSA9IChjaGFyICopCisgICAgICAgICAgICB4bWxDYW5vbmljUGF0aCgoY29uc3QgeG1sQ2hhciAqKSBmaWxlbmFtZSk7CisgICAgaW5wdXRTdHJlYW0tPmJ1ZiA9IGJ1ZjsKKyAgICB4bWxCdWZSZXNldElucHV0KGJ1Zi0+YnVmZmVyLCBpbnB1dFN0cmVhbSk7CisKKyAgICBpbnB1dFB1c2goY3R4dCwgaW5wdXRTdHJlYW0pOworCisgICAgaWYgKChzaXplID4gMCkgJiYgKGNodW5rICE9IE5VTEwpICYmIChjdHh0LT5pbnB1dCAhPSBOVUxMKSAmJgorICAgICAgICAoY3R4dC0+aW5wdXQtPmJ1ZiAhPSBOVUxMKSkgeworCXNpemVfdCBiYXNlID0geG1sQnVmR2V0SW5wdXRCYXNlKGN0eHQtPmlucHV0LT5idWYtPmJ1ZmZlciwgY3R4dC0+aW5wdXQpOworICAgICAgICBzaXplX3QgY3VyID0gY3R4dC0+aW5wdXQtPmN1ciAtIGN0eHQtPmlucHV0LT5iYXNlOworCisgICAgICAgIHhtbFBhcnNlcklucHV0QnVmZmVyUHVzaChjdHh0LT5pbnB1dC0+YnVmLCBzaXplLCBjaHVuayk7CisKKyAgICAgICAgeG1sQnVmU2V0SW5wdXRCYXNlQ3VyKGN0eHQtPmlucHV0LT5idWYtPmJ1ZmZlciwgY3R4dC0+aW5wdXQsIGJhc2UsIGN1cik7CisjaWZkZWYgREVCVUdfUFVTSAorICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgIlBQOiBwdXNoZWQgJWRcbiIsIHNpemUpOworI2VuZGlmCisgICAgfQorCisgICAgaWYgKGVuY29kaW5nICE9IE5VTEwpIHsKKyAgICAgICAgeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0ciBoZGxyOworCisgICAgICAgIGlmIChjdHh0LT5lbmNvZGluZyAhPSBOVUxMKQorCSAgICB4bWxGcmVlKCh4bWxDaGFyICopIGN0eHQtPmVuY29kaW5nKTsKKyAgICAgICAgY3R4dC0+ZW5jb2RpbmcgPSB4bWxTdHJkdXAoKGNvbnN0IHhtbENoYXIgKikgZW5jb2RpbmcpOworCisgICAgICAgIGhkbHIgPSB4bWxGaW5kQ2hhckVuY29kaW5nSGFuZGxlcihlbmNvZGluZyk7CisgICAgICAgIGlmIChoZGxyICE9IE5VTEwpIHsKKyAgICAgICAgICAgIHhtbFN3aXRjaFRvRW5jb2RpbmcoY3R4dCwgaGRscik7CisJfSBlbHNlIHsKKwkgICAgeG1sRmF0YWxFcnJNc2dTdHIoY3R4dCwgWE1MX0VSUl9VTlNVUFBPUlRFRF9FTkNPRElORywKKwkJCSAgICAgICJVbnN1cHBvcnRlZCBlbmNvZGluZyAlc1xuIiwgQkFEX0NBU1QgZW5jb2RpbmcpOworICAgICAgICB9CisgICAgfSBlbHNlIGlmIChlbmMgIT0gWE1MX0NIQVJfRU5DT0RJTkdfTk9ORSkgeworICAgICAgICB4bWxTd2l0Y2hFbmNvZGluZyhjdHh0LCBlbmMpOworICAgIH0KKworICAgIHJldHVybigwKTsKK30KKworCisvKioKKyAqIHhtbEN0eHRVc2VPcHRpb25zSW50ZXJuYWw6CisgKiBAY3R4dDogYW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAb3B0aW9uczogIGEgY29tYmluYXRpb24gb2YgeG1sUGFyc2VyT3B0aW9uCisgKiBAZW5jb2Rpbmc6ICB0aGUgdXNlciBwcm92aWRlZCBlbmNvZGluZyB0byB1c2UKKyAqCisgKiBBcHBsaWVzIHRoZSBvcHRpb25zIHRvIHRoZSBwYXJzZXIgY29udGV4dAorICoKKyAqIFJldHVybnMgMCBpbiBjYXNlIG9mIHN1Y2Nlc3MsIHRoZSBzZXQgb2YgdW5rbm93biBvciB1bmltcGxlbWVudGVkIG9wdGlvbnMKKyAqICAgICAgICAgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworc3RhdGljIGludAoreG1sQ3R4dFVzZU9wdGlvbnNJbnRlcm5hbCh4bWxQYXJzZXJDdHh0UHRyIGN0eHQsIGludCBvcHRpb25zLCBjb25zdCBjaGFyICplbmNvZGluZykKK3sKKyAgICBpZiAoY3R4dCA9PSBOVUxMKQorICAgICAgICByZXR1cm4oLTEpOworICAgIGlmIChlbmNvZGluZyAhPSBOVUxMKSB7CisgICAgICAgIGlmIChjdHh0LT5lbmNvZGluZyAhPSBOVUxMKQorCSAgICB4bWxGcmVlKCh4bWxDaGFyICopIGN0eHQtPmVuY29kaW5nKTsKKyAgICAgICAgY3R4dC0+ZW5jb2RpbmcgPSB4bWxTdHJkdXAoKGNvbnN0IHhtbENoYXIgKikgZW5jb2RpbmcpOworICAgIH0KKyAgICBpZiAob3B0aW9ucyAmIFhNTF9QQVJTRV9SRUNPVkVSKSB7CisgICAgICAgIGN0eHQtPnJlY292ZXJ5ID0gMTsKKyAgICAgICAgb3B0aW9ucyAtPSBYTUxfUEFSU0VfUkVDT1ZFUjsKKwljdHh0LT5vcHRpb25zIHw9IFhNTF9QQVJTRV9SRUNPVkVSOworICAgIH0gZWxzZQorICAgICAgICBjdHh0LT5yZWNvdmVyeSA9IDA7CisgICAgaWYgKG9wdGlvbnMgJiBYTUxfUEFSU0VfRFRETE9BRCkgeworICAgICAgICBjdHh0LT5sb2Fkc3Vic2V0ID0gWE1MX0RFVEVDVF9JRFM7CisgICAgICAgIG9wdGlvbnMgLT0gWE1MX1BBUlNFX0RURExPQUQ7CisJY3R4dC0+b3B0aW9ucyB8PSBYTUxfUEFSU0VfRFRETE9BRDsKKyAgICB9IGVsc2UKKyAgICAgICAgY3R4dC0+bG9hZHN1YnNldCA9IDA7CisgICAgaWYgKG9wdGlvbnMgJiBYTUxfUEFSU0VfRFREQVRUUikgeworICAgICAgICBjdHh0LT5sb2Fkc3Vic2V0IHw9IFhNTF9DT01QTEVURV9BVFRSUzsKKyAgICAgICAgb3B0aW9ucyAtPSBYTUxfUEFSU0VfRFREQVRUUjsKKwljdHh0LT5vcHRpb25zIHw9IFhNTF9QQVJTRV9EVERBVFRSOworICAgIH0KKyAgICBpZiAob3B0aW9ucyAmIFhNTF9QQVJTRV9OT0VOVCkgeworICAgICAgICBjdHh0LT5yZXBsYWNlRW50aXRpZXMgPSAxOworICAgICAgICAvKiBjdHh0LT5sb2Fkc3Vic2V0IHw9IFhNTF9ERVRFQ1RfSURTOyAqLworICAgICAgICBvcHRpb25zIC09IFhNTF9QQVJTRV9OT0VOVDsKKwljdHh0LT5vcHRpb25zIHw9IFhNTF9QQVJTRV9OT0VOVDsKKyAgICB9IGVsc2UKKyAgICAgICAgY3R4dC0+cmVwbGFjZUVudGl0aWVzID0gMDsKKyAgICBpZiAob3B0aW9ucyAmIFhNTF9QQVJTRV9QRURBTlRJQykgeworICAgICAgICBjdHh0LT5wZWRhbnRpYyA9IDE7CisgICAgICAgIG9wdGlvbnMgLT0gWE1MX1BBUlNFX1BFREFOVElDOworCWN0eHQtPm9wdGlvbnMgfD0gWE1MX1BBUlNFX1BFREFOVElDOworICAgIH0gZWxzZQorICAgICAgICBjdHh0LT5wZWRhbnRpYyA9IDA7CisgICAgaWYgKG9wdGlvbnMgJiBYTUxfUEFSU0VfTk9CTEFOS1MpIHsKKyAgICAgICAgY3R4dC0+a2VlcEJsYW5rcyA9IDA7CisgICAgICAgIGN0eHQtPnNheC0+aWdub3JhYmxlV2hpdGVzcGFjZSA9IHhtbFNBWDJJZ25vcmFibGVXaGl0ZXNwYWNlOworICAgICAgICBvcHRpb25zIC09IFhNTF9QQVJTRV9OT0JMQU5LUzsKKwljdHh0LT5vcHRpb25zIHw9IFhNTF9QQVJTRV9OT0JMQU5LUzsKKyAgICB9IGVsc2UKKyAgICAgICAgY3R4dC0+a2VlcEJsYW5rcyA9IDE7CisgICAgaWYgKG9wdGlvbnMgJiBYTUxfUEFSU0VfRFREVkFMSUQpIHsKKyAgICAgICAgY3R4dC0+dmFsaWRhdGUgPSAxOworICAgICAgICBpZiAob3B0aW9ucyAmIFhNTF9QQVJTRV9OT1dBUk5JTkcpCisgICAgICAgICAgICBjdHh0LT52Y3R4dC53YXJuaW5nID0gTlVMTDsKKyAgICAgICAgaWYgKG9wdGlvbnMgJiBYTUxfUEFSU0VfTk9FUlJPUikKKyAgICAgICAgICAgIGN0eHQtPnZjdHh0LmVycm9yID0gTlVMTDsKKyAgICAgICAgb3B0aW9ucyAtPSBYTUxfUEFSU0VfRFREVkFMSUQ7CisJY3R4dC0+b3B0aW9ucyB8PSBYTUxfUEFSU0VfRFREVkFMSUQ7CisgICAgfSBlbHNlCisgICAgICAgIGN0eHQtPnZhbGlkYXRlID0gMDsKKyAgICBpZiAob3B0aW9ucyAmIFhNTF9QQVJTRV9OT1dBUk5JTkcpIHsKKyAgICAgICAgY3R4dC0+c2F4LT53YXJuaW5nID0gTlVMTDsKKyAgICAgICAgb3B0aW9ucyAtPSBYTUxfUEFSU0VfTk9XQVJOSU5HOworICAgIH0KKyAgICBpZiAob3B0aW9ucyAmIFhNTF9QQVJTRV9OT0VSUk9SKSB7CisgICAgICAgIGN0eHQtPnNheC0+ZXJyb3IgPSBOVUxMOworICAgICAgICBjdHh0LT5zYXgtPmZhdGFsRXJyb3IgPSBOVUxMOworICAgICAgICBvcHRpb25zIC09IFhNTF9QQVJTRV9OT0VSUk9SOworICAgIH0KKyNpZmRlZiBMSUJYTUxfU0FYMV9FTkFCTEVECisgICAgaWYgKG9wdGlvbnMgJiBYTUxfUEFSU0VfU0FYMSkgeworICAgICAgICBjdHh0LT5zYXgtPnN0YXJ0RWxlbWVudCA9IHhtbFNBWDJTdGFydEVsZW1lbnQ7CisgICAgICAgIGN0eHQtPnNheC0+ZW5kRWxlbWVudCA9IHhtbFNBWDJFbmRFbGVtZW50OworICAgICAgICBjdHh0LT5zYXgtPnN0YXJ0RWxlbWVudE5zID0gTlVMTDsKKyAgICAgICAgY3R4dC0+c2F4LT5lbmRFbGVtZW50TnMgPSBOVUxMOworICAgICAgICBjdHh0LT5zYXgtPmluaXRpYWxpemVkID0gMTsKKyAgICAgICAgb3B0aW9ucyAtPSBYTUxfUEFSU0VfU0FYMTsKKwljdHh0LT5vcHRpb25zIHw9IFhNTF9QQVJTRV9TQVgxOworICAgIH0KKyNlbmRpZiAvKiBMSUJYTUxfU0FYMV9FTkFCTEVEICovCisgICAgaWYgKG9wdGlvbnMgJiBYTUxfUEFSU0VfTk9ESUNUKSB7CisgICAgICAgIGN0eHQtPmRpY3ROYW1lcyA9IDA7CisgICAgICAgIG9wdGlvbnMgLT0gWE1MX1BBUlNFX05PRElDVDsKKwljdHh0LT5vcHRpb25zIHw9IFhNTF9QQVJTRV9OT0RJQ1Q7CisgICAgfSBlbHNlIHsKKyAgICAgICAgY3R4dC0+ZGljdE5hbWVzID0gMTsKKyAgICB9CisgICAgaWYgKG9wdGlvbnMgJiBYTUxfUEFSU0VfTk9DREFUQSkgeworICAgICAgICBjdHh0LT5zYXgtPmNkYXRhQmxvY2sgPSBOVUxMOworICAgICAgICBvcHRpb25zIC09IFhNTF9QQVJTRV9OT0NEQVRBOworCWN0eHQtPm9wdGlvbnMgfD0gWE1MX1BBUlNFX05PQ0RBVEE7CisgICAgfQorICAgIGlmIChvcHRpb25zICYgWE1MX1BBUlNFX05TQ0xFQU4pIHsKKwljdHh0LT5vcHRpb25zIHw9IFhNTF9QQVJTRV9OU0NMRUFOOworICAgICAgICBvcHRpb25zIC09IFhNTF9QQVJTRV9OU0NMRUFOOworICAgIH0KKyAgICBpZiAob3B0aW9ucyAmIFhNTF9QQVJTRV9OT05FVCkgeworCWN0eHQtPm9wdGlvbnMgfD0gWE1MX1BBUlNFX05PTkVUOworICAgICAgICBvcHRpb25zIC09IFhNTF9QQVJTRV9OT05FVDsKKyAgICB9CisgICAgaWYgKG9wdGlvbnMgJiBYTUxfUEFSU0VfQ09NUEFDVCkgeworCWN0eHQtPm9wdGlvbnMgfD0gWE1MX1BBUlNFX0NPTVBBQ1Q7CisgICAgICAgIG9wdGlvbnMgLT0gWE1MX1BBUlNFX0NPTVBBQ1Q7CisgICAgfQorICAgIGlmIChvcHRpb25zICYgWE1MX1BBUlNFX09MRDEwKSB7CisJY3R4dC0+b3B0aW9ucyB8PSBYTUxfUEFSU0VfT0xEMTA7CisgICAgICAgIG9wdGlvbnMgLT0gWE1MX1BBUlNFX09MRDEwOworICAgIH0KKyAgICBpZiAob3B0aW9ucyAmIFhNTF9QQVJTRV9OT0JBU0VGSVgpIHsKKwljdHh0LT5vcHRpb25zIHw9IFhNTF9QQVJTRV9OT0JBU0VGSVg7CisgICAgICAgIG9wdGlvbnMgLT0gWE1MX1BBUlNFX05PQkFTRUZJWDsKKyAgICB9CisgICAgaWYgKG9wdGlvbnMgJiBYTUxfUEFSU0VfSFVHRSkgeworCWN0eHQtPm9wdGlvbnMgfD0gWE1MX1BBUlNFX0hVR0U7CisgICAgICAgIG9wdGlvbnMgLT0gWE1MX1BBUlNFX0hVR0U7CisgICAgICAgIGlmIChjdHh0LT5kaWN0ICE9IE5VTEwpCisgICAgICAgICAgICB4bWxEaWN0U2V0TGltaXQoY3R4dC0+ZGljdCwgMCk7CisgICAgfQorICAgIGlmIChvcHRpb25zICYgWE1MX1BBUlNFX09MRFNBWCkgeworCWN0eHQtPm9wdGlvbnMgfD0gWE1MX1BBUlNFX09MRFNBWDsKKyAgICAgICAgb3B0aW9ucyAtPSBYTUxfUEFSU0VfT0xEU0FYOworICAgIH0KKyAgICBpZiAob3B0aW9ucyAmIFhNTF9QQVJTRV9JR05PUkVfRU5DKSB7CisJY3R4dC0+b3B0aW9ucyB8PSBYTUxfUEFSU0VfSUdOT1JFX0VOQzsKKyAgICAgICAgb3B0aW9ucyAtPSBYTUxfUEFSU0VfSUdOT1JFX0VOQzsKKyAgICB9CisgICAgaWYgKG9wdGlvbnMgJiBYTUxfUEFSU0VfQklHX0xJTkVTKSB7CisJY3R4dC0+b3B0aW9ucyB8PSBYTUxfUEFSU0VfQklHX0xJTkVTOworICAgICAgICBvcHRpb25zIC09IFhNTF9QQVJTRV9CSUdfTElORVM7CisgICAgfQorICAgIGN0eHQtPmxpbmVudW1iZXJzID0gMTsKKyAgICByZXR1cm4gKG9wdGlvbnMpOworfQorCisvKioKKyAqIHhtbEN0eHRVc2VPcHRpb25zOgorICogQGN0eHQ6IGFuIFhNTCBwYXJzZXIgY29udGV4dAorICogQG9wdGlvbnM6ICBhIGNvbWJpbmF0aW9uIG9mIHhtbFBhcnNlck9wdGlvbgorICoKKyAqIEFwcGxpZXMgdGhlIG9wdGlvbnMgdG8gdGhlIHBhcnNlciBjb250ZXh0CisgKgorICogUmV0dXJucyAwIGluIGNhc2Ugb2Ygc3VjY2VzcywgdGhlIHNldCBvZiB1bmtub3duIG9yIHVuaW1wbGVtZW50ZWQgb3B0aW9ucworICogICAgICAgICBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQKK3htbEN0eHRVc2VPcHRpb25zKHhtbFBhcnNlckN0eHRQdHIgY3R4dCwgaW50IG9wdGlvbnMpCit7CisgICByZXR1cm4oeG1sQ3R4dFVzZU9wdGlvbnNJbnRlcm5hbChjdHh0LCBvcHRpb25zLCBOVUxMKSk7Cit9CisKKy8qKgorICogeG1sRG9SZWFkOgorICogQGN0eHQ6ICBhbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBVUkw6ICB0aGUgYmFzZSBVUkwgdG8gdXNlIGZvciB0aGUgZG9jdW1lbnQKKyAqIEBlbmNvZGluZzogIHRoZSBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTAorICogQG9wdGlvbnM6ICBhIGNvbWJpbmF0aW9uIG9mIHhtbFBhcnNlck9wdGlvbgorICogQHJldXNlOiAga2VlcCB0aGUgY29udGV4dCBmb3IgcmV1c2UKKyAqCisgKiBDb21tb24gZnJvbnQtZW5kIGZvciB0aGUgeG1sUmVhZCBmdW5jdGlvbnMKKyAqCisgKiBSZXR1cm5zIHRoZSByZXN1bHRpbmcgZG9jdW1lbnQgdHJlZSBvciBOVUxMCisgKi8KK3N0YXRpYyB4bWxEb2NQdHIKK3htbERvUmVhZCh4bWxQYXJzZXJDdHh0UHRyIGN0eHQsIGNvbnN0IGNoYXIgKlVSTCwgY29uc3QgY2hhciAqZW5jb2RpbmcsCisgICAgICAgICAgaW50IG9wdGlvbnMsIGludCByZXVzZSkKK3sKKyAgICB4bWxEb2NQdHIgcmV0OworCisgICAgeG1sQ3R4dFVzZU9wdGlvbnNJbnRlcm5hbChjdHh0LCBvcHRpb25zLCBlbmNvZGluZyk7CisgICAgaWYgKGVuY29kaW5nICE9IE5VTEwpIHsKKyAgICAgICAgeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0ciBoZGxyOworCisJaGRsciA9IHhtbEZpbmRDaGFyRW5jb2RpbmdIYW5kbGVyKGVuY29kaW5nKTsKKwlpZiAoaGRsciAhPSBOVUxMKQorCSAgICB4bWxTd2l0Y2hUb0VuY29kaW5nKGN0eHQsIGhkbHIpOworICAgIH0KKyAgICBpZiAoKFVSTCAhPSBOVUxMKSAmJiAoY3R4dC0+aW5wdXQgIT0gTlVMTCkgJiYKKyAgICAgICAgKGN0eHQtPmlucHV0LT5maWxlbmFtZSA9PSBOVUxMKSkKKyAgICAgICAgY3R4dC0+aW5wdXQtPmZpbGVuYW1lID0gKGNoYXIgKikgeG1sU3RyZHVwKChjb25zdCB4bWxDaGFyICopIFVSTCk7CisgICAgeG1sUGFyc2VEb2N1bWVudChjdHh0KTsKKyAgICBpZiAoKGN0eHQtPndlbGxGb3JtZWQpIHx8IGN0eHQtPnJlY292ZXJ5KQorICAgICAgICByZXQgPSBjdHh0LT5teURvYzsKKyAgICBlbHNlIHsKKyAgICAgICAgcmV0ID0gTlVMTDsKKwlpZiAoY3R4dC0+bXlEb2MgIT0gTlVMTCkgeworCSAgICB4bWxGcmVlRG9jKGN0eHQtPm15RG9jKTsKKwl9CisgICAgfQorICAgIGN0eHQtPm15RG9jID0gTlVMTDsKKyAgICBpZiAoIXJldXNlKSB7CisJeG1sRnJlZVBhcnNlckN0eHQoY3R4dCk7CisgICAgfQorCisgICAgcmV0dXJuIChyZXQpOworfQorCisvKioKKyAqIHhtbFJlYWREb2M6CisgKiBAY3VyOiAgYSBwb2ludGVyIHRvIGEgemVybyB0ZXJtaW5hdGVkIHN0cmluZworICogQFVSTDogIHRoZSBiYXNlIFVSTCB0byB1c2UgZm9yIHRoZSBkb2N1bWVudAorICogQGVuY29kaW5nOiAgdGhlIGRvY3VtZW50IGVuY29kaW5nLCBvciBOVUxMCisgKiBAb3B0aW9uczogIGEgY29tYmluYXRpb24gb2YgeG1sUGFyc2VyT3B0aW9uCisgKgorICogcGFyc2UgYW4gWE1MIGluLW1lbW9yeSBkb2N1bWVudCBhbmQgYnVpbGQgYSB0cmVlLgorICoKKyAqIFJldHVybnMgdGhlIHJlc3VsdGluZyBkb2N1bWVudCB0cmVlCisgKi8KK3htbERvY1B0cgoreG1sUmVhZERvYyhjb25zdCB4bWxDaGFyICogY3VyLCBjb25zdCBjaGFyICpVUkwsIGNvbnN0IGNoYXIgKmVuY29kaW5nLCBpbnQgb3B0aW9ucykKK3sKKyAgICB4bWxQYXJzZXJDdHh0UHRyIGN0eHQ7CisKKyAgICBpZiAoY3VyID09IE5VTEwpCisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgeG1sSW5pdFBhcnNlcigpOworCisgICAgY3R4dCA9IHhtbENyZWF0ZURvY1BhcnNlckN0eHQoY3VyKTsKKyAgICBpZiAoY3R4dCA9PSBOVUxMKQorICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIHJldHVybiAoeG1sRG9SZWFkKGN0eHQsIFVSTCwgZW5jb2RpbmcsIG9wdGlvbnMsIDApKTsKK30KKworLyoqCisgKiB4bWxSZWFkRmlsZToKKyAqIEBmaWxlbmFtZTogIGEgZmlsZSBvciBVUkwKKyAqIEBlbmNvZGluZzogIHRoZSBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTAorICogQG9wdGlvbnM6ICBhIGNvbWJpbmF0aW9uIG9mIHhtbFBhcnNlck9wdGlvbgorICoKKyAqIHBhcnNlIGFuIFhNTCBmaWxlIGZyb20gdGhlIGZpbGVzeXN0ZW0gb3IgdGhlIG5ldHdvcmsuCisgKgorICogUmV0dXJucyB0aGUgcmVzdWx0aW5nIGRvY3VtZW50IHRyZWUKKyAqLworeG1sRG9jUHRyCit4bWxSZWFkRmlsZShjb25zdCBjaGFyICpmaWxlbmFtZSwgY29uc3QgY2hhciAqZW5jb2RpbmcsIGludCBvcHRpb25zKQoreworICAgIHhtbFBhcnNlckN0eHRQdHIgY3R4dDsKKworICAgIHhtbEluaXRQYXJzZXIoKTsKKyAgICBjdHh0ID0geG1sQ3JlYXRlVVJMUGFyc2VyQ3R4dChmaWxlbmFtZSwgb3B0aW9ucyk7CisgICAgaWYgKGN0eHQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICByZXR1cm4gKHhtbERvUmVhZChjdHh0LCBOVUxMLCBlbmNvZGluZywgb3B0aW9ucywgMCkpOworfQorCisvKioKKyAqIHhtbFJlYWRNZW1vcnk6CisgKiBAYnVmZmVyOiAgYSBwb2ludGVyIHRvIGEgY2hhciBhcnJheQorICogQHNpemU6ICB0aGUgc2l6ZSBvZiB0aGUgYXJyYXkKKyAqIEBVUkw6ICB0aGUgYmFzZSBVUkwgdG8gdXNlIGZvciB0aGUgZG9jdW1lbnQKKyAqIEBlbmNvZGluZzogIHRoZSBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTAorICogQG9wdGlvbnM6ICBhIGNvbWJpbmF0aW9uIG9mIHhtbFBhcnNlck9wdGlvbgorICoKKyAqIHBhcnNlIGFuIFhNTCBpbi1tZW1vcnkgZG9jdW1lbnQgYW5kIGJ1aWxkIGEgdHJlZS4KKyAqCisgKiBSZXR1cm5zIHRoZSByZXN1bHRpbmcgZG9jdW1lbnQgdHJlZQorICovCit4bWxEb2NQdHIKK3htbFJlYWRNZW1vcnkoY29uc3QgY2hhciAqYnVmZmVyLCBpbnQgc2l6ZSwgY29uc3QgY2hhciAqVVJMLCBjb25zdCBjaGFyICplbmNvZGluZywgaW50IG9wdGlvbnMpCit7CisgICAgeG1sUGFyc2VyQ3R4dFB0ciBjdHh0OworCisgICAgeG1sSW5pdFBhcnNlcigpOworICAgIGN0eHQgPSB4bWxDcmVhdGVNZW1vcnlQYXJzZXJDdHh0KGJ1ZmZlciwgc2l6ZSk7CisgICAgaWYgKGN0eHQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICByZXR1cm4gKHhtbERvUmVhZChjdHh0LCBVUkwsIGVuY29kaW5nLCBvcHRpb25zLCAwKSk7Cit9CisKKy8qKgorICogeG1sUmVhZEZkOgorICogQGZkOiAgYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3IKKyAqIEBVUkw6ICB0aGUgYmFzZSBVUkwgdG8gdXNlIGZvciB0aGUgZG9jdW1lbnQKKyAqIEBlbmNvZGluZzogIHRoZSBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTAorICogQG9wdGlvbnM6ICBhIGNvbWJpbmF0aW9uIG9mIHhtbFBhcnNlck9wdGlvbgorICoKKyAqIHBhcnNlIGFuIFhNTCBmcm9tIGEgZmlsZSBkZXNjcmlwdG9yIGFuZCBidWlsZCBhIHRyZWUuCisgKiBOT1RFIHRoYXQgdGhlIGZpbGUgZGVzY3JpcHRvciB3aWxsIG5vdCBiZSBjbG9zZWQgd2hlbiB0aGUKKyAqICAgICAgcmVhZGVyIGlzIGNsb3NlZCBvciByZXNldC4KKyAqCisgKiBSZXR1cm5zIHRoZSByZXN1bHRpbmcgZG9jdW1lbnQgdHJlZQorICovCit4bWxEb2NQdHIKK3htbFJlYWRGZChpbnQgZmQsIGNvbnN0IGNoYXIgKlVSTCwgY29uc3QgY2hhciAqZW5jb2RpbmcsIGludCBvcHRpb25zKQoreworICAgIHhtbFBhcnNlckN0eHRQdHIgY3R4dDsKKyAgICB4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciBpbnB1dDsKKyAgICB4bWxQYXJzZXJJbnB1dFB0ciBzdHJlYW07CisKKyAgICBpZiAoZmQgPCAwKQorICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIHhtbEluaXRQYXJzZXIoKTsKKworICAgIGlucHV0ID0geG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGZChmZCwgWE1MX0NIQVJfRU5DT0RJTkdfTk9ORSk7CisgICAgaWYgKGlucHV0ID09IE5VTEwpCisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgaW5wdXQtPmNsb3NlY2FsbGJhY2sgPSBOVUxMOworICAgIGN0eHQgPSB4bWxOZXdQYXJzZXJDdHh0KCk7CisgICAgaWYgKGN0eHQgPT0gTlVMTCkgeworICAgICAgICB4bWxGcmVlUGFyc2VySW5wdXRCdWZmZXIoaW5wdXQpOworICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIH0KKyAgICBzdHJlYW0gPSB4bWxOZXdJT0lucHV0U3RyZWFtKGN0eHQsIGlucHV0LCBYTUxfQ0hBUl9FTkNPRElOR19OT05FKTsKKyAgICBpZiAoc3RyZWFtID09IE5VTEwpIHsKKyAgICAgICAgeG1sRnJlZVBhcnNlcklucHV0QnVmZmVyKGlucHV0KTsKKwl4bWxGcmVlUGFyc2VyQ3R4dChjdHh0KTsKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICB9CisgICAgaW5wdXRQdXNoKGN0eHQsIHN0cmVhbSk7CisgICAgcmV0dXJuICh4bWxEb1JlYWQoY3R4dCwgVVJMLCBlbmNvZGluZywgb3B0aW9ucywgMCkpOworfQorCisvKioKKyAqIHhtbFJlYWRJTzoKKyAqIEBpb3JlYWQ6ICBhbiBJL08gcmVhZCBmdW5jdGlvbgorICogQGlvY2xvc2U6ICBhbiBJL08gY2xvc2UgZnVuY3Rpb24KKyAqIEBpb2N0eDogIGFuIEkvTyBoYW5kbGVyCisgKiBAVVJMOiAgdGhlIGJhc2UgVVJMIHRvIHVzZSBmb3IgdGhlIGRvY3VtZW50CisgKiBAZW5jb2Rpbmc6ICB0aGUgZG9jdW1lbnQgZW5jb2RpbmcsIG9yIE5VTEwKKyAqIEBvcHRpb25zOiAgYSBjb21iaW5hdGlvbiBvZiB4bWxQYXJzZXJPcHRpb24KKyAqCisgKiBwYXJzZSBhbiBYTUwgZG9jdW1lbnQgZnJvbSBJL08gZnVuY3Rpb25zIGFuZCBzb3VyY2UgYW5kIGJ1aWxkIGEgdHJlZS4KKyAqCisgKiBSZXR1cm5zIHRoZSByZXN1bHRpbmcgZG9jdW1lbnQgdHJlZQorICovCit4bWxEb2NQdHIKK3htbFJlYWRJTyh4bWxJbnB1dFJlYWRDYWxsYmFjayBpb3JlYWQsIHhtbElucHV0Q2xvc2VDYWxsYmFjayBpb2Nsb3NlLAorICAgICAgICAgIHZvaWQgKmlvY3R4LCBjb25zdCBjaGFyICpVUkwsIGNvbnN0IGNoYXIgKmVuY29kaW5nLCBpbnQgb3B0aW9ucykKK3sKKyAgICB4bWxQYXJzZXJDdHh0UHRyIGN0eHQ7CisgICAgeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIgaW5wdXQ7CisgICAgeG1sUGFyc2VySW5wdXRQdHIgc3RyZWFtOworCisgICAgaWYgKGlvcmVhZCA9PSBOVUxMKQorICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIHhtbEluaXRQYXJzZXIoKTsKKworICAgIGlucHV0ID0geG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVJTyhpb3JlYWQsIGlvY2xvc2UsIGlvY3R4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfQ0hBUl9FTkNPRElOR19OT05FKTsKKyAgICBpZiAoaW5wdXQgPT0gTlVMTCkgeworICAgICAgICBpZiAoaW9jbG9zZSAhPSBOVUxMKQorICAgICAgICAgICAgaW9jbG9zZShpb2N0eCk7CisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgfQorICAgIGN0eHQgPSB4bWxOZXdQYXJzZXJDdHh0KCk7CisgICAgaWYgKGN0eHQgPT0gTlVMTCkgeworICAgICAgICB4bWxGcmVlUGFyc2VySW5wdXRCdWZmZXIoaW5wdXQpOworICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIH0KKyAgICBzdHJlYW0gPSB4bWxOZXdJT0lucHV0U3RyZWFtKGN0eHQsIGlucHV0LCBYTUxfQ0hBUl9FTkNPRElOR19OT05FKTsKKyAgICBpZiAoc3RyZWFtID09IE5VTEwpIHsKKyAgICAgICAgeG1sRnJlZVBhcnNlcklucHV0QnVmZmVyKGlucHV0KTsKKwl4bWxGcmVlUGFyc2VyQ3R4dChjdHh0KTsKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICB9CisgICAgaW5wdXRQdXNoKGN0eHQsIHN0cmVhbSk7CisgICAgcmV0dXJuICh4bWxEb1JlYWQoY3R4dCwgVVJMLCBlbmNvZGluZywgb3B0aW9ucywgMCkpOworfQorCisvKioKKyAqIHhtbEN0eHRSZWFkRG9jOgorICogQGN0eHQ6ICBhbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBjdXI6ICBhIHBvaW50ZXIgdG8gYSB6ZXJvIHRlcm1pbmF0ZWQgc3RyaW5nCisgKiBAVVJMOiAgdGhlIGJhc2UgVVJMIHRvIHVzZSBmb3IgdGhlIGRvY3VtZW50CisgKiBAZW5jb2Rpbmc6ICB0aGUgZG9jdW1lbnQgZW5jb2RpbmcsIG9yIE5VTEwKKyAqIEBvcHRpb25zOiAgYSBjb21iaW5hdGlvbiBvZiB4bWxQYXJzZXJPcHRpb24KKyAqCisgKiBwYXJzZSBhbiBYTUwgaW4tbWVtb3J5IGRvY3VtZW50IGFuZCBidWlsZCBhIHRyZWUuCisgKiBUaGlzIHJldXNlcyB0aGUgZXhpc3RpbmcgQGN0eHQgcGFyc2VyIGNvbnRleHQKKyAqCisgKiBSZXR1cm5zIHRoZSByZXN1bHRpbmcgZG9jdW1lbnQgdHJlZQorICovCit4bWxEb2NQdHIKK3htbEN0eHRSZWFkRG9jKHhtbFBhcnNlckN0eHRQdHIgY3R4dCwgY29uc3QgeG1sQ2hhciAqIGN1ciwKKyAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKlVSTCwgY29uc3QgY2hhciAqZW5jb2RpbmcsIGludCBvcHRpb25zKQoreworICAgIHhtbFBhcnNlcklucHV0UHRyIHN0cmVhbTsKKworICAgIGlmIChjdXIgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICBpZiAoY3R4dCA9PSBOVUxMKQorICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIHhtbEluaXRQYXJzZXIoKTsKKworICAgIHhtbEN0eHRSZXNldChjdHh0KTsKKworICAgIHN0cmVhbSA9IHhtbE5ld1N0cmluZ0lucHV0U3RyZWFtKGN0eHQsIGN1cik7CisgICAgaWYgKHN0cmVhbSA9PSBOVUxMKSB7CisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgfQorICAgIGlucHV0UHVzaChjdHh0LCBzdHJlYW0pOworICAgIHJldHVybiAoeG1sRG9SZWFkKGN0eHQsIFVSTCwgZW5jb2RpbmcsIG9wdGlvbnMsIDEpKTsKK30KKworLyoqCisgKiB4bWxDdHh0UmVhZEZpbGU6CisgKiBAY3R4dDogIGFuIFhNTCBwYXJzZXIgY29udGV4dAorICogQGZpbGVuYW1lOiAgYSBmaWxlIG9yIFVSTAorICogQGVuY29kaW5nOiAgdGhlIGRvY3VtZW50IGVuY29kaW5nLCBvciBOVUxMCisgKiBAb3B0aW9uczogIGEgY29tYmluYXRpb24gb2YgeG1sUGFyc2VyT3B0aW9uCisgKgorICogcGFyc2UgYW4gWE1MIGZpbGUgZnJvbSB0aGUgZmlsZXN5c3RlbSBvciB0aGUgbmV0d29yay4KKyAqIFRoaXMgcmV1c2VzIHRoZSBleGlzdGluZyBAY3R4dCBwYXJzZXIgY29udGV4dAorICoKKyAqIFJldHVybnMgdGhlIHJlc3VsdGluZyBkb2N1bWVudCB0cmVlCisgKi8KK3htbERvY1B0cgoreG1sQ3R4dFJlYWRGaWxlKHhtbFBhcnNlckN0eHRQdHIgY3R4dCwgY29uc3QgY2hhciAqZmlsZW5hbWUsCisgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZW5jb2RpbmcsIGludCBvcHRpb25zKQoreworICAgIHhtbFBhcnNlcklucHV0UHRyIHN0cmVhbTsKKworICAgIGlmIChmaWxlbmFtZSA9PSBOVUxMKQorICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIGlmIChjdHh0ID09IE5VTEwpCisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgeG1sSW5pdFBhcnNlcigpOworCisgICAgeG1sQ3R4dFJlc2V0KGN0eHQpOworCisgICAgc3RyZWFtID0geG1sTG9hZEV4dGVybmFsRW50aXR5KGZpbGVuYW1lLCBOVUxMLCBjdHh0KTsKKyAgICBpZiAoc3RyZWFtID09IE5VTEwpIHsKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICB9CisgICAgaW5wdXRQdXNoKGN0eHQsIHN0cmVhbSk7CisgICAgcmV0dXJuICh4bWxEb1JlYWQoY3R4dCwgTlVMTCwgZW5jb2RpbmcsIG9wdGlvbnMsIDEpKTsKK30KKworLyoqCisgKiB4bWxDdHh0UmVhZE1lbW9yeToKKyAqIEBjdHh0OiAgYW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAYnVmZmVyOiAgYSBwb2ludGVyIHRvIGEgY2hhciBhcnJheQorICogQHNpemU6ICB0aGUgc2l6ZSBvZiB0aGUgYXJyYXkKKyAqIEBVUkw6ICB0aGUgYmFzZSBVUkwgdG8gdXNlIGZvciB0aGUgZG9jdW1lbnQKKyAqIEBlbmNvZGluZzogIHRoZSBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTAorICogQG9wdGlvbnM6ICBhIGNvbWJpbmF0aW9uIG9mIHhtbFBhcnNlck9wdGlvbgorICoKKyAqIHBhcnNlIGFuIFhNTCBpbi1tZW1vcnkgZG9jdW1lbnQgYW5kIGJ1aWxkIGEgdHJlZS4KKyAqIFRoaXMgcmV1c2VzIHRoZSBleGlzdGluZyBAY3R4dCBwYXJzZXIgY29udGV4dAorICoKKyAqIFJldHVybnMgdGhlIHJlc3VsdGluZyBkb2N1bWVudCB0cmVlCisgKi8KK3htbERvY1B0cgoreG1sQ3R4dFJlYWRNZW1vcnkoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0LCBjb25zdCBjaGFyICpidWZmZXIsIGludCBzaXplLAorICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqVVJMLCBjb25zdCBjaGFyICplbmNvZGluZywgaW50IG9wdGlvbnMpCit7CisgICAgeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIgaW5wdXQ7CisgICAgeG1sUGFyc2VySW5wdXRQdHIgc3RyZWFtOworCisgICAgaWYgKGN0eHQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICBpZiAoYnVmZmVyID09IE5VTEwpCisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgeG1sSW5pdFBhcnNlcigpOworCisgICAgeG1sQ3R4dFJlc2V0KGN0eHQpOworCisgICAgaW5wdXQgPSB4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZU1lbShidWZmZXIsIHNpemUsIFhNTF9DSEFSX0VOQ09ESU5HX05PTkUpOworICAgIGlmIChpbnB1dCA9PSBOVUxMKSB7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKworICAgIHN0cmVhbSA9IHhtbE5ld0lPSW5wdXRTdHJlYW0oY3R4dCwgaW5wdXQsIFhNTF9DSEFSX0VOQ09ESU5HX05PTkUpOworICAgIGlmIChzdHJlYW0gPT0gTlVMTCkgeworCXhtbEZyZWVQYXJzZXJJbnB1dEJ1ZmZlcihpbnB1dCk7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKworICAgIGlucHV0UHVzaChjdHh0LCBzdHJlYW0pOworICAgIHJldHVybiAoeG1sRG9SZWFkKGN0eHQsIFVSTCwgZW5jb2RpbmcsIG9wdGlvbnMsIDEpKTsKK30KKworLyoqCisgKiB4bWxDdHh0UmVhZEZkOgorICogQGN0eHQ6ICBhbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBmZDogIGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yCisgKiBAVVJMOiAgdGhlIGJhc2UgVVJMIHRvIHVzZSBmb3IgdGhlIGRvY3VtZW50CisgKiBAZW5jb2Rpbmc6ICB0aGUgZG9jdW1lbnQgZW5jb2RpbmcsIG9yIE5VTEwKKyAqIEBvcHRpb25zOiAgYSBjb21iaW5hdGlvbiBvZiB4bWxQYXJzZXJPcHRpb24KKyAqCisgKiBwYXJzZSBhbiBYTUwgZnJvbSBhIGZpbGUgZGVzY3JpcHRvciBhbmQgYnVpbGQgYSB0cmVlLgorICogVGhpcyByZXVzZXMgdGhlIGV4aXN0aW5nIEBjdHh0IHBhcnNlciBjb250ZXh0CisgKiBOT1RFIHRoYXQgdGhlIGZpbGUgZGVzY3JpcHRvciB3aWxsIG5vdCBiZSBjbG9zZWQgd2hlbiB0aGUKKyAqICAgICAgcmVhZGVyIGlzIGNsb3NlZCBvciByZXNldC4KKyAqCisgKiBSZXR1cm5zIHRoZSByZXN1bHRpbmcgZG9jdW1lbnQgdHJlZQorICovCit4bWxEb2NQdHIKK3htbEN0eHRSZWFkRmQoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0LCBpbnQgZmQsCisgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKlVSTCwgY29uc3QgY2hhciAqZW5jb2RpbmcsIGludCBvcHRpb25zKQoreworICAgIHhtbFBhcnNlcklucHV0QnVmZmVyUHRyIGlucHV0OworICAgIHhtbFBhcnNlcklucHV0UHRyIHN0cmVhbTsKKworICAgIGlmIChmZCA8IDApCisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgaWYgKGN0eHQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICB4bWxJbml0UGFyc2VyKCk7CisKKyAgICB4bWxDdHh0UmVzZXQoY3R4dCk7CisKKworICAgIGlucHV0ID0geG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGZChmZCwgWE1MX0NIQVJfRU5DT0RJTkdfTk9ORSk7CisgICAgaWYgKGlucHV0ID09IE5VTEwpCisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgaW5wdXQtPmNsb3NlY2FsbGJhY2sgPSBOVUxMOworICAgIHN0cmVhbSA9IHhtbE5ld0lPSW5wdXRTdHJlYW0oY3R4dCwgaW5wdXQsIFhNTF9DSEFSX0VOQ09ESU5HX05PTkUpOworICAgIGlmIChzdHJlYW0gPT0gTlVMTCkgeworICAgICAgICB4bWxGcmVlUGFyc2VySW5wdXRCdWZmZXIoaW5wdXQpOworICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIH0KKyAgICBpbnB1dFB1c2goY3R4dCwgc3RyZWFtKTsKKyAgICByZXR1cm4gKHhtbERvUmVhZChjdHh0LCBVUkwsIGVuY29kaW5nLCBvcHRpb25zLCAxKSk7Cit9CisKKy8qKgorICogeG1sQ3R4dFJlYWRJTzoKKyAqIEBjdHh0OiAgYW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAaW9yZWFkOiAgYW4gSS9PIHJlYWQgZnVuY3Rpb24KKyAqIEBpb2Nsb3NlOiAgYW4gSS9PIGNsb3NlIGZ1bmN0aW9uCisgKiBAaW9jdHg6ICBhbiBJL08gaGFuZGxlcgorICogQFVSTDogIHRoZSBiYXNlIFVSTCB0byB1c2UgZm9yIHRoZSBkb2N1bWVudAorICogQGVuY29kaW5nOiAgdGhlIGRvY3VtZW50IGVuY29kaW5nLCBvciBOVUxMCisgKiBAb3B0aW9uczogIGEgY29tYmluYXRpb24gb2YgeG1sUGFyc2VyT3B0aW9uCisgKgorICogcGFyc2UgYW4gWE1MIGRvY3VtZW50IGZyb20gSS9PIGZ1bmN0aW9ucyBhbmQgc291cmNlIGFuZCBidWlsZCBhIHRyZWUuCisgKiBUaGlzIHJldXNlcyB0aGUgZXhpc3RpbmcgQGN0eHQgcGFyc2VyIGNvbnRleHQKKyAqCisgKiBSZXR1cm5zIHRoZSByZXN1bHRpbmcgZG9jdW1lbnQgdHJlZQorICovCit4bWxEb2NQdHIKK3htbEN0eHRSZWFkSU8oeG1sUGFyc2VyQ3R4dFB0ciBjdHh0LCB4bWxJbnB1dFJlYWRDYWxsYmFjayBpb3JlYWQsCisgICAgICAgICAgICAgIHhtbElucHV0Q2xvc2VDYWxsYmFjayBpb2Nsb3NlLCB2b2lkICppb2N0eCwKKwkgICAgICBjb25zdCBjaGFyICpVUkwsCisgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmVuY29kaW5nLCBpbnQgb3B0aW9ucykKK3sKKyAgICB4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciBpbnB1dDsKKyAgICB4bWxQYXJzZXJJbnB1dFB0ciBzdHJlYW07CisKKyAgICBpZiAoaW9yZWFkID09IE5VTEwpCisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgaWYgKGN0eHQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICB4bWxJbml0UGFyc2VyKCk7CisKKyAgICB4bWxDdHh0UmVzZXQoY3R4dCk7CisKKyAgICBpbnB1dCA9IHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlSU8oaW9yZWFkLCBpb2Nsb3NlLCBpb2N0eCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWE1MX0NIQVJfRU5DT0RJTkdfTk9ORSk7CisgICAgaWYgKGlucHV0ID09IE5VTEwpIHsKKyAgICAgICAgaWYgKGlvY2xvc2UgIT0gTlVMTCkKKyAgICAgICAgICAgIGlvY2xvc2UoaW9jdHgpOworICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIH0KKyAgICBzdHJlYW0gPSB4bWxOZXdJT0lucHV0U3RyZWFtKGN0eHQsIGlucHV0LCBYTUxfQ0hBUl9FTkNPRElOR19OT05FKTsKKyAgICBpZiAoc3RyZWFtID09IE5VTEwpIHsKKyAgICAgICAgeG1sRnJlZVBhcnNlcklucHV0QnVmZmVyKGlucHV0KTsKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICB9CisgICAgaW5wdXRQdXNoKGN0eHQsIHN0cmVhbSk7CisgICAgcmV0dXJuICh4bWxEb1JlYWQoY3R4dCwgVVJMLCBlbmNvZGluZywgb3B0aW9ucywgMSkpOworfQorCisjZGVmaW5lIGJvdHRvbV9wYXJzZXIKKyNpbmNsdWRlICJlbGZnY2NoYWNrLmgiCmRpZmYgLS1naXQgYS9saWJ4bWwyL3BhcnNlckludGVybmFscy5jIGIvbGlieG1sMi9wYXJzZXJJbnRlcm5hbHMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZjIwNGZkCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9wYXJzZXJJbnRlcm5hbHMuYwpAQCAtMCwwICsxLDIxNDAgQEAKKy8qCisgKiBwYXJzZXJJbnRlcm5hbHMuYyA6IEludGVybmFsIHJvdXRpbmVzIChhbmQgb2Jzb2xldGUgb25lcykgbmVlZGVkIGZvciB0aGUKKyAqICAgICAgICAgICAgICAgICAgICAgWE1MIGFuZCBIVE1MIHBhcnNlcnMuCisgKgorICogU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgorICoKKyAqIGRhbmllbEB2ZWlsbGFyZC5jb20KKyAqLworCisjZGVmaW5lIElOX0xJQlhNTAorI2luY2x1ZGUgImxpYnhtbC5oIgorCisjaWYgZGVmaW5lZChXSU4zMikgJiYgIWRlZmluZWQgKF9fQ1lHV0lOX18pCisjZGVmaW5lIFhNTF9ESVJfU0VQICdcXCcKKyNlbHNlCisjZGVmaW5lIFhNTF9ESVJfU0VQICcvJworI2VuZGlmCisKKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpZmRlZiBIQVZFX0NUWVBFX0gKKyNpbmNsdWRlIDxjdHlwZS5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9TVERMSUJfSAorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNlbmRpZgorI2lmZGVmIEhBVkVfRkNOVExfSAorI2luY2x1ZGUgPGZjbnRsLmg+CisjZW5kaWYKKyNpZmRlZiBIQVZFX1VOSVNURF9ICisjaW5jbHVkZSA8dW5pc3RkLmg+CisjZW5kaWYKKyNpZmRlZiBIQVZFX1pMSUJfSAorI2luY2x1ZGUgPHpsaWIuaD4KKyNlbmRpZgorCisjaW5jbHVkZSA8bGlieG1sL3htbG1lbW9yeS5oPgorI2luY2x1ZGUgPGxpYnhtbC90cmVlLmg+CisjaW5jbHVkZSA8bGlieG1sL3BhcnNlci5oPgorI2luY2x1ZGUgPGxpYnhtbC9wYXJzZXJJbnRlcm5hbHMuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvdmFsaWQuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvZW50aXRpZXMuaD4KKyNpbmNsdWRlIDxsaWJ4bWwveG1sZXJyb3IuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvZW5jb2RpbmcuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvdmFsaWQuaD4KKyNpbmNsdWRlIDxsaWJ4bWwveG1sSU8uaD4KKyNpbmNsdWRlIDxsaWJ4bWwvdXJpLmg+CisjaW5jbHVkZSA8bGlieG1sL2RpY3QuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvU0FYLmg+CisjaWZkZWYgTElCWE1MX0NBVEFMT0dfRU5BQkxFRAorI2luY2x1ZGUgPGxpYnhtbC9jYXRhbG9nLmg+CisjZW5kaWYKKyNpbmNsdWRlIDxsaWJ4bWwvZ2xvYmFscy5oPgorI2luY2x1ZGUgPGxpYnhtbC9jaHZhbGlkLmg+CisKKyNpbmNsdWRlICJidWYuaCIKKyNpbmNsdWRlICJlbmMuaCIKKworLyoKKyAqIFZhcmlvdXMgZ2xvYmFsIGRlZmF1bHRzIGZvciBwYXJzaW5nCisgKi8KKworLyoqCisgKiB4bWxDaGVja1ZlcnNpb246CisgKiBAdmVyc2lvbjogdGhlIGluY2x1ZGUgdmVyc2lvbiBudW1iZXIKKyAqCisgKiBjaGVjayB0aGUgY29tcGlsZWQgbGliIHZlcnNpb24gYWdhaW5zdCB0aGUgaW5jbHVkZSBvbmUuCisgKiBUaGlzIGNhbiB3YXJuIG9yIGltbWVkaWF0ZWx5IGtpbGwgdGhlIGFwcGxpY2F0aW9uCisgKi8KK3ZvaWQKK3htbENoZWNrVmVyc2lvbihpbnQgdmVyc2lvbikgeworICAgIGludCBteXZlcnNpb24gPSAoaW50KSBMSUJYTUxfVkVSU0lPTjsKKworICAgIHhtbEluaXRQYXJzZXIoKTsKKworICAgIGlmICgobXl2ZXJzaW9uIC8gMTAwMDApICE9ICh2ZXJzaW9uIC8gMTAwMDApKSB7CisJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSJGYXRhbDogcHJvZ3JhbSBjb21waWxlZCBhZ2FpbnN0IGxpYnhtbCAlZCB1c2luZyBsaWJ4bWwgJWRcbiIsCisJCSh2ZXJzaW9uIC8gMTAwMDApLCAobXl2ZXJzaW9uIC8gMTAwMDApKTsKKwlmcHJpbnRmKHN0ZGVyciwKKwkJIkZhdGFsOiBwcm9ncmFtIGNvbXBpbGVkIGFnYWluc3QgbGlieG1sICVkIHVzaW5nIGxpYnhtbCAlZFxuIiwKKwkJKHZlcnNpb24gLyAxMDAwMCksIChteXZlcnNpb24gLyAxMDAwMCkpOworICAgIH0KKyAgICBpZiAoKG15dmVyc2lvbiAvIDEwMCkgPCAodmVyc2lvbiAvIDEwMCkpIHsKKwl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJIldhcm5pbmc6IHByb2dyYW0gY29tcGlsZWQgYWdhaW5zdCBsaWJ4bWwgJWQgdXNpbmcgb2xkZXIgJWRcbiIsCisJCSh2ZXJzaW9uIC8gMTAwKSwgKG15dmVyc2lvbiAvIDEwMCkpOworICAgIH0KK30KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQlTb21lIGZhY3Rvcml6ZWQgZXJyb3Igcm91dGluZXMJCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisKKy8qKgorICogeG1sRXJyTWVtb3J5OgorICogQGN0eHQ6ICBhbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBleHRyYTogIGV4dHJhIGluZm9ybWF0aW9ucworICoKKyAqIEhhbmRsZSBhIHJlZGVmaW5pdGlvbiBvZiBhdHRyaWJ1dGUgZXJyb3IKKyAqLwordm9pZAoreG1sRXJyTWVtb3J5KHhtbFBhcnNlckN0eHRQdHIgY3R4dCwgY29uc3QgY2hhciAqZXh0cmEpCit7CisgICAgaWYgKChjdHh0ICE9IE5VTEwpICYmIChjdHh0LT5kaXNhYmxlU0FYICE9IDApICYmCisgICAgICAgIChjdHh0LT5pbnN0YXRlID09IFhNTF9QQVJTRVJfRU9GKSkKKwlyZXR1cm47CisgICAgaWYgKGN0eHQgIT0gTlVMTCkgeworICAgICAgICBjdHh0LT5lcnJObyA9IFhNTF9FUlJfTk9fTUVNT1JZOworICAgICAgICBjdHh0LT5pbnN0YXRlID0gWE1MX1BBUlNFUl9FT0Y7CisgICAgICAgIGN0eHQtPmRpc2FibGVTQVggPSAxOworICAgIH0KKyAgICBpZiAoZXh0cmEpCisgICAgICAgIF9feG1sUmFpc2VFcnJvcihOVUxMLCBOVUxMLCBOVUxMLCBjdHh0LCBOVUxMLCBYTUxfRlJPTV9QQVJTRVIsCisgICAgICAgICAgICAgICAgICAgICAgICBYTUxfRVJSX05PX01FTU9SWSwgWE1MX0VSUl9GQVRBTCwgTlVMTCwgMCwgZXh0cmEsCisgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCBOVUxMLCAwLCAwLAorICAgICAgICAgICAgICAgICAgICAgICAgIk1lbW9yeSBhbGxvY2F0aW9uIGZhaWxlZCA6ICVzXG4iLCBleHRyYSk7CisgICAgZWxzZQorICAgICAgICBfX3htbFJhaXNlRXJyb3IoTlVMTCwgTlVMTCwgTlVMTCwgY3R4dCwgTlVMTCwgWE1MX0ZST01fUEFSU0VSLAorICAgICAgICAgICAgICAgICAgICAgICAgWE1MX0VSUl9OT19NRU1PUlksIFhNTF9FUlJfRkFUQUwsIE5VTEwsIDAsIE5VTEwsCisgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCBOVUxMLCAwLCAwLCAiTWVtb3J5IGFsbG9jYXRpb24gZmFpbGVkXG4iKTsKK30KKworLyoqCisgKiBfX3htbEVyckVuY29kaW5nOgorICogQGN0eHQ6ICBhbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEB4bWxlcnI6ICB0aGUgZXJyb3IgbnVtYmVyCisgKiBAbXNnOiAgdGhlIGVycm9yIG1lc3NhZ2UKKyAqIEBzdHIxOiAgYW4gc3RyaW5nIGluZm8KKyAqIEBzdHIyOiAgYW4gc3RyaW5nIGluZm8KKyAqCisgKiBIYW5kbGUgYW4gZW5jb2RpbmcgZXJyb3IKKyAqLwordm9pZAorX194bWxFcnJFbmNvZGluZyh4bWxQYXJzZXJDdHh0UHRyIGN0eHQsIHhtbFBhcnNlckVycm9ycyB4bWxlcnIsCisgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKm1zZywgY29uc3QgeG1sQ2hhciAqIHN0cjEsIGNvbnN0IHhtbENoYXIgKiBzdHIyKQoreworICAgIGlmICgoY3R4dCAhPSBOVUxMKSAmJiAoY3R4dC0+ZGlzYWJsZVNBWCAhPSAwKSAmJgorICAgICAgICAoY3R4dC0+aW5zdGF0ZSA9PSBYTUxfUEFSU0VSX0VPRikpCisJcmV0dXJuOworICAgIGlmIChjdHh0ICE9IE5VTEwpCisgICAgICAgIGN0eHQtPmVyck5vID0geG1sZXJyOworICAgIF9feG1sUmFpc2VFcnJvcihOVUxMLCBOVUxMLCBOVUxMLAorICAgICAgICAgICAgICAgICAgICBjdHh0LCBOVUxMLCBYTUxfRlJPTV9QQVJTRVIsIHhtbGVyciwgWE1MX0VSUl9GQVRBTCwKKyAgICAgICAgICAgICAgICAgICAgTlVMTCwgMCwgKGNvbnN0IGNoYXIgKikgc3RyMSwgKGNvbnN0IGNoYXIgKikgc3RyMiwKKyAgICAgICAgICAgICAgICAgICAgTlVMTCwgMCwgMCwgbXNnLCBzdHIxLCBzdHIyKTsKKyAgICBpZiAoY3R4dCAhPSBOVUxMKSB7CisgICAgICAgIGN0eHQtPndlbGxGb3JtZWQgPSAwOworICAgICAgICBpZiAoY3R4dC0+cmVjb3ZlcnkgPT0gMCkKKyAgICAgICAgICAgIGN0eHQtPmRpc2FibGVTQVggPSAxOworICAgIH0KK30KKworLyoqCisgKiB4bWxFcnJJbnRlcm5hbDoKKyAqIEBjdHh0OiAgYW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAbXNnOiAgdGhlIGVycm9yIG1lc3NhZ2UKKyAqIEBzdHI6ICBlcnJvciBpbmZvcm1hdGlvbnMKKyAqCisgKiBIYW5kbGUgYW4gaW50ZXJuYWwgZXJyb3IKKyAqLworc3RhdGljIHZvaWQKK3htbEVyckludGVybmFsKHhtbFBhcnNlckN0eHRQdHIgY3R4dCwgY29uc3QgY2hhciAqbXNnLCBjb25zdCB4bWxDaGFyICogc3RyKQoreworICAgIGlmICgoY3R4dCAhPSBOVUxMKSAmJiAoY3R4dC0+ZGlzYWJsZVNBWCAhPSAwKSAmJgorICAgICAgICAoY3R4dC0+aW5zdGF0ZSA9PSBYTUxfUEFSU0VSX0VPRikpCisJcmV0dXJuOworICAgIGlmIChjdHh0ICE9IE5VTEwpCisgICAgICAgIGN0eHQtPmVyck5vID0gWE1MX0VSUl9JTlRFUk5BTF9FUlJPUjsKKyAgICBfX3htbFJhaXNlRXJyb3IoTlVMTCwgTlVMTCwgTlVMTCwKKyAgICAgICAgICAgICAgICAgICAgY3R4dCwgTlVMTCwgWE1MX0ZST01fUEFSU0VSLCBYTUxfRVJSX0lOVEVSTkFMX0VSUk9SLAorICAgICAgICAgICAgICAgICAgICBYTUxfRVJSX0ZBVEFMLCBOVUxMLCAwLCAoY29uc3QgY2hhciAqKSBzdHIsIE5VTEwsIE5VTEwsCisgICAgICAgICAgICAgICAgICAgIDAsIDAsIG1zZywgc3RyKTsKKyAgICBpZiAoY3R4dCAhPSBOVUxMKSB7CisgICAgICAgIGN0eHQtPndlbGxGb3JtZWQgPSAwOworICAgICAgICBpZiAoY3R4dC0+cmVjb3ZlcnkgPT0gMCkKKyAgICAgICAgICAgIGN0eHQtPmRpc2FibGVTQVggPSAxOworICAgIH0KK30KKworLyoqCisgKiB4bWxFcnJFbmNvZGluZ0ludDoKKyAqIEBjdHh0OiAgYW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAZXJyb3I6ICB0aGUgZXJyb3IgbnVtYmVyCisgKiBAbXNnOiAgdGhlIGVycm9yIG1lc3NhZ2UKKyAqIEB2YWw6ICBhbiBpbnRlZ2VyIHZhbHVlCisgKgorICogbiBlbmNvZGluZyBlcnJvcgorICovCitzdGF0aWMgdm9pZAoreG1sRXJyRW5jb2RpbmdJbnQoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0LCB4bWxQYXJzZXJFcnJvcnMgZXJyb3IsCisgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICptc2csIGludCB2YWwpCit7CisgICAgaWYgKChjdHh0ICE9IE5VTEwpICYmIChjdHh0LT5kaXNhYmxlU0FYICE9IDApICYmCisgICAgICAgIChjdHh0LT5pbnN0YXRlID09IFhNTF9QQVJTRVJfRU9GKSkKKwlyZXR1cm47CisgICAgaWYgKGN0eHQgIT0gTlVMTCkKKyAgICAgICAgY3R4dC0+ZXJyTm8gPSBlcnJvcjsKKyAgICBfX3htbFJhaXNlRXJyb3IoTlVMTCwgTlVMTCwgTlVMTCwKKyAgICAgICAgICAgICAgICAgICAgY3R4dCwgTlVMTCwgWE1MX0ZST01fUEFSU0VSLCBlcnJvciwgWE1MX0VSUl9GQVRBTCwKKyAgICAgICAgICAgICAgICAgICAgTlVMTCwgMCwgTlVMTCwgTlVMTCwgTlVMTCwgdmFsLCAwLCBtc2csIHZhbCk7CisgICAgaWYgKGN0eHQgIT0gTlVMTCkgeworICAgICAgICBjdHh0LT53ZWxsRm9ybWVkID0gMDsKKyAgICAgICAgaWYgKGN0eHQtPnJlY292ZXJ5ID09IDApCisgICAgICAgICAgICBjdHh0LT5kaXNhYmxlU0FYID0gMTsKKyAgICB9Cit9CisKKy8qKgorICogeG1sSXNMZXR0ZXI6CisgKiBAYzogIGFuIHVuaWNvZGUgY2hhcmFjdGVyIChpbnQpCisgKgorICogQ2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIGFsbG93ZWQgYnkgdGhlIHByb2R1Y3Rpb24KKyAqIFs4NF0gTGV0dGVyIDo6PSBCYXNlQ2hhciB8IElkZW9ncmFwaGljCisgKgorICogUmV0dXJucyAwIGlmIG5vdCwgbm9uLXplcm8gb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sSXNMZXR0ZXIoaW50IGMpIHsKKyAgICByZXR1cm4oSVNfQkFTRUNIQVIoYykgfHwgSVNfSURFT0dSQVBISUMoYykpOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQlJbnB1dCBoYW5kbGluZyBmdW5jdGlvbnMgZm9yIHByb2dyZXNzaXZlIHBhcnNpbmcJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKiAjZGVmaW5lIERFQlVHX0lOUFVUICovCisvKiAjZGVmaW5lIERFQlVHX1NUQUNLICovCisvKiAjZGVmaW5lIERFQlVHX1BVU0ggKi8KKworCisvKiB3ZSBuZWVkIHRvIGtlZXAgZW5vdWdoIGlucHV0IHRvIHNob3cgZXJyb3JzIGluIGNvbnRleHQgKi8KKyNkZWZpbmUgTElORV9MRU4gICAgICAgIDgwCisKKyNpZmRlZiBERUJVR19JTlBVVAorI2RlZmluZSBDSEVDS19CVUZGRVIoaW4pIGNoZWNrX2J1ZmZlcihpbikKKworc3RhdGljCit2b2lkIGNoZWNrX2J1ZmZlcih4bWxQYXJzZXJJbnB1dFB0ciBpbikgeworICAgIGlmIChpbi0+YmFzZSAhPSB4bWxCdWZDb250ZW50KGluLT5idWYtPmJ1ZmZlcikpIHsKKyAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSJ4bWxQYXJzZXJJbnB1dDogYmFzZSBtaXNtYXRjaCBwcm9ibGVtXG4iKTsKKyAgICB9CisgICAgaWYgKGluLT5jdXIgPCBpbi0+YmFzZSkgeworICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJInhtbFBhcnNlcklucHV0OiBjdXIgPCBiYXNlIHByb2JsZW1cbiIpOworICAgIH0KKyAgICBpZiAoaW4tPmN1ciA+IGluLT5iYXNlICsgeG1sQnVmVXNlKGluLT5idWYtPmJ1ZmZlcikpIHsKKyAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSJ4bWxQYXJzZXJJbnB1dDogY3VyID4gYmFzZSArIHVzZSBwcm9ibGVtXG4iKTsKKyAgICB9CisgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsImJ1ZmZlciAleCA6IGNvbnRlbnQgJXgsIGN1ciAlZCwgdXNlICVkXG4iLAorICAgICAgICAgICAgKGludCkgaW4sIChpbnQpIHhtbEJ1ZkNvbnRlbnQoaW4tPmJ1Zi0+YnVmZmVyKSwgaW4tPmN1ciAtIGluLT5iYXNlLAorCSAgICB4bWxCdWZVc2UoaW4tPmJ1Zi0+YnVmZmVyKSk7Cit9CisKKyNlbHNlCisjZGVmaW5lIENIRUNLX0JVRkZFUihpbikKKyNlbmRpZgorCisKKy8qKgorICogeG1sUGFyc2VySW5wdXRSZWFkOgorICogQGluOiAgYW4gWE1MIHBhcnNlciBpbnB1dAorICogQGxlbjogIGFuIGluZGljYXRpdmUgc2l6ZSBmb3IgdGhlIGxvb2thaGVhZAorICoKKyAqIFRoaXMgZnVuY3Rpb24gd2FzIGludGVybmFsIGFuZCBpcyBkZXByZWNhdGVkLgorICoKKyAqIFJldHVybnMgLTEgYXMgdGhpcyBpcyBhbiBlcnJvciB0byB1c2UgaXQuCisgKi8KK2ludAoreG1sUGFyc2VySW5wdXRSZWFkKHhtbFBhcnNlcklucHV0UHRyIGluIEFUVFJJQlVURV9VTlVTRUQsIGludCBsZW4gQVRUUklCVVRFX1VOVVNFRCkgeworICAgIHJldHVybigtMSk7Cit9CisKKy8qKgorICogeG1sUGFyc2VySW5wdXRHcm93OgorICogQGluOiAgYW4gWE1MIHBhcnNlciBpbnB1dAorICogQGxlbjogIGFuIGluZGljYXRpdmUgc2l6ZSBmb3IgdGhlIGxvb2thaGVhZAorICoKKyAqIFRoaXMgZnVuY3Rpb24gaW5jcmVhc2UgdGhlIGlucHV0IGZvciB0aGUgcGFyc2VyLiBJdCB0cmllcyB0bworICogcHJlc2VydmUgcG9pbnRlcnMgdG8gdGhlIGlucHV0IGJ1ZmZlciwgYW5kIGtlZXAgYWxyZWFkeSByZWFkIGRhdGEKKyAqCisgKiBSZXR1cm5zIHRoZSBhbW91bnQgb2YgY2hhciByZWFkLCBvciAtMSBpbiBjYXNlIG9mIGVycm9yLCAwIGluZGljYXRlIHRoZQorICogZW5kIG9mIHRoaXMgZW50aXR5CisgKi8KK2ludAoreG1sUGFyc2VySW5wdXRHcm93KHhtbFBhcnNlcklucHV0UHRyIGluLCBpbnQgbGVuKSB7CisgICAgc2l6ZV90IHJldDsKKyAgICBzaXplX3QgaW5keDsKKyAgICBjb25zdCB4bWxDaGFyICpjb250ZW50OworCisgICAgaWYgKChpbiA9PSBOVUxMKSB8fCAobGVuIDwgMCkpIHJldHVybigtMSk7CisjaWZkZWYgREVCVUdfSU5QVVQKKyAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgIkdyb3dcbiIpOworI2VuZGlmCisgICAgaWYgKGluLT5idWYgPT0gTlVMTCkgcmV0dXJuKC0xKTsKKyAgICBpZiAoaW4tPmJhc2UgPT0gTlVMTCkgcmV0dXJuKC0xKTsKKyAgICBpZiAoaW4tPmN1ciA9PSBOVUxMKSByZXR1cm4oLTEpOworICAgIGlmIChpbi0+YnVmLT5idWZmZXIgPT0gTlVMTCkgcmV0dXJuKC0xKTsKKworICAgIENIRUNLX0JVRkZFUihpbik7CisKKyAgICBpbmR4ID0gaW4tPmN1ciAtIGluLT5iYXNlOworICAgIGlmICh4bWxCdWZVc2UoaW4tPmJ1Zi0+YnVmZmVyKSA+ICh1bnNpZ25lZCBpbnQpIGluZHggKyBJTlBVVF9DSFVOSykgeworCisJQ0hFQ0tfQlVGRkVSKGluKTsKKworICAgICAgICByZXR1cm4oMCk7CisgICAgfQorICAgIGlmIChpbi0+YnVmLT5yZWFkY2FsbGJhY2sgIT0gTlVMTCkgeworCXJldCA9IHhtbFBhcnNlcklucHV0QnVmZmVyR3Jvdyhpbi0+YnVmLCBsZW4pOworICAgIH0gZWxzZQorICAgICAgICByZXR1cm4oMCk7CisKKyAgICAvKgorICAgICAqIE5PVEUgOiBpbi0+YmFzZSBtYXkgYmUgYSAiZGFuZ2xpbmciIGkuZS4gZnJlZWQgcG9pbnRlciBpbiB0aGlzCisgICAgICogICAgICAgIGJsb2NrLCBidXQgd2UgdXNlIGl0IHJlYWxseSBhcyBhbiBpbnRlZ2VyIHRvIGRvIHNvbWUKKyAgICAgKiAgICAgICAgcG9pbnRlciBhcml0aG1ldGljLiBJbnN1cmUgd2lsbCByYWlzZSBpdCBhcyBhIGJ1ZyBidXQgaW4KKyAgICAgKiAgICAgICAgdGhhdCBzcGVjaWZpYyBjYXNlLCB0aGF0J3Mgbm90ICEKKyAgICAgKi8KKworICAgIGNvbnRlbnQgPSB4bWxCdWZDb250ZW50KGluLT5idWYtPmJ1ZmZlcik7CisgICAgaWYgKGluLT5iYXNlICE9IGNvbnRlbnQpIHsKKyAgICAgICAgLyoKKwkgKiB0aGUgYnVmZmVyIGhhcyBiZWVuIHJlYWxsb2NhdGVkCisJICovCisJaW5keCA9IGluLT5jdXIgLSBpbi0+YmFzZTsKKwlpbi0+YmFzZSA9IGNvbnRlbnQ7CisJaW4tPmN1ciA9ICZjb250ZW50W2luZHhdOworICAgIH0KKyAgICBpbi0+ZW5kID0geG1sQnVmRW5kKGluLT5idWYtPmJ1ZmZlcik7CisKKyAgICBDSEVDS19CVUZGRVIoaW4pOworCisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogeG1sUGFyc2VySW5wdXRTaHJpbms6CisgKiBAaW46ICBhbiBYTUwgcGFyc2VyIGlucHV0CisgKgorICogVGhpcyBmdW5jdGlvbiByZW1vdmVzIHVzZWQgaW5wdXQgZm9yIHRoZSBwYXJzZXIuCisgKi8KK3ZvaWQKK3htbFBhcnNlcklucHV0U2hyaW5rKHhtbFBhcnNlcklucHV0UHRyIGluKSB7CisgICAgc2l6ZV90IHVzZWQ7CisgICAgc2l6ZV90IHJldDsKKyAgICBzaXplX3QgaW5keDsKKyAgICBjb25zdCB4bWxDaGFyICpjb250ZW50OworCisjaWZkZWYgREVCVUdfSU5QVVQKKyAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgIlNocmlua1xuIik7CisjZW5kaWYKKyAgICBpZiAoaW4gPT0gTlVMTCkgcmV0dXJuOworICAgIGlmIChpbi0+YnVmID09IE5VTEwpIHJldHVybjsKKyAgICBpZiAoaW4tPmJhc2UgPT0gTlVMTCkgcmV0dXJuOworICAgIGlmIChpbi0+Y3VyID09IE5VTEwpIHJldHVybjsKKyAgICBpZiAoaW4tPmJ1Zi0+YnVmZmVyID09IE5VTEwpIHJldHVybjsKKworICAgIENIRUNLX0JVRkZFUihpbik7CisKKyAgICB1c2VkID0gaW4tPmN1ciAtIHhtbEJ1ZkNvbnRlbnQoaW4tPmJ1Zi0+YnVmZmVyKTsKKyAgICAvKgorICAgICAqIERvIG5vdCBzaHJpbmsgb24gbGFyZ2UgYnVmZmVycyB3aG9zZSBvbmx5IGEgdGlueSBmcmFjdGlvbgorICAgICAqIHdhcyBjb25zdW1lZAorICAgICAqLworICAgIGlmICh1c2VkID4gSU5QVVRfQ0hVTkspIHsKKwlyZXQgPSB4bWxCdWZTaHJpbmsoaW4tPmJ1Zi0+YnVmZmVyLCB1c2VkIC0gTElORV9MRU4pOworCWlmIChyZXQgPiAwKSB7CisJICAgIGluLT5jdXIgLT0gcmV0OworCSAgICBpbi0+Y29uc3VtZWQgKz0gcmV0OworCX0KKwlpbi0+ZW5kID0geG1sQnVmRW5kKGluLT5idWYtPmJ1ZmZlcik7CisgICAgfQorCisgICAgQ0hFQ0tfQlVGRkVSKGluKTsKKworICAgIGlmICh4bWxCdWZVc2UoaW4tPmJ1Zi0+YnVmZmVyKSA+IElOUFVUX0NIVU5LKSB7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgeG1sUGFyc2VySW5wdXRCdWZmZXJSZWFkKGluLT5idWYsIDIgKiBJTlBVVF9DSFVOSyk7CisgICAgY29udGVudCA9IHhtbEJ1ZkNvbnRlbnQoaW4tPmJ1Zi0+YnVmZmVyKTsKKyAgICBpZiAoaW4tPmJhc2UgIT0gY29udGVudCkgeworICAgICAgICAvKgorCSAqIHRoZSBidWZmZXIgaGFzIGJlZW4gcmVhbGxvY2F0ZWQKKwkgKi8KKwlpbmR4ID0gaW4tPmN1ciAtIGluLT5iYXNlOworCWluLT5iYXNlID0gY29udGVudDsKKwlpbi0+Y3VyID0gJmNvbnRlbnRbaW5keF07CisgICAgfQorICAgIGluLT5lbmQgPSB4bWxCdWZFbmQoaW4tPmJ1Zi0+YnVmZmVyKTsKKworICAgIENIRUNLX0JVRkZFUihpbik7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCVVURjggY2hhcmFjdGVyIGlucHV0IGFuZCByZWxhdGVkIGZ1bmN0aW9ucwkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioKKyAqIHhtbE5leHRDaGFyOgorICogQGN0eHQ6ICB0aGUgWE1MIHBhcnNlciBjb250ZXh0CisgKgorICogU2tpcCB0byB0aGUgbmV4dCBjaGFyIGlucHV0IGNoYXIuCisgKi8KKwordm9pZAoreG1sTmV4dENoYXIoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0KQoreworICAgIGlmICgoY3R4dCA9PSBOVUxMKSB8fCAoY3R4dC0+aW5zdGF0ZSA9PSBYTUxfUEFSU0VSX0VPRikgfHwKKyAgICAgICAgKGN0eHQtPmlucHV0ID09IE5VTEwpKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoY3R4dC0+Y2hhcnNldCA9PSBYTUxfQ0hBUl9FTkNPRElOR19VVEY4KSB7CisgICAgICAgIGlmICgoKmN0eHQtPmlucHV0LT5jdXIgPT0gMCkgJiYKKyAgICAgICAgICAgICh4bWxQYXJzZXJJbnB1dEdyb3coY3R4dC0+aW5wdXQsIElOUFVUX0NIVU5LKSA8PSAwKSAmJgorICAgICAgICAgICAgKGN0eHQtPmluc3RhdGUgIT0gWE1MX1BBUlNFUl9DT01NRU5UKSkgeworICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAqIElmIHdlIGFyZSBhdCB0aGUgZW5kIG9mIHRoZSBjdXJyZW50IGVudGl0eSBhbmQKKyAgICAgICAgICAgICAqIHRoZSBjb250ZXh0IGFsbG93cyBpdCwgd2UgcG9wIGNvbnN1bWVkIGVudGl0aWVzCisgICAgICAgICAgICAgKiBhdXRvbWF0aWNhbGx5LgorICAgICAgICAgICAgICogdGhlIGF1dG8gY2xvc2luZyBzaG91bGQgYmUgYmxvY2tlZCBpbiBvdGhlciBjYXNlcworICAgICAgICAgICAgICovCisgICAgICAgICAgICB4bWxQb3BJbnB1dChjdHh0KTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmN1cjsKKyAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgYzsKKworICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAqICAgMi4xMSBFbmQtb2YtTGluZSBIYW5kbGluZworICAgICAgICAgICAgICogICB0aGUgbGl0ZXJhbCB0d28tY2hhcmFjdGVyIHNlcXVlbmNlICIjeEQjeEEiIG9yIGEgc3RhbmRhbG9uZQorICAgICAgICAgICAgICogICBsaXRlcmFsICN4RCwgYW4gWE1MIHByb2Nlc3NvciBtdXN0IHBhc3MgdG8gdGhlIGFwcGxpY2F0aW9uCisgICAgICAgICAgICAgKiAgIHRoZSBzaW5nbGUgY2hhcmFjdGVyICN4QS4KKyAgICAgICAgICAgICAqLworICAgICAgICAgICAgaWYgKCooY3R4dC0+aW5wdXQtPmN1cikgPT0gJ1xuJykgeworICAgICAgICAgICAgICAgIGN0eHQtPmlucHV0LT5saW5lKys7IGN0eHQtPmlucHV0LT5jb2wgPSAxOworICAgICAgICAgICAgfSBlbHNlCisgICAgICAgICAgICAgICAgY3R4dC0+aW5wdXQtPmNvbCsrOworCisgICAgICAgICAgICAvKgorICAgICAgICAgICAgICogV2UgYXJlIHN1cHBvc2VkIHRvIGhhbmRsZSBVVEY4LCBjaGVjayBpdCdzIHZhbGlkCisgICAgICAgICAgICAgKiBGcm9tIHJmYzIwNDQ6IGVuY29kaW5nIG9mIHRoZSBVbmljb2RlIHZhbHVlcyBvbiBVVEYtODoKKyAgICAgICAgICAgICAqCisgICAgICAgICAgICAgKiBVQ1MtNCByYW5nZSAoaGV4LikgICAgICAgICAgIFVURi04IG9jdGV0IHNlcXVlbmNlIChiaW5hcnkpCisgICAgICAgICAgICAgKiAwMDAwIDAwMDAtMDAwMCAwMDdGICAgMHh4eHh4eHgKKyAgICAgICAgICAgICAqIDAwMDAgMDA4MC0wMDAwIDA3RkYgICAxMTB4eHh4eCAxMHh4eHh4eAorICAgICAgICAgICAgICogMDAwMCAwODAwLTAwMDAgRkZGRiAgIDExMTB4eHh4IDEweHh4eHh4IDEweHh4eHh4CisgICAgICAgICAgICAgKgorICAgICAgICAgICAgICogQ2hlY2sgZm9yIHRoZSAweDExMDAwMCBsaW1pdCB0b28KKyAgICAgICAgICAgICAqLworICAgICAgICAgICAgY3VyID0gY3R4dC0+aW5wdXQtPmN1cjsKKworICAgICAgICAgICAgYyA9ICpjdXI7CisgICAgICAgICAgICBpZiAoYyAmIDB4ODApIHsKKwkgICAgICAgIGlmIChjID09IDB4QzApCisJCSAgICBnb3RvIGVuY29kaW5nX2Vycm9yOworICAgICAgICAgICAgICAgIGlmIChjdXJbMV0gPT0gMCkgeworICAgICAgICAgICAgICAgICAgICB4bWxQYXJzZXJJbnB1dEdyb3coY3R4dC0+aW5wdXQsIElOUFVUX0NIVU5LKTsKKyAgICAgICAgICAgICAgICAgICAgY3VyID0gY3R4dC0+aW5wdXQtPmN1cjsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgaWYgKChjdXJbMV0gJiAweGMwKSAhPSAweDgwKQorICAgICAgICAgICAgICAgICAgICBnb3RvIGVuY29kaW5nX2Vycm9yOworICAgICAgICAgICAgICAgIGlmICgoYyAmIDB4ZTApID09IDB4ZTApIHsKKyAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IHZhbDsKKworICAgICAgICAgICAgICAgICAgICBpZiAoY3VyWzJdID09IDApIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHhtbFBhcnNlcklucHV0R3JvdyhjdHh0LT5pbnB1dCwgSU5QVVRfQ0hVTkspOworICAgICAgICAgICAgICAgICAgICAgICAgY3VyID0gY3R4dC0+aW5wdXQtPmN1cjsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBpZiAoKGN1clsyXSAmIDB4YzApICE9IDB4ODApCisgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGVuY29kaW5nX2Vycm9yOworICAgICAgICAgICAgICAgICAgICBpZiAoKGMgJiAweGYwKSA9PSAweGYwKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY3VyWzNdID09IDApIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxQYXJzZXJJbnB1dEdyb3coY3R4dC0+aW5wdXQsIElOUFVUX0NIVU5LKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXIgPSBjdHh0LT5pbnB1dC0+Y3VyOworICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCgoYyAmIDB4ZjgpICE9IDB4ZjApIHx8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChjdXJbM10gJiAweGMwKSAhPSAweDgwKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGVuY29kaW5nX2Vycm9yOworICAgICAgICAgICAgICAgICAgICAgICAgLyogNC1ieXRlIGNvZGUgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgIGN0eHQtPmlucHV0LT5jdXIgKz0gNDsKKyAgICAgICAgICAgICAgICAgICAgICAgIHZhbCA9IChjdXJbMF0gJiAweDcpIDw8IDE4OworICAgICAgICAgICAgICAgICAgICAgICAgdmFsIHw9IChjdXJbMV0gJiAweDNmKSA8PCAxMjsKKyAgICAgICAgICAgICAgICAgICAgICAgIHZhbCB8PSAoY3VyWzJdICYgMHgzZikgPDwgNjsKKyAgICAgICAgICAgICAgICAgICAgICAgIHZhbCB8PSBjdXJbM10gJiAweDNmOworICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAgLyogMy1ieXRlIGNvZGUgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgIGN0eHQtPmlucHV0LT5jdXIgKz0gMzsKKyAgICAgICAgICAgICAgICAgICAgICAgIHZhbCA9IChjdXJbMF0gJiAweGYpIDw8IDEyOworICAgICAgICAgICAgICAgICAgICAgICAgdmFsIHw9IChjdXJbMV0gJiAweDNmKSA8PCA2OworICAgICAgICAgICAgICAgICAgICAgICAgdmFsIHw9IGN1clsyXSAmIDB4M2Y7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgaWYgKCgodmFsID4gMHhkN2ZmKSAmJiAodmFsIDwgMHhlMDAwKSkgfHwKKyAgICAgICAgICAgICAgICAgICAgICAgICgodmFsID4gMHhmZmZkKSAmJiAodmFsIDwgMHgxMDAwMCkpIHx8CisgICAgICAgICAgICAgICAgICAgICAgICAodmFsID49IDB4MTEwMDAwKSkgeworCQkJeG1sRXJyRW5jb2RpbmdJbnQoY3R4dCwgWE1MX0VSUl9JTlZBTElEX0NIQVIsCisJCQkJCSAgIkNoYXIgMHglWCBvdXQgb2YgYWxsb3dlZCByYW5nZVxuIiwKKwkJCQkJICB2YWwpOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfSBlbHNlCisgICAgICAgICAgICAgICAgICAgIC8qIDItYnl0ZSBjb2RlICovCisgICAgICAgICAgICAgICAgICAgIGN0eHQtPmlucHV0LT5jdXIgKz0gMjsKKyAgICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAgIC8qIDEtYnl0ZSBjb2RlICovCisgICAgICAgICAgICAgICAgY3R4dC0+aW5wdXQtPmN1cisrOworCisgICAgICAgICAgICBjdHh0LT5uYkNoYXJzKys7CisgICAgICAgICAgICBpZiAoKmN0eHQtPmlucHV0LT5jdXIgPT0gMCkKKyAgICAgICAgICAgICAgICB4bWxQYXJzZXJJbnB1dEdyb3coY3R4dC0+aW5wdXQsIElOUFVUX0NIVU5LKTsKKyAgICAgICAgfQorICAgIH0gZWxzZSB7CisgICAgICAgIC8qCisgICAgICAgICAqIEFzc3VtZSBpdCdzIGEgZml4ZWQgbGVuZ3RoIGVuY29kaW5nICgxKSB3aXRoCisgICAgICAgICAqIGEgY29tcGF0aWJsZSBlbmNvZGluZyBmb3IgdGhlIEFTQ0lJIHNldCwgc2luY2UKKyAgICAgICAgICogWE1MIGNvbnN0cnVjdHMgb25seSB1c2UgPCAxMjggY2hhcnMKKyAgICAgICAgICovCisKKyAgICAgICAgaWYgKCooY3R4dC0+aW5wdXQtPmN1cikgPT0gJ1xuJykgeworICAgICAgICAgICAgY3R4dC0+aW5wdXQtPmxpbmUrKzsgY3R4dC0+aW5wdXQtPmNvbCA9IDE7CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgY3R4dC0+aW5wdXQtPmNvbCsrOworICAgICAgICBjdHh0LT5pbnB1dC0+Y3VyKys7CisgICAgICAgIGN0eHQtPm5iQ2hhcnMrKzsKKyAgICAgICAgaWYgKCpjdHh0LT5pbnB1dC0+Y3VyID09IDApCisgICAgICAgICAgICB4bWxQYXJzZXJJbnB1dEdyb3coY3R4dC0+aW5wdXQsIElOUFVUX0NIVU5LKTsKKyAgICB9CisgICAgaWYgKCgqY3R4dC0+aW5wdXQtPmN1ciA9PSAnJScpICYmICghY3R4dC0+aHRtbCkpCisgICAgICAgIHhtbFBhcnNlckhhbmRsZVBFUmVmZXJlbmNlKGN0eHQpOworICAgIGlmICgoKmN0eHQtPmlucHV0LT5jdXIgPT0gMCkgJiYKKyAgICAgICAgKHhtbFBhcnNlcklucHV0R3JvdyhjdHh0LT5pbnB1dCwgSU5QVVRfQ0hVTkspIDw9IDApKQorICAgICAgICB4bWxQb3BJbnB1dChjdHh0KTsKKyAgICByZXR1cm47CitlbmNvZGluZ19lcnJvcjoKKyAgICAvKgorICAgICAqIElmIHdlIGRldGVjdCBhbiBVVEY4IGVycm9yIHRoYXQgcHJvYmFibHkgbWVhbiB0aGF0IHRoZQorICAgICAqIGlucHV0IGVuY29kaW5nIGRpZG4ndCBnZXQgcHJvcGVybHkgYWR2ZXJ0aXNlZCBpbiB0aGUKKyAgICAgKiBkZWNsYXJhdGlvbiBoZWFkZXIuIFJlcG9ydCB0aGUgZXJyb3IgYW5kIHN3aXRjaCB0aGUgZW5jb2RpbmcKKyAgICAgKiB0byBJU08tTGF0aW4tMSAoaWYgeW91IGRvbid0IGxpa2UgdGhpcyBwb2xpY3ksIGp1c3QgZGVjbGFyZSB0aGUKKyAgICAgKiBlbmNvZGluZyAhKQorICAgICAqLworICAgIGlmICgoY3R4dCA9PSBOVUxMKSB8fCAoY3R4dC0+aW5wdXQgPT0gTlVMTCkgfHwKKyAgICAgICAgKGN0eHQtPmlucHV0LT5lbmQgLSBjdHh0LT5pbnB1dC0+Y3VyIDwgNCkpIHsKKwlfX3htbEVyckVuY29kaW5nKGN0eHQsIFhNTF9FUlJfSU5WQUxJRF9DSEFSLAorCQkgICAgICJJbnB1dCBpcyBub3QgcHJvcGVyIFVURi04LCBpbmRpY2F0ZSBlbmNvZGluZyAhXG4iLAorCQkgICAgIE5VTEwsIE5VTEwpOworICAgIH0gZWxzZSB7CisgICAgICAgIGNoYXIgYnVmZmVyWzE1MF07CisKKwlzbnByaW50ZihidWZmZXIsIDE0OSwgIkJ5dGVzOiAweCUwMlggMHglMDJYIDB4JTAyWCAweCUwMlhcbiIsCisJCQljdHh0LT5pbnB1dC0+Y3VyWzBdLCBjdHh0LT5pbnB1dC0+Y3VyWzFdLAorCQkJY3R4dC0+aW5wdXQtPmN1clsyXSwgY3R4dC0+aW5wdXQtPmN1clszXSk7CisJX194bWxFcnJFbmNvZGluZyhjdHh0LCBYTUxfRVJSX0lOVkFMSURfQ0hBUiwKKwkJICAgICAiSW5wdXQgaXMgbm90IHByb3BlciBVVEYtOCwgaW5kaWNhdGUgZW5jb2RpbmcgIVxuJXMiLAorCQkgICAgIEJBRF9DQVNUIGJ1ZmZlciwgTlVMTCk7CisgICAgfQorICAgIGN0eHQtPmNoYXJzZXQgPSBYTUxfQ0hBUl9FTkNPRElOR184ODU5XzE7CisgICAgY3R4dC0+aW5wdXQtPmN1cisrOworICAgIHJldHVybjsKK30KKworLyoqCisgKiB4bWxDdXJyZW50Q2hhcjoKKyAqIEBjdHh0OiAgdGhlIFhNTCBwYXJzZXIgY29udGV4dAorICogQGxlbjogIHBvaW50ZXIgdG8gdGhlIGxlbmd0aCBvZiB0aGUgY2hhciByZWFkCisgKgorICogVGhlIGN1cnJlbnQgY2hhciB2YWx1ZSwgaWYgdXNpbmcgVVRGLTggdGhpcyBtYXkgYWN0dWFsbHkgc3BhbiBtdWx0aXBsZQorICogYnl0ZXMgaW4gdGhlIGlucHV0IGJ1ZmZlci4gSW1wbGVtZW50IHRoZSBlbmQgb2YgbGluZSBub3JtYWxpemF0aW9uOgorICogMi4xMSBFbmQtb2YtTGluZSBIYW5kbGluZworICogV2hlcmV2ZXIgYW4gZXh0ZXJuYWwgcGFyc2VkIGVudGl0eSBvciB0aGUgbGl0ZXJhbCBlbnRpdHkgdmFsdWUKKyAqIG9mIGFuIGludGVybmFsIHBhcnNlZCBlbnRpdHkgY29udGFpbnMgZWl0aGVyIHRoZSBsaXRlcmFsIHR3by1jaGFyYWN0ZXIKKyAqIHNlcXVlbmNlICIjeEQjeEEiIG9yIGEgc3RhbmRhbG9uZSBsaXRlcmFsICN4RCwgYW4gWE1MIHByb2Nlc3NvcgorICogbXVzdCBwYXNzIHRvIHRoZSBhcHBsaWNhdGlvbiB0aGUgc2luZ2xlIGNoYXJhY3RlciAjeEEuCisgKiBUaGlzIGJlaGF2aW9yIGNhbiBjb252ZW5pZW50bHkgYmUgcHJvZHVjZWQgYnkgbm9ybWFsaXppbmcgYWxsCisgKiBsaW5lIGJyZWFrcyB0byAjeEEgb24gaW5wdXQsIGJlZm9yZSBwYXJzaW5nLikKKyAqCisgKiBSZXR1cm5zIHRoZSBjdXJyZW50IGNoYXIgdmFsdWUgYW5kIGl0cyBsZW5ndGgKKyAqLworCitpbnQKK3htbEN1cnJlbnRDaGFyKHhtbFBhcnNlckN0eHRQdHIgY3R4dCwgaW50ICpsZW4pIHsKKyAgICBpZiAoKGN0eHQgPT0gTlVMTCkgfHwgKGxlbiA9PSBOVUxMKSB8fCAoY3R4dC0+aW5wdXQgPT0gTlVMTCkpIHJldHVybigwKTsKKyAgICBpZiAoY3R4dC0+aW5zdGF0ZSA9PSBYTUxfUEFSU0VSX0VPRikKKwlyZXR1cm4oMCk7CisKKyAgICBpZiAoKCpjdHh0LT5pbnB1dC0+Y3VyID49IDB4MjApICYmICgqY3R4dC0+aW5wdXQtPmN1ciA8PSAweDdGKSkgeworCSAgICAqbGVuID0gMTsKKwkgICAgcmV0dXJuKChpbnQpICpjdHh0LT5pbnB1dC0+Y3VyKTsKKyAgICB9CisgICAgaWYgKGN0eHQtPmNoYXJzZXQgPT0gWE1MX0NIQVJfRU5DT0RJTkdfVVRGOCkgeworCS8qCisJICogV2UgYXJlIHN1cHBvc2VkIHRvIGhhbmRsZSBVVEY4LCBjaGVjayBpdCdzIHZhbGlkCisJICogRnJvbSByZmMyMDQ0OiBlbmNvZGluZyBvZiB0aGUgVW5pY29kZSB2YWx1ZXMgb24gVVRGLTg6CisJICoKKwkgKiBVQ1MtNCByYW5nZSAoaGV4LikgICAgICAgICAgIFVURi04IG9jdGV0IHNlcXVlbmNlIChiaW5hcnkpCisJICogMDAwMCAwMDAwLTAwMDAgMDA3RiAgIDB4eHh4eHh4CisJICogMDAwMCAwMDgwLTAwMDAgMDdGRiAgIDExMHh4eHh4IDEweHh4eHh4CisJICogMDAwMCAwODAwLTAwMDAgRkZGRiAgIDExMTB4eHh4IDEweHh4eHh4IDEweHh4eHh4CisJICoKKwkgKiBDaGVjayBmb3IgdGhlIDB4MTEwMDAwIGxpbWl0IHRvbworCSAqLworCWNvbnN0IHVuc2lnbmVkIGNoYXIgKmN1ciA9IGN0eHQtPmlucHV0LT5jdXI7CisJdW5zaWduZWQgY2hhciBjOworCXVuc2lnbmVkIGludCB2YWw7CisKKwljID0gKmN1cjsKKwlpZiAoYyAmIDB4ODApIHsKKwkgICAgaWYgKCgoYyAmIDB4NDApID09IDApIHx8IChjID09IDB4QzApKQorCQlnb3RvIGVuY29kaW5nX2Vycm9yOworCSAgICBpZiAoY3VyWzFdID09IDApIHsKKwkJeG1sUGFyc2VySW5wdXRHcm93KGN0eHQtPmlucHV0LCBJTlBVVF9DSFVOSyk7CisgICAgICAgICAgICAgICAgY3VyID0gY3R4dC0+aW5wdXQtPmN1cjsKKyAgICAgICAgICAgIH0KKwkgICAgaWYgKChjdXJbMV0gJiAweGMwKSAhPSAweDgwKQorCQlnb3RvIGVuY29kaW5nX2Vycm9yOworCSAgICBpZiAoKGMgJiAweGUwKSA9PSAweGUwKSB7CisJCWlmIChjdXJbMl0gPT0gMCkgeworCQkgICAgeG1sUGFyc2VySW5wdXRHcm93KGN0eHQtPmlucHV0LCBJTlBVVF9DSFVOSyk7CisgICAgICAgICAgICAgICAgICAgIGN1ciA9IGN0eHQtPmlucHV0LT5jdXI7CisgICAgICAgICAgICAgICAgfQorCQlpZiAoKGN1clsyXSAmIDB4YzApICE9IDB4ODApCisJCSAgICBnb3RvIGVuY29kaW5nX2Vycm9yOworCQlpZiAoKGMgJiAweGYwKSA9PSAweGYwKSB7CisJCSAgICBpZiAoY3VyWzNdID09IDApIHsKKwkJCXhtbFBhcnNlcklucHV0R3JvdyhjdHh0LT5pbnB1dCwgSU5QVVRfQ0hVTkspOworICAgICAgICAgICAgICAgICAgICAgICAgY3VyID0gY3R4dC0+aW5wdXQtPmN1cjsKKyAgICAgICAgICAgICAgICAgICAgfQorCQkgICAgaWYgKCgoYyAmIDB4ZjgpICE9IDB4ZjApIHx8CisJCQkoKGN1clszXSAmIDB4YzApICE9IDB4ODApKQorCQkJZ290byBlbmNvZGluZ19lcnJvcjsKKwkJICAgIC8qIDQtYnl0ZSBjb2RlICovCisJCSAgICAqbGVuID0gNDsKKwkJICAgIHZhbCA9IChjdXJbMF0gJiAweDcpIDw8IDE4OworCQkgICAgdmFsIHw9IChjdXJbMV0gJiAweDNmKSA8PCAxMjsKKwkJICAgIHZhbCB8PSAoY3VyWzJdICYgMHgzZikgPDwgNjsKKwkJICAgIHZhbCB8PSBjdXJbM10gJiAweDNmOworCQkgICAgaWYgKHZhbCA8IDB4MTAwMDApCisJCQlnb3RvIGVuY29kaW5nX2Vycm9yOworCQl9IGVsc2UgeworCQkgIC8qIDMtYnl0ZSBjb2RlICovCisJCSAgICAqbGVuID0gMzsKKwkJICAgIHZhbCA9IChjdXJbMF0gJiAweGYpIDw8IDEyOworCQkgICAgdmFsIHw9IChjdXJbMV0gJiAweDNmKSA8PCA2OworCQkgICAgdmFsIHw9IGN1clsyXSAmIDB4M2Y7CisJCSAgICBpZiAodmFsIDwgMHg4MDApCisJCQlnb3RvIGVuY29kaW5nX2Vycm9yOworCQl9CisJICAgIH0gZWxzZSB7CisJICAgICAgLyogMi1ieXRlIGNvZGUgKi8KKwkJKmxlbiA9IDI7CisJCXZhbCA9IChjdXJbMF0gJiAweDFmKSA8PCA2OworCQl2YWwgfD0gY3VyWzFdICYgMHgzZjsKKwkJaWYgKHZhbCA8IDB4ODApCisJCSAgICBnb3RvIGVuY29kaW5nX2Vycm9yOworCSAgICB9CisJICAgIGlmICghSVNfQ0hBUih2YWwpKSB7CisJICAgICAgICB4bWxFcnJFbmNvZGluZ0ludChjdHh0LCBYTUxfRVJSX0lOVkFMSURfQ0hBUiwKKwkJCQkgICJDaGFyIDB4JVggb3V0IG9mIGFsbG93ZWQgcmFuZ2VcbiIsIHZhbCk7CisJICAgIH0KKwkgICAgcmV0dXJuKHZhbCk7CisJfSBlbHNlIHsKKwkgICAgLyogMS1ieXRlIGNvZGUgKi8KKwkgICAgKmxlbiA9IDE7CisJICAgIGlmICgqY3R4dC0+aW5wdXQtPmN1ciA9PSAwKQorCQl4bWxQYXJzZXJJbnB1dEdyb3coY3R4dC0+aW5wdXQsIElOUFVUX0NIVU5LKTsKKwkgICAgaWYgKCgqY3R4dC0+aW5wdXQtPmN1ciA9PSAwKSAmJgorCSAgICAgICAgKGN0eHQtPmlucHV0LT5lbmQgPiBjdHh0LT5pbnB1dC0+Y3VyKSkgeworCSAgICAgICAgeG1sRXJyRW5jb2RpbmdJbnQoY3R4dCwgWE1MX0VSUl9JTlZBTElEX0NIQVIsCisJCQkJICAiQ2hhciAweDAgb3V0IG9mIGFsbG93ZWQgcmFuZ2VcbiIsIDApOworCSAgICB9CisJICAgIGlmICgqY3R4dC0+aW5wdXQtPmN1ciA9PSAweEQpIHsKKwkJaWYgKGN0eHQtPmlucHV0LT5jdXJbMV0gPT0gMHhBKSB7CisJCSAgICBjdHh0LT5uYkNoYXJzKys7CisJCSAgICBjdHh0LT5pbnB1dC0+Y3VyKys7CisJCX0KKwkJcmV0dXJuKDB4QSk7CisJICAgIH0KKwkgICAgcmV0dXJuKChpbnQpICpjdHh0LT5pbnB1dC0+Y3VyKTsKKwl9CisgICAgfQorICAgIC8qCisgICAgICogQXNzdW1lIGl0J3MgYSBmaXhlZCBsZW5ndGggZW5jb2RpbmcgKDEpIHdpdGgKKyAgICAgKiBhIGNvbXBhdGlibGUgZW5jb2RpbmcgZm9yIHRoZSBBU0NJSSBzZXQsIHNpbmNlCisgICAgICogWE1MIGNvbnN0cnVjdHMgb25seSB1c2UgPCAxMjggY2hhcnMKKyAgICAgKi8KKyAgICAqbGVuID0gMTsKKyAgICBpZiAoKmN0eHQtPmlucHV0LT5jdXIgPT0gMHhEKSB7CisJaWYgKGN0eHQtPmlucHV0LT5jdXJbMV0gPT0gMHhBKSB7CisJICAgIGN0eHQtPm5iQ2hhcnMrKzsKKwkgICAgY3R4dC0+aW5wdXQtPmN1cisrOworCX0KKwlyZXR1cm4oMHhBKTsKKyAgICB9CisgICAgcmV0dXJuKChpbnQpICpjdHh0LT5pbnB1dC0+Y3VyKTsKK2VuY29kaW5nX2Vycm9yOgorICAgIC8qCisgICAgICogQW4gZW5jb2RpbmcgcHJvYmxlbSBtYXkgYXJpc2UgZnJvbSBhIHRydW5jYXRlZCBpbnB1dCBidWZmZXIKKyAgICAgKiBzcGxpdHRpbmcgYSBjaGFyYWN0ZXIgaW4gdGhlIG1pZGRsZS4gSW4gdGhhdCBjYXNlIGRvIG5vdCByYWlzZQorICAgICAqIGFuIGVycm9yIGJ1dCByZXR1cm4gMCB0byBlbmRpY2F0ZSBhbiBlbmQgb2Ygc3RyZWFtIHByb2JsZW0KKyAgICAgKi8KKyAgICBpZiAoY3R4dC0+aW5wdXQtPmVuZCAtIGN0eHQtPmlucHV0LT5jdXIgPCA0KSB7CisJKmxlbiA9IDA7CisJcmV0dXJuKDApOworICAgIH0KKworICAgIC8qCisgICAgICogSWYgd2UgZGV0ZWN0IGFuIFVURjggZXJyb3IgdGhhdCBwcm9iYWJseSBtZWFuIHRoYXQgdGhlCisgICAgICogaW5wdXQgZW5jb2RpbmcgZGlkbid0IGdldCBwcm9wZXJseSBhZHZlcnRpc2VkIGluIHRoZQorICAgICAqIGRlY2xhcmF0aW9uIGhlYWRlci4gUmVwb3J0IHRoZSBlcnJvciBhbmQgc3dpdGNoIHRoZSBlbmNvZGluZworICAgICAqIHRvIElTTy1MYXRpbi0xIChpZiB5b3UgZG9uJ3QgbGlrZSB0aGlzIHBvbGljeSwganVzdCBkZWNsYXJlIHRoZQorICAgICAqIGVuY29kaW5nICEpCisgICAgICovCisgICAgeworICAgICAgICBjaGFyIGJ1ZmZlclsxNTBdOworCisJc25wcmludGYoJmJ1ZmZlclswXSwgMTQ5LCAiQnl0ZXM6IDB4JTAyWCAweCUwMlggMHglMDJYIDB4JTAyWFxuIiwKKwkJCWN0eHQtPmlucHV0LT5jdXJbMF0sIGN0eHQtPmlucHV0LT5jdXJbMV0sCisJCQljdHh0LT5pbnB1dC0+Y3VyWzJdLCBjdHh0LT5pbnB1dC0+Y3VyWzNdKTsKKwlfX3htbEVyckVuY29kaW5nKGN0eHQsIFhNTF9FUlJfSU5WQUxJRF9DSEFSLAorCQkgICAgICJJbnB1dCBpcyBub3QgcHJvcGVyIFVURi04LCBpbmRpY2F0ZSBlbmNvZGluZyAhXG4lcyIsCisJCSAgICAgQkFEX0NBU1QgYnVmZmVyLCBOVUxMKTsKKyAgICB9CisgICAgY3R4dC0+Y2hhcnNldCA9IFhNTF9DSEFSX0VOQ09ESU5HXzg4NTlfMTsKKyAgICAqbGVuID0gMTsKKyAgICByZXR1cm4oKGludCkgKmN0eHQtPmlucHV0LT5jdXIpOworfQorCisvKioKKyAqIHhtbFN0cmluZ0N1cnJlbnRDaGFyOgorICogQGN0eHQ6ICB0aGUgWE1MIHBhcnNlciBjb250ZXh0CisgKiBAY3VyOiAgcG9pbnRlciB0byB0aGUgYmVnaW5uaW5nIG9mIHRoZSBjaGFyCisgKiBAbGVuOiAgcG9pbnRlciB0byB0aGUgbGVuZ3RoIG9mIHRoZSBjaGFyIHJlYWQKKyAqCisgKiBUaGUgY3VycmVudCBjaGFyIHZhbHVlLCBpZiB1c2luZyBVVEYtOCB0aGlzIG1heSBhY3R1YWxseSBzcGFuIG11bHRpcGxlCisgKiBieXRlcyBpbiB0aGUgaW5wdXQgYnVmZmVyLgorICoKKyAqIFJldHVybnMgdGhlIGN1cnJlbnQgY2hhciB2YWx1ZSBhbmQgaXRzIGxlbmd0aAorICovCisKK2ludAoreG1sU3RyaW5nQ3VycmVudENoYXIoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0LCBjb25zdCB4bWxDaGFyICogY3VyLCBpbnQgKmxlbikKK3sKKyAgICBpZiAoKGxlbiA9PSBOVUxMKSB8fCAoY3VyID09IE5VTEwpKSByZXR1cm4oMCk7CisgICAgaWYgKChjdHh0ID09IE5VTEwpIHx8IChjdHh0LT5jaGFyc2V0ID09IFhNTF9DSEFSX0VOQ09ESU5HX1VURjgpKSB7CisgICAgICAgIC8qCisgICAgICAgICAqIFdlIGFyZSBzdXBwb3NlZCB0byBoYW5kbGUgVVRGOCwgY2hlY2sgaXQncyB2YWxpZAorICAgICAgICAgKiBGcm9tIHJmYzIwNDQ6IGVuY29kaW5nIG9mIHRoZSBVbmljb2RlIHZhbHVlcyBvbiBVVEYtODoKKyAgICAgICAgICoKKyAgICAgICAgICogVUNTLTQgcmFuZ2UgKGhleC4pICAgICAgICAgICBVVEYtOCBvY3RldCBzZXF1ZW5jZSAoYmluYXJ5KQorICAgICAgICAgKiAwMDAwIDAwMDAtMDAwMCAwMDdGICAgMHh4eHh4eHgKKyAgICAgICAgICogMDAwMCAwMDgwLTAwMDAgMDdGRiAgIDExMHh4eHh4IDEweHh4eHh4CisgICAgICAgICAqIDAwMDAgMDgwMC0wMDAwIEZGRkYgICAxMTEweHh4eCAxMHh4eHh4eCAxMHh4eHh4eAorICAgICAgICAgKgorICAgICAgICAgKiBDaGVjayBmb3IgdGhlIDB4MTEwMDAwIGxpbWl0IHRvbworICAgICAgICAgKi8KKyAgICAgICAgdW5zaWduZWQgY2hhciBjOworICAgICAgICB1bnNpZ25lZCBpbnQgdmFsOworCisgICAgICAgIGMgPSAqY3VyOworICAgICAgICBpZiAoYyAmIDB4ODApIHsKKyAgICAgICAgICAgIGlmICgoY3VyWzFdICYgMHhjMCkgIT0gMHg4MCkKKyAgICAgICAgICAgICAgICBnb3RvIGVuY29kaW5nX2Vycm9yOworICAgICAgICAgICAgaWYgKChjICYgMHhlMCkgPT0gMHhlMCkgeworCisgICAgICAgICAgICAgICAgaWYgKChjdXJbMl0gJiAweGMwKSAhPSAweDgwKQorICAgICAgICAgICAgICAgICAgICBnb3RvIGVuY29kaW5nX2Vycm9yOworICAgICAgICAgICAgICAgIGlmICgoYyAmIDB4ZjApID09IDB4ZjApIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKCgoYyAmIDB4ZjgpICE9IDB4ZjApIHx8ICgoY3VyWzNdICYgMHhjMCkgIT0gMHg4MCkpCisgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGVuY29kaW5nX2Vycm9yOworICAgICAgICAgICAgICAgICAgICAvKiA0LWJ5dGUgY29kZSAqLworICAgICAgICAgICAgICAgICAgICAqbGVuID0gNDsKKyAgICAgICAgICAgICAgICAgICAgdmFsID0gKGN1clswXSAmIDB4NykgPDwgMTg7CisgICAgICAgICAgICAgICAgICAgIHZhbCB8PSAoY3VyWzFdICYgMHgzZikgPDwgMTI7CisgICAgICAgICAgICAgICAgICAgIHZhbCB8PSAoY3VyWzJdICYgMHgzZikgPDwgNjsKKyAgICAgICAgICAgICAgICAgICAgdmFsIHw9IGN1clszXSAmIDB4M2Y7CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgLyogMy1ieXRlIGNvZGUgKi8KKyAgICAgICAgICAgICAgICAgICAgKmxlbiA9IDM7CisgICAgICAgICAgICAgICAgICAgIHZhbCA9IChjdXJbMF0gJiAweGYpIDw8IDEyOworICAgICAgICAgICAgICAgICAgICB2YWwgfD0gKGN1clsxXSAmIDB4M2YpIDw8IDY7CisgICAgICAgICAgICAgICAgICAgIHZhbCB8PSBjdXJbMl0gJiAweDNmOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgLyogMi1ieXRlIGNvZGUgKi8KKyAgICAgICAgICAgICAgICAqbGVuID0gMjsKKyAgICAgICAgICAgICAgICB2YWwgPSAoY3VyWzBdICYgMHgxZikgPDwgNjsKKyAgICAgICAgICAgICAgICB2YWwgfD0gY3VyWzFdICYgMHgzZjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmICghSVNfQ0hBUih2YWwpKSB7CisJICAgICAgICB4bWxFcnJFbmNvZGluZ0ludChjdHh0LCBYTUxfRVJSX0lOVkFMSURfQ0hBUiwKKwkJCQkgICJDaGFyIDB4JVggb3V0IG9mIGFsbG93ZWQgcmFuZ2VcbiIsIHZhbCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICByZXR1cm4gKHZhbCk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAvKiAxLWJ5dGUgY29kZSAqLworICAgICAgICAgICAgKmxlbiA9IDE7CisgICAgICAgICAgICByZXR1cm4gKChpbnQpICpjdXIpOworICAgICAgICB9CisgICAgfQorICAgIC8qCisgICAgICogQXNzdW1lIGl0J3MgYSBmaXhlZCBsZW5ndGggZW5jb2RpbmcgKDEpIHdpdGgKKyAgICAgKiBhIGNvbXBhdGlibGUgZW5jb2RpbmcgZm9yIHRoZSBBU0NJSSBzZXQsIHNpbmNlCisgICAgICogWE1MIGNvbnN0cnVjdHMgb25seSB1c2UgPCAxMjggY2hhcnMKKyAgICAgKi8KKyAgICAqbGVuID0gMTsKKyAgICByZXR1cm4gKChpbnQpICpjdXIpOworZW5jb2RpbmdfZXJyb3I6CisKKyAgICAvKgorICAgICAqIEFuIGVuY29kaW5nIHByb2JsZW0gbWF5IGFyaXNlIGZyb20gYSB0cnVuY2F0ZWQgaW5wdXQgYnVmZmVyCisgICAgICogc3BsaXR0aW5nIGEgY2hhcmFjdGVyIGluIHRoZSBtaWRkbGUuIEluIHRoYXQgY2FzZSBkbyBub3QgcmFpc2UKKyAgICAgKiBhbiBlcnJvciBidXQgcmV0dXJuIDAgdG8gZW5kaWNhdGUgYW4gZW5kIG9mIHN0cmVhbSBwcm9ibGVtCisgICAgICovCisgICAgaWYgKChjdHh0ID09IE5VTEwpIHx8IChjdHh0LT5pbnB1dCA9PSBOVUxMKSB8fAorICAgICAgICAoY3R4dC0+aW5wdXQtPmVuZCAtIGN0eHQtPmlucHV0LT5jdXIgPCA0KSkgeworCSpsZW4gPSAwOworCXJldHVybigwKTsKKyAgICB9CisgICAgLyoKKyAgICAgKiBJZiB3ZSBkZXRlY3QgYW4gVVRGOCBlcnJvciB0aGF0IHByb2JhYmx5IG1lYW4gdGhhdCB0aGUKKyAgICAgKiBpbnB1dCBlbmNvZGluZyBkaWRuJ3QgZ2V0IHByb3Blcmx5IGFkdmVydGlzZWQgaW4gdGhlCisgICAgICogZGVjbGFyYXRpb24gaGVhZGVyLiBSZXBvcnQgdGhlIGVycm9yIGFuZCBzd2l0Y2ggdGhlIGVuY29kaW5nCisgICAgICogdG8gSVNPLUxhdGluLTEgKGlmIHlvdSBkb24ndCBsaWtlIHRoaXMgcG9saWN5LCBqdXN0IGRlY2xhcmUgdGhlCisgICAgICogZW5jb2RpbmcgISkKKyAgICAgKi8KKyAgICB7CisgICAgICAgIGNoYXIgYnVmZmVyWzE1MF07CisKKwlzbnByaW50ZihidWZmZXIsIDE0OSwgIkJ5dGVzOiAweCUwMlggMHglMDJYIDB4JTAyWCAweCUwMlhcbiIsCisJCQljdHh0LT5pbnB1dC0+Y3VyWzBdLCBjdHh0LT5pbnB1dC0+Y3VyWzFdLAorCQkJY3R4dC0+aW5wdXQtPmN1clsyXSwgY3R4dC0+aW5wdXQtPmN1clszXSk7CisJX194bWxFcnJFbmNvZGluZyhjdHh0LCBYTUxfRVJSX0lOVkFMSURfQ0hBUiwKKwkJICAgICAiSW5wdXQgaXMgbm90IHByb3BlciBVVEYtOCwgaW5kaWNhdGUgZW5jb2RpbmcgIVxuJXMiLAorCQkgICAgIEJBRF9DQVNUIGJ1ZmZlciwgTlVMTCk7CisgICAgfQorICAgICpsZW4gPSAxOworICAgIHJldHVybiAoKGludCkgKmN1cik7Cit9CisKKy8qKgorICogeG1sQ29weUNoYXJNdWx0aUJ5dGU6CisgKiBAb3V0OiAgcG9pbnRlciB0byBhbiBhcnJheSBvZiB4bWxDaGFyCisgKiBAdmFsOiAgdGhlIGNoYXIgdmFsdWUKKyAqCisgKiBhcHBlbmQgdGhlIGNoYXIgdmFsdWUgaW4gdGhlIGFycmF5CisgKgorICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIHhtbENoYXIgd3JpdHRlbgorICovCitpbnQKK3htbENvcHlDaGFyTXVsdGlCeXRlKHhtbENoYXIgKm91dCwgaW50IHZhbCkgeworICAgIGlmIChvdXQgPT0gTlVMTCkgcmV0dXJuKDApOworICAgIC8qCisgICAgICogV2UgYXJlIHN1cHBvc2VkIHRvIGhhbmRsZSBVVEY4LCBjaGVjayBpdCdzIHZhbGlkCisgICAgICogRnJvbSByZmMyMDQ0OiBlbmNvZGluZyBvZiB0aGUgVW5pY29kZSB2YWx1ZXMgb24gVVRGLTg6CisgICAgICoKKyAgICAgKiBVQ1MtNCByYW5nZSAoaGV4LikgICAgICAgICAgIFVURi04IG9jdGV0IHNlcXVlbmNlIChiaW5hcnkpCisgICAgICogMDAwMCAwMDAwLTAwMDAgMDA3RiAgIDB4eHh4eHh4CisgICAgICogMDAwMCAwMDgwLTAwMDAgMDdGRiAgIDExMHh4eHh4IDEweHh4eHh4CisgICAgICogMDAwMCAwODAwLTAwMDAgRkZGRiAgIDExMTB4eHh4IDEweHh4eHh4IDEweHh4eHh4CisgICAgICovCisgICAgaWYgICh2YWwgPj0gMHg4MCkgeworCXhtbENoYXIgKnNhdmVkb3V0ID0gb3V0OworCWludCBiaXRzOworCWlmICh2YWwgPCAgIDB4ODAwKSB7ICpvdXQrKz0gKHZhbCA+PiAgNikgfCAweEMwOyAgYml0cz0gIDA7IH0KKwllbHNlIGlmICh2YWwgPCAweDEwMDAwKSB7ICpvdXQrKz0gKHZhbCA+PiAxMikgfCAweEUwOyAgYml0cz0gIDY7fQorCWVsc2UgaWYgKHZhbCA8IDB4MTEwMDAwKSAgeyAqb3V0Kys9ICh2YWwgPj4gMTgpIHwgMHhGMDsgIGJpdHM9ICAxMjsgfQorCWVsc2UgeworCSAgICB4bWxFcnJFbmNvZGluZ0ludChOVUxMLCBYTUxfRVJSX0lOVkFMSURfQ0hBUiwKKwkJICAgICJJbnRlcm5hbCBlcnJvciwgeG1sQ29weUNoYXJNdWx0aUJ5dGUgMHglWCBvdXQgb2YgYm91bmRcbiIsCisJCQkgICAgICB2YWwpOworCSAgICByZXR1cm4oMCk7CisJfQorCWZvciAoIDsgYml0cyA+PSAwOyBiaXRzLT0gNikKKwkgICAgKm91dCsrPSAoKHZhbCA+PiBiaXRzKSAmIDB4M0YpIHwgMHg4MCA7CisJcmV0dXJuIChvdXQgLSBzYXZlZG91dCk7CisgICAgfQorICAgICpvdXQgPSAoeG1sQ2hhcikgdmFsOworICAgIHJldHVybiAxOworfQorCisvKioKKyAqIHhtbENvcHlDaGFyOgorICogQGxlbjogIElnbm9yZWQsIGNvbXBhdGliaWxpdHkKKyAqIEBvdXQ6ICBwb2ludGVyIHRvIGFuIGFycmF5IG9mIHhtbENoYXIKKyAqIEB2YWw6ICB0aGUgY2hhciB2YWx1ZQorICoKKyAqIGFwcGVuZCB0aGUgY2hhciB2YWx1ZSBpbiB0aGUgYXJyYXkKKyAqCisgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgeG1sQ2hhciB3cml0dGVuCisgKi8KKworaW50Cit4bWxDb3B5Q2hhcihpbnQgbGVuIEFUVFJJQlVURV9VTlVTRUQsIHhtbENoYXIgKm91dCwgaW50IHZhbCkgeworICAgIGlmIChvdXQgPT0gTlVMTCkgcmV0dXJuKDApOworICAgIC8qIHRoZSBsZW4gcGFyYW1ldGVyIGlzIGlnbm9yZWQgKi8KKyAgICBpZiAgKHZhbCA+PSAweDgwKSB7CisJcmV0dXJuKHhtbENvcHlDaGFyTXVsdGlCeXRlIChvdXQsIHZhbCkpOworICAgIH0KKyAgICAqb3V0ID0gKHhtbENoYXIpIHZhbDsKKyAgICByZXR1cm4gMTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJQ29tbW9kaXR5IGZ1bmN0aW9ucyB0byBzd2l0Y2ggZW5jb2RpbmdzCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitzdGF0aWMgaW50Cit4bWxTd2l0Y2hUb0VuY29kaW5nSW50KHhtbFBhcnNlckN0eHRQdHIgY3R4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0ciBoYW5kbGVyLCBpbnQgbGVuKTsKK3N0YXRpYyBpbnQKK3htbFN3aXRjaElucHV0RW5jb2RpbmdJbnQoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0LCB4bWxQYXJzZXJJbnB1dFB0ciBpbnB1dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0ciBoYW5kbGVyLCBpbnQgbGVuKTsKKy8qKgorICogeG1sU3dpdGNoRW5jb2Rpbmc6CisgKiBAY3R4dDogIHRoZSBwYXJzZXIgY29udGV4dAorICogQGVuYzogIHRoZSBlbmNvZGluZyB2YWx1ZSAobnVtYmVyKQorICoKKyAqIGNoYW5nZSB0aGUgaW5wdXQgZnVuY3Rpb25zIHdoZW4gZGlzY292ZXJpbmcgdGhlIGNoYXJhY3RlciBlbmNvZGluZworICogb2YgYSBnaXZlbiBlbnRpdHkuCisgKgorICogUmV0dXJucyAwIGluIGNhc2Ugb2Ygc3VjY2VzcywgLTEgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sU3dpdGNoRW5jb2RpbmcoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0LCB4bWxDaGFyRW5jb2RpbmcgZW5jKQoreworICAgIHhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIgaGFuZGxlcjsKKyAgICBpbnQgbGVuID0gLTE7CisKKyAgICBpZiAoY3R4dCA9PSBOVUxMKSByZXR1cm4oLTEpOworICAgIHN3aXRjaCAoZW5jKSB7CisJY2FzZSBYTUxfQ0hBUl9FTkNPRElOR19FUlJPUjoKKwkgICAgX194bWxFcnJFbmNvZGluZyhjdHh0LCBYTUxfRVJSX1VOS05PV05fRU5DT0RJTkcsCisJICAgICAgICAgICAgICAgICAgICJlbmNvZGluZyB1bmtub3duXG4iLCBOVUxMLCBOVUxMKTsKKwkgICAgcmV0dXJuKC0xKTsKKwljYXNlIFhNTF9DSEFSX0VOQ09ESU5HX05PTkU6CisJICAgIC8qIGxldCdzIGFzc3VtZSBpdCdzIFVURi04IHdpdGhvdXQgdGhlIFhNTCBkZWNsICovCisJICAgIGN0eHQtPmNoYXJzZXQgPSBYTUxfQ0hBUl9FTkNPRElOR19VVEY4OworCSAgICByZXR1cm4oMCk7CisJY2FzZSBYTUxfQ0hBUl9FTkNPRElOR19VVEY4OgorCSAgICAvKiBkZWZhdWx0IGVuY29kaW5nLCBubyBjb252ZXJzaW9uIHNob3VsZCBiZSBuZWVkZWQgKi8KKwkgICAgY3R4dC0+Y2hhcnNldCA9IFhNTF9DSEFSX0VOQ09ESU5HX1VURjg7CisKKwkgICAgLyoKKwkgICAgICogRXJyYXRhIG9uIFhNTC0xLjAgSnVuZSAyMCAyMDAxCisJICAgICAqIFNwZWNpZmljIGhhbmRsaW5nIG9mIHRoZSBCeXRlIE9yZGVyIE1hcmsgZm9yCisJICAgICAqIFVURi04CisJICAgICAqLworCSAgICBpZiAoKGN0eHQtPmlucHV0ICE9IE5VTEwpICYmCisJCShjdHh0LT5pbnB1dC0+Y3VyWzBdID09IDB4RUYpICYmCisJCShjdHh0LT5pbnB1dC0+Y3VyWzFdID09IDB4QkIpICYmCisJCShjdHh0LT5pbnB1dC0+Y3VyWzJdID09IDB4QkYpKSB7CisJCWN0eHQtPmlucHV0LT5jdXIgKz0gMzsKKwkgICAgfQorCSAgICByZXR1cm4oMCk7CisgICAgY2FzZSBYTUxfQ0hBUl9FTkNPRElOR19VVEYxNkxFOgorICAgIGNhc2UgWE1MX0NIQVJfRU5DT0RJTkdfVVRGMTZCRToKKyAgICAgICAgLypUaGUgcmF3IGlucHV0IGNoYXJhY3RlcnMgYXJlIGVuY29kZWQKKyAgICAgICAgICppbiBVVEYtMTYuIEFzIHdlIGV4cGVjdCB0aGlzIGZ1bmN0aW9uCisgICAgICAgICAqdG8gYmUgY2FsbGVkIGFmdGVyIHhtbENoYXJFbmNJbkZ1bmMsIHdlIGV4cGVjdAorICAgICAgICAgKmN0eHQtPmlucHV0LT5jdXIgdG8gY29udGFpbiBVVEYtOCBlbmNvZGVkIGNoYXJhY3RlcnMuCisgICAgICAgICAqU28gdGhlIHJhdyBVVEYxNiBCeXRlIE9yZGVyIE1hcmsKKyAgICAgICAgICpoYXMgYWxzbyBiZWVuIGNvbnZlcnRlZCBpbnRvCisgICAgICAgICAqYW4gVVRGLTggQk9NLiBMZXQncyBza2lwIHRoYXQgQk9NLgorICAgICAgICAgKi8KKyAgICAgICAgaWYgKChjdHh0LT5pbnB1dCAhPSBOVUxMKSAmJiAoY3R4dC0+aW5wdXQtPmN1ciAhPSBOVUxMKSAmJgorICAgICAgICAgICAgKGN0eHQtPmlucHV0LT5jdXJbMF0gPT0gMHhFRikgJiYKKyAgICAgICAgICAgIChjdHh0LT5pbnB1dC0+Y3VyWzFdID09IDB4QkIpICYmCisgICAgICAgICAgICAoY3R4dC0+aW5wdXQtPmN1clsyXSA9PSAweEJGKSkgeworICAgICAgICAgICAgY3R4dC0+aW5wdXQtPmN1ciArPSAzOworICAgICAgICB9CisgICAgICAgIGxlbiA9IDkwOworCWJyZWFrOworICAgIGNhc2UgWE1MX0NIQVJfRU5DT0RJTkdfVUNTMjoKKyAgICAgICAgbGVuID0gOTA7CisJYnJlYWs7CisgICAgY2FzZSBYTUxfQ0hBUl9FTkNPRElOR19VQ1M0QkU6CisgICAgY2FzZSBYTUxfQ0hBUl9FTkNPRElOR19VQ1M0TEU6CisgICAgY2FzZSBYTUxfQ0hBUl9FTkNPRElOR19VQ1M0XzIxNDM6CisgICAgY2FzZSBYTUxfQ0hBUl9FTkNPRElOR19VQ1M0XzM0MTI6CisgICAgICAgIGxlbiA9IDE4MDsKKwlicmVhazsKKyAgICBjYXNlIFhNTF9DSEFSX0VOQ09ESU5HX0VCQ0RJQzoKKyAgICBjYXNlIFhNTF9DSEFSX0VOQ09ESU5HXzg4NTlfMToKKyAgICBjYXNlIFhNTF9DSEFSX0VOQ09ESU5HXzg4NTlfMjoKKyAgICBjYXNlIFhNTF9DSEFSX0VOQ09ESU5HXzg4NTlfMzoKKyAgICBjYXNlIFhNTF9DSEFSX0VOQ09ESU5HXzg4NTlfNDoKKyAgICBjYXNlIFhNTF9DSEFSX0VOQ09ESU5HXzg4NTlfNToKKyAgICBjYXNlIFhNTF9DSEFSX0VOQ09ESU5HXzg4NTlfNjoKKyAgICBjYXNlIFhNTF9DSEFSX0VOQ09ESU5HXzg4NTlfNzoKKyAgICBjYXNlIFhNTF9DSEFSX0VOQ09ESU5HXzg4NTlfODoKKyAgICBjYXNlIFhNTF9DSEFSX0VOQ09ESU5HXzg4NTlfOToKKyAgICBjYXNlIFhNTF9DSEFSX0VOQ09ESU5HX0FTQ0lJOgorICAgIGNhc2UgWE1MX0NIQVJfRU5DT0RJTkdfMjAyMl9KUDoKKyAgICBjYXNlIFhNTF9DSEFSX0VOQ09ESU5HX1NISUZUX0pJUzoKKyAgICBjYXNlIFhNTF9DSEFSX0VOQ09ESU5HX0VVQ19KUDoKKyAgICAgICAgbGVuID0gNDU7CisJYnJlYWs7CisgICAgfQorICAgIGhhbmRsZXIgPSB4bWxHZXRDaGFyRW5jb2RpbmdIYW5kbGVyKGVuYyk7CisgICAgaWYgKGhhbmRsZXIgPT0gTlVMTCkgeworCS8qCisJICogRGVmYXVsdCBoYW5kbGVycy4KKwkgKi8KKwlzd2l0Y2ggKGVuYykgeworCSAgICBjYXNlIFhNTF9DSEFSX0VOQ09ESU5HX0FTQ0lJOgorCQkvKiBkZWZhdWx0IGVuY29kaW5nLCBubyBjb252ZXJzaW9uIHNob3VsZCBiZSBuZWVkZWQgKi8KKwkJY3R4dC0+Y2hhcnNldCA9IFhNTF9DSEFSX0VOQ09ESU5HX1VURjg7CisJCXJldHVybigwKTsKKwkgICAgY2FzZSBYTUxfQ0hBUl9FTkNPRElOR19VVEYxNkxFOgorCQlicmVhazsKKwkgICAgY2FzZSBYTUxfQ0hBUl9FTkNPRElOR19VVEYxNkJFOgorCQlicmVhazsKKwkgICAgY2FzZSBYTUxfQ0hBUl9FTkNPRElOR19VQ1M0TEU6CisJCV9feG1sRXJyRW5jb2RpbmcoY3R4dCwgWE1MX0VSUl9VTlNVUFBPUlRFRF9FTkNPRElORywKKwkJCSAgICAgICAiZW5jb2Rpbmcgbm90IHN1cHBvcnRlZCAlc1xuIiwKKwkJCSAgICAgICBCQURfQ0FTVCAiVVNDNCBsaXR0bGUgZW5kaWFuIiwgTlVMTCk7CisJCWJyZWFrOworCSAgICBjYXNlIFhNTF9DSEFSX0VOQ09ESU5HX1VDUzRCRToKKwkJX194bWxFcnJFbmNvZGluZyhjdHh0LCBYTUxfRVJSX1VOU1VQUE9SVEVEX0VOQ09ESU5HLAorCQkJICAgICAgICJlbmNvZGluZyBub3Qgc3VwcG9ydGVkICVzXG4iLAorCQkJICAgICAgIEJBRF9DQVNUICJVU0M0IGJpZyBlbmRpYW4iLCBOVUxMKTsKKwkJYnJlYWs7CisJICAgIGNhc2UgWE1MX0NIQVJfRU5DT0RJTkdfRUJDRElDOgorCQlfX3htbEVyckVuY29kaW5nKGN0eHQsIFhNTF9FUlJfVU5TVVBQT1JURURfRU5DT0RJTkcsCisJCQkgICAgICAgImVuY29kaW5nIG5vdCBzdXBwb3J0ZWQgJXNcbiIsCisJCQkgICAgICAgQkFEX0NBU1QgIkVCQ0RJQyIsIE5VTEwpOworCQlicmVhazsKKwkgICAgY2FzZSBYTUxfQ0hBUl9FTkNPRElOR19VQ1M0XzIxNDM6CisJCV9feG1sRXJyRW5jb2RpbmcoY3R4dCwgWE1MX0VSUl9VTlNVUFBPUlRFRF9FTkNPRElORywKKwkJCSAgICAgICAiZW5jb2Rpbmcgbm90IHN1cHBvcnRlZCAlc1xuIiwKKwkJCSAgICAgICBCQURfQ0FTVCAiVUNTNCAyMTQzIiwgTlVMTCk7CisJCWJyZWFrOworCSAgICBjYXNlIFhNTF9DSEFSX0VOQ09ESU5HX1VDUzRfMzQxMjoKKwkJX194bWxFcnJFbmNvZGluZyhjdHh0LCBYTUxfRVJSX1VOU1VQUE9SVEVEX0VOQ09ESU5HLAorCQkJICAgICAgICJlbmNvZGluZyBub3Qgc3VwcG9ydGVkICVzXG4iLAorCQkJICAgICAgIEJBRF9DQVNUICJVQ1M0IDM0MTIiLCBOVUxMKTsKKwkJYnJlYWs7CisJICAgIGNhc2UgWE1MX0NIQVJfRU5DT0RJTkdfVUNTMjoKKwkJX194bWxFcnJFbmNvZGluZyhjdHh0LCBYTUxfRVJSX1VOU1VQUE9SVEVEX0VOQ09ESU5HLAorCQkJICAgICAgICJlbmNvZGluZyBub3Qgc3VwcG9ydGVkICVzXG4iLAorCQkJICAgICAgIEJBRF9DQVNUICJVQ1MyIiwgTlVMTCk7CisJCWJyZWFrOworCSAgICBjYXNlIFhNTF9DSEFSX0VOQ09ESU5HXzg4NTlfMToKKwkgICAgY2FzZSBYTUxfQ0hBUl9FTkNPRElOR184ODU5XzI6CisJICAgIGNhc2UgWE1MX0NIQVJfRU5DT0RJTkdfODg1OV8zOgorCSAgICBjYXNlIFhNTF9DSEFSX0VOQ09ESU5HXzg4NTlfNDoKKwkgICAgY2FzZSBYTUxfQ0hBUl9FTkNPRElOR184ODU5XzU6CisJICAgIGNhc2UgWE1MX0NIQVJfRU5DT0RJTkdfODg1OV82OgorCSAgICBjYXNlIFhNTF9DSEFSX0VOQ09ESU5HXzg4NTlfNzoKKwkgICAgY2FzZSBYTUxfQ0hBUl9FTkNPRElOR184ODU5Xzg6CisJICAgIGNhc2UgWE1MX0NIQVJfRU5DT0RJTkdfODg1OV85OgorCQkvKgorCQkgKiBXZSB1c2VkIHRvIGtlZXAgdGhlIGludGVybmFsIGNvbnRlbnQgaW4gdGhlCisJCSAqIGRvY3VtZW50IGVuY29kaW5nIGhvd2V2ZXIgdGhpcyB0dXJucyBiZWluZyB1bm1haW50YWluYWJsZQorCQkgKiBTbyB4bWxHZXRDaGFyRW5jb2RpbmdIYW5kbGVyKCkgd2lsbCByZXR1cm4gbm9uLW51bGwKKwkJICogdmFsdWVzIGZvciB0aGlzIG5vdy4KKwkJICovCisJCWlmICgoY3R4dC0+aW5wdXROciA9PSAxKSAmJgorCQkgICAgKGN0eHQtPmVuY29kaW5nID09IE5VTEwpICYmCisJCSAgICAoY3R4dC0+aW5wdXQgIT0gTlVMTCkgJiYKKwkJICAgIChjdHh0LT5pbnB1dC0+ZW5jb2RpbmcgIT0gTlVMTCkpIHsKKwkJICAgIGN0eHQtPmVuY29kaW5nID0geG1sU3RyZHVwKGN0eHQtPmlucHV0LT5lbmNvZGluZyk7CisJCX0KKwkJY3R4dC0+Y2hhcnNldCA9IGVuYzsKKwkJcmV0dXJuKDApOworCSAgICBjYXNlIFhNTF9DSEFSX0VOQ09ESU5HXzIwMjJfSlA6CisJCV9feG1sRXJyRW5jb2RpbmcoY3R4dCwgWE1MX0VSUl9VTlNVUFBPUlRFRF9FTkNPRElORywKKwkJCSAgICAgICAiZW5jb2Rpbmcgbm90IHN1cHBvcnRlZCAlc1xuIiwKKwkJCSAgICAgICBCQURfQ0FTVCAiSVNPLTIwMjItSlAiLCBOVUxMKTsKKwkJYnJlYWs7CisJICAgIGNhc2UgWE1MX0NIQVJfRU5DT0RJTkdfU0hJRlRfSklTOgorCQlfX3htbEVyckVuY29kaW5nKGN0eHQsIFhNTF9FUlJfVU5TVVBQT1JURURfRU5DT0RJTkcsCisJCQkgICAgICAgImVuY29kaW5nIG5vdCBzdXBwb3J0ZWQgJXNcbiIsCisJCQkgICAgICAgQkFEX0NBU1QgIlNoaWZ0X0pJUyIsIE5VTEwpOworCQlicmVhazsKKwkgICAgY2FzZSBYTUxfQ0hBUl9FTkNPRElOR19FVUNfSlA6CisJCV9feG1sRXJyRW5jb2RpbmcoY3R4dCwgWE1MX0VSUl9VTlNVUFBPUlRFRF9FTkNPRElORywKKwkJCSAgICAgICAiZW5jb2Rpbmcgbm90IHN1cHBvcnRlZCAlc1xuIiwKKwkJCSAgICAgICBCQURfQ0FTVCAiRVVDLUpQIiwgTlVMTCk7CisJCWJyZWFrOworCSAgICBkZWZhdWx0OgorCSAgICAgICAgYnJlYWs7CisJfQorICAgIH0KKyAgICBpZiAoaGFuZGxlciA9PSBOVUxMKQorCXJldHVybigtMSk7CisgICAgY3R4dC0+Y2hhcnNldCA9IFhNTF9DSEFSX0VOQ09ESU5HX1VURjg7CisgICAgcmV0dXJuKHhtbFN3aXRjaFRvRW5jb2RpbmdJbnQoY3R4dCwgaGFuZGxlciwgbGVuKSk7Cit9CisKKy8qKgorICogeG1sU3dpdGNoSW5wdXRFbmNvZGluZzoKKyAqIEBjdHh0OiAgdGhlIHBhcnNlciBjb250ZXh0CisgKiBAaW5wdXQ6ICB0aGUgaW5wdXQgc3RyZWFtCisgKiBAaGFuZGxlcjogIHRoZSBlbmNvZGluZyBoYW5kbGVyCisgKiBAbGVuOiAgdGhlIG51bWJlciBvZiBieXRlcyB0byBjb252ZXJ0IGZvciB0aGUgZmlyc3QgbGluZSBvciAtMQorICoKKyAqIGNoYW5nZSB0aGUgaW5wdXQgZnVuY3Rpb25zIHdoZW4gZGlzY292ZXJpbmcgdGhlIGNoYXJhY3RlciBlbmNvZGluZworICogb2YgYSBnaXZlbiBlbnRpdHkuCisgKgorICogUmV0dXJucyAwIGluIGNhc2Ugb2Ygc3VjY2VzcywgLTEgb3RoZXJ3aXNlCisgKi8KK3N0YXRpYyBpbnQKK3htbFN3aXRjaElucHV0RW5jb2RpbmdJbnQoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0LCB4bWxQYXJzZXJJbnB1dFB0ciBpbnB1dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0ciBoYW5kbGVyLCBpbnQgbGVuKQoreworICAgIGludCBuYmNoYXJzOworCisgICAgaWYgKGhhbmRsZXIgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuICgtMSk7CisgICAgaWYgKGlucHV0ID09IE5VTEwpCisgICAgICAgIHJldHVybiAoLTEpOworICAgIGlmIChpbnB1dC0+YnVmICE9IE5VTEwpIHsKKyAgICAgICAgaWYgKGlucHV0LT5idWYtPmVuY29kZXIgIT0gTlVMTCkgeworICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAqIENoZWNrIGluIGNhc2UgdGhlIGF1dG8gZW5jb2RpbmcgZGV0ZXRlY3Rpb24gdHJpZ2dlcmVkCisgICAgICAgICAgICAgKiBpbiBhbHJlYWR5LgorICAgICAgICAgICAgICovCisgICAgICAgICAgICBpZiAoaW5wdXQtPmJ1Zi0+ZW5jb2RlciA9PSBoYW5kbGVyKQorICAgICAgICAgICAgICAgIHJldHVybiAoMCk7CisKKyAgICAgICAgICAgIC8qCisgICAgICAgICAgICAgKiAiVVRGLTE2IiBjYW4gYmUgdXNlZCBmb3IgYm90aCBMRSBhbmQgQkUKKyAgICAgICAgICAgICBpZiAoKCF4bWxTdHJuY21wKEJBRF9DQVNUIGlucHV0LT5idWYtPmVuY29kZXItPm5hbWUsCisgICAgICAgICAgICAgQkFEX0NBU1QgIlVURi0xNiIsIDYpKSAmJgorICAgICAgICAgICAgICgheG1sU3RybmNtcChCQURfQ0FTVCBoYW5kbGVyLT5uYW1lLAorICAgICAgICAgICAgIEJBRF9DQVNUICJVVEYtMTYiLCA2KSkpIHsKKyAgICAgICAgICAgICByZXR1cm4oMCk7CisgICAgICAgICAgICAgfQorICAgICAgICAgICAgICovCisKKyAgICAgICAgICAgIC8qCisgICAgICAgICAgICAgKiBOb3RlOiB0aGlzIGlzIGEgYml0IGRhbmdlcm91cywgYnV0IHRoYXQncyB3aGF0IGl0CisgICAgICAgICAgICAgKiB0YWtlcyB0byB1c2UgbmVhcmx5IGNvbXBhdGlibGUgc2lnbmF0dXJlIGZvciBkaWZmZXJlbnQKKyAgICAgICAgICAgICAqIGVuY29kaW5ncy4KKyAgICAgICAgICAgICAqLworICAgICAgICAgICAgeG1sQ2hhckVuY0Nsb3NlRnVuYyhpbnB1dC0+YnVmLT5lbmNvZGVyKTsKKyAgICAgICAgICAgIGlucHV0LT5idWYtPmVuY29kZXIgPSBoYW5kbGVyOworICAgICAgICAgICAgcmV0dXJuICgwKTsKKyAgICAgICAgfQorICAgICAgICBpbnB1dC0+YnVmLT5lbmNvZGVyID0gaGFuZGxlcjsKKworICAgICAgICAvKgorICAgICAgICAgKiBJcyB0aGVyZSBhbHJlYWR5IHNvbWUgY29udGVudCBkb3duIHRoZSBwaXBlIHRvIGNvbnZlcnQgPworICAgICAgICAgKi8KKyAgICAgICAgaWYgKHhtbEJ1ZklzRW1wdHkoaW5wdXQtPmJ1Zi0+YnVmZmVyKSA9PSAwKSB7CisgICAgICAgICAgICBpbnQgcHJvY2Vzc2VkOworCSAgICB1bnNpZ25lZCBpbnQgdXNlOworCisgICAgICAgICAgICAvKgorICAgICAgICAgICAgICogU3BlY2lmaWMgaGFuZGxpbmcgb2YgdGhlIEJ5dGUgT3JkZXIgTWFyayBmb3IKKyAgICAgICAgICAgICAqIFVURi0xNgorICAgICAgICAgICAgICovCisgICAgICAgICAgICBpZiAoKGhhbmRsZXItPm5hbWUgIT0gTlVMTCkgJiYKKyAgICAgICAgICAgICAgICAoIXN0cmNtcChoYW5kbGVyLT5uYW1lLCAiVVRGLTE2TEUiKSB8fAorICAgICAgICAgICAgICAgICAhc3RyY21wKGhhbmRsZXItPm5hbWUsICJVVEYtMTYiKSkgJiYKKyAgICAgICAgICAgICAgICAoaW5wdXQtPmN1clswXSA9PSAweEZGKSAmJiAoaW5wdXQtPmN1clsxXSA9PSAweEZFKSkgeworICAgICAgICAgICAgICAgIGlucHV0LT5jdXIgKz0gMjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmICgoaGFuZGxlci0+bmFtZSAhPSBOVUxMKSAmJgorICAgICAgICAgICAgICAgICghc3RyY21wKGhhbmRsZXItPm5hbWUsICJVVEYtMTZCRSIpKSAmJgorICAgICAgICAgICAgICAgIChpbnB1dC0+Y3VyWzBdID09IDB4RkUpICYmIChpbnB1dC0+Y3VyWzFdID09IDB4RkYpKSB7CisgICAgICAgICAgICAgICAgaW5wdXQtPmN1ciArPSAyOworICAgICAgICAgICAgfQorICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAqIEVycmF0YSBvbiBYTUwtMS4wIEp1bmUgMjAgMjAwMQorICAgICAgICAgICAgICogU3BlY2lmaWMgaGFuZGxpbmcgb2YgdGhlIEJ5dGUgT3JkZXIgTWFyayBmb3IKKyAgICAgICAgICAgICAqIFVURi04CisgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgIGlmICgoaGFuZGxlci0+bmFtZSAhPSBOVUxMKSAmJgorICAgICAgICAgICAgICAgICghc3RyY21wKGhhbmRsZXItPm5hbWUsICJVVEYtOCIpKSAmJgorICAgICAgICAgICAgICAgIChpbnB1dC0+Y3VyWzBdID09IDB4RUYpICYmCisgICAgICAgICAgICAgICAgKGlucHV0LT5jdXJbMV0gPT0gMHhCQikgJiYgKGlucHV0LT5jdXJbMl0gPT0gMHhCRikpIHsKKyAgICAgICAgICAgICAgICBpbnB1dC0+Y3VyICs9IDM7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIC8qCisgICAgICAgICAgICAgKiBTaHJpbmsgdGhlIGN1cnJlbnQgaW5wdXQgYnVmZmVyLgorICAgICAgICAgICAgICogTW92ZSBpdCBhcyB0aGUgcmF3IGJ1ZmZlciBhbmQgY3JlYXRlIGEgbmV3IGlucHV0IGJ1ZmZlcgorICAgICAgICAgICAgICovCisgICAgICAgICAgICBwcm9jZXNzZWQgPSBpbnB1dC0+Y3VyIC0gaW5wdXQtPmJhc2U7CisgICAgICAgICAgICB4bWxCdWZTaHJpbmsoaW5wdXQtPmJ1Zi0+YnVmZmVyLCBwcm9jZXNzZWQpOworICAgICAgICAgICAgaW5wdXQtPmJ1Zi0+cmF3ID0gaW5wdXQtPmJ1Zi0+YnVmZmVyOworICAgICAgICAgICAgaW5wdXQtPmJ1Zi0+YnVmZmVyID0geG1sQnVmQ3JlYXRlKCk7CisJICAgIGlucHV0LT5idWYtPnJhd2NvbnN1bWVkID0gcHJvY2Vzc2VkOworCSAgICB1c2UgPSB4bWxCdWZVc2UoaW5wdXQtPmJ1Zi0+cmF3KTsKKworICAgICAgICAgICAgaWYgKGN0eHQtPmh0bWwpIHsKKyAgICAgICAgICAgICAgICAvKgorICAgICAgICAgICAgICAgICAqIGNvbnZlcnQgYXMgbXVjaCBhcyBwb3NzaWJsZSBvZiB0aGUgYnVmZmVyCisgICAgICAgICAgICAgICAgICovCisgICAgICAgICAgICAgICAgbmJjaGFycyA9IHhtbENoYXJFbmNJbnB1dChpbnB1dC0+YnVmLCAxKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAgICAgKiBjb252ZXJ0IGp1c3QgZW5vdWdoIHRvIGdldAorICAgICAgICAgICAgICAgICAqICc8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ4eHgiPz4nCisgICAgICAgICAgICAgICAgICogcGFyc2VkIHdpdGggdGhlIGF1dG9kZXRlY3RlZCBlbmNvZGluZworICAgICAgICAgICAgICAgICAqIGludG8gdGhlIHBhcnNlciByZWFkaW5nIGJ1ZmZlci4KKyAgICAgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgICAgICBuYmNoYXJzID0geG1sQ2hhckVuY0ZpcnN0TGluZUlucHV0KGlucHV0LT5idWYsIGxlbik7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAobmJjaGFycyA8IDApIHsKKyAgICAgICAgICAgICAgICB4bWxFcnJJbnRlcm5hbChjdHh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzd2l0Y2hpbmcgZW5jb2Rpbmc6IGVuY29kZXIgZXJyb3JcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7CisgICAgICAgICAgICAgICAgcmV0dXJuICgtMSk7CisgICAgICAgICAgICB9CisJICAgIGlucHV0LT5idWYtPnJhd2NvbnN1bWVkICs9IHVzZSAtIHhtbEJ1ZlVzZShpbnB1dC0+YnVmLT5yYXcpOworICAgICAgICAgICAgeG1sQnVmUmVzZXRJbnB1dChpbnB1dC0+YnVmLT5idWZmZXIsIGlucHV0KTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gKDApOworICAgIH0gZWxzZSBpZiAoaW5wdXQtPmxlbmd0aCA9PSAwKSB7CisJLyoKKwkgKiBXaGVuIHBhcnNpbmcgYSBzdGF0aWMgbWVtb3J5IGFycmF5IG9uZSBtdXN0IGtub3cgdGhlCisJICogc2l6ZSB0byBiZSBhYmxlIHRvIGNvbnZlcnQgdGhlIGJ1ZmZlci4KKwkgKi8KKwl4bWxFcnJJbnRlcm5hbChjdHh0LCAic3dpdGNoaW5nIGVuY29kaW5nIDogbm8gaW5wdXRcbiIsIE5VTEwpOworCXJldHVybiAoLTEpOworICAgIH0KKyAgICByZXR1cm4gKDApOworfQorCisvKioKKyAqIHhtbFN3aXRjaElucHV0RW5jb2Rpbmc6CisgKiBAY3R4dDogIHRoZSBwYXJzZXIgY29udGV4dAorICogQGlucHV0OiAgdGhlIGlucHV0IHN0cmVhbQorICogQGhhbmRsZXI6ICB0aGUgZW5jb2RpbmcgaGFuZGxlcgorICoKKyAqIGNoYW5nZSB0aGUgaW5wdXQgZnVuY3Rpb25zIHdoZW4gZGlzY292ZXJpbmcgdGhlIGNoYXJhY3RlciBlbmNvZGluZworICogb2YgYSBnaXZlbiBlbnRpdHkuCisgKgorICogUmV0dXJucyAwIGluIGNhc2Ugb2Ygc3VjY2VzcywgLTEgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sU3dpdGNoSW5wdXRFbmNvZGluZyh4bWxQYXJzZXJDdHh0UHRyIGN0eHQsIHhtbFBhcnNlcklucHV0UHRyIGlucHV0LAorICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyIGhhbmRsZXIpIHsKKyAgICByZXR1cm4oeG1sU3dpdGNoSW5wdXRFbmNvZGluZ0ludChjdHh0LCBpbnB1dCwgaGFuZGxlciwgLTEpKTsKK30KKworLyoqCisgKiB4bWxTd2l0Y2hUb0VuY29kaW5nSW50OgorICogQGN0eHQ6ICB0aGUgcGFyc2VyIGNvbnRleHQKKyAqIEBoYW5kbGVyOiAgdGhlIGVuY29kaW5nIGhhbmRsZXIKKyAqIEBsZW46IHRoZSBsZW5ndGggdG8gY29udmVydCBvciAtMQorICoKKyAqIGNoYW5nZSB0aGUgaW5wdXQgZnVuY3Rpb25zIHdoZW4gZGlzY292ZXJpbmcgdGhlIGNoYXJhY3RlciBlbmNvZGluZworICogb2YgYSBnaXZlbiBlbnRpdHksIGFuZCBjb252ZXJ0IG9ubHkgQGxlbiBieXRlcyBvZiB0aGUgb3V0cHV0LCB0aGlzCisgKiBpcyBuZWVkZWQgb24gYXV0byBkZXRlY3QgdG8gYWxsb3dzIGFueSBkZWNsYXJlZCBlbmNvZGluZyBsYXRlciB0bworICogY29udmVydCB0aGUgYWN0dWFsIGNvbnRlbnQgYWZ0ZXIgdGhlIHhtbERlY2wKKyAqCisgKiBSZXR1cm5zIDAgaW4gY2FzZSBvZiBzdWNjZXNzLCAtMSBvdGhlcndpc2UKKyAqLworc3RhdGljIGludAoreG1sU3dpdGNoVG9FbmNvZGluZ0ludCh4bWxQYXJzZXJDdHh0UHRyIGN0eHQsCisgICAgICAgICAgICAgICAgICAgICAgIHhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIgaGFuZGxlciwgaW50IGxlbikgeworICAgIGludCByZXQgPSAwOworCisgICAgaWYgKGhhbmRsZXIgIT0gTlVMTCkgeworICAgICAgICBpZiAoY3R4dC0+aW5wdXQgIT0gTlVMTCkgeworCSAgICByZXQgPSB4bWxTd2l0Y2hJbnB1dEVuY29kaW5nSW50KGN0eHQsIGN0eHQtPmlucHV0LCBoYW5kbGVyLCBsZW4pOworCX0gZWxzZSB7CisJICAgIHhtbEVyckludGVybmFsKGN0eHQsICJ4bWxTd2l0Y2hUb0VuY29kaW5nIDogbm8gaW5wdXRcbiIsCisJICAgICAgICAgICAgICAgICAgIE5VTEwpOworCSAgICByZXR1cm4oLTEpOworCX0KKwkvKgorCSAqIFRoZSBwYXJzaW5nIGlzIG5vdyBkb25lIGluIFVURjggbmF0aXZlbHkKKwkgKi8KKwljdHh0LT5jaGFyc2V0ID0gWE1MX0NIQVJfRU5DT0RJTkdfVVRGODsKKyAgICB9IGVsc2UKKwlyZXR1cm4oLTEpOworICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbFN3aXRjaFRvRW5jb2Rpbmc6CisgKiBAY3R4dDogIHRoZSBwYXJzZXIgY29udGV4dAorICogQGhhbmRsZXI6ICB0aGUgZW5jb2RpbmcgaGFuZGxlcgorICoKKyAqIGNoYW5nZSB0aGUgaW5wdXQgZnVuY3Rpb25zIHdoZW4gZGlzY292ZXJpbmcgdGhlIGNoYXJhY3RlciBlbmNvZGluZworICogb2YgYSBnaXZlbiBlbnRpdHkuCisgKgorICogUmV0dXJucyAwIGluIGNhc2Ugb2Ygc3VjY2VzcywgLTEgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sU3dpdGNoVG9FbmNvZGluZyh4bWxQYXJzZXJDdHh0UHRyIGN0eHQsIHhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIgaGFuZGxlcikKK3sKKyAgICByZXR1cm4gKHhtbFN3aXRjaFRvRW5jb2RpbmdJbnQoY3R4dCwgaGFuZGxlciwgLTEpKTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKglDb21tb2RpdHkgZnVuY3Rpb25zIHRvIGhhbmRsZSBlbnRpdGllcyBwcm9jZXNzaW5nCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKgorICogeG1sRnJlZUlucHV0U3RyZWFtOgorICogQGlucHV0OiAgYW4geG1sUGFyc2VySW5wdXRQdHIKKyAqCisgKiBGcmVlIHVwIGFuIGlucHV0IHN0cmVhbS4KKyAqLwordm9pZAoreG1sRnJlZUlucHV0U3RyZWFtKHhtbFBhcnNlcklucHV0UHRyIGlucHV0KSB7CisgICAgaWYgKGlucHV0ID09IE5VTEwpIHJldHVybjsKKworICAgIGlmIChpbnB1dC0+ZmlsZW5hbWUgIT0gTlVMTCkgeG1sRnJlZSgoY2hhciAqKSBpbnB1dC0+ZmlsZW5hbWUpOworICAgIGlmIChpbnB1dC0+ZGlyZWN0b3J5ICE9IE5VTEwpIHhtbEZyZWUoKGNoYXIgKikgaW5wdXQtPmRpcmVjdG9yeSk7CisgICAgaWYgKGlucHV0LT5lbmNvZGluZyAhPSBOVUxMKSB4bWxGcmVlKChjaGFyICopIGlucHV0LT5lbmNvZGluZyk7CisgICAgaWYgKGlucHV0LT52ZXJzaW9uICE9IE5VTEwpIHhtbEZyZWUoKGNoYXIgKikgaW5wdXQtPnZlcnNpb24pOworICAgIGlmICgoaW5wdXQtPmZyZWUgIT0gTlVMTCkgJiYgKGlucHV0LT5iYXNlICE9IE5VTEwpKQorICAgICAgICBpbnB1dC0+ZnJlZSgoeG1sQ2hhciAqKSBpbnB1dC0+YmFzZSk7CisgICAgaWYgKGlucHV0LT5idWYgIT0gTlVMTCkKKyAgICAgICAgeG1sRnJlZVBhcnNlcklucHV0QnVmZmVyKGlucHV0LT5idWYpOworICAgIHhtbEZyZWUoaW5wdXQpOworfQorCisvKioKKyAqIHhtbE5ld0lucHV0U3RyZWFtOgorICogQGN0eHQ6ICBhbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqCisgKiBDcmVhdGUgYSBuZXcgaW5wdXQgc3RyZWFtIHN0cnVjdHVyZS4KKyAqCisgKiBSZXR1cm5zIHRoZSBuZXcgaW5wdXQgc3RyZWFtIG9yIE5VTEwKKyAqLworeG1sUGFyc2VySW5wdXRQdHIKK3htbE5ld0lucHV0U3RyZWFtKHhtbFBhcnNlckN0eHRQdHIgY3R4dCkgeworICAgIHhtbFBhcnNlcklucHV0UHRyIGlucHV0OworCisgICAgaW5wdXQgPSAoeG1sUGFyc2VySW5wdXRQdHIpIHhtbE1hbGxvYyhzaXplb2YoeG1sUGFyc2VySW5wdXQpKTsKKyAgICBpZiAoaW5wdXQgPT0gTlVMTCkgeworICAgICAgICB4bWxFcnJNZW1vcnkoY3R4dCwgICJjb3VsZG4ndCBhbGxvY2F0ZSBhIG5ldyBpbnB1dCBzdHJlYW1cbiIpOworCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgbWVtc2V0KGlucHV0LCAwLCBzaXplb2YoeG1sUGFyc2VySW5wdXQpKTsKKyAgICBpbnB1dC0+bGluZSA9IDE7CisgICAgaW5wdXQtPmNvbCA9IDE7CisgICAgaW5wdXQtPnN0YW5kYWxvbmUgPSAtMTsKKworICAgIC8qCisgICAgICogSWYgdGhlIGNvbnRleHQgaXMgTlVMTCB0aGUgaWQgY2Fubm90IGJlIGluaXRpYWxpemVkLCBidXQgdGhhdAorICAgICAqIHNob3VsZCBub3QgaGFwcGVuIHdoaWxlIHBhcnNpbmcgd2hpY2ggaXMgdGhlIHNpdHVhdGlvbiB3aGVyZQorICAgICAqIHRoZSBpZCBpcyBhY3R1YWxseSBuZWVkZWQuCisgICAgICovCisgICAgaWYgKGN0eHQgIT0gTlVMTCkKKyAgICAgICAgaW5wdXQtPmlkID0gY3R4dC0+aW5wdXRfaWQrKzsKKworICAgIHJldHVybihpbnB1dCk7Cit9CisKKy8qKgorICogeG1sTmV3SU9JbnB1dFN0cmVhbToKKyAqIEBjdHh0OiAgYW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAaW5wdXQ6ICBhbiBJL08gSW5wdXQKKyAqIEBlbmM6ICB0aGUgY2hhcnNldCBlbmNvZGluZyBpZiBrbm93bgorICoKKyAqIENyZWF0ZSBhIG5ldyBpbnB1dCBzdHJlYW0gc3RydWN0dXJlIGVuY2Fwc3VsYXRpbmcgdGhlIEBpbnB1dCBpbnRvCisgKiBhIHN0cmVhbSBzdWl0YWJsZSBmb3IgdGhlIHBhcnNlci4KKyAqCisgKiBSZXR1cm5zIHRoZSBuZXcgaW5wdXQgc3RyZWFtIG9yIE5VTEwKKyAqLworeG1sUGFyc2VySW5wdXRQdHIKK3htbE5ld0lPSW5wdXRTdHJlYW0oeG1sUGFyc2VyQ3R4dFB0ciBjdHh0LCB4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciBpbnB1dCwKKwkgICAgICAgICAgICB4bWxDaGFyRW5jb2RpbmcgZW5jKSB7CisgICAgeG1sUGFyc2VySW5wdXRQdHIgaW5wdXRTdHJlYW07CisKKyAgICBpZiAoaW5wdXQgPT0gTlVMTCkgcmV0dXJuKE5VTEwpOworICAgIGlmICh4bWxQYXJzZXJEZWJ1Z0VudGl0aWVzKQorCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCAibmV3IGlucHV0IGZyb20gSS9PXG4iKTsKKyAgICBpbnB1dFN0cmVhbSA9IHhtbE5ld0lucHV0U3RyZWFtKGN0eHQpOworICAgIGlmIChpbnB1dFN0cmVhbSA9PSBOVUxMKSB7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBpbnB1dFN0cmVhbS0+ZmlsZW5hbWUgPSBOVUxMOworICAgIGlucHV0U3RyZWFtLT5idWYgPSBpbnB1dDsKKyAgICB4bWxCdWZSZXNldElucHV0KGlucHV0U3RyZWFtLT5idWYtPmJ1ZmZlciwgaW5wdXRTdHJlYW0pOworCisgICAgaWYgKGVuYyAhPSBYTUxfQ0hBUl9FTkNPRElOR19OT05FKSB7CisgICAgICAgIHhtbFN3aXRjaEVuY29kaW5nKGN0eHQsIGVuYyk7CisgICAgfQorCisgICAgcmV0dXJuKGlucHV0U3RyZWFtKTsKK30KKworLyoqCisgKiB4bWxOZXdFbnRpdHlJbnB1dFN0cmVhbToKKyAqIEBjdHh0OiAgYW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAZW50aXR5OiAgYW4gRW50aXR5IHBvaW50ZXIKKyAqCisgKiBDcmVhdGUgYSBuZXcgaW5wdXQgc3RyZWFtIGJhc2VkIG9uIGFuIHhtbEVudGl0eVB0cgorICoKKyAqIFJldHVybnMgdGhlIG5ldyBpbnB1dCBzdHJlYW0gb3IgTlVMTAorICovCit4bWxQYXJzZXJJbnB1dFB0cgoreG1sTmV3RW50aXR5SW5wdXRTdHJlYW0oeG1sUGFyc2VyQ3R4dFB0ciBjdHh0LCB4bWxFbnRpdHlQdHIgZW50aXR5KSB7CisgICAgeG1sUGFyc2VySW5wdXRQdHIgaW5wdXQ7CisKKyAgICBpZiAoZW50aXR5ID09IE5VTEwpIHsKKyAgICAgICAgeG1sRXJySW50ZXJuYWwoY3R4dCwgInhtbE5ld0VudGl0eUlucHV0U3RyZWFtIGVudGl0eSA9IE5VTExcbiIsCisJICAgICAgICAgICAgICAgTlVMTCk7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBpZiAoeG1sUGFyc2VyRGVidWdFbnRpdGllcykKKwl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJIm5ldyBpbnB1dCBmcm9tIGVudGl0eTogJXNcbiIsIGVudGl0eS0+bmFtZSk7CisgICAgaWYgKGVudGl0eS0+Y29udGVudCA9PSBOVUxMKSB7CisJc3dpdGNoIChlbnRpdHktPmV0eXBlKSB7CisgICAgICAgICAgICBjYXNlIFhNTF9FWFRFUk5BTF9HRU5FUkFMX1VOUEFSU0VEX0VOVElUWToKKwkgICAgICAgIHhtbEVyckludGVybmFsKGN0eHQsICJDYW5ub3QgcGFyc2UgZW50aXR5ICVzXG4iLAorCQkgICAgICAgICAgICAgICBlbnRpdHktPm5hbWUpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBYTUxfRVhURVJOQUxfR0VORVJBTF9QQVJTRURfRU5USVRZOgorICAgICAgICAgICAgY2FzZSBYTUxfRVhURVJOQUxfUEFSQU1FVEVSX0VOVElUWToKKwkJcmV0dXJuKHhtbExvYWRFeHRlcm5hbEVudGl0eSgoY2hhciAqKSBlbnRpdHktPlVSSSwKKwkJICAgICAgIChjaGFyICopIGVudGl0eS0+RXh0ZXJuYWxJRCwgY3R4dCkpOworICAgICAgICAgICAgY2FzZSBYTUxfSU5URVJOQUxfR0VORVJBTF9FTlRJVFk6CisJICAgICAgICB4bWxFcnJJbnRlcm5hbChjdHh0LAorCQkgICAgICAiSW50ZXJuYWwgZW50aXR5ICVzIHdpdGhvdXQgY29udGVudCAhXG4iLAorCQkgICAgICAgICAgICAgICBlbnRpdHktPm5hbWUpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBYTUxfSU5URVJOQUxfUEFSQU1FVEVSX0VOVElUWToKKwkgICAgICAgIHhtbEVyckludGVybmFsKGN0eHQsCisJCSAgICAgICJJbnRlcm5hbCBwYXJhbWV0ZXIgZW50aXR5ICVzIHdpdGhvdXQgY29udGVudCAhXG4iLAorCQkgICAgICAgICAgICAgICBlbnRpdHktPm5hbWUpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBYTUxfSU5URVJOQUxfUFJFREVGSU5FRF9FTlRJVFk6CisJICAgICAgICB4bWxFcnJJbnRlcm5hbChjdHh0LAorCQkgICAgICAiUHJlZGVmaW5lZCBlbnRpdHkgJXMgd2l0aG91dCBjb250ZW50ICFcbiIsCisJCSAgICAgICAgICAgICAgIGVudGl0eS0+bmFtZSk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisJfQorCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgaW5wdXQgPSB4bWxOZXdJbnB1dFN0cmVhbShjdHh0KTsKKyAgICBpZiAoaW5wdXQgPT0gTlVMTCkgeworCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgaWYgKGVudGl0eS0+VVJJICE9IE5VTEwpCisJaW5wdXQtPmZpbGVuYW1lID0gKGNoYXIgKikgeG1sU3RyZHVwKCh4bWxDaGFyICopIGVudGl0eS0+VVJJKTsKKyAgICBpbnB1dC0+YmFzZSA9IGVudGl0eS0+Y29udGVudDsKKyAgICBpbnB1dC0+Y3VyID0gZW50aXR5LT5jb250ZW50OworICAgIGlucHV0LT5sZW5ndGggPSBlbnRpdHktPmxlbmd0aDsKKyAgICBpbnB1dC0+ZW5kID0gJmVudGl0eS0+Y29udGVudFtpbnB1dC0+bGVuZ3RoXTsKKyAgICByZXR1cm4oaW5wdXQpOworfQorCisvKioKKyAqIHhtbE5ld1N0cmluZ0lucHV0U3RyZWFtOgorICogQGN0eHQ6ICBhbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBidWZmZXI6ICBhbiBtZW1vcnkgYnVmZmVyCisgKgorICogQ3JlYXRlIGEgbmV3IGlucHV0IHN0cmVhbSBiYXNlZCBvbiBhIG1lbW9yeSBidWZmZXIuCisgKiBSZXR1cm5zIHRoZSBuZXcgaW5wdXQgc3RyZWFtCisgKi8KK3htbFBhcnNlcklucHV0UHRyCit4bWxOZXdTdHJpbmdJbnB1dFN0cmVhbSh4bWxQYXJzZXJDdHh0UHRyIGN0eHQsIGNvbnN0IHhtbENoYXIgKmJ1ZmZlcikgeworICAgIHhtbFBhcnNlcklucHV0UHRyIGlucHV0OworCisgICAgaWYgKGJ1ZmZlciA9PSBOVUxMKSB7CisgICAgICAgIHhtbEVyckludGVybmFsKGN0eHQsICJ4bWxOZXdTdHJpbmdJbnB1dFN0cmVhbSBzdHJpbmcgPSBOVUxMXG4iLAorCSAgICAgICAgICAgICAgIE5VTEwpOworCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgaWYgKHhtbFBhcnNlckRlYnVnRW50aXRpZXMpCisJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSJuZXcgZml4ZWQgaW5wdXQ6ICUuMzBzXG4iLCBidWZmZXIpOworICAgIGlucHV0ID0geG1sTmV3SW5wdXRTdHJlYW0oY3R4dCk7CisgICAgaWYgKGlucHV0ID09IE5VTEwpIHsKKyAgICAgICAgeG1sRXJyTWVtb3J5KGN0eHQsICAiY291bGRuJ3QgYWxsb2NhdGUgYSBuZXcgaW5wdXQgc3RyZWFtXG4iKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIGlucHV0LT5iYXNlID0gYnVmZmVyOworICAgIGlucHV0LT5jdXIgPSBidWZmZXI7CisgICAgaW5wdXQtPmxlbmd0aCA9IHhtbFN0cmxlbihidWZmZXIpOworICAgIGlucHV0LT5lbmQgPSAmYnVmZmVyW2lucHV0LT5sZW5ndGhdOworICAgIHJldHVybihpbnB1dCk7Cit9CisKKy8qKgorICogeG1sTmV3SW5wdXRGcm9tRmlsZToKKyAqIEBjdHh0OiAgYW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAZmlsZW5hbWU6ICB0aGUgZmlsZW5hbWUgdG8gdXNlIGFzIGVudGl0eQorICoKKyAqIENyZWF0ZSBhIG5ldyBpbnB1dCBzdHJlYW0gYmFzZWQgb24gYSBmaWxlIG9yIGFuIFVSTC4KKyAqCisgKiBSZXR1cm5zIHRoZSBuZXcgaW5wdXQgc3RyZWFtIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcgorICovCit4bWxQYXJzZXJJbnB1dFB0cgoreG1sTmV3SW5wdXRGcm9tRmlsZSh4bWxQYXJzZXJDdHh0UHRyIGN0eHQsIGNvbnN0IGNoYXIgKmZpbGVuYW1lKSB7CisgICAgeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIgYnVmOworICAgIHhtbFBhcnNlcklucHV0UHRyIGlucHV0U3RyZWFtOworICAgIGNoYXIgKmRpcmVjdG9yeSA9IE5VTEw7CisgICAgeG1sQ2hhciAqVVJJID0gTlVMTDsKKworICAgIGlmICh4bWxQYXJzZXJEZWJ1Z0VudGl0aWVzKQorCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkibmV3IGlucHV0IGZyb20gZmlsZTogJXNcbiIsIGZpbGVuYW1lKTsKKyAgICBpZiAoY3R4dCA9PSBOVUxMKSByZXR1cm4oTlVMTCk7CisgICAgYnVmID0geG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZShmaWxlbmFtZSwgWE1MX0NIQVJfRU5DT0RJTkdfTk9ORSk7CisgICAgaWYgKGJ1ZiA9PSBOVUxMKSB7CisJaWYgKGZpbGVuYW1lID09IE5VTEwpCisJICAgIF9feG1sTG9hZGVyRXJyKGN0eHQsCisJICAgICAgICAgICAgICAgICAgICJmYWlsZWQgdG8gbG9hZCBleHRlcm5hbCBlbnRpdHk6IE5VTEwgZmlsZW5hbWUgXG4iLAorCQkJICAgTlVMTCk7CisJZWxzZQorCSAgICBfX3htbExvYWRlckVycihjdHh0LCAiZmFpbGVkIHRvIGxvYWQgZXh0ZXJuYWwgZW50aXR5IFwiJXNcIlxuIiwKKwkJCSAgIChjb25zdCBjaGFyICopIGZpbGVuYW1lKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorCisgICAgaW5wdXRTdHJlYW0gPSB4bWxOZXdJbnB1dFN0cmVhbShjdHh0KTsKKyAgICBpZiAoaW5wdXRTdHJlYW0gPT0gTlVMTCkKKwlyZXR1cm4oTlVMTCk7CisKKyAgICBpbnB1dFN0cmVhbS0+YnVmID0gYnVmOworICAgIGlucHV0U3RyZWFtID0geG1sQ2hlY2tIVFRQSW5wdXQoY3R4dCwgaW5wdXRTdHJlYW0pOworICAgIGlmIChpbnB1dFN0cmVhbSA9PSBOVUxMKQorICAgICAgICByZXR1cm4oTlVMTCk7CisKKyAgICBpZiAoaW5wdXRTdHJlYW0tPmZpbGVuYW1lID09IE5VTEwpCisJVVJJID0geG1sU3RyZHVwKCh4bWxDaGFyICopIGZpbGVuYW1lKTsKKyAgICBlbHNlCisJVVJJID0geG1sU3RyZHVwKCh4bWxDaGFyICopIGlucHV0U3RyZWFtLT5maWxlbmFtZSk7CisgICAgZGlyZWN0b3J5ID0geG1sUGFyc2VyR2V0RGlyZWN0b3J5KChjb25zdCBjaGFyICopIFVSSSk7CisgICAgaWYgKGlucHV0U3RyZWFtLT5maWxlbmFtZSAhPSBOVUxMKSB4bWxGcmVlKChjaGFyICopaW5wdXRTdHJlYW0tPmZpbGVuYW1lKTsKKyAgICBpbnB1dFN0cmVhbS0+ZmlsZW5hbWUgPSAoY2hhciAqKSB4bWxDYW5vbmljUGF0aCgoY29uc3QgeG1sQ2hhciAqKSBVUkkpOworICAgIGlmIChVUkkgIT0gTlVMTCkgeG1sRnJlZSgoY2hhciAqKSBVUkkpOworICAgIGlucHV0U3RyZWFtLT5kaXJlY3RvcnkgPSBkaXJlY3Rvcnk7CisKKyAgICB4bWxCdWZSZXNldElucHV0KGlucHV0U3RyZWFtLT5idWYtPmJ1ZmZlciwgaW5wdXRTdHJlYW0pOworICAgIGlmICgoY3R4dC0+ZGlyZWN0b3J5ID09IE5VTEwpICYmIChkaXJlY3RvcnkgIT0gTlVMTCkpCisgICAgICAgIGN0eHQtPmRpcmVjdG9yeSA9IChjaGFyICopIHhtbFN0cmR1cCgoY29uc3QgeG1sQ2hhciAqKSBkaXJlY3RvcnkpOworICAgIHJldHVybihpbnB1dFN0cmVhbSk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCUNvbW1vZGl0eSBmdW5jdGlvbnMgdG8gaGFuZGxlIHBhcnNlciBjb250ZXh0cwkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioKKyAqIHhtbEluaXRQYXJzZXJDdHh0OgorICogQGN0eHQ6ICBhbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqCisgKiBJbml0aWFsaXplIGEgcGFyc2VyIGNvbnRleHQKKyAqCisgKiBSZXR1cm5zIDAgaW4gY2FzZSBvZiBzdWNjZXNzIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KKworaW50Cit4bWxJbml0UGFyc2VyQ3R4dCh4bWxQYXJzZXJDdHh0UHRyIGN0eHQpCit7CisgICAgeG1sUGFyc2VySW5wdXRQdHIgaW5wdXQ7CisKKyAgICBpZihjdHh0PT1OVUxMKSB7CisgICAgICAgIHhtbEVyckludGVybmFsKE5VTEwsICJHb3QgTlVMTCBwYXJzZXIgY29udGV4dFxuIiwgTlVMTCk7CisgICAgICAgIHJldHVybigtMSk7CisgICAgfQorCisgICAgeG1sRGVmYXVsdFNBWEhhbmRsZXJJbml0KCk7CisKKyAgICBpZiAoY3R4dC0+ZGljdCA9PSBOVUxMKQorCWN0eHQtPmRpY3QgPSB4bWxEaWN0Q3JlYXRlKCk7CisgICAgaWYgKGN0eHQtPmRpY3QgPT0gTlVMTCkgeworICAgICAgICB4bWxFcnJNZW1vcnkoTlVMTCwgImNhbm5vdCBpbml0aWFsaXplIHBhcnNlciBjb250ZXh0XG4iKTsKKwlyZXR1cm4oLTEpOworICAgIH0KKyAgICB4bWxEaWN0U2V0TGltaXQoY3R4dC0+ZGljdCwgWE1MX01BWF9ESUNUSU9OQVJZX0xJTUlUKTsKKworICAgIGlmIChjdHh0LT5zYXggPT0gTlVMTCkKKwljdHh0LT5zYXggPSAoeG1sU0FYSGFuZGxlciAqKSB4bWxNYWxsb2Moc2l6ZW9mKHhtbFNBWEhhbmRsZXIpKTsKKyAgICBpZiAoY3R4dC0+c2F4ID09IE5VTEwpIHsKKyAgICAgICAgeG1sRXJyTWVtb3J5KE5VTEwsICJjYW5ub3QgaW5pdGlhbGl6ZSBwYXJzZXIgY29udGV4dFxuIik7CisJcmV0dXJuKC0xKTsKKyAgICB9CisgICAgZWxzZQorICAgICAgICB4bWxTQVhWZXJzaW9uKGN0eHQtPnNheCwgMik7CisKKyAgICBjdHh0LT5tYXhhdHRzID0gMDsKKyAgICBjdHh0LT5hdHRzID0gTlVMTDsKKyAgICAvKiBBbGxvY2F0ZSB0aGUgSW5wdXQgc3RhY2sgKi8KKyAgICBpZiAoY3R4dC0+aW5wdXRUYWIgPT0gTlVMTCkgeworCWN0eHQtPmlucHV0VGFiID0gKHhtbFBhcnNlcklucHV0UHRyICopCisJCSAgICB4bWxNYWxsb2MoNSAqIHNpemVvZih4bWxQYXJzZXJJbnB1dFB0cikpOworCWN0eHQtPmlucHV0TWF4ID0gNTsKKyAgICB9CisgICAgaWYgKGN0eHQtPmlucHV0VGFiID09IE5VTEwpIHsKKyAgICAgICAgeG1sRXJyTWVtb3J5KE5VTEwsICJjYW5ub3QgaW5pdGlhbGl6ZSBwYXJzZXIgY29udGV4dFxuIik7CisJY3R4dC0+aW5wdXROciA9IDA7CisJY3R4dC0+aW5wdXRNYXggPSAwOworCWN0eHQtPmlucHV0ID0gTlVMTDsKKwlyZXR1cm4oLTEpOworICAgIH0KKyAgICB3aGlsZSAoKGlucHV0ID0gaW5wdXRQb3AoY3R4dCkpICE9IE5VTEwpIHsgLyogTm9uIGNvbnN1bWluZyAqLworICAgICAgICB4bWxGcmVlSW5wdXRTdHJlYW0oaW5wdXQpOworICAgIH0KKyAgICBjdHh0LT5pbnB1dE5yID0gMDsKKyAgICBjdHh0LT5pbnB1dCA9IE5VTEw7CisKKyAgICBjdHh0LT52ZXJzaW9uID0gTlVMTDsKKyAgICBjdHh0LT5lbmNvZGluZyA9IE5VTEw7CisgICAgY3R4dC0+c3RhbmRhbG9uZSA9IC0xOworICAgIGN0eHQtPmhhc0V4dGVybmFsU3Vic2V0ID0gMDsKKyAgICBjdHh0LT5oYXNQRXJlZnMgPSAwOworICAgIGN0eHQtPmh0bWwgPSAwOworICAgIGN0eHQtPmV4dGVybmFsID0gMDsKKyAgICBjdHh0LT5pbnN0YXRlID0gWE1MX1BBUlNFUl9TVEFSVDsKKyAgICBjdHh0LT50b2tlbiA9IDA7CisgICAgY3R4dC0+ZGlyZWN0b3J5ID0gTlVMTDsKKworICAgIC8qIEFsbG9jYXRlIHRoZSBOb2RlIHN0YWNrICovCisgICAgaWYgKGN0eHQtPm5vZGVUYWIgPT0gTlVMTCkgeworCWN0eHQtPm5vZGVUYWIgPSAoeG1sTm9kZVB0ciAqKSB4bWxNYWxsb2MoMTAgKiBzaXplb2YoeG1sTm9kZVB0cikpOworCWN0eHQtPm5vZGVNYXggPSAxMDsKKyAgICB9CisgICAgaWYgKGN0eHQtPm5vZGVUYWIgPT0gTlVMTCkgeworICAgICAgICB4bWxFcnJNZW1vcnkoTlVMTCwgImNhbm5vdCBpbml0aWFsaXplIHBhcnNlciBjb250ZXh0XG4iKTsKKwljdHh0LT5ub2RlTnIgPSAwOworCWN0eHQtPm5vZGVNYXggPSAwOworCWN0eHQtPm5vZGUgPSBOVUxMOworCWN0eHQtPmlucHV0TnIgPSAwOworCWN0eHQtPmlucHV0TWF4ID0gMDsKKwljdHh0LT5pbnB1dCA9IE5VTEw7CisJcmV0dXJuKC0xKTsKKyAgICB9CisgICAgY3R4dC0+bm9kZU5yID0gMDsKKyAgICBjdHh0LT5ub2RlID0gTlVMTDsKKworICAgIC8qIEFsbG9jYXRlIHRoZSBOYW1lIHN0YWNrICovCisgICAgaWYgKGN0eHQtPm5hbWVUYWIgPT0gTlVMTCkgeworCWN0eHQtPm5hbWVUYWIgPSAoY29uc3QgeG1sQ2hhciAqKikgeG1sTWFsbG9jKDEwICogc2l6ZW9mKHhtbENoYXIgKikpOworCWN0eHQtPm5hbWVNYXggPSAxMDsKKyAgICB9CisgICAgaWYgKGN0eHQtPm5hbWVUYWIgPT0gTlVMTCkgeworICAgICAgICB4bWxFcnJNZW1vcnkoTlVMTCwgImNhbm5vdCBpbml0aWFsaXplIHBhcnNlciBjb250ZXh0XG4iKTsKKwljdHh0LT5ub2RlTnIgPSAwOworCWN0eHQtPm5vZGVNYXggPSAwOworCWN0eHQtPm5vZGUgPSBOVUxMOworCWN0eHQtPmlucHV0TnIgPSAwOworCWN0eHQtPmlucHV0TWF4ID0gMDsKKwljdHh0LT5pbnB1dCA9IE5VTEw7CisJY3R4dC0+bmFtZU5yID0gMDsKKwljdHh0LT5uYW1lTWF4ID0gMDsKKwljdHh0LT5uYW1lID0gTlVMTDsKKwlyZXR1cm4oLTEpOworICAgIH0KKyAgICBjdHh0LT5uYW1lTnIgPSAwOworICAgIGN0eHQtPm5hbWUgPSBOVUxMOworCisgICAgLyogQWxsb2NhdGUgdGhlIHNwYWNlIHN0YWNrICovCisgICAgaWYgKGN0eHQtPnNwYWNlVGFiID09IE5VTEwpIHsKKwljdHh0LT5zcGFjZVRhYiA9IChpbnQgKikgeG1sTWFsbG9jKDEwICogc2l6ZW9mKGludCkpOworCWN0eHQtPnNwYWNlTWF4ID0gMTA7CisgICAgfQorICAgIGlmIChjdHh0LT5zcGFjZVRhYiA9PSBOVUxMKSB7CisgICAgICAgIHhtbEVyck1lbW9yeShOVUxMLCAiY2Fubm90IGluaXRpYWxpemUgcGFyc2VyIGNvbnRleHRcbiIpOworCWN0eHQtPm5vZGVOciA9IDA7CisJY3R4dC0+bm9kZU1heCA9IDA7CisJY3R4dC0+bm9kZSA9IE5VTEw7CisJY3R4dC0+aW5wdXROciA9IDA7CisJY3R4dC0+aW5wdXRNYXggPSAwOworCWN0eHQtPmlucHV0ID0gTlVMTDsKKwljdHh0LT5uYW1lTnIgPSAwOworCWN0eHQtPm5hbWVNYXggPSAwOworCWN0eHQtPm5hbWUgPSBOVUxMOworCWN0eHQtPnNwYWNlTnIgPSAwOworCWN0eHQtPnNwYWNlTWF4ID0gMDsKKwljdHh0LT5zcGFjZSA9IE5VTEw7CisJcmV0dXJuKC0xKTsKKyAgICB9CisgICAgY3R4dC0+c3BhY2VOciA9IDE7CisgICAgY3R4dC0+c3BhY2VNYXggPSAxMDsKKyAgICBjdHh0LT5zcGFjZVRhYlswXSA9IC0xOworICAgIGN0eHQtPnNwYWNlID0gJmN0eHQtPnNwYWNlVGFiWzBdOworICAgIGN0eHQtPnVzZXJEYXRhID0gY3R4dDsKKyAgICBjdHh0LT5teURvYyA9IE5VTEw7CisgICAgY3R4dC0+d2VsbEZvcm1lZCA9IDE7CisgICAgY3R4dC0+bnNXZWxsRm9ybWVkID0gMTsKKyAgICBjdHh0LT52YWxpZCA9IDE7CisgICAgY3R4dC0+bG9hZHN1YnNldCA9IHhtbExvYWRFeHREdGREZWZhdWx0VmFsdWU7CisgICAgaWYgKGN0eHQtPmxvYWRzdWJzZXQpIHsKKyAgICAgICAgY3R4dC0+b3B0aW9ucyB8PSBYTUxfUEFSU0VfRFRETE9BRDsKKyAgICB9CisgICAgY3R4dC0+dmFsaWRhdGUgPSB4bWxEb1ZhbGlkaXR5Q2hlY2tpbmdEZWZhdWx0VmFsdWU7CisgICAgY3R4dC0+cGVkYW50aWMgPSB4bWxQZWRhbnRpY1BhcnNlckRlZmF1bHRWYWx1ZTsKKyAgICBpZiAoY3R4dC0+cGVkYW50aWMpIHsKKyAgICAgICAgY3R4dC0+b3B0aW9ucyB8PSBYTUxfUEFSU0VfUEVEQU5USUM7CisgICAgfQorICAgIGN0eHQtPmxpbmVudW1iZXJzID0geG1sTGluZU51bWJlcnNEZWZhdWx0VmFsdWU7CisgICAgY3R4dC0+a2VlcEJsYW5rcyA9IHhtbEtlZXBCbGFua3NEZWZhdWx0VmFsdWU7CisgICAgaWYgKGN0eHQtPmtlZXBCbGFua3MgPT0gMCkgeworCWN0eHQtPnNheC0+aWdub3JhYmxlV2hpdGVzcGFjZSA9IHhtbFNBWDJJZ25vcmFibGVXaGl0ZXNwYWNlOworCWN0eHQtPm9wdGlvbnMgfD0gWE1MX1BBUlNFX05PQkxBTktTOworICAgIH0KKworICAgIGN0eHQtPnZjdHh0LmZpbmlzaER0ZCA9IFhNTF9DVFhUX0ZJTklTSF9EVERfMDsKKyAgICBjdHh0LT52Y3R4dC51c2VyRGF0YSA9IGN0eHQ7CisgICAgY3R4dC0+dmN0eHQuZXJyb3IgPSB4bWxQYXJzZXJWYWxpZGl0eUVycm9yOworICAgIGN0eHQtPnZjdHh0Lndhcm5pbmcgPSB4bWxQYXJzZXJWYWxpZGl0eVdhcm5pbmc7CisgICAgaWYgKGN0eHQtPnZhbGlkYXRlKSB7CisJaWYgKHhtbEdldFdhcm5pbmdzRGVmYXVsdFZhbHVlID09IDApCisJICAgIGN0eHQtPnZjdHh0Lndhcm5pbmcgPSBOVUxMOworCWVsc2UKKwkgICAgY3R4dC0+dmN0eHQud2FybmluZyA9IHhtbFBhcnNlclZhbGlkaXR5V2FybmluZzsKKwljdHh0LT52Y3R4dC5ub2RlTWF4ID0gMDsKKyAgICAgICAgY3R4dC0+b3B0aW9ucyB8PSBYTUxfUEFSU0VfRFREVkFMSUQ7CisgICAgfQorICAgIGN0eHQtPnJlcGxhY2VFbnRpdGllcyA9IHhtbFN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHRWYWx1ZTsKKyAgICBpZiAoY3R4dC0+cmVwbGFjZUVudGl0aWVzKSB7CisgICAgICAgIGN0eHQtPm9wdGlvbnMgfD0gWE1MX1BBUlNFX05PRU5UOworICAgIH0KKyAgICBjdHh0LT5yZWNvcmRfaW5mbyA9IDA7CisgICAgY3R4dC0+bmJDaGFycyA9IDA7CisgICAgY3R4dC0+Y2hlY2tJbmRleCA9IDA7CisgICAgY3R4dC0+aW5TdWJzZXQgPSAwOworICAgIGN0eHQtPmVyck5vID0gWE1MX0VSUl9PSzsKKyAgICBjdHh0LT5kZXB0aCA9IDA7CisgICAgY3R4dC0+Y2hhcnNldCA9IFhNTF9DSEFSX0VOQ09ESU5HX1VURjg7CisgICAgY3R4dC0+Y2F0YWxvZ3MgPSBOVUxMOworICAgIGN0eHQtPm5iZW50aXRpZXMgPSAwOworICAgIGN0eHQtPnNpemVlbnRpdGllcyA9IDA7CisgICAgY3R4dC0+c2l6ZWVudGNvcHkgPSAwOworICAgIGN0eHQtPmlucHV0X2lkID0gMTsKKyAgICB4bWxJbml0Tm9kZUluZm9TZXEoJmN0eHQtPm5vZGVfc2VxKTsKKyAgICByZXR1cm4oMCk7Cit9CisKKy8qKgorICogeG1sRnJlZVBhcnNlckN0eHQ6CisgKiBAY3R4dDogIGFuIFhNTCBwYXJzZXIgY29udGV4dAorICoKKyAqIEZyZWUgYWxsIHRoZSBtZW1vcnkgdXNlZCBieSBhIHBhcnNlciBjb250ZXh0LiBIb3dldmVyIHRoZSBwYXJzZWQKKyAqIGRvY3VtZW50IGluIGN0eHQtPm15RG9jIGlzIG5vdCBmcmVlZC4KKyAqLworCit2b2lkCit4bWxGcmVlUGFyc2VyQ3R4dCh4bWxQYXJzZXJDdHh0UHRyIGN0eHQpCit7CisgICAgeG1sUGFyc2VySW5wdXRQdHIgaW5wdXQ7CisKKyAgICBpZiAoY3R4dCA9PSBOVUxMKSByZXR1cm47CisKKyAgICB3aGlsZSAoKGlucHV0ID0gaW5wdXRQb3AoY3R4dCkpICE9IE5VTEwpIHsgLyogTm9uIGNvbnN1bWluZyAqLworICAgICAgICB4bWxGcmVlSW5wdXRTdHJlYW0oaW5wdXQpOworICAgIH0KKyAgICBpZiAoY3R4dC0+c3BhY2VUYWIgIT0gTlVMTCkgeG1sRnJlZShjdHh0LT5zcGFjZVRhYik7CisgICAgaWYgKGN0eHQtPm5hbWVUYWIgIT0gTlVMTCkgeG1sRnJlZSgoeG1sQ2hhciAqICopY3R4dC0+bmFtZVRhYik7CisgICAgaWYgKGN0eHQtPm5vZGVUYWIgIT0gTlVMTCkgeG1sRnJlZShjdHh0LT5ub2RlVGFiKTsKKyAgICBpZiAoY3R4dC0+bm9kZUluZm9UYWIgIT0gTlVMTCkgeG1sRnJlZShjdHh0LT5ub2RlSW5mb1RhYik7CisgICAgaWYgKGN0eHQtPmlucHV0VGFiICE9IE5VTEwpIHhtbEZyZWUoY3R4dC0+aW5wdXRUYWIpOworICAgIGlmIChjdHh0LT52ZXJzaW9uICE9IE5VTEwpIHhtbEZyZWUoKGNoYXIgKikgY3R4dC0+dmVyc2lvbik7CisgICAgaWYgKGN0eHQtPmVuY29kaW5nICE9IE5VTEwpIHhtbEZyZWUoKGNoYXIgKikgY3R4dC0+ZW5jb2RpbmcpOworICAgIGlmIChjdHh0LT5leHRTdWJVUkkgIT0gTlVMTCkgeG1sRnJlZSgoY2hhciAqKSBjdHh0LT5leHRTdWJVUkkpOworICAgIGlmIChjdHh0LT5leHRTdWJTeXN0ZW0gIT0gTlVMTCkgeG1sRnJlZSgoY2hhciAqKSBjdHh0LT5leHRTdWJTeXN0ZW0pOworI2lmZGVmIExJQlhNTF9TQVgxX0VOQUJMRUQKKyAgICBpZiAoKGN0eHQtPnNheCAhPSBOVUxMKSAmJgorICAgICAgICAoY3R4dC0+c2F4ICE9ICh4bWxTQVhIYW5kbGVyUHRyKSAmeG1sRGVmYXVsdFNBWEhhbmRsZXIpKQorI2Vsc2UKKyAgICBpZiAoY3R4dC0+c2F4ICE9IE5VTEwpCisjZW5kaWYgLyogTElCWE1MX1NBWDFfRU5BQkxFRCAqLworICAgICAgICB4bWxGcmVlKGN0eHQtPnNheCk7CisgICAgaWYgKGN0eHQtPmRpcmVjdG9yeSAhPSBOVUxMKSB4bWxGcmVlKChjaGFyICopIGN0eHQtPmRpcmVjdG9yeSk7CisgICAgaWYgKGN0eHQtPnZjdHh0Lm5vZGVUYWIgIT0gTlVMTCkgeG1sRnJlZShjdHh0LT52Y3R4dC5ub2RlVGFiKTsKKyAgICBpZiAoY3R4dC0+YXR0cyAhPSBOVUxMKSB4bWxGcmVlKCh4bWxDaGFyICogKiljdHh0LT5hdHRzKTsKKyAgICBpZiAoY3R4dC0+ZGljdCAhPSBOVUxMKSB4bWxEaWN0RnJlZShjdHh0LT5kaWN0KTsKKyAgICBpZiAoY3R4dC0+bnNUYWIgIT0gTlVMTCkgeG1sRnJlZSgoY2hhciAqKSBjdHh0LT5uc1RhYik7CisgICAgaWYgKGN0eHQtPnB1c2hUYWIgIT0gTlVMTCkgeG1sRnJlZShjdHh0LT5wdXNoVGFiKTsKKyAgICBpZiAoY3R4dC0+YXR0YWxsb2NzICE9IE5VTEwpIHhtbEZyZWUoY3R4dC0+YXR0YWxsb2NzKTsKKyAgICBpZiAoY3R4dC0+YXR0c0RlZmF1bHQgIT0gTlVMTCkKKyAgICAgICAgeG1sSGFzaEZyZWUoY3R4dC0+YXR0c0RlZmF1bHQsICh4bWxIYXNoRGVhbGxvY2F0b3IpIHhtbEZyZWUpOworICAgIGlmIChjdHh0LT5hdHRzU3BlY2lhbCAhPSBOVUxMKQorICAgICAgICB4bWxIYXNoRnJlZShjdHh0LT5hdHRzU3BlY2lhbCwgTlVMTCk7CisgICAgaWYgKGN0eHQtPmZyZWVFbGVtcyAhPSBOVUxMKSB7CisgICAgICAgIHhtbE5vZGVQdHIgY3VyLCBuZXh0OworCisJY3VyID0gY3R4dC0+ZnJlZUVsZW1zOworCXdoaWxlIChjdXIgIT0gTlVMTCkgeworCSAgICBuZXh0ID0gY3VyLT5uZXh0OworCSAgICB4bWxGcmVlKGN1cik7CisJICAgIGN1ciA9IG5leHQ7CisJfQorICAgIH0KKyAgICBpZiAoY3R4dC0+ZnJlZUF0dHJzICE9IE5VTEwpIHsKKyAgICAgICAgeG1sQXR0clB0ciBjdXIsIG5leHQ7CisKKwljdXIgPSBjdHh0LT5mcmVlQXR0cnM7CisJd2hpbGUgKGN1ciAhPSBOVUxMKSB7CisJICAgIG5leHQgPSBjdXItPm5leHQ7CisJICAgIHhtbEZyZWUoY3VyKTsKKwkgICAgY3VyID0gbmV4dDsKKwl9CisgICAgfQorICAgIC8qCisgICAgICogY2xlYW51cCB0aGUgZXJyb3Igc3RyaW5ncworICAgICAqLworICAgIGlmIChjdHh0LT5sYXN0RXJyb3IubWVzc2FnZSAhPSBOVUxMKQorICAgICAgICB4bWxGcmVlKGN0eHQtPmxhc3RFcnJvci5tZXNzYWdlKTsKKyAgICBpZiAoY3R4dC0+bGFzdEVycm9yLmZpbGUgIT0gTlVMTCkKKyAgICAgICAgeG1sRnJlZShjdHh0LT5sYXN0RXJyb3IuZmlsZSk7CisgICAgaWYgKGN0eHQtPmxhc3RFcnJvci5zdHIxICE9IE5VTEwpCisgICAgICAgIHhtbEZyZWUoY3R4dC0+bGFzdEVycm9yLnN0cjEpOworICAgIGlmIChjdHh0LT5sYXN0RXJyb3Iuc3RyMiAhPSBOVUxMKQorICAgICAgICB4bWxGcmVlKGN0eHQtPmxhc3RFcnJvci5zdHIyKTsKKyAgICBpZiAoY3R4dC0+bGFzdEVycm9yLnN0cjMgIT0gTlVMTCkKKyAgICAgICAgeG1sRnJlZShjdHh0LT5sYXN0RXJyb3Iuc3RyMyk7CisKKyNpZmRlZiBMSUJYTUxfQ0FUQUxPR19FTkFCTEVECisgICAgaWYgKGN0eHQtPmNhdGFsb2dzICE9IE5VTEwpCisJeG1sQ2F0YWxvZ0ZyZWVMb2NhbChjdHh0LT5jYXRhbG9ncyk7CisjZW5kaWYKKyAgICB4bWxGcmVlKGN0eHQpOworfQorCisvKioKKyAqIHhtbE5ld1BhcnNlckN0eHQ6CisgKgorICogQWxsb2NhdGUgYW5kIGluaXRpYWxpemUgYSBuZXcgcGFyc2VyIGNvbnRleHQuCisgKgorICogUmV0dXJucyB0aGUgeG1sUGFyc2VyQ3R4dFB0ciBvciBOVUxMCisgKi8KKworeG1sUGFyc2VyQ3R4dFB0cgoreG1sTmV3UGFyc2VyQ3R4dCh2b2lkKQoreworICAgIHhtbFBhcnNlckN0eHRQdHIgY3R4dDsKKworICAgIGN0eHQgPSAoeG1sUGFyc2VyQ3R4dFB0cikgeG1sTWFsbG9jKHNpemVvZih4bWxQYXJzZXJDdHh0KSk7CisgICAgaWYgKGN0eHQgPT0gTlVMTCkgeworCXhtbEVyck1lbW9yeShOVUxMLCAiY2Fubm90IGFsbG9jYXRlIHBhcnNlciBjb250ZXh0XG4iKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIG1lbXNldChjdHh0LCAwLCBzaXplb2YoeG1sUGFyc2VyQ3R4dCkpOworICAgIGlmICh4bWxJbml0UGFyc2VyQ3R4dChjdHh0KSA8IDApIHsKKyAgICAgICAgeG1sRnJlZVBhcnNlckN0eHQoY3R4dCk7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICByZXR1cm4oY3R4dCk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCUhhbmRsaW5nIG9mIG5vZGUgaW5mb3JtYXRpb25zCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqCisgKiB4bWxDbGVhclBhcnNlckN0eHQ6CisgKiBAY3R4dDogIGFuIFhNTCBwYXJzZXIgY29udGV4dAorICoKKyAqIENsZWFyIChyZWxlYXNlIG93bmVkIHJlc291cmNlcykgYW5kIHJlaW5pdGlhbGl6ZSBhIHBhcnNlciBjb250ZXh0CisgKi8KKwordm9pZAoreG1sQ2xlYXJQYXJzZXJDdHh0KHhtbFBhcnNlckN0eHRQdHIgY3R4dCkKK3sKKyAgaWYgKGN0eHQ9PU5VTEwpCisgICAgcmV0dXJuOworICB4bWxDbGVhck5vZGVJbmZvU2VxKCZjdHh0LT5ub2RlX3NlcSk7CisgIHhtbEN0eHRSZXNldChjdHh0KTsKK30KKworCisvKioKKyAqIHhtbFBhcnNlckZpbmROb2RlSW5mbzoKKyAqIEBjdHg6ICBhbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBub2RlOiAgYW4gWE1MIG5vZGUgd2l0aGluIHRoZSB0cmVlCisgKgorICogRmluZCB0aGUgcGFyc2VyIG5vZGUgaW5mbyBzdHJ1Y3QgZm9yIGEgZ2l2ZW4gbm9kZQorICoKKyAqIFJldHVybnMgYW4geG1sUGFyc2VyTm9kZUluZm8gYmxvY2sgcG9pbnRlciBvciBOVUxMCisgKi8KK2NvbnN0IHhtbFBhcnNlck5vZGVJbmZvICoKK3htbFBhcnNlckZpbmROb2RlSW5mbyhjb25zdCB4bWxQYXJzZXJDdHh0UHRyIGN0eCwgY29uc3QgeG1sTm9kZVB0ciBub2RlKQoreworICAgIHVuc2lnbmVkIGxvbmcgcG9zOworCisgICAgaWYgKChjdHggPT0gTlVMTCkgfHwgKG5vZGUgPT0gTlVMTCkpCisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgLyogRmluZCBwb3NpdGlvbiB3aGVyZSBub2RlIHNob3VsZCBiZSBhdCAqLworICAgIHBvcyA9IHhtbFBhcnNlckZpbmROb2RlSW5mb0luZGV4KCZjdHgtPm5vZGVfc2VxLCBub2RlKTsKKyAgICBpZiAocG9zIDwgY3R4LT5ub2RlX3NlcS5sZW5ndGgKKyAgICAgICAgJiYgY3R4LT5ub2RlX3NlcS5idWZmZXJbcG9zXS5ub2RlID09IG5vZGUpCisgICAgICAgIHJldHVybiAmY3R4LT5ub2RlX3NlcS5idWZmZXJbcG9zXTsKKyAgICBlbHNlCisgICAgICAgIHJldHVybiBOVUxMOworfQorCisKKy8qKgorICogeG1sSW5pdE5vZGVJbmZvU2VxOgorICogQHNlcTogIGEgbm9kZSBpbmZvIHNlcXVlbmNlIHBvaW50ZXIKKyAqCisgKiAtLSBJbml0aWFsaXplIChzZXQgdG8gaW5pdGlhbCBzdGF0ZSkgbm9kZSBpbmZvIHNlcXVlbmNlCisgKi8KK3ZvaWQKK3htbEluaXROb2RlSW5mb1NlcSh4bWxQYXJzZXJOb2RlSW5mb1NlcVB0ciBzZXEpCit7CisgICAgaWYgKHNlcSA9PSBOVUxMKQorICAgICAgICByZXR1cm47CisgICAgc2VxLT5sZW5ndGggPSAwOworICAgIHNlcS0+bWF4aW11bSA9IDA7CisgICAgc2VxLT5idWZmZXIgPSBOVUxMOworfQorCisvKioKKyAqIHhtbENsZWFyTm9kZUluZm9TZXE6CisgKiBAc2VxOiAgYSBub2RlIGluZm8gc2VxdWVuY2UgcG9pbnRlcgorICoKKyAqIC0tIENsZWFyIChyZWxlYXNlIG1lbW9yeSBhbmQgcmVpbml0aWFsaXplKSBub2RlCisgKiAgIGluZm8gc2VxdWVuY2UKKyAqLwordm9pZAoreG1sQ2xlYXJOb2RlSW5mb1NlcSh4bWxQYXJzZXJOb2RlSW5mb1NlcVB0ciBzZXEpCit7CisgICAgaWYgKHNlcSA9PSBOVUxMKQorICAgICAgICByZXR1cm47CisgICAgaWYgKHNlcS0+YnVmZmVyICE9IE5VTEwpCisgICAgICAgIHhtbEZyZWUoc2VxLT5idWZmZXIpOworICAgIHhtbEluaXROb2RlSW5mb1NlcShzZXEpOworfQorCisvKioKKyAqIHhtbFBhcnNlckZpbmROb2RlSW5mb0luZGV4OgorICogQHNlcTogIGEgbm9kZSBpbmZvIHNlcXVlbmNlIHBvaW50ZXIKKyAqIEBub2RlOiAgYW4gWE1MIG5vZGUgcG9pbnRlcgorICoKKyAqCisgKiB4bWxQYXJzZXJGaW5kTm9kZUluZm9JbmRleCA6IEZpbmQgdGhlIGluZGV4IHRoYXQgdGhlIGluZm8gcmVjb3JkIGZvcgorICogICB0aGUgZ2l2ZW4gbm9kZSBpcyBvciBzaG91bGQgYmUgYXQgaW4gYSBzb3J0ZWQgc2VxdWVuY2UKKyAqCisgKiBSZXR1cm5zIGEgbG9uZyBpbmRpY2F0aW5nIHRoZSBwb3NpdGlvbiBvZiB0aGUgcmVjb3JkCisgKi8KK3Vuc2lnbmVkIGxvbmcKK3htbFBhcnNlckZpbmROb2RlSW5mb0luZGV4KGNvbnN0IHhtbFBhcnNlck5vZGVJbmZvU2VxUHRyIHNlcSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbE5vZGVQdHIgbm9kZSkKK3sKKyAgICB1bnNpZ25lZCBsb25nIHVwcGVyLCBsb3dlciwgbWlkZGxlOworICAgIGludCBmb3VuZCA9IDA7CisKKyAgICBpZiAoKHNlcSA9PSBOVUxMKSB8fCAobm9kZSA9PSBOVUxMKSkKKyAgICAgICAgcmV0dXJuICgodW5zaWduZWQgbG9uZykgLTEpOworCisgICAgLyogRG8gYSBiaW5hcnkgc2VhcmNoIGZvciB0aGUga2V5ICovCisgICAgbG93ZXIgPSAxOworICAgIHVwcGVyID0gc2VxLT5sZW5ndGg7CisgICAgbWlkZGxlID0gMDsKKyAgICB3aGlsZSAobG93ZXIgPD0gdXBwZXIgJiYgIWZvdW5kKSB7CisgICAgICAgIG1pZGRsZSA9IGxvd2VyICsgKHVwcGVyIC0gbG93ZXIpIC8gMjsKKyAgICAgICAgaWYgKG5vZGUgPT0gc2VxLT5idWZmZXJbbWlkZGxlIC0gMV0ubm9kZSkKKyAgICAgICAgICAgIGZvdW5kID0gMTsKKyAgICAgICAgZWxzZSBpZiAobm9kZSA8IHNlcS0+YnVmZmVyW21pZGRsZSAtIDFdLm5vZGUpCisgICAgICAgICAgICB1cHBlciA9IG1pZGRsZSAtIDE7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGxvd2VyID0gbWlkZGxlICsgMTsKKyAgICB9CisKKyAgICAvKiBSZXR1cm4gcG9zaXRpb24gKi8KKyAgICBpZiAobWlkZGxlID09IDAgfHwgc2VxLT5idWZmZXJbbWlkZGxlIC0gMV0ubm9kZSA8IG5vZGUpCisgICAgICAgIHJldHVybiBtaWRkbGU7CisgICAgZWxzZQorICAgICAgICByZXR1cm4gbWlkZGxlIC0gMTsKK30KKworCisvKioKKyAqIHhtbFBhcnNlckFkZE5vZGVJbmZvOgorICogQGN0eHQ6ICBhbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBpbmZvOiAgYSBub2RlIGluZm8gc2VxdWVuY2UgcG9pbnRlcgorICoKKyAqIEluc2VydCBub2RlIGluZm8gcmVjb3JkIGludG8gdGhlIHNvcnRlZCBzZXF1ZW5jZQorICovCit2b2lkCit4bWxQYXJzZXJBZGROb2RlSW5mbyh4bWxQYXJzZXJDdHh0UHRyIGN0eHQsCisgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxQYXJzZXJOb2RlSW5mb1B0ciBpbmZvKQoreworICAgIHVuc2lnbmVkIGxvbmcgcG9zOworCisgICAgaWYgKChjdHh0ID09IE5VTEwpIHx8IChpbmZvID09IE5VTEwpKSByZXR1cm47CisKKyAgICAvKiBGaW5kIHBvcyBhbmQgY2hlY2sgdG8gc2VlIGlmIG5vZGUgaXMgYWxyZWFkeSBpbiB0aGUgc2VxdWVuY2UgKi8KKyAgICBwb3MgPSB4bWxQYXJzZXJGaW5kTm9kZUluZm9JbmRleCgmY3R4dC0+bm9kZV9zZXEsICh4bWxOb2RlUHRyKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZm8tPm5vZGUpOworCisgICAgaWYgKChwb3MgPCBjdHh0LT5ub2RlX3NlcS5sZW5ndGgpICYmCisgICAgICAgIChjdHh0LT5ub2RlX3NlcS5idWZmZXIgIT0gTlVMTCkgJiYKKyAgICAgICAgKGN0eHQtPm5vZGVfc2VxLmJ1ZmZlcltwb3NdLm5vZGUgPT0gaW5mby0+bm9kZSkpIHsKKyAgICAgICAgY3R4dC0+bm9kZV9zZXEuYnVmZmVyW3Bvc10gPSAqaW5mbzsKKyAgICB9CisKKyAgICAvKiBPdGhlcndpc2UsIHdlIG5lZWQgdG8gYWRkIG5ldyBub2RlIHRvIGJ1ZmZlciAqLworICAgIGVsc2UgeworICAgICAgICBpZiAoKGN0eHQtPm5vZGVfc2VxLmxlbmd0aCArIDEgPiBjdHh0LT5ub2RlX3NlcS5tYXhpbXVtKSB8fAorCSAgICAoY3R4dC0+bm9kZV9zZXEuYnVmZmVyID09IE5VTEwpKSB7CisgICAgICAgICAgICB4bWxQYXJzZXJOb2RlSW5mbyAqdG1wX2J1ZmZlcjsKKyAgICAgICAgICAgIHVuc2lnbmVkIGludCBieXRlX3NpemU7CisKKyAgICAgICAgICAgIGlmIChjdHh0LT5ub2RlX3NlcS5tYXhpbXVtID09IDApCisgICAgICAgICAgICAgICAgY3R4dC0+bm9kZV9zZXEubWF4aW11bSA9IDI7CisgICAgICAgICAgICBieXRlX3NpemUgPSAoc2l6ZW9mKCpjdHh0LT5ub2RlX3NlcS5idWZmZXIpICoKKwkJCSgyICogY3R4dC0+bm9kZV9zZXEubWF4aW11bSkpOworCisgICAgICAgICAgICBpZiAoY3R4dC0+bm9kZV9zZXEuYnVmZmVyID09IE5VTEwpCisgICAgICAgICAgICAgICAgdG1wX2J1ZmZlciA9ICh4bWxQYXJzZXJOb2RlSW5mbyAqKSB4bWxNYWxsb2MoYnl0ZV9zaXplKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICB0bXBfYnVmZmVyID0KKyAgICAgICAgICAgICAgICAgICAgKHhtbFBhcnNlck5vZGVJbmZvICopIHhtbFJlYWxsb2MoY3R4dC0+bm9kZV9zZXEuYnVmZmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieXRlX3NpemUpOworCisgICAgICAgICAgICBpZiAodG1wX2J1ZmZlciA9PSBOVUxMKSB7CisJCXhtbEVyck1lbW9yeShjdHh0LCAiZmFpbGVkIHRvIGFsbG9jYXRlIGJ1ZmZlclxuIik7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICAgICAgY3R4dC0+bm9kZV9zZXEuYnVmZmVyID0gdG1wX2J1ZmZlcjsKKyAgICAgICAgICAgIGN0eHQtPm5vZGVfc2VxLm1heGltdW0gKj0gMjsKKyAgICAgICAgfQorCisgICAgICAgIC8qIElmIHBvc2l0aW9uIGlzIG5vdCBhdCBlbmQsIG1vdmUgZWxlbWVudHMgb3V0IG9mIHRoZSB3YXkgKi8KKyAgICAgICAgaWYgKHBvcyAhPSBjdHh0LT5ub2RlX3NlcS5sZW5ndGgpIHsKKyAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgaTsKKworICAgICAgICAgICAgZm9yIChpID0gY3R4dC0+bm9kZV9zZXEubGVuZ3RoOyBpID4gcG9zOyBpLS0pCisgICAgICAgICAgICAgICAgY3R4dC0+bm9kZV9zZXEuYnVmZmVyW2ldID0gY3R4dC0+bm9kZV9zZXEuYnVmZmVyW2kgLSAxXTsKKyAgICAgICAgfQorCisgICAgICAgIC8qIENvcHkgZWxlbWVudCBhbmQgaW5jcmVhc2UgbGVuZ3RoICovCisgICAgICAgIGN0eHQtPm5vZGVfc2VxLmJ1ZmZlcltwb3NdID0gKmluZm87CisgICAgICAgIGN0eHQtPm5vZGVfc2VxLmxlbmd0aCsrOworICAgIH0KK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJRGVmYXVsdHMgc2V0dGluZ3MJCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qKgorICogeG1sUGVkYW50aWNQYXJzZXJEZWZhdWx0OgorICogQHZhbDogIGludCAwIG9yIDEKKyAqCisgKiBTZXQgYW5kIHJldHVybiB0aGUgcHJldmlvdXMgdmFsdWUgZm9yIGVuYWJsaW5nIHBlZGFudGljIHdhcm5pbmdzLgorICoKKyAqIFJldHVybnMgdGhlIGxhc3QgdmFsdWUgZm9yIDAgZm9yIG5vIHN1YnN0aXR1dGlvbiwgMSBmb3Igc3Vic3RpdHV0aW9uLgorICovCisKK2ludAoreG1sUGVkYW50aWNQYXJzZXJEZWZhdWx0KGludCB2YWwpIHsKKyAgICBpbnQgb2xkID0geG1sUGVkYW50aWNQYXJzZXJEZWZhdWx0VmFsdWU7CisKKyAgICB4bWxQZWRhbnRpY1BhcnNlckRlZmF1bHRWYWx1ZSA9IHZhbDsKKyAgICByZXR1cm4ob2xkKTsKK30KKworLyoqCisgKiB4bWxMaW5lTnVtYmVyc0RlZmF1bHQ6CisgKiBAdmFsOiAgaW50IDAgb3IgMQorICoKKyAqIFNldCBhbmQgcmV0dXJuIHRoZSBwcmV2aW91cyB2YWx1ZSBmb3IgZW5hYmxpbmcgbGluZSBudW1iZXJzIGluIGVsZW1lbnRzCisgKiBjb250ZW50cy4gVGhpcyBtYXkgYnJlYWsgb24gb2xkIGFwcGxpY2F0aW9uIGFuZCBpcyB0dXJuZWQgb2ZmIGJ5IGRlZmF1bHQuCisgKgorICogUmV0dXJucyB0aGUgbGFzdCB2YWx1ZSBmb3IgMCBmb3Igbm8gc3Vic3RpdHV0aW9uLCAxIGZvciBzdWJzdGl0dXRpb24uCisgKi8KKworaW50Cit4bWxMaW5lTnVtYmVyc0RlZmF1bHQoaW50IHZhbCkgeworICAgIGludCBvbGQgPSB4bWxMaW5lTnVtYmVyc0RlZmF1bHRWYWx1ZTsKKworICAgIHhtbExpbmVOdW1iZXJzRGVmYXVsdFZhbHVlID0gdmFsOworICAgIHJldHVybihvbGQpOworfQorCisvKioKKyAqIHhtbFN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHQ6CisgKiBAdmFsOiAgaW50IDAgb3IgMQorICoKKyAqIFNldCBhbmQgcmV0dXJuIHRoZSBwcmV2aW91cyB2YWx1ZSBmb3IgZGVmYXVsdCBlbnRpdHkgc3VwcG9ydC4KKyAqIEluaXRpYWxseSB0aGUgcGFyc2VyIGFsd2F5cyBrZWVwIGVudGl0eSByZWZlcmVuY2VzIGluc3RlYWQgb2Ygc3Vic3RpdHV0aW5nCisgKiBlbnRpdHkgdmFsdWVzIGluIHRoZSBvdXRwdXQuIFRoaXMgZnVuY3Rpb24gaGFzIHRvIGJlIHVzZWQgdG8gY2hhbmdlIHRoZQorICogZGVmYXVsdCBwYXJzZXIgYmVoYXZpb3IKKyAqIFNBWDo6c3Vic3RpdHV0ZUVudGl0aWVzKCkgaGFzIHRvIGJlIHVzZWQgZm9yIGNoYW5naW5nIHRoYXQgb24gYSBmaWxlIGJ5CisgKiBmaWxlIGJhc2lzLgorICoKKyAqIFJldHVybnMgdGhlIGxhc3QgdmFsdWUgZm9yIDAgZm9yIG5vIHN1YnN0aXR1dGlvbiwgMSBmb3Igc3Vic3RpdHV0aW9uLgorICovCisKK2ludAoreG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdChpbnQgdmFsKSB7CisgICAgaW50IG9sZCA9IHhtbFN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHRWYWx1ZTsKKworICAgIHhtbFN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHRWYWx1ZSA9IHZhbDsKKyAgICByZXR1cm4ob2xkKTsKK30KKworLyoqCisgKiB4bWxLZWVwQmxhbmtzRGVmYXVsdDoKKyAqIEB2YWw6ICBpbnQgMCBvciAxCisgKgorICogU2V0IGFuZCByZXR1cm4gdGhlIHByZXZpb3VzIHZhbHVlIGZvciBkZWZhdWx0IGJsYW5rcyB0ZXh0IG5vZGVzIHN1cHBvcnQuCisgKiBUaGUgMS54IHZlcnNpb24gb2YgdGhlIHBhcnNlciB1c2VkIGFuIGhldXJpc3RpYyB0byB0cnkgdG8gZGV0ZWN0CisgKiBpZ25vcmFibGUgd2hpdGUgc3BhY2VzLiBBcyBhIHJlc3VsdCB0aGUgU0FYIGNhbGxiYWNrIHdhcyBnZW5lcmF0aW5nCisgKiB4bWxTQVgySWdub3JhYmxlV2hpdGVzcGFjZSgpIGNhbGxiYWNrcyBpbnN0ZWFkIG9mIGNoYXJhY3RlcnMoKSBvbmUsIGFuZCB3aGVuCisgKiB1c2luZyB0aGUgRE9NIG91dHB1dCB0ZXh0IG5vZGVzIGNvbnRhaW5pbmcgdGhvc2UgYmxhbmtzIHdlcmUgbm90IGdlbmVyYXRlZC4KKyAqIFRoZSAyLnggYW5kIGxhdGVyIHZlcnNpb24gd2lsbCBzd2l0Y2ggdG8gdGhlIFhNTCBzdGFuZGFyZCB3YXkgYW5kCisgKiBpZ25vcmFibGVXaGl0ZXNwYWNlKCkgYXJlIG9ubHkgZ2VuZXJhdGVkIHdoZW4gcnVubmluZyB0aGUgcGFyc2VyIGluCisgKiB2YWxpZGF0aW5nIG1vZGUgYW5kIHdoZW4gdGhlIGN1cnJlbnQgZWxlbWVudCBkb2Vzbid0IGFsbG93IENEQVRBIG9yCisgKiBtaXhlZCBjb250ZW50LgorICogVGhpcyBmdW5jdGlvbiBpcyBwcm92aWRlZCBhcyBhIHdheSB0byBmb3JjZSB0aGUgc3RhbmRhcmQgYmVoYXZpb3IKKyAqIG9uIDEuWCBsaWJzIGFuZCB0byBzd2l0Y2ggYmFjayB0byB0aGUgb2xkIG1vZGUgZm9yIGNvbXBhdGliaWxpdHkgd2hlbgorICogcnVubmluZyAxLlggY2xpZW50IGNvZGUgb24gMi5YIC4gVXBncmFkZSBvZiAxLlggY29kZSBzaG91bGQgYmUgZG9uZQorICogYnkgdXNpbmcgeG1sSXNCbGFua05vZGUoKSBjb21tb2RpdHkgZnVuY3Rpb24gdG8gZGV0ZWN0IHRoZSAiZW1wdHkiCisgKiBub2RlcyBnZW5lcmF0ZWQuCisgKiBUaGlzIHZhbHVlIGFsc28gYWZmZWN0IGF1dG9nZW5lcmF0aW9uIG9mIGluZGVudGF0aW9uIHdoZW4gc2F2aW5nIGNvZGUKKyAqIGlmIGJsYW5rcyBzZWN0aW9ucyBhcmUga2VwdCwgaW5kZW50YXRpb24gaXMgbm90IGdlbmVyYXRlZC4KKyAqCisgKiBSZXR1cm5zIHRoZSBsYXN0IHZhbHVlIGZvciAwIGZvciBubyBzdWJzdGl0dXRpb24sIDEgZm9yIHN1YnN0aXR1dGlvbi4KKyAqLworCitpbnQKK3htbEtlZXBCbGFua3NEZWZhdWx0KGludCB2YWwpIHsKKyAgICBpbnQgb2xkID0geG1sS2VlcEJsYW5rc0RlZmF1bHRWYWx1ZTsKKworICAgIHhtbEtlZXBCbGFua3NEZWZhdWx0VmFsdWUgPSB2YWw7CisgICAgaWYgKCF2YWwpIHhtbEluZGVudFRyZWVPdXRwdXQgPSAxOworICAgIHJldHVybihvbGQpOworfQorCisjZGVmaW5lIGJvdHRvbV9wYXJzZXJJbnRlcm5hbHMKKyNpbmNsdWRlICJlbGZnY2NoYWNrLmgiCmRpZmYgLS1naXQgYS9saWJ4bWwyL3BhdHRlcm4uYyBiL2xpYnhtbDIvcGF0dGVybi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMzZGVlM2EKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3BhdHRlcm4uYwpAQCAtMCwwICsxLDI2MTcgQEAKKy8qCisgKiBwYXR0ZXJuLmM6IEltcGxlbWV0YXRpb24gb2Ygc2VsZWN0b3JzIGZvciBub2RlcworICoKKyAqIFJlZmVyZW5jZToKKyAqICAgaHR0cDovL3d3dy53My5vcmcvVFIvMjAwMS9SRUMteG1sc2NoZW1hLTEtMjAwMTA1MDIvCisgKiAgIHRvIHNvbWUgZXh0ZW50CisgKiAgIGh0dHA6Ly93d3cudzMub3JnL1RSLzE5OTkvUkVDLXhtbC0xOTk5MTExNgorICoKKyAqIFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyAqCisgKiBkYW5pZWxAdmVpbGxhcmQuY29tCisgKi8KKworLyoKKyAqIFRPRE86CisgKiAtIGNvbXBpbGF0aW9uIGZsYWdzIHRvIGNoZWNrIGZvciBzcGVjaWZpYyBzeW50YXhlcworICogICB1c2luZyBmbGFncyBvZiB4bWxQYXR0ZXJuY29tcGlsZSgpCisgKiAtIG1ha2luZyBjbGVhciBob3cgcGF0dGVybiBzdGFydGluZyB3aXRoIC8gb3IgLiBuZWVkIHRvIGJlIGhhbmRsZWQsCisgKiAgIGN1cnJlbnRseSBwdXNoKE5VTEwsIE5VTEwpIG1lYW5zIGEgcmVzZXQgb2YgdGhlIHN0cmVhbWluZyBjb250ZXh0CisgKiAgIGFuZCBpbmRpY2F0aW5nIHdlIGFyZSBvbiAvICh0aGUgZG9jdW1lbnQgbm9kZSksIHByb2JhYmx5IG5lZWQKKyAqICAgc29tZXRoaW5nIHNpbWlsYXIgZm9yIC4KKyAqIC0gZ2V0IHJpZCBvZiB0aGUgImNvbXBpbGUiIHN0YXJ0aW5nIHdpdGggbG93ZXJjYXNlCisgKiAtIERPTkUgKDIwMDYtMDUtMTYpOiBnZXQgcmlkIG9mIHRoZSBTdHJkdXAvU3RybmR1cCBpbiBjYXNlIG9mIGRpY3Rpb25hcnkKKyAqLworCisjZGVmaW5lIElOX0xJQlhNTAorI2luY2x1ZGUgImxpYnhtbC5oIgorCisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8bGlieG1sL3htbG1lbW9yeS5oPgorI2luY2x1ZGUgPGxpYnhtbC90cmVlLmg+CisjaW5jbHVkZSA8bGlieG1sL2hhc2guaD4KKyNpbmNsdWRlIDxsaWJ4bWwvZGljdC5oPgorI2luY2x1ZGUgPGxpYnhtbC94bWxlcnJvci5oPgorI2luY2x1ZGUgPGxpYnhtbC9wYXJzZXJJbnRlcm5hbHMuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvcGF0dGVybi5oPgorCisjaWZkZWYgTElCWE1MX1BBVFRFUk5fRU5BQkxFRAorCisvKiAjZGVmaW5lIERFQlVHX1NUUkVBTUlORyAqLworCisjaWZkZWYgRVJST1IKKyN1bmRlZiBFUlJPUgorI2VuZGlmCisjZGVmaW5lIEVSUk9SKGEsIGIsIGMsIGQpCisjZGVmaW5lIEVSUk9SNShhLCBiLCBjLCBkLCBlKQorCisjZGVmaW5lIFhNTF9TVFJFQU1fU1RFUF9ERVNDCTEKKyNkZWZpbmUgWE1MX1NUUkVBTV9TVEVQX0ZJTkFMCTIKKyNkZWZpbmUgWE1MX1NUUkVBTV9TVEVQX1JPT1QJNAorI2RlZmluZSBYTUxfU1RSRUFNX1NURVBfQVRUUgk4CisjZGVmaW5lIFhNTF9TVFJFQU1fU1RFUF9OT0RFCTE2CisjZGVmaW5lIFhNTF9TVFJFQU1fU1RFUF9JTl9TRVQJMzIKKworLyoKKyogTk9URTogVGhvc2UgcHJpdmF0ZSBmbGFncyAoWE1MX1NUUkVBTV94eHgpIGFyZSB1c2VkCisqICAgaW4gX3htbFN0cmVhbUN0eHQtPmZsYWcuIFRoZXkgZXh0ZW5kIHRoZSBwdWJsaWMKKyogICB4bWxQYXR0ZXJuRmxhZ3MsIHNvIGJlIGNhcmVmdWxsIG5vdCB0byBpbnRlcmZlcmUgd2l0aCB0aGUKKyogICByZXNlcnZlZCB2YWx1ZXMgZm9yIHhtbFBhdHRlcm5GbGFncy4KKyovCisjZGVmaW5lIFhNTF9TVFJFQU1fRklOQUxfSVNfQU5ZX05PREUgMTw8MTQKKyNkZWZpbmUgWE1MX1NUUkVBTV9GUk9NX1JPT1QgMTw8MTUKKyNkZWZpbmUgWE1MX1NUUkVBTV9ERVNDIDE8PDE2CisKKy8qCisqIFhNTF9TVFJFQU1fQU5ZX05PREUgaXMgdXNlZCBmb3IgY29tcGFyaXNvbiBhZ2FpbnN0CisqIHhtbEVsZW1lbnRUeXBlIGVudW1zLCB0byBpbmRpY2F0ZSBhIG5vZGUgb2YgYW55IHR5cGUuCisqLworI2RlZmluZSBYTUxfU1RSRUFNX0FOWV9OT0RFIDEwMAorCisjZGVmaW5lIFhNTF9QQVRURVJOX05PVFBBVFRFUk4gIChYTUxfUEFUVEVSTl9YUEFUSCB8IFwKKwkJCQkgWE1MX1BBVFRFUk5fWFNTRUwgfCBcCisJCQkJIFhNTF9QQVRURVJOX1hTRklFTEQpCisKKyNkZWZpbmUgWE1MX1NUUkVBTV9YU19JREMoYykgKChjKS0+ZmxhZ3MgJiBcCisgICAgKFhNTF9QQVRURVJOX1hTU0VMIHwgWE1MX1BBVFRFUk5fWFNGSUVMRCkpCisKKyNkZWZpbmUgWE1MX1NUUkVBTV9YU19JRENfU0VMKGMpICgoYyktPmZsYWdzICYgWE1MX1BBVFRFUk5fWFNTRUwpCisKKyNkZWZpbmUgWE1MX1NUUkVBTV9YU19JRENfRklFTEQoYykgKChjKS0+ZmxhZ3MgJiBYTUxfUEFUVEVSTl9YU0ZJRUxEKQorCisjZGVmaW5lIFhNTF9QQVRfQ09QWV9OU05BTUUoYywgciwgbnNuYW1lKSBcCisgICAgaWYgKChjKS0+Y29tcC0+ZGljdCkgXAorCXIgPSAoeG1sQ2hhciAqKSB4bWxEaWN0TG9va3VwKChjKS0+Y29tcC0+ZGljdCwgQkFEX0NBU1QgbnNuYW1lLCAtMSk7IFwKKyAgICBlbHNlIHIgPSB4bWxTdHJkdXAoQkFEX0NBU1QgbnNuYW1lKTsKKworI2RlZmluZSBYTUxfUEFUX0ZSRUVfU1RSSU5HKGMsIHIpIGlmICgoYyktPmNvbXAtPmRpY3QgPT0gTlVMTCkgeG1sRnJlZShyKTsKKwordHlwZWRlZiBzdHJ1Y3QgX3htbFN0cmVhbVN0ZXAgeG1sU3RyZWFtU3RlcDsKK3R5cGVkZWYgeG1sU3RyZWFtU3RlcCAqeG1sU3RyZWFtU3RlcFB0cjsKK3N0cnVjdCBfeG1sU3RyZWFtU3RlcCB7CisgICAgaW50IGZsYWdzOwkJCS8qIHByb3BlcnRpZXMgb2YgdGhhdCBzdGVwICovCisgICAgY29uc3QgeG1sQ2hhciAqbmFtZTsJLyogZmlyc3Qgc3RyaW5nIHZhbHVlIGlmIE5VTEwgYWNjZXB0IGFsbCAqLworICAgIGNvbnN0IHhtbENoYXIgKm5zOwkJLyogc2Vjb25kIHN0cmluZyB2YWx1ZSAqLworICAgIGludCBub2RlVHlwZTsJCS8qIHR5cGUgb2Ygbm9kZSAqLworfTsKKwordHlwZWRlZiBzdHJ1Y3QgX3htbFN0cmVhbUNvbXAgeG1sU3RyZWFtQ29tcDsKK3R5cGVkZWYgeG1sU3RyZWFtQ29tcCAqeG1sU3RyZWFtQ29tcFB0cjsKK3N0cnVjdCBfeG1sU3RyZWFtQ29tcCB7CisgICAgeG1sRGljdCAqZGljdDsJCS8qIHRoZSBkaWN0aW9uYXJ5IGlmIGFueSAqLworICAgIGludCBuYlN0ZXA7CQkJLyogbnVtYmVyIG9mIHN0ZXBzIGluIHRoZSBhdXRvbWF0YSAqLworICAgIGludCBtYXhTdGVwOwkJLyogYWxsb2NhdGVkIG51bWJlciBvZiBzdGVwcyAqLworICAgIHhtbFN0cmVhbVN0ZXBQdHIgc3RlcHM7CS8qIHRoZSBhcnJheSBvZiBzdGVwcyAqLworICAgIGludCBmbGFnczsKK307CisKK3N0cnVjdCBfeG1sU3RyZWFtQ3R4dCB7CisgICAgc3RydWN0IF94bWxTdHJlYW1DdHh0ICpuZXh0Oy8qIGxpbmsgdG8gbmV4dCBzdWIgcGF0dGVybiBpZiB8ICovCisgICAgeG1sU3RyZWFtQ29tcFB0ciBjb21wOwkvKiB0aGUgY29tcGlsZWQgc3RyZWFtICovCisgICAgaW50IG5iU3RhdGU7CQkvKiBudW1iZXIgb2Ygc3RhdGVzIGluIHRoZSBhdXRvbWF0YSAqLworICAgIGludCBtYXhTdGF0ZTsJCS8qIGFsbG9jYXRlZCBudW1iZXIgb2Ygc3RhdGVzICovCisgICAgaW50IGxldmVsOwkJCS8qIGhvdyBkZWVwIGFyZSB3ZSA/ICovCisgICAgaW50ICpzdGF0ZXM7CQkvKiB0aGUgYXJyYXkgb2Ygc3RlcCBpbmRleGVzICovCisgICAgaW50IGZsYWdzOwkJCS8qIHZhbGlkYXRpb24gb3B0aW9ucyAqLworICAgIGludCBibG9ja0xldmVsOworfTsKKworc3RhdGljIHZvaWQgeG1sRnJlZVN0cmVhbUNvbXAoeG1sU3RyZWFtQ29tcFB0ciBjb21wKTsKKworLyoKKyAqIFR5cGVzIGFyZSBwcml2YXRlOgorICovCisKK3R5cGVkZWYgZW51bSB7CisgICAgWE1MX09QX0VORD0wLAorICAgIFhNTF9PUF9ST09ULAorICAgIFhNTF9PUF9FTEVNLAorICAgIFhNTF9PUF9DSElMRCwKKyAgICBYTUxfT1BfQVRUUiwKKyAgICBYTUxfT1BfUEFSRU5ULAorICAgIFhNTF9PUF9BTkNFU1RPUiwKKyAgICBYTUxfT1BfTlMsCisgICAgWE1MX09QX0FMTAorfSB4bWxQYXRPcDsKKworCit0eXBlZGVmIHN0cnVjdCBfeG1sU3RlcFN0YXRlIHhtbFN0ZXBTdGF0ZTsKK3R5cGVkZWYgeG1sU3RlcFN0YXRlICp4bWxTdGVwU3RhdGVQdHI7CitzdHJ1Y3QgX3htbFN0ZXBTdGF0ZSB7CisgICAgaW50IHN0ZXA7CisgICAgeG1sTm9kZVB0ciBub2RlOworfTsKKwordHlwZWRlZiBzdHJ1Y3QgX3htbFN0ZXBTdGF0ZXMgeG1sU3RlcFN0YXRlczsKK3R5cGVkZWYgeG1sU3RlcFN0YXRlcyAqeG1sU3RlcFN0YXRlc1B0cjsKK3N0cnVjdCBfeG1sU3RlcFN0YXRlcyB7CisgICAgaW50IG5ic3RhdGVzOworICAgIGludCBtYXhzdGF0ZXM7CisgICAgeG1sU3RlcFN0YXRlUHRyIHN0YXRlczsKK307CisKK3R5cGVkZWYgc3RydWN0IF94bWxTdGVwT3AgeG1sU3RlcE9wOwordHlwZWRlZiB4bWxTdGVwT3AgKnhtbFN0ZXBPcFB0cjsKK3N0cnVjdCBfeG1sU3RlcE9wIHsKKyAgICB4bWxQYXRPcCBvcDsKKyAgICBjb25zdCB4bWxDaGFyICp2YWx1ZTsKKyAgICBjb25zdCB4bWxDaGFyICp2YWx1ZTI7IC8qIFRoZSBuYW1lc3BhY2UgbmFtZSAqLworfTsKKworI2RlZmluZSBQQVRfRlJPTV9ST09UCSgxPDw4KQorI2RlZmluZSBQQVRfRlJPTV9DVVIJKDE8PDkpCisKK3N0cnVjdCBfeG1sUGF0dGVybiB7CisgICAgdm9pZCAqZGF0YTsJCS8qIHRoZSBhc3NvY2lhdGVkIHRlbXBsYXRlICovCisgICAgeG1sRGljdFB0ciBkaWN0OwkJLyogdGhlIG9wdGlvbmFsIGRpY3Rpb25hcnkgKi8KKyAgICBzdHJ1Y3QgX3htbFBhdHRlcm4gKm5leHQ7CS8qIG5leHQgcGF0dGVybiBpZiB8IGlzIHVzZWQgKi8KKyAgICBjb25zdCB4bWxDaGFyICpwYXR0ZXJuOwkvKiB0aGUgcGF0dGVybiAqLworICAgIGludCBmbGFnczsJCQkvKiBmbGFncyAqLworICAgIGludCBuYlN0ZXA7CisgICAgaW50IG1heFN0ZXA7CisgICAgeG1sU3RlcE9wUHRyIHN0ZXBzOyAgICAgICAgLyogb3BzIGZvciBjb21wdXRhdGlvbiAqLworICAgIHhtbFN0cmVhbUNvbXBQdHIgc3RyZWFtOwkvKiB0aGUgc3RyZWFtaW5nIGRhdGEgaWYgYW55ICovCit9OworCit0eXBlZGVmIHN0cnVjdCBfeG1sUGF0UGFyc2VyQ29udGV4dCB4bWxQYXRQYXJzZXJDb250ZXh0OwordHlwZWRlZiB4bWxQYXRQYXJzZXJDb250ZXh0ICp4bWxQYXRQYXJzZXJDb250ZXh0UHRyOworc3RydWN0IF94bWxQYXRQYXJzZXJDb250ZXh0IHsKKyAgICBjb25zdCB4bWxDaGFyICpjdXI7CQkJLyogdGhlIGN1cnJlbnQgY2hhciBiZWluZyBwYXJzZWQgKi8KKyAgICBjb25zdCB4bWxDaGFyICpiYXNlOwkJLyogdGhlIGZ1bGwgZXhwcmVzc2lvbiAqLworICAgIGludAkgICAgICAgICAgIGVycm9yOwkJLyogZXJyb3IgY29kZSAqLworICAgIHhtbERpY3RQdHIgICAgIGRpY3Q7CQkvKiB0aGUgZGljdGlvbmFyeSBpZiBhbnkgKi8KKyAgICB4bWxQYXR0ZXJuUHRyICBjb21wOwkJLyogdGhlIHJlc3VsdCAqLworICAgIHhtbE5vZGVQdHIgICAgIGVsZW07CQkvKiB0aGUgY3VycmVudCBub2RlIGlmIGFueSAqLworICAgIGNvbnN0IHhtbENoYXIgKipuYW1lc3BhY2VzOwkJLyogdGhlIG5hbWVzcGFjZXMgZGVmaW5pdGlvbnMgKi8KKyAgICBpbnQgICBuYl9uYW1lc3BhY2VzOwkJLyogdGhlIG51bWJlciBvZiBuYW1lc3BhY2VzICovCit9OworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQkJVHlwZSBmdW5jdGlvbnMJCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqCisgKiB4bWxOZXdQYXR0ZXJuOgorICoKKyAqIENyZWF0ZSBhIG5ldyBYU0xUIFBhdHRlcm4KKyAqCisgKiBSZXR1cm5zIHRoZSBuZXdseSBhbGxvY2F0ZWQgeG1sUGF0dGVyblB0ciBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworc3RhdGljIHhtbFBhdHRlcm5QdHIKK3htbE5ld1BhdHRlcm4odm9pZCkgeworICAgIHhtbFBhdHRlcm5QdHIgY3VyOworCisgICAgY3VyID0gKHhtbFBhdHRlcm5QdHIpIHhtbE1hbGxvYyhzaXplb2YoeG1sUGF0dGVybikpOworICAgIGlmIChjdXIgPT0gTlVMTCkgeworCUVSUk9SKE5VTEwsIE5VTEwsIE5VTEwsCisJCSJ4bWxOZXdQYXR0ZXJuIDogbWFsbG9jIGZhaWxlZFxuIik7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBtZW1zZXQoY3VyLCAwLCBzaXplb2YoeG1sUGF0dGVybikpOworICAgIGN1ci0+bWF4U3RlcCA9IDEwOworICAgIGN1ci0+c3RlcHMgPSAoeG1sU3RlcE9wUHRyKSB4bWxNYWxsb2MoY3VyLT5tYXhTdGVwICogc2l6ZW9mKHhtbFN0ZXBPcCkpOworICAgIGlmIChjdXItPnN0ZXBzID09IE5VTEwpIHsKKyAgICAgICAgeG1sRnJlZShjdXIpOworCUVSUk9SKE5VTEwsIE5VTEwsIE5VTEwsCisJCSJ4bWxOZXdQYXR0ZXJuIDogbWFsbG9jIGZhaWxlZFxuIik7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICByZXR1cm4oY3VyKTsKK30KKworLyoqCisgKiB4bWxGcmVlUGF0dGVybjoKKyAqIEBjb21wOiAgYW4gWFNMVCBjb21wCisgKgorICogRnJlZSB1cCB0aGUgbWVtb3J5IGFsbG9jYXRlZCBieSBAY29tcAorICovCit2b2lkCit4bWxGcmVlUGF0dGVybih4bWxQYXR0ZXJuUHRyIGNvbXApIHsKKyAgICB4bWxTdGVwT3BQdHIgb3A7CisgICAgaW50IGk7CisKKyAgICBpZiAoY29tcCA9PSBOVUxMKQorCXJldHVybjsKKyAgICBpZiAoY29tcC0+bmV4dCAhPSBOVUxMKQorICAgICAgICB4bWxGcmVlUGF0dGVybihjb21wLT5uZXh0KTsKKyAgICBpZiAoY29tcC0+c3RyZWFtICE9IE5VTEwpCisgICAgICAgIHhtbEZyZWVTdHJlYW1Db21wKGNvbXAtPnN0cmVhbSk7CisgICAgaWYgKGNvbXAtPnBhdHRlcm4gIT0gTlVMTCkKKwl4bWxGcmVlKCh4bWxDaGFyICopY29tcC0+cGF0dGVybik7CisgICAgaWYgKGNvbXAtPnN0ZXBzICE9IE5VTEwpIHsKKyAgICAgICAgaWYgKGNvbXAtPmRpY3QgPT0gTlVMTCkgeworCSAgICBmb3IgKGkgPSAwO2kgPCBjb21wLT5uYlN0ZXA7aSsrKSB7CisJCW9wID0gJmNvbXAtPnN0ZXBzW2ldOworCQlpZiAob3AtPnZhbHVlICE9IE5VTEwpCisJCSAgICB4bWxGcmVlKCh4bWxDaGFyICopIG9wLT52YWx1ZSk7CisJCWlmIChvcC0+dmFsdWUyICE9IE5VTEwpCisJCSAgICB4bWxGcmVlKCh4bWxDaGFyICopIG9wLT52YWx1ZTIpOworCSAgICB9CisJfQorCXhtbEZyZWUoY29tcC0+c3RlcHMpOworICAgIH0KKyAgICBpZiAoY29tcC0+ZGljdCAhPSBOVUxMKQorICAgICAgICB4bWxEaWN0RnJlZShjb21wLT5kaWN0KTsKKworICAgIG1lbXNldChjb21wLCAtMSwgc2l6ZW9mKHhtbFBhdHRlcm4pKTsKKyAgICB4bWxGcmVlKGNvbXApOworfQorCisvKioKKyAqIHhtbEZyZWVQYXR0ZXJuTGlzdDoKKyAqIEBjb21wOiAgYW4gWFNMVCBjb21wIGxpc3QKKyAqCisgKiBGcmVlIHVwIHRoZSBtZW1vcnkgYWxsb2NhdGVkIGJ5IGFsbCB0aGUgZWxlbWVudHMgb2YgQGNvbXAKKyAqLwordm9pZAoreG1sRnJlZVBhdHRlcm5MaXN0KHhtbFBhdHRlcm5QdHIgY29tcCkgeworICAgIHhtbFBhdHRlcm5QdHIgY3VyOworCisgICAgd2hpbGUgKGNvbXAgIT0gTlVMTCkgeworCWN1ciA9IGNvbXA7CisJY29tcCA9IGNvbXAtPm5leHQ7CisJY3VyLT5uZXh0ID0gTlVMTDsKKwl4bWxGcmVlUGF0dGVybihjdXIpOworICAgIH0KK30KKworLyoqCisgKiB4bWxOZXdQYXRQYXJzZXJDb250ZXh0OgorICogQHBhdHRlcm46ICB0aGUgcGF0dGVybiBjb250ZXh0CisgKiBAZGljdDogIHRoZSBpbmhlcml0ZWQgZGljdGlvbmFyeSBvciBOVUxMCisgKiBAbmFtZXNwYWNlczogdGhlIHByZWZpeCBkZWZpbml0aW9ucywgYXJyYXkgb2YgW1VSSSwgcHJlZml4XSB0ZXJtaW5hdGVkCisgKiAgICAgICAgICAgICAgd2l0aCBbTlVMTCwgTlVMTF0gb3IgTlVMTCBpZiBubyBuYW1lc3BhY2UgaXMgdXNlZAorICoKKyAqIENyZWF0ZSBhIG5ldyBYTUwgcGF0dGVybiBwYXJzZXIgY29udGV4dAorICoKKyAqIFJldHVybnMgdGhlIG5ld2x5IGFsbG9jYXRlZCB4bWxQYXRQYXJzZXJDb250ZXh0UHRyIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcgorICovCitzdGF0aWMgeG1sUGF0UGFyc2VyQ29udGV4dFB0cgoreG1sTmV3UGF0UGFyc2VyQ29udGV4dChjb25zdCB4bWxDaGFyICpwYXR0ZXJuLCB4bWxEaWN0UHRyIGRpY3QsCisgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKipuYW1lc3BhY2VzKSB7CisgICAgeG1sUGF0UGFyc2VyQ29udGV4dFB0ciBjdXI7CisKKyAgICBpZiAocGF0dGVybiA9PSBOVUxMKQorICAgICAgICByZXR1cm4oTlVMTCk7CisKKyAgICBjdXIgPSAoeG1sUGF0UGFyc2VyQ29udGV4dFB0cikgeG1sTWFsbG9jKHNpemVvZih4bWxQYXRQYXJzZXJDb250ZXh0KSk7CisgICAgaWYgKGN1ciA9PSBOVUxMKSB7CisJRVJST1IoTlVMTCwgTlVMTCwgTlVMTCwKKwkJInhtbE5ld1BhdFBhcnNlckNvbnRleHQgOiBtYWxsb2MgZmFpbGVkXG4iKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIG1lbXNldChjdXIsIDAsIHNpemVvZih4bWxQYXRQYXJzZXJDb250ZXh0KSk7CisgICAgY3VyLT5kaWN0ID0gZGljdDsKKyAgICBjdXItPmN1ciA9IHBhdHRlcm47CisgICAgY3VyLT5iYXNlID0gcGF0dGVybjsKKyAgICBpZiAobmFtZXNwYWNlcyAhPSBOVUxMKSB7CisgICAgICAgIGludCBpOworICAgICAgICBmb3IgKGkgPSAwO25hbWVzcGFjZXNbMiAqIGldICE9IE5VTEw7aSsrKQorICAgICAgICAgICAgOworICAgICAgICBjdXItPm5iX25hbWVzcGFjZXMgPSBpOworICAgIH0gZWxzZSB7CisgICAgICAgIGN1ci0+bmJfbmFtZXNwYWNlcyA9IDA7CisgICAgfQorICAgIGN1ci0+bmFtZXNwYWNlcyA9IG5hbWVzcGFjZXM7CisgICAgcmV0dXJuKGN1cik7Cit9CisKKy8qKgorICogeG1sRnJlZVBhdFBhcnNlckNvbnRleHQ6CisgKiBAY3R4dDogIGFuIFhTTFQgcGFyc2VyIGNvbnRleHQKKyAqCisgKiBGcmVlIHVwIHRoZSBtZW1vcnkgYWxsb2NhdGVkIGJ5IEBjdHh0CisgKi8KK3N0YXRpYyB2b2lkCit4bWxGcmVlUGF0UGFyc2VyQ29udGV4dCh4bWxQYXRQYXJzZXJDb250ZXh0UHRyIGN0eHQpIHsKKyAgICBpZiAoY3R4dCA9PSBOVUxMKQorCXJldHVybjsKKyAgICBtZW1zZXQoY3R4dCwgLTEsIHNpemVvZih4bWxQYXRQYXJzZXJDb250ZXh0KSk7CisgICAgeG1sRnJlZShjdHh0KTsKK30KKworLyoqCisgKiB4bWxQYXR0ZXJuQWRkOgorICogQGNvbXA6ICB0aGUgY29tcGlsZWQgbWF0Y2ggZXhwcmVzc2lvbgorICogQG9wOiAgYW4gb3AKKyAqIEB2YWx1ZTogIHRoZSBmaXJzdCB2YWx1ZQorICogQHZhbHVlMjogIHRoZSBzZWNvbmQgdmFsdWUKKyAqCisgKiBBZGQgYSBzdGVwIHRvIGFuIFhTTFQgQ29tcGlsZWQgTWF0Y2gKKyAqCisgKiBSZXR1cm5zIC0xIGluIGNhc2Ugb2YgZmFpbHVyZSwgMCBvdGhlcndpc2UuCisgKi8KK3N0YXRpYyBpbnQKK3htbFBhdHRlcm5BZGQoeG1sUGF0UGFyc2VyQ29udGV4dFB0ciBjdHh0IEFUVFJJQlVURV9VTlVTRUQsCisgICAgICAgICAgICAgICAgeG1sUGF0dGVyblB0ciBjb21wLAorICAgICAgICAgICAgICAgIHhtbFBhdE9wIG9wLCB4bWxDaGFyICogdmFsdWUsIHhtbENoYXIgKiB2YWx1ZTIpCit7CisgICAgaWYgKGNvbXAtPm5iU3RlcCA+PSBjb21wLT5tYXhTdGVwKSB7CisgICAgICAgIHhtbFN0ZXBPcFB0ciB0ZW1wOworCXRlbXAgPSAoeG1sU3RlcE9wUHRyKSB4bWxSZWFsbG9jKGNvbXAtPnN0ZXBzLCBjb21wLT5tYXhTdGVwICogMiAqCisJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKHhtbFN0ZXBPcCkpOworICAgICAgICBpZiAodGVtcCA9PSBOVUxMKSB7CisJICAgIEVSUk9SKGN0eHQsIE5VTEwsIE5VTEwsCisJCQkgICAgICJ4bWxQYXR0ZXJuQWRkOiByZWFsbG9jIGZhaWxlZFxuIik7CisJICAgIHJldHVybiAoLTEpOworCX0KKwljb21wLT5zdGVwcyA9IHRlbXA7CisJY29tcC0+bWF4U3RlcCAqPSAyOworICAgIH0KKyAgICBjb21wLT5zdGVwc1tjb21wLT5uYlN0ZXBdLm9wID0gb3A7CisgICAgY29tcC0+c3RlcHNbY29tcC0+bmJTdGVwXS52YWx1ZSA9IHZhbHVlOworICAgIGNvbXAtPnN0ZXBzW2NvbXAtPm5iU3RlcF0udmFsdWUyID0gdmFsdWUyOworICAgIGNvbXAtPm5iU3RlcCsrOworICAgIHJldHVybiAoMCk7Cit9CisKKyNpZiAwCisvKioKKyAqIHhzbHRTd2FwVG9wUGF0dGVybjoKKyAqIEBjb21wOiAgdGhlIGNvbXBpbGVkIG1hdGNoIGV4cHJlc3Npb24KKyAqCisgKiByZXZlcnNlIHRoZSB0d28gdG9wIHN0ZXBzLgorICovCitzdGF0aWMgdm9pZAoreHNsdFN3YXBUb3BQYXR0ZXJuKHhtbFBhdHRlcm5QdHIgY29tcCkgeworICAgIGludCBpOworICAgIGludCBqID0gY29tcC0+bmJTdGVwIC0gMTsKKworICAgIGlmIChqID4gMCkgeworCXJlZ2lzdGVyIGNvbnN0IHhtbENoYXIgKnRtcDsKKwlyZWdpc3RlciB4bWxQYXRPcCBvcDsKKwlpID0gaiAtIDE7CisJdG1wID0gY29tcC0+c3RlcHNbaV0udmFsdWU7CisJY29tcC0+c3RlcHNbaV0udmFsdWUgPSBjb21wLT5zdGVwc1tqXS52YWx1ZTsKKwljb21wLT5zdGVwc1tqXS52YWx1ZSA9IHRtcDsKKwl0bXAgPSBjb21wLT5zdGVwc1tpXS52YWx1ZTI7CisJY29tcC0+c3RlcHNbaV0udmFsdWUyID0gY29tcC0+c3RlcHNbal0udmFsdWUyOworCWNvbXAtPnN0ZXBzW2pdLnZhbHVlMiA9IHRtcDsKKwlvcCA9IGNvbXAtPnN0ZXBzW2ldLm9wOworCWNvbXAtPnN0ZXBzW2ldLm9wID0gY29tcC0+c3RlcHNbal0ub3A7CisJY29tcC0+c3RlcHNbal0ub3AgPSBvcDsKKyAgICB9Cit9CisjZW5kaWYKKworLyoqCisgKiB4bWxSZXZlcnNlUGF0dGVybjoKKyAqIEBjb21wOiAgdGhlIGNvbXBpbGVkIG1hdGNoIGV4cHJlc3Npb24KKyAqCisgKiByZXZlcnNlIGFsbCB0aGUgc3RhY2sgb2YgZXhwcmVzc2lvbnMKKyAqCisgKiByZXR1cm5zIDAgaW4gY2FzZSBvZiBzdWNjZXNzIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yLgorICovCitzdGF0aWMgaW50Cit4bWxSZXZlcnNlUGF0dGVybih4bWxQYXR0ZXJuUHRyIGNvbXApIHsKKyAgICBpbnQgaSwgajsKKworICAgIC8qCisgICAgICogcmVtb3ZlIHRoZSBsZWFkaW5nIC8vIGZvciAvL2Egb3IgLi8vYQorICAgICAqLworICAgIGlmICgoY29tcC0+bmJTdGVwID4gMCkgJiYgKGNvbXAtPnN0ZXBzWzBdLm9wID09IFhNTF9PUF9BTkNFU1RPUikpIHsKKyAgICAgICAgZm9yIChpID0gMCwgaiA9IDE7aiA8IGNvbXAtPm5iU3RlcDtpKyssaisrKSB7CisJICAgIGNvbXAtPnN0ZXBzW2ldLnZhbHVlID0gY29tcC0+c3RlcHNbal0udmFsdWU7CisJICAgIGNvbXAtPnN0ZXBzW2ldLnZhbHVlMiA9IGNvbXAtPnN0ZXBzW2pdLnZhbHVlMjsKKwkgICAgY29tcC0+c3RlcHNbaV0ub3AgPSBjb21wLT5zdGVwc1tqXS5vcDsKKwl9CisJY29tcC0+bmJTdGVwLS07CisgICAgfQorICAgIGlmIChjb21wLT5uYlN0ZXAgPj0gY29tcC0+bWF4U3RlcCkgeworICAgICAgICB4bWxTdGVwT3BQdHIgdGVtcDsKKwl0ZW1wID0gKHhtbFN0ZXBPcFB0cikgeG1sUmVhbGxvYyhjb21wLT5zdGVwcywgY29tcC0+bWF4U3RlcCAqIDIgKgorCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZih4bWxTdGVwT3ApKTsKKyAgICAgICAgaWYgKHRlbXAgPT0gTlVMTCkgeworCSAgICBFUlJPUihjdHh0LCBOVUxMLCBOVUxMLAorCQkJICAgICAieG1sUmV2ZXJzZVBhdHRlcm46IHJlYWxsb2MgZmFpbGVkXG4iKTsKKwkgICAgcmV0dXJuICgtMSk7CisJfQorCWNvbXAtPnN0ZXBzID0gdGVtcDsKKwljb21wLT5tYXhTdGVwICo9IDI7CisgICAgfQorICAgIGkgPSAwOworICAgIGogPSBjb21wLT5uYlN0ZXAgLSAxOworICAgIHdoaWxlIChqID4gaSkgeworCXJlZ2lzdGVyIGNvbnN0IHhtbENoYXIgKnRtcDsKKwlyZWdpc3RlciB4bWxQYXRPcCBvcDsKKwl0bXAgPSBjb21wLT5zdGVwc1tpXS52YWx1ZTsKKwljb21wLT5zdGVwc1tpXS52YWx1ZSA9IGNvbXAtPnN0ZXBzW2pdLnZhbHVlOworCWNvbXAtPnN0ZXBzW2pdLnZhbHVlID0gdG1wOworCXRtcCA9IGNvbXAtPnN0ZXBzW2ldLnZhbHVlMjsKKwljb21wLT5zdGVwc1tpXS52YWx1ZTIgPSBjb21wLT5zdGVwc1tqXS52YWx1ZTI7CisJY29tcC0+c3RlcHNbal0udmFsdWUyID0gdG1wOworCW9wID0gY29tcC0+c3RlcHNbaV0ub3A7CisJY29tcC0+c3RlcHNbaV0ub3AgPSBjb21wLT5zdGVwc1tqXS5vcDsKKwljb21wLT5zdGVwc1tqXS5vcCA9IG9wOworCWotLTsKKwlpKys7CisgICAgfQorICAgIGNvbXAtPnN0ZXBzW2NvbXAtPm5iU3RlcF0udmFsdWUgPSBOVUxMOworICAgIGNvbXAtPnN0ZXBzW2NvbXAtPm5iU3RlcF0udmFsdWUyID0gTlVMTDsKKyAgICBjb21wLT5zdGVwc1tjb21wLT5uYlN0ZXArK10ub3AgPSBYTUxfT1BfRU5EOworICAgIHJldHVybigwKTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJVGhlIGludGVycHJldGVyIGZvciB0aGUgcHJlY29tcGlsZWQgcGF0dGVybnMJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworc3RhdGljIGludAoreG1sUGF0UHVzaFN0YXRlKHhtbFN0ZXBTdGF0ZXMgKnN0YXRlcywgaW50IHN0ZXAsIHhtbE5vZGVQdHIgbm9kZSkgeworICAgIGlmICgoc3RhdGVzLT5zdGF0ZXMgPT0gTlVMTCkgfHwgKHN0YXRlcy0+bWF4c3RhdGVzIDw9IDApKSB7CisgICAgICAgIHN0YXRlcy0+bWF4c3RhdGVzID0gNDsKKwlzdGF0ZXMtPm5ic3RhdGVzID0gMDsKKwlzdGF0ZXMtPnN0YXRlcyA9IHhtbE1hbGxvYyg0ICogc2l6ZW9mKHhtbFN0ZXBTdGF0ZSkpOworICAgIH0KKyAgICBlbHNlIGlmIChzdGF0ZXMtPm1heHN0YXRlcyA8PSBzdGF0ZXMtPm5ic3RhdGVzKSB7CisgICAgICAgIHhtbFN0ZXBTdGF0ZSAqdG1wOworCisJdG1wID0gKHhtbFN0ZXBTdGF0ZVB0cikgeG1sUmVhbGxvYyhzdGF0ZXMtPnN0YXRlcywKKwkJCSAgICAgICAyICogc3RhdGVzLT5tYXhzdGF0ZXMgKiBzaXplb2YoeG1sU3RlcFN0YXRlKSk7CisJaWYgKHRtcCA9PSBOVUxMKQorCSAgICByZXR1cm4oLTEpOworCXN0YXRlcy0+c3RhdGVzID0gdG1wOworCXN0YXRlcy0+bWF4c3RhdGVzICo9IDI7CisgICAgfQorICAgIHN0YXRlcy0+c3RhdGVzW3N0YXRlcy0+bmJzdGF0ZXNdLnN0ZXAgPSBzdGVwOworICAgIHN0YXRlcy0+c3RhdGVzW3N0YXRlcy0+bmJzdGF0ZXMrK10ubm9kZSA9IG5vZGU7CisjaWYgMAorICAgIGZwcmludGYoc3RkZXJyLCAiUHVzaDogJWQsICVzXG4iLCBzdGVwLCBub2RlLT5uYW1lKTsKKyNlbmRpZgorICAgIHJldHVybigwKTsKK30KKworLyoqCisgKiB4bWxQYXRNYXRjaDoKKyAqIEBjb21wOiB0aGUgcHJlY29tcGlsZWQgcGF0dGVybgorICogQG5vZGU6IGEgbm9kZQorICoKKyAqIFRlc3Qgd2hldGhlciB0aGUgbm9kZSBtYXRjaGVzIHRoZSBwYXR0ZXJuCisgKgorICogUmV0dXJucyAxIGlmIGl0IG1hdGNoZXMsIDAgaWYgaXQgZG9lc24ndCBhbmQgLTEgaW4gY2FzZSBvZiBmYWlsdXJlCisgKi8KK3N0YXRpYyBpbnQKK3htbFBhdE1hdGNoKHhtbFBhdHRlcm5QdHIgY29tcCwgeG1sTm9kZVB0ciBub2RlKSB7CisgICAgaW50IGk7CisgICAgeG1sU3RlcE9wUHRyIHN0ZXA7CisgICAgeG1sU3RlcFN0YXRlcyBzdGF0ZXMgPSB7MCwgMCwgTlVMTH07IC8qIC8vIG1heSByZXF1aXJlIGJhY2t0cmFjayAqLworCisgICAgaWYgKChjb21wID09IE5VTEwpIHx8IChub2RlID09IE5VTEwpKSByZXR1cm4oLTEpOworICAgIGkgPSAwOworcmVzdGFydDoKKyAgICBmb3IgKDtpIDwgY29tcC0+bmJTdGVwO2krKykgeworCXN0ZXAgPSAmY29tcC0+c3RlcHNbaV07CisJc3dpdGNoIChzdGVwLT5vcCkgeworICAgICAgICAgICAgY2FzZSBYTUxfT1BfRU5EOgorCQlnb3RvIGZvdW5kOworICAgICAgICAgICAgY2FzZSBYTUxfT1BfUk9PVDoKKwkJaWYgKG5vZGUtPnR5cGUgPT0gWE1MX05BTUVTUEFDRV9ERUNMKQorCQkgICAgZ290byByb2xsYmFjazsKKwkJbm9kZSA9IG5vZGUtPnBhcmVudDsKKwkJaWYgKChub2RlLT50eXBlID09IFhNTF9ET0NVTUVOVF9OT0RFKSB8fAorI2lmZGVmIExJQlhNTF9ET0NCX0VOQUJMRUQKKwkJICAgIChub2RlLT50eXBlID09IFhNTF9ET0NCX0RPQ1VNRU5UX05PREUpIHx8CisjZW5kaWYKKwkJICAgIChub2RlLT50eXBlID09IFhNTF9IVE1MX0RPQ1VNRU5UX05PREUpKQorCQkgICAgY29udGludWU7CisJCWdvdG8gcm9sbGJhY2s7CisgICAgICAgICAgICBjYXNlIFhNTF9PUF9FTEVNOgorCQlpZiAobm9kZS0+dHlwZSAhPSBYTUxfRUxFTUVOVF9OT0RFKQorCQkgICAgZ290byByb2xsYmFjazsKKwkJaWYgKHN0ZXAtPnZhbHVlID09IE5VTEwpCisJCSAgICBjb250aW51ZTsKKwkJaWYgKHN0ZXAtPnZhbHVlWzBdICE9IG5vZGUtPm5hbWVbMF0pCisJCSAgICBnb3RvIHJvbGxiYWNrOworCQlpZiAoIXhtbFN0ckVxdWFsKHN0ZXAtPnZhbHVlLCBub2RlLT5uYW1lKSkKKwkJICAgIGdvdG8gcm9sbGJhY2s7CisKKwkJLyogTmFtZXNwYWNlIHRlc3QgKi8KKwkJaWYgKG5vZGUtPm5zID09IE5VTEwpIHsKKwkJICAgIGlmIChzdGVwLT52YWx1ZTIgIT0gTlVMTCkKKwkJCWdvdG8gcm9sbGJhY2s7CisJCX0gZWxzZSBpZiAobm9kZS0+bnMtPmhyZWYgIT0gTlVMTCkgeworCQkgICAgaWYgKHN0ZXAtPnZhbHVlMiA9PSBOVUxMKQorCQkJZ290byByb2xsYmFjazsKKwkJICAgIGlmICgheG1sU3RyRXF1YWwoc3RlcC0+dmFsdWUyLCBub2RlLT5ucy0+aHJlZikpCisJCQlnb3RvIHJvbGxiYWNrOworCQl9CisJCWNvbnRpbnVlOworICAgICAgICAgICAgY2FzZSBYTUxfT1BfQ0hJTEQ6IHsKKwkJeG1sTm9kZVB0ciBsc3Q7CisKKwkJaWYgKChub2RlLT50eXBlICE9IFhNTF9FTEVNRU5UX05PREUpICYmCisJCSAgICAobm9kZS0+dHlwZSAhPSBYTUxfRE9DVU1FTlRfTk9ERSkgJiYKKyNpZmRlZiBMSUJYTUxfRE9DQl9FTkFCTEVECisJCSAgICAobm9kZS0+dHlwZSAhPSBYTUxfRE9DQl9ET0NVTUVOVF9OT0RFKSAmJgorI2VuZGlmCisJCSAgICAobm9kZS0+dHlwZSAhPSBYTUxfSFRNTF9ET0NVTUVOVF9OT0RFKSkKKwkJICAgIGdvdG8gcm9sbGJhY2s7CisKKwkJbHN0ID0gbm9kZS0+Y2hpbGRyZW47CisKKwkJaWYgKHN0ZXAtPnZhbHVlICE9IE5VTEwpIHsKKwkJICAgIHdoaWxlIChsc3QgIT0gTlVMTCkgeworCQkJaWYgKChsc3QtPnR5cGUgPT0gWE1MX0VMRU1FTlRfTk9ERSkgJiYKKwkJCSAgICAoc3RlcC0+dmFsdWVbMF0gPT0gbHN0LT5uYW1lWzBdKSAmJgorCQkJICAgICh4bWxTdHJFcXVhbChzdGVwLT52YWx1ZSwgbHN0LT5uYW1lKSkpCisJCQkgICAgYnJlYWs7CisJCQlsc3QgPSBsc3QtPm5leHQ7CisJCSAgICB9CisJCSAgICBpZiAobHN0ICE9IE5VTEwpCisJCQljb250aW51ZTsKKwkJfQorCQlnb3RvIHJvbGxiYWNrOworCSAgICB9CisgICAgICAgICAgICBjYXNlIFhNTF9PUF9BVFRSOgorCQlpZiAobm9kZS0+dHlwZSAhPSBYTUxfQVRUUklCVVRFX05PREUpCisJCSAgICBnb3RvIHJvbGxiYWNrOworCQlpZiAoc3RlcC0+dmFsdWUgIT0gTlVMTCkgeworCQkgICAgaWYgKHN0ZXAtPnZhbHVlWzBdICE9IG5vZGUtPm5hbWVbMF0pCisJCQlnb3RvIHJvbGxiYWNrOworCQkgICAgaWYgKCF4bWxTdHJFcXVhbChzdGVwLT52YWx1ZSwgbm9kZS0+bmFtZSkpCisJCQlnb3RvIHJvbGxiYWNrOworCQl9CisJCS8qIE5hbWVzcGFjZSB0ZXN0ICovCisJCWlmIChub2RlLT5ucyA9PSBOVUxMKSB7CisJCSAgICBpZiAoc3RlcC0+dmFsdWUyICE9IE5VTEwpCisJCQlnb3RvIHJvbGxiYWNrOworCQl9IGVsc2UgaWYgKHN0ZXAtPnZhbHVlMiAhPSBOVUxMKSB7CisJCSAgICBpZiAoIXhtbFN0ckVxdWFsKHN0ZXAtPnZhbHVlMiwgbm9kZS0+bnMtPmhyZWYpKQorCQkJZ290byByb2xsYmFjazsKKwkJfQorCQljb250aW51ZTsKKyAgICAgICAgICAgIGNhc2UgWE1MX09QX1BBUkVOVDoKKwkJaWYgKChub2RlLT50eXBlID09IFhNTF9ET0NVTUVOVF9OT0RFKSB8fAorCQkgICAgKG5vZGUtPnR5cGUgPT0gWE1MX0hUTUxfRE9DVU1FTlRfTk9ERSkgfHwKKyNpZmRlZiBMSUJYTUxfRE9DQl9FTkFCTEVECisJCSAgICAobm9kZS0+dHlwZSA9PSBYTUxfRE9DQl9ET0NVTUVOVF9OT0RFKSB8fAorI2VuZGlmCisJCSAgICAobm9kZS0+dHlwZSA9PSBYTUxfTkFNRVNQQUNFX0RFQ0wpKQorCQkgICAgZ290byByb2xsYmFjazsKKwkJbm9kZSA9IG5vZGUtPnBhcmVudDsKKwkJaWYgKG5vZGUgPT0gTlVMTCkKKwkJICAgIGdvdG8gcm9sbGJhY2s7CisJCWlmIChzdGVwLT52YWx1ZSA9PSBOVUxMKQorCQkgICAgY29udGludWU7CisJCWlmIChzdGVwLT52YWx1ZVswXSAhPSBub2RlLT5uYW1lWzBdKQorCQkgICAgZ290byByb2xsYmFjazsKKwkJaWYgKCF4bWxTdHJFcXVhbChzdGVwLT52YWx1ZSwgbm9kZS0+bmFtZSkpCisJCSAgICBnb3RvIHJvbGxiYWNrOworCQkvKiBOYW1lc3BhY2UgdGVzdCAqLworCQlpZiAobm9kZS0+bnMgPT0gTlVMTCkgeworCQkgICAgaWYgKHN0ZXAtPnZhbHVlMiAhPSBOVUxMKQorCQkJZ290byByb2xsYmFjazsKKwkJfSBlbHNlIGlmIChub2RlLT5ucy0+aHJlZiAhPSBOVUxMKSB7CisJCSAgICBpZiAoc3RlcC0+dmFsdWUyID09IE5VTEwpCisJCQlnb3RvIHJvbGxiYWNrOworCQkgICAgaWYgKCF4bWxTdHJFcXVhbChzdGVwLT52YWx1ZTIsIG5vZGUtPm5zLT5ocmVmKSkKKwkJCWdvdG8gcm9sbGJhY2s7CisJCX0KKwkJY29udGludWU7CisgICAgICAgICAgICBjYXNlIFhNTF9PUF9BTkNFU1RPUjoKKwkJLyogVE9ETzogaW1wbGVtZW50IGNvYWxlc2Npbmcgb2YgQU5DRVNUT1IvTk9ERSBvcHMgKi8KKwkJaWYgKHN0ZXAtPnZhbHVlID09IE5VTEwpIHsKKwkJICAgIGkrKzsKKwkJICAgIHN0ZXAgPSAmY29tcC0+c3RlcHNbaV07CisJCSAgICBpZiAoc3RlcC0+b3AgPT0gWE1MX09QX1JPT1QpCisJCQlnb3RvIGZvdW5kOworCQkgICAgaWYgKHN0ZXAtPm9wICE9IFhNTF9PUF9FTEVNKQorCQkJZ290byByb2xsYmFjazsKKwkJICAgIGlmIChzdGVwLT52YWx1ZSA9PSBOVUxMKQorCQkJcmV0dXJuKC0xKTsKKwkJfQorCQlpZiAobm9kZSA9PSBOVUxMKQorCQkgICAgZ290byByb2xsYmFjazsKKwkJaWYgKChub2RlLT50eXBlID09IFhNTF9ET0NVTUVOVF9OT0RFKSB8fAorCQkgICAgKG5vZGUtPnR5cGUgPT0gWE1MX0hUTUxfRE9DVU1FTlRfTk9ERSkgfHwKKyNpZmRlZiBMSUJYTUxfRE9DQl9FTkFCTEVECisJCSAgICAobm9kZS0+dHlwZSA9PSBYTUxfRE9DQl9ET0NVTUVOVF9OT0RFKSB8fAorI2VuZGlmCisJCSAgICAobm9kZS0+dHlwZSA9PSBYTUxfTkFNRVNQQUNFX0RFQ0wpKQorCQkgICAgZ290byByb2xsYmFjazsKKwkJbm9kZSA9IG5vZGUtPnBhcmVudDsKKwkJd2hpbGUgKG5vZGUgIT0gTlVMTCkgeworCQkgICAgaWYgKChub2RlLT50eXBlID09IFhNTF9FTEVNRU5UX05PREUpICYmCisJCQkoc3RlcC0+dmFsdWVbMF0gPT0gbm9kZS0+bmFtZVswXSkgJiYKKwkJCSh4bWxTdHJFcXVhbChzdGVwLT52YWx1ZSwgbm9kZS0+bmFtZSkpKSB7CisJCQkvKiBOYW1lc3BhY2UgdGVzdCAqLworCQkJaWYgKG5vZGUtPm5zID09IE5VTEwpIHsKKwkJCSAgICBpZiAoc3RlcC0+dmFsdWUyID09IE5VTEwpCisJCQkJYnJlYWs7CisJCQl9IGVsc2UgaWYgKG5vZGUtPm5zLT5ocmVmICE9IE5VTEwpIHsKKwkJCSAgICBpZiAoKHN0ZXAtPnZhbHVlMiAhPSBOVUxMKSAmJgorCQkJICAgICAgICAoeG1sU3RyRXF1YWwoc3RlcC0+dmFsdWUyLCBub2RlLT5ucy0+aHJlZikpKQorCQkJCWJyZWFrOworCQkJfQorCQkgICAgfQorCQkgICAgbm9kZSA9IG5vZGUtPnBhcmVudDsKKwkJfQorCQlpZiAobm9kZSA9PSBOVUxMKQorCQkgICAgZ290byByb2xsYmFjazsKKwkJLyoKKwkJICogcHJlcGFyZSBhIHBvdGVudGlhbCByb2xsYmFjayBmcm9tIGhlcmUKKwkJICogZm9yIGFuY2VzdG9ycyBvZiB0aGF0IG5vZGUuCisJCSAqLworCQlpZiAoc3RlcC0+b3AgPT0gWE1MX09QX0FOQ0VTVE9SKQorCQkgICAgeG1sUGF0UHVzaFN0YXRlKCZzdGF0ZXMsIGksIG5vZGUpOworCQllbHNlCisJCSAgICB4bWxQYXRQdXNoU3RhdGUoJnN0YXRlcywgaSAtIDEsIG5vZGUpOworCQljb250aW51ZTsKKyAgICAgICAgICAgIGNhc2UgWE1MX09QX05TOgorCQlpZiAobm9kZS0+dHlwZSAhPSBYTUxfRUxFTUVOVF9OT0RFKQorCQkgICAgZ290byByb2xsYmFjazsKKwkJaWYgKG5vZGUtPm5zID09IE5VTEwpIHsKKwkJICAgIGlmIChzdGVwLT52YWx1ZSAhPSBOVUxMKQorCQkJZ290byByb2xsYmFjazsKKwkJfSBlbHNlIGlmIChub2RlLT5ucy0+aHJlZiAhPSBOVUxMKSB7CisJCSAgICBpZiAoc3RlcC0+dmFsdWUgPT0gTlVMTCkKKwkJCWdvdG8gcm9sbGJhY2s7CisJCSAgICBpZiAoIXhtbFN0ckVxdWFsKHN0ZXAtPnZhbHVlLCBub2RlLT5ucy0+aHJlZikpCisJCQlnb3RvIHJvbGxiYWNrOworCQl9CisJCWJyZWFrOworICAgICAgICAgICAgY2FzZSBYTUxfT1BfQUxMOgorCQlpZiAobm9kZS0+dHlwZSAhPSBYTUxfRUxFTUVOVF9OT0RFKQorCQkgICAgZ290byByb2xsYmFjazsKKwkJYnJlYWs7CisJfQorICAgIH0KK2ZvdW5kOgorICAgIGlmIChzdGF0ZXMuc3RhdGVzICE9IE5VTEwpIHsKKyAgICAgICAgLyogRnJlZSB0aGUgcm9sbGJhY2sgc3RhdGVzICovCisJeG1sRnJlZShzdGF0ZXMuc3RhdGVzKTsKKyAgICB9CisgICAgcmV0dXJuKDEpOworcm9sbGJhY2s6CisgICAgLyogZ290IGFuIGVycm9yIHRyeSB0byByb2xsYmFjayAqLworICAgIGlmIChzdGF0ZXMuc3RhdGVzID09IE5VTEwpCisJcmV0dXJuKDApOworICAgIGlmIChzdGF0ZXMubmJzdGF0ZXMgPD0gMCkgeworCXhtbEZyZWUoc3RhdGVzLnN0YXRlcyk7CisJcmV0dXJuKDApOworICAgIH0KKyAgICBzdGF0ZXMubmJzdGF0ZXMtLTsKKyAgICBpID0gc3RhdGVzLnN0YXRlc1tzdGF0ZXMubmJzdGF0ZXNdLnN0ZXA7CisgICAgbm9kZSA9IHN0YXRlcy5zdGF0ZXNbc3RhdGVzLm5ic3RhdGVzXS5ub2RlOworI2lmIDAKKyAgICBmcHJpbnRmKHN0ZGVyciwgIlBvcDogJWQsICVzXG4iLCBpLCBub2RlLT5uYW1lKTsKKyNlbmRpZgorICAgIGdvdG8gcmVzdGFydDsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJCURlZGljYXRlZCBwYXJzZXIgZm9yIHRlbXBsYXRlcwkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2RlZmluZSBUT0RPCQkJCQkJCQlcCisgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCQkJCVwKKwkgICAgIlVuaW1wbGVtZW50ZWQgYmxvY2sgYXQgJXM6JWRcbiIsCQkJCVwKKyAgICAgICAgICAgIF9fRklMRV9fLCBfX0xJTkVfXyk7CisjZGVmaW5lIENVUiAoKmN0eHQtPmN1cikKKyNkZWZpbmUgU0tJUCh2YWwpIGN0eHQtPmN1ciArPSAodmFsKQorI2RlZmluZSBOWFQodmFsKSBjdHh0LT5jdXJbKHZhbCldCisjZGVmaW5lIFBFRUtQUkVWKHZhbCkgY3R4dC0+Y3VyWy0odmFsKV0KKyNkZWZpbmUgQ1VSX1BUUiBjdHh0LT5jdXIKKworI2RlZmluZSBTS0lQX0JMQU5LUwkJCQkJCQlcCisgICAgd2hpbGUgKElTX0JMQU5LX0NIKENVUikpIE5FWFQKKworI2RlZmluZSBDVVJSRU5UICgqY3R4dC0+Y3VyKQorI2RlZmluZSBORVhUICgoKmN0eHQtPmN1cikgPyAgY3R4dC0+Y3VyKys6IGN0eHQtPmN1cikKKworCisjZGVmaW5lIFBVU0gob3AsIHZhbCwgdmFsMikJCQkJCQlcCisgICAgaWYgKHhtbFBhdHRlcm5BZGQoY3R4dCwgY3R4dC0+Y29tcCwgKG9wKSwgKHZhbCksICh2YWwyKSkpIGdvdG8gZXJyb3I7CisKKyNkZWZpbmUgWFNMVF9FUlJPUihYKQkJCQkJCQlcCisgICAgeyB4c2x0RXJyb3IoY3R4dCwgX19GSUxFX18sIF9fTElORV9fLCBYKTsJCQkJXAorICAgICAgY3R4dC0+ZXJyb3IgPSAoWCk7IHJldHVybjsgfQorCisjZGVmaW5lIFhTTFRfRVJST1IwKFgpCQkJCQkJCVwKKyAgICB7IHhzbHRFcnJvcihjdHh0LCBfX0ZJTEVfXywgX19MSU5FX18sIFgpOwkJCQlcCisgICAgICBjdHh0LT5lcnJvciA9IChYKTsgcmV0dXJuKDApOyB9CisKKyNpZiAwCisvKioKKyAqIHhtbFBhdFNjYW5MaXRlcmFsOgorICogQGN0eHQ6ICB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQKKyAqCisgKiBQYXJzZSBhbiBYUGF0aCBMaXR0ZXJhbDoKKyAqCisgKiBbMjldIExpdGVyYWwgOjo9ICciJyBbXiJdKiAnIicKKyAqICAgICAgICAgICAgICAgIHwgIiciIFteJ10qICInIgorICoKKyAqIFJldHVybnMgdGhlIExpdGVyYWwgcGFyc2VkIG9yIE5VTEwKKyAqLworCitzdGF0aWMgeG1sQ2hhciAqCit4bWxQYXRTY2FuTGl0ZXJhbCh4bWxQYXRQYXJzZXJDb250ZXh0UHRyIGN0eHQpIHsKKyAgICBjb25zdCB4bWxDaGFyICpxLCAqY3VyOworICAgIHhtbENoYXIgKnJldCA9IE5VTEw7CisgICAgaW50IHZhbCwgbGVuOworCisgICAgU0tJUF9CTEFOS1M7CisgICAgaWYgKENVUiA9PSAnIicpIHsKKyAgICAgICAgTkVYVDsKKwljdXIgPSBxID0gQ1VSX1BUUjsKKwl2YWwgPSB4bWxTdHJpbmdDdXJyZW50Q2hhcihOVUxMLCBjdXIsICZsZW4pOworCXdoaWxlICgoSVNfQ0hBUih2YWwpKSAmJiAodmFsICE9ICciJykpIHsKKwkgICAgY3VyICs9IGxlbjsKKwkgICAgdmFsID0geG1sU3RyaW5nQ3VycmVudENoYXIoTlVMTCwgY3VyLCAmbGVuKTsKKwl9CisJaWYgKCFJU19DSEFSKHZhbCkpIHsKKwkgICAgY3R4dC0+ZXJyb3IgPSAxOworCSAgICByZXR1cm4oTlVMTCk7CisJfSBlbHNlIHsKKwkgICAgaWYgKGN0eHQtPmRpY3QpCisJCXJldCA9ICh4bWxDaGFyICopIHhtbERpY3RMb29rdXAoY3R4dC0+ZGljdCwgcSwgY3VyIC0gcSk7CisJICAgIGVsc2UKKwkJcmV0ID0geG1sU3RybmR1cChxLCBjdXIgLSBxKTsKKyAgICAgICAgfQorCWN1ciArPSBsZW47CisJQ1VSX1BUUiA9IGN1cjsKKyAgICB9IGVsc2UgaWYgKENVUiA9PSAnXCcnKSB7CisgICAgICAgIE5FWFQ7CisJY3VyID0gcSA9IENVUl9QVFI7CisJdmFsID0geG1sU3RyaW5nQ3VycmVudENoYXIoTlVMTCwgY3VyLCAmbGVuKTsKKwl3aGlsZSAoKElTX0NIQVIodmFsKSkgJiYgKHZhbCAhPSAnXCcnKSkgeworCSAgICBjdXIgKz0gbGVuOworCSAgICB2YWwgPSB4bWxTdHJpbmdDdXJyZW50Q2hhcihOVUxMLCBjdXIsICZsZW4pOworCX0KKwlpZiAoIUlTX0NIQVIodmFsKSkgeworCSAgICBjdHh0LT5lcnJvciA9IDE7CisJICAgIHJldHVybihOVUxMKTsKKwl9IGVsc2UgeworCSAgICBpZiAoY3R4dC0+ZGljdCkKKwkJcmV0ID0gKHhtbENoYXIgKikgeG1sRGljdExvb2t1cChjdHh0LT5kaWN0LCBxLCBjdXIgLSBxKTsKKwkgICAgZWxzZQorCQlyZXQgPSB4bWxTdHJuZHVwKHEsIGN1ciAtIHEpOworICAgICAgICB9CisJY3VyICs9IGxlbjsKKwlDVVJfUFRSID0gY3VyOworICAgIH0gZWxzZSB7CisJLyogWFBfRVJST1IoWFBBVEhfU1RBUlRfTElURVJBTF9FUlJPUik7ICovCisJY3R4dC0+ZXJyb3IgPSAxOworCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgcmV0dXJuKHJldCk7Cit9CisjZW5kaWYKKworLyoqCisgKiB4bWxQYXRTY2FuTmFtZToKKyAqIEBjdHh0OiAgdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0CisgKgorICogWzRdIE5hbWVDaGFyIDo6PSBMZXR0ZXIgfCBEaWdpdCB8ICcuJyB8ICctJyB8ICdfJyB8CisgKiAgICAgICAgICAgICAgICAgIENvbWJpbmluZ0NoYXIgfCBFeHRlbmRlcgorICoKKyAqIFs1XSBOYW1lIDo6PSAoTGV0dGVyIHwgJ18nIHwgJzonKSAoTmFtZUNoYXIpKgorICoKKyAqIFs2XSBOYW1lcyA6Oj0gTmFtZSAoUyBOYW1lKSoKKyAqCisgKiBSZXR1cm5zIHRoZSBOYW1lIHBhcnNlZCBvciBOVUxMCisgKi8KKworc3RhdGljIHhtbENoYXIgKgoreG1sUGF0U2Nhbk5hbWUoeG1sUGF0UGFyc2VyQ29udGV4dFB0ciBjdHh0KSB7CisgICAgY29uc3QgeG1sQ2hhciAqcSwgKmN1cjsKKyAgICB4bWxDaGFyICpyZXQgPSBOVUxMOworICAgIGludCB2YWwsIGxlbjsKKworICAgIFNLSVBfQkxBTktTOworCisgICAgY3VyID0gcSA9IENVUl9QVFI7CisgICAgdmFsID0geG1sU3RyaW5nQ3VycmVudENoYXIoTlVMTCwgY3VyLCAmbGVuKTsKKyAgICBpZiAoIUlTX0xFVFRFUih2YWwpICYmICh2YWwgIT0gJ18nKSAmJiAodmFsICE9ICc6JykpCisJcmV0dXJuKE5VTEwpOworCisgICAgd2hpbGUgKChJU19MRVRURVIodmFsKSkgfHwgKElTX0RJR0lUKHZhbCkpIHx8CisgICAgICAgICAgICh2YWwgPT0gJy4nKSB8fCAodmFsID09ICctJykgfHwKKwkgICAodmFsID09ICdfJykgfHwKKwkgICAoSVNfQ09NQklOSU5HKHZhbCkpIHx8CisJICAgKElTX0VYVEVOREVSKHZhbCkpKSB7CisJY3VyICs9IGxlbjsKKwl2YWwgPSB4bWxTdHJpbmdDdXJyZW50Q2hhcihOVUxMLCBjdXIsICZsZW4pOworICAgIH0KKyAgICBpZiAoY3R4dC0+ZGljdCkKKwlyZXQgPSAoeG1sQ2hhciAqKSB4bWxEaWN0TG9va3VwKGN0eHQtPmRpY3QsIHEsIGN1ciAtIHEpOworICAgIGVsc2UKKwlyZXQgPSB4bWxTdHJuZHVwKHEsIGN1ciAtIHEpOworICAgIENVUl9QVFIgPSBjdXI7CisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogeG1sUGF0U2Nhbk5DTmFtZToKKyAqIEBjdHh0OiAgdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0CisgKgorICogUGFyc2VzIGEgbm9uIHF1YWxpZmllZCBuYW1lCisgKgorICogUmV0dXJucyB0aGUgTmFtZSBwYXJzZWQgb3IgTlVMTAorICovCisKK3N0YXRpYyB4bWxDaGFyICoKK3htbFBhdFNjYW5OQ05hbWUoeG1sUGF0UGFyc2VyQ29udGV4dFB0ciBjdHh0KSB7CisgICAgY29uc3QgeG1sQ2hhciAqcSwgKmN1cjsKKyAgICB4bWxDaGFyICpyZXQgPSBOVUxMOworICAgIGludCB2YWwsIGxlbjsKKworICAgIFNLSVBfQkxBTktTOworCisgICAgY3VyID0gcSA9IENVUl9QVFI7CisgICAgdmFsID0geG1sU3RyaW5nQ3VycmVudENoYXIoTlVMTCwgY3VyLCAmbGVuKTsKKyAgICBpZiAoIUlTX0xFVFRFUih2YWwpICYmICh2YWwgIT0gJ18nKSkKKwlyZXR1cm4oTlVMTCk7CisKKyAgICB3aGlsZSAoKElTX0xFVFRFUih2YWwpKSB8fCAoSVNfRElHSVQodmFsKSkgfHwKKyAgICAgICAgICAgKHZhbCA9PSAnLicpIHx8ICh2YWwgPT0gJy0nKSB8fAorCSAgICh2YWwgPT0gJ18nKSB8fAorCSAgIChJU19DT01CSU5JTkcodmFsKSkgfHwKKwkgICAoSVNfRVhURU5ERVIodmFsKSkpIHsKKwljdXIgKz0gbGVuOworCXZhbCA9IHhtbFN0cmluZ0N1cnJlbnRDaGFyKE5VTEwsIGN1ciwgJmxlbik7CisgICAgfQorICAgIGlmIChjdHh0LT5kaWN0KQorCXJldCA9ICh4bWxDaGFyICopIHhtbERpY3RMb29rdXAoY3R4dC0+ZGljdCwgcSwgY3VyIC0gcSk7CisgICAgZWxzZQorCXJldCA9IHhtbFN0cm5kdXAocSwgY3VyIC0gcSk7CisgICAgQ1VSX1BUUiA9IGN1cjsKKyAgICByZXR1cm4ocmV0KTsKK30KKworI2lmIDAKKy8qKgorICogeG1sUGF0U2NhblFOYW1lOgorICogQGN0eHQ6ICB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQKKyAqIEBwcmVmaXg6ICB0aGUgcGxhY2UgdG8gc3RvcmUgdGhlIHByZWZpeAorICoKKyAqIFBhcnNlIGEgcXVhbGlmaWVkIG5hbWUKKyAqCisgKiBSZXR1cm5zIHRoZSBOYW1lIHBhcnNlZCBvciBOVUxMCisgKi8KKworc3RhdGljIHhtbENoYXIgKgoreG1sUGF0U2NhblFOYW1lKHhtbFBhdFBhcnNlckNvbnRleHRQdHIgY3R4dCwgeG1sQ2hhciAqKnByZWZpeCkgeworICAgIHhtbENoYXIgKnJldCA9IE5VTEw7CisKKyAgICAqcHJlZml4ID0gTlVMTDsKKyAgICByZXQgPSB4bWxQYXRTY2FuTkNOYW1lKGN0eHQpOworICAgIGlmIChDVVIgPT0gJzonKSB7CisgICAgICAgICpwcmVmaXggPSByZXQ7CisJTkVYVDsKKwlyZXQgPSB4bWxQYXRTY2FuTkNOYW1lKGN0eHQpOworICAgIH0KKyAgICByZXR1cm4ocmV0KTsKK30KKyNlbmRpZgorCisvKioKKyAqIHhtbENvbXBpbGVBdHRyaWJ1dGVUZXN0OgorICogQGN0eHQ6ICB0aGUgY29tcGlsYXRpb24gY29udGV4dAorICoKKyAqIENvbXBpbGUgYW4gYXR0cmlidXRlIHRlc3QuCisgKi8KK3N0YXRpYyB2b2lkCit4bWxDb21waWxlQXR0cmlidXRlVGVzdCh4bWxQYXRQYXJzZXJDb250ZXh0UHRyIGN0eHQpIHsKKyAgICB4bWxDaGFyICp0b2tlbiA9IE5VTEw7CisgICAgeG1sQ2hhciAqbmFtZSA9IE5VTEw7CisgICAgeG1sQ2hhciAqVVJMID0gTlVMTDsKKworICAgIFNLSVBfQkxBTktTOworICAgIG5hbWUgPSB4bWxQYXRTY2FuTkNOYW1lKGN0eHQpOworICAgIGlmIChuYW1lID09IE5VTEwpIHsKKwlpZiAoQ1VSID09ICcqJykgeworCSAgICBQVVNIKFhNTF9PUF9BVFRSLCBOVUxMLCBOVUxMKTsKKwkgICAgTkVYVDsKKwl9IGVsc2UgeworCSAgICBFUlJPUihOVUxMLCBOVUxMLCBOVUxMLAorCQkieG1sQ29tcGlsZUF0dHJpYnV0ZVRlc3QgOiBOYW1lIGV4cGVjdGVkXG4iKTsKKwkgICAgY3R4dC0+ZXJyb3IgPSAxOworCX0KKwlyZXR1cm47CisgICAgfQorICAgIGlmIChDVVIgPT0gJzonKSB7CisJaW50IGk7CisJeG1sQ2hhciAqcHJlZml4ID0gbmFtZTsKKworCU5FWFQ7CisKKwlpZiAoSVNfQkxBTktfQ0goQ1VSKSkgeworCSAgICBFUlJPUjUoTlVMTCwgTlVMTCwgTlVMTCwgIkludmFsaWQgUU5hbWUuXG4iLCBOVUxMKTsKKwkgICAgWE1MX1BBVF9GUkVFX1NUUklORyhjdHh0LCBwcmVmaXgpOworCSAgICBjdHh0LT5lcnJvciA9IDE7CisJICAgIGdvdG8gZXJyb3I7CisJfQorCS8qCisJKiBUaGlzIGlzIGEgbmFtZXNwYWNlIG1hdGNoCisJKi8KKwl0b2tlbiA9IHhtbFBhdFNjYW5OYW1lKGN0eHQpOworCWlmICgocHJlZml4WzBdID09ICd4JykgJiYKKwkgICAgKHByZWZpeFsxXSA9PSAnbScpICYmCisJICAgIChwcmVmaXhbMl0gPT0gJ2wnKSAmJgorCSAgICAocHJlZml4WzNdID09IDApKQorCXsKKwkgICAgWE1MX1BBVF9DT1BZX05TTkFNRShjdHh0LCBVUkwsIFhNTF9YTUxfTkFNRVNQQUNFKTsKKwl9IGVsc2UgeworCSAgICBmb3IgKGkgPSAwO2kgPCBjdHh0LT5uYl9uYW1lc3BhY2VzO2krKykgeworCQlpZiAoeG1sU3RyRXF1YWwoY3R4dC0+bmFtZXNwYWNlc1syICogaSArIDFdLCBwcmVmaXgpKSB7CisJCSAgICBYTUxfUEFUX0NPUFlfTlNOQU1FKGN0eHQsIFVSTCwgY3R4dC0+bmFtZXNwYWNlc1syICogaV0pCisJCSAgICBicmVhazsKKwkJfQorCSAgICB9CisJICAgIGlmIChpID49IGN0eHQtPm5iX25hbWVzcGFjZXMpIHsKKwkJRVJST1I1KE5VTEwsIE5VTEwsIE5VTEwsCisJCSAgICAieG1sQ29tcGlsZUF0dHJpYnV0ZVRlc3QgOiBubyBuYW1lc3BhY2UgYm91bmQgdG8gcHJlZml4ICVzXG4iLAorCQkgICAgcHJlZml4KTsKKwkJY3R4dC0+ZXJyb3IgPSAxOworCQlnb3RvIGVycm9yOworCSAgICB9CisJfQorCVhNTF9QQVRfRlJFRV9TVFJJTkcoY3R4dCwgcHJlZml4KTsKKwlpZiAodG9rZW4gPT0gTlVMTCkgeworCSAgICBpZiAoQ1VSID09ICcqJykgeworCQlORVhUOworCQlQVVNIKFhNTF9PUF9BVFRSLCBOVUxMLCBVUkwpOworCSAgICB9IGVsc2UgeworCQlFUlJPUihOVUxMLCBOVUxMLCBOVUxMLAorCQkgICAgInhtbENvbXBpbGVBdHRyaWJ1dGVUZXN0IDogTmFtZSBleHBlY3RlZFxuIik7CisJCWN0eHQtPmVycm9yID0gMTsKKwkJZ290byBlcnJvcjsKKwkgICAgfQorCX0gZWxzZSB7CisJICAgIFBVU0goWE1MX09QX0FUVFIsIHRva2VuLCBVUkwpOworCX0KKyAgICB9IGVsc2UgeworCVBVU0goWE1MX09QX0FUVFIsIG5hbWUsIE5VTEwpOworICAgIH0KKyAgICByZXR1cm47CitlcnJvcjoKKyAgICBpZiAoVVJMICE9IE5VTEwpCisJWE1MX1BBVF9GUkVFX1NUUklORyhjdHh0LCBVUkwpCisgICAgaWYgKHRva2VuICE9IE5VTEwpCisJWE1MX1BBVF9GUkVFX1NUUklORyhjdHh0LCB0b2tlbik7Cit9CisKKy8qKgorICogeG1sQ29tcGlsZVN0ZXBQYXR0ZXJuOgorICogQGN0eHQ6ICB0aGUgY29tcGlsYXRpb24gY29udGV4dAorICoKKyAqIENvbXBpbGUgdGhlIFN0ZXAgUGF0dGVybiBhbmQgZ2VuZXJhdGVzIGEgcHJlY29tcGlsZWQKKyAqIGZvcm0gc3VpdGFibGUgZm9yIGZhc3QgbWF0Y2hpbmcuCisgKgorICogWzNdICAgIFN0ZXAgICAgOjo9ICAgICcuJyB8IE5hbWVUZXN0CisgKiBbNF0gICAgTmFtZVRlc3QgICAgOjo9ICAgIFFOYW1lIHwgJyonIHwgTkNOYW1lICc6JyAnKicKKyAqLworCitzdGF0aWMgdm9pZAoreG1sQ29tcGlsZVN0ZXBQYXR0ZXJuKHhtbFBhdFBhcnNlckNvbnRleHRQdHIgY3R4dCkgeworICAgIHhtbENoYXIgKnRva2VuID0gTlVMTDsKKyAgICB4bWxDaGFyICpuYW1lID0gTlVMTDsKKyAgICB4bWxDaGFyICpVUkwgPSBOVUxMOworICAgIGludCBoYXNCbGFua3MgPSAwOworCisgICAgU0tJUF9CTEFOS1M7CisgICAgaWYgKENVUiA9PSAnLicpIHsKKwkvKgorCSogQ29udGV4dCBub2RlLgorCSovCisJTkVYVDsKKwlQVVNIKFhNTF9PUF9FTEVNLCBOVUxMLCBOVUxMKTsKKwlyZXR1cm47CisgICAgfQorICAgIGlmIChDVVIgPT0gJ0AnKSB7CisJLyoKKwkqIEF0dHJpYnV0ZSB0ZXN0LgorCSovCisJaWYgKFhNTF9TVFJFQU1fWFNfSURDX1NFTChjdHh0LT5jb21wKSkgeworCSAgICBFUlJPUjUoTlVMTCwgTlVMTCwgTlVMTCwKKwkJIlVuZXhwZWN0ZWQgYXR0cmlidXRlIGF4aXMgaW4gJyVzJy5cbiIsIGN0eHQtPmJhc2UpOworCSAgICBjdHh0LT5lcnJvciA9IDE7CisJICAgIHJldHVybjsKKwl9CisJTkVYVDsKKwl4bWxDb21waWxlQXR0cmlidXRlVGVzdChjdHh0KTsKKwlpZiAoY3R4dC0+ZXJyb3IgIT0gMCkKKwkgICAgZ290byBlcnJvcjsKKwlyZXR1cm47CisgICAgfQorICAgIG5hbWUgPSB4bWxQYXRTY2FuTkNOYW1lKGN0eHQpOworICAgIGlmIChuYW1lID09IE5VTEwpIHsKKwlpZiAoQ1VSID09ICcqJykgeworCSAgICBORVhUOworCSAgICBQVVNIKFhNTF9PUF9BTEwsIE5VTEwsIE5VTEwpOworCSAgICByZXR1cm47CisJfSBlbHNlIHsKKwkgICAgRVJST1IoTlVMTCwgTlVMTCwgTlVMTCwKKwkJICAgICJ4bWxDb21waWxlU3RlcFBhdHRlcm4gOiBOYW1lIGV4cGVjdGVkXG4iKTsKKwkgICAgY3R4dC0+ZXJyb3IgPSAxOworCSAgICByZXR1cm47CisJfQorICAgIH0KKyAgICBpZiAoSVNfQkxBTktfQ0goQ1VSKSkgeworCWhhc0JsYW5rcyA9IDE7CisJU0tJUF9CTEFOS1M7CisgICAgfQorICAgIGlmIChDVVIgPT0gJzonKSB7CisJTkVYVDsKKwlpZiAoQ1VSICE9ICc6JykgeworCSAgICB4bWxDaGFyICpwcmVmaXggPSBuYW1lOworCSAgICBpbnQgaTsKKworCSAgICBpZiAoaGFzQmxhbmtzIHx8IElTX0JMQU5LX0NIKENVUikpIHsKKwkJRVJST1I1KE5VTEwsIE5VTEwsIE5VTEwsICJJbnZhbGlkIFFOYW1lLlxuIiwgTlVMTCk7CisJCWN0eHQtPmVycm9yID0gMTsKKwkJZ290byBlcnJvcjsKKwkgICAgfQorCSAgICAvKgorCSAgICAgKiBUaGlzIGlzIGEgbmFtZXNwYWNlIG1hdGNoCisJICAgICAqLworCSAgICB0b2tlbiA9IHhtbFBhdFNjYW5OYW1lKGN0eHQpOworCSAgICBpZiAoKHByZWZpeFswXSA9PSAneCcpICYmCisJCShwcmVmaXhbMV0gPT0gJ20nKSAmJgorCQkocHJlZml4WzJdID09ICdsJykgJiYKKwkJKHByZWZpeFszXSA9PSAwKSkKKwkgICAgeworCQlYTUxfUEFUX0NPUFlfTlNOQU1FKGN0eHQsIFVSTCwgWE1MX1hNTF9OQU1FU1BBQ0UpCisJICAgIH0gZWxzZSB7CisJCWZvciAoaSA9IDA7aSA8IGN0eHQtPm5iX25hbWVzcGFjZXM7aSsrKSB7CisJCSAgICBpZiAoeG1sU3RyRXF1YWwoY3R4dC0+bmFtZXNwYWNlc1syICogaSArIDFdLCBwcmVmaXgpKSB7CisJCQlYTUxfUEFUX0NPUFlfTlNOQU1FKGN0eHQsIFVSTCwgY3R4dC0+bmFtZXNwYWNlc1syICogaV0pCisJCQlicmVhazsKKwkJICAgIH0KKwkJfQorCQlpZiAoaSA+PSBjdHh0LT5uYl9uYW1lc3BhY2VzKSB7CisJCSAgICBFUlJPUjUoTlVMTCwgTlVMTCwgTlVMTCwKKwkJCSJ4bWxDb21waWxlU3RlcFBhdHRlcm4gOiBubyBuYW1lc3BhY2UgYm91bmQgdG8gcHJlZml4ICVzXG4iLAorCQkJcHJlZml4KTsKKwkJICAgIGN0eHQtPmVycm9yID0gMTsKKwkJICAgIGdvdG8gZXJyb3I7CisJCX0KKwkgICAgfQorCSAgICBYTUxfUEFUX0ZSRUVfU1RSSU5HKGN0eHQsIHByZWZpeCk7CisJICAgIG5hbWUgPSBOVUxMOworCSAgICBpZiAodG9rZW4gPT0gTlVMTCkgeworCQlpZiAoQ1VSID09ICcqJykgeworCQkgICAgTkVYVDsKKwkJICAgIFBVU0goWE1MX09QX05TLCBVUkwsIE5VTEwpOworCQl9IGVsc2UgeworCQkgICAgRVJST1IoTlVMTCwgTlVMTCwgTlVMTCwKKwkJCSAgICAieG1sQ29tcGlsZVN0ZXBQYXR0ZXJuIDogTmFtZSBleHBlY3RlZFxuIik7CisJCSAgICBjdHh0LT5lcnJvciA9IDE7CisJCSAgICBnb3RvIGVycm9yOworCQl9CisJICAgIH0gZWxzZSB7CisJCVBVU0goWE1MX09QX0VMRU0sIHRva2VuLCBVUkwpOworCSAgICB9CisJfSBlbHNlIHsKKwkgICAgTkVYVDsKKwkgICAgaWYgKHhtbFN0ckVxdWFsKG5hbWUsIChjb25zdCB4bWxDaGFyICopICJjaGlsZCIpKSB7CisJCVhNTF9QQVRfRlJFRV9TVFJJTkcoY3R4dCwgbmFtZSk7CisJCW5hbWUgPSB4bWxQYXRTY2FuTmFtZShjdHh0KTsKKwkJaWYgKG5hbWUgPT0gTlVMTCkgeworCQkgICAgaWYgKENVUiA9PSAnKicpIHsKKwkJCU5FWFQ7CisJCQlQVVNIKFhNTF9PUF9BTEwsIE5VTEwsIE5VTEwpOworCQkJcmV0dXJuOworCQkgICAgfSBlbHNlIHsKKwkJCUVSUk9SKE5VTEwsIE5VTEwsIE5VTEwsCisJCQkgICAgInhtbENvbXBpbGVTdGVwUGF0dGVybiA6IFFOYW1lIGV4cGVjdGVkXG4iKTsKKwkJCWN0eHQtPmVycm9yID0gMTsKKwkJCWdvdG8gZXJyb3I7CisJCSAgICB9CisJCX0KKwkJaWYgKENVUiA9PSAnOicpIHsKKwkJICAgIHhtbENoYXIgKnByZWZpeCA9IG5hbWU7CisJCSAgICBpbnQgaTsKKworCQkgICAgTkVYVDsKKwkJICAgIGlmIChJU19CTEFOS19DSChDVVIpKSB7CisJCQlFUlJPUjUoTlVMTCwgTlVMTCwgTlVMTCwgIkludmFsaWQgUU5hbWUuXG4iLCBOVUxMKTsKKwkJCWN0eHQtPmVycm9yID0gMTsKKwkJCWdvdG8gZXJyb3I7CisJCSAgICB9CisJCSAgICAvKgorCQkgICAgKiBUaGlzIGlzIGEgbmFtZXNwYWNlIG1hdGNoCisJCSAgICAqLworCQkgICAgdG9rZW4gPSB4bWxQYXRTY2FuTmFtZShjdHh0KTsKKwkJICAgIGlmICgocHJlZml4WzBdID09ICd4JykgJiYKKwkJCShwcmVmaXhbMV0gPT0gJ20nKSAmJgorCQkJKHByZWZpeFsyXSA9PSAnbCcpICYmCisJCQkocHJlZml4WzNdID09IDApKQorCQkgICAgeworCQkJWE1MX1BBVF9DT1BZX05TTkFNRShjdHh0LCBVUkwsIFhNTF9YTUxfTkFNRVNQQUNFKQorCQkgICAgfSBlbHNlIHsKKwkJCWZvciAoaSA9IDA7aSA8IGN0eHQtPm5iX25hbWVzcGFjZXM7aSsrKSB7CisJCQkgICAgaWYgKHhtbFN0ckVxdWFsKGN0eHQtPm5hbWVzcGFjZXNbMiAqIGkgKyAxXSwgcHJlZml4KSkgeworCQkJCVhNTF9QQVRfQ09QWV9OU05BTUUoY3R4dCwgVVJMLCBjdHh0LT5uYW1lc3BhY2VzWzIgKiBpXSkKKwkJCQlicmVhazsKKwkJCSAgICB9CisJCQl9CisJCQlpZiAoaSA+PSBjdHh0LT5uYl9uYW1lc3BhY2VzKSB7CisJCQkgICAgRVJST1I1KE5VTEwsIE5VTEwsIE5VTEwsCisJCQkJInhtbENvbXBpbGVTdGVwUGF0dGVybiA6IG5vIG5hbWVzcGFjZSBib3VuZCAiCisJCQkJInRvIHByZWZpeCAlc1xuIiwgcHJlZml4KTsKKwkJCSAgICBjdHh0LT5lcnJvciA9IDE7CisJCQkgICAgZ290byBlcnJvcjsKKwkJCX0KKwkJICAgIH0KKwkJICAgIFhNTF9QQVRfRlJFRV9TVFJJTkcoY3R4dCwgcHJlZml4KTsKKwkJICAgIG5hbWUgPSBOVUxMOworCQkgICAgaWYgKHRva2VuID09IE5VTEwpIHsKKwkJCWlmIChDVVIgPT0gJyonKSB7CisJCQkgICAgTkVYVDsKKwkJCSAgICBQVVNIKFhNTF9PUF9OUywgVVJMLCBOVUxMKTsKKwkJCX0gZWxzZSB7CisJCQkgICAgRVJST1IoTlVMTCwgTlVMTCwgTlVMTCwKKwkJCQkieG1sQ29tcGlsZVN0ZXBQYXR0ZXJuIDogTmFtZSBleHBlY3RlZFxuIik7CisJCQkgICAgY3R4dC0+ZXJyb3IgPSAxOworCQkJICAgIGdvdG8gZXJyb3I7CisJCQl9CisJCSAgICB9IGVsc2UgeworCQkJUFVTSChYTUxfT1BfQ0hJTEQsIHRva2VuLCBVUkwpOworCQkgICAgfQorCQl9IGVsc2UKKwkJICAgIFBVU0goWE1MX09QX0NISUxELCBuYW1lLCBOVUxMKTsKKwkJcmV0dXJuOworCSAgICB9IGVsc2UgaWYgKHhtbFN0ckVxdWFsKG5hbWUsIChjb25zdCB4bWxDaGFyICopICJhdHRyaWJ1dGUiKSkgeworCQlYTUxfUEFUX0ZSRUVfU1RSSU5HKGN0eHQsIG5hbWUpCisJCW5hbWUgPSBOVUxMOworCQlpZiAoWE1MX1NUUkVBTV9YU19JRENfU0VMKGN0eHQtPmNvbXApKSB7CisJCSAgICBFUlJPUjUoTlVMTCwgTlVMTCwgTlVMTCwKKwkJCSJVbmV4cGVjdGVkIGF0dHJpYnV0ZSBheGlzIGluICclcycuXG4iLCBjdHh0LT5iYXNlKTsKKwkJICAgIGN0eHQtPmVycm9yID0gMTsKKwkJICAgIGdvdG8gZXJyb3I7CisJCX0KKwkJeG1sQ29tcGlsZUF0dHJpYnV0ZVRlc3QoY3R4dCk7CisJCWlmIChjdHh0LT5lcnJvciAhPSAwKQorCQkgICAgZ290byBlcnJvcjsKKwkJcmV0dXJuOworCSAgICB9IGVsc2UgeworCQlFUlJPUjUoTlVMTCwgTlVMTCwgTlVMTCwKKwkJICAgICJUaGUgJ2VsZW1lbnQnIG9yICdhdHRyaWJ1dGUnIGF4aXMgaXMgZXhwZWN0ZWQuXG4iLCBOVUxMKTsKKwkJY3R4dC0+ZXJyb3IgPSAxOworCQlnb3RvIGVycm9yOworCSAgICB9CisJfQorICAgIH0gZWxzZSBpZiAoQ1VSID09ICcqJykgeworICAgICAgICBpZiAobmFtZSAhPSBOVUxMKSB7CisJICAgIGN0eHQtPmVycm9yID0gMTsKKwkgICAgZ290byBlcnJvcjsKKwl9CisJTkVYVDsKKwlQVVNIKFhNTF9PUF9BTEwsIHRva2VuLCBOVUxMKTsKKyAgICB9IGVsc2UgeworCVBVU0goWE1MX09QX0VMRU0sIG5hbWUsIE5VTEwpOworICAgIH0KKyAgICByZXR1cm47CitlcnJvcjoKKyAgICBpZiAoVVJMICE9IE5VTEwpCisJWE1MX1BBVF9GUkVFX1NUUklORyhjdHh0LCBVUkwpCisgICAgaWYgKHRva2VuICE9IE5VTEwpCisJWE1MX1BBVF9GUkVFX1NUUklORyhjdHh0LCB0b2tlbikKKyAgICBpZiAobmFtZSAhPSBOVUxMKQorCVhNTF9QQVRfRlJFRV9TVFJJTkcoY3R4dCwgbmFtZSkKK30KKworLyoqCisgKiB4bWxDb21waWxlUGF0aFBhdHRlcm46CisgKiBAY3R4dDogIHRoZSBjb21waWxhdGlvbiBjb250ZXh0CisgKgorICogQ29tcGlsZSB0aGUgUGF0aCBQYXR0ZXJuIGFuZCBnZW5lcmF0ZXMgYSBwcmVjb21waWxlZAorICogZm9ybSBzdWl0YWJsZSBmb3IgZmFzdCBtYXRjaGluZy4KKyAqCisgKiBbNV0gICAgUGF0aCAgICA6Oj0gICAgKCcuLy8nKT8gKCBTdGVwICcvJyApKiAoIFN0ZXAgfCAnQCcgTmFtZVRlc3QgKQorICovCitzdGF0aWMgdm9pZAoreG1sQ29tcGlsZVBhdGhQYXR0ZXJuKHhtbFBhdFBhcnNlckNvbnRleHRQdHIgY3R4dCkgeworICAgIFNLSVBfQkxBTktTOworICAgIGlmIChDVVIgPT0gJy8nKSB7CisgICAgICAgIGN0eHQtPmNvbXAtPmZsYWdzIHw9IFBBVF9GUk9NX1JPT1Q7CisgICAgfSBlbHNlIGlmICgoQ1VSID09ICcuJykgfHwgKGN0eHQtPmNvbXAtPmZsYWdzICYgWE1MX1BBVFRFUk5fTk9UUEFUVEVSTikpIHsKKyAgICAgICAgY3R4dC0+Y29tcC0+ZmxhZ3MgfD0gUEFUX0ZST01fQ1VSOworICAgIH0KKworICAgIGlmICgoQ1VSID09ICcvJykgJiYgKE5YVCgxKSA9PSAnLycpKSB7CisJUFVTSChYTUxfT1BfQU5DRVNUT1IsIE5VTEwsIE5VTEwpOworCU5FWFQ7CisJTkVYVDsKKyAgICB9IGVsc2UgaWYgKChDVVIgPT0gJy4nKSAmJiAoTlhUKDEpID09ICcvJykgJiYgKE5YVCgyKSA9PSAnLycpKSB7CisJUFVTSChYTUxfT1BfQU5DRVNUT1IsIE5VTEwsIE5VTEwpOworCU5FWFQ7CisJTkVYVDsKKwlORVhUOworCS8qIENoZWNrIGZvciBpbmNvbXBsZXRlbmVzcy4gKi8KKwlTS0lQX0JMQU5LUzsKKwlpZiAoQ1VSID09IDApIHsKKwkgICAgRVJST1I1KE5VTEwsIE5VTEwsIE5VTEwsCisJICAgICAgICJJbmNvbXBsZXRlIGV4cHJlc3Npb24gJyVzJy5cbiIsIGN0eHQtPmJhc2UpOworCSAgICBjdHh0LT5lcnJvciA9IDE7CisJICAgIGdvdG8gZXJyb3I7CisJfQorICAgIH0KKyAgICBpZiAoQ1VSID09ICdAJykgeworCU5FWFQ7CisJeG1sQ29tcGlsZUF0dHJpYnV0ZVRlc3QoY3R4dCk7CisJU0tJUF9CTEFOS1M7CisJLyogVE9ETzogY2hlY2sgZm9yIGluY29tcGxldGVuZXNzICovCisJaWYgKENVUiAhPSAwKSB7CisJICAgIHhtbENvbXBpbGVTdGVwUGF0dGVybihjdHh0KTsKKwkgICAgaWYgKGN0eHQtPmVycm9yICE9IDApCisJCWdvdG8gZXJyb3I7CisJfQorICAgIH0gZWxzZSB7CisgICAgICAgIGlmIChDVVIgPT0gJy8nKSB7CisJICAgIFBVU0goWE1MX09QX1JPT1QsIE5VTEwsIE5VTEwpOworCSAgICBORVhUOworCSAgICAvKiBDaGVjayBmb3IgaW5jb21wbGV0ZW5lc3MuICovCisJICAgIFNLSVBfQkxBTktTOworCSAgICBpZiAoQ1VSID09IDApIHsKKwkJRVJST1I1KE5VTEwsIE5VTEwsIE5VTEwsCisJCSAgICAiSW5jb21wbGV0ZSBleHByZXNzaW9uICclcycuXG4iLCBjdHh0LT5iYXNlKTsKKwkJY3R4dC0+ZXJyb3IgPSAxOworCQlnb3RvIGVycm9yOworCSAgICB9CisJfQorCXhtbENvbXBpbGVTdGVwUGF0dGVybihjdHh0KTsKKwlpZiAoY3R4dC0+ZXJyb3IgIT0gMCkKKwkgICAgZ290byBlcnJvcjsKKwlTS0lQX0JMQU5LUzsKKwl3aGlsZSAoQ1VSID09ICcvJykgeworCSAgICBpZiAoTlhUKDEpID09ICcvJykgeworCSAgICAgICAgUFVTSChYTUxfT1BfQU5DRVNUT1IsIE5VTEwsIE5VTEwpOworCQlORVhUOworCQlORVhUOworCQlTS0lQX0JMQU5LUzsKKwkJeG1sQ29tcGlsZVN0ZXBQYXR0ZXJuKGN0eHQpOworCQlpZiAoY3R4dC0+ZXJyb3IgIT0gMCkKKwkJICAgIGdvdG8gZXJyb3I7CisJICAgIH0gZWxzZSB7CisJICAgICAgICBQVVNIKFhNTF9PUF9QQVJFTlQsIE5VTEwsIE5VTEwpOworCQlORVhUOworCQlTS0lQX0JMQU5LUzsKKwkJaWYgKENVUiA9PSAwKSB7CisJCSAgICBFUlJPUjUoTlVMTCwgTlVMTCwgTlVMTCwKKwkJICAgICJJbmNvbXBsZXRlIGV4cHJlc3Npb24gJyVzJy5cbiIsIGN0eHQtPmJhc2UpOworCQkgICAgY3R4dC0+ZXJyb3IgPSAxOworCQkgICAgZ290byBlcnJvcjsKKwkJfQorCQl4bWxDb21waWxlU3RlcFBhdHRlcm4oY3R4dCk7CisJCWlmIChjdHh0LT5lcnJvciAhPSAwKQorCQkgICAgZ290byBlcnJvcjsKKwkgICAgfQorCX0KKyAgICB9CisgICAgaWYgKENVUiAhPSAwKSB7CisJRVJST1I1KE5VTEwsIE5VTEwsIE5VTEwsCisJICAgICAgICJGYWlsZWQgdG8gY29tcGlsZSBwYXR0ZXJuICVzXG4iLCBjdHh0LT5iYXNlKTsKKwljdHh0LT5lcnJvciA9IDE7CisgICAgfQorZXJyb3I6CisgICAgcmV0dXJuOworfQorCisvKioKKyAqIHhtbENvbXBpbGVJRENYUGF0aFBhdGg6CisgKiBAY3R4dDogIHRoZSBjb21waWxhdGlvbiBjb250ZXh0CisgKgorICogQ29tcGlsZSB0aGUgUGF0aCBQYXR0ZXJuIGFuZCBnZW5lcmF0ZXMgYSBwcmVjb21waWxlZAorICogZm9ybSBzdWl0YWJsZSBmb3IgZmFzdCBtYXRjaGluZy4KKyAqCisgKiBbNV0gICAgUGF0aCAgICA6Oj0gICAgKCcuLy8nKT8gKCBTdGVwICcvJyApKiAoIFN0ZXAgfCAnQCcgTmFtZVRlc3QgKQorICovCitzdGF0aWMgdm9pZAoreG1sQ29tcGlsZUlEQ1hQYXRoUGF0aCh4bWxQYXRQYXJzZXJDb250ZXh0UHRyIGN0eHQpIHsKKyAgICBTS0lQX0JMQU5LUzsKKyAgICBpZiAoQ1VSID09ICcvJykgeworCUVSUk9SNShOVUxMLCBOVUxMLCBOVUxMLAorCSAgICAiVW5leHBlY3RlZCBzZWxlY3Rpb24gb2YgdGhlIGRvY3VtZW50IHJvb3QgaW4gJyVzJy5cbiIsCisJICAgIGN0eHQtPmJhc2UpOworCWdvdG8gZXJyb3I7CisgICAgfQorICAgIGN0eHQtPmNvbXAtPmZsYWdzIHw9IFBBVF9GUk9NX0NVUjsKKworICAgIGlmIChDVVIgPT0gJy4nKSB7CisJLyogIi4iIC0gInNlbGY6Om5vZGUoKSIgKi8KKwlORVhUOworCVNLSVBfQkxBTktTOworCWlmIChDVVIgPT0gMCkgeworCSAgICAvKgorCSAgICAqIFNlbGVjdGlvbiBvZiB0aGUgY29udGV4dCBub2RlLgorCSAgICAqLworCSAgICBQVVNIKFhNTF9PUF9FTEVNLCBOVUxMLCBOVUxMKTsKKwkgICAgcmV0dXJuOworCX0KKwlpZiAoQ1VSICE9ICcvJykgeworCSAgICAvKiBUT0RPOiBBIG1vcmUgbWVhbmluZ2Z1bCBlcnJvciBtZXNzYWdlLiAqLworCSAgICBFUlJPUjUoTlVMTCwgTlVMTCwgTlVMTCwKKwkgICAgIlVuZXhwZWN0ZWQgdG9rZW4gYWZ0ZXIgJy4nIGluICclcycuXG4iLCBjdHh0LT5iYXNlKTsKKwkgICAgZ290byBlcnJvcjsKKwl9CisJLyogIi4vIiAtICJzZWxmOjpub2RlKCkvIiAqLworCU5FWFQ7CisJU0tJUF9CTEFOS1M7CisJaWYgKENVUiA9PSAnLycpIHsKKwkgICAgaWYgKElTX0JMQU5LX0NIKFBFRUtQUkVWKDEpKSkgeworCQkvKgorCQkqIERpc2FsbG93ICIuLyAvIgorCQkqLworCQlFUlJPUjUoTlVMTCwgTlVMTCwgTlVMTCwKKwkJICAgICJVbmV4cGVjdGVkICcvJyB0b2tlbiBpbiAnJXMnLlxuIiwgY3R4dC0+YmFzZSk7CisJCWdvdG8gZXJyb3I7CisJICAgIH0KKwkgICAgLyogIi4vLyIgLSAic2VsZjpub2RlKCkvZGVzY2VuZGFudC1vci1zZWxmOjpub2RlKCkvIiAqLworCSAgICBQVVNIKFhNTF9PUF9BTkNFU1RPUiwgTlVMTCwgTlVMTCk7CisJICAgIE5FWFQ7CisJICAgIFNLSVBfQkxBTktTOworCX0KKwlpZiAoQ1VSID09IDApCisJICAgIGdvdG8gZXJyb3JfdW5maW5pc2hlZDsKKyAgICB9CisgICAgLyoKKyAgICAqIFByb2Nlc3Mgc3RlcHMuCisgICAgKi8KKyAgICBkbyB7CisJeG1sQ29tcGlsZVN0ZXBQYXR0ZXJuKGN0eHQpOworCWlmIChjdHh0LT5lcnJvciAhPSAwKQorCSAgICBnb3RvIGVycm9yOworCVNLSVBfQkxBTktTOworCWlmIChDVVIgIT0gJy8nKQorCSAgICBicmVhazsKKwlQVVNIKFhNTF9PUF9QQVJFTlQsIE5VTEwsIE5VTEwpOworCU5FWFQ7CisJU0tJUF9CTEFOS1M7CisJaWYgKENVUiA9PSAnLycpIHsKKwkgICAgLyoKKwkgICAgKiBEaXNhbGxvdyBzdWJzZXF1ZW50ICcvLycuCisJICAgICovCisJICAgIEVSUk9SNShOVUxMLCBOVUxMLCBOVUxMLAorCQkiVW5leHBlY3RlZCBzdWJzZXF1ZW50ICcvLycgaW4gJyVzJy5cbiIsCisJCWN0eHQtPmJhc2UpOworCSAgICBnb3RvIGVycm9yOworCX0KKwlpZiAoQ1VSID09IDApCisJICAgIGdvdG8gZXJyb3JfdW5maW5pc2hlZDsKKworICAgIH0gd2hpbGUgKENVUiAhPSAwKTsKKworICAgIGlmIChDVVIgIT0gMCkgeworCUVSUk9SNShOVUxMLCBOVUxMLCBOVUxMLAorCSAgICAiRmFpbGVkIHRvIGNvbXBpbGUgZXhwcmVzc2lvbiAnJXMnLlxuIiwgY3R4dC0+YmFzZSk7CisJY3R4dC0+ZXJyb3IgPSAxOworICAgIH0KKyAgICByZXR1cm47CitlcnJvcjoKKyAgICBjdHh0LT5lcnJvciA9IDE7CisgICAgcmV0dXJuOworCitlcnJvcl91bmZpbmlzaGVkOgorICAgIGN0eHQtPmVycm9yID0gMTsKKyAgICBFUlJPUjUoTlVMTCwgTlVMTCwgTlVMTCwKKwkiVW5maW5pc2hlZCBleHByZXNzaW9uICclcycuXG4iLCBjdHh0LT5iYXNlKTsKKyAgICByZXR1cm47Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCQlUaGUgc3RyZWFtaW5nIGNvZGUJCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWZkZWYgREVCVUdfU1RSRUFNSU5HCitzdGF0aWMgdm9pZAoreG1sRGVidWdTdHJlYW1Db21wKHhtbFN0cmVhbUNvbXBQdHIgc3RyZWFtKSB7CisgICAgaW50IGk7CisKKyAgICBpZiAoc3RyZWFtID09IE5VTEwpIHsKKyAgICAgICAgcHJpbnRmKCJTdHJlYW06IE5VTExcbiIpOworCXJldHVybjsKKyAgICB9CisgICAgcHJpbnRmKCJTdHJlYW06ICVkIHN0ZXBzXG4iLCBzdHJlYW0tPm5iU3RlcCk7CisgICAgZm9yIChpID0gMDtpIDwgc3RyZWFtLT5uYlN0ZXA7aSsrKSB7CisJaWYgKHN0cmVhbS0+c3RlcHNbaV0ubnMgIT0gTlVMTCkgeworCSAgICBwcmludGYoInslc30iLCBzdHJlYW0tPnN0ZXBzW2ldLm5zKTsKKwl9CisgICAgICAgIGlmIChzdHJlYW0tPnN0ZXBzW2ldLm5hbWUgPT0gTlVMTCkgeworCSAgICBwcmludGYoIiogIik7CisJfSBlbHNlIHsKKwkgICAgcHJpbnRmKCIlcyAiLCBzdHJlYW0tPnN0ZXBzW2ldLm5hbWUpOworCX0KKwlpZiAoc3RyZWFtLT5zdGVwc1tpXS5mbGFncyAmIFhNTF9TVFJFQU1fU1RFUF9ST09UKQorCSAgICBwcmludGYoInJvb3QgIik7CisJaWYgKHN0cmVhbS0+c3RlcHNbaV0uZmxhZ3MgJiBYTUxfU1RSRUFNX1NURVBfREVTQykKKwkgICAgcHJpbnRmKCIvLyAiKTsKKwlpZiAoc3RyZWFtLT5zdGVwc1tpXS5mbGFncyAmIFhNTF9TVFJFQU1fU1RFUF9GSU5BTCkKKwkgICAgcHJpbnRmKCJmaW5hbCAiKTsKKwlwcmludGYoIlxuIik7CisgICAgfQorfQorc3RhdGljIHZvaWQKK3htbERlYnVnU3RyZWFtQ3R4dCh4bWxTdHJlYW1DdHh0UHRyIGN0eHQsIGludCBtYXRjaCkgeworICAgIGludCBpOworCisgICAgaWYgKGN0eHQgPT0gTlVMTCkgeworICAgICAgICBwcmludGYoIlN0cmVhbTogTlVMTFxuIik7CisJcmV0dXJuOworICAgIH0KKyAgICBwcmludGYoIlN0cmVhbTogbGV2ZWwgJWQsICVkIHN0YXRlczogIiwgY3R4dC0+bGV2ZWwsIGN0eHQtPm5iU3RhdGUpOworICAgIGlmIChtYXRjaCkKKyAgICAgICAgcHJpbnRmKCJtYXRjaGVzXG4iKTsKKyAgICBlbHNlCisgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICBmb3IgKGkgPSAwO2kgPCBjdHh0LT5uYlN0YXRlO2krKykgeworICAgICAgICBpZiAoY3R4dC0+c3RhdGVzWzIgKiBpXSA8IDApCisJICAgIHByaW50ZigiICVkOiBmcmVlXG4iLCBpKTsKKwllbHNlIHsKKwkgICAgcHJpbnRmKCIgJWQ6IHN0ZXAgJWQsIGxldmVsICVkIiwgaSwgY3R4dC0+c3RhdGVzWzIgKiBpXSwKKwkgICAgICAgICAgIGN0eHQtPnN0YXRlc1soMiAqIGkpICsgMV0pOworICAgICAgICAgICAgaWYgKGN0eHQtPmNvbXAtPnN0ZXBzW2N0eHQtPnN0YXRlc1syICogaV1dLmZsYWdzICYKKwkgICAgICAgIFhNTF9TVFJFQU1fU1RFUF9ERVNDKQorCSAgICAgICAgcHJpbnRmKCIgLy9cbiIpOworCSAgICBlbHNlCisJICAgICAgICBwcmludGYoIlxuIik7CisJfQorICAgIH0KK30KKyNlbmRpZgorLyoqCisgKiB4bWxOZXdTdHJlYW1Db21wOgorICogQHNpemU6IHRoZSBudW1iZXIgb2YgZXhwZWN0ZWQgc3RlcHMKKyAqCisgKiBidWlsZCBhIG5ldyBjb21waWxlZCBwYXR0ZXJuIGZvciBzdHJlYW1pbmcKKyAqCisgKiBSZXR1cm5zIHRoZSBuZXcgc3RydWN0dXJlIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworc3RhdGljIHhtbFN0cmVhbUNvbXBQdHIKK3htbE5ld1N0cmVhbUNvbXAoaW50IHNpemUpIHsKKyAgICB4bWxTdHJlYW1Db21wUHRyIGN1cjsKKworICAgIGlmIChzaXplIDwgNCkKKyAgICAgICAgc2l6ZSAgPSA0OworCisgICAgY3VyID0gKHhtbFN0cmVhbUNvbXBQdHIpIHhtbE1hbGxvYyhzaXplb2YoeG1sU3RyZWFtQ29tcCkpOworICAgIGlmIChjdXIgPT0gTlVMTCkgeworCUVSUk9SKE5VTEwsIE5VTEwsIE5VTEwsCisJCSJ4bWxOZXdTdHJlYW1Db21wOiBtYWxsb2MgZmFpbGVkXG4iKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIG1lbXNldChjdXIsIDAsIHNpemVvZih4bWxTdHJlYW1Db21wKSk7CisgICAgY3VyLT5zdGVwcyA9ICh4bWxTdHJlYW1TdGVwUHRyKSB4bWxNYWxsb2Moc2l6ZSAqIHNpemVvZih4bWxTdHJlYW1TdGVwKSk7CisgICAgaWYgKGN1ci0+c3RlcHMgPT0gTlVMTCkgeworCXhtbEZyZWUoY3VyKTsKKwlFUlJPUihOVUxMLCBOVUxMLCBOVUxMLAorCSAgICAgICJ4bWxOZXdTdHJlYW1Db21wOiBtYWxsb2MgZmFpbGVkXG4iKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIGN1ci0+bmJTdGVwID0gMDsKKyAgICBjdXItPm1heFN0ZXAgPSBzaXplOworICAgIHJldHVybihjdXIpOworfQorCisvKioKKyAqIHhtbEZyZWVTdHJlYW1Db21wOgorICogQGNvbXA6IHRoZSBjb21waWxlZCBwYXR0ZXJuIGZvciBzdHJlYW1pbmcKKyAqCisgKiBGcmVlIHRoZSBjb21waWxlZCBwYXR0ZXJuIGZvciBzdHJlYW1pbmcKKyAqLworc3RhdGljIHZvaWQKK3htbEZyZWVTdHJlYW1Db21wKHhtbFN0cmVhbUNvbXBQdHIgY29tcCkgeworICAgIGlmIChjb21wICE9IE5VTEwpIHsKKyAgICAgICAgaWYgKGNvbXAtPnN0ZXBzICE9IE5VTEwpCisJICAgIHhtbEZyZWUoY29tcC0+c3RlcHMpOworCWlmIChjb21wLT5kaWN0ICE9IE5VTEwpCisJICAgIHhtbERpY3RGcmVlKGNvbXAtPmRpY3QpOworICAgICAgICB4bWxGcmVlKGNvbXApOworICAgIH0KK30KKworLyoqCisgKiB4bWxTdHJlYW1Db21wQWRkU3RlcDoKKyAqIEBjb21wOiB0aGUgY29tcGlsZWQgcGF0dGVybiBmb3Igc3RyZWFtaW5nCisgKiBAbmFtZTogdGhlIGZpcnN0IHN0cmluZywgdGhlIG5hbWUsIG9yIE5VTEwgZm9yICoKKyAqIEBuczogdGhlIHNlY29uZCBzdGVwLCB0aGUgbmFtZXNwYWNlIG5hbWUKKyAqIEBmbGFnczogdGhlIGZsYWdzIGZvciB0aGF0IHN0ZXAKKyAqCisgKiBBZGQgYSBuZXcgc3RlcCB0byB0aGUgY29tcGlsZWQgcGF0dGVybgorICoKKyAqIFJldHVybnMgLTEgaW4gY2FzZSBvZiBlcnJvciBvciB0aGUgc3RlcCBpbmRleCBpZiBzdWNjZXNzZnVsCisgKi8KK3N0YXRpYyBpbnQKK3htbFN0cmVhbUNvbXBBZGRTdGVwKHhtbFN0cmVhbUNvbXBQdHIgY29tcCwgY29uc3QgeG1sQ2hhciAqbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKm5zLCBpbnQgbm9kZVR5cGUsIGludCBmbGFncykgeworICAgIHhtbFN0cmVhbVN0ZXBQdHIgY3VyOworCisgICAgaWYgKGNvbXAtPm5iU3RlcCA+PSBjb21wLT5tYXhTdGVwKSB7CisJY3VyID0gKHhtbFN0cmVhbVN0ZXBQdHIpIHhtbFJlYWxsb2MoY29tcC0+c3RlcHMsCisJCQkJIGNvbXAtPm1heFN0ZXAgKiAyICogc2l6ZW9mKHhtbFN0cmVhbVN0ZXApKTsKKwlpZiAoY3VyID09IE5VTEwpIHsKKwkgICAgRVJST1IoTlVMTCwgTlVMTCwgTlVMTCwKKwkJICAieG1sTmV3U3RyZWFtQ29tcDogbWFsbG9jIGZhaWxlZFxuIik7CisJICAgIHJldHVybigtMSk7CisJfQorCWNvbXAtPnN0ZXBzID0gY3VyOworICAgICAgICBjb21wLT5tYXhTdGVwICo9IDI7CisgICAgfQorICAgIGN1ciA9ICZjb21wLT5zdGVwc1tjb21wLT5uYlN0ZXArK107CisgICAgY3VyLT5mbGFncyA9IGZsYWdzOworICAgIGN1ci0+bmFtZSA9IG5hbWU7CisgICAgY3VyLT5ucyA9IG5zOworICAgIGN1ci0+bm9kZVR5cGUgPSBub2RlVHlwZTsKKyAgICByZXR1cm4oY29tcC0+bmJTdGVwIC0gMSk7Cit9CisKKy8qKgorICogeG1sU3RyZWFtQ29tcGlsZToKKyAqIEBjb21wOiB0aGUgcHJlY29tcGlsZWQgcGF0dGVybgorICoKKyAqIFRyaWVzIHRvIHN0cmVhbSBjb21waWxlIGEgcGF0dGVybgorICoKKyAqIFJldHVybnMgLTEgaW4gY2FzZSBvZiBmYWlsdXJlIGFuZCAwIGluIGNhc2Ugb2Ygc3VjY2Vzcy4KKyAqLworc3RhdGljIGludAoreG1sU3RyZWFtQ29tcGlsZSh4bWxQYXR0ZXJuUHRyIGNvbXApIHsKKyAgICB4bWxTdHJlYW1Db21wUHRyIHN0cmVhbTsKKyAgICBpbnQgaSwgcyA9IDAsIHJvb3QgPSAwLCBmbGFncyA9IDAsIHByZXZzID0gLTE7CisgICAgeG1sU3RlcE9wIHN0ZXA7CisKKyAgICBpZiAoKGNvbXAgPT0gTlVMTCkgfHwgKGNvbXAtPnN0ZXBzID09IE5VTEwpKQorICAgICAgICByZXR1cm4oLTEpOworICAgIC8qCisgICAgICogc3BlY2lhbCBjYXNlIGZvciAuCisgICAgICovCisgICAgaWYgKChjb21wLT5uYlN0ZXAgPT0gMSkgJiYKKyAgICAgICAgKGNvbXAtPnN0ZXBzWzBdLm9wID09IFhNTF9PUF9FTEVNKSAmJgorCShjb21wLT5zdGVwc1swXS52YWx1ZSA9PSBOVUxMKSAmJgorCShjb21wLT5zdGVwc1swXS52YWx1ZTIgPT0gTlVMTCkpIHsKKwlzdHJlYW0gPSB4bWxOZXdTdHJlYW1Db21wKDApOworCWlmIChzdHJlYW0gPT0gTlVMTCkKKwkgICAgcmV0dXJuKC0xKTsKKwkvKiBOb3RlIHRoYXQgdGhlIHN0cmVhbSB3aWxsIGhhdmUgbm8gc3RlcHMgaW4gdGhpcyBjYXNlLiAqLworCXN0cmVhbS0+ZmxhZ3MgfD0gWE1MX1NUUkVBTV9GSU5BTF9JU19BTllfTk9ERTsKKwljb21wLT5zdHJlYW0gPSBzdHJlYW07CisJcmV0dXJuKDApOworICAgIH0KKworICAgIHN0cmVhbSA9IHhtbE5ld1N0cmVhbUNvbXAoKGNvbXAtPm5iU3RlcCAvIDIpICsgMSk7CisgICAgaWYgKHN0cmVhbSA9PSBOVUxMKQorICAgICAgICByZXR1cm4oLTEpOworICAgIGlmIChjb21wLT5kaWN0ICE9IE5VTEwpIHsKKyAgICAgICAgc3RyZWFtLT5kaWN0ID0gY29tcC0+ZGljdDsKKwl4bWxEaWN0UmVmZXJlbmNlKHN0cmVhbS0+ZGljdCk7CisgICAgfQorCisgICAgaSA9IDA7CisgICAgaWYgKGNvbXAtPmZsYWdzICYgUEFUX0ZST01fUk9PVCkKKwlzdHJlYW0tPmZsYWdzIHw9IFhNTF9TVFJFQU1fRlJPTV9ST09UOworCisgICAgZm9yICg7aSA8IGNvbXAtPm5iU3RlcDtpKyspIHsKKwlzdGVwID0gY29tcC0+c3RlcHNbaV07CisgICAgICAgIHN3aXRjaCAoc3RlcC5vcCkgeworCSAgICBjYXNlIFhNTF9PUF9FTkQ6CisJICAgICAgICBicmVhazsKKwkgICAgY2FzZSBYTUxfT1BfUk9PVDoKKwkgICAgICAgIGlmIChpICE9IDApCisJCSAgICBnb3RvIGVycm9yOworCQlyb290ID0gMTsKKwkJYnJlYWs7CisJICAgIGNhc2UgWE1MX09QX05TOgorCQlzID0geG1sU3RyZWFtQ29tcEFkZFN0ZXAoc3RyZWFtLCBOVUxMLCBzdGVwLnZhbHVlLAorCQkgICAgWE1MX0VMRU1FTlRfTk9ERSwgZmxhZ3MpOworCQlpZiAocyA8IDApCisJCSAgICBnb3RvIGVycm9yOworCQlwcmV2cyA9IHM7CisJCWZsYWdzID0gMDsKKwkJYnJlYWs7CisJICAgIGNhc2UgWE1MX09QX0FUVFI6CisJCWZsYWdzIHw9IFhNTF9TVFJFQU1fU1RFUF9BVFRSOworCQlwcmV2cyA9IC0xOworCQlzID0geG1sU3RyZWFtQ29tcEFkZFN0ZXAoc3RyZWFtLAorCQkgICAgc3RlcC52YWx1ZSwgc3RlcC52YWx1ZTIsIFhNTF9BVFRSSUJVVEVfTk9ERSwgZmxhZ3MpOworCQlmbGFncyA9IDA7CisJCWlmIChzIDwgMCkKKwkJICAgIGdvdG8gZXJyb3I7CisJCWJyZWFrOworCSAgICBjYXNlIFhNTF9PUF9FTEVNOgorCSAgICAgICAgaWYgKChzdGVwLnZhbHVlID09IE5VTEwpICYmIChzdGVwLnZhbHVlMiA9PSBOVUxMKSkgeworCQkgICAgLyoKKwkJICAgICogV2UgaGF2ZSBhICIuIiBvciAic2VsZjo6bm9kZSgpIiBoZXJlLgorCQkgICAgKiBFbGltaW5hdGUgcmVkdW5kYW50IHNlbGY6Om5vZGUoKSB0ZXN0cyBsaWtlIGluICIvLi8uIgorCQkgICAgKiBvciAiLy8uLyIKKwkJICAgICogVGhlIG9ubHkgY2FzZSB3ZSB3b24ndCBlbGltaW5hdGUgaXMgIi8vLiIsIGkuZS4gaWYKKwkJICAgICogc2VsZjo6bm9kZSgpIGlzIHRoZSBsYXN0IG5vZGUgdGVzdCBhbmQgd2UgaGFkCisJCSAgICAqIGNvbnRpbnVhdGlvbiBzb21ld2hlcmUgYmVmb3JlaGFuZC4KKwkJICAgICovCisJCSAgICBpZiAoKGNvbXAtPm5iU3RlcCA9PSBpICsgMSkgJiYKKwkJCShmbGFncyAmIFhNTF9TVFJFQU1fU1RFUF9ERVNDKSkgeworCQkJLyoKKwkJCSogTWFyayB0aGUgc3BlY2lhbCBjYXNlIHdoZXJlIHRoZSBleHByZXNzaW9uIHJlc29sdmVzCisJCQkqIHRvIGFueSB0eXBlIG9mIG5vZGUuCisJCQkqLworCQkJaWYgKGNvbXAtPm5iU3RlcCA9PSBpICsgMSkgeworCQkJICAgIHN0cmVhbS0+ZmxhZ3MgfD0gWE1MX1NUUkVBTV9GSU5BTF9JU19BTllfTk9ERTsKKwkJCX0KKwkJCWZsYWdzIHw9IFhNTF9TVFJFQU1fU1RFUF9OT0RFOworCQkJcyA9IHhtbFN0cmVhbUNvbXBBZGRTdGVwKHN0cmVhbSwgTlVMTCwgTlVMTCwKKwkJCSAgICBYTUxfU1RSRUFNX0FOWV9OT0RFLCBmbGFncyk7CisJCQlpZiAocyA8IDApCisJCQkgICAgZ290byBlcnJvcjsKKwkJCWZsYWdzID0gMDsKKwkJCS8qCisJCQkqIElmIHRoZXJlIHdhcyBhIHByZXZpb3VzIHN0ZXAsIG1hcmsgaXQgdG8gYmUgYWRkZWQgdG8KKwkJCSogdGhlIHJlc3VsdCBub2RlLXNldDsgdGhpcyBpcyBuZWVkZWQgc2luY2Ugb25seQorCQkJKiB0aGUgbGFzdCBzdGVwIHdpbGwgYmUgbWFya2VkIGFzICJmaW5hbCIgYW5kIG9ubHkKKwkJCSogImZpbmFsIiBub2RlcyBhcmUgYWRkZWQgdG8gdGhlIHJlc3VsdGluZyBzZXQuCisJCQkqLworCQkJaWYgKHByZXZzICE9IC0xKSB7CisJCQkgICAgc3RyZWFtLT5zdGVwc1twcmV2c10uZmxhZ3MgfD0gWE1MX1NUUkVBTV9TVEVQX0lOX1NFVDsKKwkJCSAgICBwcmV2cyA9IC0xOworCQkJfQorCQkJYnJlYWs7CisKKwkJICAgIH0gZWxzZSB7CisJCQkvKiBKdXN0IHNraXAgdGhpcyBvbmUuICovCisJCQljb250aW51ZTsKKwkJICAgIH0KKwkJfQorCQkvKiBBbiBlbGVtZW50IG5vZGUuICovCisJICAgICAgICBzID0geG1sU3RyZWFtQ29tcEFkZFN0ZXAoc3RyZWFtLCBzdGVwLnZhbHVlLCBzdGVwLnZhbHVlMiwKKwkJICAgIFhNTF9FTEVNRU5UX05PREUsIGZsYWdzKTsKKwkJaWYgKHMgPCAwKQorCQkgICAgZ290byBlcnJvcjsKKwkJcHJldnMgPSBzOworCQlmbGFncyA9IDA7CisJCWJyZWFrOworCSAgICBjYXNlIFhNTF9PUF9DSElMRDoKKwkJLyogQW4gZWxlbWVudCBub2RlIGNoaWxkLiAqLworCSAgICAgICAgcyA9IHhtbFN0cmVhbUNvbXBBZGRTdGVwKHN0cmVhbSwgc3RlcC52YWx1ZSwgc3RlcC52YWx1ZTIsCisJCSAgICBYTUxfRUxFTUVOVF9OT0RFLCBmbGFncyk7CisJCWlmIChzIDwgMCkKKwkJICAgIGdvdG8gZXJyb3I7CisJCXByZXZzID0gczsKKwkJZmxhZ3MgPSAwOworCQlicmVhazsKKwkgICAgY2FzZSBYTUxfT1BfQUxMOgorCSAgICAgICAgcyA9IHhtbFN0cmVhbUNvbXBBZGRTdGVwKHN0cmVhbSwgTlVMTCwgTlVMTCwKKwkJICAgIFhNTF9FTEVNRU5UX05PREUsIGZsYWdzKTsKKwkJaWYgKHMgPCAwKQorCQkgICAgZ290byBlcnJvcjsKKwkJcHJldnMgPSBzOworCQlmbGFncyA9IDA7CisJCWJyZWFrOworCSAgICBjYXNlIFhNTF9PUF9QQVJFTlQ6CisJICAgICAgICBicmVhazsKKwkgICAgY2FzZSBYTUxfT1BfQU5DRVNUT1I6CisJCS8qIFNraXAgcmVkdW5kYW50IGNvbnRpbnVhdGlvbnMuICovCisJCWlmIChmbGFncyAmIFhNTF9TVFJFQU1fU1RFUF9ERVNDKQorCQkgICAgYnJlYWs7CisJICAgICAgICBmbGFncyB8PSBYTUxfU1RSRUFNX1NURVBfREVTQzsKKwkJLyoKKwkJKiBNYXJrIHRoZSBleHByZXNzaW9uIGFzIGhhdmluZyAiLy8iLgorCQkqLworCQlpZiAoKHN0cmVhbS0+ZmxhZ3MgJiBYTUxfU1RSRUFNX0RFU0MpID09IDApCisJCSAgICBzdHJlYW0tPmZsYWdzIHw9IFhNTF9TVFJFQU1fREVTQzsKKwkJYnJlYWs7CisJfQorICAgIH0KKyAgICBpZiAoKCEgcm9vdCkgJiYgKGNvbXAtPmZsYWdzICYgWE1MX1BBVFRFUk5fTk9UUEFUVEVSTikgPT0gMCkgeworCS8qCisJKiBJZiB0aGlzIHNob3VsZCBiZWhhdmUgbGlrZSBhIHJlYWwgcGF0dGVybiwgd2Ugd2lsbCBtYXJrCisJKiB0aGUgZmlyc3Qgc3RlcCBhcyBoYXZpbmcgIi8vIiwgdG8gYmUgcmVlbnRyYW50IG9uIGV2ZXJ5CisJKiB0cmVlIGxldmVsLgorCSovCisJaWYgKChzdHJlYW0tPmZsYWdzICYgWE1MX1NUUkVBTV9ERVNDKSA9PSAwKQorCSAgICBzdHJlYW0tPmZsYWdzIHw9IFhNTF9TVFJFQU1fREVTQzsKKworCWlmIChzdHJlYW0tPm5iU3RlcCA+IDApIHsKKwkgICAgaWYgKChzdHJlYW0tPnN0ZXBzWzBdLmZsYWdzICYgWE1MX1NUUkVBTV9TVEVQX0RFU0MpID09IDApCisJCXN0cmVhbS0+c3RlcHNbMF0uZmxhZ3MgfD0gWE1MX1NUUkVBTV9TVEVQX0RFU0M7CisJfQorICAgIH0KKyAgICBpZiAoc3RyZWFtLT5uYlN0ZXAgPD0gcykKKwlnb3RvIGVycm9yOworICAgIHN0cmVhbS0+c3RlcHNbc10uZmxhZ3MgfD0gWE1MX1NUUkVBTV9TVEVQX0ZJTkFMOworICAgIGlmIChyb290KQorCXN0cmVhbS0+c3RlcHNbMF0uZmxhZ3MgfD0gWE1MX1NUUkVBTV9TVEVQX1JPT1Q7CisjaWZkZWYgREVCVUdfU1RSRUFNSU5HCisgICAgeG1sRGVidWdTdHJlYW1Db21wKHN0cmVhbSk7CisjZW5kaWYKKyAgICBjb21wLT5zdHJlYW0gPSBzdHJlYW07CisgICAgcmV0dXJuKDApOworZXJyb3I6CisgICAgeG1sRnJlZVN0cmVhbUNvbXAoc3RyZWFtKTsKKyAgICByZXR1cm4oMCk7Cit9CisKKy8qKgorICogeG1sTmV3U3RyZWFtQ3R4dDoKKyAqIEBzaXplOiB0aGUgbnVtYmVyIG9mIGV4cGVjdGVkIHN0YXRlcworICoKKyAqIGJ1aWxkIGEgbmV3IHN0cmVhbSBjb250ZXh0CisgKgorICogUmV0dXJucyB0aGUgbmV3IHN0cnVjdHVyZSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK3N0YXRpYyB4bWxTdHJlYW1DdHh0UHRyCit4bWxOZXdTdHJlYW1DdHh0KHhtbFN0cmVhbUNvbXBQdHIgc3RyZWFtKSB7CisgICAgeG1sU3RyZWFtQ3R4dFB0ciBjdXI7CisKKyAgICBjdXIgPSAoeG1sU3RyZWFtQ3R4dFB0cikgeG1sTWFsbG9jKHNpemVvZih4bWxTdHJlYW1DdHh0KSk7CisgICAgaWYgKGN1ciA9PSBOVUxMKSB7CisJRVJST1IoTlVMTCwgTlVMTCwgTlVMTCwKKwkJInhtbE5ld1N0cmVhbUN0eHQ6IG1hbGxvYyBmYWlsZWRcbiIpOworCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgbWVtc2V0KGN1ciwgMCwgc2l6ZW9mKHhtbFN0cmVhbUN0eHQpKTsKKyAgICBjdXItPnN0YXRlcyA9IChpbnQgKikgeG1sTWFsbG9jKDQgKiAyICogc2l6ZW9mKGludCkpOworICAgIGlmIChjdXItPnN0YXRlcyA9PSBOVUxMKSB7CisJeG1sRnJlZShjdXIpOworCUVSUk9SKE5VTEwsIE5VTEwsIE5VTEwsCisJICAgICAgInhtbE5ld1N0cmVhbUN0eHQ6IG1hbGxvYyBmYWlsZWRcbiIpOworCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgY3VyLT5uYlN0YXRlID0gMDsKKyAgICBjdXItPm1heFN0YXRlID0gNDsKKyAgICBjdXItPmxldmVsID0gMDsKKyAgICBjdXItPmNvbXAgPSBzdHJlYW07CisgICAgY3VyLT5ibG9ja0xldmVsID0gLTE7CisgICAgcmV0dXJuKGN1cik7Cit9CisKKy8qKgorICogeG1sRnJlZVN0cmVhbUN0eHQ6CisgKiBAc3RyZWFtOiB0aGUgc3RyZWFtIGNvbnRleHQKKyAqCisgKiBGcmVlIHRoZSBzdHJlYW0gY29udGV4dAorICovCit2b2lkCit4bWxGcmVlU3RyZWFtQ3R4dCh4bWxTdHJlYW1DdHh0UHRyIHN0cmVhbSkgeworICAgIHhtbFN0cmVhbUN0eHRQdHIgbmV4dDsKKworICAgIHdoaWxlIChzdHJlYW0gIT0gTlVMTCkgeworICAgICAgICBuZXh0ID0gc3RyZWFtLT5uZXh0OworICAgICAgICBpZiAoc3RyZWFtLT5zdGF0ZXMgIT0gTlVMTCkKKwkgICAgeG1sRnJlZShzdHJlYW0tPnN0YXRlcyk7CisgICAgICAgIHhtbEZyZWUoc3RyZWFtKTsKKwlzdHJlYW0gPSBuZXh0OworICAgIH0KK30KKworLyoqCisgKiB4bWxTdHJlYW1DdHh0QWRkU3RhdGU6CisgKiBAY29tcDogdGhlIHN0cmVhbSBjb250ZXh0CisgKiBAaWR4OiB0aGUgc3RlcCBpbmRleCBmb3IgdGhhdCBzdHJlYW1pbmcgc3RhdGUKKyAqCisgKiBBZGQgYSBuZXcgc3RhdGUgdG8gdGhlIHN0cmVhbSBjb250ZXh0CisgKgorICogUmV0dXJucyAtMSBpbiBjYXNlIG9mIGVycm9yIG9yIHRoZSBzdGF0ZSBpbmRleCBpZiBzdWNjZXNzZnVsCisgKi8KK3N0YXRpYyBpbnQKK3htbFN0cmVhbUN0eHRBZGRTdGF0ZSh4bWxTdHJlYW1DdHh0UHRyIGNvbXAsIGludCBpZHgsIGludCBsZXZlbCkgeworICAgIGludCBpOworICAgIGZvciAoaSA9IDA7aSA8IGNvbXAtPm5iU3RhdGU7aSsrKSB7CisgICAgICAgIGlmIChjb21wLT5zdGF0ZXNbMiAqIGldIDwgMCkgeworCSAgICBjb21wLT5zdGF0ZXNbMiAqIGldID0gaWR4OworCSAgICBjb21wLT5zdGF0ZXNbMiAqIGkgKyAxXSA9IGxldmVsOworCSAgICByZXR1cm4oaSk7CisJfQorICAgIH0KKyAgICBpZiAoY29tcC0+bmJTdGF0ZSA+PSBjb21wLT5tYXhTdGF0ZSkgeworICAgICAgICBpbnQgKmN1cjsKKworCWN1ciA9IChpbnQgKikgeG1sUmVhbGxvYyhjb21wLT5zdGF0ZXMsCisJCQkJIGNvbXAtPm1heFN0YXRlICogNCAqIHNpemVvZihpbnQpKTsKKwlpZiAoY3VyID09IE5VTEwpIHsKKwkgICAgRVJST1IoTlVMTCwgTlVMTCwgTlVMTCwKKwkJICAieG1sTmV3U3RyZWFtQ3R4dDogbWFsbG9jIGZhaWxlZFxuIik7CisJICAgIHJldHVybigtMSk7CisJfQorCWNvbXAtPnN0YXRlcyA9IGN1cjsKKyAgICAgICAgY29tcC0+bWF4U3RhdGUgKj0gMjsKKyAgICB9CisgICAgY29tcC0+c3RhdGVzWzIgKiBjb21wLT5uYlN0YXRlXSA9IGlkeDsKKyAgICBjb21wLT5zdGF0ZXNbMiAqIGNvbXAtPm5iU3RhdGUrKyArIDFdID0gbGV2ZWw7CisgICAgcmV0dXJuKGNvbXAtPm5iU3RhdGUgLSAxKTsKK30KKworLyoqCisgKiB4bWxTdHJlYW1QdXNoSW50ZXJuYWw6CisgKiBAc3RyZWFtOiB0aGUgc3RyZWFtIGNvbnRleHQKKyAqIEBuYW1lOiB0aGUgY3VycmVudCBuYW1lCisgKiBAbnM6IHRoZSBuYW1lc3BhY2UgbmFtZQorICogQG5vZGVUeXBlOiB0aGUgdHlwZSBvZiB0aGUgbm9kZQorICoKKyAqIFB1c2ggbmV3IGRhdGEgb250byB0aGUgc3RyZWFtLiBOT1RFOiBpZiB0aGUgY2FsbCB4bWxQYXR0ZXJuY29tcGlsZSgpCisgKiBpbmRpY2F0ZWQgYSBkaWN0aW9uYXJ5LCB0aGVuIHN0cmluZ3MgZm9yIG5hbWUgYW5kIG5zIHdpbGwgYmUgZXhwZWN0ZWQKKyAqIHRvIGNvbWUgZnJvbSB0aGUgZGljdGlvbmFyeS4KKyAqIEJvdGggQG5hbWUgYW5kIEBucyBiZWluZyBOVUxMIG1lYW5zIHRoZSAvIGkuZS4gdGhlIHJvb3Qgb2YgdGhlIGRvY3VtZW50LgorICogVGhpcyBjYW4gYWxzbyBhY3QgYXMgYSByZXNldC4KKyAqCisgKiBSZXR1cm5zOiAtMSBpbiBjYXNlIG9mIGVycm9yLCAxIGlmIHRoZSBjdXJyZW50IHN0YXRlIGluIHRoZSBzdHJlYW0gaXMgYQorICogICAgbWF0Y2ggYW5kIDAgb3RoZXJ3aXNlLgorICovCitzdGF0aWMgaW50Cit4bWxTdHJlYW1QdXNoSW50ZXJuYWwoeG1sU3RyZWFtQ3R4dFB0ciBzdHJlYW0sCisJCSAgICAgIGNvbnN0IHhtbENoYXIgKm5hbWUsIGNvbnN0IHhtbENoYXIgKm5zLAorCQkgICAgICBpbnQgbm9kZVR5cGUpIHsKKyAgICBpbnQgcmV0ID0gMCwgZXJyID0gMCwgZmluYWwgPSAwLCB0bXAsIGksIG0sIG1hdGNoLCBzdGVwTnIsIGRlc2M7CisgICAgeG1sU3RyZWFtQ29tcFB0ciBjb21wOworICAgIHhtbFN0cmVhbVN0ZXAgc3RlcDsKKyNpZmRlZiBERUJVR19TVFJFQU1JTkcKKyAgICB4bWxTdHJlYW1DdHh0UHRyIG9yaWcgPSBzdHJlYW07CisjZW5kaWYKKworICAgIGlmICgoc3RyZWFtID09IE5VTEwpIHx8IChzdHJlYW0tPm5iU3RhdGUgPCAwKSkKKyAgICAgICAgcmV0dXJuKC0xKTsKKworICAgIHdoaWxlIChzdHJlYW0gIT0gTlVMTCkgeworCWNvbXAgPSBzdHJlYW0tPmNvbXA7CisKKwlpZiAoKG5vZGVUeXBlID09IFhNTF9FTEVNRU5UX05PREUpICYmCisJICAgIChuYW1lID09IE5VTEwpICYmIChucyA9PSBOVUxMKSkgeworCSAgICAvKiBXZSBoYXZlIGEgZG9jdW1lbnQgbm9kZSBoZXJlIChvciBhIHJlc2V0KS4gKi8KKwkgICAgc3RyZWFtLT5uYlN0YXRlID0gMDsKKwkgICAgc3RyZWFtLT5sZXZlbCA9IDA7CisJICAgIHN0cmVhbS0+YmxvY2tMZXZlbCA9IC0xOworCSAgICBpZiAoY29tcC0+ZmxhZ3MgJiBYTUxfU1RSRUFNX0ZST01fUk9PVCkgeworCQlpZiAoY29tcC0+bmJTdGVwID09IDApIHsKKwkJICAgIC8qIFRPRE86IFdlIGhhdmUgYSAiLy4iIGhlcmU/ICovCisJCSAgICByZXQgPSAxOworCQl9IGVsc2UgeworCQkgICAgaWYgKChjb21wLT5uYlN0ZXAgPT0gMSkgJiYKKwkJCShjb21wLT5zdGVwc1swXS5ub2RlVHlwZSA9PSBYTUxfU1RSRUFNX0FOWV9OT0RFKSAmJgorCQkJKGNvbXAtPnN0ZXBzWzBdLmZsYWdzICYgWE1MX1NUUkVBTV9TVEVQX0RFU0MpKQorCQkgICAgeworCQkJLyoKKwkJCSogSW4gdGhlIGNhc2Ugb2YgIi8vLiIgdGhlIGRvY3VtZW50IG5vZGUgd2lsbCBtYXRjaAorCQkJKiBhcyB3ZWxsLgorCQkJKi8KKwkJCXJldCA9IDE7CisJCSAgICB9IGVsc2UgaWYgKGNvbXAtPnN0ZXBzWzBdLmZsYWdzICYgWE1MX1NUUkVBTV9TVEVQX1JPT1QpIHsKKwkJCS8qIFRPRE86IERvIHdlIG5lZWQgdGhpcyA/ICovCisJCQl0bXAgPSB4bWxTdHJlYW1DdHh0QWRkU3RhdGUoc3RyZWFtLCAwLCAwKTsKKwkJCWlmICh0bXAgPCAwKQorCQkJICAgIGVycisrOworCQkgICAgfQorCQl9CisJICAgIH0KKwkgICAgc3RyZWFtID0gc3RyZWFtLT5uZXh0OworCSAgICBjb250aW51ZTsgLyogd2hpbGUgKi8KKwl9CisKKwkvKgorCSogRmFzdCBjaGVjayBmb3IgIi4iLgorCSovCisJaWYgKGNvbXAtPm5iU3RlcCA9PSAwKSB7CisJICAgIC8qCisJICAgICAqIC8gYW5kIC4gYXJlIGhhbmRsZWQgYXQgdGhlIFhQYXRoIG5vZGUgc2V0IGNyZWF0aW9uCisJICAgICAqIGxldmVsIGJ5IGNoZWNraW5nIG1pbiBkZXB0aAorCSAgICAgKi8KKwkgICAgaWYgKHN0cmVhbS0+ZmxhZ3MgJiBYTUxfUEFUVEVSTl9YUEFUSCkgeworCQlzdHJlYW0gPSBzdHJlYW0tPm5leHQ7CisJCWNvbnRpbnVlOyAvKiB3aGlsZSAqLworCSAgICB9CisJICAgIC8qCisJICAgICogRm9yIG5vbi1wYXR0ZXJuIGxpa2UgZXZhbHVhdGlvbiBsaWtlIFhNTCBTY2hlbWEgSURDcworCSAgICAqIG9yIHRyYWRpdGlvbmFsIFhQYXRoIGV4cHJlc3Npb25zLCB0aGlzIHdpbGwgbWF0Y2ggaWYKKwkgICAgKiB3ZSBhcmUgYXQgdGhlIGZpcnN0IGxldmVsIG9ubHksIG90aGVyd2lzZSBvbiBldmVyeSBsZXZlbC4KKwkgICAgKi8KKwkgICAgaWYgKChub2RlVHlwZSAhPSBYTUxfQVRUUklCVVRFX05PREUpICYmCisJCSgoKHN0cmVhbS0+ZmxhZ3MgJiBYTUxfUEFUVEVSTl9OT1RQQVRURVJOKSA9PSAwKSB8fAorCQkoc3RyZWFtLT5sZXZlbCA9PSAwKSkpIHsKKwkJICAgIHJldCA9IDE7CisJICAgIH0KKwkgICAgc3RyZWFtLT5sZXZlbCsrOworCSAgICBnb3RvIHN0cmVhbV9uZXh0OworCX0KKwlpZiAoc3RyZWFtLT5ibG9ja0xldmVsICE9IC0xKSB7CisJICAgIC8qCisJICAgICogU2tpcCBibG9ja2VkIGV4cHJlc3Npb25zLgorCSAgICAqLworCSAgICBzdHJlYW0tPmxldmVsKys7CisJICAgIGdvdG8gc3RyZWFtX25leHQ7CisJfQorCisJaWYgKChub2RlVHlwZSAhPSBYTUxfRUxFTUVOVF9OT0RFKSAmJgorCSAgICAobm9kZVR5cGUgIT0gWE1MX0FUVFJJQlVURV9OT0RFKSAmJgorCSAgICAoKGNvbXAtPmZsYWdzICYgWE1MX1NUUkVBTV9GSU5BTF9JU19BTllfTk9ERSkgPT0gMCkpIHsKKwkgICAgLyoKKwkgICAgKiBObyBuZWVkIHRvIHByb2Nlc3Mgbm9kZXMgb2Ygb3RoZXIgdHlwZXMgaWYgd2UgZG9uJ3QKKwkgICAgKiByZXNvbHZlIHRvIHRob3NlIHR5cGVzLgorCSAgICAqIFRPRE86IERvIHdlIG5lZWQgdG8gYmxvY2sgdGhlIGNvbnRleHQgaGVyZT8KKwkgICAgKi8KKwkgICAgc3RyZWFtLT5sZXZlbCsrOworCSAgICBnb3RvIHN0cmVhbV9uZXh0OworCX0KKworCS8qCisJICogQ2hlY2sgZXZvbHV0aW9uIG9mIGV4aXN0aW5nIHN0YXRlcworCSAqLworCWkgPSAwOworCW0gPSBzdHJlYW0tPm5iU3RhdGU7CisJd2hpbGUgKGkgPCBtKSB7CisJICAgIGlmICgoY29tcC0+ZmxhZ3MgJiBYTUxfU1RSRUFNX0RFU0MpID09IDApIHsKKwkJLyoKKwkJKiBJZiB0aGVyZSBpcyBubyAiLy8iLCB0aGVuIG9ubHkgdGhlIGxhc3QKKwkJKiBhZGRlZCBzdGF0ZSBpcyBvZiBpbnRlcmVzdC4KKwkJKi8KKwkJc3RlcE5yID0gc3RyZWFtLT5zdGF0ZXNbMiAqIChzdHJlYW0tPm5iU3RhdGUgLTEpXTsKKwkJLyoKKwkJKiBUT0RPOiBTZWN1cml0eSBjaGVjaywgc2hvdWxkIG5vdCBoYXBwZW4sIHJlbW92ZSBpdC4KKwkJKi8KKwkJaWYgKHN0cmVhbS0+c3RhdGVzWygyICogKHN0cmVhbS0+bmJTdGF0ZSAtMSkpICsgMV0gPAorCQkgICAgc3RyZWFtLT5sZXZlbCkgeworCQkgICAgcmV0dXJuICgtMSk7CisJCX0KKwkJZGVzYyA9IDA7CisJCS8qIGxvb3Atc3RvcHBlciAqLworCQlpID0gbTsKKwkgICAgfSBlbHNlIHsKKwkJLyoKKwkJKiBJZiB0aGVyZSBhcmUgIi8vIiwgdGhlbiB3ZSBuZWVkIHRvIHByb2Nlc3MgZXZlcnkgIi8vIgorCQkqIG9jY3VyaW5nIGluIHRoZSBzdGF0ZXMsIHBsdXMgYW55IG90aGVyIHN0YXRlIGZvciB0aGlzCisJCSogbGV2ZWwuCisJCSovCisJCXN0ZXBOciA9IHN0cmVhbS0+c3RhdGVzWzIgKiBpXTsKKworCQkvKiBUT0RPOiBzaG91bGQgbm90IGhhcHBlbiBhbnltb3JlOiBkZWFkIHN0YXRlcyAqLworCQlpZiAoc3RlcE5yIDwgMCkKKwkJICAgIGdvdG8gbmV4dF9zdGF0ZTsKKworCQl0bXAgPSBzdHJlYW0tPnN0YXRlc1soMiAqIGkpICsgMV07CisKKwkJLyogc2tpcCBuZXcgc3RhdGVzIGp1c3QgYWRkZWQgKi8KKwkJaWYgKHRtcCA+IHN0cmVhbS0+bGV2ZWwpCisJCSAgICBnb3RvIG5leHRfc3RhdGU7CisKKwkJLyogc2tpcCBzdGF0ZXMgYXQgYW5jZXN0b3IgbGV2ZWxzLCBleGNlcHQgaWYgIi8vIiAqLworCQlkZXNjID0gY29tcC0+c3RlcHNbc3RlcE5yXS5mbGFncyAmIFhNTF9TVFJFQU1fU1RFUF9ERVNDOworCQlpZiAoKHRtcCA8IHN0cmVhbS0+bGV2ZWwpICYmICghZGVzYykpCisJCSAgICBnb3RvIG5leHRfc3RhdGU7CisJICAgIH0KKwkgICAgLyoKKwkgICAgKiBDaGVjayBmb3IgY29ycmVjdCBub2RlLXR5cGUuCisJICAgICovCisJICAgIHN0ZXAgPSBjb21wLT5zdGVwc1tzdGVwTnJdOworCSAgICBpZiAoc3RlcC5ub2RlVHlwZSAhPSBub2RlVHlwZSkgeworCQlpZiAoc3RlcC5ub2RlVHlwZSA9PSBYTUxfQVRUUklCVVRFX05PREUpIHsKKwkJICAgIC8qCisJCSAgICAqIEJsb2NrIHRoaXMgZXhwcmVzc2lvbiBmb3IgZGVlcGVyIGV2YWx1YXRpb24uCisJCSAgICAqLworCQkgICAgaWYgKChjb21wLT5mbGFncyAmIFhNTF9TVFJFQU1fREVTQykgPT0gMCkKKwkJCXN0cmVhbS0+YmxvY2tMZXZlbCA9IHN0cmVhbS0+bGV2ZWwgKzE7CisJCSAgICBnb3RvIG5leHRfc3RhdGU7CisJCX0gZWxzZSBpZiAoc3RlcC5ub2RlVHlwZSAhPSBYTUxfU1RSRUFNX0FOWV9OT0RFKQorCQkgICAgZ290byBuZXh0X3N0YXRlOworCSAgICB9CisJICAgIC8qCisJICAgICogQ29tcGFyZSBsb2NhbC9uYW1lc3BhY2UtbmFtZS4KKwkgICAgKi8KKwkgICAgbWF0Y2ggPSAwOworCSAgICBpZiAoc3RlcC5ub2RlVHlwZSA9PSBYTUxfU1RSRUFNX0FOWV9OT0RFKSB7CisJCW1hdGNoID0gMTsKKwkgICAgfSBlbHNlIGlmIChzdGVwLm5hbWUgPT0gTlVMTCkgeworCQlpZiAoc3RlcC5ucyA9PSBOVUxMKSB7CisJCSAgICAvKgorCQkgICAgKiBUaGlzIGxldHMgdGhyb3VnaCBhbGwgZWxlbWVudHMvYXR0cmlidXRlcy4KKwkJICAgICovCisJCSAgICBtYXRjaCA9IDE7CisJCX0gZWxzZSBpZiAobnMgIT0gTlVMTCkKKwkJICAgIG1hdGNoID0geG1sU3RyRXF1YWwoc3RlcC5ucywgbnMpOworCSAgICB9IGVsc2UgaWYgKCgoc3RlcC5ucyAhPSBOVUxMKSA9PSAobnMgIT0gTlVMTCkpICYmCisJCShuYW1lICE9IE5VTEwpICYmCisJCShzdGVwLm5hbWVbMF0gPT0gbmFtZVswXSkgJiYKKwkJeG1sU3RyRXF1YWwoc3RlcC5uYW1lLCBuYW1lKSAmJgorCQkoKHN0ZXAubnMgPT0gbnMpIHx8IHhtbFN0ckVxdWFsKHN0ZXAubnMsIG5zKSkpCisJICAgIHsKKwkJbWF0Y2ggPSAxOworCSAgICB9CisjaWYgMAorLyoKKyogVE9ETzogUG9pbnRlciBjb21wYXJpc29uIHdvbid0IHdvcmssIHNpbmNlIG5vdCBndWFyYW50ZWVkIHRoYXQgdGhlIGdpdmVuCisqICB2YWx1ZXMgYXJlIGluIHRoZSBzYW1lIGRpY3Q7IGVzcGVjaWFsbHkgaWYgaXQncyB0aGUgbmFtZXNwYWNlIG5hbWUsCisqICBub3JtYWxseSBjb21pbmcgZnJvbSBucy0+aHJlZi4gV2UgbmVlZCBhIG5hbWVzcGFjZSBkaWN0IG1lY2hhbmlzbSAhCisqLworCSAgICB9IGVsc2UgaWYgKGNvbXAtPmRpY3QpIHsKKwkJaWYgKHN0ZXAubmFtZSA9PSBOVUxMKSB7CisJCSAgICBpZiAoc3RlcC5ucyA9PSBOVUxMKQorCQkJbWF0Y2ggPSAxOworCQkgICAgZWxzZQorCQkJbWF0Y2ggPSAoc3RlcC5ucyA9PSBucyk7CisJCX0gZWxzZSB7CisJCSAgICBtYXRjaCA9ICgoc3RlcC5uYW1lID09IG5hbWUpICYmIChzdGVwLm5zID09IG5zKSk7CisJCX0KKyNlbmRpZiAvKiBpZiAwIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKwkgICAgaWYgKG1hdGNoKSB7CisJCWZpbmFsID0gc3RlcC5mbGFncyAmIFhNTF9TVFJFQU1fU1RFUF9GSU5BTDsKKwkJaWYgKGRlc2MpIHsKKwkJICAgIGlmIChmaW5hbCkgeworCQkJcmV0ID0gMTsKKwkJICAgIH0gZWxzZSB7CisJCQkvKiBkZXNjZW5kaW5nIG1hdGNoIGNyZWF0ZSBhIG5ldyBzdGF0ZSAqLworCQkJeG1sU3RyZWFtQ3R4dEFkZFN0YXRlKHN0cmVhbSwgc3RlcE5yICsgMSwKKwkJCSAgICAgICAgICAgICAgICAgICAgICBzdHJlYW0tPmxldmVsICsgMSk7CisJCSAgICB9CisJCX0gZWxzZSB7CisJCSAgICBpZiAoZmluYWwpIHsKKwkJCXJldCA9IDE7CisJCSAgICB9IGVsc2UgeworCQkJeG1sU3RyZWFtQ3R4dEFkZFN0YXRlKHN0cmVhbSwgc3RlcE5yICsgMSwKKwkJCSAgICAgICAgICAgICAgICAgICAgICBzdHJlYW0tPmxldmVsICsgMSk7CisJCSAgICB9CisJCX0KKwkJaWYgKChyZXQgIT0gMSkgJiYgKHN0ZXAuZmxhZ3MgJiBYTUxfU1RSRUFNX1NURVBfSU5fU0VUKSkgeworCQkgICAgLyoKKwkJICAgICogQ2hlY2sgaWYgd2UgaGF2ZSBhIHNwZWNpYWwgY2FzZSBsaWtlICJmb28vYmFyLy8uIiwgd2hlcmUKKwkJICAgICogImZvbyIgaXMgc2VsZWN0ZWQgYXMgd2VsbC4KKwkJICAgICovCisJCSAgICByZXQgPSAxOworCQl9CisJICAgIH0KKwkgICAgaWYgKCgoY29tcC0+ZmxhZ3MgJiBYTUxfU1RSRUFNX0RFU0MpID09IDApICYmCisJCSgoISBtYXRjaCkgfHwgZmluYWwpKSAgeworCQkvKgorCQkqIE1hcmsgdGhpcyBleHByZXNzaW9uIGFzIGJsb2NrZWQgZm9yIGFueSBldmFsdWF0aW9uIGF0CisJCSogZGVlcGVyIGxldmVscy4gTm90ZSB0aGF0IHRoaXMgaW5jbHVkZXMgIi9mb28iCisJCSogZXhwcmVzc2lvbnMgaWYgdGhlICpwYXR0ZXJuKiBiZWhhdmlvdXIgaXMgdXNlZC4KKwkJKi8KKwkJc3RyZWFtLT5ibG9ja0xldmVsID0gc3RyZWFtLT5sZXZlbCArMTsKKwkgICAgfQorbmV4dF9zdGF0ZToKKwkgICAgaSsrOworCX0KKworCXN0cmVhbS0+bGV2ZWwrKzsKKworCS8qCisJKiBSZS9lbnRlciB0aGUgZXhwcmVzc2lvbi4KKwkqIERvbid0IHJlZW50ZXIgaWYgaXQncyBhbiBhYnNvbHV0ZSBleHByZXNzaW9uIGxpa2UgIi9mb28iLAorCSogICBleGNlcHQgIi8vZm9vIi4KKwkqLworCXN0ZXAgPSBjb21wLT5zdGVwc1swXTsKKwlpZiAoc3RlcC5mbGFncyAmIFhNTF9TVFJFQU1fU1RFUF9ST09UKQorCSAgICBnb3RvIHN0cmVhbV9uZXh0OworCisJZGVzYyA9IHN0ZXAuZmxhZ3MgJiBYTUxfU1RSRUFNX1NURVBfREVTQzsKKwlpZiAoc3RyZWFtLT5mbGFncyAmIFhNTF9QQVRURVJOX05PVFBBVFRFUk4pIHsKKwkgICAgLyoKKwkgICAgKiBSZS9lbnRlciB0aGUgZXhwcmVzc2lvbiBpZiBpdCBpcyBhICJkZXNjZW5kYW50IiBvbmUsCisJICAgICogb3IgaWYgd2UgYXJlIGF0IHRoZSAxc3QgbGV2ZWwgb2YgZXZhbHVhdGlvbi4KKwkgICAgKi8KKworCSAgICBpZiAoc3RyZWFtLT5sZXZlbCA9PSAxKSB7CisJCWlmIChYTUxfU1RSRUFNX1hTX0lEQyhzdHJlYW0pKSB7CisJCSAgICAvKgorCQkgICAgKiBYUy1JREM6IFRoZSBtaXNzaW5nICJzZWxmOjpub2RlKCkiIHdpbGwgYWx3YXlzCisJCSAgICAqIG1hdGNoIHRoZSBmaXJzdCBnaXZlbiBub2RlLgorCQkgICAgKi8KKwkJICAgIGdvdG8gc3RyZWFtX25leHQ7CisJCX0gZWxzZQorCQkgICAgZ290byBjb21wYXJlOworCSAgICB9CisJICAgIC8qCisJICAgICogQSAiLy8iIGlzIGFsd2F5cyByZWVudHJhbnQuCisJICAgICovCisJICAgIGlmIChkZXNjKQorCQlnb3RvIGNvbXBhcmU7CisKKwkgICAgLyoKKwkgICAgKiBYUy1JREM6IFByb2Nlc3MgdGhlIDJuZCBsZXZlbCwgc2luY2UgdGhlIG1pc3NpbmcKKwkgICAgKiAic2VsZjo6bm9kZSgpIiBpcyByZXNwb25zaWJsZSBmb3IgdGhlIDJuZCBsZXZlbCBiZWluZworCSAgICAqIHRoZSByZWFsIHN0YXJ0IGxldmVsLgorCSAgICAqLworCSAgICBpZiAoKHN0cmVhbS0+bGV2ZWwgPT0gMikgJiYgWE1MX1NUUkVBTV9YU19JREMoc3RyZWFtKSkKKwkJZ290byBjb21wYXJlOworCisJICAgIGdvdG8gc3RyZWFtX25leHQ7CisJfQorCitjb21wYXJlOgorCS8qCisJKiBDaGVjayBleHBlY3RlZCBub2RlLXR5cGUuCisJKi8KKwlpZiAoc3RlcC5ub2RlVHlwZSAhPSBub2RlVHlwZSkgeworCSAgICBpZiAobm9kZVR5cGUgPT0gWE1MX0FUVFJJQlVURV9OT0RFKQorCQlnb3RvIHN0cmVhbV9uZXh0OworCSAgICBlbHNlIGlmIChzdGVwLm5vZGVUeXBlICE9IFhNTF9TVFJFQU1fQU5ZX05PREUpCisJCWdvdG8gc3RyZWFtX25leHQ7CisJfQorCS8qCisJKiBDb21wYXJlIGxvY2FsL25hbWVzcGFjZS1uYW1lLgorCSovCisJbWF0Y2ggPSAwOworCWlmIChzdGVwLm5vZGVUeXBlID09IFhNTF9TVFJFQU1fQU5ZX05PREUpIHsKKwkgICAgbWF0Y2ggPSAxOworCX0gZWxzZSBpZiAoc3RlcC5uYW1lID09IE5VTEwpIHsKKwkgICAgaWYgKHN0ZXAubnMgPT0gTlVMTCkgeworCQkvKgorCQkqIFRoaXMgbGV0cyB0aHJvdWdoIGFsbCBlbGVtZW50cy9hdHRyaWJ1dGVzLgorCQkqLworCQltYXRjaCA9IDE7CisJICAgIH0gZWxzZSBpZiAobnMgIT0gTlVMTCkKKwkJbWF0Y2ggPSB4bWxTdHJFcXVhbChzdGVwLm5zLCBucyk7CisJfSBlbHNlIGlmICgoKHN0ZXAubnMgIT0gTlVMTCkgPT0gKG5zICE9IE5VTEwpKSAmJgorCSAgICAobmFtZSAhPSBOVUxMKSAmJgorCSAgICAoc3RlcC5uYW1lWzBdID09IG5hbWVbMF0pICYmCisJICAgIHhtbFN0ckVxdWFsKHN0ZXAubmFtZSwgbmFtZSkgJiYKKwkgICAgKChzdGVwLm5zID09IG5zKSB8fCB4bWxTdHJFcXVhbChzdGVwLm5zLCBucykpKQorCXsKKwkgICAgbWF0Y2ggPSAxOworCX0KKwlmaW5hbCA9IHN0ZXAuZmxhZ3MgJiBYTUxfU1RSRUFNX1NURVBfRklOQUw7CisJaWYgKG1hdGNoKSB7CisJICAgIGlmIChmaW5hbCkKKwkJcmV0ID0gMTsKKwkgICAgZWxzZQorCQl4bWxTdHJlYW1DdHh0QWRkU3RhdGUoc3RyZWFtLCAxLCBzdHJlYW0tPmxldmVsKTsKKwkgICAgaWYgKChyZXQgIT0gMSkgJiYgKHN0ZXAuZmxhZ3MgJiBYTUxfU1RSRUFNX1NURVBfSU5fU0VUKSkgeworCQkvKgorCQkqIENoZWNrIGlmIHdlIGhhdmUgYSBzcGVjaWFsIGNhc2UgbGlrZSAiZm9vLy8uIiwgd2hlcmUKKwkJKiAiZm9vIiBpcyBzZWxlY3RlZCBhcyB3ZWxsLgorCQkqLworCQlyZXQgPSAxOworCSAgICB9CisJfQorCWlmICgoKGNvbXAtPmZsYWdzICYgWE1MX1NUUkVBTV9ERVNDKSA9PSAwKSAmJgorCSAgICAoKCEgbWF0Y2gpIHx8IGZpbmFsKSkgIHsKKwkgICAgLyoKKwkgICAgKiBNYXJrIHRoaXMgZXhwcmVzc2lvbiBhcyBibG9ja2VkIGZvciBhbnkgZXZhbHVhdGlvbiBhdAorCSAgICAqIGRlZXBlciBsZXZlbHMuCisJICAgICovCisJICAgIHN0cmVhbS0+YmxvY2tMZXZlbCA9IHN0cmVhbS0+bGV2ZWw7CisJfQorCitzdHJlYW1fbmV4dDoKKyAgICAgICAgc3RyZWFtID0gc3RyZWFtLT5uZXh0OworICAgIH0gLyogd2hpbGUgc3RyZWFtICE9IE5VTEwgKi8KKworICAgIGlmIChlcnIgPiAwKQorICAgICAgICByZXQgPSAtMTsKKyNpZmRlZiBERUJVR19TVFJFQU1JTkcKKyAgICB4bWxEZWJ1Z1N0cmVhbUN0eHQob3JpZywgcmV0KTsKKyNlbmRpZgorICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbFN0cmVhbVB1c2g6CisgKiBAc3RyZWFtOiB0aGUgc3RyZWFtIGNvbnRleHQKKyAqIEBuYW1lOiB0aGUgY3VycmVudCBuYW1lCisgKiBAbnM6IHRoZSBuYW1lc3BhY2UgbmFtZQorICoKKyAqIFB1c2ggbmV3IGRhdGEgb250byB0aGUgc3RyZWFtLiBOT1RFOiBpZiB0aGUgY2FsbCB4bWxQYXR0ZXJuY29tcGlsZSgpCisgKiBpbmRpY2F0ZWQgYSBkaWN0aW9uYXJ5LCB0aGVuIHN0cmluZ3MgZm9yIG5hbWUgYW5kIG5zIHdpbGwgYmUgZXhwZWN0ZWQKKyAqIHRvIGNvbWUgZnJvbSB0aGUgZGljdGlvbmFyeS4KKyAqIEJvdGggQG5hbWUgYW5kIEBucyBiZWluZyBOVUxMIG1lYW5zIHRoZSAvIGkuZS4gdGhlIHJvb3Qgb2YgdGhlIGRvY3VtZW50LgorICogVGhpcyBjYW4gYWxzbyBhY3QgYXMgYSByZXNldC4KKyAqIE90aGVyd2lzZSB0aGUgZnVuY3Rpb24gd2lsbCBhY3QgYXMgaWYgaXQgaGFzIGJlZW4gZ2l2ZW4gYW4gZWxlbWVudC1ub2RlLgorICoKKyAqIFJldHVybnM6IC0xIGluIGNhc2Ugb2YgZXJyb3IsIDEgaWYgdGhlIGN1cnJlbnQgc3RhdGUgaW4gdGhlIHN0cmVhbSBpcyBhCisgKiAgICBtYXRjaCBhbmQgMCBvdGhlcndpc2UuCisgKi8KK2ludAoreG1sU3RyZWFtUHVzaCh4bWxTdHJlYW1DdHh0UHRyIHN0cmVhbSwKKyAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqbmFtZSwgY29uc3QgeG1sQ2hhciAqbnMpIHsKKyAgICByZXR1cm4gKHhtbFN0cmVhbVB1c2hJbnRlcm5hbChzdHJlYW0sIG5hbWUsIG5zLCAoaW50KSBYTUxfRUxFTUVOVF9OT0RFKSk7Cit9CisKKy8qKgorICogeG1sU3RyZWFtUHVzaE5vZGU6CisgKiBAc3RyZWFtOiB0aGUgc3RyZWFtIGNvbnRleHQKKyAqIEBuYW1lOiB0aGUgY3VycmVudCBuYW1lCisgKiBAbnM6IHRoZSBuYW1lc3BhY2UgbmFtZQorICogQG5vZGVUeXBlOiB0aGUgdHlwZSBvZiB0aGUgbm9kZSBiZWluZyBwdXNoZWQKKyAqCisgKiBQdXNoIG5ldyBkYXRhIG9udG8gdGhlIHN0cmVhbS4gTk9URTogaWYgdGhlIGNhbGwgeG1sUGF0dGVybmNvbXBpbGUoKQorICogaW5kaWNhdGVkIGEgZGljdGlvbmFyeSwgdGhlbiBzdHJpbmdzIGZvciBuYW1lIGFuZCBucyB3aWxsIGJlIGV4cGVjdGVkCisgKiB0byBjb21lIGZyb20gdGhlIGRpY3Rpb25hcnkuCisgKiBCb3RoIEBuYW1lIGFuZCBAbnMgYmVpbmcgTlVMTCBtZWFucyB0aGUgLyBpLmUuIHRoZSByb290IG9mIHRoZSBkb2N1bWVudC4KKyAqIFRoaXMgY2FuIGFsc28gYWN0IGFzIGEgcmVzZXQuCisgKiBEaWZmZXJlbnQgZnJvbSB4bWxTdHJlYW1QdXNoKCkgdGhpcyBmdW5jdGlvbiBjYW4gYmUgZmVkIHdpdGggbm9kZXMgb2YgdHlwZToKKyAqIGVsZW1lbnQtLCBhdHRyaWJ1dGUtLCB0ZXh0LSwgY2RhdGEtc2VjdGlvbi0sIGNvbW1lbnQtIGFuZAorICogcHJvY2Vzc2luZy1pbnN0cnVjdGlvbi1ub2RlLgorICoKKyAqIFJldHVybnM6IC0xIGluIGNhc2Ugb2YgZXJyb3IsIDEgaWYgdGhlIGN1cnJlbnQgc3RhdGUgaW4gdGhlIHN0cmVhbSBpcyBhCisgKiAgICBtYXRjaCBhbmQgMCBvdGhlcndpc2UuCisgKi8KK2ludAoreG1sU3RyZWFtUHVzaE5vZGUoeG1sU3RyZWFtQ3R4dFB0ciBzdHJlYW0sCisJCSAgY29uc3QgeG1sQ2hhciAqbmFtZSwgY29uc3QgeG1sQ2hhciAqbnMsCisJCSAgaW50IG5vZGVUeXBlKQoreworICAgIHJldHVybiAoeG1sU3RyZWFtUHVzaEludGVybmFsKHN0cmVhbSwgbmFtZSwgbnMsCisJbm9kZVR5cGUpKTsKK30KKworLyoqCisqIHhtbFN0cmVhbVB1c2hBdHRyOgorKiBAc3RyZWFtOiB0aGUgc3RyZWFtIGNvbnRleHQKKyogQG5hbWU6IHRoZSBjdXJyZW50IG5hbWUKKyogQG5zOiB0aGUgbmFtZXNwYWNlIG5hbWUKKyoKKyogUHVzaCBuZXcgYXR0cmlidXRlIGRhdGEgb250byB0aGUgc3RyZWFtLiBOT1RFOiBpZiB0aGUgY2FsbCB4bWxQYXR0ZXJuY29tcGlsZSgpCisqIGluZGljYXRlZCBhIGRpY3Rpb25hcnksIHRoZW4gc3RyaW5ncyBmb3IgbmFtZSBhbmQgbnMgd2lsbCBiZSBleHBlY3RlZAorKiB0byBjb21lIGZyb20gdGhlIGRpY3Rpb25hcnkuCisqIEJvdGggQG5hbWUgYW5kIEBucyBiZWluZyBOVUxMIG1lYW5zIHRoZSAvIGkuZS4gdGhlIHJvb3Qgb2YgdGhlIGRvY3VtZW50LgorKiBUaGlzIGNhbiBhbHNvIGFjdCBhcyBhIHJlc2V0LgorKiBPdGhlcndpc2UgdGhlIGZ1bmN0aW9uIHdpbGwgYWN0IGFzIGlmIGl0IGhhcyBiZWVuIGdpdmVuIGFuIGF0dHJpYnV0ZS1ub2RlLgorKgorKiBSZXR1cm5zOiAtMSBpbiBjYXNlIG9mIGVycm9yLCAxIGlmIHRoZSBjdXJyZW50IHN0YXRlIGluIHRoZSBzdHJlYW0gaXMgYQorKiAgICBtYXRjaCBhbmQgMCBvdGhlcndpc2UuCisqLworaW50Cit4bWxTdHJlYW1QdXNoQXR0cih4bWxTdHJlYW1DdHh0UHRyIHN0cmVhbSwKKwkJICBjb25zdCB4bWxDaGFyICpuYW1lLCBjb25zdCB4bWxDaGFyICpucykgeworICAgIHJldHVybiAoeG1sU3RyZWFtUHVzaEludGVybmFsKHN0cmVhbSwgbmFtZSwgbnMsIChpbnQpIFhNTF9BVFRSSUJVVEVfTk9ERSkpOworfQorCisvKioKKyAqIHhtbFN0cmVhbVBvcDoKKyAqIEBzdHJlYW06IHRoZSBzdHJlYW0gY29udGV4dAorICoKKyAqIHB1c2ggb25lIGxldmVsIGZyb20gdGhlIHN0cmVhbS4KKyAqCisgKiBSZXR1cm5zOiAtMSBpbiBjYXNlIG9mIGVycm9yLCAwIG90aGVyd2lzZS4KKyAqLworaW50Cit4bWxTdHJlYW1Qb3AoeG1sU3RyZWFtQ3R4dFB0ciBzdHJlYW0pIHsKKyAgICBpbnQgaSwgbGV2OworCisgICAgaWYgKHN0cmVhbSA9PSBOVUxMKQorICAgICAgICByZXR1cm4oLTEpOworICAgIHdoaWxlIChzdHJlYW0gIT0gTlVMTCkgeworCS8qCisJKiBSZXNldCBibG9jay1sZXZlbC4KKwkqLworCWlmIChzdHJlYW0tPmJsb2NrTGV2ZWwgPT0gc3RyZWFtLT5sZXZlbCkKKwkgICAgc3RyZWFtLT5ibG9ja0xldmVsID0gLTE7CisKKwkvKgorCSAqICBzdHJlYW0tPmxldmVsIGNhbiBiZSB6ZXJvIHdoZW4gWE1MX0ZJTkFMX0lTX0FOWV9OT0RFIGlzIHNldAorCSAqICAoc2VlIHRoZSB0aHJlYWQgYXQKKwkgKiAgaHR0cDovL21haWwuZ25vbWUub3JnL2FyY2hpdmVzL3hzbHQvMjAwOC1KdWx5L21zZzAwMDI3Lmh0bWwpCisJICovCisJaWYgKHN0cmVhbS0+bGV2ZWwpCisJICAgIHN0cmVhbS0+bGV2ZWwtLTsKKwkvKgorCSAqIENoZWNrIGV2b2x1dGlvbiBvZiBleGlzdGluZyBzdGF0ZXMKKwkgKi8KKwlmb3IgKGkgPSBzdHJlYW0tPm5iU3RhdGUgLTE7IGkgPj0gMDsgaS0tKSB7CisJICAgIC8qIGRpc2NhcmQgb2Jzb2xldGVkIHN0YXRlcyAqLworCSAgICBsZXYgPSBzdHJlYW0tPnN0YXRlc1soMiAqIGkpICsgMV07CisJICAgIGlmIChsZXYgPiBzdHJlYW0tPmxldmVsKQorCQlzdHJlYW0tPm5iU3RhdGUtLTsKKwkgICAgaWYgKGxldiA8PSBzdHJlYW0tPmxldmVsKQorCQlicmVhazsKKwl9CisJc3RyZWFtID0gc3RyZWFtLT5uZXh0OworICAgIH0KKyAgICByZXR1cm4oMCk7Cit9CisKKy8qKgorICogeG1sU3RyZWFtV2FudHNBbnlOb2RlOgorICogQHN0cmVhbUN0eHQ6IHRoZSBzdHJlYW0gY29udGV4dAorICoKKyAqIFF1ZXJ5IGlmIHRoZSBzdHJlYW1pbmcgcGF0dGVybiBhZGRpdGlvbmFsbHkgbmVlZHMgdG8gYmUgZmVkIHdpdGgKKyAqIHRleHQtLCBjZGF0YS1zZWN0aW9uLSwgY29tbWVudC0gYW5kIHByb2Nlc3NpbmctaW5zdHJ1Y3Rpb24tbm9kZXMuCisgKiBJZiB0aGUgcmVzdWx0IGlzIDAgdGhlbiBvbmx5IGVsZW1lbnQtbm9kZXMgYW5kIGF0dHJpYnV0ZS1ub2RlcworICogbmVlZCB0byBiZSBwdXNoZWQuCisgKgorICogUmV0dXJuczogMSBpbiBjYXNlIG9mIG5lZWQgb2Ygbm9kZXMgb2YgdGhlIGFib3ZlIGRlc2NyaWJlZCB0eXBlcywKKyAqICAgICAgICAgIDAgb3RoZXJ3aXNlLiAtMSBvbiBBUEkgZXJyb3JzLgorICovCitpbnQKK3htbFN0cmVhbVdhbnRzQW55Tm9kZSh4bWxTdHJlYW1DdHh0UHRyIHN0cmVhbUN0eHQpCit7CisgICAgaWYgKHN0cmVhbUN0eHQgPT0gTlVMTCkKKwlyZXR1cm4oLTEpOworICAgIHdoaWxlIChzdHJlYW1DdHh0ICE9IE5VTEwpIHsKKwlpZiAoc3RyZWFtQ3R4dC0+Y29tcC0+ZmxhZ3MgJiBYTUxfU1RSRUFNX0ZJTkFMX0lTX0FOWV9OT0RFKQorCSAgICByZXR1cm4oMSk7CisJc3RyZWFtQ3R4dCA9IHN0cmVhbUN0eHQtPm5leHQ7CisgICAgfQorICAgIHJldHVybigwKTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJCVRoZSBwdWJsaWMgaW50ZXJmYWNlcwkJCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKgorICogeG1sUGF0dGVybmNvbXBpbGU6CisgKiBAcGF0dGVybjogdGhlIHBhdHRlcm4gdG8gY29tcGlsZQorICogQGRpY3Q6IGFuIG9wdGlvbmFsIGRpY3Rpb25hcnkgZm9yIGludGVybmVkIHN0cmluZ3MKKyAqIEBmbGFnczogY29tcGlsYXRpb24gZmxhZ3MsIHNlZSB4bWxQYXR0ZXJuRmxhZ3MKKyAqIEBuYW1lc3BhY2VzOiB0aGUgcHJlZml4IGRlZmluaXRpb25zLCBhcnJheSBvZiBbVVJJLCBwcmVmaXhdIG9yIE5VTEwKKyAqCisgKiBDb21waWxlIGEgcGF0dGVybi4KKyAqCisgKiBSZXR1cm5zIHRoZSBjb21waWxlZCBmb3JtIG9mIHRoZSBwYXR0ZXJuIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcgorICovCit4bWxQYXR0ZXJuUHRyCit4bWxQYXR0ZXJuY29tcGlsZShjb25zdCB4bWxDaGFyICpwYXR0ZXJuLCB4bWxEaWN0ICpkaWN0LCBpbnQgZmxhZ3MsCisgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoqbmFtZXNwYWNlcykgeworICAgIHhtbFBhdHRlcm5QdHIgcmV0ID0gTlVMTCwgY3VyOworICAgIHhtbFBhdFBhcnNlckNvbnRleHRQdHIgY3R4dCA9IE5VTEw7CisgICAgY29uc3QgeG1sQ2hhciAqb3IsICpzdGFydDsKKyAgICB4bWxDaGFyICp0bXAgPSBOVUxMOworICAgIGludCB0eXBlID0gMDsKKyAgICBpbnQgc3RyZWFtYWJsZSA9IDE7CisKKyAgICBpZiAocGF0dGVybiA9PSBOVUxMKQorICAgICAgICByZXR1cm4oTlVMTCk7CisKKyAgICBzdGFydCA9IHBhdHRlcm47CisgICAgb3IgPSBzdGFydDsKKyAgICB3aGlsZSAoKm9yICE9IDApIHsKKwl0bXAgPSBOVUxMOworCXdoaWxlICgoKm9yICE9IDApICYmICgqb3IgIT0gJ3wnKSkgb3IrKzsKKyAgICAgICAgaWYgKCpvciA9PSAwKQorCSAgICBjdHh0ID0geG1sTmV3UGF0UGFyc2VyQ29udGV4dChzdGFydCwgZGljdCwgbmFtZXNwYWNlcyk7CisJZWxzZSB7CisJICAgIHRtcCA9IHhtbFN0cm5kdXAoc3RhcnQsIG9yIC0gc3RhcnQpOworCSAgICBpZiAodG1wICE9IE5VTEwpIHsKKwkJY3R4dCA9IHhtbE5ld1BhdFBhcnNlckNvbnRleHQodG1wLCBkaWN0LCBuYW1lc3BhY2VzKTsKKwkgICAgfQorCSAgICBvcisrOworCX0KKwlpZiAoY3R4dCA9PSBOVUxMKSBnb3RvIGVycm9yOworCWN1ciA9IHhtbE5ld1BhdHRlcm4oKTsKKwlpZiAoY3VyID09IE5VTEwpIGdvdG8gZXJyb3I7CisJLyoKKwkqIEFzc2lnbiBzdHJpbmcgZGljdC4KKwkqLworCWlmIChkaWN0KSB7CisJICAgIGN1ci0+ZGljdCA9IGRpY3Q7CisJICAgIHhtbERpY3RSZWZlcmVuY2UoZGljdCk7CisJfQorCWlmIChyZXQgPT0gTlVMTCkKKwkgICAgcmV0ID0gY3VyOworCWVsc2UgeworCSAgICBjdXItPm5leHQgPSByZXQtPm5leHQ7CisJICAgIHJldC0+bmV4dCA9IGN1cjsKKwl9CisJY3VyLT5mbGFncyA9IGZsYWdzOworCWN0eHQtPmNvbXAgPSBjdXI7CisKKwlpZiAoWE1MX1NUUkVBTV9YU19JREMoY3VyKSkKKwkgICAgeG1sQ29tcGlsZUlEQ1hQYXRoUGF0aChjdHh0KTsKKwllbHNlCisJICAgIHhtbENvbXBpbGVQYXRoUGF0dGVybihjdHh0KTsKKwlpZiAoY3R4dC0+ZXJyb3IgIT0gMCkKKwkgICAgZ290byBlcnJvcjsKKwl4bWxGcmVlUGF0UGFyc2VyQ29udGV4dChjdHh0KTsKKwljdHh0ID0gTlVMTDsKKworCisgICAgICAgIGlmIChzdHJlYW1hYmxlKSB7CisJICAgIGlmICh0eXBlID09IDApIHsKKwkgICAgICAgIHR5cGUgPSBjdXItPmZsYWdzICYgKFBBVF9GUk9NX1JPT1QgfCBQQVRfRlJPTV9DVVIpOworCSAgICB9IGVsc2UgaWYgKHR5cGUgPT0gUEFUX0ZST01fUk9PVCkgeworCSAgICAgICAgaWYgKGN1ci0+ZmxhZ3MgJiBQQVRfRlJPTV9DVVIpCisJCSAgICBzdHJlYW1hYmxlID0gMDsKKwkgICAgfSBlbHNlIGlmICh0eXBlID09IFBBVF9GUk9NX0NVUikgeworCSAgICAgICAgaWYgKGN1ci0+ZmxhZ3MgJiBQQVRfRlJPTV9ST09UKQorCQkgICAgc3RyZWFtYWJsZSA9IDA7CisJICAgIH0KKwl9CisJaWYgKHN0cmVhbWFibGUpCisJICAgIHhtbFN0cmVhbUNvbXBpbGUoY3VyKTsKKwlpZiAoeG1sUmV2ZXJzZVBhdHRlcm4oY3VyKSA8IDApCisJICAgIGdvdG8gZXJyb3I7CisJaWYgKHRtcCAhPSBOVUxMKSB7CisJICAgIHhtbEZyZWUodG1wKTsKKwkgICAgdG1wID0gTlVMTDsKKwl9CisJc3RhcnQgPSBvcjsKKyAgICB9CisgICAgaWYgKHN0cmVhbWFibGUgPT0gMCkgeworICAgICAgICBjdXIgPSByZXQ7CisJd2hpbGUgKGN1ciAhPSBOVUxMKSB7CisJICAgIGlmIChjdXItPnN0cmVhbSAhPSBOVUxMKSB7CisJCXhtbEZyZWVTdHJlYW1Db21wKGN1ci0+c3RyZWFtKTsKKwkJY3VyLT5zdHJlYW0gPSBOVUxMOworCSAgICB9CisJICAgIGN1ciA9IGN1ci0+bmV4dDsKKwl9CisgICAgfQorCisgICAgcmV0dXJuKHJldCk7CitlcnJvcjoKKyAgICBpZiAoY3R4dCAhPSBOVUxMKSB4bWxGcmVlUGF0UGFyc2VyQ29udGV4dChjdHh0KTsKKyAgICBpZiAocmV0ICE9IE5VTEwpIHhtbEZyZWVQYXR0ZXJuKHJldCk7CisgICAgaWYgKHRtcCAhPSBOVUxMKSB4bWxGcmVlKHRtcCk7CisgICAgcmV0dXJuKE5VTEwpOworfQorCisvKioKKyAqIHhtbFBhdHRlcm5NYXRjaDoKKyAqIEBjb21wOiB0aGUgcHJlY29tcGlsZWQgcGF0dGVybgorICogQG5vZGU6IGEgbm9kZQorICoKKyAqIFRlc3Qgd2hldGhlciB0aGUgbm9kZSBtYXRjaGVzIHRoZSBwYXR0ZXJuCisgKgorICogUmV0dXJucyAxIGlmIGl0IG1hdGNoZXMsIDAgaWYgaXQgZG9lc24ndCBhbmQgLTEgaW4gY2FzZSBvZiBmYWlsdXJlCisgKi8KK2ludAoreG1sUGF0dGVybk1hdGNoKHhtbFBhdHRlcm5QdHIgY29tcCwgeG1sTm9kZVB0ciBub2RlKQoreworICAgIGludCByZXQgPSAwOworCisgICAgaWYgKChjb21wID09IE5VTEwpIHx8IChub2RlID09IE5VTEwpKQorICAgICAgICByZXR1cm4oLTEpOworCisgICAgd2hpbGUgKGNvbXAgIT0gTlVMTCkgeworICAgICAgICByZXQgPSB4bWxQYXRNYXRjaChjb21wLCBub2RlKTsKKwlpZiAocmV0ICE9IDApCisJICAgIHJldHVybihyZXQpOworCWNvbXAgPSBjb21wLT5uZXh0OworICAgIH0KKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxQYXR0ZXJuR2V0U3RyZWFtQ3R4dDoKKyAqIEBjb21wOiB0aGUgcHJlY29tcGlsZWQgcGF0dGVybgorICoKKyAqIEdldCBhIHN0cmVhbWluZyBjb250ZXh0IGZvciB0aGF0IHBhdHRlcm4KKyAqIFVzZSB4bWxGcmVlU3RyZWFtQ3R4dCB0byBmcmVlIHRoZSBjb250ZXh0LgorICoKKyAqIFJldHVybnMgYSBwb2ludGVyIHRvIHRoZSBjb250ZXh0IG9yIE5VTEwgaW4gY2FzZSBvZiBmYWlsdXJlCisgKi8KK3htbFN0cmVhbUN0eHRQdHIKK3htbFBhdHRlcm5HZXRTdHJlYW1DdHh0KHhtbFBhdHRlcm5QdHIgY29tcCkKK3sKKyAgICB4bWxTdHJlYW1DdHh0UHRyIHJldCA9IE5VTEwsIGN1cjsKKworICAgIGlmICgoY29tcCA9PSBOVUxMKSB8fCAoY29tcC0+c3RyZWFtID09IE5VTEwpKQorICAgICAgICByZXR1cm4oTlVMTCk7CisKKyAgICB3aGlsZSAoY29tcCAhPSBOVUxMKSB7CisgICAgICAgIGlmIChjb21wLT5zdHJlYW0gPT0gTlVMTCkKKwkgICAgZ290byBmYWlsZWQ7CisJY3VyID0geG1sTmV3U3RyZWFtQ3R4dChjb21wLT5zdHJlYW0pOworCWlmIChjdXIgPT0gTlVMTCkKKwkgICAgZ290byBmYWlsZWQ7CisJaWYgKHJldCA9PSBOVUxMKQorCSAgICByZXQgPSBjdXI7CisJZWxzZSB7CisJICAgIGN1ci0+bmV4dCA9IHJldC0+bmV4dDsKKwkgICAgcmV0LT5uZXh0ID0gY3VyOworCX0KKwljdXItPmZsYWdzID0gY29tcC0+ZmxhZ3M7CisJY29tcCA9IGNvbXAtPm5leHQ7CisgICAgfQorICAgIHJldHVybihyZXQpOworZmFpbGVkOgorICAgIHhtbEZyZWVTdHJlYW1DdHh0KHJldCk7CisgICAgcmV0dXJuKE5VTEwpOworfQorCisvKioKKyAqIHhtbFBhdHRlcm5TdHJlYW1hYmxlOgorICogQGNvbXA6IHRoZSBwcmVjb21waWxlZCBwYXR0ZXJuCisgKgorICogQ2hlY2sgaWYgdGhlIHBhdHRlcm4gaXMgc3RyZWFtYWJsZSBpLmUuIHhtbFBhdHRlcm5HZXRTdHJlYW1DdHh0KCkKKyAqIHNob3VsZCB3b3JrLgorICoKKyAqIFJldHVybnMgMSBpZiBzdHJlYW1hYmxlLCAwIGlmIG5vdCBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50Cit4bWxQYXR0ZXJuU3RyZWFtYWJsZSh4bWxQYXR0ZXJuUHRyIGNvbXApIHsKKyAgICBpZiAoY29tcCA9PSBOVUxMKQorICAgICAgICByZXR1cm4oLTEpOworICAgIHdoaWxlIChjb21wICE9IE5VTEwpIHsKKyAgICAgICAgaWYgKGNvbXAtPnN0cmVhbSA9PSBOVUxMKQorCSAgICByZXR1cm4oMCk7CisJY29tcCA9IGNvbXAtPm5leHQ7CisgICAgfQorICAgIHJldHVybigxKTsKK30KKworLyoqCisgKiB4bWxQYXR0ZXJuTWF4RGVwdGg6CisgKiBAY29tcDogdGhlIHByZWNvbXBpbGVkIHBhdHRlcm4KKyAqCisgKiBDaGVjayB0aGUgbWF4aW11bSBkZXB0aCByZWFjaGFibGUgYnkgYSBwYXR0ZXJuCisgKgorICogUmV0dXJucyAtMiBpZiBubyBsaW1pdCAodXNpbmcgLy8pLCBvdGhlcndpc2UgdGhlIGRlcHRoLAorICogICAgICAgICBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvcgorICovCitpbnQKK3htbFBhdHRlcm5NYXhEZXB0aCh4bWxQYXR0ZXJuUHRyIGNvbXApIHsKKyAgICBpbnQgcmV0ID0gMCwgaTsKKyAgICBpZiAoY29tcCA9PSBOVUxMKQorICAgICAgICByZXR1cm4oLTEpOworICAgIHdoaWxlIChjb21wICE9IE5VTEwpIHsKKyAgICAgICAgaWYgKGNvbXAtPnN0cmVhbSA9PSBOVUxMKQorCSAgICByZXR1cm4oLTEpOworCWZvciAoaSA9IDA7aSA8IGNvbXAtPnN0cmVhbS0+bmJTdGVwO2krKykKKwkgICAgaWYgKGNvbXAtPnN0cmVhbS0+c3RlcHNbaV0uZmxhZ3MgJiBYTUxfU1RSRUFNX1NURVBfREVTQykKKwkgICAgICAgIHJldHVybigtMik7CisJaWYgKGNvbXAtPnN0cmVhbS0+bmJTdGVwID4gcmV0KQorCSAgICByZXQgPSBjb21wLT5zdHJlYW0tPm5iU3RlcDsKKwljb21wID0gY29tcC0+bmV4dDsKKyAgICB9CisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogeG1sUGF0dGVybk1pbkRlcHRoOgorICogQGNvbXA6IHRoZSBwcmVjb21waWxlZCBwYXR0ZXJuCisgKgorICogQ2hlY2sgdGhlIG1pbmltdW0gZGVwdGggcmVhY2hhYmxlIGJ5IGEgcGF0dGVybiwgMCBtZWFuIHRoZSAvIG9yIC4gYXJlCisgKiBwYXJ0IG9mIHRoZSBzZXQuCisgKgorICogUmV0dXJucyAtMSBpbiBjYXNlIG9mIGVycm9yIG90aGVyd2lzZSB0aGUgZGVwdGgsCisgKgorICovCitpbnQKK3htbFBhdHRlcm5NaW5EZXB0aCh4bWxQYXR0ZXJuUHRyIGNvbXApIHsKKyAgICBpbnQgcmV0ID0gMTIzNDU2Nzg7CisgICAgaWYgKGNvbXAgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuKC0xKTsKKyAgICB3aGlsZSAoY29tcCAhPSBOVUxMKSB7CisgICAgICAgIGlmIChjb21wLT5zdHJlYW0gPT0gTlVMTCkKKwkgICAgcmV0dXJuKC0xKTsKKwlpZiAoY29tcC0+c3RyZWFtLT5uYlN0ZXAgPCByZXQpCisJICAgIHJldCA9IGNvbXAtPnN0cmVhbS0+bmJTdGVwOworCWlmIChyZXQgPT0gMCkKKwkgICAgcmV0dXJuKDApOworCWNvbXAgPSBjb21wLT5uZXh0OworICAgIH0KKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxQYXR0ZXJuRnJvbVJvb3Q6CisgKiBAY29tcDogdGhlIHByZWNvbXBpbGVkIHBhdHRlcm4KKyAqCisgKiBDaGVjayBpZiB0aGUgcGF0dGVybiBtdXN0IGJlIGxvb2tlZCBhdCBmcm9tIHRoZSByb290LgorICoKKyAqIFJldHVybnMgMSBpZiB0cnVlLCAwIGlmIGZhbHNlIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK2ludAoreG1sUGF0dGVybkZyb21Sb290KHhtbFBhdHRlcm5QdHIgY29tcCkgeworICAgIGlmIChjb21wID09IE5VTEwpCisgICAgICAgIHJldHVybigtMSk7CisgICAgd2hpbGUgKGNvbXAgIT0gTlVMTCkgeworICAgICAgICBpZiAoY29tcC0+c3RyZWFtID09IE5VTEwpCisJICAgIHJldHVybigtMSk7CisJaWYgKGNvbXAtPmZsYWdzICYgUEFUX0ZST01fUk9PVCkKKwkgICAgcmV0dXJuKDEpOworCWNvbXAgPSBjb21wLT5uZXh0OworICAgIH0KKyAgICByZXR1cm4oMCk7CisKK30KKworI2RlZmluZSBib3R0b21fcGF0dGVybgorI2luY2x1ZGUgImVsZmdjY2hhY2suaCIKKyNlbmRpZiAvKiBMSUJYTUxfUEFUVEVSTl9FTkFCTEVEICovCmRpZmYgLS1naXQgYS9saWJ4bWwyL3B5dGhvbi9NYWtlZmlsZS5hbSBiL2xpYnhtbDIvcHl0aG9uL01ha2VmaWxlLmFtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM0YWVkOTYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3B5dGhvbi9NYWtlZmlsZS5hbQpAQCAtMCwwICsxLDU0IEBACisjIE1ha2VmaWxlIGZvciBsaWJ4bWwyIHB5dGhvbiBsaWJyYXJ5CitBVVRPTUFLRV9PUFRJT05TID0gMS40IGZvcmVpZ24KKworU1VCRElSUyA9IC4gdGVzdHMKKworZG9jc2RpciA9ICQoZGF0YWRpcikvZG9jL2xpYnhtbDItcHl0aG9uLSQoTElCWE1MX1ZFUlNJT04pCitkaXN0X2RvY3NfREFUQSA9IFRPRE8KKworRVhUUkFfRElTVCA9IAkJCVwKKwlzZXR1cC5weQkJXAorCWdlbmVyYXRvci5weQkJXAorCWxpYnhtbC5weQkJXAorCWxpYnhtbDItZXhwb3J0LmMJXAorCWxpYnhtbDItcHl0aG9uLWFwaS54bWwJXAorCWxpYnhtbDJjbGFzcy5weQkJXAorCWxpYnhtbDJjbGFzcy50eHQKKworaWYgV0lUSF9QWVRIT04KK0FNX0NQUEZMQUdTID0gXAorCS1JJCh0b3BfYnVpbGRkaXIpL2luY2x1ZGUgXAorCS1JJCh0b3Bfc3JjZGlyKS9pbmNsdWRlCVwKKwktSSQoUFlUSE9OX0lOQ0xVREVTKQorCitweXRob25fTFRMSUJSQVJJRVMgPSBsaWJ4bWwybW9kLmxhCisKK2xpYnhtbDJtb2RfbGFfU09VUkNFUyA9IGxpYnhtbC5jIGxpYnhtbF93cmFwLmggbGlieG1sMi1weS5oIGxpYnhtbDItcHkuYyB0eXBlcy5jCitsaWJ4bWwybW9kX2xhX0xERkxBR1MgPSAkKENZR1dJTl9FWFRSQV9MREZMQUdTKSAkKFdJTjMyX0VYVFJBX0xERkxBR1MpIC1tb2R1bGUgLWF2b2lkLXZlcnNpb24gXAorICAgICAgICAkKHRvcF9idWlsZGRpcikvbGlieG1sMi5sYSAkKENZR1dJTl9FWFRSQV9QWVRIT05fTElCQUREKSAkKFdJTjMyX0VYVFJBX1BZVEhPTl9MSUJBREQpICQoUFlUSE9OX0xJQlMpCisKK0JVSUxUX1NPVVJDRVMgPSBsaWJ4bWwyLWV4cG9ydC5jIGxpYnhtbDItcHkuaCBsaWJ4bWwyLXB5LmMKKworIyBsaWJ4bWwuYyAjaW5jbHVkZXMgbGlieG1sMi1leHBvcnQuYworbGlieG1sLiQoT0JKRVhUKTogbGlieG1sMi1leHBvcnQuYworCitsaWJ4bWwyLnB5OiAkKHNyY2RpcikvbGlieG1sLnB5IGxpYnhtbDJjbGFzcy5weQorCWNhdCAkKHNyY2RpcikvbGlieG1sLnB5IGB0ZXN0IC1mIGxpYnhtbDJjbGFzcy5weSB8fCBlY2hvICQoc3JjZGlyKS9gbGlieG1sMmNsYXNzLnB5ID4gJEAKKworZGlzdF9weXRob25fREFUQSA9IFwKKwlkcnZfbGlieG1sMi5weSBcCisJbGlieG1sMi5weQorCQorQ0xFQU5GSUxFUyA9ICoucHljCisKK01BSU5UQUlORVJDTEVBTkZJTEVTID0gbGlieG1sMi5weSBsaWJ4bWwyY2xhc3MuKgorCitBUElfREVTQyA9ICQodG9wX3NyY2RpcikvZG9jL2xpYnhtbDItYXBpLnhtbCAkKHNyY2RpcikvbGlieG1sMi1weXRob24tYXBpLnhtbAorR0VORVJBVEVEID0gbGlieG1sMmNsYXNzLnB5IGxpYnhtbDJjbGFzcy50eHQgJChCVUlMVF9TT1VSQ0VTKQorCiskKEdFTkVSQVRFRCk6ICQoc3JjZGlyKS9nZW5lcmF0b3IucHkgJChBUElfREVTQykKKwkkKFBZVEhPTikgJChzcmNkaXIpL2dlbmVyYXRvci5weSAkKHNyY2RpcikKK2VuZGlmCisKK3Rlc3RzIHRlc3Q6IGFsbAorCWNkIHRlc3RzICYmICQoTUFLRSkgdGVzdHMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcHl0aG9uL1JFQURNRSBiL2xpYnhtbDIvcHl0aG9uL1JFQURNRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNDZlZWU0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9weXRob24vUkVBRE1FCkBAIC0wLDAgKzEsMzQgQEAKKwkJTW9kdWxlIGxpYnhtbDItcHl0aG9uCisJCT09PT09PT09PT09PT09PT09PT09PQorCitUaGlzIGlzIHRoZSBsaWJ4bWwyIHB5dGhvbiBtb2R1bGUsIHByb3ZpZGluZyBhY2Nlc3MgdG8gdGhlCitsaWJ4bWwyIGFuZCBsaWJ4c2x0IChpZiBhdmFpbGFibGUpIGxpYnJhcmllcy4gRm9yIGdlbmVyYWwKK2luZm9ybWF0aW9uc3Mgb24gdGhvc2UgWE1MIGFuZCBYU0xUIGxpYnJhcmllcyBjaGVjayB0aGVpciAKK3dlYiBwYWdlcyBhdCA6CisgICAgaHR0cDovL3htbHNvZnQub3JnLworICAgIGFuZAorICAgIGh0dHA6Ly94bWxzb2Z0Lm9yZy9YU0xULworCitUaGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhlIHNvdXJjZXMgZm9yIHRoaXMgbW9kdWxlIGFuZCB0aGUKK2Fzc29jaWF0ZWQgbGlicmFyaWVzIGNhbiBiZSBmb3VuZCBhdDoKKyAgICBmdHA6Ly94bWxzb2Z0Lm9yZy8KKworQmluYXJpZXMgcGFja2FnZXMgb2YgdGhlIGxpYnhtbDIgYW5kIGxpYnhzbHQgbGlicmFyaWVzIGNhbgorYmUgZm91bmQgZWl0aGVyIG9uIHRoZSBGVFAgc2l0ZSBmb3IgTGludXgsIGZyb20gZXh0ZXJuYWwKK3NvdXJjZXMgbGlua2VkIGZyb20gdGhlIHdlYiBwYWdlcywgb3IgYXMgcGFydCBvZiB5b3VyIHNldCBvZgorcGFja2FnZXMgcHJvdmlkZWQgd2l0aCB5b3VyIG9wZXJhdGluZyBzeXN0ZW0uCisKK05PVEU6Cit0aGlzIG1vZHVsZSBkaXN0cmlidXRpb24gaXMgbm90IHRoZSBwcmltYXJ5IGRpc3RyaWJ1dGlvbgorb2YgdGhlIGxpYnhtbDIgYW5kIGxpYnhzbHQgUHl0aG9uIGJpbmRpbmcgY29kZSwgYnV0IGFzIAordGhlIFB5dGhvbiB3YXkgb2YgcGFja2FnaW5nIHRob3NlIGZvciBub24tTGludXggc3lzdGVtcy4KK1RoZSBtYWluIHNvdXJjZXMgYXJlIHRoZSBsaWJ4bWwyIGFuZCBsaWJ4c2x0IHRhci5neiBmb3VuZCBvbgordGhlIHNpdGUuIE9uZSBzaWRlIGVmZmVjdCBpcyB0aGF0IHRoZSBvZmZpY2lhbCBSUE0gcGFja2FnZXMgZm9yCit0aG9zZSBtb2R1bGVzIGFyZSBub3QgZ2VuZXJhdGVkIGZyb20gdGhlIGxpYnhtbDItcHl0aG9uCitkaXN0cmlidXRpb25zIGJ1dCBhcyBwYXJ0IG9mIHRoZSBub3JtYWwgUlBNIHBhY2thZ2luZyBvZgordGhvc2UgdHdvIGxpYnJhcmllcy4KK1RoZSBSUE0gcGFja2FnZXMgY2FuIGJlIGZvdW5kIGF0OgorICAgIGh0dHA6Ly9ycG1maW5kLm5ldC9saW51eC9ycG0yaHRtbC9zZWFyY2gucGhwP3F1ZXJ5PWxpYnhtbDItcHl0aG9uCisgICAgaHR0cDovL3JwbWZpbmQubmV0L2xpbnV4L3JwbTJodG1sL3NlYXJjaC5waHA/cXVlcnk9bGlieHNsdC1weXRob24KKworRGFuaWVsIFZlaWxsYXJkCmRpZmYgLS1naXQgYS9saWJ4bWwyL3B5dGhvbi9UT0RPIGIvbGlieG1sMi9weXRob24vVE9ETwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNDQ2ZjZlCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9weXRob24vVE9ETwpAQCAtMCwwICsxLDU3IEBACisgICAgICAgICAgICAgVE9ETyBmb3IgdGhlIGxpYnhtbDIgUHl0aG9uIHdyYXBwZXJzCisKKyAgICAgICAgICRJZCQKKworVGhpbmdzIHRvIGRvOgorLS0tLS0tLS0tLS0tLQorCistIFNBWCBpbnRlcmZhY2VzCisgIC0gcHVzaCBpcyBkb25lIGJ1dCBubyBnZW5lcmljIGludGVyZmFjZQorICAtIGVsZW1lbnREZWNsIG5lZWQgc29tZSB3b3JrCisgIC0gbmVlZCBtb3JlIHRlc3RpbmcgYW5kIGNoZWNrIGZ1bGwgY2FsbGJhY2tzIGZvciB4bWxsaWIvc2dtbG9wIHJlcGxhY2VtZW50CistIGVudW1zIC0+IGxpYnhtbC5weQorLSBhY2Nlc3MgdG8gWFBhdGggdmFyaWFibGVzCistIHhtbEJ1ZmZlciBleHBvc3VyZQorLSB4cGF0aENvbnRleHQsIGJlaW5nIGFibGUgdG8gc2V0L2dldCBpbmZvIGFuZCBjbGVhbiBpdCB1cAorLSBtb3JlIHdvcmsgbmVlZGVkIG9uIGNvbnRleHQgaGFuZGxpbmcgZm9yIGZ1bmN0aW9uIGxvb2t1cAorICBhbmQgdXNlIG9mIGFuIGhhc2ggdGFibGUuCistIGFkZCByZWdyZXNzaW9uIHRlc3RzCisgICAtIFNBWCBmbG93CistIERURCBlbGVtZW50IGFuZCBhdHRyaWJ1dGVzIGNvbnRlbnQgYWNjZXNzZXMKKyAgIC0gYXR0cmlidXRlIGhhbmRsZWQgaW4gU0FYCisgICAtIGVsZW1lbnQgbmVlZGVkIGluIGJvdGgKKworCitEb25lOgorLS0tLS0KKy0gY2xhc3MgaGllcmFyY2h5OgorICArIG1ha2Ugc3BlY2lmaWMgbm9kZSB0eXBlIGluaGVyaXQgZnJvbSB4bWxOb2RlCisgICAgZG9uZSwgaGFkIHRvIHNvcnQgdGhlIGNsYXNzZXMgaW4gdGhlIG91dHB1dAorICArIGdldCB0aGUgZ2VuZXJhdG9yIHRvIG91dHB1dCBhIGNsYXNzZXMudHh0IGRlc2NyaXB0aW9uCisgICAgZG9uZSBsaWJ4bWwyY2xhc3MudHh0CistIGFkZCByZWdyZXNzaW9uIHRlc3RzCisgICAtIHRlc3RzL01ha2VmaWxlLmFtOiBleHBvcnQgdGhlIFB5dGhvbiBjbGFzcyBwYXRoCisgICAtIHhwYXRoIHF1ZXJpZXMKKyAgIC0geHBhdGggZXh0ZW5zaW9uCisgICAtIGNoZWNrIG1lbW9yeQorICAgLSBidWlsZCB0cmVlCisgICAtIHNhdmluZworLSBleHRlbnNpb25zIGJhc2VkIG9uIGEgcHl0aG9uLnhtbCBkZXNjcmlwdGlvbiBvZiB0aGUgbmV3IHNwZWNpZmljCisgIGludGVyZmFjZXMKKyAgIGZpbGUgbGlieG1sMi1weXRob24tYXBpLnhtbCAsIGZpcnN0IGVudHJ5IGlzIHhtbFJlZ2lzdGVyWFBhdGhGdW5jdGlvbgorLSBzcGVjIGZpbGU6IGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgZm9yIHB5dGhvblguWSBpZiBmb3VuZAorICBEb25lLCBhIGJpdCB1Z2x5IGJ5IHJ1bm5pbmcgbmV3IG1ha2VzIGluICVpbnN0YWxsIGZvciBlYWNoIGxldmVsCisgIGZvdW5kLgorLSBlcnJvciByZWRpcmVjdGlvbnMgYW5kIHByZWZvcm1hdAorLSBoYW5kbGluZyBvZiBub2RlLmNvbnRlbnQKKy0gYWNjZXNzIHRvIHhtbFBhcnNlckN0eHQgYW5kIHB1c2ggbW9kZQorICAgLSBuZWVkZWQgZm9yIFNBWCB0b28KKyAgIC0gZW50cnkgcG9pbnRzCisgICAtIHdyYXBwZXJzCisgICAtIGRlY2VudCBpbnRlcmZhY2UgZm9yIHNldHRpbmcvZ2V0dGluZyBiZWhhdmlvdXIKKy0gbWVtb3J5IGRlYnVnIGludGVyZmFjZXMKKy0gU0FYIGludGVyZmFjZXMKKyAgIC0gYmFzaWMgc3R1ZmYgd2l0aCBwdXNoIGlzIGF2YWlsYWJsZQorICAgLSBiYXNpYyB4bWxsaWIgcmVwbGFjZW1lbnQKKworRGFuaWVsIFZlaWxsYXJkCmRpZmYgLS1naXQgYS9saWJ4bWwyL3B5dGhvbi9kcnZfbGlieG1sMi5weSBiL2xpYnhtbDIvcHl0aG9uL2Rydl9saWJ4bWwyLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMyZWMzZTIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3B5dGhvbi9kcnZfbGlieG1sMi5weQpAQCAtMCwwICsxLDM3NyBAQAorIyAtKi0gY29kaW5nOiBpc28tODg1OS0xIC0qLQorIiIiIEEgU0FYMiBkcml2ZXIgZm9yIGxpYnhtbDIsIG9uIHRvcCBvZiBpdCdzIFhtbFJlYWRlciBBUEkKKworVVNBR0UKKyAgICAjIHB1dCB0aGlzIGZpbGUgKGRydl9saWJ4bWwyLnB5KSBpbiBQWVRIT05QQVRICisgICAgaW1wb3J0IHhtbC5zYXgKKyAgICByZWFkZXIgPSB4bWwuc2F4Lm1ha2VfcGFyc2VyKFsiZHJ2X2xpYnhtbDIiXSkKKyAgICAjIC4uLmFuZCB0aGUgcmVzdCBpcyBzdGFuZGFyZCBweXRob24gc2F4LgorCitDQVZFQVRTCisgICAgLSBMZXhpY2FsIGhhbmRsZXJzIGFyZSBzdXBwb3J0ZWQsIGV4Y2VwdCBmb3Igc3RhcnQvZW5kRW50aXR5CisgICAgICAod2FpdGluZyBmb3IgWG1sUmVhZGVyLlJlc29sdmVFbnRpdHkpIGFuZCBzdGFydC9lbmREVEQKKyAgICAtIEVycm9yIGNhbGxiYWNrcyBhcmUgbm90IGV4YWN0bHkgc3luY2hyb25vdXMsIHRoZXkgdGVuZAorICAgICAgdG8gYmUgaW52b2tlZCBiZWZvcmUgdGhlIGNvcnJlc3BvbmRpbmcgY29udGVudCBjYWxsYmFjaywKKyAgICAgIGJlY2F1c2UgdGhlIHVuZGVybHlpbmcgcmVhZGVyIGludGVyZmFjZSBwYXJzZXMKKyAgICAgIGRhdGEgYnkgY2h1bmtzIG9mIDUxMiBieXRlcworICAgIAorVE9ETworICAgIC0gc2VhcmNoIGZvciBUT0RPCisgICAgLSBzb21lIEVycm9ySGFuZGxlciBldmVudHMgKHdhcm5pbmcpCisgICAgLSBzb21lIENvbnRlbnRIYW5kbGVyIGV2ZW50cyAoc2V0RG9jdW1lbnRMb2NhdG9yLCBza2lwcGVkRW50aXR5KQorICAgIC0gRW50aXR5UmVzb2x2ZXIgKHVzaW5nIGxpYnhtbDIuPykKKyAgICAtIERUREhhbmRsZXIgKGlmL3doZW4gbGlieG1sMiBleHBvc2VzIHN1Y2ggbm9kZSB0eXBlcykKKyAgICAtIERlY2xIYW5kbGVyIChpZi93aGVuIGxpYnhtbDIgZXhwb3NlcyBzdWNoIG5vZGUgdHlwZXMpCisgICAgLSBwcm9wZXJ0eV94bWxfc3RyaW5nPworICAgIC0gZmVhdHVyZV9zdHJpbmdfaW50ZXJuaW5nPworICAgIC0gSW5jcmVtZW50YWwgcGFyc2VyCisgICAgLSBhZGRpdGlvbmFsIHBlcmZvcm1hbmNlIHR1bmluZzoKKyAgICAgIC0gb25lIG1pZ2h0IGNhY2hlIGNhbGxiYWNrcyB0byBhdm9pZCBzb21lIG5hbWUgbG9va3VwcworICAgICAgLSBvbmUgbWlnaHQgaW1wbGVtZW50IGEgc21hcnRlciB3YXkgdG8gcGFzcyBhdHRyaWJ1dGVzIHRvIHN0YXJ0RWxlbWVudAorICAgICAgICAoc29tZSBraW5kIG9mIGxhenkgZXZhbHVhdGlvbj8pCisgICAgICAtIHRoZXJlIG1pZ2h0IGJlIHJvb20gZm9yIGltcHJvdmVtZW50IGluIHN0YXJ0L2VuZFByZWZpeE1hcHBpbmcKKyAgICAgIC0gb3RoZXI/CisKKyIiIgorCitfX2F1dGhvcl9fICA9ICJTdOlwaGFuZSBCaWRvdWwgPHNiaUBza3luZXQuYmU+IgorX192ZXJzaW9uX18gPSAiMC4zIgorCitpbXBvcnQgc3lzCitpbXBvcnQgY29kZWNzCisKK2lmIHN5cy52ZXJzaW9uX2luZm9bMF0gPCAzOgorICAgIF9fYXV0aG9yX18gID0gY29kZWNzLnVuaWNvZGVfZXNjYXBlX2RlY29kZShfX2F1dGhvcl9fKVswXQorCisgICAgU3RyaW5nVHlwZXMgPSAoc3RyLCB1bmljb2RlKQorZWxzZToKKyAgICBTdHJpbmdUeXBlcyA9IHN0cgorCitmcm9tIHhtbC5zYXguX2V4Y2VwdGlvbnMgaW1wb3J0ICoKK2Zyb20geG1sLnNheCBpbXBvcnQgeG1scmVhZGVyLCBzYXh1dGlscworZnJvbSB4bWwuc2F4LmhhbmRsZXIgaW1wb3J0IFwKKyAgICAgZmVhdHVyZV9uYW1lc3BhY2VzLCBcCisgICAgIGZlYXR1cmVfbmFtZXNwYWNlX3ByZWZpeGVzLCBcCisgICAgIGZlYXR1cmVfc3RyaW5nX2ludGVybmluZywgXAorICAgICBmZWF0dXJlX3ZhbGlkYXRpb24sIFwKKyAgICAgZmVhdHVyZV9leHRlcm5hbF9nZXMsIFwKKyAgICAgZmVhdHVyZV9leHRlcm5hbF9wZXMsIFwKKyAgICAgcHJvcGVydHlfbGV4aWNhbF9oYW5kbGVyLCBcCisgICAgIHByb3BlcnR5X2RlY2xhcmF0aW9uX2hhbmRsZXIsIFwKKyAgICAgcHJvcGVydHlfZG9tX25vZGUsIFwKKyAgICAgcHJvcGVydHlfeG1sX3N0cmluZworCisjIGxpYnhtbDIgcmV0dXJucyBzdHJpbmdzIGFzIFVURjgKK19kZWNvZGVyID0gY29kZWNzLmxvb2t1cCgidXRmOCIpWzFdCitkZWYgX2Qocyk6CisgICAgaWYgcyBpcyBOb25lOgorICAgICAgICByZXR1cm4gcworICAgIGVsc2U6CisgICAgICAgIHJldHVybiBfZGVjb2RlcihzKVswXQorCit0cnk6CisgICAgaW1wb3J0IGxpYnhtbDIKK2V4Y2VwdCBJbXBvcnRFcnJvcjoKKyAgICByYWlzZSBTQVhSZWFkZXJOb3RBdmFpbGFibGUoImxpYnhtbDIgbm90IGF2YWlsYWJsZTogIiBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpbXBvcnQgZXJyb3Igd2FzOiAlcyIgJSBzeXMuZXhjX2luZm8oKVsxXSkKKworY2xhc3MgTG9jYXRvcih4bWxyZWFkZXIuTG9jYXRvcik6CisgICAgIiIiU0FYIExvY2F0b3IgYWRhcHRlciBmb3IgbGlieG1sMi54bWxUZXh0UmVhZGVyTG9jYXRvciIiIgorCisgICAgZGVmIF9faW5pdF9fKHNlbGYsbG9jYXRvcik6CisgICAgICAgIHNlbGYuX19sb2NhdG9yID0gbG9jYXRvcgorCisgICAgZGVmIGdldENvbHVtbk51bWJlcihzZWxmKToKKyAgICAgICAgIlJldHVybiB0aGUgY29sdW1uIG51bWJlciB3aGVyZSB0aGUgY3VycmVudCBldmVudCBlbmRzLiIKKyAgICAgICAgcmV0dXJuIC0xCisKKyAgICBkZWYgZ2V0TGluZU51bWJlcihzZWxmKToKKyAgICAgICAgIlJldHVybiB0aGUgbGluZSBudW1iZXIgd2hlcmUgdGhlIGN1cnJlbnQgZXZlbnQgZW5kcy4iCisgICAgICAgIHJldHVybiBzZWxmLl9fbG9jYXRvci5MaW5lTnVtYmVyKCkKKworICAgIGRlZiBnZXRQdWJsaWNJZChzZWxmKToKKyAgICAgICAgIlJldHVybiB0aGUgcHVibGljIGlkZW50aWZpZXIgZm9yIHRoZSBjdXJyZW50IGV2ZW50LiIKKyAgICAgICAgcmV0dXJuIE5vbmUKKworICAgIGRlZiBnZXRTeXN0ZW1JZChzZWxmKToKKyAgICAgICAgIlJldHVybiB0aGUgc3lzdGVtIGlkZW50aWZpZXIgZm9yIHRoZSBjdXJyZW50IGV2ZW50LiIKKyAgICAgICAgcmV0dXJuIHNlbGYuX19sb2NhdG9yLkJhc2VVUkkoKQorCitjbGFzcyBMaWJYbWwyUmVhZGVyKHhtbHJlYWRlci5YTUxSZWFkZXIpOgorCisgICAgZGVmIF9faW5pdF9fKHNlbGYpOgorICAgICAgICB4bWxyZWFkZXIuWE1MUmVhZGVyLl9faW5pdF9fKHNlbGYpCisgICAgICAgICMgZmVhdHVyZXMKKyAgICAgICAgc2VsZi5fX25zID0gMAorICAgICAgICBzZWxmLl9fbnNwZnggPSAwCisgICAgICAgIHNlbGYuX192YWxpZGF0ZSA9IDAKKyAgICAgICAgc2VsZi5fX2V4dHBhcmFtcyA9IDEKKyAgICAgICAgIyBwYXJzaW5nIGZsYWcKKyAgICAgICAgc2VsZi5fX3BhcnNpbmcgPSAwCisgICAgICAgICMgYWRkaXRpb25hbCBoYW5kbGVycworICAgICAgICBzZWxmLl9fbGV4X2hhbmRsZXIgPSBOb25lCisgICAgICAgIHNlbGYuX19kZWNsX2hhbmRsZXIgPSBOb25lCisgICAgICAgICMgZXJyb3IgbWVzc2FnZXMgYWNjdW11bGF0b3IKKyAgICAgICAgc2VsZi5fX2Vycm9ycyA9IE5vbmUKKworICAgIGRlZiBfZXJyb3JIYW5kbGVyKHNlbGYsYXJnLG1zZyxzZXZlcml0eSxsb2NhdG9yKToKKyAgICAgICAgaWYgc2VsZi5fX2Vycm9ycyBpcyBOb25lOgorICAgICAgICAgICAgc2VsZi5fX2Vycm9ycyA9IFtdCisgICAgICAgIHNlbGYuX19lcnJvcnMuYXBwZW5kKChzZXZlcml0eSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNBWFBhcnNlRXhjZXB0aW9uKG1zZyxOb25lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9jYXRvcihsb2NhdG9yKSkpKQorCisgICAgZGVmIF9yZXBvcnRFcnJvcnMoc2VsZixmYXRhbCk6CisgICAgICAgIGZvciBzZXZlcml0eSxleGNlcHRpb24gaW4gc2VsZi5fX2Vycm9yczoKKyAgICAgICAgICAgIGlmIHNldmVyaXR5IGluIChsaWJ4bWwyLlBBUlNFUl9TRVZFUklUWV9WQUxJRElUWV9XQVJOSU5HLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhtbDIuUEFSU0VSX1NFVkVSSVRZX1dBUk5JTkcpOgorICAgICAgICAgICAgICAgIHNlbGYuX2Vycl9oYW5kbGVyLndhcm5pbmcoZXhjZXB0aW9uKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAjIHdoZW4gZmF0YWwgaXMgc2V0LCB0aGUgcGFyc2Ugd2lsbCBzdG9wOworICAgICAgICAgICAgICAgICMgd2UgY29uc2lkZXIgdGhhdCB0aGUgbGFzdCBlcnJvciByZXBvcnRlZAorICAgICAgICAgICAgICAgICMgaXMgdGhlIGZhdGFsIG9uZS4KKyAgICAgICAgICAgICAgICBpZiBmYXRhbCBhbmQgZXhjZXB0aW9uIGlzIHNlbGYuX19lcnJvcnNbLTFdWzFdOgorICAgICAgICAgICAgICAgICAgICBzZWxmLl9lcnJfaGFuZGxlci5mYXRhbEVycm9yKGV4Y2VwdGlvbikKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBzZWxmLl9lcnJfaGFuZGxlci5lcnJvcihleGNlcHRpb24pCisgICAgICAgIHNlbGYuX19lcnJvcnMgPSBOb25lCisKKyAgICBkZWYgcGFyc2Uoc2VsZiwgc291cmNlKToKKyAgICAgICAgc2VsZi5fX3BhcnNpbmcgPSAxCisgICAgICAgIHRyeToKKyAgICAgICAgICAgICMgcHJlcGFyZSBzb3VyY2UgYW5kIGNyZWF0ZSByZWFkZXIKKyAgICAgICAgICAgIGlmIGlzaW5zdGFuY2Uoc291cmNlLCBTdHJpbmdUeXBlcyk6CisgICAgICAgICAgICAgICAgcmVhZGVyID0gbGlieG1sMi5uZXdUZXh0UmVhZGVyRmlsZW5hbWUoc291cmNlKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBzb3VyY2UgPSBzYXh1dGlscy5wcmVwYXJlX2lucHV0X3NvdXJjZShzb3VyY2UpCisgICAgICAgICAgICAgICAgaW5wdXQgPSBsaWJ4bWwyLmlucHV0QnVmZmVyKHNvdXJjZS5nZXRCeXRlU3RyZWFtKCkpCisgICAgICAgICAgICAgICAgcmVhZGVyID0gaW5wdXQubmV3VGV4dFJlYWRlcihzb3VyY2UuZ2V0U3lzdGVtSWQoKSkKKyAgICAgICAgICAgIHJlYWRlci5TZXRFcnJvckhhbmRsZXIoc2VsZi5fZXJyb3JIYW5kbGVyLE5vbmUpCisgICAgICAgICAgICAjIGNvbmZpZ3VyZSByZWFkZXIKKyAgICAgICAgICAgIGlmIHNlbGYuX19leHRwYXJhbXM6CisgICAgICAgICAgICAgICAgcmVhZGVyLlNldFBhcnNlclByb3AobGlieG1sMi5QQVJTRVJfTE9BRERURCwxKQorICAgICAgICAgICAgICAgIHJlYWRlci5TZXRQYXJzZXJQcm9wKGxpYnhtbDIuUEFSU0VSX0RFRkFVTFRBVFRSUywxKQorICAgICAgICAgICAgICAgIHJlYWRlci5TZXRQYXJzZXJQcm9wKGxpYnhtbDIuUEFSU0VSX1NVQlNUX0VOVElUSUVTLDEpCisgICAgICAgICAgICAgICAgcmVhZGVyLlNldFBhcnNlclByb3AobGlieG1sMi5QQVJTRVJfVkFMSURBVEUsc2VsZi5fX3ZhbGlkYXRlKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICByZWFkZXIuU2V0UGFyc2VyUHJvcChsaWJ4bWwyLlBBUlNFUl9MT0FERFRELCAwKQorICAgICAgICAgICAgIyB3ZSByZXVzZSBhdHRyaWJ1dGUgbWFwcyAoZm9yIGEgc2xpZ2h0IHBlcmZvcm1hbmNlIGdhaW4pCisgICAgICAgICAgICBpZiBzZWxmLl9fbnM6CisgICAgICAgICAgICAgICAgYXR0cmlidXRlc05TSW1wbCA9IHhtbHJlYWRlci5BdHRyaWJ1dGVzTlNJbXBsKHt9LHt9KQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzSW1wbCA9IHhtbHJlYWRlci5BdHRyaWJ1dGVzSW1wbCh7fSkKKyAgICAgICAgICAgICMgcHJlZml4ZXMgdG8gcG9wIChmb3IgZW5kUHJlZml4TWFwcGluZykKKyAgICAgICAgICAgIHByZWZpeGVzID0gW10KKyAgICAgICAgICAgICMgc3RhcnQgbG9vcAorICAgICAgICAgICAgc2VsZi5fY29udF9oYW5kbGVyLnN0YXJ0RG9jdW1lbnQoKQorICAgICAgICAgICAgd2hpbGUgMToKKyAgICAgICAgICAgICAgICByID0gcmVhZGVyLlJlYWQoKQorICAgICAgICAgICAgICAgICMgY2hlY2sgZm9yIGVycm9ycworICAgICAgICAgICAgICAgIGlmIHIgPT0gMToKKyAgICAgICAgICAgICAgICAgICAgaWYgbm90IHNlbGYuX19lcnJvcnMgaXMgTm9uZToKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX3JlcG9ydEVycm9ycygwKQorICAgICAgICAgICAgICAgIGVsaWYgciA9PSAwOgorICAgICAgICAgICAgICAgICAgICBpZiBub3Qgc2VsZi5fX2Vycm9ycyBpcyBOb25lOgorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fcmVwb3J0RXJyb3JzKDApCisgICAgICAgICAgICAgICAgICAgIGJyZWFrICMgZW5kIG9mIHBhcnNlCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgaWYgbm90IHNlbGYuX19lcnJvcnMgaXMgTm9uZToKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX3JlcG9ydEVycm9ycygxKQorICAgICAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fZXJyX2hhbmRsZXIuZmF0YWxFcnJvcihcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0FYRXhjZXB0aW9uKCJSZWFkIGZhaWxlZCAobm8gZGV0YWlscyBhdmFpbGFibGUpIikpCisgICAgICAgICAgICAgICAgICAgIGJyZWFrICMgZmF0YWwgcGFyc2UgZXJyb3IKKyAgICAgICAgICAgICAgICAjIGdldCBub2RlIHR5cGUKKyAgICAgICAgICAgICAgICBub2RlVHlwZSA9IHJlYWRlci5Ob2RlVHlwZSgpCisgICAgICAgICAgICAgICAgIyBFbGVtZW50CisgICAgICAgICAgICAgICAgaWYgbm9kZVR5cGUgPT0gMTogCisgICAgICAgICAgICAgICAgICAgIGlmIHNlbGYuX19uczoKKyAgICAgICAgICAgICAgICAgICAgICAgIGVsdE5hbWUgPSAoX2QocmVhZGVyLk5hbWVzcGFjZVVyaSgpKSxcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9kKHJlYWRlci5Mb2NhbE5hbWUoKSkpCisgICAgICAgICAgICAgICAgICAgICAgICBlbHRRTmFtZSA9IF9kKHJlYWRlci5OYW1lKCkpCisgICAgICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzTlNJbXBsLl9hdHRycyA9IGF0dHJzID0ge30KKyAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXNOU0ltcGwuX3FuYW1lcyA9IHFuYW1lcyA9IHt9CisgICAgICAgICAgICAgICAgICAgICAgICBuZXdQcmVmaXhlcyA9IFtdCisgICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSByZWFkZXIuTW92ZVRvTmV4dEF0dHJpYnV0ZSgpOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHFuYW1lID0gX2QocmVhZGVyLk5hbWUoKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9IF9kKHJlYWRlci5WYWx1ZSgpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIHFuYW1lLnN0YXJ0c3dpdGgoInhtbG5zIik6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIGxlbihxbmFtZSkgPiA1OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3UHJlZml4ID0gcW5hbWVbNjpdCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdQcmVmaXggPSBOb25lCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld1ByZWZpeGVzLmFwcGVuZChuZXdQcmVmaXgpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX2NvbnRfaGFuZGxlci5zdGFydFByZWZpeE1hcHBpbmcoXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3UHJlZml4LHZhbHVlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBub3Qgc2VsZi5fX25zcGZ4OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWUgIyBkb24ndCByZXBvcnQgeG1sbnMgYXR0cmlidXRlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0TmFtZSA9IChfZChyZWFkZXIuTmFtZXNwYWNlVXJpKCkpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX2QocmVhZGVyLkxvY2FsTmFtZSgpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBxbmFtZXNbYXR0TmFtZV0gPSBxbmFtZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJzW2F0dE5hbWVdID0gdmFsdWUKKyAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRlci5Nb3ZlVG9FbGVtZW50KCkKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX2NvbnRfaGFuZGxlci5zdGFydEVsZW1lbnROUyggXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsdE5hbWUsZWx0UU5hbWUsYXR0cmlidXRlc05TSW1wbCkgCisgICAgICAgICAgICAgICAgICAgICAgICBpZiByZWFkZXIuSXNFbXB0eUVsZW1lbnQoKToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9jb250X2hhbmRsZXIuZW5kRWxlbWVudE5TKGVsdE5hbWUsZWx0UU5hbWUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIG5ld1ByZWZpeCBpbiBuZXdQcmVmaXhlczoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fY29udF9oYW5kbGVyLmVuZFByZWZpeE1hcHBpbmcobmV3UHJlZml4KQorICAgICAgICAgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmVmaXhlcy5hcHBlbmQobmV3UHJlZml4ZXMpCisgICAgICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgICAgICBlbHROYW1lID0gX2QocmVhZGVyLk5hbWUoKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXNJbXBsLl9hdHRycyA9IGF0dHJzID0ge30KKyAgICAgICAgICAgICAgICAgICAgICAgIHdoaWxlIHJlYWRlci5Nb3ZlVG9OZXh0QXR0cmlidXRlKCk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0TmFtZSA9IF9kKHJlYWRlci5OYW1lKCkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0cnNbYXR0TmFtZV0gPSBfZChyZWFkZXIuVmFsdWUoKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRlci5Nb3ZlVG9FbGVtZW50KCkKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX2NvbnRfaGFuZGxlci5zdGFydEVsZW1lbnQoIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHROYW1lLGF0dHJpYnV0ZXNJbXBsKQorICAgICAgICAgICAgICAgICAgICAgICAgaWYgcmVhZGVyLklzRW1wdHlFbGVtZW50KCk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fY29udF9oYW5kbGVyLmVuZEVsZW1lbnQoZWx0TmFtZSkKKyAgICAgICAgICAgICAgICAjIEVuZEVsZW1lbnQKKyAgICAgICAgICAgICAgICBlbGlmIG5vZGVUeXBlID09IDE1OiAKKyAgICAgICAgICAgICAgICAgICAgaWYgc2VsZi5fX25zOgorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fY29udF9oYW5kbGVyLmVuZEVsZW1lbnROUyggXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoX2QocmVhZGVyLk5hbWVzcGFjZVVyaSgpKSxfZChyZWFkZXIuTG9jYWxOYW1lKCkpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX2QocmVhZGVyLk5hbWUoKSkpCisgICAgICAgICAgICAgICAgICAgICAgICBmb3IgcHJlZml4IGluIHByZWZpeGVzLnBvcCgpOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX2NvbnRfaGFuZGxlci5lbmRQcmVmaXhNYXBwaW5nKHByZWZpeCkKKyAgICAgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX2NvbnRfaGFuZGxlci5lbmRFbGVtZW50KF9kKHJlYWRlci5OYW1lKCkpKQorICAgICAgICAgICAgICAgICMgVGV4dAorICAgICAgICAgICAgICAgIGVsaWYgbm9kZVR5cGUgPT0gMzogCisgICAgICAgICAgICAgICAgICAgIHNlbGYuX2NvbnRfaGFuZGxlci5jaGFyYWN0ZXJzKF9kKHJlYWRlci5WYWx1ZSgpKSkKKyAgICAgICAgICAgICAgICAjIFdoaXRlc3BhY2UKKyAgICAgICAgICAgICAgICBlbGlmIG5vZGVUeXBlID09IDEzOiAKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5fY29udF9oYW5kbGVyLmlnbm9yYWJsZVdoaXRlc3BhY2UoX2QocmVhZGVyLlZhbHVlKCkpKQorICAgICAgICAgICAgICAgICMgU2lnbmlmaWNhbnRXaGl0ZXNwYWNlCisgICAgICAgICAgICAgICAgZWxpZiBub2RlVHlwZSA9PSAxNDoKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5fY29udF9oYW5kbGVyLmNoYXJhY3RlcnMoX2QocmVhZGVyLlZhbHVlKCkpKQorICAgICAgICAgICAgICAgICMgQ0RBVEEKKyAgICAgICAgICAgICAgICBlbGlmIG5vZGVUeXBlID09IDQ6CisgICAgICAgICAgICAgICAgICAgIGlmIG5vdCBzZWxmLl9fbGV4X2hhbmRsZXIgaXMgTm9uZToKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX19sZXhfaGFuZGxlci5zdGFydENEQVRBKCkKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5fY29udF9oYW5kbGVyLmNoYXJhY3RlcnMoX2QocmVhZGVyLlZhbHVlKCkpKQorICAgICAgICAgICAgICAgICAgICBpZiBub3Qgc2VsZi5fX2xleF9oYW5kbGVyIGlzIE5vbmU6CisgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9fbGV4X2hhbmRsZXIuZW5kQ0RBVEEoKQorICAgICAgICAgICAgICAgICMgRW50aXR5UmVmZXJlbmNlCisgICAgICAgICAgICAgICAgZWxpZiBub2RlVHlwZSA9PSA1OgorICAgICAgICAgICAgICAgICAgICBpZiBub3Qgc2VsZi5fX2xleF9oYW5kbGVyIGlzIE5vbmU6CisgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnN0YXJ0RW50aXR5KF9kKHJlYWRlci5OYW1lKCkpKQorICAgICAgICAgICAgICAgICAgICByZWFkZXIuUmVzb2x2ZUVudGl0eSgpCisgICAgICAgICAgICAgICAgIyBFbmRFbnRpdHkKKyAgICAgICAgICAgICAgICBlbGlmIG5vZGVUeXBlID09IDE2OgorICAgICAgICAgICAgICAgICAgICBpZiBub3Qgc2VsZi5fX2xleF9oYW5kbGVyIGlzIE5vbmU6CisgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmVuZEVudGl0eShfZChyZWFkZXIuTmFtZSgpKSkKKyAgICAgICAgICAgICAgICAjIFByb2Nlc3NpbmdJbnN0cnVjdGlvbgorICAgICAgICAgICAgICAgIGVsaWYgbm9kZVR5cGUgPT0gNzogCisgICAgICAgICAgICAgICAgICAgIHNlbGYuX2NvbnRfaGFuZGxlci5wcm9jZXNzaW5nSW5zdHJ1Y3Rpb24oIFwKKyAgICAgICAgICAgICAgICAgICAgICAgIF9kKHJlYWRlci5OYW1lKCkpLF9kKHJlYWRlci5WYWx1ZSgpKSkKKyAgICAgICAgICAgICAgICAjIENvbW1lbnQKKyAgICAgICAgICAgICAgICBlbGlmIG5vZGVUeXBlID09IDg6CisgICAgICAgICAgICAgICAgICAgIGlmIG5vdCBzZWxmLl9fbGV4X2hhbmRsZXIgaXMgTm9uZToKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX19sZXhfaGFuZGxlci5jb21tZW50KF9kKHJlYWRlci5WYWx1ZSgpKSkKKyAgICAgICAgICAgICAgICAjIERvY3VtZW50VHlwZQorICAgICAgICAgICAgICAgIGVsaWYgbm9kZVR5cGUgPT0gMTA6CisgICAgICAgICAgICAgICAgICAgICNpZiBub3Qgc2VsZi5fX2xleF9oYW5kbGVyIGlzIE5vbmU6CisgICAgICAgICAgICAgICAgICAgICMgICAgc2VsZi5fX2xleF9oYW5kbGVyLnN0YXJ0RFREKCkKKyAgICAgICAgICAgICAgICAgICAgcGFzcyAjIFRPRE8gKGhvdyB0byBkZXRlY3QgZW5kRFREPyBvbiBmaXJzdCBub24tZHRkIGV2ZW50PykKKyAgICAgICAgICAgICAgICAjIFhtbERlY2xhcmF0aW9uCisgICAgICAgICAgICAgICAgZWxpZiBub2RlVHlwZSA9PSAxNzoKKyAgICAgICAgICAgICAgICAgICAgcGFzcyAjIFRPRE8KKyAgICAgICAgICAgICAgICAjIEVudGl0eQorICAgICAgICAgICAgICAgIGVsaWYgbm9kZVR5cGUgPT0gNjoKKyAgICAgICAgICAgICAgICAgICAgcGFzcyAjIFRPRE8gKGVudGl0eSBkZWNsKQorICAgICAgICAgICAgICAgICMgTm90YXRpb24gKGRlY2wpCisgICAgICAgICAgICAgICAgZWxpZiBub2RlVHlwZSA9PSAxMjoKKyAgICAgICAgICAgICAgICAgICAgcGFzcyAjIFRPRE8KKyAgICAgICAgICAgICAgICAjIEF0dHJpYnV0ZSAobmV2ZXIgaW4gdGhpcyBsb29wKQorICAgICAgICAgICAgICAgICNlbGlmIG5vZGVUeXBlID09IDI6IAorICAgICAgICAgICAgICAgICMgICAgcGFzcworICAgICAgICAgICAgICAgICMgRG9jdW1lbnQgKG5vdCBleHBvc2VkKQorICAgICAgICAgICAgICAgICNlbGlmIG5vZGVUeXBlID09IDk6IAorICAgICAgICAgICAgICAgICMgICAgcGFzcworICAgICAgICAgICAgICAgICMgRG9jdW1lbnRGcmFnbWVudCAobmV2ZXIgcmV0dXJuZWQgYnkgWG1sUmVhZGVyKQorICAgICAgICAgICAgICAgICNlbGlmIG5vZGVUeXBlID09IDExOgorICAgICAgICAgICAgICAgICMgICAgcGFzcworICAgICAgICAgICAgICAgICMgTm9uZQorICAgICAgICAgICAgICAgICNlbGlmIG5vZGVUeXBlID09IDA6CisgICAgICAgICAgICAgICAgIyAgICBwYXNzCisgICAgICAgICAgICAgICAgIyAtCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgcmFpc2UgU0FYRXhjZXB0aW9uKCJVbmV4cGVjdGVkIG5vZGUgdHlwZSAlZCIgJSBub2RlVHlwZSkKKyAgICAgICAgICAgIGlmIHIgPT0gMDoKKyAgICAgICAgICAgICAgICBzZWxmLl9jb250X2hhbmRsZXIuZW5kRG9jdW1lbnQoKQorICAgICAgICAgICAgcmVhZGVyLkNsb3NlKCkKKyAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgIHNlbGYuX19wYXJzaW5nID0gMAorCisgICAgZGVmIHNldERUREhhbmRsZXIoc2VsZiwgaGFuZGxlcik6CisgICAgICAgICMgVE9ETyAod2hlbiBzdXBwb3J0ZWQsIHRoZSBpbmhlcml0ZWQgbWV0aG9kIHdvcmtzIGp1c3QgZmluZSkKKyAgICAgICAgcmFpc2UgU0FYTm90U3VwcG9ydGVkRXhjZXB0aW9uKCJEVERIYW5kbGVyIG5vdCBzdXBwb3J0ZWQiKQorCisgICAgZGVmIHNldEVudGl0eVJlc29sdmVyKHNlbGYsIHJlc29sdmVyKToKKyAgICAgICAgIyBUT0RPICh3aGVuIHN1cHBvcnRlZCwgdGhlIGluaGVyaXRlZCBtZXRob2Qgd29ya3MganVzdCBmaW5lKQorICAgICAgICByYWlzZSBTQVhOb3RTdXBwb3J0ZWRFeGNlcHRpb24oIkVudGl0eVJlc29sdmVyIG5vdCBzdXBwb3J0ZWQiKQorCisgICAgZGVmIGdldEZlYXR1cmUoc2VsZiwgbmFtZSk6CisgICAgICAgIGlmIG5hbWUgPT0gZmVhdHVyZV9uYW1lc3BhY2VzOgorICAgICAgICAgICAgcmV0dXJuIHNlbGYuX19ucworICAgICAgICBlbGlmIG5hbWUgPT0gZmVhdHVyZV9uYW1lc3BhY2VfcHJlZml4ZXM6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5fX25zcGZ4CisgICAgICAgIGVsaWYgbmFtZSA9PSBmZWF0dXJlX3ZhbGlkYXRpb246CisgICAgICAgICAgICByZXR1cm4gc2VsZi5fX3ZhbGlkYXRlCisgICAgICAgIGVsaWYgbmFtZSA9PSBmZWF0dXJlX2V4dGVybmFsX2dlczoKKyAgICAgICAgICAgIHJldHVybiAxICMgVE9ETyAoZG9lcyB0aGF0IHJlbGF0ZSB0byBQQVJTRVJfTE9BRERURCk/CisgICAgICAgIGVsaWYgbmFtZSA9PSBmZWF0dXJlX2V4dGVybmFsX3BlczoKKyAgICAgICAgICAgIHJldHVybiBzZWxmLl9fZXh0cGFyYW1zCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByYWlzZSBTQVhOb3RSZWNvZ25pemVkRXhjZXB0aW9uKCJGZWF0dXJlICclcycgbm90IHJlY29nbml6ZWQiICUgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lKQorCisgICAgZGVmIHNldEZlYXR1cmUoc2VsZiwgbmFtZSwgc3RhdGUpOgorICAgICAgICBpZiBzZWxmLl9fcGFyc2luZzoKKyAgICAgICAgICAgIHJhaXNlIFNBWE5vdFN1cHBvcnRlZEV4Y2VwdGlvbigiQ2Fubm90IHNldCBmZWF0dXJlICVzICIgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ3aGlsZSBwYXJzaW5nIiAlIG5hbWUpCisgICAgICAgIGlmIG5hbWUgPT0gZmVhdHVyZV9uYW1lc3BhY2VzOgorICAgICAgICAgICAgc2VsZi5fX25zID0gc3RhdGUKKyAgICAgICAgZWxpZiBuYW1lID09IGZlYXR1cmVfbmFtZXNwYWNlX3ByZWZpeGVzOgorICAgICAgICAgICAgc2VsZi5fX25zcGZ4ID0gc3RhdGUKKyAgICAgICAgZWxpZiBuYW1lID09IGZlYXR1cmVfdmFsaWRhdGlvbjoKKyAgICAgICAgICAgIHNlbGYuX192YWxpZGF0ZSA9IHN0YXRlCisgICAgICAgIGVsaWYgbmFtZSA9PSBmZWF0dXJlX2V4dGVybmFsX2dlczoKKyAgICAgICAgICAgIGlmIHN0YXRlID09IDA6CisgICAgICAgICAgICAgICAgIyBUT0RPIChkb2VzIHRoYXQgcmVsYXRlIHRvIFBBUlNFUl9MT0FERFREKT8KKyAgICAgICAgICAgICAgICByYWlzZSBTQVhOb3RTdXBwb3J0ZWRFeGNlcHRpb24oIkZlYXR1cmUgJyVzJyBub3Qgc3VwcG9ydGVkIiAlIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSkKKyAgICAgICAgZWxpZiBuYW1lID09IGZlYXR1cmVfZXh0ZXJuYWxfcGVzOgorICAgICAgICAgICAgc2VsZi5fX2V4dHBhcmFtcyA9IHN0YXRlCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByYWlzZSBTQVhOb3RSZWNvZ25pemVkRXhjZXB0aW9uKCJGZWF0dXJlICclcycgbm90IHJlY29nbml6ZWQiICUgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lKQorCisgICAgZGVmIGdldFByb3BlcnR5KHNlbGYsIG5hbWUpOgorICAgICAgICBpZiBuYW1lID09IHByb3BlcnR5X2xleGljYWxfaGFuZGxlcjoKKyAgICAgICAgICAgIHJldHVybiBzZWxmLl9fbGV4X2hhbmRsZXIKKyAgICAgICAgZWxpZiBuYW1lID09IHByb3BlcnR5X2RlY2xhcmF0aW9uX2hhbmRsZXI6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5fX2RlY2xfaGFuZGxlcgorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmFpc2UgU0FYTm90UmVjb2duaXplZEV4Y2VwdGlvbigiUHJvcGVydHkgJyVzJyBub3QgcmVjb2duaXplZCIgJSBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUpCisKKyAgICBkZWYgc2V0UHJvcGVydHkoc2VsZiwgbmFtZSwgdmFsdWUpOiAgICAgCisgICAgICAgIGlmIG5hbWUgPT0gcHJvcGVydHlfbGV4aWNhbF9oYW5kbGVyOgorICAgICAgICAgICAgc2VsZi5fX2xleF9oYW5kbGVyID0gdmFsdWUKKyAgICAgICAgZWxpZiBuYW1lID09IHByb3BlcnR5X2RlY2xhcmF0aW9uX2hhbmRsZXI6CisgICAgICAgICAgICAjIFRPRE86IHJlbW92ZSBpZi93aGVuIGxpYnhtbDIgc3VwcG9ydHMgZHRkIGV2ZW50cworICAgICAgICAgICAgcmFpc2UgU0FYTm90U3VwcG9ydGVkRXhjZXB0aW9uKCJQcm9wZXJ0eSAnJXMnIG5vdCBzdXBwb3J0ZWQiICUgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUpCisgICAgICAgICAgICBzZWxmLl9fZGVjbF9oYW5kbGVyID0gdmFsdWUKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJhaXNlIFNBWE5vdFJlY29nbml6ZWRFeGNlcHRpb24oIlByb3BlcnR5ICclcycgbm90IHJlY29nbml6ZWQiICUgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lKQorCitkZWYgY3JlYXRlX3BhcnNlcigpOgorICAgIHJldHVybiBMaWJYbWwyUmVhZGVyKCkKKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9weXRob24vZ2VuZXJhdG9yLnB5IGIvbGlieG1sMi9weXRob24vZ2VuZXJhdG9yLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmMwY2IzYWQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3B5dGhvbi9nZW5lcmF0b3IucHkKQEAgLTAsMCArMSwxMjI4IEBACisjIS91c3IvYmluL3B5dGhvbiAtdQorIworIyBnZW5lcmF0ZSBweXRob24gd3JhcHBlcnMgZnJvbSB0aGUgWE1MIEFQSSBkZXNjcmlwdGlvbgorIworCitmdW5jdGlvbnMgPSB7fQorZW51bXMgPSB7fSAjIHsgZW51bVR5cGU6IHsgZW51bUNvbnN0YW50OiBlbnVtVmFsdWUgfSB9CisKK2ltcG9ydCBvcworaW1wb3J0IHN5cworaW1wb3J0IHN0cmluZworCitpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgorICAgICMgbGF1bmNoZWQgYXMgYSBzY3JpcHQKKyAgICBzcmNQcmVmID0gb3MucGF0aC5kaXJuYW1lKHN5cy5hcmd2WzBdKQorZWxzZToKKyAgICAjIGltcG9ydGVkCisgICAgc3JjUHJlZiA9IG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXykKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMKKyMgIFRoYXQgcGFydCBpZiBwdXJlbHkgdGhlIEFQSSBhY3F1aXNpdGlvbiBwaGFzZSBmcm9tIHRoZQorIyAgWE1MIEFQSSBkZXNjcmlwdGlvbgorIworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKK2ltcG9ydCBvcworaW1wb3J0IHhtbC5zYXgKKworZGVidWcgPSAwCisKK2RlZiBnZXRwYXJzZXIoKToKKyAgICAjIEF0dGFjaCBwYXJzZXIgdG8gYW4gdW5tYXJzaGFsbGluZyBvYmplY3QuIHJldHVybiBib3RoIG9iamVjdHMuCisgICAgdGFyZ2V0ID0gZG9jUGFyc2VyKCkKKyAgICBwYXJzZXIgPSB4bWwuc2F4Lm1ha2VfcGFyc2VyKCkKKyAgICBwYXJzZXIuc2V0Q29udGVudEhhbmRsZXIodGFyZ2V0KQorICAgIHJldHVybiBwYXJzZXIsIHRhcmdldAorCitjbGFzcyBkb2NQYXJzZXIoeG1sLnNheC5oYW5kbGVyLkNvbnRlbnRIYW5kbGVyKToKKyAgICBkZWYgX19pbml0X18oc2VsZik6CisgICAgICAgIHNlbGYuX21ldGhvZG5hbWUgPSBOb25lCisgICAgICAgIHNlbGYuX2RhdGEgPSBbXQorICAgICAgICBzZWxmLmluX2Z1bmN0aW9uID0gMAorCisgICAgICAgIHNlbGYuc3RhcnRFbGVtZW50ID0gc2VsZi5zdGFydAorICAgICAgICBzZWxmLmVuZEVsZW1lbnQgPSBzZWxmLmVuZAorICAgICAgICBzZWxmLmNoYXJhY3RlcnMgPSBzZWxmLmRhdGEKKworICAgIGRlZiBjbG9zZShzZWxmKToKKyAgICAgICAgaWYgZGVidWc6CisgICAgICAgICAgICBwcmludCgiY2xvc2UiKQorCisgICAgZGVmIGdldG1ldGhvZG5hbWUoc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLl9tZXRob2RuYW1lCisKKyAgICBkZWYgZGF0YShzZWxmLCB0ZXh0KToKKyAgICAgICAgaWYgZGVidWc6CisgICAgICAgICAgICBwcmludCgiZGF0YSAlcyIgJSB0ZXh0KQorICAgICAgICBzZWxmLl9kYXRhLmFwcGVuZCh0ZXh0KQorCisgICAgZGVmIHN0YXJ0KHNlbGYsIHRhZywgYXR0cnMpOgorICAgICAgICBpZiBkZWJ1ZzoKKyAgICAgICAgICAgIHByaW50KCJzdGFydCAlcywgJXMiICUgKHRhZywgYXR0cnMpKQorICAgICAgICBpZiB0YWcgPT0gJ2Z1bmN0aW9uJzoKKyAgICAgICAgICAgIHNlbGYuX2RhdGEgPSBbXQorICAgICAgICAgICAgc2VsZi5pbl9mdW5jdGlvbiA9IDEKKyAgICAgICAgICAgIHNlbGYuZnVuY3Rpb24gPSBOb25lCisgICAgICAgICAgICBzZWxmLmZ1bmN0aW9uX2NvbmQgPSBOb25lCisgICAgICAgICAgICBzZWxmLmZ1bmN0aW9uX2FyZ3MgPSBbXQorICAgICAgICAgICAgc2VsZi5mdW5jdGlvbl9kZXNjciA9IE5vbmUKKyAgICAgICAgICAgIHNlbGYuZnVuY3Rpb25fcmV0dXJuID0gTm9uZQorICAgICAgICAgICAgc2VsZi5mdW5jdGlvbl9maWxlID0gTm9uZQorICAgICAgICAgICAgaWYgJ25hbWUnIGluIGF0dHJzLmtleXMoKToKKyAgICAgICAgICAgICAgICBzZWxmLmZ1bmN0aW9uID0gYXR0cnNbJ25hbWUnXQorICAgICAgICAgICAgaWYgJ2ZpbGUnIGluIGF0dHJzLmtleXMoKToKKyAgICAgICAgICAgICAgICBzZWxmLmZ1bmN0aW9uX2ZpbGUgPSBhdHRyc1snZmlsZSddCisgICAgICAgIGVsaWYgdGFnID09ICdjb25kJzoKKyAgICAgICAgICAgIHNlbGYuX2RhdGEgPSBbXQorICAgICAgICBlbGlmIHRhZyA9PSAnaW5mbyc6CisgICAgICAgICAgICBzZWxmLl9kYXRhID0gW10KKyAgICAgICAgZWxpZiB0YWcgPT0gJ2FyZyc6CisgICAgICAgICAgICBpZiBzZWxmLmluX2Z1bmN0aW9uID09IDE6CisgICAgICAgICAgICAgICAgc2VsZi5mdW5jdGlvbl9hcmdfbmFtZSA9IE5vbmUKKyAgICAgICAgICAgICAgICBzZWxmLmZ1bmN0aW9uX2FyZ190eXBlID0gTm9uZQorICAgICAgICAgICAgICAgIHNlbGYuZnVuY3Rpb25fYXJnX2luZm8gPSBOb25lCisgICAgICAgICAgICAgICAgaWYgJ25hbWUnIGluIGF0dHJzLmtleXMoKToKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5mdW5jdGlvbl9hcmdfbmFtZSA9IGF0dHJzWyduYW1lJ10KKyAgICAgICAgICAgICAgICBpZiAndHlwZScgaW4gYXR0cnMua2V5cygpOgorICAgICAgICAgICAgICAgICAgICBzZWxmLmZ1bmN0aW9uX2FyZ190eXBlID0gYXR0cnNbJ3R5cGUnXQorICAgICAgICAgICAgICAgIGlmICdpbmZvJyBpbiBhdHRycy5rZXlzKCk6CisgICAgICAgICAgICAgICAgICAgIHNlbGYuZnVuY3Rpb25fYXJnX2luZm8gPSBhdHRyc1snaW5mbyddCisgICAgICAgIGVsaWYgdGFnID09ICdyZXR1cm4nOgorICAgICAgICAgICAgaWYgc2VsZi5pbl9mdW5jdGlvbiA9PSAxOgorICAgICAgICAgICAgICAgIHNlbGYuZnVuY3Rpb25fcmV0dXJuX3R5cGUgPSBOb25lCisgICAgICAgICAgICAgICAgc2VsZi5mdW5jdGlvbl9yZXR1cm5faW5mbyA9IE5vbmUKKyAgICAgICAgICAgICAgICBzZWxmLmZ1bmN0aW9uX3JldHVybl9maWVsZCA9IE5vbmUKKyAgICAgICAgICAgICAgICBpZiAndHlwZScgaW4gYXR0cnMua2V5cygpOgorICAgICAgICAgICAgICAgICAgICBzZWxmLmZ1bmN0aW9uX3JldHVybl90eXBlID0gYXR0cnNbJ3R5cGUnXQorICAgICAgICAgICAgICAgIGlmICdpbmZvJyBpbiBhdHRycy5rZXlzKCk6CisgICAgICAgICAgICAgICAgICAgIHNlbGYuZnVuY3Rpb25fcmV0dXJuX2luZm8gPSBhdHRyc1snaW5mbyddCisgICAgICAgICAgICAgICAgaWYgJ2ZpZWxkJyBpbiBhdHRycy5rZXlzKCk6CisgICAgICAgICAgICAgICAgICAgIHNlbGYuZnVuY3Rpb25fcmV0dXJuX2ZpZWxkID0gYXR0cnNbJ2ZpZWxkJ10KKyAgICAgICAgZWxpZiB0YWcgPT0gJ2VudW0nOgorICAgICAgICAgICAgZW51bShhdHRyc1sndHlwZSddLGF0dHJzWyduYW1lJ10sYXR0cnNbJ3ZhbHVlJ10pCisKKyAgICBkZWYgZW5kKHNlbGYsIHRhZyk6CisgICAgICAgIGlmIGRlYnVnOgorICAgICAgICAgICAgcHJpbnQoImVuZCAlcyIgJSB0YWcpCisgICAgICAgIGlmIHRhZyA9PSAnZnVuY3Rpb24nOgorICAgICAgICAgICAgaWYgc2VsZi5mdW5jdGlvbiAhPSBOb25lOgorICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHNlbGYuZnVuY3Rpb24sIHNlbGYuZnVuY3Rpb25fZGVzY3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5mdW5jdGlvbl9yZXR1cm4sIHNlbGYuZnVuY3Rpb25fYXJncywKKyAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmZ1bmN0aW9uX2ZpbGUsIHNlbGYuZnVuY3Rpb25fY29uZCkKKyAgICAgICAgICAgICAgICBzZWxmLmluX2Z1bmN0aW9uID0gMAorICAgICAgICBlbGlmIHRhZyA9PSAnYXJnJzoKKyAgICAgICAgICAgIGlmIHNlbGYuaW5fZnVuY3Rpb24gPT0gMToKKyAgICAgICAgICAgICAgICBzZWxmLmZ1bmN0aW9uX2FyZ3MuYXBwZW5kKFtzZWxmLmZ1bmN0aW9uX2FyZ19uYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZnVuY3Rpb25fYXJnX3R5cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5mdW5jdGlvbl9hcmdfaW5mb10pCisgICAgICAgIGVsaWYgdGFnID09ICdyZXR1cm4nOgorICAgICAgICAgICAgaWYgc2VsZi5pbl9mdW5jdGlvbiA9PSAxOgorICAgICAgICAgICAgICAgIHNlbGYuZnVuY3Rpb25fcmV0dXJuID0gW3NlbGYuZnVuY3Rpb25fcmV0dXJuX3R5cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5mdW5jdGlvbl9yZXR1cm5faW5mbywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmZ1bmN0aW9uX3JldHVybl9maWVsZF0KKyAgICAgICAgZWxpZiB0YWcgPT0gJ2luZm8nOgorICAgICAgICAgICAgc3RyID0gJycKKyAgICAgICAgICAgIGZvciBjIGluIHNlbGYuX2RhdGE6CisgICAgICAgICAgICAgICAgc3RyID0gc3RyICsgYworICAgICAgICAgICAgaWYgc2VsZi5pbl9mdW5jdGlvbiA9PSAxOgorICAgICAgICAgICAgICAgIHNlbGYuZnVuY3Rpb25fZGVzY3IgPSBzdHIKKyAgICAgICAgZWxpZiB0YWcgPT0gJ2NvbmQnOgorICAgICAgICAgICAgc3RyID0gJycKKyAgICAgICAgICAgIGZvciBjIGluIHNlbGYuX2RhdGE6CisgICAgICAgICAgICAgICAgc3RyID0gc3RyICsgYworICAgICAgICAgICAgaWYgc2VsZi5pbl9mdW5jdGlvbiA9PSAxOgorICAgICAgICAgICAgICAgIHNlbGYuZnVuY3Rpb25fY29uZCA9IHN0cgorCisKK2RlZiBmdW5jdGlvbihuYW1lLCBkZXNjLCByZXQsIGFyZ3MsIGZpbGUsIGNvbmQpOgorICAgIGZ1bmN0aW9uc1tuYW1lXSA9IChkZXNjLCByZXQsIGFyZ3MsIGZpbGUsIGNvbmQpCisKK2RlZiBlbnVtKHR5cGUsIG5hbWUsIHZhbHVlKToKKyAgICBpZiB0eXBlIG5vdCBpbiBlbnVtczoKKyAgICAgICAgZW51bXNbdHlwZV0gPSB7fQorICAgIGVudW1zW3R5cGVdW25hbWVdID0gdmFsdWUKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMKKyMgIFNvbWUgZmlsdGVyaW5nIHJ1a2VzIHRvIGRyb3AgZnVuY3Rpb25zL3R5cGVzIHdoaWNoIHNob3VsZCBub3QKKyMgIGJlIGV4cG9zZWQgYXMtaXMgb24gdGhlIFB5dGhvbiBpbnRlcmZhY2UKKyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKK3NraXBwZWRfbW9kdWxlcyA9IHsKKyAgICAneG1sbWVtb3J5JzogTm9uZSwKKyAgICAnRE9DQnBhcnNlcic6IE5vbmUsCisgICAgJ1NBWCc6IE5vbmUsCisgICAgJ2hhc2gnOiBOb25lLAorICAgICdsaXN0JzogTm9uZSwKKyAgICAndGhyZWFkcyc6IE5vbmUsCisjICAgICd4cG9pbnRlcic6IE5vbmUsCit9Citza2lwcGVkX3R5cGVzID0geworICAgICdpbnQgKic6ICJ1c3VhbGx5IGEgcmV0dXJuIHR5cGUiLAorICAgICd4bWxTQVhIYW5kbGVyUHRyJzogIm5vdCB0aGUgcHJvcGVyIGludGVyZmFjZSBmb3IgU0FYIiwKKyAgICAnaHRtbFNBWEhhbmRsZXJQdHInOiAibm90IHRoZSBwcm9wZXIgaW50ZXJmYWNlIGZvciBTQVgiLAorICAgICd4bWxSTXV0ZXhQdHInOiAidGhyZWFkIHNwZWNpZmljLCBza2lwcGVkIiwKKyAgICAneG1sTXV0ZXhQdHInOiAidGhyZWFkIHNwZWNpZmljLCBza2lwcGVkIiwKKyAgICAneG1sR2xvYmFsU3RhdGVQdHInOiAidGhyZWFkIHNwZWNpZmljLCBza2lwcGVkIiwKKyAgICAneG1sTGlzdFB0cic6ICJpbnRlcm5hbCByZXByZXNlbnRhdGlvbiBub3Qgc3VpdGFibGUgZm9yIHB5dGhvbiIsCisgICAgJ3htbEJ1ZmZlclB0cic6ICJpbnRlcm5hbCByZXByZXNlbnRhdGlvbiBub3Qgc3VpdGFibGUgZm9yIHB5dGhvbiIsCisgICAgJ0ZJTEUgKic6IE5vbmUsCit9CisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjCisjICBUYWJsZSBvZiByZW1hcHBpbmcgdG8vZnJvbSB0aGUgcHl0aG9uIHR5cGUgb3IgY2xhc3MgdG8gdGhlIEMKKyMgIGNvdW50ZXJwYXJ0LgorIworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworcHlfdHlwZXMgPSB7CisgICAgJ3ZvaWQnOiAoTm9uZSwgTm9uZSwgTm9uZSwgTm9uZSksCisgICAgJ2ludCc6ICAoJ2knLCBOb25lLCAiaW50IiwgImludCIpLAorICAgICdsb25nJzogICgnbCcsIE5vbmUsICJsb25nIiwgImxvbmciKSwKKyAgICAnZG91YmxlJzogICgnZCcsIE5vbmUsICJkb3VibGUiLCAiZG91YmxlIiksCisgICAgJ3Vuc2lnbmVkIGludCc6ICAoJ2knLCBOb25lLCAiaW50IiwgImludCIpLAorICAgICd4bWxDaGFyJzogICgnYycsIE5vbmUsICJpbnQiLCAiaW50IiksCisgICAgJ3Vuc2lnbmVkIGNoYXIgKic6ICAoJ3onLCBOb25lLCAiY2hhclB0ciIsICJjaGFyICoiKSwKKyAgICAnY2hhciAqJzogICgneicsIE5vbmUsICJjaGFyUHRyIiwgImNoYXIgKiIpLAorICAgICdjb25zdCBjaGFyIConOiAgKCd6JywgTm9uZSwgImNoYXJQdHJDb25zdCIsICJjb25zdCBjaGFyICoiKSwKKyAgICAneG1sQ2hhciAqJzogICgneicsIE5vbmUsICJ4bWxDaGFyUHRyIiwgInhtbENoYXIgKiIpLAorICAgICdjb25zdCB4bWxDaGFyIConOiAgKCd6JywgTm9uZSwgInhtbENoYXJQdHJDb25zdCIsICJjb25zdCB4bWxDaGFyICoiKSwKKyAgICAneG1sTm9kZVB0cic6ICAoJ08nLCAieG1sTm9kZSIsICJ4bWxOb2RlUHRyIiwgInhtbE5vZGVQdHIiKSwKKyAgICAnY29uc3QgeG1sTm9kZVB0cic6ICAoJ08nLCAieG1sTm9kZSIsICJ4bWxOb2RlUHRyIiwgInhtbE5vZGVQdHIiKSwKKyAgICAneG1sTm9kZSAqJzogICgnTycsICJ4bWxOb2RlIiwgInhtbE5vZGVQdHIiLCAieG1sTm9kZVB0ciIpLAorICAgICdjb25zdCB4bWxOb2RlIConOiAgKCdPJywgInhtbE5vZGUiLCAieG1sTm9kZVB0ciIsICJ4bWxOb2RlUHRyIiksCisgICAgJ3htbER0ZFB0cic6ICAoJ08nLCAieG1sTm9kZSIsICJ4bWxOb2RlUHRyIiwgInhtbE5vZGVQdHIiKSwKKyAgICAnY29uc3QgeG1sRHRkUHRyJzogICgnTycsICJ4bWxOb2RlIiwgInhtbE5vZGVQdHIiLCAieG1sTm9kZVB0ciIpLAorICAgICd4bWxEdGQgKic6ICAoJ08nLCAieG1sTm9kZSIsICJ4bWxOb2RlUHRyIiwgInhtbE5vZGVQdHIiKSwKKyAgICAnY29uc3QgeG1sRHRkIConOiAgKCdPJywgInhtbE5vZGUiLCAieG1sTm9kZVB0ciIsICJ4bWxOb2RlUHRyIiksCisgICAgJ3htbEF0dHJQdHInOiAgKCdPJywgInhtbE5vZGUiLCAieG1sTm9kZVB0ciIsICJ4bWxOb2RlUHRyIiksCisgICAgJ2NvbnN0IHhtbEF0dHJQdHInOiAgKCdPJywgInhtbE5vZGUiLCAieG1sTm9kZVB0ciIsICJ4bWxOb2RlUHRyIiksCisgICAgJ3htbEF0dHIgKic6ICAoJ08nLCAieG1sTm9kZSIsICJ4bWxOb2RlUHRyIiwgInhtbE5vZGVQdHIiKSwKKyAgICAnY29uc3QgeG1sQXR0ciAqJzogICgnTycsICJ4bWxOb2RlIiwgInhtbE5vZGVQdHIiLCAieG1sTm9kZVB0ciIpLAorICAgICd4bWxFbnRpdHlQdHInOiAgKCdPJywgInhtbE5vZGUiLCAieG1sTm9kZVB0ciIsICJ4bWxOb2RlUHRyIiksCisgICAgJ2NvbnN0IHhtbEVudGl0eVB0cic6ICAoJ08nLCAieG1sTm9kZSIsICJ4bWxOb2RlUHRyIiwgInhtbE5vZGVQdHIiKSwKKyAgICAneG1sRW50aXR5IConOiAgKCdPJywgInhtbE5vZGUiLCAieG1sTm9kZVB0ciIsICJ4bWxOb2RlUHRyIiksCisgICAgJ2NvbnN0IHhtbEVudGl0eSAqJzogICgnTycsICJ4bWxOb2RlIiwgInhtbE5vZGVQdHIiLCAieG1sTm9kZVB0ciIpLAorICAgICd4bWxFbGVtZW50UHRyJzogICgnTycsICJ4bWxFbGVtZW50IiwgInhtbEVsZW1lbnRQdHIiLCAieG1sRWxlbWVudFB0ciIpLAorICAgICdjb25zdCB4bWxFbGVtZW50UHRyJzogICgnTycsICJ4bWxFbGVtZW50IiwgInhtbEVsZW1lbnRQdHIiLCAieG1sRWxlbWVudFB0ciIpLAorICAgICd4bWxFbGVtZW50IConOiAgKCdPJywgInhtbEVsZW1lbnQiLCAieG1sRWxlbWVudFB0ciIsICJ4bWxFbGVtZW50UHRyIiksCisgICAgJ2NvbnN0IHhtbEVsZW1lbnQgKic6ICAoJ08nLCAieG1sRWxlbWVudCIsICJ4bWxFbGVtZW50UHRyIiwgInhtbEVsZW1lbnRQdHIiKSwKKyAgICAneG1sQXR0cmlidXRlUHRyJzogICgnTycsICJ4bWxBdHRyaWJ1dGUiLCAieG1sQXR0cmlidXRlUHRyIiwgInhtbEF0dHJpYnV0ZVB0ciIpLAorICAgICdjb25zdCB4bWxBdHRyaWJ1dGVQdHInOiAgKCdPJywgInhtbEF0dHJpYnV0ZSIsICJ4bWxBdHRyaWJ1dGVQdHIiLCAieG1sQXR0cmlidXRlUHRyIiksCisgICAgJ3htbEF0dHJpYnV0ZSAqJzogICgnTycsICJ4bWxBdHRyaWJ1dGUiLCAieG1sQXR0cmlidXRlUHRyIiwgInhtbEF0dHJpYnV0ZVB0ciIpLAorICAgICdjb25zdCB4bWxBdHRyaWJ1dGUgKic6ICAoJ08nLCAieG1sQXR0cmlidXRlIiwgInhtbEF0dHJpYnV0ZVB0ciIsICJ4bWxBdHRyaWJ1dGVQdHIiKSwKKyAgICAneG1sTnNQdHInOiAgKCdPJywgInhtbE5vZGUiLCAieG1sTnNQdHIiLCAieG1sTnNQdHIiKSwKKyAgICAnY29uc3QgeG1sTnNQdHInOiAgKCdPJywgInhtbE5vZGUiLCAieG1sTnNQdHIiLCAieG1sTnNQdHIiKSwKKyAgICAneG1sTnMgKic6ICAoJ08nLCAieG1sTm9kZSIsICJ4bWxOc1B0ciIsICJ4bWxOc1B0ciIpLAorICAgICdjb25zdCB4bWxOcyAqJzogICgnTycsICJ4bWxOb2RlIiwgInhtbE5zUHRyIiwgInhtbE5zUHRyIiksCisgICAgJ3htbERvY1B0cic6ICAoJ08nLCAieG1sTm9kZSIsICJ4bWxEb2NQdHIiLCAieG1sRG9jUHRyIiksCisgICAgJ2NvbnN0IHhtbERvY1B0cic6ICAoJ08nLCAieG1sTm9kZSIsICJ4bWxEb2NQdHIiLCAieG1sRG9jUHRyIiksCisgICAgJ3htbERvYyAqJzogICgnTycsICJ4bWxOb2RlIiwgInhtbERvY1B0ciIsICJ4bWxEb2NQdHIiKSwKKyAgICAnY29uc3QgeG1sRG9jIConOiAgKCdPJywgInhtbE5vZGUiLCAieG1sRG9jUHRyIiwgInhtbERvY1B0ciIpLAorICAgICdodG1sRG9jUHRyJzogICgnTycsICJ4bWxOb2RlIiwgInhtbERvY1B0ciIsICJ4bWxEb2NQdHIiKSwKKyAgICAnY29uc3QgaHRtbERvY1B0cic6ICAoJ08nLCAieG1sTm9kZSIsICJ4bWxEb2NQdHIiLCAieG1sRG9jUHRyIiksCisgICAgJ2h0bWxEb2MgKic6ICAoJ08nLCAieG1sTm9kZSIsICJ4bWxEb2NQdHIiLCAieG1sRG9jUHRyIiksCisgICAgJ2NvbnN0IGh0bWxEb2MgKic6ICAoJ08nLCAieG1sTm9kZSIsICJ4bWxEb2NQdHIiLCAieG1sRG9jUHRyIiksCisgICAgJ2h0bWxOb2RlUHRyJzogICgnTycsICJ4bWxOb2RlIiwgInhtbE5vZGVQdHIiLCAieG1sTm9kZVB0ciIpLAorICAgICdjb25zdCBodG1sTm9kZVB0cic6ICAoJ08nLCAieG1sTm9kZSIsICJ4bWxOb2RlUHRyIiwgInhtbE5vZGVQdHIiKSwKKyAgICAnaHRtbE5vZGUgKic6ICAoJ08nLCAieG1sTm9kZSIsICJ4bWxOb2RlUHRyIiwgInhtbE5vZGVQdHIiKSwKKyAgICAnY29uc3QgaHRtbE5vZGUgKic6ICAoJ08nLCAieG1sTm9kZSIsICJ4bWxOb2RlUHRyIiwgInhtbE5vZGVQdHIiKSwKKyAgICAneG1sWFBhdGhDb250ZXh0UHRyJzogICgnTycsICJ4bWxYUGF0aENvbnRleHQiLCAieG1sWFBhdGhDb250ZXh0UHRyIiwgInhtbFhQYXRoQ29udGV4dFB0ciIpLAorICAgICd4bWxYUGF0aENvbnRleHQgKic6ICAoJ08nLCAieHBhdGhDb250ZXh0IiwgInhtbFhQYXRoQ29udGV4dFB0ciIsICJ4bWxYUGF0aENvbnRleHRQdHIiKSwKKyAgICAneG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyJzogICgnTycsICJ4bWxYUGF0aFBhcnNlckNvbnRleHQiLCAieG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIiwgInhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciIpLAorICAgICd4bWxQYXJzZXJDdHh0UHRyJzogKCdPJywgInBhcnNlckN0eHQiLCAieG1sUGFyc2VyQ3R4dFB0ciIsICJ4bWxQYXJzZXJDdHh0UHRyIiksCisgICAgJ3htbFBhcnNlckN0eHQgKic6ICgnTycsICJwYXJzZXJDdHh0IiwgInhtbFBhcnNlckN0eHRQdHIiLCAieG1sUGFyc2VyQ3R4dFB0ciIpLAorICAgICdodG1sUGFyc2VyQ3R4dFB0cic6ICgnTycsICJwYXJzZXJDdHh0IiwgInhtbFBhcnNlckN0eHRQdHIiLCAieG1sUGFyc2VyQ3R4dFB0ciIpLAorICAgICdodG1sUGFyc2VyQ3R4dCAqJzogKCdPJywgInBhcnNlckN0eHQiLCAieG1sUGFyc2VyQ3R4dFB0ciIsICJ4bWxQYXJzZXJDdHh0UHRyIiksCisgICAgJ3htbFZhbGlkQ3R4dFB0cic6ICgnTycsICJWYWxpZEN0eHQiLCAieG1sVmFsaWRDdHh0UHRyIiwgInhtbFZhbGlkQ3R4dFB0ciIpLAorICAgICd4bWxDYXRhbG9nUHRyJzogKCdPJywgImNhdGFsb2ciLCAieG1sQ2F0YWxvZ1B0ciIsICJ4bWxDYXRhbG9nUHRyIiksCisgICAgJ0ZJTEUgKic6ICgnTycsICJGaWxlIiwgIkZJTEVQdHIiLCAiRklMRSAqIiksCisgICAgJ3htbFVSSVB0cic6ICgnTycsICJVUkkiLCAieG1sVVJJUHRyIiwgInhtbFVSSVB0ciIpLAorICAgICd4bWxFcnJvclB0cic6ICgnTycsICJFcnJvciIsICJ4bWxFcnJvclB0ciIsICJ4bWxFcnJvclB0ciIpLAorICAgICd4bWxPdXRwdXRCdWZmZXJQdHInOiAoJ08nLCAib3V0cHV0QnVmZmVyIiwgInhtbE91dHB1dEJ1ZmZlclB0ciIsICJ4bWxPdXRwdXRCdWZmZXJQdHIiKSwKKyAgICAneG1sUGFyc2VySW5wdXRCdWZmZXJQdHInOiAoJ08nLCAiaW5wdXRCdWZmZXIiLCAieG1sUGFyc2VySW5wdXRCdWZmZXJQdHIiLCAieG1sUGFyc2VySW5wdXRCdWZmZXJQdHIiKSwKKyAgICAneG1sUmVnZXhwUHRyJzogKCdPJywgInhtbFJlZyIsICJ4bWxSZWdleHBQdHIiLCAieG1sUmVnZXhwUHRyIiksCisgICAgJ3htbFRleHRSZWFkZXJMb2NhdG9yUHRyJzogKCdPJywgInhtbFRleHRSZWFkZXJMb2NhdG9yIiwgInhtbFRleHRSZWFkZXJMb2NhdG9yUHRyIiwgInhtbFRleHRSZWFkZXJMb2NhdG9yUHRyIiksCisgICAgJ3htbFRleHRSZWFkZXJQdHInOiAoJ08nLCAieG1sVGV4dFJlYWRlciIsICJ4bWxUZXh0UmVhZGVyUHRyIiwgInhtbFRleHRSZWFkZXJQdHIiKSwKKyAgICAneG1sUmVsYXhOR1B0cic6ICgnTycsICJyZWxheE5nU2NoZW1hIiwgInhtbFJlbGF4TkdQdHIiLCAieG1sUmVsYXhOR1B0ciIpLAorICAgICd4bWxSZWxheE5HUGFyc2VyQ3R4dFB0cic6ICgnTycsICJyZWxheE5nUGFyc2VyQ3R4dCIsICJ4bWxSZWxheE5HUGFyc2VyQ3R4dFB0ciIsICJ4bWxSZWxheE5HUGFyc2VyQ3R4dFB0ciIpLAorICAgICd4bWxSZWxheE5HVmFsaWRDdHh0UHRyJzogKCdPJywgInJlbGF4TmdWYWxpZEN0eHQiLCAieG1sUmVsYXhOR1ZhbGlkQ3R4dFB0ciIsICJ4bWxSZWxheE5HVmFsaWRDdHh0UHRyIiksCisgICAgJ3htbFNjaGVtYVB0cic6ICgnTycsICJTY2hlbWEiLCAieG1sU2NoZW1hUHRyIiwgInhtbFNjaGVtYVB0ciIpLAorICAgICd4bWxTY2hlbWFQYXJzZXJDdHh0UHRyJzogKCdPJywgIlNjaGVtYVBhcnNlckN0eHQiLCAieG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciIsICJ4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIiksCisgICAgJ3htbFNjaGVtYVZhbGlkQ3R4dFB0cic6ICgnTycsICJTY2hlbWFWYWxpZEN0eHQiLCAieG1sU2NoZW1hVmFsaWRDdHh0UHRyIiwgInhtbFNjaGVtYVZhbGlkQ3R4dFB0ciIpLAorfQorCitweV9yZXR1cm5fdHlwZXMgPSB7CisgICAgJ3htbFhQYXRoT2JqZWN0UHRyJzogICgnTycsICJmb28iLCAieG1sWFBhdGhPYmplY3RQdHIiLCAieG1sWFBhdGhPYmplY3RQdHIiKSwKK30KKwordW5rbm93bl90eXBlcyA9IHt9CisKK2ZvcmVpZ25fZW5jb2RpbmdfYXJncyA9ICgKKyAgICAnaHRtbENyZWF0ZU1lbW9yeVBhcnNlckN0eHQnLAorICAgICdodG1sQ3R4dFJlYWRNZW1vcnknLAorICAgICdodG1sUGFyc2VDaHVuaycsCisgICAgJ2h0bWxSZWFkTWVtb3J5JywKKyAgICAneG1sQ3JlYXRlTWVtb3J5UGFyc2VyQ3R4dCcsCisgICAgJ3htbEN0eHRSZWFkTWVtb3J5JywKKyAgICAneG1sQ3R4dFJlc2V0UHVzaCcsCisgICAgJ3htbFBhcnNlQ2h1bmsnLAorICAgICd4bWxQYXJzZU1lbW9yeScsCisgICAgJ3htbFJlYWRNZW1vcnknLAorICAgICd4bWxSZWNvdmVyTWVtb3J5JywKKykKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMKKyMgIFRoaXMgcGFydCB3cml0ZXMgdGhlIEMgPC0+IFB5dGhvbiBzdHVicyBsaWJ4bWwyLXB5LltjaF0gYW5kCisjICB0aGUgdGFibGUgbGlieG1sMi1leHBvcnQuYyB0byBhZGQgd2hlbiByZWdpc3RyZXJpbmcgdGhlIFB5dGhvbiBtb2R1bGUKKyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKKyMgQ2xhc3MgbWV0aG9kcyB3aGljaCBhcmUgd3JpdHRlbiBieSBoYW5kIGluIGxpYnhtbC5jIGJ1dCB0aGUgUHl0aG9uLWxldmVsCisjIGNvZGUgaXMgc3RpbGwgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgKHNvIHRoZXkgYXJlIG5vdCBpbiBza2lwX2Z1bmN0aW9uKCkpLgorc2tpcF9pbXBsID0gKAorICAgICd4bWxTYXZlRmlsZVRvJywKKyAgICAneG1sU2F2ZUZvcm1hdEZpbGVUbycsCispCisKK2RlZiBza2lwX2Z1bmN0aW9uKG5hbWUpOgorICAgIGlmIG5hbWVbMDoxMl0gPT0gInhtbFhQYXRoV3JhcCI6CisgICAgICAgIHJldHVybiAxCisgICAgaWYgbmFtZSA9PSAieG1sRnJlZVBhcnNlckN0eHQiOgorICAgICAgICByZXR1cm4gMQorICAgIGlmIG5hbWUgPT0gInhtbENsZWFudXBQYXJzZXIiOgorICAgICAgICByZXR1cm4gMQorICAgIGlmIG5hbWUgPT0gInhtbEZyZWVUZXh0UmVhZGVyIjoKKyAgICAgICAgcmV0dXJuIDEKKyMgICAgaWYgbmFtZVswOjExXSA9PSAieG1sWFBhdGhOZXciOgorIyAgICAgICAgcmV0dXJuIDEKKyAgICAjIHRoZSBuZXh0IGZ1bmN0aW9uIGlzIGRlZmluZWQgaW4gbGlieG1sLmMKKyAgICBpZiBuYW1lID09ICJ4bWxSZWxheE5HRnJlZVZhbGlkQ3R4dCI6CisgICAgICAgIHJldHVybiAxCisgICAgaWYgbmFtZSA9PSAieG1sRnJlZVZhbGlkQ3R4dCI6CisgICAgICAgIHJldHVybiAxCisgICAgaWYgbmFtZSA9PSAieG1sU2NoZW1hRnJlZVZhbGlkQ3R4dCI6CisgICAgICAgIHJldHVybiAxCisKKyMKKyMgVGhvc2UgYXJlIHNraXBwZWQgYmVjYXVzZSB0aGUgQ29uc3QgdmVyc2lvbiBpcyB1c2VkIG9mIHRoZSBiaW5kaW5ncworIyBpbnN0ZWFkLgorIworICAgIGlmIG5hbWUgPT0gInhtbFRleHRSZWFkZXJCYXNlVXJpIjoKKyAgICAgICAgcmV0dXJuIDEKKyAgICBpZiBuYW1lID09ICJ4bWxUZXh0UmVhZGVyTG9jYWxOYW1lIjoKKyAgICAgICAgcmV0dXJuIDEKKyAgICBpZiBuYW1lID09ICJ4bWxUZXh0UmVhZGVyTmFtZSI6CisgICAgICAgIHJldHVybiAxCisgICAgaWYgbmFtZSA9PSAieG1sVGV4dFJlYWRlck5hbWVzcGFjZVVyaSI6CisgICAgICAgIHJldHVybiAxCisgICAgaWYgbmFtZSA9PSAieG1sVGV4dFJlYWRlclByZWZpeCI6CisgICAgICAgIHJldHVybiAxCisgICAgaWYgbmFtZSA9PSAieG1sVGV4dFJlYWRlclhtbExhbmciOgorICAgICAgICByZXR1cm4gMQorICAgIGlmIG5hbWUgPT0gInhtbFRleHRSZWFkZXJWYWx1ZSI6CisgICAgICAgIHJldHVybiAxCisgICAgaWYgbmFtZSA9PSAieG1sT3V0cHV0QnVmZmVyQ2xvc2UiOiAjIGhhbmRsZWQgYnkgYnkgdGhlIHN1cGVyY2xhc3MKKyAgICAgICAgcmV0dXJuIDEKKyAgICBpZiBuYW1lID09ICJ4bWxPdXRwdXRCdWZmZXJGbHVzaCI6ICMgaGFuZGxlZCBieSBieSB0aGUgc3VwZXJjbGFzcworICAgICAgICByZXR1cm4gMQorICAgIGlmIG5hbWUgPT0gInhtbEVyck1lbW9yeSI6CisgICAgICAgIHJldHVybiAxCisKKyAgICBpZiBuYW1lID09ICJ4bWxWYWxpZEJ1aWxkQ29udGVudE1vZGVsIjoKKyAgICAgICAgcmV0dXJuIDEKKyAgICBpZiBuYW1lID09ICJ4bWxWYWxpZGF0ZUVsZW1lbnREZWNsIjoKKyAgICAgICAgcmV0dXJuIDEKKyAgICBpZiBuYW1lID09ICJ4bWxWYWxpZGF0ZUF0dHJpYnV0ZURlY2wiOgorICAgICAgICByZXR1cm4gMQorICAgIGlmIG5hbWUgPT0gInhtbFBvcElucHV0Q2FsbGJhY2tzIjoKKyAgICAgICAgcmV0dXJuIDEKKworICAgIHJldHVybiAwCisKK2RlZiBwcmludF9mdW5jdGlvbl93cmFwcGVyKG5hbWUsIG91dHB1dCwgZXhwb3J0LCBpbmNsdWRlKToKKyAgICBnbG9iYWwgcHlfdHlwZXMKKyAgICBnbG9iYWwgdW5rbm93bl90eXBlcworICAgIGdsb2JhbCBmdW5jdGlvbnMKKyAgICBnbG9iYWwgc2tpcHBlZF9tb2R1bGVzCisKKyAgICB0cnk6CisgICAgICAgIChkZXNjLCByZXQsIGFyZ3MsIGZpbGUsIGNvbmQpID0gZnVuY3Rpb25zW25hbWVdCisgICAgZXhjZXB0OgorICAgICAgICBwcmludCgiZmFpbGVkIHRvIGdldCBmdW5jdGlvbiAlcyBpbmZvcyIpCisgICAgICAgIHJldHVybgorCisgICAgaWYgZmlsZSBpbiBza2lwcGVkX21vZHVsZXM6CisgICAgICAgIHJldHVybiAwCisgICAgaWYgc2tpcF9mdW5jdGlvbihuYW1lKSA9PSAxOgorICAgICAgICByZXR1cm4gMAorICAgIGlmIG5hbWUgaW4gc2tpcF9pbXBsOgorICAgICAgICAjIERvbid0IGRlbGV0ZSB0aGUgZnVuY3Rpb24gZW50cnkgaW4gdGhlIGNhbGxlci4KKyAgICAgICAgcmV0dXJuIDEKKworICAgIGNfY2FsbCA9ICIiCisgICAgZm9ybWF0PSIiCisgICAgZm9ybWF0X2FyZ3M9IiIKKyAgICBjX2FyZ3M9IiIKKyAgICBjX3JldHVybj0iIgorICAgIGNfY29udmVydD0iIgorICAgIGNfcmVsZWFzZT0iIgorICAgIG51bV9idWZzPTAKKyAgICBmb3IgYXJnIGluIGFyZ3M6CisgICAgICAgICMgVGhpcyBzaG91bGQgYmUgY29ycmVjdAorICAgICAgICBpZiBhcmdbMV1bMDo2XSA9PSAiY29uc3QgIjoKKyAgICAgICAgICAgIGFyZ1sxXSA9IGFyZ1sxXVs2Ol0KKyAgICAgICAgY19hcmdzID0gY19hcmdzICsgIiAgICAlcyAlcztcbiIgJSAoYXJnWzFdLCBhcmdbMF0pCisgICAgICAgIGlmIGFyZ1sxXSBpbiBweV90eXBlczoKKyAgICAgICAgICAgIChmLCB0LCBuLCBjKSA9IHB5X3R5cGVzW2FyZ1sxXV0KKyAgICAgICAgICAgIGlmIChmID09ICd6JykgYW5kIChuYW1lIGluIGZvcmVpZ25fZW5jb2RpbmdfYXJncykgYW5kIChudW1fYnVmcyA9PSAwKToKKyAgICAgICAgICAgICAgICBmID0gJ3MjJworICAgICAgICAgICAgaWYgZiAhPSBOb25lOgorICAgICAgICAgICAgICAgIGZvcm1hdCA9IGZvcm1hdCArIGYKKyAgICAgICAgICAgIGlmIHQgIT0gTm9uZToKKyAgICAgICAgICAgICAgICBmb3JtYXRfYXJncyA9IGZvcm1hdF9hcmdzICsgIiwgJnB5b2JqXyVzIiAlIChhcmdbMF0pCisgICAgICAgICAgICAgICAgY19hcmdzID0gY19hcmdzICsgIiAgICBQeU9iamVjdCAqcHlvYmpfJXM7XG4iICUgKGFyZ1swXSkKKyAgICAgICAgICAgICAgICBjX2NvbnZlcnQgPSBjX2NvbnZlcnQgKyBcCisgICAgICAgICAgICAgICAgICAgIiAgICAlcyA9ICglcykgUHklc19HZXQocHlvYmpfJXMpO1xuIiAlIChhcmdbMF0sCisgICAgICAgICAgICAgICAgICAgYXJnWzFdLCB0LCBhcmdbMF0pCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIGZvcm1hdF9hcmdzID0gZm9ybWF0X2FyZ3MgKyAiLCAmJXMiICUgKGFyZ1swXSkKKyAgICAgICAgICAgIGlmIGYgPT0gJ3MjJzoKKyAgICAgICAgICAgICAgICBmb3JtYXRfYXJncyA9IGZvcm1hdF9hcmdzICsgIiwgJnB5X2J1ZmZzaXplJWQiICUgbnVtX2J1ZnMKKyAgICAgICAgICAgICAgICBjX2FyZ3MgPSBjX2FyZ3MgKyAiICAgIGludCBweV9idWZmc2l6ZSVkO1xuIiAlIG51bV9idWZzCisgICAgICAgICAgICAgICAgbnVtX2J1ZnMgPSBudW1fYnVmcyArIDEKKyAgICAgICAgICAgIGlmIGNfY2FsbCAhPSAiIjoKKyAgICAgICAgICAgICAgICBjX2NhbGwgPSBjX2NhbGwgKyAiLCAiCisgICAgICAgICAgICBjX2NhbGwgPSBjX2NhbGwgKyAiJXMiICUgKGFyZ1swXSkKKyAgICAgICAgICAgIGlmIHQgPT0gIkZpbGUiOgorICAgICAgICAgICAgICAgIGNfcmVsZWFzZSA9IGNfcmVsZWFzZSArIFwKKwkJICAgICAgICAgICAgIiAgICBQeUZpbGVfUmVsZWFzZSglcyk7XG4iICUgKGFyZ1swXSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGlmIGFyZ1sxXSBpbiBza2lwcGVkX3R5cGVzOgorICAgICAgICAgICAgICAgIHJldHVybiAwCisgICAgICAgICAgICBpZiBhcmdbMV0gaW4gdW5rbm93bl90eXBlczoKKyAgICAgICAgICAgICAgICBsc3QgPSB1bmtub3duX3R5cGVzW2FyZ1sxXV0KKyAgICAgICAgICAgICAgICBsc3QuYXBwZW5kKG5hbWUpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHVua25vd25fdHlwZXNbYXJnWzFdXSA9IFtuYW1lXQorICAgICAgICAgICAgcmV0dXJuIC0xCisgICAgaWYgZm9ybWF0ICE9ICIiOgorICAgICAgICBmb3JtYXQgPSBmb3JtYXQgKyAiOiVzIiAlIChuYW1lKQorCisgICAgaWYgcmV0WzBdID09ICd2b2lkJzoKKyAgICAgICAgaWYgZmlsZSA9PSAicHl0aG9uX2FjY2Vzc29yIjoKKyAgICAgICAgICAgIGlmIGFyZ3NbMV1bMV0gPT0gImNoYXIgKiIgb3IgYXJnc1sxXVsxXSA9PSAieG1sQ2hhciAqIjoKKyAgICAgICAgICAgICAgICBjX2NhbGwgPSAiXG4gICAgaWYgKCVzLT4lcyAhPSBOVUxMKSB4bWxGcmVlKCVzLT4lcyk7XG4iICUgKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJnc1swXVswXSwgYXJnc1sxXVswXSwgYXJnc1swXVswXSwgYXJnc1sxXVswXSkKKyAgICAgICAgICAgICAgICBjX2NhbGwgPSBjX2NhbGwgKyAiICAgICVzLT4lcyA9ICglcyl4bWxTdHJkdXAoKGNvbnN0IHhtbENoYXIgKiklcyk7XG4iICUgKGFyZ3NbMF1bMF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzWzFdWzBdLCBhcmdzWzFdWzFdLCBhcmdzWzFdWzBdKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBjX2NhbGwgPSAiXG4gICAgJXMtPiVzID0gJXM7XG4iICUgKGFyZ3NbMF1bMF0sIGFyZ3NbMV1bMF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzWzFdWzBdKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgY19jYWxsID0gIlxuICAgICVzKCVzKTtcbiIgJSAobmFtZSwgY19jYWxsKQorICAgICAgICByZXRfY29udmVydCA9ICIgICAgUHlfSU5DUkVGKFB5X05vbmUpO1xuICAgIHJldHVybihQeV9Ob25lKTtcbiIKKyAgICBlbGlmIHJldFswXSBpbiBweV90eXBlczoKKyAgICAgICAgKGYsIHQsIG4sIGMpID0gcHlfdHlwZXNbcmV0WzBdXQorICAgICAgICBjX3JldHVybiA9IGNfcmV0dXJuICsgIiAgICAlcyBjX3JldHZhbDtcbiIgJSAocmV0WzBdKQorICAgICAgICBpZiBmaWxlID09ICJweXRob25fYWNjZXNzb3IiIGFuZCByZXRbMl0gIT0gTm9uZToKKyAgICAgICAgICAgIGNfY2FsbCA9ICJcbiAgICBjX3JldHZhbCA9ICVzLT4lcztcbiIgJSAoYXJnc1swXVswXSwgcmV0WzJdKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgY19jYWxsID0gIlxuICAgIGNfcmV0dmFsID0gJXMoJXMpO1xuIiAlIChuYW1lLCBjX2NhbGwpCisgICAgICAgIHJldF9jb252ZXJ0ID0gIiAgICBweV9yZXR2YWwgPSBsaWJ4bWxfJXNXcmFwKCglcykgY19yZXR2YWwpO1xuIiAlIChuLGMpCisgICAgICAgIHJldF9jb252ZXJ0ID0gcmV0X2NvbnZlcnQgKyAiICAgIHJldHVybihweV9yZXR2YWwpO1xuIgorICAgIGVsaWYgcmV0WzBdIGluIHB5X3JldHVybl90eXBlczoKKyAgICAgICAgKGYsIHQsIG4sIGMpID0gcHlfcmV0dXJuX3R5cGVzW3JldFswXV0KKyAgICAgICAgY19yZXR1cm4gPSBjX3JldHVybiArICIgICAgJXMgY19yZXR2YWw7XG4iICUgKHJldFswXSkKKyAgICAgICAgY19jYWxsID0gIlxuICAgIGNfcmV0dmFsID0gJXMoJXMpO1xuIiAlIChuYW1lLCBjX2NhbGwpCisgICAgICAgIHJldF9jb252ZXJ0ID0gIiAgICBweV9yZXR2YWwgPSBsaWJ4bWxfJXNXcmFwKCglcykgY19yZXR2YWwpO1xuIiAlIChuLGMpCisgICAgICAgIHJldF9jb252ZXJ0ID0gcmV0X2NvbnZlcnQgKyAiICAgIHJldHVybihweV9yZXR2YWwpO1xuIgorICAgIGVsc2U6CisgICAgICAgIGlmIHJldFswXSBpbiBza2lwcGVkX3R5cGVzOgorICAgICAgICAgICAgcmV0dXJuIDAKKyAgICAgICAgaWYgcmV0WzBdIGluIHVua25vd25fdHlwZXM6CisgICAgICAgICAgICBsc3QgPSB1bmtub3duX3R5cGVzW3JldFswXV0KKyAgICAgICAgICAgIGxzdC5hcHBlbmQobmFtZSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHVua25vd25fdHlwZXNbcmV0WzBdXSA9IFtuYW1lXQorICAgICAgICByZXR1cm4gLTEKKworICAgIGlmIGNvbmQgIT0gTm9uZSBhbmQgY29uZCAhPSAiIjoKKyAgICAgICAgaW5jbHVkZS53cml0ZSgiI2lmICVzXG4iICUgY29uZCkKKyAgICAgICAgZXhwb3J0LndyaXRlKCIjaWYgJXNcbiIgJSBjb25kKQorICAgICAgICBvdXRwdXQud3JpdGUoIiNpZiAlc1xuIiAlIGNvbmQpCisKKyAgICBpbmNsdWRlLndyaXRlKCJQeU9iamVjdCAqICIpCisgICAgaW5jbHVkZS53cml0ZSgibGlieG1sXyVzKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncyk7XG4iICUgKG5hbWUpKQorCisgICAgZXhwb3J0LndyaXRlKCIgICAgeyAoY2hhciAqKVwiJXNcIiwgbGlieG1sXyVzLCBNRVRIX1ZBUkFSR1MsIE5VTEwgfSxcbiIgJQorICAgICAgICAgICAgICAgICAobmFtZSwgbmFtZSkpCisKKyAgICBpZiBmaWxlID09ICJweXRob24iOgorICAgICAgICAjIFRob3NlIGhhdmUgYmVlbiBtYW51YWxseSBnZW5lcmF0ZWQKKyAgICAgICAgaWYgY29uZCAhPSBOb25lIGFuZCBjb25kICE9ICIiOgorICAgICAgICAgICAgaW5jbHVkZS53cml0ZSgiI2VuZGlmXG4iKQorICAgICAgICAgICAgZXhwb3J0LndyaXRlKCIjZW5kaWZcbiIpCisgICAgICAgICAgICBvdXRwdXQud3JpdGUoIiNlbmRpZlxuIikKKyAgICAgICAgcmV0dXJuIDEKKyAgICBpZiBmaWxlID09ICJweXRob25fYWNjZXNzb3IiIGFuZCByZXRbMF0gIT0gInZvaWQiIGFuZCByZXRbMl0gaXMgTm9uZToKKyAgICAgICAgIyBUaG9zZSBoYXZlIGJlZW4gbWFudWFsbHkgZ2VuZXJhdGVkCisgICAgICAgIGlmIGNvbmQgIT0gTm9uZSBhbmQgY29uZCAhPSAiIjoKKyAgICAgICAgICAgIGluY2x1ZGUud3JpdGUoIiNlbmRpZlxuIikKKyAgICAgICAgICAgIGV4cG9ydC53cml0ZSgiI2VuZGlmXG4iKQorICAgICAgICAgICAgb3V0cHV0LndyaXRlKCIjZW5kaWZcbiIpCisgICAgICAgIHJldHVybiAxCisKKyAgICBvdXRwdXQud3JpdGUoIlB5T2JqZWN0ICpcbiIpCisgICAgb3V0cHV0LndyaXRlKCJsaWJ4bWxfJXMoUHlPYmplY3QgKnNlbGYgQVRUUklCVVRFX1VOVVNFRCwiICUgKG5hbWUpKQorICAgIG91dHB1dC53cml0ZSgiIFB5T2JqZWN0ICphcmdzIikKKyAgICBpZiBmb3JtYXQgPT0gIiI6CisgICAgICAgIG91dHB1dC53cml0ZSgiIEFUVFJJQlVURV9VTlVTRUQiKQorICAgIG91dHB1dC53cml0ZSgiKSB7XG4iKQorICAgIGlmIHJldFswXSAhPSAndm9pZCc6CisgICAgICAgIG91dHB1dC53cml0ZSgiICAgIFB5T2JqZWN0ICpweV9yZXR2YWw7XG4iKQorICAgIGlmIGNfcmV0dXJuICE9ICIiOgorICAgICAgICBvdXRwdXQud3JpdGUoY19yZXR1cm4pCisgICAgaWYgY19hcmdzICE9ICIiOgorICAgICAgICBvdXRwdXQud3JpdGUoY19hcmdzKQorICAgIGlmIGZvcm1hdCAhPSAiIjoKKyAgICAgICAgb3V0cHV0LndyaXRlKCJcbiAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgKGNoYXIgKilcIiVzXCIlcykpXG4iICUKKyAgICAgICAgICAgICAgICAgICAgIChmb3JtYXQsIGZvcm1hdF9hcmdzKSkKKyAgICAgICAgb3V0cHV0LndyaXRlKCIgICAgICAgIHJldHVybihOVUxMKTtcbiIpCisgICAgaWYgY19jb252ZXJ0ICE9ICIiOgorICAgICAgICBvdXRwdXQud3JpdGUoY19jb252ZXJ0KQorCisgICAgb3V0cHV0LndyaXRlKGNfY2FsbCkKKyAgICBpZiBjX3JlbGVhc2UgIT0gIiI6CisgICAgICAgIG91dHB1dC53cml0ZShjX3JlbGVhc2UpCisgICAgb3V0cHV0LndyaXRlKHJldF9jb252ZXJ0KQorICAgIG91dHB1dC53cml0ZSgifVxuXG4iKQorICAgIGlmIGNvbmQgIT0gTm9uZSBhbmQgY29uZCAhPSAiIjoKKyAgICAgICAgaW5jbHVkZS53cml0ZSgiI2VuZGlmIC8qICVzICovXG4iICUgY29uZCkKKyAgICAgICAgZXhwb3J0LndyaXRlKCIjZW5kaWYgLyogJXMgKi9cbiIgJSBjb25kKQorICAgICAgICBvdXRwdXQud3JpdGUoIiNlbmRpZiAvKiAlcyAqL1xuIiAlIGNvbmQpCisgICAgcmV0dXJuIDEKKworZGVmIGJ1aWxkU3R1YnMoKToKKyAgICBnbG9iYWwgcHlfdHlwZXMKKyAgICBnbG9iYWwgcHlfcmV0dXJuX3R5cGVzCisgICAgZ2xvYmFsIHVua25vd25fdHlwZXMKKworICAgIHRyeToKKyAgICAgICAgZiA9IG9wZW4ob3MucGF0aC5qb2luKHNyY1ByZWYsImxpYnhtbDItYXBpLnhtbCIpKQorICAgICAgICBkYXRhID0gZi5yZWFkKCkKKyAgICAgICAgKHBhcnNlciwgdGFyZ2V0KSAgPSBnZXRwYXJzZXIoKQorICAgICAgICBwYXJzZXIuZmVlZChkYXRhKQorICAgICAgICBwYXJzZXIuY2xvc2UoKQorICAgIGV4Y2VwdCBJT0Vycm9yIGFzIG1zZzoKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgZiA9IG9wZW4ob3MucGF0aC5qb2luKHNyY1ByZWYsIi4uIiwiZG9jIiwibGlieG1sMi1hcGkueG1sIikpCisgICAgICAgICAgICBkYXRhID0gZi5yZWFkKCkKKyAgICAgICAgICAgIChwYXJzZXIsIHRhcmdldCkgID0gZ2V0cGFyc2VyKCkKKyAgICAgICAgICAgIHBhcnNlci5mZWVkKGRhdGEpCisgICAgICAgICAgICBwYXJzZXIuY2xvc2UoKQorICAgICAgICBleGNlcHQgSU9FcnJvciBhcyBtc2c6CisgICAgICAgICAgICBwcmludChmaWxlLCAiOiIsIG1zZykKKyAgICAgICAgICAgIHN5cy5leGl0KDEpCisKKyAgICBuID0gbGVuKGxpc3QoZnVuY3Rpb25zLmtleXMoKSkpCisgICAgcHJpbnQoIkZvdW5kICVkIGZ1bmN0aW9ucyBpbiBsaWJ4bWwyLWFwaS54bWwiICUgKG4pKQorCisgICAgcHlfdHlwZXNbJ3B5dGhvbk9iamVjdCddID0gKCdPJywgInB5dGhvbk9iamVjdCIsICJweXRob25PYmplY3QiLCAicHl0aG9uT2JqZWN0IikKKyAgICB0cnk6CisgICAgICAgIGYgPSBvcGVuKG9zLnBhdGguam9pbihzcmNQcmVmLCJsaWJ4bWwyLXB5dGhvbi1hcGkueG1sIikpCisgICAgICAgIGRhdGEgPSBmLnJlYWQoKQorICAgICAgICAocGFyc2VyLCB0YXJnZXQpICA9IGdldHBhcnNlcigpCisgICAgICAgIHBhcnNlci5mZWVkKGRhdGEpCisgICAgICAgIHBhcnNlci5jbG9zZSgpCisgICAgZXhjZXB0IElPRXJyb3IgYXMgbXNnOgorICAgICAgICBwcmludChmaWxlLCAiOiIsIG1zZykKKworCisgICAgcHJpbnQoIkZvdW5kICVkIGZ1bmN0aW9ucyBpbiBsaWJ4bWwyLXB5dGhvbi1hcGkueG1sIiAlICgKKyAgICAgICAgICBsZW4obGlzdChmdW5jdGlvbnMua2V5cygpKSkgLSBuKSkKKyAgICBuYl93cmFwID0gMAorICAgIGZhaWxlZCA9IDAKKyAgICBza2lwcGVkID0gMAorCisgICAgaW5jbHVkZSA9IG9wZW4oImxpYnhtbDItcHkuaCIsICJ3IikKKyAgICBpbmNsdWRlLndyaXRlKCIvKiBHZW5lcmF0ZWQgKi9cblxuIikKKyAgICBleHBvcnQgPSBvcGVuKCJsaWJ4bWwyLWV4cG9ydC5jIiwgInciKQorICAgIGV4cG9ydC53cml0ZSgiLyogR2VuZXJhdGVkICovXG5cbiIpCisgICAgd3JhcHBlciA9IG9wZW4oImxpYnhtbDItcHkuYyIsICJ3IikKKyAgICB3cmFwcGVyLndyaXRlKCIvKiBHZW5lcmF0ZWQgKi9cblxuIikKKyAgICB3cmFwcGVyLndyaXRlKCIjaW5jbHVkZSA8UHl0aG9uLmg+XG4iKQorICAgIHdyYXBwZXIud3JpdGUoIiNpbmNsdWRlIDxsaWJ4bWwveG1sdmVyc2lvbi5oPlxuIikKKyAgICB3cmFwcGVyLndyaXRlKCIjaW5jbHVkZSA8bGlieG1sL3RyZWUuaD5cbiIpCisgICAgd3JhcHBlci53cml0ZSgiI2luY2x1ZGUgPGxpYnhtbC94bWxzY2hlbWFzdHlwZXMuaD5cbiIpCisgICAgd3JhcHBlci53cml0ZSgiI2luY2x1ZGUgXCJsaWJ4bWxfd3JhcC5oXCJcbiIpCisgICAgd3JhcHBlci53cml0ZSgiI2luY2x1ZGUgXCJsaWJ4bWwyLXB5LmhcIlxuXG4iKQorICAgIGZvciBmdW5jdGlvbiBpbiBzb3J0ZWQoZnVuY3Rpb25zLmtleXMoKSk6CisgICAgICAgIHJldCA9IHByaW50X2Z1bmN0aW9uX3dyYXBwZXIoZnVuY3Rpb24sIHdyYXBwZXIsIGV4cG9ydCwgaW5jbHVkZSkKKyAgICAgICAgaWYgcmV0IDwgMDoKKyAgICAgICAgICAgIGZhaWxlZCA9IGZhaWxlZCArIDEKKyAgICAgICAgICAgIGRlbCBmdW5jdGlvbnNbZnVuY3Rpb25dCisgICAgICAgIGlmIHJldCA9PSAwOgorICAgICAgICAgICAgc2tpcHBlZCA9IHNraXBwZWQgKyAxCisgICAgICAgICAgICBkZWwgZnVuY3Rpb25zW2Z1bmN0aW9uXQorICAgICAgICBpZiByZXQgPT0gMToKKyAgICAgICAgICAgIG5iX3dyYXAgPSBuYl93cmFwICsgMQorICAgIGluY2x1ZGUuY2xvc2UoKQorICAgIGV4cG9ydC5jbG9zZSgpCisgICAgd3JhcHBlci5jbG9zZSgpCisKKyAgICBwcmludCgiR2VuZXJhdGVkICVkIHdyYXBwZXIgZnVuY3Rpb25zLCAlZCBmYWlsZWQsICVkIHNraXBwZWRcbiIgJSAobmJfd3JhcCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFpbGVkLCBza2lwcGVkKSkKKyAgICBwcmludCgiTWlzc2luZyB0eXBlIGNvbnZlcnRlcnM6ICIpCisgICAgZm9yIHR5cGUgaW4gbGlzdCh1bmtub3duX3R5cGVzLmtleXMoKSk6CisgICAgICAgIHByaW50KCIlczolZCAiICUgKHR5cGUsIGxlbih1bmtub3duX3R5cGVzW3R5cGVdKSkpCisgICAgcHJpbnQoKQorCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIworIyAgVGhpcyBwYXJ0IHdyaXRlcyBwYXJ0IG9mIHRoZSBQeXRob24gZnJvbnQtZW5kIGNsYXNzZXMgYmFzZWQgb24KKyMgIG1hcHBpbmcgcnVsZXMgYmV0d2VlbiB0eXBlcyBhbmQgY2xhc3NlcyBhbmQgYWxzbyBiYXNlZCBvbiBmdW5jdGlvbgorIyAgcmVuYW1pbmcgdG8gZ2V0IGNvbnNpc3RlbnQgZnVuY3Rpb24gbmFtZXMgYXQgdGhlIFB5dGhvbiBsZXZlbAorIworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworIworIyBUaGUgdHlwZSBhdXRvbWF0aWNhbGx5IHJlbWFwcGVkIHRvIGdlbmVyYXRlZCBjbGFzc2VzCisjCitjbGFzc2VzX3R5cGUgPSB7CisgICAgInhtbE5vZGVQdHIiOiAoIi5fbyIsICJ4bWxOb2RlKF9vYmo9JXMpIiwgInhtbE5vZGUiKSwKKyAgICAieG1sTm9kZSAqIjogKCIuX28iLCAieG1sTm9kZShfb2JqPSVzKSIsICJ4bWxOb2RlIiksCisgICAgInhtbERvY1B0ciI6ICgiLl9vIiwgInhtbERvYyhfb2JqPSVzKSIsICJ4bWxEb2MiKSwKKyAgICAieG1sRG9jICoiOiAoIi5fbyIsICJ4bWxEb2MoX29iaj0lcykiLCAieG1sRG9jIiksCisgICAgImh0bWxEb2NQdHIiOiAoIi5fbyIsICJ4bWxEb2MoX29iaj0lcykiLCAieG1sRG9jIiksCisgICAgImh0bWx4bWxEb2NQdHIgKiI6ICgiLl9vIiwgInhtbERvYyhfb2JqPSVzKSIsICJ4bWxEb2MiKSwKKyAgICAieG1sQXR0clB0ciI6ICgiLl9vIiwgInhtbEF0dHIoX29iaj0lcykiLCAieG1sQXR0ciIpLAorICAgICJ4bWxBdHRyICoiOiAoIi5fbyIsICJ4bWxBdHRyKF9vYmo9JXMpIiwgInhtbEF0dHIiKSwKKyAgICAieG1sTnNQdHIiOiAoIi5fbyIsICJ4bWxOcyhfb2JqPSVzKSIsICJ4bWxOcyIpLAorICAgICJ4bWxOcyAqIjogKCIuX28iLCAieG1sTnMoX29iaj0lcykiLCAieG1sTnMiKSwKKyAgICAieG1sRHRkUHRyIjogKCIuX28iLCAieG1sRHRkKF9vYmo9JXMpIiwgInhtbER0ZCIpLAorICAgICJ4bWxEdGQgKiI6ICgiLl9vIiwgInhtbER0ZChfb2JqPSVzKSIsICJ4bWxEdGQiKSwKKyAgICAieG1sRW50aXR5UHRyIjogKCIuX28iLCAieG1sRW50aXR5KF9vYmo9JXMpIiwgInhtbEVudGl0eSIpLAorICAgICJ4bWxFbnRpdHkgKiI6ICgiLl9vIiwgInhtbEVudGl0eShfb2JqPSVzKSIsICJ4bWxFbnRpdHkiKSwKKyAgICAieG1sRWxlbWVudFB0ciI6ICgiLl9vIiwgInhtbEVsZW1lbnQoX29iaj0lcykiLCAieG1sRWxlbWVudCIpLAorICAgICJ4bWxFbGVtZW50ICoiOiAoIi5fbyIsICJ4bWxFbGVtZW50KF9vYmo9JXMpIiwgInhtbEVsZW1lbnQiKSwKKyAgICAieG1sQXR0cmlidXRlUHRyIjogKCIuX28iLCAieG1sQXR0cmlidXRlKF9vYmo9JXMpIiwgInhtbEF0dHJpYnV0ZSIpLAorICAgICJ4bWxBdHRyaWJ1dGUgKiI6ICgiLl9vIiwgInhtbEF0dHJpYnV0ZShfb2JqPSVzKSIsICJ4bWxBdHRyaWJ1dGUiKSwKKyAgICAieG1sWFBhdGhDb250ZXh0UHRyIjogKCIuX28iLCAieHBhdGhDb250ZXh0KF9vYmo9JXMpIiwgInhwYXRoQ29udGV4dCIpLAorICAgICJ4bWxYUGF0aENvbnRleHQgKiI6ICgiLl9vIiwgInhwYXRoQ29udGV4dChfb2JqPSVzKSIsICJ4cGF0aENvbnRleHQiKSwKKyAgICAieG1sWFBhdGhQYXJzZXJDb250ZXh0ICoiOiAoIi5fbyIsICJ4cGF0aFBhcnNlckNvbnRleHQoX29iaj0lcykiLCAieHBhdGhQYXJzZXJDb250ZXh0IiksCisgICAgInhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciI6ICgiLl9vIiwgInhwYXRoUGFyc2VyQ29udGV4dChfb2JqPSVzKSIsICJ4cGF0aFBhcnNlckNvbnRleHQiKSwKKyAgICAieG1sUGFyc2VyQ3R4dFB0ciI6ICgiLl9vIiwgInBhcnNlckN0eHQoX29iaj0lcykiLCAicGFyc2VyQ3R4dCIpLAorICAgICJ4bWxQYXJzZXJDdHh0ICoiOiAoIi5fbyIsICJwYXJzZXJDdHh0KF9vYmo9JXMpIiwgInBhcnNlckN0eHQiKSwKKyAgICAiaHRtbFBhcnNlckN0eHRQdHIiOiAoIi5fbyIsICJwYXJzZXJDdHh0KF9vYmo9JXMpIiwgInBhcnNlckN0eHQiKSwKKyAgICAiaHRtbFBhcnNlckN0eHQgKiI6ICgiLl9vIiwgInBhcnNlckN0eHQoX29iaj0lcykiLCAicGFyc2VyQ3R4dCIpLAorICAgICJ4bWxWYWxpZEN0eHRQdHIiOiAoIi5fbyIsICJWYWxpZEN0eHQoX29iaj0lcykiLCAiVmFsaWRDdHh0IiksCisgICAgInhtbENhdGFsb2dQdHIiOiAoIi5fbyIsICJjYXRhbG9nKF9vYmo9JXMpIiwgImNhdGFsb2ciKSwKKyAgICAieG1sVVJJUHRyIjogKCIuX28iLCAiVVJJKF9vYmo9JXMpIiwgIlVSSSIpLAorICAgICJ4bWxFcnJvclB0ciI6ICgiLl9vIiwgIkVycm9yKF9vYmo9JXMpIiwgIkVycm9yIiksCisgICAgInhtbE91dHB1dEJ1ZmZlclB0ciI6ICgiLl9vIiwgIm91dHB1dEJ1ZmZlcihfb2JqPSVzKSIsICJvdXRwdXRCdWZmZXIiKSwKKyAgICAieG1sUGFyc2VySW5wdXRCdWZmZXJQdHIiOiAoIi5fbyIsICJpbnB1dEJ1ZmZlcihfb2JqPSVzKSIsICJpbnB1dEJ1ZmZlciIpLAorICAgICJ4bWxSZWdleHBQdHIiOiAoIi5fbyIsICJ4bWxSZWcoX29iaj0lcykiLCAieG1sUmVnIiksCisgICAgInhtbFRleHRSZWFkZXJMb2NhdG9yUHRyIjogKCIuX28iLCAieG1sVGV4dFJlYWRlckxvY2F0b3IoX29iaj0lcykiLCAieG1sVGV4dFJlYWRlckxvY2F0b3IiKSwKKyAgICAieG1sVGV4dFJlYWRlclB0ciI6ICgiLl9vIiwgInhtbFRleHRSZWFkZXIoX29iaj0lcykiLCAieG1sVGV4dFJlYWRlciIpLAorICAgICd4bWxSZWxheE5HUHRyJzogKCcuX28nLCAicmVsYXhOZ1NjaGVtYShfb2JqPSVzKSIsICJyZWxheE5nU2NoZW1hIiksCisgICAgJ3htbFJlbGF4TkdQYXJzZXJDdHh0UHRyJzogKCcuX28nLCAicmVsYXhOZ1BhcnNlckN0eHQoX29iaj0lcykiLCAicmVsYXhOZ1BhcnNlckN0eHQiKSwKKyAgICAneG1sUmVsYXhOR1ZhbGlkQ3R4dFB0cic6ICgnLl9vJywgInJlbGF4TmdWYWxpZEN0eHQoX29iaj0lcykiLCAicmVsYXhOZ1ZhbGlkQ3R4dCIpLAorICAgICd4bWxTY2hlbWFQdHInOiAoIi5fbyIsICJTY2hlbWEoX29iaj0lcykiLCAiU2NoZW1hIiksCisgICAgJ3htbFNjaGVtYVBhcnNlckN0eHRQdHInOiAoIi5fbyIsICJTY2hlbWFQYXJzZXJDdHh0KF9vYmo9JXMpIiwgIlNjaGVtYVBhcnNlckN0eHQiKSwKKyAgICAneG1sU2NoZW1hVmFsaWRDdHh0UHRyJzogKCIuX28iLCAiU2NoZW1hVmFsaWRDdHh0KF9vYmo9JXMpIiwgIlNjaGVtYVZhbGlkQ3R4dCIpLAorfQorCitjb252ZXJ0ZXJfdHlwZSA9IHsKKyAgICAieG1sWFBhdGhPYmplY3RQdHIiOiAieHBhdGhPYmplY3RSZXQoJXMpIiwKK30KKworcHJpbWFyeV9jbGFzc2VzID0gWyJ4bWxOb2RlIiwgInhtbERvYyJdCisKK2NsYXNzZXNfYW5jZXN0b3IgPSB7CisgICAgInhtbE5vZGUiIDogInhtbENvcmUiLAorICAgICJ4bWxEdGQiIDogInhtbE5vZGUiLAorICAgICJ4bWxEb2MiIDogInhtbE5vZGUiLAorICAgICJ4bWxBdHRyIiA6ICJ4bWxOb2RlIiwKKyAgICAieG1sTnMiIDogInhtbE5vZGUiLAorICAgICJ4bWxFbnRpdHkiIDogInhtbE5vZGUiLAorICAgICJ4bWxFbGVtZW50IiA6ICJ4bWxOb2RlIiwKKyAgICAieG1sQXR0cmlidXRlIiA6ICJ4bWxOb2RlIiwKKyAgICAib3V0cHV0QnVmZmVyIjogImlvV3JpdGVXcmFwcGVyIiwKKyAgICAiaW5wdXRCdWZmZXIiOiAiaW9SZWFkV3JhcHBlciIsCisgICAgInBhcnNlckN0eHQiOiAicGFyc2VyQ3R4dENvcmUiLAorICAgICJ4bWxUZXh0UmVhZGVyIjogInhtbFRleHRSZWFkZXJDb3JlIiwKKyAgICAiVmFsaWRDdHh0IjogIlZhbGlkQ3R4dENvcmUiLAorICAgICJTY2hlbWFWYWxpZEN0eHQiOiAiU2NoZW1hVmFsaWRDdHh0Q29yZSIsCisgICAgInJlbGF4TmdWYWxpZEN0eHQiOiAicmVsYXhOZ1ZhbGlkQ3R4dENvcmUiLAorfQorY2xhc3Nlc19kZXN0cnVjdG9ycyA9IHsKKyAgICAicGFyc2VyQ3R4dCI6ICJ4bWxGcmVlUGFyc2VyQ3R4dCIsCisgICAgImNhdGFsb2ciOiAieG1sRnJlZUNhdGFsb2ciLAorICAgICJVUkkiOiAieG1sRnJlZVVSSSIsCisjICAgICJvdXRwdXRCdWZmZXIiOiAieG1sT3V0cHV0QnVmZmVyQ2xvc2UiLAorICAgICJpbnB1dEJ1ZmZlciI6ICJ4bWxGcmVlUGFyc2VySW5wdXRCdWZmZXIiLAorICAgICJ4bWxSZWciOiAieG1sUmVnRnJlZVJlZ2V4cCIsCisgICAgInhtbFRleHRSZWFkZXIiOiAieG1sRnJlZVRleHRSZWFkZXIiLAorICAgICJyZWxheE5nU2NoZW1hIjogInhtbFJlbGF4TkdGcmVlIiwKKyAgICAicmVsYXhOZ1BhcnNlckN0eHQiOiAieG1sUmVsYXhOR0ZyZWVQYXJzZXJDdHh0IiwKKyAgICAicmVsYXhOZ1ZhbGlkQ3R4dCI6ICJ4bWxSZWxheE5HRnJlZVZhbGlkQ3R4dCIsCisgICAgICAgICJTY2hlbWEiOiAieG1sU2NoZW1hRnJlZSIsCisgICAgICAgICJTY2hlbWFQYXJzZXJDdHh0IjogInhtbFNjaGVtYUZyZWVQYXJzZXJDdHh0IiwKKyAgICAgICAgIlNjaGVtYVZhbGlkQ3R4dCI6ICJ4bWxTY2hlbWFGcmVlVmFsaWRDdHh0IiwKKyAgICAgICAgIlZhbGlkQ3R4dCI6ICJ4bWxGcmVlVmFsaWRDdHh0IiwKK30KKworZnVuY3Rpb25zX25vZXhjZXB0ID0geworICAgICJ4bWxIYXNQcm9wIjogMSwKKyAgICAieG1sSGFzTnNQcm9wIjogMSwKKyAgICAieG1sRG9jU2V0Um9vdEVsZW1lbnQiOiAxLAorICAgICJ4bWxOb2RlR2V0TnMiOiAxLAorICAgICJ4bWxOb2RlR2V0TnNEZWZzIjogMSwKKyAgICAieG1sTmV4dEVsZW1lbnRTaWJsaW5nIjogMSwKKyAgICAieG1sUHJldmlvdXNFbGVtZW50U2libGluZyI6IDEsCisgICAgInhtbEZpcnN0RWxlbWVudENoaWxkIjogMSwKKyAgICAieG1sTGFzdEVsZW1lbnRDaGlsZCI6IDEsCit9CisKK3JlZmVyZW5jZV9rZWVwZXJzID0geworICAgICJ4bWxUZXh0UmVhZGVyIjogWygnaW5wdXRCdWZmZXInLCAnaW5wdXQnKV0sCisgICAgInJlbGF4TmdWYWxpZEN0eHQiOiBbKCdyZWxheE5nU2NoZW1hJywgJ3NjaGVtYScpXSwKKyAgICAgICAgIlNjaGVtYVZhbGlkQ3R4dCI6IFsoJ1NjaGVtYScsICdzY2hlbWEnKV0sCit9CisKK2Z1bmN0aW9uX2NsYXNzZXMgPSB7fQorCitmdW5jdGlvbl9jbGFzc2VzWyJOb25lIl0gPSBbXQorCitkZWYgbmFtZUZpeHVwKG5hbWUsIGNsYXNzZSwgdHlwZSwgZmlsZSk6CisgICAgbGlzdG5hbWUgPSBjbGFzc2UgKyAiTGlzdCIKKyAgICBsbCA9IGxlbihsaXN0bmFtZSkKKyAgICBsID0gbGVuKGNsYXNzZSkKKyAgICBpZiBuYW1lWzA6bF0gPT0gbGlzdG5hbWU6CisgICAgICAgIGZ1bmMgPSBuYW1lW2w6XQorICAgICAgICBmdW5jID0gZnVuY1swOjFdLmxvd2VyKCkgKyBmdW5jWzE6XQorICAgIGVsaWYgbmFtZVswOjEyXSA9PSAieG1sUGFyc2VyR2V0IiBhbmQgZmlsZSA9PSAicHl0aG9uX2FjY2Vzc29yIjoKKyAgICAgICAgZnVuYyA9IG5hbWVbMTI6XQorICAgICAgICBmdW5jID0gZnVuY1swOjFdLmxvd2VyKCkgKyBmdW5jWzE6XQorICAgIGVsaWYgbmFtZVswOjEyXSA9PSAieG1sUGFyc2VyU2V0IiBhbmQgZmlsZSA9PSAicHl0aG9uX2FjY2Vzc29yIjoKKyAgICAgICAgZnVuYyA9IG5hbWVbMTI6XQorICAgICAgICBmdW5jID0gZnVuY1swOjFdLmxvd2VyKCkgKyBmdW5jWzE6XQorICAgIGVsaWYgbmFtZVswOjEwXSA9PSAieG1sTm9kZUdldCIgYW5kIGZpbGUgPT0gInB5dGhvbl9hY2Nlc3NvciI6CisgICAgICAgIGZ1bmMgPSBuYW1lWzEwOl0KKyAgICAgICAgZnVuYyA9IGZ1bmNbMDoxXS5sb3dlcigpICsgZnVuY1sxOl0KKyAgICBlbGlmIG5hbWVbMDo5XSA9PSAieG1sVVJJR2V0IiBhbmQgZmlsZSA9PSAicHl0aG9uX2FjY2Vzc29yIjoKKyAgICAgICAgZnVuYyA9IG5hbWVbOTpdCisgICAgICAgIGZ1bmMgPSBmdW5jWzA6MV0ubG93ZXIoKSArIGZ1bmNbMTpdCisgICAgZWxpZiBuYW1lWzA6OV0gPT0gInhtbFVSSVNldCIgYW5kIGZpbGUgPT0gInB5dGhvbl9hY2Nlc3NvciI6CisgICAgICAgIGZ1bmMgPSBuYW1lWzY6XQorICAgICAgICBmdW5jID0gZnVuY1swOjFdLmxvd2VyKCkgKyBmdW5jWzE6XQorICAgIGVsaWYgbmFtZVswOjExXSA9PSAieG1sRXJyb3JHZXQiIGFuZCBmaWxlID09ICJweXRob25fYWNjZXNzb3IiOgorICAgICAgICBmdW5jID0gbmFtZVsxMTpdCisgICAgICAgIGZ1bmMgPSBmdW5jWzA6MV0ubG93ZXIoKSArIGZ1bmNbMTpdCisgICAgZWxpZiBuYW1lWzA6MTddID09ICJ4bWxYUGF0aFBhcnNlckdldCIgYW5kIGZpbGUgPT0gInB5dGhvbl9hY2Nlc3NvciI6CisgICAgICAgIGZ1bmMgPSBuYW1lWzE3Ol0KKyAgICAgICAgZnVuYyA9IGZ1bmNbMDoxXS5sb3dlcigpICsgZnVuY1sxOl0KKyAgICBlbGlmIG5hbWVbMDoxMV0gPT0gInhtbFhQYXRoR2V0IiBhbmQgZmlsZSA9PSAicHl0aG9uX2FjY2Vzc29yIjoKKyAgICAgICAgZnVuYyA9IG5hbWVbMTE6XQorICAgICAgICBmdW5jID0gZnVuY1swOjFdLmxvd2VyKCkgKyBmdW5jWzE6XQorICAgIGVsaWYgbmFtZVswOjExXSA9PSAieG1sWFBhdGhTZXQiIGFuZCBmaWxlID09ICJweXRob25fYWNjZXNzb3IiOgorICAgICAgICBmdW5jID0gbmFtZVs4Ol0KKyAgICAgICAgZnVuYyA9IGZ1bmNbMDoxXS5sb3dlcigpICsgZnVuY1sxOl0KKyAgICBlbGlmIG5hbWVbMDoxNV0gPT0gInhtbE91dHB1dEJ1ZmZlciIgYW5kIGZpbGUgIT0gInB5dGhvbiI6CisgICAgICAgIGZ1bmMgPSBuYW1lWzE1Ol0KKyAgICAgICAgZnVuYyA9IGZ1bmNbMDoxXS5sb3dlcigpICsgZnVuY1sxOl0KKyAgICBlbGlmIG5hbWVbMDoyMF0gPT0gInhtbFBhcnNlcklucHV0QnVmZmVyIiBhbmQgZmlsZSAhPSAicHl0aG9uIjoKKyAgICAgICAgZnVuYyA9IG5hbWVbMjA6XQorICAgICAgICBmdW5jID0gZnVuY1swOjFdLmxvd2VyKCkgKyBmdW5jWzE6XQorICAgIGVsaWYgbmFtZVswOjldID09ICJ4bWxSZWdleHAiIGFuZCBmaWxlID09ICJ4bWxyZWdleHAiOgorICAgICAgICBmdW5jID0gInJlZ2V4cCIgKyBuYW1lWzk6XQorICAgIGVsaWYgbmFtZVswOjZdID09ICJ4bWxSZWciIGFuZCBmaWxlID09ICJ4bWxyZWdleHAiOgorICAgICAgICBmdW5jID0gInJlZ2V4cCIgKyBuYW1lWzY6XQorICAgIGVsaWYgbmFtZVswOjIwXSA9PSAieG1sVGV4dFJlYWRlckxvY2F0b3IiIGFuZCBmaWxlID09ICJ4bWxyZWFkZXIiOgorICAgICAgICBmdW5jID0gbmFtZVsyMDpdCisgICAgZWxpZiBuYW1lWzA6MThdID09ICJ4bWxUZXh0UmVhZGVyQ29uc3QiIGFuZCBmaWxlID09ICJ4bWxyZWFkZXIiOgorICAgICAgICBmdW5jID0gbmFtZVsxODpdCisgICAgZWxpZiBuYW1lWzA6MTNdID09ICJ4bWxUZXh0UmVhZGVyIiBhbmQgZmlsZSA9PSAieG1scmVhZGVyIjoKKyAgICAgICAgZnVuYyA9IG5hbWVbMTM6XQorICAgIGVsaWYgbmFtZVswOjEyXSA9PSAieG1sUmVhZGVyTmV3IiBhbmQgZmlsZSA9PSAieG1scmVhZGVyIjoKKyAgICAgICAgZnVuYyA9IG5hbWVbOTpdCisgICAgZWxpZiBuYW1lWzA6MTFdID09ICJ4bWxBQ2F0YWxvZyI6CisgICAgICAgIGZ1bmMgPSBuYW1lWzExOl0KKyAgICAgICAgZnVuYyA9IGZ1bmNbMDoxXS5sb3dlcigpICsgZnVuY1sxOl0KKyAgICBlbGlmIG5hbWVbMDpsXSA9PSBjbGFzc2U6CisgICAgICAgIGZ1bmMgPSBuYW1lW2w6XQorICAgICAgICBmdW5jID0gZnVuY1swOjFdLmxvd2VyKCkgKyBmdW5jWzE6XQorICAgIGVsaWYgbmFtZVswOjddID09ICJsaWJ4bWxfIjoKKyAgICAgICAgZnVuYyA9IG5hbWVbNzpdCisgICAgICAgIGZ1bmMgPSBmdW5jWzA6MV0ubG93ZXIoKSArIGZ1bmNbMTpdCisgICAgZWxpZiBuYW1lWzA6Nl0gPT0gInhtbEdldCI6CisgICAgICAgIGZ1bmMgPSBuYW1lWzY6XQorICAgICAgICBmdW5jID0gZnVuY1swOjFdLmxvd2VyKCkgKyBmdW5jWzE6XQorICAgIGVsaWYgbmFtZVswOjNdID09ICJ4bWwiOgorICAgICAgICBmdW5jID0gbmFtZVszOl0KKyAgICAgICAgZnVuYyA9IGZ1bmNbMDoxXS5sb3dlcigpICsgZnVuY1sxOl0KKyAgICBlbHNlOgorICAgICAgICBmdW5jID0gbmFtZQorICAgIGlmIGZ1bmNbMDo1XSA9PSAieFBhdGgiOgorICAgICAgICBmdW5jID0gInhwYXRoIiArIGZ1bmNbNTpdCisgICAgZWxpZiBmdW5jWzA6NF0gPT0gInhQdHIiOgorICAgICAgICBmdW5jID0gInhwb2ludGVyIiArIGZ1bmNbNDpdCisgICAgZWxpZiBmdW5jWzA6OF0gPT0gInhJbmNsdWRlIjoKKyAgICAgICAgZnVuYyA9ICJ4aW5jbHVkZSIgKyBmdW5jWzg6XQorICAgIGVsaWYgZnVuY1swOjJdID09ICJpRCI6CisgICAgICAgIGZ1bmMgPSAiSUQiICsgZnVuY1syOl0KKyAgICBlbGlmIGZ1bmNbMDozXSA9PSAidVJJIjoKKyAgICAgICAgZnVuYyA9ICJVUkkiICsgZnVuY1szOl0KKyAgICBlbGlmIGZ1bmNbMDo0XSA9PSAidVRGOCI6CisgICAgICAgIGZ1bmMgPSAiVVRGOCIgKyBmdW5jWzQ6XQorICAgIGVsaWYgZnVuY1swOjNdID09ICdzQVgnOgorICAgICAgICBmdW5jID0gIlNBWCIgKyBmdW5jWzM6XQorICAgIHJldHVybiBmdW5jCisKKworZGVmIGZ1bmN0aW9uQ29tcGFyZShpbmZvMSwgaW5mbzIpOgorICAgIChpbmRleDEsIGZ1bmMxLCBuYW1lMSwgcmV0MSwgYXJnczEsIGZpbGUxKSA9IGluZm8xCisgICAgKGluZGV4MiwgZnVuYzIsIG5hbWUyLCByZXQyLCBhcmdzMiwgZmlsZTIpID0gaW5mbzIKKyAgICBpZiBmaWxlMSA9PSBmaWxlMjoKKyAgICAgICAgaWYgZnVuYzEgPCBmdW5jMjoKKyAgICAgICAgICAgIHJldHVybiAtMQorICAgICAgICBpZiBmdW5jMSA+IGZ1bmMyOgorICAgICAgICAgICAgcmV0dXJuIDEKKyAgICBpZiBmaWxlMSA9PSAicHl0aG9uX2FjY2Vzc29yIjoKKyAgICAgICAgcmV0dXJuIC0xCisgICAgaWYgZmlsZTIgPT0gInB5dGhvbl9hY2Nlc3NvciI6CisgICAgICAgIHJldHVybiAxCisgICAgaWYgZmlsZTEgPCBmaWxlMjoKKyAgICAgICAgcmV0dXJuIC0xCisgICAgaWYgZmlsZTEgPiBmaWxlMjoKKyAgICAgICAgcmV0dXJuIDEKKyAgICByZXR1cm4gMAorCitkZWYgY21wX3RvX2tleShteWNtcCk6CisgICAgJ0NvbnZlcnQgYSBjbXA9IGZ1bmN0aW9uIGludG8gYSBrZXk9IGZ1bmN0aW9uJworICAgIGNsYXNzIEsob2JqZWN0KToKKyAgICAgICAgZGVmIF9faW5pdF9fKHNlbGYsIG9iaiwgKmFyZ3MpOgorICAgICAgICAgICAgc2VsZi5vYmogPSBvYmoKKyAgICAgICAgZGVmIF9fbHRfXyhzZWxmLCBvdGhlcik6CisgICAgICAgICAgICByZXR1cm4gbXljbXAoc2VsZi5vYmosIG90aGVyLm9iaikgPCAwCisgICAgICAgIGRlZiBfX2d0X18oc2VsZiwgb3RoZXIpOgorICAgICAgICAgICAgcmV0dXJuIG15Y21wKHNlbGYub2JqLCBvdGhlci5vYmopID4gMAorICAgICAgICBkZWYgX19lcV9fKHNlbGYsIG90aGVyKToKKyAgICAgICAgICAgIHJldHVybiBteWNtcChzZWxmLm9iaiwgb3RoZXIub2JqKSA9PSAwCisgICAgICAgIGRlZiBfX2xlX18oc2VsZiwgb3RoZXIpOgorICAgICAgICAgICAgcmV0dXJuIG15Y21wKHNlbGYub2JqLCBvdGhlci5vYmopIDw9IDAKKyAgICAgICAgZGVmIF9fZ2VfXyhzZWxmLCBvdGhlcik6CisgICAgICAgICAgICByZXR1cm4gbXljbXAoc2VsZi5vYmosIG90aGVyLm9iaikgPj0gMAorICAgICAgICBkZWYgX19uZV9fKHNlbGYsIG90aGVyKToKKyAgICAgICAgICAgIHJldHVybiBteWNtcChzZWxmLm9iaiwgb3RoZXIub2JqKSAhPSAwCisgICAgcmV0dXJuIEsKK2RlZiB3cml0ZURvYyhuYW1lLCBhcmdzLCBpbmRlbnQsIG91dHB1dCk6CisgICAgIGlmIGZ1bmN0aW9uc1tuYW1lXVswXSBpcyBOb25lIG9yIGZ1bmN0aW9uc1tuYW1lXVswXSA9PSAiIjoKKyAgICAgICAgIHJldHVybgorICAgICB2YWwgPSBmdW5jdGlvbnNbbmFtZV1bMF0KKyAgICAgdmFsID0gdmFsLnJlcGxhY2UoIk5VTEwiLCAiTm9uZSIpCisgICAgIG91dHB1dC53cml0ZShpbmRlbnQpCisgICAgIG91dHB1dC53cml0ZSgnIiIiJykKKyAgICAgd2hpbGUgbGVuKHZhbCkgPiA2MDoKKyAgICAgICAgIGlmIHZhbFswXSA9PSAiICI6CisgICAgICAgICAgICAgdmFsID0gdmFsWzE6XQorICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICBzdHIgPSB2YWxbMDo2MF0KKyAgICAgICAgIGkgPSBzdHIucmZpbmQoIiAiKQorICAgICAgICAgaWYgaSA8IDA6CisgICAgICAgICAgICAgaSA9IDYwCisgICAgICAgICBzdHIgPSB2YWxbMDppXQorICAgICAgICAgdmFsID0gdmFsW2k6XQorICAgICAgICAgb3V0cHV0LndyaXRlKHN0cikKKyAgICAgICAgIG91dHB1dC53cml0ZSgnXG4gICcpCisgICAgICAgICBvdXRwdXQud3JpdGUoaW5kZW50KQorICAgICBvdXRwdXQud3JpdGUodmFsKQorICAgICBvdXRwdXQud3JpdGUoJyAiIiJcbicpCisKK2RlZiBidWlsZFdyYXBwZXJzKCk6CisgICAgZ2xvYmFsIGN0eXBlcworICAgIGdsb2JhbCBweV90eXBlcworICAgIGdsb2JhbCBweV9yZXR1cm5fdHlwZXMKKyAgICBnbG9iYWwgdW5rbm93bl90eXBlcworICAgIGdsb2JhbCBmdW5jdGlvbnMKKyAgICBnbG9iYWwgZnVuY3Rpb25fY2xhc3NlcworICAgIGdsb2JhbCBjbGFzc2VzX3R5cGUKKyAgICBnbG9iYWwgY2xhc3Nlc19saXN0CisgICAgZ2xvYmFsIGNvbnZlcnRlcl90eXBlCisgICAgZ2xvYmFsIHByaW1hcnlfY2xhc3NlcworICAgIGdsb2JhbCBjb252ZXJ0ZXJfdHlwZQorICAgIGdsb2JhbCBjbGFzc2VzX2FuY2VzdG9yCisgICAgZ2xvYmFsIGNvbnZlcnRlcl90eXBlCisgICAgZ2xvYmFsIHByaW1hcnlfY2xhc3NlcworICAgIGdsb2JhbCBjbGFzc2VzX2FuY2VzdG9yCisgICAgZ2xvYmFsIGNsYXNzZXNfZGVzdHJ1Y3RvcnMKKyAgICBnbG9iYWwgZnVuY3Rpb25zX25vZXhjZXB0CisKKyAgICBmb3IgdHlwZSBpbiBjbGFzc2VzX3R5cGUua2V5cygpOgorICAgICAgICBmdW5jdGlvbl9jbGFzc2VzW2NsYXNzZXNfdHlwZVt0eXBlXVsyXV0gPSBbXQorCisgICAgIworICAgICMgQnVpbGQgdGhlIGxpc3Qgb2YgQyB0eXBlcyB0byBsb29rIGZvciBvcmRlcmVkIHRvIHN0YXJ0CisgICAgIyB3aXRoIHByaW1hcnkgY2xhc3NlcworICAgICMKKyAgICBjdHlwZXMgPSBbXQorICAgIGNsYXNzZXNfbGlzdCA9IFtdCisgICAgY3R5cGVzX3Byb2Nlc3NlZCA9IHt9CisgICAgY2xhc3Nlc19wcm9jZXNzZWQgPSB7fQorICAgIGZvciBjbGFzc2UgaW4gcHJpbWFyeV9jbGFzc2VzOgorICAgICAgICBjbGFzc2VzX2xpc3QuYXBwZW5kKGNsYXNzZSkKKyAgICAgICAgY2xhc3Nlc19wcm9jZXNzZWRbY2xhc3NlXSA9ICgpCisgICAgICAgIGZvciB0eXBlIGluIGNsYXNzZXNfdHlwZS5rZXlzKCk6CisgICAgICAgICAgICB0aW5mbyA9IGNsYXNzZXNfdHlwZVt0eXBlXQorICAgICAgICAgICAgaWYgdGluZm9bMl0gPT0gY2xhc3NlOgorICAgICAgICAgICAgICAgIGN0eXBlcy5hcHBlbmQodHlwZSkKKyAgICAgICAgICAgICAgICBjdHlwZXNfcHJvY2Vzc2VkW3R5cGVdID0gKCkKKyAgICBmb3IgdHlwZSBpbiBzb3J0ZWQoY2xhc3Nlc190eXBlLmtleXMoKSk6CisgICAgICAgIGlmIHR5cGUgaW4gY3R5cGVzX3Byb2Nlc3NlZDoKKyAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgIHRpbmZvID0gY2xhc3Nlc190eXBlW3R5cGVdCisgICAgICAgIGlmIHRpbmZvWzJdIG5vdCBpbiBjbGFzc2VzX3Byb2Nlc3NlZDoKKyAgICAgICAgICAgIGNsYXNzZXNfbGlzdC5hcHBlbmQodGluZm9bMl0pCisgICAgICAgICAgICBjbGFzc2VzX3Byb2Nlc3NlZFt0aW5mb1syXV0gPSAoKQorCisgICAgICAgIGN0eXBlcy5hcHBlbmQodHlwZSkKKyAgICAgICAgY3R5cGVzX3Byb2Nlc3NlZFt0eXBlXSA9ICgpCisKKyAgICBmb3IgbmFtZSBpbiBmdW5jdGlvbnMua2V5cygpOgorICAgICAgICBmb3VuZCA9IDAKKyAgICAgICAgKGRlc2MsIHJldCwgYXJncywgZmlsZSwgY29uZCkgPSBmdW5jdGlvbnNbbmFtZV0KKyAgICAgICAgZm9yIHR5cGUgaW4gY3R5cGVzOgorICAgICAgICAgICAgY2xhc3NlID0gY2xhc3Nlc190eXBlW3R5cGVdWzJdCisKKyAgICAgICAgICAgIGlmIG5hbWVbMDozXSA9PSAieG1sIiBhbmQgbGVuKGFyZ3MpID49IDEgYW5kIGFyZ3NbMF1bMV0gPT0gdHlwZToKKyAgICAgICAgICAgICAgICBmb3VuZCA9IDEKKyAgICAgICAgICAgICAgICBmdW5jID0gbmFtZUZpeHVwKG5hbWUsIGNsYXNzZSwgdHlwZSwgZmlsZSkKKyAgICAgICAgICAgICAgICBpbmZvID0gKDAsIGZ1bmMsIG5hbWUsIHJldCwgYXJncywgZmlsZSkKKyAgICAgICAgICAgICAgICBmdW5jdGlvbl9jbGFzc2VzW2NsYXNzZV0uYXBwZW5kKGluZm8pCisgICAgICAgICAgICBlbGlmIG5hbWVbMDozXSA9PSAieG1sIiBhbmQgbGVuKGFyZ3MpID49IDIgYW5kIGFyZ3NbMV1bMV0gPT0gdHlwZSBcCisgICAgICAgICAgICAgICAgYW5kIGZpbGUgIT0gInB5dGhvbl9hY2Nlc3NvciI6CisgICAgICAgICAgICAgICAgZm91bmQgPSAxCisgICAgICAgICAgICAgICAgZnVuYyA9IG5hbWVGaXh1cChuYW1lLCBjbGFzc2UsIHR5cGUsIGZpbGUpCisgICAgICAgICAgICAgICAgaW5mbyA9ICgxLCBmdW5jLCBuYW1lLCByZXQsIGFyZ3MsIGZpbGUpCisgICAgICAgICAgICAgICAgZnVuY3Rpb25fY2xhc3Nlc1tjbGFzc2VdLmFwcGVuZChpbmZvKQorICAgICAgICAgICAgZWxpZiBuYW1lWzA6NF0gPT0gImh0bWwiIGFuZCBsZW4oYXJncykgPj0gMSBhbmQgYXJnc1swXVsxXSA9PSB0eXBlOgorICAgICAgICAgICAgICAgIGZvdW5kID0gMQorICAgICAgICAgICAgICAgIGZ1bmMgPSBuYW1lRml4dXAobmFtZSwgY2xhc3NlLCB0eXBlLCBmaWxlKQorICAgICAgICAgICAgICAgIGluZm8gPSAoMCwgZnVuYywgbmFtZSwgcmV0LCBhcmdzLCBmaWxlKQorICAgICAgICAgICAgICAgIGZ1bmN0aW9uX2NsYXNzZXNbY2xhc3NlXS5hcHBlbmQoaW5mbykKKyAgICAgICAgICAgIGVsaWYgbmFtZVswOjRdID09ICJodG1sIiBhbmQgbGVuKGFyZ3MpID49IDIgYW5kIGFyZ3NbMV1bMV0gPT0gdHlwZSBcCisgICAgICAgICAgICAgICAgYW5kIGZpbGUgIT0gInB5dGhvbl9hY2Nlc3NvciI6CisgICAgICAgICAgICAgICAgZm91bmQgPSAxCisgICAgICAgICAgICAgICAgZnVuYyA9IG5hbWVGaXh1cChuYW1lLCBjbGFzc2UsIHR5cGUsIGZpbGUpCisgICAgICAgICAgICAgICAgaW5mbyA9ICgxLCBmdW5jLCBuYW1lLCByZXQsIGFyZ3MsIGZpbGUpCisgICAgICAgICAgICAgICAgZnVuY3Rpb25fY2xhc3Nlc1tjbGFzc2VdLmFwcGVuZChpbmZvKQorICAgICAgICBpZiBmb3VuZCA9PSAxOgorICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgaWYgbmFtZVswOjhdID09ICJ4bWxYUGF0aCI6CisgICAgICAgICAgICBjb250aW51ZQorICAgICAgICBpZiBuYW1lWzA6Nl0gPT0gInhtbFN0ciI6CisgICAgICAgICAgICBjb250aW51ZQorICAgICAgICBpZiBuYW1lWzA6MTBdID09ICJ4bWxDaGFyU3RyIjoKKyAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgIGZ1bmMgPSBuYW1lRml4dXAobmFtZSwgIk5vbmUiLCBmaWxlLCBmaWxlKQorICAgICAgICBpbmZvID0gKDAsIGZ1bmMsIG5hbWUsIHJldCwgYXJncywgZmlsZSkKKyAgICAgICAgZnVuY3Rpb25fY2xhc3Nlc1snTm9uZSddLmFwcGVuZChpbmZvKQorICAgCisgICAgY2xhc3NlcyA9IG9wZW4oImxpYnhtbDJjbGFzcy5weSIsICJ3IikKKyAgICB0eHQgPSBvcGVuKCJsaWJ4bWwyY2xhc3MudHh0IiwgInciKQorICAgIHR4dC53cml0ZSgiICAgICAgICAgIEdlbmVyYXRlZCBDbGFzc2VzIGZvciBsaWJ4bWwyLXB5dGhvblxuXG4iKQorCisgICAgdHh0LndyaXRlKCIjXG4jIEdsb2JhbCBmdW5jdGlvbnMgb2YgdGhlIG1vZHVsZVxuI1xuXG4iKQorICAgIGlmICJOb25lIiBpbiBmdW5jdGlvbl9jbGFzc2VzOgorICAgICAgICBmbGlzdCA9IGZ1bmN0aW9uX2NsYXNzZXNbIk5vbmUiXQorICAgICAgICBmbGlzdCA9IHNvcnRlZChmbGlzdCwga2V5PWNtcF90b19rZXkoZnVuY3Rpb25Db21wYXJlKSkKKyAgICAgICAgb2xkZmlsZSA9ICIiCisgICAgICAgIGZvciBpbmZvIGluIGZsaXN0OgorICAgICAgICAgICAgKGluZGV4LCBmdW5jLCBuYW1lLCByZXQsIGFyZ3MsIGZpbGUpID0gaW5mbworICAgICAgICAgICAgaWYgZmlsZSAhPSBvbGRmaWxlOgorICAgICAgICAgICAgICAgIGNsYXNzZXMud3JpdGUoIiNcbiMgRnVuY3Rpb25zIGZyb20gbW9kdWxlICVzXG4jXG5cbiIgJSBmaWxlKQorICAgICAgICAgICAgICAgIHR4dC53cml0ZSgiXG4jIGZ1bmN0aW9ucyBmcm9tIG1vZHVsZSAlc1xuIiAlIGZpbGUpCisgICAgICAgICAgICAgICAgb2xkZmlsZSA9IGZpbGUKKyAgICAgICAgICAgIGNsYXNzZXMud3JpdGUoImRlZiAlcygiICUgZnVuYykKKyAgICAgICAgICAgIHR4dC53cml0ZSgiJXMoKVxuIiAlIGZ1bmMpCisgICAgICAgICAgICBuID0gMAorICAgICAgICAgICAgZm9yIGFyZyBpbiBhcmdzOgorICAgICAgICAgICAgICAgIGlmIG4gIT0gMDoKKyAgICAgICAgICAgICAgICAgICAgY2xhc3Nlcy53cml0ZSgiLCAiKQorICAgICAgICAgICAgICAgIGNsYXNzZXMud3JpdGUoIiVzIiAlIGFyZ1swXSkKKyAgICAgICAgICAgICAgICBuID0gbiArIDEKKyAgICAgICAgICAgIGNsYXNzZXMud3JpdGUoIik6XG4iKQorICAgICAgICAgICAgd3JpdGVEb2MobmFtZSwgYXJncywgJyAgICAnLCBjbGFzc2VzKQorCisgICAgICAgICAgICBmb3IgYXJnIGluIGFyZ3M6CisgICAgICAgICAgICAgICAgaWYgYXJnWzFdIGluIGNsYXNzZXNfdHlwZToKKyAgICAgICAgICAgICAgICAgICAgY2xhc3Nlcy53cml0ZSgiICAgIGlmICVzIGlzIE5vbmU6ICVzX19vID0gTm9uZVxuIiAlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFyZ1swXSwgYXJnWzBdKSkKKyAgICAgICAgICAgICAgICAgICAgY2xhc3Nlcy53cml0ZSgiICAgIGVsc2U6ICVzX19vID0gJXMlc1xuIiAlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFyZ1swXSwgYXJnWzBdLCBjbGFzc2VzX3R5cGVbYXJnWzFdXVswXSkpCisgICAgICAgICAgICAgICAgaWYgYXJnWzFdIGluIHB5X3R5cGVzOgorICAgICAgICAgICAgICAgICAgICAoZiwgdCwgbiwgYykgPSBweV90eXBlc1thcmdbMV1dCisgICAgICAgICAgICAgICAgICAgIGlmIHQgPT0gIkZpbGUiOgorICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3Nlcy53cml0ZSgiICAgIGlmICVzIGlzIG5vdCBOb25lOiAlcy5mbHVzaCgpXG4iICUgKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdbMF0sIGFyZ1swXSkpCisKKyAgICAgICAgICAgIGlmIHJldFswXSAhPSAidm9pZCI6CisgICAgICAgICAgICAgICAgY2xhc3Nlcy53cml0ZSgiICAgIHJldCA9ICIpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIGNsYXNzZXMud3JpdGUoIiAgICAiKQorICAgICAgICAgICAgY2xhc3Nlcy53cml0ZSgibGlieG1sMm1vZC4lcygiICUgbmFtZSkKKyAgICAgICAgICAgIG4gPSAwCisgICAgICAgICAgICBmb3IgYXJnIGluIGFyZ3M6CisgICAgICAgICAgICAgICAgaWYgbiAhPSAwOgorICAgICAgICAgICAgICAgICAgICBjbGFzc2VzLndyaXRlKCIsICIpCisgICAgICAgICAgICAgICAgY2xhc3Nlcy53cml0ZSgiJXMiICUgYXJnWzBdKQorICAgICAgICAgICAgICAgIGlmIGFyZ1sxXSBpbiBjbGFzc2VzX3R5cGU6CisgICAgICAgICAgICAgICAgICAgIGNsYXNzZXMud3JpdGUoIl9fbyIpCisgICAgICAgICAgICAgICAgbiA9IG4gKyAxCisgICAgICAgICAgICBjbGFzc2VzLndyaXRlKCIpXG4iKQorCisjIFRoaXMgbWF5IGJlIG5lZWRlZCB0byByZXBvc2l0aW9uIHRoZSBJL08sIGJ1dCBsaWtlbHkgdG8gY2F1c2UgbW9yZSBoYXJtCisjIHRoYW4gZ29vZC4gVGhvc2UgY2hhbmdlcyBpbiBQeXRob24zIHJlYWxseSBicmVhayB0aGUgbW9kZWwuCisjICAgICAgICAgICBmb3IgYXJnIGluIGFyZ3M6CisjICAgICAgICAgICAgICAgaWYgYXJnWzFdIGluIHB5X3R5cGVzOgorIyAgICAgICAgICAgICAgICAgICAoZiwgdCwgbiwgYykgPSBweV90eXBlc1thcmdbMV1dCisjICAgICAgICAgICAgICAgICAgIGlmIHQgPT0gIkZpbGUiOgorIyAgICAgICAgICAgICAgICAgICAgICAgY2xhc3Nlcy53cml0ZSgiICAgIGlmICVzIGlzIG5vdCBOb25lOiAlcy5zZWVrKDAsMClcbiIlKAorIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdbMF0sIGFyZ1swXSkpCisKKyAgICAgICAgICAgIGlmIHJldFswXSAhPSAidm9pZCI6CisgICAgICAgICAgICAgICAgaWYgcmV0WzBdIGluIGNsYXNzZXNfdHlwZToKKyAgICAgICAgICAgICAgICAgICAgIworICAgICAgICAgICAgICAgICAgICAjIFJhaXNlIGFuIGV4Y2VwdGlvbgorICAgICAgICAgICAgICAgICAgICAjCisgICAgICAgICAgICAgICAgICAgIGlmIG5hbWUgaW4gZnVuY3Rpb25zX25vZXhjZXB0OgorICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3Nlcy53cml0ZSgiICAgIGlmIHJldCBpcyBOb25lOnJldHVybiBOb25lXG4iKQorICAgICAgICAgICAgICAgICAgICBlbGlmIG5hbWUuZmluZCgiVVJJIikgPj0gMDoKKyAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzZXMud3JpdGUoCisgICAgICAgICAgICAgICAgICAgICAgICAiICAgIGlmIHJldCBpcyBOb25lOnJhaXNlIHVyaUVycm9yKCclcygpIGZhaWxlZCcpXG4iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICUgKG5hbWUpKQorICAgICAgICAgICAgICAgICAgICBlbGlmIG5hbWUuZmluZCgiWFBhdGgiKSA+PSAwOgorICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3Nlcy53cml0ZSgKKyAgICAgICAgICAgICAgICAgICAgICAgICIgICAgaWYgcmV0IGlzIE5vbmU6cmFpc2UgeHBhdGhFcnJvcignJXMoKSBmYWlsZWQnKVxuIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAlIChuYW1lKSkKKyAgICAgICAgICAgICAgICAgICAgZWxpZiBuYW1lLmZpbmQoIlBhcnNlIikgPj0gMDoKKyAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzZXMud3JpdGUoCisgICAgICAgICAgICAgICAgICAgICAgICAiICAgIGlmIHJldCBpcyBOb25lOnJhaXNlIHBhcnNlckVycm9yKCclcygpIGZhaWxlZCcpXG4iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICUgKG5hbWUpKQorICAgICAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3Nlcy53cml0ZSgKKyAgICAgICAgICAgICAgICAgICAgICAgICIgICAgaWYgcmV0IGlzIE5vbmU6cmFpc2UgdHJlZUVycm9yKCclcygpIGZhaWxlZCcpXG4iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICUgKG5hbWUpKQorICAgICAgICAgICAgICAgICAgICBjbGFzc2VzLndyaXRlKCIgICAgcmV0dXJuICIpCisgICAgICAgICAgICAgICAgICAgIGNsYXNzZXMud3JpdGUoY2xhc3Nlc190eXBlW3JldFswXV1bMV0gJSAoInJldCIpKQorICAgICAgICAgICAgICAgICAgICBjbGFzc2VzLndyaXRlKCJcbiIpCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgY2xhc3Nlcy53cml0ZSgiICAgIHJldHVybiByZXRcbiIpCisgICAgICAgICAgICBjbGFzc2VzLndyaXRlKCJcbiIpCisKKyAgICB0eHQud3JpdGUoIlxuXG4jXG4jIFNldCBvZiBjbGFzc2VzIG9mIHRoZSBtb2R1bGVcbiNcblxuIikKKyAgICBmb3IgY2xhc3NuYW1lIGluIGNsYXNzZXNfbGlzdDoKKyAgICAgICAgaWYgY2xhc3NuYW1lID09ICJOb25lIjoKKyAgICAgICAgICAgIHBhc3MKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGlmIGNsYXNzbmFtZSBpbiBjbGFzc2VzX2FuY2VzdG9yOgorICAgICAgICAgICAgICAgIHR4dC53cml0ZSgiXG5cbkNsYXNzICVzKCVzKVxuIiAlIChjbGFzc25hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzZXNfYW5jZXN0b3JbY2xhc3NuYW1lXSkpCisgICAgICAgICAgICAgICAgY2xhc3Nlcy53cml0ZSgiY2xhc3MgJXMoJXMpOlxuIiAlIChjbGFzc25hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc2VzX2FuY2VzdG9yW2NsYXNzbmFtZV0pKQorICAgICAgICAgICAgICAgIGNsYXNzZXMud3JpdGUoIiAgICBkZWYgX19pbml0X18oc2VsZiwgX29iaj1Ob25lKTpcbiIpCisgICAgICAgICAgICAgICAgaWYgY2xhc3Nlc19hbmNlc3RvcltjbGFzc25hbWVdID09ICJ4bWxDb3JlIiBvciBcCisgICAgICAgICAgICAgICAgICAgY2xhc3Nlc19hbmNlc3RvcltjbGFzc25hbWVdID09ICJ4bWxOb2RlIjoKKyAgICAgICAgICAgICAgICAgICAgY2xhc3Nlcy53cml0ZSgiICAgICAgICBpZiBjaGVja1dyYXBwZXIoX29iaikgIT0gMDoiKQorICAgICAgICAgICAgICAgICAgICBjbGFzc2VzLndyaXRlKCIgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IiKQorICAgICAgICAgICAgICAgICAgICBjbGFzc2VzLndyaXRlKCIoJyVzIGdvdCBhIHdyb25nIHdyYXBwZXIgb2JqZWN0IHR5cGUnKVxuIiAlIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NuYW1lKQorICAgICAgICAgICAgICAgIGlmIGNsYXNzbmFtZSBpbiByZWZlcmVuY2Vfa2VlcGVyczoKKyAgICAgICAgICAgICAgICAgICAgcmxpc3QgPSByZWZlcmVuY2Vfa2VlcGVyc1tjbGFzc25hbWVdCisgICAgICAgICAgICAgICAgICAgIGZvciByZWYgaW4gcmxpc3Q6CisgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc2VzLndyaXRlKCIgICAgICAgIHNlbGYuJXMgPSBOb25lXG4iICUgcmVmWzFdKQorICAgICAgICAgICAgICAgIGNsYXNzZXMud3JpdGUoIiAgICAgICAgc2VsZi5fbyA9IF9vYmpcbiIpCisgICAgICAgICAgICAgICAgY2xhc3Nlcy53cml0ZSgiICAgICAgICAlcy5fX2luaXRfXyhzZWxmLCBfb2JqPV9vYmopXG5cbiIgJSAoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc2VzX2FuY2VzdG9yW2NsYXNzbmFtZV0pKQorICAgICAgICAgICAgICAgIGlmIGNsYXNzZXNfYW5jZXN0b3JbY2xhc3NuYW1lXSA9PSAieG1sQ29yZSIgb3IgXAorICAgICAgICAgICAgICAgICAgIGNsYXNzZXNfYW5jZXN0b3JbY2xhc3NuYW1lXSA9PSAieG1sTm9kZSI6CisgICAgICAgICAgICAgICAgICAgIGNsYXNzZXMud3JpdGUoIiAgICBkZWYgX19yZXByX18oc2VsZik6XG4iKQorICAgICAgICAgICAgICAgICAgICBmb3JtYXQgPSAiPCVzICglJXMpIG9iamVjdCBhdCAweCUleD4iICUgKGNsYXNzbmFtZSkKKyAgICAgICAgICAgICAgICAgICAgY2xhc3Nlcy53cml0ZSgiICAgICAgICByZXR1cm4gXCIlc1wiICUlIChzZWxmLm5hbWUsIGludChwb3NfaWQgKHNlbGYpKSlcblxuIiAlICgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXQpKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICB0eHQud3JpdGUoIkNsYXNzICVzKClcbiIgJSAoY2xhc3NuYW1lKSkKKyAgICAgICAgICAgICAgICBjbGFzc2VzLndyaXRlKCJjbGFzcyAlczpcbiIgJSAoY2xhc3NuYW1lKSkKKyAgICAgICAgICAgICAgICBjbGFzc2VzLndyaXRlKCIgICAgZGVmIF9faW5pdF9fKHNlbGYsIF9vYmo9Tm9uZSk6XG4iKQorICAgICAgICAgICAgICAgIGlmIGNsYXNzbmFtZSBpbiByZWZlcmVuY2Vfa2VlcGVyczoKKyAgICAgICAgICAgICAgICAgICAgbGlzdCA9IHJlZmVyZW5jZV9rZWVwZXJzW2NsYXNzbmFtZV0KKyAgICAgICAgICAgICAgICAgICAgZm9yIHJlZiBpbiBsaXN0OgorICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3Nlcy53cml0ZSgiICAgICAgICBzZWxmLiVzID0gTm9uZVxuIiAlIHJlZlsxXSkKKyAgICAgICAgICAgICAgICBjbGFzc2VzLndyaXRlKCIgICAgICAgIGlmIF9vYmogIT0gTm9uZTpzZWxmLl9vID0gX29iajtyZXR1cm5cbiIpCisgICAgICAgICAgICAgICAgY2xhc3Nlcy53cml0ZSgiICAgICAgICBzZWxmLl9vID0gTm9uZVxuXG4iKQorICAgICAgICAgICAgZGVzdHJ1Y3Q9Tm9uZQorICAgICAgICAgICAgaWYgY2xhc3NuYW1lIGluIGNsYXNzZXNfZGVzdHJ1Y3RvcnM6CisgICAgICAgICAgICAgICAgY2xhc3Nlcy53cml0ZSgiICAgIGRlZiBfX2RlbF9fKHNlbGYpOlxuIikKKyAgICAgICAgICAgICAgICBjbGFzc2VzLndyaXRlKCIgICAgICAgIGlmIHNlbGYuX28gIT0gTm9uZTpcbiIpCisgICAgICAgICAgICAgICAgY2xhc3Nlcy53cml0ZSgiICAgICAgICAgICAgbGlieG1sMm1vZC4lcyhzZWxmLl9vKVxuIiAlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc2VzX2Rlc3RydWN0b3JzW2NsYXNzbmFtZV0pCisgICAgICAgICAgICAgICAgY2xhc3Nlcy53cml0ZSgiICAgICAgICBzZWxmLl9vID0gTm9uZVxuXG4iKQorICAgICAgICAgICAgICAgIGRlc3RydWN0PWNsYXNzZXNfZGVzdHJ1Y3RvcnNbY2xhc3NuYW1lXQorICAgICAgICAgICAgZmxpc3QgPSBmdW5jdGlvbl9jbGFzc2VzW2NsYXNzbmFtZV0KKyAgICAgICAgICAgIGZsaXN0ID0gc29ydGVkKGZsaXN0LCBrZXk9Y21wX3RvX2tleShmdW5jdGlvbkNvbXBhcmUpKQorICAgICAgICAgICAgb2xkZmlsZSA9ICIiCisgICAgICAgICAgICBmb3IgaW5mbyBpbiBmbGlzdDoKKyAgICAgICAgICAgICAgICAoaW5kZXgsIGZ1bmMsIG5hbWUsIHJldCwgYXJncywgZmlsZSkgPSBpbmZvCisgICAgICAgICAgICAgICAgIworICAgICAgICAgICAgICAgICMgRG8gbm90IHByb3ZpZGUgYXMgbWV0aG9kIHRoZSBkZXN0cnVjdG9ycyBmb3IgdGhlIGNsYXNzCisgICAgICAgICAgICAgICAgIyB0byBhdm9pZCBkb3VibGUgZnJlZQorICAgICAgICAgICAgICAgICMKKyAgICAgICAgICAgICAgICBpZiBuYW1lID09IGRlc3RydWN0OgorICAgICAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgICAgIGlmIGZpbGUgIT0gb2xkZmlsZToKKyAgICAgICAgICAgICAgICAgICAgaWYgZmlsZSA9PSAicHl0aG9uX2FjY2Vzc29yIjoKKyAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzZXMud3JpdGUoIiAgICAjIGFjY2Vzc29ycyBmb3IgJXNcbiIgJSAoY2xhc3NuYW1lKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHR4dC53cml0ZSgiICAgICMgYWNjZXNzb3JzXG4iKQorICAgICAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3Nlcy53cml0ZSgiICAgICNcbiIpCisgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc2VzLndyaXRlKCIgICAgIyAlcyBmdW5jdGlvbnMgZnJvbSBtb2R1bGUgJXNcbiIgJSAoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzbmFtZSwgZmlsZSkpCisgICAgICAgICAgICAgICAgICAgICAgICB0eHQud3JpdGUoIlxuICAgICMgZnVuY3Rpb25zIGZyb20gbW9kdWxlICVzXG4iICUgZmlsZSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzZXMud3JpdGUoIiAgICAjXG5cbiIpCisgICAgICAgICAgICAgICAgb2xkZmlsZSA9IGZpbGUKKyAgICAgICAgICAgICAgICBjbGFzc2VzLndyaXRlKCIgICAgZGVmICVzKHNlbGYiICUgZnVuYykKKyAgICAgICAgICAgICAgICB0eHQud3JpdGUoIiAgICAlcygpXG4iICUgZnVuYykKKyAgICAgICAgICAgICAgICBuID0gMAorICAgICAgICAgICAgICAgIGZvciBhcmcgaW4gYXJnczoKKyAgICAgICAgICAgICAgICAgICAgaWYgbiAhPSBpbmRleDoKKyAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzZXMud3JpdGUoIiwgJXMiICUgYXJnWzBdKQorICAgICAgICAgICAgICAgICAgICBuID0gbiArIDEKKyAgICAgICAgICAgICAgICBjbGFzc2VzLndyaXRlKCIpOlxuIikKKyAgICAgICAgICAgICAgICB3cml0ZURvYyhuYW1lLCBhcmdzLCAnICAgICAgICAnLCBjbGFzc2VzKQorICAgICAgICAgICAgICAgIG4gPSAwCisgICAgICAgICAgICAgICAgZm9yIGFyZyBpbiBhcmdzOgorICAgICAgICAgICAgICAgICAgICBpZiBhcmdbMV0gaW4gY2xhc3Nlc190eXBlOgorICAgICAgICAgICAgICAgICAgICAgICAgaWYgbiAhPSBpbmRleDoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc2VzLndyaXRlKCIgICAgICAgIGlmICVzIGlzIE5vbmU6ICVzX19vID0gTm9uZVxuIiAlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYXJnWzBdLCBhcmdbMF0pKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzZXMud3JpdGUoIiAgICAgICAgZWxzZTogJXNfX28gPSAlcyVzXG4iICUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhcmdbMF0sIGFyZ1swXSwgY2xhc3Nlc190eXBlW2FyZ1sxXV1bMF0pKQorICAgICAgICAgICAgICAgICAgICBuID0gbiArIDEKKyAgICAgICAgICAgICAgICBpZiByZXRbMF0gIT0gInZvaWQiOgorICAgICAgICAgICAgICAgICAgICBjbGFzc2VzLndyaXRlKCIgICAgICAgIHJldCA9ICIpCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgY2xhc3Nlcy53cml0ZSgiICAgICAgICAiKQorICAgICAgICAgICAgICAgIGNsYXNzZXMud3JpdGUoImxpYnhtbDJtb2QuJXMoIiAlIG5hbWUpCisgICAgICAgICAgICAgICAgbiA9IDAKKyAgICAgICAgICAgICAgICBmb3IgYXJnIGluIGFyZ3M6CisgICAgICAgICAgICAgICAgICAgIGlmIG4gIT0gMDoKKyAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzZXMud3JpdGUoIiwgIikKKyAgICAgICAgICAgICAgICAgICAgaWYgbiAhPSBpbmRleDoKKyAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzZXMud3JpdGUoIiVzIiAlIGFyZ1swXSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIGFyZ1sxXSBpbiBjbGFzc2VzX3R5cGU6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3Nlcy53cml0ZSgiX19vIikKKyAgICAgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzZXMud3JpdGUoInNlbGYiKQorICAgICAgICAgICAgICAgICAgICAgICAgaWYgYXJnWzFdIGluIGNsYXNzZXNfdHlwZToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc2VzLndyaXRlKGNsYXNzZXNfdHlwZVthcmdbMV1dWzBdKQorICAgICAgICAgICAgICAgICAgICBuID0gbiArIDEKKyAgICAgICAgICAgICAgICBjbGFzc2VzLndyaXRlKCIpXG4iKQorICAgICAgICAgICAgICAgIGlmIHJldFswXSAhPSAidm9pZCI6CisgICAgICAgICAgICAgICAgICAgIGlmIHJldFswXSBpbiBjbGFzc2VzX3R5cGU6CisgICAgICAgICAgICAgICAgICAgICAgICAjCisgICAgICAgICAgICAgICAgICAgICAgICAjIFJhaXNlIGFuIGV4Y2VwdGlvbgorICAgICAgICAgICAgICAgICAgICAgICAgIworICAgICAgICAgICAgICAgICAgICAgICAgaWYgbmFtZSBpbiBmdW5jdGlvbnNfbm9leGNlcHQ6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3Nlcy53cml0ZSgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiAgICAgICAgaWYgcmV0IGlzIE5vbmU6cmV0dXJuIE5vbmVcbiIpCisgICAgICAgICAgICAgICAgICAgICAgICBlbGlmIG5hbWUuZmluZCgiVVJJIikgPj0gMDoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc2VzLndyaXRlKAorICAgICAgICAgICAgICAgICAgICAiICAgICAgICBpZiByZXQgaXMgTm9uZTpyYWlzZSB1cmlFcnJvcignJXMoKSBmYWlsZWQnKVxuIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJSAobmFtZSkpCisgICAgICAgICAgICAgICAgICAgICAgICBlbGlmIG5hbWUuZmluZCgiWFBhdGgiKSA+PSAwOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzZXMud3JpdGUoCisgICAgICAgICAgICAgICAgICAgICIgICAgICAgIGlmIHJldCBpcyBOb25lOnJhaXNlIHhwYXRoRXJyb3IoJyVzKCkgZmFpbGVkJylcbiIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICUgKG5hbWUpKQorICAgICAgICAgICAgICAgICAgICAgICAgZWxpZiBuYW1lLmZpbmQoIlBhcnNlIikgPj0gMDoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc2VzLndyaXRlKAorICAgICAgICAgICAgICAgICAgICAiICAgICAgICBpZiByZXQgaXMgTm9uZTpyYWlzZSBwYXJzZXJFcnJvcignJXMoKSBmYWlsZWQnKVxuIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJSAobmFtZSkpCisgICAgICAgICAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzZXMud3JpdGUoCisgICAgICAgICAgICAgICAgICAgICIgICAgICAgIGlmIHJldCBpcyBOb25lOnJhaXNlIHRyZWVFcnJvcignJXMoKSBmYWlsZWQnKVxuIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJSAobmFtZSkpCisKKyAgICAgICAgICAgICAgICAgICAgICAgICMKKyAgICAgICAgICAgICAgICAgICAgICAgICMgZ2VuZXJhdGUgdGhlIHJldHVybmVkIGNsYXNzIHdyYXBwZXIgZm9yIHRoZSBvYmplY3QKKyAgICAgICAgICAgICAgICAgICAgICAgICMKKyAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzZXMud3JpdGUoIiAgICAgICAgX190bXAgPSAiKQorICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3Nlcy53cml0ZShjbGFzc2VzX3R5cGVbcmV0WzBdXVsxXSAlICgicmV0IikpCisgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc2VzLndyaXRlKCJcbiIpCisKKyAgICAgICAgICAgICAgICAgICAgICAgICMKKyAgICAgICAgICAgICAgICAgICAgICAgICMgU29tZXRpbWUgb25lIG5lZWQgdG8ga2VlcCByZWZlcmVuY2VzIG9mIHRoZSBzb3VyY2UKKyAgICAgICAgICAgICAgICAgICAgICAgICMgY2xhc3MgaW4gdGhlIHJldHVybmVkIGNsYXNzIG9iamVjdC4KKyAgICAgICAgICAgICAgICAgICAgICAgICMgU2VlIHJlZmVyZW5jZV9rZWVwZXJzIGZvciB0aGUgbGlzdAorICAgICAgICAgICAgICAgICAgICAgICAgIworICAgICAgICAgICAgICAgICAgICAgICAgdGNsYXNzID0gY2xhc3Nlc190eXBlW3JldFswXV1bMl0KKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIHRjbGFzcyBpbiByZWZlcmVuY2Vfa2VlcGVyczoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0ID0gcmVmZXJlbmNlX2tlZXBlcnNbdGNsYXNzXQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBwcmVmIGluIGxpc3Q6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIHByZWZbMF0gPT0gY2xhc3NuYW1lOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3Nlcy53cml0ZSgiICAgICAgICBfX3RtcC4lcyA9IHNlbGZcbiIgJQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmVmWzFdKQorICAgICAgICAgICAgICAgICAgICAgICAgIworICAgICAgICAgICAgICAgICAgICAgICAgIyByZXR1cm4gdGhlIGNsYXNzCisgICAgICAgICAgICAgICAgICAgICAgICAjCisgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc2VzLndyaXRlKCIgICAgICAgIHJldHVybiBfX3RtcFxuIikKKyAgICAgICAgICAgICAgICAgICAgZWxpZiByZXRbMF0gaW4gY29udmVydGVyX3R5cGU6CisgICAgICAgICAgICAgICAgICAgICAgICAjCisgICAgICAgICAgICAgICAgICAgICAgICAjIFJhaXNlIGFuIGV4Y2VwdGlvbgorICAgICAgICAgICAgICAgICAgICAgICAgIworICAgICAgICAgICAgICAgICAgICAgICAgaWYgbmFtZSBpbiBmdW5jdGlvbnNfbm9leGNlcHQ6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3Nlcy53cml0ZSgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiAgICAgICAgaWYgcmV0IGlzIE5vbmU6cmV0dXJuIE5vbmUiKQorICAgICAgICAgICAgICAgICAgICAgICAgZWxpZiBuYW1lLmZpbmQoIlVSSSIpID49IDA6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3Nlcy53cml0ZSgKKyAgICAgICAgICAgICAgICAgICAgIiAgICAgICAgaWYgcmV0IGlzIE5vbmU6cmFpc2UgdXJpRXJyb3IoJyVzKCkgZmFpbGVkJylcbiIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICUgKG5hbWUpKQorICAgICAgICAgICAgICAgICAgICAgICAgZWxpZiBuYW1lLmZpbmQoIlhQYXRoIikgPj0gMDoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc2VzLndyaXRlKAorICAgICAgICAgICAgICAgICAgICAiICAgICAgICBpZiByZXQgaXMgTm9uZTpyYWlzZSB4cGF0aEVycm9yKCclcygpIGZhaWxlZCcpXG4iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAlIChuYW1lKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGVsaWYgbmFtZS5maW5kKCJQYXJzZSIpID49IDA6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3Nlcy53cml0ZSgKKyAgICAgICAgICAgICAgICAgICAgIiAgICAgICAgaWYgcmV0IGlzIE5vbmU6cmFpc2UgcGFyc2VyRXJyb3IoJyVzKCkgZmFpbGVkJylcbiIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICUgKG5hbWUpKQorICAgICAgICAgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc2VzLndyaXRlKAorICAgICAgICAgICAgICAgICAgICAiICAgICAgICBpZiByZXQgaXMgTm9uZTpyYWlzZSB0cmVlRXJyb3IoJyVzKCkgZmFpbGVkJylcbiIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICUgKG5hbWUpKQorICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3Nlcy53cml0ZSgiICAgICAgICByZXR1cm4gIikKKyAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzZXMud3JpdGUoY29udmVydGVyX3R5cGVbcmV0WzBdXSAlICgicmV0IikpCisgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc2VzLndyaXRlKCJcbiIpCisgICAgICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc2VzLndyaXRlKCIgICAgICAgIHJldHVybiByZXRcbiIpCisgICAgICAgICAgICAgICAgY2xhc3Nlcy53cml0ZSgiXG4iKQorCisgICAgIworICAgICMgR2VuZXJhdGUgZW51bSBjb25zdGFudHMKKyAgICAjCisgICAgZm9yIHR5cGUsZW51bSBpbiBlbnVtcy5pdGVtcygpOgorICAgICAgICBjbGFzc2VzLndyaXRlKCIjICVzXG4iICUgdHlwZSkKKyAgICAgICAgaXRlbXMgPSBlbnVtLml0ZW1zKCkKKyAgICAgICAgaXRlbXMgPSBzb3J0ZWQoaXRlbXMsIGtleT0obGFtYmRhIGk6IGludChpWzFdKSkpCisgICAgICAgIGZvciBuYW1lLHZhbHVlIGluIGl0ZW1zOgorICAgICAgICAgICAgY2xhc3Nlcy53cml0ZSgiJXMgPSAlc1xuIiAlIChuYW1lLHZhbHVlKSkKKyAgICAgICAgY2xhc3Nlcy53cml0ZSgiXG4iKQorCisgICAgdHh0LmNsb3NlKCkKKyAgICBjbGFzc2VzLmNsb3NlKCkKKworYnVpbGRTdHVicygpCitidWlsZFdyYXBwZXJzKCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcHl0aG9uL2xpYnhtbC5jIGIvbGlieG1sMi9weXRob24vbGlieG1sLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzBiNzFmMwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcHl0aG9uL2xpYnhtbC5jCkBAIC0wLDAgKzEsMzkzNCBAQAorLyoKKyAqIGxpYnhtbC5jOiB0aGlzIG1vZHVsZXMgaW1wbGVtZW50cyB0aGUgbWFpbiBwYXJ0IG9mIHRoZSBnbHVlIG9mIHRoZQorICogICAgICAgICAgIGxpYnhtbDIgbGlicmFyeSBhbmQgdGhlIFB5dGhvbiBpbnRlcnByZXRlci4gSXQgcHJvdmlkZXMgdGhlCisgKiAgICAgICAgICAgZW50cnkgcG9pbnRzIHdoZXJlIGFuIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIHN0dWIgaXMgZWl0aGVyCisgKiAgICAgICAgICAgdW5wcmFjdGljYWwgb3Igd291bGQgbm90IG1hdGNoIGNsZWFubHkgdGhlIFB5dGhvbiBtb2RlbC4KKyAqCisgKiBJZiBjb21waWxlZCB3aXRoIE1FUkdFRF9NT0RVTEVTLCB0aGUgZW50cnkgcG9pbnQgd2lsbCBiZSB1c2VkIHRvCisgKiBpbml0aWFsaXplIGJvdGggdGhlIGxpYnhtbDIgYW5kIHRoZSBsaWJ4c2x0IHdyYXBwZXJzCisgKgorICogU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgorICoKKyAqIGRhbmllbEB2ZWlsbGFyZC5jb20KKyAqLworI2luY2x1ZGUgPFB5dGhvbi5oPgorI2luY2x1ZGUgPGZpbGVvYmplY3QuaD4KKy8qICNpbmNsdWRlICJjb25maWcuaCIgKi8KKyNpbmNsdWRlIDxsaWJ4bWwveG1sbWVtb3J5Lmg+CisjaW5jbHVkZSA8bGlieG1sL3BhcnNlci5oPgorI2luY2x1ZGUgPGxpYnhtbC90cmVlLmg+CisjaW5jbHVkZSA8bGlieG1sL3hwYXRoLmg+CisjaW5jbHVkZSA8bGlieG1sL3htbGVycm9yLmg+CisjaW5jbHVkZSA8bGlieG1sL3hwYXRoSW50ZXJuYWxzLmg+CisjaW5jbHVkZSA8bGlieG1sL3htbG1lbW9yeS5oPgorI2luY2x1ZGUgPGxpYnhtbC94bWxJTy5oPgorI2luY2x1ZGUgPGxpYnhtbC9jMTRuLmg+CisjaW5jbHVkZSA8bGlieG1sL3htbHJlYWRlci5oPgorI2luY2x1ZGUgPGxpYnhtbC94bWxzYXZlLmg+CisjaW5jbHVkZSAibGlieG1sX3dyYXAuaCIKKyNpbmNsdWRlICJsaWJ4bWwyLXB5LmgiCisKKyNpZiBkZWZpbmVkKFdJVEhfVFJJTykKKyNpbmNsdWRlICJ0cmlvLmgiCisjZGVmaW5lIHZzbnByaW50ZiB0cmlvX3ZzbnByaW50ZgorI2VuZGlmCisKKy8qICNkZWZpbmUgREVCVUcgKi8KKy8qICNkZWZpbmUgREVCVUdfU0FYICovCisvKiAjZGVmaW5lIERFQlVHX1hQQVRIICovCisvKiAjZGVmaW5lIERFQlVHX0VSUk9SICovCisvKiAjZGVmaW5lIERFQlVHX01FTU9SWSAqLworLyogI2RlZmluZSBERUJVR19GSUxFUyAqLworLyogI2RlZmluZSBERUJVR19MT0FERVIgKi8KKworI2lmIFBZX01BSk9SX1ZFUlNJT04gPj0gMworUHlPYmplY3QgKlB5SW5pdF9saWJ4bWwybW9kKHZvaWQpOworCisjZGVmaW5lIFBZX0lNUE9SVF9TVFJJTkdfU0laRSBQeVVuaWNvZGVfRnJvbVN0cmluZ0FuZFNpemUKKyNkZWZpbmUgUFlfSU1QT1JUX1NUUklORyBQeVVuaWNvZGVfRnJvbVN0cmluZworI2Vsc2UKK3ZvaWQgaW5pdGxpYnhtbDJtb2Qodm9pZCk7CisjZGVmaW5lIFBZX0lNUE9SVF9TVFJJTkdfU0laRSBQeVN0cmluZ19Gcm9tU3RyaW5nQW5kU2l6ZQorI2RlZmluZSBQWV9JTVBPUlRfU1RSSU5HIFB5U3RyaW5nX0Zyb21TdHJpbmcKKyNlbmRpZgorCisKKy8qKgorICogVE9ETzoKKyAqCisgKiBtYWNybyB0byBmbGFnIHVuaW1wbGVtZW50ZWQgYmxvY2tzCisgKi8KKyNkZWZpbmUgVE9ETyAJCQkJCQkJCVwKKyAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwJCQkJXAorCSAgICAiVW5pbXBsZW1lbnRlZCBibG9jayBhdCAlczolZFxuIiwJCQkJXAorICAgICAgICAgICAgX19GSUxFX18sIF9fTElORV9fKTsKKy8qCisgKiB0aGUgZm9sbG93aW5nIHZhcnMgYXJlIHVzZWQgZm9yIFhQYXRoIGV4dGVuc2lvbnMsIGJ1dAorICogYXJlIGFsc28gcmVmZXJlbmNlZCB3aXRoaW4gdGhlIHBhcnNlciBjbGVhbnVwIHJvdXRpbmUuCisgKi8KK3N0YXRpYyBpbnQgbGlieG1sX3hwYXRoQ2FsbGJhY2tzSW5pdGlhbGl6ZWQgPSAwOworCit0eXBlZGVmIHN0cnVjdCBsaWJ4bWxfeHBhdGhDYWxsYmFjayB7CisgICAgeG1sWFBhdGhDb250ZXh0UHRyIGN0eDsKKyAgICB4bWxDaGFyICpuYW1lOworICAgIHhtbENoYXIgKm5zX3VyaTsKKyAgICBQeU9iamVjdCAqZnVuY3Rpb247Cit9IGxpYnhtbF94cGF0aENhbGxiYWNrLCAqbGlieG1sX3hwYXRoQ2FsbGJhY2tQdHI7Cit0eXBlZGVmIGxpYnhtbF94cGF0aENhbGxiYWNrIGxpYnhtbF94cGF0aENhbGxiYWNrQXJyYXlbXTsKK3N0YXRpYyBpbnQgbGlieG1sX3hwYXRoQ2FsbGJhY2tzQWxsb2NkID0gMTA7CitzdGF0aWMgbGlieG1sX3hwYXRoQ2FsbGJhY2tBcnJheSAqbGlieG1sX3hwYXRoQ2FsbGJhY2tzID0gTlVMTDsKK3N0YXRpYyBpbnQgbGlieG1sX3hwYXRoQ2FsbGJhY2tzTmIgPSAwOworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQlNZW1vcnkgZGVidWcgaW50ZXJmYWNlCQkJCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZiAwCitleHRlcm4gdm9pZCB4bWxNZW1GcmVlKHZvaWQgKnB0cik7CitleHRlcm4gdm9pZCAqeG1sTWVtTWFsbG9jKHNpemVfdCBzaXplKTsKK2V4dGVybiB2b2lkICp4bWxNZW1SZWFsbG9jKHZvaWQgKnB0ciwgc2l6ZV90IHNpemUpOworZXh0ZXJuIGNoYXIgKnhtbE1lbW9yeVN0cmR1cChjb25zdCBjaGFyICpzdHIpOworI2VuZGlmCisKK3N0YXRpYyBpbnQgbGlieG1sTWVtb3J5RGVidWdBY3RpdmF0ZWQgPSAwOworc3RhdGljIGxvbmcgbGlieG1sTWVtb3J5QWxsb2NhdGVkQmFzZSA9IDA7CisKK3N0YXRpYyBpbnQgbGlieG1sTWVtb3J5RGVidWcgPSAwOworc3RhdGljIHhtbEZyZWVGdW5jIGZyZWVGdW5jID0gTlVMTDsKK3N0YXRpYyB4bWxNYWxsb2NGdW5jIG1hbGxvY0Z1bmMgPSBOVUxMOworc3RhdGljIHhtbFJlYWxsb2NGdW5jIHJlYWxsb2NGdW5jID0gTlVMTDsKK3N0YXRpYyB4bWxTdHJkdXBGdW5jIHN0cmR1cEZ1bmMgPSBOVUxMOworCitzdGF0aWMgdm9pZAorbGlieG1sX3htbEVycm9ySW5pdGlhbGl6ZSh2b2lkKTsgLyogZm9yd2FyZCBkZWNsYXJlICovCisKK1B5T2JqZWN0ICoKK2xpYnhtbF94bWxNZW1vcnlVc2VkKFB5T2JqZWN0ICogc2VsZiBBVFRSSUJVVEVfVU5VU0VELCAKKyAgICAgICAgUHlPYmplY3QgKiBhcmdzIEFUVFJJQlVURV9VTlVTRUQpCit7CisgICAgbG9uZyByZXQ7CisgICAgUHlPYmplY3QgKnB5X3JldHZhbDsKKworICAgIHJldCA9IHhtbE1lbVVzZWQoKTsKKworICAgIHB5X3JldHZhbCA9IGxpYnhtbF9sb25nV3JhcChyZXQpOworICAgIHJldHVybiAocHlfcmV0dmFsKTsKK30KKworUHlPYmplY3QgKgorbGlieG1sX3htbERlYnVnTWVtb3J5KFB5T2JqZWN0ICogc2VsZiBBVFRSSUJVVEVfVU5VU0VELCBQeU9iamVjdCAqIGFyZ3MpCit7CisgICAgaW50IGFjdGl2YXRlOworICAgIFB5T2JqZWN0ICpweV9yZXR2YWw7CisgICAgbG9uZyByZXQ7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgKGNoYXIgKikgImk6eG1sRGVidWdNZW1vcnkiLCAmYWN0aXZhdGUpKQorICAgICAgICByZXR1cm4gKE5VTEwpOworCisjaWZkZWYgREVCVUdfTUVNT1JZCisgICAgcHJpbnRmKCJsaWJ4bWxfeG1sRGVidWdNZW1vcnkoJWQpIGNhbGxlZFxuIiwgYWN0aXZhdGUpOworI2VuZGlmCisKKyAgICBpZiAoYWN0aXZhdGUgIT0gMCkgeworICAgICAgICBpZiAobGlieG1sTWVtb3J5RGVidWcgPT0gMCkgeworICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAqIEZpcnN0IGluaXRpYWxpemUgdGhlIGxpYnJhcnkgYW5kIGdyYWIgdGhlIG9sZCBtZW1vcnkgaGFuZGxlcnMKKyAgICAgICAgICAgICAqIGFuZCBzd2l0Y2ggdGhlIGxpYnJhcnkgdG8gbWVtb3J5IGRlYnVnZ2luZworICAgICAgICAgICAgICovCisgICAgICAgICAgICB4bWxNZW1HZXQoKHhtbEZyZWVGdW5jICopICYgZnJlZUZ1bmMsCisgICAgICAgICAgICAgICAgICAgICAgKHhtbE1hbGxvY0Z1bmMgKikgJiBtYWxsb2NGdW5jLAorICAgICAgICAgICAgICAgICAgICAgICh4bWxSZWFsbG9jRnVuYyAqKSAmIHJlYWxsb2NGdW5jLAorICAgICAgICAgICAgICAgICAgICAgICh4bWxTdHJkdXBGdW5jICopICYgc3RyZHVwRnVuYyk7CisgICAgICAgICAgICBpZiAoKGZyZWVGdW5jID09IHhtbE1lbUZyZWUpICYmIChtYWxsb2NGdW5jID09IHhtbE1lbU1hbGxvYykgJiYKKyAgICAgICAgICAgICAgICAocmVhbGxvY0Z1bmMgPT0geG1sTWVtUmVhbGxvYykgJiYKKyAgICAgICAgICAgICAgICAoc3RyZHVwRnVuYyA9PSB4bWxNZW1vcnlTdHJkdXApKSB7CisgICAgICAgICAgICAgICAgbGlieG1sTWVtb3J5QWxsb2NhdGVkQmFzZSA9IHhtbE1lbVVzZWQoKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgLyogCisgICAgICAgICAgICAgICAgICogY2xlYW51cCBmaXJzdCwgYmVjYXVzZSBzb21lIG1lbW9yeSBoYXMgYmVlbgorICAgICAgICAgICAgICAgICAqIGFsbG9jYXRlZCB3aXRoIHRoZSBub24tZGVidWcgbWFsbG9jIGluIHhtbEluaXRQYXJzZXIKKyAgICAgICAgICAgICAgICAgKiB3aGVuIHRoZSBweXRob24gbW9kdWxlIHdhcyBpbXBvcnRlZAorICAgICAgICAgICAgICAgICAqLworICAgICAgICAgICAgICAgIHhtbENsZWFudXBQYXJzZXIoKTsKKyAgICAgICAgICAgICAgICByZXQgPSAobG9uZykgeG1sTWVtU2V0dXAoeG1sTWVtRnJlZSwgeG1sTWVtTWFsbG9jLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxNZW1SZWFsbG9jLCB4bWxNZW1vcnlTdHJkdXApOworICAgICAgICAgICAgICAgIGlmIChyZXQgPCAwKQorICAgICAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgICAgIGxpYnhtbE1lbW9yeUFsbG9jYXRlZEJhc2UgPSB4bWxNZW1Vc2VkKCk7CisgICAgICAgICAgICAgICAgLyogcmVpbml0aWFsaXplICovCisgICAgICAgICAgICAgICAgeG1sSW5pdFBhcnNlcigpOworICAgICAgICAgICAgICAgIGxpYnhtbF94bWxFcnJvckluaXRpYWxpemUoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHJldCA9IDA7CisgICAgICAgIH0gZWxzZSBpZiAobGlieG1sTWVtb3J5RGVidWdBY3RpdmF0ZWQgPT0gMCkgeworICAgICAgICAgICAgbGlieG1sTWVtb3J5QWxsb2NhdGVkQmFzZSA9IHhtbE1lbVVzZWQoKTsKKyAgICAgICAgICAgIHJldCA9IDA7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICByZXQgPSB4bWxNZW1Vc2VkKCkgLSBsaWJ4bWxNZW1vcnlBbGxvY2F0ZWRCYXNlOworICAgICAgICB9CisgICAgICAgIGxpYnhtbE1lbW9yeURlYnVnID0gMTsKKyAgICAgICAgbGlieG1sTWVtb3J5RGVidWdBY3RpdmF0ZWQgPSAxOworICAgIH0gZWxzZSB7CisgICAgICAgIGlmIChsaWJ4bWxNZW1vcnlEZWJ1Z0FjdGl2YXRlZCA9PSAxKQorICAgICAgICAgICAgcmV0ID0geG1sTWVtVXNlZCgpIC0gbGlieG1sTWVtb3J5QWxsb2NhdGVkQmFzZTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcmV0ID0gMDsKKyAgICAgICAgbGlieG1sTWVtb3J5RGVidWdBY3RpdmF0ZWQgPSAwOworICAgIH0KKyAgZXJyb3I6CisgICAgcHlfcmV0dmFsID0gbGlieG1sX2xvbmdXcmFwKHJldCk7CisgICAgcmV0dXJuIChweV9yZXR2YWwpOworfQorCitQeU9iamVjdCAqCitsaWJ4bWxfeG1sUHl0aG9uQ2xlYW51cFBhcnNlcihQeU9iamVjdCAqc2VsZiBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKmFyZ3MgQVRUUklCVVRFX1VOVVNFRCkgeworCisgICAgaW50IGl4OworICAgIGxvbmcgZnJlZWQgPSAtMTsKKworICAgIGlmIChsaWJ4bWxNZW1vcnlEZWJ1ZykgeworICAgICAgICBmcmVlZCA9IHhtbE1lbVVzZWQoKTsKKyAgICB9CisKKyAgICB4bWxDbGVhbnVwUGFyc2VyKCk7CisgICAgLyoKKyAgICAgKiBOZWVkIHRvIGNvbmZpcm0gd2hldGhlciB3ZSByZWFsbHkgd2FudCB0byBkbyB0aGlzIChyZXF1aXJlZCBmb3IKKyAgICAgKiBtZW1jaGVjaykgaW4gYWxsIGNhc2VzLi4uCisgICAgICovCisgICAKKyAgICBpZiAobGlieG1sX3hwYXRoQ2FsbGJhY2tzICE9IE5VTEwpIHsJLyogaWYgZXh0IGZ1bmNzIGRlY2xhcmVkICovCisJZm9yIChpeD0wOyBpeDxsaWJ4bWxfeHBhdGhDYWxsYmFja3NOYjsgaXgrKykgeworCSAgICBpZiAoKCpsaWJ4bWxfeHBhdGhDYWxsYmFja3MpW2l4XS5uYW1lICE9IE5VTEwpCisJICAgICAgICB4bWxGcmVlKCgqbGlieG1sX3hwYXRoQ2FsbGJhY2tzKVtpeF0ubmFtZSk7CisJICAgIGlmICgoKmxpYnhtbF94cGF0aENhbGxiYWNrcylbaXhdLm5zX3VyaSAhPSBOVUxMKQorCSAgICAgICAgeG1sRnJlZSgoKmxpYnhtbF94cGF0aENhbGxiYWNrcylbaXhdLm5zX3VyaSk7CisJfQorCWxpYnhtbF94cGF0aENhbGxiYWNrc05iID0gMDsKKyAgICAgICAgeG1sRnJlZShsaWJ4bWxfeHBhdGhDYWxsYmFja3MpOworCWxpYnhtbF94cGF0aENhbGxiYWNrcyA9IE5VTEw7CisgICAgfQorCisgICAgaWYgKGxpYnhtbE1lbW9yeURlYnVnKSB7CisgICAgICAgIGZyZWVkIC09IHhtbE1lbVVzZWQoKTsKKwlsaWJ4bWxNZW1vcnlBbGxvY2F0ZWRCYXNlIC09IGZyZWVkOworCWlmIChsaWJ4bWxNZW1vcnlBbGxvY2F0ZWRCYXNlIDwgMCkKKwkgICAgbGlieG1sTWVtb3J5QWxsb2NhdGVkQmFzZSA9IDA7CisgICAgfQorCisgICAgUHlfSU5DUkVGKFB5X05vbmUpOworICAgIHJldHVybihQeV9Ob25lKTsKK30KKworUHlPYmplY3QgKgorbGlieG1sX3htbER1bXBNZW1vcnkoQVRUUklCVVRFX1VOVVNFRCBQeU9iamVjdCAqIHNlbGYsCisgICAgICAgICAgICAgICAgICAgICBBVFRSSUJVVEVfVU5VU0VEIFB5T2JqZWN0ICogYXJncykKK3sKKworICAgIGlmIChsaWJ4bWxNZW1vcnlEZWJ1ZyAhPSAwKQorICAgICAgICB4bWxNZW1vcnlEdW1wKCk7CisgICAgUHlfSU5DUkVGKFB5X05vbmUpOworICAgIHJldHVybiAoUHlfTm9uZSk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCUhhbmRsaW5nIFB5dGhvbiBGSUxFIEkvTyBhdCB0aGUgQyBsZXZlbAkJCSoKKyAqCVRoZSByYXcgSS9PIGF0dGFjayBkaWVjdGx5IHRoZSBGaWxlIG9iamVjdHMsIHdoaWxlIHRoZQkJKgorICoJb3RoZXIgcm91dGluZXMgYWRkcmVzcyB0aGUgaW9XcmFwcGVyIGluc3RhbmNlIGluc3RlYWQJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqCisgKiB4bWxQeXRob25GaWxlQ2xvc2VVbnJlZjoKKyAqIEBjb250ZXh0OiAgdGhlIEkvTyBjb250ZXh0CisgKgorICogQ2xvc2UgYW4gSS9PIGNoYW5uZWwKKyAqLworc3RhdGljIGludAoreG1sUHl0aG9uRmlsZUNsb3NlUmF3ICh2b2lkICogY29udGV4dCkgeworICAgIFB5T2JqZWN0ICpmaWxlLCAqcmV0OworCisjaWZkZWYgREVCVUdfRklMRVMKKyAgICBwcmludGYoInhtbFB5dGhvbkZpbGVDbG9zZVVucmVmXG4iKTsKKyNlbmRpZgorICAgIGZpbGUgPSAoUHlPYmplY3QgKikgY29udGV4dDsKKyAgICBpZiAoZmlsZSA9PSBOVUxMKSByZXR1cm4oLTEpOworICAgIHJldCA9IFB5RXZhbF9DYWxsTWV0aG9kKGZpbGUsIChjaGFyICopICJjbG9zZSIsIChjaGFyICopICIoKSIpOworICAgIGlmIChyZXQgIT0gTlVMTCkgeworCVB5X0RFQ1JFRihyZXQpOworICAgIH0KKyAgICBQeV9ERUNSRUYoZmlsZSk7CisgICAgcmV0dXJuKDApOworfQorCisvKioKKyAqIHhtbFB5dGhvbkZpbGVSZWFkUmF3OgorICogQGNvbnRleHQ6ICB0aGUgSS9PIGNvbnRleHQKKyAqIEBidWZmZXI6ICB3aGVyZSB0byBkcm9wIGRhdGEKKyAqIEBsZW46ICBudW1iZXIgb2YgYnl0ZXMgdG8gd3JpdGUKKyAqCisgKiBSZWFkIEBsZW4gYnl0ZXMgdG8gQGJ1ZmZlciBmcm9tIHRoZSBQeXRob24gZmlsZSBpbiB0aGUgSS9PIGNoYW5uZWwKKyAqCisgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgYnl0ZXMgcmVhZAorICovCitzdGF0aWMgaW50Cit4bWxQeXRob25GaWxlUmVhZFJhdyAodm9pZCAqIGNvbnRleHQsIGNoYXIgKiBidWZmZXIsIGludCBsZW4pIHsKKyAgICBQeU9iamVjdCAqZmlsZTsKKyAgICBQeU9iamVjdCAqcmV0OworICAgIGludCBsZW5yZWFkID0gLTE7CisgICAgY2hhciAqZGF0YTsKKworI2lmZGVmIERFQlVHX0ZJTEVTCisgICAgcHJpbnRmKCJ4bWxQeXRob25GaWxlUmVhZFJhdzogJWRcbiIsIGxlbik7CisjZW5kaWYKKyAgICBmaWxlID0gKFB5T2JqZWN0ICopIGNvbnRleHQ7CisgICAgaWYgKGZpbGUgPT0gTlVMTCkgcmV0dXJuKC0xKTsKKyAgICByZXQgPSBQeUV2YWxfQ2FsbE1ldGhvZChmaWxlLCAoY2hhciAqKSAicmVhZCIsIChjaGFyICopICIoaSkiLCBsZW4pOworICAgIGlmIChyZXQgPT0gTlVMTCkgeworCXByaW50ZigieG1sUHl0aG9uRmlsZVJlYWRSYXc6IHJlc3VsdCBpcyBOVUxMXG4iKTsKKwlyZXR1cm4oLTEpOworICAgIH0gZWxzZSBpZiAoUHlCeXRlc19DaGVjayhyZXQpKSB7CisJbGVucmVhZCA9IFB5Qnl0ZXNfU2l6ZShyZXQpOworCWRhdGEgPSBQeUJ5dGVzX0FzU3RyaW5nKHJldCk7CisjaWZkZWYgUHlVbmljb2RlX0NoZWNrCisgICAgfSBlbHNlIGlmIFB5VW5pY29kZV9DaGVjayAocmV0KSB7CisjaWYgUFlfVkVSU0lPTl9IRVggPj0gMHgwMzAzMDAwMAorICAgICAgICBQeV9zc2l6ZV90IHNpemU7CisJY29uc3QgY2hhciAqdG1wOworCisJLyogdG1wIGRvZXNuJ3QgbmVlZCB0byBiZSBkZWFsbG9jYXRlZCAqLworICAgICAgICB0bXAgPSBQeVVuaWNvZGVfQXNVVEY4QW5kU2l6ZShyZXQsICZzaXplKTsKKworCWxlbnJlYWQgPSAoaW50KSBzaXplOworCWRhdGEgPSAoY2hhciAqKSB0bXA7CisjZWxzZQorICAgICAgICBQeU9iamVjdCAqYjsKKwliID0gUHlVbmljb2RlX0FzVVRGOFN0cmluZyhyZXQpOworCWlmIChiID09IE5VTEwpIHsKKwkgICAgcHJpbnRmKCJ4bWxQeXRob25GaWxlUmVhZFJhdzogZmFpbGVkIHRvIGNvbnZlcnQgdG8gVVRGLThcbiIpOworCSAgICByZXR1cm4oLTEpOworCX0KKwlsZW5yZWFkID0gUHlCeXRlc19TaXplKGIpOworCWRhdGEgPSBQeUJ5dGVzX0FzU3RyaW5nKGIpOworCVB5X0RFQ1JFRihiKTsKKyNlbmRpZgorI2VuZGlmCisgICAgfSBlbHNlIHsKKwlwcmludGYoInhtbFB5dGhvbkZpbGVSZWFkUmF3OiByZXN1bHQgaXMgbm90IGEgU3RyaW5nXG4iKTsKKwlQeV9ERUNSRUYocmV0KTsKKwlyZXR1cm4oLTEpOworICAgIH0KKyAgICBpZiAobGVucmVhZCA+IGxlbikKKwltZW1jcHkoYnVmZmVyLCBkYXRhLCBsZW4pOworICAgIGVsc2UKKwltZW1jcHkoYnVmZmVyLCBkYXRhLCBsZW5yZWFkKTsKKyAgICBQeV9ERUNSRUYocmV0KTsKKyAgICByZXR1cm4obGVucmVhZCk7Cit9CisKKy8qKgorICogeG1sUHl0aG9uRmlsZVJlYWQ6CisgKiBAY29udGV4dDogIHRoZSBJL08gY29udGV4dAorICogQGJ1ZmZlcjogIHdoZXJlIHRvIGRyb3AgZGF0YQorICogQGxlbjogIG51bWJlciBvZiBieXRlcyB0byB3cml0ZQorICoKKyAqIFJlYWQgQGxlbiBieXRlcyB0byBAYnVmZmVyIGZyb20gdGhlIEkvTyBjaGFubmVsLgorICoKKyAqIFJldHVybnMgdGhlIG51bWJlciBvZiBieXRlcyByZWFkCisgKi8KK3N0YXRpYyBpbnQKK3htbFB5dGhvbkZpbGVSZWFkICh2b2lkICogY29udGV4dCwgY2hhciAqIGJ1ZmZlciwgaW50IGxlbikgeworICAgIFB5T2JqZWN0ICpmaWxlOworICAgIFB5T2JqZWN0ICpyZXQ7CisgICAgaW50IGxlbnJlYWQgPSAtMTsKKyAgICBjaGFyICpkYXRhOworCisjaWZkZWYgREVCVUdfRklMRVMKKyAgICBwcmludGYoInhtbFB5dGhvbkZpbGVSZWFkOiAlZFxuIiwgbGVuKTsKKyNlbmRpZgorICAgIGZpbGUgPSAoUHlPYmplY3QgKikgY29udGV4dDsKKyAgICBpZiAoZmlsZSA9PSBOVUxMKSByZXR1cm4oLTEpOworICAgIHJldCA9IFB5RXZhbF9DYWxsTWV0aG9kKGZpbGUsIChjaGFyICopICJpb19yZWFkIiwgKGNoYXIgKikgIihpKSIsIGxlbik7CisgICAgaWYgKHJldCA9PSBOVUxMKSB7CisJcHJpbnRmKCJ4bWxQeXRob25GaWxlUmVhZDogcmVzdWx0IGlzIE5VTExcbiIpOworCXJldHVybigtMSk7CisgICAgfSBlbHNlIGlmIChQeUJ5dGVzX0NoZWNrKHJldCkpIHsKKwlsZW5yZWFkID0gUHlCeXRlc19TaXplKHJldCk7CisJZGF0YSA9IFB5Qnl0ZXNfQXNTdHJpbmcocmV0KTsKKyNpZmRlZiBQeVVuaWNvZGVfQ2hlY2sKKyAgICB9IGVsc2UgaWYgUHlVbmljb2RlX0NoZWNrIChyZXQpIHsKKyNpZiBQWV9WRVJTSU9OX0hFWCA+PSAweDAzMDMwMDAwCisgICAgICAgIFB5X3NzaXplX3Qgc2l6ZTsKKwljb25zdCBjaGFyICp0bXA7CisKKwkvKiB0bXAgZG9lc24ndCBuZWVkIHRvIGJlIGRlYWxsb2NhdGVkICovCisgICAgICAgIHRtcCA9IFB5VW5pY29kZV9Bc1VURjhBbmRTaXplKHJldCwgJnNpemUpOworCisJbGVucmVhZCA9IChpbnQpIHNpemU7CisJZGF0YSA9IChjaGFyICopIHRtcDsKKyNlbHNlCisgICAgICAgIFB5T2JqZWN0ICpiOworCWIgPSBQeVVuaWNvZGVfQXNVVEY4U3RyaW5nKHJldCk7CisJaWYgKGIgPT0gTlVMTCkgeworCSAgICBwcmludGYoInhtbFB5dGhvbkZpbGVSZWFkOiBmYWlsZWQgdG8gY29udmVydCB0byBVVEYtOFxuIik7CisJICAgIHJldHVybigtMSk7CisJfQorCWxlbnJlYWQgPSBQeUJ5dGVzX1NpemUoYik7CisJZGF0YSA9IFB5Qnl0ZXNfQXNTdHJpbmcoYik7CisJUHlfREVDUkVGKGIpOworI2VuZGlmCisjZW5kaWYKKyAgICB9IGVsc2UgeworCXByaW50ZigieG1sUHl0aG9uRmlsZVJlYWQ6IHJlc3VsdCBpcyBub3QgYSBTdHJpbmdcbiIpOworCVB5X0RFQ1JFRihyZXQpOworCXJldHVybigtMSk7CisgICAgfQorICAgIGlmIChsZW5yZWFkID4gbGVuKQorCW1lbWNweShidWZmZXIsIGRhdGEsIGxlbik7CisgICAgZWxzZQorCW1lbWNweShidWZmZXIsIGRhdGEsIGxlbnJlYWQpOworICAgIFB5X0RFQ1JFRihyZXQpOworICAgIHJldHVybihsZW5yZWFkKTsKK30KKworLyoqCisgKiB4bWxGaWxlV3JpdGU6CisgKiBAY29udGV4dDogIHRoZSBJL08gY29udGV4dAorICogQGJ1ZmZlcjogIHdoZXJlIHRvIGRyb3AgZGF0YQorICogQGxlbjogIG51bWJlciBvZiBieXRlcyB0byB3cml0ZQorICoKKyAqIFdyaXRlIEBsZW4gYnl0ZXMgZnJvbSBAYnVmZmVyIHRvIHRoZSBJL08gY2hhbm5lbC4KKyAqCisgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgYnl0ZXMgd3JpdHRlbgorICovCitzdGF0aWMgaW50Cit4bWxQeXRob25GaWxlV3JpdGUgKHZvaWQgKiBjb250ZXh0LCBjb25zdCBjaGFyICogYnVmZmVyLCBpbnQgbGVuKSB7CisgICAgUHlPYmplY3QgKmZpbGU7CisgICAgUHlPYmplY3QgKnN0cmluZzsKKyAgICBQeU9iamVjdCAqcmV0ID0gTlVMTDsKKyAgICBpbnQgd3JpdHRlbiA9IC0xOworCisjaWZkZWYgREVCVUdfRklMRVMKKyAgICBwcmludGYoInhtbFB5dGhvbkZpbGVXcml0ZTogJWRcbiIsIGxlbik7CisjZW5kaWYKKyAgICBmaWxlID0gKFB5T2JqZWN0ICopIGNvbnRleHQ7CisgICAgaWYgKGZpbGUgPT0gTlVMTCkgcmV0dXJuKC0xKTsKKyAgICBzdHJpbmcgPSBQWV9JTVBPUlRfU1RSSU5HX1NJWkUoYnVmZmVyLCBsZW4pOworICAgIGlmIChzdHJpbmcgPT0gTlVMTCkgcmV0dXJuKC0xKTsKKyAgICBpZiAoUHlPYmplY3RfSGFzQXR0clN0cmluZyhmaWxlLCAoY2hhciAqKSAiaW9fd3JpdGUiKSkgeworICAgICAgICByZXQgPSBQeUV2YWxfQ2FsbE1ldGhvZChmaWxlLCAoY2hhciAqKSAiaW9fd3JpdGUiLCAoY2hhciAqKSAiKE8pIiwKKwkgICAgICAgICAgICAgICAgICAgICAgICBzdHJpbmcpOworICAgIH0gZWxzZSBpZiAoUHlPYmplY3RfSGFzQXR0clN0cmluZyhmaWxlLCAoY2hhciAqKSAid3JpdGUiKSkgeworICAgICAgICByZXQgPSBQeUV2YWxfQ2FsbE1ldGhvZChmaWxlLCAoY2hhciAqKSAid3JpdGUiLCAoY2hhciAqKSAiKE8pIiwKKwkgICAgICAgICAgICAgICAgICAgICAgICBzdHJpbmcpOworICAgIH0KKyAgICBQeV9ERUNSRUYoc3RyaW5nKTsKKyAgICBpZiAocmV0ID09IE5VTEwpIHsKKwlwcmludGYoInhtbFB5dGhvbkZpbGVXcml0ZTogcmVzdWx0IGlzIE5VTExcbiIpOworCXJldHVybigtMSk7CisgICAgfSBlbHNlIGlmIChQeUxvbmdfQ2hlY2socmV0KSkgeworCXdyaXR0ZW4gPSAoaW50KSBQeUxvbmdfQXNMb25nKHJldCk7CisJUHlfREVDUkVGKHJldCk7CisgICAgfSBlbHNlIGlmIChyZXQgPT0gUHlfTm9uZSkgeworCXdyaXR0ZW4gPSBsZW47CisJUHlfREVDUkVGKHJldCk7CisgICAgfSBlbHNlIHsKKwlwcmludGYoInhtbFB5dGhvbkZpbGVXcml0ZTogcmVzdWx0IGlzIG5vdCBhbiBJbnQgbm9yIE5vbmVcbiIpOworCVB5X0RFQ1JFRihyZXQpOworICAgIH0KKyAgICByZXR1cm4od3JpdHRlbik7Cit9CisKKy8qKgorICogeG1sUHl0aG9uRmlsZUNsb3NlOgorICogQGNvbnRleHQ6ICB0aGUgSS9PIGNvbnRleHQKKyAqCisgKiBDbG9zZSBhbiBJL08gY2hhbm5lbAorICovCitzdGF0aWMgaW50Cit4bWxQeXRob25GaWxlQ2xvc2UgKHZvaWQgKiBjb250ZXh0KSB7CisgICAgUHlPYmplY3QgKmZpbGUsICpyZXQgPSBOVUxMOworCisjaWZkZWYgREVCVUdfRklMRVMKKyAgICBwcmludGYoInhtbFB5dGhvbkZpbGVDbG9zZVxuIik7CisjZW5kaWYKKyAgICBmaWxlID0gKFB5T2JqZWN0ICopIGNvbnRleHQ7CisgICAgaWYgKGZpbGUgPT0gTlVMTCkgcmV0dXJuKC0xKTsKKyAgICBpZiAoUHlPYmplY3RfSGFzQXR0clN0cmluZyhmaWxlLCAoY2hhciAqKSAiaW9fY2xvc2UiKSkgeworICAgICAgICByZXQgPSBQeUV2YWxfQ2FsbE1ldGhvZChmaWxlLCAoY2hhciAqKSAiaW9fY2xvc2UiLCAoY2hhciAqKSAiKCkiKTsKKyAgICB9IGVsc2UgaWYgKFB5T2JqZWN0X0hhc0F0dHJTdHJpbmcoZmlsZSwgKGNoYXIgKikgImZsdXNoIikpIHsKKyAgICAgICAgcmV0ID0gUHlFdmFsX0NhbGxNZXRob2QoZmlsZSwgKGNoYXIgKikgImZsdXNoIiwgKGNoYXIgKikgIigpIik7CisgICAgfQorICAgIGlmIChyZXQgIT0gTlVMTCkgeworCVB5X0RFQ1JFRihyZXQpOworICAgIH0KKyAgICByZXR1cm4oMCk7Cit9CisKKyNpZmRlZiBMSUJYTUxfT1VUUFVUX0VOQUJMRUQKKy8qKgorICogeG1sT3V0cHV0QnVmZmVyQ3JlYXRlUHl0aG9uRmlsZToKKyAqIEBmaWxlOiAgYSBQeUZpbGVfVHlwZQorICogQGVuY29kZXI6ICB0aGUgZW5jb2RpbmcgY29udmVydGVyIG9yIE5VTEwKKyAqCisgKiBDcmVhdGUgYSBidWZmZXJlZCBvdXRwdXQgZm9yIHRoZSBwcm9ncmVzc2l2ZSBzYXZpbmcgdG8gYSBQeUZpbGVfVHlwZQorICogYnVmZmVyZWQgQyBJL08KKyAqCisgKiBSZXR1cm5zIHRoZSBuZXcgcGFyc2VyIG91dHB1dCBvciBOVUxMCisgKi8KK3N0YXRpYyB4bWxPdXRwdXRCdWZmZXJQdHIKK3htbE91dHB1dEJ1ZmZlckNyZWF0ZVB5dGhvbkZpbGUoUHlPYmplY3QgKmZpbGUsIAorCSAgICAgICAgICAgICAgICAgICAgICAgIHhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIgZW5jb2RlcikgeworICAgIHhtbE91dHB1dEJ1ZmZlclB0ciByZXQ7CisKKyAgICBpZiAoZmlsZSA9PSBOVUxMKSByZXR1cm4oTlVMTCk7CisKKyAgICByZXQgPSB4bWxBbGxvY091dHB1dEJ1ZmZlcihlbmNvZGVyKTsKKyAgICBpZiAocmV0ICE9IE5VTEwpIHsKKyAgICAgICAgcmV0LT5jb250ZXh0ID0gZmlsZTsKKwkvKiBQeV9JTkNSRUYoZmlsZSk7ICovCisJcmV0LT53cml0ZWNhbGxiYWNrID0geG1sUHl0aG9uRmlsZVdyaXRlOworCXJldC0+Y2xvc2VjYWxsYmFjayA9IHhtbFB5dGhvbkZpbGVDbG9zZTsKKyAgICB9CisKKyAgICByZXR1cm4ocmV0KTsKK30KKworUHlPYmplY3QgKgorbGlieG1sX3htbENyZWF0ZU91dHB1dEJ1ZmZlcihBVFRSSUJVVEVfVU5VU0VEIFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykgeworICAgIFB5T2JqZWN0ICpweV9yZXR2YWw7CisgICAgUHlPYmplY3QgKmZpbGU7CisgICAgeG1sQ2hhciAgKmVuY29kaW5nOworICAgIHhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIgaGFuZGxlciA9IE5VTEw7CisgICAgeG1sT3V0cHV0QnVmZmVyUHRyIGJ1ZmZlcjsKKworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsIChjaGFyICopIk96OnhtbE91dHB1dEJ1ZmZlckNyZWF0ZSIsCisJCSZmaWxlLCAmZW5jb2RpbmcpKQorCXJldHVybihOVUxMKTsKKyAgICBpZiAoKGVuY29kaW5nICE9IE5VTEwpICYmIChlbmNvZGluZ1swXSAhPSAwKSkgeworCWhhbmRsZXIgPSB4bWxGaW5kQ2hhckVuY29kaW5nSGFuZGxlcigoY29uc3QgY2hhciAqKSBlbmNvZGluZyk7CisgICAgfQorICAgIGJ1ZmZlciA9IHhtbE91dHB1dEJ1ZmZlckNyZWF0ZVB5dGhvbkZpbGUoZmlsZSwgaGFuZGxlcik7CisgICAgaWYgKGJ1ZmZlciA9PSBOVUxMKQorCXByaW50ZigibGlieG1sX3htbENyZWF0ZU91dHB1dEJ1ZmZlcjogYnVmZmVyID09IE5VTExcbiIpOworICAgIHB5X3JldHZhbCA9IGxpYnhtbF94bWxPdXRwdXRCdWZmZXJQdHJXcmFwKGJ1ZmZlcik7CisgICAgcmV0dXJuKHB5X3JldHZhbCk7Cit9CisKKy8qKgorICogbGlieG1sX291dHB1dEJ1ZmZlckdldFB5dGhvbkZpbGU6CisgKiBAYnVmZmVyOiAgdGhlIEkvTyBidWZmZXIKKyAqCisgKiByZWFkIHRoZSBQeXRob24gSS9PIGZyb20gdGhlIENPYmplY3QKKyAqCisgKiBSZXR1cm5zIHRoZSBuZXcgcGFyc2VyIG91dHB1dCBvciBOVUxMCisgKi8KK3N0YXRpYyBQeU9iamVjdCAqCitsaWJ4bWxfb3V0cHV0QnVmZmVyR2V0UHl0aG9uRmlsZShBVFRSSUJVVEVfVU5VU0VEIFB5T2JqZWN0ICpzZWxmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKmFyZ3MpIHsKKyAgICBQeU9iamVjdCAqYnVmZmVyOworICAgIFB5T2JqZWN0ICpmaWxlOworICAgIHhtbE91dHB1dEJ1ZmZlclB0ciBvYmo7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgKGNoYXIgKikiTzpvdXRwdXRCdWZmZXJHZXRQeXRob25GaWxlIiwKKwkJCSAgJmJ1ZmZlcikpCisJcmV0dXJuKE5VTEwpOworCisgICAgb2JqID0gUHlvdXRwdXRCdWZmZXJfR2V0KGJ1ZmZlcik7CisgICAgaWYgKG9iaiA9PSBOVUxMKSB7CisJZnByaW50ZihzdGRlcnIsCisJICAgICAgICAib3V0cHV0QnVmZmVyR2V0UHl0aG9uRmlsZTogb2JqID09IE5VTExcbiIpOworCVB5X0lOQ1JFRihQeV9Ob25lKTsKKwlyZXR1cm4oUHlfTm9uZSk7CisgICAgfQorICAgIGlmIChvYmotPmNsb3NlY2FsbGJhY2sgIT0geG1sUHl0aG9uRmlsZUNsb3NlKSB7CisJZnByaW50ZihzdGRlcnIsCisJICAgICAgICAib3V0cHV0QnVmZmVyR2V0UHl0aG9uRmlsZTogbm90IGEgcHl0aG9uIGZpbGUgd3JhcHBlclxuIik7CisJUHlfSU5DUkVGKFB5X05vbmUpOworCXJldHVybihQeV9Ob25lKTsKKyAgICB9CisgICAgZmlsZSA9IChQeU9iamVjdCAqKSBvYmotPmNvbnRleHQ7CisgICAgaWYgKGZpbGUgPT0gTlVMTCkgeworCVB5X0lOQ1JFRihQeV9Ob25lKTsKKwlyZXR1cm4oUHlfTm9uZSk7CisgICAgfQorICAgIFB5X0lOQ1JFRihmaWxlKTsKKyAgICByZXR1cm4oZmlsZSk7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitsaWJ4bWxfeG1sT3V0cHV0QnVmZmVyQ2xvc2UoUHlPYmplY3QgKnNlbGYgQVRUUklCVVRFX1VOVVNFRCwgUHlPYmplY3QgKmFyZ3MpIHsKKyAgICBQeU9iamVjdCAqcHlfcmV0dmFsOworICAgIGludCBjX3JldHZhbDsKKyAgICB4bWxPdXRwdXRCdWZmZXJQdHIgb3V0OworICAgIFB5T2JqZWN0ICpweW9ial9vdXQ7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgKGNoYXIgKikiTzp4bWxPdXRwdXRCdWZmZXJDbG9zZSIsICZweW9ial9vdXQpKQorICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgb3V0ID0gKHhtbE91dHB1dEJ1ZmZlclB0cikgUHlvdXRwdXRCdWZmZXJfR2V0KHB5b2JqX291dCk7CisgICAgLyogQnVmZmVyIG1heSBhbHJlYWR5IGhhdmUgYmVlbiBkZXN0cm95ZWQgZWxzZXdoZXJlLiBUaGlzIGlzIGhhcm1sZXNzLiAqLworICAgIGlmIChvdXQgPT0gTlVMTCkgeworCVB5X0lOQ1JFRihQeV9Ob25lKTsKKwlyZXR1cm4oUHlfTm9uZSk7CisgICAgfQorCisgICAgY19yZXR2YWwgPSB4bWxPdXRwdXRCdWZmZXJDbG9zZShvdXQpOworICAgIHB5X3JldHZhbCA9IGxpYnhtbF9pbnRXcmFwKChpbnQpIGNfcmV0dmFsKTsKKyAgICByZXR1cm4ocHlfcmV0dmFsKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK2xpYnhtbF94bWxPdXRwdXRCdWZmZXJGbHVzaChQeU9iamVjdCAqc2VsZiBBVFRSSUJVVEVfVU5VU0VELCBQeU9iamVjdCAqYXJncykgeworICAgIFB5T2JqZWN0ICpweV9yZXR2YWw7CisgICAgaW50IGNfcmV0dmFsOworICAgIHhtbE91dHB1dEJ1ZmZlclB0ciBvdXQ7CisgICAgUHlPYmplY3QgKnB5b2JqX291dDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAoY2hhciAqKSJPOnhtbE91dHB1dEJ1ZmZlckZsdXNoIiwgJnB5b2JqX291dCkpCisgICAgICAgIHJldHVybihOVUxMKTsKKyAgICBvdXQgPSAoeG1sT3V0cHV0QnVmZmVyUHRyKSBQeW91dHB1dEJ1ZmZlcl9HZXQocHlvYmpfb3V0KTsKKworICAgIGNfcmV0dmFsID0geG1sT3V0cHV0QnVmZmVyRmx1c2gob3V0KTsKKyAgICBweV9yZXR2YWwgPSBsaWJ4bWxfaW50V3JhcCgoaW50KSBjX3JldHZhbCk7CisgICAgcmV0dXJuKHB5X3JldHZhbCk7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitsaWJ4bWxfeG1sU2F2ZUZpbGVUbyhQeU9iamVjdCAqc2VsZiBBVFRSSUJVVEVfVU5VU0VELCBQeU9iamVjdCAqYXJncykgeworICAgIFB5T2JqZWN0ICpweV9yZXR2YWw7CisgICAgaW50IGNfcmV0dmFsOworICAgIHhtbE91dHB1dEJ1ZmZlclB0ciBidWY7CisgICAgUHlPYmplY3QgKnB5b2JqX2J1ZjsKKyAgICB4bWxEb2NQdHIgY3VyOworICAgIFB5T2JqZWN0ICpweW9ial9jdXI7CisgICAgY2hhciAqIGVuY29kaW5nOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsIChjaGFyICopIk9Pejp4bWxTYXZlRmlsZVRvIiwgJnB5b2JqX2J1ZiwgJnB5b2JqX2N1ciwgJmVuY29kaW5nKSkKKyAgICAgICAgcmV0dXJuKE5VTEwpOworICAgIGJ1ZiA9ICh4bWxPdXRwdXRCdWZmZXJQdHIpIFB5b3V0cHV0QnVmZmVyX0dldChweW9ial9idWYpOworICAgIGN1ciA9ICh4bWxEb2NQdHIpIFB5eG1sTm9kZV9HZXQocHlvYmpfY3VyKTsKKworICAgIGNfcmV0dmFsID0geG1sU2F2ZUZpbGVUbyhidWYsIGN1ciwgZW5jb2RpbmcpOworCS8qIHhtbFNhdmVUbygpIGZyZWVkIHRoZSBtZW1vcnkgcG9pbnRlZCB0byBieSBidWYsIHNvIHJlY29yZCB0aGF0IGluIHRoZQorCSAqIFB5dGhvbiBvYmplY3QuICovCisgICAgKChQeW91dHB1dEJ1ZmZlcl9PYmplY3QgKikocHlvYmpfYnVmKSktPm9iaiA9IE5VTEw7CisgICAgcHlfcmV0dmFsID0gbGlieG1sX2ludFdyYXAoKGludCkgY19yZXR2YWwpOworICAgIHJldHVybihweV9yZXR2YWwpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorbGlieG1sX3htbFNhdmVGb3JtYXRGaWxlVG8oUHlPYmplY3QgKnNlbGYgQVRUUklCVVRFX1VOVVNFRCwgUHlPYmplY3QgKmFyZ3MpIHsKKyAgICBQeU9iamVjdCAqcHlfcmV0dmFsOworICAgIGludCBjX3JldHZhbDsKKyAgICB4bWxPdXRwdXRCdWZmZXJQdHIgYnVmOworICAgIFB5T2JqZWN0ICpweW9ial9idWY7CisgICAgeG1sRG9jUHRyIGN1cjsKKyAgICBQeU9iamVjdCAqcHlvYmpfY3VyOworICAgIGNoYXIgKiBlbmNvZGluZzsKKyAgICBpbnQgZm9ybWF0OworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsIChjaGFyICopIk9Pemk6eG1sU2F2ZUZvcm1hdEZpbGVUbyIsICZweW9ial9idWYsICZweW9ial9jdXIsICZlbmNvZGluZywgJmZvcm1hdCkpCisgICAgICAgIHJldHVybihOVUxMKTsKKyAgICBidWYgPSAoeG1sT3V0cHV0QnVmZmVyUHRyKSBQeW91dHB1dEJ1ZmZlcl9HZXQocHlvYmpfYnVmKTsKKyAgICBjdXIgPSAoeG1sRG9jUHRyKSBQeXhtbE5vZGVfR2V0KHB5b2JqX2N1cik7CisKKyAgICBjX3JldHZhbCA9IHhtbFNhdmVGb3JtYXRGaWxlVG8oYnVmLCBjdXIsIGVuY29kaW5nLCBmb3JtYXQpOworCS8qIHhtbFNhdmVGb3JtYXRGaWxlVG8oKSBmcmVlZCB0aGUgbWVtb3J5IHBvaW50ZWQgdG8gYnkgYnVmLCBzbyByZWNvcmQgdGhhdAorCSAqIGluIHRoZSBQeXRob24gb2JqZWN0ICovCisJKChQeW91dHB1dEJ1ZmZlcl9PYmplY3QgKikocHlvYmpfYnVmKSktPm9iaiA9IE5VTEw7CisgICAgcHlfcmV0dmFsID0gbGlieG1sX2ludFdyYXAoKGludCkgY19yZXR2YWwpOworICAgIHJldHVybihweV9yZXR2YWwpOworfQorI2VuZGlmIC8qIExJQlhNTF9PVVRQVVRfRU5BQkxFRCAqLworCisKKy8qKgorICogeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVQeXRob25GaWxlOgorICogQGZpbGU6ICBhIFB5RmlsZV9UeXBlCisgKiBAZW5jb2RlcjogIHRoZSBlbmNvZGluZyBjb252ZXJ0ZXIgb3IgTlVMTAorICoKKyAqIENyZWF0ZSBhIGJ1ZmZlcmVkIG91dHB1dCBmb3IgdGhlIHByb2dyZXNzaXZlIHNhdmluZyB0byBhIFB5RmlsZV9UeXBlCisgKiBidWZmZXJlZCBDIEkvTworICoKKyAqIFJldHVybnMgdGhlIG5ldyBwYXJzZXIgb3V0cHV0IG9yIE5VTEwKKyAqLworc3RhdGljIHhtbFBhcnNlcklucHV0QnVmZmVyUHRyCit4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZVB5dGhvbkZpbGUoUHlPYmplY3QgKmZpbGUsIAorCSAgICAgICAgICAgICAgICAgICAgICAgIHhtbENoYXJFbmNvZGluZyBlbmNvZGluZykgeworICAgIHhtbFBhcnNlcklucHV0QnVmZmVyUHRyIHJldDsKKworICAgIGlmIChmaWxlID09IE5VTEwpIHJldHVybihOVUxMKTsKKworICAgIHJldCA9IHhtbEFsbG9jUGFyc2VySW5wdXRCdWZmZXIoZW5jb2RpbmcpOworICAgIGlmIChyZXQgIT0gTlVMTCkgeworICAgICAgICByZXQtPmNvbnRleHQgPSBmaWxlOworCS8qIFB5X0lOQ1JFRihmaWxlKTsgKi8KKwlyZXQtPnJlYWRjYWxsYmFjayA9IHhtbFB5dGhvbkZpbGVSZWFkOworCXJldC0+Y2xvc2VjYWxsYmFjayA9IHhtbFB5dGhvbkZpbGVDbG9zZTsKKyAgICB9CisKKyAgICByZXR1cm4ocmV0KTsKK30KKworUHlPYmplY3QgKgorbGlieG1sX3htbENyZWF0ZUlucHV0QnVmZmVyKEFUVFJJQlVURV9VTlVTRUQgUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKSB7CisgICAgUHlPYmplY3QgKnB5X3JldHZhbDsKKyAgICBQeU9iamVjdCAqZmlsZTsKKyAgICB4bWxDaGFyICAqZW5jb2Rpbmc7CisgICAgeG1sQ2hhckVuY29kaW5nIGVuYyA9IFhNTF9DSEFSX0VOQ09ESU5HX05PTkU7CisgICAgeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIgYnVmZmVyOworCisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgKGNoYXIgKikiT3o6eG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGUiLAorCQkmZmlsZSwgJmVuY29kaW5nKSkKKwlyZXR1cm4oTlVMTCk7CisgICAgaWYgKChlbmNvZGluZyAhPSBOVUxMKSAmJiAoZW5jb2RpbmdbMF0gIT0gMCkpIHsKKwllbmMgPSB4bWxQYXJzZUNoYXJFbmNvZGluZygoY29uc3QgY2hhciAqKSBlbmNvZGluZyk7CisgICAgfQorICAgIGJ1ZmZlciA9IHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlUHl0aG9uRmlsZShmaWxlLCBlbmMpOworICAgIGlmIChidWZmZXIgPT0gTlVMTCkKKwlwcmludGYoImxpYnhtbF94bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZTogYnVmZmVyID09IE5VTExcbiIpOworICAgIHB5X3JldHZhbCA9IGxpYnhtbF94bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cldyYXAoYnVmZmVyKTsKKyAgICByZXR1cm4ocHlfcmV0dmFsKTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJUHJvdmlkaW5nIHRoZSByZXNvbHZlciBhdCB0aGUgUHl0aG9uIGxldmVsCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK3N0YXRpYyB4bWxFeHRlcm5hbEVudGl0eUxvYWRlciBkZWZhdWx0RXh0ZXJuYWxFbnRpdHlMb2FkZXIgPSBOVUxMOworc3RhdGljIFB5T2JqZWN0ICpweXRob25FeHRlcm5hbEVudGl0eUxvYWRlck9iamV4dDsKKworc3RhdGljIHhtbFBhcnNlcklucHV0UHRyCitweXRob25FeHRlcm5hbEVudGl0eUxvYWRlcihjb25zdCBjaGFyICpVUkwsIGNvbnN0IGNoYXIgKklELAorCQkJICAgeG1sUGFyc2VyQ3R4dFB0ciBjdHh0KSB7CisgICAgeG1sUGFyc2VySW5wdXRQdHIgcmVzdWx0ID0gTlVMTDsKKyAgICBpZiAocHl0aG9uRXh0ZXJuYWxFbnRpdHlMb2FkZXJPYmpleHQgIT0gTlVMTCkgeworCVB5T2JqZWN0ICpyZXQ7CisJUHlPYmplY3QgKmN0eHRvYmo7CisKKwljdHh0b2JqID0gbGlieG1sX3htbFBhcnNlckN0eHRQdHJXcmFwKGN0eHQpOworI2lmZGVmIERFQlVHX0xPQURFUgorCXByaW50ZigicHl0aG9uRXh0ZXJuYWxFbnRpdHlMb2FkZXI6IHJlYWR5IHRvIGNhbGxcbiIpOworI2VuZGlmCisKKwlyZXQgPSBQeU9iamVjdF9DYWxsRnVuY3Rpb24ocHl0aG9uRXh0ZXJuYWxFbnRpdHlMb2FkZXJPYmpleHQsCisJCSAgICAgIChjaGFyICopICIoc3NPKSIsIFVSTCwgSUQsIGN0eHRvYmopOworCVB5X1hERUNSRUYoY3R4dG9iaik7CisjaWZkZWYgREVCVUdfTE9BREVSCisJcHJpbnRmKCJweXRob25FeHRlcm5hbEVudGl0eUxvYWRlcjogcmVzdWx0ICIpOworCVB5T2JqZWN0X1ByaW50KHJldCwgc3Rkb3V0LCAwKTsKKwlwcmludGYoIlxuIik7CisjZW5kaWYKKworCWlmIChyZXQgIT0gTlVMTCkgeworCSAgICBpZiAoUHlPYmplY3RfSGFzQXR0clN0cmluZyhyZXQsIChjaGFyICopICJyZWFkIikpIHsKKwkJeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIgYnVmOworCisJCWJ1ZiA9IHhtbEFsbG9jUGFyc2VySW5wdXRCdWZmZXIoWE1MX0NIQVJfRU5DT0RJTkdfTk9ORSk7CisJCWlmIChidWYgIT0gTlVMTCkgeworCQkgICAgYnVmLT5jb250ZXh0ID0gcmV0OworCQkgICAgYnVmLT5yZWFkY2FsbGJhY2sgPSB4bWxQeXRob25GaWxlUmVhZFJhdzsKKwkJICAgIGJ1Zi0+Y2xvc2VjYWxsYmFjayA9IHhtbFB5dGhvbkZpbGVDbG9zZVJhdzsKKwkJICAgIHJlc3VsdCA9IHhtbE5ld0lPSW5wdXRTdHJlYW0oY3R4dCwgYnVmLAorCQkJICAgICAgICAgICAgICAgICAgICAgICAgIFhNTF9DSEFSX0VOQ09ESU5HX05PTkUpOworCQl9CisjaWYgMAorCSAgICB9IGVsc2UgeworCQlpZiAoVVJMICE9IE5VTEwpCisJCSAgICBwcmludGYoInB5dGhvbkV4dGVybmFsRW50aXR5TG9hZGVyOiBjYW4ndCByZWFkICVzXG4iLAorCQkgICAgICAgICAgIFVSTCk7CisjZW5kaWYKKwkgICAgfQorCSAgICBpZiAocmVzdWx0ID09IE5VTEwpIHsKKwkJUHlfREVDUkVGKHJldCk7CisJICAgIH0gZWxzZSBpZiAoVVJMICE9IE5VTEwpIHsKKwkJcmVzdWx0LT5maWxlbmFtZSA9IChjaGFyICopIHhtbFN0cmR1cCgoY29uc3QgeG1sQ2hhciAqKVVSTCk7CisJCXJlc3VsdC0+ZGlyZWN0b3J5ID0geG1sUGFyc2VyR2V0RGlyZWN0b3J5KChjb25zdCBjaGFyICopIFVSTCk7CisJICAgIH0KKwl9CisgICAgfQorICAgIGlmICgocmVzdWx0ID09IE5VTEwpICYmIChkZWZhdWx0RXh0ZXJuYWxFbnRpdHlMb2FkZXIgIT0gTlVMTCkpIHsKKwlyZXN1bHQgPSBkZWZhdWx0RXh0ZXJuYWxFbnRpdHlMb2FkZXIoVVJMLCBJRCwgY3R4dCk7CisgICAgfQorICAgIHJldHVybihyZXN1bHQpOworfQorCitQeU9iamVjdCAqCitsaWJ4bWxfeG1sU2V0RW50aXR5TG9hZGVyKEFUVFJJQlVURV9VTlVTRUQgUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKSB7CisgICAgUHlPYmplY3QgKnB5X3JldHZhbDsKKyAgICBQeU9iamVjdCAqbG9hZGVyOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsIChjaGFyICopIk86bGlieG1sX3htbFNldEVudGl0eUxvYWRlciIsCisJCSZsb2FkZXIpKQorCXJldHVybihOVUxMKTsKKworICAgIGlmICghUHlDYWxsYWJsZV9DaGVjayhsb2FkZXIpKSB7CisJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICJlbnRpdHkgbG9hZGVyIGlzIG5vdCBjYWxsYWJsZSIpOworCXJldHVybihOVUxMKTsKKyAgICB9CisKKyNpZmRlZiBERUJVR19MT0FERVIKKyAgICBwcmludGYoImxpYnhtbF94bWxTZXRFbnRpdHlMb2FkZXJcbiIpOworI2VuZGlmCisgICAgaWYgKGRlZmF1bHRFeHRlcm5hbEVudGl0eUxvYWRlciA9PSBOVUxMKSAKKwlkZWZhdWx0RXh0ZXJuYWxFbnRpdHlMb2FkZXIgPSB4bWxHZXRFeHRlcm5hbEVudGl0eUxvYWRlcigpOworCisgICAgUHlfWERFQ1JFRihweXRob25FeHRlcm5hbEVudGl0eUxvYWRlck9iamV4dCk7CisgICAgcHl0aG9uRXh0ZXJuYWxFbnRpdHlMb2FkZXJPYmpleHQgPSBsb2FkZXI7CisgICAgUHlfWElOQ1JFRihweXRob25FeHRlcm5hbEVudGl0eUxvYWRlck9iamV4dCk7CisgICAgeG1sU2V0RXh0ZXJuYWxFbnRpdHlMb2FkZXIocHl0aG9uRXh0ZXJuYWxFbnRpdHlMb2FkZXIpOworCisgICAgcHlfcmV0dmFsID0gUHlMb25nX0Zyb21Mb25nKDApOworICAgIHJldHVybihweV9yZXR2YWwpOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQlJbnB1dCBjYWxsYmFjayByZWdpc3RyYXRpb24JCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIFB5T2JqZWN0ICpweXRob25JbnB1dE9wZW5DYWxsYmFja09iamVjdDsKK3N0YXRpYyBpbnQgcHl0aG9uSW5wdXRDYWxsYmFja0lEID0gLTE7CisKK3N0YXRpYyBpbnQKK3B5dGhvbklucHV0TWF0Y2hDYWxsYmFjayhBVFRSSUJVVEVfVU5VU0VEIGNvbnN0IGNoYXIgKlVSSSkKK3sKKyAgICAvKiBBbHdheXMgcmV0dXJuIHN1Y2Nlc3MsIHJlYWwgZGVjaXNpb24gd2hldGhlciBVUkkgaXMgc3VwcG9ydGVkIHdpbGwgYmUKKyAgICAgKiBtYWRlIGluIG9wZW4gY2FsbGJhY2suICAqLworICAgIHJldHVybiAxOworfQorCitzdGF0aWMgdm9pZCAqCitweXRob25JbnB1dE9wZW5DYWxsYmFjayhjb25zdCBjaGFyICpVUkkpCit7CisgICAgUHlPYmplY3QgKnJldDsKKworICAgIHJldCA9IFB5T2JqZWN0X0NhbGxGdW5jdGlvbihweXRob25JbnB1dE9wZW5DYWxsYmFja09iamVjdCwKKwkgICAgKGNoYXIgKikicyIsIFVSSSk7CisgICAgaWYgKHJldCA9PSBQeV9Ob25lKSB7CisJUHlfREVDUkVGKFB5X05vbmUpOworCXJldHVybiBOVUxMOworICAgIH0KKyAgICByZXR1cm4gcmV0OworfQorCitQeU9iamVjdCAqCitsaWJ4bWxfeG1sUmVnaXN0ZXJJbnB1dENhbGxiYWNrKEFUVFJJQlVURV9VTlVTRUQgUHlPYmplY3QgKnNlbGYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5T2JqZWN0ICphcmdzKSB7CisgICAgUHlPYmplY3QgKmNiOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisJCShjb25zdCBjaGFyICopIk86bGlieG1sX3htbFJlZ2lzdGVySW5wdXRDYWxsYmFjayIsICZjYikpCisJcmV0dXJuKE5VTEwpOworCisgICAgaWYgKCFQeUNhbGxhYmxlX0NoZWNrKGNiKSkgeworCVB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAiaW5wdXQgY2FsbGJhY2sgaXMgbm90IGNhbGxhYmxlIik7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKworICAgIC8qIFB5dGhvbiBtb2R1bGUgcmVnaXN0ZXJzIGEgc2luZ2xlIGNhbGxiYWNrIGFuZCBtYW5hZ2VzIHRoZSBsaXN0IG9mCisgICAgICogYWxsIGNhbGxiYWNrcyBpbnRlcm5hbGx5LiBUaGlzIGlzIG5lY2Vzc2l0YXRlZCBieSB4bWxJbnB1dE1hdGNoQ2FsbGJhY2sKKyAgICAgKiBBUEksIHdoaWNoIGRvZXMgbm90IGFsbG93IGZvciBwYXNzaW5nIG9mIGRhdGEgb2JqZWN0cyB0byBkaXNjcmltaW5hdGUKKyAgICAgKiBkaWZmZXJlbnQgUHl0aG9uIG1ldGhvZHMuICAqLworICAgIGlmIChweXRob25JbnB1dENhbGxiYWNrSUQgPT0gLTEpIHsKKwlweXRob25JbnB1dENhbGxiYWNrSUQgPSB4bWxSZWdpc3RlcklucHV0Q2FsbGJhY2tzKAorCQlweXRob25JbnB1dE1hdGNoQ2FsbGJhY2ssIHB5dGhvbklucHV0T3BlbkNhbGxiYWNrLAorCQl4bWxQeXRob25GaWxlUmVhZFJhdywgeG1sUHl0aG9uRmlsZUNsb3NlUmF3KTsKKwlpZiAocHl0aG9uSW5wdXRDYWxsYmFja0lEID09IC0xKQorCSAgICByZXR1cm4gUHlFcnJfTm9NZW1vcnkoKTsKKwlweXRob25JbnB1dE9wZW5DYWxsYmFja09iamVjdCA9IGNiOworCVB5X0lOQ1JFRihweXRob25JbnB1dE9wZW5DYWxsYmFja09iamVjdCk7CisgICAgfQorCisgICAgUHlfSU5DUkVGKFB5X05vbmUpOworICAgIHJldHVybihQeV9Ob25lKTsKK30KKworUHlPYmplY3QgKgorbGlieG1sX3htbFVucmVnaXN0ZXJJbnB1dENhbGxiYWNrKEFUVFJJQlVURV9VTlVTRUQgUHlPYmplY3QgKnNlbGYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFUVFJJQlVURV9VTlVTRUQgUHlPYmplY3QgKmFyZ3MpIHsKKyAgICBpbnQgcmV0OworCisgICAgcmV0ID0geG1sUG9wSW5wdXRDYWxsYmFja3MoKTsKKyAgICBpZiAocHl0aG9uSW5wdXRDYWxsYmFja0lEICE9IC0xKSB7CisJLyogQXNzZXJ0IHRoYXQgdGhlIHJpZ2h0IGlucHV0IGNhbGxiYWNrIHdhcyBwb3BwZWQuIGxpYnhtbCdzIEFQSSBkb2VzIG5vdAorCSAqIGFsbG93IHJlbW92YWwgYnkgSUQsIHNvIGFsbCB0aGF0IGNvdWxkIGJlIGRvbmUgaXMgYW4gYXNzZXJ0LiAgKi8KKwlpZiAocHl0aG9uSW5wdXRDYWxsYmFja0lEID09IHJldCkgeworCSAgICBweXRob25JbnB1dENhbGxiYWNrSUQgPSAtMTsKKwkgICAgUHlfREVDUkVGKHB5dGhvbklucHV0T3BlbkNhbGxiYWNrT2JqZWN0KTsKKwkgICAgcHl0aG9uSW5wdXRPcGVuQ2FsbGJhY2tPYmplY3QgPSBOVUxMOworCX0gZWxzZSB7CisJICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19Bc3NlcnRpb25FcnJvciwgInBvcHBlZCBub24tcHl0aG9uIGlucHV0IGNhbGxiYWNrIik7CisJICAgIHJldHVybihOVUxMKTsKKwl9CisgICAgfSBlbHNlIGlmIChyZXQgPT0gLTEpIHsKKwkvKiBObyBtb3JlIGNhbGxiYWNrcyB0byBwb3AgKi8KKwlQeUVycl9TZXRTdHJpbmcoUHlFeGNfSW5kZXhFcnJvciwgIm5vIGlucHV0IGNhbGxiYWNrcyB0byBwb3AiKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorCisgICAgUHlfSU5DUkVGKFB5X05vbmUpOworICAgIHJldHVybihQeV9Ob25lKTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJSGFuZGxpbmcgU0FYL3htbGxpYi9zZ21sb3AgY2FsbGJhY2sgaW50ZXJmYWNlcwkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitzdGF0aWMgdm9pZAorcHl0aG9uU3RhcnRFbGVtZW50KHZvaWQgKnVzZXJfZGF0YSwgY29uc3QgeG1sQ2hhciAqIG5hbWUsCisgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqKiBhdHRycykKK3sKKyAgICBpbnQgaTsKKyAgICBQeU9iamVjdCAqaGFuZGxlcjsKKyAgICBQeU9iamVjdCAqZGljdDsKKyAgICBQeU9iamVjdCAqYXR0cm5hbWU7CisgICAgUHlPYmplY3QgKmF0dHJ2YWx1ZTsKKyAgICBQeU9iamVjdCAqcmVzdWx0ID0gTlVMTDsKKyAgICBpbnQgdHlwZSA9IDA7CisKKyNpZmRlZiBERUJVR19TQVgKKyAgICBwcmludGYoInB5dGhvblN0YXJ0RWxlbWVudCglcykgY2FsbGVkXG4iLCBuYW1lKTsKKyNlbmRpZgorICAgIGhhbmRsZXIgPSAoUHlPYmplY3QgKikgdXNlcl9kYXRhOworICAgIGlmIChQeU9iamVjdF9IYXNBdHRyU3RyaW5nKGhhbmRsZXIsIChjaGFyICopICJzdGFydEVsZW1lbnQiKSkKKyAgICAgICAgdHlwZSA9IDE7CisgICAgZWxzZSBpZiAoUHlPYmplY3RfSGFzQXR0clN0cmluZyhoYW5kbGVyLCAoY2hhciAqKSAic3RhcnQiKSkKKyAgICAgICAgdHlwZSA9IDI7CisgICAgaWYgKHR5cGUgIT0gMCkgeworICAgICAgICAvKgorICAgICAgICAgKiB0aGUgeG1sbGliIGludGVyZmFjZSBhbHdheXMgZ2VuZXJhdGUgYSBkaWN0aW9ubmFyeSwKKyAgICAgICAgICogcG9zc2libHkgZW1wdHkKKyAgICAgICAgICovCisgICAgICAgIGlmICgoYXR0cnMgPT0gTlVMTCkgJiYgKHR5cGUgPT0gMSkpIHsKKyAgICAgICAgICAgIFB5X1hJTkNSRUYoUHlfTm9uZSk7CisgICAgICAgICAgICBkaWN0ID0gUHlfTm9uZTsKKyAgICAgICAgfSBlbHNlIGlmIChhdHRycyA9PSBOVUxMKSB7CisgICAgICAgICAgICBkaWN0ID0gUHlEaWN0X05ldygpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgZGljdCA9IFB5RGljdF9OZXcoKTsKKyAgICAgICAgICAgIGZvciAoaSA9IDA7IGF0dHJzW2ldICE9IE5VTEw7IGkrKykgeworICAgICAgICAgICAgICAgIGF0dHJuYW1lID0gUFlfSU1QT1JUX1NUUklORygoY2hhciAqKSBhdHRyc1tpXSk7CisgICAgICAgICAgICAgICAgaSsrOworICAgICAgICAgICAgICAgIGlmIChhdHRyc1tpXSAhPSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgIGF0dHJ2YWx1ZSA9IFBZX0lNUE9SVF9TVFJJTkcoKGNoYXIgKikgYXR0cnNbaV0pOworICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIFB5X1hJTkNSRUYoUHlfTm9uZSk7CisgICAgICAgICAgICAgICAgICAgIGF0dHJ2YWx1ZSA9IFB5X05vbmU7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIFB5RGljdF9TZXRJdGVtKGRpY3QsIGF0dHJuYW1lLCBhdHRydmFsdWUpOworCQlQeV9ERUNSRUYoYXR0cm5hbWUpOworCQlQeV9ERUNSRUYoYXR0cnZhbHVlKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIGlmICh0eXBlID09IDEpCisgICAgICAgICAgICByZXN1bHQgPSBQeU9iamVjdF9DYWxsTWV0aG9kKGhhbmRsZXIsIChjaGFyICopICJzdGFydEVsZW1lbnQiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2hhciAqKSAic08iLCBuYW1lLCBkaWN0KTsKKyAgICAgICAgZWxzZSBpZiAodHlwZSA9PSAyKQorICAgICAgICAgICAgcmVzdWx0ID0gUHlPYmplY3RfQ2FsbE1ldGhvZChoYW5kbGVyLCAoY2hhciAqKSAic3RhcnQiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2hhciAqKSAic08iLCBuYW1lLCBkaWN0KTsKKyAgICAgICAgaWYgKFB5RXJyX09jY3VycmVkKCkpCisgICAgICAgICAgICBQeUVycl9QcmludCgpOworICAgICAgICBQeV9YREVDUkVGKGRpY3QpOworICAgICAgICBQeV9YREVDUkVGKHJlc3VsdCk7CisgICAgfQorfQorCitzdGF0aWMgdm9pZAorcHl0aG9uU3RhcnREb2N1bWVudCh2b2lkICp1c2VyX2RhdGEpCit7CisgICAgUHlPYmplY3QgKmhhbmRsZXI7CisgICAgUHlPYmplY3QgKnJlc3VsdDsKKworI2lmZGVmIERFQlVHX1NBWAorICAgIHByaW50ZigicHl0aG9uU3RhcnREb2N1bWVudCgpIGNhbGxlZFxuIik7CisjZW5kaWYKKyAgICBoYW5kbGVyID0gKFB5T2JqZWN0ICopIHVzZXJfZGF0YTsKKyAgICBpZiAoUHlPYmplY3RfSGFzQXR0clN0cmluZyhoYW5kbGVyLCAoY2hhciAqKSAic3RhcnREb2N1bWVudCIpKSB7CisgICAgICAgIHJlc3VsdCA9CisgICAgICAgICAgICBQeU9iamVjdF9DYWxsTWV0aG9kKGhhbmRsZXIsIChjaGFyICopICJzdGFydERvY3VtZW50IiwgTlVMTCk7CisgICAgICAgIGlmIChQeUVycl9PY2N1cnJlZCgpKQorICAgICAgICAgICAgUHlFcnJfUHJpbnQoKTsKKyAgICAgICAgUHlfWERFQ1JFRihyZXN1bHQpOworICAgIH0KK30KKworc3RhdGljIHZvaWQKK3B5dGhvbkVuZERvY3VtZW50KHZvaWQgKnVzZXJfZGF0YSkKK3sKKyAgICBQeU9iamVjdCAqaGFuZGxlcjsKKyAgICBQeU9iamVjdCAqcmVzdWx0OworCisjaWZkZWYgREVCVUdfU0FYCisgICAgcHJpbnRmKCJweXRob25FbmREb2N1bWVudCgpIGNhbGxlZFxuIik7CisjZW5kaWYKKyAgICBoYW5kbGVyID0gKFB5T2JqZWN0ICopIHVzZXJfZGF0YTsKKyAgICBpZiAoUHlPYmplY3RfSGFzQXR0clN0cmluZyhoYW5kbGVyLCAoY2hhciAqKSAiZW5kRG9jdW1lbnQiKSkgeworICAgICAgICByZXN1bHQgPQorICAgICAgICAgICAgUHlPYmplY3RfQ2FsbE1ldGhvZChoYW5kbGVyLCAoY2hhciAqKSAiZW5kRG9jdW1lbnQiLCBOVUxMKTsKKyAgICAgICAgaWYgKFB5RXJyX09jY3VycmVkKCkpCisgICAgICAgICAgICBQeUVycl9QcmludCgpOworICAgICAgICBQeV9YREVDUkVGKHJlc3VsdCk7CisgICAgfQorICAgIC8qCisgICAgICogVGhlIHJlZmVyZW5jZSB0byB0aGUgaGFuZGxlciBpcyByZWxlYXNlZCB0aGVyZQorICAgICAqLworICAgIFB5X1hERUNSRUYoaGFuZGxlcik7Cit9CisKK3N0YXRpYyB2b2lkCitweXRob25FbmRFbGVtZW50KHZvaWQgKnVzZXJfZGF0YSwgY29uc3QgeG1sQ2hhciAqIG5hbWUpCit7CisgICAgUHlPYmplY3QgKmhhbmRsZXI7CisgICAgUHlPYmplY3QgKnJlc3VsdDsKKworI2lmZGVmIERFQlVHX1NBWAorICAgIHByaW50ZigicHl0aG9uRW5kRWxlbWVudCglcykgY2FsbGVkXG4iLCBuYW1lKTsKKyNlbmRpZgorICAgIGhhbmRsZXIgPSAoUHlPYmplY3QgKikgdXNlcl9kYXRhOworICAgIGlmIChQeU9iamVjdF9IYXNBdHRyU3RyaW5nKGhhbmRsZXIsIChjaGFyICopICJlbmRFbGVtZW50IikpIHsKKyAgICAgICAgcmVzdWx0ID0gUHlPYmplY3RfQ2FsbE1ldGhvZChoYW5kbGVyLCAoY2hhciAqKSAiZW5kRWxlbWVudCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYXIgKikgInMiLCBuYW1lKTsKKyAgICAgICAgaWYgKFB5RXJyX09jY3VycmVkKCkpCisgICAgICAgICAgICBQeUVycl9QcmludCgpOworICAgICAgICBQeV9YREVDUkVGKHJlc3VsdCk7CisgICAgfSBlbHNlIGlmIChQeU9iamVjdF9IYXNBdHRyU3RyaW5nKGhhbmRsZXIsIChjaGFyICopICJlbmQiKSkgeworICAgICAgICByZXN1bHQgPSBQeU9iamVjdF9DYWxsTWV0aG9kKGhhbmRsZXIsIChjaGFyICopICJlbmQiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjaGFyICopICJzIiwgbmFtZSk7CisgICAgICAgIGlmIChQeUVycl9PY2N1cnJlZCgpKQorICAgICAgICAgICAgUHlFcnJfUHJpbnQoKTsKKyAgICAgICAgUHlfWERFQ1JFRihyZXN1bHQpOworICAgIH0KK30KKworc3RhdGljIHZvaWQKK3B5dGhvblJlZmVyZW5jZSh2b2lkICp1c2VyX2RhdGEsIGNvbnN0IHhtbENoYXIgKiBuYW1lKQoreworICAgIFB5T2JqZWN0ICpoYW5kbGVyOworICAgIFB5T2JqZWN0ICpyZXN1bHQ7CisKKyNpZmRlZiBERUJVR19TQVgKKyAgICBwcmludGYoInB5dGhvblJlZmVyZW5jZSglcykgY2FsbGVkXG4iLCBuYW1lKTsKKyNlbmRpZgorICAgIGhhbmRsZXIgPSAoUHlPYmplY3QgKikgdXNlcl9kYXRhOworICAgIGlmIChQeU9iamVjdF9IYXNBdHRyU3RyaW5nKGhhbmRsZXIsIChjaGFyICopICJyZWZlcmVuY2UiKSkgeworICAgICAgICByZXN1bHQgPSBQeU9iamVjdF9DYWxsTWV0aG9kKGhhbmRsZXIsIChjaGFyICopICJyZWZlcmVuY2UiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjaGFyICopICJzIiwgbmFtZSk7CisgICAgICAgIGlmIChQeUVycl9PY2N1cnJlZCgpKQorICAgICAgICAgICAgUHlFcnJfUHJpbnQoKTsKKyAgICAgICAgUHlfWERFQ1JFRihyZXN1bHQpOworICAgIH0KK30KKworc3RhdGljIHZvaWQKK3B5dGhvbkNoYXJhY3RlcnModm9pZCAqdXNlcl9kYXRhLCBjb25zdCB4bWxDaGFyICogY2gsIGludCBsZW4pCit7CisgICAgUHlPYmplY3QgKmhhbmRsZXI7CisgICAgUHlPYmplY3QgKnJlc3VsdCA9IE5VTEw7CisgICAgaW50IHR5cGUgPSAwOworCisjaWZkZWYgREVCVUdfU0FYCisgICAgcHJpbnRmKCJweXRob25DaGFyYWN0ZXJzKCVzLCAlZCkgY2FsbGVkXG4iLCBjaCwgbGVuKTsKKyNlbmRpZgorICAgIGhhbmRsZXIgPSAoUHlPYmplY3QgKikgdXNlcl9kYXRhOworICAgIGlmIChQeU9iamVjdF9IYXNBdHRyU3RyaW5nKGhhbmRsZXIsIChjaGFyICopICJjaGFyYWN0ZXJzIikpCisgICAgICAgIHR5cGUgPSAxOworICAgIGVsc2UgaWYgKFB5T2JqZWN0X0hhc0F0dHJTdHJpbmcoaGFuZGxlciwgKGNoYXIgKikgImRhdGEiKSkKKyAgICAgICAgdHlwZSA9IDI7CisgICAgaWYgKHR5cGUgIT0gMCkgeworICAgICAgICBpZiAodHlwZSA9PSAxKQorICAgICAgICAgICAgcmVzdWx0ID0gUHlPYmplY3RfQ2FsbE1ldGhvZChoYW5kbGVyLCAoY2hhciAqKSAiY2hhcmFjdGVycyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjaGFyICopICJzIyIsIGNoLCBsZW4pOworICAgICAgICBlbHNlIGlmICh0eXBlID09IDIpCisgICAgICAgICAgICByZXN1bHQgPSBQeU9iamVjdF9DYWxsTWV0aG9kKGhhbmRsZXIsIChjaGFyICopICJkYXRhIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYXIgKikgInMjIiwgY2gsIGxlbik7CisgICAgICAgIGlmIChQeUVycl9PY2N1cnJlZCgpKQorICAgICAgICAgICAgUHlFcnJfUHJpbnQoKTsKKyAgICAgICAgUHlfWERFQ1JFRihyZXN1bHQpOworICAgIH0KK30KKworc3RhdGljIHZvaWQKK3B5dGhvbklnbm9yYWJsZVdoaXRlc3BhY2Uodm9pZCAqdXNlcl9kYXRhLCBjb25zdCB4bWxDaGFyICogY2gsIGludCBsZW4pCit7CisgICAgUHlPYmplY3QgKmhhbmRsZXI7CisgICAgUHlPYmplY3QgKnJlc3VsdCA9IE5VTEw7CisgICAgaW50IHR5cGUgPSAwOworCisjaWZkZWYgREVCVUdfU0FYCisgICAgcHJpbnRmKCJweXRob25JZ25vcmFibGVXaGl0ZXNwYWNlKCVzLCAlZCkgY2FsbGVkXG4iLCBjaCwgbGVuKTsKKyNlbmRpZgorICAgIGhhbmRsZXIgPSAoUHlPYmplY3QgKikgdXNlcl9kYXRhOworICAgIGlmIChQeU9iamVjdF9IYXNBdHRyU3RyaW5nKGhhbmRsZXIsIChjaGFyICopICJpZ25vcmFibGVXaGl0ZXNwYWNlIikpCisgICAgICAgIHR5cGUgPSAxOworICAgIGVsc2UgaWYgKFB5T2JqZWN0X0hhc0F0dHJTdHJpbmcoaGFuZGxlciwgKGNoYXIgKikgImRhdGEiKSkKKyAgICAgICAgdHlwZSA9IDI7CisgICAgaWYgKHR5cGUgIT0gMCkgeworICAgICAgICBpZiAodHlwZSA9PSAxKQorICAgICAgICAgICAgcmVzdWx0ID0KKyAgICAgICAgICAgICAgICBQeU9iamVjdF9DYWxsTWV0aG9kKGhhbmRsZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2hhciAqKSAiaWdub3JhYmxlV2hpdGVzcGFjZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2hhciAqKSAicyMiLCBjaCwgbGVuKTsKKyAgICAgICAgZWxzZSBpZiAodHlwZSA9PSAyKQorICAgICAgICAgICAgcmVzdWx0ID0KKyAgICAgICAgICAgICAgICBQeU9iamVjdF9DYWxsTWV0aG9kKGhhbmRsZXIsIChjaGFyICopICJkYXRhIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjaGFyICopICJzIyIsIGNoLCBsZW4pOworICAgICAgICBQeV9YREVDUkVGKHJlc3VsdCk7CisgICAgfQorfQorCitzdGF0aWMgdm9pZAorcHl0aG9uUHJvY2Vzc2luZ0luc3RydWN0aW9uKHZvaWQgKnVzZXJfZGF0YSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogdGFyZ2V0LCBjb25zdCB4bWxDaGFyICogZGF0YSkKK3sKKyAgICBQeU9iamVjdCAqaGFuZGxlcjsKKyAgICBQeU9iamVjdCAqcmVzdWx0OworCisjaWZkZWYgREVCVUdfU0FYCisgICAgcHJpbnRmKCJweXRob25Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24oJXMsICVzKSBjYWxsZWRcbiIsIHRhcmdldCwgZGF0YSk7CisjZW5kaWYKKyAgICBoYW5kbGVyID0gKFB5T2JqZWN0ICopIHVzZXJfZGF0YTsKKyAgICBpZiAoUHlPYmplY3RfSGFzQXR0clN0cmluZyhoYW5kbGVyLCAoY2hhciAqKSAicHJvY2Vzc2luZ0luc3RydWN0aW9uIikpIHsKKyAgICAgICAgcmVzdWx0ID0gUHlPYmplY3RfQ2FsbE1ldGhvZChoYW5kbGVyLCAoY2hhciAqKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwcm9jZXNzaW5nSW5zdHJ1Y3Rpb24iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjaGFyICopICJzcyIsIHRhcmdldCwgZGF0YSk7CisgICAgICAgIFB5X1hERUNSRUYocmVzdWx0KTsKKyAgICB9Cit9CisKK3N0YXRpYyB2b2lkCitweXRob25Db21tZW50KHZvaWQgKnVzZXJfZGF0YSwgY29uc3QgeG1sQ2hhciAqIHZhbHVlKQoreworICAgIFB5T2JqZWN0ICpoYW5kbGVyOworICAgIFB5T2JqZWN0ICpyZXN1bHQ7CisKKyNpZmRlZiBERUJVR19TQVgKKyAgICBwcmludGYoInB5dGhvbkNvbW1lbnQoJXMpIGNhbGxlZFxuIiwgdmFsdWUpOworI2VuZGlmCisgICAgaGFuZGxlciA9IChQeU9iamVjdCAqKSB1c2VyX2RhdGE7CisgICAgaWYgKFB5T2JqZWN0X0hhc0F0dHJTdHJpbmcoaGFuZGxlciwgKGNoYXIgKikgImNvbW1lbnQiKSkgeworICAgICAgICByZXN1bHQgPQorICAgICAgICAgICAgUHlPYmplY3RfQ2FsbE1ldGhvZChoYW5kbGVyLCAoY2hhciAqKSAiY29tbWVudCIsIChjaGFyICopICJzIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUpOworICAgICAgICBpZiAoUHlFcnJfT2NjdXJyZWQoKSkKKyAgICAgICAgICAgIFB5RXJyX1ByaW50KCk7CisgICAgICAgIFB5X1hERUNSRUYocmVzdWx0KTsKKyAgICB9Cit9CisKK3N0YXRpYyB2b2lkCitweXRob25XYXJuaW5nKHZvaWQgKnVzZXJfZGF0YSwgY29uc3QgY2hhciAqbXNnLCAuLi4pCit7CisgICAgUHlPYmplY3QgKmhhbmRsZXI7CisgICAgUHlPYmplY3QgKnJlc3VsdDsKKyAgICB2YV9saXN0IGFyZ3M7CisgICAgY2hhciBidWZbMTAyNF07CisKKyNpZmRlZiBERUJVR19TQVgKKyAgICBwcmludGYoInB5dGhvbldhcm5pbmcoJXMpIGNhbGxlZFxuIiwgbXNnKTsKKyNlbmRpZgorICAgIGhhbmRsZXIgPSAoUHlPYmplY3QgKikgdXNlcl9kYXRhOworICAgIGlmIChQeU9iamVjdF9IYXNBdHRyU3RyaW5nKGhhbmRsZXIsIChjaGFyICopICJ3YXJuaW5nIikpIHsKKyAgICAgICAgdmFfc3RhcnQoYXJncywgbXNnKTsKKyAgICAgICAgdnNucHJpbnRmKGJ1ZiwgMTAyMywgbXNnLCBhcmdzKTsKKyAgICAgICAgdmFfZW5kKGFyZ3MpOworICAgICAgICBidWZbMTAyM10gPSAwOworICAgICAgICByZXN1bHQgPQorICAgICAgICAgICAgUHlPYmplY3RfQ2FsbE1ldGhvZChoYW5kbGVyLCAoY2hhciAqKSAid2FybmluZyIsIChjaGFyICopICJzIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmKTsKKyAgICAgICAgaWYgKFB5RXJyX09jY3VycmVkKCkpCisgICAgICAgICAgICBQeUVycl9QcmludCgpOworICAgICAgICBQeV9YREVDUkVGKHJlc3VsdCk7CisgICAgfQorfQorCitzdGF0aWMgdm9pZAorcHl0aG9uRXJyb3Iodm9pZCAqdXNlcl9kYXRhLCBjb25zdCBjaGFyICptc2csIC4uLikKK3sKKyAgICBQeU9iamVjdCAqaGFuZGxlcjsKKyAgICBQeU9iamVjdCAqcmVzdWx0OworICAgIHZhX2xpc3QgYXJnczsKKyAgICBjaGFyIGJ1ZlsxMDI0XTsKKworI2lmZGVmIERFQlVHX1NBWAorICAgIHByaW50ZigicHl0aG9uRXJyb3IoJXMpIGNhbGxlZFxuIiwgbXNnKTsKKyNlbmRpZgorICAgIGhhbmRsZXIgPSAoUHlPYmplY3QgKikgdXNlcl9kYXRhOworICAgIGlmIChQeU9iamVjdF9IYXNBdHRyU3RyaW5nKGhhbmRsZXIsIChjaGFyICopICJlcnJvciIpKSB7CisgICAgICAgIHZhX3N0YXJ0KGFyZ3MsIG1zZyk7CisgICAgICAgIHZzbnByaW50ZihidWYsIDEwMjMsIG1zZywgYXJncyk7CisgICAgICAgIHZhX2VuZChhcmdzKTsKKyAgICAgICAgYnVmWzEwMjNdID0gMDsKKyAgICAgICAgcmVzdWx0ID0KKyAgICAgICAgICAgIFB5T2JqZWN0X0NhbGxNZXRob2QoaGFuZGxlciwgKGNoYXIgKikgImVycm9yIiwgKGNoYXIgKikgInMiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWYpOworICAgICAgICBpZiAoUHlFcnJfT2NjdXJyZWQoKSkKKyAgICAgICAgICAgIFB5RXJyX1ByaW50KCk7CisgICAgICAgIFB5X1hERUNSRUYocmVzdWx0KTsKKyAgICB9Cit9CisKK3N0YXRpYyB2b2lkCitweXRob25GYXRhbEVycm9yKHZvaWQgKnVzZXJfZGF0YSwgY29uc3QgY2hhciAqbXNnLCAuLi4pCit7CisgICAgUHlPYmplY3QgKmhhbmRsZXI7CisgICAgUHlPYmplY3QgKnJlc3VsdDsKKyAgICB2YV9saXN0IGFyZ3M7CisgICAgY2hhciBidWZbMTAyNF07CisKKyNpZmRlZiBERUJVR19TQVgKKyAgICBwcmludGYoInB5dGhvbkZhdGFsRXJyb3IoJXMpIGNhbGxlZFxuIiwgbXNnKTsKKyNlbmRpZgorICAgIGhhbmRsZXIgPSAoUHlPYmplY3QgKikgdXNlcl9kYXRhOworICAgIGlmIChQeU9iamVjdF9IYXNBdHRyU3RyaW5nKGhhbmRsZXIsIChjaGFyICopICJmYXRhbEVycm9yIikpIHsKKyAgICAgICAgdmFfc3RhcnQoYXJncywgbXNnKTsKKyAgICAgICAgdnNucHJpbnRmKGJ1ZiwgMTAyMywgbXNnLCBhcmdzKTsKKyAgICAgICAgdmFfZW5kKGFyZ3MpOworICAgICAgICBidWZbMTAyM10gPSAwOworICAgICAgICByZXN1bHQgPQorICAgICAgICAgICAgUHlPYmplY3RfQ2FsbE1ldGhvZChoYW5kbGVyLCAoY2hhciAqKSAiZmF0YWxFcnJvciIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjaGFyICopICJzIiwgYnVmKTsKKyAgICAgICAgaWYgKFB5RXJyX09jY3VycmVkKCkpCisgICAgICAgICAgICBQeUVycl9QcmludCgpOworICAgICAgICBQeV9YREVDUkVGKHJlc3VsdCk7CisgICAgfQorfQorCitzdGF0aWMgdm9pZAorcHl0aG9uQ2RhdGFCbG9jayh2b2lkICp1c2VyX2RhdGEsIGNvbnN0IHhtbENoYXIgKiBjaCwgaW50IGxlbikKK3sKKyAgICBQeU9iamVjdCAqaGFuZGxlcjsKKyAgICBQeU9iamVjdCAqcmVzdWx0ID0gTlVMTDsKKyAgICBpbnQgdHlwZSA9IDA7CisKKyNpZmRlZiBERUJVR19TQVgKKyAgICBwcmludGYoInB5dGhvbkNkYXRhQmxvY2soJXMsICVkKSBjYWxsZWRcbiIsIGNoLCBsZW4pOworI2VuZGlmCisgICAgaGFuZGxlciA9IChQeU9iamVjdCAqKSB1c2VyX2RhdGE7CisgICAgaWYgKFB5T2JqZWN0X0hhc0F0dHJTdHJpbmcoaGFuZGxlciwgKGNoYXIgKikgImNkYXRhQmxvY2siKSkKKyAgICAgICAgdHlwZSA9IDE7CisgICAgZWxzZSBpZiAoUHlPYmplY3RfSGFzQXR0clN0cmluZyhoYW5kbGVyLCAoY2hhciAqKSAiY2RhdGEiKSkKKyAgICAgICAgdHlwZSA9IDI7CisgICAgaWYgKHR5cGUgIT0gMCkgeworICAgICAgICBpZiAodHlwZSA9PSAxKQorICAgICAgICAgICAgcmVzdWx0ID0KKyAgICAgICAgICAgICAgICBQeU9iamVjdF9DYWxsTWV0aG9kKGhhbmRsZXIsIChjaGFyICopICJjZGF0YUJsb2NrIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjaGFyICopICJzIyIsIGNoLCBsZW4pOworICAgICAgICBlbHNlIGlmICh0eXBlID09IDIpCisgICAgICAgICAgICByZXN1bHQgPQorICAgICAgICAgICAgICAgIFB5T2JqZWN0X0NhbGxNZXRob2QoaGFuZGxlciwgKGNoYXIgKikgImNkYXRhIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjaGFyICopICJzIyIsIGNoLCBsZW4pOworICAgICAgICBpZiAoUHlFcnJfT2NjdXJyZWQoKSkKKyAgICAgICAgICAgIFB5RXJyX1ByaW50KCk7CisgICAgICAgIFB5X1hERUNSRUYocmVzdWx0KTsKKyAgICB9Cit9CisKK3N0YXRpYyB2b2lkCitweXRob25FeHRlcm5hbFN1YnNldCh2b2lkICp1c2VyX2RhdGEsCisgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBleHRlcm5hbElELCBjb25zdCB4bWxDaGFyICogc3lzdGVtSUQpCit7CisgICAgUHlPYmplY3QgKmhhbmRsZXI7CisgICAgUHlPYmplY3QgKnJlc3VsdDsKKworI2lmZGVmIERFQlVHX1NBWAorICAgIHByaW50ZigicHl0aG9uRXh0ZXJuYWxTdWJzZXQoJXMsICVzLCAlcykgY2FsbGVkXG4iLAorICAgICAgICAgICBuYW1lLCBleHRlcm5hbElELCBzeXN0ZW1JRCk7CisjZW5kaWYKKyAgICBoYW5kbGVyID0gKFB5T2JqZWN0ICopIHVzZXJfZGF0YTsKKyAgICBpZiAoUHlPYmplY3RfSGFzQXR0clN0cmluZyhoYW5kbGVyLCAoY2hhciAqKSAiZXh0ZXJuYWxTdWJzZXQiKSkgeworICAgICAgICByZXN1bHQgPQorICAgICAgICAgICAgUHlPYmplY3RfQ2FsbE1ldGhvZChoYW5kbGVyLCAoY2hhciAqKSAiZXh0ZXJuYWxTdWJzZXQiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2hhciAqKSAic3NzIiwgbmFtZSwgZXh0ZXJuYWxJRCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3lzdGVtSUQpOworICAgICAgICBQeV9YREVDUkVGKHJlc3VsdCk7CisgICAgfQorfQorCitzdGF0aWMgdm9pZAorcHl0aG9uRW50aXR5RGVjbCh2b2lkICp1c2VyX2RhdGEsCisgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBuYW1lLAorICAgICAgICAgICAgICAgICBpbnQgdHlwZSwKKyAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIHB1YmxpY0lkLAorICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogc3lzdGVtSWQsIHhtbENoYXIgKiBjb250ZW50KQoreworICAgIFB5T2JqZWN0ICpoYW5kbGVyOworICAgIFB5T2JqZWN0ICpyZXN1bHQ7CisKKyAgICBoYW5kbGVyID0gKFB5T2JqZWN0ICopIHVzZXJfZGF0YTsKKyAgICBpZiAoUHlPYmplY3RfSGFzQXR0clN0cmluZyhoYW5kbGVyLCAoY2hhciAqKSAiZW50aXR5RGVjbCIpKSB7CisgICAgICAgIHJlc3VsdCA9IFB5T2JqZWN0X0NhbGxNZXRob2QoaGFuZGxlciwgKGNoYXIgKikgImVudGl0eURlY2wiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjaGFyICopICJzaXNzcyIsIG5hbWUsIHR5cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVibGljSWQsIHN5c3RlbUlkLCBjb250ZW50KTsKKyAgICAgICAgaWYgKFB5RXJyX09jY3VycmVkKCkpCisgICAgICAgICAgICBQeUVycl9QcmludCgpOworICAgICAgICBQeV9YREVDUkVGKHJlc3VsdCk7CisgICAgfQorfQorCisKKworc3RhdGljIHZvaWQKKworcHl0aG9uTm90YXRpb25EZWNsKHZvaWQgKnVzZXJfZGF0YSwKKyAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogbmFtZSwKKyAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogcHVibGljSWQsIGNvbnN0IHhtbENoYXIgKiBzeXN0ZW1JZCkKK3sKKyAgICBQeU9iamVjdCAqaGFuZGxlcjsKKyAgICBQeU9iamVjdCAqcmVzdWx0OworCisgICAgaGFuZGxlciA9IChQeU9iamVjdCAqKSB1c2VyX2RhdGE7CisgICAgaWYgKFB5T2JqZWN0X0hhc0F0dHJTdHJpbmcoaGFuZGxlciwgKGNoYXIgKikgIm5vdGF0aW9uRGVjbCIpKSB7CisgICAgICAgIHJlc3VsdCA9IFB5T2JqZWN0X0NhbGxNZXRob2QoaGFuZGxlciwgKGNoYXIgKikgIm5vdGF0aW9uRGVjbCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYXIgKikgInNzcyIsIG5hbWUsIHB1YmxpY0lkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3RlbUlkKTsKKyAgICAgICAgaWYgKFB5RXJyX09jY3VycmVkKCkpCisgICAgICAgICAgICBQeUVycl9QcmludCgpOworICAgICAgICBQeV9YREVDUkVGKHJlc3VsdCk7CisgICAgfQorfQorCitzdGF0aWMgdm9pZAorcHl0aG9uQXR0cmlidXRlRGVjbCh2b2lkICp1c2VyX2RhdGEsCisgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBlbGVtLAorICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgaW50IHR5cGUsCisgICAgICAgICAgICAgICAgICAgIGludCBkZWYsCisgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBkZWZhdWx0VmFsdWUsIHhtbEVudW1lcmF0aW9uUHRyIHRyZWUpCit7CisgICAgUHlPYmplY3QgKmhhbmRsZXI7CisgICAgUHlPYmplY3QgKm5hbWVMaXN0OworICAgIFB5T2JqZWN0ICpuZXdOYW1lOworICAgIHhtbEVudW1lcmF0aW9uUHRyIG5vZGU7CisgICAgUHlPYmplY3QgKnJlc3VsdDsKKyAgICBpbnQgY291bnQ7CisKKyAgICBoYW5kbGVyID0gKFB5T2JqZWN0ICopIHVzZXJfZGF0YTsKKyAgICBpZiAoUHlPYmplY3RfSGFzQXR0clN0cmluZyhoYW5kbGVyLCAoY2hhciAqKSAiYXR0cmlidXRlRGVjbCIpKSB7CisgICAgICAgIGNvdW50ID0gMDsKKyAgICAgICAgZm9yIChub2RlID0gdHJlZTsgbm9kZSAhPSBOVUxMOyBub2RlID0gbm9kZS0+bmV4dCkgeworICAgICAgICAgICAgY291bnQrKzsKKyAgICAgICAgfQorICAgICAgICBuYW1lTGlzdCA9IFB5TGlzdF9OZXcoY291bnQpOworICAgICAgICBjb3VudCA9IDA7CisgICAgICAgIGZvciAobm9kZSA9IHRyZWU7IG5vZGUgIT0gTlVMTDsgbm9kZSA9IG5vZGUtPm5leHQpIHsKKyAgICAgICAgICAgIG5ld05hbWUgPSBQWV9JTVBPUlRfU1RSSU5HKChjaGFyICopIG5vZGUtPm5hbWUpOworICAgICAgICAgICAgUHlMaXN0X1NldEl0ZW0obmFtZUxpc3QsIGNvdW50LCBuZXdOYW1lKTsKKwkgICAgUHlfREVDUkVGKG5ld05hbWUpOworICAgICAgICAgICAgY291bnQrKzsKKyAgICAgICAgfQorICAgICAgICByZXN1bHQgPSBQeU9iamVjdF9DYWxsTWV0aG9kKGhhbmRsZXIsIChjaGFyICopICJhdHRyaWJ1dGVEZWNsIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2hhciAqKSAic3NpaXNPIiwgZWxlbSwgbmFtZSwgdHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWYsIGRlZmF1bHRWYWx1ZSwgbmFtZUxpc3QpOworICAgICAgICBpZiAoUHlFcnJfT2NjdXJyZWQoKSkKKyAgICAgICAgICAgIFB5RXJyX1ByaW50KCk7CisgICAgICAgIFB5X1hERUNSRUYobmFtZUxpc3QpOworICAgICAgICBQeV9YREVDUkVGKHJlc3VsdCk7CisgICAgfQorfQorCitzdGF0aWMgdm9pZAorcHl0aG9uRWxlbWVudERlY2wodm9pZCAqdXNlcl9kYXRhLAorICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIG5hbWUsCisgICAgICAgICAgICAgICAgICBpbnQgdHlwZSwgQVRUUklCVVRFX1VOVVNFRCB4bWxFbGVtZW50Q29udGVudFB0ciBjb250ZW50KQoreworICAgIFB5T2JqZWN0ICpoYW5kbGVyOworICAgIFB5T2JqZWN0ICpvYmo7CisgICAgUHlPYmplY3QgKnJlc3VsdDsKKworICAgIGhhbmRsZXIgPSAoUHlPYmplY3QgKikgdXNlcl9kYXRhOworICAgIGlmIChQeU9iamVjdF9IYXNBdHRyU3RyaW5nKGhhbmRsZXIsIChjaGFyICopICJlbGVtZW50RGVjbCIpKSB7CisgICAgICAgIC8qIFRPRE86IHdyYXAgaW4gYW4gZWxlbWVudENvbnRlbnQgb2JqZWN0ICovCisgICAgICAgIHByaW50ZgorICAgICAgICAgICAgKCJweXRob25FbGVtZW50RGVjbDogeG1sRWxlbWVudENvbnRlbnRQdHIgd3JhcHBlciBtaXNzaW5nICFcbiIpOworICAgICAgICBvYmogPSBQeV9Ob25lOworICAgICAgICAvKiBQeV9YSU5DUkVGKFB5X05vbmUpOyBpc24ndCB0aGUgcmVmZXJlbmNlIGp1c3QgYm9ycm93ZWQgPz8/ICovCisgICAgICAgIHJlc3VsdCA9IFB5T2JqZWN0X0NhbGxNZXRob2QoaGFuZGxlciwgKGNoYXIgKikgImVsZW1lbnREZWNsIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2hhciAqKSAic2lPIiwgbmFtZSwgdHlwZSwgb2JqKTsKKyAgICAgICAgaWYgKFB5RXJyX09jY3VycmVkKCkpCisgICAgICAgICAgICBQeUVycl9QcmludCgpOworICAgICAgICBQeV9YREVDUkVGKHJlc3VsdCk7CisgICAgfQorfQorCitzdGF0aWMgdm9pZAorcHl0aG9uVW5wYXJzZWRFbnRpdHlEZWNsKHZvaWQgKnVzZXJfZGF0YSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogcHVibGljSWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIHN5c3RlbUlkLAorICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBub3RhdGlvbk5hbWUpCit7CisgICAgUHlPYmplY3QgKmhhbmRsZXI7CisgICAgUHlPYmplY3QgKnJlc3VsdDsKKworICAgIGhhbmRsZXIgPSAoUHlPYmplY3QgKikgdXNlcl9kYXRhOworICAgIGlmIChQeU9iamVjdF9IYXNBdHRyU3RyaW5nKGhhbmRsZXIsIChjaGFyICopICJ1bnBhcnNlZEVudGl0eURlY2wiKSkgeworICAgICAgICByZXN1bHQgPQorICAgICAgICAgICAgUHlPYmplY3RfQ2FsbE1ldGhvZChoYW5kbGVyLCAoY2hhciAqKSAidW5wYXJzZWRFbnRpdHlEZWNsIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYXIgKikgInNzc3MiLCBuYW1lLCBwdWJsaWNJZCwgc3lzdGVtSWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vdGF0aW9uTmFtZSk7CisgICAgICAgIGlmIChQeUVycl9PY2N1cnJlZCgpKQorICAgICAgICAgICAgUHlFcnJfUHJpbnQoKTsKKyAgICAgICAgUHlfWERFQ1JFRihyZXN1bHQpOworICAgIH0KK30KKworc3RhdGljIHZvaWQKK3B5dGhvbkludGVybmFsU3Vic2V0KHZvaWQgKnVzZXJfZGF0YSwgY29uc3QgeG1sQ2hhciAqIG5hbWUsCisgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogRXh0ZXJuYWxJRCwgY29uc3QgeG1sQ2hhciAqIFN5c3RlbUlEKQoreworICAgIFB5T2JqZWN0ICpoYW5kbGVyOworICAgIFB5T2JqZWN0ICpyZXN1bHQ7CisKKyNpZmRlZiBERUJVR19TQVgKKyAgICBwcmludGYoInB5dGhvbkludGVybmFsU3Vic2V0KCVzLCAlcywgJXMpIGNhbGxlZFxuIiwKKyAgICAgICAgICAgbmFtZSwgRXh0ZXJuYWxJRCwgU3lzdGVtSUQpOworI2VuZGlmCisgICAgaGFuZGxlciA9IChQeU9iamVjdCAqKSB1c2VyX2RhdGE7CisgICAgaWYgKFB5T2JqZWN0X0hhc0F0dHJTdHJpbmcoaGFuZGxlciwgKGNoYXIgKikgImludGVybmFsU3Vic2V0IikpIHsKKyAgICAgICAgcmVzdWx0ID0gUHlPYmplY3RfQ2FsbE1ldGhvZChoYW5kbGVyLCAoY2hhciAqKSAiaW50ZXJuYWxTdWJzZXQiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjaGFyICopICJzc3MiLCBuYW1lLCBFeHRlcm5hbElELAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN5c3RlbUlEKTsKKyAgICAgICAgaWYgKFB5RXJyX09jY3VycmVkKCkpCisgICAgICAgICAgICBQeUVycl9QcmludCgpOworICAgICAgICBQeV9YREVDUkVGKHJlc3VsdCk7CisgICAgfQorfQorCitzdGF0aWMgeG1sU0FYSGFuZGxlciBweXRob25TYXhIYW5kbGVyID0geworICAgIHB5dGhvbkludGVybmFsU3Vic2V0LAorICAgIE5VTEwsICAgICAgICAgICAgICAgICAgICAgICAvKiBUT0RPIHB5dGhvbklzU3RhbmRhbG9uZSwgKi8KKyAgICBOVUxMLCAgICAgICAgICAgICAgICAgICAgICAgLyogVE9ETyBweXRob25IYXNJbnRlcm5hbFN1YnNldCwgKi8KKyAgICBOVUxMLCAgICAgICAgICAgICAgICAgICAgICAgLyogVE9ETyBweXRob25IYXNFeHRlcm5hbFN1YnNldCwgKi8KKyAgICBOVUxMLCAgICAgICAgICAgICAgICAgICAgICAgLyogVE9ETyBweXRob25SZXNvbHZlRW50aXR5LCAqLworICAgIE5VTEwsICAgICAgICAgICAgICAgICAgICAgICAvKiBUT0RPIHB5dGhvbkdldEVudGl0eSwgKi8KKyAgICBweXRob25FbnRpdHlEZWNsLAorICAgIHB5dGhvbk5vdGF0aW9uRGVjbCwKKyAgICBweXRob25BdHRyaWJ1dGVEZWNsLAorICAgIHB5dGhvbkVsZW1lbnREZWNsLAorICAgIHB5dGhvblVucGFyc2VkRW50aXR5RGVjbCwKKyAgICBOVUxMLCAgICAgICAgICAgICAgICAgICAgICAgLyogT0JTT0xFVEVEIHB5dGhvblNldERvY3VtZW50TG9jYXRvciwgKi8KKyAgICBweXRob25TdGFydERvY3VtZW50LAorICAgIHB5dGhvbkVuZERvY3VtZW50LAorICAgIHB5dGhvblN0YXJ0RWxlbWVudCwKKyAgICBweXRob25FbmRFbGVtZW50LAorICAgIHB5dGhvblJlZmVyZW5jZSwKKyAgICBweXRob25DaGFyYWN0ZXJzLAorICAgIHB5dGhvbklnbm9yYWJsZVdoaXRlc3BhY2UsCisgICAgcHl0aG9uUHJvY2Vzc2luZ0luc3RydWN0aW9uLAorICAgIHB5dGhvbkNvbW1lbnQsCisgICAgcHl0aG9uV2FybmluZywKKyAgICBweXRob25FcnJvciwKKyAgICBweXRob25GYXRhbEVycm9yLAorICAgIE5VTEwsICAgICAgICAgICAgICAgICAgICAgICAvKiBUT0RPIHB5dGhvbkdldFBhcmFtZXRlckVudGl0eSwgKi8KKyAgICBweXRob25DZGF0YUJsb2NrLAorICAgIHB5dGhvbkV4dGVybmFsU3Vic2V0LAorICAgIDEsCisgICAgTlVMTCwJCQkvKiBUT0RPIG1vZ3JhdGUgdG8gU0FYMiAqLworICAgIE5VTEwsCisgICAgTlVMTCwKKyAgICBOVUxMCit9OworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQlIYW5kbGluZyBvZiBzcGVjaWZpYyBwYXJzZXIgY29udGV4dAkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworUHlPYmplY3QgKgorbGlieG1sX3htbENyZWF0ZVB1c2hQYXJzZXIoQVRUUklCVVRFX1VOVVNFRCBQeU9iamVjdCAqIHNlbGYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBQeU9iamVjdCAqIGFyZ3MpCit7CisgICAgY29uc3QgY2hhciAqY2h1bms7CisgICAgaW50IHNpemU7CisgICAgY29uc3QgY2hhciAqVVJJOworICAgIFB5T2JqZWN0ICpweW9ial9TQVggPSBOVUxMOworICAgIHhtbFNBWEhhbmRsZXJQdHIgU0FYID0gTlVMTDsKKyAgICB4bWxQYXJzZXJDdHh0UHRyIHJldDsKKyAgICBQeU9iamVjdCAqcHlyZXQ7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUKKyAgICAgICAgKGFyZ3MsIChjaGFyICopICJPeml6OnhtbENyZWF0ZVB1c2hQYXJzZXIiLCAmcHlvYmpfU0FYLCAmY2h1bmssCisgICAgICAgICAmc2l6ZSwgJlVSSSkpCisgICAgICAgIHJldHVybiAoTlVMTCk7CisKKyNpZmRlZiBERUJVRworICAgIHByaW50ZigibGlieG1sX3htbENyZWF0ZVB1c2hQYXJzZXIoJXAsICVzLCAlZCwgJXMpIGNhbGxlZFxuIiwKKyAgICAgICAgICAgcHlvYmpfU0FYLCBjaHVuaywgc2l6ZSwgVVJJKTsKKyNlbmRpZgorICAgIGlmIChweW9ial9TQVggIT0gUHlfTm9uZSkgeworICAgICAgICBTQVggPSAmcHl0aG9uU2F4SGFuZGxlcjsKKyAgICAgICAgUHlfSU5DUkVGKHB5b2JqX1NBWCk7CisgICAgICAgIC8qIFRoZSByZWZlcmVuY2UgaXMgcmVsZWFzZWQgaW4gcHl0aG9uRW5kRG9jdW1lbnQoKSAqLworICAgIH0KKyAgICByZXQgPSB4bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dChTQVgsIHB5b2JqX1NBWCwgY2h1bmssIHNpemUsIFVSSSk7CisgICAgcHlyZXQgPSBsaWJ4bWxfeG1sUGFyc2VyQ3R4dFB0cldyYXAocmV0KTsKKyAgICByZXR1cm4gKHB5cmV0KTsKK30KKworUHlPYmplY3QgKgorbGlieG1sX2h0bWxDcmVhdGVQdXNoUGFyc2VyKEFUVFJJQlVURV9VTlVTRUQgUHlPYmplY3QgKiBzZWxmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5T2JqZWN0ICogYXJncykKK3sKKyNpZmRlZiBMSUJYTUxfSFRNTF9FTkFCTEVECisgICAgY29uc3QgY2hhciAqY2h1bms7CisgICAgaW50IHNpemU7CisgICAgY29uc3QgY2hhciAqVVJJOworICAgIFB5T2JqZWN0ICpweW9ial9TQVggPSBOVUxMOworICAgIHhtbFNBWEhhbmRsZXJQdHIgU0FYID0gTlVMTDsKKyAgICB4bWxQYXJzZXJDdHh0UHRyIHJldDsKKyAgICBQeU9iamVjdCAqcHlyZXQ7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUKKyAgICAgICAgKGFyZ3MsIChjaGFyICopICJPeml6Omh0bWxDcmVhdGVQdXNoUGFyc2VyIiwgJnB5b2JqX1NBWCwgJmNodW5rLAorICAgICAgICAgJnNpemUsICZVUkkpKQorICAgICAgICByZXR1cm4gKE5VTEwpOworCisjaWZkZWYgREVCVUcKKyAgICBwcmludGYoImxpYnhtbF9odG1sQ3JlYXRlUHVzaFBhcnNlciglcCwgJXMsICVkLCAlcykgY2FsbGVkXG4iLAorICAgICAgICAgICBweW9ial9TQVgsIGNodW5rLCBzaXplLCBVUkkpOworI2VuZGlmCisgICAgaWYgKHB5b2JqX1NBWCAhPSBQeV9Ob25lKSB7CisgICAgICAgIFNBWCA9ICZweXRob25TYXhIYW5kbGVyOworICAgICAgICBQeV9JTkNSRUYocHlvYmpfU0FYKTsKKyAgICAgICAgLyogVGhlIHJlZmVyZW5jZSBpcyByZWxlYXNlZCBpbiBweXRob25FbmREb2N1bWVudCgpICovCisgICAgfQorICAgIHJldCA9IGh0bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dChTQVgsIHB5b2JqX1NBWCwgY2h1bmssIHNpemUsIFVSSSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWE1MX0NIQVJfRU5DT0RJTkdfTk9ORSk7CisgICAgcHlyZXQgPSBsaWJ4bWxfeG1sUGFyc2VyQ3R4dFB0cldyYXAocmV0KTsKKyAgICByZXR1cm4gKHB5cmV0KTsKKyNlbHNlCisgICAgUHlfSU5DUkVGKFB5X05vbmUpOworICAgIHJldHVybiAoUHlfTm9uZSk7CisjZW5kaWYgLyogTElCWE1MX0hUTUxfRU5BQkxFRCAqLworfQorCitQeU9iamVjdCAqCitsaWJ4bWxfeG1sU0FYUGFyc2VGaWxlKEFUVFJJQlVURV9VTlVTRUQgUHlPYmplY3QgKiBzZWxmLCBQeU9iamVjdCAqIGFyZ3MpCit7CisjaWZkZWYgTElCWE1MX1NBWDFfRU5BQkxFRAorICAgIGludCByZWNvdmVyOworICAgIGNvbnN0IGNoYXIgKlVSSTsKKyAgICBQeU9iamVjdCAqcHlvYmpfU0FYID0gTlVMTDsKKyAgICB4bWxTQVhIYW5kbGVyUHRyIFNBWCA9IE5VTEw7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgKGNoYXIgKikgIk9zaTp4bWxTQVhQYXJzZUZpbGUiLCAmcHlvYmpfU0FYLAorICAgICAgICAgICAgICAgICAgICAgICAgICAmVVJJLCAmcmVjb3ZlcikpCisgICAgICAgIHJldHVybiAoTlVMTCk7CisKKyNpZmRlZiBERUJVRworICAgIHByaW50ZigibGlieG1sX3htbFNBWFBhcnNlRmlsZSglcCwgJXMsICVkKSBjYWxsZWRcbiIsCisgICAgICAgICAgIHB5b2JqX1NBWCwgVVJJLCByZWNvdmVyKTsKKyNlbmRpZgorICAgIGlmIChweW9ial9TQVggPT0gUHlfTm9uZSkgeworICAgICAgICBQeV9JTkNSRUYoUHlfTm9uZSk7CisgICAgICAgIHJldHVybiAoUHlfTm9uZSk7CisgICAgfQorICAgIFNBWCA9ICZweXRob25TYXhIYW5kbGVyOworICAgIFB5X0lOQ1JFRihweW9ial9TQVgpOworICAgIC8qIFRoZSByZWZlcmVuY2UgaXMgcmVsZWFzZWQgaW4gcHl0aG9uRW5kRG9jdW1lbnQoKSAqLworICAgIHhtbFNBWFVzZXJQYXJzZUZpbGUoU0FYLCBweW9ial9TQVgsIFVSSSk7CisjZW5kaWYgLyogTElCWE1MX1NBWDFfRU5BQkxFRCAqLworICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKKyAgICByZXR1cm4gKFB5X05vbmUpOworfQorCitQeU9iamVjdCAqCitsaWJ4bWxfaHRtbFNBWFBhcnNlRmlsZShBVFRSSUJVVEVfVU5VU0VEIFB5T2JqZWN0ICogc2VsZiwgUHlPYmplY3QgKiBhcmdzKQoreworI2lmZGVmIExJQlhNTF9IVE1MX0VOQUJMRUQKKyAgICBjb25zdCBjaGFyICpVUkk7CisgICAgY29uc3QgY2hhciAqZW5jb2Rpbmc7CisgICAgUHlPYmplY3QgKnB5b2JqX1NBWCA9IE5VTEw7CisgICAgeG1sU0FYSGFuZGxlclB0ciBTQVggPSBOVUxMOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlCisgICAgICAgIChhcmdzLCAoY2hhciAqKSAiT3N6Omh0bWxTQVhQYXJzZUZpbGUiLCAmcHlvYmpfU0FYLCAmVVJJLAorICAgICAgICAgJmVuY29kaW5nKSkKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKworI2lmZGVmIERFQlVHCisgICAgcHJpbnRmKCJsaWJ4bWxfaHRtbFNBWFBhcnNlRmlsZSglcCwgJXMsICVzKSBjYWxsZWRcbiIsCisgICAgICAgICAgIHB5b2JqX1NBWCwgVVJJLCBlbmNvZGluZyk7CisjZW5kaWYKKyAgICBpZiAocHlvYmpfU0FYID09IFB5X05vbmUpIHsKKyAgICAgICAgUHlfSU5DUkVGKFB5X05vbmUpOworICAgICAgICByZXR1cm4gKFB5X05vbmUpOworICAgIH0KKyAgICBTQVggPSAmcHl0aG9uU2F4SGFuZGxlcjsKKyAgICBQeV9JTkNSRUYocHlvYmpfU0FYKTsKKyAgICAvKiBUaGUgcmVmZXJlbmNlIGlzIHJlbGVhc2VkIGluIHB5dGhvbkVuZERvY3VtZW50KCkgKi8KKyAgICBodG1sU0FYUGFyc2VGaWxlKFVSSSwgZW5jb2RpbmcsIFNBWCwgcHlvYmpfU0FYKTsKKyAgICBQeV9JTkNSRUYoUHlfTm9uZSk7CisgICAgcmV0dXJuIChQeV9Ob25lKTsKKyNlbHNlCisgICAgUHlfSU5DUkVGKFB5X05vbmUpOworICAgIHJldHVybiAoUHlfTm9uZSk7CisjZW5kaWYgLyogTElCWE1MX0hUTUxfRU5BQkxFRCAqLworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQkJRXJyb3IgbWVzc2FnZSBjYWxsYmFjawkJCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK3N0YXRpYyBQeU9iamVjdCAqbGlieG1sX3htbFB5dGhvbkVycm9yRnVuY0hhbmRsZXIgPSBOVUxMOworc3RhdGljIFB5T2JqZWN0ICpsaWJ4bWxfeG1sUHl0aG9uRXJyb3JGdW5jQ3R4dCA9IE5VTEw7CisKKy8qIGhlbHBlciB0byBidWlsZCBhIHhtbE1hbGxvYydlZCBzdHJpbmcgZnJvbSBhIGZvcm1hdCBhbmQgdmFfbGlzdCAqLworLyogCisgKiBkaXNhYmxlZCB0aGUgbG9vcCwgdGhlIHJlcGVhdGVkIGNhbGwgdG8gdnNucHJpbnRmIHdpdGhvdXQgcmVzZXQgb2YgYXAKKyAqIGluIGNhc2UgdGhlIGluaXRpYWwgYnVmZmVyIHdhcyB0b28gc21hbGwgc2VnZmF1bHRlZCBvbiB4ODZfNjQKKyAqIHdlIG5vdyBkaXJlY3RseSB2c25wcmludGYgb24gYSBsYXJnZSBidWZmZXIuCisgKi8KK3N0YXRpYyBjaGFyICoKK2xpYnhtbF9idWlsZE1lc3NhZ2UoY29uc3QgY2hhciAqbXNnLCB2YV9saXN0IGFwKQoreworICAgIGludCBjaGFyczsKKyAgICBjaGFyICpzdHI7CisKKyAgICBzdHIgPSAoY2hhciAqKSB4bWxNYWxsb2MoMTAwMCk7CisgICAgaWYgKHN0ciA9PSBOVUxMKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIGNoYXJzID0gdnNucHJpbnRmKHN0ciwgOTk5LCBtc2csIGFwKTsKKyAgICBpZiAoY2hhcnMgPj0gOTk4KQorICAgICAgICBzdHJbOTk5XSA9IDA7CisKKyAgICByZXR1cm4gc3RyOworfQorCitzdGF0aWMgdm9pZAorbGlieG1sX3htbEVycm9yRnVuY0hhbmRsZXIoQVRUUklCVVRFX1VOVVNFRCB2b2lkICpjdHgsIGNvbnN0IGNoYXIgKm1zZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLikKK3sKKyAgICB2YV9saXN0IGFwOworICAgIFB5T2JqZWN0ICpsaXN0OworICAgIFB5T2JqZWN0ICptZXNzYWdlOworICAgIFB5T2JqZWN0ICpyZXN1bHQ7CisgICAgY2hhciBzdHJbMTAwMF07CisKKyNpZmRlZiBERUJVR19FUlJPUgorICAgIHByaW50ZigibGlieG1sX3htbEVycm9yRnVuY0hhbmRsZXIoJXAsICVzLCAuLi4pIGNhbGxlZFxuIiwgY3R4LCBtc2cpOworI2VuZGlmCisKKworICAgIGlmIChsaWJ4bWxfeG1sUHl0aG9uRXJyb3JGdW5jSGFuZGxlciA9PSBOVUxMKSB7CisgICAgICAgIHZhX3N0YXJ0KGFwLCBtc2cpOworICAgICAgICB2ZnByaW50ZihzdGRlcnIsIG1zZywgYXApOworICAgICAgICB2YV9lbmQoYXApOworICAgIH0gZWxzZSB7CisgICAgICAgIHZhX3N0YXJ0KGFwLCBtc2cpOworICAgICAgICBpZiAodnNucHJpbnRmKHN0ciwgOTk5LCBtc2csIGFwKSA+PSA5OTgpCisJICAgIHN0cls5OTldID0gMDsKKyAgICAgICAgdmFfZW5kKGFwKTsKKworICAgICAgICBsaXN0ID0gUHlUdXBsZV9OZXcoMik7CisgICAgICAgIFB5VHVwbGVfU2V0SXRlbShsaXN0LCAwLCBsaWJ4bWxfeG1sUHl0aG9uRXJyb3JGdW5jQ3R4dCk7CisgICAgICAgIFB5X1hJTkNSRUYobGlieG1sX3htbFB5dGhvbkVycm9yRnVuY0N0eHQpOworICAgICAgICBtZXNzYWdlID0gbGlieG1sX2NoYXJQdHJDb25zdFdyYXAoc3RyKTsKKyAgICAgICAgUHlUdXBsZV9TZXRJdGVtKGxpc3QsIDEsIG1lc3NhZ2UpOworICAgICAgICByZXN1bHQgPSBQeUV2YWxfQ2FsbE9iamVjdChsaWJ4bWxfeG1sUHl0aG9uRXJyb3JGdW5jSGFuZGxlciwgbGlzdCk7CisgICAgICAgIFB5X1hERUNSRUYobGlzdCk7CisgICAgICAgIFB5X1hERUNSRUYocmVzdWx0KTsKKyAgICB9Cit9CisKK3N0YXRpYyB2b2lkCitsaWJ4bWxfeG1sRXJyb3JJbml0aWFsaXplKHZvaWQpCit7CisjaWZkZWYgREVCVUdfRVJST1IKKyAgICBwcmludGYoImxpYnhtbF94bWxFcnJvckluaXRpYWxpemUoKSBjYWxsZWRcbiIpOworI2VuZGlmCisgICAgeG1sU2V0R2VuZXJpY0Vycm9yRnVuYyhOVUxMLCBsaWJ4bWxfeG1sRXJyb3JGdW5jSGFuZGxlcik7CisgICAgeG1sVGhyRGVmU2V0R2VuZXJpY0Vycm9yRnVuYyhOVUxMLCBsaWJ4bWxfeG1sRXJyb3JGdW5jSGFuZGxlcik7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitsaWJ4bWxfeG1sUmVnaXN0ZXJFcnJvckhhbmRsZXIoQVRUUklCVVRFX1VOVVNFRCBQeU9iamVjdCAqIHNlbGYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKiBhcmdzKQoreworICAgIFB5T2JqZWN0ICpweV9yZXR2YWw7CisgICAgUHlPYmplY3QgKnB5b2JqX2Y7CisgICAgUHlPYmplY3QgKnB5b2JqX2N0eDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZQorICAgICAgICAoYXJncywgKGNoYXIgKikgIk9POnhtbFJlZ2lzdGVyRXJyb3JIYW5kbGVyIiwgJnB5b2JqX2YsCisgICAgICAgICAmcHlvYmpfY3R4KSkKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKworI2lmZGVmIERFQlVHX0VSUk9SCisgICAgcHJpbnRmKCJsaWJ4bWxfeG1sUmVnaXN0ZXJFcnJvckhhbmRsZXIoJXAsICVwKSBjYWxsZWRcbiIsIHB5b2JqX2N0eCwKKyAgICAgICAgICAgcHlvYmpfZik7CisjZW5kaWYKKworICAgIGlmIChsaWJ4bWxfeG1sUHl0aG9uRXJyb3JGdW5jSGFuZGxlciAhPSBOVUxMKSB7CisgICAgICAgIFB5X1hERUNSRUYobGlieG1sX3htbFB5dGhvbkVycm9yRnVuY0hhbmRsZXIpOworICAgIH0KKyAgICBpZiAobGlieG1sX3htbFB5dGhvbkVycm9yRnVuY0N0eHQgIT0gTlVMTCkgeworICAgICAgICBQeV9YREVDUkVGKGxpYnhtbF94bWxQeXRob25FcnJvckZ1bmNDdHh0KTsKKyAgICB9CisKKyAgICBQeV9YSU5DUkVGKHB5b2JqX2N0eCk7CisgICAgUHlfWElOQ1JFRihweW9ial9mKTsKKworICAgIC8qIFRPRE86IGNoZWNrIGYgaXMgYSBmdW5jdGlvbiAhICovCisgICAgbGlieG1sX3htbFB5dGhvbkVycm9yRnVuY0hhbmRsZXIgPSBweW9ial9mOworICAgIGxpYnhtbF94bWxQeXRob25FcnJvckZ1bmNDdHh0ID0gcHlvYmpfY3R4OworCisgICAgcHlfcmV0dmFsID0gbGlieG1sX2ludFdyYXAoMSk7CisgICAgcmV0dXJuIChweV9yZXR2YWwpOworfQorCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICogICAgICAgICAgICAgICAgICAgICAgUGVyIHBhcnNlckN0eHQgZXJyb3IgaGFuZGxlciAgICAgICAgICAgICAgICAgICAgKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCit0eXBlZGVmIHN0cnVjdCAKK3sKKyAgICBQeU9iamVjdCAqZjsKKyAgICBQeU9iamVjdCAqYXJnOworfSB4bWxQYXJzZXJDdHh0UHlDdHh0OwordHlwZWRlZiB4bWxQYXJzZXJDdHh0UHlDdHh0ICp4bWxQYXJzZXJDdHh0UHlDdHh0UHRyOworCitzdGF0aWMgdm9pZAorbGlieG1sX3htbFBhcnNlckN0eHRHZW5lcmljRXJyb3JGdW5jSGFuZGxlcih2b2lkICpjdHgsIGludCBzZXZlcml0eSwgY2hhciAqc3RyKSAKK3sKKyAgICBQeU9iamVjdCAqbGlzdDsKKyAgICBQeU9iamVjdCAqcmVzdWx0OworICAgIHhtbFBhcnNlckN0eHRQdHIgY3R4dDsKKyAgICB4bWxQYXJzZXJDdHh0UHlDdHh0UHRyIHB5Q3R4dDsKKyAgICAKKyNpZmRlZiBERUJVR19FUlJPUgorICAgIHByaW50ZigibGlieG1sX3htbFBhcnNlckN0eHRHZW5lcmljRXJyb3JGdW5jSGFuZGxlciglcCwgJXMsIC4uLikgY2FsbGVkXG4iLCBjdHgsIHN0cik7CisjZW5kaWYKKworICAgIGN0eHQgPSAoeG1sUGFyc2VyQ3R4dFB0ciljdHg7CisgICAgcHlDdHh0ID0gKHhtbFBhcnNlckN0eHRQeUN0eHRQdHIpY3R4dC0+X3ByaXZhdGU7CisKKyAgICBsaXN0ID0gUHlUdXBsZV9OZXcoNCk7CisgICAgUHlUdXBsZV9TZXRJdGVtKGxpc3QsIDAsIHB5Q3R4dC0+YXJnKTsKKyAgICBQeV9YSU5DUkVGKHB5Q3R4dC0+YXJnKTsKKyAgICBQeVR1cGxlX1NldEl0ZW0obGlzdCwgMSwgbGlieG1sX2NoYXJQdHJXcmFwKHN0cikpOworICAgIFB5VHVwbGVfU2V0SXRlbShsaXN0LCAyLCBsaWJ4bWxfaW50V3JhcChzZXZlcml0eSkpOworICAgIFB5VHVwbGVfU2V0SXRlbShsaXN0LCAzLCBQeV9Ob25lKTsKKyAgICBQeV9JTkNSRUYoUHlfTm9uZSk7CisgICAgcmVzdWx0ID0gUHlFdmFsX0NhbGxPYmplY3QocHlDdHh0LT5mLCBsaXN0KTsKKyAgICBpZiAocmVzdWx0ID09IE5VTEwpIAorICAgIHsKKwkvKiBUT0RPOiBtYW5hZ2UgZm9yIHRoZSBleGNlcHRpb24gdG8gYmUgcHJvcGFnYXRlZC4uLiAqLworCVB5RXJyX1ByaW50KCk7CisgICAgfQorICAgIFB5X1hERUNSRUYobGlzdCk7CisgICAgUHlfWERFQ1JFRihyZXN1bHQpOworfQorCitzdGF0aWMgdm9pZCAKK2xpYnhtbF94bWxQYXJzZXJDdHh0RXJyb3JGdW5jSGFuZGxlcih2b2lkICpjdHgsIGNvbnN0IGNoYXIgKm1zZywgLi4uKSAKK3sKKyAgICB2YV9saXN0IGFwOworCisgICAgdmFfc3RhcnQoYXAsIG1zZyk7CisgICAgbGlieG1sX3htbFBhcnNlckN0eHRHZW5lcmljRXJyb3JGdW5jSGFuZGxlcihjdHgsWE1MX1BBUlNFUl9TRVZFUklUWV9FUlJPUixsaWJ4bWxfYnVpbGRNZXNzYWdlKG1zZyxhcCkpOworICAgIHZhX2VuZChhcCk7Cit9CisKK3N0YXRpYyB2b2lkIAorbGlieG1sX3htbFBhcnNlckN0eHRXYXJuaW5nRnVuY0hhbmRsZXIodm9pZCAqY3R4LCBjb25zdCBjaGFyICptc2csIC4uLikgCit7CisgICAgdmFfbGlzdCBhcDsKKworICAgIHZhX3N0YXJ0KGFwLCBtc2cpOworICAgIGxpYnhtbF94bWxQYXJzZXJDdHh0R2VuZXJpY0Vycm9yRnVuY0hhbmRsZXIoY3R4LFhNTF9QQVJTRVJfU0VWRVJJVFlfV0FSTklORyxsaWJ4bWxfYnVpbGRNZXNzYWdlKG1zZyxhcCkpOworICAgIHZhX2VuZChhcCk7Cit9CisKK3N0YXRpYyB2b2lkIAorbGlieG1sX3htbFBhcnNlckN0eHRWYWxpZGl0eUVycm9yRnVuY0hhbmRsZXIodm9pZCAqY3R4LCBjb25zdCBjaGFyICptc2csIC4uLikgCit7CisgICAgdmFfbGlzdCBhcDsKKworICAgIHZhX3N0YXJ0KGFwLCBtc2cpOworICAgIGxpYnhtbF94bWxQYXJzZXJDdHh0R2VuZXJpY0Vycm9yRnVuY0hhbmRsZXIoY3R4LFhNTF9QQVJTRVJfU0VWRVJJVFlfVkFMSURJVFlfRVJST1IsbGlieG1sX2J1aWxkTWVzc2FnZShtc2csYXApKTsKKyAgICB2YV9lbmQoYXApOworfQorCitzdGF0aWMgdm9pZCAKK2xpYnhtbF94bWxQYXJzZXJDdHh0VmFsaWRpdHlXYXJuaW5nRnVuY0hhbmRsZXIodm9pZCAqY3R4LCBjb25zdCBjaGFyICptc2csIC4uLikgCit7CisgICAgdmFfbGlzdCBhcDsKKworICAgIHZhX3N0YXJ0KGFwLCBtc2cpOworICAgIGxpYnhtbF94bWxQYXJzZXJDdHh0R2VuZXJpY0Vycm9yRnVuY0hhbmRsZXIoY3R4LFhNTF9QQVJTRVJfU0VWRVJJVFlfVkFMSURJVFlfV0FSTklORyxsaWJ4bWxfYnVpbGRNZXNzYWdlKG1zZyxhcCkpOworICAgIHZhX2VuZChhcCk7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitsaWJ4bWxfeG1sUGFyc2VyQ3R4dFNldEVycm9ySGFuZGxlcihBVFRSSUJVVEVfVU5VU0VEIFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykgCit7CisgICAgUHlPYmplY3QgKnB5X3JldHZhbDsKKyAgICB4bWxQYXJzZXJDdHh0UHRyIGN0eHQ7CisgICAgeG1sUGFyc2VyQ3R4dFB5Q3R4dFB0ciBweUN0eHQ7CisgICAgUHlPYmplY3QgKnB5b2JqX2N0eHQ7CisgICAgUHlPYmplY3QgKnB5b2JqX2Y7CisgICAgUHlPYmplY3QgKnB5b2JqX2FyZzsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAoY2hhciAqKSJPT086eG1sUGFyc2VyQ3R4dFNldEVycm9ySGFuZGxlciIsCisJCSAgICAgICAgICAmcHlvYmpfY3R4dCwgJnB5b2JqX2YsICZweW9ial9hcmcpKQorICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgY3R4dCA9ICh4bWxQYXJzZXJDdHh0UHRyKSBQeXBhcnNlckN0eHRfR2V0KHB5b2JqX2N0eHQpOworICAgIGlmIChjdHh0LT5fcHJpdmF0ZSA9PSBOVUxMKSB7CisJcHlDdHh0ID0geG1sTWFsbG9jKHNpemVvZih4bWxQYXJzZXJDdHh0UHlDdHh0KSk7CisJaWYgKHB5Q3R4dCA9PSBOVUxMKSB7CisJICAgIHB5X3JldHZhbCA9IGxpYnhtbF9pbnRXcmFwKC0xKTsKKwkgICAgcmV0dXJuKHB5X3JldHZhbCk7CisJfQorCW1lbXNldChweUN0eHQsMCxzaXplb2YoeG1sUGFyc2VyQ3R4dFB5Q3R4dCkpOworCWN0eHQtPl9wcml2YXRlID0gcHlDdHh0OworICAgIH0KKyAgICBlbHNlIHsKKwlweUN0eHQgPSAoeG1sUGFyc2VyQ3R4dFB5Q3R4dFB0ciljdHh0LT5fcHJpdmF0ZTsKKyAgICB9CisgICAgLyogVE9ETzogY2hlY2sgZiBpcyBhIGZ1bmN0aW9uICEgKi8KKyAgICBQeV9YREVDUkVGKHB5Q3R4dC0+Zik7CisgICAgUHlfWElOQ1JFRihweW9ial9mKTsKKyAgICBweUN0eHQtPmYgPSBweW9ial9mOworICAgIFB5X1hERUNSRUYocHlDdHh0LT5hcmcpOworICAgIFB5X1hJTkNSRUYocHlvYmpfYXJnKTsKKyAgICBweUN0eHQtPmFyZyA9IHB5b2JqX2FyZzsKKworICAgIGlmIChweW9ial9mICE9IFB5X05vbmUpIHsKKwljdHh0LT5zYXgtPmVycm9yID0gbGlieG1sX3htbFBhcnNlckN0eHRFcnJvckZ1bmNIYW5kbGVyOworCWN0eHQtPnNheC0+d2FybmluZyA9IGxpYnhtbF94bWxQYXJzZXJDdHh0V2FybmluZ0Z1bmNIYW5kbGVyOworCWN0eHQtPnZjdHh0LmVycm9yID0gbGlieG1sX3htbFBhcnNlckN0eHRWYWxpZGl0eUVycm9yRnVuY0hhbmRsZXI7CisJY3R4dC0+dmN0eHQud2FybmluZyA9IGxpYnhtbF94bWxQYXJzZXJDdHh0VmFsaWRpdHlXYXJuaW5nRnVuY0hhbmRsZXI7CisgICAgfQorICAgIGVsc2UgeworCWN0eHQtPnNheC0+ZXJyb3IgPSB4bWxQYXJzZXJFcnJvcjsKKwljdHh0LT52Y3R4dC5lcnJvciA9IHhtbFBhcnNlclZhbGlkaXR5RXJyb3I7CisJY3R4dC0+c2F4LT53YXJuaW5nID0geG1sUGFyc2VyV2FybmluZzsKKwljdHh0LT52Y3R4dC53YXJuaW5nID0geG1sUGFyc2VyVmFsaWRpdHlXYXJuaW5nOworICAgIH0KKworICAgIHB5X3JldHZhbCA9IGxpYnhtbF9pbnRXcmFwKDEpOworICAgIHJldHVybihweV9yZXR2YWwpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorbGlieG1sX3htbFBhcnNlckN0eHRHZXRFcnJvckhhbmRsZXIoQVRUUklCVVRFX1VOVVNFRCBQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpIAoreworICAgIFB5T2JqZWN0ICpweV9yZXR2YWw7CisgICAgeG1sUGFyc2VyQ3R4dFB0ciBjdHh0OworICAgIHhtbFBhcnNlckN0eHRQeUN0eHRQdHIgcHlDdHh0OworICAgIFB5T2JqZWN0ICpweW9ial9jdHh0OworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsIChjaGFyICopIk86eG1sUGFyc2VyQ3R4dEdldEVycm9ySGFuZGxlciIsCisJCSAgICAgICAgICAmcHlvYmpfY3R4dCkpCisgICAgICAgIHJldHVybihOVUxMKTsKKyAgICBjdHh0ID0gKHhtbFBhcnNlckN0eHRQdHIpIFB5cGFyc2VyQ3R4dF9HZXQocHlvYmpfY3R4dCk7CisgICAgcHlfcmV0dmFsID0gUHlUdXBsZV9OZXcoMik7CisgICAgaWYgKGN0eHQtPl9wcml2YXRlICE9IE5VTEwpIHsKKwlweUN0eHQgPSAoeG1sUGFyc2VyQ3R4dFB5Q3R4dFB0ciljdHh0LT5fcHJpdmF0ZTsKKworCVB5VHVwbGVfU2V0SXRlbShweV9yZXR2YWwsIDAsIHB5Q3R4dC0+Zik7CisJUHlfWElOQ1JFRihweUN0eHQtPmYpOworCVB5VHVwbGVfU2V0SXRlbShweV9yZXR2YWwsIDEsIHB5Q3R4dC0+YXJnKTsKKwlQeV9YSU5DUkVGKHB5Q3R4dC0+YXJnKTsKKyAgICB9CisgICAgZWxzZSB7CisJLyogbm8gcHl0aG9uIGVycm9yIGhhbmRsZXIgcmVnaXN0ZXJlZCAqLworCVB5VHVwbGVfU2V0SXRlbShweV9yZXR2YWwsIDAsIFB5X05vbmUpOworCVB5X1hJTkNSRUYoUHlfTm9uZSk7CisJUHlUdXBsZV9TZXRJdGVtKHB5X3JldHZhbCwgMSwgUHlfTm9uZSk7CisJUHlfWElOQ1JFRihQeV9Ob25lKTsKKyAgICB9CisgICAgcmV0dXJuKHB5X3JldHZhbCk7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitsaWJ4bWxfeG1sRnJlZVBhcnNlckN0eHQoQVRUUklCVVRFX1VOVVNFRCBQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpIHsKKyAgICB4bWxQYXJzZXJDdHh0UHRyIGN0eHQ7CisgICAgUHlPYmplY3QgKnB5b2JqX2N0eHQ7CisgICAgeG1sUGFyc2VyQ3R4dFB5Q3R4dFB0ciBweUN0eHQ7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgKGNoYXIgKikiTzp4bWxGcmVlUGFyc2VyQ3R4dCIsICZweW9ial9jdHh0KSkKKyAgICAgICAgcmV0dXJuKE5VTEwpOworICAgIGN0eHQgPSAoeG1sUGFyc2VyQ3R4dFB0cikgUHlwYXJzZXJDdHh0X0dldChweW9ial9jdHh0KTsKKworICAgIGlmIChjdHh0ICE9IE5VTEwpIHsKKwlweUN0eHQgPSAoeG1sUGFyc2VyQ3R4dFB5Q3R4dFB0cikoKHhtbFBhcnNlckN0eHRQdHIpY3R4dCktPl9wcml2YXRlOworCWlmIChweUN0eHQpIHsKKwkgICAgUHlfWERFQ1JFRihweUN0eHQtPmYpOworCSAgICBQeV9YREVDUkVGKHB5Q3R4dC0+YXJnKTsKKwkgICAgeG1sRnJlZShweUN0eHQpOworCX0KKwl4bWxGcmVlUGFyc2VyQ3R4dChjdHh0KTsKKyAgICB9CisKKyAgICBQeV9JTkNSRUYoUHlfTm9uZSk7CisgICAgcmV0dXJuKFB5X05vbmUpOworfQorCisvKioqCisgKiB4bWxWYWxpZEN0eHQgc3R1ZmYKKyAqLworCit0eXBlZGVmIHN0cnVjdCAKK3sKKyAgICBQeU9iamVjdCAqd2FybjsKKyAgICBQeU9iamVjdCAqZXJyb3I7CisgICAgUHlPYmplY3QgKmFyZzsKK30geG1sVmFsaWRDdHh0UHlDdHh0OwordHlwZWRlZiB4bWxWYWxpZEN0eHRQeUN0eHQgKnhtbFZhbGlkQ3R4dFB5Q3R4dFB0cjsKKworc3RhdGljIHZvaWQKK2xpYnhtbF94bWxWYWxpZEN0eHRHZW5lcmljRXJyb3JGdW5jSGFuZGxlcih2b2lkICpjdHgsIEFUVFJJQlVURV9VTlVTRUQgaW50IHNldmVyaXR5LCBjaGFyICpzdHIpCit7CisgICAgUHlPYmplY3QgKmxpc3Q7CisgICAgUHlPYmplY3QgKnJlc3VsdDsKKyAgICB4bWxWYWxpZEN0eHRQeUN0eHRQdHIgcHlDdHh0OworICAgIAorI2lmZGVmIERFQlVHX0VSUk9SCisgICAgcHJpbnRmKCJsaWJ4bWxfeG1sVmFsaWRDdHh0R2VuZXJpY0Vycm9yRnVuY0hhbmRsZXIoJXAsICVkLCAlcywgLi4uKSBjYWxsZWRcbiIsIGN0eCwgc2V2ZXJpdHksIHN0cik7CisjZW5kaWYKKworICAgIHB5Q3R4dCA9ICh4bWxWYWxpZEN0eHRQeUN0eHRQdHIpY3R4OworICAgIAorICAgIGxpc3QgPSBQeVR1cGxlX05ldygyKTsKKyAgICBQeVR1cGxlX1NldEl0ZW0obGlzdCwgMCwgbGlieG1sX2NoYXJQdHJXcmFwKHN0cikpOworICAgIFB5VHVwbGVfU2V0SXRlbShsaXN0LCAxLCBweUN0eHQtPmFyZyk7CisgICAgUHlfWElOQ1JFRihweUN0eHQtPmFyZyk7CisgICAgcmVzdWx0ID0gUHlFdmFsX0NhbGxPYmplY3QocHlDdHh0LT5lcnJvciwgbGlzdCk7CisgICAgaWYgKHJlc3VsdCA9PSBOVUxMKSAKKyAgICB7CisJLyogVE9ETzogbWFuYWdlIGZvciB0aGUgZXhjZXB0aW9uIHRvIGJlIHByb3BhZ2F0ZWQuLi4gKi8KKwlQeUVycl9QcmludCgpOworICAgIH0KKyAgICBQeV9YREVDUkVGKGxpc3QpOworICAgIFB5X1hERUNSRUYocmVzdWx0KTsKK30KKworc3RhdGljIHZvaWQKK2xpYnhtbF94bWxWYWxpZEN0eHRHZW5lcmljV2FybmluZ0Z1bmNIYW5kbGVyKHZvaWQgKmN0eCwgQVRUUklCVVRFX1VOVVNFRCBpbnQgc2V2ZXJpdHksIGNoYXIgKnN0cikKK3sKKyAgICBQeU9iamVjdCAqbGlzdDsKKyAgICBQeU9iamVjdCAqcmVzdWx0OworICAgIHhtbFZhbGlkQ3R4dFB5Q3R4dFB0ciBweUN0eHQ7CisgICAgCisjaWZkZWYgREVCVUdfRVJST1IKKyAgICBwcmludGYoImxpYnhtbF94bWxWYWxpZEN0eHRHZW5lcmljV2FybmluZ0Z1bmNIYW5kbGVyKCVwLCAlZCwgJXMsIC4uLikgY2FsbGVkXG4iLCBjdHgsIHNldmVyaXR5LCBzdHIpOworI2VuZGlmCisKKyAgICBweUN0eHQgPSAoeG1sVmFsaWRDdHh0UHlDdHh0UHRyKWN0eDsKKworICAgIGxpc3QgPSBQeVR1cGxlX05ldygyKTsKKyAgICBQeVR1cGxlX1NldEl0ZW0obGlzdCwgMCwgbGlieG1sX2NoYXJQdHJXcmFwKHN0cikpOworICAgIFB5VHVwbGVfU2V0SXRlbShsaXN0LCAxLCBweUN0eHQtPmFyZyk7CisgICAgUHlfWElOQ1JFRihweUN0eHQtPmFyZyk7CisgICAgcmVzdWx0ID0gUHlFdmFsX0NhbGxPYmplY3QocHlDdHh0LT53YXJuLCBsaXN0KTsKKyAgICBpZiAocmVzdWx0ID09IE5VTEwpIAorICAgIHsKKwkvKiBUT0RPOiBtYW5hZ2UgZm9yIHRoZSBleGNlcHRpb24gdG8gYmUgcHJvcGFnYXRlZC4uLiAqLworCVB5RXJyX1ByaW50KCk7CisgICAgfQorICAgIFB5X1hERUNSRUYobGlzdCk7CisgICAgUHlfWERFQ1JFRihyZXN1bHQpOworfQorCitzdGF0aWMgdm9pZCAKK2xpYnhtbF94bWxWYWxpZEN0eHRFcnJvckZ1bmNIYW5kbGVyKHZvaWQgKmN0eCwgY29uc3QgY2hhciAqbXNnLCAuLi4pIAoreworICAgIHZhX2xpc3QgYXA7CisKKyAgICB2YV9zdGFydChhcCwgbXNnKTsKKyAgICBsaWJ4bWxfeG1sVmFsaWRDdHh0R2VuZXJpY0Vycm9yRnVuY0hhbmRsZXIoY3R4LFhNTF9QQVJTRVJfU0VWRVJJVFlfVkFMSURJVFlfRVJST1IsbGlieG1sX2J1aWxkTWVzc2FnZShtc2csYXApKTsKKyAgICB2YV9lbmQoYXApOworfQorCitzdGF0aWMgdm9pZCAKK2xpYnhtbF94bWxWYWxpZEN0eHRXYXJuaW5nRnVuY0hhbmRsZXIodm9pZCAqY3R4LCBjb25zdCBjaGFyICptc2csIC4uLikgCit7CisgICAgdmFfbGlzdCBhcDsKKworICAgIHZhX3N0YXJ0KGFwLCBtc2cpOworICAgIGxpYnhtbF94bWxWYWxpZEN0eHRHZW5lcmljV2FybmluZ0Z1bmNIYW5kbGVyKGN0eCxYTUxfUEFSU0VSX1NFVkVSSVRZX1ZBTElESVRZX1dBUk5JTkcsbGlieG1sX2J1aWxkTWVzc2FnZShtc2csYXApKTsKKyAgICB2YV9lbmQoYXApOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorbGlieG1sX3htbFNldFZhbGlkRXJyb3JzKEFUVFJJQlVURV9VTlVTRUQgUHlPYmplY3QgKiBzZWxmLCBQeU9iamVjdCAqIGFyZ3MpCit7CisgICAgUHlPYmplY3QgKnB5X3JldHZhbDsKKyAgICBQeU9iamVjdCAqcHlvYmpfZXJyb3I7CisgICAgUHlPYmplY3QgKnB5b2JqX3dhcm47CisgICAgUHlPYmplY3QgKnB5b2JqX2N0eDsKKyAgICBQeU9iamVjdCAqcHlvYmpfYXJnID0gUHlfTm9uZTsKKyAgICB4bWxWYWxpZEN0eHRQdHIgY3R4dDsKKyAgICB4bWxWYWxpZEN0eHRQeUN0eHRQdHIgcHlDdHh0OworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlCisgICAgICAgIChhcmdzLCAoY2hhciAqKSAiT09PfE86eG1sU2V0VmFsaWRFcnJvcnMiLCAmcHlvYmpfY3R4LCAmcHlvYmpfZXJyb3IsICZweW9ial93YXJuLCAmcHlvYmpfYXJnKSkKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKworI2lmZGVmIERFQlVHX0VSUk9SCisgICAgcHJpbnRmKCJsaWJ4bWxfeG1sU2V0VmFsaWRFcnJvcnMoJXAsICVwLCAlcCkgY2FsbGVkXG4iLCBweW9ial9jdHgsIHB5b2JqX2Vycm9yLCBweW9ial93YXJuKTsKKyNlbmRpZgorCisgICAgY3R4dCA9IFB5VmFsaWRDdHh0X0dldChweW9ial9jdHgpOworICAgIHB5Q3R4dCA9IHhtbE1hbGxvYyhzaXplb2YoeG1sVmFsaWRDdHh0UHlDdHh0KSk7CisgICAgaWYgKHB5Q3R4dCA9PSBOVUxMKSB7CisgICAgICAgICAgICBweV9yZXR2YWwgPSBsaWJ4bWxfaW50V3JhcCgtMSk7CisgICAgICAgICAgICByZXR1cm4ocHlfcmV0dmFsKTsKKyAgICB9CisgICAgbWVtc2V0KHB5Q3R4dCwgMCwgc2l6ZW9mKHhtbFZhbGlkQ3R4dFB5Q3R4dCkpOworCisgICAgCisgICAgLyogVE9ETzogY2hlY2sgd2FybiBhbmQgZXJyb3IgaXMgYSBmdW5jdGlvbiAhICovCisgICAgUHlfWERFQ1JFRihweUN0eHQtPmVycm9yKTsKKyAgICBQeV9YSU5DUkVGKHB5b2JqX2Vycm9yKTsKKyAgICBweUN0eHQtPmVycm9yID0gcHlvYmpfZXJyb3I7CisgICAgCisgICAgUHlfWERFQ1JFRihweUN0eHQtPndhcm4pOworICAgIFB5X1hJTkNSRUYocHlvYmpfd2Fybik7CisgICAgcHlDdHh0LT53YXJuID0gcHlvYmpfd2FybjsKKyAgICAKKyAgICBQeV9YREVDUkVGKHB5Q3R4dC0+YXJnKTsKKyAgICBQeV9YSU5DUkVGKHB5b2JqX2FyZyk7CisgICAgcHlDdHh0LT5hcmcgPSBweW9ial9hcmc7CisKKyAgICBjdHh0LT5lcnJvciA9IGxpYnhtbF94bWxWYWxpZEN0eHRFcnJvckZ1bmNIYW5kbGVyOworICAgIGN0eHQtPndhcm5pbmcgPSBsaWJ4bWxfeG1sVmFsaWRDdHh0V2FybmluZ0Z1bmNIYW5kbGVyOworICAgIGN0eHQtPnVzZXJEYXRhID0gcHlDdHh0OworCisgICAgcHlfcmV0dmFsID0gbGlieG1sX2ludFdyYXAoMSk7CisgICAgcmV0dXJuIChweV9yZXR2YWwpOworfQorCisKK3N0YXRpYyBQeU9iamVjdCAqCitsaWJ4bWxfeG1sRnJlZVZhbGlkQ3R4dChQeU9iamVjdCAqc2VsZiBBVFRSSUJVVEVfVU5VU0VELCBQeU9iamVjdCAqYXJncykgeworICAgIHhtbFZhbGlkQ3R4dFB0ciBjdXI7CisgICAgeG1sVmFsaWRDdHh0UHlDdHh0UHRyIHB5Q3R4dDsKKyAgICBQeU9iamVjdCAqcHlvYmpfY3VyOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsIChjaGFyICopIk86eG1sRnJlZVZhbGlkQ3R4dCIsICZweW9ial9jdXIpKQorICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgY3VyID0gKHhtbFZhbGlkQ3R4dFB0cikgUHlWYWxpZEN0eHRfR2V0KHB5b2JqX2N1cik7CisKKyAgICBweUN0eHQgPSAoeG1sVmFsaWRDdHh0UHlDdHh0UHRyKShjdXItPnVzZXJEYXRhKTsKKyAgICBpZiAocHlDdHh0ICE9IE5VTEwpCisgICAgeworICAgICAgICAgICAgUHlfWERFQ1JFRihweUN0eHQtPmVycm9yKTsKKyAgICAgICAgICAgIFB5X1hERUNSRUYocHlDdHh0LT53YXJuKTsKKyAgICAgICAgICAgIFB5X1hERUNSRUYocHlDdHh0LT5hcmcpOworICAgICAgICAgICAgeG1sRnJlZShweUN0eHQpOworICAgIH0KKworICAgIHhtbEZyZWVWYWxpZEN0eHQoY3VyKTsKKyAgICBQeV9JTkNSRUYoUHlfTm9uZSk7CisgICAgcmV0dXJuKFB5X05vbmUpOworfQorCisjaWZkZWYgTElCWE1MX1JFQURFUl9FTkFCTEVECisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqICAgICAgICAgICAgICAgICAgICAgIFBlciB4bWxUZXh0UmVhZGVyIGVycm9yIGhhbmRsZXIgICAgICAgICAgICAgICAgICoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKwordHlwZWRlZiBzdHJ1Y3QgCit7CisgICAgUHlPYmplY3QgKmY7CisgICAgUHlPYmplY3QgKmFyZzsKK30geG1sVGV4dFJlYWRlclB5Q3R4dDsKK3R5cGVkZWYgeG1sVGV4dFJlYWRlclB5Q3R4dCAqeG1sVGV4dFJlYWRlclB5Q3R4dFB0cjsKKworc3RhdGljIHZvaWQgCitsaWJ4bWxfeG1sVGV4dFJlYWRlckVycm9yQ2FsbGJhY2sodm9pZCAqYXJnLCAKKwkJCQkgIGNvbnN0IGNoYXIgKm1zZywKKwkJCQkgIGludCBzZXZlcml0eSwKKwkJCQkgIHhtbFRleHRSZWFkZXJMb2NhdG9yUHRyIGxvY2F0b3IpCit7CisgICAgeG1sVGV4dFJlYWRlclB5Q3R4dCAqcHlDdHh0ID0gKHhtbFRleHRSZWFkZXJQeUN0eHQgKilhcmc7CisgICAgUHlPYmplY3QgKmxpc3Q7CisgICAgUHlPYmplY3QgKnJlc3VsdDsKKyAgICAKKyAgICBsaXN0ID0gUHlUdXBsZV9OZXcoNCk7CisgICAgUHlUdXBsZV9TZXRJdGVtKGxpc3QsIDAsIHB5Q3R4dC0+YXJnKTsKKyAgICBQeV9YSU5DUkVGKHB5Q3R4dC0+YXJnKTsKKyAgICBQeVR1cGxlX1NldEl0ZW0obGlzdCwgMSwgbGlieG1sX2NoYXJQdHJDb25zdFdyYXAobXNnKSk7CisgICAgUHlUdXBsZV9TZXRJdGVtKGxpc3QsIDIsIGxpYnhtbF9pbnRXcmFwKHNldmVyaXR5KSk7CisgICAgUHlUdXBsZV9TZXRJdGVtKGxpc3QsIDMsIGxpYnhtbF94bWxUZXh0UmVhZGVyTG9jYXRvclB0cldyYXAobG9jYXRvcikpOworICAgIHJlc3VsdCA9IFB5RXZhbF9DYWxsT2JqZWN0KHB5Q3R4dC0+ZiwgbGlzdCk7CisgICAgaWYgKHJlc3VsdCA9PSBOVUxMKQorICAgIHsKKwkvKiBUT0RPOiBtYW5hZ2UgZm9yIHRoZSBleGNlcHRpb24gdG8gYmUgcHJvcGFnYXRlZC4uLiAqLworCVB5RXJyX1ByaW50KCk7CisgICAgfQorICAgIFB5X1hERUNSRUYobGlzdCk7CisgICAgUHlfWERFQ1JFRihyZXN1bHQpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorbGlieG1sX3htbFRleHRSZWFkZXJTZXRFcnJvckhhbmRsZXIoQVRUUklCVVRFX1VOVVNFRCBQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgeG1sVGV4dFJlYWRlclB0ciByZWFkZXI7CisgICAgeG1sVGV4dFJlYWRlclB5Q3R4dFB0ciBweUN0eHQ7CisgICAgeG1sVGV4dFJlYWRlckVycm9yRnVuYyBmOworICAgIHZvaWQgKmFyZzsKKyAgICBQeU9iamVjdCAqcHlvYmpfcmVhZGVyOworICAgIFB5T2JqZWN0ICpweW9ial9mOworICAgIFB5T2JqZWN0ICpweW9ial9hcmc7CisgICAgUHlPYmplY3QgKnB5X3JldHZhbDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAoY2hhciAqKSJPT086eG1sVGV4dFJlYWRlclNldEVycm9ySGFuZGxlciIsICZweW9ial9yZWFkZXIsICZweW9ial9mLCAmcHlvYmpfYXJnKSkKKyAgICAgICAgcmV0dXJuKE5VTEwpOworICAgIHJlYWRlciA9ICh4bWxUZXh0UmVhZGVyUHRyKSBQeXhtbFRleHRSZWFkZXJfR2V0KHB5b2JqX3JlYWRlcik7CisgICAgLyogY2xlYXIgcHJldmlvdXMgZXJyb3IgaGFuZGxlciAqLworICAgIHhtbFRleHRSZWFkZXJHZXRFcnJvckhhbmRsZXIocmVhZGVyLCZmLCZhcmcpOworICAgIGlmIChhcmcgIT0gTlVMTCkgeworCWlmIChmID09ICh4bWxUZXh0UmVhZGVyRXJyb3JGdW5jKSBsaWJ4bWxfeG1sVGV4dFJlYWRlckVycm9yQ2FsbGJhY2spIHsKKwkgICAgLyogb2ssIGl0J3Mgb3VyIGVycm9yIGhhbmRsZXIhICovCisJICAgIHB5Q3R4dCA9ICh4bWxUZXh0UmVhZGVyUHlDdHh0UHRyKWFyZzsKKwkgICAgUHlfWERFQ1JFRihweUN0eHQtPmYpOworCSAgICBQeV9YREVDUkVGKHB5Q3R4dC0+YXJnKTsKKwkgICAgeG1sRnJlZShweUN0eHQpOworCX0KKwllbHNlIHsKKwkgICAgLyogCisJICAgICAqIHRoZXJlIGFscmVhZHkgYW4gYXJnLCBhbmQgaXQncyBub3Qgb3VycywKKwkgICAgICogdGhlcmUgaXMgZGVmaW5pdGVseSBzb21ldGhpbmcgd3JvbmcgZ29pbmcgb24gaGVyZS4uLgorCSAgICAgKiB3ZSBkb24ndCBrbm93IGhvdyB0byBmcmVlIGl0LCBzbyB3ZSBiYWlsIG91dC4uLiAKKwkgICAgICovCisJICAgIHB5X3JldHZhbCA9IGxpYnhtbF9pbnRXcmFwKC0xKTsKKwkgICAgcmV0dXJuKHB5X3JldHZhbCk7CisJfQorICAgIH0KKyAgICB4bWxUZXh0UmVhZGVyU2V0RXJyb3JIYW5kbGVyKHJlYWRlcixOVUxMLE5VTEwpOworICAgIC8qIHNldCBuZXcgZXJyb3IgaGFuZGxlciAqLworICAgIGlmIChweW9ial9mICE9IFB5X05vbmUpCisgICAgeworCXB5Q3R4dCA9ICh4bWxUZXh0UmVhZGVyUHlDdHh0UHRyKXhtbE1hbGxvYyhzaXplb2YoeG1sVGV4dFJlYWRlclB5Q3R4dCkpOworCWlmIChweUN0eHQgPT0gTlVMTCkgeworCSAgICBweV9yZXR2YWwgPSBsaWJ4bWxfaW50V3JhcCgtMSk7CisJICAgIHJldHVybihweV9yZXR2YWwpOworCX0KKwlQeV9YSU5DUkVGKHB5b2JqX2YpOworCXB5Q3R4dC0+ZiA9IHB5b2JqX2Y7CisJUHlfWElOQ1JFRihweW9ial9hcmcpOworCXB5Q3R4dC0+YXJnID0gcHlvYmpfYXJnOworCXhtbFRleHRSZWFkZXJTZXRFcnJvckhhbmRsZXIocmVhZGVyLAorCSAgICAoeG1sVGV4dFJlYWRlckVycm9yRnVuYykgbGlieG1sX3htbFRleHRSZWFkZXJFcnJvckNhbGxiYWNrLAorCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHlDdHh0KTsKKyAgICB9CisKKyAgICBweV9yZXR2YWwgPSBsaWJ4bWxfaW50V3JhcCgxKTsKKyAgICByZXR1cm4ocHlfcmV0dmFsKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK2xpYnhtbF94bWxUZXh0UmVhZGVyR2V0RXJyb3JIYW5kbGVyKEFUVFJJQlVURV9VTlVTRUQgUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyOworICAgIHhtbFRleHRSZWFkZXJQeUN0eHRQdHIgcHlDdHh0OworICAgIHhtbFRleHRSZWFkZXJFcnJvckZ1bmMgZjsKKyAgICB2b2lkICphcmc7CisgICAgUHlPYmplY3QgKnB5b2JqX3JlYWRlcjsKKyAgICBQeU9iamVjdCAqcHlfcmV0dmFsOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsIChjaGFyICopIk86eG1sVGV4dFJlYWRlclNldEVycm9ySGFuZGxlciIsICZweW9ial9yZWFkZXIpKQorICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgcmVhZGVyID0gKHhtbFRleHRSZWFkZXJQdHIpIFB5eG1sVGV4dFJlYWRlcl9HZXQocHlvYmpfcmVhZGVyKTsKKyAgICB4bWxUZXh0UmVhZGVyR2V0RXJyb3JIYW5kbGVyKHJlYWRlciwmZiwmYXJnKTsKKyAgICBweV9yZXR2YWwgPSBQeVR1cGxlX05ldygyKTsKKyAgICBpZiAoZiA9PSAoeG1sVGV4dFJlYWRlckVycm9yRnVuYylsaWJ4bWxfeG1sVGV4dFJlYWRlckVycm9yQ2FsbGJhY2spIHsKKwkvKiBvaywgaXQncyBvdXIgZXJyb3IgaGFuZGxlciEgKi8KKwlweUN0eHQgPSAoeG1sVGV4dFJlYWRlclB5Q3R4dFB0cilhcmc7CisJUHlUdXBsZV9TZXRJdGVtKHB5X3JldHZhbCwgMCwgcHlDdHh0LT5mKTsKKwlQeV9YSU5DUkVGKHB5Q3R4dC0+Zik7CisJUHlUdXBsZV9TZXRJdGVtKHB5X3JldHZhbCwgMSwgcHlDdHh0LT5hcmcpOworCVB5X1hJTkNSRUYocHlDdHh0LT5hcmcpOworICAgIH0KKyAgICBlbHNlCisgICAgeworCS8qIGYgaXMgbnVsbCBvciBpdCdzIG5vdCBvdXIgZXJyb3IgaGFuZGxlciAqLworCVB5VHVwbGVfU2V0SXRlbShweV9yZXR2YWwsIDAsIFB5X05vbmUpOworCVB5X1hJTkNSRUYoUHlfTm9uZSk7CisJUHlUdXBsZV9TZXRJdGVtKHB5X3JldHZhbCwgMSwgUHlfTm9uZSk7CisJUHlfWElOQ1JFRihQeV9Ob25lKTsKKyAgICB9CisgICAgcmV0dXJuKHB5X3JldHZhbCk7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitsaWJ4bWxfeG1sRnJlZVRleHRSZWFkZXIoQVRUUklCVVRFX1VOVVNFRCBQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpIHsKKyAgICB4bWxUZXh0UmVhZGVyUHRyIHJlYWRlcjsKKyAgICBQeU9iamVjdCAqcHlvYmpfcmVhZGVyOworICAgIHhtbFRleHRSZWFkZXJQeUN0eHRQdHIgcHlDdHh0OworICAgIHhtbFRleHRSZWFkZXJFcnJvckZ1bmMgZjsKKyAgICB2b2lkICphcmc7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgKGNoYXIgKikiTzp4bWxGcmVlVGV4dFJlYWRlciIsICZweW9ial9yZWFkZXIpKQorICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgaWYgKCFQeUNhcHN1bGVfQ2hlY2tFeGFjdChweW9ial9yZWFkZXIpKSB7CisJUHlfSU5DUkVGKFB5X05vbmUpOworCXJldHVybihQeV9Ob25lKTsKKyAgICB9CisgICAgcmVhZGVyID0gKHhtbFRleHRSZWFkZXJQdHIpIFB5eG1sVGV4dFJlYWRlcl9HZXQocHlvYmpfcmVhZGVyKTsKKyAgICBpZiAocmVhZGVyID09IE5VTEwpIHsKKwlQeV9JTkNSRUYoUHlfTm9uZSk7CisJcmV0dXJuKFB5X05vbmUpOworICAgIH0KKworICAgIHhtbFRleHRSZWFkZXJHZXRFcnJvckhhbmRsZXIocmVhZGVyLCZmLCZhcmcpOworICAgIGlmIChhcmcgIT0gTlVMTCkgeworCWlmIChmID09ICh4bWxUZXh0UmVhZGVyRXJyb3JGdW5jKSBsaWJ4bWxfeG1sVGV4dFJlYWRlckVycm9yQ2FsbGJhY2spIHsKKwkgICAgLyogb2ssIGl0J3Mgb3VyIGVycm9yIGhhbmRsZXIhICovCisJICAgIHB5Q3R4dCA9ICh4bWxUZXh0UmVhZGVyUHlDdHh0UHRyKWFyZzsKKwkgICAgUHlfWERFQ1JFRihweUN0eHQtPmYpOworCSAgICBQeV9YREVDUkVGKHB5Q3R4dC0+YXJnKTsKKwkgICAgeG1sRnJlZShweUN0eHQpOworCX0KKwkvKiAKKwkgKiBlbHNlLCBzb21ldGhpbmcgd3JvbmcgaGFwcGVuZWQsIGJlY2F1c2UgdGhlIGVycm9yIGhhbmRsZXIgaXMKKwkgKiBub3Qgb3duZWQgYnkgdGhlIHB5dGhvbiBiaW5kaW5ncy4uLgorCSAqLworICAgIH0KKworICAgIHhtbEZyZWVUZXh0UmVhZGVyKHJlYWRlcik7CisgICAgUHlfSU5DUkVGKFB5X05vbmUpOworICAgIHJldHVybihQeV9Ob25lKTsKK30KKyNlbmRpZgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQkJWFBhdGggZXh0ZW5zaW9ucwkJCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK3N0YXRpYyB2b2lkCitsaWJ4bWxfeG1sWFBhdGhGdW5jQ2FsbGJhY2soeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQsIGludCBuYXJncykKK3sKKyAgICBQeU9iamVjdCAqbGlzdCwgKmN1ciwgKnJlc3VsdDsKKyAgICB4bWxYUGF0aE9iamVjdFB0ciBvYmo7CisgICAgeG1sWFBhdGhDb250ZXh0UHRyIHJjdHh0OworICAgIFB5T2JqZWN0ICpjdXJyZW50X2Z1bmN0aW9uID0gTlVMTDsKKyAgICBjb25zdCB4bWxDaGFyICpuYW1lOworICAgIGNvbnN0IHhtbENoYXIgKm5zX3VyaTsKKyAgICBpbnQgaTsKKworICAgIGlmIChjdHh0ID09IE5VTEwpCisgICAgICAgIHJldHVybjsKKyAgICByY3R4dCA9IGN0eHQtPmNvbnRleHQ7CisgICAgaWYgKHJjdHh0ID09IE5VTEwpCisgICAgICAgIHJldHVybjsKKyAgICBuYW1lID0gcmN0eHQtPmZ1bmN0aW9uOworICAgIG5zX3VyaSA9IHJjdHh0LT5mdW5jdGlvblVSSTsKKyNpZmRlZiBERUJVR19YUEFUSAorICAgIHByaW50ZigibGlieG1sX3htbFhQYXRoRnVuY0NhbGxiYWNrIGNhbGxlZCBuYW1lICVzIFVSSSAlc1xuIiwgbmFtZSwKKyAgICAgICAgICAgbnNfdXJpKTsKKyNlbmRpZgorCisgICAgLyoKKyAgICAgKiBGaW5kIHRoZSBmdW5jdGlvbiwgaXQgc2hvdWxkIGJlIHRoZXJlIGl0IHdhcyB0aGVyZSBhdCBsb29rdXAKKyAgICAgKi8KKyAgICBmb3IgKGkgPSAwOyBpIDwgbGlieG1sX3hwYXRoQ2FsbGJhY2tzTmI7IGkrKykgeworICAgICAgICBpZiAoICAgICAgICAgICAgICAgICAgICAvKiBUT0RPIChjdHh0ID09IGxpYnhtbF94cGF0aENhbGxiYWNrc1tpXS5jdHgpICYmICovCisJCQkJCQkoeG1sU3RyRXF1YWwobmFtZSwgKCpsaWJ4bWxfeHBhdGhDYWxsYmFja3MpW2ldLm5hbWUpKSAmJgorICAgICAgICAgICAgICAgKHhtbFN0ckVxdWFsKG5zX3VyaSwgKCpsaWJ4bWxfeHBhdGhDYWxsYmFja3MpW2ldLm5zX3VyaSkpKSB7CisJCQkJCWN1cnJlbnRfZnVuY3Rpb24gPSAoKmxpYnhtbF94cGF0aENhbGxiYWNrcylbaV0uZnVuY3Rpb247CisgICAgICAgIH0KKyAgICB9CisgICAgaWYgKGN1cnJlbnRfZnVuY3Rpb24gPT0gTlVMTCkgeworICAgICAgICBwcmludGYKKyAgICAgICAgICAgICgibGlieG1sX3htbFhQYXRoRnVuY0NhbGxiYWNrOiBpbnRlcm5hbCBlcnJvciAlcyBub3QgZm91bmQgIVxuIiwKKyAgICAgICAgICAgICBuYW1lKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGxpc3QgPSBQeVR1cGxlX05ldyhuYXJncyArIDEpOworICAgIFB5VHVwbGVfU2V0SXRlbShsaXN0LCAwLCBsaWJ4bWxfeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyV3JhcChjdHh0KSk7CisgICAgZm9yIChpID0gbmFyZ3MgLSAxOyBpID49IDA7IGktLSkgeworICAgICAgICBvYmogPSB2YWx1ZVBvcChjdHh0KTsKKyAgICAgICAgY3VyID0gbGlieG1sX3htbFhQYXRoT2JqZWN0UHRyV3JhcChvYmopOworICAgICAgICBQeVR1cGxlX1NldEl0ZW0obGlzdCwgaSArIDEsIGN1cik7CisgICAgfQorICAgIHJlc3VsdCA9IFB5RXZhbF9DYWxsT2JqZWN0KGN1cnJlbnRfZnVuY3Rpb24sIGxpc3QpOworICAgIFB5X0RFQ1JFRihsaXN0KTsKKworICAgIG9iaiA9IGxpYnhtbF94bWxYUGF0aE9iamVjdFB0ckNvbnZlcnQocmVzdWx0KTsKKyAgICB2YWx1ZVB1c2goY3R4dCwgb2JqKTsKK30KKworc3RhdGljIHhtbFhQYXRoRnVuY3Rpb24KK2xpYnhtbF94bWxYUGF0aEZ1bmNMb29rdXBGdW5jKHZvaWQgKmN0eHQsIGNvbnN0IHhtbENoYXIgKiBuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIG5zX3VyaSkKK3sKKyAgICBpbnQgaTsKKworI2lmZGVmIERFQlVHX1hQQVRICisgICAgcHJpbnRmKCJsaWJ4bWxfeG1sWFBhdGhGdW5jTG9va3VwRnVuYyglcCwgJXMsICVzKSBjYWxsZWRcbiIsCisgICAgICAgICAgIGN0eHQsIG5hbWUsIG5zX3VyaSk7CisjZW5kaWYKKyAgICAvKgorICAgICAqIFRoaXMgaXMgY2FsbGVkIG9uY2Ugb25seS4gVGhlIGFkZHJlc3MgaXMgdGhlbiBzdG9yZWQgaW4gdGhlCisgICAgICogWFBhdGggZXhwcmVzc2lvbiBldmFsdWF0aW9uLCB0aGUgcHJvcGVyIG9iamVjdCB0byBjYWxsIGNhbgorICAgICAqIHRoZW4gc3RpbGwgYmUgZm91bmQgdXNpbmcgdGhlIGV4ZWN1dGlvbiBjb250ZXh0IGZ1bmN0aW9uCisgICAgICogYW5kIGZ1bmN0aW9uVVJJIGZpZWxkcy4KKyAgICAgKi8KKyAgICBmb3IgKGkgPSAwOyBpIDwgbGlieG1sX3hwYXRoQ2FsbGJhY2tzTmI7IGkrKykgeworCQkJaWYgKChjdHh0ID09ICgqbGlieG1sX3hwYXRoQ2FsbGJhY2tzKVtpXS5jdHgpICYmCisJCQkJCSh4bWxTdHJFcXVhbChuYW1lLCAoKmxpYnhtbF94cGF0aENhbGxiYWNrcylbaV0ubmFtZSkpICYmCisJCQkJCSh4bWxTdHJFcXVhbChuc191cmksICgqbGlieG1sX3hwYXRoQ2FsbGJhY2tzKVtpXS5uc191cmkpKSkgeworICAgICAgICAgICAgcmV0dXJuIChsaWJ4bWxfeG1sWFBhdGhGdW5jQ2FsbGJhY2spOworICAgICAgICB9CisgICAgfQorICAgIHJldHVybiAoTlVMTCk7Cit9CisKK3N0YXRpYyB2b2lkCitsaWJ4bWxfeHBhdGhDYWxsYmFja3NJbml0aWFsaXplKHZvaWQpCit7CisgICAgaW50IGk7CisKKyAgICBpZiAobGlieG1sX3hwYXRoQ2FsbGJhY2tzSW5pdGlhbGl6ZWQgIT0gMCkKKyAgICAgICAgcmV0dXJuOworCisjaWZkZWYgREVCVUdfWFBBVEgKKyAgICBwcmludGYoImxpYnhtbF94cGF0aENhbGxiYWNrc0luaXRpYWxpemVkIGNhbGxlZFxuIik7CisjZW5kaWYKKyAgICBsaWJ4bWxfeHBhdGhDYWxsYmFja3MgPSAobGlieG1sX3hwYXRoQ2FsbGJhY2tBcnJheSopeG1sTWFsbG9jKAorICAgIAkJbGlieG1sX3hwYXRoQ2FsbGJhY2tzQWxsb2NkKnNpemVvZihsaWJ4bWxfeHBhdGhDYWxsYmFjaykpOworCisgICAgZm9yIChpID0gMDsgaSA8IGxpYnhtbF94cGF0aENhbGxiYWNrc0FsbG9jZDsgaSsrKSB7CisJCQkoKmxpYnhtbF94cGF0aENhbGxiYWNrcylbaV0uY3R4ID0gTlVMTDsKKwkJCSgqbGlieG1sX3hwYXRoQ2FsbGJhY2tzKVtpXS5uYW1lID0gTlVMTDsKKwkJCSgqbGlieG1sX3hwYXRoQ2FsbGJhY2tzKVtpXS5uc191cmkgPSBOVUxMOworCQkJKCpsaWJ4bWxfeHBhdGhDYWxsYmFja3MpW2ldLmZ1bmN0aW9uID0gTlVMTDsKKyAgICB9CisgICAgbGlieG1sX3hwYXRoQ2FsbGJhY2tzSW5pdGlhbGl6ZWQgPSAxOworfQorCitQeU9iamVjdCAqCitsaWJ4bWxfeG1sUmVnaXN0ZXJYUGF0aEZ1bmN0aW9uKEFUVFJJQlVURV9VTlVTRUQgUHlPYmplY3QgKiBzZWxmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeU9iamVjdCAqIGFyZ3MpCit7CisgICAgUHlPYmplY3QgKnB5X3JldHZhbDsKKyAgICBpbnQgY19yZXR2YWwgPSAwOworICAgIHhtbENoYXIgKm5hbWU7CisgICAgeG1sQ2hhciAqbnNfdXJpOworICAgIHhtbFhQYXRoQ29udGV4dFB0ciBjdHg7CisgICAgUHlPYmplY3QgKnB5b2JqX2N0eDsKKyAgICBQeU9iamVjdCAqcHlvYmpfZjsKKyAgICBpbnQgaTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZQorICAgICAgICAoYXJncywgKGNoYXIgKikgIk9zek86cmVnaXN0ZXJYUGF0aEZ1bmN0aW9uIiwgJnB5b2JqX2N0eCwgJm5hbWUsCisgICAgICAgICAmbnNfdXJpLCAmcHlvYmpfZikpCisgICAgICAgIHJldHVybiAoTlVMTCk7CisKKyAgICBjdHggPSAoeG1sWFBhdGhDb250ZXh0UHRyKSBQeXhtbFhQYXRoQ29udGV4dF9HZXQocHlvYmpfY3R4KTsKKyAgICBpZiAobGlieG1sX3hwYXRoQ2FsbGJhY2tzSW5pdGlhbGl6ZWQgPT0gMCkKKyAgICAgICAgbGlieG1sX3hwYXRoQ2FsbGJhY2tzSW5pdGlhbGl6ZSgpOworICAgIHhtbFhQYXRoUmVnaXN0ZXJGdW5jTG9va3VwKGN0eCwgbGlieG1sX3htbFhQYXRoRnVuY0xvb2t1cEZ1bmMsIGN0eCk7CisKKyAgICBpZiAoKHB5b2JqX2N0eCA9PSBOVUxMKSB8fCAobmFtZSA9PSBOVUxMKSB8fCAocHlvYmpfZiA9PSBOVUxMKSkgeworICAgICAgICBweV9yZXR2YWwgPSBsaWJ4bWxfaW50V3JhcCgtMSk7CisgICAgICAgIHJldHVybiAocHlfcmV0dmFsKTsKKyAgICB9CisjaWZkZWYgREVCVUdfWFBBVEgKKyAgICBwcmludGYoImxpYnhtbF9yZWdpc3RlclhQYXRoRnVuY3Rpb24oJXAsICVzLCAlcykgY2FsbGVkXG4iLAorICAgICAgICAgICBjdHgsIG5hbWUsIG5zX3VyaSk7CisjZW5kaWYKKyAgICBmb3IgKGkgPSAwOyBpIDwgbGlieG1sX3hwYXRoQ2FsbGJhY2tzTmI7IGkrKykgeworCWlmICgoY3R4ID09ICgqbGlieG1sX3hwYXRoQ2FsbGJhY2tzKVtpXS5jdHgpICYmCisgICAgICAgICAgICAoeG1sU3RyRXF1YWwobmFtZSwgKCpsaWJ4bWxfeHBhdGhDYWxsYmFja3MpW2ldLm5hbWUpKSAmJgorICAgICAgICAgICAgKHhtbFN0ckVxdWFsKG5zX3VyaSwgKCpsaWJ4bWxfeHBhdGhDYWxsYmFja3MpW2ldLm5zX3VyaSkpKSB7CisgICAgICAgICAgICBQeV9YSU5DUkVGKHB5b2JqX2YpOworICAgICAgICAgICAgUHlfWERFQ1JFRigoKmxpYnhtbF94cGF0aENhbGxiYWNrcylbaV0uZnVuY3Rpb24pOworICAgICAgICAgICAgKCpsaWJ4bWxfeHBhdGhDYWxsYmFja3MpW2ldLmZ1bmN0aW9uID0gcHlvYmpfZjsKKyAgICAgICAgICAgIGNfcmV0dmFsID0gMTsKKyAgICAgICAgICAgIGdvdG8gZG9uZTsKKyAgICAgICAgfQorICAgIH0KKyAgICBpZiAobGlieG1sX3hwYXRoQ2FsbGJhY2tzTmIgPj0gbGlieG1sX3hwYXRoQ2FsbGJhY2tzQWxsb2NkKSB7CisJCQlsaWJ4bWxfeHBhdGhDYWxsYmFja3NBbGxvY2QrPTEwOworCWxpYnhtbF94cGF0aENhbGxiYWNrcyA9IChsaWJ4bWxfeHBhdGhDYWxsYmFja0FycmF5Kil4bWxSZWFsbG9jKAorCQlsaWJ4bWxfeHBhdGhDYWxsYmFja3MsCisJCWxpYnhtbF94cGF0aENhbGxiYWNrc0FsbG9jZCpzaXplb2YobGlieG1sX3hwYXRoQ2FsbGJhY2spKTsKKyAgICB9IAorICAgIGkgPSBsaWJ4bWxfeHBhdGhDYWxsYmFja3NOYisrOworICAgIFB5X1hJTkNSRUYocHlvYmpfZik7CisgICAgKCpsaWJ4bWxfeHBhdGhDYWxsYmFja3MpW2ldLmN0eCA9IGN0eDsKKyAgICAoKmxpYnhtbF94cGF0aENhbGxiYWNrcylbaV0ubmFtZSA9IHhtbFN0cmR1cChuYW1lKTsKKyAgICAoKmxpYnhtbF94cGF0aENhbGxiYWNrcylbaV0ubnNfdXJpID0geG1sU3RyZHVwKG5zX3VyaSk7CisgICAgKCpsaWJ4bWxfeHBhdGhDYWxsYmFja3MpW2ldLmZ1bmN0aW9uID0gcHlvYmpfZjsKKyAgICAgICAgY19yZXR2YWwgPSAxOworICAgIAorICBkb25lOgorICAgIHB5X3JldHZhbCA9IGxpYnhtbF9pbnRXcmFwKChpbnQpIGNfcmV0dmFsKTsKKyAgICByZXR1cm4gKHB5X3JldHZhbCk7Cit9CisKK1B5T2JqZWN0ICoKK2xpYnhtbF94bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGUoQVRUUklCVVRFX1VOVVNFRCBQeU9iamVjdCAqIHNlbGYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5T2JqZWN0ICogYXJncykKK3sKKyAgICBQeU9iamVjdCAqcHlfcmV0dmFsOworICAgIGludCBjX3JldHZhbCA9IDA7CisgICAgeG1sQ2hhciAqbmFtZTsKKyAgICB4bWxDaGFyICpuc191cmk7CisgICAgeG1sWFBhdGhDb250ZXh0UHRyIGN0eDsKKyAgICB4bWxYUGF0aE9iamVjdFB0ciB2YWw7CisgICAgUHlPYmplY3QgKnB5b2JqX2N0eDsKKyAgICBQeU9iamVjdCAqcHlvYmpfdmFsdWU7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUKKyAgICAgICAgKGFyZ3MsIChjaGFyICopICJPc3pPOnhwYXRoUmVnaXN0ZXJWYXJpYWJsZSIsICZweW9ial9jdHgsICZuYW1lLAorICAgICAgICAgJm5zX3VyaSwgJnB5b2JqX3ZhbHVlKSkKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKworICAgIGN0eCA9ICh4bWxYUGF0aENvbnRleHRQdHIpIFB5eG1sWFBhdGhDb250ZXh0X0dldChweW9ial9jdHgpOworICAgIHZhbCA9IGxpYnhtbF94bWxYUGF0aE9iamVjdFB0ckNvbnZlcnQocHlvYmpfdmFsdWUpOworCisgICAgY19yZXR2YWwgPSB4bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGVOUyhjdHgsIG5hbWUsIG5zX3VyaSwgdmFsKTsKKyAgICBweV9yZXR2YWwgPSBsaWJ4bWxfaW50V3JhcChjX3JldHZhbCk7CisgICAgcmV0dXJuIChweV9yZXR2YWwpOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQkJR2xvYmFsIHByb3BlcnRpZXMgYWNjZXNzCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIFB5T2JqZWN0ICoKK2xpYnhtbF9uYW1lKEFUVFJJQlVURV9VTlVTRUQgUHlPYmplY3QgKiBzZWxmLCBQeU9iamVjdCAqIGFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJlc3VsdG9iaiwgKm9iajsKKyAgICB4bWxOb2RlUHRyIGN1cjsKKyAgICBjb25zdCB4bWxDaGFyICpyZXM7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgKGNoYXIgKikgIk86bmFtZSIsICZvYmopKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBjdXIgPSBQeXhtbE5vZGVfR2V0KG9iaik7CisKKyNpZmRlZiBERUJVRworICAgIHByaW50ZigibGlieG1sX25hbWU6IGN1ciA9ICVwIHR5cGUgJWRcbiIsIGN1ciwgY3VyLT50eXBlKTsKKyNlbmRpZgorCisgICAgc3dpdGNoIChjdXItPnR5cGUpIHsKKyAgICAgICAgY2FzZSBYTUxfRE9DVU1FTlRfTk9ERToKKyNpZmRlZiBMSUJYTUxfRE9DQl9FTkFCTEVECisgICAgICAgIGNhc2UgWE1MX0RPQ0JfRE9DVU1FTlRfTk9ERToKKyNlbmRpZgorICAgICAgICBjYXNlIFhNTF9IVE1MX0RPQ1VNRU5UX05PREU6eworICAgICAgICAgICAgICAgIHhtbERvY1B0ciBkb2MgPSAoeG1sRG9jUHRyKSBjdXI7CisKKyAgICAgICAgICAgICAgICByZXMgPSBkb2MtPlVSTDsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgY2FzZSBYTUxfQVRUUklCVVRFX05PREU6eworICAgICAgICAgICAgICAgIHhtbEF0dHJQdHIgYXR0ciA9ICh4bWxBdHRyUHRyKSBjdXI7CisKKyAgICAgICAgICAgICAgICByZXMgPSBhdHRyLT5uYW1lOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICBjYXNlIFhNTF9OQU1FU1BBQ0VfREVDTDp7CisgICAgICAgICAgICAgICAgeG1sTnNQdHIgbnMgPSAoeG1sTnNQdHIpIGN1cjsKKworICAgICAgICAgICAgICAgIHJlcyA9IG5zLT5wcmVmaXg7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICByZXMgPSBjdXItPm5hbWU7CisgICAgICAgICAgICBicmVhazsKKyAgICB9CisgICAgcmVzdWx0b2JqID0gbGlieG1sX2NvbnN0eG1sQ2hhclB0cldyYXAocmVzKTsKKworICAgIHJldHVybiByZXN1bHRvYmo7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitsaWJ4bWxfZG9jKEFUVFJJQlVURV9VTlVTRUQgUHlPYmplY3QgKiBzZWxmLCBQeU9iamVjdCAqIGFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJlc3VsdG9iaiwgKm9iajsKKyAgICB4bWxOb2RlUHRyIGN1cjsKKyAgICB4bWxEb2NQdHIgcmVzOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsIChjaGFyICopICJPOmRvYyIsICZvYmopKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBjdXIgPSBQeXhtbE5vZGVfR2V0KG9iaik7CisKKyNpZmRlZiBERUJVRworICAgIHByaW50ZigibGlieG1sX2RvYzogY3VyID0gJXBcbiIsIGN1cik7CisjZW5kaWYKKworICAgIHN3aXRjaCAoY3VyLT50eXBlKSB7CisgICAgICAgIGNhc2UgWE1MX0RPQ1VNRU5UX05PREU6CisjaWZkZWYgTElCWE1MX0RPQ0JfRU5BQkxFRAorICAgICAgICBjYXNlIFhNTF9ET0NCX0RPQ1VNRU5UX05PREU6CisjZW5kaWYKKyAgICAgICAgY2FzZSBYTUxfSFRNTF9ET0NVTUVOVF9OT0RFOgorICAgICAgICAgICAgcmVzID0gTlVMTDsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9BVFRSSUJVVEVfTk9ERTp7CisgICAgICAgICAgICAgICAgeG1sQXR0clB0ciBhdHRyID0gKHhtbEF0dHJQdHIpIGN1cjsKKworICAgICAgICAgICAgICAgIHJlcyA9IGF0dHItPmRvYzsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgY2FzZSBYTUxfTkFNRVNQQUNFX0RFQ0w6CisgICAgICAgICAgICByZXMgPSBOVUxMOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICByZXMgPSBjdXItPmRvYzsKKyAgICAgICAgICAgIGJyZWFrOworICAgIH0KKyAgICByZXN1bHRvYmogPSBsaWJ4bWxfeG1sRG9jUHRyV3JhcChyZXMpOworICAgIHJldHVybiByZXN1bHRvYmo7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitsaWJ4bWxfcHJvcGVydGllcyhBVFRSSUJVVEVfVU5VU0VEIFB5T2JqZWN0ICogc2VsZiwgUHlPYmplY3QgKiBhcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXN1bHRvYmosICpvYmo7CisgICAgeG1sTm9kZVB0ciBjdXI7CisgICAgeG1sQXR0clB0ciByZXM7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgKGNoYXIgKikgIk86cHJvcGVydGllcyIsICZvYmopKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBjdXIgPSBQeXhtbE5vZGVfR2V0KG9iaik7CisgICAgaWYgKChjdXIgIT0gTlVMTCkgJiYgKGN1ci0+dHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFKSkKKyAgICAgICAgcmVzID0gY3VyLT5wcm9wZXJ0aWVzOworICAgIGVsc2UKKyAgICAgICAgcmVzID0gTlVMTDsKKyAgICByZXN1bHRvYmogPSBsaWJ4bWxfeG1sQXR0clB0cldyYXAocmVzKTsKKyAgICByZXR1cm4gcmVzdWx0b2JqOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorbGlieG1sX25leHQoQVRUUklCVVRFX1VOVVNFRCBQeU9iamVjdCAqIHNlbGYsIFB5T2JqZWN0ICogYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmVzdWx0b2JqLCAqb2JqOworICAgIHhtbE5vZGVQdHIgY3VyOworICAgIHhtbE5vZGVQdHIgcmVzOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsIChjaGFyICopICJPOm5leHQiLCAmb2JqKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgY3VyID0gUHl4bWxOb2RlX0dldChvYmopOworCisjaWZkZWYgREVCVUcKKyAgICBwcmludGYoImxpYnhtbF9uZXh0OiBjdXIgPSAlcFxuIiwgY3VyKTsKKyNlbmRpZgorCisgICAgc3dpdGNoIChjdXItPnR5cGUpIHsKKyAgICAgICAgY2FzZSBYTUxfRE9DVU1FTlRfTk9ERToKKyNpZmRlZiBMSUJYTUxfRE9DQl9FTkFCTEVECisgICAgICAgIGNhc2UgWE1MX0RPQ0JfRE9DVU1FTlRfTk9ERToKKyNlbmRpZgorICAgICAgICBjYXNlIFhNTF9IVE1MX0RPQ1VNRU5UX05PREU6CisgICAgICAgICAgICByZXMgPSBOVUxMOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0FUVFJJQlVURV9OT0RFOnsKKyAgICAgICAgICAgICAgICB4bWxBdHRyUHRyIGF0dHIgPSAoeG1sQXR0clB0cikgY3VyOworCisgICAgICAgICAgICAgICAgcmVzID0gKHhtbE5vZGVQdHIpIGF0dHItPm5leHQ7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgIGNhc2UgWE1MX05BTUVTUEFDRV9ERUNMOnsKKyAgICAgICAgICAgICAgICB4bWxOc1B0ciBucyA9ICh4bWxOc1B0cikgY3VyOworCisgICAgICAgICAgICAgICAgcmVzID0gKHhtbE5vZGVQdHIpIG5zLT5uZXh0OworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgcmVzID0gY3VyLT5uZXh0OworICAgICAgICAgICAgYnJlYWs7CisKKyAgICB9CisgICAgcmVzdWx0b2JqID0gbGlieG1sX3htbE5vZGVQdHJXcmFwKHJlcyk7CisgICAgcmV0dXJuIHJlc3VsdG9iajsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK2xpYnhtbF9wcmV2KEFUVFJJQlVURV9VTlVTRUQgUHlPYmplY3QgKiBzZWxmLCBQeU9iamVjdCAqIGFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJlc3VsdG9iaiwgKm9iajsKKyAgICB4bWxOb2RlUHRyIGN1cjsKKyAgICB4bWxOb2RlUHRyIHJlczsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAoY2hhciAqKSAiTzpwcmV2IiwgJm9iaikpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIGN1ciA9IFB5eG1sTm9kZV9HZXQob2JqKTsKKworI2lmZGVmIERFQlVHCisgICAgcHJpbnRmKCJsaWJ4bWxfcHJldjogY3VyID0gJXBcbiIsIGN1cik7CisjZW5kaWYKKworICAgIHN3aXRjaCAoY3VyLT50eXBlKSB7CisgICAgICAgIGNhc2UgWE1MX0RPQ1VNRU5UX05PREU6CisjaWZkZWYgTElCWE1MX0RPQ0JfRU5BQkxFRAorICAgICAgICBjYXNlIFhNTF9ET0NCX0RPQ1VNRU5UX05PREU6CisjZW5kaWYKKyAgICAgICAgY2FzZSBYTUxfSFRNTF9ET0NVTUVOVF9OT0RFOgorICAgICAgICAgICAgcmVzID0gTlVMTDsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9BVFRSSUJVVEVfTk9ERTp7CisgICAgICAgICAgICAgICAgeG1sQXR0clB0ciBhdHRyID0gKHhtbEF0dHJQdHIpIGN1cjsKKworICAgICAgICAgICAgICAgIHJlcyA9ICh4bWxOb2RlUHRyKSBhdHRyLT5wcmV2OworICAgICAgICAgICAgfQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX05BTUVTUEFDRV9ERUNMOgorICAgICAgICAgICAgcmVzID0gTlVMTDsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgcmVzID0gY3VyLT5wcmV2OworICAgICAgICAgICAgYnJlYWs7CisgICAgfQorICAgIHJlc3VsdG9iaiA9IGxpYnhtbF94bWxOb2RlUHRyV3JhcChyZXMpOworICAgIHJldHVybiByZXN1bHRvYmo7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitsaWJ4bWxfY2hpbGRyZW4oQVRUUklCVVRFX1VOVVNFRCBQeU9iamVjdCAqIHNlbGYsIFB5T2JqZWN0ICogYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmVzdWx0b2JqLCAqb2JqOworICAgIHhtbE5vZGVQdHIgY3VyOworICAgIHhtbE5vZGVQdHIgcmVzOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsIChjaGFyICopICJPOmNoaWxkcmVuIiwgJm9iaikpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIGN1ciA9IFB5eG1sTm9kZV9HZXQob2JqKTsKKworI2lmZGVmIERFQlVHCisgICAgcHJpbnRmKCJsaWJ4bWxfY2hpbGRyZW46IGN1ciA9ICVwXG4iLCBjdXIpOworI2VuZGlmCisKKyAgICBzd2l0Y2ggKGN1ci0+dHlwZSkgeworICAgICAgICBjYXNlIFhNTF9FTEVNRU5UX05PREU6CisgICAgICAgIGNhc2UgWE1MX0VOVElUWV9SRUZfTk9ERToKKyAgICAgICAgY2FzZSBYTUxfRU5USVRZX05PREU6CisgICAgICAgIGNhc2UgWE1MX1BJX05PREU6CisgICAgICAgIGNhc2UgWE1MX0NPTU1FTlRfTk9ERToKKyAgICAgICAgY2FzZSBYTUxfRE9DVU1FTlRfTk9ERToKKyNpZmRlZiBMSUJYTUxfRE9DQl9FTkFCTEVECisgICAgICAgIGNhc2UgWE1MX0RPQ0JfRE9DVU1FTlRfTk9ERToKKyNlbmRpZgorICAgICAgICBjYXNlIFhNTF9IVE1MX0RPQ1VNRU5UX05PREU6CisgICAgICAgIGNhc2UgWE1MX0RURF9OT0RFOgorICAgICAgICAgICAgcmVzID0gY3VyLT5jaGlsZHJlbjsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9BVFRSSUJVVEVfTk9ERTp7CisgICAgICAgICAgICAgICAgeG1sQXR0clB0ciBhdHRyID0gKHhtbEF0dHJQdHIpIGN1cjsKKworICAgICAgICAgICAgICAgIHJlcyA9IGF0dHItPmNoaWxkcmVuOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgcmVzID0gTlVMTDsKKyAgICAgICAgICAgIGJyZWFrOworICAgIH0KKyAgICByZXN1bHRvYmogPSBsaWJ4bWxfeG1sTm9kZVB0cldyYXAocmVzKTsKKyAgICByZXR1cm4gcmVzdWx0b2JqOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorbGlieG1sX2xhc3QoQVRUUklCVVRFX1VOVVNFRCBQeU9iamVjdCAqIHNlbGYsIFB5T2JqZWN0ICogYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmVzdWx0b2JqLCAqb2JqOworICAgIHhtbE5vZGVQdHIgY3VyOworICAgIHhtbE5vZGVQdHIgcmVzOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsIChjaGFyICopICJPOmxhc3QiLCAmb2JqKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgY3VyID0gUHl4bWxOb2RlX0dldChvYmopOworCisjaWZkZWYgREVCVUcKKyAgICBwcmludGYoImxpYnhtbF9sYXN0OiBjdXIgPSAlcFxuIiwgY3VyKTsKKyNlbmRpZgorCisgICAgc3dpdGNoIChjdXItPnR5cGUpIHsKKyAgICAgICAgY2FzZSBYTUxfRUxFTUVOVF9OT0RFOgorICAgICAgICBjYXNlIFhNTF9FTlRJVFlfUkVGX05PREU6CisgICAgICAgIGNhc2UgWE1MX0VOVElUWV9OT0RFOgorICAgICAgICBjYXNlIFhNTF9QSV9OT0RFOgorICAgICAgICBjYXNlIFhNTF9DT01NRU5UX05PREU6CisgICAgICAgIGNhc2UgWE1MX0RPQ1VNRU5UX05PREU6CisjaWZkZWYgTElCWE1MX0RPQ0JfRU5BQkxFRAorICAgICAgICBjYXNlIFhNTF9ET0NCX0RPQ1VNRU5UX05PREU6CisjZW5kaWYKKyAgICAgICAgY2FzZSBYTUxfSFRNTF9ET0NVTUVOVF9OT0RFOgorICAgICAgICBjYXNlIFhNTF9EVERfTk9ERToKKyAgICAgICAgICAgIHJlcyA9IGN1ci0+bGFzdDsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9BVFRSSUJVVEVfTk9ERTp7CisgICAgICAgICAgICAgICAgeG1sQXR0clB0ciBhdHRyID0gKHhtbEF0dHJQdHIpIGN1cjsKKworICAgICAgICAgICAgICAgIHJlcyA9IGF0dHItPmxhc3Q7CisJCWJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgcmVzID0gTlVMTDsKKyAgICAgICAgICAgIGJyZWFrOworICAgIH0KKyAgICByZXN1bHRvYmogPSBsaWJ4bWxfeG1sTm9kZVB0cldyYXAocmVzKTsKKyAgICByZXR1cm4gcmVzdWx0b2JqOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorbGlieG1sX3BhcmVudChBVFRSSUJVVEVfVU5VU0VEIFB5T2JqZWN0ICogc2VsZiwgUHlPYmplY3QgKiBhcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXN1bHRvYmosICpvYmo7CisgICAgeG1sTm9kZVB0ciBjdXI7CisgICAgeG1sTm9kZVB0ciByZXM7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgKGNoYXIgKikgIk86cGFyZW50IiwgJm9iaikpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIGN1ciA9IFB5eG1sTm9kZV9HZXQob2JqKTsKKworI2lmZGVmIERFQlVHCisgICAgcHJpbnRmKCJsaWJ4bWxfcGFyZW50OiBjdXIgPSAlcFxuIiwgY3VyKTsKKyNlbmRpZgorCisgICAgc3dpdGNoIChjdXItPnR5cGUpIHsKKyAgICAgICAgY2FzZSBYTUxfRE9DVU1FTlRfTk9ERToKKyAgICAgICAgY2FzZSBYTUxfSFRNTF9ET0NVTUVOVF9OT0RFOgorI2lmZGVmIExJQlhNTF9ET0NCX0VOQUJMRUQKKyAgICAgICAgY2FzZSBYTUxfRE9DQl9ET0NVTUVOVF9OT0RFOgorI2VuZGlmCisgICAgICAgICAgICByZXMgPSBOVUxMOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0FUVFJJQlVURV9OT0RFOnsKKyAgICAgICAgICAgICAgICB4bWxBdHRyUHRyIGF0dHIgPSAoeG1sQXR0clB0cikgY3VyOworCisgICAgICAgICAgICAgICAgcmVzID0gYXR0ci0+cGFyZW50OworICAgICAgICAgICAgfQorCSAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfRU5USVRZX0RFQ0w6CisgICAgICAgIGNhc2UgWE1MX05BTUVTUEFDRV9ERUNMOgorICAgICAgICBjYXNlIFhNTF9YSU5DTFVERV9TVEFSVDoKKyAgICAgICAgY2FzZSBYTUxfWElOQ0xVREVfRU5EOgorICAgICAgICAgICAgcmVzID0gTlVMTDsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgcmVzID0gY3VyLT5wYXJlbnQ7CisgICAgICAgICAgICBicmVhazsKKyAgICB9CisgICAgcmVzdWx0b2JqID0gbGlieG1sX3htbE5vZGVQdHJXcmFwKHJlcyk7CisgICAgcmV0dXJuIHJlc3VsdG9iajsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK2xpYnhtbF90eXBlKEFUVFJJQlVURV9VTlVTRUQgUHlPYmplY3QgKiBzZWxmLCBQeU9iamVjdCAqIGFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJlc3VsdG9iaiwgKm9iajsKKyAgICB4bWxOb2RlUHRyIGN1cjsKKyAgICBjb25zdCB4bWxDaGFyICpyZXMgPSBOVUxMOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsIChjaGFyICopICJPOmxhc3QiLCAmb2JqKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgY3VyID0gUHl4bWxOb2RlX0dldChvYmopOworICAgIGlmIChjdXIgPT0gTlVMTCkgeworICAgICAgICBQeV9JTkNSRUYoUHlfTm9uZSk7CisJcmV0dXJuIChQeV9Ob25lKTsKKyAgICB9CisKKyNpZmRlZiBERUJVRworICAgIHByaW50ZigibGlieG1sX3R5cGU6IGN1ciA9ICVwXG4iLCBjdXIpOworI2VuZGlmCisKKyAgICBzd2l0Y2ggKGN1ci0+dHlwZSkgeworICAgICAgICBjYXNlIFhNTF9FTEVNRU5UX05PREU6CisgICAgICAgICAgICByZXMgPSAoY29uc3QgeG1sQ2hhciAqKSAiZWxlbWVudCI7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfQVRUUklCVVRFX05PREU6CisgICAgICAgICAgICByZXMgPSAoY29uc3QgeG1sQ2hhciAqKSAiYXR0cmlidXRlIjsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9URVhUX05PREU6CisgICAgICAgICAgICByZXMgPSAoY29uc3QgeG1sQ2hhciAqKSAidGV4dCI7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfQ0RBVEFfU0VDVElPTl9OT0RFOgorICAgICAgICAgICAgcmVzID0gKGNvbnN0IHhtbENoYXIgKikgImNkYXRhIjsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9FTlRJVFlfUkVGX05PREU6CisgICAgICAgICAgICByZXMgPSAoY29uc3QgeG1sQ2hhciAqKSAiZW50aXR5X3JlZiI7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfRU5USVRZX05PREU6CisgICAgICAgICAgICByZXMgPSAoY29uc3QgeG1sQ2hhciAqKSAiZW50aXR5IjsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9QSV9OT0RFOgorICAgICAgICAgICAgcmVzID0gKGNvbnN0IHhtbENoYXIgKikgInBpIjsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9DT01NRU5UX05PREU6CisgICAgICAgICAgICByZXMgPSAoY29uc3QgeG1sQ2hhciAqKSAiY29tbWVudCI7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfRE9DVU1FTlRfTk9ERToKKyAgICAgICAgICAgIHJlcyA9IChjb25zdCB4bWxDaGFyICopICJkb2N1bWVudF94bWwiOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0RPQ1VNRU5UX1RZUEVfTk9ERToKKyAgICAgICAgICAgIHJlcyA9IChjb25zdCB4bWxDaGFyICopICJkb2N0eXBlIjsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9ET0NVTUVOVF9GUkFHX05PREU6CisgICAgICAgICAgICByZXMgPSAoY29uc3QgeG1sQ2hhciAqKSAiZnJhZ21lbnQiOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX05PVEFUSU9OX05PREU6CisgICAgICAgICAgICByZXMgPSAoY29uc3QgeG1sQ2hhciAqKSAibm90YXRpb24iOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0hUTUxfRE9DVU1FTlRfTk9ERToKKyAgICAgICAgICAgIHJlcyA9IChjb25zdCB4bWxDaGFyICopICJkb2N1bWVudF9odG1sIjsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9EVERfTk9ERToKKyAgICAgICAgICAgIHJlcyA9IChjb25zdCB4bWxDaGFyICopICJkdGQiOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0VMRU1FTlRfREVDTDoKKyAgICAgICAgICAgIHJlcyA9IChjb25zdCB4bWxDaGFyICopICJlbGVtX2RlY2wiOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0FUVFJJQlVURV9ERUNMOgorICAgICAgICAgICAgcmVzID0gKGNvbnN0IHhtbENoYXIgKikgImF0dHJpYnV0ZV9kZWNsIjsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9FTlRJVFlfREVDTDoKKyAgICAgICAgICAgIHJlcyA9IChjb25zdCB4bWxDaGFyICopICJlbnRpdHlfZGVjbCI7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfTkFNRVNQQUNFX0RFQ0w6CisgICAgICAgICAgICByZXMgPSAoY29uc3QgeG1sQ2hhciAqKSAibmFtZXNwYWNlIjsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9YSU5DTFVERV9TVEFSVDoKKyAgICAgICAgICAgIHJlcyA9IChjb25zdCB4bWxDaGFyICopICJ4aW5jbHVkZV9zdGFydCI7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfWElOQ0xVREVfRU5EOgorICAgICAgICAgICAgcmVzID0gKGNvbnN0IHhtbENoYXIgKikgInhpbmNsdWRlX2VuZCI7CisgICAgICAgICAgICBicmVhazsKKyNpZmRlZiBMSUJYTUxfRE9DQl9FTkFCTEVECisgICAgICAgIGNhc2UgWE1MX0RPQ0JfRE9DVU1FTlRfTk9ERToKKyAgICAgICAgICAgIHJlcyA9IChjb25zdCB4bWxDaGFyICopICJkb2N1bWVudF9kb2Nib29rIjsKKyAgICAgICAgICAgIGJyZWFrOworI2VuZGlmCisgICAgfQorI2lmZGVmIERFQlVHCisgICAgcHJpbnRmKCJsaWJ4bWxfdHlwZTogY3VyID0gJXA6ICVzXG4iLCBjdXIsIHJlcyk7CisjZW5kaWYKKworICAgIHJlc3VsdG9iaiA9IGxpYnhtbF9jb25zdHhtbENoYXJQdHJXcmFwKHJlcyk7CisgICAgcmV0dXJuIHJlc3VsdG9iajsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJCVNwZWNpZmljIGFjY2Vzc29yIGZ1bmN0aW9ucwkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK1B5T2JqZWN0ICoKK2xpYnhtbF94bWxOb2RlR2V0TnNEZWZzKEFUVFJJQlVURV9VTlVTRUQgUHlPYmplY3QgKiBzZWxmLCBQeU9iamVjdCAqIGFyZ3MpCit7CisgICAgUHlPYmplY3QgKnB5X3JldHZhbDsKKyAgICB4bWxOc1B0ciBjX3JldHZhbDsKKyAgICB4bWxOb2RlUHRyIG5vZGU7CisgICAgUHlPYmplY3QgKnB5b2JqX25vZGU7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUKKyAgICAgICAgKGFyZ3MsIChjaGFyICopICJPOnhtbE5vZGVHZXROc0RlZnMiLCAmcHlvYmpfbm9kZSkpCisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgbm9kZSA9ICh4bWxOb2RlUHRyKSBQeXhtbE5vZGVfR2V0KHB5b2JqX25vZGUpOworCisgICAgaWYgKChub2RlID09IE5VTEwpIHx8IChub2RlLT50eXBlICE9IFhNTF9FTEVNRU5UX05PREUpKSB7CisgICAgICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKKyAgICAgICAgcmV0dXJuIChQeV9Ob25lKTsKKyAgICB9CisgICAgY19yZXR2YWwgPSBub2RlLT5uc0RlZjsKKyAgICBweV9yZXR2YWwgPSBsaWJ4bWxfeG1sTnNQdHJXcmFwKCh4bWxOc1B0cikgY19yZXR2YWwpOworICAgIHJldHVybiAocHlfcmV0dmFsKTsKK30KKworUHlPYmplY3QgKgorbGlieG1sX3htbE5vZGVSZW1vdmVOc0RlZihBVFRSSUJVVEVfVU5VU0VEIFB5T2JqZWN0ICogc2VsZiwgUHlPYmplY3QgKiBhcmdzKQoreworICAgIFB5T2JqZWN0ICpweV9yZXR2YWw7CisgICAgeG1sTnNQdHIgbnMsIHByZXY7CisgICAgeG1sTm9kZVB0ciBub2RlOworICAgIFB5T2JqZWN0ICpweW9ial9ub2RlOworICAgIHhtbENoYXIgKmhyZWY7CisgICAgeG1sTnNQdHIgY19yZXR2YWw7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUKKyAgICAgICAgKGFyZ3MsIChjaGFyICopICJPejp4bWxOb2RlUmVtb3ZlTnNEZWYiLCAmcHlvYmpfbm9kZSwgJmhyZWYpKQorICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIG5vZGUgPSAoeG1sTm9kZVB0cikgUHl4bWxOb2RlX0dldChweW9ial9ub2RlKTsKKyAgICBucyA9IE5VTEw7CisKKyAgICBpZiAoKG5vZGUgPT0gTlVMTCkgfHwgKG5vZGUtPnR5cGUgIT0gWE1MX0VMRU1FTlRfTk9ERSkpIHsKKyAgICAgICAgUHlfSU5DUkVGKFB5X05vbmUpOworICAgICAgICByZXR1cm4gKFB5X05vbmUpOworICAgIH0KKworICAgIGlmIChocmVmID09IE5VTEwpIHsKKwlucyA9IG5vZGUtPm5zRGVmOworCW5vZGUtPm5zRGVmID0gTlVMTDsKKwljX3JldHZhbCA9IDA7CisgICAgfQorICAgIGVsc2UgeworCXByZXYgPSBOVUxMOworCW5zID0gbm9kZS0+bnNEZWY7CisJd2hpbGUgKG5zICE9IE5VTEwpIHsKKwkgICAgaWYgKHhtbFN0ckVxdWFsKG5zLT5ocmVmLCBocmVmKSkgeworCQlpZiAocHJldiAhPSBOVUxMKQorCQkgICAgcHJldi0+bmV4dCA9IG5zLT5uZXh0OworCQllbHNlCisJCSAgICBub2RlLT5uc0RlZiA9IG5zLT5uZXh0OworCQlucy0+bmV4dCA9IE5VTEw7CisJCWNfcmV0dmFsID0gMDsKKwkJYnJlYWs7CisJICAgIH0KKwkgICAgcHJldiA9IG5zOworCSAgICBucyA9IG5zLT5uZXh0OworCX0KKyAgICB9CisKKyAgICBjX3JldHZhbCA9IG5zOworICAgIHB5X3JldHZhbCA9IGxpYnhtbF94bWxOc1B0cldyYXAoKHhtbE5zUHRyKSBjX3JldHZhbCk7CisgICAgcmV0dXJuIChweV9yZXR2YWwpOworfQorCitQeU9iamVjdCAqCitsaWJ4bWxfeG1sTm9kZUdldE5zKEFUVFJJQlVURV9VTlVTRUQgUHlPYmplY3QgKiBzZWxmLCBQeU9iamVjdCAqIGFyZ3MpCit7CisgICAgUHlPYmplY3QgKnB5X3JldHZhbDsKKyAgICB4bWxOc1B0ciBjX3JldHZhbDsKKyAgICB4bWxOb2RlUHRyIG5vZGU7CisgICAgUHlPYmplY3QgKnB5b2JqX25vZGU7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgKGNoYXIgKikgIk86eG1sTm9kZUdldE5zIiwgJnB5b2JqX25vZGUpKQorICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIG5vZGUgPSAoeG1sTm9kZVB0cikgUHl4bWxOb2RlX0dldChweW9ial9ub2RlKTsKKworICAgIGlmICgobm9kZSA9PSBOVUxMKSB8fAorICAgICAgICAoKG5vZGUtPnR5cGUgIT0gWE1MX0VMRU1FTlRfTk9ERSkgJiYKKwkgKG5vZGUtPnR5cGUgIT0gWE1MX0FUVFJJQlVURV9OT0RFKSkpIHsKKyAgICAgICAgUHlfSU5DUkVGKFB5X05vbmUpOworICAgICAgICByZXR1cm4gKFB5X05vbmUpOworICAgIH0KKyAgICBjX3JldHZhbCA9IG5vZGUtPm5zOworICAgIHB5X3JldHZhbCA9IGxpYnhtbF94bWxOc1B0cldyYXAoKHhtbE5zUHRyKSBjX3JldHZhbCk7CisgICAgcmV0dXJuIChweV9yZXR2YWwpOworfQorCisjaWZkZWYgTElCWE1MX09VVFBVVF9FTkFCTEVECisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQkJU2VyaWFsaXphdGlvbiBmcm9udC1lbmQJCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitzdGF0aWMgUHlPYmplY3QgKgorbGlieG1sX3NlcmlhbGl6ZU5vZGUoQVRUUklCVVRFX1VOVVNFRCBQeU9iamVjdCAqIHNlbGYsIFB5T2JqZWN0ICogYXJncykKK3sKKyAgICBQeU9iamVjdCAqcHlfcmV0dmFsID0gTlVMTDsKKyAgICB4bWxDaGFyICpjX3JldHZhbDsKKyAgICBQeU9iamVjdCAqcHlvYmpfbm9kZTsKKyAgICB4bWxOb2RlUHRyIG5vZGU7CisgICAgeG1sRG9jUHRyIGRvYzsKKyAgICBjb25zdCBjaGFyICplbmNvZGluZzsKKyAgICBpbnQgZm9ybWF0OworICAgIHhtbFNhdmVDdHh0UHRyIGN0eHQ7CisgICAgeG1sQnVmZmVyUHRyIGJ1ZjsKKyAgICBpbnQgb3B0aW9ucyA9IDA7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgKGNoYXIgKikgIk96aTpzZXJpYWxpemVOb2RlIiwgJnB5b2JqX25vZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICZlbmNvZGluZywgJmZvcm1hdCkpCisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgbm9kZSA9ICh4bWxOb2RlUHRyKSBQeXhtbE5vZGVfR2V0KHB5b2JqX25vZGUpOworCisgICAgaWYgKG5vZGUgPT0gTlVMTCkgeworICAgICAgICBQeV9JTkNSRUYoUHlfTm9uZSk7CisgICAgICAgIHJldHVybiAoUHlfTm9uZSk7CisgICAgfQorICAgIGlmIChub2RlLT50eXBlID09IFhNTF9ET0NVTUVOVF9OT0RFKSB7CisgICAgICAgIGRvYyA9ICh4bWxEb2NQdHIpIG5vZGU7CisJbm9kZSA9IE5VTEw7CisjaWZkZWYgTElCWE1MX0hUTUxfRU5BQkxFRAorICAgIH0gZWxzZSBpZiAobm9kZS0+dHlwZSA9PSBYTUxfSFRNTF9ET0NVTUVOVF9OT0RFKSB7CisgICAgICAgIGRvYyA9ICh4bWxEb2NQdHIpIG5vZGU7CisJbm9kZSA9IE5VTEw7CisjZW5kaWYKKyAgICB9IGVsc2UgeworICAgICAgICBpZiAobm9kZS0+dHlwZSA9PSBYTUxfTkFNRVNQQUNFX0RFQ0wpCisJICAgIGRvYyA9IE5VTEw7CisJZWxzZQorICAgICAgICAgICAgZG9jID0gbm9kZS0+ZG9jOworICAgICAgICBpZiAoKGRvYyA9PSBOVUxMKSB8fCAoZG9jLT50eXBlID09IFhNTF9ET0NVTUVOVF9OT0RFKSkgeworI2lmZGVmIExJQlhNTF9IVE1MX0VOQUJMRUQKKyAgICAgICAgfSBlbHNlIGlmIChkb2MtPnR5cGUgPT0gWE1MX0hUTUxfRE9DVU1FTlRfTk9ERSkgeworI2VuZGlmIC8qIExJQlhNTF9IVE1MX0VOQUJMRUQgKi8KKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKKyAgICAgICAgICAgIHJldHVybiAoUHlfTm9uZSk7CisgICAgICAgIH0KKyAgICB9CisKKworICAgIGJ1ZiA9IHhtbEJ1ZmZlckNyZWF0ZSgpOworICAgIGlmIChidWYgPT0gTlVMTCkgeworCVB5X0lOQ1JFRihQeV9Ob25lKTsKKwlyZXR1cm4gKFB5X05vbmUpOworICAgIH0KKyAgICBpZiAoZm9ybWF0KSBvcHRpb25zIHw9IFhNTF9TQVZFX0ZPUk1BVDsKKyAgICBjdHh0ID0geG1sU2F2ZVRvQnVmZmVyKGJ1ZiwgZW5jb2RpbmcsIG9wdGlvbnMpOworICAgIGlmIChjdHh0ID09IE5VTEwpIHsKKwl4bWxCdWZmZXJGcmVlKGJ1Zik7CisJUHlfSU5DUkVGKFB5X05vbmUpOworCXJldHVybiAoUHlfTm9uZSk7CisgICAgfQorICAgIGlmIChub2RlID09IE5VTEwpCisJeG1sU2F2ZURvYyhjdHh0LCBkb2MpOworICAgIGVsc2UKKwl4bWxTYXZlVHJlZShjdHh0LCBub2RlKTsKKyAgICB4bWxTYXZlQ2xvc2UoY3R4dCk7CisKKyAgICBjX3JldHZhbCA9IGJ1Zi0+Y29udGVudDsKKyAgICBidWYtPmNvbnRlbnQgPSBOVUxMOworCisgICAgeG1sQnVmZmVyRnJlZShidWYpOworICAgIHB5X3JldHZhbCA9IGxpYnhtbF9jaGFyUHRyV3JhcCgoY2hhciAqKSBjX3JldHZhbCk7CisKKyAgICByZXR1cm4gKHB5X3JldHZhbCk7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitsaWJ4bWxfc2F2ZU5vZGVUbyhBVFRSSUJVVEVfVU5VU0VEIFB5T2JqZWN0ICogc2VsZiwgUHlPYmplY3QgKiBhcmdzKQoreworICAgIFB5T2JqZWN0ICpweV9maWxlID0gTlVMTDsKKyAgICBGSUxFICpvdXRwdXQ7CisgICAgUHlPYmplY3QgKnB5b2JqX25vZGU7CisgICAgeG1sTm9kZVB0ciBub2RlOworICAgIHhtbERvY1B0ciBkb2M7CisgICAgY29uc3QgY2hhciAqZW5jb2Rpbmc7CisgICAgaW50IGZvcm1hdDsKKyAgICBpbnQgbGVuOworICAgIHhtbE91dHB1dEJ1ZmZlclB0ciBidWY7CisgICAgeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0ciBoYW5kbGVyID0gTlVMTDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAoY2hhciAqKSAiT096aTpzZXJpYWxpemVOb2RlIiwgJnB5b2JqX25vZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICZweV9maWxlLCAmZW5jb2RpbmcsICZmb3JtYXQpKQorICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIG5vZGUgPSAoeG1sTm9kZVB0cikgUHl4bWxOb2RlX0dldChweW9ial9ub2RlKTsKKyAgICBpZiAobm9kZSA9PSBOVUxMKSB7CisgICAgICAgIHJldHVybiAoUHlMb25nX0Zyb21Mb25nKChsb25nKSAtMSkpOworICAgIH0KKyAgICBvdXRwdXQgPSBQeUZpbGVfR2V0KHB5X2ZpbGUpOworICAgIGlmIChvdXRwdXQgPT0gTlVMTCkgeworICAgICAgICByZXR1cm4gKFB5TG9uZ19Gcm9tTG9uZygobG9uZykgLTEpKTsKKyAgICB9CisKKyAgICBpZiAobm9kZS0+dHlwZSA9PSBYTUxfRE9DVU1FTlRfTk9ERSkgeworICAgICAgICBkb2MgPSAoeG1sRG9jUHRyKSBub2RlOworICAgIH0gZWxzZSBpZiAobm9kZS0+dHlwZSA9PSBYTUxfSFRNTF9ET0NVTUVOVF9OT0RFKSB7CisgICAgICAgIGRvYyA9ICh4bWxEb2NQdHIpIG5vZGU7CisgICAgfSBlbHNlIHsKKyAgICAgICAgZG9jID0gbm9kZS0+ZG9jOworICAgIH0KKyNpZmRlZiBMSUJYTUxfSFRNTF9FTkFCTEVECisgICAgaWYgKGRvYy0+dHlwZSA9PSBYTUxfSFRNTF9ET0NVTUVOVF9OT0RFKSB7CisgICAgICAgIGlmIChlbmNvZGluZyA9PSBOVUxMKQorICAgICAgICAgICAgZW5jb2RpbmcgPSAoY29uc3QgY2hhciAqKSBodG1sR2V0TWV0YUVuY29kaW5nKGRvYyk7CisgICAgfQorI2VuZGlmIC8qIExJQlhNTF9IVE1MX0VOQUJMRUQgKi8KKyAgICBpZiAoZW5jb2RpbmcgIT0gTlVMTCkgeworICAgICAgICBoYW5kbGVyID0geG1sRmluZENoYXJFbmNvZGluZ0hhbmRsZXIoZW5jb2RpbmcpOworICAgICAgICBpZiAoaGFuZGxlciA9PSBOVUxMKSB7CisgICAgICAgICAgICByZXR1cm4gKFB5TG9uZ19Gcm9tTG9uZygobG9uZykgLTEpKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBpZiAoZG9jLT50eXBlID09IFhNTF9IVE1MX0RPQ1VNRU5UX05PREUpIHsKKyAgICAgICAgaWYgKGhhbmRsZXIgPT0gTlVMTCkKKyAgICAgICAgICAgIGhhbmRsZXIgPSB4bWxGaW5kQ2hhckVuY29kaW5nSGFuZGxlcigiSFRNTCIpOworICAgICAgICBpZiAoaGFuZGxlciA9PSBOVUxMKQorICAgICAgICAgICAgaGFuZGxlciA9IHhtbEZpbmRDaGFyRW5jb2RpbmdIYW5kbGVyKCJhc2NpaSIpOworICAgIH0KKworICAgIGJ1ZiA9IHhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGUob3V0cHV0LCBoYW5kbGVyKTsKKyAgICBpZiAobm9kZS0+dHlwZSA9PSBYTUxfRE9DVU1FTlRfTk9ERSkgeworICAgICAgICBsZW4gPSB4bWxTYXZlRm9ybWF0RmlsZVRvKGJ1ZiwgZG9jLCBlbmNvZGluZywgZm9ybWF0KTsKKyNpZmRlZiBMSUJYTUxfSFRNTF9FTkFCTEVECisgICAgfSBlbHNlIGlmIChub2RlLT50eXBlID09IFhNTF9IVE1MX0RPQ1VNRU5UX05PREUpIHsKKyAgICAgICAgaHRtbERvY0NvbnRlbnREdW1wRm9ybWF0T3V0cHV0KGJ1ZiwgZG9jLCBlbmNvZGluZywgZm9ybWF0KTsKKyAgICAgICAgbGVuID0geG1sT3V0cHV0QnVmZmVyQ2xvc2UoYnVmKTsKKyAgICB9IGVsc2UgaWYgKGRvYy0+dHlwZSA9PSBYTUxfSFRNTF9ET0NVTUVOVF9OT0RFKSB7CisgICAgICAgIGh0bWxOb2RlRHVtcEZvcm1hdE91dHB1dChidWYsIGRvYywgbm9kZSwgZW5jb2RpbmcsIGZvcm1hdCk7CisgICAgICAgIGxlbiA9IHhtbE91dHB1dEJ1ZmZlckNsb3NlKGJ1Zik7CisjZW5kaWYgLyogTElCWE1MX0hUTUxfRU5BQkxFRCAqLworICAgIH0gZWxzZSB7CisgICAgICAgIHhtbE5vZGVEdW1wT3V0cHV0KGJ1ZiwgZG9jLCBub2RlLCAwLCBmb3JtYXQsIGVuY29kaW5nKTsKKyAgICAgICAgbGVuID0geG1sT3V0cHV0QnVmZmVyQ2xvc2UoYnVmKTsKKyAgICB9CisgICAgUHlGaWxlX1JlbGVhc2Uob3V0cHV0KTsKKyAgICByZXR1cm4gKFB5TG9uZ19Gcm9tTG9uZygobG9uZykgbGVuKSk7Cit9CisjZW5kaWYgLyogTElCWE1MX09VVFBVVF9FTkFCTEVEICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCQlFeHRyYSBzdHVmZgkJCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworUHlPYmplY3QgKgorbGlieG1sX3htbE5ld05vZGUoQVRUUklCVVRFX1VOVVNFRCBQeU9iamVjdCAqIHNlbGYsIFB5T2JqZWN0ICogYXJncykKK3sKKyAgICBQeU9iamVjdCAqcHlfcmV0dmFsOworICAgIHhtbENoYXIgKm5hbWU7CisgICAgeG1sTm9kZVB0ciBub2RlOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsIChjaGFyICopICJzOnhtbE5ld05vZGUiLCAmbmFtZSkpCisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgbm9kZSA9ICh4bWxOb2RlUHRyKSB4bWxOZXdOb2RlKE5VTEwsIG5hbWUpOworI2lmZGVmIERFQlVHCisgICAgcHJpbnRmKCJOZXdOb2RlOiAlcyA6ICVwXG4iLCBuYW1lLCAodm9pZCAqKSBub2RlKTsKKyNlbmRpZgorCisgICAgaWYgKG5vZGUgPT0gTlVMTCkgeworICAgICAgICBQeV9JTkNSRUYoUHlfTm9uZSk7CisgICAgICAgIHJldHVybiAoUHlfTm9uZSk7CisgICAgfQorICAgIHB5X3JldHZhbCA9IGxpYnhtbF94bWxOb2RlUHRyV3JhcChub2RlKTsKKyAgICByZXR1cm4gKHB5X3JldHZhbCk7Cit9CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJCUxvY2FsIENhdGFsb2cgc3R1ZmYJCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIFB5T2JqZWN0ICoKK2xpYnhtbF9hZGRMb2NhbENhdGFsb2coQVRUUklCVVRFX1VOVVNFRCBQeU9iamVjdCAqIHNlbGYsIFB5T2JqZWN0ICogYXJncykKK3sKKyAgICB4bWxDaGFyICpVUkw7CisgICAgeG1sUGFyc2VyQ3R4dFB0ciBjdHh0OworICAgIFB5T2JqZWN0ICpweW9ial9jdHh0OworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsIChjaGFyICopIk9zOmFkZExvY2FsQ2F0YWxvZyIsICZweW9ial9jdHh0LCAmVVJMKSkKKyAgICAgICAgcmV0dXJuKE5VTEwpOworCisgICAgY3R4dCA9ICh4bWxQYXJzZXJDdHh0UHRyKSBQeXBhcnNlckN0eHRfR2V0KHB5b2JqX2N0eHQpOworCisgICAgaWYgKFVSTCAhPSBOVUxMKSB7CisJY3R4dC0+Y2F0YWxvZ3MgPSB4bWxDYXRhbG9nQWRkTG9jYWwoY3R4dC0+Y2F0YWxvZ3MsIFVSTCk7CisgICAgfQorCisjaWZkZWYgREVCVUcKKyAgICBwcmludGYoIkxvY2FsQ2F0YWxvZzogJXNcbiIsIFVSTCk7CisjZW5kaWYKKworICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKKyAgICByZXR1cm4gKFB5X05vbmUpOworfQorCisjaWZkZWYgTElCWE1MX1NDSEVNQVNfRU5BQkxFRAorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCisgKiBSZWxheE5HIGVycm9yIGhhbmRsZXIgcmVnaXN0cmF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCit0eXBlZGVmIHN0cnVjdCAKK3sKKyAgICBQeU9iamVjdCAqd2FybjsKKyAgICBQeU9iamVjdCAqZXJyb3I7CisgICAgUHlPYmplY3QgKmFyZzsKK30geG1sUmVsYXhOR1ZhbGlkQ3R4dFB5Q3R4dDsKK3R5cGVkZWYgeG1sUmVsYXhOR1ZhbGlkQ3R4dFB5Q3R4dCAqeG1sUmVsYXhOR1ZhbGlkQ3R4dFB5Q3R4dFB0cjsKKworc3RhdGljIHZvaWQKK2xpYnhtbF94bWxSZWxheE5HVmFsaWRpdHlHZW5lcmljRXJyb3JGdW5jSGFuZGxlcih2b2lkICpjdHgsIGNoYXIgKnN0cikgCit7CisgICAgUHlPYmplY3QgKmxpc3Q7CisgICAgUHlPYmplY3QgKnJlc3VsdDsKKyAgICB4bWxSZWxheE5HVmFsaWRDdHh0UHlDdHh0UHRyIHB5Q3R4dDsKKyAgICAKKyNpZmRlZiBERUJVR19FUlJPUgorICAgIHByaW50ZigibGlieG1sX3htbFJlbGF4TkdWYWxpZGl0eUdlbmVyaWNFcnJvckZ1bmNIYW5kbGVyKCVwLCAlcywgLi4uKSBjYWxsZWRcbiIsIGN0eCwgc3RyKTsKKyNlbmRpZgorCisgICAgcHlDdHh0ID0gKHhtbFJlbGF4TkdWYWxpZEN0eHRQeUN0eHRQdHIpY3R4OworCisgICAgbGlzdCA9IFB5VHVwbGVfTmV3KDIpOworICAgIFB5VHVwbGVfU2V0SXRlbShsaXN0LCAwLCBsaWJ4bWxfY2hhclB0cldyYXAoc3RyKSk7CisgICAgUHlUdXBsZV9TZXRJdGVtKGxpc3QsIDEsIHB5Q3R4dC0+YXJnKTsKKyAgICBQeV9YSU5DUkVGKHB5Q3R4dC0+YXJnKTsKKyAgICByZXN1bHQgPSBQeUV2YWxfQ2FsbE9iamVjdChweUN0eHQtPmVycm9yLCBsaXN0KTsKKyAgICBpZiAocmVzdWx0ID09IE5VTEwpIAorICAgIHsKKyAgICAgICAgLyogVE9ETzogbWFuYWdlIGZvciB0aGUgZXhjZXB0aW9uIHRvIGJlIHByb3BhZ2F0ZWQuLi4gKi8KKyAgICAgICAgUHlFcnJfUHJpbnQoKTsKKyAgICB9CisgICAgUHlfWERFQ1JFRihsaXN0KTsKKyAgICBQeV9YREVDUkVGKHJlc3VsdCk7Cit9CisKK3N0YXRpYyB2b2lkCitsaWJ4bWxfeG1sUmVsYXhOR1ZhbGlkaXR5R2VuZXJpY1dhcm5pbmdGdW5jSGFuZGxlcih2b2lkICpjdHgsIGNoYXIgKnN0cikgCit7CisgICAgUHlPYmplY3QgKmxpc3Q7CisgICAgUHlPYmplY3QgKnJlc3VsdDsKKyAgICB4bWxSZWxheE5HVmFsaWRDdHh0UHlDdHh0UHRyIHB5Q3R4dDsKKyAgICAKKyNpZmRlZiBERUJVR19FUlJPUgorICAgIHByaW50ZigibGlieG1sX3htbFJlbGF4TkdWYWxpZGl0eUdlbmVyaWNXYXJuaW5nRnVuY0hhbmRsZXIoJXAsICVzLCAuLi4pIGNhbGxlZFxuIiwgY3R4LCBzdHIpOworI2VuZGlmCisKKyAgICBweUN0eHQgPSAoeG1sUmVsYXhOR1ZhbGlkQ3R4dFB5Q3R4dFB0ciljdHg7CisKKyAgICBsaXN0ID0gUHlUdXBsZV9OZXcoMik7CisgICAgUHlUdXBsZV9TZXRJdGVtKGxpc3QsIDAsIGxpYnhtbF9jaGFyUHRyV3JhcChzdHIpKTsKKyAgICBQeVR1cGxlX1NldEl0ZW0obGlzdCwgMSwgcHlDdHh0LT5hcmcpOworICAgIFB5X1hJTkNSRUYocHlDdHh0LT5hcmcpOworICAgIHJlc3VsdCA9IFB5RXZhbF9DYWxsT2JqZWN0KHB5Q3R4dC0+d2FybiwgbGlzdCk7CisgICAgaWYgKHJlc3VsdCA9PSBOVUxMKSAKKyAgICB7CisgICAgICAgIC8qIFRPRE86IG1hbmFnZSBmb3IgdGhlIGV4Y2VwdGlvbiB0byBiZSBwcm9wYWdhdGVkLi4uICovCisgICAgICAgIFB5RXJyX1ByaW50KCk7CisgICAgfQorICAgIFB5X1hERUNSRUYobGlzdCk7CisgICAgUHlfWERFQ1JFRihyZXN1bHQpOworfQorCitzdGF0aWMgdm9pZAorbGlieG1sX3htbFJlbGF4TkdWYWxpZGl0eUVycm9yRnVuYyh2b2lkICpjdHgsIGNvbnN0IGNoYXIgKm1zZywgLi4uKQoreworICAgIHZhX2xpc3QgYXA7CisKKyAgICB2YV9zdGFydChhcCwgbXNnKTsKKyAgICBsaWJ4bWxfeG1sUmVsYXhOR1ZhbGlkaXR5R2VuZXJpY0Vycm9yRnVuY0hhbmRsZXIoY3R4LCBsaWJ4bWxfYnVpbGRNZXNzYWdlKG1zZywgYXApKTsKKyAgICB2YV9lbmQoYXApOworfQorCitzdGF0aWMgdm9pZAorbGlieG1sX3htbFJlbGF4TkdWYWxpZGl0eVdhcm5pbmdGdW5jKHZvaWQgKmN0eCwgY29uc3QgY2hhciAqbXNnLCAuLi4pCit7CisgICAgdmFfbGlzdCBhcDsKKworICAgIHZhX3N0YXJ0KGFwLCBtc2cpOworICAgIGxpYnhtbF94bWxSZWxheE5HVmFsaWRpdHlHZW5lcmljV2FybmluZ0Z1bmNIYW5kbGVyKGN0eCwgbGlieG1sX2J1aWxkTWVzc2FnZShtc2csIGFwKSk7CisgICAgdmFfZW5kKGFwKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK2xpYnhtbF94bWxSZWxheE5HU2V0VmFsaWRFcnJvcnMoQVRUUklCVVRFX1VOVVNFRCBQeU9iamVjdCAqIHNlbGYsIFB5T2JqZWN0ICogYXJncykKK3sKKyAgICBQeU9iamVjdCAqcHlfcmV0dmFsOworICAgIFB5T2JqZWN0ICpweW9ial9lcnJvcjsKKyAgICBQeU9iamVjdCAqcHlvYmpfd2FybjsKKyAgICBQeU9iamVjdCAqcHlvYmpfY3R4OworICAgIFB5T2JqZWN0ICpweW9ial9hcmcgPSBQeV9Ob25lOworICAgIHhtbFJlbGF4TkdWYWxpZEN0eHRQdHIgY3R4dDsKKyAgICB4bWxSZWxheE5HVmFsaWRDdHh0UHlDdHh0UHRyIHB5Q3R4dDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZQorICAgICAgICAoYXJncywgKGNoYXIgKikgIk9PT3xPOnhtbFJlbGF4TkdTZXRWYWxpZEVycm9ycyIsICZweW9ial9jdHgsICZweW9ial9lcnJvciwgJnB5b2JqX3dhcm4sICZweW9ial9hcmcpKQorICAgICAgICByZXR1cm4gKE5VTEwpOworCisjaWZkZWYgREVCVUdfRVJST1IKKyAgICBwcmludGYoImxpYnhtbF94bWxSZWxheE5HU2V0VmFsaWRFcnJvcnMoJXAsICVwLCAlcCkgY2FsbGVkXG4iLCBweW9ial9jdHgsIHB5b2JqX2Vycm9yLCBweW9ial93YXJuKTsKKyNlbmRpZgorCisgICAgY3R4dCA9IFB5cmVsYXhOZ1ZhbGlkQ3R4dF9HZXQocHlvYmpfY3R4KTsKKyAgICBpZiAoeG1sUmVsYXhOR0dldFZhbGlkRXJyb3JzKGN0eHQsIE5VTEwsIE5VTEwsICh2b2lkICoqKSAmcHlDdHh0KSA9PSAtMSkKKyAgICB7CisgICAgICAgIHB5X3JldHZhbCA9IGxpYnhtbF9pbnRXcmFwKC0xKTsKKyAgICAgICAgcmV0dXJuKHB5X3JldHZhbCk7CisgICAgfQorICAgIAorICAgIGlmIChweUN0eHQgPT0gTlVMTCkKKyAgICB7CisgICAgICAgIC8qIGZpcnN0IHRpbWUgdG8gc2V0IHRoZSBlcnJvciBoYW5kbGVycyAqLworICAgICAgICBweUN0eHQgPSB4bWxNYWxsb2Moc2l6ZW9mKHhtbFJlbGF4TkdWYWxpZEN0eHRQeUN0eHQpKTsKKyAgICAgICAgaWYgKHB5Q3R4dCA9PSBOVUxMKSB7CisgICAgICAgICAgICBweV9yZXR2YWwgPSBsaWJ4bWxfaW50V3JhcCgtMSk7CisgICAgICAgICAgICByZXR1cm4ocHlfcmV0dmFsKTsKKyAgICAgICAgfQorICAgICAgICBtZW1zZXQocHlDdHh0LCAwLCBzaXplb2YoeG1sUmVsYXhOR1ZhbGlkQ3R4dFB5Q3R4dCkpOworICAgIH0KKyAgICAKKyAgICAvKiBUT0RPOiBjaGVjayB3YXJuIGFuZCBlcnJvciBpcyBhIGZ1bmN0aW9uICEgKi8KKyAgICBQeV9YREVDUkVGKHB5Q3R4dC0+ZXJyb3IpOworICAgIFB5X1hJTkNSRUYocHlvYmpfZXJyb3IpOworICAgIHB5Q3R4dC0+ZXJyb3IgPSBweW9ial9lcnJvcjsKKyAgICAKKyAgICBQeV9YREVDUkVGKHB5Q3R4dC0+d2Fybik7CisgICAgUHlfWElOQ1JFRihweW9ial93YXJuKTsKKyAgICBweUN0eHQtPndhcm4gPSBweW9ial93YXJuOworICAgIAorICAgIFB5X1hERUNSRUYocHlDdHh0LT5hcmcpOworICAgIFB5X1hJTkNSRUYocHlvYmpfYXJnKTsKKyAgICBweUN0eHQtPmFyZyA9IHB5b2JqX2FyZzsKKworICAgIHhtbFJlbGF4TkdTZXRWYWxpZEVycm9ycyhjdHh0LCAmbGlieG1sX3htbFJlbGF4TkdWYWxpZGl0eUVycm9yRnVuYywgJmxpYnhtbF94bWxSZWxheE5HVmFsaWRpdHlXYXJuaW5nRnVuYywgcHlDdHh0KTsKKworICAgIHB5X3JldHZhbCA9IGxpYnhtbF9pbnRXcmFwKDEpOworICAgIHJldHVybiAocHlfcmV0dmFsKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK2xpYnhtbF94bWxSZWxheE5HRnJlZVZhbGlkQ3R4dChBVFRSSUJVVEVfVU5VU0VEIFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykgeworICAgIHhtbFJlbGF4TkdWYWxpZEN0eHRQdHIgY3R4dDsKKyAgICB4bWxSZWxheE5HVmFsaWRDdHh0UHlDdHh0UHRyIHB5Q3R4dDsKKyAgICBQeU9iamVjdCAqcHlvYmpfY3R4dDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAoY2hhciAqKSJPOnhtbFJlbGF4TkdGcmVlVmFsaWRDdHh0IiwgJnB5b2JqX2N0eHQpKQorICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgY3R4dCA9ICh4bWxSZWxheE5HVmFsaWRDdHh0UHRyKSBQeXJlbGF4TmdWYWxpZEN0eHRfR2V0KHB5b2JqX2N0eHQpOworCisgICAgaWYgKHhtbFJlbGF4TkdHZXRWYWxpZEVycm9ycyhjdHh0LCBOVUxMLCBOVUxMLCAodm9pZCAqKikgJnB5Q3R4dCkgPT0gMCkKKyAgICB7CisgICAgICAgIGlmIChweUN0eHQgIT0gTlVMTCkKKyAgICAgICAgeworICAgICAgICAgICAgUHlfWERFQ1JFRihweUN0eHQtPmVycm9yKTsKKyAgICAgICAgICAgIFB5X1hERUNSRUYocHlDdHh0LT53YXJuKTsKKyAgICAgICAgICAgIFB5X1hERUNSRUYocHlDdHh0LT5hcmcpOworICAgICAgICAgICAgeG1sRnJlZShweUN0eHQpOworICAgICAgICB9CisgICAgfQorICAgIAorICAgIHhtbFJlbGF4TkdGcmVlVmFsaWRDdHh0KGN0eHQpOworICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKKyAgICByZXR1cm4oUHlfTm9uZSk7Cit9CisKK3R5cGVkZWYgc3RydWN0Cit7CisJUHlPYmplY3QgKndhcm47CisJUHlPYmplY3QgKmVycm9yOworCVB5T2JqZWN0ICphcmc7Cit9IHhtbFNjaGVtYVZhbGlkQ3R4dFB5Q3R4dDsKK3R5cGVkZWYgeG1sU2NoZW1hVmFsaWRDdHh0UHlDdHh0ICp4bWxTY2hlbWFWYWxpZEN0eHRQeUN0eHRQdHI7CisKK3N0YXRpYyB2b2lkCitsaWJ4bWxfeG1sU2NoZW1hVmFsaWRpdHlHZW5lcmljRXJyb3JGdW5jSGFuZGxlcih2b2lkICpjdHgsIGNoYXIgKnN0cikKK3sKKwlQeU9iamVjdCAqbGlzdDsKKwlQeU9iamVjdCAqcmVzdWx0OworCXhtbFNjaGVtYVZhbGlkQ3R4dFB5Q3R4dFB0ciBweUN0eHQ7CisKKyNpZmRlZiBERUJVR19FUlJPUgorCXByaW50ZigibGlieG1sX3htbFNjaGVtYVZhbGlkaXRpeUdlbmVyaWNFcnJvckZ1bmNIYW5kbGVyKCVwLCAlcywgLi4uKSBjYWxsZWRcbiIsIGN0eCwgc3RyKTsKKyNlbmRpZgorCisJcHlDdHh0ID0gKHhtbFNjaGVtYVZhbGlkQ3R4dFB5Q3R4dFB0cikgY3R4OworCisJbGlzdCA9IFB5VHVwbGVfTmV3KDIpOworCVB5VHVwbGVfU2V0SXRlbShsaXN0LCAwLCBsaWJ4bWxfY2hhclB0cldyYXAoc3RyKSk7CisJUHlUdXBsZV9TZXRJdGVtKGxpc3QsIDEsIHB5Q3R4dC0+YXJnKTsKKwlQeV9YSU5DUkVGKHB5Q3R4dC0+YXJnKTsKKwlyZXN1bHQgPSBQeUV2YWxfQ2FsbE9iamVjdChweUN0eHQtPmVycm9yLCBsaXN0KTsKKwlpZiAocmVzdWx0ID09IE5VTEwpIAorCXsKKwkJLyogVE9ETzogbWFuYWdlIGZvciB0aGUgZXhjZXB0aW9uIHRvIGJlIHByb3BhZ2F0ZWQuLi4gKi8KKwkJUHlFcnJfUHJpbnQoKTsKKwl9CisJUHlfWERFQ1JFRihsaXN0KTsKKwlQeV9YREVDUkVGKHJlc3VsdCk7Cit9CisKK3N0YXRpYyB2b2lkCitsaWJ4bWxfeG1sU2NoZW1hVmFsaWRpdHlHZW5lcmljV2FybmluZ0Z1bmNIYW5kbGVyKHZvaWQgKmN0eCwgY2hhciAqc3RyKQoreworCVB5T2JqZWN0ICpsaXN0OworCVB5T2JqZWN0ICpyZXN1bHQ7CisJeG1sU2NoZW1hVmFsaWRDdHh0UHlDdHh0UHRyIHB5Q3R4dDsKKworI2lmZGVmIERFQlVHX0VSUk9SCisJcHJpbnRmKCJsaWJ4bWxfeG1sU2NoZW1hVmFsaWRpdHlHZW5lcmljV2FybmluZ0Z1bmNIYW5kbGVyKCVwLCAlcywgLi4uKSBjYWxsZWRcbiIsIGN0eCwgc3RyKTsKKyNlbmRpZgorCQorCXB5Q3R4dCA9ICh4bWxTY2hlbWFWYWxpZEN0eHRQeUN0eHRQdHIpIGN0eDsKKworCWxpc3QgPSBQeVR1cGxlX05ldygyKTsKKwlQeVR1cGxlX1NldEl0ZW0obGlzdCwgMCwgbGlieG1sX2NoYXJQdHJXcmFwKHN0cikpOworCVB5VHVwbGVfU2V0SXRlbShsaXN0LCAxLCBweUN0eHQtPmFyZyk7CisJUHlfWElOQ1JFRihweUN0eHQtPmFyZyk7CisJcmVzdWx0ID0gUHlFdmFsX0NhbGxPYmplY3QocHlDdHh0LT53YXJuLCBsaXN0KTsKKwlpZiAocmVzdWx0ID09IE5VTEwpCisJeworCQkvKiBUT0RPOiBtYW5hZ2UgZm9yIHRoZSBleGNlcHRpb24gdG8gYmUgcHJvcGFnYXRlZC4uLiAqLworCQlQeUVycl9QcmludCgpOworCX0KKwlQeV9YREVDUkVGKGxpc3QpOworCVB5X1hERUNSRUYocmVzdWx0KTsKK30KKworc3RhdGljIHZvaWQKK2xpYnhtbF94bWxTY2hlbWFWYWxpZGl0eUVycm9yRnVuYyh2b2lkICpjdHgsIGNvbnN0IGNoYXIgKm1zZywgLi4uKQoreworCXZhX2xpc3QgYXA7CisJCisJdmFfc3RhcnQoYXAsIG1zZyk7CisJbGlieG1sX3htbFNjaGVtYVZhbGlkaXR5R2VuZXJpY0Vycm9yRnVuY0hhbmRsZXIoY3R4LCBsaWJ4bWxfYnVpbGRNZXNzYWdlKG1zZywgYXApKTsKKwl2YV9lbmQoYXApOworfQorCitzdGF0aWMgdm9pZAorbGlieG1sX3htbFNjaGVtYVZhbGlkaXR5V2FybmluZ0Z1bmModm9pZCAqY3R4LCBjb25zdCBjaGFyICptc2csIC4uLikKK3sKKwl2YV9saXN0IGFwOworCisJdmFfc3RhcnQoYXAsIG1zZyk7CisJbGlieG1sX3htbFNjaGVtYVZhbGlkaXR5R2VuZXJpY1dhcm5pbmdGdW5jSGFuZGxlcihjdHgsIGxpYnhtbF9idWlsZE1lc3NhZ2UobXNnLCBhcCkpOworCXZhX2VuZChhcCk7Cit9CisKK1B5T2JqZWN0ICoKK2xpYnhtbF94bWxTY2hlbWFTZXRWYWxpZEVycm9ycyhBVFRSSUJVVEVfVU5VU0VEIFB5T2JqZWN0ICogc2VsZiwgUHlPYmplY3QgKiBhcmdzKQoreworCVB5T2JqZWN0ICpweV9yZXR2YWw7CisJUHlPYmplY3QgKnB5b2JqX2Vycm9yOworCVB5T2JqZWN0ICpweW9ial93YXJuOworCVB5T2JqZWN0ICpweW9ial9jdHg7CisJUHlPYmplY3QgKnB5b2JqX2FyZyA9IFB5X05vbmU7CisJeG1sU2NoZW1hVmFsaWRDdHh0UHRyIGN0eHQ7CisJeG1sU2NoZW1hVmFsaWRDdHh0UHlDdHh0UHRyIHB5Q3R4dDsKKworCWlmICghUHlBcmdfUGFyc2VUdXBsZQorCQkoYXJncywgKGNoYXIgKikgIk9PT3xPOnhtbFNjaGVtYVNldFZhbGlkRXJyb3JzIiwgJnB5b2JqX2N0eCwgJnB5b2JqX2Vycm9yLCAmcHlvYmpfd2FybiwgJnB5b2JqX2FyZykpCisJCXJldHVybiAoTlVMTCk7CisKKyNpZmRlZiBERUJVR19FUlJPUgorCXByaW50ZigibGlieG1sX3htbFNjaGVtYVNldFZhbGlkRXJyb3JzKCVwLCAlcCwgJXApIGNhbGxlZFxuIiwgcHlvYmpfY3R4LCBweW9ial9lcnJvciwgcHlvYmpfd2Fybik7CisjZW5kaWYKKworCWN0eHQgPSBQeVNjaGVtYVZhbGlkQ3R4dF9HZXQocHlvYmpfY3R4KTsKKwlpZiAoeG1sU2NoZW1hR2V0VmFsaWRFcnJvcnMoY3R4dCwgTlVMTCwgTlVMTCwgKHZvaWQgKiopICZweUN0eHQpID09IC0xKQorCXsKKwkJcHlfcmV0dmFsID0gbGlieG1sX2ludFdyYXAoLTEpOworCQlyZXR1cm4ocHlfcmV0dmFsKTsKKwl9CisKKwlpZiAocHlDdHh0ID09IE5VTEwpCisJeworCQkvKiBmaXJzdCB0aW1lIHRvIHNldCB0aGUgZXJyb3IgaGFuZGxlcnMgKi8KKwkJcHlDdHh0ID0geG1sTWFsbG9jKHNpemVvZih4bWxTY2hlbWFWYWxpZEN0eHRQeUN0eHQpKTsKKwkJaWYgKHB5Q3R4dCA9PSBOVUxMKSB7CisJCQlweV9yZXR2YWwgPSBsaWJ4bWxfaW50V3JhcCgtMSk7CisJCQlyZXR1cm4ocHlfcmV0dmFsKTsKKwkJfQorCQltZW1zZXQocHlDdHh0LCAwLCBzaXplb2YoeG1sU2NoZW1hVmFsaWRDdHh0UHlDdHh0KSk7CisJfQorCisJLyogVE9ETzogY2hlY2sgd2FybiBhbmQgZXJyb3IgaXMgYSBmdW5jdGlvbiAhICovCisJUHlfWERFQ1JFRihweUN0eHQtPmVycm9yKTsKKwlQeV9YSU5DUkVGKHB5b2JqX2Vycm9yKTsKKwlweUN0eHQtPmVycm9yID0gcHlvYmpfZXJyb3I7CisKKwlQeV9YREVDUkVGKHB5Q3R4dC0+d2Fybik7CisJUHlfWElOQ1JFRihweW9ial93YXJuKTsKKwlweUN0eHQtPndhcm4gPSBweW9ial93YXJuOworCisJUHlfWERFQ1JFRihweUN0eHQtPmFyZyk7CisJUHlfWElOQ1JFRihweW9ial9hcmcpOworCXB5Q3R4dC0+YXJnID0gcHlvYmpfYXJnOworCisJeG1sU2NoZW1hU2V0VmFsaWRFcnJvcnMoY3R4dCwgJmxpYnhtbF94bWxTY2hlbWFWYWxpZGl0eUVycm9yRnVuYywgJmxpYnhtbF94bWxTY2hlbWFWYWxpZGl0eVdhcm5pbmdGdW5jLCBweUN0eHQpOworCisJcHlfcmV0dmFsID0gbGlieG1sX2ludFdyYXAoMSk7CisJcmV0dXJuKHB5X3JldHZhbCk7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitsaWJ4bWxfeG1sU2NoZW1hRnJlZVZhbGlkQ3R4dChBVFRSSUJVVEVfVU5VU0VEIFB5T2JqZWN0ICogc2VsZiwgUHlPYmplY3QgKiBhcmdzKQoreworCXhtbFNjaGVtYVZhbGlkQ3R4dFB0ciBjdHh0OworCXhtbFNjaGVtYVZhbGlkQ3R4dFB5Q3R4dFB0ciBweUN0eHQ7CisJUHlPYmplY3QgKnB5b2JqX2N0eHQ7CisKKwlpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgKGNoYXIgKikiTzp4bWxTY2hlbWFGcmVlVmFsaWRDdHh0IiwgJnB5b2JqX2N0eHQpKQorCQlyZXR1cm4oTlVMTCk7CisJY3R4dCA9ICh4bWxTY2hlbWFWYWxpZEN0eHRQdHIpIFB5U2NoZW1hVmFsaWRDdHh0X0dldChweW9ial9jdHh0KTsKKworCWlmICh4bWxTY2hlbWFHZXRWYWxpZEVycm9ycyhjdHh0LCBOVUxMLCBOVUxMLCAodm9pZCAqKikgJnB5Q3R4dCkgPT0gMCkKKwl7CisJCWlmIChweUN0eHQgIT0gTlVMTCkKKwkJeworCQkJUHlfWERFQ1JFRihweUN0eHQtPmVycm9yKTsKKwkJCVB5X1hERUNSRUYocHlDdHh0LT53YXJuKTsKKwkJCVB5X1hERUNSRUYocHlDdHh0LT5hcmcpOworCQkJeG1sRnJlZShweUN0eHQpOworCQl9CisJfQorCisJeG1sU2NoZW1hRnJlZVZhbGlkQ3R4dChjdHh0KTsKKwlQeV9JTkNSRUYoUHlfTm9uZSk7CisJcmV0dXJuKFB5X05vbmUpOworfQorCisjZW5kaWYKKworI2lmZGVmIExJQlhNTF9DMTROX0VOQUJMRUQKKyNpZmRlZiBMSUJYTUxfT1VUUFVUX0VOQUJMRUQKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgorICogWE1MIENhbm9uaWNhbGl6YXRpb24gYzE0biAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworc3RhdGljIGludAorUHl4bWxOb2RlU2V0X0NvbnZlcnQoUHlPYmplY3QgKnB5X25vZGVzZXQsIHhtbE5vZGVTZXRQdHIgKnJlc3VsdCkKK3sKKyAgICB4bWxOb2RlU2V0UHRyIG5vZGVTZXQ7CisgICAgaW50IGlzX3R1cGxlID0gMDsKKworICAgIGlmIChQeVR1cGxlX0NoZWNrKHB5X25vZGVzZXQpKQorICAgICAgICBpc190dXBsZSA9IDE7CisgICAgZWxzZSBpZiAoUHlMaXN0X0NoZWNrKHB5X25vZGVzZXQpKQorICAgICAgICBpc190dXBsZSA9IDA7CisgICAgZWxzZSBpZiAocHlfbm9kZXNldCA9PSBQeV9Ob25lKSB7CisgICAgICAgICpyZXN1bHQgPSBOVUxMOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAibXVzdCBiZSBhIHR1cGxlIG9yIGxpc3Qgb2Ygbm9kZXMuIik7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisKKyAgICBub2RlU2V0ID0gKHhtbE5vZGVTZXRQdHIpIHhtbE1hbGxvYyhzaXplb2YoeG1sTm9kZVNldCkpOworICAgIGlmIChub2RlU2V0ID09IE5VTEwpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX01lbW9yeUVycm9yLCAiIik7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisKKyAgICBub2RlU2V0LT5ub2RlTnIgPSAwOworICAgIG5vZGVTZXQtPm5vZGVNYXggPSAoaXNfdHVwbGUKKyAgICAgICAgICAgICAgICAgICAgICAgID8gUHlUdXBsZV9HRVRfU0laRShweV9ub2Rlc2V0KQorICAgICAgICAgICAgICAgICAgICAgICAgOiBQeUxpc3RfR0VUX1NJWkUocHlfbm9kZXNldCkpOworICAgIG5vZGVTZXQtPm5vZGVUYWIKKyAgICAgICAgPSAoeG1sTm9kZVB0ciAqKSB4bWxNYWxsb2MgKG5vZGVTZXQtPm5vZGVNYXgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogc2l6ZW9mKHhtbE5vZGVQdHIpKTsKKyAgICBpZiAobm9kZVNldC0+bm9kZVRhYiA9PSBOVUxMKSB7CisgICAgICAgIHhtbEZyZWUobm9kZVNldCk7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19NZW1vcnlFcnJvciwgIiIpOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorICAgIG1lbXNldChub2RlU2V0LT5ub2RlVGFiLCAwICwKKyAgICAgICAgICAgbm9kZVNldC0+bm9kZU1heCAqIHNpemVvZih4bWxOb2RlUHRyKSk7CisKKyAgICB7CisgICAgICAgIGludCBpZHg7CisgICAgICAgIGZvciAoaWR4PTA7IGlkeCA8IG5vZGVTZXQtPm5vZGVNYXg7ICsraWR4KSB7CisgICAgICAgICAgICB4bWxOb2RlUHRyIHB5bm9kZSA9CisgICAgICAgICAgICAgICAgUHl4bWxOb2RlX0dldCAoaXNfdHVwbGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IFB5VHVwbGVfR0VUX0lURU0ocHlfbm9kZXNldCwgaWR4KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogUHlMaXN0X0dFVF9JVEVNKHB5X25vZGVzZXQsIGlkeCkpOworICAgICAgICAgICAgaWYgKHB5bm9kZSkKKyAgICAgICAgICAgICAgICBub2RlU2V0LT5ub2RlVGFiW25vZGVTZXQtPm5vZGVOcisrXSA9IHB5bm9kZTsKKyAgICAgICAgfQorICAgIH0KKyAgICAqcmVzdWx0ID0gbm9kZVNldDsKKyAgICByZXR1cm4gMDsKK30KKworc3RhdGljIGludAorUHlzdHJpbmdTZXRfQ29udmVydChQeU9iamVjdCAqcHlfc3RyaW5ncywgeG1sQ2hhciAqKiogcmVzdWx0KQoreworICAgIC8qIE5PVEU6IHRoZSBhcnJheSBzaG91bGQgYmUgZnJlZWQsIGJ1dCB0aGUgc3RyaW5ncyBhcmUgc2hhcmVkCisgICAgICAgd2l0aCB0aGUgcHl0aG9uIHN0cmluZ3MgYW5kIHNvIG11c3Qgbm90IGJlIGZyZWVkLiAqLworCisgICAgeG1sQ2hhciAqKiBzdHJpbmdzOworICAgIGludCBpc190dXBsZSA9IDA7CisgICAgaW50IGNvdW50OworICAgIGludCBpbml0X2luZGV4ID0gMDsKKworICAgIGlmIChQeVR1cGxlX0NoZWNrKHB5X3N0cmluZ3MpKQorICAgICAgICBpc190dXBsZSA9IDE7CisgICAgZWxzZSBpZiAoUHlMaXN0X0NoZWNrKHB5X3N0cmluZ3MpKQorICAgICAgICBpc190dXBsZSA9IDA7CisgICAgZWxzZSBpZiAocHlfc3RyaW5ncyA9PSBQeV9Ob25lKSB7CisgICAgICAgICpyZXN1bHQgPSBOVUxMOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAibXVzdCBiZSBhIHR1cGxlIG9yIGxpc3Qgb2Ygc3RyaW5ncy4iKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKworICAgIGNvdW50ID0gKGlzX3R1cGxlCisgICAgICAgICAgICAgPyBQeVR1cGxlX0dFVF9TSVpFKHB5X3N0cmluZ3MpCisgICAgICAgICAgICAgOiBQeUxpc3RfR0VUX1NJWkUocHlfc3RyaW5ncykpOworCisgICAgc3RyaW5ncyA9ICh4bWxDaGFyICoqKSB4bWxNYWxsb2Moc2l6ZW9mKHhtbENoYXIgKikgKiBjb3VudCk7CisKKyAgICBpZiAoc3RyaW5ncyA9PSBOVUxMKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19NZW1vcnlFcnJvciwgIiIpOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorCisgICAgbWVtc2V0KHN0cmluZ3MsIDAgLCBzaXplb2YoeG1sQ2hhciAqKSAqIGNvdW50KTsKKworICAgIHsKKyAgICAgICAgaW50IGlkeDsKKyAgICAgICAgZm9yIChpZHg9MDsgaWR4IDwgY291bnQ7ICsraWR4KSB7CisgICAgICAgICAgICBjaGFyKiBzID0gUHlCeXRlc19Bc1N0cmluZworICAgICAgICAgICAgICAgIChpc190dXBsZQorICAgICAgICAgICAgICAgICA/IFB5VHVwbGVfR0VUX0lURU0ocHlfc3RyaW5ncywgaWR4KQorICAgICAgICAgICAgICAgICA6IFB5TGlzdF9HRVRfSVRFTShweV9zdHJpbmdzLCBpZHgpKTsKKyAgICAgICAgICAgIGlmIChzKQorICAgICAgICAgICAgICAgIHN0cmluZ3NbaW5pdF9pbmRleCsrXSA9ICh4bWxDaGFyICopczsKKyAgICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAgIHhtbEZyZWUoc3RyaW5ncyk7CisgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm11c3QgYmUgYSB0dXBsZSBvciBsaXN0IG9mIHN0cmluZ3MuIik7CisgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorCisgICAgKnJlc3VsdCA9IHN0cmluZ3M7CisgICAgcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitsaWJ4bWxfQzE0TkRvY0R1bXBNZW1vcnkoQVRUUklCVVRFX1VOVVNFRCBQeU9iamVjdCAqIHNlbGYsCisgICAgICAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKiBhcmdzKQoreworICAgIFB5T2JqZWN0ICpweV9yZXR2YWwgPSBOVUxMOworCisgICAgUHlPYmplY3QgKnB5b2JqX2RvYzsKKyAgICBQeU9iamVjdCAqcHlvYmpfbm9kZXM7CisgICAgaW50IGV4Y2x1c2l2ZTsKKyAgICBQeU9iamVjdCAqcHlvYmpfcHJlZml4ZXM7CisgICAgaW50IHdpdGhfY29tbWVudHM7CisKKyAgICB4bWxEb2NQdHIgZG9jOworICAgIHhtbE5vZGVTZXRQdHIgbm9kZXM7CisgICAgeG1sQ2hhciAqKnByZWZpeGVzID0gTlVMTDsKKyAgICB4bWxDaGFyICpkb2NfdHh0OworCisgICAgaW50IHJlc3VsdDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAoY2hhciAqKSAiT09pT2k6QzE0TkRvY0R1bXBNZW1vcnkiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAmcHlvYmpfZG9jLAorICAgICAgICAgICAgICAgICAgICAgICAgICAmcHlvYmpfbm9kZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICZleGNsdXNpdmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICZweW9ial9wcmVmaXhlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJndpdGhfY29tbWVudHMpKQorICAgICAgICByZXR1cm4gKE5VTEwpOworCisgICAgZG9jID0gKHhtbERvY1B0cikgUHl4bWxOb2RlX0dldChweW9ial9kb2MpOworICAgIGlmICghZG9jKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsICJiYWQgZG9jdW1lbnQuIik7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKworICAgIHJlc3VsdCA9IFB5eG1sTm9kZVNldF9Db252ZXJ0KHB5b2JqX25vZGVzLCAmbm9kZXMpOworICAgIGlmIChyZXN1bHQgPCAwKSByZXR1cm4gTlVMTDsKKworICAgIGlmIChleGNsdXNpdmUpIHsKKyAgICAgICAgcmVzdWx0ID0gUHlzdHJpbmdTZXRfQ29udmVydChweW9ial9wcmVmaXhlcywgJnByZWZpeGVzKTsKKyAgICAgICAgaWYgKHJlc3VsdCA8IDApIHsKKyAgICAgICAgICAgIGlmIChub2RlcykgeworICAgICAgICAgICAgICAgIHhtbEZyZWUobm9kZXMtPm5vZGVUYWIpOworICAgICAgICAgICAgICAgIHhtbEZyZWUobm9kZXMpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KKyAgICB9CisKKyAgICByZXN1bHQgPSB4bWxDMTRORG9jRHVtcE1lbW9yeShkb2MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhjbHVzaXZlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZWZpeGVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGhfY29tbWVudHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmRvY190eHQpOworCisgICAgaWYgKG5vZGVzKSB7CisgICAgICAgIHhtbEZyZWUobm9kZXMtPm5vZGVUYWIpOworICAgICAgICB4bWxGcmVlKG5vZGVzKTsKKyAgICB9CisgICAgaWYgKHByZWZpeGVzKSB7CisgICAgICAgIHhtbENoYXIgKiogaWR4ID0gcHJlZml4ZXM7CisgICAgICAgIHdoaWxlICgqaWR4KSB4bWxGcmVlKCooaWR4KyspKTsKKyAgICAgICAgeG1sRnJlZShwcmVmaXhlcyk7CisgICAgfQorCisgICAgaWYgKHJlc3VsdCA8IDApIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX0V4Y2VwdGlvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICJsaWJ4bWwyIHhtbEMxNE5Eb2NEdW1wTWVtb3J5IGZhaWx1cmUuIik7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgcHlfcmV0dmFsID0gUFlfSU1QT1JUX1NUUklOR19TSVpFKChjb25zdCBjaGFyICopIGRvY190eHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQpOworICAgICAgICB4bWxGcmVlKGRvY190eHQpOworICAgICAgICByZXR1cm4gcHlfcmV0dmFsOworICAgIH0KK30KKworc3RhdGljIFB5T2JqZWN0ICoKK2xpYnhtbF9DMTRORG9jU2F2ZVRvKEFUVFJJQlVURV9VTlVTRUQgUHlPYmplY3QgKiBzZWxmLAorICAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKiBhcmdzKQoreworICAgIFB5T2JqZWN0ICpweW9ial9kb2M7CisgICAgUHlPYmplY3QgKnB5X2ZpbGU7CisgICAgUHlPYmplY3QgKnB5b2JqX25vZGVzOworICAgIGludCBleGNsdXNpdmU7CisgICAgUHlPYmplY3QgKnB5b2JqX3ByZWZpeGVzOworICAgIGludCB3aXRoX2NvbW1lbnRzOworCisgICAgeG1sRG9jUHRyIGRvYzsKKyAgICB4bWxOb2RlU2V0UHRyIG5vZGVzOworICAgIHhtbENoYXIgKipwcmVmaXhlcyA9IE5VTEw7CisgICAgRklMRSAqIG91dHB1dDsKKyAgICB4bWxPdXRwdXRCdWZmZXJQdHIgYnVmOworCisgICAgaW50IHJlc3VsdDsKKyAgICBpbnQgbGVuOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsIChjaGFyICopICJPT2lPaU86QzE0TkRvY1NhdmVUbyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICZweW9ial9kb2MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICZweW9ial9ub2RlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJmV4Y2x1c2l2ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJnB5b2JqX3ByZWZpeGVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAmd2l0aF9jb21tZW50cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJnB5X2ZpbGUpKQorICAgICAgICByZXR1cm4gKE5VTEwpOworCisgICAgZG9jID0gKHhtbERvY1B0cikgUHl4bWxOb2RlX0dldChweW9ial9kb2MpOworICAgIGlmICghZG9jKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsICJiYWQgZG9jdW1lbnQuIik7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKworICAgIG91dHB1dCA9IFB5RmlsZV9HZXQocHlfZmlsZSk7CisgICAgaWYgKG91dHB1dCA9PSBOVUxMKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsICJiYWQgZmlsZS4iKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIGJ1ZiA9IHhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGUob3V0cHV0LCBOVUxMKTsKKworICAgIHJlc3VsdCA9IFB5eG1sTm9kZVNldF9Db252ZXJ0KHB5b2JqX25vZGVzLCAmbm9kZXMpOworICAgIGlmIChyZXN1bHQgPCAwKSByZXR1cm4gTlVMTDsKKworICAgIGlmIChleGNsdXNpdmUpIHsKKyAgICAgICAgcmVzdWx0ID0gUHlzdHJpbmdTZXRfQ29udmVydChweW9ial9wcmVmaXhlcywgJnByZWZpeGVzKTsKKyAgICAgICAgaWYgKHJlc3VsdCA8IDApIHsKKyAgICAgICAgICAgIGlmIChub2RlcykgeworICAgICAgICAgICAgICAgIHhtbEZyZWUobm9kZXMtPm5vZGVUYWIpOworICAgICAgICAgICAgICAgIHhtbEZyZWUobm9kZXMpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KKyAgICB9CisKKyAgICByZXN1bHQgPSB4bWxDMTRORG9jU2F2ZVRvKGRvYywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhjbHVzaXZlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJlZml4ZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoX2NvbW1lbnRzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmKTsKKworICAgIGlmIChub2RlcykgeworICAgICAgICB4bWxGcmVlKG5vZGVzLT5ub2RlVGFiKTsKKyAgICAgICAgeG1sRnJlZShub2Rlcyk7CisgICAgfQorICAgIGlmIChwcmVmaXhlcykgeworICAgICAgICB4bWxDaGFyICoqIGlkeCA9IHByZWZpeGVzOworICAgICAgICB3aGlsZSAoKmlkeCkgeG1sRnJlZSgqKGlkeCsrKSk7CisgICAgICAgIHhtbEZyZWUocHJlZml4ZXMpOworICAgIH0KKworICAgIFB5RmlsZV9SZWxlYXNlKG91dHB1dCk7CisgICAgbGVuID0geG1sT3V0cHV0QnVmZmVyQ2xvc2UoYnVmKTsKKworICAgIGlmIChyZXN1bHQgPCAwKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19FeGNlcHRpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAibGlieG1sMiB4bWxDMTRORG9jU2F2ZVRvIGZhaWx1cmUuIik7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICBlbHNlCisgICAgICAgIHJldHVybiBQeUxvbmdfRnJvbUxvbmcoKGxvbmcpIGxlbik7Cit9CisKKyNlbmRpZgorI2VuZGlmCisKK3N0YXRpYyBQeU9iamVjdCAqCitsaWJ4bWxfZ2V0T2JqRGVzYyhQeU9iamVjdCAqc2VsZiBBVFRSSUJVVEVfVU5VU0VELCBQeU9iamVjdCAqYXJncykgeworCisgICAgUHlPYmplY3QgKm9iajsKKyAgICBjaGFyICpzdHI7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgKGNoYXIgKikiTzpnZXRPYmpEZXNjIiwgJm9iaikpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIHN0ciA9IFB5Q2Fwc3VsZV9HZXRQb2ludGVyKG9iaiwgUHlDYXBzdWxlX0dldE5hbWUob2JqKSk7CisgICAgcmV0dXJuIFB5X0J1aWxkVmFsdWUoKGNoYXIgKikicyIsIHN0cik7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitsaWJ4bWxfY29tcGFyZU5vZGVzRXF1YWwoUHlPYmplY3QgKnNlbGYgQVRUUklCVVRFX1VOVVNFRCwgUHlPYmplY3QgKmFyZ3MpIHsKKyAgICAKKyAgICBQeU9iamVjdCAqcHlfbm9kZTEsICpweV9ub2RlMjsKKyAgICB4bWxOb2RlUHRyIG5vZGUxLCBub2RlMjsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAoY2hhciAqKSJPTzpjb21wYXJlTm9kZXNFcXVhbCIsCisJCSZweV9ub2RlMSwgJnB5X25vZGUyKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgLyogVG8gY29tcGFyZSB0d28gbm9kZSBvYmplY3RzLCB3ZSBjb21wYXJlIHRoZWlyIHBvaW50ZXIgYWRkcmVzc2VzICovCisgICAgbm9kZTEgPSBQeXhtbE5vZGVfR2V0KHB5X25vZGUxKTsKKyAgICBub2RlMiA9IFB5eG1sTm9kZV9HZXQocHlfbm9kZTIpOworICAgIGlmICggbm9kZTEgPT0gbm9kZTIgKQorICAgICAgICByZXR1cm4gUHlfQnVpbGRWYWx1ZSgoY2hhciAqKSJpIiwgMSk7CisgICAgZWxzZQorICAgICAgICByZXR1cm4gUHlfQnVpbGRWYWx1ZSgoY2hhciAqKSJpIiwgMCk7CisgICAgCit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitsaWJ4bWxfbm9kZUhhc2goUHlPYmplY3QgKnNlbGYgQVRUUklCVVRFX1VOVVNFRCwgUHlPYmplY3QgKmFyZ3MpIHsKKworICAgIFB5T2JqZWN0ICpweV9ub2RlMTsKKyAgICB4bWxOb2RlUHRyIG5vZGUxOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsIChjaGFyICopIk86bm9kZUhhc2giLCAmcHlfbm9kZTEpKQorCSAgICByZXR1cm4gTlVMTDsKKyAgICAvKiBGb3Igc2ltcGxpY2l0eSwgd2UgdXNlIHRoZSBub2RlIHBvaW50ZXIgYWRkcmVzcyBhcyBhIGhhc2ggdmFsdWUgKi8KKyAgICBub2RlMSA9IFB5eG1sTm9kZV9HZXQocHlfbm9kZTEpOworCisgICAgcmV0dXJuIFB5TG9uZ19Gcm9tVm9pZFB0cihub2RlMSk7CisKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJCVRoZSByZWdpc3RyYXRpb24gc3R1ZmYJCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIFB5TWV0aG9kRGVmIGxpYnhtbE1ldGhvZHNbXSA9IHsKKyNpbmNsdWRlICJsaWJ4bWwyLWV4cG9ydC5jIgorICAgIHsoY2hhciAqKSAibmFtZSIsIGxpYnhtbF9uYW1lLCBNRVRIX1ZBUkFSR1MsIE5VTEx9LAorICAgIHsoY2hhciAqKSAiY2hpbGRyZW4iLCBsaWJ4bWxfY2hpbGRyZW4sIE1FVEhfVkFSQVJHUywgTlVMTH0sCisgICAgeyhjaGFyICopICJwcm9wZXJ0aWVzIiwgbGlieG1sX3Byb3BlcnRpZXMsIE1FVEhfVkFSQVJHUywgTlVMTH0sCisgICAgeyhjaGFyICopICJsYXN0IiwgbGlieG1sX2xhc3QsIE1FVEhfVkFSQVJHUywgTlVMTH0sCisgICAgeyhjaGFyICopICJwcmV2IiwgbGlieG1sX3ByZXYsIE1FVEhfVkFSQVJHUywgTlVMTH0sCisgICAgeyhjaGFyICopICJuZXh0IiwgbGlieG1sX25leHQsIE1FVEhfVkFSQVJHUywgTlVMTH0sCisgICAgeyhjaGFyICopICJwYXJlbnQiLCBsaWJ4bWxfcGFyZW50LCBNRVRIX1ZBUkFSR1MsIE5VTEx9LAorICAgIHsoY2hhciAqKSAidHlwZSIsIGxpYnhtbF90eXBlLCBNRVRIX1ZBUkFSR1MsIE5VTEx9LAorICAgIHsoY2hhciAqKSAiZG9jIiwgbGlieG1sX2RvYywgTUVUSF9WQVJBUkdTLCBOVUxMfSwKKyAgICB7KGNoYXIgKikgInhtbE5ld05vZGUiLCBsaWJ4bWxfeG1sTmV3Tm9kZSwgTUVUSF9WQVJBUkdTLCBOVUxMfSwKKyAgICB7KGNoYXIgKikgInhtbE5vZGVSZW1vdmVOc0RlZiIsIGxpYnhtbF94bWxOb2RlUmVtb3ZlTnNEZWYsIE1FVEhfVkFSQVJHUywgTlVMTH0sCisgICAgeyhjaGFyICopInhtbFNldFZhbGlkRXJyb3JzIiwgbGlieG1sX3htbFNldFZhbGlkRXJyb3JzLCBNRVRIX1ZBUkFSR1MsIE5VTEx9LAorICAgIHsoY2hhciAqKSJ4bWxGcmVlVmFsaWRDdHh0IiwgbGlieG1sX3htbEZyZWVWYWxpZEN0eHQsIE1FVEhfVkFSQVJHUywgTlVMTH0sCisjaWZkZWYgTElCWE1MX09VVFBVVF9FTkFCTEVECisgICAgeyhjaGFyICopICJzZXJpYWxpemVOb2RlIiwgbGlieG1sX3NlcmlhbGl6ZU5vZGUsIE1FVEhfVkFSQVJHUywgTlVMTH0sCisgICAgeyhjaGFyICopICJzYXZlTm9kZVRvIiwgbGlieG1sX3NhdmVOb2RlVG8sIE1FVEhfVkFSQVJHUywgTlVMTH0sCisgICAgeyhjaGFyICopICJvdXRwdXRCdWZmZXJDcmVhdGUiLCBsaWJ4bWxfeG1sQ3JlYXRlT3V0cHV0QnVmZmVyLCBNRVRIX1ZBUkFSR1MsIE5VTEx9LAorICAgIHsoY2hhciAqKSAib3V0cHV0QnVmZmVyR2V0UHl0aG9uRmlsZSIsIGxpYnhtbF9vdXRwdXRCdWZmZXJHZXRQeXRob25GaWxlLCBNRVRIX1ZBUkFSR1MsIE5VTEx9LAorICAgIHsoY2hhciAqKSAieG1sT3V0cHV0QnVmZmVyQ2xvc2UiLCBsaWJ4bWxfeG1sT3V0cHV0QnVmZmVyQ2xvc2UsIE1FVEhfVkFSQVJHUywgTlVMTH0sCisgICAgeyAoY2hhciAqKSJ4bWxPdXRwdXRCdWZmZXJGbHVzaCIsIGxpYnhtbF94bWxPdXRwdXRCdWZmZXJGbHVzaCwgTUVUSF9WQVJBUkdTLCBOVUxMIH0sCisgICAgeyAoY2hhciAqKSJ4bWxTYXZlRmlsZVRvIiwgbGlieG1sX3htbFNhdmVGaWxlVG8sIE1FVEhfVkFSQVJHUywgTlVMTCB9LAorICAgIHsgKGNoYXIgKikieG1sU2F2ZUZvcm1hdEZpbGVUbyIsIGxpYnhtbF94bWxTYXZlRm9ybWF0RmlsZVRvLCBNRVRIX1ZBUkFSR1MsIE5VTEwgfSwKKyNlbmRpZiAvKiBMSUJYTUxfT1VUUFVUX0VOQUJMRUQgKi8KKyAgICB7KGNoYXIgKikgImlucHV0QnVmZmVyQ3JlYXRlIiwgbGlieG1sX3htbENyZWF0ZUlucHV0QnVmZmVyLCBNRVRIX1ZBUkFSR1MsIE5VTEx9LAorICAgIHsoY2hhciAqKSAic2V0RW50aXR5TG9hZGVyIiwgbGlieG1sX3htbFNldEVudGl0eUxvYWRlciwgTUVUSF9WQVJBUkdTLCBOVUxMfSwKKyAgICB7KGNoYXIgKikieG1sUmVnaXN0ZXJFcnJvckhhbmRsZXIiLCBsaWJ4bWxfeG1sUmVnaXN0ZXJFcnJvckhhbmRsZXIsIE1FVEhfVkFSQVJHUywgTlVMTCB9LAorICAgIHsoY2hhciAqKSJ4bWxQYXJzZXJDdHh0U2V0RXJyb3JIYW5kbGVyIiwgbGlieG1sX3htbFBhcnNlckN0eHRTZXRFcnJvckhhbmRsZXIsIE1FVEhfVkFSQVJHUywgTlVMTCB9LAorICAgIHsoY2hhciAqKSJ4bWxQYXJzZXJDdHh0R2V0RXJyb3JIYW5kbGVyIiwgbGlieG1sX3htbFBhcnNlckN0eHRHZXRFcnJvckhhbmRsZXIsIE1FVEhfVkFSQVJHUywgTlVMTCB9LAorICAgIHsoY2hhciAqKSJ4bWxGcmVlUGFyc2VyQ3R4dCIsIGxpYnhtbF94bWxGcmVlUGFyc2VyQ3R4dCwgTUVUSF9WQVJBUkdTLCBOVUxMIH0sCisjaWZkZWYgTElCWE1MX1JFQURFUl9FTkFCTEVECisgICAgeyhjaGFyICopInhtbFRleHRSZWFkZXJTZXRFcnJvckhhbmRsZXIiLCBsaWJ4bWxfeG1sVGV4dFJlYWRlclNldEVycm9ySGFuZGxlciwgTUVUSF9WQVJBUkdTLCBOVUxMIH0sCisgICAgeyhjaGFyICopInhtbFRleHRSZWFkZXJHZXRFcnJvckhhbmRsZXIiLCBsaWJ4bWxfeG1sVGV4dFJlYWRlckdldEVycm9ySGFuZGxlciwgTUVUSF9WQVJBUkdTLCBOVUxMIH0sCisgICAgeyhjaGFyICopInhtbEZyZWVUZXh0UmVhZGVyIiwgbGlieG1sX3htbEZyZWVUZXh0UmVhZGVyLCBNRVRIX1ZBUkFSR1MsIE5VTEwgfSwKKyNlbmRpZgorICAgIHsoY2hhciAqKSJhZGRMb2NhbENhdGFsb2ciLCBsaWJ4bWxfYWRkTG9jYWxDYXRhbG9nLCBNRVRIX1ZBUkFSR1MsIE5VTEwgfSwKKyNpZmRlZiBMSUJYTUxfU0NIRU1BU19FTkFCTEVECisgICAgeyhjaGFyICopInhtbFJlbGF4TkdTZXRWYWxpZEVycm9ycyIsIGxpYnhtbF94bWxSZWxheE5HU2V0VmFsaWRFcnJvcnMsIE1FVEhfVkFSQVJHUywgTlVMTH0sCisgICAgeyhjaGFyICopInhtbFJlbGF4TkdGcmVlVmFsaWRDdHh0IiwgbGlieG1sX3htbFJlbGF4TkdGcmVlVmFsaWRDdHh0LCBNRVRIX1ZBUkFSR1MsIE5VTEx9LAorICAgIHsoY2hhciAqKSJ4bWxTY2hlbWFTZXRWYWxpZEVycm9ycyIsIGxpYnhtbF94bWxTY2hlbWFTZXRWYWxpZEVycm9ycywgTUVUSF9WQVJBUkdTLCBOVUxMfSwKKyAgICB7KGNoYXIgKikieG1sU2NoZW1hRnJlZVZhbGlkQ3R4dCIsIGxpYnhtbF94bWxTY2hlbWFGcmVlVmFsaWRDdHh0LCBNRVRIX1ZBUkFSR1MsIE5VTEx9LAorI2VuZGlmCisjaWZkZWYgTElCWE1MX0MxNE5fRU5BQkxFRAorI2lmZGVmIExJQlhNTF9PVVRQVVRfRU5BQkxFRAorICAgIHsoY2hhciAqKSJ4bWxDMTRORG9jRHVtcE1lbW9yeSIsIGxpYnhtbF9DMTRORG9jRHVtcE1lbW9yeSwgTUVUSF9WQVJBUkdTLCBOVUxMfSwKKyAgICB7KGNoYXIgKikieG1sQzE0TkRvY1NhdmVUbyIsIGxpYnhtbF9DMTRORG9jU2F2ZVRvLCBNRVRIX1ZBUkFSR1MsIE5VTEx9LAorI2VuZGlmCisjZW5kaWYKKyAgICB7KGNoYXIgKikgImdldE9iakRlc2MiLCBsaWJ4bWxfZ2V0T2JqRGVzYywgTUVUSF9WQVJBUkdTLCBOVUxMfSwKKyAgICB7KGNoYXIgKikgImNvbXBhcmVOb2Rlc0VxdWFsIiwgbGlieG1sX2NvbXBhcmVOb2Rlc0VxdWFsLCBNRVRIX1ZBUkFSR1MsIE5VTEx9LAorICAgIHsoY2hhciAqKSAibm9kZUhhc2giLCBsaWJ4bWxfbm9kZUhhc2gsIE1FVEhfVkFSQVJHUywgTlVMTH0sCisgICAgeyhjaGFyICopICJ4bWxSZWdpc3RlcklucHV0Q2FsbGJhY2siLCBsaWJ4bWxfeG1sUmVnaXN0ZXJJbnB1dENhbGxiYWNrLCBNRVRIX1ZBUkFSR1MsIE5VTEx9LAorICAgIHsoY2hhciAqKSAieG1sVW5yZWdpc3RlcklucHV0Q2FsbGJhY2siLCBsaWJ4bWxfeG1sVW5yZWdpc3RlcklucHV0Q2FsbGJhY2ssIE1FVEhfVkFSQVJHUywgTlVMTH0sCisgICAge05VTEwsIE5VTEwsIDAsIE5VTEx9Cit9OworCisjaWYgUFlfTUFKT1JfVkVSU0lPTiA+PSAzCisjZGVmaW5lIElOSVRFUlJPUiByZXR1cm4gTlVMTAorCitzdGF0aWMgc3RydWN0IFB5TW9kdWxlRGVmIG1vZHVsZWRlZiA9IHsKKyAgICAgICAgUHlNb2R1bGVEZWZfSEVBRF9JTklULAorICAgICAgICAibGlieG1sMm1vZCIsCisgICAgICAgIE5VTEwsCisgICAgICAgIC0xLAorICAgICAgICBsaWJ4bWxNZXRob2RzLAorICAgICAgICBOVUxMLAorICAgICAgICBOVUxMLAorICAgICAgICBOVUxMLAorICAgICAgICBOVUxMCit9OworCisjZWxzZQorI2RlZmluZSBJTklURVJST1IgcmV0dXJuCisKKyNpZmRlZiBNRVJHRURfTU9EVUxFUworZXh0ZXJuIHZvaWQgaW5pdGxpYnhzbHRtb2Qodm9pZCk7CisjZW5kaWYKKworI2VuZGlmCisKKyNpZiBQWV9NQUpPUl9WRVJTSU9OID49IDMKK1B5T2JqZWN0ICpQeUluaXRfbGlieG1sMm1vZCh2b2lkKQorI2Vsc2UKK3ZvaWQgaW5pdGxpYnhtbDJtb2Qodm9pZCkKKyNlbmRpZgoreworICAgIFB5T2JqZWN0ICptb2R1bGU7CisKKyNpZiBQWV9NQUpPUl9WRVJTSU9OID49IDMKKyAgICBtb2R1bGUgPSBQeU1vZHVsZV9DcmVhdGUoJm1vZHVsZWRlZik7CisjZWxzZQorICAgIC8qIGludGlhbGl6ZSB0aGUgcHl0aG9uIGV4dGVuc2lvbiBtb2R1bGUgKi8KKyAgICBtb2R1bGUgPSBQeV9Jbml0TW9kdWxlKChjaGFyICopICJsaWJ4bWwybW9kIiwgbGlieG1sTWV0aG9kcyk7CisjZW5kaWYKKyAgICBpZiAobW9kdWxlID09IE5VTEwpCisgICAgICAgIElOSVRFUlJPUjsKKworICAgIC8qIGluaXRpYWxpemUgbGlieG1sMiAqLworICAgIHhtbEluaXRQYXJzZXIoKTsKKyAgICAvKiBUT0RPIHRoaXMgcHJvYmFibHkgbmVlZCB0byBiZSByZXZhbXBlZCBmb3IgUHl0aG9uMyAqLworICAgIGxpYnhtbF94bWxFcnJvckluaXRpYWxpemUoKTsKKworI2lmIFBZX01BSk9SX1ZFUlNJT04gPCAzCisjaWZkZWYgTUVSR0VEX01PRFVMRVMKKyAgICBpbml0bGlieHNsdG1vZCgpOworI2VuZGlmCisjZW5kaWYKKworI2lmIFBZX01BSk9SX1ZFUlNJT04gPj0gMworICAgIHJldHVybiBtb2R1bGU7CisjZW5kaWYKK30KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcHl0aG9uL2xpYnhtbC5weSBiL2xpYnhtbDIvcHl0aG9uL2xpYnhtbC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNDY2Y2M5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9weXRob24vbGlieG1sLnB5CkBAIC0wLDAgKzEsNzg4IEBACitpbXBvcnQgbGlieG1sMm1vZAoraW1wb3J0IHR5cGVzCitpbXBvcnQgc3lzCisKKyMgVGhlIHJvb3Qgb2YgYWxsIGxpYnhtbDIgZXJyb3JzLgorY2xhc3MgbGlieG1sRXJyb3IoRXhjZXB0aW9uKTogcGFzcworCisjIFR5cGUgb2YgdGhlIHdyYXBwZXIgY2xhc3MgZm9yIHRoZSBDIG9iamVjdHMgd3JhcHBlcnMKK2RlZiBjaGVja1dyYXBwZXIob2JqKToKKyAgICB0cnk6CisgICAgICAgIG4gPSB0eXBlKF9vYmopLl9fbmFtZV9fCisgICAgICAgIGlmIG4gIT0gJ1B5Q09iamVjdCcgYW5kIG4gIT0gJ1B5Q2Fwc3VsZSc6CisgICAgICAgICAgICByZXR1cm4gMQorICAgIGV4Y2VwdDoKKyAgICAgICAgcmV0dXJuIDAKKyAgICByZXR1cm4gMAorCisjCisjIGlkKCkgaXMgc29tZXRpbWVzIG5lZ2F0aXZlIC4uLgorIworZGVmIHBvc19pZChvKToKKyAgICBpID0gaWQobykKKyAgICBpZiAoaSA8IDApOgorICAgICAgICByZXR1cm4gKHN5cy5tYXhzaXplIC0gaSkKKyAgICByZXR1cm4gaQorCisjCisjIEVycm9ycyByYWlzZWQgYnkgdGhlIHdyYXBwZXJzIHdoZW4gc29tZSB0cmVlIGhhbmRsaW5nIGZhaWxlZC4KKyMKK2NsYXNzIHRyZWVFcnJvcihsaWJ4bWxFcnJvcik6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIG1zZyk6CisgICAgICAgIHNlbGYubXNnID0gbXNnCisgICAgZGVmIF9fc3RyX18oc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLm1zZworCitjbGFzcyBwYXJzZXJFcnJvcihsaWJ4bWxFcnJvcik6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIG1zZyk6CisgICAgICAgIHNlbGYubXNnID0gbXNnCisgICAgZGVmIF9fc3RyX18oc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLm1zZworCitjbGFzcyB1cmlFcnJvcihsaWJ4bWxFcnJvcik6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIG1zZyk6CisgICAgICAgIHNlbGYubXNnID0gbXNnCisgICAgZGVmIF9fc3RyX18oc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLm1zZworCitjbGFzcyB4cGF0aEVycm9yKGxpYnhtbEVycm9yKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgbXNnKToKKyAgICAgICAgc2VsZi5tc2cgPSBtc2cKKyAgICBkZWYgX19zdHJfXyhzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYubXNnCisKK2NsYXNzIGlvV3JhcHBlcjoKKyAgICBkZWYgX19pbml0X18oc2VsZiwgX29iaik6CisgICAgICAgIHNlbGYuX19pbyA9IF9vYmoKKyAgICAgICAgc2VsZi5fbyA9IE5vbmUKKworICAgIGRlZiBpb19jbG9zZShzZWxmKToKKyAgICAgICAgaWYgc2VsZi5fX2lvID09IE5vbmU6CisgICAgICAgICAgICByZXR1cm4oLTEpCisgICAgICAgIHNlbGYuX19pby5jbG9zZSgpCisgICAgICAgIHNlbGYuX19pbyA9IE5vbmUKKyAgICAgICAgcmV0dXJuKDApCisKKyAgICBkZWYgaW9fZmx1c2goc2VsZik6CisgICAgICAgIGlmIHNlbGYuX19pbyA9PSBOb25lOgorICAgICAgICAgICAgcmV0dXJuKC0xKQorICAgICAgICBzZWxmLl9faW8uZmx1c2goKQorICAgICAgICByZXR1cm4oMCkKKworICAgIGRlZiBpb19yZWFkKHNlbGYsIGxlbiA9IC0xKToKKyAgICAgICAgaWYgc2VsZi5fX2lvID09IE5vbmU6CisgICAgICAgICAgICByZXR1cm4oLTEpCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIGlmIGxlbiA8IDA6CisgICAgICAgICAgICAgICAgcmV0ID0gc2VsZi5fX2lvLnJlYWQoKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICByZXQgPSBzZWxmLl9faW8ucmVhZChsZW4pCisgICAgICAgIGV4Y2VwdCBFeGNlcHRpb246CisgICAgICAgICAgICBpbXBvcnQgc3lzCisgICAgICAgICAgICBlID0gc3lzLmV4Y19pbmZvKClbMV0KKyAgICAgICAgICAgIHByaW50KCJmYWlsZWQgdG8gcmVhZCBmcm9tIFB5dGhvbjoiLCB0eXBlKGUpKQorICAgICAgICAgICAgcHJpbnQoIm9uIElPOiIsIHNlbGYuX19pbykKKyAgICAgICAgICAgIHNlbGYuX19pbyA9PSBOb25lCisgICAgICAgICAgICByZXR1cm4oLTEpCisKKyAgICAgICAgcmV0dXJuKHJldCkKKworICAgIGRlZiBpb193cml0ZShzZWxmLCBzdHIsIGxlbiA9IC0xKToKKyAgICAgICAgaWYgc2VsZi5fX2lvID09IE5vbmU6CisgICAgICAgICAgICByZXR1cm4oLTEpCisgICAgICAgIGlmIGxlbiA8IDA6CisgICAgICAgICAgICByZXR1cm4oc2VsZi5fX2lvLndyaXRlKHN0cikpCisgICAgICAgIHJldHVybihzZWxmLl9faW8ud3JpdGUoc3RyLCBsZW4pKQorCitjbGFzcyBpb1JlYWRXcmFwcGVyKGlvV3JhcHBlcik6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIF9vYmosIGVuYyA9ICIiKToKKyAgICAgICAgaW9XcmFwcGVyLl9faW5pdF9fKHNlbGYsIF9vYmopCisgICAgICAgIHNlbGYuX28gPSBsaWJ4bWwybW9kLnhtbENyZWF0ZUlucHV0QnVmZmVyKHNlbGYsIGVuYykKKworICAgIGRlZiBfX2RlbF9fKHNlbGYpOgorICAgICAgICBwcmludCgiX19kZWxfXyIpCisgICAgICAgIHNlbGYuaW9fY2xvc2UoKQorICAgICAgICBpZiBzZWxmLl9vICE9IE5vbmU6CisgICAgICAgICAgICBsaWJ4bWwybW9kLnhtbEZyZWVQYXJzZXJJbnB1dEJ1ZmZlcihzZWxmLl9vKQorICAgICAgICBzZWxmLl9vID0gTm9uZQorCisgICAgZGVmIGNsb3NlKHNlbGYpOgorICAgICAgICBzZWxmLmlvX2Nsb3NlKCkKKyAgICAgICAgaWYgc2VsZi5fbyAhPSBOb25lOgorICAgICAgICAgICAgbGlieG1sMm1vZC54bWxGcmVlUGFyc2VySW5wdXRCdWZmZXIoc2VsZi5fbykKKyAgICAgICAgc2VsZi5fbyA9IE5vbmUKKworY2xhc3MgaW9Xcml0ZVdyYXBwZXIoaW9XcmFwcGVyKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgX29iaiwgZW5jID0gIiIpOgorIyAgICAgICAgcHJpbnQgImlvV3JpdGVXcmFwcGVyLl9faW5pdF9fIiwgX29iagorICAgICAgICBpZiB0eXBlKF9vYmopID09IHR5cGUoJycpOgorICAgICAgICAgICAgcHJpbnQoIndyaXRlIGlvIGZyb20gYSBzdHJpbmciKQorICAgICAgICAgICAgc2VsZi5vID0gTm9uZQorICAgICAgICBlbGlmIHR5cGUoX29iaikuX19uYW1lX18gPT0gJ1B5Q2Fwc3VsZSc6CisgICAgICAgICAgICBmaWxlID0gbGlieG1sMm1vZC5vdXRwdXRCdWZmZXJHZXRQeXRob25GaWxlKF9vYmopCisgICAgICAgICAgICBpZiBmaWxlICE9IE5vbmU6CisgICAgICAgICAgICAgICAgaW9XcmFwcGVyLl9faW5pdF9fKHNlbGYsIGZpbGUpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIGlvV3JhcHBlci5fX2luaXRfXyhzZWxmLCBfb2JqKQorICAgICAgICAgICAgc2VsZi5fbyA9IF9vYmoKKyMgICAgICAgIGVsaWYgdHlwZShfb2JqKSA9PSB0eXBlcy5JbnN0YW5jZVR5cGU6CisjICAgICAgICAgICAgcHJpbnQoKCJ3cml0ZSBpbyBmcm9tIGluc3RhbmNlIG9mICVzIiAlIChfb2JqLl9fY2xhc3NfXykpKQorIyAgICAgICAgICAgIGlvV3JhcHBlci5fX2luaXRfXyhzZWxmLCBfb2JqKQorIyAgICAgICAgICAgIHNlbGYuX28gPSBsaWJ4bWwybW9kLnhtbENyZWF0ZU91dHB1dEJ1ZmZlcihzZWxmLCBlbmMpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBmaWxlID0gbGlieG1sMm1vZC5vdXRwdXRCdWZmZXJHZXRQeXRob25GaWxlKF9vYmopCisgICAgICAgICAgICBpZiBmaWxlICE9IE5vbmU6CisgICAgICAgICAgICAgICAgaW9XcmFwcGVyLl9faW5pdF9fKHNlbGYsIGZpbGUpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIGlvV3JhcHBlci5fX2luaXRfXyhzZWxmLCBfb2JqKQorICAgICAgICAgICAgc2VsZi5fbyA9IF9vYmoKKworICAgIGRlZiBfX2RlbF9fKHNlbGYpOgorIyAgICAgICAgcHJpbnQgIl9fZGVsX18iCisgICAgICAgIHNlbGYuaW9fY2xvc2UoKQorICAgICAgICBpZiBzZWxmLl9vICE9IE5vbmU6CisgICAgICAgICAgICBsaWJ4bWwybW9kLnhtbE91dHB1dEJ1ZmZlckNsb3NlKHNlbGYuX28pCisgICAgICAgIHNlbGYuX28gPSBOb25lCisKKyAgICBkZWYgZmx1c2goc2VsZik6CisgICAgICAgIHNlbGYuaW9fZmx1c2goKQorICAgICAgICBpZiBzZWxmLl9vICE9IE5vbmU6CisgICAgICAgICAgICBsaWJ4bWwybW9kLnhtbE91dHB1dEJ1ZmZlckNsb3NlKHNlbGYuX28pCisgICAgICAgIHNlbGYuX28gPSBOb25lCisKKyAgICBkZWYgY2xvc2Uoc2VsZik6CisgICAgICAgIHNlbGYuaW9fZmx1c2goKQorICAgICAgICBpZiBzZWxmLl9vICE9IE5vbmU6CisgICAgICAgICAgICBsaWJ4bWwybW9kLnhtbE91dHB1dEJ1ZmZlckNsb3NlKHNlbGYuX28pCisgICAgICAgIHNlbGYuX28gPSBOb25lCisKKyMKKyMgRXhhbXBsZSBvZiBhIGNsYXNzIHRvIGhhbmRsZSBTQVggZXZlbnRzCisjCitjbGFzcyBTQVhDYWxsYmFjazoKKyAgICAiIiJCYXNlIGNsYXNzIGZvciBTQVggaGFuZGxlcnMiIiIKKyAgICBkZWYgc3RhcnREb2N1bWVudChzZWxmKToKKyAgICAgICAgIiIiY2FsbGVkIGF0IHRoZSBzdGFydCBvZiB0aGUgZG9jdW1lbnQiIiIKKyAgICAgICAgcGFzcworCisgICAgZGVmIGVuZERvY3VtZW50KHNlbGYpOgorICAgICAgICAiIiJjYWxsZWQgYXQgdGhlIGVuZCBvZiB0aGUgZG9jdW1lbnQiIiIKKyAgICAgICAgcGFzcworCisgICAgZGVmIHN0YXJ0RWxlbWVudChzZWxmLCB0YWcsIGF0dHJzKToKKyAgICAgICAgIiIiY2FsbGVkIGF0IHRoZSBzdGFydCBvZiBldmVyeSBlbGVtZW50LCB0YWcgaXMgdGhlIG5hbWUgb2YKKyAgICAgICAgICAgdGhlIGVsZW1lbnQsIGF0dHJzIGlzIGEgZGljdGlvbmFyeSBvZiB0aGUgZWxlbWVudCdzIGF0dHJpYnV0ZXMiIiIKKyAgICAgICAgcGFzcworCisgICAgZGVmIGVuZEVsZW1lbnQoc2VsZiwgdGFnKToKKyAgICAgICAgIiIiY2FsbGVkIGF0IHRoZSBzdGFydCBvZiBldmVyeSBlbGVtZW50LCB0YWcgaXMgdGhlIG5hbWUgb2YKKyAgICAgICAgICAgdGhlIGVsZW1lbnQiIiIKKyAgICAgICAgcGFzcworCisgICAgZGVmIGNoYXJhY3RlcnMoc2VsZiwgZGF0YSk6CisgICAgICAgICIiImNhbGxlZCB3aGVuIGNoYXJhY3RlciBkYXRhIGhhdmUgYmVlbiByZWFkLCBkYXRhIGlzIHRoZSBzdHJpbmcKKyAgICAgICAgICAgY29udGFpbmluZyB0aGUgZGF0YSwgbXVsdGlwbGUgY29uc2VjdXRpdmUgY2hhcmFjdGVycygpIGNhbGxiYWNrCisgICAgICAgICAgIGFyZSBwb3NzaWJsZS4iIiIKKyAgICAgICAgcGFzcworCisgICAgZGVmIGNkYXRhQmxvY2soc2VsZiwgZGF0YSk6CisgICAgICAgICIiImNhbGxlZCB3aGVuIENEQVRBIHNlY3Rpb24gaGF2ZSBiZWVuIHJlYWQsIGRhdGEgaXMgdGhlIHN0cmluZworICAgICAgICAgICBjb250YWluaW5nIHRoZSBkYXRhLCBtdWx0aXBsZSBjb25zZWN1dGl2ZSBjZGF0YUJsb2NrKCkgY2FsbGJhY2sKKyAgICAgICAgICAgYXJlIHBvc3NpYmxlLiIiIgorICAgICAgICBwYXNzCisKKyAgICBkZWYgcmVmZXJlbmNlKHNlbGYsIG5hbWUpOgorICAgICAgICAiIiJjYWxsZWQgd2hlbiBhbiBlbnRpdHkgcmVmZXJlbmNlIGhhcyBiZWVuIGZvdW5kIiIiCisgICAgICAgIHBhc3MKKworICAgIGRlZiBpZ25vcmFibGVXaGl0ZXNwYWNlKHNlbGYsIGRhdGEpOgorICAgICAgICAiIiJjYWxsZWQgd2hlbiBwb3RlbnRpYWxseSBpZ25vcmFibGUgd2hpdGUgc3BhY2VzIGhhdmUgYmVlbiBmb3VuZCIiIgorICAgICAgICBwYXNzCisKKyAgICBkZWYgcHJvY2Vzc2luZ0luc3RydWN0aW9uKHNlbGYsIHRhcmdldCwgZGF0YSk6CisgICAgICAgICIiImNhbGxlZCB3aGVuIGEgUEkgaGFzIGJlZW4gZm91bmQsIHRhcmdldCBjb250YWlucyB0aGUgUEkgbmFtZSBhbmQKKyAgICAgICAgICAgZGF0YSBpcyB0aGUgYXNzb2NpYXRlZCBkYXRhIGluIHRoZSBQSSIiIgorICAgICAgICBwYXNzCisKKyAgICBkZWYgY29tbWVudChzZWxmLCBjb250ZW50KToKKyAgICAgICAgIiIiY2FsbGVkIHdoZW4gYSBjb21tZW50IGhhcyBiZWVuIGZvdW5kLCBjb250ZW50IGNvbnRhaW5zIHRoZSBjb21tZW50IiIiCisgICAgICAgIHBhc3MKKworICAgIGRlZiBleHRlcm5hbFN1YnNldChzZWxmLCBuYW1lLCBleHRlcm5hbElELCBzeXN0ZW1JRCk6CisgICAgICAgICIiImNhbGxlZCB3aGVuIGEgRE9DVFlQRSBkZWNsYXJhdGlvbiBoYXMgYmVlbiBmb3VuZCwgbmFtZSBpcyB0aGUKKyAgICAgICAgICAgRFREIG5hbWUgYW5kIGV4dGVybmFsSUQsIHN5c3RlbUlEIGFyZSB0aGUgRFREIHB1YmxpYyBhbmQgc3lzdGVtCisgICAgICAgICAgIGlkZW50aWZpZXIgZm9yIHRoYXQgRFRkIGlmIGF2YWlsYWJsZSIiIgorICAgICAgICBwYXNzCisKKyAgICBkZWYgaW50ZXJuYWxTdWJzZXQoc2VsZiwgbmFtZSwgZXh0ZXJuYWxJRCwgc3lzdGVtSUQpOgorICAgICAgICAiIiJjYWxsZWQgd2hlbiBhIERPQ1RZUEUgZGVjbGFyYXRpb24gaGFzIGJlZW4gZm91bmQsIG5hbWUgaXMgdGhlCisgICAgICAgICAgIERURCBuYW1lIGFuZCBleHRlcm5hbElELCBzeXN0ZW1JRCBhcmUgdGhlIERURCBwdWJsaWMgYW5kIHN5c3RlbQorICAgICAgICAgICBpZGVudGlmaWVyIGZvciB0aGF0IERURCBpZiBhdmFpbGFibGUiIiIKKyAgICAgICAgcGFzcworCisgICAgZGVmIGVudGl0eURlY2woc2VsZiwgbmFtZSwgdHlwZSwgZXh0ZXJuYWxJRCwgc3lzdGVtSUQsIGNvbnRlbnQpOgorICAgICAgICAiIiJjYWxsZWQgd2hlbiBhbiBFTlRJVFkgZGVjbGFyYXRpb24gaGFzIGJlZW4gZm91bmQsIG5hbWUgaXMgdGhlCisgICAgICAgICAgIGVudGl0eSBuYW1lIGFuZCBleHRlcm5hbElELCBzeXN0ZW1JRCBhcmUgdGhlIGVudGl0eSBwdWJsaWMgYW5kCisgICAgICAgICAgIHN5c3RlbSBpZGVudGlmaWVyIGZvciB0aGF0IGVudGl0eSBpZiBhdmFpbGFibGUsIHR5cGUgaW5kaWNhdGVzCisgICAgICAgICAgIHRoZSBlbnRpdHkgdHlwZSwgYW5kIGNvbnRlbnQgcmVwb3J0cyBpdCdzIHN0cmluZyBjb250ZW50IiIiCisgICAgICAgIHBhc3MKKworICAgIGRlZiBub3RhdGlvbkRlY2woc2VsZiwgbmFtZSwgZXh0ZXJuYWxJRCwgc3lzdGVtSUQpOgorICAgICAgICAiIiJjYWxsZWQgd2hlbiBhbiBOT1RBVElPTiBkZWNsYXJhdGlvbiBoYXMgYmVlbiBmb3VuZCwgbmFtZSBpcyB0aGUKKyAgICAgICAgICAgbm90YXRpb24gbmFtZSBhbmQgZXh0ZXJuYWxJRCwgc3lzdGVtSUQgYXJlIHRoZSBub3RhdGlvbiBwdWJsaWMgYW5kCisgICAgICAgICAgIHN5c3RlbSBpZGVudGlmaWVyIGZvciB0aGF0IG5vdGF0aW9uIGlmIGF2YWlsYWJsZSIiIgorICAgICAgICBwYXNzCisKKyAgICBkZWYgYXR0cmlidXRlRGVjbChzZWxmLCBlbGVtLCBuYW1lLCB0eXBlLCBkZWZpLCBkZWZhdWx0VmFsdWUsIG5hbWVMaXN0KToKKyAgICAgICAgIiIiY2FsbGVkIHdoZW4gYW4gQVRUUklCVVRFIGRlZmluaXRpb24gaGFzIGJlZW4gZm91bmQiIiIKKyAgICAgICAgcGFzcworCisgICAgZGVmIGVsZW1lbnREZWNsKHNlbGYsIG5hbWUsIHR5cGUsIGNvbnRlbnQpOgorICAgICAgICAiIiJjYWxsZWQgd2hlbiBhbiBFTEVNRU5UIGRlZmluaXRpb24gaGFzIGJlZW4gZm91bmQiIiIKKyAgICAgICAgcGFzcworCisgICAgZGVmIGVudGl0eURlY2woc2VsZiwgbmFtZSwgcHVibGljSWQsIHN5c3RlbUlELCBub3RhdGlvbk5hbWUpOgorICAgICAgICAiIiJjYWxsZWQgd2hlbiBhbiB1bnBhcnNlZCBFTlRJVFkgZGVjbGFyYXRpb24gaGFzIGJlZW4gZm91bmQsCisgICAgICAgICAgIG5hbWUgaXMgdGhlIGVudGl0eSBuYW1lIGFuZCBwdWJsaWNJZCwsIHN5c3RlbUlEIGFyZSB0aGUgZW50aXR5CisgICAgICAgICAgIHB1YmxpYyBhbmQgc3lzdGVtIGlkZW50aWZpZXIgZm9yIHRoYXQgZW50aXR5IGlmIGF2YWlsYWJsZSwKKyAgICAgICAgICAgYW5kIG5vdGF0aW9uTmFtZSBpbmRpY2F0ZSB0aGUgYXNzb2NpYXRlZCBOT1RBVElPTiIiIgorICAgICAgICBwYXNzCisKKyAgICBkZWYgd2FybmluZyhzZWxmLCBtc2cpOgorICAgICAgICAjcHJpbnQgbXNnCisgICAgICAgIHBhc3MKKworICAgIGRlZiBlcnJvcihzZWxmLCBtc2cpOgorICAgICAgICByYWlzZSBwYXJzZXJFcnJvcihtc2cpCisKKyAgICBkZWYgZmF0YWxFcnJvcihzZWxmLCBtc2cpOgorICAgICAgICByYWlzZSBwYXJzZXJFcnJvcihtc2cpCisKKyMKKyMgVGhpcyBjbGFzcyBpcyB0aGUgYW5jZXN0b3Igb2YgYWxsIHRoZSBOb2RlIGNsYXNzZXMuIEl0IHByb3ZpZGVzCisjIHRoZSBiYXNpYyBmdW5jdGlvbmFsaXRpZXMgc2hhcmVkIGJ5IGFsbCBub2RlcyAoYW5kIGhhbmRsZQorIyBncmFjZWZ5bGx5IHRoZSBleGNlcHRpb24pLCBsaWtlIG5hbWUsIG5hdmlnYXRpb24gaW4gdGhlIHRyZWUsCisjIGRvYyByZWZlcmVuY2UsIGNvbnRlbnQgYWNjZXNzIGFuZCBzZXJpYWxpemluZyB0byBhIHN0cmluZyBvciBVUkkKKyMKK2NsYXNzIHhtbENvcmU6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIF9vYmo9Tm9uZSk6CisgICAgICAgIGlmIF9vYmogIT0gTm9uZTogCisgICAgICAgICAgICBzZWxmLl9vID0gX29iajsKKyAgICAgICAgICAgIHJldHVybgorICAgICAgICBzZWxmLl9vID0gTm9uZQorCisgICAgZGVmIF9fZXFfXyhzZWxmLCBvdGhlcik6CisgICAgICAgIGlmIG90aGVyID09IE5vbmU6CisgICAgICAgICAgICByZXR1cm4gRmFsc2UKKyAgICAgICAgcmV0ID0gbGlieG1sMm1vZC5jb21wYXJlTm9kZXNFcXVhbChzZWxmLl9vLCBvdGhlci5fbykKKyAgICAgICAgaWYgcmV0ID09IE5vbmU6CisgICAgICAgICAgICByZXR1cm4gRmFsc2UKKyAgICAgICAgcmV0dXJuIHJldCA9PSBUcnVlCisgICAgZGVmIF9fbmVfXyhzZWxmLCBvdGhlcik6CisgICAgICAgIGlmIG90aGVyID09IE5vbmU6CisgICAgICAgICAgICByZXR1cm4gVHJ1ZQorICAgICAgICByZXQgPSBsaWJ4bWwybW9kLmNvbXBhcmVOb2Rlc0VxdWFsKHNlbGYuX28sIG90aGVyLl9vKQorICAgICAgICByZXR1cm4gbm90IHJldAorICAgIGRlZiBfX2hhc2hfXyhzZWxmKToKKyAgICAgICAgcmV0ID0gbGlieG1sMm1vZC5ub2RlSGFzaChzZWxmLl9vKQorICAgICAgICByZXR1cm4gcmV0CisKKyAgICBkZWYgX19zdHJfXyhzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYuc2VyaWFsaXplKCkKKyAgICBkZWYgZ2V0X3BhcmVudChzZWxmKToKKyAgICAgICAgcmV0ID0gbGlieG1sMm1vZC5wYXJlbnQoc2VsZi5fbykKKyAgICAgICAgaWYgcmV0ID09IE5vbmU6CisgICAgICAgICAgICByZXR1cm4gTm9uZQorICAgICAgICByZXR1cm4gbm9kZVdyYXAocmV0KQorICAgIGRlZiBnZXRfY2hpbGRyZW4oc2VsZik6CisgICAgICAgIHJldCA9IGxpYnhtbDJtb2QuY2hpbGRyZW4oc2VsZi5fbykKKyAgICAgICAgaWYgcmV0ID09IE5vbmU6CisgICAgICAgICAgICByZXR1cm4gTm9uZQorICAgICAgICByZXR1cm4gbm9kZVdyYXAocmV0KQorICAgIGRlZiBnZXRfbGFzdChzZWxmKToKKyAgICAgICAgcmV0ID0gbGlieG1sMm1vZC5sYXN0KHNlbGYuX28pCisgICAgICAgIGlmIHJldCA9PSBOb25lOgorICAgICAgICAgICAgcmV0dXJuIE5vbmUKKyAgICAgICAgcmV0dXJuIG5vZGVXcmFwKHJldCkKKyAgICBkZWYgZ2V0X25leHQoc2VsZik6CisgICAgICAgIHJldCA9IGxpYnhtbDJtb2QubmV4dChzZWxmLl9vKQorICAgICAgICBpZiByZXQgPT0gTm9uZToKKyAgICAgICAgICAgIHJldHVybiBOb25lCisgICAgICAgIHJldHVybiBub2RlV3JhcChyZXQpCisgICAgZGVmIGdldF9wcm9wZXJ0aWVzKHNlbGYpOgorICAgICAgICByZXQgPSBsaWJ4bWwybW9kLnByb3BlcnRpZXMoc2VsZi5fbykKKyAgICAgICAgaWYgcmV0ID09IE5vbmU6CisgICAgICAgICAgICByZXR1cm4gTm9uZQorICAgICAgICByZXR1cm4geG1sQXR0cihfb2JqPXJldCkKKyAgICBkZWYgZ2V0X3ByZXYoc2VsZik6CisgICAgICAgIHJldCA9IGxpYnhtbDJtb2QucHJldihzZWxmLl9vKQorICAgICAgICBpZiByZXQgPT0gTm9uZToKKyAgICAgICAgICAgIHJldHVybiBOb25lCisgICAgICAgIHJldHVybiBub2RlV3JhcChyZXQpCisgICAgZGVmIGdldF9jb250ZW50KHNlbGYpOgorICAgICAgICByZXR1cm4gbGlieG1sMm1vZC54bWxOb2RlR2V0Q29udGVudChzZWxmLl9vKQorICAgIGdldENvbnRlbnQgPSBnZXRfY29udGVudCAgIyB3aHkgaXMgdGhpcyBkdXBsaWNhdGUgbmFtaW5nIG5lZWRlZCA/CisgICAgZGVmIGdldF9uYW1lKHNlbGYpOgorICAgICAgICByZXR1cm4gbGlieG1sMm1vZC5uYW1lKHNlbGYuX28pCisgICAgZGVmIGdldF90eXBlKHNlbGYpOgorICAgICAgICByZXR1cm4gbGlieG1sMm1vZC50eXBlKHNlbGYuX28pCisgICAgZGVmIGdldF9kb2Moc2VsZik6CisgICAgICAgIHJldCA9IGxpYnhtbDJtb2QuZG9jKHNlbGYuX28pCisgICAgICAgIGlmIHJldCA9PSBOb25lOgorICAgICAgICAgICAgaWYgc2VsZi50eXBlIGluIFsiZG9jdW1lbnRfeG1sIiwgImRvY3VtZW50X2h0bWwiXToKKyAgICAgICAgICAgICAgICByZXR1cm4geG1sRG9jKF9vYmo9c2VsZi5fbykKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgcmV0dXJuIE5vbmUKKyAgICAgICAgcmV0dXJuIHhtbERvYyhfb2JqPXJldCkKKyAgICAjCisgICAgIyBUaG9zZSBhcmUgY29tbW9uIGF0dHJpYnV0ZXMgdG8gbmVhcmx5IGFsbCB0eXBlIG9mIG5vZGVzCisgICAgIyBkZWZpbmVkIGFzIHB5dGhvbjIgcHJvcGVydGllcworICAgICMgCisgICAgaW1wb3J0IHN5cworICAgIGlmIGZsb2F0KHN5cy52ZXJzaW9uWzA6M10pIDwgMi4yOgorICAgICAgICBkZWYgX19nZXRhdHRyX18oc2VsZiwgYXR0cik6CisgICAgICAgICAgICBpZiBhdHRyID09ICJwYXJlbnQiOgorICAgICAgICAgICAgICAgIHJldCA9IGxpYnhtbDJtb2QucGFyZW50KHNlbGYuX28pCisgICAgICAgICAgICAgICAgaWYgcmV0ID09IE5vbmU6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBOb25lCisgICAgICAgICAgICAgICAgcmV0dXJuIG5vZGVXcmFwKHJldCkKKyAgICAgICAgICAgIGVsaWYgYXR0ciA9PSAicHJvcGVydGllcyI6CisgICAgICAgICAgICAgICAgcmV0ID0gbGlieG1sMm1vZC5wcm9wZXJ0aWVzKHNlbGYuX28pCisgICAgICAgICAgICAgICAgaWYgcmV0ID09IE5vbmU6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBOb25lCisgICAgICAgICAgICAgICAgcmV0dXJuIHhtbEF0dHIoX29iaj1yZXQpCisgICAgICAgICAgICBlbGlmIGF0dHIgPT0gImNoaWxkcmVuIjoKKyAgICAgICAgICAgICAgICByZXQgPSBsaWJ4bWwybW9kLmNoaWxkcmVuKHNlbGYuX28pCisgICAgICAgICAgICAgICAgaWYgcmV0ID09IE5vbmU6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBOb25lCisgICAgICAgICAgICAgICAgcmV0dXJuIG5vZGVXcmFwKHJldCkKKyAgICAgICAgICAgIGVsaWYgYXR0ciA9PSAibGFzdCI6CisgICAgICAgICAgICAgICAgcmV0ID0gbGlieG1sMm1vZC5sYXN0KHNlbGYuX28pCisgICAgICAgICAgICAgICAgaWYgcmV0ID09IE5vbmU6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBOb25lCisgICAgICAgICAgICAgICAgcmV0dXJuIG5vZGVXcmFwKHJldCkKKyAgICAgICAgICAgIGVsaWYgYXR0ciA9PSAibmV4dCI6CisgICAgICAgICAgICAgICAgcmV0ID0gbGlieG1sMm1vZC5uZXh0KHNlbGYuX28pCisgICAgICAgICAgICAgICAgaWYgcmV0ID09IE5vbmU6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBOb25lCisgICAgICAgICAgICAgICAgcmV0dXJuIG5vZGVXcmFwKHJldCkKKyAgICAgICAgICAgIGVsaWYgYXR0ciA9PSAicHJldiI6CisgICAgICAgICAgICAgICAgcmV0ID0gbGlieG1sMm1vZC5wcmV2KHNlbGYuX28pCisgICAgICAgICAgICAgICAgaWYgcmV0ID09IE5vbmU6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBOb25lCisgICAgICAgICAgICAgICAgcmV0dXJuIG5vZGVXcmFwKHJldCkKKyAgICAgICAgICAgIGVsaWYgYXR0ciA9PSAiY29udGVudCI6CisgICAgICAgICAgICAgICAgcmV0dXJuIGxpYnhtbDJtb2QueG1sTm9kZUdldENvbnRlbnQoc2VsZi5fbykKKyAgICAgICAgICAgIGVsaWYgYXR0ciA9PSAibmFtZSI6CisgICAgICAgICAgICAgICAgcmV0dXJuIGxpYnhtbDJtb2QubmFtZShzZWxmLl9vKQorICAgICAgICAgICAgZWxpZiBhdHRyID09ICJ0eXBlIjoKKyAgICAgICAgICAgICAgICByZXR1cm4gbGlieG1sMm1vZC50eXBlKHNlbGYuX28pCisgICAgICAgICAgICBlbGlmIGF0dHIgPT0gImRvYyI6CisgICAgICAgICAgICAgICAgcmV0ID0gbGlieG1sMm1vZC5kb2Moc2VsZi5fbykKKyAgICAgICAgICAgICAgICBpZiByZXQgPT0gTm9uZToKKyAgICAgICAgICAgICAgICAgICAgaWYgc2VsZi50eXBlID09ICJkb2N1bWVudF94bWwiIG9yIHNlbGYudHlwZSA9PSAiZG9jdW1lbnRfaHRtbCI6CisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4geG1sRG9jKF9vYmo9c2VsZi5fbykKKyAgICAgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBOb25lCisgICAgICAgICAgICAgICAgcmV0dXJuIHhtbERvYyhfb2JqPXJldCkKKyAgICAgICAgICAgIHJhaXNlIEF0dHJpYnV0ZUVycm9yKGF0dHIpCisgICAgZWxzZToKKyAgICAgICAgcGFyZW50ID0gcHJvcGVydHkoZ2V0X3BhcmVudCwgTm9uZSwgTm9uZSwgIlBhcmVudCBub2RlIikKKyAgICAgICAgY2hpbGRyZW4gPSBwcm9wZXJ0eShnZXRfY2hpbGRyZW4sIE5vbmUsIE5vbmUsICJGaXJzdCBjaGlsZCBub2RlIikKKyAgICAgICAgbGFzdCA9IHByb3BlcnR5KGdldF9sYXN0LCBOb25lLCBOb25lLCAiTGFzdCBzaWJsaW5nIG5vZGUiKQorICAgICAgICBuZXh0ID0gcHJvcGVydHkoZ2V0X25leHQsIE5vbmUsIE5vbmUsICJOZXh0IHNpYmxpbmcgbm9kZSIpCisgICAgICAgIHByZXYgPSBwcm9wZXJ0eShnZXRfcHJldiwgTm9uZSwgTm9uZSwgIlByZXZpb3VzIHNpYmxpbmcgbm9kZSIpCisgICAgICAgIHByb3BlcnRpZXMgPSBwcm9wZXJ0eShnZXRfcHJvcGVydGllcywgTm9uZSwgTm9uZSwgIkxpc3Qgb2YgcHJvcGVyaWVzIikKKyAgICAgICAgY29udGVudCA9IHByb3BlcnR5KGdldF9jb250ZW50LCBOb25lLCBOb25lLCAiQ29udGVudCBvZiB0aGlzIG5vZGUiKQorICAgICAgICBuYW1lID0gcHJvcGVydHkoZ2V0X25hbWUsIE5vbmUsIE5vbmUsICJOb2RlIG5hbWUiKQorICAgICAgICB0eXBlID0gcHJvcGVydHkoZ2V0X3R5cGUsIE5vbmUsIE5vbmUsICJOb2RlIHR5cGUiKQorICAgICAgICBkb2MgPSBwcm9wZXJ0eShnZXRfZG9jLCBOb25lLCBOb25lLCAiVGhlIGRvY3VtZW50IHRoaXMgbm9kZSBiZWxvbmdzIHRvIikKKworICAgICMKKyAgICAjIFNlcmlhbGl6YXRpb24gcm91dGluZXMsIHRoZSBvcHRpb25hbCBhcmd1bWVudHMgaGF2ZSB0aGUgZm9sbG93aW5nCisgICAgIyBtZWFuaW5nOgorICAgICMgICAgIGVuY29kaW5nOiBzdHJpbmcgdG8gYXNrIHNhdmluZyBpbiBhIHNwZWNpZmljIGVuY29kaW5nCisgICAgIyAgICAgaW5kZW50OiBpZiAxIHRoZSBzZXJpYWxpemVyIGlzIGFza2VkIHRvIGluZGVudCB0aGUgb3V0cHV0CisgICAgIworICAgIGRlZiBzZXJpYWxpemUoc2VsZiwgZW5jb2RpbmcgPSBOb25lLCBmb3JtYXQgPSAwKToKKyAgICAgICAgcmV0dXJuIGxpYnhtbDJtb2Quc2VyaWFsaXplTm9kZShzZWxmLl9vLCBlbmNvZGluZywgZm9ybWF0KQorICAgIGRlZiBzYXZlVG8oc2VsZiwgZmlsZSwgZW5jb2RpbmcgPSBOb25lLCBmb3JtYXQgPSAwKToKKyAgICAgICAgcmV0dXJuIGxpYnhtbDJtb2Quc2F2ZU5vZGVUbyhzZWxmLl9vLCBmaWxlLCBlbmNvZGluZywgZm9ybWF0KQorICAgICAgICAgICAgCisgICAgIworICAgICMgQ2Fub25pY2FsaXphdGlvbiByb3V0aW5lczoKKyAgICAjCisgICAgIyAgIG5vZGVzOiB0aGUgbm9kZSBzZXQgKHR1cGxlIG9yIGxpc3QpIHRvIGJlIGluY2x1ZGVkIGluIHRoZQorICAgICMgICAgIGNhbm9uaXplZCBpbWFnZSBvciBOb25lIGlmIGFsbCBkb2N1bWVudCBub2RlcyBzaG91bGQgYmUKKyAgICAjICAgICBpbmNsdWRlZC4KKyAgICAjICAgZXhjbHVzaXZlOiB0aGUgZXhjbHVzaXZlIGZsYWcgKDAgLSBub24tZXhjbHVzaXZlCisgICAgIyAgICAgY2Fub25pY2FsaXphdGlvbjsgb3RoZXJ3aXNlIC0gZXhjbHVzaXZlIGNhbm9uaWNhbGl6YXRpb24pCisgICAgIyAgIHByZWZpeGVzOiB0aGUgbGlzdCBvZiBpbmNsdXNpdmUgbmFtZXNwYWNlIHByZWZpeGVzIChzdHJpbmdzKSwKKyAgICAjICAgICBvciBOb25lIGlmIHRoZXJlIGlzIG5vIGluY2x1c2l2ZSBuYW1lc3BhY2VzIChvbmx5IGZvcgorICAgICMgICAgIGV4Y2x1c2l2ZSBjYW5vbmljYWxpemF0aW9uLCBpZ25vcmVkIG90aGVyd2lzZSkKKyAgICAjICAgd2l0aF9jb21tZW50czogaW5jbHVkZSBjb21tZW50cyBpbiB0aGUgcmVzdWx0ICghPTApIG9yIG5vdAorICAgICMgICAgICg9PTApCisgICAgZGVmIGMxNG5NZW1vcnkoc2VsZiwKKyAgICAgICAgICAgICAgICAgICBub2Rlcz1Ob25lLAorICAgICAgICAgICAgICAgICAgIGV4Y2x1c2l2ZT0wLAorICAgICAgICAgICAgICAgICAgIHByZWZpeGVzPU5vbmUsCisgICAgICAgICAgICAgICAgICAgd2l0aF9jb21tZW50cz0wKToKKyAgICAgICAgaWYgbm9kZXM6CisgICAgICAgICAgICBub2RlcyA9IFtuLl9vIGZvciBuIGluIG5vZGVzXQorICAgICAgICByZXR1cm4gbGlieG1sMm1vZC54bWxDMTRORG9jRHVtcE1lbW9yeSgKKyAgICAgICAgICAgIHNlbGYuZ2V0X2RvYygpLl9vLAorICAgICAgICAgICAgbm9kZXMsCisgICAgICAgICAgICBleGNsdXNpdmUgIT0gMCwKKyAgICAgICAgICAgIHByZWZpeGVzLAorICAgICAgICAgICAgd2l0aF9jb21tZW50cyAhPSAwKQorICAgIGRlZiBjMTRuU2F2ZVRvKHNlbGYsCisgICAgICAgICAgICAgICAgICAgZmlsZSwKKyAgICAgICAgICAgICAgICAgICBub2Rlcz1Ob25lLAorICAgICAgICAgICAgICAgICAgIGV4Y2x1c2l2ZT0wLAorICAgICAgICAgICAgICAgICAgIHByZWZpeGVzPU5vbmUsCisgICAgICAgICAgICAgICAgICAgd2l0aF9jb21tZW50cz0wKToKKyAgICAgICAgaWYgbm9kZXM6CisgICAgICAgICAgICBub2RlcyA9IFtuLl9vIGZvciBuIGluIG5vZGVzXQorICAgICAgICByZXR1cm4gbGlieG1sMm1vZC54bWxDMTRORG9jU2F2ZVRvKAorICAgICAgICAgICAgc2VsZi5nZXRfZG9jKCkuX28sCisgICAgICAgICAgICBub2RlcywKKyAgICAgICAgICAgIGV4Y2x1c2l2ZSAhPSAwLAorICAgICAgICAgICAgcHJlZml4ZXMsCisgICAgICAgICAgICB3aXRoX2NvbW1lbnRzICE9IDAsCisgICAgICAgICAgICBmaWxlKQorCisgICAgIworICAgICMgU2VsZWN0aW5nIG5vZGVzIHVzaW5nIFhQYXRoLCBhIGJpdCBzbG93IGJlY2F1c2UgdGhlIGNvbnRleHQKKyAgICAjIGlzIGFsbG9jYXRlZC9mcmVlZCBldmVyeSB0aW1lIGJ1dCBjb252ZW5pZW50LgorICAgICMKKyAgICBkZWYgeHBhdGhFdmFsKHNlbGYsIGV4cHIpOgorICAgICAgICBkb2MgPSBzZWxmLmRvYworICAgICAgICBpZiBkb2MgPT0gTm9uZToKKyAgICAgICAgICAgIHJldHVybiBOb25lCisgICAgICAgIGN0eHQgPSBkb2MueHBhdGhOZXdDb250ZXh0KCkKKyAgICAgICAgY3R4dC5zZXRDb250ZXh0Tm9kZShzZWxmKQorICAgICAgICByZXMgPSBjdHh0LnhwYXRoRXZhbChleHByKQorICAgICAgICBjdHh0LnhwYXRoRnJlZUNvbnRleHQoKQorICAgICAgICByZXR1cm4gcmVzCisKKyMgICAgIworIyAgICAjIFNlbGVjdGluZyBub2RlcyB1c2luZyBYUGF0aCwgZmFzdGVyIGJlY2F1c2UgdGhlIGNvbnRleHQKKyMgICAgIyBpcyBhbGxvY2F0ZWQganVzdCBvbmNlIHBlciB4bWxEb2MuCisjICAgICMKKyMgICAgIyBSZW1vdmVkOiBEViBtZW1sZWFrcyBjLmYuICMxMjY3MzUKKyMgICAgIworIyAgICBkZWYgeHBhdGhFdmFsMihzZWxmLCBleHByKToKKyMgICAgICAgIGRvYyA9IHNlbGYuZG9jCisjICAgICAgICBpZiBkb2MgPT0gTm9uZToKKyMgICAgICAgICAgICByZXR1cm4gTm9uZQorIyAgICAgICAgdHJ5OgorIyAgICAgICAgICAgIGRvYy5fY3R4dC5zZXRDb250ZXh0Tm9kZShzZWxmKQorIyAgICAgICAgZXhjZXB0OgorIyAgICAgICAgICAgIGRvYy5fY3R4dCA9IGRvYy54cGF0aE5ld0NvbnRleHQoKQorIyAgICAgICAgICAgIGRvYy5fY3R4dC5zZXRDb250ZXh0Tm9kZShzZWxmKQorIyAgICAgICAgcmVzID0gZG9jLl9jdHh0LnhwYXRoRXZhbChleHByKQorIyAgICAgICAgcmV0dXJuIHJlcworICAgIGRlZiB4cGF0aEV2YWwyKHNlbGYsIGV4cHIpOgorICAgICAgICByZXR1cm4gc2VsZi54cGF0aEV2YWwoZXhwcikKKworICAgICMgUmVtb3ZlIG5hbWVzcGFjZXMKKyAgICBkZWYgcmVtb3ZlTnNEZWYoc2VsZiwgaHJlZik6CisgICAgICAgICIiIgorICAgICAgICBSZW1vdmUgYSBuYW1lc3BhY2UgZGVmaW5pdGlvbiBmcm9tIGEgbm9kZS4gIElmIGhyZWYgaXMgTm9uZSwKKyAgICAgICAgcmVtb3ZlIGFsbCBvZiB0aGUgbnMgZGVmaW5pdGlvbnMgb24gdGhhdCBub2RlLiAgVGhlIHJlbW92ZWQKKyAgICAgICAgbmFtZXNwYWNlcyBhcmUgcmV0dXJuZWQgYXMgYSBsaW5rZWQgbGlzdC4KKworICAgICAgICBOb3RlOiBJZiBhbnkgY2hpbGQgbm9kZXMgcmVmZXJyZWQgdG8gdGhlIHJlbW92ZWQgbmFtZXNwYWNlcywKKyAgICAgICAgdGhleSB3aWxsIGJlIGxlZnQgd2l0aCBkYW5nbGluZyBsaW5rcy4gIFlvdSBzaG91bGQgY2FsbAorICAgICAgICByZW5jb25jaWxpYXRlTnMoKSB0byBmaXggdGhvc2UgcG9pbnRlcnMuCisKKyAgICAgICAgTm90ZTogVGhpcyBtZXRob2QgZG9lcyBub3QgZnJlZSBtZW1vcnkgdGFrZW4gYnkgdGhlIG5zCisgICAgICAgIGRlZmluaXRpb25zLiAgWW91IHdpbGwgbmVlZCB0byBmcmVlIGl0IG1hbnVhbGx5IHdpdGggdGhlCisgICAgICAgIGZyZWVOc0xpc3QoKSBtZXRob2Qgb24gdGhlIHJldHVybnMgeG1sTnMgb2JqZWN0LgorICAgICAgICAiIiIKKworICAgICAgICByZXQgPSBsaWJ4bWwybW9kLnhtbE5vZGVSZW1vdmVOc0RlZihzZWxmLl9vLCBocmVmKQorICAgICAgICBpZiByZXQgaXMgTm9uZTpyZXR1cm4gTm9uZQorICAgICAgICBfX3RtcCA9IHhtbE5zKF9vYmo9cmV0KQorICAgICAgICByZXR1cm4gX190bXAKKworICAgICMgc3VwcG9ydCBmb3IgcHl0aG9uMiBpdGVyYXRvcnMKKyAgICBkZWYgd2Fsa19kZXB0aF9maXJzdChzZWxmKToKKyAgICAgICAgcmV0dXJuIHhtbENvcmVEZXB0aEZpcnN0SXRlcnRvcihzZWxmKQorICAgIGRlZiB3YWxrX2JyZWFkdGhfZmlyc3Qoc2VsZik6CisgICAgICAgIHJldHVybiB4bWxDb3JlQnJlYWR0aEZpcnN0SXRlcnRvcihzZWxmKQorICAgIF9faXRlcl9fID0gd2Fsa19kZXB0aF9maXJzdAorCisgICAgZGVmIGZyZWUoc2VsZik6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHNlbGYuZG9jLl9jdHh0LnhwYXRoRnJlZUNvbnRleHQoKQorICAgICAgICBleGNlcHQ6CisgICAgICAgICAgICBwYXNzCisgICAgICAgIGxpYnhtbDJtb2QueG1sRnJlZURvYyhzZWxmLl9vKQorCisKKyMKKyMgaW1wbGVtZW50cyB0aGUgZGVwdGgtZmlyc3QgaXRlcmF0b3IgZm9yIGxpYnhtbDIgRE9NIHRyZWUKKyMKK2NsYXNzIHhtbENvcmVEZXB0aEZpcnN0SXRlcnRvcjoKKyAgICBkZWYgX19pbml0X18oc2VsZiwgbm9kZSk6CisgICAgICAgIHNlbGYubm9kZSA9IG5vZGUKKyAgICAgICAgc2VsZi5wYXJlbnRzID0gW10KKyAgICBkZWYgX19pdGVyX18oc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmCisgICAgZGVmIF9fbmV4dF9fKHNlbGYpOgorICAgICAgICB3aGlsZSAxOgorICAgICAgICAgICAgaWYgc2VsZi5ub2RlOgorICAgICAgICAgICAgICAgIHJldCA9IHNlbGYubm9kZQorICAgICAgICAgICAgICAgIHNlbGYucGFyZW50cy5hcHBlbmQoc2VsZi5ub2RlKQorICAgICAgICAgICAgICAgIHNlbGYubm9kZSA9IHNlbGYubm9kZS5jaGlsZHJlbgorICAgICAgICAgICAgICAgIHJldHVybiByZXQKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBwYXJlbnQgPSBzZWxmLnBhcmVudHMucG9wKCkKKyAgICAgICAgICAgIGV4Y2VwdCBJbmRleEVycm9yOgorICAgICAgICAgICAgICAgIHJhaXNlIFN0b3BJdGVyYXRpb24KKyAgICAgICAgICAgIHNlbGYubm9kZSA9IHBhcmVudC5uZXh0CisgICAgbmV4dCA9IF9fbmV4dF9fCisKKyMKKyMgaW1wbGVtZW50cyB0aGUgYnJlYWR0aC1maXJzdCBpdGVyYXRvciBmb3IgbGlieG1sMiBET00gdHJlZQorIworY2xhc3MgeG1sQ29yZUJyZWFkdGhGaXJzdEl0ZXJ0b3I6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIG5vZGUpOgorICAgICAgICBzZWxmLm5vZGUgPSBub2RlCisgICAgICAgIHNlbGYucGFyZW50cyA9IFtdCisgICAgZGVmIF9faXRlcl9fKHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZgorICAgIGRlZiBfX25leHRfXyhzZWxmKToKKyAgICAgICAgd2hpbGUgMToKKyAgICAgICAgICAgIGlmIHNlbGYubm9kZToKKyAgICAgICAgICAgICAgICByZXQgPSBzZWxmLm5vZGUKKyAgICAgICAgICAgICAgICBzZWxmLnBhcmVudHMuYXBwZW5kKHNlbGYubm9kZSkKKyAgICAgICAgICAgICAgICBzZWxmLm5vZGUgPSBzZWxmLm5vZGUubmV4dAorICAgICAgICAgICAgICAgIHJldHVybiByZXQKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBwYXJlbnQgPSBzZWxmLnBhcmVudHMucG9wKCkKKyAgICAgICAgICAgIGV4Y2VwdCBJbmRleEVycm9yOgorICAgICAgICAgICAgICAgIHJhaXNlIFN0b3BJdGVyYXRpb24KKyAgICAgICAgICAgIHNlbGYubm9kZSA9IHBhcmVudC5jaGlsZHJlbgorICAgIG5leHQgPSBfX25leHRfXworCisjCisjIGNvbnZlcnRlcnMgdG8gcHJlc2VudCBhIG5pY2VyIHZpZXcgb2YgdGhlIFhQYXRoIHJldHVybnMKKyMKK2RlZiBub2RlV3JhcChvKToKKyAgICAjIFRPRE8gdHJ5IHRvIGNhc3QgdG8gdGhlIG1vc3QgYXBwcm9wcmlhdGUgbm9kZSBjbGFzcworICAgIG5hbWUgPSBsaWJ4bWwybW9kLnR5cGUobykKKyAgICBpZiBuYW1lID09ICJlbGVtZW50IiBvciBuYW1lID09ICJ0ZXh0IjoKKyAgICAgICAgcmV0dXJuIHhtbE5vZGUoX29iaj1vKQorICAgIGlmIG5hbWUgPT0gImF0dHJpYnV0ZSI6CisgICAgICAgIHJldHVybiB4bWxBdHRyKF9vYmo9bykKKyAgICBpZiBuYW1lWzA6OF0gPT0gImRvY3VtZW50IjoKKyAgICAgICAgcmV0dXJuIHhtbERvYyhfb2JqPW8pCisgICAgaWYgbmFtZSA9PSAibmFtZXNwYWNlIjoKKyAgICAgICAgcmV0dXJuIHhtbE5zKF9vYmo9bykKKyAgICBpZiBuYW1lID09ICJlbGVtX2RlY2wiOgorICAgICAgICByZXR1cm4geG1sRWxlbWVudChfb2JqPW8pCisgICAgaWYgbmFtZSA9PSAiYXR0cmlidXRlX2RlY2wiOgorICAgICAgICByZXR1cm4geG1sQXR0cmlidXRlKF9vYmo9bykKKyAgICBpZiBuYW1lID09ICJlbnRpdHlfZGVjbCI6CisgICAgICAgIHJldHVybiB4bWxFbnRpdHkoX29iaj1vKQorICAgIGlmIG5hbWUgPT0gImR0ZCI6CisgICAgICAgIHJldHVybiB4bWxEdGQoX29iaj1vKQorICAgIHJldHVybiB4bWxOb2RlKF9vYmo9bykKKworZGVmIHhwYXRoT2JqZWN0UmV0KG8pOgorICAgIG90eXBlID0gdHlwZShvKQorICAgIGlmIG90eXBlID09IHR5cGUoW10pOgorICAgICAgICByZXQgPSBsaXN0KG1hcCh4cGF0aE9iamVjdFJldCwgbykpCisgICAgICAgIHJldHVybiByZXQKKyAgICBlbGlmIG90eXBlID09IHR5cGUoKCkpOgorICAgICAgICByZXQgPSBsaXN0KG1hcCh4cGF0aE9iamVjdFJldCwgbykpCisgICAgICAgIHJldHVybiB0dXBsZShyZXQpCisgICAgZWxpZiBvdHlwZSA9PSB0eXBlKCcnKSBvciBvdHlwZSA9PSB0eXBlKDApIG9yIG90eXBlID09IHR5cGUoMC4wKToKKyAgICAgICAgcmV0dXJuIG8KKyAgICBlbHNlOgorICAgICAgICByZXR1cm4gbm9kZVdyYXAobykKKworIworIyByZWdpc3RlciBhbiBYUGF0aCBmdW5jdGlvbgorIworZGVmIHJlZ2lzdGVyWFBhdGhGdW5jdGlvbihjdHh0LCBuYW1lLCBuc191cmksIGYpOgorICAgIHJldCA9IGxpYnhtbDJtb2QueG1sUmVnaXN0ZXJYUGF0aEZ1bmN0aW9uKGN0eHQsIG5hbWUsIG5zX3VyaSwgZikKKworIworIyBGb3IgdGhlIHhtbFRleHRSZWFkZXIgcGFyc2VyIGNvbmZpZ3VyYXRpb24KKyMKK1BBUlNFUl9MT0FERFREPTEKK1BBUlNFUl9ERUZBVUxUQVRUUlM9MgorUEFSU0VSX1ZBTElEQVRFPTMKK1BBUlNFUl9TVUJTVF9FTlRJVElFUz00CisKKyMKKyMgRm9yIHRoZSBlcnJvciBjYWxsYmFjayBzZXZlcml0aWVzCisjCitQQVJTRVJfU0VWRVJJVFlfVkFMSURJVFlfV0FSTklORz0xCitQQVJTRVJfU0VWRVJJVFlfVkFMSURJVFlfRVJST1I9MgorUEFSU0VSX1NFVkVSSVRZX1dBUk5JTkc9MworUEFSU0VSX1NFVkVSSVRZX0VSUk9SPTQKKworIworIyByZWdpc3RlciB0aGUgbGlieG1sMiBlcnJvciBoYW5kbGVyCisjCitkZWYgcmVnaXN0ZXJFcnJvckhhbmRsZXIoZiwgY3R4KToKKyAgICAiIiJSZWdpc3RlciBhIFB5dGhvbiB3cml0dGVuIGZ1bmN0aW9uIHRvIGZvciBlcnJvciByZXBvcnRpbmcuCisgICAgICAgVGhlIGZ1bmN0aW9uIGlzIGNhbGxlZCBiYWNrIGFzIGYoY3R4LCBlcnJvcikuICIiIgorICAgIGltcG9ydCBzeXMKKyAgICBpZiAnbGlieHNsdCcgbm90IGluIHN5cy5tb2R1bGVzOgorICAgICAgICAjIG5vcm1hbCBiZWhhdmlvdXIgd2hlbiBsaWJ4c2x0IGlzIG5vdCBpbXBvcnRlZAorICAgICAgICByZXQgPSBsaWJ4bWwybW9kLnhtbFJlZ2lzdGVyRXJyb3JIYW5kbGVyKGYsY3R4KQorICAgIGVsc2U6CisgICAgICAgICMgd2hlbiBsaWJ4c2x0IGlzIGFscmVhZHkgaW1wb3J0ZWQsIG9uZSBtdXN0CisgICAgICAgICMgdXNlIGxpYnhzdCdzIGVycm9yIGhhbmRsZXIgaW5zdGVhZAorICAgICAgICBpbXBvcnQgbGlieHNsdAorICAgICAgICByZXQgPSBsaWJ4c2x0LnJlZ2lzdGVyRXJyb3JIYW5kbGVyKGYsY3R4KQorICAgIHJldHVybiByZXQKKworY2xhc3MgcGFyc2VyQ3R4dENvcmU6CisKKyAgICBkZWYgX19pbml0X18oc2VsZiwgX29iaj1Ob25lKToKKyAgICAgICAgaWYgX29iaiAhPSBOb25lOiAKKyAgICAgICAgICAgIHNlbGYuX28gPSBfb2JqOworICAgICAgICAgICAgcmV0dXJuCisgICAgICAgIHNlbGYuX28gPSBOb25lCisKKyAgICBkZWYgX19kZWxfXyhzZWxmKToKKyAgICAgICAgaWYgc2VsZi5fbyAhPSBOb25lOgorICAgICAgICAgICAgbGlieG1sMm1vZC54bWxGcmVlUGFyc2VyQ3R4dChzZWxmLl9vKQorICAgICAgICBzZWxmLl9vID0gTm9uZQorCisgICAgZGVmIHNldEVycm9ySGFuZGxlcihzZWxmLGYsYXJnKToKKyAgICAgICAgIiIiUmVnaXN0ZXIgYW4gZXJyb3IgaGFuZGxlciB0aGF0IHdpbGwgYmUgY2FsbGVkIGJhY2sgYXMKKyAgICAgICAgICAgZihhcmcsbXNnLHNldmVyaXR5LHJlc2VydmVkKS4KKyAgICAgICAgICAgCisgICAgICAgICAgIEByZXNlcnZlZCBpcyBjdXJyZW50bHkgYWx3YXlzIE5vbmUuIiIiCisgICAgICAgIGxpYnhtbDJtb2QueG1sUGFyc2VyQ3R4dFNldEVycm9ySGFuZGxlcihzZWxmLl9vLGYsYXJnKQorCisgICAgZGVmIGdldEVycm9ySGFuZGxlcihzZWxmKToKKyAgICAgICAgIiIiUmV0dXJuIChmLGFyZykgYXMgcHJldmlvdXNseSByZWdpc3RlcmVkIHdpdGggc2V0RXJyb3JIYW5kbGVyCisgICAgICAgICAgIG9yIChOb25lLE5vbmUpLiIiIgorICAgICAgICByZXR1cm4gbGlieG1sMm1vZC54bWxQYXJzZXJDdHh0R2V0RXJyb3JIYW5kbGVyKHNlbGYuX28pCisKKyAgICBkZWYgYWRkTG9jYWxDYXRhbG9nKHNlbGYsIHVyaSk6CisgICAgICAgICIiIlJlZ2lzdGVyIGEgbG9jYWwgY2F0YWxvZyB3aXRoIHRoZSBwYXJzZXIiIiIKKyAgICAgICAgcmV0dXJuIGxpYnhtbDJtb2QuYWRkTG9jYWxDYXRhbG9nKHNlbGYuX28sIHVyaSkKKyAgICAKKworY2xhc3MgVmFsaWRDdHh0Q29yZToKKworICAgIGRlZiBfX2luaXRfXyhzZWxmLCAqYXJncywgKiprdyk6CisgICAgICAgIHBhc3MKKworICAgIGRlZiBzZXRWYWxpZGl0eUVycm9ySGFuZGxlcihzZWxmLCBlcnJfZnVuYywgd2Fybl9mdW5jLCBhcmc9Tm9uZSk6CisgICAgICAgICIiIgorICAgICAgICBSZWdpc3RlciBlcnJvciBhbmQgd2FybmluZyBoYW5kbGVycyBmb3IgRFREIHZhbGlkYXRpb24uCisgICAgICAgIFRoZXNlIHdpbGwgYmUgY2FsbGVkIGJhY2sgYXMgZihtc2csYXJnKQorICAgICAgICAiIiIKKyAgICAgICAgbGlieG1sMm1vZC54bWxTZXRWYWxpZEVycm9ycyhzZWxmLl9vLCBlcnJfZnVuYywgd2Fybl9mdW5jLCBhcmcpCisgICAgCisKK2NsYXNzIFNjaGVtYVZhbGlkQ3R4dENvcmU6CisKKyAgICBkZWYgX19pbml0X18oc2VsZiwgKmFyZ3MsICoqa3cpOgorICAgICAgICBwYXNzCisKKyAgICBkZWYgc2V0VmFsaWRpdHlFcnJvckhhbmRsZXIoc2VsZiwgZXJyX2Z1bmMsIHdhcm5fZnVuYywgYXJnPU5vbmUpOgorICAgICAgICAiIiIKKyAgICAgICAgUmVnaXN0ZXIgZXJyb3IgYW5kIHdhcm5pbmcgaGFuZGxlcnMgZm9yIFNjaGVtYSB2YWxpZGF0aW9uLgorICAgICAgICBUaGVzZSB3aWxsIGJlIGNhbGxlZCBiYWNrIGFzIGYobXNnLGFyZykKKyAgICAgICAgIiIiCisgICAgICAgIGxpYnhtbDJtb2QueG1sU2NoZW1hU2V0VmFsaWRFcnJvcnMoc2VsZi5fbywgZXJyX2Z1bmMsIHdhcm5fZnVuYywgYXJnKQorCisKK2NsYXNzIHJlbGF4TmdWYWxpZEN0eHRDb3JlOgorCisgICAgZGVmIF9faW5pdF9fKHNlbGYsICphcmdzLCAqKmt3KToKKyAgICAgICAgcGFzcworCisgICAgZGVmIHNldFZhbGlkaXR5RXJyb3JIYW5kbGVyKHNlbGYsIGVycl9mdW5jLCB3YXJuX2Z1bmMsIGFyZz1Ob25lKToKKyAgICAgICAgIiIiCisgICAgICAgIFJlZ2lzdGVyIGVycm9yIGFuZCB3YXJuaW5nIGhhbmRsZXJzIGZvciBSZWxheE5HIHZhbGlkYXRpb24uCisgICAgICAgIFRoZXNlIHdpbGwgYmUgY2FsbGVkIGJhY2sgYXMgZihtc2csYXJnKQorICAgICAgICAiIiIKKyAgICAgICAgbGlieG1sMm1vZC54bWxSZWxheE5HU2V0VmFsaWRFcnJvcnMoc2VsZi5fbywgZXJyX2Z1bmMsIHdhcm5fZnVuYywgYXJnKQorCisgICAgCitkZWYgX3htbFRleHRSZWFkZXJFcnJvckZ1bmMoeHh4X3RvZG9fY2hhbmdlbWUsbXNnLHNldmVyaXR5LGxvY2F0b3IpOgorICAgICIiIkludGVybWVkaWF0ZSBjYWxsYmFjayB0byB3cmFwIHRoZSBsb2NhdG9yIiIiCisgICAgKGYsYXJnKSA9IHh4eF90b2RvX2NoYW5nZW1lCisgICAgcmV0dXJuIGYoYXJnLG1zZyxzZXZlcml0eSx4bWxUZXh0UmVhZGVyTG9jYXRvcihsb2NhdG9yKSkKKworY2xhc3MgeG1sVGV4dFJlYWRlckNvcmU6CisKKyAgICBkZWYgX19pbml0X18oc2VsZiwgX29iaj1Ob25lKToKKyAgICAgICAgc2VsZi5pbnB1dCA9IE5vbmUKKyAgICAgICAgaWYgX29iaiAhPSBOb25lOnNlbGYuX28gPSBfb2JqO3JldHVybgorICAgICAgICBzZWxmLl9vID0gTm9uZQorCisgICAgZGVmIF9fZGVsX18oc2VsZik6CisgICAgICAgIGlmIHNlbGYuX28gIT0gTm9uZToKKyAgICAgICAgICAgIGxpYnhtbDJtb2QueG1sRnJlZVRleHRSZWFkZXIoc2VsZi5fbykKKyAgICAgICAgc2VsZi5fbyA9IE5vbmUKKworICAgIGRlZiBTZXRFcnJvckhhbmRsZXIoc2VsZixmLGFyZyk6CisgICAgICAgICIiIlJlZ2lzdGVyIGFuIGVycm9yIGhhbmRsZXIgdGhhdCB3aWxsIGJlIGNhbGxlZCBiYWNrIGFzCisgICAgICAgICAgIGYoYXJnLG1zZyxzZXZlcml0eSxsb2NhdG9yKS4iIiIKKyAgICAgICAgaWYgZiBpcyBOb25lOgorICAgICAgICAgICAgbGlieG1sMm1vZC54bWxUZXh0UmVhZGVyU2V0RXJyb3JIYW5kbGVyKFwKKyAgICAgICAgICAgICAgICBzZWxmLl9vLE5vbmUsTm9uZSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGxpYnhtbDJtb2QueG1sVGV4dFJlYWRlclNldEVycm9ySGFuZGxlcihcCisgICAgICAgICAgICAgICAgc2VsZi5fbyxfeG1sVGV4dFJlYWRlckVycm9yRnVuYywoZixhcmcpKQorCisgICAgZGVmIEdldEVycm9ySGFuZGxlcihzZWxmKToKKyAgICAgICAgIiIiUmV0dXJuIChmLGFyZykgYXMgcHJldmlvdXNseSByZWdpc3RlcmVkIHdpdGggc2V0RXJyb3JIYW5kbGVyCisgICAgICAgICAgIG9yIChOb25lLE5vbmUpLiIiIgorICAgICAgICBmLGFyZyA9IGxpYnhtbDJtb2QueG1sVGV4dFJlYWRlckdldEVycm9ySGFuZGxlcihzZWxmLl9vKQorICAgICAgICBpZiBmIGlzIE5vbmU6CisgICAgICAgICAgICByZXR1cm4gTm9uZSxOb25lCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICAjIGFzc2VydCBmIGlzIF94bWxUZXh0UmVhZGVyRXJyb3JGdW5jCisgICAgICAgICAgICByZXR1cm4gYXJnCisKKyMKKyMgVGhlIGNsZWFudXAgbm93IGdvZXMgdGhvdWdoIGEgd3JhcHBlciBpbiBsaWJ4bWwuYworIworZGVmIGNsZWFudXBQYXJzZXIoKToKKyAgICBsaWJ4bWwybW9kLnhtbFB5dGhvbkNsZWFudXBQYXJzZXIoKQorCisjCisjIFRoZSBpbnRlcmZhY2UgdG8geG1sUmVnaXN0ZXJJbnB1dENhbGxiYWNrcy4KKyMgU2luY2UgdGhpcyBBUEkgZG9lcyBub3QgYWxsb3cgdG8gcGFzcyBhIGRhdGEgb2JqZWN0IGFsb25nIHdpdGgKKyMgbWF0Y2gvb3BlbiBjYWxsYmFja3MsIGl0IGlzIG5lY2Vzc2FyeSB0byBtYWludGFpbiBhIGxpc3Qgb2YgYWxsCisjIFB5dGhvbiBjYWxsYmFja3MuCisjCitfX2lucHV0X2NhbGxiYWNrcyA9IFtdCitkZWYgcmVnaXN0ZXJJbnB1dENhbGxiYWNrKGZ1bmMpOgorICAgIGRlZiBmaW5kT3BlbkNhbGxiYWNrKFVSSSk6CisgICAgICAgIGZvciBjYiBpbiByZXZlcnNlZChfX2lucHV0X2NhbGxiYWNrcyk6CisgICAgICAgICAgICBvID0gY2IoVVJJKQorICAgICAgICAgICAgaWYgbyBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICByZXR1cm4gbworICAgIGxpYnhtbDJtb2QueG1sUmVnaXN0ZXJJbnB1dENhbGxiYWNrKGZpbmRPcGVuQ2FsbGJhY2spCisgICAgX19pbnB1dF9jYWxsYmFja3MuYXBwZW5kKGZ1bmMpCisKK2RlZiBwb3BJbnB1dENhbGxiYWNrcygpOgorICAgICMgRmlyc3QgcG9wIHB5dGhvbi1sZXZlbCBjYWxsYmFja3MsIHdoZW4gbm8gbW9yZSBhdmFpbGFibGUgLSBzdGFydAorICAgICMgcG9wcGluZyBidWlsdC1pbiBvbmVzLgorICAgIGlmIGxlbihfX2lucHV0X2NhbGxiYWNrcykgPiAwOgorICAgICAgICBfX2lucHV0X2NhbGxiYWNrcy5wb3AoKQorICAgIGlmIGxlbihfX2lucHV0X2NhbGxiYWNrcykgPT0gMDoKKyAgICAgICAgbGlieG1sMm1vZC54bWxVbnJlZ2lzdGVySW5wdXRDYWxsYmFjaygpCisKKyMgV0FSTklORyBXQVJOSU5HIFdBUk5JTkcgV0FSTklORyBXQVJOSU5HIFdBUk5JTkcgV0FSTklORyBXQVJOSU5HIFdBUk5JTkcKKyMKKyMgRXZlcnl0aGluZyBiZWZvcmUgdGhpcyBsaW5lIGNvbWVzIGZyb20gbGlieG1sLnB5IAorIyBFdmVyeXRoaW5nIGFmdGVyIHRoaXMgbGluZSBpcyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZAorIworIyBXQVJOSU5HIFdBUk5JTkcgV0FSTklORyBXQVJOSU5HIFdBUk5JTkcgV0FSTklORyBXQVJOSU5HIFdBUk5JTkcgV0FSTklORworCmRpZmYgLS1naXQgYS9saWJ4bWwyL3B5dGhvbi9saWJ4bWwyLXB5dGhvbi1hcGkueG1sIGIvbGlieG1sMi9weXRob24vbGlieG1sMi1weXRob24tYXBpLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMzJiNDRiCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9weXRob24vbGlieG1sMi1weXRob24tYXBpLnhtbApAQCAtMCwwICsxLDM1MCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/PgorPGFwaSBuYW1lPSdsaWJ4bWwyLXB5dGhvbic+CisgIDxzeW1ib2xzPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxSZWdpc3RlclhQYXRoRnVuY3Rpb24nIGZpbGU9J3B5dGhvbic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlJlZ2lzdGVyIGEgUHl0aG9uIHdyaXR0ZW4gZnVuY3Rpb24gdG8gdGhlIFhQYXRoIGludGVycHJldGVyPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89IjEgaW4gY2FzZSBvZiBzdWNjZXNzLCAwIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IiLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4JyB0eXBlPSd4bWxYUGF0aENvbnRleHRQdHInIGluZm89J3RoZSB4cGF0aENvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFtZScgdHlwZT0neG1sQ2hhciAqJyBpbmZvPSd0aGUgZnVuY3Rpb24gbmFtZScvPgorICAgICAgPGFyZyBuYW1lPSduc191cmknIHR5cGU9J3htbENoYXIgKicgaW5mbz0ndGhlIG5hbWVzcGFjZSBvciBOVUxMJy8+CisgICAgICA8YXJnIG5hbWU9J2YnIHR5cGU9J3B5dGhvbk9iamVjdCcgaW5mbz0ndGhlIHB5dGhvbiBmdW5jdGlvbicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZScgZmlsZT0ncHl0aG9uJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+UmVnaXN0ZXIgYSB2YXJpYWJsZSB3aXRoIHRoZSBYUGF0aCBjb250ZXh0PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89IjEgaW4gY2FzZSBvZiBzdWNjZXNzLCAwIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IiLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4JyB0eXBlPSd4bWxYUGF0aENvbnRleHRQdHInIGluZm89J3RoZSB4cGF0aENvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbmFtZScgdHlwZT0neG1sQ2hhciAqJyBpbmZvPSd0aGUgdmFyaWFibGUgbmFtZScvPgorICAgICAgPGFyZyBuYW1lPSduc191cmknIHR5cGU9J3htbENoYXIgKicgaW5mbz0ndGhlIG5hbWVzcGFjZSBvciBOVUxMJy8+CisgICAgICA8YXJnIG5hbWU9J3ZhbHVlJyB0eXBlPSdweXRob25PYmplY3QnIGluZm89J3RoZSB2YWx1ZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbE5ld05vZGUnIGZpbGU9J3B5dGhvbic+CisgICAgICA8aW5mbz5DcmVhdGUgYSBuZXcgTm9kZTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sTm9kZVB0cicgaW5mbz0iQSBuZXcgZWxlbWVudCBub2RlIi8+CisgICAgICA8YXJnIG5hbWU9J25hbWUnIHR5cGU9J3htbENoYXIgKicgaW5mbz0ndGhlIG5vZGUgbmFtZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbENyZWF0ZVB1c2hQYXJzZXInIGZpbGU9J3B5dGhvbic+CisgICAgICA8aW5mbz5DcmVhdGUgYSBwcm9ncmVzc2l2ZSBYTUwgcGFyc2VyIGNvbnRleHQgdG8gYnVpbGQgZWl0aGVyIGFuIGV2ZW50IGZsb3cgaWYgdGhlIFNBWCBvYmplY3QgaXMgbm90IE5vbmUsIG9yIGEgRE9NIHRyZWUgb3RoZXJ3aXNlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sUGFyc2VyQ3R4dFB0cicgaW5mbz0idGhlIHBhcnNlciBjb250ZXh0IG9yIE5vbmUgaW4gY2FzZSBvZiBlcnJvciIvPgorICAgICAgPGFyZyBuYW1lPSdTQVgnIHR5cGU9J3B5dGhvbk9iamVjdCcgaW5mbz0ndGhlIFNBWCBjYWxsYmFjayBvYmplY3Qgb3IgTm9uZScvPgorICAgICAgPGFyZyBuYW1lPSdjaHVuaycgdHlwZT0neG1sQ2hhciAqJyBpbmZvPSd0aGUgaW5pdGlhbCBkYXRhJy8+CisgICAgICA8YXJnIG5hbWU9J3NpemUnIHR5cGU9J2ludCcgaW5mbz0ndGhlIHNpemUgb2YgdGhlIGluaXRpYWwgZGF0YScvPgorICAgICAgPGFyZyBuYW1lPSdVUkknIHR5cGU9J3htbENoYXIgKicgaW5mbz0nVGhlIFVSSSB1c2VkIGZvciBiYXNlIGNvbXB1dGF0aW9ucycvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J2h0bWxDcmVhdGVQdXNoUGFyc2VyJyBmaWxlPSdweXRob24nPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkNyZWF0ZSBhIHByb2dyZXNzaXZlIEhUTUwgcGFyc2VyIGNvbnRleHQgdG8gYnVpbGQgZWl0aGVyIGFuIGV2ZW50IGZsb3cgaWYgdGhlIFNBWCBvYmplY3QgaXMgbm90IE5vbmUsIG9yIGEgRE9NIHRyZWUgb3RoZXJ3aXNlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sUGFyc2VyQ3R4dFB0cicgaW5mbz0idGhlIHBhcnNlciBjb250ZXh0IG9yIE5vbmUgaW4gY2FzZSBvZiBlcnJvciIvPgorICAgICAgPGFyZyBuYW1lPSdTQVgnIHR5cGU9J3B5dGhvbk9iamVjdCcgaW5mbz0ndGhlIFNBWCBjYWxsYmFjayBvYmplY3Qgb3IgTm9uZScvPgorICAgICAgPGFyZyBuYW1lPSdjaHVuaycgdHlwZT0neG1sQ2hhciAqJyBpbmZvPSd0aGUgaW5pdGlhbCBkYXRhJy8+CisgICAgICA8YXJnIG5hbWU9J3NpemUnIHR5cGU9J2ludCcgaW5mbz0ndGhlIHNpemUgb2YgdGhlIGluaXRpYWwgZGF0YScvPgorICAgICAgPGFyZyBuYW1lPSdVUkknIHR5cGU9J3htbENoYXIgKicgaW5mbz0nVGhlIFVSSSB1c2VkIGZvciBiYXNlIGNvbXB1dGF0aW9ucycvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFNBWFBhcnNlRmlsZScgZmlsZT0ncHl0aG9uJz4KKyAgICAgIDxpbmZvPkludGVyZmFjZSB0byBwYXJzZSBhbiBYTUwgZmlsZSBvciByZXNvdXJjZSBwb2ludGVkIGJ5IGFuIFVSSSB0byBidWlsZCBhbiBldmVudCBmbG93IHRvIHRoZSBTQVggb2JqZWN0PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J1NBWCcgdHlwZT0ncHl0aG9uT2JqZWN0JyBpbmZvPSd0aGUgU0FYIGNhbGxiYWNrIG9iamVjdCBvciBOb25lJy8+CisgICAgICA8YXJnIG5hbWU9J1VSSScgdHlwZT0neG1sQ2hhciAqJyBpbmZvPSdUaGUgVVJJIG9mIHRoZSByZXNvdXJjZScvPgorICAgICAgPGFyZyBuYW1lPSdyZWNvdmVyJyB0eXBlPSdpbnQnIGluZm89J2FsbG93IHJlY292ZXJ5IGluIGNhc2Ugb2YgZXJyb3InLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSdodG1sU0FYUGFyc2VGaWxlJyBmaWxlPSdweXRob24nPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkludGVyZmFjZSB0byBwYXJzZSBhbiBIVE1MIGZpbGUgb3IgcmVzb3VyY2UgcG9pbnRlZCBieSBhbiBVUkkgdG8gYnVpbGQgYW4gZXZlbnQgZmxvdyB0byB0aGUgU0FYIG9iamVjdDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdTQVgnIHR5cGU9J3B5dGhvbk9iamVjdCcgaW5mbz0ndGhlIFNBWCBjYWxsYmFjayBvYmplY3Qgb3IgTm9uZScvPgorICAgICAgPGFyZyBuYW1lPSdVUkknIHR5cGU9J3htbENoYXIgKicgaW5mbz0nVGhlIFVSSSBvZiB0aGUgcmVzb3VyY2UnLz4KKyAgICAgIDxhcmcgbmFtZT0nZW5jb2RpbmcnIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0nZW5jb2Rpbmcgb3IgTm9uZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbENyZWF0ZU91dHB1dEJ1ZmZlcicgZmlsZT0ncHl0aG9uJz4KKyAgICAgIDxpbmZvPkNyZWF0ZSBhIGxpYnhtbDIgb3V0cHV0IGJ1ZmZlciBmcm9tIGEgUHl0aG9uIGZpbGU8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbE91dHB1dEJ1ZmZlclB0cicgaW5mbz0idGhlIG91dHB1dCBidWZmZXIiLz4KKyAgICAgIDxhcmcgbmFtZT0nZmlsZScgdHlwZT0ncHl0aG9uT2JqZWN0JyBpbmZvPSd0aGUgUHl0aG9uIGZpbGUnLz4KKyAgICAgIDxhcmcgbmFtZT0nZW5jb2RpbmcnIHR5cGU9J3htbENoYXIgKicgaW5mbz0nYW4gb3B0aW9ubmFsIGVuY29kaW5nJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sQ3JlYXRlSW5wdXRCdWZmZXInIGZpbGU9J3B5dGhvbic+CisgICAgICA8aW5mbz5DcmVhdGUgYSBsaWJ4bWwyIGlucHV0IGJ1ZmZlciBmcm9tIGEgUHl0aG9uIGZpbGU8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbFBhcnNlcklucHV0QnVmZmVyUHRyJyBpbmZvPSJ0aGUgaW5wdXQgYnVmZmVyIi8+CisgICAgICA8YXJnIG5hbWU9J2ZpbGUnIHR5cGU9J3B5dGhvbk9iamVjdCcgaW5mbz0ndGhlIFB5dGhvbiBmaWxlJy8+CisgICAgICA8YXJnIG5hbWU9J2VuY29kaW5nJyB0eXBlPSd4bWxDaGFyIConIGluZm89J2FuIG9wdGlvbm5hbCBlbmNvZGluZycvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFNldEVudGl0eUxvYWRlcicgZmlsZT0ncHl0aG9uJz4KKyAgICAgIDxpbmZvPlNldCB0aGUgZW50aXR5IHJlc29sdmVyIGFzIGEgcHl0aG9uIGZ1bmN0aW9uPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89IjAgaW4gY2FzZSBvZiBzdWNjZXNzLCAtMSBmb3IgZXJyb3IiLz4KKyAgICAgIDxhcmcgbmFtZT0ncmVzb2x2ZXInIHR5cGU9J3B5dGhvbk9iamVjdCcgaW5mbz0ndGhlIFB5dGhvbiBmdW5jdGlvbicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPCEtLSB4bWxQYXJzZXJDdHh0UHRyIGFjY2Vzc29ycyAtLT4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sUGFyc2VyR2V0RG9jJyBmaWxlPSdweXRob25fYWNjZXNzb3InPgorICAgICAgPGluZm8+R2V0IHRoZSBkb2N1bWVudCB0cmVlIGZyb20gYSBwYXJzZXIgY29udGV4dC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbERvY1B0cicgaW5mbz0idGhlIGRvY3VtZW50IHRyZWUiIGZpZWxkPSJteURvYyIvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxQYXJzZXJDdHh0UHRyJyBpbmZvPSd0aGUgcGFyc2VyIGNvbnRleHQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxQYXJzZXJHZXRXZWxsRm9ybWVkJyBmaWxlPSdweXRob25fYWNjZXNzb3InPgorICAgICAgPGluZm8+R2V0IHRoZSB3ZWxsIGZvcm1lZCBpbmZvcm1hdGlvbiBmcm9tIGEgcGFyc2VyIGNvbnRleHQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89InRoZSB3ZWxsRm9ybWVkIGZpZWxkIiBmaWVsZD0id2VsbEZvcm1lZCIvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxQYXJzZXJDdHh0UHRyJyBpbmZvPSd0aGUgcGFyc2VyIGNvbnRleHQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxQYXJzZXJHZXRJc1ZhbGlkJyBmaWxlPSdweXRob25fYWNjZXNzb3InPgorICAgICAgPGluZm8+R2V0IHRoZSB2YWxpZGl0eSBpbmZvcm1hdGlvbiBmcm9tIGEgcGFyc2VyIGNvbnRleHQuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89InRoZSB2YWxpZCBmaWVsZCIgZmllbGQ9InZhbGlkIi8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFBhcnNlckN0eHRQdHInIGluZm89J3RoZSBwYXJzZXIgY29udGV4dCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFBhcnNlclNldFZhbGlkYXRlJyBmaWxlPSdweXRob25fYWNjZXNzb3InPgorICAgICAgPGluZm8+U3dpdGNoIHRoZSBwYXJzZXIgdG8gdmFsaWRhdGlvbiBtb2RlLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxQYXJzZXJDdHh0UHRyJyBpbmZvPSd0aGUgcGFyc2VyIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0ndmFsaWRhdGUnIHR5cGU9J2ludCcgaW5mbz0nMSB0byBhY3RpdmF0ZSB2YWxpZGF0aW9uJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sUGFyc2VyU2V0UmVwbGFjZUVudGl0aWVzJyBmaWxlPSdweXRob25fYWNjZXNzb3InPgorICAgICAgPGluZm8+U3dpdGNoIHRoZSBwYXJzZXIgdG8gcmVwbGFjZSBlbnRpdGllcy48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sUGFyc2VyQ3R4dFB0cicgaW5mbz0ndGhlIHBhcnNlciBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J3JlcGxhY2VFbnRpdGllcycgdHlwZT0naW50JyBpbmZvPScxIHRvIHJlcGxhY2UgZW50aXRpZXMnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxQYXJzZXJTZXRQZWRhbnRpYycgZmlsZT0ncHl0aG9uX2FjY2Vzc29yJz4KKyAgICAgIDxpbmZvPlN3aXRjaCB0aGUgcGFyc2VyIHRvIGJlIHBlZGFudGljLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxQYXJzZXJDdHh0UHRyJyBpbmZvPSd0aGUgcGFyc2VyIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0ncGVkYW50aWMnIHR5cGU9J2ludCcgaW5mbz0nMSB0byBydW4gaW4gcGVkYW50aWMgbW9kZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFBhcnNlclNldExvYWRTdWJzZXQnIGZpbGU9J3B5dGhvbl9hY2Nlc3Nvcic+CisgICAgICA8aW5mbz5Td2l0Y2ggdGhlIHBhcnNlciB0byBsb2FkIHRoZSBEVEQgd2l0aG91dCB2YWxpZGF0aW5nLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxQYXJzZXJDdHh0UHRyJyBpbmZvPSd0aGUgcGFyc2VyIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0nbG9hZHN1YnNldCcgdHlwZT0naW50JyBpbmZvPScxIHRvIGxvYWQgdGhlIERURCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFBhcnNlclNldExpbmVOdW1iZXJzJyBmaWxlPSdweXRob25fYWNjZXNzb3InPgorICAgICAgPGluZm8+U3dpdGNoIG9uIHRoZSBnZW5lcmF0aW9uIG9mIGxpbmUgbnVtYmVyIGZvciBlbGVtZW50cyBub2Rlcy48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sUGFyc2VyQ3R4dFB0cicgaW5mbz0ndGhlIHBhcnNlciBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9J2xpbmVudW1iZXJzJyB0eXBlPSdpbnQnIGluZm89JzEgdG8gc2F2ZSBsaW5lIG51bWJlcnMnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxEZWJ1Z01lbW9yeScgZmlsZT0ncHl0aG9uJz4KKyAgICAgIDxpbmZvPlN3aXRjaCBvbiB0aGUgZ2VuZXJhdGlvbiBvZiBsaW5lIG51bWJlciBmb3IgZWxlbWVudHMgbm9kZXMuIEFsc28gcmV0dXJucyB0aGUgbnVtYmVyIG9mIGJ5dGVzIGFsbG9jYXRlZCBhbmQgbm90IGZyZWVkIGJ5IGxpYnhtbDIgc2luY2UgbWVtb3J5IGRlYnVnZ2luZyB3YXMgc3dpdGNoZWQgb24uPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89InJldHVybnMgdGhlIG51bWJlciBvZiBieXRlcyBhbGxvY2F0ZWQgYW5kIG5vdCBmcmVlZCIvPgorICAgICAgPGFyZyBuYW1lPSdhY3RpdmF0ZScgdHlwZT0naW50JyBpbmZvPScxIHN3aXRjaCBvbiBtZW1vcnkgZGVidWdnaW5nIDAgc3dpdGNoIGl0IG9mZicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbER1bXBNZW1vcnknIGZpbGU9J3B5dGhvbic+CisgICAgICA8aW5mbz5kdW1wIHRoZSBtZW1vcnkgYWxsb2NhdGVkIGluIHRoZSBmaWxlIC5tZW1kdW1wPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8IS0tIHhtbE5zUHRyIGFjY2Vzc29ycyAtLT4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sTm9kZUdldE5zJyBmaWxlPSdweXRob25fYWNjZXNzb3InPgorICAgICAgPGluZm8+R2V0IHRoZSBuYW1lc3BhY2Ugb2YgYSBub2RlPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxOc1B0cicgaW5mbz0iVGhlIG5hbWVzcGFjZSBvciBOb25lIi8+CisgICAgICA8YXJnIG5hbWU9J25vZGUnIHR5cGU9J3htbE5vZGVQdHInIGluZm89J3RoZSBub2RlJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sTm9kZUdldE5zRGVmcycgZmlsZT0ncHl0aG9uX2FjY2Vzc29yJz4KKyAgICAgIDxpbmZvPkdldCB0aGUgbmFtZXNwYWNlIG9mIGEgbm9kZTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sTnNQdHInIGluZm89IlRoZSBuYW1lc3BhY2Ugb3IgTm9uZSIvPgorICAgICAgPGFyZyBuYW1lPSdub2RlJyB0eXBlPSd4bWxOb2RlUHRyJyBpbmZvPSd0aGUgbm9kZScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPCEtLSB4bWxYUGF0aENvbnRleHRQdHIgYWNjZXNzb3JzIC0tPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxYUGF0aFBhcnNlckdldENvbnRleHQnIGZpbGU9J3B5dGhvbl9hY2Nlc3Nvcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkdldCB0aGUgeHBhdGhDb250ZXh0IGZyb20gYW4geHBhdGhQYXJzZXJDb250ZXh0PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd4bWxYUGF0aENvbnRleHRQdHInIGluZm89IlRoZSBYUGF0aCBjb250ZXh0IiBmaWVsZD0iY29udGV4dCIvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxYUGF0aFBhcnNlckNvbnRleHRQdHInIGluZm89J3RoZSBYUGF0aCBwYXJzZXIgY29udGV4dCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQYXRoR2V0Q29udGV4dERvYycgZmlsZT0ncHl0aG9uX2FjY2Vzc29yJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+R2V0IHRoZSBkb2MgZnJvbSBhbiB4cGF0aENvbnRleHQ8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3htbERvY1B0cicgaW5mbz0iVGhlIGRvYyBjb250ZXh0IiBmaWVsZD0iZG9jIi8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFhQYXRoQ29udGV4dFB0cicgaW5mbz0ndGhlIFhQYXRoIGNvbnRleHQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxYUGF0aEdldENvbnRleHROb2RlJyBmaWxlPSdweXRob25fYWNjZXNzb3InPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5HZXQgdGhlIGN1cnJlbnQgbm9kZSBmcm9tIGFuIHhwYXRoQ29udGV4dDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0neG1sTm9kZVB0cicgaW5mbz0iVGhlIG5vZGUgY29udGV4dCIgZmllbGQ9Im5vZGUiLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sWFBhdGhDb250ZXh0UHRyJyBpbmZvPSd0aGUgWFBhdGggY29udGV4dCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQYXRoU2V0Q29udGV4dERvYycgZmlsZT0ncHl0aG9uX2FjY2Vzc29yJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+U2V0IHRoZSBkb2Mgb2YgYW4geHBhdGhDb250ZXh0PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFhQYXRoQ29udGV4dFB0cicgaW5mbz0ndGhlIFhQYXRoIGNvbnRleHQnLz4KKyAgICAgIDxhcmcgbmFtZT0iZG9jIiB0eXBlPSd4bWxEb2NQdHInIGluZm89IlRoZSBkb2MgY29udGV4dCIvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQYXRoU2V0Q29udGV4dE5vZGUnIGZpbGU9J3B5dGhvbl9hY2Nlc3Nvcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPlNldCB0aGUgY3VycmVudCBub2RlIG9mIGFuIHhwYXRoQ29udGV4dDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdjdHh0JyB0eXBlPSd4bWxYUGF0aENvbnRleHRQdHInIGluZm89J3RoZSBYUGF0aCBjb250ZXh0Jy8+CisgICAgICA8YXJnIG5hbWU9Im5vZGUiIHR5cGU9J3htbE5vZGVQdHInIGluZm89IlRoZSBub2RlIGNvbnRleHQiLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxYUGF0aEdldENvbnRleHRQb3NpdGlvbicgZmlsZT0ncHl0aG9uX2FjY2Vzc29yJz4KKyAgICAgIDxjb25kPmRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpPC9jb25kPgorICAgICAgPGluZm8+R2V0IHRoZSBjdXJyZW50IG5vZGUgZnJvbSBhbiB4cGF0aENvbnRleHQ8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0iVGhlIG5vZGUgY29udGV4dCIgZmllbGQ9InByb3hpbWl0eVBvc2l0aW9uIi8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFhQYXRoQ29udGV4dFB0cicgaW5mbz0ndGhlIFhQYXRoIGNvbnRleHQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxYUGF0aEdldENvbnRleHRTaXplJyBmaWxlPSdweXRob25fYWNjZXNzb3InPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5HZXQgdGhlIGN1cnJlbnQgbm9kZSBmcm9tIGFuIHhwYXRoQ29udGV4dDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSJUaGUgbm9kZSBjb250ZXh0IiBmaWVsZD0iY29udGV4dFNpemUiLz4KKyAgICAgIDxhcmcgbmFtZT0nY3R4dCcgdHlwZT0neG1sWFBhdGhDb250ZXh0UHRyJyBpbmZvPSd0aGUgWFBhdGggY29udGV4dCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFhQYXRoR2V0RnVuY3Rpb24nIGZpbGU9J3B5dGhvbl9hY2Nlc3Nvcic+CisgICAgICA8Y29uZD5kZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKTwvY29uZD4KKyAgICAgIDxpbmZvPkdldCB0aGUgY3VycmVudCBmdW5jdGlvbiBuYW1lIHhwYXRoQ29udGV4dDwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0nY29uc3QgeG1sQ2hhciAqJyBpbmZvPSJUaGUgZnVuY3Rpb24gbmFtZSIgZmllbGQ9ImZ1bmN0aW9uIi8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFhQYXRoQ29udGV4dFB0cicgaW5mbz0ndGhlIFhQYXRoIGNvbnRleHQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxYUGF0aEdldEZ1bmN0aW9uVVJJJyBmaWxlPSdweXRob25fYWNjZXNzb3InPgorICAgICAgPGNvbmQ+ZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCk8L2NvbmQ+CisgICAgICA8aW5mbz5HZXQgdGhlIGN1cnJlbnQgZnVuY3Rpb24gbmFtZSBVUkkgeHBhdGhDb250ZXh0PC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdjb25zdCB4bWxDaGFyIConIGluZm89IlRoZSBmdW5jdGlvbiBuYW1lIFVSSSIgZmllbGQ9ImZ1bmN0aW9uVVJJIi8+CisgICAgICA8YXJnIG5hbWU9J2N0eHQnIHR5cGU9J3htbFhQYXRoQ29udGV4dFB0cicgaW5mbz0ndGhlIFhQYXRoIGNvbnRleHQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDwhLS0geG1sVVJJUHRyIGFjY2Vzc29ycyAtLT4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVVJJR2V0U2NoZW1lJyBmaWxlPSdweXRob25fYWNjZXNzb3InPgorICAgICAgPGluZm8+R2V0IHRoZSBzY2hlbWUgcGFydCBmcm9tIGFuIFVSSTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSJUaGUgVVJJIHNjaGVtZSIgZmllbGQ9InNjaGVtZSIvPgorICAgICAgPGFyZyBuYW1lPSdVUkknIHR5cGU9J3htbFVSSVB0cicgaW5mbz0ndGhlIFVSSScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVSSVNldFNjaGVtZScgZmlsZT0ncHl0aG9uX2FjY2Vzc29yJz4KKyAgICAgIDxpbmZvPlNldCB0aGUgc2NoZW1lIHBhcnQgb2YgYW4gVVJJLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdVUkknIHR5cGU9J3htbFVSSVB0cicgaW5mbz0ndGhlIFVSSScvPgorICAgICAgPGFyZyBuYW1lPSdzY2hlbWUnIHR5cGU9J2NoYXIgKicgaW5mbz0nVGhlIFVSSSBzY2hlbWUgcGFydCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVSSUdldE9wYXF1ZScgZmlsZT0ncHl0aG9uX2FjY2Vzc29yJz4KKyAgICAgIDxpbmZvPkdldCB0aGUgb3BhcXVlIHBhcnQgZnJvbSBhbiBVUkk8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0iVGhlIFVSSSBvcGFxdWUiIGZpZWxkPSJvcGFxdWUiLz4KKyAgICAgIDxhcmcgbmFtZT0nVVJJJyB0eXBlPSd4bWxVUklQdHInIGluZm89J3RoZSBVUkknLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxVUklTZXRPcGFxdWUnIGZpbGU9J3B5dGhvbl9hY2Nlc3Nvcic+CisgICAgICA8aW5mbz5TZXQgdGhlIG9wYXF1ZSBwYXJ0IG9mIGFuIFVSSS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nVVJJJyB0eXBlPSd4bWxVUklQdHInIGluZm89J3RoZSBVUkknLz4KKyAgICAgIDxhcmcgbmFtZT0nb3BhcXVlJyB0eXBlPSdjaGFyIConIGluZm89J1RoZSBVUkkgb3BhcXVlIHBhcnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxVUklHZXRBdXRob3JpdHknIGZpbGU9J3B5dGhvbl9hY2Nlc3Nvcic+CisgICAgICA8aW5mbz5HZXQgdGhlIGF1dGhvcml0eSBwYXJ0IGZyb20gYW4gVVJJPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdjb25zdCBjaGFyIConIGluZm89IlRoZSBVUkkgYXV0aG9yaXR5IiBmaWVsZD0iYXV0aG9yaXR5Ii8+CisgICAgICA8YXJnIG5hbWU9J1VSSScgdHlwZT0neG1sVVJJUHRyJyBpbmZvPSd0aGUgVVJJJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVVJJU2V0QXV0aG9yaXR5JyBmaWxlPSdweXRob25fYWNjZXNzb3InPgorICAgICAgPGluZm8+U2V0IHRoZSBhdXRob3JpdHkgcGFydCBvZiBhbiBVUkkuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J1VSSScgdHlwZT0neG1sVVJJUHRyJyBpbmZvPSd0aGUgVVJJJy8+CisgICAgICA8YXJnIG5hbWU9J2F1dGhvcml0eScgdHlwZT0nY2hhciAqJyBpbmZvPSdUaGUgVVJJIGF1dGhvcml0eSBwYXJ0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVVJJR2V0U2VydmVyJyBmaWxlPSdweXRob25fYWNjZXNzb3InPgorICAgICAgPGluZm8+R2V0IHRoZSBzZXJ2ZXIgcGFydCBmcm9tIGFuIFVSSTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSJUaGUgVVJJIHNlcnZlciIgZmllbGQ9InNlcnZlciIvPgorICAgICAgPGFyZyBuYW1lPSdVUkknIHR5cGU9J3htbFVSSVB0cicgaW5mbz0ndGhlIFVSSScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVSSVNldFNlcnZlcicgZmlsZT0ncHl0aG9uX2FjY2Vzc29yJz4KKyAgICAgIDxpbmZvPlNldCB0aGUgc2VydmVyIHBhcnQgb2YgYW4gVVJJLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdVUkknIHR5cGU9J3htbFVSSVB0cicgaW5mbz0ndGhlIFVSSScvPgorICAgICAgPGFyZyBuYW1lPSdzZXJ2ZXInIHR5cGU9J2NoYXIgKicgaW5mbz0nVGhlIFVSSSBzZXJ2ZXIgcGFydCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVSSUdldFVzZXInIGZpbGU9J3B5dGhvbl9hY2Nlc3Nvcic+CisgICAgICA8aW5mbz5HZXQgdGhlIHVzZXIgcGFydCBmcm9tIGFuIFVSSTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSJUaGUgVVJJIHVzZXIiIGZpZWxkPSJ1c2VyIi8+CisgICAgICA8YXJnIG5hbWU9J1VSSScgdHlwZT0neG1sVVJJUHRyJyBpbmZvPSd0aGUgVVJJJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVVJJU2V0VXNlcicgZmlsZT0ncHl0aG9uX2FjY2Vzc29yJz4KKyAgICAgIDxpbmZvPlNldCB0aGUgdXNlciBwYXJ0IG9mIGFuIFVSSS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nVVJJJyB0eXBlPSd4bWxVUklQdHInIGluZm89J3RoZSBVUkknLz4KKyAgICAgIDxhcmcgbmFtZT0ndXNlcicgdHlwZT0nY2hhciAqJyBpbmZvPSdUaGUgVVJJIHVzZXIgcGFydCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVSSUdldFBhdGgnIGZpbGU9J3B5dGhvbl9hY2Nlc3Nvcic+CisgICAgICA8aW5mbz5HZXQgdGhlIHBhdGggcGFydCBmcm9tIGFuIFVSSTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSJUaGUgVVJJIHBhdGgiIGZpZWxkPSJwYXRoIi8+CisgICAgICA8YXJnIG5hbWU9J1VSSScgdHlwZT0neG1sVVJJUHRyJyBpbmZvPSd0aGUgVVJJJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVVJJU2V0UGF0aCcgZmlsZT0ncHl0aG9uX2FjY2Vzc29yJz4KKyAgICAgIDxpbmZvPlNldCB0aGUgcGF0aCBwYXJ0IG9mIGFuIFVSSS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nVVJJJyB0eXBlPSd4bWxVUklQdHInIGluZm89J3RoZSBVUkknLz4KKyAgICAgIDxhcmcgbmFtZT0ncGF0aCcgdHlwZT0nY2hhciAqJyBpbmZvPSdUaGUgVVJJIHBhdGggcGFydCcvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVSSUdldFF1ZXJ5JyBmaWxlPSdweXRob25fYWNjZXNzb3InPgorICAgICAgPGluZm8+R2V0IHRoZSBxdWVyeSBwYXJ0IGZyb20gYW4gVVJJPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdjb25zdCBjaGFyIConIGluZm89IlRoZSBVUkkgcXVlcnkiIGZpZWxkPSJxdWVyeSIvPgorICAgICAgPGFyZyBuYW1lPSdVUkknIHR5cGU9J3htbFVSSVB0cicgaW5mbz0ndGhlIFVSSScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVSSVNldFF1ZXJ5JyBmaWxlPSdweXRob25fYWNjZXNzb3InPgorICAgICAgPGluZm8+U2V0IHRoZSBxdWVyeSBwYXJ0IG9mIGFuIFVSSS48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICAgIDxhcmcgbmFtZT0nVVJJJyB0eXBlPSd4bWxVUklQdHInIGluZm89J3RoZSBVUkknLz4KKyAgICAgIDxhcmcgbmFtZT0ncXVlcnknIHR5cGU9J2NoYXIgKicgaW5mbz0nVGhlIFVSSSBxdWVyeSBwYXJ0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVVJJR2V0UXVlcnlSYXcnIGZpbGU9J3B5dGhvbl9hY2Nlc3Nvcic+CisgICAgICA8aW5mbz5HZXQgdGhlIHJhdyBxdWVyeSBwYXJ0IGZyb20gYW4gVVJJIChpLmUuIHRoZSB1bmVzY2FwZWQgZm9ybSkuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdjb25zdCBjaGFyIConIGluZm89IlRoZSBVUkkgcXVlcnkiIGZpZWxkPSJxdWVyeV9yYXciLz4KKyAgICAgIDxhcmcgbmFtZT0nVVJJJyB0eXBlPSd4bWxVUklQdHInIGluZm89J3RoZSBVUkknLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxVUklTZXRRdWVyeVJhdycgZmlsZT0ncHl0aG9uX2FjY2Vzc29yJz4KKyAgICAgIDxpbmZvPlNldCB0aGUgcmF3IHF1ZXJ5IHBhcnQgb2YgYW4gVVJJIChpLmUuIHRoZSB1bmVzY2FwZWQgZm9ybSkuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J1VSSScgdHlwZT0neG1sVVJJUHRyJyBpbmZvPSd0aGUgVVJJJy8+CisgICAgICA8YXJnIG5hbWU9J3F1ZXJ5X3JhdycgdHlwZT0nY2hhciAqJyBpbmZvPSdUaGUgcmF3IFVSSSBxdWVyeSBwYXJ0Jy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVVJJR2V0RnJhZ21lbnQnIGZpbGU9J3B5dGhvbl9hY2Nlc3Nvcic+CisgICAgICA8aW5mbz5HZXQgdGhlIGZyYWdtZW50IHBhcnQgZnJvbSBhbiBVUkk8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2NvbnN0IGNoYXIgKicgaW5mbz0iVGhlIFVSSSBmcmFnbWVudCIgZmllbGQ9ImZyYWdtZW50Ii8+CisgICAgICA8YXJnIG5hbWU9J1VSSScgdHlwZT0neG1sVVJJUHRyJyBpbmZvPSd0aGUgVVJJJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sVVJJU2V0RnJhZ21lbnQnIGZpbGU9J3B5dGhvbl9hY2Nlc3Nvcic+CisgICAgICA8aW5mbz5TZXQgdGhlIGZyYWdtZW50IHBhcnQgb2YgYW4gVVJJLjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0ndm9pZCcvPgorICAgICAgPGFyZyBuYW1lPSdVUkknIHR5cGU9J3htbFVSSVB0cicgaW5mbz0ndGhlIFVSSScvPgorICAgICAgPGFyZyBuYW1lPSdmcmFnbWVudCcgdHlwZT0nY2hhciAqJyBpbmZvPSdUaGUgVVJJIGZyYWdtZW50IHBhcnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxVUklHZXRQb3J0JyBmaWxlPSdweXRob25fYWNjZXNzb3InPgorICAgICAgPGluZm8+R2V0IHRoZSBwb3J0IHBhcnQgZnJvbSBhbiBVUkk8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0iVGhlIFVSSSBwb3J0IiBmaWVsZD0icG9ydCIvPgorICAgICAgPGFyZyBuYW1lPSdVUkknIHR5cGU9J3htbFVSSVB0cicgaW5mbz0ndGhlIFVSSScvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbFVSSVNldFBvcnQnIGZpbGU9J3B5dGhvbl9hY2Nlc3Nvcic+CisgICAgICA8aW5mbz5TZXQgdGhlIHBvcnQgcGFydCBvZiBhbiBVUkkuPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSd2b2lkJy8+CisgICAgICA8YXJnIG5hbWU9J1VSSScgdHlwZT0neG1sVVJJUHRyJyBpbmZvPSd0aGUgVVJJJy8+CisgICAgICA8YXJnIG5hbWU9J3BvcnQnIHR5cGU9J2ludCcgaW5mbz0nVGhlIFVSSSBwb3J0IHBhcnQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDwhLS0geG1sRXJyb3JQdHIgYWNjZXNzb3JzIC0tPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxFcnJvckdldERvbWFpbicgZmlsZT0ncHl0aG9uX2FjY2Vzc29yJz4KKyAgICAgIDxpbmZvPldoYXQgcGFydCBvZiB0aGUgbGlicmFyeSByYWlzZWQgdGhpcyBlcnJvcjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSJUaGUgZXJyb3IgZG9tYWluIiBmaWVsZD0iZG9tYWluIi8+CisgICAgICA8YXJnIG5hbWU9J0Vycm9yJyB0eXBlPSd4bWxFcnJvclB0cicgaW5mbz0ndGhlIEVycm9yJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sRXJyb3JHZXRDb2RlJyBmaWxlPSdweXRob25fYWNjZXNzb3InPgorICAgICAgPGluZm8+VGhlIGVycm9yIGNvZGUsIGUuZy4gYW4geG1sUGFyc2VyRXJyb3I8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0iVGhlIGVycm9yIGNvZGUiIGZpZWxkPSJjb2RlIi8+CisgICAgICA8YXJnIG5hbWU9J0Vycm9yJyB0eXBlPSd4bWxFcnJvclB0cicgaW5mbz0ndGhlIEVycm9yJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sRXJyb3JHZXRNZXNzYWdlJyBmaWxlPSdweXRob25fYWNjZXNzb3InPgorICAgICAgPGluZm8+aHVtYW4tcmVhZGFibGUgaW5mb3JtYXRpdmUgZXJyb3IgbWVzc2FnZTwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0nY29uc3QgY2hhciAqJyBpbmZvPSJUaGUgZXJyb3IgbWVzc2FnZSIgZmllbGQ9Im1lc3NhZ2UiLz4KKyAgICAgIDxhcmcgbmFtZT0nRXJyb3InIHR5cGU9J3htbEVycm9yUHRyJyBpbmZvPSd0aGUgRXJyb3InLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxFcnJvckdldExldmVsJyBmaWxlPSdweXRob25fYWNjZXNzb3InPgorICAgICAgPGluZm8+aG93IGNvbnNlcXVlbnQgaXMgdGhlIGVycm9yPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdpbnQnIGluZm89IlRoZSBlcnJvciBsZXZlbCIgZmllbGQ9ImxldmVsIi8+CisgICAgICA8YXJnIG5hbWU9J0Vycm9yJyB0eXBlPSd4bWxFcnJvclB0cicgaW5mbz0ndGhlIEVycm9yJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sRXJyb3JHZXRGaWxlJyBmaWxlPSdweXRob25fYWNjZXNzb3InPgorICAgICAgPGluZm8+dGhlIGZpbGVuYW1lPC9pbmZvPgorICAgICAgPHJldHVybiB0eXBlPSdjb25zdCBjaGFyIConIGluZm89IlRoZSBlcnJvciBmaWxlIiBmaWVsZD0iZmlsZSIvPgorICAgICAgPGFyZyBuYW1lPSdFcnJvcicgdHlwZT0neG1sRXJyb3JQdHInIGluZm89J3RoZSBFcnJvcicvPgorICAgIDwvZnVuY3Rpb24+CisgICAgPGZ1bmN0aW9uIG5hbWU9J3htbEVycm9yR2V0TGluZScgZmlsZT0ncHl0aG9uX2FjY2Vzc29yJz4KKyAgICAgIDxpbmZvPnRoZSBsaW5lIG51bWJlciBpZiBhdmFpbGFibGU8L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J2ludCcgaW5mbz0iVGhlIGVycm9yIGxpbmUiIGZpZWxkPSJsaW5lIi8+CisgICAgICA8YXJnIG5hbWU9J0Vycm9yJyB0eXBlPSd4bWxFcnJvclB0cicgaW5mbz0ndGhlIEVycm9yJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgICA8ZnVuY3Rpb24gbmFtZT0neG1sUHl0aG9uQ2xlYW51cFBhcnNlcicgZmlsZT0ncHl0aG9uJz4KKyAgICAgIDxpbmZvPkNsZWFudXAgZnVuY3Rpb24gZm9yIHRoZSBYTUwgbGlicmFyeS4gSXQgdHJpZXMgdG8gcmVjbGFpbSBhbGwgcGFyc2luZyByZWxhdGVkIGdsb2JhbCBtZW1vcnkgYWxsb2NhdGVkIGZvciB0aGUgbGlicmFyeSBwcm9jZXNzaW5nLiBJdCBkb2Vzbid0IGRlYWxsb2NhdGUgYW55IGRvY3VtZW50IHJlbGF0ZWQgbWVtb3J5LiBDYWxsaW5nIHRoaXMgZnVuY3Rpb24gc2hvdWxkIG5vdCBwcmV2ZW50IHJldXNpbmcgdGhlIGxpYnJhcnkgYnV0IG9uZSBzaG91bGQgY2FsbCB4bWxDbGVhbnVwUGFyc2VyKCkgb25seSB3aGVuIHRoZSBwcm9jZXNzIGhhcyBmaW5pc2hlZCB1c2luZyB0aGUgbGlicmFyeSBvciBYTUwgZG9jdW1lbnQgYnVpbHQgd2l0aCBpdC48L2luZm8+CisgICAgICA8cmV0dXJuIHR5cGU9J3ZvaWQnLz4KKyAgICA8L2Z1bmN0aW9uPgorICAgIDxmdW5jdGlvbiBuYW1lPSd4bWxNZW1vcnlVc2VkJyBmaWxlPSdweXRob24nPgorICAgICAgPGluZm8+UmV0dXJucyB0aGUgdG90YWwgYW1vdW50IG9mIG1lbW9yeSBhbGxvY2F0ZWQgYnkgbGlieG1sMjwvaW5mbz4KKyAgICAgIDxyZXR1cm4gdHlwZT0naW50JyBpbmZvPSdudW1iZXIgb2YgYnl0ZXMgYWxsb2NhdGVkJy8+CisgICAgPC9mdW5jdGlvbj4KKyAgPC9zeW1ib2xzPgorPC9hcGk+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3B5dGhvbi9saWJ4bWxfd3JhcC5oIGIvbGlieG1sMi9weXRob24vbGlieG1sX3dyYXAuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41M2EwNjE4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9weXRob24vbGlieG1sX3dyYXAuaApAQCAtMCwwICsxLDI3OSBAQAorI2luY2x1ZGUgPFB5dGhvbi5oPgorI2luY2x1ZGUgPGxpYnhtbC90cmVlLmg+CisjaW5jbHVkZSA8bGlieG1sL3BhcnNlci5oPgorI2luY2x1ZGUgPGxpYnhtbC9wYXJzZXJJbnRlcm5hbHMuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvY2F0YWxvZy5oPgorI2luY2x1ZGUgPGxpYnhtbC90aHJlYWRzLmg+CisjaW5jbHVkZSA8bGlieG1sL25hbm9mdHAuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvbmFub2h0dHAuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvdXJpLmg+CisjaW5jbHVkZSA8bGlieG1sL3hwYXRoLmg+CisjaW5jbHVkZSA8bGlieG1sL3hwYXRoSW50ZXJuYWxzLmg+CisjaW5jbHVkZSA8bGlieG1sL2RlYnVnWE1MLmg+CisjaW5jbHVkZSA8bGlieG1sL0hUTUxwYXJzZXIuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvSFRNTHRyZWUuaD4KKyNpbmNsdWRlIDxsaWJ4bWwveGluY2x1ZGUuaD4KKyNpbmNsdWRlIDxsaWJ4bWwveHBvaW50ZXIuaD4KKyNpbmNsdWRlIDxsaWJ4bWwveG1sdW5pY29kZS5oPgorI2luY2x1ZGUgPGxpYnhtbC94bWxyZWdleHAuaD4KKyNpbmNsdWRlIDxsaWJ4bWwveG1sYXV0b21hdGEuaD4KKyNpbmNsdWRlIDxsaWJ4bWwveG1scmVhZGVyLmg+CisjaWZkZWYgTElCWE1MX1NDSEVNQVNfRU5BQkxFRAorI2luY2x1ZGUgPGxpYnhtbC9yZWxheG5nLmg+CisjaW5jbHVkZSA8bGlieG1sL3htbHNjaGVtYXMuaD4KKyNlbmRpZgorCisvKgorICogZm9yIG9sZGVyIHZlcnNpb25zIG9mIFB5dGhvbiwgd2UgZG9uJ3QgdXNlIFB5Qnl0ZXMsIGJ1dCBrZWVwIFB5U3RyaW5nCisgKiBhbmQgZG9uJ3QgdXNlIENhcHN1bGUgYnV0IENPYmplY3RzCisgKi8KKyNpZiBQWV9WRVJTSU9OX0hFWCA8IDB4MDIwNzAwMDAKKyNpZm5kZWYgUHlCeXRlc19DaGVjaworI2RlZmluZSBQeUJ5dGVzX0NoZWNrIFB5U3RyaW5nX0NoZWNrCisjZGVmaW5lIFB5Qnl0ZXNfU2l6ZSBQeVN0cmluZ19TaXplCisjZGVmaW5lIFB5Qnl0ZXNfQXNTdHJpbmcgUHlTdHJpbmdfQXNTdHJpbmcKKyNkZWZpbmUgUHlCeXRlc19BU19TVFJJTkcgUHlTdHJpbmdfQVNfU1RSSU5HCisjZGVmaW5lIFB5Qnl0ZXNfR0VUX1NJWkUgUHlTdHJpbmdfR0VUX1NJWkUKKyNlbmRpZgorI2lmbmRlZiBQeUNhcHN1bGVfTmV3CisjZGVmaW5lIFB5Q2Fwc3VsZV9OZXcgUHlDT2JqZWN0X0Zyb21Wb2lkUHRyQW5kRGVzYworI2RlZmluZSBQeUNhcHN1bGVfQ2hlY2tFeGFjdCBQeUNPYmplY3RfQ2hlY2sKKyNkZWZpbmUgUHlDYXBzdWxlX0dldFBvaW50ZXIobywgbikgUHlDT2JqZWN0X0dldERlc2MoKG8pKQorI2VuZGlmCisjZW5kaWYKKworLyoqCisgKiBBVFRSSUJVVEVfVU5VU0VEOgorICoKKyAqIE1hY3JvIHVzZWQgdG8gc2lnbmFsIHRvIEdDQyB1bnVzZWQgZnVuY3Rpb24gcGFyYW1ldGVycworICogUmVwZWF0ZWQgaGVyZSBzaW5jZSB0aGUgZGVmaW5pdGlvbiBpcyBub3QgYXZhaWxhYmxlIHdoZW4KKyAqIGNvbXBpbGVkIG91dHNpZGUgdGhlIGxpYnhtbDIgYnVpbGQgdHJlZS4KKyAqLworI2lmZGVmIF9fR05VQ19fCisjaWZkZWYgQVRUUklCVVRFX1VOVVNFRAorI3VuZGVmIEFUVFJJQlVURV9VTlVTRUQKKyNlbmRpZgorI2lmbmRlZiBBVFRSSUJVVEVfVU5VU0VECisjZGVmaW5lIEFUVFJJQlVURV9VTlVTRUQgX19hdHRyaWJ1dGVfXyAoKF9fdW51c2VkX18pKQorI2VuZGlmIC8qIEFUVFJJQlVURV9VTlVTRUQgKi8KKyNlbHNlCisjZGVmaW5lIEFUVFJJQlVURV9VTlVTRUQKKyNlbmRpZgorCisjZGVmaW5lIFB5eG1sTm9kZV9HZXQodikgKCgodikgPT0gUHlfTm9uZSkgPyBOVUxMIDogXAorCSgoKFB5eG1sTm9kZV9PYmplY3QgKikodikpLT5vYmopKQorCit0eXBlZGVmIHN0cnVjdCB7CisgICAgUHlPYmplY3RfSEVBRAorICAgIHhtbE5vZGVQdHIgb2JqOworfSBQeXhtbE5vZGVfT2JqZWN0OworCisjZGVmaW5lIFB5eG1sWFBhdGhDb250ZXh0X0dldCh2KSAoKCh2KSA9PSBQeV9Ob25lKSA/IE5VTEwgOiBcCisJKCgoUHl4bWxYUGF0aENvbnRleHRfT2JqZWN0ICopKHYpKS0+b2JqKSkKKwordHlwZWRlZiBzdHJ1Y3QgeworICAgIFB5T2JqZWN0X0hFQUQKKyAgICB4bWxYUGF0aENvbnRleHRQdHIgb2JqOworfSBQeXhtbFhQYXRoQ29udGV4dF9PYmplY3Q7CisKKyNkZWZpbmUgUHl4bWxYUGF0aFBhcnNlckNvbnRleHRfR2V0KHYpICgoKHYpID09IFB5X05vbmUpID8gTlVMTCA6IFwKKwkoKChQeXhtbFhQYXRoUGFyc2VyQ29udGV4dF9PYmplY3QgKikodikpLT5vYmopKQorCit0eXBlZGVmIHN0cnVjdCB7CisgICAgUHlPYmplY3RfSEVBRAorICAgIHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBvYmo7Cit9IFB5eG1sWFBhdGhQYXJzZXJDb250ZXh0X09iamVjdDsKKworI2RlZmluZSBQeXBhcnNlckN0eHRfR2V0KHYpICgoKHYpID09IFB5X05vbmUpID8gTlVMTCA6IFwKKyAgICAgICAgKCgoUHlwYXJzZXJDdHh0X09iamVjdCAqKSh2KSktPm9iaikpCisKK3R5cGVkZWYgc3RydWN0IHsKKyAgICBQeU9iamVjdF9IRUFECisgICAgeG1sUGFyc2VyQ3R4dFB0ciBvYmo7Cit9IFB5cGFyc2VyQ3R4dF9PYmplY3Q7CisKKyNkZWZpbmUgUHlWYWxpZEN0eHRfR2V0KHYpICgoKHYpID09IFB5X05vbmUpID8gTlVMTCA6IFwKKwkoKChQeVZhbGlkQ3R4dF9PYmplY3QgKikodikpLT5vYmopKQorCit0eXBlZGVmIHN0cnVjdCB7CisJUHlPYmplY3RfSEVBRAorCXhtbFZhbGlkQ3R4dFB0ciBvYmo7Cit9IFB5VmFsaWRDdHh0X09iamVjdDsKKworI2RlZmluZSBQeWNhdGFsb2dfR2V0KHYpICgoKHYpID09IFB5X05vbmUpID8gTlVMTCA6IFwKKyAgICAgICAgKCgoUHljYXRhbG9nX09iamVjdCAqKSh2KSktPm9iaikpCisKK3R5cGVkZWYgc3RydWN0IHsKKyAgICBQeU9iamVjdF9IRUFECisgICAgeG1sQ2F0YWxvZ1B0ciBvYmo7Cit9IFB5Y2F0YWxvZ19PYmplY3Q7CisKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKKyNkZWZpbmUgUHl4bWxSZWdfR2V0KHYpICgoKHYpID09IFB5X05vbmUpID8gTlVMTCA6IFwKKyAgICAgICAgKCgoUHl4bWxSZWdfT2JqZWN0ICopKHYpKS0+b2JqKSkKKwordHlwZWRlZiBzdHJ1Y3QgeworICAgIFB5T2JqZWN0X0hFQUQKKyAgICB4bWxSZWdleHBQdHIgb2JqOworfSBQeXhtbFJlZ19PYmplY3Q7CisjZW5kaWYgLyogTElCWE1MX1JFR0VYUF9FTkFCTEVEICovCisKKyNpZmRlZiBMSUJYTUxfUkVBREVSX0VOQUJMRUQKKyNkZWZpbmUgUHl4bWxUZXh0UmVhZGVyX0dldCh2KSAoKCh2KSA9PSBQeV9Ob25lKSA/IE5VTEwgOiBcCisgICAgICAgICgoKFB5eG1sVGV4dFJlYWRlcl9PYmplY3QgKikodikpLT5vYmopKQorCit0eXBlZGVmIHN0cnVjdCB7CisgICAgUHlPYmplY3RfSEVBRAorICAgIHhtbFRleHRSZWFkZXJQdHIgb2JqOworfSBQeXhtbFRleHRSZWFkZXJfT2JqZWN0OworCisjZGVmaW5lIFB5eG1sVGV4dFJlYWRlckxvY2F0b3JfR2V0KHYpICgoKHYpID09IFB5X05vbmUpID8gTlVMTCA6IFwKKyAgICAgICAgKCgoUHl4bWxUZXh0UmVhZGVyTG9jYXRvcl9PYmplY3QgKikodikpLT5vYmopKQorCit0eXBlZGVmIHN0cnVjdCB7CisgICAgUHlPYmplY3RfSEVBRAorICAgIHhtbFRleHRSZWFkZXJMb2NhdG9yUHRyIG9iajsKK30gUHl4bWxUZXh0UmVhZGVyTG9jYXRvcl9PYmplY3Q7CisjZW5kaWYKKworI2RlZmluZSBQeVVSSV9HZXQodikgKCgodikgPT0gUHlfTm9uZSkgPyBOVUxMIDogXAorCSgoKFB5VVJJX09iamVjdCAqKSh2KSktPm9iaikpCisKK3R5cGVkZWYgc3RydWN0IHsKKyAgICBQeU9iamVjdF9IRUFECisgICAgeG1sRXJyb3JQdHIgb2JqOworfSBQeUVycm9yX09iamVjdDsKKworI2RlZmluZSBQeUVycm9yX0dldCh2KSAoKCh2KSA9PSBQeV9Ob25lKSA/IE5VTEwgOiBcCisJKCgoUHlFcnJvcl9PYmplY3QgKikodikpLT5vYmopKQorCit0eXBlZGVmIHN0cnVjdCB7CisgICAgUHlPYmplY3RfSEVBRAorICAgIHhtbE91dHB1dEJ1ZmZlclB0ciBvYmo7Cit9IFB5b3V0cHV0QnVmZmVyX09iamVjdDsKKworI2RlZmluZSBQeW91dHB1dEJ1ZmZlcl9HZXQodikgKCgodikgPT0gUHlfTm9uZSkgPyBOVUxMIDogXAorCSgoKFB5b3V0cHV0QnVmZmVyX09iamVjdCAqKSh2KSktPm9iaikpCisKK3R5cGVkZWYgc3RydWN0IHsKKyAgICBQeU9iamVjdF9IRUFECisgICAgeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIgb2JqOworfSBQeWlucHV0QnVmZmVyX09iamVjdDsKKworI2RlZmluZSBQeWlucHV0QnVmZmVyX0dldCh2KSAoKCh2KSA9PSBQeV9Ob25lKSA/IE5VTEwgOiBcCisJKCgoUHlpbnB1dEJ1ZmZlcl9PYmplY3QgKikodikpLT5vYmopKQorCit0eXBlZGVmIHN0cnVjdCB7CisgICAgUHlPYmplY3RfSEVBRAorICAgIHhtbFVSSVB0ciBvYmo7Cit9IFB5VVJJX09iamVjdDsKKworLyogRklMRSAqIGhhdmUgdGhlaXIgb3duIGludGVybmFsIHJlcHJlc2VudGF0aW9uICovCisjaWYgUFlfTUFKT1JfVkVSU0lPTiA+PSAzCitGSUxFICpsaWJ4bWxfUHlGaWxlR2V0KFB5T2JqZWN0ICpmKTsKK3ZvaWQgbGlieG1sX1B5RmlsZVJlbGVhc2UoRklMRSAqZik7CisjZGVmaW5lIFB5RmlsZV9HZXQodikgKCgodikgPT0gUHlfTm9uZSkgPyBOVUxMIDogbGlieG1sX1B5RmlsZUdldCh2KSkKKyNkZWZpbmUgUHlGaWxlX1JlbGVhc2UoZikgbGlieG1sX1B5RmlsZVJlbGVhc2UoZikKKyNlbHNlCisjZGVmaW5lIFB5RmlsZV9HZXQodikgKCgodikgPT0gUHlfTm9uZSkgPyBOVUxMIDogXAorCShQeUZpbGVfQ2hlY2sodikgPyAoUHlGaWxlX0FzRmlsZSh2KSkgOiBzdGRvdXQpKQorI2RlZmluZSBQeUZpbGVfUmVsZWFzZShmKQorI2VuZGlmCisKKyNpZmRlZiBMSUJYTUxfU0NIRU1BU19FTkFCTEVECit0eXBlZGVmIHN0cnVjdCB7CisgICAgUHlPYmplY3RfSEVBRAorICAgIHhtbFJlbGF4TkdQdHIgb2JqOworfSBQeXJlbGF4TmdTY2hlbWFfT2JqZWN0OworCisjZGVmaW5lIFB5cmVsYXhOZ1NjaGVtYV9HZXQodikgKCgodikgPT0gUHlfTm9uZSkgPyBOVUxMIDogXAorCSgoKFB5cmVsYXhOZ1NjaGVtYV9PYmplY3QgKikodikpLT5vYmopKQorCit0eXBlZGVmIHN0cnVjdCB7CisgICAgUHlPYmplY3RfSEVBRAorICAgIHhtbFJlbGF4TkdQYXJzZXJDdHh0UHRyIG9iajsKK30gUHlyZWxheE5nUGFyc2VyQ3R4dF9PYmplY3Q7CisKKyNkZWZpbmUgUHlyZWxheE5nUGFyc2VyQ3R4dF9HZXQodikgKCgodikgPT0gUHlfTm9uZSkgPyBOVUxMIDogXAorCSgoKFB5cmVsYXhOZ1BhcnNlckN0eHRfT2JqZWN0ICopKHYpKS0+b2JqKSkKKwordHlwZWRlZiBzdHJ1Y3QgeworICAgIFB5T2JqZWN0X0hFQUQKKyAgICB4bWxSZWxheE5HVmFsaWRDdHh0UHRyIG9iajsKK30gUHlyZWxheE5nVmFsaWRDdHh0X09iamVjdDsKKworI2RlZmluZSBQeXJlbGF4TmdWYWxpZEN0eHRfR2V0KHYpICgoKHYpID09IFB5X05vbmUpID8gTlVMTCA6IFwKKwkoKChQeXJlbGF4TmdWYWxpZEN0eHRfT2JqZWN0ICopKHYpKS0+b2JqKSkKKwordHlwZWRlZiBzdHJ1Y3QgeworCVB5T2JqZWN0X0hFQUQKKwl4bWxTY2hlbWFQdHIgb2JqOworfSBQeVNjaGVtYV9PYmplY3Q7CisKKyNkZWZpbmUgUHlTY2hlbWFfR2V0KHYpICgoKHYpID09IFB5X05vbmUpID8gTlVMTCA6IFwKKwkoKChQeVNjaGVtYV9PYmplY3QgKikodikpLT5vYmopKQorCit0eXBlZGVmIHN0cnVjdCB7CisJUHlPYmplY3RfSEVBRAorCXhtbFNjaGVtYVBhcnNlckN0eHRQdHIgb2JqOworfSBQeVNjaGVtYVBhcnNlckN0eHRfT2JqZWN0OworCisjZGVmaW5lIFB5U2NoZW1hUGFyc2VyQ3R4dF9HZXQodikgKCgodikgPT0gUHlfTm9uZSkgPyBOVUxMIDogXAorCSgoKFB5U2NoZW1hUGFyc2VyQ3R4dF9PYmplY3QgKikodikpLT5vYmopKQorCit0eXBlZGVmIHN0cnVjdCB7CisJUHlPYmplY3RfSEVBRAorCXhtbFNjaGVtYVZhbGlkQ3R4dFB0ciBvYmo7Cit9IFB5U2NoZW1hVmFsaWRDdHh0X09iamVjdDsKKworI2RlZmluZSBQeVNjaGVtYVZhbGlkQ3R4dF9HZXQodikgKCgodikgPT0gUHlfTm9uZSkgPyBOVUxMIDogXAorCSgoKFB5U2NoZW1hVmFsaWRDdHh0X09iamVjdCAqKSh2KSktPm9iaikpCisKKyNlbmRpZiAvKiBMSUJYTUxfU0NIRU1BU19FTkFCTEVEICovCisKK1B5T2JqZWN0ICogbGlieG1sX2ludFdyYXAoaW50IHZhbCk7CitQeU9iamVjdCAqIGxpYnhtbF9sb25nV3JhcChsb25nIHZhbCk7CitQeU9iamVjdCAqIGxpYnhtbF94bWxDaGFyUHRyV3JhcCh4bWxDaGFyICpzdHIpOworUHlPYmplY3QgKiBsaWJ4bWxfY29uc3R4bWxDaGFyUHRyV3JhcChjb25zdCB4bWxDaGFyICpzdHIpOworUHlPYmplY3QgKiBsaWJ4bWxfY2hhclB0cldyYXAoY2hhciAqc3RyKTsKK1B5T2JqZWN0ICogbGlieG1sX2NvbnN0Y2hhclB0cldyYXAoY29uc3QgY2hhciAqc3RyKTsKK1B5T2JqZWN0ICogbGlieG1sX2NoYXJQdHJDb25zdFdyYXAoY29uc3QgY2hhciAqc3RyKTsKK1B5T2JqZWN0ICogbGlieG1sX3htbENoYXJQdHJDb25zdFdyYXAoY29uc3QgeG1sQ2hhciAqc3RyKTsKK1B5T2JqZWN0ICogbGlieG1sX3htbERvY1B0cldyYXAoeG1sRG9jUHRyIGRvYyk7CitQeU9iamVjdCAqIGxpYnhtbF94bWxOb2RlUHRyV3JhcCh4bWxOb2RlUHRyIG5vZGUpOworUHlPYmplY3QgKiBsaWJ4bWxfeG1sQXR0clB0cldyYXAoeG1sQXR0clB0ciBhdHRyKTsKK1B5T2JqZWN0ICogbGlieG1sX3htbE5zUHRyV3JhcCh4bWxOc1B0ciBucyk7CitQeU9iamVjdCAqIGxpYnhtbF94bWxBdHRyaWJ1dGVQdHJXcmFwKHhtbEF0dHJpYnV0ZVB0ciBucyk7CitQeU9iamVjdCAqIGxpYnhtbF94bWxFbGVtZW50UHRyV3JhcCh4bWxFbGVtZW50UHRyIG5zKTsKK1B5T2JqZWN0ICogbGlieG1sX2RvdWJsZVdyYXAoZG91YmxlIHZhbCk7CitQeU9iamVjdCAqIGxpYnhtbF94bWxYUGF0aENvbnRleHRQdHJXcmFwKHhtbFhQYXRoQ29udGV4dFB0ciBjdHh0KTsKK1B5T2JqZWN0ICogbGlieG1sX3htbFBhcnNlckN0eHRQdHJXcmFwKHhtbFBhcnNlckN0eHRQdHIgY3R4dCk7CitQeU9iamVjdCAqIGxpYnhtbF94bWxYUGF0aFBhcnNlckNvbnRleHRQdHJXcmFwKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0KTsKK1B5T2JqZWN0ICogbGlieG1sX3htbFhQYXRoT2JqZWN0UHRyV3JhcCh4bWxYUGF0aE9iamVjdFB0ciBvYmopOworUHlPYmplY3QgKiBsaWJ4bWxfeG1sVmFsaWRDdHh0UHRyV3JhcCh4bWxWYWxpZEN0eHRQdHIgdmFsaWQpOworUHlPYmplY3QgKiBsaWJ4bWxfeG1sQ2F0YWxvZ1B0cldyYXAoeG1sQ2F0YWxvZ1B0ciBvYmopOworUHlPYmplY3QgKiBsaWJ4bWxfeG1sVVJJUHRyV3JhcCh4bWxVUklQdHIgdXJpKTsKK1B5T2JqZWN0ICogbGlieG1sX3htbE91dHB1dEJ1ZmZlclB0cldyYXAoeG1sT3V0cHV0QnVmZmVyUHRyIGJ1ZmZlcik7CitQeU9iamVjdCAqIGxpYnhtbF94bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cldyYXAoeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIgYnVmZmVyKTsKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKK1B5T2JqZWN0ICogbGlieG1sX3htbFJlZ2V4cFB0cldyYXAoeG1sUmVnZXhwUHRyIHJlZ2V4cCk7CisjZW5kaWYgLyogTElCWE1MX1JFR0VYUF9FTkFCTEVEICovCisjaWZkZWYgTElCWE1MX1JFQURFUl9FTkFCTEVECitQeU9iamVjdCAqIGxpYnhtbF94bWxUZXh0UmVhZGVyUHRyV3JhcCh4bWxUZXh0UmVhZGVyUHRyIHJlYWRlcik7CitQeU9iamVjdCAqIGxpYnhtbF94bWxUZXh0UmVhZGVyTG9jYXRvclB0cldyYXAoeG1sVGV4dFJlYWRlckxvY2F0b3JQdHIgbG9jYXRvcik7CisjZW5kaWYKKworeG1sWFBhdGhPYmplY3RQdHIgbGlieG1sX3htbFhQYXRoT2JqZWN0UHRyQ29udmVydChQeU9iamVjdCAqIG9iaik7CisjaWZkZWYgTElCWE1MX1NDSEVNQVNfRU5BQkxFRAorUHlPYmplY3QgKiBsaWJ4bWxfeG1sUmVsYXhOR1B0cldyYXAoeG1sUmVsYXhOR1B0ciBjdHh0KTsKK1B5T2JqZWN0ICogbGlieG1sX3htbFJlbGF4TkdQYXJzZXJDdHh0UHRyV3JhcCh4bWxSZWxheE5HUGFyc2VyQ3R4dFB0ciBjdHh0KTsKK1B5T2JqZWN0ICogbGlieG1sX3htbFJlbGF4TkdWYWxpZEN0eHRQdHJXcmFwKHhtbFJlbGF4TkdWYWxpZEN0eHRQdHIgdmFsaWQpOworUHlPYmplY3QgKiBsaWJ4bWxfeG1sU2NoZW1hUHRyV3JhcCh4bWxTY2hlbWFQdHIgY3R4dCk7CitQeU9iamVjdCAqIGxpYnhtbF94bWxTY2hlbWFQYXJzZXJDdHh0UHRyV3JhcCh4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIGN0eHQpOworUHlPYmplY3QgKiBsaWJ4bWxfeG1sU2NoZW1hVmFsaWRDdHh0UHRyV3JhcCh4bWxTY2hlbWFWYWxpZEN0eHRQdHIgdmFsaWQpOworI2VuZGlmIC8qIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQgKi8KK1B5T2JqZWN0ICogbGlieG1sX3htbEVycm9yUHRyV3JhcCh4bWxFcnJvclB0ciBlcnJvcik7CitQeU9iamVjdCAqIGxpYnhtbF94bWxTY2hlbWFTZXRWYWxpZEVycm9ycyhQeU9iamVjdCAqIHNlbGYsIFB5T2JqZWN0ICogYXJncyk7CitQeU9iamVjdCAqIGxpYnhtbF94bWxSZWdpc3RlcklucHV0Q2FsbGJhY2soUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKTsKK1B5T2JqZWN0ICogbGlieG1sX3htbFVucmVnaXN0ZXJJbnB1dENhbGxiYWNrKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncyk7CitQeU9iamVjdCAqIGxpYnhtbF94bWxOb2RlUmVtb3ZlTnNEZWYoUHlPYmplY3QgKiBzZWxmLCBQeU9iamVjdCAqIGFyZ3MpOwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9weXRob24vc2V0dXAucHkgYi9saWJ4bWwyL3B5dGhvbi9zZXR1cC5weQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lMWZmMzY1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9weXRob24vc2V0dXAucHkKQEAgLTAsMCArMSwyNDIgQEAKKyMhL3Vzci9iaW4vcHl0aG9uIC11CisjCisjIFNldHVwIHNjcmlwdCBmb3IgbGlieG1sMiBhbmQgbGlieHNsdCBpZiBmb3VuZAorIworaW1wb3J0IHN5cywgb3MKK2Zyb20gZGlzdHV0aWxzLmNvcmUgaW1wb3J0IHNldHVwLCBFeHRlbnNpb24KKworIyBCZWxvdyBST09ULCB3ZSBleHBlY3QgdG8gZmluZCBpbmNsdWRlLCBpbmNsdWRlL2xpYnhtbDIsIGxpYiBhbmQgYmluLgorIyBPbiAqbml4LCBpdCBpcyBub3QgbmVlZGVkIChidXQgc2hvdWxkIG5vdCBoYXJtKSwKKyMgb24gV2luZG93cywgaXQgaXMgc2V0IGJ5IGNvbmZpZ3VyZS5qcy4KK1JPT1QgPSByJy91c3IvbG9jYWwnCisKKyMgVGhyZWFkLWVuYWJsZWQgbGlieG1sMgord2l0aF90aHJlYWRzID0gMQorCisjIElmIHRoaXMgZmxhZyBpcyBzZXQgKHdpbmRvd3Mgb25seSksCisjIGEgcHJpdmF0ZSBjb3B5IG9mIHRoZSBkbGxzIGFyZSBpbmNsdWRlZCBpbiB0aGUgcGFja2FnZS4KKyMgSWYgdGhpcyBmbGFnIGlzIG5vdCBzZXQsIHRoZSBsaWJ4bWwyIGFuZCBsaWJ4c2x0CisjIGRsbHMgbXVzdCBiZSBmb3VuZCBzb21ld2hlcmUgaW4gdGhlIFBBVEggYXQgcnVudGltZS4KK1dJVEhETExTID0gMSBhbmQgc3lzLnBsYXRmb3JtLnN0YXJ0c3dpdGgoJ3dpbicpCisKK2RlZiBtaXNzaW5nKGZpbGUpOgorICAgIGlmIG9zLmFjY2VzcyhmaWxlLCBvcy5SX09LKSA9PSAwOgorICAgICAgICByZXR1cm4gMQorICAgIHJldHVybiAwCisKK3RyeToKKyAgICBIT01FID0gb3MuZW52aXJvblsnSE9NRSddCitleGNlcHQ6CisgICAgSE9NRT0iQzoiCisKK2lmIFdJVEhETExTOgorICAgICMgbGlieG1sIGRsbHMgKGV4cGVjdGVkIGluIFJPT1QvYmluKQorICAgIGRsbHMgPSBbICdpY29udi5kbGwnLCdsaWJ4bWwyLmRsbCcsJ2xpYnhzbHQuZGxsJywnbGliZXhzbHQuZGxsJyBdCisgICAgZGxscyA9IFtvcy5wYXRoLmpvaW4oUk9PVCwnYmluJyxkbGwpIGZvciBkbGwgaW4gZGxsc10KKworICAgICMgY3JlYXRlIF9faW5pdF9fLnB5IGZvciB0aGUgbGlieG1sbW9kcyBwYWNrYWdlCisgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKCJsaWJ4bWxtb2RzIik6CisgICAgICAgIG9zLm1rZGlyKCJsaWJ4bWxtb2RzIikKKyAgICAgICAgb3BlbigibGlieG1sbW9kcy9fX2luaXRfXy5weSIsInciKS5jbG9zZSgpCisKKyAgICBkZWYgYWx0SW1wb3J0KHMpOgorICAgICAgICBzID0gcy5yZXBsYWNlKCJpbXBvcnQgbGlieG1sMm1vZCIsImZyb20gbGlieG1sbW9kcyBpbXBvcnQgbGlieG1sMm1vZCIpCisgICAgICAgIHMgPSBzLnJlcGxhY2UoImltcG9ydCBsaWJ4c2x0bW9kIiwiZnJvbSBsaWJ4bWxtb2RzIGltcG9ydCBsaWJ4c2x0bW9kIikKKyAgICAgICAgcmV0dXJuIHMKKworaWYgc3lzLnBsYXRmb3JtLnN0YXJ0c3dpdGgoJ3dpbicpOgorICAgIGxpYnJhcnlQcmVmaXggPSAnbGliJworICAgIHBsYXRmb3JtTGlicyA9IFtdCitlbHNlOgorICAgIGxpYnJhcnlQcmVmaXggPSAnJworICAgIHBsYXRmb3JtTGlicyA9IFsibSIsInoiXQorCisjIHRob3NlIGFyZSBleGFtaW5lZCB0byBmaW5kCisjIC0gbGlieG1sMi9saWJ4bWwvdHJlZS5oCisjIC0gaWNvbnYuaAorIyAtIGxpYnhzbHQveHNsdGNvbmZpZy5oCitpbmNsdWRlc19kaXIgPSBbCisiL3Vzci9pbmNsdWRlIiwKKyIvdXNyL2xvY2FsL2luY2x1ZGUiLAorIi9vcHQvaW5jbHVkZSIsCitvcy5wYXRoLmpvaW4oUk9PVCwnaW5jbHVkZScpLAorSE9NRQorXTsKKworeG1sX2luY2x1ZGVzPSIiCitmb3IgZGlyIGluIGluY2x1ZGVzX2RpcjoKKyAgICBpZiBub3QgbWlzc2luZyhkaXIgKyAiL2xpYnhtbDIvbGlieG1sL3RyZWUuaCIpOgorICAgICAgICB4bWxfaW5jbHVkZXM9ZGlyICsgIi9saWJ4bWwyIgorICAgICAgICBicmVhazsKKworaWYgeG1sX2luY2x1ZGVzID09ICIiOgorICAgIHByaW50KCJmYWlsZWQgdG8gZmluZCBoZWFkZXJzIGZvciBsaWJ4bWwyOiB1cGRhdGUgaW5jbHVkZXNfZGlyIikKKyAgICBzeXMuZXhpdCgxKQorCitpY29udl9pbmNsdWRlcz0iIgorZm9yIGRpciBpbiBpbmNsdWRlc19kaXI6CisgICAgaWYgbm90IG1pc3NpbmcoZGlyICsgIi9pY29udi5oIik6CisgICAgICAgIGljb252X2luY2x1ZGVzPWRpcgorICAgICAgICBicmVhazsKKworaWYgaWNvbnZfaW5jbHVkZXMgPT0gIiI6CisgICAgcHJpbnQoImZhaWxlZCB0byBmaW5kIGhlYWRlcnMgZm9yIGxpYmljb252OiB1cGRhdGUgaW5jbHVkZXNfZGlyIikKKyAgICBzeXMuZXhpdCgxKQorCisjIHRob3NlIGFyZSBhZGRlZCBpbiB0aGUgbGlua2VyIHNlYXJjaCBwYXRoIGZvciBsaWJyYXJpZXMKK2xpYmRpcnMgPSBbCitvcy5wYXRoLmpvaW4oUk9PVCwnbGliJyksCitdCisKK3htbF9maWxlcyA9IFsibGlieG1sMi1hcGkueG1sIiwgImxpYnhtbDItcHl0aG9uLWFwaS54bWwiLAorICAgICAgICAgICAgICJsaWJ4bWwuYyIsICJsaWJ4bWwucHkiLCAibGlieG1sX3dyYXAuaCIsICJ0eXBlcy5jIiwKKyAgICAgICAgICAgICAieG1sZ2VuZXJhdG9yLnB5IiwgIlJFQURNRSIsICJUT0RPIiwgImRydl9saWJ4bWwyLnB5Il0KKworeHNsdF9maWxlcyA9IFsibGlieHNsdC1hcGkueG1sIiwgImxpYnhzbHQtcHl0aG9uLWFwaS54bWwiLAorICAgICAgICAgICAgICJsaWJ4c2x0LmMiLCAibGlieHNsLnB5IiwgImxpYnhzbHRfd3JhcC5oIiwKKyAgICAgICAgICAgICAieHNsdGdlbmVyYXRvci5weSJdCisKK2lmIG1pc3NpbmcoImxpYnhtbDItcHkuYyIpIG9yIG1pc3NpbmcoImxpYnhtbDIucHkiKToKKyAgICB0cnk6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIGltcG9ydCB4bWxnZW5lcmF0b3IKKyAgICAgICAgZXhjZXB0OgorICAgICAgICAgICAgaW1wb3J0IGdlbmVyYXRvcgorICAgIGV4Y2VwdDoKKyAgICAgICAgcHJpbnQoImZhaWxlZCB0byBmaW5kIGFuZCBnZW5lcmF0ZSBzdHVicyBmb3IgbGlieG1sMiwgYWJvcnRpbmcgLi4uIikKKyAgICAgICAgcHJpbnQoc3lzLmV4Y19pbmZvKClbMF0sIHN5cy5leGNfaW5mbygpWzFdKQorICAgICAgICBzeXMuZXhpdCgxKQorCisgICAgaGVhZCA9IG9wZW4oImxpYnhtbC5weSIsICJyIikKKyAgICBnZW5lcmF0ZWQgPSBvcGVuKCJsaWJ4bWwyY2xhc3MucHkiLCAiciIpCisgICAgcmVzdWx0ID0gb3BlbigibGlieG1sMi5weSIsICJ3IikKKyAgICBmb3IgbGluZSBpbiBoZWFkLnJlYWRsaW5lcygpOgorICAgICAgICBpZiBXSVRIRExMUzoKKyAgICAgICAgICAgIHJlc3VsdC53cml0ZShhbHRJbXBvcnQobGluZSkpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByZXN1bHQud3JpdGUobGluZSkKKyAgICBmb3IgbGluZSBpbiBnZW5lcmF0ZWQucmVhZGxpbmVzKCk6CisgICAgICAgIHJlc3VsdC53cml0ZShsaW5lKQorICAgIGhlYWQuY2xvc2UoKQorICAgIGdlbmVyYXRlZC5jbG9zZSgpCisgICAgcmVzdWx0LmNsb3NlKCkKKword2l0aF94c2x0PTAKK2lmIG1pc3NpbmcoImxpYnhzbHQtcHkuYyIpIG9yIG1pc3NpbmcoImxpYnhzbHQucHkiKToKKyAgICBpZiBtaXNzaW5nKCJ4c2x0Z2VuZXJhdG9yLnB5Iikgb3IgbWlzc2luZygibGlieHNsdC1hcGkueG1sIik6CisgICAgICAgIHByaW50KCJsaWJ4c2x0IHN0dWIgZ2VuZXJhdG9yIG5vdCBmb3VuZCwgbGlieHNsdCBub3QgYnVpbHQiKQorICAgIGVsc2U6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIGltcG9ydCB4c2x0Z2VuZXJhdG9yCisgICAgICAgIGV4Y2VwdDoKKyAgICAgICAgICAgIHByaW50KCJmYWlsZWQgdG8gZ2VuZXJhdGUgc3R1YnMgZm9yIGxpYnhzbHQsIGFib3J0aW5nIC4uLiIpCisgICAgICAgICAgICBwcmludChzeXMuZXhjX2luZm8oKVswXSwgc3lzLmV4Y19pbmZvKClbMV0pCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBoZWFkID0gb3BlbigibGlieHNsLnB5IiwgInIiKQorICAgICAgICAgICAgZ2VuZXJhdGVkID0gb3BlbigibGlieHNsdGNsYXNzLnB5IiwgInIiKQorICAgICAgICAgICAgcmVzdWx0ID0gb3BlbigibGlieHNsdC5weSIsICJ3IikKKyAgICAgICAgICAgIGZvciBsaW5lIGluIGhlYWQucmVhZGxpbmVzKCk6CisgICAgICAgICAgICAgICAgaWYgV0lUSERMTFM6CisgICAgICAgICAgICAgICAgICAgIHJlc3VsdC53cml0ZShhbHRJbXBvcnQobGluZSkpCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgcmVzdWx0LndyaXRlKGxpbmUpCisgICAgICAgICAgICBmb3IgbGluZSBpbiBnZW5lcmF0ZWQucmVhZGxpbmVzKCk6CisgICAgICAgICAgICAgICAgcmVzdWx0LndyaXRlKGxpbmUpCisgICAgICAgICAgICBoZWFkLmNsb3NlKCkKKyAgICAgICAgICAgIGdlbmVyYXRlZC5jbG9zZSgpCisgICAgICAgICAgICByZXN1bHQuY2xvc2UoKQorICAgICAgICAgICAgd2l0aF94c2x0PTEKK2Vsc2U6CisgICAgd2l0aF94c2x0PTEKKworaWYgd2l0aF94c2x0ID09IDE6CisgICAgeHNsdF9pbmNsdWRlcz0iIgorICAgIGZvciBkaXIgaW4gaW5jbHVkZXNfZGlyOgorICAgICAgICBpZiBub3QgbWlzc2luZyhkaXIgKyAiL2xpYnhzbHQveHNsdGNvbmZpZy5oIik6CisgICAgICAgICAgICB4c2x0X2luY2x1ZGVzPWRpciArICIvbGlieHNsdCIKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgaWYgeHNsdF9pbmNsdWRlcyA9PSAiIjoKKyAgICAgICAgcHJpbnQoImZhaWxlZCB0byBmaW5kIGhlYWRlcnMgZm9yIGxpYnhzbHQ6IHVwZGF0ZSBpbmNsdWRlc19kaXIiKQorICAgICAgICB3aXRoX3hzbHQgPSAwCisKKworZGVzY3IgPSAibGlieG1sMiBwYWNrYWdlIgorbW9kdWxlcyA9IFsgJ2xpYnhtbDInLCAnZHJ2X2xpYnhtbDInIF0KK2lmIFdJVEhETExTOgorICAgIG1vZHVsZXMuYXBwZW5kKCdsaWJ4bWxtb2RzLl9faW5pdF9fJykKK2NfZmlsZXMgPSBbJ2xpYnhtbDItcHkuYycsICdsaWJ4bWwuYycsICd0eXBlcy5jJyBdCitpbmNsdWRlcz0gW3htbF9pbmNsdWRlcywgaWNvbnZfaW5jbHVkZXNdCitsaWJzICAgID0gW2xpYnJhcnlQcmVmaXggKyAieG1sMiJdICsgcGxhdGZvcm1MaWJzCittYWNyb3MgID0gW10KK2lmIHdpdGhfdGhyZWFkczoKKyAgICBtYWNyb3MuYXBwZW5kKCgnX1JFRU5UUkFOVCcsJzEnKSkKK2lmIHdpdGhfeHNsdCA9PSAxOgorICAgIGRlc2NyID0gImxpYnhtbDIgYW5kIGxpYnhzbHQgcGFja2FnZSIKKyAgICBpZiBub3Qgc3lzLnBsYXRmb3JtLnN0YXJ0c3dpdGgoJ3dpbicpOgorICAgICAgICAjCisgICAgICAgICMgV2UgYXJlIGdvbm5hIGJ1aWxkIDIgaWRlbnRpY2FsIHNoYXJlZCBsaWJzIHdpdGggbWVyZ2UgaW5pdGlhbGl6aW5nCisgICAgICAgICMgYm90aCBsaWJ4bWwybW9kIGFuZCBsaWJ4c2x0bW9kCisgICAgICAgICMKKyAgICAgICAgY19maWxlcyA9IGNfZmlsZXMgKyBbJ2xpYnhzbHQtcHkuYycsICdsaWJ4c2x0LmMnXQorICAgICAgICB4c2x0X2NfZmlsZXMgPSBjX2ZpbGVzCisgICAgICAgIG1hY3Jvcy5hcHBlbmQoKCdNRVJHRURfTU9EVUxFUycsICcxJykpCisgICAgZWxzZToKKyAgICAgICAgIworICAgICAgICAjIE9uIHdpbmRvd3MgdGhlIE1FUkdFRF9NT0RVTEUgb3B0aW9uIGlzIG5vdCBuZWVkZWQKKyAgICAgICAgIyAoYW5kIGRvZXMgbm90IHdvcmspCisgICAgICAgICMKKyAgICAgICAgeHNsdF9jX2ZpbGVzID0gWydsaWJ4c2x0LXB5LmMnLCAnbGlieHNsdC5jJywgJ3R5cGVzLmMnXQorICAgIGxpYnMuaW5zZXJ0KDAsIGxpYnJhcnlQcmVmaXggKyAnZXhzbHQnKQorICAgIGxpYnMuaW5zZXJ0KDAsIGxpYnJhcnlQcmVmaXggKyAneHNsdCcpCisgICAgaW5jbHVkZXMuYXBwZW5kKHhzbHRfaW5jbHVkZXMpCisgICAgbW9kdWxlcy5hcHBlbmQoJ2xpYnhzbHQnKQorCisKK2V4dGVucz1bRXh0ZW5zaW9uKCdsaWJ4bWwybW9kJywgY19maWxlcywgaW5jbHVkZV9kaXJzPWluY2x1ZGVzLAorICAgICAgICAgICAgICAgICAgbGlicmFyeV9kaXJzPWxpYmRpcnMsCisgICAgICAgICAgICAgICAgICBsaWJyYXJpZXM9bGlicywgZGVmaW5lX21hY3Jvcz1tYWNyb3MpXQoraWYgd2l0aF94c2x0ID09IDE6CisgICAgZXh0ZW5zLmFwcGVuZChFeHRlbnNpb24oJ2xpYnhzbHRtb2QnLCB4c2x0X2NfZmlsZXMsIGluY2x1ZGVfZGlycz1pbmNsdWRlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJyYXJ5X2RpcnM9bGliZGlycywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJyYXJpZXM9bGlicywgZGVmaW5lX21hY3Jvcz1tYWNyb3MpKQorCitpZiBtaXNzaW5nKCJNQU5JRkVTVCIpOgorCisgICAgbWFuaWZlc3QgPSBvcGVuKCJNQU5JRkVTVCIsICJ3IikKKyAgICBtYW5pZmVzdC53cml0ZSgic2V0dXAucHlcbiIpCisgICAgZm9yIGZpbGUgaW4geG1sX2ZpbGVzOgorICAgICAgICBtYW5pZmVzdC53cml0ZShmaWxlICsgIlxuIikKKyAgICBpZiB3aXRoX3hzbHQgPT0gMToKKyAgICAgICAgZm9yIGZpbGUgaW4geHNsdF9maWxlczoKKyAgICAgICAgICAgIG1hbmlmZXN0LndyaXRlKGZpbGUgKyAiXG4iKQorICAgIG1hbmlmZXN0LmNsb3NlKCkKKworaWYgV0lUSERMTFM6CisgICAgZXh0X3BhY2thZ2UgPSAibGlieG1sbW9kcyIKKyAgICBpZiBzeXMudmVyc2lvbiA+PSAiMi4yIjoKKyAgICAgICAgYmFzZSA9ICJsaWIvc2l0ZS1wYWNrYWdlcy8iCisgICAgZWxzZToKKyAgICAgICAgYmFzZSA9ICIiCisgICAgZGF0YV9maWxlcyA9IFsoYmFzZSsibGlieG1sbW9kcyIsZGxscyldCitlbHNlOgorICAgIGV4dF9wYWNrYWdlID0gTm9uZQorICAgIGRhdGFfZmlsZXMgPSBbXQorCitzZXR1cCAobmFtZSA9ICJsaWJ4bWwyLXB5dGhvbiIsCisgICAgICAgIyBPbiAqbml4LCB0aGUgdmVyc2lvbiBudW1iZXIgaXMgY3JlYXRlZCBmcm9tIHNldHVwLnB5LmluCisgICAgICAgIyBPbiB3aW5kb3dzLCBpdCBpcyBzZXQgYnkgY29uZmlndXJlLmpzCisgICAgICAgdmVyc2lvbiA9ICIyLjkuMiIsCisgICAgICAgZGVzY3JpcHRpb24gPSBkZXNjciwKKyAgICAgICBhdXRob3IgPSAiRGFuaWVsIFZlaWxsYXJkIiwKKyAgICAgICBhdXRob3JfZW1haWwgPSAidmVpbGxhcmRAcmVkaGF0LmNvbSIsCisgICAgICAgdXJsID0gImh0dHA6Ly94bWxzb2Z0Lm9yZy9weXRob24uaHRtbCIsCisgICAgICAgbGljZW5jZT0iTUlUIExpY2VuY2UiLAorICAgICAgIHB5X21vZHVsZXM9bW9kdWxlcywKKyAgICAgICBleHRfbW9kdWxlcz1leHRlbnMsCisgICAgICAgZXh0X3BhY2thZ2U9ZXh0X3BhY2thZ2UsCisgICAgICAgZGF0YV9maWxlcz1kYXRhX2ZpbGVzLAorICAgICAgICkKKworc3lzLmV4aXQoMCkKKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9weXRob24vc2V0dXAucHkuaW4gYi9saWJ4bWwyL3B5dGhvbi9zZXR1cC5weS5pbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45MGMyMTE0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9weXRob24vc2V0dXAucHkuaW4KQEAgLTAsMCArMSwyNDIgQEAKKyMhL3Vzci9iaW4vcHl0aG9uIC11CisjCisjIFNldHVwIHNjcmlwdCBmb3IgbGlieG1sMiBhbmQgbGlieHNsdCBpZiBmb3VuZAorIworaW1wb3J0IHN5cywgb3MKK2Zyb20gZGlzdHV0aWxzLmNvcmUgaW1wb3J0IHNldHVwLCBFeHRlbnNpb24KKworIyBCZWxvdyBST09ULCB3ZSBleHBlY3QgdG8gZmluZCBpbmNsdWRlLCBpbmNsdWRlL2xpYnhtbDIsIGxpYiBhbmQgYmluLgorIyBPbiAqbml4LCBpdCBpcyBub3QgbmVlZGVkIChidXQgc2hvdWxkIG5vdCBoYXJtKSwKKyMgb24gV2luZG93cywgaXQgaXMgc2V0IGJ5IGNvbmZpZ3VyZS5qcy4KK1JPT1QgPSByJ0BwcmVmaXhAJworCisjIFRocmVhZC1lbmFibGVkIGxpYnhtbDIKK3dpdGhfdGhyZWFkcyA9IEBXSVRIX1RIUkVBRFNACisKKyMgSWYgdGhpcyBmbGFnIGlzIHNldCAod2luZG93cyBvbmx5KSwKKyMgYSBwcml2YXRlIGNvcHkgb2YgdGhlIGRsbHMgYXJlIGluY2x1ZGVkIGluIHRoZSBwYWNrYWdlLgorIyBJZiB0aGlzIGZsYWcgaXMgbm90IHNldCwgdGhlIGxpYnhtbDIgYW5kIGxpYnhzbHQKKyMgZGxscyBtdXN0IGJlIGZvdW5kIHNvbWV3aGVyZSBpbiB0aGUgUEFUSCBhdCBydW50aW1lLgorV0lUSERMTFMgPSAxIGFuZCBzeXMucGxhdGZvcm0uc3RhcnRzd2l0aCgnd2luJykKKworZGVmIG1pc3NpbmcoZmlsZSk6CisgICAgaWYgb3MuYWNjZXNzKGZpbGUsIG9zLlJfT0spID09IDA6CisgICAgICAgIHJldHVybiAxCisgICAgcmV0dXJuIDAKKwordHJ5OgorICAgIEhPTUUgPSBvcy5lbnZpcm9uWydIT01FJ10KK2V4Y2VwdDoKKyAgICBIT01FPSJDOiIKKworaWYgV0lUSERMTFM6CisgICAgIyBsaWJ4bWwgZGxscyAoZXhwZWN0ZWQgaW4gUk9PVC9iaW4pCisgICAgZGxscyA9IFsgJ2ljb252LmRsbCcsJ2xpYnhtbDIuZGxsJywnbGlieHNsdC5kbGwnLCdsaWJleHNsdC5kbGwnIF0KKyAgICBkbGxzID0gW29zLnBhdGguam9pbihST09ULCdiaW4nLGRsbCkgZm9yIGRsbCBpbiBkbGxzXQorCisgICAgIyBjcmVhdGUgX19pbml0X18ucHkgZm9yIHRoZSBsaWJ4bWxtb2RzIHBhY2thZ2UKKyAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoImxpYnhtbG1vZHMiKToKKyAgICAgICAgb3MubWtkaXIoImxpYnhtbG1vZHMiKQorICAgICAgICBvcGVuKCJsaWJ4bWxtb2RzL19faW5pdF9fLnB5IiwidyIpLmNsb3NlKCkKKworICAgIGRlZiBhbHRJbXBvcnQocyk6CisgICAgICAgIHMgPSBzLnJlcGxhY2UoImltcG9ydCBsaWJ4bWwybW9kIiwiZnJvbSBsaWJ4bWxtb2RzIGltcG9ydCBsaWJ4bWwybW9kIikKKyAgICAgICAgcyA9IHMucmVwbGFjZSgiaW1wb3J0IGxpYnhzbHRtb2QiLCJmcm9tIGxpYnhtbG1vZHMgaW1wb3J0IGxpYnhzbHRtb2QiKQorICAgICAgICByZXR1cm4gcworCitpZiBzeXMucGxhdGZvcm0uc3RhcnRzd2l0aCgnd2luJyk6CisgICAgbGlicmFyeVByZWZpeCA9ICdsaWInCisgICAgcGxhdGZvcm1MaWJzID0gW10KK2Vsc2U6CisgICAgbGlicmFyeVByZWZpeCA9ICcnCisgICAgcGxhdGZvcm1MaWJzID0gWyJtIiwieiJdCisKKyMgdGhvc2UgYXJlIGV4YW1pbmVkIHRvIGZpbmQKKyMgLSBsaWJ4bWwyL2xpYnhtbC90cmVlLmgKKyMgLSBpY29udi5oCisjIC0gbGlieHNsdC94c2x0Y29uZmlnLmgKK2luY2x1ZGVzX2RpciA9IFsKKyIvdXNyL2luY2x1ZGUiLAorIi91c3IvbG9jYWwvaW5jbHVkZSIsCisiL29wdC9pbmNsdWRlIiwKK29zLnBhdGguam9pbihST09ULCdpbmNsdWRlJyksCitIT01FCitdOworCit4bWxfaW5jbHVkZXM9IiIKK2ZvciBkaXIgaW4gaW5jbHVkZXNfZGlyOgorICAgIGlmIG5vdCBtaXNzaW5nKGRpciArICIvbGlieG1sMi9saWJ4bWwvdHJlZS5oIik6CisgICAgICAgIHhtbF9pbmNsdWRlcz1kaXIgKyAiL2xpYnhtbDIiCisgICAgICAgIGJyZWFrOworCitpZiB4bWxfaW5jbHVkZXMgPT0gIiI6CisgICAgcHJpbnQoImZhaWxlZCB0byBmaW5kIGhlYWRlcnMgZm9yIGxpYnhtbDI6IHVwZGF0ZSBpbmNsdWRlc19kaXIiKQorICAgIHN5cy5leGl0KDEpCisKK2ljb252X2luY2x1ZGVzPSIiCitmb3IgZGlyIGluIGluY2x1ZGVzX2RpcjoKKyAgICBpZiBub3QgbWlzc2luZyhkaXIgKyAiL2ljb252LmgiKToKKyAgICAgICAgaWNvbnZfaW5jbHVkZXM9ZGlyCisgICAgICAgIGJyZWFrOworCitpZiBpY29udl9pbmNsdWRlcyA9PSAiIjoKKyAgICBwcmludCgiZmFpbGVkIHRvIGZpbmQgaGVhZGVycyBmb3IgbGliaWNvbnY6IHVwZGF0ZSBpbmNsdWRlc19kaXIiKQorICAgIHN5cy5leGl0KDEpCisKKyMgdGhvc2UgYXJlIGFkZGVkIGluIHRoZSBsaW5rZXIgc2VhcmNoIHBhdGggZm9yIGxpYnJhcmllcworbGliZGlycyA9IFsKK29zLnBhdGguam9pbihST09ULCdsaWInKSwKK10KKworeG1sX2ZpbGVzID0gWyJsaWJ4bWwyLWFwaS54bWwiLCAibGlieG1sMi1weXRob24tYXBpLnhtbCIsCisgICAgICAgICAgICAgImxpYnhtbC5jIiwgImxpYnhtbC5weSIsICJsaWJ4bWxfd3JhcC5oIiwgInR5cGVzLmMiLAorICAgICAgICAgICAgICJ4bWxnZW5lcmF0b3IucHkiLCAiUkVBRE1FIiwgIlRPRE8iLCAiZHJ2X2xpYnhtbDIucHkiXQorCit4c2x0X2ZpbGVzID0gWyJsaWJ4c2x0LWFwaS54bWwiLCAibGlieHNsdC1weXRob24tYXBpLnhtbCIsCisgICAgICAgICAgICAgImxpYnhzbHQuYyIsICJsaWJ4c2wucHkiLCAibGlieHNsdF93cmFwLmgiLAorICAgICAgICAgICAgICJ4c2x0Z2VuZXJhdG9yLnB5Il0KKworaWYgbWlzc2luZygibGlieG1sMi1weS5jIikgb3IgbWlzc2luZygibGlieG1sMi5weSIpOgorICAgIHRyeToKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgaW1wb3J0IHhtbGdlbmVyYXRvcgorICAgICAgICBleGNlcHQ6CisgICAgICAgICAgICBpbXBvcnQgZ2VuZXJhdG9yCisgICAgZXhjZXB0OgorICAgICAgICBwcmludCgiZmFpbGVkIHRvIGZpbmQgYW5kIGdlbmVyYXRlIHN0dWJzIGZvciBsaWJ4bWwyLCBhYm9ydGluZyAuLi4iKQorICAgICAgICBwcmludChzeXMuZXhjX2luZm8oKVswXSwgc3lzLmV4Y19pbmZvKClbMV0pCisgICAgICAgIHN5cy5leGl0KDEpCisKKyAgICBoZWFkID0gb3BlbigibGlieG1sLnB5IiwgInIiKQorICAgIGdlbmVyYXRlZCA9IG9wZW4oImxpYnhtbDJjbGFzcy5weSIsICJyIikKKyAgICByZXN1bHQgPSBvcGVuKCJsaWJ4bWwyLnB5IiwgInciKQorICAgIGZvciBsaW5lIGluIGhlYWQucmVhZGxpbmVzKCk6CisgICAgICAgIGlmIFdJVEhETExTOgorICAgICAgICAgICAgcmVzdWx0LndyaXRlKGFsdEltcG9ydChsaW5lKSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJlc3VsdC53cml0ZShsaW5lKQorICAgIGZvciBsaW5lIGluIGdlbmVyYXRlZC5yZWFkbGluZXMoKToKKyAgICAgICAgcmVzdWx0LndyaXRlKGxpbmUpCisgICAgaGVhZC5jbG9zZSgpCisgICAgZ2VuZXJhdGVkLmNsb3NlKCkKKyAgICByZXN1bHQuY2xvc2UoKQorCit3aXRoX3hzbHQ9MAoraWYgbWlzc2luZygibGlieHNsdC1weS5jIikgb3IgbWlzc2luZygibGlieHNsdC5weSIpOgorICAgIGlmIG1pc3NpbmcoInhzbHRnZW5lcmF0b3IucHkiKSBvciBtaXNzaW5nKCJsaWJ4c2x0LWFwaS54bWwiKToKKyAgICAgICAgcHJpbnQoImxpYnhzbHQgc3R1YiBnZW5lcmF0b3Igbm90IGZvdW5kLCBsaWJ4c2x0IG5vdCBidWlsdCIpCisgICAgZWxzZToKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgaW1wb3J0IHhzbHRnZW5lcmF0b3IKKyAgICAgICAgZXhjZXB0OgorICAgICAgICAgICAgcHJpbnQoImZhaWxlZCB0byBnZW5lcmF0ZSBzdHVicyBmb3IgbGlieHNsdCwgYWJvcnRpbmcgLi4uIikKKyAgICAgICAgICAgIHByaW50KHN5cy5leGNfaW5mbygpWzBdLCBzeXMuZXhjX2luZm8oKVsxXSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGhlYWQgPSBvcGVuKCJsaWJ4c2wucHkiLCAiciIpCisgICAgICAgICAgICBnZW5lcmF0ZWQgPSBvcGVuKCJsaWJ4c2x0Y2xhc3MucHkiLCAiciIpCisgICAgICAgICAgICByZXN1bHQgPSBvcGVuKCJsaWJ4c2x0LnB5IiwgInciKQorICAgICAgICAgICAgZm9yIGxpbmUgaW4gaGVhZC5yZWFkbGluZXMoKToKKyAgICAgICAgICAgICAgICBpZiBXSVRIRExMUzoKKyAgICAgICAgICAgICAgICAgICAgcmVzdWx0LndyaXRlKGFsdEltcG9ydChsaW5lKSkKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICByZXN1bHQud3JpdGUobGluZSkKKyAgICAgICAgICAgIGZvciBsaW5lIGluIGdlbmVyYXRlZC5yZWFkbGluZXMoKToKKyAgICAgICAgICAgICAgICByZXN1bHQud3JpdGUobGluZSkKKyAgICAgICAgICAgIGhlYWQuY2xvc2UoKQorICAgICAgICAgICAgZ2VuZXJhdGVkLmNsb3NlKCkKKyAgICAgICAgICAgIHJlc3VsdC5jbG9zZSgpCisgICAgICAgICAgICB3aXRoX3hzbHQ9MQorZWxzZToKKyAgICB3aXRoX3hzbHQ9MQorCitpZiB3aXRoX3hzbHQgPT0gMToKKyAgICB4c2x0X2luY2x1ZGVzPSIiCisgICAgZm9yIGRpciBpbiBpbmNsdWRlc19kaXI6CisgICAgICAgIGlmIG5vdCBtaXNzaW5nKGRpciArICIvbGlieHNsdC94c2x0Y29uZmlnLmgiKToKKyAgICAgICAgICAgIHhzbHRfaW5jbHVkZXM9ZGlyICsgIi9saWJ4c2x0IgorICAgICAgICAgICAgYnJlYWs7CisKKyAgICBpZiB4c2x0X2luY2x1ZGVzID09ICIiOgorICAgICAgICBwcmludCgiZmFpbGVkIHRvIGZpbmQgaGVhZGVycyBmb3IgbGlieHNsdDogdXBkYXRlIGluY2x1ZGVzX2RpciIpCisgICAgICAgIHdpdGhfeHNsdCA9IDAKKworCitkZXNjciA9ICJsaWJ4bWwyIHBhY2thZ2UiCittb2R1bGVzID0gWyAnbGlieG1sMicsICdkcnZfbGlieG1sMicgXQoraWYgV0lUSERMTFM6CisgICAgbW9kdWxlcy5hcHBlbmQoJ2xpYnhtbG1vZHMuX19pbml0X18nKQorY19maWxlcyA9IFsnbGlieG1sMi1weS5jJywgJ2xpYnhtbC5jJywgJ3R5cGVzLmMnIF0KK2luY2x1ZGVzPSBbeG1sX2luY2x1ZGVzLCBpY29udl9pbmNsdWRlc10KK2xpYnMgICAgPSBbbGlicmFyeVByZWZpeCArICJ4bWwyIl0gKyBwbGF0Zm9ybUxpYnMKK21hY3JvcyAgPSBbXQoraWYgd2l0aF90aHJlYWRzOgorICAgIG1hY3Jvcy5hcHBlbmQoKCdfUkVFTlRSQU5UJywnMScpKQoraWYgd2l0aF94c2x0ID09IDE6CisgICAgZGVzY3IgPSAibGlieG1sMiBhbmQgbGlieHNsdCBwYWNrYWdlIgorICAgIGlmIG5vdCBzeXMucGxhdGZvcm0uc3RhcnRzd2l0aCgnd2luJyk6CisgICAgICAgICMKKyAgICAgICAgIyBXZSBhcmUgZ29ubmEgYnVpbGQgMiBpZGVudGljYWwgc2hhcmVkIGxpYnMgd2l0aCBtZXJnZSBpbml0aWFsaXppbmcKKyAgICAgICAgIyBib3RoIGxpYnhtbDJtb2QgYW5kIGxpYnhzbHRtb2QKKyAgICAgICAgIworICAgICAgICBjX2ZpbGVzID0gY19maWxlcyArIFsnbGlieHNsdC1weS5jJywgJ2xpYnhzbHQuYyddCisgICAgICAgIHhzbHRfY19maWxlcyA9IGNfZmlsZXMKKyAgICAgICAgbWFjcm9zLmFwcGVuZCgoJ01FUkdFRF9NT0RVTEVTJywgJzEnKSkKKyAgICBlbHNlOgorICAgICAgICAjCisgICAgICAgICMgT24gd2luZG93cyB0aGUgTUVSR0VEX01PRFVMRSBvcHRpb24gaXMgbm90IG5lZWRlZAorICAgICAgICAjIChhbmQgZG9lcyBub3Qgd29yaykKKyAgICAgICAgIworICAgICAgICB4c2x0X2NfZmlsZXMgPSBbJ2xpYnhzbHQtcHkuYycsICdsaWJ4c2x0LmMnLCAndHlwZXMuYyddCisgICAgbGlicy5pbnNlcnQoMCwgbGlicmFyeVByZWZpeCArICdleHNsdCcpCisgICAgbGlicy5pbnNlcnQoMCwgbGlicmFyeVByZWZpeCArICd4c2x0JykKKyAgICBpbmNsdWRlcy5hcHBlbmQoeHNsdF9pbmNsdWRlcykKKyAgICBtb2R1bGVzLmFwcGVuZCgnbGlieHNsdCcpCisKKworZXh0ZW5zPVtFeHRlbnNpb24oJ2xpYnhtbDJtb2QnLCBjX2ZpbGVzLCBpbmNsdWRlX2RpcnM9aW5jbHVkZXMsCisgICAgICAgICAgICAgICAgICBsaWJyYXJ5X2RpcnM9bGliZGlycywKKyAgICAgICAgICAgICAgICAgIGxpYnJhcmllcz1saWJzLCBkZWZpbmVfbWFjcm9zPW1hY3JvcyldCitpZiB3aXRoX3hzbHQgPT0gMToKKyAgICBleHRlbnMuYXBwZW5kKEV4dGVuc2lvbignbGlieHNsdG1vZCcsIHhzbHRfY19maWxlcywgaW5jbHVkZV9kaXJzPWluY2x1ZGVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnJhcnlfZGlycz1saWJkaXJzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnJhcmllcz1saWJzLCBkZWZpbmVfbWFjcm9zPW1hY3JvcykpCisKK2lmIG1pc3NpbmcoIk1BTklGRVNUIik6CisKKyAgICBtYW5pZmVzdCA9IG9wZW4oIk1BTklGRVNUIiwgInciKQorICAgIG1hbmlmZXN0LndyaXRlKCJzZXR1cC5weVxuIikKKyAgICBmb3IgZmlsZSBpbiB4bWxfZmlsZXM6CisgICAgICAgIG1hbmlmZXN0LndyaXRlKGZpbGUgKyAiXG4iKQorICAgIGlmIHdpdGhfeHNsdCA9PSAxOgorICAgICAgICBmb3IgZmlsZSBpbiB4c2x0X2ZpbGVzOgorICAgICAgICAgICAgbWFuaWZlc3Qud3JpdGUoZmlsZSArICJcbiIpCisgICAgbWFuaWZlc3QuY2xvc2UoKQorCitpZiBXSVRIRExMUzoKKyAgICBleHRfcGFja2FnZSA9ICJsaWJ4bWxtb2RzIgorICAgIGlmIHN5cy52ZXJzaW9uID49ICIyLjIiOgorICAgICAgICBiYXNlID0gImxpYi9zaXRlLXBhY2thZ2VzLyIKKyAgICBlbHNlOgorICAgICAgICBiYXNlID0gIiIKKyAgICBkYXRhX2ZpbGVzID0gWyhiYXNlKyJsaWJ4bWxtb2RzIixkbGxzKV0KK2Vsc2U6CisgICAgZXh0X3BhY2thZ2UgPSBOb25lCisgICAgZGF0YV9maWxlcyA9IFtdCisKK3NldHVwIChuYW1lID0gImxpYnhtbDItcHl0aG9uIiwKKyAgICAgICAjIE9uICpuaXgsIHRoZSB2ZXJzaW9uIG51bWJlciBpcyBjcmVhdGVkIGZyb20gc2V0dXAucHkuaW4KKyAgICAgICAjIE9uIHdpbmRvd3MsIGl0IGlzIHNldCBieSBjb25maWd1cmUuanMKKyAgICAgICB2ZXJzaW9uID0gIkBMSUJYTUxfVkVSU0lPTkAiLAorICAgICAgIGRlc2NyaXB0aW9uID0gZGVzY3IsCisgICAgICAgYXV0aG9yID0gIkRhbmllbCBWZWlsbGFyZCIsCisgICAgICAgYXV0aG9yX2VtYWlsID0gInZlaWxsYXJkQHJlZGhhdC5jb20iLAorICAgICAgIHVybCA9ICJodHRwOi8veG1sc29mdC5vcmcvcHl0aG9uLmh0bWwiLAorICAgICAgIGxpY2VuY2U9Ik1JVCBMaWNlbmNlIiwKKyAgICAgICBweV9tb2R1bGVzPW1vZHVsZXMsCisgICAgICAgZXh0X21vZHVsZXM9ZXh0ZW5zLAorICAgICAgIGV4dF9wYWNrYWdlPWV4dF9wYWNrYWdlLAorICAgICAgIGRhdGFfZmlsZXM9ZGF0YV9maWxlcywKKyAgICAgICApCisKK3N5cy5leGl0KDApCisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcHl0aG9uL3Rlc3RzL01ha2VmaWxlLmFtIGIvbGlieG1sMi9weXRob24vdGVzdHMvTWFrZWZpbGUuYW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTVlYmVhZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcHl0aG9uL3Rlc3RzL01ha2VmaWxlLmFtCkBAIC0wLDAgKzEsNzUgQEAKK2V4YW1wbGVkaXIgPSAkKGRhdGFkaXIpL2RvYy9saWJ4bWwyLXB5dGhvbi0kKExJQlhNTF9WRVJTSU9OKS9leGFtcGxlcworZGlzdF9leGFtcGxlX0RBVEEgPSAkKFBZVEVTVFMpICQoWE1MUykKKworUFlURVNUUz0JXAorICAgIGJ1aWxkLnB5CVwKKyAgICBhdHRyaWJzLnB5CVwKKyAgICB0c3QucHkJXAorICAgIHRzdHhwYXRoLnB5CVwKKyAgICB4cGF0aGV4dC5weQlcCisgICAgcHVzaC5weQlcCisgICAgcHVzaFNBWC5weQlcCisgICAgcHVzaFNBWGh0bWwucHkgXAorICAgIGVycm9yLnB5CVwKKyAgICBzZXJpYWxpemUucHlcCisgICAgdmFsaWRhdGUucHkJXAorICAgIHRzdFVSSS5weQlcCisgICAgY3V0bnBhc3RlLnB5XAorICAgIHhwYXRocmV0LnB5CVwKKyAgICB4cGF0aC5weQlcCisgICAgb3V0YnVmLnB5CVwKKyAgICBpbmJ1Zi5weQlcCisgICAgaW5wdXRfY2FsbGJhY2sucHkgXAorICAgIHJlc29sdmVyLnB5IFwKKyAgICByZWdleHAucHkJXAorICAgIHJlYWRlci5weQlcCisgICAgcmVhZGVyMi5weQlcCisgICAgcmVhZGVyMy5weQlcCisgICAgcmVhZGVyNC5weQlcCisgICAgcmVhZGVyNS5weQlcCisgICAgcmVhZGVyNi5weQlcCisgICAgcmVhZGVyNy5weQlcCisgICAgcmVhZGVyOC5weQlcCisgICAgcmVhZGVybmV4dC5weQlcCisgICAgd2Fsa2VyLnB5CVwKKyAgICBuc2RlbC5weQlcCisgICAgY3R4dGVycm9yLnB5XAorICAgIHJlYWRlcmVyci5weVwKKyAgICByZWxheG5nLnB5CVwKKyAgICBzY2hlbWEucHkJXAorICAgIHRocmVhZDIucHkgXAorICAgIHN5bmMucHkgXAorICAgIHRzdExhc3RFcnJvci5weSBcCisgICAgaW5kZXhlcy5weSBcCisgICAgZHRkdmFsaWQucHkgXAorICAgIHRzdG1lbS5weQlcCisgICAgdmFsaWREVEQucHkJXAorICAgIHZhbGlkU2NoZW1hcy5weSBcCisgICAgdmFsaWRSTkcucHkgXAorICAgIGNvbXBhcmVOb2Rlcy5weSBcCisgICAgeHBhdGhucy5weSBcCisgICAgeHBhdGhsZWFrLnB5CisKK1hNTFM9CQlcCisgICAgdHN0LnhtbAlcCisgICAgdmFsaWQueG1sCVwKKyAgICBpbnZhbGlkLnhtbAlcCisgICAgdGVzdC5kdGQKKworQ0xFQU5GSUxFUyA9IGNvcmUgdG1wLnhtbCAqLnB5YworCitpZiBXSVRIX1BZVEhPTgordGVzdHM6ICQoUFlURVNUUykKKwlAZm9yIGYgaW4gJChYTUxTKSA7IGRvIHRlc3QgLWYgJCRmIHx8ICQoTE5fUykgJChzcmNkaXIpLyQkZiAuIDsgZG9uZQorCUBlY2hvICIjIyBydW5uaW5nIFB5dGhvbiByZWdyZXNzaW9uIHRlc3RzIgorCS1AKFBZVEhPTlBBVEg9Ii4uOi4uLy5saWJzOiQoc3JjZGlyKS8uLjokJFBZVEhPTlBBVEgiIDsgXAorCSAgIGV4cG9ydCBQWVRIT05QQVRIOyBcCisJICAgTERfTElCUkFSWV9QQVRIPSIkKHRvcF9idWlsZGRpcikvLmxpYnM6JCRMRF9MSUJSQVJZX1BBVEgiIDsgXAorCSAgIGV4cG9ydCBMRF9MSUJSQVJZX1BBVEg7IFwKKwkgICBmb3IgdGVzdCBpbiAkKFBZVEVTVFMpIDsgXAorCSAgIGRvIGxvZz1gJChQWVRIT04pICQoc3JjZGlyKS8kJHRlc3RgIDsgXAorCSAgIGlmIFsgImBlY2hvICQkbG9nIHwgZ3JlcCBPS2AiID0gIiIgXSA7IHRoZW4gXAorCSAgIGVjaG8gIi0tICQkdGVzdCIgOyBlY2hvICIkJGxvZyIgOyBmaSA7IGRvbmUpCitlbHNlCit0ZXN0czoKK2VuZGlmCmRpZmYgLS1naXQgYS9saWJ4bWwyL3B5dGhvbi90ZXN0cy9hdHRyaWJzLnB5IGIvbGlieG1sMi9weXRob24vdGVzdHMvYXR0cmlicy5weQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45OTEzMmMyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9weXRob24vdGVzdHMvYXR0cmlicy5weQpAQCAtMCwwICsxLDM0IEBACisjIS91c3IvYmluL3B5dGhvbiAtdQoraW1wb3J0IHN5cworaW1wb3J0IGxpYnhtbDIKKworIyBNZW1vcnkgZGVidWcgc3BlY2lmaWMKK2xpYnhtbDIuZGVidWdNZW1vcnkoMSkKKworIworIyBUZXN0aW5nIFhNTCBkb2N1bWVudCBzZXJpYWxpemF0aW9uCisjCitkb2MgPSBsaWJ4bWwyLnBhcnNlRG9jKAorIiIiPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/PgorPCFET0NUWVBFIHRlc3QgWworPCFFTEVNRU5UIHRlc3QgKCNQQ0RBVEEpID4KKzwhQVRUTElTVCB0ZXN0IHhtbG5zOmFiYyBDREFUQSAjRklYRUQgImh0dHA6Ly9hYmMub3JnIiA+Cis8IUFUVExJU1QgdGVzdCBhYmM6YXR0ciBDREFUQSAjRklYRUQgImRlZiIgPgorXT4KKzx0ZXN0IC8+CisiIiIpCitlbGVtID0gZG9jLmdldFJvb3RFbGVtZW50KCkKK2F0dHIgPSBlbGVtLmhhc05zUHJvcCgnYXR0cicsICdodHRwOi8vYWJjLm9yZycpCitpZiBhdHRyID09IE5vbmUgb3IgYXR0ci5zZXJpYWxpemUoKVs6LTFdICE9ICIiIjwhQVRUTElTVCB0ZXN0IGFiYzphdHRyIENEQVRBICNGSVhFRCAiZGVmIj4iIiI6CisgICAgcHJpbnQoIkZhaWxlZCB0byBmaW5kIGRlZmF1bHRlZCBhdHRyaWJ1dGUgYWJjOmF0dHIiKQorICAgIHN5cy5leGl0KDEpCisKK2RvYy5mcmVlRG9jKCkKKworIyBNZW1vcnkgZGVidWcgc3BlY2lmaWMKK2xpYnhtbDIuY2xlYW51cFBhcnNlcigpCitpZiBsaWJ4bWwyLmRlYnVnTWVtb3J5KDEpID09IDA6CisgICAgcHJpbnQoIk9LIikKK2Vsc2U6CisgICAgcHJpbnQoIk1lbW9yeSBsZWFrICVkIGJ5dGVzIiAlIChsaWJ4bWwyLmRlYnVnTWVtb3J5KDEpKSkKKyAgICBsaWJ4bWwyLmR1bXBNZW1vcnkoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9weXRob24vdGVzdHMvYnVpbGQucHkgYi9saWJ4bWwyL3B5dGhvbi90ZXN0cy9idWlsZC5weQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iMmQzZjc4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9weXRob24vdGVzdHMvYnVpbGQucHkKQEAgLTAsMCArMSw1OSBAQAorIyEvdXNyL2Jpbi9weXRob24gLXUKK2ltcG9ydCBsaWJ4bWwyCitpbXBvcnQgc3lzCisKKyMgTWVtb3J5IGRlYnVnIHNwZWNpZmljCitsaWJ4bWwyLmRlYnVnTWVtb3J5KDEpCisKK2RvYyA9IGxpYnhtbDIubmV3RG9jKCIxLjAiKQorY29tbWVudCA9IGRvYy5uZXdEb2NDb21tZW50KCJUaGlzIGlzIGEgZ2VuZXJhdGVkIGRvY3VtZW50IikKK2RvYy5hZGRDaGlsZChjb21tZW50KQorcGkgPSBsaWJ4bWwyLm5ld1BJKCJ0ZXN0IiwgIlBJIGNvbnRlbnQiKQorZG9jLmFkZENoaWxkKHBpKQorcm9vdCA9IGRvYy5uZXdDaGlsZChOb25lLCAiZG9jIiwgTm9uZSkKK25zID0gcm9vdC5uZXdOcygiaHR0cDovL2V4YW1wbGUuY29tL2RvYyIsICJteSIpCityb290LnNldE5zKG5zKQorZWxlbSA9IHJvb3QubmV3Q2hpbGQoTm9uZSwgImZvbyIsICJiYXIiKQorZWxlbS5zZXRCYXNlKCJodHRwOi8vZXhhbXBsZS5jb20vaW1ncyIpCitlbGVtLnNldFByb3AoImltZyIsICJpbWFnZS5naWYiKQorZG9jLnNhdmVGaWxlKCJ0bXAueG1sIikKK2RvYy5mcmVlRG9jKCkKKworZG9jID0gbGlieG1sMi5wYXJzZUZpbGUoInRtcC54bWwiKQorY29tbWVudCA9IGRvYy5jaGlsZHJlbgoraWYgY29tbWVudC50eXBlICE9ICJjb21tZW50IiBvciBcCisgICBjb21tZW50LmNvbnRlbnQgIT0gIlRoaXMgaXMgYSBnZW5lcmF0ZWQgZG9jdW1lbnQiOgorICAgcHJpbnQoImVycm9yIHJlcmVhZGluZyBjb21tZW50IikKKyAgIHN5cy5leGl0KDEpCitwaSA9IGNvbW1lbnQubmV4dAoraWYgcGkudHlwZSAhPSAicGkiIG9yIHBpLm5hbWUgIT0gInRlc3QiIG9yIHBpLmNvbnRlbnQgIT0gIlBJIGNvbnRlbnQiOgorICAgcHJpbnQoImVycm9yIHJlcmVhZGluZyBQSSIpCisgICBzeXMuZXhpdCgxKQorcm9vdCA9IHBpLm5leHQKK2lmIHJvb3QubmFtZSAhPSAiZG9jIjoKKyAgIHByaW50KCJlcnJvciByZXJlYWRpbmcgcm9vdCIpCisgICBzeXMuZXhpdCgxKQorbnMgPSByb290Lm5zKCkKK2lmIG5zLm5hbWUgIT0gIm15IiBvciBucy5jb250ZW50ICE9ICJodHRwOi8vZXhhbXBsZS5jb20vZG9jIjoKKyAgIHByaW50KCJlcnJvciByZXJlYWRpbmcgbmFtZXNwYWNlIikKKyAgIHN5cy5leGl0KDEpCitlbGVtID0gcm9vdC5jaGlsZHJlbgoraWYgZWxlbS5uYW1lICE9ICJmb28iOgorICAgcHJpbnQoImVycm9yIHJlcmVhZGluZyBlbGVtIikKKyAgIHN5cy5leGl0KDEpCitpZiBlbGVtLmdldEJhc2UoTm9uZSkgIT0gImh0dHA6Ly9leGFtcGxlLmNvbS9pbWdzIjoKKyAgIHByaW50KCJlcnJvciByZXJlYWRpbmcgYmFzZSIpCisgICBzeXMuZXhpdCgxKQoraWYgZWxlbS5wcm9wKCJpbWciKSAhPSAiaW1hZ2UuZ2lmIjoKKyAgIHByaW50KCJlcnJvciByZXJlYWRpbmcgcHJvcGVydHkiKQorICAgc3lzLmV4aXQoMSkKKworZG9jLmZyZWVEb2MoKQorCisjIE1lbW9yeSBkZWJ1ZyBzcGVjaWZpYworbGlieG1sMi5jbGVhbnVwUGFyc2VyKCkKK2lmIGxpYnhtbDIuZGVidWdNZW1vcnkoMSkgPT0gMDoKKyAgICBwcmludCgiT0siKQorZWxzZToKKyAgICBwcmludCgiTWVtb3J5IGxlYWsgJWQgYnl0ZXMiICUgKGxpYnhtbDIuZGVidWdNZW1vcnkoMSkpKQorICAgIGxpYnhtbDIuZHVtcE1lbW9yeSgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3B5dGhvbi90ZXN0cy9jb21wYXJlTm9kZXMucHkgYi9saWJ4bWwyL3B5dGhvbi90ZXN0cy9jb21wYXJlTm9kZXMucHkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uY2E1YTVhMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcHl0aG9uL3Rlc3RzL2NvbXBhcmVOb2Rlcy5weQpAQCAtMCwwICsxLDUwIEBACisjIS91c3IvYmluL3B5dGhvbiAtdQoraW1wb3J0IHN5cworaW1wb3J0IGxpYnhtbDIKKworIyBNZW1vcnkgZGVidWcgc3BlY2lmaWMKK2xpYnhtbDIuZGVidWdNZW1vcnkoMSkKKworIworIyBUZXN0aW5nIFhNTCBOb2RlIGNvbXBhcmlzb24gYW5kIE5vZGUgaGFzaC12YWx1ZQorIworZG9jID0gbGlieG1sMi5wYXJzZURvYygiIiI8cm9vdD48Zm9vLz48L3Jvb3Q+IiIiKQorcm9vdCA9IGRvYy5nZXRSb290RWxlbWVudCgpCisKKyMgQ3JlYXRlIHR3byBkaWZmZXJlbnQgb2JqZWN0cyB3aGljaCBwb2ludCB0byBmb28KK2Zvb25vZGUxID0gcm9vdC5jaGlsZHJlbgorZm9vbm9kZTIgPSByb290LmNoaWxkcmVuCisKKyMgTm93IGNoZWNrIHRoYXQgW2luXWVxdWFsaXR5IHRlc3RzIHdvcmsgb2sKK2lmIG5vdCAoIGZvb25vZGUxID09IGZvb25vZGUyICk6CisgICAgcHJpbnQoIkVycm9yIGNvbXBhcmluZyBub2RlcyB3aXRoID09LCBub2RlcyBzaG91bGQgYmUgZXF1YWwgYnV0IGFyZSB1bmVxdWFsIikKKyAgICBzeXMuZXhpdCgxKQoraWYgbm90ICggZm9vbm9kZTEgIT0gcm9vdCApOgorICAgIHByaW50KCJFcnJvciBjb21wYXJpbmcgbm9kZXMgd2l0aCA9PSwgbm9kZXMgc2hvdWxkIG5vdCBiZSBlcXVhbCBidXQgYXJlIGVxdWFsIikKKyAgICBzeXMuZXhpdCgxKQoraWYgbm90ICggZm9vbm9kZTEgIT0gcm9vdCApOgorICAgIHByaW50KCJFcnJvciBjb21wYXJpbmcgbm9kZXMgd2l0aCAhPSwgbm9kZXMgc2hvdWxkIG5vdCBiZSBlcXVhbCBidXQgYXJlIGVxdWFsIikKK2lmICggZm9vbm9kZTEgIT0gZm9vbm9kZTIgKToKKyAgICBwcmludCgiRXJyb3IgY29tcGFyaW5nIG5vZGVzIHdpdGggIT0sIG5vZGVzIHNob3VsZCBiZSBlcXVhbCBidXQgYXJlIHVuZXF1YWwiKQorCisjIE5leHQgY2hlY2sgdGhhdCB0aGUgaGFzaCBmdW5jdGlvbiBmb3IgdGhlIG9iamVjdHMgYWxzbyB3b3JrcyBvaworaWYgbm90IChoYXNoKGZvb25vZGUxKSA9PSBoYXNoKGZvb25vZGUyKSk6CisgICAgcHJpbnQoIkVycm9yIGhhc2ggdmFsdWVzIGZvciB0d28gZXF1YWwgbm9kZXMgYXJlIGRpZmZlcmVudCIpCisgICAgc3lzLmV4aXQoMSkKK2lmIG5vdCAoaGFzaChmb29ub2RlMSkgIT0gaGFzaChyb290KSk6CisgICAgcHJpbnQoIkVycm9yIGhhc2ggdmFsdWVzIGZvciB0d28gdW5lcXVhbCBub2RlcyBhcmUgbm90IGRpZmZlcmVudCIpCisgICAgc3lzLmV4aXQoMSkKK2lmIGhhc2goZm9vbm9kZTEpID09IGhhc2gocm9vdCk6CisgICAgcHJpbnQoIkVycm9yIGhhc2ggdmFsdWVzIGZvciB0d28gdW5lcXVhbCBub2RlcyBhcmUgZXF1YWwiKQorICAgIHN5cy5leGl0KDEpCisKKyMgQmFzaWMgdGVzdHMgc3VjY2Vzc2Z1bAorZG9jLmZyZWVEb2MoKQorCisjIE1lbW9yeSBkZWJ1ZyBzcGVjaWZpYworbGlieG1sMi5jbGVhbnVwUGFyc2VyKCkKK2lmIGxpYnhtbDIuZGVidWdNZW1vcnkoMSkgPT0gMDoKKyAgICBwcmludCgiT0siKQorZWxzZToKKyAgICBwcmludCgiTWVtb3J5IGxlYWsgJWQgYnl0ZXMiICUgKGxpYnhtbDIuZGVidWdNZW1vcnkoMSkpKQorICAgIGxpYnhtbDIuZHVtcE1lbW9yeSgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3B5dGhvbi90ZXN0cy9jdHh0ZXJyb3IucHkgYi9saWJ4bWwyL3B5dGhvbi90ZXN0cy9jdHh0ZXJyb3IucHkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNDE2ZTM4NAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcHl0aG9uL3Rlc3RzL2N0eHRlcnJvci5weQpAQCAtMCwwICsxLDU2IEBACisjIS91c3IvYmluL3B5dGhvbiAtdQorIworIyBUaGlzIHRlc3QgZXhlcmNpc2UgdGhlIHJlZGlyZWN0aW9uIG9mIGVycm9yIG1lc3NhZ2VzIHdpdGggYQorIyBmdW5jdGlvbnMgZGVmaW5lZCBpbiBQeXRob24uCisjCitpbXBvcnQgc3lzCitpbXBvcnQgbGlieG1sMgorCisjIE1lbW9yeSBkZWJ1ZyBzcGVjaWZpYworbGlieG1sMi5kZWJ1Z01lbW9yeSgxKQorCitleHBlY3Q9IiIiLS0+ICgzKSB4bWxuczogVVJJIGZvbyBpcyBub3QgYWJzb2x1dGUKKy0tPiAoNCkgT3BlbmluZyBhbmQgZW5kaW5nIHRhZyBtaXNtYXRjaDogeCBsaW5lIDAgYW5kIHkKKyIiIgorCitlcnI9IiIKK2RlZiBjYWxsYmFjayhhcmcsbXNnLHNldmVyaXR5LHJlc2VydmVkKToKKyAgICBnbG9iYWwgZXJyCisgICAgZXJyID0gZXJyICsgIiVzICglZCkgJXMiICUgKGFyZyxzZXZlcml0eSxtc2cpCisKK3MgPSAiIiI8eCB4bWxucz0iZm9vIj48L3k+IiIiCisKK3BhcnNlckN0eHQgPSBsaWJ4bWwyLmNyZWF0ZVB1c2hQYXJzZXIoTm9uZSwiIiwwLCJ0ZXN0LnhtbCIpCitwYXJzZXJDdHh0LnNldEVycm9ySGFuZGxlcihjYWxsYmFjaywgIi0tPiIpCitpZiBwYXJzZXJDdHh0LmdldEVycm9ySGFuZGxlcigpICE9IChjYWxsYmFjaywiLS0+Iik6CisgICAgcHJpbnQoImdldEVycm9ySGFuZGxlciBmYWlsZWQiKQorICAgIHN5cy5leGl0KDEpCitwYXJzZXJDdHh0LnBhcnNlQ2h1bmsocyxsZW4ocyksMSkKK2RvYyA9IHBhcnNlckN0eHQuZG9jKCkKK2RvYy5mcmVlRG9jKCkKK3BhcnNlckN0eHQgPSBOb25lCisKK2lmIGVyciAhPSBleHBlY3Q6CisgICAgcHJpbnQoImVycm9yIikKKyAgICBwcmludCgicmVjZWl2ZWQgJXMiICUoZXJyKSkKKyAgICBwcmludCgiZXhwZWN0ZWQgJXMiICUoZXhwZWN0KSkKKyAgICBzeXMuZXhpdCgxKQorCitpID0gMTAwMDAKK3doaWxlIGkgPiAwOgorICAgIHBhcnNlckN0eHQgPSBsaWJ4bWwyLmNyZWF0ZVB1c2hQYXJzZXIoTm9uZSwiIiwwLCJ0ZXN0LnhtbCIpCisgICAgcGFyc2VyQ3R4dC5zZXRFcnJvckhhbmRsZXIoY2FsbGJhY2ssICItLT4iKQorICAgIHBhcnNlckN0eHQucGFyc2VDaHVuayhzLGxlbihzKSwxKQorICAgIGRvYyA9IHBhcnNlckN0eHQuZG9jKCkKKyAgICBkb2MuZnJlZURvYygpCisgICAgcGFyc2VyQ3R4dCA9IE5vbmUKKyAgICBlcnIgPSAiIgorICAgIGkgPSBpIC0gMQorCisjIE1lbW9yeSBkZWJ1ZyBzcGVjaWZpYworbGlieG1sMi5jbGVhbnVwUGFyc2VyKCkKK2lmIGxpYnhtbDIuZGVidWdNZW1vcnkoMSkgPT0gMDoKKyAgICBwcmludCgiT0siKQorZWxzZToKKyAgICBwcmludCgiTWVtb3J5IGxlYWsgJWQgYnl0ZXMiICUgKGxpYnhtbDIuZGVidWdNZW1vcnkoMSkpKQorICAgIGxpYnhtbDIuZHVtcE1lbW9yeSgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3B5dGhvbi90ZXN0cy9jdXRucGFzdGUucHkgYi9saWJ4bWwyL3B5dGhvbi90ZXN0cy9jdXRucGFzdGUucHkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNzc4NzI0NgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcHl0aG9uL3Rlc3RzL2N1dG5wYXN0ZS5weQpAQCAtMCwwICsxLDQ4IEBACisjIS91c3IvYmluL3B5dGhvbiAtdQoraW1wb3J0IHN5cworaW1wb3J0IGxpYnhtbDIKKworIyBNZW1vcnkgZGVidWcgc3BlY2lmaWMKK2xpYnhtbDIuZGVidWdNZW1vcnkoMSkKKworIworIyBUZXN0aW5nIFhNTCBkb2N1bWVudCBzZXJpYWxpemF0aW9uCisjCitzb3VyY2UgPSBsaWJ4bWwyLnBhcnNlRG9jKCIiIjw/eG1sIHZlcnNpb249IjEuMCI/PgorPHJvb3QgeG1sbnM6Zm9vPSJodHRwOi8vZXhhbXBsZS5vcmcvZm9vIgorICAgICAgeG1sbnM6YmFyPSJodHRwOi8vZXhhbXBsZS5vcmcvYmFyIj4KKzxpbmNsdWRlIHhtbG5zPSJodHRwOi8vZXhhbXBsZS5vcmcvaW5jbHVkZSI+Cis8ZnJhZ21lbnQ+PGZvbzplbGVtIGJhcj0idHJpY2t5Ii8+PC9mcmFnbWVudD4KKzwvaW5jbHVkZT4KKzwvcm9vdD4KKyIiIikKKwordGFyZ2V0ID0gbGlieG1sMi5wYXJzZURvYygiIiI8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxyb290IHhtbG5zOmZvb2Jhcj0iaHR0cDovL2V4YW1wbGUub3JnL2JhciIvPiIiIikKKworZnJhZ21lbnQgPSBzb3VyY2UueHBhdGhFdmFsKCIvLypbbmFtZSgpPSdmcmFnbWVudCddIilbMF0KK2Rlc3QgPSB0YXJnZXQuZ2V0Um9vdEVsZW1lbnQoKQorCisjIGRvIGEgY3V0IGFuZCBwYXN0ZSBvcGVyYXRpb24KK2ZyYWdtZW50LnVubGlua05vZGUoKQorZGVzdC5hZGRDaGlsZChmcmFnbWVudCkKKyMgZG8gdGhlIG5hbWVzcGFjZSBmaXh1cAorZGVzdC5yZWNvbmNpbGlhdGVOcyh0YXJnZXQpCisKKyMgVGhlIHNvdXJjZSB0cmVlIGNhbiBiZSBmcmVlZCBhdCB0aGF0IHBvaW50Citzb3VyY2UuZnJlZURvYygpCisKKyMgY2hlY2sgdGhlIHJlc3VsdGluZyB0cmVlCitzdHIgPSBkZXN0LnNlcmlhbGl6ZSgpCitpZiBzdHIgIT0gIiIiPHJvb3QgeG1sbnM6Zm9vYmFyPSJodHRwOi8vZXhhbXBsZS5vcmcvYmFyIiB4bWxuczpkZWZhdWx0PSJodHRwOi8vZXhhbXBsZS5vcmcvaW5jbHVkZSIgeG1sbnM6Zm9vPSJodHRwOi8vZXhhbXBsZS5vcmcvZm9vIj48ZGVmYXVsdDpmcmFnbWVudD48Zm9vOmVsZW0gYmFyPSJ0cmlja3kiLz48L2RlZmF1bHQ6ZnJhZ21lbnQ+PC9yb290PiIiIjoKKyAgICBwcmludCgicmVjb25jaWxpYXRlTnMoKSBmYWlsZWQiKQorICAgIHN5cy5leGl0KDEpCit0YXJnZXQuZnJlZURvYygpCisKKyMgTWVtb3J5IGRlYnVnIHNwZWNpZmljCitsaWJ4bWwyLmNsZWFudXBQYXJzZXIoKQoraWYgbGlieG1sMi5kZWJ1Z01lbW9yeSgxKSA9PSAwOgorICAgIHByaW50KCJPSyIpCitlbHNlOgorICAgIHByaW50KCJNZW1vcnkgbGVhayAlZCBieXRlcyIgJSAobGlieG1sMi5kZWJ1Z01lbW9yeSgxKSkpCisgICAgbGlieG1sMi5kdW1wTWVtb3J5KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcHl0aG9uL3Rlc3RzL2R0ZHZhbGlkLnB5IGIvbGlieG1sMi9weXRob24vdGVzdHMvZHRkdmFsaWQucHkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDQwNDliOAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcHl0aG9uL3Rlc3RzL2R0ZHZhbGlkLnB5CkBAIC0wLDAgKzEsMzIgQEAKKyMhL3Vzci9iaW4vcHl0aG9uIC11CitpbXBvcnQgbGlieG1sMgoraW1wb3J0IHN5cworCisjIE1lbW9yeSBkZWJ1ZyBzcGVjaWZpYworbGlieG1sMi5kZWJ1Z01lbW9yeSgxKQorCitkdGQ9IiIiPCFFTEVNRU5UIGZvbyBFTVBUWT4iIiIKK2luc3RhbmNlPSIiIjw/eG1sIHZlcnNpb249IjEuMCI/PgorPGZvbz48L2Zvbz4iIiIKKworZHRkID0gbGlieG1sMi5wYXJzZURURChOb25lLCAndGVzdC5kdGQnKQorY3R4dCA9IGxpYnhtbDIubmV3VmFsaWRDdHh0KCkKK2RvYyA9IGxpYnhtbDIucGFyc2VEb2MoaW5zdGFuY2UpCityZXQgPSBkb2MudmFsaWRhdGVEdGQoY3R4dCwgZHRkKQoraWYgcmV0ICE9IDE6CisgICAgcHJpbnQoImVycm9yIGRvaW5nIERURCB2YWxpZGF0aW9uIikKKyAgICBzeXMuZXhpdCgxKQorCitkb2MuZnJlZURvYygpCitkdGQuZnJlZUR0ZCgpCitkZWwgZHRkCitkZWwgY3R4dAorCisjIE1lbW9yeSBkZWJ1ZyBzcGVjaWZpYworbGlieG1sMi5jbGVhbnVwUGFyc2VyKCkKK2lmIGxpYnhtbDIuZGVidWdNZW1vcnkoMSkgPT0gMDoKKyAgICBwcmludCgiT0siKQorZWxzZToKKyAgICBwcmludCgiTWVtb3J5IGxlYWsgJWQgYnl0ZXMiICUgKGxpYnhtbDIuZGVidWdNZW1vcnkoMSkpKQorICAgIGxpYnhtbDIuZHVtcE1lbW9yeSgpCisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcHl0aG9uL3Rlc3RzL2Vycm9yLnB5IGIvbGlieG1sMi9weXRob24vdGVzdHMvZXJyb3IucHkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTMwYzJlZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcHl0aG9uL3Rlc3RzL2Vycm9yLnB5CkBAIC0wLDAgKzEsNTEgQEAKKyMhL3Vzci9iaW4vcHl0aG9uIC11CisjCisjIFRoaXMgdGVzdCBleGVyY2lzZSB0aGUgcmVkaXJlY3Rpb24gb2YgZXJyb3IgbWVzc2FnZXMgd2l0aCBhCisjIGZ1bmN0aW9ucyBkZWZpbmVkIGluIFB5dGhvbi4KKyMKK2ltcG9ydCBzeXMKK2ltcG9ydCBsaWJ4bWwyCisKKyMgTWVtb3J5IGRlYnVnIHNwZWNpZmljCitsaWJ4bWwyLmRlYnVnTWVtb3J5KDEpCisKK2V4cGVjdD0nLS0+IEkvTyAtLT4gd2FybmluZyA6IC0tPiBmYWlsZWQgdG8gbG9hZCBleHRlcm5hbCBlbnRpdHkgIm1pc3NpbmcueG1sIlxuJworZXJyPSIiCitkZWYgY2FsbGJhY2soY3R4LCBzdHIpOgorICAgICBnbG9iYWwgZXJyCisKKyAgICAgZXJyID0gZXJyICsgIiVzICVzIiAlIChjdHgsIHN0cikKKworZ290X2V4YyA9IDAKK2xpYnhtbDIucmVnaXN0ZXJFcnJvckhhbmRsZXIoY2FsbGJhY2ssICItLT4iKQordHJ5OgorICAgIGRvYyA9IGxpYnhtbDIucGFyc2VGaWxlKCJtaXNzaW5nLnhtbCIpCitleGNlcHQgbGlieG1sMi5wYXJzZXJFcnJvcjoKKyAgICBnb3RfZXhjID0gMQorCitpZiBnb3RfZXhjID09IDA6CisgICAgcHJpbnQoIkZhaWxlZCB0byBnZXQgYSBwYXJzZXIgZXhjZXB0aW9uIikKKyAgICBzeXMuZXhpdCgxKQorCitpZiBlcnIgIT0gZXhwZWN0OgorICAgIHByaW50KCJlcnJvciIpCisgICAgcHJpbnQoInJlY2VpdmVkICVzIiAlKGVycikpCisgICAgcHJpbnQoImV4cGVjdGVkICVzIiAlKGV4cGVjdCkpCisgICAgc3lzLmV4aXQoMSkKKworaSA9IDEwMDAwCit3aGlsZSBpID4gMDoKKyAgICB0cnk6CisgICAgICAgIGRvYyA9IGxpYnhtbDIucGFyc2VGaWxlKCJtaXNzaW5nLnhtbCIpCisgICAgZXhjZXB0IGxpYnhtbDIucGFyc2VyRXJyb3I6CisgICAgICAgIGdvdF9leGMgPSAxCisgICAgZXJyID0gIiIKKyAgICBpID0gaSAtIDEKKworIyBNZW1vcnkgZGVidWcgc3BlY2lmaWMKK2xpYnhtbDIuY2xlYW51cFBhcnNlcigpCitpZiBsaWJ4bWwyLmRlYnVnTWVtb3J5KDEpID09IDA6CisgICAgcHJpbnQoIk9LIikKK2Vsc2U6CisgICAgcHJpbnQoIk1lbW9yeSBsZWFrICVkIGJ5dGVzIiAlIChsaWJ4bWwyLmRlYnVnTWVtb3J5KDEpKSkKKyAgICBsaWJ4bWwyLmR1bXBNZW1vcnkoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9weXRob24vdGVzdHMvaW5idWYucHkgYi9saWJ4bWwyL3B5dGhvbi90ZXN0cy9pbmJ1Zi5weQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wYzE2Njc0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9weXRob24vdGVzdHMvaW5idWYucHkKQEAgLTAsMCArMSwzMCBAQAorIyEvdXNyL2Jpbi9weXRob24gLXUKK2ltcG9ydCBzeXMKK2ltcG9ydCBsaWJ4bWwyCit0cnk6CisgICAgaW1wb3J0IFN0cmluZ0lPCisgICAgc3RyX2lvID0gU3RyaW5nSU8uU3RyaW5nSU8KK2V4Y2VwdDoKKyAgICBpbXBvcnQgaW8KKyAgICBzdHJfaW8gPSBpby5TdHJpbmdJTworCisjIE1lbW9yeSBkZWJ1ZyBzcGVjaWZpYworbGlieG1sMi5kZWJ1Z01lbW9yeSgxKQorCitpID0gMAord2hpbGUgaSA8IDUwMDA6CisgICAgZiA9IHN0cl9pbygiZm9vYmFyIikKKyAgICBidWYgPSBsaWJ4bWwyLmlucHV0QnVmZmVyKGYpCisgICAgaSA9IGkgKyAxCisKK2RlbCBmCitkZWwgYnVmCisKKyMgTWVtb3J5IGRlYnVnIHNwZWNpZmljCitsaWJ4bWwyLmNsZWFudXBQYXJzZXIoKQoraWYgbGlieG1sMi5kZWJ1Z01lbW9yeSgxKSA9PSAwOgorICAgIHByaW50KCJPSyIpCitlbHNlOgorICAgIHByaW50KCJNZW1vcnkgbGVhayAlZCBieXRlcyIgJSAobGlieG1sMi5kZWJ1Z01lbW9yeSgxKSkpCisgICAgbGlieG1sMi5kdW1wTWVtb3J5KCkKKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9weXRob24vdGVzdHMvaW5kZXhlcy5weSBiL2xpYnhtbDIvcHl0aG9uL3Rlc3RzL2luZGV4ZXMucHkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZTQxYTBkOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcHl0aG9uL3Rlc3RzL2luZGV4ZXMucHkKQEAgLTAsMCArMSwxMTMgQEAKKyMhL3Vzci9iaW4vcHl0aG9uIC11CisjIC0qLSBjb2Rpbmc6IElTTy04ODU5LTEgLSotCitpbXBvcnQgc3lzCitpbXBvcnQgbGlieG1sMgorCisjIE1lbW9yeSBkZWJ1ZyBzcGVjaWZpYworbGlieG1sMi5kZWJ1Z01lbW9yeSgxKQorCitjdHh0ID0gTm9uZQorCitjbGFzcyBjYWxsYmFjazoKKyAgICBkZWYgX19pbml0X18oc2VsZiwgc3RhcnRkLCBzdGFydGUsIGVuZGUsIGRlbHRhLCBlbmRkKToKKyAgICAgICAgc2VsZi5zdGFydGQgPSBzdGFydGQKKyAgICAgICAgc2VsZi5zdGFydGUgPSBzdGFydGUKKyAgICAgICAgc2VsZi5lbmRlID0gZW5kZQorICAgICAgICBzZWxmLmVuZGQgPSBlbmRkCisgICAgICAgIHNlbGYuZGVsdGEgPSBkZWx0YQorICAgICAgICBzZWxmLmNvdW50ID0gMAorCisgICAgZGVmIHN0YXJ0RG9jdW1lbnQoc2VsZik6CisgICAgICAgIGdsb2JhbCBjdHh0CisgICAgICAgIGlmIGN0eHQuYnl0ZUNvbnN1bWVkKCkgIT0gc2VsZi5zdGFydGQ6CisgICAgICAgICAgICBwcmludCgiZG9jdW1lbnQgc3RhcnQgYXQgd3JvbmcgaW5kZXg6ICVkIGV4cGVjdGluZyAlZFxuIiAlICgKKyAgICAgICAgICAgICAgICAgIGN0eHQuYnl0ZUNvbnN1bWVkKCksIHNlbGYuc3RhcnRkKSkKKyAgICAgICAgICAgIHN5cy5leGl0KDEpCisKKyAgICBkZWYgZW5kRG9jdW1lbnQoc2VsZik6CisgICAgICAgIGdsb2JhbCBjdHh0CisgICAgICAgIGV4cGVjdCA9IHNlbGYuZW5kZSArIHNlbGYuZGVsdGEgKiAoc2VsZi5jb3VudCAtIDEpICsgc2VsZi5lbmRkCisgICAgICAgIGlmIGN0eHQuYnl0ZUNvbnN1bWVkKCkgIT0gZXhwZWN0OgorICAgICAgICAgICAgcHJpbnQoImRvY3VtZW50IGVuZCBhdCB3cm9uZyBpbmRleDogJWQgZXhwZWN0aW5nICVkXG4iICUgKAorICAgICAgICAgICAgICAgICAgY3R4dC5ieXRlQ29uc3VtZWQoKSwgZXhwZWN0KSkKKyAgICAgICAgICAgIHN5cy5leGl0KDEpCisKKyAgICBkZWYgc3RhcnRFbGVtZW50KHNlbGYsIHRhZywgYXR0cnMpOgorICAgICAgICBnbG9iYWwgY3R4dAorICAgICAgICBpZiB0YWcgPT0gImJhcjEiOgorICAgICAgICAgICAgZXhwZWN0ID0gc2VsZi5zdGFydGUgKyBzZWxmLmRlbHRhICogc2VsZi5jb3VudAorICAgICAgICAgICAgaWYgY3R4dC5ieXRlQ29uc3VtZWQoKSAhPSBleHBlY3Q6CisgICAgICAgICAgICAgICAgcHJpbnQoImVsZW1lbnQgc3RhcnQgYXQgd3JvbmcgaW5kZXg6ICVkIGV4cGVjdGluZyAlZFxuIiAlICgKKyAgICAgICAgICAgICAgICAgICBjdHh0LmJ5dGVDb25zdW1lZCgpLCBleHBlY3QpKQorICAgICAgICAgICAgICAgIHN5cy5leGl0KDEpCisgICAgICAgICAgICAKKworICAgIGRlZiBlbmRFbGVtZW50KHNlbGYsIHRhZyk6CisgICAgICAgIGdsb2JhbCBjdHh0CisgICAgICAgIGlmIHRhZyA9PSAiYmFyMSI6CisgICAgICAgICAgICBleHBlY3QgPSBzZWxmLmVuZGUgKyBzZWxmLmRlbHRhICogc2VsZi5jb3VudAorICAgICAgICAgICAgaWYgY3R4dC5ieXRlQ29uc3VtZWQoKSAhPSBleHBlY3Q6CisgICAgICAgICAgICAgICAgcHJpbnQoImVsZW1lbnQgZW5kIGF0IHdyb25nIGluZGV4OiAlZCBleHBlY3RpbmcgJWRcbiIgJSAoCisgICAgICAgICAgICAgICAgICAgICAgY3R4dC5ieXRlQ29uc3VtZWQoKSwgZXhwZWN0KSkKKyAgICAgICAgICAgICAgICBzeXMuZXhpdCgxKQorICAgICAgICAgICAgc2VsZi5jb3VudCA9IHNlbGYuY291bnQgKyAxCisKKyAgICBkZWYgY2hhcmFjdGVycyhzZWxmLCBkYXRhKToKKyAgICAgICAgcGFzcworCisjCisjIEZpcnN0IHJ1biBhIHB1cmUgVVRGLTggdGVzdAorIworaGFuZGxlciA9IGNhbGxiYWNrKDAsIDEzLCAyNywgMTk4LCAxODMpCitjdHh0ID0gbGlieG1sMi5jcmVhdGVQdXNoUGFyc2VyKGhhbmRsZXIsICI8Zm9vPlxuIiwgNiwgInRlc3QueG1sIikKK2NodW5rID0gIiIiICA8YmFyMT5jaGFyczE8L2JhcjE+CisgIDxiYXIyPmNoYXJzMjwvYmFyMj4KKyAgPGJhcjM+Y2hhcnMzPC9iYXIzPgorICA8YmFyND5jaGFyczQ8L2JhcjQ+CisgIDxiYXI1PmNoYXJzNTwvYmFyNT4KKyAgPGJhcjY+Jmx0O3M2PC9iYXI2PgorICA8YmFyNz5jaGFyczc8L2Jhcjc+CisgIDxiYXI4PiYjMzg7ODwvYmFyOD4KKyAgPGJhcjk+Y2hhcnM5PC9iYXI5PgorIiIiCitpID0gMAord2hpbGUgaSA8IDEwMDAwOgorICAgIGN0eHQucGFyc2VDaHVuayhjaHVuaywgbGVuKGNodW5rKSwgMCkKKyAgICBpID0gaSArIDEKK2NodW5rID0gIjwvZm9vPiIKK2N0eHQucGFyc2VDaHVuayhjaHVuaywgbGVuKGNodW5rKSwgMSkKK2N0eHQ9Tm9uZQorCisjCisjIFRoZW4gcnVuIGEgdGVzdCByZWx5aW5nIG9uIElTTy1MYXRpbi0xCisjCitoYW5kbGVyID0gY2FsbGJhY2soNDMsIDU3LCA3MSwgMTk4LCAxODMpCitjaHVuaz0iIiI8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJJU08tODg1OS0xIj8+Cis8Zm9vPgorIiIiCitjdHh0ID0gbGlieG1sMi5jcmVhdGVQdXNoUGFyc2VyKGhhbmRsZXIsIGNodW5rLCBsZW4oY2h1bmspLCAidGVzdC54bWwiKQorY2h1bmsgPSAiIiIgIDxiYXIxPmNoYXJzMTwvYmFyMT4KKyAgPGJhcjI+Y2hhcnMyPC9iYXIyPgorICA8YmFyMz5jaGFyczM8L2JhcjM+CisgIDxiYXI0PmNo4HJzNDwvYmFyND4KKyAgPGJhcjU+Y2hhcnM1PC9iYXI1PgorICA8YmFyNj4mbHQ7czY8L2JhcjY+CisgIDxiYXI3PmNoYXJzNzwvYmFyNz4KKyAgPGJhcjg+JiMzODs4PC9iYXI4PgorICA8YmFyOT50cuhzIDk8L2Jhcjk+CisiIiIKK2kgPSAwCit3aGlsZSBpIDwgMTAwMDA6CisgICAgY3R4dC5wYXJzZUNodW5rKGNodW5rLCBsZW4oY2h1bmspLCAwKQorICAgIGkgPSBpICsgMQorY2h1bmsgPSAiPC9mb28+IgorY3R4dC5wYXJzZUNodW5rKGNodW5rLCBsZW4oY2h1bmspLCAxKQorY3R4dD1Ob25lCisKKyMgTWVtb3J5IGRlYnVnIHNwZWNpZmljCitsaWJ4bWwyLmNsZWFudXBQYXJzZXIoKQoraWYgbGlieG1sMi5kZWJ1Z01lbW9yeSgxKSA9PSAwOgorICAgIHByaW50KCJPSyIpCitlbHNlOgorICAgIHByaW50KCJNZW1vcnkgbGVhayAlZCBieXRlcyIgJSAobGlieG1sMi5kZWJ1Z01lbW9yeSgxKSkpCisgICAgbGlieG1sMi5kdW1wTWVtb3J5KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcHl0aG9uL3Rlc3RzL2lucHV0X2NhbGxiYWNrLnB5IGIvbGlieG1sMi9weXRob24vdGVzdHMvaW5wdXRfY2FsbGJhY2sucHkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNDk1YWI2MgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcHl0aG9uL3Rlc3RzL2lucHV0X2NhbGxiYWNrLnB5CkBAIC0wLDAgKzEsMTQ4IEBACisjIS91c3IvYmluL3B5dGhvbiAtdQorIworIyBUaGlzIHRlc3RzIGN1c3RvbSBpbnB1dCBjYWxsYmFja3MKKyMKK2ltcG9ydCBzeXMKK2ltcG9ydCBsaWJ4bWwyCit0cnk6CisgICAgaW1wb3J0IFN0cmluZ0lPCisgICAgc3RyX2lvID0gU3RyaW5nSU8uU3RyaW5nSU8KK2V4Y2VwdDoKKyAgICBpbXBvcnQgaW8KKyAgICBzdHJfaW8gPSBpby5TdHJpbmdJTworCisjIFdlIGltcGxlbWVudCBhIG5ldyBzY2hlbWUsIHB5Oi8vc3RyaW5ncy8gdGhhdCB3aWxsIHJlZmVyZW5jZSB0aGlzIGRpY3Rpb25hcnkKK3B5c3RyaW5ncyA9IHsKKyAgICAnY2F0YWxvZ3MvY2F0YWxvZy54bWwnIDoKKycnJzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8IURPQ1RZUEUgY2F0YWxvZyBQVUJMSUMgIi0vL09BU0lTLy9EVEQgRW50aXR5IFJlc29sdXRpb24gWE1MIENhdGFsb2cgVjEuMC8vRU4iICJodHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL2NvbW1pdHRlZXMvZW50aXR5L3JlbGVhc2UvMS4wL2NhdGFsb2cuZHRkIj4KKzxjYXRhbG9nIHhtbG5zPSJ1cm46b2FzaXM6bmFtZXM6dGM6ZW50aXR5OnhtbG5zOnhtbDpjYXRhbG9nIj4KKyAgPHJld3JpdGVTeXN0ZW0gc3lzdGVtSWRTdGFydFN0cmluZz0iaHR0cDovL2V4YW1wbGUuY29tL2R0ZHMvIiByZXdyaXRlUHJlZml4PSIuLi9kdGRzLyIvPgorPC9jYXRhbG9nPicnJywKKworICAgICd4bWwvc2FtcGxlLnhtbCcgOgorJycnPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzwhRE9DVFlQRSByb290IFNZU1RFTSAiaHR0cDovL2V4YW1wbGUuY29tL2R0ZHMvc2FtcGxlLmR0ZCI+Cis8cm9vdD4mc2FtcGxlLmVudGl0eTs8L3Jvb3Q+JycnLAorCisgICAgJ2R0ZHMvc2FtcGxlLmR0ZCcgOgorJycnCis8IUVMRU1FTlQgcm9vdCAoI1BDREFUQSk+Cis8IUVOVElUWSBzYW1wbGUuZW50aXR5ICJyZXBsYWNlbWVudCB0ZXh0Ij4nJycKK30KKworcHJlZml4ID0gInB5Oi8vc3RyaW5ncy8iCitzdGFydFVSTCA9IHByZWZpeCArICJ4bWwvc2FtcGxlLnhtbCIKK2NhdFVSTCA9IHByZWZpeCArICJjYXRhbG9ncy9jYXRhbG9nLnhtbCIKKworZGVmIG15X2lucHV0X2NiKFVSSSk6CisgICAgaWYgbm90KFVSSS5zdGFydHN3aXRoKHByZWZpeCkpOgorICAgICAgICByZXR1cm4gTm9uZQorICAgIHBhdGggPSBVUklbbGVuKHByZWZpeCk6XQorICAgIGlmIHBhdGggbm90IGluIHB5c3RyaW5nczoKKyAgICAgICAgcmV0dXJuIE5vbmUKKyAgICByZXR1cm4gc3RyX2lvKHB5c3RyaW5nc1twYXRoXSkKKworCitkZWYgcnVuX3Rlc3QoZGVzYywgZG9jcGF0aCwgY2F0YWxvZywgZXhwX3N0YXR1cz0idmVyaWZpZWQiLCBleHBfZXJyPVtdLCB0ZXN0X2NhbGxiYWNrPU5vbmUsCisgICAgICAgIHJvb3RfbmFtZT0icm9vdCIsIHJvb3RfY29udGVudD0icmVwbGFjZW1lbnQgdGV4dCIpOgorICAgIG9wdHMgPSBsaWJ4bWwyLlhNTF9QQVJTRV9EVERMT0FEIHwgbGlieG1sMi5YTUxfUEFSU0VfTk9ORVQgfCBsaWJ4bWwyLlhNTF9QQVJTRV9DT01QQUNUCisgICAgYWN0dWFsX2VyciA9IFtdCisKKyAgICBkZWYgbXlfZ2xvYmFsX2Vycm9yX2NiKGN0eCwgbXNnKToKKyAgICAgICAgYWN0dWFsX2Vyci5hcHBlbmQoKC0xLCBtc2cpKQorICAgIGRlZiBteV9jdHhfZXJyb3JfY2IoYXJnLCBtc2csIHNldmVyaXR5LCByZXNlcnZlZCk6CisgICAgICAgIGFjdHVhbF9lcnIuYXBwZW5kKChzZXZlcml0eSwgbXNnKSkKKworICAgIGxpYnhtbDIucmVnaXN0ZXJFcnJvckhhbmRsZXIobXlfZ2xvYmFsX2Vycm9yX2NiLCBOb25lKQorICAgIHRyeToKKyAgICAgICAgcGFyc2VyID0gbGlieG1sMi5jcmVhdGVVUkxQYXJzZXJDdHh0KGRvY3BhdGgsIG9wdHMpCisgICAgICAgIHBhcnNlci5zZXRFcnJvckhhbmRsZXIobXlfY3R4X2Vycm9yX2NiLCBOb25lKQorICAgICAgICBpZiBjYXRhbG9nIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgcGFyc2VyLmFkZExvY2FsQ2F0YWxvZyhjYXRhbG9nKQorICAgICAgICBpZiB0ZXN0X2NhbGxiYWNrIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgdGVzdF9jYWxsYmFjaygpCisgICAgICAgIHBhcnNlci5wYXJzZURvY3VtZW50KCkKKyAgICAgICAgZG9jID0gcGFyc2VyLmRvYygpCisgICAgICAgIGFjdHVhbF9zdGF0dXMgPSAibG9hZGVkIgorICAgICAgICBlID0gZG9jLmdldFJvb3RFbGVtZW50KCkKKyAgICAgICAgaWYgZS5uYW1lID09IHJvb3RfbmFtZSBhbmQgZS5jb250ZW50ID09IHJvb3RfY29udGVudDoKKyAgICAgICAgICAgIGFjdHVhbF9zdGF0dXMgPSAidmVyaWZpZWQiCisgICAgICAgIGRvYy5mcmVlRG9jKCkKKyAgICBleGNlcHQgbGlieG1sMi5wYXJzZXJFcnJvcjoKKyAgICAgICAgYWN0dWFsX3N0YXR1cyA9ICJub3QgbG9hZGVkIgorCisgICAgaWYgYWN0dWFsX3N0YXR1cyAhPSBleHBfc3RhdHVzOgorICAgICAgICBwcmludCgiVGVzdCAnJXMnIGZhaWxlZDogZXhwZWN0IHN0YXR1cyAnJXMnLCBhY3R1YWwgJyVzJyIgJSAoZGVzYywgZXhwX3N0YXR1cywgYWN0dWFsX3N0YXR1cykpCisgICAgICAgIHN5cy5leGl0KDEpCisgICAgZWxpZiBhY3R1YWxfZXJyICE9IGV4cF9lcnI6CisgICAgICAgIHByaW50KCJUZXN0ICclcycgZmFpbGVkIiAlIGRlc2MpCisgICAgICAgIHByaW50KCJFeHBlY3QgZXJyb3JzOiIpCisgICAgICAgIGZvciBzLG0gaW4gZXhwX2VycjogcHJpbnQoIiAgWyUyZF0gJyVzJyIgJSAocyxtKSkKKyAgICAgICAgcHJpbnQoIkFjdHVhbCBlcnJvcnM6IikKKyAgICAgICAgZm9yIHMsbSBpbiBhY3R1YWxfZXJyOiBwcmludCgiICBbJTJkXSAnJXMnIiAlIChzLG0pKQorICAgICAgICBzeXMuZXhpdCgxKQorCisKKyMgQ2hlY2sgdGhhdCB3ZSBjYW5ub3QgcmVhZCBjdXN0b20gc2NoZW1hIHdpdGhvdXQgY3VzdG9tIGNhbGxiYWNrCitydW5fdGVzdChkZXNjPSJMb2FkaW5nIGVudGl0eSB3aXRob3V0IGN1c3RvbSBjYWxsYmFjayIsCisgICAgICAgIGRvY3BhdGg9c3RhcnRVUkwsIGNhdGFsb2c9Tm9uZSwKKyAgICAgICAgZXhwX3N0YXR1cz0ibm90IGxvYWRlZCIsIGV4cF9lcnI9WworICAgICAgICAgICAgKC0xLCAiSS9PICIpLAorICAgICAgICAgICAgKC0xLCAid2FybmluZyA6ICIpLAorICAgICAgICAgICAgKC0xLCAiZmFpbGVkIHRvIGxvYWQgZXh0ZXJuYWwgZW50aXR5IFwicHk6Ly9zdHJpbmdzL3htbC9zYW1wbGUueG1sXCJcbiIpCisgICAgICAgICAgICBdKQorCisjIFJlZ2lzdGVyIGhhbmRsZXIgYW5kIHRyeSB0byBsb2FkIHRoZSBzYW1lIGVudGl0eQorbGlieG1sMi5yZWdpc3RlcklucHV0Q2FsbGJhY2sobXlfaW5wdXRfY2IpCitydW5fdGVzdChkZXNjPSJMb2FkaW5nIGVudGl0eSB3aXRoIGN1c3RvbSBjYWxsYmFjayIsCisgICAgICAgIGRvY3BhdGg9c3RhcnRVUkwsIGNhdGFsb2c9Tm9uZSwKKyAgICAgICAgZXhwX3N0YXR1cz0ibG9hZGVkIiwgZXhwX2Vycj1bCisgICAgICAgICAgICAoLTEsICJBdHRlbXB0IHRvIGxvYWQgbmV0d29yayBlbnRpdHkgaHR0cDovL2V4YW1wbGUuY29tL2R0ZHMvc2FtcGxlLmR0ZCIpLAorICAgICAgICAgICAgKCA0LCAiRW50aXR5ICdzYW1wbGUuZW50aXR5JyBub3QgZGVmaW5lZFxuIikKKyAgICAgICAgICAgIF0pCisKKyMgUmVnaXN0ZXIgYSBjYXRhbG9nIChhbHNvIGFjY2Vzc2libGUgdmlhIHB5c3RyOi8vKSBhbmQgcmV0cnkKK3J1bl90ZXN0KGRlc2M9IkxvYWRpbmcgZW50aXR5IHdpdGggY3VzdG9tIGNhbGxiYWNrIGFuZCBjYXRhbG9nIiwKKyAgICAgICAgZG9jcGF0aD1zdGFydFVSTCwgY2F0YWxvZz1jYXRVUkwpCisKKyMgVW5yZWdpc3RlciBjdXN0b20gY2FsbGJhY2sgd2hlbiBwYXJzZXIgaXMgYWxyZWFkeSBjcmVhdGVkCitydW5fdGVzdChkZXNjPSJMb2FkaW5nIGVudGl0eSBhbmQgdW5yZWdpc3RlcmluZyBjYWxsYmFjayIsCisgICAgICAgIGRvY3BhdGg9c3RhcnRVUkwsIGNhdGFsb2c9Y2F0VVJMLAorICAgICAgICB0ZXN0X2NhbGxiYWNrPWxhbWJkYTogbGlieG1sMi5wb3BJbnB1dENhbGxiYWNrcygpLAorICAgICAgICBleHBfc3RhdHVzPSJsb2FkZWQiLCBleHBfZXJyPVsKKyAgICAgICAgICAgICggMywgImZhaWxlZCB0byBsb2FkIGV4dGVybmFsIGVudGl0eSBcInB5Oi8vc3RyaW5ncy9kdGRzL3NhbXBsZS5kdGRcIlxuIiksCisgICAgICAgICAgICAoIDQsICJFbnRpdHkgJ3NhbXBsZS5lbnRpdHknIG5vdCBkZWZpbmVkXG4iKQorICAgICAgICAgICAgXSkKKworIyBUcnkgdG8gbG9hZCB0aGUgZG9jdW1lbnQgYWdhaW4KK3J1bl90ZXN0KGRlc2M9IlJldHJ5IGxvYWRpbmcgZG9jdW1lbnQgYWZ0ZXIgdW5yZWdpc3RlcmluZyBjYWxsYmFjayIsCisgICAgICAgIGRvY3BhdGg9c3RhcnRVUkwsIGNhdGFsb2c9Y2F0VVJMLAorICAgICAgICBleHBfc3RhdHVzPSJub3QgbG9hZGVkIiwgZXhwX2Vycj1bCisgICAgICAgICAgICAoLTEsICJJL08gIiksCisgICAgICAgICAgICAoLTEsICJ3YXJuaW5nIDogIiksCisgICAgICAgICAgICAoLTEsICJmYWlsZWQgdG8gbG9hZCBleHRlcm5hbCBlbnRpdHkgXCJweTovL3N0cmluZ3MveG1sL3NhbXBsZS54bWxcIlxuIikKKyAgICAgICAgICAgIF0pCisKKyMgQnV0IHNob3VsZCBiZSBhYmxlIHRvIHJlYWQgc3RhbmRhcmQgSS9PIHlldC4uLgorcnVuX3Rlc3QoZGVzYz0iTG9hZGluZyB1c2luZyBzdGFuZGFyZCBpL28gYWZ0ZXIgdW5yZWdpc3RlcmluZyBjYWxsYmFjayIsCisgICAgICAgIGRvY3BhdGg9InRzdC54bWwiLCBjYXRhbG9nPU5vbmUsCisgICAgICAgIHJvb3RfbmFtZT0nZG9jJywgcm9vdF9jb250ZW50PSdiYXInKQorCisjIE5vdyBwb3AgQUxMIGlucHV0IGNhbGxiYWNrcywgc2hvdWxkIGZhaWwgdG8gbG9hZCBldmVuIHN0YW5kYXJkIEkvTwordHJ5OgorICAgIHdoaWxlIFRydWU6CisgICAgICAgIGxpYnhtbDIucG9wSW5wdXRDYWxsYmFja3MoKQorZXhjZXB0IEluZGV4RXJyb3I6CisgICAgcGFzcworCitydW5fdGVzdChkZXNjPSJMb2FkaW5nIHVzaW5nIHN0YW5kYXJkIGkvbyBhZnRlciB1bnJlZ2lzdGVyaW5nIGFsbCBjYWxsYmFja3MiLAorICAgICAgICBkb2NwYXRoPSJ0c3QueG1sIiwgY2F0YWxvZz1Ob25lLAorICAgICAgICBleHBfc3RhdHVzPSJub3QgbG9hZGVkIiwgZXhwX2Vycj1bCisgICAgICAgICAgICAoLTEsICJJL08gIiksCisgICAgICAgICAgICAoLTEsICJ3YXJuaW5nIDogIiksCisgICAgICAgICAgICAoLTEsICJmYWlsZWQgdG8gbG9hZCBleHRlcm5hbCBlbnRpdHkgXCJ0c3QueG1sXCJcbiIpCisgICAgICAgICAgICBdKQorCitwcmludCgiT0siKQorc3lzLmV4aXQoMCk7CmRpZmYgLS1naXQgYS9saWJ4bWwyL3B5dGhvbi90ZXN0cy9pbnZhbGlkLnhtbCBiL2xpYnhtbDIvcHl0aG9uL3Rlc3RzL2ludmFsaWQueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdjOWIyN2UKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3B5dGhvbi90ZXN0cy9pbnZhbGlkLnhtbApAQCAtMCwwICsxLDYgQEAKKzwhRE9DVFlQRSBkb2MgWworPCFFTEVNRU5UIGRvYyAoYSwgYiwgYSk+Cis8IUVMRU1FTlQgYSBFTVBUWT4KKzwhRUxFTUVOVCBiIEVNUFRZPgorXT4KKzxkb2M+PGIvPjxhLz48Yi8+PC9kb2M+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3B5dGhvbi90ZXN0cy9uc2RlbC5weSBiL2xpYnhtbDIvcHl0aG9uL3Rlc3RzL25zZGVsLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjA3OTM5OWEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3B5dGhvbi90ZXN0cy9uc2RlbC5weQpAQCAtMCwwICsxLDYyIEBACisjIS91c3IvYmluL3B5dGhvbiAtdQorIworIyB0aGlzIHRlc3QgZXhlcmNpc2UgdGhlIFhQYXRoIGJhc2ljIGVuZ2luZSwgcGFyc2VyLCBldGMsIGFuZAorIyBhbGxvd3MgdG8gZGV0ZWN0IG1lbW9yeSBsZWFrcworIworaW1wb3J0IHN5cworaW1wb3J0IGxpYnhtbDIKKworaW5zdGFuY2U9IiIiPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8dGFnIHhtbG5zOmZvbz0ndXJuOmZvbycgeG1sbnM6YmFyPSd1cm46YmFyJyB4bWxuczpiYXo9J3VybjpiYXonIC8+IiIiCisKK2RlZiBuYW1lc3BhY2VEZWZzKG5vZGUpOgorICAgIG4gPSBub2RlLm5zRGVmcygpCisgICAgd2hpbGUgbjoKKyAgICAgICAgeWllbGQgbgorICAgICAgICBuID0gbi5uZXh0CisKK2RlZiBjaGVja05hbWVzcGFjZURlZnMobm9kZSwgY291bnQpOgorICAgIG5zTGlzdCA9IGxpc3QobmFtZXNwYWNlRGVmcyhub2RlKSkKKyAgICAjcHJpbnQgbnNMaXN0CisgICAgaWYgbGVuKG5zTGlzdCkgIT0gY291bnQgOgorICAgICAgICByYWlzZSBFeGNlcHRpb24oIkVycm9yOiBzYXcgJWQgbmFtZXNwYWNlIGRlY2xhcmF0aW9ucy4gIEV4cGVjdGVkICVkIiAlIChsZW4obnNMaXN0KSwgY291bnQpKQorICAgIAorIyBNZW1vcnkgZGVidWcgc3BlY2lmaWMKK2xpYnhtbDIuZGVidWdNZW1vcnkoMSkKKworIyBSZW1vdmUgc2luZ2xlIG5hbWVzcGFjZQorZG9jID0gbGlieG1sMi5wYXJzZURvYyhpbnN0YW5jZSkKK25vZGUgPSBkb2MuZ2V0Um9vdEVsZW1lbnQoKQorY2hlY2tOYW1lc3BhY2VEZWZzKG5vZGUsIDMpCitucyA9IG5vZGUucmVtb3ZlTnNEZWYoJ3VybjpiYXInKQorY2hlY2tOYW1lc3BhY2VEZWZzKG5vZGUsIDIpCitucy5mcmVlTnNMaXN0KCkKK2RvYy5mcmVlRG9jKCkKKworIyBSZW1vdmUgYWxsIG5hbWVzcGFjZXMKK2RvYyA9IGxpYnhtbDIucGFyc2VEb2MoaW5zdGFuY2UpCitub2RlID0gZG9jLmdldFJvb3RFbGVtZW50KCkKK2NoZWNrTmFtZXNwYWNlRGVmcyhub2RlLCAzKQorbnMgPSBub2RlLnJlbW92ZU5zRGVmKE5vbmUpCitjaGVja05hbWVzcGFjZURlZnMobm9kZSwgMCkKK25zLmZyZWVOc0xpc3QoKQorZG9jLmZyZWVEb2MoKQorCisjIFJlbW92ZSBhIG5hbWVzcGFjZSByZWZlcmVkIHRvIGJ5IGEgY2hpbGQKK2RvYyA9IGxpYnhtbDIubmV3RG9jKCIxLjAiKQorcm9vdCA9IGRvYy5uZXdDaGlsZChOb25lLCAicm9vdCIsIE5vbmUpCituYW1lc3BhY2UgPSByb290Lm5ld05zKCJodHRwOi8vZXhhbXBsZS5jb20vc2FtcGxlIiwgInMiKQorY2hpbGQgPSByb290Lm5ld0NoaWxkKG5hbWVzcGFjZSwgImNoaWxkIiwgTm9uZSkKK3Jvb3QucmVtb3ZlTnNEZWYoImh0dHA6Ly9leGFtcGxlLmNvbS9zYW1wbGUiKQorZG9jLnJlY29uY2lsaWF0ZU5zKHJvb3QpCituYW1lc3BhY2UuZnJlZU5zTGlzdCgpCitkb2Muc2VyaWFsaXplKCkgIyBUaGlzIHNob3VsZCBub3Qgc2VnZmF1bHQKK2RvYy5mcmVlRG9jKCkKKworIyBNZW1vcnkgZGVidWcgc3BlY2lmaWMKK2xpYnhtbDIuY2xlYW51cFBhcnNlcigpCitpZiBsaWJ4bWwyLmRlYnVnTWVtb3J5KDEpID09IDA6CisgICAgcHJpbnQoIk9LIikKK2Vsc2U6CisgICAgcHJpbnQoIk1lbW9yeSBsZWFrICVkIGJ5dGVzIiAlIChsaWJ4bWwyLmRlYnVnTWVtb3J5KDEpKSkKKyAgICBsaWJ4bWwyLmR1bXBNZW1vcnkoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9weXRob24vdGVzdHMvb3V0YnVmLnB5IGIvbGlieG1sMi9weXRob24vdGVzdHMvb3V0YnVmLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjYyNzYxY2MKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3B5dGhvbi90ZXN0cy9vdXRidWYucHkKQEAgLTAsMCArMSwxMTAgQEAKKyMhL3Vzci9iaW4vcHl0aG9uIC11CitpbXBvcnQgc3lzCitpbXBvcnQgbGlieG1sMgordHJ5OgorICAgIGltcG9ydCBTdHJpbmdJTworICAgIHN0cl9pbyA9IFN0cmluZ0lPLlN0cmluZ0lPCitleGNlcHQ6CisgICAgaW1wb3J0IGlvCisgICAgc3RyX2lvID0gaW8uU3RyaW5nSU8KKworZGVmIHRlc3RTaW1wbGVCdWZmZXJXcml0ZXMoKToKKyAgICBmID0gc3RyX2lvKCkKKyAgICBidWYgPSBsaWJ4bWwyLmNyZWF0ZU91dHB1dEJ1ZmZlcihmLCAiSVNPLTg4NTktMSIpCisgICAgYnVmLndyaXRlKDMsICJmb28iKQorICAgIGJ1Zi53cml0ZVN0cmluZygiYmFyIikKKyAgICBidWYuY2xvc2UoKQorCisgICAgaWYgZi5nZXR2YWx1ZSgpICE9ICJmb29iYXIiOgorICAgICAgICBwcmludCgiRmFpbGVkIHRvIHNhdmUgdG8gU3RyaW5nSU8iKQorICAgICAgICBzeXMuZXhpdCgxKQorCitkZWYgdGVzdFNhdmVEb2NUb0J1ZmZlcigpOgorICAgICIiIgorICAgIFJlZ3Jlc3Npb24gdGVzdCBmb3IgYnVnICMxNTQyOTQuCisgICAgIiIiCisgICAgaW5wdXQgPSAnPGZvbz5IZWxsbzwvZm9vPicKKyAgICBleHBlY3RlZCA9ICcnJ1wKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8Zm9vPkhlbGxvPC9mb28+CisnJycKKyAgICBmID0gc3RyX2lvKCkKKyAgICBidWYgPSBsaWJ4bWwyLmNyZWF0ZU91dHB1dEJ1ZmZlcihmLCAnVVRGLTgnKQorICAgIGRvYyA9IGxpYnhtbDIucGFyc2VEb2MoaW5wdXQpCisgICAgZG9jLnNhdmVGaWxlVG8oYnVmLCAnVVRGLTgnKQorICAgIGRvYy5mcmVlRG9jKCkKKyAgICBpZiBmLmdldHZhbHVlKCkgIT0gZXhwZWN0ZWQ6CisgICAgICAgIHByaW50KCd4bWxEb2Muc2F2ZUZpbGVUbygpIGNhbGwgZmFpbGVkLicpCisgICAgICAgIHByaW50KCcgICAgIGdvdDogJXMnICUgcmVwcihmLmdldHZhbHVlKCkpKQorICAgICAgICBwcmludCgnZXhwZWN0ZWQ6ICVzJyAlIHJlcHIoZXhwZWN0ZWQpKQorICAgICAgICBzeXMuZXhpdCgxKQorCitkZWYgdGVzdFNhdmVGb3JtYXR0ZWREb2NUb0J1ZmZlcigpOgorICAgIGlucHV0ID0gJzxvdXRlcj48aW5uZXI+U29tZSB0ZXh0PC9pbm5lcj48aW5uZXIvPjwvb3V0ZXI+JworICAgICMgVGhlIGZvcm1hdHRlZCBhbmQgbm9uLWZvcm1hdHRlZCB2ZXJzaW9ucyBvZiB0aGUgb3V0cHV0LgorICAgIGV4cGVjdGVkID0gKCcnJ1wKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8b3V0ZXI+PGlubmVyPlNvbWUgdGV4dDwvaW5uZXI+PGlubmVyLz48L291dGVyPgorJycnLCAnJydcCis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPG91dGVyPgorICA8aW5uZXI+U29tZSB0ZXh0PC9pbm5lcj4KKyAgPGlubmVyLz4KKzwvb3V0ZXI+CisnJycpCisgICAgZG9jID0gbGlieG1sMi5wYXJzZURvYyhpbnB1dCkKKyAgICBmb3IgaSBpbiAoMCwgMSk6CisgICAgICAgIGYgPSBzdHJfaW8oKQorICAgICAgICBidWYgPSBsaWJ4bWwyLmNyZWF0ZU91dHB1dEJ1ZmZlcihmLCAnVVRGLTgnKQorICAgICAgICBkb2Muc2F2ZUZvcm1hdEZpbGVUbyhidWYsICdVVEYtOCcsIGkpCisgICAgICAgIGlmIGYuZ2V0dmFsdWUoKSAhPSBleHBlY3RlZFtpXToKKyAgICAgICAgICAgIHByaW50KCd4bWxEb2Muc2F2ZUZvcm1hdEZpbGVUbygpIGNhbGwgZmFpbGVkLicpCisgICAgICAgICAgICBwcmludCgnICAgICBnb3Q6ICVzJyAlIHJlcHIoZi5nZXR2YWx1ZSgpKSkKKyAgICAgICAgICAgIHByaW50KCdleHBlY3RlZDogJXMnICUgcmVwcihleHBlY3RlZFtpXSkpCisgICAgICAgICAgICBzeXMuZXhpdCgxKQorICAgIGRvYy5mcmVlRG9jKCkKKworZGVmIHRlc3RTYXZlSW50b091dHB1dEJ1ZmZlcigpOgorICAgICIiIgorICAgIFNpbWlsYXIgdG8gdGhlIHByZXZpb3VzIHR3byB0ZXN0cywgZXhjZXB0IHRoaXMgdGltZSB3ZSBpbnZva2UgdGhlIHNhdmUKKyAgICBtZXRob2RzIG9uIHRoZSBvdXRwdXQgYnVmZmVyIG9iamVjdCBhbmQgcGFzcyBpbiBhbiBYTUwgbm9kZSBvYmplY3QuCisgICAgIiIiCisgICAgaW5wdXQgPSAnPGZvbz5IZWxsbzwvZm9vPicKKyAgICBleHBlY3RlZCA9ICcnJ1wKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8Zm9vPkhlbGxvPC9mb28+CisnJycKKyAgICBmID0gc3RyX2lvKCkKKyAgICBkb2MgPSBsaWJ4bWwyLnBhcnNlRG9jKGlucHV0KQorICAgIGJ1ZiA9IGxpYnhtbDIuY3JlYXRlT3V0cHV0QnVmZmVyKGYsICdVVEYtOCcpCisgICAgYnVmLnNhdmVGaWxlVG8oZG9jLCAnVVRGLTgnKQorICAgIGlmIGYuZ2V0dmFsdWUoKSAhPSBleHBlY3RlZDoKKyAgICAgICAgcHJpbnQoJ291dHB1dEJ1ZmZlci5zYXZlRmlsZVRvKCkgY2FsbCBmYWlsZWQuJykKKyAgICAgICAgcHJpbnQoJyAgICAgZ290OiAlcycgJSByZXByKGYuZ2V0dmFsdWUoKSkpCisgICAgICAgIHByaW50KCdleHBlY3RlZDogJXMnICUgcmVwcihleHBlY3RlZCkpCisgICAgICAgIHN5cy5leGl0KDEpCisgICAgZiA9IHN0cl9pbygpCisgICAgYnVmID0gbGlieG1sMi5jcmVhdGVPdXRwdXRCdWZmZXIoZiwgJ1VURi04JykKKyAgICBidWYuc2F2ZUZvcm1hdEZpbGVUbyhkb2MsICdVVEYtOCcsIDEpCisgICAgaWYgZi5nZXR2YWx1ZSgpICE9IGV4cGVjdGVkOgorICAgICAgICBwcmludCgnb3V0cHV0QnVmZmVyLnNhdmVGb3JtYXRGaWxlVG8oKSBjYWxsIGZhaWxlZC4nKQorICAgICAgICBwcmludCgnICAgICBnb3Q6ICVzJyAlIHJlcHIoZi5nZXR2YWx1ZSgpKSkKKyAgICAgICAgcHJpbnQoJ2V4cGVjdGVkOiAlcycgJSByZXByKGV4cGVjdGVkKSkKKyAgICAgICAgc3lzLmV4aXQoMSkKKyAgICBkb2MuZnJlZURvYygpCisKK2lmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CisgICAgIyBNZW1vcnkgZGVidWcgc3BlY2lmaWMKKyAgICBsaWJ4bWwyLmRlYnVnTWVtb3J5KDEpCisKKyAgICB0ZXN0U2ltcGxlQnVmZmVyV3JpdGVzKCkKKyAgICB0ZXN0U2F2ZURvY1RvQnVmZmVyKCkKKyAgICB0ZXN0U2F2ZUZvcm1hdHRlZERvY1RvQnVmZmVyKCkKKyAgICB0ZXN0U2F2ZUludG9PdXRwdXRCdWZmZXIoKQorCisgICAgbGlieG1sMi5jbGVhbnVwUGFyc2VyKCkKKyAgICBpZiBsaWJ4bWwyLmRlYnVnTWVtb3J5KDEpID09IDA6CisgICAgICAgIHByaW50KCJPSyIpCisgICAgZWxzZToKKyAgICAgICAgcHJpbnQoIk1lbW9yeSBsZWFrICVkIGJ5dGVzIiAlIChsaWJ4bWwyLmRlYnVnTWVtb3J5KDEpKSkKKyAgICAgICAgbGlieG1sMi5kdW1wTWVtb3J5KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcHl0aG9uL3Rlc3RzL3B1c2gucHkgYi9saWJ4bWwyL3B5dGhvbi90ZXN0cy9wdXNoLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjBlZGQ2MWQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3B5dGhvbi90ZXN0cy9wdXNoLnB5CkBAIC0wLDAgKzEsMzUgQEAKKyMhL3Vzci9iaW4vcHl0aG9uIC11CitpbXBvcnQgc3lzCitpbXBvcnQgbGlieG1sMgorCisjIE1lbW9yeSBkZWJ1ZyBzcGVjaWZpYworbGlieG1sMi5kZWJ1Z01lbW9yeSgxKQorCitjdHh0ID0gbGlieG1sMi5jcmVhdGVQdXNoUGFyc2VyKE5vbmUsICI8Zm9vIiwgNCwgInRlc3QueG1sIikKK2N0eHQucGFyc2VDaHVuaygiLz4iLCAyLCAxKQorZG9jID0gY3R4dC5kb2MoKQorY3R4dD1Ob25lCitpZiBkb2MubmFtZSAhPSAidGVzdC54bWwiOgorICAgIHByaW50KCJkb2N1bWVudCBuYW1lIGVycm9yIikKKyAgICBzeXMuZXhpdCgxKQorcm9vdCA9IGRvYy5jaGlsZHJlbgoraWYgcm9vdC5uYW1lICE9ICJmb28iOgorICAgIHByaW50KCJyb290IGVsZW1lbnQgbmFtZSBlcnJvciIpCisgICAgc3lzLmV4aXQoMSkKK2RvYy5mcmVlRG9jKCkKK2kgPSAxMDAwMAord2hpbGUgaSA+IDA6CisgICAgY3R4dCA9IGxpYnhtbDIuY3JlYXRlUHVzaFBhcnNlcihOb25lLCAiPGZvbyIsIDQsICJ0ZXN0LnhtbCIpCisgICAgY3R4dC5wYXJzZUNodW5rKCIvPiIsIDIsIDEpCisgICAgZG9jID0gY3R4dC5kb2MoKQorICAgIGRvYy5mcmVlRG9jKCkKKyAgICBpID0gaSAtMQorY3R4dD1Ob25lCisKKyMgTWVtb3J5IGRlYnVnIHNwZWNpZmljCitsaWJ4bWwyLmNsZWFudXBQYXJzZXIoKQoraWYgbGlieG1sMi5kZWJ1Z01lbW9yeSgxKSA9PSAwOgorICAgIHByaW50KCJPSyIpCitlbHNlOgorICAgIHByaW50KCJNZW1vcnkgbGVhayAlZCBieXRlcyIgJSAobGlieG1sMi5kZWJ1Z01lbW9yeSgxKSkpCisgICAgbGlieG1sMi5kdW1wTWVtb3J5KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcHl0aG9uL3Rlc3RzL3B1c2hTQVgucHkgYi9saWJ4bWwyL3B5dGhvbi90ZXN0cy9wdXNoU0FYLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjQ4ZjZlODIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3B5dGhvbi90ZXN0cy9wdXNoU0FYLnB5CkBAIC0wLDAgKzEsNjQgQEAKKyMhL3Vzci9iaW4vcHl0aG9uIC11CitpbXBvcnQgc3lzCitpbXBvcnQgbGlieG1sMgorCisjIE1lbW9yeSBkZWJ1ZyBzcGVjaWZpYworbGlieG1sMi5kZWJ1Z01lbW9yeSgxKQorCitsb2cgPSAiIgorCitjbGFzcyBjYWxsYmFjazoKKyAgICBkZWYgc3RhcnREb2N1bWVudChzZWxmKToKKyAgICAgICAgZ2xvYmFsIGxvZworICAgICAgICBsb2cgPSBsb2cgKyAic3RhcnREb2N1bWVudDoiCisKKyAgICBkZWYgZW5kRG9jdW1lbnQoc2VsZik6CisgICAgICAgIGdsb2JhbCBsb2cKKyAgICAgICAgbG9nID0gbG9nICsgImVuZERvY3VtZW50OiIKKworICAgIGRlZiBzdGFydEVsZW1lbnQoc2VsZiwgdGFnLCBhdHRycyk6CisgICAgICAgIGdsb2JhbCBsb2cKKyAgICAgICAgbG9nID0gbG9nICsgInN0YXJ0RWxlbWVudCAlcyAlczoiICUgKHRhZywgYXR0cnMpCisKKyAgICBkZWYgZW5kRWxlbWVudChzZWxmLCB0YWcpOgorICAgICAgICBnbG9iYWwgbG9nCisgICAgICAgIGxvZyA9IGxvZyArICJlbmRFbGVtZW50ICVzOiIgJSAodGFnKQorCisgICAgZGVmIGNoYXJhY3RlcnMoc2VsZiwgZGF0YSk6CisgICAgICAgIGdsb2JhbCBsb2cKKyAgICAgICAgbG9nID0gbG9nICsgImNoYXJhY3RlcnM6ICVzOiIgJSAoZGF0YSkKKworICAgIGRlZiB3YXJuaW5nKHNlbGYsIG1zZyk6CisgICAgICAgIGdsb2JhbCBsb2cKKyAgICAgICAgbG9nID0gbG9nICsgIndhcm5pbmc6ICVzOiIgJSAobXNnKQorCisgICAgZGVmIGVycm9yKHNlbGYsIG1zZyk6CisgICAgICAgIGdsb2JhbCBsb2cKKyAgICAgICAgbG9nID0gbG9nICsgImVycm9yOiAlczoiICUgKG1zZykKKworICAgIGRlZiBmYXRhbEVycm9yKHNlbGYsIG1zZyk6CisgICAgICAgIGdsb2JhbCBsb2cKKyAgICAgICAgbG9nID0gbG9nICsgImZhdGFsRXJyb3I6ICVzOiIgJSAobXNnKQorCitoYW5kbGVyID0gY2FsbGJhY2soKQorCitjdHh0ID0gbGlieG1sMi5jcmVhdGVQdXNoUGFyc2VyKGhhbmRsZXIsICI8Zm9vIiwgNCwgInRlc3QueG1sIikKK2NodW5rID0gIiB1cmw9J3RzdCc+YiIKK2N0eHQucGFyc2VDaHVuayhjaHVuaywgbGVuKGNodW5rKSwgMCkKK2NodW5rID0gImFyPC9mb28+IgorY3R4dC5wYXJzZUNodW5rKGNodW5rLCBsZW4oY2h1bmspLCAxKQorY3R4dD1Ob25lCisKK3JlZmVyZW5jZSA9ICJzdGFydERvY3VtZW50OnN0YXJ0RWxlbWVudCBmb28geyd1cmwnOiAndHN0J306Y2hhcmFjdGVyczogYmFyOmVuZEVsZW1lbnQgZm9vOmVuZERvY3VtZW50OiIKK2lmIGxvZyAhPSByZWZlcmVuY2U6CisgICAgcHJpbnQoIkVycm9yIGdvdDogJXMiICUgbG9nKQorICAgIHByaW50KCJFeHByZWN0ZWQ6ICVzIiAlIHJlZmVyZW5jZSkKKyAgICBzeXMuZXhpdCgxKQorCisjIE1lbW9yeSBkZWJ1ZyBzcGVjaWZpYworbGlieG1sMi5jbGVhbnVwUGFyc2VyKCkKK2lmIGxpYnhtbDIuZGVidWdNZW1vcnkoMSkgPT0gMDoKKyAgICBwcmludCgiT0siKQorZWxzZToKKyAgICBwcmludCgiTWVtb3J5IGxlYWsgJWQgYnl0ZXMiICUgKGxpYnhtbDIuZGVidWdNZW1vcnkoMSkpKQorICAgIGxpYnhtbDIuZHVtcE1lbW9yeSgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3B5dGhvbi90ZXN0cy9wdXNoU0FYaHRtbC5weSBiL2xpYnhtbDIvcHl0aG9uL3Rlc3RzL3B1c2hTQVhodG1sLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjE1OWQzMDgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3B5dGhvbi90ZXN0cy9wdXNoU0FYaHRtbC5weQpAQCAtMCwwICsxLDY1IEBACisjIS91c3IvYmluL3B5dGhvbiAtdQoraW1wb3J0IHN5cworaW1wb3J0IGxpYnhtbDIKKworIyBNZW1vcnkgZGVidWcgc3BlY2lmaWMKK2xpYnhtbDIuZGVidWdNZW1vcnkoMSkKKworbG9nID0gIiIKKworY2xhc3MgY2FsbGJhY2s6CisgICAgZGVmIHN0YXJ0RG9jdW1lbnQoc2VsZik6CisgICAgICAgIGdsb2JhbCBsb2cKKyAgICAgICAgbG9nID0gbG9nICsgInN0YXJ0RG9jdW1lbnQ6IgorCisgICAgZGVmIGVuZERvY3VtZW50KHNlbGYpOgorICAgICAgICBnbG9iYWwgbG9nCisgICAgICAgIGxvZyA9IGxvZyArICJlbmREb2N1bWVudDoiCisKKyAgICBkZWYgc3RhcnRFbGVtZW50KHNlbGYsIHRhZywgYXR0cnMpOgorICAgICAgICBnbG9iYWwgbG9nCisgICAgICAgIGxvZyA9IGxvZyArICJzdGFydEVsZW1lbnQgJXMgJXM6IiAlICh0YWcsIGF0dHJzKQorCisgICAgZGVmIGVuZEVsZW1lbnQoc2VsZiwgdGFnKToKKyAgICAgICAgZ2xvYmFsIGxvZworICAgICAgICBsb2cgPSBsb2cgKyAiZW5kRWxlbWVudCAlczoiICUgKHRhZykKKworICAgIGRlZiBjaGFyYWN0ZXJzKHNlbGYsIGRhdGEpOgorICAgICAgICBnbG9iYWwgbG9nCisgICAgICAgIGxvZyA9IGxvZyArICJjaGFyYWN0ZXJzOiAlczoiICUgKGRhdGEpCisKKyAgICBkZWYgd2FybmluZyhzZWxmLCBtc2cpOgorICAgICAgICBnbG9iYWwgbG9nCisgICAgICAgIGxvZyA9IGxvZyArICJ3YXJuaW5nOiAlczoiICUgKG1zZykKKworICAgIGRlZiBlcnJvcihzZWxmLCBtc2cpOgorICAgICAgICBnbG9iYWwgbG9nCisgICAgICAgIGxvZyA9IGxvZyArICJlcnJvcjogJXM6IiAlIChtc2cpCisKKyAgICBkZWYgZmF0YWxFcnJvcihzZWxmLCBtc2cpOgorICAgICAgICBnbG9iYWwgbG9nCisgICAgICAgIGxvZyA9IGxvZyArICJmYXRhbEVycm9yOiAlczoiICUgKG1zZykKKworaGFuZGxlciA9IGNhbGxiYWNrKCkKKworY3R4dCA9IGxpYnhtbDIuaHRtbENyZWF0ZVB1c2hQYXJzZXIoaGFuZGxlciwgIjxmb28iLCA0LCAidGVzdC54bWwiKQorY2h1bmsgPSAiIHVybD0ndHN0Jz5iIgorY3R4dC5odG1sUGFyc2VDaHVuayhjaHVuaywgbGVuKGNodW5rKSwgMCkKK2NodW5rID0gImFyPC9mb28+IgorY3R4dC5odG1sUGFyc2VDaHVuayhjaHVuaywgbGVuKGNodW5rKSwgMSkKK2N0eHQ9Tm9uZQorCityZWZlcmVuY2UgPSAiIiJzdGFydERvY3VtZW50OnN0YXJ0RWxlbWVudCBodG1sIE5vbmU6c3RhcnRFbGVtZW50IGJvZHkgTm9uZTpzdGFydEVsZW1lbnQgZm9vIHsndXJsJzogJ3RzdCd9OmVycm9yOiBUYWcgZm9vIGludmFsaWQKKzpjaGFyYWN0ZXJzOiBiYXI6ZW5kRWxlbWVudCBmb286ZW5kRWxlbWVudCBib2R5OmVuZEVsZW1lbnQgaHRtbDplbmREb2N1bWVudDoiIiIKK2lmIGxvZyAhPSByZWZlcmVuY2U6CisgICAgcHJpbnQoIkVycm9yIGdvdDogJXMiICUgbG9nKQorICAgIHByaW50KCJFeHByZWN0ZWQ6ICVzIiAlIHJlZmVyZW5jZSkKKyAgICBzeXMuZXhpdCgxKQorCisjIE1lbW9yeSBkZWJ1ZyBzcGVjaWZpYworbGlieG1sMi5jbGVhbnVwUGFyc2VyKCkKK2lmIGxpYnhtbDIuZGVidWdNZW1vcnkoMSkgPT0gMDoKKyAgICBwcmludCgiT0siKQorZWxzZToKKyAgICBwcmludCgiTWVtb3J5IGxlYWsgJWQgYnl0ZXMiICUgKGxpYnhtbDIuZGVidWdNZW1vcnkoMSkpKQorICAgIGxpYnhtbDIuZHVtcE1lbW9yeSgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3B5dGhvbi90ZXN0cy9yZWFkZXIucHkgYi9saWJ4bWwyL3B5dGhvbi90ZXN0cy9yZWFkZXIucHkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMTczY2U2NgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcHl0aG9uL3Rlc3RzL3JlYWRlci5weQpAQCAtMCwwICsxLDQ0NiBAQAorIyEvdXNyL2Jpbi9weXRob24gLXUKKyMgLSotIGNvZGluZzogSVNPLTg4NTktMSAtKi0KKyMKKyMgdGhpcyB0ZXN0cyB0aGUgYmFzaWMgQVBJcyBvZiB0aGUgWG1sVGV4dFJlYWRlciBpbnRlcmZhY2UKKyMKK2ltcG9ydCBsaWJ4bWwyCitpbXBvcnQgc3lzCit0cnk6CisgICAgaW1wb3J0IFN0cmluZ0lPCisgICAgc3RyX2lvID0gU3RyaW5nSU8uU3RyaW5nSU8KK2V4Y2VwdDoKKyAgICBpbXBvcnQgaW8KKyAgICBzdHJfaW8gPSBpby5TdHJpbmdJTworCisjIE1lbW9yeSBkZWJ1ZyBzcGVjaWZpYworbGlieG1sMi5kZWJ1Z01lbW9yeSgxKQorCitmID0gc3RyX2lvKCIiIjxhPjxiIGIxPSJiMSIvPjxjPmNvbnRlbnQgb2YgYzwvYz48L2E+IiIiKQoraW5wdXQgPSBsaWJ4bWwyLmlucHV0QnVmZmVyKGYpCityZWFkZXIgPSBpbnB1dC5uZXdUZXh0UmVhZGVyKCJ0ZXN0MSIpCityZXQgPSByZWFkZXIuUmVhZCgpCitpZiByZXQgIT0gMToKKyAgICBwcmludCgidGVzdDE6IEVycm9yIHJlYWRpbmcgdG8gZmlyc3QgZWxlbWVudCIpCisgICAgc3lzLmV4aXQoMSkKK2lmIHJlYWRlci5OYW1lKCkgIT0gImEiIG9yIHJlYWRlci5Jc0VtcHR5RWxlbWVudCgpICE9IDAgb3IgXAorICAgcmVhZGVyLk5vZGVUeXBlKCkgIT0gMSBvciByZWFkZXIuSGFzQXR0cmlidXRlcygpICE9IDA6CisgICAgcHJpbnQoInRlc3QxOiBFcnJvciByZWFkaW5nIHRoZSBmaXJzdCBlbGVtZW50IikKKyAgICBzeXMuZXhpdCgxKQorcmV0ID0gcmVhZGVyLlJlYWQoKQoraWYgcmV0ICE9IDE6CisgICAgcHJpbnQoInRlc3QxOiBFcnJvciByZWFkaW5nIHRvIHNlY29uZCBlbGVtZW50IikKKyAgICBzeXMuZXhpdCgxKQoraWYgcmVhZGVyLk5hbWUoKSAhPSAiYiIgb3IgcmVhZGVyLklzRW1wdHlFbGVtZW50KCkgIT0gMSBvciBcCisgICByZWFkZXIuTm9kZVR5cGUoKSAhPSAxIG9yIHJlYWRlci5IYXNBdHRyaWJ1dGVzKCkgIT0gMToKKyAgICBwcmludCgidGVzdDE6IEVycm9yIHJlYWRpbmcgdGhlIHNlY29uZCBlbGVtZW50IikKKyAgICBzeXMuZXhpdCgxKQorcmV0ID0gcmVhZGVyLlJlYWQoKQoraWYgcmV0ICE9IDE6CisgICAgcHJpbnQoInRlc3QxOiBFcnJvciByZWFkaW5nIHRvIHRoaXJkIGVsZW1lbnQiKQorICAgIHN5cy5leGl0KDEpCitpZiByZWFkZXIuTmFtZSgpICE9ICJjIiBvciByZWFkZXIuSXNFbXB0eUVsZW1lbnQoKSAhPSAwIG9yIFwKKyAgIHJlYWRlci5Ob2RlVHlwZSgpICE9IDEgb3IgcmVhZGVyLkhhc0F0dHJpYnV0ZXMoKSAhPSAwOgorICAgIHByaW50KCJ0ZXN0MTogRXJyb3IgcmVhZGluZyB0aGUgdGhpcmQgZWxlbWVudCIpCisgICAgc3lzLmV4aXQoMSkKK3JldCA9IHJlYWRlci5SZWFkKCkKK2lmIHJldCAhPSAxOgorICAgIHByaW50KCJ0ZXN0MTogRXJyb3IgcmVhZGluZyB0byB0ZXh0IG5vZGUiKQorICAgIHN5cy5leGl0KDEpCitpZiByZWFkZXIuTmFtZSgpICE9ICIjdGV4dCIgb3IgcmVhZGVyLklzRW1wdHlFbGVtZW50KCkgIT0gMCBvciBcCisgICByZWFkZXIuTm9kZVR5cGUoKSAhPSAzIG9yIHJlYWRlci5IYXNBdHRyaWJ1dGVzKCkgIT0gMCBvciBcCisgICByZWFkZXIuVmFsdWUoKSAhPSAiY29udGVudCBvZiBjIjoKKyAgICBwcmludCgidGVzdDE6IEVycm9yIHJlYWRpbmcgdGhlIHRleHQgbm9kZSIpCisgICAgc3lzLmV4aXQoMSkKK3JldCA9IHJlYWRlci5SZWFkKCkKK2lmIHJldCAhPSAxOgorICAgIHByaW50KCJ0ZXN0MTogRXJyb3IgcmVhZGluZyB0byBlbmQgb2YgdGhpcmQgZWxlbWVudCIpCisgICAgc3lzLmV4aXQoMSkKK2lmIHJlYWRlci5OYW1lKCkgIT0gImMiIG9yIHJlYWRlci5Jc0VtcHR5RWxlbWVudCgpICE9IDAgb3IgXAorICAgcmVhZGVyLk5vZGVUeXBlKCkgIT0gMTUgb3IgcmVhZGVyLkhhc0F0dHJpYnV0ZXMoKSAhPSAwOgorICAgIHByaW50KCJ0ZXN0MTogRXJyb3IgcmVhZGluZyB0aGUgZW5kIG9mIHRoaXJkIGVsZW1lbnQiKQorICAgIHN5cy5leGl0KDEpCityZXQgPSByZWFkZXIuUmVhZCgpCitpZiByZXQgIT0gMToKKyAgICBwcmludCgidGVzdDE6IEVycm9yIHJlYWRpbmcgdG8gZW5kIG9mIGZpcnN0IGVsZW1lbnQiKQorICAgIHN5cy5leGl0KDEpCitpZiByZWFkZXIuTmFtZSgpICE9ICJhIiBvciByZWFkZXIuSXNFbXB0eUVsZW1lbnQoKSAhPSAwIG9yIFwKKyAgIHJlYWRlci5Ob2RlVHlwZSgpICE9IDE1IG9yIHJlYWRlci5IYXNBdHRyaWJ1dGVzKCkgIT0gMDoKKyAgICBwcmludCgidGVzdDE6IEVycm9yIHJlYWRpbmcgdGhlIGVuZCBvZiBmaXJzdCBlbGVtZW50IikKKyAgICBzeXMuZXhpdCgxKQorcmV0ID0gcmVhZGVyLlJlYWQoKQoraWYgcmV0ICE9IDA6CisgICAgcHJpbnQoInRlc3QxOiBFcnJvciByZWFkaW5nIHRvIGVuZCBvZiBkb2N1bWVudCIpCisgICAgc3lzLmV4aXQoMSkKKworIworIyBleGFtcGxlIGZyb20gdGhlIFhtbFRleHRSZWFkZXIgZG9jcworIworZiA9IHN0cl9pbygiIiI8dGVzdCB4bWxuczpkdD0idXJuOmRhdGF0eXBlcyIgZHQ6dHlwZT0iaW50Ii8+IiIiKQoraW5wdXQgPSBsaWJ4bWwyLmlucHV0QnVmZmVyKGYpCityZWFkZXIgPSBpbnB1dC5uZXdUZXh0UmVhZGVyKCJ0ZXN0MiIpCisKK3JldCA9IHJlYWRlci5SZWFkKCkKK2lmIHJldCAhPSAxOgorICAgIHByaW50KCJFcnJvciByZWFkaW5nIHRlc3QgZWxlbWVudCIpCisgICAgc3lzLmV4aXQoMSkKK2lmIHJlYWRlci5HZXRBdHRyaWJ1dGVObygwKSAhPSAidXJuOmRhdGF0eXBlcyIgb3IgXAorICAgcmVhZGVyLkdldEF0dHJpYnV0ZU5vKDEpICE9ICJpbnQiIG9yIFwKKyAgIHJlYWRlci5HZXRBdHRyaWJ1dGVOcygidHlwZSIsICJ1cm46ZGF0YXR5cGVzIikgIT0gImludCIgb3IgXAorICAgcmVhZGVyLkdldEF0dHJpYnV0ZSgiZHQ6dHlwZSIpICE9ICJpbnQiOgorICAgIHByaW50KCJlcnJvciByZWFkaW5nIHRlc3QgYXR0cmlidXRlcyIpCisgICAgc3lzLmV4aXQoMSkKKworIworIyBleGFtcGxlIGZyb20gdGhlIFhtbFRleHRSZWFkZXIgZG9jcworIworZiA9IHN0cl9pbygiIiI8cm9vdCB4bWxuczphPSJ1cm46NDU2Ij4KKzxpdGVtPgorPHJlZiBocmVmPSJhOmIiLz4KKzwvaXRlbT4KKzwvcm9vdD4iIiIpCitpbnB1dCA9IGxpYnhtbDIuaW5wdXRCdWZmZXIoZikKK3JlYWRlciA9IGlucHV0Lm5ld1RleHRSZWFkZXIoInRlc3QzIikKKworcmV0ID0gcmVhZGVyLlJlYWQoKQord2hpbGUgcmV0ID09IDE6CisgICAgaWYgcmVhZGVyLk5hbWUoKSA9PSAicmVmIjoKKyAgICAgICAgaWYgcmVhZGVyLkxvb2t1cE5hbWVzcGFjZSgiYSIpICE9ICJ1cm46NDU2IjoKKyAgICAgICAgICAgIHByaW50KCJlcnJvciByZXNvbHZpbmcgbmFtZXNwYWNlIHByZWZpeCIpCisgICAgICAgICAgICBzeXMuZXhpdCgxKQorICAgICAgICBicmVhaworICAgIHJldCA9IHJlYWRlci5SZWFkKCkKK2lmIHJldCAhPSAxOgorICAgIHByaW50KCJFcnJvciBmaW5kaW5nIHRoZSByZWYgZWxlbWVudCIpCisgICAgc3lzLmV4aXQoMSkKKworIworIyBIb21lIG1hZGUgZXhhbXBsZSBmb3IgdGhlIHZhcmlvdXMgYXR0cmlidXRlIGFjY2VzcyBmdW5jdGlvbnMKKyMKK2YgPSBzdHJfaW8oIiIiPHRlc3RhdHRyIHhtbG5zPSJ1cm46MSIgeG1sbnM6YT0idXJuOjIiIGI9ImIiIGE6Yj0iYTpiIi8+IiIiKQoraW5wdXQgPSBsaWJ4bWwyLmlucHV0QnVmZmVyKGYpCityZWFkZXIgPSBpbnB1dC5uZXdUZXh0UmVhZGVyKCJ0ZXN0NCIpCityZXQgPSByZWFkZXIuUmVhZCgpCitpZiByZXQgIT0gMToKKyAgICBwcmludCgiRXJyb3IgcmVhZGluZyB0aGUgdGVzdGF0dHIgZWxlbWVudCIpCisgICAgc3lzLmV4aXQoMSkKKyMKKyMgQXR0cmlidXRlIGV4cGxvcmF0aW9uIGJ5IGluZGV4CisjCitpZiByZWFkZXIuTW92ZVRvQXR0cmlidXRlTm8oMCkgIT0gMToKKyAgICBwcmludCgiRmFpbGVkIG1vdmVUb0F0dHJpYnV0ZSgwKSIpCisgICAgc3lzLmV4aXQoMSkKK2lmIHJlYWRlci5WYWx1ZSgpICE9ICJ1cm46MSI6CisgICAgcHJpbnQoIkZhaWxlZCB0byByZWFkIGF0dHJpYnV0ZSgwKSIpCisgICAgc3lzLmV4aXQoMSkKK2lmIHJlYWRlci5OYW1lKCkgIT0gInhtbG5zIjoKKyAgICBwcmludCgiRmFpbGVkIHRvIHJlYWQgYXR0cmlidXRlKDApIG5hbWUiKQorICAgIHN5cy5leGl0KDEpCitpZiByZWFkZXIuTW92ZVRvQXR0cmlidXRlTm8oMSkgIT0gMToKKyAgICBwcmludCgiRmFpbGVkIG1vdmVUb0F0dHJpYnV0ZSgxKSIpCisgICAgc3lzLmV4aXQoMSkKK2lmIHJlYWRlci5WYWx1ZSgpICE9ICJ1cm46MiI6CisgICAgcHJpbnQoIkZhaWxlZCB0byByZWFkIGF0dHJpYnV0ZSgxKSIpCisgICAgc3lzLmV4aXQoMSkKK2lmIHJlYWRlci5OYW1lKCkgIT0gInhtbG5zOmEiOgorICAgIHByaW50KCJGYWlsZWQgdG8gcmVhZCBhdHRyaWJ1dGUoMSkgbmFtZSIpCisgICAgc3lzLmV4aXQoMSkKK2lmIHJlYWRlci5Nb3ZlVG9BdHRyaWJ1dGVObygyKSAhPSAxOgorICAgIHByaW50KCJGYWlsZWQgbW92ZVRvQXR0cmlidXRlKDIpIikKKyAgICBzeXMuZXhpdCgxKQoraWYgcmVhZGVyLlZhbHVlKCkgIT0gImIiOgorICAgIHByaW50KCJGYWlsZWQgdG8gcmVhZCBhdHRyaWJ1dGUoMikiKQorICAgIHN5cy5leGl0KDEpCitpZiByZWFkZXIuTmFtZSgpICE9ICJiIjoKKyAgICBwcmludCgiRmFpbGVkIHRvIHJlYWQgYXR0cmlidXRlKDIpIG5hbWUiKQorICAgIHN5cy5leGl0KDEpCitpZiByZWFkZXIuTW92ZVRvQXR0cmlidXRlTm8oMykgIT0gMToKKyAgICBwcmludCgiRmFpbGVkIG1vdmVUb0F0dHJpYnV0ZSgzKSIpCisgICAgc3lzLmV4aXQoMSkKK2lmIHJlYWRlci5WYWx1ZSgpICE9ICJhOmIiOgorICAgIHByaW50KCJGYWlsZWQgdG8gcmVhZCBhdHRyaWJ1dGUoMykiKQorICAgIHN5cy5leGl0KDEpCitpZiByZWFkZXIuTmFtZSgpICE9ICJhOmIiOgorICAgIHByaW50KCJGYWlsZWQgdG8gcmVhZCBhdHRyaWJ1dGUoMykgbmFtZSIpCisgICAgc3lzLmV4aXQoMSkKKyMKKyMgQXR0cmlidXRlIGV4cGxvcmF0aW9uIGJ5IG5hbWUKKyMKK2lmIHJlYWRlci5Nb3ZlVG9BdHRyaWJ1dGUoInhtbG5zIikgIT0gMToKKyAgICBwcmludCgiRmFpbGVkIG1vdmVUb0F0dHJpYnV0ZSgneG1sbnMnKSIpCisgICAgc3lzLmV4aXQoMSkKK2lmIHJlYWRlci5WYWx1ZSgpICE9ICJ1cm46MSI6CisgICAgcHJpbnQoIkZhaWxlZCB0byByZWFkIGF0dHJpYnV0ZSgneG1sbnMnKSIpCisgICAgc3lzLmV4aXQoMSkKK2lmIHJlYWRlci5Nb3ZlVG9BdHRyaWJ1dGUoInhtbG5zOmEiKSAhPSAxOgorICAgIHByaW50KCJGYWlsZWQgbW92ZVRvQXR0cmlidXRlKCd4bWxucycpIikKKyAgICBzeXMuZXhpdCgxKQoraWYgcmVhZGVyLlZhbHVlKCkgIT0gInVybjoyIjoKKyAgICBwcmludCgiRmFpbGVkIHRvIHJlYWQgYXR0cmlidXRlKCd4bWxuczphJykiKQorICAgIHN5cy5leGl0KDEpCitpZiByZWFkZXIuTW92ZVRvQXR0cmlidXRlKCJiIikgIT0gMToKKyAgICBwcmludCgiRmFpbGVkIG1vdmVUb0F0dHJpYnV0ZSgnYicpIikKKyAgICBzeXMuZXhpdCgxKQoraWYgcmVhZGVyLlZhbHVlKCkgIT0gImIiOgorICAgIHByaW50KCJGYWlsZWQgdG8gcmVhZCBhdHRyaWJ1dGUoJ2InKSIpCisgICAgc3lzLmV4aXQoMSkKK2lmIHJlYWRlci5Nb3ZlVG9BdHRyaWJ1dGUoImE6YiIpICE9IDE6CisgICAgcHJpbnQoIkZhaWxlZCBtb3ZlVG9BdHRyaWJ1dGUoJ2E6YicpIikKKyAgICBzeXMuZXhpdCgxKQoraWYgcmVhZGVyLlZhbHVlKCkgIT0gImE6YiI6CisgICAgcHJpbnQoIkZhaWxlZCB0byByZWFkIGF0dHJpYnV0ZSgnYTpiJykiKQorICAgIHN5cy5leGl0KDEpCitpZiByZWFkZXIuTW92ZVRvQXR0cmlidXRlTnMoImIiLCAidXJuOjIiKSAhPSAxOgorICAgIHByaW50KCJGYWlsZWQgbW92ZVRvQXR0cmlidXRlKCdiJywgJ3VybjoyJykiKQorICAgIHN5cy5leGl0KDEpCitpZiByZWFkZXIuVmFsdWUoKSAhPSAiYTpiIjoKKyAgICBwcmludCgiRmFpbGVkIHRvIHJlYWQgYXR0cmlidXRlKCdiJywgJ3VybjoyJykiKQorICAgIHN5cy5leGl0KDEpCisjCisjIEdvIGJhY2sgYW5kIHJlYWQgaW4gc2VxdWVuY2UKKyMKK2lmIHJlYWRlci5Nb3ZlVG9FbGVtZW50KCkgIT0gMToKKyAgICBwcmludCgiRmFpbGVkIHRvIG1vdmUgYmFjayB0byBlbGVtZW50IikKKyAgICBzeXMuZXhpdCgxKQoraWYgcmVhZGVyLk1vdmVUb0ZpcnN0QXR0cmlidXRlKCkgIT0gMToKKyAgICBwcmludCgiRmFpbGVkIHRvIG1vdmUgdG8gZmlyc3QgYXR0cmlidXRlIikKKyAgICBzeXMuZXhpdCgxKQoraWYgcmVhZGVyLlZhbHVlKCkgIT0gInVybjoxIjoKKyAgICBwcmludCgiRmFpbGVkIHRvIHJlYWQgYXR0cmlidXRlKDApIikKKyAgICBzeXMuZXhpdCgxKQoraWYgcmVhZGVyLk5hbWUoKSAhPSAieG1sbnMiOgorICAgIHByaW50KCJGYWlsZWQgdG8gcmVhZCBhdHRyaWJ1dGUoMCkgbmFtZSIpCisgICAgc3lzLmV4aXQoMSkKK2lmIHJlYWRlci5Nb3ZlVG9OZXh0QXR0cmlidXRlKCkgIT0gMToKKyAgICBwcmludCgiRmFpbGVkIHRvIG1vdmUgdG8gbmV4dCBhdHRyaWJ1dGUiKQorICAgIHN5cy5leGl0KDEpCitpZiByZWFkZXIuVmFsdWUoKSAhPSAidXJuOjIiOgorICAgIHByaW50KCJGYWlsZWQgdG8gcmVhZCBhdHRyaWJ1dGUoMSkiKQorICAgIHN5cy5leGl0KDEpCitpZiByZWFkZXIuTmFtZSgpICE9ICJ4bWxuczphIjoKKyAgICBwcmludCgiRmFpbGVkIHRvIHJlYWQgYXR0cmlidXRlKDEpIG5hbWUiKQorICAgIHN5cy5leGl0KDEpCitpZiByZWFkZXIuTW92ZVRvTmV4dEF0dHJpYnV0ZSgpICE9IDE6CisgICAgcHJpbnQoIkZhaWxlZCB0byBtb3ZlIHRvIG5leHQgYXR0cmlidXRlIikKKyAgICBzeXMuZXhpdCgxKQoraWYgcmVhZGVyLlZhbHVlKCkgIT0gImIiOgorICAgIHByaW50KCJGYWlsZWQgdG8gcmVhZCBhdHRyaWJ1dGUoMikiKQorICAgIHN5cy5leGl0KDEpCitpZiByZWFkZXIuTmFtZSgpICE9ICJiIjoKKyAgICBwcmludCgiRmFpbGVkIHRvIHJlYWQgYXR0cmlidXRlKDIpIG5hbWUiKQorICAgIHN5cy5leGl0KDEpCitpZiByZWFkZXIuTW92ZVRvTmV4dEF0dHJpYnV0ZSgpICE9IDE6CisgICAgcHJpbnQoIkZhaWxlZCB0byBtb3ZlIHRvIG5leHQgYXR0cmlidXRlIikKKyAgICBzeXMuZXhpdCgxKQoraWYgcmVhZGVyLlZhbHVlKCkgIT0gImE6YiI6CisgICAgcHJpbnQoIkZhaWxlZCB0byByZWFkIGF0dHJpYnV0ZSgzKSIpCisgICAgc3lzLmV4aXQoMSkKK2lmIHJlYWRlci5OYW1lKCkgIT0gImE6YiI6CisgICAgcHJpbnQoIkZhaWxlZCB0byByZWFkIGF0dHJpYnV0ZSgzKSBuYW1lIikKKyAgICBzeXMuZXhpdCgxKQoraWYgcmVhZGVyLk1vdmVUb05leHRBdHRyaWJ1dGUoKSAhPSAwOgorICAgIHByaW50KCJGYWlsZWQgdG8gZGV0ZWN0IGxhc3QgYXR0cmlidXRlIikKKyAgICBzeXMuZXhpdCgxKQorCisgICAgCisjCisjIGEgY291cGxlIG9mIHRlc3RzIGZvciBuYW1lc3BhY2Ugbm9kZXMKKyMKK2YgPSBzdHJfaW8oIiIiPGEgeG1sbnM9Imh0dHA6Ly9leGFtcGxlLmNvbS9mb28iLz4iIiIpCitpbnB1dCA9IGxpYnhtbDIuaW5wdXRCdWZmZXIoZikKK3JlYWRlciA9IGlucHV0Lm5ld1RleHRSZWFkZXIoInRlc3Q2IikKK3JldCA9IHJlYWRlci5SZWFkKCkKK2lmIHJldCAhPSAxOgorICAgIHByaW50KCJ0ZXN0NjogZmFpbGVkIHRvIFJlYWQoKSIpCisgICAgc3lzLmV4aXQoMSkKK3JldCA9IHJlYWRlci5Nb3ZlVG9GaXJzdEF0dHJpYnV0ZSgpCitpZiByZXQgIT0gMToKKyAgICBwcmludCgidGVzdDY6IGZhaWxlZCB0byBNb3ZlVG9GaXJzdEF0dHJpYnV0ZSgpIikKKyAgICBzeXMuZXhpdCgxKQoraWYgcmVhZGVyLk5hbWVzcGFjZVVyaSgpICE9ICJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3htbG5zLyIgb3IgXAorICAgcmVhZGVyLkxvY2FsTmFtZSgpICE9ICJ4bWxucyIgb3IgcmVhZGVyLk5hbWUoKSAhPSAieG1sbnMiIG9yIFwKKyAgIHJlYWRlci5WYWx1ZSgpICE9ICJodHRwOi8vZXhhbXBsZS5jb20vZm9vIiBvciByZWFkZXIuTm9kZVR5cGUoKSAhPSAyOgorICAgIHByaW50KCJ0ZXN0NjogZmFpbGVkIHRvIHJlYWQgdGhlIG5hbWVzcGFjZSBub2RlIikKKyAgICBzeXMuZXhpdCgxKQorCitmID0gc3RyX2lvKCIiIjxhIHhtbG5zOnByZWZpeD0iaHR0cDovL2V4YW1wbGUuY29tL2ZvbyIvPiIiIikKK2lucHV0ID0gbGlieG1sMi5pbnB1dEJ1ZmZlcihmKQorcmVhZGVyID0gaW5wdXQubmV3VGV4dFJlYWRlcigidGVzdDciKQorcmV0ID0gcmVhZGVyLlJlYWQoKQoraWYgcmV0ICE9IDE6CisgICAgcHJpbnQoInRlc3Q3OiBmYWlsZWQgdG8gUmVhZCgpIikKKyAgICBzeXMuZXhpdCgxKQorcmV0ID0gcmVhZGVyLk1vdmVUb0ZpcnN0QXR0cmlidXRlKCkKK2lmIHJldCAhPSAxOgorICAgIHByaW50KCJ0ZXN0NzogZmFpbGVkIHRvIE1vdmVUb0ZpcnN0QXR0cmlidXRlKCkiKQorICAgIHN5cy5leGl0KDEpCitpZiByZWFkZXIuTmFtZXNwYWNlVXJpKCkgIT0gImh0dHA6Ly93d3cudzMub3JnLzIwMDAveG1sbnMvIiBvciBcCisgICByZWFkZXIuTG9jYWxOYW1lKCkgIT0gInByZWZpeCIgb3IgcmVhZGVyLk5hbWUoKSAhPSAieG1sbnM6cHJlZml4IiBvciBcCisgICByZWFkZXIuVmFsdWUoKSAhPSAiaHR0cDovL2V4YW1wbGUuY29tL2ZvbyIgb3IgcmVhZGVyLk5vZGVUeXBlKCkgIT0gMjoKKyAgICBwcmludCgidGVzdDc6IGZhaWxlZCB0byByZWFkIHRoZSBuYW1lc3BhY2Ugbm9kZSIpCisgICAgc3lzLmV4aXQoMSkKKworIworIyBUZXN0IGZvciBhIGxpbWl0IGNhc2U6CisjCitmID0gc3RyX2lvKCIiIjxhLz4iIiIpCitpbnB1dCA9IGxpYnhtbDIuaW5wdXRCdWZmZXIoZikKK3JlYWRlciA9IGlucHV0Lm5ld1RleHRSZWFkZXIoInRlc3Q4IikKK3JldCA9IHJlYWRlci5SZWFkKCkKK2lmIHJldCAhPSAxOgorICAgIHByaW50KCJ0ZXN0ODogZmFpbGVkIHRvIHJlYWQgdGhlIG5vZGUiKQorICAgIHN5cy5leGl0KDEpCitpZiByZWFkZXIuTmFtZSgpICE9ICJhIiBvciByZWFkZXIuSXNFbXB0eUVsZW1lbnQoKSAhPSAxOgorICAgIHByaW50KCJ0ZXN0ODogZmFpbGVkIHRvIGFuYWx5emUgdGhlIG5vZGUiKQorICAgIHN5cy5leGl0KDEpCityZXQgPSByZWFkZXIuUmVhZCgpCitpZiByZXQgIT0gMDoKKyAgICBwcmludCgidGVzdDg6IGZhaWxlZCB0byBkZXRlY3QgdGhlIEVPRiIpCisgICAgc3lzLmV4aXQoMSkKKworIworIyBBbm90aGVyIHRlc3QgcHJvdmlkZWQgYnkgU3TpcGhhbmUgQmlkb3VsIGFuZCBjaGVja2VkIHdpdGggQyMKKyMKK2RlZiB0c3RfcmVhZGVyKHMpOgorICAgIGYgPSBzdHJfaW8ocykKKyAgICBpbnB1dCA9IGxpYnhtbDIuaW5wdXRCdWZmZXIoZikKKyAgICByZWFkZXIgPSBpbnB1dC5uZXdUZXh0UmVhZGVyKCJ0c3QiKQorICAgIHJlcyA9ICIiCisgICAgd2hpbGUgcmVhZGVyLlJlYWQoKToKKyAgICAgICAgcmVzPXJlcyArICIlcyAoJXMpIFslc10gJWQgJWRcbiIgJSAocmVhZGVyLk5vZGVUeXBlKCkscmVhZGVyLk5hbWUoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZGVyLlZhbHVlKCksIHJlYWRlci5Jc0VtcHR5RWxlbWVudCgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkZXIuRGVwdGgoKSkKKyAgICAgICAgaWYgcmVhZGVyLk5vZGVUeXBlKCkgPT0gMTogIyBFbGVtZW50CisgICAgICAgICAgICB3aGlsZSByZWFkZXIuTW92ZVRvTmV4dEF0dHJpYnV0ZSgpOgorICAgICAgICAgICAgICAgIHJlcyA9IHJlcyArICItLSAlcyAoJXMpIFslc10gJWQgJWRcbiIgJSAocmVhZGVyLk5vZGVUeXBlKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkZXIuTmFtZSgpLHJlYWRlci5WYWx1ZSgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZGVyLklzRW1wdHlFbGVtZW50KCksIHJlYWRlci5EZXB0aCgpKQorICAgIHJldHVybiByZXMKKyAgICAKK2RvYz0iIiI8YT48YiBiMT0iYjEiLz48Yz5jb250ZW50IG9mIGM8L2M+PC9hPiIiIgorZXhwZWN0PSIiIjEgKGEpIFtOb25lXSAwIDAKKzEgKGIpIFtOb25lXSAxIDEKKy0tIDIgKGIxKSBbYjFdIDAgMgorMSAoYykgW05vbmVdIDAgMQorMyAoI3RleHQpIFtjb250ZW50IG9mIGNdIDAgMgorMTUgKGMpIFtOb25lXSAwIDEKKzE1IChhKSBbTm9uZV0gMCAwCisiIiIKK3JlcyA9IHRzdF9yZWFkZXIoZG9jKQoraWYgcmVzICE9IGV4cGVjdDoKKyAgICBwcmludCgidGVzdDUgZmFpbGVkIikKKyAgICBwcmludChyZXMpCisgICAgc3lzLmV4aXQoMSkKKworZG9jPSIiIjx0ZXN0PjxiLz48Yy8+PC90ZXN0PiIiIgorZXhwZWN0PSIiIjEgKHRlc3QpIFtOb25lXSAwIDAKKzEgKGIpIFtOb25lXSAxIDEKKzEgKGMpIFtOb25lXSAxIDEKKzE1ICh0ZXN0KSBbTm9uZV0gMCAwCisiIiIKK3JlcyA9IHRzdF9yZWFkZXIoZG9jKQoraWYgcmVzICE9IGV4cGVjdDoKKyAgICBwcmludCgidGVzdDkgZmFpbGVkIikKKyAgICBwcmludChyZXMpCisgICAgc3lzLmV4aXQoMSkKKworZG9jPSIiIjxhPjxiPmJiYjwvYj48Yz5jY2M8L2M+PC9hPiIiIgorZXhwZWN0PSIiIjEgKGEpIFtOb25lXSAwIDAKKzEgKGIpIFtOb25lXSAwIDEKKzMgKCN0ZXh0KSBbYmJiXSAwIDIKKzE1IChiKSBbTm9uZV0gMCAxCisxIChjKSBbTm9uZV0gMCAxCiszICgjdGV4dCkgW2NjY10gMCAyCisxNSAoYykgW05vbmVdIDAgMQorMTUgKGEpIFtOb25lXSAwIDAKKyIiIgorcmVzID0gdHN0X3JlYWRlcihkb2MpCitpZiByZXMgIT0gZXhwZWN0OgorICAgIHByaW50KCJ0ZXN0MTAgZmFpbGVkIikKKyAgICBwcmludChyZXMpCisgICAgc3lzLmV4aXQoMSkKKworZG9jPSIiIjx0ZXN0IGE9ImEiLz4iIiIKK2V4cGVjdD0iIiIxICh0ZXN0KSBbTm9uZV0gMSAwCistLSAyIChhKSBbYV0gMCAxCisiIiIKK3JlcyA9IHRzdF9yZWFkZXIoZG9jKQoraWYgcmVzICE9IGV4cGVjdDoKKyAgICBwcmludCgidGVzdDExIGZhaWxlZCIpCisgICAgcHJpbnQocmVzKQorICAgIHN5cy5leGl0KDEpCisKK2RvYz0iIiI8dGVzdD48YT5hYWE8L2E+PGIvPjwvdGVzdD4iIiIKK2V4cGVjdD0iIiIxICh0ZXN0KSBbTm9uZV0gMCAwCisxIChhKSBbTm9uZV0gMCAxCiszICgjdGV4dCkgW2FhYV0gMCAyCisxNSAoYSkgW05vbmVdIDAgMQorMSAoYikgW05vbmVdIDEgMQorMTUgKHRlc3QpIFtOb25lXSAwIDAKKyIiIgorcmVzID0gdHN0X3JlYWRlcihkb2MpCitpZiByZXMgIT0gZXhwZWN0OgorICAgIHByaW50KCJ0ZXN0MTIgZmFpbGVkIikKKyAgICBwcmludChyZXMpCisgICAgc3lzLmV4aXQoMSkKKworZG9jPSIiIjx0ZXN0PjxwPjwvcD48L3Rlc3Q+IiIiCitleHBlY3Q9IiIiMSAodGVzdCkgW05vbmVdIDAgMAorMSAocCkgW05vbmVdIDAgMQorMTUgKHApIFtOb25lXSAwIDEKKzE1ICh0ZXN0KSBbTm9uZV0gMCAwCisiIiIKK3JlcyA9IHRzdF9yZWFkZXIoZG9jKQoraWYgcmVzICE9IGV4cGVjdDoKKyAgICBwcmludCgidGVzdDEzIGZhaWxlZCIpCisgICAgcHJpbnQocmVzKQorICAgIHN5cy5leGl0KDEpCisKK2RvYz0iIiI8cD48L3A+IiIiCitleHBlY3Q9IiIiMSAocCkgW05vbmVdIDAgMAorMTUgKHApIFtOb25lXSAwIDAKKyIiIgorcmVzID0gdHN0X3JlYWRlcihkb2MpCitpZiByZXMgIT0gZXhwZWN0OgorICAgIHByaW50KCJ0ZXN0MTQgZmFpbGVkIikKKyAgICBwcmludChyZXMpCisgICAgc3lzLmV4aXQoMSkKKworIworIyB0ZXN0IGZyb20gYnVnICMxMDg4MDEgCisjCitkb2M9IiIiPD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PgorPCFET0NUWVBFIGFydGljbGUgUFVCTElDICItLy9PQVNJUy8vRFREIERvY0Jvb2sgWE1MIFY0LjEuMi8vRU4iCisgICAgICAgICAgICAgICAgICAiaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9kb2Nib29rL3htbC80LjEuMi9kb2Nib29reC5kdGQiIFsKK10+CisKKzxhcnRpY2xlPgoreHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHgKKzwvYXJ0aWNsZT4KKyIiIgorZXhwZWN0PSIiIjEwIChhcnRpY2xlKSBbTm9uZV0gMCAwCisxIChhcnRpY2xlKSBbTm9uZV0gMCAwCiszICgjdGV4dCkgWworeHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHgKK10gMCAxCisxNSAoYXJ0aWNsZSkgW05vbmVdIDAgMAorIiIiCityZXMgPSB0c3RfcmVhZGVyKGRvYykKK2lmIHJlcyAhPSBleHBlY3Q6CisgICAgcHJpbnQoInRlc3QxNSBmYWlsZWQiKQorICAgIHByaW50KHJlcykKKyAgICBzeXMuZXhpdCgxKQorCisjCisjIGNsZWFudXAgZm9yIG1lbW9yeSBhbGxvY2F0aW9uIGNvdW50aW5nCisjCitkZWwgZgorZGVsIGlucHV0CitkZWwgcmVhZGVyCisKKyMgTWVtb3J5IGRlYnVnIHNwZWNpZmljCitsaWJ4bWwyLmNsZWFudXBQYXJzZXIoKQoraWYgbGlieG1sMi5kZWJ1Z01lbW9yeSgxKSA9PSAwOgorICAgIHByaW50KCJPSyIpCitlbHNlOgorICAgIHByaW50KCJNZW1vcnkgbGVhayAlZCBieXRlcyIgJSAobGlieG1sMi5kZWJ1Z01lbW9yeSgxKSkpCisgICAgbGlieG1sMi5kdW1wTWVtb3J5KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcHl0aG9uL3Rlc3RzL3JlYWRlcjIucHkgYi9saWJ4bWwyL3B5dGhvbi90ZXN0cy9yZWFkZXIyLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjg1NzA1NzUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3B5dGhvbi90ZXN0cy9yZWFkZXIyLnB5CkBAIC0wLDAgKzEsMjY1IEBACisjIS91c3IvYmluL3B5dGhvbiAtdQorIworIyB0aGlzIHRlc3RzIHRoZSBEVEQgdmFsaWRhdGlvbiB3aXRoIHRoZSBYbWxUZXh0UmVhZGVyIGludGVyZmFjZQorIworaW1wb3J0IHN5cworaW1wb3J0IGdsb2IKK2ltcG9ydCBzdHJpbmcKK2ltcG9ydCBsaWJ4bWwyCit0cnk6CisgICAgaW1wb3J0IFN0cmluZ0lPCisgICAgc3RyX2lvID0gU3RyaW5nSU8uU3RyaW5nSU8KK2V4Y2VwdDoKKyAgICBpbXBvcnQgaW8KKyAgICBzdHJfaW8gPSBpby5TdHJpbmdJTworCisjIE1lbW9yeSBkZWJ1ZyBzcGVjaWZpYworbGlieG1sMi5kZWJ1Z01lbW9yeSgxKQorCitlcnI9IiIKK2V4cGVjdD0iIiIuLi8uLi90ZXN0L3ZhbGlkL3Jzcy54bWw6MTc3OiBlbGVtZW50IHJzczogdmFsaWRpdHkgZXJyb3IgOiBFbGVtZW50IHJzcyBkb2VzIG5vdCBjYXJyeSBhdHRyaWJ1dGUgdmVyc2lvbgorPC9yc3M+CisgICAgICBeCisuLi8uLi90ZXN0L3ZhbGlkL3hsaW5rLnhtbDo0NTA6IGVsZW1lbnQgdGVybWRlZjogdmFsaWRpdHkgZXJyb3IgOiBJRCBkdC1hcmMgYWxyZWFkeSBkZWZpbmVkCisJPHA+PHRlcm1kZWYgaWQ9ImR0LWFyYyIgdGVybT0iQXJjIj5BbiA8dGVyCisJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4uLy4uL3Rlc3QvdmFsaWQveGxpbmsueG1sOjUzMDogdmFsaWRpdHkgZXJyb3IgOiBhdHRyaWJ1dGUgZGVmIGxpbmUgMTk5IHJlZmVyZW5jZXMgYW4gdW5rbm93biBJRCAiZHQteGxnIgorCiteCisiIiIKK2RlZiBjYWxsYmFjayhjdHgsIHN0cik6CisgICAgZ2xvYmFsIGVycgorICAgIGVyciA9IGVyciArICIlcyIgJSAoc3RyKQorbGlieG1sMi5yZWdpc3RlckVycm9ySGFuZGxlcihjYWxsYmFjaywgIiIpCisKK3ZhbGlkX2ZpbGVzID0gZ2xvYi5nbG9iKCIuLi8uLi90ZXN0L3ZhbGlkLyoueCoiKQordmFsaWRfZmlsZXMuc29ydCgpCitmb3IgZmlsZSBpbiB2YWxpZF9maWxlczoKKyAgICBpZiBmaWxlLmZpbmQoInQ4IikgIT0gLTE6CisgICAgICAgIGNvbnRpbnVlCisgICAgaWYgZmlsZSA9PSAiLi4vLi4vdGVzdC92YWxpZC9yc3MueG1sIjoKKyAgICAgICAgY29udGludWUKKyAgICBpZiBmaWxlID09ICIuLi8uLi90ZXN0L3ZhbGlkL3hsaW5rLnhtbCI6CisgICAgICAgIGNvbnRpbnVlCisgICAgcmVhZGVyID0gbGlieG1sMi5uZXdUZXh0UmVhZGVyRmlsZW5hbWUoZmlsZSkKKyAgICAjcHJpbnQgIiVzOiIgJSAoZmlsZSkKKyAgICByZWFkZXIuU2V0UGFyc2VyUHJvcChsaWJ4bWwyLlBBUlNFUl9WQUxJREFURSwgMSkKKyAgICByZXQgPSByZWFkZXIuUmVhZCgpCisgICAgd2hpbGUgcmV0ID09IDE6CisgICAgICAgIHJldCA9IHJlYWRlci5SZWFkKCkKKyAgICBpZiByZXQgIT0gMDoKKyAgICAgICAgcHJpbnQoIkVycm9yIHBhcnNpbmcgYW5kIHZhbGlkYXRpbmcgJXMiICUgKGZpbGUpKQorCSNzeXMuZXhpdCgxKQorCitpZiBlcnIgIT0gZXhwZWN0OgorICAgIHByaW50KGVycikKKworIworIyBhbm90aGVyIHNlcGFyYXRlIHRlc3QgYmFzZWQgb24gU3RlcGhhbmUgQmlkb3VsIG9uZQorIworcyA9ICIiIgorPCFET0NUWVBFIHRlc3QgWworPCFFTEVNRU5UIHRlc3QgKHgsYik+Cis8IUVMRU1FTlQgeCAoYyk+Cis8IUVMRU1FTlQgYiAoI1BDREFUQSk+Cis8IUVMRU1FTlQgYyAoI1BDREFUQSk+Cis8IUVOVElUWSB4ICI8eD48Yz54eHg8L2M+PC94PiI+CitdPgorPHRlc3Q+CisgICAgJng7CisgICAgPGI+YmJiPC9iPgorPC90ZXN0PgorIiIiCitleHBlY3Q9IiIiMTAsdGVzdAorMSx0ZXN0CisxNCwjdGV4dAorMSx4CisxLGMKKzMsI3RleHQKKzE1LGMKKzE1LHgKKzE0LCN0ZXh0CisxLGIKKzMsI3RleHQKKzE1LGIKKzE0LCN0ZXh0CisxNSx0ZXN0CisiIiIKK3Jlcz0iIgorZXJyPSIiCisKK2lucHV0ID0gbGlieG1sMi5pbnB1dEJ1ZmZlcihzdHJfaW8ocykpCityZWFkZXIgPSBpbnB1dC5uZXdUZXh0UmVhZGVyKCJ0ZXN0MiIpCityZWFkZXIuU2V0UGFyc2VyUHJvcChsaWJ4bWwyLlBBUlNFUl9MT0FERFRELDEpCityZWFkZXIuU2V0UGFyc2VyUHJvcChsaWJ4bWwyLlBBUlNFUl9ERUZBVUxUQVRUUlMsMSkKK3JlYWRlci5TZXRQYXJzZXJQcm9wKGxpYnhtbDIuUEFSU0VSX1NVQlNUX0VOVElUSUVTLDEpCityZWFkZXIuU2V0UGFyc2VyUHJvcChsaWJ4bWwyLlBBUlNFUl9WQUxJREFURSwxKQord2hpbGUgcmVhZGVyLlJlYWQoKSA9PSAxOgorICAgIHJlcyA9IHJlcyArICIlcywlc1xuIiAlIChyZWFkZXIuTm9kZVR5cGUoKSxyZWFkZXIuTmFtZSgpKQorCitpZiByZXMgIT0gZXhwZWN0OgorICAgIHByaW50KCJ0ZXN0MiBmYWlsZWQ6IHVuZXhwZWN0ZWQgb3V0cHV0IikKKyAgICBwcmludChyZXMpCisgICAgc3lzLmV4aXQoMSkKK2lmIGVyciAhPSAiIjoKKyAgICBwcmludCgidGVzdDIgZmFpbGVkOiB2YWxpZGF0aW9uIGVycm9yIGZvdW5kIikKKyAgICBwcmludChlcnIpCisgICAgc3lzLmV4aXQoMSkKKworIworIyBBbm90aGVyIHRlc3QgZm9yIGV4dGVybmFsIGVudGl0eSBwYXJzaW5nIGFuZCB2YWxpZGF0aW9uCisjCisKK3MgPSAiIiI8IURPQ1RZUEUgdGVzdCBbCis8IUVMRU1FTlQgdGVzdCAoeCk+Cis8IUVMRU1FTlQgeCAoI1BDREFUQSk+Cis8IUVOVElUWSBlIFNZU1RFTSAidHN0LmVudCI+CitdPgorPHRlc3Q+CisgICZlOworPC90ZXN0PgorIiIiCit0c3RfZW50ID0gIiIiPHg+aGVsbG88L3g+IiIiCitleHBlY3Q9IiIiMTAgdGVzdAorMSB0ZXN0CisxNCAjdGV4dAorMSB4CiszICN0ZXh0CisxNSB4CisxNCAjdGV4dAorMTUgdGVzdAorIiIiCityZXM9IiIKKworZGVmIG15UmVzb2x2ZXIoVVJMLCBJRCwgY3R4dCk6CisgICAgaWYgVVJMID09ICJ0c3QuZW50IjoKKyAgICAgICAgcmV0dXJuKHN0cl9pbyh0c3RfZW50KSkKKyAgICByZXR1cm4gTm9uZQorCitsaWJ4bWwyLnNldEVudGl0eUxvYWRlcihteVJlc29sdmVyKQorCitpbnB1dCA9IGxpYnhtbDIuaW5wdXRCdWZmZXIoc3RyX2lvKHMpKQorcmVhZGVyID0gaW5wdXQubmV3VGV4dFJlYWRlcigidGVzdDMiKQorcmVhZGVyLlNldFBhcnNlclByb3AobGlieG1sMi5QQVJTRVJfTE9BRERURCwxKQorcmVhZGVyLlNldFBhcnNlclByb3AobGlieG1sMi5QQVJTRVJfREVGQVVMVEFUVFJTLDEpCityZWFkZXIuU2V0UGFyc2VyUHJvcChsaWJ4bWwyLlBBUlNFUl9TVUJTVF9FTlRJVElFUywxKQorcmVhZGVyLlNldFBhcnNlclByb3AobGlieG1sMi5QQVJTRVJfVkFMSURBVEUsMSkKK3doaWxlIHJlYWRlci5SZWFkKCkgPT0gMToKKyAgICByZXMgPSByZXMgKyAiJXMgJXNcbiIgJSAocmVhZGVyLk5vZGVUeXBlKCkscmVhZGVyLk5hbWUoKSkKKworaWYgcmVzICE9IGV4cGVjdDoKKyAgICBwcmludCgidGVzdDMgZmFpbGVkOiB1bmV4cGVjdGVkIG91dHB1dCIpCisgICAgcHJpbnQocmVzKQorICAgIHN5cy5leGl0KDEpCitpZiBlcnIgIT0gIiI6CisgICAgcHJpbnQoInRlc3QzIGZhaWxlZDogdmFsaWRhdGlvbiBlcnJvciBmb3VuZCIpCisgICAgcHJpbnQoZXJyKQorICAgIHN5cy5leGl0KDEpCisKKyMKKyMgQW5vdGhlciB0ZXN0IGZvciByZWN1cnNpdmUgZW50aXR5IHBhcnNpbmcsIHZhbGlkYXRpb24sIGFuZCByZXBsYWNlbWVudCBvZgorIyBlbnRpdGllcywgbWFraW5nIHN1cmUgdGhlIGVudGl0eSByZWYgbm9kZSBkb2Vzbid0IHNob3cgdXAgaW4gdGhhdCBjYXNlCisjCisKK3MgPSAiIiI8IURPQ1RZUEUgdGVzdCBbCis8IUVMRU1FTlQgdGVzdCAoeCwgeCk+Cis8IUVMRU1FTlQgeCAoeSk+Cis8IUVMRU1FTlQgeSAoI1BDREFUQSk+Cis8IUVOVElUWSB4ICI8eD4meTs8L3g+Ij4KKzwhRU5USVRZIHkgIjx5Pnl5eTwveT4iPgorXT4KKzx0ZXN0PgorICAmeDsKKyAgJng7Cis8L3Rlc3Q+IiIiCitleHBlY3Q9IiIiMTAgdGVzdCAwCisxIHRlc3QgMAorMTQgI3RleHQgMQorMSB4IDEKKzEgeSAyCiszICN0ZXh0IDMKKzE1IHkgMgorMTUgeCAxCisxNCAjdGV4dCAxCisxIHggMQorMSB5IDIKKzMgI3RleHQgMworMTUgeSAyCisxNSB4IDEKKzE0ICN0ZXh0IDEKKzE1IHRlc3QgMAorIiIiCityZXM9IiIKK2Vycj0iIgorCitpbnB1dCA9IGxpYnhtbDIuaW5wdXRCdWZmZXIoc3RyX2lvKHMpKQorcmVhZGVyID0gaW5wdXQubmV3VGV4dFJlYWRlcigidGVzdDQiKQorcmVhZGVyLlNldFBhcnNlclByb3AobGlieG1sMi5QQVJTRVJfTE9BRERURCwxKQorcmVhZGVyLlNldFBhcnNlclByb3AobGlieG1sMi5QQVJTRVJfREVGQVVMVEFUVFJTLDEpCityZWFkZXIuU2V0UGFyc2VyUHJvcChsaWJ4bWwyLlBBUlNFUl9TVUJTVF9FTlRJVElFUywxKQorcmVhZGVyLlNldFBhcnNlclByb3AobGlieG1sMi5QQVJTRVJfVkFMSURBVEUsMSkKK3doaWxlIHJlYWRlci5SZWFkKCkgPT0gMToKKyAgICByZXMgPSByZXMgKyAiJXMgJXMgJWRcbiIgJSAocmVhZGVyLk5vZGVUeXBlKCkscmVhZGVyLk5hbWUoKSxyZWFkZXIuRGVwdGgoKSkKKworaWYgcmVzICE9IGV4cGVjdDoKKyAgICBwcmludCgidGVzdDQgZmFpbGVkOiB1bmV4cGVjdGVkIG91dHB1dCIpCisgICAgcHJpbnQocmVzKQorICAgIHN5cy5leGl0KDEpCitpZiBlcnIgIT0gIiI6CisgICAgcHJpbnQoInRlc3Q0IGZhaWxlZDogdmFsaWRhdGlvbiBlcnJvciBmb3VuZCIpCisgICAgcHJpbnQoZXJyKQorICAgIHN5cy5leGl0KDEpCisKKyMKKyMgVGhlIHNhbWUgdGVzdCBidXQgd2l0aG91dCBlbnRpdHkgc3Vic3RpdHV0aW9uIHRoaXMgdGltZQorIworCitzID0gIiIiPCFET0NUWVBFIHRlc3QgWworPCFFTEVNRU5UIHRlc3QgKHgsIHgpPgorPCFFTEVNRU5UIHggKHkpPgorPCFFTEVNRU5UIHkgKCNQQ0RBVEEpPgorPCFFTlRJVFkgeCAiPHg+Jnk7PC94PiI+Cis8IUVOVElUWSB5ICI8eT55eXk8L3k+Ij4KK10+Cis8dGVzdD4KKyAgJng7CisgICZ4OworPC90ZXN0PiIiIgorZXhwZWN0PSIiIjEwIHRlc3QgMAorMSB0ZXN0IDAKKzE0ICN0ZXh0IDEKKzUgeCAxCisxNCAjdGV4dCAxCis1IHggMQorMTQgI3RleHQgMQorMTUgdGVzdCAwCisiIiIKK3Jlcz0iIgorZXJyPSIiCisKK2lucHV0ID0gbGlieG1sMi5pbnB1dEJ1ZmZlcihzdHJfaW8ocykpCityZWFkZXIgPSBpbnB1dC5uZXdUZXh0UmVhZGVyKCJ0ZXN0NSIpCityZWFkZXIuU2V0UGFyc2VyUHJvcChsaWJ4bWwyLlBBUlNFUl9WQUxJREFURSwxKQord2hpbGUgcmVhZGVyLlJlYWQoKSA9PSAxOgorICAgIHJlcyA9IHJlcyArICIlcyAlcyAlZFxuIiAlIChyZWFkZXIuTm9kZVR5cGUoKSxyZWFkZXIuTmFtZSgpLHJlYWRlci5EZXB0aCgpKQorCitpZiByZXMgIT0gZXhwZWN0OgorICAgIHByaW50KCJ0ZXN0NSBmYWlsZWQ6IHVuZXhwZWN0ZWQgb3V0cHV0IikKKyAgICBwcmludChyZXMpCitpZiBlcnIgIT0gIiI6CisgICAgcHJpbnQoInRlc3Q1IGZhaWxlZDogdmFsaWRhdGlvbiBlcnJvciBmb3VuZCIpCisgICAgcHJpbnQoZXJyKQorCisjCisjIGNsZWFudXAKKyMKK2RlbCBpbnB1dAorZGVsIHJlYWRlcgorCisjIE1lbW9yeSBkZWJ1ZyBzcGVjaWZpYworbGlieG1sMi5jbGVhbnVwUGFyc2VyKCkKK2lmIGxpYnhtbDIuZGVidWdNZW1vcnkoMSkgPT0gMDoKKyAgICBwcmludCgiT0siKQorZWxzZToKKyAgICBwcmludCgiTWVtb3J5IGxlYWsgJWQgYnl0ZXMiICUgKGxpYnhtbDIuZGVidWdNZW1vcnkoMSkpKQorICAgIGxpYnhtbDIuZHVtcE1lbW9yeSgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3B5dGhvbi90ZXN0cy9yZWFkZXIzLnB5IGIvbGlieG1sMi9weXRob24vdGVzdHMvcmVhZGVyMy5weQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40MzAyYjZjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9weXRob24vdGVzdHMvcmVhZGVyMy5weQpAQCAtMCwwICsxLDE2MCBAQAorIyEvdXNyL2Jpbi9weXRob24gLXUKKyMKKyMgdGhpcyB0ZXN0cyB0aGUgZW50aXRpZXMgc3Vic3RpdHV0aW9ucyB3aXRoIHRoZSBYbWxUZXh0UmVhZGVyIGludGVyZmFjZQorIworaW1wb3J0IHN5cworaW1wb3J0IGxpYnhtbDIKK3RyeToKKyAgICBpbXBvcnQgU3RyaW5nSU8KKyAgICBzdHJfaW8gPSBTdHJpbmdJTy5TdHJpbmdJTworZXhjZXB0OgorICAgIGltcG9ydCBpbworICAgIHN0cl9pbyA9IGlvLlN0cmluZ0lPCisKK2RvY3N0cj0iIiI8P3htbCB2ZXJzaW9uPScxLjAnPz4KKzwhRE9DVFlQRSBkb2MgWworPCFFTlRJVFkgdHN0ICI8cD50ZXN0PC9wPiI+CitdPgorPGRvYz4mdHN0OzwvZG9jPiIiIgorCisjIE1lbW9yeSBkZWJ1ZyBzcGVjaWZpYworbGlieG1sMi5kZWJ1Z01lbW9yeSgxKQorCisjCisjIEZpcnN0IHRlc3QsIG5vcm1hbCBkb24ndCBzdWJzdGl0dXRlIGVudGl0aWVzLgorIworZiA9IHN0cl9pbyhkb2NzdHIpCitpbnB1dCA9IGxpYnhtbDIuaW5wdXRCdWZmZXIoZikKK3JlYWRlciA9IGlucHV0Lm5ld1RleHRSZWFkZXIoInRlc3Rfbm9lbnQiKQorcmV0ID0gcmVhZGVyLlJlYWQoKQoraWYgcmV0ICE9IDE6CisgICAgcHJpbnQoIkVycm9yIHJlYWRpbmcgdG8gcm9vdCIpCisgICAgc3lzLmV4aXQoMSkKK2lmIHJlYWRlci5OYW1lKCkgPT0gImRvYyIgb3IgcmVhZGVyLk5vZGVUeXBlKCkgPT0gMTA6CisgICAgcmV0ID0gcmVhZGVyLlJlYWQoKQoraWYgcmV0ICE9IDE6CisgICAgcHJpbnQoIkVycm9yIHJlYWRpbmcgdG8gcm9vdCIpCisgICAgc3lzLmV4aXQoMSkKK2lmIHJlYWRlci5OYW1lKCkgIT0gImRvYyIgb3IgcmVhZGVyLk5vZGVUeXBlKCkgIT0gMToKKyAgICBwcmludCgidGVzdF9ub3JtYWw6IEVycm9yIHJlYWRpbmcgdGhlIHJvb3QgZWxlbWVudCIpCisgICAgc3lzLmV4aXQoMSkKK3JldCA9IHJlYWRlci5SZWFkKCkKK2lmIHJldCAhPSAxOgorICAgIHByaW50KCJ0ZXN0X25vcm1hbDogRXJyb3IgcmVhZGluZyB0byB0aGUgZW50aXR5IikKKyAgICBzeXMuZXhpdCgxKQoraWYgcmVhZGVyLk5hbWUoKSAhPSAidHN0IiBvciByZWFkZXIuTm9kZVR5cGUoKSAhPSA1OgorICAgIHByaW50KCJ0ZXN0X25vcm1hbDogRXJyb3IgcmVhZGluZyB0aGUgZW50aXR5IikKKyAgICBzeXMuZXhpdCgxKQorcmV0ID0gcmVhZGVyLlJlYWQoKQoraWYgcmV0ICE9IDE6CisgICAgcHJpbnQoInRlc3Rfbm9ybWFsOiBFcnJvciByZWFkaW5nIHRvIHRoZSBlbmQgb2Ygcm9vdCIpCisgICAgc3lzLmV4aXQoMSkKK2lmIHJlYWRlci5OYW1lKCkgIT0gImRvYyIgb3IgcmVhZGVyLk5vZGVUeXBlKCkgIT0gMTU6CisgICAgcHJpbnQoInRlc3Rfbm9ybWFsOiBFcnJvciByZWFkaW5nIHRoZSBlbmQgb2YgdGhlIHJvb3QgZWxlbWVudCIpCisgICAgc3lzLmV4aXQoMSkKK3JldCA9IHJlYWRlci5SZWFkKCkKK2lmIHJldCAhPSAwOgorICAgIHByaW50KCJ0ZXN0X25vcm1hbDogRXJyb3IgZGV0ZWN0aW5nIHRoZSBlbmQiKQorICAgIHN5cy5leGl0KDEpCisKKyMKKyMgU2Vjb25kIHRlc3QsIGNvbXBsZXRlbHkgc3Vic3RpdHV0ZSB0aGUgZW50aXRpZXMuCisjCitmID0gc3RyX2lvKGRvY3N0cikKK2lucHV0ID0gbGlieG1sMi5pbnB1dEJ1ZmZlcihmKQorcmVhZGVyID0gaW5wdXQubmV3VGV4dFJlYWRlcigidGVzdF9ub2VudCIpCityZWFkZXIuU2V0UGFyc2VyUHJvcChsaWJ4bWwyLlBBUlNFUl9TVUJTVF9FTlRJVElFUywgMSkKK3JldCA9IHJlYWRlci5SZWFkKCkKK2lmIHJldCAhPSAxOgorICAgIHByaW50KCJFcnJvciByZWFkaW5nIHRvIHJvb3QiKQorICAgIHN5cy5leGl0KDEpCitpZiByZWFkZXIuTmFtZSgpID09ICJkb2MiIG9yIHJlYWRlci5Ob2RlVHlwZSgpID09IDEwOgorICAgIHJldCA9IHJlYWRlci5SZWFkKCkKK2lmIHJldCAhPSAxOgorICAgIHByaW50KCJFcnJvciByZWFkaW5nIHRvIHJvb3QiKQorICAgIHN5cy5leGl0KDEpCitpZiByZWFkZXIuTmFtZSgpICE9ICJkb2MiIG9yIHJlYWRlci5Ob2RlVHlwZSgpICE9IDE6CisgICAgcHJpbnQoInRlc3Rfbm9lbnQ6IEVycm9yIHJlYWRpbmcgdGhlIHJvb3QgZWxlbWVudCIpCisgICAgc3lzLmV4aXQoMSkKK3JldCA9IHJlYWRlci5SZWFkKCkKK2lmIHJldCAhPSAxOgorICAgIHByaW50KCJ0ZXN0X25vZW50OiBFcnJvciByZWFkaW5nIHRvIHRoZSBlbnRpdHkgY29udGVudCIpCisgICAgc3lzLmV4aXQoMSkKK2lmIHJlYWRlci5OYW1lKCkgIT0gInAiIG9yIHJlYWRlci5Ob2RlVHlwZSgpICE9IDE6CisgICAgcHJpbnQoInRlc3Rfbm9lbnQ6IEVycm9yIHJlYWRpbmcgdGhlIHAgZWxlbWVudCBmcm9tIGVudGl0eSIpCisgICAgc3lzLmV4aXQoMSkKK3JldCA9IHJlYWRlci5SZWFkKCkKK2lmIHJldCAhPSAxOgorICAgIHByaW50KCJ0ZXN0X25vZW50OiBFcnJvciByZWFkaW5nIHRvIHRoZSB0ZXh0IG5vZGUiKQorICAgIHN5cy5leGl0KDEpCitpZiByZWFkZXIuTm9kZVR5cGUoKSAhPSAzIG9yIHJlYWRlci5WYWx1ZSgpICE9ICJ0ZXN0IjoKKyAgICBwcmludCgidGVzdF9ub2VudDogRXJyb3IgcmVhZGluZyB0aGUgdGV4dCBub2RlIikKKyAgICBzeXMuZXhpdCgxKQorcmV0ID0gcmVhZGVyLlJlYWQoKQoraWYgcmV0ICE9IDE6CisgICAgcHJpbnQoInRlc3Rfbm9lbnQ6IEVycm9yIHJlYWRpbmcgdG8gdGhlIGVuZCBvZiBwIGVsZW1lbnQiKQorICAgIHN5cy5leGl0KDEpCitpZiByZWFkZXIuTmFtZSgpICE9ICJwIiBvciByZWFkZXIuTm9kZVR5cGUoKSAhPSAxNToKKyAgICBwcmludCgidGVzdF9ub2VudDogRXJyb3IgcmVhZGluZyB0aGUgZW5kIG9mIHRoZSBwIGVsZW1lbnQiKQorICAgIHN5cy5leGl0KDEpCityZXQgPSByZWFkZXIuUmVhZCgpCitpZiByZXQgIT0gMToKKyAgICBwcmludCgidGVzdF9ub2VudDogRXJyb3IgcmVhZGluZyB0byB0aGUgZW5kIG9mIHJvb3QiKQorICAgIHN5cy5leGl0KDEpCitpZiByZWFkZXIuTmFtZSgpICE9ICJkb2MiIG9yIHJlYWRlci5Ob2RlVHlwZSgpICE9IDE1OgorICAgIHByaW50KCJ0ZXN0X25vZW50OiBFcnJvciByZWFkaW5nIHRoZSBlbmQgb2YgdGhlIHJvb3QgZWxlbWVudCIpCisgICAgc3lzLmV4aXQoMSkKK3JldCA9IHJlYWRlci5SZWFkKCkKK2lmIHJldCAhPSAwOgorICAgIHByaW50KCJ0ZXN0X25vZW50OiBFcnJvciBkZXRlY3RpbmcgdGhlIGVuZCIpCisgICAgc3lzLmV4aXQoMSkKKworIworIyB0aGlyZCB0ZXN0LCBjcmF6eSBzdHVmZiBhYm91dCBlbXB0eSBlbGVtZW50IGluIGV4dGVybmFsIHBhcnNlZCBlbnRpdGllcworIworcyA9ICIiIjwhRE9DVFlQRSBzdHJ1Y3QgWworPCFFTlRJVFkgc2ltcGxlc3RydWN0Mi5lbnQgU1lTVEVNICJzaW1wbGVzdHJ1Y3QyLmVudCI+CitdPgorPHN0cnVjdD4mc2ltcGxlc3RydWN0Mi5lbnQ7PC9zdHJ1Y3Q+CisiIiIKK2V4cGVjdD0iIiIxMCBzdHJ1Y3QgMCAwCisxIHN0cnVjdCAwIDAKKzEgZGVzY3IgMSAxCisxNSBzdHJ1Y3QgMCAwCisiIiIKK3Jlcz0iIgorc2ltcGxlc3RydWN0Ml9lbnQ9IiIiPGRlc2NyLz4iIiIKKworZGVmIG15UmVzb2x2ZXIoVVJMLCBJRCwgY3R4dCk6CisgICAgaWYgVVJMID09ICJzaW1wbGVzdHJ1Y3QyLmVudCI6CisgICAgICAgIHJldHVybihzdHJfaW8oc2ltcGxlc3RydWN0Ml9lbnQpKQorICAgIHJldHVybiBOb25lCisKK2xpYnhtbDIuc2V0RW50aXR5TG9hZGVyKG15UmVzb2x2ZXIpCisKK2lucHV0ID0gbGlieG1sMi5pbnB1dEJ1ZmZlcihzdHJfaW8ocykpCityZWFkZXIgPSBpbnB1dC5uZXdUZXh0UmVhZGVyKCJ0ZXN0MyIpCityZWFkZXIuU2V0UGFyc2VyUHJvcChsaWJ4bWwyLlBBUlNFUl9TVUJTVF9FTlRJVElFUywxKQord2hpbGUgcmVhZGVyLlJlYWQoKSA9PSAxOgorICAgIHJlcyA9IHJlcyArICIlcyAlcyAlZCAlZFxuIiAlIChyZWFkZXIuTm9kZVR5cGUoKSxyZWFkZXIuTmFtZSgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkZXIuRGVwdGgoKSxyZWFkZXIuSXNFbXB0eUVsZW1lbnQoKSkKKworaWYgcmVzICE9IGV4cGVjdDoKKyAgICBwcmludCgidGVzdDMgZmFpbGVkOiB1bmV4cGVjdGVkIG91dHB1dCIpCisgICAgcHJpbnQocmVzKQorICAgIHN5cy5leGl0KDEpCisKKyMKKyMgY2xlYW51cAorIworZGVsIGYKK2RlbCBpbnB1dAorZGVsIHJlYWRlcgorCisjIE1lbW9yeSBkZWJ1ZyBzcGVjaWZpYworbGlieG1sMi5jbGVhbnVwUGFyc2VyKCkKK2lmIGxpYnhtbDIuZGVidWdNZW1vcnkoMSkgPT0gMDoKKyAgICBwcmludCgiT0siKQorZWxzZToKKyAgICBwcmludCgiTWVtb3J5IGxlYWsgJWQgYnl0ZXMiICUgKGxpYnhtbDIuZGVidWdNZW1vcnkoMSkpKQorICAgIGxpYnhtbDIuZHVtcE1lbW9yeSgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3B5dGhvbi90ZXN0cy9yZWFkZXI0LnB5IGIvbGlieG1sMi9weXRob24vdGVzdHMvcmVhZGVyNC5weQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wYmIzZTNmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9weXRob24vdGVzdHMvcmVhZGVyNC5weQpAQCAtMCwwICsxLDUwIEBACisjIS91c3IvYmluL3B5dGhvbiAtdQorIworIyB0aGlzIHRlc3RzIHRoZSBiYXNpYyBBUElzIG9mIHRoZSBYbWxUZXh0UmVhZGVyIGludGVyZmFjZQorIworaW1wb3J0IGxpYnhtbDIKK2ltcG9ydCBzeXMKK3RyeToKKyAgICBpbXBvcnQgU3RyaW5nSU8KKyAgICBzdHJfaW8gPSBTdHJpbmdJTy5TdHJpbmdJTworZXhjZXB0OgorICAgIGltcG9ydCBpbworICAgIHN0cl9pbyA9IGlvLlN0cmluZ0lPCisKKyMgTWVtb3J5IGRlYnVnIHNwZWNpZmljCitsaWJ4bWwyLmRlYnVnTWVtb3J5KDEpCisKK2RlZiB0c3RfcmVhZGVyKHMpOgorICAgIGYgPSBzdHJfaW8ocykKKyAgICBpbnB1dCA9IGxpYnhtbDIuaW5wdXRCdWZmZXIoZikKKyAgICByZWFkZXIgPSBpbnB1dC5uZXdUZXh0UmVhZGVyKCJ0c3QiKQorICAgIHJlcyA9ICIiCisgICAgd2hpbGUgcmVhZGVyLlJlYWQoKToKKyAgICAgICAgcmVzPXJlcyArICIlcyAoJXMpIFslc10gJWRcbiIgJSAocmVhZGVyLk5vZGVUeXBlKCkscmVhZGVyLk5hbWUoKSwKKwkJCQkgICAgICByZWFkZXIuVmFsdWUoKSwgcmVhZGVyLklzRW1wdHlFbGVtZW50KCkpCisgICAgICAgIGlmIHJlYWRlci5Ob2RlVHlwZSgpID09IDE6ICMgRWxlbWVudAorICAgICAgICAgICAgd2hpbGUgcmVhZGVyLk1vdmVUb05leHRBdHRyaWJ1dGUoKToKKyAgICAgICAgICAgICAgICByZXMgPSByZXMgKyAiLS0gJXMgKCVzKSBbJXNdXG4iICUgKHJlYWRlci5Ob2RlVHlwZSgpLAorCQkJCQkJICAgcmVhZGVyLk5hbWUoKSxyZWFkZXIuVmFsdWUoKSkKKyAgICByZXR1cm4gcmVzCisgICAgCitleHBlY3Q9IiIiMSAodGVzdCkgW05vbmVdIDAKKzEgKGIpIFtOb25lXSAxCisxIChjKSBbTm9uZV0gMQorMTUgKHRlc3QpIFtOb25lXSAwCisiIiIKKworcmVzID0gdHN0X3JlYWRlcigiIiI8dGVzdD48Yi8+PGMvPjwvdGVzdD4iIiIpCisKK2lmIHJlcyAhPSBleHBlY3Q6CisgICAgcHJpbnQoIkRpZCBub3QgZ2V0IHRoZSBleHBlY3RlZCBlcnJvciBtZXNzYWdlOiIpCisgICAgcHJpbnQocmVzKQorICAgIHN5cy5leGl0KDEpCisKKyMgTWVtb3J5IGRlYnVnIHNwZWNpZmljCitsaWJ4bWwyLmNsZWFudXBQYXJzZXIoKQoraWYgbGlieG1sMi5kZWJ1Z01lbW9yeSgxKSA9PSAwOgorICAgIHByaW50KCJPSyIpCitlbHNlOgorICAgIHByaW50KCJNZW1vcnkgbGVhayAlZCBieXRlcyIgJSAobGlieG1sMi5kZWJ1Z01lbW9yeSgxKSkpCisgICAgbGlieG1sMi5kdW1wTWVtb3J5KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcHl0aG9uL3Rlc3RzL3JlYWRlcjUucHkgYi9saWJ4bWwyL3B5dGhvbi90ZXN0cy9yZWFkZXI1LnB5Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjgyZDBkYWUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3B5dGhvbi90ZXN0cy9yZWFkZXI1LnB5CkBAIC0wLDAgKzEsNDcgQEAKKyMhL3Vzci9iaW4vcHl0aG9uIC11CisjCisjIHRoaXMgdGVzdHMgdGhlIEV4cGFuZCgpIEFQSSBvZiB0aGUgeG1sVGV4dFJlYWRlciBpbnRlcmZhY2UKKyMgdGhpcyBleHRyYWN0IHRoZSBEcmFnb24gYmlibGlvZ3JhcGh5IGVudHJpZXMgZnJvbSB0aGUgWE1MIHNwZWNpZmljYXRpb24KKyMKK2ltcG9ydCBsaWJ4bWwyCitpbXBvcnQgc3lzCisKKyMgTWVtb3J5IGRlYnVnIHNwZWNpZmljCitsaWJ4bWwyLmRlYnVnTWVtb3J5KDEpCisKK2V4cGVjdD0iIiI8YmlibCBpZD0iQWhvIiBrZXk9IkFoby9VbGxtYW4iPkFobywgQWxmcmVkIFYuLCAKK1JhdmkgU2V0aGksIGFuZCBKZWZmcmV5IEQuIFVsbG1hbi4KKzxlbXBoPkNvbXBpbGVyczogIFByaW5jaXBsZXMsIFRlY2huaXF1ZXMsIGFuZCBUb29sczwvZW1waD4uCitSZWFkaW5nOiAgQWRkaXNvbi1XZXNsZXksIDE5ODYsIHJwdC4gY29yci4gMTk4OC48L2JpYmw+IiIiCisKK2YgPSBvcGVuKCcuLi8uLi90ZXN0L3ZhbGlkL1JFQy14bWwtMTk5ODAyMTAueG1sJywgJ3JiJykKK2lucHV0ID0gbGlieG1sMi5pbnB1dEJ1ZmZlcihmKQorcmVhZGVyID0gaW5wdXQubmV3VGV4dFJlYWRlcigiUkVDIikKK3Jlcz0iIgord2hpbGUgcmVhZGVyLlJlYWQoKSA+IDA6CisgICAgd2hpbGUgcmVhZGVyLk5hbWUoKSA9PSAnYmlibCc6CisgICAgICAgIG5vZGUgPSByZWFkZXIuRXhwYW5kKCkgICAgICAgICAgICAjIGV4cGFuZCB0aGUgc3VidHJlZQorICAgICAgICBpZiBub2RlLnhwYXRoRXZhbCgiQGlkID0gJ0FobyciKTogIyB1c2UgWFBhdGggb24gaXQKKyAgICAgICAgICAgIHJlcyA9IHJlcyArIG5vZGUuc2VyaWFsaXplKCkKKyAgICAgICAgaWYgcmVhZGVyLk5leHQoKSAhPSAxOiAgICAgICAgICAgICMgc2tpcCB0aGUgc3VidHJlZQorICAgICAgICAgICAgYnJlYWs7CisKK2lmIHJlcyAhPSBleHBlY3Q6CisgICAgcHJpbnQoIkVycm9yOiBkaWRuJ3QgZ2V0IHRoZSBleHBlY3RlZCBvdXRwdXQiKQorICAgIHByaW50KCJnb3QgJyVzJyIgJSAocmVzKSkKKyAgICBwcmludCgiZXhwZWN0ZWQgJyVzJyIgJSAoZXhwZWN0KSkKKyAgICAKKworIworIyBjbGVhbnVwCisjCitkZWwgaW5wdXQKK2RlbCByZWFkZXIKKworIyBNZW1vcnkgZGVidWcgc3BlY2lmaWMKK2xpYnhtbDIuY2xlYW51cFBhcnNlcigpCitpZiBsaWJ4bWwyLmRlYnVnTWVtb3J5KDEpID09IDA6CisgICAgcHJpbnQoIk9LIikKK2Vsc2U6CisgICAgcHJpbnQoIk1lbW9yeSBsZWFrICVkIGJ5dGVzIiAlIChsaWJ4bWwyLmRlYnVnTWVtb3J5KDEpKSkKKyAgICBsaWJ4bWwyLmR1bXBNZW1vcnkoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9weXRob24vdGVzdHMvcmVhZGVyNi5weSBiL2xpYnhtbDIvcHl0aG9uL3Rlc3RzL3JlYWRlcjYucHkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZWYzM2IxOAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcHl0aG9uL3Rlc3RzL3JlYWRlcjYucHkKQEAgLTAsMCArMSwxMjggQEAKKyMhL3Vzci9iaW4vcHl0aG9uIC11CisjCisjIHRoaXMgdGVzdHMgdGhlIGVudGl0aWVzIHN1YnN0aXR1dGlvbnMgd2l0aCB0aGUgWG1sVGV4dFJlYWRlciBpbnRlcmZhY2UKKyMKK2ltcG9ydCBzeXMKK2ltcG9ydCBsaWJ4bWwyCit0cnk6CisgICAgaW1wb3J0IFN0cmluZ0lPCisgICAgc3RyX2lvID0gU3RyaW5nSU8uU3RyaW5nSU8KK2V4Y2VwdDoKKyAgICBpbXBvcnQgaW8KKyAgICBzdHJfaW8gPSBpby5TdHJpbmdJTworCitzY2hlbWE9IiIiPGVsZW1lbnQgbmFtZT0iZm9vIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiCisgICAgICAgICBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgIDxvbmVPck1vcmU+CisgICAgPGVsZW1lbnQgbmFtZT0ibGFiZWwiPgorICAgICAgPHRleHQvPgorICAgIDwvZWxlbWVudD4KKyAgICA8b3B0aW9uYWw+CisgICAgICA8ZWxlbWVudCBuYW1lPSJvcHQiPgorICAgICAgICA8ZW1wdHkvPgorICAgICAgPC9lbGVtZW50PgorICAgIDwvb3B0aW9uYWw+CisgICAgPGVsZW1lbnQgbmFtZT0iaXRlbSI+CisgICAgICA8ZGF0YSB0eXBlPSJieXRlIi8+CisgICAgPC9lbGVtZW50PgorICA8L29uZU9yTW9yZT4KKzwvZWxlbWVudD4KKyIiIgorIyBNZW1vcnkgZGVidWcgc3BlY2lmaWMKK2xpYnhtbDIuZGVidWdNZW1vcnkoMSkKKworIworIyBQYXJzZSB0aGUgUmVsYXggTkcgU2NoZW1hcworIyAKK3JuZ3AgPSBsaWJ4bWwyLnJlbGF4TkdOZXdNZW1QYXJzZXJDdHh0KHNjaGVtYSwgbGVuKHNjaGVtYSkpCitybmdzID0gcm5ncC5yZWxheE5HUGFyc2UoKQorZGVsIHJuZ3AKKworIworIyBQYXJzZSBhbmQgdmFsaWRhdGUgdGhlIGNvcnJlY3QgZG9jdW1lbnQKKyMKK2RvY3N0cj0iIiI8Zm9vPgorPGxhYmVsPnNvbWUgdGV4dDwvbGFiZWw+Cis8aXRlbT4xMDA8L2l0ZW0+Cis8L2Zvbz4iIiIKKworZiA9IHN0cl9pbyhkb2NzdHIpCitpbnB1dCA9IGxpYnhtbDIuaW5wdXRCdWZmZXIoZikKK3JlYWRlciA9IGlucHV0Lm5ld1RleHRSZWFkZXIoImNvcnJlY3QiKQorcmVhZGVyLlJlbGF4TkdTZXRTY2hlbWEocm5ncykKK3JldCA9IHJlYWRlci5SZWFkKCkKK3doaWxlIHJldCA9PSAxOgorICAgIHJldCA9IHJlYWRlci5SZWFkKCkKKworaWYgcmV0ICE9IDA6CisgICAgcHJpbnQoIkVycm9yIHBhcnNpbmcgdGhlIGRvY3VtZW50IikKKyAgICBzeXMuZXhpdCgxKQorCitpZiByZWFkZXIuSXNWYWxpZCgpICE9IDE6CisgICAgcHJpbnQoIkRvY3VtZW50IGZhaWxlZCB0byB2YWxpZGF0ZSIpCisgICAgc3lzLmV4aXQoMSkKKworIworIyBQYXJzZSBhbmQgdmFsaWRhdGUgdGhlIGluY29ycmVjdCBkb2N1bWVudAorIworZG9jc3RyPSIiIjxmb28+Cis8bGFiZWw+c29tZSB0ZXh0PC9sYWJlbD4KKzxpdGVtPjEwMDA8L2l0ZW0+Cis8L2Zvbz4iIiIKKworZXJyPSIiCisjIFJORyBlcnJvcnMgYXJlIG5vdCBhcyBnb29kIGFzIGJlZm9yZSAsIFRPRE8KKyNleHBlY3Q9IiIiUk5HIHZhbGlkaXR5IGVycm9yOiBmaWxlIGVycm9yIGxpbmUgMyBlbGVtZW50IHRleHQKKyNUeXBlIGJ5dGUgZG9lc24ndCBhbGxvdyB2YWx1ZSAnMTAwMCcKKyNSTkcgdmFsaWRpdHkgZXJyb3I6IGZpbGUgZXJyb3IgbGluZSAzIGVsZW1lbnQgdGV4dAorI0Vycm9yIHZhbGlkYXRpbmcgZGF0YXR5cGUgYnl0ZQorI1JORyB2YWxpZGl0eSBlcnJvcjogZmlsZSBlcnJvciBsaW5lIDMgZWxlbWVudCB0ZXh0CisjRWxlbWVudCBpdGVtIGZhaWxlZCB0byB2YWxpZGF0ZSBjb250ZW50CisjIiIiCitleHBlY3Q9IiIiVHlwZSBieXRlIGRvZXNuJ3QgYWxsb3cgdmFsdWUgJzEwMDAnCitFcnJvciB2YWxpZGF0aW5nIGRhdGF0eXBlIGJ5dGUKK0VsZW1lbnQgaXRlbSBmYWlsZWQgdG8gdmFsaWRhdGUgY29udGVudAorIiIiCisKK2RlZiBjYWxsYmFjayhjdHgsIHN0cik6CisgICAgZ2xvYmFsIGVycgorICAgIGVyciA9IGVyciArICIlcyIgJSAoc3RyKQorbGlieG1sMi5yZWdpc3RlckVycm9ySGFuZGxlcihjYWxsYmFjaywgIiIpCisKK2YgPSBzdHJfaW8oZG9jc3RyKQoraW5wdXQgPSBsaWJ4bWwyLmlucHV0QnVmZmVyKGYpCityZWFkZXIgPSBpbnB1dC5uZXdUZXh0UmVhZGVyKCJlcnJvciIpCityZWFkZXIuUmVsYXhOR1NldFNjaGVtYShybmdzKQorcmV0ID0gcmVhZGVyLlJlYWQoKQord2hpbGUgcmV0ID09IDE6CisgICAgcmV0ID0gcmVhZGVyLlJlYWQoKQorCitpZiByZXQgIT0gMDoKKyAgICBwcmludCgiRXJyb3IgcGFyc2luZyB0aGUgZG9jdW1lbnQiKQorICAgIHN5cy5leGl0KDEpCisKK2lmIHJlYWRlci5Jc1ZhbGlkKCkgIT0gMDoKKyAgICBwcmludCgiRG9jdW1lbnQgZmFpbGVkIHRvIGRldGVjdCB0aGUgdmFsaWRhdGlvbiBlcnJvciIpCisgICAgc3lzLmV4aXQoMSkKKworaWYgZXJyICE9IGV4cGVjdDoKKyAgICBwcmludCgiRGlkIG5vdCBnZXQgdGhlIGV4cGVjdGVkIGVycm9yIG1lc3NhZ2U6IikKKyAgICBwcmludChlcnIpCisgICAgc3lzLmV4aXQoMSkKKworIworIyBjbGVhbnVwCisjCitkZWwgZgorZGVsIGlucHV0CitkZWwgcmVhZGVyCitkZWwgcm5ncworbGlieG1sMi5yZWxheE5HQ2xlYW51cFR5cGVzKCkKKworIyBNZW1vcnkgZGVidWcgc3BlY2lmaWMKK2xpYnhtbDIuY2xlYW51cFBhcnNlcigpCitpZiBsaWJ4bWwyLmRlYnVnTWVtb3J5KDEpID09IDA6CisgICAgcHJpbnQoIk9LIikKK2Vsc2U6CisgICAgcHJpbnQoIk1lbW9yeSBsZWFrICVkIGJ5dGVzIiAlIChsaWJ4bWwyLmRlYnVnTWVtb3J5KDEpKSkKKyAgICBsaWJ4bWwyLmR1bXBNZW1vcnkoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9weXRob24vdGVzdHMvcmVhZGVyNy5weSBiL2xpYnhtbDIvcHl0aG9uL3Rlc3RzL3JlYWRlcjcucHkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYzg4ZTM3MAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcHl0aG9uL3Rlc3RzL3JlYWRlcjcucHkKQEAgLTAsMCArMSwxMDEgQEAKKyMhL3Vzci9iaW4vcHl0aG9uIC11CisjCisjIHRoaXMgdGVzdHMgdGhlIGVudGl0aWVzIHN1YnN0aXR1dGlvbnMgd2l0aCB0aGUgWG1sVGV4dFJlYWRlciBpbnRlcmZhY2UKKyMKK2ltcG9ydCBzeXMKK2ltcG9ydCBsaWJ4bWwyCisKKyMgTWVtb3J5IGRlYnVnIHNwZWNpZmljCitsaWJ4bWwyLmRlYnVnTWVtb3J5KDEpCisKK3Jlc3VsdCA9ICIiCitkZWYgcHJvY2Vzc05vZGUocmVhZGVyKToKKyAgICBnbG9iYWwgcmVzdWx0CisKKyAgICByZXN1bHQgPSByZXN1bHQgKyAiJWQgJWQgJXMgJWRcbiIgJSAocmVhZGVyLkRlcHRoKCksIHJlYWRlci5Ob2RlVHlwZSgpLAorCQkJICAgcmVhZGVyLk5hbWUoKSwgcmVhZGVyLklzRW1wdHlFbGVtZW50KCkpCisKKyMKKyMgUGFyc2UgYSBkb2N1bWVudCB0ZXN0aW5nIHRoZSByZWFkZXJGb3J4eHggQVBJCisjCitkb2NzdHI9IiIiPGZvbz4KKzxsYWJlbD5zb21lIHRleHQ8L2xhYmVsPgorPGl0ZW0+MTAwPC9pdGVtPgorPC9mb28+IiIiCitleHBlY3Q9IiIiMCAxIGZvbyAwCisxIDE0ICN0ZXh0IDAKKzEgMSBsYWJlbCAwCisyIDMgI3RleHQgMAorMSAxNSBsYWJlbCAwCisxIDE0ICN0ZXh0IDAKKzEgMSBpdGVtIDAKKzIgMyAjdGV4dCAwCisxIDE1IGl0ZW0gMAorMSAxNCAjdGV4dCAwCiswIDE1IGZvbyAwCisiIiIKK3Jlc3VsdCA9ICIiCisKK3JlYWRlciA9IGxpYnhtbDIucmVhZGVyRm9yRG9jKGRvY3N0ciwgInRlc3QxIiwgTm9uZSwgMCkKK3JldCA9IHJlYWRlci5SZWFkKCkKK3doaWxlIHJldCA9PSAxOgorICAgIHByb2Nlc3NOb2RlKHJlYWRlcikKKyAgICByZXQgPSByZWFkZXIuUmVhZCgpCisKK2lmIHJldCAhPSAwOgorICAgIHByaW50KCJFcnJvciBwYXJzaW5nIHRoZSBkb2N1bWVudCB0ZXN0MSIpCisgICAgc3lzLmV4aXQoMSkKKworaWYgcmVzdWx0ICE9IGV4cGVjdDoKKyAgICBwcmludCgiVW5leHBlY3RlZCByZXN1bHQgZm9yIHRlc3QxIikKKyAgICBwcmludChyZXN1bHQpCisgICAgc3lzLmV4aXQoMSkKKworIworIyBSZXVzZSB0aGUgcmVhZGVyIGZvciBhbm90aGVyIGRvY3VtZW50IHRlc3RpbmcgdGhlIFJlYWRlck5ld3h4eCBBUEkKKyMKK2RvY3N0cj0iIiI8Zm9vPgorPGxhYmVsPnNvbWUgdGV4dDwvbGFiZWw+Cis8aXRlbT4xMDAwPC9pdGVtPgorPC9mb28+IiIiCitleHBlY3Q9IiIiMCAxIGZvbyAwCisxIDE0ICN0ZXh0IDAKKzEgMSBsYWJlbCAwCisyIDMgI3RleHQgMAorMSAxNSBsYWJlbCAwCisxIDE0ICN0ZXh0IDAKKzEgMSBpdGVtIDAKKzIgMyAjdGV4dCAwCisxIDE1IGl0ZW0gMAorMSAxNCAjdGV4dCAwCiswIDE1IGZvbyAwCisiIiIKK3Jlc3VsdCA9ICIiCisKK3JlYWRlci5OZXdEb2MoZG9jc3RyLCAidGVzdDIiLCBOb25lLCAwKQorcmV0ID0gcmVhZGVyLlJlYWQoKQord2hpbGUgcmV0ID09IDE6CisgICAgcHJvY2Vzc05vZGUocmVhZGVyKQorICAgIHJldCA9IHJlYWRlci5SZWFkKCkKKworaWYgcmV0ICE9IDA6CisgICAgcHJpbnQoIkVycm9yIHBhcnNpbmcgdGhlIGRvY3VtZW50IHRlc3QyIikKKyAgICBzeXMuZXhpdCgxKQorCitpZiByZXN1bHQgIT0gZXhwZWN0OgorICAgIHByaW50KCJVbmV4cGVjdGVkIHJlc3VsdCBmb3IgdGVzdDIiKQorICAgIHByaW50KHJlc3VsdCkKKyAgICBzeXMuZXhpdCgxKQorCisjCisjIGNsZWFudXAKKyMKK2RlbCByZWFkZXIKKworIyBNZW1vcnkgZGVidWcgc3BlY2lmaWMKK2xpYnhtbDIuY2xlYW51cFBhcnNlcigpCitpZiBsaWJ4bWwyLmRlYnVnTWVtb3J5KDEpID09IDA6CisgICAgcHJpbnQoIk9LIikKK2Vsc2U6CisgICAgcHJpbnQoIk1lbW9yeSBsZWFrICVkIGJ5dGVzIiAlIChsaWJ4bWwyLmRlYnVnTWVtb3J5KDEpKSkKKyAgICBsaWJ4bWwyLmR1bXBNZW1vcnkoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9weXRob24vdGVzdHMvcmVhZGVyOC5weSBiL2xpYnhtbDIvcHl0aG9uL3Rlc3RzL3JlYWRlcjgucHkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZGUyZGNkNgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcHl0aG9uL3Rlc3RzL3JlYWRlcjgucHkKQEAgLTAsMCArMSwzNiBAQAorIyEvdXNyL2Jpbi9weXRob24gLXUKKyMKKyMgdGhpcyB0ZXN0cyB0aGUgZW50aXRpZXMgc3Vic3RpdHV0aW9ucyB3aXRoIHRoZSBYbWxUZXh0UmVhZGVyIGludGVyZmFjZQorIworaW1wb3J0IHN5cworaW1wb3J0IGxpYnhtbDIKKworIyBNZW1vcnkgZGVidWcgc3BlY2lmaWMKK2xpYnhtbDIuZGVidWdNZW1vcnkoMSkKKworIworIyBQYXJzZSBhIGRvY3VtZW50IHRlc3RpbmcgdGhlIENsb3NlKCkgQVBJCisjCitkb2NzdHI9IiIiPGZvbz4KKzxsYWJlbD5zb21lIHRleHQ8L2xhYmVsPgorPGl0ZW0+MTAwPC9pdGVtPgorPC9mb28+IiIiCisKK3JlYWRlciA9IGxpYnhtbDIucmVhZGVyRm9yRG9jKGRvY3N0ciwgInRlc3QxIiwgTm9uZSwgMCkKK3JldCA9IHJlYWRlci5SZWFkKCkKK3JldCA9IHJlYWRlci5SZWFkKCkKK3JldCA9IHJlYWRlci5DbG9zZSgpCisKK2lmIHJldCAhPSAwOgorICAgIHByaW50KCJFcnJvciBjbG9zaW5nIHRoZSBkb2N1bWVudCB0ZXN0MSIpCisgICAgc3lzLmV4aXQoMSkKKworZGVsIHJlYWRlcgorCisjIE1lbW9yeSBkZWJ1ZyBzcGVjaWZpYworbGlieG1sMi5jbGVhbnVwUGFyc2VyKCkKK2lmIGxpYnhtbDIuZGVidWdNZW1vcnkoMSkgPT0gMDoKKyAgICBwcmludCgiT0siKQorZWxzZToKKyAgICBwcmludCgiTWVtb3J5IGxlYWsgJWQgYnl0ZXMiICUgKGxpYnhtbDIuZGVidWdNZW1vcnkoMSkpKQorICAgIGxpYnhtbDIuZHVtcE1lbW9yeSgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3B5dGhvbi90ZXN0cy9yZWFkZXJlcnIucHkgYi9saWJ4bWwyL3B5dGhvbi90ZXN0cy9yZWFkZXJlcnIucHkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYzhjZWJhNQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcHl0aG9uL3Rlc3RzL3JlYWRlcmVyci5weQpAQCAtMCwwICsxLDU2IEBACisjIS91c3IvYmluL3B5dGhvbiAtdQorIworIyB0aGlzIHRlc3RzIHRoZSBiYXNpYyBBUElzIG9mIHRoZSBYbWxUZXh0UmVhZGVyIGludGVyZmFjZQorIworaW1wb3J0IGxpYnhtbDIKK2ltcG9ydCBzeXMKK3RyeToKKyAgICBpbXBvcnQgU3RyaW5nSU8KKyAgICBzdHJfaW8gPSBTdHJpbmdJTy5TdHJpbmdJTworZXhjZXB0OgorICAgIGltcG9ydCBpbworICAgIHN0cl9pbyA9IGlvLlN0cmluZ0lPCisKKyMgTWVtb3J5IGRlYnVnIHNwZWNpZmljCitsaWJ4bWwyLmRlYnVnTWVtb3J5KDEpCisKK2V4cGVjdD0iIiItLT4gKDMpIHRlc3QxOjE6eG1sbnM6IFVSSSBmb28gaXMgbm90IGFic29sdXRlCistLT4gKDQpIHRlc3QxOjE6T3BlbmluZyBhbmQgZW5kaW5nIHRhZyBtaXNtYXRjaDogYyBsaW5lIDEgYW5kIGEKKyIiIgorZXJyPSIiCitkZWYgbXlFcnJvckhhbmRsZXIoYXJnLG1zZyxzZXZlcml0eSxsb2NhdG9yKToKKyAgICBnbG9iYWwgZXJyCisgICAgZXJyID0gZXJyICsgIiVzICglZCkgJXM6JWQ6JXMiICUgKGFyZyxzZXZlcml0eSxsb2NhdG9yLkJhc2VVUkkoKSxsb2NhdG9yLkxpbmVOdW1iZXIoKSxtc2cpCisKK2YgPSBzdHJfaW8oIiIiPGEgeG1sbnM9ImZvbyI+PGIgYjE9ImIxIi8+PGM+Y29udGVudCBvZiBjPC9hPiIiIikKK2lucHV0ID0gbGlieG1sMi5pbnB1dEJ1ZmZlcihmKQorcmVhZGVyID0gaW5wdXQubmV3VGV4dFJlYWRlcigidGVzdDEiKQorcmVhZGVyLlNldEVycm9ySGFuZGxlcihteUVycm9ySGFuZGxlciwiLS0+IikKK3doaWxlIHJlYWRlci5SZWFkKCkgPT0gMToKKyAgICBwYXNzCisKK2lmIGVyciAhPSBleHBlY3Q6CisgICAgcHJpbnQoImVycm9yIikKKyAgICBwcmludCgicmVjZWl2ZWQgJXMiICUoZXJyKSkKKyAgICBwcmludCgiZXhwZWN0ZWQgJXMiICUoZXhwZWN0KSkKKyAgICBzeXMuZXhpdCgxKQorCityZWFkZXIuU2V0RXJyb3JIYW5kbGVyKE5vbmUsTm9uZSkKK2lmIHJlYWRlci5HZXRFcnJvckhhbmRsZXIoKSAhPSAoTm9uZSxOb25lKToKKyAgICBwcmludCgiR2V0RXJyb3JIYW5kbGVyIGZhaWxlZCIpCisgICAgc3lzLmV4aXQoMSkKKworIworIyBjbGVhbnVwIGZvciBtZW1vcnkgYWxsb2NhdGlvbiBjb3VudGluZworIworZGVsIGYKK2RlbCBpbnB1dAorZGVsIHJlYWRlcgorCisjIE1lbW9yeSBkZWJ1ZyBzcGVjaWZpYworbGlieG1sMi5jbGVhbnVwUGFyc2VyKCkKK2lmIGxpYnhtbDIuZGVidWdNZW1vcnkoMSkgPT0gMDoKKyAgICBwcmludCgiT0siKQorZWxzZToKKyAgICBwcmludCgiTWVtb3J5IGxlYWsgJWQgYnl0ZXMiICUgKGxpYnhtbDIuZGVidWdNZW1vcnkoMSkpKQorICAgIGxpYnhtbDIuZHVtcE1lbW9yeSgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3B5dGhvbi90ZXN0cy9yZWFkZXJuZXh0LnB5IGIvbGlieG1sMi9weXRob24vdGVzdHMvcmVhZGVybmV4dC5weQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mY2I5YWUzCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9weXRob24vdGVzdHMvcmVhZGVybmV4dC5weQpAQCAtMCwwICsxLDg2IEBACisjIS91c3IvYmluL3B5dGhvbiAtdQorIyAtKi0gY29kaW5nOiBJU08tODg1OS0xIC0qLQorIworIyB0aGlzIHRlc3RzIHRoZSBuZXh0IEFQSSBvZiB0aGUgWG1sVGV4dFJlYWRlciBpbnRlcmZhY2UKKyMKK2ltcG9ydCBsaWJ4bWwyCitpbXBvcnQgc3lzCit0cnk6CisgICAgaW1wb3J0IFN0cmluZ0lPCisgICAgc3RyX2lvID0gU3RyaW5nSU8uU3RyaW5nSU8KK2V4Y2VwdDoKKyAgICBpbXBvcnQgaW8KKyAgICBzdHJfaW8gPSBpby5TdHJpbmdJTworCisjIE1lbW9yeSBkZWJ1ZyBzcGVjaWZpYworbGlieG1sMi5kZWJ1Z01lbW9yeSgxKQorCitmID0gc3RyX2lvKCIiIjxhPjxiPjxjIC8+PC9iPjxkPmNvbnRlbnQgb2YgZDwvZD48L2E+IiIiKQoraW5wdXQgPSBsaWJ4bWwyLmlucHV0QnVmZmVyKGYpCityZWFkZXIgPSBpbnB1dC5uZXdUZXh0UmVhZGVyKCJ0ZXN0X25leHQiKQorcmV0ID0gcmVhZGVyLlJlYWQoKQoraWYgcmV0ICE9IDE6CisgICAgcHJpbnQoInRlc3RfbmV4dDogRXJyb3IgcmVhZGluZyB0byBmaXJzdCBlbGVtZW50IikKKyAgICBzeXMuZXhpdCgxKQoraWYgcmVhZGVyLk5hbWUoKSAhPSAiYSIgb3IgcmVhZGVyLklzRW1wdHlFbGVtZW50KCkgIT0gMCBvciBcCisgICByZWFkZXIuTm9kZVR5cGUoKSAhPSAxIG9yIHJlYWRlci5IYXNBdHRyaWJ1dGVzKCkgIT0gMDoKKyAgICBwcmludCgidGVzdF9uZXh0OiBFcnJvciByZWFkaW5nIHRoZSBmaXJzdCBlbGVtZW50IikKKyAgICBzeXMuZXhpdCgxKQorcmV0ID0gcmVhZGVyLlJlYWQoKQoraWYgcmV0ICE9IDE6CisgICAgcHJpbnQoInRlc3RfbmV4dDogRXJyb3IgcmVhZGluZyB0byBzZWNvbmQgZWxlbWVudCIpCisgICAgc3lzLmV4aXQoMSkKK2lmIHJlYWRlci5OYW1lKCkgIT0gImIiIG9yIHJlYWRlci5Jc0VtcHR5RWxlbWVudCgpICE9IDAgb3IgXAorICAgcmVhZGVyLk5vZGVUeXBlKCkgIT0gMSBvciByZWFkZXIuSGFzQXR0cmlidXRlcygpICE9IDA6CisgICAgcHJpbnQoInRlc3RfbmV4dDogRXJyb3IgcmVhZGluZyB0aGUgc2Vjb25kIGVsZW1lbnQiKQorICAgIHN5cy5leGl0KDEpCityZXQgPSByZWFkZXIuUmVhZCgpCitpZiByZXQgIT0gMToKKyAgICBwcmludCgidGVzdF9uZXh0OiBFcnJvciByZWFkaW5nIHRvIHRoaXJkIGVsZW1lbnQiKQorICAgIHN5cy5leGl0KDEpCitpZiByZWFkZXIuTmFtZSgpICE9ICJjIiBvciByZWFkZXIuTm9kZVR5cGUoKSAhPSAxIG9yIFwKKyAgIHJlYWRlci5IYXNBdHRyaWJ1dGVzKCkgIT0gMDoKKyAgICBwcmludCgidGVzdF9uZXh0OiBFcnJvciByZWFkaW5nIHRoZSB0aGlyZCBlbGVtZW50IikKKyAgICBzeXMuZXhpdCgxKQorcmV0ID0gcmVhZGVyLlJlYWQoKQoraWYgcmV0ICE9IDE6CisgICAgcHJpbnQoInRlc3RfbmV4dDogRXJyb3IgcmVhZGluZyB0byBlbmQgb2YgdGhpcmQgZWxlbWVudCIpCisgICAgc3lzLmV4aXQoMSkKK2lmIHJlYWRlci5OYW1lKCkgIT0gImIiIG9yIHJlYWRlci5Ob2RlVHlwZSgpICE9IDE1OgorICAgIHByaW50KCJ0ZXN0X25leHQ6IEVycm9yIHJlYWRpbmcgdG8gZW5kIG9mIHNlY29uZCBlbGVtZW50IikKKyAgICBzeXMuZXhpdCgxKQorcmV0ID0gcmVhZGVyLk5leHQoKQoraWYgcmV0ICE9IDE6CisgICAgcHJpbnQoInRlc3RfbmV4dDogRXJyb3IgbW92aW5nIHRvIHRoaXJkIGVsZW1lbnQiKQorICAgIHN5cy5leGl0KDEpCitpZiByZWFkZXIuTmFtZSgpICE9ICJkIiBvciByZWFkZXIuSXNFbXB0eUVsZW1lbnQoKSAhPSAwIG9yIFwKKyAgIHJlYWRlci5Ob2RlVHlwZSgpICE9IDEgb3IgcmVhZGVyLkhhc0F0dHJpYnV0ZXMoKSAhPSAwOgorICAgIHByaW50KCJ0ZXN0X25leHQ6IEVycm9yIHJlYWRpbmcgdGhpcmQgZWxlbWVudCIpCisgICAgc3lzLmV4aXQoMSkKK3JldCA9IHJlYWRlci5OZXh0KCkKK2lmIHJldCAhPSAxOgorICAgIHByaW50KCJ0ZXN0X25leHQ6IEVycm9yIHJlYWRpbmcgdG8gZW5kIG9mIGZpcnN0IGVsZW1lbnQiKQorICAgIHN5cy5leGl0KDEpCitpZiByZWFkZXIuTmFtZSgpICE9ICJhIiBvciByZWFkZXIuSXNFbXB0eUVsZW1lbnQoKSAhPSAwIG9yIFwKKyAgIHJlYWRlci5Ob2RlVHlwZSgpICE9IDE1IG9yIHJlYWRlci5IYXNBdHRyaWJ1dGVzKCkgIT0gMDoKKyAgICBwcmludCgidGVzdF9uZXh0OiBFcnJvciByZWFkaW5nIHRoZSBlbmQgb2YgZmlyc3QgZWxlbWVudCIpCisgICAgc3lzLmV4aXQoMSkKK3JldCA9IHJlYWRlci5SZWFkKCkKK2lmIHJldCAhPSAwOgorICAgIHByaW50KCJ0ZXN0X25leHQ6IEVycm9yIHJlYWRpbmcgdG8gZW5kIG9mIGRvY3VtZW50IikKKyAgICBzeXMuZXhpdCgxKQorCisjCisjIGNsZWFudXAgZm9yIG1lbW9yeSBhbGxvY2F0aW9uIGNvdW50aW5nCisjCitkZWwgZgorZGVsIGlucHV0CitkZWwgcmVhZGVyCisKKyMgTWVtb3J5IGRlYnVnIHNwZWNpZmljCitsaWJ4bWwyLmNsZWFudXBQYXJzZXIoKQoraWYgbGlieG1sMi5kZWJ1Z01lbW9yeSgxKSA9PSAwOgorICAgIHByaW50KCJPSyIpCitlbHNlOgorICAgIHByaW50KCJNZW1vcnkgbGVhayAlZCBieXRlcyIgJSAobGlieG1sMi5kZWJ1Z01lbW9yeSgxKSkpCisgICAgbGlieG1sMi5kdW1wTWVtb3J5KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcHl0aG9uL3Rlc3RzL3JlZ2V4cC5weSBiL2xpYnhtbDIvcHl0aG9uL3Rlc3RzL3JlZ2V4cC5weQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hMDNlNDU5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9weXRob24vdGVzdHMvcmVnZXhwLnB5CkBAIC0wLDAgKzEsMzIgQEAKKyMhL3Vzci9iaW4vcHl0aG9uIC11CitpbXBvcnQgbGlieG1sMgorCisjIE1lbW9yeSBkZWJ1ZyBzcGVjaWZpYworbGlieG1sMi5kZWJ1Z01lbW9yeSgxKQorCityZSA9IGxpYnhtbDIucmVnZXhwQ29tcGlsZSgiYXxiIikKK2lmIHJlLnJlZ2V4cEV4ZWMoImEiKSAhPSAxOgorICAgIHByaW50KCJlcnJvciBjaGVja2luZyAnYSciKQorICAgIHN5cy5leGl0KDEpCitpZiByZS5yZWdleHBFeGVjKCJiIikgIT0gMToKKyAgICBwcmludCgiZXJyb3IgY2hlY2tpbmcgJ2InIikKKyAgICBzeXMuZXhpdCgxKQoraWYgcmUucmVnZXhwRXhlYygiYWIiKSAhPSAwOgorICAgIHByaW50KCJlcnJvciBjaGVja2luZyAnYWInIikKKyAgICBzeXMuZXhpdCgxKQoraWYgcmUucmVnZXhwRXhlYygiIikgIT0gMDoKKyAgICBwcmludCgiZXJyb3IgY2hlY2tpbmcgJ2FiJyIpCisgICAgc3lzLmV4aXQoMSkKK2lmIHJlLnJlZ2V4cElzRGV0ZXJtaW5pc3QoKSAhPSAxOgorICAgIHByaW50KCJlcnJvciBjaGVja2luZyBkZXRlcm1pbmlzbSIpCisgICAgc3lzLmV4aXQoMSkKK2RlbCByZQorICAgIAorCisjIE1lbW9yeSBkZWJ1ZyBzcGVjaWZpYworbGlieG1sMi5jbGVhbnVwUGFyc2VyKCkKK2lmIGxpYnhtbDIuZGVidWdNZW1vcnkoMSkgPT0gMDoKKyAgICBwcmludCgiT0siKQorZWxzZToKKyAgICBwcmludCgiTWVtb3J5IGxlYWsgJWQgYnl0ZXMiICUgKGxpYnhtbDIuZGVidWdNZW1vcnkoMSkpKQorICAgIGxpYnhtbDIuZHVtcE1lbW9yeSgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3B5dGhvbi90ZXN0cy9yZWxheG5nLnB5IGIvbGlieG1sMi9weXRob24vdGVzdHMvcmVsYXhuZy5weQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mYTNkMzI3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9weXRob24vdGVzdHMvcmVsYXhuZy5weQpAQCAtMCwwICsxLDQ4IEBACisjIS91c3IvYmluL3B5dGhvbiAtdQoraW1wb3J0IGxpYnhtbDIKK2ltcG9ydCBzeXMKKworIyBNZW1vcnkgZGVidWcgc3BlY2lmaWMKK2xpYnhtbDIuZGVidWdNZW1vcnkoMSkKKworc2NoZW1hPSIiIjw/eG1sIHZlcnNpb249IjEuMCI/PgorPGVsZW1lbnQgbmFtZT0iZm9vIgorICAgICAgICAgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIgorICAgICAgICAgeG1sbnM6YT0iaHR0cDovL3JlbGF4bmcub3JnL25zL2Fubm90YXRpb24vMS4wIgorICAgICAgICAgeG1sbnM6ZXgxPSJodHRwOi8vd3d3LmV4YW1wbGUuY29tL24xIgorICAgICAgICAgeG1sbnM6ZXgyPSJodHRwOi8vd3d3LmV4YW1wbGUuY29tL24yIj4KKyAgPGE6ZG9jdW1lbnRhdGlvbj5BIGZvbyBlbGVtZW50LjwvYTpkb2N1bWVudGF0aW9uPgorICA8ZWxlbWVudCBuYW1lPSJleDE6YmFyMSI+CisgICAgPGVtcHR5Lz4KKyAgPC9lbGVtZW50PgorICA8ZWxlbWVudCBuYW1lPSJleDI6YmFyMiI+CisgICAgPGVtcHR5Lz4KKyAgPC9lbGVtZW50PgorPC9lbGVtZW50PgorIiIiCitpbnN0YW5jZT0iIiI8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxmb28+PHByZTE6YmFyMSB4bWxuczpwcmUxPSJodHRwOi8vd3d3LmV4YW1wbGUuY29tL24xIi8+PHByZTI6YmFyMiB4bWxuczpwcmUyPSJodHRwOi8vd3d3LmV4YW1wbGUuY29tL24yIi8+PC9mb28+IiIiCisKK3JuZ3AgPSBsaWJ4bWwyLnJlbGF4TkdOZXdNZW1QYXJzZXJDdHh0KHNjaGVtYSwgbGVuKHNjaGVtYSkpCitybmdzID0gcm5ncC5yZWxheE5HUGFyc2UoKQorY3R4dCA9IHJuZ3MucmVsYXhOR05ld1ZhbGlkQ3R4dCgpCitkb2MgPSBsaWJ4bWwyLnBhcnNlRG9jKGluc3RhbmNlKQorcmV0ID0gZG9jLnJlbGF4TkdWYWxpZGF0ZURvYyhjdHh0KQoraWYgcmV0ICE9IDA6CisgICAgcHJpbnQoImVycm9yIGRvaW5nIFJlbGF4TkcgdmFsaWRhdGlvbiIpCisgICAgc3lzLmV4aXQoMSkKKworZG9jLmZyZWVEb2MoKQorZGVsIHJuZ3AKK2RlbCBybmdzCitkZWwgY3R4dAorbGlieG1sMi5yZWxheE5HQ2xlYW51cFR5cGVzKCkKKworIyBNZW1vcnkgZGVidWcgc3BlY2lmaWMKK2xpYnhtbDIuY2xlYW51cFBhcnNlcigpCitpZiBsaWJ4bWwyLmRlYnVnTWVtb3J5KDEpID09IDA6CisgICAgcHJpbnQoIk9LIikKK2Vsc2U6CisgICAgcHJpbnQoIk1lbW9yeSBsZWFrICVkIGJ5dGVzIiAlIChsaWJ4bWwyLmRlYnVnTWVtb3J5KDEpKSkKKyAgICBsaWJ4bWwyLmR1bXBNZW1vcnkoKQorCmRpZmYgLS1naXQgYS9saWJ4bWwyL3B5dGhvbi90ZXN0cy9yZXNvbHZlci5weSBiL2xpYnhtbDIvcHl0aG9uL3Rlc3RzL3Jlc29sdmVyLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjZmMjFmNTIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3B5dGhvbi90ZXN0cy9yZXNvbHZlci5weQpAQCAtMCwwICsxLDQ0IEBACisjIS91c3IvYmluL3B5dGhvbiAtdQoraW1wb3J0IHN5cworaW1wb3J0IGxpYnhtbDIKK3RyeToKKyAgICBpbXBvcnQgU3RyaW5nSU8KKyAgICBzdHJfaW8gPSBTdHJpbmdJTy5TdHJpbmdJTworZXhjZXB0OgorICAgIGltcG9ydCBpbworICAgIHN0cl9pbyA9IGlvLlN0cmluZ0lPCisKKyMgTWVtb3J5IGRlYnVnIHNwZWNpZmljCitsaWJ4bWwyLmRlYnVnTWVtb3J5KDEpCisKK2RlZiBteVJlc29sdmVyKFVSTCwgSUQsIGN0eHQpOgorICAgIHJldHVybihzdHJfaW8oIjxmb28vPiIpKQorCitsaWJ4bWwyLnNldEVudGl0eUxvYWRlcihteVJlc29sdmVyKQorCitkb2MgPSBsaWJ4bWwyLnBhcnNlRmlsZSgiZG9lc25vdGV4aXN0LnhtbCIpCityb290ID0gZG9jLmNoaWxkcmVuCitpZiByb290Lm5hbWUgIT0gImZvbyI6CisgICAgcHJpbnQoInJvb3QgZWxlbWVudCBuYW1lIGVycm9yIikKKyAgICBzeXMuZXhpdCgxKQorZG9jLmZyZWVEb2MoKQorCitpID0gMAord2hpbGUgaSA8IDUwMDA6CisgICAgZG9jID0gbGlieG1sMi5wYXJzZUZpbGUoImRvZXNub3RleGlzdC54bWwiKQorICAgIHJvb3QgPSBkb2MuY2hpbGRyZW4KKyAgICBpZiByb290Lm5hbWUgIT0gImZvbyI6CisgICAgICAgIHByaW50KCJyb290IGVsZW1lbnQgbmFtZSBlcnJvciIpCisgICAgICAgIHN5cy5leGl0KDEpCisgICAgZG9jLmZyZWVEb2MoKQorICAgIGkgPSBpICsgMQorCisKKyMgTWVtb3J5IGRlYnVnIHNwZWNpZmljCitsaWJ4bWwyLmNsZWFudXBQYXJzZXIoKQoraWYgbGlieG1sMi5kZWJ1Z01lbW9yeSgxKSA9PSAwOgorICAgIHByaW50KCJPSyIpCitlbHNlOgorICAgIHByaW50KCJNZW1vcnkgbGVhayAlZCBieXRlcyIgJSAobGlieG1sMi5kZWJ1Z01lbW9yeSgxKSkpCisgICAgbGlieG1sMi5kdW1wTWVtb3J5KCkKKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9weXRob24vdGVzdHMvc2NoZW1hLnB5IGIvbGlieG1sMi9weXRob24vdGVzdHMvc2NoZW1hLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjgwODkyNzIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3B5dGhvbi90ZXN0cy9zY2hlbWEucHkKQEAgLTAsMCArMSw1MiBAQAorIyEvdXNyL2Jpbi9weXRob24gLXUKK2ltcG9ydCBsaWJ4bWwyCitpbXBvcnQgc3lzCisKKyMgTWVtb3J5IGRlYnVnIHNwZWNpZmljCitsaWJ4bWwyLmRlYnVnTWVtb3J5KDEpCisKK3NjaGVtYT0iIiI8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJpc28tODg1OS0xIj8+Cis8c2NoZW1hIHhtbG5zID0gImh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIj4KKwk8ZWxlbWVudCBuYW1lID0gIkN1c3RvbWVyIj4KKwkJPGNvbXBsZXhUeXBlPgorCQkJPHNlcXVlbmNlPgorCQkJCTxlbGVtZW50IG5hbWUgPSAiRmlyc3ROYW1lIiB0eXBlID0gInN0cmluZyIgLz4KKwkJCQk8ZWxlbWVudCBuYW1lID0gIk1pZGRsZUluaXRpYWwiIHR5cGUgPSAic3RyaW5nIiAvPgorCQkJCTxlbGVtZW50IG5hbWUgPSAiTGFzdE5hbWUiIHR5cGUgPSAic3RyaW5nIiAvPgorCQkJPC9zZXF1ZW5jZT4KKwkJCTxhdHRyaWJ1dGUgbmFtZSA9ICJjdXN0b21lcklEIiB0eXBlID0gImludGVnZXIiIC8+CisJCTwvY29tcGxleFR5cGU+CisJPC9lbGVtZW50PgorPC9zY2hlbWE+IiIiCisKK2luc3RhbmNlPSIiIjw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9Imlzby04ODU5LTEiPz4KKzxDdXN0b21lciBjdXN0b21lcklEID0gIjI0MzMyIj4KKwk8Rmlyc3ROYW1lPlJheW1vbmQ8L0ZpcnN0TmFtZT4KKwk8TWlkZGxlSW5pdGlhbD5HPC9NaWRkbGVJbml0aWFsPgorCTxMYXN0TmFtZT5CYXlsaXNzPC9MYXN0TmFtZT4KKzwvQ3VzdG9tZXI+CQorIiIiCisKK2N0eHRfcGFyc2VyID0gbGlieG1sMi5zY2hlbWFOZXdNZW1QYXJzZXJDdHh0KHNjaGVtYSwgbGVuKHNjaGVtYSkpCitjdHh0X3NjaGVtYSA9IGN0eHRfcGFyc2VyLnNjaGVtYVBhcnNlKCkKK2N0eHRfdmFsaWQgID0gY3R4dF9zY2hlbWEuc2NoZW1hTmV3VmFsaWRDdHh0KCkKK2RvYyA9IGxpYnhtbDIucGFyc2VEb2MoaW5zdGFuY2UpCityZXQgPSBkb2Muc2NoZW1hVmFsaWRhdGVEb2MoY3R4dF92YWxpZCkKK2lmIHJldCAhPSAwOgorICAgIHByaW50KCJlcnJvciBkb2luZyBzY2hlbWEgdmFsaWRhdGlvbiIpCisgICAgc3lzLmV4aXQoMSkKKworZG9jLmZyZWVEb2MoKQorZGVsIGN0eHRfcGFyc2VyCitkZWwgY3R4dF9zY2hlbWEKK2RlbCBjdHh0X3ZhbGlkCitsaWJ4bWwyLnNjaGVtYUNsZWFudXBUeXBlcygpCisKKyMgTWVtb3J5IGRlYnVnIHNwZWNpZmljCitsaWJ4bWwyLmNsZWFudXBQYXJzZXIoKQoraWYgbGlieG1sMi5kZWJ1Z01lbW9yeSgxKSA9PSAwOgorICAgIHByaW50KCJPSyIpCitlbHNlOgorICAgIHByaW50KCJNZW1vcnkgbGVhayAlZCBieXRlcyIgJSAobGlieG1sMi5kZWJ1Z01lbW9yeSgxKSkpCisgICAgbGlieG1sMi5kdW1wTWVtb3J5KCkKKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9weXRob24vdGVzdHMvc2VyaWFsaXplLnB5IGIvbGlieG1sMi9weXRob24vdGVzdHMvc2VyaWFsaXplLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjgwYjkwMWEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3B5dGhvbi90ZXN0cy9zZXJpYWxpemUucHkKQEAgLTAsMCArMSwxNTAgQEAKKyMhL3Vzci9iaW4vcHl0aG9uIC11CitpbXBvcnQgc3lzCitpbXBvcnQgbGlieG1sMgorCisjIE1lbW9yeSBkZWJ1ZyBzcGVjaWZpYworbGlieG1sMi5kZWJ1Z01lbW9yeSgxKQorCisjCisjIFRlc3RpbmcgWE1MIGRvY3VtZW50IHNlcmlhbGl6YXRpb24KKyMKK2RvYyA9IGxpYnhtbDIucGFyc2VEb2MoIiIiPHJvb3Q+PGZvbz5oZWxsbzwvZm9vPjwvcm9vdD4iIiIpCitzdHIgPSBkb2Muc2VyaWFsaXplKCkKK2lmIHN0ciAhPSAiIiI8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxyb290Pjxmb28+aGVsbG88L2Zvbz48L3Jvb3Q+CisiIiI6CisgICBwcmludCgiZXJyb3Igc2VyaWFsaXppbmcgWE1MIGRvY3VtZW50IDEiKQorICAgc3lzLmV4aXQoMSkKK3N0ciA9IGRvYy5zZXJpYWxpemUoImlzby04ODU5LTEiKQoraWYgc3RyICE9ICIiIjw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9Imlzby04ODU5LTEiPz4KKzxyb290Pjxmb28+aGVsbG88L2Zvbz48L3Jvb3Q+CisiIiI6CisgICBwcmludCgiZXJyb3Igc2VyaWFsaXppbmcgWE1MIGRvY3VtZW50IDIiKQorICAgc3lzLmV4aXQoMSkKK3N0ciA9IGRvYy5zZXJpYWxpemUoZm9ybWF0PTEpCitpZiBzdHIgIT0gIiIiPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8cm9vdD4KKyAgPGZvbz5oZWxsbzwvZm9vPgorPC9yb290PgorIiIiOgorICAgcHJpbnQoImVycm9yIHNlcmlhbGl6aW5nIFhNTCBkb2N1bWVudCAzIikKKyAgIHN5cy5leGl0KDEpCitzdHIgPSBkb2Muc2VyaWFsaXplKCJpc28tODg1OS0xIiwgMSkKK2lmIHN0ciAhPSAiIiI8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJpc28tODg1OS0xIj8+Cis8cm9vdD4KKyAgPGZvbz5oZWxsbzwvZm9vPgorPC9yb290PgorIiIiOgorICAgcHJpbnQoImVycm9yIHNlcmlhbGl6aW5nIFhNTCBkb2N1bWVudCA0IikKKyAgIHN5cy5leGl0KDEpCisKKyMKKyMgVGVzdCBzZXJpYWxpemluZyBhIHN1Ym5vZGUKKyMKK3Jvb3QgPSBkb2MuZ2V0Um9vdEVsZW1lbnQoKQorc3RyID0gcm9vdC5zZXJpYWxpemUoKQoraWYgc3RyICE9ICIiIjxyb290Pjxmb28+aGVsbG88L2Zvbz48L3Jvb3Q+IiIiOgorICAgcHJpbnQoImVycm9yIHNlcmlhbGl6aW5nIFhNTCByb290IDEiKQorICAgc3lzLmV4aXQoMSkKK3N0ciA9IHJvb3Quc2VyaWFsaXplKCJpc28tODg1OS0xIikKK2lmIHN0ciAhPSAiIiI8cm9vdD48Zm9vPmhlbGxvPC9mb28+PC9yb290PiIiIjoKKyAgIHByaW50KCJlcnJvciBzZXJpYWxpemluZyBYTUwgcm9vdCAyIikKKyAgIHN5cy5leGl0KDEpCitzdHIgPSByb290LnNlcmlhbGl6ZShmb3JtYXQ9MSkKK2lmIHN0ciAhPSAiIiI8cm9vdD4KKyAgPGZvbz5oZWxsbzwvZm9vPgorPC9yb290PiIiIjoKKyAgIHByaW50KCJlcnJvciBzZXJpYWxpemluZyBYTUwgcm9vdCAzIikKKyAgIHN5cy5leGl0KDEpCitzdHIgPSByb290LnNlcmlhbGl6ZSgiaXNvLTg4NTktMSIsIDEpCitpZiBzdHIgIT0gIiIiPHJvb3Q+CisgIDxmb28+aGVsbG88L2Zvbz4KKzwvcm9vdD4iIiI6CisgICBwcmludCgiZXJyb3Igc2VyaWFsaXppbmcgWE1MIHJvb3QgNCIpCisgICBzeXMuZXhpdCgxKQorZG9jLmZyZWVEb2MoKQorCisjCisjIFRlc3RpbmcgSFRNTCBkb2N1bWVudCBzZXJpYWxpemF0aW9uCisjCitkb2MgPSBsaWJ4bWwyLmh0bWxQYXJzZURvYygiIiI8aHRtbD48aGVhZD48dGl0bGU+SGVsbG88L3RpdGxlPjxib2R5PjxwPmhlbGxvPC9ib2R5PjwvaHRtbD4iIiIsIE5vbmUpCitzdHIgPSBkb2Muc2VyaWFsaXplKCkKK2lmIHN0ciAhPSAiIiI8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtaHRtbDQwL2xvb3NlLmR0ZCI+Cis8aHRtbD48aGVhZD48dGl0bGU+SGVsbG88L3RpdGxlPjwvaGVhZD48Ym9keT48cD5oZWxsbzwvcD48L2JvZHk+PC9odG1sPgorIiIiOgorICAgcHJpbnQoImVycm9yIHNlcmlhbGl6aW5nIEhUTUwgZG9jdW1lbnQgMSIpCisgICBzeXMuZXhpdCgxKQorc3RyID0gZG9jLnNlcmlhbGl6ZSgiSVNPLTg4NTktMSIpCitpZiBzdHIgIT0gIiIiPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLWh0bWw0MC9sb29zZS5kdGQiPgorPGh0bWw+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9SVNPLTg4NTktMSI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWQ+PGJvZHk+PHA+aGVsbG88L3A+PC9ib2R5PjwvaHRtbD4KKyIiIjoKKyAgIHByaW50KCJlcnJvciBzZXJpYWxpemluZyBIVE1MIGRvY3VtZW50IDIiKQorICAgc3lzLmV4aXQoMSkKK3N0ciA9IGRvYy5zZXJpYWxpemUoZm9ybWF0PTEpCitpZiBzdHIgIT0gIiIiPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLWh0bWw0MC9sb29zZS5kdGQiPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTEiPgorPHRpdGxlPkhlbGxvPC90aXRsZT4KKzwvaGVhZD4KKzxib2R5PjxwPmhlbGxvPC9wPjwvYm9keT4KKzwvaHRtbD4KKyIiIjoKKyAgIHByaW50KCJlcnJvciBzZXJpYWxpemluZyBIVE1MIGRvY3VtZW50IDMiKQorICAgc3lzLmV4aXQoMSkKK3N0ciA9IGRvYy5zZXJpYWxpemUoImlzby04ODU5LTEiLCAxKQoraWYgc3RyICE9ICIiIjwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy1odG1sNDAvbG9vc2UuZHRkIj4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1JU08tODg1OS0xIj4KKzx0aXRsZT5IZWxsbzwvdGl0bGU+Cis8L2hlYWQ+Cis8Ym9keT48cD5oZWxsbzwvcD48L2JvZHk+Cis8L2h0bWw+CisiIiI6CisgICBwcmludCgiZXJyb3Igc2VyaWFsaXppbmcgSFRNTCBkb2N1bWVudCA0IikKKyAgIHN5cy5leGl0KDEpCisKKyMKKyMgVGVzdCBzZXJpYWxpemluZyBhIHN1Ym5vZGUKKyMKK2RvYy5odG1sU2V0TWV0YUVuY29kaW5nKE5vbmUpCityb290ID0gZG9jLmdldFJvb3RFbGVtZW50KCkKK3N0ciA9IHJvb3Quc2VyaWFsaXplKCkKK2lmIHN0ciAhPSAiIiI8aHRtbD48aGVhZD48dGl0bGU+SGVsbG88L3RpdGxlPjwvaGVhZD48Ym9keT48cD5oZWxsbzwvcD48L2JvZHk+PC9odG1sPiIiIjoKKyAgIHByaW50KCJlcnJvciBzZXJpYWxpemluZyBIVE1MIHJvb3QgMSIpCisgICBzeXMuZXhpdCgxKQorc3RyID0gcm9vdC5zZXJpYWxpemUoIklTTy04ODU5LTEiKQoraWYgc3RyICE9ICIiIjxodG1sPjxoZWFkPjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTEiPjx0aXRsZT5IZWxsbzwvdGl0bGU+PC9oZWFkPjxib2R5PjxwPmhlbGxvPC9wPjwvYm9keT48L2h0bWw+IiIiOgorICAgcHJpbnQoImVycm9yIHNlcmlhbGl6aW5nIEhUTUwgcm9vdCAyIikKKyAgIHN5cy5leGl0KDEpCitzdHIgPSByb290LnNlcmlhbGl6ZShmb3JtYXQ9MSkKK2lmIHN0ciAhPSAiIiI8aHRtbD4KKzxoZWFkPgorPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9SVNPLTg4NTktMSI+Cis8dGl0bGU+SGVsbG88L3RpdGxlPgorPC9oZWFkPgorPGJvZHk+PHA+aGVsbG88L3A+PC9ib2R5PgorPC9odG1sPiIiIjoKKyAgIHByaW50KCJlcnJvciBzZXJpYWxpemluZyBIVE1MIHJvb3QgMyIpCisgICBzeXMuZXhpdCgxKQorc3RyID0gcm9vdC5zZXJpYWxpemUoImlzby04ODU5LTEiLCAxKQoraWYgc3RyICE9ICIiIjxodG1sPgorPGhlYWQ+Cis8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1JU08tODg1OS0xIj4KKzx0aXRsZT5IZWxsbzwvdGl0bGU+Cis8L2hlYWQ+Cis8Ym9keT48cD5oZWxsbzwvcD48L2JvZHk+Cis8L2h0bWw+IiIiOgorICAgcHJpbnQoImVycm9yIHNlcmlhbGl6aW5nIEhUTUwgcm9vdCA0IikKKyAgIHN5cy5leGl0KDEpCisKK2RvYy5mcmVlRG9jKCkKKworIyBNZW1vcnkgZGVidWcgc3BlY2lmaWMKK2xpYnhtbDIuY2xlYW51cFBhcnNlcigpCitpZiBsaWJ4bWwyLmRlYnVnTWVtb3J5KDEpID09IDA6CisgICAgcHJpbnQoIk9LIikKK2Vsc2U6CisgICAgcHJpbnQoIk1lbW9yeSBsZWFrICVkIGJ5dGVzIiAlIChsaWJ4bWwyLmRlYnVnTWVtb3J5KDEpKSkKKyAgICBsaWJ4bWwyLmR1bXBNZW1vcnkoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9weXRob24vdGVzdHMvc3luYy5weSBiL2xpYnhtbDIvcHl0aG9uL3Rlc3RzL3N5bmMucHkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNWE4NjA5ZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcHl0aG9uL3Rlc3RzL3N5bmMucHkKQEAgLTAsMCArMSwxMzggQEAKKyMhL3Vzci9iaW4vcHl0aG9uIC11CitpbXBvcnQgc3lzCitpbXBvcnQgbGlieG1sMgorCisjIE1lbW9yeSBkZWJ1ZyBzcGVjaWZpYworbGlieG1sMi5kZWJ1Z01lbW9yeSgxKQorCitsb2cgPSAiIgorCitjbGFzcyBjYWxsYmFjazoKKyAgICBkZWYgc3RhcnREb2N1bWVudChzZWxmKToKKyAgICAgICAgZ2xvYmFsIGxvZworICAgICAgICBsb2cgPSBsb2cgKyAic3RhcnREb2N1bWVudDoiCisKKyAgICBkZWYgZW5kRG9jdW1lbnQoc2VsZik6CisgICAgICAgIGdsb2JhbCBsb2cKKyAgICAgICAgbG9nID0gbG9nICsgImVuZERvY3VtZW50OiIKKworICAgIGRlZiBzdGFydEVsZW1lbnQoc2VsZiwgdGFnLCBhdHRycyk6CisgICAgICAgIGdsb2JhbCBsb2cKKyAgICAgICAgbG9nID0gbG9nICsgInN0YXJ0RWxlbWVudCAlcyAlczoiICUgKHRhZywgYXR0cnMpCisKKyAgICBkZWYgZW5kRWxlbWVudChzZWxmLCB0YWcpOgorICAgICAgICBnbG9iYWwgbG9nCisgICAgICAgIGxvZyA9IGxvZyArICJlbmRFbGVtZW50ICVzOiIgJSAodGFnKQorCisgICAgZGVmIGNoYXJhY3RlcnMoc2VsZiwgZGF0YSk6CisgICAgICAgIGdsb2JhbCBsb2cKKyAgICAgICAgbG9nID0gbG9nICsgImNoYXJhY3RlcnM6ICVzOiIgJSAoZGF0YSkKKworICAgIGRlZiB3YXJuaW5nKHNlbGYsIG1zZyk6CisgICAgICAgIGdsb2JhbCBsb2cKKyAgICAgICAgbG9nID0gbG9nICsgIndhcm5pbmc6ICVzOiIgJSAobXNnKQorCisgICAgZGVmIGVycm9yKHNlbGYsIG1zZyk6CisgICAgICAgIGdsb2JhbCBsb2cKKyAgICAgICAgbG9nID0gbG9nICsgImVycm9yOiAlczoiICUgKG1zZykKKworICAgIGRlZiBmYXRhbEVycm9yKHNlbGYsIG1zZyk6CisgICAgICAgIGdsb2JhbCBsb2cKKyAgICAgICAgbG9nID0gbG9nICsgImZhdGFsRXJyb3I6ICVzOiIgJSAobXNnKQorCitoYW5kbGVyID0gY2FsbGJhY2soKQorCitsb2c9IiIKK2NodW5rPSIiIjxmb28+PGJhcjIvPiIiIgorY3R4dCA9IGxpYnhtbDIuY3JlYXRlUHVzaFBhcnNlcihoYW5kbGVyLCBOb25lLCAwLCAidGVzdC54bWwiKQorY3R4dC5wYXJzZUNodW5rKGNodW5rLCBsZW4oY2h1bmspLCAwKQorY3R4dD1Ob25lCisKK3JlZmVyZW5jZSA9ICJzdGFydERvY3VtZW50OnN0YXJ0RWxlbWVudCBmb28gTm9uZTpzdGFydEVsZW1lbnQgYmFyMiBOb25lOmVuZEVsZW1lbnQgYmFyMjoiCitpZiBsb2cgIT0gcmVmZXJlbmNlOgorICAgIHByaW50KCJFcnJvciBnb3Q6ICVzIiAlIGxvZykKKyAgICBwcmludCgiRXhwZWN0ZWQ6ICVzIiAlIHJlZmVyZW5jZSkKKyAgICBzeXMuZXhpdCgxKQorCitsb2c9IiIKK2NodW5rPSIiIjxmb28+PGJhcjI+PC9iYXIyPiIiIgorY3R4dCA9IGxpYnhtbDIuY3JlYXRlUHVzaFBhcnNlcihoYW5kbGVyLCBOb25lLCAwLCAidGVzdC54bWwiKQorY3R4dC5wYXJzZUNodW5rKGNodW5rLCBsZW4oY2h1bmspLCAwKQorY3R4dD1Ob25lCisKK3JlZmVyZW5jZSA9ICJzdGFydERvY3VtZW50OnN0YXJ0RWxlbWVudCBmb28gTm9uZTpzdGFydEVsZW1lbnQgYmFyMiBOb25lOmVuZEVsZW1lbnQgYmFyMjoiCitpZiBsb2cgIT0gcmVmZXJlbmNlOgorICAgIHByaW50KCJFcnJvciBnb3Q6ICVzIiAlIGxvZykKKyAgICBwcmludCgiRXhwZWN0ZWQ6ICVzIiAlIHJlZmVyZW5jZSkKKyAgICBzeXMuZXhpdCgxKQorCitsb2c9IiIKK2NodW5rPSIiIjxmb28+PGJhcjI+IiIiCitjdHh0ID0gbGlieG1sMi5jcmVhdGVQdXNoUGFyc2VyKGhhbmRsZXIsIE5vbmUsIDAsICJ0ZXN0LnhtbCIpCitjdHh0LnBhcnNlQ2h1bmsoY2h1bmssIGxlbihjaHVuayksIDApCitjdHh0PU5vbmUKKworcmVmZXJlbmNlID0gInN0YXJ0RG9jdW1lbnQ6c3RhcnRFbGVtZW50IGZvbyBOb25lOnN0YXJ0RWxlbWVudCBiYXIyIE5vbmU6IgoraWYgbG9nICE9IHJlZmVyZW5jZToKKyAgICBwcmludCgiRXJyb3IgZ290OiAlcyIgJSBsb2cpCisgICAgcHJpbnQoIkV4cGVjdGVkOiAlcyIgJSByZWZlcmVuY2UpCisgICAgc3lzLmV4aXQoMSkKKworbG9nPSIiCitjaHVuaz0iIiI8Zm9vPjxiYXIyIGE9IjEiIGI9JzInIC8+IiIiCitjdHh0ID0gbGlieG1sMi5jcmVhdGVQdXNoUGFyc2VyKGhhbmRsZXIsIE5vbmUsIDAsICJ0ZXN0LnhtbCIpCitjdHh0LnBhcnNlQ2h1bmsoY2h1bmssIGxlbihjaHVuayksIDApCitjdHh0PU5vbmUKKworcmVmZXJlbmNlMSA9ICJzdGFydERvY3VtZW50OnN0YXJ0RWxlbWVudCBmb28gTm9uZTpzdGFydEVsZW1lbnQgYmFyMiB7J2EnOiAnMScsICdiJzogJzInfTplbmRFbGVtZW50IGJhcjI6IgorcmVmZXJlbmNlMiA9ICJzdGFydERvY3VtZW50OnN0YXJ0RWxlbWVudCBmb28gTm9uZTpzdGFydEVsZW1lbnQgYmFyMiB7J2InOiAnMicsICdhJzogJzEnfTplbmRFbGVtZW50IGJhcjI6IgoraWYgbG9nIG5vdCBpbiAocmVmZXJlbmNlMSwgcmVmZXJlbmNlMik6CisgICAgcHJpbnQoIkVycm9yIGdvdDogJXMiICUgbG9nKQorICAgIHByaW50KCJFeHBlY3RlZDogJXMiICUgcmVmZXJlbmNlKQorICAgIHN5cy5leGl0KDEpCisKK2xvZz0iIgorY2h1bms9IiIiPGZvbz48YmFyMiBhPSIxIiBiPScyJyA+IiIiCitjdHh0ID0gbGlieG1sMi5jcmVhdGVQdXNoUGFyc2VyKGhhbmRsZXIsIE5vbmUsIDAsICJ0ZXN0LnhtbCIpCitjdHh0LnBhcnNlQ2h1bmsoY2h1bmssIGxlbihjaHVuayksIDApCitjdHh0PU5vbmUKKworcmVmZXJlbmNlMSA9ICJzdGFydERvY3VtZW50OnN0YXJ0RWxlbWVudCBmb28gTm9uZTpzdGFydEVsZW1lbnQgYmFyMiB7J2EnOiAnMScsICdiJzogJzInfToiCityZWZlcmVuY2UyID0gInN0YXJ0RG9jdW1lbnQ6c3RhcnRFbGVtZW50IGZvbyBOb25lOnN0YXJ0RWxlbWVudCBiYXIyIHsnYic6ICcyJywgJ2EnOiAnMSd9OiIKK2lmIGxvZyBub3QgaW4gKHJlZmVyZW5jZTEsIHJlZmVyZW5jZTIpOgorICAgIHByaW50KCJFcnJvciBnb3Q6ICVzIiAlIGxvZykKKyAgICBwcmludCgiRXhwZWN0ZWQ6ICVzIiAlIHJlZmVyZW5jZSkKKyAgICBzeXMuZXhpdCgxKQorCitsb2c9IiIKK2NodW5rPSIiIjxmb28+PGJhcjIgYT0iMSIgYj0nMicgPjwvYmFyMj4iIiIKK2N0eHQgPSBsaWJ4bWwyLmNyZWF0ZVB1c2hQYXJzZXIoaGFuZGxlciwgTm9uZSwgMCwgInRlc3QueG1sIikKK2N0eHQucGFyc2VDaHVuayhjaHVuaywgbGVuKGNodW5rKSwgMCkKK2N0eHQ9Tm9uZQorCityZWZlcmVuY2UxID0gInN0YXJ0RG9jdW1lbnQ6c3RhcnRFbGVtZW50IGZvbyBOb25lOnN0YXJ0RWxlbWVudCBiYXIyIHsnYSc6ICcxJywgJ2InOiAnMid9OmVuZEVsZW1lbnQgYmFyMjoiCityZWZlcmVuY2UyID0gInN0YXJ0RG9jdW1lbnQ6c3RhcnRFbGVtZW50IGZvbyBOb25lOnN0YXJ0RWxlbWVudCBiYXIyIHsnYic6ICcyJywgJ2EnOiAnMSd9OmVuZEVsZW1lbnQgYmFyMjoiCitpZiBsb2cgbm90IGluIChyZWZlcmVuY2UxLCByZWZlcmVuY2UyKToKKyAgICBwcmludCgiRXJyb3IgZ290OiAlcyIgJSBsb2cpCisgICAgcHJpbnQoIkV4cGVjdGVkOiAlcyIgJSByZWZlcmVuY2UpCisgICAgc3lzLmV4aXQoMSkKKworbG9nPSIiCitjaHVuaz0iIiI8Zm9vPjxiYXIyIGE9ImI9JzEnIC8+IiIiCitjdHh0ID0gbGlieG1sMi5jcmVhdGVQdXNoUGFyc2VyKGhhbmRsZXIsIE5vbmUsIDAsICJ0ZXN0LnhtbCIpCitjdHh0LnBhcnNlQ2h1bmsoY2h1bmssIGxlbihjaHVuayksIDApCitjdHh0PU5vbmUKKworcmVmZXJlbmNlID0gInN0YXJ0RG9jdW1lbnQ6c3RhcnRFbGVtZW50IGZvbyBOb25lOiIKK2lmIGxvZyAhPSByZWZlcmVuY2U6CisgICAgcHJpbnQoIkVycm9yIGdvdDogJXMiICUgbG9nKQorICAgIHByaW50KCJFeHBlY3RlZDogJXMiICUgcmVmZXJlbmNlKQorICAgIHN5cy5leGl0KDEpCisKKyMgTWVtb3J5IGRlYnVnIHNwZWNpZmljCitsaWJ4bWwyLmNsZWFudXBQYXJzZXIoKQoraWYgbGlieG1sMi5kZWJ1Z01lbW9yeSgxKSA9PSAwOgorICAgIHByaW50KCJPSyIpCitlbHNlOgorICAgIHByaW50KCJNZW1vcnkgbGVhayAlZCBieXRlcyIgJSAobGlieG1sMi5kZWJ1Z01lbW9yeSgxKSkpCisgICAgbGlieG1sMi5kdW1wTWVtb3J5KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcHl0aG9uL3Rlc3RzL3Rlc3QuZHRkIGIvbGlieG1sMi9weXRob24vdGVzdHMvdGVzdC5kdGQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjYxYjQzOAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcHl0aG9uL3Rlc3RzL3Rlc3QuZHRkCkBAIC0wLDAgKzEgQEAKKzwhRUxFTUVOVCBmb28gRU1QVFk+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3B5dGhvbi90ZXN0cy90aHJlYWQyLnB5IGIvbGlieG1sMi9weXRob24vdGVzdHMvdGhyZWFkMi5weQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yNzQ5ZWIwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9weXRob24vdGVzdHMvdGhyZWFkMi5weQpAQCAtMCwwICsxLDk5IEBACisjIS91c3IvYmluL3B5dGhvbiAtdQoraW1wb3J0IHN0cmluZywgc3lzLCB0aW1lCit0cnk6CisgICAgZnJvbSBfdGhyZWFkIGltcG9ydCBnZXRfaWRlbnQKK2V4Y2VwdDoKKyAgICBmcm9tIHRocmVhZCBpbXBvcnQgZ2V0X2lkZW50Citmcm9tIHRocmVhZGluZyBpbXBvcnQgVGhyZWFkLCBMb2NrCisKK2ltcG9ydCBsaWJ4bWwyCisKK1RIUkVBRFNfQ09VTlQgPSAxNQorCitmYWlsZWQgPSAwCisKK2NsYXNzIEVycm9ySGFuZGxlcjoKKworICAgIGRlZiBfX2luaXRfXyhzZWxmKToKKyAgICAgICAgc2VsZi5lcnJvcnMgPSBbXQorICAgICAgICBzZWxmLmxvY2sgPSBMb2NrKCkKKworICAgIGRlZiBoYW5kbGVyKHNlbGYsY3R4LHN0cik6CisgICAgICAgIHNlbGYubG9jay5hY3F1aXJlKCkKKyAgICAgICAgc2VsZi5lcnJvcnMuYXBwZW5kKHN0cikKKyAgICAgICAgc2VsZi5sb2NrLnJlbGVhc2UoKQorCitkZWYgZ2V0TGluZU51bWJlcnNEZWZhdWx0KCk6CisgICAgb2xkID0gbGlieG1sMi5saW5lTnVtYmVyc0RlZmF1bHQoMCkKKyAgICBsaWJ4bWwyLmxpbmVOdW1iZXJzRGVmYXVsdChvbGQpCisgICAgcmV0dXJuIG9sZAorCitkZWYgdGVzdChleHBlY3RlZExpbmVOdW1iZXJzRGVmYXVsdCk6CisgICAgdGltZS5zbGVlcCgxKQorICAgIGdsb2JhbCBmYWlsZWQKKyAgICAjIGNoZWNrIGEgcGVyIHRocmVhZC1nbG9iYWwKKyAgICBpZiBleHBlY3RlZExpbmVOdW1iZXJzRGVmYXVsdCAhPSBnZXRMaW5lTnVtYmVyc0RlZmF1bHQoKToKKyAgICAgICAgZmFpbGVkID0gMQorICAgICAgICBwcmludCgiRkFJTEVEIHRvIG9idGFpbiBjb3JyZWN0IHZhbHVlIGZvciAiIFwKKyAgICAgICAgICAgICAgImxpbmVOdW1iZXJzRGVmYXVsdCBpbiB0aHJlYWQgJWQiICUgZ2V0X2lkZW50KCkpCisgICAgIyBjaGVjayB0aGVyIGdsb2JhbCBlcnJvciBoYW5kbGVyIAorICAgICMgKHdoaWNoIGlzIE5PVCBwZXItdGhyZWFkIGluIHRoZSBweXRob24gYmluZGluZ3MpCisgICAgdHJ5OgorICAgICAgICBkb2MgPSBsaWJ4bWwyLnBhcnNlRmlsZSgiYmFkLnhtbCIpCisgICAgZXhjZXB0OgorICAgICAgICBwYXNzCisgICAgZWxzZToKKyAgICAgICAgYXNzZXJ0ICJmYWlsZWQiCisKKyMgZ2xvYmFsIGVycm9yIGhhbmRsZXIKK2VoID0gRXJyb3JIYW5kbGVyKCkKK2xpYnhtbDIucmVnaXN0ZXJFcnJvckhhbmRsZXIoZWguaGFuZGxlciwiIikKKworIyBzZXQgb24gdGhlIG1haW4gdGhyZWFkIG9ubHkKK2xpYnhtbDIubGluZU51bWJlcnNEZWZhdWx0KDEpIAordGVzdCgxKQorZWMgPSBsZW4oZWguZXJyb3JzKQoraWYgZWMgPT0gMDoKKyAgICBwcmludCgiRkFJTEVEOiBzaG91bGQgaGF2ZSBvYnRhaW5lZCBlcnJvcnMiKQorICAgIHN5cy5leGl0KDEpCisKK3RzID0gW10KK2ZvciBpIGluIHJhbmdlKFRIUkVBRFNfQ09VTlQpOgorICAgICMgZXhwZWN0IDAgZm9yIGxpbmVOdW1iZXJzRGVmYXVsdCBiZWNhdXNlCisgICAgIyB0aGUgbmV3IHZhbHVlIGhhcyBiZWVuIHNldCBvbiB0aGUgbWFpbiB0aHJlYWQgb25seQorICAgIHRzLmFwcGVuZChUaHJlYWQodGFyZ2V0PXRlc3QsYXJncz0oMCwpKSkKK2ZvciB0IGluIHRzOgorICAgIHQuc3RhcnQoKQorZm9yIHQgaW4gdHM6CisgICAgdC5qb2luKCkKKworaWYgbGVuKGVoLmVycm9ycykgIT0gZWMrVEhSRUFEU19DT1VOVCplYzoKKyAgICBwcmludCgiRkFJTEVEOiBkaWQgbm90IG9idGFpbiB0aGUgY29ycmVjdCBudW1iZXIgb2YgZXJyb3JzIikKKyAgICBzeXMuZXhpdCgxKQorCisjIHNldCBsaW5lTnVtYmVyc0RlZmF1bHQgZm9yIGZ1dHVyZSBuZXcgdGhyZWFkcworbGlieG1sMi50aHJEZWZMaW5lTnVtYmVyc0RlZmF1bHRWYWx1ZSgxKQordHMgPSBbXQorZm9yIGkgaW4gcmFuZ2UoVEhSRUFEU19DT1VOVCk6CisgICAgIyBleHBlY3QgMSBmb3IgbGluZU51bWJlcnNEZWZhdWx0CisgICAgdHMuYXBwZW5kKFRocmVhZCh0YXJnZXQ9dGVzdCxhcmdzPSgxLCkpKQorZm9yIHQgaW4gdHM6CisgICAgdC5zdGFydCgpCitmb3IgdCBpbiB0czoKKyAgICB0LmpvaW4oKQorCitpZiBsZW4oZWguZXJyb3JzKSAhPSBlYytUSFJFQURTX0NPVU5UKmVjKjI6CisgICAgcHJpbnQoIkZBSUxFRDogZGlkIG5vdCBvYnRhaW4gdGhlIGNvcnJlY3QgbnVtYmVyIG9mIGVycm9ycyIpCisgICAgc3lzLmV4aXQoMSkKKworaWYgZmFpbGVkOgorICAgIHByaW50KCJGQUlMRUQiKQorICAgIHN5cy5leGl0KDEpCisKKyMgTWVtb3J5IGRlYnVnIHNwZWNpZmljCitsaWJ4bWwyLmNsZWFudXBQYXJzZXIoKQoraWYgbGlieG1sMi5kZWJ1Z01lbW9yeSgxKSA9PSAwOgorICAgIHByaW50KCJPSyIpCitlbHNlOgorICAgIHByaW50KCJNZW1vcnkgbGVhayAlZCBieXRlcyIgJSAobGlieG1sMi5kZWJ1Z01lbW9yeSgxKSkpCisgICAgbGlieG1sMi5kdW1wTWVtb3J5KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcHl0aG9uL3Rlc3RzL3RzdC5weSBiL2xpYnhtbDIvcHl0aG9uL3Rlc3RzL3RzdC5weQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41N2E3MzE4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9weXRob24vdGVzdHMvdHN0LnB5CkBAIC0wLDAgKzEsMjggQEAKKyMhL3Vzci9iaW4vcHl0aG9uIC11CitpbXBvcnQgc3lzCitpbXBvcnQgbGlieG1sMgorCisjIE1lbW9yeSBkZWJ1ZyBzcGVjaWZpYworbGlieG1sMi5kZWJ1Z01lbW9yeSgxKQorCitkb2MgPSBsaWJ4bWwyLnBhcnNlRmlsZSgidHN0LnhtbCIpCitpZiBkb2MubmFtZSAhPSAidHN0LnhtbCI6CisgICAgcHJpbnQoImRvYy5uYW1lIGZhaWxlZCIpCisgICAgc3lzLmV4aXQoMSkKK3Jvb3QgPSBkb2MuY2hpbGRyZW4KK2lmIHJvb3QubmFtZSAhPSAiZG9jIjoKKyAgICBwcmludCgicm9vdC5uYW1lIGZhaWxlZCIpCisgICAgc3lzLmV4aXQoMSkKK2NoaWxkID0gcm9vdC5jaGlsZHJlbgoraWYgY2hpbGQubmFtZSAhPSAiZm9vIjoKKyAgICBwcmludCgiY2hpbGQubmFtZSBmYWlsZWQiKQorICAgIHN5cy5leGl0KDEpCitkb2MuZnJlZURvYygpCisKKyMgTWVtb3J5IGRlYnVnIHNwZWNpZmljCitsaWJ4bWwyLmNsZWFudXBQYXJzZXIoKQoraWYgbGlieG1sMi5kZWJ1Z01lbW9yeSgxKSA9PSAwOgorICAgIHByaW50KCJPSyIpCitlbHNlOgorICAgIHByaW50KCJNZW1vcnkgbGVhayAlZCBieXRlcyIgJSAobGlieG1sMi5kZWJ1Z01lbW9yeSgxKSkpCisgICAgbGlieG1sMi5kdW1wTWVtb3J5KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcHl0aG9uL3Rlc3RzL3RzdC54bWwgYi9saWJ4bWwyL3B5dGhvbi90ZXN0cy90c3QueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc1MWQ0NmQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3B5dGhvbi90ZXN0cy90c3QueG1sCkBAIC0wLDAgKzEgQEAKKzxkb2M+PGZvbz5iYXI8L2Zvbz48L2RvYz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcHl0aG9uL3Rlc3RzL3RzdExhc3RFcnJvci5weSBiL2xpYnhtbDIvcHl0aG9uL3Rlc3RzL3RzdExhc3RFcnJvci5weQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kNWY5YmU3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9weXRob24vdGVzdHMvdHN0TGFzdEVycm9yLnB5CkBAIC0wLDAgKzEsODIgQEAKKyMhL3Vzci9iaW4vcHl0aG9uIC11CitpbXBvcnQgc3lzLCB1bml0dGVzdAorCitpbXBvcnQgbGlieG1sMgorCitjbGFzcyBUZXN0Q2FzZSh1bml0dGVzdC5UZXN0Q2FzZSk6CisKKyAgICBkZWYgcnVuVGVzdChzZWxmKToKKyAgICAgICAgc2VsZi50ZXN0MSgpCisgICAgICAgIHNlbGYudGVzdDIoKQorCisgICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBsaWJ4bWwyLmRlYnVnTWVtb3J5KDEpCisKKyAgICBkZWYgdGVhckRvd24oc2VsZik6CisgICAgICAgIGxpYnhtbDIuY2xlYW51cFBhcnNlcigpCisgICAgICAgIGlmIGxpYnhtbDIuZGVidWdNZW1vcnkoMSkgIT0gMDoKKyAgICAgICAgICAgIGxpYnhtbDIuZHVtcE1lbW9yeSgpIAorICAgICAgICAgICAgc2VsZi5mYWlsKCJNZW1vcnkgbGVhayAlZCBieXRlcyIgJSAobGlieG1sMi5kZWJ1Z01lbW9yeSgxKSwpKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcHJpbnQoIk9LIikKKworICAgIGRlZiBmYWlsVW5sZXNzWG1sRXJyb3Ioc2VsZixmLGFyZ3MsZXhjLGRvbWFpbixjb2RlLG1lc3NhZ2UsbGV2ZWwsZmlsZSxsaW5lKToKKyAgICAgICAgIiIiUnVuIGZ1bmN0aW9uIGYsIHdpdGggYXJndW1lbnRzIGFyZ3MgYW5kIGV4cGVjdCBhbiBleGNlcHRpb24gZXhjOworICAgICAgICB3aGVuIHRoZSBleGNlcHRpb24gaXMgcmFpc2VkLCBjaGVjayB0aGUgbGlieG1sMi5sYXN0RXJyb3IgZm9yCisgICAgICAgIGV4cGVjdGVkIHZhbHVlcy4iIiIKKyAgICAgICAgIyBkaXNhYmxlIHRoZSBkZWZhdWx0IGVycm9yIGhhbmRsZXIKKyAgICAgICAgbGlieG1sMi5yZWdpc3RlckVycm9ySGFuZGxlcihOb25lLE5vbmUpCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIGYoKmFyZ3MpCisgICAgICAgIGV4Y2VwdCBleGM6CisgICAgICAgICAgICBlID0gbGlieG1sMi5sYXN0RXJyb3IoKQorICAgICAgICAgICAgaWYgZSBpcyBOb25lOgorICAgICAgICAgICAgICAgIHNlbGYuZmFpbCgibGFzdEVycm9yIG5vdCBzZXQiKQorICAgICAgICAgICAgaWYgMDoKKyAgICAgICAgICAgICAgICBwcmludCgiZG9tYWluID0gIixlLmRvbWFpbigpKQorICAgICAgICAgICAgICAgIHByaW50KCJjb2RlID0gIixlLmNvZGUoKSkKKyAgICAgICAgICAgICAgICBwcmludCgibWVzc2FnZSA9IixyZXByKGUubWVzc2FnZSgpKSkKKyAgICAgICAgICAgICAgICBwcmludCgibGV2ZWwgPSIsZS5sZXZlbCgpKQorICAgICAgICAgICAgICAgIHByaW50KCJmaWxlID0iLGUuZmlsZSgpKQorICAgICAgICAgICAgICAgIHByaW50KCJsaW5lID0iLGUubGluZSgpKQorICAgICAgICAgICAgICAgIHByaW50KCkKKyAgICAgICAgICAgIHNlbGYuZmFpbFVubGVzc0VxdWFsKGRvbWFpbixlLmRvbWFpbigpKQorICAgICAgICAgICAgc2VsZi5mYWlsVW5sZXNzRXF1YWwoY29kZSxlLmNvZGUoKSkKKyAgICAgICAgICAgIHNlbGYuZmFpbFVubGVzc0VxdWFsKG1lc3NhZ2UsZS5tZXNzYWdlKCkpCisgICAgICAgICAgICBzZWxmLmZhaWxVbmxlc3NFcXVhbChsZXZlbCxlLmxldmVsKCkpCisgICAgICAgICAgICBzZWxmLmZhaWxVbmxlc3NFcXVhbChmaWxlLGUuZmlsZSgpKQorICAgICAgICAgICAgc2VsZi5mYWlsVW5sZXNzRXF1YWwobGluZSxlLmxpbmUoKSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYuZmFpbCgiZXhjZXB0aW9uICVzIHNob3VsZCBoYXZlIGJlZW4gcmFpc2VkIiAlIGV4YykKKworICAgIGRlZiB0ZXN0MShzZWxmKToKKyAgICAgICAgIiIiVGVzdCByZWFkRmlsZSB3aXRoIGEgZmlsZSB0aGF0IGRvZXMgbm90IGV4aXN0IiIiCisgICAgICAgIHNlbGYuZmFpbFVubGVzc1htbEVycm9yKGxpYnhtbDIucmVhZEZpbGUsCisgICAgICAgICAgICAgICAgICAgICAgICAoImR1bW15LnhtbCIsTm9uZSwwKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhtbDIudHJlZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgZG9tYWluPWxpYnhtbDIuWE1MX0ZST01fSU8sCisgICAgICAgICAgICAgICAgICAgICAgICBjb2RlPWxpYnhtbDIuWE1MX0lPX0xPQURfRVJST1IsCisgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlPSdmYWlsZWQgdG8gbG9hZCBleHRlcm5hbCBlbnRpdHkgImR1bW15LnhtbCJcbicsCisgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbD1saWJ4bWwyLlhNTF9FUlJfV0FSTklORywKKyAgICAgICAgICAgICAgICAgICAgICAgIGZpbGU9Tm9uZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGxpbmU9MCkKKworICAgIGRlZiB0ZXN0MihzZWxmKToKKyAgICAgICAgIiIiVGVzdCBhIHdlbGwtZm9ybWVkbmVzcyBlcnJvcjogd2UgZ2V0IHRoZSBsYXN0IGVycm9yIG9ubHkiIiIKKyAgICAgICAgcyA9ICI8eD5cbjxhPlxuPC94PiIKKyAgICAgICAgc2VsZi5mYWlsVW5sZXNzWG1sRXJyb3IobGlieG1sMi5yZWFkTWVtb3J5LAorICAgICAgICAgICAgICAgICAgICAgICAgKHMsbGVuKHMpLCJkdW1teS54bWwiLE5vbmUsMCksCisgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bWwyLnRyZWVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgIGRvbWFpbj1saWJ4bWwyLlhNTF9GUk9NX1BBUlNFUiwKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvZGU9bGlieG1sMi5YTUxfRVJSX1RBR19OT1RfRklOSVNIRUQsCisgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlPSdQcmVtYXR1cmUgZW5kIG9mIGRhdGEgaW4gdGFnIHggbGluZSAxXG4nLAorICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWw9bGlieG1sMi5YTUxfRVJSX0ZBVEFMLAorICAgICAgICAgICAgICAgICAgICAgICAgZmlsZT0nZHVtbXkueG1sJywKKyAgICAgICAgICAgICAgICAgICAgICAgIGxpbmU9MykKKworaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKKyAgICB0ZXN0ID0gVGVzdENhc2UoKQorICAgIHRlc3Quc2V0VXAoKQorICAgIHRlc3QudGVzdDEoKQorICAgIHRlc3QudGVzdDIoKQorICAgIHRlc3QudGVhckRvd24oKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9weXRob24vdGVzdHMvdHN0VVJJLnB5IGIvbGlieG1sMi9weXRob24vdGVzdHMvdHN0VVJJLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmU0ZDU4YWYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3B5dGhvbi90ZXN0cy90c3RVUkkucHkKQEAgLTAsMCArMSw0MSBAQAorIyEvdXNyL2Jpbi9weXRob24gLXUKK2ltcG9ydCBzeXMKK2ltcG9ydCBsaWJ4bWwyCisKKyMgTWVtb3J5IGRlYnVnIHNwZWNpZmljCitsaWJ4bWwyLmRlYnVnTWVtb3J5KDEpCisKK3VyaSA9IGxpYnhtbDIucGFyc2VVUkkoImh0dHA6Ly9leGFtcGxlLm9yZzo4MDg4L2Zvby9iYXI/cXVlcnk9c2ltcGxlI2ZyYWdpZCIpCitpZiB1cmkuc2NoZW1lKCkgIT0gJ2h0dHAnOgorICAgIHByaW50KCJFcnJvciBwYXJzaW5nIFVSSTogd3Jvbmcgc2NoZW1lIikKKyAgICBzeXMuZXhpdCgxKQoraWYgdXJpLnNlcnZlcigpICE9ICdleGFtcGxlLm9yZyc6CisgICAgcHJpbnQoIkVycm9yIHBhcnNpbmcgVVJJOiB3cm9uZyBzZXJ2ZXIiKQorICAgIHN5cy5leGl0KDEpCitpZiB1cmkucG9ydCgpICE9IDgwODg6CisgICAgcHJpbnQoIkVycm9yIHBhcnNpbmcgVVJJOiB3cm9uZyBwb3J0IikKKyAgICBzeXMuZXhpdCgxKQoraWYgdXJpLnBhdGgoKSAhPSAnL2Zvby9iYXInOgorICAgIHByaW50KCJFcnJvciBwYXJzaW5nIFVSSTogd3JvbmcgcGF0aCIpCisgICAgc3lzLmV4aXQoMSkKK2lmIHVyaS5xdWVyeSgpICE9ICdxdWVyeT1zaW1wbGUnOgorICAgIHByaW50KCJFcnJvciBwYXJzaW5nIFVSSTogd3JvbmcgcXVlcnkiKQorICAgIHN5cy5leGl0KDEpCitpZiB1cmkuZnJhZ21lbnQoKSAhPSAnZnJhZ2lkJzoKKyAgICBwcmludCgiRXJyb3IgcGFyc2luZyBVUkk6IHdyb25nIHF1ZXJ5IikKKyAgICBzeXMuZXhpdCgxKQordXJpLnNldFNjaGVtZSgiaHR0cHMiKQordXJpLnNldFBvcnQoMjIzKQordXJpLnNldEZyYWdtZW50KE5vbmUpCityZXN1bHQ9dXJpLnNhdmVVcmkoKQoraWYgcmVzdWx0ICE9ICJodHRwczovL2V4YW1wbGUub3JnOjIyMy9mb28vYmFyP3F1ZXJ5PXNpbXBsZSI6CisgICAgcHJpbnQoIkVycm9yIG1vZGlmeWluZyBvciBzYXZpbmcgdGhlIFVSSSIpCit1cmkgPSBOb25lCisKKyMgTWVtb3J5IGRlYnVnIHNwZWNpZmljCitsaWJ4bWwyLmNsZWFudXBQYXJzZXIoKQoraWYgbGlieG1sMi5kZWJ1Z01lbW9yeSgxKSA9PSAwOgorICAgIHByaW50KCJPSyIpCitlbHNlOgorICAgIHByaW50KCJNZW1vcnkgbGVhayAlZCBieXRlcyIgJSAobGlieG1sMi5kZWJ1Z01lbW9yeSgxKSkpCisgICAgbGlieG1sMi5kdW1wTWVtb3J5KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcHl0aG9uL3Rlc3RzL3RzdG1lbS5weSBiL2xpYnhtbDIvcHl0aG9uL3Rlc3RzL3RzdG1lbS5weQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42YjM0Y2YzCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9weXRob24vdGVzdHMvdHN0bWVtLnB5CkBAIC0wLDAgKzEsMzYgQEAKKyMhL3Vzci9iaW4vcHl0aG9uIC11CitpbXBvcnQgbGlieG1sMgoraW1wb3J0IGxpYnhtbDJtb2QKK2ltcG9ydCBzeXMKKworZGVmIGVycm9yKG1zZywgZGF0YSk6CisgICAgcGFzcworCisjIE1lbW9yeSBkZWJ1ZyBzcGVjaWZpYworbGlieG1sMi5kZWJ1Z01lbW9yeSgxKQorCitkdGQ9IiIiPCFFTEVNRU5UIGZvbyBFTVBUWT4iIiIKK2luc3RhbmNlPSIiIjw/eG1sIHZlcnNpb249IjEuMCI/PgorPGZvbz48L2Zvbz4iIiIKKworZHRkID0gbGlieG1sMi5wYXJzZURURChOb25lLCAndGVzdC5kdGQnKQorY3R4dCA9IGxpYnhtbDIubmV3VmFsaWRDdHh0KCkKK2xpYnhtbDJtb2QueG1sU2V0VmFsaWRFcnJvcnMoY3R4dC5fbywgZXJyb3IsIGVycm9yKQorZG9jID0gbGlieG1sMi5wYXJzZURvYyhpbnN0YW5jZSkKK3JldCA9IGRvYy52YWxpZGF0ZUR0ZChjdHh0LCBkdGQpCitpZiByZXQgIT0gMToKKyAgICBwcmludCgiZXJyb3IgZG9pbmcgRFREIHZhbGlkYXRpb24iKQorICAgIHN5cy5leGl0KDEpCisKK2RvYy5mcmVlRG9jKCkKK2R0ZC5mcmVlRHRkKCkKK2RlbCBkdGQKK2RlbCBjdHh0CisKKyMgTWVtb3J5IGRlYnVnIHNwZWNpZmljCitsaWJ4bWwyLmNsZWFudXBQYXJzZXIoKQoraWYgbGlieG1sMi5kZWJ1Z01lbW9yeSgxKSA9PSAwOgorICAgIHByaW50KCJPSyIpCitlbHNlOgorICAgIHByaW50KCJNZW1vcnkgbGVhayAlZCBieXRlcyIgJSAobGlieG1sMi5kZWJ1Z01lbW9yeSgxKSkpCisgICAgbGlieG1sMi5kdW1wTWVtb3J5KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcHl0aG9uL3Rlc3RzL3RzdHhwYXRoLnB5IGIvbGlieG1sMi9weXRob24vdGVzdHMvdHN0eHBhdGgucHkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMGJhNWE2ZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcHl0aG9uL3Rlc3RzL3RzdHhwYXRoLnB5CkBAIC0wLDAgKzEsNjMgQEAKKyMhL3Vzci9iaW4vcHl0aG9uIC11CitpbXBvcnQgc3lzCitpbXBvcnQgbGlieG1sMgorCisjbWVtb3J5IGRlYnVnIHNwZWNpZmljCitsaWJ4bWwyLmRlYnVnTWVtb3J5KDEpCisKK2NhbGxlZCA9ICIiCisKK2RlZiBmb28oY3R4LCB4KToKKyAgICBnbG9iYWwgY2FsbGVkCisKKyAgICAjCisgICAgIyB0ZXN0IHRoYXQgYWNjZXNzIHRvIHRoZSBYUGF0aCBldmFsdWF0aW9uIGNvbnRleHRzCisgICAgIworICAgIHBjdHh0ID0gbGlieG1sMi54cGF0aFBhcnNlckNvbnRleHQoX29iaj1jdHgpCisgICAgY3R4dCA9IHBjdHh0LmNvbnRleHQoKQorICAgIGNhbGxlZCA9IGN0eHQuZnVuY3Rpb24oKQorICAgIHJldHVybiB4ICsgMQorCitkZWYgYmFyKGN0eHQsIHgpOgorICAgIHJldHVybiAiJWQiICUgKHggKyAyKQorCitkb2MgPSBsaWJ4bWwyLnBhcnNlRmlsZSgidHN0LnhtbCIpCitjdHh0ID0gZG9jLnhwYXRoTmV3Q29udGV4dCgpCityZXMgPSBjdHh0LnhwYXRoRXZhbCgiLy8qIikKK2lmIGxlbihyZXMpICE9IDI6CisgICAgcHJpbnQoInhwYXRoIHF1ZXJ5OiB3cm9uZyBub2RlIHNldCBzaXplIikKKyAgICBzeXMuZXhpdCgxKQoraWYgcmVzWzBdLm5hbWUgIT0gImRvYyIgb3IgcmVzWzFdLm5hbWUgIT0gImZvbyI6CisgICAgcHJpbnQoInhwYXRoIHF1ZXJ5OiB3cm9uZyBub2RlIHNldCB2YWx1ZSIpCisgICAgc3lzLmV4aXQoMSkKK2xpYnhtbDIucmVnaXN0ZXJYUGF0aEZ1bmN0aW9uKGN0eHQuX28sICJmb28iLCBOb25lLCBmb28pCitsaWJ4bWwyLnJlZ2lzdGVyWFBhdGhGdW5jdGlvbihjdHh0Ll9vLCAiYmFyIiwgTm9uZSwgYmFyKQoraSA9IDEwMDAwCit3aGlsZSBpID4gMDoKKyAgICByZXMgPSBjdHh0LnhwYXRoRXZhbCgiZm9vKDEpIikKKyAgICBpZiByZXMgIT0gMjoKKyAgICAgICAgcHJpbnQoInhwYXRoIGV4dGVuc2lvbiBmYWlsdXJlIikKKyAgICAgICAgc3lzLmV4aXQoMSkKKyAgICBpID0gaSAtIDEKK2kgPSAxMDAwMAord2hpbGUgaSA+IDA6CisgICAgcmVzID0gY3R4dC54cGF0aEV2YWwoImJhcigxKSIpCisgICAgaWYgcmVzICE9ICIzIjoKKyAgICAgICAgcHJpbnQoInhwYXRoIGV4dGVuc2lvbiBmYWlsdXJlIGdvdCAlcyBleHBlY3RpbmcgJzMnIikKKyAgICAgICAgc3lzLmV4aXQoMSkKKyAgICBpID0gaSAtIDEKK2RvYy5mcmVlRG9jKCkKK2N0eHQueHBhdGhGcmVlQ29udGV4dCgpCisKK2lmIGNhbGxlZCAhPSAiZm9vIjoKKyAgICBwcmludCgieHBhdGggZnVuY3Rpb246IGZhaWxlZCB0byBhY2Nlc3MgdGhlIGNvbnRleHQiKQorICAgIHByaW50KCJ4cGF0aCBmdW5jdGlvbjogJXMiICUgKGNhbGxlZCkpCisgICAgc3lzLmV4aXQoMSkKKworI21lbW9yeSBkZWJ1ZyBzcGVjaWZpYworbGlieG1sMi5jbGVhbnVwUGFyc2VyKCkKK2lmIGxpYnhtbDIuZGVidWdNZW1vcnkoMSkgPT0gMDoKKyAgICBwcmludCgiT0siKQorZWxzZToKKyAgICBwcmludCgiTWVtb3J5IGxlYWsgJWQgYnl0ZXMiICUgKGxpYnhtbDIuZGVidWdNZW1vcnkoMSkpKQorICAgIGxpYnhtbDIuZHVtcE1lbW9yeSgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3B5dGhvbi90ZXN0cy92YWxpZC54bWwgYi9saWJ4bWwyL3B5dGhvbi90ZXN0cy92YWxpZC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGE3ZjY3OQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcHl0aG9uL3Rlc3RzL3ZhbGlkLnhtbApAQCAtMCwwICsxLDQgQEAKKzwhRE9DVFlQRSBkb2MgWworPCFFTEVNRU5UIGRvYyBFTVBUWT4KK10+Cis8ZG9jLz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcHl0aG9uL3Rlc3RzL3ZhbGlkRFRELnB5IGIvbGlieG1sMi9weXRob24vdGVzdHMvdmFsaWREVEQucHkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNGIwM2I4ZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcHl0aG9uL3Rlc3RzL3ZhbGlkRFRELnB5CkBAIC0wLDAgKzEsNTkgQEAKKyMhL3Vzci9iaW4vcHl0aG9uIC11CitpbXBvcnQgbGlieG1sMgoraW1wb3J0IHN5cworCitBUkcgPSAndGVzdCBzdHJpbmcnCisKK2NsYXNzIEVycm9ySGFuZGxlcjoKKworICAgIGRlZiBfX2luaXRfXyhzZWxmKToKKyAgICAgICAgc2VsZi5lcnJvcnMgPSBbXQorCisgICAgZGVmIGhhbmRsZXIoc2VsZiwgbXNnLCBkYXRhKToKKyAgICAgICAgaWYgZGF0YSAhPSBBUkc6CisgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIkVycm9yIGhhbmRsZXIgZGlkIG5vdCByZWNlaXZlIGNvcnJlY3QgYXJndW1lbnQiKQorICAgICAgICBzZWxmLmVycm9ycy5hcHBlbmQobXNnKQorCisKKyMgTWVtb3J5IGRlYnVnIHNwZWNpZmljCitsaWJ4bWwyLmRlYnVnTWVtb3J5KDEpCisKK2R0ZD0iIiI8IUVMRU1FTlQgZm9vIEVNUFRZPiIiIgordmFsaWQ9IiIiPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8Zm9vPjwvZm9vPiIiIgorCitpbnZhbGlkPSIiIjw/eG1sIHZlcnNpb249IjEuMCI/PgorPGZvbz48YmFyLz48L2Zvbz4iIiIKKworZHRkID0gbGlieG1sMi5wYXJzZURURChOb25lLCAndGVzdC5kdGQnKQorY3R4dCA9IGxpYnhtbDIubmV3VmFsaWRDdHh0KCkKK2UgPSBFcnJvckhhbmRsZXIoKQorY3R4dC5zZXRWYWxpZGl0eUVycm9ySGFuZGxlcihlLmhhbmRsZXIsIGUuaGFuZGxlciwgQVJHKQorCisjIFRlc3QgdmFsaWQgZG9jdW1lbnQKK2RvYyA9IGxpYnhtbDIucGFyc2VEb2ModmFsaWQpCityZXQgPSBkb2MudmFsaWRhdGVEdGQoY3R4dCwgZHRkKQoraWYgcmV0ICE9IDEgb3IgZS5lcnJvcnM6CisgICAgcHJpbnQoImVycm9yIGRvaW5nIERURCB2YWxpZGF0aW9uIikKKyAgICBzeXMuZXhpdCgxKQorZG9jLmZyZWVEb2MoKQorCisjIFRlc3QgaW52YWxpZCBkb2N1bWVudAorZG9jID0gbGlieG1sMi5wYXJzZURvYyhpbnZhbGlkKQorcmV0ID0gZG9jLnZhbGlkYXRlRHRkKGN0eHQsIGR0ZCkKK2lmIHJldCAhPSAwIG9yIG5vdCBlLmVycm9yczoKKyAgICBwcmludCgiRXJyb3I6IGRvY3VtZW50IHN1cHBvc2VkIHRvIGJlIGludmFsaWQiKQorZG9jLmZyZWVEb2MoKQorCitkdGQuZnJlZUR0ZCgpCitkZWwgZHRkCitkZWwgY3R4dAorCisjIE1lbW9yeSBkZWJ1ZyBzcGVjaWZpYworbGlieG1sMi5jbGVhbnVwUGFyc2VyKCkKK2lmIGxpYnhtbDIuZGVidWdNZW1vcnkoMSkgPT0gMDoKKyAgICBwcmludCgiT0siKQorZWxzZToKKyAgICBwcmludCgiTWVtb3J5IGxlYWsgJWQgYnl0ZXMiICUgKGxpYnhtbDIuZGVidWdNZW1vcnkoMSkpKQorICAgIGxpYnhtbDIuZHVtcE1lbW9yeSgpCisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcHl0aG9uL3Rlc3RzL3ZhbGlkUk5HLnB5IGIvbGlieG1sMi9weXRob24vdGVzdHMvdmFsaWRSTkcucHkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTdmMTNhNAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcHl0aG9uL3Rlc3RzL3ZhbGlkUk5HLnB5CkBAIC0wLDAgKzEsNzYgQEAKKyMhL3Vzci9iaW4vcHl0aG9uIC11CitpbXBvcnQgbGlieG1sMgoraW1wb3J0IHN5cworCitBUkcgPSAndGVzdCBzdHJpbmcnCisKK2NsYXNzIEVycm9ySGFuZGxlcjoKKworICAgIGRlZiBfX2luaXRfXyhzZWxmKToKKyAgICAgICAgc2VsZi5lcnJvcnMgPSBbXQorCisgICAgZGVmIGhhbmRsZXIoc2VsZiwgbXNnLCBkYXRhKToKKyAgICAgICAgaWYgZGF0YSAhPSBBUkc6CisgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIkVycm9yIGhhbmRsZXIgZGlkIG5vdCByZWNlaXZlIGNvcnJlY3QgYXJndW1lbnQiKQorICAgICAgICBzZWxmLmVycm9ycy5hcHBlbmQobXNnKQorCisjIE1lbW9yeSBkZWJ1ZyBzcGVjaWZpYworbGlieG1sMi5kZWJ1Z01lbW9yeSgxKQorCitzY2hlbWE9IiIiPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8ZWxlbWVudCBuYW1lPSJmb28iCisgICAgICAgICB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiCisgICAgICAgICB4bWxuczphPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvYW5ub3RhdGlvbi8xLjAiCisgICAgICAgICB4bWxuczpleDE9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20vbjEiCisgICAgICAgICB4bWxuczpleDI9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20vbjIiPgorICA8YTpkb2N1bWVudGF0aW9uPkEgZm9vIGVsZW1lbnQuPC9hOmRvY3VtZW50YXRpb24+CisgIDxlbGVtZW50IG5hbWU9ImV4MTpiYXIxIj4KKyAgICA8ZW1wdHkvPgorICA8L2VsZW1lbnQ+CisgIDxlbGVtZW50IG5hbWU9ImV4MjpiYXIyIj4KKyAgICA8ZW1wdHkvPgorICA8L2VsZW1lbnQ+Cis8L2VsZW1lbnQ+CisiIiIKKwordmFsaWQ9IiIiPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8Zm9vPjxwcmUxOmJhcjEgeG1sbnM6cHJlMT0iaHR0cDovL3d3dy5leGFtcGxlLmNvbS9uMSIvPjxwcmUyOmJhcjIgeG1sbnM6cHJlMj0iaHR0cDovL3d3dy5leGFtcGxlLmNvbS9uMiIvPjwvZm9vPiIiIgorCitpbnZhbGlkPSIiIjw/eG1sIHZlcnNpb249IjEuMCI/PgorPGZvbz48cHJlMTpiYXIxIHhtbG5zOnByZTE9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20vbjEiPmJhZDwvcHJlMTpiYXIxPjxwcmUyOmJhcjIgeG1sbnM6cHJlMj0iaHR0cDovL3d3dy5leGFtcGxlLmNvbS9uMiIvPjwvZm9vPiIiIgorCitybmdwID0gbGlieG1sMi5yZWxheE5HTmV3TWVtUGFyc2VyQ3R4dChzY2hlbWEsIGxlbihzY2hlbWEpKQorcm5ncyA9IHJuZ3AucmVsYXhOR1BhcnNlKCkKK2N0eHQgPSBybmdzLnJlbGF4TkdOZXdWYWxpZEN0eHQoKQorZSA9IEVycm9ySGFuZGxlcigpCitjdHh0LnNldFZhbGlkaXR5RXJyb3JIYW5kbGVyKGUuaGFuZGxlciwgZS5oYW5kbGVyLCBBUkcpCisKKyMgVGVzdCB2YWxpZCBkb2N1bWVudAorZG9jID0gbGlieG1sMi5wYXJzZURvYyh2YWxpZCkKK3JldCA9IGRvYy5yZWxheE5HVmFsaWRhdGVEb2MoY3R4dCkKK2lmIHJldCAhPSAwIG9yIGUuZXJyb3JzOgorICAgIHByaW50KCJlcnJvciBkb2luZyBSZWxheE5HIHZhbGlkYXRpb24iKQorICAgIHN5cy5leGl0KDEpCitkb2MuZnJlZURvYygpCisKKyMgVGVzdCBpbnZhbGlkIGRvY3VtZW50Citkb2MgPSBsaWJ4bWwyLnBhcnNlRG9jKGludmFsaWQpCityZXQgPSBkb2MucmVsYXhOR1ZhbGlkYXRlRG9jKGN0eHQpCitpZiByZXQgPT0gMCBvciBub3QgZS5lcnJvcnM6CisgICAgcHJpbnQoIkVycm9yOiBkb2N1bWVudCBzdXBwb3NlZCB0byBiZSBSZWxheE5HIGludmFsaWQiKQorICAgIHN5cy5leGl0KDEpCitkb2MuZnJlZURvYygpCisKK2RlbCBybmdwCitkZWwgcm5ncworZGVsIGN0eHQKK2xpYnhtbDIucmVsYXhOR0NsZWFudXBUeXBlcygpCisKKyMgTWVtb3J5IGRlYnVnIHNwZWNpZmljCitsaWJ4bWwyLmNsZWFudXBQYXJzZXIoKQoraWYgbGlieG1sMi5kZWJ1Z01lbW9yeSgxKSA9PSAwOgorICAgIHByaW50KCJPSyIpCitlbHNlOgorICAgIHByaW50KCJNZW1vcnkgbGVhayAlZCBieXRlcyIgJSAobGlieG1sMi5kZWJ1Z01lbW9yeSgxKSkpCisgICAgbGlieG1sMi5kdW1wTWVtb3J5KCkKKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9weXRob24vdGVzdHMvdmFsaWRTY2hlbWFzLnB5IGIvbGlieG1sMi9weXRob24vdGVzdHMvdmFsaWRTY2hlbWFzLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmNjNTQzZjMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3B5dGhvbi90ZXN0cy92YWxpZFNjaGVtYXMucHkKQEAgLTAsMCArMSw4MyBAQAorIyEvdXNyL2Jpbi9weXRob24gLXUKK2ltcG9ydCBsaWJ4bWwyCitpbXBvcnQgc3lzCisKK0FSRyA9ICd0ZXN0IHN0cmluZycKKworY2xhc3MgRXJyb3JIYW5kbGVyOgorCisgICAgZGVmIF9faW5pdF9fKHNlbGYpOgorICAgICAgICBzZWxmLmVycm9ycyA9IFtdCisKKyAgICBkZWYgaGFuZGxlcihzZWxmLCBtc2csIGRhdGEpOgorICAgICAgICBpZiBkYXRhICE9IEFSRzoKKyAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigiRXJyb3IgaGFuZGxlciBkaWQgbm90IHJlY2VpdmUgY29ycmVjdCBhcmd1bWVudCIpCisgICAgICAgIHNlbGYuZXJyb3JzLmFwcGVuZChtc2cpCisKKyMgTWVtb3J5IGRlYnVnIHNwZWNpZmljCitsaWJ4bWwyLmRlYnVnTWVtb3J5KDEpCisKK3NjaGVtYT0iIiI8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJpc28tODg1OS0xIj8+Cis8c2NoZW1hIHhtbG5zID0gImh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIj4KKwk8ZWxlbWVudCBuYW1lID0gIkN1c3RvbWVyIj4KKwkJPGNvbXBsZXhUeXBlPgorCQkJPHNlcXVlbmNlPgorCQkJCTxlbGVtZW50IG5hbWUgPSAiRmlyc3ROYW1lIiB0eXBlID0gInN0cmluZyIgLz4KKwkJCQk8ZWxlbWVudCBuYW1lID0gIk1pZGRsZUluaXRpYWwiIHR5cGUgPSAic3RyaW5nIiAvPgorCQkJCTxlbGVtZW50IG5hbWUgPSAiTGFzdE5hbWUiIHR5cGUgPSAic3RyaW5nIiAvPgorCQkJPC9zZXF1ZW5jZT4KKwkJCTxhdHRyaWJ1dGUgbmFtZSA9ICJjdXN0b21lcklEIiB0eXBlID0gImludGVnZXIiIC8+CisJCTwvY29tcGxleFR5cGU+CisJPC9lbGVtZW50PgorPC9zY2hlbWE+IiIiCisKK3ZhbGlkPSIiIjw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9Imlzby04ODU5LTEiPz4KKzxDdXN0b21lciBjdXN0b21lcklEID0gIjI0MzMyIj4KKwk8Rmlyc3ROYW1lPlJheW1vbmQ8L0ZpcnN0TmFtZT4KKwk8TWlkZGxlSW5pdGlhbD5HPC9NaWRkbGVJbml0aWFsPgorCTxMYXN0TmFtZT5CYXlsaXNzPC9MYXN0TmFtZT4KKzwvQ3VzdG9tZXI+CQorIiIiCisKK2ludmFsaWQ9IiIiPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/PgorPEN1c3RvbWVyIGN1c3RvbWVySUQgPSAiMjQzMzIiPgorCTxNaWRkbGVJbml0aWFsPkc8L01pZGRsZUluaXRpYWw+CisJPExhc3ROYW1lPkJheWxpc3M8L0xhc3ROYW1lPgorPC9DdXN0b21lcj4JCisiIiIKKworZSA9IEVycm9ySGFuZGxlcigpCitjdHh0X3BhcnNlciA9IGxpYnhtbDIuc2NoZW1hTmV3TWVtUGFyc2VyQ3R4dChzY2hlbWEsIGxlbihzY2hlbWEpKQorY3R4dF9zY2hlbWEgPSBjdHh0X3BhcnNlci5zY2hlbWFQYXJzZSgpCitjdHh0X3ZhbGlkICA9IGN0eHRfc2NoZW1hLnNjaGVtYU5ld1ZhbGlkQ3R4dCgpCitjdHh0X3ZhbGlkLnNldFZhbGlkaXR5RXJyb3JIYW5kbGVyKGUuaGFuZGxlciwgZS5oYW5kbGVyLCBBUkcpCisKKyMgVGVzdCB2YWxpZCBkb2N1bWVudAorZG9jID0gbGlieG1sMi5wYXJzZURvYyh2YWxpZCkKK3JldCA9IGRvYy5zY2hlbWFWYWxpZGF0ZURvYyhjdHh0X3ZhbGlkKQoraWYgcmV0ICE9IDAgb3IgZS5lcnJvcnM6CisgICAgcHJpbnQoImVycm9yIGRvaW5nIHNjaGVtYSB2YWxpZGF0aW9uIikKKyAgICBzeXMuZXhpdCgxKQorZG9jLmZyZWVEb2MoKQorCisjIFRlc3QgaW52YWxpZCBkb2N1bWVudAorZG9jID0gbGlieG1sMi5wYXJzZURvYyhpbnZhbGlkKQorcmV0ID0gZG9jLnNjaGVtYVZhbGlkYXRlRG9jKGN0eHRfdmFsaWQpCitpZiByZXQgPT0gMCBvciBub3QgZS5lcnJvcnM6CisgICAgcHJpbnQoIkVycm9yOiBkb2N1bWVudCBzdXBwb3NlciB0byBiZSBzY2hlbWEgaW52YWxpZCIpCisgICAgc3lzLmV4aXQoMSkKK2RvYy5mcmVlRG9jKCkKKworZGVsIGN0eHRfcGFyc2VyCitkZWwgY3R4dF9zY2hlbWEKK2RlbCBjdHh0X3ZhbGlkCitsaWJ4bWwyLnNjaGVtYUNsZWFudXBUeXBlcygpCisKKyMgTWVtb3J5IGRlYnVnIHNwZWNpZmljCitsaWJ4bWwyLmNsZWFudXBQYXJzZXIoKQoraWYgbGlieG1sMi5kZWJ1Z01lbW9yeSgxKSA9PSAwOgorICAgIHByaW50KCJPSyIpCitlbHNlOgorICAgIHByaW50KCJNZW1vcnkgbGVhayAlZCBieXRlcyIgJSAobGlieG1sMi5kZWJ1Z01lbW9yeSgxKSkpCisgICAgbGlieG1sMi5kdW1wTWVtb3J5KCkKKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9weXRob24vdGVzdHMvdmFsaWRhdGUucHkgYi9saWJ4bWwyL3B5dGhvbi90ZXN0cy92YWxpZGF0ZS5weQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xNmMwMzg2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9weXRob24vdGVzdHMvdmFsaWRhdGUucHkKQEAgLTAsMCArMSw4MiBAQAorIyEvdXNyL2Jpbi9weXRob24gLXUKK2ltcG9ydCBzeXMKK2ltcG9ydCBsaWJ4bWwyCisKKyMgTWVtb3J5IGRlYnVnIHNwZWNpZmljCitsaWJ4bWwyLmRlYnVnTWVtb3J5KDEpCisKK2N0eHQgPSBsaWJ4bWwyLmNyZWF0ZUZpbGVQYXJzZXJDdHh0KCJ2YWxpZC54bWwiKQorY3R4dC52YWxpZGF0ZSgxKQorY3R4dC5wYXJzZURvY3VtZW50KCkKK2RvYyA9IGN0eHQuZG9jKCkKK3ZhbGlkID0gY3R4dC5pc1ZhbGlkKCkKKworaWYgZG9jLm5hbWUgIT0gInZhbGlkLnhtbCI6CisgICAgcHJpbnQoImRvYy5uYW1lIGZhaWxlZCIpCisgICAgc3lzLmV4aXQoMSkKK3Jvb3QgPSBkb2MuY2hpbGRyZW4KK2lmIHJvb3QubmFtZSAhPSAiZG9jIjoKKyAgICBwcmludCgicm9vdC5uYW1lIGZhaWxlZCIpCisgICAgc3lzLmV4aXQoMSkKK2lmIHZhbGlkICE9IDE6CisgICAgcHJpbnQoInZhbGlkaXR5IGNoZWMgZmFpbGVkIikKKyAgICBzeXMuZXhpdCgxKQorZG9jLmZyZWVEb2MoKQorCitpID0gMTAwMAord2hpbGUgaSA+IDA6CisgICAgY3R4dCA9IGxpYnhtbDIuY3JlYXRlRmlsZVBhcnNlckN0eHQoInZhbGlkLnhtbCIpCisgICAgY3R4dC52YWxpZGF0ZSgxKQorICAgIGN0eHQucGFyc2VEb2N1bWVudCgpCisgICAgZG9jID0gY3R4dC5kb2MoKQorICAgIHZhbGlkID0gY3R4dC5pc1ZhbGlkKCkKKyAgICBkb2MuZnJlZURvYygpCisgICAgaWYgdmFsaWQgIT0gMToKKyAgICAgICAgcHJpbnQoInZhbGlkaXR5IGNoZWNrIGZhaWxlZCIpCisgICAgICAgIHN5cy5leGl0KDEpCisgICAgaSA9IGkgLSAxCisKKyNkZXNhY3RpdmF0ZSBlcnJvciBtZXNzYWdlcyBmcm9tIHRoZSB2YWxpZGF0aW9uCitkZWYgbm9lcnIoY3R4LCBzdHIpOgorICAgIHBhc3MKKworbGlieG1sMi5yZWdpc3RlckVycm9ySGFuZGxlcihub2VyciwgTm9uZSkKKworY3R4dCA9IGxpYnhtbDIuY3JlYXRlRmlsZVBhcnNlckN0eHQoImludmFsaWQueG1sIikKK2N0eHQudmFsaWRhdGUoMSkKK2N0eHQucGFyc2VEb2N1bWVudCgpCitkb2MgPSBjdHh0LmRvYygpCit2YWxpZCA9IGN0eHQuaXNWYWxpZCgpCitpZiBkb2MubmFtZSAhPSAiaW52YWxpZC54bWwiOgorICAgIHByaW50KCJkb2MubmFtZSBmYWlsZWQiKQorICAgIHN5cy5leGl0KDEpCityb290ID0gZG9jLmNoaWxkcmVuCitpZiByb290Lm5hbWUgIT0gImRvYyI6CisgICAgcHJpbnQoInJvb3QubmFtZSBmYWlsZWQiKQorICAgIHN5cy5leGl0KDEpCitpZiB2YWxpZCAhPSAwOgorICAgIHByaW50KCJ2YWxpZGl0eSBjaGVjIGZhaWxlZCIpCisgICAgc3lzLmV4aXQoMSkKK2RvYy5mcmVlRG9jKCkKKworaSA9IDEwMDAKK3doaWxlIGkgPiAwOgorICAgIGN0eHQgPSBsaWJ4bWwyLmNyZWF0ZUZpbGVQYXJzZXJDdHh0KCJpbnZhbGlkLnhtbCIpCisgICAgY3R4dC52YWxpZGF0ZSgxKQorICAgIGN0eHQucGFyc2VEb2N1bWVudCgpCisgICAgZG9jID0gY3R4dC5kb2MoKQorICAgIHZhbGlkID0gY3R4dC5pc1ZhbGlkKCkKKyAgICBkb2MuZnJlZURvYygpCisgICAgaWYgdmFsaWQgIT0gMDoKKyAgICAgICAgcHJpbnQoInZhbGlkaXR5IGNoZWNrIGZhaWxlZCIpCisgICAgICAgIHN5cy5leGl0KDEpCisgICAgaSA9IGkgLSAxCitkZWwgY3R4dAorCisjIE1lbW9yeSBkZWJ1ZyBzcGVjaWZpYworbGlieG1sMi5jbGVhbnVwUGFyc2VyKCkKK2lmIGxpYnhtbDIuZGVidWdNZW1vcnkoMSkgPT0gMDoKKyAgICBwcmludCgiT0siKQorZWxzZToKKyAgICBwcmludCgiTWVtb3J5IGxlYWsgJWQgYnl0ZXMiICUgKGxpYnhtbDIuZGVidWdNZW1vcnkoMSkpKQorICAgIGxpYnhtbDIuZHVtcE1lbW9yeSgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3B5dGhvbi90ZXN0cy93YWxrZXIucHkgYi9saWJ4bWwyL3B5dGhvbi90ZXN0cy93YWxrZXIucHkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNDdmMDU1NwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcHl0aG9uL3Rlc3RzL3dhbGtlci5weQpAQCAtMCwwICsxLDE0NCBAQAorIyEvdXNyL2Jpbi9weXRob24gLXUKKyMKKyMgdGhpcyB0ZXN0cyB0aGUgZW50aXRpZXMgc3Vic3RpdHV0aW9ucyB3aXRoIHRoZSBYbWxUZXh0UmVhZGVyIGludGVyZmFjZQorIworaW1wb3J0IHN5cworaW1wb3J0IGxpYnhtbDIKKworIyBNZW1vcnkgZGVidWcgc3BlY2lmaWMKK2xpYnhtbDIuZGVidWdNZW1vcnkoMSkKKworcmVzdWx0ID0gIiIKK2RlZiBwcm9jZXNzTm9kZShyZWFkZXIpOgorICAgIGdsb2JhbCByZXN1bHQKKworICAgIHJlc3VsdCA9IHJlc3VsdCArICIlZCAlZCAlcyAlZFxuIiAlIChyZWFkZXIuRGVwdGgoKSwgcmVhZGVyLk5vZGVUeXBlKCksCisJCQkgICByZWFkZXIuTmFtZSgpLCByZWFkZXIuSXNFbXB0eUVsZW1lbnQoKSkKKworIworIyBQYXJzZSBhIGRvY3VtZW50IHRlc3RpbmcgdGhlIHJlYWRlckZvcnh4eCBBUEkKKyMKK2RvY3N0cj0iIiI8Zm9vPgorPGxhYmVsPnNvbWUgdGV4dDwvbGFiZWw+Cis8aXRlbT4xMDA8L2l0ZW0+Cis8L2Zvbz4iIiIKK2V4cGVjdD0iIiIwIDEgZm9vIDAKKzEgMTQgI3RleHQgMAorMSAxIGxhYmVsIDAKKzIgMyAjdGV4dCAwCisxIDE1IGxhYmVsIDAKKzEgMTQgI3RleHQgMAorMSAxIGl0ZW0gMAorMiAzICN0ZXh0IDAKKzEgMTUgaXRlbSAwCisxIDE0ICN0ZXh0IDAKKzAgMTUgZm9vIDAKKyIiIgorcmVzdWx0ID0gIiIKKworZG9jID0gbGlieG1sMi5wYXJzZURvYyhkb2NzdHIpCityZWFkZXIgPSBkb2MucmVhZGVyV2Fsa2VyKCk7CityZXQgPSByZWFkZXIuUmVhZCgpCit3aGlsZSByZXQgPT0gMToKKyAgICBwcm9jZXNzTm9kZShyZWFkZXIpCisgICAgcmV0ID0gcmVhZGVyLlJlYWQoKQorCitpZiByZXQgIT0gMDoKKyAgICBwcmludCgiRXJyb3IgcGFyc2luZyB0aGUgZG9jdW1lbnQgdGVzdDEiKQorICAgIHN5cy5leGl0KDEpCisKK2lmIHJlc3VsdCAhPSBleHBlY3Q6CisgICAgcHJpbnQoIlVuZXhwZWN0ZWQgcmVzdWx0IGZvciB0ZXN0MSIpCisgICAgcHJpbnQocmVzdWx0KQorICAgIHN5cy5leGl0KDEpCisKK2RvYy5mcmVlRG9jKCkKKworIworIyBSZXVzZSB0aGUgcmVhZGVyIGZvciBhbm90aGVyIGRvY3VtZW50IHRlc3RpbmcgdGhlIFJlYWRlck5ld1dhbGtlciBBUEkKKyMKK2RvY3N0cj0iIiI8Zm9vPgorPGxhYmVsPnNvbWUgdGV4dDwvbGFiZWw+Cis8aXRlbT4xMDAwPC9pdGVtPgorPC9mb28+IiIiCitleHBlY3Q9IiIiMCAxIGZvbyAwCisxIDE0ICN0ZXh0IDAKKzEgMSBsYWJlbCAwCisyIDMgI3RleHQgMAorMSAxNSBsYWJlbCAwCisxIDE0ICN0ZXh0IDAKKzEgMSBpdGVtIDAKKzIgMyAjdGV4dCAwCisxIDE1IGl0ZW0gMAorMSAxNCAjdGV4dCAwCiswIDE1IGZvbyAwCisiIiIKK3Jlc3VsdCA9ICIiCisKK2RvYyA9IGxpYnhtbDIucGFyc2VEb2MoZG9jc3RyKQorcmVhZGVyLk5ld1dhbGtlcihkb2MpCisKK3JldCA9IHJlYWRlci5SZWFkKCkKK3doaWxlIHJldCA9PSAxOgorICAgIHByb2Nlc3NOb2RlKHJlYWRlcikKKyAgICByZXQgPSByZWFkZXIuUmVhZCgpCisKK2lmIHJldCAhPSAwOgorICAgIHByaW50KCJFcnJvciBwYXJzaW5nIHRoZSBkb2N1bWVudCB0ZXN0MiIpCisgICAgc3lzLmV4aXQoMSkKKworaWYgcmVzdWx0ICE9IGV4cGVjdDoKKyAgICBwcmludCgiVW5leHBlY3RlZCByZXN1bHQgZm9yIHRlc3QyIikKKyAgICBwcmludChyZXN1bHQpCisgICAgc3lzLmV4aXQoMSkKKworZG9jLmZyZWVEb2MoKQorCisjCisjIFJldXNlIHRoZSByZWFkZXIgZm9yIGFub3RoZXIgZG9jdW1lbnQgdGVzdGluZyB0aGUgUmVhZGVyTmV3eHh4IEFQSQorIworZG9jc3RyPSIiIjxmb28+Cis8bGFiZWw+c29tZSB0ZXh0PC9sYWJlbD4KKzxpdGVtPjEwMDA8L2l0ZW0+Cis8L2Zvbz4iIiIKK2V4cGVjdD0iIiIwIDEgZm9vIDAKKzEgMTQgI3RleHQgMAorMSAxIGxhYmVsIDAKKzIgMyAjdGV4dCAwCisxIDE1IGxhYmVsIDAKKzEgMTQgI3RleHQgMAorMSAxIGl0ZW0gMAorMiAzICN0ZXh0IDAKKzEgMTUgaXRlbSAwCisxIDE0ICN0ZXh0IDAKKzAgMTUgZm9vIDAKKyIiIgorcmVzdWx0ID0gIiIKKworcmVhZGVyLk5ld0RvYyhkb2NzdHIsICJ0ZXN0MyIsIE5vbmUsIDApCityZXQgPSByZWFkZXIuUmVhZCgpCit3aGlsZSByZXQgPT0gMToKKyAgICBwcm9jZXNzTm9kZShyZWFkZXIpCisgICAgcmV0ID0gcmVhZGVyLlJlYWQoKQorCitpZiByZXQgIT0gMDoKKyAgICBwcmludCgiRXJyb3IgcGFyc2luZyB0aGUgZG9jdW1lbnQgdGVzdDMiKQorICAgIHN5cy5leGl0KDEpCisKK2lmIHJlc3VsdCAhPSBleHBlY3Q6CisgICAgcHJpbnQoIlVuZXhwZWN0ZWQgcmVzdWx0IGZvciB0ZXN0MyIpCisgICAgcHJpbnQocmVzdWx0KQorICAgIHN5cy5leGl0KDEpCisKKyMKKyMgY2xlYW51cAorIworZGVsIHJlYWRlcgorCisjIE1lbW9yeSBkZWJ1ZyBzcGVjaWZpYworbGlieG1sMi5jbGVhbnVwUGFyc2VyKCkKK2lmIGxpYnhtbDIuZGVidWdNZW1vcnkoMSkgPT0gMDoKKyAgICBwcmludCgiT0siKQorZWxzZToKKyAgICBwcmludCgiTWVtb3J5IGxlYWsgJWQgYnl0ZXMiICUgKGxpYnhtbDIuZGVidWdNZW1vcnkoMSkpKQorICAgIGxpYnhtbDIuZHVtcE1lbW9yeSgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3B5dGhvbi90ZXN0cy94cGF0aC5weSBiL2xpYnhtbDIvcHl0aG9uL3Rlc3RzL3hwYXRoLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjcyZTZjOWQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3B5dGhvbi90ZXN0cy94cGF0aC5weQpAQCAtMCwwICsxLDUxIEBACisjIS91c3IvYmluL3B5dGhvbiAtdQorIworIyB0aGlzIHRlc3QgZXhlcmNpc2UgdGhlIFhQYXRoIGJhc2ljIGVuZ2luZSwgcGFyc2VyLCBldGMsIGFuZAorIyBhbGxvd3MgdG8gZGV0ZWN0IG1lbW9yeSBsZWFrcworIworaW1wb3J0IHN5cworaW1wb3J0IGxpYnhtbDIKKworIyBNZW1vcnkgZGVidWcgc3BlY2lmaWMKK2xpYnhtbDIuZGVidWdNZW1vcnkoMSkKKworZG9jID0gbGlieG1sMi5wYXJzZUZpbGUoInRzdC54bWwiKQoraWYgZG9jLm5hbWUgIT0gInRzdC54bWwiOgorICAgIHByaW50KCJkb2MubmFtZSBlcnJvciIpCisgICAgc3lzLmV4aXQoMSk7CisKK2N0eHQgPSBkb2MueHBhdGhOZXdDb250ZXh0KCkKK3JlcyA9IGN0eHQueHBhdGhFdmFsKCIvLyoiKQoraWYgbGVuKHJlcykgIT0gMjoKKyAgICBwcmludCgieHBhdGggcXVlcnk6IHdyb25nIG5vZGUgc2V0IHNpemUiKQorICAgIHN5cy5leGl0KDEpCitpZiByZXNbMF0ubmFtZSAhPSAiZG9jIiBvciByZXNbMV0ubmFtZSAhPSAiZm9vIjoKKyAgICBwcmludCgieHBhdGggcXVlcnk6IHdyb25nIG5vZGUgc2V0IHZhbHVlIikKKyAgICBzeXMuZXhpdCgxKQorY3R4dC5zZXRDb250ZXh0Tm9kZShyZXNbMF0pCityZXMgPSBjdHh0LnhwYXRoRXZhbCgiZm9vIikKK2lmIGxlbihyZXMpICE9IDE6CisgICAgcHJpbnQoInhwYXRoIHF1ZXJ5OiB3cm9uZyBub2RlIHNldCBzaXplIikKKyAgICBzeXMuZXhpdCgxKQoraWYgcmVzWzBdLm5hbWUgIT0gImZvbyI6CisgICAgcHJpbnQoInhwYXRoIHF1ZXJ5OiB3cm9uZyBub2RlIHNldCB2YWx1ZSIpCisgICAgc3lzLmV4aXQoMSkKK2RvYy5mcmVlRG9jKCkKK2N0eHQueHBhdGhGcmVlQ29udGV4dCgpCitpID0gMTAwMAord2hpbGUgaSA+IDA6CisgICAgZG9jID0gbGlieG1sMi5wYXJzZUZpbGUoInRzdC54bWwiKQorICAgIGN0eHQgPSBkb2MueHBhdGhOZXdDb250ZXh0KCkKKyAgICByZXMgPSBjdHh0LnhwYXRoRXZhbCgiLy8qIikKKyAgICBkb2MuZnJlZURvYygpCisgICAgY3R4dC54cGF0aEZyZWVDb250ZXh0KCkKKyAgICBpID0gaSAtMQorZGVsIGN0eHQKKworIyBNZW1vcnkgZGVidWcgc3BlY2lmaWMKK2xpYnhtbDIuY2xlYW51cFBhcnNlcigpCitpZiBsaWJ4bWwyLmRlYnVnTWVtb3J5KDEpID09IDA6CisgICAgcHJpbnQoIk9LIikKK2Vsc2U6CisgICAgcHJpbnQoIk1lbW9yeSBsZWFrICVkIGJ5dGVzIiAlIChsaWJ4bWwyLmRlYnVnTWVtb3J5KDEpKSkKKyAgICBsaWJ4bWwyLmR1bXBNZW1vcnkoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9weXRob24vdGVzdHMveHBhdGhleHQucHkgYi9saWJ4bWwyL3B5dGhvbi90ZXN0cy94cGF0aGV4dC5weQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iODNkMjgzCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9weXRob24vdGVzdHMveHBhdGhleHQucHkKQEAgLTAsMCArMSw0OSBAQAorIyEvdXNyL2Jpbi9weXRob24gLXUKK2ltcG9ydCBzeXMKK2ltcG9ydCBsaWJ4bWwyCisKKyMgTWVtb3J5IGRlYnVnIHNwZWNpZmljCitsaWJ4bWwyLmRlYnVnTWVtb3J5KDEpCisKK2RlZiBmb28oY3R4LCB4KToKKyAgICByZXR1cm4geCArIDEKKworZGVmIGJhcihjdHgsIHgpOgorICAgIHJldHVybiAiJWQiICUgKHggKyAyKQorCitkb2MgPSBsaWJ4bWwyLnBhcnNlRmlsZSgidHN0LnhtbCIpCitjdHh0ID0gZG9jLnhwYXRoTmV3Q29udGV4dCgpCityZXMgPSBjdHh0LnhwYXRoRXZhbCgiLy8qIikKK2lmIGxlbihyZXMpICE9IDI6CisgICAgcHJpbnQoInhwYXRoIHF1ZXJ5OiB3cm9uZyBub2RlIHNldCBzaXplIikKKyAgICBzeXMuZXhpdCgxKQoraWYgcmVzWzBdLm5hbWUgIT0gImRvYyIgb3IgcmVzWzFdLm5hbWUgIT0gImZvbyI6CisgICAgcHJpbnQoInhwYXRoIHF1ZXJ5OiB3cm9uZyBub2RlIHNldCB2YWx1ZSIpCisgICAgc3lzLmV4aXQoMSkKKworbGlieG1sMi5yZWdpc3RlclhQYXRoRnVuY3Rpb24oY3R4dC5fbywgImZvbyIsIE5vbmUsIGZvbykKK2xpYnhtbDIucmVnaXN0ZXJYUGF0aEZ1bmN0aW9uKGN0eHQuX28sICJiYXIiLCBOb25lLCBiYXIpCitpID0gMTAwMDAKK3doaWxlIGkgPiAwOgorICAgIHJlcyA9IGN0eHQueHBhdGhFdmFsKCJmb28oMSkiKQorICAgIGlmIHJlcyAhPSAyOgorICAgICAgICBwcmludCgieHBhdGggZXh0ZW5zaW9uIGZhaWx1cmUiKQorICAgICAgICBzeXMuZXhpdCgxKQorICAgIGkgPSBpIC0gMQoraSA9IDEwMDAwCit3aGlsZSBpID4gMDoKKyAgICByZXMgPSBjdHh0LnhwYXRoRXZhbCgiYmFyKDEpIikKKyAgICBpZiByZXMgIT0gIjMiOgorICAgICAgICBwcmludCgieHBhdGggZXh0ZW5zaW9uIGZhaWx1cmUgZ290ICVzIGV4cGVjdGluZyAnMyciKQorICAgICAgICBzeXMuZXhpdCgxKQorICAgIGkgPSBpIC0gMQorZG9jLmZyZWVEb2MoKQorY3R4dC54cGF0aEZyZWVDb250ZXh0KCkKKworIyBNZW1vcnkgZGVidWcgc3BlY2lmaWMKK2xpYnhtbDIuY2xlYW51cFBhcnNlcigpCitpZiBsaWJ4bWwyLmRlYnVnTWVtb3J5KDEpID09IDA6CisgICAgcHJpbnQoIk9LIikKK2Vsc2U6CisgICAgcHJpbnQoIk1lbW9yeSBsZWFrICVkIGJ5dGVzIiAlIChsaWJ4bWwyLmRlYnVnTWVtb3J5KDEpKSkKKyAgICBsaWJ4bWwyLmR1bXBNZW1vcnkoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9weXRob24vdGVzdHMveHBhdGhsZWFrLnB5IGIvbGlieG1sMi9weXRob24vdGVzdHMveHBhdGhsZWFrLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjMzYWI2MWMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3B5dGhvbi90ZXN0cy94cGF0aGxlYWsucHkKQEAgLTAsMCArMSw2NSBAQAorIyEvdXNyL2Jpbi9weXRob24KK2ltcG9ydCBzeXMsIGxpYnhtbDIKKworbGlieG1sMi5kZWJ1Z01lbW9yeShUcnVlKQorCitleHBlY3Q9IiIiLS0+IEludmFsaWQgZXhwcmVzc2lvbgorLS0+IHhtbFhQYXRoRXZhbDogZXZhbHVhdGlvbiBmYWlsZWQKKy0tPiBJbnZhbGlkIGV4cHJlc3Npb24KKy0tPiB4bWxYUGF0aEV2YWw6IGV2YWx1YXRpb24gZmFpbGVkCistLT4gSW52YWxpZCBleHByZXNzaW9uCistLT4geG1sWFBhdGhFdmFsOiBldmFsdWF0aW9uIGZhaWxlZAorLS0+IEludmFsaWQgZXhwcmVzc2lvbgorLS0+IHhtbFhQYXRoRXZhbDogZXZhbHVhdGlvbiBmYWlsZWQKKy0tPiBJbnZhbGlkIGV4cHJlc3Npb24KKy0tPiB4bWxYUGF0aEV2YWw6IGV2YWx1YXRpb24gZmFpbGVkCistLT4gSW52YWxpZCBleHByZXNzaW9uCistLT4geG1sWFBhdGhFdmFsOiBldmFsdWF0aW9uIGZhaWxlZAorLS0+IEludmFsaWQgZXhwcmVzc2lvbgorLS0+IHhtbFhQYXRoRXZhbDogZXZhbHVhdGlvbiBmYWlsZWQKKy0tPiBJbnZhbGlkIGV4cHJlc3Npb24KKy0tPiB4bWxYUGF0aEV2YWw6IGV2YWx1YXRpb24gZmFpbGVkCistLT4gSW52YWxpZCBleHByZXNzaW9uCistLT4geG1sWFBhdGhFdmFsOiBldmFsdWF0aW9uIGZhaWxlZAorLS0+IEludmFsaWQgZXhwcmVzc2lvbgorLS0+IHhtbFhQYXRoRXZhbDogZXZhbHVhdGlvbiBmYWlsZWQKKyIiIgorZXJyPSIiCitkZWYgY2FsbGJhY2soY3R4LCBzdHIpOgorICAgICBnbG9iYWwgZXJyCisKKyAgICAgZXJyID0gZXJyICsgIiVzICVzIiAlIChjdHgsIHN0cikKKworbGlieG1sMi5yZWdpc3RlckVycm9ySGFuZGxlcihjYWxsYmFjaywgIi0tPiIpCisKK2RvYyA9IGxpYnhtbDIucGFyc2VEb2MoIjxmaXNoLz4iKQorY3R4dCA9IGRvYy54cGF0aE5ld0NvbnRleHQoKQorY3R4dC5zZXRDb250ZXh0Tm9kZShkb2MpCitiYWRleHBycyA9ICgKKwkiOmZhbHNlKCkiLCAiYmFkOigpIiwgImJhZCg6KSIsICI6YmFkKDopIiwgImJhZDooOikiLCAiYmFkOmJhZCg6KSIsCisJImE6L2IiLCAiL2M6L2QiLCAiLy9lOi9mIiwgImc6Ly9oIgorCSkKK2ZvciBleHByIGluIGJhZGV4cHJzOgorCXRyeToKKwkJY3R4dC54cGF0aEV2YWwoZXhwcikKKwlleGNlcHQgbGlieG1sMi54cGF0aEVycm9yOgorCSAgICAgICAgcGFzcworCWVsc2U6CisJCXByaW50KCJVbmV4cGVjdGVkbHkgbGVnYWwgZXhwcmVzc2lvbjoiLCBleHByKQorY3R4dC54cGF0aEZyZWVDb250ZXh0KCkKK2RvYy5mcmVlRG9jKCkKKworaWYgZXJyICE9IGV4cGVjdDoKKyAgICBwcmludCgiZXJyb3IiKQorICAgIHByaW50KCJyZWNlaXZlZCAlcyIgJShlcnIpKQorICAgIHByaW50KCJleHBlY3RlZCAlcyIgJShleHBlY3QpKQorICAgIHN5cy5leGl0KDEpCisKK2xpYnhtbDIuY2xlYW51cFBhcnNlcigpCitsZWFrZWRieXRlcyA9IGxpYnhtbDIuZGVidWdNZW1vcnkoVHJ1ZSkKK2lmIGxlYWtlZGJ5dGVzID09IDA6CisJcHJpbnQoIk9LIikKK2Vsc2U6CisJcHJpbnQoIk1lbW9yeSBsZWFrIiwgbGVha2VkYnl0ZXMsICJieXRlcyIpCisJIyBkcm9wIGZpbGUgdG8gLm1lbWR1bXAgZmlsZSBpbiBjd2QsIGJ1dCB3b24ndCB3b3JrIGlmIG5vdCBjb21waWxlZCBpbgorCWxpYnhtbDIuZHVtcE1lbW9yeSgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3B5dGhvbi90ZXN0cy94cGF0aG5zLnB5IGIvbGlieG1sMi9weXRob24vdGVzdHMveHBhdGhucy5weQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zNzk1MzVlCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9weXRob24vdGVzdHMveHBhdGhucy5weQpAQCAtMCwwICsxLDI5IEBACisjIS91c3IvYmluL3B5dGhvbiAtdQorIworaW1wb3J0IGxpYnhtbDIKKworZXhwZWN0PScgeG1sbnM6YT0idXJuOndoYXRldmFyIicKKworIyBNZW1vcnkgZGVidWcgc3BlY2lmaWMKK2xpYnhtbDIuZGVidWdNZW1vcnkoMSkKKworZCA9IGxpYnhtbDIucGFyc2VEb2MoIjxhOmEgeG1sbnM6YT0ndXJuOndoYXRldmFyJy8+IikKK3Jlcz0iIgorZm9yIG4gaW4gZC54cGF0aEV2YWwoIi8vbmFtZXNwYWNlOjoqIik6CisgICAgcmVzID0gcmVzICsgbi5zZXJpYWxpemUoKQorZC5mcmVlRG9jKCkKKworaWYgcmVzICE9IGV4cGVjdDoKKyAgICBwcmludCgidGVzdDUgZmFpbGVkOiB1bmV4cGVjdGVkIG91dHB1dCIpCisgICAgcHJpbnQocmVzKQorZGVsIHJlcworZGVsIGQKK2RlbCBuCisjIE1lbW9yeSBkZWJ1ZyBzcGVjaWZpYworbGlieG1sMi5jbGVhbnVwUGFyc2VyKCkKKworaWYgbGlieG1sMi5kZWJ1Z01lbW9yeSgxKSA9PSAwOgorICAgIHByaW50KCJPSyIpCitlbHNlOgorICAgIHByaW50KCJNZW1vcnkgbGVhayAlZCBieXRlcyIgJSAobGlieG1sMi5kZWJ1Z01lbW9yeSgxKSkpCisgICAgbGlieG1sMi5kdW1wTWVtb3J5KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcHl0aG9uL3Rlc3RzL3hwYXRocmV0LnB5IGIvbGlieG1sMi9weXRob24vdGVzdHMveHBhdGhyZXQucHkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMTFjOGIzMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcHl0aG9uL3Rlc3RzL3hwYXRocmV0LnB5CkBAIC0wLDAgKzEsNTcgQEAKKyMhL3Vzci9iaW4vcHl0aG9uIC11CitpbXBvcnQgc3lzCitpbXBvcnQgbGlieG1sMgorCisjbWVtb3J5IGRlYnVnIHNwZWNpZmljCitsaWJ4bWwyLmRlYnVnTWVtb3J5KDEpCisKKyMKKyMgQSBkb2N1bWVudCBob3N0aW5nIHRoZSBub2RlcyByZXR1cm5lZCBmcm9tIHRoZSBleHRlbnNpb24gZnVuY3Rpb24KKyMKK215ZG9jID0gbGlieG1sMi5uZXdEb2MoIjEuMCIpCisKK2RlZiBmb28oY3R4LCBzdHIpOgorICAgIGdsb2JhbCBteWRvYworCisgICAgIworICAgICMgdGVzdCByZXR1cm5pbmcgYSBub2RlIHNldCB3b3JrcyBhcyBleHBlY3RlZAorICAgICMKKyAgICBwYXJlbnQgPSBteWRvYy5uZXdEb2NOb2RlKE5vbmUsICdwJywgTm9uZSkKKyAgICBteWRvYy5hZGRDaGlsZChwYXJlbnQpCisgICAgbm9kZSA9IG15ZG9jLm5ld0RvY1RleHQoc3RyKQorICAgIHBhcmVudC5hZGRDaGlsZChub2RlKQorICAgIHJldHVybiBbcGFyZW50XQorCitkb2MgPSBsaWJ4bWwyLnBhcnNlRmlsZSgidHN0LnhtbCIpCitjdHh0ID0gZG9jLnhwYXRoTmV3Q29udGV4dCgpCitsaWJ4bWwyLnJlZ2lzdGVyWFBhdGhGdW5jdGlvbihjdHh0Ll9vLCAiZm9vIiwgTm9uZSwgZm9vKQorcmVzID0gY3R4dC54cGF0aEV2YWwoImZvbygnaGVsbG8nKSIpCitpZiB0eXBlKHJlcykgIT0gdHlwZShbXSk6CisgICAgcHJpbnQoIkZhaWxlZCB0byByZXR1cm4gYSBub2Rlc2V0IikKKyAgICBzeXMuZXhpdCgxKQoraWYgbGVuKHJlcykgIT0gMToKKyAgICBwcmludCgiVW5leHBlY3RlZCBub2Rlc2V0IHNpemUiKQorICAgIHN5cy5leGl0KDEpCitub2RlID0gcmVzWzBdCitpZiBub2RlLm5hbWUgIT0gJ3AnOgorICAgIHByaW50KCJVbmV4cGVjdGVkIG5vZGVzZXQgZWxlbWVudCByZXN1bHQiKQorICAgIHN5cy5leGl0KDEpCitub2RlID0gbm9kZS5jaGlsZHJlbgoraWYgbm9kZS50eXBlICE9ICd0ZXh0JzoKKyAgICBwcmludCgiVW5leHBlY3RlZCBub2Rlc2V0IGVsZW1lbnQgY2hpbGRyZW4gdHlwZSIpCisgICAgc3lzLmV4aXQoMSkKK2lmIG5vZGUuY29udGVudCAhPSAnaGVsbG8nOgorICAgIHByaW50KCJVbmV4cGVjdGVkIG5vZGVzZXQgZWxlbWVudCBjaGlsZHJlbiBjb250ZW50IikKKyAgICBzeXMuZXhpdCgxKQorCitkb2MuZnJlZURvYygpCitteWRvYy5mcmVlRG9jKCkKK2N0eHQueHBhdGhGcmVlQ29udGV4dCgpCisKKyNtZW1vcnkgZGVidWcgc3BlY2lmaWMKK2xpYnhtbDIuY2xlYW51cFBhcnNlcigpCitpZiBsaWJ4bWwyLmRlYnVnTWVtb3J5KDEpID09IDA6CisgICAgcHJpbnQoIk9LIikKK2Vsc2U6CisgICAgcHJpbnQoIk1lbW9yeSBsZWFrICVkIGJ5dGVzIiAlIChsaWJ4bWwyLmRlYnVnTWVtb3J5KDEpKSkKKyAgICBsaWJ4bWwyLmR1bXBNZW1vcnkoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9weXRob24vdHlwZXMuYyBiL2xpYnhtbDIvcHl0aG9uL3R5cGVzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjIzNzY3NwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcHl0aG9uL3R5cGVzLmMKQEAgLTAsMCArMSw5NTcgQEAKKy8qCisgKiB0eXBlcy5jOiBjb252ZXJ0ZXIgZnVuY3Rpb25zIGJldHdlZW4gdGhlIGludGVybmFsIHJlcHJlc2VudGF0aW9uCisgKiAgICAgICAgICBhbmQgdGhlIFB5dGhvbiBvYmplY3RzCisgKgorICogU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgorICoKKyAqIGRhbmllbEB2ZWlsbGFyZC5jb20KKyAqLworI2luY2x1ZGUgImxpYnhtbF93cmFwLmgiCisjaW5jbHVkZSA8bGlieG1sL3hwYXRoSW50ZXJuYWxzLmg+CisKKyNpZiBQWV9NQUpPUl9WRVJTSU9OID49IDMKKyNkZWZpbmUgUFlfSU1QT1JUX1NUUklOR19TSVpFIFB5VW5pY29kZV9Gcm9tU3RyaW5nQW5kU2l6ZQorI2RlZmluZSBQWV9JTVBPUlRfU1RSSU5HIFB5VW5pY29kZV9Gcm9tU3RyaW5nCisjZGVmaW5lIFBZX0lNUE9SVF9JTlQgUHlMb25nX0Zyb21Mb25nCisjZWxzZQorI2RlZmluZSBQWV9JTVBPUlRfU1RSSU5HX1NJWkUgUHlTdHJpbmdfRnJvbVN0cmluZ0FuZFNpemUKKyNkZWZpbmUgUFlfSU1QT1JUX1NUUklORyBQeVN0cmluZ19Gcm9tU3RyaW5nCisjZGVmaW5lIFBZX0lNUE9SVF9JTlQgUHlJbnRfRnJvbUxvbmcKKyNlbmRpZgorCisjaWYgUFlfTUFKT1JfVkVSU0lPTiA+PSAzCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxmY250bC5oPgorCitGSUxFICoKK2xpYnhtbF9QeUZpbGVHZXQoUHlPYmplY3QgKmYpIHsKKyAgICBpbnQgZmQsIGZsYWdzOworICAgIEZJTEUgKnJlczsKKyAgICBjb25zdCBjaGFyICptb2RlOworCisgICAgZmQgPSBQeU9iamVjdF9Bc0ZpbGVEZXNjcmlwdG9yKGYpOworICAgIGlmICghX1B5VmVyaWZ5X2ZkKGZkKSkKKyAgICAgICAgcmV0dXJuKE5VTEwpOworICAgIC8qCisgICAgICogR2V0IHRoZSBmbGFncyBvbiB0aGUgZmQgdG8gdW5kZXJzdGFuZCBob3cgaXQgd2FzIG9wZW5lZAorICAgICAqLworICAgIGZsYWdzID0gZmNudGwoZmQsIEZfR0VURkwsIDApOworICAgIHN3aXRjaCAoZmxhZ3MgJiBPX0FDQ01PREUpIHsKKyAgICAgICAgY2FzZSBPX1JEV1I6CisJICAgIGlmIChmbGFncyAmIE9fQVBQRU5EKQorCSAgICAgICAgbW9kZSA9ICJhKyI7CisJICAgIGVsc2UKKwkgICAgICAgIG1vZGUgPSAicnciOworCSAgICBicmVhazsKKyAgICAgICAgY2FzZSBPX1JET05MWToKKwkgICAgaWYgKGZsYWdzICYgT19BUFBFTkQpCisJICAgICAgICBtb2RlID0gInIrIjsKKwkgICAgZWxzZQorCSAgICAgICAgbW9kZSA9ICJyIjsKKwkgICAgYnJlYWs7CisJY2FzZSBPX1dST05MWToKKwkgICAgaWYgKGZsYWdzICYgT19BUFBFTkQpCisJICAgICAgICBtb2RlID0gImEiOworCSAgICBlbHNlCisJICAgICAgICBtb2RlID0gInciOworCSAgICBicmVhazsKKwlkZWZhdWx0OgorCSAgICByZXR1cm4oTlVMTCk7CisgICAgfQorCisgICAgLyoKKyAgICAgKiB0aGUgRklMRSBzdHJ1Y3QgZ2V0cyBhIG5ldyBmZCwgc28gdGhhdCBpdCBjYW4gYmUgY2xvc2VkCisgICAgICogaW5kZXBlbmRlbnRseSBvZiB0aGUgZmlsZSBkZXNjcmlwdG9yIGdpdmVuLiBUaGUgcmlzayB0aG91Z2ggaXMKKyAgICAgKiBsYWNrIG9mIHN5bmMuIFNvIGF0IHRoZSBweXRob24gbGV2ZWwgc3luYyBtdXN0IGJlIGltcGxlbWVudGVkCisgICAgICogYmVmb3JlIGFuZCBhZnRlciBhIGNvbnZlcnNpb24gdG9vayBwbGFjZS4gTm8gd2F5IGFyb3VuZCBpdAorICAgICAqIGluIHRoZSBQeXRob24zIGluZnJhc3RydWN0dXJlICEKKyAgICAgKiBUaGUgZHVwbGljYXRlZCBmZCBhbmQgRklMRSAqIHdpbGwgYmUgcmVsZWFzZWQgaW4gdGhlIHN1YnNlcXVlbnQKKyAgICAgKiBjYWxsIHRvIGxpYnhtbF9QeUZpbGVSZWxlYXNlKCkgd2hpY2ggbXVzdCBiZSBnZW5yYXRlZCBhY2NvZGluZ2x5CisgICAgICovCisgICAgZmQgPSBkdXAoZmQpOworICAgIGlmIChmZCA9PSAtMSkKKyAgICAgICAgcmV0dXJuKE5VTEwpOworICAgIHJlcyA9IGZkb3BlbihmZCwgbW9kZSk7CisgICAgaWYgKHJlcyA9PSBOVUxMKSB7CisgICAgICAgIGNsb3NlKGZkKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIHJldHVybihyZXMpOworfQorCit2b2lkIGxpYnhtbF9QeUZpbGVSZWxlYXNlKEZJTEUgKmYpIHsKKyAgICBpZiAoZiAhPSBOVUxMKQorICAgICAgICBmY2xvc2UoZik7Cit9CisjZW5kaWYKKworUHlPYmplY3QgKgorbGlieG1sX2ludFdyYXAoaW50IHZhbCkKK3sKKyAgICBQeU9iamVjdCAqcmV0OworCisjaWZkZWYgREVCVUcKKyAgICBwcmludGYoImxpYnhtbF9pbnRXcmFwOiB2YWwgPSAlZFxuIiwgdmFsKTsKKyNlbmRpZgorICAgIHJldCA9IFBZX0lNUE9SVF9JTlQoKGxvbmcpIHZhbCk7CisgICAgcmV0dXJuIChyZXQpOworfQorCitQeU9iamVjdCAqCitsaWJ4bWxfbG9uZ1dyYXAobG9uZyB2YWwpCit7CisgICAgUHlPYmplY3QgKnJldDsKKworI2lmZGVmIERFQlVHCisgICAgcHJpbnRmKCJsaWJ4bWxfbG9uZ1dyYXA6IHZhbCA9ICVsZFxuIiwgdmFsKTsKKyNlbmRpZgorICAgIHJldCA9IFB5TG9uZ19Gcm9tTG9uZyh2YWwpOworICAgIHJldHVybiAocmV0KTsKK30KKworUHlPYmplY3QgKgorbGlieG1sX2RvdWJsZVdyYXAoZG91YmxlIHZhbCkKK3sKKyAgICBQeU9iamVjdCAqcmV0OworCisjaWZkZWYgREVCVUcKKyAgICBwcmludGYoImxpYnhtbF9kb3VibGVXcmFwOiB2YWwgPSAlZlxuIiwgdmFsKTsKKyNlbmRpZgorICAgIHJldCA9IFB5RmxvYXRfRnJvbURvdWJsZSgoZG91YmxlKSB2YWwpOworICAgIHJldHVybiAocmV0KTsKK30KKworUHlPYmplY3QgKgorbGlieG1sX2NoYXJQdHJXcmFwKGNoYXIgKnN0cikKK3sKKyAgICBQeU9iamVjdCAqcmV0OworCisjaWZkZWYgREVCVUcKKyAgICBwcmludGYoImxpYnhtbF94bWxjaGFyUHRyV3JhcDogc3RyID0gJXNcbiIsIHN0cik7CisjZW5kaWYKKyAgICBpZiAoc3RyID09IE5VTEwpIHsKKyAgICAgICAgUHlfSU5DUkVGKFB5X05vbmUpOworICAgICAgICByZXR1cm4gKFB5X05vbmUpOworICAgIH0KKyAgICByZXQgPSBQWV9JTVBPUlRfU1RSSU5HKHN0cik7CisgICAgeG1sRnJlZShzdHIpOworICAgIHJldHVybiAocmV0KTsKK30KKworUHlPYmplY3QgKgorbGlieG1sX2NoYXJQdHJDb25zdFdyYXAoY29uc3QgY2hhciAqc3RyKQoreworICAgIFB5T2JqZWN0ICpyZXQ7CisKKyNpZmRlZiBERUJVRworICAgIHByaW50ZigibGlieG1sX3htbGNoYXJQdHJXcmFwOiBzdHIgPSAlc1xuIiwgc3RyKTsKKyNlbmRpZgorICAgIGlmIChzdHIgPT0gTlVMTCkgeworICAgICAgICBQeV9JTkNSRUYoUHlfTm9uZSk7CisgICAgICAgIHJldHVybiAoUHlfTm9uZSk7CisgICAgfQorICAgIHJldCA9IFBZX0lNUE9SVF9TVFJJTkcoc3RyKTsKKyAgICByZXR1cm4gKHJldCk7Cit9CisKK1B5T2JqZWN0ICoKK2xpYnhtbF94bWxDaGFyUHRyV3JhcCh4bWxDaGFyICogc3RyKQoreworICAgIFB5T2JqZWN0ICpyZXQ7CisKKyNpZmRlZiBERUJVRworICAgIHByaW50ZigibGlieG1sX3htbENoYXJQdHJXcmFwOiBzdHIgPSAlc1xuIiwgc3RyKTsKKyNlbmRpZgorICAgIGlmIChzdHIgPT0gTlVMTCkgeworICAgICAgICBQeV9JTkNSRUYoUHlfTm9uZSk7CisgICAgICAgIHJldHVybiAoUHlfTm9uZSk7CisgICAgfQorICAgIHJldCA9IFBZX0lNUE9SVF9TVFJJTkcoKGNoYXIgKikgc3RyKTsKKyAgICB4bWxGcmVlKHN0cik7CisgICAgcmV0dXJuIChyZXQpOworfQorCitQeU9iamVjdCAqCitsaWJ4bWxfeG1sQ2hhclB0ckNvbnN0V3JhcChjb25zdCB4bWxDaGFyICogc3RyKQoreworICAgIFB5T2JqZWN0ICpyZXQ7CisKKyNpZmRlZiBERUJVRworICAgIHByaW50ZigibGlieG1sX3htbENoYXJQdHJXcmFwOiBzdHIgPSAlc1xuIiwgc3RyKTsKKyNlbmRpZgorICAgIGlmIChzdHIgPT0gTlVMTCkgeworICAgICAgICBQeV9JTkNSRUYoUHlfTm9uZSk7CisgICAgICAgIHJldHVybiAoUHlfTm9uZSk7CisgICAgfQorICAgIHJldCA9IFBZX0lNUE9SVF9TVFJJTkcoKGNoYXIgKikgc3RyKTsKKyAgICByZXR1cm4gKHJldCk7Cit9CisKK1B5T2JqZWN0ICoKK2xpYnhtbF9jb25zdGNoYXJQdHJXcmFwKGNvbnN0IGNoYXIgKnN0cikKK3sKKyAgICBQeU9iamVjdCAqcmV0OworCisjaWZkZWYgREVCVUcKKyAgICBwcmludGYoImxpYnhtbF94bWxjaGFyUHRyV3JhcDogc3RyID0gJXNcbiIsIHN0cik7CisjZW5kaWYKKyAgICBpZiAoc3RyID09IE5VTEwpIHsKKyAgICAgICAgUHlfSU5DUkVGKFB5X05vbmUpOworICAgICAgICByZXR1cm4gKFB5X05vbmUpOworICAgIH0KKyAgICByZXQgPSBQWV9JTVBPUlRfU1RSSU5HKHN0cik7CisgICAgcmV0dXJuIChyZXQpOworfQorCitQeU9iamVjdCAqCitsaWJ4bWxfY29uc3R4bWxDaGFyUHRyV3JhcChjb25zdCB4bWxDaGFyICogc3RyKQoreworICAgIFB5T2JqZWN0ICpyZXQ7CisKKyNpZmRlZiBERUJVRworICAgIHByaW50ZigibGlieG1sX3htbENoYXJQdHJXcmFwOiBzdHIgPSAlc1xuIiwgc3RyKTsKKyNlbmRpZgorICAgIGlmIChzdHIgPT0gTlVMTCkgeworICAgICAgICBQeV9JTkNSRUYoUHlfTm9uZSk7CisgICAgICAgIHJldHVybiAoUHlfTm9uZSk7CisgICAgfQorICAgIHJldCA9IFBZX0lNUE9SVF9TVFJJTkcoKGNoYXIgKikgc3RyKTsKKyAgICByZXR1cm4gKHJldCk7Cit9CisKK1B5T2JqZWN0ICoKK2xpYnhtbF94bWxEb2NQdHJXcmFwKHhtbERvY1B0ciBkb2MpCit7CisgICAgUHlPYmplY3QgKnJldDsKKworI2lmZGVmIERFQlVHCisgICAgcHJpbnRmKCJsaWJ4bWxfeG1sRG9jUHRyV3JhcDogZG9jID0gJXBcbiIsIGRvYyk7CisjZW5kaWYKKyAgICBpZiAoZG9jID09IE5VTEwpIHsKKyAgICAgICAgUHlfSU5DUkVGKFB5X05vbmUpOworICAgICAgICByZXR1cm4gKFB5X05vbmUpOworICAgIH0KKyAgICAvKiBUT0RPOiBsb29rIGF0IGRlYWxsb2NhdGlvbiAqLworICAgIHJldCA9IFB5Q2Fwc3VsZV9OZXcoKHZvaWQgKikgZG9jLCAoY2hhciAqKSAieG1sRG9jUHRyIiwgTlVMTCk7CisgICAgcmV0dXJuIChyZXQpOworfQorCitQeU9iamVjdCAqCitsaWJ4bWxfeG1sTm9kZVB0cldyYXAoeG1sTm9kZVB0ciBub2RlKQoreworICAgIFB5T2JqZWN0ICpyZXQ7CisKKyNpZmRlZiBERUJVRworICAgIHByaW50ZigibGlieG1sX3htbE5vZGVQdHJXcmFwOiBub2RlID0gJXBcbiIsIG5vZGUpOworI2VuZGlmCisgICAgaWYgKG5vZGUgPT0gTlVMTCkgeworICAgICAgICBQeV9JTkNSRUYoUHlfTm9uZSk7CisgICAgICAgIHJldHVybiAoUHlfTm9uZSk7CisgICAgfQorICAgIHJldCA9IFB5Q2Fwc3VsZV9OZXcoKHZvaWQgKikgbm9kZSwgKGNoYXIgKikgInhtbE5vZGVQdHIiLCBOVUxMKTsKKyAgICByZXR1cm4gKHJldCk7Cit9CisKK1B5T2JqZWN0ICoKK2xpYnhtbF94bWxVUklQdHJXcmFwKHhtbFVSSVB0ciB1cmkpCit7CisgICAgUHlPYmplY3QgKnJldDsKKworI2lmZGVmIERFQlVHCisgICAgcHJpbnRmKCJsaWJ4bWxfeG1sVVJJUHRyV3JhcDogdXJpID0gJXBcbiIsIHVyaSk7CisjZW5kaWYKKyAgICBpZiAodXJpID09IE5VTEwpIHsKKyAgICAgICAgUHlfSU5DUkVGKFB5X05vbmUpOworICAgICAgICByZXR1cm4gKFB5X05vbmUpOworICAgIH0KKyAgICByZXQgPSBQeUNhcHN1bGVfTmV3KCh2b2lkICopIHVyaSwgKGNoYXIgKikgInhtbFVSSVB0ciIsIE5VTEwpOworICAgIHJldHVybiAocmV0KTsKK30KKworUHlPYmplY3QgKgorbGlieG1sX3htbE5zUHRyV3JhcCh4bWxOc1B0ciBucykKK3sKKyAgICBQeU9iamVjdCAqcmV0OworCisjaWZkZWYgREVCVUcKKyAgICBwcmludGYoImxpYnhtbF94bWxOc1B0cldyYXA6IG5vZGUgPSAlcFxuIiwgbnMpOworI2VuZGlmCisgICAgaWYgKG5zID09IE5VTEwpIHsKKyAgICAgICAgUHlfSU5DUkVGKFB5X05vbmUpOworICAgICAgICByZXR1cm4gKFB5X05vbmUpOworICAgIH0KKyAgICByZXQgPSBQeUNhcHN1bGVfTmV3KCh2b2lkICopIG5zLCAoY2hhciAqKSAieG1sTnNQdHIiLCBOVUxMKTsKKyAgICByZXR1cm4gKHJldCk7Cit9CisKK1B5T2JqZWN0ICoKK2xpYnhtbF94bWxBdHRyUHRyV3JhcCh4bWxBdHRyUHRyIGF0dHIpCit7CisgICAgUHlPYmplY3QgKnJldDsKKworI2lmZGVmIERFQlVHCisgICAgcHJpbnRmKCJsaWJ4bWxfeG1sQXR0ck5vZGVQdHJXcmFwOiBhdHRyID0gJXBcbiIsIGF0dHIpOworI2VuZGlmCisgICAgaWYgKGF0dHIgPT0gTlVMTCkgeworICAgICAgICBQeV9JTkNSRUYoUHlfTm9uZSk7CisgICAgICAgIHJldHVybiAoUHlfTm9uZSk7CisgICAgfQorICAgIHJldCA9IFB5Q2Fwc3VsZV9OZXcoKHZvaWQgKikgYXR0ciwgKGNoYXIgKikgInhtbEF0dHJQdHIiLCBOVUxMKTsKKyAgICByZXR1cm4gKHJldCk7Cit9CisKK1B5T2JqZWN0ICoKK2xpYnhtbF94bWxBdHRyaWJ1dGVQdHJXcmFwKHhtbEF0dHJpYnV0ZVB0ciBhdHRyKQoreworICAgIFB5T2JqZWN0ICpyZXQ7CisKKyNpZmRlZiBERUJVRworICAgIHByaW50ZigibGlieG1sX3htbEF0dHJpYnV0ZVB0cldyYXA6IGF0dHIgPSAlcFxuIiwgYXR0cik7CisjZW5kaWYKKyAgICBpZiAoYXR0ciA9PSBOVUxMKSB7CisgICAgICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKKyAgICAgICAgcmV0dXJuIChQeV9Ob25lKTsKKyAgICB9CisgICAgcmV0ID0gUHlDYXBzdWxlX05ldygodm9pZCAqKSBhdHRyLCAoY2hhciAqKSAieG1sQXR0cmlidXRlUHRyIiwgTlVMTCk7CisgICAgcmV0dXJuIChyZXQpOworfQorCitQeU9iamVjdCAqCitsaWJ4bWxfeG1sRWxlbWVudFB0cldyYXAoeG1sRWxlbWVudFB0ciBlbGVtKQoreworICAgIFB5T2JqZWN0ICpyZXQ7CisKKyNpZmRlZiBERUJVRworICAgIHByaW50ZigibGlieG1sX3htbEVsZW1lbnROb2RlUHRyV3JhcDogZWxlbSA9ICVwXG4iLCBlbGVtKTsKKyNlbmRpZgorICAgIGlmIChlbGVtID09IE5VTEwpIHsKKyAgICAgICAgUHlfSU5DUkVGKFB5X05vbmUpOworICAgICAgICByZXR1cm4gKFB5X05vbmUpOworICAgIH0KKyAgICByZXQgPSBQeUNhcHN1bGVfTmV3KCh2b2lkICopIGVsZW0sIChjaGFyICopICJ4bWxFbGVtZW50UHRyIiwgTlVMTCk7CisgICAgcmV0dXJuIChyZXQpOworfQorCitQeU9iamVjdCAqCitsaWJ4bWxfeG1sWFBhdGhDb250ZXh0UHRyV3JhcCh4bWxYUGF0aENvbnRleHRQdHIgY3R4dCkKK3sKKyAgICBQeU9iamVjdCAqcmV0OworCisjaWZkZWYgREVCVUcKKyAgICBwcmludGYoImxpYnhtbF94bWxYUGF0aENvbnRleHRQdHJXcmFwOiBjdHh0ID0gJXBcbiIsIGN0eHQpOworI2VuZGlmCisgICAgaWYgKGN0eHQgPT0gTlVMTCkgeworICAgICAgICBQeV9JTkNSRUYoUHlfTm9uZSk7CisgICAgICAgIHJldHVybiAoUHlfTm9uZSk7CisgICAgfQorICAgIHJldCA9IFB5Q2Fwc3VsZV9OZXcoKHZvaWQgKikgY3R4dCwgKGNoYXIgKikgInhtbFhQYXRoQ29udGV4dFB0ciIsIE5VTEwpOworICAgIHJldHVybiAocmV0KTsKK30KKworUHlPYmplY3QgKgorbGlieG1sX3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cldyYXAoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQpCit7CisgICAgUHlPYmplY3QgKnJldDsKKworI2lmZGVmIERFQlVHCisgICAgcHJpbnRmKCJsaWJ4bWxfeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyV3JhcDogY3R4dCA9ICVwXG4iLCBjdHh0KTsKKyNlbmRpZgorICAgIGlmIChjdHh0ID09IE5VTEwpIHsKKyAgICAgICAgUHlfSU5DUkVGKFB5X05vbmUpOworICAgICAgICByZXR1cm4gKFB5X05vbmUpOworICAgIH0KKyAgICByZXQgPSBQeUNhcHN1bGVfTmV3KCh2b2lkICopY3R4dCwgKGNoYXIgKikieG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIiwgTlVMTCk7CisgICAgcmV0dXJuIChyZXQpOworfQorCitQeU9iamVjdCAqCitsaWJ4bWxfeG1sUGFyc2VyQ3R4dFB0cldyYXAoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0KQoreworICAgIFB5T2JqZWN0ICpyZXQ7CisKKyNpZmRlZiBERUJVRworICAgIHByaW50ZigibGlieG1sX3htbFBhcnNlckN0eHRQdHJXcmFwOiBjdHh0ID0gJXBcbiIsIGN0eHQpOworI2VuZGlmCisgICAgaWYgKGN0eHQgPT0gTlVMTCkgeworICAgICAgICBQeV9JTkNSRUYoUHlfTm9uZSk7CisgICAgICAgIHJldHVybiAoUHlfTm9uZSk7CisgICAgfQorCisgICAgcmV0ID0gUHlDYXBzdWxlX05ldygodm9pZCAqKSBjdHh0LCAoY2hhciAqKSAieG1sUGFyc2VyQ3R4dFB0ciIsIE5VTEwpOworICAgIHJldHVybiAocmV0KTsKK30KKworLyoqCisgKiBsaWJ4bWxfeG1sWFBhdGhEZXN0cnVjdE5zTm9kZToKKyAqIGNhcDogeG1sTnNQdHIgbmFtZXNwYWNlIG5vZGUgY2Fwc3VsZSBvYmplY3QKKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCBpZiBhbmQgd2hlbiBhIG5hbWVzcGFjZSBub2RlIHJldHVybmVkIGluCisgKiBhbiBYUGF0aCBub2RlIHNldCBpcyB0byBiZSBkZXN0cm95ZWQuIFRoYXQncyB0aGUgb25seSBraW5kIG9mCisgKiBvYmplY3QgcmV0dXJuZWQgaW4gbm9kZSBzZXQgbm90IGRpcmVjdGx5IGxpbmtlZCB0byB0aGUgb3JpZ2luYWwKKyAqIHhtbERvYyBkb2N1bWVudCwgc2VlIHhtbFhQYXRoTm9kZVNldER1cE5zLgorICovCisjaWYgUFlfVkVSU0lPTl9IRVggPCAweDAyMDcwMDAwCitzdGF0aWMgdm9pZAorbGlieG1sX3htbFhQYXRoRGVzdHJ1Y3ROc05vZGUodm9pZCAqY2FwLCB2b2lkICpkZXNjIEFUVFJJQlVURV9VTlVTRUQpCisjZWxzZQorc3RhdGljIHZvaWQKK2xpYnhtbF94bWxYUGF0aERlc3RydWN0TnNOb2RlKFB5T2JqZWN0ICpjYXApCisjZW5kaWYKK3sKKyNpZmRlZiBERUJVRworICAgIGZwcmludGYoc3RkZXJyLCAibGlieG1sX3htbFhQYXRoRGVzdHJ1Y3ROc05vZGUgY2FsbGVkICVwXG4iLCBjYXApOworI2VuZGlmCisjaWYgUFlfVkVSU0lPTl9IRVggPCAweDAyMDcwMDAwCisgICAgeG1sWFBhdGhOb2RlU2V0RnJlZU5zKCh4bWxOc1B0cikgY2FwKTsKKyNlbHNlCisgICAgeG1sWFBhdGhOb2RlU2V0RnJlZU5zKCh4bWxOc1B0cikgUHlDYXBzdWxlX0dldFBvaW50ZXIoY2FwLCAieG1sTnNQdHIiKSk7CisjZW5kaWYKK30KKworUHlPYmplY3QgKgorbGlieG1sX3htbFhQYXRoT2JqZWN0UHRyV3JhcCh4bWxYUGF0aE9iamVjdFB0ciBvYmopCit7CisgICAgUHlPYmplY3QgKnJldDsKKworI2lmZGVmIERFQlVHCisgICAgcHJpbnRmKCJsaWJ4bWxfeG1sWFBhdGhPYmplY3RQdHJXcmFwOiBjdHh0ID0gJXBcbiIsIG9iaik7CisjZW5kaWYKKyAgICBpZiAob2JqID09IE5VTEwpIHsKKyAgICAgICAgUHlfSU5DUkVGKFB5X05vbmUpOworICAgICAgICByZXR1cm4gKFB5X05vbmUpOworICAgIH0KKyAgICBzd2l0Y2ggKG9iai0+dHlwZSkgeworICAgICAgICBjYXNlIFhQQVRIX1hTTFRfVFJFRTogeworICAgICAgICAgICAgaWYgKChvYmotPm5vZGVzZXR2YWwgPT0gTlVMTCkgfHwKKwkJKG9iai0+bm9kZXNldHZhbC0+bm9kZU5yID09IDApIHx8CisJCShvYmotPm5vZGVzZXR2YWwtPm5vZGVUYWIgPT0gTlVMTCkpIHsKKyAgICAgICAgICAgICAgICByZXQgPSBQeUxpc3RfTmV3KDApOworCSAgICB9IGVsc2UgeworCQlpbnQgaSwgbGVuID0gMDsKKwkJeG1sTm9kZVB0ciBub2RlOworCisJCW5vZGUgPSBvYmotPm5vZGVzZXR2YWwtPm5vZGVUYWJbMF0tPmNoaWxkcmVuOworCQl3aGlsZSAobm9kZSAhPSBOVUxMKSB7CisJCSAgICBsZW4rKzsKKwkJICAgIG5vZGUgPSBub2RlLT5uZXh0OworCQl9CisJCXJldCA9IFB5TGlzdF9OZXcobGVuKTsKKwkJbm9kZSA9IG9iai0+bm9kZXNldHZhbC0+bm9kZVRhYlswXS0+Y2hpbGRyZW47CisJCWZvciAoaSA9IDA7aSA8IGxlbjtpKyspIHsKKyAgICAgICAgICAgICAgICAgICAgUHlMaXN0X1NldEl0ZW0ocmV0LCBpLCBsaWJ4bWxfeG1sTm9kZVB0cldyYXAobm9kZSkpOworCQkgICAgbm9kZSA9IG5vZGUtPm5leHQ7CisJCX0KKwkgICAgfQorCSAgICAvKgorCSAgICAgKiBSZXR1cm4gbm93LCBkbyBub3QgZnJlZSB0aGUgb2JqZWN0IHBhc3NlZCBkb3duCisJICAgICAqLworCSAgICByZXR1cm4gKHJldCk7CisJfQorICAgICAgICBjYXNlIFhQQVRIX05PREVTRVQ6CisgICAgICAgICAgICBpZiAoKG9iai0+bm9kZXNldHZhbCA9PSBOVUxMKQorICAgICAgICAgICAgICAgIHx8IChvYmotPm5vZGVzZXR2YWwtPm5vZGVOciA9PSAwKSkgeworICAgICAgICAgICAgICAgIHJldCA9IFB5TGlzdF9OZXcoMCk7CisJICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgaW50IGk7CisgICAgICAgICAgICAgICAgeG1sTm9kZVB0ciBub2RlOworCisgICAgICAgICAgICAgICAgcmV0ID0gUHlMaXN0X05ldyhvYmotPm5vZGVzZXR2YWwtPm5vZGVOcik7CisgICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IG9iai0+bm9kZXNldHZhbC0+bm9kZU5yOyBpKyspIHsKKyAgICAgICAgICAgICAgICAgICAgbm9kZSA9IG9iai0+bm9kZXNldHZhbC0+bm9kZVRhYltpXTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKG5vZGUtPnR5cGUgPT0gWE1MX05BTUVTUEFDRV9ERUNMKSB7CisJCSAgICAgICAgUHlPYmplY3QgKm5zID0gUHlDYXBzdWxlX05ldygodm9pZCAqKSBub2RlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjaGFyICopICJ4bWxOc1B0ciIsCisJCQkJICAgICBsaWJ4bWxfeG1sWFBhdGhEZXN0cnVjdE5zTm9kZSk7CisJCQlQeUxpc3RfU2V0SXRlbShyZXQsIGksIG5zKTsKKwkJCS8qIG1ha2Ugc3VyZSB0aGUgeG1sTnNQdHIgaXMgbm90IGRlc3Ryb3llZCBub3cgKi8KKwkJCW9iai0+bm9kZXNldHZhbC0+bm9kZVRhYltpXSA9IE5VTEw7CisJCSAgICB9IGVsc2UgeworCQkJUHlMaXN0X1NldEl0ZW0ocmV0LCBpLCBsaWJ4bWxfeG1sTm9kZVB0cldyYXAobm9kZSkpOworCQkgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhQQVRIX0JPT0xFQU46CisgICAgICAgICAgICByZXQgPSBQWV9JTVBPUlRfSU5UKChsb25nKSBvYmotPmJvb2x2YWwpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWFBBVEhfTlVNQkVSOgorICAgICAgICAgICAgcmV0ID0gUHlGbG9hdF9Gcm9tRG91YmxlKG9iai0+ZmxvYXR2YWwpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWFBBVEhfU1RSSU5HOgorCSAgICByZXQgPSBQWV9JTVBPUlRfU1RSSU5HKChjaGFyICopIG9iai0+c3RyaW5ndmFsKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhQQVRIX1BPSU5UOgorICAgICAgICB7CisgICAgICAgICAgICBQeU9iamVjdCAqbm9kZTsKKyAgICAgICAgICAgIFB5T2JqZWN0ICppbmRleEludG9Ob2RlOworICAgICAgICAgICAgUHlPYmplY3QgKnR1cGxlOworCisgICAgICAgICAgICBub2RlID0gbGlieG1sX3htbE5vZGVQdHJXcmFwKG9iai0+dXNlcik7CisgICAgICAgICAgICBpbmRleEludG9Ob2RlID0gUFlfSU1QT1JUX0lOVCgobG9uZykgb2JqLT5pbmRleCk7CisKKyAgICAgICAgICAgIHR1cGxlID0gUHlUdXBsZV9OZXcoMik7CisgICAgICAgICAgICBQeVR1cGxlX1NldEl0ZW0odHVwbGUsIDAsIG5vZGUpOworICAgICAgICAgICAgUHlUdXBsZV9TZXRJdGVtKHR1cGxlLCAxLCBpbmRleEludG9Ob2RlKTsKKworICAgICAgICAgICAgcmV0ID0gdHVwbGU7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICBjYXNlIFhQQVRIX1JBTkdFOgorICAgICAgICB7CisgICAgICAgICAgICB1bnNpZ25lZCBzaG9ydCBiQ29sbGFwc2VkUmFuZ2U7CisKKyAgICAgICAgICAgIGJDb2xsYXBzZWRSYW5nZSA9ICggKG9iai0+dXNlcjIgPT0gTlVMTCkgfHwKKwkJICAgICAgICAgICAgICAgICgob2JqLT51c2VyMiA9PSBvYmotPnVzZXIpICYmIChvYmotPmluZGV4ID09IG9iai0+aW5kZXgyKSkgKTsKKyAgICAgICAgICAgIGlmICggYkNvbGxhcHNlZFJhbmdlICkgeworICAgICAgICAgICAgICAgIFB5T2JqZWN0ICpub2RlOworICAgICAgICAgICAgICAgIFB5T2JqZWN0ICppbmRleEludG9Ob2RlOworICAgICAgICAgICAgICAgIFB5T2JqZWN0ICp0dXBsZTsKKyAgICAgICAgICAgICAgICBQeU9iamVjdCAqbGlzdDsKKworICAgICAgICAgICAgICAgIGxpc3QgPSBQeUxpc3RfTmV3KDEpOworCisgICAgICAgICAgICAgICAgbm9kZSA9IGxpYnhtbF94bWxOb2RlUHRyV3JhcChvYmotPnVzZXIpOworICAgICAgICAgICAgICAgIGluZGV4SW50b05vZGUgPSBQWV9JTVBPUlRfSU5UKChsb25nKSBvYmotPmluZGV4KTsKKworICAgICAgICAgICAgICAgIHR1cGxlID0gUHlUdXBsZV9OZXcoMik7CisgICAgICAgICAgICAgICAgUHlUdXBsZV9TZXRJdGVtKHR1cGxlLCAwLCBub2RlKTsKKyAgICAgICAgICAgICAgICBQeVR1cGxlX1NldEl0ZW0odHVwbGUsIDEsIGluZGV4SW50b05vZGUpOworCisgICAgICAgICAgICAgICAgUHlMaXN0X1NldEl0ZW0obGlzdCwgMCwgdHVwbGUpOworCisgICAgICAgICAgICAgICAgcmV0ID0gbGlzdDsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgUHlPYmplY3QgKm5vZGU7CisgICAgICAgICAgICAgICAgUHlPYmplY3QgKmluZGV4SW50b05vZGU7CisgICAgICAgICAgICAgICAgUHlPYmplY3QgKnR1cGxlOworICAgICAgICAgICAgICAgIFB5T2JqZWN0ICpsaXN0OworCisgICAgICAgICAgICAgICAgbGlzdCA9IFB5TGlzdF9OZXcoMik7CisKKyAgICAgICAgICAgICAgICBub2RlID0gbGlieG1sX3htbE5vZGVQdHJXcmFwKG9iai0+dXNlcik7CisgICAgICAgICAgICAgICAgaW5kZXhJbnRvTm9kZSA9IFBZX0lNUE9SVF9JTlQoKGxvbmcpIG9iai0+aW5kZXgpOworCisgICAgICAgICAgICAgICAgdHVwbGUgPSBQeVR1cGxlX05ldygyKTsKKyAgICAgICAgICAgICAgICBQeVR1cGxlX1NldEl0ZW0odHVwbGUsIDAsIG5vZGUpOworICAgICAgICAgICAgICAgIFB5VHVwbGVfU2V0SXRlbSh0dXBsZSwgMSwgaW5kZXhJbnRvTm9kZSk7CisKKyAgICAgICAgICAgICAgICBQeUxpc3RfU2V0SXRlbShsaXN0LCAwLCB0dXBsZSk7CisKKyAgICAgICAgICAgICAgICBub2RlID0gbGlieG1sX3htbE5vZGVQdHJXcmFwKG9iai0+dXNlcjIpOworICAgICAgICAgICAgICAgIGluZGV4SW50b05vZGUgPSBQWV9JTVBPUlRfSU5UKChsb25nKSBvYmotPmluZGV4Mik7CisKKyAgICAgICAgICAgICAgICB0dXBsZSA9IFB5VHVwbGVfTmV3KDIpOworICAgICAgICAgICAgICAgIFB5VHVwbGVfU2V0SXRlbSh0dXBsZSwgMCwgbm9kZSk7CisgICAgICAgICAgICAgICAgUHlUdXBsZV9TZXRJdGVtKHR1cGxlLCAxLCBpbmRleEludG9Ob2RlKTsKKworICAgICAgICAgICAgICAgIFB5TGlzdF9TZXRJdGVtKGxpc3QsIDEsIHR1cGxlKTsKKworICAgICAgICAgICAgICAgIHJldCA9IGxpc3Q7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICBjYXNlIFhQQVRIX0xPQ0FUSU9OU0VUOgorICAgICAgICB7CisgICAgICAgICAgICB4bWxMb2NhdGlvblNldFB0ciBzZXQ7CisKKyAgICAgICAgICAgIHNldCA9IG9iai0+dXNlcjsKKyAgICAgICAgICAgIGlmICggc2V0ICYmIHNldC0+bG9jTnIgPiAwICkgeworICAgICAgICAgICAgICAgIGludCBpOworICAgICAgICAgICAgICAgIFB5T2JqZWN0ICpsaXN0OworCisgICAgICAgICAgICAgICAgbGlzdCA9IFB5TGlzdF9OZXcoc2V0LT5sb2NOcik7CisKKyAgICAgICAgICAgICAgICBmb3IgKGk9MDsgaTxzZXQtPmxvY05yOyBpKyspIHsKKyAgICAgICAgICAgICAgICAgICAgeG1sWFBhdGhPYmplY3RQdHIgc2V0b2JqOworICAgICAgICAgICAgICAgICAgICBQeU9iamVjdCAqcHlvYmo7CisKKyAgICAgICAgICAgICAgICAgICAgc2V0b2JqID0gc2V0LT5sb2NUYWJbaV07IC8qeG1sWFBhdGhPYmplY3RQdHIgc2V0b2JqKi8KKworICAgICAgICAgICAgICAgICAgICBweW9iaiA9IGxpYnhtbF94bWxYUGF0aE9iamVjdFB0cldyYXAoc2V0b2JqKTsKKyAgICAgICAgICAgICAgICAgICAgLyogeG1sWFBhdGhGcmVlT2JqZWN0KHNldG9iaikgaXMgY2FsbGVkICovCisgICAgICAgICAgICAgICAgICAgIHNldC0+bG9jVGFiW2ldID0gTlVMTDsKKworICAgICAgICAgICAgICAgICAgICBQeUxpc3RfU2V0SXRlbShsaXN0LCBpLCBweW9iaik7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHNldC0+bG9jTnIgPSAwOworICAgICAgICAgICAgICAgIHJldCA9IGxpc3Q7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKKyAgICAgICAgICAgICAgICByZXQgPSBQeV9Ob25lOworICAgICAgICAgICAgfQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgZGVmYXVsdDoKKyNpZmRlZiBERUJVRworICAgICAgICAgICAgcHJpbnRmKCJVbmFibGUgdG8gY29udmVydCBYUGF0aCBvYmplY3QgdHlwZSAlZFxuIiwgb2JqLT50eXBlKTsKKyNlbmRpZgorICAgICAgICAgICAgUHlfSU5DUkVGKFB5X05vbmUpOworICAgICAgICAgICAgcmV0ID0gUHlfTm9uZTsKKyAgICB9CisgICAgeG1sWFBhdGhGcmVlT2JqZWN0KG9iaik7CisgICAgcmV0dXJuIChyZXQpOworfQorCit4bWxYUGF0aE9iamVjdFB0cgorbGlieG1sX3htbFhQYXRoT2JqZWN0UHRyQ29udmVydChQeU9iamVjdCAqb2JqKQoreworICAgIHhtbFhQYXRoT2JqZWN0UHRyIHJldCA9IE5VTEw7CisKKyNpZmRlZiBERUJVRworICAgIHByaW50ZigibGlieG1sX3htbFhQYXRoT2JqZWN0UHRyQ29udmVydDogb2JqID0gJXBcbiIsIG9iaik7CisjZW5kaWYKKyAgICBpZiAob2JqID09IE5VTEwpIHsKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICB9CisgICAgaWYgUHlGbG9hdF9DaGVjayAob2JqKSB7CisgICAgICAgIHJldCA9IHhtbFhQYXRoTmV3RmxvYXQoKGRvdWJsZSkgUHlGbG9hdF9BU19ET1VCTEUob2JqKSk7CisgICAgfSBlbHNlIGlmIFB5TG9uZ19DaGVjayhvYmopIHsKKyNpZmRlZiBQeUxvbmdfQVNfTE9ORworICAgICAgICByZXQgPSB4bWxYUGF0aE5ld0Zsb2F0KChkb3VibGUpIFB5TG9uZ19BU19MT05HKG9iaikpOworI2Vsc2UKKyAgICAgICAgcmV0ID0geG1sWFBhdGhOZXdGbG9hdCgoZG91YmxlKSBQeUludF9BU19MT05HKG9iaikpOworI2VuZGlmCisjaWZkZWYgUHlCb29sX0NoZWNrCisgICAgfSBlbHNlIGlmIFB5Qm9vbF9DaGVjayAob2JqKSB7CisKKyAgICAgICAgaWYgKG9iaiA9PSBQeV9UcnVlKSB7CisgICAgICAgICAgcmV0ID0geG1sWFBhdGhOZXdCb29sZWFuKDEpOworICAgICAgICB9CisgICAgICAgIGVsc2UgeworICAgICAgICAgIHJldCA9IHhtbFhQYXRoTmV3Qm9vbGVhbigwKTsKKyAgICAgICAgfQorI2VuZGlmCisgICAgfSBlbHNlIGlmIFB5Qnl0ZXNfQ2hlY2sgKG9iaikgeworICAgICAgICB4bWxDaGFyICpzdHI7CisKKyAgICAgICAgc3RyID0geG1sU3RybmR1cCgoY29uc3QgeG1sQ2hhciAqKSBQeUJ5dGVzX0FTX1NUUklORyhvYmopLAorICAgICAgICAgICAgICAgICAgICAgICAgIFB5Qnl0ZXNfR0VUX1NJWkUob2JqKSk7CisgICAgICAgIHJldCA9IHhtbFhQYXRoV3JhcFN0cmluZyhzdHIpOworI2lmZGVmIFB5VW5pY29kZV9DaGVjaworICAgIH0gZWxzZSBpZiBQeVVuaWNvZGVfQ2hlY2sgKG9iaikgeworI2lmIFBZX1ZFUlNJT05fSEVYID49IDB4MDMwMzAwMDAKKyAgICAgICAgeG1sQ2hhciAqc3RyOworCWNvbnN0IGNoYXIgKnRtcDsKKwlQeV9zc2l6ZV90IHNpemU7CisKKwkvKiB0bXAgZG9lc24ndCBuZWVkIHRvIGJlIGRlYWxsb2NhdGVkICovCisgICAgICAgIHRtcCA9IFB5VW5pY29kZV9Bc1VURjhBbmRTaXplKG9iaiwgJnNpemUpOworICAgICAgICBzdHIgPSB4bWxTdHJuZHVwKChjb25zdCB4bWxDaGFyICopIHRtcCwgKGludCkgc2l6ZSk7CisgICAgICAgIHJldCA9IHhtbFhQYXRoV3JhcFN0cmluZyhzdHIpOworI2Vsc2UKKyAgICAgICAgeG1sQ2hhciAqc3RyID0gTlVMTDsKKyAgICAgICAgUHlPYmplY3QgKmI7CisKKwliID0gUHlVbmljb2RlX0FzVVRGOFN0cmluZyhvYmopOworCWlmIChiICE9IE5VTEwpIHsKKwkgICAgc3RyID0geG1sU3RybmR1cCgoY29uc3QgeG1sQ2hhciAqKSBQeUJ5dGVzX0FTX1NUUklORyhiKSwKKwkJCSAgICAgUHlCeXRlc19HRVRfU0laRShiKSk7CisJICAgIFB5X0RFQ1JFRihiKTsKKwl9CisJcmV0ID0geG1sWFBhdGhXcmFwU3RyaW5nKHN0cik7CisjZW5kaWYKKyNlbmRpZgorICAgIH0gZWxzZSBpZiBQeUxpc3RfQ2hlY2sgKG9iaikgeworICAgICAgICBpbnQgaTsKKyAgICAgICAgUHlPYmplY3QgKm5vZGU7CisgICAgICAgIHhtbE5vZGVQdHIgY3VyOworICAgICAgICB4bWxOb2RlU2V0UHRyIHNldDsKKworICAgICAgICBzZXQgPSB4bWxYUGF0aE5vZGVTZXRDcmVhdGUoTlVMTCk7CisKKyAgICAgICAgZm9yIChpID0gMDsgaSA8IFB5TGlzdF9TaXplKG9iaik7IGkrKykgeworICAgICAgICAgICAgbm9kZSA9IFB5TGlzdF9HZXRJdGVtKG9iaiwgaSk7CisgICAgICAgICAgICBpZiAoKG5vZGUgPT0gTlVMTCkgfHwgKG5vZGUtPm9iX3R5cGUgPT0gTlVMTCkpCisgICAgICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgICAgIGN1ciA9IE5VTEw7CisgICAgICAgICAgICBpZiAoUHlDYXBzdWxlX0NoZWNrRXhhY3Qobm9kZSkpIHsKKyNpZmRlZiBERUJVRworICAgICAgICAgICAgICAgIHByaW50ZigiR290IGEgQ2Fwc3VsZVxuIik7CisjZW5kaWYKKyAgICAgICAgICAgICAgICBjdXIgPSBQeXhtbE5vZGVfR2V0KG5vZGUpOworICAgICAgICAgICAgfSBlbHNlIGlmICgoUHlPYmplY3RfSGFzQXR0clN0cmluZyhub2RlLCAoY2hhciAqKSAiX28iKSkgJiYKKwkgICAgICAgICAgICAgICAoUHlPYmplY3RfSGFzQXR0clN0cmluZyhub2RlLCAoY2hhciAqKSAiZ2V0X2RvYyIpKSkgeworCQlQeU9iamVjdCAqd3JhcHBlcjsKKworCQl3cmFwcGVyID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhub2RlLCAoY2hhciAqKSAiX28iKTsKKwkJaWYgKHdyYXBwZXIgIT0gTlVMTCkKKwkJICAgIGN1ciA9IFB5eG1sTm9kZV9HZXQod3JhcHBlcik7CisgICAgICAgICAgICB9IGVsc2UgeworI2lmZGVmIERFQlVHCisgICAgICAgICAgICAgICAgcHJpbnRmKCJVbmtub3duIG9iamVjdCBpbiBQeXRob24gcmV0dXJuIGxpc3RcbiIpOworI2VuZGlmCisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAoY3VyICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICB4bWxYUGF0aE5vZGVTZXRBZGQoc2V0LCBjdXIpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIHJldCA9IHhtbFhQYXRoV3JhcE5vZGVTZXQoc2V0KTsKKyAgICB9IGVsc2UgeworI2lmZGVmIERFQlVHCisgICAgICAgIHByaW50ZigiVW5hYmxlIHRvIGNvbnZlcnQgUHl0aG9uIE9iamVjdCB0byBYUGF0aCIpOworI2VuZGlmCisgICAgfQorICAgIHJldHVybiAocmV0KTsKK30KKworUHlPYmplY3QgKgorbGlieG1sX3htbFZhbGlkQ3R4dFB0cldyYXAoeG1sVmFsaWRDdHh0UHRyIHZhbGlkKQoreworCVB5T2JqZWN0ICpyZXQ7CisKKyNpZmRlZiBERUJVRworCXByaW50ZigibGlieG1sX3htbFZhbGlkQ3R4dFB0cldyYXA6IHZhbGlkID0gJXBcbiIsIHZhbGlkKTsKKyNlbmRpZgorCWlmICh2YWxpZCA9PSBOVUxMKSB7CisJCVB5X0lOQ1JFRihQeV9Ob25lKTsKKwkJcmV0dXJuIChQeV9Ob25lKTsKKwl9CisKKwlyZXQgPSAKKwkJUHlDYXBzdWxlX05ldygodm9pZCAqKSB2YWxpZCwKKwkJCQkJCQkJCSAoY2hhciAqKSAieG1sVmFsaWRDdHh0UHRyIiwgTlVMTCk7CisKKwlyZXR1cm4gKHJldCk7Cit9CisKK1B5T2JqZWN0ICoKK2xpYnhtbF94bWxDYXRhbG9nUHRyV3JhcCh4bWxDYXRhbG9nUHRyIGNhdGFsKQoreworICAgIFB5T2JqZWN0ICpyZXQ7CisKKyNpZmRlZiBERUJVRworICAgIHByaW50ZigibGlieG1sX3htbE5vZGVQdHJXcmFwOiBjYXRhbCA9ICVwXG4iLCBjYXRhbCk7CisjZW5kaWYKKyAgICBpZiAoY2F0YWwgPT0gTlVMTCkgeworICAgICAgICBQeV9JTkNSRUYoUHlfTm9uZSk7CisgICAgICAgIHJldHVybiAoUHlfTm9uZSk7CisgICAgfQorICAgIHJldCA9CisgICAgICAgIFB5Q2Fwc3VsZV9OZXcoKHZvaWQgKikgY2F0YWwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYXIgKikgInhtbENhdGFsb2dQdHIiLCBOVUxMKTsKKyAgICByZXR1cm4gKHJldCk7Cit9CisKK1B5T2JqZWN0ICoKK2xpYnhtbF94bWxPdXRwdXRCdWZmZXJQdHJXcmFwKHhtbE91dHB1dEJ1ZmZlclB0ciBidWZmZXIpCit7CisgICAgUHlPYmplY3QgKnJldDsKKworI2lmZGVmIERFQlVHCisgICAgcHJpbnRmKCJsaWJ4bWxfeG1sT3V0cHV0QnVmZmVyUHRyV3JhcDogYnVmZmVyID0gJXBcbiIsIGJ1ZmZlcik7CisjZW5kaWYKKyAgICBpZiAoYnVmZmVyID09IE5VTEwpIHsKKyAgICAgICAgUHlfSU5DUkVGKFB5X05vbmUpOworICAgICAgICByZXR1cm4gKFB5X05vbmUpOworICAgIH0KKyAgICByZXQgPQorICAgICAgICBQeUNhcHN1bGVfTmV3KCh2b2lkICopIGJ1ZmZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2hhciAqKSAieG1sT3V0cHV0QnVmZmVyUHRyIiwgTlVMTCk7CisgICAgcmV0dXJuIChyZXQpOworfQorCitQeU9iamVjdCAqCitsaWJ4bWxfeG1sUGFyc2VySW5wdXRCdWZmZXJQdHJXcmFwKHhtbFBhcnNlcklucHV0QnVmZmVyUHRyIGJ1ZmZlcikKK3sKKyAgICBQeU9iamVjdCAqcmV0OworCisjaWZkZWYgREVCVUcKKyAgICBwcmludGYoImxpYnhtbF94bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cldyYXA6IGJ1ZmZlciA9ICVwXG4iLCBidWZmZXIpOworI2VuZGlmCisgICAgaWYgKGJ1ZmZlciA9PSBOVUxMKSB7CisgICAgICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKKyAgICAgICAgcmV0dXJuIChQeV9Ob25lKTsKKyAgICB9CisgICAgcmV0ID0KKyAgICAgICAgUHlDYXBzdWxlX05ldygodm9pZCAqKSBidWZmZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYXIgKikgInhtbFBhcnNlcklucHV0QnVmZmVyUHRyIiwgTlVMTCk7CisgICAgcmV0dXJuIChyZXQpOworfQorCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECitQeU9iamVjdCAqCitsaWJ4bWxfeG1sUmVnZXhwUHRyV3JhcCh4bWxSZWdleHBQdHIgcmVnZXhwKQoreworICAgIFB5T2JqZWN0ICpyZXQ7CisKKyNpZmRlZiBERUJVRworICAgIHByaW50ZigibGlieG1sX3htbFJlZ2V4cFB0cldyYXA6IHJlZ2V4cCA9ICVwXG4iLCByZWdleHApOworI2VuZGlmCisgICAgaWYgKHJlZ2V4cCA9PSBOVUxMKSB7CisgICAgICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKKyAgICAgICAgcmV0dXJuIChQeV9Ob25lKTsKKyAgICB9CisgICAgcmV0ID0KKyAgICAgICAgUHlDYXBzdWxlX05ldygodm9pZCAqKSByZWdleHAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYXIgKikgInhtbFJlZ2V4cFB0ciIsIE5VTEwpOworICAgIHJldHVybiAocmV0KTsKK30KKyNlbmRpZiAvKiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQgKi8KKworI2lmZGVmIExJQlhNTF9SRUFERVJfRU5BQkxFRAorUHlPYmplY3QgKgorbGlieG1sX3htbFRleHRSZWFkZXJQdHJXcmFwKHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyKQoreworICAgIFB5T2JqZWN0ICpyZXQ7CisKKyNpZmRlZiBERUJVRworICAgIHByaW50ZigibGlieG1sX3htbFRleHRSZWFkZXJQdHJXcmFwOiByZWFkZXIgPSAlcFxuIiwgcmVhZGVyKTsKKyNlbmRpZgorICAgIGlmIChyZWFkZXIgPT0gTlVMTCkgeworICAgICAgICBQeV9JTkNSRUYoUHlfTm9uZSk7CisgICAgICAgIHJldHVybiAoUHlfTm9uZSk7CisgICAgfQorICAgIHJldCA9CisgICAgICAgIFB5Q2Fwc3VsZV9OZXcoKHZvaWQgKikgcmVhZGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjaGFyICopICJ4bWxUZXh0UmVhZGVyUHRyIiwgTlVMTCk7CisgICAgcmV0dXJuIChyZXQpOworfQorCitQeU9iamVjdCAqCitsaWJ4bWxfeG1sVGV4dFJlYWRlckxvY2F0b3JQdHJXcmFwKHhtbFRleHRSZWFkZXJMb2NhdG9yUHRyIGxvY2F0b3IpCit7CisgICAgUHlPYmplY3QgKnJldDsKKworI2lmZGVmIERFQlVHCisgICAgcHJpbnRmKCJsaWJ4bWxfeG1sVGV4dFJlYWRlckxvY2F0b3JQdHJXcmFwOiBsb2NhdG9yID0gJXBcbiIsIGxvY2F0b3IpOworI2VuZGlmCisgICAgaWYgKGxvY2F0b3IgPT0gTlVMTCkgeworICAgICAgICBQeV9JTkNSRUYoUHlfTm9uZSk7CisgICAgICAgIHJldHVybiAoUHlfTm9uZSk7CisgICAgfQorICAgIHJldCA9CisgICAgICAgIFB5Q2Fwc3VsZV9OZXcoKHZvaWQgKikgbG9jYXRvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2hhciAqKSAieG1sVGV4dFJlYWRlckxvY2F0b3JQdHIiLCBOVUxMKTsKKyAgICByZXR1cm4gKHJldCk7Cit9CisjZW5kaWYgLyogTElCWE1MX1JFQURFUl9FTkFCTEVEICovCisKKyNpZmRlZiBMSUJYTUxfU0NIRU1BU19FTkFCTEVECitQeU9iamVjdCAqCitsaWJ4bWxfeG1sUmVsYXhOR1B0cldyYXAoeG1sUmVsYXhOR1B0ciBjdHh0KQoreworICAgIFB5T2JqZWN0ICpyZXQ7CisKKyNpZmRlZiBERUJVRworICAgIHByaW50ZigibGlieG1sX3htbFJlbGF4TkdQdHJXcmFwOiBjdHh0ID0gJXBcbiIsIGN0eHQpOworI2VuZGlmCisgICAgaWYgKGN0eHQgPT0gTlVMTCkgeworICAgICAgICBQeV9JTkNSRUYoUHlfTm9uZSk7CisgICAgICAgIHJldHVybiAoUHlfTm9uZSk7CisgICAgfQorICAgIHJldCA9CisgICAgICAgIFB5Q2Fwc3VsZV9OZXcoKHZvaWQgKikgY3R4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2hhciAqKSAieG1sUmVsYXhOR1B0ciIsIE5VTEwpOworICAgIHJldHVybiAocmV0KTsKK30KKworUHlPYmplY3QgKgorbGlieG1sX3htbFJlbGF4TkdQYXJzZXJDdHh0UHRyV3JhcCh4bWxSZWxheE5HUGFyc2VyQ3R4dFB0ciBjdHh0KQoreworICAgIFB5T2JqZWN0ICpyZXQ7CisKKyNpZmRlZiBERUJVRworICAgIHByaW50ZigibGlieG1sX3htbFJlbGF4TkdQYXJzZXJDdHh0UHRyV3JhcDogY3R4dCA9ICVwXG4iLCBjdHh0KTsKKyNlbmRpZgorICAgIGlmIChjdHh0ID09IE5VTEwpIHsKKyAgICAgICAgUHlfSU5DUkVGKFB5X05vbmUpOworICAgICAgICByZXR1cm4gKFB5X05vbmUpOworICAgIH0KKyAgICByZXQgPQorICAgICAgICBQeUNhcHN1bGVfTmV3KCh2b2lkICopIGN0eHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYXIgKikgInhtbFJlbGF4TkdQYXJzZXJDdHh0UHRyIiwgTlVMTCk7CisgICAgcmV0dXJuIChyZXQpOworfQorUHlPYmplY3QgKgorbGlieG1sX3htbFJlbGF4TkdWYWxpZEN0eHRQdHJXcmFwKHhtbFJlbGF4TkdWYWxpZEN0eHRQdHIgdmFsaWQpCit7CisgICAgUHlPYmplY3QgKnJldDsKKworI2lmZGVmIERFQlVHCisgICAgcHJpbnRmKCJsaWJ4bWxfeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0cldyYXA6IHZhbGlkID0gJXBcbiIsIHZhbGlkKTsKKyNlbmRpZgorICAgIGlmICh2YWxpZCA9PSBOVUxMKSB7CisgICAgICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKKyAgICAgICAgcmV0dXJuIChQeV9Ob25lKTsKKyAgICB9CisgICAgcmV0ID0KKyAgICAgICAgUHlDYXBzdWxlX05ldygodm9pZCAqKSB2YWxpZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2hhciAqKSAieG1sUmVsYXhOR1ZhbGlkQ3R4dFB0ciIsIE5VTEwpOworICAgIHJldHVybiAocmV0KTsKK30KKworUHlPYmplY3QgKgorbGlieG1sX3htbFNjaGVtYVB0cldyYXAoeG1sU2NoZW1hUHRyIGN0eHQpCit7CisJUHlPYmplY3QgKnJldDsKKworI2lmZGVmIERFQlVHCisJcHJpbnRmKCJsaWJ4bWxfeG1sU2NoZW1hUHRyV3JhcDogY3R4dCA9ICVwXG4iLCBjdHh0KTsKKyNlbmRpZgorCWlmIChjdHh0ID09IE5VTEwpIHsKKwkJUHlfSU5DUkVGKFB5X05vbmUpOworCQlyZXR1cm4gKFB5X05vbmUpOworCX0KKwlyZXQgPQorCQlQeUNhcHN1bGVfTmV3KCh2b2lkICopIGN0eHQsCisJCQkJCQkJCQkgKGNoYXIgKikgInhtbFNjaGVtYVB0ciIsIE5VTEwpOworCXJldHVybiAocmV0KTsKK30KKworUHlPYmplY3QgKgorbGlieG1sX3htbFNjaGVtYVBhcnNlckN0eHRQdHJXcmFwKHhtbFNjaGVtYVBhcnNlckN0eHRQdHIgY3R4dCkKK3sKKwlQeU9iamVjdCAqcmV0OworCisjaWZkZWYgREVCVUcKKwlwcmludGYoImxpYnhtbF94bWxTY2hlbWFQYXJzZXJDdHh0UHRyV3JhcDogY3R4dCA9ICVwXG4iLCBjdHh0KTsKKyNlbmRpZgorCWlmIChjdHh0ID09IE5VTEwpIHsKKwkJUHlfSU5DUkVGKFB5X05vbmUpOworCQlyZXR1cm4gKFB5X05vbmUpOworCX0KKwlyZXQgPSAKKwkJUHlDYXBzdWxlX05ldygodm9pZCAqKSBjdHh0LAorCQkJCQkJCQkJIChjaGFyICopICJ4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIiwgTlVMTCk7CisKKwlyZXR1cm4gKHJldCk7Cit9CisKK1B5T2JqZWN0ICoKK2xpYnhtbF94bWxTY2hlbWFWYWxpZEN0eHRQdHJXcmFwKHhtbFNjaGVtYVZhbGlkQ3R4dFB0ciB2YWxpZCkKK3sKKwlQeU9iamVjdCAqcmV0OworCQorI2lmZGVmIERFQlVHCisJcHJpbnRmKCJsaWJ4bWxfeG1sU2NoZW1hVmFsaWRDdHh0UHRyV3JhcDogdmFsaWQgPSAlcFxuIiwgdmFsaWQpOworI2VuZGlmCisJaWYgKHZhbGlkID09IE5VTEwpIHsKKwkJUHlfSU5DUkVGKFB5X05vbmUpOworCQlyZXR1cm4gKFB5X05vbmUpOworCX0KKworCXJldCA9IAorCQlQeUNhcHN1bGVfTmV3KCh2b2lkICopIHZhbGlkLAorCQkJCQkJCQkJIChjaGFyICopICJ4bWxTY2hlbWFWYWxpZEN0eHRQdHIiLCBOVUxMKTsKKworCXJldHVybiAocmV0KTsKK30KKyNlbmRpZiAvKiBMSUJYTUxfU0NIRU1BU19FTkFCTEVEICovCisKK1B5T2JqZWN0ICoKK2xpYnhtbF94bWxFcnJvclB0cldyYXAoeG1sRXJyb3JQdHIgZXJyb3IpCit7CisgICAgUHlPYmplY3QgKnJldDsKKworI2lmZGVmIERFQlVHCisgICAgcHJpbnRmKCJsaWJ4bWxfeG1sRXJyb3JQdHJXcmFwOiBlcnJvciA9ICVwXG4iLCBlcnJvcik7CisjZW5kaWYKKyAgICBpZiAoZXJyb3IgPT0gTlVMTCkgeworICAgICAgICBQeV9JTkNSRUYoUHlfTm9uZSk7CisgICAgICAgIHJldHVybiAoUHlfTm9uZSk7CisgICAgfQorICAgIHJldCA9IFB5Q2Fwc3VsZV9OZXcoKHZvaWQgKikgZXJyb3IsIChjaGFyICopICJ4bWxFcnJvclB0ciIsIE5VTEwpOworICAgIHJldHVybiAocmV0KTsKK30KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVncmVzc2lvbnMucHkgYi9saWJ4bWwyL3JlZ3Jlc3Npb25zLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjBlODEzYzIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3JlZ3Jlc3Npb25zLnB5CkBAIC0wLDAgKzEsMzUwIEBACisjIS91c3IvYmluL3B5dGhvbiAtdQoraW1wb3J0IGdsb2IsIG9zLCBzdHJpbmcsIHN5cywgdGhyZWFkLCB0aW1lCisjIGltcG9ydCBkaWZmbGliCitpbXBvcnQgbGlieG1sMgorCisjIyMKKyMKKyMgVGhpcyBpcyBhICJXb3JrIGluIFByb2dyZXNzIiBhdHRlbXB0IGF0IGEgcHl0aG9uIHNjcmlwdCB0byBydW4gdGhlCisjIHZhcmlvdXMgcmVncmVzc2lvbiB0ZXN0cy4gIFRoZSByYXRpb25hbGUgZm9yIHRoaXMgaXMgdGhhdCBpdCBzaG91bGQgYmUKKyMgcG9zc2libGUgdG8gcnVuIHRoaXMgb24gbW9zdCBtYWpvciBwbGF0Zm9ybXMsIGluY2x1ZGluZyB0aG9zZSAoc3VjaCBhcworIyBXaW5kb3dzKSB3aGljaCBkb24ndCBzdXBwb3J0IGdudSBNYWtlLgorIworIyBUaGUgc2NyaXB0IGlzIGRyaXZlbiBieSBhIHBhcmFtZXRlciBmaWxlIHdoaWNoIGRlZmluZXMgdGhlIHZhcmlvdXMgdGVzdHMKKyMgdG8gYmUgcnVuLCB0b2dldGhlciB3aXRoIHRoZSB1bmlxdWUgc2V0dGluZ3MgZm9yIGVhY2ggb2YgdGhlc2UgdGVzdHMuICBBCisjIHNjcmlwdCBmb3IgTGludXggaXMgaW5jbHVkZWQgKHJlZ3Jlc3Npb25zLnhtbCksIHdpdGggY29tbWVudHMgaW5kaWNhdGluZworIyB0aGUgc2lnbmlmaWNhbmNlIG9mIHRoZSB2YXJpb3VzIHBhcmFtZXRlcnMuICBUbyBydW4gdGhlIHRlc3RzIHVuZGVyIFdpbmRvd3MsCisjIGVkaXQgcmVncmVzc2lvbnMueG1sIGFuZCByZW1vdmUgdGhlIGNvbW1lbnQgYXJvdW5kIHRoZSBkZWZhdWx0IHBhcmFtZXRlcgorIyAiPGV4ZWNwYXRoPiIgKGkuZS4gbWFrZSBpdCBwb2ludCB0byB0aGUgbG9jYXRpb24gb2YgdGhlIGJpbmFyeSBleGVjdXRhYmxlcykuCisjCisjIE5vdGUgdGhhdCB0aGlzIGN1cnJlbnQgdmVyc2lvbiByZXF1aXJlcyB0aGUgUHl0aG9uIGJpbmRpbmdzIGZvciBsaWJ4bWwyIHRvCisjIGhhdmUgYmVlbiBwcmV2aW91c2x5IGluc3RhbGxlZCBhbmQgYWNjZXNzaWJsZQorIworIyBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisjIFdpbGxpYW0gQnJhY2sgKHdicmFja0BtbW0uY29tLmhrKQorIworIyMjCitkZWZhdWx0UGFyYW1zID0ge30JIyB3aWxsIGJlIHVzZWQgYXMgYSBkaWN0aW9uYXJ5IHRvIGhvbGQgdGhlIHBhcnNlZCBwYXJhbXMKKworIyBUaGlzIHJvdXRpbmUgaXMgdXNlZCBmb3IgY29tcGFyaW5nIHRoZSBleHBlY3RlZCBzdGRvdXQgLyBzdGRpbiB3aXRoIHRoZSByZXN1bHRzLgorIyBUaGUgZXhwZWN0ZWQgZGF0YSBoYXMgYWxyZWFkeSBiZWVuIHJlYWQgaW47IHRoZSByZXN1bHQgaXMgYSBmaWxlIGRlc2NyaXB0b3IuCisjIFdpdGhpbiB0aGUgdHdvIHNldHMgb2YgZGF0YSwgbGluZXMgbWF5IGJlZ2luIHdpdGggYSBwYXRoIHN0cmluZy4gIElmIHNvLCB0aGUKKyMgY29kZSAicmVsYXRpdmlzZXMiIGl0IGJ5IHJlbW92aW5nIHRoZSBwYXRoIGNvbXBvbmVudC4gIFRoZSBmaXJzdCBhcmd1bWVudCBpcyBhCisjIGxpc3QgYWxyZWFkeSByZWFkIGluIGJ5IGEgc2VwYXJhdGUgdGhyZWFkOyB0aGUgc2Vjb25kIGlzIGEgZmlsZSBkZXNjcmlwdG9yLgorIyBUaGUgdHdvICdiYXNlJyBhcmd1bWVudHMgYXJlIHRvIGxldCBtZSAicmVsYXRpdmlzZSIgdGhlIHJlc3VsdHMgZmlsZXMsIGFsbG93aW5nCisjIHRoZSBzY3JpcHQgdG8gYmUgcnVuIGZyb20gYW55IGRpcmVjdG9yeS4KK2RlZiBjb21wRmlsZXMocmVzLCBleHBlY3RlZCwgYmFzZTEsIGJhc2UyKToKKyAgICBsMSA9IGxlbihiYXNlMSkKKyAgICBleHAgPSBleHBlY3RlZC5yZWFkbGluZXMoKQorICAgIGV4cGVjdGVkLmNsb3NlKCkKKyAgICAjIHRoZSAicmVsYXRpdmlzYXRpb24iIGlzIGRvbmUgaGVyZQorICAgIGZvciBpIGluIHJhbmdlKGxlbihyZXMpKToKKyAgICAgICAgaiA9IHN0cmluZy5maW5kKHJlc1tpXSxiYXNlMSkKKyAgICAgICAgaWYgKGogPT0gMCkgb3IgKChqID09IDIpIGFuZCAocmVzW2ldWzA6Ml0gPT0gJy4vJykpOgorICAgICAgICAgICAgY29sID0gc3RyaW5nLmZpbmQocmVzW2ldLCc6JykKKyAgICAgICAgICAgIGlmIGNvbCA+IDA6CisgICAgICAgICAgICAgICAgc3RhcnQgPSBzdHJpbmcucmZpbmQocmVzW2ldWzpjb2xdLCAnLycpCisgICAgICAgICAgICAgICAgaWYgc3RhcnQgPiAwOgorICAgICAgICAgICAgICAgICAgICByZXNbaV0gPSByZXNbaV1bc3RhcnQrMTpdCisKKyAgICBmb3IgaSBpbiByYW5nZShsZW4oZXhwKSk6CisgICAgICAgIGogPSBzdHJpbmcuZmluZChleHBbaV0sYmFzZTIpCisgICAgICAgIGlmIChqID09IDApIG9yICgoaiA9PSAyKSBhbmQgKGV4cFtpXVswOjJdID09ICcuLycpKToKKyAgICAgICAgICAgIGNvbCA9IHN0cmluZy5maW5kKGV4cFtpXSwnOicpCisgICAgICAgICAgICBpZiBjb2wgPiAwOgorICAgICAgICAgICAgICAgIHN0YXJ0ID0gc3RyaW5nLnJmaW5kKGV4cFtpXVs6Y29sXSwgJy8nKQorICAgICAgICAgICAgICAgIGlmIHN0YXJ0ID4gMDoKKyAgICAgICAgICAgICAgICAgICAgZXhwW2ldID0gZXhwW2ldW3N0YXJ0KzE6XQorCisgICAgcmV0ID0gMAorICAgICMgaWRlYWxseSB3ZSB3b3VsZCBsaWtlIHRvIHVzZSBkaWZmbGliIGZ1bmN0aW9ucyBoZXJlIHRvIGRvIGEKKyAgICAjIG5pY2UgY29tcGFyaXNvbiBvZiB0aGUgdHdvIHNldHMuICBVbmZvcnR1bmF0ZWx5LCBkdXJpbmcgdGVzdGluZworICAgICMgKHVzaW5nIHB5dGhvbiAyLjMuMyBhbmQgMi4zLjQpIHRoZSBmb2xsb3dpbmcgY29kZSB3ZW50IGludG8KKyAgICAjIGEgZGVhZCBsb29wIHVuZGVyIHdpbmRvd3MuICBJJ2xsIHB1cnN1ZSB0aGlzIGxhdGVyLgorIyAgICBkaWZmID0gZGlmZmxpYi5uZGlmZihyZXMsIGV4cCkKKyMgICAgZGlmZiA9IGxpc3QoZGlmZikKKyMgICAgZm9yIGxpbmUgaW4gZGlmZjoKKyMgICAgICAgIGlmIGxpbmVbOjJdICE9ICcgICc6CisjICAgICAgICAgICAgcHJpbnQgc3RyaW5nLnN0cmlwKGxpbmUpCisjICAgICAgICAgICAgcmV0ID0gLTEKKworICAgICMgdGhlIGZvbGxvd2luZyBzaW1wbGUgY29tcGFyZSBpcyBmaW5lIGZvciB3aGVuIHRoZSB0d28gZGF0YSBzZXRzCisgICAgIyAoYWN0dWFsIHJlc3VsdCB2cy4gZXhwZWN0ZWQgcmVzdWx0KSBhcmUgZXF1YWwsIHdoaWNoIHNob3VsZCBiZSB0cnVlIGZvcgorICAgICMgdXMuICBVbmZvcnR1bmF0ZWx5LCBpZiB0aGUgdGVzdCBmYWlscyBpdCdzIG5vdCBuaWNlIGF0IGFsbC4KKyAgICBybCA9IGxlbihyZXMpCisgICAgZWwgPSBsZW4oZXhwKQorICAgIGlmIGVsICE9IHJsOgorICAgICAgICBwcmludCAnTGVuZ3RoIG9mIGV4cGVjdGVkIGlzICVkLCByZXN1bHQgaXMgJWQnICUgKGVsLCBybCkKKwlyZXQgPSAtMQorICAgIGZvciBpIGluIHJhbmdlKG1pbihlbCwgcmwpKToKKyAgICAgICAgaWYgc3RyaW5nLnN0cmlwKHJlc1tpXSkgIT0gc3RyaW5nLnN0cmlwKGV4cFtpXSk6CisgICAgICAgICAgICBwcmludCAnKzolcy06JXMnICUgKHJlc1tpXSwgZXhwW2ldKQorICAgICAgICAgICAgcmV0ID0gLTEKKyAgICBpZiBlbCA+IHJsOgorICAgICAgICBmb3IgaSBpbiByYW5nZShybCwgZWwpOgorICAgICAgICAgICAgcHJpbnQgJy06JXMnICUgZXhwW2ldCisgICAgICAgICAgICByZXQgPSAtMQorICAgIGVsaWYgcmwgPiBlbDoKKyAgICAgICAgZm9yIGkgaW4gcmFuZ2UgKGVsLCBybCk6CisgICAgICAgICAgICBwcmludCAnKzolcycgJSByZXNbaV0KKyAgICAgICAgICAgIHJldCA9IC0xCisgICAgcmV0dXJuIHJldAorCisjIFNlcGFyYXRlIHRocmVhZHMgdG8gaGFuZGxlIHN0ZG91dCBhbmQgc3RkZXJyIGFyZSBjcmVhdGVkIHRvIHJ1biB0aGlzIGZ1bmN0aW9uCitkZWYgcmVhZFBmaWxlKGZpbGUsIGxpc3QsIGZsYWcpOgorICAgIGRhdGEgPSBmaWxlLnJlYWRsaW5lcygpCSMgbm8gY2FsbCBieSByZWZlcmVuY2UsIHNvIEkgY2hlYXQKKyAgICBmb3IgbCBpbiBkYXRhOgorICAgICAgICBsaXN0LmFwcGVuZChsKQorICAgIGZpbGUuY2xvc2UoKQorICAgIGZsYWcuYXBwZW5kKCdvaycpCisKKyMgVGhpcyByb3V0aW5lIHJ1bnMgdGhlIHRlc3QgcHJvZ3JhbSAoZS5nLiB4bWxsaW50KQorZGVmIHJ1bk9uZVRlc3QodGVzdERlc2NyaXB0aW9uLCBmaWxlbmFtZSwgaW5iYXNlLCBlcnJiYXNlKToKKyAgICBpZiAnZXhlY3BhdGgnIGluIHRlc3REZXNjcmlwdGlvbjoKKyAgICAgICAgZGlyID0gdGVzdERlc2NyaXB0aW9uWydleGVjcGF0aCddICsgJy8nCisgICAgZWxzZToKKyAgICAgICAgZGlyID0gJycKKyAgICBjbWQgPSBvcy5wYXRoLmFic3BhdGgoZGlyICsgdGVzdERlc2NyaXB0aW9uWyd0ZXN0cHJvZyddKQorICAgIGlmICdmbGFnJyBpbiB0ZXN0RGVzY3JpcHRpb246CisgICAgICAgIGZvciBmIGluIHN0cmluZy5zcGxpdCh0ZXN0RGVzY3JpcHRpb25bJ2ZsYWcnXSk6CisgICAgICAgICAgICBjbWQgKz0gJyAnICsgZgorICAgIGlmICdzdGRpbicgbm90IGluIHRlc3REZXNjcmlwdGlvbjoKKyAgICAgICAgY21kICs9ICcgJyArIGluYmFzZSArIGZpbGVuYW1lCisgICAgaWYgJ2V4dGFyZycgaW4gdGVzdERlc2NyaXB0aW9uOgorICAgICAgICBjbWQgKz0gJyAnICsgdGVzdERlc2NyaXB0aW9uWydleHRhcmcnXQorCisgICAgbm9SZXN1bHQgPSAwCisgICAgZXhwb3V0ID0gTm9uZQorICAgIGlmICdyZXNleHQnIGluIHRlc3REZXNjcmlwdGlvbjoKKyAgICAgICAgaWYgdGVzdERlc2NyaXB0aW9uWydyZXNleHQnXSA9PSAnTm9uZSc6CisgICAgICAgICAgICBub1Jlc3VsdCA9IDEKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGV4dCA9ICcuJyArIHRlc3REZXNjcmlwdGlvblsncmVzZXh0J10KKyAgICBlbHNlOgorICAgICAgICBleHQgPSAnJworICAgIGlmIG5vdCBub1Jlc3VsdDoKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgZm5hbWUgPSBlcnJiYXNlICsgZmlsZW5hbWUgKyBleHQKKyAgICAgICAgICAgIGV4cG91dCA9IG9wZW4oZm5hbWUsICdydCcpCisgICAgICAgIGV4Y2VwdDoKKyAgICAgICAgICAgIHByaW50ICJDYW4ndCBvcGVuIHJlc3VsdCBmaWxlICVzIC0gYnlwYXNzaW5nIHRlc3QiICUgZm5hbWUKKyAgICAgICAgICAgIHJldHVybgorCisgICAgbm9FcnJvcnMgPSAwCisgICAgaWYgJ3Jlc2VycmV4dCcgaW4gdGVzdERlc2NyaXB0aW9uOgorICAgICAgICBpZiB0ZXN0RGVzY3JpcHRpb25bJ3Jlc2VycmV4dCddID09ICdOb25lJzoKKyAgICAgICAgICAgIG5vRXJyb3JzID0gMQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgaWYgbGVuKHRlc3REZXNjcmlwdGlvblsncmVzZXJyZXh0J10pPjA6CisgICAgICAgICAgICAgICAgZXh0ID0gJy4nICsgdGVzdERlc2NyaXB0aW9uWydyZXNlcnJleHQnXQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBleHQgPSAnJworICAgIGVsc2U6CisgICAgICAgIGV4dCA9ICcnCisgICAgaWYgbm90IG5vRXJyb3JzOgorICAgICAgICB0cnk6CisgICAgICAgICAgICBmbmFtZSA9IGVycmJhc2UgKyBmaWxlbmFtZSArIGV4dAorICAgICAgICAgICAgZXhwZXJyID0gb3BlbihmbmFtZSwgJ3J0JykKKyAgICAgICAgZXhjZXB0OgorICAgICAgICAgICAgZXhwZXJyID0gTm9uZQorICAgIGVsc2U6CisgICAgICAgIGV4cGVyciA9IE5vbmUKKworICAgIHBpbiwgcG91dCwgcGVyciA9IG9zLnBvcGVuMyhjbWQpCisgICAgaWYgJ3N0ZGluJyBpbiB0ZXN0RGVzY3JpcHRpb246CisgICAgICAgIGluZmlsZSA9IG9wZW4oaW5iYXNlICsgZmlsZW5hbWUsICdydCcpCisgICAgICAgIHBpbi53cml0ZWxpbmVzKGluZmlsZS5yZWFkbGluZXMoKSkKKyAgICAgICAgaW5maWxlLmNsb3NlKCkKKyAgICAgICAgcGluLmNsb3NlKCkKKworICAgICMgcG9wZW4gaXMgZ3JlYXQgZnVuLCBidXQgY2FuIGxlYWQgdG8gdGhlIG9sZCAiZGVhZGx5IGVtYnJhY2UiLCBiZWNhdXNlCisgICAgIyBzeW5jaHJvbml6aW5nIHRoZSB3cml0aW5nIChieSB0aGUgdGFzayBiZWluZyBydW4pIG9mIHN0ZG91dCBhbmQgc3RkZXJyCisgICAgIyB3aXRoIHJlc3BlY3QgdG8gdGhlIHJlYWRpbmcgKGJ5IHRoaXMgdGFzaykgaXMgYmFzaWNhbGx5IGltcG9zc2libGUuICBJCisgICAgIyB0cmllZCBzZXZlcmFsIHdheXMgdG8gY2hlYXQsIGJ1dCB0aGUgb25seSB3YXkgSSBoYXZlIGZvdW5kIHdoaWNoIHdvcmtzCisgICAgIyBpcyB0byBkbyBhICp2ZXJ5KiBlbGVtZW50YXJ5IG11bHRpLXRocmVhZGluZyBhcHByb2FjaC4gIFdlIGNhbiBvbmx5IGhvcGUKKyAgICAjIHRoYXQgUHl0aG9uIHRocmVhZHMgYXJlIGltcGxlbWVudGVkIG9uIHRoZSB0YXJnZXQgc3lzdGVtIChpdCdzIG9rYXkgZm9yCisgICAgIyBMaW51eCBhbmQgV2luZG93cykKKworICAgIHRoMUZsYWcgPSBbXQkjIGZsYWdzIHRvIHNob3cgd2hlbiB0aHJlYWRzIGZpbmlzaAorICAgIHRoMkZsYWcgPSBbXQorICAgIG91dGZpbGUgPSBbXQkjIGxpc3RzIHRvIGNvbnRhaW4gdGhlIHBpcGUgZGF0YQorICAgIGVycmZpbGUgPSBbXQorICAgIHRoMSA9IHRocmVhZC5zdGFydF9uZXdfdGhyZWFkKHJlYWRQZmlsZSwgKHBvdXQsIG91dGZpbGUsIHRoMUZsYWcpKQorICAgIHRoMiA9IHRocmVhZC5zdGFydF9uZXdfdGhyZWFkKHJlYWRQZmlsZSwgKHBlcnIsIGVycmZpbGUsIHRoMkZsYWcpKQorICAgIHdoaWxlIChsZW4odGgxRmxhZyk9PTApIG9yIChsZW4odGgyRmxhZyk9PTApOgorICAgICAgICB0aW1lLnNsZWVwKDAuMDAxKQorICAgIGlmIG5vdCBub1Jlc3VsdDoKKyAgICAgICAgcmV0ID0gY29tcEZpbGVzKG91dGZpbGUsIGV4cG91dCwgaW5iYXNlLCAndGVzdC8nKQorICAgICAgICBpZiByZXQgIT0gMDoKKyAgICAgICAgICAgIHByaW50ICd0cm91YmxlIHdpdGggJXMnICUgY21kCisgICAgZWxzZToKKyAgICAgICAgaWYgbGVuKG91dGZpbGUpICE9IDA6CisgICAgICAgICAgICBmb3IgbCBpbiBvdXRmaWxlOgorICAgICAgICAgICAgICAgIHByaW50IGwKKyAgICAgICAgICAgIHByaW50ICd0cm91YmxlIHdpdGggJXMnICUgY21kCisgICAgaWYgZXhwZXJyICE9IE5vbmU6CisgICAgICAgIHJldCA9IGNvbXBGaWxlcyhlcnJmaWxlLCBleHBlcnIsIGluYmFzZSwgJ3Rlc3QvJykKKyAgICAgICAgaWYgcmV0ICE9IDA6CisgICAgICAgICAgICBwcmludCAndHJvdWJsZSB3aXRoICVzJyAlIGNtZAorICAgIGVsc2U6CisgICAgICAgIGlmIG5vdCBub0Vycm9yczoKKyAgICAgICAgICAgIGlmIGxlbihlcnJmaWxlKSAhPSAwOgorICAgICAgICAgICAgICAgIGZvciBsIGluIGVycmZpbGU6CisgICAgICAgICAgICAgICAgICAgIHByaW50IGwKKyAgICAgICAgICAgICAgICBwcmludCAndHJvdWJsZSB3aXRoICVzJyAlIGNtZAorCisgICAgaWYgJ3N0ZGluJyBub3QgaW4gdGVzdERlc2NyaXB0aW9uOgorICAgICAgICBwaW4uY2xvc2UoKQorCisjIFRoaXMgcm91dGluZSBpcyBjYWxsZWQgYnkgdGhlIHBhcmFtZXRlciBkZWNvZGluZyByb3V0aW5lIHdoZW5ldmVyIHRoZSBlbmQgb2YgYQorIyAndGVzdCcgc2VjdGlvbiBpcyBlbmNvdW50ZXJlZC4gIERlcGVuZGluZyB1cG9uIGZpbGUgZ2xvYmJpbmcsIGEgbGFyZ2UgbnVtYmVyIG9mCisjIGluZGl2aWR1YWwgdGVzdHMgbWF5IGJlIHJ1bi4KK2RlZiBydW5UZXN0KGRlc2NyaXB0aW9uKToKKyAgICB0ZXN0RGVzY3JpcHRpb24gPSBkZWZhdWx0UGFyYW1zLmNvcHkoKQkJIyBzZXQgZGVmYXVsdHMKKyAgICB0ZXN0RGVzY3JpcHRpb24udXBkYXRlKGRlc2NyaXB0aW9uKQkJCSMgb3ZlcnJpZGUgd2l0aCBjdXJyZW50IGVudAorICAgIGlmICd0ZXN0bmFtZScgaW4gdGVzdERlc2NyaXB0aW9uOgorICAgICAgICBwcmludCAiIyMgJXMiICUgdGVzdERlc2NyaXB0aW9uWyd0ZXN0bmFtZSddCisgICAgaWYgbm90ICdmaWxlJyBpbiB0ZXN0RGVzY3JpcHRpb246CisgICAgICAgIHByaW50ICJObyBmaWxlIHNwZWNpZmllZCAtIGNhbid0IHJ1biB0aGlzIHRlc3QhIgorICAgICAgICByZXR1cm4KKyAgICAjIFNldCB1cCB0aGUgc291cmNlIGFuZCByZXN1bHRzIGRpcmVjdG9yeSBwYXRocyBmcm9tIHRoZSBkZWNvZGVkIHBhcmFtcworICAgIGRpciA9ICcnCisgICAgaWYgJ3NyY2RpcicgaW4gdGVzdERlc2NyaXB0aW9uOgorICAgICAgICBkaXIgKz0gdGVzdERlc2NyaXB0aW9uWydzcmNkaXInXSArICcvJworICAgIGlmICdzcmNzdWInIGluIHRlc3REZXNjcmlwdGlvbjoKKyAgICAgICAgZGlyICs9IHRlc3REZXNjcmlwdGlvblsnc3Jjc3ViJ10gKyAnLycKKworICAgIHJkaXIgPSAnJworICAgIGlmICdyZXNkaXInIGluIHRlc3REZXNjcmlwdGlvbjoKKyAgICAgICAgcmRpciArPSB0ZXN0RGVzY3JpcHRpb25bJ3Jlc2RpciddICsgJy8nCisgICAgaWYgJ3Jlc3N1YicgaW4gdGVzdERlc2NyaXB0aW9uOgorICAgICAgICByZGlyICs9IHRlc3REZXNjcmlwdGlvblsncmVzc3ViJ10gKyAnLycKKworICAgIHRlc3RGaWxlcyA9IGdsb2IuZ2xvYihvcy5wYXRoLmFic3BhdGgoZGlyICsgdGVzdERlc2NyaXB0aW9uWydmaWxlJ10pKQorICAgIGlmIHRlc3RGaWxlcyA9PSBbXToKKyAgICAgICAgcHJpbnQgIk5vIGZpbGVzIHJlc3VsdCBmcm9tICclcyciICUgdGVzdERlc2NyaXB0aW9uWydmaWxlJ10KKyAgICAgICAgcmV0dXJuCisKKyAgICAjIFNvbWUgdGVzdCBwcm9ncmFtcyBqdXN0IGRvbid0IHdvcmsgKHlldCkuICBGb3Igbm93IHdlIGV4Y2x1ZGUgdGhlbS4KKyAgICBjb3VudCA9IDAKKyAgICBleGNsID0gW10KKyAgICBpZiAnZXhjbGZpbGUnIGluIHRlc3REZXNjcmlwdGlvbjoKKyAgICAgICAgZm9yIGYgaW4gc3RyaW5nLnNwbGl0KHRlc3REZXNjcmlwdGlvblsnZXhjbGZpbGUnXSk6CisgICAgICAgICAgICBnbGIgPSBnbG9iLmdsb2IoZGlyICsgZikKKyAgICAgICAgICAgIGZvciBnIGluIGdsYjoKKyAgICAgICAgICAgICAgICBleGNsLmFwcGVuZChvcy5wYXRoLmFic3BhdGgoZykpCisKKyAgICAjIFJ1biB0aGUgc3BlY2lmaWVkIHRlc3QgcHJvZ3JhbQorICAgIGZvciBmIGluIHRlc3RGaWxlczoKKyAgICAgICAgaWYgbm90IG9zLnBhdGguaXNkaXIoZik6CisgICAgICAgICAgICBpZiBmIG5vdCBpbiBleGNsOgorICAgICAgICAgICAgICAgIGNvdW50ID0gY291bnQgKyAxCisgICAgICAgICAgICAgICAgcnVuT25lVGVzdCh0ZXN0RGVzY3JpcHRpb24sIG9zLnBhdGguYmFzZW5hbWUoZiksIGRpciwgcmRpcikKKworIworIyBUaGUgZm9sbG93aW5nIGNsYXNzZXMgYXJlIHVzZWQgd2l0aCB0aGUgeG1scmVhZGVyIGludGVyZmFjZSB0byBpbnRlcnByZXQgdGhlCisjIHBhcmFtZXRlciBmaWxlLiAgT25jZSBhIHRlc3Qgc2VjdGlvbiBoYXMgYmVlbiBpZGVudGlmaWVkLCBydW5UZXN0IGlzIGNhbGxlZAorIyB3aXRoIGEgZGljdGlvbmFyeSBjb250YWluaW5nIHRoZSBwYXJzZWQgcmVzdWx0cyBvZiB0aGUgaW50ZXJwcmV0YXRpb24uCisjCisKK2NsYXNzIHRlc3REZWZhdWx0czoKKyAgICBjdXJUZXh0ID0gJycJIyBhY2N1bXVsYXRlcyB0ZXh0IGNvbnRlbnQgb2YgcGFyYW1ldGVyCisKKyAgICBkZWYgYWRkVG9EaWN0KHNlbGYsIGtleSk6CisgICAgICAgIHR4dCA9IHN0cmluZy5zdHJpcChzZWxmLmN1clRleHQpCisjICAgICAgICBpZiB0eHQgPT0gJyc6CisjICAgICAgICAgICAgcmV0dXJuCisgICAgICAgIGlmIGtleSBub3QgaW4gZGVmYXVsdFBhcmFtczoKKyAgICAgICAgICAgIGRlZmF1bHRQYXJhbXNba2V5XSA9IHR4dAorICAgICAgICBlbHNlOgorICAgICAgICAgICAgZGVmYXVsdFBhcmFtc1trZXldICs9ICcgJyArIHR4dAorICAgICAgICAKKyAgICBkZWYgcHJvY2Vzc05vZGUoc2VsZiwgcmVhZGVyLCBjdXJDbGFzcyk6CisgICAgICAgIGlmIHJlYWRlci5EZXB0aCgpID09IDI6CisgICAgICAgICAgICBpZiByZWFkZXIuTm9kZVR5cGUoKSA9PSAxOgorICAgICAgICAgICAgICAgIHNlbGYuY3VyVGV4dCA9ICcnCSMgY2xlYXIgdGhlIHdvcmtpbmcgdmFyaWFibGUKKyAgICAgICAgICAgIGVsaWYgcmVhZGVyLk5vZGVUeXBlKCkgPT0gMTU6CisgICAgICAgICAgICAgICAgaWYgKHJlYWRlci5OYW1lKCkgIT0gJyN0ZXh0JykgYW5kIChyZWFkZXIuTmFtZSgpICE9ICcjY29tbWVudCcpOgorICAgICAgICAgICAgICAgICAgICBzZWxmLmFkZFRvRGljdChyZWFkZXIuTmFtZSgpKQorICAgICAgICBlbGlmIHJlYWRlci5EZXB0aCgpID09IDM6CisgICAgICAgICAgICBpZiByZWFkZXIuTmFtZSgpID09ICcjdGV4dCc6CisgICAgICAgICAgICAgICAgc2VsZi5jdXJUZXh0ICs9IHJlYWRlci5WYWx1ZSgpCisKKyAgICAgICAgZWxpZiByZWFkZXIuTm9kZVR5cGUoKSA9PSAxNToJIyBlbmQgb2YgZWxlbWVudAorICAgICAgICAgICAgcHJpbnQgIkRlZmF1bHRzIGhhdmUgYmVlbiBzZXQgdG86IgorICAgICAgICAgICAgZm9yIGsgaW4gZGVmYXVsdFBhcmFtcy5rZXlzKCk6CisgICAgICAgICAgICAgICAgcHJpbnQgIiAgICVzIDogJyVzJyIgJSAoaywgZGVmYXVsdFBhcmFtc1trXSkKKyAgICAgICAgICAgIGN1ckNsYXNzID0gcm9vdENsYXNzKCkKKyAgICAgICAgcmV0dXJuIGN1ckNsYXNzCisKKworY2xhc3MgdGVzdENsYXNzOgorICAgIGRlZiBfX2luaXRfXyhzZWxmKToKKyAgICAgICAgc2VsZi50ZXN0UGFyYW1zID0ge30JIyBzdGFydCB3aXRoIGFuIGVtcHR5IHNldCBvZiBwYXJhbXMKKyAgICAgICAgc2VsZi5jdXJUZXh0ID0gJycJIyBhbmQgZW1wdHkgdGV4dAorCisgICAgZGVmIGFkZFRvRGljdChzZWxmLCBrZXkpOgorICAgICAgICBkYXRhID0gc3RyaW5nLnN0cmlwKHNlbGYuY3VyVGV4dCkKKyAgICAgICAgaWYga2V5IG5vdCBpbiBzZWxmLnRlc3RQYXJhbXM6CisgICAgICAgICAgICBzZWxmLnRlc3RQYXJhbXNba2V5XSA9IGRhdGEKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGlmIHNlbGYudGVzdFBhcmFtc1trZXldICE9ICcnOgorICAgICAgICAgICAgICAgIGRhdGEgPSAnICcgKyBkYXRhCisgICAgICAgICAgICBzZWxmLnRlc3RQYXJhbXNba2V5XSArPSBkYXRhCisKKyAgICBkZWYgcHJvY2Vzc05vZGUoc2VsZiwgcmVhZGVyLCBjdXJDbGFzcyk6CisgICAgICAgIGlmIHJlYWRlci5EZXB0aCgpID09IDI6CisgICAgICAgICAgICBpZiByZWFkZXIuTm9kZVR5cGUoKSA9PSAxOgorICAgICAgICAgICAgICAgIHNlbGYuY3VyVGV4dCA9ICcnCSMgY2xlYXIgdGhlIHdvcmtpbmcgdmFyaWFibGUKKyAgICAgICAgICAgICAgICBpZiByZWFkZXIuTmFtZSgpIG5vdCBpbiBzZWxmLnRlc3RQYXJhbXM6CisgICAgICAgICAgICAgICAgICAgIHNlbGYudGVzdFBhcmFtc1tyZWFkZXIuTmFtZSgpXSA9ICcnCisgICAgICAgICAgICBlbGlmIHJlYWRlci5Ob2RlVHlwZSgpID09IDE1OgorICAgICAgICAgICAgICAgIGlmIChyZWFkZXIuTmFtZSgpICE9ICcjdGV4dCcpIGFuZCAocmVhZGVyLk5hbWUoKSAhPSAnI2NvbW1lbnQnKToKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5hZGRUb0RpY3QocmVhZGVyLk5hbWUoKSkKKyAgICAgICAgZWxpZiByZWFkZXIuRGVwdGgoKSA9PSAzOgorICAgICAgICAgICAgaWYgcmVhZGVyLk5hbWUoKSA9PSAnI3RleHQnOgorICAgICAgICAgICAgICAgIHNlbGYuY3VyVGV4dCArPSByZWFkZXIuVmFsdWUoKQorCisgICAgICAgIGVsaWYgcmVhZGVyLk5vZGVUeXBlKCkgPT0gMTU6CSMgZW5kIG9mIGVsZW1lbnQKKyAgICAgICAgICAgIHJ1blRlc3Qoc2VsZi50ZXN0UGFyYW1zKQorICAgICAgICAgICAgY3VyQ2xhc3MgPSByb290Q2xhc3MoKQorICAgICAgICByZXR1cm4gY3VyQ2xhc3MKKworCitjbGFzcyByb290Q2xhc3M6CisgICAgZGVmIHByb2Nlc3NOb2RlKHNlbGYsIHJlYWRlciwgY3VyQ2xhc3MpOgorICAgICAgICBpZiByZWFkZXIuRGVwdGgoKSA9PSAwOgorICAgICAgICAgICAgcmV0dXJuIGN1ckNsYXNzCisgICAgICAgIGlmIHJlYWRlci5EZXB0aCgpICE9IDE6CisgICAgICAgICAgICBwcmludCAiVW5leHBlY3RlZCBqdW5rOiBMZXZlbCAlZCwgdHlwZSAlZCwgbmFtZSAlcyIgJSAoCisgICAgICAgICAgICAgICAgICByZWFkZXIuRGVwdGgoKSwgcmVhZGVyLk5vZGVUeXBlKCksIHJlYWRlci5OYW1lKCkpCisgICAgICAgICAgICByZXR1cm4gY3VyQ2xhc3MKKyAgICAgICAgaWYgcmVhZGVyLk5hbWUoKSA9PSAndGVzdCc6CisgICAgICAgICAgICBjdXJDbGFzcyA9IHRlc3RDbGFzcygpCisgICAgICAgICAgICBjdXJDbGFzcy50ZXN0UGFyYW1zID0ge30KKyAgICAgICAgZWxpZiByZWFkZXIuTmFtZSgpID09ICdkZWZhdWx0cyc6CisgICAgICAgICAgICBjdXJDbGFzcyA9IHRlc3REZWZhdWx0cygpCisgICAgICAgIHJldHVybiBjdXJDbGFzcworCitkZWYgc3RyZWFtRmlsZShmaWxlbmFtZSk6CisgICAgdHJ5OgorICAgICAgICByZWFkZXIgPSBsaWJ4bWwyLm5ld1RleHRSZWFkZXJGaWxlbmFtZShmaWxlbmFtZSkKKyAgICBleGNlcHQ6CisgICAgICAgIHByaW50ICJ1bmFibGUgdG8gb3BlbiAlcyIgJSAoZmlsZW5hbWUpCisgICAgICAgIHJldHVybgorCisgICAgY3VyQ2xhc3MgPSByb290Q2xhc3MoKQorICAgIHJldCA9IHJlYWRlci5SZWFkKCkKKyAgICB3aGlsZSByZXQgPT0gMToKKyAgICAgICAgY3VyQ2xhc3MgPSBjdXJDbGFzcy5wcm9jZXNzTm9kZShyZWFkZXIsIGN1ckNsYXNzKQorICAgICAgICByZXQgPSByZWFkZXIuUmVhZCgpCisKKyAgICBpZiByZXQgIT0gMDoKKyAgICAgICAgcHJpbnQgIiVzIDogZmFpbGVkIHRvIHBhcnNlIiAlIChmaWxlbmFtZSkKKworIyBPSywgd2UncmUgZmluaXNoZWQgd2l0aCBhbGwgdGhlIHJvdXRpbmVzLiAgTm93IGZvciB0aGUgbWFpbiBwcm9ncmFtOi0KK2lmIGxlbihzeXMuYXJndikgIT0gMjoKKyAgICBwcmludCAiVXNhZ2U6IG1ha2V0ZXN0IHtmaWxlbmFtZX0iCisgICAgc3lzLmV4aXQoLTEpCisKK3N0cmVhbUZpbGUoc3lzLmFyZ3ZbMV0pCmRpZmYgLS1naXQgYS9saWJ4bWwyL3JlZ3Jlc3Npb25zLnhtbCBiL2xpYnhtbDIvcmVncmVzc2lvbnMueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM3ODgzOGEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3JlZ3Jlc3Npb25zLnhtbApAQCAtMCwwICsxLDIyNiBAQAorPFJlZ3Jlc3Npb25UZXN0cz4KKzwhLS0KKyAgV2l0aGluIHRoZSBmb2xsb3dpbmcgdGVzdCBkZXNjcmlwdGlvbnMgdGhlIHBvc3NpYmxlIGVsZW1lbnRzIGFyZToKKyAgICBFbGVtZW50IE5hbWUgICAgRGVzY3JpcHRpb24KKyAgICAgdGVzdG5hbWUgICAgICAgUGxhaW4gdGV4dCBuYW1lIG9mIHRlc3QKKyAgICAgZXhlY3BhdGggICAgICAgcGF0aG5hbWUgZm9yIHRlc3QgcHJvZ3JhbShzKQorICAgICB0ZXN0cHJvZyAgICAgICBwcm9ncmFtIHRvIHJ1biBmb3IgdGhlIHRlc3QgCisgICAgIGZsYWcgICAgICAgICAgIGZsYWdzIGZvciBwcm9ncmFtIChtYXkgaGF2ZSBzZXZlcmFsKQorICAgICBmaWxlICAgICAgICAgICBmaWxlbmFtZSBvZiBpbnB1dCBmaWxlIChzZXZlcmFsLCBvciBnbG9iIG9rKQorICAgICBleGNsZmlsZSAgICAgICBmaWxlbmFtZSB0byBiZSBleGN1ZGVkIChzZXZlcmFsLCBvciBnbG9iIG9rKQorICAgICBzcmNkaXIgICAgICAgICBnbG9iYWwgc291cmNlIGRpcmVjdG9yeSBmb3IgaW5wdXQgZmlsZShzKQorICAgICBzcmNzdWIgICAgICAgICBzdWJkaXJlY3RvcnkgZm9yIGlucHV0CisgICAgIHJlc2RpciAgICAgICAgIGRpcmVjdG9yeSBmb3IgcmVzdWx0cyBmaWxlKHMpCisgICAgIHJlc3N1YiAgICAgICAgIHN1YmRpcmVjdG9yeSBmb3IgcmVzdWx0cyAgICAKKyAgICAgcmVzZXh0ICAgICAgICAgZXh0ZW5zaW9uIGZvciBleHBlY3RlZCByZXN1bHQKKyAgICAgcmVzZXJyZXh0ICAgICAgZXh0ZW5zaW9uIGZvciBlcnJvciByZXN1bHQgKCdOb25lJyA9PiBubyBjaGspCisgICAgIGV4dGFyZyAgICAgICAgIGFkZGl0aW9uYWwgYXJndW1lbnQgZm9yIGNvbW1hbmQKKyAgICAgZXJyZXhjbCAgICAgICAgc3RyaW5nIHRvIGlnbm9yZSB3aGVuIGNoZWNraW5nIGRpZmZzCisgICAgIHN0ZGluICAgICAgICAgIHBpcGUgaW5wdXQgZmlsZSB0byBzdGRpbgorLS0+CisKKzwhLS0KKyAgTm90ZTogIFRoZXNlIGRlZmF1bHRzIGFyZSBzZXQgdG8gcnVuIGZyb20gdGhlIHJvb3Qgb2YgdGhlIGJ1aWxkIGRpcmVjdG9yeQorLS0+CisgIDxkZWZhdWx0cz4KKyAgICA8dGVzdG5hbWU+bm9uYW1lPC90ZXN0bmFtZT4KKzwhLS0gICAgPGV4ZWNwYXRoPndpbjMyL2Jpbi5tc3ZjPC9leGVjcGF0aD4gLS0+CisgICAgPGV4ZWNwYXRoPi48L2V4ZWNwYXRoPgorICAgIDx0ZXN0cHJvZz54bWxsaW50PC90ZXN0cHJvZz4KKyAgICA8c3JjZGlyPnRlc3Q8L3NyY2Rpcj4KKyAgICA8cmVzZGlyPnJlc3VsdDwvcmVzZGlyPgorICAgIDxmaWxlPioueG1sPC9maWxlPgorICAgIDxyZXNlcnJleHQ+ZXJyPC9yZXNlcnJleHQ+CisgICAgPGVycmV4Y2wvPgorICA8L2RlZmF1bHRzPgorCisgIDx0ZXN0PgorICAgIDx0ZXN0bmFtZT5YTUwgUmVncmVzc2lvbiBUZXN0czwvdGVzdG5hbWU+CisgICAgPGVycmV4Y2w+ZmFpbGVkIHRvIGxvYWQgZXh0ZXJuYWwgZW50aXR5PC9lcnJleGNsPgorICA8L3Rlc3Q+CisgIDx0ZXN0PgorICAgIDx0ZXN0bmFtZT5YTUwgRW50aXR5IFN1YnN0IFJlZ3Jlc3Npb24gVGVzdHM8L3Rlc3RuYW1lPgorICAgIDxyZXNzdWI+bm9lbnQ8L3Jlc3N1Yj4KKyAgICA8ZmxhZz4tLW5vZW50PC9mbGFnPgorICA8L3Rlc3Q+CisgIDx0ZXN0PgorICAgIDx0ZXN0bmFtZT5YTUwgTmFtZXNwYWNlcyBSZWdyZXNzaW9uIFRlc3RzPC90ZXN0bmFtZT4KKyAgICA8c3Jjc3ViPm5hbWVzcGFjZXM8L3NyY3N1Yj4KKyAgICA8cmVzc3ViPm5hbWVzcGFjZXM8L3Jlc3N1Yj4KKyAgPC90ZXN0PgorICA8dGVzdD4KKyAgICA8dGVzdG5hbWU+eG1sOmlkIFJlZ3Jlc3Npb24gVGVzdHM8L3Rlc3RuYW1lPgorICAgIDx0ZXN0cHJvZz50ZXN0WFBhdGg8L3Rlc3Rwcm9nPgorICAgIDxzcmNzdWI+eG1saWQ8L3NyY3N1Yj4KKyAgICA8cmVzc3ViPnhtbGlkPC9yZXNzdWI+CisgICAgPGZsYWc+LWk8L2ZsYWc+CisgICAgPGZpbGU+aWRfKi54bWw8L2ZpbGU+CisgICAgPGV4dGFyZz4iaWQoJ2JhcicpIjwvZXh0YXJnPgorICA8L3Rlc3Q+CisgIDx0ZXN0PgorICAgIDx0ZXN0bmFtZT5FcnJvciBDYXNlcyBSZWdyZXNzaW9uIFRlc3RzPC90ZXN0bmFtZT4KKyAgICA8c3Jjc3ViPmVycm9yczwvc3Jjc3ViPgorICAgIDxyZXNzdWI+ZXJyb3JzPC9yZXNzdWI+CisgIDwvdGVzdD4KKyAgPHRlc3Q+CisgICAgPHRlc3RuYW1lPkVycm9yIENhc2VzIFN0cmVhbSBSZWdyZXNzaW9uIFRlc3RzPC90ZXN0bmFtZT4KKyAgICA8c3Jjc3ViPmVycm9yczwvc3Jjc3ViPgorICAgIDxyZXNzdWI+ZXJyb3JzPC9yZXNzdWI+CisgICAgPHJlc2VycmV4dD5zdHI8L3Jlc2VycmV4dD4KKyAgICA8ZmxhZz4tLXN0cmVhbTwvZmxhZz4KKyAgPC90ZXN0PgorICA8dGVzdD4KKyAgICA8dGVzdG5hbWU+UmVhZGVyIFJlZ3Jlc3Npb24gVGVzdHM8L3Rlc3RuYW1lPgorICAgIDxyZXNleHQ+cmRyPC9yZXNleHQ+CisgICAgPGZsYWc+LS1ub25ldDwvZmxhZz4KKyAgICA8ZmxhZz4tLWRlYnVnPC9mbGFnPgorICAgIDxmbGFnPi0tc3RyZWFtPC9mbGFnPgorICAgIDxmaWxlPio8L2ZpbGU+CisgICAgPHJlc2VycmV4dD5Ob25lPC9yZXNlcnJleHQ+CisgIDwvdGVzdD4KKyAgPHRlc3Q+CisgICAgPHRlc3RuYW1lPldhbGtlciBSZWdyZXNzaW9uIFRlc3RzPC90ZXN0bmFtZT4KKyAgICA8cmVzZXh0PnJkcjwvcmVzZXh0PgorICAgIDxmbGFnPi0tbm9uZXQ8L2ZsYWc+CisgICAgPGZsYWc+LS1kZWJ1ZzwvZmxhZz4KKyAgICA8ZmxhZz4tLXdhbGtlcjwvZmxhZz4KKyAgICA8ZmlsZT4qPC9maWxlPgorICAgIDxyZXNlcnJleHQ+Tm9uZTwvcmVzZXJyZXh0PgorICA8L3Rlc3Q+CisgIDx0ZXN0PgorICAgIDx0ZXN0bmFtZT5SZWFkZXIgRW50aXRpZXMgU3Vic3RpdHV0aW9uIFJlZ3Jlc3Npb24gVGVzdHM8L3Rlc3RuYW1lPgorICAgIDxyZXNleHQ+cmRlPC9yZXNleHQ+CisgICAgPGZsYWc+LS1ub25ldDwvZmxhZz4KKyAgICA8ZmxhZz4tLWRlYnVnPC9mbGFnPgorICAgIDxmbGFnPi0tc3RyZWFtPC9mbGFnPgorICAgIDxmbGFnPi0tbm9lbnQ8L2ZsYWc+CisgICAgPGZpbGU+KjwvZmlsZT4KKyAgICA8cmVzZXJyZXh0Pk5vbmU8L3Jlc2VycmV4dD4KKyAgPC90ZXN0PgorICA8dGVzdD4KKyAgICA8dGVzdG5hbWU+U0FYIENhbGxiYWNrcyBSZWdyZXNzaW9uIFRlc3RzPC90ZXN0bmFtZT4KKyAgICA8dGVzdHByb2c+dGVzdFNBWDwvdGVzdHByb2c+CisgICAgPHJlc2V4dD5zYXg8L3Jlc2V4dD4KKyAgICA8ZmlsZT4qPC9maWxlPgorICAgIDxleGNsZmlsZT51dGYxNioueG1sPC9leGNsZmlsZT4KKyAgICA8cmVzZXJyZXh0Pk5vbmU8L3Jlc2VycmV4dD4KKyAgPC90ZXN0PgorICA8dGVzdD4KKyAgICA8dGVzdG5hbWU+WE1MIFB1c2ggUmVncmVzc2lvbiBUZXN0czwvdGVzdG5hbWU+CisgICAgPGZsYWc+LS1wdXNoPC9mbGFnPgorICAgIDxlcnJleGNsPmZhaWxlZCB0byBsb2FkIGV4dGVybmFsIGVudGl0eTwvZXJyZXhjbD4KKyAgPC90ZXN0PgorICA8dGVzdD4KKyAgICA8dGVzdG5hbWU+SFRNTCBSZWdyZXNzaW9uIFRlc3RzPC90ZXN0bmFtZT4KKyAgICA8dGVzdHByb2c+dGVzdEhUTUw8L3Rlc3Rwcm9nPgorICAgIDxzcmNzdWI+SFRNTDwvc3Jjc3ViPgorICAgIDxyZXNzdWI+SFRNTDwvcmVzc3ViPgorICAgIDxmaWxlPio8L2ZpbGU+CisgICAgPGV4Y2xmaWxlPndpcmVkLmh0bWw8L2V4Y2xmaWxlPgorICA8L3Rlc3Q+CisgIDx0ZXN0PgorICAgIDx0ZXN0bmFtZT5QdXNoIEhUTUwgUmVncmVzc2lvbiBUZXN0czwvdGVzdG5hbWU+CisgICAgPHRlc3Rwcm9nPnRlc3RIVE1MPC90ZXN0cHJvZz4KKyAgICA8ZmxhZz4tLXB1c2g8L2ZsYWc+CisgICAgPHNyY3N1Yj5IVE1MPC9zcmNzdWI+CisgICAgPHJlc3N1Yj5IVE1MPC9yZXNzdWI+CisgICAgPGZpbGU+KjwvZmlsZT4KKyAgPC90ZXN0PgorICA8dGVzdD4KKyAgICA8dGVzdG5hbWU+SFRNTCBTQVggUmVncmVzc2lvbiBUZXN0czwvdGVzdG5hbWU+CisgICAgPHRlc3Rwcm9nPnRlc3RIVE1MPC90ZXN0cHJvZz4KKyAgICA8ZmxhZz4tLXNheDwvZmxhZz4KKyAgICA8c3Jjc3ViPkhUTUw8L3NyY3N1Yj4KKyAgICA8cmVzc3ViPkhUTUw8L3Jlc3N1Yj4KKyAgICA8cmVzZXh0PnNheDwvcmVzZXh0PgorICAgIDxyZXNlcnJleHQ+Tm9uZTwvcmVzZXJyZXh0PgorICAgIDxmaWxlPio8L2ZpbGU+CisgIDwvdGVzdD4KKyAgPHRlc3Q+CisgICAgPHRlc3RuYW1lPlB1c2ggSFRNTCBTQVggUmVncmVzc2lvbiBUZXN0czwvdGVzdG5hbWU+CisgICAgPHRlc3Rwcm9nPnRlc3RIVE1MPC90ZXN0cHJvZz4KKyAgICA8ZmxhZz4tLXNheDwvZmxhZz4KKyAgICA8ZmxhZz4tLXB1c2g8L2ZsYWc+CisgICAgPHNyY3N1Yj5IVE1MPC9zcmNzdWI+CisgICAgPHJlc3N1Yj5IVE1MPC9yZXNzdWI+CisgICAgPHJlc2V4dD5zYXg8L3Jlc2V4dD4KKyAgICA8cmVzZXJyZXh0Pk5vbmU8L3Jlc2VycmV4dD4KKyAgICA8ZmlsZT4qPC9maWxlPgorICA8L3Rlc3Q+CisgIDx0ZXN0PgorICAgIDx0ZXN0bmFtZT5WYWxpZCBEb2N1bWVudHMgUmVncmVzc2lvbiBUZXN0czwvdGVzdG5hbWU+CisgICAgPHNyY3N1Yj5WQ008L3NyY3N1Yj4KKyAgICA8cmVzc3ViPlZDTTwvcmVzc3ViPgorICAgIDxyZXNleHQ+Tm9uZTwvcmVzZXh0PgorICAgIDxyZXNlcnJleHQ+Tm9uZTwvcmVzZXJyZXh0PgorICAgIDxmaWxlPio8L2ZpbGU+CisgICAgPGZsYWc+LS12YWxpZDwvZmxhZz4KKyAgICA8ZmxhZz4tLW5vb3V0PC9mbGFnPgorICAgIDxmbGFnPi0tbm93YXJuaW5nPC9mbGFnPgorICA8L3Rlc3Q+CisgIDx0ZXN0PgorICAgIDx0ZXN0bmFtZT5WYWxpZGl0eSBDaGVja2luZyBSZWdyZXNzaW9uIFRlc3RzPC90ZXN0bmFtZT4KKyAgICA8c3Jjc3ViPlZDPC9zcmNzdWI+CisgICAgPHJlc3N1Yj5WQzwvcmVzc3ViPgorICAgIDxyZXNleHQ+Tm9uZTwvcmVzZXh0PgorICAgIDxyZXNlcnJleHQvPgorICAgIDxmaWxlPio8L2ZpbGU+CisgICAgPGZsYWc+LS12YWxpZDwvZmxhZz4KKyAgICA8ZmxhZz4tLW5vb3V0PC9mbGFnPgorICA8L3Rlc3Q+CisgIDx0ZXN0PgorICAgIDx0ZXN0bmFtZT5HZW5lcmFsIERvY3VtZW50cyBWYWxpZCBSZWdyZXNzaW9uIFRlc3RzPC90ZXN0bmFtZT4KKyAgICA8c3Jjc3ViPnZhbGlkPC9zcmNzdWI+CisgICAgPHJlc3N1Yj52YWxpZDwvcmVzc3ViPgorICAgIDxmaWxlPio8L2ZpbGU+CisgICAgPGZsYWc+LS12YWxpZDwvZmxhZz4KKyAgPC90ZXN0PgorICA8dGVzdD4KKyAgICA8dGVzdG5hbWU+VVJJIE1vZHVsZSBSZWdyZXNzaW9uIFRlc3RzICgxKTwvdGVzdG5hbWU+CisgICAgPHRlc3Rwcm9nPnRlc3RVUkk8L3Rlc3Rwcm9nPgorICAgIDxzcmNzdWI+VVJJPC9zcmNzdWI+CisgICAgPHN0ZGluLz4KKyAgICA8cmVzc3ViPlVSSTwvcmVzc3ViPgorICAgIDxyZXNlcnJleHQ+Tm9uZTwvcmVzZXJyZXh0PgorICAgIDxmaWxlPiouZGF0YTwvZmlsZT4KKyAgICA8IS0tIE5vdGUgLSB0aGUgZm9sbG93aW5nIGFyZyBuZWVkcyB0byB1c2UgIiwgbm90ICcgLS0+CisgICAgPGZsYWc+LWJhc2UgImh0dHA6Ly9mb28uY29tL3BhdGgvdG8vaW5kZXguaHRtbD9vcmlnI2hlbHAiPC9mbGFnPgorICA8L3Rlc3Q+CisgIDx0ZXN0PgorICAgIDx0ZXN0bmFtZT5VUkkgTW9kdWxlIFJlZ3Jlc3Npb24gVGVzdHMgKDIpPC90ZXN0bmFtZT4KKyAgICA8dGVzdHByb2c+dGVzdFVSSTwvdGVzdHByb2c+CisgICAgPHNyY3N1Yj5VUkk8L3NyY3N1Yj4KKyAgICA8c3RkaW4vPgorICAgIDxyZXNzdWI+VVJJPC9yZXNzdWI+CisgICAgPHJlc2VycmV4dD5Ob25lPC9yZXNlcnJleHQ+CisgICAgPGZpbGU+Ki51cmk8L2ZpbGU+CisgIDwvdGVzdD4KKyAgPHRlc3Q+CisgICAgPHRlc3RuYW1lPlhQYXRoIFJlZ3Jlc3Npb24gVGVzdHMgKDEpPC90ZXN0bmFtZT4KKyAgICA8dGVzdHByb2c+dGVzdFhQYXRoPC90ZXN0cHJvZz4KKyAgICA8c3Jjc3ViPlhQYXRoL2V4cHI8L3NyY3N1Yj4KKyAgICA8cmVzc3ViPlhQYXRoL2V4cHI8L3Jlc3N1Yj4KKyAgICA8ZmlsZT4qPC9maWxlPgorICAgIDxmbGFnPi1mPC9mbGFnPgorICAgIDxmbGFnPi0tZXhwcjwvZmxhZz4KKyAgPC90ZXN0PgorICA8dGVzdD4KKyAgICA8dGVzdG5hbWU+WEluY2x1ZGUgUmVncmVzc2lvbiBUZXN0czwvdGVzdG5hbWU+CisgICAgPHNyY3N1Yj5YSW5jbHVkZS9kb2NzPC9zcmNzdWI+CisgICAgPHJlc3N1Yj5YSW5jbHVkZTwvcmVzc3ViPgorICAgIDxmaWxlPio8L2ZpbGU+CisgICAgPGZsYWc+LS1ub3dhcm5pbmc8L2ZsYWc+CisgICAgPGZsYWc+LS14aW5jbHVkZTwvZmxhZz4KKyAgPC90ZXN0PgorICA8dGVzdD4KKyAgICA8dGVzdG5hbWU+WEluY2x1ZGUgeG1sUmVhZGVyIFJlZ3Jlc3Npb24gVGVzdHM8L3Rlc3RuYW1lPgorICAgIDxzcmNzdWI+WEluY2x1ZGUvZG9jczwvc3Jjc3ViPgorICAgIDxyZXNzdWI+WEluY2x1ZGU8L3Jlc3N1Yj4KKyAgICA8cmVzZXh0PnJkcjwvcmVzZXh0PgorICAgIDxmaWxlPio8L2ZpbGU+CisgICAgPGZsYWc+LS1ub3dhcm5pbmc8L2ZsYWc+CisgICAgPGZsYWc+LS14aW5jbHVkZTwvZmxhZz4KKyAgICA8ZmxhZz4tLXN0cmVhbTwvZmxhZz4KKyAgICA8ZmxhZz4tLWRlYnVnPC9mbGFnPgorICA8L3Rlc3Q+Cis8L1JlZ3Jlc3Npb25UZXN0cz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVsYXhuZy5jIGIvbGlieG1sMi9yZWxheG5nLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTM1N2I1NgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVsYXhuZy5jCkBAIC0wLDAgKzEsMTEwNTMgQEAKKy8qCisgKiByZWxheG5nLmMgOiBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgUmVsYXgtTkcgaGFuZGxpbmcgYW5kIHZhbGlkaXR5IGNoZWNraW5nCisgKgorICogU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgorICoKKyAqIERhbmllbCBWZWlsbGFyZCA8dmVpbGxhcmRAcmVkaGF0LmNvbT4KKyAqLworCisvKioKKyAqIFRPRE86CisgKiAtIGFkZCBzdXBwb3J0IGZvciBEVEQgY29tcGF0aWJpbGl0eSBzcGVjCisgKiAgIGh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvY29tbWl0dGVlcy9yZWxheC1uZy9jb21wYXRpYmlsaXR5LTIwMDExMjAzLmh0bWwKKyAqIC0gcmVwb3J0IGJldHRlciBtZW0gYWxsb2NhdGlvbnMgcGJtcyBhdCBydW50aW1lIGFuZCBhYm9ydCBpbW1lZGlhdGVseS4KKyAqLworCisjZGVmaW5lIElOX0xJQlhNTAorI2luY2x1ZGUgImxpYnhtbC5oIgorCisjaWZkZWYgTElCWE1MX1NDSEVNQVNfRU5BQkxFRAorCisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxsaWJ4bWwveG1sbWVtb3J5Lmg+CisjaW5jbHVkZSA8bGlieG1sL3BhcnNlci5oPgorI2luY2x1ZGUgPGxpYnhtbC9wYXJzZXJJbnRlcm5hbHMuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvaGFzaC5oPgorI2luY2x1ZGUgPGxpYnhtbC91cmkuaD4KKworI2luY2x1ZGUgPGxpYnhtbC9yZWxheG5nLmg+CisKKyNpbmNsdWRlIDxsaWJ4bWwveG1sc2NoZW1hc3R5cGVzLmg+CisjaW5jbHVkZSA8bGlieG1sL3htbGF1dG9tYXRhLmg+CisjaW5jbHVkZSA8bGlieG1sL3htbHJlZ2V4cC5oPgorI2luY2x1ZGUgPGxpYnhtbC94bWxzY2hlbWFzdHlwZXMuaD4KKworLyoKKyAqIFRoZSBSZWxheC1ORyBuYW1lc3BhY2UKKyAqLworc3RhdGljIGNvbnN0IHhtbENoYXIgKnhtbFJlbGF4TkdOcyA9IChjb25zdCB4bWxDaGFyICopCisgICAgImh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIjsKKworI2RlZmluZSBJU19SRUxBWE5HKG5vZGUsIHR5cCkJCQkJCQlcCisgICAoKG5vZGUgIT0gTlVMTCkgJiYgKG5vZGUtPm5zICE9IE5VTEwpICYmCQkJCVwKKyAgICAobm9kZS0+dHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFKSAmJgkJCQkJXAorICAgICh4bWxTdHJFcXVhbChub2RlLT5uYW1lLCAoY29uc3QgeG1sQ2hhciAqKSB0eXApKSAmJgkJXAorICAgICh4bWxTdHJFcXVhbChub2RlLT5ucy0+aHJlZiwgeG1sUmVsYXhOR05zKSkpCisKKworI2lmIDAKKyNkZWZpbmUgREVCVUcgMQorCisjZGVmaW5lIERFQlVHX0dSQU1NQVIgMQorCisjZGVmaW5lIERFQlVHX0NPTlRFTlQgMQorCisjZGVmaW5lIERFQlVHX1RZUEUgMQorCisjZGVmaW5lIERFQlVHX1ZBTElEIDEKKworI2RlZmluZSBERUJVR19JTlRFUkxFQVZFIDEKKworI2RlZmluZSBERUJVR19MSVNUIDEKKworI2RlZmluZSBERUJVR19JTkNMVURFIDEKKworI2RlZmluZSBERUJVR19FUlJPUiAxCisKKyNkZWZpbmUgREVCVUdfQ09NUElMRSAxCisKKyNkZWZpbmUgREVCVUdfUFJPR1JFU1NJVkUgMQorI2VuZGlmCisKKyNkZWZpbmUgTUFYX0VSUk9SIDUKKworI2RlZmluZSBUT0RPCQkJCQkJCQlcCisgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCQkJCVwKKwkgICAgIlVuaW1wbGVtZW50ZWQgYmxvY2sgYXQgJXM6JWRcbiIsCQkJCVwKKyAgICAgICAgICAgIF9fRklMRV9fLCBfX0xJTkVfXyk7CisKK3R5cGVkZWYgc3RydWN0IF94bWxSZWxheE5HU2NoZW1hIHhtbFJlbGF4TkdTY2hlbWE7Cit0eXBlZGVmIHhtbFJlbGF4TkdTY2hlbWEgKnhtbFJlbGF4TkdTY2hlbWFQdHI7CisKK3R5cGVkZWYgc3RydWN0IF94bWxSZWxheE5HRGVmaW5lIHhtbFJlbGF4TkdEZWZpbmU7Cit0eXBlZGVmIHhtbFJlbGF4TkdEZWZpbmUgKnhtbFJlbGF4TkdEZWZpbmVQdHI7CisKK3R5cGVkZWYgc3RydWN0IF94bWxSZWxheE5HRG9jdW1lbnQgeG1sUmVsYXhOR0RvY3VtZW50OwordHlwZWRlZiB4bWxSZWxheE5HRG9jdW1lbnQgKnhtbFJlbGF4TkdEb2N1bWVudFB0cjsKKwordHlwZWRlZiBzdHJ1Y3QgX3htbFJlbGF4TkdJbmNsdWRlIHhtbFJlbGF4TkdJbmNsdWRlOwordHlwZWRlZiB4bWxSZWxheE5HSW5jbHVkZSAqeG1sUmVsYXhOR0luY2x1ZGVQdHI7CisKK3R5cGVkZWYgZW51bSB7CisgICAgWE1MX1JFTEFYTkdfQ09NQklORV9VTkRFRklORUQgPSAwLCAgLyogdW5kZWZpbmVkICovCisgICAgWE1MX1JFTEFYTkdfQ09NQklORV9DSE9JQ0UsIC8qIGNob2ljZSAqLworICAgIFhNTF9SRUxBWE5HX0NPTUJJTkVfSU5URVJMRUFWRSAgICAgIC8qIGludGVybGVhdmUgKi8KK30geG1sUmVsYXhOR0NvbWJpbmU7CisKK3R5cGVkZWYgZW51bSB7CisgICAgWE1MX1JFTEFYTkdfQ09OVEVOVF9FUlJPUiA9IC0xLAorICAgIFhNTF9SRUxBWE5HX0NPTlRFTlRfRU1QVFkgPSAwLAorICAgIFhNTF9SRUxBWE5HX0NPTlRFTlRfU0lNUExFLAorICAgIFhNTF9SRUxBWE5HX0NPTlRFTlRfQ09NUExFWAorfSB4bWxSZWxheE5HQ29udGVudFR5cGU7CisKK3R5cGVkZWYgc3RydWN0IF94bWxSZWxheE5HR3JhbW1hciB4bWxSZWxheE5HR3JhbW1hcjsKK3R5cGVkZWYgeG1sUmVsYXhOR0dyYW1tYXIgKnhtbFJlbGF4TkdHcmFtbWFyUHRyOworCitzdHJ1Y3QgX3htbFJlbGF4TkdHcmFtbWFyIHsKKyAgICB4bWxSZWxheE5HR3JhbW1hclB0ciBwYXJlbnQ7ICAgICAgICAvKiB0aGUgcGFyZW50IGdyYW1tYXIgaWYgYW55ICovCisgICAgeG1sUmVsYXhOR0dyYW1tYXJQdHIgY2hpbGRyZW47ICAgICAgLyogdGhlIGNoaWxkcmVuIGdyYW1tYXIgaWYgYW55ICovCisgICAgeG1sUmVsYXhOR0dyYW1tYXJQdHIgbmV4dDsgIC8qIHRoZSBuZXh0IGdyYW1tYXIgaWYgYW55ICovCisgICAgeG1sUmVsYXhOR0RlZmluZVB0ciBzdGFydDsgIC8qIDxzdGFydD4gY29udGVudCAqLworICAgIHhtbFJlbGF4TkdDb21iaW5lIGNvbWJpbmU7ICAvKiB0aGUgZGVmYXVsdCBjb21iaW5lIHZhbHVlICovCisgICAgeG1sUmVsYXhOR0RlZmluZVB0ciBzdGFydExpc3Q7ICAgICAgLyogbGlzdCBvZiA8c3RhcnQ+IGRlZmluaXRpb25zICovCisgICAgeG1sSGFzaFRhYmxlUHRyIGRlZnM7ICAgICAgIC8qIGRlZmluZSogKi8KKyAgICB4bWxIYXNoVGFibGVQdHIgcmVmczsgICAgICAgLyogcmVmZXJlbmNlcyAqLworfTsKKworCit0eXBlZGVmIGVudW0geworICAgIFhNTF9SRUxBWE5HX05PT1AgPSAtMSwgICAgICAvKiBhIG5vIG9wZXJhdGlvbiBmcm9tIHNpbXBsaWZpY2F0aW9uICAqLworICAgIFhNTF9SRUxBWE5HX0VNUFRZID0gMCwgICAgICAvKiBhbiBlbXB0eSBwYXR0ZXJuICovCisgICAgWE1MX1JFTEFYTkdfTk9UX0FMTE9XRUQsICAgIC8qIG5vdCBhbGxvd2VkIHRvcCAqLworICAgIFhNTF9SRUxBWE5HX0VYQ0VQVCwgICAgICAgICAvKiBleGNlcHQgcHJlc2VudCBpbiBuYW1lY2xhc3MgZGVmcyAqLworICAgIFhNTF9SRUxBWE5HX1RFWFQsICAgICAgICAgICAvKiB0ZXh0dWFsIGNvbnRlbnQgKi8KKyAgICBYTUxfUkVMQVhOR19FTEVNRU5ULCAgICAgICAgLyogYW4gZWxlbWVudCAqLworICAgIFhNTF9SRUxBWE5HX0RBVEFUWVBFLCAgICAgICAvKiBleHRlbmFsIGRhdGEgdHlwZSBkZWZpbml0aW9uICovCisgICAgWE1MX1JFTEFYTkdfUEFSQU0sICAgICAgICAgIC8qIGV4dGVuYWwgZGF0YSB0eXBlIHBhcmFtZXRlciAqLworICAgIFhNTF9SRUxBWE5HX1ZBTFVFLCAgICAgICAgICAvKiB2YWx1ZSBmcm9tIGFuIGV4dGVuYWwgZGF0YSB0eXBlIGRlZmluaXRpb24gKi8KKyAgICBYTUxfUkVMQVhOR19MSVNULCAgICAgICAgICAgLyogYSBsaXN0IG9mIHBhdHRlcm5zICovCisgICAgWE1MX1JFTEFYTkdfQVRUUklCVVRFLCAgICAgIC8qIGFuIGF0dHJidXRlIGZvbGxvd2luZyBhIHBhdHRlcm4gKi8KKyAgICBYTUxfUkVMQVhOR19ERUYsICAgICAgICAgICAgLyogYSBkZWZpbml0aW9uICovCisgICAgWE1MX1JFTEFYTkdfUkVGLCAgICAgICAgICAgIC8qIHJlZmVyZW5jZSB0byBhIGRlZmluaXRpb24gKi8KKyAgICBYTUxfUkVMQVhOR19FWFRFUk5BTFJFRiwgICAgLyogcmVmZXJlbmNlIHRvIGFuIGV4dGVybmFsIGRlZiAqLworICAgIFhNTF9SRUxBWE5HX1BBUkVOVFJFRiwgICAgICAvKiByZWZlcmVuY2UgdG8gYSBkZWYgaW4gdGhlIHBhcmVudCBncmFtbWFyICovCisgICAgWE1MX1JFTEFYTkdfT1BUSU9OQUwsICAgICAgIC8qIG9wdGlvbmFsIHBhdHRlcm5zICovCisgICAgWE1MX1JFTEFYTkdfWkVST09STU9SRSwgICAgIC8qIHplcm8gb3IgbW9yZSBub24gZW1wdHkgcGF0dGVybnMgKi8KKyAgICBYTUxfUkVMQVhOR19PTkVPUk1PUkUsICAgICAgLyogb25lIG9yIG1vcmUgbm9uIGVtcHR5IHBhdHRlcm5zICovCisgICAgWE1MX1JFTEFYTkdfQ0hPSUNFLCAgICAgICAgIC8qIGEgY2hvaWNlIGJldHdlZW4gbm9uIGVtcHR5IHBhdHRlcm5zICovCisgICAgWE1MX1JFTEFYTkdfR1JPVVAsICAgICAgICAgIC8qIGEgcGFpci9ncm91cCBvZiBub24gZW1wdHkgcGF0dGVybnMgKi8KKyAgICBYTUxfUkVMQVhOR19JTlRFUkxFQVZFLCAgICAgLyogaW50ZXJsZWF2aW5nIGNob2ljZSBvZiBub24tZW1wdHkgcGF0dGVybnMgKi8KKyAgICBYTUxfUkVMQVhOR19TVEFSVCAgICAgICAgICAgLyogVXNlZCB0byBrZWVwIHRyYWNrIG9mIHN0YXJ0cyBvbiBncmFtbWFycyAqLworfSB4bWxSZWxheE5HVHlwZTsKKworI2RlZmluZSBJU19OVUxMQUJMRQkJKDEgPDwgMCkKKyNkZWZpbmUgSVNfTk9UX05VTExBQkxFCQkoMSA8PCAxKQorI2RlZmluZSBJU19JTkRFVEVSTUlOSVNUCSgxIDw8IDIpCisjZGVmaW5lIElTX01JWEVECQkoMSA8PCAzKQorI2RlZmluZSBJU19UUklBQkxFCQkoMSA8PCA0KQorI2RlZmluZSBJU19QUk9DRVNTRUQJCSgxIDw8IDUpCisjZGVmaW5lIElTX0NPTVBJTEFCTEUJCSgxIDw8IDYpCisjZGVmaW5lIElTX05PVF9DT01QSUxBQkxFCSgxIDw8IDcpCisjZGVmaW5lIElTX0VYVEVSTkFMX1JFRgkgICAgICAgICgxIDw8IDgpCisKK3N0cnVjdCBfeG1sUmVsYXhOR0RlZmluZSB7CisgICAgeG1sUmVsYXhOR1R5cGUgdHlwZTsgICAgICAgIC8qIHRoZSB0eXBlIG9mIGRlZmluaXRpb24gKi8KKyAgICB4bWxOb2RlUHRyIG5vZGU7ICAgICAgICAgICAgLyogdGhlIG5vZGUgaW4gdGhlIHNvdXJjZSAqLworICAgIHhtbENoYXIgKm5hbWU7ICAgICAgICAgICAgICAvKiB0aGUgZWxlbWVudCBsb2NhbCBuYW1lIGlmIHByZXNlbnQgKi8KKyAgICB4bWxDaGFyICpuczsgICAgICAgICAgICAgICAgLyogdGhlIG5hbWVzcGFjZSBsb2NhbCBuYW1lIGlmIHByZXNlbnQgKi8KKyAgICB4bWxDaGFyICp2YWx1ZTsgICAgICAgICAgICAgLyogdmFsdWUgd2hlbiBhdmFpbGFibGUgKi8KKyAgICB2b2lkICpkYXRhOyAgICAgICAgICAgICAgICAgLyogZGF0YSBsaWIgb3Igc3BlY2lmaWMgcG9pbnRlciAqLworICAgIHhtbFJlbGF4TkdEZWZpbmVQdHIgY29udGVudDsgICAgICAgIC8qIHRoZSBleHBlY3RlZCBjb250ZW50ICovCisgICAgeG1sUmVsYXhOR0RlZmluZVB0ciBwYXJlbnQ7IC8qIHRoZSBwYXJlbnQgZGVmaW5pdGlvbiwgaWYgYW55ICovCisgICAgeG1sUmVsYXhOR0RlZmluZVB0ciBuZXh0OyAgIC8qIGxpc3Qgd2l0aGluIGdyb3VwaW5nIHNlcXVlbmNlcyAqLworICAgIHhtbFJlbGF4TkdEZWZpbmVQdHIgYXR0cnM7ICAvKiBsaXN0IG9mIGF0dHJpYnV0ZXMgZm9yIGVsZW1lbnRzICovCisgICAgeG1sUmVsYXhOR0RlZmluZVB0ciBuYW1lQ2xhc3M7ICAgICAgLyogdGhlIG5hbWVDbGFzcyBkZWZpbml0aW9uIGlmIGFueSAqLworICAgIHhtbFJlbGF4TkdEZWZpbmVQdHIgbmV4dEhhc2g7ICAgICAgIC8qIG5leHQgZGVmaW5lIGluIGRlZnMvcmVmcyBoYXNoIHRhYmxlcyAqLworICAgIHNob3J0IGRlcHRoOyAgICAgICAgICAgICAgICAvKiB1c2VkIGZvciB0aGUgY3ljbGUgZGV0ZWN0aW9uICovCisgICAgc2hvcnQgZGZsYWdzOyAgICAgICAgICAgICAgIC8qIGRlZmluZSByZWxhdGVkIGZsYWdzICovCisgICAgeG1sUmVnZXhwUHRyIGNvbnRNb2RlbDsgICAgIC8qIGEgY29tcGlsZWQgY29udGVudCBtb2RlbCBpZiBhdmFpbGFibGUgKi8KK307CisKKy8qKgorICogX3htbFJlbGF4Tkc6CisgKgorICogQSBSZWxheE5HcyBkZWZpbml0aW9uCisgKi8KK3N0cnVjdCBfeG1sUmVsYXhORyB7CisgICAgdm9pZCAqX3ByaXZhdGU7ICAgICAgICAgICAgIC8qIHVudXNlZCBieSB0aGUgbGlicmFyeSBmb3IgdXNlcnMgb3IgYmluZGluZ3MgKi8KKyAgICB4bWxSZWxheE5HR3JhbW1hclB0ciB0b3BncmFtbWFyOworICAgIHhtbERvY1B0ciBkb2M7CisKKyAgICBpbnQgaWRyZWY7ICAgICAgICAgICAgICAgICAgLyogcmVxdWlyZXMgaWRyZWYgY2hlY2tpbmcgKi8KKworICAgIHhtbEhhc2hUYWJsZVB0ciBkZWZzOyAgICAgICAvKiBkZWZpbmUgKi8KKyAgICB4bWxIYXNoVGFibGVQdHIgcmVmczsgICAgICAgLyogcmVmZXJlbmNlcyAqLworICAgIHhtbFJlbGF4TkdEb2N1bWVudFB0ciBkb2N1bWVudHM7ICAgIC8qIGFsbCB0aGUgZG9jdW1lbnRzIGxvYWRlZCAqLworICAgIHhtbFJlbGF4TkdJbmNsdWRlUHRyIGluY2x1ZGVzOyAgICAgIC8qIGFsbCB0aGUgaW5jbHVkZXMgbG9hZGVkICovCisgICAgaW50IGRlZk5yOyAgICAgICAgICAgICAgICAgIC8qIG51bWJlciBvZiBkZWZpbmVzIHVzZWQgKi8KKyAgICB4bWxSZWxheE5HRGVmaW5lUHRyICpkZWZUYWI7ICAgICAgICAvKiBwb2ludGVyIHRvIHRoZSBhbGxvY2F0ZWQgZGVmaW5pdGlvbnMgKi8KKworfTsKKworI2RlZmluZSBYTUxfUkVMQVhOR19JTl9BVFRSSUJVVEUJKDEgPDwgMCkKKyNkZWZpbmUgWE1MX1JFTEFYTkdfSU5fT05FT1JNT1JFCSgxIDw8IDEpCisjZGVmaW5lIFhNTF9SRUxBWE5HX0lOX0xJU1QJCSgxIDw8IDIpCisjZGVmaW5lIFhNTF9SRUxBWE5HX0lOX0RBVEFFWENFUFQJKDEgPDwgMykKKyNkZWZpbmUgWE1MX1JFTEFYTkdfSU5fU1RBUlQJCSgxIDw8IDQpCisjZGVmaW5lIFhNTF9SRUxBWE5HX0lOX09PTUdST1VQCQkoMSA8PCA1KQorI2RlZmluZSBYTUxfUkVMQVhOR19JTl9PT01JTlRFUkxFQVZFCSgxIDw8IDYpCisjZGVmaW5lIFhNTF9SRUxBWE5HX0lOX0VYVEVSTkFMUkVGCSgxIDw8IDcpCisjZGVmaW5lIFhNTF9SRUxBWE5HX0lOX0FOWUVYQ0VQVAkoMSA8PCA4KQorI2RlZmluZSBYTUxfUkVMQVhOR19JTl9OU0VYQ0VQVAkJKDEgPDwgOSkKKworc3RydWN0IF94bWxSZWxheE5HUGFyc2VyQ3R4dCB7CisgICAgdm9pZCAqdXNlckRhdGE7ICAgICAgICAgICAgIC8qIHVzZXIgc3BlY2lmaWMgZGF0YSBibG9jayAqLworICAgIHhtbFJlbGF4TkdWYWxpZGl0eUVycm9yRnVuYyBlcnJvcjsgIC8qIHRoZSBjYWxsYmFjayBpbiBjYXNlIG9mIGVycm9ycyAqLworICAgIHhtbFJlbGF4TkdWYWxpZGl0eVdhcm5pbmdGdW5jIHdhcm5pbmc7ICAgICAgLyogdGhlIGNhbGxiYWNrIGluIGNhc2Ugb2Ygd2FybmluZyAqLworICAgIHhtbFN0cnVjdHVyZWRFcnJvckZ1bmMgc2Vycm9yOworICAgIHhtbFJlbGF4TkdWYWxpZEVyciBlcnI7CisKKyAgICB4bWxSZWxheE5HUHRyIHNjaGVtYTsgICAgICAgLyogVGhlIHNjaGVtYSBpbiB1c2UgKi8KKyAgICB4bWxSZWxheE5HR3JhbW1hclB0ciBncmFtbWFyOyAgICAgICAvKiB0aGUgY3VycmVudCBncmFtbWFyICovCisgICAgeG1sUmVsYXhOR0dyYW1tYXJQdHIgcGFyZW50Z3JhbW1hcjsgLyogdGhlIHBhcmVudCBncmFtbWFyICovCisgICAgaW50IGZsYWdzOyAgICAgICAgICAgICAgICAgIC8qIHBhcnNlciBmbGFncyAqLworICAgIGludCBuYkVycm9yczsgICAgICAgICAgICAgICAvKiBudW1iZXIgb2YgZXJyb3JzIGF0IHBhcnNlIHRpbWUgKi8KKyAgICBpbnQgbmJXYXJuaW5nczsgICAgICAgICAgICAgLyogbnVtYmVyIG9mIHdhcm5pbmdzIGF0IHBhcnNlIHRpbWUgKi8KKyAgICBjb25zdCB4bWxDaGFyICpkZWZpbmU7ICAgICAgLyogdGhlIGN1cnJlbnQgZGVmaW5lIHNjb3BlICovCisgICAgeG1sUmVsYXhOR0RlZmluZVB0ciBkZWY7ICAgIC8qIHRoZSBjdXJyZW50IGRlZmluZSAqLworCisgICAgaW50IG5iSW50ZXJsZWF2ZXM7CisgICAgeG1sSGFzaFRhYmxlUHRyIGludGVybGVhdmVzOyAgICAgICAgLyoga2VlcCB0cmFjayBvZiBhbGwgdGhlIGludGVybGVhdmVzICovCisKKyAgICB4bWxSZWxheE5HRG9jdW1lbnRQdHIgZG9jdW1lbnRzOyAgICAvKiBhbGwgdGhlIGRvY3VtZW50cyBsb2FkZWQgKi8KKyAgICB4bWxSZWxheE5HSW5jbHVkZVB0ciBpbmNsdWRlczsgICAgICAvKiBhbGwgdGhlIGluY2x1ZGVzIGxvYWRlZCAqLworICAgIHhtbENoYXIgKlVSTDsKKyAgICB4bWxEb2NQdHIgZG9jdW1lbnQ7CisKKyAgICBpbnQgZGVmTnI7ICAgICAgICAgICAgICAgICAgLyogbnVtYmVyIG9mIGRlZmluZXMgdXNlZCAqLworICAgIGludCBkZWZNYXg7ICAgICAgICAgICAgICAgICAvKiBudW1iZXIgb2YgZGVmaW5lcyBhbG9vY2F0ZWQgKi8KKyAgICB4bWxSZWxheE5HRGVmaW5lUHRyICpkZWZUYWI7ICAgICAgICAvKiBwb2ludGVyIHRvIHRoZSBhbGxvY2F0ZWQgZGVmaW5pdGlvbnMgKi8KKworICAgIGNvbnN0IGNoYXIgKmJ1ZmZlcjsKKyAgICBpbnQgc2l6ZTsKKworICAgIC8qIHRoZSBkb2N1bWVudCBzdGFjayAqLworICAgIHhtbFJlbGF4TkdEb2N1bWVudFB0ciBkb2M7ICAvKiBDdXJyZW50IHBhcnNlZCBleHRlcm5hbCByZWYgKi8KKyAgICBpbnQgZG9jTnI7ICAgICAgICAgICAgICAgICAgLyogRGVwdGggb2YgdGhlIHBhcnNpbmcgc3RhY2sgKi8KKyAgICBpbnQgZG9jTWF4OyAgICAgICAgICAgICAgICAgLyogTWF4IGRlcHRoIG9mIHRoZSBwYXJzaW5nIHN0YWNrICovCisgICAgeG1sUmVsYXhOR0RvY3VtZW50UHRyICpkb2NUYWI7ICAgICAgLyogYXJyYXkgb2YgZG9jcyAqLworCisgICAgLyogdGhlIGluY2x1ZGUgc3RhY2sgKi8KKyAgICB4bWxSZWxheE5HSW5jbHVkZVB0ciBpbmM7ICAgLyogQ3VycmVudCBwYXJzZWQgaW5jbHVkZSAqLworICAgIGludCBpbmNOcjsgICAgICAgICAgICAgICAgICAvKiBEZXB0aCBvZiB0aGUgaW5jbHVkZSBwYXJzaW5nIHN0YWNrICovCisgICAgaW50IGluY01heDsgICAgICAgICAgICAgICAgIC8qIE1heCBkZXB0aCBvZiB0aGUgcGFyc2luZyBzdGFjayAqLworICAgIHhtbFJlbGF4TkdJbmNsdWRlUHRyICppbmNUYWI7ICAgICAgIC8qIGFycmF5IG9mIGluY3MgKi8KKworICAgIGludCBpZHJlZjsgICAgICAgICAgICAgICAgICAvKiByZXF1aXJlcyBpZHJlZiBjaGVja2luZyAqLworCisgICAgLyogdXNlZCB0byBjb21waWxlIGNvbnRlbnQgbW9kZWxzICovCisgICAgeG1sQXV0b21hdGFQdHIgYW07ICAgICAgICAgIC8qIHRoZSBhdXRvbWF0YSAqLworICAgIHhtbEF1dG9tYXRhU3RhdGVQdHIgc3RhdGU7ICAvKiB1c2VkIHRvIGJ1aWxkIHRoZSBhdXRvbWF0YSAqLworCisgICAgaW50IGNybmc7CQkJLyogY29tcGFjdCBzeW50YXggYW5kIG90aGVyIGZsYWdzICovCisgICAgaW50IGZyZWVkb2M7CQkvKiBuZWVkIHRvIGZyZWUgdGhlIGRvY3VtZW50ICovCit9OworCisjZGVmaW5lIEZMQUdTX0lHTk9SQUJMRQkJMQorI2RlZmluZSBGTEFHU19ORUdBVElWRQkJMgorI2RlZmluZSBGTEFHU19NSVhFRF9DT05URU5UCTQKKyNkZWZpbmUgRkxBR1NfTk9FUlJPUgkJOAorCisvKioKKyAqIHhtbFJlbGF4TkdJbnRlcmxlYXZlR3JvdXA6CisgKgorICogQSBSZWxheE5HcyBwYXJ0aXRpb24gc2V0IGFzc29jaWF0ZWQgdG8gbGlzdHMgb2YgZGVmaW5pdGlvbnMKKyAqLwordHlwZWRlZiBzdHJ1Y3QgX3htbFJlbGF4TkdJbnRlcmxlYXZlR3JvdXAgeG1sUmVsYXhOR0ludGVybGVhdmVHcm91cDsKK3R5cGVkZWYgeG1sUmVsYXhOR0ludGVybGVhdmVHcm91cCAqeG1sUmVsYXhOR0ludGVybGVhdmVHcm91cFB0cjsKK3N0cnVjdCBfeG1sUmVsYXhOR0ludGVybGVhdmVHcm91cCB7CisgICAgeG1sUmVsYXhOR0RlZmluZVB0ciBydWxlOyAgIC8qIHRoZSBydWxlIHRvIHNhdGlzZnkgKi8KKyAgICB4bWxSZWxheE5HRGVmaW5lUHRyICpkZWZzOyAgLyogdGhlIGFycmF5IG9mIGVsZW1lbnQgZGVmaW5pdGlvbnMgKi8KKyAgICB4bWxSZWxheE5HRGVmaW5lUHRyICphdHRyczsgLyogdGhlIGFycmF5IG9mIGF0dHJpYnV0ZXMgZGVmaW5pdGlvbnMgKi8KK307CisKKyNkZWZpbmUgSVNfREVURVJNSU5JU1QJCTEKKyNkZWZpbmUgSVNfTkVFRENIRUNLCQkyCisKKy8qKgorICogeG1sUmVsYXhOR1BhcnRpdGlvbnM6CisgKgorICogQSBSZWxheE5HcyBwYXJ0aXRpb24gYXNzb2NpYXRlZCB0byBhbiBpbnRlcmxlYXZlIGdyb3VwCisgKi8KK3R5cGVkZWYgc3RydWN0IF94bWxSZWxheE5HUGFydGl0aW9uIHhtbFJlbGF4TkdQYXJ0aXRpb247Cit0eXBlZGVmIHhtbFJlbGF4TkdQYXJ0aXRpb24gKnhtbFJlbGF4TkdQYXJ0aXRpb25QdHI7CitzdHJ1Y3QgX3htbFJlbGF4TkdQYXJ0aXRpb24geworICAgIGludCBuYmdyb3VwczsgICAgICAgICAgICAgICAvKiBudW1iZXIgb2YgZ3JvdXBzIGluIHRoZSBwYXJ0aXRpb25zICovCisgICAgeG1sSGFzaFRhYmxlUHRyIHRyaWFnZTsgICAgIC8qIGhhc2ggdGFibGUgdXNlZCB0byBkaXJlY3Qgbm9kZXMgdG8gdGhlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIHJpZ2h0IGdyb3VwIHdoZW4gcG9zc2libGUgKi8KKyAgICBpbnQgZmxhZ3M7ICAgICAgICAgICAgICAgICAgLyogZGV0ZXJtaW5pc3QgPyAqLworICAgIHhtbFJlbGF4TkdJbnRlcmxlYXZlR3JvdXBQdHIgKmdyb3VwczsKK307CisKKy8qKgorICogeG1sUmVsYXhOR1ZhbGlkU3RhdGU6CisgKgorICogQSBSZWxheE5HcyB2YWxpZGF0aW9uIHN0YXRlCisgKi8KKyNkZWZpbmUgTUFYX0FUVFIgMjAKK3R5cGVkZWYgc3RydWN0IF94bWxSZWxheE5HVmFsaWRTdGF0ZSB4bWxSZWxheE5HVmFsaWRTdGF0ZTsKK3R5cGVkZWYgeG1sUmVsYXhOR1ZhbGlkU3RhdGUgKnhtbFJlbGF4TkdWYWxpZFN0YXRlUHRyOworc3RydWN0IF94bWxSZWxheE5HVmFsaWRTdGF0ZSB7CisgICAgeG1sTm9kZVB0ciBub2RlOyAgICAgICAgICAgIC8qIHRoZSBjdXJyZW50IG5vZGUgKi8KKyAgICB4bWxOb2RlUHRyIHNlcTsgICAgICAgICAgICAgLyogdGhlIHNlcXVlbmNlIG9mIGNoaWxkcmVuIGxlZnQgdG8gdmFsaWRhdGUgKi8KKyAgICBpbnQgbmJBdHRyczsgICAgICAgICAgICAgICAgLyogdGhlIG51bWJlciBvZiBhdHRyaWJ1dGVzICovCisgICAgaW50IG1heEF0dHJzOyAgICAgICAgICAgICAgIC8qIHRoZSBzaXplIG9mIGF0dHJzICovCisgICAgaW50IG5iQXR0ckxlZnQ7ICAgICAgICAgICAgIC8qIHRoZSBudW1iZXIgb2YgYXR0cmlidXRlcyBsZWZ0IHRvIHZhbGlkYXRlICovCisgICAgeG1sQ2hhciAqdmFsdWU7ICAgICAgICAgICAgIC8qIHRoZSB2YWx1ZSB3aGVuIG9wZXJhdGluZyBvbiBzdHJpbmcgKi8KKyAgICB4bWxDaGFyICplbmR2YWx1ZTsgICAgICAgICAgLyogdGhlIGVuZCB2YWx1ZSB3aGVuIG9wZXJhdGluZyBvbiBzdHJpbmcgKi8KKyAgICB4bWxBdHRyUHRyICphdHRyczsgICAgICAgICAgLyogdGhlIGFycmF5IG9mIGF0dHJpYnV0ZXMgKi8KK307CisKKy8qKgorICogeG1sUmVsYXhOR1N0YXRlczoKKyAqCisgKiBBIFJlbGF4TkdzIGNvbnRhaW5lciBmb3IgdmFsaWRhdGlvbiBzdGF0ZQorICovCit0eXBlZGVmIHN0cnVjdCBfeG1sUmVsYXhOR1N0YXRlcyB4bWxSZWxheE5HU3RhdGVzOwordHlwZWRlZiB4bWxSZWxheE5HU3RhdGVzICp4bWxSZWxheE5HU3RhdGVzUHRyOworc3RydWN0IF94bWxSZWxheE5HU3RhdGVzIHsKKyAgICBpbnQgbmJTdGF0ZTsgICAgICAgICAgICAgICAgLyogdGhlIG51bWJlciBvZiBzdGF0ZXMgKi8KKyAgICBpbnQgbWF4U3RhdGU7ICAgICAgICAgICAgICAgLyogdGhlIHNpemUgb2YgdGhlIGFycmF5ICovCisgICAgeG1sUmVsYXhOR1ZhbGlkU3RhdGVQdHIgKnRhYlN0YXRlOworfTsKKworI2RlZmluZSBFUlJPUl9JU19EVVAJMQorCisvKioKKyAqIHhtbFJlbGF4TkdWYWxpZEVycm9yOgorICoKKyAqIEEgUmVsYXhOR3MgdmFsaWRhdGlvbiBlcnJvcgorICovCit0eXBlZGVmIHN0cnVjdCBfeG1sUmVsYXhOR1ZhbGlkRXJyb3IgeG1sUmVsYXhOR1ZhbGlkRXJyb3I7Cit0eXBlZGVmIHhtbFJlbGF4TkdWYWxpZEVycm9yICp4bWxSZWxheE5HVmFsaWRFcnJvclB0cjsKK3N0cnVjdCBfeG1sUmVsYXhOR1ZhbGlkRXJyb3IgeworICAgIHhtbFJlbGF4TkdWYWxpZEVyciBlcnI7ICAgICAvKiB0aGUgZXJyb3IgbnVtYmVyICovCisgICAgaW50IGZsYWdzOyAgICAgICAgICAgICAgICAgIC8qIGZsYWdzICovCisgICAgeG1sTm9kZVB0ciBub2RlOyAgICAgICAgICAgIC8qIHRoZSBjdXJyZW50IG5vZGUgKi8KKyAgICB4bWxOb2RlUHRyIHNlcTsgICAgICAgICAgICAgLyogdGhlIGN1cnJlbnQgY2hpbGQgKi8KKyAgICBjb25zdCB4bWxDaGFyICphcmcxOyAgICAgICAgLyogZmlyc3QgYXJnICovCisgICAgY29uc3QgeG1sQ2hhciAqYXJnMjsgICAgICAgIC8qIHNlY29uZCBhcmcgKi8KK307CisKKy8qKgorICogeG1sUmVsYXhOR1ZhbGlkQ3R4dDoKKyAqCisgKiBBIFJlbGF4TkdzIHZhbGlkYXRpb24gY29udGV4dAorICovCisKK3N0cnVjdCBfeG1sUmVsYXhOR1ZhbGlkQ3R4dCB7CisgICAgdm9pZCAqdXNlckRhdGE7ICAgICAgICAgICAgIC8qIHVzZXIgc3BlY2lmaWMgZGF0YSBibG9jayAqLworICAgIHhtbFJlbGF4TkdWYWxpZGl0eUVycm9yRnVuYyBlcnJvcjsgIC8qIHRoZSBjYWxsYmFjayBpbiBjYXNlIG9mIGVycm9ycyAqLworICAgIHhtbFJlbGF4TkdWYWxpZGl0eVdhcm5pbmdGdW5jIHdhcm5pbmc7ICAgICAgLyogdGhlIGNhbGxiYWNrIGluIGNhc2Ugb2Ygd2FybmluZyAqLworICAgIHhtbFN0cnVjdHVyZWRFcnJvckZ1bmMgc2Vycm9yOworICAgIGludCBuYkVycm9yczsgICAgICAgICAgICAgICAvKiBudW1iZXIgb2YgZXJyb3JzIGluIHZhbGlkYXRpb24gKi8KKworICAgIHhtbFJlbGF4TkdQdHIgc2NoZW1hOyAgICAgICAvKiBUaGUgc2NoZW1hIGluIHVzZSAqLworICAgIHhtbERvY1B0ciBkb2M7ICAgICAgICAgICAgICAvKiB0aGUgZG9jdW1lbnQgYmVpbmcgdmFsaWRhdGVkICovCisgICAgaW50IGZsYWdzOyAgICAgICAgICAgICAgICAgIC8qIHZhbGlkYXRpb24gZmxhZ3MgKi8KKyAgICBpbnQgZGVwdGg7ICAgICAgICAgICAgICAgICAgLyogdmFsaWRhdGlvbiBkZXB0aCAqLworICAgIGludCBpZHJlZjsgICAgICAgICAgICAgICAgICAvKiByZXF1aXJlcyBpZHJlZiBjaGVja2luZyAqLworICAgIGludCBlcnJObzsgICAgICAgICAgICAgICAgICAvKiB0aGUgZmlyc3QgZXJyb3IgZm91bmQgKi8KKworICAgIC8qCisgICAgICogRXJyb3JzIGFjY3VtdWxhdGVkIGluIGJyYW5jaGVzIG1heSBoYXZlIHRvIGJlIHN0YWNrZWQgdG8gYmUKKyAgICAgKiBwcm92aWRlZCBiYWNrIHdoZW4gaXQncyBzdXJlIHRoZXkgYWZmZWN0IHZhbGlkYXRpb24uCisgICAgICovCisgICAgeG1sUmVsYXhOR1ZhbGlkRXJyb3JQdHIgZXJyOyAgICAgICAgLyogTGFzdCBlcnJvciAqLworICAgIGludCBlcnJOcjsgICAgICAgICAgICAgICAgICAvKiBEZXB0aCBvZiB0aGUgZXJyb3Igc3RhY2sgKi8KKyAgICBpbnQgZXJyTWF4OyAgICAgICAgICAgICAgICAgLyogTWF4IGRlcHRoIG9mIHRoZSBlcnJvciBzdGFjayAqLworICAgIHhtbFJlbGF4TkdWYWxpZEVycm9yUHRyIGVyclRhYjsgICAgIC8qIHN0YWNrIG9mIGVycm9ycyAqLworCisgICAgeG1sUmVsYXhOR1ZhbGlkU3RhdGVQdHIgc3RhdGU7ICAgICAgLyogdGhlIGN1cnJlbnQgdmFsaWRhdGlvbiBzdGF0ZSAqLworICAgIHhtbFJlbGF4TkdTdGF0ZXNQdHIgc3RhdGVzOyAvKiB0aGUgYWNjdW11bGF0ZWQgc3RhdGUgbGlzdCAqLworCisgICAgeG1sUmVsYXhOR1N0YXRlc1B0ciBmcmVlU3RhdGU7ICAgICAgLyogdGhlIHBvb2wgb2YgZnJlZSB2YWxpZCBzdGF0ZXMgKi8KKyAgICBpbnQgZnJlZVN0YXRlc05yOworICAgIGludCBmcmVlU3RhdGVzTWF4OworICAgIHhtbFJlbGF4TkdTdGF0ZXNQdHIgKmZyZWVTdGF0ZXM7ICAgIC8qIHRoZSBwb29sIG9mIGZyZWUgc3RhdGUgZ3JvdXBzICovCisKKyAgICAvKgorICAgICAqIFRoaXMgaXMgdXNlZCBmb3IgInByb2dyZXNzaXZlIiB2YWxpZGF0aW9uCisgICAgICovCisgICAgeG1sUmVnRXhlY0N0eHRQdHIgZWxlbTsgICAgIC8qIHRoZSBjdXJyZW50IGVsZW1lbnQgcmVnZXhwICovCisgICAgaW50IGVsZW1OcjsgICAgICAgICAgICAgICAgIC8qIHRoZSBudW1iZXIgb2YgZWxlbWVudCB2YWxpZGF0ZWQgKi8KKyAgICBpbnQgZWxlbU1heDsgICAgICAgICAgICAgICAgLyogdGhlIG1heCBkZXB0aCBvZiBlbGVtZW50cyAqLworICAgIHhtbFJlZ0V4ZWNDdHh0UHRyICplbGVtVGFiOyAvKiB0aGUgc3RhY2sgb2YgcmVnZXhwIHJ1bnRpbWUgKi8KKyAgICBpbnQgcHN0YXRlOyAgICAgICAgICAgICAgICAgLyogcHJvZ3Jlc3NpdmUgc3RhdGUgKi8KKyAgICB4bWxOb2RlUHRyIHBub2RlOyAgICAgICAgICAgLyogdGhlIGN1cnJlbnQgbm9kZSAqLworICAgIHhtbFJlbGF4TkdEZWZpbmVQdHIgcGRlZjsgICAvKiB0aGUgbm9uLXN0cmVhbWFibGUgZGVmaW5pdGlvbiAqLworICAgIGludCBwZXJyOyAgICAgICAgICAgICAgICAgICAvKiBzaWduYWwgZXJyb3IgaW4gY29udGVudCBtb2RlbAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiBvdXRzaWRlIHRoZSByZWdleHAgKi8KK307CisKKy8qKgorICogeG1sUmVsYXhOR0luY2x1ZGU6CisgKgorICogU3RydWN0dXJlIGFzc29jaWF0ZWQgdG8gYSBSZWxheE5HcyBkb2N1bWVudCBlbGVtZW50CisgKi8KK3N0cnVjdCBfeG1sUmVsYXhOR0luY2x1ZGUgeworICAgIHhtbFJlbGF4TkdJbmNsdWRlUHRyIG5leHQ7ICAvKiBrZWVwIGEgY2hhaW4gb2YgaW5jbHVkZXMgKi8KKyAgICB4bWxDaGFyICpocmVmOyAgICAgICAgICAgICAgLyogdGhlIG5vcm1hbGl6ZWQgaHJlZiB2YWx1ZSAqLworICAgIHhtbERvY1B0ciBkb2M7ICAgICAgICAgICAgICAvKiB0aGUgYXNzb2NpYXRlZCBYTUwgZG9jdW1lbnQgKi8KKyAgICB4bWxSZWxheE5HRGVmaW5lUHRyIGNvbnRlbnQ7ICAgICAgICAvKiB0aGUgZGVmaW5pdGlvbnMgKi8KKyAgICB4bWxSZWxheE5HUHRyIHNjaGVtYTsgICAgICAgLyogdGhlIHNjaGVtYSAqLworfTsKKworLyoqCisgKiB4bWxSZWxheE5HRG9jdW1lbnQ6CisgKgorICogU3RydWN0dXJlIGFzc29jaWF0ZWQgdG8gYSBSZWxheE5HcyBkb2N1bWVudCBlbGVtZW50CisgKi8KK3N0cnVjdCBfeG1sUmVsYXhOR0RvY3VtZW50IHsKKyAgICB4bWxSZWxheE5HRG9jdW1lbnRQdHIgbmV4dDsgLyoga2VlcCBhIGNoYWluIG9mIGRvY3VtZW50cyAqLworICAgIHhtbENoYXIgKmhyZWY7ICAgICAgICAgICAgICAvKiB0aGUgbm9ybWFsaXplZCBocmVmIHZhbHVlICovCisgICAgeG1sRG9jUHRyIGRvYzsgICAgICAgICAgICAgIC8qIHRoZSBhc3NvY2lhdGVkIFhNTCBkb2N1bWVudCAqLworICAgIHhtbFJlbGF4TkdEZWZpbmVQdHIgY29udGVudDsgICAgICAgIC8qIHRoZSBkZWZpbml0aW9ucyAqLworICAgIHhtbFJlbGF4TkdQdHIgc2NoZW1hOyAgICAgICAvKiB0aGUgc2NoZW1hICovCisgICAgaW50IGV4dGVybmFsUmVmOyAgICAgICAgICAgIC8qIDEgaWYgYW4gZXh0ZXJuYWwgcmVmICovCit9OworCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCVNvbWUgZmFjdG9yaXplZCBlcnJvciByb3V0aW5lcwkJCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKgorICogeG1sUm5nUEVyck1lbW9yeToKKyAqIEBjdHh0OiAgYW4gUmVsYXgtTkcgcGFyc2VyIGNvbnRleHQKKyAqIEBleHRyYTogIGV4dHJhIGluZm9ybWF0aW9ucworICoKKyAqIEhhbmRsZSBhIHJlZGVmaW5pdGlvbiBvZiBhdHRyaWJ1dGUgZXJyb3IKKyAqLworc3RhdGljIHZvaWQKK3htbFJuZ1BFcnJNZW1vcnkoeG1sUmVsYXhOR1BhcnNlckN0eHRQdHIgY3R4dCwgY29uc3QgY2hhciAqZXh0cmEpCit7CisgICAgeG1sU3RydWN0dXJlZEVycm9yRnVuYyBzY2hhbm5lbCA9IE5VTEw7CisgICAgeG1sR2VuZXJpY0Vycm9yRnVuYyBjaGFubmVsID0gTlVMTDsKKyAgICB2b2lkICpkYXRhID0gTlVMTDsKKworICAgIGlmIChjdHh0ICE9IE5VTEwpIHsKKyAgICAgICAgaWYgKGN0eHQtPnNlcnJvciAhPSBOVUxMKQorCSAgICBzY2hhbm5lbCA9IGN0eHQtPnNlcnJvcjsKKwllbHNlCisJICAgIGNoYW5uZWwgPSBjdHh0LT5lcnJvcjsKKyAgICAgICAgZGF0YSA9IGN0eHQtPnVzZXJEYXRhOworICAgICAgICBjdHh0LT5uYkVycm9ycysrOworICAgIH0KKyAgICBpZiAoZXh0cmEpCisgICAgICAgIF9feG1sUmFpc2VFcnJvcihzY2hhbm5lbCwgY2hhbm5lbCwgZGF0YSwKKyAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIE5VTEwsIFhNTF9GUk9NX1JFTEFYTkdQLAorICAgICAgICAgICAgICAgICAgICAgICAgWE1MX0VSUl9OT19NRU1PUlksIFhNTF9FUlJfRkFUQUwsIE5VTEwsIDAsIGV4dHJhLAorICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgTlVMTCwgMCwgMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJNZW1vcnkgYWxsb2NhdGlvbiBmYWlsZWQgOiAlc1xuIiwgZXh0cmEpOworICAgIGVsc2UKKyAgICAgICAgX194bWxSYWlzZUVycm9yKHNjaGFubmVsLCBjaGFubmVsLCBkYXRhLAorICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgTlVMTCwgWE1MX0ZST01fUkVMQVhOR1AsCisgICAgICAgICAgICAgICAgICAgICAgICBYTUxfRVJSX05PX01FTU9SWSwgWE1MX0VSUl9GQVRBTCwgTlVMTCwgMCwgTlVMTCwKKyAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIE5VTEwsIDAsIDAsICJNZW1vcnkgYWxsb2NhdGlvbiBmYWlsZWRcbiIpOworfQorCisvKioKKyAqIHhtbFJuZ1ZFcnJNZW1vcnk6CisgKiBAY3R4dDogIGEgUmVsYXgtTkcgdmFsaWRhdGlvbiBjb250ZXh0CisgKiBAZXh0cmE6ICBleHRyYSBpbmZvcm1hdGlvbnMKKyAqCisgKiBIYW5kbGUgYSByZWRlZmluaXRpb24gb2YgYXR0cmlidXRlIGVycm9yCisgKi8KK3N0YXRpYyB2b2lkCit4bWxSbmdWRXJyTWVtb3J5KHhtbFJlbGF4TkdWYWxpZEN0eHRQdHIgY3R4dCwgY29uc3QgY2hhciAqZXh0cmEpCit7CisgICAgeG1sU3RydWN0dXJlZEVycm9yRnVuYyBzY2hhbm5lbCA9IE5VTEw7CisgICAgeG1sR2VuZXJpY0Vycm9yRnVuYyBjaGFubmVsID0gTlVMTDsKKyAgICB2b2lkICpkYXRhID0gTlVMTDsKKworICAgIGlmIChjdHh0ICE9IE5VTEwpIHsKKyAgICAgICAgaWYgKGN0eHQtPnNlcnJvciAhPSBOVUxMKQorCSAgICBzY2hhbm5lbCA9IGN0eHQtPnNlcnJvcjsKKwllbHNlCisJICAgIGNoYW5uZWwgPSBjdHh0LT5lcnJvcjsKKyAgICAgICAgZGF0YSA9IGN0eHQtPnVzZXJEYXRhOworICAgICAgICBjdHh0LT5uYkVycm9ycysrOworICAgIH0KKyAgICBpZiAoZXh0cmEpCisgICAgICAgIF9feG1sUmFpc2VFcnJvcihzY2hhbm5lbCwgY2hhbm5lbCwgZGF0YSwKKyAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIE5VTEwsIFhNTF9GUk9NX1JFTEFYTkdWLAorICAgICAgICAgICAgICAgICAgICAgICAgWE1MX0VSUl9OT19NRU1PUlksIFhNTF9FUlJfRkFUQUwsIE5VTEwsIDAsIGV4dHJhLAorICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgTlVMTCwgMCwgMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJNZW1vcnkgYWxsb2NhdGlvbiBmYWlsZWQgOiAlc1xuIiwgZXh0cmEpOworICAgIGVsc2UKKyAgICAgICAgX194bWxSYWlzZUVycm9yKHNjaGFubmVsLCBjaGFubmVsLCBkYXRhLAorICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgTlVMTCwgWE1MX0ZST01fUkVMQVhOR1YsCisgICAgICAgICAgICAgICAgICAgICAgICBYTUxfRVJSX05PX01FTU9SWSwgWE1MX0VSUl9GQVRBTCwgTlVMTCwgMCwgTlVMTCwKKyAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIE5VTEwsIDAsIDAsICJNZW1vcnkgYWxsb2NhdGlvbiBmYWlsZWRcbiIpOworfQorCisvKioKKyAqIHhtbFJuZ1BFcnI6CisgKiBAY3R4dDogIGEgUmVsYXgtTkcgcGFyc2VyIGNvbnRleHQKKyAqIEBub2RlOiAgdGhlIG5vZGUgcmFpc2luZyB0aGUgZXJyb3IKKyAqIEBlcnJvcjogIHRoZSBlcnJvciBjb2RlCisgKiBAbXNnOiAgbWVzc2FnZQorICogQHN0cjE6ICBleHRyYSBpbmZvCisgKiBAc3RyMjogIGV4dHJhIGluZm8KKyAqCisgKiBIYW5kbGUgYSBSZWxheCBORyBQYXJzaW5nIGVycm9yCisgKi8KK3N0YXRpYyB2b2lkCit4bWxSbmdQRXJyKHhtbFJlbGF4TkdQYXJzZXJDdHh0UHRyIGN0eHQsIHhtbE5vZGVQdHIgbm9kZSwgaW50IGVycm9yLAorICAgICAgICAgICBjb25zdCBjaGFyICptc2csIGNvbnN0IHhtbENoYXIgKiBzdHIxLCBjb25zdCB4bWxDaGFyICogc3RyMikKK3sKKyAgICB4bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jIHNjaGFubmVsID0gTlVMTDsKKyAgICB4bWxHZW5lcmljRXJyb3JGdW5jIGNoYW5uZWwgPSBOVUxMOworICAgIHZvaWQgKmRhdGEgPSBOVUxMOworCisgICAgaWYgKGN0eHQgIT0gTlVMTCkgeworICAgICAgICBpZiAoY3R4dC0+c2Vycm9yICE9IE5VTEwpCisJICAgIHNjaGFubmVsID0gY3R4dC0+c2Vycm9yOworCWVsc2UKKwkgICAgY2hhbm5lbCA9IGN0eHQtPmVycm9yOworICAgICAgICBkYXRhID0gY3R4dC0+dXNlckRhdGE7CisgICAgICAgIGN0eHQtPm5iRXJyb3JzKys7CisgICAgfQorICAgIF9feG1sUmFpc2VFcnJvcihzY2hhbm5lbCwgY2hhbm5lbCwgZGF0YSwKKyAgICAgICAgICAgICAgICAgICAgTlVMTCwgbm9kZSwgWE1MX0ZST01fUkVMQVhOR1AsCisgICAgICAgICAgICAgICAgICAgIGVycm9yLCBYTUxfRVJSX0VSUk9SLCBOVUxMLCAwLAorICAgICAgICAgICAgICAgICAgICAoY29uc3QgY2hhciAqKSBzdHIxLCAoY29uc3QgY2hhciAqKSBzdHIyLCBOVUxMLCAwLCAwLAorICAgICAgICAgICAgICAgICAgICBtc2csIHN0cjEsIHN0cjIpOworfQorCisvKioKKyAqIHhtbFJuZ1ZFcnI6CisgKiBAY3R4dDogIGEgUmVsYXgtTkcgdmFsaWRhdGlvbiBjb250ZXh0CisgKiBAbm9kZTogIHRoZSBub2RlIHJhaXNpbmcgdGhlIGVycm9yCisgKiBAZXJyb3I6ICB0aGUgZXJyb3IgY29kZQorICogQG1zZzogIG1lc3NhZ2UKKyAqIEBzdHIxOiAgZXh0cmEgaW5mbworICogQHN0cjI6ICBleHRyYSBpbmZvCisgKgorICogSGFuZGxlIGEgUmVsYXggTkcgVmFsaWRhdGlvbiBlcnJvcgorICovCitzdGF0aWMgdm9pZAoreG1sUm5nVkVycih4bWxSZWxheE5HVmFsaWRDdHh0UHRyIGN0eHQsIHhtbE5vZGVQdHIgbm9kZSwgaW50IGVycm9yLAorICAgICAgICAgICBjb25zdCBjaGFyICptc2csIGNvbnN0IHhtbENoYXIgKiBzdHIxLCBjb25zdCB4bWxDaGFyICogc3RyMikKK3sKKyAgICB4bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jIHNjaGFubmVsID0gTlVMTDsKKyAgICB4bWxHZW5lcmljRXJyb3JGdW5jIGNoYW5uZWwgPSBOVUxMOworICAgIHZvaWQgKmRhdGEgPSBOVUxMOworCisgICAgaWYgKGN0eHQgIT0gTlVMTCkgeworICAgICAgICBpZiAoY3R4dC0+c2Vycm9yICE9IE5VTEwpCisJICAgIHNjaGFubmVsID0gY3R4dC0+c2Vycm9yOworCWVsc2UKKwkgICAgY2hhbm5lbCA9IGN0eHQtPmVycm9yOworICAgICAgICBkYXRhID0gY3R4dC0+dXNlckRhdGE7CisgICAgICAgIGN0eHQtPm5iRXJyb3JzKys7CisgICAgfQorICAgIF9feG1sUmFpc2VFcnJvcihzY2hhbm5lbCwgY2hhbm5lbCwgZGF0YSwKKyAgICAgICAgICAgICAgICAgICAgTlVMTCwgbm9kZSwgWE1MX0ZST01fUkVMQVhOR1YsCisgICAgICAgICAgICAgICAgICAgIGVycm9yLCBYTUxfRVJSX0VSUk9SLCBOVUxMLCAwLAorICAgICAgICAgICAgICAgICAgICAoY29uc3QgY2hhciAqKSBzdHIxLCAoY29uc3QgY2hhciAqKSBzdHIyLCBOVUxMLCAwLCAwLAorICAgICAgICAgICAgICAgICAgICBtc2csIHN0cjEsIHN0cjIpOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQlQcmVsaW1pbmFyeSB0eXBlIGNoZWNraW5nIGludGVyZmFjZXMJCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKgorICogeG1sUmVsYXhOR1R5cGVIYXZlOgorICogQGRhdGE6ICBkYXRhIG5lZWRlZCBmb3IgdGhlIGxpYnJhcnkKKyAqIEB0eXBlOiAgdGhlIHR5cGUgbmFtZQorICogQHZhbHVlOiAgdGhlIHZhbHVlIHRvIGNoZWNrCisgKgorICogRnVuY3Rpb24gcHJvdmlkZWQgYnkgYSB0eXBlIGxpYnJhcnkgdG8gY2hlY2sgaWYgYSB0eXBlIGlzIGV4cG9ydGVkCisgKgorICogUmV0dXJucyAxIGlmIHllcywgMCBpZiBubyBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvci4KKyAqLwordHlwZWRlZiBpbnQgKCp4bWxSZWxheE5HVHlwZUhhdmUpICh2b2lkICpkYXRhLCBjb25zdCB4bWxDaGFyICogdHlwZSk7CisKKy8qKgorICogeG1sUmVsYXhOR1R5cGVDaGVjazoKKyAqIEBkYXRhOiAgZGF0YSBuZWVkZWQgZm9yIHRoZSBsaWJyYXJ5CisgKiBAdHlwZTogIHRoZSB0eXBlIG5hbWUKKyAqIEB2YWx1ZTogIHRoZSB2YWx1ZSB0byBjaGVjaworICogQHJlc3VsdDogIHBsYWNlIHRvIHN0b3JlIHRoZSByZXN1bHQgaWYgbmVlZGVkCisgKgorICogRnVuY3Rpb24gcHJvdmlkZWQgYnkgYSB0eXBlIGxpYnJhcnkgdG8gY2hlY2sgaWYgYSB2YWx1ZSBtYXRjaCBhIHR5cGUKKyAqCisgKiBSZXR1cm5zIDEgaWYgeWVzLCAwIGlmIG5vIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yLgorICovCit0eXBlZGVmIGludCAoKnhtbFJlbGF4TkdUeXBlQ2hlY2spICh2b2lkICpkYXRhLCBjb25zdCB4bWxDaGFyICogdHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiB2YWx1ZSwgdm9pZCAqKnJlc3VsdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbE5vZGVQdHIgbm9kZSk7CisKKy8qKgorICogeG1sUmVsYXhOR0ZhY2V0Q2hlY2s6CisgKiBAZGF0YTogIGRhdGEgbmVlZGVkIGZvciB0aGUgbGlicmFyeQorICogQHR5cGU6ICB0aGUgdHlwZSBuYW1lCisgKiBAZmFjZXQ6ICB0aGUgZmFjZXQgbmFtZQorICogQHZhbDogIHRoZSBmYWNldCB2YWx1ZQorICogQHN0cnZhbDogIHRoZSBzdHJpbmcgdmFsdWUKKyAqIEB2YWx1ZTogIHRoZSB2YWx1ZSB0byBjaGVjaworICoKKyAqIEZ1bmN0aW9uIHByb3ZpZGVkIGJ5IGEgdHlwZSBsaWJyYXJ5IHRvIGNoZWNrIGEgdmFsdWUgZmFjZXQKKyAqCisgKiBSZXR1cm5zIDEgaWYgeWVzLCAwIGlmIG5vIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yLgorICovCit0eXBlZGVmIGludCAoKnhtbFJlbGF4TkdGYWNldENoZWNrKSAodm9pZCAqZGF0YSwgY29uc3QgeG1sQ2hhciAqIHR5cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIGZhY2V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiB2YWwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIHN0cnZhbCwgdm9pZCAqdmFsdWUpOworCisvKioKKyAqIHhtbFJlbGF4TkdUeXBlRnJlZToKKyAqIEBkYXRhOiAgZGF0YSBuZWVkZWQgZm9yIHRoZSBsaWJyYXJ5CisgKiBAcmVzdWx0OiAgdGhlIHZhbHVlIHRvIGZyZWUKKyAqCisgKiBGdW5jdGlvbiBwcm92aWRlZCBieSBhIHR5cGUgbGlicmFyeSB0byBmcmVlIGEgcmV0dXJuZWQgcmVzdWx0CisgKi8KK3R5cGVkZWYgdm9pZCAoKnhtbFJlbGF4TkdUeXBlRnJlZSkgKHZvaWQgKmRhdGEsIHZvaWQgKnJlc3VsdCk7CisKKy8qKgorICogeG1sUmVsYXhOR1R5cGVDb21wYXJlOgorICogQGRhdGE6ICBkYXRhIG5lZWRlZCBmb3IgdGhlIGxpYnJhcnkKKyAqIEB0eXBlOiAgdGhlIHR5cGUgbmFtZQorICogQHZhbHVlMTogIHRoZSBmaXJzdCB2YWx1ZQorICogQHZhbHVlMjogIHRoZSBzZWNvbmQgdmFsdWUKKyAqCisgKiBGdW5jdGlvbiBwcm92aWRlZCBieSBhIHR5cGUgbGlicmFyeSB0byBjb21wYXJlIHR3byB2YWx1ZXMgYWNjb3JkaW5nbHkKKyAqIHRvIGEgdHlwZS4KKyAqCisgKiBSZXR1cm5zIDEgaWYgeWVzLCAwIGlmIG5vIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yLgorICovCit0eXBlZGVmIGludCAoKnhtbFJlbGF4TkdUeXBlQ29tcGFyZSkgKHZvaWQgKmRhdGEsIGNvbnN0IHhtbENoYXIgKiB0eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogdmFsdWUxLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxOb2RlUHRyIGN0eHQxLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpjb21wMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIHZhbHVlMiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sTm9kZVB0ciBjdHh0Mik7Cit0eXBlZGVmIHN0cnVjdCBfeG1sUmVsYXhOR1R5cGVMaWJyYXJ5IHhtbFJlbGF4TkdUeXBlTGlicmFyeTsKK3R5cGVkZWYgeG1sUmVsYXhOR1R5cGVMaWJyYXJ5ICp4bWxSZWxheE5HVHlwZUxpYnJhcnlQdHI7CitzdHJ1Y3QgX3htbFJlbGF4TkdUeXBlTGlicmFyeSB7CisgICAgY29uc3QgeG1sQ2hhciAqbmFtZXNwYWNlOyAgIC8qIHRoZSBkYXRhdHlwZUxpYnJhcnkgdmFsdWUgKi8KKyAgICB2b2lkICpkYXRhOyAgICAgICAgICAgICAgICAgLyogZGF0YSBuZWVkZWQgZm9yIHRoZSBsaWJyYXJ5ICovCisgICAgeG1sUmVsYXhOR1R5cGVIYXZlIGhhdmU7ICAgIC8qIHRoZSBleHBvcnQgZnVuY3Rpb24gKi8KKyAgICB4bWxSZWxheE5HVHlwZUNoZWNrIGNoZWNrOyAgLyogdGhlIGNoZWNraW5nIGZ1bmN0aW9uICovCisgICAgeG1sUmVsYXhOR1R5cGVDb21wYXJlIGNvbXA7IC8qIHRoZSBjb21wYXJlIGZ1bmN0aW9uICovCisgICAgeG1sUmVsYXhOR0ZhY2V0Q2hlY2sgZmFjZXQ7IC8qIHRoZSBmYWNldCBjaGVjayBmdW5jdGlvbiAqLworICAgIHhtbFJlbGF4TkdUeXBlRnJlZSBmcmVlZjsgICAvKiB0aGUgZnJlZWluZyBmdW5jdGlvbiAqLworfTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJCUFsbG9jYXRpb24gZnVuY3Rpb25zCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyB2b2lkIHhtbFJlbGF4TkdGcmVlR3JhbW1hcih4bWxSZWxheE5HR3JhbW1hclB0ciBncmFtbWFyKTsKK3N0YXRpYyB2b2lkIHhtbFJlbGF4TkdGcmVlRGVmaW5lKHhtbFJlbGF4TkdEZWZpbmVQdHIgZGVmaW5lKTsKK3N0YXRpYyB2b2lkIHhtbFJlbGF4TkdOb3JtRXh0U3BhY2UoeG1sQ2hhciAqIHZhbHVlKTsKK3N0YXRpYyB2b2lkIHhtbFJlbGF4TkdGcmVlSW5uZXJTY2hlbWEoeG1sUmVsYXhOR1B0ciBzY2hlbWEpOworc3RhdGljIGludCB4bWxSZWxheE5HRXF1YWxWYWxpZFN0YXRlKHhtbFJlbGF4TkdWYWxpZEN0eHRQdHIgY3R4dAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFUVFJJQlVURV9VTlVTRUQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sUmVsYXhOR1ZhbGlkU3RhdGVQdHIgc3RhdGUxLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdWYWxpZFN0YXRlUHRyIHN0YXRlMik7CitzdGF0aWMgdm9pZCB4bWxSZWxheE5HRnJlZVZhbGlkU3RhdGUoeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0ciBjdHh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdWYWxpZFN0YXRlUHRyIHN0YXRlKTsKKworLyoqCisgKiB4bWxSZWxheE5HRnJlZURvY3VtZW50OgorICogQGRvY3U6ICBhIGRvY3VtZW50IHN0cnVjdHVyZQorICoKKyAqIERlYWxsb2NhdGUgYSBSZWxheE5HIGRvY3VtZW50IHN0cnVjdHVyZS4KKyAqLworc3RhdGljIHZvaWQKK3htbFJlbGF4TkdGcmVlRG9jdW1lbnQoeG1sUmVsYXhOR0RvY3VtZW50UHRyIGRvY3UpCit7CisgICAgaWYgKGRvY3UgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKGRvY3UtPmhyZWYgIT0gTlVMTCkKKyAgICAgICAgeG1sRnJlZShkb2N1LT5ocmVmKTsKKyAgICBpZiAoZG9jdS0+ZG9jICE9IE5VTEwpCisgICAgICAgIHhtbEZyZWVEb2MoZG9jdS0+ZG9jKTsKKyAgICBpZiAoZG9jdS0+c2NoZW1hICE9IE5VTEwpCisgICAgICAgIHhtbFJlbGF4TkdGcmVlSW5uZXJTY2hlbWEoZG9jdS0+c2NoZW1hKTsKKyAgICB4bWxGcmVlKGRvY3UpOworfQorCisvKioKKyAqIHhtbFJlbGF4TkdGcmVlRG9jdW1lbnRMaXN0OgorICogQGRvY3U6ICBhIGxpc3Qgb2YgIGRvY3VtZW50IHN0cnVjdHVyZQorICoKKyAqIERlYWxsb2NhdGUgYSBSZWxheE5HIGRvY3VtZW50IHN0cnVjdHVyZXMuCisgKi8KK3N0YXRpYyB2b2lkCit4bWxSZWxheE5HRnJlZURvY3VtZW50TGlzdCh4bWxSZWxheE5HRG9jdW1lbnRQdHIgZG9jdSkKK3sKKyAgICB4bWxSZWxheE5HRG9jdW1lbnRQdHIgbmV4dDsKKworICAgIHdoaWxlIChkb2N1ICE9IE5VTEwpIHsKKyAgICAgICAgbmV4dCA9IGRvY3UtPm5leHQ7CisgICAgICAgIHhtbFJlbGF4TkdGcmVlRG9jdW1lbnQoZG9jdSk7CisgICAgICAgIGRvY3UgPSBuZXh0OworICAgIH0KK30KKworLyoqCisgKiB4bWxSZWxheE5HRnJlZUluY2x1ZGU6CisgKiBAaW5jbDogIGEgaW5jbHVkZSBzdHJ1Y3R1cmUKKyAqCisgKiBEZWFsbG9jYXRlIGEgUmVsYXhORyBpbmNsdWRlIHN0cnVjdHVyZS4KKyAqLworc3RhdGljIHZvaWQKK3htbFJlbGF4TkdGcmVlSW5jbHVkZSh4bWxSZWxheE5HSW5jbHVkZVB0ciBpbmNsKQoreworICAgIGlmIChpbmNsID09IE5VTEwpCisgICAgICAgIHJldHVybjsKKworICAgIGlmIChpbmNsLT5ocmVmICE9IE5VTEwpCisgICAgICAgIHhtbEZyZWUoaW5jbC0+aHJlZik7CisgICAgaWYgKGluY2wtPmRvYyAhPSBOVUxMKQorICAgICAgICB4bWxGcmVlRG9jKGluY2wtPmRvYyk7CisgICAgaWYgKGluY2wtPnNjaGVtYSAhPSBOVUxMKQorICAgICAgICB4bWxSZWxheE5HRnJlZShpbmNsLT5zY2hlbWEpOworICAgIHhtbEZyZWUoaW5jbCk7Cit9CisKKy8qKgorICogeG1sUmVsYXhOR0ZyZWVJbmNsdWRlTGlzdDoKKyAqIEBpbmNsOiAgYSBpbmNsdWRlIHN0cnVjdHVyZSBsaXN0CisgKgorICogRGVhbGxvY2F0ZSBhIFJlbGF4TkcgaW5jbHVkZSBzdHJ1Y3R1cmUuCisgKi8KK3N0YXRpYyB2b2lkCit4bWxSZWxheE5HRnJlZUluY2x1ZGVMaXN0KHhtbFJlbGF4TkdJbmNsdWRlUHRyIGluY2wpCit7CisgICAgeG1sUmVsYXhOR0luY2x1ZGVQdHIgbmV4dDsKKworICAgIHdoaWxlIChpbmNsICE9IE5VTEwpIHsKKyAgICAgICAgbmV4dCA9IGluY2wtPm5leHQ7CisgICAgICAgIHhtbFJlbGF4TkdGcmVlSW5jbHVkZShpbmNsKTsKKyAgICAgICAgaW5jbCA9IG5leHQ7CisgICAgfQorfQorCisvKioKKyAqIHhtbFJlbGF4TkdOZXdSZWxheE5HOgorICogQGN0eHQ6ICBhIFJlbGF4LU5HIHZhbGlkYXRpb24gY29udGV4dCAob3B0aW9uYWwpCisgKgorICogQWxsb2NhdGUgYSBuZXcgUmVsYXhORyBzdHJ1Y3R1cmUuCisgKgorICogUmV0dXJucyB0aGUgbmV3bHkgYWxsb2NhdGVkIHN0cnVjdHVyZSBvciBOVUxMIGluIGNhc2Ugb3IgZXJyb3IKKyAqLworc3RhdGljIHhtbFJlbGF4TkdQdHIKK3htbFJlbGF4TkdOZXdSZWxheE5HKHhtbFJlbGF4TkdQYXJzZXJDdHh0UHRyIGN0eHQpCit7CisgICAgeG1sUmVsYXhOR1B0ciByZXQ7CisKKyAgICByZXQgPSAoeG1sUmVsYXhOR1B0cikgeG1sTWFsbG9jKHNpemVvZih4bWxSZWxheE5HKSk7CisgICAgaWYgKHJldCA9PSBOVUxMKSB7CisgICAgICAgIHhtbFJuZ1BFcnJNZW1vcnkoY3R4dCwgTlVMTCk7CisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgfQorICAgIG1lbXNldChyZXQsIDAsIHNpemVvZih4bWxSZWxheE5HKSk7CisKKyAgICByZXR1cm4gKHJldCk7Cit9CisKKy8qKgorICogeG1sUmVsYXhOR0ZyZWVJbm5lclNjaGVtYToKKyAqIEBzY2hlbWE6ICBhIHNjaGVtYSBzdHJ1Y3R1cmUKKyAqCisgKiBEZWFsbG9jYXRlIGEgUmVsYXhORyBzY2hlbWEgc3RydWN0dXJlLgorICovCitzdGF0aWMgdm9pZAoreG1sUmVsYXhOR0ZyZWVJbm5lclNjaGVtYSh4bWxSZWxheE5HUHRyIHNjaGVtYSkKK3sKKyAgICBpZiAoc2NoZW1hID09IE5VTEwpCisgICAgICAgIHJldHVybjsKKworICAgIGlmIChzY2hlbWEtPmRvYyAhPSBOVUxMKQorICAgICAgICB4bWxGcmVlRG9jKHNjaGVtYS0+ZG9jKTsKKyAgICBpZiAoc2NoZW1hLT5kZWZUYWIgIT0gTlVMTCkgeworICAgICAgICBpbnQgaTsKKworICAgICAgICBmb3IgKGkgPSAwOyBpIDwgc2NoZW1hLT5kZWZOcjsgaSsrKQorICAgICAgICAgICAgeG1sUmVsYXhOR0ZyZWVEZWZpbmUoc2NoZW1hLT5kZWZUYWJbaV0pOworICAgICAgICB4bWxGcmVlKHNjaGVtYS0+ZGVmVGFiKTsKKyAgICB9CisKKyAgICB4bWxGcmVlKHNjaGVtYSk7Cit9CisKKy8qKgorICogeG1sUmVsYXhOR0ZyZWU6CisgKiBAc2NoZW1hOiAgYSBzY2hlbWEgc3RydWN0dXJlCisgKgorICogRGVhbGxvY2F0ZSBhIFJlbGF4Tkcgc3RydWN0dXJlLgorICovCit2b2lkCit4bWxSZWxheE5HRnJlZSh4bWxSZWxheE5HUHRyIHNjaGVtYSkKK3sKKyAgICBpZiAoc2NoZW1hID09IE5VTEwpCisgICAgICAgIHJldHVybjsKKworICAgIGlmIChzY2hlbWEtPnRvcGdyYW1tYXIgIT0gTlVMTCkKKyAgICAgICAgeG1sUmVsYXhOR0ZyZWVHcmFtbWFyKHNjaGVtYS0+dG9wZ3JhbW1hcik7CisgICAgaWYgKHNjaGVtYS0+ZG9jICE9IE5VTEwpCisgICAgICAgIHhtbEZyZWVEb2Moc2NoZW1hLT5kb2MpOworICAgIGlmIChzY2hlbWEtPmRvY3VtZW50cyAhPSBOVUxMKQorICAgICAgICB4bWxSZWxheE5HRnJlZURvY3VtZW50TGlzdChzY2hlbWEtPmRvY3VtZW50cyk7CisgICAgaWYgKHNjaGVtYS0+aW5jbHVkZXMgIT0gTlVMTCkKKyAgICAgICAgeG1sUmVsYXhOR0ZyZWVJbmNsdWRlTGlzdChzY2hlbWEtPmluY2x1ZGVzKTsKKyAgICBpZiAoc2NoZW1hLT5kZWZUYWIgIT0gTlVMTCkgeworICAgICAgICBpbnQgaTsKKworICAgICAgICBmb3IgKGkgPSAwOyBpIDwgc2NoZW1hLT5kZWZOcjsgaSsrKQorICAgICAgICAgICAgeG1sUmVsYXhOR0ZyZWVEZWZpbmUoc2NoZW1hLT5kZWZUYWJbaV0pOworICAgICAgICB4bWxGcmVlKHNjaGVtYS0+ZGVmVGFiKTsKKyAgICB9CisKKyAgICB4bWxGcmVlKHNjaGVtYSk7Cit9CisKKy8qKgorICogeG1sUmVsYXhOR05ld0dyYW1tYXI6CisgKiBAY3R4dDogIGEgUmVsYXgtTkcgdmFsaWRhdGlvbiBjb250ZXh0IChvcHRpb25hbCkKKyAqCisgKiBBbGxvY2F0ZSBhIG5ldyBSZWxheE5HIGdyYW1tYXIuCisgKgorICogUmV0dXJucyB0aGUgbmV3bHkgYWxsb2NhdGVkIHN0cnVjdHVyZSBvciBOVUxMIGluIGNhc2Ugb3IgZXJyb3IKKyAqLworc3RhdGljIHhtbFJlbGF4TkdHcmFtbWFyUHRyCit4bWxSZWxheE5HTmV3R3JhbW1hcih4bWxSZWxheE5HUGFyc2VyQ3R4dFB0ciBjdHh0KQoreworICAgIHhtbFJlbGF4TkdHcmFtbWFyUHRyIHJldDsKKworICAgIHJldCA9ICh4bWxSZWxheE5HR3JhbW1hclB0cikgeG1sTWFsbG9jKHNpemVvZih4bWxSZWxheE5HR3JhbW1hcikpOworICAgIGlmIChyZXQgPT0gTlVMTCkgeworICAgICAgICB4bWxSbmdQRXJyTWVtb3J5KGN0eHQsIE5VTEwpOworICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIH0KKyAgICBtZW1zZXQocmV0LCAwLCBzaXplb2YoeG1sUmVsYXhOR0dyYW1tYXIpKTsKKworICAgIHJldHVybiAocmV0KTsKK30KKworLyoqCisgKiB4bWxSZWxheE5HRnJlZUdyYW1tYXI6CisgKiBAZ3JhbW1hcjogIGEgZ3JhbW1hciBzdHJ1Y3R1cmUKKyAqCisgKiBEZWFsbG9jYXRlIGEgUmVsYXhORyBncmFtbWFyIHN0cnVjdHVyZS4KKyAqLworc3RhdGljIHZvaWQKK3htbFJlbGF4TkdGcmVlR3JhbW1hcih4bWxSZWxheE5HR3JhbW1hclB0ciBncmFtbWFyKQoreworICAgIGlmIChncmFtbWFyID09IE5VTEwpCisgICAgICAgIHJldHVybjsKKworICAgIGlmIChncmFtbWFyLT5jaGlsZHJlbiAhPSBOVUxMKSB7CisgICAgICAgIHhtbFJlbGF4TkdGcmVlR3JhbW1hcihncmFtbWFyLT5jaGlsZHJlbik7CisgICAgfQorICAgIGlmIChncmFtbWFyLT5uZXh0ICE9IE5VTEwpIHsKKyAgICAgICAgeG1sUmVsYXhOR0ZyZWVHcmFtbWFyKGdyYW1tYXItPm5leHQpOworICAgIH0KKyAgICBpZiAoZ3JhbW1hci0+cmVmcyAhPSBOVUxMKSB7CisgICAgICAgIHhtbEhhc2hGcmVlKGdyYW1tYXItPnJlZnMsIE5VTEwpOworICAgIH0KKyAgICBpZiAoZ3JhbW1hci0+ZGVmcyAhPSBOVUxMKSB7CisgICAgICAgIHhtbEhhc2hGcmVlKGdyYW1tYXItPmRlZnMsIE5VTEwpOworICAgIH0KKworICAgIHhtbEZyZWUoZ3JhbW1hcik7Cit9CisKKy8qKgorICogeG1sUmVsYXhOR05ld0RlZmluZToKKyAqIEBjdHh0OiAgYSBSZWxheC1ORyB2YWxpZGF0aW9uIGNvbnRleHQKKyAqIEBub2RlOiAgdGhlIG5vZGUgaW4gdGhlIGlucHV0IGRvY3VtZW50LgorICoKKyAqIEFsbG9jYXRlIGEgbmV3IFJlbGF4TkcgZGVmaW5lLgorICoKKyAqIFJldHVybnMgdGhlIG5ld2x5IGFsbG9jYXRlZCBzdHJ1Y3R1cmUgb3IgTlVMTCBpbiBjYXNlIG9yIGVycm9yCisgKi8KK3N0YXRpYyB4bWxSZWxheE5HRGVmaW5lUHRyCit4bWxSZWxheE5HTmV3RGVmaW5lKHhtbFJlbGF4TkdQYXJzZXJDdHh0UHRyIGN0eHQsIHhtbE5vZGVQdHIgbm9kZSkKK3sKKyAgICB4bWxSZWxheE5HRGVmaW5lUHRyIHJldDsKKworICAgIGlmIChjdHh0LT5kZWZNYXggPT0gMCkgeworICAgICAgICBjdHh0LT5kZWZNYXggPSAxNjsKKyAgICAgICAgY3R4dC0+ZGVmTnIgPSAwOworICAgICAgICBjdHh0LT5kZWZUYWIgPSAoeG1sUmVsYXhOR0RlZmluZVB0ciAqKQorICAgICAgICAgICAgeG1sTWFsbG9jKGN0eHQtPmRlZk1heCAqIHNpemVvZih4bWxSZWxheE5HRGVmaW5lUHRyKSk7CisgICAgICAgIGlmIChjdHh0LT5kZWZUYWIgPT0gTlVMTCkgeworICAgICAgICAgICAgeG1sUm5nUEVyck1lbW9yeShjdHh0LCAiYWxsb2NhdGluZyBkZWZpbmVcbiIpOworICAgICAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICAgICAgfQorICAgIH0gZWxzZSBpZiAoY3R4dC0+ZGVmTWF4IDw9IGN0eHQtPmRlZk5yKSB7CisgICAgICAgIHhtbFJlbGF4TkdEZWZpbmVQdHIgKnRtcDsKKworICAgICAgICBjdHh0LT5kZWZNYXggKj0gMjsKKyAgICAgICAgdG1wID0gKHhtbFJlbGF4TkdEZWZpbmVQdHIgKikgeG1sUmVhbGxvYyhjdHh0LT5kZWZUYWIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3R4dC0+ZGVmTWF4ICoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoeG1sUmVsYXhOR0RlZmluZVB0cikpOworICAgICAgICBpZiAodG1wID09IE5VTEwpIHsKKyAgICAgICAgICAgIHhtbFJuZ1BFcnJNZW1vcnkoY3R4dCwgImFsbG9jYXRpbmcgZGVmaW5lXG4iKTsKKyAgICAgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgICAgIH0KKyAgICAgICAgY3R4dC0+ZGVmVGFiID0gdG1wOworICAgIH0KKyAgICByZXQgPSAoeG1sUmVsYXhOR0RlZmluZVB0cikgeG1sTWFsbG9jKHNpemVvZih4bWxSZWxheE5HRGVmaW5lKSk7CisgICAgaWYgKHJldCA9PSBOVUxMKSB7CisgICAgICAgIHhtbFJuZ1BFcnJNZW1vcnkoY3R4dCwgImFsbG9jYXRpbmcgZGVmaW5lXG4iKTsKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICB9CisgICAgbWVtc2V0KHJldCwgMCwgc2l6ZW9mKHhtbFJlbGF4TkdEZWZpbmUpKTsKKyAgICBjdHh0LT5kZWZUYWJbY3R4dC0+ZGVmTnIrK10gPSByZXQ7CisgICAgcmV0LT5ub2RlID0gbm9kZTsKKyAgICByZXQtPmRlcHRoID0gLTE7CisgICAgcmV0dXJuIChyZXQpOworfQorCisvKioKKyAqIHhtbFJlbGF4TkdGcmVlUGFydGl0aW9uOgorICogQHBhcnRpdGlvbnM6ICBhIHBhcnRpdGlvbiBzZXQgc3RydWN0dXJlCisgKgorICogRGVhbGxvY2F0ZSBSZWxheE5HIHBhcnRpdGlvbiBzZXQgc3RydWN0dXJlcy4KKyAqLworc3RhdGljIHZvaWQKK3htbFJlbGF4TkdGcmVlUGFydGl0aW9uKHhtbFJlbGF4TkdQYXJ0aXRpb25QdHIgcGFydGl0aW9ucykKK3sKKyAgICB4bWxSZWxheE5HSW50ZXJsZWF2ZUdyb3VwUHRyIGdyb3VwOworICAgIGludCBqOworCisgICAgaWYgKHBhcnRpdGlvbnMgIT0gTlVMTCkgeworICAgICAgICBpZiAocGFydGl0aW9ucy0+Z3JvdXBzICE9IE5VTEwpIHsKKyAgICAgICAgICAgIGZvciAoaiA9IDA7IGogPCBwYXJ0aXRpb25zLT5uYmdyb3VwczsgaisrKSB7CisgICAgICAgICAgICAgICAgZ3JvdXAgPSBwYXJ0aXRpb25zLT5ncm91cHNbal07CisgICAgICAgICAgICAgICAgaWYgKGdyb3VwICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGdyb3VwLT5kZWZzICE9IE5VTEwpCisgICAgICAgICAgICAgICAgICAgICAgICB4bWxGcmVlKGdyb3VwLT5kZWZzKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGdyb3VwLT5hdHRycyAhPSBOVUxMKQorICAgICAgICAgICAgICAgICAgICAgICAgeG1sRnJlZShncm91cC0+YXR0cnMpOworICAgICAgICAgICAgICAgICAgICB4bWxGcmVlKGdyb3VwKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgICAgICB4bWxGcmVlKHBhcnRpdGlvbnMtPmdyb3Vwcyk7CisgICAgICAgIH0KKyAgICAgICAgaWYgKHBhcnRpdGlvbnMtPnRyaWFnZSAhPSBOVUxMKSB7CisgICAgICAgICAgICB4bWxIYXNoRnJlZShwYXJ0aXRpb25zLT50cmlhZ2UsIE5VTEwpOworICAgICAgICB9CisgICAgICAgIHhtbEZyZWUocGFydGl0aW9ucyk7CisgICAgfQorfQorCisvKioKKyAqIHhtbFJlbGF4TkdGcmVlRGVmaW5lOgorICogQGRlZmluZTogIGEgZGVmaW5lIHN0cnVjdHVyZQorICoKKyAqIERlYWxsb2NhdGUgYSBSZWxheE5HIGRlZmluZSBzdHJ1Y3R1cmUuCisgKi8KK3N0YXRpYyB2b2lkCit4bWxSZWxheE5HRnJlZURlZmluZSh4bWxSZWxheE5HRGVmaW5lUHRyIGRlZmluZSkKK3sKKyAgICBpZiAoZGVmaW5lID09IE5VTEwpCisgICAgICAgIHJldHVybjsKKworICAgIGlmICgoZGVmaW5lLT50eXBlID09IFhNTF9SRUxBWE5HX1ZBTFVFKSAmJiAoZGVmaW5lLT5hdHRycyAhPSBOVUxMKSkgeworICAgICAgICB4bWxSZWxheE5HVHlwZUxpYnJhcnlQdHIgbGliOworCisgICAgICAgIGxpYiA9ICh4bWxSZWxheE5HVHlwZUxpYnJhcnlQdHIpIGRlZmluZS0+ZGF0YTsKKyAgICAgICAgaWYgKChsaWIgIT0gTlVMTCkgJiYgKGxpYi0+ZnJlZWYgIT0gTlVMTCkpCisgICAgICAgICAgICBsaWItPmZyZWVmKGxpYi0+ZGF0YSwgKHZvaWQgKikgZGVmaW5lLT5hdHRycyk7CisgICAgfQorICAgIGlmICgoZGVmaW5lLT5kYXRhICE9IE5VTEwpICYmIChkZWZpbmUtPnR5cGUgPT0gWE1MX1JFTEFYTkdfSU5URVJMRUFWRSkpCisgICAgICAgIHhtbFJlbGF4TkdGcmVlUGFydGl0aW9uKCh4bWxSZWxheE5HUGFydGl0aW9uUHRyKSBkZWZpbmUtPmRhdGEpOworICAgIGlmICgoZGVmaW5lLT5kYXRhICE9IE5VTEwpICYmIChkZWZpbmUtPnR5cGUgPT0gWE1MX1JFTEFYTkdfQ0hPSUNFKSkKKyAgICAgICAgeG1sSGFzaEZyZWUoKHhtbEhhc2hUYWJsZVB0cikgZGVmaW5lLT5kYXRhLCBOVUxMKTsKKyAgICBpZiAoZGVmaW5lLT5uYW1lICE9IE5VTEwpCisgICAgICAgIHhtbEZyZWUoZGVmaW5lLT5uYW1lKTsKKyAgICBpZiAoZGVmaW5lLT5ucyAhPSBOVUxMKQorICAgICAgICB4bWxGcmVlKGRlZmluZS0+bnMpOworICAgIGlmIChkZWZpbmUtPnZhbHVlICE9IE5VTEwpCisgICAgICAgIHhtbEZyZWUoZGVmaW5lLT52YWx1ZSk7CisgICAgaWYgKGRlZmluZS0+Y29udE1vZGVsICE9IE5VTEwpCisgICAgICAgIHhtbFJlZ0ZyZWVSZWdleHAoZGVmaW5lLT5jb250TW9kZWwpOworICAgIHhtbEZyZWUoZGVmaW5lKTsKK30KKworLyoqCisgKiB4bWxSZWxheE5HTmV3U3RhdGVzOgorICogQGN0eHQ6ICBhIFJlbGF4LU5HIHZhbGlkYXRpb24gY29udGV4dAorICogQHNpemU6ICB0aGUgZGVmYXVsdCBzaXplIGZvciB0aGUgY29udGFpbmVyCisgKgorICogQWxsb2NhdGUgYSBuZXcgUmVsYXhORyB2YWxpZGF0aW9uIHN0YXRlIGNvbnRhaW5lcgorICoKKyAqIFJldHVybnMgdGhlIG5ld2x5IGFsbG9jYXRlZCBzdHJ1Y3R1cmUgb3IgTlVMTCBpbiBjYXNlIG9yIGVycm9yCisgKi8KK3N0YXRpYyB4bWxSZWxheE5HU3RhdGVzUHRyCit4bWxSZWxheE5HTmV3U3RhdGVzKHhtbFJlbGF4TkdWYWxpZEN0eHRQdHIgY3R4dCwgaW50IHNpemUpCit7CisgICAgeG1sUmVsYXhOR1N0YXRlc1B0ciByZXQ7CisKKyAgICBpZiAoKGN0eHQgIT0gTlVMTCkgJiYKKyAgICAgICAgKGN0eHQtPmZyZWVTdGF0ZXMgIT0gTlVMTCkgJiYgKGN0eHQtPmZyZWVTdGF0ZXNOciA+IDApKSB7CisgICAgICAgIGN0eHQtPmZyZWVTdGF0ZXNOci0tOworICAgICAgICByZXQgPSBjdHh0LT5mcmVlU3RhdGVzW2N0eHQtPmZyZWVTdGF0ZXNOcl07CisgICAgICAgIHJldC0+bmJTdGF0ZSA9IDA7CisgICAgICAgIHJldHVybiAocmV0KTsKKyAgICB9CisgICAgaWYgKHNpemUgPCAxNikKKyAgICAgICAgc2l6ZSA9IDE2OworCisgICAgcmV0ID0gKHhtbFJlbGF4TkdTdGF0ZXNQdHIpIHhtbE1hbGxvYyhzaXplb2YoeG1sUmVsYXhOR1N0YXRlcykgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNpemUgLQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEpICoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZih4bWxSZWxheE5HVmFsaWRTdGF0ZVB0cikpOworICAgIGlmIChyZXQgPT0gTlVMTCkgeworICAgICAgICB4bWxSbmdWRXJyTWVtb3J5KGN0eHQsICJhbGxvY2F0aW5nIHN0YXRlc1xuIik7CisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgfQorICAgIHJldC0+bmJTdGF0ZSA9IDA7CisgICAgcmV0LT5tYXhTdGF0ZSA9IHNpemU7CisgICAgcmV0LT50YWJTdGF0ZSA9ICh4bWxSZWxheE5HVmFsaWRTdGF0ZVB0ciAqKSB4bWxNYWxsb2MoKHNpemUpICoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoeG1sUmVsYXhOR1ZhbGlkU3RhdGVQdHIpKTsKKyAgICBpZiAocmV0LT50YWJTdGF0ZSA9PSBOVUxMKSB7CisgICAgICAgIHhtbFJuZ1ZFcnJNZW1vcnkoY3R4dCwgImFsbG9jYXRpbmcgc3RhdGVzXG4iKTsKKyAgICAgICAgeG1sRnJlZShyZXQpOworICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIH0KKyAgICByZXR1cm4gKHJldCk7Cit9CisKKy8qKgorICogeG1sUmVsYXhOR0FkZFN0YXRlVW5pcToKKyAqIEBjdHh0OiAgYSBSZWxheC1ORyB2YWxpZGF0aW9uIGNvbnRleHQKKyAqIEBzdGF0ZXM6ICB0aGUgc3RhdGVzIGNvbnRhaW5lcgorICogQHN0YXRlOiAgdGhlIHZhbGlkYXRpb24gc3RhdGUKKyAqCisgKiBBZGQgYSBSZWxheE5HIHZhbGlkYXRpb24gc3RhdGUgdG8gdGhlIGNvbnRhaW5lciB3aXRob3V0IGNoZWNraW5nCisgKiBmb3IgdW5pY2l0eS4KKyAqCisgKiBSZXR1cm4gMSBpbiBjYXNlIG9mIHN1Y2Nlc3MgYW5kIDAgaWYgdGhpcyBpcyBhIGR1cGxpY2F0ZSBhbmQgLTEgb24gZXJyb3IKKyAqLworc3RhdGljIGludAoreG1sUmVsYXhOR0FkZFN0YXRlc1VuaXEoeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0ciBjdHh0LAorICAgICAgICAgICAgICAgICAgICAgICAgeG1sUmVsYXhOR1N0YXRlc1B0ciBzdGF0ZXMsCisgICAgICAgICAgICAgICAgICAgICAgICB4bWxSZWxheE5HVmFsaWRTdGF0ZVB0ciBzdGF0ZSkKK3sKKyAgICBpZiAoc3RhdGUgPT0gTlVMTCkgeworICAgICAgICByZXR1cm4gKC0xKTsKKyAgICB9CisgICAgaWYgKHN0YXRlcy0+bmJTdGF0ZSA+PSBzdGF0ZXMtPm1heFN0YXRlKSB7CisgICAgICAgIHhtbFJlbGF4TkdWYWxpZFN0YXRlUHRyICp0bXA7CisgICAgICAgIGludCBzaXplOworCisgICAgICAgIHNpemUgPSBzdGF0ZXMtPm1heFN0YXRlICogMjsKKyAgICAgICAgdG1wID0gKHhtbFJlbGF4TkdWYWxpZFN0YXRlUHRyICopIHhtbFJlYWxsb2Moc3RhdGVzLT50YWJTdGF0ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNpemUpICoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh4bWxSZWxheE5HVmFsaWRTdGF0ZVB0cikpOworICAgICAgICBpZiAodG1wID09IE5VTEwpIHsKKyAgICAgICAgICAgIHhtbFJuZ1ZFcnJNZW1vcnkoY3R4dCwgImFkZGluZyBzdGF0ZXNcbiIpOworICAgICAgICAgICAgcmV0dXJuICgtMSk7CisgICAgICAgIH0KKyAgICAgICAgc3RhdGVzLT50YWJTdGF0ZSA9IHRtcDsKKyAgICAgICAgc3RhdGVzLT5tYXhTdGF0ZSA9IHNpemU7CisgICAgfQorICAgIHN0YXRlcy0+dGFiU3RhdGVbc3RhdGVzLT5uYlN0YXRlKytdID0gc3RhdGU7CisgICAgcmV0dXJuICgxKTsKK30KKworLyoqCisgKiB4bWxSZWxheE5HQWRkU3RhdGU6CisgKiBAY3R4dDogIGEgUmVsYXgtTkcgdmFsaWRhdGlvbiBjb250ZXh0CisgKiBAc3RhdGVzOiAgdGhlIHN0YXRlcyBjb250YWluZXIKKyAqIEBzdGF0ZTogIHRoZSB2YWxpZGF0aW9uIHN0YXRlCisgKgorICogQWRkIGEgUmVsYXhORyB2YWxpZGF0aW9uIHN0YXRlIHRvIHRoZSBjb250YWluZXIKKyAqCisgKiBSZXR1cm4gMSBpbiBjYXNlIG9mIHN1Y2Nlc3MgYW5kIDAgaWYgdGhpcyBpcyBhIGR1cGxpY2F0ZSBhbmQgLTEgb24gZXJyb3IKKyAqLworc3RhdGljIGludAoreG1sUmVsYXhOR0FkZFN0YXRlcyh4bWxSZWxheE5HVmFsaWRDdHh0UHRyIGN0eHQsCisgICAgICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdTdGF0ZXNQdHIgc3RhdGVzLAorICAgICAgICAgICAgICAgICAgICB4bWxSZWxheE5HVmFsaWRTdGF0ZVB0ciBzdGF0ZSkKK3sKKyAgICBpbnQgaTsKKworICAgIGlmIChzdGF0ZSA9PSBOVUxMIHx8IHN0YXRlcyA9PSBOVUxMKSB7CisgICAgICAgIHJldHVybiAoLTEpOworICAgIH0KKyAgICBpZiAoc3RhdGVzLT5uYlN0YXRlID49IHN0YXRlcy0+bWF4U3RhdGUpIHsKKyAgICAgICAgeG1sUmVsYXhOR1ZhbGlkU3RhdGVQdHIgKnRtcDsKKyAgICAgICAgaW50IHNpemU7CisKKyAgICAgICAgc2l6ZSA9IHN0YXRlcy0+bWF4U3RhdGUgKiAyOworICAgICAgICB0bXAgPSAoeG1sUmVsYXhOR1ZhbGlkU3RhdGVQdHIgKikgeG1sUmVhbGxvYyhzdGF0ZXMtPnRhYlN0YXRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2l6ZSkgKgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHhtbFJlbGF4TkdWYWxpZFN0YXRlUHRyKSk7CisgICAgICAgIGlmICh0bXAgPT0gTlVMTCkgeworICAgICAgICAgICAgeG1sUm5nVkVyck1lbW9yeShjdHh0LCAiYWRkaW5nIHN0YXRlc1xuIik7CisgICAgICAgICAgICByZXR1cm4gKC0xKTsKKyAgICAgICAgfQorICAgICAgICBzdGF0ZXMtPnRhYlN0YXRlID0gdG1wOworICAgICAgICBzdGF0ZXMtPm1heFN0YXRlID0gc2l6ZTsKKyAgICB9CisgICAgZm9yIChpID0gMDsgaSA8IHN0YXRlcy0+bmJTdGF0ZTsgaSsrKSB7CisgICAgICAgIGlmICh4bWxSZWxheE5HRXF1YWxWYWxpZFN0YXRlKGN0eHQsIHN0YXRlLCBzdGF0ZXMtPnRhYlN0YXRlW2ldKSkgeworICAgICAgICAgICAgeG1sUmVsYXhOR0ZyZWVWYWxpZFN0YXRlKGN0eHQsIHN0YXRlKTsKKyAgICAgICAgICAgIHJldHVybiAoMCk7CisgICAgICAgIH0KKyAgICB9CisgICAgc3RhdGVzLT50YWJTdGF0ZVtzdGF0ZXMtPm5iU3RhdGUrK10gPSBzdGF0ZTsKKyAgICByZXR1cm4gKDEpOworfQorCisvKioKKyAqIHhtbFJlbGF4TkdGcmVlU3RhdGVzOgorICogQGN0eHQ6ICBhIFJlbGF4LU5HIHZhbGlkYXRpb24gY29udGV4dAorICogQHN0YXRlczogIHRlaCBjb250YWluZXIKKyAqCisgKiBGcmVlIGEgUmVsYXhORyB2YWxpZGF0aW9uIHN0YXRlIGNvbnRhaW5lcgorICovCitzdGF0aWMgdm9pZAoreG1sUmVsYXhOR0ZyZWVTdGF0ZXMoeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0ciBjdHh0LAorICAgICAgICAgICAgICAgICAgICAgeG1sUmVsYXhOR1N0YXRlc1B0ciBzdGF0ZXMpCit7CisgICAgaWYgKHN0YXRlcyA9PSBOVUxMKQorICAgICAgICByZXR1cm47CisgICAgaWYgKChjdHh0ICE9IE5VTEwpICYmIChjdHh0LT5mcmVlU3RhdGVzID09IE5VTEwpKSB7CisgICAgICAgIGN0eHQtPmZyZWVTdGF0ZXNNYXggPSA0MDsKKyAgICAgICAgY3R4dC0+ZnJlZVN0YXRlc05yID0gMDsKKyAgICAgICAgY3R4dC0+ZnJlZVN0YXRlcyA9ICh4bWxSZWxheE5HU3RhdGVzUHRyICopCisgICAgICAgICAgICB4bWxNYWxsb2MoY3R4dC0+ZnJlZVN0YXRlc01heCAqIHNpemVvZih4bWxSZWxheE5HU3RhdGVzUHRyKSk7CisgICAgICAgIGlmIChjdHh0LT5mcmVlU3RhdGVzID09IE5VTEwpIHsKKyAgICAgICAgICAgIHhtbFJuZ1ZFcnJNZW1vcnkoY3R4dCwgInN0b3Jpbmcgc3RhdGVzXG4iKTsKKyAgICAgICAgfQorICAgIH0gZWxzZSBpZiAoKGN0eHQgIT0gTlVMTCkKKyAgICAgICAgICAgICAgICYmIChjdHh0LT5mcmVlU3RhdGVzTnIgPj0gY3R4dC0+ZnJlZVN0YXRlc01heCkpIHsKKyAgICAgICAgeG1sUmVsYXhOR1N0YXRlc1B0ciAqdG1wOworCisgICAgICAgIHRtcCA9ICh4bWxSZWxheE5HU3RhdGVzUHRyICopIHhtbFJlYWxsb2MoY3R4dC0+ZnJlZVN0YXRlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyICogY3R4dC0+ZnJlZVN0YXRlc01heCAqCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHhtbFJlbGF4TkdTdGF0ZXNQdHIpKTsKKyAgICAgICAgaWYgKHRtcCA9PSBOVUxMKSB7CisgICAgICAgICAgICB4bWxSbmdWRXJyTWVtb3J5KGN0eHQsICJzdG9yaW5nIHN0YXRlc1xuIik7CisgICAgICAgICAgICB4bWxGcmVlKHN0YXRlcy0+dGFiU3RhdGUpOworICAgICAgICAgICAgeG1sRnJlZShzdGF0ZXMpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIGN0eHQtPmZyZWVTdGF0ZXMgPSB0bXA7CisgICAgICAgIGN0eHQtPmZyZWVTdGF0ZXNNYXggKj0gMjsKKyAgICB9CisgICAgaWYgKChjdHh0ID09IE5VTEwpIHx8IChjdHh0LT5mcmVlU3RhdGVzID09IE5VTEwpKSB7CisgICAgICAgIHhtbEZyZWUoc3RhdGVzLT50YWJTdGF0ZSk7CisgICAgICAgIHhtbEZyZWUoc3RhdGVzKTsKKyAgICB9IGVsc2UgeworICAgICAgICBjdHh0LT5mcmVlU3RhdGVzW2N0eHQtPmZyZWVTdGF0ZXNOcisrXSA9IHN0YXRlczsKKyAgICB9Cit9CisKKy8qKgorICogeG1sUmVsYXhOR05ld1ZhbGlkU3RhdGU6CisgKiBAY3R4dDogIGEgUmVsYXgtTkcgdmFsaWRhdGlvbiBjb250ZXh0CisgKiBAbm9kZTogIHRoZSBjdXJyZW50IG5vZGUgb3IgTlVMTCBmb3IgdGhlIGRvY3VtZW50CisgKgorICogQWxsb2NhdGUgYSBuZXcgUmVsYXhORyB2YWxpZGF0aW9uIHN0YXRlCisgKgorICogUmV0dXJucyB0aGUgbmV3bHkgYWxsb2NhdGVkIHN0cnVjdHVyZSBvciBOVUxMIGluIGNhc2Ugb3IgZXJyb3IKKyAqLworc3RhdGljIHhtbFJlbGF4TkdWYWxpZFN0YXRlUHRyCit4bWxSZWxheE5HTmV3VmFsaWRTdGF0ZSh4bWxSZWxheE5HVmFsaWRDdHh0UHRyIGN0eHQsIHhtbE5vZGVQdHIgbm9kZSkKK3sKKyAgICB4bWxSZWxheE5HVmFsaWRTdGF0ZVB0ciByZXQ7CisgICAgeG1sQXR0clB0ciBhdHRyOworICAgIHhtbEF0dHJQdHIgYXR0cnNbTUFYX0FUVFJdOworICAgIGludCBuYkF0dHJzID0gMDsKKyAgICB4bWxOb2RlUHRyIHJvb3QgPSBOVUxMOworCisgICAgaWYgKG5vZGUgPT0gTlVMTCkgeworICAgICAgICByb290ID0geG1sRG9jR2V0Um9vdEVsZW1lbnQoY3R4dC0+ZG9jKTsKKyAgICAgICAgaWYgKHJvb3QgPT0gTlVMTCkKKyAgICAgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgYXR0ciA9IG5vZGUtPnByb3BlcnRpZXM7CisgICAgICAgIHdoaWxlIChhdHRyICE9IE5VTEwpIHsKKyAgICAgICAgICAgIGlmIChuYkF0dHJzIDwgTUFYX0FUVFIpCisgICAgICAgICAgICAgICAgYXR0cnNbbmJBdHRycysrXSA9IGF0dHI7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgbmJBdHRycysrOworICAgICAgICAgICAgYXR0ciA9IGF0dHItPm5leHQ7CisgICAgICAgIH0KKyAgICB9CisgICAgaWYgKChjdHh0LT5mcmVlU3RhdGUgIT0gTlVMTCkgJiYgKGN0eHQtPmZyZWVTdGF0ZS0+bmJTdGF0ZSA+IDApKSB7CisgICAgICAgIGN0eHQtPmZyZWVTdGF0ZS0+bmJTdGF0ZS0tOworICAgICAgICByZXQgPSBjdHh0LT5mcmVlU3RhdGUtPnRhYlN0YXRlW2N0eHQtPmZyZWVTdGF0ZS0+bmJTdGF0ZV07CisgICAgfSBlbHNlIHsKKyAgICAgICAgcmV0ID0KKyAgICAgICAgICAgICh4bWxSZWxheE5HVmFsaWRTdGF0ZVB0cikKKyAgICAgICAgICAgIHhtbE1hbGxvYyhzaXplb2YoeG1sUmVsYXhOR1ZhbGlkU3RhdGUpKTsKKyAgICAgICAgaWYgKHJldCA9PSBOVUxMKSB7CisgICAgICAgICAgICB4bWxSbmdWRXJyTWVtb3J5KGN0eHQsICJhbGxvY2F0aW5nIHN0YXRlc1xuIik7CisgICAgICAgICAgICByZXR1cm4gKE5VTEwpOworICAgICAgICB9CisgICAgICAgIG1lbXNldChyZXQsIDAsIHNpemVvZih4bWxSZWxheE5HVmFsaWRTdGF0ZSkpOworICAgIH0KKyAgICByZXQtPnZhbHVlID0gTlVMTDsKKyAgICByZXQtPmVuZHZhbHVlID0gTlVMTDsKKyAgICBpZiAobm9kZSA9PSBOVUxMKSB7CisgICAgICAgIHJldC0+bm9kZSA9ICh4bWxOb2RlUHRyKSBjdHh0LT5kb2M7CisgICAgICAgIHJldC0+c2VxID0gcm9vdDsKKyAgICB9IGVsc2UgeworICAgICAgICByZXQtPm5vZGUgPSBub2RlOworICAgICAgICByZXQtPnNlcSA9IG5vZGUtPmNoaWxkcmVuOworICAgIH0KKyAgICByZXQtPm5iQXR0cnMgPSAwOworICAgIGlmIChuYkF0dHJzID4gMCkgeworICAgICAgICBpZiAocmV0LT5hdHRycyA9PSBOVUxMKSB7CisgICAgICAgICAgICBpZiAobmJBdHRycyA8IDQpCisgICAgICAgICAgICAgICAgcmV0LT5tYXhBdHRycyA9IDQ7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgcmV0LT5tYXhBdHRycyA9IG5iQXR0cnM7CisgICAgICAgICAgICByZXQtPmF0dHJzID0gKHhtbEF0dHJQdHIgKikgeG1sTWFsbG9jKHJldC0+bWF4QXR0cnMgKgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoeG1sQXR0clB0cikpOworICAgICAgICAgICAgaWYgKHJldC0+YXR0cnMgPT0gTlVMTCkgeworICAgICAgICAgICAgICAgIHhtbFJuZ1ZFcnJNZW1vcnkoY3R4dCwgImFsbG9jYXRpbmcgc3RhdGVzXG4iKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gKHJldCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0gZWxzZSBpZiAocmV0LT5tYXhBdHRycyA8IG5iQXR0cnMpIHsKKyAgICAgICAgICAgIHhtbEF0dHJQdHIgKnRtcDsKKworICAgICAgICAgICAgdG1wID0gKHhtbEF0dHJQdHIgKikgeG1sUmVhbGxvYyhyZXQtPmF0dHJzLCBuYkF0dHJzICoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKHhtbEF0dHJQdHIpKTsKKyAgICAgICAgICAgIGlmICh0bXAgPT0gTlVMTCkgeworICAgICAgICAgICAgICAgIHhtbFJuZ1ZFcnJNZW1vcnkoY3R4dCwgImFsbG9jYXRpbmcgc3RhdGVzXG4iKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gKHJldCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICByZXQtPmF0dHJzID0gdG1wOworICAgICAgICAgICAgcmV0LT5tYXhBdHRycyA9IG5iQXR0cnM7CisgICAgICAgIH0KKyAgICAgICAgcmV0LT5uYkF0dHJzID0gbmJBdHRyczsKKyAgICAgICAgaWYgKG5iQXR0cnMgPCBNQVhfQVRUUikgeworICAgICAgICAgICAgbWVtY3B5KHJldC0+YXR0cnMsIGF0dHJzLCBzaXplb2YoeG1sQXR0clB0cikgKiBuYkF0dHJzKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGF0dHIgPSBub2RlLT5wcm9wZXJ0aWVzOworICAgICAgICAgICAgbmJBdHRycyA9IDA7CisgICAgICAgICAgICB3aGlsZSAoYXR0ciAhPSBOVUxMKSB7CisgICAgICAgICAgICAgICAgcmV0LT5hdHRyc1tuYkF0dHJzKytdID0gYXR0cjsKKyAgICAgICAgICAgICAgICBhdHRyID0gYXR0ci0+bmV4dDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKyAgICByZXQtPm5iQXR0ckxlZnQgPSByZXQtPm5iQXR0cnM7CisgICAgcmV0dXJuIChyZXQpOworfQorCisvKioKKyAqIHhtbFJlbGF4TkdDb3B5VmFsaWRTdGF0ZToKKyAqIEBjdHh0OiAgYSBSZWxheC1ORyB2YWxpZGF0aW9uIGNvbnRleHQKKyAqIEBzdGF0ZTogIGEgdmFsaWRhdGlvbiBzdGF0ZQorICoKKyAqIENvcHkgdGhlIHZhbGlkYXRpb24gc3RhdGUKKyAqCisgKiBSZXR1cm5zIHRoZSBuZXdseSBhbGxvY2F0ZWQgc3RydWN0dXJlIG9yIE5VTEwgaW4gY2FzZSBvciBlcnJvcgorICovCitzdGF0aWMgeG1sUmVsYXhOR1ZhbGlkU3RhdGVQdHIKK3htbFJlbGF4TkdDb3B5VmFsaWRTdGF0ZSh4bWxSZWxheE5HVmFsaWRDdHh0UHRyIGN0eHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgeG1sUmVsYXhOR1ZhbGlkU3RhdGVQdHIgc3RhdGUpCit7CisgICAgeG1sUmVsYXhOR1ZhbGlkU3RhdGVQdHIgcmV0OworICAgIHVuc2lnbmVkIGludCBtYXhBdHRyczsKKyAgICB4bWxBdHRyUHRyICphdHRyczsKKworICAgIGlmIChzdGF0ZSA9PSBOVUxMKQorICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIGlmICgoY3R4dC0+ZnJlZVN0YXRlICE9IE5VTEwpICYmIChjdHh0LT5mcmVlU3RhdGUtPm5iU3RhdGUgPiAwKSkgeworICAgICAgICBjdHh0LT5mcmVlU3RhdGUtPm5iU3RhdGUtLTsKKyAgICAgICAgcmV0ID0gY3R4dC0+ZnJlZVN0YXRlLT50YWJTdGF0ZVtjdHh0LT5mcmVlU3RhdGUtPm5iU3RhdGVdOworICAgIH0gZWxzZSB7CisgICAgICAgIHJldCA9CisgICAgICAgICAgICAoeG1sUmVsYXhOR1ZhbGlkU3RhdGVQdHIpCisgICAgICAgICAgICB4bWxNYWxsb2Moc2l6ZW9mKHhtbFJlbGF4TkdWYWxpZFN0YXRlKSk7CisgICAgICAgIGlmIChyZXQgPT0gTlVMTCkgeworICAgICAgICAgICAgeG1sUm5nVkVyck1lbW9yeShjdHh0LCAiYWxsb2NhdGluZyBzdGF0ZXNcbiIpOworICAgICAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICAgICAgfQorICAgICAgICBtZW1zZXQocmV0LCAwLCBzaXplb2YoeG1sUmVsYXhOR1ZhbGlkU3RhdGUpKTsKKyAgICB9CisgICAgYXR0cnMgPSByZXQtPmF0dHJzOworICAgIG1heEF0dHJzID0gcmV0LT5tYXhBdHRyczsKKyAgICBtZW1jcHkocmV0LCBzdGF0ZSwgc2l6ZW9mKHhtbFJlbGF4TkdWYWxpZFN0YXRlKSk7CisgICAgcmV0LT5hdHRycyA9IGF0dHJzOworICAgIHJldC0+bWF4QXR0cnMgPSBtYXhBdHRyczsKKyAgICBpZiAoc3RhdGUtPm5iQXR0cnMgPiAwKSB7CisgICAgICAgIGlmIChyZXQtPmF0dHJzID09IE5VTEwpIHsKKyAgICAgICAgICAgIHJldC0+bWF4QXR0cnMgPSBzdGF0ZS0+bWF4QXR0cnM7CisgICAgICAgICAgICByZXQtPmF0dHJzID0gKHhtbEF0dHJQdHIgKikgeG1sTWFsbG9jKHJldC0+bWF4QXR0cnMgKgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoeG1sQXR0clB0cikpOworICAgICAgICAgICAgaWYgKHJldC0+YXR0cnMgPT0gTlVMTCkgeworICAgICAgICAgICAgICAgIHhtbFJuZ1ZFcnJNZW1vcnkoY3R4dCwgImFsbG9jYXRpbmcgc3RhdGVzXG4iKTsKKyAgICAgICAgICAgICAgICByZXQtPm5iQXR0cnMgPSAwOworICAgICAgICAgICAgICAgIHJldHVybiAocmV0KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIGlmIChyZXQtPm1heEF0dHJzIDwgc3RhdGUtPm5iQXR0cnMpIHsKKyAgICAgICAgICAgIHhtbEF0dHJQdHIgKnRtcDsKKworICAgICAgICAgICAgdG1wID0gKHhtbEF0dHJQdHIgKikgeG1sUmVhbGxvYyhyZXQtPmF0dHJzLCBzdGF0ZS0+bWF4QXR0cnMgKgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoeG1sQXR0clB0cikpOworICAgICAgICAgICAgaWYgKHRtcCA9PSBOVUxMKSB7CisgICAgICAgICAgICAgICAgeG1sUm5nVkVyck1lbW9yeShjdHh0LCAiYWxsb2NhdGluZyBzdGF0ZXNcbiIpOworICAgICAgICAgICAgICAgIHJldC0+bmJBdHRycyA9IDA7CisgICAgICAgICAgICAgICAgcmV0dXJuIChyZXQpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgcmV0LT5tYXhBdHRycyA9IHN0YXRlLT5tYXhBdHRyczsKKyAgICAgICAgICAgIHJldC0+YXR0cnMgPSB0bXA7CisgICAgICAgIH0KKyAgICAgICAgbWVtY3B5KHJldC0+YXR0cnMsIHN0YXRlLT5hdHRycywKKyAgICAgICAgICAgICAgIHN0YXRlLT5uYkF0dHJzICogc2l6ZW9mKHhtbEF0dHJQdHIpKTsKKyAgICB9CisgICAgcmV0dXJuIChyZXQpOworfQorCisvKioKKyAqIHhtbFJlbGF4TkdFcXVhbFZhbGlkU3RhdGU6CisgKiBAY3R4dDogIGEgUmVsYXgtTkcgdmFsaWRhdGlvbiBjb250ZXh0CisgKiBAc3RhdGUxOiAgYSB2YWxpZGF0aW9uIHN0YXRlCisgKiBAc3RhdGUyOiAgYSB2YWxpZGF0aW9uIHN0YXRlCisgKgorICogQ29tcGFyZSB0aGUgdmFsaWRhdGlvbiBzdGF0ZXMgZm9yIGVxdWFsaXR5CisgKgorICogUmV0dXJucyAxIGlmIGVxdWFsZCwgMCBvdGhlcndpc2UKKyAqLworc3RhdGljIGludAoreG1sUmVsYXhOR0VxdWFsVmFsaWRTdGF0ZSh4bWxSZWxheE5HVmFsaWRDdHh0UHRyIGN0eHQgQVRUUklCVVRFX1VOVVNFRCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sUmVsYXhOR1ZhbGlkU3RhdGVQdHIgc3RhdGUxLAorICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxSZWxheE5HVmFsaWRTdGF0ZVB0ciBzdGF0ZTIpCit7CisgICAgaW50IGk7CisKKyAgICBpZiAoKHN0YXRlMSA9PSBOVUxMKSB8fCAoc3RhdGUyID09IE5VTEwpKQorICAgICAgICByZXR1cm4gKDApOworICAgIGlmIChzdGF0ZTEgPT0gc3RhdGUyKQorICAgICAgICByZXR1cm4gKDEpOworICAgIGlmIChzdGF0ZTEtPm5vZGUgIT0gc3RhdGUyLT5ub2RlKQorICAgICAgICByZXR1cm4gKDApOworICAgIGlmIChzdGF0ZTEtPnNlcSAhPSBzdGF0ZTItPnNlcSkKKyAgICAgICAgcmV0dXJuICgwKTsKKyAgICBpZiAoc3RhdGUxLT5uYkF0dHJMZWZ0ICE9IHN0YXRlMi0+bmJBdHRyTGVmdCkKKyAgICAgICAgcmV0dXJuICgwKTsKKyAgICBpZiAoc3RhdGUxLT5uYkF0dHJzICE9IHN0YXRlMi0+bmJBdHRycykKKyAgICAgICAgcmV0dXJuICgwKTsKKyAgICBpZiAoc3RhdGUxLT5lbmR2YWx1ZSAhPSBzdGF0ZTItPmVuZHZhbHVlKQorICAgICAgICByZXR1cm4gKDApOworICAgIGlmICgoc3RhdGUxLT52YWx1ZSAhPSBzdGF0ZTItPnZhbHVlKSAmJgorICAgICAgICAoIXhtbFN0ckVxdWFsKHN0YXRlMS0+dmFsdWUsIHN0YXRlMi0+dmFsdWUpKSkKKyAgICAgICAgcmV0dXJuICgwKTsKKyAgICBmb3IgKGkgPSAwOyBpIDwgc3RhdGUxLT5uYkF0dHJzOyBpKyspIHsKKyAgICAgICAgaWYgKHN0YXRlMS0+YXR0cnNbaV0gIT0gc3RhdGUyLT5hdHRyc1tpXSkKKyAgICAgICAgICAgIHJldHVybiAoMCk7CisgICAgfQorICAgIHJldHVybiAoMSk7Cit9CisKKy8qKgorICogeG1sUmVsYXhOR0ZyZWVWYWxpZFN0YXRlOgorICogQHN0YXRlOiAgYSB2YWxpZGF0aW9uIHN0YXRlIHN0cnVjdHVyZQorICoKKyAqIERlYWxsb2NhdGUgYSBSZWxheE5HIHZhbGlkYXRpb24gc3RhdGUgc3RydWN0dXJlLgorICovCitzdGF0aWMgdm9pZAoreG1sUmVsYXhOR0ZyZWVWYWxpZFN0YXRlKHhtbFJlbGF4TkdWYWxpZEN0eHRQdHIgY3R4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICB4bWxSZWxheE5HVmFsaWRTdGF0ZVB0ciBzdGF0ZSkKK3sKKyAgICBpZiAoc3RhdGUgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKChjdHh0ICE9IE5VTEwpICYmIChjdHh0LT5mcmVlU3RhdGUgPT0gTlVMTCkpIHsKKyAgICAgICAgY3R4dC0+ZnJlZVN0YXRlID0geG1sUmVsYXhOR05ld1N0YXRlcyhjdHh0LCA0MCk7CisgICAgfQorICAgIGlmICgoY3R4dCA9PSBOVUxMKSB8fCAoY3R4dC0+ZnJlZVN0YXRlID09IE5VTEwpKSB7CisgICAgICAgIGlmIChzdGF0ZS0+YXR0cnMgIT0gTlVMTCkKKyAgICAgICAgICAgIHhtbEZyZWUoc3RhdGUtPmF0dHJzKTsKKyAgICAgICAgeG1sRnJlZShzdGF0ZSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgeG1sUmVsYXhOR0FkZFN0YXRlc1VuaXEoY3R4dCwgY3R4dC0+ZnJlZVN0YXRlLCBzdGF0ZSk7CisgICAgfQorfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQkJU2VtaSBpbnRlcm5hbCBmdW5jdGlvbnMJCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioKKyAqIHhtbFJlbGF4UGFyc2VyU2V0RmxhZzoKKyAqIEBjdHh0OiBhIFJlbGF4TkcgcGFyc2VyIGNvbnRleHQKKyAqIEBmbGFnczogYSBzZXQgb2YgZmxhZ3MgdmFsdWVzCisgKgorICogU2VtaSBwcml2YXRlIGZ1bmN0aW9uIHVzZWQgdG8gcGFzcyBpbmZvcm1hdGlvbnMgdG8gYSBwYXJzZXIgY29udGV4dAorICogd2hpY2ggYXJlIGEgY29tYmluYXRpb24gb2YgeG1sUmVsYXhOR1BhcnNlckZsYWcgLgorICoKKyAqIFJldHVybnMgMCBpZiBzdWNjZXNzIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK2ludAoreG1sUmVsYXhQYXJzZXJTZXRGbGFnKHhtbFJlbGF4TkdQYXJzZXJDdHh0UHRyIGN0eHQsIGludCBmbGFncykKK3sKKyAgICBpZiAoY3R4dCA9PSBOVUxMKSByZXR1cm4oLTEpOworICAgIGlmIChmbGFncyAmIFhNTF9SRUxBWE5HUF9GUkVFX0RPQykgeworICAgICAgICBjdHh0LT5jcm5nIHw9IFhNTF9SRUxBWE5HUF9GUkVFX0RPQzsKKwlmbGFncyAtPSBYTUxfUkVMQVhOR1BfRlJFRV9ET0M7CisgICAgfQorICAgIGlmIChmbGFncyAmIFhNTF9SRUxBWE5HUF9DUk5HKSB7CisgICAgICAgIGN0eHQtPmNybmcgfD0gWE1MX1JFTEFYTkdQX0NSTkc7CisJZmxhZ3MgLT0gWE1MX1JFTEFYTkdQX0NSTkc7CisgICAgfQorICAgIGlmIChmbGFncyAhPSAwKSByZXR1cm4oLTEpOworICAgIHJldHVybigwKTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJCURvY3VtZW50IGZ1bmN0aW9ucwkJCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgeG1sRG9jUHRyIHhtbFJlbGF4TkdDbGVhbnVwRG9jKHhtbFJlbGF4TkdQYXJzZXJDdHh0UHRyIGN0eHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbERvY1B0ciBkb2MpOworCisvKioKKyAqIHhtbFJlbGF4TkdJbmNsdWRlUHVzaDoKKyAqIEBjdHh0OiAgdGhlIHBhcnNlciBjb250ZXh0CisgKiBAdmFsdWU6ICB0aGUgZWxlbWVudCBkb2MKKyAqCisgKiBQdXNoZXMgYSBuZXcgaW5jbHVkZSBvbiB0b3Agb2YgdGhlIGluY2x1ZGUgc3RhY2sKKyAqCisgKiBSZXR1cm5zIDAgaW4gY2FzZSBvZiBlcnJvciwgdGhlIGluZGV4IGluIHRoZSBzdGFjayBvdGhlcndpc2UKKyAqLworc3RhdGljIGludAoreG1sUmVsYXhOR0luY2x1ZGVQdXNoKHhtbFJlbGF4TkdQYXJzZXJDdHh0UHRyIGN0eHQsCisgICAgICAgICAgICAgICAgICAgICAgeG1sUmVsYXhOR0luY2x1ZGVQdHIgdmFsdWUpCit7CisgICAgaWYgKGN0eHQtPmluY1RhYiA9PSBOVUxMKSB7CisgICAgICAgIGN0eHQtPmluY01heCA9IDQ7CisgICAgICAgIGN0eHQtPmluY05yID0gMDsKKyAgICAgICAgY3R4dC0+aW5jVGFiID0KKyAgICAgICAgICAgICh4bWxSZWxheE5HSW5jbHVkZVB0ciAqKSB4bWxNYWxsb2MoY3R4dC0+aW5jTWF4ICoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKGN0eHQtPmluY1RhYlswXSkpOworICAgICAgICBpZiAoY3R4dC0+aW5jVGFiID09IE5VTEwpIHsKKyAgICAgICAgICAgIHhtbFJuZ1BFcnJNZW1vcnkoY3R4dCwgImFsbG9jYXRpbmcgaW5jbHVkZVxuIik7CisgICAgICAgICAgICByZXR1cm4gKDApOworICAgICAgICB9CisgICAgfQorICAgIGlmIChjdHh0LT5pbmNOciA+PSBjdHh0LT5pbmNNYXgpIHsKKyAgICAgICAgY3R4dC0+aW5jTWF4ICo9IDI7CisgICAgICAgIGN0eHQtPmluY1RhYiA9CisgICAgICAgICAgICAoeG1sUmVsYXhOR0luY2x1ZGVQdHIgKikgeG1sUmVhbGxvYyhjdHh0LT5pbmNUYWIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdHh0LT5pbmNNYXggKgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKGN0eHQtPmluY1RhYlswXSkpOworICAgICAgICBpZiAoY3R4dC0+aW5jVGFiID09IE5VTEwpIHsKKyAgICAgICAgICAgIHhtbFJuZ1BFcnJNZW1vcnkoY3R4dCwgImFsbG9jYXRpbmcgaW5jbHVkZVxuIik7CisgICAgICAgICAgICByZXR1cm4gKDApOworICAgICAgICB9CisgICAgfQorICAgIGN0eHQtPmluY1RhYltjdHh0LT5pbmNOcl0gPSB2YWx1ZTsKKyAgICBjdHh0LT5pbmMgPSB2YWx1ZTsKKyAgICByZXR1cm4gKGN0eHQtPmluY05yKyspOworfQorCisvKioKKyAqIHhtbFJlbGF4TkdJbmNsdWRlUG9wOgorICogQGN0eHQ6IHRoZSBwYXJzZXIgY29udGV4dAorICoKKyAqIFBvcHMgdGhlIHRvcCBpbmNsdWRlIGZyb20gdGhlIGluY2x1ZGUgc3RhY2sKKyAqCisgKiBSZXR1cm5zIHRoZSBpbmNsdWRlIGp1c3QgcmVtb3ZlZAorICovCitzdGF0aWMgeG1sUmVsYXhOR0luY2x1ZGVQdHIKK3htbFJlbGF4TkdJbmNsdWRlUG9wKHhtbFJlbGF4TkdQYXJzZXJDdHh0UHRyIGN0eHQpCit7CisgICAgeG1sUmVsYXhOR0luY2x1ZGVQdHIgcmV0OworCisgICAgaWYgKGN0eHQtPmluY05yIDw9IDApCisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgY3R4dC0+aW5jTnItLTsKKyAgICBpZiAoY3R4dC0+aW5jTnIgPiAwKQorICAgICAgICBjdHh0LT5pbmMgPSBjdHh0LT5pbmNUYWJbY3R4dC0+aW5jTnIgLSAxXTsKKyAgICBlbHNlCisgICAgICAgIGN0eHQtPmluYyA9IE5VTEw7CisgICAgcmV0ID0gY3R4dC0+aW5jVGFiW2N0eHQtPmluY05yXTsKKyAgICBjdHh0LT5pbmNUYWJbY3R4dC0+aW5jTnJdID0gTlVMTDsKKyAgICByZXR1cm4gKHJldCk7Cit9CisKKy8qKgorICogeG1sUmVsYXhOR1JlbW92ZVJlZGVmaW5lOgorICogQGN0eHQ6IHRoZSBwYXJzZXIgY29udGV4dAorICogQFVSTDogIHRoZSBub3JtYWxpemVkIFVSTAorICogQHRhcmdldDogIHRoZSBpbmNsdWRlZCB0YXJnZXQKKyAqIEBuYW1lOiAgdGhlIGRlZmluZSBuYW1lIHRvIGVsaW1pbmF0ZQorICoKKyAqIEFwcGxpZXMgdGhlIGVsaW1pbmF0aW9uIGFsZ29yaXRobSBvZiA0LjcKKyAqCisgKiBSZXR1cm5zIDAgaW4gY2FzZSBvZiBlcnJvciwgMSBpbiBjYXNlIG9mIHN1Y2Nlc3MuCisgKi8KK3N0YXRpYyBpbnQKK3htbFJlbGF4TkdSZW1vdmVSZWRlZmluZSh4bWxSZWxheE5HUGFyc2VyQ3R4dFB0ciBjdHh0LAorICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBVUkwgQVRUUklCVVRFX1VOVVNFRCwKKyAgICAgICAgICAgICAgICAgICAgICAgICB4bWxOb2RlUHRyIHRhcmdldCwgY29uc3QgeG1sQ2hhciAqIG5hbWUpCit7CisgICAgaW50IGZvdW5kID0gMDsKKyAgICB4bWxOb2RlUHRyIHRtcCwgdG1wMjsKKyAgICB4bWxDaGFyICpuYW1lMjsKKworI2lmZGVmIERFQlVHX0lOQ0xVREUKKyAgICBpZiAobmFtZSA9PSBOVUxMKQorICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJFbGltaW5hdGlvbiBvZiA8aW5jbHVkZT4gc3RhcnQgZnJvbSAlc1xuIiwgVVJMKTsKKyAgICBlbHNlCisgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgIkVsaW1pbmF0aW9uIG9mIDxpbmNsdWRlPiBkZWZpbmUgJXMgZnJvbSAlc1xuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUsIFVSTCk7CisjZW5kaWYKKyAgICB0bXAgPSB0YXJnZXQ7CisgICAgd2hpbGUgKHRtcCAhPSBOVUxMKSB7CisgICAgICAgIHRtcDIgPSB0bXAtPm5leHQ7CisgICAgICAgIGlmICgobmFtZSA9PSBOVUxMKSAmJiAoSVNfUkVMQVhORyh0bXAsICJzdGFydCIpKSkgeworICAgICAgICAgICAgZm91bmQgPSAxOworICAgICAgICAgICAgeG1sVW5saW5rTm9kZSh0bXApOworICAgICAgICAgICAgeG1sRnJlZU5vZGUodG1wKTsKKyAgICAgICAgfSBlbHNlIGlmICgobmFtZSAhPSBOVUxMKSAmJiAoSVNfUkVMQVhORyh0bXAsICJkZWZpbmUiKSkpIHsKKyAgICAgICAgICAgIG5hbWUyID0geG1sR2V0UHJvcCh0bXAsIEJBRF9DQVNUICJuYW1lIik7CisgICAgICAgICAgICB4bWxSZWxheE5HTm9ybUV4dFNwYWNlKG5hbWUyKTsKKyAgICAgICAgICAgIGlmIChuYW1lMiAhPSBOVUxMKSB7CisgICAgICAgICAgICAgICAgaWYgKHhtbFN0ckVxdWFsKG5hbWUsIG5hbWUyKSkgeworICAgICAgICAgICAgICAgICAgICBmb3VuZCA9IDE7CisgICAgICAgICAgICAgICAgICAgIHhtbFVubGlua05vZGUodG1wKTsKKyAgICAgICAgICAgICAgICAgICAgeG1sRnJlZU5vZGUodG1wKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgeG1sRnJlZShuYW1lMik7CisgICAgICAgICAgICB9CisgICAgICAgIH0gZWxzZSBpZiAoSVNfUkVMQVhORyh0bXAsICJpbmNsdWRlIikpIHsKKyAgICAgICAgICAgIHhtbENoYXIgKmhyZWYgPSBOVUxMOworICAgICAgICAgICAgeG1sUmVsYXhOR0RvY3VtZW50UHRyIGluYyA9IHRtcC0+cHN2aTsKKworICAgICAgICAgICAgaWYgKChpbmMgIT0gTlVMTCkgJiYgKGluYy0+ZG9jICE9IE5VTEwpICYmCisgICAgICAgICAgICAgICAgKGluYy0+ZG9jLT5jaGlsZHJlbiAhPSBOVUxMKSkgeworCisgICAgICAgICAgICAgICAgaWYgKHhtbFN0ckVxdWFsCisgICAgICAgICAgICAgICAgICAgIChpbmMtPmRvYy0+Y2hpbGRyZW4tPm5hbWUsIEJBRF9DQVNUICJncmFtbWFyIikpIHsKKyNpZmRlZiBERUJVR19JTkNMVURFCisgICAgICAgICAgICAgICAgICAgIGhyZWYgPSB4bWxHZXRQcm9wKHRtcCwgQkFEX0NBU1QgImhyZWYiKTsKKyNlbmRpZgorICAgICAgICAgICAgICAgICAgICBpZiAoeG1sUmVsYXhOR1JlbW92ZVJlZGVmaW5lKGN0eHQsIGhyZWYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sRG9jR2V0Um9vdEVsZW1lbnQoaW5jLT5kb2MpLT5jaGlsZHJlbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lKSA9PSAxKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBmb3VuZCA9IDE7CisgICAgICAgICAgICAgICAgICAgIH0KKyNpZmRlZiBERUJVR19JTkNMVURFCisgICAgICAgICAgICAgICAgICAgIGlmIChocmVmICE9IE5VTEwpCisgICAgICAgICAgICAgICAgICAgICAgICB4bWxGcmVlKGhyZWYpOworI2VuZGlmCisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIHRtcCA9IHRtcDI7CisgICAgfQorICAgIHJldHVybiAoZm91bmQpOworfQorCisvKioKKyAqIHhtbFJlbGF4TkdMb2FkSW5jbHVkZToKKyAqIEBjdHh0OiB0aGUgcGFyc2VyIGNvbnRleHQKKyAqIEBVUkw6ICB0aGUgbm9ybWFsaXplZCBVUkwKKyAqIEBub2RlOiB0aGUgaW5jbHVkZSBub2RlLgorICogQG5zOiAgdGhlIG5hbWVzcGFjZSBwYXNzZWQgZnJvbSB0aGUgY29udGV4dC4KKyAqCisgKiBGaXJzdCBsb29rdXAgaWYgdGhlIGRvY3VtZW50IGlzIGFscmVhZHkgbG9hZGVkIGludG8gdGhlIHBhcnNlciBjb250ZXh0LAorICogY2hlY2sgYWdhaW5zdCByZWN1cnNpb24uIElmIG5vdCBmb3VuZCB0aGUgcmVzb3VyY2UgaXMgbG9hZGVkIGFuZAorICogdGhlIGNvbnRlbnQgaXMgcHJlcHJvY2Vzc2VkIGJlZm9yZSBiZWluZyByZXR1cm5lZCBiYWNrIHRvIHRoZSBjYWxsZXIuCisgKgorICogUmV0dXJucyB0aGUgeG1sUmVsYXhOR0luY2x1ZGVQdHIgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3N0YXRpYyB4bWxSZWxheE5HSW5jbHVkZVB0cgoreG1sUmVsYXhOR0xvYWRJbmNsdWRlKHhtbFJlbGF4TkdQYXJzZXJDdHh0UHRyIGN0eHQsIGNvbnN0IHhtbENoYXIgKiBVUkwsCisgICAgICAgICAgICAgICAgICAgICAgeG1sTm9kZVB0ciBub2RlLCBjb25zdCB4bWxDaGFyICogbnMpCit7CisgICAgeG1sUmVsYXhOR0luY2x1ZGVQdHIgcmV0ID0gTlVMTDsKKyAgICB4bWxEb2NQdHIgZG9jOworICAgIGludCBpOworICAgIHhtbE5vZGVQdHIgcm9vdCwgY3VyOworCisjaWZkZWYgREVCVUdfSU5DTFVERQorICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAieG1sUmVsYXhOR0xvYWRJbmNsdWRlKCVzKVxuIiwgVVJMKTsKKyNlbmRpZgorCisgICAgLyoKKyAgICAgKiBjaGVjayBhZ2FpbnN0IHJlY3Vyc2lvbiBpbiB0aGUgc3RhY2sKKyAgICAgKi8KKyAgICBmb3IgKGkgPSAwOyBpIDwgY3R4dC0+aW5jTnI7IGkrKykgeworICAgICAgICBpZiAoeG1sU3RyRXF1YWwoY3R4dC0+aW5jVGFiW2ldLT5ocmVmLCBVUkwpKSB7CisgICAgICAgICAgICB4bWxSbmdQRXJyKGN0eHQsIE5VTEwsIFhNTF9STkdQX0lOQ0xVREVfUkVDVVJTRSwKKyAgICAgICAgICAgICAgICAgICAgICAgIkRldGVjdGVkIGFuIEluY2x1ZGUgcmVjdXJzaW9uIGZvciAlc1xuIiwgVVJMLAorICAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsKKyAgICAgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICAvKgorICAgICAqIGxvYWQgdGhlIGRvY3VtZW50CisgICAgICovCisgICAgZG9jID0geG1sUmVhZEZpbGUoKGNvbnN0IGNoYXIgKikgVVJMLE5VTEwsMCk7CisgICAgaWYgKGRvYyA9PSBOVUxMKSB7CisgICAgICAgIHhtbFJuZ1BFcnIoY3R4dCwgbm9kZSwgWE1MX1JOR1BfUEFSU0VfRVJST1IsCisgICAgICAgICAgICAgICAgICAgInhtbFJlbGF4Tkc6IGNvdWxkIG5vdCBsb2FkICVzXG4iLCBVUkwsIE5VTEwpOworICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIH0KKyNpZmRlZiBERUJVR19JTkNMVURFCisgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICJQYXJzZWQgJXMgT2theVxuIiwgVVJMKTsKKyNlbmRpZgorCisgICAgLyoKKyAgICAgKiBBbGxvY2F0ZSB0aGUgZG9jdW1lbnQgc3RydWN0dXJlcyBhbmQgcmVnaXN0ZXIgaXQgZmlyc3QuCisgICAgICovCisgICAgcmV0ID0gKHhtbFJlbGF4TkdJbmNsdWRlUHRyKSB4bWxNYWxsb2Moc2l6ZW9mKHhtbFJlbGF4TkdJbmNsdWRlKSk7CisgICAgaWYgKHJldCA9PSBOVUxMKSB7CisgICAgICAgIHhtbFJuZ1BFcnJNZW1vcnkoY3R4dCwgImFsbG9jYXRpbmcgaW5jbHVkZVxuIik7CisgICAgICAgIHhtbEZyZWVEb2MoZG9jKTsKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICB9CisgICAgbWVtc2V0KHJldCwgMCwgc2l6ZW9mKHhtbFJlbGF4TkdJbmNsdWRlKSk7CisgICAgcmV0LT5kb2MgPSBkb2M7CisgICAgcmV0LT5ocmVmID0geG1sU3RyZHVwKFVSTCk7CisgICAgcmV0LT5uZXh0ID0gY3R4dC0+aW5jbHVkZXM7CisgICAgY3R4dC0+aW5jbHVkZXMgPSByZXQ7CisKKyAgICAvKgorICAgICAqIHRyYW5zbWl0IHRoZSBucyBpZiBuZWVkZWQKKyAgICAgKi8KKyAgICBpZiAobnMgIT0gTlVMTCkgeworICAgICAgICByb290ID0geG1sRG9jR2V0Um9vdEVsZW1lbnQoZG9jKTsKKyAgICAgICAgaWYgKHJvb3QgIT0gTlVMTCkgeworICAgICAgICAgICAgaWYgKHhtbEhhc1Byb3Aocm9vdCwgQkFEX0NBU1QgIm5zIikgPT0gTlVMTCkgeworICAgICAgICAgICAgICAgIHhtbFNldFByb3Aocm9vdCwgQkFEX0NBU1QgIm5zIiwgbnMpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorCisgICAgLyoKKyAgICAgKiBwdXNoIGl0IG9uIHRoZSBzdGFjaworICAgICAqLworICAgIHhtbFJlbGF4TkdJbmNsdWRlUHVzaChjdHh0LCByZXQpOworCisgICAgLyoKKyAgICAgKiBTb21lIHByZXByb2Nlc3Npbmcgb2YgdGhlIGRvY3VtZW50IGNvbnRlbnQsIHRoaXMgaW5jbHVkZSByZWN1cnNpbmcKKyAgICAgKiBpbiB0aGUgaW5jbHVkZSBzdGFjay4KKyAgICAgKi8KKyNpZmRlZiBERUJVR19JTkNMVURFCisgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICJjbGVhbnVwIG9mICVzXG4iLCBVUkwpOworI2VuZGlmCisKKyAgICBkb2MgPSB4bWxSZWxheE5HQ2xlYW51cERvYyhjdHh0LCBkb2MpOworICAgIGlmIChkb2MgPT0gTlVMTCkgeworICAgICAgICBjdHh0LT5pbmMgPSBOVUxMOworICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIH0KKworICAgIC8qCisgICAgICogUG9wIHVwIHRoZSBpbmNsdWRlIGZyb20gdGhlIHN0YWNrCisgICAgICovCisgICAgeG1sUmVsYXhOR0luY2x1ZGVQb3AoY3R4dCk7CisKKyNpZmRlZiBERUJVR19JTkNMVURFCisgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICJDaGVja2luZyBvZiAlc1xuIiwgVVJMKTsKKyNlbmRpZgorICAgIC8qCisgICAgICogQ2hlY2sgdGhhdCB0aGUgdG9wIGVsZW1lbnQgaXMgYSBncmFtbWFyCisgICAgICovCisgICAgcm9vdCA9IHhtbERvY0dldFJvb3RFbGVtZW50KGRvYyk7CisgICAgaWYgKHJvb3QgPT0gTlVMTCkgeworICAgICAgICB4bWxSbmdQRXJyKGN0eHQsIG5vZGUsIFhNTF9STkdQX0VNUFRZLAorICAgICAgICAgICAgICAgICAgICJ4bWxSZWxheE5HOiBpbmNsdWRlZCBkb2N1bWVudCBpcyBlbXB0eSAlc1xuIiwgVVJMLAorICAgICAgICAgICAgICAgICAgIE5VTEwpOworICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIH0KKyAgICBpZiAoIUlTX1JFTEFYTkcocm9vdCwgImdyYW1tYXIiKSkgeworICAgICAgICB4bWxSbmdQRXJyKGN0eHQsIG5vZGUsIFhNTF9STkdQX0dSQU1NQVJfTUlTU0lORywKKyAgICAgICAgICAgICAgICAgICAieG1sUmVsYXhORzogaW5jbHVkZWQgZG9jdW1lbnQgJXMgcm9vdCBpcyBub3QgYSBncmFtbWFyXG4iLAorICAgICAgICAgICAgICAgICAgIFVSTCwgTlVMTCk7CisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgfQorCisgICAgLyoKKyAgICAgKiBFbGltaW5hdGlvbiBvZiByZWRlZmluZWQgcnVsZXMgaW4gdGhlIGluY2x1ZGUuCisgICAgICovCisgICAgY3VyID0gbm9kZS0+Y2hpbGRyZW47CisgICAgd2hpbGUgKGN1ciAhPSBOVUxMKSB7CisgICAgICAgIGlmIChJU19SRUxBWE5HKGN1ciwgInN0YXJ0IikpIHsKKyAgICAgICAgICAgIGludCBmb3VuZCA9IDA7CisKKyAgICAgICAgICAgIGZvdW5kID0KKyAgICAgICAgICAgICAgICB4bWxSZWxheE5HUmVtb3ZlUmVkZWZpbmUoY3R4dCwgVVJMLCByb290LT5jaGlsZHJlbiwgTlVMTCk7CisgICAgICAgICAgICBpZiAoIWZvdW5kKSB7CisgICAgICAgICAgICAgICAgeG1sUm5nUEVycihjdHh0LCBub2RlLCBYTUxfUk5HUF9TVEFSVF9NSVNTSU5HLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgInhtbFJlbGF4Tkc6IGluY2x1ZGUgJXMgaGFzIGEgc3RhcnQgYnV0IG5vdCB0aGUgaW5jbHVkZWQgZ3JhbW1hclxuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIFVSTCwgTlVMTCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0gZWxzZSBpZiAoSVNfUkVMQVhORyhjdXIsICJkZWZpbmUiKSkgeworICAgICAgICAgICAgeG1sQ2hhciAqbmFtZTsKKworICAgICAgICAgICAgbmFtZSA9IHhtbEdldFByb3AoY3VyLCBCQURfQ0FTVCAibmFtZSIpOworICAgICAgICAgICAgaWYgKG5hbWUgPT0gTlVMTCkgeworICAgICAgICAgICAgICAgIHhtbFJuZ1BFcnIoY3R4dCwgbm9kZSwgWE1MX1JOR1BfTkFNRV9NSVNTSU5HLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgInhtbFJlbGF4Tkc6IGluY2x1ZGUgJXMgaGFzIGRlZmluZSB3aXRob3V0IG5hbWVcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBVUkwsIE5VTEwpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBpbnQgZm91bmQ7CisKKyAgICAgICAgICAgICAgICB4bWxSZWxheE5HTm9ybUV4dFNwYWNlKG5hbWUpOworICAgICAgICAgICAgICAgIGZvdW5kID0geG1sUmVsYXhOR1JlbW92ZVJlZGVmaW5lKGN0eHQsIFVSTCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb290LT5jaGlsZHJlbiwgbmFtZSk7CisgICAgICAgICAgICAgICAgaWYgKCFmb3VuZCkgeworICAgICAgICAgICAgICAgICAgICB4bWxSbmdQRXJyKGN0eHQsIG5vZGUsIFhNTF9STkdQX0RFRklORV9NSVNTSU5HLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ4bWxSZWxheE5HOiBpbmNsdWRlICVzIGhhcyBhIGRlZmluZSAlcyBidXQgbm90IHRoZSBpbmNsdWRlZCBncmFtbWFyXG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVSTCwgbmFtZSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHhtbEZyZWUobmFtZSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgY3VyID0gY3VyLT5uZXh0OworICAgIH0KKworCisgICAgcmV0dXJuIChyZXQpOworfQorCisvKioKKyAqIHhtbFJlbGF4TkdWYWxpZEVycm9yUHVzaDoKKyAqIEBjdHh0OiAgdGhlIHZhbGlkYXRpb24gY29udGV4dAorICogQGVycjogIHRoZSBlcnJvciBjb2RlCisgKiBAYXJnMTogIHRoZSBmaXJzdCBzdHJpbmcgYXJndW1lbnQKKyAqIEBhcmcyOiAgdGhlIHNlY29uZCBzdHJpbmcgYXJndW1lbnQKKyAqIEBkdXA6ICBhcmcgbmVlZCB0byBiZSBkdXBsaWNhdGVkCisgKgorICogUHVzaGVzIGEgbmV3IGVycm9yIG9uIHRvcCBvZiB0aGUgZXJyb3Igc3RhY2sKKyAqCisgKiBSZXR1cm5zIDAgaW4gY2FzZSBvZiBlcnJvciwgdGhlIGluZGV4IGluIHRoZSBzdGFjayBvdGhlcndpc2UKKyAqLworc3RhdGljIGludAoreG1sUmVsYXhOR1ZhbGlkRXJyb3JQdXNoKHhtbFJlbGF4TkdWYWxpZEN0eHRQdHIgY3R4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICB4bWxSZWxheE5HVmFsaWRFcnIgZXJyLCBjb25zdCB4bWxDaGFyICogYXJnMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogYXJnMiwgaW50IGR1cCkKK3sKKyAgICB4bWxSZWxheE5HVmFsaWRFcnJvclB0ciBjdXI7CisKKyNpZmRlZiBERUJVR19FUlJPUgorICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAiUHVzaGluZyBlcnJvciAlZCBhdCAlZCBvbiBzdGFja1xuIiwgZXJyLCBjdHh0LT5lcnJOcik7CisjZW5kaWYKKyAgICBpZiAoY3R4dC0+ZXJyVGFiID09IE5VTEwpIHsKKyAgICAgICAgY3R4dC0+ZXJyTWF4ID0gODsKKyAgICAgICAgY3R4dC0+ZXJyTnIgPSAwOworICAgICAgICBjdHh0LT5lcnJUYWIgPQorICAgICAgICAgICAgKHhtbFJlbGF4TkdWYWxpZEVycm9yUHRyKSB4bWxNYWxsb2MoY3R4dC0+ZXJyTWF4ICoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHhtbFJlbGF4TkdWYWxpZEVycm9yKSk7CisgICAgICAgIGlmIChjdHh0LT5lcnJUYWIgPT0gTlVMTCkgeworICAgICAgICAgICAgeG1sUm5nVkVyck1lbW9yeShjdHh0LCAicHVzaGluZyBlcnJvclxuIik7CisgICAgICAgICAgICByZXR1cm4gKDApOworICAgICAgICB9CisgICAgICAgIGN0eHQtPmVyciA9IE5VTEw7CisgICAgfQorICAgIGlmIChjdHh0LT5lcnJOciA+PSBjdHh0LT5lcnJNYXgpIHsKKyAgICAgICAgY3R4dC0+ZXJyTWF4ICo9IDI7CisgICAgICAgIGN0eHQtPmVyclRhYiA9CisgICAgICAgICAgICAoeG1sUmVsYXhOR1ZhbGlkRXJyb3JQdHIpIHhtbFJlYWxsb2MoY3R4dC0+ZXJyVGFiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN0eHQtPmVyck1heCAqCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHhtbFJlbGF4TkdWYWxpZEVycm9yKSk7CisgICAgICAgIGlmIChjdHh0LT5lcnJUYWIgPT0gTlVMTCkgeworICAgICAgICAgICAgeG1sUm5nVkVyck1lbW9yeShjdHh0LCAicHVzaGluZyBlcnJvclxuIik7CisgICAgICAgICAgICByZXR1cm4gKDApOworICAgICAgICB9CisgICAgICAgIGN0eHQtPmVyciA9ICZjdHh0LT5lcnJUYWJbY3R4dC0+ZXJyTnIgLSAxXTsKKyAgICB9CisgICAgaWYgKChjdHh0LT5lcnIgIT0gTlVMTCkgJiYgKGN0eHQtPnN0YXRlICE9IE5VTEwpICYmCisgICAgICAgIChjdHh0LT5lcnItPm5vZGUgPT0gY3R4dC0+c3RhdGUtPm5vZGUpICYmIChjdHh0LT5lcnItPmVyciA9PSBlcnIpKQorICAgICAgICByZXR1cm4gKGN0eHQtPmVyck5yKTsKKyAgICBjdXIgPSAmY3R4dC0+ZXJyVGFiW2N0eHQtPmVyck5yXTsKKyAgICBjdXItPmVyciA9IGVycjsKKyAgICBpZiAoZHVwKSB7CisgICAgICAgIGN1ci0+YXJnMSA9IHhtbFN0cmR1cChhcmcxKTsKKyAgICAgICAgY3VyLT5hcmcyID0geG1sU3RyZHVwKGFyZzIpOworICAgICAgICBjdXItPmZsYWdzID0gRVJST1JfSVNfRFVQOworICAgIH0gZWxzZSB7CisgICAgICAgIGN1ci0+YXJnMSA9IGFyZzE7CisgICAgICAgIGN1ci0+YXJnMiA9IGFyZzI7CisgICAgICAgIGN1ci0+ZmxhZ3MgPSAwOworICAgIH0KKyAgICBpZiAoY3R4dC0+c3RhdGUgIT0gTlVMTCkgeworICAgICAgICBjdXItPm5vZGUgPSBjdHh0LT5zdGF0ZS0+bm9kZTsKKyAgICAgICAgY3VyLT5zZXEgPSBjdHh0LT5zdGF0ZS0+c2VxOworICAgIH0gZWxzZSB7CisgICAgICAgIGN1ci0+bm9kZSA9IE5VTEw7CisgICAgICAgIGN1ci0+c2VxID0gTlVMTDsKKyAgICB9CisgICAgY3R4dC0+ZXJyID0gY3VyOworICAgIHJldHVybiAoY3R4dC0+ZXJyTnIrKyk7Cit9CisKKy8qKgorICogeG1sUmVsYXhOR1ZhbGlkRXJyb3JQb3A6CisgKiBAY3R4dDogdGhlIHZhbGlkYXRpb24gY29udGV4dAorICoKKyAqIFBvcHMgdGhlIHRvcCBlcnJvciBmcm9tIHRoZSBlcnJvciBzdGFjaworICovCitzdGF0aWMgdm9pZAoreG1sUmVsYXhOR1ZhbGlkRXJyb3JQb3AoeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0ciBjdHh0KQoreworICAgIHhtbFJlbGF4TkdWYWxpZEVycm9yUHRyIGN1cjsKKworICAgIGlmIChjdHh0LT5lcnJOciA8PSAwKSB7CisgICAgICAgIGN0eHQtPmVyciA9IE5VTEw7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgY3R4dC0+ZXJyTnItLTsKKyAgICBpZiAoY3R4dC0+ZXJyTnIgPiAwKQorICAgICAgICBjdHh0LT5lcnIgPSAmY3R4dC0+ZXJyVGFiW2N0eHQtPmVyck5yIC0gMV07CisgICAgZWxzZQorICAgICAgICBjdHh0LT5lcnIgPSBOVUxMOworICAgIGN1ciA9ICZjdHh0LT5lcnJUYWJbY3R4dC0+ZXJyTnJdOworICAgIGlmIChjdXItPmZsYWdzICYgRVJST1JfSVNfRFVQKSB7CisgICAgICAgIGlmIChjdXItPmFyZzEgIT0gTlVMTCkKKyAgICAgICAgICAgIHhtbEZyZWUoKHhtbENoYXIgKikgY3VyLT5hcmcxKTsKKyAgICAgICAgY3VyLT5hcmcxID0gTlVMTDsKKyAgICAgICAgaWYgKGN1ci0+YXJnMiAhPSBOVUxMKQorICAgICAgICAgICAgeG1sRnJlZSgoeG1sQ2hhciAqKSBjdXItPmFyZzIpOworICAgICAgICBjdXItPmFyZzIgPSBOVUxMOworICAgICAgICBjdXItPmZsYWdzID0gMDsKKyAgICB9Cit9CisKKy8qKgorICogeG1sUmVsYXhOR0RvY3VtZW50UHVzaDoKKyAqIEBjdHh0OiAgdGhlIHBhcnNlciBjb250ZXh0CisgKiBAdmFsdWU6ICB0aGUgZWxlbWVudCBkb2MKKyAqCisgKiBQdXNoZXMgYSBuZXcgZG9jIG9uIHRvcCBvZiB0aGUgZG9jIHN0YWNrCisgKgorICogUmV0dXJucyAwIGluIGNhc2Ugb2YgZXJyb3IsIHRoZSBpbmRleCBpbiB0aGUgc3RhY2sgb3RoZXJ3aXNlCisgKi8KK3N0YXRpYyBpbnQKK3htbFJlbGF4TkdEb2N1bWVudFB1c2goeG1sUmVsYXhOR1BhcnNlckN0eHRQdHIgY3R4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgeG1sUmVsYXhOR0RvY3VtZW50UHRyIHZhbHVlKQoreworICAgIGlmIChjdHh0LT5kb2NUYWIgPT0gTlVMTCkgeworICAgICAgICBjdHh0LT5kb2NNYXggPSA0OworICAgICAgICBjdHh0LT5kb2NOciA9IDA7CisgICAgICAgIGN0eHQtPmRvY1RhYiA9CisgICAgICAgICAgICAoeG1sUmVsYXhOR0RvY3VtZW50UHRyICopIHhtbE1hbGxvYyhjdHh0LT5kb2NNYXggKgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKGN0eHQtPmRvY1RhYlswXSkpOworICAgICAgICBpZiAoY3R4dC0+ZG9jVGFiID09IE5VTEwpIHsKKyAgICAgICAgICAgIHhtbFJuZ1BFcnJNZW1vcnkoY3R4dCwgImFkZGluZyBkb2N1bWVudFxuIik7CisgICAgICAgICAgICByZXR1cm4gKDApOworICAgICAgICB9CisgICAgfQorICAgIGlmIChjdHh0LT5kb2NOciA+PSBjdHh0LT5kb2NNYXgpIHsKKyAgICAgICAgY3R4dC0+ZG9jTWF4ICo9IDI7CisgICAgICAgIGN0eHQtPmRvY1RhYiA9CisgICAgICAgICAgICAoeG1sUmVsYXhOR0RvY3VtZW50UHRyICopIHhtbFJlYWxsb2MoY3R4dC0+ZG9jVGFiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN0eHQtPmRvY01heCAqCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKGN0eHQtPmRvY1RhYlswXSkpOworICAgICAgICBpZiAoY3R4dC0+ZG9jVGFiID09IE5VTEwpIHsKKyAgICAgICAgICAgIHhtbFJuZ1BFcnJNZW1vcnkoY3R4dCwgImFkZGluZyBkb2N1bWVudFxuIik7CisgICAgICAgICAgICByZXR1cm4gKDApOworICAgICAgICB9CisgICAgfQorICAgIGN0eHQtPmRvY1RhYltjdHh0LT5kb2NOcl0gPSB2YWx1ZTsKKyAgICBjdHh0LT5kb2MgPSB2YWx1ZTsKKyAgICByZXR1cm4gKGN0eHQtPmRvY05yKyspOworfQorCisvKioKKyAqIHhtbFJlbGF4TkdEb2N1bWVudFBvcDoKKyAqIEBjdHh0OiB0aGUgcGFyc2VyIGNvbnRleHQKKyAqCisgKiBQb3BzIHRoZSB0b3AgZG9jIGZyb20gdGhlIGRvYyBzdGFjaworICoKKyAqIFJldHVybnMgdGhlIGRvYyBqdXN0IHJlbW92ZWQKKyAqLworc3RhdGljIHhtbFJlbGF4TkdEb2N1bWVudFB0cgoreG1sUmVsYXhOR0RvY3VtZW50UG9wKHhtbFJlbGF4TkdQYXJzZXJDdHh0UHRyIGN0eHQpCit7CisgICAgeG1sUmVsYXhOR0RvY3VtZW50UHRyIHJldDsKKworICAgIGlmIChjdHh0LT5kb2NOciA8PSAwKQorICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIGN0eHQtPmRvY05yLS07CisgICAgaWYgKGN0eHQtPmRvY05yID4gMCkKKyAgICAgICAgY3R4dC0+ZG9jID0gY3R4dC0+ZG9jVGFiW2N0eHQtPmRvY05yIC0gMV07CisgICAgZWxzZQorICAgICAgICBjdHh0LT5kb2MgPSBOVUxMOworICAgIHJldCA9IGN0eHQtPmRvY1RhYltjdHh0LT5kb2NOcl07CisgICAgY3R4dC0+ZG9jVGFiW2N0eHQtPmRvY05yXSA9IE5VTEw7CisgICAgcmV0dXJuIChyZXQpOworfQorCisvKioKKyAqIHhtbFJlbGF4TkdMb2FkRXh0ZXJuYWxSZWY6CisgKiBAY3R4dDogdGhlIHBhcnNlciBjb250ZXh0CisgKiBAVVJMOiAgdGhlIG5vcm1hbGl6ZWQgVVJMCisgKiBAbnM6ICB0aGUgaW5oZXJpdGVkIG5zIGlmIGFueQorICoKKyAqIEZpcnN0IGxvb2t1cCBpZiB0aGUgZG9jdW1lbnQgaXMgYWxyZWFkeSBsb2FkZWQgaW50byB0aGUgcGFyc2VyIGNvbnRleHQsCisgKiBjaGVjayBhZ2FpbnN0IHJlY3Vyc2lvbi4gSWYgbm90IGZvdW5kIHRoZSByZXNvdXJjZSBpcyBsb2FkZWQgYW5kCisgKiB0aGUgY29udGVudCBpcyBwcmVwcm9jZXNzZWQgYmVmb3JlIGJlaW5nIHJldHVybmVkIGJhY2sgdG8gdGhlIGNhbGxlci4KKyAqCisgKiBSZXR1cm5zIHRoZSB4bWxSZWxheE5HRG9jdW1lbnRQdHIgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3N0YXRpYyB4bWxSZWxheE5HRG9jdW1lbnRQdHIKK3htbFJlbGF4TkdMb2FkRXh0ZXJuYWxSZWYoeG1sUmVsYXhOR1BhcnNlckN0eHRQdHIgY3R4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIFVSTCwgY29uc3QgeG1sQ2hhciAqIG5zKQoreworICAgIHhtbFJlbGF4TkdEb2N1bWVudFB0ciByZXQgPSBOVUxMOworICAgIHhtbERvY1B0ciBkb2M7CisgICAgeG1sTm9kZVB0ciByb290OworICAgIGludCBpOworCisgICAgLyoKKyAgICAgKiBjaGVjayBhZ2FpbnN0IHJlY3Vyc2lvbiBpbiB0aGUgc3RhY2sKKyAgICAgKi8KKyAgICBmb3IgKGkgPSAwOyBpIDwgY3R4dC0+ZG9jTnI7IGkrKykgeworICAgICAgICBpZiAoeG1sU3RyRXF1YWwoY3R4dC0+ZG9jVGFiW2ldLT5ocmVmLCBVUkwpKSB7CisgICAgICAgICAgICB4bWxSbmdQRXJyKGN0eHQsIE5VTEwsIFhNTF9STkdQX0VYVEVSTkFMUkVGX1JFQ1VSU0UsCisgICAgICAgICAgICAgICAgICAgICAgICJEZXRlY3RlZCBhbiBleHRlcm5hbFJlZiByZWN1cnNpb24gZm9yICVzXG4iLCBVUkwsCisgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOworICAgICAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIC8qCisgICAgICogbG9hZCB0aGUgZG9jdW1lbnQKKyAgICAgKi8KKyAgICBkb2MgPSB4bWxSZWFkRmlsZSgoY29uc3QgY2hhciAqKSBVUkwsTlVMTCwwKTsKKyAgICBpZiAoZG9jID09IE5VTEwpIHsKKyAgICAgICAgeG1sUm5nUEVycihjdHh0LCBOVUxMLCBYTUxfUk5HUF9QQVJTRV9FUlJPUiwKKyAgICAgICAgICAgICAgICAgICAieG1sUmVsYXhORzogY291bGQgbm90IGxvYWQgJXNcbiIsIFVSTCwgTlVMTCk7CisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgfQorCisgICAgLyoKKyAgICAgKiBBbGxvY2F0ZSB0aGUgZG9jdW1lbnQgc3RydWN0dXJlcyBhbmQgcmVnaXN0ZXIgaXQgZmlyc3QuCisgICAgICovCisgICAgcmV0ID0gKHhtbFJlbGF4TkdEb2N1bWVudFB0cikgeG1sTWFsbG9jKHNpemVvZih4bWxSZWxheE5HRG9jdW1lbnQpKTsKKyAgICBpZiAocmV0ID09IE5VTEwpIHsKKyAgICAgICAgeG1sUm5nUEVycihjdHh0LCAoeG1sTm9kZVB0cikgZG9jLCBYTUxfRVJSX05PX01FTU9SWSwKKyAgICAgICAgICAgICAgICAgICAieG1sUmVsYXhORzogYWxsb2NhdGUgbWVtb3J5IGZvciBkb2MgJXNcbiIsIFVSTCwgTlVMTCk7CisgICAgICAgIHhtbEZyZWVEb2MoZG9jKTsKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICB9CisgICAgbWVtc2V0KHJldCwgMCwgc2l6ZW9mKHhtbFJlbGF4TkdEb2N1bWVudCkpOworICAgIHJldC0+ZG9jID0gZG9jOworICAgIHJldC0+aHJlZiA9IHhtbFN0cmR1cChVUkwpOworICAgIHJldC0+bmV4dCA9IGN0eHQtPmRvY3VtZW50czsKKyAgICByZXQtPmV4dGVybmFsUmVmID0gMTsKKyAgICBjdHh0LT5kb2N1bWVudHMgPSByZXQ7CisKKyAgICAvKgorICAgICAqIHRyYW5zbWl0IHRoZSBucyBpZiBuZWVkZWQKKyAgICAgKi8KKyAgICBpZiAobnMgIT0gTlVMTCkgeworICAgICAgICByb290ID0geG1sRG9jR2V0Um9vdEVsZW1lbnQoZG9jKTsKKyAgICAgICAgaWYgKHJvb3QgIT0gTlVMTCkgeworICAgICAgICAgICAgaWYgKHhtbEhhc1Byb3Aocm9vdCwgQkFEX0NBU1QgIm5zIikgPT0gTlVMTCkgeworICAgICAgICAgICAgICAgIHhtbFNldFByb3Aocm9vdCwgQkFEX0NBU1QgIm5zIiwgbnMpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorCisgICAgLyoKKyAgICAgKiBwdXNoIGl0IG9uIHRoZSBzdGFjayBhbmQgcmVnaXN0ZXIgaXQgaW4gdGhlIGhhc2ggdGFibGUKKyAgICAgKi8KKyAgICB4bWxSZWxheE5HRG9jdW1lbnRQdXNoKGN0eHQsIHJldCk7CisKKyAgICAvKgorICAgICAqIFNvbWUgcHJlcHJvY2Vzc2luZyBvZiB0aGUgZG9jdW1lbnQgY29udGVudAorICAgICAqLworICAgIGRvYyA9IHhtbFJlbGF4TkdDbGVhbnVwRG9jKGN0eHQsIGRvYyk7CisgICAgaWYgKGRvYyA9PSBOVUxMKSB7CisgICAgICAgIGN0eHQtPmRvYyA9IE5VTEw7CisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgfQorCisgICAgeG1sUmVsYXhOR0RvY3VtZW50UG9wKGN0eHQpOworCisgICAgcmV0dXJuIChyZXQpOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQkJRXJyb3IgZnVuY3Rpb25zCQkJCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNkZWZpbmUgVkFMSURfRVJSKGEpIHhtbFJlbGF4TkdBZGRWYWxpZEVycm9yKGN0eHQsIGEsIE5VTEwsIE5VTEwsIDApOworI2RlZmluZSBWQUxJRF9FUlIyKGEsIGIpIHhtbFJlbGF4TkdBZGRWYWxpZEVycm9yKGN0eHQsIGEsIGIsIE5VTEwsIDApOworI2RlZmluZSBWQUxJRF9FUlIzKGEsIGIsIGMpIHhtbFJlbGF4TkdBZGRWYWxpZEVycm9yKGN0eHQsIGEsIGIsIGMsIDApOworI2RlZmluZSBWQUxJRF9FUlIyUChhLCBiKSB4bWxSZWxheE5HQWRkVmFsaWRFcnJvcihjdHh0LCBhLCBiLCBOVUxMLCAxKTsKKyNkZWZpbmUgVkFMSURfRVJSM1AoYSwgYiwgYykgeG1sUmVsYXhOR0FkZFZhbGlkRXJyb3IoY3R4dCwgYSwgYiwgYywgMSk7CisKK3N0YXRpYyBjb25zdCBjaGFyICoKK3htbFJlbGF4TkdEZWZOYW1lKHhtbFJlbGF4TkdEZWZpbmVQdHIgZGVmKQoreworICAgIGlmIChkZWYgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuICgibm9uZSIpOworICAgIHN3aXRjaCAoZGVmLT50eXBlKSB7CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfRU1QVFk6CisgICAgICAgICAgICByZXR1cm4gKCJlbXB0eSIpOworICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX05PVF9BTExPV0VEOgorICAgICAgICAgICAgcmV0dXJuICgibm90QWxsb3dlZCIpOworICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX0VYQ0VQVDoKKyAgICAgICAgICAgIHJldHVybiAoImV4Y2VwdCIpOworICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX1RFWFQ6CisgICAgICAgICAgICByZXR1cm4gKCJ0ZXh0Iik7CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfRUxFTUVOVDoKKyAgICAgICAgICAgIHJldHVybiAoImVsZW1lbnQiKTsKKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19EQVRBVFlQRToKKyAgICAgICAgICAgIHJldHVybiAoImRhdGF0eXBlIik7CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfVkFMVUU6CisgICAgICAgICAgICByZXR1cm4gKCJ2YWx1ZSIpOworICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX0xJU1Q6CisgICAgICAgICAgICByZXR1cm4gKCJsaXN0Iik7CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfQVRUUklCVVRFOgorICAgICAgICAgICAgcmV0dXJuICgiYXR0cmlidXRlIik7CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfREVGOgorICAgICAgICAgICAgcmV0dXJuICgiZGVmIik7CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfUkVGOgorICAgICAgICAgICAgcmV0dXJuICgicmVmIik7CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfRVhURVJOQUxSRUY6CisgICAgICAgICAgICByZXR1cm4gKCJleHRlcm5hbFJlZiIpOworICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX1BBUkVOVFJFRjoKKyAgICAgICAgICAgIHJldHVybiAoInBhcmVudFJlZiIpOworICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX09QVElPTkFMOgorICAgICAgICAgICAgcmV0dXJuICgib3B0aW9uYWwiKTsKKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19aRVJPT1JNT1JFOgorICAgICAgICAgICAgcmV0dXJuICgiemVyb09yTW9yZSIpOworICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX09ORU9STU9SRToKKyAgICAgICAgICAgIHJldHVybiAoIm9uZU9yTW9yZSIpOworICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX0NIT0lDRToKKyAgICAgICAgICAgIHJldHVybiAoImNob2ljZSIpOworICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX0dST1VQOgorICAgICAgICAgICAgcmV0dXJuICgiZ3JvdXAiKTsKKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19JTlRFUkxFQVZFOgorICAgICAgICAgICAgcmV0dXJuICgiaW50ZXJsZWF2ZSIpOworICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX1NUQVJUOgorICAgICAgICAgICAgcmV0dXJuICgic3RhcnQiKTsKKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19OT09QOgorICAgICAgICAgICAgcmV0dXJuICgibm9vcCIpOworICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX1BBUkFNOgorICAgICAgICAgICAgcmV0dXJuICgicGFyYW0iKTsKKyAgICB9CisgICAgcmV0dXJuICgidW5rbm93biIpOworfQorCisvKioKKyAqIHhtbFJlbGF4TkdHZXRFcnJvclN0cmluZzoKKyAqIEBlcnI6ICB0aGUgZXJyb3IgY29kZQorICogQGFyZzE6ICB0aGUgZmlyc3Qgc3RyaW5nIGFyZ3VtZW50CisgKiBAYXJnMjogIHRoZSBzZWNvbmQgc3RyaW5nIGFyZ3VtZW50CisgKgorICogY29tcHV0ZXMgYSBmb3JtYXR0ZWQgZXJyb3Igc3RyaW5nIGZvciB0aGUgZ2l2ZW4gZXJyb3IgY29kZSBhbmQgYXJncworICoKKyAqIFJldHVybnMgdGhlIGVycm9yIHN0cmluZywgaXQgbXVzdCBiZSBkZWFsbG9jYXRlZCBieSB0aGUgY2FsbGVyCisgKi8KK3N0YXRpYyB4bWxDaGFyICoKK3htbFJlbGF4TkdHZXRFcnJvclN0cmluZyh4bWxSZWxheE5HVmFsaWRFcnIgZXJyLCBjb25zdCB4bWxDaGFyICogYXJnMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogYXJnMikKK3sKKyAgICBjaGFyIG1zZ1sxMDAwXTsKKworICAgIGlmIChhcmcxID09IE5VTEwpCisgICAgICAgIGFyZzEgPSBCQURfQ0FTVCAiIjsKKyAgICBpZiAoYXJnMiA9PSBOVUxMKQorICAgICAgICBhcmcyID0gQkFEX0NBU1QgIiI7CisKKyAgICBtc2dbMF0gPSAwOworICAgIHN3aXRjaCAoZXJyKSB7CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfT0s6CisgICAgICAgICAgICByZXR1cm4gKE5VTEwpOworICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX0VSUl9NRU1PUlk6CisgICAgICAgICAgICByZXR1cm4gKHhtbENoYXJTdHJkdXAoIm91dCBvZiBtZW1vcnlcbiIpKTsKKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19FUlJfVFlQRToKKyAgICAgICAgICAgIHNucHJpbnRmKG1zZywgMTAwMCwgImZhaWxlZCB0byB2YWxpZGF0ZSB0eXBlICVzXG4iLCBhcmcxKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX0VSUl9UWVBFVkFMOgorICAgICAgICAgICAgc25wcmludGYobXNnLCAxMDAwLCAiVHlwZSAlcyBkb2Vzbid0IGFsbG93IHZhbHVlICclcydcbiIsIGFyZzEsCisgICAgICAgICAgICAgICAgICAgICBhcmcyKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX0VSUl9EVVBJRDoKKyAgICAgICAgICAgIHNucHJpbnRmKG1zZywgMTAwMCwgIklEICVzIHJlZGVmaW5lZFxuIiwgYXJnMSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19FUlJfVFlQRUNNUDoKKyAgICAgICAgICAgIHNucHJpbnRmKG1zZywgMTAwMCwgImZhaWxlZCB0byBjb21wYXJlIHR5cGUgJXNcbiIsIGFyZzEpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfRVJSX05PU1RBVEU6CisgICAgICAgICAgICByZXR1cm4gKHhtbENoYXJTdHJkdXAoIkludGVybmFsIGVycm9yOiBubyBzdGF0ZVxuIikpOworICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX0VSUl9OT0RFRklORToKKyAgICAgICAgICAgIHJldHVybiAoeG1sQ2hhclN0cmR1cCgiSW50ZXJuYWwgZXJyb3I6IG5vIGRlZmluZVxuIikpOworICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX0VSUl9JTlRFUk5BTDoKKyAgICAgICAgICAgIHNucHJpbnRmKG1zZywgMTAwMCwgIkludGVybmFsIGVycm9yOiAlc1xuIiwgYXJnMSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19FUlJfTElTVEVYVFJBOgorICAgICAgICAgICAgc25wcmludGYobXNnLCAxMDAwLCAiRXh0cmEgZGF0YSBpbiBsaXN0OiAlc1xuIiwgYXJnMSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19FUlJfSU5URVJOT0RBVEE6CisgICAgICAgICAgICByZXR1cm4gKHhtbENoYXJTdHJkdXAKKyAgICAgICAgICAgICAgICAgICAgKCJJbnRlcm5hbDogaW50ZXJsZWF2ZSBibG9jayBoYXMgbm8gZGF0YVxuIikpOworICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX0VSUl9JTlRFUlNFUToKKyAgICAgICAgICAgIHJldHVybiAoeG1sQ2hhclN0cmR1cCgiSW52YWxpZCBzZXF1ZW5jZSBpbiBpbnRlcmxlYXZlXG4iKSk7CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfRVJSX0lOVEVSRVhUUkE6CisgICAgICAgICAgICBzbnByaW50Zihtc2csIDEwMDAsICJFeHRyYSBlbGVtZW50ICVzIGluIGludGVybGVhdmVcbiIsIGFyZzEpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfRVJSX0VMRU1OQU1FOgorICAgICAgICAgICAgc25wcmludGYobXNnLCAxMDAwLCAiRXhwZWN0aW5nIGVsZW1lbnQgJXMsIGdvdCAlc1xuIiwgYXJnMSwKKyAgICAgICAgICAgICAgICAgICAgIGFyZzIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfRVJSX0VMRU1OT05TOgorICAgICAgICAgICAgc25wcmludGYobXNnLCAxMDAwLCAiRXhwZWN0aW5nIGEgbmFtZXNwYWNlIGZvciBlbGVtZW50ICVzXG4iLAorICAgICAgICAgICAgICAgICAgICAgYXJnMSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19FUlJfRUxFTVdST05HTlM6CisgICAgICAgICAgICBzbnByaW50Zihtc2csIDEwMDAsCisgICAgICAgICAgICAgICAgICAgICAiRWxlbWVudCAlcyBoYXMgd3JvbmcgbmFtZXNwYWNlOiBleHBlY3RpbmcgJXNcbiIsIGFyZzEsCisgICAgICAgICAgICAgICAgICAgICBhcmcyKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX0VSUl9FTEVNV1JPTkc6CisgICAgICAgICAgICBzbnByaW50Zihtc2csIDEwMDAsICJEaWQgbm90IGV4cGVjdCBlbGVtZW50ICVzIHRoZXJlXG4iLCBhcmcxKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX0VSUl9URVhUV1JPTkc6CisgICAgICAgICAgICBzbnByaW50Zihtc2csIDEwMDAsCisgICAgICAgICAgICAgICAgICAgICAiRGlkIG5vdCBleHBlY3QgdGV4dCBpbiBlbGVtZW50ICVzIGNvbnRlbnRcbiIsIGFyZzEpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfRVJSX0VMRU1FWFRSQU5TOgorICAgICAgICAgICAgc25wcmludGYobXNnLCAxMDAwLCAiRXhwZWN0aW5nIG5vIG5hbWVzcGFjZSBmb3IgZWxlbWVudCAlc1xuIiwKKyAgICAgICAgICAgICAgICAgICAgIGFyZzEpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfRVJSX0VMRU1OT1RFTVBUWToKKyAgICAgICAgICAgIHNucHJpbnRmKG1zZywgMTAwMCwgIkV4cGVjdGluZyBlbGVtZW50ICVzIHRvIGJlIGVtcHR5XG4iLCBhcmcxKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX0VSUl9OT0VMRU06CisgICAgICAgICAgICBzbnByaW50Zihtc2csIDEwMDAsICJFeHBlY3RpbmcgYW4gZWxlbWVudCAlcywgZ290IG5vdGhpbmdcbiIsCisgICAgICAgICAgICAgICAgICAgICBhcmcxKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX0VSUl9OT1RFTEVNOgorICAgICAgICAgICAgcmV0dXJuICh4bWxDaGFyU3RyZHVwKCJFeHBlY3RpbmcgYW4gZWxlbWVudCBnb3QgdGV4dFxuIikpOworICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX0VSUl9BVFRSVkFMSUQ6CisgICAgICAgICAgICBzbnByaW50Zihtc2csIDEwMDAsICJFbGVtZW50ICVzIGZhaWxlZCB0byB2YWxpZGF0ZSBhdHRyaWJ1dGVzXG4iLAorICAgICAgICAgICAgICAgICAgICAgYXJnMSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19FUlJfQ09OVEVOVFZBTElEOgorICAgICAgICAgICAgc25wcmludGYobXNnLCAxMDAwLCAiRWxlbWVudCAlcyBmYWlsZWQgdG8gdmFsaWRhdGUgY29udGVudFxuIiwKKyAgICAgICAgICAgICAgICAgICAgIGFyZzEpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfRVJSX0VYVFJBQ09OVEVOVDoKKyAgICAgICAgICAgIHNucHJpbnRmKG1zZywgMTAwMCwgIkVsZW1lbnQgJXMgaGFzIGV4dHJhIGNvbnRlbnQ6ICVzXG4iLAorICAgICAgICAgICAgICAgICAgICAgYXJnMSwgYXJnMik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19FUlJfSU5WQUxJREFUVFI6CisgICAgICAgICAgICBzbnByaW50Zihtc2csIDEwMDAsICJJbnZhbGlkIGF0dHJpYnV0ZSAlcyBmb3IgZWxlbWVudCAlc1xuIiwKKyAgICAgICAgICAgICAgICAgICAgIGFyZzEsIGFyZzIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfRVJSX0xBQ0tEQVRBOgorICAgICAgICAgICAgc25wcmludGYobXNnLCAxMDAwLCAiRGF0YXR5cGUgZWxlbWVudCAlcyBjb250YWlucyBubyBkYXRhXG4iLAorICAgICAgICAgICAgICAgICAgICAgYXJnMSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19FUlJfREFUQUVMRU06CisgICAgICAgICAgICBzbnByaW50Zihtc2csIDEwMDAsICJEYXRhdHlwZSBlbGVtZW50ICVzIGhhcyBjaGlsZCBlbGVtZW50c1xuIiwKKyAgICAgICAgICAgICAgICAgICAgIGFyZzEpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfRVJSX1ZBTEVMRU06CisgICAgICAgICAgICBzbnByaW50Zihtc2csIDEwMDAsICJWYWx1ZSBlbGVtZW50ICVzIGhhcyBjaGlsZCBlbGVtZW50c1xuIiwKKyAgICAgICAgICAgICAgICAgICAgIGFyZzEpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfRVJSX0xJU1RFTEVNOgorICAgICAgICAgICAgc25wcmludGYobXNnLCAxMDAwLCAiTGlzdCBlbGVtZW50ICVzIGhhcyBjaGlsZCBlbGVtZW50c1xuIiwKKyAgICAgICAgICAgICAgICAgICAgIGFyZzEpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfRVJSX0RBVEFUWVBFOgorICAgICAgICAgICAgc25wcmludGYobXNnLCAxMDAwLCAiRXJyb3IgdmFsaWRhdGluZyBkYXRhdHlwZSAlc1xuIiwgYXJnMSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19FUlJfVkFMVUU6CisgICAgICAgICAgICBzbnByaW50Zihtc2csIDEwMDAsICJFcnJvciB2YWxpZGF0aW5nIHZhbHVlICVzXG4iLCBhcmcxKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX0VSUl9MSVNUOgorICAgICAgICAgICAgcmV0dXJuICh4bWxDaGFyU3RyZHVwKCJFcnJvciB2YWxpZGF0aW5nIGxpc3RcbiIpKTsKKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19FUlJfTk9HUkFNTUFSOgorICAgICAgICAgICAgcmV0dXJuICh4bWxDaGFyU3RyZHVwKCJObyB0b3AgZ3JhbW1hciBkZWZpbmVkXG4iKSk7CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfRVJSX0VYVFJBREFUQToKKyAgICAgICAgICAgIHJldHVybiAoeG1sQ2hhclN0cmR1cCgiRXh0cmEgZGF0YSBpbiB0aGUgZG9jdW1lbnRcbiIpKTsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIHJldHVybiAoeG1sQ2hhclN0cmR1cCgiVW5rbm93biBlcnJvciAhXG4iKSk7CisgICAgfQorICAgIGlmIChtc2dbMF0gPT0gMCkgeworICAgICAgICBzbnByaW50Zihtc2csIDEwMDAsICJVbmtub3duIGVycm9yIGNvZGUgJWRcbiIsIGVycik7CisgICAgfQorICAgIG1zZ1sxMDAwIC0gMV0gPSAwOworICAgIHJldHVybiAoeG1sU3RyZHVwKCh4bWxDaGFyICopIG1zZykpOworfQorCisvKioKKyAqIHhtbFJlbGF4TkdTaG93VmFsaWRFcnJvcjoKKyAqIEBjdHh0OiAgdGhlIHZhbGlkYXRpb24gY29udGV4dAorICogQGVycjogIHRoZSBlcnJvciBudW1iZXIKKyAqIEBub2RlOiAgdGhlIG5vZGUKKyAqIEBjaGlsZDogIHRoZSBub2RlIGNoaWxkIGdlbmVyYXRpbmcgdGhlIHByb2JsZW0uCisgKiBAYXJnMTogIHRoZSBmaXJzdCBhcmd1bWVudAorICogQGFyZzI6ICB0aGUgc2Vjb25kIGFyZ3VtZW50CisgKgorICogU2hvdyBhIHZhbGlkYXRpb24gZXJyb3IuCisgKi8KK3N0YXRpYyB2b2lkCit4bWxSZWxheE5HU2hvd1ZhbGlkRXJyb3IoeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0ciBjdHh0LAorICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdWYWxpZEVyciBlcnIsIHhtbE5vZGVQdHIgbm9kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICB4bWxOb2RlUHRyIGNoaWxkLCBjb25zdCB4bWxDaGFyICogYXJnMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogYXJnMikKK3sKKyAgICB4bWxDaGFyICptc2c7CisKKyAgICBpZiAoY3R4dC0+ZmxhZ3MgJiBGTEFHU19OT0VSUk9SKQorICAgICAgICByZXR1cm47CisKKyNpZmRlZiBERUJVR19FUlJPUgorICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCAiU2hvdyBlcnJvciAlZFxuIiwgZXJyKTsKKyNlbmRpZgorICAgIG1zZyA9IHhtbFJlbGF4TkdHZXRFcnJvclN0cmluZyhlcnIsIGFyZzEsIGFyZzIpOworICAgIGlmIChtc2cgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKGN0eHQtPmVyck5vID09IFhNTF9SRUxBWE5HX09LKQorICAgICAgICBjdHh0LT5lcnJObyA9IGVycjsKKyAgICB4bWxSbmdWRXJyKGN0eHQsIChjaGlsZCA9PSBOVUxMID8gbm9kZSA6IGNoaWxkKSwgZXJyLAorICAgICAgICAgICAgICAgKGNvbnN0IGNoYXIgKikgbXNnLCBhcmcxLCBhcmcyKTsKKyAgICB4bWxGcmVlKG1zZyk7Cit9CisKKy8qKgorICogeG1sUmVsYXhOR1BvcEVycm9yczoKKyAqIEBjdHh0OiAgdGhlIHZhbGlkYXRpb24gY29udGV4dAorICogQGxldmVsOiAgdGhlIGVycm9yIGxldmVsIGluIHRoZSBzdGFjaworICoKKyAqIHBvcCBhbmQgZGlzY2FyZCBhbGwgZXJyb3JzIHVudGlsIHRoZSBnaXZlbiBsZXZlbCBpcyByZWFjaGVkCisgKi8KK3N0YXRpYyB2b2lkCit4bWxSZWxheE5HUG9wRXJyb3JzKHhtbFJlbGF4TkdWYWxpZEN0eHRQdHIgY3R4dCwgaW50IGxldmVsKQoreworICAgIGludCBpOworICAgIHhtbFJlbGF4TkdWYWxpZEVycm9yUHRyIGVycjsKKworI2lmZGVmIERFQlVHX0VSUk9SCisgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICJQb3AgZXJyb3JzIHRpbGwgbGV2ZWwgJWRcbiIsIGxldmVsKTsKKyNlbmRpZgorICAgIGZvciAoaSA9IGxldmVsOyBpIDwgY3R4dC0+ZXJyTnI7IGkrKykgeworICAgICAgICBlcnIgPSAmY3R4dC0+ZXJyVGFiW2ldOworICAgICAgICBpZiAoZXJyLT5mbGFncyAmIEVSUk9SX0lTX0RVUCkgeworICAgICAgICAgICAgaWYgKGVyci0+YXJnMSAhPSBOVUxMKQorICAgICAgICAgICAgICAgIHhtbEZyZWUoKHhtbENoYXIgKikgZXJyLT5hcmcxKTsKKyAgICAgICAgICAgIGVyci0+YXJnMSA9IE5VTEw7CisgICAgICAgICAgICBpZiAoZXJyLT5hcmcyICE9IE5VTEwpCisgICAgICAgICAgICAgICAgeG1sRnJlZSgoeG1sQ2hhciAqKSBlcnItPmFyZzIpOworICAgICAgICAgICAgZXJyLT5hcmcyID0gTlVMTDsKKyAgICAgICAgICAgIGVyci0+ZmxhZ3MgPSAwOworICAgICAgICB9CisgICAgfQorICAgIGN0eHQtPmVyck5yID0gbGV2ZWw7CisgICAgaWYgKGN0eHQtPmVyck5yIDw9IDApCisgICAgICAgIGN0eHQtPmVyciA9IE5VTEw7Cit9CisKKy8qKgorICogeG1sUmVsYXhOR0R1bXBWYWxpZEVycm9yOgorICogQGN0eHQ6ICB0aGUgdmFsaWRhdGlvbiBjb250ZXh0CisgKgorICogU2hvdyBhbGwgdmFsaWRhdGlvbiBlcnJvciBvdmVyIGEgZ2l2ZW4gaW5kZXguCisgKi8KK3N0YXRpYyB2b2lkCit4bWxSZWxheE5HRHVtcFZhbGlkRXJyb3IoeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0ciBjdHh0KQoreworICAgIGludCBpLCBqLCBrOworICAgIHhtbFJlbGF4TkdWYWxpZEVycm9yUHRyIGVyciwgZHVwOworCisjaWZkZWYgREVCVUdfRVJST1IKKyAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgIkR1bXBpbmcgZXJyb3Igc3RhY2sgJWQgZXJyb3JzXG4iLCBjdHh0LT5lcnJOcik7CisjZW5kaWYKKyAgICBmb3IgKGkgPSAwLCBrID0gMDsgaSA8IGN0eHQtPmVyck5yOyBpKyspIHsKKyAgICAgICAgZXJyID0gJmN0eHQtPmVyclRhYltpXTsKKyAgICAgICAgaWYgKGsgPCBNQVhfRVJST1IpIHsKKyAgICAgICAgICAgIGZvciAoaiA9IDA7IGogPCBpOyBqKyspIHsKKyAgICAgICAgICAgICAgICBkdXAgPSAmY3R4dC0+ZXJyVGFiW2pdOworICAgICAgICAgICAgICAgIGlmICgoZXJyLT5lcnIgPT0gZHVwLT5lcnIpICYmIChlcnItPm5vZGUgPT0gZHVwLT5ub2RlKSAmJgorICAgICAgICAgICAgICAgICAgICAoeG1sU3RyRXF1YWwoZXJyLT5hcmcxLCBkdXAtPmFyZzEpKSAmJgorICAgICAgICAgICAgICAgICAgICAoeG1sU3RyRXF1YWwoZXJyLT5hcmcyLCBkdXAtPmFyZzIpKSkgeworICAgICAgICAgICAgICAgICAgICBnb3RvIHNraXA7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgICAgeG1sUmVsYXhOR1Nob3dWYWxpZEVycm9yKGN0eHQsIGVyci0+ZXJyLCBlcnItPm5vZGUsIGVyci0+c2VxLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVyci0+YXJnMSwgZXJyLT5hcmcyKTsKKyAgICAgICAgICAgIGsrKzsKKyAgICAgICAgfQorICAgICAgc2tpcDoKKyAgICAgICAgaWYgKGVyci0+ZmxhZ3MgJiBFUlJPUl9JU19EVVApIHsKKyAgICAgICAgICAgIGlmIChlcnItPmFyZzEgIT0gTlVMTCkKKyAgICAgICAgICAgICAgICB4bWxGcmVlKCh4bWxDaGFyICopIGVyci0+YXJnMSk7CisgICAgICAgICAgICBlcnItPmFyZzEgPSBOVUxMOworICAgICAgICAgICAgaWYgKGVyci0+YXJnMiAhPSBOVUxMKQorICAgICAgICAgICAgICAgIHhtbEZyZWUoKHhtbENoYXIgKikgZXJyLT5hcmcyKTsKKyAgICAgICAgICAgIGVyci0+YXJnMiA9IE5VTEw7CisgICAgICAgICAgICBlcnItPmZsYWdzID0gMDsKKyAgICAgICAgfQorICAgIH0KKyAgICBjdHh0LT5lcnJOciA9IDA7Cit9CisKKy8qKgorICogeG1sUmVsYXhOR0FkZFZhbGlkRXJyb3I6CisgKiBAY3R4dDogIHRoZSB2YWxpZGF0aW9uIGNvbnRleHQKKyAqIEBlcnI6ICB0aGUgZXJyb3IgbnVtYmVyCisgKiBAYXJnMTogIHRoZSBmaXJzdCBhcmd1bWVudAorICogQGFyZzI6ICB0aGUgc2Vjb25kIGFyZ3VtZW50CisgKiBAZHVwOiAgbmVlZCB0byBkdXAgdGhlIGFyZ3MKKyAqCisgKiBSZWdpc3RlciBhIHZhbGlkYXRpb24gZXJyb3IsIGVpdGhlciBnZW5lcmF0aW5nIGl0IGlmIGl0J3Mgc3VyZQorICogb3Igc3RhY2tpbmcgaXQgZm9yIGxhdGVyIGhhbmRsaW5nIGlmIHVuc3VyZS4KKyAqLworc3RhdGljIHZvaWQKK3htbFJlbGF4TkdBZGRWYWxpZEVycm9yKHhtbFJlbGF4TkdWYWxpZEN0eHRQdHIgY3R4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdWYWxpZEVyciBlcnIsIGNvbnN0IHhtbENoYXIgKiBhcmcxLAorICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIGFyZzIsIGludCBkdXApCit7CisgICAgaWYgKGN0eHQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuOworICAgIGlmIChjdHh0LT5mbGFncyAmIEZMQUdTX05PRVJST1IpCisgICAgICAgIHJldHVybjsKKworI2lmZGVmIERFQlVHX0VSUk9SCisgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICJBZGRpbmcgZXJyb3IgJWRcbiIsIGVycik7CisjZW5kaWYKKyAgICAvKgorICAgICAqIGdlbmVyYXRlIHRoZSBlcnJvciBkaXJlY3RseQorICAgICAqLworICAgIGlmICgoKGN0eHQtPmZsYWdzICYgRkxBR1NfSUdOT1JBQkxFKSA9PSAwKSB8fAorCSAoY3R4dC0+ZmxhZ3MgJiBGTEFHU19ORUdBVElWRSkpIHsKKyAgICAgICAgeG1sTm9kZVB0ciBub2RlLCBzZXE7CisKKyAgICAgICAgLyoKKyAgICAgICAgICogRmx1c2ggZmlyc3QgYW55IHN0YWNrZWQgZXJyb3Igd2hpY2ggbWlnaHQgYmUgdGhlCisgICAgICAgICAqIHJlYWwgY2F1c2Ugb2YgdGhlIHByb2JsZW0uCisgICAgICAgICAqLworICAgICAgICBpZiAoY3R4dC0+ZXJyTnIgIT0gMCkKKyAgICAgICAgICAgIHhtbFJlbGF4TkdEdW1wVmFsaWRFcnJvcihjdHh0KTsKKyAgICAgICAgaWYgKGN0eHQtPnN0YXRlICE9IE5VTEwpIHsKKyAgICAgICAgICAgIG5vZGUgPSBjdHh0LT5zdGF0ZS0+bm9kZTsKKyAgICAgICAgICAgIHNlcSA9IGN0eHQtPnN0YXRlLT5zZXE7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBub2RlID0gc2VxID0gTlVMTDsKKyAgICAgICAgfQorICAgICAgICBpZiAoKG5vZGUgPT0gTlVMTCkgJiYgKHNlcSA9PSBOVUxMKSkgeworICAgICAgICAgICAgbm9kZSA9IGN0eHQtPnBub2RlOworICAgICAgICB9CisgICAgICAgIHhtbFJlbGF4TkdTaG93VmFsaWRFcnJvcihjdHh0LCBlcnIsIG5vZGUsIHNlcSwgYXJnMSwgYXJnMik7CisgICAgfQorICAgIC8qCisgICAgICogU3RhY2sgdGhlIGVycm9yIGZvciBsYXRlciBwcm9jZXNzaW5nIGlmIG5lZWRlZAorICAgICAqLworICAgIGVsc2UgeworICAgICAgICB4bWxSZWxheE5HVmFsaWRFcnJvclB1c2goY3R4dCwgZXJyLCBhcmcxLCBhcmcyLCBkdXApOworICAgIH0KK30KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQkJVHlwZSBsaWJyYXJ5IGhvb2tzCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyB4bWxDaGFyICp4bWxSZWxheE5HTm9ybWFsaXplKHhtbFJlbGF4TkdWYWxpZEN0eHRQdHIgY3R4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBzdHIpOworCisvKioKKyAqIHhtbFJlbGF4TkdTY2hlbWFUeXBlSGF2ZToKKyAqIEBkYXRhOiAgZGF0YSBuZWVkZWQgZm9yIHRoZSBsaWJyYXJ5CisgKiBAdHlwZTogIHRoZSB0eXBlIG5hbWUKKyAqCisgKiBDaGVjayBpZiB0aGUgZ2l2ZW4gdHlwZSBpcyBwcm92aWRlZCBieQorICogdGhlIFczQyBYTUxTY2hlbWEgRGF0YXR5cGUgbGlicmFyeS4KKyAqCisgKiBSZXR1cm5zIDEgaWYgeWVzLCAwIGlmIG5vIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yLgorICovCitzdGF0aWMgaW50Cit4bWxSZWxheE5HU2NoZW1hVHlwZUhhdmUodm9pZCAqZGF0YSBBVFRSSUJVVEVfVU5VU0VELCBjb25zdCB4bWxDaGFyICogdHlwZSkKK3sKKyAgICB4bWxTY2hlbWFUeXBlUHRyIHR5cDsKKworICAgIGlmICh0eXBlID09IE5VTEwpCisgICAgICAgIHJldHVybiAoLTEpOworICAgIHR5cCA9IHhtbFNjaGVtYUdldFByZWRlZmluZWRUeXBlKHR5cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQkFEX0NBU1QKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiKTsKKyAgICBpZiAodHlwID09IE5VTEwpCisgICAgICAgIHJldHVybiAoMCk7CisgICAgcmV0dXJuICgxKTsKK30KKworLyoqCisgKiB4bWxSZWxheE5HU2NoZW1hVHlwZUNoZWNrOgorICogQGRhdGE6ICBkYXRhIG5lZWRlZCBmb3IgdGhlIGxpYnJhcnkKKyAqIEB0eXBlOiAgdGhlIHR5cGUgbmFtZQorICogQHZhbHVlOiAgdGhlIHZhbHVlIHRvIGNoZWNrCisgKiBAbm9kZTogIHRoZSBub2RlCisgKgorICogQ2hlY2sgaWYgdGhlIGdpdmVuIHR5cGUgYW5kIHZhbHVlIGFyZSB2YWxpZGF0ZWQgYnkKKyAqIHRoZSBXM0MgWE1MU2NoZW1hIERhdGF0eXBlIGxpYnJhcnkuCisgKgorICogUmV0dXJucyAxIGlmIHllcywgMCBpZiBubyBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworc3RhdGljIGludAoreG1sUmVsYXhOR1NjaGVtYVR5cGVDaGVjayh2b2lkICpkYXRhIEFUVFJJQlVURV9VTlVTRUQsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiB0eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogdmFsdWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKipyZXN1bHQsIHhtbE5vZGVQdHIgbm9kZSkKK3sKKyAgICB4bWxTY2hlbWFUeXBlUHRyIHR5cDsKKyAgICBpbnQgcmV0OworCisgICAgaWYgKCh0eXBlID09IE5VTEwpIHx8ICh2YWx1ZSA9PSBOVUxMKSkKKyAgICAgICAgcmV0dXJuICgtMSk7CisgICAgdHlwID0geG1sU2NoZW1hR2V0UHJlZGVmaW5lZFR5cGUodHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCQURfQ0FTVAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIpOworICAgIGlmICh0eXAgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuICgtMSk7CisgICAgcmV0ID0geG1sU2NoZW1hVmFsUHJlZGVmVHlwZU5vZGUodHlwLCB2YWx1ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoeG1sU2NoZW1hVmFsUHRyICopIHJlc3VsdCwgbm9kZSk7CisgICAgaWYgKHJldCA9PSAyKSAgICAgICAgICAgICAgIC8qIHNwZWNpYWwgSUQgZXJyb3IgY29kZSAqLworICAgICAgICByZXR1cm4gKDIpOworICAgIGlmIChyZXQgPT0gMCkKKyAgICAgICAgcmV0dXJuICgxKTsKKyAgICBpZiAocmV0ID4gMCkKKyAgICAgICAgcmV0dXJuICgwKTsKKyAgICByZXR1cm4gKC0xKTsKK30KKworLyoqCisgKiB4bWxSZWxheE5HU2NoZW1hRmFjZXRDaGVjazoKKyAqIEBkYXRhOiAgZGF0YSBuZWVkZWQgZm9yIHRoZSBsaWJyYXJ5CisgKiBAdHlwZTogIHRoZSB0eXBlIG5hbWUKKyAqIEBmYWNldDogIHRoZSBmYWNldCBuYW1lCisgKiBAdmFsOiAgdGhlIGZhY2V0IHZhbHVlCisgKiBAc3RydmFsOiAgdGhlIHN0cmluZyB2YWx1ZQorICogQHZhbHVlOiAgdGhlIHZhbHVlIHRvIGNoZWNrCisgKgorICogRnVuY3Rpb24gcHJvdmlkZWQgYnkgYSB0eXBlIGxpYnJhcnkgdG8gY2hlY2sgYSB2YWx1ZSBmYWNldAorICoKKyAqIFJldHVybnMgMSBpZiB5ZXMsIDAgaWYgbm8gYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK3N0YXRpYyBpbnQKK3htbFJlbGF4TkdTY2hlbWFGYWNldENoZWNrKHZvaWQgKmRhdGEgQVRUUklCVVRFX1VOVVNFRCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiB0eXBlLCBjb25zdCB4bWxDaGFyICogZmFjZXRuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIHZhbCwgY29uc3QgeG1sQ2hhciAqIHN0cnZhbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKnZhbHVlKQoreworICAgIHhtbFNjaGVtYUZhY2V0UHRyIGZhY2V0OworICAgIHhtbFNjaGVtYVR5cGVQdHIgdHlwOworICAgIGludCByZXQ7CisKKyAgICBpZiAoKHR5cGUgPT0gTlVMTCkgfHwgKHN0cnZhbCA9PSBOVUxMKSkKKyAgICAgICAgcmV0dXJuICgtMSk7CisgICAgdHlwID0geG1sU2NoZW1hR2V0UHJlZGVmaW5lZFR5cGUodHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCQURfQ0FTVAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIpOworICAgIGlmICh0eXAgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuICgtMSk7CisKKyAgICBmYWNldCA9IHhtbFNjaGVtYU5ld0ZhY2V0KCk7CisgICAgaWYgKGZhY2V0ID09IE5VTEwpCisgICAgICAgIHJldHVybiAoLTEpOworCisgICAgaWYgKHhtbFN0ckVxdWFsKGZhY2V0bmFtZSwgQkFEX0NBU1QgIm1pbkluY2x1c2l2ZSIpKSB7CisgICAgICAgIGZhY2V0LT50eXBlID0gWE1MX1NDSEVNQV9GQUNFVF9NSU5JTkNMVVNJVkU7CisgICAgfSBlbHNlIGlmICh4bWxTdHJFcXVhbChmYWNldG5hbWUsIEJBRF9DQVNUICJtaW5FeGNsdXNpdmUiKSkgeworICAgICAgICBmYWNldC0+dHlwZSA9IFhNTF9TQ0hFTUFfRkFDRVRfTUlORVhDTFVTSVZFOworICAgIH0gZWxzZSBpZiAoeG1sU3RyRXF1YWwoZmFjZXRuYW1lLCBCQURfQ0FTVCAibWF4SW5jbHVzaXZlIikpIHsKKyAgICAgICAgZmFjZXQtPnR5cGUgPSBYTUxfU0NIRU1BX0ZBQ0VUX01BWElOQ0xVU0lWRTsKKyAgICB9IGVsc2UgaWYgKHhtbFN0ckVxdWFsKGZhY2V0bmFtZSwgQkFEX0NBU1QgIm1heEV4Y2x1c2l2ZSIpKSB7CisgICAgICAgIGZhY2V0LT50eXBlID0gWE1MX1NDSEVNQV9GQUNFVF9NQVhFWENMVVNJVkU7CisgICAgfSBlbHNlIGlmICh4bWxTdHJFcXVhbChmYWNldG5hbWUsIEJBRF9DQVNUICJ0b3RhbERpZ2l0cyIpKSB7CisgICAgICAgIGZhY2V0LT50eXBlID0gWE1MX1NDSEVNQV9GQUNFVF9UT1RBTERJR0lUUzsKKyAgICB9IGVsc2UgaWYgKHhtbFN0ckVxdWFsKGZhY2V0bmFtZSwgQkFEX0NBU1QgImZyYWN0aW9uRGlnaXRzIikpIHsKKyAgICAgICAgZmFjZXQtPnR5cGUgPSBYTUxfU0NIRU1BX0ZBQ0VUX0ZSQUNUSU9ORElHSVRTOworICAgIH0gZWxzZSBpZiAoeG1sU3RyRXF1YWwoZmFjZXRuYW1lLCBCQURfQ0FTVCAicGF0dGVybiIpKSB7CisgICAgICAgIGZhY2V0LT50eXBlID0gWE1MX1NDSEVNQV9GQUNFVF9QQVRURVJOOworICAgIH0gZWxzZSBpZiAoeG1sU3RyRXF1YWwoZmFjZXRuYW1lLCBCQURfQ0FTVCAiZW51bWVyYXRpb24iKSkgeworICAgICAgICBmYWNldC0+dHlwZSA9IFhNTF9TQ0hFTUFfRkFDRVRfRU5VTUVSQVRJT047CisgICAgfSBlbHNlIGlmICh4bWxTdHJFcXVhbChmYWNldG5hbWUsIEJBRF9DQVNUICJ3aGl0ZVNwYWNlIikpIHsKKyAgICAgICAgZmFjZXQtPnR5cGUgPSBYTUxfU0NIRU1BX0ZBQ0VUX1dISVRFU1BBQ0U7CisgICAgfSBlbHNlIGlmICh4bWxTdHJFcXVhbChmYWNldG5hbWUsIEJBRF9DQVNUICJsZW5ndGgiKSkgeworICAgICAgICBmYWNldC0+dHlwZSA9IFhNTF9TQ0hFTUFfRkFDRVRfTEVOR1RIOworICAgIH0gZWxzZSBpZiAoeG1sU3RyRXF1YWwoZmFjZXRuYW1lLCBCQURfQ0FTVCAibWF4TGVuZ3RoIikpIHsKKyAgICAgICAgZmFjZXQtPnR5cGUgPSBYTUxfU0NIRU1BX0ZBQ0VUX01BWExFTkdUSDsKKyAgICB9IGVsc2UgaWYgKHhtbFN0ckVxdWFsKGZhY2V0bmFtZSwgQkFEX0NBU1QgIm1pbkxlbmd0aCIpKSB7CisgICAgICAgIGZhY2V0LT50eXBlID0gWE1MX1NDSEVNQV9GQUNFVF9NSU5MRU5HVEg7CisgICAgfSBlbHNlIHsKKyAgICAgICAgeG1sU2NoZW1hRnJlZUZhY2V0KGZhY2V0KTsKKyAgICAgICAgcmV0dXJuICgtMSk7CisgICAgfQorICAgIGZhY2V0LT52YWx1ZSA9IHZhbDsKKyAgICByZXQgPSB4bWxTY2hlbWFDaGVja0ZhY2V0KGZhY2V0LCB0eXAsIE5VTEwsIHR5cGUpOworICAgIGlmIChyZXQgIT0gMCkgeworICAgICAgICB4bWxTY2hlbWFGcmVlRmFjZXQoZmFjZXQpOworICAgICAgICByZXR1cm4gKC0xKTsKKyAgICB9CisgICAgcmV0ID0geG1sU2NoZW1hVmFsaWRhdGVGYWNldCh0eXAsIGZhY2V0LCBzdHJ2YWwsIHZhbHVlKTsKKyAgICB4bWxTY2hlbWFGcmVlRmFjZXQoZmFjZXQpOworICAgIGlmIChyZXQgIT0gMCkKKyAgICAgICAgcmV0dXJuICgtMSk7CisgICAgcmV0dXJuICgwKTsKK30KKworLyoqCisgKiB4bWxSZWxheE5HU2NoZW1hRnJlZVZhbHVlOgorICogQGRhdGE6ICBkYXRhIG5lZWRlZCBmb3IgdGhlIGxpYnJhcnkKKyAqIEB2YWx1ZTogIHRoZSB2YWx1ZSB0byBmcmVlCisgKgorICogRnVuY3Rpb24gcHJvdmlkZWQgYnkgYSB0eXBlIGxpYnJhcnkgdG8gZnJlZSBhIFNjaGVtYXMgdmFsdWUKKyAqCisgKiBSZXR1cm5zIDEgaWYgeWVzLCAwIGlmIG5vIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yLgorICovCitzdGF0aWMgdm9pZAoreG1sUmVsYXhOR1NjaGVtYUZyZWVWYWx1ZSh2b2lkICpkYXRhIEFUVFJJQlVURV9VTlVTRUQsIHZvaWQgKnZhbHVlKQoreworICAgIHhtbFNjaGVtYUZyZWVWYWx1ZSh2YWx1ZSk7Cit9CisKKy8qKgorICogeG1sUmVsYXhOR1NjaGVtYVR5cGVDb21wYXJlOgorICogQGRhdGE6ICBkYXRhIG5lZWRlZCBmb3IgdGhlIGxpYnJhcnkKKyAqIEB0eXBlOiAgdGhlIHR5cGUgbmFtZQorICogQHZhbHVlMTogIHRoZSBmaXJzdCB2YWx1ZQorICogQHZhbHVlMjogIHRoZSBzZWNvbmQgdmFsdWUKKyAqCisgKiBDb21wYXJlIHR3byB2YWx1ZXMgZm9yIGVxdWFsaXR5IGFjY29yZGluZ2x5IGEgdHlwZSBmcm9tIHRoZSBXM0MgWE1MU2NoZW1hCisgKiBEYXRhdHlwZSBsaWJyYXJ5LgorICoKKyAqIFJldHVybnMgMSBpZiBlcXVhbCwgMCBpZiBubyBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworc3RhdGljIGludAoreG1sUmVsYXhOR1NjaGVtYVR5cGVDb21wYXJlKHZvaWQgKmRhdGEgQVRUUklCVVRFX1VOVVNFRCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogdHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogdmFsdWUxLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbE5vZGVQdHIgY3R4dDEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqY29tcDEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIHZhbHVlMiwgeG1sTm9kZVB0ciBjdHh0MikKK3sKKyAgICBpbnQgcmV0OworICAgIHhtbFNjaGVtYVR5cGVQdHIgdHlwOworICAgIHhtbFNjaGVtYVZhbFB0ciByZXMxID0gTlVMTCwgcmVzMiA9IE5VTEw7CisKKyAgICBpZiAoKHR5cGUgPT0gTlVMTCkgfHwgKHZhbHVlMSA9PSBOVUxMKSB8fCAodmFsdWUyID09IE5VTEwpKQorICAgICAgICByZXR1cm4gKC0xKTsKKyAgICB0eXAgPSB4bWxTY2hlbWFHZXRQcmVkZWZpbmVkVHlwZSh0eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJBRF9DQVNUCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIik7CisgICAgaWYgKHR5cCA9PSBOVUxMKQorICAgICAgICByZXR1cm4gKC0xKTsKKyAgICBpZiAoY29tcDEgPT0gTlVMTCkgeworICAgICAgICByZXQgPSB4bWxTY2hlbWFWYWxQcmVkZWZUeXBlTm9kZSh0eXAsIHZhbHVlMSwgJnJlczEsIGN0eHQxKTsKKyAgICAgICAgaWYgKHJldCAhPSAwKQorICAgICAgICAgICAgcmV0dXJuICgtMSk7CisgICAgICAgIGlmIChyZXMxID09IE5VTEwpCisgICAgICAgICAgICByZXR1cm4gKC0xKTsKKyAgICB9IGVsc2UgeworICAgICAgICByZXMxID0gKHhtbFNjaGVtYVZhbFB0cikgY29tcDE7CisgICAgfQorICAgIHJldCA9IHhtbFNjaGVtYVZhbFByZWRlZlR5cGVOb2RlKHR5cCwgdmFsdWUyLCAmcmVzMiwgY3R4dDIpOworICAgIGlmIChyZXQgIT0gMCkgeworCWlmIChyZXMxICE9ICh4bWxTY2hlbWFWYWxQdHIpIGNvbXAxKQorCSAgICB4bWxTY2hlbWFGcmVlVmFsdWUocmVzMSk7CisgICAgICAgIHJldHVybiAoLTEpOworICAgIH0KKyAgICByZXQgPSB4bWxTY2hlbWFDb21wYXJlVmFsdWVzKHJlczEsIHJlczIpOworICAgIGlmIChyZXMxICE9ICh4bWxTY2hlbWFWYWxQdHIpIGNvbXAxKQorICAgICAgICB4bWxTY2hlbWFGcmVlVmFsdWUocmVzMSk7CisgICAgeG1sU2NoZW1hRnJlZVZhbHVlKHJlczIpOworICAgIGlmIChyZXQgPT0gLTIpCisgICAgICAgIHJldHVybiAoLTEpOworICAgIGlmIChyZXQgPT0gMCkKKyAgICAgICAgcmV0dXJuICgxKTsKKyAgICByZXR1cm4gKDApOworfQorCisvKioKKyAqIHhtbFJlbGF4TkdEZWZhdWx0VHlwZUhhdmU6CisgKiBAZGF0YTogIGRhdGEgbmVlZGVkIGZvciB0aGUgbGlicmFyeQorICogQHR5cGU6ICB0aGUgdHlwZSBuYW1lCisgKgorICogQ2hlY2sgaWYgdGhlIGdpdmVuIHR5cGUgaXMgcHJvdmlkZWQgYnkKKyAqIHRoZSBkZWZhdWx0IGRhdGF0eXBlIGxpYnJhcnkuCisgKgorICogUmV0dXJucyAxIGlmIHllcywgMCBpZiBubyBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworc3RhdGljIGludAoreG1sUmVsYXhOR0RlZmF1bHRUeXBlSGF2ZSh2b2lkICpkYXRhIEFUVFJJQlVURV9VTlVTRUQsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiB0eXBlKQoreworICAgIGlmICh0eXBlID09IE5VTEwpCisgICAgICAgIHJldHVybiAoLTEpOworICAgIGlmICh4bWxTdHJFcXVhbCh0eXBlLCBCQURfQ0FTVCAic3RyaW5nIikpCisgICAgICAgIHJldHVybiAoMSk7CisgICAgaWYgKHhtbFN0ckVxdWFsKHR5cGUsIEJBRF9DQVNUICJ0b2tlbiIpKQorICAgICAgICByZXR1cm4gKDEpOworICAgIHJldHVybiAoMCk7Cit9CisKKy8qKgorICogeG1sUmVsYXhOR0RlZmF1bHRUeXBlQ2hlY2s6CisgKiBAZGF0YTogIGRhdGEgbmVlZGVkIGZvciB0aGUgbGlicmFyeQorICogQHR5cGU6ICB0aGUgdHlwZSBuYW1lCisgKiBAdmFsdWU6ICB0aGUgdmFsdWUgdG8gY2hlY2sKKyAqIEBub2RlOiAgdGhlIG5vZGUKKyAqCisgKiBDaGVjayBpZiB0aGUgZ2l2ZW4gdHlwZSBhbmQgdmFsdWUgYXJlIHZhbGlkYXRlZCBieQorICogdGhlIGRlZmF1bHQgZGF0YXR5cGUgbGlicmFyeS4KKyAqCisgKiBSZXR1cm5zIDEgaWYgeWVzLCAwIGlmIG5vIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yLgorICovCitzdGF0aWMgaW50Cit4bWxSZWxheE5HRGVmYXVsdFR5cGVDaGVjayh2b2lkICpkYXRhIEFUVFJJQlVURV9VTlVTRUQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogdHlwZSBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIHZhbHVlIEFUVFJJQlVURV9VTlVTRUQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoqcmVzdWx0IEFUVFJJQlVURV9VTlVTRUQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxOb2RlUHRyIG5vZGUgQVRUUklCVVRFX1VOVVNFRCkKK3sKKyAgICBpZiAodmFsdWUgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuICgtMSk7CisgICAgaWYgKHhtbFN0ckVxdWFsKHR5cGUsIEJBRF9DQVNUICJzdHJpbmciKSkKKyAgICAgICAgcmV0dXJuICgxKTsKKyAgICBpZiAoeG1sU3RyRXF1YWwodHlwZSwgQkFEX0NBU1QgInRva2VuIikpIHsKKyAgICAgICAgcmV0dXJuICgxKTsKKyAgICB9CisKKyAgICByZXR1cm4gKDApOworfQorCisvKioKKyAqIHhtbFJlbGF4TkdEZWZhdWx0VHlwZUNvbXBhcmU6CisgKiBAZGF0YTogIGRhdGEgbmVlZGVkIGZvciB0aGUgbGlicmFyeQorICogQHR5cGU6ICB0aGUgdHlwZSBuYW1lCisgKiBAdmFsdWUxOiAgdGhlIGZpcnN0IHZhbHVlCisgKiBAdmFsdWUyOiAgdGhlIHNlY29uZCB2YWx1ZQorICoKKyAqIENvbXBhcmUgdHdvIHZhbHVlcyBhY2NvcmRpbmdseSBhIHR5cGUgZnJvbSB0aGUgZGVmYXVsdAorICogZGF0YXR5cGUgbGlicmFyeS4KKyAqCisgKiBSZXR1cm5zIDEgaWYgeWVzLCAwIGlmIG5vIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yLgorICovCitzdGF0aWMgaW50Cit4bWxSZWxheE5HRGVmYXVsdFR5cGVDb21wYXJlKHZvaWQgKmRhdGEgQVRUUklCVVRFX1VOVVNFRCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIHR5cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiB2YWx1ZTEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbE5vZGVQdHIgY3R4dDEgQVRUUklCVVRFX1VOVVNFRCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqY29tcDEgQVRUUklCVVRFX1VOVVNFRCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIHZhbHVlMiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sTm9kZVB0ciBjdHh0MiBBVFRSSUJVVEVfVU5VU0VEKQoreworICAgIGludCByZXQgPSAtMTsKKworICAgIGlmICh4bWxTdHJFcXVhbCh0eXBlLCBCQURfQ0FTVCAic3RyaW5nIikpIHsKKyAgICAgICAgcmV0ID0geG1sU3RyRXF1YWwodmFsdWUxLCB2YWx1ZTIpOworICAgIH0gZWxzZSBpZiAoeG1sU3RyRXF1YWwodHlwZSwgQkFEX0NBU1QgInRva2VuIikpIHsKKyAgICAgICAgaWYgKCF4bWxTdHJFcXVhbCh2YWx1ZTEsIHZhbHVlMikpIHsKKyAgICAgICAgICAgIHhtbENoYXIgKm52YWwsICpudmFsdWU7CisKKyAgICAgICAgICAgIC8qCisgICAgICAgICAgICAgKiBUT0RPOiB0cml2aWFsIG9wdGltaXphdGlvbnMgYXJlIHBvc3NpYmxlIGJ5CisgICAgICAgICAgICAgKiBjb21wdXRpbmcgYXQgY29tcGlsZS10aW1lCisgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgIG52YWwgPSB4bWxSZWxheE5HTm9ybWFsaXplKE5VTEwsIHZhbHVlMSk7CisgICAgICAgICAgICBudmFsdWUgPSB4bWxSZWxheE5HTm9ybWFsaXplKE5VTEwsIHZhbHVlMik7CisKKyAgICAgICAgICAgIGlmICgobnZhbCA9PSBOVUxMKSB8fCAobnZhbHVlID09IE5VTEwpKQorICAgICAgICAgICAgICAgIHJldCA9IC0xOworICAgICAgICAgICAgZWxzZSBpZiAoeG1sU3RyRXF1YWwobnZhbCwgbnZhbHVlKSkKKyAgICAgICAgICAgICAgICByZXQgPSAxOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHJldCA9IDA7CisgICAgICAgICAgICBpZiAobnZhbCAhPSBOVUxMKQorICAgICAgICAgICAgICAgIHhtbEZyZWUobnZhbCk7CisgICAgICAgICAgICBpZiAobnZhbHVlICE9IE5VTEwpCisgICAgICAgICAgICAgICAgeG1sRnJlZShudmFsdWUpOworICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgIHJldCA9IDE7CisgICAgfQorICAgIHJldHVybiAocmV0KTsKK30KKworc3RhdGljIGludCB4bWxSZWxheE5HVHlwZUluaXRpYWxpemVkID0gMDsKK3N0YXRpYyB4bWxIYXNoVGFibGVQdHIgeG1sUmVsYXhOR1JlZ2lzdGVyZWRUeXBlcyA9IE5VTEw7CisKKy8qKgorICogeG1sUmVsYXhOR0ZyZWVUeXBlTGlicmFyeToKKyAqIEBsaWI6ICB0aGUgdHlwZSBsaWJyYXJ5IHN0cnVjdHVyZQorICogQG5hbWVzcGFjZTogIHRoZSBVUkkgYm91bmQgdG8gdGhlIGxpYnJhcnkKKyAqCisgKiBGcmVlIHRoZSBzdHJ1Y3R1cmUgYXNzb2NpYXRlZCB0byB0aGUgdHlwZSBsaWJyYXJ5CisgKi8KK3N0YXRpYyB2b2lkCit4bWxSZWxheE5HRnJlZVR5cGVMaWJyYXJ5KHhtbFJlbGF4TkdUeXBlTGlicmFyeVB0ciBsaWIsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBuYW1lc3BhY2UgQVRUUklCVVRFX1VOVVNFRCkKK3sKKyAgICBpZiAobGliID09IE5VTEwpCisgICAgICAgIHJldHVybjsKKyAgICBpZiAobGliLT5uYW1lc3BhY2UgIT0gTlVMTCkKKyAgICAgICAgeG1sRnJlZSgoeG1sQ2hhciAqKSBsaWItPm5hbWVzcGFjZSk7CisgICAgeG1sRnJlZShsaWIpOworfQorCisvKioKKyAqIHhtbFJlbGF4TkdSZWdpc3RlclR5cGVMaWJyYXJ5OgorICogQG5hbWVzcGFjZTogIHRoZSBVUkkgYm91bmQgdG8gdGhlIGxpYnJhcnkKKyAqIEBkYXRhOiAgZGF0YSBhc3NvY2lhdGVkIHRvIHRoZSBsaWJyYXJ5CisgKiBAaGF2ZTogIHRoZSBwcm92aWRlIGZ1bmN0aW9uCisgKiBAY2hlY2s6ICB0aGUgY2hlY2tpbmcgZnVuY3Rpb24KKyAqIEBjb21wOiAgdGhlIGNvbXBhcmlzb24gZnVuY3Rpb24KKyAqCisgKiBSZWdpc3RlciBhIG5ldyB0eXBlIGxpYnJhcnkKKyAqCisgKiBSZXR1cm5zIDAgaW4gY2FzZSBvZiBzdWNjZXNzIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yLgorICovCitzdGF0aWMgaW50Cit4bWxSZWxheE5HUmVnaXN0ZXJUeXBlTGlicmFyeShjb25zdCB4bWxDaGFyICogbmFtZXNwYWNlLCB2b2lkICpkYXRhLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sUmVsYXhOR1R5cGVIYXZlIGhhdmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxSZWxheE5HVHlwZUNoZWNrIGNoZWNrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sUmVsYXhOR1R5cGVDb21wYXJlIGNvbXAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxSZWxheE5HRmFjZXRDaGVjayBmYWNldCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdUeXBlRnJlZSBmcmVlZikKK3sKKyAgICB4bWxSZWxheE5HVHlwZUxpYnJhcnlQdHIgbGliOworICAgIGludCByZXQ7CisKKyAgICBpZiAoKHhtbFJlbGF4TkdSZWdpc3RlcmVkVHlwZXMgPT0gTlVMTCkgfHwgKG5hbWVzcGFjZSA9PSBOVUxMKSB8fAorICAgICAgICAoY2hlY2sgPT0gTlVMTCkgfHwgKGNvbXAgPT0gTlVMTCkpCisgICAgICAgIHJldHVybiAoLTEpOworICAgIGlmICh4bWxIYXNoTG9va3VwKHhtbFJlbGF4TkdSZWdpc3RlcmVkVHlwZXMsIG5hbWVzcGFjZSkgIT0gTlVMTCkgeworICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJSZWxheC1ORyB0eXBlcyBsaWJyYXJ5ICclcycgYWxyZWFkeSByZWdpc3RlcmVkXG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgbmFtZXNwYWNlKTsKKyAgICAgICAgcmV0dXJuICgtMSk7CisgICAgfQorICAgIGxpYiA9CisgICAgICAgICh4bWxSZWxheE5HVHlwZUxpYnJhcnlQdHIpCisgICAgICAgIHhtbE1hbGxvYyhzaXplb2YoeG1sUmVsYXhOR1R5cGVMaWJyYXJ5KSk7CisgICAgaWYgKGxpYiA9PSBOVUxMKSB7CisgICAgICAgIHhtbFJuZ1ZFcnJNZW1vcnkoTlVMTCwgImFkZGluZyB0eXBlcyBsaWJyYXJ5XG4iKTsKKyAgICAgICAgcmV0dXJuICgtMSk7CisgICAgfQorICAgIG1lbXNldChsaWIsIDAsIHNpemVvZih4bWxSZWxheE5HVHlwZUxpYnJhcnkpKTsKKyAgICBsaWItPm5hbWVzcGFjZSA9IHhtbFN0cmR1cChuYW1lc3BhY2UpOworICAgIGxpYi0+ZGF0YSA9IGRhdGE7CisgICAgbGliLT5oYXZlID0gaGF2ZTsKKyAgICBsaWItPmNvbXAgPSBjb21wOworICAgIGxpYi0+Y2hlY2sgPSBjaGVjazsKKyAgICBsaWItPmZhY2V0ID0gZmFjZXQ7CisgICAgbGliLT5mcmVlZiA9IGZyZWVmOworICAgIHJldCA9IHhtbEhhc2hBZGRFbnRyeSh4bWxSZWxheE5HUmVnaXN0ZXJlZFR5cGVzLCBuYW1lc3BhY2UsIGxpYik7CisgICAgaWYgKHJldCA8IDApIHsKKyAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAiUmVsYXgtTkcgdHlwZXMgbGlicmFyeSBmYWlsZWQgdG8gcmVnaXN0ZXIgJyVzJ1xuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgIG5hbWVzcGFjZSk7CisgICAgICAgIHhtbFJlbGF4TkdGcmVlVHlwZUxpYnJhcnkobGliLCBuYW1lc3BhY2UpOworICAgICAgICByZXR1cm4gKC0xKTsKKyAgICB9CisgICAgcmV0dXJuICgwKTsKK30KKworLyoqCisgKiB4bWxSZWxheE5HSW5pdFR5cGVzOgorICoKKyAqIEluaXRpbGl6ZSB0aGUgZGVmYXVsdCB0eXBlIGxpYnJhcmllcy4KKyAqCisgKiBSZXR1cm5zIDAgaW4gY2FzZSBvZiBzdWNjZXNzIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQKK3htbFJlbGF4TkdJbml0VHlwZXModm9pZCkKK3sKKyAgICBpZiAoeG1sUmVsYXhOR1R5cGVJbml0aWFsaXplZCAhPSAwKQorICAgICAgICByZXR1cm4gKDApOworICAgIHhtbFJlbGF4TkdSZWdpc3RlcmVkVHlwZXMgPSB4bWxIYXNoQ3JlYXRlKDEwKTsKKyAgICBpZiAoeG1sUmVsYXhOR1JlZ2lzdGVyZWRUeXBlcyA9PSBOVUxMKSB7CisgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgIkZhaWxlZCB0byBhbGxvY2F0ZSBzaCB0YWJsZSBmb3IgUmVsYXgtTkcgdHlwZXNcbiIpOworICAgICAgICByZXR1cm4gKC0xKTsKKyAgICB9CisgICAgeG1sUmVsYXhOR1JlZ2lzdGVyVHlwZUxpYnJhcnkoQkFEX0NBU1QKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCB4bWxSZWxheE5HU2NoZW1hVHlwZUhhdmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sUmVsYXhOR1NjaGVtYVR5cGVDaGVjaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxSZWxheE5HU2NoZW1hVHlwZUNvbXBhcmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sUmVsYXhOR1NjaGVtYUZhY2V0Q2hlY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sUmVsYXhOR1NjaGVtYUZyZWVWYWx1ZSk7CisgICAgeG1sUmVsYXhOR1JlZ2lzdGVyVHlwZUxpYnJhcnkoeG1sUmVsYXhOR05zLCBOVUxMLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdEZWZhdWx0VHlwZUhhdmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sUmVsYXhOR0RlZmF1bHRUeXBlQ2hlY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sUmVsYXhOR0RlZmF1bHRUeXBlQ29tcGFyZSwgTlVMTCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsKKyAgICB4bWxSZWxheE5HVHlwZUluaXRpYWxpemVkID0gMTsKKyAgICByZXR1cm4gKDApOworfQorCisvKioKKyAqIHhtbFJlbGF4TkdDbGVhbnVwVHlwZXM6CisgKgorICogQ2xlYW51cCB0aGUgZGVmYXVsdCBTY2hlbWFzIHR5cGUgbGlicmFyeSBhc3NvY2lhdGVkIHRvIFJlbGF4TkcKKyAqLwordm9pZAoreG1sUmVsYXhOR0NsZWFudXBUeXBlcyh2b2lkKQoreworICAgIHhtbFNjaGVtYUNsZWFudXBUeXBlcygpOworICAgIGlmICh4bWxSZWxheE5HVHlwZUluaXRpYWxpemVkID09IDApCisgICAgICAgIHJldHVybjsKKyAgICB4bWxIYXNoRnJlZSh4bWxSZWxheE5HUmVnaXN0ZXJlZFR5cGVzLCAoeG1sSGFzaERlYWxsb2NhdG9yKQorICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdGcmVlVHlwZUxpYnJhcnkpOworICAgIHhtbFJlbGF4TkdUeXBlSW5pdGlhbGl6ZWQgPSAwOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQlDb21waWxpbmcgZWxlbWVudCBjb250ZW50IGludG8gcmVnZXhwCQkJKgorICoJCQkJCQkJCQkqCisgKiBTb21ldGltZSB0aGUgZWxlbWVudCBjb250ZW50IGNhbiBiZSBjb21waWxlZCBpbnRvIGEgcHVyZSByZWdleHAsCSoKKyAqIFRoaXMgYWxsb3dzIGEgZmFzdGVyIGV4ZWN1dGlvbiBhbmQgc3RyZWFtYWJpbGl0eSBhdCB0aGF0IGxldmVsCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyogZnJvbSBhdXRvbWF0YS5jIGJ1dCBub3QgZXhwb3J0ZWQgKi8KK3ZvaWQgeG1sQXV0b21hdGFTZXRGbGFncyh4bWxBdXRvbWF0YVB0ciBhbSwgaW50IGZsYWdzKTsKKworCitzdGF0aWMgaW50IHhtbFJlbGF4TkdUcnlDb21waWxlKHhtbFJlbGF4TkdQYXJzZXJDdHh0UHRyIGN0eHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdEZWZpbmVQdHIgZGVmKTsKKworLyoqCisgKiB4bWxSZWxheE5HSXNDb21waWxlYWJsZToKKyAqIEBkZWZpbmU6ICB0aGUgZGVmaW5pdGlvbiB0byBjaGVjaworICoKKyAqIENoZWNrIGlmIGEgZGVmaW5pdGlvbiBpcyBudWxsYWJsZS4KKyAqCisgKiBSZXR1cm5zIDEgaWYgeWVzLCAwIGlmIG5vIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3N0YXRpYyBpbnQKK3htbFJlbGF4TkdJc0NvbXBpbGVhYmxlKHhtbFJlbGF4TkdEZWZpbmVQdHIgZGVmKQoreworICAgIGludCByZXQgPSAtMTsKKworICAgIGlmIChkZWYgPT0gTlVMTCkgeworICAgICAgICByZXR1cm4gKC0xKTsKKyAgICB9CisgICAgaWYgKChkZWYtPnR5cGUgIT0gWE1MX1JFTEFYTkdfRUxFTUVOVCkgJiYKKyAgICAgICAgKGRlZi0+ZGZsYWdzICYgSVNfQ09NUElMQUJMRSkpCisgICAgICAgIHJldHVybiAoMSk7CisgICAgaWYgKChkZWYtPnR5cGUgIT0gWE1MX1JFTEFYTkdfRUxFTUVOVCkgJiYKKyAgICAgICAgKGRlZi0+ZGZsYWdzICYgSVNfTk9UX0NPTVBJTEFCTEUpKQorICAgICAgICByZXR1cm4gKDApOworICAgIHN3aXRjaCAoZGVmLT50eXBlKSB7CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfTk9PUDoKKyAgICAgICAgICAgIHJldCA9IHhtbFJlbGF4TkdJc0NvbXBpbGVhYmxlKGRlZi0+Y29udGVudCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19URVhUOgorICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX0VNUFRZOgorICAgICAgICAgICAgcmV0ID0gMTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX0VMRU1FTlQ6CisgICAgICAgICAgICAvKgorICAgICAgICAgICAgICogQ2hlY2sgaWYgdGhlIGVsZW1lbnQgY29udGVudCBpcyBjb21waWxlYWJsZQorICAgICAgICAgICAgICovCisgICAgICAgICAgICBpZiAoKChkZWYtPmRmbGFncyAmIElTX05PVF9DT01QSUxBQkxFKSA9PSAwKSAmJgorICAgICAgICAgICAgICAgICgoZGVmLT5kZmxhZ3MgJiBJU19DT01QSUxBQkxFKSA9PSAwKSkgeworICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdEZWZpbmVQdHIgbGlzdDsKKworICAgICAgICAgICAgICAgIGxpc3QgPSBkZWYtPmNvbnRlbnQ7CisgICAgICAgICAgICAgICAgd2hpbGUgKGxpc3QgIT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICByZXQgPSB4bWxSZWxheE5HSXNDb21waWxlYWJsZShsaXN0KTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHJldCAhPSAxKQorICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgIGxpc3QgPSBsaXN0LT5uZXh0OworICAgICAgICAgICAgICAgIH0KKwkJLyoKKwkJICogQmVjYXVzZSB0aGUgcm91dGluZSBpcyByZWN1cnNpdmUsIHdlIG11c3QgZ3VhcmQgYWdhaW5zdAorCQkgKiBkaXNjb3ZlcmluZyBib3RoIENPTVBJTEFCTEUgYW5kIE5PVF9DT01QSUxBQkxFCisJCSAqLworICAgICAgICAgICAgICAgIGlmIChyZXQgPT0gMCkgeworCQkgICAgZGVmLT5kZmxhZ3MgJj0gfklTX0NPTVBJTEFCTEU7CisgICAgICAgICAgICAgICAgICAgIGRlZi0+ZGZsYWdzIHw9IElTX05PVF9DT01QSUxBQkxFOworCQl9CisgICAgICAgICAgICAgICAgaWYgKChyZXQgPT0gMSkgJiYgIShkZWYtPmRmbGFncyAmPSBJU19OT1RfQ09NUElMQUJMRSkpCisgICAgICAgICAgICAgICAgICAgIGRlZi0+ZGZsYWdzIHw9IElTX0NPTVBJTEFCTEU7CisjaWZkZWYgREVCVUdfQ09NUElMRQorICAgICAgICAgICAgICAgIGlmIChyZXQgPT0gMSkgeworICAgICAgICAgICAgICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJlbGVtZW50IGNvbnRlbnQgZm9yICVzIGlzIGNvbXBpbGFibGVcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWYtPm5hbWUpOworICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAocmV0ID09IDApIHsKKyAgICAgICAgICAgICAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZWxlbWVudCBjb250ZW50IGZvciAlcyBpcyBub3QgY29tcGlsYWJsZVxuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZi0+bmFtZSk7CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUHJvYmxlbSBpbiBSZWxheE5HSXNDb21waWxlYWJsZSBmb3IgZWxlbWVudCAlc1xuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZi0+bmFtZSk7CisgICAgICAgICAgICAgICAgfQorI2VuZGlmCisgICAgICAgICAgICB9CisgICAgICAgICAgICAvKgorICAgICAgICAgICAgICogQWxsIGVsZW1lbnRzIHJldHVybiBhIGNvbXBpbGVhYmxlIHN0YXR1cyB1bmxlc3MgdGhleQorICAgICAgICAgICAgICogYXJlIGdlbmVyaWMgbGlrZSBhbnlOYW1lCisgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgIGlmICgoZGVmLT5uYW1lQ2xhc3MgIT0gTlVMTCkgfHwgKGRlZi0+bmFtZSA9PSBOVUxMKSkKKyAgICAgICAgICAgICAgICByZXQgPSAwOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHJldCA9IDE7CisgICAgICAgICAgICByZXR1cm4gKHJldCk7CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfUkVGOgorICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX0VYVEVSTkFMUkVGOgorICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX1BBUkVOVFJFRjoKKyAgICAgICAgICAgIGlmIChkZWYtPmRlcHRoID09IC0yMCkgeworICAgICAgICAgICAgICAgIHJldHVybiAoMSk7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdEZWZpbmVQdHIgbGlzdDsKKworICAgICAgICAgICAgICAgIGRlZi0+ZGVwdGggPSAtMjA7CisgICAgICAgICAgICAgICAgbGlzdCA9IGRlZi0+Y29udGVudDsKKyAgICAgICAgICAgICAgICB3aGlsZSAobGlzdCAhPSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgIHJldCA9IHhtbFJlbGF4TkdJc0NvbXBpbGVhYmxlKGxpc3QpOworICAgICAgICAgICAgICAgICAgICBpZiAocmV0ICE9IDEpCisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgbGlzdCA9IGxpc3QtPm5leHQ7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfU1RBUlQ6CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfT1BUSU9OQUw6CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfWkVST09STU9SRToKKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19PTkVPUk1PUkU6CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfQ0hPSUNFOgorICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX0dST1VQOgorICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX0RFRjp7CisgICAgICAgICAgICAgICAgeG1sUmVsYXhOR0RlZmluZVB0ciBsaXN0OworCisgICAgICAgICAgICAgICAgbGlzdCA9IGRlZi0+Y29udGVudDsKKyAgICAgICAgICAgICAgICB3aGlsZSAobGlzdCAhPSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgIHJldCA9IHhtbFJlbGF4TkdJc0NvbXBpbGVhYmxlKGxpc3QpOworICAgICAgICAgICAgICAgICAgICBpZiAocmV0ICE9IDEpCisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgbGlzdCA9IGxpc3QtPm5leHQ7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX0VYQ0VQVDoKKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19BVFRSSUJVVEU6CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfSU5URVJMRUFWRToKKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19EQVRBVFlQRToKKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19MSVNUOgorICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX1BBUkFNOgorICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX1ZBTFVFOgorICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX05PVF9BTExPV0VEOgorICAgICAgICAgICAgcmV0ID0gMDsKKyAgICAgICAgICAgIGJyZWFrOworICAgIH0KKyAgICBpZiAocmV0ID09IDApCisgICAgICAgIGRlZi0+ZGZsYWdzIHw9IElTX05PVF9DT01QSUxBQkxFOworICAgIGlmIChyZXQgPT0gMSkKKyAgICAgICAgZGVmLT5kZmxhZ3MgfD0gSVNfQ09NUElMQUJMRTsKKyNpZmRlZiBERUJVR19DT01QSUxFCisgICAgaWYgKHJldCA9PSAxKSB7CisgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgIlJlbGF4TkdJc0NvbXBpbGVhYmxlICVzIDogdHJ1ZVxuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdEZWZOYW1lKGRlZikpOworICAgIH0gZWxzZSBpZiAocmV0ID09IDApIHsKKyAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAiUmVsYXhOR0lzQ29tcGlsZWFibGUgJXMgOiBmYWxzZVxuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdEZWZOYW1lKGRlZikpOworICAgIH0gZWxzZSB7CisgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgIlByb2JsZW0gaW4gUmVsYXhOR0lzQ29tcGlsZWFibGUgJXNcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICB4bWxSZWxheE5HRGVmTmFtZShkZWYpKTsKKyAgICB9CisjZW5kaWYKKyAgICByZXR1cm4gKHJldCk7Cit9CisKKy8qKgorICogeG1sUmVsYXhOR0NvbXBpbGU6CisgKiBjdHh0OiAgdGhlIFJlbGF4TkcgcGFyc2VyIGNvbnRleHQKKyAqIEBkZWZpbmU6ICB0aGUgZGVmaW5pdGlvbiB0cmVlIHRvIGNvbXBpbGUKKyAqCisgKiBDb21waWxlIHRoZSBzZXQgb2YgZGVmaW5pdGlvbnMsIGl0IHdvcmtzIHJlY3Vyc2l2ZWx5LCB0aWxsIHRoZQorICogZWxlbWVudCBib3VuZGFyaWVzLCB3aGVyZSBpdCB0cmllcyB0byBjb21waWxlIHRoZSBjb250ZW50IGlmIHBvc3NpYmxlCisgKgorICogUmV0dXJucyAwIGlmIHN1Y2Nlc3MgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworc3RhdGljIGludAoreG1sUmVsYXhOR0NvbXBpbGUoeG1sUmVsYXhOR1BhcnNlckN0eHRQdHIgY3R4dCwgeG1sUmVsYXhOR0RlZmluZVB0ciBkZWYpCit7CisgICAgaW50IHJldCA9IDA7CisgICAgeG1sUmVsYXhOR0RlZmluZVB0ciBsaXN0OworCisgICAgaWYgKChjdHh0ID09IE5VTEwpIHx8IChkZWYgPT0gTlVMTCkpCisgICAgICAgIHJldHVybiAoLTEpOworCisgICAgc3dpdGNoIChkZWYtPnR5cGUpIHsKKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19TVEFSVDoKKyAgICAgICAgICAgIGlmICgoeG1sUmVsYXhOR0lzQ29tcGlsZWFibGUoZGVmKSA9PSAxKSAmJiAoZGVmLT5kZXB0aCAhPSAtMjUpKSB7CisgICAgICAgICAgICAgICAgeG1sQXV0b21hdGFQdHIgb2xkYW0gPSBjdHh0LT5hbTsKKyAgICAgICAgICAgICAgICB4bWxBdXRvbWF0YVN0YXRlUHRyIG9sZHN0YXRlID0gY3R4dC0+c3RhdGU7CisKKyAgICAgICAgICAgICAgICBkZWYtPmRlcHRoID0gLTI1OworCisgICAgICAgICAgICAgICAgbGlzdCA9IGRlZi0+Y29udGVudDsKKyAgICAgICAgICAgICAgICBjdHh0LT5hbSA9IHhtbE5ld0F1dG9tYXRhKCk7CisgICAgICAgICAgICAgICAgaWYgKGN0eHQtPmFtID09IE5VTEwpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiAoLTEpOworCisgICAgICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAgICAgKiBhc3N1bWUgaWRlbnRpY2FsIHN0cmluZ3MgYnV0IG5vdCBzYW1lIHBvaW50ZXIgYXJlIGRpZmZlcmVudAorICAgICAgICAgICAgICAgICAqIGF0b21zLCBuZWVkZWQgZm9yIG5vbi1kZXRlcm1pbmlzbSBkZXRlY3Rpb24KKyAgICAgICAgICAgICAgICAgKiBUaGF0IHdheSBpZiAyIGVsZW1lbnRzIHdpdGggdGhlIHNhbWUgbmFtZSBhcmUgaW4gYSBjaG9pY2UKKyAgICAgICAgICAgICAgICAgKiBicmFuY2ggdGhlIGF1dG9tYXRhIGlzIGZvdW5kIG5vbi1kZXRlcm1pbmlzdGljIGFuZAorICAgICAgICAgICAgICAgICAqIHdlIGZhbGxiYWNrIHRvIHRoZSBub3JtYWwgdmFsaWRhdGlvbiB3aGljaCBkb2VzIHRoZSByaWdodAorICAgICAgICAgICAgICAgICAqIHRoaW5nIG9mIGV4cGxvcmluZyBib3RoIGNob2ljZXMuCisgICAgICAgICAgICAgICAgICovCisgICAgICAgICAgICAgICAgeG1sQXV0b21hdGFTZXRGbGFncyhjdHh0LT5hbSwgMSk7CisKKyAgICAgICAgICAgICAgICBjdHh0LT5zdGF0ZSA9IHhtbEF1dG9tYXRhR2V0SW5pdFN0YXRlKGN0eHQtPmFtKTsKKyAgICAgICAgICAgICAgICB3aGlsZSAobGlzdCAhPSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdDb21waWxlKGN0eHQsIGxpc3QpOworICAgICAgICAgICAgICAgICAgICBsaXN0ID0gbGlzdC0+bmV4dDsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgeG1sQXV0b21hdGFTZXRGaW5hbFN0YXRlKGN0eHQtPmFtLCBjdHh0LT5zdGF0ZSk7CisgICAgICAgICAgICAgICAgaWYgKHhtbEF1dG9tYXRhSXNEZXRlcm1pbmlzdChjdHh0LT5hbSkpCisgICAgICAgICAgICAgICAgICAgIGRlZi0+Y29udE1vZGVsID0geG1sQXV0b21hdGFDb21waWxlKGN0eHQtPmFtKTsKKworICAgICAgICAgICAgICAgIHhtbEZyZWVBdXRvbWF0YShjdHh0LT5hbSk7CisgICAgICAgICAgICAgICAgY3R4dC0+c3RhdGUgPSBvbGRzdGF0ZTsKKyAgICAgICAgICAgICAgICBjdHh0LT5hbSA9IG9sZGFtOworICAgICAgICAgICAgfQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfRUxFTUVOVDoKKyAgICAgICAgICAgIGlmICgoY3R4dC0+YW0gIT0gTlVMTCkgJiYgKGRlZi0+bmFtZSAhPSBOVUxMKSkgeworICAgICAgICAgICAgICAgIGN0eHQtPnN0YXRlID0geG1sQXV0b21hdGFOZXdUcmFuc2l0aW9uMihjdHh0LT5hbSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3R4dC0+c3RhdGUsIE5VTEwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZi0+bmFtZSwgZGVmLT5ucywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmICgoZGVmLT5kZmxhZ3MgJiBJU19DT01QSUxBQkxFKSAmJiAoZGVmLT5kZXB0aCAhPSAtMjUpKSB7CisgICAgICAgICAgICAgICAgeG1sQXV0b21hdGFQdHIgb2xkYW0gPSBjdHh0LT5hbTsKKyAgICAgICAgICAgICAgICB4bWxBdXRvbWF0YVN0YXRlUHRyIG9sZHN0YXRlID0gY3R4dC0+c3RhdGU7CisKKyAgICAgICAgICAgICAgICBkZWYtPmRlcHRoID0gLTI1OworCisgICAgICAgICAgICAgICAgbGlzdCA9IGRlZi0+Y29udGVudDsKKyAgICAgICAgICAgICAgICBjdHh0LT5hbSA9IHhtbE5ld0F1dG9tYXRhKCk7CisgICAgICAgICAgICAgICAgaWYgKGN0eHQtPmFtID09IE5VTEwpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiAoLTEpOworICAgICAgICAgICAgICAgIHhtbEF1dG9tYXRhU2V0RmxhZ3MoY3R4dC0+YW0sIDEpOworICAgICAgICAgICAgICAgIGN0eHQtPnN0YXRlID0geG1sQXV0b21hdGFHZXRJbml0U3RhdGUoY3R4dC0+YW0pOworICAgICAgICAgICAgICAgIHdoaWxlIChsaXN0ICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgeG1sUmVsYXhOR0NvbXBpbGUoY3R4dCwgbGlzdCk7CisgICAgICAgICAgICAgICAgICAgIGxpc3QgPSBsaXN0LT5uZXh0OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB4bWxBdXRvbWF0YVNldEZpbmFsU3RhdGUoY3R4dC0+YW0sIGN0eHQtPnN0YXRlKTsKKyAgICAgICAgICAgICAgICBkZWYtPmNvbnRNb2RlbCA9IHhtbEF1dG9tYXRhQ29tcGlsZShjdHh0LT5hbSk7CisgICAgICAgICAgICAgICAgaWYgKCF4bWxSZWdleHBJc0RldGVybWluaXN0KGRlZi0+Y29udE1vZGVsKSkgeworI2lmZGVmIERFQlVHX0NPTVBJTEUKKyAgICAgICAgICAgICAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAiQ29udGVudCBtb2RlbCBub3QgZGV0ZXJtaW5pc3QgJXNcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWYtPm5hbWUpOworI2VuZGlmCisgICAgICAgICAgICAgICAgICAgIC8qCisgICAgICAgICAgICAgICAgICAgICAqIHdlIGNhbiBvbmx5IHVzZSB0aGUgYXV0b21hdGEgaWYgaXQgaXMgZGV0ZXJtaW5pc3QKKyAgICAgICAgICAgICAgICAgICAgICovCisgICAgICAgICAgICAgICAgICAgIHhtbFJlZ0ZyZWVSZWdleHAoZGVmLT5jb250TW9kZWwpOworICAgICAgICAgICAgICAgICAgICBkZWYtPmNvbnRNb2RlbCA9IE5VTEw7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHhtbEZyZWVBdXRvbWF0YShjdHh0LT5hbSk7CisgICAgICAgICAgICAgICAgY3R4dC0+c3RhdGUgPSBvbGRzdGF0ZTsKKyAgICAgICAgICAgICAgICBjdHh0LT5hbSA9IG9sZGFtOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICB4bWxBdXRvbWF0YVB0ciBvbGRhbSA9IGN0eHQtPmFtOworCisgICAgICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAgICAgKiB3ZSBjYW4ndCBidWlsZCB0aGUgY29udGVudCBtb2RlbCBmb3IgdGhpcyBlbGVtZW50IGNvbnRlbnQKKyAgICAgICAgICAgICAgICAgKiBidXQgaXQgc3RpbGwgbWlnaHQgYmUgcG9zc2libGUgdG8gYnVpbGQgaXQgZm9yIHNvbWUgb2YgaXRzCisgICAgICAgICAgICAgICAgICogY2hpbGRyZW4sIHJlY3Vyc2UuCisgICAgICAgICAgICAgICAgICovCisgICAgICAgICAgICAgICAgcmV0ID0geG1sUmVsYXhOR1RyeUNvbXBpbGUoY3R4dCwgZGVmKTsKKyAgICAgICAgICAgICAgICBjdHh0LT5hbSA9IG9sZGFtOworICAgICAgICAgICAgfQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfTk9PUDoKKyAgICAgICAgICAgIHJldCA9IHhtbFJlbGF4TkdDb21waWxlKGN0eHQsIGRlZi0+Y29udGVudCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19PUFRJT05BTDp7CisgICAgICAgICAgICAgICAgeG1sQXV0b21hdGFTdGF0ZVB0ciBvbGRzdGF0ZSA9IGN0eHQtPnN0YXRlOworCisgICAgICAgICAgICAgICAgbGlzdCA9IGRlZi0+Y29udGVudDsKKyAgICAgICAgICAgICAgICB3aGlsZSAobGlzdCAhPSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdDb21waWxlKGN0eHQsIGxpc3QpOworICAgICAgICAgICAgICAgICAgICBsaXN0ID0gbGlzdC0+bmV4dDsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgeG1sQXV0b21hdGFOZXdFcHNpbG9uKGN0eHQtPmFtLCBvbGRzdGF0ZSwgY3R4dC0+c3RhdGUpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX1pFUk9PUk1PUkU6eworICAgICAgICAgICAgICAgIHhtbEF1dG9tYXRhU3RhdGVQdHIgb2xkc3RhdGU7CisKKyAgICAgICAgICAgICAgICBjdHh0LT5zdGF0ZSA9CisgICAgICAgICAgICAgICAgICAgIHhtbEF1dG9tYXRhTmV3RXBzaWxvbihjdHh0LT5hbSwgY3R4dC0+c3RhdGUsIE5VTEwpOworICAgICAgICAgICAgICAgIG9sZHN0YXRlID0gY3R4dC0+c3RhdGU7CisgICAgICAgICAgICAgICAgbGlzdCA9IGRlZi0+Y29udGVudDsKKyAgICAgICAgICAgICAgICB3aGlsZSAobGlzdCAhPSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdDb21waWxlKGN0eHQsIGxpc3QpOworICAgICAgICAgICAgICAgICAgICBsaXN0ID0gbGlzdC0+bmV4dDsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgeG1sQXV0b21hdGFOZXdFcHNpbG9uKGN0eHQtPmFtLCBjdHh0LT5zdGF0ZSwgb2xkc3RhdGUpOworICAgICAgICAgICAgICAgIGN0eHQtPnN0YXRlID0KKyAgICAgICAgICAgICAgICAgICAgeG1sQXV0b21hdGFOZXdFcHNpbG9uKGN0eHQtPmFtLCBvbGRzdGF0ZSwgTlVMTCk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfT05FT1JNT1JFOnsKKyAgICAgICAgICAgICAgICB4bWxBdXRvbWF0YVN0YXRlUHRyIG9sZHN0YXRlOworCisgICAgICAgICAgICAgICAgbGlzdCA9IGRlZi0+Y29udGVudDsKKyAgICAgICAgICAgICAgICB3aGlsZSAobGlzdCAhPSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdDb21waWxlKGN0eHQsIGxpc3QpOworICAgICAgICAgICAgICAgICAgICBsaXN0ID0gbGlzdC0+bmV4dDsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgb2xkc3RhdGUgPSBjdHh0LT5zdGF0ZTsKKyAgICAgICAgICAgICAgICBsaXN0ID0gZGVmLT5jb250ZW50OworICAgICAgICAgICAgICAgIHdoaWxlIChsaXN0ICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgeG1sUmVsYXhOR0NvbXBpbGUoY3R4dCwgbGlzdCk7CisgICAgICAgICAgICAgICAgICAgIGxpc3QgPSBsaXN0LT5uZXh0OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB4bWxBdXRvbWF0YU5ld0Vwc2lsb24oY3R4dC0+YW0sIGN0eHQtPnN0YXRlLCBvbGRzdGF0ZSk7CisgICAgICAgICAgICAgICAgY3R4dC0+c3RhdGUgPQorICAgICAgICAgICAgICAgICAgICB4bWxBdXRvbWF0YU5ld0Vwc2lsb24oY3R4dC0+YW0sIG9sZHN0YXRlLCBOVUxMKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19DSE9JQ0U6eworICAgICAgICAgICAgICAgIHhtbEF1dG9tYXRhU3RhdGVQdHIgdGFyZ2V0ID0gTlVMTDsKKyAgICAgICAgICAgICAgICB4bWxBdXRvbWF0YVN0YXRlUHRyIG9sZHN0YXRlID0gY3R4dC0+c3RhdGU7CisKKyAgICAgICAgICAgICAgICBsaXN0ID0gZGVmLT5jb250ZW50OworICAgICAgICAgICAgICAgIHdoaWxlIChsaXN0ICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgY3R4dC0+c3RhdGUgPSBvbGRzdGF0ZTsKKyAgICAgICAgICAgICAgICAgICAgcmV0ID0geG1sUmVsYXhOR0NvbXBpbGUoY3R4dCwgbGlzdCk7CisgICAgICAgICAgICAgICAgICAgIGlmIChyZXQgIT0gMCkKKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICBpZiAodGFyZ2V0ID09IE5VTEwpCisgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQgPSBjdHh0LT5zdGF0ZTsKKyAgICAgICAgICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICB4bWxBdXRvbWF0YU5ld0Vwc2lsb24oY3R4dC0+YW0sIGN0eHQtPnN0YXRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldCk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgbGlzdCA9IGxpc3QtPm5leHQ7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGN0eHQtPnN0YXRlID0gdGFyZ2V0OworCisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfUkVGOgorICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX0VYVEVSTkFMUkVGOgorICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX1BBUkVOVFJFRjoKKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19HUk9VUDoKKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19ERUY6CisgICAgICAgICAgICBsaXN0ID0gZGVmLT5jb250ZW50OworICAgICAgICAgICAgd2hpbGUgKGxpc3QgIT0gTlVMTCkgeworICAgICAgICAgICAgICAgIHJldCA9IHhtbFJlbGF4TkdDb21waWxlKGN0eHQsIGxpc3QpOworICAgICAgICAgICAgICAgIGlmIChyZXQgIT0gMCkKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgbGlzdCA9IGxpc3QtPm5leHQ7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19URVhUOnsKKyAgICAgICAgICAgICAgICB4bWxBdXRvbWF0YVN0YXRlUHRyIG9sZHN0YXRlOworCisgICAgICAgICAgICAgICAgY3R4dC0+c3RhdGUgPQorICAgICAgICAgICAgICAgICAgICB4bWxBdXRvbWF0YU5ld0Vwc2lsb24oY3R4dC0+YW0sIGN0eHQtPnN0YXRlLCBOVUxMKTsKKyAgICAgICAgICAgICAgICBvbGRzdGF0ZSA9IGN0eHQtPnN0YXRlOworICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdDb21waWxlKGN0eHQsIGRlZi0+Y29udGVudCk7CisgICAgICAgICAgICAgICAgeG1sQXV0b21hdGFOZXdUcmFuc2l0aW9uKGN0eHQtPmFtLCBjdHh0LT5zdGF0ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3R4dC0+c3RhdGUsIEJBRF9DQVNUICIjdGV4dCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOworICAgICAgICAgICAgICAgIGN0eHQtPnN0YXRlID0KKyAgICAgICAgICAgICAgICAgICAgeG1sQXV0b21hdGFOZXdFcHNpbG9uKGN0eHQtPmFtLCBvbGRzdGF0ZSwgTlVMTCk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfRU1QVFk6CisgICAgICAgICAgICBjdHh0LT5zdGF0ZSA9CisgICAgICAgICAgICAgICAgeG1sQXV0b21hdGFOZXdFcHNpbG9uKGN0eHQtPmFtLCBjdHh0LT5zdGF0ZSwgTlVMTCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19FWENFUFQ6CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfQVRUUklCVVRFOgorICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX0lOVEVSTEVBVkU6CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfTk9UX0FMTE9XRUQ6CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfREFUQVRZUEU6CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfTElTVDoKKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19QQVJBTToKKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19WQUxVRToKKyAgICAgICAgICAgIC8qIFRoaXMgc2hvdWxkIG5vdCBoYXBwZW4gYW5kIGdlbmVyYXRlIGFuIGludGVybmFsIGVycm9yICovCisgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIlJORyBpbnRlcm5hbCBlcnJvciB0cnlpbmcgdG8gY29tcGlsZSAlc1xuIiwKKyAgICAgICAgICAgICAgICAgICAgeG1sUmVsYXhOR0RlZk5hbWUoZGVmKSk7CisgICAgICAgICAgICBicmVhazsKKyAgICB9CisgICAgcmV0dXJuIChyZXQpOworfQorCisvKioKKyAqIHhtbFJlbGF4TkdUcnlDb21waWxlOgorICogY3R4dDogIHRoZSBSZWxheE5HIHBhcnNlciBjb250ZXh0CisgKiBAZGVmaW5lOiAgdGhlIGRlZmluaXRpb24gdHJlZSB0byBjb21waWxlCisgKgorICogVHJ5IHRvIGNvbXBpbGUgdGhlIHNldCBvZiBkZWZpbml0aW9ucywgaXQgd29ya3MgcmVjdXJzaXZlbHksCisgKiBwb3NzaWJseSBpZ25vcmluZyBwYXJ0cyB3aGljaCBjYW5ub3QgYmUgY29tcGlsZWQuCisgKgorICogUmV0dXJucyAwIGlmIHN1Y2Nlc3MgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworc3RhdGljIGludAoreG1sUmVsYXhOR1RyeUNvbXBpbGUoeG1sUmVsYXhOR1BhcnNlckN0eHRQdHIgY3R4dCwgeG1sUmVsYXhOR0RlZmluZVB0ciBkZWYpCit7CisgICAgaW50IHJldCA9IDA7CisgICAgeG1sUmVsYXhOR0RlZmluZVB0ciBsaXN0OworCisgICAgaWYgKChjdHh0ID09IE5VTEwpIHx8IChkZWYgPT0gTlVMTCkpCisgICAgICAgIHJldHVybiAoLTEpOworCisgICAgaWYgKChkZWYtPnR5cGUgPT0gWE1MX1JFTEFYTkdfU1RBUlQpIHx8CisgICAgICAgIChkZWYtPnR5cGUgPT0gWE1MX1JFTEFYTkdfRUxFTUVOVCkpIHsKKyAgICAgICAgcmV0ID0geG1sUmVsYXhOR0lzQ29tcGlsZWFibGUoZGVmKTsKKyAgICAgICAgaWYgKChkZWYtPmRmbGFncyAmIElTX0NPTVBJTEFCTEUpICYmIChkZWYtPmRlcHRoICE9IC0yNSkpIHsKKyAgICAgICAgICAgIGN0eHQtPmFtID0gTlVMTDsKKyAgICAgICAgICAgIHJldCA9IHhtbFJlbGF4TkdDb21waWxlKGN0eHQsIGRlZik7CisjaWZkZWYgREVCVUdfUFJPR1JFU1NJVkUKKyAgICAgICAgICAgIGlmIChyZXQgPT0gMCkgeworICAgICAgICAgICAgICAgIGlmIChkZWYtPnR5cGUgPT0gWE1MX1JFTEFYTkdfU1RBUlQpCisgICAgICAgICAgICAgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvbXBpbGVkIHRoZSBzdGFydFxuIik7CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb21waWxlZCBlbGVtZW50ICVzXG4iLCBkZWYtPm5hbWUpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBpZiAoZGVmLT50eXBlID09IFhNTF9SRUxBWE5HX1NUQVJUKQorICAgICAgICAgICAgICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmYWlsZWQgdG8gY29tcGlsZSB0aGUgc3RhcnRcbiIpOworICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZmFpbGVkIHRvIGNvbXBpbGUgZWxlbWVudCAlc1xuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZi0+bmFtZSk7CisgICAgICAgICAgICB9CisjZW5kaWYKKyAgICAgICAgICAgIHJldHVybiAocmV0KTsKKyAgICAgICAgfQorICAgIH0KKyAgICBzd2l0Y2ggKGRlZi0+dHlwZSkgeworICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX05PT1A6CisgICAgICAgICAgICByZXQgPSB4bWxSZWxheE5HVHJ5Q29tcGlsZShjdHh0LCBkZWYtPmNvbnRlbnQpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfVEVYVDoKKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19EQVRBVFlQRToKKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19MSVNUOgorICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX1BBUkFNOgorICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX1ZBTFVFOgorICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX0VNUFRZOgorICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX0VMRU1FTlQ6CisgICAgICAgICAgICByZXQgPSAwOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfT1BUSU9OQUw6CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfWkVST09STU9SRToKKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19PTkVPUk1PUkU6CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfQ0hPSUNFOgorICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX0dST1VQOgorICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX0RFRjoKKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19TVEFSVDoKKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19SRUY6CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfRVhURVJOQUxSRUY6CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfUEFSRU5UUkVGOgorICAgICAgICAgICAgbGlzdCA9IGRlZi0+Y29udGVudDsKKyAgICAgICAgICAgIHdoaWxlIChsaXN0ICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICByZXQgPSB4bWxSZWxheE5HVHJ5Q29tcGlsZShjdHh0LCBsaXN0KTsKKyAgICAgICAgICAgICAgICBpZiAocmV0ICE9IDApCisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIGxpc3QgPSBsaXN0LT5uZXh0OworICAgICAgICAgICAgfQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfRVhDRVBUOgorICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX0FUVFJJQlVURToKKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19JTlRFUkxFQVZFOgorICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX05PVF9BTExPV0VEOgorICAgICAgICAgICAgcmV0ID0gMDsKKyAgICAgICAgICAgIGJyZWFrOworICAgIH0KKyAgICByZXR1cm4gKHJldCk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCQlQYXJzaW5nIGZ1bmN0aW9ucwkJCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK3N0YXRpYyB4bWxSZWxheE5HRGVmaW5lUHRyIHhtbFJlbGF4TkdQYXJzZUF0dHJpYnV0ZSh4bWxSZWxheE5HUGFyc2VyQ3R4dFB0cgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN0eHQsIHhtbE5vZGVQdHIgbm9kZSk7CitzdGF0aWMgeG1sUmVsYXhOR0RlZmluZVB0ciB4bWxSZWxheE5HUGFyc2VFbGVtZW50KHhtbFJlbGF4TkdQYXJzZXJDdHh0UHRyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN0eHQsIHhtbE5vZGVQdHIgbm9kZSk7CitzdGF0aWMgeG1sUmVsYXhOR0RlZmluZVB0ciB4bWxSZWxheE5HUGFyc2VQYXR0ZXJucyh4bWxSZWxheE5HUGFyc2VyQ3R4dFB0cgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3R4dCwgeG1sTm9kZVB0ciBub2RlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBncm91cCk7CitzdGF0aWMgeG1sUmVsYXhOR0RlZmluZVB0ciB4bWxSZWxheE5HUGFyc2VQYXR0ZXJuKHhtbFJlbGF4TkdQYXJzZXJDdHh0UHRyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN0eHQsIHhtbE5vZGVQdHIgbm9kZSk7CitzdGF0aWMgeG1sUmVsYXhOR1B0ciB4bWxSZWxheE5HUGFyc2VEb2N1bWVudCh4bWxSZWxheE5HUGFyc2VyQ3R4dFB0ciBjdHh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sTm9kZVB0ciBub2RlKTsKK3N0YXRpYyBpbnQgeG1sUmVsYXhOR1BhcnNlR3JhbW1hckNvbnRlbnQoeG1sUmVsYXhOR1BhcnNlckN0eHRQdHIgY3R4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sTm9kZVB0ciBub2Rlcyk7CitzdGF0aWMgeG1sUmVsYXhOR0RlZmluZVB0ciB4bWxSZWxheE5HUGFyc2VOYW1lQ2xhc3MoeG1sUmVsYXhOR1BhcnNlckN0eHRQdHIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdHh0LCB4bWxOb2RlUHRyIG5vZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sUmVsYXhOR0RlZmluZVB0cgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZik7CitzdGF0aWMgeG1sUmVsYXhOR0dyYW1tYXJQdHIgeG1sUmVsYXhOR1BhcnNlR3JhbW1hcih4bWxSZWxheE5HUGFyc2VyQ3R4dFB0cgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3R4dCwgeG1sTm9kZVB0ciBub2Rlcyk7CitzdGF0aWMgaW50IHhtbFJlbGF4TkdFbGVtZW50TWF0Y2goeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0ciBjdHh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdEZWZpbmVQdHIgZGVmaW5lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbE5vZGVQdHIgZWxlbSk7CisKKworI2RlZmluZSBJU19CTEFOS19OT0RFKG4pICh4bWxSZWxheE5HSXNCbGFuaygobiktPmNvbnRlbnQpKQorCisvKioKKyAqIHhtbFJlbGF4TkdJc051bGxhYmxlOgorICogQGRlZmluZTogIHRoZSBkZWZpbml0aW9uIHRvIHZlcmlmeQorICoKKyAqIENoZWNrIGlmIGEgZGVmaW5pdGlvbiBpcyBudWxsYWJsZS4KKyAqCisgKiBSZXR1cm5zIDEgaWYgeWVzLCAwIGlmIG5vIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3N0YXRpYyBpbnQKK3htbFJlbGF4TkdJc051bGxhYmxlKHhtbFJlbGF4TkdEZWZpbmVQdHIgZGVmaW5lKQoreworICAgIGludCByZXQ7CisKKyAgICBpZiAoZGVmaW5lID09IE5VTEwpCisgICAgICAgIHJldHVybiAoLTEpOworCisgICAgaWYgKGRlZmluZS0+ZGZsYWdzICYgSVNfTlVMTEFCTEUpCisgICAgICAgIHJldHVybiAoMSk7CisgICAgaWYgKGRlZmluZS0+ZGZsYWdzICYgSVNfTk9UX05VTExBQkxFKQorICAgICAgICByZXR1cm4gKDApOworICAgIHN3aXRjaCAoZGVmaW5lLT50eXBlKSB7CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfRU1QVFk6CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfVEVYVDoKKyAgICAgICAgICAgIHJldCA9IDE7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19OT09QOgorICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX0RFRjoKKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19SRUY6CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfRVhURVJOQUxSRUY6CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfUEFSRU5UUkVGOgorICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX09ORU9STU9SRToKKyAgICAgICAgICAgIHJldCA9IHhtbFJlbGF4TkdJc051bGxhYmxlKGRlZmluZS0+Y29udGVudCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19FWENFUFQ6CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfTk9UX0FMTE9XRUQ6CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfRUxFTUVOVDoKKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19EQVRBVFlQRToKKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19QQVJBTToKKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19WQUxVRToKKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19MSVNUOgorICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX0FUVFJJQlVURToKKyAgICAgICAgICAgIHJldCA9IDA7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19DSE9JQ0U6eworICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdEZWZpbmVQdHIgbGlzdCA9IGRlZmluZS0+Y29udGVudDsKKworICAgICAgICAgICAgICAgIHdoaWxlIChsaXN0ICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgcmV0ID0geG1sUmVsYXhOR0lzTnVsbGFibGUobGlzdCk7CisgICAgICAgICAgICAgICAgICAgIGlmIChyZXQgIT0gMCkKKyAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZG9uZTsKKyAgICAgICAgICAgICAgICAgICAgbGlzdCA9IGxpc3QtPm5leHQ7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHJldCA9IDA7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfU1RBUlQ6CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfSU5URVJMRUFWRToKKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19HUk9VUDp7CisgICAgICAgICAgICAgICAgeG1sUmVsYXhOR0RlZmluZVB0ciBsaXN0ID0gZGVmaW5lLT5jb250ZW50OworCisgICAgICAgICAgICAgICAgd2hpbGUgKGxpc3QgIT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICByZXQgPSB4bWxSZWxheE5HSXNOdWxsYWJsZShsaXN0KTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHJldCAhPSAxKQorICAgICAgICAgICAgICAgICAgICAgICAgZ290byBkb25lOworICAgICAgICAgICAgICAgICAgICBsaXN0ID0gbGlzdC0+bmV4dDsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgcmV0dXJuICgxKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIHJldHVybiAoLTEpOworICAgIH0KKyAgZG9uZToKKyAgICBpZiAocmV0ID09IDApCisgICAgICAgIGRlZmluZS0+ZGZsYWdzIHw9IElTX05PVF9OVUxMQUJMRTsKKyAgICBpZiAocmV0ID09IDEpCisgICAgICAgIGRlZmluZS0+ZGZsYWdzIHw9IElTX05VTExBQkxFOworICAgIHJldHVybiAocmV0KTsKK30KKworLyoqCisgKiB4bWxSZWxheE5HSXNCbGFuazoKKyAqIEBzdHI6ICBhIHN0cmluZworICoKKyAqIENoZWNrIGlmIGEgc3RyaW5nIGlzIGlnbm9yYWJsZSBjLmYuIDQuMi4gV2hpdGVzcGFjZQorICoKKyAqIFJldHVybnMgMSBpZiB0aGUgc3RyaW5nIGlzIE5VTEwgb3IgbWFkZSBvZiBibGFua3MgY2hhcnMsIDAgb3RoZXJ3aXNlCisgKi8KK3N0YXRpYyBpbnQKK3htbFJlbGF4TkdJc0JsYW5rKHhtbENoYXIgKiBzdHIpCit7CisgICAgaWYgKHN0ciA9PSBOVUxMKQorICAgICAgICByZXR1cm4gKDEpOworICAgIHdoaWxlICgqc3RyICE9IDApIHsKKyAgICAgICAgaWYgKCEoSVNfQkxBTktfQ0goKnN0cikpKQorICAgICAgICAgICAgcmV0dXJuICgwKTsKKyAgICAgICAgc3RyKys7CisgICAgfQorICAgIHJldHVybiAoMSk7Cit9CisKKy8qKgorICogeG1sUmVsYXhOR0dldERhdGFUeXBlTGlicmFyeToKKyAqIEBjdHh0OiAgYSBSZWxheC1ORyBwYXJzZXIgY29udGV4dAorICogQG5vZGU6ICB0aGUgY3VycmVudCBkYXRhIG9yIHZhbHVlIGVsZW1lbnQKKyAqCisgKiBBcHBsaWVzIGFsZ29yaXRobSBmcm9tIDQuMy4gZGF0YXR5cGVMaWJyYXJ5IGF0dHJpYnV0ZQorICoKKyAqIFJldHVybnMgdGhlIGRhdGF0eXBlTGliYXJ5IHZhbHVlIG9yIE5VTEwgaWYgbm90IGZvdW5kCisgKi8KK3N0YXRpYyB4bWxDaGFyICoKK3htbFJlbGF4TkdHZXREYXRhVHlwZUxpYnJhcnkoeG1sUmVsYXhOR1BhcnNlckN0eHRQdHIgY3R4dCBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxOb2RlUHRyIG5vZGUpCit7CisgICAgeG1sQ2hhciAqcmV0LCAqZXNjYXBlOworCisgICAgaWYgKG5vZGUgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuKE5VTEwpOworCisgICAgaWYgKChJU19SRUxBWE5HKG5vZGUsICJkYXRhIikpIHx8IChJU19SRUxBWE5HKG5vZGUsICJ2YWx1ZSIpKSkgeworICAgICAgICByZXQgPSB4bWxHZXRQcm9wKG5vZGUsIEJBRF9DQVNUICJkYXRhdHlwZUxpYnJhcnkiKTsKKyAgICAgICAgaWYgKHJldCAhPSBOVUxMKSB7CisgICAgICAgICAgICBpZiAocmV0WzBdID09IDApIHsKKyAgICAgICAgICAgICAgICB4bWxGcmVlKHJldCk7CisgICAgICAgICAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGVzY2FwZSA9IHhtbFVSSUVzY2FwZVN0cihyZXQsIEJBRF9DQVNUICI6LyM/Iik7CisgICAgICAgICAgICBpZiAoZXNjYXBlID09IE5VTEwpIHsKKyAgICAgICAgICAgICAgICByZXR1cm4gKHJldCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICB4bWxGcmVlKHJldCk7CisgICAgICAgICAgICByZXR1cm4gKGVzY2FwZSk7CisgICAgICAgIH0KKyAgICB9CisgICAgbm9kZSA9IG5vZGUtPnBhcmVudDsKKyAgICB3aGlsZSAoKG5vZGUgIT0gTlVMTCkgJiYgKG5vZGUtPnR5cGUgPT0gWE1MX0VMRU1FTlRfTk9ERSkpIHsKKyAgICAgICAgcmV0ID0geG1sR2V0UHJvcChub2RlLCBCQURfQ0FTVCAiZGF0YXR5cGVMaWJyYXJ5Iik7CisgICAgICAgIGlmIChyZXQgIT0gTlVMTCkgeworICAgICAgICAgICAgaWYgKHJldFswXSA9PSAwKSB7CisgICAgICAgICAgICAgICAgeG1sRnJlZShyZXQpOworICAgICAgICAgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBlc2NhcGUgPSB4bWxVUklFc2NhcGVTdHIocmV0LCBCQURfQ0FTVCAiOi8jPyIpOworICAgICAgICAgICAgaWYgKGVzY2FwZSA9PSBOVUxMKSB7CisgICAgICAgICAgICAgICAgcmV0dXJuIChyZXQpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgeG1sRnJlZShyZXQpOworICAgICAgICAgICAgcmV0dXJuIChlc2NhcGUpOworICAgICAgICB9CisgICAgICAgIG5vZGUgPSBub2RlLT5wYXJlbnQ7CisgICAgfQorICAgIHJldHVybiAoTlVMTCk7Cit9CisKKy8qKgorICogeG1sUmVsYXhOR1BhcnNlVmFsdWU6CisgKiBAY3R4dDogIGEgUmVsYXgtTkcgcGFyc2VyIGNvbnRleHQKKyAqIEBub2RlOiAgdGhlIGRhdGEgbm9kZS4KKyAqCisgKiBwYXJzZSB0aGUgY29udGVudCBvZiBhIFJlbGF4TkcgdmFsdWUgbm9kZS4KKyAqCisgKiBSZXR1cm5zIHRoZSBkZWZpbml0aW9uIHBvaW50ZXIgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3N0YXRpYyB4bWxSZWxheE5HRGVmaW5lUHRyCit4bWxSZWxheE5HUGFyc2VWYWx1ZSh4bWxSZWxheE5HUGFyc2VyQ3R4dFB0ciBjdHh0LCB4bWxOb2RlUHRyIG5vZGUpCit7CisgICAgeG1sUmVsYXhOR0RlZmluZVB0ciBkZWYgPSBOVUxMOworICAgIHhtbFJlbGF4TkdUeXBlTGlicmFyeVB0ciBsaWIgPSBOVUxMOworICAgIHhtbENoYXIgKnR5cGU7CisgICAgeG1sQ2hhciAqbGlicmFyeTsKKyAgICBpbnQgc3VjY2VzcyA9IDA7CisKKyAgICBkZWYgPSB4bWxSZWxheE5HTmV3RGVmaW5lKGN0eHQsIG5vZGUpOworICAgIGlmIChkZWYgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICBkZWYtPnR5cGUgPSBYTUxfUkVMQVhOR19WQUxVRTsKKworICAgIHR5cGUgPSB4bWxHZXRQcm9wKG5vZGUsIEJBRF9DQVNUICJ0eXBlIik7CisgICAgaWYgKHR5cGUgIT0gTlVMTCkgeworICAgICAgICB4bWxSZWxheE5HTm9ybUV4dFNwYWNlKHR5cGUpOworICAgICAgICBpZiAoeG1sVmFsaWRhdGVOQ05hbWUodHlwZSwgMCkpIHsKKyAgICAgICAgICAgIHhtbFJuZ1BFcnIoY3R4dCwgbm9kZSwgWE1MX1JOR1BfVFlQRV9WQUxVRSwKKyAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIHR5cGUgJyVzJyBpcyBub3QgYW4gTkNOYW1lXG4iLCB0eXBlLCBOVUxMKTsKKyAgICAgICAgfQorICAgICAgICBsaWJyYXJ5ID0geG1sUmVsYXhOR0dldERhdGFUeXBlTGlicmFyeShjdHh0LCBub2RlKTsKKyAgICAgICAgaWYgKGxpYnJhcnkgPT0gTlVMTCkKKyAgICAgICAgICAgIGxpYnJhcnkgPQorICAgICAgICAgICAgICAgIHhtbFN0cmR1cChCQURfQ0FTVCAiaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiKTsKKworICAgICAgICBkZWYtPm5hbWUgPSB0eXBlOworICAgICAgICBkZWYtPm5zID0gbGlicmFyeTsKKworICAgICAgICBsaWIgPSAoeG1sUmVsYXhOR1R5cGVMaWJyYXJ5UHRyKQorICAgICAgICAgICAgeG1sSGFzaExvb2t1cCh4bWxSZWxheE5HUmVnaXN0ZXJlZFR5cGVzLCBsaWJyYXJ5KTsKKyAgICAgICAgaWYgKGxpYiA9PSBOVUxMKSB7CisgICAgICAgICAgICB4bWxSbmdQRXJyKGN0eHQsIG5vZGUsIFhNTF9STkdQX1VOS05PV05fVFlQRV9MSUIsCisgICAgICAgICAgICAgICAgICAgICAgICJVc2Ugb2YgdW5yZWdpc3RlcmVkIHR5cGUgbGlicmFyeSAnJXMnXG4iLCBsaWJyYXJ5LAorICAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsKKyAgICAgICAgICAgIGRlZi0+ZGF0YSA9IE5VTEw7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBkZWYtPmRhdGEgPSBsaWI7CisgICAgICAgICAgICBpZiAobGliLT5oYXZlID09IE5VTEwpIHsKKyAgICAgICAgICAgICAgICB4bWxSbmdQRXJyKGN0eHQsIG5vZGUsIFhNTF9STkdQX0VSUk9SX1RZUEVfTElCLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIkludGVybmFsIGVycm9yIHdpdGggdHlwZSBsaWJyYXJ5ICclcyc6IG5vICdoYXZlJ1xuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnJhcnksIE5VTEwpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBzdWNjZXNzID0gbGliLT5oYXZlKGxpYi0+ZGF0YSwgZGVmLT5uYW1lKTsKKyAgICAgICAgICAgICAgICBpZiAoc3VjY2VzcyAhPSAxKSB7CisgICAgICAgICAgICAgICAgICAgIHhtbFJuZ1BFcnIoY3R4dCwgbm9kZSwgWE1MX1JOR1BfVFlQRV9OT1RfRk9VTkQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkVycm9yIHR5cGUgJyVzJyBpcyBub3QgZXhwb3J0ZWQgYnkgdHlwZSBsaWJyYXJ5ICclcydcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmLT5uYW1lLCBsaWJyYXJ5KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisgICAgaWYgKG5vZGUtPmNoaWxkcmVuID09IE5VTEwpIHsKKyAgICAgICAgZGVmLT52YWx1ZSA9IHhtbFN0cmR1cChCQURfQ0FTVCAiIik7CisgICAgfSBlbHNlIGlmICgoKG5vZGUtPmNoaWxkcmVuLT50eXBlICE9IFhNTF9URVhUX05PREUpICYmCisgICAgICAgICAgICAgICAgKG5vZGUtPmNoaWxkcmVuLT50eXBlICE9IFhNTF9DREFUQV9TRUNUSU9OX05PREUpKSB8fAorICAgICAgICAgICAgICAgKG5vZGUtPmNoaWxkcmVuLT5uZXh0ICE9IE5VTEwpKSB7CisgICAgICAgIHhtbFJuZ1BFcnIoY3R4dCwgbm9kZSwgWE1MX1JOR1BfVEVYVF9FWFBFQ1RFRCwKKyAgICAgICAgICAgICAgICAgICAiRXhwZWN0aW5nIGEgc2luZ2xlIHRleHQgdmFsdWUgZm9yIDx2YWx1ZT5jb250ZW50XG4iLAorICAgICAgICAgICAgICAgICAgIE5VTEwsIE5VTEwpOworICAgIH0gZWxzZSBpZiAoZGVmICE9IE5VTEwpIHsKKyAgICAgICAgZGVmLT52YWx1ZSA9IHhtbE5vZGVHZXRDb250ZW50KG5vZGUpOworICAgICAgICBpZiAoZGVmLT52YWx1ZSA9PSBOVUxMKSB7CisgICAgICAgICAgICB4bWxSbmdQRXJyKGN0eHQsIG5vZGUsIFhNTF9STkdQX1ZBTFVFX05PX0NPTlRFTlQsCisgICAgICAgICAgICAgICAgICAgICAgICJFbGVtZW50IDx2YWx1ZT4gaGFzIG5vIGNvbnRlbnRcbiIsIE5VTEwsIE5VTEwpOworICAgICAgICB9IGVsc2UgaWYgKChsaWIgIT0gTlVMTCkgJiYgKGxpYi0+Y2hlY2sgIT0gTlVMTCkgJiYgKHN1Y2Nlc3MgPT0gMSkpIHsKKyAgICAgICAgICAgIHZvaWQgKnZhbCA9IE5VTEw7CisKKyAgICAgICAgICAgIHN1Y2Nlc3MgPQorICAgICAgICAgICAgICAgIGxpYi0+Y2hlY2sobGliLT5kYXRhLCBkZWYtPm5hbWUsIGRlZi0+dmFsdWUsICZ2YWwsIG5vZGUpOworICAgICAgICAgICAgaWYgKHN1Y2Nlc3MgIT0gMSkgeworICAgICAgICAgICAgICAgIHhtbFJuZ1BFcnIoY3R4dCwgbm9kZSwgWE1MX1JOR1BfSU5WQUxJRF9WQUxVRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJWYWx1ZSAnJXMnIGlzIG5vdCBhY2NlcHRhYmxlIGZvciB0eXBlICclcydcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWYtPnZhbHVlLCBkZWYtPm5hbWUpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBpZiAodmFsICE9IE5VTEwpCisgICAgICAgICAgICAgICAgICAgIGRlZi0+YXR0cnMgPSB2YWw7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuIChkZWYpOworfQorCisvKioKKyAqIHhtbFJlbGF4TkdQYXJzZURhdGE6CisgKiBAY3R4dDogIGEgUmVsYXgtTkcgcGFyc2VyIGNvbnRleHQKKyAqIEBub2RlOiAgdGhlIGRhdGEgbm9kZS4KKyAqCisgKiBwYXJzZSB0aGUgY29udGVudCBvZiBhIFJlbGF4TkcgZGF0YSBub2RlLgorICoKKyAqIFJldHVybnMgdGhlIGRlZmluaXRpb24gcG9pbnRlciBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworc3RhdGljIHhtbFJlbGF4TkdEZWZpbmVQdHIKK3htbFJlbGF4TkdQYXJzZURhdGEoeG1sUmVsYXhOR1BhcnNlckN0eHRQdHIgY3R4dCwgeG1sTm9kZVB0ciBub2RlKQoreworICAgIHhtbFJlbGF4TkdEZWZpbmVQdHIgZGVmID0gTlVMTCwgZXhjZXB0OworICAgIHhtbFJlbGF4TkdEZWZpbmVQdHIgcGFyYW0sIGxhc3RwYXJhbSA9IE5VTEw7CisgICAgeG1sUmVsYXhOR1R5cGVMaWJyYXJ5UHRyIGxpYjsKKyAgICB4bWxDaGFyICp0eXBlOworICAgIHhtbENoYXIgKmxpYnJhcnk7CisgICAgeG1sTm9kZVB0ciBjb250ZW50OworICAgIGludCB0bXA7CisKKyAgICB0eXBlID0geG1sR2V0UHJvcChub2RlLCBCQURfQ0FTVCAidHlwZSIpOworICAgIGlmICh0eXBlID09IE5VTEwpIHsKKyAgICAgICAgeG1sUm5nUEVycihjdHh0LCBub2RlLCBYTUxfUk5HUF9UWVBFX01JU1NJTkcsICJkYXRhIGhhcyBubyB0eXBlXG4iLCBOVUxMLAorICAgICAgICAgICAgICAgICAgIE5VTEwpOworICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIH0KKyAgICB4bWxSZWxheE5HTm9ybUV4dFNwYWNlKHR5cGUpOworICAgIGlmICh4bWxWYWxpZGF0ZU5DTmFtZSh0eXBlLCAwKSkgeworICAgICAgICB4bWxSbmdQRXJyKGN0eHQsIG5vZGUsIFhNTF9STkdQX1RZUEVfVkFMVUUsCisgICAgICAgICAgICAgICAgICAgImRhdGEgdHlwZSAnJXMnIGlzIG5vdCBhbiBOQ05hbWVcbiIsIHR5cGUsIE5VTEwpOworICAgIH0KKyAgICBsaWJyYXJ5ID0geG1sUmVsYXhOR0dldERhdGFUeXBlTGlicmFyeShjdHh0LCBub2RlKTsKKyAgICBpZiAobGlicmFyeSA9PSBOVUxMKQorICAgICAgICBsaWJyYXJ5ID0KKyAgICAgICAgICAgIHhtbFN0cmR1cChCQURfQ0FTVCAiaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiKTsKKworICAgIGRlZiA9IHhtbFJlbGF4TkdOZXdEZWZpbmUoY3R4dCwgbm9kZSk7CisgICAgaWYgKGRlZiA9PSBOVUxMKSB7CisgICAgICAgIHhtbEZyZWUodHlwZSk7CisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgfQorICAgIGRlZi0+dHlwZSA9IFhNTF9SRUxBWE5HX0RBVEFUWVBFOworICAgIGRlZi0+bmFtZSA9IHR5cGU7CisgICAgZGVmLT5ucyA9IGxpYnJhcnk7CisKKyAgICBsaWIgPSAoeG1sUmVsYXhOR1R5cGVMaWJyYXJ5UHRyKQorICAgICAgICB4bWxIYXNoTG9va3VwKHhtbFJlbGF4TkdSZWdpc3RlcmVkVHlwZXMsIGxpYnJhcnkpOworICAgIGlmIChsaWIgPT0gTlVMTCkgeworICAgICAgICB4bWxSbmdQRXJyKGN0eHQsIG5vZGUsIFhNTF9STkdQX1VOS05PV05fVFlQRV9MSUIsCisgICAgICAgICAgICAgICAgICAgIlVzZSBvZiB1bnJlZ2lzdGVyZWQgdHlwZSBsaWJyYXJ5ICclcydcbiIsIGxpYnJhcnksCisgICAgICAgICAgICAgICAgICAgTlVMTCk7CisgICAgICAgIGRlZi0+ZGF0YSA9IE5VTEw7CisgICAgfSBlbHNlIHsKKyAgICAgICAgZGVmLT5kYXRhID0gbGliOworICAgICAgICBpZiAobGliLT5oYXZlID09IE5VTEwpIHsKKyAgICAgICAgICAgIHhtbFJuZ1BFcnIoY3R4dCwgbm9kZSwgWE1MX1JOR1BfRVJST1JfVFlQRV9MSUIsCisgICAgICAgICAgICAgICAgICAgICAgICJJbnRlcm5hbCBlcnJvciB3aXRoIHR5cGUgbGlicmFyeSAnJXMnOiBubyAnaGF2ZSdcbiIsCisgICAgICAgICAgICAgICAgICAgICAgIGxpYnJhcnksIE5VTEwpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgdG1wID0gbGliLT5oYXZlKGxpYi0+ZGF0YSwgZGVmLT5uYW1lKTsKKyAgICAgICAgICAgIGlmICh0bXAgIT0gMSkgeworICAgICAgICAgICAgICAgIHhtbFJuZ1BFcnIoY3R4dCwgbm9kZSwgWE1MX1JOR1BfVFlQRV9OT1RfRk9VTkQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAiRXJyb3IgdHlwZSAnJXMnIGlzIG5vdCBleHBvcnRlZCBieSB0eXBlIGxpYnJhcnkgJyVzJ1xuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZi0+bmFtZSwgbGlicmFyeSk7CisgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgICAgICBpZiAoKHhtbFN0ckVxdWFsCisgICAgICAgICAgICAgICAgICAgICAobGlicmFyeSwKKyAgICAgICAgICAgICAgICAgICAgICBCQURfQ0FTVAorICAgICAgICAgICAgICAgICAgICAgICJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiKSkKKyAgICAgICAgICAgICAgICAgICAgJiYgKCh4bWxTdHJFcXVhbChkZWYtPm5hbWUsIEJBRF9DQVNUICJJRFJFRiIpKQorICAgICAgICAgICAgICAgICAgICAgICAgfHwgKHhtbFN0ckVxdWFsKGRlZi0+bmFtZSwgQkFEX0NBU1QgIklEUkVGUyIpKSkpIHsKKyAgICAgICAgICAgICAgICBjdHh0LT5pZHJlZiA9IDE7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisgICAgY29udGVudCA9IG5vZGUtPmNoaWxkcmVuOworCisgICAgLyoKKyAgICAgKiBIYW5kbGUgb3B0aW9uYWwgcGFyYW1zCisgICAgICovCisgICAgd2hpbGUgKGNvbnRlbnQgIT0gTlVMTCkgeworICAgICAgICBpZiAoIXhtbFN0ckVxdWFsKGNvbnRlbnQtPm5hbWUsIEJBRF9DQVNUICJwYXJhbSIpKQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGlmICh4bWxTdHJFcXVhbChsaWJyYXJ5LAorICAgICAgICAgICAgICAgICAgICAgICAgQkFEX0NBU1QgImh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIikpIHsKKyAgICAgICAgICAgIHhtbFJuZ1BFcnIoY3R4dCwgbm9kZSwgWE1MX1JOR1BfUEFSQU1fRk9SQklEREVOLAorICAgICAgICAgICAgICAgICAgICAgICAiVHlwZSBsaWJyYXJ5ICclcycgZG9lcyBub3QgYWxsb3cgdHlwZSBwYXJhbWV0ZXJzXG4iLAorICAgICAgICAgICAgICAgICAgICAgICBsaWJyYXJ5LCBOVUxMKTsKKyAgICAgICAgICAgIGNvbnRlbnQgPSBjb250ZW50LT5uZXh0OworICAgICAgICAgICAgd2hpbGUgKChjb250ZW50ICE9IE5VTEwpICYmCisgICAgICAgICAgICAgICAgICAgKHhtbFN0ckVxdWFsKGNvbnRlbnQtPm5hbWUsIEJBRF9DQVNUICJwYXJhbSIpKSkKKyAgICAgICAgICAgICAgICBjb250ZW50ID0gY29udGVudC0+bmV4dDsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHBhcmFtID0geG1sUmVsYXhOR05ld0RlZmluZShjdHh0LCBub2RlKTsKKyAgICAgICAgICAgIGlmIChwYXJhbSAhPSBOVUxMKSB7CisgICAgICAgICAgICAgICAgcGFyYW0tPnR5cGUgPSBYTUxfUkVMQVhOR19QQVJBTTsKKyAgICAgICAgICAgICAgICBwYXJhbS0+bmFtZSA9IHhtbEdldFByb3AoY29udGVudCwgQkFEX0NBU1QgIm5hbWUiKTsKKyAgICAgICAgICAgICAgICBpZiAocGFyYW0tPm5hbWUgPT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICB4bWxSbmdQRXJyKGN0eHQsIG5vZGUsIFhNTF9STkdQX1BBUkFNX05BTUVfTUlTU0lORywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGFyYW0gaGFzIG5vIG5hbWVcbiIsIE5VTEwsIE5VTEwpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBwYXJhbS0+dmFsdWUgPSB4bWxOb2RlR2V0Q29udGVudChjb250ZW50KTsKKyAgICAgICAgICAgICAgICBpZiAobGFzdHBhcmFtID09IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgZGVmLT5hdHRycyA9IGxhc3RwYXJhbSA9IHBhcmFtOworICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIGxhc3RwYXJhbS0+bmV4dCA9IHBhcmFtOworICAgICAgICAgICAgICAgICAgICBsYXN0cGFyYW0gPSBwYXJhbTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgaWYgKGxpYiAhPSBOVUxMKSB7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgICAgY29udGVudCA9IGNvbnRlbnQtPm5leHQ7CisgICAgICAgIH0KKyAgICB9CisgICAgLyoKKyAgICAgKiBIYW5kbGUgb3B0aW9uYWwgZXhjZXB0CisgICAgICovCisgICAgaWYgKChjb250ZW50ICE9IE5VTEwpCisgICAgICAgICYmICh4bWxTdHJFcXVhbChjb250ZW50LT5uYW1lLCBCQURfQ0FTVCAiZXhjZXB0IikpKSB7CisgICAgICAgIHhtbE5vZGVQdHIgY2hpbGQ7CisgICAgICAgIHhtbFJlbGF4TkdEZWZpbmVQdHIgdG1wMiwgbGFzdCA9IE5VTEw7CisKKyAgICAgICAgZXhjZXB0ID0geG1sUmVsYXhOR05ld0RlZmluZShjdHh0LCBub2RlKTsKKyAgICAgICAgaWYgKGV4Y2VwdCA9PSBOVUxMKSB7CisgICAgICAgICAgICByZXR1cm4gKGRlZik7CisgICAgICAgIH0KKyAgICAgICAgZXhjZXB0LT50eXBlID0gWE1MX1JFTEFYTkdfRVhDRVBUOworICAgICAgICBjaGlsZCA9IGNvbnRlbnQtPmNoaWxkcmVuOworCWRlZi0+Y29udGVudCA9IGV4Y2VwdDsKKyAgICAgICAgaWYgKGNoaWxkID09IE5VTEwpIHsKKyAgICAgICAgICAgIHhtbFJuZ1BFcnIoY3R4dCwgY29udGVudCwgWE1MX1JOR1BfRVhDRVBUX05PX0NPTlRFTlQsCisgICAgICAgICAgICAgICAgICAgICAgICJleGNlcHQgaGFzIG5vIGNvbnRlbnRcbiIsIE5VTEwsIE5VTEwpOworICAgICAgICB9CisgICAgICAgIHdoaWxlIChjaGlsZCAhPSBOVUxMKSB7CisgICAgICAgICAgICB0bXAyID0geG1sUmVsYXhOR1BhcnNlUGF0dGVybihjdHh0LCBjaGlsZCk7CisgICAgICAgICAgICBpZiAodG1wMiAhPSBOVUxMKSB7CisgICAgICAgICAgICAgICAgaWYgKGxhc3QgPT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICBleGNlcHQtPmNvbnRlbnQgPSBsYXN0ID0gdG1wMjsKKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICBsYXN0LT5uZXh0ID0gdG1wMjsKKyAgICAgICAgICAgICAgICAgICAgbGFzdCA9IHRtcDI7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgICAgY2hpbGQgPSBjaGlsZC0+bmV4dDsKKyAgICAgICAgfQorICAgICAgICBjb250ZW50ID0gY29udGVudC0+bmV4dDsKKyAgICB9CisgICAgLyoKKyAgICAgKiBDaGVjayB0aGVyZSBpcyBubyB1bmhhbmRsZWQgZGF0YQorICAgICAqLworICAgIGlmIChjb250ZW50ICE9IE5VTEwpIHsKKyAgICAgICAgeG1sUm5nUEVycihjdHh0LCBjb250ZW50LCBYTUxfUk5HUF9EQVRBX0NPTlRFTlQsCisgICAgICAgICAgICAgICAgICAgIkVsZW1lbnQgZGF0YSBoYXMgdW5leHBlY3RlZCBjb250ZW50ICVzXG4iLAorICAgICAgICAgICAgICAgICAgIGNvbnRlbnQtPm5hbWUsIE5VTEwpOworICAgIH0KKworICAgIHJldHVybiAoZGVmKTsKK30KKworc3RhdGljIGNvbnN0IHhtbENoYXIgKmludmFsaWROYW1lID0gQkFEX0NBU1QgIlwxIjsKKworLyoqCisgKiB4bWxSZWxheE5HQ29tcGFyZU5hbWVDbGFzc2VzOgorICogQGRlZnMxOiAgdGhlIGZpcnN0IGVsZW1lbnQvYXR0cmlidXRlIGRlZnMKKyAqIEBkZWZzMjogIHRoZSBzZWNvbmQgZWxlbWVudC9hdHRyaWJ1dGUgZGVmcworICogQG5hbWU6ICB0aGUgcmVzdHJpY3Rpb24gb24gdGhlIG5hbWUKKyAqIEBuczogIHRoZSByZXN0cmljdGlvbiBvbiB0aGUgbmFtZXNwYWNlCisgKgorICogQ29tcGFyZSB0aGUgMiBsaXN0cyBvZiBlbGVtZW50IGRlZmluaXRpb25zLiBUaGUgY29tcGFyaXNvbiBpcworICogdGhhdCBpZiBib3RoIGxpc3RzIGRvIG5vdCBhY2NlcHQgdGhlIHNhbWUgUU5hbWVzLCBpdCByZXR1cm5zIDEKKyAqIElmIHRoZSAyIGxpc3RzIGNhbiBhY2NlcHQgdGhlIHNhbWUgUU5hbWUgdGhlIGNvbXBhcmlzb24gcmV0dXJucyAwCisgKgorICogUmV0dXJucyAxIGRpc3R0aW5jdCwgMCBpZiBlcXVhbAorICovCitzdGF0aWMgaW50Cit4bWxSZWxheE5HQ29tcGFyZU5hbWVDbGFzc2VzKHhtbFJlbGF4TkdEZWZpbmVQdHIgZGVmMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sUmVsYXhOR0RlZmluZVB0ciBkZWYyKQoreworICAgIGludCByZXQgPSAxOworICAgIHhtbE5vZGUgbm9kZTsKKyAgICB4bWxOcyBuczsKKyAgICB4bWxSZWxheE5HVmFsaWRDdHh0IGN0eHQ7CisKKyAgICBtZW1zZXQoJmN0eHQsIDAsIHNpemVvZih4bWxSZWxheE5HVmFsaWRDdHh0KSk7CisKKyAgICBjdHh0LmZsYWdzID0gRkxBR1NfSUdOT1JBQkxFIHwgRkxBR1NfTk9FUlJPUjsKKworICAgIGlmICgoZGVmMS0+dHlwZSA9PSBYTUxfUkVMQVhOR19FTEVNRU5UKSB8fAorICAgICAgICAoZGVmMS0+dHlwZSA9PSBYTUxfUkVMQVhOR19BVFRSSUJVVEUpKSB7CisgICAgICAgIGlmIChkZWYyLT50eXBlID09IFhNTF9SRUxBWE5HX1RFWFQpCisgICAgICAgICAgICByZXR1cm4gKDEpOworICAgICAgICBpZiAoZGVmMS0+bmFtZSAhPSBOVUxMKSB7CisgICAgICAgICAgICBub2RlLm5hbWUgPSBkZWYxLT5uYW1lOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgbm9kZS5uYW1lID0gaW52YWxpZE5hbWU7CisgICAgICAgIH0KKyAgICAgICAgaWYgKGRlZjEtPm5zICE9IE5VTEwpIHsKKyAgICAgICAgICAgIGlmIChkZWYxLT5uc1swXSA9PSAwKSB7CisgICAgICAgICAgICAgICAgbm9kZS5ucyA9IE5VTEw7CisgICAgICAgICAgICB9IGVsc2UgeworCSAgICAgICAgbm9kZS5ucyA9ICZuczsKKyAgICAgICAgICAgICAgICBucy5ocmVmID0gZGVmMS0+bnM7CisgICAgICAgICAgICB9CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBub2RlLm5zID0gTlVMTDsKKyAgICAgICAgfQorICAgICAgICBpZiAoeG1sUmVsYXhOR0VsZW1lbnRNYXRjaCgmY3R4dCwgZGVmMiwgJm5vZGUpKSB7CisgICAgICAgICAgICBpZiAoZGVmMS0+bmFtZUNsYXNzICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICByZXQgPSB4bWxSZWxheE5HQ29tcGFyZU5hbWVDbGFzc2VzKGRlZjEtPm5hbWVDbGFzcywgZGVmMik7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIHJldCA9IDA7CisgICAgICAgICAgICB9CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICByZXQgPSAxOworICAgICAgICB9CisgICAgfSBlbHNlIGlmIChkZWYxLT50eXBlID09IFhNTF9SRUxBWE5HX1RFWFQpIHsKKyAgICAgICAgaWYgKGRlZjItPnR5cGUgPT0gWE1MX1JFTEFYTkdfVEVYVCkKKyAgICAgICAgICAgIHJldHVybiAoMCk7CisgICAgICAgIHJldHVybiAoMSk7CisgICAgfSBlbHNlIGlmIChkZWYxLT50eXBlID09IFhNTF9SRUxBWE5HX0VYQ0VQVCkgeworICAgICAgICBUT0RPIHJldCA9IDA7CisgICAgfSBlbHNlIHsKKyAgICAgICAgVE9ETyByZXQgPSAwOworICAgIH0KKyAgICBpZiAocmV0ID09IDApCisgICAgICAgIHJldHVybiAocmV0KTsKKyAgICBpZiAoKGRlZjItPnR5cGUgPT0gWE1MX1JFTEFYTkdfRUxFTUVOVCkgfHwKKyAgICAgICAgKGRlZjItPnR5cGUgPT0gWE1MX1JFTEFYTkdfQVRUUklCVVRFKSkgeworICAgICAgICBpZiAoZGVmMi0+bmFtZSAhPSBOVUxMKSB7CisgICAgICAgICAgICBub2RlLm5hbWUgPSBkZWYyLT5uYW1lOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgbm9kZS5uYW1lID0gaW52YWxpZE5hbWU7CisgICAgICAgIH0KKyAgICAgICAgbm9kZS5ucyA9ICZuczsKKyAgICAgICAgaWYgKGRlZjItPm5zICE9IE5VTEwpIHsKKyAgICAgICAgICAgIGlmIChkZWYyLT5uc1swXSA9PSAwKSB7CisgICAgICAgICAgICAgICAgbm9kZS5ucyA9IE5VTEw7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIG5zLmhyZWYgPSBkZWYyLT5uczsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIG5zLmhyZWYgPSBpbnZhbGlkTmFtZTsKKyAgICAgICAgfQorICAgICAgICBpZiAoeG1sUmVsYXhOR0VsZW1lbnRNYXRjaCgmY3R4dCwgZGVmMSwgJm5vZGUpKSB7CisgICAgICAgICAgICBpZiAoZGVmMi0+bmFtZUNsYXNzICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICByZXQgPSB4bWxSZWxheE5HQ29tcGFyZU5hbWVDbGFzc2VzKGRlZjItPm5hbWVDbGFzcywgZGVmMSk7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIHJldCA9IDA7CisgICAgICAgICAgICB9CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICByZXQgPSAxOworICAgICAgICB9CisgICAgfSBlbHNlIHsKKyAgICAgICAgVE9ETyByZXQgPSAwOworICAgIH0KKworICAgIHJldHVybiAocmV0KTsKK30KKworLyoqCisgKiB4bWxSZWxheE5HQ29tcGFyZUVsZW1EZWZMaXN0czoKKyAqIEBjdHh0OiAgYSBSZWxheC1ORyBwYXJzZXIgY29udGV4dAorICogQGRlZnMxOiAgdGhlIGZpcnN0IGxpc3Qgb2YgZWxlbWVudC9hdHRyaWJ1dGUgZGVmcworICogQGRlZnMyOiAgdGhlIHNlY29uZCBsaXN0IG9mIGVsZW1lbnQvYXR0cmlidXRlIGRlZnMKKyAqCisgKiBDb21wYXJlIHRoZSAyIGxpc3RzIG9mIGVsZW1lbnQgb3IgYXR0cmlidXRlIGRlZmluaXRpb25zLiBUaGUgY29tcGFyaXNvbgorICogaXMgdGhhdCBpZiBib3RoIGxpc3RzIGRvIG5vdCBhY2NlcHQgdGhlIHNhbWUgUU5hbWVzLCBpdCByZXR1cm5zIDEKKyAqIElmIHRoZSAyIGxpc3RzIGNhbiBhY2NlcHQgdGhlIHNhbWUgUU5hbWUgdGhlIGNvbXBhcmlzb24gcmV0dXJucyAwCisgKgorICogUmV0dXJucyAxIGRpc3R0aW5jdCwgMCBpZiBlcXVhbAorICovCitzdGF0aWMgaW50Cit4bWxSZWxheE5HQ29tcGFyZUVsZW1EZWZMaXN0cyh4bWxSZWxheE5HUGFyc2VyQ3R4dFB0ciBjdHh0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBVFRSSUJVVEVfVU5VU0VELCB4bWxSZWxheE5HRGVmaW5lUHRyICogZGVmMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdEZWZpbmVQdHIgKiBkZWYyKQoreworICAgIHhtbFJlbGF4TkdEZWZpbmVQdHIgKmJhc2VkZWYyID0gZGVmMjsKKworICAgIGlmICgoZGVmMSA9PSBOVUxMKSB8fCAoZGVmMiA9PSBOVUxMKSkKKyAgICAgICAgcmV0dXJuICgxKTsKKyAgICBpZiAoKCpkZWYxID09IE5VTEwpIHx8ICgqZGVmMiA9PSBOVUxMKSkKKyAgICAgICAgcmV0dXJuICgxKTsKKyAgICB3aGlsZSAoKmRlZjEgIT0gTlVMTCkgeworICAgICAgICB3aGlsZSAoKCpkZWYyKSAhPSBOVUxMKSB7CisgICAgICAgICAgICBpZiAoeG1sUmVsYXhOR0NvbXBhcmVOYW1lQ2xhc3NlcygqZGVmMSwgKmRlZjIpID09IDApCisgICAgICAgICAgICAgICAgcmV0dXJuICgwKTsKKyAgICAgICAgICAgIGRlZjIrKzsKKyAgICAgICAgfQorICAgICAgICBkZWYyID0gYmFzZWRlZjI7CisgICAgICAgIGRlZjErKzsKKyAgICB9CisgICAgcmV0dXJuICgxKTsKK30KKworLyoqCisgKiB4bWxSZWxheE5HR2VuZXJhdGVBdHRyaWJ1dGVzOgorICogQGN0eHQ6ICBhIFJlbGF4LU5HIHBhcnNlciBjb250ZXh0CisgKiBAZGVmOiAgdGhlIGRlZmluaXRpb24gZGVmaW5pdGlvbgorICoKKyAqIENoZWNrIGlmIHRoZSBkZWZpbml0aW9uIGNhbiBvbmx5IGdlbmVyYXRlIGF0dHJpYnV0ZXMKKyAqCisgKiBSZXR1cm5zIDEgaWYgeWVzLCAwIGlmIG5vIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yLgorICovCitzdGF0aWMgaW50Cit4bWxSZWxheE5HR2VuZXJhdGVBdHRyaWJ1dGVzKHhtbFJlbGF4TkdQYXJzZXJDdHh0UHRyIGN0eHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdEZWZpbmVQdHIgZGVmKQoreworICAgIHhtbFJlbGF4TkdEZWZpbmVQdHIgcGFyZW50LCBjdXIsIHRtcDsKKworICAgIC8qCisgICAgICogRG9uJ3QgcnVuIHRoYXQgY2hlY2sgaW4gY2FzZSBvZiBlcnJvci4gSW5maW5pdGUgcmVjdXJzaW9uCisgICAgICogYmVjb21lcyBwb3NzaWJsZS4KKyAgICAgKi8KKyAgICBpZiAoY3R4dC0+bmJFcnJvcnMgIT0gMCkKKyAgICAgICAgcmV0dXJuICgtMSk7CisKKyAgICBwYXJlbnQgPSBOVUxMOworICAgIGN1ciA9IGRlZjsKKyAgICB3aGlsZSAoY3VyICE9IE5VTEwpIHsKKyAgICAgICAgaWYgKChjdXItPnR5cGUgPT0gWE1MX1JFTEFYTkdfRUxFTUVOVCkgfHwKKyAgICAgICAgICAgIChjdXItPnR5cGUgPT0gWE1MX1JFTEFYTkdfVEVYVCkgfHwKKyAgICAgICAgICAgIChjdXItPnR5cGUgPT0gWE1MX1JFTEFYTkdfREFUQVRZUEUpIHx8CisgICAgICAgICAgICAoY3VyLT50eXBlID09IFhNTF9SRUxBWE5HX1BBUkFNKSB8fAorICAgICAgICAgICAgKGN1ci0+dHlwZSA9PSBYTUxfUkVMQVhOR19MSVNUKSB8fAorICAgICAgICAgICAgKGN1ci0+dHlwZSA9PSBYTUxfUkVMQVhOR19WQUxVRSkgfHwKKyAgICAgICAgICAgIChjdXItPnR5cGUgPT0gWE1MX1JFTEFYTkdfRU1QVFkpKQorICAgICAgICAgICAgcmV0dXJuICgwKTsKKyAgICAgICAgaWYgKChjdXItPnR5cGUgPT0gWE1MX1JFTEFYTkdfQ0hPSUNFKSB8fAorICAgICAgICAgICAgKGN1ci0+dHlwZSA9PSBYTUxfUkVMQVhOR19JTlRFUkxFQVZFKSB8fAorICAgICAgICAgICAgKGN1ci0+dHlwZSA9PSBYTUxfUkVMQVhOR19HUk9VUCkgfHwKKyAgICAgICAgICAgIChjdXItPnR5cGUgPT0gWE1MX1JFTEFYTkdfT05FT1JNT1JFKSB8fAorICAgICAgICAgICAgKGN1ci0+dHlwZSA9PSBYTUxfUkVMQVhOR19aRVJPT1JNT1JFKSB8fAorICAgICAgICAgICAgKGN1ci0+dHlwZSA9PSBYTUxfUkVMQVhOR19PUFRJT05BTCkgfHwKKyAgICAgICAgICAgIChjdXItPnR5cGUgPT0gWE1MX1JFTEFYTkdfUEFSRU5UUkVGKSB8fAorICAgICAgICAgICAgKGN1ci0+dHlwZSA9PSBYTUxfUkVMQVhOR19FWFRFUk5BTFJFRikgfHwKKyAgICAgICAgICAgIChjdXItPnR5cGUgPT0gWE1MX1JFTEFYTkdfUkVGKSB8fAorICAgICAgICAgICAgKGN1ci0+dHlwZSA9PSBYTUxfUkVMQVhOR19ERUYpKSB7CisgICAgICAgICAgICBpZiAoY3VyLT5jb250ZW50ICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICBwYXJlbnQgPSBjdXI7CisgICAgICAgICAgICAgICAgY3VyID0gY3VyLT5jb250ZW50OworICAgICAgICAgICAgICAgIHRtcCA9IGN1cjsKKyAgICAgICAgICAgICAgICB3aGlsZSAodG1wICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgdG1wLT5wYXJlbnQgPSBwYXJlbnQ7CisgICAgICAgICAgICAgICAgICAgIHRtcCA9IHRtcC0+bmV4dDsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgaWYgKGN1ciA9PSBkZWYpCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgaWYgKGN1ci0+bmV4dCAhPSBOVUxMKSB7CisgICAgICAgICAgICBjdXIgPSBjdXItPm5leHQ7CisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgfQorICAgICAgICBkbyB7CisgICAgICAgICAgICBjdXIgPSBjdXItPnBhcmVudDsKKyAgICAgICAgICAgIGlmIChjdXIgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGlmIChjdXIgPT0gZGVmKQorICAgICAgICAgICAgICAgIHJldHVybiAoMSk7CisgICAgICAgICAgICBpZiAoY3VyLT5uZXh0ICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICBjdXIgPSBjdXItPm5leHQ7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgIH0gd2hpbGUgKGN1ciAhPSBOVUxMKTsKKyAgICB9CisgICAgcmV0dXJuICgxKTsKK30KKworLyoqCisgKiB4bWxSZWxheE5HR2V0RWxlbWVudHM6CisgKiBAY3R4dDogIGEgUmVsYXgtTkcgcGFyc2VyIGNvbnRleHQKKyAqIEBkZWY6ICB0aGUgZGVmaW5pdGlvbiBkZWZpbml0aW9uCisgKiBAZW9yYTogIGdhdGhlciBlbGVtZW50cyAoMCkgb3IgYXR0cmlidXRlcyAoMSkKKyAqCisgKiBDb21wdXRlIHRoZSBsaXN0IG9mIHRvcCBlbGVtZW50cyBhIGRlZmluaXRpb24gY2FuIGdlbmVyYXRlCisgKgorICogUmV0dXJucyBhIGxpc3Qgb2YgZWxlbWVudHMgb3IgTlVMTCBpZiBub25lIHdhcyBmb3VuZC4KKyAqLworc3RhdGljIHhtbFJlbGF4TkdEZWZpbmVQdHIgKgoreG1sUmVsYXhOR0dldEVsZW1lbnRzKHhtbFJlbGF4TkdQYXJzZXJDdHh0UHRyIGN0eHQsCisgICAgICAgICAgICAgICAgICAgICAgeG1sUmVsYXhOR0RlZmluZVB0ciBkZWYsIGludCBlb3JhKQoreworICAgIHhtbFJlbGF4TkdEZWZpbmVQdHIgKnJldCA9IE5VTEwsIHBhcmVudCwgY3VyLCB0bXA7CisgICAgaW50IGxlbiA9IDA7CisgICAgaW50IG1heCA9IDA7CisKKyAgICAvKgorICAgICAqIERvbid0IHJ1biB0aGF0IGNoZWNrIGluIGNhc2Ugb2YgZXJyb3IuIEluZmluaXRlIHJlY3Vyc2lvbgorICAgICAqIGJlY29tZXMgcG9zc2libGUuCisgICAgICovCisgICAgaWYgKGN0eHQtPm5iRXJyb3JzICE9IDApCisgICAgICAgIHJldHVybiAoTlVMTCk7CisKKyAgICBwYXJlbnQgPSBOVUxMOworICAgIGN1ciA9IGRlZjsKKyAgICB3aGlsZSAoY3VyICE9IE5VTEwpIHsKKyAgICAgICAgaWYgKCgoZW9yYSA9PSAwKSAmJiAoKGN1ci0+dHlwZSA9PSBYTUxfUkVMQVhOR19FTEVNRU5UKSB8fAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY3VyLT50eXBlID09IFhNTF9SRUxBWE5HX1RFWFQpKSkgfHwKKyAgICAgICAgICAgICgoZW9yYSA9PSAxKSAmJiAoY3VyLT50eXBlID09IFhNTF9SRUxBWE5HX0FUVFJJQlVURSkpKSB7CisgICAgICAgICAgICBpZiAocmV0ID09IE5VTEwpIHsKKyAgICAgICAgICAgICAgICBtYXggPSAxMDsKKyAgICAgICAgICAgICAgICByZXQgPSAoeG1sUmVsYXhOR0RlZmluZVB0ciAqKQorICAgICAgICAgICAgICAgICAgICB4bWxNYWxsb2MoKG1heCArIDEpICogc2l6ZW9mKHhtbFJlbGF4TkdEZWZpbmVQdHIpKTsKKyAgICAgICAgICAgICAgICBpZiAocmV0ID09IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgeG1sUm5nUEVyck1lbW9yeShjdHh0LCAiZ2V0dGluZyBlbGVtZW50IGxpc3RcbiIpOworICAgICAgICAgICAgICAgICAgICByZXR1cm4gKE5VTEwpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0gZWxzZSBpZiAobWF4IDw9IGxlbikgeworCSAgICAgICAgeG1sUmVsYXhOR0RlZmluZVB0ciAqdGVtcDsKKworICAgICAgICAgICAgICAgIG1heCAqPSAyOworICAgICAgICAgICAgICAgIHRlbXAgPSB4bWxSZWFsbG9jKHJldCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobWF4ICsgMSkgKiBzaXplb2YoeG1sUmVsYXhOR0RlZmluZVB0cikpOworICAgICAgICAgICAgICAgIGlmICh0ZW1wID09IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgeG1sUm5nUEVyck1lbW9yeShjdHh0LCAiZ2V0dGluZyBlbGVtZW50IGxpc3RcbiIpOworCQkgICAgeG1sRnJlZShyZXQpOworICAgICAgICAgICAgICAgICAgICByZXR1cm4gKE5VTEwpOworICAgICAgICAgICAgICAgIH0KKwkJcmV0ID0gdGVtcDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHJldFtsZW4rK10gPSBjdXI7CisgICAgICAgICAgICByZXRbbGVuXSA9IE5VTEw7CisgICAgICAgIH0gZWxzZSBpZiAoKGN1ci0+dHlwZSA9PSBYTUxfUkVMQVhOR19DSE9JQ0UpIHx8CisgICAgICAgICAgICAgICAgICAgKGN1ci0+dHlwZSA9PSBYTUxfUkVMQVhOR19JTlRFUkxFQVZFKSB8fAorICAgICAgICAgICAgICAgICAgIChjdXItPnR5cGUgPT0gWE1MX1JFTEFYTkdfR1JPVVApIHx8CisgICAgICAgICAgICAgICAgICAgKGN1ci0+dHlwZSA9PSBYTUxfUkVMQVhOR19PTkVPUk1PUkUpIHx8CisgICAgICAgICAgICAgICAgICAgKGN1ci0+dHlwZSA9PSBYTUxfUkVMQVhOR19aRVJPT1JNT1JFKSB8fAorICAgICAgICAgICAgICAgICAgIChjdXItPnR5cGUgPT0gWE1MX1JFTEFYTkdfT1BUSU9OQUwpIHx8CisgICAgICAgICAgICAgICAgICAgKGN1ci0+dHlwZSA9PSBYTUxfUkVMQVhOR19QQVJFTlRSRUYpIHx8CisgICAgICAgICAgICAgICAgICAgKGN1ci0+dHlwZSA9PSBYTUxfUkVMQVhOR19SRUYpIHx8CisgICAgICAgICAgICAgICAgICAgKGN1ci0+dHlwZSA9PSBYTUxfUkVMQVhOR19ERUYpIHx8CisJCSAgIChjdXItPnR5cGUgPT0gWE1MX1JFTEFYTkdfRVhURVJOQUxSRUYpKSB7CisgICAgICAgICAgICAvKgorICAgICAgICAgICAgICogRG9uJ3QgZ28gd2l0aGluIGVsZW1lbnRzIG9yIGF0dHJpYnV0ZXMgb3Igc3RyaW5nIHZhbHVlcy4KKyAgICAgICAgICAgICAqIEp1c3QgZ2F0aGVyIHRoZSBlbGVtZW50IHRvcCBsaXN0CisgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgIGlmIChjdXItPmNvbnRlbnQgIT0gTlVMTCkgeworICAgICAgICAgICAgICAgIHBhcmVudCA9IGN1cjsKKyAgICAgICAgICAgICAgICBjdXIgPSBjdXItPmNvbnRlbnQ7CisgICAgICAgICAgICAgICAgdG1wID0gY3VyOworICAgICAgICAgICAgICAgIHdoaWxlICh0bXAgIT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICB0bXAtPnBhcmVudCA9IHBhcmVudDsKKyAgICAgICAgICAgICAgICAgICAgdG1wID0gdG1wLT5uZXh0OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBpZiAoY3VyID09IGRlZikKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBpZiAoY3VyLT5uZXh0ICE9IE5VTEwpIHsKKyAgICAgICAgICAgIGN1ciA9IGN1ci0+bmV4dDsKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICB9CisgICAgICAgIGRvIHsKKyAgICAgICAgICAgIGN1ciA9IGN1ci0+cGFyZW50OworICAgICAgICAgICAgaWYgKGN1ciA9PSBOVUxMKQorICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgaWYgKGN1ciA9PSBkZWYpCisgICAgICAgICAgICAgICAgcmV0dXJuIChyZXQpOworICAgICAgICAgICAgaWYgKGN1ci0+bmV4dCAhPSBOVUxMKSB7CisgICAgICAgICAgICAgICAgY3VyID0gY3VyLT5uZXh0OworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICB9IHdoaWxlIChjdXIgIT0gTlVMTCk7CisgICAgfQorICAgIHJldHVybiAocmV0KTsKK30KKworLyoqCisgKiB4bWxSZWxheE5HQ2hlY2tDaG9pY2VEZXRlcm1pbmlzbToKKyAqIEBjdHh0OiAgYSBSZWxheC1ORyBwYXJzZXIgY29udGV4dAorICogQGRlZjogIHRoZSBjaG9pY2UgZGVmaW5pdGlvbgorICoKKyAqIEFsc28gdXNlZCB0byBmaW5kIGluZGV0ZXJtaW5pc3RpYyBwYXR0ZXJuIGluIGNob2ljZQorICovCitzdGF0aWMgdm9pZAoreG1sUmVsYXhOR0NoZWNrQ2hvaWNlRGV0ZXJtaW5pc20oeG1sUmVsYXhOR1BhcnNlckN0eHRQdHIgY3R4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdEZWZpbmVQdHIgZGVmKQoreworICAgIHhtbFJlbGF4TkdEZWZpbmVQdHIgKipsaXN0OworICAgIHhtbFJlbGF4TkdEZWZpbmVQdHIgY3VyOworICAgIGludCBuYmNoaWxkID0gMCwgaSwgaiwgcmV0OworICAgIGludCBpc19udWxsYWJsZSA9IDA7CisgICAgaW50IGlzX2luZGV0ZXJtaW5pc3QgPSAwOworICAgIHhtbEhhc2hUYWJsZVB0ciB0cmlhZ2UgPSBOVUxMOworICAgIGludCBpc190cmlhYmxlID0gMTsKKworICAgIGlmICgoZGVmID09IE5VTEwpIHx8IChkZWYtPnR5cGUgIT0gWE1MX1JFTEFYTkdfQ0hPSUNFKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKGRlZi0+ZGZsYWdzICYgSVNfUFJPQ0VTU0VEKQorICAgICAgICByZXR1cm47CisKKyAgICAvKgorICAgICAqIERvbid0IHJ1biB0aGF0IGNoZWNrIGluIGNhc2Ugb2YgZXJyb3IuIEluZmluaXRlIHJlY3Vyc2lvbgorICAgICAqIGJlY29tZXMgcG9zc2libGUuCisgICAgICovCisgICAgaWYgKGN0eHQtPm5iRXJyb3JzICE9IDApCisgICAgICAgIHJldHVybjsKKworICAgIGlzX251bGxhYmxlID0geG1sUmVsYXhOR0lzTnVsbGFibGUoZGVmKTsKKworICAgIGN1ciA9IGRlZi0+Y29udGVudDsKKyAgICB3aGlsZSAoY3VyICE9IE5VTEwpIHsKKyAgICAgICAgbmJjaGlsZCsrOworICAgICAgICBjdXIgPSBjdXItPm5leHQ7CisgICAgfQorCisgICAgbGlzdCA9ICh4bWxSZWxheE5HRGVmaW5lUHRyICoqKSB4bWxNYWxsb2MobmJjaGlsZCAqCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKHhtbFJlbGF4TkdEZWZpbmVQdHIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKikpOworICAgIGlmIChsaXN0ID09IE5VTEwpIHsKKyAgICAgICAgeG1sUm5nUEVyck1lbW9yeShjdHh0LCAiYnVpbGRpbmcgY2hvaWNlXG4iKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBpID0gMDsKKyAgICAvKgorICAgICAqIGEgYml0IHN0cm9uZyBidXQgc2FmZQorICAgICAqLworICAgIGlmIChpc19udWxsYWJsZSA9PSAwKSB7CisgICAgICAgIHRyaWFnZSA9IHhtbEhhc2hDcmVhdGUoMTApOworICAgIH0gZWxzZSB7CisgICAgICAgIGlzX3RyaWFibGUgPSAwOworICAgIH0KKyAgICBjdXIgPSBkZWYtPmNvbnRlbnQ7CisgICAgd2hpbGUgKGN1ciAhPSBOVUxMKSB7CisgICAgICAgIGxpc3RbaV0gPSB4bWxSZWxheE5HR2V0RWxlbWVudHMoY3R4dCwgY3VyLCAwKTsKKyAgICAgICAgaWYgKChsaXN0W2ldID09IE5VTEwpIHx8IChsaXN0W2ldWzBdID09IE5VTEwpKSB7CisgICAgICAgICAgICBpc190cmlhYmxlID0gMDsKKyAgICAgICAgfSBlbHNlIGlmIChpc190cmlhYmxlID09IDEpIHsKKyAgICAgICAgICAgIHhtbFJlbGF4TkdEZWZpbmVQdHIgKnRtcDsKKyAgICAgICAgICAgIGludCByZXM7CisKKyAgICAgICAgICAgIHRtcCA9IGxpc3RbaV07CisgICAgICAgICAgICB3aGlsZSAoKCp0bXAgIT0gTlVMTCkgJiYgKGlzX3RyaWFibGUgPT0gMSkpIHsKKyAgICAgICAgICAgICAgICBpZiAoKCp0bXApLT50eXBlID09IFhNTF9SRUxBWE5HX1RFWFQpIHsKKyAgICAgICAgICAgICAgICAgICAgcmVzID0geG1sSGFzaEFkZEVudHJ5Mih0cmlhZ2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQkFEX0NBU1QgIiN0ZXh0IiwgTlVMTCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodm9pZCAqKSBjdXIpOworICAgICAgICAgICAgICAgICAgICBpZiAocmVzICE9IDApCisgICAgICAgICAgICAgICAgICAgICAgICBpc190cmlhYmxlID0gLTE7CisgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgoKCp0bXApLT50eXBlID09IFhNTF9SRUxBWE5HX0VMRU1FTlQpICYmCisgICAgICAgICAgICAgICAgICAgICAgICAgICAoKCp0bXApLT5uYW1lICE9IE5VTEwpKSB7CisgICAgICAgICAgICAgICAgICAgIGlmICgoKCp0bXApLT5ucyA9PSBOVUxMKSB8fCAoKCp0bXApLT5uc1swXSA9PSAwKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHJlcyA9IHhtbEhhc2hBZGRFbnRyeTIodHJpYWdlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKnRtcCktPm5hbWUsIE5VTEwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2b2lkICopIGN1cik7CisgICAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgIHJlcyA9IHhtbEhhc2hBZGRFbnRyeTIodHJpYWdlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKnRtcCktPm5hbWUsICgqdG1wKS0+bnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2b2lkICopIGN1cik7CisgICAgICAgICAgICAgICAgICAgIGlmIChyZXMgIT0gMCkKKyAgICAgICAgICAgICAgICAgICAgICAgIGlzX3RyaWFibGUgPSAtMTsKKyAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCgqdG1wKS0+dHlwZSA9PSBYTUxfUkVMQVhOR19FTEVNRU5UKSB7CisgICAgICAgICAgICAgICAgICAgIGlmICgoKCp0bXApLT5ucyA9PSBOVUxMKSB8fCAoKCp0bXApLT5uc1swXSA9PSAwKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHJlcyA9IHhtbEhhc2hBZGRFbnRyeTIodHJpYWdlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCQURfQ0FTVCAiI2FueSIsIE5VTEwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2b2lkICopIGN1cik7CisgICAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgIHJlcyA9IHhtbEhhc2hBZGRFbnRyeTIodHJpYWdlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCQURfQ0FTVCAiI2FueSIsICgqdG1wKS0+bnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2b2lkICopIGN1cik7CisgICAgICAgICAgICAgICAgICAgIGlmIChyZXMgIT0gMCkKKyAgICAgICAgICAgICAgICAgICAgICAgIGlzX3RyaWFibGUgPSAtMTsKKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICBpc190cmlhYmxlID0gLTE7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHRtcCsrOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIGkrKzsKKyAgICAgICAgY3VyID0gY3VyLT5uZXh0OworICAgIH0KKworICAgIGZvciAoaSA9IDA7IGkgPCBuYmNoaWxkOyBpKyspIHsKKyAgICAgICAgaWYgKGxpc3RbaV0gPT0gTlVMTCkKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICBmb3IgKGogPSAwOyBqIDwgaTsgaisrKSB7CisgICAgICAgICAgICBpZiAobGlzdFtqXSA9PSBOVUxMKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgcmV0ID0geG1sUmVsYXhOR0NvbXBhcmVFbGVtRGVmTGlzdHMoY3R4dCwgbGlzdFtpXSwgbGlzdFtqXSk7CisgICAgICAgICAgICBpZiAocmV0ID09IDApIHsKKyAgICAgICAgICAgICAgICBpc19pbmRldGVybWluaXN0ID0gMTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKyAgICBmb3IgKGkgPSAwOyBpIDwgbmJjaGlsZDsgaSsrKSB7CisgICAgICAgIGlmIChsaXN0W2ldICE9IE5VTEwpCisgICAgICAgICAgICB4bWxGcmVlKGxpc3RbaV0pOworICAgIH0KKworICAgIHhtbEZyZWUobGlzdCk7CisgICAgaWYgKGlzX2luZGV0ZXJtaW5pc3QpIHsKKyAgICAgICAgZGVmLT5kZmxhZ3MgfD0gSVNfSU5ERVRFUk1JTklTVDsKKyAgICB9CisgICAgaWYgKGlzX3RyaWFibGUgPT0gMSkgeworICAgICAgICBkZWYtPmRmbGFncyB8PSBJU19UUklBQkxFOworICAgICAgICBkZWYtPmRhdGEgPSB0cmlhZ2U7CisgICAgfSBlbHNlIGlmICh0cmlhZ2UgIT0gTlVMTCkgeworICAgICAgICB4bWxIYXNoRnJlZSh0cmlhZ2UsIE5VTEwpOworICAgIH0KKyAgICBkZWYtPmRmbGFncyB8PSBJU19QUk9DRVNTRUQ7Cit9CisKKy8qKgorICogeG1sUmVsYXhOR0NoZWNrR3JvdXBBdHRyczoKKyAqIEBjdHh0OiAgYSBSZWxheC1ORyBwYXJzZXIgY29udGV4dAorICogQGRlZjogIHRoZSBncm91cCBkZWZpbml0aW9uCisgKgorICogRGV0ZWN0cyB2aW9sYXRpb25zIG9mIHJ1bGUgNy4zCisgKi8KK3N0YXRpYyB2b2lkCit4bWxSZWxheE5HQ2hlY2tHcm91cEF0dHJzKHhtbFJlbGF4TkdQYXJzZXJDdHh0UHRyIGN0eHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdEZWZpbmVQdHIgZGVmKQoreworICAgIHhtbFJlbGF4TkdEZWZpbmVQdHIgKipsaXN0OworICAgIHhtbFJlbGF4TkdEZWZpbmVQdHIgY3VyOworICAgIGludCBuYmNoaWxkID0gMCwgaSwgaiwgcmV0OworCisgICAgaWYgKChkZWYgPT0gTlVMTCkgfHwKKyAgICAgICAgKChkZWYtPnR5cGUgIT0gWE1MX1JFTEFYTkdfR1JPVVApICYmCisgICAgICAgICAoZGVmLT50eXBlICE9IFhNTF9SRUxBWE5HX0VMRU1FTlQpKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKGRlZi0+ZGZsYWdzICYgSVNfUFJPQ0VTU0VEKQorICAgICAgICByZXR1cm47CisKKyAgICAvKgorICAgICAqIERvbid0IHJ1biB0aGF0IGNoZWNrIGluIGNhc2Ugb2YgZXJyb3IuIEluZmluaXRlIHJlY3Vyc2lvbgorICAgICAqIGJlY29tZXMgcG9zc2libGUuCisgICAgICovCisgICAgaWYgKGN0eHQtPm5iRXJyb3JzICE9IDApCisgICAgICAgIHJldHVybjsKKworICAgIGN1ciA9IGRlZi0+YXR0cnM7CisgICAgd2hpbGUgKGN1ciAhPSBOVUxMKSB7CisgICAgICAgIG5iY2hpbGQrKzsKKyAgICAgICAgY3VyID0gY3VyLT5uZXh0OworICAgIH0KKyAgICBjdXIgPSBkZWYtPmNvbnRlbnQ7CisgICAgd2hpbGUgKGN1ciAhPSBOVUxMKSB7CisgICAgICAgIG5iY2hpbGQrKzsKKyAgICAgICAgY3VyID0gY3VyLT5uZXh0OworICAgIH0KKworICAgIGxpc3QgPSAoeG1sUmVsYXhOR0RlZmluZVB0ciAqKikgeG1sTWFsbG9jKG5iY2hpbGQgKgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZih4bWxSZWxheE5HRGVmaW5lUHRyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICopKTsKKyAgICBpZiAobGlzdCA9PSBOVUxMKSB7CisgICAgICAgIHhtbFJuZ1BFcnJNZW1vcnkoY3R4dCwgImJ1aWxkaW5nIGdyb3VwXG4iKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBpID0gMDsKKyAgICBjdXIgPSBkZWYtPmF0dHJzOworICAgIHdoaWxlIChjdXIgIT0gTlVMTCkgeworICAgICAgICBsaXN0W2ldID0geG1sUmVsYXhOR0dldEVsZW1lbnRzKGN0eHQsIGN1ciwgMSk7CisgICAgICAgIGkrKzsKKyAgICAgICAgY3VyID0gY3VyLT5uZXh0OworICAgIH0KKyAgICBjdXIgPSBkZWYtPmNvbnRlbnQ7CisgICAgd2hpbGUgKGN1ciAhPSBOVUxMKSB7CisgICAgICAgIGxpc3RbaV0gPSB4bWxSZWxheE5HR2V0RWxlbWVudHMoY3R4dCwgY3VyLCAxKTsKKyAgICAgICAgaSsrOworICAgICAgICBjdXIgPSBjdXItPm5leHQ7CisgICAgfQorCisgICAgZm9yIChpID0gMDsgaSA8IG5iY2hpbGQ7IGkrKykgeworICAgICAgICBpZiAobGlzdFtpXSA9PSBOVUxMKQorICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIGZvciAoaiA9IDA7IGogPCBpOyBqKyspIHsKKyAgICAgICAgICAgIGlmIChsaXN0W2pdID09IE5VTEwpCisgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICByZXQgPSB4bWxSZWxheE5HQ29tcGFyZUVsZW1EZWZMaXN0cyhjdHh0LCBsaXN0W2ldLCBsaXN0W2pdKTsKKyAgICAgICAgICAgIGlmIChyZXQgPT0gMCkgeworICAgICAgICAgICAgICAgIHhtbFJuZ1BFcnIoY3R4dCwgZGVmLT5ub2RlLCBYTUxfUk5HUF9HUk9VUF9BVFRSX0NPTkZMSUNULAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIkF0dHJpYnV0ZXMgY29uZmxpY3RzIGluIGdyb3VwXG4iLCBOVUxMLCBOVUxMKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKyAgICBmb3IgKGkgPSAwOyBpIDwgbmJjaGlsZDsgaSsrKSB7CisgICAgICAgIGlmIChsaXN0W2ldICE9IE5VTEwpCisgICAgICAgICAgICB4bWxGcmVlKGxpc3RbaV0pOworICAgIH0KKworICAgIHhtbEZyZWUobGlzdCk7CisgICAgZGVmLT5kZmxhZ3MgfD0gSVNfUFJPQ0VTU0VEOworfQorCisvKioKKyAqIHhtbFJlbGF4TkdDb21wdXRlSW50ZXJsZWF2ZXM6CisgKiBAZGVmOiAgdGhlIGludGVybGVhdmUgZGVmaW5pdGlvbgorICogQGN0eHQ6ICBhIFJlbGF4LU5HIHBhcnNlciBjb250ZXh0CisgKiBAbmFtZTogIHRoZSBkZWZpbml0aW9uIG5hbWUKKyAqCisgKiBBIGxvdCBvZiB3b3JrIGZvciBwcmVwcm9jZXNzaW5nIGludGVybGVhdmUgZGVmaW5pdGlvbnMKKyAqIGlzIHBvdGVudGlhbGx5IG5lZWRlZCB0byBnZXQgYSBkZWNlbnQgZXhlY3V0aW9uIHNwZWVkIGF0IHJ1bnRpbWUKKyAqICAgLSB0cnlpbmcgdG8gZ2V0IGEgdG90YWwgb3JkZXIgb24gdGhlIGVsZW1lbnQgbm9kZXMgZ2VuZXJhdGVkCisgKiAgICAgYnkgdGhlIGludGVybGVhdmVzLCBvcmRlciB0aGUgbGlzdCBvZiBpbnRlcmxlYXZlIGRlZmluaXRpb25zCisgKiAgICAgZm9sbG93aW5nIHRoYXQgb3JkZXIuCisgKiAgIC0gaWYgPHRleHQvPiBpcyB1c2VkIHRvIGhhbmRsZSBtaXhlZCBjb250ZW50LCBpdCBpcyBiZXR0ZXIgdG8KKyAqICAgICBmbGFnIHRoaXMgaW4gdGhlIGRlZmluZSBhbmQgc2ltcGxpZnkgdGhlIHJ1bnRpbWUgY2hlY2tpbmcKKyAqICAgICBhbGdvcml0aG0KKyAqLworc3RhdGljIHZvaWQKK3htbFJlbGF4TkdDb21wdXRlSW50ZXJsZWF2ZXMoeG1sUmVsYXhOR0RlZmluZVB0ciBkZWYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdQYXJzZXJDdHh0UHRyIGN0eHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbENoYXIgKiBuYW1lIEFUVFJJQlVURV9VTlVTRUQpCit7CisgICAgeG1sUmVsYXhOR0RlZmluZVB0ciBjdXIsICp0bXA7CisKKyAgICB4bWxSZWxheE5HUGFydGl0aW9uUHRyIHBhcnRpdGlvbnMgPSBOVUxMOworICAgIHhtbFJlbGF4TkdJbnRlcmxlYXZlR3JvdXBQdHIgKmdyb3VwcyA9IE5VTEw7CisgICAgeG1sUmVsYXhOR0ludGVybGVhdmVHcm91cFB0ciBncm91cDsKKyAgICBpbnQgaSwgaiwgcmV0LCByZXM7CisgICAgaW50IG5iZ3JvdXBzID0gMDsKKyAgICBpbnQgbmJjaGlsZCA9IDA7CisgICAgaW50IGlzX21peGVkID0gMDsKKyAgICBpbnQgaXNfZGV0ZXJtaW5pc3QgPSAxOworCisgICAgLyoKKyAgICAgKiBEb24ndCBydW4gdGhhdCBjaGVjayBpbiBjYXNlIG9mIGVycm9yLiBJbmZpbml0ZSByZWN1cnNpb24KKyAgICAgKiBiZWNvbWVzIHBvc3NpYmxlLgorICAgICAqLworICAgIGlmIChjdHh0LT5uYkVycm9ycyAhPSAwKQorICAgICAgICByZXR1cm47CisKKyNpZmRlZiBERUJVR19JTlRFUkxFQVZFCisgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICJ4bWxSZWxheE5HQ29tcHV0ZUludGVybGVhdmVzKCVzKVxuIiwgbmFtZSk7CisjZW5kaWYKKyAgICBjdXIgPSBkZWYtPmNvbnRlbnQ7CisgICAgd2hpbGUgKGN1ciAhPSBOVUxMKSB7CisgICAgICAgIG5iY2hpbGQrKzsKKyAgICAgICAgY3VyID0gY3VyLT5uZXh0OworICAgIH0KKworI2lmZGVmIERFQlVHX0lOVEVSTEVBVkUKKyAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgIiAgJWQgY2hpbGRcbiIsIG5iY2hpbGQpOworI2VuZGlmCisgICAgZ3JvdXBzID0gKHhtbFJlbGF4TkdJbnRlcmxlYXZlR3JvdXBQdHIgKikKKyAgICAgICAgeG1sTWFsbG9jKG5iY2hpbGQgKiBzaXplb2YoeG1sUmVsYXhOR0ludGVybGVhdmVHcm91cFB0cikpOworICAgIGlmIChncm91cHMgPT0gTlVMTCkKKyAgICAgICAgZ290byBlcnJvcjsKKyAgICBjdXIgPSBkZWYtPmNvbnRlbnQ7CisgICAgd2hpbGUgKGN1ciAhPSBOVUxMKSB7CisgICAgICAgIGdyb3Vwc1tuYmdyb3Vwc10gPSAoeG1sUmVsYXhOR0ludGVybGVhdmVHcm91cFB0cikKKyAgICAgICAgICAgIHhtbE1hbGxvYyhzaXplb2YoeG1sUmVsYXhOR0ludGVybGVhdmVHcm91cCkpOworICAgICAgICBpZiAoZ3JvdXBzW25iZ3JvdXBzXSA9PSBOVUxMKQorICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgaWYgKGN1ci0+dHlwZSA9PSBYTUxfUkVMQVhOR19URVhUKQorICAgICAgICAgICAgaXNfbWl4ZWQrKzsKKyAgICAgICAgZ3JvdXBzW25iZ3JvdXBzXS0+cnVsZSA9IGN1cjsKKyAgICAgICAgZ3JvdXBzW25iZ3JvdXBzXS0+ZGVmcyA9IHhtbFJlbGF4TkdHZXRFbGVtZW50cyhjdHh0LCBjdXIsIDApOworICAgICAgICBncm91cHNbbmJncm91cHNdLT5hdHRycyA9IHhtbFJlbGF4TkdHZXRFbGVtZW50cyhjdHh0LCBjdXIsIDEpOworICAgICAgICBuYmdyb3VwcysrOworICAgICAgICBjdXIgPSBjdXItPm5leHQ7CisgICAgfQorI2lmZGVmIERFQlVHX0lOVEVSTEVBVkUKKyAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgIiAgJWQgZ3JvdXBzXG4iLCBuYmdyb3Vwcyk7CisjZW5kaWYKKworICAgIC8qCisgICAgICogTGV0J3MgY2hlY2sgdGhhdCBhbGwgcnVsZXMgbWFrZXMgYSBwYXJ0aXRpb25zIGFjY29yZGluZyB0byA3LjQKKyAgICAgKi8KKyAgICBwYXJ0aXRpb25zID0gKHhtbFJlbGF4TkdQYXJ0aXRpb25QdHIpCisgICAgICAgIHhtbE1hbGxvYyhzaXplb2YoeG1sUmVsYXhOR1BhcnRpdGlvbikpOworICAgIGlmIChwYXJ0aXRpb25zID09IE5VTEwpCisgICAgICAgIGdvdG8gZXJyb3I7CisgICAgbWVtc2V0KHBhcnRpdGlvbnMsIDAsIHNpemVvZih4bWxSZWxheE5HUGFydGl0aW9uKSk7CisgICAgcGFydGl0aW9ucy0+bmJncm91cHMgPSBuYmdyb3VwczsKKyAgICBwYXJ0aXRpb25zLT50cmlhZ2UgPSB4bWxIYXNoQ3JlYXRlKG5iZ3JvdXBzKTsKKyAgICBmb3IgKGkgPSAwOyBpIDwgbmJncm91cHM7IGkrKykgeworICAgICAgICBncm91cCA9IGdyb3Vwc1tpXTsKKyAgICAgICAgZm9yIChqID0gaSArIDE7IGogPCBuYmdyb3VwczsgaisrKSB7CisgICAgICAgICAgICBpZiAoZ3JvdXBzW2pdID09IE5VTEwpCisgICAgICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgICAgIHJldCA9IHhtbFJlbGF4TkdDb21wYXJlRWxlbURlZkxpc3RzKGN0eHQsIGdyb3VwLT5kZWZzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JvdXBzW2pdLT5kZWZzKTsKKyAgICAgICAgICAgIGlmIChyZXQgPT0gMCkgeworICAgICAgICAgICAgICAgIHhtbFJuZ1BFcnIoY3R4dCwgZGVmLT5ub2RlLCBYTUxfUk5HUF9FTEVNX1RFWFRfQ09ORkxJQ1QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAiRWxlbWVudCBvciB0ZXh0IGNvbmZsaWN0cyBpbiBpbnRlcmxlYXZlXG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgTlVMTCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICByZXQgPSB4bWxSZWxheE5HQ29tcGFyZUVsZW1EZWZMaXN0cyhjdHh0LCBncm91cC0+YXR0cnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncm91cHNbal0tPmF0dHJzKTsKKyAgICAgICAgICAgIGlmIChyZXQgPT0gMCkgeworICAgICAgICAgICAgICAgIHhtbFJuZ1BFcnIoY3R4dCwgZGVmLT5ub2RlLCBYTUxfUk5HUF9BVFRSX0NPTkZMSUNULAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIkF0dHJpYnV0ZXMgY29uZmxpY3RzIGluIGludGVybGVhdmVcbiIsIE5VTEwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICB0bXAgPSBncm91cC0+ZGVmczsKKyAgICAgICAgaWYgKCh0bXAgIT0gTlVMTCkgJiYgKCp0bXAgIT0gTlVMTCkpIHsKKyAgICAgICAgICAgIHdoaWxlICgqdG1wICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICBpZiAoKCp0bXApLT50eXBlID09IFhNTF9SRUxBWE5HX1RFWFQpIHsKKyAgICAgICAgICAgICAgICAgICAgcmVzID0geG1sSGFzaEFkZEVudHJ5MihwYXJ0aXRpb25zLT50cmlhZ2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQkFEX0NBU1QgIiN0ZXh0IiwgTlVMTCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodm9pZCAqKSAobG9uZykgKGkgKyAxKSk7CisgICAgICAgICAgICAgICAgICAgIGlmIChyZXMgIT0gMCkKKyAgICAgICAgICAgICAgICAgICAgICAgIGlzX2RldGVybWluaXN0ID0gLTE7CisgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgoKCp0bXApLT50eXBlID09IFhNTF9SRUxBWE5HX0VMRU1FTlQpICYmCisgICAgICAgICAgICAgICAgICAgICAgICAgICAoKCp0bXApLT5uYW1lICE9IE5VTEwpKSB7CisgICAgICAgICAgICAgICAgICAgIGlmICgoKCp0bXApLT5ucyA9PSBOVUxMKSB8fCAoKCp0bXApLT5uc1swXSA9PSAwKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHJlcyA9IHhtbEhhc2hBZGRFbnRyeTIocGFydGl0aW9ucy0+dHJpYWdlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKnRtcCktPm5hbWUsIE5VTEwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2b2lkICopIChsb25nKSAoaSArIDEpKTsKKyAgICAgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAgcmVzID0geG1sSGFzaEFkZEVudHJ5MihwYXJ0aXRpb25zLT50cmlhZ2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgqdG1wKS0+bmFtZSwgKCp0bXApLT5ucywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHZvaWQgKikgKGxvbmcpIChpICsgMSkpOworICAgICAgICAgICAgICAgICAgICBpZiAocmVzICE9IDApCisgICAgICAgICAgICAgICAgICAgICAgICBpc19kZXRlcm1pbmlzdCA9IC0xOworICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoKCp0bXApLT50eXBlID09IFhNTF9SRUxBWE5HX0VMRU1FTlQpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKCgoKnRtcCktPm5zID09IE5VTEwpIHx8ICgoKnRtcCktPm5zWzBdID09IDApKQorICAgICAgICAgICAgICAgICAgICAgICAgcmVzID0geG1sSGFzaEFkZEVudHJ5MihwYXJ0aXRpb25zLT50cmlhZ2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJBRF9DQVNUICIjYW55IiwgTlVMTCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHZvaWQgKikgKGxvbmcpIChpICsgMSkpOworICAgICAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgICAgICByZXMgPSB4bWxIYXNoQWRkRW50cnkyKHBhcnRpdGlvbnMtPnRyaWFnZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQkFEX0NBU1QgIiNhbnkiLCAoKnRtcCktPm5zLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodm9pZCAqKSAobG9uZykgKGkgKyAxKSk7CisgICAgICAgICAgICAgICAgICAgIGlmICgoKnRtcCktPm5hbWVDbGFzcyAhPSBOVUxMKQorICAgICAgICAgICAgICAgICAgICAgICAgaXNfZGV0ZXJtaW5pc3QgPSAyOworICAgICAgICAgICAgICAgICAgICBpZiAocmVzICE9IDApCisgICAgICAgICAgICAgICAgICAgICAgICBpc19kZXRlcm1pbmlzdCA9IC0xOworICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIGlzX2RldGVybWluaXN0ID0gLTE7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHRtcCsrOworICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgaXNfZGV0ZXJtaW5pc3QgPSAwOworICAgICAgICB9CisgICAgfQorICAgIHBhcnRpdGlvbnMtPmdyb3VwcyA9IGdyb3VwczsKKworICAgIC8qCisgICAgICogYW5kIHNhdmUgdGhlIHBhcnRpdGlvbiBsaXN0IGJhY2sgaW4gdGhlIGRlZgorICAgICAqLworICAgIGRlZi0+ZGF0YSA9IHBhcnRpdGlvbnM7CisgICAgaWYgKGlzX21peGVkICE9IDApCisgICAgICAgIGRlZi0+ZGZsYWdzIHw9IElTX01JWEVEOworICAgIGlmIChpc19kZXRlcm1pbmlzdCA9PSAxKQorICAgICAgICBwYXJ0aXRpb25zLT5mbGFncyA9IElTX0RFVEVSTUlOSVNUOworICAgIGlmIChpc19kZXRlcm1pbmlzdCA9PSAyKQorICAgICAgICBwYXJ0aXRpb25zLT5mbGFncyA9IElTX0RFVEVSTUlOSVNUIHwgSVNfTkVFRENIRUNLOworICAgIHJldHVybjsKKworICBlcnJvcjoKKyAgICB4bWxSbmdQRXJyTWVtb3J5KGN0eHQsICJpbiBpbnRlcmxlYXZlIGNvbXB1dGF0aW9uXG4iKTsKKyAgICBpZiAoZ3JvdXBzICE9IE5VTEwpIHsKKyAgICAgICAgZm9yIChpID0gMDsgaSA8IG5iZ3JvdXBzOyBpKyspCisgICAgICAgICAgICBpZiAoZ3JvdXBzW2ldICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICBpZiAoZ3JvdXBzW2ldLT5kZWZzICE9IE5VTEwpCisgICAgICAgICAgICAgICAgICAgIHhtbEZyZWUoZ3JvdXBzW2ldLT5kZWZzKTsKKyAgICAgICAgICAgICAgICB4bWxGcmVlKGdyb3Vwc1tpXSk7CisgICAgICAgICAgICB9CisgICAgICAgIHhtbEZyZWUoZ3JvdXBzKTsKKyAgICB9CisgICAgeG1sUmVsYXhOR0ZyZWVQYXJ0aXRpb24ocGFydGl0aW9ucyk7Cit9CisKKy8qKgorICogeG1sUmVsYXhOR1BhcnNlSW50ZXJsZWF2ZToKKyAqIEBjdHh0OiAgYSBSZWxheC1ORyBwYXJzZXIgY29udGV4dAorICogQG5vZGU6ICB0aGUgZGF0YSBub2RlLgorICoKKyAqIHBhcnNlIHRoZSBjb250ZW50IG9mIGEgUmVsYXhORyBpbnRlcmxlYXZlIG5vZGUuCisgKgorICogUmV0dXJucyB0aGUgZGVmaW5pdGlvbiBwb2ludGVyIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcgorICovCitzdGF0aWMgeG1sUmVsYXhOR0RlZmluZVB0cgoreG1sUmVsYXhOR1BhcnNlSW50ZXJsZWF2ZSh4bWxSZWxheE5HUGFyc2VyQ3R4dFB0ciBjdHh0LCB4bWxOb2RlUHRyIG5vZGUpCit7CisgICAgeG1sUmVsYXhOR0RlZmluZVB0ciBkZWYgPSBOVUxMOworICAgIHhtbFJlbGF4TkdEZWZpbmVQdHIgbGFzdCA9IE5VTEwsIGN1cjsKKyAgICB4bWxOb2RlUHRyIGNoaWxkOworCisgICAgZGVmID0geG1sUmVsYXhOR05ld0RlZmluZShjdHh0LCBub2RlKTsKKyAgICBpZiAoZGVmID09IE5VTEwpIHsKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICB9CisgICAgZGVmLT50eXBlID0gWE1MX1JFTEFYTkdfSU5URVJMRUFWRTsKKworICAgIGlmIChjdHh0LT5pbnRlcmxlYXZlcyA9PSBOVUxMKQorICAgICAgICBjdHh0LT5pbnRlcmxlYXZlcyA9IHhtbEhhc2hDcmVhdGUoMTApOworICAgIGlmIChjdHh0LT5pbnRlcmxlYXZlcyA9PSBOVUxMKSB7CisgICAgICAgIHhtbFJuZ1BFcnJNZW1vcnkoY3R4dCwgImNyZWF0ZSBpbnRlcmxlYXZlc1xuIik7CisgICAgfSBlbHNlIHsKKyAgICAgICAgY2hhciBuYW1lWzMyXTsKKworICAgICAgICBzbnByaW50ZihuYW1lLCAzMiwgImludGVybGVhdmUlZCIsIGN0eHQtPm5iSW50ZXJsZWF2ZXMrKyk7CisgICAgICAgIGlmICh4bWxIYXNoQWRkRW50cnkoY3R4dC0+aW50ZXJsZWF2ZXMsIEJBRF9DQVNUIG5hbWUsIGRlZikgPCAwKSB7CisgICAgICAgICAgICB4bWxSbmdQRXJyKGN0eHQsIG5vZGUsIFhNTF9STkdQX0lOVEVSTEVBVkVfQURELAorICAgICAgICAgICAgICAgICAgICAgICAiRmFpbGVkIHRvIGFkZCAlcyB0byBoYXNoIHRhYmxlXG4iLAorCQkgICAgICAgKGNvbnN0IHhtbENoYXIgKikgbmFtZSwgTlVMTCk7CisgICAgICAgIH0KKyAgICB9CisgICAgY2hpbGQgPSBub2RlLT5jaGlsZHJlbjsKKyAgICBpZiAoY2hpbGQgPT0gTlVMTCkgeworICAgICAgICB4bWxSbmdQRXJyKGN0eHQsIG5vZGUsIFhNTF9STkdQX0lOVEVSTEVBVkVfTk9fQ09OVEVOVCwKKyAgICAgICAgICAgICAgICAgICAiRWxlbWVudCBpbnRlcmxlYXZlIGlzIGVtcHR5XG4iLCBOVUxMLCBOVUxMKTsKKyAgICB9CisgICAgd2hpbGUgKGNoaWxkICE9IE5VTEwpIHsKKyAgICAgICAgaWYgKElTX1JFTEFYTkcoY2hpbGQsICJlbGVtZW50IikpIHsKKyAgICAgICAgICAgIGN1ciA9IHhtbFJlbGF4TkdQYXJzZUVsZW1lbnQoY3R4dCwgY2hpbGQpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgY3VyID0geG1sUmVsYXhOR1BhcnNlUGF0dGVybihjdHh0LCBjaGlsZCk7CisgICAgICAgIH0KKyAgICAgICAgaWYgKGN1ciAhPSBOVUxMKSB7CisgICAgICAgICAgICBjdXItPnBhcmVudCA9IGRlZjsKKyAgICAgICAgICAgIGlmIChsYXN0ID09IE5VTEwpIHsKKyAgICAgICAgICAgICAgICBkZWYtPmNvbnRlbnQgPSBsYXN0ID0gY3VyOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBsYXN0LT5uZXh0ID0gY3VyOworICAgICAgICAgICAgICAgIGxhc3QgPSBjdXI7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgY2hpbGQgPSBjaGlsZC0+bmV4dDsKKyAgICB9CisKKyAgICByZXR1cm4gKGRlZik7Cit9CisKKy8qKgorICogeG1sUmVsYXhOR1BhcnNlSW5jbHVkZToKKyAqIEBjdHh0OiAgYSBSZWxheC1ORyBwYXJzZXIgY29udGV4dAorICogQG5vZGU6ICB0aGUgaW5jbHVkZSBub2RlCisgKgorICogSW50ZWdyYXRlIHRoZSBjb250ZW50IG9mIGFuIGluY2x1ZGUgbm9kZSBpbiB0aGUgY3VycmVudCBncmFtbWFyCisgKgorICogUmV0dXJucyAwIGluIGNhc2Ugb2Ygc3VjY2VzcyBvciAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3N0YXRpYyBpbnQKK3htbFJlbGF4TkdQYXJzZUluY2x1ZGUoeG1sUmVsYXhOR1BhcnNlckN0eHRQdHIgY3R4dCwgeG1sTm9kZVB0ciBub2RlKQoreworICAgIHhtbFJlbGF4TkdJbmNsdWRlUHRyIGluY2w7CisgICAgeG1sTm9kZVB0ciByb290OworICAgIGludCByZXQgPSAwLCB0bXA7CisKKyAgICBpbmNsID0gbm9kZS0+cHN2aTsKKyAgICBpZiAoaW5jbCA9PSBOVUxMKSB7CisgICAgICAgIHhtbFJuZ1BFcnIoY3R4dCwgbm9kZSwgWE1MX1JOR1BfSU5DTFVERV9FTVBUWSwKKyAgICAgICAgICAgICAgICAgICAiSW5jbHVkZSBub2RlIGhhcyBubyBkYXRhXG4iLCBOVUxMLCBOVUxMKTsKKyAgICAgICAgcmV0dXJuICgtMSk7CisgICAgfQorICAgIHJvb3QgPSB4bWxEb2NHZXRSb290RWxlbWVudChpbmNsLT5kb2MpOworICAgIGlmIChyb290ID09IE5VTEwpIHsKKyAgICAgICAgeG1sUm5nUEVycihjdHh0LCBub2RlLCBYTUxfUk5HUF9FTVBUWSwgIkluY2x1ZGUgZG9jdW1lbnQgaXMgZW1wdHlcbiIsCisgICAgICAgICAgICAgICAgICAgTlVMTCwgTlVMTCk7CisgICAgICAgIHJldHVybiAoLTEpOworICAgIH0KKyAgICBpZiAoIXhtbFN0ckVxdWFsKHJvb3QtPm5hbWUsIEJBRF9DQVNUICJncmFtbWFyIikpIHsKKyAgICAgICAgeG1sUm5nUEVycihjdHh0LCBub2RlLCBYTUxfUk5HUF9HUkFNTUFSX01JU1NJTkcsCisgICAgICAgICAgICAgICAgICAgIkluY2x1ZGUgZG9jdW1lbnQgcm9vdCBpcyBub3QgYSBncmFtbWFyXG4iLCBOVUxMLCBOVUxMKTsKKyAgICAgICAgcmV0dXJuICgtMSk7CisgICAgfQorCisgICAgLyoKKyAgICAgKiBNZXJnZSB0aGUgZGVmaW5pdGlvbiBmcm9tIGJvdGggdGhlIGluY2x1ZGUgYW5kIHRoZSBpbnRlcm5hbCBsaXN0CisgICAgICovCisgICAgaWYgKHJvb3QtPmNoaWxkcmVuICE9IE5VTEwpIHsKKyAgICAgICAgdG1wID0geG1sUmVsYXhOR1BhcnNlR3JhbW1hckNvbnRlbnQoY3R4dCwgcm9vdC0+Y2hpbGRyZW4pOworICAgICAgICBpZiAodG1wICE9IDApCisgICAgICAgICAgICByZXQgPSAtMTsKKyAgICB9CisgICAgaWYgKG5vZGUtPmNoaWxkcmVuICE9IE5VTEwpIHsKKyAgICAgICAgdG1wID0geG1sUmVsYXhOR1BhcnNlR3JhbW1hckNvbnRlbnQoY3R4dCwgbm9kZS0+Y2hpbGRyZW4pOworICAgICAgICBpZiAodG1wICE9IDApCisgICAgICAgICAgICByZXQgPSAtMTsKKyAgICB9CisgICAgcmV0dXJuIChyZXQpOworfQorCisvKioKKyAqIHhtbFJlbGF4TkdQYXJzZURlZmluZToKKyAqIEBjdHh0OiAgYSBSZWxheC1ORyBwYXJzZXIgY29udGV4dAorICogQG5vZGU6ICB0aGUgZGVmaW5lIG5vZGUKKyAqCisgKiBwYXJzZSB0aGUgY29udGVudCBvZiBhIFJlbGF4TkcgZGVmaW5lIGVsZW1lbnQgbm9kZS4KKyAqCisgKiBSZXR1cm5zIDAgaW4gY2FzZSBvZiBzdWNjZXNzIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworc3RhdGljIGludAoreG1sUmVsYXhOR1BhcnNlRGVmaW5lKHhtbFJlbGF4TkdQYXJzZXJDdHh0UHRyIGN0eHQsIHhtbE5vZGVQdHIgbm9kZSkKK3sKKyAgICB4bWxDaGFyICpuYW1lOworICAgIGludCByZXQgPSAwLCB0bXA7CisgICAgeG1sUmVsYXhOR0RlZmluZVB0ciBkZWY7CisgICAgY29uc3QgeG1sQ2hhciAqb2xkZGVmaW5lOworCisgICAgbmFtZSA9IHhtbEdldFByb3Aobm9kZSwgQkFEX0NBU1QgIm5hbWUiKTsKKyAgICBpZiAobmFtZSA9PSBOVUxMKSB7CisgICAgICAgIHhtbFJuZ1BFcnIoY3R4dCwgbm9kZSwgWE1MX1JOR1BfREVGSU5FX05BTUVfTUlTU0lORywKKyAgICAgICAgICAgICAgICAgICAiZGVmaW5lIGhhcyBubyBuYW1lXG4iLCBOVUxMLCBOVUxMKTsKKyAgICB9IGVsc2UgeworICAgICAgICB4bWxSZWxheE5HTm9ybUV4dFNwYWNlKG5hbWUpOworICAgICAgICBpZiAoeG1sVmFsaWRhdGVOQ05hbWUobmFtZSwgMCkpIHsKKyAgICAgICAgICAgIHhtbFJuZ1BFcnIoY3R4dCwgbm9kZSwgWE1MX1JOR1BfSU5WQUxJRF9ERUZJTkVfTkFNRSwKKyAgICAgICAgICAgICAgICAgICAgICAgImRlZmluZSBuYW1lICclcycgaXMgbm90IGFuIE5DTmFtZVxuIiwgbmFtZSwgTlVMTCk7CisgICAgICAgIH0KKyAgICAgICAgZGVmID0geG1sUmVsYXhOR05ld0RlZmluZShjdHh0LCBub2RlKTsKKyAgICAgICAgaWYgKGRlZiA9PSBOVUxMKSB7CisgICAgICAgICAgICB4bWxGcmVlKG5hbWUpOworICAgICAgICAgICAgcmV0dXJuICgtMSk7CisgICAgICAgIH0KKyAgICAgICAgZGVmLT50eXBlID0gWE1MX1JFTEFYTkdfREVGOworICAgICAgICBkZWYtPm5hbWUgPSBuYW1lOworICAgICAgICBpZiAobm9kZS0+Y2hpbGRyZW4gPT0gTlVMTCkgeworICAgICAgICAgICAgeG1sUm5nUEVycihjdHh0LCBub2RlLCBYTUxfUk5HUF9ERUZJTkVfRU1QVFksCisgICAgICAgICAgICAgICAgICAgICAgICJkZWZpbmUgaGFzIG5vIGNoaWxkcmVuXG4iLCBOVUxMLCBOVUxMKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIG9sZGRlZmluZSA9IGN0eHQtPmRlZmluZTsKKyAgICAgICAgICAgIGN0eHQtPmRlZmluZSA9IG5hbWU7CisgICAgICAgICAgICBkZWYtPmNvbnRlbnQgPQorICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdQYXJzZVBhdHRlcm5zKGN0eHQsIG5vZGUtPmNoaWxkcmVuLCAwKTsKKyAgICAgICAgICAgIGN0eHQtPmRlZmluZSA9IG9sZGRlZmluZTsKKyAgICAgICAgfQorICAgICAgICBpZiAoY3R4dC0+Z3JhbW1hci0+ZGVmcyA9PSBOVUxMKQorICAgICAgICAgICAgY3R4dC0+Z3JhbW1hci0+ZGVmcyA9IHhtbEhhc2hDcmVhdGUoMTApOworICAgICAgICBpZiAoY3R4dC0+Z3JhbW1hci0+ZGVmcyA9PSBOVUxMKSB7CisgICAgICAgICAgICB4bWxSbmdQRXJyKGN0eHQsIG5vZGUsIFhNTF9STkdQX0RFRklORV9DUkVBVEVfRkFJTEVELAorICAgICAgICAgICAgICAgICAgICAgICAiQ291bGQgbm90IGNyZWF0ZSBkZWZpbml0aW9uIGhhc2hcbiIsIE5VTEwsIE5VTEwpOworICAgICAgICAgICAgcmV0ID0gLTE7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICB0bXAgPSB4bWxIYXNoQWRkRW50cnkoY3R4dC0+Z3JhbW1hci0+ZGVmcywgbmFtZSwgZGVmKTsKKyAgICAgICAgICAgIGlmICh0bXAgPCAwKSB7CisgICAgICAgICAgICAgICAgeG1sUmVsYXhOR0RlZmluZVB0ciBwcmV2OworCisgICAgICAgICAgICAgICAgcHJldiA9IHhtbEhhc2hMb29rdXAoY3R4dC0+Z3JhbW1hci0+ZGVmcywgbmFtZSk7CisgICAgICAgICAgICAgICAgaWYgKHByZXYgPT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICB4bWxSbmdQRXJyKGN0eHQsIG5vZGUsIFhNTF9STkdQX0RFRklORV9DUkVBVEVfRkFJTEVELAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJJbnRlcm5hbCBlcnJvciBvbiBkZWZpbmUgYWdncmVnYXRpb24gb2YgJXNcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSwgTlVMTCk7CisgICAgICAgICAgICAgICAgICAgIHJldCA9IC0xOworICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIHdoaWxlIChwcmV2LT5uZXh0SGFzaCAhPSBOVUxMKQorICAgICAgICAgICAgICAgICAgICAgICAgcHJldiA9IHByZXYtPm5leHRIYXNoOworICAgICAgICAgICAgICAgICAgICBwcmV2LT5uZXh0SGFzaCA9IGRlZjsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuIChyZXQpOworfQorCisvKioKKyAqIHhtbFJlbGF4TkdQYXJzZUltcG9ydFJlZjoKKyAqIEBwYXlsb2FkOiB0aGUgcGFyc2VyIGNvbnRleHQKKyAqIEBkYXRhOiB0aGUgY3VycmVudCBncmFtbWFyCisgKiBAbmFtZTogdGhlIHJlZmVyZW5jZSBuYW1lCisgKgorICogSW1wb3J0IGltcG9ydCBvbmUgcmVmZXJlbmNlcyBpbnRvIHRoZSBjdXJyZW50IGdyYW1tYXIKKyAqLworc3RhdGljIHZvaWQKK3htbFJlbGF4TkdQYXJzZUltcG9ydFJlZih2b2lkICpwYXlsb2FkLCB2b2lkICpkYXRhLCB4bWxDaGFyICpuYW1lKSB7CisgICAgeG1sUmVsYXhOR1BhcnNlckN0eHRQdHIgY3R4dCA9ICh4bWxSZWxheE5HUGFyc2VyQ3R4dFB0cikgZGF0YTsKKyAgICB4bWxSZWxheE5HRGVmaW5lUHRyIGRlZiA9ICh4bWxSZWxheE5HRGVmaW5lUHRyKSBwYXlsb2FkOworICAgIGludCB0bXA7CisKKyAgICBkZWYtPmRmbGFncyB8PSBJU19FWFRFUk5BTF9SRUY7CisKKyAgICB0bXAgPSB4bWxIYXNoQWRkRW50cnkoY3R4dC0+Z3JhbW1hci0+cmVmcywgbmFtZSwgZGVmKTsKKyAgICBpZiAodG1wIDwgMCkgeworICAgICAgICB4bWxSZWxheE5HRGVmaW5lUHRyIHByZXY7CisKKyAgICAgICAgcHJldiA9ICh4bWxSZWxheE5HRGVmaW5lUHRyKQorICAgICAgICAgICAgeG1sSGFzaExvb2t1cChjdHh0LT5ncmFtbWFyLT5yZWZzLCBkZWYtPm5hbWUpOworICAgICAgICBpZiAocHJldiA9PSBOVUxMKSB7CisgICAgICAgICAgICBpZiAoZGVmLT5uYW1lICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICB4bWxSbmdQRXJyKGN0eHQsIE5VTEwsIFhNTF9STkdQX1JFRl9DUkVBVEVfRkFJTEVELAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIkVycm9yIHJlZnMgZGVmaW5pdGlvbnMgJyVzJ1xuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZi0+bmFtZSwgTlVMTCk7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIHhtbFJuZ1BFcnIoY3R4dCwgTlVMTCwgWE1MX1JOR1BfUkVGX0NSRUFURV9GQUlMRUQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAiRXJyb3IgcmVmcyBkZWZpbml0aW9uc1xuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIE5VTEwpOworICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgZGVmLT5uZXh0SGFzaCA9IHByZXYtPm5leHRIYXNoOworICAgICAgICAgICAgcHJldi0+bmV4dEhhc2ggPSBkZWY7CisgICAgICAgIH0KKyAgICB9Cit9CisKKy8qKgorICogeG1sUmVsYXhOR1BhcnNlSW1wb3J0UmVmczoKKyAqIEBjdHh0OiB0aGUgcGFyc2VyIGNvbnRleHQKKyAqIEBncmFtbWFyOiB0aGUgc3ViIGdyYW1tYXIKKyAqCisgKiBJbXBvcnQgcmVmZXJlbmNlcyBmcm9tIHRoZSBzdWJncmFtbWFyIGludG8gdGhlIGN1cnJlbnQgZ3JhbW1hcgorICoKKyAqIFJldHVybnMgMCBpbiBjYXNlIG9mIHN1Y2Nlc3MsIC0xIGluIGNhc2Ugb2YgZmFpbHVyZQorICovCitzdGF0aWMgaW50Cit4bWxSZWxheE5HUGFyc2VJbXBvcnRSZWZzKHhtbFJlbGF4TkdQYXJzZXJDdHh0UHRyIGN0eHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdHcmFtbWFyUHRyIGdyYW1tYXIpIHsKKyAgICBpZiAoKGN0eHQgPT0gTlVMTCkgfHwgKGdyYW1tYXIgPT0gTlVMTCkgfHwgKGN0eHQtPmdyYW1tYXIgPT0gTlVMTCkpCisgICAgICAgIHJldHVybigtMSk7CisgICAgaWYgKGdyYW1tYXItPnJlZnMgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuKDApOworICAgIGlmIChjdHh0LT5ncmFtbWFyLT5yZWZzID09IE5VTEwpCisgICAgICAgIGN0eHQtPmdyYW1tYXItPnJlZnMgPSB4bWxIYXNoQ3JlYXRlKDEwKTsKKyAgICBpZiAoY3R4dC0+Z3JhbW1hci0+cmVmcyA9PSBOVUxMKSB7CisgICAgICAgIHhtbFJuZ1BFcnIoY3R4dCwgTlVMTCwgWE1MX1JOR1BfUkVGX0NSRUFURV9GQUlMRUQsCisgICAgICAgICAgICAgICAgICAgIkNvdWxkIG5vdCBjcmVhdGUgcmVmZXJlbmNlcyBoYXNoXG4iLCBOVUxMLCBOVUxMKTsKKyAgICAgICAgcmV0dXJuKC0xKTsKKyAgICB9CisgICAgeG1sSGFzaFNjYW4oZ3JhbW1hci0+cmVmcywgeG1sUmVsYXhOR1BhcnNlSW1wb3J0UmVmLCBjdHh0KTsKKyAgICByZXR1cm4oMCk7Cit9CisKKy8qKgorICogeG1sUmVsYXhOR1Byb2Nlc3NFeHRlcm5hbFJlZjoKKyAqIEBjdHh0OiB0aGUgcGFyc2VyIGNvbnRleHQKKyAqIEBub2RlOiAgdGhlIGV4dGVybmxSZWYgbm9kZQorICoKKyAqIFByb2Nlc3MgYW5kIGNvbXBpbGUgYW4gZXh0ZXJubFJlZiBub2RlCisgKgorICogUmV0dXJucyB0aGUgeG1sUmVsYXhOR0RlZmluZVB0ciBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworc3RhdGljIHhtbFJlbGF4TkdEZWZpbmVQdHIKK3htbFJlbGF4TkdQcm9jZXNzRXh0ZXJuYWxSZWYoeG1sUmVsYXhOR1BhcnNlckN0eHRQdHIgY3R4dCwgeG1sTm9kZVB0ciBub2RlKQoreworICAgIHhtbFJlbGF4TkdEb2N1bWVudFB0ciBkb2N1OworICAgIHhtbE5vZGVQdHIgcm9vdCwgdG1wOworICAgIHhtbENoYXIgKm5zOworICAgIGludCBuZXdOcyA9IDAsIG9sZGZsYWdzOworICAgIHhtbFJlbGF4TkdEZWZpbmVQdHIgZGVmOworCisgICAgZG9jdSA9IG5vZGUtPnBzdmk7CisgICAgaWYgKGRvY3UgIT0gTlVMTCkgeworICAgICAgICBkZWYgPSB4bWxSZWxheE5HTmV3RGVmaW5lKGN0eHQsIG5vZGUpOworICAgICAgICBpZiAoZGVmID09IE5VTEwpCisgICAgICAgICAgICByZXR1cm4gKE5VTEwpOworICAgICAgICBkZWYtPnR5cGUgPSBYTUxfUkVMQVhOR19FWFRFUk5BTFJFRjsKKworICAgICAgICBpZiAoZG9jdS0+Y29udGVudCA9PSBOVUxMKSB7CisgICAgICAgICAgICAvKgorICAgICAgICAgICAgICogVGhlbiBkbyB0aGUgcGFyc2luZyBmb3IgZ29vZAorICAgICAgICAgICAgICovCisgICAgICAgICAgICByb290ID0geG1sRG9jR2V0Um9vdEVsZW1lbnQoZG9jdS0+ZG9jKTsKKyAgICAgICAgICAgIGlmIChyb290ID09IE5VTEwpIHsKKyAgICAgICAgICAgICAgICB4bWxSbmdQRXJyKGN0eHQsIG5vZGUsIFhNTF9STkdQX0VYVEVSTkFMUkVGX0VNVFBZLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgInhtbFJlbGF4TkdQYXJzZTogJXMgaXMgZW1wdHlcbiIsIGN0eHQtPlVSTCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOworICAgICAgICAgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAvKgorICAgICAgICAgICAgICogbnMgdHJhbnNtaXNzaW9uIHJ1bGVzCisgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgIG5zID0geG1sR2V0UHJvcChyb290LCBCQURfQ0FTVCAibnMiKTsKKyAgICAgICAgICAgIGlmIChucyA9PSBOVUxMKSB7CisgICAgICAgICAgICAgICAgdG1wID0gbm9kZTsKKyAgICAgICAgICAgICAgICB3aGlsZSAoKHRtcCAhPSBOVUxMKSAmJiAodG1wLT50eXBlID09IFhNTF9FTEVNRU5UX05PREUpKSB7CisgICAgICAgICAgICAgICAgICAgIG5zID0geG1sR2V0UHJvcCh0bXAsIEJBRF9DQVNUICJucyIpOworICAgICAgICAgICAgICAgICAgICBpZiAobnMgIT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgdG1wID0gdG1wLT5wYXJlbnQ7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGlmIChucyAhPSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgIHhtbFNldFByb3Aocm9vdCwgQkFEX0NBU1QgIm5zIiwgbnMpOworICAgICAgICAgICAgICAgICAgICBuZXdOcyA9IDE7CisgICAgICAgICAgICAgICAgICAgIHhtbEZyZWUobnMpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgeG1sRnJlZShucyk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIC8qCisgICAgICAgICAgICAgKiBQYXJzaW5nIHRvIGdldCBhIHByZWNvbXBpbGVkIHNjaGVtYXMuCisgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgIG9sZGZsYWdzID0gY3R4dC0+ZmxhZ3M7CisgICAgICAgICAgICBjdHh0LT5mbGFncyB8PSBYTUxfUkVMQVhOR19JTl9FWFRFUk5BTFJFRjsKKyAgICAgICAgICAgIGRvY3UtPnNjaGVtYSA9IHhtbFJlbGF4TkdQYXJzZURvY3VtZW50KGN0eHQsIHJvb3QpOworICAgICAgICAgICAgY3R4dC0+ZmxhZ3MgPSBvbGRmbGFnczsKKyAgICAgICAgICAgIGlmICgoZG9jdS0+c2NoZW1hICE9IE5VTEwpICYmCisgICAgICAgICAgICAgICAgKGRvY3UtPnNjaGVtYS0+dG9wZ3JhbW1hciAhPSBOVUxMKSkgeworICAgICAgICAgICAgICAgIGRvY3UtPmNvbnRlbnQgPSBkb2N1LT5zY2hlbWEtPnRvcGdyYW1tYXItPnN0YXJ0OworICAgICAgICAgICAgICAgIGlmIChkb2N1LT5zY2hlbWEtPnRvcGdyYW1tYXItPnJlZnMpCisgICAgICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdQYXJzZUltcG9ydFJlZnMoY3R4dCwgZG9jdS0+c2NoZW1hLT50b3BncmFtbWFyKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAqIHRoZSBleHRlcm5hbFJlZiBtYXkgYmUgcmV1c2VkIGluIGEgZGlmZmVyZW50IG5zIGNvbnRleHQKKyAgICAgICAgICAgICAqLworICAgICAgICAgICAgaWYgKG5ld05zID09IDEpIHsKKyAgICAgICAgICAgICAgICB4bWxVbnNldFByb3Aocm9vdCwgQkFEX0NBU1QgIm5zIik7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgZGVmLT5jb250ZW50ID0gZG9jdS0+Y29udGVudDsKKyAgICB9IGVsc2UgeworICAgICAgICBkZWYgPSBOVUxMOworICAgIH0KKyAgICByZXR1cm4gKGRlZik7Cit9CisKKy8qKgorICogeG1sUmVsYXhOR1BhcnNlUGF0dGVybjoKKyAqIEBjdHh0OiAgYSBSZWxheC1ORyBwYXJzZXIgY29udGV4dAorICogQG5vZGU6ICB0aGUgcGF0dGVybiBub2RlLgorICoKKyAqIHBhcnNlIHRoZSBjb250ZW50IG9mIGEgUmVsYXhORyBwYXR0ZXJuIG5vZGUuCisgKgorICogUmV0dXJucyB0aGUgZGVmaW5pdGlvbiBwb2ludGVyIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvciBvciBpZiBubworICogICAgIHBhdHRlcm4gaXMgZ2VuZXJhdGVkLgorICovCitzdGF0aWMgeG1sUmVsYXhOR0RlZmluZVB0cgoreG1sUmVsYXhOR1BhcnNlUGF0dGVybih4bWxSZWxheE5HUGFyc2VyQ3R4dFB0ciBjdHh0LCB4bWxOb2RlUHRyIG5vZGUpCit7CisgICAgeG1sUmVsYXhOR0RlZmluZVB0ciBkZWYgPSBOVUxMOworCisgICAgaWYgKG5vZGUgPT0gTlVMTCkgeworICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIH0KKyAgICBpZiAoSVNfUkVMQVhORyhub2RlLCAiZWxlbWVudCIpKSB7CisgICAgICAgIGRlZiA9IHhtbFJlbGF4TkdQYXJzZUVsZW1lbnQoY3R4dCwgbm9kZSk7CisgICAgfSBlbHNlIGlmIChJU19SRUxBWE5HKG5vZGUsICJhdHRyaWJ1dGUiKSkgeworICAgICAgICBkZWYgPSB4bWxSZWxheE5HUGFyc2VBdHRyaWJ1dGUoY3R4dCwgbm9kZSk7CisgICAgfSBlbHNlIGlmIChJU19SRUxBWE5HKG5vZGUsICJlbXB0eSIpKSB7CisgICAgICAgIGRlZiA9IHhtbFJlbGF4TkdOZXdEZWZpbmUoY3R4dCwgbm9kZSk7CisgICAgICAgIGlmIChkZWYgPT0gTlVMTCkKKyAgICAgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgICAgIGRlZi0+dHlwZSA9IFhNTF9SRUxBWE5HX0VNUFRZOworICAgICAgICBpZiAobm9kZS0+Y2hpbGRyZW4gIT0gTlVMTCkgeworICAgICAgICAgICAgeG1sUm5nUEVycihjdHh0LCBub2RlLCBYTUxfUk5HUF9FTVBUWV9OT1RfRU1QVFksCisgICAgICAgICAgICAgICAgICAgICAgICJlbXB0eTogaGFkIGEgY2hpbGQgbm9kZVxuIiwgTlVMTCwgTlVMTCk7CisgICAgICAgIH0KKyAgICB9IGVsc2UgaWYgKElTX1JFTEFYTkcobm9kZSwgInRleHQiKSkgeworICAgICAgICBkZWYgPSB4bWxSZWxheE5HTmV3RGVmaW5lKGN0eHQsIG5vZGUpOworICAgICAgICBpZiAoZGVmID09IE5VTEwpCisgICAgICAgICAgICByZXR1cm4gKE5VTEwpOworICAgICAgICBkZWYtPnR5cGUgPSBYTUxfUkVMQVhOR19URVhUOworICAgICAgICBpZiAobm9kZS0+Y2hpbGRyZW4gIT0gTlVMTCkgeworICAgICAgICAgICAgeG1sUm5nUEVycihjdHh0LCBub2RlLCBYTUxfUk5HUF9URVhUX0hBU19DSElMRCwKKyAgICAgICAgICAgICAgICAgICAgICAgInRleHQ6IGhhZCBhIGNoaWxkIG5vZGVcbiIsIE5VTEwsIE5VTEwpOworICAgICAgICB9CisgICAgfSBlbHNlIGlmIChJU19SRUxBWE5HKG5vZGUsICJ6ZXJvT3JNb3JlIikpIHsKKyAgICAgICAgZGVmID0geG1sUmVsYXhOR05ld0RlZmluZShjdHh0LCBub2RlKTsKKyAgICAgICAgaWYgKGRlZiA9PSBOVUxMKQorICAgICAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICAgICAgZGVmLT50eXBlID0gWE1MX1JFTEFYTkdfWkVST09STU9SRTsKKyAgICAgICAgaWYgKG5vZGUtPmNoaWxkcmVuID09IE5VTEwpIHsKKyAgICAgICAgICAgIHhtbFJuZ1BFcnIoY3R4dCwgbm9kZSwgWE1MX1JOR1BfRU1QVFlfQ09OU1RSVUNULAorICAgICAgICAgICAgICAgICAgICAgICAiRWxlbWVudCAlcyBpcyBlbXB0eVxuIiwgbm9kZS0+bmFtZSwgTlVMTCk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBkZWYtPmNvbnRlbnQgPQorICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdQYXJzZVBhdHRlcm5zKGN0eHQsIG5vZGUtPmNoaWxkcmVuLCAxKTsKKyAgICAgICAgfQorICAgIH0gZWxzZSBpZiAoSVNfUkVMQVhORyhub2RlLCAib25lT3JNb3JlIikpIHsKKyAgICAgICAgZGVmID0geG1sUmVsYXhOR05ld0RlZmluZShjdHh0LCBub2RlKTsKKyAgICAgICAgaWYgKGRlZiA9PSBOVUxMKQorICAgICAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICAgICAgZGVmLT50eXBlID0gWE1MX1JFTEFYTkdfT05FT1JNT1JFOworICAgICAgICBpZiAobm9kZS0+Y2hpbGRyZW4gPT0gTlVMTCkgeworICAgICAgICAgICAgeG1sUm5nUEVycihjdHh0LCBub2RlLCBYTUxfUk5HUF9FTVBUWV9DT05TVFJVQ1QsCisgICAgICAgICAgICAgICAgICAgICAgICJFbGVtZW50ICVzIGlzIGVtcHR5XG4iLCBub2RlLT5uYW1lLCBOVUxMKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGRlZi0+Y29udGVudCA9CisgICAgICAgICAgICAgICAgeG1sUmVsYXhOR1BhcnNlUGF0dGVybnMoY3R4dCwgbm9kZS0+Y2hpbGRyZW4sIDEpOworICAgICAgICB9CisgICAgfSBlbHNlIGlmIChJU19SRUxBWE5HKG5vZGUsICJvcHRpb25hbCIpKSB7CisgICAgICAgIGRlZiA9IHhtbFJlbGF4TkdOZXdEZWZpbmUoY3R4dCwgbm9kZSk7CisgICAgICAgIGlmIChkZWYgPT0gTlVMTCkKKyAgICAgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgICAgIGRlZi0+dHlwZSA9IFhNTF9SRUxBWE5HX09QVElPTkFMOworICAgICAgICBpZiAobm9kZS0+Y2hpbGRyZW4gPT0gTlVMTCkgeworICAgICAgICAgICAgeG1sUm5nUEVycihjdHh0LCBub2RlLCBYTUxfUk5HUF9FTVBUWV9DT05TVFJVQ1QsCisgICAgICAgICAgICAgICAgICAgICAgICJFbGVtZW50ICVzIGlzIGVtcHR5XG4iLCBub2RlLT5uYW1lLCBOVUxMKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGRlZi0+Y29udGVudCA9CisgICAgICAgICAgICAgICAgeG1sUmVsYXhOR1BhcnNlUGF0dGVybnMoY3R4dCwgbm9kZS0+Y2hpbGRyZW4sIDEpOworICAgICAgICB9CisgICAgfSBlbHNlIGlmIChJU19SRUxBWE5HKG5vZGUsICJjaG9pY2UiKSkgeworICAgICAgICBkZWYgPSB4bWxSZWxheE5HTmV3RGVmaW5lKGN0eHQsIG5vZGUpOworICAgICAgICBpZiAoZGVmID09IE5VTEwpCisgICAgICAgICAgICByZXR1cm4gKE5VTEwpOworICAgICAgICBkZWYtPnR5cGUgPSBYTUxfUkVMQVhOR19DSE9JQ0U7CisgICAgICAgIGlmIChub2RlLT5jaGlsZHJlbiA9PSBOVUxMKSB7CisgICAgICAgICAgICB4bWxSbmdQRXJyKGN0eHQsIG5vZGUsIFhNTF9STkdQX0VNUFRZX0NPTlNUUlVDVCwKKyAgICAgICAgICAgICAgICAgICAgICAgIkVsZW1lbnQgJXMgaXMgZW1wdHlcbiIsIG5vZGUtPm5hbWUsIE5VTEwpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgZGVmLT5jb250ZW50ID0KKyAgICAgICAgICAgICAgICB4bWxSZWxheE5HUGFyc2VQYXR0ZXJucyhjdHh0LCBub2RlLT5jaGlsZHJlbiwgMCk7CisgICAgICAgIH0KKyAgICB9IGVsc2UgaWYgKElTX1JFTEFYTkcobm9kZSwgImdyb3VwIikpIHsKKyAgICAgICAgZGVmID0geG1sUmVsYXhOR05ld0RlZmluZShjdHh0LCBub2RlKTsKKyAgICAgICAgaWYgKGRlZiA9PSBOVUxMKQorICAgICAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICAgICAgZGVmLT50eXBlID0gWE1MX1JFTEFYTkdfR1JPVVA7CisgICAgICAgIGlmIChub2RlLT5jaGlsZHJlbiA9PSBOVUxMKSB7CisgICAgICAgICAgICB4bWxSbmdQRXJyKGN0eHQsIG5vZGUsIFhNTF9STkdQX0VNUFRZX0NPTlNUUlVDVCwKKyAgICAgICAgICAgICAgICAgICAgICAgIkVsZW1lbnQgJXMgaXMgZW1wdHlcbiIsIG5vZGUtPm5hbWUsIE5VTEwpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgZGVmLT5jb250ZW50ID0KKyAgICAgICAgICAgICAgICB4bWxSZWxheE5HUGFyc2VQYXR0ZXJucyhjdHh0LCBub2RlLT5jaGlsZHJlbiwgMCk7CisgICAgICAgIH0KKyAgICB9IGVsc2UgaWYgKElTX1JFTEFYTkcobm9kZSwgInJlZiIpKSB7CisgICAgICAgIGRlZiA9IHhtbFJlbGF4TkdOZXdEZWZpbmUoY3R4dCwgbm9kZSk7CisgICAgICAgIGlmIChkZWYgPT0gTlVMTCkKKyAgICAgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgICAgIGRlZi0+dHlwZSA9IFhNTF9SRUxBWE5HX1JFRjsKKyAgICAgICAgZGVmLT5uYW1lID0geG1sR2V0UHJvcChub2RlLCBCQURfQ0FTVCAibmFtZSIpOworICAgICAgICBpZiAoZGVmLT5uYW1lID09IE5VTEwpIHsKKyAgICAgICAgICAgIHhtbFJuZ1BFcnIoY3R4dCwgbm9kZSwgWE1MX1JOR1BfUkVGX05PX05BTUUsICJyZWYgaGFzIG5vIG5hbWVcbiIsCisgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIE5VTEwpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgeG1sUmVsYXhOR05vcm1FeHRTcGFjZShkZWYtPm5hbWUpOworICAgICAgICAgICAgaWYgKHhtbFZhbGlkYXRlTkNOYW1lKGRlZi0+bmFtZSwgMCkpIHsKKyAgICAgICAgICAgICAgICB4bWxSbmdQRXJyKGN0eHQsIG5vZGUsIFhNTF9STkdQX1JFRl9OQU1FX0lOVkFMSUQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVmIG5hbWUgJyVzJyBpcyBub3QgYW4gTkNOYW1lXG4iLCBkZWYtPm5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBpZiAobm9kZS0+Y2hpbGRyZW4gIT0gTlVMTCkgeworICAgICAgICAgICAgeG1sUm5nUEVycihjdHh0LCBub2RlLCBYTUxfUk5HUF9SRUZfTk9UX0VNUFRZLCAicmVmIGlzIG5vdCBlbXB0eVxuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgTlVMTCk7CisgICAgICAgIH0KKyAgICAgICAgaWYgKGN0eHQtPmdyYW1tYXItPnJlZnMgPT0gTlVMTCkKKyAgICAgICAgICAgIGN0eHQtPmdyYW1tYXItPnJlZnMgPSB4bWxIYXNoQ3JlYXRlKDEwKTsKKyAgICAgICAgaWYgKGN0eHQtPmdyYW1tYXItPnJlZnMgPT0gTlVMTCkgeworICAgICAgICAgICAgeG1sUm5nUEVycihjdHh0LCBub2RlLCBYTUxfUk5HUF9SRUZfQ1JFQVRFX0ZBSUxFRCwKKyAgICAgICAgICAgICAgICAgICAgICAgIkNvdWxkIG5vdCBjcmVhdGUgcmVmZXJlbmNlcyBoYXNoXG4iLCBOVUxMLCBOVUxMKTsKKyAgICAgICAgICAgIGRlZiA9IE5VTEw7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBpbnQgdG1wOworCisgICAgICAgICAgICB0bXAgPSB4bWxIYXNoQWRkRW50cnkoY3R4dC0+Z3JhbW1hci0+cmVmcywgZGVmLT5uYW1lLCBkZWYpOworICAgICAgICAgICAgaWYgKHRtcCA8IDApIHsKKyAgICAgICAgICAgICAgICB4bWxSZWxheE5HRGVmaW5lUHRyIHByZXY7CisKKyAgICAgICAgICAgICAgICBwcmV2ID0gKHhtbFJlbGF4TkdEZWZpbmVQdHIpCisgICAgICAgICAgICAgICAgICAgIHhtbEhhc2hMb29rdXAoY3R4dC0+Z3JhbW1hci0+cmVmcywgZGVmLT5uYW1lKTsKKyAgICAgICAgICAgICAgICBpZiAocHJldiA9PSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgIGlmIChkZWYtPm5hbWUgIT0gTlVMTCkgeworCQkgICAgICAgIHhtbFJuZ1BFcnIoY3R4dCwgbm9kZSwgWE1MX1JOR1BfUkVGX0NSRUFURV9GQUlMRUQsCisJCQkJICAgIkVycm9yIHJlZnMgZGVmaW5pdGlvbnMgJyVzJ1xuIiwKKwkJCQkgICBkZWYtPm5hbWUsIE5VTEwpOworICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworCQkgICAgICAgIHhtbFJuZ1BFcnIoY3R4dCwgbm9kZSwgWE1MX1JOR1BfUkVGX0NSRUFURV9GQUlMRUQsCisJCQkJICAgIkVycm9yIHJlZnMgZGVmaW5pdGlvbnNcbiIsCisJCQkJICAgTlVMTCwgTlVMTCk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgZGVmID0gTlVMTDsKKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICBkZWYtPm5leHRIYXNoID0gcHJldi0+bmV4dEhhc2g7CisgICAgICAgICAgICAgICAgICAgIHByZXYtPm5leHRIYXNoID0gZGVmOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0gZWxzZSBpZiAoSVNfUkVMQVhORyhub2RlLCAiZGF0YSIpKSB7CisgICAgICAgIGRlZiA9IHhtbFJlbGF4TkdQYXJzZURhdGEoY3R4dCwgbm9kZSk7CisgICAgfSBlbHNlIGlmIChJU19SRUxBWE5HKG5vZGUsICJ2YWx1ZSIpKSB7CisgICAgICAgIGRlZiA9IHhtbFJlbGF4TkdQYXJzZVZhbHVlKGN0eHQsIG5vZGUpOworICAgIH0gZWxzZSBpZiAoSVNfUkVMQVhORyhub2RlLCAibGlzdCIpKSB7CisgICAgICAgIGRlZiA9IHhtbFJlbGF4TkdOZXdEZWZpbmUoY3R4dCwgbm9kZSk7CisgICAgICAgIGlmIChkZWYgPT0gTlVMTCkKKyAgICAgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgICAgIGRlZi0+dHlwZSA9IFhNTF9SRUxBWE5HX0xJU1Q7CisgICAgICAgIGlmIChub2RlLT5jaGlsZHJlbiA9PSBOVUxMKSB7CisgICAgICAgICAgICB4bWxSbmdQRXJyKGN0eHQsIG5vZGUsIFhNTF9STkdQX0VNUFRZX0NPTlNUUlVDVCwKKyAgICAgICAgICAgICAgICAgICAgICAgIkVsZW1lbnQgJXMgaXMgZW1wdHlcbiIsIG5vZGUtPm5hbWUsIE5VTEwpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgZGVmLT5jb250ZW50ID0KKyAgICAgICAgICAgICAgICB4bWxSZWxheE5HUGFyc2VQYXR0ZXJucyhjdHh0LCBub2RlLT5jaGlsZHJlbiwgMCk7CisgICAgICAgIH0KKyAgICB9IGVsc2UgaWYgKElTX1JFTEFYTkcobm9kZSwgImludGVybGVhdmUiKSkgeworICAgICAgICBkZWYgPSB4bWxSZWxheE5HUGFyc2VJbnRlcmxlYXZlKGN0eHQsIG5vZGUpOworICAgIH0gZWxzZSBpZiAoSVNfUkVMQVhORyhub2RlLCAiZXh0ZXJuYWxSZWYiKSkgeworICAgICAgICBkZWYgPSB4bWxSZWxheE5HUHJvY2Vzc0V4dGVybmFsUmVmKGN0eHQsIG5vZGUpOworICAgIH0gZWxzZSBpZiAoSVNfUkVMQVhORyhub2RlLCAibm90QWxsb3dlZCIpKSB7CisgICAgICAgIGRlZiA9IHhtbFJlbGF4TkdOZXdEZWZpbmUoY3R4dCwgbm9kZSk7CisgICAgICAgIGlmIChkZWYgPT0gTlVMTCkKKyAgICAgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgICAgIGRlZi0+dHlwZSA9IFhNTF9SRUxBWE5HX05PVF9BTExPV0VEOworICAgICAgICBpZiAobm9kZS0+Y2hpbGRyZW4gIT0gTlVMTCkgeworICAgICAgICAgICAgeG1sUm5nUEVycihjdHh0LCBub2RlLCBYTUxfUk5HUF9OT1RBTExPV0VEX05PVF9FTVBUWSwKKyAgICAgICAgICAgICAgICAgICAgICAgInhtbFJlbGF4TkdQYXJzZTogbm90QWxsb3dlZCBlbGVtZW50IGlzIG5vdCBlbXB0eVxuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgTlVMTCk7CisgICAgICAgIH0KKyAgICB9IGVsc2UgaWYgKElTX1JFTEFYTkcobm9kZSwgImdyYW1tYXIiKSkgeworICAgICAgICB4bWxSZWxheE5HR3JhbW1hclB0ciBncmFtbWFyLCBvbGQ7CisgICAgICAgIHhtbFJlbGF4TkdHcmFtbWFyUHRyIG9sZHBhcmVudDsKKworI2lmZGVmIERFQlVHX0dSQU1NQVIKKyAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAiRm91bmQgPGdyYW1tYXI+IHBhdHRlcm5cbiIpOworI2VuZGlmCisKKyAgICAgICAgb2xkcGFyZW50ID0gY3R4dC0+cGFyZW50Z3JhbW1hcjsKKyAgICAgICAgb2xkID0gY3R4dC0+Z3JhbW1hcjsKKyAgICAgICAgY3R4dC0+cGFyZW50Z3JhbW1hciA9IG9sZDsKKyAgICAgICAgZ3JhbW1hciA9IHhtbFJlbGF4TkdQYXJzZUdyYW1tYXIoY3R4dCwgbm9kZS0+Y2hpbGRyZW4pOworICAgICAgICBpZiAob2xkICE9IE5VTEwpIHsKKyAgICAgICAgICAgIGN0eHQtPmdyYW1tYXIgPSBvbGQ7CisgICAgICAgICAgICBjdHh0LT5wYXJlbnRncmFtbWFyID0gb2xkcGFyZW50OworI2lmIDAKKyAgICAgICAgICAgIGlmIChncmFtbWFyICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICBncmFtbWFyLT5uZXh0ID0gb2xkLT5uZXh0OworICAgICAgICAgICAgICAgIG9sZC0+bmV4dCA9IGdyYW1tYXI7CisgICAgICAgICAgICB9CisjZW5kaWYKKyAgICAgICAgfQorICAgICAgICBpZiAoZ3JhbW1hciAhPSBOVUxMKQorICAgICAgICAgICAgZGVmID0gZ3JhbW1hci0+c3RhcnQ7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGRlZiA9IE5VTEw7CisgICAgfSBlbHNlIGlmIChJU19SRUxBWE5HKG5vZGUsICJwYXJlbnRSZWYiKSkgeworICAgICAgICBpZiAoY3R4dC0+cGFyZW50Z3JhbW1hciA9PSBOVUxMKSB7CisgICAgICAgICAgICB4bWxSbmdQRXJyKGN0eHQsIG5vZGUsIFhNTF9STkdQX1BBUkVOVFJFRl9OT19QQVJFTlQsCisgICAgICAgICAgICAgICAgICAgICAgICJVc2Ugb2YgcGFyZW50UmVmIHdpdGhvdXQgYSBwYXJlbnQgZ3JhbW1hclxuIiwgTlVMTCwKKyAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7CisgICAgICAgICAgICByZXR1cm4gKE5VTEwpOworICAgICAgICB9CisgICAgICAgIGRlZiA9IHhtbFJlbGF4TkdOZXdEZWZpbmUoY3R4dCwgbm9kZSk7CisgICAgICAgIGlmIChkZWYgPT0gTlVMTCkKKyAgICAgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgICAgIGRlZi0+dHlwZSA9IFhNTF9SRUxBWE5HX1BBUkVOVFJFRjsKKyAgICAgICAgZGVmLT5uYW1lID0geG1sR2V0UHJvcChub2RlLCBCQURfQ0FTVCAibmFtZSIpOworICAgICAgICBpZiAoZGVmLT5uYW1lID09IE5VTEwpIHsKKyAgICAgICAgICAgIHhtbFJuZ1BFcnIoY3R4dCwgbm9kZSwgWE1MX1JOR1BfUEFSRU5UUkVGX05PX05BTUUsCisgICAgICAgICAgICAgICAgICAgICAgICJwYXJlbnRSZWYgaGFzIG5vIG5hbWVcbiIsIE5VTEwsIE5VTEwpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgeG1sUmVsYXhOR05vcm1FeHRTcGFjZShkZWYtPm5hbWUpOworICAgICAgICAgICAgaWYgKHhtbFZhbGlkYXRlTkNOYW1lKGRlZi0+bmFtZSwgMCkpIHsKKyAgICAgICAgICAgICAgICB4bWxSbmdQRXJyKGN0eHQsIG5vZGUsIFhNTF9STkdQX1BBUkVOVFJFRl9OQU1FX0lOVkFMSUQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAicGFyZW50UmVmIG5hbWUgJyVzJyBpcyBub3QgYW4gTkNOYW1lXG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmLT5uYW1lLCBOVUxMKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBpZiAobm9kZS0+Y2hpbGRyZW4gIT0gTlVMTCkgeworICAgICAgICAgICAgeG1sUm5nUEVycihjdHh0LCBub2RlLCBYTUxfUk5HUF9QQVJFTlRSRUZfTk9UX0VNUFRZLAorICAgICAgICAgICAgICAgICAgICAgICAicGFyZW50UmVmIGlzIG5vdCBlbXB0eVxuIiwgTlVMTCwgTlVMTCk7CisgICAgICAgIH0KKyAgICAgICAgaWYgKGN0eHQtPnBhcmVudGdyYW1tYXItPnJlZnMgPT0gTlVMTCkKKyAgICAgICAgICAgIGN0eHQtPnBhcmVudGdyYW1tYXItPnJlZnMgPSB4bWxIYXNoQ3JlYXRlKDEwKTsKKyAgICAgICAgaWYgKGN0eHQtPnBhcmVudGdyYW1tYXItPnJlZnMgPT0gTlVMTCkgeworICAgICAgICAgICAgeG1sUm5nUEVycihjdHh0LCBub2RlLCBYTUxfUk5HUF9QQVJFTlRSRUZfQ1JFQVRFX0ZBSUxFRCwKKyAgICAgICAgICAgICAgICAgICAgICAgIkNvdWxkIG5vdCBjcmVhdGUgcmVmZXJlbmNlcyBoYXNoXG4iLCBOVUxMLCBOVUxMKTsKKyAgICAgICAgICAgIGRlZiA9IE5VTEw7CisgICAgICAgIH0gZWxzZSBpZiAoZGVmLT5uYW1lICE9IE5VTEwpIHsKKyAgICAgICAgICAgIGludCB0bXA7CisKKyAgICAgICAgICAgIHRtcCA9CisgICAgICAgICAgICAgICAgeG1sSGFzaEFkZEVudHJ5KGN0eHQtPnBhcmVudGdyYW1tYXItPnJlZnMsIGRlZi0+bmFtZSwgZGVmKTsKKyAgICAgICAgICAgIGlmICh0bXAgPCAwKSB7CisgICAgICAgICAgICAgICAgeG1sUmVsYXhOR0RlZmluZVB0ciBwcmV2OworCisgICAgICAgICAgICAgICAgcHJldiA9ICh4bWxSZWxheE5HRGVmaW5lUHRyKQorICAgICAgICAgICAgICAgICAgICB4bWxIYXNoTG9va3VwKGN0eHQtPnBhcmVudGdyYW1tYXItPnJlZnMsIGRlZi0+bmFtZSk7CisgICAgICAgICAgICAgICAgaWYgKHByZXYgPT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICB4bWxSbmdQRXJyKGN0eHQsIG5vZGUsIFhNTF9STkdQX1BBUkVOVFJFRl9DUkVBVEVfRkFJTEVELAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJJbnRlcm5hbCBlcnJvciBwYXJlbnRSZWYgZGVmaW5pdGlvbnMgJyVzJ1xuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWYtPm5hbWUsIE5VTEwpOworICAgICAgICAgICAgICAgICAgICBkZWYgPSBOVUxMOworICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIGRlZi0+bmV4dEhhc2ggPSBwcmV2LT5uZXh0SGFzaDsKKyAgICAgICAgICAgICAgICAgICAgcHJldi0+bmV4dEhhc2ggPSBkZWY7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfSBlbHNlIGlmIChJU19SRUxBWE5HKG5vZGUsICJtaXhlZCIpKSB7CisgICAgICAgIGlmIChub2RlLT5jaGlsZHJlbiA9PSBOVUxMKSB7CisgICAgICAgICAgICB4bWxSbmdQRXJyKGN0eHQsIG5vZGUsIFhNTF9STkdQX0VNUFRZX0NPTlNUUlVDVCwgIk1peGVkIGlzIGVtcHR5XG4iLAorICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCBOVUxMKTsKKyAgICAgICAgICAgIGRlZiA9IE5VTEw7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBkZWYgPSB4bWxSZWxheE5HUGFyc2VJbnRlcmxlYXZlKGN0eHQsIG5vZGUpOworICAgICAgICAgICAgaWYgKGRlZiAhPSBOVUxMKSB7CisgICAgICAgICAgICAgICAgeG1sUmVsYXhOR0RlZmluZVB0ciB0bXA7CisKKyAgICAgICAgICAgICAgICBpZiAoKGRlZi0+Y29udGVudCAhPSBOVUxMKSAmJiAoZGVmLT5jb250ZW50LT5uZXh0ICE9IE5VTEwpKSB7CisgICAgICAgICAgICAgICAgICAgIHRtcCA9IHhtbFJlbGF4TkdOZXdEZWZpbmUoY3R4dCwgbm9kZSk7CisgICAgICAgICAgICAgICAgICAgIGlmICh0bXAgIT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICAgICAgdG1wLT50eXBlID0gWE1MX1JFTEFYTkdfR1JPVVA7CisgICAgICAgICAgICAgICAgICAgICAgICB0bXAtPmNvbnRlbnQgPSBkZWYtPmNvbnRlbnQ7CisgICAgICAgICAgICAgICAgICAgICAgICBkZWYtPmNvbnRlbnQgPSB0bXA7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICB0bXAgPSB4bWxSZWxheE5HTmV3RGVmaW5lKGN0eHQsIG5vZGUpOworICAgICAgICAgICAgICAgIGlmICh0bXAgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChkZWYpOworICAgICAgICAgICAgICAgIHRtcC0+dHlwZSA9IFhNTF9SRUxBWE5HX1RFWFQ7CisgICAgICAgICAgICAgICAgdG1wLT5uZXh0ID0gZGVmLT5jb250ZW50OworICAgICAgICAgICAgICAgIGRlZi0+Y29udGVudCA9IHRtcDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0gZWxzZSB7CisgICAgICAgIHhtbFJuZ1BFcnIoY3R4dCwgbm9kZSwgWE1MX1JOR1BfVU5LTk9XTl9DT05TVFJVQ1QsCisgICAgICAgICAgICAgICAgICAgIlVuZXhwZWN0ZWQgbm9kZSAlcyBpcyBub3QgYSBwYXR0ZXJuXG4iLCBub2RlLT5uYW1lLAorICAgICAgICAgICAgICAgICAgIE5VTEwpOworICAgICAgICBkZWYgPSBOVUxMOworICAgIH0KKyAgICByZXR1cm4gKGRlZik7Cit9CisKKy8qKgorICogeG1sUmVsYXhOR1BhcnNlQXR0cmlidXRlOgorICogQGN0eHQ6ICBhIFJlbGF4LU5HIHBhcnNlciBjb250ZXh0CisgKiBAbm9kZTogIHRoZSBlbGVtZW50IG5vZGUKKyAqCisgKiBwYXJzZSB0aGUgY29udGVudCBvZiBhIFJlbGF4TkcgYXR0cmlidXRlIG5vZGUuCisgKgorICogUmV0dXJucyB0aGUgZGVmaW5pdGlvbiBwb2ludGVyIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworc3RhdGljIHhtbFJlbGF4TkdEZWZpbmVQdHIKK3htbFJlbGF4TkdQYXJzZUF0dHJpYnV0ZSh4bWxSZWxheE5HUGFyc2VyQ3R4dFB0ciBjdHh0LCB4bWxOb2RlUHRyIG5vZGUpCit7CisgICAgeG1sUmVsYXhOR0RlZmluZVB0ciByZXQsIGN1cjsKKyAgICB4bWxOb2RlUHRyIGNoaWxkOworICAgIGludCBvbGRfZmxhZ3M7CisKKyAgICByZXQgPSB4bWxSZWxheE5HTmV3RGVmaW5lKGN0eHQsIG5vZGUpOworICAgIGlmIChyZXQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICByZXQtPnR5cGUgPSBYTUxfUkVMQVhOR19BVFRSSUJVVEU7CisgICAgcmV0LT5wYXJlbnQgPSBjdHh0LT5kZWY7CisgICAgY2hpbGQgPSBub2RlLT5jaGlsZHJlbjsKKyAgICBpZiAoY2hpbGQgPT0gTlVMTCkgeworICAgICAgICB4bWxSbmdQRXJyKGN0eHQsIG5vZGUsIFhNTF9STkdQX0FUVFJJQlVURV9FTVBUWSwKKyAgICAgICAgICAgICAgICAgICAieG1sUmVsYXhOR1BhcnNlYXR0cmlidXRlOiBhdHRyaWJ1dGUgaGFzIG5vIGNoaWxkcmVuXG4iLAorICAgICAgICAgICAgICAgICAgIE5VTEwsIE5VTEwpOworICAgICAgICByZXR1cm4gKHJldCk7CisgICAgfQorICAgIG9sZF9mbGFncyA9IGN0eHQtPmZsYWdzOworICAgIGN0eHQtPmZsYWdzIHw9IFhNTF9SRUxBWE5HX0lOX0FUVFJJQlVURTsKKyAgICBjdXIgPSB4bWxSZWxheE5HUGFyc2VOYW1lQ2xhc3MoY3R4dCwgY2hpbGQsIHJldCk7CisgICAgaWYgKGN1ciAhPSBOVUxMKQorICAgICAgICBjaGlsZCA9IGNoaWxkLT5uZXh0OworCisgICAgaWYgKGNoaWxkICE9IE5VTEwpIHsKKyAgICAgICAgY3VyID0geG1sUmVsYXhOR1BhcnNlUGF0dGVybihjdHh0LCBjaGlsZCk7CisgICAgICAgIGlmIChjdXIgIT0gTlVMTCkgeworICAgICAgICAgICAgc3dpdGNoIChjdXItPnR5cGUpIHsKKyAgICAgICAgICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX0VNUFRZOgorICAgICAgICAgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfTk9UX0FMTE9XRUQ6CisgICAgICAgICAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19URVhUOgorICAgICAgICAgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfRUxFTUVOVDoKKyAgICAgICAgICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX0RBVEFUWVBFOgorICAgICAgICAgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfVkFMVUU6CisgICAgICAgICAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19MSVNUOgorICAgICAgICAgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfUkVGOgorICAgICAgICAgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfUEFSRU5UUkVGOgorICAgICAgICAgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfRVhURVJOQUxSRUY6CisgICAgICAgICAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19ERUY6CisgICAgICAgICAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19PTkVPUk1PUkU6CisgICAgICAgICAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19aRVJPT1JNT1JFOgorICAgICAgICAgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfT1BUSU9OQUw6CisgICAgICAgICAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19DSE9JQ0U6CisgICAgICAgICAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19HUk9VUDoKKyAgICAgICAgICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX0lOVEVSTEVBVkU6CisgICAgICAgICAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19BVFRSSUJVVEU6CisgICAgICAgICAgICAgICAgICAgIHJldC0+Y29udGVudCA9IGN1cjsKKyAgICAgICAgICAgICAgICAgICAgY3VyLT5wYXJlbnQgPSByZXQ7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfU1RBUlQ6CisgICAgICAgICAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19QQVJBTToKKyAgICAgICAgICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX0VYQ0VQVDoKKyAgICAgICAgICAgICAgICAgICAgeG1sUm5nUEVycihjdHh0LCBub2RlLCBYTUxfUk5HUF9BVFRSSUJVVEVfQ09OVEVOVCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYXR0cmlidXRlIGhhcyBpbnZhbGlkIGNvbnRlbnRcbiIsIE5VTEwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfTk9PUDoKKyAgICAgICAgICAgICAgICAgICAgeG1sUm5nUEVycihjdHh0LCBub2RlLCBYTUxfUk5HUF9BVFRSSUJVVEVfTk9PUCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUk5HIEludGVybmFsIGVycm9yLCBub29wIGZvdW5kIGluIGF0dHJpYnV0ZVxuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCBOVUxMKTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgY2hpbGQgPSBjaGlsZC0+bmV4dDsKKyAgICB9CisgICAgaWYgKGNoaWxkICE9IE5VTEwpIHsKKyAgICAgICAgeG1sUm5nUEVycihjdHh0LCBub2RlLCBYTUxfUk5HUF9BVFRSSUJVVEVfQ0hJTERSRU4sCisgICAgICAgICAgICAgICAgICAgImF0dHJpYnV0ZSBoYXMgbXVsdGlwbGUgY2hpbGRyZW5cbiIsIE5VTEwsIE5VTEwpOworICAgIH0KKyAgICBjdHh0LT5mbGFncyA9IG9sZF9mbGFnczsKKyAgICByZXR1cm4gKHJldCk7Cit9CisKKy8qKgorICogeG1sUmVsYXhOR1BhcnNlRXhjZXB0TmFtZUNsYXNzOgorICogQGN0eHQ6ICBhIFJlbGF4LU5HIHBhcnNlciBjb250ZXh0CisgKiBAbm9kZTogIHRoZSBleGNlcHQgbm9kZQorICogQGF0dHI6ICAxIGlmIHdpdGhpbiBhbiBhdHRyaWJ1dGUsIDAgaWYgd2l0aGluIGFuIGVsZW1lbnQKKyAqCisgKiBwYXJzZSB0aGUgY29udGVudCBvZiBhIFJlbGF4TkcgbmFtZUNsYXNzIG5vZGUuCisgKgorICogUmV0dXJucyB0aGUgZGVmaW5pdGlvbiBwb2ludGVyIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworc3RhdGljIHhtbFJlbGF4TkdEZWZpbmVQdHIKK3htbFJlbGF4TkdQYXJzZUV4Y2VwdE5hbWVDbGFzcyh4bWxSZWxheE5HUGFyc2VyQ3R4dFB0ciBjdHh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbE5vZGVQdHIgbm9kZSwgaW50IGF0dHIpCit7CisgICAgeG1sUmVsYXhOR0RlZmluZVB0ciByZXQsIGN1ciwgbGFzdCA9IE5VTEw7CisgICAgeG1sTm9kZVB0ciBjaGlsZDsKKworICAgIGlmICghSVNfUkVMQVhORyhub2RlLCAiZXhjZXB0IikpIHsKKyAgICAgICAgeG1sUm5nUEVycihjdHh0LCBub2RlLCBYTUxfUk5HUF9FWENFUFRfTUlTU0lORywKKyAgICAgICAgICAgICAgICAgICAiRXhwZWN0aW5nIGFuIGV4Y2VwdCBub2RlXG4iLCBOVUxMLCBOVUxMKTsKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICB9CisgICAgaWYgKG5vZGUtPm5leHQgIT0gTlVMTCkgeworICAgICAgICB4bWxSbmdQRXJyKGN0eHQsIG5vZGUsIFhNTF9STkdQX0VYQ0VQVF9NVUxUSVBMRSwKKyAgICAgICAgICAgICAgICAgICAiZXhjZXB0TmFtZUNsYXNzIGFsbG93cyBvbmx5IGEgc2luZ2xlIGV4Y2VwdCBub2RlXG4iLAorICAgICAgICAgICAgICAgICAgIE5VTEwsIE5VTEwpOworICAgIH0KKyAgICBpZiAobm9kZS0+Y2hpbGRyZW4gPT0gTlVMTCkgeworICAgICAgICB4bWxSbmdQRXJyKGN0eHQsIG5vZGUsIFhNTF9STkdQX0VYQ0VQVF9FTVBUWSwgImV4Y2VwdCBoYXMgbm8gY29udGVudFxuIiwKKyAgICAgICAgICAgICAgICAgICBOVUxMLCBOVUxMKTsKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICB9CisKKyAgICByZXQgPSB4bWxSZWxheE5HTmV3RGVmaW5lKGN0eHQsIG5vZGUpOworICAgIGlmIChyZXQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICByZXQtPnR5cGUgPSBYTUxfUkVMQVhOR19FWENFUFQ7CisgICAgY2hpbGQgPSBub2RlLT5jaGlsZHJlbjsKKyAgICB3aGlsZSAoY2hpbGQgIT0gTlVMTCkgeworICAgICAgICBjdXIgPSB4bWxSZWxheE5HTmV3RGVmaW5lKGN0eHQsIGNoaWxkKTsKKyAgICAgICAgaWYgKGN1ciA9PSBOVUxMKQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGlmIChhdHRyKQorICAgICAgICAgICAgY3VyLT50eXBlID0gWE1MX1JFTEFYTkdfQVRUUklCVVRFOworICAgICAgICBlbHNlCisgICAgICAgICAgICBjdXItPnR5cGUgPSBYTUxfUkVMQVhOR19FTEVNRU5UOworCisgICAgICAgIGlmICh4bWxSZWxheE5HUGFyc2VOYW1lQ2xhc3MoY3R4dCwgY2hpbGQsIGN1cikgIT0gTlVMTCkgeworICAgICAgICAgICAgaWYgKGxhc3QgPT0gTlVMTCkgeworICAgICAgICAgICAgICAgIHJldC0+Y29udGVudCA9IGN1cjsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgbGFzdC0+bmV4dCA9IGN1cjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGxhc3QgPSBjdXI7CisgICAgICAgIH0KKyAgICAgICAgY2hpbGQgPSBjaGlsZC0+bmV4dDsKKyAgICB9CisKKyAgICByZXR1cm4gKHJldCk7Cit9CisKKy8qKgorICogeG1sUmVsYXhOR1BhcnNlTmFtZUNsYXNzOgorICogQGN0eHQ6ICBhIFJlbGF4LU5HIHBhcnNlciBjb250ZXh0CisgKiBAbm9kZTogIHRoZSBuYW1lQ2xhc3Mgbm9kZQorICogQGRlZjogIHRoZSBjdXJyZW50IGRlZmluaXRpb24KKyAqCisgKiBwYXJzZSB0aGUgY29udGVudCBvZiBhIFJlbGF4TkcgbmFtZUNsYXNzIG5vZGUuCisgKgorICogUmV0dXJucyB0aGUgZGVmaW5pdGlvbiBwb2ludGVyIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworc3RhdGljIHhtbFJlbGF4TkdEZWZpbmVQdHIKK3htbFJlbGF4TkdQYXJzZU5hbWVDbGFzcyh4bWxSZWxheE5HUGFyc2VyQ3R4dFB0ciBjdHh0LCB4bWxOb2RlUHRyIG5vZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgeG1sUmVsYXhOR0RlZmluZVB0ciBkZWYpCit7CisgICAgeG1sUmVsYXhOR0RlZmluZVB0ciByZXQsIHRtcDsKKyAgICB4bWxDaGFyICp2YWw7CisKKyAgICByZXQgPSBkZWY7CisgICAgaWYgKChJU19SRUxBWE5HKG5vZGUsICJuYW1lIikpIHx8IChJU19SRUxBWE5HKG5vZGUsICJhbnlOYW1lIikpIHx8CisgICAgICAgIChJU19SRUxBWE5HKG5vZGUsICJuc05hbWUiKSkpIHsKKyAgICAgICAgaWYgKChkZWYtPnR5cGUgIT0gWE1MX1JFTEFYTkdfRUxFTUVOVCkgJiYKKyAgICAgICAgICAgIChkZWYtPnR5cGUgIT0gWE1MX1JFTEFYTkdfQVRUUklCVVRFKSkgeworICAgICAgICAgICAgcmV0ID0geG1sUmVsYXhOR05ld0RlZmluZShjdHh0LCBub2RlKTsKKyAgICAgICAgICAgIGlmIChyZXQgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICByZXR1cm4gKE5VTEwpOworICAgICAgICAgICAgcmV0LT5wYXJlbnQgPSBkZWY7CisgICAgICAgICAgICBpZiAoY3R4dC0+ZmxhZ3MgJiBYTUxfUkVMQVhOR19JTl9BVFRSSUJVVEUpCisgICAgICAgICAgICAgICAgcmV0LT50eXBlID0gWE1MX1JFTEFYTkdfQVRUUklCVVRFOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHJldC0+dHlwZSA9IFhNTF9SRUxBWE5HX0VMRU1FTlQ7CisgICAgICAgIH0KKyAgICB9CisgICAgaWYgKElTX1JFTEFYTkcobm9kZSwgIm5hbWUiKSkgeworICAgICAgICB2YWwgPSB4bWxOb2RlR2V0Q29udGVudChub2RlKTsKKyAgICAgICAgeG1sUmVsYXhOR05vcm1FeHRTcGFjZSh2YWwpOworICAgICAgICBpZiAoeG1sVmFsaWRhdGVOQ05hbWUodmFsLCAwKSkgeworCSAgICBpZiAobm9kZS0+cGFyZW50ICE9IE5VTEwpCisJCXhtbFJuZ1BFcnIoY3R4dCwgbm9kZSwgWE1MX1JOR1BfRUxFTUVOVF9OQU1FLAorCQkJICAgIkVsZW1lbnQgJXMgbmFtZSAnJXMnIGlzIG5vdCBhbiBOQ05hbWVcbiIsCisJCQkgICBub2RlLT5wYXJlbnQtPm5hbWUsIHZhbCk7CisJICAgIGVsc2UKKwkJeG1sUm5nUEVycihjdHh0LCBub2RlLCBYTUxfUk5HUF9FTEVNRU5UX05BTUUsCisJCQkgICAibmFtZSAnJXMnIGlzIG5vdCBhbiBOQ05hbWVcbiIsCisJCQkgICB2YWwsIE5VTEwpOworICAgICAgICB9CisgICAgICAgIHJldC0+bmFtZSA9IHZhbDsKKyAgICAgICAgdmFsID0geG1sR2V0UHJvcChub2RlLCBCQURfQ0FTVCAibnMiKTsKKyAgICAgICAgcmV0LT5ucyA9IHZhbDsKKyAgICAgICAgaWYgKChjdHh0LT5mbGFncyAmIFhNTF9SRUxBWE5HX0lOX0FUVFJJQlVURSkgJiYKKyAgICAgICAgICAgICh2YWwgIT0gTlVMTCkgJiYKKyAgICAgICAgICAgICh4bWxTdHJFcXVhbCh2YWwsIEJBRF9DQVNUICJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3htbG5zIikpKSB7CisJICAgIHhtbFJuZ1BFcnIoY3R4dCwgbm9kZSwgWE1MX1JOR1BfWE1MX05TLAorICAgICAgICAgICAgICAgICAgICAgICAgIkF0dHJpYnV0ZSB3aXRoIG5hbWVzcGFjZSAnJXMnIGlzIG5vdCBhbGxvd2VkXG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgdmFsLCBOVUxMKTsKKyAgICAgICAgfQorICAgICAgICBpZiAoKGN0eHQtPmZsYWdzICYgWE1MX1JFTEFYTkdfSU5fQVRUUklCVVRFKSAmJgorICAgICAgICAgICAgKHZhbCAhPSBOVUxMKSAmJgorICAgICAgICAgICAgKHZhbFswXSA9PSAwKSAmJiAoeG1sU3RyRXF1YWwocmV0LT5uYW1lLCBCQURfQ0FTVCAieG1sbnMiKSkpIHsKKwkgICAgeG1sUm5nUEVycihjdHh0LCBub2RlLCBYTUxfUk5HUF9YTUxOU19OQU1FLAorICAgICAgICAgICAgICAgICAgICAgICAiQXR0cmlidXRlIHdpdGggUU5hbWUgJ3htbG5zJyBpcyBub3QgYWxsb3dlZFxuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgdmFsLCBOVUxMKTsKKyAgICAgICAgfQorICAgIH0gZWxzZSBpZiAoSVNfUkVMQVhORyhub2RlLCAiYW55TmFtZSIpKSB7CisgICAgICAgIHJldC0+bmFtZSA9IE5VTEw7CisgICAgICAgIHJldC0+bnMgPSBOVUxMOworICAgICAgICBpZiAobm9kZS0+Y2hpbGRyZW4gIT0gTlVMTCkgeworICAgICAgICAgICAgcmV0LT5uYW1lQ2xhc3MgPQorICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdQYXJzZUV4Y2VwdE5hbWVDbGFzcyhjdHh0LCBub2RlLT5jaGlsZHJlbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGRlZi0+dHlwZSA9PQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWE1MX1JFTEFYTkdfQVRUUklCVVRFKSk7CisgICAgICAgIH0KKyAgICB9IGVsc2UgaWYgKElTX1JFTEFYTkcobm9kZSwgIm5zTmFtZSIpKSB7CisgICAgICAgIHJldC0+bmFtZSA9IE5VTEw7CisgICAgICAgIHJldC0+bnMgPSB4bWxHZXRQcm9wKG5vZGUsIEJBRF9DQVNUICJucyIpOworICAgICAgICBpZiAocmV0LT5ucyA9PSBOVUxMKSB7CisgICAgICAgICAgICB4bWxSbmdQRXJyKGN0eHQsIG5vZGUsIFhNTF9STkdQX05TTkFNRV9OT19OUywKKyAgICAgICAgICAgICAgICAgICAgICAgIm5zTmFtZSBoYXMgbm8gbnMgYXR0cmlidXRlXG4iLCBOVUxMLCBOVUxMKTsKKyAgICAgICAgfQorICAgICAgICBpZiAoKGN0eHQtPmZsYWdzICYgWE1MX1JFTEFYTkdfSU5fQVRUUklCVVRFKSAmJgorICAgICAgICAgICAgKHJldC0+bnMgIT0gTlVMTCkgJiYKKyAgICAgICAgICAgICh4bWxTdHJFcXVhbAorICAgICAgICAgICAgIChyZXQtPm5zLCBCQURfQ0FTVCAiaHR0cDovL3d3dy53My5vcmcvMjAwMC94bWxucyIpKSkgeworICAgICAgICAgICAgeG1sUm5nUEVycihjdHh0LCBub2RlLCBYTUxfUk5HUF9YTUxfTlMsCisgICAgICAgICAgICAgICAgICAgICAgICJBdHRyaWJ1dGUgd2l0aCBuYW1lc3BhY2UgJyVzJyBpcyBub3QgYWxsb3dlZFxuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgcmV0LT5ucywgTlVMTCk7CisgICAgICAgIH0KKyAgICAgICAgaWYgKG5vZGUtPmNoaWxkcmVuICE9IE5VTEwpIHsKKyAgICAgICAgICAgIHJldC0+bmFtZUNsYXNzID0KKyAgICAgICAgICAgICAgICB4bWxSZWxheE5HUGFyc2VFeGNlcHROYW1lQ2xhc3MoY3R4dCwgbm9kZS0+Y2hpbGRyZW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChkZWYtPnR5cGUgPT0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhNTF9SRUxBWE5HX0FUVFJJQlVURSkpOworICAgICAgICB9CisgICAgfSBlbHNlIGlmIChJU19SRUxBWE5HKG5vZGUsICJjaG9pY2UiKSkgeworICAgICAgICB4bWxOb2RlUHRyIGNoaWxkOworICAgICAgICB4bWxSZWxheE5HRGVmaW5lUHRyIGxhc3QgPSBOVUxMOworCisgICAgICAgIHJldCA9IHhtbFJlbGF4TkdOZXdEZWZpbmUoY3R4dCwgbm9kZSk7CisgICAgICAgIGlmIChyZXQgPT0gTlVMTCkKKyAgICAgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgICAgIHJldC0+cGFyZW50ID0gZGVmOworICAgICAgICByZXQtPnR5cGUgPSBYTUxfUkVMQVhOR19DSE9JQ0U7CisKKyAgICAgICAgaWYgKG5vZGUtPmNoaWxkcmVuID09IE5VTEwpIHsKKyAgICAgICAgICAgIHhtbFJuZ1BFcnIoY3R4dCwgbm9kZSwgWE1MX1JOR1BfQ0hPSUNFX0VNUFRZLAorICAgICAgICAgICAgICAgICAgICAgICAiRWxlbWVudCBjaG9pY2UgaXMgZW1wdHlcbiIsIE5VTEwsIE5VTEwpOworICAgICAgICB9IGVsc2UgeworCisgICAgICAgICAgICBjaGlsZCA9IG5vZGUtPmNoaWxkcmVuOworICAgICAgICAgICAgd2hpbGUgKGNoaWxkICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICB0bXAgPSB4bWxSZWxheE5HUGFyc2VOYW1lQ2xhc3MoY3R4dCwgY2hpbGQsIHJldCk7CisgICAgICAgICAgICAgICAgaWYgKHRtcCAhPSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgIGlmIChsYXN0ID09IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGxhc3QgPSByZXQtPm5hbWVDbGFzcyA9IHRtcDsKKyAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGxhc3QtPm5leHQgPSB0bXA7CisgICAgICAgICAgICAgICAgICAgICAgICBsYXN0ID0gdG1wOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGNoaWxkID0gY2hpbGQtPm5leHQ7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9IGVsc2UgeworICAgICAgICB4bWxSbmdQRXJyKGN0eHQsIG5vZGUsIFhNTF9STkdQX0NIT0lDRV9DT05URU5ULAorICAgICAgICAgICAgICAgICAgICJleHBlY3RpbmcgbmFtZSwgYW55TmFtZSwgbnNOYW1lIG9yIGNob2ljZSA6IGdvdCAlc1xuIiwKKyAgICAgICAgICAgICAgICAgICAobm9kZSA9PSBOVUxMID8gKGNvbnN0IHhtbENoYXIgKikgIm5vdGhpbmciIDogbm9kZS0+bmFtZSksCisJCSAgIE5VTEwpOworICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIH0KKyAgICBpZiAocmV0ICE9IGRlZikgeworICAgICAgICBpZiAoZGVmLT5uYW1lQ2xhc3MgPT0gTlVMTCkgeworICAgICAgICAgICAgZGVmLT5uYW1lQ2xhc3MgPSByZXQ7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICB0bXAgPSBkZWYtPm5hbWVDbGFzczsKKyAgICAgICAgICAgIHdoaWxlICh0bXAtPm5leHQgIT0gTlVMTCkgeworICAgICAgICAgICAgICAgIHRtcCA9IHRtcC0+bmV4dDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHRtcC0+bmV4dCA9IHJldDsKKyAgICAgICAgfQorICAgIH0KKyAgICByZXR1cm4gKHJldCk7Cit9CisKKy8qKgorICogeG1sUmVsYXhOR1BhcnNlRWxlbWVudDoKKyAqIEBjdHh0OiAgYSBSZWxheC1ORyBwYXJzZXIgY29udGV4dAorICogQG5vZGU6ICB0aGUgZWxlbWVudCBub2RlCisgKgorICogcGFyc2UgdGhlIGNvbnRlbnQgb2YgYSBSZWxheE5HIGVsZW1lbnQgbm9kZS4KKyAqCisgKiBSZXR1cm5zIHRoZSBkZWZpbml0aW9uIHBvaW50ZXIgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLgorICovCitzdGF0aWMgeG1sUmVsYXhOR0RlZmluZVB0cgoreG1sUmVsYXhOR1BhcnNlRWxlbWVudCh4bWxSZWxheE5HUGFyc2VyQ3R4dFB0ciBjdHh0LCB4bWxOb2RlUHRyIG5vZGUpCit7CisgICAgeG1sUmVsYXhOR0RlZmluZVB0ciByZXQsIGN1ciwgbGFzdDsKKyAgICB4bWxOb2RlUHRyIGNoaWxkOworICAgIGNvbnN0IHhtbENoYXIgKm9sZGRlZmluZTsKKworICAgIHJldCA9IHhtbFJlbGF4TkdOZXdEZWZpbmUoY3R4dCwgbm9kZSk7CisgICAgaWYgKHJldCA9PSBOVUxMKQorICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIHJldC0+dHlwZSA9IFhNTF9SRUxBWE5HX0VMRU1FTlQ7CisgICAgcmV0LT5wYXJlbnQgPSBjdHh0LT5kZWY7CisgICAgY2hpbGQgPSBub2RlLT5jaGlsZHJlbjsKKyAgICBpZiAoY2hpbGQgPT0gTlVMTCkgeworICAgICAgICB4bWxSbmdQRXJyKGN0eHQsIG5vZGUsIFhNTF9STkdQX0VMRU1FTlRfRU1QVFksCisgICAgICAgICAgICAgICAgICAgInhtbFJlbGF4TkdQYXJzZUVsZW1lbnQ6IGVsZW1lbnQgaGFzIG5vIGNoaWxkcmVuXG4iLAorICAgICAgICAgICAgICAgICAgIE5VTEwsIE5VTEwpOworICAgICAgICByZXR1cm4gKHJldCk7CisgICAgfQorICAgIGN1ciA9IHhtbFJlbGF4TkdQYXJzZU5hbWVDbGFzcyhjdHh0LCBjaGlsZCwgcmV0KTsKKyAgICBpZiAoY3VyICE9IE5VTEwpCisgICAgICAgIGNoaWxkID0gY2hpbGQtPm5leHQ7CisKKyAgICBpZiAoY2hpbGQgPT0gTlVMTCkgeworICAgICAgICB4bWxSbmdQRXJyKGN0eHQsIG5vZGUsIFhNTF9STkdQX0VMRU1FTlRfTk9fQ09OVEVOVCwKKyAgICAgICAgICAgICAgICAgICAieG1sUmVsYXhOR1BhcnNlRWxlbWVudDogZWxlbWVudCBoYXMgbm8gY29udGVudFxuIiwKKyAgICAgICAgICAgICAgICAgICBOVUxMLCBOVUxMKTsKKyAgICAgICAgcmV0dXJuIChyZXQpOworICAgIH0KKyAgICBvbGRkZWZpbmUgPSBjdHh0LT5kZWZpbmU7CisgICAgY3R4dC0+ZGVmaW5lID0gTlVMTDsKKyAgICBsYXN0ID0gTlVMTDsKKyAgICB3aGlsZSAoY2hpbGQgIT0gTlVMTCkgeworICAgICAgICBjdXIgPSB4bWxSZWxheE5HUGFyc2VQYXR0ZXJuKGN0eHQsIGNoaWxkKTsKKyAgICAgICAgaWYgKGN1ciAhPSBOVUxMKSB7CisgICAgICAgICAgICBjdXItPnBhcmVudCA9IHJldDsKKyAgICAgICAgICAgIHN3aXRjaCAoY3VyLT50eXBlKSB7CisgICAgICAgICAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19FTVBUWToKKyAgICAgICAgICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX05PVF9BTExPV0VEOgorICAgICAgICAgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfVEVYVDoKKyAgICAgICAgICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX0VMRU1FTlQ6CisgICAgICAgICAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19EQVRBVFlQRToKKyAgICAgICAgICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX1ZBTFVFOgorICAgICAgICAgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfTElTVDoKKyAgICAgICAgICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX1JFRjoKKyAgICAgICAgICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX1BBUkVOVFJFRjoKKyAgICAgICAgICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX0VYVEVSTkFMUkVGOgorICAgICAgICAgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfREVGOgorICAgICAgICAgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfWkVST09STU9SRToKKyAgICAgICAgICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX09ORU9STU9SRToKKyAgICAgICAgICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX09QVElPTkFMOgorICAgICAgICAgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfQ0hPSUNFOgorICAgICAgICAgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfR1JPVVA6CisgICAgICAgICAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19JTlRFUkxFQVZFOgorICAgICAgICAgICAgICAgICAgICBpZiAobGFzdCA9PSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgICAgICByZXQtPmNvbnRlbnQgPSBsYXN0ID0gY3VyOworICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKChsYXN0LT50eXBlID09IFhNTF9SRUxBWE5HX0VMRU1FTlQpICYmCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHJldC0+Y29udGVudCA9PSBsYXN0KSkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldC0+Y29udGVudCA9IHhtbFJlbGF4TkdOZXdEZWZpbmUoY3R4dCwgbm9kZSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJldC0+Y29udGVudCAhPSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldC0+Y29udGVudC0+dHlwZSA9IFhNTF9SRUxBWE5HX0dST1VQOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXQtPmNvbnRlbnQtPmNvbnRlbnQgPSBsYXN0OworICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldC0+Y29udGVudCA9IGxhc3Q7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgbGFzdC0+bmV4dCA9IGN1cjsKKyAgICAgICAgICAgICAgICAgICAgICAgIGxhc3QgPSBjdXI7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19BVFRSSUJVVEU6CisgICAgICAgICAgICAgICAgICAgIGN1ci0+bmV4dCA9IHJldC0+YXR0cnM7CisgICAgICAgICAgICAgICAgICAgIHJldC0+YXR0cnMgPSBjdXI7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfU1RBUlQ6CisgICAgICAgICAgICAgICAgICAgIHhtbFJuZ1BFcnIoY3R4dCwgbm9kZSwgWE1MX1JOR1BfRUxFTUVOVF9DT05URU5ULAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSTkcgSW50ZXJuYWwgZXJyb3IsIHN0YXJ0IGZvdW5kIGluIGVsZW1lbnRcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgTlVMTCk7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfUEFSQU06CisgICAgICAgICAgICAgICAgICAgIHhtbFJuZ1BFcnIoY3R4dCwgbm9kZSwgWE1MX1JOR1BfRUxFTUVOVF9DT05URU5ULAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSTkcgSW50ZXJuYWwgZXJyb3IsIHBhcmFtIGZvdW5kIGluIGVsZW1lbnRcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgTlVMTCk7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfRVhDRVBUOgorICAgICAgICAgICAgICAgICAgICB4bWxSbmdQRXJyKGN0eHQsIG5vZGUsIFhNTF9STkdQX0VMRU1FTlRfQ09OVEVOVCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUk5HIEludGVybmFsIGVycm9yLCBleGNlcHQgZm91bmQgaW4gZWxlbWVudFxuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCBOVUxMKTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19OT09QOgorICAgICAgICAgICAgICAgICAgICB4bWxSbmdQRXJyKGN0eHQsIG5vZGUsIFhNTF9STkdQX0VMRU1FTlRfQ09OVEVOVCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUk5HIEludGVybmFsIGVycm9yLCBub29wIGZvdW5kIGluIGVsZW1lbnRcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgTlVMTCk7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIGNoaWxkID0gY2hpbGQtPm5leHQ7CisgICAgfQorICAgIGN0eHQtPmRlZmluZSA9IG9sZGRlZmluZTsKKyAgICByZXR1cm4gKHJldCk7Cit9CisKKy8qKgorICogeG1sUmVsYXhOR1BhcnNlUGF0dGVybnM6CisgKiBAY3R4dDogIGEgUmVsYXgtTkcgcGFyc2VyIGNvbnRleHQKKyAqIEBub2RlczogIGxpc3Qgb2Ygbm9kZXMKKyAqIEBncm91cDogIHVzZSBhbiBpbXBsaWNpdCA8Z3JvdXA+IGZvciBlbGVtZW50cworICoKKyAqIHBhcnNlIHRoZSBjb250ZW50IG9mIGEgUmVsYXhORyBzdGFydCBub2RlLgorICoKKyAqIFJldHVybnMgdGhlIGRlZmluaXRpb24gcG9pbnRlciBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK3N0YXRpYyB4bWxSZWxheE5HRGVmaW5lUHRyCit4bWxSZWxheE5HUGFyc2VQYXR0ZXJucyh4bWxSZWxheE5HUGFyc2VyQ3R4dFB0ciBjdHh0LCB4bWxOb2RlUHRyIG5vZGVzLAorICAgICAgICAgICAgICAgICAgICAgICAgaW50IGdyb3VwKQoreworICAgIHhtbFJlbGF4TkdEZWZpbmVQdHIgZGVmID0gTlVMTCwgbGFzdCA9IE5VTEwsIGN1ciwgcGFyZW50OworCisgICAgcGFyZW50ID0gY3R4dC0+ZGVmOworICAgIHdoaWxlIChub2RlcyAhPSBOVUxMKSB7CisgICAgICAgIGlmIChJU19SRUxBWE5HKG5vZGVzLCAiZWxlbWVudCIpKSB7CisgICAgICAgICAgICBjdXIgPSB4bWxSZWxheE5HUGFyc2VFbGVtZW50KGN0eHQsIG5vZGVzKTsKKyAgICAgICAgICAgIGlmIChkZWYgPT0gTlVMTCkgeworICAgICAgICAgICAgICAgIGRlZiA9IGxhc3QgPSBjdXI7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIGlmICgoZ3JvdXAgPT0gMSkgJiYgKGRlZi0+dHlwZSA9PSBYTUxfUkVMQVhOR19FTEVNRU5UKSAmJgorICAgICAgICAgICAgICAgICAgICAoZGVmID09IGxhc3QpKSB7CisgICAgICAgICAgICAgICAgICAgIGRlZiA9IHhtbFJlbGF4TkdOZXdEZWZpbmUoY3R4dCwgbm9kZXMpOworICAgICAgICAgICAgICAgICAgICBkZWYtPnR5cGUgPSBYTUxfUkVMQVhOR19HUk9VUDsKKyAgICAgICAgICAgICAgICAgICAgZGVmLT5jb250ZW50ID0gbGFzdDsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgbGFzdC0+bmV4dCA9IGN1cjsKKyAgICAgICAgICAgICAgICBsYXN0ID0gY3VyOworICAgICAgICAgICAgfQorICAgICAgICAgICAgY3VyLT5wYXJlbnQgPSBwYXJlbnQ7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBjdXIgPSB4bWxSZWxheE5HUGFyc2VQYXR0ZXJuKGN0eHQsIG5vZGVzKTsKKyAgICAgICAgICAgIGlmIChjdXIgIT0gTlVMTCkgeworICAgICAgICAgICAgICAgIGlmIChkZWYgPT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICBkZWYgPSBsYXN0ID0gY3VyOworICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIGxhc3QtPm5leHQgPSBjdXI7CisgICAgICAgICAgICAgICAgICAgIGxhc3QgPSBjdXI7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIG5vZGVzID0gbm9kZXMtPm5leHQ7CisgICAgfQorICAgIHJldHVybiAoZGVmKTsKK30KKworLyoqCisgKiB4bWxSZWxheE5HUGFyc2VTdGFydDoKKyAqIEBjdHh0OiAgYSBSZWxheC1ORyBwYXJzZXIgY29udGV4dAorICogQG5vZGVzOiAgc3RhcnQgY2hpbGRyZW4gbm9kZXMKKyAqCisgKiBwYXJzZSB0aGUgY29udGVudCBvZiBhIFJlbGF4Tkcgc3RhcnQgbm9kZS4KKyAqCisgKiBSZXR1cm5zIDAgaW4gY2FzZSBvZiBzdWNjZXNzLCAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3N0YXRpYyBpbnQKK3htbFJlbGF4TkdQYXJzZVN0YXJ0KHhtbFJlbGF4TkdQYXJzZXJDdHh0UHRyIGN0eHQsIHhtbE5vZGVQdHIgbm9kZXMpCit7CisgICAgaW50IHJldCA9IDA7CisgICAgeG1sUmVsYXhOR0RlZmluZVB0ciBkZWYgPSBOVUxMLCBsYXN0OworCisgICAgaWYgKG5vZGVzID09IE5VTEwpIHsKKyAgICAgICAgeG1sUm5nUEVycihjdHh0LCBub2RlcywgWE1MX1JOR1BfU1RBUlRfRU1QVFksICJzdGFydCBoYXMgbm8gY2hpbGRyZW5cbiIsCisgICAgICAgICAgICAgICAgICAgTlVMTCwgTlVMTCk7CisgICAgICAgIHJldHVybiAoLTEpOworICAgIH0KKyAgICBpZiAoSVNfUkVMQVhORyhub2RlcywgImVtcHR5IikpIHsKKyAgICAgICAgZGVmID0geG1sUmVsYXhOR05ld0RlZmluZShjdHh0LCBub2Rlcyk7CisgICAgICAgIGlmIChkZWYgPT0gTlVMTCkKKyAgICAgICAgICAgIHJldHVybiAoLTEpOworICAgICAgICBkZWYtPnR5cGUgPSBYTUxfUkVMQVhOR19FTVBUWTsKKyAgICAgICAgaWYgKG5vZGVzLT5jaGlsZHJlbiAhPSBOVUxMKSB7CisgICAgICAgICAgICB4bWxSbmdQRXJyKGN0eHQsIG5vZGVzLCBYTUxfUk5HUF9FTVBUWV9DT05URU5ULAorICAgICAgICAgICAgICAgICAgICAgICAiZWxlbWVudCBlbXB0eSBpcyBub3QgZW1wdHlcbiIsIE5VTEwsIE5VTEwpOworICAgICAgICB9CisgICAgfSBlbHNlIGlmIChJU19SRUxBWE5HKG5vZGVzLCAibm90QWxsb3dlZCIpKSB7CisgICAgICAgIGRlZiA9IHhtbFJlbGF4TkdOZXdEZWZpbmUoY3R4dCwgbm9kZXMpOworICAgICAgICBpZiAoZGVmID09IE5VTEwpCisgICAgICAgICAgICByZXR1cm4gKC0xKTsKKyAgICAgICAgZGVmLT50eXBlID0gWE1MX1JFTEFYTkdfTk9UX0FMTE9XRUQ7CisgICAgICAgIGlmIChub2Rlcy0+Y2hpbGRyZW4gIT0gTlVMTCkgeworICAgICAgICAgICAgeG1sUm5nUEVycihjdHh0LCBub2RlcywgWE1MX1JOR1BfTk9UQUxMT1dFRF9OT1RfRU1QVFksCisgICAgICAgICAgICAgICAgICAgICAgICJlbGVtZW50IG5vdEFsbG93ZWQgaXMgbm90IGVtcHR5XG4iLCBOVUxMLCBOVUxMKTsKKyAgICAgICAgfQorICAgIH0gZWxzZSB7CisgICAgICAgIGRlZiA9IHhtbFJlbGF4TkdQYXJzZVBhdHRlcm5zKGN0eHQsIG5vZGVzLCAxKTsKKyAgICB9CisgICAgaWYgKGN0eHQtPmdyYW1tYXItPnN0YXJ0ICE9IE5VTEwpIHsKKyAgICAgICAgbGFzdCA9IGN0eHQtPmdyYW1tYXItPnN0YXJ0OworICAgICAgICB3aGlsZSAobGFzdC0+bmV4dCAhPSBOVUxMKQorICAgICAgICAgICAgbGFzdCA9IGxhc3QtPm5leHQ7CisgICAgICAgIGxhc3QtPm5leHQgPSBkZWY7CisgICAgfSBlbHNlIHsKKyAgICAgICAgY3R4dC0+Z3JhbW1hci0+c3RhcnQgPSBkZWY7CisgICAgfQorICAgIG5vZGVzID0gbm9kZXMtPm5leHQ7CisgICAgaWYgKG5vZGVzICE9IE5VTEwpIHsKKyAgICAgICAgeG1sUm5nUEVycihjdHh0LCBub2RlcywgWE1MX1JOR1BfU1RBUlRfQ09OVEVOVCwKKyAgICAgICAgICAgICAgICAgICAic3RhcnQgbW9yZSB0aGFuIG9uZSBjaGlsZHJlblxuIiwgTlVMTCwgTlVMTCk7CisgICAgICAgIHJldHVybiAoLTEpOworICAgIH0KKyAgICByZXR1cm4gKHJldCk7Cit9CisKKy8qKgorICogeG1sUmVsYXhOR1BhcnNlR3JhbW1hckNvbnRlbnQ6CisgKiBAY3R4dDogIGEgUmVsYXgtTkcgcGFyc2VyIGNvbnRleHQKKyAqIEBub2RlczogIGdyYW1tYXIgY2hpbGRyZW4gbm9kZXMKKyAqCisgKiBwYXJzZSB0aGUgY29udGVudCBvZiBhIFJlbGF4TkcgZ3JhbW1hciBub2RlLgorICoKKyAqIFJldHVybnMgMCBpbiBjYXNlIG9mIHN1Y2Nlc3MsIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworc3RhdGljIGludAoreG1sUmVsYXhOR1BhcnNlR3JhbW1hckNvbnRlbnQoeG1sUmVsYXhOR1BhcnNlckN0eHRQdHIgY3R4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbE5vZGVQdHIgbm9kZXMpCit7CisgICAgaW50IHJldCA9IDAsIHRtcDsKKworICAgIGlmIChub2RlcyA9PSBOVUxMKSB7CisgICAgICAgIHhtbFJuZ1BFcnIoY3R4dCwgbm9kZXMsIFhNTF9STkdQX0dSQU1NQVJfRU1QVFksCisgICAgICAgICAgICAgICAgICAgImdyYW1tYXIgaGFzIG5vIGNoaWxkcmVuXG4iLCBOVUxMLCBOVUxMKTsKKyAgICAgICAgcmV0dXJuICgtMSk7CisgICAgfQorICAgIHdoaWxlIChub2RlcyAhPSBOVUxMKSB7CisgICAgICAgIGlmIChJU19SRUxBWE5HKG5vZGVzLCAic3RhcnQiKSkgeworICAgICAgICAgICAgaWYgKG5vZGVzLT5jaGlsZHJlbiA9PSBOVUxMKSB7CisgICAgICAgICAgICAgICAgeG1sUm5nUEVycihjdHh0LCBub2RlcywgWE1MX1JOR1BfU1RBUlRfRU1QVFksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RhcnQgaGFzIG5vIGNoaWxkcmVuXG4iLCBOVUxMLCBOVUxMKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgdG1wID0geG1sUmVsYXhOR1BhcnNlU3RhcnQoY3R4dCwgbm9kZXMtPmNoaWxkcmVuKTsKKyAgICAgICAgICAgICAgICBpZiAodG1wICE9IDApCisgICAgICAgICAgICAgICAgICAgIHJldCA9IC0xOworICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2UgaWYgKElTX1JFTEFYTkcobm9kZXMsICJkZWZpbmUiKSkgeworICAgICAgICAgICAgdG1wID0geG1sUmVsYXhOR1BhcnNlRGVmaW5lKGN0eHQsIG5vZGVzKTsKKyAgICAgICAgICAgIGlmICh0bXAgIT0gMCkKKyAgICAgICAgICAgICAgICByZXQgPSAtMTsKKyAgICAgICAgfSBlbHNlIGlmIChJU19SRUxBWE5HKG5vZGVzLCAiaW5jbHVkZSIpKSB7CisgICAgICAgICAgICB0bXAgPSB4bWxSZWxheE5HUGFyc2VJbmNsdWRlKGN0eHQsIG5vZGVzKTsKKyAgICAgICAgICAgIGlmICh0bXAgIT0gMCkKKyAgICAgICAgICAgICAgICByZXQgPSAtMTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHhtbFJuZ1BFcnIoY3R4dCwgbm9kZXMsIFhNTF9STkdQX0dSQU1NQVJfQ09OVEVOVCwKKyAgICAgICAgICAgICAgICAgICAgICAgImdyYW1tYXIgaGFzIHVuZXhwZWN0ZWQgY2hpbGQgJXNcbiIsIG5vZGVzLT5uYW1lLAorICAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsKKyAgICAgICAgICAgIHJldCA9IC0xOworICAgICAgICB9CisgICAgICAgIG5vZGVzID0gbm9kZXMtPm5leHQ7CisgICAgfQorICAgIHJldHVybiAocmV0KTsKK30KKworLyoqCisgKiB4bWxSZWxheE5HQ2hlY2tSZWZlcmVuY2U6CisgKiBAcmVmOiAgdGhlIHJlZgorICogQGN0eHQ6ICBhIFJlbGF4LU5HIHBhcnNlciBjb250ZXh0CisgKiBAbmFtZTogIHRoZSBuYW1lIGFzc29jaWF0ZWQgdG8gdGhlIGRlZmluZXMKKyAqCisgKiBBcHBsaWVzIHRoZSA0LjE3LiBjb21iaW5lIGF0dHJpYnV0ZSBydWxlIGZvciBhbGwgdGhlIGRlZmluZQorICogZWxlbWVudCBvZiBhIGdpdmVuIGdyYW1tYXIgdXNpbmcgdGhlIHNhbWUgbmFtZS4KKyAqLworc3RhdGljIHZvaWQKK3htbFJlbGF4TkdDaGVja1JlZmVyZW5jZSh4bWxSZWxheE5HRGVmaW5lUHRyIHJlZiwKKyAgICAgICAgICAgICAgICAgICAgICAgICB4bWxSZWxheE5HUGFyc2VyQ3R4dFB0ciBjdHh0LAorICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBuYW1lKQoreworICAgIHhtbFJlbGF4TkdHcmFtbWFyUHRyIGdyYW1tYXI7CisgICAgeG1sUmVsYXhOR0RlZmluZVB0ciBkZWYsIGN1cjsKKworICAgIC8qCisgICAgICogVGhvc2UgcnVsZXMgZG9uJ3QgYXBwbHkgdG8gaW1wb3J0ZWQgcmVmIGZyb20geG1sUmVsYXhOR1BhcnNlSW1wb3J0UmVmCisgICAgICovCisgICAgaWYgKHJlZi0+ZGZsYWdzICYgSVNfRVhURVJOQUxfUkVGKQorICAgICAgICByZXR1cm47CisKKyAgICBncmFtbWFyID0gY3R4dC0+Z3JhbW1hcjsKKyAgICBpZiAoZ3JhbW1hciA9PSBOVUxMKSB7CisgICAgICAgIHhtbFJuZ1BFcnIoY3R4dCwgcmVmLT5ub2RlLCBYTUxfRVJSX0lOVEVSTkFMX0VSUk9SLAorICAgICAgICAgICAgICAgICAgICJJbnRlcm5hbCBlcnJvcjogbm8gZ3JhbW1hciBpbiBDaGVja1JlZmVyZW5jZSAlc1xuIiwKKyAgICAgICAgICAgICAgICAgICBuYW1lLCBOVUxMKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBpZiAocmVmLT5jb250ZW50ICE9IE5VTEwpIHsKKyAgICAgICAgeG1sUm5nUEVycihjdHh0LCByZWYtPm5vZGUsIFhNTF9FUlJfSU5URVJOQUxfRVJST1IsCisgICAgICAgICAgICAgICAgICAgIkludGVybmFsIGVycm9yOiByZWZlcmVuY2UgaGFzIGNvbnRlbnQgaW4gQ2hlY2tSZWZlcmVuY2UgJXNcbiIsCisgICAgICAgICAgICAgICAgICAgbmFtZSwgTlVMTCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgaWYgKGdyYW1tYXItPmRlZnMgIT0gTlVMTCkgeworICAgICAgICBkZWYgPSB4bWxIYXNoTG9va3VwKGdyYW1tYXItPmRlZnMsIG5hbWUpOworICAgICAgICBpZiAoZGVmICE9IE5VTEwpIHsKKyAgICAgICAgICAgIGN1ciA9IHJlZjsKKyAgICAgICAgICAgIHdoaWxlIChjdXIgIT0gTlVMTCkgeworICAgICAgICAgICAgICAgIGN1ci0+Y29udGVudCA9IGRlZjsKKyAgICAgICAgICAgICAgICBjdXIgPSBjdXItPm5leHRIYXNoOworICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgeG1sUm5nUEVycihjdHh0LCByZWYtPm5vZGUsIFhNTF9STkdQX1JFRl9OT19ERUYsCisgICAgICAgICAgICAgICAgICAgICAgICJSZWZlcmVuY2UgJXMgaGFzIG5vIG1hdGNoaW5nIGRlZmluaXRpb25cbiIsIG5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOworICAgICAgICB9CisgICAgfSBlbHNlIHsKKyAgICAgICAgeG1sUm5nUEVycihjdHh0LCByZWYtPm5vZGUsIFhNTF9STkdQX1JFRl9OT19ERUYsCisgICAgICAgICAgICAgICAgICAgIlJlZmVyZW5jZSAlcyBoYXMgbm8gbWF0Y2hpbmcgZGVmaW5pdGlvblxuIiwgbmFtZSwKKyAgICAgICAgICAgICAgICAgICBOVUxMKTsKKyAgICB9Cit9CisKKy8qKgorICogeG1sUmVsYXhOR0NoZWNrQ29tYmluZToKKyAqIEBkZWZpbmU6ICB0aGUgZGVmaW5lKHMpIGxpc3QKKyAqIEBjdHh0OiAgYSBSZWxheC1ORyBwYXJzZXIgY29udGV4dAorICogQG5hbWU6ICB0aGUgbmFtZSBhc3NvY2lhdGVkIHRvIHRoZSBkZWZpbmVzCisgKgorICogQXBwbGllcyB0aGUgNC4xNy4gY29tYmluZSBhdHRyaWJ1dGUgcnVsZSBmb3IgYWxsIHRoZSBkZWZpbmUKKyAqIGVsZW1lbnQgb2YgYSBnaXZlbiBncmFtbWFyIHVzaW5nIHRoZSBzYW1lIG5hbWUuCisgKi8KK3N0YXRpYyB2b2lkCit4bWxSZWxheE5HQ2hlY2tDb21iaW5lKHhtbFJlbGF4TkdEZWZpbmVQdHIgZGVmaW5lLAorICAgICAgICAgICAgICAgICAgICAgICB4bWxSZWxheE5HUGFyc2VyQ3R4dFB0ciBjdHh0LCBjb25zdCB4bWxDaGFyICogbmFtZSkKK3sKKyAgICB4bWxDaGFyICpjb21iaW5lOworICAgIGludCBjaG9pY2VPckludGVybGVhdmUgPSAtMTsKKyAgICBpbnQgbWlzc2luZyA9IDA7CisgICAgeG1sUmVsYXhOR0RlZmluZVB0ciBjdXIsIGxhc3QsIHRtcCwgdG1wMjsKKworICAgIGlmIChkZWZpbmUtPm5leHRIYXNoID09IE5VTEwpCisgICAgICAgIHJldHVybjsKKyAgICBjdXIgPSBkZWZpbmU7CisgICAgd2hpbGUgKGN1ciAhPSBOVUxMKSB7CisgICAgICAgIGNvbWJpbmUgPSB4bWxHZXRQcm9wKGN1ci0+bm9kZSwgQkFEX0NBU1QgImNvbWJpbmUiKTsKKyAgICAgICAgaWYgKGNvbWJpbmUgIT0gTlVMTCkgeworICAgICAgICAgICAgaWYgKHhtbFN0ckVxdWFsKGNvbWJpbmUsIEJBRF9DQVNUICJjaG9pY2UiKSkgeworICAgICAgICAgICAgICAgIGlmIChjaG9pY2VPckludGVybGVhdmUgPT0gLTEpCisgICAgICAgICAgICAgICAgICAgIGNob2ljZU9ySW50ZXJsZWF2ZSA9IDE7CisgICAgICAgICAgICAgICAgZWxzZSBpZiAoY2hvaWNlT3JJbnRlcmxlYXZlID09IDApIHsKKyAgICAgICAgICAgICAgICAgICAgeG1sUm5nUEVycihjdHh0LCBkZWZpbmUtPm5vZGUsIFhNTF9STkdQX0RFRl9DSE9JQ0VfQU5EX0lOVEVSTEVBVkUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkRlZmluZXMgZm9yICVzIHVzZSBib3RoICdjaG9pY2UnIGFuZCAnaW50ZXJsZWF2ZSdcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSwgTlVMTCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSBlbHNlIGlmICh4bWxTdHJFcXVhbChjb21iaW5lLCBCQURfQ0FTVCAiaW50ZXJsZWF2ZSIpKSB7CisgICAgICAgICAgICAgICAgaWYgKGNob2ljZU9ySW50ZXJsZWF2ZSA9PSAtMSkKKyAgICAgICAgICAgICAgICAgICAgY2hvaWNlT3JJbnRlcmxlYXZlID0gMDsKKyAgICAgICAgICAgICAgICBlbHNlIGlmIChjaG9pY2VPckludGVybGVhdmUgPT0gMSkgeworICAgICAgICAgICAgICAgICAgICB4bWxSbmdQRXJyKGN0eHQsIGRlZmluZS0+bm9kZSwgWE1MX1JOR1BfREVGX0NIT0lDRV9BTkRfSU5URVJMRUFWRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRGVmaW5lcyBmb3IgJXMgdXNlIGJvdGggJ2Nob2ljZScgYW5kICdpbnRlcmxlYXZlJ1xuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lLCBOVUxMKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIHhtbFJuZ1BFcnIoY3R4dCwgZGVmaW5lLT5ub2RlLCBYTUxfUk5HUF9VTktOT1dOX0NPTUJJTkUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAiRGVmaW5lcyBmb3IgJXMgdXNlIHVua25vd24gY29tYmluZSB2YWx1ZSAnJXMnJ1xuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUsIGNvbWJpbmUpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgeG1sRnJlZShjb21iaW5lKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGlmIChtaXNzaW5nID09IDApCisgICAgICAgICAgICAgICAgbWlzc2luZyA9IDE7CisgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgICB4bWxSbmdQRXJyKGN0eHQsIGRlZmluZS0+bm9kZSwgWE1MX1JOR1BfTkVFRF9DT01CSU5FLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIlNvbWUgZGVmaW5lcyBmb3IgJXMgbmVlZHMgdGhlIGNvbWJpbmUgYXR0cmlidXRlXG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSwgTlVMTCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICBjdXIgPSBjdXItPm5leHRIYXNoOworICAgIH0KKyNpZmRlZiBERUJVRworICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAieG1sUmVsYXhOR0NoZWNrQ29tYmluZSgpOiBtZXJnaW5nICVzIGRlZmluZXM6ICVkXG4iLAorICAgICAgICAgICAgICAgICAgICBuYW1lLCBjaG9pY2VPckludGVybGVhdmUpOworI2VuZGlmCisgICAgaWYgKGNob2ljZU9ySW50ZXJsZWF2ZSA9PSAtMSkKKyAgICAgICAgY2hvaWNlT3JJbnRlcmxlYXZlID0gMDsKKyAgICBjdXIgPSB4bWxSZWxheE5HTmV3RGVmaW5lKGN0eHQsIGRlZmluZS0+bm9kZSk7CisgICAgaWYgKGN1ciA9PSBOVUxMKQorICAgICAgICByZXR1cm47CisgICAgaWYgKGNob2ljZU9ySW50ZXJsZWF2ZSA9PSAwKQorICAgICAgICBjdXItPnR5cGUgPSBYTUxfUkVMQVhOR19JTlRFUkxFQVZFOworICAgIGVsc2UKKyAgICAgICAgY3VyLT50eXBlID0gWE1MX1JFTEFYTkdfQ0hPSUNFOworICAgIHRtcCA9IGRlZmluZTsKKyAgICBsYXN0ID0gTlVMTDsKKyAgICB3aGlsZSAodG1wICE9IE5VTEwpIHsKKyAgICAgICAgaWYgKHRtcC0+Y29udGVudCAhPSBOVUxMKSB7CisgICAgICAgICAgICBpZiAodG1wLT5jb250ZW50LT5uZXh0ICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAvKgorICAgICAgICAgICAgICAgICAqIHdlIG5lZWQgZmlyc3QgdG8gY3JlYXRlIGEgd3JhcHBlci4KKyAgICAgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgICAgICB0bXAyID0geG1sUmVsYXhOR05ld0RlZmluZShjdHh0LCB0bXAtPmNvbnRlbnQtPm5vZGUpOworICAgICAgICAgICAgICAgIGlmICh0bXAyID09IE5VTEwpCisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIHRtcDItPnR5cGUgPSBYTUxfUkVMQVhOR19HUk9VUDsKKyAgICAgICAgICAgICAgICB0bXAyLT5jb250ZW50ID0gdG1wLT5jb250ZW50OworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICB0bXAyID0gdG1wLT5jb250ZW50OworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKGxhc3QgPT0gTlVMTCkgeworICAgICAgICAgICAgICAgIGN1ci0+Y29udGVudCA9IHRtcDI7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIGxhc3QtPm5leHQgPSB0bXAyOworICAgICAgICAgICAgfQorICAgICAgICAgICAgbGFzdCA9IHRtcDI7CisgICAgICAgIH0KKyAgICAgICAgdG1wLT5jb250ZW50ID0gY3VyOworICAgICAgICB0bXAgPSB0bXAtPm5leHRIYXNoOworICAgIH0KKyAgICBkZWZpbmUtPmNvbnRlbnQgPSBjdXI7CisgICAgaWYgKGNob2ljZU9ySW50ZXJsZWF2ZSA9PSAwKSB7CisgICAgICAgIGlmIChjdHh0LT5pbnRlcmxlYXZlcyA9PSBOVUxMKQorICAgICAgICAgICAgY3R4dC0+aW50ZXJsZWF2ZXMgPSB4bWxIYXNoQ3JlYXRlKDEwKTsKKyAgICAgICAgaWYgKGN0eHQtPmludGVybGVhdmVzID09IE5VTEwpIHsKKyAgICAgICAgICAgIHhtbFJuZ1BFcnIoY3R4dCwgZGVmaW5lLT5ub2RlLCBYTUxfUk5HUF9JTlRFUkxFQVZFX0NSRUFURV9GQUlMRUQsCisgICAgICAgICAgICAgICAgICAgICAgICJGYWlsZWQgdG8gY3JlYXRlIGludGVybGVhdmVzIGhhc2ggdGFibGVcbiIsIE5VTEwsCisgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgY2hhciB0bXBuYW1lWzMyXTsKKworICAgICAgICAgICAgc25wcmludGYodG1wbmFtZSwgMzIsICJpbnRlcmxlYXZlJWQiLCBjdHh0LT5uYkludGVybGVhdmVzKyspOworICAgICAgICAgICAgaWYgKHhtbEhhc2hBZGRFbnRyeShjdHh0LT5pbnRlcmxlYXZlcywgQkFEX0NBU1QgdG1wbmFtZSwgY3VyKSA8CisgICAgICAgICAgICAgICAgMCkgeworICAgICAgICAgICAgICAgIHhtbFJuZ1BFcnIoY3R4dCwgZGVmaW5lLT5ub2RlLCBYTUxfUk5HUF9JTlRFUkxFQVZFX0NSRUFURV9GQUlMRUQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAiRmFpbGVkIHRvIGFkZCAlcyB0byBoYXNoIHRhYmxlXG4iLAorCQkJICAgKGNvbnN0IHhtbENoYXIgKikgdG1wbmFtZSwgTlVMTCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9Cit9CisKKy8qKgorICogeG1sUmVsYXhOR0NvbWJpbmVTdGFydDoKKyAqIEBjdHh0OiAgYSBSZWxheC1ORyBwYXJzZXIgY29udGV4dAorICogQGdyYW1tYXI6ICB0aGUgZ3JhbW1hcgorICoKKyAqIEFwcGxpZXMgdGhlIDQuMTcuIGNvbWJpbmUgcnVsZSBmb3IgYWxsIHRoZSBzdGFydAorICogZWxlbWVudCBvZiBhIGdpdmVuIGdyYW1tYXIuCisgKi8KK3N0YXRpYyB2b2lkCit4bWxSZWxheE5HQ29tYmluZVN0YXJ0KHhtbFJlbGF4TkdQYXJzZXJDdHh0UHRyIGN0eHQsCisgICAgICAgICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdHcmFtbWFyUHRyIGdyYW1tYXIpCit7CisgICAgeG1sUmVsYXhOR0RlZmluZVB0ciBzdGFydHM7CisgICAgeG1sQ2hhciAqY29tYmluZTsKKyAgICBpbnQgY2hvaWNlT3JJbnRlcmxlYXZlID0gLTE7CisgICAgaW50IG1pc3NpbmcgPSAwOworICAgIHhtbFJlbGF4TkdEZWZpbmVQdHIgY3VyOworCisgICAgc3RhcnRzID0gZ3JhbW1hci0+c3RhcnQ7CisgICAgaWYgKChzdGFydHMgPT0gTlVMTCkgfHwgKHN0YXJ0cy0+bmV4dCA9PSBOVUxMKSkKKyAgICAgICAgcmV0dXJuOworICAgIGN1ciA9IHN0YXJ0czsKKyAgICB3aGlsZSAoY3VyICE9IE5VTEwpIHsKKyAgICAgICAgaWYgKChjdXItPm5vZGUgPT0gTlVMTCkgfHwgKGN1ci0+bm9kZS0+cGFyZW50ID09IE5VTEwpIHx8CisgICAgICAgICAgICAoIXhtbFN0ckVxdWFsKGN1ci0+bm9kZS0+cGFyZW50LT5uYW1lLCBCQURfQ0FTVCAic3RhcnQiKSkpIHsKKyAgICAgICAgICAgIGNvbWJpbmUgPSBOVUxMOworICAgICAgICAgICAgeG1sUm5nUEVycihjdHh0LCBjdXItPm5vZGUsIFhNTF9STkdQX1NUQVJUX01JU1NJTkcsCisgICAgICAgICAgICAgICAgICAgICAgICJJbnRlcm5hbCBlcnJvcjogc3RhcnQgZWxlbWVudCBub3QgZm91bmRcbiIsIE5VTEwsCisgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgY29tYmluZSA9IHhtbEdldFByb3AoY3VyLT5ub2RlLT5wYXJlbnQsIEJBRF9DQVNUICJjb21iaW5lIik7CisgICAgICAgIH0KKworICAgICAgICBpZiAoY29tYmluZSAhPSBOVUxMKSB7CisgICAgICAgICAgICBpZiAoeG1sU3RyRXF1YWwoY29tYmluZSwgQkFEX0NBU1QgImNob2ljZSIpKSB7CisgICAgICAgICAgICAgICAgaWYgKGNob2ljZU9ySW50ZXJsZWF2ZSA9PSAtMSkKKyAgICAgICAgICAgICAgICAgICAgY2hvaWNlT3JJbnRlcmxlYXZlID0gMTsKKyAgICAgICAgICAgICAgICBlbHNlIGlmIChjaG9pY2VPckludGVybGVhdmUgPT0gMCkgeworICAgICAgICAgICAgICAgICAgICB4bWxSbmdQRXJyKGN0eHQsIGN1ci0+bm9kZSwgWE1MX1JOR1BfU1RBUlRfQ0hPSUNFX0FORF9JTlRFUkxFQVZFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICI8c3RhcnQ+IHVzZSBib3RoICdjaG9pY2UnIGFuZCAnaW50ZXJsZWF2ZSdcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgTlVMTCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSBlbHNlIGlmICh4bWxTdHJFcXVhbChjb21iaW5lLCBCQURfQ0FTVCAiaW50ZXJsZWF2ZSIpKSB7CisgICAgICAgICAgICAgICAgaWYgKGNob2ljZU9ySW50ZXJsZWF2ZSA9PSAtMSkKKyAgICAgICAgICAgICAgICAgICAgY2hvaWNlT3JJbnRlcmxlYXZlID0gMDsKKyAgICAgICAgICAgICAgICBlbHNlIGlmIChjaG9pY2VPckludGVybGVhdmUgPT0gMSkgeworICAgICAgICAgICAgICAgICAgICB4bWxSbmdQRXJyKGN0eHQsIGN1ci0+bm9kZSwgWE1MX1JOR1BfU1RBUlRfQ0hPSUNFX0FORF9JTlRFUkxFQVZFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICI8c3RhcnQ+IHVzZSBib3RoICdjaG9pY2UnIGFuZCAnaW50ZXJsZWF2ZSdcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgTlVMTCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICB4bWxSbmdQRXJyKGN0eHQsIGN1ci0+bm9kZSwgWE1MX1JOR1BfVU5LTk9XTl9DT01CSU5FLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIjxzdGFydD4gdXNlcyB1bmtub3duIGNvbWJpbmUgdmFsdWUgJyVzJydcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21iaW5lLCBOVUxMKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHhtbEZyZWUoY29tYmluZSk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBpZiAobWlzc2luZyA9PSAwKQorICAgICAgICAgICAgICAgIG1pc3NpbmcgPSAxOworICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgeG1sUm5nUEVycihjdHh0LCBjdXItPm5vZGUsIFhNTF9STkdQX05FRURfQ09NQklORSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJTb21lIDxzdGFydD4gZWxlbWVudCBtaXNzIHRoZSBjb21iaW5lIGF0dHJpYnV0ZVxuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIE5VTEwpOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgY3VyID0gY3VyLT5uZXh0OworICAgIH0KKyNpZmRlZiBERUJVRworICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAieG1sUmVsYXhOR0NvbWJpbmVTdGFydCgpOiBtZXJnaW5nIDxzdGFydD46ICVkXG4iLAorICAgICAgICAgICAgICAgICAgICBjaG9pY2VPckludGVybGVhdmUpOworI2VuZGlmCisgICAgaWYgKGNob2ljZU9ySW50ZXJsZWF2ZSA9PSAtMSkKKyAgICAgICAgY2hvaWNlT3JJbnRlcmxlYXZlID0gMDsKKyAgICBjdXIgPSB4bWxSZWxheE5HTmV3RGVmaW5lKGN0eHQsIHN0YXJ0cy0+bm9kZSk7CisgICAgaWYgKGN1ciA9PSBOVUxMKQorICAgICAgICByZXR1cm47CisgICAgaWYgKGNob2ljZU9ySW50ZXJsZWF2ZSA9PSAwKQorICAgICAgICBjdXItPnR5cGUgPSBYTUxfUkVMQVhOR19JTlRFUkxFQVZFOworICAgIGVsc2UKKyAgICAgICAgY3VyLT50eXBlID0gWE1MX1JFTEFYTkdfQ0hPSUNFOworICAgIGN1ci0+Y29udGVudCA9IGdyYW1tYXItPnN0YXJ0OworICAgIGdyYW1tYXItPnN0YXJ0ID0gY3VyOworICAgIGlmIChjaG9pY2VPckludGVybGVhdmUgPT0gMCkgeworICAgICAgICBpZiAoY3R4dC0+aW50ZXJsZWF2ZXMgPT0gTlVMTCkKKyAgICAgICAgICAgIGN0eHQtPmludGVybGVhdmVzID0geG1sSGFzaENyZWF0ZSgxMCk7CisgICAgICAgIGlmIChjdHh0LT5pbnRlcmxlYXZlcyA9PSBOVUxMKSB7CisgICAgICAgICAgICB4bWxSbmdQRXJyKGN0eHQsIGN1ci0+bm9kZSwgWE1MX1JOR1BfSU5URVJMRUFWRV9DUkVBVEVfRkFJTEVELAorICAgICAgICAgICAgICAgICAgICAgICAiRmFpbGVkIHRvIGNyZWF0ZSBpbnRlcmxlYXZlcyBoYXNoIHRhYmxlXG4iLCBOVUxMLAorICAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGNoYXIgdG1wbmFtZVszMl07CisKKyAgICAgICAgICAgIHNucHJpbnRmKHRtcG5hbWUsIDMyLCAiaW50ZXJsZWF2ZSVkIiwgY3R4dC0+bmJJbnRlcmxlYXZlcysrKTsKKyAgICAgICAgICAgIGlmICh4bWxIYXNoQWRkRW50cnkoY3R4dC0+aW50ZXJsZWF2ZXMsIEJBRF9DQVNUIHRtcG5hbWUsIGN1cikgPAorICAgICAgICAgICAgICAgIDApIHsKKyAgICAgICAgICAgICAgICB4bWxSbmdQRXJyKGN0eHQsIGN1ci0+bm9kZSwgWE1MX1JOR1BfSU5URVJMRUFWRV9DUkVBVEVfRkFJTEVELAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIkZhaWxlZCB0byBhZGQgJXMgdG8gaGFzaCB0YWJsZVxuIiwKKwkJCSAgIChjb25zdCB4bWxDaGFyICopIHRtcG5hbWUsIE5VTEwpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorfQorCisvKioKKyAqIHhtbFJlbGF4TkdDaGVja0N5Y2xlczoKKyAqIEBjdHh0OiAgYSBSZWxheC1ORyBwYXJzZXIgY29udGV4dAorICogQG5vZGVzOiAgZ3JhbW1hciBjaGlsZHJlbiBub2RlcworICogQGRlcHRoOiAgdGhlIGNvdW50ZXIKKyAqCisgKiBDaGVjayBmb3IgY3ljbGVzLgorICoKKyAqIFJldHVybnMgMCBpZiBjaGVjayBwYXNzZWQsIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3N0YXRpYyBpbnQKK3htbFJlbGF4TkdDaGVja0N5Y2xlcyh4bWxSZWxheE5HUGFyc2VyQ3R4dFB0ciBjdHh0LAorICAgICAgICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdEZWZpbmVQdHIgY3VyLCBpbnQgZGVwdGgpCit7CisgICAgaW50IHJldCA9IDA7CisKKyAgICB3aGlsZSAoKHJldCA9PSAwKSAmJiAoY3VyICE9IE5VTEwpKSB7CisgICAgICAgIGlmICgoY3VyLT50eXBlID09IFhNTF9SRUxBWE5HX1JFRikgfHwKKyAgICAgICAgICAgIChjdXItPnR5cGUgPT0gWE1MX1JFTEFYTkdfUEFSRU5UUkVGKSkgeworICAgICAgICAgICAgaWYgKGN1ci0+ZGVwdGggPT0gLTEpIHsKKyAgICAgICAgICAgICAgICBjdXItPmRlcHRoID0gZGVwdGg7CisgICAgICAgICAgICAgICAgcmV0ID0geG1sUmVsYXhOR0NoZWNrQ3ljbGVzKGN0eHQsIGN1ci0+Y29udGVudCwgZGVwdGgpOworICAgICAgICAgICAgICAgIGN1ci0+ZGVwdGggPSAtMjsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAoZGVwdGggPT0gY3VyLT5kZXB0aCkgeworICAgICAgICAgICAgICAgIHhtbFJuZ1BFcnIoY3R4dCwgY3VyLT5ub2RlLCBYTUxfUk5HUF9SRUZfQ1lDTEUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAiRGV0ZWN0ZWQgYSBjeWNsZSBpbiAlcyByZWZlcmVuY2VzXG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VyLT5uYW1lLCBOVUxMKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gKC0xKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIGlmIChjdXItPnR5cGUgPT0gWE1MX1JFTEFYTkdfRUxFTUVOVCkgeworICAgICAgICAgICAgcmV0ID0geG1sUmVsYXhOR0NoZWNrQ3ljbGVzKGN0eHQsIGN1ci0+Y29udGVudCwgZGVwdGggKyAxKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHJldCA9IHhtbFJlbGF4TkdDaGVja0N5Y2xlcyhjdHh0LCBjdXItPmNvbnRlbnQsIGRlcHRoKTsKKyAgICAgICAgfQorICAgICAgICBjdXIgPSBjdXItPm5leHQ7CisgICAgfQorICAgIHJldHVybiAocmV0KTsKK30KKworLyoqCisgKiB4bWxSZWxheE5HVHJ5VW5saW5rOgorICogQGN0eHQ6ICBhIFJlbGF4LU5HIHBhcnNlciBjb250ZXh0CisgKiBAY3VyOiAgdGhlIGRlZmluaXRpb24gdG8gdW5saW5rCisgKiBAcGFyZW50OiAgdGhlIHBhcmVudCBkZWZpbml0aW9uCisgKiBAcHJldjogIHRoZSBwcmV2aW91cyBzaWJsaW5nIGRlZmluaXRpb24KKyAqCisgKiBUcnkgdG8gdW5saW5rIGEgZGVmaW5pdGlvbi4gSWYgbm90IHBvc3NibGUgbWFrZSBpdCBhIE5PT1AKKyAqCisgKiBSZXR1cm5zIHRoZSBuZXcgcHJldiBkZWZpbml0aW9uCisgKi8KK3N0YXRpYyB4bWxSZWxheE5HRGVmaW5lUHRyCit4bWxSZWxheE5HVHJ5VW5saW5rKHhtbFJlbGF4TkdQYXJzZXJDdHh0UHRyIGN0eHQgQVRUUklCVVRFX1VOVVNFRCwKKyAgICAgICAgICAgICAgICAgICAgeG1sUmVsYXhOR0RlZmluZVB0ciBjdXIsCisgICAgICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdEZWZpbmVQdHIgcGFyZW50LCB4bWxSZWxheE5HRGVmaW5lUHRyIHByZXYpCit7CisgICAgaWYgKHByZXYgIT0gTlVMTCkgeworICAgICAgICBwcmV2LT5uZXh0ID0gY3VyLT5uZXh0OworICAgIH0gZWxzZSB7CisgICAgICAgIGlmIChwYXJlbnQgIT0gTlVMTCkgeworICAgICAgICAgICAgaWYgKHBhcmVudC0+Y29udGVudCA9PSBjdXIpCisgICAgICAgICAgICAgICAgcGFyZW50LT5jb250ZW50ID0gY3VyLT5uZXh0OworICAgICAgICAgICAgZWxzZSBpZiAocGFyZW50LT5hdHRycyA9PSBjdXIpCisgICAgICAgICAgICAgICAgcGFyZW50LT5hdHRycyA9IGN1ci0+bmV4dDsKKyAgICAgICAgICAgIGVsc2UgaWYgKHBhcmVudC0+bmFtZUNsYXNzID09IGN1cikKKyAgICAgICAgICAgICAgICBwYXJlbnQtPm5hbWVDbGFzcyA9IGN1ci0+bmV4dDsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGN1ci0+dHlwZSA9IFhNTF9SRUxBWE5HX05PT1A7CisgICAgICAgICAgICBwcmV2ID0gY3VyOworICAgICAgICB9CisgICAgfQorICAgIHJldHVybiAocHJldik7Cit9CisKKy8qKgorICogeG1sUmVsYXhOR1NpbXBsaWZ5OgorICogQGN0eHQ6ICBhIFJlbGF4LU5HIHBhcnNlciBjb250ZXh0CisgKiBAbm9kZXM6ICBncmFtbWFyIGNoaWxkcmVuIG5vZGVzCisgKgorICogQ2hlY2sgZm9yIHNpbXBsaWZpY2F0aW9uIG9mIGVtcHR5IGFuZCBub3RBbGxvd2VkCisgKi8KK3N0YXRpYyB2b2lkCit4bWxSZWxheE5HU2ltcGxpZnkoeG1sUmVsYXhOR1BhcnNlckN0eHRQdHIgY3R4dCwKKyAgICAgICAgICAgICAgICAgICB4bWxSZWxheE5HRGVmaW5lUHRyIGN1ciwgeG1sUmVsYXhOR0RlZmluZVB0ciBwYXJlbnQpCit7CisgICAgeG1sUmVsYXhOR0RlZmluZVB0ciBwcmV2ID0gTlVMTDsKKworICAgIHdoaWxlIChjdXIgIT0gTlVMTCkgeworICAgICAgICBpZiAoKGN1ci0+dHlwZSA9PSBYTUxfUkVMQVhOR19SRUYpIHx8CisgICAgICAgICAgICAoY3VyLT50eXBlID09IFhNTF9SRUxBWE5HX1BBUkVOVFJFRikpIHsKKyAgICAgICAgICAgIGlmIChjdXItPmRlcHRoICE9IC0zKSB7CisgICAgICAgICAgICAgICAgY3VyLT5kZXB0aCA9IC0zOworICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdTaW1wbGlmeShjdHh0LCBjdXItPmNvbnRlbnQsIGN1cik7CisgICAgICAgICAgICB9CisgICAgICAgIH0gZWxzZSBpZiAoY3VyLT50eXBlID09IFhNTF9SRUxBWE5HX05PVF9BTExPV0VEKSB7CisgICAgICAgICAgICBjdXItPnBhcmVudCA9IHBhcmVudDsKKyAgICAgICAgICAgIGlmICgocGFyZW50ICE9IE5VTEwpICYmCisgICAgICAgICAgICAgICAgKChwYXJlbnQtPnR5cGUgPT0gWE1MX1JFTEFYTkdfQVRUUklCVVRFKSB8fAorICAgICAgICAgICAgICAgICAocGFyZW50LT50eXBlID09IFhNTF9SRUxBWE5HX0xJU1QpIHx8CisgICAgICAgICAgICAgICAgIChwYXJlbnQtPnR5cGUgPT0gWE1MX1JFTEFYTkdfR1JPVVApIHx8CisgICAgICAgICAgICAgICAgIChwYXJlbnQtPnR5cGUgPT0gWE1MX1JFTEFYTkdfSU5URVJMRUFWRSkgfHwKKyAgICAgICAgICAgICAgICAgKHBhcmVudC0+dHlwZSA9PSBYTUxfUkVMQVhOR19PTkVPUk1PUkUpIHx8CisgICAgICAgICAgICAgICAgIChwYXJlbnQtPnR5cGUgPT0gWE1MX1JFTEFYTkdfWkVST09STU9SRSkpKSB7CisgICAgICAgICAgICAgICAgcGFyZW50LT50eXBlID0gWE1MX1JFTEFYTkdfTk9UX0FMTE9XRUQ7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAoKHBhcmVudCAhPSBOVUxMKSAmJiAocGFyZW50LT50eXBlID09IFhNTF9SRUxBWE5HX0NIT0lDRSkpIHsKKyAgICAgICAgICAgICAgICBwcmV2ID0geG1sUmVsYXhOR1RyeVVubGluayhjdHh0LCBjdXIsIHBhcmVudCwgcHJldik7CisgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgICAgICBwcmV2ID0gY3VyOworICAgICAgICB9IGVsc2UgaWYgKGN1ci0+dHlwZSA9PSBYTUxfUkVMQVhOR19FTVBUWSkgeworICAgICAgICAgICAgY3VyLT5wYXJlbnQgPSBwYXJlbnQ7CisgICAgICAgICAgICBpZiAoKHBhcmVudCAhPSBOVUxMKSAmJgorICAgICAgICAgICAgICAgICgocGFyZW50LT50eXBlID09IFhNTF9SRUxBWE5HX09ORU9STU9SRSkgfHwKKyAgICAgICAgICAgICAgICAgKHBhcmVudC0+dHlwZSA9PSBYTUxfUkVMQVhOR19aRVJPT1JNT1JFKSkpIHsKKyAgICAgICAgICAgICAgICBwYXJlbnQtPnR5cGUgPSBYTUxfUkVMQVhOR19FTVBUWTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmICgocGFyZW50ICE9IE5VTEwpICYmCisgICAgICAgICAgICAgICAgKChwYXJlbnQtPnR5cGUgPT0gWE1MX1JFTEFYTkdfR1JPVVApIHx8CisgICAgICAgICAgICAgICAgIChwYXJlbnQtPnR5cGUgPT0gWE1MX1JFTEFYTkdfSU5URVJMRUFWRSkpKSB7CisgICAgICAgICAgICAgICAgcHJldiA9IHhtbFJlbGF4TkdUcnlVbmxpbmsoY3R4dCwgY3VyLCBwYXJlbnQsIHByZXYpOworICAgICAgICAgICAgfSBlbHNlCisgICAgICAgICAgICAgICAgcHJldiA9IGN1cjsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGN1ci0+cGFyZW50ID0gcGFyZW50OworICAgICAgICAgICAgaWYgKGN1ci0+Y29udGVudCAhPSBOVUxMKQorICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdTaW1wbGlmeShjdHh0LCBjdXItPmNvbnRlbnQsIGN1cik7CisgICAgICAgICAgICBpZiAoKGN1ci0+dHlwZSAhPSBYTUxfUkVMQVhOR19WQUxVRSkgJiYgKGN1ci0+YXR0cnMgIT0gTlVMTCkpCisgICAgICAgICAgICAgICAgeG1sUmVsYXhOR1NpbXBsaWZ5KGN0eHQsIGN1ci0+YXR0cnMsIGN1cik7CisgICAgICAgICAgICBpZiAoY3VyLT5uYW1lQ2xhc3MgIT0gTlVMTCkKKyAgICAgICAgICAgICAgICB4bWxSZWxheE5HU2ltcGxpZnkoY3R4dCwgY3VyLT5uYW1lQ2xhc3MsIGN1cik7CisgICAgICAgICAgICAvKgorICAgICAgICAgICAgICogT24gRWxlbWVudHMsIHRyeSB0byBtb3ZlIGF0dHJpYnV0ZSBvbmx5IGdlbmVyYXRpbmcgcnVsZXMgb24KKyAgICAgICAgICAgICAqIHRoZSBhdHRycyBydWxlcy4KKyAgICAgICAgICAgICAqLworICAgICAgICAgICAgaWYgKGN1ci0+dHlwZSA9PSBYTUxfUkVMQVhOR19FTEVNRU5UKSB7CisgICAgICAgICAgICAgICAgaW50IGF0dHJvbmx5OworICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdEZWZpbmVQdHIgdG1wLCBwcmU7CisKKyAgICAgICAgICAgICAgICB3aGlsZSAoY3VyLT5jb250ZW50ICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgYXR0cm9ubHkgPQorICAgICAgICAgICAgICAgICAgICAgICAgeG1sUmVsYXhOR0dlbmVyYXRlQXR0cmlidXRlcyhjdHh0LCBjdXItPmNvbnRlbnQpOworICAgICAgICAgICAgICAgICAgICBpZiAoYXR0cm9ubHkgPT0gMSkgeworICAgICAgICAgICAgICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAgICAgICAgICAgICAqIG1pZ3JhdGUgY3VyLT5jb250ZW50IHRvIGF0dHJzCisgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IGN1ci0+Y29udGVudDsKKyAgICAgICAgICAgICAgICAgICAgICAgIGN1ci0+Y29udGVudCA9IHRtcC0+bmV4dDsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRtcC0+bmV4dCA9IGN1ci0+YXR0cnM7CisgICAgICAgICAgICAgICAgICAgICAgICBjdXItPmF0dHJzID0gdG1wOworICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAgICAgICAgICAgICAqIGN1ci0+Y29udGVudCBjYW4gZ2VuZXJhdGUgZWxlbWVudHMgb3IgdGV4dAorICAgICAgICAgICAgICAgICAgICAgICAgICovCisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBwcmUgPSBjdXItPmNvbnRlbnQ7CisgICAgICAgICAgICAgICAgd2hpbGUgKChwcmUgIT0gTlVMTCkgJiYgKHByZS0+bmV4dCAhPSBOVUxMKSkgeworICAgICAgICAgICAgICAgICAgICB0bXAgPSBwcmUtPm5leHQ7CisgICAgICAgICAgICAgICAgICAgIGF0dHJvbmx5ID0geG1sUmVsYXhOR0dlbmVyYXRlQXR0cmlidXRlcyhjdHh0LCB0bXApOworICAgICAgICAgICAgICAgICAgICBpZiAoYXR0cm9ubHkgPT0gMSkgeworICAgICAgICAgICAgICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAgICAgICAgICAgICAqIG1pZ3JhdGUgdG1wIHRvIGF0dHJzCisgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgIHByZS0+bmV4dCA9IHRtcC0+bmV4dDsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRtcC0+bmV4dCA9IGN1ci0+YXR0cnM7CisgICAgICAgICAgICAgICAgICAgICAgICBjdXItPmF0dHJzID0gdG1wOworICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAgcHJlID0gdG1wOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAqIFRoaXMgbWF5IHJlc3VsdCBpbiBhIHNpbXBsaWZpY2F0aW9uCisgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgIGlmICgoY3VyLT50eXBlID09IFhNTF9SRUxBWE5HX0dST1VQKSB8fAorICAgICAgICAgICAgICAgIChjdXItPnR5cGUgPT0gWE1MX1JFTEFYTkdfSU5URVJMRUFWRSkpIHsKKyAgICAgICAgICAgICAgICBpZiAoY3VyLT5jb250ZW50ID09IE5VTEwpCisgICAgICAgICAgICAgICAgICAgIGN1ci0+dHlwZSA9IFhNTF9SRUxBWE5HX0VNUFRZOworICAgICAgICAgICAgICAgIGVsc2UgaWYgKGN1ci0+Y29udGVudC0+bmV4dCA9PSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgIGlmICgocGFyZW50ID09IE5VTEwpICYmIChwcmV2ID09IE5VTEwpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBjdXItPnR5cGUgPSBYTUxfUkVMQVhOR19OT09QOworICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHByZXYgPT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50LT5jb250ZW50ID0gY3VyLT5jb250ZW50OworICAgICAgICAgICAgICAgICAgICAgICAgY3VyLT5jb250ZW50LT5uZXh0ID0gY3VyLT5uZXh0OworICAgICAgICAgICAgICAgICAgICAgICAgY3VyID0gY3VyLT5jb250ZW50OworICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAgY3VyLT5jb250ZW50LT5uZXh0ID0gY3VyLT5uZXh0OworICAgICAgICAgICAgICAgICAgICAgICAgcHJldi0+bmV4dCA9IGN1ci0+Y29udGVudDsKKyAgICAgICAgICAgICAgICAgICAgICAgIGN1ciA9IGN1ci0+Y29udGVudDsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIC8qCisgICAgICAgICAgICAgKiB0aGUgY3VycmVudCBub2RlIG1heSBoYXZlIGJlZW4gdHJhbnNmb3JtZWQgYmFjaworICAgICAgICAgICAgICovCisgICAgICAgICAgICBpZiAoKGN1ci0+dHlwZSA9PSBYTUxfUkVMQVhOR19FWENFUFQpICYmCisgICAgICAgICAgICAgICAgKGN1ci0+Y29udGVudCAhPSBOVUxMKSAmJgorICAgICAgICAgICAgICAgIChjdXItPmNvbnRlbnQtPnR5cGUgPT0gWE1MX1JFTEFYTkdfTk9UX0FMTE9XRUQpKSB7CisgICAgICAgICAgICAgICAgcHJldiA9IHhtbFJlbGF4TkdUcnlVbmxpbmsoY3R4dCwgY3VyLCBwYXJlbnQsIHByZXYpOworICAgICAgICAgICAgfSBlbHNlIGlmIChjdXItPnR5cGUgPT0gWE1MX1JFTEFYTkdfTk9UX0FMTE9XRUQpIHsKKyAgICAgICAgICAgICAgICBpZiAoKHBhcmVudCAhPSBOVUxMKSAmJgorICAgICAgICAgICAgICAgICAgICAoKHBhcmVudC0+dHlwZSA9PSBYTUxfUkVMQVhOR19BVFRSSUJVVEUpIHx8CisgICAgICAgICAgICAgICAgICAgICAocGFyZW50LT50eXBlID09IFhNTF9SRUxBWE5HX0xJU1QpIHx8CisgICAgICAgICAgICAgICAgICAgICAocGFyZW50LT50eXBlID09IFhNTF9SRUxBWE5HX0dST1VQKSB8fAorICAgICAgICAgICAgICAgICAgICAgKHBhcmVudC0+dHlwZSA9PSBYTUxfUkVMQVhOR19JTlRFUkxFQVZFKSB8fAorICAgICAgICAgICAgICAgICAgICAgKHBhcmVudC0+dHlwZSA9PSBYTUxfUkVMQVhOR19PTkVPUk1PUkUpIHx8CisgICAgICAgICAgICAgICAgICAgICAocGFyZW50LT50eXBlID09IFhNTF9SRUxBWE5HX1pFUk9PUk1PUkUpKSkgeworICAgICAgICAgICAgICAgICAgICBwYXJlbnQtPnR5cGUgPSBYTUxfUkVMQVhOR19OT1RfQUxMT1dFRDsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGlmICgocGFyZW50ICE9IE5VTEwpICYmCisgICAgICAgICAgICAgICAgICAgIChwYXJlbnQtPnR5cGUgPT0gWE1MX1JFTEFYTkdfQ0hPSUNFKSkgeworICAgICAgICAgICAgICAgICAgICBwcmV2ID0geG1sUmVsYXhOR1RyeVVubGluayhjdHh0LCBjdXIsIHBhcmVudCwgcHJldik7CisgICAgICAgICAgICAgICAgfSBlbHNlCisgICAgICAgICAgICAgICAgICAgIHByZXYgPSBjdXI7CisgICAgICAgICAgICB9IGVsc2UgaWYgKGN1ci0+dHlwZSA9PSBYTUxfUkVMQVhOR19FTVBUWSkgeworICAgICAgICAgICAgICAgIGlmICgocGFyZW50ICE9IE5VTEwpICYmCisgICAgICAgICAgICAgICAgICAgICgocGFyZW50LT50eXBlID09IFhNTF9SRUxBWE5HX09ORU9STU9SRSkgfHwKKyAgICAgICAgICAgICAgICAgICAgIChwYXJlbnQtPnR5cGUgPT0gWE1MX1JFTEFYTkdfWkVST09STU9SRSkpKSB7CisgICAgICAgICAgICAgICAgICAgIHBhcmVudC0+dHlwZSA9IFhNTF9SRUxBWE5HX0VNUFRZOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgaWYgKChwYXJlbnQgIT0gTlVMTCkgJiYKKyAgICAgICAgICAgICAgICAgICAgKChwYXJlbnQtPnR5cGUgPT0gWE1MX1JFTEFYTkdfR1JPVVApIHx8CisgICAgICAgICAgICAgICAgICAgICAocGFyZW50LT50eXBlID09IFhNTF9SRUxBWE5HX0lOVEVSTEVBVkUpIHx8CisgICAgICAgICAgICAgICAgICAgICAocGFyZW50LT50eXBlID09IFhNTF9SRUxBWE5HX0NIT0lDRSkpKSB7CisgICAgICAgICAgICAgICAgICAgIHByZXYgPSB4bWxSZWxheE5HVHJ5VW5saW5rKGN0eHQsIGN1ciwgcGFyZW50LCBwcmV2KTsKKyAgICAgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgICAgICAgICAgcHJldiA9IGN1cjsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgcHJldiA9IGN1cjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBjdXIgPSBjdXItPm5leHQ7CisgICAgfQorfQorCisvKioKKyAqIHhtbFJlbGF4TkdHcm91cENvbnRlbnRUeXBlOgorICogQGN0MTogIHRoZSBmaXJzdCBjb250ZW50IHR5cGUKKyAqIEBjdDI6ICB0aGUgc2Vjb25kIGNvbnRlbnQgdHlwZQorICoKKyAqIFRyeSB0byBncm91cCAyIGNvbnRlbnQgdHlwZXMKKyAqCisgKiBSZXR1cm5zIHRoZSBjb250ZW50IHR5cGUKKyAqLworc3RhdGljIHhtbFJlbGF4TkdDb250ZW50VHlwZQoreG1sUmVsYXhOR0dyb3VwQ29udGVudFR5cGUoeG1sUmVsYXhOR0NvbnRlbnRUeXBlIGN0MSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdDb250ZW50VHlwZSBjdDIpCit7CisgICAgaWYgKChjdDEgPT0gWE1MX1JFTEFYTkdfQ09OVEVOVF9FUlJPUikgfHwKKyAgICAgICAgKGN0MiA9PSBYTUxfUkVMQVhOR19DT05URU5UX0VSUk9SKSkKKyAgICAgICAgcmV0dXJuIChYTUxfUkVMQVhOR19DT05URU5UX0VSUk9SKTsKKyAgICBpZiAoY3QxID09IFhNTF9SRUxBWE5HX0NPTlRFTlRfRU1QVFkpCisgICAgICAgIHJldHVybiAoY3QyKTsKKyAgICBpZiAoY3QyID09IFhNTF9SRUxBWE5HX0NPTlRFTlRfRU1QVFkpCisgICAgICAgIHJldHVybiAoY3QxKTsKKyAgICBpZiAoKGN0MSA9PSBYTUxfUkVMQVhOR19DT05URU5UX0NPTVBMRVgpICYmCisgICAgICAgIChjdDIgPT0gWE1MX1JFTEFYTkdfQ09OVEVOVF9DT01QTEVYKSkKKyAgICAgICAgcmV0dXJuIChYTUxfUkVMQVhOR19DT05URU5UX0NPTVBMRVgpOworICAgIHJldHVybiAoWE1MX1JFTEFYTkdfQ09OVEVOVF9FUlJPUik7Cit9CisKKy8qKgorICogeG1sUmVsYXhOR01heENvbnRlbnRUeXBlOgorICogQGN0MTogIHRoZSBmaXJzdCBjb250ZW50IHR5cGUKKyAqIEBjdDI6ICB0aGUgc2Vjb25kIGNvbnRlbnQgdHlwZQorICoKKyAqIENvbXB1dGUgdGhlIG1heCBjb250ZW50LXR5cGUKKyAqCisgKiBSZXR1cm5zIHRoZSBjb250ZW50IHR5cGUKKyAqLworc3RhdGljIHhtbFJlbGF4TkdDb250ZW50VHlwZQoreG1sUmVsYXhOR01heENvbnRlbnRUeXBlKHhtbFJlbGF4TkdDb250ZW50VHlwZSBjdDEsCisgICAgICAgICAgICAgICAgICAgICAgICAgeG1sUmVsYXhOR0NvbnRlbnRUeXBlIGN0MikKK3sKKyAgICBpZiAoKGN0MSA9PSBYTUxfUkVMQVhOR19DT05URU5UX0VSUk9SKSB8fAorICAgICAgICAoY3QyID09IFhNTF9SRUxBWE5HX0NPTlRFTlRfRVJST1IpKQorICAgICAgICByZXR1cm4gKFhNTF9SRUxBWE5HX0NPTlRFTlRfRVJST1IpOworICAgIGlmICgoY3QxID09IFhNTF9SRUxBWE5HX0NPTlRFTlRfU0lNUExFKSB8fAorICAgICAgICAoY3QyID09IFhNTF9SRUxBWE5HX0NPTlRFTlRfU0lNUExFKSkKKyAgICAgICAgcmV0dXJuIChYTUxfUkVMQVhOR19DT05URU5UX1NJTVBMRSk7CisgICAgaWYgKChjdDEgPT0gWE1MX1JFTEFYTkdfQ09OVEVOVF9DT01QTEVYKSB8fAorICAgICAgICAoY3QyID09IFhNTF9SRUxBWE5HX0NPTlRFTlRfQ09NUExFWCkpCisgICAgICAgIHJldHVybiAoWE1MX1JFTEFYTkdfQ09OVEVOVF9DT01QTEVYKTsKKyAgICByZXR1cm4gKFhNTF9SRUxBWE5HX0NPTlRFTlRfRU1QVFkpOworfQorCisvKioKKyAqIHhtbFJlbGF4TkdDaGVja1J1bGVzOgorICogQGN0eHQ6ICBhIFJlbGF4LU5HIHBhcnNlciBjb250ZXh0CisgKiBAY3VyOiAgdGhlIGN1cnJlbnQgZGVmaW5pdGlvbgorICogQGZsYWdzOiAgc29tZSBhY2N1bXVsYXRlZCBmbGFncworICogQHB0eXBlOiAgdGhlIHBhcmVudCB0eXBlCisgKgorICogQ2hlY2sgZm9yIHJ1bGVzIGluIHNlY3Rpb24gNy4xIGFuZCA3LjIKKyAqCisgKiBSZXR1cm5zIHRoZSBjb250ZW50IHR5cGUgb2YgQGN1cgorICovCitzdGF0aWMgeG1sUmVsYXhOR0NvbnRlbnRUeXBlCit4bWxSZWxheE5HQ2hlY2tSdWxlcyh4bWxSZWxheE5HUGFyc2VyQ3R4dFB0ciBjdHh0LAorICAgICAgICAgICAgICAgICAgICAgeG1sUmVsYXhOR0RlZmluZVB0ciBjdXIsIGludCBmbGFncywKKyAgICAgICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdUeXBlIHB0eXBlKQoreworICAgIGludCBuZmxhZ3M7CisgICAgeG1sUmVsYXhOR0NvbnRlbnRUeXBlIHJldCwgdG1wLCB2YWwgPSBYTUxfUkVMQVhOR19DT05URU5UX0VNUFRZOworCisgICAgd2hpbGUgKGN1ciAhPSBOVUxMKSB7CisgICAgICAgIHJldCA9IFhNTF9SRUxBWE5HX0NPTlRFTlRfRU1QVFk7CisgICAgICAgIGlmICgoY3VyLT50eXBlID09IFhNTF9SRUxBWE5HX1JFRikgfHwKKyAgICAgICAgICAgIChjdXItPnR5cGUgPT0gWE1MX1JFTEFYTkdfUEFSRU5UUkVGKSkgeworICAgICAgICAgICAvKgorICAgICAgICAgICAgKiBUaGlzIHNob3VsZCBhY3R1YWxseSBiZSBjYXVnaHQgYnkgbGlzdC8vZWxlbWVudChyZWYpIGF0IHRoZQorICAgICAgICAgICAgKiBlbGVtZW50IGJvdW5kYXJpZXMsIGMuZi4gQnVnICMxNTk5NjggbG9jYWwgcmVmcyBhcmUgZHJvcHBlZAorICAgICAgICAgICAgKiBpbiBzdGVwIDQuMTkuCisgICAgICAgICAgICAqLworI2lmIDAKKyAgICAgICAgICAgIGlmIChmbGFncyAmIFhNTF9SRUxBWE5HX0lOX0xJU1QpIHsKKyAgICAgICAgICAgICAgICB4bWxSbmdQRXJyKGN0eHQsIGN1ci0+bm9kZSwgWE1MX1JOR1BfUEFUX0xJU1RfUkVGLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIkZvdW5kIGZvcmJpZGRlbiBwYXR0ZXJuIGxpc3QvL3JlZlxuIiwgTlVMTCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOworICAgICAgICAgICAgfQorI2VuZGlmCisgICAgICAgICAgICBpZiAoZmxhZ3MgJiBYTUxfUkVMQVhOR19JTl9EQVRBRVhDRVBUKSB7CisgICAgICAgICAgICAgICAgeG1sUm5nUEVycihjdHh0LCBjdXItPm5vZGUsIFhNTF9STkdQX1BBVF9EQVRBX0VYQ0VQVF9SRUYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAiRm91bmQgZm9yYmlkZGVuIHBhdHRlcm4gZGF0YS9leGNlcHQvL3JlZlxuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIE5VTEwpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKGN1ci0+Y29udGVudCA9PSBOVUxMKSB7CisgICAgICAgICAgICAgICAgaWYgKGN1ci0+dHlwZSA9PSBYTUxfUkVMQVhOR19QQVJFTlRSRUYpCisgICAgICAgICAgICAgICAgICAgIHhtbFJuZ1BFcnIoY3R4dCwgY3VyLT5ub2RlLCBYTUxfUk5HUF9SRUZfTk9fREVGLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJJbnRlcm5hbCBmb3VuZCBubyBkZWZpbmUgZm9yIHBhcmVudCByZWZzXG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIE5VTEwpOworICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgeG1sUm5nUEVycihjdHh0LCBjdXItPm5vZGUsIFhNTF9STkdQX1JFRl9OT19ERUYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkludGVybmFsIGZvdW5kIG5vIGRlZmluZSBmb3IgcmVmICVzXG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjdXItPm5hbWUgPyBjdXItPm5hbWU6IEJBRF9DQVNUICJudWxsIiksIE5VTEwpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKGN1ci0+ZGVwdGggPiAtNCkgeworICAgICAgICAgICAgICAgIGN1ci0+ZGVwdGggPSAtNDsKKyAgICAgICAgICAgICAgICByZXQgPSB4bWxSZWxheE5HQ2hlY2tSdWxlcyhjdHh0LCBjdXItPmNvbnRlbnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxhZ3MsIGN1ci0+dHlwZSk7CisgICAgICAgICAgICAgICAgY3VyLT5kZXB0aCA9IHJldCAtIDE1OworICAgICAgICAgICAgfSBlbHNlIGlmIChjdXItPmRlcHRoID09IC00KSB7CisgICAgICAgICAgICAgICAgcmV0ID0gWE1MX1JFTEFYTkdfQ09OVEVOVF9DT01QTEVYOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICByZXQgPSAoeG1sUmVsYXhOR0NvbnRlbnRUeXBlKSAoY3VyLT5kZXB0aCArIDE1KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIGlmIChjdXItPnR5cGUgPT0gWE1MX1JFTEFYTkdfRUxFTUVOVCkgeworICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAqIFRoZSA3LjMgQXR0cmlidXRlIGRlcml2YXRpb24gcnVsZSBmb3IgZ3JvdXBzIGlzIHBsdWdnZWQgdGhlcmUKKyAgICAgICAgICAgICAqLworICAgICAgICAgICAgeG1sUmVsYXhOR0NoZWNrR3JvdXBBdHRycyhjdHh0LCBjdXIpOworICAgICAgICAgICAgaWYgKGZsYWdzICYgWE1MX1JFTEFYTkdfSU5fREFUQUVYQ0VQVCkgeworICAgICAgICAgICAgICAgIHhtbFJuZ1BFcnIoY3R4dCwgY3VyLT5ub2RlLCBYTUxfUk5HUF9QQVRfREFUQV9FWENFUFRfRUxFTSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJGb3VuZCBmb3JiaWRkZW4gcGF0dGVybiBkYXRhL2V4Y2VwdC8vZWxlbWVudChyZWYpXG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgTlVMTCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAoZmxhZ3MgJiBYTUxfUkVMQVhOR19JTl9MSVNUKSB7CisgICAgICAgICAgICAgICAgeG1sUm5nUEVycihjdHh0LCBjdXItPm5vZGUsIFhNTF9STkdQX1BBVF9MSVNUX0VMRU0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAiRm91bmQgZm9yYmlkZGVuIHBhdHRlcm4gbGlzdC8vZWxlbWVudChyZWYpXG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgTlVMTCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAoZmxhZ3MgJiBYTUxfUkVMQVhOR19JTl9BVFRSSUJVVEUpIHsKKyAgICAgICAgICAgICAgICB4bWxSbmdQRXJyKGN0eHQsIGN1ci0+bm9kZSwgWE1MX1JOR1BfUEFUX0FUVFJfRUxFTSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJGb3VuZCBmb3JiaWRkZW4gcGF0dGVybiBhdHRyaWJ1dGUvL2VsZW1lbnQocmVmKVxuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIE5VTEwpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKGZsYWdzICYgWE1MX1JFTEFYTkdfSU5fQVRUUklCVVRFKSB7CisgICAgICAgICAgICAgICAgeG1sUm5nUEVycihjdHh0LCBjdXItPm5vZGUsIFhNTF9STkdQX1BBVF9BVFRSX0VMRU0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAiRm91bmQgZm9yYmlkZGVuIHBhdHRlcm4gYXR0cmlidXRlLy9lbGVtZW50KHJlZilcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCBOVUxMKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIC8qCisgICAgICAgICAgICAgKiByZXNldCBzaW5jZSBpbiB0aGUgc2ltcGxlIGZvcm0gZWxlbWVudHMgYXJlIG9ubHkgY2hpbGQKKyAgICAgICAgICAgICAqIG9mIGdyYW1tYXIvZGVmaW5lCisgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgIG5mbGFncyA9IDA7CisgICAgICAgICAgICByZXQgPQorICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdDaGVja1J1bGVzKGN0eHQsIGN1ci0+YXR0cnMsIG5mbGFncywgY3VyLT50eXBlKTsKKyAgICAgICAgICAgIGlmIChyZXQgIT0gWE1MX1JFTEFYTkdfQ09OVEVOVF9FTVBUWSkgeworICAgICAgICAgICAgICAgIHhtbFJuZ1BFcnIoY3R4dCwgY3VyLT5ub2RlLCBYTUxfUk5HUF9FTEVNX0NPTlRFTlRfRU1QVFksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAiRWxlbWVudCAlcyBhdHRyaWJ1dGVzIGhhdmUgYSBjb250ZW50IHR5cGUgZXJyb3JcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXItPm5hbWUsIE5VTEwpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgcmV0ID0KKyAgICAgICAgICAgICAgICB4bWxSZWxheE5HQ2hlY2tSdWxlcyhjdHh0LCBjdXItPmNvbnRlbnQsIG5mbGFncywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXItPnR5cGUpOworICAgICAgICAgICAgaWYgKHJldCA9PSBYTUxfUkVMQVhOR19DT05URU5UX0VSUk9SKSB7CisgICAgICAgICAgICAgICAgeG1sUm5nUEVycihjdHh0LCBjdXItPm5vZGUsIFhNTF9STkdQX0VMRU1fQ09OVEVOVF9FUlJPUiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJFbGVtZW50ICVzIGhhcyBhIGNvbnRlbnQgdHlwZSBlcnJvclxuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1ci0+bmFtZSwgTlVMTCk7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIHJldCA9IFhNTF9SRUxBWE5HX0NPTlRFTlRfQ09NUExFWDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIGlmIChjdXItPnR5cGUgPT0gWE1MX1JFTEFYTkdfQVRUUklCVVRFKSB7CisgICAgICAgICAgICBpZiAoZmxhZ3MgJiBYTUxfUkVMQVhOR19JTl9BVFRSSUJVVEUpIHsKKyAgICAgICAgICAgICAgICB4bWxSbmdQRXJyKGN0eHQsIGN1ci0+bm9kZSwgWE1MX1JOR1BfUEFUX0FUVFJfQVRUUiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJGb3VuZCBmb3JiaWRkZW4gcGF0dGVybiBhdHRyaWJ1dGUvL2F0dHJpYnV0ZVxuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIE5VTEwpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKGZsYWdzICYgWE1MX1JFTEFYTkdfSU5fTElTVCkgeworICAgICAgICAgICAgICAgIHhtbFJuZ1BFcnIoY3R4dCwgY3VyLT5ub2RlLCBYTUxfUk5HUF9QQVRfTElTVF9BVFRSLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIkZvdW5kIGZvcmJpZGRlbiBwYXR0ZXJuIGxpc3QvL2F0dHJpYnV0ZVxuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIE5VTEwpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKGZsYWdzICYgWE1MX1JFTEFYTkdfSU5fT09NR1JPVVApIHsKKyAgICAgICAgICAgICAgICB4bWxSbmdQRXJyKGN0eHQsIGN1ci0+bm9kZSwgWE1MX1JOR1BfUEFUX09ORU1PUkVfR1JPVVBfQVRUUiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJGb3VuZCBmb3JiaWRkZW4gcGF0dGVybiBvbmVPck1vcmUvL2dyb3VwLy9hdHRyaWJ1dGVcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCBOVUxMKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChmbGFncyAmIFhNTF9SRUxBWE5HX0lOX09PTUlOVEVSTEVBVkUpIHsKKyAgICAgICAgICAgICAgICB4bWxSbmdQRXJyKGN0eHQsIGN1ci0+bm9kZSwgWE1MX1JOR1BfUEFUX09ORU1PUkVfSU5URVJMRUFWRV9BVFRSLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIkZvdW5kIGZvcmJpZGRlbiBwYXR0ZXJuIG9uZU9yTW9yZS8vaW50ZXJsZWF2ZS8vYXR0cmlidXRlXG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgTlVMTCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAoZmxhZ3MgJiBYTUxfUkVMQVhOR19JTl9EQVRBRVhDRVBUKSB7CisgICAgICAgICAgICAgICAgeG1sUm5nUEVycihjdHh0LCBjdXItPm5vZGUsIFhNTF9STkdQX1BBVF9EQVRBX0VYQ0VQVF9BVFRSLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIkZvdW5kIGZvcmJpZGRlbiBwYXR0ZXJuIGRhdGEvZXhjZXB0Ly9hdHRyaWJ1dGVcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCBOVUxMKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChmbGFncyAmIFhNTF9SRUxBWE5HX0lOX1NUQVJUKSB7CisgICAgICAgICAgICAgICAgeG1sUm5nUEVycihjdHh0LCBjdXItPm5vZGUsIFhNTF9STkdQX1BBVF9TVEFSVF9BVFRSLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIkZvdW5kIGZvcmJpZGRlbiBwYXR0ZXJuIHN0YXJ0Ly9hdHRyaWJ1dGVcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCBOVUxMKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmICgoIShmbGFncyAmIFhNTF9SRUxBWE5HX0lOX09ORU9STU9SRSkpCisgICAgICAgICAgICAgICAgJiYgKGN1ci0+bmFtZSA9PSBOVUxMKSkgeworICAgICAgICAgICAgICAgIGlmIChjdXItPm5zID09IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgeG1sUm5nUEVycihjdHh0LCBjdXItPm5vZGUsIFhNTF9STkdQX0FOWU5BTUVfQVRUUl9BTkNFU1RPUiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRm91bmQgYW55TmFtZSBhdHRyaWJ1dGUgd2l0aG91dCBvbmVPck1vcmUgYW5jZXN0b3JcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgTlVMTCk7CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgeG1sUm5nUEVycihjdHh0LCBjdXItPm5vZGUsIFhNTF9STkdQX05TTkFNRV9BVFRSX0FOQ0VTVE9SLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJGb3VuZCBuc05hbWUgYXR0cmlidXRlIHdpdGhvdXQgb25lT3JNb3JlIGFuY2VzdG9yXG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIE5VTEwpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIG5mbGFncyA9IGZsYWdzIHwgWE1MX1JFTEFYTkdfSU5fQVRUUklCVVRFOworICAgICAgICAgICAgeG1sUmVsYXhOR0NoZWNrUnVsZXMoY3R4dCwgY3VyLT5jb250ZW50LCBuZmxhZ3MsIGN1ci0+dHlwZSk7CisgICAgICAgICAgICByZXQgPSBYTUxfUkVMQVhOR19DT05URU5UX0VNUFRZOworICAgICAgICB9IGVsc2UgaWYgKChjdXItPnR5cGUgPT0gWE1MX1JFTEFYTkdfT05FT1JNT1JFKSB8fAorICAgICAgICAgICAgICAgICAgIChjdXItPnR5cGUgPT0gWE1MX1JFTEFYTkdfWkVST09STU9SRSkpIHsKKyAgICAgICAgICAgIGlmIChmbGFncyAmIFhNTF9SRUxBWE5HX0lOX0RBVEFFWENFUFQpIHsKKyAgICAgICAgICAgICAgICB4bWxSbmdQRXJyKGN0eHQsIGN1ci0+bm9kZSwgWE1MX1JOR1BfUEFUX0RBVEFfRVhDRVBUX09ORU1PUkUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAiRm91bmQgZm9yYmlkZGVuIHBhdHRlcm4gZGF0YS9leGNlcHQvL29uZU9yTW9yZVxuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIE5VTEwpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKGZsYWdzICYgWE1MX1JFTEFYTkdfSU5fU1RBUlQpIHsKKyAgICAgICAgICAgICAgICB4bWxSbmdQRXJyKGN0eHQsIGN1ci0+bm9kZSwgWE1MX1JOR1BfUEFUX1NUQVJUX09ORU1PUkUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAiRm91bmQgZm9yYmlkZGVuIHBhdHRlcm4gc3RhcnQvL29uZU9yTW9yZVxuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIE5VTEwpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgbmZsYWdzID0gZmxhZ3MgfCBYTUxfUkVMQVhOR19JTl9PTkVPUk1PUkU7CisgICAgICAgICAgICByZXQgPQorICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdDaGVja1J1bGVzKGN0eHQsIGN1ci0+Y29udGVudCwgbmZsYWdzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1ci0+dHlwZSk7CisgICAgICAgICAgICByZXQgPSB4bWxSZWxheE5HR3JvdXBDb250ZW50VHlwZShyZXQsIHJldCk7CisgICAgICAgIH0gZWxzZSBpZiAoY3VyLT50eXBlID09IFhNTF9SRUxBWE5HX0xJU1QpIHsKKyAgICAgICAgICAgIGlmIChmbGFncyAmIFhNTF9SRUxBWE5HX0lOX0xJU1QpIHsKKyAgICAgICAgICAgICAgICB4bWxSbmdQRXJyKGN0eHQsIGN1ci0+bm9kZSwgWE1MX1JOR1BfUEFUX0xJU1RfTElTVCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJGb3VuZCBmb3JiaWRkZW4gcGF0dGVybiBsaXN0Ly9saXN0XG4iLCBOVUxMLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAoZmxhZ3MgJiBYTUxfUkVMQVhOR19JTl9EQVRBRVhDRVBUKSB7CisgICAgICAgICAgICAgICAgeG1sUm5nUEVycihjdHh0LCBjdXItPm5vZGUsIFhNTF9STkdQX1BBVF9EQVRBX0VYQ0VQVF9MSVNULAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIkZvdW5kIGZvcmJpZGRlbiBwYXR0ZXJuIGRhdGEvZXhjZXB0Ly9saXN0XG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgTlVMTCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAoZmxhZ3MgJiBYTUxfUkVMQVhOR19JTl9TVEFSVCkgeworICAgICAgICAgICAgICAgIHhtbFJuZ1BFcnIoY3R4dCwgY3VyLT5ub2RlLCBYTUxfUk5HUF9QQVRfU1RBUlRfTElTVCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJGb3VuZCBmb3JiaWRkZW4gcGF0dGVybiBzdGFydC8vbGlzdFxuIiwgTlVMTCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgbmZsYWdzID0gZmxhZ3MgfCBYTUxfUkVMQVhOR19JTl9MSVNUOworICAgICAgICAgICAgcmV0ID0KKyAgICAgICAgICAgICAgICB4bWxSZWxheE5HQ2hlY2tSdWxlcyhjdHh0LCBjdXItPmNvbnRlbnQsIG5mbGFncywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXItPnR5cGUpOworICAgICAgICB9IGVsc2UgaWYgKGN1ci0+dHlwZSA9PSBYTUxfUkVMQVhOR19HUk9VUCkgeworICAgICAgICAgICAgaWYgKGZsYWdzICYgWE1MX1JFTEFYTkdfSU5fREFUQUVYQ0VQVCkgeworICAgICAgICAgICAgICAgIHhtbFJuZ1BFcnIoY3R4dCwgY3VyLT5ub2RlLCBYTUxfUk5HUF9QQVRfREFUQV9FWENFUFRfR1JPVVAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAiRm91bmQgZm9yYmlkZGVuIHBhdHRlcm4gZGF0YS9leGNlcHQvL2dyb3VwXG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgTlVMTCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAoZmxhZ3MgJiBYTUxfUkVMQVhOR19JTl9TVEFSVCkgeworICAgICAgICAgICAgICAgIHhtbFJuZ1BFcnIoY3R4dCwgY3VyLT5ub2RlLCBYTUxfUk5HUF9QQVRfU1RBUlRfR1JPVVAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAiRm91bmQgZm9yYmlkZGVuIHBhdHRlcm4gc3RhcnQvL2dyb3VwXG4iLCBOVUxMLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAoZmxhZ3MgJiBYTUxfUkVMQVhOR19JTl9PTkVPUk1PUkUpCisgICAgICAgICAgICAgICAgbmZsYWdzID0gZmxhZ3MgfCBYTUxfUkVMQVhOR19JTl9PT01HUk9VUDsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBuZmxhZ3MgPSBmbGFnczsKKyAgICAgICAgICAgIHJldCA9CisgICAgICAgICAgICAgICAgeG1sUmVsYXhOR0NoZWNrUnVsZXMoY3R4dCwgY3VyLT5jb250ZW50LCBuZmxhZ3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VyLT50eXBlKTsKKyAgICAgICAgICAgIC8qCisgICAgICAgICAgICAgKiBUaGUgNy4zIEF0dHJpYnV0ZSBkZXJpdmF0aW9uIHJ1bGUgZm9yIGdyb3VwcyBpcyBwbHVnZ2VkIHRoZXJlCisgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgIHhtbFJlbGF4TkdDaGVja0dyb3VwQXR0cnMoY3R4dCwgY3VyKTsKKyAgICAgICAgfSBlbHNlIGlmIChjdXItPnR5cGUgPT0gWE1MX1JFTEFYTkdfSU5URVJMRUFWRSkgeworICAgICAgICAgICAgaWYgKGZsYWdzICYgWE1MX1JFTEFYTkdfSU5fTElTVCkgeworICAgICAgICAgICAgICAgIHhtbFJuZ1BFcnIoY3R4dCwgY3VyLT5ub2RlLCBYTUxfUk5HUF9QQVRfTElTVF9JTlRFUkxFQVZFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIkZvdW5kIGZvcmJpZGRlbiBwYXR0ZXJuIGxpc3QvL2ludGVybGVhdmVcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCBOVUxMKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChmbGFncyAmIFhNTF9SRUxBWE5HX0lOX0RBVEFFWENFUFQpIHsKKyAgICAgICAgICAgICAgICB4bWxSbmdQRXJyKGN0eHQsIGN1ci0+bm9kZSwgWE1MX1JOR1BfUEFUX0RBVEFfRVhDRVBUX0lOVEVSTEVBVkUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAiRm91bmQgZm9yYmlkZGVuIHBhdHRlcm4gZGF0YS9leGNlcHQvL2ludGVybGVhdmVcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCBOVUxMKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChmbGFncyAmIFhNTF9SRUxBWE5HX0lOX1NUQVJUKSB7CisgICAgICAgICAgICAgICAgeG1sUm5nUEVycihjdHh0LCBjdXItPm5vZGUsIFhNTF9STkdQX1BBVF9EQVRBX0VYQ0VQVF9JTlRFUkxFQVZFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIkZvdW5kIGZvcmJpZGRlbiBwYXR0ZXJuIHN0YXJ0Ly9pbnRlcmxlYXZlXG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgTlVMTCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAoZmxhZ3MgJiBYTUxfUkVMQVhOR19JTl9PTkVPUk1PUkUpCisgICAgICAgICAgICAgICAgbmZsYWdzID0gZmxhZ3MgfCBYTUxfUkVMQVhOR19JTl9PT01JTlRFUkxFQVZFOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIG5mbGFncyA9IGZsYWdzOworICAgICAgICAgICAgcmV0ID0KKyAgICAgICAgICAgICAgICB4bWxSZWxheE5HQ2hlY2tSdWxlcyhjdHh0LCBjdXItPmNvbnRlbnQsIG5mbGFncywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXItPnR5cGUpOworICAgICAgICB9IGVsc2UgaWYgKGN1ci0+dHlwZSA9PSBYTUxfUkVMQVhOR19FWENFUFQpIHsKKyAgICAgICAgICAgIGlmICgoY3VyLT5wYXJlbnQgIT0gTlVMTCkgJiYKKyAgICAgICAgICAgICAgICAoY3VyLT5wYXJlbnQtPnR5cGUgPT0gWE1MX1JFTEFYTkdfREFUQVRZUEUpKQorICAgICAgICAgICAgICAgIG5mbGFncyA9IGZsYWdzIHwgWE1MX1JFTEFYTkdfSU5fREFUQUVYQ0VQVDsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBuZmxhZ3MgPSBmbGFnczsKKyAgICAgICAgICAgIHJldCA9CisgICAgICAgICAgICAgICAgeG1sUmVsYXhOR0NoZWNrUnVsZXMoY3R4dCwgY3VyLT5jb250ZW50LCBuZmxhZ3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VyLT50eXBlKTsKKyAgICAgICAgfSBlbHNlIGlmIChjdXItPnR5cGUgPT0gWE1MX1JFTEFYTkdfREFUQVRZUEUpIHsKKyAgICAgICAgICAgIGlmIChmbGFncyAmIFhNTF9SRUxBWE5HX0lOX1NUQVJUKSB7CisgICAgICAgICAgICAgICAgeG1sUm5nUEVycihjdHh0LCBjdXItPm5vZGUsIFhNTF9STkdQX1BBVF9TVEFSVF9EQVRBLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIkZvdW5kIGZvcmJpZGRlbiBwYXR0ZXJuIHN0YXJ0Ly9kYXRhXG4iLCBOVUxMLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICB4bWxSZWxheE5HQ2hlY2tSdWxlcyhjdHh0LCBjdXItPmNvbnRlbnQsIGZsYWdzLCBjdXItPnR5cGUpOworICAgICAgICAgICAgcmV0ID0gWE1MX1JFTEFYTkdfQ09OVEVOVF9TSU1QTEU7CisgICAgICAgIH0gZWxzZSBpZiAoY3VyLT50eXBlID09IFhNTF9SRUxBWE5HX1ZBTFVFKSB7CisgICAgICAgICAgICBpZiAoZmxhZ3MgJiBYTUxfUkVMQVhOR19JTl9TVEFSVCkgeworICAgICAgICAgICAgICAgIHhtbFJuZ1BFcnIoY3R4dCwgY3VyLT5ub2RlLCBYTUxfUk5HUF9QQVRfU1RBUlRfVkFMVUUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAiRm91bmQgZm9yYmlkZGVuIHBhdHRlcm4gc3RhcnQvL3ZhbHVlXG4iLCBOVUxMLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICB4bWxSZWxheE5HQ2hlY2tSdWxlcyhjdHh0LCBjdXItPmNvbnRlbnQsIGZsYWdzLCBjdXItPnR5cGUpOworICAgICAgICAgICAgcmV0ID0gWE1MX1JFTEFYTkdfQ09OVEVOVF9TSU1QTEU7CisgICAgICAgIH0gZWxzZSBpZiAoY3VyLT50eXBlID09IFhNTF9SRUxBWE5HX1RFWFQpIHsKKyAgICAgICAgICAgIGlmIChmbGFncyAmIFhNTF9SRUxBWE5HX0lOX0xJU1QpIHsKKyAgICAgICAgICAgICAgICB4bWxSbmdQRXJyKGN0eHQsIGN1ci0+bm9kZSwgWE1MX1JOR1BfUEFUX0xJU1RfVEVYVCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJGb3VuZCBmb3JiaWRkZW4gcGF0dGVybiBsaXN0Ly90ZXh0XG4iLCBOVUxMLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAoZmxhZ3MgJiBYTUxfUkVMQVhOR19JTl9EQVRBRVhDRVBUKSB7CisgICAgICAgICAgICAgICAgeG1sUm5nUEVycihjdHh0LCBjdXItPm5vZGUsIFhNTF9STkdQX1BBVF9EQVRBX0VYQ0VQVF9URVhULAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIkZvdW5kIGZvcmJpZGRlbiBwYXR0ZXJuIGRhdGEvZXhjZXB0Ly90ZXh0XG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgTlVMTCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAoZmxhZ3MgJiBYTUxfUkVMQVhOR19JTl9TVEFSVCkgeworICAgICAgICAgICAgICAgIHhtbFJuZ1BFcnIoY3R4dCwgY3VyLT5ub2RlLCBYTUxfUk5HUF9QQVRfU1RBUlRfVEVYVCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJGb3VuZCBmb3JiaWRkZW4gcGF0dGVybiBzdGFydC8vdGV4dFxuIiwgTlVMTCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgcmV0ID0gWE1MX1JFTEFYTkdfQ09OVEVOVF9DT01QTEVYOworICAgICAgICB9IGVsc2UgaWYgKGN1ci0+dHlwZSA9PSBYTUxfUkVMQVhOR19FTVBUWSkgeworICAgICAgICAgICAgaWYgKGZsYWdzICYgWE1MX1JFTEFYTkdfSU5fREFUQUVYQ0VQVCkgeworICAgICAgICAgICAgICAgIHhtbFJuZ1BFcnIoY3R4dCwgY3VyLT5ub2RlLCBYTUxfUk5HUF9QQVRfREFUQV9FWENFUFRfRU1QVFksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAiRm91bmQgZm9yYmlkZGVuIHBhdHRlcm4gZGF0YS9leGNlcHQvL2VtcHR5XG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgTlVMTCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAoZmxhZ3MgJiBYTUxfUkVMQVhOR19JTl9TVEFSVCkgeworICAgICAgICAgICAgICAgIHhtbFJuZ1BFcnIoY3R4dCwgY3VyLT5ub2RlLCBYTUxfUk5HUF9QQVRfU1RBUlRfRU1QVFksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAiRm91bmQgZm9yYmlkZGVuIHBhdHRlcm4gc3RhcnQvL2VtcHR5XG4iLCBOVUxMLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICByZXQgPSBYTUxfUkVMQVhOR19DT05URU5UX0VNUFRZOworICAgICAgICB9IGVsc2UgaWYgKGN1ci0+dHlwZSA9PSBYTUxfUkVMQVhOR19DSE9JQ0UpIHsKKyAgICAgICAgICAgIHhtbFJlbGF4TkdDaGVja0Nob2ljZURldGVybWluaXNtKGN0eHQsIGN1cik7CisgICAgICAgICAgICByZXQgPQorICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdDaGVja1J1bGVzKGN0eHQsIGN1ci0+Y29udGVudCwgZmxhZ3MsIGN1ci0+dHlwZSk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICByZXQgPQorICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdDaGVja1J1bGVzKGN0eHQsIGN1ci0+Y29udGVudCwgZmxhZ3MsIGN1ci0+dHlwZSk7CisgICAgICAgIH0KKyAgICAgICAgY3VyID0gY3VyLT5uZXh0OworICAgICAgICBpZiAocHR5cGUgPT0gWE1MX1JFTEFYTkdfR1JPVVApIHsKKyAgICAgICAgICAgIHZhbCA9IHhtbFJlbGF4TkdHcm91cENvbnRlbnRUeXBlKHZhbCwgcmV0KTsKKyAgICAgICAgfSBlbHNlIGlmIChwdHlwZSA9PSBYTUxfUkVMQVhOR19JTlRFUkxFQVZFKSB7CisgICAgICAgICAgICAvKgorICAgICAgICAgICAgICogVE9ETzogc2NhbiBjb21wbGFpbiB0aGF0IHRtcCBpcyBuZXZlciB1c2VkLCBzZWVtcyBvbiBwdXJwb3NlCisgICAgICAgICAgICAgKiAgICAgICBuZWVkIGRvdWJsZS1jaGVja2luZworICAgICAgICAgICAgICovCisgICAgICAgICAgICB0bXAgPSB4bWxSZWxheE5HR3JvdXBDb250ZW50VHlwZSh2YWwsIHJldCk7CisgICAgICAgICAgICBpZiAodG1wICE9IFhNTF9SRUxBWE5HX0NPTlRFTlRfRVJST1IpCisgICAgICAgICAgICAgICAgdG1wID0geG1sUmVsYXhOR01heENvbnRlbnRUeXBlKHZhbCwgcmV0KTsKKyAgICAgICAgfSBlbHNlIGlmIChwdHlwZSA9PSBYTUxfUkVMQVhOR19DSE9JQ0UpIHsKKyAgICAgICAgICAgIHZhbCA9IHhtbFJlbGF4TkdNYXhDb250ZW50VHlwZSh2YWwsIHJldCk7CisgICAgICAgIH0gZWxzZSBpZiAocHR5cGUgPT0gWE1MX1JFTEFYTkdfTElTVCkgeworICAgICAgICAgICAgdmFsID0gWE1MX1JFTEFYTkdfQ09OVEVOVF9TSU1QTEU7CisgICAgICAgIH0gZWxzZSBpZiAocHR5cGUgPT0gWE1MX1JFTEFYTkdfRVhDRVBUKSB7CisgICAgICAgICAgICBpZiAocmV0ID09IFhNTF9SRUxBWE5HX0NPTlRFTlRfRVJST1IpCisgICAgICAgICAgICAgICAgdmFsID0gWE1MX1JFTEFYTkdfQ09OVEVOVF9FUlJPUjsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICB2YWwgPSBYTUxfUkVMQVhOR19DT05URU5UX1NJTVBMRTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHZhbCA9IHhtbFJlbGF4TkdHcm91cENvbnRlbnRUeXBlKHZhbCwgcmV0KTsKKyAgICAgICAgfQorCisgICAgfQorICAgIHJldHVybiAodmFsKTsKK30KKworLyoqCisgKiB4bWxSZWxheE5HUGFyc2VHcmFtbWFyOgorICogQGN0eHQ6ICBhIFJlbGF4LU5HIHBhcnNlciBjb250ZXh0CisgKiBAbm9kZXM6ICBncmFtbWFyIGNoaWxkcmVuIG5vZGVzCisgKgorICogcGFyc2UgYSBSZWxheC1ORyA8Z3JhbW1hcj4gbm9kZQorICoKKyAqIFJldHVybnMgdGhlIGludGVybmFsIHhtbFJlbGF4TkdHcmFtbWFyUHRyIGJ1aWx0IG9yCisgKiAgICAgICAgIE5VTEwgaW4gY2FzZSBvZiBlcnJvcgorICovCitzdGF0aWMgeG1sUmVsYXhOR0dyYW1tYXJQdHIKK3htbFJlbGF4TkdQYXJzZUdyYW1tYXIoeG1sUmVsYXhOR1BhcnNlckN0eHRQdHIgY3R4dCwgeG1sTm9kZVB0ciBub2RlcykKK3sKKyAgICB4bWxSZWxheE5HR3JhbW1hclB0ciByZXQsIHRtcCwgb2xkOworCisjaWZkZWYgREVCVUdfR1JBTU1BUgorICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCAiUGFyc2luZyBhIG5ldyBncmFtbWFyXG4iKTsKKyNlbmRpZgorCisgICAgcmV0ID0geG1sUmVsYXhOR05ld0dyYW1tYXIoY3R4dCk7CisgICAgaWYgKHJldCA9PSBOVUxMKQorICAgICAgICByZXR1cm4gKE5VTEwpOworCisgICAgLyoKKyAgICAgKiBMaW5rIHRoZSBuZXcgZ3JhbW1hciBpbiB0aGUgdHJlZQorICAgICAqLworICAgIHJldC0+cGFyZW50ID0gY3R4dC0+Z3JhbW1hcjsKKyAgICBpZiAoY3R4dC0+Z3JhbW1hciAhPSBOVUxMKSB7CisgICAgICAgIHRtcCA9IGN0eHQtPmdyYW1tYXItPmNoaWxkcmVuOworICAgICAgICBpZiAodG1wID09IE5VTEwpIHsKKyAgICAgICAgICAgIGN0eHQtPmdyYW1tYXItPmNoaWxkcmVuID0gcmV0OworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgd2hpbGUgKHRtcC0+bmV4dCAhPSBOVUxMKQorICAgICAgICAgICAgICAgIHRtcCA9IHRtcC0+bmV4dDsKKyAgICAgICAgICAgIHRtcC0+bmV4dCA9IHJldDsKKyAgICAgICAgfQorICAgIH0KKworICAgIG9sZCA9IGN0eHQtPmdyYW1tYXI7CisgICAgY3R4dC0+Z3JhbW1hciA9IHJldDsKKyAgICB4bWxSZWxheE5HUGFyc2VHcmFtbWFyQ29udGVudChjdHh0LCBub2Rlcyk7CisgICAgY3R4dC0+Z3JhbW1hciA9IHJldDsKKyAgICBpZiAoY3R4dC0+Z3JhbW1hciA9PSBOVUxMKSB7CisgICAgICAgIHhtbFJuZ1BFcnIoY3R4dCwgbm9kZXMsIFhNTF9STkdQX0dSQU1NQVJfQ09OVEVOVCwKKyAgICAgICAgICAgICAgICAgICAiRmFpbGVkIHRvIHBhcnNlIDxncmFtbWFyPiBjb250ZW50XG4iLCBOVUxMLCBOVUxMKTsKKyAgICB9IGVsc2UgaWYgKGN0eHQtPmdyYW1tYXItPnN0YXJ0ID09IE5VTEwpIHsKKyAgICAgICAgeG1sUm5nUEVycihjdHh0LCBub2RlcywgWE1MX1JOR1BfR1JBTU1BUl9OT19TVEFSVCwKKyAgICAgICAgICAgICAgICAgICAiRWxlbWVudCA8Z3JhbW1hcj4gaGFzIG5vIDxzdGFydD5cbiIsIE5VTEwsIE5VTEwpOworICAgIH0KKworICAgIC8qCisgICAgICogQXBwbHkgNC4xNyBtZXJnaW5nIHJ1bGVzIHRvIGRlZmluZXMgYW5kIHN0YXJ0cworICAgICAqLworICAgIHhtbFJlbGF4TkdDb21iaW5lU3RhcnQoY3R4dCwgcmV0KTsKKyAgICBpZiAocmV0LT5kZWZzICE9IE5VTEwpIHsKKyAgICAgICAgeG1sSGFzaFNjYW4ocmV0LT5kZWZzLCAoeG1sSGFzaFNjYW5uZXIpIHhtbFJlbGF4TkdDaGVja0NvbWJpbmUsCisgICAgICAgICAgICAgICAgICAgIGN0eHQpOworICAgIH0KKworICAgIC8qCisgICAgICogbGluayB0b2dldGhlciBkZWZpbmVzIGFuZCByZWZzIGluIHRoaXMgZ3JhbW1hcgorICAgICAqLworICAgIGlmIChyZXQtPnJlZnMgIT0gTlVMTCkgeworICAgICAgICB4bWxIYXNoU2NhbihyZXQtPnJlZnMsICh4bWxIYXNoU2Nhbm5lcikgeG1sUmVsYXhOR0NoZWNrUmVmZXJlbmNlLAorICAgICAgICAgICAgICAgICAgICBjdHh0KTsKKyAgICB9CisKKworICAgIC8qIEBAQEAgKi8KKworICAgIGN0eHQtPmdyYW1tYXIgPSBvbGQ7CisgICAgcmV0dXJuIChyZXQpOworfQorCisvKioKKyAqIHhtbFJlbGF4TkdQYXJzZURvY3VtZW50OgorICogQGN0eHQ6ICBhIFJlbGF4LU5HIHBhcnNlciBjb250ZXh0CisgKiBAbm9kZTogIHRoZSByb290IG5vZGUgb2YgdGhlIFJlbGF4Tkcgc2NoZW1hCisgKgorICogcGFyc2UgYSBSZWxheC1ORyBkZWZpbml0aW9uIHJlc291cmNlIGFuZCBidWlsZCBhbiBpbnRlcm5hbAorICogeG1sUmVsYXhORyBzdHJ1dHVyZSB3aGljaCBjYW4gYmUgdXNlZCB0byB2YWxpZGF0ZSBpbnN0YW5jZXMuCisgKgorICogUmV0dXJucyB0aGUgaW50ZXJuYWwgWE1MIFJlbGF4Tkcgc3RydWN0dXJlIGJ1aWx0IG9yCisgKiAgICAgICAgIE5VTEwgaW4gY2FzZSBvZiBlcnJvcgorICovCitzdGF0aWMgeG1sUmVsYXhOR1B0cgoreG1sUmVsYXhOR1BhcnNlRG9jdW1lbnQoeG1sUmVsYXhOR1BhcnNlckN0eHRQdHIgY3R4dCwgeG1sTm9kZVB0ciBub2RlKQoreworICAgIHhtbFJlbGF4TkdQdHIgc2NoZW1hID0gTlVMTDsKKyAgICBjb25zdCB4bWxDaGFyICpvbGRkZWZpbmU7CisgICAgeG1sUmVsYXhOR0dyYW1tYXJQdHIgb2xkOworCisgICAgaWYgKChjdHh0ID09IE5VTEwpIHx8IChub2RlID09IE5VTEwpKQorICAgICAgICByZXR1cm4gKE5VTEwpOworCisgICAgc2NoZW1hID0geG1sUmVsYXhOR05ld1JlbGF4TkcoY3R4dCk7CisgICAgaWYgKHNjaGVtYSA9PSBOVUxMKQorICAgICAgICByZXR1cm4gKE5VTEwpOworCisgICAgb2xkZGVmaW5lID0gY3R4dC0+ZGVmaW5lOworICAgIGN0eHQtPmRlZmluZSA9IE5VTEw7CisgICAgaWYgKElTX1JFTEFYTkcobm9kZSwgImdyYW1tYXIiKSkgeworICAgICAgICBzY2hlbWEtPnRvcGdyYW1tYXIgPSB4bWxSZWxheE5HUGFyc2VHcmFtbWFyKGN0eHQsIG5vZGUtPmNoaWxkcmVuKTsKKyAgICAgICAgaWYgKHNjaGVtYS0+dG9wZ3JhbW1hciA9PSBOVUxMKSB7CisgICAgICAgICAgICB4bWxSZWxheE5HRnJlZShzY2hlbWEpOworICAgICAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICAgICAgfQorICAgIH0gZWxzZSB7CisgICAgICAgIHhtbFJlbGF4TkdHcmFtbWFyUHRyIHRtcCwgcmV0OworCisgICAgICAgIHNjaGVtYS0+dG9wZ3JhbW1hciA9IHJldCA9IHhtbFJlbGF4TkdOZXdHcmFtbWFyKGN0eHQpOworICAgICAgICBpZiAoc2NoZW1hLT50b3BncmFtbWFyID09IE5VTEwpIHsKKyAgICAgICAgICAgIHhtbFJlbGF4TkdGcmVlKHNjaGVtYSk7CisgICAgICAgICAgICByZXR1cm4gKE5VTEwpOworICAgICAgICB9CisgICAgICAgIC8qCisgICAgICAgICAqIExpbmsgdGhlIG5ldyBncmFtbWFyIGluIHRoZSB0cmVlCisgICAgICAgICAqLworICAgICAgICByZXQtPnBhcmVudCA9IGN0eHQtPmdyYW1tYXI7CisgICAgICAgIGlmIChjdHh0LT5ncmFtbWFyICE9IE5VTEwpIHsKKyAgICAgICAgICAgIHRtcCA9IGN0eHQtPmdyYW1tYXItPmNoaWxkcmVuOworICAgICAgICAgICAgaWYgKHRtcCA9PSBOVUxMKSB7CisgICAgICAgICAgICAgICAgY3R4dC0+Z3JhbW1hci0+Y2hpbGRyZW4gPSByZXQ7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIHdoaWxlICh0bXAtPm5leHQgIT0gTlVMTCkKKyAgICAgICAgICAgICAgICAgICAgdG1wID0gdG1wLT5uZXh0OworICAgICAgICAgICAgICAgIHRtcC0+bmV4dCA9IHJldDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBvbGQgPSBjdHh0LT5ncmFtbWFyOworICAgICAgICBjdHh0LT5ncmFtbWFyID0gcmV0OworICAgICAgICB4bWxSZWxheE5HUGFyc2VTdGFydChjdHh0LCBub2RlKTsKKyAgICAgICAgaWYgKG9sZCAhPSBOVUxMKQorICAgICAgICAgICAgY3R4dC0+Z3JhbW1hciA9IG9sZDsKKyAgICB9CisgICAgY3R4dC0+ZGVmaW5lID0gb2xkZGVmaW5lOworICAgIGlmIChzY2hlbWEtPnRvcGdyYW1tYXItPnN0YXJ0ICE9IE5VTEwpIHsKKyAgICAgICAgeG1sUmVsYXhOR0NoZWNrQ3ljbGVzKGN0eHQsIHNjaGVtYS0+dG9wZ3JhbW1hci0+c3RhcnQsIDApOworICAgICAgICBpZiAoKGN0eHQtPmZsYWdzICYgWE1MX1JFTEFYTkdfSU5fRVhURVJOQUxSRUYpID09IDApIHsKKyAgICAgICAgICAgIHhtbFJlbGF4TkdTaW1wbGlmeShjdHh0LCBzY2hlbWEtPnRvcGdyYW1tYXItPnN0YXJ0LCBOVUxMKTsKKyAgICAgICAgICAgIHdoaWxlICgoc2NoZW1hLT50b3BncmFtbWFyLT5zdGFydCAhPSBOVUxMKSAmJgorICAgICAgICAgICAgICAgICAgIChzY2hlbWEtPnRvcGdyYW1tYXItPnN0YXJ0LT50eXBlID09IFhNTF9SRUxBWE5HX05PT1ApICYmCisgICAgICAgICAgICAgICAgICAgKHNjaGVtYS0+dG9wZ3JhbW1hci0+c3RhcnQtPm5leHQgIT0gTlVMTCkpCisgICAgICAgICAgICAgICAgc2NoZW1hLT50b3BncmFtbWFyLT5zdGFydCA9CisgICAgICAgICAgICAgICAgICAgIHNjaGVtYS0+dG9wZ3JhbW1hci0+c3RhcnQtPmNvbnRlbnQ7CisgICAgICAgICAgICB4bWxSZWxheE5HQ2hlY2tSdWxlcyhjdHh0LCBzY2hlbWEtPnRvcGdyYW1tYXItPnN0YXJ0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWE1MX1JFTEFYTkdfSU5fU1RBUlQsIFhNTF9SRUxBWE5HX05PT1ApOworICAgICAgICB9CisgICAgfQorI2lmZGVmIERFQlVHCisgICAgaWYgKHNjaGVtYSA9PSBOVUxMKQorICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4bWxSZWxheE5HUGFyc2VEb2N1bWVudCgpIGZhaWxlZFxuIik7CisjZW5kaWYKKworICAgIHJldHVybiAoc2NoZW1hKTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJCVJlYWRpbmcgUmVsYXhOR3MJCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioKKyAqIHhtbFJlbGF4TkdOZXdQYXJzZXJDdHh0OgorICogQFVSTDogIHRoZSBsb2NhdGlvbiBvZiB0aGUgc2NoZW1hCisgKgorICogQ3JlYXRlIGFuIFhNTCBSZWxheE5HcyBwYXJzZSBjb250ZXh0IGZvciB0aGF0IGZpbGUvcmVzb3VyY2UgZXhwZWN0ZWQKKyAqIHRvIGNvbnRhaW4gYW4gWE1MIFJlbGF4TkdzIGZpbGUuCisgKgorICogUmV0dXJucyB0aGUgcGFyc2VyIGNvbnRleHQgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3htbFJlbGF4TkdQYXJzZXJDdHh0UHRyCit4bWxSZWxheE5HTmV3UGFyc2VyQ3R4dChjb25zdCBjaGFyICpVUkwpCit7CisgICAgeG1sUmVsYXhOR1BhcnNlckN0eHRQdHIgcmV0OworCisgICAgaWYgKFVSTCA9PSBOVUxMKQorICAgICAgICByZXR1cm4gKE5VTEwpOworCisgICAgcmV0ID0KKyAgICAgICAgKHhtbFJlbGF4TkdQYXJzZXJDdHh0UHRyKSB4bWxNYWxsb2Moc2l6ZW9mKHhtbFJlbGF4TkdQYXJzZXJDdHh0KSk7CisgICAgaWYgKHJldCA9PSBOVUxMKSB7CisgICAgICAgIHhtbFJuZ1BFcnJNZW1vcnkoTlVMTCwgImJ1aWxkaW5nIHBhcnNlclxuIik7CisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgfQorICAgIG1lbXNldChyZXQsIDAsIHNpemVvZih4bWxSZWxheE5HUGFyc2VyQ3R4dCkpOworICAgIHJldC0+VVJMID0geG1sU3RyZHVwKChjb25zdCB4bWxDaGFyICopIFVSTCk7CisgICAgcmV0LT5lcnJvciA9IHhtbEdlbmVyaWNFcnJvcjsKKyAgICByZXQtPnVzZXJEYXRhID0geG1sR2VuZXJpY0Vycm9yQ29udGV4dDsKKyAgICByZXR1cm4gKHJldCk7Cit9CisKKy8qKgorICogeG1sUmVsYXhOR05ld01lbVBhcnNlckN0eHQ6CisgKiBAYnVmZmVyOiAgYSBwb2ludGVyIHRvIGEgY2hhciBhcnJheSBjb250YWluaW5nIHRoZSBzY2hlbWFzCisgKiBAc2l6ZTogIHRoZSBzaXplIG9mIHRoZSBhcnJheQorICoKKyAqIENyZWF0ZSBhbiBYTUwgUmVsYXhOR3MgcGFyc2UgY29udGV4dCBmb3IgdGhhdCBtZW1vcnkgYnVmZmVyIGV4cGVjdGVkCisgKiB0byBjb250YWluIGFuIFhNTCBSZWxheE5HcyBmaWxlLgorICoKKyAqIFJldHVybnMgdGhlIHBhcnNlciBjb250ZXh0IG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcgorICovCit4bWxSZWxheE5HUGFyc2VyQ3R4dFB0cgoreG1sUmVsYXhOR05ld01lbVBhcnNlckN0eHQoY29uc3QgY2hhciAqYnVmZmVyLCBpbnQgc2l6ZSkKK3sKKyAgICB4bWxSZWxheE5HUGFyc2VyQ3R4dFB0ciByZXQ7CisKKyAgICBpZiAoKGJ1ZmZlciA9PSBOVUxMKSB8fCAoc2l6ZSA8PSAwKSkKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKworICAgIHJldCA9CisgICAgICAgICh4bWxSZWxheE5HUGFyc2VyQ3R4dFB0cikgeG1sTWFsbG9jKHNpemVvZih4bWxSZWxheE5HUGFyc2VyQ3R4dCkpOworICAgIGlmIChyZXQgPT0gTlVMTCkgeworICAgICAgICB4bWxSbmdQRXJyTWVtb3J5KE5VTEwsICJidWlsZGluZyBwYXJzZXJcbiIpOworICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIH0KKyAgICBtZW1zZXQocmV0LCAwLCBzaXplb2YoeG1sUmVsYXhOR1BhcnNlckN0eHQpKTsKKyAgICByZXQtPmJ1ZmZlciA9IGJ1ZmZlcjsKKyAgICByZXQtPnNpemUgPSBzaXplOworICAgIHJldC0+ZXJyb3IgPSB4bWxHZW5lcmljRXJyb3I7CisgICAgcmV0LT51c2VyRGF0YSA9IHhtbEdlbmVyaWNFcnJvckNvbnRleHQ7CisgICAgcmV0dXJuIChyZXQpOworfQorCisvKioKKyAqIHhtbFJlbGF4TkdOZXdEb2NQYXJzZXJDdHh0OgorICogQGRvYzogIGEgcHJlcGFyc2VkIGRvY3VtZW50IHRyZWUKKyAqCisgKiBDcmVhdGUgYW4gWE1MIFJlbGF4TkdzIHBhcnNlciBjb250ZXh0IGZvciB0aGF0IGRvY3VtZW50LgorICogTm90ZTogc2luY2UgdGhlIHByb2Nlc3Mgb2YgY29tcGlsaW5nIGEgUmVsYXhORyBzY2hlbWFzIG1vZGlmaWVzIHRoZQorICogICAgICAgZG9jdW1lbnQsIHRoZSBAZG9jIHBhcmFtZXRlciBpcyBkdXBsaWNhdGVkIGludGVybmFsbHkuCisgKgorICogUmV0dXJucyB0aGUgcGFyc2VyIGNvbnRleHQgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3htbFJlbGF4TkdQYXJzZXJDdHh0UHRyCit4bWxSZWxheE5HTmV3RG9jUGFyc2VyQ3R4dCh4bWxEb2NQdHIgZG9jKQoreworICAgIHhtbFJlbGF4TkdQYXJzZXJDdHh0UHRyIHJldDsKKyAgICB4bWxEb2NQdHIgY29weTsKKworICAgIGlmIChkb2MgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICBjb3B5ID0geG1sQ29weURvYyhkb2MsIDEpOworICAgIGlmIChjb3B5ID09IE5VTEwpCisgICAgICAgIHJldHVybiAoTlVMTCk7CisKKyAgICByZXQgPQorICAgICAgICAoeG1sUmVsYXhOR1BhcnNlckN0eHRQdHIpIHhtbE1hbGxvYyhzaXplb2YoeG1sUmVsYXhOR1BhcnNlckN0eHQpKTsKKyAgICBpZiAocmV0ID09IE5VTEwpIHsKKyAgICAgICAgeG1sUm5nUEVyck1lbW9yeShOVUxMLCAiYnVpbGRpbmcgcGFyc2VyXG4iKTsKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICB9CisgICAgbWVtc2V0KHJldCwgMCwgc2l6ZW9mKHhtbFJlbGF4TkdQYXJzZXJDdHh0KSk7CisgICAgcmV0LT5kb2N1bWVudCA9IGNvcHk7CisgICAgcmV0LT5mcmVlZG9jID0gMTsKKyAgICByZXQtPnVzZXJEYXRhID0geG1sR2VuZXJpY0Vycm9yQ29udGV4dDsKKyAgICByZXR1cm4gKHJldCk7Cit9CisKKy8qKgorICogeG1sUmVsYXhOR0ZyZWVQYXJzZXJDdHh0OgorICogQGN0eHQ6ICB0aGUgc2NoZW1hIHBhcnNlciBjb250ZXh0CisgKgorICogRnJlZSB0aGUgcmVzb3VyY2VzIGFzc29jaWF0ZWQgdG8gdGhlIHNjaGVtYSBwYXJzZXIgY29udGV4dAorICovCit2b2lkCit4bWxSZWxheE5HRnJlZVBhcnNlckN0eHQoeG1sUmVsYXhOR1BhcnNlckN0eHRQdHIgY3R4dCkKK3sKKyAgICBpZiAoY3R4dCA9PSBOVUxMKQorICAgICAgICByZXR1cm47CisgICAgaWYgKGN0eHQtPlVSTCAhPSBOVUxMKQorICAgICAgICB4bWxGcmVlKGN0eHQtPlVSTCk7CisgICAgaWYgKGN0eHQtPmRvYyAhPSBOVUxMKQorICAgICAgICB4bWxSZWxheE5HRnJlZURvY3VtZW50KGN0eHQtPmRvYyk7CisgICAgaWYgKGN0eHQtPmludGVybGVhdmVzICE9IE5VTEwpCisgICAgICAgIHhtbEhhc2hGcmVlKGN0eHQtPmludGVybGVhdmVzLCBOVUxMKTsKKyAgICBpZiAoY3R4dC0+ZG9jdW1lbnRzICE9IE5VTEwpCisgICAgICAgIHhtbFJlbGF4TkdGcmVlRG9jdW1lbnRMaXN0KGN0eHQtPmRvY3VtZW50cyk7CisgICAgaWYgKGN0eHQtPmluY2x1ZGVzICE9IE5VTEwpCisgICAgICAgIHhtbFJlbGF4TkdGcmVlSW5jbHVkZUxpc3QoY3R4dC0+aW5jbHVkZXMpOworICAgIGlmIChjdHh0LT5kb2NUYWIgIT0gTlVMTCkKKyAgICAgICAgeG1sRnJlZShjdHh0LT5kb2NUYWIpOworICAgIGlmIChjdHh0LT5pbmNUYWIgIT0gTlVMTCkKKyAgICAgICAgeG1sRnJlZShjdHh0LT5pbmNUYWIpOworICAgIGlmIChjdHh0LT5kZWZUYWIgIT0gTlVMTCkgeworICAgICAgICBpbnQgaTsKKworICAgICAgICBmb3IgKGkgPSAwOyBpIDwgY3R4dC0+ZGVmTnI7IGkrKykKKyAgICAgICAgICAgIHhtbFJlbGF4TkdGcmVlRGVmaW5lKGN0eHQtPmRlZlRhYltpXSk7CisgICAgICAgIHhtbEZyZWUoY3R4dC0+ZGVmVGFiKTsKKyAgICB9CisgICAgaWYgKChjdHh0LT5kb2N1bWVudCAhPSBOVUxMKSAmJiAoY3R4dC0+ZnJlZWRvYykpCisgICAgICAgIHhtbEZyZWVEb2MoY3R4dC0+ZG9jdW1lbnQpOworICAgIHhtbEZyZWUoY3R4dCk7Cit9CisKKy8qKgorICogeG1sUmVsYXhOR05vcm1FeHRTcGFjZToKKyAqIEB2YWx1ZTogIGEgdmFsdWUKKyAqCisgKiBSZW1vdmVzIHRoZSBsZWFkaW5nIGFuZCBlbmRpbmcgc3BhY2VzIG9mIHRoZSB2YWx1ZQorICogVGhlIHN0cmluZyBpcyBtb2RpZmllZCAiaW4gc2l0dSIKKyAqLworc3RhdGljIHZvaWQKK3htbFJlbGF4TkdOb3JtRXh0U3BhY2UoeG1sQ2hhciAqIHZhbHVlKQoreworICAgIHhtbENoYXIgKnN0YXJ0ID0gdmFsdWU7CisgICAgeG1sQ2hhciAqY3VyID0gdmFsdWU7CisKKyAgICBpZiAodmFsdWUgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuOworCisgICAgd2hpbGUgKElTX0JMQU5LX0NIKCpjdXIpKQorICAgICAgICBjdXIrKzsKKyAgICBpZiAoY3VyID09IHN0YXJ0KSB7CisgICAgICAgIGRvIHsKKyAgICAgICAgICAgIHdoaWxlICgoKmN1ciAhPSAwKSAmJiAoIUlTX0JMQU5LX0NIKCpjdXIpKSkKKyAgICAgICAgICAgICAgICBjdXIrKzsKKyAgICAgICAgICAgIGlmICgqY3VyID09IDApCisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgc3RhcnQgPSBjdXI7CisgICAgICAgICAgICB3aGlsZSAoSVNfQkxBTktfQ0goKmN1cikpCisgICAgICAgICAgICAgICAgY3VyKys7CisgICAgICAgICAgICBpZiAoKmN1ciA9PSAwKSB7CisgICAgICAgICAgICAgICAgKnN0YXJ0ID0gMDsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisgICAgICAgIH0gd2hpbGUgKDEpOworICAgIH0gZWxzZSB7CisgICAgICAgIGRvIHsKKyAgICAgICAgICAgIHdoaWxlICgoKmN1ciAhPSAwKSAmJiAoIUlTX0JMQU5LX0NIKCpjdXIpKSkKKyAgICAgICAgICAgICAgICAqc3RhcnQrKyA9ICpjdXIrKzsKKyAgICAgICAgICAgIGlmICgqY3VyID09IDApIHsKKyAgICAgICAgICAgICAgICAqc3RhcnQgPSAwOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIC8qIGRvbid0IHRyeSB0byBub3JtYWxpemUgdGhlIGlubmVyIHNwYWNlcyAqLworICAgICAgICAgICAgd2hpbGUgKElTX0JMQU5LX0NIKCpjdXIpKQorICAgICAgICAgICAgICAgIGN1cisrOworICAgICAgICAgICAgaWYgKCpjdXIgPT0gMCkgeworICAgICAgICAgICAgICAgICpzdGFydCA9IDA7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICAgICAgKnN0YXJ0KysgPSAqY3VyKys7CisgICAgICAgIH0gd2hpbGUgKDEpOworICAgIH0KK30KKworLyoqCisgKiB4bWxSZWxheE5HQ2xlYW51cEF0dHJpYnV0ZXM6CisgKiBAY3R4dDogIGEgUmVsYXgtTkcgcGFyc2VyIGNvbnRleHQKKyAqIEBub2RlOiAgYSBSZWxheC1ORyBub2RlCisgKgorICogQ2hlY2sgYWxsIHRoZSBhdHRyaWJ1dGVzIG9uIHRoZSBnaXZlbiBub2RlCisgKi8KK3N0YXRpYyB2b2lkCit4bWxSZWxheE5HQ2xlYW51cEF0dHJpYnV0ZXMoeG1sUmVsYXhOR1BhcnNlckN0eHRQdHIgY3R4dCwgeG1sTm9kZVB0ciBub2RlKQoreworICAgIHhtbEF0dHJQdHIgY3VyLCBuZXh0OworCisgICAgY3VyID0gbm9kZS0+cHJvcGVydGllczsKKyAgICB3aGlsZSAoY3VyICE9IE5VTEwpIHsKKyAgICAgICAgbmV4dCA9IGN1ci0+bmV4dDsKKyAgICAgICAgaWYgKChjdXItPm5zID09IE5VTEwpIHx8CisgICAgICAgICAgICAoeG1sU3RyRXF1YWwoY3VyLT5ucy0+aHJlZiwgeG1sUmVsYXhOR05zKSkpIHsKKyAgICAgICAgICAgIGlmICh4bWxTdHJFcXVhbChjdXItPm5hbWUsIEJBRF9DQVNUICJuYW1lIikpIHsKKyAgICAgICAgICAgICAgICBpZiAoKCF4bWxTdHJFcXVhbChub2RlLT5uYW1lLCBCQURfQ0FTVCAiZWxlbWVudCIpKSAmJgorICAgICAgICAgICAgICAgICAgICAoIXhtbFN0ckVxdWFsKG5vZGUtPm5hbWUsIEJBRF9DQVNUICJhdHRyaWJ1dGUiKSkgJiYKKyAgICAgICAgICAgICAgICAgICAgKCF4bWxTdHJFcXVhbChub2RlLT5uYW1lLCBCQURfQ0FTVCAicmVmIikpICYmCisgICAgICAgICAgICAgICAgICAgICgheG1sU3RyRXF1YWwobm9kZS0+bmFtZSwgQkFEX0NBU1QgInBhcmVudFJlZiIpKSAmJgorICAgICAgICAgICAgICAgICAgICAoIXhtbFN0ckVxdWFsKG5vZGUtPm5hbWUsIEJBRF9DQVNUICJwYXJhbSIpKSAmJgorICAgICAgICAgICAgICAgICAgICAoIXhtbFN0ckVxdWFsKG5vZGUtPm5hbWUsIEJBRF9DQVNUICJkZWZpbmUiKSkpIHsKKyAgICAgICAgICAgICAgICAgICAgeG1sUm5nUEVycihjdHh0LCBub2RlLCBYTUxfUk5HUF9GT1JCSURERU5fQVRUUklCVVRFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJBdHRyaWJ1dGUgJXMgaXMgbm90IGFsbG93ZWQgb24gJXNcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VyLT5uYW1lLCBub2RlLT5uYW1lKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9IGVsc2UgaWYgKHhtbFN0ckVxdWFsKGN1ci0+bmFtZSwgQkFEX0NBU1QgInR5cGUiKSkgeworICAgICAgICAgICAgICAgIGlmICgoIXhtbFN0ckVxdWFsKG5vZGUtPm5hbWUsIEJBRF9DQVNUICJ2YWx1ZSIpKSAmJgorICAgICAgICAgICAgICAgICAgICAoIXhtbFN0ckVxdWFsKG5vZGUtPm5hbWUsIEJBRF9DQVNUICJkYXRhIikpKSB7CisgICAgICAgICAgICAgICAgICAgIHhtbFJuZ1BFcnIoY3R4dCwgbm9kZSwgWE1MX1JOR1BfRk9SQklEREVOX0FUVFJJQlVURSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQXR0cmlidXRlICVzIGlzIG5vdCBhbGxvd2VkIG9uICVzXG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1ci0+bmFtZSwgbm9kZS0+bmFtZSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSBlbHNlIGlmICh4bWxTdHJFcXVhbChjdXItPm5hbWUsIEJBRF9DQVNUICJocmVmIikpIHsKKyAgICAgICAgICAgICAgICBpZiAoKCF4bWxTdHJFcXVhbChub2RlLT5uYW1lLCBCQURfQ0FTVCAiZXh0ZXJuYWxSZWYiKSkgJiYKKyAgICAgICAgICAgICAgICAgICAgKCF4bWxTdHJFcXVhbChub2RlLT5uYW1lLCBCQURfQ0FTVCAiaW5jbHVkZSIpKSkgeworICAgICAgICAgICAgICAgICAgICB4bWxSbmdQRXJyKGN0eHQsIG5vZGUsIFhNTF9STkdQX0ZPUkJJRERFTl9BVFRSSUJVVEUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkF0dHJpYnV0ZSAlcyBpcyBub3QgYWxsb3dlZCBvbiAlc1xuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXItPm5hbWUsIG5vZGUtPm5hbWUpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0gZWxzZSBpZiAoeG1sU3RyRXF1YWwoY3VyLT5uYW1lLCBCQURfQ0FTVCAiY29tYmluZSIpKSB7CisgICAgICAgICAgICAgICAgaWYgKCgheG1sU3RyRXF1YWwobm9kZS0+bmFtZSwgQkFEX0NBU1QgInN0YXJ0IikpICYmCisgICAgICAgICAgICAgICAgICAgICgheG1sU3RyRXF1YWwobm9kZS0+bmFtZSwgQkFEX0NBU1QgImRlZmluZSIpKSkgeworICAgICAgICAgICAgICAgICAgICB4bWxSbmdQRXJyKGN0eHQsIG5vZGUsIFhNTF9STkdQX0ZPUkJJRERFTl9BVFRSSUJVVEUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkF0dHJpYnV0ZSAlcyBpcyBub3QgYWxsb3dlZCBvbiAlc1xuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXItPm5hbWUsIG5vZGUtPm5hbWUpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0gZWxzZSBpZiAoeG1sU3RyRXF1YWwoY3VyLT5uYW1lLCBCQURfQ0FTVCAiZGF0YXR5cGVMaWJyYXJ5IikpIHsKKyAgICAgICAgICAgICAgICB4bWxDaGFyICp2YWw7CisgICAgICAgICAgICAgICAgeG1sVVJJUHRyIHVyaTsKKworICAgICAgICAgICAgICAgIHZhbCA9IHhtbE5vZGVMaXN0R2V0U3RyaW5nKG5vZGUtPmRvYywgY3VyLT5jaGlsZHJlbiwgMSk7CisgICAgICAgICAgICAgICAgaWYgKHZhbCAhPSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgIGlmICh2YWxbMF0gIT0gMCkgeworICAgICAgICAgICAgICAgICAgICAgICAgdXJpID0geG1sUGFyc2VVUkkoKGNvbnN0IGNoYXIgKikgdmFsKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh1cmkgPT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFJuZ1BFcnIoY3R4dCwgbm9kZSwgWE1MX1JOR1BfSU5WQUxJRF9VUkksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQXR0cmlidXRlICVzIGNvbnRhaW5zIGludmFsaWQgVVJJICVzXG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VyLT5uYW1lLCB2YWwpOworICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodXJpLT5zY2hlbWUgPT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxSbmdQRXJyKGN0eHQsIG5vZGUsIFhNTF9STkdQX1VSSV9OT1RfQUJTT0xVVEUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkF0dHJpYnV0ZSAlcyBVUkkgJXMgaXMgbm90IGFic29sdXRlXG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1ci0+bmFtZSwgdmFsKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHVyaS0+ZnJhZ21lbnQgIT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxSbmdQRXJyKGN0eHQsIG5vZGUsIFhNTF9STkdQX1VSSV9GUkFHTUVOVCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQXR0cmlidXRlICVzIFVSSSAlcyBoYXMgYSBmcmFnbWVudCBJRFxuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXItPm5hbWUsIHZhbCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbEZyZWVVUkkodXJpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICB4bWxGcmVlKHZhbCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSBlbHNlIGlmICgheG1sU3RyRXF1YWwoY3VyLT5uYW1lLCBCQURfQ0FTVCAibnMiKSkgeworICAgICAgICAgICAgICAgIHhtbFJuZ1BFcnIoY3R4dCwgbm9kZSwgWE1MX1JOR1BfVU5LTk9XTl9BVFRSSUJVVEUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAiVW5rbm93biBhdHRyaWJ1dGUgJXMgb24gJXNcbiIsIGN1ci0+bmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGUtPm5hbWUpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIGN1ciA9IG5leHQ7CisgICAgfQorfQorCisvKioKKyAqIHhtbFJlbGF4TkdDbGVhbnVwVHJlZToKKyAqIEBjdHh0OiAgYSBSZWxheC1ORyBwYXJzZXIgY29udGV4dAorICogQHJvb3Q6ICBhbiB4bWxOb2RlUHRyIHN1YnRyZWUKKyAqCisgKiBDbGVhbnVwIHRoZSBzdWJ0cmVlIGZyb20gdW53YW50ZWQgbm9kZXMgZm9yIHBhcnNpbmcsIHJlc29sdmUKKyAqIEluY2x1ZGUgYW5kIGV4dGVybmFsUmVmIGxvb2t1cHMuCisgKi8KK3N0YXRpYyB2b2lkCit4bWxSZWxheE5HQ2xlYW51cFRyZWUoeG1sUmVsYXhOR1BhcnNlckN0eHRQdHIgY3R4dCwgeG1sTm9kZVB0ciByb290KQoreworICAgIHhtbE5vZGVQdHIgY3VyLCBkZWxldGU7CisKKyAgICBkZWxldGUgPSBOVUxMOworICAgIGN1ciA9IHJvb3Q7CisgICAgd2hpbGUgKGN1ciAhPSBOVUxMKSB7CisgICAgICAgIGlmIChkZWxldGUgIT0gTlVMTCkgeworICAgICAgICAgICAgeG1sVW5saW5rTm9kZShkZWxldGUpOworICAgICAgICAgICAgeG1sRnJlZU5vZGUoZGVsZXRlKTsKKyAgICAgICAgICAgIGRlbGV0ZSA9IE5VTEw7CisgICAgICAgIH0KKyAgICAgICAgaWYgKGN1ci0+dHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFKSB7CisgICAgICAgICAgICAvKgorICAgICAgICAgICAgICogU2ltcGxpZmljYXRpb24gNC4xLiBBbm5vdGF0aW9ucworICAgICAgICAgICAgICovCisgICAgICAgICAgICBpZiAoKGN1ci0+bnMgPT0gTlVMTCkgfHwKKyAgICAgICAgICAgICAgICAoIXhtbFN0ckVxdWFsKGN1ci0+bnMtPmhyZWYsIHhtbFJlbGF4TkdOcykpKSB7CisgICAgICAgICAgICAgICAgaWYgKChjdXItPnBhcmVudCAhPSBOVUxMKSAmJgorICAgICAgICAgICAgICAgICAgICAoY3VyLT5wYXJlbnQtPnR5cGUgPT0gWE1MX0VMRU1FTlRfTk9ERSkgJiYKKyAgICAgICAgICAgICAgICAgICAgKCh4bWxTdHJFcXVhbChjdXItPnBhcmVudC0+bmFtZSwgQkFEX0NBU1QgIm5hbWUiKSkgfHwKKyAgICAgICAgICAgICAgICAgICAgICh4bWxTdHJFcXVhbChjdXItPnBhcmVudC0+bmFtZSwgQkFEX0NBU1QgInZhbHVlIikpIHx8CisgICAgICAgICAgICAgICAgICAgICAoeG1sU3RyRXF1YWwoY3VyLT5wYXJlbnQtPm5hbWUsIEJBRF9DQVNUICJwYXJhbSIpKSkpIHsKKyAgICAgICAgICAgICAgICAgICAgeG1sUm5nUEVycihjdHh0LCBjdXIsIFhNTF9STkdQX0ZPUkVJR05fRUxFTUVOVCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZWxlbWVudCAlcyBkb2Vzbid0IGFsbG93IGZvcmVpZ24gZWxlbWVudHNcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VyLT5wYXJlbnQtPm5hbWUsIE5VTEwpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBkZWxldGUgPSBjdXI7CisgICAgICAgICAgICAgICAgZ290byBza2lwX2NoaWxkcmVuOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICB4bWxSZWxheE5HQ2xlYW51cEF0dHJpYnV0ZXMoY3R4dCwgY3VyKTsKKyAgICAgICAgICAgICAgICBpZiAoeG1sU3RyRXF1YWwoY3VyLT5uYW1lLCBCQURfQ0FTVCAiZXh0ZXJuYWxSZWYiKSkgeworICAgICAgICAgICAgICAgICAgICB4bWxDaGFyICpocmVmLCAqbnMsICpiYXNlLCAqVVJMOworICAgICAgICAgICAgICAgICAgICB4bWxSZWxheE5HRG9jdW1lbnRQdHIgZG9jdTsKKyAgICAgICAgICAgICAgICAgICAgeG1sTm9kZVB0ciB0bXA7CisJCSAgICB4bWxVUklQdHIgdXJpOworCisgICAgICAgICAgICAgICAgICAgIG5zID0geG1sR2V0UHJvcChjdXIsIEJBRF9DQVNUICJucyIpOworICAgICAgICAgICAgICAgICAgICBpZiAobnMgPT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gY3VyLT5wYXJlbnQ7CisgICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAoKHRtcCAhPSBOVUxMKSAmJgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh0bXAtPnR5cGUgPT0gWE1MX0VMRU1FTlRfTk9ERSkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBucyA9IHhtbEdldFByb3AodG1wLCBCQURfQ0FTVCAibnMiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobnMgIT0gTlVMTCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gdG1wLT5wYXJlbnQ7CisgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgaHJlZiA9IHhtbEdldFByb3AoY3VyLCBCQURfQ0FTVCAiaHJlZiIpOworICAgICAgICAgICAgICAgICAgICBpZiAoaHJlZiA9PSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgICAgICB4bWxSbmdQRXJyKGN0eHQsIGN1ciwgWE1MX1JOR1BfTUlTU0lOR19IUkVGLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAieG1sUmVsYXhOR1BhcnNlOiBleHRlcm5hbFJlZiBoYXMgbm8gaHJlZiBhdHRyaWJ1dGVcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIE5VTEwpOworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG5zICE9IE5VTEwpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sRnJlZShucyk7CisgICAgICAgICAgICAgICAgICAgICAgICBkZWxldGUgPSBjdXI7CisgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIHNraXBfY2hpbGRyZW47CisgICAgICAgICAgICAgICAgICAgIH0KKwkJICAgIHVyaSA9IHhtbFBhcnNlVVJJKChjb25zdCBjaGFyICopIGhyZWYpOworCQkgICAgaWYgKHVyaSA9PSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgICAgICB4bWxSbmdQRXJyKGN0eHQsIGN1ciwgWE1MX1JOR1BfSFJFRl9FUlJPUiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkluY29ycmVjdCBVUkkgZm9yIGV4dGVybmFsUmVmICVzXG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmLCBOVUxMKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChucyAhPSBOVUxMKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbEZyZWUobnMpOworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGhyZWYgIT0gTlVMTCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxGcmVlKGhyZWYpOworICAgICAgICAgICAgICAgICAgICAgICAgZGVsZXRlID0gY3VyOworICAgICAgICAgICAgICAgICAgICAgICAgZ290byBza2lwX2NoaWxkcmVuOworCQkgICAgfQorCQkgICAgaWYgKHVyaS0+ZnJhZ21lbnQgIT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICAgICAgeG1sUm5nUEVycihjdHh0LCBjdXIsIFhNTF9STkdQX0hSRUZfRVJST1IsCisJCQkgICAgICAgIkZyYWdtZW50IGZvcmJpZGRlbiBpbiBVUkkgZm9yIGV4dGVybmFsUmVmICVzXG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmLCBOVUxMKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChucyAhPSBOVUxMKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbEZyZWUobnMpOworCQkgICAgICAgIHhtbEZyZWVVUkkodXJpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChocmVmICE9IE5VTEwpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sRnJlZShocmVmKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZSA9IGN1cjsKKyAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gc2tpcF9jaGlsZHJlbjsKKwkJICAgIH0KKwkJICAgIHhtbEZyZWVVUkkodXJpKTsKKyAgICAgICAgICAgICAgICAgICAgYmFzZSA9IHhtbE5vZGVHZXRCYXNlKGN1ci0+ZG9jLCBjdXIpOworICAgICAgICAgICAgICAgICAgICBVUkwgPSB4bWxCdWlsZFVSSShocmVmLCBiYXNlKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKFVSTCA9PSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgICAgICB4bWxSbmdQRXJyKGN0eHQsIGN1ciwgWE1MX1JOR1BfSFJFRl9FUlJPUiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkZhaWxlZCB0byBjb21wdXRlIFVSTCBmb3IgZXh0ZXJuYWxSZWYgJXNcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWYsIE5VTEwpOworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG5zICE9IE5VTEwpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sRnJlZShucyk7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaHJlZiAhPSBOVUxMKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbEZyZWUoaHJlZik7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoYmFzZSAhPSBOVUxMKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbEZyZWUoYmFzZSk7CisgICAgICAgICAgICAgICAgICAgICAgICBkZWxldGUgPSBjdXI7CisgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIHNraXBfY2hpbGRyZW47CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgaWYgKGhyZWYgIT0gTlVMTCkKKyAgICAgICAgICAgICAgICAgICAgICAgIHhtbEZyZWUoaHJlZik7CisgICAgICAgICAgICAgICAgICAgIGlmIChiYXNlICE9IE5VTEwpCisgICAgICAgICAgICAgICAgICAgICAgICB4bWxGcmVlKGJhc2UpOworICAgICAgICAgICAgICAgICAgICBkb2N1ID0geG1sUmVsYXhOR0xvYWRFeHRlcm5hbFJlZihjdHh0LCBVUkwsIG5zKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGRvY3UgPT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICAgICAgeG1sUm5nUEVycihjdHh0LCBjdXIsIFhNTF9STkdQX0VYVEVSTkFMX1JFRl9GQUlMVVJFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRmFpbGVkIHRvIGxvYWQgZXh0ZXJuYWxSZWYgJXNcbiIsIFVSTCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAobnMgIT0gTlVMTCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxGcmVlKG5zKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHhtbEZyZWUoVVJMKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZSA9IGN1cjsKKyAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gc2tpcF9jaGlsZHJlbjsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBpZiAobnMgIT0gTlVMTCkKKyAgICAgICAgICAgICAgICAgICAgICAgIHhtbEZyZWUobnMpOworICAgICAgICAgICAgICAgICAgICB4bWxGcmVlKFVSTCk7CisgICAgICAgICAgICAgICAgICAgIGN1ci0+cHN2aSA9IGRvY3U7CisgICAgICAgICAgICAgICAgfSBlbHNlIGlmICh4bWxTdHJFcXVhbChjdXItPm5hbWUsIEJBRF9DQVNUICJpbmNsdWRlIikpIHsKKyAgICAgICAgICAgICAgICAgICAgeG1sQ2hhciAqaHJlZiwgKm5zLCAqYmFzZSwgKlVSTDsKKyAgICAgICAgICAgICAgICAgICAgeG1sUmVsYXhOR0luY2x1ZGVQdHIgaW5jbDsKKyAgICAgICAgICAgICAgICAgICAgeG1sTm9kZVB0ciB0bXA7CisKKyAgICAgICAgICAgICAgICAgICAgaHJlZiA9IHhtbEdldFByb3AoY3VyLCBCQURfQ0FTVCAiaHJlZiIpOworICAgICAgICAgICAgICAgICAgICBpZiAoaHJlZiA9PSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgICAgICB4bWxSbmdQRXJyKGN0eHQsIGN1ciwgWE1MX1JOR1BfTUlTU0lOR19IUkVGLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAieG1sUmVsYXhOR1BhcnNlOiBpbmNsdWRlIGhhcyBubyBocmVmIGF0dHJpYnV0ZVxuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgTlVMTCk7CisgICAgICAgICAgICAgICAgICAgICAgICBkZWxldGUgPSBjdXI7CisgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIHNraXBfY2hpbGRyZW47CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgYmFzZSA9IHhtbE5vZGVHZXRCYXNlKGN1ci0+ZG9jLCBjdXIpOworICAgICAgICAgICAgICAgICAgICBVUkwgPSB4bWxCdWlsZFVSSShocmVmLCBiYXNlKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKFVSTCA9PSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgICAgICB4bWxSbmdQRXJyKGN0eHQsIGN1ciwgWE1MX1JOR1BfSFJFRl9FUlJPUiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkZhaWxlZCB0byBjb21wdXRlIFVSTCBmb3IgaW5jbHVkZSAlc1xuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZiwgTlVMTCk7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaHJlZiAhPSBOVUxMKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbEZyZWUoaHJlZik7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoYmFzZSAhPSBOVUxMKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbEZyZWUoYmFzZSk7CisgICAgICAgICAgICAgICAgICAgICAgICBkZWxldGUgPSBjdXI7CisgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIHNraXBfY2hpbGRyZW47CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgaWYgKGhyZWYgIT0gTlVMTCkKKyAgICAgICAgICAgICAgICAgICAgICAgIHhtbEZyZWUoaHJlZik7CisgICAgICAgICAgICAgICAgICAgIGlmIChiYXNlICE9IE5VTEwpCisgICAgICAgICAgICAgICAgICAgICAgICB4bWxGcmVlKGJhc2UpOworICAgICAgICAgICAgICAgICAgICBucyA9IHhtbEdldFByb3AoY3VyLCBCQURfQ0FTVCAibnMiKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKG5zID09IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IGN1ci0+cGFyZW50OworICAgICAgICAgICAgICAgICAgICAgICAgd2hpbGUgKCh0bXAgIT0gTlVMTCkgJiYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodG1wLT50eXBlID09IFhNTF9FTEVNRU5UX05PREUpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnMgPSB4bWxHZXRQcm9wKHRtcCwgQkFEX0NBU1QgIm5zIik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG5zICE9IE5VTEwpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IHRtcC0+cGFyZW50OworICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIGluY2wgPSB4bWxSZWxheE5HTG9hZEluY2x1ZGUoY3R4dCwgVVJMLCBjdXIsIG5zKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKG5zICE9IE5VTEwpCisgICAgICAgICAgICAgICAgICAgICAgICB4bWxGcmVlKG5zKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGluY2wgPT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICAgICAgeG1sUm5nUEVycihjdHh0LCBjdXIsIFhNTF9STkdQX0lOQ0xVREVfRkFJTFVSRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkZhaWxlZCB0byBsb2FkIGluY2x1ZGUgJXNcbiIsIFVSTCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7CisgICAgICAgICAgICAgICAgICAgICAgICB4bWxGcmVlKFVSTCk7CisgICAgICAgICAgICAgICAgICAgICAgICBkZWxldGUgPSBjdXI7CisgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIHNraXBfY2hpbGRyZW47CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgeG1sRnJlZShVUkwpOworICAgICAgICAgICAgICAgICAgICBjdXItPnBzdmkgPSBpbmNsOworICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoKHhtbFN0ckVxdWFsKGN1ci0+bmFtZSwgQkFEX0NBU1QgImVsZW1lbnQiKSkgfHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICh4bWxTdHJFcXVhbChjdXItPm5hbWUsIEJBRF9DQVNUICJhdHRyaWJ1dGUiKSkpCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICB4bWxDaGFyICpuYW1lLCAqbnM7CisgICAgICAgICAgICAgICAgICAgIHhtbE5vZGVQdHIgdGV4dCA9IE5VTEw7CisKKyAgICAgICAgICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAgICAgICAgICogU2ltcGxpZmljYXRpb24gNC44LiBuYW1lIGF0dHJpYnV0ZSBvZiBlbGVtZW50CisgICAgICAgICAgICAgICAgICAgICAqIGFuZCBhdHRyaWJ1dGUgZWxlbWVudHMKKyAgICAgICAgICAgICAgICAgICAgICovCisgICAgICAgICAgICAgICAgICAgIG5hbWUgPSB4bWxHZXRQcm9wKGN1ciwgQkFEX0NBU1QgIm5hbWUiKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKG5hbWUgIT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGN1ci0+Y2hpbGRyZW4gPT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQgPQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxOZXdDaGlsZChjdXIsIGN1ci0+bnMsIEJBRF9DQVNUICJuYW1lIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSk7CisgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbE5vZGVQdHIgbm9kZTsKKworICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGUgPSB4bWxOZXdEb2NOb2RlKGN1ci0+ZG9jLCBjdXItPm5zLAorCQkJICAgICAgICAgICAgICAgICAgICAgICAgIEJBRF9DQVNUICJuYW1lIiwgTlVMTCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG5vZGUgIT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxBZGRQcmV2U2libGluZyhjdXItPmNoaWxkcmVuLCBub2RlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dCA9IHhtbE5ld1RleHQobmFtZSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbEFkZENoaWxkKG5vZGUsIHRleHQpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gbm9kZTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAodGV4dCA9PSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sUm5nUEVycihjdHh0LCBjdXIsIFhNTF9STkdQX0NSRUFURV9GQUlMVVJFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkZhaWxlZCB0byBjcmVhdGUgYSBuYW1lICVzIGVsZW1lbnRcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lLCBOVUxMKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgIHhtbFVuc2V0UHJvcChjdXIsIEJBRF9DQVNUICJuYW1lIik7CisgICAgICAgICAgICAgICAgICAgICAgICB4bWxGcmVlKG5hbWUpOworICAgICAgICAgICAgICAgICAgICAgICAgbnMgPSB4bWxHZXRQcm9wKGN1ciwgQkFEX0NBU1QgIm5zIik7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAobnMgIT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0ZXh0ICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sU2V0UHJvcCh0ZXh0LCBCQURfQ0FTVCAibnMiLCBucyk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHhtbFVuc2V0UHJvcChjdXIsIEJBRF9DQVNUICJucyIpOyAqLworICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxGcmVlKG5zKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoeG1sU3RyRXF1YWwoY3VyLT5uYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCQURfQ0FTVCAiYXR0cmlidXRlIikpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxTZXRQcm9wKHRleHQsIEJBRF9DQVNUICJucyIsIEJBRF9DQVNUICIiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoKHhtbFN0ckVxdWFsKGN1ci0+bmFtZSwgQkFEX0NBU1QgIm5hbWUiKSkgfHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICh4bWxTdHJFcXVhbChjdXItPm5hbWUsIEJBRF9DQVNUICJuc05hbWUiKSkgfHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICh4bWxTdHJFcXVhbChjdXItPm5hbWUsIEJBRF9DQVNUICJ2YWx1ZSIpKSkgeworICAgICAgICAgICAgICAgICAgICAvKgorICAgICAgICAgICAgICAgICAgICAgKiBTaW1wbGlmaWNhdGlvbiA0LjguIG5hbWUgYXR0cmlidXRlIG9mIGVsZW1lbnQKKyAgICAgICAgICAgICAgICAgICAgICogYW5kIGF0dHJpYnV0ZSBlbGVtZW50cworICAgICAgICAgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgICAgICAgICAgaWYgKHhtbEhhc1Byb3AoY3VyLCBCQURfQ0FTVCAibnMiKSA9PSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgICAgICB4bWxOb2RlUHRyIG5vZGU7CisgICAgICAgICAgICAgICAgICAgICAgICB4bWxDaGFyICpucyA9IE5VTEw7CisKKyAgICAgICAgICAgICAgICAgICAgICAgIG5vZGUgPSBjdXItPnBhcmVudDsKKyAgICAgICAgICAgICAgICAgICAgICAgIHdoaWxlICgobm9kZSAhPSBOVUxMKSAmJgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChub2RlLT50eXBlID09IFhNTF9FTEVNRU5UX05PREUpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnMgPSB4bWxHZXRQcm9wKG5vZGUsIEJBRF9DQVNUICJucyIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChucyAhPSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlID0gbm9kZS0+cGFyZW50OworICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG5zID09IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxTZXRQcm9wKGN1ciwgQkFEX0NBU1QgIm5zIiwgQkFEX0NBU1QgIiIpOworICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxTZXRQcm9wKGN1ciwgQkFEX0NBU1QgIm5zIiwgbnMpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbEZyZWUobnMpOworICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIGlmICh4bWxTdHJFcXVhbChjdXItPm5hbWUsIEJBRF9DQVNUICJuYW1lIikpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHhtbENoYXIgKm5hbWUsICpsb2NhbCwgKnByZWZpeDsKKworICAgICAgICAgICAgICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAgICAgICAgICAgICAqIFNpbXBsaWZpY2F0aW9uOiA0LjEwLiBRTmFtZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAqLworICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSA9IHhtbE5vZGVHZXRDb250ZW50KGN1cik7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAobmFtZSAhPSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWwgPSB4bWxTcGxpdFFOYW1lMihuYW1lLCAmcHJlZml4KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobG9jYWwgIT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxOc1B0ciBuczsKKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBucyA9IHhtbFNlYXJjaE5zKGN1ci0+ZG9jLCBjdXIsIHByZWZpeCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChucyA9PSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxSbmdQRXJyKGN0eHQsIGN1ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWE1MX1JOR1BfUFJFRklYX1VOREVGSU5FRCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInhtbFJlbGF4TkdQYXJzZTogbm8gbmFtZXNwYWNlIGZvciBwcmVmaXggJXNcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZWZpeCwgTlVMTCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxTZXRQcm9wKGN1ciwgQkFEX0NBU1QgIm5zIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnMtPmhyZWYpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sTm9kZVNldENvbnRlbnQoY3VyLCBsb2NhbCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sRnJlZShsb2NhbCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbEZyZWUocHJlZml4KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sRnJlZShuYW1lKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAvKgorICAgICAgICAgICAgICAgICAgICAgKiA0LjE2CisgICAgICAgICAgICAgICAgICAgICAqLworICAgICAgICAgICAgICAgICAgICBpZiAoeG1sU3RyRXF1YWwoY3VyLT5uYW1lLCBCQURfQ0FTVCAibnNOYW1lIikpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjdHh0LT5mbGFncyAmIFhNTF9SRUxBWE5HX0lOX05TRVhDRVBUKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sUm5nUEVycihjdHh0LCBjdXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfUk5HUF9QQVRfTlNOQU1FX0VYQ0VQVF9OU05BTUUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRm91bmQgbnNOYW1lL2V4Y2VwdC8vbnNOYW1lIGZvcmJpZGRlbiBjb25zdHJ1Y3RcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCBOVUxMKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoKHhtbFN0ckVxdWFsKGN1ci0+bmFtZSwgQkFEX0NBU1QgImV4Y2VwdCIpKSAmJgorICAgICAgICAgICAgICAgICAgICAgICAgICAgKGN1ciAhPSByb290KSkgeworICAgICAgICAgICAgICAgICAgICBpbnQgb2xkZmxhZ3MgPSBjdHh0LT5mbGFnczsKKworICAgICAgICAgICAgICAgICAgICAvKgorICAgICAgICAgICAgICAgICAgICAgKiA0LjE2CisgICAgICAgICAgICAgICAgICAgICAqLworICAgICAgICAgICAgICAgICAgICBpZiAoKGN1ci0+cGFyZW50ICE9IE5VTEwpICYmCisgICAgICAgICAgICAgICAgICAgICAgICAoeG1sU3RyRXF1YWwKKyAgICAgICAgICAgICAgICAgICAgICAgICAoY3VyLT5wYXJlbnQtPm5hbWUsIEJBRF9DQVNUICJhbnlOYW1lIikpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBjdHh0LT5mbGFncyB8PSBYTUxfUkVMQVhOR19JTl9BTllFWENFUFQ7CisgICAgICAgICAgICAgICAgICAgICAgICB4bWxSZWxheE5HQ2xlYW51cFRyZWUoY3R4dCwgY3VyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGN0eHQtPmZsYWdzID0gb2xkZmxhZ3M7CisgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIHNraXBfY2hpbGRyZW47CisgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoKGN1ci0+cGFyZW50ICE9IE5VTEwpICYmCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHhtbFN0ckVxdWFsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjdXItPnBhcmVudC0+bmFtZSwgQkFEX0NBU1QgIm5zTmFtZSIpKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgY3R4dC0+ZmxhZ3MgfD0gWE1MX1JFTEFYTkdfSU5fTlNFWENFUFQ7CisgICAgICAgICAgICAgICAgICAgICAgICB4bWxSZWxheE5HQ2xlYW51cFRyZWUoY3R4dCwgY3VyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGN0eHQtPmZsYWdzID0gb2xkZmxhZ3M7CisgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIHNraXBfY2hpbGRyZW47CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHhtbFN0ckVxdWFsKGN1ci0+bmFtZSwgQkFEX0NBU1QgImFueU5hbWUiKSkgeworICAgICAgICAgICAgICAgICAgICAvKgorICAgICAgICAgICAgICAgICAgICAgKiA0LjE2CisgICAgICAgICAgICAgICAgICAgICAqLworICAgICAgICAgICAgICAgICAgICBpZiAoY3R4dC0+ZmxhZ3MgJiBYTUxfUkVMQVhOR19JTl9BTllFWENFUFQpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHhtbFJuZ1BFcnIoY3R4dCwgY3VyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfUk5HUF9QQVRfQU5ZTkFNRV9FWENFUFRfQU5ZTkFNRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkZvdW5kIGFueU5hbWUvZXhjZXB0Ly9hbnlOYW1lIGZvcmJpZGRlbiBjb25zdHJ1Y3RcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIE5VTEwpOworICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGN0eHQtPmZsYWdzICYgWE1MX1JFTEFYTkdfSU5fTlNFWENFUFQpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHhtbFJuZ1BFcnIoY3R4dCwgY3VyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfUk5HUF9QQVRfTlNOQU1FX0VYQ0VQVF9BTllOQU1FLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRm91bmQgbnNOYW1lL2V4Y2VwdC8vYW55TmFtZSBmb3JiaWRkZW4gY29uc3RydWN0XG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCBOVUxMKTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAvKgorICAgICAgICAgICAgICAgICAqIFRoaXMgaXMgbm90IGFuIGVsc2Ugc2luY2UgImluY2x1ZGUiIGlzIHRyYW5zZm9ybWVkCisgICAgICAgICAgICAgICAgICogaW50byBhIGRpdgorICAgICAgICAgICAgICAgICAqLworICAgICAgICAgICAgICAgIGlmICh4bWxTdHJFcXVhbChjdXItPm5hbWUsIEJBRF9DQVNUICJkaXYiKSkgeworICAgICAgICAgICAgICAgICAgICB4bWxDaGFyICpuczsKKyAgICAgICAgICAgICAgICAgICAgeG1sTm9kZVB0ciBjaGlsZCwgaW5zLCB0bXA7CisKKyAgICAgICAgICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAgICAgICAgICogaW1wbGVtZW50cyBydWxlIDQuMTEKKyAgICAgICAgICAgICAgICAgICAgICovCisKKyAgICAgICAgICAgICAgICAgICAgbnMgPSB4bWxHZXRQcm9wKGN1ciwgQkFEX0NBU1QgIm5zIik7CisKKyAgICAgICAgICAgICAgICAgICAgY2hpbGQgPSBjdXItPmNoaWxkcmVuOworICAgICAgICAgICAgICAgICAgICBpbnMgPSBjdXI7CisgICAgICAgICAgICAgICAgICAgIHdoaWxlIChjaGlsZCAhPSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAobnMgIT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgheG1sSGFzUHJvcChjaGlsZCwgQkFEX0NBU1QgIm5zIikpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sU2V0UHJvcChjaGlsZCwgQkFEX0NBU1QgIm5zIiwgbnMpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IGNoaWxkLT5uZXh0OworICAgICAgICAgICAgICAgICAgICAgICAgeG1sVW5saW5rTm9kZShjaGlsZCk7CisgICAgICAgICAgICAgICAgICAgICAgICBpbnMgPSB4bWxBZGROZXh0U2libGluZyhpbnMsIGNoaWxkKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkID0gdG1wOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIGlmIChucyAhPSBOVUxMKQorICAgICAgICAgICAgICAgICAgICAgICAgeG1sRnJlZShucyk7CisJCSAgICAvKgorCQkgICAgICogU2luY2Ugd2UgYXJlIGFib3V0IHRvIGRlbGV0ZSBjdXIsIGlmIGl0cyBuc0RlZiBpcyBub24tTlVMTCB3ZQorCQkgICAgICogbmVlZCB0byBwcmVzZXJ2ZSBpdCAoaXQgY29udGFpbnMgdGhlIG5zIGRlZmluaXRpb25zIGZvciB0aGUKKwkJICAgICAqIGNoaWxkcmVuIHdlIGp1c3QgbW92ZWQpLiAgV2UnbGwganVzdCBzdGljayBpdCBvbiB0byB0aGUgZW5kCisJCSAgICAgKiBvZiBjdXItPnBhcmVudCdzIGxpc3QsIHNpbmNlIGl0J3MgbmV2ZXIgZ29pbmcgdG8gYmUgcmUtc2VyaWFsaXplZAorCQkgICAgICogKGJ1ZyAxNDM3MzgpLgorCQkgICAgICovCisJCSAgICBpZiAoKGN1ci0+bnNEZWYgIT0gTlVMTCkgJiYgKGN1ci0+cGFyZW50ICE9IE5VTEwpKSB7CisJCQl4bWxOc1B0ciBwYXJEZWYgPSAoeG1sTnNQdHIpJmN1ci0+cGFyZW50LT5uc0RlZjsKKwkJCXdoaWxlIChwYXJEZWYtPm5leHQgIT0gTlVMTCkKKwkJCSAgICBwYXJEZWYgPSBwYXJEZWYtPm5leHQ7CisJCQlwYXJEZWYtPm5leHQgPSBjdXItPm5zRGVmOworCQkJY3VyLT5uc0RlZiA9IE5VTEw7CisJCSAgICB9CisgICAgICAgICAgICAgICAgICAgIGRlbGV0ZSA9IGN1cjsKKyAgICAgICAgICAgICAgICAgICAgZ290byBza2lwX2NoaWxkcmVuOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICAvKgorICAgICAgICAgKiBTaW1wbGlmaWNhdGlvbiA0LjIgd2hpdGVzcGFjZXMKKyAgICAgICAgICovCisgICAgICAgIGVsc2UgaWYgKChjdXItPnR5cGUgPT0gWE1MX1RFWFRfTk9ERSkgfHwKKyAgICAgICAgICAgICAgICAgKGN1ci0+dHlwZSA9PSBYTUxfQ0RBVEFfU0VDVElPTl9OT0RFKSkgeworICAgICAgICAgICAgaWYgKElTX0JMQU5LX05PREUoY3VyKSkgeworICAgICAgICAgICAgICAgIGlmICgoY3VyLT5wYXJlbnQgIT0gTlVMTCkgJiYKKwkJICAgIChjdXItPnBhcmVudC0+dHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFKSkgeworICAgICAgICAgICAgICAgICAgICBpZiAoKCF4bWxTdHJFcXVhbChjdXItPnBhcmVudC0+bmFtZSwgQkFEX0NBU1QgInZhbHVlIikpCisgICAgICAgICAgICAgICAgICAgICAgICAmJgorICAgICAgICAgICAgICAgICAgICAgICAgKCF4bWxTdHJFcXVhbAorICAgICAgICAgICAgICAgICAgICAgICAgIChjdXItPnBhcmVudC0+bmFtZSwgQkFEX0NBU1QgInBhcmFtIikpKQorICAgICAgICAgICAgICAgICAgICAgICAgZGVsZXRlID0gY3VyOworICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIGRlbGV0ZSA9IGN1cjsKKyAgICAgICAgICAgICAgICAgICAgZ290byBza2lwX2NoaWxkcmVuOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGRlbGV0ZSA9IGN1cjsKKyAgICAgICAgICAgIGdvdG8gc2tpcF9jaGlsZHJlbjsKKyAgICAgICAgfQorCisgICAgICAgIC8qCisgICAgICAgICAqIFNraXAgdG8gbmV4dCBub2RlCisgICAgICAgICAqLworICAgICAgICBpZiAoY3VyLT5jaGlsZHJlbiAhPSBOVUxMKSB7CisgICAgICAgICAgICBpZiAoKGN1ci0+Y2hpbGRyZW4tPnR5cGUgIT0gWE1MX0VOVElUWV9ERUNMKSAmJgorICAgICAgICAgICAgICAgIChjdXItPmNoaWxkcmVuLT50eXBlICE9IFhNTF9FTlRJVFlfUkVGX05PREUpICYmCisgICAgICAgICAgICAgICAgKGN1ci0+Y2hpbGRyZW4tPnR5cGUgIT0gWE1MX0VOVElUWV9OT0RFKSkgeworICAgICAgICAgICAgICAgIGN1ciA9IGN1ci0+Y2hpbGRyZW47CisgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgIHNraXBfY2hpbGRyZW46CisgICAgICAgIGlmIChjdXItPm5leHQgIT0gTlVMTCkgeworICAgICAgICAgICAgY3VyID0gY3VyLT5uZXh0OworICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIH0KKworICAgICAgICBkbyB7CisgICAgICAgICAgICBjdXIgPSBjdXItPnBhcmVudDsKKyAgICAgICAgICAgIGlmIChjdXIgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGlmIChjdXIgPT0gcm9vdCkgeworICAgICAgICAgICAgICAgIGN1ciA9IE5VTEw7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAoY3VyLT5uZXh0ICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICBjdXIgPSBjdXItPm5leHQ7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgIH0gd2hpbGUgKGN1ciAhPSBOVUxMKTsKKyAgICB9CisgICAgaWYgKGRlbGV0ZSAhPSBOVUxMKSB7CisgICAgICAgIHhtbFVubGlua05vZGUoZGVsZXRlKTsKKyAgICAgICAgeG1sRnJlZU5vZGUoZGVsZXRlKTsKKyAgICAgICAgZGVsZXRlID0gTlVMTDsKKyAgICB9Cit9CisKKy8qKgorICogeG1sUmVsYXhOR0NsZWFudXBEb2M6CisgKiBAY3R4dDogIGEgUmVsYXgtTkcgcGFyc2VyIGNvbnRleHQKKyAqIEBkb2M6ICBhbiB4bWxkb2NQdHIgZG9jdW1lbnQgcG9pbnRlcgorICoKKyAqIENsZWFudXAgdGhlIGRvY3VtZW50IGZyb20gdW53YW50ZWQgbm9kZXMgZm9yIHBhcnNpbmcsIHJlc29sdmUKKyAqIEluY2x1ZGUgYW5kIGV4dGVybmFsUmVmIGxvb2t1cHMuCisgKgorICogUmV0dXJucyB0aGUgY2xlYW5lZCB1cCBkb2N1bWVudCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworc3RhdGljIHhtbERvY1B0cgoreG1sUmVsYXhOR0NsZWFudXBEb2MoeG1sUmVsYXhOR1BhcnNlckN0eHRQdHIgY3R4dCwgeG1sRG9jUHRyIGRvYykKK3sKKyAgICB4bWxOb2RlUHRyIHJvb3Q7CisKKyAgICAvKgorICAgICAqIEV4dHJhY3QgdGhlIHJvb3QKKyAgICAgKi8KKyAgICByb290ID0geG1sRG9jR2V0Um9vdEVsZW1lbnQoZG9jKTsKKyAgICBpZiAocm9vdCA9PSBOVUxMKSB7CisgICAgICAgIHhtbFJuZ1BFcnIoY3R4dCwgKHhtbE5vZGVQdHIpIGRvYywgWE1MX1JOR1BfRU1QVFksICJ4bWxSZWxheE5HUGFyc2U6ICVzIGlzIGVtcHR5XG4iLAorICAgICAgICAgICAgICAgICAgIGN0eHQtPlVSTCwgTlVMTCk7CisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgfQorICAgIHhtbFJlbGF4TkdDbGVhbnVwVHJlZShjdHh0LCByb290KTsKKyAgICByZXR1cm4gKGRvYyk7Cit9CisKKy8qKgorICogeG1sUmVsYXhOR1BhcnNlOgorICogQGN0eHQ6ICBhIFJlbGF4LU5HIHBhcnNlciBjb250ZXh0CisgKgorICogcGFyc2UgYSBzY2hlbWEgZGVmaW5pdGlvbiByZXNvdXJjZSBhbmQgYnVpbGQgYW4gaW50ZXJuYWwKKyAqIFhNTCBTaGVtYSBzdHJ1dHVyZSB3aGljaCBjYW4gYmUgdXNlZCB0byB2YWxpZGF0ZSBpbnN0YW5jZXMuCisgKgorICogUmV0dXJucyB0aGUgaW50ZXJuYWwgWE1MIFJlbGF4Tkcgc3RydWN0dXJlIGJ1aWx0IGZyb20gdGhlIHJlc291cmNlIG9yCisgKiAgICAgICAgIE5VTEwgaW4gY2FzZSBvZiBlcnJvcgorICovCit4bWxSZWxheE5HUHRyCit4bWxSZWxheE5HUGFyc2UoeG1sUmVsYXhOR1BhcnNlckN0eHRQdHIgY3R4dCkKK3sKKyAgICB4bWxSZWxheE5HUHRyIHJldCA9IE5VTEw7CisgICAgeG1sRG9jUHRyIGRvYzsKKyAgICB4bWxOb2RlUHRyIHJvb3Q7CisKKyAgICB4bWxSZWxheE5HSW5pdFR5cGVzKCk7CisKKyAgICBpZiAoY3R4dCA9PSBOVUxMKQorICAgICAgICByZXR1cm4gKE5VTEwpOworCisgICAgLyoKKyAgICAgKiBGaXJzdCBzdGVwIGlzIHRvIHBhcnNlIHRoZSBpbnB1dCBkb2N1bWVudCBpbnRvIGFuIERPTS9JbmZvc2V0CisgICAgICovCisgICAgaWYgKGN0eHQtPlVSTCAhPSBOVUxMKSB7CisgICAgICAgIGRvYyA9IHhtbFJlYWRGaWxlKChjb25zdCBjaGFyICopIGN0eHQtPlVSTCxOVUxMLDApOworICAgICAgICBpZiAoZG9jID09IE5VTEwpIHsKKyAgICAgICAgICAgIHhtbFJuZ1BFcnIoY3R4dCwgTlVMTCwgWE1MX1JOR1BfUEFSU0VfRVJST1IsCisgICAgICAgICAgICAgICAgICAgICAgICJ4bWxSZWxheE5HUGFyc2U6IGNvdWxkIG5vdCBsb2FkICVzXG4iLCBjdHh0LT5VUkwsCisgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOworICAgICAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICAgICAgfQorICAgIH0gZWxzZSBpZiAoY3R4dC0+YnVmZmVyICE9IE5VTEwpIHsKKyAgICAgICAgZG9jID0geG1sUmVhZE1lbW9yeShjdHh0LT5idWZmZXIsIGN0eHQtPnNpemUsTlVMTCxOVUxMLDApOworICAgICAgICBpZiAoZG9jID09IE5VTEwpIHsKKyAgICAgICAgICAgIHhtbFJuZ1BFcnIoY3R4dCwgTlVMTCwgWE1MX1JOR1BfUEFSU0VfRVJST1IsCisgICAgICAgICAgICAgICAgICAgICAgICJ4bWxSZWxheE5HUGFyc2U6IGNvdWxkIG5vdCBwYXJzZSBzY2hlbWFzXG4iLCBOVUxMLAorICAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsKKyAgICAgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgICAgIH0KKyAgICAgICAgZG9jLT5VUkwgPSB4bWxTdHJkdXAoQkFEX0NBU1QgImluX21lbW9yeV9idWZmZXIiKTsKKyAgICAgICAgY3R4dC0+VVJMID0geG1sU3RyZHVwKEJBRF9DQVNUICJpbl9tZW1vcnlfYnVmZmVyIik7CisgICAgfSBlbHNlIGlmIChjdHh0LT5kb2N1bWVudCAhPSBOVUxMKSB7CisgICAgICAgIGRvYyA9IGN0eHQtPmRvY3VtZW50OworICAgIH0gZWxzZSB7CisgICAgICAgIHhtbFJuZ1BFcnIoY3R4dCwgTlVMTCwgWE1MX1JOR1BfRU1QVFksCisgICAgICAgICAgICAgICAgICAgInhtbFJlbGF4TkdQYXJzZTogbm90aGluZyB0byBwYXJzZVxuIiwgTlVMTCwgTlVMTCk7CisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgfQorICAgIGN0eHQtPmRvY3VtZW50ID0gZG9jOworCisgICAgLyoKKyAgICAgKiBTb21lIHByZXByb2Nlc3Npbmcgb2YgdGhlIGRvY3VtZW50IGNvbnRlbnQKKyAgICAgKi8KKyAgICBkb2MgPSB4bWxSZWxheE5HQ2xlYW51cERvYyhjdHh0LCBkb2MpOworICAgIGlmIChkb2MgPT0gTlVMTCkgeworICAgICAgICB4bWxGcmVlRG9jKGN0eHQtPmRvY3VtZW50KTsKKyAgICAgICAgY3R4dC0+ZG9jdW1lbnQgPSBOVUxMOworICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIH0KKworICAgIC8qCisgICAgICogVGhlbiBkbyB0aGUgcGFyc2luZyBmb3IgZ29vZAorICAgICAqLworICAgIHJvb3QgPSB4bWxEb2NHZXRSb290RWxlbWVudChkb2MpOworICAgIGlmIChyb290ID09IE5VTEwpIHsKKyAgICAgICAgeG1sUm5nUEVycihjdHh0LCAoeG1sTm9kZVB0cikgZG9jLAorCSAgICAgICAgICAgWE1MX1JOR1BfRU1QVFksICJ4bWxSZWxheE5HUGFyc2U6ICVzIGlzIGVtcHR5XG4iLAorICAgICAgICAgICAgICAgICAgIChjdHh0LT5VUkwgPyBjdHh0LT5VUkwgOiBCQURfQ0FTVCAic2NoZW1hcyIpLCBOVUxMKTsKKworICAgICAgICB4bWxGcmVlRG9jKGN0eHQtPmRvY3VtZW50KTsKKyAgICAgICAgY3R4dC0+ZG9jdW1lbnQgPSBOVUxMOworICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIH0KKyAgICByZXQgPSB4bWxSZWxheE5HUGFyc2VEb2N1bWVudChjdHh0LCByb290KTsKKyAgICBpZiAocmV0ID09IE5VTEwpIHsKKyAgICAgICAgeG1sRnJlZURvYyhjdHh0LT5kb2N1bWVudCk7CisgICAgICAgIGN0eHQtPmRvY3VtZW50ID0gTlVMTDsKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICB9CisKKyAgICAvKgorICAgICAqIENoZWNrIHRoZSByZWYvZGVmaW5lcyBsaW5rcworICAgICAqLworICAgIC8qCisgICAgICogdHJ5IHRvIHByZXByb2Nlc3MgaW50ZXJsZWF2ZXMKKyAgICAgKi8KKyAgICBpZiAoY3R4dC0+aW50ZXJsZWF2ZXMgIT0gTlVMTCkgeworICAgICAgICB4bWxIYXNoU2NhbihjdHh0LT5pbnRlcmxlYXZlcywKKyAgICAgICAgICAgICAgICAgICAgKHhtbEhhc2hTY2FubmVyKSB4bWxSZWxheE5HQ29tcHV0ZUludGVybGVhdmVzLCBjdHh0KTsKKyAgICB9CisKKyAgICAvKgorICAgICAqIGlmIHRoZXJlIHdhcyBhIHBhcnNpbmcgZXJyb3IgcmV0dXJuIE5VTEwKKyAgICAgKi8KKyAgICBpZiAoY3R4dC0+bmJFcnJvcnMgPiAwKSB7CisgICAgICAgIHhtbFJlbGF4TkdGcmVlKHJldCk7CisgICAgICAgIGN0eHQtPmRvY3VtZW50ID0gTlVMTDsKKyAgICAgICAgeG1sRnJlZURvYyhkb2MpOworICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIH0KKworICAgIC8qCisgICAgICogdHJ5IHRvIGNvbXBpbGUgKHBhcnRzIG9mKSB0aGUgc2NoZW1hcworICAgICAqLworICAgIGlmICgocmV0LT50b3BncmFtbWFyICE9IE5VTEwpICYmIChyZXQtPnRvcGdyYW1tYXItPnN0YXJ0ICE9IE5VTEwpKSB7CisgICAgICAgIGlmIChyZXQtPnRvcGdyYW1tYXItPnN0YXJ0LT50eXBlICE9IFhNTF9SRUxBWE5HX1NUQVJUKSB7CisgICAgICAgICAgICB4bWxSZWxheE5HRGVmaW5lUHRyIGRlZjsKKworICAgICAgICAgICAgZGVmID0geG1sUmVsYXhOR05ld0RlZmluZShjdHh0LCBOVUxMKTsKKyAgICAgICAgICAgIGlmIChkZWYgIT0gTlVMTCkgeworICAgICAgICAgICAgICAgIGRlZi0+dHlwZSA9IFhNTF9SRUxBWE5HX1NUQVJUOworICAgICAgICAgICAgICAgIGRlZi0+Y29udGVudCA9IHJldC0+dG9wZ3JhbW1hci0+c3RhcnQ7CisgICAgICAgICAgICAgICAgcmV0LT50b3BncmFtbWFyLT5zdGFydCA9IGRlZjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICB4bWxSZWxheE5HVHJ5Q29tcGlsZShjdHh0LCByZXQtPnRvcGdyYW1tYXItPnN0YXJ0KTsKKyAgICB9CisKKyAgICAvKgorICAgICAqIFRyYW5zZmVyIHRoZSBwb2ludGVyIGZvciBjbGVhbnVwIGF0IHRoZSBzY2hlbWEgbGV2ZWwuCisgICAgICovCisgICAgcmV0LT5kb2MgPSBkb2M7CisgICAgY3R4dC0+ZG9jdW1lbnQgPSBOVUxMOworICAgIHJldC0+ZG9jdW1lbnRzID0gY3R4dC0+ZG9jdW1lbnRzOworICAgIGN0eHQtPmRvY3VtZW50cyA9IE5VTEw7CisKKyAgICByZXQtPmluY2x1ZGVzID0gY3R4dC0+aW5jbHVkZXM7CisgICAgY3R4dC0+aW5jbHVkZXMgPSBOVUxMOworICAgIHJldC0+ZGVmTnIgPSBjdHh0LT5kZWZOcjsKKyAgICByZXQtPmRlZlRhYiA9IGN0eHQtPmRlZlRhYjsKKyAgICBjdHh0LT5kZWZUYWIgPSBOVUxMOworICAgIGlmIChjdHh0LT5pZHJlZiA9PSAxKQorICAgICAgICByZXQtPmlkcmVmID0gMTsKKworICAgIHJldHVybiAocmV0KTsKK30KKworLyoqCisgKiB4bWxSZWxheE5HU2V0UGFyc2VyRXJyb3JzOgorICogQGN0eHQ6ICBhIFJlbGF4LU5HIHZhbGlkYXRpb24gY29udGV4dAorICogQGVycjogIHRoZSBlcnJvciBjYWxsYmFjaworICogQHdhcm46ICB0aGUgd2FybmluZyBjYWxsYmFjaworICogQGN0eDogIGNvbnRleHR1YWwgZGF0YSBmb3IgdGhlIGNhbGxiYWNrcworICoKKyAqIFNldCB0aGUgY2FsbGJhY2sgZnVuY3Rpb25zIHVzZWQgdG8gaGFuZGxlIGVycm9ycyBmb3IgYSB2YWxpZGF0aW9uIGNvbnRleHQKKyAqLwordm9pZAoreG1sUmVsYXhOR1NldFBhcnNlckVycm9ycyh4bWxSZWxheE5HUGFyc2VyQ3R4dFB0ciBjdHh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxSZWxheE5HVmFsaWRpdHlFcnJvckZ1bmMgZXJyLAorICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxSZWxheE5HVmFsaWRpdHlXYXJuaW5nRnVuYyB3YXJuLCB2b2lkICpjdHgpCit7CisgICAgaWYgKGN0eHQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuOworICAgIGN0eHQtPmVycm9yID0gZXJyOworICAgIGN0eHQtPndhcm5pbmcgPSB3YXJuOworICAgIGN0eHQtPnNlcnJvciA9IE5VTEw7CisgICAgY3R4dC0+dXNlckRhdGEgPSBjdHg7Cit9CisKKy8qKgorICogeG1sUmVsYXhOR0dldFBhcnNlckVycm9yczoKKyAqIEBjdHh0OiAgYSBSZWxheC1ORyB2YWxpZGF0aW9uIGNvbnRleHQKKyAqIEBlcnI6ICB0aGUgZXJyb3IgY2FsbGJhY2sgcmVzdWx0CisgKiBAd2FybjogIHRoZSB3YXJuaW5nIGNhbGxiYWNrIHJlc3VsdAorICogQGN0eDogIGNvbnRleHR1YWwgZGF0YSBmb3IgdGhlIGNhbGxiYWNrcyByZXN1bHQKKyAqCisgKiBHZXQgdGhlIGNhbGxiYWNrIGluZm9ybWF0aW9uIHVzZWQgdG8gaGFuZGxlIGVycm9ycyBmb3IgYSB2YWxpZGF0aW9uIGNvbnRleHQKKyAqCisgKiBSZXR1cm5zIC0xIGluIGNhc2Ugb2YgZmFpbHVyZSwgMCBvdGhlcndpc2UuCisgKi8KK2ludAoreG1sUmVsYXhOR0dldFBhcnNlckVycm9ycyh4bWxSZWxheE5HUGFyc2VyQ3R4dFB0ciBjdHh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxSZWxheE5HVmFsaWRpdHlFcnJvckZ1bmMgKiBlcnIsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdWYWxpZGl0eVdhcm5pbmdGdW5jICogd2Fybiwgdm9pZCAqKmN0eCkKK3sKKyAgICBpZiAoY3R4dCA9PSBOVUxMKQorICAgICAgICByZXR1cm4gKC0xKTsKKyAgICBpZiAoZXJyICE9IE5VTEwpCisgICAgICAgICplcnIgPSBjdHh0LT5lcnJvcjsKKyAgICBpZiAod2FybiAhPSBOVUxMKQorICAgICAgICAqd2FybiA9IGN0eHQtPndhcm5pbmc7CisgICAgaWYgKGN0eCAhPSBOVUxMKQorICAgICAgICAqY3R4ID0gY3R4dC0+dXNlckRhdGE7CisgICAgcmV0dXJuICgwKTsKK30KKworLyoqCisgKiB4bWxSZWxheE5HU2V0UGFyc2VyU3RydWN0dXJlZEVycm9yczoKKyAqIEBjdHh0OiAgYSBSZWxheC1ORyBwYXJzZXIgY29udGV4dAorICogQHNlcnJvcjogIHRoZSBlcnJvciBjYWxsYmFjaworICogQGN0eDogIGNvbnRleHR1YWwgZGF0YSBmb3IgdGhlIGNhbGxiYWNrcworICoKKyAqIFNldCB0aGUgY2FsbGJhY2sgZnVuY3Rpb25zIHVzZWQgdG8gaGFuZGxlIGVycm9ycyBmb3IgYSBwYXJzaW5nIGNvbnRleHQKKyAqLwordm9pZAoreG1sUmVsYXhOR1NldFBhcnNlclN0cnVjdHVyZWRFcnJvcnMoeG1sUmVsYXhOR1BhcnNlckN0eHRQdHIgY3R4dCwKKwkJCQkgICAgeG1sU3RydWN0dXJlZEVycm9yRnVuYyBzZXJyb3IsCisJCQkJICAgIHZvaWQgKmN0eCkKK3sKKyAgICBpZiAoY3R4dCA9PSBOVUxMKQorICAgICAgICByZXR1cm47CisgICAgY3R4dC0+c2Vycm9yID0gc2Vycm9yOworICAgIGN0eHQtPmVycm9yID0gTlVMTDsKKyAgICBjdHh0LT53YXJuaW5nID0gTlVMTDsKKyAgICBjdHh0LT51c2VyRGF0YSA9IGN0eDsKK30KKworI2lmZGVmIExJQlhNTF9PVVRQVVRfRU5BQkxFRAorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQkJRHVtcCBiYWNrIGEgY29tcGlsZWQgZm9ybQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyB2b2lkIHhtbFJlbGF4TkdEdW1wRGVmaW5lKEZJTEUgKiBvdXRwdXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxSZWxheE5HRGVmaW5lUHRyIGRlZmluZSk7CisKKy8qKgorICogeG1sUmVsYXhOR0R1bXBEZWZpbmVzOgorICogQG91dHB1dDogIHRoZSBmaWxlIG91dHB1dAorICogQGRlZmluZXM6ICBhIGxpc3Qgb2YgZGVmaW5lIHN0cnVjdHVyZXMKKyAqCisgKiBEdW1wIGEgUmVsYXhORyBzdHJ1Y3R1cmUgYmFjaworICovCitzdGF0aWMgdm9pZAoreG1sUmVsYXhOR0R1bXBEZWZpbmVzKEZJTEUgKiBvdXRwdXQsIHhtbFJlbGF4TkdEZWZpbmVQdHIgZGVmaW5lcykKK3sKKyAgICB3aGlsZSAoZGVmaW5lcyAhPSBOVUxMKSB7CisgICAgICAgIHhtbFJlbGF4TkdEdW1wRGVmaW5lKG91dHB1dCwgZGVmaW5lcyk7CisgICAgICAgIGRlZmluZXMgPSBkZWZpbmVzLT5uZXh0OworICAgIH0KK30KKworLyoqCisgKiB4bWxSZWxheE5HRHVtcERlZmluZToKKyAqIEBvdXRwdXQ6ICB0aGUgZmlsZSBvdXRwdXQKKyAqIEBkZWZpbmU6ICBhIGRlZmluZSBzdHJ1Y3R1cmUKKyAqCisgKiBEdW1wIGEgUmVsYXhORyBzdHJ1Y3R1cmUgYmFjaworICovCitzdGF0aWMgdm9pZAoreG1sUmVsYXhOR0R1bXBEZWZpbmUoRklMRSAqIG91dHB1dCwgeG1sUmVsYXhOR0RlZmluZVB0ciBkZWZpbmUpCit7CisgICAgaWYgKGRlZmluZSA9PSBOVUxMKQorICAgICAgICByZXR1cm47CisgICAgc3dpdGNoIChkZWZpbmUtPnR5cGUpIHsKKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19FTVBUWToKKyAgICAgICAgICAgIGZwcmludGYob3V0cHV0LCAiPGVtcHR5Lz5cbiIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfTk9UX0FMTE9XRUQ6CisgICAgICAgICAgICBmcHJpbnRmKG91dHB1dCwgIjxub3RBbGxvd2VkLz5cbiIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfVEVYVDoKKyAgICAgICAgICAgIGZwcmludGYob3V0cHV0LCAiPHRleHQvPlxuIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19FTEVNRU5UOgorICAgICAgICAgICAgZnByaW50ZihvdXRwdXQsICI8ZWxlbWVudD5cbiIpOworICAgICAgICAgICAgaWYgKGRlZmluZS0+bmFtZSAhPSBOVUxMKSB7CisgICAgICAgICAgICAgICAgZnByaW50ZihvdXRwdXQsICI8bmFtZSIpOworICAgICAgICAgICAgICAgIGlmIChkZWZpbmUtPm5zICE9IE5VTEwpCisgICAgICAgICAgICAgICAgICAgIGZwcmludGYob3V0cHV0LCAiIG5zPVwiJXNcIiIsIGRlZmluZS0+bnMpOworICAgICAgICAgICAgICAgIGZwcmludGYob3V0cHV0LCAiPiVzPC9uYW1lPlxuIiwgZGVmaW5lLT5uYW1lKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHhtbFJlbGF4TkdEdW1wRGVmaW5lcyhvdXRwdXQsIGRlZmluZS0+YXR0cnMpOworICAgICAgICAgICAgeG1sUmVsYXhOR0R1bXBEZWZpbmVzKG91dHB1dCwgZGVmaW5lLT5jb250ZW50KTsKKyAgICAgICAgICAgIGZwcmludGYob3V0cHV0LCAiPC9lbGVtZW50PlxuIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19MSVNUOgorICAgICAgICAgICAgZnByaW50ZihvdXRwdXQsICI8bGlzdD5cbiIpOworICAgICAgICAgICAgeG1sUmVsYXhOR0R1bXBEZWZpbmVzKG91dHB1dCwgZGVmaW5lLT5jb250ZW50KTsKKyAgICAgICAgICAgIGZwcmludGYob3V0cHV0LCAiPC9saXN0PlxuIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19PTkVPUk1PUkU6CisgICAgICAgICAgICBmcHJpbnRmKG91dHB1dCwgIjxvbmVPck1vcmU+XG4iKTsKKyAgICAgICAgICAgIHhtbFJlbGF4TkdEdW1wRGVmaW5lcyhvdXRwdXQsIGRlZmluZS0+Y29udGVudCk7CisgICAgICAgICAgICBmcHJpbnRmKG91dHB1dCwgIjwvb25lT3JNb3JlPlxuIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19aRVJPT1JNT1JFOgorICAgICAgICAgICAgZnByaW50ZihvdXRwdXQsICI8emVyb09yTW9yZT5cbiIpOworICAgICAgICAgICAgeG1sUmVsYXhOR0R1bXBEZWZpbmVzKG91dHB1dCwgZGVmaW5lLT5jb250ZW50KTsKKyAgICAgICAgICAgIGZwcmludGYob3V0cHV0LCAiPC96ZXJvT3JNb3JlPlxuIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19DSE9JQ0U6CisgICAgICAgICAgICBmcHJpbnRmKG91dHB1dCwgIjxjaG9pY2U+XG4iKTsKKyAgICAgICAgICAgIHhtbFJlbGF4TkdEdW1wRGVmaW5lcyhvdXRwdXQsIGRlZmluZS0+Y29udGVudCk7CisgICAgICAgICAgICBmcHJpbnRmKG91dHB1dCwgIjwvY2hvaWNlPlxuIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19HUk9VUDoKKyAgICAgICAgICAgIGZwcmludGYob3V0cHV0LCAiPGdyb3VwPlxuIik7CisgICAgICAgICAgICB4bWxSZWxheE5HRHVtcERlZmluZXMob3V0cHV0LCBkZWZpbmUtPmNvbnRlbnQpOworICAgICAgICAgICAgZnByaW50ZihvdXRwdXQsICI8L2dyb3VwPlxuIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19JTlRFUkxFQVZFOgorICAgICAgICAgICAgZnByaW50ZihvdXRwdXQsICI8aW50ZXJsZWF2ZT5cbiIpOworICAgICAgICAgICAgeG1sUmVsYXhOR0R1bXBEZWZpbmVzKG91dHB1dCwgZGVmaW5lLT5jb250ZW50KTsKKyAgICAgICAgICAgIGZwcmludGYob3V0cHV0LCAiPC9pbnRlcmxlYXZlPlxuIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19PUFRJT05BTDoKKyAgICAgICAgICAgIGZwcmludGYob3V0cHV0LCAiPG9wdGlvbmFsPlxuIik7CisgICAgICAgICAgICB4bWxSZWxheE5HRHVtcERlZmluZXMob3V0cHV0LCBkZWZpbmUtPmNvbnRlbnQpOworICAgICAgICAgICAgZnByaW50ZihvdXRwdXQsICI8L29wdGlvbmFsPlxuIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19BVFRSSUJVVEU6CisgICAgICAgICAgICBmcHJpbnRmKG91dHB1dCwgIjxhdHRyaWJ1dGU+XG4iKTsKKyAgICAgICAgICAgIHhtbFJlbGF4TkdEdW1wRGVmaW5lcyhvdXRwdXQsIGRlZmluZS0+Y29udGVudCk7CisgICAgICAgICAgICBmcHJpbnRmKG91dHB1dCwgIjwvYXR0cmlidXRlPlxuIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19ERUY6CisgICAgICAgICAgICBmcHJpbnRmKG91dHB1dCwgIjxkZWZpbmUiKTsKKyAgICAgICAgICAgIGlmIChkZWZpbmUtPm5hbWUgIT0gTlVMTCkKKyAgICAgICAgICAgICAgICBmcHJpbnRmKG91dHB1dCwgIiBuYW1lPVwiJXNcIiIsIGRlZmluZS0+bmFtZSk7CisgICAgICAgICAgICBmcHJpbnRmKG91dHB1dCwgIj5cbiIpOworICAgICAgICAgICAgeG1sUmVsYXhOR0R1bXBEZWZpbmVzKG91dHB1dCwgZGVmaW5lLT5jb250ZW50KTsKKyAgICAgICAgICAgIGZwcmludGYob3V0cHV0LCAiPC9kZWZpbmU+XG4iKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX1JFRjoKKyAgICAgICAgICAgIGZwcmludGYob3V0cHV0LCAiPHJlZiIpOworICAgICAgICAgICAgaWYgKGRlZmluZS0+bmFtZSAhPSBOVUxMKQorICAgICAgICAgICAgICAgIGZwcmludGYob3V0cHV0LCAiIG5hbWU9XCIlc1wiIiwgZGVmaW5lLT5uYW1lKTsKKyAgICAgICAgICAgIGZwcmludGYob3V0cHV0LCAiPlxuIik7CisgICAgICAgICAgICB4bWxSZWxheE5HRHVtcERlZmluZXMob3V0cHV0LCBkZWZpbmUtPmNvbnRlbnQpOworICAgICAgICAgICAgZnByaW50ZihvdXRwdXQsICI8L3JlZj5cbiIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfUEFSRU5UUkVGOgorICAgICAgICAgICAgZnByaW50ZihvdXRwdXQsICI8cGFyZW50UmVmIik7CisgICAgICAgICAgICBpZiAoZGVmaW5lLT5uYW1lICE9IE5VTEwpCisgICAgICAgICAgICAgICAgZnByaW50ZihvdXRwdXQsICIgbmFtZT1cIiVzXCIiLCBkZWZpbmUtPm5hbWUpOworICAgICAgICAgICAgZnByaW50ZihvdXRwdXQsICI+XG4iKTsKKyAgICAgICAgICAgIHhtbFJlbGF4TkdEdW1wRGVmaW5lcyhvdXRwdXQsIGRlZmluZS0+Y29udGVudCk7CisgICAgICAgICAgICBmcHJpbnRmKG91dHB1dCwgIjwvcGFyZW50UmVmPlxuIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19FWFRFUk5BTFJFRjoKKyAgICAgICAgICAgIGZwcmludGYob3V0cHV0LCAiPGV4dGVybmFsUmVmPiIpOworICAgICAgICAgICAgeG1sUmVsYXhOR0R1bXBEZWZpbmVzKG91dHB1dCwgZGVmaW5lLT5jb250ZW50KTsKKyAgICAgICAgICAgIGZwcmludGYob3V0cHV0LCAiPC9leHRlcm5hbFJlZj5cbiIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfREFUQVRZUEU6CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfVkFMVUU6CisgICAgICAgICAgICBUT0RPIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX1NUQVJUOgorICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX0VYQ0VQVDoKKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19QQVJBTToKKyAgICAgICAgICAgIFRPRE8gYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfTk9PUDoKKyAgICAgICAgICAgIHhtbFJlbGF4TkdEdW1wRGVmaW5lcyhvdXRwdXQsIGRlZmluZS0+Y29udGVudCk7CisgICAgICAgICAgICBicmVhazsKKyAgICB9Cit9CisKKy8qKgorICogeG1sUmVsYXhOR0R1bXBHcmFtbWFyOgorICogQG91dHB1dDogIHRoZSBmaWxlIG91dHB1dAorICogQGdyYW1tYXI6ICBhIGdyYW1tYXIgc3RydWN0dXJlCisgKiBAdG9wOiAgaXMgdGhpcyBhIHRvcCBncmFtbWFyCisgKgorICogRHVtcCBhIFJlbGF4Tkcgc3RydWN0dXJlIGJhY2sKKyAqLworc3RhdGljIHZvaWQKK3htbFJlbGF4TkdEdW1wR3JhbW1hcihGSUxFICogb3V0cHV0LCB4bWxSZWxheE5HR3JhbW1hclB0ciBncmFtbWFyLCBpbnQgdG9wKQoreworICAgIGlmIChncmFtbWFyID09IE5VTEwpCisgICAgICAgIHJldHVybjsKKworICAgIGZwcmludGYob3V0cHV0LCAiPGdyYW1tYXIiKTsKKyAgICBpZiAodG9wKQorICAgICAgICBmcHJpbnRmKG91dHB1dCwgIiB4bWxucz1cImh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wXCIiKTsKKyAgICBzd2l0Y2ggKGdyYW1tYXItPmNvbWJpbmUpIHsKKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19DT01CSU5FX1VOREVGSU5FRDoKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX0NPTUJJTkVfQ0hPSUNFOgorICAgICAgICAgICAgZnByaW50ZihvdXRwdXQsICIgY29tYmluZT1cImNob2ljZVwiIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19DT01CSU5FX0lOVEVSTEVBVkU6CisgICAgICAgICAgICBmcHJpbnRmKG91dHB1dCwgIiBjb21iaW5lPVwiaW50ZXJsZWF2ZVwiIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIGZwcmludGYob3V0cHV0LCAiIDwhLS0gaW52YWxpZCBjb21iaW5lIHZhbHVlIC0tPiIpOworICAgIH0KKyAgICBmcHJpbnRmKG91dHB1dCwgIj5cbiIpOworICAgIGlmIChncmFtbWFyLT5zdGFydCA9PSBOVUxMKSB7CisgICAgICAgIGZwcmludGYob3V0cHV0LCAiIDwhLS0gZ3JhbW1hciBoYWQgbm8gc3RhcnQgLS0+Iik7CisgICAgfSBlbHNlIHsKKyAgICAgICAgZnByaW50ZihvdXRwdXQsICI8c3RhcnQ+XG4iKTsKKyAgICAgICAgeG1sUmVsYXhOR0R1bXBEZWZpbmUob3V0cHV0LCBncmFtbWFyLT5zdGFydCk7CisgICAgICAgIGZwcmludGYob3V0cHV0LCAiPC9zdGFydD5cbiIpOworICAgIH0KKyAgICAvKiBUT0RPID8gRHVtcCB0aGUgZGVmaW5lcyA/ICovCisgICAgZnByaW50ZihvdXRwdXQsICI8L2dyYW1tYXI+XG4iKTsKK30KKworLyoqCisgKiB4bWxSZWxheE5HRHVtcDoKKyAqIEBvdXRwdXQ6ICB0aGUgZmlsZSBvdXRwdXQKKyAqIEBzY2hlbWE6ICBhIHNjaGVtYSBzdHJ1Y3R1cmUKKyAqCisgKiBEdW1wIGEgUmVsYXhORyBzdHJ1Y3R1cmUgYmFjaworICovCit2b2lkCit4bWxSZWxheE5HRHVtcChGSUxFICogb3V0cHV0LCB4bWxSZWxheE5HUHRyIHNjaGVtYSkKK3sKKyAgICBpZiAob3V0cHV0ID09IE5VTEwpCisgICAgICAgIHJldHVybjsKKyAgICBpZiAoc2NoZW1hID09IE5VTEwpIHsKKyAgICAgICAgZnByaW50ZihvdXRwdXQsICJSZWxheE5HIGVtcHR5IG9yIGZhaWxlZCB0byBjb21waWxlXG4iKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBmcHJpbnRmKG91dHB1dCwgIlJlbGF4Tkc6ICIpOworICAgIGlmIChzY2hlbWEtPmRvYyA9PSBOVUxMKSB7CisgICAgICAgIGZwcmludGYob3V0cHV0LCAibm8gZG9jdW1lbnRcbiIpOworICAgIH0gZWxzZSBpZiAoc2NoZW1hLT5kb2MtPlVSTCAhPSBOVUxMKSB7CisgICAgICAgIGZwcmludGYob3V0cHV0LCAiJXNcbiIsIHNjaGVtYS0+ZG9jLT5VUkwpOworICAgIH0gZWxzZSB7CisgICAgICAgIGZwcmludGYob3V0cHV0LCAiXG4iKTsKKyAgICB9CisgICAgaWYgKHNjaGVtYS0+dG9wZ3JhbW1hciA9PSBOVUxMKSB7CisgICAgICAgIGZwcmludGYob3V0cHV0LCAiUmVsYXhORyBoYXMgbm8gdG9wIGdyYW1tYXJcbiIpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIHhtbFJlbGF4TkdEdW1wR3JhbW1hcihvdXRwdXQsIHNjaGVtYS0+dG9wZ3JhbW1hciwgMSk7Cit9CisKKy8qKgorICogeG1sUmVsYXhOR0R1bXBUcmVlOgorICogQG91dHB1dDogIHRoZSBmaWxlIG91dHB1dAorICogQHNjaGVtYTogIGEgc2NoZW1hIHN0cnVjdHVyZQorICoKKyAqIER1bXAgdGhlIHRyYW5zZm9ybWVkIFJlbGF4TkcgdHJlZS4KKyAqLwordm9pZAoreG1sUmVsYXhOR0R1bXBUcmVlKEZJTEUgKiBvdXRwdXQsIHhtbFJlbGF4TkdQdHIgc2NoZW1hKQoreworICAgIGlmIChvdXRwdXQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuOworICAgIGlmIChzY2hlbWEgPT0gTlVMTCkgeworICAgICAgICBmcHJpbnRmKG91dHB1dCwgIlJlbGF4TkcgZW1wdHkgb3IgZmFpbGVkIHRvIGNvbXBpbGVcbiIpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGlmIChzY2hlbWEtPmRvYyA9PSBOVUxMKSB7CisgICAgICAgIGZwcmludGYob3V0cHV0LCAibm8gZG9jdW1lbnRcbiIpOworICAgIH0gZWxzZSB7CisgICAgICAgIHhtbERvY0R1bXAob3V0cHV0LCBzY2hlbWEtPmRvYyk7CisgICAgfQorfQorI2VuZGlmIC8qIExJQlhNTF9PVVRQVVRfRU5BQkxFRCAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQlWYWxpZGF0aW9uIG9mIGNvbXBpbGVkIGNvbnRlbnQJCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIGludCB4bWxSZWxheE5HVmFsaWRhdGVEZWZpbml0aW9uKHhtbFJlbGF4TkdWYWxpZEN0eHRQdHIgY3R4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxSZWxheE5HRGVmaW5lUHRyIGRlZmluZSk7CisKKy8qKgorICogeG1sUmVsYXhOR1ZhbGlkYXRlQ29tcGlsZWRDYWxsYmFjazoKKyAqIEBleGVjOiAgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBpbnN0YW5jZQorICogQHRva2VuOiAgdGhlIHRva2VuIHdoaWNoIG1hdGNoZWQKKyAqIEB0cmFuc2RhdGE6ICBjYWxsYmFjayBkYXRhLCB0aGUgZGVmaW5lIGZvciB0aGUgc3ViZWxlbWVudCBpZiBhdmFpbGFibGUKKyBAIEBpbnB1dGRhdGE6ICBjYWxsYmFjayBkYXRhLCB0aGUgUmVsYXggTkcgdmFsaWRhdGlvbiBjb250ZXh0CisgKgorICogSGFuZGxlIHRoZSBjYWxsYmFjayBhbmQgaWYgbmVlZGVkIHZhbGlkYXRlIHRoZSBlbGVtZW50IGNoaWxkcmVuLgorICovCitzdGF0aWMgdm9pZAoreG1sUmVsYXhOR1ZhbGlkYXRlQ29tcGlsZWRDYWxsYmFjayh4bWxSZWdFeGVjQ3R4dFB0ciBleGVjIEFUVFJJQlVURV9VTlVTRUQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiB0b2tlbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqdHJhbnNkYXRhLCB2b2lkICppbnB1dGRhdGEpCit7CisgICAgeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0ciBjdHh0ID0gKHhtbFJlbGF4TkdWYWxpZEN0eHRQdHIpIGlucHV0ZGF0YTsKKyAgICB4bWxSZWxheE5HRGVmaW5lUHRyIGRlZmluZSA9ICh4bWxSZWxheE5HRGVmaW5lUHRyKSB0cmFuc2RhdGE7CisgICAgaW50IHJldDsKKworI2lmZGVmIERFQlVHX0NPTVBJTEUKKyAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgIkNvbXBpbGVkIGNhbGxiYWNrIGZvcjogJyVzJ1xuIiwgdG9rZW4pOworI2VuZGlmCisgICAgaWYgKGN0eHQgPT0gTlVMTCkgeworICAgICAgICBmcHJpbnRmKHN0ZGVyciwgImNhbGxiYWNrIG9uICVzIG1pc3NpbmcgY29udGV4dFxuIiwgdG9rZW4pOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGlmIChkZWZpbmUgPT0gTlVMTCkgeworICAgICAgICBpZiAodG9rZW5bMF0gPT0gJyMnKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBmcHJpbnRmKHN0ZGVyciwgImNhbGxiYWNrIG9uICVzIG1pc3NpbmcgZGVmaW5lXG4iLCB0b2tlbik7CisgICAgICAgIGlmICgoY3R4dCAhPSBOVUxMKSAmJiAoY3R4dC0+ZXJyTm8gPT0gWE1MX1JFTEFYTkdfT0spKQorICAgICAgICAgICAgY3R4dC0+ZXJyTm8gPSBYTUxfUkVMQVhOR19FUlJfSU5URVJOQUw7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgaWYgKChjdHh0ID09IE5VTEwpIHx8IChkZWZpbmUgPT0gTlVMTCkpIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJjYWxsYmFjayBvbiAlcyBtaXNzaW5nIGluZm9cbiIsIHRva2VuKTsKKyAgICAgICAgaWYgKChjdHh0ICE9IE5VTEwpICYmIChjdHh0LT5lcnJObyA9PSBYTUxfUkVMQVhOR19PSykpCisgICAgICAgICAgICBjdHh0LT5lcnJObyA9IFhNTF9SRUxBWE5HX0VSUl9JTlRFUk5BTDsKKyAgICAgICAgcmV0dXJuOworICAgIH0gZWxzZSBpZiAoZGVmaW5lLT50eXBlICE9IFhNTF9SRUxBWE5HX0VMRU1FTlQpIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJjYWxsYmFjayBvbiAlcyBkZWZpbmUgaXMgbm90IGVsZW1lbnRcbiIsIHRva2VuKTsKKyAgICAgICAgaWYgKGN0eHQtPmVyck5vID09IFhNTF9SRUxBWE5HX09LKQorICAgICAgICAgICAgY3R4dC0+ZXJyTm8gPSBYTUxfUkVMQVhOR19FUlJfSU5URVJOQUw7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgcmV0ID0geG1sUmVsYXhOR1ZhbGlkYXRlRGVmaW5pdGlvbihjdHh0LCBkZWZpbmUpOworICAgIGlmIChyZXQgIT0gMCkKKyAgICAgICAgY3R4dC0+cGVyciA9IHJldDsKK30KKworLyoqCisgKiB4bWxSZWxheE5HVmFsaWRhdGVDb21waWxlZENvbnRlbnQ6CisgKiBAY3R4dDogIHRoZSBSZWxheE5HIHZhbGlkYXRpb24gY29udGV4dAorICogQHJlZ2V4cDogIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gYXMgY29tcGlsZWQKKyAqIEBjb250ZW50OiAgbGlzdCBvZiBjaGlsZHJlbiB0byB0ZXN0IGFnYWluc3QgdGhlIHJlZ2V4cAorICoKKyAqIFZhbGlkYXRlIHRoZSBjb250ZW50IG1vZGVsIG9mIGFuIGVsZW1lbnQgb3Igc3RhcnQgdXNpbmcgdGhlIHJlZ2V4cAorICoKKyAqIFJldHVybnMgMCBpbiBjYXNlIG9mIHN1Y2Nlc3MsIC0xIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK3N0YXRpYyBpbnQKK3htbFJlbGF4TkdWYWxpZGF0ZUNvbXBpbGVkQ29udGVudCh4bWxSZWxheE5HVmFsaWRDdHh0UHRyIGN0eHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sUmVnZXhwUHRyIHJlZ2V4cCwgeG1sTm9kZVB0ciBjb250ZW50KQoreworICAgIHhtbFJlZ0V4ZWNDdHh0UHRyIGV4ZWM7CisgICAgeG1sTm9kZVB0ciBjdXI7CisgICAgaW50IHJldCA9IDA7CisgICAgaW50IG9sZHBlcnI7CisKKyAgICBpZiAoKGN0eHQgPT0gTlVMTCkgfHwgKHJlZ2V4cCA9PSBOVUxMKSkKKyAgICAgICAgcmV0dXJuICgtMSk7CisgICAgb2xkcGVyciA9IGN0eHQtPnBlcnI7CisgICAgZXhlYyA9IHhtbFJlZ05ld0V4ZWNDdHh0KHJlZ2V4cCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sUmVsYXhOR1ZhbGlkYXRlQ29tcGlsZWRDYWxsYmFjaywgY3R4dCk7CisgICAgY3R4dC0+cGVyciA9IDA7CisgICAgY3VyID0gY29udGVudDsKKyAgICB3aGlsZSAoY3VyICE9IE5VTEwpIHsKKyAgICAgICAgY3R4dC0+c3RhdGUtPnNlcSA9IGN1cjsKKyAgICAgICAgc3dpdGNoIChjdXItPnR5cGUpIHsKKyAgICAgICAgICAgIGNhc2UgWE1MX1RFWFRfTk9ERToKKyAgICAgICAgICAgIGNhc2UgWE1MX0NEQVRBX1NFQ1RJT05fTk9ERToKKyAgICAgICAgICAgICAgICBpZiAoeG1sSXNCbGFua05vZGUoY3VyKSkKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgcmV0ID0geG1sUmVnRXhlY1B1c2hTdHJpbmcoZXhlYywgQkFEX0NBU1QgIiN0ZXh0IiwgY3R4dCk7CisgICAgICAgICAgICAgICAgaWYgKHJldCA8IDApIHsKKyAgICAgICAgICAgICAgICAgICAgVkFMSURfRVJSMihYTUxfUkVMQVhOR19FUlJfVEVYVFdST05HLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1ci0+cGFyZW50LT5uYW1lKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIFhNTF9FTEVNRU5UX05PREU6CisgICAgICAgICAgICAgICAgaWYgKGN1ci0+bnMgIT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICByZXQgPSB4bWxSZWdFeGVjUHVzaFN0cmluZzIoZXhlYywgY3VyLT5uYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VyLT5ucy0+aHJlZiwgY3R4dCk7CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgcmV0ID0geG1sUmVnRXhlY1B1c2hTdHJpbmcoZXhlYywgY3VyLT5uYW1lLCBjdHh0KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgaWYgKHJldCA8IDApIHsKKyAgICAgICAgICAgICAgICAgICAgVkFMSURfRVJSMihYTUxfUkVMQVhOR19FUlJfRUxFTVdST05HLCBjdXItPm5hbWUpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgaWYgKHJldCA8IDApCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgLyoKKyAgICAgICAgICogU3dpdGNoIHRvIG5leHQgZWxlbWVudAorICAgICAgICAgKi8KKyAgICAgICAgY3VyID0gY3VyLT5uZXh0OworICAgIH0KKyAgICByZXQgPSB4bWxSZWdFeGVjUHVzaFN0cmluZyhleGVjLCBOVUxMLCBOVUxMKTsKKyAgICBpZiAocmV0ID09IDEpIHsKKyAgICAgICAgcmV0ID0gMDsKKyAgICAgICAgY3R4dC0+c3RhdGUtPnNlcSA9IE5VTEw7CisgICAgfSBlbHNlIGlmIChyZXQgPT0gMCkgeworICAgICAgICAvKgorICAgICAgICAgKiBUT0RPOiBnZXQgc29tZSBvZiB0aGUgbmFtZXMgbmVlZGVkIHRvIGV4aXQgdGhlIGN1cnJlbnQgc3RhdGUgb2YgZXhlYworICAgICAgICAgKi8KKyAgICAgICAgVkFMSURfRVJSMihYTUxfUkVMQVhOR19FUlJfTk9FTEVNLCBCQURfQ0FTVCAiIik7CisgICAgICAgIHJldCA9IC0xOworICAgICAgICBpZiAoKGN0eHQtPmZsYWdzICYgRkxBR1NfSUdOT1JBQkxFKSA9PSAwKQorICAgICAgICAgICAgeG1sUmVsYXhOR0R1bXBWYWxpZEVycm9yKGN0eHQpOworICAgIH0gZWxzZSB7CisgICAgICAgIHJldCA9IC0xOworICAgIH0KKyAgICB4bWxSZWdGcmVlRXhlY0N0eHQoZXhlYyk7CisgICAgLyoKKyAgICAgKiBUaGVyZSBtaWdodCBiZSBjb250ZW50IG1vZGVsIGVycm9ycyBvdXRzaWRlIG9mIHRoZSBwdXJlCisgICAgICogcmVnZXhwIHZhbGlkYXRpb24sIGUuZy4gZm9yIGF0dHJpYnV0ZSB2YWx1ZXMuCisgICAgICovCisgICAgaWYgKChyZXQgPT0gMCkgJiYgKGN0eHQtPnBlcnIgIT0gMCkpIHsKKyAgICAgICAgcmV0ID0gY3R4dC0+cGVycjsKKyAgICB9CisgICAgY3R4dC0+cGVyciA9IG9sZHBlcnI7CisgICAgcmV0dXJuIChyZXQpOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQlQcm9ncmVzc2l2ZSB2YWxpZGF0aW9uIG9mIHdoZW4gcG9zc2libGUJCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgaW50IHhtbFJlbGF4TkdWYWxpZGF0ZUF0dHJpYnV0ZUxpc3QoeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0ciBjdHh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdEZWZpbmVQdHIgZGVmaW5lcyk7CitzdGF0aWMgaW50IHhtbFJlbGF4TkdWYWxpZGF0ZUVsZW1lbnRFbmQoeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0ciBjdHh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkb2xvZyk7CitzdGF0aWMgdm9pZCB4bWxSZWxheE5HTG9nQmVzdEVycm9yKHhtbFJlbGF4TkdWYWxpZEN0eHRQdHIgY3R4dCk7CisKKy8qKgorICogeG1sUmVsYXhOR0VsZW1QdXNoOgorICogQGN0eHQ6ICB0aGUgdmFsaWRhdGlvbiBjb250ZXh0CisgKiBAZXhlYzogIHRoZSByZWdleHAgcnVudGltZSBmb3IgdGhlIG5ldyBjb250ZW50IG1vZGVsCisgKgorICogUHVzaCBhIG5ldyByZWdleHAgZm9yIHRoZSBjdXJyZW50IG5vZGUgY29udGVudCBtb2RlbCBvbiB0aGUgc3RhY2sKKyAqCisgKiBSZXR1cm5zIDAgaW4gY2FzZSBvZiBzdWNjZXNzIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yLgorICovCitzdGF0aWMgaW50Cit4bWxSZWxheE5HRWxlbVB1c2goeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0ciBjdHh0LCB4bWxSZWdFeGVjQ3R4dFB0ciBleGVjKQoreworICAgIGlmIChjdHh0LT5lbGVtVGFiID09IE5VTEwpIHsKKyAgICAgICAgY3R4dC0+ZWxlbU1heCA9IDEwOworICAgICAgICBjdHh0LT5lbGVtVGFiID0gKHhtbFJlZ0V4ZWNDdHh0UHRyICopIHhtbE1hbGxvYyhjdHh0LT5lbGVtTWF4ICoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh4bWxSZWdFeGVjQ3R4dFB0cikpOworICAgICAgICBpZiAoY3R4dC0+ZWxlbVRhYiA9PSBOVUxMKSB7CisgICAgICAgICAgICB4bWxSbmdWRXJyTWVtb3J5KGN0eHQsICJ2YWxpZGF0aW5nXG4iKTsKKyAgICAgICAgICAgIHJldHVybiAoLTEpOworICAgICAgICB9CisgICAgfQorICAgIGlmIChjdHh0LT5lbGVtTnIgPj0gY3R4dC0+ZWxlbU1heCkgeworICAgICAgICBjdHh0LT5lbGVtTWF4ICo9IDI7CisgICAgICAgIGN0eHQtPmVsZW1UYWIgPSAoeG1sUmVnRXhlY0N0eHRQdHIgKikgeG1sUmVhbGxvYyhjdHh0LT5lbGVtVGFiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3R4dC0+ZWxlbU1heCAqCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh4bWxSZWdFeGVjQ3R4dFB0cikpOworICAgICAgICBpZiAoY3R4dC0+ZWxlbVRhYiA9PSBOVUxMKSB7CisgICAgICAgICAgICB4bWxSbmdWRXJyTWVtb3J5KGN0eHQsICJ2YWxpZGF0aW5nXG4iKTsKKyAgICAgICAgICAgIHJldHVybiAoLTEpOworICAgICAgICB9CisgICAgfQorICAgIGN0eHQtPmVsZW1UYWJbY3R4dC0+ZWxlbU5yKytdID0gZXhlYzsKKyAgICBjdHh0LT5lbGVtID0gZXhlYzsKKyAgICByZXR1cm4gKDApOworfQorCisvKioKKyAqIHhtbFJlbGF4TkdFbGVtUG9wOgorICogQGN0eHQ6ICB0aGUgdmFsaWRhdGlvbiBjb250ZXh0CisgKgorICogUG9wIHRoZSByZWdleHAgb2YgdGhlIGN1cnJlbnQgbm9kZSBjb250ZW50IG1vZGVsIGZyb20gdGhlIHN0YWNrCisgKgorICogUmV0dXJucyB0aGUgZXhlYyBvciBOVUxMIGlmIGVtcHR5CisgKi8KK3N0YXRpYyB4bWxSZWdFeGVjQ3R4dFB0cgoreG1sUmVsYXhOR0VsZW1Qb3AoeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0ciBjdHh0KQoreworICAgIHhtbFJlZ0V4ZWNDdHh0UHRyIHJldDsKKworICAgIGlmIChjdHh0LT5lbGVtTnIgPD0gMCkKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICBjdHh0LT5lbGVtTnItLTsKKyAgICByZXQgPSBjdHh0LT5lbGVtVGFiW2N0eHQtPmVsZW1Ocl07CisgICAgY3R4dC0+ZWxlbVRhYltjdHh0LT5lbGVtTnJdID0gTlVMTDsKKyAgICBpZiAoY3R4dC0+ZWxlbU5yID4gMCkKKyAgICAgICAgY3R4dC0+ZWxlbSA9IGN0eHQtPmVsZW1UYWJbY3R4dC0+ZWxlbU5yIC0gMV07CisgICAgZWxzZQorICAgICAgICBjdHh0LT5lbGVtID0gTlVMTDsKKyAgICByZXR1cm4gKHJldCk7Cit9CisKKy8qKgorICogeG1sUmVsYXhOR1ZhbGlkYXRlUHJvZ3Jlc3NpdmVDYWxsYmFjazoKKyAqIEBleGVjOiAgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBpbnN0YW5jZQorICogQHRva2VuOiAgdGhlIHRva2VuIHdoaWNoIG1hdGNoZWQKKyAqIEB0cmFuc2RhdGE6ICBjYWxsYmFjayBkYXRhLCB0aGUgZGVmaW5lIGZvciB0aGUgc3ViZWxlbWVudCBpZiBhdmFpbGFibGUKKyBAIEBpbnB1dGRhdGE6ICBjYWxsYmFjayBkYXRhLCB0aGUgUmVsYXggTkcgdmFsaWRhdGlvbiBjb250ZXh0CisgKgorICogSGFuZGxlIHRoZSBjYWxsYmFjayBhbmQgaWYgbmVlZGVkIHZhbGlkYXRlIHRoZSBlbGVtZW50IGNoaWxkcmVuLgorICogc29tZSBvZiB0aGUgaW4vb3V0IGluZm9ybWF0aW9ucyBhcmUgcGFzc2VkIHZpYSB0aGUgY29udGV4dCBpbiBAaW5wdXRkYXRhLgorICovCitzdGF0aWMgdm9pZAoreG1sUmVsYXhOR1ZhbGlkYXRlUHJvZ3Jlc3NpdmVDYWxsYmFjayh4bWxSZWdFeGVjQ3R4dFB0ciBleGVjCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFUVFJJQlVURV9VTlVTRUQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiB0b2tlbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqdHJhbnNkYXRhLCB2b2lkICppbnB1dGRhdGEpCit7CisgICAgeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0ciBjdHh0ID0gKHhtbFJlbGF4TkdWYWxpZEN0eHRQdHIpIGlucHV0ZGF0YTsKKyAgICB4bWxSZWxheE5HRGVmaW5lUHRyIGRlZmluZSA9ICh4bWxSZWxheE5HRGVmaW5lUHRyKSB0cmFuc2RhdGE7CisgICAgeG1sUmVsYXhOR1ZhbGlkU3RhdGVQdHIgc3RhdGUsIG9sZHN0YXRlOworICAgIHhtbE5vZGVQdHIgbm9kZTsKKyAgICBpbnQgcmV0ID0gMCwgb2xkZmxhZ3M7CisKKyNpZmRlZiBERUJVR19QUk9HUkVTU0lWRQorICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAiUHJvZ3Jlc3NpdmUgY2FsbGJhY2sgZm9yOiAnJXMnXG4iLCB0b2tlbik7CisjZW5kaWYKKyAgICBpZiAoY3R4dCA9PSBOVUxMKSB7CisgICAgICAgIGZwcmludGYoc3RkZXJyLCAiY2FsbGJhY2sgb24gJXMgbWlzc2luZyBjb250ZXh0XG4iLCB0b2tlbik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgbm9kZSA9IGN0eHQtPnBub2RlOworICAgIGN0eHQtPnBzdGF0ZSA9IDE7CisgICAgaWYgKGRlZmluZSA9PSBOVUxMKSB7CisgICAgICAgIGlmICh0b2tlblswXSA9PSAnIycpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIGZwcmludGYoc3RkZXJyLCAiY2FsbGJhY2sgb24gJXMgbWlzc2luZyBkZWZpbmVcbiIsIHRva2VuKTsKKyAgICAgICAgaWYgKChjdHh0ICE9IE5VTEwpICYmIChjdHh0LT5lcnJObyA9PSBYTUxfUkVMQVhOR19PSykpCisgICAgICAgICAgICBjdHh0LT5lcnJObyA9IFhNTF9SRUxBWE5HX0VSUl9JTlRFUk5BTDsKKyAgICAgICAgY3R4dC0+cHN0YXRlID0gLTE7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgaWYgKChjdHh0ID09IE5VTEwpIHx8IChkZWZpbmUgPT0gTlVMTCkpIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJjYWxsYmFjayBvbiAlcyBtaXNzaW5nIGluZm9cbiIsIHRva2VuKTsKKyAgICAgICAgaWYgKChjdHh0ICE9IE5VTEwpICYmIChjdHh0LT5lcnJObyA9PSBYTUxfUkVMQVhOR19PSykpCisgICAgICAgICAgICBjdHh0LT5lcnJObyA9IFhNTF9SRUxBWE5HX0VSUl9JTlRFUk5BTDsKKyAgICAgICAgY3R4dC0+cHN0YXRlID0gLTE7CisgICAgICAgIHJldHVybjsKKyAgICB9IGVsc2UgaWYgKGRlZmluZS0+dHlwZSAhPSBYTUxfUkVMQVhOR19FTEVNRU5UKSB7CisgICAgICAgIGZwcmludGYoc3RkZXJyLCAiY2FsbGJhY2sgb24gJXMgZGVmaW5lIGlzIG5vdCBlbGVtZW50XG4iLCB0b2tlbik7CisgICAgICAgIGlmIChjdHh0LT5lcnJObyA9PSBYTUxfUkVMQVhOR19PSykKKyAgICAgICAgICAgIGN0eHQtPmVyck5vID0gWE1MX1JFTEFYTkdfRVJSX0lOVEVSTkFMOworICAgICAgICBjdHh0LT5wc3RhdGUgPSAtMTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBpZiAobm9kZS0+dHlwZSAhPSBYTUxfRUxFTUVOVF9OT0RFKSB7CisgICAgICAgIFZBTElEX0VSUihYTUxfUkVMQVhOR19FUlJfTk9URUxFTSk7CisgICAgICAgIGlmICgoY3R4dC0+ZmxhZ3MgJiBGTEFHU19JR05PUkFCTEUpID09IDApCisgICAgICAgICAgICB4bWxSZWxheE5HRHVtcFZhbGlkRXJyb3IoY3R4dCk7CisgICAgICAgIGN0eHQtPnBzdGF0ZSA9IC0xOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGlmIChkZWZpbmUtPmNvbnRNb2RlbCA9PSBOVUxMKSB7CisgICAgICAgIC8qCisgICAgICAgICAqIHRoaXMgbm9kZSBjYW5ub3QgYmUgdmFsaWRhdGVkIGluIGEgc3RyZWFtYWJsZSBmYXNoaW9uCisgICAgICAgICAqLworI2lmZGVmIERFQlVHX1BST0dSRVNTSVZFCisgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgIkVsZW1lbnQgJyVzJyB2YWxpZGF0aW9uIGlzIG5vdCBzdHJlYW1hYmxlXG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgdG9rZW4pOworI2VuZGlmCisgICAgICAgIGN0eHQtPnBzdGF0ZSA9IDA7CisgICAgICAgIGN0eHQtPnBkZWYgPSBkZWZpbmU7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgZXhlYyA9IHhtbFJlZ05ld0V4ZWNDdHh0KGRlZmluZS0+Y29udE1vZGVsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxSZWxheE5HVmFsaWRhdGVQcm9ncmVzc2l2ZUNhbGxiYWNrLCBjdHh0KTsKKyAgICBpZiAoZXhlYyA9PSBOVUxMKSB7CisgICAgICAgIGN0eHQtPnBzdGF0ZSA9IC0xOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIHhtbFJlbGF4TkdFbGVtUHVzaChjdHh0LCBleGVjKTsKKworICAgIC8qCisgICAgICogVmFsaWRhdGUgdGhlIGF0dHJpYnV0ZXMgcGFydCBvZiB0aGUgY29udGVudC4KKyAgICAgKi8KKyAgICBzdGF0ZSA9IHhtbFJlbGF4TkdOZXdWYWxpZFN0YXRlKGN0eHQsIG5vZGUpOworICAgIGlmIChzdGF0ZSA9PSBOVUxMKSB7CisgICAgICAgIGN0eHQtPnBzdGF0ZSA9IC0xOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIG9sZHN0YXRlID0gY3R4dC0+c3RhdGU7CisgICAgY3R4dC0+c3RhdGUgPSBzdGF0ZTsKKyAgICBpZiAoZGVmaW5lLT5hdHRycyAhPSBOVUxMKSB7CisgICAgICAgIHJldCA9IHhtbFJlbGF4TkdWYWxpZGF0ZUF0dHJpYnV0ZUxpc3QoY3R4dCwgZGVmaW5lLT5hdHRycyk7CisgICAgICAgIGlmIChyZXQgIT0gMCkgeworICAgICAgICAgICAgY3R4dC0+cHN0YXRlID0gLTE7CisgICAgICAgICAgICBWQUxJRF9FUlIyKFhNTF9SRUxBWE5HX0VSUl9BVFRSVkFMSUQsIG5vZGUtPm5hbWUpOworICAgICAgICB9CisgICAgfQorICAgIGlmIChjdHh0LT5zdGF0ZSAhPSBOVUxMKSB7CisgICAgICAgIGN0eHQtPnN0YXRlLT5zZXEgPSBOVUxMOworICAgICAgICByZXQgPSB4bWxSZWxheE5HVmFsaWRhdGVFbGVtZW50RW5kKGN0eHQsIDEpOworICAgICAgICBpZiAocmV0ICE9IDApIHsKKyAgICAgICAgICAgIGN0eHQtPnBzdGF0ZSA9IC0xOworICAgICAgICB9CisgICAgICAgIHhtbFJlbGF4TkdGcmVlVmFsaWRTdGF0ZShjdHh0LCBjdHh0LT5zdGF0ZSk7CisgICAgfSBlbHNlIGlmIChjdHh0LT5zdGF0ZXMgIT0gTlVMTCkgeworICAgICAgICBpbnQgdG1wID0gLTEsIGk7CisKKyAgICAgICAgb2xkZmxhZ3MgPSBjdHh0LT5mbGFnczsKKworICAgICAgICBmb3IgKGkgPSAwOyBpIDwgY3R4dC0+c3RhdGVzLT5uYlN0YXRlOyBpKyspIHsKKyAgICAgICAgICAgIHN0YXRlID0gY3R4dC0+c3RhdGVzLT50YWJTdGF0ZVtpXTsKKyAgICAgICAgICAgIGN0eHQtPnN0YXRlID0gc3RhdGU7CisgICAgICAgICAgICBjdHh0LT5zdGF0ZS0+c2VxID0gTlVMTDsKKworICAgICAgICAgICAgaWYgKHhtbFJlbGF4TkdWYWxpZGF0ZUVsZW1lbnRFbmQoY3R4dCwgMCkgPT0gMCkgeworICAgICAgICAgICAgICAgIHRtcCA9IDA7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgaWYgKHRtcCAhPSAwKSB7CisgICAgICAgICAgICAvKgorICAgICAgICAgICAgICogdmFsaWRhdGlvbiBlcnJvciwgbG9nIHRoZSBtZXNzYWdlIGZvciB0aGUgImJlc3QiIG9uZQorICAgICAgICAgICAgICovCisgICAgICAgICAgICBjdHh0LT5mbGFncyB8PSBGTEFHU19JR05PUkFCTEU7CisgICAgICAgICAgICB4bWxSZWxheE5HTG9nQmVzdEVycm9yKGN0eHQpOworICAgICAgICB9CisgICAgICAgIGZvciAoaSA9IDA7IGkgPCBjdHh0LT5zdGF0ZXMtPm5iU3RhdGU7IGkrKykgeworICAgICAgICAgICAgeG1sUmVsYXhOR0ZyZWVWYWxpZFN0YXRlKGN0eHQsIGN0eHQtPnN0YXRlcy0+dGFiU3RhdGVbaV0pOworICAgICAgICB9CisgICAgICAgIHhtbFJlbGF4TkdGcmVlU3RhdGVzKGN0eHQsIGN0eHQtPnN0YXRlcyk7CisgICAgICAgIGN0eHQtPnN0YXRlcyA9IE5VTEw7CisgICAgICAgIGlmICgocmV0ID09IDApICYmICh0bXAgPT0gLTEpKQorICAgICAgICAgICAgY3R4dC0+cHN0YXRlID0gLTE7CisgICAgICAgIGN0eHQtPmZsYWdzID0gb2xkZmxhZ3M7CisgICAgfQorICAgIGlmIChjdHh0LT5wc3RhdGUgPT0gLTEpIHsKKyAgICAgICAgaWYgKChjdHh0LT5mbGFncyAmIEZMQUdTX0lHTk9SQUJMRSkgPT0gMCkgeworICAgICAgICAgICAgeG1sUmVsYXhOR0R1bXBWYWxpZEVycm9yKGN0eHQpOworICAgICAgICB9CisgICAgfQorICAgIGN0eHQtPnN0YXRlID0gb2xkc3RhdGU7Cit9CisKKy8qKgorICogeG1sUmVsYXhOR1ZhbGlkYXRlUHVzaEVsZW1lbnQ6CisgKiBAY3R4dDogIHRoZSB2YWxpZGF0aW9uIGNvbnRleHQKKyAqIEBkb2M6ICBhIGRvY3VtZW50IGluc3RhbmNlCisgKiBAZWxlbTogIGFuIGVsZW1lbnQgaW5zdGFuY2UKKyAqCisgKiBQdXNoIGEgbmV3IGVsZW1lbnQgc3RhcnQgb24gdGhlIFJlbGF4TkcgdmFsaWRhdGlvbiBzdGFjay4KKyAqCisgKiByZXR1cm5zIDEgaWYgbm8gdmFsaWRhdGlvbiBwcm9ibGVtIHdhcyBmb3VuZCBvciAwIGlmIHZhbGlkYXRpbmcgdGhlCisgKiAgICAgICAgIGVsZW1lbnQgcmVxdWlyZXMgYSBmdWxsIG5vZGUsIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQKK3htbFJlbGF4TkdWYWxpZGF0ZVB1c2hFbGVtZW50KHhtbFJlbGF4TkdWYWxpZEN0eHRQdHIgY3R4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbERvY1B0ciBkb2MgQVRUUklCVVRFX1VOVVNFRCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbE5vZGVQdHIgZWxlbSkKK3sKKyAgICBpbnQgcmV0ID0gMTsKKworICAgIGlmICgoY3R4dCA9PSBOVUxMKSB8fCAoZWxlbSA9PSBOVUxMKSkKKyAgICAgICAgcmV0dXJuICgtMSk7CisKKyNpZmRlZiBERUJVR19QUk9HUkVTU0lWRQorICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCAiUHVzaEVsZW0gJXNcbiIsIGVsZW0tPm5hbWUpOworI2VuZGlmCisgICAgaWYgKGN0eHQtPmVsZW0gPT0gMCkgeworICAgICAgICB4bWxSZWxheE5HUHRyIHNjaGVtYTsKKyAgICAgICAgeG1sUmVsYXhOR0dyYW1tYXJQdHIgZ3JhbW1hcjsKKyAgICAgICAgeG1sUmVnRXhlY0N0eHRQdHIgZXhlYzsKKyAgICAgICAgeG1sUmVsYXhOR0RlZmluZVB0ciBkZWZpbmU7CisKKyAgICAgICAgc2NoZW1hID0gY3R4dC0+c2NoZW1hOworICAgICAgICBpZiAoc2NoZW1hID09IE5VTEwpIHsKKyAgICAgICAgICAgIFZBTElEX0VSUihYTUxfUkVMQVhOR19FUlJfTk9HUkFNTUFSKTsKKyAgICAgICAgICAgIHJldHVybiAoLTEpOworICAgICAgICB9CisgICAgICAgIGdyYW1tYXIgPSBzY2hlbWEtPnRvcGdyYW1tYXI7CisgICAgICAgIGlmICgoZ3JhbW1hciA9PSBOVUxMKSB8fCAoZ3JhbW1hci0+c3RhcnQgPT0gTlVMTCkpIHsKKyAgICAgICAgICAgIFZBTElEX0VSUihYTUxfUkVMQVhOR19FUlJfTk9HUkFNTUFSKTsKKyAgICAgICAgICAgIHJldHVybiAoLTEpOworICAgICAgICB9CisgICAgICAgIGRlZmluZSA9IGdyYW1tYXItPnN0YXJ0OworICAgICAgICBpZiAoZGVmaW5lLT5jb250TW9kZWwgPT0gTlVMTCkgeworICAgICAgICAgICAgY3R4dC0+cGRlZiA9IGRlZmluZTsKKyAgICAgICAgICAgIHJldHVybiAoMCk7CisgICAgICAgIH0KKyAgICAgICAgZXhlYyA9IHhtbFJlZ05ld0V4ZWNDdHh0KGRlZmluZS0+Y29udE1vZGVsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sUmVsYXhOR1ZhbGlkYXRlUHJvZ3Jlc3NpdmVDYWxsYmFjaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN0eHQpOworICAgICAgICBpZiAoZXhlYyA9PSBOVUxMKSB7CisgICAgICAgICAgICByZXR1cm4gKC0xKTsKKyAgICAgICAgfQorICAgICAgICB4bWxSZWxheE5HRWxlbVB1c2goY3R4dCwgZXhlYyk7CisgICAgfQorICAgIGN0eHQtPnBub2RlID0gZWxlbTsKKyAgICBjdHh0LT5wc3RhdGUgPSAwOworICAgIGlmIChlbGVtLT5ucyAhPSBOVUxMKSB7CisgICAgICAgIHJldCA9CisgICAgICAgICAgICB4bWxSZWdFeGVjUHVzaFN0cmluZzIoY3R4dC0+ZWxlbSwgZWxlbS0+bmFtZSwgZWxlbS0+bnMtPmhyZWYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3R4dCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgcmV0ID0geG1sUmVnRXhlY1B1c2hTdHJpbmcoY3R4dC0+ZWxlbSwgZWxlbS0+bmFtZSwgY3R4dCk7CisgICAgfQorICAgIGlmIChyZXQgPCAwKSB7CisgICAgICAgIFZBTElEX0VSUjIoWE1MX1JFTEFYTkdfRVJSX0VMRU1XUk9ORywgZWxlbS0+bmFtZSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgaWYgKGN0eHQtPnBzdGF0ZSA9PSAwKQorICAgICAgICAgICAgcmV0ID0gMDsKKyAgICAgICAgZWxzZSBpZiAoY3R4dC0+cHN0YXRlIDwgMCkKKyAgICAgICAgICAgIHJldCA9IC0xOworICAgICAgICBlbHNlCisgICAgICAgICAgICByZXQgPSAxOworICAgIH0KKyNpZmRlZiBERUJVR19QUk9HUkVTU0lWRQorICAgIGlmIChyZXQgPCAwKQorICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgIlB1c2hFbGVtICVzIGZhaWxlZFxuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgIGVsZW0tPm5hbWUpOworI2VuZGlmCisgICAgcmV0dXJuIChyZXQpOworfQorCisvKioKKyAqIHhtbFJlbGF4TkdWYWxpZGF0ZVB1c2hDRGF0YToKKyAqIEBjdHh0OiAgdGhlIFJlbGF4TkcgdmFsaWRhdGlvbiBjb250ZXh0CisgKiBAZGF0YTogIHNvbWUgY2hhcmFjdGVyIGRhdGEgcmVhZAorICogQGxlbjogIHRoZSBsZW5ndGggb2YgdGhlIGRhdGEKKyAqCisgKiBjaGVjayB0aGUgQ0RhdGEgcGFyc2VkIGZvciB2YWxpZGF0aW9uIGluIHRoZSBjdXJyZW50IHN0YWNrCisgKgorICogcmV0dXJucyAxIGlmIG5vIHZhbGlkYXRpb24gcHJvYmxlbSB3YXMgZm91bmQgb3IgLTEgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sUmVsYXhOR1ZhbGlkYXRlUHVzaENEYXRhKHhtbFJlbGF4TkdWYWxpZEN0eHRQdHIgY3R4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogZGF0YSwgaW50IGxlbiBBVFRSSUJVVEVfVU5VU0VEKQoreworICAgIGludCByZXQgPSAxOworCisgICAgaWYgKChjdHh0ID09IE5VTEwpIHx8IChjdHh0LT5lbGVtID09IE5VTEwpIHx8IChkYXRhID09IE5VTEwpKQorICAgICAgICByZXR1cm4gKC0xKTsKKworI2lmZGVmIERFQlVHX1BST0dSRVNTSVZFCisgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICJDREFUQSAlcyAlZFxuIiwgZGF0YSwgbGVuKTsKKyNlbmRpZgorCisgICAgd2hpbGUgKCpkYXRhICE9IDApIHsKKyAgICAgICAgaWYgKCFJU19CTEFOS19DSCgqZGF0YSkpCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGF0YSsrOworICAgIH0KKyAgICBpZiAoKmRhdGEgPT0gMCkKKyAgICAgICAgcmV0dXJuICgxKTsKKworICAgIHJldCA9IHhtbFJlZ0V4ZWNQdXNoU3RyaW5nKGN0eHQtPmVsZW0sIEJBRF9DQVNUICIjdGV4dCIsIGN0eHQpOworICAgIGlmIChyZXQgPCAwKSB7CisgICAgICAgIFZBTElEX0VSUjIoWE1MX1JFTEFYTkdfRVJSX1RFWFRXUk9ORywgQkFEX0NBU1QgIiBUT0RPICIpOworI2lmZGVmIERFQlVHX1BST0dSRVNTSVZFCisgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCAiQ0RBVEEgZmFpbGVkXG4iKTsKKyNlbmRpZgorCisgICAgICAgIHJldHVybiAoLTEpOworICAgIH0KKyAgICByZXR1cm4gKDEpOworfQorCisvKioKKyAqIHhtbFJlbGF4TkdWYWxpZGF0ZVBvcEVsZW1lbnQ6CisgKiBAY3R4dDogIHRoZSBSZWxheE5HIHZhbGlkYXRpb24gY29udGV4dAorICogQGRvYzogIGEgZG9jdW1lbnQgaW5zdGFuY2UKKyAqIEBlbGVtOiAgYW4gZWxlbWVudCBpbnN0YW5jZQorICoKKyAqIFBvcCB0aGUgZWxlbWVudCBlbmQgZnJvbSB0aGUgUmVsYXhORyB2YWxpZGF0aW9uIHN0YWNrLgorICoKKyAqIHJldHVybnMgMSBpZiBubyB2YWxpZGF0aW9uIHByb2JsZW0gd2FzIGZvdW5kIG9yIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sUmVsYXhOR1ZhbGlkYXRlUG9wRWxlbWVudCh4bWxSZWxheE5HVmFsaWRDdHh0UHRyIGN0eHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbERvY1B0ciBkb2MgQVRUUklCVVRFX1VOVVNFRCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sTm9kZVB0ciBlbGVtKQoreworICAgIGludCByZXQ7CisgICAgeG1sUmVnRXhlY0N0eHRQdHIgZXhlYzsKKworICAgIGlmICgoY3R4dCA9PSBOVUxMKSB8fCAoY3R4dC0+ZWxlbSA9PSBOVUxMKSB8fCAoZWxlbSA9PSBOVUxMKSkKKyAgICAgICAgcmV0dXJuICgtMSk7CisjaWZkZWYgREVCVUdfUFJPR1JFU1NJVkUKKyAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgIlBvcEVsZW0gJXNcbiIsIGVsZW0tPm5hbWUpOworI2VuZGlmCisgICAgLyoKKyAgICAgKiB2ZXJpZnkgdGhhdCB3ZSByZWFjaGVkIGEgdGVybWluYWwgc3RhdGUgb2YgdGhlIGNvbnRlbnQgbW9kZWwuCisgICAgICovCisgICAgZXhlYyA9IHhtbFJlbGF4TkdFbGVtUG9wKGN0eHQpOworICAgIHJldCA9IHhtbFJlZ0V4ZWNQdXNoU3RyaW5nKGV4ZWMsIE5VTEwsIE5VTEwpOworICAgIGlmIChyZXQgPT0gMCkgeworICAgICAgICAvKgorICAgICAgICAgKiBUT0RPOiBnZXQgc29tZSBvZiB0aGUgbmFtZXMgbmVlZGVkIHRvIGV4aXQgdGhlIGN1cnJlbnQgc3RhdGUgb2YgZXhlYworICAgICAgICAgKi8KKyAgICAgICAgVkFMSURfRVJSMihYTUxfUkVMQVhOR19FUlJfTk9FTEVNLCBCQURfQ0FTVCAiIik7CisgICAgICAgIHJldCA9IC0xOworICAgIH0gZWxzZSBpZiAocmV0IDwgMCkgeworICAgICAgICByZXQgPSAtMTsKKyAgICB9IGVsc2UgeworICAgICAgICByZXQgPSAxOworICAgIH0KKyAgICB4bWxSZWdGcmVlRXhlY0N0eHQoZXhlYyk7CisjaWZkZWYgREVCVUdfUFJPR1JFU1NJVkUKKyAgICBpZiAocmV0IDwgMCkKKyAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICJQb3BFbGVtICVzIGZhaWxlZFxuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgIGVsZW0tPm5hbWUpOworI2VuZGlmCisgICAgcmV0dXJuIChyZXQpOworfQorCisvKioKKyAqIHhtbFJlbGF4TkdWYWxpZGF0ZUZ1bGxFbGVtZW50OgorICogQGN0eHQ6ICB0aGUgdmFsaWRhdGlvbiBjb250ZXh0CisgKiBAZG9jOiAgYSBkb2N1bWVudCBpbnN0YW5jZQorICogQGVsZW06ICBhbiBlbGVtZW50IGluc3RhbmNlCisgKgorICogVmFsaWRhdGUgYSBmdWxsIHN1YnRyZWUgd2hlbiB4bWxSZWxheE5HVmFsaWRhdGVQdXNoRWxlbWVudCgpIHJldHVybmVkCisgKiAwIGFuZCB0aGUgY29udGVudCBvZiB0aGUgbm9kZSBoYXMgYmVlbiBleHBhbmRlZC4KKyAqCisgKiByZXR1cm5zIDEgaWYgbm8gdmFsaWRhdGlvbiBwcm9ibGVtIHdhcyBmb3VuZCBvciAtMSBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQKK3htbFJlbGF4TkdWYWxpZGF0ZUZ1bGxFbGVtZW50KHhtbFJlbGF4TkdWYWxpZEN0eHRQdHIgY3R4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbERvY1B0ciBkb2MgQVRUUklCVVRFX1VOVVNFRCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbE5vZGVQdHIgZWxlbSkKK3sKKyAgICBpbnQgcmV0OworICAgIHhtbFJlbGF4TkdWYWxpZFN0YXRlUHRyIHN0YXRlOworCisgICAgaWYgKChjdHh0ID09IE5VTEwpIHx8IChjdHh0LT5wZGVmID09IE5VTEwpIHx8IChlbGVtID09IE5VTEwpKQorICAgICAgICByZXR1cm4gKC0xKTsKKyNpZmRlZiBERUJVR19QUk9HUkVTU0lWRQorICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCAiRnVsbEVsZW0gJXNcbiIsIGVsZW0tPm5hbWUpOworI2VuZGlmCisgICAgc3RhdGUgPSB4bWxSZWxheE5HTmV3VmFsaWRTdGF0ZShjdHh0LCBlbGVtLT5wYXJlbnQpOworICAgIGlmIChzdGF0ZSA9PSBOVUxMKSB7CisgICAgICAgIHJldHVybiAoLTEpOworICAgIH0KKyAgICBzdGF0ZS0+c2VxID0gZWxlbTsKKyAgICBjdHh0LT5zdGF0ZSA9IHN0YXRlOworICAgIGN0eHQtPmVyck5vID0gWE1MX1JFTEFYTkdfT0s7CisgICAgcmV0ID0geG1sUmVsYXhOR1ZhbGlkYXRlRGVmaW5pdGlvbihjdHh0LCBjdHh0LT5wZGVmKTsKKyAgICBpZiAoKHJldCAhPSAwKSB8fCAoY3R4dC0+ZXJyTm8gIT0gWE1MX1JFTEFYTkdfT0spKQorICAgICAgICByZXQgPSAtMTsKKyAgICBlbHNlCisgICAgICAgIHJldCA9IDE7CisgICAgeG1sUmVsYXhOR0ZyZWVWYWxpZFN0YXRlKGN0eHQsIGN0eHQtPnN0YXRlKTsKKyAgICBjdHh0LT5zdGF0ZSA9IE5VTEw7CisjaWZkZWYgREVCVUdfUFJPR1JFU1NJVkUKKyAgICBpZiAocmV0IDwgMCkKKyAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICJGdWxsRWxlbSAlcyBmYWlsZWRcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICBlbGVtLT5uYW1lKTsKKyNlbmRpZgorICAgIHJldHVybiAocmV0KTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJR2VuZXJpYyBpbnRlcnByZXRlZCB2YWxpZGF0aW9uIGltcGxlbWVudGF0aW9uCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgaW50IHhtbFJlbGF4TkdWYWxpZGF0ZVZhbHVlKHhtbFJlbGF4TkdWYWxpZEN0eHRQdHIgY3R4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sUmVsYXhOR0RlZmluZVB0ciBkZWZpbmUpOworCisvKioKKyAqIHhtbFJlbGF4TkdTa2lwSWdub3JlZDoKKyAqIEBjdHh0OiAgYSBzY2hlbWEgdmFsaWRhdGlvbiBjb250ZXh0CisgKiBAbm9kZTogIHRoZSB0b3Agbm9kZS4KKyAqCisgKiBTa2lwIGlnbm9yYWJsZSBub2RlcyBpbiB0aGF0IGNvbnRleHQKKyAqCisgKiBSZXR1cm5zIHRoZSBuZXcgc2libGluZyBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK3N0YXRpYyB4bWxOb2RlUHRyCit4bWxSZWxheE5HU2tpcElnbm9yZWQoeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0ciBjdHh0IEFUVFJJQlVURV9VTlVTRUQsCisgICAgICAgICAgICAgICAgICAgICAgeG1sTm9kZVB0ciBub2RlKQoreworICAgIC8qCisgICAgICogVE9ETyBjb21wbGV0ZSBhbmQgaGFuZGxlIGVudGl0aWVzCisgICAgICovCisgICAgd2hpbGUgKChub2RlICE9IE5VTEwpICYmCisgICAgICAgICAgICgobm9kZS0+dHlwZSA9PSBYTUxfQ09NTUVOVF9OT0RFKSB8fAorICAgICAgICAgICAgKG5vZGUtPnR5cGUgPT0gWE1MX1BJX05PREUpIHx8CisJICAgIChub2RlLT50eXBlID09IFhNTF9YSU5DTFVERV9TVEFSVCkgfHwKKwkgICAgKG5vZGUtPnR5cGUgPT0gWE1MX1hJTkNMVURFX0VORCkgfHwKKyAgICAgICAgICAgICgoKG5vZGUtPnR5cGUgPT0gWE1MX1RFWFRfTk9ERSkgfHwKKyAgICAgICAgICAgICAgKG5vZGUtPnR5cGUgPT0gWE1MX0NEQVRBX1NFQ1RJT05fTk9ERSkpICYmCisgICAgICAgICAgICAgKChjdHh0LT5mbGFncyAmIEZMQUdTX01JWEVEX0NPTlRFTlQpIHx8CisgICAgICAgICAgICAgIChJU19CTEFOS19OT0RFKG5vZGUpKSkpKSkgeworICAgICAgICBub2RlID0gbm9kZS0+bmV4dDsKKyAgICB9CisgICAgcmV0dXJuIChub2RlKTsKK30KKworLyoqCisgKiB4bWxSZWxheE5HTm9ybWFsaXplOgorICogQGN0eHQ6ICBhIHNjaGVtYSB2YWxpZGF0aW9uIGNvbnRleHQKKyAqIEBzdHI6ICB0aGUgc3RyaW5nIHRvIG5vcm1hbGl6ZQorICoKKyAqIEltcGxlbWVudHMgdGhlICBub3JtYWxpemVXaGl0ZVNwYWNlKCBzICkgZnVuY3Rpb24gZnJvbQorICogc2VjdGlvbiA2LjIuOSBvZiB0aGUgc3BlYworICoKKyAqIFJldHVybnMgdGhlIG5ldyBzdHJpbmcgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLgorICovCitzdGF0aWMgeG1sQ2hhciAqCit4bWxSZWxheE5HTm9ybWFsaXplKHhtbFJlbGF4TkdWYWxpZEN0eHRQdHIgY3R4dCwgY29uc3QgeG1sQ2hhciAqIHN0cikKK3sKKyAgICB4bWxDaGFyICpyZXQsICpwOworICAgIGNvbnN0IHhtbENoYXIgKnRtcDsKKyAgICBpbnQgbGVuOworCisgICAgaWYgKHN0ciA9PSBOVUxMKQorICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIHRtcCA9IHN0cjsKKyAgICB3aGlsZSAoKnRtcCAhPSAwKQorICAgICAgICB0bXArKzsKKyAgICBsZW4gPSB0bXAgLSBzdHI7CisKKyAgICByZXQgPSAoeG1sQ2hhciAqKSB4bWxNYWxsb2NBdG9taWMoKGxlbiArIDEpICogc2l6ZW9mKHhtbENoYXIpKTsKKyAgICBpZiAocmV0ID09IE5VTEwpIHsKKyAgICAgICAgeG1sUm5nVkVyck1lbW9yeShjdHh0LCAidmFsaWRhdGluZ1xuIik7CisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgfQorICAgIHAgPSByZXQ7CisgICAgd2hpbGUgKElTX0JMQU5LX0NIKCpzdHIpKQorICAgICAgICBzdHIrKzsKKyAgICB3aGlsZSAoKnN0ciAhPSAwKSB7CisgICAgICAgIGlmIChJU19CTEFOS19DSCgqc3RyKSkgeworICAgICAgICAgICAgd2hpbGUgKElTX0JMQU5LX0NIKCpzdHIpKQorICAgICAgICAgICAgICAgIHN0cisrOworICAgICAgICAgICAgaWYgKCpzdHIgPT0gMCkKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICpwKysgPSAnICc7CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgKnArKyA9ICpzdHIrKzsKKyAgICB9CisgICAgKnAgPSAwOworICAgIHJldHVybiAocmV0KTsKK30KKworLyoqCisgKiB4bWxSZWxheE5HVmFsaWRhdGVEYXRhdHlwZToKKyAqIEBjdHh0OiAgYSBSZWxheC1ORyB2YWxpZGF0aW9uIGNvbnRleHQKKyAqIEB2YWx1ZTogIHRoZSBzdHJpbmcgdmFsdWUKKyAqIEB0eXBlOiAgdGhlIGRhdGF0eXBlIGRlZmluaXRpb24KKyAqIEBub2RlOiAgdGhlIG5vZGUKKyAqCisgKiBWYWxpZGF0ZSB0aGUgZ2l2ZW4gdmFsdWUgYWdhaW5zdCB0aGUgZGF0YXlwZQorICoKKyAqIFJldHVybnMgMCBpZiB0aGUgdmFsaWRhdGlvbiBzdWNjZWVkZWQgb3IgYW4gZXJyb3IgY29kZS4KKyAqLworc3RhdGljIGludAoreG1sUmVsYXhOR1ZhbGlkYXRlRGF0YXR5cGUoeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0ciBjdHh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIHZhbHVlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sUmVsYXhOR0RlZmluZVB0ciBkZWZpbmUsIHhtbE5vZGVQdHIgbm9kZSkKK3sKKyAgICBpbnQgcmV0LCB0bXA7CisgICAgeG1sUmVsYXhOR1R5cGVMaWJyYXJ5UHRyIGxpYjsKKyAgICB2b2lkICpyZXN1bHQgPSBOVUxMOworICAgIHhtbFJlbGF4TkdEZWZpbmVQdHIgY3VyOworCisgICAgaWYgKChkZWZpbmUgPT0gTlVMTCkgfHwgKGRlZmluZS0+ZGF0YSA9PSBOVUxMKSkgeworICAgICAgICByZXR1cm4gKC0xKTsKKyAgICB9CisgICAgbGliID0gKHhtbFJlbGF4TkdUeXBlTGlicmFyeVB0cikgZGVmaW5lLT5kYXRhOworICAgIGlmIChsaWItPmNoZWNrICE9IE5VTEwpIHsKKyAgICAgICAgaWYgKChkZWZpbmUtPmF0dHJzICE9IE5VTEwpICYmCisgICAgICAgICAgICAoZGVmaW5lLT5hdHRycy0+dHlwZSA9PSBYTUxfUkVMQVhOR19QQVJBTSkpIHsKKyAgICAgICAgICAgIHJldCA9CisgICAgICAgICAgICAgICAgbGliLT5jaGVjayhsaWItPmRhdGEsIGRlZmluZS0+bmFtZSwgdmFsdWUsICZyZXN1bHQsIG5vZGUpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgcmV0ID0gbGliLT5jaGVjayhsaWItPmRhdGEsIGRlZmluZS0+bmFtZSwgdmFsdWUsIE5VTEwsIG5vZGUpOworICAgICAgICB9CisgICAgfSBlbHNlCisgICAgICAgIHJldCA9IC0xOworICAgIGlmIChyZXQgPCAwKSB7CisgICAgICAgIFZBTElEX0VSUjIoWE1MX1JFTEFYTkdfRVJSX1RZUEUsIGRlZmluZS0+bmFtZSk7CisgICAgICAgIGlmICgocmVzdWx0ICE9IE5VTEwpICYmIChsaWIgIT0gTlVMTCkgJiYgKGxpYi0+ZnJlZWYgIT0gTlVMTCkpCisgICAgICAgICAgICBsaWItPmZyZWVmKGxpYi0+ZGF0YSwgcmVzdWx0KTsKKyAgICAgICAgcmV0dXJuICgtMSk7CisgICAgfSBlbHNlIGlmIChyZXQgPT0gMSkgeworICAgICAgICByZXQgPSAwOworICAgIH0gZWxzZSBpZiAocmV0ID09IDIpIHsKKyAgICAgICAgVkFMSURfRVJSMlAoWE1MX1JFTEFYTkdfRVJSX0RVUElELCB2YWx1ZSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgVkFMSURfRVJSM1AoWE1MX1JFTEFYTkdfRVJSX1RZUEVWQUwsIGRlZmluZS0+bmFtZSwgdmFsdWUpOworICAgICAgICByZXQgPSAtMTsKKyAgICB9CisgICAgY3VyID0gZGVmaW5lLT5hdHRyczsKKyAgICB3aGlsZSAoKHJldCA9PSAwKSAmJiAoY3VyICE9IE5VTEwpICYmIChjdXItPnR5cGUgPT0gWE1MX1JFTEFYTkdfUEFSQU0pKSB7CisgICAgICAgIGlmIChsaWItPmZhY2V0ICE9IE5VTEwpIHsKKyAgICAgICAgICAgIHRtcCA9IGxpYi0+ZmFjZXQobGliLT5kYXRhLCBkZWZpbmUtPm5hbWUsIGN1ci0+bmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VyLT52YWx1ZSwgdmFsdWUsIHJlc3VsdCk7CisgICAgICAgICAgICBpZiAodG1wICE9IDApCisgICAgICAgICAgICAgICAgcmV0ID0gLTE7CisgICAgICAgIH0KKyAgICAgICAgY3VyID0gY3VyLT5uZXh0OworICAgIH0KKyAgICBpZiAoKHJldCA9PSAwKSAmJiAoZGVmaW5lLT5jb250ZW50ICE9IE5VTEwpKSB7CisgICAgICAgIGNvbnN0IHhtbENoYXIgKm9sZHZhbHVlLCAqb2xkZW5kdmFsdWU7CisKKyAgICAgICAgb2xkdmFsdWUgPSBjdHh0LT5zdGF0ZS0+dmFsdWU7CisgICAgICAgIG9sZGVuZHZhbHVlID0gY3R4dC0+c3RhdGUtPmVuZHZhbHVlOworICAgICAgICBjdHh0LT5zdGF0ZS0+dmFsdWUgPSAoeG1sQ2hhciAqKSB2YWx1ZTsKKyAgICAgICAgY3R4dC0+c3RhdGUtPmVuZHZhbHVlID0gTlVMTDsKKyAgICAgICAgcmV0ID0geG1sUmVsYXhOR1ZhbGlkYXRlVmFsdWUoY3R4dCwgZGVmaW5lLT5jb250ZW50KTsKKyAgICAgICAgY3R4dC0+c3RhdGUtPnZhbHVlID0gKHhtbENoYXIgKikgb2xkdmFsdWU7CisgICAgICAgIGN0eHQtPnN0YXRlLT5lbmR2YWx1ZSA9ICh4bWxDaGFyICopIG9sZGVuZHZhbHVlOworICAgIH0KKyAgICBpZiAoKHJlc3VsdCAhPSBOVUxMKSAmJiAobGliICE9IE5VTEwpICYmIChsaWItPmZyZWVmICE9IE5VTEwpKQorICAgICAgICBsaWItPmZyZWVmKGxpYi0+ZGF0YSwgcmVzdWx0KTsKKyAgICByZXR1cm4gKHJldCk7Cit9CisKKy8qKgorICogeG1sUmVsYXhOR05leHRWYWx1ZToKKyAqIEBjdHh0OiAgYSBSZWxheC1ORyB2YWxpZGF0aW9uIGNvbnRleHQKKyAqCisgKiBTa2lwIHRvIHRoZSBuZXh0IHZhbHVlIHdoZW4gdmFsaWRhdGluZyB3aXRoaW4gYSBsaXN0CisgKgorICogUmV0dXJucyAwIGlmIHRoZSBvcGVyYXRpb24gc3VjY2VlZGVkIG9yIGFuIGVycm9yIGNvZGUuCisgKi8KK3N0YXRpYyBpbnQKK3htbFJlbGF4TkdOZXh0VmFsdWUoeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0ciBjdHh0KQoreworICAgIHhtbENoYXIgKmN1cjsKKworICAgIGN1ciA9IGN0eHQtPnN0YXRlLT52YWx1ZTsKKyAgICBpZiAoKGN1ciA9PSBOVUxMKSB8fCAoY3R4dC0+c3RhdGUtPmVuZHZhbHVlID09IE5VTEwpKSB7CisgICAgICAgIGN0eHQtPnN0YXRlLT52YWx1ZSA9IE5VTEw7CisgICAgICAgIGN0eHQtPnN0YXRlLT5lbmR2YWx1ZSA9IE5VTEw7CisgICAgICAgIHJldHVybiAoMCk7CisgICAgfQorICAgIHdoaWxlICgqY3VyICE9IDApCisgICAgICAgIGN1cisrOworICAgIHdoaWxlICgoY3VyICE9IGN0eHQtPnN0YXRlLT5lbmR2YWx1ZSkgJiYgKCpjdXIgPT0gMCkpCisgICAgICAgIGN1cisrOworICAgIGlmIChjdXIgPT0gY3R4dC0+c3RhdGUtPmVuZHZhbHVlKQorICAgICAgICBjdHh0LT5zdGF0ZS0+dmFsdWUgPSBOVUxMOworICAgIGVsc2UKKyAgICAgICAgY3R4dC0+c3RhdGUtPnZhbHVlID0gY3VyOworICAgIHJldHVybiAoMCk7Cit9CisKKy8qKgorICogeG1sUmVsYXhOR1ZhbGlkYXRlVmFsdWVMaXN0OgorICogQGN0eHQ6ICBhIFJlbGF4LU5HIHZhbGlkYXRpb24gY29udGV4dAorICogQGRlZmluZXM6ICB0aGUgbGlzdCBvZiBkZWZpbml0aW9ucyB0byB2ZXJpZnkKKyAqCisgKiBWYWxpZGF0ZSB0aGUgZ2l2ZW4gc2V0IG9mIGRlZmluaXRpb25zIGZvciB0aGUgY3VycmVudCB2YWx1ZQorICoKKyAqIFJldHVybnMgMCBpZiB0aGUgdmFsaWRhdGlvbiBzdWNjZWVkZWQgb3IgYW4gZXJyb3IgY29kZS4KKyAqLworc3RhdGljIGludAoreG1sUmVsYXhOR1ZhbGlkYXRlVmFsdWVMaXN0KHhtbFJlbGF4TkdWYWxpZEN0eHRQdHIgY3R4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxSZWxheE5HRGVmaW5lUHRyIGRlZmluZXMpCit7CisgICAgaW50IHJldCA9IDA7CisKKyAgICB3aGlsZSAoZGVmaW5lcyAhPSBOVUxMKSB7CisgICAgICAgIHJldCA9IHhtbFJlbGF4TkdWYWxpZGF0ZVZhbHVlKGN0eHQsIGRlZmluZXMpOworICAgICAgICBpZiAocmV0ICE9IDApCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmaW5lcyA9IGRlZmluZXMtPm5leHQ7CisgICAgfQorICAgIHJldHVybiAocmV0KTsKK30KKworLyoqCisgKiB4bWxSZWxheE5HVmFsaWRhdGVWYWx1ZToKKyAqIEBjdHh0OiAgYSBSZWxheC1ORyB2YWxpZGF0aW9uIGNvbnRleHQKKyAqIEBkZWZpbmU6ICB0aGUgZGVmaW5pdGlvbiB0byB2ZXJpZnkKKyAqCisgKiBWYWxpZGF0ZSB0aGUgZ2l2ZW4gZGVmaW5pdGlvbiBmb3IgdGhlIGN1cnJlbnQgdmFsdWUKKyAqCisgKiBSZXR1cm5zIDAgaWYgdGhlIHZhbGlkYXRpb24gc3VjY2VlZGVkIG9yIGFuIGVycm9yIGNvZGUuCisgKi8KK3N0YXRpYyBpbnQKK3htbFJlbGF4TkdWYWxpZGF0ZVZhbHVlKHhtbFJlbGF4TkdWYWxpZEN0eHRQdHIgY3R4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdEZWZpbmVQdHIgZGVmaW5lKQoreworICAgIGludCByZXQgPSAwLCBvbGRmbGFnczsKKyAgICB4bWxDaGFyICp2YWx1ZTsKKworICAgIHZhbHVlID0gY3R4dC0+c3RhdGUtPnZhbHVlOworICAgIHN3aXRjaCAoZGVmaW5lLT50eXBlKSB7CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfRU1QVFk6eworICAgICAgICAgICAgICAgIGlmICgodmFsdWUgIT0gTlVMTCkgJiYgKHZhbHVlWzBdICE9IDApKSB7CisgICAgICAgICAgICAgICAgICAgIGludCBpZHggPSAwOworCisgICAgICAgICAgICAgICAgICAgIHdoaWxlIChJU19CTEFOS19DSCh2YWx1ZVtpZHhdKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGlkeCsrOworICAgICAgICAgICAgICAgICAgICBpZiAodmFsdWVbaWR4XSAhPSAwKQorICAgICAgICAgICAgICAgICAgICAgICAgcmV0ID0gLTE7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX1RFWFQ6CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19WQUxVRTp7CisgICAgICAgICAgICAgICAgaWYgKCF4bWxTdHJFcXVhbCh2YWx1ZSwgZGVmaW5lLT52YWx1ZSkpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGRlZmluZS0+bmFtZSAhPSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgICAgICB4bWxSZWxheE5HVHlwZUxpYnJhcnlQdHIgbGliOworCisgICAgICAgICAgICAgICAgICAgICAgICBsaWIgPSAoeG1sUmVsYXhOR1R5cGVMaWJyYXJ5UHRyKSBkZWZpbmUtPmRhdGE7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKGxpYiAhPSBOVUxMKSAmJiAobGliLT5jb21wICE9IE5VTEwpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0ID0gbGliLT5jb21wKGxpYi0+ZGF0YSwgZGVmaW5lLT5uYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZpbmUtPnZhbHVlLCBkZWZpbmUtPm5vZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2b2lkICopIGRlZmluZS0+YXR0cnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlLCBjdHh0LT5zdGF0ZS0+bm9kZSk7CisgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXQgPSAtMTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXQgPCAwKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgVkFMSURfRVJSMihYTUxfUkVMQVhOR19FUlJfVFlQRUNNUCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmluZS0+bmFtZSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICgtMSk7CisgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHJldCA9PSAxKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0ID0gMDsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0ID0gLTE7CisgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICB4bWxDaGFyICpudmFsLCAqbnZhbHVlOworCisgICAgICAgICAgICAgICAgICAgICAgICAvKgorICAgICAgICAgICAgICAgICAgICAgICAgICogVE9ETzogdHJpdmlhbCBvcHRpbWl6YXRpb25zIGFyZSBwb3NzaWJsZSBieQorICAgICAgICAgICAgICAgICAgICAgICAgICogY29tcHV0aW5nIGF0IGNvbXBpbGUtdGltZQorICAgICAgICAgICAgICAgICAgICAgICAgICovCisgICAgICAgICAgICAgICAgICAgICAgICBudmFsID0geG1sUmVsYXhOR05vcm1hbGl6ZShjdHh0LCBkZWZpbmUtPnZhbHVlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIG52YWx1ZSA9IHhtbFJlbGF4TkdOb3JtYWxpemUoY3R4dCwgdmFsdWUpOworCisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKG52YWwgPT0gTlVMTCkgfHwgKG52YWx1ZSA9PSBOVUxMKSB8fAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICgheG1sU3RyRXF1YWwobnZhbCwgbnZhbHVlKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0ID0gLTE7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAobnZhbCAhPSBOVUxMKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbEZyZWUobnZhbCk7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAobnZhbHVlICE9IE5VTEwpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sRnJlZShudmFsdWUpOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGlmIChyZXQgPT0gMCkKKyAgICAgICAgICAgICAgICAgICAgeG1sUmVsYXhOR05leHRWYWx1ZShjdHh0KTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19EQVRBVFlQRTp7CisgICAgICAgICAgICAgICAgcmV0ID0geG1sUmVsYXhOR1ZhbGlkYXRlRGF0YXR5cGUoY3R4dCwgdmFsdWUsIGRlZmluZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdHh0LT5zdGF0ZS0+c2VxKTsKKyAgICAgICAgICAgICAgICBpZiAocmV0ID09IDApCisgICAgICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdOZXh0VmFsdWUoY3R4dCk7CisKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19DSE9JQ0U6eworICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdEZWZpbmVQdHIgbGlzdCA9IGRlZmluZS0+Y29udGVudDsKKyAgICAgICAgICAgICAgICB4bWxDaGFyICpvbGR2YWx1ZTsKKworICAgICAgICAgICAgICAgIG9sZGZsYWdzID0gY3R4dC0+ZmxhZ3M7CisgICAgICAgICAgICAgICAgY3R4dC0+ZmxhZ3MgfD0gRkxBR1NfSUdOT1JBQkxFOworCisgICAgICAgICAgICAgICAgb2xkdmFsdWUgPSBjdHh0LT5zdGF0ZS0+dmFsdWU7CisgICAgICAgICAgICAgICAgd2hpbGUgKGxpc3QgIT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICByZXQgPSB4bWxSZWxheE5HVmFsaWRhdGVWYWx1ZShjdHh0LCBsaXN0KTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHJldCA9PSAwKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBjdHh0LT5zdGF0ZS0+dmFsdWUgPSBvbGR2YWx1ZTsKKyAgICAgICAgICAgICAgICAgICAgbGlzdCA9IGxpc3QtPm5leHQ7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGN0eHQtPmZsYWdzID0gb2xkZmxhZ3M7CisgICAgICAgICAgICAgICAgaWYgKHJldCAhPSAwKSB7CisgICAgICAgICAgICAgICAgICAgIGlmICgoY3R4dC0+ZmxhZ3MgJiBGTEFHU19JR05PUkFCTEUpID09IDApCisgICAgICAgICAgICAgICAgICAgICAgICB4bWxSZWxheE5HRHVtcFZhbGlkRXJyb3IoY3R4dCk7CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGN0eHQtPmVyck5yID4gMCkKKyAgICAgICAgICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdQb3BFcnJvcnMoY3R4dCwgMCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX0xJU1Q6eworICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdEZWZpbmVQdHIgbGlzdCA9IGRlZmluZS0+Y29udGVudDsKKyAgICAgICAgICAgICAgICB4bWxDaGFyICpvbGR2YWx1ZSwgKm9sZGVuZCwgKnZhbCwgKmN1cjsKKworI2lmZGVmIERFQlVHX0xJU1QKKyAgICAgICAgICAgICAgICBpbnQgbmJfdmFsdWVzID0gMDsKKyNlbmRpZgorCisgICAgICAgICAgICAgICAgb2xkdmFsdWUgPSBjdHh0LT5zdGF0ZS0+dmFsdWU7CisgICAgICAgICAgICAgICAgb2xkZW5kID0gY3R4dC0+c3RhdGUtPmVuZHZhbHVlOworCisgICAgICAgICAgICAgICAgdmFsID0geG1sU3RyZHVwKG9sZHZhbHVlKTsKKyAgICAgICAgICAgICAgICBpZiAodmFsID09IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgdmFsID0geG1sU3RyZHVwKEJBRF9DQVNUICIiKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgaWYgKHZhbCA9PSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgIFZBTElEX0VSUihYTUxfUkVMQVhOR19FUlJfTk9TVEFURSk7CisgICAgICAgICAgICAgICAgICAgIHJldHVybiAoLTEpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBjdXIgPSB2YWw7CisgICAgICAgICAgICAgICAgd2hpbGUgKCpjdXIgIT0gMCkgeworICAgICAgICAgICAgICAgICAgICBpZiAoSVNfQkxBTktfQ0goKmN1cikpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICpjdXIgPSAwOworICAgICAgICAgICAgICAgICAgICAgICAgY3VyKys7CisjaWZkZWYgREVCVUdfTElTVAorICAgICAgICAgICAgICAgICAgICAgICAgbmJfdmFsdWVzKys7CisjZW5kaWYKKyAgICAgICAgICAgICAgICAgICAgICAgIHdoaWxlIChJU19CTEFOS19DSCgqY3VyKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAqY3VyKysgPSAwOworICAgICAgICAgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgIGN1cisrOworICAgICAgICAgICAgICAgIH0KKyNpZmRlZiBERUJVR19MSVNUCisgICAgICAgICAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaXN0IHZhbHVlOiAnJXMnIGZvdW5kICVkIGl0ZW1zXG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbGR2YWx1ZSwgbmJfdmFsdWVzKTsKKyAgICAgICAgICAgICAgICBuYl92YWx1ZXMgPSAwOworI2VuZGlmCisgICAgICAgICAgICAgICAgY3R4dC0+c3RhdGUtPmVuZHZhbHVlID0gY3VyOworICAgICAgICAgICAgICAgIGN1ciA9IHZhbDsKKyAgICAgICAgICAgICAgICB3aGlsZSAoKCpjdXIgPT0gMCkgJiYgKGN1ciAhPSBjdHh0LT5zdGF0ZS0+ZW5kdmFsdWUpKQorICAgICAgICAgICAgICAgICAgICBjdXIrKzsKKworICAgICAgICAgICAgICAgIGN0eHQtPnN0YXRlLT52YWx1ZSA9IGN1cjsKKworICAgICAgICAgICAgICAgIHdoaWxlIChsaXN0ICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGN0eHQtPnN0YXRlLT52YWx1ZSA9PSBjdHh0LT5zdGF0ZS0+ZW5kdmFsdWUpCisgICAgICAgICAgICAgICAgICAgICAgICBjdHh0LT5zdGF0ZS0+dmFsdWUgPSBOVUxMOworICAgICAgICAgICAgICAgICAgICByZXQgPSB4bWxSZWxheE5HVmFsaWRhdGVWYWx1ZShjdHh0LCBsaXN0KTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHJldCAhPSAwKSB7CisjaWZkZWYgREVCVUdfTElTVAorICAgICAgICAgICAgICAgICAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkZhaWxlZCB0byB2YWxpZGF0ZSB2YWx1ZTogJyVzJyB3aXRoICVkIHJ1bGVcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3R4dC0+c3RhdGUtPnZhbHVlLCBuYl92YWx1ZXMpOworI2VuZGlmCisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgfQorI2lmZGVmIERFQlVHX0xJU1QKKyAgICAgICAgICAgICAgICAgICAgbmJfdmFsdWVzKys7CisjZW5kaWYKKyAgICAgICAgICAgICAgICAgICAgbGlzdCA9IGxpc3QtPm5leHQ7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgaWYgKChyZXQgPT0gMCkgJiYgKGN0eHQtPnN0YXRlLT52YWx1ZSAhPSBOVUxMKSAmJgorICAgICAgICAgICAgICAgICAgICAoY3R4dC0+c3RhdGUtPnZhbHVlICE9IGN0eHQtPnN0YXRlLT5lbmR2YWx1ZSkpIHsKKyAgICAgICAgICAgICAgICAgICAgVkFMSURfRVJSMihYTUxfUkVMQVhOR19FUlJfTElTVEVYVFJBLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN0eHQtPnN0YXRlLT52YWx1ZSk7CisgICAgICAgICAgICAgICAgICAgIHJldCA9IC0xOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB4bWxGcmVlKHZhbCk7CisgICAgICAgICAgICAgICAgY3R4dC0+c3RhdGUtPnZhbHVlID0gb2xkdmFsdWU7CisgICAgICAgICAgICAgICAgY3R4dC0+c3RhdGUtPmVuZHZhbHVlID0gb2xkZW5kOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX09ORU9STU9SRToKKyAgICAgICAgICAgIHJldCA9IHhtbFJlbGF4TkdWYWxpZGF0ZVZhbHVlTGlzdChjdHh0LCBkZWZpbmUtPmNvbnRlbnQpOworICAgICAgICAgICAgaWYgKHJldCAhPSAwKSB7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAvKiBubyBicmVhayBvbiBwdXJwb3NlICovCisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfWkVST09STU9SRTp7CisgICAgICAgICAgICAgICAgeG1sQ2hhciAqY3VyLCAqdGVtcDsKKworICAgICAgICAgICAgICAgIGlmICgoY3R4dC0+c3RhdGUtPnZhbHVlID09IE5VTEwpIHx8CisgICAgICAgICAgICAgICAgICAgICgqY3R4dC0+c3RhdGUtPnZhbHVlID09IDApKSB7CisgICAgICAgICAgICAgICAgICAgIHJldCA9IDA7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBvbGRmbGFncyA9IGN0eHQtPmZsYWdzOworICAgICAgICAgICAgICAgIGN0eHQtPmZsYWdzIHw9IEZMQUdTX0lHTk9SQUJMRTsKKyAgICAgICAgICAgICAgICBjdXIgPSBjdHh0LT5zdGF0ZS0+dmFsdWU7CisgICAgICAgICAgICAgICAgdGVtcCA9IE5VTEw7CisgICAgICAgICAgICAgICAgd2hpbGUgKChjdXIgIT0gTlVMTCkgJiYgKGN1ciAhPSBjdHh0LT5zdGF0ZS0+ZW5kdmFsdWUpICYmCisgICAgICAgICAgICAgICAgICAgICAgICh0ZW1wICE9IGN1cikpIHsKKyAgICAgICAgICAgICAgICAgICAgdGVtcCA9IGN1cjsKKyAgICAgICAgICAgICAgICAgICAgcmV0ID0KKyAgICAgICAgICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdWYWxpZGF0ZVZhbHVlTGlzdChjdHh0LCBkZWZpbmUtPmNvbnRlbnQpOworICAgICAgICAgICAgICAgICAgICBpZiAocmV0ICE9IDApIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGN0eHQtPnN0YXRlLT52YWx1ZSA9IHRlbXA7CisgICAgICAgICAgICAgICAgICAgICAgICByZXQgPSAwOworICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgY3VyID0gY3R4dC0+c3RhdGUtPnZhbHVlOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBjdHh0LT5mbGFncyA9IG9sZGZsYWdzOworCQlpZiAoY3R4dC0+ZXJyTnIgPiAwKQorCQkgICAgeG1sUmVsYXhOR1BvcEVycm9ycyhjdHh0LCAwKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19PUFRJT05BTDp7CisgICAgICAgICAgICAgICAgeG1sQ2hhciAqdGVtcDsKKworICAgICAgICAgICAgICAgIGlmICgoY3R4dC0+c3RhdGUtPnZhbHVlID09IE5VTEwpIHx8CisgICAgICAgICAgICAgICAgICAgICgqY3R4dC0+c3RhdGUtPnZhbHVlID09IDApKSB7CisgICAgICAgICAgICAgICAgICAgIHJldCA9IDA7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBvbGRmbGFncyA9IGN0eHQtPmZsYWdzOworICAgICAgICAgICAgICAgIGN0eHQtPmZsYWdzIHw9IEZMQUdTX0lHTk9SQUJMRTsKKyAgICAgICAgICAgICAgICB0ZW1wID0gY3R4dC0+c3RhdGUtPnZhbHVlOworICAgICAgICAgICAgICAgIHJldCA9IHhtbFJlbGF4TkdWYWxpZGF0ZVZhbHVlKGN0eHQsIGRlZmluZS0+Y29udGVudCk7CisgICAgICAgICAgICAgICAgY3R4dC0+ZmxhZ3MgPSBvbGRmbGFnczsKKyAgICAgICAgICAgICAgICBpZiAocmV0ICE9IDApIHsKKyAgICAgICAgICAgICAgICAgICAgY3R4dC0+c3RhdGUtPnZhbHVlID0gdGVtcDsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGN0eHQtPmVyck5yID4gMCkKKyAgICAgICAgICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdQb3BFcnJvcnMoY3R4dCwgMCk7CisgICAgICAgICAgICAgICAgICAgIHJldCA9IDA7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KKwkJaWYgKGN0eHQtPmVyck5yID4gMCkKKwkJICAgIHhtbFJlbGF4TkdQb3BFcnJvcnMoY3R4dCwgMCk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfRVhDRVBUOnsKKyAgICAgICAgICAgICAgICB4bWxSZWxheE5HRGVmaW5lUHRyIGxpc3Q7CisKKyAgICAgICAgICAgICAgICBsaXN0ID0gZGVmaW5lLT5jb250ZW50OworICAgICAgICAgICAgICAgIHdoaWxlIChsaXN0ICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgcmV0ID0geG1sUmVsYXhOR1ZhbGlkYXRlVmFsdWUoY3R4dCwgbGlzdCk7CisgICAgICAgICAgICAgICAgICAgIGlmIChyZXQgPT0gMCkgeworICAgICAgICAgICAgICAgICAgICAgICAgcmV0ID0gLTE7CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgfSBlbHNlCisgICAgICAgICAgICAgICAgICAgICAgICByZXQgPSAwOworICAgICAgICAgICAgICAgICAgICBsaXN0ID0gbGlzdC0+bmV4dDsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfREVGOgorICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX0dST1VQOnsKKyAgICAgICAgICAgICAgICB4bWxSZWxheE5HRGVmaW5lUHRyIGxpc3Q7CisKKyAgICAgICAgICAgICAgICBsaXN0ID0gZGVmaW5lLT5jb250ZW50OworICAgICAgICAgICAgICAgIHdoaWxlIChsaXN0ICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgcmV0ID0geG1sUmVsYXhOR1ZhbGlkYXRlVmFsdWUoY3R4dCwgbGlzdCk7CisgICAgICAgICAgICAgICAgICAgIGlmIChyZXQgIT0gMCkgeworICAgICAgICAgICAgICAgICAgICAgICAgcmV0ID0gLTE7CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgfSBlbHNlCisgICAgICAgICAgICAgICAgICAgICAgICByZXQgPSAwOworICAgICAgICAgICAgICAgICAgICBsaXN0ID0gbGlzdC0+bmV4dDsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfUkVGOgorICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX1BBUkVOVFJFRjoKKwkgICAgaWYgKGRlZmluZS0+Y29udGVudCA9PSBOVUxMKSB7CisgICAgICAgICAgICAgICAgVkFMSURfRVJSKFhNTF9SRUxBWE5HX0VSUl9OT0RFRklORSk7CisgICAgICAgICAgICAgICAgcmV0ID0gLTE7CisJICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgcmV0ID0geG1sUmVsYXhOR1ZhbGlkYXRlVmFsdWUoY3R4dCwgZGVmaW5lLT5jb250ZW50KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgVE9ETyByZXQgPSAtMTsKKyAgICB9CisgICAgcmV0dXJuIChyZXQpOworfQorCisvKioKKyAqIHhtbFJlbGF4TkdWYWxpZGF0ZVZhbHVlQ29udGVudDoKKyAqIEBjdHh0OiAgYSBSZWxheC1ORyB2YWxpZGF0aW9uIGNvbnRleHQKKyAqIEBkZWZpbmVzOiAgdGhlIGxpc3Qgb2YgZGVmaW5pdGlvbnMgdG8gdmVyaWZ5CisgKgorICogVmFsaWRhdGUgdGhlIGdpdmVuIGRlZmluaXRpb25zIGZvciB0aGUgY3VycmVudCB2YWx1ZQorICoKKyAqIFJldHVybnMgMCBpZiB0aGUgdmFsaWRhdGlvbiBzdWNjZWVkZWQgb3IgYW4gZXJyb3IgY29kZS4KKyAqLworc3RhdGljIGludAoreG1sUmVsYXhOR1ZhbGlkYXRlVmFsdWVDb250ZW50KHhtbFJlbGF4TkdWYWxpZEN0eHRQdHIgY3R4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxSZWxheE5HRGVmaW5lUHRyIGRlZmluZXMpCit7CisgICAgaW50IHJldCA9IDA7CisKKyAgICB3aGlsZSAoZGVmaW5lcyAhPSBOVUxMKSB7CisgICAgICAgIHJldCA9IHhtbFJlbGF4TkdWYWxpZGF0ZVZhbHVlKGN0eHQsIGRlZmluZXMpOworICAgICAgICBpZiAocmV0ICE9IDApCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmaW5lcyA9IGRlZmluZXMtPm5leHQ7CisgICAgfQorICAgIHJldHVybiAocmV0KTsKK30KKworLyoqCisgKiB4bWxSZWxheE5HQXR0cmlidXRlTWF0Y2g6CisgKiBAY3R4dDogIGEgUmVsYXgtTkcgdmFsaWRhdGlvbiBjb250ZXh0CisgKiBAZGVmaW5lOiAgdGhlIGRlZmluaXRpb24gdG8gY2hlY2sKKyAqIEBwcm9wOiAgdGhlIGF0dHJpYnV0ZQorICoKKyAqIENoZWNrIGlmIHRoZSBhdHRyaWJ1dGUgbWF0Y2hlcyB0aGUgZGVmaW5pdGlvbiBuYW1lQ2xhc3MKKyAqCisgKiBSZXR1cm5zIDEgaWYgdGhlIGF0dHJpYnV0ZSBtYXRjaGVzLCAwIGlmIG5vLCBvciAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3N0YXRpYyBpbnQKK3htbFJlbGF4TkdBdHRyaWJ1dGVNYXRjaCh4bWxSZWxheE5HVmFsaWRDdHh0UHRyIGN0eHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgeG1sUmVsYXhOR0RlZmluZVB0ciBkZWZpbmUsIHhtbEF0dHJQdHIgcHJvcCkKK3sKKyAgICBpbnQgcmV0OworCisgICAgaWYgKGRlZmluZS0+bmFtZSAhPSBOVUxMKSB7CisgICAgICAgIGlmICgheG1sU3RyRXF1YWwoZGVmaW5lLT5uYW1lLCBwcm9wLT5uYW1lKSkKKyAgICAgICAgICAgIHJldHVybiAoMCk7CisgICAgfQorICAgIGlmIChkZWZpbmUtPm5zICE9IE5VTEwpIHsKKyAgICAgICAgaWYgKGRlZmluZS0+bnNbMF0gPT0gMCkgeworICAgICAgICAgICAgaWYgKHByb3AtPm5zICE9IE5VTEwpCisgICAgICAgICAgICAgICAgcmV0dXJuICgwKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGlmICgocHJvcC0+bnMgPT0gTlVMTCkgfHwKKyAgICAgICAgICAgICAgICAoIXhtbFN0ckVxdWFsKGRlZmluZS0+bnMsIHByb3AtPm5zLT5ocmVmKSkpCisgICAgICAgICAgICAgICAgcmV0dXJuICgwKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBpZiAoZGVmaW5lLT5uYW1lQ2xhc3MgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuICgxKTsKKyAgICBkZWZpbmUgPSBkZWZpbmUtPm5hbWVDbGFzczsKKyAgICBpZiAoZGVmaW5lLT50eXBlID09IFhNTF9SRUxBWE5HX0VYQ0VQVCkgeworICAgICAgICB4bWxSZWxheE5HRGVmaW5lUHRyIGxpc3Q7CisKKyAgICAgICAgbGlzdCA9IGRlZmluZS0+Y29udGVudDsKKyAgICAgICAgd2hpbGUgKGxpc3QgIT0gTlVMTCkgeworICAgICAgICAgICAgcmV0ID0geG1sUmVsYXhOR0F0dHJpYnV0ZU1hdGNoKGN0eHQsIGxpc3QsIHByb3ApOworICAgICAgICAgICAgaWYgKHJldCA9PSAxKQorICAgICAgICAgICAgICAgIHJldHVybiAoMCk7CisgICAgICAgICAgICBpZiAocmV0IDwgMCkKKyAgICAgICAgICAgICAgICByZXR1cm4gKHJldCk7CisgICAgICAgICAgICBsaXN0ID0gbGlzdC0+bmV4dDsKKyAgICAgICAgfQorICAgIH0gZWxzZSBpZiAoZGVmaW5lLT50eXBlID09IFhNTF9SRUxBWE5HX0NIT0lDRSkgeworICAgICAgICB4bWxSZWxheE5HRGVmaW5lUHRyIGxpc3Q7CisKKyAgICAgICAgbGlzdCA9IGRlZmluZS0+bmFtZUNsYXNzOworICAgICAgICB3aGlsZSAobGlzdCAhPSBOVUxMKSB7CisgICAgICAgICAgICByZXQgPSB4bWxSZWxheE5HQXR0cmlidXRlTWF0Y2goY3R4dCwgbGlzdCwgcHJvcCk7CisgICAgICAgICAgICBpZiAocmV0ID09IDEpCisgICAgICAgICAgICAgICAgcmV0dXJuICgxKTsKKyAgICAgICAgICAgIGlmIChyZXQgPCAwKQorICAgICAgICAgICAgICAgIHJldHVybiAocmV0KTsKKyAgICAgICAgICAgIGxpc3QgPSBsaXN0LT5uZXh0OworICAgICAgICB9CisgICAgICAgIHJldHVybiAoMCk7CisgICAgfSBlbHNlIHsKKyAgICBUT0RPfQorICAgIHJldHVybiAoMSk7Cit9CisKKy8qKgorICogeG1sUmVsYXhOR1ZhbGlkYXRlQXR0cmlidXRlOgorICogQGN0eHQ6ICBhIFJlbGF4LU5HIHZhbGlkYXRpb24gY29udGV4dAorICogQGRlZmluZTogIHRoZSBkZWZpbml0aW9uIHRvIHZlcmlmeQorICoKKyAqIFZhbGlkYXRlIHRoZSBnaXZlbiBhdHRyaWJ1dGUgZGVmaW5pdGlvbiBmb3IgdGhhdCBub2RlCisgKgorICogUmV0dXJucyAwIGlmIHRoZSB2YWxpZGF0aW9uIHN1Y2NlZWRlZCBvciBhbiBlcnJvciBjb2RlLgorICovCitzdGF0aWMgaW50Cit4bWxSZWxheE5HVmFsaWRhdGVBdHRyaWJ1dGUoeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0ciBjdHh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdEZWZpbmVQdHIgZGVmaW5lKQoreworICAgIGludCByZXQgPSAwLCBpOworICAgIHhtbENoYXIgKnZhbHVlLCAqb2xkdmFsdWU7CisgICAgeG1sQXR0clB0ciBwcm9wID0gTlVMTCwgdG1wOworICAgIHhtbE5vZGVQdHIgb2xkc2VxOworCisgICAgaWYgKGN0eHQtPnN0YXRlLT5uYkF0dHJMZWZ0IDw9IDApCisgICAgICAgIHJldHVybiAoLTEpOworICAgIGlmIChkZWZpbmUtPm5hbWUgIT0gTlVMTCkgeworICAgICAgICBmb3IgKGkgPSAwOyBpIDwgY3R4dC0+c3RhdGUtPm5iQXR0cnM7IGkrKykgeworICAgICAgICAgICAgdG1wID0gY3R4dC0+c3RhdGUtPmF0dHJzW2ldOworICAgICAgICAgICAgaWYgKCh0bXAgIT0gTlVMTCkgJiYgKHhtbFN0ckVxdWFsKGRlZmluZS0+bmFtZSwgdG1wLT5uYW1lKSkpIHsKKyAgICAgICAgICAgICAgICBpZiAoKCgoZGVmaW5lLT5ucyA9PSBOVUxMKSB8fCAoZGVmaW5lLT5uc1swXSA9PSAwKSkgJiYKKyAgICAgICAgICAgICAgICAgICAgICh0bXAtPm5zID09IE5VTEwpKSB8fAorICAgICAgICAgICAgICAgICAgICAoKHRtcC0+bnMgIT0gTlVMTCkgJiYKKyAgICAgICAgICAgICAgICAgICAgICh4bWxTdHJFcXVhbChkZWZpbmUtPm5zLCB0bXAtPm5zLT5ocmVmKSkpKSB7CisgICAgICAgICAgICAgICAgICAgIHByb3AgPSB0bXA7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBpZiAocHJvcCAhPSBOVUxMKSB7CisgICAgICAgICAgICB2YWx1ZSA9IHhtbE5vZGVMaXN0R2V0U3RyaW5nKHByb3AtPmRvYywgcHJvcC0+Y2hpbGRyZW4sIDEpOworICAgICAgICAgICAgb2xkdmFsdWUgPSBjdHh0LT5zdGF0ZS0+dmFsdWU7CisgICAgICAgICAgICBvbGRzZXEgPSBjdHh0LT5zdGF0ZS0+c2VxOworICAgICAgICAgICAgY3R4dC0+c3RhdGUtPnNlcSA9ICh4bWxOb2RlUHRyKSBwcm9wOworICAgICAgICAgICAgY3R4dC0+c3RhdGUtPnZhbHVlID0gdmFsdWU7CisgICAgICAgICAgICBjdHh0LT5zdGF0ZS0+ZW5kdmFsdWUgPSBOVUxMOworICAgICAgICAgICAgcmV0ID0geG1sUmVsYXhOR1ZhbGlkYXRlVmFsdWVDb250ZW50KGN0eHQsIGRlZmluZS0+Y29udGVudCk7CisgICAgICAgICAgICBpZiAoY3R4dC0+c3RhdGUtPnZhbHVlICE9IE5VTEwpCisgICAgICAgICAgICAgICAgdmFsdWUgPSBjdHh0LT5zdGF0ZS0+dmFsdWU7CisgICAgICAgICAgICBpZiAodmFsdWUgIT0gTlVMTCkKKyAgICAgICAgICAgICAgICB4bWxGcmVlKHZhbHVlKTsKKyAgICAgICAgICAgIGN0eHQtPnN0YXRlLT52YWx1ZSA9IG9sZHZhbHVlOworICAgICAgICAgICAgY3R4dC0+c3RhdGUtPnNlcSA9IG9sZHNlcTsKKyAgICAgICAgICAgIGlmIChyZXQgPT0gMCkgeworICAgICAgICAgICAgICAgIC8qCisgICAgICAgICAgICAgICAgICogZmxhZyB0aGUgYXR0cmlidXRlIGFzIHByb2Nlc3NlZAorICAgICAgICAgICAgICAgICAqLworICAgICAgICAgICAgICAgIGN0eHQtPnN0YXRlLT5hdHRyc1tpXSA9IE5VTEw7CisgICAgICAgICAgICAgICAgY3R4dC0+c3RhdGUtPm5iQXR0ckxlZnQtLTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHJldCA9IC0xOworICAgICAgICB9CisjaWZkZWYgREVCVUcKKyAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAieG1sUmVsYXhOR1ZhbGlkYXRlQXR0cmlidXRlKCVzKTogJWRcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICBkZWZpbmUtPm5hbWUsIHJldCk7CisjZW5kaWYKKyAgICB9IGVsc2UgeworICAgICAgICBmb3IgKGkgPSAwOyBpIDwgY3R4dC0+c3RhdGUtPm5iQXR0cnM7IGkrKykgeworICAgICAgICAgICAgdG1wID0gY3R4dC0+c3RhdGUtPmF0dHJzW2ldOworICAgICAgICAgICAgaWYgKCh0bXAgIT0gTlVMTCkgJiYKKyAgICAgICAgICAgICAgICAoeG1sUmVsYXhOR0F0dHJpYnV0ZU1hdGNoKGN0eHQsIGRlZmluZSwgdG1wKSA9PSAxKSkgeworICAgICAgICAgICAgICAgIHByb3AgPSB0bXA7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgaWYgKHByb3AgIT0gTlVMTCkgeworICAgICAgICAgICAgdmFsdWUgPSB4bWxOb2RlTGlzdEdldFN0cmluZyhwcm9wLT5kb2MsIHByb3AtPmNoaWxkcmVuLCAxKTsKKyAgICAgICAgICAgIG9sZHZhbHVlID0gY3R4dC0+c3RhdGUtPnZhbHVlOworICAgICAgICAgICAgb2xkc2VxID0gY3R4dC0+c3RhdGUtPnNlcTsKKyAgICAgICAgICAgIGN0eHQtPnN0YXRlLT5zZXEgPSAoeG1sTm9kZVB0cikgcHJvcDsKKyAgICAgICAgICAgIGN0eHQtPnN0YXRlLT52YWx1ZSA9IHZhbHVlOworICAgICAgICAgICAgcmV0ID0geG1sUmVsYXhOR1ZhbGlkYXRlVmFsdWVDb250ZW50KGN0eHQsIGRlZmluZS0+Y29udGVudCk7CisgICAgICAgICAgICBpZiAoY3R4dC0+c3RhdGUtPnZhbHVlICE9IE5VTEwpCisgICAgICAgICAgICAgICAgdmFsdWUgPSBjdHh0LT5zdGF0ZS0+dmFsdWU7CisgICAgICAgICAgICBpZiAodmFsdWUgIT0gTlVMTCkKKyAgICAgICAgICAgICAgICB4bWxGcmVlKHZhbHVlKTsKKyAgICAgICAgICAgIGN0eHQtPnN0YXRlLT52YWx1ZSA9IG9sZHZhbHVlOworICAgICAgICAgICAgY3R4dC0+c3RhdGUtPnNlcSA9IG9sZHNlcTsKKyAgICAgICAgICAgIGlmIChyZXQgPT0gMCkgeworICAgICAgICAgICAgICAgIC8qCisgICAgICAgICAgICAgICAgICogZmxhZyB0aGUgYXR0cmlidXRlIGFzIHByb2Nlc3NlZAorICAgICAgICAgICAgICAgICAqLworICAgICAgICAgICAgICAgIGN0eHQtPnN0YXRlLT5hdHRyc1tpXSA9IE5VTEw7CisgICAgICAgICAgICAgICAgY3R4dC0+c3RhdGUtPm5iQXR0ckxlZnQtLTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHJldCA9IC0xOworICAgICAgICB9CisjaWZkZWYgREVCVUcKKyAgICAgICAgaWYgKGRlZmluZS0+bnMgIT0gTlVMTCkgeworICAgICAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgInhtbFJlbGF4TkdWYWxpZGF0ZUF0dHJpYnV0ZShuc05hbWUgbnMgPSAlcyk6ICVkXG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmluZS0+bnMsIHJldCk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAieG1sUmVsYXhOR1ZhbGlkYXRlQXR0cmlidXRlKGFueU5hbWUpOiAlZFxuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXQpOworICAgICAgICB9CisjZW5kaWYKKyAgICB9CisKKyAgICByZXR1cm4gKHJldCk7Cit9CisKKy8qKgorICogeG1sUmVsYXhOR1ZhbGlkYXRlQXR0cmlidXRlTGlzdDoKKyAqIEBjdHh0OiAgYSBSZWxheC1ORyB2YWxpZGF0aW9uIGNvbnRleHQKKyAqIEBkZWZpbmU6ICB0aGUgbGlzdCBvZiBkZWZpbml0aW9uIHRvIHZlcmlmeQorICoKKyAqIFZhbGlkYXRlIHRoZSBnaXZlbiBub2RlIGFnYWluc3QgdGhlIGxpc3Qgb2YgYXR0cmlidXRlIGRlZmluaXRpb25zCisgKgorICogUmV0dXJucyAwIGlmIHRoZSB2YWxpZGF0aW9uIHN1Y2NlZWRlZCBvciBhbiBlcnJvciBjb2RlLgorICovCitzdGF0aWMgaW50Cit4bWxSZWxheE5HVmFsaWRhdGVBdHRyaWJ1dGVMaXN0KHhtbFJlbGF4TkdWYWxpZEN0eHRQdHIgY3R4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sUmVsYXhOR0RlZmluZVB0ciBkZWZpbmVzKQoreworICAgIGludCByZXQgPSAwLCByZXM7CisgICAgaW50IG5lZWRtb3JlID0gMDsKKyAgICB4bWxSZWxheE5HRGVmaW5lUHRyIGN1cjsKKworICAgIGN1ciA9IGRlZmluZXM7CisgICAgd2hpbGUgKGN1ciAhPSBOVUxMKSB7CisgICAgICAgIGlmIChjdXItPnR5cGUgPT0gWE1MX1JFTEFYTkdfQVRUUklCVVRFKSB7CisgICAgICAgICAgICBpZiAoeG1sUmVsYXhOR1ZhbGlkYXRlQXR0cmlidXRlKGN0eHQsIGN1cikgIT0gMCkKKyAgICAgICAgICAgICAgICByZXQgPSAtMTsKKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICBuZWVkbW9yZSA9IDE7CisgICAgICAgIGN1ciA9IGN1ci0+bmV4dDsKKyAgICB9CisgICAgaWYgKCFuZWVkbW9yZSkKKyAgICAgICAgcmV0dXJuIChyZXQpOworICAgIGN1ciA9IGRlZmluZXM7CisgICAgd2hpbGUgKGN1ciAhPSBOVUxMKSB7CisgICAgICAgIGlmIChjdXItPnR5cGUgIT0gWE1MX1JFTEFYTkdfQVRUUklCVVRFKSB7CisgICAgICAgICAgICBpZiAoKGN0eHQtPnN0YXRlICE9IE5VTEwpIHx8IChjdHh0LT5zdGF0ZXMgIT0gTlVMTCkpIHsKKyAgICAgICAgICAgICAgICByZXMgPSB4bWxSZWxheE5HVmFsaWRhdGVEZWZpbml0aW9uKGN0eHQsIGN1cik7CisgICAgICAgICAgICAgICAgaWYgKHJlcyA8IDApCisgICAgICAgICAgICAgICAgICAgIHJldCA9IC0xOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBWQUxJRF9FUlIoWE1MX1JFTEFYTkdfRVJSX05PU1RBVEUpOworICAgICAgICAgICAgICAgIHJldHVybiAoLTEpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKHJlcyA9PSAtMSkgICAgICAvKiBjb250aW51ZXMgb24gLTIgKi8KKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICBjdXIgPSBjdXItPm5leHQ7CisgICAgfQorCisgICAgcmV0dXJuIChyZXQpOworfQorCisvKioKKyAqIHhtbFJlbGF4TkdOb2RlTWF0Y2hlc0xpc3Q6CisgKiBAbm9kZTogIHRoZSBub2RlCisgKiBAbGlzdDogIGEgTlVMTCB0ZXJtaW5hdGVkIGFycmF5IG9mIGRlZmluaXRpb25zCisgKgorICogQ2hlY2sgaWYgYSBub2RlIGNhbiBiZSBtYXRjaGVkIGJ5IG9uZSBvZiB0aGUgZGVmaW5pdGlvbnMKKyAqCisgKiBSZXR1cm5zIDEgaWYgbWF0Y2hlcyAwIG90aGVyd2lzZQorICovCitzdGF0aWMgaW50Cit4bWxSZWxheE5HTm9kZU1hdGNoZXNMaXN0KHhtbE5vZGVQdHIgbm9kZSwgeG1sUmVsYXhOR0RlZmluZVB0ciAqIGxpc3QpCit7CisgICAgeG1sUmVsYXhOR0RlZmluZVB0ciBjdXI7CisgICAgaW50IGkgPSAwLCB0bXA7CisKKyAgICBpZiAoKG5vZGUgPT0gTlVMTCkgfHwgKGxpc3QgPT0gTlVMTCkpCisgICAgICAgIHJldHVybiAoMCk7CisKKyAgICBjdXIgPSBsaXN0W2krK107CisgICAgd2hpbGUgKGN1ciAhPSBOVUxMKSB7CisgICAgICAgIGlmICgobm9kZS0+dHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFKSAmJgorICAgICAgICAgICAgKGN1ci0+dHlwZSA9PSBYTUxfUkVMQVhOR19FTEVNRU5UKSkgeworICAgICAgICAgICAgdG1wID0geG1sUmVsYXhOR0VsZW1lbnRNYXRjaChOVUxMLCBjdXIsIG5vZGUpOworICAgICAgICAgICAgaWYgKHRtcCA9PSAxKQorICAgICAgICAgICAgICAgIHJldHVybiAoMSk7CisgICAgICAgIH0gZWxzZSBpZiAoKChub2RlLT50eXBlID09IFhNTF9URVhUX05PREUpIHx8CisgICAgICAgICAgICAgICAgICAgIChub2RlLT50eXBlID09IFhNTF9DREFUQV9TRUNUSU9OX05PREUpKSAmJgorICAgICAgICAgICAgICAgICAgIChjdXItPnR5cGUgPT0gWE1MX1JFTEFYTkdfVEVYVCkpIHsKKyAgICAgICAgICAgIHJldHVybiAoMSk7CisgICAgICAgIH0KKyAgICAgICAgY3VyID0gbGlzdFtpKytdOworICAgIH0KKyAgICByZXR1cm4gKDApOworfQorCisvKioKKyAqIHhtbFJlbGF4TkdWYWxpZGF0ZUludGVybGVhdmU6CisgKiBAY3R4dDogIGEgUmVsYXgtTkcgdmFsaWRhdGlvbiBjb250ZXh0CisgKiBAZGVmaW5lOiAgdGhlIGRlZmluaXRpb24gdG8gdmVyaWZ5CisgKgorICogVmFsaWRhdGUgYW4gaW50ZXJsZWF2ZSBkZWZpbml0aW9uIGZvciBhIG5vZGUuCisgKgorICogUmV0dXJucyAwIGlmIHRoZSB2YWxpZGF0aW9uIHN1Y2NlZWRlZCBvciBhbiBlcnJvciBjb2RlLgorICovCitzdGF0aWMgaW50Cit4bWxSZWxheE5HVmFsaWRhdGVJbnRlcmxlYXZlKHhtbFJlbGF4TkdWYWxpZEN0eHRQdHIgY3R4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sUmVsYXhOR0RlZmluZVB0ciBkZWZpbmUpCit7CisgICAgaW50IHJldCA9IDAsIGksIG5iZ3JvdXBzOworICAgIGludCBlcnJOciA9IGN0eHQtPmVyck5yOworICAgIGludCBvbGRmbGFnczsKKworICAgIHhtbFJlbGF4TkdWYWxpZFN0YXRlUHRyIG9sZHN0YXRlOworICAgIHhtbFJlbGF4TkdQYXJ0aXRpb25QdHIgcGFydGl0aW9uczsKKyAgICB4bWxSZWxheE5HSW50ZXJsZWF2ZUdyb3VwUHRyIGdyb3VwID0gTlVMTDsKKyAgICB4bWxOb2RlUHRyIGN1ciwgc3RhcnQsIGxhc3QgPSBOVUxMLCBsYXN0Y2hnID0gTlVMTCwgbGFzdGVsZW07CisgICAgeG1sTm9kZVB0ciAqbGlzdCA9IE5VTEwsICpsYXN0cyA9IE5VTEw7CisKKyAgICBpZiAoZGVmaW5lLT5kYXRhICE9IE5VTEwpIHsKKyAgICAgICAgcGFydGl0aW9ucyA9ICh4bWxSZWxheE5HUGFydGl0aW9uUHRyKSBkZWZpbmUtPmRhdGE7CisgICAgICAgIG5iZ3JvdXBzID0gcGFydGl0aW9ucy0+bmJncm91cHM7CisgICAgfSBlbHNlIHsKKyAgICAgICAgVkFMSURfRVJSKFhNTF9SRUxBWE5HX0VSUl9JTlRFUk5PREFUQSk7CisgICAgICAgIHJldHVybiAoLTEpOworICAgIH0KKyAgICAvKgorICAgICAqIE9wdGltaXphdGlvbnMgZm9yIE1JWEVECisgICAgICovCisgICAgb2xkZmxhZ3MgPSBjdHh0LT5mbGFnczsKKyAgICBpZiAoZGVmaW5lLT5kZmxhZ3MgJiBJU19NSVhFRCkgeworICAgICAgICBjdHh0LT5mbGFncyB8PSBGTEFHU19NSVhFRF9DT05URU5UOworICAgICAgICBpZiAobmJncm91cHMgPT0gMikgeworICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAqIHRoaXMgaXMgYSBwdXJlIDxtaXhlZD4gY2FzZQorICAgICAgICAgICAgICovCisgICAgICAgICAgICBpZiAoY3R4dC0+c3RhdGUgIT0gTlVMTCkKKyAgICAgICAgICAgICAgICBjdHh0LT5zdGF0ZS0+c2VxID0geG1sUmVsYXhOR1NraXBJZ25vcmVkKGN0eHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdHh0LT5zdGF0ZS0+c2VxKTsKKyAgICAgICAgICAgIGlmIChwYXJ0aXRpb25zLT5ncm91cHNbMF0tPnJ1bGUtPnR5cGUgPT0gWE1MX1JFTEFYTkdfVEVYVCkKKyAgICAgICAgICAgICAgICByZXQgPSB4bWxSZWxheE5HVmFsaWRhdGVEZWZpbml0aW9uKGN0eHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJ0aXRpb25zLT5ncm91cHNbMV0tPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnVsZSk7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgcmV0ID0geG1sUmVsYXhOR1ZhbGlkYXRlRGVmaW5pdGlvbihjdHh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFydGl0aW9ucy0+Z3JvdXBzWzBdLT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bGUpOworICAgICAgICAgICAgaWYgKHJldCA9PSAwKSB7CisgICAgICAgICAgICAgICAgaWYgKGN0eHQtPnN0YXRlICE9IE5VTEwpCisgICAgICAgICAgICAgICAgICAgIGN0eHQtPnN0YXRlLT5zZXEgPSB4bWxSZWxheE5HU2tpcElnbm9yZWQoY3R4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdHh0LT5zdGF0ZS0+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VxKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGN0eHQtPmZsYWdzID0gb2xkZmxhZ3M7CisgICAgICAgICAgICByZXR1cm4gKHJldCk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICAvKgorICAgICAqIEJ1aWxkIGFycmF5cyB0byBzdG9yZSB0aGUgZmlyc3QgYW5kIGxhc3Qgbm9kZSBvZiB0aGUgY2hhaW4KKyAgICAgKiBwZXJ0YWluaW5nIHRvIGVhY2ggZ3JvdXAKKyAgICAgKi8KKyAgICBsaXN0ID0gKHhtbE5vZGVQdHIgKikgeG1sTWFsbG9jKG5iZ3JvdXBzICogc2l6ZW9mKHhtbE5vZGVQdHIpKTsKKyAgICBpZiAobGlzdCA9PSBOVUxMKSB7CisgICAgICAgIHhtbFJuZ1ZFcnJNZW1vcnkoY3R4dCwgInZhbGlkYXRpbmdcbiIpOworICAgICAgICByZXR1cm4gKC0xKTsKKyAgICB9CisgICAgbWVtc2V0KGxpc3QsIDAsIG5iZ3JvdXBzICogc2l6ZW9mKHhtbE5vZGVQdHIpKTsKKyAgICBsYXN0cyA9ICh4bWxOb2RlUHRyICopIHhtbE1hbGxvYyhuYmdyb3VwcyAqIHNpemVvZih4bWxOb2RlUHRyKSk7CisgICAgaWYgKGxhc3RzID09IE5VTEwpIHsKKyAgICAgICAgeG1sUm5nVkVyck1lbW9yeShjdHh0LCAidmFsaWRhdGluZ1xuIik7CisgICAgICAgIHJldHVybiAoLTEpOworICAgIH0KKyAgICBtZW1zZXQobGFzdHMsIDAsIG5iZ3JvdXBzICogc2l6ZW9mKHhtbE5vZGVQdHIpKTsKKworICAgIC8qCisgICAgICogV2FsayB0aGUgc2VxdWVuY2Ugb2YgY2hpbGRyZW4gZmluZGluZyB0aGUgcmlnaHQgZ3JvdXAgYW5kCisgICAgICogc29ydGluZyB0aGVtIGluIHNlcXVlbmNlcy4KKyAgICAgKi8KKyAgICBjdXIgPSBjdHh0LT5zdGF0ZS0+c2VxOworICAgIGN1ciA9IHhtbFJlbGF4TkdTa2lwSWdub3JlZChjdHh0LCBjdXIpOworICAgIHN0YXJ0ID0gY3VyOworICAgIHdoaWxlIChjdXIgIT0gTlVMTCkgeworICAgICAgICBjdHh0LT5zdGF0ZS0+c2VxID0gY3VyOworICAgICAgICBpZiAoKHBhcnRpdGlvbnMtPnRyaWFnZSAhPSBOVUxMKSAmJgorICAgICAgICAgICAgKHBhcnRpdGlvbnMtPmZsYWdzICYgSVNfREVURVJNSU5JU1QpKSB7CisgICAgICAgICAgICB2b2lkICp0bXAgPSBOVUxMOworCisgICAgICAgICAgICBpZiAoKGN1ci0+dHlwZSA9PSBYTUxfVEVYVF9OT0RFKSB8fAorICAgICAgICAgICAgICAgIChjdXItPnR5cGUgPT0gWE1MX0NEQVRBX1NFQ1RJT05fTk9ERSkpIHsKKyAgICAgICAgICAgICAgICB0bXAgPSB4bWxIYXNoTG9va3VwMihwYXJ0aXRpb25zLT50cmlhZ2UsIEJBRF9DQVNUICIjdGV4dCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7CisgICAgICAgICAgICB9IGVsc2UgaWYgKGN1ci0+dHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFKSB7CisgICAgICAgICAgICAgICAgaWYgKGN1ci0+bnMgIT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICB0bXAgPSB4bWxIYXNoTG9va3VwMihwYXJ0aXRpb25zLT50cmlhZ2UsIGN1ci0+bmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VyLT5ucy0+aHJlZik7CisgICAgICAgICAgICAgICAgICAgIGlmICh0bXAgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IHhtbEhhc2hMb29rdXAyKHBhcnRpdGlvbnMtPnRyaWFnZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJBRF9DQVNUICIjYW55IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1ci0+bnMtPmhyZWYpOworICAgICAgICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAgICAgICB0bXAgPQorICAgICAgICAgICAgICAgICAgICAgICAgeG1sSGFzaExvb2t1cDIocGFydGl0aW9ucy0+dHJpYWdlLCBjdXItPm5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsKKyAgICAgICAgICAgICAgICBpZiAodG1wID09IE5VTEwpCisgICAgICAgICAgICAgICAgICAgIHRtcCA9CisgICAgICAgICAgICAgICAgICAgICAgICB4bWxIYXNoTG9va3VwMihwYXJ0aXRpb25zLT50cmlhZ2UsIEJBRF9DQVNUICIjYW55IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBpZiAodG1wID09IE5VTEwpIHsKKyAgICAgICAgICAgICAgICBpID0gbmJncm91cHM7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIGkgPSAoKGxvbmcpIHRtcCkgLSAxOworICAgICAgICAgICAgICAgIGlmIChwYXJ0aXRpb25zLT5mbGFncyAmIElTX05FRURDSEVDSykgeworICAgICAgICAgICAgICAgICAgICBncm91cCA9IHBhcnRpdGlvbnMtPmdyb3Vwc1tpXTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKCF4bWxSZWxheE5HTm9kZU1hdGNoZXNMaXN0KGN1ciwgZ3JvdXAtPmRlZnMpKQorICAgICAgICAgICAgICAgICAgICAgICAgaSA9IG5iZ3JvdXBzOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBuYmdyb3VwczsgaSsrKSB7CisgICAgICAgICAgICAgICAgZ3JvdXAgPSBwYXJ0aXRpb25zLT5ncm91cHNbaV07CisgICAgICAgICAgICAgICAgaWYgKGdyb3VwID09IE5VTEwpCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAgIGlmICh4bWxSZWxheE5HTm9kZU1hdGNoZXNMaXN0KGN1ciwgZ3JvdXAtPmRlZnMpKQorICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICAvKgorICAgICAgICAgKiBXZSBicmVhayBhcyBzb29uIGFzIGFuIGVsZW1lbnQgbm90IG1hdGNoZWQgaXMgZm91bmQKKyAgICAgICAgICovCisgICAgICAgIGlmIChpID49IG5iZ3JvdXBzKSB7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICBpZiAobGFzdHNbaV0gIT0gTlVMTCkgeworICAgICAgICAgICAgbGFzdHNbaV0tPm5leHQgPSBjdXI7CisgICAgICAgICAgICBsYXN0c1tpXSA9IGN1cjsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGxpc3RbaV0gPSBjdXI7CisgICAgICAgICAgICBsYXN0c1tpXSA9IGN1cjsKKyAgICAgICAgfQorICAgICAgICBpZiAoY3VyLT5uZXh0ICE9IE5VTEwpCisgICAgICAgICAgICBsYXN0Y2hnID0gY3VyLT5uZXh0OworICAgICAgICBlbHNlCisgICAgICAgICAgICBsYXN0Y2hnID0gY3VyOworICAgICAgICBjdXIgPSB4bWxSZWxheE5HU2tpcElnbm9yZWQoY3R4dCwgY3VyLT5uZXh0KTsKKyAgICB9CisgICAgaWYgKHJldCAhPSAwKSB7CisgICAgICAgIFZBTElEX0VSUihYTUxfUkVMQVhOR19FUlJfSU5URVJTRVEpOworICAgICAgICByZXQgPSAtMTsKKyAgICAgICAgZ290byBkb25lOworICAgIH0KKyAgICBsYXN0ZWxlbSA9IGN1cjsKKyAgICBvbGRzdGF0ZSA9IGN0eHQtPnN0YXRlOworICAgIGZvciAoaSA9IDA7IGkgPCBuYmdyb3VwczsgaSsrKSB7CisgICAgICAgIGN0eHQtPnN0YXRlID0geG1sUmVsYXhOR0NvcHlWYWxpZFN0YXRlKGN0eHQsIG9sZHN0YXRlKTsKKwlpZiAoY3R4dC0+c3RhdGUgPT0gTlVMTCkgeworCSAgICByZXQgPSAtMTsKKwkgICAgYnJlYWs7CisJfQorICAgICAgICBncm91cCA9IHBhcnRpdGlvbnMtPmdyb3Vwc1tpXTsKKyAgICAgICAgaWYgKGxhc3RzW2ldICE9IE5VTEwpIHsKKyAgICAgICAgICAgIGxhc3QgPSBsYXN0c1tpXS0+bmV4dDsKKyAgICAgICAgICAgIGxhc3RzW2ldLT5uZXh0ID0gTlVMTDsKKyAgICAgICAgfQorICAgICAgICBjdHh0LT5zdGF0ZS0+c2VxID0gbGlzdFtpXTsKKyAgICAgICAgcmV0ID0geG1sUmVsYXhOR1ZhbGlkYXRlRGVmaW5pdGlvbihjdHh0LCBncm91cC0+cnVsZSk7CisgICAgICAgIGlmIChyZXQgIT0gMCkKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBpZiAoY3R4dC0+c3RhdGUgIT0gTlVMTCkgeworICAgICAgICAgICAgY3VyID0gY3R4dC0+c3RhdGUtPnNlcTsKKyAgICAgICAgICAgIGN1ciA9IHhtbFJlbGF4TkdTa2lwSWdub3JlZChjdHh0LCBjdXIpOworICAgICAgICAgICAgeG1sUmVsYXhOR0ZyZWVWYWxpZFN0YXRlKGN0eHQsIG9sZHN0YXRlKTsKKyAgICAgICAgICAgIG9sZHN0YXRlID0gY3R4dC0+c3RhdGU7CisgICAgICAgICAgICBjdHh0LT5zdGF0ZSA9IE5VTEw7CisgICAgICAgICAgICBpZiAoY3VyICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICBWQUxJRF9FUlIyKFhNTF9SRUxBWE5HX0VSUl9JTlRFUkVYVFJBLCBjdXItPm5hbWUpOworICAgICAgICAgICAgICAgIHJldCA9IC0xOworICAgICAgICAgICAgICAgIGN0eHQtPnN0YXRlID0gb2xkc3RhdGU7CisgICAgICAgICAgICAgICAgZ290byBkb25lOworICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2UgaWYgKGN0eHQtPnN0YXRlcyAhPSBOVUxMKSB7CisgICAgICAgICAgICBpbnQgajsKKyAgICAgICAgICAgIGludCBmb3VuZCA9IDA7CisJICAgIGludCBiZXN0ID0gLTE7CisJICAgIGludCBsb3dhdHRyID0gLTE7CisKKwkgICAgLyoKKwkgICAgICogUEJNOiB3aGF0IGhhcHBlbiBpZiB0aGVyZSBpcyBhdHRyaWJ1dGVzIGNoZWNrcyBpbiB0aGUgaW50ZXJsZWF2ZXMKKwkgICAgICovCisKKyAgICAgICAgICAgIGZvciAoaiA9IDA7IGogPCBjdHh0LT5zdGF0ZXMtPm5iU3RhdGU7IGorKykgeworICAgICAgICAgICAgICAgIGN1ciA9IGN0eHQtPnN0YXRlcy0+dGFiU3RhdGVbal0tPnNlcTsKKyAgICAgICAgICAgICAgICBjdXIgPSB4bWxSZWxheE5HU2tpcElnbm9yZWQoY3R4dCwgY3VyKTsKKyAgICAgICAgICAgICAgICBpZiAoY3VyID09IE5VTEwpIHsKKwkJICAgIGlmIChmb3VuZCA9PSAwKSB7CisJCSAgICAgICAgbG93YXR0ciA9IGN0eHQtPnN0YXRlcy0+dGFiU3RhdGVbal0tPm5iQXR0ckxlZnQ7CisJCQliZXN0ID0gajsKKwkJICAgIH0KKyAgICAgICAgICAgICAgICAgICAgZm91bmQgPSAxOworCQkgICAgaWYgKGN0eHQtPnN0YXRlcy0+dGFiU3RhdGVbal0tPm5iQXR0ckxlZnQgPD0gbG93YXR0cikgeworCQkgICAgICAgIC8qIHRyeSAgdG8ga2VlcCB0aGUgbGF0ZXN0IG9uZSB0byBtYWNoIG9sZCBoZXVyaXN0aWMgKi8KKwkJICAgICAgICBsb3dhdHRyID0gY3R4dC0+c3RhdGVzLT50YWJTdGF0ZVtqXS0+bmJBdHRyTGVmdDsKKwkJCWJlc3QgPSBqOworCQkgICAgfQorICAgICAgICAgICAgICAgICAgICBpZiAobG93YXR0ciA9PSAwKQorCQkgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZm91bmQgPT0gMCkgeworICAgICAgICAgICAgICAgICAgICBpZiAobG93YXR0ciA9PSAtMSkgeworCQkgICAgICAgIGxvd2F0dHIgPSBjdHh0LT5zdGF0ZXMtPnRhYlN0YXRlW2pdLT5uYkF0dHJMZWZ0OworCQkJYmVzdCA9IGo7CisJCSAgICB9IGVsc2UKKwkJICAgIGlmIChjdHh0LT5zdGF0ZXMtPnRhYlN0YXRlW2pdLT5uYkF0dHJMZWZ0IDw9IGxvd2F0dHIpICB7CisJCSAgICAgICAgLyogdHJ5ICB0byBrZWVwIHRoZSBsYXRlc3Qgb25lIHRvIG1hY2ggb2xkIGhldXJpc3RpYyAqLworCQkgICAgICAgIGxvd2F0dHIgPSBjdHh0LT5zdGF0ZXMtPnRhYlN0YXRlW2pdLT5uYkF0dHJMZWZ0OworCQkJYmVzdCA9IGo7CisJCSAgICB9CisJCX0KKyAgICAgICAgICAgIH0KKwkgICAgLyoKKwkgICAgICogQklHIFBCTTogaGVyZSB3ZSBwaWNrIG9ubHkgb25lIHJlc3RhcnRpbmcgcG9pbnQgOi0oCisJICAgICAqLworICAgICAgICAgICAgaWYgKGN0eHQtPnN0YXRlcy0+bmJTdGF0ZSA+IDApIHsKKyAgICAgICAgICAgICAgICB4bWxSZWxheE5HRnJlZVZhbGlkU3RhdGUoY3R4dCwgb2xkc3RhdGUpOworCQlpZiAoYmVzdCAhPSAtMSkgeworCQkgICAgb2xkc3RhdGUgPSBjdHh0LT5zdGF0ZXMtPnRhYlN0YXRlW2Jlc3RdOworCQkgICAgY3R4dC0+c3RhdGVzLT50YWJTdGF0ZVtiZXN0XSA9IE5VTEw7CisJCX0gZWxzZSB7CisJCSAgICBvbGRzdGF0ZSA9CisJCQljdHh0LT5zdGF0ZXMtPnRhYlN0YXRlW2N0eHQtPnN0YXRlcy0+bmJTdGF0ZSAtIDFdOworICAgICAgICAgICAgICAgICAgICBjdHh0LT5zdGF0ZXMtPnRhYlN0YXRlW2N0eHQtPnN0YXRlcy0+bmJTdGF0ZSAtIDFdID0gTlVMTDsKKyAgICAgICAgICAgICAgICAgICAgY3R4dC0+c3RhdGVzLT5uYlN0YXRlLS07CisJCX0KKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGZvciAoaiA9IDA7IGogPCBjdHh0LT5zdGF0ZXMtPm5iU3RhdGUgOyBqKyspIHsKKyAgICAgICAgICAgICAgICB4bWxSZWxheE5HRnJlZVZhbGlkU3RhdGUoY3R4dCwgY3R4dC0+c3RhdGVzLT50YWJTdGF0ZVtqXSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICB4bWxSZWxheE5HRnJlZVN0YXRlcyhjdHh0LCBjdHh0LT5zdGF0ZXMpOworICAgICAgICAgICAgY3R4dC0+c3RhdGVzID0gTlVMTDsKKyAgICAgICAgICAgIGlmIChmb3VuZCA9PSAwKSB7CisgICAgICAgICAgICAgICAgaWYgKGN1ciA9PSBOVUxMKSB7CisJCSAgICBWQUxJRF9FUlIyKFhNTF9SRUxBWE5HX0VSUl9JTlRFUkVYVFJBLAorCQkJICAgICAgIChjb25zdCB4bWxDaGFyICopICJub25hbWUiKTsKKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICBWQUxJRF9FUlIyKFhNTF9SRUxBWE5HX0VSUl9JTlRFUkVYVFJBLCBjdXItPm5hbWUpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICByZXQgPSAtMTsKKyAgICAgICAgICAgICAgICBjdHh0LT5zdGF0ZSA9IG9sZHN0YXRlOworICAgICAgICAgICAgICAgIGdvdG8gZG9uZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHJldCA9IC0xOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgaWYgKGxhc3RzW2ldICE9IE5VTEwpIHsKKyAgICAgICAgICAgIGxhc3RzW2ldLT5uZXh0ID0gbGFzdDsKKyAgICAgICAgfQorICAgIH0KKyAgICBpZiAoY3R4dC0+c3RhdGUgIT0gTlVMTCkKKyAgICAgICAgeG1sUmVsYXhOR0ZyZWVWYWxpZFN0YXRlKGN0eHQsIGN0eHQtPnN0YXRlKTsKKyAgICBjdHh0LT5zdGF0ZSA9IG9sZHN0YXRlOworICAgIGN0eHQtPnN0YXRlLT5zZXEgPSBsYXN0ZWxlbTsKKyAgICBpZiAocmV0ICE9IDApIHsKKyAgICAgICAgVkFMSURfRVJSKFhNTF9SRUxBWE5HX0VSUl9JTlRFUlNFUSk7CisgICAgICAgIHJldCA9IC0xOworICAgICAgICBnb3RvIGRvbmU7CisgICAgfQorCisgIGRvbmU6CisgICAgY3R4dC0+ZmxhZ3MgPSBvbGRmbGFnczsKKyAgICAvKgorICAgICAqIGJ1aWxkcyB0aGUgbmV4dCBsaW5rcyBjaGFpbiBmcm9tIHRoZSBwcmV2IG9uZQorICAgICAqLworICAgIGN1ciA9IGxhc3RjaGc7CisgICAgd2hpbGUgKGN1ciAhPSBOVUxMKSB7CisgICAgICAgIGlmICgoY3VyID09IHN0YXJ0KSB8fCAoY3VyLT5wcmV2ID09IE5VTEwpKQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGN1ci0+cHJldi0+bmV4dCA9IGN1cjsKKyAgICAgICAgY3VyID0gY3VyLT5wcmV2OworICAgIH0KKyAgICBpZiAocmV0ID09IDApIHsKKyAgICAgICAgaWYgKGN0eHQtPmVyck5yID4gZXJyTnIpCisgICAgICAgICAgICB4bWxSZWxheE5HUG9wRXJyb3JzKGN0eHQsIGVyck5yKTsKKyAgICB9CisKKyAgICB4bWxGcmVlKGxpc3QpOworICAgIHhtbEZyZWUobGFzdHMpOworICAgIHJldHVybiAocmV0KTsKK30KKworLyoqCisgKiB4bWxSZWxheE5HVmFsaWRhdGVEZWZpbml0aW9uTGlzdDoKKyAqIEBjdHh0OiAgYSBSZWxheC1ORyB2YWxpZGF0aW9uIGNvbnRleHQKKyAqIEBkZWZpbmU6ICB0aGUgbGlzdCBvZiBkZWZpbml0aW9uIHRvIHZlcmlmeQorICoKKyAqIFZhbGlkYXRlIHRoZSBnaXZlbiBub2RlIGNvbnRlbnQgYWdhaW5zdCB0aGUgKGxpc3QpIG9mIGRlZmluaXRpb25zCisgKgorICogUmV0dXJucyAwIGlmIHRoZSB2YWxpZGF0aW9uIHN1Y2NlZWRlZCBvciBhbiBlcnJvciBjb2RlLgorICovCitzdGF0aWMgaW50Cit4bWxSZWxheE5HVmFsaWRhdGVEZWZpbml0aW9uTGlzdCh4bWxSZWxheE5HVmFsaWRDdHh0UHRyIGN0eHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxSZWxheE5HRGVmaW5lUHRyIGRlZmluZXMpCit7CisgICAgaW50IHJldCA9IDAsIHJlczsKKworCisgICAgaWYgKGRlZmluZXMgPT0gTlVMTCkgeworICAgICAgICBWQUxJRF9FUlIyKFhNTF9SRUxBWE5HX0VSUl9JTlRFUk5BTCwKKyAgICAgICAgICAgICAgICAgICBCQURfQ0FTVCAiTlVMTCBkZWZpbml0aW9uIGxpc3QiKTsKKyAgICAgICAgcmV0dXJuICgtMSk7CisgICAgfQorICAgIHdoaWxlIChkZWZpbmVzICE9IE5VTEwpIHsKKyAgICAgICAgaWYgKChjdHh0LT5zdGF0ZSAhPSBOVUxMKSB8fCAoY3R4dC0+c3RhdGVzICE9IE5VTEwpKSB7CisgICAgICAgICAgICByZXMgPSB4bWxSZWxheE5HVmFsaWRhdGVEZWZpbml0aW9uKGN0eHQsIGRlZmluZXMpOworICAgICAgICAgICAgaWYgKHJlcyA8IDApCisgICAgICAgICAgICAgICAgcmV0ID0gLTE7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBWQUxJRF9FUlIoWE1MX1JFTEFYTkdfRVJSX05PU1RBVEUpOworICAgICAgICAgICAgcmV0dXJuICgtMSk7CisgICAgICAgIH0KKyAgICAgICAgaWYgKHJlcyA9PSAtMSkgICAgICAgICAgLyogY29udGludWVzIG9uIC0yICovCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmaW5lcyA9IGRlZmluZXMtPm5leHQ7CisgICAgfQorCisgICAgcmV0dXJuIChyZXQpOworfQorCisvKioKKyAqIHhtbFJlbGF4TkdFbGVtZW50TWF0Y2g6CisgKiBAY3R4dDogIGEgUmVsYXgtTkcgdmFsaWRhdGlvbiBjb250ZXh0CisgKiBAZGVmaW5lOiAgdGhlIGRlZmluaXRpb24gdG8gY2hlY2sKKyAqIEBlbGVtOiAgdGhlIGVsZW1lbnQKKyAqCisgKiBDaGVjayBpZiB0aGUgZWxlbWVudCBtYXRjaGVzIHRoZSBkZWZpbml0aW9uIG5hbWVDbGFzcworICoKKyAqIFJldHVybnMgMSBpZiB0aGUgZWxlbWVudCBtYXRjaGVzLCAwIGlmIG5vLCBvciAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3N0YXRpYyBpbnQKK3htbFJlbGF4TkdFbGVtZW50TWF0Y2goeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0ciBjdHh0LAorICAgICAgICAgICAgICAgICAgICAgICB4bWxSZWxheE5HRGVmaW5lUHRyIGRlZmluZSwgeG1sTm9kZVB0ciBlbGVtKQoreworICAgIGludCByZXQgPSAwLCBvbGRmbGFncyA9IDA7CisKKyAgICBpZiAoZGVmaW5lLT5uYW1lICE9IE5VTEwpIHsKKyAgICAgICAgaWYgKCF4bWxTdHJFcXVhbChlbGVtLT5uYW1lLCBkZWZpbmUtPm5hbWUpKSB7CisgICAgICAgICAgICBWQUxJRF9FUlIzKFhNTF9SRUxBWE5HX0VSUl9FTEVNTkFNRSwgZGVmaW5lLT5uYW1lLCBlbGVtLT5uYW1lKTsKKyAgICAgICAgICAgIHJldHVybiAoMCk7CisgICAgICAgIH0KKyAgICB9CisgICAgaWYgKChkZWZpbmUtPm5zICE9IE5VTEwpICYmIChkZWZpbmUtPm5zWzBdICE9IDApKSB7CisgICAgICAgIGlmIChlbGVtLT5ucyA9PSBOVUxMKSB7CisgICAgICAgICAgICBWQUxJRF9FUlIyKFhNTF9SRUxBWE5HX0VSUl9FTEVNTk9OUywgZWxlbS0+bmFtZSk7CisgICAgICAgICAgICByZXR1cm4gKDApOworICAgICAgICB9IGVsc2UgaWYgKCF4bWxTdHJFcXVhbChlbGVtLT5ucy0+aHJlZiwgZGVmaW5lLT5ucykpIHsKKyAgICAgICAgICAgIFZBTElEX0VSUjMoWE1MX1JFTEFYTkdfRVJSX0VMRU1XUk9OR05TLAorICAgICAgICAgICAgICAgICAgICAgICBlbGVtLT5uYW1lLCBkZWZpbmUtPm5zKTsKKyAgICAgICAgICAgIHJldHVybiAoMCk7CisgICAgICAgIH0KKyAgICB9IGVsc2UgaWYgKChlbGVtLT5ucyAhPSBOVUxMKSAmJiAoZGVmaW5lLT5ucyAhPSBOVUxMKSAmJgorICAgICAgICAgICAgICAgKGRlZmluZS0+bmFtZSA9PSBOVUxMKSkgeworICAgICAgICBWQUxJRF9FUlIyKFhNTF9SRUxBWE5HX0VSUl9FTEVNRVhUUkFOUywgZWxlbS0+bmFtZSk7CisgICAgICAgIHJldHVybiAoMCk7CisgICAgfSBlbHNlIGlmICgoZWxlbS0+bnMgIT0gTlVMTCkgJiYgKGRlZmluZS0+bmFtZSAhPSBOVUxMKSkgeworICAgICAgICBWQUxJRF9FUlIyKFhNTF9SRUxBWE5HX0VSUl9FTEVNRVhUUkFOUywgZGVmaW5lLT5uYW1lKTsKKyAgICAgICAgcmV0dXJuICgwKTsKKyAgICB9CisKKyAgICBpZiAoZGVmaW5lLT5uYW1lQ2xhc3MgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuICgxKTsKKworICAgIGRlZmluZSA9IGRlZmluZS0+bmFtZUNsYXNzOworICAgIGlmIChkZWZpbmUtPnR5cGUgPT0gWE1MX1JFTEFYTkdfRVhDRVBUKSB7CisgICAgICAgIHhtbFJlbGF4TkdEZWZpbmVQdHIgbGlzdDsKKworICAgICAgICBpZiAoY3R4dCAhPSBOVUxMKSB7CisgICAgICAgICAgICBvbGRmbGFncyA9IGN0eHQtPmZsYWdzOworICAgICAgICAgICAgY3R4dC0+ZmxhZ3MgfD0gRkxBR1NfSUdOT1JBQkxFOworICAgICAgICB9CisKKyAgICAgICAgbGlzdCA9IGRlZmluZS0+Y29udGVudDsKKyAgICAgICAgd2hpbGUgKGxpc3QgIT0gTlVMTCkgeworICAgICAgICAgICAgcmV0ID0geG1sUmVsYXhOR0VsZW1lbnRNYXRjaChjdHh0LCBsaXN0LCBlbGVtKTsKKyAgICAgICAgICAgIGlmIChyZXQgPT0gMSkgeworICAgICAgICAgICAgICAgIGlmIChjdHh0ICE9IE5VTEwpCisgICAgICAgICAgICAgICAgICAgIGN0eHQtPmZsYWdzID0gb2xkZmxhZ3M7CisgICAgICAgICAgICAgICAgcmV0dXJuICgwKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChyZXQgPCAwKSB7CisgICAgICAgICAgICAgICAgaWYgKGN0eHQgIT0gTlVMTCkKKyAgICAgICAgICAgICAgICAgICAgY3R4dC0+ZmxhZ3MgPSBvbGRmbGFnczsKKyAgICAgICAgICAgICAgICByZXR1cm4gKHJldCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBsaXN0ID0gbGlzdC0+bmV4dDsKKyAgICAgICAgfQorICAgICAgICByZXQgPSAxOworICAgICAgICBpZiAoY3R4dCAhPSBOVUxMKSB7CisgICAgICAgICAgICBjdHh0LT5mbGFncyA9IG9sZGZsYWdzOworICAgICAgICB9CisgICAgfSBlbHNlIGlmIChkZWZpbmUtPnR5cGUgPT0gWE1MX1JFTEFYTkdfQ0hPSUNFKSB7CisgICAgICAgIHhtbFJlbGF4TkdEZWZpbmVQdHIgbGlzdDsKKworICAgICAgICBpZiAoY3R4dCAhPSBOVUxMKSB7CisgICAgICAgICAgICBvbGRmbGFncyA9IGN0eHQtPmZsYWdzOworICAgICAgICAgICAgY3R4dC0+ZmxhZ3MgfD0gRkxBR1NfSUdOT1JBQkxFOworICAgICAgICB9CisKKyAgICAgICAgbGlzdCA9IGRlZmluZS0+bmFtZUNsYXNzOworICAgICAgICB3aGlsZSAobGlzdCAhPSBOVUxMKSB7CisgICAgICAgICAgICByZXQgPSB4bWxSZWxheE5HRWxlbWVudE1hdGNoKGN0eHQsIGxpc3QsIGVsZW0pOworICAgICAgICAgICAgaWYgKHJldCA9PSAxKSB7CisgICAgICAgICAgICAgICAgaWYgKGN0eHQgIT0gTlVMTCkKKyAgICAgICAgICAgICAgICAgICAgY3R4dC0+ZmxhZ3MgPSBvbGRmbGFnczsKKyAgICAgICAgICAgICAgICByZXR1cm4gKDEpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKHJldCA8IDApIHsKKyAgICAgICAgICAgICAgICBpZiAoY3R4dCAhPSBOVUxMKQorICAgICAgICAgICAgICAgICAgICBjdHh0LT5mbGFncyA9IG9sZGZsYWdzOworICAgICAgICAgICAgICAgIHJldHVybiAocmV0KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGxpc3QgPSBsaXN0LT5uZXh0OworICAgICAgICB9CisgICAgICAgIGlmIChjdHh0ICE9IE5VTEwpIHsKKyAgICAgICAgICAgIGlmIChyZXQgIT0gMCkgeworICAgICAgICAgICAgICAgIGlmICgoY3R4dC0+ZmxhZ3MgJiBGTEFHU19JR05PUkFCTEUpID09IDApCisgICAgICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdEdW1wVmFsaWRFcnJvcihjdHh0KTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgaWYgKGN0eHQtPmVyck5yID4gMCkKKyAgICAgICAgICAgICAgICAgICAgeG1sUmVsYXhOR1BvcEVycm9ycyhjdHh0LCAwKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICByZXQgPSAwOworICAgICAgICBpZiAoY3R4dCAhPSBOVUxMKSB7CisgICAgICAgICAgICBjdHh0LT5mbGFncyA9IG9sZGZsYWdzOworICAgICAgICB9CisgICAgfSBlbHNlIHsKKyAgICAgICAgVE9ETyByZXQgPSAtMTsKKyAgICB9CisgICAgcmV0dXJuIChyZXQpOworfQorCisvKioKKyAqIHhtbFJlbGF4TkdCZXN0U3RhdGU6CisgKiBAY3R4dDogIGEgUmVsYXgtTkcgdmFsaWRhdGlvbiBjb250ZXh0CisgKgorICogRmluZCB0aGUgImJlc3QiIHN0YXRlIGluIHRoZSBjdHh0LT5zdGF0ZXMgbGlzdCBvZiBzdGF0ZXMgdG8gcmVwb3J0CisgKiBlcnJvcnMgYWJvdXQuIEkuZS4gYSBzdGF0ZSB3aXRoIG5vIGVsZW1lbnQgbGVmdCBpbiB0aGUgY2hpbGQgbGlzdAorICogb3IgdGhlIG9uZSB3aXRoIHRoZSBsZXNzIGF0dHJpYnV0ZXMgbGVmdC4KKyAqIFRoaXMgaXMgY2FsbGVkIG9ubHkgaWYgYSBmYWxpZGF0aW9uIGVycm9yIHdhcyBkZXRlY3RlZAorICoKKyAqIFJldHVybnMgdGhlIGluZGV4IG9mIHRoZSAiYmVzdCIgc3RhdGUgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcgorICovCitzdGF0aWMgaW50Cit4bWxSZWxheE5HQmVzdFN0YXRlKHhtbFJlbGF4TkdWYWxpZEN0eHRQdHIgY3R4dCkKK3sKKyAgICB4bWxSZWxheE5HVmFsaWRTdGF0ZVB0ciBzdGF0ZTsKKyAgICBpbnQgaSwgdG1wOworICAgIGludCBiZXN0ID0gLTE7CisgICAgaW50IHZhbHVlID0gMTAwMDAwMDsKKworICAgIGlmICgoY3R4dCA9PSBOVUxMKSB8fCAoY3R4dC0+c3RhdGVzID09IE5VTEwpIHx8CisgICAgICAgIChjdHh0LT5zdGF0ZXMtPm5iU3RhdGUgPD0gMCkpCisgICAgICAgIHJldHVybiAoLTEpOworCisgICAgZm9yIChpID0gMDsgaSA8IGN0eHQtPnN0YXRlcy0+bmJTdGF0ZTsgaSsrKSB7CisgICAgICAgIHN0YXRlID0gY3R4dC0+c3RhdGVzLT50YWJTdGF0ZVtpXTsKKyAgICAgICAgaWYgKHN0YXRlID09IE5VTEwpCisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgaWYgKHN0YXRlLT5zZXEgIT0gTlVMTCkgeworICAgICAgICAgICAgaWYgKChiZXN0ID09IC0xKSB8fCAodmFsdWUgPiAxMDAwMDApKSB7CisgICAgICAgICAgICAgICAgdmFsdWUgPSAxMDAwMDA7CisgICAgICAgICAgICAgICAgYmVzdCA9IGk7CisgICAgICAgICAgICB9CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICB0bXAgPSBzdGF0ZS0+bmJBdHRyTGVmdDsKKyAgICAgICAgICAgIGlmICgoYmVzdCA9PSAtMSkgfHwgKHZhbHVlID4gdG1wKSkgeworICAgICAgICAgICAgICAgIHZhbHVlID0gdG1wOworICAgICAgICAgICAgICAgIGJlc3QgPSBpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorICAgIHJldHVybiAoYmVzdCk7Cit9CisKKy8qKgorICogeG1sUmVsYXhOR0xvZ0Jlc3RFcnJvcjoKKyAqIEBjdHh0OiAgYSBSZWxheC1ORyB2YWxpZGF0aW9uIGNvbnRleHQKKyAqCisgKiBGaW5kIHRoZSAiYmVzdCIgc3RhdGUgaW4gdGhlIGN0eHQtPnN0YXRlcyBsaXN0IG9mIHN0YXRlcyB0byByZXBvcnQKKyAqIGVycm9ycyBhYm91dCBhbmQgbG9nIGl0LgorICovCitzdGF0aWMgdm9pZAoreG1sUmVsYXhOR0xvZ0Jlc3RFcnJvcih4bWxSZWxheE5HVmFsaWRDdHh0UHRyIGN0eHQpCit7CisgICAgaW50IGJlc3Q7CisKKyAgICBpZiAoKGN0eHQgPT0gTlVMTCkgfHwgKGN0eHQtPnN0YXRlcyA9PSBOVUxMKSB8fAorICAgICAgICAoY3R4dC0+c3RhdGVzLT5uYlN0YXRlIDw9IDApKQorICAgICAgICByZXR1cm47CisKKyAgICBiZXN0ID0geG1sUmVsYXhOR0Jlc3RTdGF0ZShjdHh0KTsKKyAgICBpZiAoKGJlc3QgPj0gMCkgJiYgKGJlc3QgPCBjdHh0LT5zdGF0ZXMtPm5iU3RhdGUpKSB7CisgICAgICAgIGN0eHQtPnN0YXRlID0gY3R4dC0+c3RhdGVzLT50YWJTdGF0ZVtiZXN0XTsKKworICAgICAgICB4bWxSZWxheE5HVmFsaWRhdGVFbGVtZW50RW5kKGN0eHQsIDEpOworICAgIH0KK30KKworLyoqCisgKiB4bWxSZWxheE5HVmFsaWRhdGVFbGVtZW50RW5kOgorICogQGN0eHQ6ICBhIFJlbGF4LU5HIHZhbGlkYXRpb24gY29udGV4dAorICogQGRvbG9nOiAgaW5kaWNhdGUgdGhhdCBlcnJvciBsb2dnaW5nIHNob3VsZCBiZSBkb25lCisgKgorICogVmFsaWRhdGUgdGhlIGVuZCBvZiB0aGUgZWxlbWVudCwgaW1wbGVtZW50cyBjaGVjayB0aGF0CisgKiB0aGVyZSBpcyBub3RoaW5nIGxlZnQgbm90IGNvbnN1bWVkIGluIHRoZSBlbGVtZW50IGNvbnRlbnQKKyAqIG9yIGluIHRoZSBhdHRyaWJ1dGUgbGlzdC4KKyAqCisgKiBSZXR1cm5zIDAgaWYgdGhlIHZhbGlkYXRpb24gc3VjY2VlZGVkIG9yIGFuIGVycm9yIGNvZGUuCisgKi8KK3N0YXRpYyBpbnQKK3htbFJlbGF4TkdWYWxpZGF0ZUVsZW1lbnRFbmQoeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0ciBjdHh0LCBpbnQgZG9sb2cpCit7CisgICAgaW50IGk7CisgICAgeG1sUmVsYXhOR1ZhbGlkU3RhdGVQdHIgc3RhdGU7CisKKyAgICBzdGF0ZSA9IGN0eHQtPnN0YXRlOworICAgIGlmIChzdGF0ZS0+c2VxICE9IE5VTEwpIHsKKyAgICAgICAgc3RhdGUtPnNlcSA9IHhtbFJlbGF4TkdTa2lwSWdub3JlZChjdHh0LCBzdGF0ZS0+c2VxKTsKKyAgICAgICAgaWYgKHN0YXRlLT5zZXEgIT0gTlVMTCkgeworICAgICAgICAgICAgaWYgKGRvbG9nKSB7CisgICAgICAgICAgICAgICAgVkFMSURfRVJSMyhYTUxfUkVMQVhOR19FUlJfRVhUUkFDT05URU5ULAorICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUtPm5vZGUtPm5hbWUsIHN0YXRlLT5zZXEtPm5hbWUpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgcmV0dXJuICgtMSk7CisgICAgICAgIH0KKyAgICB9CisgICAgZm9yIChpID0gMDsgaSA8IHN0YXRlLT5uYkF0dHJzOyBpKyspIHsKKyAgICAgICAgaWYgKHN0YXRlLT5hdHRyc1tpXSAhPSBOVUxMKSB7CisgICAgICAgICAgICBpZiAoZG9sb2cpIHsKKyAgICAgICAgICAgICAgICBWQUxJRF9FUlIzKFhNTF9SRUxBWE5HX0VSUl9JTlZBTElEQVRUUiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlLT5hdHRyc1tpXS0+bmFtZSwgc3RhdGUtPm5vZGUtPm5hbWUpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgcmV0dXJuICgtMSAtIGkpOworICAgICAgICB9CisgICAgfQorICAgIHJldHVybiAoMCk7Cit9CisKKy8qKgorICogeG1sUmVsYXhOR1ZhbGlkYXRlU3RhdGU6CisgKiBAY3R4dDogIGEgUmVsYXgtTkcgdmFsaWRhdGlvbiBjb250ZXh0CisgKiBAZGVmaW5lOiAgdGhlIGRlZmluaXRpb24gdG8gdmVyaWZ5CisgKgorICogVmFsaWRhdGUgdGhlIGN1cnJlbnQgc3RhdGUgYWdhaW5zdCB0aGUgZGVmaW5pdGlvbgorICoKKyAqIFJldHVybnMgMCBpZiB0aGUgdmFsaWRhdGlvbiBzdWNjZWVkZWQgb3IgYW4gZXJyb3IgY29kZS4KKyAqLworc3RhdGljIGludAoreG1sUmVsYXhOR1ZhbGlkYXRlU3RhdGUoeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0ciBjdHh0LAorICAgICAgICAgICAgICAgICAgICAgICAgeG1sUmVsYXhOR0RlZmluZVB0ciBkZWZpbmUpCit7CisgICAgeG1sTm9kZVB0ciBub2RlOworICAgIGludCByZXQgPSAwLCBpLCB0bXAsIG9sZGZsYWdzLCBlcnJOcjsKKyAgICB4bWxSZWxheE5HVmFsaWRTdGF0ZVB0ciBvbGRzdGF0ZSA9IE5VTEwsIHN0YXRlOworCisgICAgaWYgKGRlZmluZSA9PSBOVUxMKSB7CisgICAgICAgIFZBTElEX0VSUihYTUxfUkVMQVhOR19FUlJfTk9ERUZJTkUpOworICAgICAgICByZXR1cm4gKC0xKTsKKyAgICB9CisKKyAgICBpZiAoY3R4dC0+c3RhdGUgIT0gTlVMTCkgeworICAgICAgICBub2RlID0gY3R4dC0+c3RhdGUtPnNlcTsKKyAgICB9IGVsc2UgeworICAgICAgICBub2RlID0gTlVMTDsKKyAgICB9CisjaWZkZWYgREVCVUcKKyAgICBmb3IgKGkgPSAwOyBpIDwgY3R4dC0+ZGVwdGg7IGkrKykKKyAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICIgIik7CisgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICJTdGFydCB2YWxpZGF0aW5nICVzICIsIHhtbFJlbGF4TkdEZWZOYW1lKGRlZmluZSkpOworICAgIGlmIChkZWZpbmUtPm5hbWUgIT0gTlVMTCkKKyAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICIlcyAiLCBkZWZpbmUtPm5hbWUpOworICAgIGlmICgobm9kZSAhPSBOVUxMKSAmJiAobm9kZS0+bmFtZSAhPSBOVUxMKSkKKyAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICJvbiAlc1xuIiwgbm9kZS0+bmFtZSk7CisgICAgZWxzZQorICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgIlxuIik7CisjZW5kaWYKKyAgICBjdHh0LT5kZXB0aCsrOworICAgIHN3aXRjaCAoZGVmaW5lLT50eXBlKSB7CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfRU1QVFk6CisgICAgICAgICAgICB4bWxSZWxheE5HU2tpcElnbm9yZWQoY3R4dCwgbm9kZSk7CisgICAgICAgICAgICByZXQgPSAwOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfTk9UX0FMTE9XRUQ6CisgICAgICAgICAgICByZXQgPSAtMTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX1RFWFQ6CisgICAgICAgICAgICB3aGlsZSAoKG5vZGUgIT0gTlVMTCkgJiYKKyAgICAgICAgICAgICAgICAgICAoKG5vZGUtPnR5cGUgPT0gWE1MX1RFWFRfTk9ERSkgfHwKKyAgICAgICAgICAgICAgICAgICAgKG5vZGUtPnR5cGUgPT0gWE1MX0NPTU1FTlRfTk9ERSkgfHwKKyAgICAgICAgICAgICAgICAgICAgKG5vZGUtPnR5cGUgPT0gWE1MX1BJX05PREUpIHx8CisgICAgICAgICAgICAgICAgICAgIChub2RlLT50eXBlID09IFhNTF9DREFUQV9TRUNUSU9OX05PREUpKSkKKyAgICAgICAgICAgICAgICBub2RlID0gbm9kZS0+bmV4dDsKKyAgICAgICAgICAgIGN0eHQtPnN0YXRlLT5zZXEgPSBub2RlOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfRUxFTUVOVDoKKyAgICAgICAgICAgIGVyck5yID0gY3R4dC0+ZXJyTnI7CisgICAgICAgICAgICBub2RlID0geG1sUmVsYXhOR1NraXBJZ25vcmVkKGN0eHQsIG5vZGUpOworICAgICAgICAgICAgaWYgKG5vZGUgPT0gTlVMTCkgeworICAgICAgICAgICAgICAgIFZBTElEX0VSUjIoWE1MX1JFTEFYTkdfRVJSX05PRUxFTSwgZGVmaW5lLT5uYW1lKTsKKyAgICAgICAgICAgICAgICByZXQgPSAtMTsKKyAgICAgICAgICAgICAgICBpZiAoKGN0eHQtPmZsYWdzICYgRkxBR1NfSUdOT1JBQkxFKSA9PSAwKQorICAgICAgICAgICAgICAgICAgICB4bWxSZWxheE5HRHVtcFZhbGlkRXJyb3IoY3R4dCk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAobm9kZS0+dHlwZSAhPSBYTUxfRUxFTUVOVF9OT0RFKSB7CisgICAgICAgICAgICAgICAgVkFMSURfRVJSKFhNTF9SRUxBWE5HX0VSUl9OT1RFTEVNKTsKKyAgICAgICAgICAgICAgICByZXQgPSAtMTsKKyAgICAgICAgICAgICAgICBpZiAoKGN0eHQtPmZsYWdzICYgRkxBR1NfSUdOT1JBQkxFKSA9PSAwKQorICAgICAgICAgICAgICAgICAgICB4bWxSZWxheE5HRHVtcFZhbGlkRXJyb3IoY3R4dCk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAvKgorICAgICAgICAgICAgICogVGhpcyBub2RlIHdhcyBhbHJlYWR5IHZhbGlkYXRlZCBzdWNjZXNzZnVsbHkgYWdhaW5zdAorICAgICAgICAgICAgICogdGhpcyBkZWZpbml0aW9uLgorICAgICAgICAgICAgICovCisgICAgICAgICAgICBpZiAobm9kZS0+cHN2aSA9PSBkZWZpbmUpIHsKKyAgICAgICAgICAgICAgICBjdHh0LT5zdGF0ZS0+c2VxID0geG1sUmVsYXhOR1NraXBJZ25vcmVkKGN0eHQsIG5vZGUtPm5leHQpOworICAgICAgICAgICAgICAgIGlmIChjdHh0LT5lcnJOciA+IGVyck5yKQorICAgICAgICAgICAgICAgICAgICB4bWxSZWxheE5HUG9wRXJyb3JzKGN0eHQsIGVyck5yKTsKKyAgICAgICAgICAgICAgICBpZiAoY3R4dC0+ZXJyTnIgIT0gMCkgeworICAgICAgICAgICAgICAgICAgICB3aGlsZSAoKGN0eHQtPmVyciAhPSBOVUxMKSAmJgorICAgICAgICAgICAgICAgICAgICAgICAgICAgKCgoY3R4dC0+ZXJyLT5lcnIgPT0gWE1MX1JFTEFYTkdfRVJSX0VMRU1OQU1FKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmJiAoeG1sU3RyRXF1YWwoY3R4dC0+ZXJyLT5hcmcyLCBub2RlLT5uYW1lKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKGN0eHQtPmVyci0+ZXJyID09CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfUkVMQVhOR19FUlJfRUxFTUVYVFJBTlMpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmICh4bWxTdHJFcXVhbChjdHh0LT5lcnItPmFyZzEsIG5vZGUtPm5hbWUpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8fCAoY3R4dC0+ZXJyLT5lcnIgPT0gWE1MX1JFTEFYTkdfRVJSX05PRUxFTSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8fCAoY3R4dC0+ZXJyLT5lcnIgPT0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWE1MX1JFTEFYTkdfRVJSX05PVEVMRU0pKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdWYWxpZEVycm9yUG9wKGN0eHQpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgcmV0ID0geG1sUmVsYXhOR0VsZW1lbnRNYXRjaChjdHh0LCBkZWZpbmUsIG5vZGUpOworICAgICAgICAgICAgaWYgKHJldCA8PSAwKSB7CisgICAgICAgICAgICAgICAgcmV0ID0gLTE7CisgICAgICAgICAgICAgICAgaWYgKChjdHh0LT5mbGFncyAmIEZMQUdTX0lHTk9SQUJMRSkgPT0gMCkKKyAgICAgICAgICAgICAgICAgICAgeG1sUmVsYXhOR0R1bXBWYWxpZEVycm9yKGN0eHQpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICAgICAgcmV0ID0gMDsKKyAgICAgICAgICAgIGlmIChjdHh0LT5lcnJOciAhPSAwKSB7CisgICAgICAgICAgICAgICAgaWYgKGN0eHQtPmVyck5yID4gZXJyTnIpCisgICAgICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdQb3BFcnJvcnMoY3R4dCwgZXJyTnIpOworICAgICAgICAgICAgICAgIHdoaWxlICgoY3R4dC0+ZXJyICE9IE5VTEwpICYmCisgICAgICAgICAgICAgICAgICAgICAgICgoKGN0eHQtPmVyci0+ZXJyID09IFhNTF9SRUxBWE5HX0VSUl9FTEVNTkFNRSkgJiYKKyAgICAgICAgICAgICAgICAgICAgICAgICAoeG1sU3RyRXF1YWwoY3R4dC0+ZXJyLT5hcmcyLCBub2RlLT5uYW1lKSkpIHx8CisgICAgICAgICAgICAgICAgICAgICAgICAoKGN0eHQtPmVyci0+ZXJyID09IFhNTF9SRUxBWE5HX0VSUl9FTEVNRVhUUkFOUykgJiYKKyAgICAgICAgICAgICAgICAgICAgICAgICAoeG1sU3RyRXF1YWwoY3R4dC0+ZXJyLT5hcmcxLCBub2RlLT5uYW1lKSkpIHx8CisgICAgICAgICAgICAgICAgICAgICAgICAoY3R4dC0+ZXJyLT5lcnIgPT0gWE1MX1JFTEFYTkdfRVJSX05PRUxFTSkgfHwKKyAgICAgICAgICAgICAgICAgICAgICAgIChjdHh0LT5lcnItPmVyciA9PSBYTUxfUkVMQVhOR19FUlJfTk9URUxFTSkpKQorICAgICAgICAgICAgICAgICAgICB4bWxSZWxheE5HVmFsaWRFcnJvclBvcChjdHh0KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGVyck5yID0gY3R4dC0+ZXJyTnI7CisKKyAgICAgICAgICAgIG9sZGZsYWdzID0gY3R4dC0+ZmxhZ3M7CisgICAgICAgICAgICBpZiAoY3R4dC0+ZmxhZ3MgJiBGTEFHU19NSVhFRF9DT05URU5UKSB7CisgICAgICAgICAgICAgICAgY3R4dC0+ZmxhZ3MgLT0gRkxBR1NfTUlYRURfQ09OVEVOVDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHN0YXRlID0geG1sUmVsYXhOR05ld1ZhbGlkU3RhdGUoY3R4dCwgbm9kZSk7CisgICAgICAgICAgICBpZiAoc3RhdGUgPT0gTlVMTCkgeworICAgICAgICAgICAgICAgIHJldCA9IC0xOworICAgICAgICAgICAgICAgIGlmICgoY3R4dC0+ZmxhZ3MgJiBGTEFHU19JR05PUkFCTEUpID09IDApCisgICAgICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdEdW1wVmFsaWRFcnJvcihjdHh0KTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgb2xkc3RhdGUgPSBjdHh0LT5zdGF0ZTsKKyAgICAgICAgICAgIGN0eHQtPnN0YXRlID0gc3RhdGU7CisgICAgICAgICAgICBpZiAoZGVmaW5lLT5hdHRycyAhPSBOVUxMKSB7CisgICAgICAgICAgICAgICAgdG1wID0geG1sUmVsYXhOR1ZhbGlkYXRlQXR0cmlidXRlTGlzdChjdHh0LCBkZWZpbmUtPmF0dHJzKTsKKyAgICAgICAgICAgICAgICBpZiAodG1wICE9IDApIHsKKyAgICAgICAgICAgICAgICAgICAgcmV0ID0gLTE7CisgICAgICAgICAgICAgICAgICAgIFZBTElEX0VSUjIoWE1MX1JFTEFYTkdfRVJSX0FUVFJWQUxJRCwgbm9kZS0+bmFtZSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKGRlZmluZS0+Y29udE1vZGVsICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICB4bWxSZWxheE5HVmFsaWRTdGF0ZVB0ciBuc3RhdGUsIHRtcHN0YXRlID0gY3R4dC0+c3RhdGU7CisgICAgICAgICAgICAgICAgeG1sUmVsYXhOR1N0YXRlc1B0ciB0bXBzdGF0ZXMgPSBjdHh0LT5zdGF0ZXM7CisgICAgICAgICAgICAgICAgeG1sTm9kZVB0ciBuc2VxOworCisgICAgICAgICAgICAgICAgbnN0YXRlID0geG1sUmVsYXhOR05ld1ZhbGlkU3RhdGUoY3R4dCwgbm9kZSk7CisgICAgICAgICAgICAgICAgY3R4dC0+c3RhdGUgPSBuc3RhdGU7CisgICAgICAgICAgICAgICAgY3R4dC0+c3RhdGVzID0gTlVMTDsKKworICAgICAgICAgICAgICAgIHRtcCA9IHhtbFJlbGF4TkdWYWxpZGF0ZUNvbXBpbGVkQ29udGVudChjdHh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZpbmUtPmNvbnRNb2RlbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3R4dC0+c3RhdGUtPnNlcSk7CisgICAgICAgICAgICAgICAgbnNlcSA9IGN0eHQtPnN0YXRlLT5zZXE7CisgICAgICAgICAgICAgICAgY3R4dC0+c3RhdGUgPSB0bXBzdGF0ZTsKKyAgICAgICAgICAgICAgICBjdHh0LT5zdGF0ZXMgPSB0bXBzdGF0ZXM7CisgICAgICAgICAgICAgICAgeG1sUmVsYXhOR0ZyZWVWYWxpZFN0YXRlKGN0eHQsIG5zdGF0ZSk7CisKKyNpZmRlZiBERUJVR19DT01QSUxFCisgICAgICAgICAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJWYWxpZGF0aW5nIGNvbnRlbnQgb2YgJyVzJyA6ICVkXG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZpbmUtPm5hbWUsIHRtcCk7CisjZW5kaWYKKyAgICAgICAgICAgICAgICBpZiAodG1wICE9IDApCisgICAgICAgICAgICAgICAgICAgIHJldCA9IC0xOworCisgICAgICAgICAgICAgICAgaWYgKGN0eHQtPnN0YXRlcyAhPSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgIHRtcCA9IC0xOworCisgICAgICAgICAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBjdHh0LT5zdGF0ZXMtPm5iU3RhdGU7IGkrKykgeworICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUgPSBjdHh0LT5zdGF0ZXMtPnRhYlN0YXRlW2ldOworICAgICAgICAgICAgICAgICAgICAgICAgY3R4dC0+c3RhdGUgPSBzdGF0ZTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGN0eHQtPnN0YXRlLT5zZXEgPSBuc2VxOworCisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeG1sUmVsYXhOR1ZhbGlkYXRlRWxlbWVudEVuZChjdHh0LCAwKSA9PSAwKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gMDsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBpZiAodG1wICE9IDApIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIC8qCisgICAgICAgICAgICAgICAgICAgICAgICAgKiB2YWxpZGF0aW9uIGVycm9yLCBsb2cgdGhlIG1lc3NhZ2UgZm9yIHRoZSAiYmVzdCIgb25lCisgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgIGN0eHQtPmZsYWdzIHw9IEZMQUdTX0lHTk9SQUJMRTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdMb2dCZXN0RXJyb3IoY3R4dCk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IGN0eHQtPnN0YXRlcy0+bmJTdGF0ZTsgaSsrKSB7CisgICAgICAgICAgICAgICAgICAgICAgICB4bWxSZWxheE5HRnJlZVZhbGlkU3RhdGUoY3R4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdHh0LT5zdGF0ZXMtPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYlN0YXRlW2ldKTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICB4bWxSZWxheE5HRnJlZVN0YXRlcyhjdHh0LCBjdHh0LT5zdGF0ZXMpOworICAgICAgICAgICAgICAgICAgICBjdHh0LT5mbGFncyA9IG9sZGZsYWdzOworICAgICAgICAgICAgICAgICAgICBjdHh0LT5zdGF0ZXMgPSBOVUxMOworICAgICAgICAgICAgICAgICAgICBpZiAoKHJldCA9PSAwKSAmJiAodG1wID09IC0xKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldCA9IC0xOworICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIHN0YXRlID0gY3R4dC0+c3RhdGU7CisJCSAgICBpZiAoY3R4dC0+c3RhdGUgIT0gTlVMTCkKKwkJCWN0eHQtPnN0YXRlLT5zZXEgPSBuc2VxOworICAgICAgICAgICAgICAgICAgICBpZiAocmV0ID09IDApCisgICAgICAgICAgICAgICAgICAgICAgICByZXQgPSB4bWxSZWxheE5HVmFsaWRhdGVFbGVtZW50RW5kKGN0eHQsIDEpOworICAgICAgICAgICAgICAgICAgICB4bWxSZWxheE5HRnJlZVZhbGlkU3RhdGUoY3R4dCwgc3RhdGUpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgaWYgKGRlZmluZS0+Y29udGVudCAhPSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgIHRtcCA9IHhtbFJlbGF4TkdWYWxpZGF0ZURlZmluaXRpb25MaXN0KGN0eHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmluZS0+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQpOworICAgICAgICAgICAgICAgICAgICBpZiAodG1wICE9IDApIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldCA9IC0xOworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGN0eHQtPnN0YXRlID09IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdHh0LT5zdGF0ZSA9IG9sZHN0YXRlOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZBTElEX0VSUjIoWE1MX1JFTEFYTkdfRVJSX0NPTlRFTlRWQUxJRCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGUtPm5hbWUpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN0eHQtPnN0YXRlID0gTlVMTDsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgVkFMSURfRVJSMihYTUxfUkVMQVhOR19FUlJfQ09OVEVOVFZBTElELAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZS0+bmFtZSk7CisgICAgICAgICAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBpZiAoY3R4dC0+c3RhdGVzICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgdG1wID0gLTE7CisKKyAgICAgICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IGN0eHQtPnN0YXRlcy0+bmJTdGF0ZTsgaSsrKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZSA9IGN0eHQtPnN0YXRlcy0+dGFiU3RhdGVbaV07CisgICAgICAgICAgICAgICAgICAgICAgICBjdHh0LT5zdGF0ZSA9IHN0YXRlOworCisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeG1sUmVsYXhOR1ZhbGlkYXRlRWxlbWVudEVuZChjdHh0LCAwKSA9PSAwKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gMDsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBpZiAodG1wICE9IDApIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIC8qCisgICAgICAgICAgICAgICAgICAgICAgICAgKiB2YWxpZGF0aW9uIGVycm9yLCBsb2cgdGhlIG1lc3NhZ2UgZm9yIHRoZSAiYmVzdCIgb25lCisgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgIGN0eHQtPmZsYWdzIHw9IEZMQUdTX0lHTk9SQUJMRTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdMb2dCZXN0RXJyb3IoY3R4dCk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IGN0eHQtPnN0YXRlcy0+bmJTdGF0ZTsgaSsrKSB7CisgICAgICAgICAgICAgICAgICAgICAgICB4bWxSZWxheE5HRnJlZVZhbGlkU3RhdGUoY3R4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdHh0LT5zdGF0ZXMtPnRhYlN0YXRlW2ldKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGN0eHQtPnN0YXRlcy0+dGFiU3RhdGVbaV0gPSBOVUxMOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdGcmVlU3RhdGVzKGN0eHQsIGN0eHQtPnN0YXRlcyk7CisgICAgICAgICAgICAgICAgICAgIGN0eHQtPmZsYWdzID0gb2xkZmxhZ3M7CisgICAgICAgICAgICAgICAgICAgIGN0eHQtPnN0YXRlcyA9IE5VTEw7CisgICAgICAgICAgICAgICAgICAgIGlmICgocmV0ID09IDApICYmICh0bXAgPT0gLTEpKQorICAgICAgICAgICAgICAgICAgICAgICAgcmV0ID0gLTE7CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgc3RhdGUgPSBjdHh0LT5zdGF0ZTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHJldCA9PSAwKQorICAgICAgICAgICAgICAgICAgICAgICAgcmV0ID0geG1sUmVsYXhOR1ZhbGlkYXRlRWxlbWVudEVuZChjdHh0LCAxKTsKKyAgICAgICAgICAgICAgICAgICAgeG1sUmVsYXhOR0ZyZWVWYWxpZFN0YXRlKGN0eHQsIHN0YXRlKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAocmV0ID09IDApIHsKKyAgICAgICAgICAgICAgICBub2RlLT5wc3ZpID0gZGVmaW5lOworICAgICAgICAgICAgfQorICAgICAgICAgICAgY3R4dC0+ZmxhZ3MgPSBvbGRmbGFnczsKKyAgICAgICAgICAgIGN0eHQtPnN0YXRlID0gb2xkc3RhdGU7CisgICAgICAgICAgICBpZiAob2xkc3RhdGUgIT0gTlVMTCkKKyAgICAgICAgICAgICAgICBvbGRzdGF0ZS0+c2VxID0geG1sUmVsYXhOR1NraXBJZ25vcmVkKGN0eHQsIG5vZGUtPm5leHQpOworICAgICAgICAgICAgaWYgKHJldCAhPSAwKSB7CisgICAgICAgICAgICAgICAgaWYgKChjdHh0LT5mbGFncyAmIEZMQUdTX0lHTk9SQUJMRSkgPT0gMCkgeworICAgICAgICAgICAgICAgICAgICB4bWxSZWxheE5HRHVtcFZhbGlkRXJyb3IoY3R4dCk7CisgICAgICAgICAgICAgICAgICAgIHJldCA9IDA7CisjaWYgMAorICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIHJldCA9IC0yOworI2VuZGlmCisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBpZiAoY3R4dC0+ZXJyTnIgPiBlcnJOcikKKyAgICAgICAgICAgICAgICAgICAgeG1sUmVsYXhOR1BvcEVycm9ycyhjdHh0LCBlcnJOcik7CisgICAgICAgICAgICB9CisKKyNpZmRlZiBERUJVRworICAgICAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgInhtbFJlbGF4TkdWYWxpZGF0ZURlZmluaXRpb24oKTogdmFsaWRhdGVkICVzIDogJWQiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGUtPm5hbWUsIHJldCk7CisgICAgICAgICAgICBpZiAob2xkc3RhdGUgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgIjogbm8gc3RhdGVcbiIpOworICAgICAgICAgICAgZWxzZSBpZiAob2xkc3RhdGUtPnNlcSA9PSBOVUxMKQorICAgICAgICAgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCAiOiBkb25lXG4iKTsKKyAgICAgICAgICAgIGVsc2UgaWYgKG9sZHN0YXRlLT5zZXEtPnR5cGUgPT0gWE1MX0VMRU1FTlRfTk9ERSkKKyAgICAgICAgICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgIjogbmV4dCBlbGVtICVzXG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbGRzdGF0ZS0+c2VxLT5uYW1lKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgIjogbmV4dCAlcyAlZFxuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2xkc3RhdGUtPnNlcS0+bmFtZSwgb2xkc3RhdGUtPnNlcS0+dHlwZSk7CisjZW5kaWYKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX09QVElPTkFMOnsKKyAgICAgICAgICAgICAgICBlcnJOciA9IGN0eHQtPmVyck5yOworICAgICAgICAgICAgICAgIG9sZGZsYWdzID0gY3R4dC0+ZmxhZ3M7CisgICAgICAgICAgICAgICAgY3R4dC0+ZmxhZ3MgfD0gRkxBR1NfSUdOT1JBQkxFOworICAgICAgICAgICAgICAgIG9sZHN0YXRlID0geG1sUmVsYXhOR0NvcHlWYWxpZFN0YXRlKGN0eHQsIGN0eHQtPnN0YXRlKTsKKyAgICAgICAgICAgICAgICByZXQgPQorICAgICAgICAgICAgICAgICAgICB4bWxSZWxheE5HVmFsaWRhdGVEZWZpbml0aW9uTGlzdChjdHh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZpbmUtPmNvbnRlbnQpOworICAgICAgICAgICAgICAgIGlmIChyZXQgIT0gMCkgeworICAgICAgICAgICAgICAgICAgICBpZiAoY3R4dC0+c3RhdGUgIT0gTlVMTCkKKyAgICAgICAgICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdGcmVlVmFsaWRTdGF0ZShjdHh0LCBjdHh0LT5zdGF0ZSk7CisgICAgICAgICAgICAgICAgICAgIGN0eHQtPnN0YXRlID0gb2xkc3RhdGU7CisgICAgICAgICAgICAgICAgICAgIGN0eHQtPmZsYWdzID0gb2xkZmxhZ3M7CisgICAgICAgICAgICAgICAgICAgIHJldCA9IDA7CisgICAgICAgICAgICAgICAgICAgIGlmIChjdHh0LT5lcnJOciA+IGVyck5yKQorICAgICAgICAgICAgICAgICAgICAgICAgeG1sUmVsYXhOR1BvcEVycm9ycyhjdHh0LCBlcnJOcik7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBpZiAoY3R4dC0+c3RhdGVzICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgeG1sUmVsYXhOR0FkZFN0YXRlcyhjdHh0LCBjdHh0LT5zdGF0ZXMsIG9sZHN0YXRlKTsKKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICBjdHh0LT5zdGF0ZXMgPSB4bWxSZWxheE5HTmV3U3RhdGVzKGN0eHQsIDEpOworICAgICAgICAgICAgICAgICAgICBpZiAoY3R4dC0+c3RhdGVzID09IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdGcmVlVmFsaWRTdGF0ZShjdHh0LCBvbGRzdGF0ZSk7CisgICAgICAgICAgICAgICAgICAgICAgICBjdHh0LT5mbGFncyA9IG9sZGZsYWdzOworICAgICAgICAgICAgICAgICAgICAgICAgcmV0ID0gLTE7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY3R4dC0+ZXJyTnIgPiBlcnJOcikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxSZWxheE5HUG9wRXJyb3JzKGN0eHQsIGVyck5yKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdBZGRTdGF0ZXMoY3R4dCwgY3R4dC0+c3RhdGVzLCBvbGRzdGF0ZSk7CisgICAgICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdBZGRTdGF0ZXMoY3R4dCwgY3R4dC0+c3RhdGVzLCBjdHh0LT5zdGF0ZSk7CisgICAgICAgICAgICAgICAgICAgIGN0eHQtPnN0YXRlID0gTlVMTDsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgY3R4dC0+ZmxhZ3MgPSBvbGRmbGFnczsKKyAgICAgICAgICAgICAgICByZXQgPSAwOworICAgICAgICAgICAgICAgIGlmIChjdHh0LT5lcnJOciA+IGVyck5yKQorICAgICAgICAgICAgICAgICAgICB4bWxSZWxheE5HUG9wRXJyb3JzKGN0eHQsIGVyck5yKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19PTkVPUk1PUkU6CisgICAgICAgICAgICBlcnJOciA9IGN0eHQtPmVyck5yOworICAgICAgICAgICAgcmV0ID0geG1sUmVsYXhOR1ZhbGlkYXRlRGVmaW5pdGlvbkxpc3QoY3R4dCwgZGVmaW5lLT5jb250ZW50KTsKKyAgICAgICAgICAgIGlmIChyZXQgIT0gMCkgeworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKGN0eHQtPmVyck5yID4gZXJyTnIpCisgICAgICAgICAgICAgICAgeG1sUmVsYXhOR1BvcEVycm9ycyhjdHh0LCBlcnJOcik7CisgICAgICAgICAgICAvKiBubyBicmVhayBvbiBwdXJwb3NlICovCisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfWkVST09STU9SRTp7CisgICAgICAgICAgICAgICAgaW50IHByb2dyZXNzOworICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdTdGF0ZXNQdHIgc3RhdGVzID0gTlVMTCwgcmVzID0gTlVMTDsKKyAgICAgICAgICAgICAgICBpbnQgYmFzZSwgajsKKworICAgICAgICAgICAgICAgIGVyck5yID0gY3R4dC0+ZXJyTnI7CisgICAgICAgICAgICAgICAgcmVzID0geG1sUmVsYXhOR05ld1N0YXRlcyhjdHh0LCAxKTsKKyAgICAgICAgICAgICAgICBpZiAocmVzID09IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgcmV0ID0gLTE7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAvKgorICAgICAgICAgICAgICAgICAqIEFsbCB0aGUgaW5wdXQgc3RhdGVzIGFyZSBhbHNvIGV4aXQgc3RhdGVzCisgICAgICAgICAgICAgICAgICovCisgICAgICAgICAgICAgICAgaWYgKGN0eHQtPnN0YXRlICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgeG1sUmVsYXhOR0FkZFN0YXRlcyhjdHh0LCByZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sUmVsYXhOR0NvcHlWYWxpZFN0YXRlKGN0eHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN0eHQtPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZSkpOworICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIGZvciAoaiA9IDA7IGogPCBjdHh0LT5zdGF0ZXMtPm5iU3RhdGU7IGorKykgeworICAgICAgICAgICAgICAgICAgICAgICAgeG1sUmVsYXhOR0FkZFN0YXRlcyhjdHh0LCByZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sUmVsYXhOR0NvcHlWYWxpZFN0YXRlKGN0eHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN0eHQtPnN0YXRlcy0+dGFiU3RhdGVbal0pKTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBvbGRmbGFncyA9IGN0eHQtPmZsYWdzOworICAgICAgICAgICAgICAgIGN0eHQtPmZsYWdzIHw9IEZMQUdTX0lHTk9SQUJMRTsKKyAgICAgICAgICAgICAgICBkbyB7CisgICAgICAgICAgICAgICAgICAgIHByb2dyZXNzID0gMDsKKyAgICAgICAgICAgICAgICAgICAgYmFzZSA9IHJlcy0+bmJTdGF0ZTsKKworICAgICAgICAgICAgICAgICAgICBpZiAoY3R4dC0+c3RhdGVzICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlcyA9IGN0eHQtPnN0YXRlczsKKyAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBzdGF0ZXMtPm5iU3RhdGU7IGkrKykgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN0eHQtPnN0YXRlID0gc3RhdGVzLT50YWJTdGF0ZVtpXTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdHh0LT5zdGF0ZXMgPSBOVUxMOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldCA9IHhtbFJlbGF4TkdWYWxpZGF0ZURlZmluaXRpb25MaXN0KGN0eHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmaW5lLT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmV0ID09IDApIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGN0eHQtPnN0YXRlICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IHhtbFJlbGF4TkdBZGRTdGF0ZXMoY3R4dCwgcmVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdHh0LT5zdGF0ZSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdHh0LT5zdGF0ZSA9IE5VTEw7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG1wID09IDEpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvZ3Jlc3MgPSAxOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGN0eHQtPnN0YXRlcyAhPSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGogPSAwOyBqIDwgY3R4dC0+c3RhdGVzLT5uYlN0YXRlOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqKyspIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0bXAgPQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxSZWxheE5HQWRkU3RhdGVzKGN0eHQsIHJlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN0eHQtPnN0YXRlcy0+dGFiU3RhdGVbal0pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0bXAgPT0gMSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvZ3Jlc3MgPSAxOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sUmVsYXhOR0ZyZWVTdGF0ZXMoY3R4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN0eHQtPnN0YXRlcyk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdHh0LT5zdGF0ZXMgPSBOVUxMOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGN0eHQtPnN0YXRlICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdGcmVlVmFsaWRTdGF0ZShjdHh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN0eHQtPnN0YXRlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN0eHQtPnN0YXRlID0gTlVMTDsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldCA9IHhtbFJlbGF4TkdWYWxpZGF0ZURlZmluaXRpb25MaXN0KGN0eHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZpbmUtPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudCk7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmV0ICE9IDApIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxSZWxheE5HRnJlZVZhbGlkU3RhdGUoY3R4dCwgY3R4dC0+c3RhdGUpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN0eHQtPnN0YXRlID0gTlVMTDsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFzZSA9IHJlcy0+bmJTdGF0ZTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY3R4dC0+c3RhdGUgIT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSB4bWxSZWxheE5HQWRkU3RhdGVzKGN0eHQsIHJlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdHh0LT5zdGF0ZSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN0eHQtPnN0YXRlID0gTlVMTDsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRtcCA9PSAxKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvZ3Jlc3MgPSAxOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoY3R4dC0+c3RhdGVzICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChqID0gMDsgaiA8IGN0eHQtPnN0YXRlcy0+bmJTdGF0ZTsgaisrKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSB4bWxSZWxheE5HQWRkU3RhdGVzKGN0eHQsIHJlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3R4dC0+c3RhdGVzLT50YWJTdGF0ZVtqXSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG1wID09IDEpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvZ3Jlc3MgPSAxOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzdGF0ZXMgPT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGVzID0gY3R4dC0+c3RhdGVzOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sUmVsYXhOR0ZyZWVTdGF0ZXMoY3R4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN0eHQtPnN0YXRlcyk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3R4dC0+c3RhdGVzID0gTlVMTDsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgaWYgKHByb2dyZXNzKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAvKgorICAgICAgICAgICAgICAgICAgICAgICAgICogQ29sbGVjdCBhbGwgdGhlIG5ldyBub2RlcyBhZGRlZCBhdCB0aGF0IHN0ZXAKKyAgICAgICAgICAgICAgICAgICAgICAgICAqIGFuZCBtYWtlIHRoZW0gdGhlIG5ldyBub2RlIHNldAorICAgICAgICAgICAgICAgICAgICAgICAgICovCisgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzLT5uYlN0YXRlIC0gYmFzZSA9PSAxKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3R4dC0+c3RhdGUgPSB4bWxSZWxheE5HQ29weVZhbGlkU3RhdGUoY3R4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXMtPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYlN0YXRlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Jhc2VdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN0YXRlcyA9PSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdOZXdTdGF0ZXMoY3R4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXMtPm5iU3RhdGUgLSBiYXNlKTsKKwkJCSAgICAgICAgc3RhdGVzID0gY3R4dC0+c3RhdGVzOworCQkJCWlmIChzdGF0ZXMgPT0gTlVMTCkgeworCQkJCSAgICBwcm9ncmVzcyA9IDA7CisJCQkJICAgIGJyZWFrOworCQkJCX0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGVzLT5uYlN0YXRlID0gMDsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGkgPSBiYXNlOyBpIDwgcmVzLT5uYlN0YXRlOyBpKyspCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdBZGRTdGF0ZXMoY3R4dCwgc3RhdGVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdDb3B5VmFsaWRTdGF0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjdHh0LCByZXMtPnRhYlN0YXRlW2ldKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3R4dC0+c3RhdGVzID0gc3RhdGVzOworICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfSB3aGlsZSAocHJvZ3Jlc3MgPT0gMSk7CisgICAgICAgICAgICAgICAgaWYgKHN0YXRlcyAhPSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdGcmVlU3RhdGVzKGN0eHQsIHN0YXRlcyk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGN0eHQtPnN0YXRlcyA9IHJlczsKKyAgICAgICAgICAgICAgICBjdHh0LT5mbGFncyA9IG9sZGZsYWdzOworI2lmIDAKKyAgICAgICAgICAgICAgICAvKgorICAgICAgICAgICAgICAgICAqIGVycm9ycyBtYXkgaGF2ZSB0byBiZSBwcm9wYWdhdGVkIGJhY2suLi4KKyAgICAgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgICAgICBpZiAoY3R4dC0+ZXJyTnIgPiBlcnJOcikKKyAgICAgICAgICAgICAgICAgICAgeG1sUmVsYXhOR1BvcEVycm9ycyhjdHh0LCBlcnJOcik7CisjZW5kaWYKKyAgICAgICAgICAgICAgICByZXQgPSAwOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX0NIT0lDRTp7CisgICAgICAgICAgICAgICAgeG1sUmVsYXhOR0RlZmluZVB0ciBsaXN0ID0gTlVMTDsKKyAgICAgICAgICAgICAgICB4bWxSZWxheE5HU3RhdGVzUHRyIHN0YXRlcyA9IE5VTEw7CisKKyAgICAgICAgICAgICAgICBub2RlID0geG1sUmVsYXhOR1NraXBJZ25vcmVkKGN0eHQsIG5vZGUpOworCisgICAgICAgICAgICAgICAgZXJyTnIgPSBjdHh0LT5lcnJOcjsKKyAgICAgICAgICAgICAgICBpZiAoKGRlZmluZS0+ZGZsYWdzICYgSVNfVFJJQUJMRSkgJiYgKGRlZmluZS0+ZGF0YSAhPSBOVUxMKSAmJgorCQkgICAgKG5vZGUgIT0gTlVMTCkpIHsKKwkJICAgIC8qCisJCSAgICAgKiBub2RlID09IE5VTEwgY2FuJ3QgYmUgb3B0aW1pemVkIHNpbmNlIElTX1RSSUFCTEUKKwkJICAgICAqIGRvZXNuJ3QgYWNjb3VudCBmb3IgY2hvaWNlIHdoaWNoIG1heSBsZWFkIHRvCisJCSAgICAgKiBvbmx5IGF0dHJpYnV0ZXMuCisJCSAgICAgKi8KKyAgICAgICAgICAgICAgICAgICAgeG1sSGFzaFRhYmxlUHRyIHRyaWFnZSA9CisgICAgICAgICAgICAgICAgICAgICAgICAoeG1sSGFzaFRhYmxlUHRyKSBkZWZpbmUtPmRhdGE7CisKKyAgICAgICAgICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAgICAgICAgICogU29tZXRoaW5nIHdlIGNhbiBvcHRpbWl6ZSBjbGVhbmx5IHRoZXJlIGlzIG9ubHkgb25lCisgICAgICAgICAgICAgICAgICAgICAqIHBvc3NibGUgYnJhbmNoIG91dCAhCisgICAgICAgICAgICAgICAgICAgICAqLworICAgICAgICAgICAgICAgICAgICBpZiAoKG5vZGUtPnR5cGUgPT0gWE1MX1RFWFRfTk9ERSkgfHwKKyAgICAgICAgICAgICAgICAgICAgICAgIChub2RlLT50eXBlID09IFhNTF9DREFUQV9TRUNUSU9OX05PREUpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBsaXN0ID0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxIYXNoTG9va3VwMih0cmlhZ2UsIEJBRF9DQVNUICIjdGV4dCIsIE5VTEwpOworICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKG5vZGUtPnR5cGUgPT0gWE1MX0VMRU1FTlRfTk9ERSkgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG5vZGUtPm5zICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0ID0geG1sSGFzaExvb2t1cDIodHJpYWdlLCBub2RlLT5uYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlLT5ucy0+aHJlZik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGxpc3QgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdCA9CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxIYXNoTG9va3VwMih0cmlhZ2UsIEJBRF9DQVNUICIjYW55IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGUtPm5zLT5ocmVmKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3QgPQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxIYXNoTG9va3VwMih0cmlhZ2UsIG5vZGUtPm5hbWUsIE5VTEwpOworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGxpc3QgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0ID0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sSGFzaExvb2t1cDIodHJpYWdlLCBCQURfQ0FTVCAiI2FueSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIGlmIChsaXN0ID09IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldCA9IC0xOworCQkJVkFMSURfRVJSMihYTUxfUkVMQVhOR19FUlJfRUxFTVdST05HLCBub2RlLT5uYW1lKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIHJldCA9IHhtbFJlbGF4TkdWYWxpZGF0ZURlZmluaXRpb24oY3R4dCwgbGlzdCk7CisgICAgICAgICAgICAgICAgICAgIGlmIChyZXQgPT0gMCkgeworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGxpc3QgPSBkZWZpbmUtPmNvbnRlbnQ7CisgICAgICAgICAgICAgICAgb2xkZmxhZ3MgPSBjdHh0LT5mbGFnczsKKyAgICAgICAgICAgICAgICBjdHh0LT5mbGFncyB8PSBGTEFHU19JR05PUkFCTEU7CisKKyAgICAgICAgICAgICAgICB3aGlsZSAobGlzdCAhPSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgIG9sZHN0YXRlID0geG1sUmVsYXhOR0NvcHlWYWxpZFN0YXRlKGN0eHQsIGN0eHQtPnN0YXRlKTsKKyAgICAgICAgICAgICAgICAgICAgcmV0ID0geG1sUmVsYXhOR1ZhbGlkYXRlRGVmaW5pdGlvbihjdHh0LCBsaXN0KTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHJldCA9PSAwKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3RhdGVzID09IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZXMgPSB4bWxSZWxheE5HTmV3U3RhdGVzKGN0eHQsIDEpOworICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGN0eHQtPnN0YXRlICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxSZWxheE5HQWRkU3RhdGVzKGN0eHQsIHN0YXRlcywgY3R4dC0+c3RhdGUpOworICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChjdHh0LT5zdGF0ZXMgIT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBjdHh0LT5zdGF0ZXMtPm5iU3RhdGU7IGkrKykgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxSZWxheE5HQWRkU3RhdGVzKGN0eHQsIHN0YXRlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdHh0LT5zdGF0ZXMtPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYlN0YXRlW2ldKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sUmVsYXhOR0ZyZWVTdGF0ZXMoY3R4dCwgY3R4dC0+c3RhdGVzKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdHh0LT5zdGF0ZXMgPSBOVUxMOworICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAgeG1sUmVsYXhOR0ZyZWVWYWxpZFN0YXRlKGN0eHQsIGN0eHQtPnN0YXRlKTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBjdHh0LT5zdGF0ZSA9IG9sZHN0YXRlOworICAgICAgICAgICAgICAgICAgICBsaXN0ID0gbGlzdC0+bmV4dDsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgaWYgKHN0YXRlcyAhPSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdGcmVlVmFsaWRTdGF0ZShjdHh0LCBvbGRzdGF0ZSk7CisgICAgICAgICAgICAgICAgICAgIGN0eHQtPnN0YXRlcyA9IHN0YXRlczsKKyAgICAgICAgICAgICAgICAgICAgY3R4dC0+c3RhdGUgPSBOVUxMOworICAgICAgICAgICAgICAgICAgICByZXQgPSAwOworICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIGN0eHQtPnN0YXRlcyA9IE5VTEw7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGN0eHQtPmZsYWdzID0gb2xkZmxhZ3M7CisgICAgICAgICAgICAgICAgaWYgKHJldCAhPSAwKSB7CisgICAgICAgICAgICAgICAgICAgIGlmICgoY3R4dC0+ZmxhZ3MgJiBGTEFHU19JR05PUkFCTEUpID09IDApIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdEdW1wVmFsaWRFcnJvcihjdHh0KTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIGlmIChjdHh0LT5lcnJOciA+IGVyck5yKQorICAgICAgICAgICAgICAgICAgICAgICAgeG1sUmVsYXhOR1BvcEVycm9ycyhjdHh0LCBlcnJOcik7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX0RFRjoKKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19HUk9VUDoKKyAgICAgICAgICAgIHJldCA9IHhtbFJlbGF4TkdWYWxpZGF0ZURlZmluaXRpb25MaXN0KGN0eHQsIGRlZmluZS0+Y29udGVudCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19JTlRFUkxFQVZFOgorICAgICAgICAgICAgcmV0ID0geG1sUmVsYXhOR1ZhbGlkYXRlSW50ZXJsZWF2ZShjdHh0LCBkZWZpbmUpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfQVRUUklCVVRFOgorICAgICAgICAgICAgcmV0ID0geG1sUmVsYXhOR1ZhbGlkYXRlQXR0cmlidXRlKGN0eHQsIGRlZmluZSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19TVEFSVDoKKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19OT09QOgorICAgICAgICBjYXNlIFhNTF9SRUxBWE5HX1JFRjoKKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19FWFRFUk5BTFJFRjoKKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19QQVJFTlRSRUY6CisgICAgICAgICAgICByZXQgPSB4bWxSZWxheE5HVmFsaWRhdGVEZWZpbml0aW9uKGN0eHQsIGRlZmluZS0+Y29udGVudCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19EQVRBVFlQRTp7CisgICAgICAgICAgICAgICAgeG1sTm9kZVB0ciBjaGlsZDsKKyAgICAgICAgICAgICAgICB4bWxDaGFyICpjb250ZW50ID0gTlVMTDsKKworICAgICAgICAgICAgICAgIGNoaWxkID0gbm9kZTsKKyAgICAgICAgICAgICAgICB3aGlsZSAoY2hpbGQgIT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICBpZiAoY2hpbGQtPnR5cGUgPT0gWE1MX0VMRU1FTlRfTk9ERSkgeworICAgICAgICAgICAgICAgICAgICAgICAgVkFMSURfRVJSMihYTUxfUkVMQVhOR19FUlJfREFUQUVMRU0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGUtPnBhcmVudC0+bmFtZSk7CisgICAgICAgICAgICAgICAgICAgICAgICByZXQgPSAtMTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKChjaGlsZC0+dHlwZSA9PSBYTUxfVEVYVF9OT0RFKSB8fAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjaGlsZC0+dHlwZSA9PSBYTUxfQ0RBVEFfU0VDVElPTl9OT0RFKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudCA9IHhtbFN0cmNhdChjb250ZW50LCBjaGlsZC0+Y29udGVudCk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgLyogVE9ETzogaGFuZGxlIGVudGl0aWVzIC4uLiAqLworICAgICAgICAgICAgICAgICAgICBjaGlsZCA9IGNoaWxkLT5uZXh0OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBpZiAocmV0ID09IC0xKSB7CisgICAgICAgICAgICAgICAgICAgIGlmIChjb250ZW50ICE9IE5VTEwpCisgICAgICAgICAgICAgICAgICAgICAgICB4bWxGcmVlKGNvbnRlbnQpOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgaWYgKGNvbnRlbnQgPT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICBjb250ZW50ID0geG1sU3RyZHVwKEJBRF9DQVNUICIiKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGNvbnRlbnQgPT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICAgICAgeG1sUm5nVkVyck1lbW9yeShjdHh0LCAidmFsaWRhdGluZ1xuIik7CisgICAgICAgICAgICAgICAgICAgICAgICByZXQgPSAtMTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHJldCA9IHhtbFJlbGF4TkdWYWxpZGF0ZURhdGF0eXBlKGN0eHQsIGNvbnRlbnQsIGRlZmluZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdHh0LT5zdGF0ZS0+c2VxKTsKKyAgICAgICAgICAgICAgICBpZiAocmV0ID09IC0xKSB7CisgICAgICAgICAgICAgICAgICAgIFZBTElEX0VSUjIoWE1MX1JFTEFYTkdfRVJSX0RBVEFUWVBFLCBkZWZpbmUtPm5hbWUpOworICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAocmV0ID09IDApIHsKKyAgICAgICAgICAgICAgICAgICAgY3R4dC0+c3RhdGUtPnNlcSA9IE5VTEw7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGlmIChjb250ZW50ICE9IE5VTEwpCisgICAgICAgICAgICAgICAgICAgIHhtbEZyZWUoY29udGVudCk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfVkFMVUU6eworICAgICAgICAgICAgICAgIHhtbENoYXIgKmNvbnRlbnQgPSBOVUxMOworICAgICAgICAgICAgICAgIHhtbENoYXIgKm9sZHZhbHVlOworICAgICAgICAgICAgICAgIHhtbE5vZGVQdHIgY2hpbGQ7CisKKyAgICAgICAgICAgICAgICBjaGlsZCA9IG5vZGU7CisgICAgICAgICAgICAgICAgd2hpbGUgKGNoaWxkICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGNoaWxkLT50eXBlID09IFhNTF9FTEVNRU5UX05PREUpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIFZBTElEX0VSUjIoWE1MX1JFTEFYTkdfRVJSX1ZBTEVMRU0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGUtPnBhcmVudC0+bmFtZSk7CisgICAgICAgICAgICAgICAgICAgICAgICByZXQgPSAtMTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKChjaGlsZC0+dHlwZSA9PSBYTUxfVEVYVF9OT0RFKSB8fAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjaGlsZC0+dHlwZSA9PSBYTUxfQ0RBVEFfU0VDVElPTl9OT0RFKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudCA9IHhtbFN0cmNhdChjb250ZW50LCBjaGlsZC0+Y29udGVudCk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgLyogVE9ETzogaGFuZGxlIGVudGl0aWVzIC4uLiAqLworICAgICAgICAgICAgICAgICAgICBjaGlsZCA9IGNoaWxkLT5uZXh0OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBpZiAocmV0ID09IC0xKSB7CisgICAgICAgICAgICAgICAgICAgIGlmIChjb250ZW50ICE9IE5VTEwpCisgICAgICAgICAgICAgICAgICAgICAgICB4bWxGcmVlKGNvbnRlbnQpOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgaWYgKGNvbnRlbnQgPT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICBjb250ZW50ID0geG1sU3RyZHVwKEJBRF9DQVNUICIiKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGNvbnRlbnQgPT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICAgICAgeG1sUm5nVkVyck1lbW9yeShjdHh0LCAidmFsaWRhdGluZ1xuIik7CisgICAgICAgICAgICAgICAgICAgICAgICByZXQgPSAtMTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIG9sZHZhbHVlID0gY3R4dC0+c3RhdGUtPnZhbHVlOworICAgICAgICAgICAgICAgIGN0eHQtPnN0YXRlLT52YWx1ZSA9IGNvbnRlbnQ7CisgICAgICAgICAgICAgICAgcmV0ID0geG1sUmVsYXhOR1ZhbGlkYXRlVmFsdWUoY3R4dCwgZGVmaW5lKTsKKyAgICAgICAgICAgICAgICBjdHh0LT5zdGF0ZS0+dmFsdWUgPSBvbGR2YWx1ZTsKKyAgICAgICAgICAgICAgICBpZiAocmV0ID09IC0xKSB7CisgICAgICAgICAgICAgICAgICAgIFZBTElEX0VSUjIoWE1MX1JFTEFYTkdfRVJSX1ZBTFVFLCBkZWZpbmUtPm5hbWUpOworICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAocmV0ID09IDApIHsKKyAgICAgICAgICAgICAgICAgICAgY3R4dC0+c3RhdGUtPnNlcSA9IE5VTEw7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGlmIChjb250ZW50ICE9IE5VTEwpCisgICAgICAgICAgICAgICAgICAgIHhtbEZyZWUoY29udGVudCk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfTElTVDp7CisgICAgICAgICAgICAgICAgeG1sQ2hhciAqY29udGVudDsKKyAgICAgICAgICAgICAgICB4bWxOb2RlUHRyIGNoaWxkOworICAgICAgICAgICAgICAgIHhtbENoYXIgKm9sZHZhbHVlLCAqb2xkZW5kdmFsdWU7CisgICAgICAgICAgICAgICAgaW50IGxlbjsKKworICAgICAgICAgICAgICAgIC8qCisgICAgICAgICAgICAgICAgICogTWFrZSBzdXJlIGl0J3Mgb25seSB0ZXh0IG5vZGVzCisgICAgICAgICAgICAgICAgICovCisKKyAgICAgICAgICAgICAgICBjb250ZW50ID0gTlVMTDsKKyAgICAgICAgICAgICAgICBjaGlsZCA9IG5vZGU7CisgICAgICAgICAgICAgICAgd2hpbGUgKGNoaWxkICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGNoaWxkLT50eXBlID09IFhNTF9FTEVNRU5UX05PREUpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIFZBTElEX0VSUjIoWE1MX1JFTEFYTkdfRVJSX0xJU1RFTEVNLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlLT5wYXJlbnQtPm5hbWUpOworICAgICAgICAgICAgICAgICAgICAgICAgcmV0ID0gLTE7CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgoY2hpbGQtPnR5cGUgPT0gWE1MX1RFWFRfTk9ERSkgfHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2hpbGQtPnR5cGUgPT0gWE1MX0NEQVRBX1NFQ1RJT05fTk9ERSkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgPSB4bWxTdHJjYXQoY29udGVudCwgY2hpbGQtPmNvbnRlbnQpOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIC8qIFRPRE86IGhhbmRsZSBlbnRpdGllcyAuLi4gKi8KKyAgICAgICAgICAgICAgICAgICAgY2hpbGQgPSBjaGlsZC0+bmV4dDsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgaWYgKHJldCA9PSAtMSkgeworICAgICAgICAgICAgICAgICAgICBpZiAoY29udGVudCAhPSBOVUxMKQorICAgICAgICAgICAgICAgICAgICAgICAgeG1sRnJlZShjb250ZW50KTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGlmIChjb250ZW50ID09IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgY29udGVudCA9IHhtbFN0cmR1cChCQURfQ0FTVCAiIik7CisgICAgICAgICAgICAgICAgICAgIGlmIChjb250ZW50ID09IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHhtbFJuZ1ZFcnJNZW1vcnkoY3R4dCwgInZhbGlkYXRpbmdcbiIpOworICAgICAgICAgICAgICAgICAgICAgICAgcmV0ID0gLTE7CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBsZW4gPSB4bWxTdHJsZW4oY29udGVudCk7CisgICAgICAgICAgICAgICAgb2xkdmFsdWUgPSBjdHh0LT5zdGF0ZS0+dmFsdWU7CisgICAgICAgICAgICAgICAgb2xkZW5kdmFsdWUgPSBjdHh0LT5zdGF0ZS0+ZW5kdmFsdWU7CisgICAgICAgICAgICAgICAgY3R4dC0+c3RhdGUtPnZhbHVlID0gY29udGVudDsKKyAgICAgICAgICAgICAgICBjdHh0LT5zdGF0ZS0+ZW5kdmFsdWUgPSBjb250ZW50ICsgbGVuOworICAgICAgICAgICAgICAgIHJldCA9IHhtbFJlbGF4TkdWYWxpZGF0ZVZhbHVlKGN0eHQsIGRlZmluZSk7CisgICAgICAgICAgICAgICAgY3R4dC0+c3RhdGUtPnZhbHVlID0gb2xkdmFsdWU7CisgICAgICAgICAgICAgICAgY3R4dC0+c3RhdGUtPmVuZHZhbHVlID0gb2xkZW5kdmFsdWU7CisgICAgICAgICAgICAgICAgaWYgKHJldCA9PSAtMSkgeworICAgICAgICAgICAgICAgICAgICBWQUxJRF9FUlIoWE1MX1JFTEFYTkdfRVJSX0xJU1QpOworICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoKHJldCA9PSAwKSAmJiAobm9kZSAhPSBOVUxMKSkgeworICAgICAgICAgICAgICAgICAgICBjdHh0LT5zdGF0ZS0+c2VxID0gbm9kZS0+bmV4dDsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgaWYgKGNvbnRlbnQgIT0gTlVMTCkKKyAgICAgICAgICAgICAgICAgICAgeG1sRnJlZShjb250ZW50KTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgY2FzZSBYTUxfUkVMQVhOR19FWENFUFQ6CisgICAgICAgIGNhc2UgWE1MX1JFTEFYTkdfUEFSQU06CisgICAgICAgICAgICBUT0RPIHJldCA9IC0xOworICAgICAgICAgICAgYnJlYWs7CisgICAgfQorICAgIGN0eHQtPmRlcHRoLS07CisjaWZkZWYgREVCVUcKKyAgICBmb3IgKGkgPSAwOyBpIDwgY3R4dC0+ZGVwdGg7IGkrKykKKyAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICIgIik7CisgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICJWYWxpZGF0aW5nICVzICIsIHhtbFJlbGF4TkdEZWZOYW1lKGRlZmluZSkpOworICAgIGlmIChkZWZpbmUtPm5hbWUgIT0gTlVMTCkKKyAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICIlcyAiLCBkZWZpbmUtPm5hbWUpOworICAgIGlmIChyZXQgPT0gMCkKKyAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICJzdWNlZWRlZFxuIik7CisgICAgZWxzZQorICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgImZhaWxlZFxuIik7CisjZW5kaWYKKyAgICByZXR1cm4gKHJldCk7Cit9CisKKy8qKgorICogeG1sUmVsYXhOR1ZhbGlkYXRlRGVmaW5pdGlvbjoKKyAqIEBjdHh0OiAgYSBSZWxheC1ORyB2YWxpZGF0aW9uIGNvbnRleHQKKyAqIEBkZWZpbmU6ICB0aGUgZGVmaW5pdGlvbiB0byB2ZXJpZnkKKyAqCisgKiBWYWxpZGF0ZSB0aGUgY3VycmVudCBub2RlIGxpc3RzIGFnYWluc3QgdGhlIGRlZmluaXRpb24KKyAqCisgKiBSZXR1cm5zIDAgaWYgdGhlIHZhbGlkYXRpb24gc3VjY2VlZGVkIG9yIGFuIGVycm9yIGNvZGUuCisgKi8KK3N0YXRpYyBpbnQKK3htbFJlbGF4TkdWYWxpZGF0ZURlZmluaXRpb24oeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0ciBjdHh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxSZWxheE5HRGVmaW5lUHRyIGRlZmluZSkKK3sKKyAgICB4bWxSZWxheE5HU3RhdGVzUHRyIHN0YXRlcywgcmVzOworICAgIGludCBpLCBqLCBrLCByZXQsIG9sZGZsYWdzOworCisgICAgLyoKKyAgICAgKiBXZSBzaG91bGQgTk9UIGhhdmUgYm90aCBjdHh0LT5zdGF0ZSBhbmQgY3R4dC0+c3RhdGVzCisgICAgICovCisgICAgaWYgKChjdHh0LT5zdGF0ZSAhPSBOVUxMKSAmJiAoY3R4dC0+c3RhdGVzICE9IE5VTEwpKSB7CisgICAgICAgIFRPRE8geG1sUmVsYXhOR0ZyZWVWYWxpZFN0YXRlKGN0eHQsIGN0eHQtPnN0YXRlKTsKKyAgICAgICAgY3R4dC0+c3RhdGUgPSBOVUxMOworICAgIH0KKworICAgIGlmICgoY3R4dC0+c3RhdGVzID09IE5VTEwpIHx8IChjdHh0LT5zdGF0ZXMtPm5iU3RhdGUgPT0gMSkpIHsKKyAgICAgICAgaWYgKGN0eHQtPnN0YXRlcyAhPSBOVUxMKSB7CisgICAgICAgICAgICBjdHh0LT5zdGF0ZSA9IGN0eHQtPnN0YXRlcy0+dGFiU3RhdGVbMF07CisgICAgICAgICAgICB4bWxSZWxheE5HRnJlZVN0YXRlcyhjdHh0LCBjdHh0LT5zdGF0ZXMpOworICAgICAgICAgICAgY3R4dC0+c3RhdGVzID0gTlVMTDsKKyAgICAgICAgfQorICAgICAgICByZXQgPSB4bWxSZWxheE5HVmFsaWRhdGVTdGF0ZShjdHh0LCBkZWZpbmUpOworICAgICAgICBpZiAoKGN0eHQtPnN0YXRlICE9IE5VTEwpICYmIChjdHh0LT5zdGF0ZXMgIT0gTlVMTCkpIHsKKyAgICAgICAgICAgIFRPRE8geG1sUmVsYXhOR0ZyZWVWYWxpZFN0YXRlKGN0eHQsIGN0eHQtPnN0YXRlKTsKKyAgICAgICAgICAgIGN0eHQtPnN0YXRlID0gTlVMTDsKKyAgICAgICAgfQorICAgICAgICBpZiAoKGN0eHQtPnN0YXRlcyAhPSBOVUxMKSAmJiAoY3R4dC0+c3RhdGVzLT5uYlN0YXRlID09IDEpKSB7CisgICAgICAgICAgICBjdHh0LT5zdGF0ZSA9IGN0eHQtPnN0YXRlcy0+dGFiU3RhdGVbMF07CisgICAgICAgICAgICB4bWxSZWxheE5HRnJlZVN0YXRlcyhjdHh0LCBjdHh0LT5zdGF0ZXMpOworICAgICAgICAgICAgY3R4dC0+c3RhdGVzID0gTlVMTDsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gKHJldCk7CisgICAgfQorCisgICAgc3RhdGVzID0gY3R4dC0+c3RhdGVzOworICAgIGN0eHQtPnN0YXRlcyA9IE5VTEw7CisgICAgcmVzID0gTlVMTDsKKyAgICBqID0gMDsKKyAgICBvbGRmbGFncyA9IGN0eHQtPmZsYWdzOworICAgIGN0eHQtPmZsYWdzIHw9IEZMQUdTX0lHTk9SQUJMRTsKKyAgICBmb3IgKGkgPSAwOyBpIDwgc3RhdGVzLT5uYlN0YXRlOyBpKyspIHsKKyAgICAgICAgY3R4dC0+c3RhdGUgPSBzdGF0ZXMtPnRhYlN0YXRlW2ldOworICAgICAgICBjdHh0LT5zdGF0ZXMgPSBOVUxMOworICAgICAgICByZXQgPSB4bWxSZWxheE5HVmFsaWRhdGVTdGF0ZShjdHh0LCBkZWZpbmUpOworICAgICAgICAvKgorICAgICAgICAgKiBXZSBzaG91bGQgTk9UIGhhdmUgYm90aCBjdHh0LT5zdGF0ZSBhbmQgY3R4dC0+c3RhdGVzCisgICAgICAgICAqLworICAgICAgICBpZiAoKGN0eHQtPnN0YXRlICE9IE5VTEwpICYmIChjdHh0LT5zdGF0ZXMgIT0gTlVMTCkpIHsKKyAgICAgICAgICAgIFRPRE8geG1sUmVsYXhOR0ZyZWVWYWxpZFN0YXRlKGN0eHQsIGN0eHQtPnN0YXRlKTsKKyAgICAgICAgICAgIGN0eHQtPnN0YXRlID0gTlVMTDsKKyAgICAgICAgfQorICAgICAgICBpZiAocmV0ID09IDApIHsKKyAgICAgICAgICAgIGlmIChjdHh0LT5zdGF0ZXMgPT0gTlVMTCkgeworICAgICAgICAgICAgICAgIGlmIChyZXMgIT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICAvKiBhZGQgdGhlIHN0YXRlIHRvIHRoZSBjb250YWluZXIgKi8KKyAgICAgICAgICAgICAgICAgICAgeG1sUmVsYXhOR0FkZFN0YXRlcyhjdHh0LCByZXMsIGN0eHQtPnN0YXRlKTsKKyAgICAgICAgICAgICAgICAgICAgY3R4dC0+c3RhdGUgPSBOVUxMOworICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIC8qIGFkZCB0aGUgc3RhdGUgZGlyZWN0bHkgaW4gc3RhdGVzICovCisgICAgICAgICAgICAgICAgICAgIHN0YXRlcy0+dGFiU3RhdGVbaisrXSA9IGN0eHQtPnN0YXRlOworICAgICAgICAgICAgICAgICAgICBjdHh0LT5zdGF0ZSA9IE5VTEw7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBpZiAocmVzID09IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgLyogbWFrZSBpdCB0aGUgbmV3IGNvbnRhaW5lciBhbmQgY29weSBvdGhlciByZXN1bHRzICovCisgICAgICAgICAgICAgICAgICAgIHJlcyA9IGN0eHQtPnN0YXRlczsKKyAgICAgICAgICAgICAgICAgICAgY3R4dC0+c3RhdGVzID0gTlVMTDsKKyAgICAgICAgICAgICAgICAgICAgZm9yIChrID0gMDsgayA8IGo7IGsrKykKKyAgICAgICAgICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdBZGRTdGF0ZXMoY3R4dCwgcmVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZXMtPnRhYlN0YXRlW2tdKTsKKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAvKiBhZGQgYWxsIHRoZSBuZXcgcmVzdWx0cyB0byByZXMgYW5kIHJlZmYgdGhlIGNvbnRhaW5lciAqLworICAgICAgICAgICAgICAgICAgICBmb3IgKGsgPSAwOyBrIDwgY3R4dC0+c3RhdGVzLT5uYlN0YXRlOyBrKyspCisgICAgICAgICAgICAgICAgICAgICAgICB4bWxSZWxheE5HQWRkU3RhdGVzKGN0eHQsIHJlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3R4dC0+c3RhdGVzLT50YWJTdGF0ZVtrXSk7CisgICAgICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdGcmVlU3RhdGVzKGN0eHQsIGN0eHQtPnN0YXRlcyk7CisgICAgICAgICAgICAgICAgICAgIGN0eHQtPnN0YXRlcyA9IE5VTEw7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgaWYgKGN0eHQtPnN0YXRlICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICB4bWxSZWxheE5HRnJlZVZhbGlkU3RhdGUoY3R4dCwgY3R4dC0+c3RhdGUpOworICAgICAgICAgICAgICAgIGN0eHQtPnN0YXRlID0gTlVMTDsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAoY3R4dC0+c3RhdGVzICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICBmb3IgKGsgPSAwOyBrIDwgY3R4dC0+c3RhdGVzLT5uYlN0YXRlOyBrKyspCisgICAgICAgICAgICAgICAgICAgIHhtbFJlbGF4TkdGcmVlVmFsaWRTdGF0ZShjdHh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3R4dC0+c3RhdGVzLT50YWJTdGF0ZVtrXSk7CisgICAgICAgICAgICAgICAgeG1sUmVsYXhOR0ZyZWVTdGF0ZXMoY3R4dCwgY3R4dC0+c3RhdGVzKTsKKyAgICAgICAgICAgICAgICBjdHh0LT5zdGF0ZXMgPSBOVUxMOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorICAgIGN0eHQtPmZsYWdzID0gb2xkZmxhZ3M7CisgICAgaWYgKHJlcyAhPSBOVUxMKSB7CisgICAgICAgIHhtbFJlbGF4TkdGcmVlU3RhdGVzKGN0eHQsIHN0YXRlcyk7CisgICAgICAgIGN0eHQtPnN0YXRlcyA9IHJlczsKKyAgICAgICAgcmV0ID0gMDsKKyAgICB9IGVsc2UgaWYgKGogPiAxKSB7CisgICAgICAgIHN0YXRlcy0+bmJTdGF0ZSA9IGo7CisgICAgICAgIGN0eHQtPnN0YXRlcyA9IHN0YXRlczsKKyAgICAgICAgcmV0ID0gMDsKKyAgICB9IGVsc2UgaWYgKGogPT0gMSkgeworICAgICAgICBjdHh0LT5zdGF0ZSA9IHN0YXRlcy0+dGFiU3RhdGVbMF07CisgICAgICAgIHhtbFJlbGF4TkdGcmVlU3RhdGVzKGN0eHQsIHN0YXRlcyk7CisgICAgICAgIHJldCA9IDA7CisgICAgfSBlbHNlIHsKKyAgICAgICAgcmV0ID0gLTE7CisgICAgICAgIHhtbFJlbGF4TkdGcmVlU3RhdGVzKGN0eHQsIHN0YXRlcyk7CisgICAgICAgIGlmIChjdHh0LT5zdGF0ZXMgIT0gTlVMTCkgeworICAgICAgICAgICAgeG1sUmVsYXhOR0ZyZWVTdGF0ZXMoY3R4dCwgY3R4dC0+c3RhdGVzKTsKKyAgICAgICAgICAgIGN0eHQtPnN0YXRlcyA9IE5VTEw7CisgICAgICAgIH0KKyAgICB9CisgICAgaWYgKChjdHh0LT5zdGF0ZSAhPSBOVUxMKSAmJiAoY3R4dC0+c3RhdGVzICE9IE5VTEwpKSB7CisgICAgICAgIFRPRE8geG1sUmVsYXhOR0ZyZWVWYWxpZFN0YXRlKGN0eHQsIGN0eHQtPnN0YXRlKTsKKyAgICAgICAgY3R4dC0+c3RhdGUgPSBOVUxMOworICAgIH0KKyAgICByZXR1cm4gKHJldCk7Cit9CisKKy8qKgorICogeG1sUmVsYXhOR1ZhbGlkYXRlRG9jdW1lbnQ6CisgKiBAY3R4dDogIGEgUmVsYXgtTkcgdmFsaWRhdGlvbiBjb250ZXh0CisgKiBAZG9jOiAgdGhlIGRvY3VtZW50CisgKgorICogVmFsaWRhdGUgdGhlIGdpdmVuIGRvY3VtZW50CisgKgorICogUmV0dXJucyAwIGlmIHRoZSB2YWxpZGF0aW9uIHN1Y2NlZWRlZCBvciBhbiBlcnJvciBjb2RlLgorICovCitzdGF0aWMgaW50Cit4bWxSZWxheE5HVmFsaWRhdGVEb2N1bWVudCh4bWxSZWxheE5HVmFsaWRDdHh0UHRyIGN0eHQsIHhtbERvY1B0ciBkb2MpCit7CisgICAgaW50IHJldDsKKyAgICB4bWxSZWxheE5HUHRyIHNjaGVtYTsKKyAgICB4bWxSZWxheE5HR3JhbW1hclB0ciBncmFtbWFyOworICAgIHhtbFJlbGF4TkdWYWxpZFN0YXRlUHRyIHN0YXRlOworICAgIHhtbE5vZGVQdHIgbm9kZTsKKworICAgIGlmICgoY3R4dCA9PSBOVUxMKSB8fCAoY3R4dC0+c2NoZW1hID09IE5VTEwpIHx8IChkb2MgPT0gTlVMTCkpCisgICAgICAgIHJldHVybiAoLTEpOworCisgICAgY3R4dC0+ZXJyTm8gPSBYTUxfUkVMQVhOR19PSzsKKyAgICBzY2hlbWEgPSBjdHh0LT5zY2hlbWE7CisgICAgZ3JhbW1hciA9IHNjaGVtYS0+dG9wZ3JhbW1hcjsKKyAgICBpZiAoZ3JhbW1hciA9PSBOVUxMKSB7CisgICAgICAgIFZBTElEX0VSUihYTUxfUkVMQVhOR19FUlJfTk9HUkFNTUFSKTsKKyAgICAgICAgcmV0dXJuICgtMSk7CisgICAgfQorICAgIHN0YXRlID0geG1sUmVsYXhOR05ld1ZhbGlkU3RhdGUoY3R4dCwgTlVMTCk7CisgICAgY3R4dC0+c3RhdGUgPSBzdGF0ZTsKKyAgICByZXQgPSB4bWxSZWxheE5HVmFsaWRhdGVEZWZpbml0aW9uKGN0eHQsIGdyYW1tYXItPnN0YXJ0KTsKKyAgICBpZiAoKGN0eHQtPnN0YXRlICE9IE5VTEwpICYmIChzdGF0ZS0+c2VxICE9IE5VTEwpKSB7CisgICAgICAgIHN0YXRlID0gY3R4dC0+c3RhdGU7CisgICAgICAgIG5vZGUgPSBzdGF0ZS0+c2VxOworICAgICAgICBub2RlID0geG1sUmVsYXhOR1NraXBJZ25vcmVkKGN0eHQsIG5vZGUpOworICAgICAgICBpZiAobm9kZSAhPSBOVUxMKSB7CisgICAgICAgICAgICBpZiAocmV0ICE9IC0xKSB7CisgICAgICAgICAgICAgICAgVkFMSURfRVJSKFhNTF9SRUxBWE5HX0VSUl9FWFRSQURBVEEpOworICAgICAgICAgICAgICAgIHJldCA9IC0xOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfSBlbHNlIGlmIChjdHh0LT5zdGF0ZXMgIT0gTlVMTCkgeworICAgICAgICBpbnQgaTsKKyAgICAgICAgaW50IHRtcCA9IC0xOworCisgICAgICAgIGZvciAoaSA9IDA7IGkgPCBjdHh0LT5zdGF0ZXMtPm5iU3RhdGU7IGkrKykgeworICAgICAgICAgICAgc3RhdGUgPSBjdHh0LT5zdGF0ZXMtPnRhYlN0YXRlW2ldOworICAgICAgICAgICAgbm9kZSA9IHN0YXRlLT5zZXE7CisgICAgICAgICAgICBub2RlID0geG1sUmVsYXhOR1NraXBJZ25vcmVkKGN0eHQsIG5vZGUpOworICAgICAgICAgICAgaWYgKG5vZGUgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICB0bXAgPSAwOworICAgICAgICAgICAgeG1sUmVsYXhOR0ZyZWVWYWxpZFN0YXRlKGN0eHQsIHN0YXRlKTsKKyAgICAgICAgfQorICAgICAgICBpZiAodG1wID09IC0xKSB7CisgICAgICAgICAgICBpZiAocmV0ICE9IC0xKSB7CisgICAgICAgICAgICAgICAgVkFMSURfRVJSKFhNTF9SRUxBWE5HX0VSUl9FWFRSQURBVEEpOworICAgICAgICAgICAgICAgIHJldCA9IC0xOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorICAgIGlmIChjdHh0LT5zdGF0ZSAhPSBOVUxMKSB7CisgICAgICAgIHhtbFJlbGF4TkdGcmVlVmFsaWRTdGF0ZShjdHh0LCBjdHh0LT5zdGF0ZSk7CisgICAgICAgIGN0eHQtPnN0YXRlID0gTlVMTDsKKyAgICB9CisgICAgaWYgKHJldCAhPSAwKQorICAgICAgICB4bWxSZWxheE5HRHVtcFZhbGlkRXJyb3IoY3R4dCk7CisjaWZkZWYgREVCVUcKKyAgICBlbHNlIGlmIChjdHh0LT5lcnJOciAhPSAwKSB7CisgICAgICAgIGN0eHQtPmVycm9yKGN0eHQtPnVzZXJEYXRhLAorICAgICAgICAgICAgICAgICAgICAiJWQgRXh0cmEgZXJyb3IgbWVzc2FnZXMgbGVmdCBvbiBzdGFjayAhXG4iLAorICAgICAgICAgICAgICAgICAgICBjdHh0LT5lcnJOcik7CisgICAgICAgIHhtbFJlbGF4TkdEdW1wVmFsaWRFcnJvcihjdHh0KTsKKyAgICB9CisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfVkFMSURfRU5BQkxFRAorICAgIGlmIChjdHh0LT5pZHJlZiA9PSAxKSB7CisgICAgICAgIHhtbFZhbGlkQ3R4dCB2Y3R4dDsKKworICAgICAgICBtZW1zZXQoJnZjdHh0LCAwLCBzaXplb2YoeG1sVmFsaWRDdHh0KSk7CisgICAgICAgIHZjdHh0LnZhbGlkID0gMTsKKyAgICAgICAgdmN0eHQuZXJyb3IgPSBjdHh0LT5lcnJvcjsKKyAgICAgICAgdmN0eHQud2FybmluZyA9IGN0eHQtPndhcm5pbmc7CisgICAgICAgIHZjdHh0LnVzZXJEYXRhID0gY3R4dC0+dXNlckRhdGE7CisKKyAgICAgICAgaWYgKHhtbFZhbGlkYXRlRG9jdW1lbnRGaW5hbCgmdmN0eHQsIGRvYykgIT0gMSkKKyAgICAgICAgICAgIHJldCA9IC0xOworICAgIH0KKyNlbmRpZiAvKiBMSUJYTUxfVkFMSURfRU5BQkxFRCAqLworICAgIGlmICgocmV0ID09IDApICYmIChjdHh0LT5lcnJObyAhPSBYTUxfUkVMQVhOR19PSykpCisgICAgICAgIHJldCA9IC0xOworCisgICAgcmV0dXJuIChyZXQpOworfQorCisvKioKKyAqIHhtbFJlbGF4TkdDbGVhblBTVkk6CisgKiBAbm9kZTogIGFuIGlucHV0IGVsZW1lbnQgb3IgZG9jdW1lbnQKKyAqCisgKiBDYWxsIHRoaXMgcm91dGluZSB0byBzcGVlZCB1cCBYUGF0aCBjb21wdXRhdGlvbiBvbiBzdGF0aWMgZG9jdW1lbnRzLgorICogVGhpcyBzdGFtcHMgYWxsIHRoZSBlbGVtZW50IG5vZGVzIHdpdGggdGhlIGRvY3VtZW50IG9yZGVyCisgKiBMaWtlIGZvciBsaW5lIGluZm9ybWF0aW9uLCB0aGUgb3JkZXIgaXMga2VwdCBpbiB0aGUgZWxlbWVudC0+Y29udGVudAorICogZmllbGQsIHRoZSB2YWx1ZSBzdG9yZWQgaXMgYWN0dWFsbHkgLSB0aGUgbm9kZSBudW1iZXIgKHN0YXJ0aW5nIGF0IC0xKQorICogdG8gYmUgYWJsZSB0byBkaWZmZXJlbnRpYXRlIGZyb20gbGluZSBudW1iZXJzLgorICoKKyAqIFJldHVybnMgdGhlIG51bWJlciBvZiBlbGVtZW50cyBmb3VuZCBpbiB0aGUgZG9jdW1lbnQgb3IgLTEgaW4gY2FzZQorICogICAgb2YgZXJyb3IuCisgKi8KK3N0YXRpYyB2b2lkCit4bWxSZWxheE5HQ2xlYW5QU1ZJKHhtbE5vZGVQdHIgbm9kZSkgeworICAgIHhtbE5vZGVQdHIgY3VyOworCisgICAgaWYgKChub2RlID09IE5VTEwpIHx8CisgICAgICAgICgobm9kZS0+dHlwZSAhPSBYTUxfRUxFTUVOVF9OT0RFKSAmJgorICAgICAgICAgKG5vZGUtPnR5cGUgIT0gWE1MX0RPQ1VNRU5UX05PREUpICYmCisgICAgICAgICAobm9kZS0+dHlwZSAhPSBYTUxfSFRNTF9ET0NVTUVOVF9OT0RFKSkpCisJcmV0dXJuOworICAgIGlmIChub2RlLT50eXBlID09IFhNTF9FTEVNRU5UX05PREUpCisgICAgICAgIG5vZGUtPnBzdmkgPSBOVUxMOworCisgICAgY3VyID0gbm9kZS0+Y2hpbGRyZW47CisgICAgd2hpbGUgKGN1ciAhPSBOVUxMKSB7CisJaWYgKGN1ci0+dHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFKSB7CisJICAgIGN1ci0+cHN2aSA9IE5VTEw7CisJICAgIGlmIChjdXItPmNoaWxkcmVuICE9IE5VTEwpIHsKKwkJY3VyID0gY3VyLT5jaGlsZHJlbjsKKwkJY29udGludWU7CisJICAgIH0KKwl9CisJaWYgKGN1ci0+bmV4dCAhPSBOVUxMKSB7CisJICAgIGN1ciA9IGN1ci0+bmV4dDsKKwkgICAgY29udGludWU7CisJfQorCWRvIHsKKwkgICAgY3VyID0gY3VyLT5wYXJlbnQ7CisJICAgIGlmIChjdXIgPT0gTlVMTCkKKwkJYnJlYWs7CisJICAgIGlmIChjdXIgPT0gbm9kZSkgeworCQljdXIgPSBOVUxMOworCQlicmVhazsKKwkgICAgfQorCSAgICBpZiAoY3VyLT5uZXh0ICE9IE5VTEwpIHsKKwkJY3VyID0gY3VyLT5uZXh0OworCQlicmVhazsKKwkgICAgfQorCX0gd2hpbGUgKGN1ciAhPSBOVUxMKTsKKyAgICB9CisgICAgcmV0dXJuOworfQorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJCVZhbGlkYXRpb24gaW50ZXJmYWNlcwkJCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKgorICogeG1sUmVsYXhOR05ld1ZhbGlkQ3R4dDoKKyAqIEBzY2hlbWE6ICBhIHByZWNvbXBpbGVkIFhNTCBSZWxheE5HcworICoKKyAqIENyZWF0ZSBhbiBYTUwgUmVsYXhOR3MgdmFsaWRhdGlvbiBjb250ZXh0IGJhc2VkIG9uIHRoZSBnaXZlbiBzY2hlbWEKKyAqCisgKiBSZXR1cm5zIHRoZSB2YWxpZGF0aW9uIGNvbnRleHQgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3htbFJlbGF4TkdWYWxpZEN0eHRQdHIKK3htbFJlbGF4TkdOZXdWYWxpZEN0eHQoeG1sUmVsYXhOR1B0ciBzY2hlbWEpCit7CisgICAgeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0ciByZXQ7CisKKyAgICByZXQgPSAoeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0cikgeG1sTWFsbG9jKHNpemVvZih4bWxSZWxheE5HVmFsaWRDdHh0KSk7CisgICAgaWYgKHJldCA9PSBOVUxMKSB7CisgICAgICAgIHhtbFJuZ1ZFcnJNZW1vcnkoTlVMTCwgImJ1aWxkaW5nIGNvbnRleHRcbiIpOworICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIH0KKyAgICBtZW1zZXQocmV0LCAwLCBzaXplb2YoeG1sUmVsYXhOR1ZhbGlkQ3R4dCkpOworICAgIHJldC0+c2NoZW1hID0gc2NoZW1hOworICAgIHJldC0+ZXJyb3IgPSB4bWxHZW5lcmljRXJyb3I7CisgICAgcmV0LT51c2VyRGF0YSA9IHhtbEdlbmVyaWNFcnJvckNvbnRleHQ7CisgICAgcmV0LT5lcnJOciA9IDA7CisgICAgcmV0LT5lcnJNYXggPSAwOworICAgIHJldC0+ZXJyID0gTlVMTDsKKyAgICByZXQtPmVyclRhYiA9IE5VTEw7CisgICAgaWYgKHNjaGVtYSAhPSBOVUxMKQorCXJldC0+aWRyZWYgPSBzY2hlbWEtPmlkcmVmOworICAgIHJldC0+c3RhdGVzID0gTlVMTDsKKyAgICByZXQtPmZyZWVTdGF0ZSA9IE5VTEw7CisgICAgcmV0LT5mcmVlU3RhdGVzID0gTlVMTDsKKyAgICByZXQtPmVyck5vID0gWE1MX1JFTEFYTkdfT0s7CisgICAgcmV0dXJuIChyZXQpOworfQorCisvKioKKyAqIHhtbFJlbGF4TkdGcmVlVmFsaWRDdHh0OgorICogQGN0eHQ6ICB0aGUgc2NoZW1hIHZhbGlkYXRpb24gY29udGV4dAorICoKKyAqIEZyZWUgdGhlIHJlc291cmNlcyBhc3NvY2lhdGVkIHRvIHRoZSBzY2hlbWEgdmFsaWRhdGlvbiBjb250ZXh0CisgKi8KK3ZvaWQKK3htbFJlbGF4TkdGcmVlVmFsaWRDdHh0KHhtbFJlbGF4TkdWYWxpZEN0eHRQdHIgY3R4dCkKK3sKKyAgICBpbnQgazsKKworICAgIGlmIChjdHh0ID09IE5VTEwpCisgICAgICAgIHJldHVybjsKKyAgICBpZiAoY3R4dC0+c3RhdGVzICE9IE5VTEwpCisgICAgICAgIHhtbFJlbGF4TkdGcmVlU3RhdGVzKE5VTEwsIGN0eHQtPnN0YXRlcyk7CisgICAgaWYgKGN0eHQtPmZyZWVTdGF0ZSAhPSBOVUxMKSB7CisgICAgICAgIGZvciAoayA9IDA7IGsgPCBjdHh0LT5mcmVlU3RhdGUtPm5iU3RhdGU7IGsrKykgeworICAgICAgICAgICAgeG1sUmVsYXhOR0ZyZWVWYWxpZFN0YXRlKE5VTEwsIGN0eHQtPmZyZWVTdGF0ZS0+dGFiU3RhdGVba10pOworICAgICAgICB9CisgICAgICAgIHhtbFJlbGF4TkdGcmVlU3RhdGVzKE5VTEwsIGN0eHQtPmZyZWVTdGF0ZSk7CisgICAgfQorICAgIGlmIChjdHh0LT5mcmVlU3RhdGVzICE9IE5VTEwpIHsKKyAgICAgICAgZm9yIChrID0gMDsgayA8IGN0eHQtPmZyZWVTdGF0ZXNOcjsgaysrKSB7CisgICAgICAgICAgICB4bWxSZWxheE5HRnJlZVN0YXRlcyhOVUxMLCBjdHh0LT5mcmVlU3RhdGVzW2tdKTsKKyAgICAgICAgfQorICAgICAgICB4bWxGcmVlKGN0eHQtPmZyZWVTdGF0ZXMpOworICAgIH0KKyAgICBpZiAoY3R4dC0+ZXJyVGFiICE9IE5VTEwpCisgICAgICAgIHhtbEZyZWUoY3R4dC0+ZXJyVGFiKTsKKyAgICBpZiAoY3R4dC0+ZWxlbVRhYiAhPSBOVUxMKSB7CisgICAgICAgIHhtbFJlZ0V4ZWNDdHh0UHRyIGV4ZWM7CisKKyAgICAgICAgZXhlYyA9IHhtbFJlbGF4TkdFbGVtUG9wKGN0eHQpOworICAgICAgICB3aGlsZSAoZXhlYyAhPSBOVUxMKSB7CisgICAgICAgICAgICB4bWxSZWdGcmVlRXhlY0N0eHQoZXhlYyk7CisgICAgICAgICAgICBleGVjID0geG1sUmVsYXhOR0VsZW1Qb3AoY3R4dCk7CisgICAgICAgIH0KKyAgICAgICAgeG1sRnJlZShjdHh0LT5lbGVtVGFiKTsKKyAgICB9CisgICAgeG1sRnJlZShjdHh0KTsKK30KKworLyoqCisgKiB4bWxSZWxheE5HU2V0VmFsaWRFcnJvcnM6CisgKiBAY3R4dDogIGEgUmVsYXgtTkcgdmFsaWRhdGlvbiBjb250ZXh0CisgKiBAZXJyOiAgdGhlIGVycm9yIGZ1bmN0aW9uCisgKiBAd2FybjogdGhlIHdhcm5pbmcgZnVuY3Rpb24KKyAqIEBjdHg6IHRoZSBmdW5jdGlvbnMgY29udGV4dAorICoKKyAqIFNldCB0aGUgZXJyb3IgYW5kIHdhcm5pbmcgY2FsbGJhY2sgaW5mb3JtYXRpb25zCisgKi8KK3ZvaWQKK3htbFJlbGF4TkdTZXRWYWxpZEVycm9ycyh4bWxSZWxheE5HVmFsaWRDdHh0UHRyIGN0eHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgeG1sUmVsYXhOR1ZhbGlkaXR5RXJyb3JGdW5jIGVyciwKKyAgICAgICAgICAgICAgICAgICAgICAgICB4bWxSZWxheE5HVmFsaWRpdHlXYXJuaW5nRnVuYyB3YXJuLCB2b2lkICpjdHgpCit7CisgICAgaWYgKGN0eHQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuOworICAgIGN0eHQtPmVycm9yID0gZXJyOworICAgIGN0eHQtPndhcm5pbmcgPSB3YXJuOworICAgIGN0eHQtPnVzZXJEYXRhID0gY3R4OworICAgIGN0eHQtPnNlcnJvciA9IE5VTEw7Cit9CisKKy8qKgorICogeG1sUmVsYXhOR1NldFZhbGlkU3RydWN0dXJlZEVycm9yczoKKyAqIEBjdHh0OiAgYSBSZWxheC1ORyB2YWxpZGF0aW9uIGNvbnRleHQKKyAqIEBzZXJyb3I6ICB0aGUgc3RydWN0dXJlZCBlcnJvciBmdW5jdGlvbgorICogQGN0eDogdGhlIGZ1bmN0aW9ucyBjb250ZXh0CisgKgorICogU2V0IHRoZSBzdHJ1Y3R1cmVkIGVycm9yIGNhbGxiYWNrCisgKi8KK3ZvaWQKK3htbFJlbGF4TkdTZXRWYWxpZFN0cnVjdHVyZWRFcnJvcnMoeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0ciBjdHh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jIHNlcnJvciwgdm9pZCAqY3R4KQoreworICAgIGlmIChjdHh0ID09IE5VTEwpCisgICAgICAgIHJldHVybjsKKyAgICBjdHh0LT5zZXJyb3IgPSBzZXJyb3I7CisgICAgY3R4dC0+ZXJyb3IgPSBOVUxMOworICAgIGN0eHQtPndhcm5pbmcgPSBOVUxMOworICAgIGN0eHQtPnVzZXJEYXRhID0gY3R4OworfQorCisvKioKKyAqIHhtbFJlbGF4TkdHZXRWYWxpZEVycm9yczoKKyAqIEBjdHh0OiAgYSBSZWxheC1ORyB2YWxpZGF0aW9uIGNvbnRleHQKKyAqIEBlcnI6ICB0aGUgZXJyb3IgZnVuY3Rpb24gcmVzdWx0CisgKiBAd2FybjogdGhlIHdhcm5pbmcgZnVuY3Rpb24gcmVzdWx0CisgKiBAY3R4OiB0aGUgZnVuY3Rpb25zIGNvbnRleHQgcmVzdWx0CisgKgorICogR2V0IHRoZSBlcnJvciBhbmQgd2FybmluZyBjYWxsYmFjayBpbmZvcm1hdGlvbnMKKyAqCisgKiBSZXR1cm5zIC0xIGluIGNhc2Ugb2YgZXJyb3IgYW5kIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sUmVsYXhOR0dldFZhbGlkRXJyb3JzKHhtbFJlbGF4TkdWYWxpZEN0eHRQdHIgY3R4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICB4bWxSZWxheE5HVmFsaWRpdHlFcnJvckZ1bmMgKiBlcnIsCisgICAgICAgICAgICAgICAgICAgICAgICAgeG1sUmVsYXhOR1ZhbGlkaXR5V2FybmluZ0Z1bmMgKiB3YXJuLCB2b2lkICoqY3R4KQoreworICAgIGlmIChjdHh0ID09IE5VTEwpCisgICAgICAgIHJldHVybiAoLTEpOworICAgIGlmIChlcnIgIT0gTlVMTCkKKyAgICAgICAgKmVyciA9IGN0eHQtPmVycm9yOworICAgIGlmICh3YXJuICE9IE5VTEwpCisgICAgICAgICp3YXJuID0gY3R4dC0+d2FybmluZzsKKyAgICBpZiAoY3R4ICE9IE5VTEwpCisgICAgICAgICpjdHggPSBjdHh0LT51c2VyRGF0YTsKKyAgICByZXR1cm4gKDApOworfQorCisvKioKKyAqIHhtbFJlbGF4TkdWYWxpZGF0ZURvYzoKKyAqIEBjdHh0OiAgYSBSZWxheC1ORyB2YWxpZGF0aW9uIGNvbnRleHQKKyAqIEBkb2M6ICBhIHBhcnNlZCBkb2N1bWVudCB0cmVlCisgKgorICogVmFsaWRhdGUgYSBkb2N1bWVudCB0cmVlIGluIG1lbW9yeS4KKyAqCisgKiBSZXR1cm5zIDAgaWYgdGhlIGRvY3VtZW50IGlzIHZhbGlkLCBhIHBvc2l0aXZlIGVycm9yIGNvZGUKKyAqICAgICBudW1iZXIgb3RoZXJ3aXNlIGFuZCAtMSBpbiBjYXNlIG9mIGludGVybmFsIG9yIEFQSSBlcnJvci4KKyAqLworaW50Cit4bWxSZWxheE5HVmFsaWRhdGVEb2MoeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0ciBjdHh0LCB4bWxEb2NQdHIgZG9jKQoreworICAgIGludCByZXQ7CisKKyAgICBpZiAoKGN0eHQgPT0gTlVMTCkgfHwgKGRvYyA9PSBOVUxMKSkKKyAgICAgICAgcmV0dXJuICgtMSk7CisKKyAgICBjdHh0LT5kb2MgPSBkb2M7CisKKyAgICByZXQgPSB4bWxSZWxheE5HVmFsaWRhdGVEb2N1bWVudChjdHh0LCBkb2MpOworICAgIC8qCisgICAgICogUmVtb3ZlIGFsbCBsZWZ0IFBTVkkKKyAgICAgKi8KKyAgICB4bWxSZWxheE5HQ2xlYW5QU1ZJKCh4bWxOb2RlUHRyKSBkb2MpOworCisgICAgLyoKKyAgICAgKiBUT0RPOiBidWlsZCBlcnJvciBjb2RlcworICAgICAqLworICAgIGlmIChyZXQgPT0gLTEpCisgICAgICAgIHJldHVybiAoMSk7CisgICAgcmV0dXJuIChyZXQpOworfQorCisjZGVmaW5lIGJvdHRvbV9yZWxheG5nCisjaW5jbHVkZSAiZWxmZ2NjaGFjay5oIgorI2VuZGlmIC8qIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQgKi8KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L0hUTUwvNTM4NjcuaHRtbCBiL2xpYnhtbDIvcmVzdWx0L0hUTUwvNTM4NjcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNDkwMmFmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvSFRNTC81Mzg2Ny5odG1sCkBAIC0wLDAgKzEsNzAgQEAKKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy1odG1sNDAvbG9vc2UuZHRkIj4KKzxodG1sPgorPGhlYWQ+Cis8c3R5bGU+CisuLi4uLi4uCisuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KKy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgorLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCisuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KKy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgorLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCisuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KKy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgorLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCisuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KKy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgorLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCisuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KKy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgorLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCisuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KKy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgorLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCisuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KKy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgorLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCisuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KKy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgorLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCisuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KKy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgorLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCisuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KKy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgorLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCisuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KKy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgorLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCisuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KKy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgorLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCisuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KKy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgorLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCisuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KKy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgorLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCisuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KKy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgorLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCisuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KKy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgorLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCisuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KKy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgorLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCisuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KKy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgorLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCisuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KKy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgorLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCisuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KKy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgorLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCisuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KKy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgorPC9zdHlsZT4KKzwvaGVhZD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L0hUTUwvNTM4NjcuaHRtbC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9IVE1MLzUzODY3Lmh0bWwuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9IVE1MLzUzODY3Lmh0bWwuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9IVE1MLzUzODY3Lmh0bWwuc2F4IGIvbGlieG1sMi9yZXN1bHQvSFRNTC81Mzg2Ny5odG1sLnNheApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MWE5ZjE1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvSFRNTC81Mzg2Ny5odG1sLnNheApAQCAtMCwwICsxLDI2IEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5zdGFydEVsZW1lbnQoaHRtbCkKK1NBWC5pZ25vcmFibGVXaGl0ZXNwYWNlKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudChoZWFkKQorU0FYLmlnbm9yYWJsZVdoaXRlc3BhY2UoCissIDEpCitTQVguc3RhcnRFbGVtZW50KHN0eWxlKQorU0FYLmNkYXRhKAorLi4uLi4uLgorLi4uLi4uLi4uLi4uLi4uLi4uLi4uLCAxMDAwKQorU0FYLmNkYXRhKC4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiwgMTAwMCkKK1NBWC5jZGF0YSguLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4sIDEwMDApCitTQVguY2RhdGEoLi4uLi4uLi4uLi4uLi4uLgorLi4uLi4uLi4uLi4uLiwgOTc3KQorU0FYLmVuZEVsZW1lbnQoc3R5bGUpCitTQVguaWdub3JhYmxlV2hpdGVzcGFjZSgKKywgMSkKK1NBWC5lbmRFbGVtZW50KGhlYWQpCitTQVguaWdub3JhYmxlV2hpdGVzcGFjZSgKKywgMSkKK1NBWC5lbmRFbGVtZW50KGh0bWwpCitTQVguaWdub3JhYmxlV2hpdGVzcGFjZSgKKywgMSkKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9IVE1ML0Rvd24uaHRtbCBiL2xpYnhtbDIvcmVzdWx0L0hUTUwvRG93bi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg0ODkwMzMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9IVE1ML0Rvd24uaHRtbApAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtaHRtbDQwL2xvb3NlLmR0ZCI+Cis8aHRtbD4KKzxoZWFkPgorICA8dGl0bGU+VGhpcyBzZXJ2aWNlIGlzIHRlbXBvcmFyeSBkb3duPC90aXRsZT4KKzwvaGVhZD4KKworPGJvZHkgYmdjb2xvcj0iI0ZGRkZGRiI+Cis8aDEgYWxpZ249ImNlbnRlciI+U29ycnksIHRoaXMgc2VydmljZSBpcyB0ZW1wb3JhcnkgZG93bjwvaDE+CitXZSBhcmUgZG9pbmcgb3VyIGJlc3QgdG8gZ2V0IGl0IGJhY2sgb24tbGluZSwKKworPHA+VGhlIFczQyBzeXN0ZW0gYWRtaW5pc3RyYXRvcnM8L3A+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9IVE1ML0Rvd24uaHRtbC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9IVE1ML0Rvd24uaHRtbC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L0hUTUwvRG93bi5odG1sLmVycgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvSFRNTC9Eb3duLmh0bWwuc2F4IGIvbGlieG1sMi9yZXN1bHQvSFRNTC9Eb3duLmh0bWwuc2F4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMyM2MzMzIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9IVE1ML0Rvd24uaHRtbC5zYXgKQEAgLTAsMCArMSwzNyBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguc3RhcnRFbGVtZW50KGh0bWwpCitTQVguaWdub3JhYmxlV2hpdGVzcGFjZSgKKywgMSkKK1NBWC5zdGFydEVsZW1lbnQoaGVhZCkKK1NBWC5pZ25vcmFibGVXaGl0ZXNwYWNlKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHRpdGxlKQorU0FYLmNoYXJhY3RlcnMoVGhpcyBzZXJ2aWNlIGlzIHRlbXBvcmFyeSBkb3duLCAzMCkKK1NBWC5lbmRFbGVtZW50KHRpdGxlKQorU0FYLmlnbm9yYWJsZVdoaXRlc3BhY2UoCissIDEpCitTQVguZW5kRWxlbWVudChoZWFkKQorU0FYLmlnbm9yYWJsZVdoaXRlc3BhY2UoCisKKywgMikKK1NBWC5zdGFydEVsZW1lbnQoYm9keSwgYmdjb2xvcj0nI0ZGRkZGRicpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5zdGFydEVsZW1lbnQoaDEsIGFsaWduPSdjZW50ZXInKQorU0FYLmNoYXJhY3RlcnMoU29ycnksIHRoaXMgc2VydmljZSBpcyB0ZW1wb3JhLCAzNykKK1NBWC5lbmRFbGVtZW50KGgxKQorU0FYLmNoYXJhY3RlcnMoCitXZSBhcmUgZG9pbmcgb3VyIGJlc3QgdG8gZ2V0ICwgNDgpCitTQVguc3RhcnRFbGVtZW50KHApCitTQVguY2hhcmFjdGVycyhUaGUgVzNDIHN5c3RlbSBhZG1pbmlzdHJhdG9ycywgMjkpCitTQVguZW5kRWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguZW5kRWxlbWVudChib2R5KQorU0FYLmlnbm9yYWJsZVdoaXRlc3BhY2UoCissIDEpCitTQVguZW5kRWxlbWVudChodG1sKQorU0FYLmlnbm9yYWJsZVdoaXRlc3BhY2UoCissIDEpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvSFRNTC9hdHRyZW50cy5odG1sIGIvbGlieG1sMi9yZXN1bHQvSFRNTC9hdHRyZW50cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY3ZmVhYTYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9IVE1ML2F0dHJlbnRzLmh0bWwKQEAgLTAsMCArMSw2IEBACis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtaHRtbDQwL2xvb3NlLmR0ZCI+Cis8aHRtbD4NCis8Ym9keSBiZ2NvbG9yPSIjRkZGRkZGIj4NCisgICAgICAgICAgICAgICAgPGEgaHJlZj0ibWFpbHRvOmthdGhlcmluZUBjYmZhbmMub3JnLHdlYnNpdGVAYmlzLmRvYy5nb3Y/c3ViamVjdD1Tb3V0aCUyMFNhbiUyMEZyYW5jaXNjbyUyMEJJUyUyMFNlbWluYXIlMjAtJTIwT2N0b2JlciUyMDE2dGgiPjwvYT48YnI+DQorPC9ib2R5Pg0KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L0hUTUwvYXR0cmVudHMuaHRtbC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9IVE1ML2F0dHJlbnRzLmh0bWwuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9IVE1ML2F0dHJlbnRzLmh0bWwuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9IVE1ML2F0dHJlbnRzLmh0bWwuc2F4IGIvbGlieG1sMi9yZXN1bHQvSFRNTC9hdHRyZW50cy5odG1sLnNheApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMWNmYjQyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvSFRNTC9hdHRyZW50cy5odG1sLnNheApAQCAtMCwwICsxLDIxIEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5zdGFydEVsZW1lbnQoaHRtbCkKK1NBWC5pZ25vcmFibGVXaGl0ZXNwYWNlKA0KKywgMikKK1NBWC5zdGFydEVsZW1lbnQoYm9keSwgYmdjb2xvcj0nI0ZGRkZGRicpCitTQVguY2hhcmFjdGVycygNCisgICAgICAgICAgICAgICAgLCAxOCkKK1NBWC5zdGFydEVsZW1lbnQoYSwgaHJlZj0nbWFpbHRvOmthdGhlcmluZUBjYmZhbmMub3JnLHdlYnNpdGVAYmlzLmRvYy5nb3Y/c3ViamVjdD1Tb3V0aCBTYW4gRnJhbmNpc2NvIEJJUyBTZW1pbmFyIC0gT2N0b2JlciAxNnRoJykKK1NBWC5lbmRFbGVtZW50KGEpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguY2hhcmFjdGVycygNCissIDIpCitTQVguZW5kRWxlbWVudChib2R5KQorU0FYLmlnbm9yYWJsZVdoaXRlc3BhY2UoDQorLCAyKQorU0FYLmVuZEVsZW1lbnQoaHRtbCkKK1NBWC5pZ25vcmFibGVXaGl0ZXNwYWNlKA0KKywgMikKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9IVE1ML2F1dG9jbG9zZS5odG1sIGIvbGlieG1sMi9yZXN1bHQvSFRNTC9hdXRvY2xvc2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYWNmNGVkCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvSFRNTC9hdXRvY2xvc2UuaHRtbApAQCAtMCwwICsxLDQgQEAKKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy1odG1sNDAvbG9vc2UuZHRkIj4KKzxodG1sPjxib2R5PgorPGhyPgorPC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L0hUTUwvYXV0b2Nsb3NlLmh0bWwuZXJyIGIvbGlieG1sMi9yZXN1bHQvSFRNTC9hdXRvY2xvc2UuaHRtbC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L0hUTUwvYXV0b2Nsb3NlLmh0bWwuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9IVE1ML2F1dG9jbG9zZS5odG1sLnNheCBiL2xpYnhtbDIvcmVzdWx0L0hUTUwvYXV0b2Nsb3NlLmh0bWwuc2F4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVhNDU2MjcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9IVE1ML2F1dG9jbG9zZS5odG1sLnNheApAQCAtMCwwICsxLDExIEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5zdGFydEVsZW1lbnQoaHRtbCkKK1NBWC5zdGFydEVsZW1lbnQoYm9keSkKK1NBWC5zdGFydEVsZW1lbnQoaHIpCitTQVguZW5kRWxlbWVudChocikKK1NBWC5pZ25vcmFibGVXaGl0ZXNwYWNlKAorLCAxKQorU0FYLmVuZEVsZW1lbnQoYm9keSkKK1NBWC5lbmRFbGVtZW50KGh0bWwpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvSFRNTC9hdXRvY2xvc2UyLmh0bWwgYi9saWJ4bWwyL3Jlc3VsdC9IVE1ML2F1dG9jbG9zZTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYWM4Zjk5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvSFRNTC9hdXRvY2xvc2UyLmh0bWwKQEAgLTAsMCArMSwzIEBACis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtaHRtbDQwL2xvb3NlLmR0ZCI+Cis8aHRtbD48Ym9keT48cD50b3RvCis8L3A+PC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L0hUTUwvYXV0b2Nsb3NlMi5odG1sLmVyciBiL2xpYnhtbDIvcmVzdWx0L0hUTUwvYXV0b2Nsb3NlMi5odG1sLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvSFRNTC9hdXRvY2xvc2UyLmh0bWwuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9IVE1ML2F1dG9jbG9zZTIuaHRtbC5zYXggYi9saWJ4bWwyL3Jlc3VsdC9IVE1ML2F1dG9jbG9zZTIuaHRtbC5zYXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDFlNmFiYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L0hUTUwvYXV0b2Nsb3NlMi5odG1sLnNheApAQCAtMCwwICsxLDExIEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5zdGFydEVsZW1lbnQoaHRtbCkKK1NBWC5zdGFydEVsZW1lbnQoYm9keSkKK1NBWC5zdGFydEVsZW1lbnQocCkKK1NBWC5jaGFyYWN0ZXJzKHRvdG8KKywgNSkKK1NBWC5lbmRFbGVtZW50KHApCitTQVguZW5kRWxlbWVudChib2R5KQorU0FYLmVuZEVsZW1lbnQoaHRtbCkKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9IVE1ML2F1dG9jbG9zZTMuaHRtbCBiL2xpYnhtbDIvcmVzdWx0L0hUTUwvYXV0b2Nsb3NlMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEzNDYxYWEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9IVE1ML2F1dG9jbG9zZTMuaHRtbApAQCAtMCwwICsxLDcgQEAKKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy1odG1sNDAvbG9vc2UuZHRkIj4KKzxodG1sPjxib2R5Pjx1bD4KKzxsaT5pdGVtIDEKKzwvbGk+Cis8bGk+aXRlbSAyCis8L2xpPgorPC91bD48L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvSFRNTC9hdXRvY2xvc2UzLmh0bWwuZXJyIGIvbGlieG1sMi9yZXN1bHQvSFRNTC9hdXRvY2xvc2UzLmh0bWwuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9IVE1ML2F1dG9jbG9zZTMuaHRtbC5lcnIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L0hUTUwvYXV0b2Nsb3NlMy5odG1sLnNheCBiL2xpYnhtbDIvcmVzdWx0L0hUTUwvYXV0b2Nsb3NlMy5odG1sLnNheApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNWUwNmVhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvSFRNTC9hdXRvY2xvc2UzLmh0bWwuc2F4CkBAIC0wLDAgKzEsMTkgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLnN0YXJ0RWxlbWVudChodG1sKQorU0FYLnN0YXJ0RWxlbWVudChib2R5KQorU0FYLnN0YXJ0RWxlbWVudCh1bCkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudChsaSkKK1NBWC5jaGFyYWN0ZXJzKGl0ZW0gMQorLCA3KQorU0FYLmVuZEVsZW1lbnQobGkpCitTQVguc3RhcnRFbGVtZW50KGxpKQorU0FYLmNoYXJhY3RlcnMoaXRlbSAyCissIDcpCitTQVguZW5kRWxlbWVudChsaSkKK1NBWC5lbmRFbGVtZW50KHVsKQorU0FYLmVuZEVsZW1lbnQoYm9keSkKK1NBWC5lbmRFbGVtZW50KGh0bWwpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvSFRNTC9jZl8xMjguaHRtbCBiL2xpYnhtbDIvcmVzdWx0L0hUTUwvY2ZfMTI4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTIyNjFlYQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L0hUTUwvY2ZfMTI4Lmh0bWwKQEAgLTAsMCArMSwyNCBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLWh0bWw0MC9zdHJpY3QuZHRkIj4KKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+Z25vbWUteG1sIHB1c2ggbW9kZSBidWc8L3RpdGxlPgorPC9oZWFkPgorPGJvZHk+CisKKzx0YWJsZSBib3JkZXI9IjQiPgorICA8dHI+CisgICAgPHRkIGJnY29sb3I9IndoaXRlIj4KKwlGb28xCisJPHRhYmxlIGJvcmRlcj0iNCI+CisJICA8dHI+CisJICAgIDx0ZD5Gb28yPHA+PC9wPgorPHA+PC9wPgorPC90ZD4KKzwvdHI+Cis8L3RhYmxlPgorICAgIDwvdGQ+CisgICAgPHRkIGJnY29sb3I9ImJsdWUiPkZvbzM8L3RkPgorICAgPC90cj4KKyAgPC90YWJsZT4KKyAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvSFRNTC9jZl8xMjguaHRtbC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9IVE1ML2NmXzEyOC5odG1sLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvSFRNTC9jZl8xMjguaHRtbC5lcnIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L0hUTUwvY2ZfMTI4Lmh0bWwuc2F4IGIvbGlieG1sMi9yZXN1bHQvSFRNTC9jZl8xMjguaHRtbC5zYXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGY2NmE0MgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L0hUTUwvY2ZfMTI4Lmh0bWwuc2F4CkBAIC0wLDAgKzEsNjkgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLmludGVybmFsU3Vic2V0KEhUTUwsIC0vL1czQy8vRFREIEhUTUwgNC4wIFRyYW5zaXRpb25hbC8vRU4sIGh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy1odG1sNDAvc3RyaWN0LmR0ZCkKK1NBWC5zdGFydEVsZW1lbnQoaHRtbCkKK1NBWC5pZ25vcmFibGVXaGl0ZXNwYWNlKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudChoZWFkKQorU0FYLmlnbm9yYWJsZVdoaXRlc3BhY2UoCissIDEpCitTQVguc3RhcnRFbGVtZW50KHRpdGxlKQorU0FYLmNoYXJhY3RlcnMoZ25vbWUteG1sIHB1c2ggbW9kZSBidWcsIDIzKQorU0FYLmVuZEVsZW1lbnQodGl0bGUpCitTQVguaWdub3JhYmxlV2hpdGVzcGFjZSgKKywgMSkKK1NBWC5lbmRFbGVtZW50KGhlYWQpCitTQVguaWdub3JhYmxlV2hpdGVzcGFjZSgKKywgMSkKK1NBWC5zdGFydEVsZW1lbnQoYm9keSkKK1NBWC5jaGFyYWN0ZXJzKAorCissIDIpCitTQVguc3RhcnRFbGVtZW50KHRhYmxlLCBib3JkZXI9JzQnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQodHIpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHRkLCBiZ2NvbG9yPSd3aGl0ZScpCitTQVguY2hhcmFjdGVycygKKwlGb28xCisJLCA4KQorU0FYLnN0YXJ0RWxlbWVudCh0YWJsZSwgYm9yZGVyPSc0JykKK1NBWC5jaGFyYWN0ZXJzKAorCSAgLCA0KQorU0FYLnN0YXJ0RWxlbWVudCh0cikKK1NBWC5jaGFyYWN0ZXJzKAorCSAgICAsIDYpCitTQVguc3RhcnRFbGVtZW50KHRkKQorU0FYLmNoYXJhY3RlcnMoRm9vMiwgNCkKK1NBWC5zdGFydEVsZW1lbnQocCkKK1NBWC5lbmRFbGVtZW50KHApCitTQVguc3RhcnRFbGVtZW50KHApCitTQVguZW5kRWxlbWVudChwKQorU0FYLmVuZEVsZW1lbnQodGQpCitTQVguZW5kRWxlbWVudCh0cikKK1NBWC5lbmRFbGVtZW50KHRhYmxlKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLmVuZEVsZW1lbnQodGQpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHRkLCBiZ2NvbG9yPSdibHVlJykKK1NBWC5jaGFyYWN0ZXJzKEZvbzMsIDQpCitTQVguZW5kRWxlbWVudCh0ZCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgLCA0KQorU0FYLmVuZEVsZW1lbnQodHIpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnQodGFibGUpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnQoYm9keSkKK1NBWC5pZ25vcmFibGVXaGl0ZXNwYWNlKAorLCAxKQorU0FYLmVuZEVsZW1lbnQoaHRtbCkKK1NBWC5pZ25vcmFibGVXaGl0ZXNwYWNlKCAgCissIDMpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvSFRNTC9kb2MyLmh0bSBiL2xpYnhtbDIvcmVzdWx0L0hUTUwvZG9jMi5odG0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGY5NTllOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L0hUTUwvZG9jMi5odG0KQEAgLTAsMCArMSwzMCBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwvL0VOIj4KKzwhLS0gc2F2ZWQgZnJvbSB1cmw9KDAwMTYpaHR0cDovL2ludHJhbmV0LyAtLT48IS0tIEJFR0lOIE5hdmlzY29wZSBKYXZhc2NyaXB0IC0tPjxodG1sPgorPGhlYWQ+Cis8dGl0bGU+V2VsY29tZSB0byBDb3Blcm5pYy5jb208L3RpdGxlPgorPHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCI+CisgICAgICAgICAgTlNfQWN0dWFsT3Blbj13aW5kb3cub3BlbjsKKyAgICAgICAgICBmdW5jdGlvbiBOU19OdWxsV2luZG93KCl7dGhpcy53aW5kb3c7fQorICAgICAgICAgIGZ1bmN0aW9uIE5TX05ld09wZW4odXJsLG5hbSxhdHIpe3JldHVybihuZXcgTlNfTnVsbFdpbmRvdygpKTt9CisgICAgICAgICAgd2luZG93Lm9wZW49TlNfTmV3T3BlbjsKKzwvc2NyaXB0PgorPCEtLSBFTkQgTmF2aXNjb3BlIEphdmFzY3JpcHQgLS0+PCEtLSBzYXZlZCBmcm9tIHVybD0oMDAyNylodHRwOi8vd3d3LmFnZW50cy10ZWNoLmNvbS8gLS0+Cis8bWV0YSBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9aXNvLTg4NTktMSIgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIj4KKzxtZXRhIGNvbnRlbnQ9IkNvcGVybmljLmNvbSBJbmMuIGRldmVsb3BzIGlubm92YXRpdmUgYWdlbnQgdGVjaG5vbG9neSBzb2x1dGlvbnMgdG8gZWZmaWNpZW50bHkgYWNjZXNzIGFuZCBtYW5hZ2UgdGhlIG92ZXJ3aGVsbWluZyBxdWFudGl0eSBvZiBpbmZvcm1hdGlvbiBhdmFpbGFibGUgb24gdGhlIEludGVybmV0IGFuZCBpbnRyYW5ldHMuIiBuYW1lPSJERVNDUklQVElPTiI+Cis8bWV0YSBjb250ZW50PSJhZ2VudCx0ZWNobm9sb2d5LGludHJhbmV0LGV4dHJhbmV0LG1hbmFnZW1lbnQsZmlsdGVyaW5nLHJhbmtpbmcsc29sdXRpb24sc2VydmljZSxpbnRlbGxpZ2VudCxpbnRlbGxpZ2VuY2UsY2xpZW50LHNlcnZlcixhcmNoaXRlY3R1cmUsZGV2ZWxvcGVyLGRldmVsb3BtZW50LGluZm9ybWF0aW9uLHRlbGVjb21tdW5pY2F0aW9uLGFubm91bmNlbWVudCxwcmVzcyxwcm9kdWN0LHByb2ZpbGUsY29udGFjdCxtdWx0aS1hZ2VudCxtZXRhLXNlYXJjaCxtZXRhc2VhcmNoLG11bHRpLXRocmVhZCxtb2JpbGUsd2lyZWxlc3Msc2hvcHBpbmcscm9ib3QsUENTLENvcGVybmljLGVuZ2luZSx0b29sa2l0LENESyxFREsiIG5hbWU9IktFWVdPUkRTIj4KKzxtZXRhIGNvbnRlbnQ9Ik1TSFRNTCA1LjAwLjMxMDMuMTAwMCIgbmFtZT0iR0VORVJBVE9SIj4KKzwvaGVhZD4KKzxmcmFtZXNldCBib3JkZXI9ImZhbHNlIiBjb2xzPSIxNzIsKiIgZnJhbWVib3JkZXI9IjAiIGZyYW1lc3BhY2luZz0iMCI+Cis8ZnJhbWUgbWFyZ2luaGVpZ2h0PSIwIiBtYXJnaW53aWR0aD0iMCIgbmFtZT0ibGVmdCIgbm9yZXNpemUgc2Nyb2xsaW5nPSJubyIgc3JjPSJkb2MyX2ZpbGVzL3NpZGUuaHRtIiB0YXJnZXQ9InJ0b3AiPgorPGZyYW1lc2V0IHJvd3M9IjQzLCoiPgorPGZyYW1lIG1hcmdpbmhlaWdodD0iMCIgbWFyZ2lud2lkdGg9IjAiIG5hbWU9InJ0b3AiIG5vcmVzaXplIHNjcm9sbGluZz0ibm8iIHNyYz0iZG9jMl9maWxlcy90b3AuaHRtIiB0YXJnZXQ9InJib3R0b20iPgorPGZyYW1lIG5hbWU9InJib3R0b20iIG5vcmVzaXplIHNyYz0iZG9jMl9maWxlcy9jb250ZW50cy5odG0iIHRhcmdldD0iX3RvcCI+Cis8L2ZyYW1lc2V0PgorPG5vZnJhbWVzPgorCisgIDxib2R5IGJnY29sb3I9IiNGRkZGRkYiIHRleHQ9IiMwMDAwMDAiIGxpbms9IiMwMDAwODAiIHZsaW5rPSIjMDAwMDgwIiBhbGluaz0iIzAwMDA4MCIgdG9wbWFyZ2luPSIwIiBsZWZ0bWFyZ2luPSIwIiBtYXJnaW5oZWlnaHQ9IjAiIG1hcmdpbndpZHRoPSIwIj4KKyAgPHA+VGhpcyBwYWdlIHVzZXMgZnJhbWVzLCBidXQgeW91ciBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCB0aGVtLjwvcD4KKyAgPC9ib2R5PgorICA8L25vZnJhbWVzPgorPC9mcmFtZXNldD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L0hUTUwvZG9jMi5odG0uZXJyIGIvbGlieG1sMi9yZXN1bHQvSFRNTC9kb2MyLmh0bS5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWFjMDljZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L0hUTUwvZG9jMi5odG0uZXJyCkBAIC0wLDAgKzEsMyBAQAorLi90ZXN0L0hUTUwvZG9jMi5odG06MTA6IEhUTUwgcGFyc2VyIGVycm9yIDogTWlzcGxhY2VkIERPQ1RZUEUgZGVjbGFyYXRpb24KKzwhLS0gRU5EIE5hdmlzY29wZSBKYXZhc2NyaXB0IC0tPjwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAgVHJhCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9IVE1ML2RvYzIuaHRtLnNheCBiL2xpYnhtbDIvcmVzdWx0L0hUTUwvZG9jMi5odG0uc2F4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdjYmJjNTEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9IVE1ML2RvYzIuaHRtLnNheApAQCAtMCwwICsxLDY5IEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5pbnRlcm5hbFN1YnNldChIVE1MLCAtLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwvL0VOLCApCitTQVguY29tbWVudCggc2F2ZWQgZnJvbSB1cmw9KDAwMTYpaHR0cDovL2ludHJhbmV0LyApCitTQVguY29tbWVudCggQkVHSU4gTmF2aXNjb3BlIEphdmFzY3JpcHQgKQorU0FYLnN0YXJ0RWxlbWVudChodG1sKQorU0FYLnN0YXJ0RWxlbWVudChoZWFkKQorU0FYLnN0YXJ0RWxlbWVudCh0aXRsZSkKK1NBWC5jaGFyYWN0ZXJzKFdlbGNvbWUgdG8gQ29wZXJuaWMuY29tLCAyMykKK1NBWC5lbmRFbGVtZW50KHRpdGxlKQorU0FYLmlnbm9yYWJsZVdoaXRlc3BhY2UoCissIDEpCitTQVguc3RhcnRFbGVtZW50KHNjcmlwdCwgbGFuZ3VhZ2U9J2phdmFzY3JpcHQnKQorU0FYLmNkYXRhKAorICAgICAgICAgIE5TX0FjdHVhbE9wZW49d2luZG8sIDE5NCkKK1NBWC5lbmRFbGVtZW50KHNjcmlwdCkKK1NBWC5pZ25vcmFibGVXaGl0ZXNwYWNlKAorLCAxKQorU0FYLmNvbW1lbnQoIEVORCBOYXZpc2NvcGUgSmF2YXNjcmlwdCApCitTQVguZXJyb3I6IE1pc3BsYWNlZCBET0NUWVBFIGRlY2xhcmF0aW9uCitTQVguaW50ZXJuYWxTdWJzZXQoSFRNTCwgLS8vVzNDLy9EVEQgSFRNTCA0LjAgVHJhbnNpdGlvbmFsLy9FTiwgKQorU0FYLmNvbW1lbnQoIHNhdmVkIGZyb20gdXJsPSgwMDI3KWh0dHA6Ly93d3cuYWdlbnRzLXRlY2guY29tLyApCitTQVguaWdub3JhYmxlV2hpdGVzcGFjZSgKKywgMSkKK1NBWC5zdGFydEVsZW1lbnQobWV0YSwgY29udGVudD0ndGV4dC9odG1sOyBjaGFyc2V0PWlzby04ODU5LTEnLCBodHRwLWVxdWl2PSdDb250ZW50LVR5cGUnKQorU0FYLmVuZEVsZW1lbnQobWV0YSkKK1NBWC5pZ25vcmFibGVXaGl0ZXNwYWNlKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudChtZXRhLCBjb250ZW50PSdDb3Blcm5pYy5jb20gSW5jLiBkZXZlbG9wcyBpbm5vdmF0aXZlIGFnZW50IHRlY2hub2xvZ3kgc29sdXRpb25zIHRvIGVmZmljaWVudGx5IGFjY2VzcyBhbmQgbWFuYWdlIHRoZSBvdmVyd2hlbG1pbmcgcXVhbnRpdHkgb2YgaW5mb3JtYXRpb24gYXZhaWxhYmxlIG9uIHRoZSBJbnRlcm5ldCBhbmQgaW50cmFuZXRzLicsIG5hbWU9J0RFU0NSSVBUSU9OJykKK1NBWC5lbmRFbGVtZW50KG1ldGEpCitTQVguaWdub3JhYmxlV2hpdGVzcGFjZSgKKywgMSkKK1NBWC5zdGFydEVsZW1lbnQobWV0YSwgY29udGVudD0nYWdlbnQsdGVjaG5vbG9neSxpbnRyYW5ldCxleHRyYW5ldCxtYW5hZ2VtZW50LGZpbHRlcmluZyxyYW5raW5nLHNvbHV0aW9uLHNlcnZpY2UsaW50ZWxsaWdlbnQsaW50ZWxsaWdlbmNlLGNsaWVudCxzZXJ2ZXIsYXJjaGl0ZWN0dXJlLGRldmVsb3BlcixkZXZlbG9wbWVudCxpbmZvcm1hdGlvbix0ZWxlY29tbXVuaWNhdGlvbixhbm5vdW5jZW1lbnQscHJlc3MscHJvZHVjdCxwcm9maWxlLGNvbnRhY3QsbXVsdGktYWdlbnQsbWV0YS1zZWFyY2gsbWV0YXNlYXJjaCxtdWx0aS10aHJlYWQsbW9iaWxlLHdpcmVsZXNzLHNob3BwaW5nLHJvYm90LFBDUyxDb3Blcm5pYyxlbmdpbmUsdG9vbGtpdCxDREssRURLJywgbmFtZT0nS0VZV09SRFMnKQorU0FYLmVuZEVsZW1lbnQobWV0YSkKK1NBWC5pZ25vcmFibGVXaGl0ZXNwYWNlKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudChtZXRhLCBjb250ZW50PSdNU0hUTUwgNS4wMC4zMTAzLjEwMDAnLCBuYW1lPSdHRU5FUkFUT1InKQorU0FYLmVuZEVsZW1lbnQobWV0YSkKK1NBWC5lbmRFbGVtZW50KGhlYWQpCitTQVguc3RhcnRFbGVtZW50KGZyYW1lc2V0LCBib3JkZXI9J2ZhbHNlJywgY29scz0nMTcyLConLCBmcmFtZWJvcmRlcj0nMCcsIGZyYW1lc3BhY2luZz0nMCcpCitTQVguc3RhcnRFbGVtZW50KGZyYW1lLCBtYXJnaW5oZWlnaHQ9JzAnLCBtYXJnaW53aWR0aD0nMCcsIG5hbWU9J2xlZnQnLCBub3Jlc2l6ZSwgc2Nyb2xsaW5nPSdubycsIHNyYz0nZG9jMl9maWxlcy9zaWRlLmh0bScsIHRhcmdldD0ncnRvcCcpCitTQVguZW5kRWxlbWVudChmcmFtZSkKK1NBWC5zdGFydEVsZW1lbnQoZnJhbWVzZXQsIHJvd3M9JzQzLConKQorU0FYLnN0YXJ0RWxlbWVudChmcmFtZSwgbWFyZ2luaGVpZ2h0PScwJywgbWFyZ2lud2lkdGg9JzAnLCBuYW1lPSdydG9wJywgbm9yZXNpemUsIHNjcm9sbGluZz0nbm8nLCBzcmM9J2RvYzJfZmlsZXMvdG9wLmh0bScsIHRhcmdldD0ncmJvdHRvbScpCitTQVguZW5kRWxlbWVudChmcmFtZSkKK1NBWC5zdGFydEVsZW1lbnQoZnJhbWUsIG5hbWU9J3Jib3R0b20nLCBub3Jlc2l6ZSwgc3JjPSdkb2MyX2ZpbGVzL2NvbnRlbnRzLmh0bScsIHRhcmdldD0nX3RvcCcpCitTQVguZW5kRWxlbWVudChmcmFtZSkKK1NBWC5lbmRFbGVtZW50KGZyYW1lc2V0KQorU0FYLnN0YXJ0RWxlbWVudChub2ZyYW1lcykKK1NBWC5jaGFyYWN0ZXJzKAorCisgICwgNCkKK1NBWC5zdGFydEVsZW1lbnQoYm9keSwgYmdjb2xvcj0nI0ZGRkZGRicsIHRleHQ9JyMwMDAwMDAnLCBsaW5rPScjMDAwMDgwJywgdmxpbms9JyMwMDAwODAnLCBhbGluaz0nIzAwMDA4MCcsIHRvcG1hcmdpbj0nMCcsIGxlZnRtYXJnaW49JzAnLCBtYXJnaW5oZWlnaHQ9JzAnLCBtYXJnaW53aWR0aD0nMCcpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoVGhpcyBwYWdlIHVzZXMgZnJhbWVzLCBidXQgeW91LCA2MSkKK1NBWC5lbmRFbGVtZW50KHApCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnQoYm9keSkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguZW5kRWxlbWVudChub2ZyYW1lcykKK1NBWC5lbmRFbGVtZW50KGZyYW1lc2V0KQorU0FYLmVuZEVsZW1lbnQoaHRtbCkKK1NBWC5pZ25vcmFibGVXaGl0ZXNwYWNlKAorLCAxKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L0hUTUwvZG9jMy5odG0gYi9saWJ4bWwyL3Jlc3VsdC9IVE1ML2RvYzMuaHRtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU5ZDVlNDQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9IVE1ML2RvYzMuaHRtCkBAIC0wLDAgKzEsNTc5IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wIFRyYW5zaXRpb25hbC8vRU4iPgorPCEtLSBzYXZlZCBmcm9tIHVybD0oMDAyNSlodHRwOi8vYnA2LmdhbWVzcXVhZC5uZXQvIC0tPjwhLS0gQkVHSU4gTmF2aXNjb3BlIEphdmFzY3JpcHQgLS0+PGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5CUDYuY29tICMxIG9ubGluZSByZXNvdXJjZSBmb3IgdGhlIEJQNiBNb2JvLi4uLjwvdGl0bGU+DQorPHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCI+DQorICAgICAgICAgIE5TX0FjdHVhbE9wZW49d2luZG93Lm9wZW47DQorICAgICAgICAgIGZ1bmN0aW9uIE5TX051bGxXaW5kb3coKXt0aGlzLndpbmRvdzt9DQorICAgICAgICAgIGZ1bmN0aW9uIE5TX05ld09wZW4odXJsLG5hbSxhdHIpe3JldHVybihuZXcgTlNfTnVsbFdpbmRvdygpKTt9DQorICAgICAgICAgIHdpbmRvdy5vcGVuPU5TX05ld09wZW47DQorPC9zY3JpcHQ+DQorPCEtLSBFTkQgTmF2aXNjb3BlIEphdmFzY3JpcHQgLS0+PCEtLWxhc3QgbW9kaWZpZWQgb24gVHVlc2RheSwgRmVicnVhcnkgMjIsIDIwMDAgMTE6NDcgUE0gLS0+DQorPG1ldGEgY29udGVudD0idGV4dC9odG1sO0NIQVJTRVQ9aXNvLTg4NTktMSIgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIj4NCis8bWV0YSBjb250ZW50PSJUaW0iIG5hbWU9IkF1dGhvciI+DQorPHN0eWxlIHR5cGU9InRleHQvY3NzIj5BLm5hdiB7DQorCUNPTE9SOiAjMDAzMzk5OyBURVhULURFQ09SQVRJT046IG5vbmUNCit9DQorQS5uYXY6aG92ZXIgew0KKwlDT0xPUjogIzMzNjZjYzsgVEVYVC1ERUNPUkFUSU9OOiB1bmRlcmxpbmUNCit9DQorPC9zdHlsZT4NCisNCis8c2NyaXB0IGxhbmd1YWdlPSJKYXZhU2NyaXB0Ij4KKzwhLS0gSWRlYSBieTogIE5pYyBXb2xmZSAoTmljQFRpbWVsYXBzZVByb2R1Y3Rpb25zLmNvbSkgLS0+Cis8IS0tIFdlYiBVUkw6ICBodHRwOi8vZmluZWxpbmUueHMubXcgLS0+CisKKzwhLS0gVGhpcyBzY3JpcHQgYW5kIG1hbnkgbW9yZSBhcmUgYXZhaWxhYmxlIGZyZWUgb25saW5lIGF0IC0tPgorPCEtLSBUaGUgSmF2YVNjcmlwdCBTb3VyY2UhISBodHRwOi8vamF2YXNjcmlwdC5pbnRlcm5ldC5jb20gLS0+CisKKzwhLS0gQmVnaW4KK2Z1bmN0aW9uIHBvcFVwKFVSTCkgeworZGF5ID0gbmV3IERhdGUoKTsKK2lkID0gZGF5LmdldFRpbWUoKTsKK2V2YWwoInBhZ2UiICsgaWQgKyAiID0gd2luZG93Lm9wZW4oVVJMLCAnIiArIGlkICsgIicsICd0b29sYmFycz0wLCBzY3JvbGxiYXJzPTAsIGxvY2F0aW9uPTAsIHN0YXR1c2JhcnM9MCwgbWVudWJhcnM9MCwgcmVzaXphYmxlPTAsIHdpZHRoPTE0NSwgaGVpZ2h0PTI1MCcpOyIpOworfQorLy8gRW5kIC0tPgorPC9zY3JpcHQ+DQorDQorPG1ldGEgY29udGVudD0iTVNIVE1MIDUuMDAuMzEwMy4xMDAwIiBuYW1lPSJHRU5FUkFUT1IiPgorPC9oZWFkPg0KKzxib2R5IGFsaW5rPSJyZWQiIGJnY29sb3I9ImJsYWNrIiBsaW5rPSJyZWQiIHRleHQ9IndoaXRlIiB2bGluaz0icmVkIj4NCis8cD4NCis8L3A+Cis8ZGl2IGFsaWduPSJjZW50ZXIiPg0KKzx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjgwJSI+DQorICA8dGJvZHk+DQorICA8dHI+DQorICAgIDx0ZCB2YWxpZ249InRvcCIgd2lkdGg9IjMxIj48YSBocmVmPSJodHRwOi8vYnA2LmdhbWVzcXVhZC5uZXQvIj48aW1nIGFsaWduPSJib3R0b20iIGJvcmRlcj0iMCIgaGVpZ2h0PSI3NCIgc3JjPSJkb2MzX2ZpbGVzL2xvZ28uZ2lmIiB3aWR0aD0iMjUyIj48L2E+PC90ZD4NCisgICAgPHRkIGFsaWduPSJsZWZ0IiBiZ2NvbG9yPSIjMDAwMDAwIj4KKzxpbWcgaGVpZ2h0PSIxNSIgc3JjPSJkb2MzX2ZpbGVzL3NwYWNlci5naWYiIHdpZHRoPSIxNSI+PCEtLSBTVEFSVCBHQU1FU1FVQUQuTkVUIElGUkFNRSBSSUNIIE1FRElBIENPREUgLS0+IDwhLS0gqSAyMDAwIEdhbWVTcXVhZC5uZXQgQWxsIFJpZ2h0cyBSZXNlcnZlZC4gLS0+PGlmcmFtZSBib3JkZXI9IjAiIGZyYW1lYm9yZGVyPSJubyIgaGVpZ2h0PSI2MCIgbWFyZ2luaGVpZ2h0PSIwIiBtYXJnaW53aWR0aD0iMCIgc2Nyb2xsaW5nPSJubyIgc3JjPSJkb2MzX2ZpbGVzL2FkY3ljbGUuaHRtIiB3aWR0aD0iNDY4Ij4KKzxhIGhyZWY9Imh0dHA6Ly9hZHMuZ2FtZXNxdWFkLm5ldC9hZGRjbGljay5leGUvYWRjbGljay5jZ2k/UkVHSU9OPWdhbWUlN0N0ZWNoJTdDZW50JmFtcDtpZD0xIiB0YXJnZXQ9Il90b3AiPjxpbWcgc3JjPSJodHRwOi8vYWRzLmdhbWVzcXVhZC5uZXQvYWRkY2xpY2suZXhlL2FkY3ljbGUuY2dpP2dyb3VwPTUyJmFtcDttZWRpYT0xJmFtcDtpZD0xIiB3aWR0aD0iNDY4IiBoZWlnaHQ9IjYwIiBib3JkZXI9IjAiIGFsdD0iR1NOIFJPUyBBZCI+PC9hPgorPC9pZnJhbWU+PCEtLSBFTkQgR0FNRVNRVUFELk5FVCBJRlJBTUUgUklDSCBNRURJQSBDT0RFIC0tPjxicj48aW1nIGhlaWdodD0iMTUiIHNyYz0iZG9jM19maWxlcy9zcGFjZXIuZ2lmIiB3aWR0aD0iNDAwIj4gPC90ZD4KKzwvdHI+DQorICA8dHI+DQorICAgIDx0ZCBiZ2NvbG9yPSIjMDAzMzk5IiBjb2xzcGFuPSIyIj4NCisgICAgICA8cCBhbGlnbj0icmlnaHQiPjxpbWcgYWxpZ249InJpZ2h0IiBib3JkZXI9IjAiIGhlaWdodD0iMTgiIGhzcGFjZT0iMCIgc3JjPSJkb2MzX2ZpbGVzL3RyY29ybmVyLmdpZiIgd2lkdGg9IjIwIj48aW1nIGFsaWduPSJsZWZ0IiBib3JkZXI9IjAiIGhlaWdodD0iMTgiIGhzcGFjZT0iMCIgc3JjPSJkb2MzX2ZpbGVzL3RsY29ybmVyLmdpZiIgd2lkdGg9IjIwIj48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSIyIj5Nb25kYXksIEp1bHkgMzFzdCwgMjAwMDwvZm9udD4gPC9wPgorPC90ZD4KKzwvdHI+DQorICA8dHI+DQorICAgIDx0ZCBjb2xzcGFuPSIyIj4NCisgICAgICA8dGFibGUgYmdjb2xvcj0iIzAwMzM5OSIgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjQiIHdpZHRoPSIxMDAlIj48dGJvZHk+DQorICAgICAgICA8dHI+DQorICAgICAgICAgIDx0ZCBiZ2NvbG9yPSIjNjY2NjY2IiB3aWR0aD0iMTAwJSI+DQorICAgICAgICAgICAgPGNlbnRlcj4NCisgICAgICAgICAgICA8cD4NCisgICAgICAgICAgICA8L3A+Cis8dGFibGUgYmdjb2xvcj0iYmxhY2siIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIxIiB3aWR0aD0iMTAwJSI+DQorICAgICAgICAgICAgICA8dGJvZHk+DQorICAgICAgICAgICAgICA8dHI+DQorICAgICAgICAgICAgICAgIDx0ZCBiYWNrZ3JvdW5kPSJkb2MzX2ZpbGVzL2hzY2FuLmdpZiIgYmdjb2xvcj0iIzY2NjY2NiIgd2lkdGg9IjEwMCUiPgorPGltZyBoZWlnaHQ9IjEiIHNyYz0iZG9jM19maWxlcy9zcGFjZXIuZ2lmIiB3aWR0aD0iNzM4Ij48YnI+DQorICAgICAgICAgICAgICAgICAgPGNlbnRlcj4NCisgICAgICAgICAgICAgICAgICA8dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSI5MSUiPg0KKyAgICAgICAgICAgICAgICAgICAgPHRib2R5Pg0KKyAgICAgICAgICAgICAgICAgICAgPHRyPg0KKyAgICAgICAgICAgICAgICAgICAgICA8dGQgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNSUiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgIDxwIGFsaWduPSJjZW50ZXIiPjxhIGhyZWY9Imh0dHA6Ly9icDYuZ2FtZXNxdWFkLm5ldC9zcGVjcy5waHRtbCI+PGltZyBhbGlnbj0iYm90dG9tIiBhbHQ9IkFiaXQgQlA2IE1vdGhlcmJvYXJkIHNwZWNpZmljYXRpb24gYW5kIGluZm9ybWF0aW9uLiIgYm9yZGVyPSIwIiBoZWlnaHQ9IjQ1IiBzcmM9ImRvYzNfZmlsZXMvYnA2aWNvbi5naWYiIHdpZHRoPSI3MCI+PC9hPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9IjEiPjxicj48L2ZvbnQ+PGEgaHJlZj0iaHR0cDovL2JwNi5nYW1lc3F1YWQubmV0L3NwZWNzLnBodG1sIj48Zm9udCBjb2xvcj0id2hpdGUiIGZhY2U9IlZlcmRhbmEiIHNpemU9IjEiPkJQNiBTcGVjczwvZm9udD48L2E+IA0KKyAgICAgICAgICAgICAgICAgICAgICA8L3A+Cis8L3RkPg0KKyAgICAgICAgICAgICAgICAgICAgICA8dGQgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNSUiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgIDxwIGFsaWduPSJjZW50ZXIiPjxhIGhyZWY9Imh0dHA6Ly9icDYuZ2FtZXNxdWFkLm5ldC9ieGNvb2wucGh0bWwiPjxpbWcgYWxpZ249ImJvdHRvbSIgYWx0PSJIb3cgdG8gY29vbCB0aGUgQlggQ2hpcHNldCBvbiB5b3VyIEJQNi4iIGJvcmRlcj0iMCIgaGVpZ2h0PSI0NSIgc3JjPSJkb2MzX2ZpbGVzL2J4Y29vbC5naWYiIHdpZHRoPSI3MCI+PC9hPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9IjEiPjxicj48L2ZvbnQ+PGEgaHJlZj0iaHR0cDovL2JwNi5nYW1lc3F1YWQubmV0L3VjLnBodG1sIj48Zm9udCBjb2xvcj0id2hpdGUiIGZhY2U9IlZlcmRhbmEiIHNpemU9IjEiPkJYIENvb2xpbmc8L2ZvbnQ+PC9hPiANCisgICAgICAgICAgICAgICAgICAgICAgICA8L3A+Cis8L3RkPg0KKyAgICAgICAgICAgICAgICAgICAgICA8dGQgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNSUiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgIDxwIGFsaWduPSJjZW50ZXIiPjxhIGhyZWY9Imh0dHA6Ly9icDYuZ2FtZXNxdWFkLm5ldC9jb250ZXN0LnBodG1sIj48aW1nIGFsaWduPSJib3R0b20iIGFsdD0iVGhlIFU7dGltYXRlIEdhbWluZyBDb250ZXN0IC0gQ29taW5nIFNvb24hIiBib3JkZXI9IjAiIGhlaWdodD0iNDUiIHNyYz0iZG9jM19maWxlcy91Z21jb250ZXN0LmdpZiIgd2lkdGg9IjcwIj48L2E+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iMSI+PGJyPjwvZm9udD48YSBocmVmPSJodHRwOi8vYnA2LmdhbWVzcXVhZC5uZXQvY29udGVzdC5waHRtbCI+PGZvbnQgY29sb3I9IndoaXRlIiBmYWNlPSJWZXJkYW5hIiBzaXplPSIxIj5VR00gQ29udGVzdDwvZm9udD48L2E+IA0KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KKzwvdGQ+DQorICAgICAgICAgICAgICAgICAgICAgIDx0ZCB2YWxpZ249InRvcCIgd2lkdGg9IjE1JSI+DQorICAgICAgICAgICAgICAgICAgICAgICAgPHAgYWxpZ249ImNlbnRlciI+PGEgaHJlZj0iaHR0cDovL2JwNi5nYW1lc3F1YWQubmV0L3VjLnBodG1sIj48aW1nIGFsaWduPSJib3R0b20iIGFsdD0iQ29vbGluZyAmYW1wOyBIZWF0c2luayByZXZpZXcgZm9yIHRoZSBCUDYuIiBib3JkZXI9IjAiIGhlaWdodD0iNDUiIHNyYz0iZG9jM19maWxlcy9hbHBoYS5naWYiIHdpZHRoPSI3MCI+PC9hPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9IjEiPjxicj48L2ZvbnQ+PGEgaHJlZj0iaHR0cDovL2JwNi5nYW1lc3F1YWQubmV0L3VjLnBodG1sIj48Zm9udCBjb2xvcj0id2hpdGUiIGZhY2U9IlZlcmRhbmEiIHNpemU9IjEiPkhlYXRzaW5rczwvZm9udD48L2E+IA0KKyAgICAgICAgICAgICAgICAgICAgICA8L3A+Cis8L3RkPg0KKyAgICAgICAgICAgICAgICAgICAgICA8dGQgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNSUiPg0KKyAgICAgICAgICAgICAgICAgICAgICAgIDxwIGFsaWduPSJjZW50ZXIiPjxhIGhyZWY9Imh0dHA6Ly9icDYuZ2FtZXNxdWFkLm5ldC8xMDEucGh0bWwiPjxpbWcgYWxpZ249ImJvdHRvbSIgYWx0PSJCUDYgMTAxIC0gQ2xhc3MgaXMgbm93IGluIHNlc3Npb24uIFdlbGNvbWUgbmV3YmllcyEiIGJvcmRlcj0iMCIgaGVpZ2h0PSI0NSIgc3JjPSJkb2MzX2ZpbGVzL2JwNjEwMS5naWYiIHdpZHRoPSI3MCI+PC9hPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9IjEiPjxicj48L2ZvbnQ+PGEgaHJlZj0iaHR0cDovL2JwNi5nYW1lc3F1YWQubmV0LzEwMS5waHRtbCI+PGZvbnQgY29sb3I9IndoaXRlIiBmYWNlPSJWZXJkYW5hIiBzaXplPSIxIj5CUDYgMTAxPC9mb250PjwvYT4gDQorICAgICAgICAgICAgICAgICAgICAgIDwvcD4KKzwvdGQ+DQorICAgICAgICAgICAgICAgICAgICAgIDx0ZCB2YWxpZ249InRvcCIgd2lkdGg9IjE1JSI+DQorICAgICAgICAgICAgICAgICAgICAgICAgPHAgYWxpZ249ImNlbnRlciI+PGEgaHJlZj0iaHR0cDovL2JwNi5nYW1lc3F1YWQubmV0L3dpbjJrX2luc3RhbGwucGh0bWwiPjxpbWcgYWxpZ249ImJvdHRvbSIgYWx0PSJJbnN0YWxsIGd1aWRlIGZvciBpbnN0YWxsaW5nIFdpbmRvd3MgMjAwMCBvbiB0aGUgQlA2ICIgYm9yZGVyPSIwIiBoZWlnaHQ9IjQ1IiBzcmM9ImRvYzNfZmlsZXMvd2luMmtodC5naWYiIHdpZHRoPSI3MCI+PC9hPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9IjEiPjxicj48L2ZvbnQ+PGEgaHJlZj0iaHR0cDovL2JwNi5nYW1lc3F1YWQubmV0L3dpbjJrX2luc3RhbGwucGh0bWwiPjxmb250IGNvbG9yPSJ3aGl0ZSIgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iMSI+V2luMmsgSW5zdGFsbDwvZm9udD48L2E+IA0KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KKzwvdGQ+DQorICAgICAgICAgICAgICAgICAgICAgIDx0ZCB2YWxpZ249InRvcCIgd2lkdGg9IjE1JSI+DQorICAgICAgICAgICAgICAgICAgICAgICAgPHAgYWxpZ249ImNlbnRlciI+PGEgaHJlZj0iaHR0cDovL3d3dy5nZW50dXMuY29tLyI+PGltZyBhbGlnbj0iYm90dG9tIiBhbHQ9IlRha2luZyBhIGZpcnN0IGxvb2sgYXQgdGhlIEFiaXQgTGludXggcmVsZWFzZSBjYWxsZWQgIiBib3JkZXI9IjAiIGhlaWdodD0iNDUiIHNyYz0iZG9jM19maWxlcy9nZW50dXNib3guZ2lmIiB3aWR0aD0iNzAiIGdlbnR1cz48L2E+PGJyPjxhIGhyZWY9Imh0dHA6Ly93d3cuZ2VudHVzLmNvbS8iPjxmb250IGNvbG9yPSJ3aGl0ZSIgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iMSI+R2VudHVzPC9mb250PjwvYT4gDQorICAgICAgICAgICAgICAgICAgPC9wPgorPC90ZD4KKzwvdHI+Cis8L3Rib2R5PgorPC90YWJsZT4KKzwvY2VudGVyPgorPC90ZD4KKzwvdHI+Cis8L3Rib2R5PgorPC90YWJsZT4KKzwvY2VudGVyPgorPC90ZD4KKzwvdHI+Cis8L3Rib2R5PjwvdGFibGU+Cis8L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8L3RhYmxlPg0KKzx0YWJsZSBiZ2NvbG9yPSIjMDAzMzk5IiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSI2IiB3aWR0aD0iODAlIj4NCisgIDx0Ym9keT4NCisgIDx0cj4NCisgICAgPHRkIGJnY29sb3I9ImJsYWNrIiB2YWxpZ249InRvcCIgd2lkdGg9IjEwJSI+DQorICAgICAgPHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+DQorICAgICAgICA8dGJvZHk+DQorICAgICAgICA8dHI+DQorICAgICAgICAgIDx0ZCB3aWR0aD0iMTAwJSI+Cis8aW1nIGhlaWdodD0iMSIgc3JjPSJkb2MzX2ZpbGVzL3NwYWNlci5naWYiIHdpZHRoPSIxMTEiPjxicj48Yj48Zm9udCBjb2xvcj0ieWVsbG93IiBmYWNlPSJWZXJkYW5hIiBzaXplPSIyIj5SRVZJRVdTPC9mb250PjwvYj48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSIyIj48YnI+DQorICAgICAgICAgICAgPGhyIGFsaWduPSJjZW50ZXIiPg0KKyAgICAgICAgICAgIDwvZm9udD48YSBocmVmPSJodHRwOi8vYnA2LmdhbWVzcXVhZC5uZXQvYnA2cmV2aWV3cy5waHRtbCI+PGZvbnQgY29sb3I9IndoaXRlIiBmYWNlPSJWZXJkYW5hIiBzaXplPSIxIj5CUDYgUmV2aWV3czwvZm9udD48L2E+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iMSI+PGJyPjwvZm9udD48YSBocmVmPSJodHRwOi8vYnA2LmdhbWVzcXVhZC5uZXQvaDJvLnBodG1sIj48Zm9udCBjb2xvcj0id2hpdGUiIGZhY2U9IlZlcmRhbmEiIHNpemU9IjEiPkJQNiBXYXRlcmNvb2xpbmc8L2ZvbnQ+PC9hPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9IjEiPjxicj48L2ZvbnQ+PGEgaHJlZj0iaHR0cDovL2JwNi5nYW1lc3F1YWQubmV0L2J4Y29vbC5waHRtbCI+PGZvbnQgY29sb3I9IndoaXRlIiBmYWNlPSJWZXJkYW5hIiBzaXplPSIxIj5CWCBDaGlwc2V0IENvb2xpbmc8L2ZvbnQ+PC9hPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9IjEiPjxicj48L2ZvbnQ+PGEgaHJlZj0iaHR0cDovL2JwNi5nYW1lc3F1YWQubmV0L2JlbmNobWFyay5waHRtbCI+PGZvbnQgY29sb3I9IndoaXRlIiBmYWNlPSJWZXJkYW5hIiBzaXplPSIxIj5CZW5jaG1hcmtzPC9mb250PjwvYT48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSIxIj48YnI+PC9mb250PjxhIGhyZWY9Imh0dHA6Ly9icDYuZ2FtZXNxdWFkLm5ldC9icDZmc2IucGh0bWwiPjxmb250IGNvbG9yPSJ3aGl0ZSIgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iMSI+QlA2RlNCIFV0aWxpdHk8L2ZvbnQ+PC9hPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9IjEiPjxicj48L2ZvbnQ+PGEgaHJlZj0iaHR0cDovL2JwNi5nYW1lc3F1YWQubmV0L3Bvd2VybGVhcC5waHRtbCI+PGZvbnQgY29sb3I9IndoaXRlIiBmYWNlPSJWZXJkYW5hIiBzaXplPSIxIj5Qb3dlckxlYXAgTkVPIFMzNzA8L2ZvbnQ+PC9hPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9IjEiPjxicj48L2ZvbnQ+PGEgaHJlZj0iaHR0cDovL2JwNi5nYW1lc3F1YWQubmV0L3NldGkucGh0bWwiPjxmb250IGNvbG9yPSJ3aGl0ZSIgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iMSI+U0VUSSBvbiB0aGUgQlA2PC9mb250PjwvYT48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSIxIj48YnI+PC9mb250PjxhIGhyZWY9Imh0dHA6Ly9icDYuZ2FtZXNxdWFkLm5ldC9vcmJzLnBodG1sIj48Zm9udCBjb2xvcj0id2hpdGUiIGZhY2U9IlZlcmRhbmEiIHNpemU9IjEiPkdvbGRlbiBPcmJzIEk8L2ZvbnQ+PC9hPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9IjEiPjxicj48L2ZvbnQ+PGEgaHJlZj0iaHR0cDovL2JwNi5nYW1lc3F1YWQubmV0L29yYnMvb3JiczIucGh0bWwiPjxmb250IGNvbG9yPSJ3aGl0ZSIgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iMSI+R29sZGVuIE9yYnMgSUk8L2ZvbnQ+PC9hPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9IjEiPjxicj48L2ZvbnQ+PGEgaHJlZj0iaHR0cDovL2JwNi5nYW1lc3F1YWQubmV0L1E2Zml4LnBodG1sIj48Zm9udCBjb2xvcj0id2hpdGUiIGZhY2U9IlZlcmRhbmEiIHNpemU9IjEiPlZUVCBTb2x1dGlvbjwvZm9udD48L2E+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iMSI+PGJyPjxicj48L2ZvbnQ+PGI+PGZvbnQgY29sb3I9InllbGxvdyIgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iMiI+TkFWSUdBVEU8L2ZvbnQ+PC9iPjxmb250IGNvbG9yPSJ5ZWxsb3ciIGZhY2U9IlZlcmRhbmEiIHNpemU9IjIiPiANCisgICAgICAgICAgICA8aHIgYWxpZ249ImNlbnRlciI+DQorICAgICAgICAgICAgPC9mb250PjxhIGhyZWY9Imh0dHA6Ly93d3cuYnA2LmNvbS8iPjxmb250IGNvbG9yPSJ3aGl0ZSIgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iMSI+TmV3czwvZm9udD48L2E+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iMSI+PGJyPjwvZm9udD48YSBocmVmPSJodHRwOi8vYnA2LmdhbWVzcXVhZC5uZXQvY2hhdC5waHRtbCI+PGZvbnQgY29sb3I9IndoaXRlIiBmYWNlPSJWZXJkYW5hIiBzaXplPSIxIj5PbmxpbmUgVGV4dCBDaGF0PC9mb250PjwvYT48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSIxIj48YnI+PC9mb250PjxhIGhyZWY9ImphdmFzY3JpcHQ6cG9wVXAoJ2NoYXRfcG9wdXAuaHRtJykiPjxmb250IGNvbG9yPSJ3aGl0ZSIgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iMSI+Vm9pY2UgQ2hhdDwvZm9udD48L2E+PGJyPjxhIGhyZWY9Imh0dHA6Ly8yMTYuMjQ3LjIyMC4xOTIvRm9ydW0iPjxmb250IGNvbG9yPSJ3aGl0ZSIgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iMSI+TWVzc2FnZWJvYXJkPC9mb250PjwvYT48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSIxIj48YnI+PC9mb250PjxhIGhyZWY9Imh0dHA6Ly9icDYuZ2FtZXNxdWFkLm5ldC9jb29saW5nIj48Zm9udCBjb2xvcj0id2hpdGUiIGZhY2U9IlZlcmRhbmEiIHNpemU9IjEiPlRlbXAuIENvbnZlcnRlcjwvZm9udD48L2E+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iMSI+PGJyPjwvZm9udD48YSBocmVmPSJodHRwOi8vYnA2LmdhbWVzcXVhZC5uZXQvdWMucGh0bWwiPjxmb250IGNvbG9yPSJ3aGl0ZSIgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iMSI+UGljdHVyZSBHYWxsZXJ5PC9mb250PjwvYT48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSIxIj48YnI+PC9mb250PjxhIGhyZWY9Imh0dHA6Ly9icDYuZ2FtZXNxdWFkLm5ldC9iaW9zLnBodG1sIj48Zm9udCBjb2xvcj0id2hpdGUiIGZhY2U9IlZlcmRhbmEiIHNpemU9IjEiPkxhdGVzdCBCSU9TPC9mb250PjwvYT48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSIxIj48YnI+PC9mb250PjxhIGhyZWY9Imh0dHA6Ly9icDYuZ2FtZXNxdWFkLm5ldC9maWxlcy8iPjxmb250IGNvbG9yPSJ3aGl0ZSIgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iMSI+RHJpdmVycyAmYW1wOyBGaWxlczwvZm9udD48L2E+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iMSI+PGJyPjwvZm9udD48YSBocmVmPSJodHRwOi8vYnA2LmdhbWVzcXVhZC5uZXQvdWMucGh0bWwiPjxmb250IGNvbG9yPSJ3aGl0ZSIgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iMSI+VUdNIG9mIHRoZSB3ZWVrPC9mb250PjwvYT48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSIxIj48YnI+PC9mb250PjxhIGhyZWY9Imh0dHA6Ly9icDYuZ2FtZXNxdWFkLm5ldC9jb250ZXN0LnBodG1sIj48Zm9udCBjb2xvcj0id2hpdGUiIGZhY2U9IlZlcmRhbmEiIHNpemU9IjEiPkJQNiBDb250ZXN0PC9mb250PjwvYT48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSIxIj48YnI+PGJyPjwvZm9udD48Yj48Zm9udCBjb2xvcj0ieWVsbG93IiBmYWNlPSJWZXJkYW5hIiBzaXplPSIyIj5PVEhFUiBTVFVGRjwvZm9udD48L2I+PGZvbnQgY29sb3I9InllbGxvdyIgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iMiI+IA0KKw0KKyAgICAgICAgICAgIDxociBhbGlnbj0iY2VudGVyIj4NCisgICAgICAgICAgICA8L2ZvbnQ+PGEgaHJlZj0iaHR0cDovL2JwNi5nYW1lc3F1YWQubmV0L3dob2lzLnBodG1sIj48Zm9udCBjb2xvcj0id2hpdGUiIGZhY2U9IlZlcmRhbmEiIHNpemU9IjEiPldobyBpcyBUaW0/PC9mb250PjwvYT48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSIxIj48YnI+PC9mb250PjxhIGhyZWY9Im1haWx0bzp0aW1AYnA2LmNvbSI+PGZvbnQgY29sb3I9IndoaXRlIiBmYWNlPSJWZXJkYW5hIiBzaXplPSIxIj5Db250YWN0IEJQNi5jb208L2ZvbnQ+PC9hPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9IjEiPjxicj48L2ZvbnQ+PGEgaHJlZj0iaHR0cDovL2JwNi5nYW1lc3F1YWQubmV0L3VjLnBodG1sIj48Zm9udCBjb2xvcj0id2hpdGUiIGZhY2U9IlZlcmRhbmEiIHNpemU9IjEiPkFmZmlsaWF0ZXMgU2VjdGlvbjwvZm9udD48L2E+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iMSI+PGJyPjwvZm9udD48YSBocmVmPSJodHRwOi8vYnA2LmdhbWVzcXVhZC5uZXQvdWMucGh0bWwiPjxmb250IGNvbG9yPSJ3aGl0ZSIgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iMSI+U3BvbnNvcnMgU2VjdGlvbiA8YnI+PC9mb250PjwvYT48YSBocmVmPSJodHRwOi8vYnA2LmdhbWVzcXVhZC5uZXQvbGlua3MucGh0bWwiPjxmb250IGNvbG9yPSJ3aGl0ZSIgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iMSI+TGlua3M8YnI+PGJyPjwvZm9udD48L2E+PGI+PGZvbnQgY29sb3I9InllbGxvdyIgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iMiI+UEMgU1BFQ0lBTFM8L2ZvbnQ+PC9iPjxmb250IGNvbG9yPSJ5ZWxsb3ciIGZhY2U9IlZlcmRhbmEiIHNpemU9IjIiPiANCisgICAgICAgICAgICA8aHIgYWxpZ249ImNlbnRlciI+DQorICAgICAgICAgICAgPC9mb250PjxhIGhyZWY9Imh0dHA6Ly9icDYuZ2FtZXNxdWFkLm5ldC9zcGVjaWFscy5waHRtbCI+PGZvbnQgY29sb3I9IndoaXRlIiBmYWNlPSJWZXJkYW5hIiBzaXplPSIxIj5WZW5kb3IgDQorICAgICAgICAgICAgU3BlY2lhbHM8YnI+PGJyPjwvZm9udD48L2E+PGJyPjxiPjxmb250IGNvbG9yPSJ5ZWxsb3ciIGZhY2U9IlZlcmRhbmEiIHNpemU9IjIiPlBpYyBvZiB0aGUgZGF5PC9mb250PjwvYj4NCisgICAgICAgICAgICA8aHI+DQorICAgICAgICAgICAgIA0KKyAgICAgICAgICAgIDxjZW50ZXI+DQorICAgICAgICAgICAgPHAgYWxpZ249ImNlbnRlciI+PGZvbnQgZmFjZT0iVmVyZGFuYSwgQXJpYWwsIEhlbHZldGljYSIgc2l6ZT0iMSI+PGEgaHJlZj0iaHR0cDovL2JwNi5nYW1lc3F1YWQubmV0L2NnaS1iaW4vc2NobGFiby9wb3RkLnBsIj48aW1nIGFsdD0iTm8gcGljdHVyZSBpcyBhdmFpbGFibGUgZm9yIHRvZGF5LiIgYm9yZGVyPSIwIiBzcmM9ImRvYzNfZmlsZXMvcG90ZF9uYV8xMTB4ODMuZ2lmIj48L2E+IDwvZm9udD48L3A+Cis8L2NlbnRlcj4KKzxicj4NCisgICAgICAgICAgICA8Y2VudGVyPjwvY2VudGVyPgorPGJyPjwhLS08QSBIUkVGPSJjb2RlOmphdmFzY3JpcHQ6SURfRlRQV2ViVmlldy5JbnZva2VIZWxwKCkiPjxGT05UIFNJWkU9IjEiIENPTE9SPSJ3aGl0ZSIgRkFDRT0iVmVyZGFuYSI+RlRQIEhlbHA8L0ZPTlQ+PC9BPi0tPgorPC90ZD4KKzwvdHI+Cis8L3Rib2R5PgorPC90YWJsZT4KKzwvdGQ+DQorICAgIDx0ZCBiZ2NvbG9yPSJ3aGl0ZSIgdmFsaWduPSJ0b3AiIHdpZHRoPSI4MCUiPgorPGltZyBoZWlnaHQ9IjEiIHNyYz0iZG9jM19maWxlcy9zcGFjZXIuZ2lmIiB3aWR0aD0iNDkwIj48YnI+DQorICAgICAgPGNlbnRlcj4NCisgICAgICA8cD4NCisgICAgICA8L3A+Cis8dGFibGUgYmdjb2xvcj0id2hpdGUiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjEwIiBjZWxsc3BhY2luZz0iMCIgaGVpZ2h0PSIxMDAlIiB3aWR0aD0iMTAwJSI+DQorICAgICAgICA8dGJvZHk+DQorICAgICAgICA8dHI+DQorICAgICAgICAgIDx0ZCBiZ2NvbG9yPSJ3aGl0ZSIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxMDAlIj4NCisgICAgICAgICAgICA8Y2VudGVyPgorPGEgaHJlZj0iaHR0cDovL3d3dy5lbmNvdW50ZXIyMDAxLmNvbS8iIHRhcmdldD0iX2JsYW5rIj48aW1nIGJvcmRlcj0iMCIgaGVpZ2h0PSI2MCIgc3JjPSJkb2MzX2ZpbGVzL2Jhbm5lcjIuZ2lmIiB3aWR0aD0iNDY4Ij48L2E+IA0KKyAgICAgICAgICAgIDwvY2VudGVyPgorPGJyPjxhIG5hbWU9Im5ld3NfdG9wIj48L2E+PGZvbnQgY29sb3I9IiMwMDMzNjYiIGZhY2U9InZlcmRhbmEsYXJpYWwiIHNpemU9IjIiPjxiPkhlYWRsaW5lczwvYj48L2ZvbnQ+PGJyPjxmb250IGZhY2U9ImFyaWFsIiBzaXplPSIxIj48YSBjbGFzcz0ibmF2IiBocmVmPSJodHRwOi8vYnA2LmdhbWVzcXVhZC5uZXQvaW5kZXgucGh0bWwjbmV3c2l0ZW05NjUwMTI5NTYsNzg5MjQsIj5DaGF0IA0KKyAgICAgICAgICAgIHdpdGggQUJJVCAtIDg6MDlQTSBQRFQ8L2E+PC9mb250Pjxicj48Zm9udCBmYWNlPSJhcmlhbCIgc2l6ZT0iMSI+PGEgY2xhc3M9Im5hdiIgaHJlZj0iaHR0cDovL2JwNi5nYW1lc3F1YWQubmV0L2luZGV4LnBodG1sI25ld3NpdGVtOTY0NzY2ODM3LDI2MzQ0LCI+Rml4ZWQgDQorICAgICAgICAgICAgd2FsbHBhcGVyIC0gMTE6NDdQTSBQRFQ8L2E+PC9mb250Pjxicj48Zm9udCBmYWNlPSJhcmlhbCIgc2l6ZT0iMSI+PGEgY2xhc3M9Im5hdiIgaHJlZj0iaHR0cDovL2JwNi5nYW1lc3F1YWQubmV0L2luZGV4LnBodG1sI25ld3NpdGVtOTY0NzYyODQxLDI1ODY1LCI+U2V0aSANCisgICAgICAgICAgICB1cGRhdGUgLSAxMDo0MFBNIFBEVDwvYT48L2ZvbnQ+PGJyPjxmb250IGZhY2U9ImFyaWFsIiBzaXplPSIxIj48YSBjbGFzcz0ibmF2IiBocmVmPSJodHRwOi8vYnA2LmdhbWVzcXVhZC5uZXQvaW5kZXgucGh0bWwjbmV3c2l0ZW05NjQ3MzIyMzUsNDU1MDIsIj5KdWRnZSANCisgICAgICAgICAgICBnaXZlcyBOYXBzdGVyIHRoZSBCb290ISEgLSAyOjEwUE0gUERUPC9hPjwvZm9udD48YnI+PGZvbnQgZmFjZT0iYXJpYWwiIHNpemU9IjEiPjxhIGNsYXNzPSJuYXYiIGhyZWY9Imh0dHA6Ly9icDYuZ2FtZXNxdWFkLm5ldC9pbmRleC5waHRtbCNuZXdzaXRlbTk2NDcxMzI4OSw4MzY3NSwiPlJhbSANCisgICAgICAgICAgICBTaW5rcy4uIG1vcmUgY29vbGluZyBmb3Igc21hbGwgcGxhY2VzLiAtIDg6NTRBTSANCisgICAgICAgICAgICBQRFQ8L2E+PC9mb250Pjxicj48Zm9udCBmYWNlPSJhcmlhbCIgc2l6ZT0iMSI+PGEgY2xhc3M9Im5hdiIgaHJlZj0iaHR0cDovL2JwNi5nYW1lc3F1YWQubmV0L2luZGV4LnBodG1sI25ld3NpdGVtOTY0NjcxNTg5LDc4MzEsIj5pcyANCisgICAgICAgICAgICBpdCBbSF1hcmQ/IC0gOToxOVBNIFBEVDwvYT48L2ZvbnQ+PGJyPjxmb250IGZhY2U9ImFyaWFsIiBzaXplPSIxIj48YSBjbGFzcz0ibmF2IiBocmVmPSJodHRwOi8vYnA2LmdhbWVzcXVhZC5uZXQvaW5kZXgucGh0bWwjbmV3c2l0ZW05NjQ2NDQwNDcsNjAyMTgsIj5XaUxkIA0KKyAgICAgICAgICAgIENhU2UhISAtIDE6NDBQTSBQRFQ8L2E+PC9mb250Pjxicj48Zm9udCBmYWNlPSJhcmlhbCIgc2l6ZT0iMSI+PGEgY2xhc3M9Im5hdiIgaHJlZj0iaHR0cDovL2JwNi5nYW1lc3F1YWQubmV0L2luZGV4LnBodG1sI25ld3NpdGVtOTY0NjMxMTEwLDg0MTIyLCI+V2hhdCANCisgICAgICAgICAgICB0aGUgaGVjayBpcyBhIFBlbHRpZXI/IT8hIC0gMTA6MDVBTSBQRFQ8L2E+PC9mb250Pjxicj48Zm9udCBmYWNlPSJhcmlhbCIgc2l6ZT0iMSI+PGEgY2xhc3M9Im5hdiIgaHJlZj0iaHR0cDovL2JwNi5nYW1lc3F1YWQubmV0L2luZGV4LnBodG1sI25ld3NpdGVtOTY0NTg3ODMzLDc0NTczLCI+SEVMTE8gDQorICAgICAgICAgICAgRVZFUllPTkUhISEgLSAxMDowM1BNIFBEVDwvYT48L2ZvbnQ+PGJyPjxmb250IGZhY2U9ImFyaWFsIiBzaXplPSIxIj48YSBjbGFzcz0ibmF2IiBocmVmPSJodHRwOi8vYnA2LmdhbWVzcXVhZC5uZXQvaW5kZXgucGh0bWwjbmV3c2l0ZW05NjQ0Mjk1NzcsMTMzNzUsIj5CUDYgDQorICAgICAgICAgICAgUTMgc2VydmVyIHVwIGFuZCBydW5uaW5nLi4gLSAyOjA2QU0gUERUPC9hPjwvZm9udD48YnI+PGJyPjwhLS0gTlAgdjMuNy41IC0tPjxhIG5hbWU9Im5ld3NpdGVtOTY1MDEyOTU2LDc4OTI0LCI+PC9hPg0KKyAgICAgICAgICAgIDx0YWJsZSBiZ2NvbG9yPSIjMDAzMzk5IiB3aWR0aD0iMTAwJSI+DQorICAgICAgICAgICAgICA8dGJvZHk+DQorICAgICAgICAgICAgICA8dHI+DQorICAgICAgICAgICAgICAgIDx0ZD48Zm9udCBjb2xvcj0iI2ZmZmZmZiIgZmFjZT0iVmVyZGFuYSxhcmlhbCIgc2l6ZT0iMiI+PGI+U3VuZGF5LCANCisgICAgICAgICAgICAgICAgICBKdWx5IDMwLCAyMDAwPC9iPjwvZm9udD48L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8L3RhYmxlPgorPGJyPjwhLS08aHIgbm9zaGFkZSB3aWR0aD0xMDAlPi0tPjxiPjx1Pjxmb250IGNvbG9yPSIjMDAzMzY2IiBmYWNlPSJWZXJkYW5hLCBBcmlhbCIgc2l6ZT0iMiI+Q2hhdCB3aXRoIA0KKyAgICAgICAgICAgIEFCSVQ8L2ZvbnQ+PC91PjwvYj48YnI+PGZvbnQgY29sb3I9IiMwMDY2Y2MiIGZhY2U9IkFyaWFsIiBzaXplPSIxIj48c21hbGw+UG9zdGVkIGJ5IDxhIGNsYXNzPSJuYXYiIGhyZWY9Im1haWx0bzpIb2xvZGVja0BicDYuY29tIj5Ib2xvZGVjazI8L2E+IEAgODowOVBNIA0KKyAgICAgICAgICAgIFBEVDwvc21hbGw+oCA8YSBocmVmPSJodHRwOi8vYnA2LmdhbWVzcXVhZC5uZXQvbmV3cy85NjUwMTI5NTYsNzg5MjQsLmh0bWwiPjxpbWcgYm9yZGVyPSIwIiBzcmM9ImRvYzNfZmlsZXMvY29tbWVudHMuZ2lmIj4wIGNvbW1lbnRzPC9hPiANCisgICAgICAgICAgICCgfKA8YSBocmVmPSJodHRwOi8vYnA2LmdhbWVzcXVhZC5uZXQvI25ld3NfdG9wIj50b3A8L2E+PC9mb250PiA8YnI+PGZvbnQgY29sb3I9ImJsYWNrIiBmYWNlPSJBcmlhbCIgc2l6ZT0iMiI+SSYjODIxNzttIHNsYWNraW5nIGEgbGl0dGxlLiBBbGwgZ2FtZSBubyANCisgICAgICAgICAgICB3b3JrIG1ha2VzIEhvbG9kZWNrMiBhIGhhcHB5IGJveSA6LSk8YnI+PGJyPldhbGxwYXBlciB1cGRhdGU6IEkgZ290IA0KKyAgICAgICAgICAgIG9mZiBteSBsYXp5IGFzcyBhbmQgcmVkaWQgdGhlIDEyODB4MTAyNCB3YWxsIHBhcGVyLCBub3cgaXQgaGFzIHRoZSAyIA0KKyAgICAgICAgICAgIGNlbGVyb25zLjxicj48YnI+PGI+PGEgaHJlZj0iaHR0cDovL2Z1bGxvbjNkLmNvbS9jaGF0L2FiaXQvIiB0YXJnZXQ9IjNkIj5GdWxsb24zZCBoYWQgYSBsaXZlIGNoYXQgd2l0aCB0aGF0IEVyaWMgZ3V5IGZyb20gQWJpdC4gDQorICAgICAgICAgICAgPC9hPjwvYj5TdWJtaXR0ZWQgYnk6IE1KUzxicj48YnI+SGVyZSYjODIxNztzIGEgbGl0dGxlIGNsaXA6PGJyPltGYWxjb25dIA0KKyAgICAgICAgICAgIEJQNi0yPz88YnI+W0VyaWNCb2VpbmddIFdlIGFscmVhZHkgaGF2ZSBhIG1pY3JvIEFUWCBkdWFsIGZsaXAtY2hpcCANCisgICAgICAgICAgICBib2FyZDxicj5bRXJpY0JvZWluZ10gYnV0IGl0J3MgT0VNIG9ubHk8YnI+W0VyaWNCb2VpbmddIHRoZSBmdWxsIEFUWCANCisgICAgICAgICAgICB2ZXJzaW9uIHNob3VsZCBiZSBvdXQgU2VwdGVtYmVyaXNoPGJyPjwvZm9udD48YnI+PGJyPjxhIG5hbWU9Im5ld3NpdGVtOTY0NzY2ODM3LDI2MzQ0LCI+PC9hPg0KKyAgICAgICAgICAgIDx0YWJsZSBiZ2NvbG9yPSIjMDAzMzk5IiB3aWR0aD0iMTAwJSI+DQorICAgICAgICAgICAgICA8dGJvZHk+DQorICAgICAgICAgICAgICA8dHI+DQorICAgICAgICAgICAgICAgIDx0ZD48Zm9udCBjb2xvcj0iI2ZmZmZmZiIgZmFjZT0iVmVyZGFuYSxhcmlhbCIgc2l6ZT0iMiI+PGI+VGh1cnNkYXksIA0KKyAgICAgICAgICAgICAgICAgIEp1bHkgMjcsIDIwMDA8L2I+PC9mb250PjwvdGQ+Cis8L3RyPgorPC90Ym9keT4KKzwvdGFibGU+Cis8YnI+PCEtLTxociBub3NoYWRlIHdpZHRoPTEwMCU+LS0+PGI+PHU+PGZvbnQgY29sb3I9IiMwMDMzNjYiIGZhY2U9IlZlcmRhbmEsIEFyaWFsIiBzaXplPSIyIj5GaXhlZCANCisgICAgICAgICAgICB3YWxscGFwZXI8L2ZvbnQ+PC91PjwvYj48YnI+PGZvbnQgY29sb3I9IiMwMDY2Y2MiIGZhY2U9IkFyaWFsIiBzaXplPSIxIj48c21hbGw+UG9zdGVkIGJ5IDxhIGNsYXNzPSJuYXYiIGhyZWY9Im1haWx0bzpIb2xvZGVja0BicDYuY29tIj5Ib2xvZGVjazI8L2E+IEAgMTE6NDdQTSANCisgICAgICAgICAgICBQRFQ8L3NtYWxsPqAgPGEgaHJlZj0iaHR0cDovL2JwNi5nYW1lc3F1YWQubmV0L25ld3MvOTY0NzY2ODM3LDI2MzQ0LC5odG1sIj48aW1nIGJvcmRlcj0iMCIgc3JjPSJkb2MzX2ZpbGVzL2NvbW1lbnRzLmdpZiI+NSBjb21tZW50czwvYT4gDQorICAgICAgICAgICAgoHygPGEgaHJlZj0iaHR0cDovL2JwNi5nYW1lc3F1YWQubmV0LyNuZXdzX3RvcCI+dG9wPC9hPjwvZm9udD4gPGJyPjxmb250IGNvbG9yPSJibGFjayIgZmFjZT0iQXJpYWwiIHNpemU9IjIiPjxiPkdldCB0aGVtIG5vdyEhPC9iPjxicj5UaGlzIGlzIGEgDQorICAgICAgICAgICAgZml4ZWQgYnA2IHdhbGxwYXBlci4gSW4gYWxsIHRoZSBwb3B1bGFyIGZsYXZvcnMsIGVyci4uLiANCisgICAgICAgICAgICByZXNvbHV0aW9ucy48YnI+PGltZyBoZWlnaHQ9IjE4MCIgc3JjPSJkb2MzX2ZpbGVzLzMtODAwLmpwZyIgd2lkdGg9IjI0MCI+PGJyPkl0J3Mgc3RpbGwgdGhlIEludGVscyBJbnNpZGUgb25lIHdpdGggYSBzcGVsbGluZyANCisgICAgICAgICAgICBjaGFuZ2U7IGZyb20gIk1vdGhib2FyZCIgdG8gIk1vdGhlcmJvYXJkIjxicj48YnI+VGhhbmtzIHRvIE1hdHQgZm9yIA0KKyAgICAgICAgICAgIHBvaW50aW5nIHRoYXQgb3V0IHRvIG1lLjxicj5JIHdvdWxkIGFsc28gbGlrZSB0byB0aGFuayBLZXZpbiBmb3IgDQorICAgICAgICAgICAgaG9zdGluZyBteSBsYXN0IGJhdGNoIGFuZCBSYWR1IGZvciB0aGUgcHJldmlvdXMgIkRVRUwiLyJEVUFMIiANCisgICAgICAgICAgICBlcnJvci48YnI+QW5kIDEgbW9yZSBwZXJzb24sIFRIQU5LIFlPVSBUSU0gZm9yIGxldHRpbmcgbWUgYm9ycm93IA0KKyAgICAgICAgICAgIHlvdXIgc2VydmVyIHNwYWNlIDstKTxicj48YnI+SWYgeW91IG5lZWQgYSB3ZWlyZCByZXNvbHV0aW9uLCBmZWVsIA0KKyAgICAgICAgICAgIGZyZWUgdG8gPGEgaHJlZj0ibWFpbHRvOkhvbG9kZWNrMkBob21lLmNvbSI+ZS1tYWlsPC9hPiBtZSByZXF1ZXN0aW5nIA0KKyAgICAgICAgICAgIGZvciBvbmUuPGJyPklmIHlvdSBoYXZlIGlkZWFzIG9yIG1vcmUgZXJyb3JzIHRvIHBvaW50IG91dCwgPGEgaHJlZj0ibWFpbHRvOkhvbG9kZWNrMkBob21lLmNvbSI+bWFpbHRvOkhvbG9kZWNrMkBob21lLmNvbTwvYT48YnI+PGJyPjxhIGhyZWY9ImRvYzNfZmlsZXMvMy04MDAuanBnIiB0YXJnZXQ9IjgwMCI+ODAweDYwMCA8L2E+PGJyPjxhIGhyZWY9Imh0dHA6Ly93d3cuYnA2LmNvbS9waWNzL2hvbG9kZWNrMi93YWxscGFwZXIvMy0xMDI0LmpwZyIgdGFyZ2V0PSI4MDAiPjEwMjR4NzY4IDwvYT48YnI+PGEgaHJlZj0iaHR0cDovL3d3dy5icDYuY29tL3BpY3MvaG9sb2RlY2syL3dhbGxwYXBlci8zLTExNTIuanBnIiB0YXJnZXQ9IjgwMCI+MTE1Mng4NjQgPC9hPjxicj48YSBocmVmPSJodHRwOi8vd3d3LmJwNi5jb20vcGljcy9ob2xvZGVjazIvd2FsbHBhcGVyLzMtMTI4MHgxMDI0LmpwZyIgdGFyZ2V0PSI4MDAiPjEyODB4MTAyNCA8L2E+PGJyPjxhIGhyZWY9Imh0dHA6Ly93d3cuYnA2LmNvbS9waWNzL2hvbG9kZWNrMi93YWxscGFwZXIvMy0xNjAwLmpwZyIgdGFyZ2V0PSI4MDAiPjE2MDB4MTIwMCA8L2E+PGJyPg0KKyAgICAgICAgICAgIDxwPkVuam95IDotKTxicj4NCisgICAgICAgICAgICA8L3A+Cis8cD48YSBocmVmPSJtYWlsdG86SG9sb2RlY2syQGhvbWUuY29tIj5Ib2xvZGVjazIsPC9hPjxicj5bSF1hcmQgYXQgDQorICAgICAgICAgICAgd29yayBvbiB0aGUgQnJhbmQgU3BhbmtpbmcgTmV3IFdhbGxwYXBlci48YnI+PC9wPjwvZm9udD48YnI+PGJyPjxhIG5hbWU9Im5ld3NpdGVtOTY0NzYyODQxLDI1ODY1LCI+PC9hPjxiPjx1Pjxmb250IGNvbG9yPSIjMDAzMzY2IiBmYWNlPSJWZXJkYW5hLCBBcmlhbCIgc2l6ZT0iMiI+U2V0aSB1cGRhdGU8L2ZvbnQ+PC91PjwvYj48YnI+PGZvbnQgY29sb3I9IiMwMDY2Y2MiIGZhY2U9IkFyaWFsIiBzaXplPSIxIj48c21hbGw+UG9zdGVkIGJ5IDxhIGNsYXNzPSJuYXYiIGhyZWY9Im1haWx0bzpIb2xvZGVja0BicDYuY29tIj5Ib2xvZGVjazI8L2E+IEAgMTA6NDBQTSANCisgICAgICAgICAgICBQRFQ8L3NtYWxsPqAgPGEgaHJlZj0iaHR0cDovL2JwNi5nYW1lc3F1YWQubmV0L25ld3MvOTY0NzYyODQxLDI1ODY1LC5odG1sIj48aW1nIGJvcmRlcj0iMCIgc3JjPSJkb2MzX2ZpbGVzL2NvbW1lbnRzLmdpZiI+NSBjb21tZW50czwvYT4gDQorICAgICAgICAgICAgoHygPGEgaHJlZj0iaHR0cDovL2JwNi5nYW1lc3F1YWQubmV0LyNuZXdzX3RvcCI+dG9wPC9hPjwvZm9udD4gPGJyPjxmb250IGNvbG9yPSJibGFjayIgZmFjZT0iQXJpYWwiIHNpemU9IjIiPjxpbWcgaGVpZ2h0PSI1NCIgc3JjPSJkb2MzX2ZpbGVzL3NldGl1cGRhdGUuanBnIiB3aWR0aD0iNDAwIj48YnI+WW91IGxpa2UgdGhlIA0KKyAgICAgICAgICAgIHBpYz88YnI+PGJyPkJwNiBVc2VyIEdyb3VwIFVwZGF0ZTo8YnI+Q29tcGxldGVkIDYxNTMxIA0KKyAgICAgICAgICAgIHVuaXRzISE8YnI+PGI+IzE2OCBvbiBUb3AgMjAwIEFsbCBHcm91cHM8L2I+IChHb2luZyB0byBwYXNzIENMUkMgaW4gDQorICAgICAgICAgICAgYSBmZXcgZGF5cyk8YnI+PGI+Izc0IG9uIFRvcCAyMDAgVGVhbXM8L2I+IChHYWluaW5nIGZhc3Qgb24gDQorICAgICAgICAgICAgU3RhcmZsZWV0KTxicj48YnI+V2UgYXJlIGZseWluZyB0aG91Z2ggYXQgdGhlIHNwZWVkIG9mIGxpZ2h0IChtYXkgYmUgDQorICAgICAgICAgICAgYSBsaXR0bGUgc2xvd2VyKS48YnI+R29vZCBqb2IgZXZlcnlvbmUhITxicj48YnI+Q2hlY2sgdGhpcyBwYWdlIGF0IA0KKyAgICAgICAgICAgIGxlYXN0IG9uY2UgYSBkYXkgZm9yIG5ldyBzdHVmZiA6LSk8YnI+PC9mb250Pjxicj48YnI+PGEgbmFtZT0ibmV3c2l0ZW05NjQ3MzIyMzUsNDU1MDIsIj48L2E+PGI+PHU+PGZvbnQgY29sb3I9IiMwMDMzNjYiIGZhY2U9IlZlcmRhbmEsIEFyaWFsIiBzaXplPSIyIj5KdWRnZSBnaXZlcyBOYXBzdGVyIHRoZSANCisgICAgICAgICAgICBCb290ISE8L2ZvbnQ+PC91PjwvYj48YnI+PGZvbnQgY29sb3I9IiMwMDY2Y2MiIGZhY2U9IkFyaWFsIiBzaXplPSIxIj48c21hbGw+UG9zdGVkIGJ5IDxhIGNsYXNzPSJuYXYiIGhyZWY9Im1haWx0bzpIb2xvZGVja0BicDYuY29tIj5Ib2xvZGVjazI8L2E+IEAgMjoxMFBNIA0KKyAgICAgICAgICAgIFBEVDwvc21hbGw+oCA8YSBocmVmPSJodHRwOi8vYnA2LmdhbWVzcXVhZC5uZXQvbmV3cy85NjQ3MzIyMzUsNDU1MDIsLmh0bWwiPjxpbWcgYm9yZGVyPSIwIiBzcmM9ImRvYzNfZmlsZXMvY29tbWVudHMuZ2lmIj4wIGNvbW1lbnRzPC9hPiANCisgICAgICAgICAgICCgfKA8YSBocmVmPSJodHRwOi8vYnA2LmdhbWVzcXVhZC5uZXQvI25ld3NfdG9wIj50b3A8L2E+PC9mb250PiA8YnI+PGZvbnQgY29sb3I9ImJsYWNrIiBmYWNlPSJBcmlhbCIgc2l6ZT0iMiI+R29vZCBhZnRlcm5vb24gZm9yIGV2ZXJ5b25lIGxpdmluZyBpbiANCisgICAgICAgICAgICBFU1QuIEkgd2FzIGdvaW5nIHRvIHBvc3QgdG9kYXkgbW9ybmluZyBidXQgSSBkaWRuJ3QuIEhlcmUncyBteSANCisgICAgICAgICAgICBzdG9yeTo8YnI+SSB3b2tlIHVwIGFuZCB0aG91Z2h0IGFib3V0IHBvc3Rpbmcgc29tZXRoaW5nIGJ1dCBJIA0KKyAgICAgICAgICAgIGRlY2lkZWQgdG8gd2F4IG15IGNhciBiZWZvcmUgdGhlIHN1biBjYW1lIHVwIChkcmF3IHlvdXIgb3duIA0KKyAgICAgICAgICAgIGNvbmNsdXNpb25zKSwgd2F4IG9uLCB3YXggb2ZmLCB3YXggb24sLi4uLCBkaWQgdGhhdCBmb3IgYWJvdXQgYW4gDQorICAgICAgICAgICAgaG91ci4gVGhlbiBJIHNhdyB0aGUgc3VuIHJpc2UgKEFhYWhoIEknbSBtZWx0aW5nLi4uIG5vdCkuIEkgc2F0IGluIA0KKyAgICAgICAgICAgIGZyb250IG9mIG15IGNvbXAgYW5kIHN0YXJ0ZWQgdG8gc2VhcmNoIGZvciBnb29kIG5ld3MgdG8gcG9zdC4gU2F3IA0KKyAgICAgICAgICAgIHRoYXQgYSBzdG9vcGlkIGp1ZGdlIHRlbXBvcmFsbHkgc2h1dHMgZG93biBuYXBzdGVyLiBHb2VzIHRvIHJvb20gYW5kIA0KKyAgICAgICAgICAgIGNyeS4gYW5kIG5vdyBJJ20gaGVyZSA6LSk8YnI+PGJyPjxhIGhyZWY9Imh0dHA6Ly93d3cubXNuYmMuY29tL25ld3MvNDM3NTMyLmFzcCIgdGFyZ2V0PSJKdWRnZSB2cyBOYXBzdGVyIj5KdWRnZSBzaHV0cyBOYXBzdGVyIGRvd24NCisgICAgICAgICAgICA8cD48aW1nIGhlaWdodD0iMTQzIiBzcmM9ImRvYzNfZmlsZXMvNjY5OTE1LmpwZyIgd2lkdGg9IjIwMCI+PC9wPjwvYT48YnI+Q2hlY2sgb3V0IHRoZSBHb29meSBndXkgaW4gdGhlIHN1aXQ8YnI+SGUncyBTZWFuIA0KKyAgICAgICAgICAgIEZhbm5pbmcsIGZvdW5kZXIgb2YgTmFwc3Rlci48YnI+PGJyPkdvdCBuZXdzPz8gPGEgaHJlZj0ibWFpbHRvOkhvbG9kZWNrMkBob21lLmNvbSI+bWFpbHRvOkhvbG9kZWNrMkBob21lLmNvbTwvYT48YnI+PC9mb250Pjxicj48YnI+PGEgbmFtZT0ibmV3c2l0ZW05NjQ3MTMyODksODM2NzUsIj48L2E+PGI+PHU+PGZvbnQgY29sb3I9IiMwMDMzNjYiIGZhY2U9IlZlcmRhbmEsIEFyaWFsIiBzaXplPSIyIj5SYW0gU2lua3MuLiBtb3JlIGNvb2xpbmcgZm9yIHNtYWxsIA0KKyAgICAgICAgICAgIHBsYWNlcy48L2ZvbnQ+PC91PjwvYj48YnI+PGZvbnQgY29sb3I9IiMwMDY2Y2MiIGZhY2U9IkFyaWFsIiBzaXplPSIxIj48c21hbGw+UG9zdGVkIGJ5IDxhIGNsYXNzPSJuYXYiIGhyZWY9Im1haWx0bzp0aW1AYnA2LmNvbSI+dGltPC9hPiBAIDg6NTRBTSBQRFQ8L3NtYWxsPqAgPGEgaHJlZj0iaHR0cDovL2JwNi5nYW1lc3F1YWQubmV0L25ld3MvOTY0NzEzMjg5LDgzNjc1LC5odG1sIj48aW1nIGJvcmRlcj0iMCIgc3JjPSJkb2MzX2ZpbGVzL2NvbW1lbnRzLmdpZiI+MCBjb21tZW50czwvYT4gDQorICAgICAgICAgICAgoHygPGEgaHJlZj0iaHR0cDovL2JwNi5nYW1lc3F1YWQubmV0LyNuZXdzX3RvcCI+dG9wPC9hPjwvZm9udD4gPGJyPjxmb250IGNvbG9yPSJibGFjayIgZmFjZT0iQXJpYWwiIHNpemU9IjIiPk5lZWQgc29tZSBjb29saW5nIGZvciB5b3VyIFZpZGVvY2FyZCANCisgICAgICAgICAgICBtZW1vcnkgdG8gZ2V0IGEgbGl0dGxlIGV4dHJhIG92ZXJjbG9ja2FiaWxpdHkgYW5kIEZQUz8gPGEgaHJlZj0iaHR0cDovL3d3dy5vdmVyY2xvY2tlcnNoaWRlb3V0LmNvbS9SYW1TaW5rcy5odG1sIiB0YXJnZXQ9Il9CTEFOSyI+T3ZlcmNsb2NrZXJzIEhpZWRvdXQgUmFtIFNpbmtzPC9hPiBUaGV5IGp1c3Qgbm90aWZpZWQgDQorICAgICAgICAgICAgbWUgb2YgdGhlaXIgbmV3IGRlc2lnbi48YnI+PGltZyBib3JkZXI9IjEiIHNyYz0iZG9jM19maWxlcy9yYW1zaW5rLmpwZyI+PC9mb250Pjxicj48YnI+PGEgbmFtZT0ibmV3c2l0ZW05NjQ2NzE1ODksNzgzMSwiPjwvYT4NCisgICAgICAgICAgICA8dGFibGUgYmdjb2xvcj0iIzAwMzM5OSIgd2lkdGg9IjEwMCUiPg0KKyAgICAgICAgICAgICAgPHRib2R5Pg0KKyAgICAgICAgICAgICAgPHRyPg0KKyAgICAgICAgICAgICAgICA8dGQ+PGZvbnQgY29sb3I9IiNmZmZmZmYiIGZhY2U9IlZlcmRhbmEsYXJpYWwiIHNpemU9IjIiPjxiPldlZG5lc2RheSwgSnVseSAyNiwgDQorICAgICAgICAgICAgMjAwMDwvYj48L2ZvbnQ+PC90ZD4KKzwvdHI+Cis8L3Rib2R5PgorPC90YWJsZT4KKzxicj48IS0tPGhyIG5vc2hhZGUgd2lkdGg9MTAwJT4tLT48Yj48dT48Zm9udCBjb2xvcj0iIzAwMzM2NiIgZmFjZT0iVmVyZGFuYSwgQXJpYWwiIHNpemU9IjIiPmlzIGl0IA0KKyAgICAgICAgICAgIFtIXWFyZD88L2ZvbnQ+PC91PjwvYj48YnI+PGZvbnQgY29sb3I9IiMwMDY2Y2MiIGZhY2U9IkFyaWFsIiBzaXplPSIxIj48c21hbGw+UG9zdGVkIGJ5IDxhIGNsYXNzPSJuYXYiIGhyZWY9Im1haWx0bzpIb2xvZGVja0BicDYuY29tIj5Ib2xvZGVjazI8L2E+IEAgOToxOVBNIA0KKyAgICAgICAgICAgIFBEVDwvc21hbGw+oCA8YSBocmVmPSJodHRwOi8vYnA2LmdhbWVzcXVhZC5uZXQvbmV3cy85NjQ2NzE1ODksNzgzMSwuaHRtbCI+PGltZyBib3JkZXI9IjAiIHNyYz0iZG9jM19maWxlcy9jb21tZW50cy5naWYiPjAgY29tbWVudHM8L2E+IA0KKyAgICAgICAgICAgIKB8oDxhIGhyZWY9Imh0dHA6Ly9icDYuZ2FtZXNxdWFkLm5ldC8jbmV3c190b3AiPnRvcDwvYT48L2ZvbnQ+IDxicj48Zm9udCBjb2xvcj0iYmxhY2siIGZhY2U9IkFyaWFsIiBzaXplPSIyIj5CaWcgaGVhdHNpbmtzIGFyZSBnb29kLCB2ZXJ5IGdvb2QuIFRoZSANCisgICAgICAgICAgICBiaWdnZXIgdGhlIGJldHRlci48YnI+WW91IGNhbiBuZXZlciBjYW4gaGF2ZSBhIHRvbyBiaWcgb2YgaGVhdHNpbmsgDQorICAgICAgICAgICAgb24gYSBzbWFsbCBjaGlwIChDUFUsIEdQVSwgQ0hJUFNFVCwgZXRjKTxicj48YnI+PGltZyBoZWlnaHQ9IjE3MyIgc3JjPSJkb2MzX2ZpbGVzL3Zvb2Rvb3NpZGUyLmpwZyIgd2lkdGg9IjIzMCI+PGJyPk15IG92ZXJjbG9ja2VkIA0KKyAgICAgICAgICAgIFZvb2RvbzMgMjAwMCB3aXRoIGEgQklHIG1vZm8gaGVhdHNpbmsgb24gdG9wLjxicj5QZWx0aWVyIGFuZCANCisgICAgICAgICAgICB3YXRlcmNvb2xpbmcgbmV4dCB1cCA6LSk8YnI+KGlmIHlvdSBwcnkgb2ZmIHRoZSBoZWF0c2luayB5b3Ugdm9pZCANCisgICAgICAgICAgICB0aGUgd2FycmFudHkgKTxicj48YnI+aXQgd2FzIG9yaWdpbmFsbHkgcG9zdGVkIG9uIDxhIGhyZWY9Imh0dHA6Ly93d3cuaGFyZG9jcC5jb20vIj5bSF1hcmRPQ1AgPC9hPjxicj5JJiM4MjE3O20gbm90IG9ubHkgYSANCisgICAgICAgICAgICBCUDZlciBidXQgYWxzbyBhIFtIXWFyZE9DUGVyPGJyPjwvZm9udD48YnI+PGJyPjxhIG5hbWU9Im5ld3NpdGVtOTY0NjQ0MDQ3LDYwMjE4LCI+PC9hPjxiPjx1Pjxmb250IGNvbG9yPSIjMDAzMzY2IiBmYWNlPSJWZXJkYW5hLCBBcmlhbCIgc2l6ZT0iMiI+V2lMZCBDYVNlISE8L2ZvbnQ+PC91PjwvYj48YnI+PGZvbnQgY29sb3I9IiMwMDY2Y2MiIGZhY2U9IkFyaWFsIiBzaXplPSIxIj48c21hbGw+UG9zdGVkIGJ5IDxhIGNsYXNzPSJuYXYiIGhyZWY9Im1haWx0bzpIb2xvZGVja0BicDYuY29tIj5Ib2xvZGVjazI8L2E+IEAgMTo0MFBNIA0KKyAgICAgICAgICAgIFBEVDwvc21hbGw+oCA8YSBocmVmPSJodHRwOi8vYnA2LmdhbWVzcXVhZC5uZXQvbmV3cy85NjQ2NDQwNDcsNjAyMTgsLmh0bWwiPjxpbWcgYm9yZGVyPSIwIiBzcmM9ImRvYzNfZmlsZXMvY29tbWVudHMuZ2lmIj44IGNvbW1lbnRzPC9hPiANCisgICAgICAgICAgICCgfKA8YSBocmVmPSJodHRwOi8vYnA2LmdhbWVzcXVhZC5uZXQvI25ld3NfdG9wIj50b3A8L2E+PC9mb250PiA8YnI+PGZvbnQgY29sb3I9ImJsYWNrIiBmYWNlPSJBcmlhbCIgc2l6ZT0iMiI+Tm93IHRoaXMgcGVyc29uIHJlYWxseSBrbm93cyBob3cgdG8gDQorICAgICAgICAgICAga2VlcCBoaXMgY2FzZSBjb29sISE8YnI+QWRkaW4gYW4gMTgiIEZhbiEhIFdPVyEhPGJyPjxicj48YSBocmVmPSJodHRwOi8vd3d3LmVudmFkb3IuY29tL1Bob3Rvcy9QVkNJSS8iIHRhcmdldD0iX2JsYW5rIj48aW1nIHNyYz0iZG9jM19maWxlcy9UTl9PcGVuZWRVcDEuanBnIj48L2E+PGJyPkNsaWNrIHRvIGdvIHRvIGhpcyANCisgICAgICAgICAgICBzaXRlLjxicj48L2ZvbnQ+PGJyPjxicj48YSBuYW1lPSJuZXdzaXRlbTk2NDYzMTExMCw4NDEyMiwiPjwvYT48Yj48dT48Zm9udCBjb2xvcj0iIzAwMzM2NiIgZmFjZT0iVmVyZGFuYSwgQXJpYWwiIHNpemU9IjIiPldoYXQgdGhlIGhlY2sgaXMgYSANCisgICAgICAgICAgICBQZWx0aWVyPyE/ITwvZm9udD48L3U+PC9iPjxicj48Zm9udCBjb2xvcj0iIzAwNjZjYyIgZmFjZT0iQXJpYWwiIHNpemU9IjEiPjxzbWFsbD5Qb3N0ZWQgYnkgPGEgY2xhc3M9Im5hdiIgaHJlZj0ibWFpbHRvOkhvbG9kZWNrQGJwNi5jb20iPkhvbG9kZWNrMjwvYT4gQCAxMDowNUFNIA0KKyAgICAgICAgICAgIFBEVDwvc21hbGw+oCA8YSBocmVmPSJodHRwOi8vYnA2LmdhbWVzcXVhZC5uZXQvbmV3cy85NjQ2MzExMTAsODQxMjIsLmh0bWwiPjxpbWcgYm9yZGVyPSIwIiBzcmM9ImRvYzNfZmlsZXMvY29tbWVudHMuZ2lmIj42IGNvbW1lbnRzPC9hPiANCisgICAgICAgICAgICCgfKA8YSBocmVmPSJodHRwOi8vYnA2LmdhbWVzcXVhZC5uZXQvI25ld3NfdG9wIj50b3A8L2E+PC9mb250PiA8YnI+PGZvbnQgY29sb3I9ImJsYWNrIiBmYWNlPSJBcmlhbCIgc2l6ZT0iMiI+VGhpcyBpcyBmb3IgYWxsIHlvdSBwZW9wbGUgd2hvIHdhbnRlZCANCisgICAgICAgICAgICB0byBrbm93IHdoYXQgYSBwZWx0aWVyIGlzLjxicj48YnI+VGhlIHF1ZXN0IGZvIHRoZSBQZXJmZWN0IA0KKyAgICAgICAgICAgIFBlbHRpZXI8YnI+PGEgaHJlZj0iaHR0cDovL3d3dy50d2Vha21heC5jb20vaHRtbC9wZWx0aWVyL3BlbHRpZXItMS5jZm0iIHRhcmdldD0iX2JsYW5rIj48aW1nIHNyYz0iZG9jM19maWxlcy9wZWx0aWVyLmpwZyI+PC9hPiA8YnI+VGhhbmtzIHRvIA0KKyAgICAgICAgICAgIDxhIGhyZWY9Imh0dHA6Ly93d3cudHdlYWttYXguY29tLyIgdGFyZ2V0PSJfYmxhbmsiPlR3ZWFrTWF4LmNvbTwvYT4gDQorICAgICAgICAgICAgPGJyPjxicj5Ob3RlOiBUb2RheSBtb3JuaW5nIHdoZW4gSSB3b2tlIHVwIEkgc2F3IG15IHdob2xlIHNjcmVlbiANCisgICAgICAgICAgICBjbHV0dGVyZWQgd2l0aCBhIGJ1bmNoIG9mIElNcyEhIEkgbGl2ZSBpbiB0aGUgVVNBIG9uIEVTVC4gSWYgeW91IA0KKyAgICAgICAgICAgIGxpdmUgc29tZXdoZXJlIGVsc2UgcGxlYXNlIGNoZWNrIHRoZSB0aW1lIGluIG15IGFyZWEuIGZvciBleGFtcGxlOiANCisgICAgICAgICAgICBJZiB5b3UgbGl2ZSBpbiBFdXJvcGUgYW5kIElNIG1lIGluIHRoZSBtb3JuaW5nIHlvdXIgdGltZSBJIHdvdWxkIGJlIA0KKyAgICAgICAgICAgIHNsZWVwaW5nIGl0IHdvdWxkIGJlIGxpa2UgNCBpbiB0aGUgbW9ybmluZyBoZXJlLiBKdXN0IHRvIGxldCB5b3UgDQorICAgICAgICAgICAga25vdyA8aW1nIHNyYz0iZG9jM19maWxlcy9zbWlsZS5naWYiPjxicj5JJ20gbm90IGFuZ3J5IGF0IGFueW9uZS4uLiANCisgICAgICAgICAgICBnb29kIHRoaW5nIEkgaGF2ZSBhIGxvbmcgZnVzZSA8aW1nIHNyYz0iZG9jM19maWxlcy90b25ndWUuZ2lmIj48YnI+PC9mb250Pjxicj48YnI+PGEgbmFtZT0ibmV3c2l0ZW05NjQ1ODc4MzMsNzQ1NzMsIj48L2E+DQorICAgICAgICAgICAgPHRhYmxlIGJnY29sb3I9IiMwMDMzOTkiIHdpZHRoPSIxMDAlIj4NCisgICAgICAgICAgICAgIDx0Ym9keT4NCisgICAgICAgICAgICAgIDx0cj4NCisgICAgICAgICAgICAgICAgPHRkPjxmb250IGNvbG9yPSIjZmZmZmZmIiBmYWNlPSJWZXJkYW5hLGFyaWFsIiBzaXplPSIyIj48Yj5UdWVzZGF5LCANCisgICAgICAgICAgICAgICAgICBKdWx5IDI1LCAyMDAwPC9iPjwvZm9udD48L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8L3RhYmxlPgorPGJyPjwhLS08aHIgbm9zaGFkZSB3aWR0aD0xMDAlPi0tPjxiPjx1Pjxmb250IGNvbG9yPSIjMDAzMzY2IiBmYWNlPSJWZXJkYW5hLCBBcmlhbCIgc2l6ZT0iMiI+SEVMTE8gDQorICAgICAgICAgICAgRVZFUllPTkUhISE8L2ZvbnQ+PC91PjwvYj48YnI+PGZvbnQgY29sb3I9IiMwMDY2Y2MiIGZhY2U9IkFyaWFsIiBzaXplPSIxIj48c21hbGw+UG9zdGVkIGJ5IDxhIGNsYXNzPSJuYXYiIGhyZWY9Im1haWx0bzpIb2xvZGVja0BicDYuY29tIj5Ib2xvZGVjazI8L2E+IEAgMTA6MDNQTSANCisgICAgICAgICAgICBQRFQ8L3NtYWxsPqAgPGJyPjxmb250IGNvbG9yPSJibGFjayIgZmFjZT0iQXJpYWwiIHNpemU9IjIiPkhlbGxvIA0KKyAgICAgICAgICAgIGV2ZXJ5b25lLCBXb29ob28hISBJJ20gb24hITxicj5XaG8gaXMgdGhpcyBIb2xvZGVjazIgcGVyc29uIA0KKyAgICAgICAgICAgIGFueXdheXM/IT8hIFJlYWQgb24gOi0pPGJyPkkmIzgyMTc7bSBhIHJlZ3VsYXIgb24gdGhlIGJwNiBtZXNzYWdlYm9hcmQsIA0KKyAgICAgICAgICAgIHRyeWluZyB0byBoZWxwIHBlb3BsZSBvdXQgd2l0aCB0aGVpciBwcm9ibGVtcy48YnI+SSYjODIxNzttIHRoZSANCisgICAgICAgICAgICBzZWxmLXByb2NsYWltZWQgYnA2IGNvb2xpbmcgZXhwZXJ0LCBJZiB5b3UgaGF2ZSBhIGNvb2xpbmcgaWRlYSwgSSYjODIxNzt2ZSANCisgICAgICAgICAgICBwcm9iYWJseSBhbHJlYWR5IGRvbmUgaXQgYW5kIGNhbiBvZmZlciBzb21lIGluY2l0ZS48YnI+TXkgY29tcHV0ZXIgDQorICAgICAgICAgICAgaXMgYWx3YXlzIG9uIHNvIHlvdSBjYW4gY29udGFjdCBtZSB3aGVuZXZlci4uLiBwcm9ibGVtIGlzLCBJJ20gbm90IA0KKyAgICAgICAgICAgIGFsd2F5cyBpbiBmcm9udCBvZiBpdC4gSSdsbCB0cnkgdG8gdXBkYXRlIHRoaXMgcGFnZSBhbmQga2VlcCANCisgICAgICAgICAgICBldmVyeW9uZSBoYXBweSA6LSk8YnI+QW55IFF1ZXN0aW9ucyBvciBjb21tZW50cywgeW91IGNhbiBlaXRoZXIgDQorICAgICAgICAgICAgY29udGFjdCBtZSBvciBwb3N0IGl0IG9uIHRoZSBtZXNzYWdlYm9hcmQuPGJyPjxicj5XYXlzIHRvIGNvbnRhY3QgDQorICAgICAgICAgICAgbWUuPGJyPkUtbWFpbDogPGEgaHJlZj0ibWFpbHRvOkhvbG9kZWNrMkBob21lLmNvbSI+SG9sb2RlY2syQGhvbWUuY29tPC9hPiAoQWxsIEUtbWFpbHMgDQorICAgICAgICAgICAgd2lsbCBiZSBhbnN3ZXJlZCBpbiAyNCBob3VycyBvciBsZXNzLCBJIGd1YXJhbnRlZSBpdC4pPGJyPldoZW4geW91IA0KKyAgICAgICAgICAgIHdyaXRlIG1lIGFuIGUtbWFpbCBwbGVhc2UgcHV0IGluIHRoZSBzdWJqZWN0IGxpbmUgIkJQNiIgdGhlbiB0aGUgDQorICAgICAgICAgICAgcmVzdCBvZiB5b3VyIHN1YmplY3Qgc28gbXkgZS1tYWlsIHByb2dyYW0gY2FuIHNvcnQgaXQsIHRoYW5rczxicj48YSBocmVmPSJodHRwOi8vd3d3LmFvbC5jb20vYWltIj5BSU06IDwvYT5Ib2xvZGVjazIgKGluc3RhbnQgcmVzcG9uc2UgDQorICAgICAgICAgICAgaWYgSSYjODIxNzttIGluIGZyb250IG9mIG15IGNvbXAgYW5kIG5vdCB0cnlpbmcgdG8gZnJhZyBzb21lb25lKTxicj48YSBocmVmPSJodHRwOi8vd3d3LmljcS5jb20vZG93bmxvYWQiPklDUTogPC9hPjgyNjQwMjE4IChyYXJlbHkgDQorICAgICAgICAgICAgb24pPGJyPjxicj5QLlMuIElmIHNvbWVvbmUgbmFtZWQgJiM4MjIwO0RpZ2l0YWwgVm9ydGV4JiM4MjIxOyBvbiBlaXRoZXIgUXVha2UgMyANCisgICAgICAgICAgICBvciAyIGZyYWdzIHlvdSwgaXQmIzgyMTc7cyBwcm9iYWJseSBtZS4gOy0pPGJyPjwvZm9udD48YnI+PGJyPjxhIG5hbWU9Im5ld3NpdGVtOTY0NDI5NTc3LDEzMzc1LCI+PC9hPg0KKyAgICAgICAgICAgIDx0YWJsZSBiZ2NvbG9yPSIjMDAzMzk5IiB3aWR0aD0iMTAwJSI+DQorICAgICAgICAgICAgICA8dGJvZHk+DQorICAgICAgICAgICAgICA8dHI+DQorICAgICAgICAgICAgICAgIDx0ZD48Zm9udCBjb2xvcj0iI2ZmZmZmZiIgZmFjZT0iVmVyZGFuYSxhcmlhbCIgc2l6ZT0iMiI+PGI+TW9uZGF5LCANCisgICAgICAgICAgICAgICAgICBKdWx5IDI0LCAyMDAwPC9iPjwvZm9udD48L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8L3RhYmxlPgorPGJyPjwhLS08aHIgbm9zaGFkZSB3aWR0aD0xMDAlPi0tPjxiPjx1Pjxmb250IGNvbG9yPSIjMDAzMzY2IiBmYWNlPSJWZXJkYW5hLCBBcmlhbCIgc2l6ZT0iMiI+QlA2IFEzIHNlcnZlciB1cCBhbmQgDQorICAgICAgICAgICAgcnVubmluZy4uPC9mb250PjwvdT48L2I+PGJyPjxmb250IGNvbG9yPSIjMDA2NmNjIiBmYWNlPSJBcmlhbCIgc2l6ZT0iMSI+PHNtYWxsPlBvc3RlZCBieSA8YSBjbGFzcz0ibmF2IiBocmVmPSJtYWlsdG86dGltQGJwNi5jb20iPnRpbTwvYT4gQCAyOjA2QU0gUERUPC9zbWFsbD6gIDxhIGhyZWY9Imh0dHA6Ly9icDYuZ2FtZXNxdWFkLm5ldC9uZXdzLzk2NDQyOTU3NywxMzM3NSwuaHRtbCI+PGltZyBib3JkZXI9IjAiIHNyYz0iZG9jM19maWxlcy9jb21tZW50cy5naWYiPjMgY29tbWVudHM8L2E+IA0KKyAgICAgICAgICAgIKB8oDxhIGhyZWY9Imh0dHA6Ly9icDYuZ2FtZXNxdWFkLm5ldC8jbmV3c190b3AiPnRvcDwvYT48L2ZvbnQ+IDxicj48Zm9udCBjb2xvcj0iYmxhY2siIGZhY2U9IkFyaWFsIiBzaXplPSIyIj5TZXR1cCBhIFEzIHNlcnZlciBmb3IgYW55b25lIHdhbnRpbmcgDQorICAgICAgICAgICAgdG8gcHJhY3RpY2UgaW4gcHJlcGFyYXRpb24gZm9yIFF1YWtlY29uLi4gQ29ubmVjdCB0byBicDYuZHluZG5zLm9yZyANCisgICAgICAgICAgICBkZWZhdWx0IHBvcnQuIChTRVJWRVI6IEJQNiBzeXN0ZW0sIDI1NiBNQiByYW0sIGNlbGVyb24gNjAwIG9uIGEgVDMgDQorICAgICAgICAgICAgY29ubmVjdGlvbikuLi4gV2lsbCBiZSBtb3ZlZCB0byBhbm90aGVyIEJQNiBzZXJ2ZXIgZXZlbnR1YWxseS4gVGhpcyANCisgICAgICAgICAgICBpcyBvbmx5IGEgdGVtcG9yYXJ5IHRlc3Qgb2YgdGhlIHN5c3RlbSBhbmQgbmV0IGNvbm5lY3Rpb24uIDxicj4oQlRXLSANCisgICAgICAgICAgICB0aGVyZSBhcmUgYSBmZXcgYm90J3MgcnVubmluZyBhcm91bmQgaW4gdGhlcmUuLik8L2ZvbnQ+PGJyPjxicj48YSBuYW1lPSJuZXdzaXRlbTk2NDQyNTE4NCw5NTgxMiwiPjwvYT48Yj48dT48Zm9udCBjb2xvcj0iIzAwMzM2NiIgZmFjZT0iVmVyZGFuYSwgQXJpYWwiIHNpemU9IjIiPkJJT1MgU2F2aW9yIHRvIHRoZSANCisgICAgICAgICAgICByZXNjdWUuLi4uPC9mb250PjwvdT48L2I+PGJyPjxmb250IGNvbG9yPSIjMDA2NmNjIiBmYWNlPSJBcmlhbCIgc2l6ZT0iMSI+PHNtYWxsPlBvc3RlZCBieSA8YSBjbGFzcz0ibmF2IiBocmVmPSJtYWlsdG86dGltQGJwNi5jb20iPnRpbTwvYT4gQCAxMjo1M0FNIFBEVDwvc21hbGw+oCA8YSBocmVmPSJodHRwOi8vYnA2LmdhbWVzcXVhZC5uZXQvbmV3cy85NjQ0MjUxODQsOTU4MTIsLmh0bWwiPjxpbWcgYm9yZGVyPSIwIiBzcmM9ImRvYzNfZmlsZXMvY29tbWVudHMuZ2lmIj4yIGNvbW1lbnRzPC9hPiANCisgICAgICAgICAgICCgfKA8YSBocmVmPSJodHRwOi8vYnA2LmdhbWVzcXVhZC5uZXQvI25ld3NfdG9wIj50b3A8L2E+PC9mb250PiA8YnI+PGZvbnQgY29sb3I9ImJsYWNrIiBmYWNlPSJBcmlhbCIgc2l6ZT0iMiI+RG8geW91IHN3ZWF0IGR1cmluZyB0aGUgQklPUyBmbGFzaGluZyANCisgICAgICAgICAgICBwcm9jZWR1cmUgb24geW91ciBCUDYgbW9ibz8gSWYgc28gdGhlbiB0aGlzIGxpdHRsZSBnYWRnZXQgbWF5YmUgDQorICAgICAgICAgICAgd29ydGggYSBmaXJzdCBsb29rLiBJdCdzIGNhbGxlZCB0aGUgIjxiPlJEMSBCSU9TIFNhdmlvcjwvYj4iIGFuZCBpdCANCisgICAgICAgICAgICBwbHVncyBpbiBiZXR3ZWVuIHlvdXIgQklPUyBST00gYW5kIHRoZSBCSU9TIFJPTSBzb2NrZXQgb24geW91ciBtb2JvLiANCisgICAgICAgICAgICBUaGlzIGRldmljZSB3aWxsIGJhY2t1cCB5b3VyIEJJT1MgYW5kIGFuZCBhbGxvdyB5b3UgdG8gcmVjb3ZlciB5b3VyIA0KKyAgICAgICAgICAgIEJJT1MgaW4gdGhlIGV2ZW50IHRoYXQgeW91ciBmbGFzaGluZyBzZXNzaW9uIGdvZXMgd3JvbmcuIEluIHRoZSANCisgICAgICAgICAgICBldmVudCBvZiBhIGJhZCBmbGFzaCwganVzdCBmbGlwIGEgc3dpdGNoIG9uIHRoZSBSREkgYW5kIGJvb3QgdXAgeW91ciANCisgICAgICAgICAgICBzeXN0ZW0sIGFuZCBmbGFzaCBhZ2Fpbi4gVGhpcyBpcyBhbHNvIGdvb2QgYXMgYSBmYWlsc2FmZSBpbiBjYXNlIHlvdSANCisgICAgICAgICAgICBkb24ndCBiZWxpZXZlIGluIFZpcnVzIFByb3RlY3RpbmcgeW91ciBjb21wdXRlci4gKFRoYW5rcyB0byBGcmVkIGZvciANCisgICAgICAgICAgICBsaW5rKTxicj48YSBocmVmPSJodHRwOi8vd3d3Lmlvc3MuY29tLnR3L2VnL3JkMS9SRDFpbmZvMDAwNC5QREYiIHRhcmdldD0iX05FVyI+TWFudWZhY3R1cmVycyBCcm9jaHVyZTwvYT4gKFBERiBGb3JtYXQpPGJyPjxhIGhyZWY9Imh0dHA6Ly8xOTIuMjE2LjE4NS4xMC9td2F2ZS9kb2MvQTA2OTUwLmh0bWwiIHRhcmdldD0nX0JMQU5LIic+QW5vdGhlciBpbmZvIHBhZ2U8L2E+PGJyPjxhIGhyZWY9Imh0dHA6Ly8xOTIuMjE2LjE4NS4xMC9td2F2ZS9Qcm9kTUItQUMtTVcuaG14P1VJRD0mYW1wO0NJRD0mYW1wO3VwZGVwdHM9TUImYW1wO0ROQU1FPSUzQ2IlM0VNb3RoZXJib2FyZHMlM0MlMkZiJTNFJmFtcDtCYWNrPVByb2RNQi1BQy1NVy5obXg/IiB0YXJnZXQ9Il9CTEFOSyI+QXZhaWxhYmxlIGZvciBhYm91dCAkMjA8L2E+PGJyPjxicj48aW1nIHNyYz0iZG9jM19maWxlcy9yZDEuanBnIj48L2ZvbnQ+PGJyPjxicj48YSBuYW1lPSJuZXdzaXRlbTk2Mzg3NTg1MywxMjczMSwiPjwvYT4NCisgICAgICAgICAgICA8dGFibGUgYmdjb2xvcj0iIzAwMzM5OSIgd2lkdGg9IjEwMCUiPg0KKyAgICAgICAgICAgICAgPHRib2R5Pg0KKyAgICAgICAgICAgICAgPHRyPg0KKyAgICAgICAgICAgICAgICA8dGQ+PGZvbnQgY29sb3I9IiNmZmZmZmYiIGZhY2U9IlZlcmRhbmEsYXJpYWwiIHNpemU9IjIiPjxiPk1vbmRheSwgDQorICAgICAgICAgICAgICAgICAgSnVseSAxNywgMjAwMDwvYj48L2ZvbnQ+PC90ZD4KKzwvdHI+Cis8L3Rib2R5PgorPC90YWJsZT4KKzxicj48IS0tPGhyIG5vc2hhZGUgd2lkdGg9MTAwJT4tLT48Yj48dT48Zm9udCBjb2xvcj0iIzAwMzM2NiIgZmFjZT0iVmVyZGFuYSwgQXJpYWwiIHNpemU9IjIiPkhvdyBUbyANCisgICAgICAgICAgICBPdmVyY2xvY2s8L2ZvbnQ+PC91PjwvYj48YnI+PGZvbnQgY29sb3I9IiMwMDY2Y2MiIGZhY2U9IkFyaWFsIiBzaXplPSIxIj48c21hbGw+UG9zdGVkIGJ5IDxhIGNsYXNzPSJuYXYiIGhyZWY9Im1haWx0bzpraWxsekBpODJocS5jb20iPkRhcmVEZXZpbDwvYT4gQCA0OjE3UE0gDQorICAgICAgICAgICAgUERUPC9zbWFsbD6gIDxhIGhyZWY9Imh0dHA6Ly9icDYuZ2FtZXNxdWFkLm5ldC9uZXdzLzk2Mzg3NTg1MywxMjczMSwuaHRtbCI+PGltZyBib3JkZXI9IjAiIHNyYz0iZG9jM19maWxlcy9jb21tZW50cy5naWYiPjMgY29tbWVudHM8L2E+IA0KKyAgICAgICAgICAgIKB8oDxhIGhyZWY9Imh0dHA6Ly9icDYuZ2FtZXNxdWFkLm5ldC8jbmV3c190b3AiPnRvcDwvYT48L2ZvbnQ+IDxicj48Zm9udCBjb2xvcj0iYmxhY2siIGZhY2U9IkFyaWFsIiBzaXplPSIyIj5Gb3IgdGhvc2Ugb2YgeW91IHdobyBhcmUgbmV3IHRvIA0KKyAgICAgICAgICAgIG92ZXJjbG9ja2luZywgdGhpcyBndWlkZSB3aWxsIGV4cGxhaW4gdG8geW91IGhvdyB0byBvdmVyY2xvY2ssIGFuZCANCisgICAgICAgICAgICB3aGF0IHNvbWUgb2YgdGhlIHRlcm1zIGFyZS4gTGlrZSAnRlNCJyAod2hhdCB0aGUgaGVjayBpcyB0aGF0IT8gDQorICAgICAgICAgICAgOjApKTxicj48YnI+PGEgaHJlZj0iaHR0cDovL25ldGtpbGxzLnFnbC5vcmcvYV9vY19jb21wLnNodG1sIiB0YXJnZXQ9Il9ibGFuayI+SG93IFRvIE92ZXJjbG9jazwvYT4gPC9mb250Pjxicj48YnI+PGEgbmFtZT0ibmV3c2l0ZW05NjM4NzU0ODUsMjMzNTMsIj48L2E+PGI+PHU+PGZvbnQgY29sb3I9IiMwMDMzNjYiIGZhY2U9IlZlcmRhbmEsIEFyaWFsIiBzaXplPSIyIj5UaGUgQ2FyZGNvb2xlciANCisgICAgICAgICAgICBYVDwvZm9udD48L3U+PC9iPjxicj48Zm9udCBjb2xvcj0iIzAwNjZjYyIgZmFjZT0iQXJpYWwiIHNpemU9IjEiPjxzbWFsbD5Qb3N0ZWQgYnkgPGEgY2xhc3M9Im5hdiIgaHJlZj0ibWFpbHRvOmtpbGx6QGk4MmhxLmNvbSI+RGFyZURldmlsPC9hPiBAIDQ6MTFQTSANCisgICAgICAgICAgICBQRFQ8L3NtYWxsPqAgPGEgaHJlZj0iaHR0cDovL2JwNi5nYW1lc3F1YWQubmV0L25ld3MvOTYzODc1NDg1LDIzMzUzLC5odG1sIj48aW1nIGJvcmRlcj0iMCIgc3JjPSJkb2MzX2ZpbGVzL2NvbW1lbnRzLmdpZiI+MSBjb21tZW50czwvYT4gDQorICAgICAgICAgICAgoHygPGEgaHJlZj0iaHR0cDovL2JwNi5nYW1lc3F1YWQubmV0LyNuZXdzX3RvcCI+dG9wPC9hPjwvZm9udD4gPGJyPjxmb250IGNvbG9yPSJibGFjayIgZmFjZT0iQXJpYWwiIHNpemU9IjIiPldvdyEgSSBhbSBpbXByZXNzZWQhIE5ldmVybWluZCBrZWVwaW5nIA0KKyAgICAgICAgICAgIHRoZSBDUFUncyBjb29sLi4uIEtlZXAgeW91ciB3aG9sZSBib2FyZCBjb29sITxicj48YnI+PGk+RXZlbiBpZiB5b3VyIA0KKyAgICAgICAgICAgIG5vdCBvdmVyY2xvY2tpbmcgeW91ciBzeXN0ZW0gKG9yIHBsYW5uaW5nIG9uIGl0KSwgdGhpcyB1bml0IHdpbGwgDQorICAgICAgICAgICAgcHJvdmlkZSBzeXN0ZW0gc3RhYmlsaXR5IGFuZCBsb25nZXZpdHkuIFdoYXQgd291bGQgaGFwcGVuIG9uZSBkYXkgb2YgDQorICAgICAgICAgICAgeW91ciBHZUZvcmNlIG9yIENQVSBmYW4gd2VudCBkZWFkPyBZb3UgY2FuIGFsc28gdGhpbmsgb2YgdGhpcyANCisgICAgICAgICAgICBjb29saW5nIHVuaXQgYXMgYSBiYWNrdXAgdG8gZXNzZW50aWFsIGNvb2xpbmcgZmFucyBpbiB5b3VyIA0KKyAgICAgICAgICAgIHN5c3RlbS48L2k+PGJyPjxicj5DaGVjayB0aGlzIG91dCE8YnI+PGJyPjxhIGhyZWY9Imh0dHA6Ly93d3cuYnJva2VucGl4ZWwuY29tL2FydGljbGVzL2Nvb2xlclhUL2NhcmRjb29sZXJYVF8xLnNodG1sIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL3d3dy5icm9rZW5waXhlbC5jb20vYXJ0aWNsZXMvY29vbGVyWFQvY2FyZGNvb2xlclhUXzEuc2h0bWw8L2E+IA0KKyAgICAgICAgICAgIDwvZm9udD48YnI+PGJyPjxhIG5hbWU9Im5ld3NpdGVtOTYzODU5OTgyLDg4OTgyLCI+PC9hPjxiPjx1Pjxmb250IGNvbG9yPSIjMDAzMzY2IiBmYWNlPSJWZXJkYW5hLCBBcmlhbCIgc2l6ZT0iMiI+J05lcmQgDQorICAgICAgICAgICAgSW5zaWRlJzwvZm9udD48L3U+PC9iPjxicj48Zm9udCBjb2xvcj0iIzAwNjZjYyIgZmFjZT0iQXJpYWwiIHNpemU9IjEiPjxzbWFsbD5Qb3N0ZWQgYnkgPGEgY2xhc3M9Im5hdiIgaHJlZj0ibWFpbHRvOmtpbGx6QGk4MmhxLmNvbSI+RGFyZURldmlsPC9hPiBAIDExOjUzQU0gDQorICAgICAgICAgICAgUERUPC9zbWFsbD6gIDxhIGhyZWY9Imh0dHA6Ly9icDYuZ2FtZXNxdWFkLm5ldC9uZXdzLzk2Mzg1OTk4Miw4ODk4MiwuaHRtbCI+PGltZyBib3JkZXI9IjAiIHNyYz0iZG9jM19maWxlcy9jb21tZW50cy5naWYiPjEgY29tbWVudHM8L2E+IA0KKyAgICAgICAgICAgIKB8oDxhIGhyZWY9Imh0dHA6Ly9icDYuZ2FtZXNxdWFkLm5ldC8jbmV3c190b3AiPnRvcDwvYT48L2ZvbnQ+IDxicj48Zm9udCBjb2xvcj0iYmxhY2siIGZhY2U9IkFyaWFsIiBzaXplPSIyIj5XZSBhbGwgbmVlZCB0byBoYXZlIHNvbWUgZnVuIA0KKyAgICAgICAgICAgIHNvbWV0aW1lcyEgQ2hlY2sgb3V0IHRoaXMgbGl0dGxlIHdlYiBzaXRlIHRoYXQgc2VsbHMgJ25lcmQnIGNsb3RoaW5nIA0KKyAgICAgICAgICAgIDspIChJIGxpa2UgdGhlIGJpYnMgaW4gdGhlIEp1bmlvciBIYWNrZXJ6IHNlY3Rpb24pIDot3jxicj48YnI+DQorICAgICAgICAgICAgPGRpdiBhbGlnbj0iY2VudGVyIj48YSBocmVmPSJodHRwOi8vd3d3Lm5lcmRnZWFyLmNvbS8iIHRhcmdldD0iX2JsYW5rIj48aW1nIGJvcmRlcj0iMCIgc3JjPSJkb2MzX2ZpbGVzL25lcmRpbnNpZGUuZ2lmIj48L2E+PC9kaXY+PC9mb250Pjxicj48YnI+PGEgbmFtZT0ibmV3c2l0ZW05NjM4MTk3OTYsOTY4OCwiPjwvYT48Yj48dT48Zm9udCBjb2xvcj0iIzAwMzM2NiIgZmFjZT0iVmVyZGFuYSwgQXJpYWwiIHNpemU9IjIiPkR1YWwgUFNVIFdpcmluZyBkaWFncmFtLi4uIChwcmV2aWV3IHRvIA0KKyAgICAgICAgICAgIFBhcnQgMSBXYXRlcmNvb2xpbmcgUHJvamVjdCk8L2ZvbnQ+PC91PjwvYj48YnI+PGZvbnQgY29sb3I9IiMwMDY2Y2MiIGZhY2U9IkFyaWFsIiBzaXplPSIxIj48c21hbGw+UG9zdGVkIGJ5IDxhIGNsYXNzPSJuYXYiIGhyZWY9Im1haWx0bzp0aW1AYnA2LmNvbSI+dGltPC9hPiBAIDEyOjQzQU0gUERUPC9zbWFsbD6gIDxhIGhyZWY9Imh0dHA6Ly9icDYuZ2FtZXNxdWFkLm5ldC9uZXdzLzk2MzgxOTc5Niw5Njg4LC5odG1sIj48aW1nIGJvcmRlcj0iMCIgc3JjPSJkb2MzX2ZpbGVzL2NvbW1lbnRzLmdpZiI+MTEgY29tbWVudHM8L2E+IA0KKyAgICAgICAgICAgIKB8oDxhIGhyZWY9Imh0dHA6Ly9icDYuZ2FtZXNxdWFkLm5ldC8jbmV3c190b3AiPnRvcDwvYT48L2ZvbnQ+IDxicj48Zm9udCBjb2xvcj0iYmxhY2siIGZhY2U9IkFyaWFsIiBzaXplPSIyIj5XaGVuIGlzIGNvbWVzIHRvIG92ZXJjbG9ja2luZyB5b3VyIA0KKyAgICAgICAgICAgIHN5c3RlbSwgY29vbGluZyBwbGF5cyBhIGJpZyByb2xlLiBQb3dlcmluZyBhbGwgb2YgdGhvc2UgZmFucyBpbiB5b3VyIA0KKyAgICAgICAgICAgIHN5c3RlbSBjYW4gY2F1c2UgcXVpdGUgYSBzdHJhaW4gb24geW91ciBQU1UgKFBvd2VyIFN1cHBseSBVbml0KS4gDQorICAgICAgICAgICAgRGVwZW5kaW5nIG9uIHRoZSBudW1iZXIgb2YgcGVyaXBoZXJhbHMgaW4geW91ciBzeXN0ZW0sIGFkZGluZyBhIG1vcmUgDQorICAgICAgICAgICAgcG93ZXJmdWxsIFBTVSBvciBhZGRpbmcgYSBzZWNvbmQgUFNVIG1heSBiZSBuZWNjZXNhcnkuIEZvciANCisgICAgICAgICAgICB3YXRlcmNvb2xpbmcgYW5kIHVzaW5nIHBlbHRpZXJzLCBkZWRpY2F0aW5nIGEgc2Vjb25kIFBTVSB0byBwb3dlciANCisgICAgICAgICAgICB0aGUgUGVsdGllcnMgKFRFQydzKSBpcyBhIGdvb2QgaWRlYS4gSGVyZSBJIGhhdmUgY29tZSB1cCB3aXRoIDIgDQorICAgICAgICAgICAgZGlhZ3JhbXMgb24gaG93IEkgd2lyZWQgZHVhbCAzMDAgd2F0dCBBVFggcG93ZXIgc3VwcGx5IHVuaXRzIGZvciB0aGUgDQorICAgICAgICAgICAgQmxpenphcmQgQlA2IHdhdGVyY29vbGluZyBwcm9qZWN0LiBDb25zaWRlciB0aGlzIHBhcnQgb2YgU3RlcCAxLiANCisgICAgICAgICAgICBNb3JlIHdpbGwgZm9sbG93IHRoaXMgd2Vlay4gQlRXLi4gaGFja2luZyB1cCB5b3VyIFBTVSdzIGlzIHZlcnkgDQorICAgICAgICAgICAgZGFuZ2Vyb3VzIGFuZCBpcyBub3QgcmVjb21tZW5kZWQgdW5sZXNzIHlvdSBrbm93IHdoYXQgeW91IGFyZSBkb2luZy4gDQorICAgICAgICAgICAgPGJyPjxicj5WaWV3IERpYWdyYW0gMSA8YSBocmVmPSJodHRwOi8vYnA2LmdhbWVzcXVhZC5uZXQvaW1hZ2VzL3dpcmluZy5qcGciIHRhcmdldD0iX0JMQU5LIj5oZXJlPC9hPi48YnI+VmlldyBEaWFncmFtIDIgPGEgaHJlZj0iaHR0cDovL2JwNi5nYW1lc3F1YWQubmV0L2ltYWdlcy9wc3UyLmdpZiIgdGFyZ2V0PSJfQkxBTksiPmhlcmU8L2E+Ljxicj48YnI+SSB1c2VkIFRhcC1JbiBTcXVlZXplIENvbm5lY3RvcnMgYW5kIA0KKyAgICAgICAgICAgIDIyIGd1YWdlIHdpcmUgdG8gY29ubmVjdCB0aGUgd2lyZXMuIFlvdSBjYW4gZ2V0IHRoZW0gYXQgUmFkaW8gU2hhY2sgDQorICAgICAgICAgICAgUGFydCMgNjQtMzA1MyBvciA8YSBocmVmPSJodHRwOi8vd3d3LnJhZGlvc2hhY2suY29tL1Byb2R1Y3RDYXRhbG9nL1Byb2R1Y3REZXRhaWwvSW5kZXgvMSwyMDk4LCwwMC5odG1sP1NLVVN0cmluZzE9NjQmYW1wO1NLVVN0cmluZzI9MzA1MyIgdGFyZ2V0PSJfYmxhbmsiPmNsaWNrIGhlcmU8L2E+LjwvZm9udD48YnI+PGJyPjxhIG5hbWU9Im5ld3NpdGVtOTYzNzY2NjU1LDc4NTExLCI+PC9hPg0KKyAgICAgICAgICAgIDx0YWJsZSBiZ2NvbG9yPSIjMDAzMzk5IiB3aWR0aD0iMTAwJSI+DQorICAgICAgICAgICAgICA8dGJvZHk+DQorICAgICAgICAgICAgICA8dHI+DQorICAgICAgICAgICAgICAgIDx0ZD48Zm9udCBjb2xvcj0iI2ZmZmZmZiIgZmFjZT0iVmVyZGFuYSxhcmlhbCIgc2l6ZT0iMiI+PGI+U3VuZGF5LCANCisgICAgICAgICAgICAgICAgICBKdWx5IDE2LCAyMDAwPC9iPjwvZm9udD48L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8L3RhYmxlPgorPGJyPjwhLS08aHIgbm9zaGFkZSB3aWR0aD0xMDAlPi0tPjxiPjx1Pjxmb250IGNvbG9yPSIjMDAzMzY2IiBmYWNlPSJWZXJkYW5hLCBBcmlhbCIgc2l6ZT0iMiI+UkFNIE92ZXJjbG9ja2luZz8gDQorICAgICAgICAgICAgSG1tbW1tLjwvZm9udD48L3U+PC9iPjxicj48Zm9udCBjb2xvcj0iIzAwNjZjYyIgZmFjZT0iQXJpYWwiIHNpemU9IjEiPjxzbWFsbD5Qb3N0ZWQgYnkgPGEgY2xhc3M9Im5hdiIgaHJlZj0ibWFpbHRvOmtpbGx6QGk4MmhxLmNvbSI+RGFyZURldmlsPC9hPiBAIDk6NTdBTSANCisgICAgICAgICAgICBQRFQ8L3NtYWxsPqAgPGEgaHJlZj0iaHR0cDovL2JwNi5nYW1lc3F1YWQubmV0L25ld3MvOTYzNzY2NjU1LDc4NTExLC5odG1sIj48aW1nIGJvcmRlcj0iMCIgc3JjPSJkb2MzX2ZpbGVzL2NvbW1lbnRzLmdpZiI+MyBjb21tZW50czwvYT4gDQorICAgICAgICAgICAgoHygPGEgaHJlZj0iaHR0cDovL2JwNi5nYW1lc3F1YWQubmV0LyNuZXdzX3RvcCI+dG9wPC9hPjwvZm9udD4gPGJyPjxmb250IGNvbG9yPSJibGFjayIgZmFjZT0iQXJpYWwiIHNpemU9IjIiPkkga25vdyB3ZSdyZSBwcmV0dHkgYmlnIG92ZXJjbG9ja2VycyANCisgICAgICAgICAgICBoZXJlIGF0IEJQNi5Db20gc28sIHRoaXMgaXMgYSBwb3N0IG9mIGNob2ljZSA7LSkgSSd2ZSBzZWVuIHRoZSANCisgICAgICAgICAgICBxdWVzdGlvbiBpbiB0aGUgbWVzc2FnZSBib2FyZHMsICd3aHkgY2FuJ3QgSSBvdmVyY2xvY2sgYW55IGhpZ2hlcj8nIA0KKyAgICAgICAgICAgIFdlbGwsIGl0J3Mgbm90IGFsd2F5cyB0aGUgQ1BVIHRoYXQncyBob2xkaW5nIHlvdSBiYWNrLi4uIE1hbnkgb3RoZXIgDQorICAgICAgICAgICAgdGhpbmdzIG5lZWQgdG8gYmUgdGFrZW4gY2FyZSBvZiB0byBvdmVyY2xvY2sgc3VjaCBhcyB5b3VyIFBDSSANCisgICAgICAgICAgICBkZXZpY2VzIChjYW4gdGhleSBoYW5kbGUgdGhlIGhpZ2hlciBidXMgc3BlZWQpLCB0aGUgYWN0dWFsIENQVSwgYW5kIA0KKyAgICAgICAgICAgIHlvdXIgUkFNLiBJJ20gbm90IHNheWluZyB0aGF0IHRoYXQgYSBoaWdoIHF1YWxpdHkgc3RpY2sgb2Ygc2lsaWNvbiANCisgICAgICAgICAgICB3aWxsIGVuYWJsZSB5b3UgdG8gb3ZlcmNsb2NrIHlvdXIgMzY2TUh6IHRvIDEgR0haIChJIHdpc2ghKSwgYnV0LCBpdCANCisgICAgICAgICAgICB3aWxsIGNlcnRhaW5seSBoZWxwID0pPGJyPjxicj5FeHRyZW1lIE92ZXJjbG9ja2luZyBoYXMgdGVzdGVkIA0KKyAgICAgICAgICAgIChvdmVyY2xvY2tlZCkgUEMxMzMgUkFNIHRvIHRoZXJlIGZ1bGwgcG90ZW50aWFsLiBIZXJlJ3MgYSBxdW90ZSBJIA0KKyAgICAgICAgICAgIGZvdW5kIGFuZCB0aGUgbGluazo8YnI+PGJyPjxpPldlbGwsIHRoZSBndXlzIGF0IEV4dHJlbWUgT3ZlcmNsb2NraW5nIA0KKyAgICAgICAgICAgIGhhdmUgYmVlbiBoYXJkIGF0IHdvcmsgYWdhaW4gd2l0aCB0aGVpciBsYXRlc3QgcmV2aWV3LiBUaGlzIHRpbWUgDQorICAgICAgICAgICAgdGhleSBoYXZlIHB1dCBzZXZlbiAxMjhNQiBQQzEzMyBtZW1vcnkgbW9kdWxlcyB0aHJvdWdoIHRoZSB0b3J0dXJlIA0KKyAgICAgICAgICAgIHRlc3RzIHRvIGRldGVybWluZSB0aGVpciBtYXhpbXVtIG92ZXJjbG9ja2luZyBwb3RlbnRpYWwuIFdoaWNoIG9uZSdzIA0KKyAgICAgICAgICAgIGNhbWUgb3V0IG9uIHRvcD8gUmVhZCB0aGUgcmV2aWV3IHRvIGZpbmQgb3V0Li4uLjwvaT48YnI+PGJyPjxhIGhyZWY9Imh0dHA6Ly93d3cuZXh0cmVtZW92ZXJjbG9ja2luZy5jb20vcmV2aWV3cy9tZW1vcnkvcmFtX3JvdW5kdXBfMS5odG1sIiB0YXJnZXQ9Il9ibGFuayI+Q29va2VkIFJBTS4uLiBZdW1taWU8L2E+PGJyPjxicj5UaGUgDQorICAgICAgICAgICAg0NAuPC9mb250Pjxicj48YnI+PGEgbmFtZT0ibmV3c2l0ZW05NjM3NjQyMzYsNzY3MjAsIj48L2E+PGI+PHU+PGZvbnQgY29sb3I9IiMwMDMzNjYiIGZhY2U9IlZlcmRhbmEsIEFyaWFsIiBzaXplPSIyIj5DUFUgDQorICAgICAgICAgICAgR3VpZGU8L2ZvbnQ+PC91PjwvYj48YnI+PGZvbnQgY29sb3I9IiMwMDY2Y2MiIGZhY2U9IkFyaWFsIiBzaXplPSIxIj48c21hbGw+UG9zdGVkIGJ5IDxhIGNsYXNzPSJuYXYiIGhyZWY9Im1haWx0bzpraWxsekBpODJocS5jb20iPkRhcmVEZXZpbDwvYT4gQCA5OjE3QU0gDQorICAgICAgICAgICAgUERUPC9zbWFsbD6gIDxhIGhyZWY9Imh0dHA6Ly9icDYuZ2FtZXNxdWFkLm5ldC9uZXdzLzk2Mzc2NDIzNiw3NjcyMCwuaHRtbCI+PGltZyBib3JkZXI9IjAiIHNyYz0iZG9jM19maWxlcy9jb21tZW50cy5naWYiPjAgY29tbWVudHM8L2E+IA0KKyAgICAgICAgICAgIKB8oDxhIGhyZWY9Imh0dHA6Ly9icDYuZ2FtZXNxdWFkLm5ldC8jbmV3c190b3AiPnRvcDwvYT48L2ZvbnQ+IDxicj48Zm9udCBjb2xvcj0iYmxhY2siIGZhY2U9IkFyaWFsIiBzaXplPSIyIj5BIGZvbGxvdyB1cCBvbiB0aGUgJ1dlZWtseSBDUFUgDQorICAgICAgICAgICAgUHJpY2VzJywgdGhpcyBndWlkZSB3aWxsIGhlbHAgeW91IGRldGVybWluZSB3aGljaCBjcHUgaXMgYmVzdCBmb3IgDQorICAgICAgICAgICAgeW91IChhbmQgeW91ciBib2FyZCA7LSkpLiBTZW50IHRvIG1lIGJ5IFNwYW5reSwgaGVyZSdzIHRoZSANCisgICAgICAgICAgICBsaW5rOjxicj48YnI+DQorICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHA6Ly93d3c2LnRvbXNoYXJkd2FyZS5jb20vaG93dG8vMDBxMi8wMDA0MTIvaW5kZXguaHRtbCIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly93d3c2LnRvbXNoYXJkd2FyZS5jb20vaG93dG8vMDBxMi8wMDA0MTIvaW5kZXguaHRtbDwvYT48L2xpPjwvZm9udD48YnI+PGJyPjxhIG5hbWU9Im5ld3NpdGVtOTYzNjg1NzQ5LDI4MjkwLCI+PC9hPg0KKyAgICAgICAgICAgIDx0YWJsZSBiZ2NvbG9yPSIjMDAzMzk5IiB3aWR0aD0iMTAwJSI+DQorICAgICAgICAgICAgICA8dGJvZHk+DQorICAgICAgICAgICAgICA8dHI+DQorICAgICAgICAgICAgICAgIDx0ZD48Zm9udCBjb2xvcj0iI2ZmZmZmZiIgZmFjZT0iVmVyZGFuYSxhcmlhbCIgc2l6ZT0iMiI+PGI+U2F0dXJkYXksIA0KKyAgICAgICAgICAgICAgICAgIEp1bHkgMTUsIDIwMDA8L2I+PC9mb250PjwvdGQ+Cis8L3RyPgorPC90Ym9keT4KKzwvdGFibGU+Cis8YnI+PCEtLTxociBub3NoYWRlIHdpZHRoPTEwMCU+LS0+PGI+PHU+PGZvbnQgY29sb3I9IiMwMDMzNjYiIGZhY2U9IlZlcmRhbmEsIEFyaWFsIiBzaXplPSIyIj5XZWVrbHkgQ1BVIA0KKyAgICAgICAgICAgIFByaWNlczwvZm9udD48L3U+PC9iPjxicj48Zm9udCBjb2xvcj0iIzAwNjZjYyIgZmFjZT0iQXJpYWwiIHNpemU9IjEiPjxzbWFsbD5Qb3N0ZWQgYnkgPGEgY2xhc3M9Im5hdiIgaHJlZj0ibWFpbHRvOmtpbGx6QGk4MmhxLmNvbSI+RGFyZURldmlsPC9hPiBAIDExOjI5QU0gDQorICAgICAgICAgICAgUERUPC9zbWFsbD6gIDxhIGhyZWY9Imh0dHA6Ly9icDYuZ2FtZXNxdWFkLm5ldC9uZXdzLzk2MzY4NTc0OSwyODI5MCwuaHRtbCI+PGltZyBib3JkZXI9IjAiIHNyYz0iZG9jM19maWxlcy9jb21tZW50cy5naWYiPjIgY29tbWVudHM8L2E+IA0KKyAgICAgICAgICAgIKB8oDxhIGhyZWY9Imh0dHA6Ly9icDYuZ2FtZXNxdWFkLm5ldC8jbmV3c190b3AiPnRvcDwvYT48L2ZvbnQ+IDxicj48Zm9udCBjb2xvcj0iYmxhY2siIGZhY2U9IkFyaWFsIiBzaXplPSIyIj5Xb3csIGZvdW5kIHRoaXMgdmVyeSB1c2VmdWwhIFdhbnRpbmcgDQorICAgICAgICAgICAgdG8gYnV5IGEgbmV3IENQVT8gQ2hlY2sgb3V0IHRoaXMgZGV0YWlsZWQgcHJpY2UgbGlzdCE8YnI+PGJyPjxhIGhyZWY9Imh0dHA6Ly93d3cuc2hhcmt5ZXh0cmVtZS5jb20vaGFyZHdhcmUvd2Vla2x5X2NwdS8iIHRhcmdldD0iX2JsYW5rIj5DbGljayBIZXJlLjwvYT4gPGJyPjxicj5UaGFua3MgU2hhcmt5IA0KKyAgICAgICAgICAgIEV4dHJlbWUhPC9mb250Pjxicj48YnI+PGEgbmFtZT0ibmV3c2l0ZW05NjM2Nzk4ODEsMzUyNzcsIj48L2E+PGI+PHU+PGZvbnQgY29sb3I9IiMwMDMzNjYiIGZhY2U9IlZlcmRhbmEsIEFyaWFsIiBzaXplPSIyIj5GYXN0IFdhbGxwYXBlcnM8L2ZvbnQ+PC91PjwvYj48YnI+PGZvbnQgY29sb3I9IiMwMDY2Y2MiIGZhY2U9IkFyaWFsIiBzaXplPSIxIj48c21hbGw+UG9zdGVkIGJ5IDxhIGNsYXNzPSJuYXYiIGhyZWY9Im1haWx0bzpraWxsekBpODJocS5jb20iPkRhcmVEZXZpbDwvYT4gQCA5OjUxQU0gDQorICAgICAgICAgICAgUERUPC9zbWFsbD6gIDxhIGhyZWY9Imh0dHA6Ly9icDYuZ2FtZXNxdWFkLm5ldC9uZXdzLzk2MzY3OTg4MSwzNTI3NywuaHRtbCI+PGltZyBib3JkZXI9IjAiIHNyYz0iZG9jM19maWxlcy9jb21tZW50cy5naWYiPjAgY29tbWVudHM8L2E+IA0KKyAgICAgICAgICAgIKB8oDxhIGhyZWY9Imh0dHA6Ly9icDYuZ2FtZXNxdWFkLm5ldC8jbmV3c190b3AiPnRvcDwvYT48L2ZvbnQ+IDxicj48Zm9udCBjb2xvcj0iYmxhY2siIGZhY2U9IkFyaWFsIiBzaXplPSIyIj5GQVNULU1IeiBoYXMgcmVsZWFzZWQgc29tZSB3YWxscGFwZXJzISANCisgICAgICAgICAgICA8YSBocmVmPSJodHRwOi8vNjQuMjkuMTguMTExL3dhbGxwYXBlci9pbmRleC5odG1sIiB0YXJnZXQ9Il9ibGFuayI+Q2xpY2sgaGVyZTwvYT4gdG8gdmlldyB0aGVtLiBUaGV5IGNvbWUgaW4gc2l6ZXMgDQorICAgICAgICAgICAgODAweDYwMCAxMDI0eDc2OCBhbmQgMTE1Mng4NjQuIElmIHlvdSBoYXZlIHlvdXIgZGVza3RvcCBzZXQgYXQgYSANCisgICAgICAgICAgICBsYXJnZXIgc2l6ZSwganVzdCB1c2UgdGhlICdzdHJldGNoJyBmdW5jdGlvbiBpbiBkZXNrdG9wIHByb3BlcnRpZXMgDQorICAgICAgICAgICAgaW5zdGVhZCBvZiAnY2VudGVyJy4gV29ya3MgZ3JlYXQuPGJyPjxicj5JbiBvdGhlciBuZXdzLCB3ZSB3YW50IHRvIA0KKyAgICAgICAgICAgIGZpbm5pc2ggb2ZmIGFsbCB0aGUgc2VjdGlvbnMgYXQgQlA2LkNvbSBzbywgdG8gc3RhcnQsIHdlJ3JlIGdvaW5nIHRvIA0KKyAgICAgICAgICAgIHdvcmsgb24gdGhlIDxhIGhyZWY9Imh0dHA6Ly9icDYuZ2FtZXNxdWFkLm5ldC91Yy5waHRtbCIgdGFyZ2V0PSJfYmxhbmsiPlBpY3R1cmUgR2FsbGVyeTwvYT4uIFRvIGhlbHAgdXMgb3V0LCB5b3UgY2FuIHNlbmQgaW4gDQorICAgICAgICAgICAgYWxsIHlvdXIgY29vbCwgd2llcmQsIGNyYXp5IHBpY3MgdGhhdCB5b3UgbWF5IGhhdmUgdG86IDxhIGhyZWY9Im1haWx0bzp0aGVkYXJlZGV2aWxAYnA2LmNvbSI+dGhlZGFyZWRldmlsQGJwNi5jb208L2E+LiAoVGhlIA0KKyAgICAgICAgICAgIHRvcGljIGJlaW5nIGNvbXB1dGVycywgZHVoISA6MCkgQW5kIG5vLi4uIEkgZG9uJ3Qgd2FudCB0byByZWNpZXZlIA0KKyAgICAgICAgICAgIGFueSBwb3JubyBwaWNjaWVzIGluIG15IG1haWxib3ghIEkgaGF2ZSBlbm91Z2ggb2YgdGhvc2UhKSBLaWRkaW5nIA0KKyAgICAgICAgICAgIGd1eXMuPGJyPjxicj5Pa2F5LCB0aGF0J3MgYWxsIGZvciBub3cuPGJyPjxicj5UaGUgDQorICAgICAgICAgICAg0NAuPC9mb250Pjxicj48YnI+PGEgbmFtZT0ibmV3c2l0ZW05NjM2MTk1MDUsMzc2NCwiPjwvYT4NCisgICAgICAgICAgICA8dGFibGUgYmdjb2xvcj0iIzAwMzM5OSIgd2lkdGg9IjEwMCUiPg0KKyAgICAgICAgICAgICAgPHRib2R5Pg0KKyAgICAgICAgICAgICAgPHRyPg0KKyAgICAgICAgICAgICAgICA8dGQ+PGZvbnQgY29sb3I9IiNmZmZmZmYiIGZhY2U9IlZlcmRhbmEsYXJpYWwiIHNpemU9IjIiPjxiPkZyaWRheSwgDQorICAgICAgICAgICAgICAgICAgSnVseSAxNCwgMjAwMDwvYj48L2ZvbnQ+PC90ZD4KKzwvdHI+Cis8L3Rib2R5PgorPC90YWJsZT4KKzxicj48IS0tPGhyIG5vc2hhZGUgd2lkdGg9MTAwJT4tLT48Yj48dT48Zm9udCBjb2xvcj0iIzAwMzM2NiIgZmFjZT0iVmVyZGFuYSwgQXJpYWwiIHNpemU9IjIiPkhleSANCisgICAgICAgICAgICBUaGVyZSE8L2ZvbnQ+PC91PjwvYj48YnI+PGZvbnQgY29sb3I9IiMwMDY2Y2MiIGZhY2U9IkFyaWFsIiBzaXplPSIxIj48c21hbGw+UG9zdGVkIGJ5IDxhIGNsYXNzPSJuYXYiIGhyZWY9Im1haWx0bzpraWxsekBpODJocS5jb20iPkRhcmVEZXZpbDwvYT4gQCA1OjA1UE0gDQorICAgICAgICAgICAgUERUPC9zbWFsbD6gIDxhIGhyZWY9Imh0dHA6Ly9icDYuZ2FtZXNxdWFkLm5ldC9uZXdzLzk2MzYxOTUwNSwzNzY0LC5odG1sIj48aW1nIGJvcmRlcj0iMCIgc3JjPSJkb2MzX2ZpbGVzL2NvbW1lbnRzLmdpZiI+NyBjb21tZW50czwvYT4gDQorICAgICAgICAgICAgoHygPGEgaHJlZj0iaHR0cDovL2JwNi5nYW1lc3F1YWQubmV0LyNuZXdzX3RvcCI+dG9wPC9hPjwvZm9udD4gPGJyPjxmb250IGNvbG9yPSJibGFjayIgZmFjZT0iQXJpYWwiIHNpemU9IjIiPkhleSBndXlzLCBqdXN0IHdhbnRlZCB0byBpbnRyb2R1Y2UgDQorICAgICAgICAgICAgbXlzZWxmLCBzb21lIG9mIHlvdSBtYXkgaGF2ZSBhbHJlYWR5IG1ldCBtZSBvbiB0aGUgQlA2LmNvbSBib2FyZC4gDQorICAgICAgICAgICAgSSdsbCBiZSBwb3N0aW5nIHVwIG5ld3MgZnJvbSB0aW1lIHRvIHRpbWUgbm93IHNvLCBpZiB5b3UnZCBsaWtlLCB5b3UgDQorICAgICAgICAgICAgbWF5IHNlbmQgbWUgc29tZSBuZXdzIHRvIGJlIHBvc3RlZCBpZiB5b3UgZmluZCBhbnkgKCB3ZSBkb24ndCB3YW50IA0KKyAgICAgICAgICAgIHRvIGZsb29kIFRpbSA7LSkgKS48YnI+PGJyPk15IGUtbWFpbCBhZGRyZXNzIGlzIDxhIGhyZWY9Im1haWx0bzpraWxsekBpODJocS5jb20iPmtpbGx6QGk4MmhxLmNvbTwvYT48YnI+PGJyPkNpYW8gZm9yIA0KKyAgICAgICAgICAgIG5vdy48YnI+PGJyPlRoZSDQ0C48L2ZvbnQ+PGJyPjxicj4NCisgICAgICAgICAgICA8L2ZvbnQ+PGNlbnRlcj48aWZyYW1lIGZyYW1lYm9yZGVyPSIwIiBoZWlnaHQ9IjYwIiBtYXJnaW5oZWlnaHQ9IjAiIG1hcmdpbndpZHRoPSIwIiBub3Jlc2l6ZSBzY3JvbGxpbmc9Im5vIiBzcmM9ImRvYzNfZmlsZXMvYWRfaWZyYW1lLmh0bSIgd2lkdGg9IjQ2OCI+PGEgaHJlZj0iaHR0cDovL2Fkcy5hZGZsaWdodC5jb20vZ29fc3RhdGljLmFzcD9hc2lkPTc3MDgiIHRhcmdldD0iX3RvcCI+PGltZyB3aWR0aD0iNDY4IiBoZWlnaHQ9IjYwIiBib3JkZXI9IjAiIGFsdD0iQWR2ZXJ0aXNlbWVudCIgc3JjPSJodHRwOi8vYWRzLmFkZmxpZ2h0LmNvbS9hZF9zdGF0aWMuYXNwP3BpZD0yMDk3JmFtcDtzaWQ9MTg4MSZhbXA7YXNpZD03NzA4Ij48L2E+PC9pZnJhbWU+PC9jZW50ZXI+Cis8L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8L3RhYmxlPgorPC9jZW50ZXI+Cis8L3RkPg0KKyAgICA8dGQgYmdjb2xvcj0ic2lsdmVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjEwJSI+DQorICAgICAgPGNlbnRlcj4NCisgICAgICA8cD4NCisgICAgICA8L3A+Cis8dGFibGUgYmdjb2xvcj0ic2lsdmVyIiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiPg0KKyAgICAgICAgPHRib2R5Pg0KKyAgICAgICAgPHRyPg0KKyAgICAgICAgICA8dGQgY29sc3RhcnQ9IjEiPg0KKyAgICAgICAgICAgIDxjZW50ZXI+Cis8IS0tCTxGT1JNIEFDVElPTj0iL2NnaS1iaW4vc3Vic2NyaWJlLnBsIiBNRVRIT0Q9IlBPU1QiIEVOQ1RZUEU9ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCI+DQorCQkJCQkJPElNRyBTUkM9Ii9pbWFnZXMvc3BhY2VyLmdpZiIgV0lEVEg9IjExMSIgSEVJR0hUPSIxIj48QlI+DQorCQkJCQkJPFA+PEI+PEZPTlQgU0laRT0iMiIgQ09MT1I9IiMwMDAwNjYiIEZBQ0U9IlZlcmRhbmEiPk5ld3NsZXR0ZXI8L0ZPTlQ+PC9CPjxGT05UIFNJWkU9IjEiIEZBQ0U9IlZlcmRhbmEiPjxCUj4NCisJCQkJCQk8SU5QVVQgVFlQRT0iVEVYVCIgTkFNRT0iZW1haWwiIFNJWkU9IjEwIiBWQUxVRT0idXJAZW1haWwuY29tIj48QlI+DQorCQkJCQkJPElOUFVUIFRZUEU9IkhJRERFTiIgTkFNRT0ic3Vic2NyaWJlIiBTSVpFPSItMSIgVkFMVUU9InN1YnNjcmliZSI+PElOUFVUIFRZUEU9IklNQUdFIiBTUkM9Ii9pbWFnZXMvc3Vic2NyaWJlLmdpZiIgV0lEVEg9IjgwIg0KKwkJCQkJCUhFSUdIVD0iMjciIEFMSUdOPSJCT1RUT00iIEJPUkRFUj0iMCI+PC9GT05UPg0KKwkJCQkJCTwvRk9STT4gLS0+DQorICAgICAgICAgICAgPGZvcm0gYWN0aW9uPSJodHRwOi8vYnA2LmdhbWVzcXVhZC5uZXQvY2dpLWJpbi9uZXdzL3ZpZXduZXdzLmNnaT9lbWFpbGxpc3QiIG1ldGhvZD0icG9zdCI+Cis8aW1nIGhlaWdodD0iMSIgc3JjPSJkb2MzX2ZpbGVzL3NwYWNlci5naWYiIHdpZHRoPSIxMTEiPjxicj48Zm9udCBzaXplPSIxIj5OZXdzbGV0dGVyPGJyPjxpbnB1dCBuYW1lPSJucGVtYWlsIiBzaXplPSIxMyIgdmFsdWU9ImUtbWFpbCBhZGRyLiI+PGJyPjxpbnB1dCBuYW1lPSJucHN1YnNjcmliZSIgc3R5bGU9IkJBQ0tHUk9VTkQtQ09MT1I6ICMwMDAwMDA7IENPTE9SOiAjZmZmZmZmOyBGT05ULUZBTUlMWTogVmVyZGFuYTsgRk9OVC1TSVpFOiB4eC1zbWFsbDsgRk9OVC1XRUlHSFQ6IGJvbGQiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlN1YnNjcmliZSI+PGJyPjwhLS0gPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ibnB1bnN1YnNjcmliZSIgdmFsdWU9IlVuc3Vic2NyaWJlIiBzdHlsZT0iZm9udC1zaXplOiB4eC1zbWFsbDsgZm9udC1mYW1pbHk6IFZlcmRhbmE7IGZvbnQtd2VpZ2h0OiBib2xkOyBjb2xvcjogI2ZmZmZmZjsgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDsiPiAtLT48L2ZvbnQ+Cis8L2Zvcm0+Cis8Zm9udCBzaXplPSIxIj4NCisgICAgICAgICAgICA8Zm9ybSBhY3Rpb249Imh0dHA6Ly9icDYuZ2FtZXNxdWFkLm5ldC9jZ2ktYmluL25ld3Mvdmlld25ld3MuY2dpP3NlYXJjaCIgbWV0aG9kPSJwb3N0Ij5TZWFyY2ggbmV3czxicj48aW5wdXQgbmFtZT0ic2VhcmNoc3RyaW5nIiBzaXplPSIxMyI+PGJyPjxpbnB1dCBuYW1lPSJzdWJtaXQiIHN0eWxlPSJCQUNLR1JPVU5ELUNPTE9SOiAjMDAwMDAwOyBDT0xPUjogI2ZmZmZmZjsgRk9OVC1GQU1JTFk6IFZlcmRhbmE7IEZPTlQtU0laRTogeHgtc21hbGw7IEZPTlQtV0VJR0hUOiBib2xkIiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJTdWJtaXQiPjxicj48YSBocmVmPSJodHRwOi8vYnA2LmdhbWVzcXVhZC5uZXQvY2dpLWJpbi9uZXdzL3ZpZXduZXdzLmNnaT9uZXdzYWxsIj5OZXdzIA0KKyAgICAgICAgICAgIGFyY2hpdmU8L2E+Cis8L2Zvcm0+PC9mb250PiA8L2NlbnRlcj4KKzwvdGQ+Cis8L3RyPgorPC90Ym9keT4KKzwvdGFibGU+Cis8IS0tCQkJCTxUQUJMRSBCT1JERVI9IjAiIENFTExQQURESU5HPSIwIiBDRUxMU1BBQ0lORz0iMCIgV0lEVEg9IjEwMCUiIEJHQ09MT1I9InNpbHZlciI+DQorCQkJCQk8VFI+DQorCQkJCQkJPFREIFdJRFRIPSIxMDAlIj4NCisJCQkJCQkJPFAgQUxJR049IkNFTlRFUiI+PEEgSFJFRj0iaHR0cDovL3d3dy5mcmVlNTZrLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPjxJTUcgU1JDPSIvaW1hZ2VzL2ZyZWU1NmsuZ2lmIiBXSURUSD0iMTAwIiBIRUlHSFQ9IjQ5Ig0KKwkJCQkJCQlBTElHTj0iQk9UVE9NIiBCT1JERVI9IjAiPjwvQT4NCisJCQkJCQk8L1REPg0KKwkJCQkJPC9UUj4NCisJCQkJPC9UQUJMRT4gDQorLS0+DQorICAgICAgPHRhYmxlIGJnY29sb3I9InNpbHZlciIgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIj4NCisgICAgICAgIDx0Ym9keT4NCisgICAgICAgIDx0cj4NCisgICAgICAgICAgPHRkIGFsaWduPSJtaWRkbGUiIHdpZHRoPSIxMDAlIj4KKzwhLS0gQkVHSU4gR29Uby5jb20gU2VhcmNoIEJveCAtLT4NCisgICAgICAgICAgICA8c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0IiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KKwkJCQkJCQk8IS0tDQorCQkJCQkJCWlmICgocGFyc2VJbnQobmF2aWdhdG9yLmFwcFZlcnNpb24pID49IDMpDQorCQkJCQkJCSYmIChuYXZpZ2F0b3IuYXBwTmFtZSAhPSAiTmV0c2NhcGUiKSkgew0KKwkJCQkJCQlkb2N1bWVudC53cml0ZSgiPElGUkFNRSBtYXJnaW5oZWlnaHQ9MCBmcmFtZWJvcmRlcj0wICIpOw0KKwkJCQkJCQlkb2N1bWVudC53cml0ZSgibWFyZ2lud2lkdGg9MCBzY3JvbGxpbmc9bm8gd2lkdGg9MTAwIGhlaWdodCIpOw0KKwkJCQkJCQlkb2N1bWVudC53cml0ZSgiPTkwICIpOw0KKwkJCQkJCQlkb2N1bWVudC53cml0ZSgiU1JDPWh0dHA6Ly93d3cuZ290by5jb20vZC9zc24vZHluY29uc29sZS8/dCIpOw0KKwkJCQkJCQlkb2N1bWVudC53cml0ZSgieXBlPWh0bWwmc2l6ZT0xMDB4OTAmdXJsPWh0dHA6Ly93d3cuZ290by5jbyIpOw0KKwkJCQkJCQlkb2N1bWVudC53cml0ZSgibS9kL3NlYXJjaC9zc24vJnRhcmdldD1fYmxhbmsmUGFydG5lcj1TU044MCIpOw0KKwkJCQkJCQlkb2N1bWVudC53cml0ZSgiNDJERjg0Nzg5NTczNzc+Iik7DQorCQkJCQkJCX0gZWxzZSBpZiAoKHBhcnNlSW50KG5hdmlnYXRvci5hcHBWZXJzaW9uKSA+IDMpDQorCQkJCQkJCSYmIChuYXZpZ2F0b3IuYXBwTmFtZSA9PSAiTmV0c2NhcGUiKSkgew0KKwkJCQkJCQlkb2N1bWVudC53cml0ZSgiPFNDUklQVCBsYW5ndWFnZT1qYXZhc2NyaXB0IHR5cGU9dGV4dC9qYXZhcyIpOw0KKwkJCQkJCQlkb2N1bWVudC53cml0ZSgiY3JpcHQgIik7DQorCQkJCQkJCWRvY3VtZW50LndyaXRlKCJTUkM9aHR0cDovL3d3dy5nb3RvLmNvbS9kL3Nzbi9keW5jb25zb2xlLz90Iik7DQorCQkJCQkJCWRvY3VtZW50LndyaXRlKCJ5cGU9anMmc2l6ZT0xMDB4OTAmdXJsPWh0dHA6Ly93d3cuZ290by5jb20vIik7DQorCQkJCQkJCWRvY3VtZW50LndyaXRlKCJkL3NlYXJjaC9zc24vJnRhcmdldD1fYmxhbmsmUGFydG5lcj1TU044MDQyIik7DQorCQkJCQkJCWRvY3VtZW50LndyaXRlKCJERjg0Nzg5NTczNzc+Iik7DQorCQkJCQkJCWRvY3VtZW50LndyaXRlKCJSSVBUPiIpOw0KKwkJCQkJCQl9IGVsc2Ugew0KKwkJCQkJCQlkb2N1bWVudC53cml0ZSgiPEEgVEFSR0VUPV9ibGFuayAiKTsNCisJCQkJCQkJZG9jdW1lbnQud3JpdGUoIkhSRUY9aHR0cDovL3d3dy5nb3RvLmNvbS9kL3NlYXJjaC9zc24vP2Zyb20iKTsNCisJCQkJCQkJZG9jdW1lbnQud3JpdGUoIkdJRj10cnVlPiIpOw0KKwkJCQkJCQlkb2N1bWVudC53cml0ZSgiPElNRyBpc21hcCAiKTsNCisJCQkJCQkJZG9jdW1lbnQud3JpdGUoIlNSQz1odHRwOi8vd3d3LmdvdG8uY29tL2Qvc3NuL2R5bmNvbnNvbGUvP3QiKTsNCisJCQkJCQkJZG9jdW1lbnQud3JpdGUoInlwZT1naWYmc2l6ZT0xMDB4OTA+Iik7DQorCQkJCQkJCX0NCisJCQkJCQkJLy8gLS0+DQorCQkJCQkJCTwvc2NyaXB0Pg0KKyAgICAgICAgICAgIDxiPjxub3NjcmlwdD48L25vc2NyaXB0PjwvYj48YSBocmVmPSJodHRwOi8vd3d3LmdvdG8uY29tL2Qvc2VhcmNoL3Nzbi8/ZnJvbUdJRj10cnVlIiB0YXJnZXQ9Il9ibGFuayI+PGltZyBhbGlnbj0iYm90dG9tIiBib3JkZXI9IjAiIGhlaWdodD0iOTAiIGlzbWFwIHNyYz0iZG9jM19maWxlcy8xMDB4OTAuZ2lmIiB3aWR0aD0iMTAwIj48L2E+PGI+PGEgaHJlZj0iaHR0cDovL3d3dy5nb3RvLmNvbS9kL3NlYXJjaC9zc24vP2Zyb21HSUY9dHJ1ZSIgdGFyZ2V0PSJfYmxhbmsiPiANCisgICAgICAgICAgICA8L2E+PC9iPjxiPjwvYj48Yj48IS0tIEVORCBHb1RvLmNvbSBTZWFyY2ggQm94IC0tPjwvYj48IS0tIFByaWNld2F0Y2ggU2VhcmNoIEJveCAtLT4NCisgICAgICAgICAgICA8Zm9ybSBhY3Rpb249Imh0dHA6Ly93d3cucHJpY2V3YXRjaC5jb20vc2VhcmNoL3NlYXJjaC5hc3AiIG1ldGhvZD0iZ2V0IiB0YXJnZXQ9Il9CbGFuayI+DQorICAgICAgICAgICAgPGNlbnRlcj4NCisgICAgICAgICAgICA8cD48Yj48Zm9udCBjb2xvcj0id2hpdGUiIGZhY2U9IkFSSUFMLCBIRUxWRVRJQ0EiIHNpemU9IjEiPlBDIFByaWNlIA0KKyAgICAgICAgICAgIFNlYXJjaDxicj48L2ZvbnQ+PC9iPjxpbnB1dCBtYXhsZW5ndGg9IjMwIiBuYW1lPSJjcml0ZXJpYSIgc2l6ZT0iMTAiPjxicj48aW5wdXQgbmFtZT0ic3VibWl0IiBzdHlsZT0iQkFDS0dST1VORC1DT0xPUjogIzAwMDAwMDsgQ09MT1I6ICNmZmZmZmY7IEZPTlQtRkFNSUxZOiBWZXJkYW5hOyBGT05ULVNJWkU6IHh4LXNtYWxsOyBGT05ULVdFSUdIVDogYm9sZCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iU2VhcmNoIj4gDQorICAgICAgICAgICAgPC9wPgorPC9jZW50ZXI+Cis8L2Zvcm0+Cis8IS0tIFByaWNld2F0Y2ggU2VhcmNoIEJveCAtLT48YSBocmVmPSJodHRwOi8vd3d3LnB1aWNvcnAuY29tL2JwNnNwZWNpYWxzLmh0bSIgdGFyZ2V0PSJfQkxBTksiPjxpbWcgc3JjPSJkb2MzX2ZpbGVzL3B1aWJwNi5naWYiPjwvYT48YnI+PGJyPjxicj48YnI+PGEgaHJlZj0iaHR0cDovL3N0b3JlLnlhaG9vLmNvbS9kdW5hbWlzLXNpdGUvbWF4dG9yLmh0bWwiIHRhcmdldD0iX0JMQU5LIj48aW1nIGFsdD0iQlA2LmNvbSBTcGVjaWFsIC0gRW50ZXIgQ09ERTogQlA2LWhkIGluIHRoZSBvcmRlciAobm90ZXMpIHRvIHJlY2VpdmUgYSBkaXNjb3VudCIgc3JjPSJkb2MzX2ZpbGVzL2hkNS5naWYiPjxmb250IHNpemU9IjEiPjxicj5CUDYuQ09NIA0KKyAgICAgICAgICAgIFNwZWNpYWw8YnI+Q29kZTpCUDYtaGQ8L2ZvbnQ+PC9hPiA8L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8L3RhYmxlPg0KKyAgICAgIDx0YWJsZSBiZ2NvbG9yPSJzaWx2ZXIiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiBoZWlnaHQ9IjEwMCUiIHdpZHRoPSIxMDAlIj4NCisgICAgICAgIDx0Ym9keT4NCisgICAgICAgIDx0cj4NCisgICAgICAgICAgPHRkIHdpZHRoPSIxMDAlIj6gPC90ZD4KKzwvdHI+Cis8L3Rib2R5PgorPC90YWJsZT4KKzwvY2VudGVyPgorPC90ZD4KKzwvdHI+Cis8L3Rib2R5PgorPC90YWJsZT4KKzwhLS0JPC9UQUJMRT4tLT4NCis8Y2VudGVyPjwvY2VudGVyPgorPHRyPgorPHRkIGNvbHNwYW49IjMiIHZhbGlnbj0iVE9QIiBoZWlnaHQ9IjcwIj6gPC90ZD4gPC90cj4NCis8dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iNzgwIj4NCisgIDx0Ym9keT4NCisgIDx0cj4NCisgICAgPHRkIHdpZHRoPSI3ODAiPg0KKyAgICAgIDxwIGFsaWduPSJjZW50ZXIiPjxmb250IGNvbG9yPSIjOTk5OTk5IiBmYWNlPSJ2ZXJkYW5hLGFyaWFsIiBzaXplPSIxIj5Db3B5cmlnaHQgDQorICAgICAgqTE5OTktMjAwMCBCUDYuY29tLCBBbGwgcmlnaHRzIHJlc2VydmVkLjxicj5Hb3QgbmV3cz8gU2VuZCBpdCB0byA8L2ZvbnQ+PGEgaHJlZj0ibWFpbHRvOnRpbUBicDYuY29tIj48Zm9udCBjb2xvcj0id2hpdGUiIGZhY2U9IlZlcmRhbmEiIHNpemU9IjEiPlRpbTwvZm9udD48L2E+IDwvcD4KKzwvdGQ+Cis8L3RyPgorPCEtLQk8VFI+CQk8VEQgV0lEVEg9Ijc4MCI+CQkJPFAgQUxJR049IkNFTlRFUiI+PEZPTlQgU0laRT0iMSIgQ09MT1I9IiM5OTk5OTkiIEZBQ0U9IlZlcmRhbmEsYXJpYWwiPlNpdGUgZGVzaWduIGJ5IFRpbSBCcmlua2xleTwvRk9OVD4JCTwvVEQ+CTwvVFI+IC0tPgorPC90Ym9keT4KKzwvdGFibGU+Cis8L2Rpdj4NCis8c2NyaXB0PiB3aW5kb3cub3Blbj1OU19BY3R1YWxPcGVuOyA8L3NjcmlwdD4NCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9IVE1ML2RvYzMuaHRtLmVyciBiL2xpYnhtbDIvcmVzdWx0L0hUTUwvZG9jMy5odG0uZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNkZjcxNWEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9IVE1ML2RvYzMuaHRtLmVycgpAQCAtMCwwICsxLDgxIEBACisuL3Rlc3QvSFRNTC9kb2MzLmh0bToxMDogSFRNTCBwYXJzZXIgZXJyb3IgOiBNaXNwbGFjZWQgRE9DVFlQRSBkZWNsYXJhdGlvbgorPCEtLSBFTkQgTmF2aXNjb3BlIEphdmFzY3JpcHQgLS0+PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDMuMi8vRU4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9IVE1ML2RvYzMuaHRtOjUyOiBIVE1MIHBhcnNlciBlcnJvciA6IGh0bWxQYXJzZUVudGl0eVJlZjogZXhwZWN0aW5nICc7JworIGhyZWY9Imh0dHA6Ly9hZHMuZ2FtZXNxdWFkLm5ldC9hZGRjbGljay5leGUvYWRjbGljay5jZ2k/UkVHSU9OPWdhbWV8dGVjaHxlbnQmaWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCisuL3Rlc3QvSFRNTC9kb2MzLmh0bTo1MjogSFRNTCBwYXJzZXIgZXJyb3IgOiBodG1sUGFyc2VFbnRpdHlSZWY6IGV4cGVjdGluZyAnOycKK190b3AiPjxpbWcgc3JjPSJodHRwOi8vYWRzLmdhbWVzcXVhZC5uZXQvYWRkY2xpY2suZXhlL2FkY3ljbGUuY2dpP2dyb3VwPTUyJm1lZGlhCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgorLi90ZXN0L0hUTUwvZG9jMy5odG06NTI6IEhUTUwgcGFyc2VyIGVycm9yIDogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCis+PGltZyBzcmM9Imh0dHA6Ly9hZHMuZ2FtZXNxdWFkLm5ldC9hZGRjbGljay5leGUvYWRjeWNsZS5jZ2k/Z3JvdXA9NTImbWVkaWE9MSZpZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9IVE1ML2RvYzMuaHRtOjE0NTogSFRNTCBwYXJzZXIgZXJyb3IgOiBlcnJvciBwYXJzaW5nIGF0dHJpYnV0ZSBuYW1lCisgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD03MCBHZW50dXM/Lj8+PC9BPjxCUj48QSAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9IVE1ML2RvYzMuaHRtOjE0ODogSFRNTCBwYXJzZXIgZXJyb3IgOiBVbmV4cGVjdGVkIGVuZCB0YWcgOiBwCisgIDwvUD48L1REPjwvVFI+PC9UQk9EWT48L1RBQkxFPjwvQ0VOVEVSPjwvVEQ+PC9UUj48L1RCT0RZPjwvVEFCTEU+PC9DRU5URVI+PC9QPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9IVE1ML2RvYzMuaHRtOjIzNjogSFRNTCBwYXJzZXIgZXJyb3IgOiBVbmV4cGVjdGVkIGVuZCB0YWcgOiBmb250CisgICAgICAgICAgICBTcGVjaWFsczxCUj48QlI+PC9GT05UPjwvQT48QlI+PC9GT05UPjwvQT48Qj48Rk9OVCBjb2xvcj15ZWxsb3cgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9IVE1ML2RvYzMuaHRtOjIzNjogSFRNTCBwYXJzZXIgZXJyb3IgOiBVbmV4cGVjdGVkIGVuZCB0YWcgOiBhCisgICAgICAgICAgICBTcGVjaWFsczxCUj48QlI+PC9GT05UPjwvQT48QlI+PC9GT05UPjwvQT48Qj48Rk9OVCBjb2xvcj15ZWxsb3cgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCisuL3Rlc3QvSFRNTC9kb2MzLmh0bTo3NDc6IEhUTUwgcGFyc2VyIGVycm9yIDogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCitlcj0wIGFsdD0iQWR2ZXJ0aXNlbWVudCIgc3JjPSJodHRwOi8vYWRzLmFkZmxpZ2h0LmNvbS9hZF9zdGF0aWMuYXNwP3BpZD0yMDk3JnNpZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9IVE1ML2RvYzMuaHRtOjc0NzogSFRNTCBwYXJzZXIgZXJyb3IgOiBodG1sUGFyc2VFbnRpdHlSZWY6IGV4cGVjdGluZyAnOycKK0FkdmVydGlzZW1lbnQiIHNyYz0iaHR0cDovL2Fkcy5hZGZsaWdodC5jb20vYWRfc3RhdGljLmFzcD9waWQ9MjA5NyZzaWQ9MTg4MSZhc2lkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgorLi90ZXN0L0hUTUwvZG9jMy5odG06NzQ3OiBIVE1MIHBhcnNlciBlcnJvciA6IFVuZXhwZWN0ZWQgZW5kIHRhZyA6IGxpCitsaWdodC5jb20vYWRfc3RhdGljLmFzcD9waWQ9MjA5NyZzaWQ9MTg4MSZhc2lkPTc3MDgiPjwvYT48L0lGUkFNRT48L0NFTlRFUj48L0xJPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9IVE1ML2RvYzMuaHRtOjc0NzogSFRNTCBwYXJzZXIgZXJyb3IgOiBVbmV4cGVjdGVkIGVuZCB0YWcgOiBmb250CitvbS9hZF9zdGF0aWMuYXNwP3BpZD0yMDk3JnNpZD0xODgxJmFzaWQ9NzcwOCI+PC9hPjwvSUZSQU1FPjwvQ0VOVEVSPjwvTEk+PC9GT05UPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9IVE1ML2RvYzMuaHRtOjc0NzogSFRNTCBwYXJzZXIgZXJyb3IgOiBVbmV4cGVjdGVkIGVuZCB0YWcgOiBwCis9NzcwOCI+PC9hPjwvSUZSQU1FPjwvQ0VOVEVSPjwvTEk+PC9GT05UPjwvVEQ+PC9UUj48L1RCT0RZPjwvVEFCTEU+PC9DRU5URVI+PC9QPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9IVE1ML2RvYzMuaHRtOjc3MjogSFRNTCBwYXJzZXIgZXJyb3IgOiBVbmV4cGVjdGVkIGVuZCB0YWcgOiBmb3JtCisgICAgICAgICAgICBhcmNoaXZlPC9BPjwvRk9OVD4gPC9GT1JNPjwvQ0VOVEVSPjwvVEQ+PC9UUj48L1RCT0RZPjwvVEFCTEU+PCEtLQkJCQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCisuL3Rlc3QvSFRNTC9kb2MzLmh0bTo3OTU6IEhUTUwgcGFyc2VyIGVycm9yIDogVW5leHBlY3RlZCBlbmQgdGFnIDogaWZyYW1lCisJCQkJCQkJZG9jdW1lbnQud3JpdGUoIjQyREY4NDc4OTU3Mzc3PjwvSUZSQU1FPiIpOworCQkJCQkJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCisuL3Rlc3QvSFRNTC9kb2MzLmh0bTo4MDM6IEhUTUwgcGFyc2VyIGVycm9yIDogRW5kIHRhZyA6IGV4cGVjdGVkICc+JworCQkJCQkJCWRvY3VtZW50LndyaXRlKCJERjg0Nzg5NTczNzc+PC9TQyIpOworCQkJCQkJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9IVE1ML2RvYzMuaHRtOjgwMzogSFRNTCBwYXJzZXIgZXJyb3IgOiBVbmV4cGVjdGVkIGVuZCB0YWcgOiBzYworCQkJCQkJCWRvY3VtZW50LndyaXRlKCJERjg0Nzg5NTczNzc+PC9TQyIpOworCQkJCQkJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9IVE1ML2RvYzMuaHRtOjgxMTogSFRNTCBwYXJzZXIgZXJyb3IgOiBVbmV4cGVjdGVkIGVuZCB0YWcgOiBhCisJCQkJCQkJZG9jdW1lbnQud3JpdGUoInlwZT1naWYmc2l6ZT0xMDB4OTA+PC9BPiIpOworCQkJCQkJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCisuL3Rlc3QvSFRNTC9kb2MzLmh0bTo4MjA6IEhUTUwgcGFyc2VyIGVycm9yIDogVW5leHBlY3RlZCBlbmQgdGFnIDogYQorICAgICAgICAgICAgPC9BPjwvQT48L0I+PEI+PC9OT1NDUklQVD48L0I+PEI+PCEtLSBFTkQgR29Uby5jb20gU2VhcmNoIEJveCAtLT48L0IKKyAgICAgICAgICAgICAgICAgICAgXgorLi90ZXN0L0hUTUwvZG9jMy5odG06ODIwOiBIVE1MIHBhcnNlciBlcnJvciA6IFVuZXhwZWN0ZWQgZW5kIHRhZyA6IG5vc2NyaXB0CisgICAgICAgICAgICA8L0E+PC9BPjwvQj48Qj48L05PU0NSSVBUPjwvQj48Qj48IS0tIEVORCBHb1RvLmNvbSBTZWFyY2ggQm94IC0tPjwvQgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCisuL3Rlc3QvSFRNTC9kb2MzLmh0bTo4MjY6IEhUTUwgcGFyc2VyIGVycm9yIDogT3BlbmluZyBhbmQgZW5kaW5nIHRhZyBtaXNtYXRjaDogZm9ybSBhbmQgY2VudGVyCisgICAgICAgICAgICA8L0ZPUk0+PCEtLSBQcmljZXdhdGNoIFNlYXJjaCBCb3ggLS0+PEEgCisgICAgICAgICAgICAgICAgICAgXgorLi90ZXN0L0hUTUwvZG9jMy5odG06ODMzOiBIVE1MIHBhcnNlciBlcnJvciA6IFVuZXhwZWN0ZWQgZW5kIHRhZyA6IHAKKyAgICAgICAgICAgIFNwZWNpYWw8QlI+Q29kZTpCUDYtaGQ8L0ZPTlQ+PC9BPiA8L1A+PC9DRU5URVI+PC9URD48L1RSPjwvVEJPRFk+PC9UCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9IVE1ML2RvYzMuaHRtOjgzMzogSFRNTCBwYXJzZXIgZXJyb3IgOiBPcGVuaW5nIGFuZCBlbmRpbmcgdGFnIG1pc21hdGNoOiBjZW50ZXIgYW5kIHRkCisgICAgICAgICAgICBTcGVjaWFsPEJSPkNvZGU6QlA2LWhkPC9GT05UPjwvQT4gPC9QPjwvQ0VOVEVSPjwvVEQ+PC9UUj48L1RCT0RZPjwvVAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCisuL3Rlc3QvSFRNTC9kb2MzLmh0bTo4Mzk6IEhUTUwgcGFyc2VyIGVycm9yIDogVW5leHBlY3RlZCBlbmQgdGFnIDogcAord2lkdGg9IjEwMCUiPiZuYnNwOzwvVEQ+PC9UUj48L1RCT0RZPjwvVEFCTEU+PC9QPjwvQ0VOVEVSPjwvVFI+PC9UQk9EWT48L1RBQkxFPjwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCisuL3Rlc3QvSFRNTC9kb2MzLmh0bTo4NDA6IEhUTUwgcGFyc2VyIGVycm9yIDogVW5leHBlY3RlZCBlbmQgdGFnIDogdGQKKzxDRU5URVI+PC9DRU5URVI+PC9URD48L1RSPjxUUj48VEQgQ09MU1BBTj0iMyIgVkFMSUdOPSJUT1AiIAorICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9IVE1ML2RvYzMuaHRtOjg0MDogSFRNTCBwYXJzZXIgZXJyb3IgOiBVbmV4cGVjdGVkIGVuZCB0YWcgOiB0cgorPENFTlRFUj48L0NFTlRFUj48L1REPjwvVFI+PFRSPjxURCBDT0xTUEFOPSIzIiBWQUxJR049IlRPUCIgCisgICAgICAgICAgICAgICAgICAgICAgICAgICBeCisuL3Rlc3QvSFRNTC9kb2MzLmh0bTo4NDE6IEhUTUwgcGFyc2VyIGVycm9yIDogVW5leHBlY3RlZCBlbmQgdGFnIDogdGFibGUKK0hFSUdIVD0iNzAiPiZuYnNwOzwvVEQ+IDwvVFI+PC9UQUJMRT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9IVE1ML2RvYzMuaHRtLnNheCBiL2xpYnhtbDIvcmVzdWx0L0hUTUwvZG9jMy5odG0uc2F4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEzNDc3ZjEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9IVE1ML2RvYzMuaHRtLnNheApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9IVE1ML2VudGl0aWVzLmh0bWwgYi9saWJ4bWwyL3Jlc3VsdC9IVE1ML2VudGl0aWVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjg0NDI0YwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L0hUTUwvZW50aXRpZXMuaHRtbApAQCAtMCwwICsxLDggQEAKKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy1odG1sNDAvbG9vc2UuZHRkIj4KKzxodG1sPjxib2R5PgorPHAgdHN0PSJhJmFtcDtiIiB0c3QyPSJhJmFtcDtiIiB0c3QzPSJhICZhbXA7IGIiPgorYSZhbXA7YgorYSZhbXA7YgorYSAmYW1wOyBiCis8L3A+Cis8L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvSFRNTC9lbnRpdGllcy5odG1sLmVyciBiL2xpYnhtbDIvcmVzdWx0L0hUTUwvZW50aXRpZXMuaHRtbC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTgwZmE5ZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L0hUTUwvZW50aXRpZXMuaHRtbC5lcnIKQEAgLTAsMCArMSwxMiBAQAorLi90ZXN0L0hUTUwvZW50aXRpZXMuaHRtbDoxOiBIVE1MIHBhcnNlciBlcnJvciA6IGh0bWxQYXJzZUVudGl0eVJlZjogZXhwZWN0aW5nICc7JworPHAgdHN0PSJhJmFtcDtiIiB0c3QyPSJhJmIiIHRzdDM9ImEgJiBiIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgXgorLi90ZXN0L0hUTUwvZW50aXRpZXMuaHRtbDoxOiBIVE1MIHBhcnNlciBlcnJvciA6IGh0bWxQYXJzZUVudGl0eVJlZjogbm8gbmFtZQorPHAgdHN0PSJhJmFtcDtiIiB0c3QyPSJhJmIiIHRzdDM9ImEgJiBiIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCisuL3Rlc3QvSFRNTC9lbnRpdGllcy5odG1sOjM6IEhUTUwgcGFyc2VyIGVycm9yIDogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCithJmIKKyAgIF4KKy4vdGVzdC9IVE1ML2VudGl0aWVzLmh0bWw6NDogSFRNTCBwYXJzZXIgZXJyb3IgOiBodG1sUGFyc2VFbnRpdHlSZWY6IG5vIG5hbWUKK2EgJiBiCisgICBeCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9IVE1ML2VudGl0aWVzLmh0bWwuc2F4IGIvbGlieG1sMi9yZXN1bHQvSFRNTC9lbnRpdGllcy5odG1sLnNheApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MDliNjBkCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvSFRNTC9lbnRpdGllcy5odG1sLnNheApAQCAtMCwwICsxLDI3IEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5zdGFydEVsZW1lbnQoaHRtbCkKK1NBWC5zdGFydEVsZW1lbnQoYm9keSkKK1NBWC5lcnJvcjogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCitTQVguZXJyb3I6IGh0bWxQYXJzZUVudGl0eVJlZjogbm8gbmFtZQorU0FYLnN0YXJ0RWxlbWVudChwLCB0c3Q9J2EmYW1wO2InLCB0c3QyPSdhJmFtcDtiJywgdHN0Mz0nYSAmYW1wOyBiJykKK1NBWC5jaGFyYWN0ZXJzKAorYSwgMikKK1NBWC5jaGFyYWN0ZXJzKCZhbXA7LCAxKQorU0FYLmNoYXJhY3RlcnMoYgorYSwgMykKK1NBWC5lcnJvcjogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCitTQVguY2hhcmFjdGVycygmYW1wOywgMSkKK1NBWC5jaGFyYWN0ZXJzKGIsIDEpCitTQVguY2hhcmFjdGVycygKK2EgLCAzKQorU0FYLmVycm9yOiBodG1sUGFyc2VFbnRpdHlSZWY6IG5vIG5hbWUKK1NBWC5jaGFyYWN0ZXJzKCZhbXA7LCAxKQorU0FYLmNoYXJhY3RlcnMoIGIKKywgMykKK1NBWC5lbmRFbGVtZW50KHApCitTQVguaWdub3JhYmxlV2hpdGVzcGFjZSgKKywgMSkKK1NBWC5lbmRFbGVtZW50KGJvZHkpCitTQVguZW5kRWxlbWVudChodG1sKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L0hUTUwvZW50aXRpZXMyLmh0bWwgYi9saWJ4bWwyL3Jlc3VsdC9IVE1ML2VudGl0aWVzMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhlODU0ZDMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9IVE1ML2VudGl0aWVzMi5odG1sCkBAIC0wLDAgKzEsOCBAQAorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLWh0bWw0MC9sb29zZS5kdGQiPgorPGh0bWw+Cis8Ym9keT4KKzxmb3JtPgorICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0idGVzdCIgdmFsdWU9IiZzY2Fyb247Ij4KKzwvZm9ybT4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L0hUTUwvZW50aXRpZXMyLmh0bWwuZXJyIGIvbGlieG1sMi9yZXN1bHQvSFRNTC9lbnRpdGllczIuaHRtbC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L0hUTUwvZW50aXRpZXMyLmh0bWwuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9IVE1ML2VudGl0aWVzMi5odG1sLnNheCBiL2xpYnhtbDIvcmVzdWx0L0hUTUwvZW50aXRpZXMyLmh0bWwuc2F4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM2ZWZiZTUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9IVE1ML2VudGl0aWVzMi5odG1sLnNheApAQCAtMCwwICsxLDIzIEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5zdGFydEVsZW1lbnQoaHRtbCkKK1NBWC5pZ25vcmFibGVXaGl0ZXNwYWNlKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudChib2R5KQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguc3RhcnRFbGVtZW50KGZvcm0pCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChpbnB1dCwgdHlwZT0ndGV4dCcsIG5hbWU9J3Rlc3QnLCB2YWx1ZT0nJnNjYXJvbjsnKQorU0FYLmVuZEVsZW1lbnQoaW5wdXQpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5lbmRFbGVtZW50KGZvcm0pCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5lbmRFbGVtZW50KGJvZHkpCitTQVguaWdub3JhYmxlV2hpdGVzcGFjZSgKKywgMSkKK1NBWC5lbmRFbGVtZW50KGh0bWwpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvSFRNTC9mcDQwLmh0bSBiL2xpYnhtbDIvcmVzdWx0L0hUTUwvZnA0MC5odG0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGFmZmMxOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L0hUTUwvZnA0MC5odG0KQEAgLTAsMCArMSwxNjcgQEAKKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorCis8aGVhZD4KKzxtZXRhIG5hbWU9IkdFTkVSQVRPUiIgY29udGVudD0iTWljcm9zb2Z0IEZyb250UGFnZSA0LjAiPgorPHRpdGxlPlJFQURNRSAtIE1pY3Jvc29mdCBGcm9udFBhZ2UgMjAwMCBTZXJ2ZXIgRXh0ZW5zaW9uczwvdGl0bGU+Cis8bWV0YSBuYW1lPSJNaWNyb3NvZnQgVGhlbWUiIGNvbnRlbnQ9Im5vbmUiPgorPC9oZWFkPgorCis8Ym9keT4KKzxmb250IGZhY2U9IlZlcmRhbmEiPgorPGgxPjxhIG5hbWU9InRvcCI+TWljcm9zb2Z0IEZyb250UGFnZSAyMDAwIFNlcnZlciBFeHRlbnNpb25zLCBVTklYPC9hPjwvaDE+CisKKzxmb250IHNpemU9IjIiPjxpPiZjb3B5OyBDb3B5cmlnaHQgTWljcm9zb2Z0IENvcnBvcmF0aW9uLCAxOTk5Jm5ic3A7PC9pPjwvZm9udD4KKworCis8cD5UaGUgRnJvbnRQYWdlIFNlcnZlciBFeHRlbnNpb25zIGFyZSBhIHNldCBvZiBwcm9ncmFtcyBvbiB0aGUgV2ViIHNlcnZlciB0aGF0IHN1cHBvcnQ6IAorCis8L3A+Cis8dWw+CisgIDxsaT5BdXRob3JpbmcgRnJvbnRQYWdlIHdlYnM8L2xpPgorICA8bGk+QWRtaW5pc3RlcmluZyBGcm9udFBhZ2Ugd2ViczwvbGk+CisgIDxsaT5Ccm93c2UtdGltZSBGcm9udFBhZ2Ugd2ViIGZ1bmN0aW9uYWxpdHk8L2xpPgorPC91bD4KKworCis8aDI+Q29udGVudHMmbmJzcDs8L2gyPgorCis8YSBocmVmPSIjcmVsbm90ZXMiPlJlbGVhc2UgTm90ZXM8L2E+PGJyPgorPGEgaHJlZj0iI21vcmVpbmZvIj5SZXNvdXJjZXMgZm9yIE1vcmUgSW5mb3JtYXRpb248L2E+Cis8cD4mbmJzcDs8L3A+Cis8aHI+Cis8aDI+PGEgbmFtZT0icmVsbm90ZXMiPlJlbGVhc2UgTm90ZXM8L2E+PC9oMj4KKworPHA+VGhpcyBzZWN0aW9uIHByb3ZpZGVzIGNvbXBsZW1lbnRhcnkgb3IgbGF0ZS1icmVha2luZyAKK2luZm9ybWF0aW9uIHRvIHN1cHBsZW1lbnQgdGhlIE1pY3Jvc29mdCBGcm9udFBhZ2UgU2VydmVyIEV4dGVuc2lvbnMgZG9jdW1lbnRhdGlvbi48L3A+CisKKzxwPjxhIGhyZWY9IiNhcGFjaGUiPkFwYWNoZSAxLjMuNCBTdXBwb3J0PC9hPjxicj4KKzxhIGhyZWY9IiN1cGdyYWRpbmciPlVwZ3JhZGluZyBmcm9tIHByZXZpb3VzIHZlcnNpb24gb2YgRnJvbnRQYWdlIFNlcnZlciBFeHRlbnNpb25zPC9hPjxicj4KKzxhIGhyZWY9IiNleGVjdXRhYmxlcyI+VXBsb2FkaW5nIGZpbGVzIGludG8gZXhlY3V0YWJsZSBmb2xkZXJzPC9hPjwvcD4KKworCis8cCBhbGlnbj0icmlnaHQiPjxmb250IHNpemU9IjEiPjxhIGhyZWY9IiN0b3AiPlRvcCBvZiBQYWdlPC9hPjwvZm9udD48L3A+CisKKworPGgzPjxhIG5hbWU9ImFwYWNoZSI+QXBhY2hlIDEuMy40IFN1cHBvcnQ8L2E+PC9oMz4KKworPHA+WW91IG5lZWQgdG8gdGFrZSBzb21lIHNwZWNpYWwgc3RlcHMgdG8gcnVuIHRoZSBGcm9udFBhZ2UgU2VydmVyIEV4dGVuc2lvbnMgd2l0aCBBcGFjaGUgMS4zLjQuCitGcm9udFBhZ2UgU2VydmVyIEV4dGVuc2lvbnMgZXhwZWN0IHRvIGZpbmQgYWxsIHJlc291cmNlIGRpcmVjdGl2ZXMgaW4gdGhlIG1haW4gc2VydmVyIAorY29uZmlndXJhdGlvbiBmaWxlLCB1c3VhbGx5IGh0dHAuY29uZi4gVG8gcHJldmVudCB0aGUgc2VydmVyIGV4dGVuc2lvbnMgZnJvbSB1c2luZyBhbnkgc2Vjb25kYXJ5Citjb25maWd1cmF0aW9uIGZpbGVzIChhY2Nlc3MuY29uZiwgc3JtLmNvbmYpLCBhZGQgdGhlIGZvbGxvd2luZyBsaW5lcyB0byBodHRwLmNvbmY6PC9wPgorCisKKzwvZm9udD4KKzxibG9ja3F1b3RlPgorICA8Zm9udCBmYWNlPSJDb3VyaWVyIE5ldyI+CitSZXNvdXJjZUNvbmZpZyAvZGV2L251bGwmbmJzcDs8YnI+CitBY2Nlc3NDb25maWcgL2Rldi9udWxsPC9mb250PgorPC9ibG9ja3F1b3RlPgorPGZvbnQgZmFjZT0iVmVyZGFuYSI+CisKKworPHA+SWYgeW91IGhhdmUgc29tZSBzZXR0aW5ncyBzdG9yZWQgaW4gc2Vjb25kYXJ5IGNvbmZpZ3VyYXRpb24gZmlsZXMsIG1vdmUgdGhlbSB0byBodHRwLmNvbmYuPC9wPgorCis8cD5Zb3UgbXVzdCBzdG9wIGFuZCByZXN0YXJ0IHRoZSB3ZWIgc2VydmVyIGZvciB5b3VyIGNoYW5nZXMgdG8gaHR0cC5jb25mIHRvIHRha2UgZWZmZWN0LjwvcD4KKworCisKKzxwIGFsaWduPSJyaWdodCI+PGZvbnQgc2l6ZT0iMSI+PGEgaHJlZj0iI3JlbG5vdGVzIj5Ub3Agb2YgU2VjdGlvbjwvYT48L2ZvbnQ+PC9wPgorCisKKworPGgzPjxhIG5hbWU9InVwZ3JhZGluZyI+VXBncmFkaW5nIGZyb20gcHJldmlvdXMgdmVyc2lvbiBvZiBGcm9udFBhZ2UgU2VydmVyIEV4dGVuc2lvbnM8L2E+PC9oMz4KKworPHA+Q3VzdG9tIGVudHJpZXMgaW4gZnJvbnRwYWdlLmNuZiBhcmUgbm90IG1pZ3JhdGVkIHRvIEZyb250UGFnZSAyMDAwLjwvcD4KKworPHA+V2hlbiB5b3UgaW5zdGFsbCBGcm9udFBhZ2UgMjAwMCBTZXJ2ZXIgRXh0ZW5zaW9ucywgYSBuZXcgZnJvbnRwYWdlLmNuZiBmaWxlIGlzIGNyZWF0ZWQgaW4gdGhlIC91c3IvbG9jYWwvZnJvbnRwYWdlL3ZlcnNpb240LjAgZGlyZWN0b3J5LiAKK0FueSBjdXN0b20gc2V0dGluZ3Mgc3RvcmVkIGluIGEgcHJldmlvdXMtdmVyc2lvbiBmcm9udHBhZ2UuY25mIGFyZSBub3QgdXNlZC4gSG93ZXZlciwgeW91IGNhbiBjb3B5IAoreW91ciBjdXN0b20gc2V0dGluZ3MgZnJvbSB0aGUgcHJldmlvdXMtdmVyc2lvbiBmcm9udHBhZ2UuY25mIGZpbGUgYWZ0ZXIgeW91IGluc3RhbGwgdGhlIEZyb250UGFnZSAyMDAwIFNlcnZlciBFeHRlbnNpb25zLjwvcD4KKworPHA+RG8gbm90IG92ZXJ3cml0ZSB0aGUgRnJvbnRQYWdlIDIwMDAgZnJvbnRwYWdlLmNuZiBmaWxlIHdpdGggYSBmcm9udHBhZ2UuY25mIGZpbGUgZnJvbSBhbiAKK2VhcmxpZXIgdmVyc2lvbiBvZiB0aGUgRnJvbnRQYWdlIFNlcnZlciBFeHRlbnNpb25zLjwvcD4KKworCisKKzxwIGFsaWduPSJyaWdodCI+PGZvbnQgc2l6ZT0iMSI+PGEgaHJlZj0iI3JlbG5vdGVzIj5Ub3Agb2YgU2VjdGlvbjwvYT48L2ZvbnQ+PC9wPgorCisKKworPGgzPjxhIG5hbWU9ImV4ZWN1dGFibGVzIj5VcGxvYWRpbmcgZmlsZXMgaW50byBleGVjdXRhYmxlIGZvbGRlcnM8L2E+PC9oMz4KKworCis8cD5BZnRlciB1cGdyYWRpbmcgdG8gRnJvbnRQYWdlIDIwMDAsIEZyb250UGFnZSBhdXRob3JzIHdpbGwgbm90IGJlIGFibGUgdG8gdXBsb2FkIGZpbGVzIGludG8KK2V4ZWN1dGFibGUgZm9sZGVycy4gRm9yIHNlY3VyaXR5IHJlYXNvbnMsIHRoZSBkZWZhdWx0IHNldHRpbmcgb24gRnJvbnRQYWdlIDIwMDAgd2VicyBkb2VzIG5vdCAKK2FsbG93IGF1dGhvcnMgdG8gdXBsb2FkIGV4ZWN1dGFibGUgZmlsZXMgaW50byBleGVjdXRhYmxlIGZvbGRlcnMgaW4gYSBGcm9udFBhZ2Ugd2ViLiBUaGlzIAorc2V0dGluZyBwcm90ZWN0cyBzZXJ2ZXJzIHNvIHRoYXQgYXV0aG9ycyBkbyBub3QgaW5hZHZlcnRlbnRseSB1cGxvYWQgYSBwcm9ncmFtIGNvbnRhaW5pbmcgYSBidWcgCitvciBhIHZpcnVzLjwvcD4gCisKKzxwPlRvIGFsbG93IEZyb250UGFnZSBhdXRob3JzIHRvIHVwbG9hZCBleGVjdXRhYmxlcywgc2V0IHRoZSBOb0V4ZWN1dGFibGVDZ2lVcGxvYWQgY29uZmlndXJhdGlvbiAKK3ZhcmlhYmxlIHRvIHplcm8gKDApLiBGb3IgaW5mb3JtYXRpb24gYWJvdXQgRnJvbnRQYWdlIFNlcnZlciBFeHRlbnNpb24gY29uZmlndXJhdGlvbiB2YXJpYWJsZXMsIAorc2VlIHRoZSBGcm9udFBhZ2UgMjAwMCBTZXJ2ZXIgRXh0ZW5zaW9ucyBSZXNvdXJjZSBLaXQgYXQgPGEgaHJlZj0iaHR0cDovL29mZmljZXVwZGF0ZS5taWNyb3NvZnQuY29tL2Zyb250cGFnZS93cHAvc2Vyay8iPmh0dHA6Ly9vZmZpY2V1cGRhdGUubWljcm9zb2Z0LmNvbS9mcm9udHBhZ2Uvd3BwL3NlcmsvPC9hPi48L3A+CisKKworCis8cCBhbGlnbj0icmlnaHQiPjxmb250IHNpemU9IjEiPjxhIGhyZWY9IiNyZWxub3RlcyI+VG9wIG9mIFNlY3Rpb248L2E+PC9mb250PjwvcD4KKworCisKKzxocj4KKworCisKKzxoMj48YSBuYW1lPSJtb3JlaW5mbyI+UmVzb3VyY2VzIGZvciBNb3JlIEluZm9ybWF0aW9uPC9hPjwvaDI+CisKKzxwPlRoaXMgc2VjdGlvbiBsaXN0cyBzb3VyY2VzIG9mIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlCitGcm9udFBhZ2UgU2VydmVyIEV4dGVuc2lvbnMuPC9wPgorCis8cD48YSBocmVmPSIjc2VyayI+U2VydmVyIEV4dGVuc2lvbnMgUmVzb3VyY2UgS2l0PC9hPjxicj4KKzxhIGhyZWY9IiNzZXJrdXBkYXRlIj5TZXJ2ZXIgRXh0ZW5zaW9ucyBSZXNvdXJjZSBLaXQgVXBkYXRlPC9hPjxicj4KKzxhIGhyZWY9IiNrYiI+S25vd2xlZGdlIEJhc2U8L2E+PC9wPgorCisKKzxwIGFsaWduPSJyaWdodCI+PGZvbnQgc2l6ZT0iMSI+PGEgaHJlZj0iI3RvcCI+VG9wIG9mIFBhZ2U8L2E+PC9mb250PjwvcD4KKworCis8aDM+PGEgbmFtZT0ic2VyayI+U2VydmVyIEV4dGVuc2lvbnMgUmVzb3VyY2UgS2l0PC9hPjwvaDM+CisKKzxwPlRoZSBGcm9udFBhZ2UgMjAwMCBTZXJ2ZXIgRXh0ZW5zaW9ucyBpbmNsdWRlIGEgZnVsbCBzZXQgb2YgZG9jdW1lbnRhdGlvbjogdGhlIFNlcnZlcgorRXh0ZW5zaW9ucyBSZXNvdXJjZSBLaXQuIFRoaXMgaXMgYW4gSFRNTCBkb2N1bWVudCBpbnN0YWxsZWQgb24gdGhlIHNlcnZlciBtYWNoaW5lIChieQorZGVmYXVsdCkgaW4gL3Vzci9sb2NhbC9mcm9udHBhZ2UvdmVyc2lvbjQuMC9zZXJrLiBUbyB2aWV3IHRoZSBTZXJ2ZXIgRXh0ZW5zaW9ucyBSZXNvdXJjZQorS2l0LCBvcGVuIC91c3IvbG9jYWwvZnJvbnRwYWdlL3ZlcnNpb240LjAvc2Vyay9kZWZhdWx0Lmh0bSBpbiB5b3VyIFdlYiBicm93c2VyLjwvcD4KKworPHA+VGhlIFNlcnZlciBFeHRlbnNpb25zIFJlc291cmNlIEtpdCBjb250YWlucyBkZXRhaWxlZCBpbmZvcm1hdGlvbiBhYm91dCBpbnN0YWxsaW5nIGFuZAorYWRtaW5pc3RlcmluZyB0aGUgRnJvbnRQYWdlIFNlcnZlciBFeHRlbnNpb25zIGFsb25nIHdpdGggYW4gb3ZlcnZpZXcgb2YgdGhlIFNlcnZlcgorRXh0ZW5zaW9ucywgYSBkZXRhaWxlZCBkaXNjdXNzaW9uIG9mIFNlcnZlciBFeHRlbnNpb25zIHNlY3VyaXR5IG9uIFVOSVggYW5kIFdpbmRvd3MsCit0cm91Ymxlc2hvb3RpbmcgaW5mb3JtYXRpb24sIGFuZCBhIGZ1bGwgc2V0IG9mIGFwcGVuZGl4ZXMuPC9wPgorCis8cCBhbGlnbj0icmlnaHQiPjxmb250IHNpemU9IjEiPjxhIGhyZWY9IiNtb3JlaW5mbyI+VG9wIG9mIFNlY3Rpb248L2E+PC9mb250PjwvcD4KKworCis8aDM+PGEgbmFtZT0ic2Vya3VwZGF0ZSI+U2VydmVyIEV4dGVuc2lvbnMgUmVzb3VyY2UgS2l0IFVwZGF0ZTwvYT48L2gzPgorCis8cD5Gb3IgdXBkYXRlZCBpbmZvcm1hdGlvbiBhYm91dCBpbnN0YWxsaW5nLCBzZXR0aW5nIHVwLCBhbmQgYWRtaW5pc3RyYXRpbmcgdGhlIEZyb250UGFnZSBTZXJ2ZXIgCitFeHRlbnNpb25zLCBzZWUgdGhlIFNlcnZlciBFeHRlbnNpb25zIFJlc291cmNlIEtpdCBVcGRhdGUgYXQ6IDxhIGhyZWY9Imh0dHA6Ly9vZmZpY2V1cGRhdGUubWljcm9zb2Z0LmNvbS9mcm9udHBhZ2Uvd3BwL3NlcmsvIj5odHRwOi8vb2ZmaWNldXBkYXRlLm1pY3Jvc29mdC5jb20vZnJvbnRwYWdlL3dwcC9zZXJrLzwvYT4uPC9wPgorCisKKzxwIGFsaWduPSJyaWdodCI+PGZvbnQgc2l6ZT0iMSI+PGEgaHJlZj0iI21vcmVpbmZvIj5Ub3Agb2YgU2VjdGlvbjwvYT48L2ZvbnQ+PC9wPgorCisKKzxoMz48YSBuYW1lPSJrYiI+TWljcm9zb2Z0IEtub3dsZWRnZSBCYXNlPC9hPjwvaDM+CisKKzxwPkZvciBmdXJ0aGVyIHRlY2huaWNhbCBpbmZvcm1hdGlvbiBvbiBGcm9udFBhZ2UsIHBsZWFzZSBjb25zdWx0IFN1cHBvcnQgT25saW5lLiBVc2UgU3VwcG9ydAorT25saW5lIHRvIGVhc2lseSBzZWFyY2ggTWljcm9zb2Z0IFByb2R1Y3QgU3VwcG9ydCBTZXJ2aWNlcycgY29sbGVjdGlvbiBvZiByZXNvdXJjZXMgaW5jbHVkaW5nIAordGVjaG5pY2FsIGFydGljbGVzIGZyb20gTWljcm9zb2Z0J3MgZXh0ZW5zaXZlIEtub3dsZWRnZSBCYXNlLCBGQVFzLCAmYW1wOyB0cm91Ymxlc2hvb3RlcnMgdG8gZmluZCAKK2Zhc3QsIGFjY3VyYXRlIGFuc3dlcnMuIFlvdSBjYW4gYWxzbyBjdXN0b21pemUgdGhlIHNpdGUgdG8gY29udHJvbCB5b3VyIHNlYXJjaCB1c2luZyBlaXRoZXIgCitrZXl3b3JkcyBvciB0aGUgc2l0ZSdzIG5hdHVyYWwgbGFuZ3VhZ2Ugc2VhcmNoIGVuZ2luZSwgd2hpY2ggdXNlcyBub3JtYWwgZXZlcnlkYXkgbGFuZ3VhZ2UgZm9yIAorYW5zd2VyaW5nIGlucXVpcmllcywgc28geW91IGNhbiB3cml0ZSB5b3VyIHF1ZXN0aW9uIGluIHlvdXIgb3duIHdvcmRzLiBUbyBiZWdpbiwgZ28gdG8KKzxhIGhyZWY9Imh0dHA6Ly9zdXBwb3J0Lm1pY3Jvc29mdC5jb20vc3VwcG9ydC8iPmh0dHA6Ly9zdXBwb3J0Lm1pY3Jvc29mdC5jb20vc3VwcG9ydC88L2E+LjwvcD4gIAorCis8cCBhbGlnbj0icmlnaHQiPjxmb250IHNpemU9IjEiPjxhIGhyZWY9IiNtb3JlaW5mbyI+VG9wIG9mIFNlY3Rpb248L2E+PC9mb250PjwvcD4KKworCis8cD4mbmJzcDs8L3A+ICAKKworPC9mb250PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvSFRNTC9mcDQwLmh0bS5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9IVE1ML2ZwNDAuaHRtLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YWIzODhmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvSFRNTC9mcDQwLmh0bS5lcnIKQEAgLTAsMCArMSwzIEBACisuL3Rlc3QvSFRNTC9mcDQwLmh0bToxNTM6IEhUTUwgcGFyc2VyIGVycm9yIDogaHRtbFBhcnNlRW50aXR5UmVmOiBubyBuYW1lCit0ZWNobmljYWwgYXJ0aWNsZXMgZnJvbSBNaWNyb3NvZnQncyBleHRlbnNpdmUgS25vd2xlZGdlIEJhc2UsIEZBUXMsICYgdHJvdWJsZXNobworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvSFRNTC9mcDQwLmh0bS5zYXggYi9saWJ4bWwyL3Jlc3VsdC9IVE1ML2ZwNDAuaHRtLnNheApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42Zjc3Nzk0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvSFRNTC9mcDQwLmh0bS5zYXgKQEAgLTAsMCArMSw0NjMgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLmludGVybmFsU3Vic2V0KGh0bWwsIC0vL0lFVEYvL0RURCBIVE1MLy9FTiwgKQorU0FYLnN0YXJ0RWxlbWVudChodG1sKQorU0FYLmlnbm9yYWJsZVdoaXRlc3BhY2UoCisKKywgMikKK1NBWC5zdGFydEVsZW1lbnQoaGVhZCkKK1NBWC5pZ25vcmFibGVXaGl0ZXNwYWNlKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudChtZXRhLCBuYW1lPSdHRU5FUkFUT1InLCBjb250ZW50PSdNaWNyb3NvZnQgRnJvbnRQYWdlIDQuMCcpCitTQVguZW5kRWxlbWVudChtZXRhKQorU0FYLmlnbm9yYWJsZVdoaXRlc3BhY2UoCissIDEpCitTQVguc3RhcnRFbGVtZW50KHRpdGxlKQorU0FYLmNoYXJhY3RlcnMoUkVBRE1FIC0gTWljcm9zb2Z0IEZyb250UGFnZSAyLCA1MSkKK1NBWC5lbmRFbGVtZW50KHRpdGxlKQorU0FYLmlnbm9yYWJsZVdoaXRlc3BhY2UoCissIDEpCitTQVguc3RhcnRFbGVtZW50KG1ldGEsIG5hbWU9J01pY3Jvc29mdCBUaGVtZScsIGNvbnRlbnQ9J25vbmUnKQorU0FYLmVuZEVsZW1lbnQobWV0YSkKK1NBWC5pZ25vcmFibGVXaGl0ZXNwYWNlKAorLCAxKQorU0FYLmVuZEVsZW1lbnQoaGVhZCkKK1NBWC5pZ25vcmFibGVXaGl0ZXNwYWNlKAorCissIDIpCitTQVguc3RhcnRFbGVtZW50KGJvZHkpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5zdGFydEVsZW1lbnQoZm9udCwgZmFjZT0nVmVyZGFuYScpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5zdGFydEVsZW1lbnQoaDEpCitTQVguc3RhcnRFbGVtZW50KGEsIG5hbWU9J3RvcCcpCitTQVguY2hhcmFjdGVycyhNaWNyb3NvZnQgRnJvbnRQYWdlIDIwMDAgU2VydmUsIDQ4KQorU0FYLmVuZEVsZW1lbnQoYSkKK1NBWC5lbmRFbGVtZW50KGgxKQorU0FYLmNoYXJhY3RlcnMoCisKKywgMikKK1NBWC5zdGFydEVsZW1lbnQoZm9udCwgc2l6ZT0nMicpCitTQVguc3RhcnRFbGVtZW50KGkpCitTQVguY2hhcmFjdGVycygmY29weTsgQ29weXJpZ2h0IE1pY3Jvc29mdCBDb3IsIDQwKQorU0FYLmNoYXJhY3RlcnMoJm5ic3A7LCAyKQorU0FYLmVuZEVsZW1lbnQoaSkKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguY2hhcmFjdGVycygKKworCissIDMpCitTQVguc3RhcnRFbGVtZW50KHApCitTQVguY2hhcmFjdGVycyhUaGUgRnJvbnRQYWdlIFNlcnZlciBFeHRlbnNpb24sIDg4KQorU0FYLmVuZEVsZW1lbnQocCkKK1NBWC5zdGFydEVsZW1lbnQodWwpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChsaSkKK1NBWC5jaGFyYWN0ZXJzKEF1dGhvcmluZyBGcm9udFBhZ2Ugd2VicywgMjQpCitTQVguZW5kRWxlbWVudChsaSkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KGxpKQorU0FYLmNoYXJhY3RlcnMoQWRtaW5pc3RlcmluZyBGcm9udFBhZ2Ugd2VicywgMjgpCitTQVguZW5kRWxlbWVudChsaSkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KGxpKQorU0FYLmNoYXJhY3RlcnMoQnJvd3NlLXRpbWUgRnJvbnRQYWdlIHdlYiBmdW5jLCAzOSkKK1NBWC5lbmRFbGVtZW50KGxpKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguZW5kRWxlbWVudCh1bCkKK1NBWC5jaGFyYWN0ZXJzKAorCisKKywgMykKK1NBWC5zdGFydEVsZW1lbnQoaDIpCitTQVguY2hhcmFjdGVycyhDb250ZW50cywgOCkKK1NBWC5jaGFyYWN0ZXJzKCZuYnNwOywgMikKK1NBWC5lbmRFbGVtZW50KGgyKQorU0FYLmNoYXJhY3RlcnMoCisKKywgMikKK1NBWC5zdGFydEVsZW1lbnQoYSwgaHJlZj0nI3JlbG5vdGVzJykKK1NBWC5jaGFyYWN0ZXJzKFJlbGVhc2UgTm90ZXMsIDEzKQorU0FYLmVuZEVsZW1lbnQoYSkKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudChhLCBocmVmPScjbW9yZWluZm8nKQorU0FYLmNoYXJhY3RlcnMoUmVzb3VyY2VzIGZvciBNb3JlIEluZm9ybWF0aW9uLCAzMCkKK1NBWC5lbmRFbGVtZW50KGEpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5zdGFydEVsZW1lbnQocCkKK1NBWC5jaGFyYWN0ZXJzKCZuYnNwOywgMikKK1NBWC5lbmRFbGVtZW50KHApCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5zdGFydEVsZW1lbnQoaHIpCitTQVguZW5kRWxlbWVudChocikKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudChoMikKK1NBWC5zdGFydEVsZW1lbnQoYSwgbmFtZT0ncmVsbm90ZXMnKQorU0FYLmNoYXJhY3RlcnMoUmVsZWFzZSBOb3RlcywgMTMpCitTQVguZW5kRWxlbWVudChhKQorU0FYLmVuZEVsZW1lbnQoaDIpCitTQVguY2hhcmFjdGVycygKKworLCAyKQorU0FYLnN0YXJ0RWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoVGhpcyBzZWN0aW9uIHByb3ZpZGVzIGNvbXBsZW1lLCAxMzYpCitTQVguZW5kRWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoCisKKywgMikKK1NBWC5zdGFydEVsZW1lbnQocCkKK1NBWC5zdGFydEVsZW1lbnQoYSwgaHJlZj0nI2FwYWNoZScpCitTQVguY2hhcmFjdGVycyhBcGFjaGUgMS4zLjQgU3VwcG9ydCwgMjApCitTQVguZW5kRWxlbWVudChhKQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguc3RhcnRFbGVtZW50KGEsIGhyZWY9JyN1cGdyYWRpbmcnKQorU0FYLmNoYXJhY3RlcnMoVXBncmFkaW5nIGZyb20gcHJldmlvdXMgdmVyc2lvLCA2MikKK1NBWC5lbmRFbGVtZW50KGEpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5zdGFydEVsZW1lbnQoYSwgaHJlZj0nI2V4ZWN1dGFibGVzJykKK1NBWC5jaGFyYWN0ZXJzKFVwbG9hZGluZyBmaWxlcyBpbnRvIGV4ZWN1dGFibCwgMzkpCitTQVguZW5kRWxlbWVudChhKQorU0FYLmVuZEVsZW1lbnQocCkKK1NBWC5jaGFyYWN0ZXJzKAorCisKKywgMykKK1NBWC5zdGFydEVsZW1lbnQocCwgYWxpZ249J3JpZ2h0JykKK1NBWC5zdGFydEVsZW1lbnQoZm9udCwgc2l6ZT0nMScpCitTQVguc3RhcnRFbGVtZW50KGEsIGhyZWY9JyN0b3AnKQorU0FYLmNoYXJhY3RlcnMoVG9wIG9mIFBhZ2UsIDExKQorU0FYLmVuZEVsZW1lbnQoYSkKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguZW5kRWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoCisKKworLCAzKQorU0FYLnN0YXJ0RWxlbWVudChoMykKK1NBWC5zdGFydEVsZW1lbnQoYSwgbmFtZT0nYXBhY2hlJykKK1NBWC5jaGFyYWN0ZXJzKEFwYWNoZSAxLjMuNCBTdXBwb3J0LCAyMCkKK1NBWC5lbmRFbGVtZW50KGEpCitTQVguZW5kRWxlbWVudChoMykKK1NBWC5jaGFyYWN0ZXJzKAorCissIDIpCitTQVguc3RhcnRFbGVtZW50KHApCitTQVguY2hhcmFjdGVycyhZb3UgbmVlZCB0byB0YWtlIHNvbWUgc3BlY2lhbCAsIDM2MCkKK1NBWC5lbmRFbGVtZW50KHApCitTQVguY2hhcmFjdGVycygKKworCissIDMpCitTQVguZW5kRWxlbWVudChmb250KQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguc3RhcnRFbGVtZW50KGJsb2NrcXVvdGUpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChmb250LCBmYWNlPSdDb3VyaWVyIE5ldycpCitTQVguY2hhcmFjdGVycygKK1Jlc291cmNlQ29uZmlnIC9kZXYvbnVsbCwgMjUpCitTQVguY2hhcmFjdGVycygmbmJzcDssIDIpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguY2hhcmFjdGVycygKK0FjY2Vzc0NvbmZpZyAvZGV2L251bGwsIDIzKQorU0FYLmVuZEVsZW1lbnQoZm9udCkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmVuZEVsZW1lbnQoYmxvY2txdW90ZSkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudChmb250LCBmYWNlPSdWZXJkYW5hJykKK1NBWC5jaGFyYWN0ZXJzKAorCisKKywgMykKK1NBWC5zdGFydEVsZW1lbnQocCkKK1NBWC5jaGFyYWN0ZXJzKElmIHlvdSBoYXZlIHNvbWUgc2V0dGluZ3Mgc3RvciwgOTApCitTQVguZW5kRWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoCisKKywgMikKK1NBWC5zdGFydEVsZW1lbnQocCkKK1NBWC5jaGFyYWN0ZXJzKFlvdSBtdXN0IHN0b3AgYW5kIHJlc3RhcnQgdGhlICwgODYpCitTQVguZW5kRWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoCisKKworCissIDQpCitTQVguc3RhcnRFbGVtZW50KHAsIGFsaWduPSdyaWdodCcpCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIHNpemU9JzEnKQorU0FYLnN0YXJ0RWxlbWVudChhLCBocmVmPScjcmVsbm90ZXMnKQorU0FYLmNoYXJhY3RlcnMoVG9wIG9mIFNlY3Rpb24sIDE0KQorU0FYLmVuZEVsZW1lbnQoYSkKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguZW5kRWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoCisKKworCissIDQpCitTQVguc3RhcnRFbGVtZW50KGgzKQorU0FYLnN0YXJ0RWxlbWVudChhLCBuYW1lPSd1cGdyYWRpbmcnKQorU0FYLmNoYXJhY3RlcnMoVXBncmFkaW5nIGZyb20gcHJldmlvdXMgdmVyc2lvLCA2MikKK1NBWC5lbmRFbGVtZW50KGEpCitTQVguZW5kRWxlbWVudChoMykKK1NBWC5jaGFyYWN0ZXJzKAorCissIDIpCitTQVguc3RhcnRFbGVtZW50KHApCitTQVguY2hhcmFjdGVycyhDdXN0b20gZW50cmllcyBpbiBmcm9udHBhZ2UuY24sIDY3KQorU0FYLmVuZEVsZW1lbnQocCkKK1NBWC5jaGFyYWN0ZXJzKAorCissIDIpCitTQVguc3RhcnRFbGVtZW50KHApCitTQVguY2hhcmFjdGVycyhXaGVuIHlvdSBpbnN0YWxsIEZyb250UGFnZSAyMDAsIDM1OSkKK1NBWC5lbmRFbGVtZW50KHApCitTQVguY2hhcmFjdGVycygKKworLCAyKQorU0FYLnN0YXJ0RWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoRG8gbm90IG92ZXJ3cml0ZSB0aGUgRnJvbnRQYWdlLCAxNDEpCitTQVguZW5kRWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoCisKKworCissIDQpCitTQVguc3RhcnRFbGVtZW50KHAsIGFsaWduPSdyaWdodCcpCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIHNpemU9JzEnKQorU0FYLnN0YXJ0RWxlbWVudChhLCBocmVmPScjcmVsbm90ZXMnKQorU0FYLmNoYXJhY3RlcnMoVG9wIG9mIFNlY3Rpb24sIDE0KQorU0FYLmVuZEVsZW1lbnQoYSkKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguZW5kRWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoCisKKworCissIDQpCitTQVguc3RhcnRFbGVtZW50KGgzKQorU0FYLnN0YXJ0RWxlbWVudChhLCBuYW1lPSdleGVjdXRhYmxlcycpCitTQVguY2hhcmFjdGVycyhVcGxvYWRpbmcgZmlsZXMgaW50byBleGVjdXRhYmwsIDM5KQorU0FYLmVuZEVsZW1lbnQoYSkKK1NBWC5lbmRFbGVtZW50KGgzKQorU0FYLmNoYXJhY3RlcnMoCisKKworLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoQWZ0ZXIgdXBncmFkaW5nIHRvIEZyb250UGFnZSAyLCAzODUpCitTQVguZW5kRWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoIAorCissIDMpCitTQVguc3RhcnRFbGVtZW50KHApCitTQVguY2hhcmFjdGVycyhUbyBhbGxvdyBGcm9udFBhZ2UgYXV0aG9ycyB0byAsIDI0OSkKK1NBWC5zdGFydEVsZW1lbnQoYSwgaHJlZj0naHR0cDovL29mZmljZXVwZGF0ZS5taWNyb3NvZnQuY29tL2Zyb250cGFnZS93cHAvc2Vyay8nKQorU0FYLmNoYXJhY3RlcnMoaHR0cDovL29mZmljZXVwZGF0ZS5taWNyb3NvZnQuLCA1MykKK1NBWC5lbmRFbGVtZW50KGEpCitTQVguY2hhcmFjdGVycyguLCAxKQorU0FYLmVuZEVsZW1lbnQocCkKK1NBWC5jaGFyYWN0ZXJzKAorCisKKworLCA0KQorU0FYLnN0YXJ0RWxlbWVudChwLCBhbGlnbj0ncmlnaHQnKQorU0FYLnN0YXJ0RWxlbWVudChmb250LCBzaXplPScxJykKK1NBWC5zdGFydEVsZW1lbnQoYSwgaHJlZj0nI3JlbG5vdGVzJykKK1NBWC5jaGFyYWN0ZXJzKFRvcCBvZiBTZWN0aW9uLCAxNCkKK1NBWC5lbmRFbGVtZW50KGEpCitTQVguZW5kRWxlbWVudChmb250KQorU0FYLmVuZEVsZW1lbnQocCkKK1NBWC5jaGFyYWN0ZXJzKAorCisKKworLCA0KQorU0FYLnN0YXJ0RWxlbWVudChocikKK1NBWC5lbmRFbGVtZW50KGhyKQorU0FYLmNoYXJhY3RlcnMoCisKKworCissIDQpCitTQVguc3RhcnRFbGVtZW50KGgyKQorU0FYLnN0YXJ0RWxlbWVudChhLCBuYW1lPSdtb3JlaW5mbycpCitTQVguY2hhcmFjdGVycyhSZXNvdXJjZXMgZm9yIE1vcmUgSW5mb3JtYXRpb24sIDMwKQorU0FYLmVuZEVsZW1lbnQoYSkKK1NBWC5lbmRFbGVtZW50KGgyKQorU0FYLmNoYXJhY3RlcnMoCisKKywgMikKK1NBWC5zdGFydEVsZW1lbnQocCkKK1NBWC5jaGFyYWN0ZXJzKFRoaXMgc2VjdGlvbiBsaXN0cyBzb3VyY2VzIG9mICwgODUpCitTQVguZW5kRWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoCisKKywgMikKK1NBWC5zdGFydEVsZW1lbnQocCkKK1NBWC5zdGFydEVsZW1lbnQoYSwgaHJlZj0nI3NlcmsnKQorU0FYLmNoYXJhY3RlcnMoU2VydmVyIEV4dGVuc2lvbnMgUmVzb3VyY2UgS2l0LCAzMCkKK1NBWC5lbmRFbGVtZW50KGEpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5zdGFydEVsZW1lbnQoYSwgaHJlZj0nI3Nlcmt1cGRhdGUnKQorU0FYLmNoYXJhY3RlcnMoU2VydmVyIEV4dGVuc2lvbnMgUmVzb3VyY2UgS2l0LCAzNykKK1NBWC5lbmRFbGVtZW50KGEpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5zdGFydEVsZW1lbnQoYSwgaHJlZj0nI2tiJykKK1NBWC5jaGFyYWN0ZXJzKEtub3dsZWRnZSBCYXNlLCAxNCkKK1NBWC5lbmRFbGVtZW50KGEpCitTQVguZW5kRWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoCisKKworLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwLCBhbGlnbj0ncmlnaHQnKQorU0FYLnN0YXJ0RWxlbWVudChmb250LCBzaXplPScxJykKK1NBWC5zdGFydEVsZW1lbnQoYSwgaHJlZj0nI3RvcCcpCitTQVguY2hhcmFjdGVycyhUb3Agb2YgUGFnZSwgMTEpCitTQVguZW5kRWxlbWVudChhKQorU0FYLmVuZEVsZW1lbnQoZm9udCkKK1NBWC5lbmRFbGVtZW50KHApCitTQVguY2hhcmFjdGVycygKKworCissIDMpCitTQVguc3RhcnRFbGVtZW50KGgzKQorU0FYLnN0YXJ0RWxlbWVudChhLCBuYW1lPSdzZXJrJykKK1NBWC5jaGFyYWN0ZXJzKFNlcnZlciBFeHRlbnNpb25zIFJlc291cmNlIEtpdCwgMzApCitTQVguZW5kRWxlbWVudChhKQorU0FYLmVuZEVsZW1lbnQoaDMpCitTQVguY2hhcmFjdGVycygKKworLCAyKQorU0FYLnN0YXJ0RWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoVGhlIEZyb250UGFnZSAyMDAwIFNlcnZlciBFeHRlLCAzMzkpCitTQVguZW5kRWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoCisKKywgMikKK1NBWC5zdGFydEVsZW1lbnQocCkKK1NBWC5jaGFyYWN0ZXJzKFRoZSBTZXJ2ZXIgRXh0ZW5zaW9ucyBSZXNvdXJjZSwgMzEyKQorU0FYLmVuZEVsZW1lbnQocCkKK1NBWC5jaGFyYWN0ZXJzKAorCissIDIpCitTQVguc3RhcnRFbGVtZW50KHAsIGFsaWduPSdyaWdodCcpCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIHNpemU9JzEnKQorU0FYLnN0YXJ0RWxlbWVudChhLCBocmVmPScjbW9yZWluZm8nKQorU0FYLmNoYXJhY3RlcnMoVG9wIG9mIFNlY3Rpb24sIDE0KQorU0FYLmVuZEVsZW1lbnQoYSkKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguZW5kRWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoCisKKworLCAzKQorU0FYLnN0YXJ0RWxlbWVudChoMykKK1NBWC5zdGFydEVsZW1lbnQoYSwgbmFtZT0nc2Vya3VwZGF0ZScpCitTQVguY2hhcmFjdGVycyhTZXJ2ZXIgRXh0ZW5zaW9ucyBSZXNvdXJjZSBLaXQsIDM3KQorU0FYLmVuZEVsZW1lbnQoYSkKK1NBWC5lbmRFbGVtZW50KGgzKQorU0FYLmNoYXJhY3RlcnMoCisKKywgMikKK1NBWC5zdGFydEVsZW1lbnQocCkKK1NBWC5jaGFyYWN0ZXJzKEZvciB1cGRhdGVkIGluZm9ybWF0aW9uIGFib3V0ICwgMTU3KQorU0FYLnN0YXJ0RWxlbWVudChhLCBocmVmPSdodHRwOi8vb2ZmaWNldXBkYXRlLm1pY3Jvc29mdC5jb20vZnJvbnRwYWdlL3dwcC9zZXJrLycpCitTQVguY2hhcmFjdGVycyhodHRwOi8vb2ZmaWNldXBkYXRlLm1pY3Jvc29mdC4sIDUzKQorU0FYLmVuZEVsZW1lbnQoYSkKK1NBWC5jaGFyYWN0ZXJzKC4sIDEpCitTQVguZW5kRWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoCisKKworLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwLCBhbGlnbj0ncmlnaHQnKQorU0FYLnN0YXJ0RWxlbWVudChmb250LCBzaXplPScxJykKK1NBWC5zdGFydEVsZW1lbnQoYSwgaHJlZj0nI21vcmVpbmZvJykKK1NBWC5jaGFyYWN0ZXJzKFRvcCBvZiBTZWN0aW9uLCAxNCkKK1NBWC5lbmRFbGVtZW50KGEpCitTQVguZW5kRWxlbWVudChmb250KQorU0FYLmVuZEVsZW1lbnQocCkKK1NBWC5jaGFyYWN0ZXJzKAorCisKKywgMykKK1NBWC5zdGFydEVsZW1lbnQoaDMpCitTQVguc3RhcnRFbGVtZW50KGEsIG5hbWU9J2tiJykKK1NBWC5jaGFyYWN0ZXJzKE1pY3Jvc29mdCBLbm93bGVkZ2UgQmFzZSwgMjQpCitTQVguZW5kRWxlbWVudChhKQorU0FYLmVuZEVsZW1lbnQoaDMpCitTQVguY2hhcmFjdGVycygKKworLCAyKQorU0FYLnN0YXJ0RWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoRm9yIGZ1cnRoZXIgdGVjaG5pY2FsIGluZm9ybWF0LCAyNTQpCitTQVguZXJyb3I6IGh0bWxQYXJzZUVudGl0eVJlZjogbm8gbmFtZQorU0FYLmNoYXJhY3RlcnMoJmFtcDssIDEpCitTQVguY2hhcmFjdGVycyggdHJvdWJsZXNob290ZXJzIHRvIGZpbmQgCitmYXN0LCAzMDIpCitTQVguc3RhcnRFbGVtZW50KGEsIGhyZWY9J2h0dHA6Ly9zdXBwb3J0Lm1pY3Jvc29mdC5jb20vc3VwcG9ydC8nKQorU0FYLmNoYXJhY3RlcnMoaHR0cDovL3N1cHBvcnQubWljcm9zb2Z0LmNvbS9zLCAzNykKK1NBWC5lbmRFbGVtZW50KGEpCitTQVguY2hhcmFjdGVycyguLCAxKQorU0FYLmVuZEVsZW1lbnQocCkKK1NBWC5jaGFyYWN0ZXJzKCAgCisKKywgNCkKK1NBWC5zdGFydEVsZW1lbnQocCwgYWxpZ249J3JpZ2h0JykKK1NBWC5zdGFydEVsZW1lbnQoZm9udCwgc2l6ZT0nMScpCitTQVguc3RhcnRFbGVtZW50KGEsIGhyZWY9JyNtb3JlaW5mbycpCitTQVguY2hhcmFjdGVycyhUb3Agb2YgU2VjdGlvbiwgMTQpCitTQVguZW5kRWxlbWVudChhKQorU0FYLmVuZEVsZW1lbnQoZm9udCkKK1NBWC5lbmRFbGVtZW50KHApCitTQVguY2hhcmFjdGVycygKKworCissIDMpCitTQVguc3RhcnRFbGVtZW50KHApCitTQVguY2hhcmFjdGVycygmbmJzcDssIDIpCitTQVguZW5kRWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoICAKKworLCA0KQorU0FYLmVuZEVsZW1lbnQoZm9udCkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmVuZEVsZW1lbnQoYm9keSkKK1NBWC5pZ25vcmFibGVXaGl0ZXNwYWNlKAorLCAxKQorU0FYLmVuZEVsZW1lbnQoaHRtbCkKK1NBWC5pZ25vcmFibGVXaGl0ZXNwYWNlKAorLCAxKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L0hUTUwvaHRtbDVfZW5jLmh0bWwgYi9saWJ4bWwyL3Jlc3VsdC9IVE1ML2h0bWw1X2VuYy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ0Y2VlYmMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9IVE1ML2h0bWw1X2VuYy5odG1sCkBAIC0wLDAgKzEsOSBAQAorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLWh0bWw0MC9sb29zZS5kdGQiPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9Imlzby04ODU5LTEiPgorPC9oZWFkPgorPGJvZHk+CisgIDxwPnRyJmVncmF2ZTtzPC9wPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvSFRNTC9odG1sNV9lbmMuaHRtbC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9IVE1ML2h0bWw1X2VuYy5odG1sLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvSFRNTC9odG1sNV9lbmMuaHRtbC5lcnIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L0hUTUwvaHRtbDVfZW5jLmh0bWwuc2F4IGIvbGlieG1sMi9yZXN1bHQvSFRNTC9odG1sNV9lbmMuaHRtbC5zYXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjkyYmU1NwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L0hUTUwvaHRtbDVfZW5jLmh0bWwuc2F4CkBAIC0wLDAgKzEsMzAgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLnN0YXJ0RWxlbWVudChodG1sKQorU0FYLmlnbm9yYWJsZVdoaXRlc3BhY2UoCissIDEpCitTQVguc3RhcnRFbGVtZW50KGhlYWQpCitTQVguaWdub3JhYmxlV2hpdGVzcGFjZSgKKywgMSkKK1NBWC5zdGFydEVsZW1lbnQobWV0YSwgY2hhcnNldD0naXNvLTg4NTktMScpCitTQVguZW5kRWxlbWVudChtZXRhKQorU0FYLmlnbm9yYWJsZVdoaXRlc3BhY2UoCissIDEpCitTQVguZW5kRWxlbWVudChoZWFkKQorU0FYLmlnbm9yYWJsZVdoaXRlc3BhY2UoCissIDEpCitTQVguc3RhcnRFbGVtZW50KGJvZHkpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnModHImZWdyYXZlO3MsIDUpCitTQVguZW5kRWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguZW5kRWxlbWVudChib2R5KQorU0FYLmlnbm9yYWJsZVdoaXRlc3BhY2UoCissIDEpCitTQVguZW5kRWxlbWVudChodG1sKQorU0FYLmlnbm9yYWJsZVdoaXRlc3BhY2UoCissIDEpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvSFRNTC9saWNsb3NlLmh0bWwgYi9saWJ4bWwyL3Jlc3VsdC9IVE1ML2xpY2xvc2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MjM5MWRjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvSFRNTC9saWNsb3NlLmh0bWwKQEAgLTAsMCArMSwxNSBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLWh0bWw0MC9sb29zZS5kdGQiPgorPGh0bWw+Cis8aGVhZD4KKyAgPHRpdGxlPjwvdGl0bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzx1bD4KKzxsaT5GaXJzdCBpdGVtCis8L2xpPgorPGxpPlNlY29uZCBpdGVtLCBjbG9zZXMgdGhlIGZpcnN0IG9uZQorPC9saT4KKzwvdWw+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L0hUTUwvbGljbG9zZS5odG1sLmVyciBiL2xpYnhtbDIvcmVzdWx0L0hUTUwvbGljbG9zZS5odG1sLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvSFRNTC9saWNsb3NlLmh0bWwuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9IVE1ML2xpY2xvc2UuaHRtbC5zYXggYi9saWJ4bWwyL3Jlc3VsdC9IVE1ML2xpY2xvc2UuaHRtbC5zYXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWFiY2RmNgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L0hUTUwvbGljbG9zZS5odG1sLnNheApAQCAtMCwwICsxLDM4IEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5pbnRlcm5hbFN1YnNldChIVE1MLCAtLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwvL0VOLCBodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtaHRtbDQwL2xvb3NlLmR0ZCkKK1NBWC5zdGFydEVsZW1lbnQoaHRtbCkKK1NBWC5pZ25vcmFibGVXaGl0ZXNwYWNlKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudChoZWFkKQorU0FYLmlnbm9yYWJsZVdoaXRlc3BhY2UoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQodGl0bGUpCitTQVguZW5kRWxlbWVudCh0aXRsZSkKK1NBWC5pZ25vcmFibGVXaGl0ZXNwYWNlKAorLCAxKQorU0FYLmVuZEVsZW1lbnQoaGVhZCkKK1NBWC5pZ25vcmFibGVXaGl0ZXNwYWNlKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudChib2R5KQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguc3RhcnRFbGVtZW50KHVsKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguc3RhcnRFbGVtZW50KGxpKQorU0FYLmNoYXJhY3RlcnMoRmlyc3QgaXRlbQorLCAxMSkKK1NBWC5lbmRFbGVtZW50KGxpKQorU0FYLnN0YXJ0RWxlbWVudChsaSkKK1NBWC5jaGFyYWN0ZXJzKFNlY29uZCBpdGVtLCBjbG9zZXMgdGhlIGZpcnN0ICwgMzQpCitTQVguZW5kRWxlbWVudChsaSkKK1NBWC5lbmRFbGVtZW50KHVsKQorU0FYLmNoYXJhY3RlcnMoCisKKywgMikKK1NBWC5lbmRFbGVtZW50KGJvZHkpCitTQVguZW5kRWxlbWVudChodG1sKQorU0FYLmlnbm9yYWJsZVdoaXRlc3BhY2UoCissIDEpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvSFRNTC9sdC5odG1sIGIvbGlieG1sMi9yZXN1bHQvSFRNTC9sdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMyOWY3NGYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9IVE1ML2x0Lmh0bWwKQEAgLTAsMCArMSw2IEBACis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtaHRtbDQwL2xvb3NlLmR0ZCI+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0iQXV0aG9yIiBjb250ZW50PSJSb290ICZsdDtyb290QGFvbC5jb20mZ3Q7Ij4KKzwvaGVhZD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L0hUTUwvbHQuaHRtbC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9IVE1ML2x0Lmh0bWwuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9IVE1ML2x0Lmh0bWwuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9IVE1ML2x0Lmh0bWwuc2F4IGIvbGlieG1sMi9yZXN1bHQvSFRNTC9sdC5odG1sLnNheApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNGFiNWUzCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvSFRNTC9sdC5odG1sLnNheApAQCAtMCwwICsxLDE5IEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5zdGFydEVsZW1lbnQoaHRtbCkKK1NBWC5pZ25vcmFibGVXaGl0ZXNwYWNlKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudChoZWFkKQorU0FYLmlnbm9yYWJsZVdoaXRlc3BhY2UoCissIDEpCitTQVguc3RhcnRFbGVtZW50KG1ldGEsIG5hbWU9J0F1dGhvcicsIGNvbnRlbnQ9J1Jvb3QgJmx0O3Jvb3RAYW9sLmNvbSZndDsnKQorU0FYLmVuZEVsZW1lbnQobWV0YSkKK1NBWC5pZ25vcmFibGVXaGl0ZXNwYWNlKAorLCAxKQorU0FYLmVuZEVsZW1lbnQoaGVhZCkKK1NBWC5pZ25vcmFibGVXaGl0ZXNwYWNlKAorLCAxKQorU0FYLmVuZEVsZW1lbnQoaHRtbCkKK1NBWC5pZ25vcmFibGVXaGl0ZXNwYWNlKAorLCAxKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L0hUTUwvbm9zY3JpcHQuaHRtbCBiL2xpYnhtbDIvcmVzdWx0L0hUTUwvbm9zY3JpcHQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NTRlOTQzCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvSFRNTC9ub3NjcmlwdC5odG1sCkBAIC0wLDAgKzEsMTAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDx0aXRsZT5vbWc8L3RpdGxlPgorICAgICAgICA8bm9zY3JpcHQ+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwOi8vZm9vLmNvbSI+PC9ub3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHkgaWQ9Inh4eCI+CisgICAgICAgIDxwPnlvPC9wPgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L0hUTUwvbm9zY3JpcHQuaHRtbC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9IVE1ML25vc2NyaXB0Lmh0bWwuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9IVE1ML25vc2NyaXB0Lmh0bWwuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9IVE1ML25vc2NyaXB0Lmh0bWwuc2F4IGIvbGlieG1sMi9yZXN1bHQvSFRNTC9ub3NjcmlwdC5odG1sLnNheApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNjkzOTZmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvSFRNTC9ub3NjcmlwdC5odG1sLnNheApAQCAtMCwwICsxLDM4IEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5pbnRlcm5hbFN1YnNldChodG1sLCAsICkKK1NBWC5zdGFydEVsZW1lbnQoaHRtbCkKK1NBWC5pZ25vcmFibGVXaGl0ZXNwYWNlKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoaGVhZCkKK1NBWC5pZ25vcmFibGVXaGl0ZXNwYWNlKAorICAgICAgICAsIDkpCitTQVguc3RhcnRFbGVtZW50KHRpdGxlKQorU0FYLmNoYXJhY3RlcnMob21nLCAzKQorU0FYLmVuZEVsZW1lbnQodGl0bGUpCitTQVguaWdub3JhYmxlV2hpdGVzcGFjZSgKKyAgICAgICAgLCA5KQorU0FYLnN0YXJ0RWxlbWVudChub3NjcmlwdCkKK1NBWC5zdGFydEVsZW1lbnQobGluaywgcmVsPSdzdHlsZXNoZWV0JywgaHJlZj0naHR0cDovL2Zvby5jb20nKQorU0FYLmVuZEVsZW1lbnQobGluaykKK1NBWC5lbmRFbGVtZW50KG5vc2NyaXB0KQorU0FYLmlnbm9yYWJsZVdoaXRlc3BhY2UoCisgICAgLCA1KQorU0FYLmVuZEVsZW1lbnQoaGVhZCkKK1NBWC5pZ25vcmFibGVXaGl0ZXNwYWNlKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoYm9keSwgaWQ9J3h4eCcpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgLCA5KQorU0FYLnN0YXJ0RWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoeW8sIDIpCitTQVguZW5kRWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLmVuZEVsZW1lbnQoYm9keSkKK1NBWC5pZ25vcmFibGVXaGl0ZXNwYWNlKAorLCAxKQorU0FYLmVuZEVsZW1lbnQoaHRtbCkKK1NBWC5pZ25vcmFibGVXaGl0ZXNwYWNlKAorLCAxKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L0hUTUwvcHJlLmh0bWwgYi9saWJ4bWwyL3Jlc3VsdC9IVE1ML3ByZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY4M2E3Y2IKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9IVE1ML3ByZS5odG1sCkBAIC0wLDAgKzEsNiBAQAorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLWh0bWw0MC9sb29zZS5kdGQiPgorPGh0bWw+Cis8Ym9keT4KKzxwcmU+PGEgaHJlZj0idG90byI+PC9hPjxpbWcgc3JjPSJ0aXRpIj48L3ByZT4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L0hUTUwvcHJlLmh0bWwuZXJyIGIvbGlieG1sMi9yZXN1bHQvSFRNTC9wcmUuaHRtbC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L0hUTUwvcHJlLmh0bWwuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9IVE1ML3ByZS5odG1sLnNheCBiL2xpYnhtbDIvcmVzdWx0L0hUTUwvcHJlLmh0bWwuc2F4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY4NzgyYjcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9IVE1ML3ByZS5odG1sLnNheApAQCAtMCwwICsxLDIzIEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5zdGFydEVsZW1lbnQoaHRtbCkKK1NBWC5pZ25vcmFibGVXaGl0ZXNwYWNlKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudChib2R5KQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguc3RhcnRFbGVtZW50KHByZSkKK1NBWC5zdGFydEVsZW1lbnQoYSwgaHJlZj0ndG90bycpCitTQVguZW5kRWxlbWVudChhKQorU0FYLnN0YXJ0RWxlbWVudChpbWcsIHNyYz0ndGl0aScpCitTQVguZW5kRWxlbWVudChpbWcpCitTQVguZW5kRWxlbWVudChwcmUpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5lbmRFbGVtZW50KGJvZHkpCitTQVguaWdub3JhYmxlV2hpdGVzcGFjZSgKKywgMSkKK1NBWC5lbmRFbGVtZW50KGh0bWwpCitTQVguaWdub3JhYmxlV2hpdGVzcGFjZSgKKywgMSkKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9IVE1ML3B5dGhvbi5odG1sIGIvbGlieG1sMi9yZXN1bHQvSFRNTC9weXRob24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYTBiZTE4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvSFRNTC9weXRob24uaHRtbApAQCAtMCwwICsxLDkgQEAKKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAxIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi9odG1sNC9sb29zZS5kdGQiPgorPD94bWwtc3R5bGVzaGVldCBocmVmPSIuL2Nzcy9odDJodG1sLmNzcyIgdHlwZT0idGV4dC9jc3MiPz48aHRtbD4KKzwhLS0gVEhJUyBQQUdFIElTIEFVVE9NQVRJQ0FMTFkgR0VORVJBVEVELiAgRE8gTk9UIEVESVQuIC0tPgorPGhlYWQ+Cis8dGl0bGU+UHl0aG9uIFByb2dyYW1taW5nIExhbmd1YWdlPC90aXRsZT4KKzwvaGVhZD4KKzxib2R5PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvSFRNTC9weXRob24uaHRtbC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9IVE1ML3B5dGhvbi5odG1sLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvSFRNTC9weXRob24uaHRtbC5lcnIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L0hUTUwvcHl0aG9uLmh0bWwuc2F4IGIvbGlieG1sMi9yZXN1bHQvSFRNTC9weXRob24uaHRtbC5zYXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjY1NTM5YwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L0hUTUwvcHl0aG9uLmh0bWwuc2F4CkBAIC0wLDAgKzEsMjkgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLmludGVybmFsU3Vic2V0KGh0bWwsIC0vL1czQy8vRFREIEhUTUwgNC4wMSBUcmFuc2l0aW9uYWwvL0VOLCBodHRwOi8vd3d3LnczLm9yZy9UUi9odG1sNC9sb29zZS5kdGQpCitTQVgucHJvY2Vzc2luZ0luc3RydWN0aW9uKHhtbC1zdHlsZXNoZWV0LCBocmVmPSIuL2Nzcy9odDJodG1sLmNzcyIgdHlwZT0idGV4dC9jc3MiPykKK1NBWC5zdGFydEVsZW1lbnQoaHRtbCkKK1NBWC5pZ25vcmFibGVXaGl0ZXNwYWNlKAorLCAxKQorU0FYLmNvbW1lbnQoIFRISVMgUEFHRSBJUyBBVVRPTUFUSUNBTExZIEdFTkVSQVRFRC4gIERPIE5PVCBFRElULiApCitTQVguaWdub3JhYmxlV2hpdGVzcGFjZSgKKywgMSkKK1NBWC5zdGFydEVsZW1lbnQoaGVhZCkKK1NBWC5pZ25vcmFibGVXaGl0ZXNwYWNlKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudCh0aXRsZSkKK1NBWC5jaGFyYWN0ZXJzKFB5dGhvbiBQcm9ncmFtbWluZyBMYW5ndWFnZSwgMjcpCitTQVguZW5kRWxlbWVudCh0aXRsZSkKK1NBWC5pZ25vcmFibGVXaGl0ZXNwYWNlKAorLCAxKQorU0FYLmVuZEVsZW1lbnQoaGVhZCkKK1NBWC5pZ25vcmFibGVXaGl0ZXNwYWNlKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudChib2R5KQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguZW5kRWxlbWVudChib2R5KQorU0FYLmVuZEVsZW1lbnQoaHRtbCkKK1NBWC5pZ25vcmFibGVXaGl0ZXNwYWNlKAorLCAxKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L0hUTUwvcmVnMS5odG1sIGIvbGlieG1sMi9yZXN1bHQvSFRNTC9yZWcxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODkzZDZhMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L0hUTUwvcmVnMS5odG1sCkBAIC0wLDAgKzEsMTIgQEAKKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy1odG1sNDAvbG9vc2UuZHRkIj4KKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+UmVncmVzc2lvbiB0ZXN0IDE8L3RpdGxlPgorPC9oZWFkPgorPGJvZHk+Cis8aDE+UmVncmVzc2lvbiB0ZXN0IDE8L2gxPgorPHA+CitPayBmaWxlIG5vIHByb2JsZW0KKzwvcD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L0hUTUwvcmVnMS5odG1sLmVyciBiL2xpYnhtbDIvcmVzdWx0L0hUTUwvcmVnMS5odG1sLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvSFRNTC9yZWcxLmh0bWwuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9IVE1ML3JlZzEuaHRtbC5zYXggYi9saWJ4bWwyL3Jlc3VsdC9IVE1ML3JlZzEuaHRtbC5zYXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzhlZTNhYwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L0hUTUwvcmVnMS5odG1sLnNheApAQCAtMCwwICsxLDM2IEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5zdGFydEVsZW1lbnQoaHRtbCkKK1NBWC5pZ25vcmFibGVXaGl0ZXNwYWNlKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudChoZWFkKQorU0FYLmlnbm9yYWJsZVdoaXRlc3BhY2UoCissIDEpCitTQVguc3RhcnRFbGVtZW50KHRpdGxlKQorU0FYLmNoYXJhY3RlcnMoUmVncmVzc2lvbiB0ZXN0IDEsIDE3KQorU0FYLmVuZEVsZW1lbnQodGl0bGUpCitTQVguaWdub3JhYmxlV2hpdGVzcGFjZSgKKywgMSkKK1NBWC5lbmRFbGVtZW50KGhlYWQpCitTQVguaWdub3JhYmxlV2hpdGVzcGFjZSgKKywgMSkKK1NBWC5zdGFydEVsZW1lbnQoYm9keSkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudChoMSkKK1NBWC5jaGFyYWN0ZXJzKFJlZ3Jlc3Npb24gdGVzdCAxLCAxNykKK1NBWC5lbmRFbGVtZW50KGgxKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguc3RhcnRFbGVtZW50KHApCitTQVguY2hhcmFjdGVycygKK09rIGZpbGUgbm8gcHJvYmxlbQorLCAyMCkKK1NBWC5lbmRFbGVtZW50KHApCitTQVguZW5kRWxlbWVudChib2R5KQorU0FYLmlnbm9yYWJsZVdoaXRlc3BhY2UoCissIDEpCitTQVguZW5kRWxlbWVudChodG1sKQorU0FYLmlnbm9yYWJsZVdoaXRlc3BhY2UoCissIDEpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvSFRNTC9yZWcyLmh0bWwgYi9saWJ4bWwyL3Jlc3VsdC9IVE1ML3JlZzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44OGNmOWQzCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvSFRNTC9yZWcyLmh0bWwKQEAgLTAsMCArMSwxNSBAQAorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLWh0bWw0MC9sb29zZS5kdGQiPgorPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5SZWdyZXNzaW9uIHRlc3QgMjwvdGl0bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxoMT5SZWdyZXNzaW9uIHRlc3QgMjwvaDE+Cis8cD4KK0F1dG9jbG9zZSBvZiB0YWcgUAorPC9wPgorPHA+CitPayBmaWxlIG5vIHByb2JsZW0KKzwvcD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L0hUTUwvcmVnMi5odG1sLmVyciBiL2xpYnhtbDIvcmVzdWx0L0hUTUwvcmVnMi5odG1sLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvSFRNTC9yZWcyLmh0bWwuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9IVE1ML3JlZzIuaHRtbC5zYXggYi9saWJ4bWwyL3Jlc3VsdC9IVE1ML3JlZzIuaHRtbC5zYXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjg1NjkxZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L0hUTUwvcmVnMi5odG1sLnNheApAQCAtMCwwICsxLDQxIEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5zdGFydEVsZW1lbnQoaHRtbCkKK1NBWC5pZ25vcmFibGVXaGl0ZXNwYWNlKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudChoZWFkKQorU0FYLmlnbm9yYWJsZVdoaXRlc3BhY2UoCissIDEpCitTQVguc3RhcnRFbGVtZW50KHRpdGxlKQorU0FYLmNoYXJhY3RlcnMoUmVncmVzc2lvbiB0ZXN0IDIsIDE3KQorU0FYLmVuZEVsZW1lbnQodGl0bGUpCitTQVguaWdub3JhYmxlV2hpdGVzcGFjZSgKKywgMSkKK1NBWC5lbmRFbGVtZW50KGhlYWQpCitTQVguaWdub3JhYmxlV2hpdGVzcGFjZSgKKywgMSkKK1NBWC5zdGFydEVsZW1lbnQoYm9keSkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudChoMSkKK1NBWC5jaGFyYWN0ZXJzKFJlZ3Jlc3Npb24gdGVzdCAyLCAxNykKK1NBWC5lbmRFbGVtZW50KGgxKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguc3RhcnRFbGVtZW50KHApCitTQVguY2hhcmFjdGVycygKK0F1dG9jbG9zZSBvZiB0YWcgUAorLCAyMCkKK1NBWC5lbmRFbGVtZW50KHApCitTQVguc3RhcnRFbGVtZW50KHApCitTQVguY2hhcmFjdGVycygKK09rIGZpbGUgbm8gcHJvYmxlbQorLCAyMCkKK1NBWC5lbmRFbGVtZW50KHApCitTQVguZW5kRWxlbWVudChib2R5KQorU0FYLmlnbm9yYWJsZVdoaXRlc3BhY2UoCissIDEpCitTQVguZW5kRWxlbWVudChodG1sKQorU0FYLmlnbm9yYWJsZVdoaXRlc3BhY2UoCissIDEpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvSFRNTC9yZWczLmh0bWwgYi9saWJ4bWwyL3Jlc3VsdC9IVE1ML3JlZzMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMzVhYzBkCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvSFRNTC9yZWczLmh0bWwKQEAgLTAsMCArMSwxNiBAQAorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLWh0bWw0MC9sb29zZS5kdGQiPgorPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5SZWdyZXNzaW9uIHRlc3QgMzwvdGl0bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxoMT5SZWdyZXNzaW9uIHRlc3QgMzwvaDE+Cis8cD4KK0F1dG9jbG9zZSBvZiB0YWcgUAorPC9wPgorPGhyPgorPHA+CitPayBmaWxlIG5vIHByb2JsZW0KKzwvcD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L0hUTUwvcmVnMy5odG1sLmVyciBiL2xpYnhtbDIvcmVzdWx0L0hUTUwvcmVnMy5odG1sLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvSFRNTC9yZWczLmh0bWwuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9IVE1ML3JlZzMuaHRtbC5zYXggYi9saWJ4bWwyL3Jlc3VsdC9IVE1ML3JlZzMuaHRtbC5zYXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWMwZjAzOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L0hUTUwvcmVnMy5odG1sLnNheApAQCAtMCwwICsxLDQ1IEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5zdGFydEVsZW1lbnQoaHRtbCkKK1NBWC5pZ25vcmFibGVXaGl0ZXNwYWNlKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudChoZWFkKQorU0FYLmlnbm9yYWJsZVdoaXRlc3BhY2UoCissIDEpCitTQVguc3RhcnRFbGVtZW50KHRpdGxlKQorU0FYLmNoYXJhY3RlcnMoUmVncmVzc2lvbiB0ZXN0IDMsIDE3KQorU0FYLmVuZEVsZW1lbnQodGl0bGUpCitTQVguaWdub3JhYmxlV2hpdGVzcGFjZSgKKywgMSkKK1NBWC5lbmRFbGVtZW50KGhlYWQpCitTQVguaWdub3JhYmxlV2hpdGVzcGFjZSgKKywgMSkKK1NBWC5zdGFydEVsZW1lbnQoYm9keSkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudChoMSkKK1NBWC5jaGFyYWN0ZXJzKFJlZ3Jlc3Npb24gdGVzdCAzLCAxNykKK1NBWC5lbmRFbGVtZW50KGgxKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguc3RhcnRFbGVtZW50KHApCitTQVguY2hhcmFjdGVycygKK0F1dG9jbG9zZSBvZiB0YWcgUAorLCAyMCkKK1NBWC5lbmRFbGVtZW50KHApCitTQVguc3RhcnRFbGVtZW50KGhyKQorU0FYLmVuZEVsZW1lbnQoaHIpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5zdGFydEVsZW1lbnQocCkKK1NBWC5jaGFyYWN0ZXJzKAorT2sgZmlsZSBubyBwcm9ibGVtCissIDIwKQorU0FYLmVuZEVsZW1lbnQocCkKK1NBWC5lbmRFbGVtZW50KGJvZHkpCitTQVguaWdub3JhYmxlV2hpdGVzcGFjZSgKKywgMSkKK1NBWC5lbmRFbGVtZW50KGh0bWwpCitTQVguaWdub3JhYmxlV2hpdGVzcGFjZSgKKywgMSkKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9IVE1ML3JlZzQuaHRtbCBiL2xpYnhtbDIvcmVzdWx0L0hUTUwvcmVnNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmViMWJhMDkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9IVE1ML3JlZzQuaHRtbApAQCAtMCwwICsxLDE0IEBACis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtaHRtbDQwL2xvb3NlLmR0ZCI+Cis8aHRtbD4KKzxoZWFkPgorPHRpdGxlPlJlZ3Jlc3Npb24gdGVzdCA0PC90aXRsZT4KKzwvaGVhZD4KKzxib2R5PgorPGgxPlJlZ3Jlc3Npb24gdGVzdCA0PC9oMT4KKzxwPgorV3JvbmcgY2xvc2Ugb2YgdGFnIFAKKzwvcD4KKzxocj4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvSFRNTC9yZWc0Lmh0bWwuZXJyIGIvbGlieG1sMi9yZXN1bHQvSFRNTC9yZWc0Lmh0bWwuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY1MTVmNzAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9IVE1ML3JlZzQuaHRtbC5lcnIKQEAgLTAsMCArMSwzIEBACisuL3Rlc3QvSFRNTC9yZWc0Lmh0bWw6MTA6IEhUTUwgcGFyc2VyIGVycm9yIDogVW5leHBlY3RlZCBlbmQgdGFnIDogcAorPC9wPgorICAgIF4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L0hUTUwvcmVnNC5odG1sLnNheCBiL2xpYnhtbDIvcmVzdWx0L0hUTUwvcmVnNC5odG1sLnNheApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YzUxNDdjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvSFRNTC9yZWc0Lmh0bWwuc2F4CkBAIC0wLDAgKzEsNDMgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLnN0YXJ0RWxlbWVudChodG1sKQorU0FYLmlnbm9yYWJsZVdoaXRlc3BhY2UoCissIDEpCitTQVguc3RhcnRFbGVtZW50KGhlYWQpCitTQVguaWdub3JhYmxlV2hpdGVzcGFjZSgKKywgMSkKK1NBWC5zdGFydEVsZW1lbnQodGl0bGUpCitTQVguY2hhcmFjdGVycyhSZWdyZXNzaW9uIHRlc3QgNCwgMTcpCitTQVguZW5kRWxlbWVudCh0aXRsZSkKK1NBWC5pZ25vcmFibGVXaGl0ZXNwYWNlKAorLCAxKQorU0FYLmVuZEVsZW1lbnQoaGVhZCkKK1NBWC5pZ25vcmFibGVXaGl0ZXNwYWNlKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudChib2R5KQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguc3RhcnRFbGVtZW50KGgxKQorU0FYLmNoYXJhY3RlcnMoUmVncmVzc2lvbiB0ZXN0IDQsIDE3KQorU0FYLmVuZEVsZW1lbnQoaDEpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5zdGFydEVsZW1lbnQocCkKK1NBWC5jaGFyYWN0ZXJzKAorV3JvbmcgY2xvc2Ugb2YgdGFnIFAKKywgMjIpCitTQVguZW5kRWxlbWVudChwKQorU0FYLnN0YXJ0RWxlbWVudChocikKK1NBWC5lbmRFbGVtZW50KGhyKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguZXJyb3I6IFVuZXhwZWN0ZWQgZW5kIHRhZyA6IHAKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmVuZEVsZW1lbnQoYm9keSkKK1NBWC5pZ25vcmFibGVXaGl0ZXNwYWNlKAorLCAxKQorU0FYLmVuZEVsZW1lbnQoaHRtbCkKK1NBWC5pZ25vcmFibGVXaGl0ZXNwYWNlKAorLCAxKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L0hUTUwvcmVwZWF0Lmh0bWwgYi9saWJ4bWwyL3Jlc3VsdC9IVE1ML3JlcGVhdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcxY2Y3MmUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9IVE1ML3JlcGVhdC5odG1sCkBAIC0wLDAgKzEsNyBAQAorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLWh0bWw0MC9sb29zZS5kdGQiPgorPGh0bWw+PGJvZHk+Cis8dGQ+PC90ZD4KKzx0ZD4KKzwhLS0gPGE+PGI+IC0tPgorPC90ZD4KKzwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9IVE1ML3JlcGVhdC5odG1sLmVyciBiL2xpYnhtbDIvcmVzdWx0L0hUTUwvcmVwZWF0Lmh0bWwuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9IVE1ML3JlcGVhdC5odG1sLmVycgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvSFRNTC9yZXBlYXQuaHRtbC5zYXggYi9saWJ4bWwyL3Jlc3VsdC9IVE1ML3JlcGVhdC5odG1sLnNheApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZGJmMzVjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvSFRNTC9yZXBlYXQuaHRtbC5zYXgKQEAgLTAsMCArMSwxNCBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguc3RhcnRFbGVtZW50KGh0bWwpCitTQVguc3RhcnRFbGVtZW50KGJvZHkpCitTQVguc3RhcnRFbGVtZW50KHRkKQorU0FYLmVuZEVsZW1lbnQodGQpCitTQVguc3RhcnRFbGVtZW50KHRkKQorU0FYLmNvbW1lbnQoIDxhPjxiPiApCitTQVguaWdub3JhYmxlV2hpdGVzcGFjZSgKKywgMSkKK1NBWC5lbmRFbGVtZW50KHRkKQorU0FYLmVuZEVsZW1lbnQoYm9keSkKK1NBWC5lbmRFbGVtZW50KGh0bWwpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvSFRNTC9zY3JpcHQuaHRtbCBiL2xpYnhtbDIvcmVzdWx0L0hUTUwvc2NyaXB0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWI5NWExZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L0hUTUwvc2NyaXB0Lmh0bWwKQEAgLTAsMCArMSwxMCBAQAorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLWh0bWw0MC9sb29zZS5kdGQiPgorPGh0bWw+Cis8aGVhZD48dGl0bGU+U2NyaXB0IHRlc3RzPC90aXRsZT48L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgbGFuZ3VhZ2U9ImphdmFzY3JpcHQiPgorICAgIGlmICh3aW5kb3cub3BlbjxtYXgpIDsKKzwvc2NyaXB0PgorPGlucHV0IG9uY2xpY2s9ImlmKHdpbmRvdy5vcGVuJmx0O21heCk7Ij4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L0hUTUwvc2NyaXB0Lmh0bWwuZXJyIGIvbGlieG1sMi9yZXN1bHQvSFRNTC9zY3JpcHQuaHRtbC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L0hUTUwvc2NyaXB0Lmh0bWwuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9IVE1ML3NjcmlwdC5odG1sLnNheCBiL2xpYnhtbDIvcmVzdWx0L0hUTUwvc2NyaXB0Lmh0bWwuc2F4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIyNTlmN2YKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9IVE1ML3NjcmlwdC5odG1sLnNheApAQCAtMCwwICsxLDMyIEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5zdGFydEVsZW1lbnQoaHRtbCkKK1NBWC5pZ25vcmFibGVXaGl0ZXNwYWNlKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudChoZWFkKQorU0FYLnN0YXJ0RWxlbWVudCh0aXRsZSkKK1NBWC5jaGFyYWN0ZXJzKFNjcmlwdCB0ZXN0cywgMTIpCitTQVguZW5kRWxlbWVudCh0aXRsZSkKK1NBWC5lbmRFbGVtZW50KGhlYWQpCitTQVguaWdub3JhYmxlV2hpdGVzcGFjZSgKKywgMSkKK1NBWC5zdGFydEVsZW1lbnQoYm9keSkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudChzY3JpcHQsIGxhbmd1YWdlPSdqYXZhc2NyaXB0JykKK1NBWC5jZGF0YSgKKyAgICBpZiAod2luZG93Lm9wZW4mbHQ7bWF4KSA7LCAyOCkKK1NBWC5lbmRFbGVtZW50KHNjcmlwdCkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudChpbnB1dCwgb25jbGljaz0naWYod2luZG93Lm9wZW4mbHQ7bWF4KTsnKQorU0FYLmVuZEVsZW1lbnQoaW5wdXQpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5lbmRFbGVtZW50KGJvZHkpCitTQVguaWdub3JhYmxlV2hpdGVzcGFjZSgKKywgMSkKK1NBWC5lbmRFbGVtZW50KGh0bWwpCitTQVguaWdub3JhYmxlV2hpdGVzcGFjZSgKKywgMSkKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9IVE1ML3NjcmlwdDIuaHRtbCBiL2xpYnhtbDIvcmVzdWx0L0hUTUwvc2NyaXB0Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhZDliOTUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9IVE1ML3NjcmlwdDIuaHRtbApAQCAtMCwwICsxLDE3IEBACis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBTdHJpY3QvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+CisJPGhlYWQ+CisJCTxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ij4KKzx0aXRsZT5UZXN0IFBhZ2U8L3RpdGxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJwb3J0YWwiPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorCWRvY3VtZW4ud3JpdGUoIlDFmcOtbGnFoSDFvmx1xaVvdcSNa8O9IGvFr8WIIMO6cMSbbCDEj8OhYmVsa3PDqSDDs2R5Iik7Cis8L3NjcmlwdD4KKwk8cD4KKwlQxZnDrWxpxaEgxb5sdcWlb3XEjWvDvSBrxa/FiCDDunDEm2wgxI/DoWJlbGtzw6kgw7NkeTsKKwk8L3A+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L0hUTUwvc2NyaXB0Mi5odG1sLmVyciBiL2xpYnhtbDIvcmVzdWx0L0hUTUwvc2NyaXB0Mi5odG1sLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvSFRNTC9zY3JpcHQyLmh0bWwuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9IVE1ML3NjcmlwdDIuaHRtbC5zYXggYi9saWJ4bWwyL3Jlc3VsdC9IVE1ML3NjcmlwdDIuaHRtbC5zYXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTk3MTk5MQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L0hUTUwvc2NyaXB0Mi5odG1sLnNheApAQCAtMCwwICsxLDUwIEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5pbnRlcm5hbFN1YnNldChodG1sLCAtLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiwgaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCkKK1NBWC5zdGFydEVsZW1lbnQoaHRtbCwgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwnKQorU0FYLmlnbm9yYWJsZVdoaXRlc3BhY2UoCisJLCAyKQorU0FYLnN0YXJ0RWxlbWVudChoZWFkKQorU0FYLmlnbm9yYWJsZVdoaXRlc3BhY2UoCisJCSwgMykKK1NBWC5zdGFydEVsZW1lbnQobWV0YSwgaHR0cC1lcXVpdj0nQ29udGVudC1UeXBlJywgY29udGVudD0ndGV4dC9odG1sOyBjaGFyc2V0PVVURi04JykKK1NBWC5lbmRFbGVtZW50KG1ldGEpCitTQVguaWdub3JhYmxlV2hpdGVzcGFjZSgKKywgMSkKK1NBWC5zdGFydEVsZW1lbnQodGl0bGUpCitTQVguY2hhcmFjdGVycyhUZXN0IFBhZ2UsIDkpCitTQVguZW5kRWxlbWVudCh0aXRsZSkKK1NBWC5pZ25vcmFibGVXaGl0ZXNwYWNlKAorLCAxKQorU0FYLmVuZEVsZW1lbnQoaGVhZCkKK1NBWC5pZ25vcmFibGVXaGl0ZXNwYWNlKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudChib2R5KQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguc3RhcnRFbGVtZW50KGRpdiwgaWQ9J3BvcnRhbCcpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5zdGFydEVsZW1lbnQoc2NyaXB0LCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnKQorU0FYLmNkYXRhKAorCWRvY3VtZW4ud3JpdGUoIlAmIzM0NTssIDc0KQorU0FYLmVuZEVsZW1lbnQoc2NyaXB0KQorU0FYLmNoYXJhY3RlcnMoCisJLCAyKQorU0FYLnN0YXJ0RWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoCisJUCYjMzQ1OyZpYWN1dGU7bGkmc2Nhcm9uOyAsIDU4KQorU0FYLmVuZEVsZW1lbnQocCkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmVuZEVsZW1lbnQoZGl2KQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguZW5kRWxlbWVudChib2R5KQorU0FYLmlnbm9yYWJsZVdoaXRlc3BhY2UoCissIDEpCitTQVguZW5kRWxlbWVudChodG1sKQorU0FYLmlnbm9yYWJsZVdoaXRlc3BhY2UoCisKKywgMikKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9IVE1ML3Rlc3QyLmh0bWwgYi9saWJ4bWwyL3Jlc3VsdC9IVE1ML3Rlc3QyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWFhODg2NAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L0hUTUwvdGVzdDIuaHRtbApAQCAtMCwwICsxLDM4IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtaHRtbDQwL2xvb3NlLmR0ZCI+Cis8aHRtbD4KKzxoZWFkPiA8dGl0bGU+TGludXggVG9kYXk8L3RpdGxlPgorPC9oZWFkPgorPGJvZHkgYmdjb2xvcj0iV2hpdGUiIGxpbms9IkJsdWUiIHRleHQ9IkJsYWNrIiB2bGluaz0iQmxhY2siIGFsaW5rPSJSZWQiPgorCis8Y2VudGVyPgorPHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjEwMCUiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMCI+CisgICAgICAgIDx0ciBiZ2NvbG9yPSIjRkZGRkZGIj4KKyAgICAgICAgICAgICAgICA8dGQgaGVpZ2h0PSI5MCI+Cis8YSBocmVmPSJodHRwOi8vbGludXh0b2RheS5jb20vY2dpLWJpbi9jbGljay5wbD9hZG51bT00OSI+PGltZyBzcmM9Ii9waWNzL2Rvb3JfbGludXguZ2lmIiBib3JkZXI9IjAiIHdpZHRoPSI0NjgiIGhlaWdodD0iNjAiIGFsdD0iQXRpcGEgTGludXggc29sdXRpb25zLiBZb3VyIHJlbGlhYmxlIGNsdXN0ZXIsIHNlcnZlciwgYW5kIHdvcmtzdGF0aW9uIHNvbHV0aW9uLiBXaW4gYSBGcmVlIENlbGVyb24gTGludXggV29ya3N0YXRpb24hIj48L2E+CisKKyAgICAgICAgICAgICAgICA8L3RkPgorICAgIDx0ZD4KKzxpbWcgc3JjPSIvcGljcy9sdC5naWYiIHZzcGFjZT0iNSIgYWx0PSJMaW51eCBUb2RheSBMb2dvIj48YnI+PGZvbnQgc2l6ZT0iLTEiPjxhIGhyZWY9Imh0dHA6Ly9saW51eC5jb20iPmxpbnV4LmNvbTwvYT4gcGFydG5lcjwvZm9udD48cD48L3A+Cis8L3RkPgorCisgICAgICAgIDwvdHI+Cis8L3RhYmxlPgorPGZvbnQgc2l6ZT0iMiIgZmFjZT0iSGVsdmV0aWNhIj4KK1sgPGEgaHJlZj0iaHR0cDovL2xpbnV4dG9kYXkuY29tLyI+aGVhZGxpbmVzPC9hPiB8Cis8YSBocmVmPSJodHRwOi8vZmVhdHVyZXMubGludXh0b2RheS5jb20vIj5mZWF0dXJlczwvYT4gfAorPGEgaHJlZj0iaHR0cDovL2NvbW1lcmNpYWwubGludXh0b2RheS5jb20vIj5jb21tZXJjaWFsPC9hPiB8Cis8YSBocmVmPSJodHRwOi8vc2VjdXJpdHkubGludXh0b2RheS5jb20vIj5zZWN1cml0eTwvYT4gfAorPGEgaHJlZj0iaHR0cDovL2pvYnMubGludXh0b2RheS5jb20vIj5qb2JzPC9hPiB8Cis8YSBocmVmPSJodHRwOi8vbGludXh0b2RheS5jb20vdm9sdC8iPnZvbHQ8L2E+IHwgCis8YSBocmVmPSJodHRwOi8vbGludXh0b2RheS5jb20vY29udHJpYi5wbCI+Y29udHJpYnV0ZS9zdWJtaXQ8L2E+IHwKKzxhIGhyZWY9Imh0dHA6Ly9saW51eHRvZGF5LmNvbS9hZHZlcnRpc2UvIj5hZHZlcnRpc2U8L2E+IHwKKzxhIGhyZWY9Imh0dHA6Ly9saW51eHRvZGF5LmNvbS9zZWFyY2guaHRtbCI+c2VhcmNoPC9hPiB8Cis8YSBocmVmPSJodHRwOi8vbGludXh0b2RheS5jb20vZGlnZXN0cy8iPnNpdGUgZGlnZXN0czwvYT4gfAorPGEgaHJlZj0iaHR0cDovL2xpbnV4dG9kYXkuY29tL21haWwtbGlzdHMiPm1haWxpbmcgbGlzdHM8L2E+IHwKKzxhIGhyZWY9Imh0dHA6Ly9saW51eHRvZGF5LmNvbS9hYm91dC8iPmFib3V0IHVzPC9hPiB8Cis8YSBocmVmPSJodHRwOi8vbGludXh0b2RheS5jb20vbGlua3VzLmh0bWwiPmxpbmsgdXM8L2E+IF08L2ZvbnQ+Cis8L2NlbnRlcj4KKzxwPgorPC9wPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvSFRNTC90ZXN0Mi5odG1sLmVyciBiL2xpYnhtbDIvcmVzdWx0L0hUTUwvdGVzdDIuaHRtbC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L0hUTUwvdGVzdDIuaHRtbC5lcnIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L0hUTUwvdGVzdDIuaHRtbC5zYXggYi9saWJ4bWwyL3Jlc3VsdC9IVE1ML3Rlc3QyLmh0bWwuc2F4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc4YmIwOTAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9IVE1ML3Rlc3QyLmh0bWwuc2F4CkBAIC0wLDAgKzEsMTQ1IEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5pbnRlcm5hbFN1YnNldChIVE1MLCAtLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwvL0VOLCBodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtaHRtbDQwL2xvb3NlLmR0ZCkKK1NBWC5zdGFydEVsZW1lbnQoaHRtbCkKK1NBWC5zdGFydEVsZW1lbnQoaGVhZCkKK1NBWC5pZ25vcmFibGVXaGl0ZXNwYWNlKCAsIDEpCitTQVguc3RhcnRFbGVtZW50KHRpdGxlKQorU0FYLmNoYXJhY3RlcnMoTGludXggVG9kYXksIDExKQorU0FYLmVuZEVsZW1lbnQodGl0bGUpCitTQVguZW5kRWxlbWVudChoZWFkKQorU0FYLmlnbm9yYWJsZVdoaXRlc3BhY2UoCissIDEpCitTQVguc3RhcnRFbGVtZW50KGJvZHksIGJnY29sb3I9J1doaXRlJywgbGluaz0nQmx1ZScsIHRleHQ9J0JsYWNrJywgdmxpbms9J0JsYWNrJywgYWxpbms9J1JlZCcpCitTQVguY2hhcmFjdGVycygKKworLCAyKQorU0FYLnN0YXJ0RWxlbWVudChjZW50ZXIpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5zdGFydEVsZW1lbnQodGFibGUsIGJvcmRlcj0nMCcsIHdpZHRoPScxMDAlJywgY2VsbHNwYWNpbmc9JzAnLCBjZWxscGFkZGluZz0nMCcpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgLCA5KQorU0FYLnN0YXJ0RWxlbWVudCh0ciwgYmdjb2xvcj0nI0ZGRkZGRicpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgICAgICAgICAsIDE3KQorU0FYLnN0YXJ0RWxlbWVudCh0ZCwgaGVpZ2h0PSc5MCcpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5zdGFydEVsZW1lbnQoYSwgaHJlZj0naHR0cDovL2xpbnV4dG9kYXkuY29tL2NnaS1iaW4vY2xpY2sucGw/YWRudW09NDknKQorU0FYLnN0YXJ0RWxlbWVudChpbWcsIHNyYz0nL3BpY3MvZG9vcl9saW51eC5naWYnLCBib3JkZXI9JzAnLCB3aWR0aD0nNDY4JywgaGVpZ2h0PSc2MCcsIGFsdD0nQXRpcGEgTGludXggc29sdXRpb25zLiBZb3VyIHJlbGlhYmxlIGNsdXN0ZXIsIHNlcnZlciwgYW5kIHdvcmtzdGF0aW9uIHNvbHV0aW9uLiBXaW4gYSBGcmVlIENlbGVyb24gTGludXggV29ya3N0YXRpb24hJykKK1NBWC5lbmRFbGVtZW50KGltZykKK1NBWC5lbmRFbGVtZW50KGEpCitTQVguY2hhcmFjdGVycygKKworICAgICAgICAgICAgICAgICwgMTgpCitTQVguZW5kRWxlbWVudCh0ZCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQodGQpCitTQVguc3RhcnRFbGVtZW50KGltZywgc3JjPScvcGljcy9sdC5naWYnLCB2c3BhY2U9JzUnLCBhbHQ9J0xpbnV4IFRvZGF5IExvZ28nKQorU0FYLmVuZEVsZW1lbnQoaW1nKQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLnN0YXJ0RWxlbWVudChmb250LCBzaXplPSctMScpCitTQVguc3RhcnRFbGVtZW50KGEsIGhyZWY9J2h0dHA6Ly9saW51eC5jb20nKQorU0FYLmNoYXJhY3RlcnMobGludXguY29tLCA5KQorU0FYLmVuZEVsZW1lbnQoYSkKK1NBWC5jaGFyYWN0ZXJzKCBwYXJ0bmVyLCA4KQorU0FYLmVuZEVsZW1lbnQoZm9udCkKK1NBWC5zdGFydEVsZW1lbnQocCkKK1NBWC5lbmRFbGVtZW50KHApCitTQVguZW5kRWxlbWVudCh0ZCkKK1NBWC5jaGFyYWN0ZXJzKAorCisgICAgICAgICwgMTApCitTQVguZW5kRWxlbWVudCh0cikKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmVuZEVsZW1lbnQodGFibGUpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5zdGFydEVsZW1lbnQoZm9udCwgc2l6ZT0nMicsIGZhY2U9J0hlbHZldGljYScpCitTQVguY2hhcmFjdGVycygKK1sgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChhLCBocmVmPSdodHRwOi8vbGludXh0b2RheS5jb20vJykKK1NBWC5jaGFyYWN0ZXJzKGhlYWRsaW5lcywgOSkKK1NBWC5lbmRFbGVtZW50KGEpCitTQVguY2hhcmFjdGVycyggfAorLCAzKQorU0FYLnN0YXJ0RWxlbWVudChhLCBocmVmPSdodHRwOi8vZmVhdHVyZXMubGludXh0b2RheS5jb20vJykKK1NBWC5jaGFyYWN0ZXJzKGZlYXR1cmVzLCA4KQorU0FYLmVuZEVsZW1lbnQoYSkKK1NBWC5jaGFyYWN0ZXJzKCB8CissIDMpCitTQVguc3RhcnRFbGVtZW50KGEsIGhyZWY9J2h0dHA6Ly9jb21tZXJjaWFsLmxpbnV4dG9kYXkuY29tLycpCitTQVguY2hhcmFjdGVycyhjb21tZXJjaWFsLCAxMCkKK1NBWC5lbmRFbGVtZW50KGEpCitTQVguY2hhcmFjdGVycyggfAorLCAzKQorU0FYLnN0YXJ0RWxlbWVudChhLCBocmVmPSdodHRwOi8vc2VjdXJpdHkubGludXh0b2RheS5jb20vJykKK1NBWC5jaGFyYWN0ZXJzKHNlY3VyaXR5LCA4KQorU0FYLmVuZEVsZW1lbnQoYSkKK1NBWC5jaGFyYWN0ZXJzKCB8CissIDMpCitTQVguc3RhcnRFbGVtZW50KGEsIGhyZWY9J2h0dHA6Ly9qb2JzLmxpbnV4dG9kYXkuY29tLycpCitTQVguY2hhcmFjdGVycyhqb2JzLCA0KQorU0FYLmVuZEVsZW1lbnQoYSkKK1NBWC5jaGFyYWN0ZXJzKCB8CissIDMpCitTQVguc3RhcnRFbGVtZW50KGEsIGhyZWY9J2h0dHA6Ly9saW51eHRvZGF5LmNvbS92b2x0LycpCitTQVguY2hhcmFjdGVycyh2b2x0LCA0KQorU0FYLmVuZEVsZW1lbnQoYSkKK1NBWC5jaGFyYWN0ZXJzKCB8IAorLCA0KQorU0FYLnN0YXJ0RWxlbWVudChhLCBocmVmPSdodHRwOi8vbGludXh0b2RheS5jb20vY29udHJpYi5wbCcpCitTQVguY2hhcmFjdGVycyhjb250cmlidXRlL3N1Ym1pdCwgMTcpCitTQVguZW5kRWxlbWVudChhKQorU0FYLmNoYXJhY3RlcnMoIHwKKywgMykKK1NBWC5zdGFydEVsZW1lbnQoYSwgaHJlZj0naHR0cDovL2xpbnV4dG9kYXkuY29tL2FkdmVydGlzZS8nKQorU0FYLmNoYXJhY3RlcnMoYWR2ZXJ0aXNlLCA5KQorU0FYLmVuZEVsZW1lbnQoYSkKK1NBWC5jaGFyYWN0ZXJzKCB8CissIDMpCitTQVguc3RhcnRFbGVtZW50KGEsIGhyZWY9J2h0dHA6Ly9saW51eHRvZGF5LmNvbS9zZWFyY2guaHRtbCcpCitTQVguY2hhcmFjdGVycyhzZWFyY2gsIDYpCitTQVguZW5kRWxlbWVudChhKQorU0FYLmNoYXJhY3RlcnMoIHwKKywgMykKK1NBWC5zdGFydEVsZW1lbnQoYSwgaHJlZj0naHR0cDovL2xpbnV4dG9kYXkuY29tL2RpZ2VzdHMvJykKK1NBWC5jaGFyYWN0ZXJzKHNpdGUgZGlnZXN0cywgMTIpCitTQVguZW5kRWxlbWVudChhKQorU0FYLmNoYXJhY3RlcnMoIHwKKywgMykKK1NBWC5zdGFydEVsZW1lbnQoYSwgaHJlZj0naHR0cDovL2xpbnV4dG9kYXkuY29tL21haWwtbGlzdHMnKQorU0FYLmNoYXJhY3RlcnMobWFpbGluZyBsaXN0cywgMTMpCitTQVguZW5kRWxlbWVudChhKQorU0FYLmNoYXJhY3RlcnMoIHwKKywgMykKK1NBWC5zdGFydEVsZW1lbnQoYSwgaHJlZj0naHR0cDovL2xpbnV4dG9kYXkuY29tL2Fib3V0LycpCitTQVguY2hhcmFjdGVycyhhYm91dCB1cywgOCkKK1NBWC5lbmRFbGVtZW50KGEpCitTQVguY2hhcmFjdGVycyggfAorLCAzKQorU0FYLnN0YXJ0RWxlbWVudChhLCBocmVmPSdodHRwOi8vbGludXh0b2RheS5jb20vbGlua3VzLmh0bWwnKQorU0FYLmNoYXJhY3RlcnMobGluayB1cywgNykKK1NBWC5lbmRFbGVtZW50KGEpCitTQVguY2hhcmFjdGVycyggXSwgMikKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5lbmRFbGVtZW50KGNlbnRlcikKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguZW5kRWxlbWVudChwKQorU0FYLmVuZEVsZW1lbnQoYm9keSkKK1NBWC5pZ25vcmFibGVXaGl0ZXNwYWNlKAorLCAxKQorU0FYLmVuZEVsZW1lbnQoaHRtbCkKK1NBWC5pZ25vcmFibGVXaGl0ZXNwYWNlKAorLCAxKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L0hUTUwvdGVzdDMuaHRtbCBiL2xpYnhtbDIvcmVzdWx0L0hUTUwvdGVzdDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMzdhMWM3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvSFRNTC90ZXN0My5odG1sCkBAIC0wLDAgKzEsNTkgQEAKKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy1odG1sNDAvbG9vc2UuZHRkIj4KKzxodG1sPg0KKzxoZWFkPg0KKzxiYXNlIHRhcmdldD0iY29udGVudHMiPg0KKzwvaGVhZD4NCis8Ym9keT4KKzxhIG5hbWU9IlByb2JsZW1Eb21haW4uUGFja2FnZSI+PGgyPkNvbXBvbmVudCBQYWNrYWdlIGRpYWdyYW0gUHJvYmxlbURvbWFpbjwvaDI+DQorPC9hPjxwPjwvcD4KKzxocj4NCis8ZGw+DQorPGR0PgorPGI+U3RlcmVvdHlwZSA8L2I+cHJvYmxlbSBkb21haW48L2R0Pg0KKzxkdD4KKzxiPkFsaWFzIDwvYj5Qcm9ibGVtIERvbWFpbjwvZHQ+DQorPGR0PjxiPk5vdGUgPC9iPjwvZHQ+Cis8ZGQ+VGhlIFByb2JsZW0gRG9tYWluIHBhY2thZ2UgaXMgdGhlIG1vZGVsIGJlaGluZCB0aGUgSHVtYW4gDQorPGRkPkludGVyZmFjZSwgdGhhdHMgc3RvcmVzIGFuZCBtYW5pcHVsYXRlcyB0aGUgRmFtaWx5IFRyZWUuDQorPC9kZD4KKzwvZGQ+Cis8L2RsPg0KKzxwPjwvcD4KKzxocj4NCis8ZGw+DQorDQorPGR0PjxoND5DbGFzcyA8YSBocmVmPSJIdW1hbkludGVyZmFjZS5GYW1pbHlGcmFtZS5odG1sI0h1bWFuSW50ZXJmYWNlLkZhbWlseUZyYW1lIj5IdW1hbkludGVyZmFjZS5GYW1pbHlGcmFtZTwvYT4KKzwvaDQ+PC9kdD4NCis8ZHQ+PGg0PkNsYXNzIDxhIGhyZWY9IlByb2JsZW1Eb21haW4uQmlydGguaHRtbCNQcm9ibGVtRG9tYWluLkJpcnRoIj5Qcm9ibGVtRG9tYWluLkJpcnRoPC9hPgorPC9oND48L2R0Pg0KKzxkdD48aDQ+Q2xhc3MgPGEgaHJlZj0iUHJvYmxlbURvbWFpbi5EZWF0aC5odG1sI1Byb2JsZW1Eb21haW4uRGVhdGgiPlByb2JsZW1Eb21haW4uRGVhdGg8L2E+Cis8L2g0PjwvZHQ+DQorPGR0PjxoND5DbGFzcyA8YSBocmVmPSJQcm9ibGVtRG9tYWluLkRpdm9yY2UuaHRtbCNQcm9ibGVtRG9tYWluLkRpdm9yY2UiPlByb2JsZW1Eb21haW4uRGl2b3JjZTwvYT4KKzwvaDQ+PC9kdD4NCis8ZHQ+PGg0PkNsYXNzIDxhIGhyZWY9IlByb2JsZW1Eb21haW4uRmFtaWx5Lmh0bWwjUHJvYmxlbURvbWFpbi5GYW1pbHkiPlByb2JsZW1Eb21haW4uRmFtaWx5PC9hPgorPC9oND48L2R0Pg0KKzxkdD48aDQ+Q2xhc3MgPGEgaHJlZj0iUHJvYmxlbURvbWFpbi5JbmRpdmlkdWFsLmh0bWwjUHJvYmxlbURvbWFpbi5JbmRpdmlkdWFsIj5Qcm9ibGVtRG9tYWluLkluZGl2aWR1YWw8L2E+Cis8L2g0PjwvZHQ+DQorPGR0PjxoND5DbGFzcyA8YSBocmVmPSJQcm9ibGVtRG9tYWluLkxpZmVFdmVudC5odG1sI1Byb2JsZW1Eb21haW4uTGlmZUV2ZW50Ij5Qcm9ibGVtRG9tYWluLkxpZmVFdmVudDwvYT4KKzwvaDQ+PC9kdD4NCis8ZHQ+PGg0PkNsYXNzIDxhIGhyZWY9IlByb2JsZW1Eb21haW4uTWFycmlhZ2UuaHRtbCNQcm9ibGVtRG9tYWluLk1hcnJpYWdlIj5Qcm9ibGVtRG9tYWluLk1hcnJpYWdlPC9hPgorPC9oND48L2R0Pg0KKzxkdD48aDQ+Q2xhc3MgPGEgaHJlZj0iUHJvYmxlbURvbWFpbi5Ob3RlLmh0bWwjUHJvYmxlbURvbWFpbi5Ob3RlIj5Qcm9ibGVtRG9tYWluLk5vdGU8L2E+Cis8L2g0PjwvZHQ+DQorPC9kbD4NCisNCis8aDQ+PGI+TGlua3M8L2I+PC9oND4NCis8dWw+PGxpPgorPGI+TGluayB0byA8L2I+PGEgaHJlZj0iSHVtYW5JbnRlcmZhY2UuUGFja2FnZS5odG1sI0h1bWFuSW50ZXJmYWNlLlBhY2thZ2UiPkh1bWFuSW50ZXJmYWNlPC9hPgorPC9saT48L3VsPg0KKzxkaXI+PC9kaXI+DQorPHVsPjxsaT4KKzxiPkxpbmsgdG8gPC9iPjxhIGhyZWY9IkRhdGFNYW5hZ2VtZW50LkZsYXRGaWxlLlBhY2thZ2UuaHRtbCNEYXRhTWFuYWdlbWVudC5GbGF0RmlsZS5QYWNrYWdlIj5EYXRhTWFuYWdlbWVudC5GbGF0RmlsZTwvYT4KKzwvbGk+PC91bD4NCis8ZGlyPjwvZGlyPg0KKzx1bD48bGk+Cis8Yj5MaW5rIHRvIDwvYj48YSBocmVmPSJEYXRhTWFuYWdlbWVudC5QYWNrYWdlLmh0bWwjRGF0YU1hbmFnZW1lbnQuUGFja2FnZSI+RGF0YU1hbmFnZW1lbnQ8L2E+Cis8L2xpPjwvdWw+DQorPGRpcj48L2Rpcj4NCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9IVE1ML3Rlc3QzLmh0bWwuZXJyIGIvbGlieG1sMi9yZXN1bHQvSFRNTC90ZXN0My5odG1sLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNzQzNTAzCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvSFRNTC90ZXN0My5odG1sLmVycgpAQCAtMCwwICsxLDEyIEBACisuL3Rlc3QvSFRNTC90ZXN0My5odG1sOjY6IEhUTUwgcGFyc2VyIGVycm9yIDogVW5leHBlY3RlZCBlbmQgdGFnIDogcAorPC9hPjxwPjxocj48L3A+CisgICAgICAgICAgICAgICBeCisuL3Rlc3QvSFRNTC90ZXN0My5odG1sOjEzOiBIVE1MIHBhcnNlciBlcnJvciA6IFVuZXhwZWN0ZWQgZW5kIHRhZyA6IHAKKzxwPjxocj48L3A+CisgICAgICAgICAgIF4KKy4vdGVzdC9IVE1ML3Rlc3QzLmh0bWw6Mjc6IEhUTUwgcGFyc2VyIGVycm9yIDogT3BlbmluZyBhbmQgZW5kaW5nIHRhZyBtaXNtYXRjaDogaDQgYW5kIGIKKzxoND48Yj5MaW5rczwvaDQ+PC9iPgorICAgICAgICAgICAgICAgICBeCisuL3Rlc3QvSFRNTC90ZXN0My5odG1sOjI3OiBIVE1MIHBhcnNlciBlcnJvciA6IFVuZXhwZWN0ZWQgZW5kIHRhZyA6IGIKKzxoND48Yj5MaW5rczwvaDQ+PC9iPgorICAgICAgICAgICAgICAgICAgICAgXgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvSFRNTC90ZXN0My5odG1sLnNheCBiL2xpYnhtbDIvcmVzdWx0L0hUTUwvdGVzdDMuaHRtbC5zYXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzlmNjYzOAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L0hUTUwvdGVzdDMuaHRtbC5zYXgKQEAgLTAsMCArMSwyMzAgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLnN0YXJ0RWxlbWVudChodG1sKQorU0FYLmlnbm9yYWJsZVdoaXRlc3BhY2UoDQorLCAyKQorU0FYLnN0YXJ0RWxlbWVudChoZWFkKQorU0FYLmlnbm9yYWJsZVdoaXRlc3BhY2UoDQorLCAyKQorU0FYLnN0YXJ0RWxlbWVudChiYXNlLCB0YXJnZXQ9J2NvbnRlbnRzJykKK1NBWC5lbmRFbGVtZW50KGJhc2UpCitTQVguaWdub3JhYmxlV2hpdGVzcGFjZSgNCissIDIpCitTQVguZW5kRWxlbWVudChoZWFkKQorU0FYLmlnbm9yYWJsZVdoaXRlc3BhY2UoDQorLCAyKQorU0FYLnN0YXJ0RWxlbWVudChib2R5KQorU0FYLnN0YXJ0RWxlbWVudChhLCBuYW1lPSdQcm9ibGVtRG9tYWluLlBhY2thZ2UnKQorU0FYLnN0YXJ0RWxlbWVudChoMikKK1NBWC5jaGFyYWN0ZXJzKENvbXBvbmVudCBQYWNrYWdlIGRpYWdyYW0gUHJvYiwgMzkpCitTQVguZW5kRWxlbWVudChoMikKK1NBWC5jaGFyYWN0ZXJzKA0KKywgMikKK1NBWC5lbmRFbGVtZW50KGEpCitTQVguc3RhcnRFbGVtZW50KHApCitTQVguZW5kRWxlbWVudChwKQorU0FYLnN0YXJ0RWxlbWVudChocikKK1NBWC5lbmRFbGVtZW50KGhyKQorU0FYLmVycm9yOiBVbmV4cGVjdGVkIGVuZCB0YWcgOiBwCitTQVguY2hhcmFjdGVycygNCissIDIpCitTQVguc3RhcnRFbGVtZW50KGRsKQorU0FYLmNoYXJhY3RlcnMoDQorLCAyKQorU0FYLnN0YXJ0RWxlbWVudChkdCkKK1NBWC5zdGFydEVsZW1lbnQoYikKK1NBWC5jaGFyYWN0ZXJzKFN0ZXJlb3R5cGUgLCAxMSkKK1NBWC5lbmRFbGVtZW50KGIpCitTQVguY2hhcmFjdGVycyhwcm9ibGVtIGRvbWFpbiwgMTQpCitTQVguZW5kRWxlbWVudChkdCkKK1NBWC5jaGFyYWN0ZXJzKA0KKywgMikKK1NBWC5zdGFydEVsZW1lbnQoZHQpCitTQVguc3RhcnRFbGVtZW50KGIpCitTQVguY2hhcmFjdGVycyhBbGlhcyAsIDYpCitTQVguZW5kRWxlbWVudChiKQorU0FYLmNoYXJhY3RlcnMoUHJvYmxlbSBEb21haW4sIDE0KQorU0FYLmVuZEVsZW1lbnQoZHQpCitTQVguY2hhcmFjdGVycygNCissIDIpCitTQVguc3RhcnRFbGVtZW50KGR0KQorU0FYLnN0YXJ0RWxlbWVudChiKQorU0FYLmNoYXJhY3RlcnMoTm90ZSAsIDUpCitTQVguZW5kRWxlbWVudChiKQorU0FYLmVuZEVsZW1lbnQoZHQpCitTQVguc3RhcnRFbGVtZW50KGRkKQorU0FYLmNoYXJhY3RlcnMoVGhlIFByb2JsZW0gRG9tYWluIHBhY2thZ2UgaXMgLCA1OSkKK1NBWC5zdGFydEVsZW1lbnQoZGQpCitTQVguY2hhcmFjdGVycyhJbnRlcmZhY2UsIHRoYXRzIHN0b3JlcyBhbmQgbWEsIDU4KQorU0FYLmVuZEVsZW1lbnQoZGQpCitTQVguZW5kRWxlbWVudChkZCkKK1NBWC5lbmRFbGVtZW50KGRsKQorU0FYLmNoYXJhY3RlcnMoDQorLCAyKQorU0FYLnN0YXJ0RWxlbWVudChwKQorU0FYLmVuZEVsZW1lbnQocCkKK1NBWC5zdGFydEVsZW1lbnQoaHIpCitTQVguZW5kRWxlbWVudChocikKK1NBWC5lcnJvcjogVW5leHBlY3RlZCBlbmQgdGFnIDogcAorU0FYLmNoYXJhY3RlcnMoDQorLCAyKQorU0FYLnN0YXJ0RWxlbWVudChkbCkKK1NBWC5jaGFyYWN0ZXJzKA0KKw0KKywgNCkKK1NBWC5zdGFydEVsZW1lbnQoZHQpCitTQVguc3RhcnRFbGVtZW50KGg0KQorU0FYLmNoYXJhY3RlcnMoQ2xhc3MgLCA2KQorU0FYLnN0YXJ0RWxlbWVudChhLCBocmVmPSdIdW1hbkludGVyZmFjZS5GYW1pbHlGcmFtZS5odG1sI0h1bWFuSW50ZXJmYWNlLkZhbWlseUZyYW1lJykKK1NBWC5jaGFyYWN0ZXJzKEh1bWFuSW50ZXJmYWNlLkZhbWlseUZyYW1lLCAyNikKK1NBWC5lbmRFbGVtZW50KGEpCitTQVguZW5kRWxlbWVudChoNCkKK1NBWC5lbmRFbGVtZW50KGR0KQorU0FYLmNoYXJhY3RlcnMoDQorLCAyKQorU0FYLnN0YXJ0RWxlbWVudChkdCkKK1NBWC5zdGFydEVsZW1lbnQoaDQpCitTQVguY2hhcmFjdGVycyhDbGFzcyAsIDYpCitTQVguc3RhcnRFbGVtZW50KGEsIGhyZWY9J1Byb2JsZW1Eb21haW4uQmlydGguaHRtbCNQcm9ibGVtRG9tYWluLkJpcnRoJykKK1NBWC5jaGFyYWN0ZXJzKFByb2JsZW1Eb21haW4uQmlydGgsIDE5KQorU0FYLmVuZEVsZW1lbnQoYSkKK1NBWC5lbmRFbGVtZW50KGg0KQorU0FYLmVuZEVsZW1lbnQoZHQpCitTQVguY2hhcmFjdGVycygNCissIDIpCitTQVguc3RhcnRFbGVtZW50KGR0KQorU0FYLnN0YXJ0RWxlbWVudChoNCkKK1NBWC5jaGFyYWN0ZXJzKENsYXNzICwgNikKK1NBWC5zdGFydEVsZW1lbnQoYSwgaHJlZj0nUHJvYmxlbURvbWFpbi5EZWF0aC5odG1sI1Byb2JsZW1Eb21haW4uRGVhdGgnKQorU0FYLmNoYXJhY3RlcnMoUHJvYmxlbURvbWFpbi5EZWF0aCwgMTkpCitTQVguZW5kRWxlbWVudChhKQorU0FYLmVuZEVsZW1lbnQoaDQpCitTQVguZW5kRWxlbWVudChkdCkKK1NBWC5jaGFyYWN0ZXJzKA0KKywgMikKK1NBWC5zdGFydEVsZW1lbnQoZHQpCitTQVguc3RhcnRFbGVtZW50KGg0KQorU0FYLmNoYXJhY3RlcnMoQ2xhc3MgLCA2KQorU0FYLnN0YXJ0RWxlbWVudChhLCBocmVmPSdQcm9ibGVtRG9tYWluLkRpdm9yY2UuaHRtbCNQcm9ibGVtRG9tYWluLkRpdm9yY2UnKQorU0FYLmNoYXJhY3RlcnMoUHJvYmxlbURvbWFpbi5EaXZvcmNlLCAyMSkKK1NBWC5lbmRFbGVtZW50KGEpCitTQVguZW5kRWxlbWVudChoNCkKK1NBWC5lbmRFbGVtZW50KGR0KQorU0FYLmNoYXJhY3RlcnMoDQorLCAyKQorU0FYLnN0YXJ0RWxlbWVudChkdCkKK1NBWC5zdGFydEVsZW1lbnQoaDQpCitTQVguY2hhcmFjdGVycyhDbGFzcyAsIDYpCitTQVguc3RhcnRFbGVtZW50KGEsIGhyZWY9J1Byb2JsZW1Eb21haW4uRmFtaWx5Lmh0bWwjUHJvYmxlbURvbWFpbi5GYW1pbHknKQorU0FYLmNoYXJhY3RlcnMoUHJvYmxlbURvbWFpbi5GYW1pbHksIDIwKQorU0FYLmVuZEVsZW1lbnQoYSkKK1NBWC5lbmRFbGVtZW50KGg0KQorU0FYLmVuZEVsZW1lbnQoZHQpCitTQVguY2hhcmFjdGVycygNCissIDIpCitTQVguc3RhcnRFbGVtZW50KGR0KQorU0FYLnN0YXJ0RWxlbWVudChoNCkKK1NBWC5jaGFyYWN0ZXJzKENsYXNzICwgNikKK1NBWC5zdGFydEVsZW1lbnQoYSwgaHJlZj0nUHJvYmxlbURvbWFpbi5JbmRpdmlkdWFsLmh0bWwjUHJvYmxlbURvbWFpbi5JbmRpdmlkdWFsJykKK1NBWC5jaGFyYWN0ZXJzKFByb2JsZW1Eb21haW4uSW5kaXZpZHVhbCwgMjQpCitTQVguZW5kRWxlbWVudChhKQorU0FYLmVuZEVsZW1lbnQoaDQpCitTQVguZW5kRWxlbWVudChkdCkKK1NBWC5jaGFyYWN0ZXJzKA0KKywgMikKK1NBWC5zdGFydEVsZW1lbnQoZHQpCitTQVguc3RhcnRFbGVtZW50KGg0KQorU0FYLmNoYXJhY3RlcnMoQ2xhc3MgLCA2KQorU0FYLnN0YXJ0RWxlbWVudChhLCBocmVmPSdQcm9ibGVtRG9tYWluLkxpZmVFdmVudC5odG1sI1Byb2JsZW1Eb21haW4uTGlmZUV2ZW50JykKK1NBWC5jaGFyYWN0ZXJzKFByb2JsZW1Eb21haW4uTGlmZUV2ZW50LCAyMykKK1NBWC5lbmRFbGVtZW50KGEpCitTQVguZW5kRWxlbWVudChoNCkKK1NBWC5lbmRFbGVtZW50KGR0KQorU0FYLmNoYXJhY3RlcnMoDQorLCAyKQorU0FYLnN0YXJ0RWxlbWVudChkdCkKK1NBWC5zdGFydEVsZW1lbnQoaDQpCitTQVguY2hhcmFjdGVycyhDbGFzcyAsIDYpCitTQVguc3RhcnRFbGVtZW50KGEsIGhyZWY9J1Byb2JsZW1Eb21haW4uTWFycmlhZ2UuaHRtbCNQcm9ibGVtRG9tYWluLk1hcnJpYWdlJykKK1NBWC5jaGFyYWN0ZXJzKFByb2JsZW1Eb21haW4uTWFycmlhZ2UsIDIyKQorU0FYLmVuZEVsZW1lbnQoYSkKK1NBWC5lbmRFbGVtZW50KGg0KQorU0FYLmVuZEVsZW1lbnQoZHQpCitTQVguY2hhcmFjdGVycygNCissIDIpCitTQVguc3RhcnRFbGVtZW50KGR0KQorU0FYLnN0YXJ0RWxlbWVudChoNCkKK1NBWC5jaGFyYWN0ZXJzKENsYXNzICwgNikKK1NBWC5zdGFydEVsZW1lbnQoYSwgaHJlZj0nUHJvYmxlbURvbWFpbi5Ob3RlLmh0bWwjUHJvYmxlbURvbWFpbi5Ob3RlJykKK1NBWC5jaGFyYWN0ZXJzKFByb2JsZW1Eb21haW4uTm90ZSwgMTgpCitTQVguZW5kRWxlbWVudChhKQorU0FYLmVuZEVsZW1lbnQoaDQpCitTQVguZW5kRWxlbWVudChkdCkKK1NBWC5jaGFyYWN0ZXJzKA0KKywgMikKK1NBWC5lbmRFbGVtZW50KGRsKQorU0FYLmNoYXJhY3RlcnMoDQorDQorLCA0KQorU0FYLnN0YXJ0RWxlbWVudChoNCkKK1NBWC5zdGFydEVsZW1lbnQoYikKK1NBWC5jaGFyYWN0ZXJzKExpbmtzLCA1KQorU0FYLmVycm9yOiBPcGVuaW5nIGFuZCBlbmRpbmcgdGFnIG1pc21hdGNoOiBoNCBhbmQgYgorU0FYLmVuZEVsZW1lbnQoYikKK1NBWC5lbmRFbGVtZW50KGg0KQorU0FYLmVycm9yOiBVbmV4cGVjdGVkIGVuZCB0YWcgOiBiCitTQVguY2hhcmFjdGVycygNCissIDIpCitTQVguc3RhcnRFbGVtZW50KHVsKQorU0FYLnN0YXJ0RWxlbWVudChsaSkKK1NBWC5zdGFydEVsZW1lbnQoYikKK1NBWC5jaGFyYWN0ZXJzKExpbmsgdG8gLCA4KQorU0FYLmVuZEVsZW1lbnQoYikKK1NBWC5zdGFydEVsZW1lbnQoYSwgaHJlZj0nSHVtYW5JbnRlcmZhY2UuUGFja2FnZS5odG1sI0h1bWFuSW50ZXJmYWNlLlBhY2thZ2UnKQorU0FYLmNoYXJhY3RlcnMoSHVtYW5JbnRlcmZhY2UsIDE0KQorU0FYLmVuZEVsZW1lbnQoYSkKK1NBWC5lbmRFbGVtZW50KGxpKQorU0FYLmVuZEVsZW1lbnQodWwpCitTQVguY2hhcmFjdGVycygNCissIDIpCitTQVguc3RhcnRFbGVtZW50KGRpcikKK1NBWC5lbmRFbGVtZW50KGRpcikKK1NBWC5jaGFyYWN0ZXJzKA0KKywgMikKK1NBWC5zdGFydEVsZW1lbnQodWwpCitTQVguc3RhcnRFbGVtZW50KGxpKQorU0FYLnN0YXJ0RWxlbWVudChiKQorU0FYLmNoYXJhY3RlcnMoTGluayB0byAsIDgpCitTQVguZW5kRWxlbWVudChiKQorU0FYLnN0YXJ0RWxlbWVudChhLCBocmVmPSdEYXRhTWFuYWdlbWVudC5GbGF0RmlsZS5QYWNrYWdlLmh0bWwjRGF0YU1hbmFnZW1lbnQuRmxhdEZpbGUuUGFja2FnZScpCitTQVguY2hhcmFjdGVycyhEYXRhTWFuYWdlbWVudC5GbGF0RmlsZSwgMjMpCitTQVguZW5kRWxlbWVudChhKQorU0FYLmVuZEVsZW1lbnQobGkpCitTQVguZW5kRWxlbWVudCh1bCkKK1NBWC5jaGFyYWN0ZXJzKA0KKywgMikKK1NBWC5zdGFydEVsZW1lbnQoZGlyKQorU0FYLmVuZEVsZW1lbnQoZGlyKQorU0FYLmNoYXJhY3RlcnMoDQorLCAyKQorU0FYLnN0YXJ0RWxlbWVudCh1bCkKK1NBWC5zdGFydEVsZW1lbnQobGkpCitTQVguc3RhcnRFbGVtZW50KGIpCitTQVguY2hhcmFjdGVycyhMaW5rIHRvICwgOCkKK1NBWC5lbmRFbGVtZW50KGIpCitTQVguc3RhcnRFbGVtZW50KGEsIGhyZWY9J0RhdGFNYW5hZ2VtZW50LlBhY2thZ2UuaHRtbCNEYXRhTWFuYWdlbWVudC5QYWNrYWdlJykKK1NBWC5jaGFyYWN0ZXJzKERhdGFNYW5hZ2VtZW50LCAxNCkKK1NBWC5lbmRFbGVtZW50KGEpCitTQVguZW5kRWxlbWVudChsaSkKK1NBWC5lbmRFbGVtZW50KHVsKQorU0FYLmNoYXJhY3RlcnMoDQorLCAyKQorU0FYLnN0YXJ0RWxlbWVudChkaXIpCitTQVguZW5kRWxlbWVudChkaXIpCitTQVguY2hhcmFjdGVycygNCissIDIpCitTQVguZW5kRWxlbWVudChib2R5KQorU0FYLmVuZEVsZW1lbnQoaHRtbCkKK1NBWC5pZ25vcmFibGVXaGl0ZXNwYWNlKA0KKywgMikKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9IVE1ML3V0ZjhidWcuaHRtbCBiL2xpYnhtbDIvcmVzdWx0L0hUTUwvdXRmOGJ1Zy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY2YTQ5OGEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9IVE1ML3V0ZjhidWcuaHRtbApAQCAtMCwwICsxLDIxNSBAQAorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLWh0bWw0MC9sb29zZS5kdGQiPgorPGh0bWw+CisKKzxoZWFkPgorPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1MYW5ndWFnZSIgY29udGVudD0iZW4tdXMiPgorPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPgorPGxpbmsgaHJlZj0iQ1NTLmNzcyIgdHlwZT0idGV4dC9jc3MiIHJlbD0ic3R5bGVzaGVldCI+Cis8bGluayByZWw9IlNIT1JUQ1VUIElDT04iIGhyZWY9ImZhdmljb24uaWNvIj4KKzx0aXRsZT7YtNmH2YrYsSDYqNmE2KfarzwvdGl0bGU+Cis8L2hlYWQ+CisKKzxib2R5PgorCis8dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iMTAwJSIgaWQ9Ik1haW5UQkwiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMCI+CisJPHRyPgorCQk8dGQgY2xhc3M9IkhlYWRlcjEiPgorCQk8dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iMTAwJSIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIwIiBoZWlnaHQ9IjEwMCUiPgorCQkJPHRyPgorCQkJCTx0ZD4KKwkJCQk8aW1nIGJvcmRlcj0iMCIgc3JjPSJTaGVsbC9TaGFoaXIuU2hhaGlkU2FsZXMxLnBuZyIgd2lkdGg9IjQ0MiIgaGVpZ2h0PSIxMTAiPgorPC90ZD4KKwkJCQk8dGQ+wqA8L3RkPgorCQkJPC90cj4KKwkJPC90YWJsZT4KKwkJPC90ZD4KKwk8L3RyPgorCTx0cj4KKwkJPHRkIGhlaWdodD0iMjgiPgorCQkJPGRpdiBpZD0iU2lkZUJhcjEiPgorCQkJCTx0YWJsZSB3aWR0aD0iMTAwJSI+CisJCQkJPHRyPgorCQkJCTx0ZD4KKwkJCQkgPHNwYW4gY2xhc3M9Ikl0ZW0iPgorPGEgaHJlZj0iSW5kZXguYXNwIj4KK9iu2KfZhtmHIDwvYT48L3NwYW4+IDxzcGFuIGNsYXNzPSJJdGVtIj4KKzxhIGhyZWY9IkNvbnRhY3QuYXNwIj4KK9iq2YXYp9izINio2Kcg2YXZhiA8L2E+PC9zcGFuPiA8c3BhbiBjbGFzcz0iSXRlbSI+Cis8YSBocmVmPSJBcmNoaXZlLmFzcCI+CivYotix2LTZitmIIDwvYT48L3NwYW4+IDxzcGFuIGNsYXNzPSJJdGVtIj4KKzxhIGhyZWY9IlNlYXJjaC5hc3AiPgor2KzYs9iq2KzZiCDYr9ixINiz2KfbjNiqIDwvYT48L3NwYW4+IDxzcGFuIGNsYXNzPSJJdGVtIj4KKzxhIGhyZWY9Imh0dHA6Ly9zaGFoaXJibG9nLmNvbS9kZXRhaWwuYXNwP2lkPTMwIj4KK9iv2LHYqNin2LHZhyDZhdmGIDwvYT48L3NwYW4+IDxzcGFuIGNsYXNzPSJJdGVtIj4KKzxhIGhyZWY9IlJTUzIuYXNwIj4KKworPGltZyBzcmM9InNob3dpbWFnZS5hc3B4P3BhdGg9RmlsZXNfVXBsb2FkJTVDMTkyLnBuZyZhbXA7d2lkdGg9JSZndDsiIGJvcmRlcj0iMCI+CitSU1MgPC9hPjwvc3Bhbj4gPHNwYW4gY2xhc3M9Ikl0ZW0iPgorPGEgaHJlZj0iIj4KKyA8L2E+PC9zcGFuPgorCQkJCTwvdGQ+CisJCQkJPHRkIGFsaWduPSJsZWZ0Ij4KKwkJCQk8ZGl2IGlkPSJEYXRlVGltZSI+CisJCQkJPHAgYWxpZ249ImxlZnQiPgorCQkJCdmK2qnYtNmG2KjZh9iMwqAxNcKg2KfYsdiv2YrYqNmH2LTYqsKgMTM4N8KgIAorCQkJCS3CoMKgIAorCQkJCTxzcGFuIGRpcj0ibHRyIj5TdW5kYXksIE1heSAwNCwgMjAwODwvc3Bhbj4KKwkJCQk8L3A+Cis8L2Rpdj4KKwkJCQk8L3RkPgorCQkJCTwvdHI+CisJCQkJPC90YWJsZT4KKwkJCTwvZGl2PgorCQk8L3RkPgorCTwvdHI+CisJPHRyPgorCQk8dGQgdmFsaWduPSJ0b3AiPgorCQk8dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iMTAwJSIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIwIiBpZD0iQ29udGVudCI+CisJCQk8dHI+CisJCQkJPHRkIGNsYXNzPSJSaWdodCIgdmFsaWduPSJ0b3AiIHN0eWxlPSJwYWRkaW5nLXJpZ2h0OiA2MHB4Ij4KKwkJCQkJPHRhYmxlIHdpZHRoPSIxMDAlIj4KKwkJCQkJCTx0cj4KKwkJCQkJCQk8dGQgdmFsaWduPSJ0b3AiPgorCQkJCQkJCQkKKzxzY3JpcHQ+Cit2YXIgdGdzID0gbmV3IEFycmF5KCAnZGl2JywndGQnLCd0cicsJ2EnKTsKK3ZhciBzenMgPSBuZXcgQXJyYXkoICc3cHQnLCc4cHQnLCc5cHQnLCcxMHB0JywnMTFwdCcsJzEycHQnLCcxM3B0JyApOwordmFyIHN0YXJ0U3ogPSAxOworCitmdW5jdGlvbiBDaGFuZ2VTaXplKCB0cmd0LHN6ICkgeworCWlmICghZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQpIHJldHVybgorCXZhciBkID0gZG9jdW1lbnQsY0VsID0gbnVsbCxpLGosY1RhZ3M7CisJCisJaWYgKCAhKCBjRWwgPSBkLmdldEVsZW1lbnRCeUlkKCB0cmd0ICkgKSApIGNFbCA9IGQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIHRyZ3QgKVsgMCBdOworCisJY0VsLnN0eWxlLmZvbnRTaXplID0gc3o7CisKKwlmb3IgKCBpID0gMCA7IGkgPCB0Z3MubGVuZ3RoIDsgaSsrICkgeworCQljVGFncyA9IGNFbC5nZXRFbGVtZW50c0J5VGFnTmFtZSggdGdzWyBpIF0gKTsKKwkJZm9yICggaiA9IDAgOyBqIDwgY1RhZ3MubGVuZ3RoIDsgaisrICkgY1RhZ3NbIGogXS5zdHlsZS5mb250U2l6ZSA9IHN6OyAvL3N6c1sgc3ogXTsKKwl9Cit9Cis8L3NjcmlwdD4KKworPHRhYmxlIHdpZHRoPSIxMDAlIiBpZD0iTmV3c0RldGFpbCI+CisJPHRyPgorCQk8dGQgdmFsaWduPSJ0b3AiPgorCQk8ZGl2IGNsYXNzPSJOZXdzX0luZm8iPgorCQkJ2KrYp9ix2YrYriDYr9ix2Kw6IDxmb250IGNvbG9yPSIjMDAwMDAwIj7ahtmH2KfYsdi02YbYqNmH2IzCoDI5wqDYp9iz2YHZhtivwqAxMzg2IAorCQkJLSBXZWRuZXNkYXksIE1hcmNoIDE5LCAyMDA4PC9mb250PsKgwqDCoMKgwqAgCisJCQnZhtmI2YrYs9mG2K/ZhzogPGZvbnQgY29sb3I9IiMwMDAwMDAiPjwvZm9udD7CoMKgwqDCoMKgIAorCQkJ2K/Zgdi52KfYqiDZhdi02KfZh9iv2Yc6IDxmb250IGNvbG9yPSIjMDAwMDAwIj4yNjg4PC9mb250PiAKKwkJCdio2KfYscKgwqDCoMKgwqAg2YPYrzogPGZvbnQgY29sb3I9IiMwMDAwMDAiPjM0MTwvZm9udD4KKwkJPC9kaXY+CisJCTxicj4KKwkJPCEtLQorCQk8ZGl2PiYjMTU3NTsmIzE2MDY7JiMxNTgzOyYjMTU3NTsmIzE1ODY7JiMxNjA3OyAmIzE2MDE7JiMxNjA4OyYjMTYwNjsmIzE1Nzg7OiZuYnNwOworCQk8YSBocmVmPSJqYXZhc2NyaXB0OkNoYW5nZVNpemUoJ05ld3NCb2R5JywnN3B0JykiPjxmb250IHNpemU9IjEiPiYjMTcwNTsmIzE2MDg7JiMxNjcwOyYjMTcwNTs8L2ZvbnQ+PC9hPiZuYnNwOworCQk8YSBocmVmPSJqYXZhc2NyaXB0OkNoYW5nZVNpemUoJ05ld3NCb2R5JywnMTBwdCcpIj48Zm9udCBzaXplPSIyIj4mIzE2MDU7JiMxNTkzOyYjMTYwNTsmIzE2MDg7JiMxNjA0OyYjMTc0MDs8L2ZvbnQ+PC9hPiZuYnNwOworCQk8YSBocmVmPSJqYXZhc2NyaXB0OkNoYW5nZVNpemUoJ05ld3NCb2R5JywnMTNwdCcpIj48Zm9udCBzaXplPSIzIj4mIzE1NzY7JiMxNTg2OyYjMTU4NTsmIzE3MTE7PC9mb250PjwvYT4mbmJzcDsKKwkJPC9kaXY+LS0+CisJCQorCisJCTxkaXYgY2xhc3M9IlRpdHIxIj4KKwkJCSA8L2Rpdj4KKwkJPGJyPgorCQk8ZGl2IGlkPSJOZXdzQm9keSI+CisJCQkKKwkJCTxkaXYgY2xhc3M9IkltYWdlIj4KKwkJCQkKKwkJCQk8YSBocmVmPSJzaG93aW1hZ2UuYXNweD9wYXRoPUZpbGVzX1VwbG9hZCU1QzMwMi5KUEcmYW1wO1dpZHRoPSIgcmVsPSJsaWdodGJveCIgdGl0bGU9Iti02YfZitixINio2YTYp9qvIj4KKwkJCQk8aW1nIHNyYz0ic2hvd2ltYWdlLmFzcHg/cGF0aD1GaWxlc19VcGxvYWQlNUMzMDIuSlBHJmFtcDtXaWR0aD0yMjAiIGFsaWduPSJsZWZ0IiBib3JkZXI9IjEiPgorCQkJCTwvYT4KKzwvZGl2PgorCQkJPHN0cm9uZz48Zm9udCBzaXplPSI0Ij48Zm9udCBjb2xvcj0iIzAwMDBmZiI+2LnaqdizPC9mb250PiA8Zm9udCBjb2xvcj0iIzAwMDBmZiI+2YXYrdi12YjZhCDZh9mG2LEg24zaqduMINin2LIg2YfZhdqp2KfYsdin2YYg2KfYs9iqLiDYsdmI24wg2KLZhiDaqdmE24zaqSDaqdmG2K8uPC9mb250PjwvZm9udD48L3N0cm9uZz48czE+ICA8L3MxPgorPC9kaXY+CisJCTxicj4KKwkJPGRpdiBhbGlnbj0ibGVmdCI+CisJCQk8YSBocmVmPSJwcmludGZyaWVuZGx5LmFzcD9pZD0zNDEiPgorCQkJPGltZyBzcmM9InNoZWxsL1ByaW50RnJpZW5kbHkucG5nIiBib3JkZXI9IjAiPjwvYT4KKwkJCTxhIGhyZWY9IiMiIG9uY2xpY2s9IndpbmRvdy5vcGVuKCdTZW5kTmV3cy5hc3A/UGFnZUlEPTM0MScsJ215V2luJywndG9vbGJhcj1ubyxkaXJlY3Rvcmllcz1ubyxsb2NhdGlvbj1ubyxzdGF0dXM9bm8sbWVudWJhcj1ubyxyZXNpemFibGU9eWVzLHNjcm9sbGJhcnM9bm8sd2lkdGg9NTAwLCBoZWlnaHQ9MjAwJyk7IHJldHVybiBmYWxzZSI+CisJCQk8aW1nIGJvcmRlcj0iMCIgc3JjPSJTaGVsbC9TZW5kVG9GcmllbmRzLmpwZyIgd2lkdGg9IjE0MCIgaGVpZ2h0PSIzMCI+CisJCQk8L2E+CisJCTwvZGl2PgorCQk8YnI+CisJCTwvdGQ+CisJPC90cj4KKwk8dHI+CisJCTx0ZD4gPGJyPgorCQk8aHI+Cis8ZGl2IGlkPSJDb21tZW50cyI+PHVsPgorPGI+2YbYuNix2KfYqgorCQnaqdin2LHYqNix2KfZhjo8L2I+PGJyPjxsaT4KKzxmb250IGNvbG9yPSJibHVlIj7Yrdin2KzbjCDYrNmB2LHYs9mI2YY6PC9mb250Pjxicj48Zm9udCBzaXplPSIxIj40LzUvMjAwOCAtCisJCTc6MDg6MDAgUE08L2ZvbnQ+PGJyPtio2Kcg2K/YsdmI2K8g2KjZhyDYtNmF2KcuLi7CoNio2K/ZiNmGINmH24zahiDar9mI2YbZhyDYt9mG2LIKKwkJ2Ygg2K/Ys9iq2qnYp9ix24wg2KrZiNiz2Lcg2K3Yp9is24wg2K/Yp9uM24wg2YbZgtmEINi02K/ZhyDYp9iz2Kog2KfbjNmGINmH2Kcg2qnZhyDYr9ixINio24zYp9mGINis2K/bjAorCQnYp9uM2YbZgtiv2LEg2LfZhtin2LIg2YfYs9iq2YbYryDZiNin24wg2KjZhyDYsdmI2LLbjCDaqdmHINio2K7ZiNin2YfZhtivINi32YbYsiDYqNmG2YjbjNiz2YbYry4g2KjYqNuM2YYKKwkJ2LTZh9uM2LEg2KzYp9mGINqG2Ycg2qnYs9in2YbbjCDYs9ixINis2YjYp9mG2KfZhiDZhdinINix2Kcg2KjYpyDYp9i12YTYp9it2KfYqiA4INiz2KfZhCDar9mI2YQKKwkJ2YXYp9mE24zYr9mG2K8uLiDYp9uM2YYg2YfYpyDYsdinINio2K7ZiNin2YbbjNivIDo6Ojo6KCjYr9io2YrYsdmD2YQg2YXYrNmF2Lkg2KfYs9mE2KfZhdmKINio2KfZhtmI2KfZhgorCQnar9mB2Ko6INio2Ycg2YbYuNixINmF2YrigIzYsdiz2K8g2KLZgtin2Yog2K7Yp9iq2YXZiiDZgti12K8g2YHYp9i12YTZhyDar9ix2YHYqtmGINin2LIg2KrZhtiv2LHZiNmH2KcKKwkJ2LHYpyDZhtiv2KfYsdivINmIINiq2Kcg2KfZitmGINix2YjZhtivINin2K/Yp9mF2Ycg2K/Yp9ix2K8g2YXYpyDYqNinINiq2YbYr9ix2YjZh9inINiv2LEg2YrZgyDYp9im2KrZhNin2YEKKwkJ2LTYsdmD2Kog2YbZhdmK4oCM2YPZhtmK2YUuINio2Ycg2q/Ystin2LHYtCDYrtio2LHZhtqv2KfYsSDYs9mK2KfYs9mKINiu2KjYsdqv2LLYp9ix2Yog2YHYp9ix2LPYjAorCQnZgdin2LfZhdmHINmD2LHZiNio2Yog2K/YqNmK2LHZg9mEINmF2KzZhdi5INin2LPZhNin2YXZiiDYqNin2YbZiNin2YYg2LnYtdixINin2YXYsdmI2LIg2LTZhtio2Ycg2K/YsSDYrNmF2LkKKwkJ2K7YqNix2Ybar9in2LHYp9mGINix2LPYp9mG2YfigIzZh9in2Yog2q/YsdmI2YfZiiDYsdmI2YbYryDYqNix2q/Ystin2LHZiiDYp9mG2KrYrtin2KjYp9iqINmH2LTYqtmF2YrZhgorCQnYr9mI2LHZhyDZhdis2YTYsyDYtNmI2LHYp9mKINin2LPZhNin2YXZiiDYsdinINiq2K3ZhNmK2YQg2YPYsdivLiDZiNmKINi22YXZhiDYqNix2LTZhdix2K/ZhiDZhdix2LLYqNmG2K/ZiiDYrtmI2K8KKwkJ2KjYpyDYrNix2KjYp9mGINiq2YbYr9ix2YjZiiDYp9i12YTYp9itINi32YTYqCDYp9mB2LLZiNivOiDYp9mK2YYg2YXYpyDZhtmK2LPYqtmK2YUg2YPZhyDYqNinINiz2KrYp9ivINin2KbYqtmE2KfZgQorCQnYp9i12YTYp9itINi32YTYqNin2YYg2KfYrtiq2YTYp9mBINiv2KfYsdmK2YUg2KfZhdinINin2YbYrdi12KfYsdqv2LHZiiDYqNix2K7ZiiDYp9iyINqv2LHZiNmH4oCM2YfYpworCQnYrNix2YrYp9mGINin2LXZhNin2K3Yp9iqINix2Kcg2K/ahtin2LEg2KfYsiDZh9mF4oCM2q/Ys9iz2Krar9mKINmD2LHYry4g2K/Yp9mI2LfZhNioINmH2LTYqtmF2YrZhiDYr9mI2LHZhworCQnYp9mG2KrYrtin2KjYp9iqINmF2KzZhNizINi02YjYsdin2Yog2KfYs9mE2KfZhdmKINiv2LHYqNin2LHZhyDYqti02YPZitmEINiz2KrYp9ivINmF2LHYr9mF2Yog2KfYtdmE2KfYrdin2Kog2K7Yp9i32LEKKwkJ2YbYtNin2YYg2YPYsdivOiDYotmC2KfZiiDYrtin2KrZhdmKINio2Ycg2KrZiNi12YrZh+KAjNmH2Kcg2Ygg2YbYuNix2KfYqiDYr9mI2LPYqtin2YbYtNin2YYg2KrZiNis2YfZigorCQnZhtiv2KfYsdmG2K8g2Ygg2Kfar9ixINin2YrZhiDYp9mF2YPYp9mGINmI2KzZiNivINiv2KfYtNiqINmD2Ycg2YfZhdmHINis2LHZitin2YbYp9iqINin2LXZhNin2K0g2LfZhNioINiy2YrYsQorCQnZitmDINi52YbZiNin2YYg2YHYudin2YTZitiqINmD2YbZhtivINit2KrZhdinINin2LIg2KLZhiDYp9iz2KrZgtio2KfZhCDZhdmK4oCM2YPYsdiv2YrZhSDYp9mF2Kcg2KjZhworCQnZhti42LEg2YbZhdmK4oCM2LHYs9ivINmD2Ycg2KLZgtin2Yog2K7Yp9iq2YXZiiDYqNiu2YjYp9mH2K8g2KfYsiDYqtmG2K/YsdmI2YfYpyDZgdin2LXZhNmHINio2q/Zitix2K8g2YgKKwkJ2KrYpyDYp9mK2YYg2LHZiNmG2K8g2KfYr9in2YXZhyDYr9in2LTYqtmHINio2KfYtNivINmF2Kcg2KjYpyDYqtmG2K/YsdmI2YfYpyDYr9ixINmK2YMg2KfYptiq2YTYp9mBINi02LHZg9iqCisJCdmG2YXZiuKAjNmD2YbZitmFLiDZiNmKINiv2LEg2YXZiNix2K8g2LTYsdmD2Kog2KrYtNmD2YQg2YXYqtio2YjYuSDYrtmI2K8g2K/YsSDZhdix2K3ZhNmHINio2LnYr9mKCisJCdin2YbYqtiu2KfYqNin2Kog2YXYrNmE2LMg2q/ZgdiqOiDYqNix2K7ZiiDYp9iyINmD2KfZhtiv2YrYr9in2YfYp9mKINmG2LLYr9mK2YMg2KjZhyDZhdinINio2Ycg2YXYsdit2YTZhyDYr9mI2YUKKwkJ2KfZhtiq2K7Yp9io2KfYqiDYsdin2Ycg2YrYp9mB2KrZh+KAjNin2YbYryDZiCDZhdinINio2Kcg2KrZhdin2YUg2KrZiNin2YYg2K/YsSDYp9mK2YYg2YXYsdit2YTZhyDYp9iyCisJCdii2YbZh9inINiv2YHYp9i5INiu2YjYp9mH2YrZhSDZg9ix2K8uINmD2LHZiNio2Yog2KrYp9mD2YrYryDZg9ix2K86INqv2LHZiNmH2Yog2KfZhtit2LXYp9ix2q/YsSDYqNinCisJCdin2YLYr9in2YXYp9iqINi62YrYsdi52YLZhNin2YbZiiDZiCDYqtmG2K/YsdmI2YrigIzZh9in2Yog2K7ZiNivINin2KrZiNio2YjYsyDYp9i12YTYp9it2KfYqiDYsdinINiv2LEg2K/YsdmHCisJCdiz2LHZhtqv2YjZhiDZg9ix2K/ZhtivKSkpKSDZhNi32YHYpyDZvtuM2K/YpyDaqdmG24zYryDZvtix2KrZgtin2YQg2YHYsdmI2LQg2LHYpy4uLi4uLtmI2KfZgti52Kcg2KfbjNmGCisJCdmH2Kcg2YXbjCDYrtmI2KfZh9mG2K8g2K/ZiNio2KfYsdmHINmI2KfYsdivINmF2KzZhNizINmIINiv2YjZhNiqINi02YjZhtivLi4uLi7Yp9mI2YjZiNmI2YjZiNmI2YjZiNmI2YjZiNmI2YjZiAorCQnZhNin2YTYp9mE2KfZhNin2YTYp9mE2KcuLi4uLi4uLtmG2YchISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISDYp9mE2KjYqtmHINin24zZhgorCQnZhdis2YXYuSDYqNin2YbZiNin2YYg2KjbjNi02KrYsSDYqNmHINiz2YHYsdmHINmH2KfbjCDZhtiw2LEg2Ygg2LPYqNiy24wg2b7Yp9qpINqp2LHYr9mGINmH2KfbjCDYrtmI2YbZhworCQnZhdin2YXYp9mGINio2LLYsdqvINmIINiu2KfZhNmHINiy2YbaqSDYqNin2LLbjCDZh9in24wg2LnYtdixINmC2KfYrNin2LHbjNmHINmIINmF2KzZhNizINm+2Kcg2KrYrtiq24wg2YgKKwkJ2K3ZhtinINio2YbYr9mI2YYg2LnYsdmI2LMg2LTYqNin2YfYqiDYr9in2LHYry4g2YXZh9mG2K/YsyDYrNin2YYg2q/ZiNuM2Kcg2YXYpyDYp9iyINiv2LPYqiDYp9uM2YYgLi4uLtmICisJCdi524zYp9mE2LQg2KjYp9uM2K8g2KjYsdmI24zZhSDar9mI2LTZhyDZh9mF2KfZhiDYp9io2K/Yp9ix2K7Yp9mG2Ycg2Ygg2LTYp9i62YTYp9mFINmIINqG2KfbjNuMCisJCdiv24zYtNmE2YXZhy4uLi7YtNmF2Kcg2KrYtNix24zZgSDZhtmF24wg2KLZiNix24zYr9ifPC9saT4KKzxicj48YnI+PGxpPgorPGZvbnQgY29sb3I9ImJsdWUiPtiz24zYp9mI2LQ6PC9mb250Pjxicj48Zm9udCBzaXplPSIxIj40LzMvMjAwOCAtIDk6Mjg6MDAgUE08L2ZvbnQ+PGJyPtmF2LHYryDZh9iy2KfYsSDahtmH2LHZhyDZhdix2K8g2YfYstin2LEg2obZh9ix2Ycg2qnbjNiz2KrYn9i02K7YtduM2KrbjCDYs9in2K7YqtmHINmIINm+2LHYr9in2K7YqtmHINmF2YfYsdin2YYg2YXYr9uM2LHbjNiMINm+24zZhdin2YYg2YLYp9iz2YUg2K7Yp9mG24wg2Ygg2K/bjNqv2LEg2YbZiNuM2LPZhtiv2q/Yp9mG2J8g2KrZhtmH2Kcg2YfYr9mB2LQg2KLZhtiz2Kog2qnZhyDahtmG2K8g2LHZiNiyINiq2LnYt9uM2YTYp9iq2Iwg2YXYp9ix2Kcg2LPYsdqv2YUg2qnZhtivINmIINiv24zar9ixINmH24zahtifINmF2LHYryDZh9iy2KfYsSDahtmH2LHZhyDbjNqpINi32YbYsiDYp9iz2Kog24zaqSDYt9mG2LIg2KrZhNiu2Iwg2KjYsdiv2KfYtNiq24wg2YjYp9mC2LnbjCDYp9iyINis2KfZhdi52Ycg2KfbjNix2KfZhtuMLiDZhdmGINis2YjYp9mG2YUg2b7YsyDYr9ix2K/Yoti02YbYp9uMINis2YjYp9mG2KfZhtmFINmIINiu2YjYryDYsdinINio2Kcg2K7ZiNivINmIINiv24zar9ixINis2YjYp9mG2KfZhiDYt9ix2YEg2YXbjCDaqdmG2YUg2KjYs9uM2KfYsSDYp9mG2K8g2KzZiNin2YbYp9mG24wg2qnZhyDZhdi12K/Yp9mCINmF2LHYryDZh9iy2KfYsSDahtmH2LHZhyDZh9iz2KrZhtivINis2YjYp9mG2KfZhtuMINiz2YjYr9inINiy2K/ZhyDbjNinINio2Ycg2YLZiNmEINiu2YjYryDZhdiz2LnZiNivICLYrNmIINqv24zYsSIg2qnZhyDZh9ixINio2Kcg2YXYrdi12YjZhNuMINqp2YfZhtmHINix2Kcg2KjYpyDYqti52LHbjNmB24wg2KzYr9uM2K8g2KjZhyDYotmG2YfYpyDYp9ix2KfYptmHINqp2YbZhtivINqG2YbYp9mGINio2Kcg2KrZhdin2YUg2Ygg2KzZiNivINmF24wg2b7YsNuM2LHZhtivINqp2Ycg2q/ZiNuM24wg2LHYp9mHINmB2KfYptmCINii2YXYr9mGINio2LEg2KrZhdin2YUg2YXYtNqp2YTYp9iq2LTYp9mGINix2Kcg24zYp9mB2KrZhyDYp9mG2K8g2Ygg2YXbjCDYrtix2YbYr9iMINiu2YjYp9mHINin24zZhiDYqtit2YHZhyDYqtim2YjYsduMINio2LEg2q/YsdmB2KrZhyDYp9iyINiq2YHaqdix2KfYqiDYrti02qkg2Ygg2YHYs9uM2YTbjCDar9ix2YjZh9uMINio2KfYtNivINuM2Kcg2YXYr9mEINmF2YTbjNis2qkg2YjYp9ixINmE2KjYp9iz24wg2K/YsSDZvti02Kog2YjbjNiq2LHbjNmGINmB2LHZiNi02q/Yp9mHLiDZhdmH2YUg2YbbjNiz2Kog2obZhyDYqNin2LTYryEg2YXZh9mFINmG24zYs9iqINiv2YTbjNmEINin2YbYqtiu2KfYqNi0INqG2Ycg2KjYp9i02K8hINmF2YfZhSDZhtuM2LPYqiDZhtiq24zYrNmHINin24zZhiDYp9mG2KrYrtin2Kgg2obbjNiz2KohINiq2YbZh9inINmF2YfZhSDYp9iz2Kog2qnZhyDZhduMINqv2YjbjNmG2K8g2KfYsiDYp9uM2YYg2LfYsdmBINio2YHYsdmF2KfYptuM2K8h2K3Yp9mEINin24zZhiDYqNmB2LHZhdin2KbbjNivINqG2Ycg2YXYudmG2KfbjNuMINiv2KfYsdivINio2KfYsiDZh9mFINmF2YfZhSDZhtuM2LPYqiEhISDZiNin24wg2KjYsSDZhdinINqp2Ycg2YbZhyDYrtmI2K8g2LHYpyDZhduMINi02YbYp9iz24zZhSDZiCDZhtmHINiv2LEg2KzZh9iqINi02YbYp9iu2Kog2K7ZiNuM2LQg2YLYr9mFINmF24wg2q/YsNin2LHbjNmFLiDZiNin24wg2KjYsSDZhdinINqp2Ycg2K/bjNqv2LEg2K3YqtuMINmG2K/Yp9uMINiv2LHZiNmGINiu2YjbjNi0INix2Kcg2YbZhduMINiq2YjYp9mG24zZhSDYqNi02YbZiNuM2YUuINmI2KfbjCDYqNixINmF2Kcg2qnZhyDZhtmF24wg2K/Yp9mG24zZhSDahtmHINmF24wg2K7ZiNin2YfbjNmFINmIINmH2LEg2KjYp9ixINqp2Ycg2obbjNiy24wg2YXbjCDYrtmI2KfZh9uM2YUg2Ygg2K/YsSDZhdiz24zYsSDZiNi12KfZhCDZvtinINmF24wg2q/YsNin2LHbjNmFINio2Ycg2YXbjNin2YbZhyDYsdin2Ycg2YbYsdiz24zYr9mHINqG2YbYp9mGINmF2KzYsNmI2Kgg2LLYsdmCINmIINio2LHZgiDYsdin2YfZh9in24wg2K/bjNqv2LEg2YXbjCDYtNmI24zZhSDaqdmHINmF2KjYr9inINmIINmF2YLYtdivINix2Kcg24zaqdis2Kcg2YHYsdin2YXZiNi0INmF24wg2qnZhtuM2YUuINmI2KfbjCDYqNixINmF2Kcg2qnZhyDZhtmF24wg2KrZiNin2YbbjNmFINiv2LEg2KjYsdin2KjYsSDZh9ixINii2YbahtmHINiv2LEg2YXZgtin2KjZhCDYp9mG2LPYp9mG24zYqiDZhdinINin24zYs9iq2KfYr9mHICLZhtmHItio2q/ZiNuM24zZhS4g2K/Ysdiz2Kog2KfYs9iqINqp2Ycg2YXYpyDYrNmI2KfZhtin2YYg2KjZhyDYqtmG2YfYp9uM24wg2YXZgti12LEg2YbbjNiz2KrbjNmFINin2YXYpyDahtmI2YYg2LTYsdmI2Lkg2KrZgti124zYsduM2YUg2b7YsyDZhduMINiq2YjYp9mG24zZhSDYp9iyINin2KjYqtiv2Kcg2YXYp9mG2Lkg2YXYtNqp2YQg2YfZhSDYqNin2LTbjNmFLiDYqNinINin2K3Yqtix2KfZhSDYs9uM2KfZiNi0PGJyPgorwqA8YnI+Cis8Zm9udCBjb2xvcj0iIzgwMDAwMCI+2KjYs9uM2KfYsSDYstuM2KjYpyDYs9uM2KfZiNi0INis2KfZhi4g2K/YsdmI2K8g2KjYsSDYqtmILiDYtNmH24zYsTwvZm9udD4KKzwvbGk+Cis8YnI+PGJyPjxsaT4KKzxmb250IGNvbG9yPSJibHVlIj7Yp9it2LPYp9mGIF9fINiu2Lcg2LPZiNmFOjwvZm9udD48YnI+PGZvbnQgc2l6ZT0iMSI+NC8zLzIwMDggLSA4OjIxOjAwIFBNPC9mb250Pjxicj7YqNinINiz2YTYp9mFINmIINin2K/Yp9uMINin2K3Yqtix2KfZhSDZiNqp2LPYqCDYp9is2KfYstmHINin2LIg2LTZh9uM2LEg2LnYstuM2LIgLiDYp9iyINi52YXYp9ivINis2KfZhiDYudiy24zYstmFINio2K7Yp9i32LEg2LLYrdmF2KrbjCDaqdmHINqp2LTbjNiv2YbYryDZiCDYp9i32YTYp9i52KfYqiDYrtmI2KjbjCDaqdmHINiv2KfYr9mG2K8g2Iwg2KjZhyDYs9mH2YUg2K7ZiNiv2YUg2KrYtNqp2LEg2YXbjCDaqdmG2YUgLiDYqNinINqp2YXYp9mEINi02LHZhdmG2K/ar9uMINin2LIg2KfbjNmG2qnZhyAi2KjYr9mI2YYg2YfZhdin2YfZhtqv24wiINmIICIg2KfYrNin2LLZhyDYp9uMINmC2KjZhNuMINi02YXYpyIg2YggItio2LPYsdi52KoiINiMINmF2LnYr9mI2K8g2KfYtNiq2KjYp9mH2KfYqiDYqtin24zZvtuMINix2Kcg2qnZhyDYqNinINiq2YjYrNmHINio2Ycg2K3YrNmFINmF2LfZhNioINiMINin2YXYsduMINqp2KfZhdmE2Kcg2KfYrNiq2YbYp9ioINmG2KfZvtiw24zYsSDYp9iz2Kog2Iwg2LPYuduMINqp2LHYr9mFINqp2Ycg2KfYtdmE2KfYrSDaqdmG2YUg2Iwg2KfYsiDYtNmF2Kcg2b7ZiNiy2LQg2YXbjCDYrtmI2KfZh9mFIC4g2KfZhNio2KrZhyDYudmF2KfYryDYrNin2YYg2LnYstuM2LLZhSDYjCDYqNivINmG24zYs9iqINio2K/Yp9mG24zYryDaqdmHINiv2LEg2YXbjNiy2KfZhiDYp9i02KrYqNin2Ycg2K/YsSDYqtin24zZviDZh9ix2q/YsiDYqNmHINm+2KfbjCDYqNmG2K/ZhyDZhtiu2YjYp9mH24zYryDYsdiz24zYryAhINi02KfZh9ivINin2K/Yudin24wg2K3ZgtuM2LHYjCDYtNmH24zYsSDZiCDYrdiz24zZhiDYrNin2YYg2LnYstuM2LLZhSDZh9iz2KrZhtivINqp2Ycg2K7YqNix2K/Yp9ix2YbYryDaqdmHINqG2q/ZiNmG2Ycg2KjZhtiv2Ycg2K/YsSDbjNqpINmB2YLYsdmHINi52YXZhNuM2KfYqiDYqtin24zZviDYjCDYr9mIINi12YHYrdmHINin24wg2qnYp9mF2YQg2LHYpyDYrNinINin2YbYr9in2K7YqtmFICEhISDaqdin2YHbjCDYp9iz2Kog2KjZvtix2LPbjNivINiMINiv2LEg2YbZh9in24zYqiDYtdiv2KfZgtiqINiMINio2LEg2KfbjNmGINix2qnZiNix2K8g2KjbjCDZhti424zYsSDZiCDYqtin2LHbjNiu24wg2LTZh9in2K/YqiDYrtmI2KfZh9mG2K8g2K/Yp9ivICEg2KjYp9iyINmH2YUg2KfYsiDYstit2YXYp9iqINi52YXYp9ivINis2KfZhiDZiCDZhtuM2LIg2LPZiNin2YTYp9iqINiu2YjYqCDYrdiz24zZhiDYrNin2YYg2KrYtNqp2LEg2YXbjCDaqdmG2YUg2qnZhyDYp9mGINmI2LnYr9mHINin24wg2YXZgtin2YTZhyDYp9uMINi524zYr9in2YbZhyDYp9uMINmF2YHYtdmEINi02YfbjNixINix2Kcg2K/YsSDYqNin2LHZhyDYp9uMINiy2YbYr9mHINuM2KfYryDZhdix2K3ZiNmFINmF2LXYr9mCINiMINiv2LEg2YjYs9i5INiu2YjYryDYqNis2KfbjCDYp9mI2LHYr9mG2K8gLiDYttmF2YYg2KfZhtqp2Ycg2YfbjNqG2qnYr9in2YUg2KfYsiDYr9mI2LPYqtin2YbYjCDYp9uM2YYg2LLYrdmF2Kog2KfYsdiy2LTZhdmG2K8g2LnZhdin2K8g2KzYp9mGINix2Kcg2K/ZhNuM2YQg2KfZhiDZhtiu2YjYp9mH2YbYryDYr9in2YbYs9iqINqp2Ycg2LTZh9uM2LHYudiy24zYsiDYqNi52K8g2KfYsiDYqNin2LLar9i02Kog2KfYsiDZhdiz2KfZgdix2Kog2Iwg2LPYsSDZgdix2LXYqiDZiNi52K/ZhyDYp9uMINiu2YjYryDYsdinINi52YXZhCDZhtqp2YbZhtivIC4g2YXYtNiq2KfZgtin2YbZhyDYp9mF2Kcg2YbZhyDYudis2YjZhNin2YbZhyDYjCDZhdmG2KrYuNixINmF2YLYp9mE2Ycg2KfbjCDYtNmH24zYsSDZh9mFINiu2YjYp9mH24zZhSDZhdin2YbYry4g2KjYpyDYp9it2KrYsdin2YUgOiDYp9it2LPYp9mGPGJyPgorwqA8YnI+Cis8Zm9udCBjb2xvcj0iIzgwMDAwMCI+2KfYrdiz2KfZhiDYrNin2YbYjCDZhdmGINmB2qnYsSDaqdix2K/ZhSDZgti224zZhyDYtNin2YXZhCDZhdix2YjYsSDYstmF2KfZhiDYtNiv2Ycg2KfYs9iqLiDYqtinINin2YXYsdmI2LIg2qnZhyDZhtix2LPbjNiv2Ycg2KfZhSDYr9iz2Kog2KjZhyDYp9uM2YYg2b7YsdmI2pjZhyDYqNiy2YbZhS4g2Kfar9ixINi52LTZgiDYqNmHINit2YHYuCDYp9ix2KrYqNin2Lcg2KjYpyDYtNmF2Kcg2YfYpyDZhtio2YjYryDYqtinINix2YjYsiAyNSDYp9m+2LHbjNmEINio2Ycg2K7ZiNiv2YUg2YXYsdiu2LXbjCDZhduMINiv2KfYr9mFLiDYr9ixINin24zZhiDYs9mB2LEg2K7Yr9inINmF24wg2K/Yp9mG2K8g2obZhtivINmH2LLYp9ixINmF2KfbjNmEINiv2LEgMyDZgtin2LHZhyDYsdinINm+24zZhdmI2K/ZhyDYp9mFLiDYp9iyINm+2YjYs9iqINqp2YTZgdiqINiu2YjYr9mFINiv2LEg2LnYrNio2YUg2qnZhyDahti32YjYsduMINiq2YjZhtiz2KrZhSDYp9iu2KjYp9ixINix2Kcg2K/Zhtio2KfZhCDaqdmG2YUg2Ygg2obZhtivINmF2YLYp9mE2Ycg2qnZiNiq2KfZhyDYqNmG2YjbjNiz2YUuINqv2LHZgdiq2KfYsduMINiy24zYp9ivINio2YjYry4g2LTZh9uM2LE8L2ZvbnQ+Cis8L2xpPgorPGJyPjxicj48bGk+Cis8Zm9udCBjb2xvcj0iYmx1ZSI+2LnZhdin2K8g27LbtCDYs9in2YTZhyDYp9iyINin2LXZgdmH2KfZhjo8L2ZvbnQ+PGJyPjxmb250IHNpemU9IjEiPjQvMy8yMDA4IC0gNzoxNDowMCBQTTwvZm9udD48YnI+2LTZh9mK2LEg2KzYp9mGINin2q/YsSDYt9mI2YTYp9mG24wg2LTYryDYqNio2K7YtNmK2K8g2obYp9ix2Ycg2KfbjCDZhtio2YjYryDYp9it2LPYp9mGINis2KfZhiDYp9iyINqp2YXaqSDYtNmF2Kcg2YbZitiyINiv2LEg2YjZitix2KfZiti0INin2YrZhiDZhdi32YTYqCDZhdiq2LTaqdix2YUg2KfZhdmK2K/ZiNin2LHZhSDYrdiz2YrZhiDYudiy24zYsiDZhtmK2LIg2LHYp9i224wg2KjYp9i02K88YnI+CivCoDxicj4KKzxmb250IGNvbG9yPSIjODAwMDAwIj7ZhdmF2YbZiNmGINin2LIg2LLYrdmF2KrbjCDaqdmHINqp2LTbjNiv24wg2LnZhdin2K8g2KzYp9mGLiDYtNmH24zYsTwvZm9udD4KKzwvbGk+Cis8YnI+PGJyPjxsaT4KKzxmb250IGNvbG9yPSJibHVlIj7Yrdiz24zZhjo8L2ZvbnQ+PGJyPjxmb250IHNpemU9IjEiPjQvMy8yMDA4IC0gNzowNDowMCBQTTwvZm9udD48YnI+2LPZhNin2YUg2KLZgtinINi02YfbjNixINio2Kcg2KfYrNin2LLZhyDYtNmF2Kcg2K7ZiNin2LPYqtmFINin2LIg2LnZhdin2K8g2LnYstuM2LIg2YjZh9mF2obZhtuM2YYg2LPYsdmI2LEg2KjYstix2q/ZiNin2LEg2KLZgtin2KfYrdiz2KfZhiDYqti02qnYsSDaqdmG2YUg2YjYqNmHINii2YLYpyDYudmF2KfYr9io2q/ZiNuM2YUg2K/Ys9iq2Kog2K/YsdivINmG2qnZhtmHINio2KfYqNiqINiy2K3Zhdiq2Kog2YjZgdmI2YIg2KfZhNi52KfYr9mHINi52KfZhNuMINio2YjYry7Zgtiz2YXYqtuMINqp2Ycg2YbZiNi02KrbjNivIiDYrtmI2K8g2K/aqdiq2LEg2YXYtdiv2YIg2K/YsSDYqtmC2LHbjNix2KfYqti02KfZhiDYqNmHINin2LTYqtio2KfZhyDYqNmI2K/ZhiDYqti12YXbjNmF2LTYp9mGINmF2KjZhtuMINio2LEg2KfYs9iq2LnZgdin2KEg2KfZgtix2KfYsSDZhduMINqp2YbZhtivItmI2KfZgti52Kcg2KzYp9mE2Kgg2YjYrdin2qnbjCDYp9iyINix2YjYrSDYqNmE2YbYryDYr9qp2KrYsSDZhdi12K/ZgiDZh9iz2KogLtio2KfYp9uM2YbaqdmHINiz2YjYp9mE2KfYqiDYrtix2K8g2YjYsduM2LIg2LLbjNin2K8g2YfYs9iqINin2YXYpyDYp9iyINin24zZhtqp2Ycg2KjZhyDYs9mI2KfZhNin2Kog2LnZhdiv2Ycg2YXZhiDYqNinINiq2YjYrNmHINio2Ycg2qnYqtin2Kgg2K/aqdiq2LEg2YXYtdiv2YIg2b7Yp9iz2K4g2K/Yp9iv24zYryDYqNin2LLZh9mFINiq2LTaqdixINmF24zaqdmG2YUgLtmF24zYrtmI2KfYs9iq2YUg2KfbjNmGINm+2KfYs9iuINix2Kcg2KjYsdin24wg2YbZiNuM2LPZhtiv2Ycg2YXZgtin2YTZhyDYsdis2KfZhtuM2YjYsiBjb3B5JmFtcDtwYXN0ZSA8YnI+CivaqdmG2YUg2q/Zgdiq2YUg2LTYp9uM2K8g2YfYsdqG2YbYryDYqNmHINin2K3YqtmF2KfZhCDYtti524zZgSDYqNix2KfbjCDYs9in24zYqiDYr9mI2LPYqiDYr9in2LTYqtmG24wg2KLZgtinINi02YfbjNixINmF2LTaqdmE24wg2b7bjNi0CivYotuM2K8u2K7ZiNin2LPYqtmFINio2Kcg2K3YsNmBINmG2KfZhSDYotmC2Kcg2LTZh9uM2LEg2YjYtNmF2Kcg2KfYsiDaqdin2YXZhtiqINin24zZhtqp2KfYsSDYsdinINio2qnZhtmFINin2K3YqtmF2KfZhCDYr9in2K/ZhSDYsdin2LbbjAor2YbYqNin2LTbjNivIC7YqNmG2KfYqNix2KfbjNmGINmB2LnZhNinINi52YTbjNix2LrZhSDZhduM2YQg2YHYsdin2YjYp9mGINin2LIg2KfbjNmG2qnYp9ixINi12LHZgSDZhti42LEg2qnYsdiv2YUgLtio2YfYsdit2KfZhCDYqNin2LLZh9mFCivZhdmF2YbZiNmGINmI2YXYqti02qnYsSAgPC9saT4KKzxicj48YnI+PGxpPgorPGZvbnQgY29sb3I9ImJsdWUiPtit2KfYrNuMINis2YHYsdiz2YjZhjo8L2ZvbnQ+PGJyPjxmb250IHNpemU9IjEiPjQvMy8yMDA4IC0gNjowNjowMCBQTSBGT08hPC9mb250Pjxicj7YqNinINiv2LHZiNivINin2LIg2YLYr9uM2YUg2q/Zgdiq2Ycg2KfZhtivINqp2Ycg24zaqSDaqdmE2YXZhyDZh9mFINin2LIg2YXYp9iv2LEg2LnYsdmI2LMg2KjYtNmG2YjbjNivLiDYqNmG2KfYqNix2KfbjNmGINio2Ycg2KfZgdin2LbYp9iqINin2K7bjNixINqp2LTZiNixINiv2YjYs9iqINmIINio2LHYp9iv2LEg2Ygg2LPZiNiz24zYp9mE24zYs9iqINqG24zZhiDYudiy24zYsiDZiCDYrNin2YYg2KzYp9mG2KfZhiDaqdmF2YjZhtuM2LPYqiDYudmG2KfbjNiqINio2YHYsdmF2KfbjNuM2K86INix2KfYr9uM2Ygg2YHYsdiv2Kc6INiv2YrZvtmE2YXYp9iqINmH2Kcg2K/YsSDZiNmK2YYg2q/Zgdiq2Ycg2KfZhtivOiDaqdmHINqG2YrZhtiMINin2LIg2YXYrtin2YTZgdin2YYg2KrYtNiv2YrYryDYqtit2LHZitmFINmH2KfbjCDYp9mK2LHYp9mGINiv2LEg2LTZiNix2KfbjCDYp9mF2YrZhtiq2Iwg2KfYt9mE2KfYudin2Kog2K7ZiNivINiv2LHYqNin2LHZhyDYp9ix2KrYqNin2Lcg2KjYsdmG2KfZhdmHINmH2LPYqtmHINin24wg2KrZh9ix2KfZhiDYqNinINiq2YTYp9i0INio2LHYp9uMINiv2LPYqtmK2KfYqNuMINiz2YTYp9itINin2KrZhduMINix2Kcg2K/YsSDYp9iu2KrZitin2LEg2KLamNin2YbYsyDYqNmK2YYg2KfZhNmF2YTZhNuMINin2YbYsdqY24wg2KfYqtmF24wg2YLYsdin2LEg2K/Yp9iv2Ycg2KfYs9iqLiDYp9mE2LnYrNioISEhISEhINin2YbYqtiu2KfYqCA62KjYpyDZiNis2YjYryDYp9uM2YbaqdmHINqG24zZhiDYqNmHINi02K/YqiDYqNinINiq2K3YsduM2YXZh9in24wg2LTZiNix2KfbjCDYp9mF2YbbjNiqINiz2KfYstmF2KfZhiDZhdmE2YQg2LnZhNuM2Ycg2KfbjNix2KfZhiDZhdiu2KfZhNmB2Kog2YXbjCDaqdix2K/YjCDYp9i32YTYp9i52KfYqtuMINiv2LEg2LHYp9io2LfZhyDYqNinINmB2LnYp9mE24zYqtmH2KfbjCDZh9iz2KrZhyDYp9uMINin24zYsdin2YYg2K/YsSDYp9iu2KrbjNin2LEg2YXZgtin2YXYp9iqINii2pjYp9mG2LMg2KjbjNmGINin2YTZhdmE2YTbjCDYp9mG2LHamNuMINin2KrZhduMINmC2LHYp9ixINiv2KfYr9mHINqp2Ycg2KjYsSDYp9iz2KfYsyDYotmGINin24zYsdin2YYg2K/YsSDYqtmE2KfYtCDYqNix2KfbjCDYr9iz2Kog24zYp9io24wg2KjZhyDYs9mE2KfYrSDZh9in24wg2KfYqtmF24wg2KfYs9iqLiDYqNmHINqv2LLYp9ix2LQg2K7YqNix2Ybar9in2LEg2LPYsdmI24zYsyDYqNuM2YYg2KfZhNmF2YTZhCDYrtio2LHar9iy2KfYsduMINin2YbYqtiu2KfYqCDYqNmHINmG2YLZhCDYp9iyINmB2KfaqdizINmG24zZiNiy2JvYrNin2YYg2KjZiNmE2KrZiNmGINiM2YbZhdin24zZhtiv24Ag2b7bjNi024zZhiDYp9uM2KfZhNin2Kog2YXYqtit2K/bgCDYp9mF2LHbjNqp2Kcg2K/YsSDYs9in2LLZhdin2YYg2YXZhNmE2IzYr9ixINin24zZhiDYqNin2LHZhyDar9mB2Ko6INin2YLYr9in2YUg2KfbjNmG2obZhtuM2YbbjCDYp9iyINiz2YjbjCDahtuM2YYg2KjZhyDYr9mE24zZhCDYsdmI2KfYqNi3INmG2LjYp9mF24wg2qnZhyDZhduM2KfZhiDYr9mIINqp2LTZiNixIFvYp9uM2LHYp9mGINmIINqG24zZhl0g2KjYsdmC2LHYp9ixINin2LPYqtiMINio2LPbjNin2LEg2YLYp9io2YQg2KrZiNis2Ycg2KfYs9iqLiDYrtio2LHZhtqv2KfYsSDYp9mG2KrYrtin2Kgg2YXbjCDYp9mB2LLYp9uM2K/YmyDYr9ixINit2KfZhNuMINqG24zZhiDYqNmHINin24zZhiDYp9mC2K/Yp9mFINiv2LPYqiDYstiv2Ycg2KfYs9iqINqp2Ycg2YfZhdqp2KfYsduMINmH2KfbjCDYqtis2KfYsduMINmIINmG2LjYp9mF24wg2KfbjNix2KfZhiDYqNinINin24zZhiDaqdi02YjYsSDYqNi32YjYsSDYqNuMINiz2KfYqNmC2Ycg2KfbjCDYp9mB2LLYp9uM2LQg24zYp9mB2KrZhyDYp9iz2KouINuM2Kcg2KjYp9ioINin2YTYrdmI2KfYptisISEhISEg2LHYp9iv24zZiCDYstmF2KfZhtmHOiDahtuM2YYg2KjYpyDZiNis2YjYryDZhdiu2KfZhNmB2Kog2KjYpyDYqtit2LHbjNmF4oCM2YfYp9uMINi02K/bjNivINi02YjYsdin24wg2KfZhdmG24zYqiDYudmE24zZhyDYqtmH2LHYp9mG2Iwg2KfYt9mE2KfYudin2KrbjCDYr9ix2KjYp9ix2Ycg2KrZhNin2LTigIzZh9in24wg2KrZh9ix2KfZhiDYqNix2KfbjCDYs9in2K7YqiDYqtiz2YTbjNit2KfYqiDZh9iz2KrZh+KAjNin24wg2KjZhyDYotqY2KfZhtizINio24zZhuKAjNin2YTZhdmE2YTbjCDYp9mG2LHamNuMINin2KrZhduMINin2LHYp9im2Ycg2qnYsdiv2Ycg2KfYs9iqLiDYotiz2YjYtNuM2KrYr9m+2LHYsyDYqNinINin2LnZhNin2YUg2KfbjNmGINiu2KjYsSDYqNmHINmG2YLZhCDYp9iyINqG2YbYryDYr9uM2b7ZhNmF2KfYqiDYoti02YbYpyDYqNinINm+2LHZiNmG2K/ZhyDZh9iz2KrZh+KAjNin24wg2KfbjNix2KfZhiDZhtmI2LTYqtiMINm+2qnZhiDYqNmHINmH2YXYsdin2Ycg2YXYs9qp2Ygg2YfZhdmI2KfYsdmHINio2LEg2LPYsSDYsdin2Ycg2LTZiNix2KfbjCDYp9mF2YbbjNiqINmIINin2YXYsduM2qnYpyDYqNix2KfbjCDYp9i52YXYp9mEINmF2KzYp9iy2KfYqiDZh9in24wg2LPYrtiqINiq2LEg2LnZhNuM2Ycg2KrZh9ix2KfZhiDYqNmHINiv2YTbjNmEINmF2YLYp9mI2YXYqiDZh9iz2KrZhyDYp9uMINin24zZhiDaqdi02YjYsSDYqNmHINi12YjYsdiqINuM2qkg2YXYp9mG2Lkg2LnZhdmEINqp2LHYr9mH4oCM2KfZhtivLiDYp9uM2YYg2q/Ystin2LHYtCDZhduMINin2YHYstin24zYr9iMINiq2LXZhduM2YUg2obbjNmGINio2LHYp9uMINin2LHYp9im2Ycg2KfYt9mE2KfYudin2KrbjCDYrNmH2Kog2KfYs9iq2YHYp9iv2Ycg2K/YsSDYqtit2YLbjNmC2KfYqiDYotqY2KfZhtizINin2YbYsdqY24wg2KfYqtmF24wg2K/Ysdio2KfYsdmHINio2LHZhtin2YXZhyDYqtiz2YTbjNit2KfYqiDZh9iz2KrZh+KAjNin24wg2KfbjNix2KfZhtiMINqv2YjbjNin24wg2KfZgdiy2KfbjNi0INmG2KfYsdi22KfbjNiq24wg2KjbjNmG4oCM2KfZhNmF2YTZhNuMINiv2LHYqNin2LHZhyDYqNix2YbYp9mF2Ycg2YfYs9iq2YfigIzYp9uMINis2YXZh9mI2LHbjCDYp9iz2YTYp9mF24wg2KfYs9iqINqp2Ycg2K3YqtuMINiq2YTYp9i0INio2LHYp9uMINiz2KfYrtiqINqG2YbbjNmGINiq2LPZhNuM2K3Yp9iq24wg2LHYpyDZhtuM2LIg2Kraqdiw24zYqCDZhduM4oCM2qnZhtivLiDYqNixINin2LPYp9izINin24zZhiDar9iy2KfYsdi02Iwg2K/ZiCDYr9uM2b7ZhNmF2KfYqiDYqNmE2YbYr9m+2KfbjNmHINqp2Ycg2KfYsdiq2KjYp9i3INmG2LLYr9uM2qnbjCDYqNinINii2pjYp9mG2LMg2KjbjNmG4oCM2KfZhNmF2YTZhNuMINin2YbYsdqY24wg2KfYqtmF24wg2K/Yp9ix2YbYryDYp9uM2YYg2KfZgtiv2KfZhSDahtuM2YYg2LHYpyDYqNix2YXZhNinINqp2LHYr9mH4oCM2KfZhtivLiDYotqY2KfZhtizINio24zZhuKAjNin2YTZhdmE2YTbjCDYp9mG2LHamNuMINin2KrZhduMINin2LIg2KfYuNmH2KfYsSDZhti42LEg2K/YsSDYp9uM2YYg2KjYp9ix2Ycg2K7ZiNiv2K/Yp9ix24wg2qnYsdiv2Ycg2KfYs9iqLiDYp9mE2LnYrNioLiDZhdmGINmF2KfZhdmI2LEg2Ygg2YXYudiw2YjYsS4u2K3Yp9mE2Kcg2KfYsiDZvtiv2LEg2LnYsdmI2LMg2obZhtivINqp2YTZhdmHINio2LTZhtmI24zYrzog2LPYrtmG2q/ZiNuMINii2pjYp9mG2LMg2KjbjNmGINin2YTZhdmE2YTbjCDYp9mG2LHamNuMINin2KrZhduMINin2K/Yudin24wg2KjYsdiu24wg2KfYsiDYsdiz2KfZhtmHINmH2KfbjCDYutix2KjbjCDYsdinINiv2LHYqNin2LHZhyDYp9uM2YYg2qnZhyDahtuM2YYg2KfYt9mE2KfYudin2KrbjCDYsdinINiv2LHYqNin2LHZhyDYqNix2YbYp9mF2Ycg2YfYs9iq2Ycg2KfbjCDYp9uM2LHYp9mGINiv2LEg2KfYrtiq24zYp9ixINii2pjYp9mG2LMg2YLYsdin2LEg2K/Yp9iv2Ycg2KfYs9iqINiMINiq2qnYsNuM2Kgg2qnYsdivIC4g2YXZhNuM2LPYpyDZgdmE2YXbjNmG2q8g2K/YsSDar9mB2Kog2Ygg2q/ZiCDYqNinINiu2KjYsdmG2q/Yp9ixINmI2KfYrdivINmF2LHaqdiy24wg2K7YqNixINiq2KfaqduM2K8g2qnYsdivIDog2KLamNin2YbYsyDYqNuM2YYg2KfZhNmF2YTZhNuMINin2YbYsdqY24wg2KfYqtmF24wg2YfYsdqv2LIg2K/Ysdio2KfYsdmHINin2LfZhNin2LnYp9iqINmF2K3YsdmF2KfZhtmHINiv2LHbjNin2YHYqtuMINin2LIg2qnYtNmI2LHZh9inINin2LjZh9in2LEg2YbYuNixINmG2YXbjCDaqdmG2K8gLiDZiNuMINqv2YHYqjog2YfZhQorPC9saT4KKzwvdWw+PC9kaXY+Cis8L3RkPgorPC90cj4KKzwvdGFibGU+Cis8L3RkPgorPC90cj4KKzwvdGFibGU+Cis8L3RkPgorPC90cj4KKzwvdGFibGU+Cis8L3RkPgorPC90cj4KKzwvdGFibGU+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9IVE1ML3V0ZjhidWcuaHRtbC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9IVE1ML3V0ZjhidWcuaHRtbC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTZlZjA0NwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L0hUTUwvdXRmOGJ1Zy5odG1sLmVycgpAQCAtMCwwICsxLDE1IEBACisuL3Rlc3QvSFRNTC91dGY4YnVnLmh0bWw6NDU6IEhUTUwgcGFyc2VyIGVycm9yIDogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCis8aW1nIHNyYz0ic2hvd2ltYWdlLmFzcHg/cGF0aD1GaWxlc19VcGxvYWRcMTkyLnBuZyZ3aWR0aD0lPiIgYm9yZGVyPSIwIiAvPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCisuL3Rlc3QvSFRNTC91dGY4YnVnLmh0bWw6MTE4OiBIVE1MIHBhcnNlciBlcnJvciA6IGh0bWxQYXJzZUVudGl0eVJlZjogZXhwZWN0aW5nICc7JworCQkJCTxhIGhyZWY9InNob3dpbWFnZS5hc3B4P3BhdGg9RmlsZXNfVXBsb2FkXDMwMi5KUEcmV2lkdGg9IiByZWw9ImxpZ2h0Ym94IiB0aXQKKwkJCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgorLi90ZXN0L0hUTUwvdXRmOGJ1Zy5odG1sOjExOTogSFRNTCBwYXJzZXIgZXJyb3IgOiBodG1sUGFyc2VFbnRpdHlSZWY6IGV4cGVjdGluZyAnOycKKwkJCQk8aW1nIHNyYz0ic2hvd2ltYWdlLmFzcHg/cGF0aD1GaWxlc19VcGxvYWRcMzAyLkpQRyZXaWR0aD0yMjAiIGFsaWduPSJsZWZ0IiBiCisJCQkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCisuL3Rlc3QvSFRNTC91dGY4YnVnLmh0bWw6MTIxOiBIVE1MIHBhcnNlciBlcnJvciA6IFRhZyBzMSBpbnZhbGlkCivYsiDZh9mF2qnYp9ix2KfZhiDYp9iz2KouINix2YjbjCDYotmGINqp2YTbjNqpINqp2YbYry48L0ZPTlQ+PC9GT05UPjwvU1RST05HPjxTMQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9IVE1ML3V0ZjhidWcuaHRtbDoxNzc6IEhUTUwgcGFyc2VyIGVycm9yIDogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCiun24zZhiDZvtin2LPYriDYsdinINio2LHYp9uMINmG2YjbjNiz2YbYr9mHINmF2YLYp9mE2Ycg2LHYrNin2YbbjNmI2LIgY29weSZwYXN0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L0hUTUwvdXRmOGJ1Zy5odG1sLnNheCBiL2xpYnhtbDIvcmVzdWx0L0hUTUwvdXRmOGJ1Zy5odG1sLnNheApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNmNkYjE1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvSFRNTC91dGY4YnVnLmh0bWwuc2F4CkBAIC0wLDAgKzEsNzM3IEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5zdGFydEVsZW1lbnQoaHRtbCkKK1NBWC5pZ25vcmFibGVXaGl0ZXNwYWNlKAorCissIDIpCitTQVguc3RhcnRFbGVtZW50KGhlYWQpCitTQVguaWdub3JhYmxlV2hpdGVzcGFjZSgKKywgMSkKK1NBWC5zdGFydEVsZW1lbnQobWV0YSwgaHR0cC1lcXVpdj0nQ29udGVudC1MYW5ndWFnZScsIGNvbnRlbnQ9J2VuLXVzJykKK1NBWC5lbmRFbGVtZW50KG1ldGEpCitTQVguaWdub3JhYmxlV2hpdGVzcGFjZSgKKywgMSkKK1NBWC5zdGFydEVsZW1lbnQobWV0YSwgaHR0cC1lcXVpdj0nQ29udGVudC1UeXBlJywgY29udGVudD0ndGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04JykKK1NBWC5lbmRFbGVtZW50KG1ldGEpCitTQVguaWdub3JhYmxlV2hpdGVzcGFjZSgKKywgMSkKK1NBWC5zdGFydEVsZW1lbnQobGluaywgaHJlZj0nQ1NTLmNzcycsIHR5cGU9J3RleHQvY3NzJywgcmVsPSdzdHlsZXNoZWV0JykKK1NBWC5lbmRFbGVtZW50KGxpbmspCitTQVguaWdub3JhYmxlV2hpdGVzcGFjZSgKKywgMSkKK1NBWC5zdGFydEVsZW1lbnQobGluaywgcmVsPSdTSE9SVENVVCBJQ09OJywgaHJlZj0nZmF2aWNvbi5pY28nKQorU0FYLmVuZEVsZW1lbnQobGluaykKK1NBWC5pZ25vcmFibGVXaGl0ZXNwYWNlKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudCh0aXRsZSkKK1NBWC5jaGFyYWN0ZXJzKCYjMTU4ODsmIzE2MDc7JiMxNjEwOyYjMTU4NTsgLCAxNykKK1NBWC5lbmRFbGVtZW50KHRpdGxlKQorU0FYLmlnbm9yYWJsZVdoaXRlc3BhY2UoCissIDEpCitTQVguZW5kRWxlbWVudChoZWFkKQorU0FYLmlnbm9yYWJsZVdoaXRlc3BhY2UoCisKKywgMikKK1NBWC5zdGFydEVsZW1lbnQoYm9keSkKK1NBWC5jaGFyYWN0ZXJzKAorCissIDIpCitTQVguc3RhcnRFbGVtZW50KHRhYmxlLCBib3JkZXI9JzAnLCB3aWR0aD0nMTAwJScsIGlkPSdNYWluVEJMJywgY2VsbHNwYWNpbmc9JzAnLCBjZWxscGFkZGluZz0nMCcpCitTQVguY2hhcmFjdGVycygKKwksIDIpCitTQVguc3RhcnRFbGVtZW50KHRyKQorU0FYLmNoYXJhY3RlcnMoCisJCSwgMykKK1NBWC5zdGFydEVsZW1lbnQodGQsIGNsYXNzPSdIZWFkZXIxJykKK1NBWC5jaGFyYWN0ZXJzKAorCQksIDMpCitTQVguc3RhcnRFbGVtZW50KHRhYmxlLCBib3JkZXI9JzAnLCB3aWR0aD0nMTAwJScsIGNlbGxzcGFjaW5nPScwJywgY2VsbHBhZGRpbmc9JzAnLCBoZWlnaHQ9JzEwMCUnKQorU0FYLmNoYXJhY3RlcnMoCisJCQksIDQpCitTQVguc3RhcnRFbGVtZW50KHRyKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJLCA1KQorU0FYLnN0YXJ0RWxlbWVudCh0ZCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCSwgNSkKK1NBWC5zdGFydEVsZW1lbnQoaW1nLCBib3JkZXI9JzAnLCBzcmM9J1NoZWxsL1NoYWhpci5TaGFoaWRTYWxlczEucG5nJywgd2lkdGg9JzQ0MicsIGhlaWdodD0nMTEwJykKK1NBWC5lbmRFbGVtZW50KGltZykKK1NBWC5lbmRFbGVtZW50KHRkKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJLCA1KQorU0FYLnN0YXJ0RWxlbWVudCh0ZCkKK1NBWC5jaGFyYWN0ZXJzKCZuYnNwOywgMikKK1NBWC5lbmRFbGVtZW50KHRkKQorU0FYLmNoYXJhY3RlcnMoCisJCQksIDQpCitTQVguZW5kRWxlbWVudCh0cikKK1NBWC5jaGFyYWN0ZXJzKAorCQksIDMpCitTQVguZW5kRWxlbWVudCh0YWJsZSkKK1NBWC5jaGFyYWN0ZXJzKAorCQksIDMpCitTQVguZW5kRWxlbWVudCh0ZCkKK1NBWC5jaGFyYWN0ZXJzKAorCSwgMikKK1NBWC5lbmRFbGVtZW50KHRyKQorU0FYLmNoYXJhY3RlcnMoCisJLCAyKQorU0FYLnN0YXJ0RWxlbWVudCh0cikKK1NBWC5jaGFyYWN0ZXJzKAorCQksIDMpCitTQVguc3RhcnRFbGVtZW50KHRkLCBoZWlnaHQ9JzI4JykKK1NBWC5jaGFyYWN0ZXJzKAorCQkJLCA0KQorU0FYLnN0YXJ0RWxlbWVudChkaXYsIGlkPSdTaWRlQmFyMScpCitTQVguY2hhcmFjdGVycygKKwkJCQksIDUpCitTQVguc3RhcnRFbGVtZW50KHRhYmxlLCB3aWR0aD0nMTAwJScpCitTQVguY2hhcmFjdGVycygKKwkJCQksIDUpCitTQVguc3RhcnRFbGVtZW50KHRyKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJLCA1KQorU0FYLnN0YXJ0RWxlbWVudCh0ZCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCSAsIDYpCitTQVguc3RhcnRFbGVtZW50KHNwYW4sIGNsYXNzPSdJdGVtJykKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudChhLCBocmVmPSdJbmRleC5hc3AnKQorU0FYLmNoYXJhY3RlcnMoCismIzE1ODI7JiMxNTc1OyYjMTYwNjsmIzE2MDc7ICwgMTApCitTQVguZW5kRWxlbWVudChhKQorU0FYLmVuZEVsZW1lbnQoc3BhbikKK1NBWC5jaGFyYWN0ZXJzKCAsIDEpCitTQVguc3RhcnRFbGVtZW50KHNwYW4sIGNsYXNzPSdJdGVtJykKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudChhLCBocmVmPSdDb250YWN0LmFzcCcpCitTQVguY2hhcmFjdGVycygKKyYjMTU3ODsmIzE2MDU7JiMxNTc1OyYjMTU4NzsgLCAyMCkKK1NBWC5lbmRFbGVtZW50KGEpCitTQVguZW5kRWxlbWVudChzcGFuKQorU0FYLmNoYXJhY3RlcnMoICwgMSkKK1NBWC5zdGFydEVsZW1lbnQoc3BhbiwgY2xhc3M9J0l0ZW0nKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguc3RhcnRFbGVtZW50KGEsIGhyZWY9J0FyY2hpdmUuYXNwJykKK1NBWC5jaGFyYWN0ZXJzKAorJiMxNTcwOyYjMTU4NTsmIzE1ODg7JiMxNjEwOywgMTIpCitTQVguZW5kRWxlbWVudChhKQorU0FYLmVuZEVsZW1lbnQoc3BhbikKK1NBWC5jaGFyYWN0ZXJzKCAsIDEpCitTQVguc3RhcnRFbGVtZW50KHNwYW4sIGNsYXNzPSdJdGVtJykKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudChhLCBocmVmPSdTZWFyY2guYXNwJykKK1NBWC5jaGFyYWN0ZXJzKAorJiMxNTgwOyYjMTU4NzsmIzE1Nzg7JiMxNTgwOywgMjYpCitTQVguZW5kRWxlbWVudChhKQorU0FYLmVuZEVsZW1lbnQoc3BhbikKK1NBWC5jaGFyYWN0ZXJzKCAsIDEpCitTQVguc3RhcnRFbGVtZW50KHNwYW4sIGNsYXNzPSdJdGVtJykKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudChhLCBocmVmPSdodHRwOi8vc2hhaGlyYmxvZy5jb20vZGV0YWlsLmFzcD9pZD0zMCcpCitTQVguY2hhcmFjdGVycygKKyYjMTU4MzsmIzE1ODU7JiMxNTc2OyYjMTU3NTssIDE5KQorU0FYLmVuZEVsZW1lbnQoYSkKK1NBWC5lbmRFbGVtZW50KHNwYW4pCitTQVguY2hhcmFjdGVycyggLCAxKQorU0FYLnN0YXJ0RWxlbWVudChzcGFuLCBjbGFzcz0nSXRlbScpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5zdGFydEVsZW1lbnQoYSwgaHJlZj0nUlNTMi5hc3AnKQorU0FYLmNoYXJhY3RlcnMoCisKKywgMikKK1NBWC5lcnJvcjogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCitTQVguc3RhcnRFbGVtZW50KGltZywgc3JjPSdzaG93aW1hZ2UuYXNweD9wYXRoPUZpbGVzX1VwbG9hZFwxOTIucG5nJmFtcDt3aWR0aD0lJmd0OycsIGJvcmRlcj0nMCcpCitTQVguZW5kRWxlbWVudChpbWcpCitTQVguY2hhcmFjdGVycygKK1JTUyAsIDUpCitTQVguZW5kRWxlbWVudChhKQorU0FYLmVuZEVsZW1lbnQoc3BhbikKK1NBWC5jaGFyYWN0ZXJzKCAsIDEpCitTQVguc3RhcnRFbGVtZW50KHNwYW4sIGNsYXNzPSdJdGVtJykKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudChhLCBocmVmPScnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoYSkKK1NBWC5lbmRFbGVtZW50KHNwYW4pCitTQVguY2hhcmFjdGVycygKKwkJCQksIDUpCitTQVguZW5kRWxlbWVudCh0ZCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCSwgNSkKK1NBWC5zdGFydEVsZW1lbnQodGQsIGFsaWduPSdsZWZ0JykKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCSwgNSkKK1NBWC5zdGFydEVsZW1lbnQoZGl2LCBpZD0nRGF0ZVRpbWUnKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJLCA1KQorU0FYLnN0YXJ0RWxlbWVudChwLCBhbGlnbj0nbGVmdCcpCitTQVguY2hhcmFjdGVycygKKwkJCQksIDUpCitTQVguY2hhcmFjdGVycygmIzE2MTA7LCAyKQorU0FYLmNoYXJhY3RlcnMoJiMxNzA1OywgMikKK1NBWC5jaGFyYWN0ZXJzKCYjMTU4ODssIDIpCitTQVguY2hhcmFjdGVycygmIzE2MDY7LCAyKQorU0FYLmNoYXJhY3RlcnMoJiMxNTc2OywgMikKK1NBWC5jaGFyYWN0ZXJzKCYjMTYwNzssIDIpCitTQVguY2hhcmFjdGVycygmIzE1NDg7LCAyKQorU0FYLmNoYXJhY3RlcnMoJm5ic3A7LCAyKQorU0FYLmNoYXJhY3RlcnMoMTUsIDIpCitTQVguY2hhcmFjdGVycygmbmJzcDssIDIpCitTQVguY2hhcmFjdGVycygmIzE1NzU7LCAyKQorU0FYLmNoYXJhY3RlcnMoJiMxNTg1OywgMikKK1NBWC5jaGFyYWN0ZXJzKCYjMTU4MzssIDIpCitTQVguY2hhcmFjdGVycygmIzE2MTA7LCAyKQorU0FYLmNoYXJhY3RlcnMoJiMxNTc2OywgMikKK1NBWC5jaGFyYWN0ZXJzKCYjMTYwNzssIDIpCitTQVguY2hhcmFjdGVycygmIzE1ODg7LCAyKQorU0FYLmNoYXJhY3RlcnMoJiMxNTc4OywgMikKK1NBWC5jaGFyYWN0ZXJzKCZuYnNwOywgMikKK1NBWC5jaGFyYWN0ZXJzKDEzODcsIDQpCitTQVguY2hhcmFjdGVycygmbmJzcDssIDIpCitTQVguY2hhcmFjdGVycyggCisJCQkJLSwgNykKK1NBWC5jaGFyYWN0ZXJzKCZuYnNwOywgMikKK1NBWC5jaGFyYWN0ZXJzKCZuYnNwOywgMikKK1NBWC5jaGFyYWN0ZXJzKCAKKwkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHNwYW4sIGRpcj0nbHRyJykKK1NBWC5jaGFyYWN0ZXJzKFN1bmRheSwgTWF5IDA0LCAyMDA4LCAyMCkKK1NBWC5lbmRFbGVtZW50KHNwYW4pCitTQVguY2hhcmFjdGVycygKKwkJCQksIDUpCitTQVguZW5kRWxlbWVudChwKQorU0FYLmVuZEVsZW1lbnQoZGl2KQorU0FYLmNoYXJhY3RlcnMoCisJCQkJLCA1KQorU0FYLmVuZEVsZW1lbnQodGQpCitTQVguY2hhcmFjdGVycygKKwkJCQksIDUpCitTQVguZW5kRWxlbWVudCh0cikKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCSwgNSkKK1NBWC5lbmRFbGVtZW50KHRhYmxlKQorU0FYLmNoYXJhY3RlcnMoCisJCQksIDQpCitTQVguZW5kRWxlbWVudChkaXYpCitTQVguY2hhcmFjdGVycygKKwkJLCAzKQorU0FYLmVuZEVsZW1lbnQodGQpCitTQVguY2hhcmFjdGVycygKKwksIDIpCitTQVguZW5kRWxlbWVudCh0cikKK1NBWC5jaGFyYWN0ZXJzKAorCSwgMikKK1NBWC5zdGFydEVsZW1lbnQodHIpCitTQVguY2hhcmFjdGVycygKKwkJLCAzKQorU0FYLnN0YXJ0RWxlbWVudCh0ZCwgdmFsaWduPSd0b3AnKQorU0FYLmNoYXJhY3RlcnMoCisJCSwgMykKK1NBWC5zdGFydEVsZW1lbnQodGFibGUsIGJvcmRlcj0nMCcsIHdpZHRoPScxMDAlJywgY2VsbHNwYWNpbmc9JzAnLCBjZWxscGFkZGluZz0nMCcsIGlkPSdDb250ZW50JykKK1NBWC5jaGFyYWN0ZXJzKAorCQkJLCA0KQorU0FYLnN0YXJ0RWxlbWVudCh0cikKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCSwgNSkKK1NBWC5zdGFydEVsZW1lbnQodGQsIGNsYXNzPSdSaWdodCcsIHZhbGlnbj0ndG9wJywgc3R5bGU9J3BhZGRpbmctcmlnaHQ6IDYwcHgnKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodGFibGUsIHdpZHRoPScxMDAlJykKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQkJLCA3KQorU0FYLnN0YXJ0RWxlbWVudCh0cikKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQkJCSwgOCkKK1NBWC5zdGFydEVsZW1lbnQodGQsIHZhbGlnbj0ndG9wJykKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQkJCQkKKywgMTApCitTQVguc3RhcnRFbGVtZW50KHNjcmlwdCkKK1NBWC5jZGF0YSgKK3ZhciB0Z3MgPSBuZXcgQXJyYXkoICdkaXYnLCd0LCA1MzkpCitTQVguZW5kRWxlbWVudChzY3JpcHQpCitTQVguY2hhcmFjdGVycygKKworLCAyKQorU0FYLnN0YXJ0RWxlbWVudCh0YWJsZSwgd2lkdGg9JzEwMCUnLCBpZD0nTmV3c0RldGFpbCcpCitTQVguY2hhcmFjdGVycygKKwksIDIpCitTQVguc3RhcnRFbGVtZW50KHRyKQorU0FYLmNoYXJhY3RlcnMoCisJCSwgMykKK1NBWC5zdGFydEVsZW1lbnQodGQsIHZhbGlnbj0ndG9wJykKK1NBWC5jaGFyYWN0ZXJzKAorCQksIDMpCitTQVguc3RhcnRFbGVtZW50KGRpdiwgY2xhc3M9J05ld3NfSW5mbycpCitTQVguY2hhcmFjdGVycygKKwkJCSwgNCkKK1NBWC5jaGFyYWN0ZXJzKCYjMTU3ODssIDIpCitTQVguY2hhcmFjdGVycygmIzE1NzU7LCAyKQorU0FYLmNoYXJhY3RlcnMoJiMxNTg1OywgMikKK1NBWC5jaGFyYWN0ZXJzKCYjMTYxMDssIDIpCitTQVguY2hhcmFjdGVycygmIzE1ODI7LCAyKQorU0FYLmNoYXJhY3RlcnMoICwgMSkKK1NBWC5jaGFyYWN0ZXJzKCYjMTU4MzssIDIpCitTQVguY2hhcmFjdGVycygmIzE1ODU7LCAyKQorU0FYLmNoYXJhY3RlcnMoJiMxNTgwOywgMikKK1NBWC5jaGFyYWN0ZXJzKDogLCAyKQorU0FYLnN0YXJ0RWxlbWVudChmb250LCBjb2xvcj0nIzAwMDAwMCcpCitTQVguY2hhcmFjdGVycygmIzE2NzA7LCAyKQorU0FYLmNoYXJhY3RlcnMoJiMxNjA3OywgMikKK1NBWC5jaGFyYWN0ZXJzKCYjMTU3NTssIDIpCitTQVguY2hhcmFjdGVycygmIzE1ODU7LCAyKQorU0FYLmNoYXJhY3RlcnMoJiMxNTg4OywgMikKK1NBWC5jaGFyYWN0ZXJzKCYjMTYwNjssIDIpCitTQVguY2hhcmFjdGVycygmIzE1NzY7LCAyKQorU0FYLmNoYXJhY3RlcnMoJiMxNjA3OywgMikKK1NBWC5jaGFyYWN0ZXJzKCYjMTU0ODssIDIpCitTQVguY2hhcmFjdGVycygmbmJzcDssIDIpCitTQVguY2hhcmFjdGVycygyOSwgMikKK1NBWC5jaGFyYWN0ZXJzKCZuYnNwOywgMikKK1NBWC5jaGFyYWN0ZXJzKCYjMTU3NTssIDIpCitTQVguY2hhcmFjdGVycygmIzE1ODc7LCAyKQorU0FYLmNoYXJhY3RlcnMoJiMxNjAxOywgMikKK1NBWC5jaGFyYWN0ZXJzKCYjMTYwNjssIDIpCitTQVguY2hhcmFjdGVycygmIzE1ODM7LCAyKQorU0FYLmNoYXJhY3RlcnMoJm5ic3A7LCAyKQorU0FYLmNoYXJhY3RlcnMoMTM4NiAKKwkJCS0gV2VkbmVzZGF5LCBNYXJjaCAxOSwgMzYpCitTQVguZW5kRWxlbWVudChmb250KQorU0FYLmNoYXJhY3RlcnMoJm5ic3A7LCAyKQorU0FYLmNoYXJhY3RlcnMoJm5ic3A7LCAyKQorU0FYLmNoYXJhY3RlcnMoJm5ic3A7LCAyKQorU0FYLmNoYXJhY3RlcnMoJm5ic3A7LCAyKQorU0FYLmNoYXJhY3RlcnMoJm5ic3A7LCAyKQorU0FYLmNoYXJhY3RlcnMoIAorCQkJLCA1KQorU0FYLmNoYXJhY3RlcnMoJiMxNjA2OywgMikKK1NBWC5jaGFyYWN0ZXJzKCYjMTYwODssIDIpCitTQVguY2hhcmFjdGVycygmIzE2MTA7LCAyKQorU0FYLmNoYXJhY3RlcnMoJiMxNTg3OywgMikKK1NBWC5jaGFyYWN0ZXJzKCYjMTYwNjssIDIpCitTQVguY2hhcmFjdGVycygmIzE1ODM7LCAyKQorU0FYLmNoYXJhY3RlcnMoJiMxNjA3OywgMikKK1NBWC5jaGFyYWN0ZXJzKDogLCAyKQorU0FYLnN0YXJ0RWxlbWVudChmb250LCBjb2xvcj0nIzAwMDAwMCcpCitTQVguZW5kRWxlbWVudChmb250KQorU0FYLmNoYXJhY3RlcnMoJm5ic3A7LCAyKQorU0FYLmNoYXJhY3RlcnMoJm5ic3A7LCAyKQorU0FYLmNoYXJhY3RlcnMoJm5ic3A7LCAyKQorU0FYLmNoYXJhY3RlcnMoJm5ic3A7LCAyKQorU0FYLmNoYXJhY3RlcnMoJm5ic3A7LCAyKQorU0FYLmNoYXJhY3RlcnMoIAorCQkJLCA1KQorU0FYLmNoYXJhY3RlcnMoJiMxNTgzOywgMikKK1NBWC5jaGFyYWN0ZXJzKCYjMTYwMTssIDIpCitTQVguY2hhcmFjdGVycygmIzE1OTM7LCAyKQorU0FYLmNoYXJhY3RlcnMoJiMxNTc1OywgMikKK1NBWC5jaGFyYWN0ZXJzKCYjMTU3ODssIDIpCitTQVguY2hhcmFjdGVycyggLCAxKQorU0FYLmNoYXJhY3RlcnMoJiMxNjA1OywgMikKK1NBWC5jaGFyYWN0ZXJzKCYjMTU4ODssIDIpCitTQVguY2hhcmFjdGVycygmIzE1NzU7LCAyKQorU0FYLmNoYXJhY3RlcnMoJiMxNjA3OywgMikKK1NBWC5jaGFyYWN0ZXJzKCYjMTU4MzssIDIpCitTQVguY2hhcmFjdGVycygmIzE2MDc7LCAyKQorU0FYLmNoYXJhY3RlcnMoOiAsIDIpCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIGNvbG9yPScjMDAwMDAwJykKK1NBWC5jaGFyYWN0ZXJzKDI2ODgsIDQpCitTQVguZW5kRWxlbWVudChmb250KQorU0FYLmNoYXJhY3RlcnMoIAorCQkJLCA1KQorU0FYLmNoYXJhY3RlcnMoJiMxNTc2OywgMikKK1NBWC5jaGFyYWN0ZXJzKCYjMTU3NTssIDIpCitTQVguY2hhcmFjdGVycygmIzE1ODU7LCAyKQorU0FYLmNoYXJhY3RlcnMoJm5ic3A7LCAyKQorU0FYLmNoYXJhY3RlcnMoJm5ic3A7LCAyKQorU0FYLmNoYXJhY3RlcnMoJm5ic3A7LCAyKQorU0FYLmNoYXJhY3RlcnMoJm5ic3A7LCAyKQorU0FYLmNoYXJhY3RlcnMoJm5ic3A7LCAyKQorU0FYLmNoYXJhY3RlcnMoICwgMSkKK1NBWC5jaGFyYWN0ZXJzKCYjMTYwMzssIDIpCitTQVguY2hhcmFjdGVycygmIzE1ODM7LCAyKQorU0FYLmNoYXJhY3RlcnMoOiAsIDIpCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIGNvbG9yPScjMDAwMDAwJykKK1NBWC5jaGFyYWN0ZXJzKDM0MSwgMykKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguY2hhcmFjdGVycygKKwkJLCAzKQorU0FYLmVuZEVsZW1lbnQoZGl2KQorU0FYLmNoYXJhY3RlcnMoCisJCSwgMykKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5jaGFyYWN0ZXJzKAorCQksIDMpCitTQVguY29tbWVudCgKKwkJPGRpdj4mIzE1NzU7JiMxNjA2OyYjMTU4MzsmIzE1NzU7JiMxNTg2OyYjMTYwNzsgJiMxNjAxOyYjMTYwODsmIzE2MDY7JiMxNTc4OzombmJzcDsKKwkJPGEgaHJlZj0iamF2YXNjcmlwdDpDaGFuZ2VTaXplKCdOZXdzQm9keScsJzdwdCcpIj48Zm9udCBzaXplPSIxIj4mIzE3MDU7JiMxNjA4OyYjMTY3MDsmIzE3MDU7PC9mb250PjwvYT4mbmJzcDsKKwkJPGEgaHJlZj0iamF2YXNjcmlwdDpDaGFuZ2VTaXplKCdOZXdzQm9keScsJzEwcHQnKSI+PGZvbnQgc2l6ZT0iMiI+JiMxNjA1OyYjMTU5MzsmIzE2MDU7JiMxNjA4OyYjMTYwNDsmIzE3NDA7PC9mb250PjwvYT4mbmJzcDsKKwkJPGEgaHJlZj0iamF2YXNjcmlwdDpDaGFuZ2VTaXplKCdOZXdzQm9keScsJzEzcHQnKSI+PGZvbnQgc2l6ZT0iMyI+JiMxNTc2OyYjMTU4NjsmIzE1ODU7JiMxNzExOzwvZm9udD48L2E+Jm5ic3A7CisJCTwvZGl2PikKK1NBWC5jaGFyYWN0ZXJzKAorCQkKKworCQksIDcpCitTQVguc3RhcnRFbGVtZW50KGRpdiwgY2xhc3M9J1RpdHIxJykKK1NBWC5jaGFyYWN0ZXJzKAorCQkJICwgNSkKK1NBWC5lbmRFbGVtZW50KGRpdikKK1NBWC5jaGFyYWN0ZXJzKAorCQksIDMpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguY2hhcmFjdGVycygKKwkJLCAzKQorU0FYLnN0YXJ0RWxlbWVudChkaXYsIGlkPSdOZXdzQm9keScpCitTQVguY2hhcmFjdGVycygKKwkJCQorCQkJLCA4KQorU0FYLnN0YXJ0RWxlbWVudChkaXYsIGNsYXNzPSdJbWFnZScpCitTQVguY2hhcmFjdGVycygKKwkJCQkKKwkJCQksIDEwKQorU0FYLmVycm9yOiBodG1sUGFyc2VFbnRpdHlSZWY6IGV4cGVjdGluZyAnOycKK1NBWC5zdGFydEVsZW1lbnQoYSwgaHJlZj0nc2hvd2ltYWdlLmFzcHg/cGF0aD1GaWxlc19VcGxvYWRcMzAyLkpQRyZhbXA7V2lkdGg9JywgcmVsPSdsaWdodGJveCcsIHRpdGxlPScmIzE1ODg7JiMxNjA3OyYjMTYxMDsmIzE1ODU7ICYjMTU3NjsmIzE2MDQ7JiMxNTc1OyYjMTcxMTsnKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJLCA1KQorU0FYLmVycm9yOiBodG1sUGFyc2VFbnRpdHlSZWY6IGV4cGVjdGluZyAnOycKK1NBWC5zdGFydEVsZW1lbnQoaW1nLCBzcmM9J3Nob3dpbWFnZS5hc3B4P3BhdGg9RmlsZXNfVXBsb2FkXDMwMi5KUEcmYW1wO1dpZHRoPTIyMCcsIGFsaWduPSdsZWZ0JywgYm9yZGVyPScxJykKK1NBWC5lbmRFbGVtZW50KGltZykKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCSwgNSkKK1NBWC5lbmRFbGVtZW50KGEpCitTQVguZW5kRWxlbWVudChkaXYpCitTQVguY2hhcmFjdGVycygKKwkJCSwgNCkKK1NBWC5zdGFydEVsZW1lbnQoc3Ryb25nKQorU0FYLnN0YXJ0RWxlbWVudChmb250LCBzaXplPSc0JykKK1NBWC5zdGFydEVsZW1lbnQoZm9udCwgY29sb3I9JyMwMDAwZmYnKQorU0FYLmNoYXJhY3RlcnMoJiMxNTkzOyYjMTcwNTsmIzE1ODc7LCA2KQorU0FYLmVuZEVsZW1lbnQoZm9udCkKK1NBWC5jaGFyYWN0ZXJzKCAsIDEpCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIGNvbG9yPScjMDAwMGZmJykKK1NBWC5jaGFyYWN0ZXJzKCYjMTYwNTsmIzE1ODE7JiMxNTg5OyYjMTYwODssIDgxKQorU0FYLmVuZEVsZW1lbnQoZm9udCkKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguZW5kRWxlbWVudChzdHJvbmcpCitTQVguc3RhcnRFbGVtZW50KHMxKQorU0FYLmVycm9yOiBUYWcgczEgaW52YWxpZAorU0FYLmNoYXJhY3RlcnMoICAsIDIpCitTQVguZW5kRWxlbWVudChzMSkKK1NBWC5lbmRFbGVtZW50KGRpdikKK1NBWC5jaGFyYWN0ZXJzKAorCQksIDMpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguY2hhcmFjdGVycygKKwkJLCAzKQorU0FYLnN0YXJ0RWxlbWVudChkaXYsIGFsaWduPSdsZWZ0JykKK1NBWC5jaGFyYWN0ZXJzKAorCQkJLCA0KQorU0FYLnN0YXJ0RWxlbWVudChhLCBocmVmPSdwcmludGZyaWVuZGx5LmFzcD9pZD0zNDEnKQorU0FYLmNoYXJhY3RlcnMoCisJCQksIDQpCitTQVguc3RhcnRFbGVtZW50KGltZywgc3JjPSdzaGVsbC9QcmludEZyaWVuZGx5LnBuZycsIGJvcmRlcj0nMCcpCitTQVguZW5kRWxlbWVudChpbWcpCitTQVguZW5kRWxlbWVudChhKQorU0FYLmNoYXJhY3RlcnMoCisJCQksIDQpCitTQVguc3RhcnRFbGVtZW50KGEsIGhyZWY9JyMnLCBvbmNsaWNrPSd3aW5kb3cub3BlbigmYXBvcztTZW5kTmV3cy5hc3A/UGFnZUlEPTM0MSZhcG9zOywmYXBvcztteVdpbiZhcG9zOywmYXBvczt0b29sYmFyPW5vLGRpcmVjdG9yaWVzPW5vLGxvY2F0aW9uPW5vLHN0YXR1cz1ubyxtZW51YmFyPW5vLHJlc2l6YWJsZT15ZXMsc2Nyb2xsYmFycz1ubyx3aWR0aD01MDAsIGhlaWdodD0yMDAmYXBvczspOyByZXR1cm4gZmFsc2UnKQorU0FYLmNoYXJhY3RlcnMoCisJCQksIDQpCitTQVguc3RhcnRFbGVtZW50KGltZywgYm9yZGVyPScwJywgc3JjPSdTaGVsbC9TZW5kVG9GcmllbmRzLmpwZycsIHdpZHRoPScxNDAnLCBoZWlnaHQ9JzMwJykKK1NBWC5lbmRFbGVtZW50KGltZykKK1NBWC5jaGFyYWN0ZXJzKAorCQkJLCA0KQorU0FYLmVuZEVsZW1lbnQoYSkKK1NBWC5jaGFyYWN0ZXJzKAorCQksIDMpCitTQVguZW5kRWxlbWVudChkaXYpCitTQVguY2hhcmFjdGVycygKKwkJLCAzKQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLmNoYXJhY3RlcnMoCisJCSwgMykKK1NBWC5lbmRFbGVtZW50KHRkKQorU0FYLmNoYXJhY3RlcnMoCisJLCAyKQorU0FYLmVuZEVsZW1lbnQodHIpCitTQVguY2hhcmFjdGVycygKKwksIDIpCitTQVguc3RhcnRFbGVtZW50KHRyKQorU0FYLmNoYXJhY3RlcnMoCisJCSwgMykKK1NBWC5zdGFydEVsZW1lbnQodGQpCitTQVguY2hhcmFjdGVycyggLCAxKQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLmNoYXJhY3RlcnMoCisJCSwgMykKK1NBWC5zdGFydEVsZW1lbnQoaHIpCitTQVguZW5kRWxlbWVudChocikKK1NBWC5zdGFydEVsZW1lbnQoZGl2LCBpZD0nQ29tbWVudHMnKQorU0FYLnN0YXJ0RWxlbWVudCh1bCkKK1NBWC5zdGFydEVsZW1lbnQoYikKK1NBWC5jaGFyYWN0ZXJzKCYjMTYwNjssIDIpCitTQVguY2hhcmFjdGVycygmIzE1OTI7LCAyKQorU0FYLmNoYXJhY3RlcnMoJiMxNTg1OywgMikKK1NBWC5jaGFyYWN0ZXJzKCYjMTU3NTssIDIpCitTQVguY2hhcmFjdGVycygmIzE1Nzg7LCAyKQorU0FYLmNoYXJhY3RlcnMoCisJCSwgMykKK1NBWC5jaGFyYWN0ZXJzKCYjMTcwNTssIDIpCitTQVguY2hhcmFjdGVycygmIzE1NzU7LCAyKQorU0FYLmNoYXJhY3RlcnMoJiMxNTg1OywgMikKK1NBWC5jaGFyYWN0ZXJzKCYjMTU3NjssIDIpCitTQVguY2hhcmFjdGVycygmIzE1ODU7LCAyKQorU0FYLmNoYXJhY3RlcnMoJiMxNTc1OywgMikKK1NBWC5jaGFyYWN0ZXJzKCYjMTYwNjssIDIpCitTQVguY2hhcmFjdGVycyg6LCAxKQorU0FYLmVuZEVsZW1lbnQoYikKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5zdGFydEVsZW1lbnQobGkpCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIGNvbG9yPSdibHVlJykKK1NBWC5jaGFyYWN0ZXJzKCYjMTU4MTsmIzE1NzU7JiMxNTgwOyYjMTc0MDsgLCAyMikKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIHNpemU9JzEnKQorU0FYLmNoYXJhY3RlcnMoNC81LzIwMDggLQorCQk3OjA4OjAwIFBNLCAyMykKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguY2hhcmFjdGVycygmIzE1NzY7JiMxNTc1OyAmIzE1ODM7JiMxNTg1OywgMjgpCitTQVguY2hhcmFjdGVycygmbmJzcDssIDIpCitTQVguY2hhcmFjdGVycygmIzE1NzY7JiMxNTgzOyYjMTYwODsmIzE2MDY7ICwgNDc2KQorU0FYLmNoYXJhY3RlcnMoJnp3bmo7LCAzKQorU0FYLmNoYXJhY3RlcnMoJiMxNTg1OyYjMTU4NzsmIzE1ODM7ICYjMTU3MDssIDIwMykKK1NBWC5jaGFyYWN0ZXJzKCZ6d25qOywgMykKK1NBWC5jaGFyYWN0ZXJzKCYjMTYwMzsmIzE2MDY7JiMxNjEwOyYjMTYwNTsuICwgMjIyKQorU0FYLmNoYXJhY3RlcnMoJnp3bmo7LCAzKQorU0FYLmNoYXJhY3RlcnMoJiMxNjA3OyYjMTU3NTsmIzE2MTA7ICYjMTcxMTssIDQwMykKK1NBWC5jaGFyYWN0ZXJzKCZ6d25qOywgMykKK1NBWC5jaGFyYWN0ZXJzKCYjMTYwNzsmIzE1NzU7CisJCSYjMTU4MDssIDU2KQorU0FYLmNoYXJhY3RlcnMoJnp3bmo7LCAzKQorU0FYLmNoYXJhY3RlcnMoJiMxNzExOyYjMTU4NzsmIzE1ODc7JiMxNTc4OywgMjMwKQorU0FYLmNoYXJhY3RlcnMoJnp3bmo7LCAzKQorU0FYLmNoYXJhY3RlcnMoJiMxNjA3OyYjMTU3NTsgJiMxNjA4OyAmIzE2MDY7LCAyNDApCitTQVguY2hhcmFjdGVycygmenduajssIDMpCitTQVguY2hhcmFjdGVycygmIzE2MDM7JiMxNTg1OyYjMTU4MzsmIzE2MTA7LCAzOCkKK1NBWC5jaGFyYWN0ZXJzKCZ6d25qOywgMykKK1NBWC5jaGFyYWN0ZXJzKCYjMTU4NTsmIzE1ODc7JiMxNTgzOyAmIzE2MDM7LCAyMDkpCitTQVguY2hhcmFjdGVycygmenduajssIDMpCitTQVguY2hhcmFjdGVycygmIzE2MDM7JiMxNjA2OyYjMTYxMDsmIzE2MDU7LiAsIDI0MSkKK1NBWC5jaGFyYWN0ZXJzKCZ6d25qOywgMykKK1NBWC5jaGFyYWN0ZXJzKCYjMTU3NTsmIzE2MDY7JiMxNTgzOyAmIzE2MDg7ICwgMjIxKQorU0FYLmNoYXJhY3RlcnMoJnp3bmo7LCAzKQorU0FYLmNoYXJhY3RlcnMoJiMxNjA3OyYjMTU3NTsmIzE2MTA7ICYjMTU4MjssIDg0OCkKK1NBWC5lbmRFbGVtZW50KGxpKQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLnN0YXJ0RWxlbWVudChsaSkKK1NBWC5zdGFydEVsZW1lbnQoZm9udCwgY29sb3I9J2JsdWUnKQorU0FYLmNoYXJhY3RlcnMoJiMxNTg3OyYjMTc0MDsmIzE1NzU7JiMxNjA4OywgMTEpCitTQVguZW5kRWxlbWVudChmb250KQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLnN0YXJ0RWxlbWVudChmb250LCBzaXplPScxJykKK1NBWC5jaGFyYWN0ZXJzKDQvMy8yMDA4IC0gOToyODowMCBQTSwgMjEpCitTQVguZW5kRWxlbWVudChmb250KQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLmNoYXJhY3RlcnMoJiMxNjA1OyYjMTU4NTsmIzE1ODM7ICYjMTYwNzssIDY5MykKK1NBWC5jaGFyYWN0ZXJzKCIsIDEpCitTQVguY2hhcmFjdGVycygmIzE1ODA7JiMxNjA4OyAmIzE3MTE7JiMxNzQwOywgMTEpCitTQVguY2hhcmFjdGVycygiLCAxKQorU0FYLmNoYXJhY3RlcnMoICYjMTcwNTsmIzE2MDc7ICYjMTYwNzsmIzE1ODU7LCAxMDAwKQorU0FYLmNoYXJhY3RlcnMoICYjMTYwODsmIzE1NzU7JiMxNzQwOyAmIzE1NzY7LCA0NjApCitTQVguY2hhcmFjdGVycygiLCAxKQorU0FYLmNoYXJhY3RlcnMoJiMxNjA2OyYjMTYwNzssIDQpCitTQVguY2hhcmFjdGVycygiLCAxKQorU0FYLmNoYXJhY3RlcnMoJiMxNTc2OyYjMTcxMTsmIzE2MDg7JiMxNzQwOywgMjMzKQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguY2hhcmFjdGVycygmbmJzcDssIDIpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5zdGFydEVsZW1lbnQoZm9udCwgY29sb3I9JyM4MDAwMDAnKQorU0FYLmNoYXJhY3RlcnMoJiMxNTc2OyYjMTU4NzsmIzE3NDA7JiMxNTc1OywgNjcpCitTQVguZW5kRWxlbWVudChmb250KQorU0FYLmVuZEVsZW1lbnQobGkpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguc3RhcnRFbGVtZW50KGxpKQorU0FYLnN0YXJ0RWxlbWVudChmb250LCBjb2xvcj0nYmx1ZScpCitTQVguY2hhcmFjdGVycygmIzE1NzU7JiMxNTgxOyYjMTU4NzsmIzE1NzU7LCAyNikKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIHNpemU9JzEnKQorU0FYLmNoYXJhY3RlcnMoNC8zLzIwMDggLSA4OjIxOjAwIFBNLCAyMSkKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguY2hhcmFjdGVycygmIzE1NzY7JiMxNTc1OyAmIzE1ODc7JiMxNjA0OywgMjkxKQorU0FYLmNoYXJhY3RlcnMoIiwgMSkKK1NBWC5jaGFyYWN0ZXJzKCYjMTU3NjsmIzE1ODM7JiMxNjA4OyYjMTYwNjsgLCAyMykKK1NBWC5jaGFyYWN0ZXJzKCIsIDEpCitTQVguY2hhcmFjdGVycyggJiMxNjA4OyAsIDQpCitTQVguY2hhcmFjdGVycygiLCAxKQorU0FYLmNoYXJhY3RlcnMoICYjMTU3NTsmIzE1ODA7JiMxNTc1OyYjMTU4NjssIDMyKQorU0FYLmNoYXJhY3RlcnMoIiwgMSkKK1NBWC5jaGFyYWN0ZXJzKCAmIzE2MDg7ICwgNCkKK1NBWC5jaGFyYWN0ZXJzKCIsIDEpCitTQVguY2hhcmFjdGVycygmIzE1NzY7JiMxNTg3OyYjMTU4NTsmIzE1OTM7LCAxMCkKK1NBWC5jaGFyYWN0ZXJzKCIsIDEpCitTQVguY2hhcmFjdGVycyggJiMxNTQ4OyAmIzE2MDU7JiMxNTkzOyYjMTU4MzssIDEwMDEpCitTQVguY2hhcmFjdGVycygmIzE1ODM7ICYjMTYwNTsmIzE1ODU7JiMxNTgxOywgNDgxKQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguY2hhcmFjdGVycygmbmJzcDssIDIpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5zdGFydEVsZW1lbnQoZm9udCwgY29sb3I9JyM4MDAwMDAnKQorU0FYLmNoYXJhY3RlcnMoJiMxNTc1OyYjMTU4MTsmIzE1ODc7JiMxNTc1OywgNjAyKQorU0FYLmVuZEVsZW1lbnQoZm9udCkKK1NBWC5lbmRFbGVtZW50KGxpKQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLnN0YXJ0RWxlbWVudChsaSkKK1NBWC5zdGFydEVsZW1lbnQoZm9udCwgY29sb3I9J2JsdWUnKQorU0FYLmNoYXJhY3RlcnMoJiMxNTkzOyYjMTYwNTsmIzE1NzU7JiMxNTgzOyAsIDQxKQorU0FYLmVuZEVsZW1lbnQoZm9udCkKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5zdGFydEVsZW1lbnQoZm9udCwgc2l6ZT0nMScpCitTQVguY2hhcmFjdGVycyg0LzMvMjAwOCAtIDc6MTQ6MDAgUE0sIDIxKQorU0FYLmVuZEVsZW1lbnQoZm9udCkKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5jaGFyYWN0ZXJzKCYjMTU4ODsmIzE2MDc7JiMxNjEwOyYjMTU4NTsgLCAyMjcpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5jaGFyYWN0ZXJzKCZuYnNwOywgMikKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudChmb250LCBjb2xvcj0nIzgwMDAwMCcpCitTQVguY2hhcmFjdGVycygmIzE2MDU7JiMxNjA1OyYjMTYwNjsmIzE2MDg7LCA2OCkKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguZW5kRWxlbWVudChsaSkKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5zdGFydEVsZW1lbnQobGkpCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIGNvbG9yPSdibHVlJykKK1NBWC5jaGFyYWN0ZXJzKCYjMTU4MTsmIzE1ODc7JiMxNzQwOyYjMTYwNjs6LCA5KQorU0FYLmVuZEVsZW1lbnQoZm9udCkKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5zdGFydEVsZW1lbnQoZm9udCwgc2l6ZT0nMScpCitTQVguY2hhcmFjdGVycyg0LzMvMjAwOCAtIDc6MDQ6MDAgUE0sIDIxKQorU0FYLmVuZEVsZW1lbnQoZm9udCkKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5jaGFyYWN0ZXJzKCYjMTU4NzsmIzE2MDQ7JiMxNTc1OyYjMTYwNTsgLCA4MzQpCitTQVguZXJyb3I6IGh0bWxQYXJzZUVudGl0eVJlZjogZXhwZWN0aW5nICc7JworU0FYLmNoYXJhY3RlcnMoJmFtcDssIDEpCitTQVguY2hhcmFjdGVycyhwYXN0ZSwgNSkKK1NBWC5jaGFyYWN0ZXJzKCAsIDEpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguY2hhcmFjdGVycygKKyYjMTcwNTsmIzE2MDY7JiMxNjA1OyAmIzE3MTE7LCA0NDApCitTQVguZW5kRWxlbWVudChsaSkKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5zdGFydEVsZW1lbnQobGkpCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIGNvbG9yPSdibHVlJykKK1NBWC5jaGFyYWN0ZXJzKCYjMTU4MTsmIzE1NzU7JiMxNTgwOyYjMTc0MDsgLCAyMikKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIHNpemU9JzEnKQorU0FYLmNoYXJhY3RlcnMoNC8zLzIwMDggLSA2OjA2OjAwIFBNIEZPTyEsIDI2KQorU0FYLmVuZEVsZW1lbnQoZm9udCkKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5jaGFyYWN0ZXJzKCYjMTU3NjsmIzE1NzU7ICYjMTU4MzsmIzE1ODU7LCAxMDAwKQorU0FYLmNoYXJhY3RlcnMoJiMxNjg4OyYjMTU3NTsmIzE2MDY7JiMxNTg3OyAsIDk5OSkKK1NBWC5jaGFyYWN0ZXJzKCZ6d25qOywgMykKK1NBWC5jaGFyYWN0ZXJzKCYjMTYwNzsmIzE1NzU7JiMxNzQwOyAmIzE1ODg7LCA5OCkKK1NBWC5jaGFyYWN0ZXJzKCZ6d25qOywgMykKK1NBWC5jaGFyYWN0ZXJzKCYjMTYwNzsmIzE1NzU7JiMxNzQwOyAmIzE1Nzg7LCA1OSkKK1NBWC5jaGFyYWN0ZXJzKCZ6d25qOywgMykKK1NBWC5jaGFyYWN0ZXJzKCYjMTU3NTsmIzE3NDA7ICYjMTU3NjsmIzE2MDc7ICwgMjcpCitTQVguY2hhcmFjdGVycygmenduajssIDMpCitTQVguY2hhcmFjdGVycygmIzE1NzU7JiMxNjA0OyYjMTYwNTsmIzE2MDQ7LCAxODYpCitTQVguY2hhcmFjdGVycygmenduajssIDMpCitTQVguY2hhcmFjdGVycygmIzE1NzU7JiMxNzQwOyAmIzE1NzU7JiMxNzQwOywgMjk5KQorU0FYLmNoYXJhY3RlcnMoJnp3bmo7LCAzKQorU0FYLmNoYXJhY3RlcnMoJiMxNTc1OyYjMTYwNjsmIzE1ODM7LiAmIzE1NzU7LCAyMjMpCitTQVguY2hhcmFjdGVycygmenduajssIDMpCitTQVguY2hhcmFjdGVycygmIzE1NzU7JiMxNzQwOyAmIzE1NzU7JiMxNzQwOywgNjUpCitTQVguY2hhcmFjdGVycygmenduajssIDMpCitTQVguY2hhcmFjdGVycygmIzE1NzU7JiMxNjA0OyYjMTYwNTsmIzE2MDQ7LCA0NykKK1NBWC5jaGFyYWN0ZXJzKCZ6d25qOywgMykKK1NBWC5jaGFyYWN0ZXJzKCYjMTU3NTsmIzE3NDA7ICYjMTU4MDsmIzE2MDU7LCAxMzApCitTQVguY2hhcmFjdGVycygmenduajssIDMpCitTQVguY2hhcmFjdGVycygmIzE3MDU7JiMxNjA2OyYjMTU4MzsuICYjMTU3NjssIDEzMikKK1NBWC5jaGFyYWN0ZXJzKCZ6d25qOywgMykKK1NBWC5jaGFyYWN0ZXJzKCYjMTU3NTsmIzE2MDQ7JiMxNjA1OyYjMTYwNDssIDkzKQorU0FYLmNoYXJhY3RlcnMoJnp3bmo7LCAzKQorU0FYLmNoYXJhY3RlcnMoJiMxNTc1OyYjMTYwNjsmIzE1ODM7LiAmIzE1NzA7LCAyNSkKK1NBWC5jaGFyYWN0ZXJzKCZ6d25qOywgMykKK1NBWC5jaGFyYWN0ZXJzKCYjMTU3NTsmIzE2MDQ7JiMxNjA1OyYjMTYwNDssIDgxNCkKK1NBWC5lbmRFbGVtZW50KGxpKQorU0FYLmVuZEVsZW1lbnQodWwpCitTQVguZW5kRWxlbWVudChkaXYpCitTQVguZW5kRWxlbWVudCh0ZCkKK1NBWC5lbmRFbGVtZW50KHRyKQorU0FYLmVuZEVsZW1lbnQodGFibGUpCitTQVguZW5kRWxlbWVudCh0ZCkKK1NBWC5lbmRFbGVtZW50KHRyKQorU0FYLmVuZEVsZW1lbnQodGFibGUpCitTQVguZW5kRWxlbWVudCh0ZCkKK1NBWC5lbmRFbGVtZW50KHRyKQorU0FYLmVuZEVsZW1lbnQodGFibGUpCitTQVguZW5kRWxlbWVudCh0ZCkKK1NBWC5lbmRFbGVtZW50KHRyKQorU0FYLmVuZEVsZW1lbnQodGFibGUpCitTQVguZW5kRWxlbWVudChib2R5KQorU0FYLmVuZEVsZW1lbnQoaHRtbCkKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9IVE1ML3dpcmVkLmh0bWwgYi9saWJ4bWwyL3Jlc3VsdC9IVE1ML3dpcmVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzRkMzY2ZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L0hUTUwvd2lyZWQuaHRtbApAQCAtMCwwICsxLDU3NiBAQAorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLWh0bWw0MC9sb29zZS5kdGQiPgorPCEtLSBWaWduZXR0ZSBTdG9yeVNlcnZlciA0IEZyaSBPY3QgMTUgMTE6Mzc6MTIgMTk5OSAtLT48aHRtbD4KKzxoZWFkPjx0aXRsZT5Ub3AgU3RvcmllcyBOZXdzIGZyb20gV2lyZWQgTmV3czwvdGl0bGU+PC9oZWFkPgorPGJvZHkgYmdjb2xvcj0iI0ZGRkZGRiIgdGV4dD0iIzAwMDAwMCIgbGluaz0iIzMzMzM5OSIgdmxpbms9IiM2NjAwNjYiIGFsaW5rPSIjNjY2Njk5Ij4KKworPHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjYwMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIwIj4KKyAgPHRyPgorICAgIDx0ZCB2YWxpZ249InRvcCIgYWxpZ249IkxFRlQiPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjQ2OCIgaGVpZ2h0PSI2MCIgYmdjb2xvcj0iI0ZGRkZGRiI+Cis8Zm9ybSBtZXRob2Q9IkdFVCIgYWN0aW9uPSJodHRwOi8vbnNhZHMuaG90d2lyZWQuY29tL2V2ZW50Lm5nL1R5cGU9Y2xpY2smYW1wO1Byb2ZpbGVJRD05Njg4JmFtcDtSdW5JRD0xNDA3NCZhbXA7QWRJRD0yMjU4NCZhbXA7R3JvdXBJRD0xJmFtcDtGYW1pbHlJRD0yNjg0JmFtcDtUYWdWYWx1ZXM9OC4yNS4xNTYuMTU5LjE2Ni4xNzEuMTcyLjE3NC4xNzkuMTgwLjE4MS4xODIuMTgzLjE5Ni4xOTcuMTk5LjIwOC4zODkuNDEyLjQzNi4yMDQxLjY3NTAuNzg0NTYuNzk2MzAuODE4ODAmYW1wO1JlZGlyZWN0PWh0dHA6Ly93d3cuc3ByaW5nc3RyZWV0LmNvbS9hYS9jaXR5c2VhcmNoLmh0bSIgaWQ9ImZvcm0xIiBuYW1lPSJmb3JtMSI+DQorPHRyPgorPHRkIGJnY29sb3I9IiMzMzAwOTkiPjxpbnB1dCBuYW1lPSJjaXR5IiB0eXBlPSJ0ZXh0IiBzaXplPSI3IiBtYXhsZW5ndGg9IjIwIiB2YWx1ZT0iU2VhdHRsZSI+PC90ZD4NCis8dGQgcm93c3Bhbj0iMiIgYWxpZ249IkxFRlQiIGJnY29sb3I9IkZGRkZGRiI+PGlucHV0IHR5cGU9IklNQUdFIiBzcmM9Imh0dHA6Ly9zdGF0aWMud2lyZWQuY29tL2FkdmVydGlzaW5nL2JsaXB2ZXJ0cy9hbGxhcGFydG1lbnRzLzk5MDYyNWpwYV9zc3Rob21lLmdpZiIgd2lkdGg9IjM3NSIgaGVpZ2h0PSI2MCIgYm9yZGVyPSIwIiB2YWx1ZT0ic2VhcmNoIiBoc3BhY2U9IjAiIGFsdD0iU2VhcmNoIG92ZXIgNiwwMDAsMDAwIEFwdHMgd2l0aCBTcHJpbmdTdHJlZXQiPjwvdGQ+Cis8L3RyPg0KKzx0cj48dGQgYmdjb2xvcj0iIzMzMDA5OSI+DQorPHNlbGVjdCBuYW1lPSJzdGF0ZSI+DQorPG9wdGlvbiB2YWx1ZT0iV0EiIHNlbGVjdGVkPldBDQorPC9vcHRpb24+Cis8b3B0aW9uIHZhbHVlPSJBTCI+QUw8L29wdGlvbj4KKzxvcHRpb24gdmFsdWU9IkFLIj5BSzwvb3B0aW9uPg0KKzxvcHRpb24gdmFsdWU9IkFaIj5BWjwvb3B0aW9uPg0KKzxvcHRpb24gdmFsdWU9IkFSIj5BUjwvb3B0aW9uPg0KKzxvcHRpb24gdmFsdWU9IkNBIj5DQTwvb3B0aW9uPg0KKzxvcHRpb24gdmFsdWU9IkNPIj5DTzwvb3B0aW9uPg0KKzxvcHRpb24gdmFsdWU9IkNUIj5DVDwvb3B0aW9uPg0KKzxvcHRpb24gdmFsdWU9IkRFIj5ERTwvb3B0aW9uPg0KKzxvcHRpb24gdmFsdWU9IkRDIj5EQzwvb3B0aW9uPg0KKzxvcHRpb24gdmFsdWU9IkZMIj5GTDwvb3B0aW9uPg0KKzxvcHRpb24gdmFsdWU9IkdBIj5HQTwvb3B0aW9uPgorPG9wdGlvbiB2YWx1ZT0iSEkiPkhJPC9vcHRpb24+DQorPG9wdGlvbiB2YWx1ZT0iSUQiPklEPC9vcHRpb24+DQorPG9wdGlvbiB2YWx1ZT0iSUwiPklMPC9vcHRpb24+DQorPG9wdGlvbiB2YWx1ZT0iSU4iPklOPC9vcHRpb24+Cis8b3B0aW9uIHZhbHVlPSJJQSI+SUE8L29wdGlvbj4KKzxvcHRpb24gdmFsdWU9IktTIj5LUzwvb3B0aW9uPgorPG9wdGlvbiB2YWx1ZT0iS1kiPktZPC9vcHRpb24+DQorPG9wdGlvbiB2YWx1ZT0iTEEiPkxBPC9vcHRpb24+DQorPG9wdGlvbiB2YWx1ZT0iTUUiPk1FPC9vcHRpb24+Cis8b3B0aW9uIHZhbHVlPSJNRCI+TUQ8L29wdGlvbj4NCis8b3B0aW9uIHZhbHVlPSJNQSI+TUE8L29wdGlvbj4NCis8b3B0aW9uIHZhbHVlPSJNSSI+TUk8L29wdGlvbj4KKzxvcHRpb24gdmFsdWU9Ik1OIj5NTjwvb3B0aW9uPgorPG9wdGlvbiB2YWx1ZT0iTVMiPk1TPC9vcHRpb24+DQorPG9wdGlvbiB2YWx1ZT0iTU8iPk1PPC9vcHRpb24+DQorPG9wdGlvbiB2YWx1ZT0iTVQiPk1UPC9vcHRpb24+Cis8b3B0aW9uIHZhbHVlPSJORSI+TkU8L29wdGlvbj4NCis8b3B0aW9uIHZhbHVlPSJOViI+TlY8L29wdGlvbj4KKzxvcHRpb24gdmFsdWU9Ik5IIj5OSDwvb3B0aW9uPg0KKzxvcHRpb24gdmFsdWU9Ik5KIj5OSjwvb3B0aW9uPg0KKzxvcHRpb24gdmFsdWU9Ik5NIj5OTTwvb3B0aW9uPgorPG9wdGlvbiB2YWx1ZT0iTlkiPk5ZPC9vcHRpb24+DQorPG9wdGlvbiB2YWx1ZT0iTkMiPk5DPC9vcHRpb24+DQorPG9wdGlvbiB2YWx1ZT0iTkQiPk5EPC9vcHRpb24+DQorPG9wdGlvbiB2YWx1ZT0iT0giPk9IPC9vcHRpb24+Cis8b3B0aW9uIHZhbHVlPSJPSyI+T0s8L29wdGlvbj4NCis8b3B0aW9uIHZhbHVlPSJPUiI+T1I8L29wdGlvbj4NCis8b3B0aW9uIHZhbHVlPSJQQSI+UEE8L29wdGlvbj4NCis8b3B0aW9uIHZhbHVlPSJQUiI+UFI8L29wdGlvbj4KKzxvcHRpb24gdmFsdWU9IlJJIj5SSTwvb3B0aW9uPg0KKzxvcHRpb24gdmFsdWU9IlNDIj5TQzwvb3B0aW9uPiANCis8b3B0aW9uIHZhbHVlPSJTRCI+U0Q8L29wdGlvbj4KKzxvcHRpb24gdmFsdWU9IlROIj5UTjwvb3B0aW9uPgorPG9wdGlvbiB2YWx1ZT0iVFgiPlRYPC9vcHRpb24+DQorPG9wdGlvbiB2YWx1ZT0iVVQiPlVUPC9vcHRpb24+DQorPG9wdGlvbiB2YWx1ZT0iVlQiPlZUPC9vcHRpb24+DQorPG9wdGlvbiB2YWx1ZT0iVkEiPlZBPC9vcHRpb24+DQorPG9wdGlvbiB2YWx1ZT0iV0EiPldBPC9vcHRpb24+DQorPG9wdGlvbiB2YWx1ZT0iV1YiPldWPC9vcHRpb24+DQorPG9wdGlvbiB2YWx1ZT0iV0kiPldJPC9vcHRpb24+DQorPG9wdGlvbiB2YWx1ZT0iV1kiPldZPC9vcHRpb24+DQorPC9zZWxlY3Q+PGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ic291cmNlIiB2YWx1ZT0iMmhiOGJoYzA1OSI+DQorPC90ZD48L3RyPgorPC9mb3JtPg0KKzwvdGFibGU+PC90ZD4KKyAgICA8dGQgdmFsaWduPSJ0b3AiIGFsaWduPSJSSUdIVCI+PGEgaHJlZj0iaHR0cDovL25zYWRzLmhvdHdpcmVkLmNvbS9ldmVudC5uZy9UeXBlPWNsaWNrJmFtcDtQcm9maWxlSUQ9NTU5NyZhbXA7UnVuSUQ9MTcxNjcmYW1wO0FkSUQ9MjI1ODgmYW1wO0dyb3VwSUQ9MSZhbXA7RmFtaWx5SUQ9MzIyOCZhbXA7VGFnVmFsdWVzPTguMjUuMTU5LjE3MS4xNzIuMTc0LjE3OS4xODAuMTgxLjE4Mi4xODMuMTk2LjE5Ny4xOTkuMjA4LjI0MS4zODkuNDEyLjQzNi4yMDM1LjY3NDkuNjc1MC43MDM2Ny43ODQ1Ni43OTYzMC44MTg4MCZhbXA7UmVkaXJlY3Q9aHR0cDolMkYlMkZ3d3cuaHAuY29tJTJGZ28lMkZvcmlnaW5hbCUyMCIgdGFyZ2V0PSJfdG9wIj48aW1nIHNyYz0iaHR0cDovL3N0YXRpYy53aXJlZC5jb20vYWR2ZXJ0aXNpbmcvYmxpcHZlcnRzL2hwX2NvbG9yaW5ramV0L2hwXzk3MGNfMTIweDYwXzYuZ2lmIiBib3JkZXI9IjEiIGhlaWdodD0iNjAiIHdpZHRoPSIxMjAiIGFsdD0iVHJ1ZSB0byB0aGUgT3JpZ2luYWwiPjwvYT48L3RkPgorICA8L3RyPgorPC90YWJsZT4KKworPCEtLSBXSVJFRCBORVdTIGhlYWRlciAtLT4KKzwhLS0gQ01EX0hPU1QgPSBzY29vcC5ob3R3aXJlZC5jb20gLS0+CisKKzxhIG5hbWU9IiMiPjwvYT4KKzx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSI2MDAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMCI+CisKKyAgPHRyPgorPHRkPjwvdGQ+Cis8dGQgY29sc3Bhbj0iMiI+PGltZyBzcmM9Imh0dHA6Ly9zdGF0aWMud2lyZWQuY29tL25ld3MvaW1hZ2VzL3NwYWNlci5naWYiIGhlaWdodD0iNSIgd2lkdGg9IjQ0NyIgYWx0PSIiPjwvdGQ+Cis8L3RyPiAKKworIDx0cj4gCisgICAgICA8dGQgdmFsaWduPSJCT1RUT00iIGFsaWduPSJSSUdIVCIgY2xhc3M9IndpcmVkIiBiZ2NvbG9yPSIjRkZGRkZGIj48YSBocmVmPSIvbmV3cy8wLDEyODcsLDAwLmh0bWwiPjxpbWcgc3JjPSJodHRwOi8vc3RhdGljLndpcmVkLmNvbS9uZXdzL2ltYWdlcy93aXJlZF8wMDAwMDAuZ2lmIiB3aWR0aD0iMTUzIiBoZWlnaHQ9IjMwIiBib3JkZXI9IjAiPjwvYT48L3RkPgorICAgICAgPHRkIGJnY29sb3I9IiNGRjAwMDAiIHZhbGlnbj0iQk9UVE9NIiBhbGlnbj0iTEVGVCIgd2lkdGg9Ijk3Ij48YSBocmVmPSIvbmV3cy8wLDEyODcsLDAwLmh0bWwiPjxpbWcgc3JjPSJodHRwOi8vc3RhdGljLndpcmVkLmNvbS9uZXdzL2ltYWdlcy9uZXdzX2ZmZmZmZi5naWYiIHdpZHRoPSIxMDMiIGhlaWdodD0iMzAiIGJvcmRlcj0iMCI+PC9hPjwvdGQ+CisKKworPHRkIGJnY29sb3I9IiNGRjAwMDAiIGFsaWduPSJsZWZ0IiB2YWxpZ249ImNlbnRlciI+PG5vYnI+PGltZyBzcmM9Imh0dHA6Ly9zdGF0aWMud2lyZWQuY29tL25ld3MvaW1hZ2VzL3NwYWNlci5naWYiIHdpZHRoPSIzNDQiIGhlaWdodD0iMSI+PGJyPjxmb250IHNpemU9IjEiIGZhY2U9IlZlcmRhbmEsIEFyaWFsLCBHZW5ldmEsIHNhbnMtc2VyaWYiIGNvbG9yPSIjRkZGRkZGIj4mbmJzcDsmbmJzcDsmbmJzcDs8Yj51cGRhdGVkIDEwOjE1IGEubS4mbmJzcDsmbmJzcDsxNS5PY3QuOTkuUERUPC9iPjwvZm9udD48L25vYnI+PC90ZD4KKworCisgICAgICAgIDwvdHI+CisgICAgPHRyPiAKKyAgICAgIDx0ZCB2YWxpZ249Ik1JRERMRSIgYWxpZ249IlJJR0hUIiBiZ2NvbG9yPSIjRkZGRkZGIj48aW1nIHNyYz0iaHR0cDovL3N0YXRpYy53aXJlZC5jb20vbmV3cy9pbWFnZXMvc3BhY2VyLmdpZiIgd2lkdGg9IjEiIGhlaWdodD0iMzAiPjwvdGQ+CisgICAgICAKKyAgICAgIDx0ZCBjb2xzcGFuPSIyIiBiZ2NvbG9yPSIjOTk5OTk5Ij4KKworICAgICAgIDx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iNSI+Cis8Zm9ybSBuYW1lPSJSZWRpcmVjdFNlYXJjaCIgYWN0aW9uPSJodHRwOi8vcmVkaXJlY3Qud2lyZWQuY29tL3NlYXJjaCI+CisgICAgICAgICAgICAgICAgPHRyPiAgCisgICAgICAgICAgICA8dGQ+IAorPGZvbnQgZmFjZT0iY291cmllciIgc2l6ZT0iMSI+PGlucHV0IHR5cGU9IlRFWFQiIG5hbWU9InF1ZXJ5IiBzaXplPSIyMCIgdmFsdWU9IiI+PC9mb250PgorICAgICAgICAgICAgPC90ZD4KKworICAgICAgICAgICAgPHRkPgorPHNlbGVjdCBuYW1lPSJ1cmwiPgorCisgIDxvcHRpb24gdmFsdWU9Imh0dHA6Ly9zZWFyY2guaG90d2lyZWQuY29tL3NlYXJjaDk3L3M5Ny52dHM/QWN0aW9uPUZpbHRlclNlYXJjaCZhbXA7RmlsdGVyPWRvY3NfZmlsdGVyLmh0cyZhbXA7UmVzdWx0VGVtcGxhdGU9dmlnbmV0dGUuaHRzJmFtcDtDb2xsZWN0aW9uPXZpZ25ldHRlJmFtcDtRdWVyeU1vZGU9SW50ZXJuZXQmYW1wO1F1ZXJ5PSIgc2VsZWN0ZWQ+V2lyZWQgTmV3czwvb3B0aW9uPgorICA8b3B0aW9uIHZhbHVlPSJodHRwOi8vc2VhcmNoLmhvdHdpcmVkLmNvbS9zZWFyY2g5Ny9zOTcudnRzP0FjdGlvbj1GaWx0ZXJTZWFyY2gmYW1wO0ZpbHRlcj1kb2NzX2ZpbHRlci5odHMmYW1wO1Jlc3VsdFRlbXBsYXRlPXdlYm1vbmtleS5odHMmYW1wO0NvbGxlY3Rpb249d2VibW9ua2V5JmFtcDtRdWVyeU1vZGU9SW50ZXJuZXQmYW1wO1F1ZXJ5PSI+V2VibW9ua2V5PC9vcHRpb24+CisgPG9wdGlvbiB2YWx1ZT0iaHR0cDovL3NlYXJjaC5ob3R3aXJlZC5jb20vc2VhcmNoOTcvczk3LnZ0cz9jb2xsZWN0aW9uPXdlYm1vbmtleV9ndWlkZXMmYW1wO0FjdGlvbj1GaWx0ZXJTZWFyY2gmYW1wO2ZpbHRlcj1kb2NzX2ZpbHRlci5odHMmYW1wO1Jlc3VsdFRlbXBsYXRlPXdlYm1vbmtleV9ndWlkZXMuaHRzJmFtcDtRdWVyeU1vZGU9SW50ZXJuZXQmYW1wO1F1ZXJ5PSI+V2VibW9ua2V5IEd1aWRlczwvb3B0aW9uPgorIDxvcHRpb24gdmFsdWU9Imh0dHA6Ly9zZWFyY2guaG90d2lyZWQuY29tL3NlYXJjaDk3L3M5Ny52dHM/Y29sbGVjdGlvbj1ob3R3aXJlZCZhbXA7QWN0aW9uPUZpbHRlclNlYXJjaCZhbXA7ZmlsdGVyPWRvY3NfZmlsdGVyLmh0cyZhbXA7UmVzdWx0VGVtcGxhdGU9aG90d2lyZWRfYXJjaGl2ZS5odHMmYW1wO1F1ZXJ5TW9kZT1JbnRlcm5ldCZhbXA7UXVlcnk9Ij5Ib3RXaXJlZCBBcmNoaXZlczwvb3B0aW9uPgorICA8b3B0aW9uIHZhbHVlPSJodHRwOi8vc2VhcmNoLmhvdHdpcmVkLmNvbS9zZWFyY2g5Ny9zOTcudnRzP0FjdGlvbj1GaWx0ZXJTZWFyY2gmYW1wO0ZpbHRlcj1kb2NzX2ZpbHRlci5odHMmYW1wO1Jlc3VsdFRlbXBsYXRlPW1hZ2F6aW5lLmh0cyZhbXA7Q29sbGVjdGlvbj1tYWdhemluZSZhbXA7UXVlcnlNb2RlPUludGVybmV0JmFtcDtRdWVyeT0iPldpcmVkIE1hZ2F6aW5lPC9vcHRpb24+CisgIDxvcHRpb24gdmFsdWU9Imh0dHA6Ly9zZWFyY2guaG90d2lyZWQuY29tL3NlYXJjaDk3L3M5Ny52dHM/QWN0aW9uPUZpbHRlclNlYXJjaCZhbXA7RmlsdGVyPWRvY3NfZmlsdGVyLmh0cyZhbXA7UmVzdWx0VGVtcGxhdGU9YW5pbWF0aW9uLmh0cyZhbXA7Q29sbGVjdGlvbj1hbmltYXRpb24mYW1wO1F1ZXJ5TW9kZT1JbnRlcm5ldCZhbXA7UXVlcnk9Ij5BbmltYXRpb24gRXhwcmVzczwvb3B0aW9uPiAKKyA8b3B0aW9uIHZhbHVlPSJodHRwOi8vc2VhcmNoLmhvdHdpcmVkLmNvbS9zZWFyY2g5Ny9zOTcudnRzP2NvbGxlY3Rpb249c3VjayZhbXA7QWN0aW9uPUZpbHRlclNlYXJjaCZhbXA7ZmlsdGVyPWRvY3NfZmlsdGVyLmh0cyZhbXA7UmVzdWx0VGVtcGxhdGU9c3Vjay5odHMmYW1wO1F1ZXJ5TW9kZT1JbnRlcm5ldCZhbXA7UXVlcnk9Ij5TdWNrLmNvbTwvb3B0aW9uPgorIDxvcHRpb24gdmFsdWU9Imh0dHA6Ly9zZWFyY2guaG90d2lyZWQuY29tL3NlYXJjaDk3L3M5Ny52dHM/Y29sbGVjdGlvbj11YmVyX2hvdHdpcmVkJmFtcDtBY3Rpb249RmlsdGVyU2VhcmNoJmFtcDtmaWx0ZXI9ZG9jc19maWx0ZXIuaHRzJmFtcDtSZXN1bHRUZW1wbGF0ZT11YmVyX2hvdHdpcmVkLmh0cyZhbXA7UXVlcnlNb2RlPUludGVybmV0JmFtcDtRdWVyeT0iPkFsbCBvZiBIb3RXaXJlZDwvb3B0aW9uPgorIDxvcHRpb24gdmFsdWU9Imh0dHA6Ly93d3cuaG90Ym90LmNvbS8/U009TUMmYW1wO0RWPTAmYW1wO0xHPWFueSZhbXA7UkQ9UkcmYW1wO0RDPTEwJmFtcDtERT0yJmFtcDtfdj0yJmFtcDtPUHM9TURSVFAmYW1wO01UPSI+VGhlIFdlYiAtJmd0OyBIb3RCb3Q8L29wdGlvbj4KKzwvc2VsZWN0PgorCisKKworICAgICAgICAgICAgPC90ZD4KKyAgICAgICAgICAgIDx0ZD4gCisgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJTVUJNSVQiIG5hbWU9IlNVQk1JVCIgdmFsdWU9IlNFQVJDSCI+CisgICAgICAgICAgICA8L3RkPgorICAgICAgICAgIDwvdHI+CisgIDwvZm9ybT4gICAgICAgIAorICAgICAgIDwvdGFibGU+CisgICAgICAgICAgPC90ZD4KKyAgICAgICAgPC90cj4KKzwhLS0gCis8VFI+Cis8dGQ+PC90ZD4KKzxURCB2YWxpZ249IlRPUCIgYWxpZ249IkxFRlQiIGNvbHNwYW49IjMiIGJnY29sb3I9IiNGMEYwRjAiPjxpbWcgc3JjPSJodHRwOi8vc3RhdGljLndpcmVkLmNvbS9uZXdzL2ltYWdlcy9zcGFjZXIuZ2lmIiBoZWlnaHQ9MSB3aWR0aD0xNSBhbHQ9IiI+PGJyPgorPGk+PGZvbnQgZmFjZT0iVmVyZGFuYSwgQXJpYWwsIEdlbmV2YSwgc2Fucy1zZXJpZiIgc2l6ZT0iMiI+U3BvbnNvcmVkIGJ5PGEgaHJlZj0iIyI+U3VuIE1pY3Jvc3lzdGVtcy48L2E+IFdlJ3JlIHRoZSBkb3QgaW4gLmNvbTwvZm9udD48L2k+PGk+PC9pPjwvVEQ+Cis8L1RSPgorLS0+Cis8L3RhYmxlPgorPCEtLSBlbmQgV0lSRUQgTkVXUyBoZWFkZXIgLS0+CisKKzwhLS0gYmVnaW4gdXBwZXIgbGVmdCBzaWRlIE5hdmlnYXRpb24gLS0+CisKKzx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIzIiBjZWxsc3BhY2luZz0iMCIgYWxpZ249IkxFRlQiIGJnY29sb3I9IiNGRkZGRkYiPgorICA8dHI+IAorICAgIDx0ZCBiZ2NvbG9yPSIjRkYwMDAwIj48Zm9udCBzaXplPSIxIiBmYWNlPSJWZXJkYW5hLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmIiBjb2xvcj0iI0ZGRkZGRiI+IAorICAgICAgPGltZyBzcmM9Imh0dHA6Ly9zdGF0aWMud2lyZWQuY29tL25ld3MvaW1hZ2VzL3NwYWNlci5naWYiIHdpZHRoPSIxNDciIGhlaWdodD0iMSIgYm9yZGVyPSIwIj48YnI+PGI+U0VDVElPTlM8L2I+PC9mb250PjwvdGQ+CisgIDwvdHI+CisKKzx0cj48dGQgYmdjb2xvcj0iI0NDRkZDQyI+PGZvbnQgc2l6ZT0iMSIgZmFjZT0iVmVyZGFuYSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiIgY29sb3I9IiMwMDAwMDAiPjxhIGhyZWY9Ii9uZXdzL2J1c2luZXNzLzAsMTM2NywsMDAuaHRtbCI+QnVzaW5lc3M8L2E+PC9mb250PjwvdGQ+PC90cj4KKzx0cj48dGQgYmdjb2xvcj0iIzk5RkY5OSI+PGZvbnQgc2l6ZT0iMSIgZmFjZT0iVmVyZGFuYSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiIgY29sb3I9IiMwMDAwMDAiPjxhIGhyZWY9Ii9uZXdzL2N1bHR1cmUvMCwxMjg0LCwwMC5odG1sIj5DdWx0dXJlPC9hPjwvZm9udD48L3RkPjwvdHI+Cis8dHI+PHRkIGJnY29sb3I9IiNDQ0ZGQ0MiPjxmb250IHNpemU9IjEiIGZhY2U9IlZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYiIGNvbG9yPSIjMDAwMDAwIj48YSBocmVmPSIvbmV3cy90ZWNobm9sb2d5LzAsMTI4MiwsMDAuaHRtbCI+VGVjaG5vbG9neTwvYT48L2ZvbnQ+PC90ZD48L3RyPgorPHRyPjx0ZCBiZ2NvbG9yPSIjOTlGRjk5Ij48Zm9udCBzaXplPSIxIiBmYWNlPSJWZXJkYW5hLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmIiBjb2xvcj0iIzAwMDAwMCI+PGEgaHJlZj0iL25ld3MvcG9saXRpY3MvMCwxMjgzLCwwMC5odG1sIj5Qb2xpdGljczwvYT48L2ZvbnQ+PC90ZD48L3RyPgorPHRyPgorPHRkIGJnY29sb3I9IiNGRjAwMDAiPjxmb250IHNpemU9IjEiIGZhY2U9IlZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYiIGNvbG9yPSIjRkZGRkZGIj4KKzxiPldJUkUgU0VSVklDRSBORVdTPC9iPjwvZm9udD48L3RkPgorPC90cj4KKworPHRyPgorPHRkIGJnY29sb3I9IiM5OUZGOTkiPjxmb250IHNpemU9IjEiIGZhY2U9IlZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYiIGNvbG9yPSIjMDAwMDAwIj48YSBocmVmPSIvbmV3cy9uZXdzL3JldXRlcnMvIj5Ub3AgSGVhZGxpbmVzPC9hPjwvZm9udD48L3RkPgorPC90cj4KKworPHRyPgorPHRkIGJnY29sb3I9IiNDQ0ZGQ0MiPjxmb250IHNpemU9IjEiIGZhY2U9IlZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYiIGNvbG9yPSIjMDAwMDAwIj48YSBocmVmPSIvbmV3cy9uZXdzL3JldXRlcnMvc3BvcnRzLyI+U3BvcnRzPC9hPjwvZm9udD48L3RkPgorPC90cj4KKworPHRyPgorPHRkIGJnY29sb3I9IiM5OUZGOTkiPjxmb250IHNpemU9IjEiIGZhY2U9IlZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYiIGNvbG9yPSIjMDAwMDAwIj48YSBocmVmPSIvbmV3cy9uZXdzL3JldXRlcnMvYnVzaW5lc3MvIj5GaW5hbmNlPC9hPjwvZm9udD48L3RkPgorPC90cj4KKzwhLS0gRW5kIHVwcGVyIGxlZnQgbmF2IC0tPjwhLS0gQmVnaW4gbG93ZXIgTGVmdCBOYXYgLS0+CisgICAgPHRyPiAKKyAgICA8dGQgYmdjb2xvcj0iI0ZGMDAwMCI+PGZvbnQgZmFjZT0iVmVyZGFuYSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiIgY29sb3I9IiNGRkZGRkYiPiAKKyAgICAgIDxiPjxmb250IHNpemU9IjEiPkZSRUUgREVMSVZFUlk8L2ZvbnQ+PC9iPjwvZm9udD48L3RkPgorICAgIDwvdHI+CisgICAgPHRyPiAKKyAgICA8dGQgYmdjb2xvcj0iIzk5RkY5OSI+Cis8dGFibGUgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIwIiBib3JkZXI9IjAiPgorCQk8dHI+Cis8dGQgYmdjb2xvcj0iIzk5RkY5OSI+CisJCSA8Zm9ybSBhY3Rpb249Imh0dHA6Ly9yLmhvdHdpcmVkLmNvbS9yL2h3X3dtX3JfbmF2X253c2x0ci9odHRwOi8vcGVybC5ob3R3aXJlZC5jb20vbWFzc21haWwvY2dpUGFyc2VyLmNnaSIgbWV0aG9kPSJnZXQiIHRhcmdldD0iX3RvcCI+CisKKyA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJzdWNjZXNzX3BhZ2UiIHZhbHVlPSJodHRwOi8vd3d3LmhvdHdpcmVkLmNvbS9lbWFpbC9zaWdudXAvd2lyZWRuZXdzLWFzY2lpLmh0bWwiPgorIAorPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZmFpbHVyZV9wYWdlIiB2YWx1ZT0iaHR0cDovL3d3dy5ob3R3aXJlZC5jb20vZW1haWwvc2lnbnVwL3dpcmVkbmV3cy1hc2NpaS5odG1sIj4KKyAKKzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IkxJU1QiIHZhbHVlPSJ3bl9hc2NpaSI+Cis8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJTT1VSQ0UiIHZhbHVlPSJvdGhlciI+CisgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iQUNUSU9OIiB2YWx1ZT0ic3Vic2NyaWJlIj4KKyAKKzxpbnB1dCB0eXBlPSJURVhUIiBuYW1lPSJmcm9tIiBzaXplPSIxMCIgdmFsdWU9ImVudGVyIGVtYWlsIj4mbmJzcDsKKzwvZm9ybT4KKzwvdGQ+IAorCQk8dGQgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiM5OUZGOTkiPgorCQk8aW5wdXQgdHlwZT0iU1VCTUlUIiBuYW1lPSJTVUJNSVQiIHZhbHVlPSJHTyI+IAorCisgIDwvdGQ+CisJPC90cj4gICAgCis8L3RhYmxlPgorPC90ZD4KKyAgPC90cj4KKyAgPHRyPiAKKyAgICA8dGQgYmdjb2xvcj0iI0ZGMDAwMCI+PGZvbnQgZmFjZT0iVmVyZGFuYSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiIgY29sb3I9IiNGRkZGRkYiPiAKKyAgICAgIDxiPjxmb250IHNpemU9IjEiPlNUT0NLUzwvZm9udD48L2I+PC9mb250PjwvdGQ+CisgIDwvdHI+CisgIDx0cj4gCisgICAgPHRkIGJnY29sb3I9IiM5OUZGOTkiPjxmb250IGZhY2U9IlZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYiIHNpemU9IjEiPkdldCBRdW90ZTo8L2ZvbnQ+PC90ZD4KKyAgPC90cj4KKyAgPHRyPgorICAgIDx0ZCBiZ2NvbG9yPSIjOTlGRjk5IiBtYXJnaW53aWR0aD0iMCIgbWFyZ2luaGVpZ2h0PSIwIj48Zm9ybSBtZXRob2Q9ImdldCIgYWN0aW9uPSJodHRwOi8vci53aXJlZC5jb20vci8xMDAyMC9odHRwOi8vc3RvY2tzLndpcmVkLmNvbS9zdG9ja3NfcXVvdGVzLmFzcCI+Cis8aW5wdXQgdHlwZT0iVEVYVCIgbmFtZT0iU3ltYm9sIiBzaXplPSIxMiI+Jm5ic3A7PGlucHV0IHR5cGU9IlNVQk1JVCIgbmFtZT0ic3VibWl0IiB2YWx1ZT0iR08iPgorPC9mb3JtPjwvdGQ+CisgIDwvdHI+Cis8IS0tIEJFR0lOIEJVVFRPTiBBRFMgLS0+CisgIAorIDx0cj4KKzx0ZCBiZ2NvbG9yPSIjQ0NGRkNDIj4KKzxmb250IHNpemU9IjEiIGZhY2U9IlZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYiIGNvbG9yPSIjMDAwMDAwIj5GaW5hbmNpYWwgU2VydmljZXM8L2ZvbnQ+PGJyPgorPGNlbnRlcj4KKzxpbWcgc3JjPSJodHRwOi8vc3RhdGljLndpcmVkLmNvbS9uZXdzL2ltYWdlcy9zcGFjZXIuZ2lmIiBoZWlnaHQ9IjMiIHdpZHRoPSI1IiBhbHQ9IiI+PGJyPjxpbWcgc3JjPSJodHRwOi8vc3RhdGljLndpcmVkLmNvbS9uZXdzL2ltYWdlcy9idXR0b25fYWRzX25ld3MxMC5naWYiIHdpZHRoPSIxNDMiIGhlaWdodD0iNTYiIGJvcmRlcj0iMCIgYWx0PSIiIHVzZW1hcD0iI2J1dHRvbnMiIGhzcGFjZT0iMCIgdnNwYWNlPSIwIj4KKzwvY2VudGVyPgorCis8bWFwIG5hbWU9ImJ1dHRvbnMiPgorICAgICAgICA8YXJlYSBzaGFwZT0iUkVDVCIgYWx0PSJEYXRlayIgY29vcmRzPSIwLDAsNjksMjQiIGhyZWY9Imh0dHA6Ly9yLndpcmVkLmNvbS9yLzE2NDkvaHR0cDovL2FkczE2LmZvY2FsaW5rLmNvbS9TbWFydEJhbm5lci9wYWdlLzEyNjYuNjMxIj4KKyAgICAgICAgPGFyZWEgc2hhcGU9IlJFQ1QiIGFsdD0iV2lyZWQgSW5kZXggRnVuZCIgY29vcmRzPSI3MywwLDE0MiwyNCIgaHJlZj0iaHR0cDovL3Iud2lyZWQuY29tL3IvMjI3L2h0dHA6Ly93d3cuZ2ZmdW5kcy5jb20vd2lyZWQiPgorICAgICAgICA8YXJlYSBzaGFwZT0iUkVDVCIgYWx0PSJpbnRlcm5ldC5jb20gSW5kZXggRnVuZCIgY29vcmRzPSI3MywzMSwxNDIsNTUiIGhyZWY9Imh0dHA6Ly9yLndpcmVkLmNvbS9yLzI5OC9odHRwOi8vd3d3LmdmZnVuZHMuY29tL2lzZGV4LyI+CisgICAgICAgIDxhcmVhIHNoYXBlPSJSRUNUIiBhbHQ9IkdldFNtYXJ0J3MgTW9ydGdhZ2VGaW5kZXIiIGNvb3Jkcz0iMCwzMSw2OSw1NSIgaHJlZj0iaHR0cDovL3Iud2lyZWQuY29tL3IvMjk0L2h0dHA6Ly93d3cuZ2V0c21hcnRpbmMuY29tL21vcnRnYWdlL0hvbWVCYW5uZXI/QkFOTkVSTkFNRT13d3cuZ2V0c21hcnRpbmMuY29tL213aXJlZDAwMW02MDc1eDI1Ij48L21hcD4KKyAgICAgICAgPC90ZD4KKyAgPC90cj4gPCEtLSBFTkQgQlVUVE9OIEFEUyAtLT4KKyAgCisgIDx0cj4gCisgICAgPHRkIGJnY29sb3I9IiM5OUZGOTkiPjxmb250IHNpemU9IjEiIGZhY2U9IlZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYiIGNvbG9yPSIjMDAwMDAwIj48YSBocmVmPSJodHRwOi8vcmVkaXJlY3Qud2lyZWQuY29tL3JlZGlyLzUxL2h0dHA6Ly9zdG9ja3Mud2lyZWQuY29tLyI+VG9kYXkncyBTdW1tYXJ5PC9hPjwvZm9udD48L3RkPgorICA8L3RyPgorICA8dHI+IAorICAgIDx0ZCBiZ2NvbG9yPSIjQ0NGRkNDIj48Zm9udCBzaXplPSIxIiBmYWNlPSJWZXJkYW5hLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmIiBjb2xvcj0iIzAwMDAwMCI+PGEgaHJlZj0iaHR0cDovL3Iud2lyZWQuY29tL3IvaGJfZmluX3Jfd25fdG9wL2h0dHA6Ly9zdG9ja3Mud2lyZWQuY29tL3N0b2Nrc19pbmRleGVzX2RldGFpbC5hc3A/U3ltYm9sPSUyNFdJUkVEIj5XaXJlZCBJbmRleDwvYT4gfCA8YSBocmVmPSJodHRwOi8vcmVkaXJlY3Qud2lyZWQuY29tL3JlZGlyLzUyL2h0dHA6Ly9zdG9ja3Mud2lyZWQuY29tL3N0b2Nrc19pbmRleGVzLmFzcCUyMCI+QWxsIEluZGV4ZXM8L2E+PC9mb250PjwvdGQ+CisgIDwvdHI+CisgIDx0cj4gCisgICAgPHRkIGJnY29sb3I9IiM5OUZGOTkiPjxmb250IHNpemU9IjEiIGZhY2U9IlZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYiIGNvbG9yPSIjMDAwMDAwIj48YSBocmVmPSJodHRwOi8vcmVkaXJlY3Qud2lyZWQuY29tL3JlZGlyLzUzL2h0dHA6Ly9zdG9ja3Mud2lyZWQuY29tL3N0b2Nrc19wb3J0Zm9saW9zLmFzcCI+UG9ydGZvbGlvczwvYT48L2ZvbnQ+PC90ZD4KKyAgPC90cj4KKworPCEtLSBCRUdJTiBCJk4gc3BvdCAtLT4KKworPHRyPiAKKyA8dGQgYmdjb2xvcj0iI0ZGMDAwMCI+PGZvbnQgc2l6ZT0iMSIgZmFjZT0iVmVyZGFuYSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiIgY29sb3I9IiNGRkZGRkYiPjxiPkZJTkQgQSBCT09LPC9iPjwvZm9udD48L3RkPgorPC90cj4KKzx0cj48dGQgYmdjb2xvcj0iI0NDRkZDQyI+Cis8dGFibGUgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIwIiBib3JkZXI9IjAiIHdpZHRoPSIxNDUiPgorICAgICAgICAgICAgICAgIDx0cj48dGQgYmdjb2xvcj0iI0NDRkZDQyI+CisgICAgICAgICAgICAgICAgPGZvcm0gYWN0aW9uPSJodHRwOi8vci53aXJlZC5jb20vci93bl9uYXZfY19ibi9odHRwOi8vYmFybmVzYW5kbm9ibGUuYmZhc3QuY29tL2Jvb2tsaW5rL2NsaWNrIj4KKzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InNvdXJjZWlkIiB2YWx1ZT0iMzgzNDcxIj4KKzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImNhdGVnb3J5aWQiIHZhbHVlPSJjYXRlZ29yeWRyb3Bkb3duIj4KKyAgICAgICAgICAgICAgICA8Zm9udCBzaXplPSIyIj4KKyAgICAgICAgICAgICAgICA8c2VsZWN0IG5hbWU9IlN1YmplY3RzIiBzaXplPSI0Ij4KKzxvcHRpb24gdmFsdWU9IjMwMSI+QnVzaW5lc3MgVG9wIDIwCis8L29wdGlvbj4KKzxvcHRpb24gdmFsdWU9IjUwMCI+Q29tcHV0ZXJzCis8L29wdGlvbj4KKzxvcHRpb24gdmFsdWU9IjUwMyI+Q29tcHV0ZXIgR2FtZXMKKzwvb3B0aW9uPgorPG9wdGlvbiB2YWx1ZT0iMTYwNCI+Q3VycmVudCBBZmZhaXJzCis8L29wdGlvbj4KKzxvcHRpb24gdmFsdWU9IjUxMSI+Q3liZXJjdWx0dXJlCis8L29wdGlvbj4KKzxvcHRpb24gdmFsdWU9IjUxMCI+SW50ZXJuZXQvV2ViCis8L29wdGlvbj4KKzxvcHRpb24gdmFsdWU9IjMwMyI+SW52ZXN0aW5nCis8L29wdGlvbj4KKzxvcHRpb24gdmFsdWU9IjE2MDYiPkxhdworPC9vcHRpb24+Cis8b3B0aW9uIHZhbHVlPSI1MTMiPk11bHRpbWVkaWEKKworPC9vcHRpb24+Cis8b3B0aW9uIHZhbHVlPSIxNjA1Ij5OZXdzbWFrZXJzCis8L29wdGlvbj4KKzxvcHRpb24gdmFsdWU9IjE2MDciPlBvbGl0aWNzL0dvdnQuCisKKyA8L29wdGlvbj4KKzxvcHRpb24gdmFsdWU9IjMxNSI+IFdlYiBCdXNpbmVzcworICA8L29wdGlvbj4KKzxvcHRpb24gdmFsdWU9IjI4MDAiPiBCYXJnYWluIEJvb2tzCisgICAgICAgICAgICAgICAgICAgICAgICAKKzwvb3B0aW9uPgorPG9wdGlvbiB2YWx1ZT0iNCI+T3RoZXIgCisKKworCisgCisKKyA8L29wdGlvbj48L3NlbGVjdD48L2ZvbnQ+Cis8L2Zvcm0+Cis8L3RkPjwvdHI+CisgPHRyIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+CisgICAgICAgICAgICAgICAgPHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjQ0NGRkNDIj4gPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IkdPIj4KKworPGltZyBzcmM9Imh0dHA6Ly9iYXJuZXNhbmRub2JsZS5iZmFzdC5jb20vYm9va2xpbmsvc2VydmU/c291cmNlaWQ9MzgzNDcxJmFtcDtpc19zZWFyY2g9WSIgYm9yZGVyPSIwIiBhbGlnbj0idG9wIj4KKzwhLS0KKzxJTUcgU1JDPSJodHRwOi8vd3d3LndpcmVkLmNvbS9wYXJ0bmVyL2JuL3RyYWNraW5naW1nL290X3duX25hdl9jX2JuLmdpZiIgYm9yZGVyPTAgd2lkdGg9MSBoZWlnaHQ9MSBhbGlnbj10b3A+CistLT4KKzwvdGQ+CisgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvdHI+CisgICAgICAgICAgICAgICAgPHRyIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+CisgCisgICAgICAgIDx0ZCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiIGNvbHNwYW49IjIiIHJvd3NwYW49IjEiIGJnY29sb3I9IiNDQ0ZGQ0MiPgorPHA+CisgICAgICAgIDxmb250IHNpemU9IjEiIGZhY2U9IlZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsICIgY29sb3I9IiMwMDAwMDAiPlBvd2VyZWQgYnkgPGEgaHJlZj0iaHR0cDovL3Iud2lyZWQuY29tL3Ivd25fbmF2X2NfYm4vaHR0cDovL2Jhcm5lc2FuZG5vYmxlLmJmYXN0LmNvbS9ib29rbGluay9jbGljaz9zb3VyY2VpZD0zODM0NzEiPmJhcm5lc2FuZG5vYmxlLmNvbTwvYT4KKyA8L2ZvbnQ+Cis8YnIgY2xlYXI9ImFsbCI+CisKKworPC9wPgorPC90ZD4KKyAgICAgICAgPC90cj4gIAorICAgICAgICA8L3RhYmxlPgorCis8L3RkPjwvdHI+CisgPCEtLSBFTkQgQiZOIHNwb3QgLS0+ICAgCisgIAorPCEtLSBCRUdJTiBNQUdBWklORSBTUE9UIC0tPgorCisgPHRyPiAKKyAgICA8dGQgYmdjb2xvcj0iIzAwMDAwMCI+PGZvbnQgY29sb3I9IiNGRkZGRkYiIGZhY2U9IlZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYiIHNpemU9IjEiPjxiPldJUkVEIAorICAgICAgTUFHQVpJTkUgPC9iPjwvZm9udD48L3RkPgorICA8L3RyPgorPHRyPiAKKzx0ZCBiZ2NvbG9yPSIjRkZGRjk5IiBhbGlnbj0iQ0VOVEVSIj4KKzxmb250IGZhY2U9InZlcmRhbmEsIGFyaWFsLCBoZWx2ZXRpY2EsIHNhbnMtc2VyaWYiIHNpemU9IjEiPgorPGI+Cis8YnI+CisKKzxhIGhyZWY9Imh0dHA6Ly93d3cud2lyZWQuY29tL3dpcmVkLyI+PGltZyBzcmM9Imh0dHA6Ly9zdGF0aWMud2lyZWQuY29tL25ld3MvaW1hZ2VzL3dpcmVkY292ZXIuZ2lmIiB3aWR0aD0iOTEiIGhlaWdodD0iMTA5IiBib3JkZXI9IjAiIGFsdD0iV2lyZWQgTWFnYXppbmUiPjwvYT48YnI+PC9iPgorCitJc3N1ZSA3LjExCis8L2ZvbnQ+Cis8L3RkPgorPC90cj4KKworPHRyPiAKKzx0ZCBiZ2NvbG9yPSIjRkZGRjk5IiBhbGlnbj0iY2VudGVyIj4KKzxmb250IGZhY2U9InZlcmRhbmEsIGFyaWFsLCBoZWx2ZXRpY2EsIHNhbnMtc2VyaWYiIHNpemU9IjEiPiAKKworPGEgaHJlZj0iaHR0cDovL3d3dy53aXJlZC5jb20vd2lyZWQvc3Vic2NyaWJlL3NwZWNpYWwvNzlXTiI+U3Vic2NyaWJlIHRvIFdpcmVkLjxicj5TcGVjaWFsIG9mZmVyITwvYT4KKworCis8L2ZvbnQ+Cis8L3RkPgorPC90cj4KKzwhLS0gRU5EIE1BR0FaSU5FIFNQT1QgLS0+CisKKyAgPHRyPgorICAgIDx0ZCBiZ2NvbG9yPSIjMDAwMDAwIj4gCisgICAgPGZvbnQgc2l6ZT0iMSIgZmFjZT0iVmVyZGFuYSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiIgY29sb3I9IiNGRkZGRkYiPjxiPkhPVFdJUkVEPC9iPjwvZm9udD4KKzwvdGQ+CisgIDwvdHI+CisgIDx0cj4gCisgICAgPHRkIGJnY29sb3I9IiNGRkZGOTkiPiA8Zm9udCBzaXplPSIxIiBmYWNlPSJWZXJkYW5hLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmIiBjb2xvcj0iIzAwMDAwMCI+Cis8YSBocmVmPSJodHRwOi8vd3d3LmhvdHdpcmVkLmNvbS8iPkZyb250ZG9vcjwvYT48YnI+Cis8YSBocmVmPSJodHRwOi8vd3d3LmhvdHdpcmVkLmNvbS93ZWJtb25rZXkvIj5XZWJtb25rZXk8L2E+PGJyPgorPGEgaHJlZj0iaHR0cDovL3d3dy5ob3R3aXJlZC5jb20vd2VibW9ua2V5L2d1aWRlcy9pbmRleC5odG1sIj5XZWJtb25rZXkgR3VpZGVzPC9hPjxicj4KKzxhIGhyZWY9Imh0dHA6Ly93d3cuaG90d2lyZWQuY29tL3JnYi8iPlJHQiBHYWxsZXJ5PC9hPjxicj4KKzxhIGhyZWY9Imh0dHA6Ly93d3cuaG90d2lyZWQuY29tL2FuaW1hdGlvbi8iPkFuaW1hdGlvbiBFeHByZXNzPC9hPjxicj4KKzxhIGhyZWY9Imh0dHA6Ly9nby5zdWNrLmNvbS9zdV93bmZkIj5TdWNrLmNvbTwvYT48YnI+Cis8L2ZvbnQ+Cis8L3RkPgorICA8L3RyPgorICAKKyAgICA8dHI+CisgICAgPHRkIGJnY29sb3I9IiMwMDAwMDAiPiAKKyAgICA8Zm9udCBzaXplPSIxIiBmYWNlPSJWZXJkYW5hLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmIiBjb2xvcj0iI0ZGRkZGRiI+PGI+SE9UQk9UPC9iPjwvZm9udD4KKzwvdGQ+CisgIDwvdHI+CisgIDx0cj4gCisgICAgPHRkIGJnY29sb3I9IiNGRkZGOTkiPiA8Zm9udCBzaXplPSIxIiBmYWNlPSJWZXJkYW5hLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmIiBjb2xvcj0iIzAwMDAwMCI+Cis8YSBocmVmPSJodHRwOi8vcmVkaXJlY3Qud2lyZWQuY29tL3JlZGlyLzU0L2h0dHA6Ly93d3cuaG90Ym90LmNvbS8iPlNlYXJjaDwvYT48YnI+Cis8YSBocmVmPSJodHRwOi8vc2hvcC5ob3Rib3QuY29tLyI+U2hvcHBpbmc8L2E+PGJyPgorPC9mb250PgorPC90ZD4KKyAgPC90cj4KKyAgCisgIDx0cj4KKzx0ZD4KKyAgPGJyPgorICA8Zm9udCBmYWNlPSJWZXJkYW5hLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmIiBzaXplPSIxIj4KKyAgPGZvbnQgZmFjZT0iVmVyZGFuYSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiIgc2l6ZT0iMSI+CisgIFdpcmVkIE5ld3MgPGEgaHJlZj0iL25ld3Mvd2hvLzAsMTM2MiwsMDAuaHRtbCI+c3RhZmY8L2E+PGJyPjxicj4KKworICA8IS0tIFdpcmVkIE5ld3MgaXMgPGEgaHJlZj0iaHR0cDovL3d3dy53aXJlZC5jb20vbmV3cy9qb2JzLmh0bWwiPmhpcmluZzwvYT48YnI+PGJyPiAtLT4KKworICA8Yj48YSBocmVmPSIvbmV3cy9mZWVkYmFjay8wLDEzNjQsLDAwLmh0bWwiPkNvbnRhY3QgdXM8L2E+PC9iPjwvZm9udD4KKworICAKKyAgPGJyPjxicj4KKyAgCisgIDxmb250IGZhY2U9IlZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYiIHNpemU9IjEiPldpcmVkIE5ld3MgIGRlbGl2ZXJlZDxicj5ieSA8YSBocmVmPSIvbmV3cy9wYWxtcGlsb3QvMCwxMzY1LCwwMC5odG1sIj5QYWxtUGlsb3Q8L2E+LDxicj48YSBocmVmPSJodHRwOi8vd3d3LmhvdHdpcmVkLmNvbS9lbWFpbC9zaWdudXAvd25fb3V0bG9vay5odG1sIj5PdXRsb29rICBFeHByZXNzPC9hPiw8YnI+PGEgaHJlZj0iaHR0cDovL3JlZGlyZWN0LndpcmVkLmNvbS9yZWRpci81NS9odHRwOi8vZm9ybS5uZXRzY2FwZS5jb20vaWJkL2h0bWwvaWJkX2ZyYW1lc2V0Lmh0bWwiPkluLUJveCBEaXJlY3Q8L2E+LDxicj4KK29yIDxhIGhyZWY9Ii9uZXdzL3BvaW50Y2FzdC8wLDEzNjYsLDAwLmh0bWwiPlBvaW50Q2FzdDwvYT48L2ZvbnQ+PGJyPgorCis8IS0tIFRSQUNLSU5HIC0tPgorPGltZyBzcmM9Imh0dHA6Ly93d3cud2lyZWQuY29tL3NwZWNpYWwvbW9keC9uZXdzLmdpZiIgaGVpZ2h0PSIxIiB3aWR0aD0iMSIgYWx0PSIiPgorPC9mb250PgorPC90ZD4KKyAgPC90cj4KKworPC90YWJsZT4KKworPCEtLSBlbmQgbG93ZXIgbGVmdCBzaWRlIE5hdmlnYXRpb24gLS0+Cis8IS0tIENPTlRFTlQgVEFCTEUgLS0+CisKKzx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSI0NDciIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMCIgYm9yZGVyY29sb3I9IiM2NkZGMDAiPgorIDx0cj4KKyAgPHRkIHZhbGlnbj0iVE9QIiBhbGlnbj0iTEVGVCIgcm93c3Bhbj0iMiI+CisgICA8aW1nIHNyYz0iaHR0cDovL3N0YXRpYy53aXJlZC5jb20vbmV3cy9pbWFnZXMvc3BhY2VyLmdpZiIgaGVpZ2h0PSIxIiB3aWR0aD0iMTUiIGFsdD0iIj48YnI+CisgIDwvdGQ+CisgIDx0ZCBjb2xzcGFuPSIzIiB2YWxpZ249IlRPUCIgYWxpZ249IkxFRlQiPgorPGltZyBzcmM9Imh0dHA6Ly9zdGF0aWMud2lyZWQuY29tL25ld3MvaW1hZ2VzL3NwYWNlci5naWYiIGhlaWdodD0iNyIgd2lkdGg9IjQzMiIgYWx0PSIiPjxicj4KKworCis8IS0tIFNRTCBxdWVyeSBmb3IgUGFja2FnZSBoZXJlIC0tPgorCis8Zm9udCBmYWNlPSJWZXJkYW5hLCBBcmlhbCwgR2VuZXZhLCBzYW5zLXNlcmlmIiBzaXplPSIyIj48Yj48aT5Ob21hZCdzIExhbmQ8L2k+PC9iPjwvZm9udD48YnI+PGltZyBzcmM9Imh0dHA6Ly9zdGF0aWMud2lyZWQuY29tL25ld3MvaW1hZ2VzL3BpeDE1NS5naWYiIGhlaWdodD0iMTAiIHdpZHRoPSIxNTUiIGFsdD0iIj48YnI+PCEtLSBJQkRfU1VCSkVDVDogSG9tZWxlc3MsIGJ1dCBJRCdkLCBpbiBTZWF0dGxlIC0tPjxmb250IGZhY2U9IkFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYiIHNpemU9IjUiPjxiPjxhIGhyZWY9Ii9uZXdzL3BvbGl0aWNzLzAsMTI4MywzMTkxMSwwMC5odG1sIj5Ib21lbGVzcywgYnV0IElEJ2QsIGluIFNlYXR0bGU8L2E+PC9iPjwvZm9udD48YnI+PGZvbnQgc2l6ZT0iMSIgZmFjZT0iVmVyZGFuYSwgQXJpYWwsIEdlbmV2YSwgc2Fucy1zZXJpZiIgY29sb3I9IiNGRjAwMDAiPjg6MTUgYS5tLjwvZm9udD4mbmJzcDs8Zm9udCBmYWNlPSJWZXJkYW5hLCBBcmlhbCwgR2VuZXZhLCBzYW5zLXNlcmlmIiBzaXplPSIyIj5UaGUgY2l0eSBjb3VuY2lsIGFwcHJvdmVzIGEgcGxhbiB0byB0cmFjayB0aGUgaG9tZWxlc3MgYnkgYSBudW1iZXJpbmcgc3lzdGVtLCBzYXlpbmcgaXQnbGwgaW1wcm92ZSBzZXJ2aWNlcy4gVGhlIGltcGxpY2F0aW9ucyB3b3JyeSBwcml2YWN5IGFkdm9jYXRlcywgbmF0dXJhbGx5LiBCeSBDcmFpZyBCaWNrbmVsbC48L2ZvbnQ+PGJyPjxmb250IGZhY2U9IlZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYiIHNpemU9IjEiPjxpPjxhIGhyZWY9Ii9uZXdzL3BvbGl0aWNzLzAsMTI4MywsMDAuaHRtbCI+aW4mbmJzcDtQb2xpdGljczwvYT48L2k+PC9mb250Pjxicj48dGFibGUgYmdjb2xvcj0iI0YwRjBGMCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiBib3JkZXI9IjAiIHdpZHRoPSIxNDciIGFsaWduPSJSSUdIVCI+CisgPCEtLSBDb21tZW50YXJ5IEZyYWcgQmVnaW4gLS0+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQgYmdjb2xvcj0iIzAwMDAwMCI+Jm5ic3A7PC90ZD4KKyAgICAgICAgICA8dGQgYmdjb2xvcj0iIzAwMDAwMCI+PGZvbnQgc2l6ZT0iMSIgZmFjZT0iVmVyZGFuYSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiIgY29sb3I9IiNGRkZGRkYiPjxiPkhJVFMgJmFtcDsgTUlTQy48L2I+PC9mb250PjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8dGQ+Jm5ic3A7PC90ZD4KKyAgICAgICAgICA8dGQ+Cis8aW1nIHNyYz0iaHR0cDovL3N0YXRpYy53aXJlZC5jb20vbmV3cy9pbWFnZXMvc3BhY2VyLmdpZiIgaGVpZ2h0PSI1IiB3aWR0aD0iNSIgYWx0PSIiPjxicj4KKworCQk8Zm9udCBzaXplPSIyIiBmYWNlPSJBcmlhbCxIZWx2ZXRpY2EsIHNhbnMtc2VyaWYiPjxiPjxhIGhyZWY9Ii9uZXdzL2NvbW1lbnRhcnlTZWN0aW9uLzAsMTI5MiwzMTY2NCwwMC5odG1sIj5DYWxlbmRhciBvZiBFLVZlbnRzPC9hPjwvYj48L2ZvbnQ+PGJyPjxmb250IHNpemU9IjIiIGZhY2U9IkFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYiPjxmb250IHNpemU9IjEiIGZhY2U9IkFyaWFsLCBHZW5ldmEsIHNhbnMtc2VyaWYiIGNvbG9yPSIjMDAwMDAwIj5PbmdvaW5nIGdvaW5ncy1vbi4gPC9mb250Pjxicj48YnI+PGZvbnQgc2l6ZT0iMiIgZmFjZT0iQXJpYWwsSGVsdmV0aWNhLCBzYW5zLXNlcmlmIj48Yj48YSBocmVmPSIvbmV3cy9jb21tZW50YXJ5U2VjdGlvbi8wLDEyOTIsMzE5MjYsMDAuaHRtbCI+UmFudHMgJmFtcDsgUmF2ZXM8L2E+PC9iPjwvZm9udD48YnI+PGZvbnQgc2l6ZT0iMiIgZmFjZT0iQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiI+PGZvbnQgc2l6ZT0iMSIgZmFjZT0iQXJpYWwsIEdlbmV2YSwgc2Fucy1zZXJpZiIgY29sb3I9IiMwMDAwMDAiPlJlYWRlcnMgb24gQXBwbGUncyBHNCAuLi4gQU9MJ3MgcGFzc3dvcmRzIC4uLiBNUyB2cy4gTGludXguPC9mb250Pjxicj48YnI+ICA8L2ZvbnQ+PC9mb250PgorPC90ZD4KKyAgICAgICAgPC90cj4KKzwhLS0gQ29tbWVudGFyeSBGcmFnIEVuZCAtLT4KKzx0cj4gCis8dGQgYWxpZ249ImxlZnQiIGJnY29sb3I9IiMwMDAwMDAiPiZuYnNwOzwvdGQ+IAorPHRkIGJnY29sb3I9IiMwMDAwMDAiPjxmb250IHNpemU9IjEiIGZhY2U9IlZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYiIGNvbG9yPSIjRkZGRkZGIj48Yj5DVVJSRU5UIEhPTy1IQTwvYj48L2ZvbnQ+PC90ZD4KKzwvdHI+CisKKzx0cj4gCis8dGQ+Jm5ic3A7PC90ZD4KKzx0ZD4KKzxpbWcgc3JjPSJodHRwOi8vc3RhdGljLndpcmVkLmNvbS9uZXdzL2ltYWdlcy9zcGFjZXIuZ2lmIiBoZWlnaHQ9IjUiIHdpZHRoPSI1IiBhbHQ9IiI+Cis8YnI+CisKKzxmb250IHNpemU9IjIiIGZhY2U9IkFyaWFsLEhlbHZldGljYSwgc2Fucy1zZXJpZiI+PGI+PGEgaHJlZj0iL25ld3MvbXAzLzAsMTI4NSwsMDAuaHRtbCI+TVAzIFJvY2tzIHRoZSBXZWI8L2E+PC9iPjwvZm9udD48YnI+PGZvbnQgc2l6ZT0iMiIgZmFjZT0iQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiI+PGZvbnQgc2l6ZT0iMSIgZmFjZT0iQXJpYWwsIEdlbmV2YSwgc2Fucy1zZXJpZiIgY29sb3I9IiMwMDAwMDAiPkRvd25sb2FkIHRoZSBzb3VuZC4gIDxicj48aT5TcG9uc29yZWQgYnkgPGEgaHJlZj0iaHR0cDovL3IuaG90d2lyZWQuY29tL3Ivd25fZmRfbXAzX3JfbXNjbV90eHQvaHR0cDovL3dlYmZhcm0ubWVkaWFwbGV4LmNvbS9jbGlja190aHJ1X3JlcXVlc3QvMTY0LTEzNjFiLTEwNTIiIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246bm9uZSI+PGZvbnQgY29sb3I9IiMwMDAwMDAiPk11c2ljbWFrZXI8L2ZvbnQ+PC9hPjwvaT48L2ZvbnQ+PGJyPjxicj4gCisKKzxmb250IHNpemU9IjIiIGZhY2U9IkFyaWFsLEhlbHZldGljYSwgc2Fucy1zZXJpZiI+PGI+PGEgaHJlZj0iL25ld3Mvd2lyZWxlc3MvMCwxMzgyLCwwMC5odG1sIj5UaGUgV2lyZWxlc3MgV29ybGQ8L2E+PC9iPjwvZm9udD48YnI+PGZvbnQgc2l6ZT0iMiIgZmFjZT0iQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiI+PGZvbnQgc2l6ZT0iMSIgZmFjZT0iQXJpYWwsIEdlbmV2YSwgc2Fucy1zZXJpZiIgY29sb3I9IiMwMDAwMDAiPk5ldHdvcmtpbmcgZ2V0cyB1bnBsdWdnZWQuICA8YnI+PGk+U3BvbnNvcmVkIGJ5IDxhIGhyZWY9Imh0dHA6Ly93d3cuZXJpY3Nzb24uc2UvZ2V0L2ludGVybmV0L2RlZmF1bHQuc2h0bWwiIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246bm9uZSI+PGZvbnQgY29sb3I9IiMwMDAwMDAiPkVyaWNzc29uPC9mb250PjwvYT48L2k+PC9mb250Pjxicj48YnI+IAorCis8Zm9udCBzaXplPSIyIiBmYWNlPSJBcmlhbCxIZWx2ZXRpY2EsIHNhbnMtc2VyaWYiPjxiPjxhIGhyZWY9Ii9uZXdzL2RpZ2l3b29kLzAsMTQxMiwsMDAuaHRtbCI+RGlnaXRhbCBIb2xseXdvb2Q8L2E+PC9iPjwvZm9udD48YnI+PGZvbnQgc2l6ZT0iMiIgZmFjZT0iQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiI+PGZvbnQgc2l6ZT0iMSIgZmFjZT0iQXJpYWwsIEdlbmV2YSwgc2Fucy1zZXJpZiIgY29sb3I9IiMwMDAwMDAiPlRoZSBidXp6IG9mIHRlY2guPC9mb250Pjxicj48YnI+IAorCis8Zm9udCBzaXplPSIyIiBmYWNlPSJBcmlhbCxIZWx2ZXRpY2EsIHNhbnMtc2VyaWYiPjxiPjxhIGhyZWY9Ii9uZXdzL2lwby8wLDEzNTAsLDAwLmh0bWwiPklQTyBPdXRsb29rPC9hPjwvYj48L2ZvbnQ+PGJyPjxmb250IHNpemU9IjIiIGZhY2U9IkFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYiPjxmb250IHNpemU9IjEiIGZhY2U9IkFyaWFsLCBHZW5ldmEsIHNhbnMtc2VyaWYiIGNvbG9yPSIjMDAwMDAwIj5EZWFscyBpbiB0aGUgcGlwZWxpbmUuICA8YnI+PGk+U3BvbnNvcmVkIGJ5IDxhIGhyZWY9Imh0dHA6Ly9yLmhvdHdpcmVkLmNvbS9yL3duX2lwb19yX3N1bl90eHQvaHR0cDovL3N1bi5jb20vYWRzL3NtaS9icmFuZC9ob3R3aXJlZC5odG1sIiBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOm5vbmUiPjxmb250IGNvbG9yPSIjMDAwMDAwIj5TdW48L2ZvbnQ+PC9hPjwvaT48L2ZvbnQ+PGJyPjxicj4gCisKKzxmb250IHNpemU9IjIiIGZhY2U9IkFyaWFsLEhlbHZldGljYSwgc2Fucy1zZXJpZiI+PGI+PGEgaHJlZj0iL25ld3MvZWJpei8wLDEyNzIsLDAwLmh0bWwiPkUtQml6PC9hPjwvYj48L2ZvbnQ+PGJyPjxmb250IHNpemU9IjIiIGZhY2U9IkFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYiPjxmb250IHNpemU9IjEiIGZhY2U9IkFyaWFsLCBHZW5ldmEsIHNhbnMtc2VyaWYiIGNvbG9yPSIjMDAwMDAwIj5CdXNpbmVzcyB1bnVzdWFsLiAgPGJyPjxpPlNwb25zb3JlZCBieSA8YSBocmVmPSJodHRwOi8vci53aXJlZC5jb20vci93bl9mZF9yX2ViaXpfaWJtX3R4dC9odHRwOi8vd3d3LmlibS5jb20iIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246bm9uZSI+PGZvbnQgY29sb3I9IiMwMDAwMDAiPklCTTwvZm9udD48L2E+PC9pPjwvZm9udD48YnI+PGJyPiAKKworPGZvbnQgc2l6ZT0iMiIgZmFjZT0iQXJpYWwsSGVsdmV0aWNhLCBzYW5zLXNlcmlmIj48Yj48YSBocmVmPSIvbmV3cy9tZWR0ZWNoLzAsMTI4NiwsMDAuaHRtbCI+TWVkLVRlY2ggQ2VudGVyPC9hPjwvYj48L2ZvbnQ+PGJyPjxmb250IHNpemU9IjIiIGZhY2U9IkFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYiPjxmb250IHNpemU9IjEiIGZhY2U9IkFyaWFsLCBHZW5ldmEsIHNhbnMtc2VyaWYiIGNvbG9yPSIjMDAwMDAwIj5Gcm9tIHRoZSBibGVlZGluZyBlZGdlLjxicj48aT5TcG9uc29yZWQgYnkgV2ViTUQ8L2k+PC9mb250Pjxicj48YnI+IAorCis8Zm9udCBzaXplPSIyIiBmYWNlPSJBcmlhbCxIZWx2ZXRpY2EsIHNhbnMtc2VyaWYiPjxiPjxhIGhyZWY9Ii9uZXdzL2xpbnV4LzAsMTQxMSwsMDAuaHRtbCI+VGhlIExpbnV4IEVmZmVjdDwvYT48L2I+PC9mb250Pjxicj48Zm9udCBzaXplPSIyIiBmYWNlPSJBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmIj48Zm9udCBzaXplPSIxIiBmYWNlPSJBcmlhbCwgR2VuZXZhLCBzYW5zLXNlcmlmIiBjb2xvcj0iIzAwMDAwMCI+Tm90IGp1c3QgZm9yIGdlZWtzLjwvZm9udD48YnI+PGJyPiA8aW1nIHNyYz0iaHR0cDovL3N0YXRpYy53aXJlZC5jb20vbmV3cy9pbWFnZXMvc3BhY2VyLmdpZiIgaGVpZ2h0PSI3IiB3aWR0aD0iNSIgYWx0PSIiPjxicj4KKworPGZvbnQgc2l6ZT0iMiIgZmFjZT0iQXJpYWwsSGVsdmV0aWNhLCBzYW5zLXNlcmlmIj48Yj48YSBocmVmPSIvbmV3cy9leGVjLzAsMTM3MCwsMDAuaHRtbCI+RXhlY3V0aXZlIFN1bW1hcnk8L2E+PC9iPjwvZm9udD48YnI+PGZvbnQgc2l6ZT0iMSIgZmFjZT0iQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiIgY29sb3I9IiMwMDAwMDAiPkNFT3MsIENPT3MsIENJT3MgdW5pdGUuICA8YnI+PGk+U3BvbnNvcmVkIGJ5IDxhIGhyZWY9Imh0dHA6Ly9yLndpcmVkLmNvbS9yL3duX2V4ZWNfcl92aWduL2h0dHA6Ly93d3cudmlnbmV0dGUuY29tLyIgc3R5bGU9InRleHQtZGVjb3JhdGlvbjpub25lIj48Zm9udCBjb2xvcj0iIzAwMDAwMCI+VmlnbmV0dGU8L2ZvbnQ+PC9hPjwvaT48L2ZvbnQ+PGJyPjxicj4gCisKKzxmb250IHNpemU9IjIiIGZhY2U9IkFyaWFsLEhlbHZldGljYSwgc2Fucy1zZXJpZiI+PGI+PGEgaHJlZj0iL25ld3Mvc2Nob29sLzAsMTM4MywsMDAuaHRtbCI+TWFraW5nIHRoZSBHcmFkZTwvYT48L2I+PC9mb250Pjxicj48Zm9udCBzaXplPSIyIiBmYWNlPSJBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmIj48Zm9udCBzaXplPSIxIiBmYWNlPSJBcmlhbCwgR2VuZXZhLCBzYW5zLXNlcmlmIiBjb2xvcj0iIzAwMDAwMCI+UmVhZGluZywgd3JpdGluZywgYW5kIFJPTS4gIDxicj48aT5TcG9uc29yZWQgYnkgPGEgaHJlZj0iaHR0cDovL3IuaG90d2lyZWQuY29tL3Ivd25fc2NoX3JfbmF2X3VvcC9odHRwOi8vYWRzMjUuZm9jYWxpbmsuY29tL1NtYXJ0QmFubmVyL3BhZ2U/MTI2MzAuNTMiIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246bm9uZSI+PGZvbnQgY29sb3I9IiMwMDAwMDAiPlUgb2YgUGhvZW5peDwvZm9udD48L2E+PC9pPjwvZm9udD48YnI+PGJyPiAKKworPGZvbnQgc2l6ZT0iMiIgZmFjZT0iQXJpYWwsSGVsdmV0aWNhLCBzYW5zLXNlcmlmIj48Yj48YSBocmVmPSIvbmV3cy9pbmZvc3RydWN0dXJlLzAsMTM3NywsMDAuaHRtbCI+SW5mb3N0cnVjdHVyZTwvYT48L2I+PC9mb250Pjxicj48Zm9udCBzaXplPSIxIiBmYWNlPSJBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmIiBjb2xvcj0iIzAwMDAwMCI+QW4gSVMvSVQgcmVzb3VyY2UgPGJyPjxpPlNwb25zb3JlZCBieSA8YSBocmVmPSJodHRwOi8vci53aXJlZC5jb20vci93bl9pc19yX3NzZWMvaHR0cDovL2FkLmRvdWJsZWNsaWNrLm5ldC9jbGs7NjUzMTYzOzM1OTk1NzE7cz9odHRwOi8vd3d3LnNwcmludGJpei5jb20vcyUwQWVydmxldC9hcHBzZXJ2bGV0P2Zyb209L3dpcmVkL3NwcmludC8mYW1wO3RlbXBsYXRlPS9zZWN1cml0eS9zZWN1cml0eS5odG1sJmFtcDtTSVRFPSUwQXdpcmVkLmNvbSZhbXA7QkFOTkVSPVNwcmludCIgc3R5bGU9InRleHQtZGVjb3JhdGlvbjpub25lIj48Zm9udCBjb2xvcj0iIzAwMDAwMCI+U3ByaW50PC9mb250PjwvYT48L2k+PC9mb250PjwvZm9udD48YnI+PGJyPiAKKworPGZvbnQgc2l6ZT0iMiIgZmFjZT0iQXJpYWwsSGVsdmV0aWNhLCBzYW5zLXNlcmlmIj48Yj48YSBocmVmPSIvbmV3cy95MmsvMCwxMzYwLCwwMC5odG1sIj5ZMksgV2F0Y2g8L2E+PC9iPjwvZm9udD48YnI+PGZvbnQgc2l6ZT0iMiIgZmFjZT0iQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiI+PGZvbnQgc2l6ZT0iMSIgZmFjZT0iQXJpYWwsIEdlbmV2YSwgc2Fucy1zZXJpZiIgY29sb3I9IiMwMDAwMDAiPlRpY2suLi4gVGljay4uLiBUaWNrLi4uPC9mb250Pjxicj48YnI+IAorCis8Zm9udCBmYWNlPSJBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmIiBzaXplPSIyIj48Yj48aT48YSBocmVmPSIvbmV3cy9zcGVjaWFsX3JlcG9ydHMvMSwxMjkzLCwwMC5odG1sIj5Nb3JlIEhvby1IYTwvYT48L2k+PC9iPjwvZm9udD48YnI+Jm5ic3A7PGJyPgorCis8L2ZvbnQ+PC9mb250PjwvZm9udD48L2ZvbnQ+PC9mb250PjwvZm9udD48L2ZvbnQ+PC9mb250PgorPC90ZD4KKzwvdHI+Cis8IS0tIHN0YXJ0IG9mIEdlbiBOZXdzIC0tPgorICAgICAgICAgICAgICAgIDx0cj4gCisgICAgICAgICAgICAgICAgICA8dGQgYmdjb2xvcj0iIzAwMDAwMCI+Jm5ic3A7PC90ZD4KKyAgICAgICAgICA8dGQgYmdjb2xvcj0iIzAwMDAwMCI+PGZvbnQgc2l6ZT0iMSIgZmFjZT0iVmVyZGFuYSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiIgY29sb3I9IiNGRkZGRkYiPjxiPk1FQU5XSElMRS4uLjwvYj48L2ZvbnQ+PC90ZD4KKyAgICAgICAgPC90cj4KKworICAgICAgICA8dHI+IAorICAgICAgICAgIDx0ZD4mbmJzcDs8L3RkPgorICAgICAgICAgIDx0ZCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPgorICAgICAgICAgIDxpbWcgc3JjPSJodHRwOi8vc3RhdGljLndpcmVkLmNvbS9uZXdzL2ltYWdlcy9zcGFjZXIuZ2lmIiBoZWlnaHQ9IjUiIHdpZHRoPSI1IiBhbHQ9IiI+PGJyPgorCisKKzwhLS0gMzE5NDIgLS0+Cis8Zm9udCBzaXplPSIyIiBmYWNlPSJBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmIiBjb2xvcj0iIzAwMDAwMCI+PGI+RiZ1dW1sO2hyZXIgRnVyb3I8L2I+PC9mb250Pjxicj48Zm9udCBzaXplPSIxIiBmYWNlPSJBcmlhbCwgR2VuZXZhLCBzYW5zLXNlcmlmIiBjb2xvcj0iIzAwMDAwMCI+PHA+DQorQ29udHJ1Y3Rpb24gd29ya2VycyBpbiBCZXJsaW4gb3BlbmVkIGFuIG9sZCB3b3VuZCBpbiB0aGUgR2VybWFuIHBzeWNoZSB0aGlzIHdlZWsgd2hlbiB0aGV5IGFjY2lkZW50YWxseSBzdHVtYmxlZCBhY3Jvc3MgQWRvbGYgSGl0bGVyJ3MgYnVua2VyIHdoaWxlIGV4Y2F2YXRpbmcgbmVhciB0aGUgQnJhbmRlbmJ1cmcgR2F0ZS4gVGhlIGJ1bmtlciwganVzdCBzb3V0aCBvZiB0aGUgR2F0ZSwgd2FzIHdoZXJlIEhpdGxlciBhbmQgaGlzIGNsb3Nlc3QgYXNzb2NpYXRlcyBiYXJyaWNhZGVkIHRoZW1zZWx2ZXMgYXMgdGhlIFJlZCBBcm15IGFwcHJvYWNoZWQgQmVybGluIGluIHRoZSB3YW5pbmcgZGF5cyBvZiBXb3JsZCBXYXIgSUkuIEl0IGlzIGFsc28gd2hlcmUgdGhlIEYmdXVtbDtocmVyIGFuZCBoaXMgYnJpZGUsIEV2YSBCcmF1biwgY29tbWl0dGVkIHN1aWNpZGUgcmF0aGVyIHRoYW4gZmFsbCBpbnRvIHRoZSBoYW5kcyBvZiB0aGUgUnVzc2lhbnMuIEFsdGhvdWdoIHRoZSBidW5rZXIncyBsb2NhdGlvbiBoYXMgbmV2ZXIgYmVlbiBhIG15c3RlcnksIGl0IGhhcyBiZWVuIHNlYWxlZCBvZmYgc2luY2UgdGhlIGVuZCBvZiB0aGUgd2FyIHRvIGtlZXAgbmVvLU5hemlzIGZyb20gdHVybmluZyBpdCBpbnRvIGEgc2hyaW5lLg0KKzxicj48L3A+Cis8bGk+TW9yZSBmcm9tIDxhIGhyZWY9Imh0dHA6Ly93d3cubHljb3MuY29tL25ld3MvZmxhc2gvaGl0bGVyYnVua2VyLmh0bWw/dj13bjEwMTUmYW1wO2xwdj0xIj5MeWNvczwvYT4KKzwvbGk+PC9mb250Pjxicj48YnI+CisgPC90ZD4KKyAgICAgICAgPC90cj4KKzwhLS0gZW5kIG9mIEdlbiBOZXdzIC0tPgorPC90YWJsZT4KKworCis8Zm9udCBzaXplPSIxIj4mbmJzcDs8YnI+PC9mb250PgorCis8YnI+CisKKzxmb250IGZhY2U9IlZlcmRhbmEsIEFyaWFsLCBHZW5ldmEsIHNhbnMtc2VyaWYiIHNpemU9IjIiPjxiPjxpPk90aGVyIFRvcCBTdG9yaWVzPC9pPjwvYj48L2ZvbnQ+PGJyPgorPGltZyBzcmM9Imh0dHA6Ly9zdGF0aWMud2lyZWQuY29tL25ld3MvaW1hZ2VzL3BpeDE1NS5naWYiIGhlaWdodD0iMTAiIHdpZHRoPSIxNTUiIGFsdD0iIj48YnI+CisKKzwhLS0gU1FMIHF1ZXJ5IGhlcmUgLS0+Cis8IS0tIElCRF9TVUJKRUNUOldhbGwgU3RyZWV0IEtlZXBzIFJlZWxpbmcgLS0+PGZvbnQgZmFjZT0iQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiIgc2l6ZT0iMyI+PGI+PGEgaHJlZj0iL25ld3MvcmV1dGVycy8wLDEzNDksMzE5MzQsMDAuaHRtbCI+V2FsbCBTdHJlZXQgS2VlcHMgUmVlbGluZzwvYT48L2I+PC9mb250Pjxicj48Zm9udCBjb2xvcj0iI2ZmMDAwMCIgZmFjZT0iVmVyZGFuYSwgQXJpYWwsIEdlbmV2YSwgc2Fucy1zZXJpZiIgc2l6ZT0iMSI+MTA6MTUgYS5tLjwvZm9udD4mbmJzcDs8Zm9udCBmYWNlPSJWZXJkYW5hLCBBcmlhbCwgR2VuZXZhLCBzYW5zLXNlcmlmIiBzaXplPSIyIj5UaGUgRG93IGFuZCBOYXNkYXEgc3VmZmVyIHNpemVhYmxlIGxvc3NlcyBkdXJpbmcgdGhlIGZpcnN0IGhhbGYgb2YgRnJpZGF5IHRyYWRpbmcuIFdoeT8gV2hvbGVzYWxlIHByaWNlcyBhcmUgdGhlIGhpZ2hlc3QgdGhpcyBkZWNhZGUsIGFuZCBHcmVlbnNwYW4gaXMgY29uY2VybmVkIGFib3V0IHN0b2NrIHByaWNlcy48L2ZvbnQ+PGJyPjxmb250IGZhY2U9IlZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYiIHNpemU9IjEiPjxpPjxhIGhyZWY9Ii9uZXdzL3JldXRlcnMvMCwxMzQ5LCwwMC5odG1sIj5pbiZuYnNwO1JldXRlcnM8L2E+PC9pPjwvZm9udD48YnI+PGJyPjwhLS0gSUJEX1NVQkpFQ1Q6VGhlIE1hcmtldCdzIE1hZG5lc3MgLS0+PGZvbnQgZmFjZT0iQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiIgc2l6ZT0iMyI+PGI+PGEgaHJlZj0iL25ld3MvcmV1dGVycy8wLDEzNDksMzE5MzUsMDAuaHRtbCI+VGhlIE1hcmtldCdzIE1hZG5lc3M8L2E+PC9iPjwvZm9udD48YnI+PGZvbnQgY29sb3I9IiNmZjAwMDAiIGZhY2U9IlZlcmRhbmEsIEFyaWFsLCBHZW5ldmEsIHNhbnMtc2VyaWYiIHNpemU9IjEiPjk6MTAgYS5tLjwvZm9udD4mbmJzcDs8Zm9udCBmYWNlPSJWZXJkYW5hLCBBcmlhbCwgR2VuZXZhLCBzYW5zLXNlcmlmIiBzaXplPSIyIj5UaGUgYnVsbHMgYW5kIHRoZSBiZWFycyBhcmUgaW4gdGhlIG1pZHN0IG9mIGEgQmF0dGxlIFJveWFsZSwgYW5kIGFsbCB0aGlzIHR1cmJ1bGVuY2UgaXMgbm90IGEgaGVhbHRoeSB0aGluZy4gU28gc2F5IHRoZSBleHBlcnRzLjwvZm9udD48YnI+PGZvbnQgZmFjZT0iVmVyZGFuYSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiIgc2l6ZT0iMSI+PGk+PGEgaHJlZj0iL25ld3MvcmV1dGVycy8wLDEzNDksLDAwLmh0bWwiPmluJm5ic3A7UmV1dGVyczwvYT48L2k+PC9mb250Pjxicj48YnI+PCEtLSBJQkRfU1VCSkVDVDonV2FudCBhIExvYW4/IFdoYXQncyBZb3VyIFJhY2U/JyAtLT48Zm9udCBmYWNlPSJBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmIiBzaXplPSIzIj48Yj48YSBocmVmPSIvbmV3cy9wb2xpdGljcy8wLDEyODMsMzE1MzMsMDAuaHRtbCI+J1dhbnQgYSBMb2FuPyBXaGF0J3MgWW91ciBSYWNlPyc8L2E+PC9iPjwvZm9udD48YnI+PGZvbnQgY29sb3I9IiNmZjAwMDAiIGZhY2U9IlZlcmRhbmEsIEFyaWFsLCBHZW5ldmEsIHNhbnMtc2VyaWYiIHNpemU9IjEiPjM6MDAgYS5tLjwvZm9udD4mbmJzcDs8Zm9udCBmYWNlPSJWZXJkYW5hLCBBcmlhbCwgR2VuZXZhLCBzYW5zLXNlcmlmIiBzaXplPSIyIj5UaGUgRmVkZXJhbCBSZXNlcnZlIGlzIGluIHRoZSBtaWRkbGUgb2YgY2hhbmdpbmcgYmFua2luZyByZWd1bGF0aW9ucyB0byBsZXQgYmFua3MgY29sbGVjdCBkYXRhIG9uIHRoZSByYWNlLCBzZXgsIHJlbGlnaW9uLCBhbmQgbmF0aW9uYWwgb3JpZ2luIG9mIHRoZWlyIGN1c3RvbWVycy4gQnkgRGVjbGFuIE1jQ3VsbGFnaC4gPC9mb250Pjxicj48Zm9udCBmYWNlPSJWZXJkYW5hLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmIiBzaXplPSIxIj48aT48YSBocmVmPSIvbmV3cy9wb2xpdGljcy8wLDEyODMsLDAwLmh0bWwiPmluJm5ic3A7UG9saXRpY3M8L2E+PC9pPjwvZm9udD48YnI+PGJyPjwhLS0gSUJEX1NVQkpFQ1Q6TXVzaWMgUmVnczogQSBCYWdmdWwgb2YgTm9pc2UgLS0+PGZvbnQgZmFjZT0iQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiIgc2l6ZT0iMyI+PGI+PGEgaHJlZj0iL25ld3MvYnVzaW5lc3MvMCwxMzY3LDMxODMyLDAwLmh0bWwiPk11c2ljIFJlZ3M6IEEgQmFnZnVsIG9mIE5vaXNlPC9hPjwvYj48L2ZvbnQ+PGJyPjxmb250IGNvbG9yPSIjZmYwMDAwIiBmYWNlPSJWZXJkYW5hLCBBcmlhbCwgR2VuZXZhLCBzYW5zLXNlcmlmIiBzaXplPSIxIj4zOjAwIGEubS48L2ZvbnQ+Jm5ic3A7PGZvbnQgZmFjZT0iVmVyZGFuYSwgQXJpYWwsIEdlbmV2YSwgc2Fucy1zZXJpZiIgc2l6ZT0iMiI+VGhlIHN0cnVnZ2xlIHRvIGNvbWUgdXAgd2l0aCBhIGRpZ2l0YWwgbXVzaWMgc3RhbmRhcmQgdGhhdCB3b3VsZCBtaW5pbWl6ZSBkb3dubG9hZCBwaXJhY3kgaXMgcHVzaGluZyByaWdodCB1cCBhZ2FpbnN0IHRoZSBob2xpZGF5IGdpZnQtZ2l2aW5nIHNlYXNvbi4gQnkgSmVubmlmZXIgU3VsbGl2YW4uPC9mb250Pjxicj48Zm9udCBmYWNlPSJWZXJkYW5hLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmIiBzaXplPSIxIj48aT48YSBocmVmPSIvbmV3cy9idXNpbmVzcy8wLDEzNjcsLDAwLmh0bWwiPmluJm5ic3A7QnVzaW5lc3M8L2E+PC9pPjwvZm9udD48YnI+PGJyPjwhLS0gSUJEX1NVQkpFQ1Q6Q2FuJ3QgQmVhdCAnRW0/IEdyZWVuICdFbSAtLT48Zm9udCBmYWNlPSJBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmIiBzaXplPSIzIj48Yj48YSBocmVmPSIvbmV3cy90ZWNobm9sb2d5LzAsMTI4MiwzMTkyNywwMC5odG1sIj5DYW4ndCBCZWF0ICdFbT8gR3JlZW4gJ0VtPC9hPjwvYj48L2ZvbnQ+PGJyPjxmb250IGNvbG9yPSIjZmYwMDAwIiBmYWNlPSJWZXJkYW5hLCBBcmlhbCwgR2VuZXZhLCBzYW5zLXNlcmlmIiBzaXplPSIxIj4zOjAwIGEubS48L2ZvbnQ+Jm5ic3A7PGZvbnQgZmFjZT0iVmVyZGFuYSwgQXJpYWwsIEdlbmV2YSwgc2Fucy1zZXJpZiIgc2l6ZT0iMiI+SGlnaC10ZWNoIGNvbXBhbmllcyBhcmUgbm90b3Jpb3VzbHkgZW52aXJvbm1lbnRhbGx5IHVuZnJpZW5kbHksIGFuZCBhIGdyb3dpbmcgbnVtYmVyIG9mICJHcmVlbmllcyIgYXJlIHRyeWluZyB0byBjaGFuZ2UgdGhpbmdzIGZyb20gdGhlIGluc2lkZSAuLi4gd2l0aCB2YXJ5aW5nIHJlc3VsdHMuIEJ5IENocmlzIEdhaXRoZXIuPC9mb250Pjxicj48Zm9udCBmYWNlPSJWZXJkYW5hLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmIiBzaXplPSIxIj48aT48YSBocmVmPSIvbmV3cy90ZWNobm9sb2d5LzAsMTI4MiwsMDAuaHRtbCI+aW4mbmJzcDtUZWNobm9sb2d5PC9hPjwvaT48L2ZvbnQ+PGJyPjxicj48IS0tIElCRF9TVUJKRUNUOlkySyBDbG91ZCBPdmVyIE1TIE9mZmljZSAtLT48Zm9udCBmYWNlPSJBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmIiBzaXplPSIzIj48Yj48YSBocmVmPSIvbmV3cy9idXNpbmVzcy8wLDEzNjcsMzE5MzIsMDAuaHRtbCI+WTJLIENsb3VkIE92ZXIgTVMgT2ZmaWNlPC9hPjwvYj48L2ZvbnQ+PGJyPjxmb250IGNvbG9yPSIjZmYwMDAwIiBmYWNlPSJWZXJkYW5hLCBBcmlhbCwgR2VuZXZhLCBzYW5zLXNlcmlmIiBzaXplPSIxIj4zOjAwIGEubS48L2ZvbnQ+Jm5ic3A7PGZvbnQgZmFjZT0iVmVyZGFuYSwgQXJpYWwsIEdlbmV2YSwgc2Fucy1zZXJpZiIgc2l6ZT0iMiI+V2luZG93cyBOVCBzYWxlcyByZW1haW4gc3Ryb25nLCBidXQgY29ycG9yYXRlIGNsaWVudHMgYXJlIHdhcnkgb2YgdXBncmFkaW5nIHRvIE1TIE9mZmljZSAyMDAwLiBBbmFseXN0cyBzYXkgdGhhdCBtZWFucyBzdHJvbmcsIGJ1dCBub3Qgc3R1bm5pbmcsIE1pY3Jvc29mdCBlYXJuaW5ncy4gPC9mb250Pjxicj48Zm9udCBmYWNlPSJWZXJkYW5hLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmIiBzaXplPSIxIj48aT48YSBocmVmPSIvbmV3cy9idXNpbmVzcy8wLDEzNjcsLDAwLmh0bWwiPmluJm5ic3A7QnVzaW5lc3M8L2E+PC9pPjwvZm9udD48YnI+PGJyPjxmb250IGNvbG9yPSIjRkYwMDAwIiBmYWNlPSJWZXJkYW5hLCBBcmlhbCwgR2VuZXZhLCBzYW5zLXNlcmlmIiBzaXplPSIxIj5NZWQtVGVjaDwvZm9udD48YnI+PCEtLSBJQkRfU1VCSkVDVDpCaW9jaGlwcyBmb3IgQ3VzdG9tIENoZW1vIC0tPjxmb250IGZhY2U9IkFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYiIHNpemU9IjMiPjxiPjxhIGhyZWY9Ii9uZXdzL3RlY2hub2xvZ3kvMCwxMjgyLDMxOTE0LDAwLmh0bWwiPkJpb2NoaXBzIGZvciBDdXN0b20gQ2hlbW88L2E+PC9iPjwvZm9udD48YnI+PGZvbnQgY29sb3I9IiNmZjAwMDAiIGZhY2U9IlZlcmRhbmEsIEFyaWFsLCBHZW5ldmEsIHNhbnMtc2VyaWYiIHNpemU9IjEiPjM6MDAgYS5tLjwvZm9udD4mbmJzcDs8Zm9udCBmYWNlPSJWZXJkYW5hLCBBcmlhbCwgR2VuZXZhLCBzYW5zLXNlcmlmIiBzaXplPSIyIj5EaWZmZXJlbnQgY2FuY2VyIHBhdGllbnRzIG5lZWQgZGlmZmVyZW50IG1lZGljaW5lLCBidXQgZG9jdG9ycyBjYW4gcmFyZWx5IGRldGVybWluZSB0aGUgYmVzdCBtYXRjaC4gTmV3IGJpb2NoaXAgdGVjaG5vbG9neSBwcm9taXNlcyBjaGVtb3RoZXJhcHkgdGFpbG9yZWQgdG8gYSB0dW1vcidzIGdlbmV0aWMgbWFrZS11cC4gQnkgS3Jpc3RlbiBQaGlsaXBrb3NraS48L2ZvbnQ+PGJyPjxmb250IGZhY2U9IlZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYiIHNpemU9IjEiPjxpPjxhIGhyZWY9Ii9uZXdzL3RlY2hub2xvZ3kvMCwxMjgyLCwwMC5odG1sIj5pbiZuYnNwO1RlY2hub2xvZ3k8L2E+PC9pPjwvZm9udD48YnI+PGJyPjwhLS0gSUJEX1NVQkpFQ1Q6SGlnaCBTdGFrZXMgaW4gUHJpY2VsaW5lIFN1aXQgLS0+PGZvbnQgZmFjZT0iQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiIgc2l6ZT0iMyI+PGI+PGEgaHJlZj0iL25ld3MvYnVzaW5lc3MvMCwxMzY3LDMxOTE2LDAwLmh0bWwiPkhpZ2ggU3Rha2VzIGluIFByaWNlbGluZSBTdWl0PC9hPjwvYj48L2ZvbnQ+PGJyPjxmb250IGNvbG9yPSIjZmYwMDAwIiBmYWNlPSJWZXJkYW5hLCBBcmlhbCwgR2VuZXZhLCBzYW5zLXNlcmlmIiBzaXplPSIxIj4zOjAwIGEubS48L2ZvbnQ+Jm5ic3A7PGZvbnQgZmFjZT0iVmVyZGFuYSwgQXJpYWwsIEdlbmV2YSwgc2Fucy1zZXJpZiIgc2l6ZT0iMiI+SXQncyBub3QganVzdCBhbm90aGVyIHJvdW5kIG9mIFJlZG1vbmQtYmFzaGluZy4gQSBQcmljZWxpbmUuY29tIGxhd3N1aXQgYWdhaW5zdCBNaWNyb3NvZnQncyBFeHBlZGlhLmNvbSBtYXkgaGF2ZSBhIGJpZyBpbXBhY3Qgb24gaG93IE5ldCBjb21wYW5pZXMgcHJvdGVjdCB0aGVpciBidXNpbmVzcyBtb2RlbHMuIEJ5IEpvYW5uYSBHbGFzbmVyLjwvZm9udD48YnI+PGZvbnQgZmFjZT0iVmVyZGFuYSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiIgc2l6ZT0iMSI+PGk+PGEgaHJlZj0iL25ld3MvYnVzaW5lc3MvMCwxMzY3LCwwMC5odG1sIj5pbiZuYnNwO0J1c2luZXNzPC9hPjwvaT48L2ZvbnQ+PGJyPjxicj48IS0tIElCRF9TVUJKRUNUOkJpb2RpdmVyc2l0eSBNZXJnZXMgT25saW5lIC0tPjxmb250IGZhY2U9IkFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYiIHNpemU9IjMiPjxiPjxhIGhyZWY9Ii9uZXdzL3RlY2hub2xvZ3kvMCwxMjgyLDMxOTE4LDAwLmh0bWwiPkJpb2RpdmVyc2l0eSBNZXJnZXMgT25saW5lPC9hPjwvYj48L2ZvbnQ+PGJyPjxmb250IGNvbG9yPSIjZmYwMDAwIiBmYWNlPSJWZXJkYW5hLCBBcmlhbCwgR2VuZXZhLCBzYW5zLXNlcmlmIiBzaXplPSIxIj4zOjAwIGEubS48L2ZvbnQ+Jm5ic3A7PGZvbnQgZmFjZT0iVmVyZGFuYSwgQXJpYWwsIEdlbmV2YSwgc2Fucy1zZXJpZiIgc2l6ZT0iMiI+VGhlIGZhci1mbHVuZyBkYXRhYmFzZXMgb24gZ2xvYmFsIGJpb2RpdmVyc2l0eSBnZXQgdG9nZXRoZXIgdG8gZm9ybSBvbmUgbW9uc3RlciBkYXRhYmFzZS4gU29vbiB0aGUgcmVkLWV5ZWQgdHJlZSBmcm9nIHdpbGwgYmUgZXllaW5nIHRob3NlIFN3ZWRpc2ggbGluZ29uYmVycmllcy4gRnJvbSB0aGUgRW52aXJvbm1lbnQgTmV3cyBTZXJ2aWNlLjwvZm9udD48YnI+PGZvbnQgZmFjZT0iVmVyZGFuYSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiIgc2l6ZT0iMSI+PGk+PGEgaHJlZj0iL25ld3MvdGVjaG5vbG9neS8wLDEyODIsLDAwLmh0bWwiPmluJm5ic3A7VGVjaG5vbG9neTwvYT48L2k+PC9mb250Pjxicj48YnI+PCEtLSBTUUwgYWJvdmUgLS0+CisKKworICAgICAgICAKKzwhLS0tLS0tVFJBREVTLS0tLS0tLS0tPgorPGJyPgorPGZvbnQgZmFjZT0iVmVyZGFuYSwgQXJpYWwsIEdlbmV2YSwgc2Fucy1zZXJpZiIgc2l6ZT0iMiI+PGI+PGk+RWxzZXdoZXJlIFRvZGF5PC9pPjwvYj48L2ZvbnQ+PGJyPgorPGltZyBzcmM9Imh0dHA6Ly9zdGF0aWMud2lyZWQuY29tL25ld3MvaW1hZ2VzL3BpeDE1NS5naWYiIGhlaWdodD0iMTAiIHdpZHRoPSIxNTUiIGFsdD0iIj48YnI+CisKKzwhLS0gU1FMIHF1ZXJ5IGhlcmUgLS0+Cis8Zm9udCBmYWNlPSJoZWx2ZXRpY2EsIGFyaWFsIiBzaXplPSIzIj48Yj48YSBocmVmPSJodHRwOi8vd3d3LnRoZXN0YW5kYXJkLmNvbS9hcnRpY2xlcy9kaXNwbGF5LzAsMTQ0OSw2OTc1LDAwLmh0bWw/aG9tZS50ZiI+RkNDOiBIYW5kcy1PZmYgb24gQnJvYWRiYW5kPC9hPjwvYj48L2ZvbnQ+PGJyPjxmb250IGZhY2U9ImdlbmV2YSwgYXJpYWwiIHNpemU9IjIiPjxjaXRlPlRoZSBJbmR1c3RyeSBTdGFuZGFyZDwvY2l0ZT48L2ZvbnQ+PGJyPjxicj48Zm9udCBmYWNlPSJoZWx2ZXRpY2EsIGFyaWFsIiBzaXplPSIzIj48Yj48YSBocmVmPSJodHRwOi8vbmV3cy5seWNvcy5jb20vc3Rvcmllcy9Ub3BOZXdzLzE5OTkxMDE0UlRORVdTLUFSTVMtVFJFQVRZLmFzcCI+V2hpdGUgSG91c2UgTGFzaGVzIE91dCBvbiBUcmVhdHk8L2E+PC9iPjwvZm9udD48YnI+PGZvbnQgZmFjZT0iZ2VuZXZhLCBhcmlhbCIgc2l6ZT0iMiI+THljb3M8L2ZvbnQ+PGJyPjxicj48Zm9udCBmYWNlPSJoZWx2ZXRpY2EsIGFyaWFsIiBzaXplPSIzIj48Yj48YSBocmVmPSJodHRwOi8vd3d3LnBhdGhmaW5kZXIuY29tL3RpbWUvbWFnYXppbmUvYXJ0aWNsZXMvMCwzMjY2LDMyMjA3LDAwLmh0bWwiPlN0ZXZlIEpvYnMgYXQgNDQ8L2E+PC9iPjwvZm9udD48YnI+PGZvbnQgZmFjZT0iZ2VuZXZhLCBhcmlhbCIgc2l6ZT0iMiI+PGNpdGU+VGltZTwvY2l0ZT48L2ZvbnQ+PGJyPjxicj48Zm9udCBmYWNlPSJoZWx2ZXRpY2EsIGFyaWFsIiBzaXplPSIzIj48Yj48YSBocmVmPSJodHRwOi8vd3d3LnpkbmV0LmNvbS96ZG5uL3N0b3JpZXMvbmV3cy8wLDQ1ODYsMjM1MzYwOCwwMC5odG1sIj5Db21wdXRlcnMgTWF5IFJ1biBvbiBHYXM8L2E+PC9iPjwvZm9udD48YnI+PGZvbnQgZmFjZT0iZ2VuZXZhLCBhcmlhbCIgc2l6ZT0iMiI+WkROTjwvZm9udD48YnI+PGJyPjxmb250IGZhY2U9ImhlbHZldGljYSwgYXJpYWwiIHNpemU9IjMiPjxiPjxhIGhyZWY9Imh0dHA6Ly93d3cubnl0aW1lcy5jb20vbGlicmFyeS90ZWNoLzk5LzEwL2JpenRlY2gvYXJ0aWNsZXMvMTRmcmVlLmh0bWwiPk11Y2ggSXMgRnJlZSBpbiB0aGUgV2lyZWQgV29ybGQ8L2E+PC9iPjwvZm9udD48YnI+PGZvbnQgZmFjZT0iZ2VuZXZhLCBhcmlhbCIgc2l6ZT0iMiI+PGNpdGU+VGhlIE5ldyBZb3JrIFRpbWVzPC9jaXRlPiAoUmVnaXN0cmF0aW9uIFJlcXVpcmVkKTwvZm9udD48YnI+PGJyPjxmb250IGZhY2U9ImhlbHZldGljYSwgYXJpYWwiIHNpemU9IjMiPjxiPjxhIGhyZWY9Imh0dHA6Ly93d3cudXNhdG9kYXkuY29tL2xpZmUvY3liZXIvbmIvbmI0Lmh0bSI+TWVsaXNzYTogSSdtIEJhYWFhY2s8L2E+PC9iPjwvZm9udD48YnI+PGZvbnQgZmFjZT0iZ2VuZXZhLCBhcmlhbCIgc2l6ZT0iMiI+PGNpdGU+VVNBIFRvZGF5PC9jaXRlPjwvZm9udD48YnI+PGJyPjxmb250IGZhY2U9ImhlbHZldGljYSwgYXJpYWwiIHNpemU9IjMiPjxiPjxhIGhyZWY9Imh0dHA6Ly93d3cubXNuYmMuY29tL25ld3MvMzIyOTI2LmFzcCI+RG9tYWluIE93bmVycyBTdXJyZW5kZXIgUHJpdmFjeTwvYT48L2I+PC9mb250Pjxicj48Zm9udCBmYWNlPSJnZW5ldmEsIGFyaWFsIiBzaXplPSIyIj5NU05CQzwvZm9udD48YnI+PGJyPjxmb250IGZhY2U9ImhlbHZldGljYSwgYXJpYWwiIHNpemU9IjMiPjxiPjxhIGhyZWY9Imh0dHA6Ly93d3cud2FzaGluZ3RvbnBvc3QuY29tL3dwLXNydi9idXNpbmVzcy9sb25ndGVybS90ZWNoL3RlY2h0aHVyc2RheS9kb3dubG9hZC9kb3dubG9hZC5odG0iPkRpdmlkaW5nIHRvIENvbnF1ZXIgaW4gVkMgR2FtZTwvYT48L2I+PC9mb250Pjxicj48Zm9udCBmYWNlPSJnZW5ldmEsIGFyaWFsIiBzaXplPSIyIj48Y2l0ZT5UaGUgV2FzaGluZ3RvbiBQb3N0PC9jaXRlPjwvZm9udD48YnI+PGJyPjxmb250IGZhY2U9ImhlbHZldGljYSwgYXJpYWwiIHNpemU9IjMiPjxiPjxhIGhyZWY9Imh0dHA6Ly93d3cuc2Fsb24uY29tL3RlY2gvYm9va3MvMTk5OS8xMC8xNC9yZWRoYXRfYm9vay9pbmRleC5odG1sIj5UaGUgUmVkIEhhdCBEaWFyaWVzPC9hPjwvYj48L2ZvbnQ+PGJyPjxmb250IGZhY2U9ImdlbmV2YSwgYXJpYWwiIHNpemU9IjIiPlNhbG9uPC9mb250Pjxicj48YnI+PGZvbnQgZmFjZT0iaGVsdmV0aWNhLCBhcmlhbCIgc2l6ZT0iMyI+PGI+PGEgaHJlZj0iaHR0cDovL25ld3MuYmJjLmNvLnVrL2hpL2VuZ2xpc2gvc2NpL3RlY2gvbmV3c2lkXzQ3MzAwMC80NzM4NTYuc3RtIj5TY3JlZW5zYXZlciB0byBQcmVkaWN0IENsaW1hdGU8L2E+PC9iPjwvZm9udD48YnI+PGZvbnQgZmFjZT0iZ2VuZXZhLCBhcmlhbCIgc2l6ZT0iMiI+QkJDIE5ld3M8L2ZvbnQ+PGJyPjxicj48IS0tIFNRTCBhYm92ZSAtLT4KKworCisKKzwhLS0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLS0+CisgCisgICA8L3RkPgorICA8L3RyPgorCisgIDx0cj4KKyAgIDx0ZCB2YWxpZ249IlRPUCIgYWxpZ249IkxFRlQiPgorCisgICAgPGltZyBzcmM9Imh0dHA6Ly9zdGF0aWMud2lyZWQuY29tL25ld3MvaW1hZ2VzL3NwYWNlci5naWYiIGhlaWdodD0iMSIgd2lkdGg9IjI4MCIgYWx0PSIiPjxicj4KKwkKKyAgICA8IS0tIEZPT1RFUiAtLT4KKworPGJyPjxpbWcgc3JjPSJodHRwOi8vc3RhdGljLndpcmVkLmNvbS9uZXdzL2ltYWdlcy9waXgxNTUuZ2lmIiBoZWlnaHQ9IjEwIiB3aWR0aD0iMTU1IiBib3JkZXI9IjAiIHVzZW1hcD0iI25hdnN0cmlwLm1hcCIgYWx0PSIiPgorPGJyPgorCis8aW1nIHNyYz0iaHR0cDovL3N0YXRpYy53aXJlZC5jb20vbmV3cy9pbWFnZXMvbmF2c3RyaXBfb2ZmLmdpZiIgaGVpZ2h0PSIxNyIgd2lkdGg9IjEyNiIgdXNlbWFwPSIjbmF2c3RyaXAubWFwIiBib3JkZXI9IjAiIGFsdD0iIj48YnI+PGJyPgorCis8cD48Zm9udCBmYWNlPSJWZXJkYW5hLCBBcmlhbCwgR2VuZXZhLCBzYW5zLXNlcmlmIiBzaXplPSIxIj4KKzxhIGhyZWY9Imh0dHA6Ly93d3cud2lyZWQuY29tL25ld3MvZmVlZGJhY2suaHRtbCI+U2VuZCB1cyBmZWVkYmFjazwvYT4KKyZuYnNwO3wmbmJzcDsKKzxhIGhyZWY9Imh0dHA6Ly93d3cuaG90d2lyZWQuY29tL2pvYnMvIj5Xb3JrIGF0IFdpcmVkIERpZ2l0YWw8L2E+CismbmJzcDt8Jm5ic3A7Cis8YSBocmVmPSJodHRwOi8vaG9tZS53aXJlZC5jb20vYWR2ZXJ0aXNpbmcvIj5BZHZlcnRpc2Ugd2l0aCB1czwvYT4KKzxicj4KKzxhIGhyZWY9Imh0dHA6Ly9ob21lLndpcmVkLmNvbS8iPkFib3V0IFdpcmVkIERpZ2l0YWw8L2E+CismbmJzcDt8Jm5ic3A7Cis8YSBocmVmPSJodHRwOi8vd3d3LndpcmVkLmNvbS9ob21lL2RpZ2l0YWwvcHJpdmFjeS8iPk91ciBQcml2YWN5IFBvbGljeTwvYT48L2ZvbnQ+CisKKworPC9wPgorPHA+PGZvbnQgZmFjZT0iVmVyZGFuYSwgQXJpYWwsIEdlbmV2YSIgc2l6ZT0iMSI+PGEgaHJlZj0iaHR0cDovL3d3dy53aXJlZC5jb20vaG9tZS9jb3B5cmlnaHQuaHRtbCI+Q29weXJpZ2h0PC9hPiAmY29weTsgMTk5NC05OSBXaXJlZCBEaWdpdGFsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC48L2ZvbnQ+CisKKzxicj4KKzwhLS0gVFJBQ0tJTkcgLS0+Cis8aW1nIHNyYz0iaHR0cDovL3d3dy53aXJlZC5jb20vc3BlY2lhbC9tb2R4L25ld3MuZ2lmIiBoZWlnaHQ9IjEiIHdpZHRoPSIxIiBhbHQ9IiI+CisKKzxtYXAgbmFtZT0ibmF2c3RyaXAubWFwIj4KKzxhcmVhIHNoYXBlPSJyZWN0IiBjb29yZHM9IjAsMCwxNCwxNiIgaHJlZj0iL25ld3MiPgorPGFyZWEgc2hhcGU9InJlY3QiIGNvb3Jkcz0iMTUsMCAzMSwxNiIgaHJlZj0iL25ld3MvYnVzaW5lc3MvIj4KKzxhcmVhIHNoYXBlPSJyZWN0IiBjb29yZHM9IjMyLDAsNDgsMTYiIGhyZWY9Ii9uZXdzL2N1bHR1cmUvIj4KKzxhcmVhIHNoYXBlPSJyZWN0IiBjb29yZHM9IjQ5LDAsNjUsMTYiIGhyZWY9Ii9uZXdzL3RlY2hub2xvZ3kvIj4KKzxhcmVhIHNoYXBlPSJyZWN0IiBjb29yZHM9IjY2LDAsODMsMTYiIGhyZWY9Ii9uZXdzL3BvbGl0aWNzLyI+Cis8L21hcD4KKyA8L3A+Cis8L3RkPgorICAgPHRkIHZhbGlnbj0iVE9QIiBhbGlnbj0iTEVGVCI+CisgICAgPGltZyBzcmM9Imh0dHA6Ly9zdGF0aWMud2lyZWQuY29tL25ld3MvaW1hZ2VzL3NwYWNlci5naWYiIGhlaWdodD0iMSIgd2lkdGg9IjUiIGFsdD0iIj4KKyAgIDwvdGQ+CisgICA8dGQgdmFsaWduPSJUT1AiIGFsaWduPSJMRUZUIj4KKyAgIDwvdGQ+CisgIDwvdHI+Cis8L3RhYmxlPgorCisKKzxicj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L0hUTUwvd2lyZWQuaHRtbC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9IVE1ML3dpcmVkLmh0bWwuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcwZGIxMWIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9IVE1ML3dpcmVkLmh0bWwuZXJyCkBAIC0wLDAgKzEsMjQ5IEBACisuL3Rlc3QvSFRNTC93aXJlZC5odG1sOjY6IEhUTUwgcGFyc2VyIGVycm9yIDogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCis8Rk9STSBNRVRIT0Q9R0VUIEFDVElPTj0iaHR0cDovL25zYWRzLmhvdHdpcmVkLmNvbS9ldmVudC5uZy9UeXBlPWNsaWNrJlByb2ZpbGVJRAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9IVE1ML3dpcmVkLmh0bWw6NjogSFRNTCBwYXJzZXIgZXJyb3IgOiBodG1sUGFyc2VFbnRpdHlSZWY6IGV4cGVjdGluZyAnOycKK0Q9R0VUIEFDVElPTj0iaHR0cDovL25zYWRzLmhvdHdpcmVkLmNvbS9ldmVudC5uZy9UeXBlPWNsaWNrJlByb2ZpbGVJRD05Njg4JlJ1bklECisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgorLi90ZXN0L0hUTUwvd2lyZWQuaHRtbDo2OiBIVE1MIHBhcnNlciBlcnJvciA6IGh0bWxQYXJzZUVudGl0eVJlZjogZXhwZWN0aW5nICc7JworTj0iaHR0cDovL25zYWRzLmhvdHdpcmVkLmNvbS9ldmVudC5uZy9UeXBlPWNsaWNrJlByb2ZpbGVJRD05Njg4JlJ1bklEPTE0MDc0JkFkSUQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCisuL3Rlc3QvSFRNTC93aXJlZC5odG1sOjY6IEhUTUwgcGFyc2VyIGVycm9yIDogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCitzLmhvdHdpcmVkLmNvbS9ldmVudC5uZy9UeXBlPWNsaWNrJlByb2ZpbGVJRD05Njg4JlJ1bklEPTE0MDc0JkFkSUQ9MjI1ODQmR3JvdXBJRAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9IVE1ML3dpcmVkLmh0bWw6NjogSFRNTCBwYXJzZXIgZXJyb3IgOiBodG1sUGFyc2VFbnRpdHlSZWY6IGV4cGVjdGluZyAnOycKK2NvbS9ldmVudC5uZy9UeXBlPWNsaWNrJlByb2ZpbGVJRD05Njg4JlJ1bklEPTE0MDc0JkFkSUQ9MjI1ODQmR3JvdXBJRD0xJkZhbWlseUlECisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgorLi90ZXN0L0hUTUwvd2lyZWQuaHRtbDo2OiBIVE1MIHBhcnNlciBlcnJvciA6IGh0bWxQYXJzZUVudGl0eVJlZjogZXhwZWN0aW5nICc7JworcGU9Y2xpY2smUHJvZmlsZUlEPTk2ODgmUnVuSUQ9MTQwNzQmQWRJRD0yMjU4NCZHcm91cElEPTEmRmFtaWx5SUQ9MjY4NCZUYWdWYWx1ZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCisuL3Rlc3QvSFRNTC93aXJlZC5odG1sOjUyOiBIVE1MIHBhcnNlciBlcnJvciA6IGh0bWxQYXJzZUVudGl0eVJlZjogZXhwZWN0aW5nICc7JworIiBhbGlnbj0iUklHSFQiPjxhIGhyZWY9Imh0dHA6Ly9uc2Fkcy5ob3R3aXJlZC5jb20vZXZlbnQubmcvVHlwZT1jbGljayZQcm9maWxlSUQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCisuL3Rlc3QvSFRNTC93aXJlZC5odG1sOjUyOiBIVE1MIHBhcnNlciBlcnJvciA6IGh0bWxQYXJzZUVudGl0eVJlZjogZXhwZWN0aW5nICc7JworR0hUIj48YSBocmVmPSJodHRwOi8vbnNhZHMuaG90d2lyZWQuY29tL2V2ZW50Lm5nL1R5cGU9Y2xpY2smUHJvZmlsZUlEPTU1OTcmUnVuSUQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCisuL3Rlc3QvSFRNTC93aXJlZC5odG1sOjUyOiBIVE1MIHBhcnNlciBlcnJvciA6IGh0bWxQYXJzZUVudGl0eVJlZjogZXhwZWN0aW5nICc7JworZj0iaHR0cDovL25zYWRzLmhvdHdpcmVkLmNvbS9ldmVudC5uZy9UeXBlPWNsaWNrJlByb2ZpbGVJRD01NTk3JlJ1bklEPTE3MTY3JkFkSUQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCisuL3Rlc3QvSFRNTC93aXJlZC5odG1sOjUyOiBIVE1MIHBhcnNlciBlcnJvciA6IGh0bWxQYXJzZUVudGl0eVJlZjogZXhwZWN0aW5nICc7Jworcy5ob3R3aXJlZC5jb20vZXZlbnQubmcvVHlwZT1jbGljayZQcm9maWxlSUQ9NTU5NyZSdW5JRD0xNzE2NyZBZElEPTIyNTg4Jkdyb3VwSUQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCisuL3Rlc3QvSFRNTC93aXJlZC5odG1sOjUyOiBIVE1MIHBhcnNlciBlcnJvciA6IGh0bWxQYXJzZUVudGl0eVJlZjogZXhwZWN0aW5nICc7JworY29tL2V2ZW50Lm5nL1R5cGU9Y2xpY2smUHJvZmlsZUlEPTU1OTcmUnVuSUQ9MTcxNjcmQWRJRD0yMjU4OCZHcm91cElEPTEmRmFtaWx5SUQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCisuL3Rlc3QvSFRNTC93aXJlZC5odG1sOjUyOiBIVE1MIHBhcnNlciBlcnJvciA6IGh0bWxQYXJzZUVudGl0eVJlZjogZXhwZWN0aW5nICc7JworcGU9Y2xpY2smUHJvZmlsZUlEPTU1OTcmUnVuSUQ9MTcxNjcmQWRJRD0yMjU4OCZHcm91cElEPTEmRmFtaWx5SUQ9MzIyOCZUYWdWYWx1ZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCisuL3Rlc3QvSFRNTC93aXJlZC5odG1sOjcwOiBIVE1MIHBhcnNlciBlcnJvciA6IFRhZyBub2JyIGludmFsaWQKKzx0ZCBiZ2NvbG9yPSIjRkYwMDAwIiBhbGlnbj0ibGVmdCIgdmFsaWduPSJjZW50ZXIiPjxub2JyPjxpbWcgc3JjPSJodHRwOi8vc3RhdGljCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9IVE1ML3dpcmVkLmh0bWw6ODk6IEhUTUwgcGFyc2VyIGVycm9yIDogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCitvbiB2YWx1ZT0iaHR0cDovL3NlYXJjaC5ob3R3aXJlZC5jb20vc2VhcmNoOTcvczk3LnZ0cz9BY3Rpb249RmlsdGVyU2VhcmNoJkZpbHRlcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9IVE1ML3dpcmVkLmh0bWw6ODk6IEhUTUwgcGFyc2VyIGVycm9yIDogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCitkLmNvbS9zZWFyY2g5Ny9zOTcudnRzP0FjdGlvbj1GaWx0ZXJTZWFyY2gmRmlsdGVyPWRvY3NfZmlsdGVyLmh0cyZSZXN1bHRUZW1wbGF0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9IVE1ML3dpcmVkLmh0bWw6ODk6IEhUTUwgcGFyc2VyIGVycm9yIDogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCitjdGlvbj1GaWx0ZXJTZWFyY2gmRmlsdGVyPWRvY3NfZmlsdGVyLmh0cyZSZXN1bHRUZW1wbGF0ZT12aWduZXR0ZS5odHMmQ29sbGVjdGlvbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9IVE1ML3dpcmVkLmh0bWw6ODk6IEhUTUwgcGFyc2VyIGVycm9yIDogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCitGaWx0ZXI9ZG9jc19maWx0ZXIuaHRzJlJlc3VsdFRlbXBsYXRlPXZpZ25ldHRlLmh0cyZDb2xsZWN0aW9uPXZpZ25ldHRlJlF1ZXJ5TW9kZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9IVE1ML3dpcmVkLmh0bWw6ODk6IEhUTUwgcGFyc2VyIGVycm9yIDogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCit0ZXIuaHRzJlJlc3VsdFRlbXBsYXRlPXZpZ25ldHRlLmh0cyZDb2xsZWN0aW9uPXZpZ25ldHRlJlF1ZXJ5TW9kZT1JbnRlcm5ldCZRdWVyeQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9IVE1ML3dpcmVkLmh0bWw6OTA6IEhUTUwgcGFyc2VyIGVycm9yIDogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCitvbiB2YWx1ZT0iaHR0cDovL3NlYXJjaC5ob3R3aXJlZC5jb20vc2VhcmNoOTcvczk3LnZ0cz9BY3Rpb249RmlsdGVyU2VhcmNoJkZpbHRlcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9IVE1ML3dpcmVkLmh0bWw6OTA6IEhUTUwgcGFyc2VyIGVycm9yIDogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCitkLmNvbS9zZWFyY2g5Ny9zOTcudnRzP0FjdGlvbj1GaWx0ZXJTZWFyY2gmRmlsdGVyPWRvY3NfZmlsdGVyLmh0cyZSZXN1bHRUZW1wbGF0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9IVE1ML3dpcmVkLmh0bWw6OTA6IEhUTUwgcGFyc2VyIGVycm9yIDogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCit0aW9uPUZpbHRlclNlYXJjaCZGaWx0ZXI9ZG9jc19maWx0ZXIuaHRzJlJlc3VsdFRlbXBsYXRlPXdlYm1vbmtleS5odHMmQ29sbGVjdGlvbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9IVE1ML3dpcmVkLmh0bWw6OTA6IEhUTUwgcGFyc2VyIGVycm9yIDogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCitsdGVyPWRvY3NfZmlsdGVyLmh0cyZSZXN1bHRUZW1wbGF0ZT13ZWJtb25rZXkuaHRzJkNvbGxlY3Rpb249d2VibW9ua2V5JlF1ZXJ5TW9kZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9IVE1ML3dpcmVkLmh0bWw6OTA6IEhUTUwgcGFyc2VyIGVycm9yIDogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCityLmh0cyZSZXN1bHRUZW1wbGF0ZT13ZWJtb25rZXkuaHRzJkNvbGxlY3Rpb249d2VibW9ua2V5JlF1ZXJ5TW9kZT1JbnRlcm5ldCZRdWVyeQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9IVE1ML3dpcmVkLmh0bWw6OTE6IEhUTUwgcGFyc2VyIGVycm9yIDogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCis9Imh0dHA6Ly9zZWFyY2guaG90d2lyZWQuY29tL3NlYXJjaDk3L3M5Ny52dHM/Y29sbGVjdGlvbj13ZWJtb25rZXlfZ3VpZGVzJkFjdGlvbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9IVE1ML3dpcmVkLmh0bWw6OTE6IEhUTUwgcGFyc2VyIGVycm9yIDogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCitpcmVkLmNvbS9zZWFyY2g5Ny9zOTcudnRzP2NvbGxlY3Rpb249d2VibW9ua2V5X2d1aWRlcyZBY3Rpb249RmlsdGVyU2VhcmNoJmZpbHRlcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9IVE1ML3dpcmVkLmh0bWw6OTE6IEhUTUwgcGFyc2VyIGVycm9yIDogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCitjdGlvbj13ZWJtb25rZXlfZ3VpZGVzJkFjdGlvbj1GaWx0ZXJTZWFyY2gmZmlsdGVyPWRvY3NfZmlsdGVyLmh0cyZSZXN1bHRUZW1wbGF0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9IVE1ML3dpcmVkLmh0bWw6OTE6IEhUTUwgcGFyc2VyIGVycm9yIDogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCitpbHRlclNlYXJjaCZmaWx0ZXI9ZG9jc19maWx0ZXIuaHRzJlJlc3VsdFRlbXBsYXRlPXdlYm1vbmtleV9ndWlkZXMuaHRzJlF1ZXJ5TW9kZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9IVE1ML3dpcmVkLmh0bWw6OTE6IEhUTUwgcGFyc2VyIGVycm9yIDogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCit0ZXI9ZG9jc19maWx0ZXIuaHRzJlJlc3VsdFRlbXBsYXRlPXdlYm1vbmtleV9ndWlkZXMuaHRzJlF1ZXJ5TW9kZT1JbnRlcm5ldCZRdWVyeQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9IVE1ML3dpcmVkLmh0bWw6OTI6IEhUTUwgcGFyc2VyIGVycm9yIDogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCitvbiB2YWx1ZT0iaHR0cDovL3NlYXJjaC5ob3R3aXJlZC5jb20vc2VhcmNoOTcvczk3LnZ0cz9jb2xsZWN0aW9uPWhvdHdpcmVkJkFjdGlvbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9IVE1ML3dpcmVkLmh0bWw6OTI6IEhUTUwgcGFyc2VyIGVycm9yIDogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCityY2guaG90d2lyZWQuY29tL3NlYXJjaDk3L3M5Ny52dHM/Y29sbGVjdGlvbj1ob3R3aXJlZCZBY3Rpb249RmlsdGVyU2VhcmNoJmZpbHRlcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9IVE1ML3dpcmVkLmh0bWw6OTI6IEhUTUwgcGFyc2VyIGVycm9yIDogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCit0cz9jb2xsZWN0aW9uPWhvdHdpcmVkJkFjdGlvbj1GaWx0ZXJTZWFyY2gmZmlsdGVyPWRvY3NfZmlsdGVyLmh0cyZSZXN1bHRUZW1wbGF0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9IVE1ML3dpcmVkLmh0bWw6OTI6IEhUTUwgcGFyc2VyIGVycm9yIDogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCitpbHRlclNlYXJjaCZmaWx0ZXI9ZG9jc19maWx0ZXIuaHRzJlJlc3VsdFRlbXBsYXRlPWhvdHdpcmVkX2FyY2hpdmUuaHRzJlF1ZXJ5TW9kZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9IVE1ML3dpcmVkLmh0bWw6OTI6IEhUTUwgcGFyc2VyIGVycm9yIDogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCit0ZXI9ZG9jc19maWx0ZXIuaHRzJlJlc3VsdFRlbXBsYXRlPWhvdHdpcmVkX2FyY2hpdmUuaHRzJlF1ZXJ5TW9kZT1JbnRlcm5ldCZRdWVyeQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9IVE1ML3dpcmVkLmh0bWw6OTM6IEhUTUwgcGFyc2VyIGVycm9yIDogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCitvbiB2YWx1ZT0iaHR0cDovL3NlYXJjaC5ob3R3aXJlZC5jb20vc2VhcmNoOTcvczk3LnZ0cz9BY3Rpb249RmlsdGVyU2VhcmNoJkZpbHRlcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9IVE1ML3dpcmVkLmh0bWw6OTM6IEhUTUwgcGFyc2VyIGVycm9yIDogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCitkLmNvbS9zZWFyY2g5Ny9zOTcudnRzP0FjdGlvbj1GaWx0ZXJTZWFyY2gmRmlsdGVyPWRvY3NfZmlsdGVyLmh0cyZSZXN1bHRUZW1wbGF0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9IVE1ML3dpcmVkLmh0bWw6OTM6IEhUTUwgcGFyc2VyIGVycm9yIDogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCitjdGlvbj1GaWx0ZXJTZWFyY2gmRmlsdGVyPWRvY3NfZmlsdGVyLmh0cyZSZXN1bHRUZW1wbGF0ZT1tYWdhemluZS5odHMmQ29sbGVjdGlvbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9IVE1ML3dpcmVkLmh0bWw6OTM6IEhUTUwgcGFyc2VyIGVycm9yIDogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCitGaWx0ZXI9ZG9jc19maWx0ZXIuaHRzJlJlc3VsdFRlbXBsYXRlPW1hZ2F6aW5lLmh0cyZDb2xsZWN0aW9uPW1hZ2F6aW5lJlF1ZXJ5TW9kZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9IVE1ML3dpcmVkLmh0bWw6OTM6IEhUTUwgcGFyc2VyIGVycm9yIDogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCit0ZXIuaHRzJlJlc3VsdFRlbXBsYXRlPW1hZ2F6aW5lLmh0cyZDb2xsZWN0aW9uPW1hZ2F6aW5lJlF1ZXJ5TW9kZT1JbnRlcm5ldCZRdWVyeQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9IVE1ML3dpcmVkLmh0bWw6OTQ6IEhUTUwgcGFyc2VyIGVycm9yIDogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCitvbiB2YWx1ZT0iaHR0cDovL3NlYXJjaC5ob3R3aXJlZC5jb20vc2VhcmNoOTcvczk3LnZ0cz9BY3Rpb249RmlsdGVyU2VhcmNoJkZpbHRlcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9IVE1ML3dpcmVkLmh0bWw6OTQ6IEhUTUwgcGFyc2VyIGVycm9yIDogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCitkLmNvbS9zZWFyY2g5Ny9zOTcudnRzP0FjdGlvbj1GaWx0ZXJTZWFyY2gmRmlsdGVyPWRvY3NfZmlsdGVyLmh0cyZSZXN1bHRUZW1wbGF0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9IVE1ML3dpcmVkLmh0bWw6OTQ6IEhUTUwgcGFyc2VyIGVycm9yIDogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCit0aW9uPUZpbHRlclNlYXJjaCZGaWx0ZXI9ZG9jc19maWx0ZXIuaHRzJlJlc3VsdFRlbXBsYXRlPWFuaW1hdGlvbi5odHMmQ29sbGVjdGlvbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9IVE1ML3dpcmVkLmh0bWw6OTQ6IEhUTUwgcGFyc2VyIGVycm9yIDogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCitsdGVyPWRvY3NfZmlsdGVyLmh0cyZSZXN1bHRUZW1wbGF0ZT1hbmltYXRpb24uaHRzJkNvbGxlY3Rpb249YW5pbWF0aW9uJlF1ZXJ5TW9kZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9IVE1ML3dpcmVkLmh0bWw6OTQ6IEhUTUwgcGFyc2VyIGVycm9yIDogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCityLmh0cyZSZXN1bHRUZW1wbGF0ZT1hbmltYXRpb24uaHRzJkNvbGxlY3Rpb249YW5pbWF0aW9uJlF1ZXJ5TW9kZT1JbnRlcm5ldCZRdWVyeQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9IVE1ML3dpcmVkLmh0bWw6OTU6IEhUTUwgcGFyc2VyIGVycm9yIDogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCitvcHRpb24gdmFsdWU9Imh0dHA6Ly9zZWFyY2guaG90d2lyZWQuY29tL3NlYXJjaDk3L3M5Ny52dHM/Y29sbGVjdGlvbj1zdWNrJkFjdGlvbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9IVE1ML3dpcmVkLmh0bWw6OTU6IEhUTUwgcGFyc2VyIGVycm9yIDogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCisvc2VhcmNoLmhvdHdpcmVkLmNvbS9zZWFyY2g5Ny9zOTcudnRzP2NvbGxlY3Rpb249c3VjayZBY3Rpb249RmlsdGVyU2VhcmNoJmZpbHRlcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9IVE1ML3dpcmVkLmh0bWw6OTU6IEhUTUwgcGFyc2VyIGVycm9yIDogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCis5Ny52dHM/Y29sbGVjdGlvbj1zdWNrJkFjdGlvbj1GaWx0ZXJTZWFyY2gmZmlsdGVyPWRvY3NfZmlsdGVyLmh0cyZSZXN1bHRUZW1wbGF0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9IVE1ML3dpcmVkLmh0bWw6OTU6IEhUTUwgcGFyc2VyIGVycm9yIDogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCit1Y2smQWN0aW9uPUZpbHRlclNlYXJjaCZmaWx0ZXI9ZG9jc19maWx0ZXIuaHRzJlJlc3VsdFRlbXBsYXRlPXN1Y2suaHRzJlF1ZXJ5TW9kZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9IVE1ML3dpcmVkLmh0bWw6OTU6IEhUTUwgcGFyc2VyIGVycm9yIDogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCitlclNlYXJjaCZmaWx0ZXI9ZG9jc19maWx0ZXIuaHRzJlJlc3VsdFRlbXBsYXRlPXN1Y2suaHRzJlF1ZXJ5TW9kZT1JbnRlcm5ldCZRdWVyeQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9IVE1ML3dpcmVkLmh0bWw6OTY6IEhUTUwgcGFyc2VyIGVycm9yIDogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCitsdWU9Imh0dHA6Ly9zZWFyY2guaG90d2lyZWQuY29tL3NlYXJjaDk3L3M5Ny52dHM/Y29sbGVjdGlvbj11YmVyX2hvdHdpcmVkJkFjdGlvbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9IVE1ML3dpcmVkLmh0bWw6OTY6IEhUTUwgcGFyc2VyIGVycm9yIDogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCitvdHdpcmVkLmNvbS9zZWFyY2g5Ny9zOTcudnRzP2NvbGxlY3Rpb249dWJlcl9ob3R3aXJlZCZBY3Rpb249RmlsdGVyU2VhcmNoJmZpbHRlcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9IVE1ML3dpcmVkLmh0bWw6OTY6IEhUTUwgcGFyc2VyIGVycm9yIDogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCitsbGVjdGlvbj11YmVyX2hvdHdpcmVkJkFjdGlvbj1GaWx0ZXJTZWFyY2gmZmlsdGVyPWRvY3NfZmlsdGVyLmh0cyZSZXN1bHRUZW1wbGF0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9IVE1ML3dpcmVkLmh0bWw6OTY6IEhUTUwgcGFyc2VyIGVycm9yIDogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCituPUZpbHRlclNlYXJjaCZmaWx0ZXI9ZG9jc19maWx0ZXIuaHRzJlJlc3VsdFRlbXBsYXRlPXViZXJfaG90d2lyZWQuaHRzJlF1ZXJ5TW9kZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9IVE1ML3dpcmVkLmh0bWw6OTY6IEhUTUwgcGFyc2VyIGVycm9yIDogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCitmaWx0ZXI9ZG9jc19maWx0ZXIuaHRzJlJlc3VsdFRlbXBsYXRlPXViZXJfaG90d2lyZWQuaHRzJlF1ZXJ5TW9kZT1JbnRlcm5ldCZRdWVyeQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9IVE1ML3dpcmVkLmh0bWw6OTc6IEhUTUwgcGFyc2VyIGVycm9yIDogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCisgPG9wdGlvbiB2YWx1ZT0iaHR0cDovL3d3dy5ob3Rib3QuY29tLz9TTT1NQyZEVj0wJkxHPWFueSZSRD1SRyZEQz0xMCZERT0yJl92PTImTworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCisuL3Rlc3QvSFRNTC93aXJlZC5odG1sOjk3OiBIVE1MIHBhcnNlciBlcnJvciA6IGh0bWxQYXJzZUVudGl0eVJlZjogZXhwZWN0aW5nICc7JworIDxvcHRpb24gdmFsdWU9Imh0dHA6Ly93d3cuaG90Ym90LmNvbS8/U009TUMmRFY9MCZMRz1hbnkmUkQ9UkcmREM9MTAmREU9MiZfdj0yJk8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCisuL3Rlc3QvSFRNTC93aXJlZC5odG1sOjk3OiBIVE1MIHBhcnNlciBlcnJvciA6IGh0bWxQYXJzZUVudGl0eVJlZjogZXhwZWN0aW5nICc7JworIDxvcHRpb24gdmFsdWU9Imh0dHA6Ly93d3cuaG90Ym90LmNvbS8/U009TUMmRFY9MCZMRz1hbnkmUkQ9UkcmREM9MTAmREU9MiZfdj0yJk8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgorLi90ZXN0L0hUTUwvd2lyZWQuaHRtbDo5NzogSFRNTCBwYXJzZXIgZXJyb3IgOiBodG1sUGFyc2VFbnRpdHlSZWY6IGV4cGVjdGluZyAnOycKKyA8b3B0aW9uIHZhbHVlPSJodHRwOi8vd3d3LmhvdGJvdC5jb20vP1NNPU1DJkRWPTAmTEc9YW55JlJEPVJHJkRDPTEwJkRFPTImX3Y9MiZPCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9IVE1ML3dpcmVkLmh0bWw6OTc6IEhUTUwgcGFyc2VyIGVycm9yIDogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCisgPG9wdGlvbiB2YWx1ZT0iaHR0cDovL3d3dy5ob3Rib3QuY29tLz9TTT1NQyZEVj0wJkxHPWFueSZSRD1SRyZEQz0xMCZERT0yJl92PTImTworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCisuL3Rlc3QvSFRNTC93aXJlZC5odG1sOjk3OiBIVE1MIHBhcnNlciBlcnJvciA6IGh0bWxQYXJzZUVudGl0eVJlZjogZXhwZWN0aW5nICc7JworIDxvcHRpb24gdmFsdWU9Imh0dHA6Ly93d3cuaG90Ym90LmNvbS8/U009TUMmRFY9MCZMRz1hbnkmUkQ9UkcmREM9MTAmREU9MiZfdj0yJk8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCisuL3Rlc3QvSFRNTC93aXJlZC5odG1sOjk3OiBIVE1MIHBhcnNlciBlcnJvciA6IGh0bWxQYXJzZUVudGl0eVJlZjogZXhwZWN0aW5nICc7Jworb3B0aW9uIHZhbHVlPSJodHRwOi8vd3d3LmhvdGJvdC5jb20vP1NNPU1DJkRWPTAmTEc9YW55JlJEPVJHJkRDPTEwJkRFPTImX3Y9MiZPUHMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCisuL3Rlc3QvSFRNTC93aXJlZC5odG1sOjk3OiBIVE1MIHBhcnNlciBlcnJvciA6IGh0bWxQYXJzZUVudGl0eVJlZjogZXhwZWN0aW5nICc7JworbHVlPSJodHRwOi8vd3d3LmhvdGJvdC5jb20vP1NNPU1DJkRWPTAmTEc9YW55JlJEPVJHJkRDPTEwJkRFPTImX3Y9MiZPUHM9TURSVFAmTVQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCisuL3Rlc3QvSFRNTC93aXJlZC5odG1sOjE3MDogSFRNTCBwYXJzZXIgZXJyb3IgOiBVbmV4cGVjdGVkIGVuZCB0YWcgOiBmb3JtCisJPC90cj4gICAgPC9mb3JtPgorCSAgICAgICAgICAgICAgICBeCisuL3Rlc3QvSFRNTC93aXJlZC5odG1sOjI0ODogSFRNTCBwYXJzZXIgZXJyb3IgOiBodG1sUGFyc2VFbnRpdHlSZWY6IGV4cGVjdGluZyAnOycKK01HIFNSQz0iaHR0cDovL2Jhcm5lc2FuZG5vYmxlLmJmYXN0LmNvbS9ib29rbGluay9zZXJ2ZT9zb3VyY2VpZD0zODM0NzEmaXNfc2VhcmNoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgorLi90ZXN0L0hUTUwvd2lyZWQuaHRtbDoyNjU6IEhUTUwgcGFyc2VyIGVycm9yIDogVW5leHBlY3RlZCBlbmQgdGFnIDogZm9ybQorICAgICAgICA8L3RyPiAgPC9mb3JtPgorICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9IVE1ML3dpcmVkLmh0bWw6MzQ2OiBIVE1MIHBhcnNlciBlcnJvciA6IE9wZW5pbmcgYW5kIGVuZGluZyB0YWcgbWlzbWF0Y2g6IHRkIGFuZCBmb250Cis8L3RkPgorICAgICBeCisuL3Rlc3QvSFRNTC93aXJlZC5odG1sOjM3NDogSFRNTCBwYXJzZXIgZXJyb3IgOiBodG1sUGFyc2VFbnRpdHlSZWY6IG5vIG5hbWUKK2EsIHNhbnMtc2VyaWYiPjxiPjxhIGhyZWY9Ii9uZXdzL2NvbW1lbnRhcnlTZWN0aW9uLzAsMTI5MiwzMTkyNiwwMC5odG1sIj5SYW50cyAmCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgorLi90ZXN0L0hUTUwvd2lyZWQuaHRtbDozNzQ6IEhUTUwgcGFyc2VyIGVycm9yIDogT3BlbmluZyBhbmQgZW5kaW5nIHRhZyBtaXNtYXRjaDogdGQgYW5kIGZvbnQKK1JlYWRlcnMgb24gQXBwbGUncyBHNCAuLi4gQU9MJ3MgcGFzc3dvcmRzIC4uLiBNUyB2cy4gTGludXguPC9mb250Pjxicj48YnI+ICA8L3RkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgorLi90ZXN0L0hUTUwvd2lyZWQuaHRtbDozNzQ6IEhUTUwgcGFyc2VyIGVycm9yIDogT3BlbmluZyBhbmQgZW5kaW5nIHRhZyBtaXNtYXRjaDogdGQgYW5kIGZvbnQKK1JlYWRlcnMgb24gQXBwbGUncyBHNCAuLi4gQU9MJ3MgcGFzc3dvcmRzIC4uLiBNUyB2cy4gTGludXguPC9mb250Pjxicj48YnI+ICA8L3RkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgorLi90ZXN0L0hUTUwvd2lyZWQuaHRtbDo0MDI6IEhUTUwgcGFyc2VyIGVycm9yIDogT3BlbmluZyBhbmQgZW5kaW5nIHRhZyBtaXNtYXRjaDogYSBhbmQgZm9udAordy52aWduZXR0ZS5jb20vIiBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOm5vbmUiPjxmb250IGNvbG9yPSIjMDAwMDAwIj5WaWduZXR0ZTwvYT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCisuL3Rlc3QvSFRNTC93aXJlZC5odG1sOjQwNzogSFRNTCBwYXJzZXIgZXJyb3IgOiBodG1sUGFyc2VFbnRpdHlSZWY6IGV4cGVjdGluZyAnOycKK2VydmxldC9hcHBzZXJ2bGV0P2Zyb209L3dpcmVkL3NwcmludC8mdGVtcGxhdGU9L3NlY3VyaXR5L3NlY3VyaXR5Lmh0bWwmU0lURT0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCisuL3Rlc3QvSFRNTC93aXJlZC5odG1sOjQwNzogSFRNTCBwYXJzZXIgZXJyb3IgOiBodG1sUGFyc2VFbnRpdHlSZWY6IGV4cGVjdGluZyAnOycKK2VydmxldC9hcHBzZXJ2bGV0P2Zyb209L3dpcmVkL3NwcmludC8mdGVtcGxhdGU9L3NlY3VyaXR5L3NlY3VyaXR5Lmh0bWwmU0lURT0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9IVE1ML3dpcmVkLmh0bWw6NDA4OiBIVE1MIHBhcnNlciBlcnJvciA6IGh0bWxQYXJzZUVudGl0eVJlZjogZXhwZWN0aW5nICc7Jword2lyZWQuY29tJkJBTk5FUj1TcHJpbnQiIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246bm9uZSI+PGZvbnQgY29sb3I9IiMwMDAwMDAiPlNwcmkKKyAgICAgICAgICAgICAgICBeCisuL3Rlc3QvSFRNTC93aXJlZC5odG1sOjQwODogSFRNTCBwYXJzZXIgZXJyb3IgOiBPcGVuaW5nIGFuZCBlbmRpbmcgdGFnIG1pc21hdGNoOiBhIGFuZCBmb250Citjb20mQkFOTkVSPVNwcmludCIgc3R5bGU9InRleHQtZGVjb3JhdGlvbjpub25lIj48Zm9udCBjb2xvcj0iIzAwMDAwMCI+U3ByaW50PC9hPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9IVE1ML3dpcmVkLmh0bWw6NDA4OiBIVE1MIHBhcnNlciBlcnJvciA6IEVuZCB0YWcgOiBleHBlY3RlZCAnPicKKz1TcHJpbnQiIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246bm9uZSI+PGZvbnQgY29sb3I9IiMwMDAwMDAiPlNwcmludDwvYT48L2k+PC9mb250CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgorLi90ZXN0L0hUTUwvd2lyZWQuaHRtbDo0MTQ6IEhUTUwgcGFyc2VyIGVycm9yIDogT3BlbmluZyBhbmQgZW5kaW5nIHRhZyBtaXNtYXRjaDogdGQgYW5kIGZvbnQKKzwvdGQ+CisgICAgIF4KKy4vdGVzdC9IVE1ML3dpcmVkLmh0bWw6NDE0OiBIVE1MIHBhcnNlciBlcnJvciA6IE9wZW5pbmcgYW5kIGVuZGluZyB0YWcgbWlzbWF0Y2g6IHRkIGFuZCBmb250Cis8L3RkPgorICAgICBeCisuL3Rlc3QvSFRNTC93aXJlZC5odG1sOjQxNDogSFRNTCBwYXJzZXIgZXJyb3IgOiBPcGVuaW5nIGFuZCBlbmRpbmcgdGFnIG1pc21hdGNoOiB0ZCBhbmQgZm9udAorPC90ZD4KKyAgICAgXgorLi90ZXN0L0hUTUwvd2lyZWQuaHRtbDo0MTQ6IEhUTUwgcGFyc2VyIGVycm9yIDogT3BlbmluZyBhbmQgZW5kaW5nIHRhZyBtaXNtYXRjaDogdGQgYW5kIGZvbnQKKzwvdGQ+CisgICAgIF4KKy4vdGVzdC9IVE1ML3dpcmVkLmh0bWw6NDE0OiBIVE1MIHBhcnNlciBlcnJvciA6IE9wZW5pbmcgYW5kIGVuZGluZyB0YWcgbWlzbWF0Y2g6IHRkIGFuZCBmb250Cis8L3RkPgorICAgICBeCisuL3Rlc3QvSFRNTC93aXJlZC5odG1sOjQxNDogSFRNTCBwYXJzZXIgZXJyb3IgOiBPcGVuaW5nIGFuZCBlbmRpbmcgdGFnIG1pc21hdGNoOiB0ZCBhbmQgZm9udAorPC90ZD4KKyAgICAgXgorLi90ZXN0L0hUTUwvd2lyZWQuaHRtbDo0MTQ6IEhUTUwgcGFyc2VyIGVycm9yIDogT3BlbmluZyBhbmQgZW5kaW5nIHRhZyBtaXNtYXRjaDogdGQgYW5kIGZvbnQKKzwvdGQ+CisgICAgIF4KKy4vdGVzdC9IVE1ML3dpcmVkLmh0bWw6NDE0OiBIVE1MIHBhcnNlciBlcnJvciA6IE9wZW5pbmcgYW5kIGVuZGluZyB0YWcgbWlzbWF0Y2g6IHRkIGFuZCBmb250Cis8L3RkPgorICAgICBeCisuL3Rlc3QvSFRNTC93aXJlZC5odG1sOjQzMjogSFRNTCBwYXJzZXIgZXJyb3IgOiBodG1sUGFyc2VFbnRpdHlSZWY6IGV4cGVjdGluZyAnOycKK2hyZWY9Imh0dHA6Ly93d3cubHljb3MuY29tL25ld3MvZmxhc2gvaGl0bGVyYnVua2VyLmh0bWw/dj13bjEwMTUmbHB2PTEiPkx5Y29zPC9hCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L0hUTUwvd2lyZWQuaHRtbC5zYXggYi9saWJ4bWwyL3Jlc3VsdC9IVE1ML3dpcmVkLmh0bWwuc2F4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM4NjBjNzYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9IVE1ML3dpcmVkLmh0bWwuc2F4CkBAIC0wLDAgKzEsMjg0OCBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguY29tbWVudCggVmlnbmV0dGUgU3RvcnlTZXJ2ZXIgNCBGcmkgT2N0IDE1IDExOjM3OjEyIDE5OTkgKQorU0FYLnN0YXJ0RWxlbWVudChodG1sKQorU0FYLnN0YXJ0RWxlbWVudChoZWFkKQorU0FYLnN0YXJ0RWxlbWVudCh0aXRsZSkKK1NBWC5jaGFyYWN0ZXJzKFRvcCBTdG9yaWVzIE5ld3MgZnJvbSBXaXJlZCBOZSwgMzIpCitTQVguZW5kRWxlbWVudCh0aXRsZSkKK1NBWC5lbmRFbGVtZW50KGhlYWQpCitTQVguc3RhcnRFbGVtZW50KGJvZHksIGJnY29sb3I9JyNGRkZGRkYnLCB0ZXh0PScjMDAwMDAwJywgbGluaz0nIzMzMzM5OScsIHZsaW5rPScjNjYwMDY2JywgYWxpbms9JyM2NjY2OTknKQorU0FYLmNoYXJhY3RlcnMoCisKKywgMikKK1NBWC5zdGFydEVsZW1lbnQodGFibGUsIGJvcmRlcj0nMCcsIHdpZHRoPSc2MDAnLCBjZWxsc3BhY2luZz0nMCcsIGNlbGxwYWRkaW5nPScwJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHRyKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudCh0ZCwgdmFsaWduPSd0b3AnLCBhbGlnbj0nTEVGVCcpCitTQVguc3RhcnRFbGVtZW50KHRhYmxlLCBib3JkZXI9JzAnLCBjZWxscGFkZGluZz0nMCcsIGNlbGxzcGFjaW5nPScwJywgd2lkdGg9JzQ2OCcsIGhlaWdodD0nNjAnLCBiZ2NvbG9yPScjRkZGRkZGJykKK1NBWC5lcnJvcjogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCitTQVguZXJyb3I6IGh0bWxQYXJzZUVudGl0eVJlZjogZXhwZWN0aW5nICc7JworU0FYLmVycm9yOiBodG1sUGFyc2VFbnRpdHlSZWY6IGV4cGVjdGluZyAnOycKK1NBWC5lcnJvcjogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCitTQVguZXJyb3I6IGh0bWxQYXJzZUVudGl0eVJlZjogZXhwZWN0aW5nICc7JworU0FYLmVycm9yOiBodG1sUGFyc2VFbnRpdHlSZWY6IGV4cGVjdGluZyAnOycKK1NBWC5zdGFydEVsZW1lbnQoZm9ybSwgbWV0aG9kPSdHRVQnLCBhY3Rpb249J2h0dHA6Ly9uc2Fkcy5ob3R3aXJlZC5jb20vZXZlbnQubmcvVHlwZT1jbGljayZhbXA7UHJvZmlsZUlEPTk2ODgmYW1wO1J1bklEPTE0MDc0JmFtcDtBZElEPTIyNTg0JmFtcDtHcm91cElEPTEmYW1wO0ZhbWlseUlEPTI2ODQmYW1wO1RhZ1ZhbHVlcz04LjI1LjE1Ni4xNTkuMTY2LjE3MS4xNzIuMTc0LjE3OS4xODAuMTgxLjE4Mi4xODMuMTk2LjE5Ny4xOTkuMjA4LjM4OS40MTIuNDM2LjIwNDEuNjc1MC43ODQ1Ni43OTYzMC44MTg4MCZhbXA7UmVkaXJlY3Q9aHR0cDovL3d3dy5zcHJpbmdzdHJlZXQuY29tL2FhL2NpdHlzZWFyY2guaHRtJywgaWQ9J2Zvcm0xJywgbmFtZT0nZm9ybTEnKQorU0FYLmNoYXJhY3RlcnMoDQorLCAyKQorU0FYLnN0YXJ0RWxlbWVudCh0cikKK1NBWC5zdGFydEVsZW1lbnQodGQsIGJnY29sb3I9JyMzMzAwOTknKQorU0FYLnN0YXJ0RWxlbWVudChpbnB1dCwgbmFtZT0nY2l0eScsIHR5cGU9J3RleHQnLCBzaXplPSc3JywgbWF4bGVuZ3RoPScyMCcsIHZhbHVlPSdTZWF0dGxlJykKK1NBWC5lbmRFbGVtZW50KGlucHV0KQorU0FYLmVuZEVsZW1lbnQodGQpCitTQVguY2hhcmFjdGVycygNCissIDIpCitTQVguc3RhcnRFbGVtZW50KHRkLCByb3dzcGFuPScyJywgYWxpZ249J0xFRlQnLCBiZ2NvbG9yPSdGRkZGRkYnKQorU0FYLnN0YXJ0RWxlbWVudChpbnB1dCwgdHlwZT0nSU1BR0UnLCBzcmM9J2h0dHA6Ly9zdGF0aWMud2lyZWQuY29tL2FkdmVydGlzaW5nL2JsaXB2ZXJ0cy9hbGxhcGFydG1lbnRzLzk5MDYyNWpwYV9zc3Rob21lLmdpZicsIHdpZHRoPSczNzUnLCBoZWlnaHQ9JzYwJywgYm9yZGVyPScwJywgdmFsdWU9J3NlYXJjaCcsIGhzcGFjZT0nMCcsIGFsdD0nU2VhcmNoIG92ZXIgNiwwMDAsMDAwIEFwdHMgd2l0aCBTcHJpbmdTdHJlZXQnKQorU0FYLmVuZEVsZW1lbnQoaW5wdXQpCitTQVguZW5kRWxlbWVudCh0ZCkKK1NBWC5lbmRFbGVtZW50KHRyKQorU0FYLmNoYXJhY3RlcnMoDQorLCAyKQorU0FYLnN0YXJ0RWxlbWVudCh0cikKK1NBWC5zdGFydEVsZW1lbnQodGQsIGJnY29sb3I9JyMzMzAwOTknKQorU0FYLmNoYXJhY3RlcnMoDQorLCAyKQorU0FYLnN0YXJ0RWxlbWVudChzZWxlY3QsIG5hbWU9J3N0YXRlJykKK1NBWC5jaGFyYWN0ZXJzKA0KKywgMikKK1NBWC5zdGFydEVsZW1lbnQob3B0aW9uLCB2YWx1ZT0nV0EnLCBzZWxlY3RlZCkKK1NBWC5jaGFyYWN0ZXJzKFdBDQorLCA0KQorU0FYLmVuZEVsZW1lbnQob3B0aW9uKQorU0FYLnN0YXJ0RWxlbWVudChvcHRpb24sIHZhbHVlPSdBTCcpCitTQVguY2hhcmFjdGVycyhBTCwgMikKK1NBWC5lbmRFbGVtZW50KG9wdGlvbikKK1NBWC5zdGFydEVsZW1lbnQob3B0aW9uLCB2YWx1ZT0nQUsnKQorU0FYLmNoYXJhY3RlcnMoQUssIDIpCitTQVguZW5kRWxlbWVudChvcHRpb24pCitTQVguY2hhcmFjdGVycygNCissIDIpCitTQVguc3RhcnRFbGVtZW50KG9wdGlvbiwgdmFsdWU9J0FaJykKK1NBWC5jaGFyYWN0ZXJzKEFaLCAyKQorU0FYLmVuZEVsZW1lbnQob3B0aW9uKQorU0FYLmNoYXJhY3RlcnMoDQorLCAyKQorU0FYLnN0YXJ0RWxlbWVudChvcHRpb24sIHZhbHVlPSdBUicpCitTQVguY2hhcmFjdGVycyhBUiwgMikKK1NBWC5lbmRFbGVtZW50KG9wdGlvbikKK1NBWC5jaGFyYWN0ZXJzKA0KKywgMikKK1NBWC5zdGFydEVsZW1lbnQob3B0aW9uLCB2YWx1ZT0nQ0EnKQorU0FYLmNoYXJhY3RlcnMoQ0EsIDIpCitTQVguZW5kRWxlbWVudChvcHRpb24pCitTQVguY2hhcmFjdGVycygNCissIDIpCitTQVguc3RhcnRFbGVtZW50KG9wdGlvbiwgdmFsdWU9J0NPJykKK1NBWC5jaGFyYWN0ZXJzKENPLCAyKQorU0FYLmVuZEVsZW1lbnQob3B0aW9uKQorU0FYLmNoYXJhY3RlcnMoDQorLCAyKQorU0FYLnN0YXJ0RWxlbWVudChvcHRpb24sIHZhbHVlPSdDVCcpCitTQVguY2hhcmFjdGVycyhDVCwgMikKK1NBWC5lbmRFbGVtZW50KG9wdGlvbikKK1NBWC5jaGFyYWN0ZXJzKA0KKywgMikKK1NBWC5zdGFydEVsZW1lbnQob3B0aW9uLCB2YWx1ZT0nREUnKQorU0FYLmNoYXJhY3RlcnMoREUsIDIpCitTQVguZW5kRWxlbWVudChvcHRpb24pCitTQVguY2hhcmFjdGVycygNCissIDIpCitTQVguc3RhcnRFbGVtZW50KG9wdGlvbiwgdmFsdWU9J0RDJykKK1NBWC5jaGFyYWN0ZXJzKERDLCAyKQorU0FYLmVuZEVsZW1lbnQob3B0aW9uKQorU0FYLmNoYXJhY3RlcnMoDQorLCAyKQorU0FYLnN0YXJ0RWxlbWVudChvcHRpb24sIHZhbHVlPSdGTCcpCitTQVguY2hhcmFjdGVycyhGTCwgMikKK1NBWC5lbmRFbGVtZW50KG9wdGlvbikKK1NBWC5jaGFyYWN0ZXJzKA0KKywgMikKK1NBWC5zdGFydEVsZW1lbnQob3B0aW9uLCB2YWx1ZT0nR0EnKQorU0FYLmNoYXJhY3RlcnMoR0EsIDIpCitTQVguZW5kRWxlbWVudChvcHRpb24pCitTQVguc3RhcnRFbGVtZW50KG9wdGlvbiwgdmFsdWU9J0hJJykKK1NBWC5jaGFyYWN0ZXJzKEhJLCAyKQorU0FYLmVuZEVsZW1lbnQob3B0aW9uKQorU0FYLmNoYXJhY3RlcnMoDQorLCAyKQorU0FYLnN0YXJ0RWxlbWVudChvcHRpb24sIHZhbHVlPSdJRCcpCitTQVguY2hhcmFjdGVycyhJRCwgMikKK1NBWC5lbmRFbGVtZW50KG9wdGlvbikKK1NBWC5jaGFyYWN0ZXJzKA0KKywgMikKK1NBWC5zdGFydEVsZW1lbnQob3B0aW9uLCB2YWx1ZT0nSUwnKQorU0FYLmNoYXJhY3RlcnMoSUwsIDIpCitTQVguZW5kRWxlbWVudChvcHRpb24pCitTQVguY2hhcmFjdGVycygNCissIDIpCitTQVguc3RhcnRFbGVtZW50KG9wdGlvbiwgdmFsdWU9J0lOJykKK1NBWC5jaGFyYWN0ZXJzKElOLCAyKQorU0FYLmVuZEVsZW1lbnQob3B0aW9uKQorU0FYLnN0YXJ0RWxlbWVudChvcHRpb24sIHZhbHVlPSdJQScpCitTQVguY2hhcmFjdGVycyhJQSwgMikKK1NBWC5lbmRFbGVtZW50KG9wdGlvbikKK1NBWC5zdGFydEVsZW1lbnQob3B0aW9uLCB2YWx1ZT0nS1MnKQorU0FYLmNoYXJhY3RlcnMoS1MsIDIpCitTQVguZW5kRWxlbWVudChvcHRpb24pCitTQVguc3RhcnRFbGVtZW50KG9wdGlvbiwgdmFsdWU9J0tZJykKK1NBWC5jaGFyYWN0ZXJzKEtZLCAyKQorU0FYLmVuZEVsZW1lbnQob3B0aW9uKQorU0FYLmNoYXJhY3RlcnMoDQorLCAyKQorU0FYLnN0YXJ0RWxlbWVudChvcHRpb24sIHZhbHVlPSdMQScpCitTQVguY2hhcmFjdGVycyhMQSwgMikKK1NBWC5lbmRFbGVtZW50KG9wdGlvbikKK1NBWC5jaGFyYWN0ZXJzKA0KKywgMikKK1NBWC5zdGFydEVsZW1lbnQob3B0aW9uLCB2YWx1ZT0nTUUnKQorU0FYLmNoYXJhY3RlcnMoTUUsIDIpCitTQVguZW5kRWxlbWVudChvcHRpb24pCitTQVguc3RhcnRFbGVtZW50KG9wdGlvbiwgdmFsdWU9J01EJykKK1NBWC5jaGFyYWN0ZXJzKE1ELCAyKQorU0FYLmVuZEVsZW1lbnQob3B0aW9uKQorU0FYLmNoYXJhY3RlcnMoDQorLCAyKQorU0FYLnN0YXJ0RWxlbWVudChvcHRpb24sIHZhbHVlPSdNQScpCitTQVguY2hhcmFjdGVycyhNQSwgMikKK1NBWC5lbmRFbGVtZW50KG9wdGlvbikKK1NBWC5jaGFyYWN0ZXJzKA0KKywgMikKK1NBWC5zdGFydEVsZW1lbnQob3B0aW9uLCB2YWx1ZT0nTUknKQorU0FYLmNoYXJhY3RlcnMoTUksIDIpCitTQVguZW5kRWxlbWVudChvcHRpb24pCitTQVguc3RhcnRFbGVtZW50KG9wdGlvbiwgdmFsdWU9J01OJykKK1NBWC5jaGFyYWN0ZXJzKE1OLCAyKQorU0FYLmVuZEVsZW1lbnQob3B0aW9uKQorU0FYLnN0YXJ0RWxlbWVudChvcHRpb24sIHZhbHVlPSdNUycpCitTQVguY2hhcmFjdGVycyhNUywgMikKK1NBWC5lbmRFbGVtZW50KG9wdGlvbikKK1NBWC5jaGFyYWN0ZXJzKA0KKywgMikKK1NBWC5zdGFydEVsZW1lbnQob3B0aW9uLCB2YWx1ZT0nTU8nKQorU0FYLmNoYXJhY3RlcnMoTU8sIDIpCitTQVguZW5kRWxlbWVudChvcHRpb24pCitTQVguY2hhcmFjdGVycygNCissIDIpCitTQVguc3RhcnRFbGVtZW50KG9wdGlvbiwgdmFsdWU9J01UJykKK1NBWC5jaGFyYWN0ZXJzKE1ULCAyKQorU0FYLmVuZEVsZW1lbnQob3B0aW9uKQorU0FYLnN0YXJ0RWxlbWVudChvcHRpb24sIHZhbHVlPSdORScpCitTQVguY2hhcmFjdGVycyhORSwgMikKK1NBWC5lbmRFbGVtZW50KG9wdGlvbikKK1NBWC5jaGFyYWN0ZXJzKA0KKywgMikKK1NBWC5zdGFydEVsZW1lbnQob3B0aW9uLCB2YWx1ZT0nTlYnKQorU0FYLmNoYXJhY3RlcnMoTlYsIDIpCitTQVguZW5kRWxlbWVudChvcHRpb24pCitTQVguc3RhcnRFbGVtZW50KG9wdGlvbiwgdmFsdWU9J05IJykKK1NBWC5jaGFyYWN0ZXJzKE5ILCAyKQorU0FYLmVuZEVsZW1lbnQob3B0aW9uKQorU0FYLmNoYXJhY3RlcnMoDQorLCAyKQorU0FYLnN0YXJ0RWxlbWVudChvcHRpb24sIHZhbHVlPSdOSicpCitTQVguY2hhcmFjdGVycyhOSiwgMikKK1NBWC5lbmRFbGVtZW50KG9wdGlvbikKK1NBWC5jaGFyYWN0ZXJzKA0KKywgMikKK1NBWC5zdGFydEVsZW1lbnQob3B0aW9uLCB2YWx1ZT0nTk0nKQorU0FYLmNoYXJhY3RlcnMoTk0sIDIpCitTQVguZW5kRWxlbWVudChvcHRpb24pCitTQVguc3RhcnRFbGVtZW50KG9wdGlvbiwgdmFsdWU9J05ZJykKK1NBWC5jaGFyYWN0ZXJzKE5ZLCAyKQorU0FYLmVuZEVsZW1lbnQob3B0aW9uKQorU0FYLmNoYXJhY3RlcnMoDQorLCAyKQorU0FYLnN0YXJ0RWxlbWVudChvcHRpb24sIHZhbHVlPSdOQycpCitTQVguY2hhcmFjdGVycyhOQywgMikKK1NBWC5lbmRFbGVtZW50KG9wdGlvbikKK1NBWC5jaGFyYWN0ZXJzKA0KKywgMikKK1NBWC5zdGFydEVsZW1lbnQob3B0aW9uLCB2YWx1ZT0nTkQnKQorU0FYLmNoYXJhY3RlcnMoTkQsIDIpCitTQVguZW5kRWxlbWVudChvcHRpb24pCitTQVguY2hhcmFjdGVycygNCissIDIpCitTQVguc3RhcnRFbGVtZW50KG9wdGlvbiwgdmFsdWU9J09IJykKK1NBWC5jaGFyYWN0ZXJzKE9ILCAyKQorU0FYLmVuZEVsZW1lbnQob3B0aW9uKQorU0FYLnN0YXJ0RWxlbWVudChvcHRpb24sIHZhbHVlPSdPSycpCitTQVguY2hhcmFjdGVycyhPSywgMikKK1NBWC5lbmRFbGVtZW50KG9wdGlvbikKK1NBWC5jaGFyYWN0ZXJzKA0KKywgMikKK1NBWC5zdGFydEVsZW1lbnQob3B0aW9uLCB2YWx1ZT0nT1InKQorU0FYLmNoYXJhY3RlcnMoT1IsIDIpCitTQVguZW5kRWxlbWVudChvcHRpb24pCitTQVguY2hhcmFjdGVycygNCissIDIpCitTQVguc3RhcnRFbGVtZW50KG9wdGlvbiwgdmFsdWU9J1BBJykKK1NBWC5jaGFyYWN0ZXJzKFBBLCAyKQorU0FYLmVuZEVsZW1lbnQob3B0aW9uKQorU0FYLmNoYXJhY3RlcnMoDQorLCAyKQorU0FYLnN0YXJ0RWxlbWVudChvcHRpb24sIHZhbHVlPSdQUicpCitTQVguY2hhcmFjdGVycyhQUiwgMikKK1NBWC5lbmRFbGVtZW50KG9wdGlvbikKK1NBWC5zdGFydEVsZW1lbnQob3B0aW9uLCB2YWx1ZT0nUkknKQorU0FYLmNoYXJhY3RlcnMoUkksIDIpCitTQVguZW5kRWxlbWVudChvcHRpb24pCitTQVguY2hhcmFjdGVycygNCissIDIpCitTQVguc3RhcnRFbGVtZW50KG9wdGlvbiwgdmFsdWU9J1NDJykKK1NBWC5jaGFyYWN0ZXJzKFNDLCAyKQorU0FYLmVuZEVsZW1lbnQob3B0aW9uKQorU0FYLmNoYXJhY3RlcnMoIA0KKywgMykKK1NBWC5zdGFydEVsZW1lbnQob3B0aW9uLCB2YWx1ZT0nU0QnKQorU0FYLmNoYXJhY3RlcnMoU0QsIDIpCitTQVguZW5kRWxlbWVudChvcHRpb24pCitTQVguc3RhcnRFbGVtZW50KG9wdGlvbiwgdmFsdWU9J1ROJykKK1NBWC5jaGFyYWN0ZXJzKFROLCAyKQorU0FYLmVuZEVsZW1lbnQob3B0aW9uKQorU0FYLnN0YXJ0RWxlbWVudChvcHRpb24sIHZhbHVlPSdUWCcpCitTQVguY2hhcmFjdGVycyhUWCwgMikKK1NBWC5lbmRFbGVtZW50KG9wdGlvbikKK1NBWC5jaGFyYWN0ZXJzKA0KKywgMikKK1NBWC5zdGFydEVsZW1lbnQob3B0aW9uLCB2YWx1ZT0nVVQnKQorU0FYLmNoYXJhY3RlcnMoVVQsIDIpCitTQVguZW5kRWxlbWVudChvcHRpb24pCitTQVguY2hhcmFjdGVycygNCissIDIpCitTQVguc3RhcnRFbGVtZW50KG9wdGlvbiwgdmFsdWU9J1ZUJykKK1NBWC5jaGFyYWN0ZXJzKFZULCAyKQorU0FYLmVuZEVsZW1lbnQob3B0aW9uKQorU0FYLmNoYXJhY3RlcnMoDQorLCAyKQorU0FYLnN0YXJ0RWxlbWVudChvcHRpb24sIHZhbHVlPSdWQScpCitTQVguY2hhcmFjdGVycyhWQSwgMikKK1NBWC5lbmRFbGVtZW50KG9wdGlvbikKK1NBWC5jaGFyYWN0ZXJzKA0KKywgMikKK1NBWC5zdGFydEVsZW1lbnQob3B0aW9uLCB2YWx1ZT0nV0EnKQorU0FYLmNoYXJhY3RlcnMoV0EsIDIpCitTQVguZW5kRWxlbWVudChvcHRpb24pCitTQVguY2hhcmFjdGVycygNCissIDIpCitTQVguc3RhcnRFbGVtZW50KG9wdGlvbiwgdmFsdWU9J1dWJykKK1NBWC5jaGFyYWN0ZXJzKFdWLCAyKQorU0FYLmVuZEVsZW1lbnQob3B0aW9uKQorU0FYLmNoYXJhY3RlcnMoDQorLCAyKQorU0FYLnN0YXJ0RWxlbWVudChvcHRpb24sIHZhbHVlPSdXSScpCitTQVguY2hhcmFjdGVycyhXSSwgMikKK1NBWC5lbmRFbGVtZW50KG9wdGlvbikKK1NBWC5jaGFyYWN0ZXJzKA0KKywgMikKK1NBWC5zdGFydEVsZW1lbnQob3B0aW9uLCB2YWx1ZT0nV1knKQorU0FYLmNoYXJhY3RlcnMoV1ksIDIpCitTQVguZW5kRWxlbWVudChvcHRpb24pCitTQVguY2hhcmFjdGVycygNCissIDIpCitTQVguZW5kRWxlbWVudChzZWxlY3QpCitTQVguc3RhcnRFbGVtZW50KGlucHV0LCB0eXBlPSdoaWRkZW4nLCBuYW1lPSdzb3VyY2UnLCB2YWx1ZT0nMmhiOGJoYzA1OScpCitTQVguZW5kRWxlbWVudChpbnB1dCkKK1NBWC5jaGFyYWN0ZXJzKA0KKywgMikKK1NBWC5lbmRFbGVtZW50KHRkKQorU0FYLmVuZEVsZW1lbnQodHIpCitTQVguZW5kRWxlbWVudChmb3JtKQorU0FYLmNoYXJhY3RlcnMoDQorLCAyKQorU0FYLmVuZEVsZW1lbnQodGFibGUpCitTQVguZW5kRWxlbWVudCh0ZCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQodGQsIHZhbGlnbj0ndG9wJywgYWxpZ249J1JJR0hUJykKK1NBWC5lcnJvcjogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCitTQVguZXJyb3I6IGh0bWxQYXJzZUVudGl0eVJlZjogZXhwZWN0aW5nICc7JworU0FYLmVycm9yOiBodG1sUGFyc2VFbnRpdHlSZWY6IGV4cGVjdGluZyAnOycKK1NBWC5lcnJvcjogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCitTQVguZXJyb3I6IGh0bWxQYXJzZUVudGl0eVJlZjogZXhwZWN0aW5nICc7JworU0FYLmVycm9yOiBodG1sUGFyc2VFbnRpdHlSZWY6IGV4cGVjdGluZyAnOycKK1NBWC5zdGFydEVsZW1lbnQoYSwgaHJlZj0naHR0cDovL25zYWRzLmhvdHdpcmVkLmNvbS9ldmVudC5uZy9UeXBlPWNsaWNrJmFtcDtQcm9maWxlSUQ9NTU5NyZhbXA7UnVuSUQ9MTcxNjcmYW1wO0FkSUQ9MjI1ODgmYW1wO0dyb3VwSUQ9MSZhbXA7RmFtaWx5SUQ9MzIyOCZhbXA7VGFnVmFsdWVzPTguMjUuMTU5LjE3MS4xNzIuMTc0LjE3OS4xODAuMTgxLjE4Mi4xODMuMTk2LjE5Ny4xOTkuMjA4LjI0MS4zODkuNDEyLjQzNi4yMDM1LjY3NDkuNjc1MC43MDM2Ny43ODQ1Ni43OTYzMC44MTg4MCZhbXA7UmVkaXJlY3Q9aHR0cDolMkYlMkZ3d3cuaHAuY29tJTJGZ28lMkZvcmlnaW5hbCUyMCcsIHRhcmdldD0nX3RvcCcpCitTQVguc3RhcnRFbGVtZW50KGltZywgc3JjPSdodHRwOi8vc3RhdGljLndpcmVkLmNvbS9hZHZlcnRpc2luZy9ibGlwdmVydHMvaHBfY29sb3JpbmtqZXQvaHBfOTcwY18xMjB4NjBfNi5naWYnLCBib3JkZXI9JzEnLCBoZWlnaHQ9JzYwJywgd2lkdGg9JzEyMCcsIGFsdD0nVHJ1ZSB0byB0aGUgT3JpZ2luYWwnKQorU0FYLmVuZEVsZW1lbnQoaW1nKQorU0FYLmVuZEVsZW1lbnQoYSkKK1NBWC5lbmRFbGVtZW50KHRkKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5lbmRFbGVtZW50KHRyKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguZW5kRWxlbWVudCh0YWJsZSkKK1NBWC5jaGFyYWN0ZXJzKAorCissIDIpCitTQVguY29tbWVudCggV0lSRUQgTkVXUyBoZWFkZXIgKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguY29tbWVudCggQ01EX0hPU1QgPSBzY29vcC5ob3R3aXJlZC5jb20gKQorU0FYLmNoYXJhY3RlcnMoCisKKywgMikKK1NBWC5zdGFydEVsZW1lbnQoYSwgbmFtZT0nIycpCitTQVguZW5kRWxlbWVudChhKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguc3RhcnRFbGVtZW50KHRhYmxlLCBib3JkZXI9JzAnLCB3aWR0aD0nNjAwJywgY2VsbHNwYWNpbmc9JzAnLCBjZWxscGFkZGluZz0nMCcpCitTQVguY2hhcmFjdGVycygKKworICAsIDQpCitTQVguc3RhcnRFbGVtZW50KHRyKQorU0FYLnN0YXJ0RWxlbWVudCh0ZCkKK1NBWC5lbmRFbGVtZW50KHRkKQorU0FYLnN0YXJ0RWxlbWVudCh0ZCwgY29sc3Bhbj0nMicpCitTQVguc3RhcnRFbGVtZW50KGltZywgc3JjPSdodHRwOi8vc3RhdGljLndpcmVkLmNvbS9uZXdzL2ltYWdlcy9zcGFjZXIuZ2lmJywgaGVpZ2h0PSc1Jywgd2lkdGg9JzQ0NycsIGFsdD0nJykKK1NBWC5lbmRFbGVtZW50KGltZykKK1NBWC5lbmRFbGVtZW50KHRkKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguZW5kRWxlbWVudCh0cikKK1NBWC5jaGFyYWN0ZXJzKCAKKworICwgNCkKK1NBWC5zdGFydEVsZW1lbnQodHIpCitTQVguY2hhcmFjdGVycyggCisgICAgICAsIDgpCitTQVguc3RhcnRFbGVtZW50KHRkLCB2YWxpZ249J0JPVFRPTScsIGFsaWduPSdSSUdIVCcsIGNsYXNzPSd3aXJlZCcsIGJnY29sb3I9JyNGRkZGRkYnKQorU0FYLnN0YXJ0RWxlbWVudChhLCBocmVmPScvbmV3cy8wLDEyODcsLDAwLmh0bWwnKQorU0FYLnN0YXJ0RWxlbWVudChpbWcsIHNyYz0naHR0cDovL3N0YXRpYy53aXJlZC5jb20vbmV3cy9pbWFnZXMvd2lyZWRfMDAwMDAwLmdpZicsIHdpZHRoPScxNTMnLCBoZWlnaHQ9JzMwJywgYm9yZGVyPScwJykKK1NBWC5lbmRFbGVtZW50KGltZykKK1NBWC5lbmRFbGVtZW50KGEpCitTQVguZW5kRWxlbWVudCh0ZCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLnN0YXJ0RWxlbWVudCh0ZCwgYmdjb2xvcj0nI0ZGMDAwMCcsIHZhbGlnbj0nQk9UVE9NJywgYWxpZ249J0xFRlQnLCB3aWR0aD0nOTcnKQorU0FYLnN0YXJ0RWxlbWVudChhLCBocmVmPScvbmV3cy8wLDEyODcsLDAwLmh0bWwnKQorU0FYLnN0YXJ0RWxlbWVudChpbWcsIHNyYz0naHR0cDovL3N0YXRpYy53aXJlZC5jb20vbmV3cy9pbWFnZXMvbmV3c19mZmZmZmYuZ2lmJywgd2lkdGg9JzEwMycsIGhlaWdodD0nMzAnLCBib3JkZXI9JzAnKQorU0FYLmVuZEVsZW1lbnQoaW1nKQorU0FYLmVuZEVsZW1lbnQoYSkKK1NBWC5lbmRFbGVtZW50KHRkKQorU0FYLmNoYXJhY3RlcnMoCisKKworLCAzKQorU0FYLnN0YXJ0RWxlbWVudCh0ZCwgYmdjb2xvcj0nI0ZGMDAwMCcsIGFsaWduPSdsZWZ0JywgdmFsaWduPSdjZW50ZXInKQorU0FYLnN0YXJ0RWxlbWVudChub2JyKQorU0FYLmVycm9yOiBUYWcgbm9iciBpbnZhbGlkCitTQVguc3RhcnRFbGVtZW50KGltZywgc3JjPSdodHRwOi8vc3RhdGljLndpcmVkLmNvbS9uZXdzL2ltYWdlcy9zcGFjZXIuZ2lmJywgd2lkdGg9JzM0NCcsIGhlaWdodD0nMScpCitTQVguZW5kRWxlbWVudChpbWcpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIHNpemU9JzEnLCBmYWNlPSdWZXJkYW5hLCBBcmlhbCwgR2VuZXZhLCBzYW5zLXNlcmlmJywgY29sb3I9JyNGRkZGRkYnKQorU0FYLmNoYXJhY3RlcnMoJm5ic3A7LCAyKQorU0FYLmNoYXJhY3RlcnMoJm5ic3A7LCAyKQorU0FYLmNoYXJhY3RlcnMoJm5ic3A7LCAyKQorU0FYLnN0YXJ0RWxlbWVudChiKQorU0FYLmNoYXJhY3RlcnModXBkYXRlZCAxMDoxNSBhLm0uLCAxOCkKK1NBWC5jaGFyYWN0ZXJzKCZuYnNwOywgMikKK1NBWC5jaGFyYWN0ZXJzKCZuYnNwOywgMikKK1NBWC5jaGFyYWN0ZXJzKDE1Lk9jdC45OS5QRFQsIDEzKQorU0FYLmVuZEVsZW1lbnQoYikKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguZW5kRWxlbWVudChub2JyKQorU0FYLmVuZEVsZW1lbnQodGQpCitTQVguY2hhcmFjdGVycygKKworCisgICAgICAgICwgMTEpCitTQVguZW5kRWxlbWVudCh0cikKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQodHIpCitTQVguY2hhcmFjdGVycyggCisgICAgICAsIDgpCitTQVguc3RhcnRFbGVtZW50KHRkLCB2YWxpZ249J01JRERMRScsIGFsaWduPSdSSUdIVCcsIGJnY29sb3I9JyNGRkZGRkYnKQorU0FYLnN0YXJ0RWxlbWVudChpbWcsIHNyYz0naHR0cDovL3N0YXRpYy53aXJlZC5jb20vbmV3cy9pbWFnZXMvc3BhY2VyLmdpZicsIHdpZHRoPScxJywgaGVpZ2h0PSczMCcpCitTQVguZW5kRWxlbWVudChpbWcpCitTQVguZW5kRWxlbWVudCh0ZCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgCisgICAgICAsIDE0KQorU0FYLnN0YXJ0RWxlbWVudCh0ZCwgY29sc3Bhbj0nMicsIGJnY29sb3I9JyM5OTk5OTknKQorU0FYLmNoYXJhY3RlcnMoCisKKyAgICAgICAsIDkpCitTQVguc3RhcnRFbGVtZW50KHRhYmxlLCBib3JkZXI9JzAnLCBjZWxsc3BhY2luZz0nMCcsIGNlbGxwYWRkaW5nPSc1JykKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudChmb3JtLCBuYW1lPSdSZWRpcmVjdFNlYXJjaCcsIGFjdGlvbj0naHR0cDovL3JlZGlyZWN0LndpcmVkLmNvbS9zZWFyY2gnKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICAgICAgICAgLCAxNykKK1NBWC5zdGFydEVsZW1lbnQodHIpCitTQVguY2hhcmFjdGVycyggIAorICAgICAgICAgICAgLCAxNSkKK1NBWC5zdGFydEVsZW1lbnQodGQpCitTQVguY2hhcmFjdGVycyggCissIDIpCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIGZhY2U9J2NvdXJpZXInLCBzaXplPScxJykKK1NBWC5zdGFydEVsZW1lbnQoaW5wdXQsIHR5cGU9J1RFWFQnLCBuYW1lPSdxdWVyeScsIHNpemU9JzIwJywgdmFsdWU9JycpCitTQVguZW5kRWxlbWVudChpbnB1dCkKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgICAgICwgMTMpCitTQVguZW5kRWxlbWVudCh0ZCkKK1NBWC5jaGFyYWN0ZXJzKAorCisgICAgICAgICAgICAsIDE0KQorU0FYLnN0YXJ0RWxlbWVudCh0ZCkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudChzZWxlY3QsIG5hbWU9J3VybCcpCitTQVguY2hhcmFjdGVycygKKworICAsIDQpCitTQVguZXJyb3I6IGh0bWxQYXJzZUVudGl0eVJlZjogZXhwZWN0aW5nICc7JworU0FYLmVycm9yOiBodG1sUGFyc2VFbnRpdHlSZWY6IGV4cGVjdGluZyAnOycKK1NBWC5lcnJvcjogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCitTQVguZXJyb3I6IGh0bWxQYXJzZUVudGl0eVJlZjogZXhwZWN0aW5nICc7JworU0FYLmVycm9yOiBodG1sUGFyc2VFbnRpdHlSZWY6IGV4cGVjdGluZyAnOycKK1NBWC5zdGFydEVsZW1lbnQob3B0aW9uLCB2YWx1ZT0naHR0cDovL3NlYXJjaC5ob3R3aXJlZC5jb20vc2VhcmNoOTcvczk3LnZ0cz9BY3Rpb249RmlsdGVyU2VhcmNoJmFtcDtGaWx0ZXI9ZG9jc19maWx0ZXIuaHRzJmFtcDtSZXN1bHRUZW1wbGF0ZT12aWduZXR0ZS5odHMmYW1wO0NvbGxlY3Rpb249dmlnbmV0dGUmYW1wO1F1ZXJ5TW9kZT1JbnRlcm5ldCZhbXA7UXVlcnk9Jywgc2VsZWN0ZWQpCitTQVguY2hhcmFjdGVycyhXaXJlZCBOZXdzLCAxMCkKK1NBWC5lbmRFbGVtZW50KG9wdGlvbikKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguZXJyb3I6IGh0bWxQYXJzZUVudGl0eVJlZjogZXhwZWN0aW5nICc7JworU0FYLmVycm9yOiBodG1sUGFyc2VFbnRpdHlSZWY6IGV4cGVjdGluZyAnOycKK1NBWC5lcnJvcjogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCitTQVguZXJyb3I6IGh0bWxQYXJzZUVudGl0eVJlZjogZXhwZWN0aW5nICc7JworU0FYLmVycm9yOiBodG1sUGFyc2VFbnRpdHlSZWY6IGV4cGVjdGluZyAnOycKK1NBWC5zdGFydEVsZW1lbnQob3B0aW9uLCB2YWx1ZT0naHR0cDovL3NlYXJjaC5ob3R3aXJlZC5jb20vc2VhcmNoOTcvczk3LnZ0cz9BY3Rpb249RmlsdGVyU2VhcmNoJmFtcDtGaWx0ZXI9ZG9jc19maWx0ZXIuaHRzJmFtcDtSZXN1bHRUZW1wbGF0ZT13ZWJtb25rZXkuaHRzJmFtcDtDb2xsZWN0aW9uPXdlYm1vbmtleSZhbXA7UXVlcnlNb2RlPUludGVybmV0JmFtcDtRdWVyeT0nKQorU0FYLmNoYXJhY3RlcnMoV2VibW9ua2V5LCA5KQorU0FYLmVuZEVsZW1lbnQob3B0aW9uKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVycm9yOiBodG1sUGFyc2VFbnRpdHlSZWY6IGV4cGVjdGluZyAnOycKK1NBWC5lcnJvcjogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCitTQVguZXJyb3I6IGh0bWxQYXJzZUVudGl0eVJlZjogZXhwZWN0aW5nICc7JworU0FYLmVycm9yOiBodG1sUGFyc2VFbnRpdHlSZWY6IGV4cGVjdGluZyAnOycKK1NBWC5lcnJvcjogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCitTQVguc3RhcnRFbGVtZW50KG9wdGlvbiwgdmFsdWU9J2h0dHA6Ly9zZWFyY2guaG90d2lyZWQuY29tL3NlYXJjaDk3L3M5Ny52dHM/Y29sbGVjdGlvbj13ZWJtb25rZXlfZ3VpZGVzJmFtcDtBY3Rpb249RmlsdGVyU2VhcmNoJmFtcDtmaWx0ZXI9ZG9jc19maWx0ZXIuaHRzJmFtcDtSZXN1bHRUZW1wbGF0ZT13ZWJtb25rZXlfZ3VpZGVzLmh0cyZhbXA7UXVlcnlNb2RlPUludGVybmV0JmFtcDtRdWVyeT0nKQorU0FYLmNoYXJhY3RlcnMoV2VibW9ua2V5IEd1aWRlcywgMTYpCitTQVguZW5kRWxlbWVudChvcHRpb24pCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZXJyb3I6IGh0bWxQYXJzZUVudGl0eVJlZjogZXhwZWN0aW5nICc7JworU0FYLmVycm9yOiBodG1sUGFyc2VFbnRpdHlSZWY6IGV4cGVjdGluZyAnOycKK1NBWC5lcnJvcjogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCitTQVguZXJyb3I6IGh0bWxQYXJzZUVudGl0eVJlZjogZXhwZWN0aW5nICc7JworU0FYLmVycm9yOiBodG1sUGFyc2VFbnRpdHlSZWY6IGV4cGVjdGluZyAnOycKK1NBWC5zdGFydEVsZW1lbnQob3B0aW9uLCB2YWx1ZT0naHR0cDovL3NlYXJjaC5ob3R3aXJlZC5jb20vc2VhcmNoOTcvczk3LnZ0cz9jb2xsZWN0aW9uPWhvdHdpcmVkJmFtcDtBY3Rpb249RmlsdGVyU2VhcmNoJmFtcDtmaWx0ZXI9ZG9jc19maWx0ZXIuaHRzJmFtcDtSZXN1bHRUZW1wbGF0ZT1ob3R3aXJlZF9hcmNoaXZlLmh0cyZhbXA7UXVlcnlNb2RlPUludGVybmV0JmFtcDtRdWVyeT0nKQorU0FYLmNoYXJhY3RlcnMoSG90V2lyZWQgQXJjaGl2ZXMsIDE3KQorU0FYLmVuZEVsZW1lbnQob3B0aW9uKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5lcnJvcjogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCitTQVguZXJyb3I6IGh0bWxQYXJzZUVudGl0eVJlZjogZXhwZWN0aW5nICc7JworU0FYLmVycm9yOiBodG1sUGFyc2VFbnRpdHlSZWY6IGV4cGVjdGluZyAnOycKK1NBWC5lcnJvcjogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCitTQVguZXJyb3I6IGh0bWxQYXJzZUVudGl0eVJlZjogZXhwZWN0aW5nICc7JworU0FYLnN0YXJ0RWxlbWVudChvcHRpb24sIHZhbHVlPSdodHRwOi8vc2VhcmNoLmhvdHdpcmVkLmNvbS9zZWFyY2g5Ny9zOTcudnRzP0FjdGlvbj1GaWx0ZXJTZWFyY2gmYW1wO0ZpbHRlcj1kb2NzX2ZpbHRlci5odHMmYW1wO1Jlc3VsdFRlbXBsYXRlPW1hZ2F6aW5lLmh0cyZhbXA7Q29sbGVjdGlvbj1tYWdhemluZSZhbXA7UXVlcnlNb2RlPUludGVybmV0JmFtcDtRdWVyeT0nKQorU0FYLmNoYXJhY3RlcnMoV2lyZWQgTWFnYXppbmUsIDE0KQorU0FYLmVuZEVsZW1lbnQob3B0aW9uKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5lcnJvcjogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCitTQVguZXJyb3I6IGh0bWxQYXJzZUVudGl0eVJlZjogZXhwZWN0aW5nICc7JworU0FYLmVycm9yOiBodG1sUGFyc2VFbnRpdHlSZWY6IGV4cGVjdGluZyAnOycKK1NBWC5lcnJvcjogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCitTQVguZXJyb3I6IGh0bWxQYXJzZUVudGl0eVJlZjogZXhwZWN0aW5nICc7JworU0FYLnN0YXJ0RWxlbWVudChvcHRpb24sIHZhbHVlPSdodHRwOi8vc2VhcmNoLmhvdHdpcmVkLmNvbS9zZWFyY2g5Ny9zOTcudnRzP0FjdGlvbj1GaWx0ZXJTZWFyY2gmYW1wO0ZpbHRlcj1kb2NzX2ZpbHRlci5odHMmYW1wO1Jlc3VsdFRlbXBsYXRlPWFuaW1hdGlvbi5odHMmYW1wO0NvbGxlY3Rpb249YW5pbWF0aW9uJmFtcDtRdWVyeU1vZGU9SW50ZXJuZXQmYW1wO1F1ZXJ5PScpCitTQVguY2hhcmFjdGVycyhBbmltYXRpb24gRXhwcmVzcywgMTcpCitTQVguZW5kRWxlbWVudChvcHRpb24pCitTQVguY2hhcmFjdGVycyggCisgLCAzKQorU0FYLmVycm9yOiBodG1sUGFyc2VFbnRpdHlSZWY6IGV4cGVjdGluZyAnOycKK1NBWC5lcnJvcjogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCitTQVguZXJyb3I6IGh0bWxQYXJzZUVudGl0eVJlZjogZXhwZWN0aW5nICc7JworU0FYLmVycm9yOiBodG1sUGFyc2VFbnRpdHlSZWY6IGV4cGVjdGluZyAnOycKK1NBWC5lcnJvcjogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCitTQVguc3RhcnRFbGVtZW50KG9wdGlvbiwgdmFsdWU9J2h0dHA6Ly9zZWFyY2guaG90d2lyZWQuY29tL3NlYXJjaDk3L3M5Ny52dHM/Y29sbGVjdGlvbj1zdWNrJmFtcDtBY3Rpb249RmlsdGVyU2VhcmNoJmFtcDtmaWx0ZXI9ZG9jc19maWx0ZXIuaHRzJmFtcDtSZXN1bHRUZW1wbGF0ZT1zdWNrLmh0cyZhbXA7UXVlcnlNb2RlPUludGVybmV0JmFtcDtRdWVyeT0nKQorU0FYLmNoYXJhY3RlcnMoU3Vjay5jb20sIDgpCitTQVguZW5kRWxlbWVudChvcHRpb24pCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZXJyb3I6IGh0bWxQYXJzZUVudGl0eVJlZjogZXhwZWN0aW5nICc7JworU0FYLmVycm9yOiBodG1sUGFyc2VFbnRpdHlSZWY6IGV4cGVjdGluZyAnOycKK1NBWC5lcnJvcjogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCitTQVguZXJyb3I6IGh0bWxQYXJzZUVudGl0eVJlZjogZXhwZWN0aW5nICc7JworU0FYLmVycm9yOiBodG1sUGFyc2VFbnRpdHlSZWY6IGV4cGVjdGluZyAnOycKK1NBWC5zdGFydEVsZW1lbnQob3B0aW9uLCB2YWx1ZT0naHR0cDovL3NlYXJjaC5ob3R3aXJlZC5jb20vc2VhcmNoOTcvczk3LnZ0cz9jb2xsZWN0aW9uPXViZXJfaG90d2lyZWQmYW1wO0FjdGlvbj1GaWx0ZXJTZWFyY2gmYW1wO2ZpbHRlcj1kb2NzX2ZpbHRlci5odHMmYW1wO1Jlc3VsdFRlbXBsYXRlPXViZXJfaG90d2lyZWQuaHRzJmFtcDtRdWVyeU1vZGU9SW50ZXJuZXQmYW1wO1F1ZXJ5PScpCitTQVguY2hhcmFjdGVycyhBbGwgb2YgSG90V2lyZWQsIDE1KQorU0FYLmVuZEVsZW1lbnQob3B0aW9uKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVycm9yOiBodG1sUGFyc2VFbnRpdHlSZWY6IGV4cGVjdGluZyAnOycKK1NBWC5lcnJvcjogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCitTQVguZXJyb3I6IGh0bWxQYXJzZUVudGl0eVJlZjogZXhwZWN0aW5nICc7JworU0FYLmVycm9yOiBodG1sUGFyc2VFbnRpdHlSZWY6IGV4cGVjdGluZyAnOycKK1NBWC5lcnJvcjogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCitTQVguZXJyb3I6IGh0bWxQYXJzZUVudGl0eVJlZjogZXhwZWN0aW5nICc7JworU0FYLmVycm9yOiBodG1sUGFyc2VFbnRpdHlSZWY6IGV4cGVjdGluZyAnOycKK1NBWC5lcnJvcjogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCitTQVguc3RhcnRFbGVtZW50KG9wdGlvbiwgdmFsdWU9J2h0dHA6Ly93d3cuaG90Ym90LmNvbS8/U009TUMmYW1wO0RWPTAmYW1wO0xHPWFueSZhbXA7UkQ9UkcmYW1wO0RDPTEwJmFtcDtERT0yJmFtcDtfdj0yJmFtcDtPUHM9TURSVFAmYW1wO01UPScpCitTQVguY2hhcmFjdGVycyhUaGUgV2ViIC0mZ3Q7IEhvdEJvdCwgMTcpCitTQVguZW5kRWxlbWVudChvcHRpb24pCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5lbmRFbGVtZW50KHNlbGVjdCkKK1NBWC5jaGFyYWN0ZXJzKAorCisKKworICAgICAgICAgICAgLCAxNikKK1NBWC5lbmRFbGVtZW50KHRkKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICAgICAsIDEzKQorU0FYLnN0YXJ0RWxlbWVudCh0ZCkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICAgICAgICAgICAgLCAxNikKK1NBWC5zdGFydEVsZW1lbnQoaW5wdXQsIHR5cGU9J1NVQk1JVCcsIG5hbWU9J1NVQk1JVCcsIHZhbHVlPSdTRUFSQ0gnKQorU0FYLmVuZEVsZW1lbnQoaW5wdXQpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgICAgICwgMTMpCitTQVguZW5kRWxlbWVudCh0ZCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAgICwgMTEpCitTQVguZW5kRWxlbWVudCh0cikKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguZW5kRWxlbWVudChmb3JtKQorU0FYLmNoYXJhY3RlcnMoICAgICAgICAKKyAgICAgICAsIDE2KQorU0FYLmVuZEVsZW1lbnQodGFibGUpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgICAsIDExKQorU0FYLmVuZEVsZW1lbnQodGQpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgLCA5KQorU0FYLmVuZEVsZW1lbnQodHIpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5jb21tZW50KCAKKzxUUj4KKzx0ZD48L3RkPgorPFREIHZhbGlnbj0iVE9QIiBhbGlnbj0iTEVGVCIgY29sc3Bhbj0iMyIgYmdjb2xvcj0iI0YwRjBGMCI+PGltZyBzcmM9Imh0dHA6Ly9zdGF0aWMud2lyZWQuY29tL25ld3MvaW1hZ2VzL3NwYWNlci5naWYiIGhlaWdodD0xIHdpZHRoPTE1IGFsdD0iIj48YnI+Cis8aT48Zm9udCBmYWNlPSJWZXJkYW5hLCBBcmlhbCwgR2VuZXZhLCBzYW5zLXNlcmlmIiBzaXplPSIyIj5TcG9uc29yZWQgYnk8YSBocmVmPSIjIj5TdW4gTWljcm9zeXN0ZW1zLjwvYT4gV2UncmUgdGhlIGRvdCBpbiAuY29tPC9mb250PjwvaT48aT48L2k+PC9URD4KKzwvVFI+CispCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5lbmRFbGVtZW50KHRhYmxlKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguY29tbWVudCggZW5kIFdJUkVEIE5FV1MgaGVhZGVyICkKK1NBWC5jaGFyYWN0ZXJzKAorCissIDIpCitTQVguY29tbWVudCggYmVnaW4gdXBwZXIgbGVmdCBzaWRlIE5hdmlnYXRpb24gKQorU0FYLmNoYXJhY3RlcnMoCisKKywgMikKK1NBWC5zdGFydEVsZW1lbnQodGFibGUsIGJvcmRlcj0nMCcsIGNlbGxwYWRkaW5nPSczJywgY2VsbHNwYWNpbmc9JzAnLCBhbGlnbj0nTEVGVCcsIGJnY29sb3I9JyNGRkZGRkYnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQodHIpCitTQVguY2hhcmFjdGVycyggCisgICAgLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh0ZCwgYmdjb2xvcj0nI0ZGMDAwMCcpCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIHNpemU9JzEnLCBmYWNlPSdWZXJkYW5hLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmJywgY29sb3I9JyNGRkZGRkYnKQorU0FYLmNoYXJhY3RlcnMoIAorICAgICAgLCA4KQorU0FYLnN0YXJ0RWxlbWVudChpbWcsIHNyYz0naHR0cDovL3N0YXRpYy53aXJlZC5jb20vbmV3cy9pbWFnZXMvc3BhY2VyLmdpZicsIHdpZHRoPScxNDcnLCBoZWlnaHQ9JzEnLCBib3JkZXI9JzAnKQorU0FYLmVuZEVsZW1lbnQoaW1nKQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLnN0YXJ0RWxlbWVudChiKQorU0FYLmNoYXJhY3RlcnMoU0VDVElPTlMsIDgpCitTQVguZW5kRWxlbWVudChiKQorU0FYLmVuZEVsZW1lbnQoZm9udCkKK1NBWC5lbmRFbGVtZW50KHRkKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5lbmRFbGVtZW50KHRyKQorU0FYLmNoYXJhY3RlcnMoCisKKywgMikKK1NBWC5zdGFydEVsZW1lbnQodHIpCitTQVguc3RhcnRFbGVtZW50KHRkLCBiZ2NvbG9yPScjQ0NGRkNDJykKK1NBWC5zdGFydEVsZW1lbnQoZm9udCwgc2l6ZT0nMScsIGZhY2U9J1ZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYnLCBjb2xvcj0nIzAwMDAwMCcpCitTQVguc3RhcnRFbGVtZW50KGEsIGhyZWY9Jy9uZXdzL2J1c2luZXNzLzAsMTM2NywsMDAuaHRtbCcpCitTQVguY2hhcmFjdGVycyhCdXNpbmVzcywgOCkKK1NBWC5lbmRFbGVtZW50KGEpCitTQVguZW5kRWxlbWVudChmb250KQorU0FYLmVuZEVsZW1lbnQodGQpCitTQVguZW5kRWxlbWVudCh0cikKK1NBWC5zdGFydEVsZW1lbnQodHIpCitTQVguc3RhcnRFbGVtZW50KHRkLCBiZ2NvbG9yPScjOTlGRjk5JykKK1NBWC5zdGFydEVsZW1lbnQoZm9udCwgc2l6ZT0nMScsIGZhY2U9J1ZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYnLCBjb2xvcj0nIzAwMDAwMCcpCitTQVguc3RhcnRFbGVtZW50KGEsIGhyZWY9Jy9uZXdzL2N1bHR1cmUvMCwxMjg0LCwwMC5odG1sJykKK1NBWC5jaGFyYWN0ZXJzKEN1bHR1cmUsIDcpCitTQVguZW5kRWxlbWVudChhKQorU0FYLmVuZEVsZW1lbnQoZm9udCkKK1NBWC5lbmRFbGVtZW50KHRkKQorU0FYLmVuZEVsZW1lbnQodHIpCitTQVguc3RhcnRFbGVtZW50KHRyKQorU0FYLnN0YXJ0RWxlbWVudCh0ZCwgYmdjb2xvcj0nI0NDRkZDQycpCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIHNpemU9JzEnLCBmYWNlPSdWZXJkYW5hLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmJywgY29sb3I9JyMwMDAwMDAnKQorU0FYLnN0YXJ0RWxlbWVudChhLCBocmVmPScvbmV3cy90ZWNobm9sb2d5LzAsMTI4MiwsMDAuaHRtbCcpCitTQVguY2hhcmFjdGVycyhUZWNobm9sb2d5LCAxMCkKK1NBWC5lbmRFbGVtZW50KGEpCitTQVguZW5kRWxlbWVudChmb250KQorU0FYLmVuZEVsZW1lbnQodGQpCitTQVguZW5kRWxlbWVudCh0cikKK1NBWC5zdGFydEVsZW1lbnQodHIpCitTQVguc3RhcnRFbGVtZW50KHRkLCBiZ2NvbG9yPScjOTlGRjk5JykKK1NBWC5zdGFydEVsZW1lbnQoZm9udCwgc2l6ZT0nMScsIGZhY2U9J1ZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYnLCBjb2xvcj0nIzAwMDAwMCcpCitTQVguc3RhcnRFbGVtZW50KGEsIGhyZWY9Jy9uZXdzL3BvbGl0aWNzLzAsMTI4MywsMDAuaHRtbCcpCitTQVguY2hhcmFjdGVycyhQb2xpdGljcywgOCkKK1NBWC5lbmRFbGVtZW50KGEpCitTQVguZW5kRWxlbWVudChmb250KQorU0FYLmVuZEVsZW1lbnQodGQpCitTQVguZW5kRWxlbWVudCh0cikKK1NBWC5zdGFydEVsZW1lbnQodHIpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5zdGFydEVsZW1lbnQodGQsIGJnY29sb3I9JyNGRjAwMDAnKQorU0FYLnN0YXJ0RWxlbWVudChmb250LCBzaXplPScxJywgZmFjZT0nVmVyZGFuYSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZicsIGNvbG9yPScjRkZGRkZGJykKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudChiKQorU0FYLmNoYXJhY3RlcnMoV0lSRSBTRVJWSUNFIE5FV1MsIDE3KQorU0FYLmVuZEVsZW1lbnQoYikKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguZW5kRWxlbWVudCh0ZCkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmVuZEVsZW1lbnQodHIpCitTQVguY2hhcmFjdGVycygKKworLCAyKQorU0FYLnN0YXJ0RWxlbWVudCh0cikKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudCh0ZCwgYmdjb2xvcj0nIzk5RkY5OScpCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIHNpemU9JzEnLCBmYWNlPSdWZXJkYW5hLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmJywgY29sb3I9JyMwMDAwMDAnKQorU0FYLnN0YXJ0RWxlbWVudChhLCBocmVmPScvbmV3cy9uZXdzL3JldXRlcnMvJykKK1NBWC5jaGFyYWN0ZXJzKFRvcCBIZWFkbGluZXMsIDEzKQorU0FYLmVuZEVsZW1lbnQoYSkKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguZW5kRWxlbWVudCh0ZCkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmVuZEVsZW1lbnQodHIpCitTQVguY2hhcmFjdGVycygKKworLCAyKQorU0FYLnN0YXJ0RWxlbWVudCh0cikKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudCh0ZCwgYmdjb2xvcj0nI0NDRkZDQycpCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIHNpemU9JzEnLCBmYWNlPSdWZXJkYW5hLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmJywgY29sb3I9JyMwMDAwMDAnKQorU0FYLnN0YXJ0RWxlbWVudChhLCBocmVmPScvbmV3cy9uZXdzL3JldXRlcnMvc3BvcnRzLycpCitTQVguY2hhcmFjdGVycyhTcG9ydHMsIDYpCitTQVguZW5kRWxlbWVudChhKQorU0FYLmVuZEVsZW1lbnQoZm9udCkKK1NBWC5lbmRFbGVtZW50KHRkKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguZW5kRWxlbWVudCh0cikKK1NBWC5jaGFyYWN0ZXJzKAorCissIDIpCitTQVguc3RhcnRFbGVtZW50KHRyKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguc3RhcnRFbGVtZW50KHRkLCBiZ2NvbG9yPScjOTlGRjk5JykKK1NBWC5zdGFydEVsZW1lbnQoZm9udCwgc2l6ZT0nMScsIGZhY2U9J1ZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYnLCBjb2xvcj0nIzAwMDAwMCcpCitTQVguc3RhcnRFbGVtZW50KGEsIGhyZWY9Jy9uZXdzL25ld3MvcmV1dGVycy9idXNpbmVzcy8nKQorU0FYLmNoYXJhY3RlcnMoRmluYW5jZSwgNykKK1NBWC5lbmRFbGVtZW50KGEpCitTQVguZW5kRWxlbWVudChmb250KQorU0FYLmVuZEVsZW1lbnQodGQpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5lbmRFbGVtZW50KHRyKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguY29tbWVudCggRW5kIHVwcGVyIGxlZnQgbmF2ICkKK1NBWC5jb21tZW50KCBCZWdpbiBsb3dlciBMZWZ0IE5hdiApCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHRyKQorU0FYLmNoYXJhY3RlcnMoIAorICAgICwgNikKK1NBWC5zdGFydEVsZW1lbnQodGQsIGJnY29sb3I9JyNGRjAwMDAnKQorU0FYLnN0YXJ0RWxlbWVudChmb250LCBmYWNlPSdWZXJkYW5hLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmJywgY29sb3I9JyNGRkZGRkYnKQorU0FYLmNoYXJhY3RlcnMoIAorICAgICAgLCA4KQorU0FYLnN0YXJ0RWxlbWVudChiKQorU0FYLnN0YXJ0RWxlbWVudChmb250LCBzaXplPScxJykKK1NBWC5jaGFyYWN0ZXJzKEZSRUUgREVMSVZFUlksIDEzKQorU0FYLmVuZEVsZW1lbnQoZm9udCkKK1NBWC5lbmRFbGVtZW50KGIpCitTQVguZW5kRWxlbWVudChmb250KQorU0FYLmVuZEVsZW1lbnQodGQpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguZW5kRWxlbWVudCh0cikKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQodHIpCitTQVguY2hhcmFjdGVycyggCisgICAgLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh0ZCwgYmdjb2xvcj0nIzk5RkY5OScpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5zdGFydEVsZW1lbnQodGFibGUsIGNlbGxzcGFjaW5nPScwJywgY2VsbHBhZGRpbmc9JzAnLCBib3JkZXI9JzAnKQorU0FYLmNoYXJhY3RlcnMoCisJCSwgMykKK1NBWC5zdGFydEVsZW1lbnQodHIpCitTQVguc3RhcnRFbGVtZW50KHRkLCBiZ2NvbG9yPScjOTlGRjk5JykKK1NBWC5jaGFyYWN0ZXJzKAorCQkgLCA0KQorU0FYLnN0YXJ0RWxlbWVudChmb3JtLCBhY3Rpb249J2h0dHA6Ly9yLmhvdHdpcmVkLmNvbS9yL2h3X3dtX3JfbmF2X253c2x0ci9odHRwOi8vcGVybC5ob3R3aXJlZC5jb20vbWFzc21haWwvY2dpUGFyc2VyLmNnaScsIG1ldGhvZD0nZ2V0JywgdGFyZ2V0PSdfdG9wJykKK1NBWC5jaGFyYWN0ZXJzKAorCisgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChpbnB1dCwgdHlwZT0naGlkZGVuJywgbmFtZT0nc3VjY2Vzc19wYWdlJywgdmFsdWU9J2h0dHA6Ly93d3cuaG90d2lyZWQuY29tL2VtYWlsL3NpZ251cC93aXJlZG5ld3MtYXNjaWkuaHRtbCcpCitTQVguZW5kRWxlbWVudChpbnB1dCkKK1NBWC5jaGFyYWN0ZXJzKAorIAorLCAzKQorU0FYLnN0YXJ0RWxlbWVudChpbnB1dCwgdHlwZT0naGlkZGVuJywgbmFtZT0nZmFpbHVyZV9wYWdlJywgdmFsdWU9J2h0dHA6Ly93d3cuaG90d2lyZWQuY29tL2VtYWlsL3NpZ251cC93aXJlZG5ld3MtYXNjaWkuaHRtbCcpCitTQVguZW5kRWxlbWVudChpbnB1dCkKK1NBWC5jaGFyYWN0ZXJzKAorIAorLCAzKQorU0FYLnN0YXJ0RWxlbWVudChpbnB1dCwgdHlwZT0naGlkZGVuJywgbmFtZT0nTElTVCcsIHZhbHVlPSd3bl9hc2NpaScpCitTQVguZW5kRWxlbWVudChpbnB1dCkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudChpbnB1dCwgdHlwZT0naGlkZGVuJywgbmFtZT0nU09VUkNFJywgdmFsdWU9J290aGVyJykKK1NBWC5lbmRFbGVtZW50KGlucHV0KQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChpbnB1dCwgdHlwZT0naGlkZGVuJywgbmFtZT0nQUNUSU9OJywgdmFsdWU9J3N1YnNjcmliZScpCitTQVguZW5kRWxlbWVudChpbnB1dCkKK1NBWC5jaGFyYWN0ZXJzKAorIAorLCAzKQorU0FYLnN0YXJ0RWxlbWVudChpbnB1dCwgdHlwZT0nVEVYVCcsIG5hbWU9J2Zyb20nLCBzaXplPScxMCcsIHZhbHVlPSdlbnRlciBlbWFpbCcpCitTQVguZW5kRWxlbWVudChpbnB1dCkKK1NBWC5jaGFyYWN0ZXJzKCZuYnNwOywgMikKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmVuZEVsZW1lbnQoZm9ybSkKK1NBWC5lbmRFbGVtZW50KHRkKQorU0FYLmNoYXJhY3RlcnMoIAorCQksIDQpCitTQVguc3RhcnRFbGVtZW50KHRkLCB2YWxpZ249J3RvcCcsIGJnY29sb3I9JyM5OUZGOTknKQorU0FYLmNoYXJhY3RlcnMoCisJCSwgMykKK1NBWC5zdGFydEVsZW1lbnQoaW5wdXQsIHR5cGU9J1NVQk1JVCcsIG5hbWU9J1NVQk1JVCcsIHZhbHVlPSdHTycpCitTQVguZW5kRWxlbWVudChpbnB1dCkKK1NBWC5jaGFyYWN0ZXJzKCAKKworICAsIDUpCitTQVguZW5kRWxlbWVudCh0ZCkKK1NBWC5jaGFyYWN0ZXJzKAorCSwgMikKK1NBWC5lbmRFbGVtZW50KHRyKQorU0FYLmNoYXJhY3RlcnMoICAgICwgNCkKK1NBWC5lcnJvcjogVW5leHBlY3RlZCBlbmQgdGFnIDogZm9ybQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguZW5kRWxlbWVudCh0YWJsZSkKK1NBWC5lbmRFbGVtZW50KHRkKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5lbmRFbGVtZW50KHRyKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQodHIpCitTQVguY2hhcmFjdGVycyggCisgICAgLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh0ZCwgYmdjb2xvcj0nI0ZGMDAwMCcpCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIGZhY2U9J1ZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYnLCBjb2xvcj0nI0ZGRkZGRicpCitTQVguY2hhcmFjdGVycyggCisgICAgICAsIDgpCitTQVguc3RhcnRFbGVtZW50KGIpCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIHNpemU9JzEnKQorU0FYLmNoYXJhY3RlcnMoU1RPQ0tTLCA2KQorU0FYLmVuZEVsZW1lbnQoZm9udCkKK1NBWC5lbmRFbGVtZW50KGIpCitTQVguZW5kRWxlbWVudChmb250KQorU0FYLmVuZEVsZW1lbnQodGQpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnQodHIpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudCh0cikKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICAsIDYpCitTQVguc3RhcnRFbGVtZW50KHRkLCBiZ2NvbG9yPScjOTlGRjk5JykKK1NBWC5zdGFydEVsZW1lbnQoZm9udCwgZmFjZT0nVmVyZGFuYSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZicsIHNpemU9JzEnKQorU0FYLmNoYXJhY3RlcnMoR2V0IFF1b3RlOiwgMTApCitTQVguZW5kRWxlbWVudChmb250KQorU0FYLmVuZEVsZW1lbnQodGQpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnQodHIpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudCh0cikKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQodGQsIGJnY29sb3I9JyM5OUZGOTknLCBtYXJnaW53aWR0aD0nMCcsIG1hcmdpbmhlaWdodD0nMCcpCitTQVguc3RhcnRFbGVtZW50KGZvcm0sIG1ldGhvZD0nZ2V0JywgYWN0aW9uPSdodHRwOi8vci53aXJlZC5jb20vci8xMDAyMC9odHRwOi8vc3RvY2tzLndpcmVkLmNvbS9zdG9ja3NfcXVvdGVzLmFzcCcpCitTQVguc3RhcnRFbGVtZW50KGlucHV0LCB0eXBlPSdURVhUJywgbmFtZT0nU3ltYm9sJywgc2l6ZT0nMTInKQorU0FYLmVuZEVsZW1lbnQoaW5wdXQpCitTQVguY2hhcmFjdGVycygmbmJzcDssIDIpCitTQVguc3RhcnRFbGVtZW50KGlucHV0LCB0eXBlPSdTVUJNSVQnLCBuYW1lPSdzdWJtaXQnLCB2YWx1ZT0nR08nKQorU0FYLmVuZEVsZW1lbnQoaW5wdXQpCitTQVguZW5kRWxlbWVudChmb3JtKQorU0FYLmVuZEVsZW1lbnQodGQpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnQodHIpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5jb21tZW50KCBCRUdJTiBCVVRUT04gQURTICkKK1NBWC5jaGFyYWN0ZXJzKAorICAKKyAsIDUpCitTQVguc3RhcnRFbGVtZW50KHRyKQorU0FYLnN0YXJ0RWxlbWVudCh0ZCwgYmdjb2xvcj0nI0NDRkZDQycpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5zdGFydEVsZW1lbnQoZm9udCwgc2l6ZT0nMScsIGZhY2U9J1ZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYnLCBjb2xvcj0nIzAwMDAwMCcpCitTQVguY2hhcmFjdGVycyhGaW5hbmNpYWwgU2VydmljZXMsIDE4KQorU0FYLmVuZEVsZW1lbnQoZm9udCkKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudChjZW50ZXIpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5zdGFydEVsZW1lbnQoaW1nLCBzcmM9J2h0dHA6Ly9zdGF0aWMud2lyZWQuY29tL25ld3MvaW1hZ2VzL3NwYWNlci5naWYnLCBoZWlnaHQ9JzMnLCB3aWR0aD0nNScsIGFsdD0nJykKK1NBWC5lbmRFbGVtZW50KGltZykKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5zdGFydEVsZW1lbnQoaW1nLCBzcmM9J2h0dHA6Ly9zdGF0aWMud2lyZWQuY29tL25ld3MvaW1hZ2VzL2J1dHRvbl9hZHNfbmV3czEwLmdpZicsIHdpZHRoPScxNDMnLCBoZWlnaHQ9JzU2JywgYm9yZGVyPScwJywgYWx0PScnLCB1c2VtYXA9JyNidXR0b25zJywgaHNwYWNlPScwJywgdnNwYWNlPScwJykKK1NBWC5lbmRFbGVtZW50KGltZykKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmVuZEVsZW1lbnQoY2VudGVyKQorU0FYLmNoYXJhY3RlcnMoCisKKywgMikKK1NBWC5zdGFydEVsZW1lbnQobWFwLCBuYW1lPSdidXR0b25zJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAsIDkpCitTQVguc3RhcnRFbGVtZW50KGFyZWEsIHNoYXBlPSdSRUNUJywgYWx0PSdEYXRlaycsIGNvb3Jkcz0nMCwwLDY5LDI0JywgaHJlZj0naHR0cDovL3Iud2lyZWQuY29tL3IvMTY0OS9odHRwOi8vYWRzMTYuZm9jYWxpbmsuY29tL1NtYXJ0QmFubmVyL3BhZ2UvMTI2Ni42MzEnKQorU0FYLmVuZEVsZW1lbnQoYXJlYSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAsIDkpCitTQVguc3RhcnRFbGVtZW50KGFyZWEsIHNoYXBlPSdSRUNUJywgYWx0PSdXaXJlZCBJbmRleCBGdW5kJywgY29vcmRzPSc3MywwLDE0MiwyNCcsIGhyZWY9J2h0dHA6Ly9yLndpcmVkLmNvbS9yLzIyNy9odHRwOi8vd3d3LmdmZnVuZHMuY29tL3dpcmVkJykKK1NBWC5lbmRFbGVtZW50KGFyZWEpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgLCA5KQorU0FYLnN0YXJ0RWxlbWVudChhcmVhLCBzaGFwZT0nUkVDVCcsIGFsdD0naW50ZXJuZXQuY29tIEluZGV4IEZ1bmQnLCBjb29yZHM9JzczLDMxLDE0Miw1NScsIGhyZWY9J2h0dHA6Ly9yLndpcmVkLmNvbS9yLzI5OC9odHRwOi8vd3d3LmdmZnVuZHMuY29tL2lzZGV4LycpCitTQVguZW5kRWxlbWVudChhcmVhKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5zdGFydEVsZW1lbnQoYXJlYSwgc2hhcGU9J1JFQ1QnLCBhbHQ9J0dldFNtYXJ0JmFwb3M7cyBNb3J0Z2FnZUZpbmRlcicsIGNvb3Jkcz0nMCwzMSw2OSw1NScsIGhyZWY9J2h0dHA6Ly9yLndpcmVkLmNvbS9yLzI5NC9odHRwOi8vd3d3LmdldHNtYXJ0aW5jLmNvbS9tb3J0Z2FnZS9Ib21lQmFubmVyP0JBTk5FUk5BTUU9d3d3LmdldHNtYXJ0aW5jLmNvbS9td2lyZWQwMDFtNjA3NXgyNScpCitTQVguZW5kRWxlbWVudChhcmVhKQorU0FYLmVuZEVsZW1lbnQobWFwKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5lbmRFbGVtZW50KHRkKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5lbmRFbGVtZW50KHRyKQorU0FYLmNoYXJhY3RlcnMoICwgMSkKK1NBWC5jb21tZW50KCBFTkQgQlVUVE9OIEFEUyApCitTQVguY2hhcmFjdGVycygKKyAgCisgICwgNikKK1NBWC5zdGFydEVsZW1lbnQodHIpCitTQVguY2hhcmFjdGVycyggCisgICAgLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh0ZCwgYmdjb2xvcj0nIzk5RkY5OScpCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIHNpemU9JzEnLCBmYWNlPSdWZXJkYW5hLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmJywgY29sb3I9JyMwMDAwMDAnKQorU0FYLnN0YXJ0RWxlbWVudChhLCBocmVmPSdodHRwOi8vcmVkaXJlY3Qud2lyZWQuY29tL3JlZGlyLzUxL2h0dHA6Ly9zdG9ja3Mud2lyZWQuY29tLycpCitTQVguY2hhcmFjdGVycyhUb2RheSdzIFN1bW1hcnksIDE1KQorU0FYLmVuZEVsZW1lbnQoYSkKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguZW5kRWxlbWVudCh0ZCkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguZW5kRWxlbWVudCh0cikKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHRyKQorU0FYLmNoYXJhY3RlcnMoIAorICAgICwgNikKK1NBWC5zdGFydEVsZW1lbnQodGQsIGJnY29sb3I9JyNDQ0ZGQ0MnKQorU0FYLnN0YXJ0RWxlbWVudChmb250LCBzaXplPScxJywgZmFjZT0nVmVyZGFuYSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZicsIGNvbG9yPScjMDAwMDAwJykKK1NBWC5zdGFydEVsZW1lbnQoYSwgaHJlZj0naHR0cDovL3Iud2lyZWQuY29tL3IvaGJfZmluX3Jfd25fdG9wL2h0dHA6Ly9zdG9ja3Mud2lyZWQuY29tL3N0b2Nrc19pbmRleGVzX2RldGFpbC5hc3A/U3ltYm9sPSRXSVJFRCcpCitTQVguY2hhcmFjdGVycyhXaXJlZCBJbmRleCwgMTEpCitTQVguZW5kRWxlbWVudChhKQorU0FYLmNoYXJhY3RlcnMoIHwgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChhLCBocmVmPSdodHRwOi8vcmVkaXJlY3Qud2lyZWQuY29tL3JlZGlyLzUyL2h0dHA6Ly9zdG9ja3Mud2lyZWQuY29tL3N0b2Nrc19pbmRleGVzLmFzcCAnKQorU0FYLmNoYXJhY3RlcnMoQWxsIEluZGV4ZXMsIDExKQorU0FYLmVuZEVsZW1lbnQoYSkKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguZW5kRWxlbWVudCh0ZCkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguZW5kRWxlbWVudCh0cikKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHRyKQorU0FYLmNoYXJhY3RlcnMoIAorICAgICwgNikKK1NBWC5zdGFydEVsZW1lbnQodGQsIGJnY29sb3I9JyM5OUZGOTknKQorU0FYLnN0YXJ0RWxlbWVudChmb250LCBzaXplPScxJywgZmFjZT0nVmVyZGFuYSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZicsIGNvbG9yPScjMDAwMDAwJykKK1NBWC5zdGFydEVsZW1lbnQoYSwgaHJlZj0naHR0cDovL3JlZGlyZWN0LndpcmVkLmNvbS9yZWRpci81My9odHRwOi8vc3RvY2tzLndpcmVkLmNvbS9zdG9ja3NfcG9ydGZvbGlvcy5hc3AnKQorU0FYLmNoYXJhY3RlcnMoUG9ydGZvbGlvcywgMTApCitTQVguZW5kRWxlbWVudChhKQorU0FYLmVuZEVsZW1lbnQoZm9udCkKK1NBWC5lbmRFbGVtZW50KHRkKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5lbmRFbGVtZW50KHRyKQorU0FYLmNoYXJhY3RlcnMoCisKKywgMikKK1NBWC5jb21tZW50KCBCRUdJTiBCJk4gc3BvdCApCitTQVguY2hhcmFjdGVycygKKworLCAyKQorU0FYLnN0YXJ0RWxlbWVudCh0cikKK1NBWC5jaGFyYWN0ZXJzKCAKKyAsIDMpCitTQVguc3RhcnRFbGVtZW50KHRkLCBiZ2NvbG9yPScjRkYwMDAwJykKK1NBWC5zdGFydEVsZW1lbnQoZm9udCwgc2l6ZT0nMScsIGZhY2U9J1ZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYnLCBjb2xvcj0nI0ZGRkZGRicpCitTQVguc3RhcnRFbGVtZW50KGIpCitTQVguY2hhcmFjdGVycyhGSU5EIEEgQk9PSywgMTEpCitTQVguZW5kRWxlbWVudChiKQorU0FYLmVuZEVsZW1lbnQoZm9udCkKK1NBWC5lbmRFbGVtZW50KHRkKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguZW5kRWxlbWVudCh0cikKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudCh0cikKK1NBWC5zdGFydEVsZW1lbnQodGQsIGJnY29sb3I9JyNDQ0ZGQ0MnKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguc3RhcnRFbGVtZW50KHRhYmxlLCBjZWxsc3BhY2luZz0nMCcsIGNlbGxwYWRkaW5nPScwJywgYm9yZGVyPScwJywgd2lkdGg9JzE0NScpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgICAgICAgICAsIDE3KQorU0FYLnN0YXJ0RWxlbWVudCh0cikKK1NBWC5zdGFydEVsZW1lbnQodGQsIGJnY29sb3I9JyNDQ0ZGQ0MnKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICAgICAgICAgLCAxNykKK1NBWC5zdGFydEVsZW1lbnQoZm9ybSwgYWN0aW9uPSdodHRwOi8vci53aXJlZC5jb20vci93bl9uYXZfY19ibi9odHRwOi8vYmFybmVzYW5kbm9ibGUuYmZhc3QuY29tL2Jvb2tsaW5rL2NsaWNrJykKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudChpbnB1dCwgdHlwZT0naGlkZGVuJywgbmFtZT0nc291cmNlaWQnLCB2YWx1ZT0nMzgzNDcxJykKK1NBWC5lbmRFbGVtZW50KGlucHV0KQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguc3RhcnRFbGVtZW50KGlucHV0LCB0eXBlPSdoaWRkZW4nLCBuYW1lPSdjYXRlZ29yeWlkJywgdmFsdWU9J2NhdGVnb3J5ZHJvcGRvd24nKQorU0FYLmVuZEVsZW1lbnQoaW5wdXQpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgICAgICAgICAsIDE3KQorU0FYLnN0YXJ0RWxlbWVudChmb250LCBzaXplPScyJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAgICAgICAgICwgMTcpCitTQVguc3RhcnRFbGVtZW50KHNlbGVjdCwgbmFtZT0nU3ViamVjdHMnLCBzaXplPSc0JykKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudChvcHRpb24sIHZhbHVlPSczMDEnKQorU0FYLmNoYXJhY3RlcnMoQnVzaW5lc3MgVG9wIDIwCissIDE2KQorU0FYLmVuZEVsZW1lbnQob3B0aW9uKQorU0FYLnN0YXJ0RWxlbWVudChvcHRpb24sIHZhbHVlPSc1MDAnKQorU0FYLmNoYXJhY3RlcnMoQ29tcHV0ZXJzCissIDEwKQorU0FYLmVuZEVsZW1lbnQob3B0aW9uKQorU0FYLnN0YXJ0RWxlbWVudChvcHRpb24sIHZhbHVlPSc1MDMnKQorU0FYLmNoYXJhY3RlcnMoQ29tcHV0ZXIgR2FtZXMKKywgMTUpCitTQVguZW5kRWxlbWVudChvcHRpb24pCitTQVguc3RhcnRFbGVtZW50KG9wdGlvbiwgdmFsdWU9JzE2MDQnKQorU0FYLmNoYXJhY3RlcnMoQ3VycmVudCBBZmZhaXJzCissIDE2KQorU0FYLmVuZEVsZW1lbnQob3B0aW9uKQorU0FYLnN0YXJ0RWxlbWVudChvcHRpb24sIHZhbHVlPSc1MTEnKQorU0FYLmNoYXJhY3RlcnMoQ3liZXJjdWx0dXJlCissIDEzKQorU0FYLmVuZEVsZW1lbnQob3B0aW9uKQorU0FYLnN0YXJ0RWxlbWVudChvcHRpb24sIHZhbHVlPSc1MTAnKQorU0FYLmNoYXJhY3RlcnMoSW50ZXJuZXQvV2ViCissIDEzKQorU0FYLmVuZEVsZW1lbnQob3B0aW9uKQorU0FYLnN0YXJ0RWxlbWVudChvcHRpb24sIHZhbHVlPSczMDMnKQorU0FYLmNoYXJhY3RlcnMoSW52ZXN0aW5nCissIDEwKQorU0FYLmVuZEVsZW1lbnQob3B0aW9uKQorU0FYLnN0YXJ0RWxlbWVudChvcHRpb24sIHZhbHVlPScxNjA2JykKK1NBWC5jaGFyYWN0ZXJzKExhdworLCA0KQorU0FYLmVuZEVsZW1lbnQob3B0aW9uKQorU0FYLnN0YXJ0RWxlbWVudChvcHRpb24sIHZhbHVlPSc1MTMnKQorU0FYLmNoYXJhY3RlcnMoTXVsdGltZWRpYQorCissIDEyKQorU0FYLmVuZEVsZW1lbnQob3B0aW9uKQorU0FYLnN0YXJ0RWxlbWVudChvcHRpb24sIHZhbHVlPScxNjA1JykKK1NBWC5jaGFyYWN0ZXJzKE5ld3NtYWtlcnMKKywgMTEpCitTQVguZW5kRWxlbWVudChvcHRpb24pCitTQVguc3RhcnRFbGVtZW50KG9wdGlvbiwgdmFsdWU9JzE2MDcnKQorU0FYLmNoYXJhY3RlcnMoUG9saXRpY3MvR292dC4KKworICwgMTcpCitTQVguZW5kRWxlbWVudChvcHRpb24pCitTQVguc3RhcnRFbGVtZW50KG9wdGlvbiwgdmFsdWU9JzMxNScpCitTQVguY2hhcmFjdGVycyggV2ViIEJ1c2luZXNzCisgICwgMTYpCitTQVguZW5kRWxlbWVudChvcHRpb24pCitTQVguc3RhcnRFbGVtZW50KG9wdGlvbiwgdmFsdWU9JzI4MDAnKQorU0FYLmNoYXJhY3RlcnMoIEJhcmdhaW4gQm9va3MKKyAgICAgICAgICAgICAgICwgNDApCitTQVguZW5kRWxlbWVudChvcHRpb24pCitTQVguc3RhcnRFbGVtZW50KG9wdGlvbiwgdmFsdWU9JzQnKQorU0FYLmNoYXJhY3RlcnMoT3RoZXIgCisKKworCisgCisKKyAsIDE0KQorU0FYLmVuZEVsZW1lbnQob3B0aW9uKQorU0FYLmVuZEVsZW1lbnQoc2VsZWN0KQorU0FYLmVuZEVsZW1lbnQoZm9udCkKK1NBWC5lbmRFbGVtZW50KGZvcm0pCitTQVguZW5kRWxlbWVudCh0ZCkKK1NBWC5lbmRFbGVtZW50KHRyKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudCh0ciwgYWxpZ249J2xlZnQnLCB2YWxpZ249J3RvcCcpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgICAgICAgICAsIDE3KQorU0FYLnN0YXJ0RWxlbWVudCh0ZCwgdmFsaWduPSd0b3AnLCBiZ2NvbG9yPScjQ0NGRkNDJykKK1NBWC5jaGFyYWN0ZXJzKCAsIDEpCitTQVguc3RhcnRFbGVtZW50KGlucHV0LCB0eXBlPSdzdWJtaXQnLCB2YWx1ZT0nR08nKQorU0FYLmVuZEVsZW1lbnQoaW5wdXQpCitTQVguY2hhcmFjdGVycygKKworLCAyKQorU0FYLmVycm9yOiBodG1sUGFyc2VFbnRpdHlSZWY6IGV4cGVjdGluZyAnOycKK1NBWC5zdGFydEVsZW1lbnQoaW1nLCBzcmM9J2h0dHA6Ly9iYXJuZXNhbmRub2JsZS5iZmFzdC5jb20vYm9va2xpbmsvc2VydmU/c291cmNlaWQ9MzgzNDcxJmFtcDtpc19zZWFyY2g9WScsIGJvcmRlcj0nMCcsIGFsaWduPSd0b3AnKQorU0FYLmVuZEVsZW1lbnQoaW1nKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguY29tbWVudCgKKzxJTUcgU1JDPSJodHRwOi8vd3d3LndpcmVkLmNvbS9wYXJ0bmVyL2JuL3RyYWNraW5naW1nL290X3duX25hdl9jX2JuLmdpZiIgYm9yZGVyPTAgd2lkdGg9MSBoZWlnaHQ9MSBhbGlnbj10b3A+CispCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5lbmRFbGVtZW50KHRkKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAsIDM1KQorU0FYLmVuZEVsZW1lbnQodHIpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgICAgICAgICAsIDE3KQorU0FYLnN0YXJ0RWxlbWVudCh0ciwgYWxpZ249J2xlZnQnLCB2YWxpZ249J3RvcCcpCitTQVguY2hhcmFjdGVycygKKyAKKyAgICAgICAgLCAxMSkKK1NBWC5zdGFydEVsZW1lbnQodGQsIGFsaWduPSdsZWZ0JywgdmFsaWduPSd0b3AnLCBjb2xzcGFuPScyJywgcm93c3Bhbj0nMScsIGJnY29sb3I9JyNDQ0ZGQ0MnKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguc3RhcnRFbGVtZW50KHApCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgLCA5KQorU0FYLnN0YXJ0RWxlbWVudChmb250LCBzaXplPScxJywgZmFjZT0nVmVyZGFuYSwgQXJpYWwsIEhlbHZldGljYSwgJywgY29sb3I9JyMwMDAwMDAnKQorU0FYLmNoYXJhY3RlcnMoUG93ZXJlZCBieSAsIDExKQorU0FYLnN0YXJ0RWxlbWVudChhLCBocmVmPSdodHRwOi8vci53aXJlZC5jb20vci93bl9uYXZfY19ibi9odHRwOi8vYmFybmVzYW5kbm9ibGUuYmZhc3QuY29tL2Jvb2tsaW5rL2NsaWNrP3NvdXJjZWlkPTM4MzQ3MScpCitTQVguY2hhcmFjdGVycyhiYXJuZXNhbmRub2JsZS5jb20sIDE4KQorU0FYLmVuZEVsZW1lbnQoYSkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5zdGFydEVsZW1lbnQoYnIsIGNsZWFyPSdhbGwnKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguY2hhcmFjdGVycygKKworCissIDMpCitTQVguZW5kRWxlbWVudChwKQorU0FYLmVuZEVsZW1lbnQodGQpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgLCA5KQorU0FYLmVuZEVsZW1lbnQodHIpCitTQVguY2hhcmFjdGVycyggICwgMikKK1NBWC5lcnJvcjogVW5leHBlY3RlZCBlbmQgdGFnIDogZm9ybQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5lbmRFbGVtZW50KHRhYmxlKQorU0FYLmNoYXJhY3RlcnMoCisKKywgMikKK1NBWC5lbmRFbGVtZW50KHRkKQorU0FYLmVuZEVsZW1lbnQodHIpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguY29tbWVudCggRU5EIEImTiBzcG90ICkKK1NBWC5jaGFyYWN0ZXJzKCAgIAorICAKKywgNykKK1NBWC5jb21tZW50KCBCRUdJTiBNQUdBWklORSBTUE9UICkKK1NBWC5jaGFyYWN0ZXJzKAorCisgLCAzKQorU0FYLnN0YXJ0RWxlbWVudCh0cikKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICAsIDYpCitTQVguc3RhcnRFbGVtZW50KHRkLCBiZ2NvbG9yPScjMDAwMDAwJykKK1NBWC5zdGFydEVsZW1lbnQoZm9udCwgY29sb3I9JyNGRkZGRkYnLCBmYWNlPSdWZXJkYW5hLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmJywgc2l6ZT0nMScpCitTQVguc3RhcnRFbGVtZW50KGIpCitTQVguY2hhcmFjdGVycyhXSVJFRCAKKyAgICAgIE1BR0FaSU5FICwgMjIpCitTQVguZW5kRWxlbWVudChiKQorU0FYLmVuZEVsZW1lbnQoZm9udCkKK1NBWC5lbmRFbGVtZW50KHRkKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5lbmRFbGVtZW50KHRyKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguc3RhcnRFbGVtZW50KHRyKQorU0FYLmNoYXJhY3RlcnMoIAorLCAyKQorU0FYLnN0YXJ0RWxlbWVudCh0ZCwgYmdjb2xvcj0nI0ZGRkY5OScsIGFsaWduPSdDRU5URVInKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIGZhY2U9J3ZlcmRhbmEsIGFyaWFsLCBoZWx2ZXRpY2EsIHNhbnMtc2VyaWYnLCBzaXplPScxJykKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudChiKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguY2hhcmFjdGVycygKKworLCAyKQorU0FYLnN0YXJ0RWxlbWVudChhLCBocmVmPSdodHRwOi8vd3d3LndpcmVkLmNvbS93aXJlZC8nKQorU0FYLnN0YXJ0RWxlbWVudChpbWcsIHNyYz0naHR0cDovL3N0YXRpYy53aXJlZC5jb20vbmV3cy9pbWFnZXMvd2lyZWRjb3Zlci5naWYnLCB3aWR0aD0nOTEnLCBoZWlnaHQ9JzEwOScsIGJvcmRlcj0nMCcsIGFsdD0nV2lyZWQgTWFnYXppbmUnKQorU0FYLmVuZEVsZW1lbnQoaW1nKQorU0FYLmVuZEVsZW1lbnQoYSkKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGIpCitTQVguY2hhcmFjdGVycygKKworSXNzdWUgNy4xMQorLCAxMykKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5lbmRFbGVtZW50KHRkKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguZW5kRWxlbWVudCh0cikKK1NBWC5jaGFyYWN0ZXJzKAorCissIDIpCitTQVguc3RhcnRFbGVtZW50KHRyKQorU0FYLmNoYXJhY3RlcnMoIAorLCAyKQorU0FYLnN0YXJ0RWxlbWVudCh0ZCwgYmdjb2xvcj0nI0ZGRkY5OScsIGFsaWduPSdjZW50ZXInKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIGZhY2U9J3ZlcmRhbmEsIGFyaWFsLCBoZWx2ZXRpY2EsIHNhbnMtc2VyaWYnLCBzaXplPScxJykKK1NBWC5jaGFyYWN0ZXJzKCAKKworLCAzKQorU0FYLnN0YXJ0RWxlbWVudChhLCBocmVmPSdodHRwOi8vd3d3LndpcmVkLmNvbS93aXJlZC9zdWJzY3JpYmUvc3BlY2lhbC83OVdOJykKK1NBWC5jaGFyYWN0ZXJzKFN1YnNjcmliZSB0byBXaXJlZC4sIDE5KQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLmNoYXJhY3RlcnMoU3BlY2lhbCBvZmZlciEsIDE0KQorU0FYLmVuZEVsZW1lbnQoYSkKK1NBWC5jaGFyYWN0ZXJzKAorCisKKywgMykKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5lbmRFbGVtZW50KHRkKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguZW5kRWxlbWVudCh0cikKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmNvbW1lbnQoIEVORCBNQUdBWklORSBTUE9UICkKK1NBWC5jaGFyYWN0ZXJzKAorCisgICwgNCkKK1NBWC5zdGFydEVsZW1lbnQodHIpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHRkLCBiZ2NvbG9yPScjMDAwMDAwJykKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICAsIDYpCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIHNpemU9JzEnLCBmYWNlPSdWZXJkYW5hLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmJywgY29sb3I9JyNGRkZGRkYnKQorU0FYLnN0YXJ0RWxlbWVudChiKQorU0FYLmNoYXJhY3RlcnMoSE9UV0lSRUQsIDgpCitTQVguZW5kRWxlbWVudChiKQorU0FYLmVuZEVsZW1lbnQoZm9udCkKK1NBWC5lbmRFbGVtZW50KHRkKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5lbmRFbGVtZW50KHRyKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQodHIpCitTQVguY2hhcmFjdGVycyggCisgICAgLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh0ZCwgYmdjb2xvcj0nI0ZGRkY5OScpCitTQVguY2hhcmFjdGVycyggLCAxKQorU0FYLnN0YXJ0RWxlbWVudChmb250LCBzaXplPScxJywgZmFjZT0nVmVyZGFuYSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZicsIGNvbG9yPScjMDAwMDAwJykKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudChhLCBocmVmPSdodHRwOi8vd3d3LmhvdHdpcmVkLmNvbS8nKQorU0FYLmNoYXJhY3RlcnMoRnJvbnRkb29yLCA5KQorU0FYLmVuZEVsZW1lbnQoYSkKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudChhLCBocmVmPSdodHRwOi8vd3d3LmhvdHdpcmVkLmNvbS93ZWJtb25rZXkvJykKK1NBWC5jaGFyYWN0ZXJzKFdlYm1vbmtleSwgOSkKK1NBWC5lbmRFbGVtZW50KGEpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5zdGFydEVsZW1lbnQoYSwgaHJlZj0naHR0cDovL3d3dy5ob3R3aXJlZC5jb20vd2VibW9ua2V5L2d1aWRlcy9pbmRleC5odG1sJykKK1NBWC5jaGFyYWN0ZXJzKFdlYm1vbmtleSBHdWlkZXMsIDE2KQorU0FYLmVuZEVsZW1lbnQoYSkKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudChhLCBocmVmPSdodHRwOi8vd3d3LmhvdHdpcmVkLmNvbS9yZ2IvJykKK1NBWC5jaGFyYWN0ZXJzKFJHQiBHYWxsZXJ5LCAxMSkKK1NBWC5lbmRFbGVtZW50KGEpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5zdGFydEVsZW1lbnQoYSwgaHJlZj0naHR0cDovL3d3dy5ob3R3aXJlZC5jb20vYW5pbWF0aW9uLycpCitTQVguY2hhcmFjdGVycyhBbmltYXRpb24gRXhwcmVzcywgMTcpCitTQVguZW5kRWxlbWVudChhKQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguc3RhcnRFbGVtZW50KGEsIGhyZWY9J2h0dHA6Ly9nby5zdWNrLmNvbS9zdV93bmZkJykKK1NBWC5jaGFyYWN0ZXJzKFN1Y2suY29tLCA4KQorU0FYLmVuZEVsZW1lbnQoYSkKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmVuZEVsZW1lbnQoZm9udCkKK1NBWC5lbmRFbGVtZW50KHRkKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5lbmRFbGVtZW50KHRyKQorU0FYLmNoYXJhY3RlcnMoCisgIAorICAgICwgOCkKK1NBWC5zdGFydEVsZW1lbnQodHIpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHRkLCBiZ2NvbG9yPScjMDAwMDAwJykKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICAsIDYpCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIHNpemU9JzEnLCBmYWNlPSdWZXJkYW5hLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmJywgY29sb3I9JyNGRkZGRkYnKQorU0FYLnN0YXJ0RWxlbWVudChiKQorU0FYLmNoYXJhY3RlcnMoSE9UQk9ULCA2KQorU0FYLmVuZEVsZW1lbnQoYikKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguZW5kRWxlbWVudCh0ZCkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguZW5kRWxlbWVudCh0cikKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHRyKQorU0FYLmNoYXJhY3RlcnMoIAorICAgICwgNikKK1NBWC5zdGFydEVsZW1lbnQodGQsIGJnY29sb3I9JyNGRkZGOTknKQorU0FYLmNoYXJhY3RlcnMoICwgMSkKK1NBWC5zdGFydEVsZW1lbnQoZm9udCwgc2l6ZT0nMScsIGZhY2U9J1ZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYnLCBjb2xvcj0nIzAwMDAwMCcpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5zdGFydEVsZW1lbnQoYSwgaHJlZj0naHR0cDovL3JlZGlyZWN0LndpcmVkLmNvbS9yZWRpci81NC9odHRwOi8vd3d3LmhvdGJvdC5jb20vJykKK1NBWC5jaGFyYWN0ZXJzKFNlYXJjaCwgNikKK1NBWC5lbmRFbGVtZW50KGEpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5zdGFydEVsZW1lbnQoYSwgaHJlZj0naHR0cDovL3Nob3AuaG90Ym90LmNvbS8nKQorU0FYLmNoYXJhY3RlcnMoU2hvcHBpbmcsIDgpCitTQVguZW5kRWxlbWVudChhKQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguZW5kRWxlbWVudChmb250KQorU0FYLmVuZEVsZW1lbnQodGQpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnQodHIpCitTQVguY2hhcmFjdGVycygKKyAgCisgICwgNikKK1NBWC5zdGFydEVsZW1lbnQodHIpCitTQVguc3RhcnRFbGVtZW50KHRkKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIGZhY2U9J1ZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYnLCBzaXplPScxJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIGZhY2U9J1ZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYnLCBzaXplPScxJykKK1NBWC5jaGFyYWN0ZXJzKAorICBXaXJlZCBOZXdzICwgMTQpCitTQVguc3RhcnRFbGVtZW50KGEsIGhyZWY9Jy9uZXdzL3doby8wLDEzNjIsLDAwLmh0bWwnKQorU0FYLmNoYXJhY3RlcnMoc3RhZmYsIDUpCitTQVguZW5kRWxlbWVudChhKQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLmNoYXJhY3RlcnMoCisKKyAgLCA0KQorU0FYLmNvbW1lbnQoIFdpcmVkIE5ld3MgaXMgPGEgaHJlZj0iaHR0cDovL3d3dy53aXJlZC5jb20vbmV3cy9qb2JzLmh0bWwiPmhpcmluZzwvYT48YnI+PGJyPiApCitTQVguY2hhcmFjdGVycygKKworICAsIDQpCitTQVguc3RhcnRFbGVtZW50KGIpCitTQVguc3RhcnRFbGVtZW50KGEsIGhyZWY9Jy9uZXdzL2ZlZWRiYWNrLzAsMTM2NCwsMDAuaHRtbCcpCitTQVguY2hhcmFjdGVycyhDb250YWN0IHVzLCAxMCkKK1NBWC5lbmRFbGVtZW50KGEpCitTQVguZW5kRWxlbWVudChiKQorU0FYLmVuZEVsZW1lbnQoZm9udCkKK1NBWC5jaGFyYWN0ZXJzKAorCisgIAorICAsIDcpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguY2hhcmFjdGVycygKKyAgCisgICwgNikKK1NBWC5zdGFydEVsZW1lbnQoZm9udCwgZmFjZT0nVmVyZGFuYSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZicsIHNpemU9JzEnKQorU0FYLmNoYXJhY3RlcnMoV2lyZWQgTmV3cyAgZGVsaXZlcmVkLCAyMSkKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5jaGFyYWN0ZXJzKGJ5ICwgMykKK1NBWC5zdGFydEVsZW1lbnQoYSwgaHJlZj0nL25ld3MvcGFsbXBpbG90LzAsMTM2NSwsMDAuaHRtbCcpCitTQVguY2hhcmFjdGVycyhQYWxtUGlsb3QsIDkpCitTQVguZW5kRWxlbWVudChhKQorU0FYLmNoYXJhY3RlcnMoLCwgMSkKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5zdGFydEVsZW1lbnQoYSwgaHJlZj0naHR0cDovL3d3dy5ob3R3aXJlZC5jb20vZW1haWwvc2lnbnVwL3duX291dGxvb2suaHRtbCcpCitTQVguY2hhcmFjdGVycyhPdXRsb29rICBFeHByZXNzLCAxNikKK1NBWC5lbmRFbGVtZW50KGEpCitTQVguY2hhcmFjdGVycygsLCAxKQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLnN0YXJ0RWxlbWVudChhLCBocmVmPSdodHRwOi8vcmVkaXJlY3Qud2lyZWQuY29tL3JlZGlyLzU1L2h0dHA6Ly9mb3JtLm5ldHNjYXBlLmNvbS9pYmQvaHRtbC9pYmRfZnJhbWVzZXQuaHRtbCcpCitTQVguY2hhcmFjdGVycyhJbi1Cb3ggRGlyZWN0LCAxMykKK1NBWC5lbmRFbGVtZW50KGEpCitTQVguY2hhcmFjdGVycygsLCAxKQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLmNoYXJhY3RlcnMoCitvciAsIDQpCitTQVguc3RhcnRFbGVtZW50KGEsIGhyZWY9Jy9uZXdzL3BvaW50Y2FzdC8wLDEzNjYsLDAwLmh0bWwnKQorU0FYLmNoYXJhY3RlcnMoUG9pbnRDYXN0LCA5KQorU0FYLmVuZEVsZW1lbnQoYSkKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguY2hhcmFjdGVycygKKworLCAyKQorU0FYLmNvbW1lbnQoIFRSQUNLSU5HICkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudChpbWcsIHNyYz0naHR0cDovL3d3dy53aXJlZC5jb20vc3BlY2lhbC9tb2R4L25ld3MuZ2lmJywgaGVpZ2h0PScxJywgd2lkdGg9JzEnLCBhbHQ9JycpCitTQVguZW5kRWxlbWVudChpbWcpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5lcnJvcjogT3BlbmluZyBhbmQgZW5kaW5nIHRhZyBtaXNtYXRjaDogdGQgYW5kIGZvbnQKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguZW5kRWxlbWVudCh0ZCkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguZW5kRWxlbWVudCh0cikKK1NBWC5jaGFyYWN0ZXJzKAorCissIDIpCitTQVguZW5kRWxlbWVudCh0YWJsZSkKK1NBWC5jaGFyYWN0ZXJzKAorCissIDIpCitTQVguY29tbWVudCggZW5kIGxvd2VyIGxlZnQgc2lkZSBOYXZpZ2F0aW9uICkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmNvbW1lbnQoIENPTlRFTlQgVEFCTEUgKQorU0FYLmNoYXJhY3RlcnMoCisKKywgMikKK1NBWC5zdGFydEVsZW1lbnQodGFibGUsIGJvcmRlcj0nMCcsIHdpZHRoPSc0NDcnLCBjZWxsc3BhY2luZz0nMCcsIGNlbGxwYWRkaW5nPScwJywgYm9yZGVyY29sb3I9JyM2NkZGMDAnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudCh0cikKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHRkLCB2YWxpZ249J1RPUCcsIGFsaWduPSdMRUZUJywgcm93c3Bhbj0nMicpCitTQVguY2hhcmFjdGVycygKKyAgICwgNCkKK1NBWC5zdGFydEVsZW1lbnQoaW1nLCBzcmM9J2h0dHA6Ly9zdGF0aWMud2lyZWQuY29tL25ld3MvaW1hZ2VzL3NwYWNlci5naWYnLCBoZWlnaHQ9JzEnLCB3aWR0aD0nMTUnLCBhbHQ9JycpCitTQVguZW5kRWxlbWVudChpbWcpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnQodGQpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudCh0ZCwgY29sc3Bhbj0nMycsIHZhbGlnbj0nVE9QJywgYWxpZ249J0xFRlQnKQorU0FYLnN0YXJ0RWxlbWVudChpbWcsIHNyYz0naHR0cDovL3N0YXRpYy53aXJlZC5jb20vbmV3cy9pbWFnZXMvc3BhY2VyLmdpZicsIGhlaWdodD0nNycsIHdpZHRoPSc0MzInLCBhbHQ9JycpCitTQVguZW5kRWxlbWVudChpbWcpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguY2hhcmFjdGVycygKKworCissIDMpCitTQVguY29tbWVudCggU1FMIHF1ZXJ5IGZvciBQYWNrYWdlIGhlcmUgKQorU0FYLmNoYXJhY3RlcnMoCisKKywgMikKK1NBWC5zdGFydEVsZW1lbnQoZm9udCwgZmFjZT0nVmVyZGFuYSwgQXJpYWwsIEdlbmV2YSwgc2Fucy1zZXJpZicsIHNpemU9JzInKQorU0FYLnN0YXJ0RWxlbWVudChiKQorU0FYLnN0YXJ0RWxlbWVudChpKQorU0FYLmNoYXJhY3RlcnMoTm9tYWQncyBMYW5kLCAxMikKK1NBWC5lbmRFbGVtZW50KGkpCitTQVguZW5kRWxlbWVudChiKQorU0FYLmVuZEVsZW1lbnQoZm9udCkKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5zdGFydEVsZW1lbnQoaW1nLCBzcmM9J2h0dHA6Ly9zdGF0aWMud2lyZWQuY29tL25ld3MvaW1hZ2VzL3BpeDE1NS5naWYnLCBoZWlnaHQ9JzEwJywgd2lkdGg9JzE1NScsIGFsdD0nJykKK1NBWC5lbmRFbGVtZW50KGltZykKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5jb21tZW50KCBJQkRfU1VCSkVDVDogSG9tZWxlc3MsIGJ1dCBJRCdkLCBpbiBTZWF0dGxlICkKK1NBWC5zdGFydEVsZW1lbnQoZm9udCwgZmFjZT0nQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZicsIHNpemU9JzUnKQorU0FYLnN0YXJ0RWxlbWVudChiKQorU0FYLnN0YXJ0RWxlbWVudChhLCBocmVmPScvbmV3cy9wb2xpdGljcy8wLDEyODMsMzE5MTEsMDAuaHRtbCcpCitTQVguY2hhcmFjdGVycyhIb21lbGVzcywgYnV0IElEJ2QsIGluIFNlYXR0bGUsIDMwKQorU0FYLmVuZEVsZW1lbnQoYSkKK1NBWC5lbmRFbGVtZW50KGIpCitTQVguZW5kRWxlbWVudChmb250KQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLnN0YXJ0RWxlbWVudChmb250LCBzaXplPScxJywgZmFjZT0nVmVyZGFuYSwgQXJpYWwsIEdlbmV2YSwgc2Fucy1zZXJpZicsIGNvbG9yPScjRkYwMDAwJykKK1NBWC5jaGFyYWN0ZXJzKDg6MTUgYS5tLiwgOSkKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguY2hhcmFjdGVycygmbmJzcDssIDIpCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIGZhY2U9J1ZlcmRhbmEsIEFyaWFsLCBHZW5ldmEsIHNhbnMtc2VyaWYnLCBzaXplPScyJykKK1NBWC5jaGFyYWN0ZXJzKFRoZSBjaXR5IGNvdW5jaWwgYXBwcm92ZXMgYSBwbCwgMTgwKQorU0FYLmVuZEVsZW1lbnQoZm9udCkKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5zdGFydEVsZW1lbnQoZm9udCwgZmFjZT0nVmVyZGFuYSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZicsIHNpemU9JzEnKQorU0FYLnN0YXJ0RWxlbWVudChpKQorU0FYLnN0YXJ0RWxlbWVudChhLCBocmVmPScvbmV3cy9wb2xpdGljcy8wLDEyODMsLDAwLmh0bWwnKQorU0FYLmNoYXJhY3RlcnMoaW4sIDIpCitTQVguY2hhcmFjdGVycygmbmJzcDssIDIpCitTQVguY2hhcmFjdGVycyhQb2xpdGljcywgOCkKK1NBWC5lbmRFbGVtZW50KGEpCitTQVguZW5kRWxlbWVudChpKQorU0FYLmVuZEVsZW1lbnQoZm9udCkKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5zdGFydEVsZW1lbnQodGFibGUsIGJnY29sb3I9JyNGMEYwRjAnLCBjZWxscGFkZGluZz0nMCcsIGNlbGxzcGFjaW5nPScwJywgYm9yZGVyPScwJywgd2lkdGg9JzE0NycsIGFsaWduPSdSSUdIVCcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguY29tbWVudCggQ29tbWVudGFyeSBGcmFnIEJlZ2luICkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAsIDkpCitTQVguc3RhcnRFbGVtZW50KHRyKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICAgLCAxMSkKK1NBWC5zdGFydEVsZW1lbnQodGQsIGJnY29sb3I9JyMwMDAwMDAnKQorU0FYLmNoYXJhY3RlcnMoJm5ic3A7LCAyKQorU0FYLmVuZEVsZW1lbnQodGQpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgICAsIDExKQorU0FYLnN0YXJ0RWxlbWVudCh0ZCwgYmdjb2xvcj0nIzAwMDAwMCcpCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIHNpemU9JzEnLCBmYWNlPSdWZXJkYW5hLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmJywgY29sb3I9JyNGRkZGRkYnKQorU0FYLnN0YXJ0RWxlbWVudChiKQorU0FYLmNoYXJhY3RlcnMoSElUUyAsIDUpCitTQVguY2hhcmFjdGVycygmYW1wOywgMSkKK1NBWC5jaGFyYWN0ZXJzKCBNSVNDLiwgNikKK1NBWC5lbmRFbGVtZW50KGIpCitTQVguZW5kRWxlbWVudChmb250KQorU0FYLmVuZEVsZW1lbnQodGQpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgLCA5KQorU0FYLmVuZEVsZW1lbnQodHIpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgLCA5KQorU0FYLnN0YXJ0RWxlbWVudCh0cikKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAgICwgMTEpCitTQVguc3RhcnRFbGVtZW50KHRkKQorU0FYLmNoYXJhY3RlcnMoJm5ic3A7LCAyKQorU0FYLmVuZEVsZW1lbnQodGQpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgICAsIDExKQorU0FYLnN0YXJ0RWxlbWVudCh0ZCkKK1NBWC5zdGFydEVsZW1lbnQoaW1nLCBzcmM9J2h0dHA6Ly9zdGF0aWMud2lyZWQuY29tL25ld3MvaW1hZ2VzL3NwYWNlci5naWYnLCBoZWlnaHQ9JzUnLCB3aWR0aD0nNScsIGFsdD0nJykKK1NBWC5lbmRFbGVtZW50KGltZykKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5jaGFyYWN0ZXJzKAorCisJCSwgNCkKK1NBWC5zdGFydEVsZW1lbnQoZm9udCwgc2l6ZT0nMicsIGZhY2U9J0FyaWFsLEhlbHZldGljYSwgc2Fucy1zZXJpZicpCitTQVguc3RhcnRFbGVtZW50KGIpCitTQVguc3RhcnRFbGVtZW50KGEsIGhyZWY9Jy9uZXdzL2NvbW1lbnRhcnlTZWN0aW9uLzAsMTI5MiwzMTY2NCwwMC5odG1sJykKK1NBWC5jaGFyYWN0ZXJzKENhbGVuZGFyIG9mIEUtVmVudHMsIDE5KQorU0FYLmVuZEVsZW1lbnQoYSkKK1NBWC5lbmRFbGVtZW50KGIpCitTQVguZW5kRWxlbWVudChmb250KQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLnN0YXJ0RWxlbWVudChmb250LCBzaXplPScyJywgZmFjZT0nQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZicpCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIHNpemU9JzEnLCBmYWNlPSdBcmlhbCwgR2VuZXZhLCBzYW5zLXNlcmlmJywgY29sb3I9JyMwMDAwMDAnKQorU0FYLmNoYXJhY3RlcnMoT25nb2luZyBnb2luZ3Mtb24uICwgMTkpCitTQVguZW5kRWxlbWVudChmb250KQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLnN0YXJ0RWxlbWVudChmb250LCBzaXplPScyJywgZmFjZT0nQXJpYWwsSGVsdmV0aWNhLCBzYW5zLXNlcmlmJykKK1NBWC5zdGFydEVsZW1lbnQoYikKK1NBWC5zdGFydEVsZW1lbnQoYSwgaHJlZj0nL25ld3MvY29tbWVudGFyeVNlY3Rpb24vMCwxMjkyLDMxOTI2LDAwLmh0bWwnKQorU0FYLmNoYXJhY3RlcnMoUmFudHMgLCA2KQorU0FYLmVycm9yOiBodG1sUGFyc2VFbnRpdHlSZWY6IG5vIG5hbWUKK1NBWC5jaGFyYWN0ZXJzKCZhbXA7LCAxKQorU0FYLmNoYXJhY3RlcnMoIFJhdmVzLCA2KQorU0FYLmVuZEVsZW1lbnQoYSkKK1NBWC5lbmRFbGVtZW50KGIpCitTQVguZW5kRWxlbWVudChmb250KQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLnN0YXJ0RWxlbWVudChmb250LCBzaXplPScyJywgZmFjZT0nQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZicpCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIHNpemU9JzEnLCBmYWNlPSdBcmlhbCwgR2VuZXZhLCBzYW5zLXNlcmlmJywgY29sb3I9JyMwMDAwMDAnKQorU0FYLmNoYXJhY3RlcnMoUmVhZGVycyBvbiBBcHBsZSdzIEc0IC4uLiBBT0wnLCA1OSkKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguY2hhcmFjdGVycyggICwgMikKK1NBWC5lcnJvcjogT3BlbmluZyBhbmQgZW5kaW5nIHRhZyBtaXNtYXRjaDogdGQgYW5kIGZvbnQKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguZXJyb3I6IE9wZW5pbmcgYW5kIGVuZGluZyB0YWcgbWlzbWF0Y2g6IHRkIGFuZCBmb250CitTQVguZW5kRWxlbWVudChmb250KQorU0FYLmVuZEVsZW1lbnQodGQpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgLCA5KQorU0FYLmVuZEVsZW1lbnQodHIpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5jb21tZW50KCBDb21tZW50YXJ5IEZyYWcgRW5kICkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudCh0cikKK1NBWC5jaGFyYWN0ZXJzKCAKKywgMikKK1NBWC5zdGFydEVsZW1lbnQodGQsIGFsaWduPSdsZWZ0JywgYmdjb2xvcj0nIzAwMDAwMCcpCitTQVguY2hhcmFjdGVycygmbmJzcDssIDIpCitTQVguZW5kRWxlbWVudCh0ZCkKK1NBWC5jaGFyYWN0ZXJzKCAKKywgMikKK1NBWC5zdGFydEVsZW1lbnQodGQsIGJnY29sb3I9JyMwMDAwMDAnKQorU0FYLnN0YXJ0RWxlbWVudChmb250LCBzaXplPScxJywgZmFjZT0nVmVyZGFuYSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZicsIGNvbG9yPScjRkZGRkZGJykKK1NBWC5zdGFydEVsZW1lbnQoYikKK1NBWC5jaGFyYWN0ZXJzKENVUlJFTlQgSE9PLUhBLCAxNCkKK1NBWC5lbmRFbGVtZW50KGIpCitTQVguZW5kRWxlbWVudChmb250KQorU0FYLmVuZEVsZW1lbnQodGQpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5lbmRFbGVtZW50KHRyKQorU0FYLmNoYXJhY3RlcnMoCisKKywgMikKK1NBWC5zdGFydEVsZW1lbnQodHIpCitTQVguY2hhcmFjdGVycyggCissIDIpCitTQVguc3RhcnRFbGVtZW50KHRkKQorU0FYLmNoYXJhY3RlcnMoJm5ic3A7LCAyKQorU0FYLmVuZEVsZW1lbnQodGQpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5zdGFydEVsZW1lbnQodGQpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5zdGFydEVsZW1lbnQoaW1nLCBzcmM9J2h0dHA6Ly9zdGF0aWMud2lyZWQuY29tL25ld3MvaW1hZ2VzL3NwYWNlci5naWYnLCBoZWlnaHQ9JzUnLCB3aWR0aD0nNScsIGFsdD0nJykKK1NBWC5lbmRFbGVtZW50KGltZykKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLmNoYXJhY3RlcnMoCisKKywgMikKK1NBWC5zdGFydEVsZW1lbnQoZm9udCwgc2l6ZT0nMicsIGZhY2U9J0FyaWFsLEhlbHZldGljYSwgc2Fucy1zZXJpZicpCitTQVguc3RhcnRFbGVtZW50KGIpCitTQVguc3RhcnRFbGVtZW50KGEsIGhyZWY9Jy9uZXdzL21wMy8wLDEyODUsLDAwLmh0bWwnKQorU0FYLmNoYXJhY3RlcnMoTVAzIFJvY2tzIHRoZSBXZWIsIDE3KQorU0FYLmVuZEVsZW1lbnQoYSkKK1NBWC5lbmRFbGVtZW50KGIpCitTQVguZW5kRWxlbWVudChmb250KQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLnN0YXJ0RWxlbWVudChmb250LCBzaXplPScyJywgZmFjZT0nQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZicpCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIHNpemU9JzEnLCBmYWNlPSdBcmlhbCwgR2VuZXZhLCBzYW5zLXNlcmlmJywgY29sb3I9JyMwMDAwMDAnKQorU0FYLmNoYXJhY3RlcnMoRG93bmxvYWQgdGhlIHNvdW5kLiAgLCAyMSkKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5zdGFydEVsZW1lbnQoaSkKK1NBWC5jaGFyYWN0ZXJzKFNwb25zb3JlZCBieSAsIDEzKQorU0FYLnN0YXJ0RWxlbWVudChhLCBocmVmPSdodHRwOi8vci5ob3R3aXJlZC5jb20vci93bl9mZF9tcDNfcl9tc2NtX3R4dC9odHRwOi8vd2ViZmFybS5tZWRpYXBsZXguY29tL2NsaWNrX3RocnVfcmVxdWVzdC8xNjQtMTM2MWItMTA1MicsIHN0eWxlPSd0ZXh0LWRlY29yYXRpb246bm9uZScpCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIGNvbG9yPScjMDAwMDAwJykKK1NBWC5jaGFyYWN0ZXJzKE11c2ljbWFrZXIsIDEwKQorU0FYLmVuZEVsZW1lbnQoZm9udCkKK1NBWC5lbmRFbGVtZW50KGEpCitTQVguZW5kRWxlbWVudChpKQorU0FYLmVuZEVsZW1lbnQoZm9udCkKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5jaGFyYWN0ZXJzKCAKKworLCAzKQorU0FYLnN0YXJ0RWxlbWVudChmb250LCBzaXplPScyJywgZmFjZT0nQXJpYWwsSGVsdmV0aWNhLCBzYW5zLXNlcmlmJykKK1NBWC5zdGFydEVsZW1lbnQoYikKK1NBWC5zdGFydEVsZW1lbnQoYSwgaHJlZj0nL25ld3Mvd2lyZWxlc3MvMCwxMzgyLCwwMC5odG1sJykKK1NBWC5jaGFyYWN0ZXJzKFRoZSBXaXJlbGVzcyBXb3JsZCwgMTgpCitTQVguZW5kRWxlbWVudChhKQorU0FYLmVuZEVsZW1lbnQoYikKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIHNpemU9JzInLCBmYWNlPSdBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmJykKK1NBWC5zdGFydEVsZW1lbnQoZm9udCwgc2l6ZT0nMScsIGZhY2U9J0FyaWFsLCBHZW5ldmEsIHNhbnMtc2VyaWYnLCBjb2xvcj0nIzAwMDAwMCcpCitTQVguY2hhcmFjdGVycyhOZXR3b3JraW5nIGdldHMgdW5wbHVnZ2VkLiAgLCAyOCkKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5zdGFydEVsZW1lbnQoaSkKK1NBWC5jaGFyYWN0ZXJzKFNwb25zb3JlZCBieSAsIDEzKQorU0FYLnN0YXJ0RWxlbWVudChhLCBocmVmPSdodHRwOi8vd3d3LmVyaWNzc29uLnNlL2dldC9pbnRlcm5ldC9kZWZhdWx0LnNodG1sJywgc3R5bGU9J3RleHQtZGVjb3JhdGlvbjpub25lJykKK1NBWC5zdGFydEVsZW1lbnQoZm9udCwgY29sb3I9JyMwMDAwMDAnKQorU0FYLmNoYXJhY3RlcnMoRXJpY3Nzb24sIDgpCitTQVguZW5kRWxlbWVudChmb250KQorU0FYLmVuZEVsZW1lbnQoYSkKK1NBWC5lbmRFbGVtZW50KGkpCitTQVguZW5kRWxlbWVudChmb250KQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLmNoYXJhY3RlcnMoIAorCissIDMpCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIHNpemU9JzInLCBmYWNlPSdBcmlhbCxIZWx2ZXRpY2EsIHNhbnMtc2VyaWYnKQorU0FYLnN0YXJ0RWxlbWVudChiKQorU0FYLnN0YXJ0RWxlbWVudChhLCBocmVmPScvbmV3cy9kaWdpd29vZC8wLDE0MTIsLDAwLmh0bWwnKQorU0FYLmNoYXJhY3RlcnMoRGlnaXRhbCBIb2xseXdvb2QsIDE3KQorU0FYLmVuZEVsZW1lbnQoYSkKK1NBWC5lbmRFbGVtZW50KGIpCitTQVguZW5kRWxlbWVudChmb250KQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLnN0YXJ0RWxlbWVudChmb250LCBzaXplPScyJywgZmFjZT0nQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZicpCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIHNpemU9JzEnLCBmYWNlPSdBcmlhbCwgR2VuZXZhLCBzYW5zLXNlcmlmJywgY29sb3I9JyMwMDAwMDAnKQorU0FYLmNoYXJhY3RlcnMoVGhlIGJ1enogb2YgdGVjaC4sIDE3KQorU0FYLmVuZEVsZW1lbnQoZm9udCkKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5jaGFyYWN0ZXJzKCAKKworLCAzKQorU0FYLnN0YXJ0RWxlbWVudChmb250LCBzaXplPScyJywgZmFjZT0nQXJpYWwsSGVsdmV0aWNhLCBzYW5zLXNlcmlmJykKK1NBWC5zdGFydEVsZW1lbnQoYikKK1NBWC5zdGFydEVsZW1lbnQoYSwgaHJlZj0nL25ld3MvaXBvLzAsMTM1MCwsMDAuaHRtbCcpCitTQVguY2hhcmFjdGVycyhJUE8gT3V0bG9vaywgMTEpCitTQVguZW5kRWxlbWVudChhKQorU0FYLmVuZEVsZW1lbnQoYikKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIHNpemU9JzInLCBmYWNlPSdBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmJykKK1NBWC5zdGFydEVsZW1lbnQoZm9udCwgc2l6ZT0nMScsIGZhY2U9J0FyaWFsLCBHZW5ldmEsIHNhbnMtc2VyaWYnLCBjb2xvcj0nIzAwMDAwMCcpCitTQVguY2hhcmFjdGVycyhEZWFscyBpbiB0aGUgcGlwZWxpbmUuICAsIDI0KQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLnN0YXJ0RWxlbWVudChpKQorU0FYLmNoYXJhY3RlcnMoU3BvbnNvcmVkIGJ5ICwgMTMpCitTQVguc3RhcnRFbGVtZW50KGEsIGhyZWY9J2h0dHA6Ly9yLmhvdHdpcmVkLmNvbS9yL3duX2lwb19yX3N1bl90eHQvaHR0cDovL3N1bi5jb20vYWRzL3NtaS9icmFuZC9ob3R3aXJlZC5odG1sJywgc3R5bGU9J3RleHQtZGVjb3JhdGlvbjpub25lJykKK1NBWC5zdGFydEVsZW1lbnQoZm9udCwgY29sb3I9JyMwMDAwMDAnKQorU0FYLmNoYXJhY3RlcnMoU3VuLCAzKQorU0FYLmVuZEVsZW1lbnQoZm9udCkKK1NBWC5lbmRFbGVtZW50KGEpCitTQVguZW5kRWxlbWVudChpKQorU0FYLmVuZEVsZW1lbnQoZm9udCkKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5jaGFyYWN0ZXJzKCAKKworLCAzKQorU0FYLnN0YXJ0RWxlbWVudChmb250LCBzaXplPScyJywgZmFjZT0nQXJpYWwsSGVsdmV0aWNhLCBzYW5zLXNlcmlmJykKK1NBWC5zdGFydEVsZW1lbnQoYikKK1NBWC5zdGFydEVsZW1lbnQoYSwgaHJlZj0nL25ld3MvZWJpei8wLDEyNzIsLDAwLmh0bWwnKQorU0FYLmNoYXJhY3RlcnMoRS1CaXosIDUpCitTQVguZW5kRWxlbWVudChhKQorU0FYLmVuZEVsZW1lbnQoYikKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIHNpemU9JzInLCBmYWNlPSdBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmJykKK1NBWC5zdGFydEVsZW1lbnQoZm9udCwgc2l6ZT0nMScsIGZhY2U9J0FyaWFsLCBHZW5ldmEsIHNhbnMtc2VyaWYnLCBjb2xvcj0nIzAwMDAwMCcpCitTQVguY2hhcmFjdGVycyhCdXNpbmVzcyB1bnVzdWFsLiAgLCAxOSkKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5zdGFydEVsZW1lbnQoaSkKK1NBWC5jaGFyYWN0ZXJzKFNwb25zb3JlZCBieSAsIDEzKQorU0FYLnN0YXJ0RWxlbWVudChhLCBocmVmPSdodHRwOi8vci53aXJlZC5jb20vci93bl9mZF9yX2ViaXpfaWJtX3R4dC9odHRwOi8vd3d3LmlibS5jb20nLCBzdHlsZT0ndGV4dC1kZWNvcmF0aW9uOm5vbmUnKQorU0FYLnN0YXJ0RWxlbWVudChmb250LCBjb2xvcj0nIzAwMDAwMCcpCitTQVguY2hhcmFjdGVycyhJQk0sIDMpCitTQVguZW5kRWxlbWVudChmb250KQorU0FYLmVuZEVsZW1lbnQoYSkKK1NBWC5lbmRFbGVtZW50KGkpCitTQVguZW5kRWxlbWVudChmb250KQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLmNoYXJhY3RlcnMoIAorCissIDMpCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIHNpemU9JzInLCBmYWNlPSdBcmlhbCxIZWx2ZXRpY2EsIHNhbnMtc2VyaWYnKQorU0FYLnN0YXJ0RWxlbWVudChiKQorU0FYLnN0YXJ0RWxlbWVudChhLCBocmVmPScvbmV3cy9tZWR0ZWNoLzAsMTI4NiwsMDAuaHRtbCcpCitTQVguY2hhcmFjdGVycyhNZWQtVGVjaCBDZW50ZXIsIDE1KQorU0FYLmVuZEVsZW1lbnQoYSkKK1NBWC5lbmRFbGVtZW50KGIpCitTQVguZW5kRWxlbWVudChmb250KQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLnN0YXJ0RWxlbWVudChmb250LCBzaXplPScyJywgZmFjZT0nQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZicpCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIHNpemU9JzEnLCBmYWNlPSdBcmlhbCwgR2VuZXZhLCBzYW5zLXNlcmlmJywgY29sb3I9JyMwMDAwMDAnKQorU0FYLmNoYXJhY3RlcnMoRnJvbSB0aGUgYmxlZWRpbmcgZWRnZS4sIDIzKQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLnN0YXJ0RWxlbWVudChpKQorU0FYLmNoYXJhY3RlcnMoU3BvbnNvcmVkIGJ5IFdlYk1ELCAxOCkKK1NBWC5lbmRFbGVtZW50KGkpCitTQVguZW5kRWxlbWVudChmb250KQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLmNoYXJhY3RlcnMoIAorCissIDMpCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIHNpemU9JzInLCBmYWNlPSdBcmlhbCxIZWx2ZXRpY2EsIHNhbnMtc2VyaWYnKQorU0FYLnN0YXJ0RWxlbWVudChiKQorU0FYLnN0YXJ0RWxlbWVudChhLCBocmVmPScvbmV3cy9saW51eC8wLDE0MTEsLDAwLmh0bWwnKQorU0FYLmNoYXJhY3RlcnMoVGhlIExpbnV4IEVmZmVjdCwgMTYpCitTQVguZW5kRWxlbWVudChhKQorU0FYLmVuZEVsZW1lbnQoYikKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIHNpemU9JzInLCBmYWNlPSdBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmJykKK1NBWC5zdGFydEVsZW1lbnQoZm9udCwgc2l6ZT0nMScsIGZhY2U9J0FyaWFsLCBHZW5ldmEsIHNhbnMtc2VyaWYnLCBjb2xvcj0nIzAwMDAwMCcpCitTQVguY2hhcmFjdGVycyhOb3QganVzdCBmb3IgZ2Vla3MuLCAxOSkKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguY2hhcmFjdGVycyggLCAxKQorU0FYLnN0YXJ0RWxlbWVudChpbWcsIHNyYz0naHR0cDovL3N0YXRpYy53aXJlZC5jb20vbmV3cy9pbWFnZXMvc3BhY2VyLmdpZicsIGhlaWdodD0nNycsIHdpZHRoPSc1JywgYWx0PScnKQorU0FYLmVuZEVsZW1lbnQoaW1nKQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLmNoYXJhY3RlcnMoCisKKywgMikKK1NBWC5zdGFydEVsZW1lbnQoZm9udCwgc2l6ZT0nMicsIGZhY2U9J0FyaWFsLEhlbHZldGljYSwgc2Fucy1zZXJpZicpCitTQVguc3RhcnRFbGVtZW50KGIpCitTQVguc3RhcnRFbGVtZW50KGEsIGhyZWY9Jy9uZXdzL2V4ZWMvMCwxMzcwLCwwMC5odG1sJykKK1NBWC5jaGFyYWN0ZXJzKEV4ZWN1dGl2ZSBTdW1tYXJ5LCAxNykKK1NBWC5lbmRFbGVtZW50KGEpCitTQVguZW5kRWxlbWVudChiKQorU0FYLmVuZEVsZW1lbnQoZm9udCkKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5zdGFydEVsZW1lbnQoZm9udCwgc2l6ZT0nMScsIGZhY2U9J0FyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYnLCBjb2xvcj0nIzAwMDAwMCcpCitTQVguY2hhcmFjdGVycyhDRU9zLCBDT09zLCBDSU9zIHVuaXRlLiAgLCAyNSkKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5zdGFydEVsZW1lbnQoaSkKK1NBWC5jaGFyYWN0ZXJzKFNwb25zb3JlZCBieSAsIDEzKQorU0FYLnN0YXJ0RWxlbWVudChhLCBocmVmPSdodHRwOi8vci53aXJlZC5jb20vci93bl9leGVjX3Jfdmlnbi9odHRwOi8vd3d3LnZpZ25ldHRlLmNvbS8nLCBzdHlsZT0ndGV4dC1kZWNvcmF0aW9uOm5vbmUnKQorU0FYLnN0YXJ0RWxlbWVudChmb250LCBjb2xvcj0nIzAwMDAwMCcpCitTQVguY2hhcmFjdGVycyhWaWduZXR0ZSwgOCkKK1NBWC5lcnJvcjogT3BlbmluZyBhbmQgZW5kaW5nIHRhZyBtaXNtYXRjaDogYSBhbmQgZm9udAorU0FYLmVuZEVsZW1lbnQoZm9udCkKK1NBWC5lbmRFbGVtZW50KGEpCitTQVguZW5kRWxlbWVudChpKQorU0FYLmVuZEVsZW1lbnQoZm9udCkKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5jaGFyYWN0ZXJzKCAKKworLCAzKQorU0FYLnN0YXJ0RWxlbWVudChmb250LCBzaXplPScyJywgZmFjZT0nQXJpYWwsSGVsdmV0aWNhLCBzYW5zLXNlcmlmJykKK1NBWC5zdGFydEVsZW1lbnQoYikKK1NBWC5zdGFydEVsZW1lbnQoYSwgaHJlZj0nL25ld3Mvc2Nob29sLzAsMTM4MywsMDAuaHRtbCcpCitTQVguY2hhcmFjdGVycyhNYWtpbmcgdGhlIEdyYWRlLCAxNikKK1NBWC5lbmRFbGVtZW50KGEpCitTQVguZW5kRWxlbWVudChiKQorU0FYLmVuZEVsZW1lbnQoZm9udCkKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5zdGFydEVsZW1lbnQoZm9udCwgc2l6ZT0nMicsIGZhY2U9J0FyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYnKQorU0FYLnN0YXJ0RWxlbWVudChmb250LCBzaXplPScxJywgZmFjZT0nQXJpYWwsIEdlbmV2YSwgc2Fucy1zZXJpZicsIGNvbG9yPScjMDAwMDAwJykKK1NBWC5jaGFyYWN0ZXJzKFJlYWRpbmcsIHdyaXRpbmcsIGFuZCBST00uICAsIDI4KQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLnN0YXJ0RWxlbWVudChpKQorU0FYLmNoYXJhY3RlcnMoU3BvbnNvcmVkIGJ5ICwgMTMpCitTQVguc3RhcnRFbGVtZW50KGEsIGhyZWY9J2h0dHA6Ly9yLmhvdHdpcmVkLmNvbS9yL3duX3NjaF9yX25hdl91b3AvaHR0cDovL2FkczI1LmZvY2FsaW5rLmNvbS9TbWFydEJhbm5lci9wYWdlPzEyNjMwLjUzJywgc3R5bGU9J3RleHQtZGVjb3JhdGlvbjpub25lJykKK1NBWC5zdGFydEVsZW1lbnQoZm9udCwgY29sb3I9JyMwMDAwMDAnKQorU0FYLmNoYXJhY3RlcnMoVSBvZiBQaG9lbml4LCAxMikKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguZW5kRWxlbWVudChhKQorU0FYLmVuZEVsZW1lbnQoaSkKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguY2hhcmFjdGVycyggCisKKywgMykKK1NBWC5zdGFydEVsZW1lbnQoZm9udCwgc2l6ZT0nMicsIGZhY2U9J0FyaWFsLEhlbHZldGljYSwgc2Fucy1zZXJpZicpCitTQVguc3RhcnRFbGVtZW50KGIpCitTQVguc3RhcnRFbGVtZW50KGEsIGhyZWY9Jy9uZXdzL2luZm9zdHJ1Y3R1cmUvMCwxMzc3LCwwMC5odG1sJykKK1NBWC5jaGFyYWN0ZXJzKEluZm9zdHJ1Y3R1cmUsIDEzKQorU0FYLmVuZEVsZW1lbnQoYSkKK1NBWC5lbmRFbGVtZW50KGIpCitTQVguZW5kRWxlbWVudChmb250KQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLnN0YXJ0RWxlbWVudChmb250LCBzaXplPScxJywgZmFjZT0nQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZicsIGNvbG9yPScjMDAwMDAwJykKK1NBWC5jaGFyYWN0ZXJzKEFuIElTL0lUIHJlc291cmNlICwgMTgpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguc3RhcnRFbGVtZW50KGkpCitTQVguY2hhcmFjdGVycyhTcG9uc29yZWQgYnkgLCAxMykKK1NBWC5lcnJvcjogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCitTQVguZXJyb3I6IGh0bWxQYXJzZUVudGl0eVJlZjogZXhwZWN0aW5nICc7JworU0FYLmVycm9yOiBodG1sUGFyc2VFbnRpdHlSZWY6IGV4cGVjdGluZyAnOycKK1NBWC5zdGFydEVsZW1lbnQoYSwgaHJlZj0naHR0cDovL3Iud2lyZWQuY29tL3Ivd25faXNfcl9zc2VjL2h0dHA6Ly9hZC5kb3VibGVjbGljay5uZXQvY2xrOzY1MzE2MzszNTk5NTcxO3M/aHR0cDovL3d3dy5zcHJpbnRiaXouY29tL3MKK2VydmxldC9hcHBzZXJ2bGV0P2Zyb209L3dpcmVkL3NwcmludC8mYW1wO3RlbXBsYXRlPS9zZWN1cml0eS9zZWN1cml0eS5odG1sJmFtcDtTSVRFPQord2lyZWQuY29tJmFtcDtCQU5ORVI9U3ByaW50Jywgc3R5bGU9J3RleHQtZGVjb3JhdGlvbjpub25lJykKK1NBWC5zdGFydEVsZW1lbnQoZm9udCwgY29sb3I9JyMwMDAwMDAnKQorU0FYLmNoYXJhY3RlcnMoU3ByaW50LCA2KQorU0FYLmVycm9yOiBPcGVuaW5nIGFuZCBlbmRpbmcgdGFnIG1pc21hdGNoOiBhIGFuZCBmb250CitTQVguZW5kRWxlbWVudChmb250KQorU0FYLmVuZEVsZW1lbnQoYSkKK1NBWC5lbmRFbGVtZW50KGkpCitTQVguZXJyb3I6IEVuZCB0YWcgOiBleHBlY3RlZCAnPicKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguZW5kRWxlbWVudChmb250KQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLmNoYXJhY3RlcnMoIAorCissIDMpCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIHNpemU9JzInLCBmYWNlPSdBcmlhbCxIZWx2ZXRpY2EsIHNhbnMtc2VyaWYnKQorU0FYLnN0YXJ0RWxlbWVudChiKQorU0FYLnN0YXJ0RWxlbWVudChhLCBocmVmPScvbmV3cy95MmsvMCwxMzYwLCwwMC5odG1sJykKK1NBWC5jaGFyYWN0ZXJzKFkySyBXYXRjaCwgOSkKK1NBWC5lbmRFbGVtZW50KGEpCitTQVguZW5kRWxlbWVudChiKQorU0FYLmVuZEVsZW1lbnQoZm9udCkKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5zdGFydEVsZW1lbnQoZm9udCwgc2l6ZT0nMicsIGZhY2U9J0FyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYnKQorU0FYLnN0YXJ0RWxlbWVudChmb250LCBzaXplPScxJywgZmFjZT0nQXJpYWwsIEdlbmV2YSwgc2Fucy1zZXJpZicsIGNvbG9yPScjMDAwMDAwJykKK1NBWC5jaGFyYWN0ZXJzKFRpY2suLi4gVGljay4uLiBUaWNrLi4uLCAyMykKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguY2hhcmFjdGVycyggCisKKywgMykKK1NBWC5zdGFydEVsZW1lbnQoZm9udCwgZmFjZT0nQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZicsIHNpemU9JzInKQorU0FYLnN0YXJ0RWxlbWVudChiKQorU0FYLnN0YXJ0RWxlbWVudChpKQorU0FYLnN0YXJ0RWxlbWVudChhLCBocmVmPScvbmV3cy9zcGVjaWFsX3JlcG9ydHMvMSwxMjkzLCwwMC5odG1sJykKK1NBWC5jaGFyYWN0ZXJzKE1vcmUgSG9vLUhhLCAxMSkKK1NBWC5lbmRFbGVtZW50KGEpCitTQVguZW5kRWxlbWVudChpKQorU0FYLmVuZEVsZW1lbnQoYikKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguY2hhcmFjdGVycygmbmJzcDssIDIpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguY2hhcmFjdGVycygKKworLCAyKQorU0FYLmVycm9yOiBPcGVuaW5nIGFuZCBlbmRpbmcgdGFnIG1pc21hdGNoOiB0ZCBhbmQgZm9udAorU0FYLmVuZEVsZW1lbnQoZm9udCkKK1NBWC5lcnJvcjogT3BlbmluZyBhbmQgZW5kaW5nIHRhZyBtaXNtYXRjaDogdGQgYW5kIGZvbnQKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguZXJyb3I6IE9wZW5pbmcgYW5kIGVuZGluZyB0YWcgbWlzbWF0Y2g6IHRkIGFuZCBmb250CitTQVguZW5kRWxlbWVudChmb250KQorU0FYLmVycm9yOiBPcGVuaW5nIGFuZCBlbmRpbmcgdGFnIG1pc21hdGNoOiB0ZCBhbmQgZm9udAorU0FYLmVuZEVsZW1lbnQoZm9udCkKK1NBWC5lcnJvcjogT3BlbmluZyBhbmQgZW5kaW5nIHRhZyBtaXNtYXRjaDogdGQgYW5kIGZvbnQKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguZXJyb3I6IE9wZW5pbmcgYW5kIGVuZGluZyB0YWcgbWlzbWF0Y2g6IHRkIGFuZCBmb250CitTQVguZW5kRWxlbWVudChmb250KQorU0FYLmVycm9yOiBPcGVuaW5nIGFuZCBlbmRpbmcgdGFnIG1pc21hdGNoOiB0ZCBhbmQgZm9udAorU0FYLmVuZEVsZW1lbnQoZm9udCkKK1NBWC5lcnJvcjogT3BlbmluZyBhbmQgZW5kaW5nIHRhZyBtaXNtYXRjaDogdGQgYW5kIGZvbnQKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguZW5kRWxlbWVudCh0ZCkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmVuZEVsZW1lbnQodHIpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5jb21tZW50KCBzdGFydCBvZiBHZW4gTmV3cyApCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgICAgICAgICAsIDE3KQorU0FYLnN0YXJ0RWxlbWVudCh0cikKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICAgICAgICAgICAgICAgICwgMjApCitTQVguc3RhcnRFbGVtZW50KHRkLCBiZ2NvbG9yPScjMDAwMDAwJykKK1NBWC5jaGFyYWN0ZXJzKCZuYnNwOywgMikKK1NBWC5lbmRFbGVtZW50KHRkKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICAgLCAxMSkKK1NBWC5zdGFydEVsZW1lbnQodGQsIGJnY29sb3I9JyMwMDAwMDAnKQorU0FYLnN0YXJ0RWxlbWVudChmb250LCBzaXplPScxJywgZmFjZT0nVmVyZGFuYSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZicsIGNvbG9yPScjRkZGRkZGJykKK1NBWC5zdGFydEVsZW1lbnQoYikKK1NBWC5jaGFyYWN0ZXJzKE1FQU5XSElMRS4uLiwgMTIpCitTQVguZW5kRWxlbWVudChiKQorU0FYLmVuZEVsZW1lbnQoZm9udCkKK1NBWC5lbmRFbGVtZW50KHRkKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5lbmRFbGVtZW50KHRyKQorU0FYLmNoYXJhY3RlcnMoCisKKyAgICAgICAgLCAxMCkKK1NBWC5zdGFydEVsZW1lbnQodHIpCitTQVguY2hhcmFjdGVycyggCisgICAgICAgICAgLCAxMikKK1NBWC5zdGFydEVsZW1lbnQodGQpCitTQVguY2hhcmFjdGVycygmbmJzcDssIDIpCitTQVguZW5kRWxlbWVudCh0ZCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAgICwgMTEpCitTQVguc3RhcnRFbGVtZW50KHRkLCBhbGlnbj0nbGVmdCcsIHZhbGlnbj0ndG9wJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAgICwgMTEpCitTQVguc3RhcnRFbGVtZW50KGltZywgc3JjPSdodHRwOi8vc3RhdGljLndpcmVkLmNvbS9uZXdzL2ltYWdlcy9zcGFjZXIuZ2lmJywgaGVpZ2h0PSc1Jywgd2lkdGg9JzUnLCBhbHQ9JycpCitTQVguZW5kRWxlbWVudChpbWcpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguY2hhcmFjdGVycygKKworCissIDMpCitTQVguY29tbWVudCggMzE5NDIgKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIHNpemU9JzInLCBmYWNlPSdBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmJywgY29sb3I9JyMwMDAwMDAnKQorU0FYLnN0YXJ0RWxlbWVudChiKQorU0FYLmNoYXJhY3RlcnMoRiZ1dW1sO2hyZXIgRnVyb3IsIDEzKQorU0FYLmVuZEVsZW1lbnQoYikKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIHNpemU9JzEnLCBmYWNlPSdBcmlhbCwgR2VuZXZhLCBzYW5zLXNlcmlmJywgY29sb3I9JyMwMDAwMDAnKQorU0FYLnN0YXJ0RWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoDQorQ29udHJ1Y3Rpb24gd29ya2VycyBpbiBCZXJsaSwgNjM3KQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQocCkKK1NBWC5zdGFydEVsZW1lbnQobGkpCitTQVguY2hhcmFjdGVycyhNb3JlIGZyb20gLCAxMCkKK1NBWC5lcnJvcjogaHRtbFBhcnNlRW50aXR5UmVmOiBleHBlY3RpbmcgJzsnCitTQVguc3RhcnRFbGVtZW50KGEsIGhyZWY9J2h0dHA6Ly93d3cubHljb3MuY29tL25ld3MvZmxhc2gvaGl0bGVyYnVua2VyLmh0bWw/dj13bjEwMTUmYW1wO2xwdj0xJykKK1NBWC5jaGFyYWN0ZXJzKEx5Y29zLCA1KQorU0FYLmVuZEVsZW1lbnQoYSkKK1NBWC5lbmRFbGVtZW50KGxpKQorU0FYLmVuZEVsZW1lbnQoZm9udCkKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KHRkKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5lbmRFbGVtZW50KHRyKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguY29tbWVudCggZW5kIG9mIEdlbiBOZXdzICkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmVuZEVsZW1lbnQodGFibGUpCitTQVguY2hhcmFjdGVycygKKworCissIDMpCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIHNpemU9JzEnKQorU0FYLmNoYXJhY3RlcnMoJm5ic3A7LCAyKQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoZm9udCkKK1NBWC5jaGFyYWN0ZXJzKAorCissIDIpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguY2hhcmFjdGVycygKKworLCAyKQorU0FYLnN0YXJ0RWxlbWVudChmb250LCBmYWNlPSdWZXJkYW5hLCBBcmlhbCwgR2VuZXZhLCBzYW5zLXNlcmlmJywgc2l6ZT0nMicpCitTQVguc3RhcnRFbGVtZW50KGIpCitTQVguc3RhcnRFbGVtZW50KGkpCitTQVguY2hhcmFjdGVycyhPdGhlciBUb3AgU3RvcmllcywgMTcpCitTQVguZW5kRWxlbWVudChpKQorU0FYLmVuZEVsZW1lbnQoYikKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5zdGFydEVsZW1lbnQoaW1nLCBzcmM9J2h0dHA6Ly9zdGF0aWMud2lyZWQuY29tL25ld3MvaW1hZ2VzL3BpeDE1NS5naWYnLCBoZWlnaHQ9JzEwJywgd2lkdGg9JzE1NScsIGFsdD0nJykKK1NBWC5lbmRFbGVtZW50KGltZykKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5jaGFyYWN0ZXJzKAorCissIDIpCitTQVguY29tbWVudCggU1FMIHF1ZXJ5IGhlcmUgKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguY29tbWVudCggSUJEX1NVQkpFQ1Q6V2FsbCBTdHJlZXQgS2VlcHMgUmVlbGluZyApCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIGZhY2U9J0FyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYnLCBzaXplPSczJykKK1NBWC5zdGFydEVsZW1lbnQoYikKK1NBWC5zdGFydEVsZW1lbnQoYSwgaHJlZj0nL25ld3MvcmV1dGVycy8wLDEzNDksMzE5MzQsMDAuaHRtbCcpCitTQVguY2hhcmFjdGVycyhXYWxsIFN0cmVldCBLZWVwcyBSZWVsaW5nLCAyNSkKK1NBWC5lbmRFbGVtZW50KGEpCitTQVguZW5kRWxlbWVudChiKQorU0FYLmVuZEVsZW1lbnQoZm9udCkKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5zdGFydEVsZW1lbnQoZm9udCwgY29sb3I9JyNmZjAwMDAnLCBmYWNlPSdWZXJkYW5hLCBBcmlhbCwgR2VuZXZhLCBzYW5zLXNlcmlmJywgc2l6ZT0nMScpCitTQVguY2hhcmFjdGVycygxMDoxNSBhLm0uLCAxMCkKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguY2hhcmFjdGVycygmbmJzcDssIDIpCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIGZhY2U9J1ZlcmRhbmEsIEFyaWFsLCBHZW5ldmEsIHNhbnMtc2VyaWYnLCBzaXplPScyJykKK1NBWC5jaGFyYWN0ZXJzKFRoZSBEb3cgYW5kIE5hc2RhcSBzdWZmZXIgc2l6ZSwgMTgwKQorU0FYLmVuZEVsZW1lbnQoZm9udCkKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5zdGFydEVsZW1lbnQoZm9udCwgZmFjZT0nVmVyZGFuYSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZicsIHNpemU9JzEnKQorU0FYLnN0YXJ0RWxlbWVudChpKQorU0FYLnN0YXJ0RWxlbWVudChhLCBocmVmPScvbmV3cy9yZXV0ZXJzLzAsMTM0OSwsMDAuaHRtbCcpCitTQVguY2hhcmFjdGVycyhpbiwgMikKK1NBWC5jaGFyYWN0ZXJzKCZuYnNwOywgMikKK1NBWC5jaGFyYWN0ZXJzKFJldXRlcnMsIDcpCitTQVguZW5kRWxlbWVudChhKQorU0FYLmVuZEVsZW1lbnQoaSkKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguY29tbWVudCggSUJEX1NVQkpFQ1Q6VGhlIE1hcmtldCdzIE1hZG5lc3MgKQorU0FYLnN0YXJ0RWxlbWVudChmb250LCBmYWNlPSdBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmJywgc2l6ZT0nMycpCitTQVguc3RhcnRFbGVtZW50KGIpCitTQVguc3RhcnRFbGVtZW50KGEsIGhyZWY9Jy9uZXdzL3JldXRlcnMvMCwxMzQ5LDMxOTM1LDAwLmh0bWwnKQorU0FYLmNoYXJhY3RlcnMoVGhlIE1hcmtldCdzIE1hZG5lc3MsIDIwKQorU0FYLmVuZEVsZW1lbnQoYSkKK1NBWC5lbmRFbGVtZW50KGIpCitTQVguZW5kRWxlbWVudChmb250KQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLnN0YXJ0RWxlbWVudChmb250LCBjb2xvcj0nI2ZmMDAwMCcsIGZhY2U9J1ZlcmRhbmEsIEFyaWFsLCBHZW5ldmEsIHNhbnMtc2VyaWYnLCBzaXplPScxJykKK1NBWC5jaGFyYWN0ZXJzKDk6MTAgYS5tLiwgOSkKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguY2hhcmFjdGVycygmbmJzcDssIDIpCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIGZhY2U9J1ZlcmRhbmEsIEFyaWFsLCBHZW5ldmEsIHNhbnMtc2VyaWYnLCBzaXplPScyJykKK1NBWC5jaGFyYWN0ZXJzKFRoZSBidWxscyBhbmQgdGhlIGJlYXJzIGFyZSBpbiwgMTI4KQorU0FYLmVuZEVsZW1lbnQoZm9udCkKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5zdGFydEVsZW1lbnQoZm9udCwgZmFjZT0nVmVyZGFuYSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZicsIHNpemU9JzEnKQorU0FYLnN0YXJ0RWxlbWVudChpKQorU0FYLnN0YXJ0RWxlbWVudChhLCBocmVmPScvbmV3cy9yZXV0ZXJzLzAsMTM0OSwsMDAuaHRtbCcpCitTQVguY2hhcmFjdGVycyhpbiwgMikKK1NBWC5jaGFyYWN0ZXJzKCZuYnNwOywgMikKK1NBWC5jaGFyYWN0ZXJzKFJldXRlcnMsIDcpCitTQVguZW5kRWxlbWVudChhKQorU0FYLmVuZEVsZW1lbnQoaSkKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguY29tbWVudCggSUJEX1NVQkpFQ1Q6J1dhbnQgYSBMb2FuPyBXaGF0J3MgWW91ciBSYWNlPycgKQorU0FYLnN0YXJ0RWxlbWVudChmb250LCBmYWNlPSdBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmJywgc2l6ZT0nMycpCitTQVguc3RhcnRFbGVtZW50KGIpCitTQVguc3RhcnRFbGVtZW50KGEsIGhyZWY9Jy9uZXdzL3BvbGl0aWNzLzAsMTI4MywzMTUzMywwMC5odG1sJykKK1NBWC5jaGFyYWN0ZXJzKCdXYW50IGEgTG9hbj8gV2hhdCdzIFlvdXIgUmFjZSwgMzIpCitTQVguZW5kRWxlbWVudChhKQorU0FYLmVuZEVsZW1lbnQoYikKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIGNvbG9yPScjZmYwMDAwJywgZmFjZT0nVmVyZGFuYSwgQXJpYWwsIEdlbmV2YSwgc2Fucy1zZXJpZicsIHNpemU9JzEnKQorU0FYLmNoYXJhY3RlcnMoMzowMCBhLm0uLCA5KQorU0FYLmVuZEVsZW1lbnQoZm9udCkKK1NBWC5jaGFyYWN0ZXJzKCZuYnNwOywgMikKK1NBWC5zdGFydEVsZW1lbnQoZm9udCwgZmFjZT0nVmVyZGFuYSwgQXJpYWwsIEdlbmV2YSwgc2Fucy1zZXJpZicsIHNpemU9JzInKQorU0FYLmNoYXJhY3RlcnMoVGhlIEZlZGVyYWwgUmVzZXJ2ZSBpcyBpbiB0aGUgLCAxODQpCitTQVguZW5kRWxlbWVudChmb250KQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLnN0YXJ0RWxlbWVudChmb250LCBmYWNlPSdWZXJkYW5hLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmJywgc2l6ZT0nMScpCitTQVguc3RhcnRFbGVtZW50KGkpCitTQVguc3RhcnRFbGVtZW50KGEsIGhyZWY9Jy9uZXdzL3BvbGl0aWNzLzAsMTI4MywsMDAuaHRtbCcpCitTQVguY2hhcmFjdGVycyhpbiwgMikKK1NBWC5jaGFyYWN0ZXJzKCZuYnNwOywgMikKK1NBWC5jaGFyYWN0ZXJzKFBvbGl0aWNzLCA4KQorU0FYLmVuZEVsZW1lbnQoYSkKK1NBWC5lbmRFbGVtZW50KGkpCitTQVguZW5kRWxlbWVudChmb250KQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLmNvbW1lbnQoIElCRF9TVUJKRUNUOk11c2ljIFJlZ3M6IEEgQmFnZnVsIG9mIE5vaXNlICkKK1NBWC5zdGFydEVsZW1lbnQoZm9udCwgZmFjZT0nQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZicsIHNpemU9JzMnKQorU0FYLnN0YXJ0RWxlbWVudChiKQorU0FYLnN0YXJ0RWxlbWVudChhLCBocmVmPScvbmV3cy9idXNpbmVzcy8wLDEzNjcsMzE4MzIsMDAuaHRtbCcpCitTQVguY2hhcmFjdGVycyhNdXNpYyBSZWdzOiBBIEJhZ2Z1bCBvZiBOb2lzZSwgMjkpCitTQVguZW5kRWxlbWVudChhKQorU0FYLmVuZEVsZW1lbnQoYikKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIGNvbG9yPScjZmYwMDAwJywgZmFjZT0nVmVyZGFuYSwgQXJpYWwsIEdlbmV2YSwgc2Fucy1zZXJpZicsIHNpemU9JzEnKQorU0FYLmNoYXJhY3RlcnMoMzowMCBhLm0uLCA5KQorU0FYLmVuZEVsZW1lbnQoZm9udCkKK1NBWC5jaGFyYWN0ZXJzKCZuYnNwOywgMikKK1NBWC5zdGFydEVsZW1lbnQoZm9udCwgZmFjZT0nVmVyZGFuYSwgQXJpYWwsIEdlbmV2YSwgc2Fucy1zZXJpZicsIHNpemU9JzInKQorU0FYLmNoYXJhY3RlcnMoVGhlIHN0cnVnZ2xlIHRvIGNvbWUgdXAgd2l0aCBhLCAxNzEpCitTQVguZW5kRWxlbWVudChmb250KQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLnN0YXJ0RWxlbWVudChmb250LCBmYWNlPSdWZXJkYW5hLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmJywgc2l6ZT0nMScpCitTQVguc3RhcnRFbGVtZW50KGkpCitTQVguc3RhcnRFbGVtZW50KGEsIGhyZWY9Jy9uZXdzL2J1c2luZXNzLzAsMTM2NywsMDAuaHRtbCcpCitTQVguY2hhcmFjdGVycyhpbiwgMikKK1NBWC5jaGFyYWN0ZXJzKCZuYnNwOywgMikKK1NBWC5jaGFyYWN0ZXJzKEJ1c2luZXNzLCA4KQorU0FYLmVuZEVsZW1lbnQoYSkKK1NBWC5lbmRFbGVtZW50KGkpCitTQVguZW5kRWxlbWVudChmb250KQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLmNvbW1lbnQoIElCRF9TVUJKRUNUOkNhbid0IEJlYXQgJ0VtPyBHcmVlbiAnRW0gKQorU0FYLnN0YXJ0RWxlbWVudChmb250LCBmYWNlPSdBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmJywgc2l6ZT0nMycpCitTQVguc3RhcnRFbGVtZW50KGIpCitTQVguc3RhcnRFbGVtZW50KGEsIGhyZWY9Jy9uZXdzL3RlY2hub2xvZ3kvMCwxMjgyLDMxOTI3LDAwLmh0bWwnKQorU0FYLmNoYXJhY3RlcnMoQ2FuJ3QgQmVhdCAnRW0/IEdyZWVuICdFbSwgMjUpCitTQVguZW5kRWxlbWVudChhKQorU0FYLmVuZEVsZW1lbnQoYikKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIGNvbG9yPScjZmYwMDAwJywgZmFjZT0nVmVyZGFuYSwgQXJpYWwsIEdlbmV2YSwgc2Fucy1zZXJpZicsIHNpemU9JzEnKQorU0FYLmNoYXJhY3RlcnMoMzowMCBhLm0uLCA5KQorU0FYLmVuZEVsZW1lbnQoZm9udCkKK1NBWC5jaGFyYWN0ZXJzKCZuYnNwOywgMikKK1NBWC5zdGFydEVsZW1lbnQoZm9udCwgZmFjZT0nVmVyZGFuYSwgQXJpYWwsIEdlbmV2YSwgc2Fucy1zZXJpZicsIHNpemU9JzInKQorU0FYLmNoYXJhY3RlcnMoSGlnaC10ZWNoIGNvbXBhbmllcyBhcmUgbm90b3JpLCAxODYpCitTQVguZW5kRWxlbWVudChmb250KQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLnN0YXJ0RWxlbWVudChmb250LCBmYWNlPSdWZXJkYW5hLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmJywgc2l6ZT0nMScpCitTQVguc3RhcnRFbGVtZW50KGkpCitTQVguc3RhcnRFbGVtZW50KGEsIGhyZWY9Jy9uZXdzL3RlY2hub2xvZ3kvMCwxMjgyLCwwMC5odG1sJykKK1NBWC5jaGFyYWN0ZXJzKGluLCAyKQorU0FYLmNoYXJhY3RlcnMoJm5ic3A7LCAyKQorU0FYLmNoYXJhY3RlcnMoVGVjaG5vbG9neSwgMTApCitTQVguZW5kRWxlbWVudChhKQorU0FYLmVuZEVsZW1lbnQoaSkKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguY29tbWVudCggSUJEX1NVQkpFQ1Q6WTJLIENsb3VkIE92ZXIgTVMgT2ZmaWNlICkKK1NBWC5zdGFydEVsZW1lbnQoZm9udCwgZmFjZT0nQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZicsIHNpemU9JzMnKQorU0FYLnN0YXJ0RWxlbWVudChiKQorU0FYLnN0YXJ0RWxlbWVudChhLCBocmVmPScvbmV3cy9idXNpbmVzcy8wLDEzNjcsMzE5MzIsMDAuaHRtbCcpCitTQVguY2hhcmFjdGVycyhZMksgQ2xvdWQgT3ZlciBNUyBPZmZpY2UsIDI0KQorU0FYLmVuZEVsZW1lbnQoYSkKK1NBWC5lbmRFbGVtZW50KGIpCitTQVguZW5kRWxlbWVudChmb250KQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLnN0YXJ0RWxlbWVudChmb250LCBjb2xvcj0nI2ZmMDAwMCcsIGZhY2U9J1ZlcmRhbmEsIEFyaWFsLCBHZW5ldmEsIHNhbnMtc2VyaWYnLCBzaXplPScxJykKK1NBWC5jaGFyYWN0ZXJzKDM6MDAgYS5tLiwgOSkKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguY2hhcmFjdGVycygmbmJzcDssIDIpCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIGZhY2U9J1ZlcmRhbmEsIEFyaWFsLCBHZW5ldmEsIHNhbnMtc2VyaWYnLCBzaXplPScyJykKK1NBWC5jaGFyYWN0ZXJzKFdpbmRvd3MgTlQgc2FsZXMgcmVtYWluIHN0cm9uZywgMTY1KQorU0FYLmVuZEVsZW1lbnQoZm9udCkKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5zdGFydEVsZW1lbnQoZm9udCwgZmFjZT0nVmVyZGFuYSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZicsIHNpemU9JzEnKQorU0FYLnN0YXJ0RWxlbWVudChpKQorU0FYLnN0YXJ0RWxlbWVudChhLCBocmVmPScvbmV3cy9idXNpbmVzcy8wLDEzNjcsLDAwLmh0bWwnKQorU0FYLmNoYXJhY3RlcnMoaW4sIDIpCitTQVguY2hhcmFjdGVycygmbmJzcDssIDIpCitTQVguY2hhcmFjdGVycyhCdXNpbmVzcywgOCkKK1NBWC5lbmRFbGVtZW50KGEpCitTQVguZW5kRWxlbWVudChpKQorU0FYLmVuZEVsZW1lbnQoZm9udCkKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5zdGFydEVsZW1lbnQoZm9udCwgY29sb3I9JyNGRjAwMDAnLCBmYWNlPSdWZXJkYW5hLCBBcmlhbCwgR2VuZXZhLCBzYW5zLXNlcmlmJywgc2l6ZT0nMScpCitTQVguY2hhcmFjdGVycyhNZWQtVGVjaCwgOCkKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguY29tbWVudCggSUJEX1NVQkpFQ1Q6QmlvY2hpcHMgZm9yIEN1c3RvbSBDaGVtbyApCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIGZhY2U9J0FyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYnLCBzaXplPSczJykKK1NBWC5zdGFydEVsZW1lbnQoYikKK1NBWC5zdGFydEVsZW1lbnQoYSwgaHJlZj0nL25ld3MvdGVjaG5vbG9neS8wLDEyODIsMzE5MTQsMDAuaHRtbCcpCitTQVguY2hhcmFjdGVycyhCaW9jaGlwcyBmb3IgQ3VzdG9tIENoZW1vLCAyNSkKK1NBWC5lbmRFbGVtZW50KGEpCitTQVguZW5kRWxlbWVudChiKQorU0FYLmVuZEVsZW1lbnQoZm9udCkKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5zdGFydEVsZW1lbnQoZm9udCwgY29sb3I9JyNmZjAwMDAnLCBmYWNlPSdWZXJkYW5hLCBBcmlhbCwgR2VuZXZhLCBzYW5zLXNlcmlmJywgc2l6ZT0nMScpCitTQVguY2hhcmFjdGVycygzOjAwIGEubS4sIDkpCitTQVguZW5kRWxlbWVudChmb250KQorU0FYLmNoYXJhY3RlcnMoJm5ic3A7LCAyKQorU0FYLnN0YXJ0RWxlbWVudChmb250LCBmYWNlPSdWZXJkYW5hLCBBcmlhbCwgR2VuZXZhLCBzYW5zLXNlcmlmJywgc2l6ZT0nMicpCitTQVguY2hhcmFjdGVycyhEaWZmZXJlbnQgY2FuY2VyIHBhdGllbnRzIG5lZWQsIDIwNykKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIGZhY2U9J1ZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYnLCBzaXplPScxJykKK1NBWC5zdGFydEVsZW1lbnQoaSkKK1NBWC5zdGFydEVsZW1lbnQoYSwgaHJlZj0nL25ld3MvdGVjaG5vbG9neS8wLDEyODIsLDAwLmh0bWwnKQorU0FYLmNoYXJhY3RlcnMoaW4sIDIpCitTQVguY2hhcmFjdGVycygmbmJzcDssIDIpCitTQVguY2hhcmFjdGVycyhUZWNobm9sb2d5LCAxMCkKK1NBWC5lbmRFbGVtZW50KGEpCitTQVguZW5kRWxlbWVudChpKQorU0FYLmVuZEVsZW1lbnQoZm9udCkKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5jb21tZW50KCBJQkRfU1VCSkVDVDpIaWdoIFN0YWtlcyBpbiBQcmljZWxpbmUgU3VpdCApCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIGZhY2U9J0FyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYnLCBzaXplPSczJykKK1NBWC5zdGFydEVsZW1lbnQoYikKK1NBWC5zdGFydEVsZW1lbnQoYSwgaHJlZj0nL25ld3MvYnVzaW5lc3MvMCwxMzY3LDMxOTE2LDAwLmh0bWwnKQorU0FYLmNoYXJhY3RlcnMoSGlnaCBTdGFrZXMgaW4gUHJpY2VsaW5lIFN1aXQsIDI5KQorU0FYLmVuZEVsZW1lbnQoYSkKK1NBWC5lbmRFbGVtZW50KGIpCitTQVguZW5kRWxlbWVudChmb250KQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLnN0YXJ0RWxlbWVudChmb250LCBjb2xvcj0nI2ZmMDAwMCcsIGZhY2U9J1ZlcmRhbmEsIEFyaWFsLCBHZW5ldmEsIHNhbnMtc2VyaWYnLCBzaXplPScxJykKK1NBWC5jaGFyYWN0ZXJzKDM6MDAgYS5tLiwgOSkKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguY2hhcmFjdGVycygmbmJzcDssIDIpCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIGZhY2U9J1ZlcmRhbmEsIEFyaWFsLCBHZW5ldmEsIHNhbnMtc2VyaWYnLCBzaXplPScyJykKK1NBWC5jaGFyYWN0ZXJzKEl0J3Mgbm90IGp1c3QgYW5vdGhlciByb3VuZCBvZiwgMTk2KQorU0FYLmVuZEVsZW1lbnQoZm9udCkKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5zdGFydEVsZW1lbnQoZm9udCwgZmFjZT0nVmVyZGFuYSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZicsIHNpemU9JzEnKQorU0FYLnN0YXJ0RWxlbWVudChpKQorU0FYLnN0YXJ0RWxlbWVudChhLCBocmVmPScvbmV3cy9idXNpbmVzcy8wLDEzNjcsLDAwLmh0bWwnKQorU0FYLmNoYXJhY3RlcnMoaW4sIDIpCitTQVguY2hhcmFjdGVycygmbmJzcDssIDIpCitTQVguY2hhcmFjdGVycyhCdXNpbmVzcywgOCkKK1NBWC5lbmRFbGVtZW50KGEpCitTQVguZW5kRWxlbWVudChpKQorU0FYLmVuZEVsZW1lbnQoZm9udCkKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5jb21tZW50KCBJQkRfU1VCSkVDVDpCaW9kaXZlcnNpdHkgTWVyZ2VzIE9ubGluZSApCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIGZhY2U9J0FyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYnLCBzaXplPSczJykKK1NBWC5zdGFydEVsZW1lbnQoYikKK1NBWC5zdGFydEVsZW1lbnQoYSwgaHJlZj0nL25ld3MvdGVjaG5vbG9neS8wLDEyODIsMzE5MTgsMDAuaHRtbCcpCitTQVguY2hhcmFjdGVycyhCaW9kaXZlcnNpdHkgTWVyZ2VzIE9ubGluZSwgMjYpCitTQVguZW5kRWxlbWVudChhKQorU0FYLmVuZEVsZW1lbnQoYikKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIGNvbG9yPScjZmYwMDAwJywgZmFjZT0nVmVyZGFuYSwgQXJpYWwsIEdlbmV2YSwgc2Fucy1zZXJpZicsIHNpemU9JzEnKQorU0FYLmNoYXJhY3RlcnMoMzowMCBhLm0uLCA5KQorU0FYLmVuZEVsZW1lbnQoZm9udCkKK1NBWC5jaGFyYWN0ZXJzKCZuYnNwOywgMikKK1NBWC5zdGFydEVsZW1lbnQoZm9udCwgZmFjZT0nVmVyZGFuYSwgQXJpYWwsIEdlbmV2YSwgc2Fucy1zZXJpZicsIHNpemU9JzInKQorU0FYLmNoYXJhY3RlcnMoVGhlIGZhci1mbHVuZyBkYXRhYmFzZXMgb24gZ2xvLCAxOTYpCitTQVguZW5kRWxlbWVudChmb250KQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLnN0YXJ0RWxlbWVudChmb250LCBmYWNlPSdWZXJkYW5hLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmJywgc2l6ZT0nMScpCitTQVguc3RhcnRFbGVtZW50KGkpCitTQVguc3RhcnRFbGVtZW50KGEsIGhyZWY9Jy9uZXdzL3RlY2hub2xvZ3kvMCwxMjgyLCwwMC5odG1sJykKK1NBWC5jaGFyYWN0ZXJzKGluLCAyKQorU0FYLmNoYXJhY3RlcnMoJm5ic3A7LCAyKQorU0FYLmNoYXJhY3RlcnMoVGVjaG5vbG9neSwgMTApCitTQVguZW5kRWxlbWVudChhKQorU0FYLmVuZEVsZW1lbnQoaSkKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguY29tbWVudCggU1FMIGFib3ZlICkKK1NBWC5jaGFyYWN0ZXJzKAorCisKKyAgICAgICAgCissIDEyKQorU0FYLmNvbW1lbnQoLS0tLVRSQURFUy0tLS0tLS0pCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudChmb250LCBmYWNlPSdWZXJkYW5hLCBBcmlhbCwgR2VuZXZhLCBzYW5zLXNlcmlmJywgc2l6ZT0nMicpCitTQVguc3RhcnRFbGVtZW50KGIpCitTQVguc3RhcnRFbGVtZW50KGkpCitTQVguY2hhcmFjdGVycyhFbHNld2hlcmUgVG9kYXksIDE1KQorU0FYLmVuZEVsZW1lbnQoaSkKK1NBWC5lbmRFbGVtZW50KGIpCitTQVguZW5kRWxlbWVudChmb250KQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguc3RhcnRFbGVtZW50KGltZywgc3JjPSdodHRwOi8vc3RhdGljLndpcmVkLmNvbS9uZXdzL2ltYWdlcy9waXgxNTUuZ2lmJywgaGVpZ2h0PScxMCcsIHdpZHRoPScxNTUnLCBhbHQ9JycpCitTQVguZW5kRWxlbWVudChpbWcpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguY2hhcmFjdGVycygKKworLCAyKQorU0FYLmNvbW1lbnQoIFNRTCBxdWVyeSBoZXJlICkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudChmb250LCBmYWNlPSdoZWx2ZXRpY2EsIGFyaWFsJywgc2l6ZT0nMycpCitTQVguc3RhcnRFbGVtZW50KGIpCitTQVguc3RhcnRFbGVtZW50KGEsIGhyZWY9J2h0dHA6Ly93d3cudGhlc3RhbmRhcmQuY29tL2FydGljbGVzL2Rpc3BsYXkvMCwxNDQ5LDY5NzUsMDAuaHRtbD9ob21lLnRmJykKK1NBWC5jaGFyYWN0ZXJzKEZDQzogSGFuZHMtT2ZmIG9uIEJyb2FkYmFuZCwgMjcpCitTQVguZW5kRWxlbWVudChhKQorU0FYLmVuZEVsZW1lbnQoYikKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIGZhY2U9J2dlbmV2YSwgYXJpYWwnLCBzaXplPScyJykKK1NBWC5zdGFydEVsZW1lbnQoY2l0ZSkKK1NBWC5jaGFyYWN0ZXJzKFRoZSBJbmR1c3RyeSBTdGFuZGFyZCwgMjEpCitTQVguZW5kRWxlbWVudChjaXRlKQorU0FYLmVuZEVsZW1lbnQoZm9udCkKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5zdGFydEVsZW1lbnQoZm9udCwgZmFjZT0naGVsdmV0aWNhLCBhcmlhbCcsIHNpemU9JzMnKQorU0FYLnN0YXJ0RWxlbWVudChiKQorU0FYLnN0YXJ0RWxlbWVudChhLCBocmVmPSdodHRwOi8vbmV3cy5seWNvcy5jb20vc3Rvcmllcy9Ub3BOZXdzLzE5OTkxMDE0UlRORVdTLUFSTVMtVFJFQVRZLmFzcCcpCitTQVguY2hhcmFjdGVycyhXaGl0ZSBIb3VzZSBMYXNoZXMgT3V0IG9uIFRyZWEsIDMyKQorU0FYLmVuZEVsZW1lbnQoYSkKK1NBWC5lbmRFbGVtZW50KGIpCitTQVguZW5kRWxlbWVudChmb250KQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLnN0YXJ0RWxlbWVudChmb250LCBmYWNlPSdnZW5ldmEsIGFyaWFsJywgc2l6ZT0nMicpCitTQVguY2hhcmFjdGVycyhMeWNvcywgNSkKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIGZhY2U9J2hlbHZldGljYSwgYXJpYWwnLCBzaXplPSczJykKK1NBWC5zdGFydEVsZW1lbnQoYikKK1NBWC5zdGFydEVsZW1lbnQoYSwgaHJlZj0naHR0cDovL3d3dy5wYXRoZmluZGVyLmNvbS90aW1lL21hZ2F6aW5lL2FydGljbGVzLzAsMzI2NiwzMjIwNywwMC5odG1sJykKK1NBWC5jaGFyYWN0ZXJzKFN0ZXZlIEpvYnMgYXQgNDQsIDE2KQorU0FYLmVuZEVsZW1lbnQoYSkKK1NBWC5lbmRFbGVtZW50KGIpCitTQVguZW5kRWxlbWVudChmb250KQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLnN0YXJ0RWxlbWVudChmb250LCBmYWNlPSdnZW5ldmEsIGFyaWFsJywgc2l6ZT0nMicpCitTQVguc3RhcnRFbGVtZW50KGNpdGUpCitTQVguY2hhcmFjdGVycyhUaW1lLCA0KQorU0FYLmVuZEVsZW1lbnQoY2l0ZSkKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIGZhY2U9J2hlbHZldGljYSwgYXJpYWwnLCBzaXplPSczJykKK1NBWC5zdGFydEVsZW1lbnQoYikKK1NBWC5zdGFydEVsZW1lbnQoYSwgaHJlZj0naHR0cDovL3d3dy56ZG5ldC5jb20vemRubi9zdG9yaWVzL25ld3MvMCw0NTg2LDIzNTM2MDgsMDAuaHRtbCcpCitTQVguY2hhcmFjdGVycyhDb21wdXRlcnMgTWF5IFJ1biBvbiBHYXMsIDI0KQorU0FYLmVuZEVsZW1lbnQoYSkKK1NBWC5lbmRFbGVtZW50KGIpCitTQVguZW5kRWxlbWVudChmb250KQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLnN0YXJ0RWxlbWVudChmb250LCBmYWNlPSdnZW5ldmEsIGFyaWFsJywgc2l6ZT0nMicpCitTQVguY2hhcmFjdGVycyhaRE5OLCA0KQorU0FYLmVuZEVsZW1lbnQoZm9udCkKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5zdGFydEVsZW1lbnQoZm9udCwgZmFjZT0naGVsdmV0aWNhLCBhcmlhbCcsIHNpemU9JzMnKQorU0FYLnN0YXJ0RWxlbWVudChiKQorU0FYLnN0YXJ0RWxlbWVudChhLCBocmVmPSdodHRwOi8vd3d3Lm55dGltZXMuY29tL2xpYnJhcnkvdGVjaC85OS8xMC9iaXp0ZWNoL2FydGljbGVzLzE0ZnJlZS5odG1sJykKK1NBWC5jaGFyYWN0ZXJzKE11Y2ggSXMgRnJlZSBpbiB0aGUgV2lyZWQgV29ybCwgMzEpCitTQVguZW5kRWxlbWVudChhKQorU0FYLmVuZEVsZW1lbnQoYikKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIGZhY2U9J2dlbmV2YSwgYXJpYWwnLCBzaXplPScyJykKK1NBWC5zdGFydEVsZW1lbnQoY2l0ZSkKK1NBWC5jaGFyYWN0ZXJzKFRoZSBOZXcgWW9yayBUaW1lcywgMTgpCitTQVguZW5kRWxlbWVudChjaXRlKQorU0FYLmNoYXJhY3RlcnMoIChSZWdpc3RyYXRpb24gUmVxdWlyZWQpLCAyNCkKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIGZhY2U9J2hlbHZldGljYSwgYXJpYWwnLCBzaXplPSczJykKK1NBWC5zdGFydEVsZW1lbnQoYikKK1NBWC5zdGFydEVsZW1lbnQoYSwgaHJlZj0naHR0cDovL3d3dy51c2F0b2RheS5jb20vbGlmZS9jeWJlci9uYi9uYjQuaHRtJykKK1NBWC5jaGFyYWN0ZXJzKE1lbGlzc2E6IEknbSBCYWFhYWNrLCAyMCkKK1NBWC5lbmRFbGVtZW50KGEpCitTQVguZW5kRWxlbWVudChiKQorU0FYLmVuZEVsZW1lbnQoZm9udCkKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5zdGFydEVsZW1lbnQoZm9udCwgZmFjZT0nZ2VuZXZhLCBhcmlhbCcsIHNpemU9JzInKQorU0FYLnN0YXJ0RWxlbWVudChjaXRlKQorU0FYLmNoYXJhY3RlcnMoVVNBIFRvZGF5LCA5KQorU0FYLmVuZEVsZW1lbnQoY2l0ZSkKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIGZhY2U9J2hlbHZldGljYSwgYXJpYWwnLCBzaXplPSczJykKK1NBWC5zdGFydEVsZW1lbnQoYikKK1NBWC5zdGFydEVsZW1lbnQoYSwgaHJlZj0naHR0cDovL3d3dy5tc25iYy5jb20vbmV3cy8zMjI5MjYuYXNwJykKK1NBWC5jaGFyYWN0ZXJzKERvbWFpbiBPd25lcnMgU3VycmVuZGVyIFByaXZhYywgMzEpCitTQVguZW5kRWxlbWVudChhKQorU0FYLmVuZEVsZW1lbnQoYikKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIGZhY2U9J2dlbmV2YSwgYXJpYWwnLCBzaXplPScyJykKK1NBWC5jaGFyYWN0ZXJzKE1TTkJDLCA1KQorU0FYLmVuZEVsZW1lbnQoZm9udCkKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5zdGFydEVsZW1lbnQoZm9udCwgZmFjZT0naGVsdmV0aWNhLCBhcmlhbCcsIHNpemU9JzMnKQorU0FYLnN0YXJ0RWxlbWVudChiKQorU0FYLnN0YXJ0RWxlbWVudChhLCBocmVmPSdodHRwOi8vd3d3Lndhc2hpbmd0b25wb3N0LmNvbS93cC1zcnYvYnVzaW5lc3MvbG9uZ3Rlcm0vdGVjaC90ZWNodGh1cnNkYXkvZG93bmxvYWQvZG93bmxvYWQuaHRtJykKK1NBWC5jaGFyYWN0ZXJzKERpdmlkaW5nIHRvIENvbnF1ZXIgaW4gVkMgR2FtZSwgMzApCitTQVguZW5kRWxlbWVudChhKQorU0FYLmVuZEVsZW1lbnQoYikKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIGZhY2U9J2dlbmV2YSwgYXJpYWwnLCBzaXplPScyJykKK1NBWC5zdGFydEVsZW1lbnQoY2l0ZSkKK1NBWC5jaGFyYWN0ZXJzKFRoZSBXYXNoaW5ndG9uIFBvc3QsIDE5KQorU0FYLmVuZEVsZW1lbnQoY2l0ZSkKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIGZhY2U9J2hlbHZldGljYSwgYXJpYWwnLCBzaXplPSczJykKK1NBWC5zdGFydEVsZW1lbnQoYikKK1NBWC5zdGFydEVsZW1lbnQoYSwgaHJlZj0naHR0cDovL3d3dy5zYWxvbi5jb20vdGVjaC9ib29rcy8xOTk5LzEwLzE0L3JlZGhhdF9ib29rL2luZGV4Lmh0bWwnKQorU0FYLmNoYXJhY3RlcnMoVGhlIFJlZCBIYXQgRGlhcmllcywgMTkpCitTQVguZW5kRWxlbWVudChhKQorU0FYLmVuZEVsZW1lbnQoYikKK1NBWC5lbmRFbGVtZW50KGZvbnQpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIGZhY2U9J2dlbmV2YSwgYXJpYWwnLCBzaXplPScyJykKK1NBWC5jaGFyYWN0ZXJzKFNhbG9uLCA1KQorU0FYLmVuZEVsZW1lbnQoZm9udCkKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5zdGFydEVsZW1lbnQoZm9udCwgZmFjZT0naGVsdmV0aWNhLCBhcmlhbCcsIHNpemU9JzMnKQorU0FYLnN0YXJ0RWxlbWVudChiKQorU0FYLnN0YXJ0RWxlbWVudChhLCBocmVmPSdodHRwOi8vbmV3cy5iYmMuY28udWsvaGkvZW5nbGlzaC9zY2kvdGVjaC9uZXdzaWRfNDczMDAwLzQ3Mzg1Ni5zdG0nKQorU0FYLmNoYXJhY3RlcnMoU2NyZWVuc2F2ZXIgdG8gUHJlZGljdCBDbGltYXRlLCAzMCkKK1NBWC5lbmRFbGVtZW50KGEpCitTQVguZW5kRWxlbWVudChiKQorU0FYLmVuZEVsZW1lbnQoZm9udCkKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5zdGFydEVsZW1lbnQoZm9udCwgZmFjZT0nZ2VuZXZhLCBhcmlhbCcsIHNpemU9JzInKQorU0FYLmNoYXJhY3RlcnMoQkJDIE5ld3MsIDgpCitTQVguZW5kRWxlbWVudChmb250KQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLmNvbW1lbnQoIFNRTCBhYm92ZSApCitTQVguY2hhcmFjdGVycygKKworCisKKywgNCkKK1NBWC5jb21tZW50KCAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSApCitTQVguY2hhcmFjdGVycygKKyAKKyAgICwgNikKK1NBWC5lbmRFbGVtZW50KHRkKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5lbmRFbGVtZW50KHRyKQorU0FYLmNoYXJhY3RlcnMoCisKKyAgLCA0KQorU0FYLnN0YXJ0RWxlbWVudCh0cikKK1NBWC5jaGFyYWN0ZXJzKAorICAgLCA0KQorU0FYLnN0YXJ0RWxlbWVudCh0ZCwgdmFsaWduPSdUT1AnLCBhbGlnbj0nTEVGVCcpCitTQVguY2hhcmFjdGVycygKKworICAgICwgNikKK1NBWC5zdGFydEVsZW1lbnQoaW1nLCBzcmM9J2h0dHA6Ly9zdGF0aWMud2lyZWQuY29tL25ld3MvaW1hZ2VzL3NwYWNlci5naWYnLCBoZWlnaHQ9JzEnLCB3aWR0aD0nMjgwJywgYWx0PScnKQorU0FYLmVuZEVsZW1lbnQoaW1nKQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLmNoYXJhY3RlcnMoCisJCisgICAgLCA3KQorU0FYLmNvbW1lbnQoIEZPT1RFUiApCitTQVguY2hhcmFjdGVycygKKworLCAyKQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLnN0YXJ0RWxlbWVudChpbWcsIHNyYz0naHR0cDovL3N0YXRpYy53aXJlZC5jb20vbmV3cy9pbWFnZXMvcGl4MTU1LmdpZicsIGhlaWdodD0nMTAnLCB3aWR0aD0nMTU1JywgYm9yZGVyPScwJywgdXNlbWFwPScjbmF2c3RyaXAubWFwJywgYWx0PScnKQorU0FYLmVuZEVsZW1lbnQoaW1nKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguY2hhcmFjdGVycygKKworLCAyKQorU0FYLnN0YXJ0RWxlbWVudChpbWcsIHNyYz0naHR0cDovL3N0YXRpYy53aXJlZC5jb20vbmV3cy9pbWFnZXMvbmF2c3RyaXBfb2ZmLmdpZicsIGhlaWdodD0nMTcnLCB3aWR0aD0nMTI2JywgdXNlbWFwPScjbmF2c3RyaXAubWFwJywgYm9yZGVyPScwJywgYWx0PScnKQorU0FYLmVuZEVsZW1lbnQoaW1nKQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLmNoYXJhY3RlcnMoCisKKywgMikKK1NBWC5zdGFydEVsZW1lbnQocCkKK1NBWC5zdGFydEVsZW1lbnQoZm9udCwgZmFjZT0nVmVyZGFuYSwgQXJpYWwsIEdlbmV2YSwgc2Fucy1zZXJpZicsIHNpemU9JzEnKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguc3RhcnRFbGVtZW50KGEsIGhyZWY9J2h0dHA6Ly93d3cud2lyZWQuY29tL25ld3MvZmVlZGJhY2suaHRtbCcpCitTQVguY2hhcmFjdGVycyhTZW5kIHVzIGZlZWRiYWNrLCAxNikKK1NBWC5lbmRFbGVtZW50KGEpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5jaGFyYWN0ZXJzKCZuYnNwOywgMikKK1NBWC5jaGFyYWN0ZXJzKHwsIDEpCitTQVguY2hhcmFjdGVycygmbmJzcDssIDIpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5zdGFydEVsZW1lbnQoYSwgaHJlZj0naHR0cDovL3d3dy5ob3R3aXJlZC5jb20vam9icy8nKQorU0FYLmNoYXJhY3RlcnMoV29yayBhdCBXaXJlZCBEaWdpdGFsLCAyMSkKK1NBWC5lbmRFbGVtZW50KGEpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5jaGFyYWN0ZXJzKCZuYnNwOywgMikKK1NBWC5jaGFyYWN0ZXJzKHwsIDEpCitTQVguY2hhcmFjdGVycygmbmJzcDssIDIpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5zdGFydEVsZW1lbnQoYSwgaHJlZj0naHR0cDovL2hvbWUud2lyZWQuY29tL2FkdmVydGlzaW5nLycpCitTQVguY2hhcmFjdGVycyhBZHZlcnRpc2Ugd2l0aCB1cywgMTcpCitTQVguZW5kRWxlbWVudChhKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguc3RhcnRFbGVtZW50KGJyKQorU0FYLmVuZEVsZW1lbnQoYnIpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5zdGFydEVsZW1lbnQoYSwgaHJlZj0naHR0cDovL2hvbWUud2lyZWQuY29tLycpCitTQVguY2hhcmFjdGVycyhBYm91dCBXaXJlZCBEaWdpdGFsLCAxOSkKK1NBWC5lbmRFbGVtZW50KGEpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5jaGFyYWN0ZXJzKCZuYnNwOywgMikKK1NBWC5jaGFyYWN0ZXJzKHwsIDEpCitTQVguY2hhcmFjdGVycygmbmJzcDssIDIpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5zdGFydEVsZW1lbnQoYSwgaHJlZj0naHR0cDovL3d3dy53aXJlZC5jb20vaG9tZS9kaWdpdGFsL3ByaXZhY3kvJykKK1NBWC5jaGFyYWN0ZXJzKE91ciBQcml2YWN5IFBvbGljeSwgMTgpCitTQVguZW5kRWxlbWVudChhKQorU0FYLmVuZEVsZW1lbnQoZm9udCkKK1NBWC5jaGFyYWN0ZXJzKAorCisKKywgMykKK1NBWC5lbmRFbGVtZW50KHApCitTQVguc3RhcnRFbGVtZW50KHApCitTQVguc3RhcnRFbGVtZW50KGZvbnQsIGZhY2U9J1ZlcmRhbmEsIEFyaWFsLCBHZW5ldmEnLCBzaXplPScxJykKK1NBWC5zdGFydEVsZW1lbnQoYSwgaHJlZj0naHR0cDovL3d3dy53aXJlZC5jb20vaG9tZS9jb3B5cmlnaHQuaHRtbCcpCitTQVguY2hhcmFjdGVycyhDb3B5cmlnaHQsIDkpCitTQVguZW5kRWxlbWVudChhKQorU0FYLmNoYXJhY3RlcnMoICwgMSkKK1NBWC5jaGFyYWN0ZXJzKCZjb3B5OywgMikKK1NBWC5jaGFyYWN0ZXJzKCAxOTk0LTk5IFdpcmVkIERpZ2l0YWwgSW5jLiBBbCwgNDgpCitTQVguZW5kRWxlbWVudChmb250KQorU0FYLmNoYXJhY3RlcnMoCisKKywgMikKK1NBWC5zdGFydEVsZW1lbnQoYnIpCitTQVguZW5kRWxlbWVudChicikKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmNvbW1lbnQoIFRSQUNLSU5HICkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudChpbWcsIHNyYz0naHR0cDovL3d3dy53aXJlZC5jb20vc3BlY2lhbC9tb2R4L25ld3MuZ2lmJywgaGVpZ2h0PScxJywgd2lkdGg9JzEnLCBhbHQ9JycpCitTQVguZW5kRWxlbWVudChpbWcpCitTQVguY2hhcmFjdGVycygKKworLCAyKQorU0FYLnN0YXJ0RWxlbWVudChtYXAsIG5hbWU9J25hdnN0cmlwLm1hcCcpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5zdGFydEVsZW1lbnQoYXJlYSwgc2hhcGU9J3JlY3QnLCBjb29yZHM9JzAsMCwxNCwxNicsIGhyZWY9Jy9uZXdzJykKK1NBWC5lbmRFbGVtZW50KGFyZWEpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5zdGFydEVsZW1lbnQoYXJlYSwgc2hhcGU9J3JlY3QnLCBjb29yZHM9JzE1LDAgMzEsMTYnLCBocmVmPScvbmV3cy9idXNpbmVzcy8nKQorU0FYLmVuZEVsZW1lbnQoYXJlYSkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudChhcmVhLCBzaGFwZT0ncmVjdCcsIGNvb3Jkcz0nMzIsMCw0OCwxNicsIGhyZWY9Jy9uZXdzL2N1bHR1cmUvJykKK1NBWC5lbmRFbGVtZW50KGFyZWEpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5zdGFydEVsZW1lbnQoYXJlYSwgc2hhcGU9J3JlY3QnLCBjb29yZHM9JzQ5LDAsNjUsMTYnLCBocmVmPScvbmV3cy90ZWNobm9sb2d5LycpCitTQVguZW5kRWxlbWVudChhcmVhKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguc3RhcnRFbGVtZW50KGFyZWEsIHNoYXBlPSdyZWN0JywgY29vcmRzPSc2NiwwLDgzLDE2JywgaHJlZj0nL25ld3MvcG9saXRpY3MvJykKK1NBWC5lbmRFbGVtZW50KGFyZWEpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5lbmRFbGVtZW50KG1hcCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KHApCitTQVguZW5kRWxlbWVudCh0ZCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgLCA0KQorU0FYLnN0YXJ0RWxlbWVudCh0ZCwgdmFsaWduPSdUT1AnLCBhbGlnbj0nTEVGVCcpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KGltZywgc3JjPSdodHRwOi8vc3RhdGljLndpcmVkLmNvbS9uZXdzL2ltYWdlcy9zcGFjZXIuZ2lmJywgaGVpZ2h0PScxJywgd2lkdGg9JzUnLCBhbHQ9JycpCitTQVguZW5kRWxlbWVudChpbWcpCitTQVguY2hhcmFjdGVycygKKyAgICwgNCkKK1NBWC5lbmRFbGVtZW50KHRkKQorU0FYLmNoYXJhY3RlcnMoCisgICAsIDQpCitTQVguc3RhcnRFbGVtZW50KHRkLCB2YWxpZ249J1RPUCcsIGFsaWduPSdMRUZUJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgLCA0KQorU0FYLmVuZEVsZW1lbnQodGQpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnQodHIpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5lbmRFbGVtZW50KHRhYmxlKQorU0FYLmNoYXJhY3RlcnMoCisKKworLCAzKQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguZW5kRWxlbWVudChib2R5KQorU0FYLmlnbm9yYWJsZVdoaXRlc3BhY2UoCissIDEpCitTQVguZW5kRWxlbWVudChodG1sKQorU0FYLmlnbm9yYWJsZVdoaXRlc3BhY2UoCisKKywgMikKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9TVkcvNHJlY3RzLnhtbCBiL2xpYnhtbDIvcmVzdWx0L1NWRy80cmVjdHMueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRmYWEwMmQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9TVkcvNHJlY3RzLnhtbApAQCAtMCwwICsxLDEwIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIHN0YW5kYWxvbmU9Im5vIj8+Cis8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIEFwcmlsIDE5OTkvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHL3N2Zy0xOTk5MDQxMi5kdGQiPgorPHN2ZyB3aWR0aD0iNGluIiBoZWlnaHQ9IjNpbiI+CisgIDxkZXNjPkZvdXIgc2VwYXJhdGUgcmVjdGFuZ2xlcw0KKyAgPC9kZXNjPgorICA8cmVjdCB3aWR0aD0iMjAiIGhlaWdodD0iNjAiLz4KKyAgPHJlY3Qgd2lkdGg9IjMwIiBoZWlnaHQ9IjcwIi8+CisgIDxyZWN0IHdpZHRoPSI0MCIgaGVpZ2h0PSI4MCIvPgorICA8cmVjdCB3aWR0aD0iNTAiIGhlaWdodD0iOTAiLz4KKzwvc3ZnPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvU1ZHL2EtdmFsaWQueG1sIGIvbGlieG1sMi9yZXN1bHQvU1ZHL2EtdmFsaWQueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhmNGEyMDQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9TVkcvYS12YWxpZC54bWwKQEAgLTAsMCArMSw5IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIHN0YW5kYWxvbmU9Im5vIj8+Cis8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIEFwcmlsIDE5OTkvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHL3N2Zy0xOTk5MDQxMi5kdGQiPgorPHN2ZyB3aWR0aD0iNGluIiBoZWlnaHQ9IjNpbiI+CisgIDxkZXNjPlRoaXMgdmFsaWQgc3ZnIGRvY3VtZW50IGRyYXdzIGEgdHJpYW5nbGUgd2hpY2ggaXMgYSBoeXBlcmxpbmsNCisgIDwvZGVzYz4KKyAgPGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmciPgorICAgIDxwIGQ9Ik0gMCAwIEwgMjAwIDAgTCAxMDAgMjAwIFoiLz4KKyAgPC9hPgorPC9zdmc+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9TVkcvYS13Zi54bWwgYi9saWJ4bWwyL3Jlc3VsdC9TVkcvYS13Zi54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2ZhY2ZkNQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L1NWRy9hLXdmLnhtbApAQCAtMCwwICsxLDggQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgc3RhbmRhbG9uZT0ieWVzIj8+Cis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvc3ZnLTE5OTkwNDEyLmR0ZCIgd2lkdGg9IjRpbiIgaGVpZ2h0PSIzaW4iPgorICA8ZGVzYz5UaGlzIHdlbGwgZm9ybWVkIHN2ZyBkb2N1bWVudCBkcmF3cyBhIHRyaWFuZ2xlIHdoaWNoIGlzIGEgaHlwZXJsaW5rDQorICA8L2Rlc2M+CisgIDxhIHhtbDpsaW5rPSJzaW1wbGUiIHNob3c9InJlcGxhY2UiIGFjdHVhdGU9InVzZXIiIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnIj4KKyAgICA8cCBkPSJNIDAgMCBMIDIwMCAwIEwgMTAwIDIwMCBaIi8+CisgIDwvYT4KKzwvc3ZnPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvU1ZHL2Jpa2UtZXJyb3JzLnhtbCBiL2xpYnhtbDIvcmVzdWx0L1NWRy9iaWtlLWVycm9ycy54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L1NWRy9iaWtlLWVycm9ycy54bWwKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L1NWRy9iaWtlLnhtbCBiL2xpYnhtbDIvcmVzdWx0L1NWRy9iaWtlLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MTA4NjlkCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvU1ZHL2Jpa2UueG1sCkBAIC0wLDAgKzEsNDQgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyBBcHJpbCAxOTk5Ly9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy9zdmctMTk5OTA0MTIuZHRkIj4KKzxzdmcgd2lkdGg9IjRpbiIgaGVpZ2h0PSIzaW4iPgorICA8dGl0bGU+S29uYSBMYXZhZG9tZSBtb3VudGFpbiBiaWtlDQorICA8L3RpdGxlPgorICA8ZGVzYz5UaGlzIHBpY3R1cmUgc2hvd3MgYSBtb3VudGFpbiBiaWtlLCBhIGh1bWFuLXByb3BlbGxlZCwgDQorICBtdWx0aS10ZXJyYWluIHZlaGljbGUuIFdoaWxlIGl0IGNhbiBiZSBzdWNjZXNmdWxseSB1c2VkIG9uIG1vb3JsYW5kLCANCisgIGZvcmVzdCwgcm9hZHMsIGFuZCBsYXJnZSBoaWxscyBpdCBpcyBub3QgYWN0dWFsbHkgc3VpdGFibGUgZm9yIGdvaW5nIA0KKyAgdXAgbW91bnRhaW5zLg0KKyAgPC9kZXNjPgorICA8ZyBpZD0iYmlrZSI+CisgICAgPGRlZnM+CisgICAgICA8c3ltYm9sIGlkPSJzcG9rZSI+CisgICAgICAgIDxkZXNjPjE0LzEyIGdhdWdlIGRvdWJsZSBidXR0ZWQgc3Bva2U8L2Rlc2M+Cis8IS0tIHRoZSBwYXRoIGRhdGEgZ29lcyBoZXJlIC0tPgorICAgICAgPC9zeW1ib2w+CisgICAgICA8c3ltYm9sIGlkPSJodWIiPgorICAgICAgICA8ZGVzYz5ibGFjayBhbm9kaXNlZCBsb3cgdG9yc2lvbiBodWI8L2Rlc2M+Cis8IS0tdGhlIHBhdGggZGF0YSBnb2VzIGhlcmUgLS0+CisgICAgICA8L3N5bWJvbD4KKyAgICAgIDxzeW1ib2wgaWQ9InJpbSI+CisgICAgICAgIDxkZXNjPnR3aW4gd2FsbCwgZXllbGV0dGVkIHJpbTwvZGVzYz4KKzwhLS0gdGhlIHBhdGggZGF0YSBnb2VzIGhlcmUtLT4KKyAgICAgIDwvc3ltYm9sPgorICAgICAgPHN5bWJvbCBpZD0iY29ncyI+CisgICAgICAgIDxkZXNjPjggc3BlZWQsIHdpZGUgcmF0aW8gZ2VhcmluZzwvZGVzYz4KKzwhLS10aGUgcGF0aCBkYXRhIGdvZXMgaGVyZSAtLT4KKyAgICAgIDwvc3ltYm9sPgorICAgICAgPHN5bWJvbCBpZD0ibGFjaW5nIj4KKyAgICAgICAgPGRlc2M+ZG91YmxlIGNyb3NzIGxhY2luZyBvZiAzMiBzcG9rZXM8L2Rlc2M+CisgICAgICA8L3N5bWJvbD4KKyAgICA8L2RlZnM+Cis8IS0tIHRoZSBvdmVyYWxsIGJpa2UgZHJhd2luZyBnb2VzIGhlcmUgLS0+CisgICAgPGcgaWQ9ImZyb250d2hlZWwiPgorICAgICAgPHRpdGxlPkZyb250IHdoZWVsPC90aXRsZT4KKyAgICAgIDxkZXNjPlRoZSBmcm9udCB3aGVlbCBwcm92aWRlcyBncmlwLCBzdGVlcmluZyBhbmQgc29tZSBzaG9jayBhYnNvcnB0aW9uPC9kZXNjPgorICAgICAgPHVzZSBocmVmPSJpZChsYWNpbmcpIiBzdHlsZT0icm90YXRpb246IDIwZGVnOyBmaWxsY29sb3I6IGJsYWNrIi8+CisgICAgPC9nPgorICAgIDxnIGlkPSJiYWNrd2hlZWwiLz4KKyAgICA8ZyBpZD0iZnJhbWUiPgorPCEtLSBhbmQgc28gb24gLS0+CisgICAgPC9nPgorICA8L2c+Cis8L3N2Zz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L1NWRy9jaXJjbGUueG1sIGIvbGlieG1sMi9yZXN1bHQvU1ZHL2NpcmNsZS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWU3ZDU0NQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L1NWRy9jaXJjbGUueG1sCkBAIC0wLDAgKzEsOSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIEFwcmlsIDE5OTkvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHL3N2Zy0xOTk5MDQxMi5kdGQiPgorPHN2ZyB3aWR0aD0iNGluIiBoZWlnaHQ9IjNpbiI+CisgIDxkZXNjPlRoaXMgaXMgYSBibHVlIGNpcmNsZSB3aXRoIGEgcmVkIG91dGxpbmUNCisgIDwvZGVzYz4KKyAgPGc+CisgICAgPGNpcmNsZSBzdHlsZT0iZmlsbDogYmx1ZTsgc3Ryb2tlOiByZWQiIGN4PSIyMDAiIGN5PSIyMDAiIHI9IjEwMCIvPgorICA8L2c+Cis8L3N2Zz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L1NWRy9kZWZzLnhtbCBiL2xpYnhtbDIvcmVzdWx0L1NWRy9kZWZzLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43OGM2YmViCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvU1ZHL2RlZnMueG1sCkBAIC0wLDAgKzEsMTQgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgc3RhbmRhbG9uZT0ibm8iPz4KKzwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgQXByaWwgMTk5OS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvc3ZnLTE5OTkwNDEyLmR0ZCI+Cis8c3ZnIHdpZHRoPSI0aW4iIGhlaWdodD0iM2luIj4KKyAgPGRlZnM+CisgICAgPHJlY3QgaWQ9IlRlbXBsYXRlT2JqZWN0MDEiIHdpZHRoPSIxMDAiIGhlaWdodD0iMzcuMzQiLz4KKyAgICA8bGluZWFyZ3JhZGllbnQgaWQ9IkdyYWRpZW50MDEiPgorICAgICAgPGdyYWRpZW50c3RvcCBvZmZzZXQ9IjMwJSIgY29sb3I9IiMzOUYiLz4KKyAgICA8L2xpbmVhcmdyYWRpZW50PgorICA8L2RlZnM+CisgIDxkZXNjPkRlZmluaW5nIHRoaW5ncyBmb3IgbGF0ZXIgdXNlDQorICA8L2Rlc2M+Cis8IS0tIFNWRyBlbGVtZW50cyBpbiBoZXJlIHdvdWxkIHJlZmVyZW5jZS91c2UgDQorICAgICAgIHRoZSBlbGVtZW50cyBkZWZpbmVkIGluIHRoZSA8ZGVmcz4gLS0+Cis8L3N2Zz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L1NWRy9kZXNjLnhtbCBiL2xpYnhtbDIvcmVzdWx0L1NWRy9kZXNjLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZmRlOTY2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvU1ZHL2Rlc2MueG1sCkBAIC0wLDAgKzEsMTQgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgc3RhbmRhbG9uZT0ibm8iPz4KKzwhRE9DVFlQRSBzdmcgU1lTVEVNICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvc3ZnLTE5OTkwNDEyLmR0ZCI+Cis8c3ZnIHdpZHRoPSI0aW4iIGhlaWdodD0iM2luIj4KKyAgPGc+CisgICAgPHRpdGxlPg0KKyAgICBDb21wYW55IHNhbGVzIGJ5IHJlZ2lvbg0KKyAgPC90aXRsZT4KKyAgICA8ZGVzYz4NCisgICAgVGhpcyBpcyBhIGJhciBjaGFydCB3aGljaCBzaG93cyANCisgICAgY29tcGFueSBzYWxlcyBieSByZWdpb24uDQorICA8L2Rlc2M+Cis8IS0tIEJhciBjaGFydCBkZWZpbmVkIGFzIHZlY3RvciBkYXRhIC0tPgorICA8L2c+Cis8L3N2Zz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L1NWRy9lbGxpcHNlLnhtbCBiL2xpYnhtbDIvcmVzdWx0L1NWRy9lbGxpcHNlLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZjcyMzQ2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvU1ZHL2VsbGlwc2UueG1sCkBAIC0wLDAgKzEsOSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PgorPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyBBcHJpbCAxOTk5Ly9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy9zdmctMTk5OTA0MTIuZHRkIj4KKzxzdmcgd2lkdGg9IjRpbiIgaGVpZ2h0PSIzaW4iPgorICA8ZGVzYz5UaGlzIGlzIGFuIGVsbGlwc2UsIGF4aXMgYWxpZ25lZCBhbmQgY2VudGVyZWQgb24gdGhlIG9yaWdpbg0KKyAgPC9kZXNjPgorICA8Zz4KKyAgICA8ZWxsaXBzZSBtYWpvcj0iODUiIG1pbm9yPSI0NSIvPgorICA8L2c+Cis8L3N2Zz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L1NWRy9mbG93ZXIyLnhtbCBiL2xpYnhtbDIvcmVzdWx0L1NWRy9mbG93ZXIyLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNmNkMmJhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvU1ZHL2Zsb3dlcjIueG1sCkBAIC0wLDAgKzEsMTAgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgc3RhbmRhbG9uZT0ibm8iPz4KKzwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgQXByaWwgMTk5OS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvc3ZnLTE5OTkwNDEyLmR0ZCI+Cis8c3ZnIHdpZHRoPSI4MDBweCIgaGVpZ2h0PSI4MDBweCI+CisgIDxkZXNjPlRoaXMgc2FtcGxlIFNWRyBmaWxlIGRyYXdzIGEgZmxvd2VyPC9kZXNjPgorICA8ZyBzdHlsZT0idHJhbnNmb3JtOiBtYXRyaXgoMSAwIDAgLTEgLTI1Ljg4IDc5OC42MCk7ICAgICAgIHN0cm9rZTogIzAwMDsgc3Ryb2tlLXdpZHRoOiAxIj4KKyAgICA8cGF0aCBzdHlsZT0iZmlsbDogIzFBNTQ2NiIgZD0ibSAyNDIuMzMgNjg0LjE5ICAgICAgICAgICAgQyAzNDYuNDQgNzU3LjQ4IDI3MS40NSA2NDcuMzggMjEzLjE3IDY0MS4zNyAgICAgICAgICAgIEMgMjcxLjQ1IDY0Ny4zOCAzODMuNDMgNTc1LjIxIDI1Ni43MSA2MTMuMzAgICAgICAgICAgICBDIDM4My40MyA1NzUuMjEgMjUxLjA0IDU2NS45MCAyMDUuMjMgNjA5LjY4ICAgICAgICAgICAgQyAyNTEuMDQgNTY1LjkwIDI2NS4xMyA0MzIuODggMjEwLjcxIDU1Ny45NSAgICAgICAgICAgIEMgMjY1LjEzIDQzMi44OCAxNzUuMDQgNTMxLjM3IDE3NS42NyA1OTYuMjYgICAgICAgICAgICBDIDE3NS4wNCA1MzEuMzcgODAuNjMgIDQzNy42NyAxMzguOTYgNTU5LjgyICAgICAgICAgICAgQyAgODAuNjMgNDM3LjY3IDEwMC42NyA1NjkuODAgMTQ2Ljc1IDYxMS4yMCAgICAgICAgICAgIEMgMTAwLjY3IDU2OS44MCAtMzEuMTQgNTg1Ljk4IDk1LjQ5ICA2MTcuNDkgICAgICAgICAgICBDIC0zMS4xNCA1ODUuOTggODMuOTQgIDY1Mi4yNSAxNDAuMjQgNjQzLjI2ICAgICAgICAgICAgQyA4My45NCAgNjUyLjI1IDEzLjk4ICA3NjYuMTIgMTEzLjA0IDY4Ny41NSAgICAgICAgICAgIEMgMTMuOTggIDc2Ni4xMiAxMzcuNDUgNzE2LjYzIDE2MS4wNSA2NjguMzAgICAgICAgICAgICBDIDEzNy40NSA3MTYuNjMgMTgyLjAyIDg0Mi40NSAxNzguMzkgNzE3LjIzICAgICAgICAgICAgQyAxODIuMDIgODQyLjQ1IDIyMC45MCA3MTQuNDYgMTkzLjUxIDY2Ny40NiAgICAgICAgICAgIEMgMjIwLjkwIDcxNC40NiAzNDYuNDQgNzU3LjQ4IDI0Mi4zMyA2ODQuMTkgeiIvPgorICAgIDxwYXRoIHN0eWxlPSJmaWxsOiAjMzRBQUNEIiBkPSJNIDIzNS4zMyA2OTEuMTkgICAgICAgICAgICBDIDMzOS40NCA3NjQuNDggMjY0LjQ1IDY1NC4zOCAyMDYuMTcgNjQ4LjM3ICAgICAgICAgICAgQyAyNjQuNDUgNjU0LjM4IDM3Ni40MyA1ODIuMjEgMjQ5LjcxIDYyMC4zMCAgICAgICAgICAgIEMgMzc2LjQzIDU4Mi4yMSAyNDQuMDQgNTcyLjkwIDE5OC4yMyA2MTYuNjggICAgICAgICAgICBDIDI0NC4wNCA1NzIuOTAgMjU4LjEzIDQzOS44OCAyMDMuNzEgNTY0Ljk1ICAgICAgICAgICAgQyAyNTguMTMgNDM5Ljg4IDE2OC4wNCA1MzguMzcgMTY4LjY3IDYwMy4yNiAgICAgICAgICAgIEMgMTY4LjA0IDUzOC4zNyA3My42MyAgNDQ0LjY3IDEzMS45NiA1NjYuODIgICAgICAgICAgICBDIDczLjYzICA0NDQuNjcgOTMuNjcgIDU3Ni44MCAxMzkuNzUgNjE4LjIwICAgICAgICAgICAgQyA5My42NyAgNTc2LjgwIC0zOC4xNCA1OTIuOTggIDg4LjQ5IDYyNC40OSAgICAgICAgICAgIEMgLTM4LjE0IDU5Mi45OCA3Ni45NCAgNjU5LjI1IDEzMy4yNCA2NTAuMjYgICAgICAgICAgICBDIDc2Ljk0ICA2NTkuMjUgNi45OCAgIDc3My4xMiAxMDYuMDQgNjk0LjU1ICAgICAgICAgICAgQyA2Ljk4ICAgNzczLjEyIDEzMC40NSA3MjMuNjMgMTU0LjA1IDY3NS4zMCAgICAgICAgICAgIEMgMTMwLjQ1IDcyMy42MyAxNzUuMDIgODQ5LjQ1IDE3MS4zOSA3MjQuMjMgICAgICAgICAgICBDIDE3NS4wMiA4NDkuNDUgMjEzLjkwIDcyMS40NiAxODYuNTEgNjc0LjQ2ICAgICAgICAgICAgQyAyMTMuOTAgNzIxLjQ2IDMzOS40NCA3NjQuNDggMjM1LjMzIDY5MS4xOSB6Ii8+CisgICAgPHBhdGggc3R5bGU9ImZpbGw6ICNGODgxQkYiIGQ9Ik0gMTk5LjQ0IDYzNC40MyAgICAgICAgICAgIEMgMTk5LjQ0IDYyMi4xNiAxODkuMTkgNjEyLjIxIDE3Ni41NCA2MTIuMjEgICAgICAgICAgICBDIDE2My44OSA2MTIuMjEgMTUzLjYzIDYyMi4xNiAxNTMuNjMgNjM0LjQzICAgICAgICAgICAgQyAxNTMuNjMgNjQ2LjcxIDE2My44OSA2NTYuNjYgMTc2LjU0IDY1Ni42NiAgICAgICAgICAgIEMgMTg5LjE5IDY1Ni42NiAxOTkuNDQgNjQ2LjcxIDE5OS40NCA2MzQuNDMgeiIvPgorICA8L2c+Cis8L3N2Zz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L1NWRy9ncmFkaWVudC54bWwgYi9saWJ4bWwyL3Jlc3VsdC9TVkcvZ3JhZGllbnQueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ1NzBiNzYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9TVkcvZ3JhZGllbnQueG1sCkBAIC0wLDAgKzEsMTYgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgc3RhbmRhbG9uZT0ibm8iPz4KKzwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgQXByaWwgMTk5OS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvc3ZnLTE5OTkwNDEyLmR0ZCI+Cis8c3ZnIHdpZHRoPSI0aW4iIGhlaWdodD0iM2luIj4KKyAgPGRlc2M+R3JhZGllbnQgZXhhbXBsZQ0KKyAgPC9kZXNjPgorICA8Zz4KKyAgICA8ZGVmcz4KKyAgICAgIDxsaW5lYXJncmFkaWVudCBpZD0iTXlHcmFkaWVudCI+Cis8IS0tIERlZmluZSBsaW5lYXIgZ3JhZGllbnQgaGVyZSAtLT4KKyAgICAgICAgPGdyYWRpZW50c3RvcCBvZmZzZXQ9IjAlIiBjb2xvcj0iI0Y2MCIvPgorICAgICAgICA8Z3JhZGllbnRzdG9wIG9mZnNldD0iNzAlIiBjb2xvcj0iI0ZGNiIvPgorICAgICAgPC9saW5lYXJncmFkaWVudD4KKyAgICA8L2RlZnM+CisgICAgPHJlY3Qgc3R5bGU9ImZpbGw6IHVybCgjTXlHcmFkaWVudCkiIHdpZHRoPSIyMCIgaGVpZ2h0PSIxNS44Ii8+CisgIDwvZz4KKzwvc3ZnPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvU1ZHL2dyb3VwMDEueG1sIGIvbGlieG1sMi9yZXN1bHQvU1ZHL2dyb3VwMDEueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYzOWFkODgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9TVkcvZ3JvdXAwMS54bWwKQEAgLTAsMCArMSwxNCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PgorPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyBBcHJpbCAxOTk5Ly9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy9zdmctMTk5OTA0MTIuZHRkIj4KKzxzdmcgd2lkdGg9IjRpbiIgaGVpZ2h0PSIzaW4iPgorICA8ZGVzYz5Ud28gZ3JvdXBzLCBlYWNoIG9mIHR3byByZWN0YW5nbGVzDQorICA8L2Rlc2M+CisgIDxnIHN0eWxlPSJmaWxsY29sb3I6cmVkIj4KKyAgICA8cmVjdCB4PSIxMDAiIHk9IjEwMCIgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiLz4KKyAgICA8cmVjdCB4PSIzMDAiIHk9IjEwMCIgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiLz4KKyAgPC9nPgorICA8ZyBzdHlsZT0iZmlsbGNvbG9yOmJsdWUiPgorICAgIDxyZWN0IHg9IjEwMCIgeT0iMzAwIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIvPgorICAgIDxyZWN0IHg9IjMwMCIgeT0iMzAwIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIvPgorICA8L2c+Cis8L3N2Zz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L1NWRy9ncm91cDAyLnhtbCBiL2xpYnhtbDIvcmVzdWx0L1NWRy9ncm91cDAyLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NWUxZjUyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvU1ZHL2dyb3VwMDIueG1sCkBAIC0wLDAgKzEsMTIgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgc3RhbmRhbG9uZT0ibm8iPz4KKzwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgQXByaWwgMTk5OS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvc3ZnLTE5OTkwNDEyLmR0ZCI+Cis8c3ZnIHdpZHRoPSI0aW4iIGhlaWdodD0iM2luIj4KKyAgPGRlc2M+VHdvIG5hbWVkIGdyb3Vwcw0KKyAgPC9kZXNjPgorICA8ZyBpZD0iT0JKRUNUMSI+CisgICAgPHJlY3QgeD0iMTAwIiB5PSIxMDAiIHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIi8+CisgIDwvZz4KKyAgPGcgaWQ9Ik9CSkVDVDIiPgorICAgIDxjaXJjbGUgY3g9IjE1MCIgY3k9IjMwMCIgcj0iMjUiLz4KKyAgPC9nPgorPC9zdmc+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9TVkcvZ3JvdXAwMy54bWwgYi9saWJ4bWwyL3Jlc3VsdC9TVkcvZ3JvdXAwMy54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjBkNzVhZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L1NWRy9ncm91cDAzLnhtbApAQCAtMCwwICsxLDExIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIHN0YW5kYWxvbmU9Im5vIj8+Cis8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIEFwcmlsIDE5OTkvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHL3N2Zy0xOTk5MDQxMi5kdGQiPgorPHN2ZyB3aWR0aD0iNGluIiBoZWlnaHQ9IjNpbiI+CisgIDxkZXNjPkdyb3VwcyBjYW4gbmVzdA0KKyAgPC9kZXNjPgorICA8Zz4KKyAgICA8Zz4KKyAgICAgIDxnLz4KKyAgICA8L2c+CisgIDwvZz4KKzwvc3ZnPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvU1ZHL2ltYWdlLXZhbGlkLnhtbCBiL2xpYnhtbDIvcmVzdWx0L1NWRy9pbWFnZS12YWxpZC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDQ1ZDIyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L1NWRy9pbWFnZS12YWxpZC54bWwKQEAgLTAsMCArMSw5IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIHN0YW5kYWxvbmU9Im5vIj8+Cis8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIEFwcmlsIDE5OTkvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHL3N2Zy0xOTk5MDQxMi5kdGQiPgorPHN2ZyB3aWR0aD0iNGluIiBoZWlnaHQ9IjNpbiI+CisgIDxkZXNjPlRoaXMgZ3JhcGhpYyBsaW5rcyB0byBhbiBleHRlcm5hbCBpbWFnZQ0KKyAgPC9kZXNjPgorICA8aW1hZ2UgeD0iMjAwIiB5PSIyMDAiIHN0eWxlPSJ3aWR0aDogMTAwcHg7IGhlaWdodDogMTAwcHgiIGhyZWY9Im15aW1hZ2UucG5nIj4KKyAgICA8dGl0bGU+TXkgaW1hZ2U8L3RpdGxlPgorICA8L2ltYWdlPgorPC9zdmc+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9TVkcvaW1hZ2Utd2YueG1sIGIvbGlieG1sMi9yZXN1bHQvU1ZHL2ltYWdlLXdmLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMTFhMTJmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvU1ZHL2ltYWdlLXdmLnhtbApAQCAtMCwwICsxLDggQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgc3RhbmRhbG9uZT0ieWVzIj8+Cis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvc3ZnLTE5OTkwNDEyLmR0ZCIgd2lkdGg9IjRpbiIgaGVpZ2h0PSIzaW4iPgorICA8ZGVzYz5UaGlzIGxpbmtzIHRvIGFuIGV4dGVybmFsIGltYWdlDQorICA8L2Rlc2M+CisgIDxpbWFnZSB4bWw6bGluaz0ic2ltcGxlIiB4PSIyMDAiIHk9IjIwMCIgc3R5bGU9IndpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweCIgc2hvdz0iZW1iZWQiIGFjdHVhdGU9ImF1dG8iIGhyZWY9Im15aW1hZ2UucG5nIj4KKyAgICA8dGl0bGU+TXkgaW1hZ2U8L3RpdGxlPgorICA8L2ltYWdlPgorPC9zdmc+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9TVkcvbGluLWdyYWRpZW50LnhtbCBiL2xpYnhtbDIvcmVzdWx0L1NWRy9saW4tZ3JhZGllbnQueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY0NWJkY2UKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9TVkcvbGluLWdyYWRpZW50LnhtbApAQCAtMCwwICsxLDE1IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIHN0YW5kYWxvbmU9Im5vIj8+Cis8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIEFwcmlsIDE5OTkvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHL3N2Zy0xOTk5MDQxMi5kdGQiPgorPHN2ZyB3aWR0aD0iNGluIiBoZWlnaHQ9IjNpbiI+CisgIDxkZXNjPkxpbmVhciBncmFkaWVudCBleGFtcGxlDQorICA8L2Rlc2M+CisgIDxnPgorICAgIDxkZWZzPgorICAgICAgPGxpbmVhcmdyYWRpZW50IGlkPSJNeUdyYWRpZW50Ij4KKyAgICAgICAgPGdyYWRpZW50c3RvcCBvZmZzZXQ9IjAlIiBjb2xvcj0iI0Y2MCIvPgorICAgICAgICA8Z3JhZGllbnRzdG9wIG9mZnNldD0iNzAlIiBjb2xvcj0iI0ZGNiIvPgorICAgICAgPC9saW5lYXJncmFkaWVudD4KKyAgICA8L2RlZnM+CisgICAgPHJlY3Qgc3R5bGU9ImZpbGw6IHVybCgjTXlHcmFkaWVudCkiIHdpZHRoPSIyMCIgaGVpZ2h0PSIxNS44Ii8+CisgIDwvZz4KKzwvc3ZnPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvU1ZHL21hcmtlci54bWwgYi9saWJ4bWwyL3Jlc3VsdC9TVkcvbWFya2VyLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYjQxNzE0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvU1ZHL21hcmtlci54bWwKQEAgLTAsMCArMSwyMyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PgorPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyBBcHJpbCAxOTk5Ly9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy9zdmctMTk5OTA0MTIuZHRkIj4KKzxzdmcgd2lkdGg9IjRpbiIgaGVpZ2h0PSIzaW4iPgorICA8ZGVmcz4KKyAgICA8c3ltYm9sIGlkPSJUcmlhbmdsZSIgbWluLXg9IjAiIG1pbi15PSIwIiBtYXgteD0iMTAwIiBtYXgteT0iMTAwIiByZWYteD0iMCIgcmVmLXk9IjUwIj4KKyAgICAgIDxwYXRoIGQ9Ik0gMCAwIEwgMCAxMDAgTCAxMDAgNTAgeiIvPgorICAgIDwvc3ltYm9sPgorICA8L2RlZnM+CisgIDxkZXNjPkFuIGRvdWJsZS1oZWFkZWQgYXJyb3cgZXhhbXBsZSB1c2luZyBtYXJrZXJzDQorICA8L2Rlc2M+CisgIDxwYXRoIGQ9Ik0wIDAiPgorPCEtLSBQbGFjZSBhbiBhcnJvd2hlYWQgcm90YXRlZCAxODAgZGVncmVlcyBhdCB0aGUgDQorICAgICAgICAgYmVnaW5uaW5nIG9mIHRoZSBwYXRoIC0tPgorICAgIDxtYXJrZXIgaHJlZj0iI1RyaWFuZ2xlIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCIgc3R5bGU9InRleHQtdHJhbnNmb3JtOiByb3RhdGUoMTgwKSIvPgorICAgIDxkYXRhIGQ9Ik0gMjAwMCAyMDAwIi8+Cis8IS0tIFR1cm4gb2ZmIG1hcmtlcnMgaW4gdGhlIG1pZGRsZSBvZiB0aGUgcGF0aCAtLT4KKyAgICA8bWFya2VyIGhyZWY9IiIvPgorICAgIDxkYXRhIGQ9IkwgNDAwMCAyMDAwIEwgNDAwMCA0MDAwIi8+Cis8IS0tIFBsYWNlIGFuIGFycm93aGVhZCBhdCB0aGUgZW5kIG9mIHRoZSBwYXRoLS0+CisgICAgPG1hcmtlciBocmVmPSIjVHJpYW5nbGUiIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIi8+CisgICAgPGRhdGEgZD0iTCA2MDAwIDQwMDAiLz4KKyAgPC9wYXRoPgorPC9zdmc+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9TVkcvbWFzay54bWwgYi9saWJ4bWwyL3Jlc3VsdC9TVkcvbWFzay54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTIwNGUwNgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L1NWRy9tYXNrLnhtbApAQCAtMCwwICsxLDEyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIHN0YW5kYWxvbmU9Im5vIj8+Cis8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIEFwcmlsIDE5OTkvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHL3N2Zy0xOTk5MDQxMi5kdGQiPgorPHN2ZyB3aWR0aD0iNGluIiBoZWlnaHQ9IjNpbiI+CisgIDxkZXNjPkV4YW1wbGUgb2YgdXNpbmcgYSBtYXNrDQorICA8L2Rlc2M+CisgIDxnPgorICAgIDxkZWZzPgorICAgICAgPGltYWdlIGlkPSJNeU1hc2siIGhyZWY9InRyYW5zcC5wbmciLz4KKyAgICA8L2RlZnM+CisgICAgPHJlY3Qgc3R5bGU9Im1hc2s6IHVybCgjTXlNYXNrKSIgd2lkdGg9IjEyLjUiIGhlaWdodD0iMzAiLz4KKyAgPC9nPgorPC9zdmc+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9TVkcvbWF0aHN3aXRjaC54bWwgYi9saWJ4bWwyL3Jlc3VsdC9TVkcvbWF0aHN3aXRjaC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjI5MTM4NAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L1NWRy9tYXRoc3dpdGNoLnhtbApAQCAtMCwwICsxLDI2IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIHN0YW5kYWxvbmU9InllcyI/PgorPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHL3N2Zy0xOTk5MDQxMi5kdGQiIHdpZHRoPSI0aW4iIGhlaWdodD0iM2luIj4KKyAgPGRlc2M+VGhpcyBleGFtcGxlIHVzZXMgdGhlIHN3aXRjaCBlbGVtZW50IHRvIHByb3ZpZGUgYSANCisgIGZhbGxiYWNrIGdyYXBoaWNhbCByZXByZXNlbnRhdGlvbiBvZiBhbiBlcXVhdGlvbiwgaWYgDQorICBNYXRoTUwgaXMgbm90IHN1cHBvcnRlZC4NCisgIDwvZGVzYz4KKzwhLS0gVGhlIDxzd2l0Y2g+IGVsZW1lbnQgd2lsbCBwcm9jZXNzIHRoZSBmaXJzdCBjaGlsZCBlbGVtZW50DQorICAgICAgIHdob3NlIHRlc3RpbmcgYXR0cmlidXRlcyBldmFsdWF0ZSB0byB0cnVlLi0tPgorICA8c3dpdGNoPgorPCEtLSBQcm9jZXNzIHRoZSBNYXRoTUwgaWYgdGhlIHN5c3RlbS1yZXF1aXJlZCBhdHRyaWJ1dGUNCisgICAgICAgICBldmFsdWF0ZXMgdG8gdHJ1ZSAoaS5lLiwgdGhlIHVzZXIgYWdlbnQgc3VwcG9ydHMgTWF0aE1MDQorICAgICAgICAgZW1iZWRkZWQgd2l0aGluIFNWRykuIC0tPgorICAgIDxmb3JlaWdub2JqZWN0IHN5c3RlbS1yZXF1aXJlZD0iaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLU1hdGhNTC0xOTk4MDQwNyIgd2lkdGg9IjEwMCIgaGVpZ2h0PSI1MCI+Cis8IS0tIE1hdGhNTCBjb250ZW50IGdvZXMgaGVyZSAtLT4KKyAgICA8L2ZvcmVpZ25vYmplY3Q+Cis8IS0tIEVsc2UsIHByb2Nlc3MgdGhlIGZvbGxvd2luZyBhbHRlcm5hdGUgU1ZHLg0KKyAgICAgICAgIE5vdGUgdGhhdCB0aGVyZSBhcmUgbm8gdGVzdGluZyBhdHRyaWJ1dGVzIG9uIHRoZSA8Zz4gZWxlbWVudC4NCisgICAgICAgICBJZiBubyB0ZXN0aW5nIGF0dHJpYnV0ZXMgYXJlIHByb3ZpZGVkLCBpdCBpcyBhcyBpZiB0aGVyZQ0KKyAgICAgICAgIHdlcmUgdGVzdGluZyBhdHRyaWJ1dGVzIGFuZCB0aGV5IGV2YWx1YXRlZCB0byB0cnVlLi0tPgorICAgIDxnPgorPCEtLSBEcmF3IGEgcmVkIHJlY3RhbmdsZSB3aXRoIGEgdGV4dCBzdHJpbmcgb24gdG9wLiAtLT4KKyAgICAgIDxyZWN0IHN0eWxlPSJmaWxsOiByZWQiLz4KKyAgICAgIDx0ZXh0PkZvcm11bGEgZ29lcyBoZXJlPC90ZXh0PgorICAgIDwvZz4KKyAgPC9zd2l0Y2g+Cis8L3N2Zz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L1NWRy9wYXJlbnRucy54bWwgYi9saWJ4bWwyL3Jlc3VsdC9TVkcvcGFyZW50bnMueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjViMmVkNDYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9TVkcvcGFyZW50bnMueG1sCkBAIC0wLDAgKzEsOSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8QUJDIHhtbG5zPSJodHRwOi8vcGFyZW50Lm5hbWUuc3BhY2UiIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMCI+Cis8IS0tIGRvY3VtZW50IGluIHRoZSBwYXJlbnQgbmFtZXNwYWNlIC0tPgorICA8c3ZnOnN2ZyB3aWR0aD0iNDAlIiBoZWlnaHQ9IjQwJSI+CisgICAgPHN2ZzpyZWN0YW5nbGUgd2lkdGg9IjQzLjYiIGhlaWdodD0iMzEuNSIvPgorPCEtLSBzdmcgZ3JhcGhpYyBjb250aW51ZXMgLS0+CisgIDwvc3ZnOnN2Zz4KKzwhLS0gZG9jdW1lbnQgaW4gcGFyZW50IG5hbWVzcGFjZSBjb250aW51ZXMgLS0+Cis8L0FCQz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L1NWRy9wYXRoMDEueG1sIGIvbGlieG1sMi9yZXN1bHQvU1ZHL3BhdGgwMS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjQ2OTQwYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L1NWRy9wYXRoMDEueG1sCkBAIC0wLDAgKzEsNCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJ5ZXMiPz4KKzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy9zdmctMTk5OTA0MTIuZHRkIiB3aWR0aD0iNGluIiBoZWlnaHQ9IjNpbiI+CisgIDxwYXRoIGQ9Ik0gMTAwIDEwMCBMIDE0MCAxMDAgTCAxMjAgMTQwIHoiLz4KKzwvc3ZnPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvU1ZHL3BhdGgwMi54bWwgYi9saWJ4bWwyL3Jlc3VsdC9TVkcvcGF0aDAyLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNzRmOTc1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvU1ZHL3BhdGgwMi54bWwKQEAgLTAsMCArMSw5IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIHN0YW5kYWxvbmU9Im5vIj8+Cis8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIEFwcmlsIDE5OTkvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHL3N2Zy0xOTk5MDQxMi5kdGQiPgorPHN2ZyB3aWR0aD0iNGluIiBoZWlnaHQ9IjNpbiI+CisgIDxwYXRoIGQ9Ik0gMTAwIDEwMCI+CisgICAgPGRhdGEgZD0iTCAxNDAgMTAwIi8+CisgICAgPGRhdGEgZD0iTCAxMjAgMTQwIi8+CisgICAgPGRhdGEgZD0ieiIvPgorICA8L3BhdGg+Cis8L3N2Zz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L1NWRy9wYXR0ZXJuZmlsbC54bWwgYi9saWJ4bWwyL3Jlc3VsdC9TVkcvcGF0dGVybmZpbGwueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM1MjBhZTgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9TVkcvcGF0dGVybmZpbGwueG1sCkBAIC0wLDAgKzEsMTEgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgc3RhbmRhbG9uZT0ibm8iPz4KKzwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgQXByaWwgMTk5OS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvc3ZnLTE5OTkwNDEyLmR0ZCI+Cis8c3ZnIHdpZHRoPSI0aW4iIGhlaWdodD0iM2luIj4KKyAgPGRlZnM+CisgICAgPHN5bWJvbCBpZD0iZm91cnN0YXIiPgorPCEtLSBEZWZpbmUgdGhlIHBhdHRlcm4gdXNpbmcgc3RhbmRhcmQgZ3JhcGhpY3MgZWxlbWVudHMNCisgICAgICAgICAgIHN1Y2ggYXMgcGF0aHMsIGltYWdlcywgdGV4dCBhbmQgc2hhcGVzIC0tPgorICAgIDwvc3ltYm9sPgorICA8L2RlZnM+CisgIDxlbGxpcHNlIHN0eWxlPSJmaWxsOiB1cmwoI2ZvdXJzdGFyKSIgbWFqb3I9IjQwIiBtaW5vcj0iMjciLz4KKzwvc3ZnPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvU1ZHL3BvbHlsaW5lLnhtbCBiL2xpYnhtbDIvcmVzdWx0L1NWRy9wb2x5bGluZS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWZhNDA3MQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L1NWRy9wb2x5bGluZS54bWwKQEAgLTAsMCArMSw4IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIHN0YW5kYWxvbmU9Im5vIj8+Cis8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIEFwcmlsIDE5OTkvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHL3N2Zy0xOTk5MDQxMi5kdGQiPgorPHN2ZyB3aWR0aD0iNGluIiBoZWlnaHQ9IjNpbiI+CisgIDxkZXNjPkEgc2FtcGxlIHBvbHlsaW5lLCBhbmQgZXF1aXZhbGVudCBwYXRoDQorICA8L2Rlc2M+CisgIDxwb2x5bGluZSB2ZXJ0cz0iMjAsMjAgNTAsMTAwIDIwMCw4MCA3MCwzMDAiLz4KKyAgPHBhdGggZD0iTTIwLDIwIEw1MCwxMDAgTDIwMCw4MCBMNzAsMzAwIi8+Cis8L3N2Zz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L1NWRy9wcml2YXRlLnhtbCBiL2xpYnhtbDIvcmVzdWx0L1NWRy9wcml2YXRlLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZGZlMzY2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvU1ZHL3ByaXZhdGUueG1sCkBAIC0wLDAgKzEsMTggQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgc3RhbmRhbG9uZT0ieWVzIj8+Cis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvc3ZnLTE5OTkwNDEyLmR0ZCIgd2lkdGg9IjRpbiIgaGVpZ2h0PSIzaW4iPgorICA8ZGVmcz4KKyAgICA8cHJpdmF0ZSB4bWxuczpteWFwcD0iaHR0cDovL215Y29tcGFueS9tYXBhcHAiPgorICAgICAgPG15YXBwOnBpZWNoYXJ0IHRpdGxlPSJTYWxlcyBieSBSZWdpb24iPgorICAgICAgICA8bXlhcHA6cGllY2UgbGFiZWw9Ik5vcnRoZXJuIFJlZ2lvbiIgdmFsdWU9IjEuMjMiLz4KKyAgICAgICAgPG15YXBwOnBpZWNlIGxhYmVsPSJFYXN0ZXJuIFJlZ2lvbiIgdmFsdWU9IjIuNTMiLz4KKyAgICAgICAgPG15YXBwOnBpZWNlIGxhYmVsPSJTb3V0aGVybiBSZWdpb24iIHZhbHVlPSIzLjg5Ii8+CisgICAgICAgIDxteWFwcDpwaWVjZSBsYWJlbD0iV2VzdGVybiBSZWdpb24iIHZhbHVlPSIyLjA0Ii8+Cis8IS0tIE90aGVyIHByaXZhdGUgZGF0YSBnb2VzIGhlcmUgLS0+CisgICAgICA8L215YXBwOnBpZWNoYXJ0PgorICAgIDwvcHJpdmF0ZT4KKyAgPC9kZWZzPgorICA8ZGVzYz5UaGlzIGNoYXJ0IGluY2x1ZGVzIHByaXZhdGUgZGF0YSBpbiBhbm90aGVyIG5hbWVzcGFjZQ0KKyAgPC9kZXNjPgorPCEtLSBJbiBoZXJlIHdvdWxkIGJlIHRoZSBhY3R1YWwgZ3JhcGhpY3MgZWxlbWVudHMgd2hpY2gNCisgICAgICAgZHJhdyB0aGUgcGllIGNoYXJ0IC0tPgorPC9zdmc+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9TVkcvcmFkLWdyYWRpZW50LnhtbCBiL2xpYnhtbDIvcmVzdWx0L1NWRy9yYWQtZ3JhZGllbnQueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ1YWFkZjAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9TVkcvcmFkLWdyYWRpZW50LnhtbApAQCAtMCwwICsxLDE2IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIHN0YW5kYWxvbmU9Im5vIj8+Cis8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIEFwcmlsIDE5OTkvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHL3N2Zy0xOTk5MDQxMi5kdGQiPgorPHN2ZyB3aWR0aD0iNGluIiBoZWlnaHQ9IjNpbiI+CisgIDxkZXNjPlJhZGlhbCBncmFkaWVudCBleGFtcGxlIHdpdGggdGhyZWUgZ3JhZGllbnQgc3RvcHMNCisgIDwvZGVzYz4KKyAgPGc+CisgICAgPGRlZnM+CisgICAgICA8cmFkaWFsZ3JhZGllbnQgaWQ9Ik15R3JhZGllbnQiPgorICAgICAgICA8Z3JhZGllbnRzdG9wIG9mZnNldD0iMCUiIGNvbG9yPSJ3aGl0ZSIvPgorICAgICAgICA8Z3JhZGllbnRzdG9wIG9mZnNldD0iNTAlIiBjb2xvcj0icmVkIi8+CisgICAgICAgIDxncmFkaWVudHN0b3Agb2Zmc2V0PSIxMDAlIiBjb2xvcj0iYmxhY2siLz4KKyAgICAgIDwvcmFkaWFsZ3JhZGllbnQ+CisgICAgPC9kZWZzPgorICAgIDxjaXJjbGUgc3R5bGU9ImZpbGw6IHVybCgjTXlHcmFkaWVudCkiIHI9IjQyIi8+CisgIDwvZz4KKzwvc3ZnPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvU1ZHL3JlY3RhbmdsZS54bWwgYi9saWJ4bWwyL3Jlc3VsdC9TVkcvcmVjdGFuZ2xlLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MTljZDIzCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvU1ZHL3JlY3RhbmdsZS54bWwKQEAgLTAsMCArMSw5IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIHN0YW5kYWxvbmU9Im5vIj8+Cis8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIEFwcmlsIDE5OTkvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHL3N2Zy0xOTk5MDQxMi5kdGQiPgorPHN2ZyB3aWR0aD0iNGluIiBoZWlnaHQ9IjNpbiI+CisgIDxkZXNjPlRoaXMgaXMgYSByZWN0YW5nbGUNCisgIDwvZGVzYz4KKyAgPGc+CisgICAgPHJlY3QgeD0iMjAiIHk9IjMwIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjgwIi8+CisgIDwvZz4KKzwvc3ZnPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvU1ZHL3JpY2hkZXNjLnhtbCBiL2xpYnhtbDIvcmVzdWx0L1NWRy9yaWNoZGVzYy54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWJhMWYwNQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L1NWRy9yaWNoZGVzYy54bWwKQEAgLTAsMCArMSwxMSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJ5ZXMiPz4KKzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy9zdmctMTk5OTA0MTIuZHRkIiB3aWR0aD0iNGluIiBoZWlnaHQ9IjNpbiI+CisgIDxkZXNjIHhtbG5zOm15ZG9jPSJodHRwOi8vZm9vLm9yZy9teWRvYyI+CisgICAgPG15ZG9jOnRpdGxlPlRoaXMgaXMgYW4gZXhhbXBsZSBTVkcgZmlsZTwvbXlkb2M6dGl0bGU+CisgICAgPG15ZG9jOnBhcmE+VGhlIGdsb2JhbCBkZXNjcmlwdGlvbiB1c2VzIG1hcmt1cCBmcm9tIHRoZSANCisgICAgICAgIDxteWRvYzplbXBoPm15ZG9jPC9teWRvYzplbXBoPiBuYW1lc3BhY2UuPC9teWRvYzpwYXJhPgorICA8L2Rlc2M+CisgIDxnPgorPCEtLSB0aGUgcGljdHVyZSBnb2VzIGhlcmUgLS0+CisgIDwvZz4KKzwvc3ZnPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvU1ZHL3NjcmlwdC54bWwgYi9saWJ4bWwyL3Jlc3VsdC9TVkcvc2NyaXB0LnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jOThhZjBmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvU1ZHL3NjcmlwdC54bWwKQEAgLTAsMCArMSwxMyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PgorPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyBBcHJpbCAxOTk5Ly9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy9zdmctMTk5OTA0MTIuZHRkIj4KKzxzdmcgd2lkdGg9IjRpbiIgaGVpZ2h0PSIzaW4iPgorICA8ZGVmcz4KKyAgICA8c2NyaXB0PgorPCFbQ0RBVEFbDQorICAgICAgLyogQmVlcCBvbiBtb3VzZWNsaWNrICovDQorICAgICAgTW91c2VDbGlja0hhbmRsZXIoKSB7IGJlZXAoKTsgfQ0KKyAgICAgXV0+CisgICAgPC9zY3JpcHQ+CisgIDwvZGVmcz4KKyAgPGNpcmNsZSBvbmNsaWNrPSJNb3VzZUNsaWNrSGFuZGxlcigpIiByPSI4NSIvPgorPC9zdmc+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9TVkcvc3RydWN0dXJlMDEueG1sIGIvbGlieG1sMi9yZXN1bHQvU1ZHL3N0cnVjdHVyZTAxLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NmFmNWU4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvU1ZHL3N0cnVjdHVyZTAxLnhtbApAQCAtMCwwICsxLDggQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgc3RhbmRhbG9uZT0ieWVzIj8+Cis8cGFyZW50IHhtbG5zPSJodHRwOi8vc29tZXBsYWNlLm9yZyIgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvc3ZnLTE5OTkwNDEyLmR0ZCI+Cis8IS0tIHBhcmVudCBzdHVmZiBoZXJlIC0tPgorICA8c3ZnOnN2ZyB3aWR0aD0iNWNtIiBoZWlnaHQ9IjhjbSI+CisgICAgPHN2ZzplbGxpcHNlIG1ham9yPSIyMDAiIG1pbm9yPSIxMzAiLz4KKyAgPC9zdmc6c3ZnPgorPCEtLSAuLi4gLS0+Cis8L3BhcmVudD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L1NWRy9zdHlsZS54bWwgYi9saWJ4bWwyL3Jlc3VsdC9TVkcvc3R5bGUueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcxNzY5MTIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9TVkcvc3R5bGUueG1sCkBAIC0wLDAgKzEsMTEgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgc3RhbmRhbG9uZT0ibm8iPz4KKzwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgQXByaWwgMTk5OS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvc3ZnLTE5OTkwNDEyLmR0ZCI+Cis8c3ZnIHdpZHRoPSI0aW4iIGhlaWdodD0iM2luIj4KKyAgPGRlZnM+CisgICAgPHN0eWxlPgorPCFbQ0RBVEFbDQorICAgICAgLlRpdGxlVGV4dCB7IGZvbnQtc2l6ZTogMTY7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2EgfSBdXT4KKyAgICA8L3N0eWxlPgorICA8L2RlZnM+CisgIDx0ZXh0IGNsYXNzPSJUaXRsZVRleHQiPkhlcmUgaXMgbXkgdGl0bGU8L3RleHQ+Cis8L3N2Zz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L1NWRy9zd2l0Y2gueG1sIGIvbGlieG1sMi9yZXN1bHQvU1ZHL3N3aXRjaC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODdlYjM2NAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L1NWRy9zd2l0Y2gueG1sCkBAIC0wLDAgKzEsMTYgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgc3RhbmRhbG9uZT0ieWVzIj8+Cis8c21pbD4KKyAgPGJvZHk+Cis8IS0tIFRoZSBTTUlMIDxzd2l0Y2g+IGVsZW1lbnQgd2lsbCBwcm9jZXNzIHRoZQ0KKyAgICAgICAgIGZpcnN0IGNoaWxkIGVsZW1lbnQgd2hpY2ggdGVzdHMgdHJ1ZSBhbmQgc2tpcA0KKyAgICAgICAgIHBhc3QgYWxsIG90aGVycy4gLS0+CisgICAgPHN3aXRjaD4KKzwhLS0gVGhlIHN5c3RlbS1yZXF1aXJlZCBhdHRyaWJ1dGUgdGVzdHMgdG8gc2VlIGlmDQorICAgICAgICAgICB0aGUgdXNlciBhZ2VudCBzdXBwb3J0cyBTVkcuIElmIHRydWUsIHRoZW4NCisgICAgICAgICAgIHJlbmRlciB0aGUgZmlsZSBkcmF3aW5nLnN2Zy4gLS0+CisgICAgICA8cmVmIHN5c3RlbS1yZXF1aXJlZD0iaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHL3N2Zy0xOTk5MDQxMi5kdGQiIHR5cGU9ImltYWdlL3N2ZyIgc3JjPSJkcmF3aW5nLnN2ZyIvPgorPCEtLSBFbHNlLCByZW5kZXIgdGhlIGFsdGVybmF0ZSBpbWFnZS4gLS0+CisgICAgICA8aW1nIHNyYz0iYWx0ZXJuYXRlX2ltYWdlLmpwZyIvPgorICAgIDwvc3dpdGNoPgorICA8L2JvZHk+Cis8L3NtaWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9TVkcvc3ltYm9sLXVzZS54bWwgYi9saWJ4bWwyL3Jlc3VsdC9TVkcvc3ltYm9sLXVzZS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTliMzk1YwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L1NWRy9zeW1ib2wtdXNlLnhtbApAQCAtMCwwICsxLDIyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIHN0YW5kYWxvbmU9Im5vIj8+Cis8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIEFwcmlsIDE5OTkvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHL3N2Zy0xOTk5MDQxMi5kdGQiPgorPHN2ZyB3aWR0aD0iNGluIiBoZWlnaHQ9IjNpbiI+CisgIDxkZWZzPgorICAgIDxzeW1ib2wgaWQ9IlRlbXBsYXRlT2JqZWN0MDEiPgorPCEtLSBzeW1ib2wgZGVmaW5pdGlvbiBoZXJlIC0tPgorICAgIDwvc3ltYm9sPgorICA8L2RlZnM+CisgIDxkZXNjPkV4YW1wbGVzIG9mIGlubGluZSBhbmQgcmVmZXJlbmNlZCBjb250ZW50DQorICA8L2Rlc2M+Cis8IS0tIDxnPiB3aXRoIGlubGluZSBjb250ZW50IC0tPgorICA8Zz4KKzwhLS0gSW5saW5lIGNvbnRlbnQgZ29lcyBoZXJlIC0tPgorICA8L2c+Cis8IS0tIHJlZmVyZW5jZWQgY29udGVudCAtLT4KKyAgPHVzZSBocmVmPSIjVGVtcGxhdGVPYmplY3QwMSIvPgorPCEtLSA8Zz4gd2l0aCBib3RoIHJlZmVyZW5jZWQgYW5kIGlubGluZSBjb250ZW50IC0tPgorICA8Zz4KKyAgICA8dXNlIGhyZWY9IiNUZW1wbGF0ZU9iamVjdDAxIi8+Cis8IS0tIElubGluZSBjb250ZW50IGdvZXMgaGVyZSAtLT4KKyAgPC9nPgorPC9zdmc+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9TVkcvdGVtcGxhdGUueG1sIGIvbGlieG1sMi9yZXN1bHQvU1ZHL3RlbXBsYXRlLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MDdjZDkxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvU1ZHL3RlbXBsYXRlLnhtbApAQCAtMCwwICsxLDggQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHL3N2Zy0xOTk5MDQxMi5kdGQiIHdpZHRoPSI0aW4iIGhlaWdodD0iM2luIj4KKyAgPGRlc2M+VGhpcyB3ZWxsIGZvcm1lZCBzdmcgZG9jdW1lbnQgY29udGFpbnMgYSBoeXBlcmxpbmsNCisgIDwvZGVzYz4KKyAgPGEgeG1sOmxpbms9InNpbXBsZSIgc2hvdz0icmVwbGFjZSIgYWN0dWF0ZT0idXNlciIgaHJlZj0iaHR0cDovL3d3dy53My5vcmciPgorICAgIDxwIGQ9Ik0gMCAwIEwgMjAwIDAgTCAxMDAgMjAwIFoiLz4KKyAgPC9hPgorPC9zdmc+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9TVkcvdGV4dDAxLnhtbCBiL2xpYnhtbDIvcmVzdWx0L1NWRy90ZXh0MDEueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBlMmI0NGIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9TVkcvdGV4dDAxLnhtbApAQCAtMCwwICsxLDExIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIHN0YW5kYWxvbmU9Im5vIj8+Cis8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIEFwcmlsIDE5OTkvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHL3N2Zy0xOTk5MDQxMi5kdGQiPgorPHN2ZyB3aWR0aD0iNGluIiBoZWlnaHQ9IjNpbiI+CisgIDxkZWZzPgorICAgIDx0ZXh0IGlkPSJUZXh0VG9Vc2UiPlhZWjwvdGV4dD4KKyAgPC9kZWZzPgorICA8dGV4dD5BQkM8L3RleHQ+CisgIDx0ZXh0PgorICAgIDxzcmMgaHJlZj0iI1RleHRUb1VzZSIvPgorICA8L3RleHQ+Cis8L3N2Zz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L1NWRy90ZXh0MDIueG1sIGIvbGlieG1sMi9yZXN1bHQvU1ZHL3RleHQwMi54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTY1NmVhNQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L1NWRy90ZXh0MDIueG1sCkBAIC0wLDAgKzEsMjUgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgc3RhbmRhbG9uZT0ieWVzIj8+Cis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvc3ZnLTE5OTkwNDEyLmR0ZCIgd2lkdGg9IjRpbiIgaGVpZ2h0PSIzaW4iPgorICA8ZGVmcz4KKyAgICA8dGV4dGZsb3cgaWQ9IlRGMSI+CisgICAgICA8dCBocmVmPSIjVDEiLz4KKyAgICAgIDx0IGhyZWY9IiNUMyIvPgorICAgIDwvdGV4dGZsb3c+CisgICAgPHRleHRmbG93IGlkPSJURjIiPgorICAgICAgPHQgaHJlZj0iI1QyIi8+CisgICAgICA8dCBocmVmPSIjVDQiLz4KKyAgICA8L3RleHRmbG93PgorICA8L2RlZnM+CisgIDx0ZXh0IHg9IjEwMCIgeT0iMTAwIiBpZD0iVDEiPgorICAgIDx0ZiBocmVmPSIjVEYxIj4xMjM8L3RmPgorICA8L3RleHQ+CisgIDx0ZXh0IHg9IjEwMCIgeT0iMjAwIiBpZD0iVDIiPgorICAgIDx0ZiBocmVmPSIjVEYyIj5BQkM8L3RmPgorICA8L3RleHQ+CisgIDx0ZXh0IHg9IjE1MCIgeT0iMTAwIiBpZD0iVDMiPgorICAgIDx0ZiBocmVmPSIjVEYxIj40NTY8L3RmPgorICA8L3RleHQ+CisgIDx0ZXh0IHg9IjE1MCIgeT0iMjAwIiBpZD0iVDQiPgorICAgIDx0ZiBocmVmPSIjVEYyIj5ERUY8L3RmPgorICA8L3RleHQ+Cis8L3N2Zz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L1NWRy90ZXh0MDMueG1sIGIvbGlieG1sMi9yZXN1bHQvU1ZHL3RleHQwMy54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmU5MjAzMQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L1NWRy90ZXh0MDMueG1sCkBAIC0wLDAgKzEsNyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJ5ZXMiPz4KKzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy9zdmctMTk5OTA0MTIuZHRkIiB3aWR0aD0iNGluIiBoZWlnaHQ9IjNpbiI+CisgIDx0ZXh0ZmxvdyBpZD0iVEYxIj4KKyAgICA8dGV4dCB4PSIxMDAiIHk9IjEwMCI+MTIzPC90ZXh0PgorICAgIDx0ZXh0PjQ1NjwvdGV4dD4KKyAgPC90ZXh0Zmxvdz4KKzwvc3ZnPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvU1ZHL3RvYXAwMS54bWwgYi9saWJ4bWwyL3Jlc3VsdC9TVkcvdG9hcDAxLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYWMwMjRjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvU1ZHL3RvYXAwMS54bWwKQEAgLTAsMCArMSw4IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIHN0YW5kYWxvbmU9Im5vIj8+Cis8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIEFwcmlsIDE5OTkvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHL3N2Zy0xOTk5MDQxMi5kdGQiPgorPHN2ZyB3aWR0aD0iNGluIiBoZWlnaHQ9IjNpbiI+CisgIDxkZXNjPlNpbXBsZSB0ZXh0IG9uIGEgcGF0aA0KKyAgPC9kZXNjPgorICA8cGF0aCBpZD0iTXlQYXRoIiBzdHlsZT0idmlzaWJpbGl0eTogaGlkZGVuIiBkPSJNIDEwMCAxMDAgQyAxMjUgMTI1IDE3NSAxMjUgMjAwIDEwMCIvPgorICA8dGV4dD48dGV4dHBhdGggaHJlZj0iI015UGF0aCIvPlRleHQgb24gcGF0aDwvdGV4dD4KKzwvc3ZnPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvU1ZHL3RvYXAwMi54bWwgYi9saWJ4bWwyL3Jlc3VsdC9TVkcvdG9hcDAyLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNjJhYTA0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvU1ZHL3RvYXAwMi54bWwKQEAgLTAsMCArMSwyNyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PgorPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyBBcHJpbCAxOTk5Ly9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy9zdmctMTk5OTA0MTIuZHRkIj4KKzxzdmcgd2lkdGg9IjRpbiIgaGVpZ2h0PSIzaW4iPgorICA8ZGVmcz4KKyAgICA8c3ltYm9sIGlkPSJUcmlhbmdsZTEiIG1pbi14PSIwIiBtaW4teT0iMCIgbWF4LXg9IjMwMCIgbWF4LXk9IjIwMCI+CisgICAgICA8cGF0aCBkPSJNIDUwIDAgTCAgNTAgMjAwIEwgMjUwIDAgeiIvPgorICAgIDwvc3ltYm9sPgorICAgIDxzeW1ib2wgaWQ9IlRyaWFuZ2xlMiIgbWluLXg9IjAiIG1pbi15PSIwIiBtYXgteD0iMzAwIiBtYXgteT0iMjAwIj4KKyAgICAgIDxwYXRoIGQ9Ik0gNTAgMCBMIDI1MCAyMDAgTCAyNTAgMCB6Ii8+CisgICAgPC9zeW1ib2w+CisgIDwvZGVmcz4KKyAgPGRlc2M+R2VuZXJhbCBncmFwaGljcyBvbiBhIHBhdGgNCisgIDwvZGVzYz4KKyAgPHRleHQ+CisgICAgPHRleHRwYXRoIGhyZWY9IiNNeVBhdGgiLz4KKyAgICA8dXNlIGhyZWY9IiNUcmlhbmdsZTEiLz4KKyAgICA8dXNlIGhyZWY9IiNUcmlhbmdsZTIiLz4KKyAgICA8dXNlIGhyZWY9IiNUcmlhbmdsZTEiLz4KKyAgICA8dXNlIGhyZWY9IiNUcmlhbmdsZTIiLz4KKyAgICA8dXNlIGhyZWY9IiNUcmlhbmdsZTEiLz4KKyAgICA8dXNlIGhyZWY9IiNUcmlhbmdsZTIiLz4KKyAgICA8dXNlIGhyZWY9IiNUcmlhbmdsZTEiLz4KKyAgICA8dXNlIGhyZWY9IiNUcmlhbmdsZTIiLz4KKyAgICA8dXNlIGhyZWY9IiNUcmlhbmdsZTEiLz4KKyAgICA8dXNlIGhyZWY9IiNUcmlhbmdsZTIiLz4KKyAgPC90ZXh0PgorPC9zdmc+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9TVkcvdHJhbnNmb3JtLnhtbCBiL2xpYnhtbDIvcmVzdWx0L1NWRy90cmFuc2Zvcm0ueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRiMDBkYmQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9TVkcvdHJhbnNmb3JtLnhtbApAQCAtMCwwICsxLDIwIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIHN0YW5kYWxvbmU9Im5vIj8+Cis8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIEFwcmlsIDE5OTkvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHL3N2Zy0xOTk5MDQxMi5kdGQiPgorPHN2ZyB3aWR0aD0iNGluIiBoZWlnaHQ9IjNpbiI+CisgIDxkZXNjPkRlbW9uc3RyYXRpb24gb2YgY29vcmRpbmF0ZSB0cmFuc2Zvcm1zDQorICA8L2Rlc2M+Cis8IS0tIFRoZSBmb2xsb3dpbmcgdHdvIHRleHQgZWxlbWVudHMgd2lsbCBib3RoIGRyYXcgd2l0aCBhIA0KKyAgICAgICAgZm9udCBoZWlnaHQgb2YgMTIgcGl4ZWxzIC0tPgorICA8dGV4dCBzdHlsZT0iZm9udC1zaXplOiAxMiI+VGhpcyBwcmludHMgMTIgcGl4ZWxzIGhpZ2guPC90ZXh0PgorICA8dGV4dCBzdHlsZT0iZm9udC1zaXplOiAxMnB4Ij5UaGlzIHByaW50cyAxMiBwaXhlbHMgaGlnaC48L3RleHQ+Cis8IS0tIE5vdyBzY2FsZSB0aGUgY29vcmRpbmF0ZSBzeXN0ZW0gYnkgMi4gLS0+CisgIDxnIHN0eWxlPSJ0cmFuc2Zvcm06IHNjYWxlKDIpIj4KKzwhLS0gVGhlIGZvbGxvd2luZyB0ZXh0IHdpbGwgYWN0dWFsbHkgZHJhdyAyNCBwaXhlbHMgaGlnaA0KKyAgICAgICAgICAgYmVjYXVzZSBlYWNoIHVuaXQgaW4gdGhlIG5ldyBjb29yZGluYXRlIHN5c3RlbSBlcXVhbHMNCisgICAgICAgICAgIDIgdW5pdHMgaW4gdGhlIHByZXZpb3VzIGNvb3JkaW5hdGUgc3lzdGVtLiAtLT4KKyAgICA8dGV4dCBzdHlsZT0iZm9udC1zaXplOiAxMiI+VGhpcyBwcmludHMgMjQgcGl4ZWxzIGhpZ2guPC90ZXh0PgorPCEtLSBUaGUgZm9sbG93aW5nIHRleHQgd2lsbCBhY3R1YWxseSBzdGlsbCBkcmF3IDEyIHBpeGVscyBoaWdoDQorICAgICAgICAgICBiZWNhdXNlIHRoZSBDU1MgdW5pdCBzcGVjaWZpZXIgaGFzIGJlZW4gcHJvdmlkZWQuIC0tPgorICAgIDx0ZXh0IHN0eWxlPSJmb250LXNpemU6IDEycHgiPlRoaXMgcHJpbnRzIDEyIHBpeGVscyBoaWdoLjwvdGV4dD4KKyAgPC9nPgorPC9zdmc+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9TVkcvdHJpdmlhbC54bWwgYi9saWJ4bWwyL3Jlc3VsdC9TVkcvdHJpdmlhbC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGIxMjU4MwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L1NWRy90cml2aWFsLnhtbApAQCAtMCwwICsxLDQgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgc3RhbmRhbG9uZT0ieWVzIj8+Cis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvc3ZnLTE5OTkwNDEyLmR0ZCIgd2lkdGg9IjRpbiIgaGVpZ2h0PSIzaW4iPgorPCEtLSBJbnNlcnQgZHJhd2luZyBlbGVtZW50cyBoZXJlIC0tPgorPC9zdmc+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9TVkcvdHdpbi1ncmFkaWVudHMueG1sIGIvbGlieG1sMi9yZXN1bHQvU1ZHL3R3aW4tZ3JhZGllbnRzLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41Y2UyNWNjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvU1ZHL3R3aW4tZ3JhZGllbnRzLnhtbApAQCAtMCwwICsxLDE4IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIHN0YW5kYWxvbmU9Im5vIj8+Cis8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIEFwcmlsIDE5OTkvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHL3N2Zy0xOTk5MDQxMi5kdGQiPgorPHN2ZyB3aWR0aD0iNGluIiBoZWlnaHQ9IjNpbiI+CisgIDxkZXNjPkdyYWRpZW50cyBhcHBseSB0byBsZWFmIG5vZGVzDQorICA8L2Rlc2M+CisgIDxnPgorICAgIDxkZWZzPgorICAgICAgPGxpbmVhcmdyYWRpZW50IGlkPSJNeUdyYWRpZW50Ij4KKyAgICAgICAgPGdyYWRpZW50c3RvcCBvZmZzZXQ9IjAlIiBjb2xvcj0iI0Y2MCIvPgorICAgICAgICA8Z3JhZGllbnRzdG9wIG9mZnNldD0iNzAlIiBjb2xvcj0iI0ZGNiIvPgorICAgICAgPC9saW5lYXJncmFkaWVudD4KKyAgICA8L2RlZnM+CisgICAgPGcgc3R5bGU9ImZpbGw6IHVybCgjTXlHcmFkaWVudCkiPgorICAgICAgPHJlY3Qgd2lkdGg9IjIwIiBoZWlnaHQ9IjE1LjgiLz4KKyAgICAgIDxyZWN0IHdpZHRoPSIzNSIgaGVpZ2h0PSI4Ii8+CisgICAgPC9nPgorICA8L2c+Cis8L3N2Zz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L1NWRy92LXRlbXBsYXRlLnhtbCBiL2xpYnhtbDIvcmVzdWx0L1NWRy92LXRlbXBsYXRlLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMGQxOWZjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvU1ZHL3YtdGVtcGxhdGUueG1sCkBAIC0wLDAgKzEsNiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PgorPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyBBcHJpbCAxOTk5Ly9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy9zdmctMTk5OTA0MTIuZHRkIj4KKzxzdmcgd2lkdGg9IjRpbiIgaGVpZ2h0PSIzaW4iPgorICA8ZGVzYy8+CisgIDxnLz4KKzwvc3ZnPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvU1ZHL3ZpZXdwb3J0LW5lc3QueG1sIGIvbGlieG1sMi9yZXN1bHQvU1ZHL3ZpZXdwb3J0LW5lc3QueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI2YTE5YTcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9TVkcvdmlld3BvcnQtbmVzdC54bWwKQEAgLTAsMCArMSwxMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PgorPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyBBcHJpbCAxOTk5Ly9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy9zdmctMTk5OTA0MTIuZHRkIj4KKzxzdmcgd2lkdGg9IjRpbiIgaGVpZ2h0PSIzaW4iPgorICA8ZGVzYz5UaGlzIFNWRyBkcmF3aW5nIGVtYmVkcyBhbm90aGVyIG9uZSwNCisgICAgdGh1cyBlc3RhYmxpc2hpbmcgYSBuZXcgdmlld3BvcnQNCisgIDwvZGVzYz4KKzwhLS0gVGhlIGZvbGxvd2luZyBzdGF0ZW1lbnQgZXN0YWJsaXNoaW5nIGEgbmV3IHZpZXdwb3J0DQorICAgICAgIGFuZCByZW5kZXJzIFNWRyBkcmF3aW5nIEIgaW50byB0aGF0IHZpZXdwb3J0IC0tPgorICA8c3ZnIHN0eWxlPSJsZWZ0OiAyNSU7IHRvcDogMjUlIiB3aWR0aD0iNTAlIiBoZWlnaHQ9IjUwJSI+Cis8IS0tIGRyYXdpbmcgQiBnb2VzIGhlcmUgLS0+CisgIDwvc3ZnPgorPC9zdmc+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9TVkcvdmlld3BvcnQtdHJhbnNmb3JtLnhtbCBiL2xpYnhtbDIvcmVzdWx0L1NWRy92aWV3cG9ydC10cmFuc2Zvcm0ueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNhOTVmYmQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9TVkcvdmlld3BvcnQtdHJhbnNmb3JtLnhtbApAQCAtMCwwICsxLDM2IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIHN0YW5kYWxvbmU9Im5vIj8+Cis8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIEFwcmlsIDE5OTkvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHL3N2Zy0xOTk5MDQxMi5kdGQiPgorPHN2ZyB3aWR0aD0iMzAwcHgiIGhlaWdodD0iM29vcHgiPgorICA8ZGVzYz5UcmFuc2Zvcm1hdGlvbiB3aXRoIGVzdGFibGlzaG1lbnQgb2YgYSBuZXcgdmlld3BvcnQNCisgIDwvZGVzYz4KKzwhLS0gVGhlIGZvbGxvd2luZyB0d28gdGV4dCBlbGVtZW50cyB3aWxsIGJvdGggZHJhdyB3aXRoIGEgDQorICAgICAgICBmb250IGhlaWdodCBvZiAxMiBwaXhlbHMgLS0+CisgIDx0ZXh0IHN0eWxlPSJmb250LXNpemU6IDEyIj5UaGlzIHByaW50cyAxMiBwaXhlbHMgaGlnaC48L3RleHQ+CisgIDx0ZXh0IHN0eWxlPSJmb250LXNpemU6IDEycHgiPlRoaXMgcHJpbnRzIDEyIHBpeGVscyBoaWdoLjwvdGV4dD4KKzwhLS0gTm93IHNjYWxlIHRoZSBjb29yZGluYXRlIHN5c3RlbSBieSAyLiAtLT4KKyAgPGcgc3R5bGU9InRyYW5zZm9ybTogc2NhbGUoMikiPgorPCEtLSBUaGUgZm9sbG93aW5nIHRleHQgd2lsbCBhY3R1YWxseSBkcmF3IDI0IHBpeGVscyBoaWdoDQorICAgICAgICAgICBiZWNhdXNlIGVhY2ggdW5pdCBpbiB0aGUgbmV3IGNvb3JkaW5hdGUgc3lzdGVtIGVxdWFscw0KKyAgICAgICAgICAgMiB1bml0cyBpbiB0aGUgcHJldmlvdXMgY29vcmRpbmF0ZSBzeXN0ZW0uIC0tPgorICAgIDx0ZXh0IHN0eWxlPSJmb250LXNpemU6IDEyIj5UaGlzIHByaW50cyAyNCBwaXhlbHMgaGlnaC48L3RleHQ+Cis8IS0tIFRoZSBmb2xsb3dpbmcgdGV4dCB3aWxsIGFjdHVhbGx5IHN0aWxsIGRyYXcgMTIgcGl4ZWxzIGhpZ2gNCisgICAgICAgICAgIGJlY2F1c2UgdGhlIENTUyB1bml0IHNwZWNpZmllciBoYXMgYmVlbiBwcm92aWRlZC4gLS0+CisgICAgPHRleHQgc3R5bGU9ImZvbnQtc2l6ZTogMTJweCI+VGhpcyBwcmludHMgMTIgcGl4ZWxzIGhpZ2guPC90ZXh0PgorICA8L2c+Cis8IS0tIFRoaXMgdGltZSwgc2NhbGUgdGhlIGNvb3JkaW5hdGUgc3lzdGVtIGJ5IDMuIC0tPgorICA8ZyBzdHlsZT0idHJhbnNmb3JtOiBzY2FsZSgzKSI+Cis8IS0tIEVzdGFibGlzaCBhIG5ldyB2aWV3cG9ydCBhbmQgdGh1cyBjaGFuZ2UgdGhlIG1lYW5pbmcgb2YNCisgICAgICAgICAgIHNvbWUgQ1NTIHVuaXQgc3BlY2lmaWVycy4gLS0+CisgICAgPHN2ZyBzdHlsZT0ibGVmdDowOyB0b3A6MDsgcmlnaHQ6MTAwOyBib3R0b206MTAwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIj4KKzwhLS0gVGhlIGZvbGxvd2luZyB0d28gdGV4dCBlbGVtZW50cyB3aWxsIGJvdGggZHJhdyB3aXRoIGEgDQorICAgICAgICAgICAgICBmb250IGhlaWdodCBvZiAzNiBzY3JlZW4gcGl4ZWxzLiBUaGUgZmlyc3QgdGV4dCBlbGVtZW50DQorICAgICAgICAgICAgICBkZWZpbmVzIGl0cyBoZWlnaHQgaW4gdXNlciBjb29yZGluYXRlcywgd2hpY2ggaGF2ZSBiZWVuDQorICAgICAgICAgICAgICBzY2FsZWQgYnkgMy4gVGhlIHNlY29uZCB0ZXh0IGVsZW1lbnQgZGVmaW5lcyBpdHMgaGVpZ2h0DQorICAgICAgICAgICAgICBpbiBDU1MgcHggdW5pdHMsIHdoaWNoIGhhdmUgYmVlbiByZWRlZmluZWQgdG8gYmUgdGhyZWUgdGltZXMNCisgICAgICAgICAgICAgIGFzIGJpZyBhcyBzY3JlZW4gcGl4ZWxzIGR1ZSB0aGUgPHN2Zz4gZWxlbWVudCBlc3RhYmxpc2hpbmcNCisgICAgICAgICAgICAgIGEgbmV3IHZpZXdwb3J0LiAtLT4KKyAgICAgIDx0ZXh0IHN0eWxlPSJmb250LXNpemU6IDEyIj5UaGlzIHByaW50cyAzNiBwaXhlbHMgaGlnaC48L3RleHQ+CisgICAgICA8dGV4dCBzdHlsZT0iZm9udC1zaXplOiAxMnB4Ij5UaGlzIHByaW50cyAzNiBwaXhlbHMgaGlnaC48L3RleHQ+CisgICAgPC9zdmc+CisgIDwvZz4KKzwvc3ZnPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvU1ZHL3ZpZXdwb3J0LnhtbCBiL2xpYnhtbDIvcmVzdWx0L1NWRy92aWV3cG9ydC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjJkMWFkMwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L1NWRy92aWV3cG9ydC54bWwKQEAgLTAsMCArMSw4IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIHN0YW5kYWxvbmU9InllcyI/PgorPHBhcmVudCB4bWxucz0iaHR0cDovL3NvbWUudXJsIj4KKzwhLS0gU1ZHIGdyYXBoaWMgLS0+CisgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy9zdmctMTk5OTA0MTIuZHRkIiB3aWR0aD0iMTAwcHgiIGhlaWdodD0iMjAwcHgiPgorICAgIDxwYXRoIGQ9Ik0xMDAsMTAwIFEyMDAsNDAwLDMwMCwxMDAiLz4KKzwhLS0gcmVzdCBvZiBTVkcgZ3JhcGhpYyB3b3VsZCBnbyBoZXJlIC0tPgorICA8L3N2Zz4KKzwvcGFyZW50PgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvU1ZHL3dmLXRlbXBsYXRlLnhtbCBiL2xpYnhtbDIvcmVzdWx0L1NWRy93Zi10ZW1wbGF0ZS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDMwZDhkZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L1NWRy93Zi10ZW1wbGF0ZS54bWwKQEAgLTAsMCArMSw0IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIHN0YW5kYWxvbmU9InllcyI/PgorPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHL3N2Zy0xOTk5MDQxMi5kdGQiIHdpZHRoPSI0aW4iIGhlaWdodD0iM2luIj4KKyAgPGRlc2MvPgorPC9zdmc+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9VUkkvc21pdGgudXJpIGIvbGlieG1sMi9yZXN1bHQvVVJJL3NtaXRoLnVyaQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMzM2ZDU0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvVVJJL3NtaXRoLnVyaQpAQCAtMCwwICsxLDE1IEBACisvYmFyCitiYXIKK2JhcgorYmFyCitiYXoKKworZm9vLworZm9vCitmb28KKy4uL2Zvby4vCisuLi9mb28vCisvZm9vCisuLi9mb28KKy4uLy4uL2ZvbworLi4vLi4vLi4vZm9vCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9VUkkvdXJpLmRhdGEgYi9saWJ4bWwyL3Jlc3VsdC9VUkkvdXJpLmRhdGEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjIyYjRkYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L1VSSS91cmkuZGF0YQpAQCAtMCwwICsxLDE4IEBACitodHRwOi8vZm9vLmNvbS9wYXRoL3RvL2luZGV4Lmh0bWw/b3JpZworaHR0cDovL2Zvby5jb20vcGF0aC90by8KK2h0dHA6Ly9mb28uY29tL3BhdGgvdG8vYmFyCitodHRwOi8vZm9vLmNvbS9wYXRoL3RvL2JhciNiYXoKK2h0dHA6Ly9mb28uY29tL3BhdGgvdG8vYmFyP2JhegoraHR0cDovL2Zvby5jb20vcGF0aC90by9iYXI/YmF6I2JhejIKK2h0dHA6Ly9mb28uY29tL3BhdGgvdG8vaW5kZXguaHRtbD9vcmlnI2JhegoraHR0cDovL2Zvby5jb20vcGF0aC90by9pbmRleC5odG1sP2JhegoraHR0cDovL2Zvby5jb20vcGF0aC90by9pbmRleC5odG1sP2JheiNiYXoyCitodHRwOi8vZm9vLmNvbS9wYXRoL3VwLmEubm90Y2guaHRtbCN3b3cKK2h0dHA6Ly9mb28uY29tL3BhdGgvdXAuYS5ub3RjaC5odG1sP3dvdworaHR0cDovL2Zvby5jb20vcGF0aC91cC5hLm5vdGNoLmh0bWw/d293I3dvdzIKK2h0dHA6Ly9mb28uY29tL3Jvb3QuY2dpI09LCitodHRwOi8vZm9vLmNvbS9yb290LmNnaT9PSworaHR0cDovL2Zvby5jb20vcm9vdC5jZ2k/T0sjT0syCitodHRwOi8vZWxzZXdoZXJlLmNvbS8jZGVlcAoraHR0cDovL2Vsc2V3aGVyZS5jb20vP2RlZXAKK2h0dHA6Ly9lbHNld2hlcmUuY29tLz9kZWVwI2RlZXAyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9WQy9BdHRyaWJ1dGVEZWZhdWx0TGVnYWwgYi9saWJ4bWwyL3Jlc3VsdC9WQy9BdHRyaWJ1dGVEZWZhdWx0TGVnYWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmI2MTY4NgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L1ZDL0F0dHJpYnV0ZURlZmF1bHRMZWdhbApAQCAtMCwwICsxLDEyIEBACisuL3Rlc3QvVkMvQXR0cmlidXRlRGVmYXVsdExlZ2FsOjQ6IHZhbGlkaXR5IGVycm9yIDogQXR0cmlidXRlIGRvYyBvZiBBdDogaW52YWxpZCBkZWZhdWx0IHZhbHVlCis8IUFUVExJU1QgZG9jIEF0IE5NVE9LRU4gIiQkJCI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCisuL3Rlc3QvVkMvQXR0cmlidXRlRGVmYXVsdExlZ2FsOjY6IHZhbGlkaXR5IGVycm9yIDogQXR0cmlidXRlIGRvYyBvZiBiYWQ6IGludmFsaWQgZGVmYXVsdCB2YWx1ZQorPCFBVFRMSVNUIGRvYyBiYWQgSURSRUYgIjFhYmNfMiI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9WQy9BdHRyaWJ1dGVEZWZhdWx0TGVnYWw6ODogdmFsaWRpdHkgZXJyb3IgOiBBdHRyaWJ1dGUgZG9jIG9mIGJhZDI6IGludmFsaWQgZGVmYXVsdCB2YWx1ZQorPCFBVFRMSVNUIGRvYyBiYWQyIElEUkVGUyAiYWJjOjEgMWFiY18yIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCisuL3Rlc3QvVkMvQXR0cmlidXRlRGVmYXVsdExlZ2FsOjExOiBlbGVtZW50IGRvYzogdmFsaWRpdHkgZXJyb3IgOiBObyBkZWNsYXJhdGlvbiBmb3IgYXR0cmlidXRlIHZhbCBvZiBlbGVtZW50IGRvYworPGRvYyB2YWw9InYxIi8+CisgICAgICAgICAgICAgXgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvVkMvQXR0cmlidXRlRGVmYXVsdExlZ2FsLnJkciBiL2xpYnhtbDIvcmVzdWx0L1ZDL0F0dHJpYnV0ZURlZmF1bHRMZWdhbC5yZHIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmI2MTY4NgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L1ZDL0F0dHJpYnV0ZURlZmF1bHRMZWdhbC5yZHIKQEAgLTAsMCArMSwxMiBAQAorLi90ZXN0L1ZDL0F0dHJpYnV0ZURlZmF1bHRMZWdhbDo0OiB2YWxpZGl0eSBlcnJvciA6IEF0dHJpYnV0ZSBkb2Mgb2YgQXQ6IGludmFsaWQgZGVmYXVsdCB2YWx1ZQorPCFBVFRMSVNUIGRvYyBBdCBOTVRPS0VOICIkJCQiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgorLi90ZXN0L1ZDL0F0dHJpYnV0ZURlZmF1bHRMZWdhbDo2OiB2YWxpZGl0eSBlcnJvciA6IEF0dHJpYnV0ZSBkb2Mgb2YgYmFkOiBpbnZhbGlkIGRlZmF1bHQgdmFsdWUKKzwhQVRUTElTVCBkb2MgYmFkIElEUkVGICIxYWJjXzIiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCisuL3Rlc3QvVkMvQXR0cmlidXRlRGVmYXVsdExlZ2FsOjg6IHZhbGlkaXR5IGVycm9yIDogQXR0cmlidXRlIGRvYyBvZiBiYWQyOiBpbnZhbGlkIGRlZmF1bHQgdmFsdWUKKzwhQVRUTElTVCBkb2MgYmFkMiBJRFJFRlMgImFiYzoxIDFhYmNfMiI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgorLi90ZXN0L1ZDL0F0dHJpYnV0ZURlZmF1bHRMZWdhbDoxMTogZWxlbWVudCBkb2M6IHZhbGlkaXR5IGVycm9yIDogTm8gZGVjbGFyYXRpb24gZm9yIGF0dHJpYnV0ZSB2YWwgb2YgZWxlbWVudCBkb2MKKzxkb2MgdmFsPSJ2MSIvPgorICAgICAgICAgICAgIF4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L1ZDL0F0dHJpYnV0ZU5tdG9rZW5zIGIvbGlieG1sMi9yZXN1bHQvVkMvQXR0cmlidXRlTm10b2tlbnMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGMxOTI4NQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L1ZDL0F0dHJpYnV0ZU5tdG9rZW5zCkBAIC0wLDAgKzEsMyBAQAorLi90ZXN0L1ZDL0F0dHJpYnV0ZU5tdG9rZW5zOjY6IGVsZW1lbnQgdGVzdDogdmFsaWRpdHkgZXJyb3IgOiBTeW50YXggb2YgdmFsdWUgZm9yIGF0dHJpYnV0ZSBhdHRyMSBvZiB0ZXN0IGlzIG5vdCB2YWxpZAorPHRlc3QgYXR0cjE9IiBhJiN4OTtiICIvPgorICAgICAgICAgICAgICAgICAgICAgICBeCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9WQy9BdHRyaWJ1dGVObXRva2Vucy5yZHIgYi9saWJ4bWwyL3Jlc3VsdC9WQy9BdHRyaWJ1dGVObXRva2Vucy5yZHIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGMxOTI4NQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L1ZDL0F0dHJpYnV0ZU5tdG9rZW5zLnJkcgpAQCAtMCwwICsxLDMgQEAKKy4vdGVzdC9WQy9BdHRyaWJ1dGVObXRva2Vuczo2OiBlbGVtZW50IHRlc3Q6IHZhbGlkaXR5IGVycm9yIDogU3ludGF4IG9mIHZhbHVlIGZvciBhdHRyaWJ1dGUgYXR0cjEgb2YgdGVzdCBpcyBub3QgdmFsaWQKKzx0ZXN0IGF0dHIxPSIgYSYjeDk7YiAiLz4KKyAgICAgICAgICAgICAgICAgICAgICAgXgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvVkMvRHVwbGljYXRlVHlwZSBiL2xpYnhtbDIvcmVzdWx0L1ZDL0R1cGxpY2F0ZVR5cGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzRlMmMyMAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L1ZDL0R1cGxpY2F0ZVR5cGUKQEAgLTAsMCArMSwzIEBACisuL3Rlc3QvVkMvRHVwbGljYXRlVHlwZTozOiB2YWxpZGl0eSBlcnJvciA6IERlZmluaXRpb24gb2YgYSBoYXMgZHVwbGljYXRlIHJlZmVyZW5jZXMgb2YgYworPCFFTEVNRU5UIGEgKCNQQ0RBVEEgfCBiIHwgYyB8IGQgfCBjKSo+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9WQy9EdXBsaWNhdGVUeXBlLnJkciBiL2xpYnhtbDIvcmVzdWx0L1ZDL0R1cGxpY2F0ZVR5cGUucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM0ZTJjMjAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9WQy9EdXBsaWNhdGVUeXBlLnJkcgpAQCAtMCwwICsxLDMgQEAKKy4vdGVzdC9WQy9EdXBsaWNhdGVUeXBlOjM6IHZhbGlkaXR5IGVycm9yIDogRGVmaW5pdGlvbiBvZiBhIGhhcyBkdXBsaWNhdGUgcmVmZXJlbmNlcyBvZiBjCis8IUVMRU1FTlQgYSAoI1BDREFUQSB8IGIgfCBjIHwgZCB8IGMpKj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L1ZDL0VsZW1lbnRWYWxpZCBiL2xpYnhtbDIvcmVzdWx0L1ZDL0VsZW1lbnRWYWxpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNmI1MGE3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvVkMvRWxlbWVudFZhbGlkCkBAIC0wLDAgKzEsMyBAQAorLi90ZXN0L1ZDL0VsZW1lbnRWYWxpZDozOiB2YWxpZGl0eSBlcnJvciA6IFZhbGlkYXRpb24gZmFpbGVkOiBubyBEVEQgZm91bmQgIQorPGRvYy8+CisgICAgXgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvVkMvRWxlbWVudFZhbGlkLnJkciBiL2xpYnhtbDIvcmVzdWx0L1ZDL0VsZW1lbnRWYWxpZC5yZHIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDZiNTBhNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L1ZDL0VsZW1lbnRWYWxpZC5yZHIKQEAgLTAsMCArMSwzIEBACisuL3Rlc3QvVkMvRWxlbWVudFZhbGlkOjM6IHZhbGlkaXR5IGVycm9yIDogVmFsaWRhdGlvbiBmYWlsZWQ6IG5vIERURCBmb3VuZCAhCis8ZG9jLz4KKyAgICBeCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9WQy9FbGVtZW50VmFsaWQyIGIvbGlieG1sMi9yZXN1bHQvVkMvRWxlbWVudFZhbGlkMgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYjQ3Yzg5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvVkMvRWxlbWVudFZhbGlkMgpAQCAtMCwwICsxLDMgQEAKKy4vdGVzdC9WQy9FbGVtZW50VmFsaWQyOjQ6IGVsZW1lbnQgcDogdmFsaWRpdHkgZXJyb3IgOiBObyBkZWNsYXJhdGlvbiBmb3IgZWxlbWVudCBwCis8ZG9jPjxwLz48L2RvYz4KKyAgICAgICAgIF4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L1ZDL0VsZW1lbnRWYWxpZDIucmRyIGIvbGlieG1sMi9yZXN1bHQvVkMvRWxlbWVudFZhbGlkMi5yZHIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2FlMzMxYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L1ZDL0VsZW1lbnRWYWxpZDIucmRyCkBAIC0wLDAgKzEsNiBAQAorLi90ZXN0L1ZDL0VsZW1lbnRWYWxpZDI6NDogZWxlbWVudCBwOiB2YWxpZGl0eSBlcnJvciA6IE5vIGRlY2xhcmF0aW9uIGZvciBlbGVtZW50IHAKKzxkb2M+PHAvPjwvZG9jPgorICAgICAgICAgXgorLi90ZXN0L1ZDL0VsZW1lbnRWYWxpZDI6NTogZWxlbWVudCBwOiB2YWxpZGl0eSBlcnJvciA6IE5vIGRlY2xhcmF0aW9uIGZvciBlbGVtZW50IHAKKworXgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvVkMvRWxlbWVudFZhbGlkMyBiL2xpYnhtbDIvcmVzdWx0L1ZDL0VsZW1lbnRWYWxpZDMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmZjMjM2ZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L1ZDL0VsZW1lbnRWYWxpZDMKQEAgLTAsMCArMSwzIEBACisuL3Rlc3QvVkMvRWxlbWVudFZhbGlkMzo0OiBlbGVtZW50IGRvYzogdmFsaWRpdHkgZXJyb3IgOiBFbGVtZW50IGRvYyB3YXMgZGVjbGFyZWQgRU1QVFkgdGhpcyBvbmUgaGFzIGNvbnRlbnQKKzxkb2M+T29wcywgdGhpcyBlbGVtZW50IHdhcyBkZWNsYXJlZCBFTVBUWTwvZG9jPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvVkMvRWxlbWVudFZhbGlkMy5yZHIgYi9saWJ4bWwyL3Jlc3VsdC9WQy9FbGVtZW50VmFsaWQzLnJkcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZjRlMDNlCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvVkMvRWxlbWVudFZhbGlkMy5yZHIKQEAgLTAsMCArMSw2IEBACisuL3Rlc3QvVkMvRWxlbWVudFZhbGlkMzo0OiBlbGVtZW50IGRvYzogdmFsaWRpdHkgZXJyb3IgOiBFbGVtZW50IGRvYyB3YXMgZGVjbGFyZWQgRU1QVFkgdGhpcyBvbmUgaGFzIGNvbnRlbnQKKzxkb2M+T29wcywgdGhpcyBlbGVtZW50IHdhcyBkZWNsYXJlZCBFTVBUWTwvZG9jPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgorLi90ZXN0L1ZDL0VsZW1lbnRWYWxpZDM6NTogZWxlbWVudCBkb2M6IHZhbGlkaXR5IGVycm9yIDogRWxlbWVudCBkb2Mgd2FzIGRlY2xhcmVkIEVNUFRZIHRoaXMgb25lIGhhcyBjb250ZW50CisKK14KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L1ZDL0VsZW1lbnRWYWxpZDQgYi9saWJ4bWwyL3Jlc3VsdC9WQy9FbGVtZW50VmFsaWQ0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ3OTFkYjUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9WQy9FbGVtZW50VmFsaWQ0CkBAIC0wLDAgKzEsMyBAQAorLi90ZXN0L1ZDL0VsZW1lbnRWYWxpZDQ6NzogZWxlbWVudCBkb2M6IHZhbGlkaXR5IGVycm9yIDogRWxlbWVudCBjIGlzIG5vdCBkZWNsYXJlZCBpbiBkb2MgbGlzdCBvZiBwb3NzaWJsZSBjaGlsZHJlbgorPGRvYz4gVGhpcyA8Yj5zZWVtczwvYj4gT2sgPGEvPiBidXQgdGhpcyA8Yz53YXMgbm90IGRlY2xhcmVkPC9jPjwvZG9jPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L1ZDL0VsZW1lbnRWYWxpZDQucmRyIGIvbGlieG1sMi9yZXN1bHQvVkMvRWxlbWVudFZhbGlkNC5yZHIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjg5YTUyNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L1ZDL0VsZW1lbnRWYWxpZDQucmRyCkBAIC0wLDAgKzEsNiBAQAorLi90ZXN0L1ZDL0VsZW1lbnRWYWxpZDQ6NzogZWxlbWVudCBkb2M6IHZhbGlkaXR5IGVycm9yIDogRWxlbWVudCBjIGlzIG5vdCBkZWNsYXJlZCBpbiBkb2MgbGlzdCBvZiBwb3NzaWJsZSBjaGlsZHJlbgorPGRvYz4gVGhpcyA8Yj5zZWVtczwvYj4gT2sgPGEvPiBidXQgdGhpcyA8Yz53YXMgbm90IGRlY2xhcmVkPC9jPjwvZG9jPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9WQy9FbGVtZW50VmFsaWQ0Ojg6IGVsZW1lbnQgZG9jOiB2YWxpZGl0eSBlcnJvciA6IEVsZW1lbnQgYyBpcyBub3QgZGVjbGFyZWQgaW4gZG9jIGxpc3Qgb2YgcG9zc2libGUgY2hpbGRyZW4KKworXgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvVkMvRWxlbWVudFZhbGlkNSBiL2xpYnhtbDIvcmVzdWx0L1ZDL0VsZW1lbnRWYWxpZDUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmQwNjRmNgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L1ZDL0VsZW1lbnRWYWxpZDUKQEAgLTAsMCArMSwzIEBACisuL3Rlc3QvVkMvRWxlbWVudFZhbGlkNTo3OiBlbGVtZW50IGRvYzogdmFsaWRpdHkgZXJyb3IgOiBFbGVtZW50IGRvYyBjb250ZW50IGRvZXMgbm90IGZvbGxvdyB0aGUgRFRELCBleHBlY3RpbmcgKGEgLCBiKiAsIGMrKSwgZ290IChhIGIgYyBiKQorPGRvYz48YS8+PGI+IGJ1dCB0aGlzPC9iPjxjPndhcyBub3QgZGVjbGFyZWQ8L2M+PGI+c2VlbXM8L2I+PC9kb2M+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9WQy9FbGVtZW50VmFsaWQ1LnJkciBiL2xpYnhtbDIvcmVzdWx0L1ZDL0VsZW1lbnRWYWxpZDUucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg5OWQ3NTkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9WQy9FbGVtZW50VmFsaWQ1LnJkcgpAQCAtMCwwICsxLDYgQEAKKy4vdGVzdC9WQy9FbGVtZW50VmFsaWQ1Ojc6IGVsZW1lbnQgZG9jOiB2YWxpZGl0eSBlcnJvciA6IEVsZW1lbnQgZG9jIGNvbnRlbnQgZG9lcyBub3QgZm9sbG93IHRoZSBEVEQsIGV4cGVjdGluZyAoYSAsIGIqICwgYyspLCBnb3QgKGEgYiBjIGIpCis8ZG9jPjxhLz48Yj4gYnV0IHRoaXM8L2I+PGM+d2FzIG5vdCBkZWNsYXJlZDwvYz48Yj5zZWVtczwvYj48L2RvYz4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9WQy9FbGVtZW50VmFsaWQ1Ojg6IGVsZW1lbnQgZG9jOiB2YWxpZGl0eSBlcnJvciA6IEVsZW1lbnQgZG9jIGNvbnRlbnQgZG9lcyBub3QgZm9sbG93IHRoZSBEVEQsIE1pc3BsYWNlZCBiCisKK14KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L1ZDL0VsZW1lbnRWYWxpZDYgYi9saWJ4bWwyL3Jlc3VsdC9WQy9FbGVtZW50VmFsaWQ2Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFjYmY4ZmQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9WQy9FbGVtZW50VmFsaWQ2CkBAIC0wLDAgKzEsMyBAQAorLi90ZXN0L1ZDL0VsZW1lbnRWYWxpZDY6NzogZWxlbWVudCBkb2M6IHZhbGlkaXR5IGVycm9yIDogRWxlbWVudCBkb2MgY29udGVudCBkb2VzIG5vdCBmb2xsb3cgdGhlIERURCwgZXhwZWN0aW5nIChhICwgYj8gLCBjKyk/LCBnb3QgKGEgYikKKzxkb2M+PGEvPjxiPmxhY2tzIGM8L2I+PC9kb2M+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L1ZDL0VsZW1lbnRWYWxpZDYucmRyIGIvbGlieG1sMi9yZXN1bHQvVkMvRWxlbWVudFZhbGlkNi5yZHIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWVhZmQ2YgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L1ZDL0VsZW1lbnRWYWxpZDYucmRyCkBAIC0wLDAgKzEsNiBAQAorLi90ZXN0L1ZDL0VsZW1lbnRWYWxpZDY6NzogZWxlbWVudCBkb2M6IHZhbGlkaXR5IGVycm9yIDogRWxlbWVudCBkb2MgY29udGVudCBkb2VzIG5vdCBmb2xsb3cgdGhlIERURCwgZXhwZWN0aW5nIChhICwgYj8gLCBjKyk/LCBnb3QgKGEgYikKKzxkb2M+PGEvPjxiPmxhY2tzIGM8L2I+PC9kb2M+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9WQy9FbGVtZW50VmFsaWQ2Ojg6IGVsZW1lbnQgZG9jOiB2YWxpZGl0eSBlcnJvciA6IEVsZW1lbnQgZG9jIGNvbnRlbnQgZG9lcyBub3QgZm9sbG93IHRoZSBEVEQsIEV4cGVjdGluZyBtb3JlIGNoaWxkCisKK14KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L1ZDL0VsZW1lbnRWYWxpZDcgYi9saWJ4bWwyL3Jlc3VsdC9WQy9FbGVtZW50VmFsaWQ3Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRjZTlkYmYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9WQy9FbGVtZW50VmFsaWQ3CkBAIC0wLDAgKzEsMyBAQAorLi90ZXN0L1ZDL0VsZW1lbnRWYWxpZDc6NzogZWxlbWVudCBkb2M6IHZhbGlkaXR5IGVycm9yIDogRWxlbWVudCBkb2MgY29udGVudCBkb2VzIG5vdCBmb2xsb3cgdGhlIERURCwgZXhwZWN0aW5nICgoYSB8IGIpKiAsIGMrICwgYSAsIGI/ICwgYyAsIGE/KSwgZ290IChhIGIgYSBjIGMgYSkKKzxkb2M+PGEvPjxiLz48YS8+PGMvPjxjLz48YS8+PC9kb2M+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L1ZDL0VsZW1lbnRWYWxpZDcucmRyIGIvbGlieG1sMi9yZXN1bHQvVkMvRWxlbWVudFZhbGlkNy5yZHIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjAwMWZkMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L1ZDL0VsZW1lbnRWYWxpZDcucmRyCkBAIC0wLDAgKzEsNiBAQAorLi90ZXN0L1ZDL0VsZW1lbnRWYWxpZDc6NzogZWxlbWVudCBkb2M6IHZhbGlkaXR5IGVycm9yIDogRWxlbWVudCBkb2MgY29udGVudCBkb2VzIG5vdCBmb2xsb3cgdGhlIERURCwgZXhwZWN0aW5nICgoYSB8IGIpKiAsIGMrICwgYSAsIGI/ICwgYyAsIGE/KSwgZ290IChhIGIgYSBjIGMgYSkKKzxkb2M+PGEvPjxiLz48YS8+PGMvPjxjLz48YS8+PC9kb2M+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9WQy9FbGVtZW50VmFsaWQ3Ojg6IGVsZW1lbnQgZG9jOiB2YWxpZGl0eSBlcnJvciA6IEVsZW1lbnQgZG9jIGNvbnRlbnQgZG9lcyBub3QgZm9sbG93IHRoZSBEVEQsIEV4cGVjdGluZyBtb3JlIGNoaWxkCisKK14KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L1ZDL0VsZW1lbnRWYWxpZDggYi9saWJ4bWwyL3Jlc3VsdC9WQy9FbGVtZW50VmFsaWQ4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYxYjBkYWQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9WQy9FbGVtZW50VmFsaWQ4CkBAIC0wLDAgKzEsMyBAQAorLi90ZXN0L1ZDL0VsZW1lbnRWYWxpZDg6NzogdmFsaWRpdHkgZXJyb3IgOiBDb250ZW50IG1vZGVsIG9mIGRvYyBpcyBub3QgZGV0ZXJtaW5pc3Q6ICgoYSAsIGIpIHwgKGEgLCBjKSkKKzxkb2M+PGEvPjxjPiBkb2MgaXMgbm9uLWRldGVybWluaXN0aWMgPC9jPjwvZG9jPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvVkMvRWxlbWVudFZhbGlkOC5yZHIgYi9saWJ4bWwyL3Jlc3VsdC9WQy9FbGVtZW50VmFsaWQ4LnJkcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMWIwZGFkCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvVkMvRWxlbWVudFZhbGlkOC5yZHIKQEAgLTAsMCArMSwzIEBACisuL3Rlc3QvVkMvRWxlbWVudFZhbGlkODo3OiB2YWxpZGl0eSBlcnJvciA6IENvbnRlbnQgbW9kZWwgb2YgZG9jIGlzIG5vdCBkZXRlcm1pbmlzdDogKChhICwgYikgfCAoYSAsIGMpKQorPGRvYz48YS8+PGM+IGRvYyBpcyBub24tZGV0ZXJtaW5pc3RpYyA8L2M+PC9kb2M+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9WQy9FbnVtZXJhdGlvbiBiL2xpYnhtbDIvcmVzdWx0L1ZDL0VudW1lcmF0aW9uCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMwODk2ZmMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9WQy9FbnVtZXJhdGlvbgpAQCAtMCwwICsxLDMgQEAKKy4vdGVzdC9WQy9FbnVtZXJhdGlvbjo1OiBlbGVtZW50IGRvYzogdmFsaWRpdHkgZXJyb3IgOiBWYWx1ZSAidjQiIGZvciBhdHRyaWJ1dGUgdmFsIG9mIGRvYyBpcyBub3QgYW1vbmcgdGhlIGVudW1lcmF0ZWQgc2V0Cis8ZG9jIHZhbD0idjQiPjwvZG9jPgorICAgICAgICAgICAgIF4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L1ZDL0VudW1lcmF0aW9uLnJkciBiL2xpYnhtbDIvcmVzdWx0L1ZDL0VudW1lcmF0aW9uLnJkcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMDg5NmZjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvVkMvRW51bWVyYXRpb24ucmRyCkBAIC0wLDAgKzEsMyBAQAorLi90ZXN0L1ZDL0VudW1lcmF0aW9uOjU6IGVsZW1lbnQgZG9jOiB2YWxpZGl0eSBlcnJvciA6IFZhbHVlICJ2NCIgZm9yIGF0dHJpYnV0ZSB2YWwgb2YgZG9jIGlzIG5vdCBhbW9uZyB0aGUgZW51bWVyYXRlZCBzZXQKKzxkb2MgdmFsPSJ2NCI+PC9kb2M+CisgICAgICAgICAgICAgXgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvVkMvTlMxIGIvbGlieG1sMi9yZXN1bHQvVkMvTlMxCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9WQy9OUzEKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L1ZDL05TMS5yZHIgYi9saWJ4bWwyL3Jlc3VsdC9WQy9OUzEucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9WQy9OUzEucmRyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9WQy9OUzIgYi9saWJ4bWwyL3Jlc3VsdC9WQy9OUzIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWJkMWY4OAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L1ZDL05TMgpAQCAtMCwwICsxLDMgQEAKKy4vdGVzdC9WQy9OUzI6OTogZWxlbWVudCBkb2M6IHZhbGlkaXR5IGVycm9yIDogTm8gZGVjbGFyYXRpb24gZm9yIGF0dHJpYnV0ZSBhdHRyIG9mIGVsZW1lbnQgZG9jCis8bnM6ZG9jIG5zOmF0dHI9InZhbCIgeG1sbnM6bnM9Imh0dHA6Ly93d3cuZXhhbXBsZS5vcmcvdGVzdC8iPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L1ZDL05TMi5yZHIgYi9saWJ4bWwyL3Jlc3VsdC9WQy9OUzIucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFiZDFmODgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9WQy9OUzIucmRyCkBAIC0wLDAgKzEsMyBAQAorLi90ZXN0L1ZDL05TMjo5OiBlbGVtZW50IGRvYzogdmFsaWRpdHkgZXJyb3IgOiBObyBkZWNsYXJhdGlvbiBmb3IgYXR0cmlidXRlIGF0dHIgb2YgZWxlbWVudCBkb2MKKzxuczpkb2MgbnM6YXR0cj0idmFsIiB4bWxuczpucz0iaHR0cDovL3d3dy5leGFtcGxlLm9yZy90ZXN0LyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvVkMvTlMzIGIvbGlieG1sMi9yZXN1bHQvVkMvTlMzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcyYzAxMTcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9WQy9OUzMKQEAgLTAsMCArMSw5IEBACisuL3Rlc3QvVkMvTlMzOjk6IGVsZW1lbnQgZm9vOiB2YWxpZGl0eSBlcnJvciA6IFZhbHVlIGZvciBhdHRyaWJ1dGUgeG1sbnMgb2YgZm9vIGlzIGRpZmZlcmVudCBmcm9tIGRlZmF1bHQgImh0dHA6Ly9leGFtcGxlLmNvbS9mb29vIgoreG1sbnM9Imh0dHA6Ly9leGFtcGxlLmNvbS9mb28iIHhtbG5zOmZvbz0iaHR0cDovL2V4YW1wbGUuY29tL2ZvIiBmb286aW5mbz0idG90byIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCisuL3Rlc3QvVkMvTlMzOjk6IGVsZW1lbnQgZm9vOiB2YWxpZGl0eSBlcnJvciA6IFZhbHVlIGZvciBhdHRyaWJ1dGUgeG1sbnMgb2YgZm9vIG11c3QgYmUgImh0dHA6Ly9leGFtcGxlLmNvbS9mb29vIgoreG1sbnM9Imh0dHA6Ly9leGFtcGxlLmNvbS9mb28iIHhtbG5zOmZvbz0iaHR0cDovL2V4YW1wbGUuY29tL2ZvIiBmb286aW5mbz0idG90byIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCisuL3Rlc3QvVkMvTlMzOjk6IGVsZW1lbnQgZm9vOiB2YWxpZGl0eSBlcnJvciA6IEVsZW1lbnQgZm9vIG5hbWVzcGFjZSBuYW1lIGZvciBkZWZhdWx0IG5hbWVzcGFjZSBkb2VzIG5vdCBtYXRjaCB0aGUgRFRECittbG5zPSJodHRwOi8vZXhhbXBsZS5jb20vZm9vIiB4bWxuczpmb289Imh0dHA6Ly9leGFtcGxlLmNvbS9mbyIgZm9vOmluZm89InRvdG8iLworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L1ZDL05TMy5yZHIgYi9saWJ4bWwyL3Jlc3VsdC9WQy9OUzMucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcyYzAxMTcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9WQy9OUzMucmRyCkBAIC0wLDAgKzEsOSBAQAorLi90ZXN0L1ZDL05TMzo5OiBlbGVtZW50IGZvbzogdmFsaWRpdHkgZXJyb3IgOiBWYWx1ZSBmb3IgYXR0cmlidXRlIHhtbG5zIG9mIGZvbyBpcyBkaWZmZXJlbnQgZnJvbSBkZWZhdWx0ICJodHRwOi8vZXhhbXBsZS5jb20vZm9vbyIKK3htbG5zPSJodHRwOi8vZXhhbXBsZS5jb20vZm9vIiB4bWxuczpmb289Imh0dHA6Ly9leGFtcGxlLmNvbS9mbyIgZm9vOmluZm89InRvdG8iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgorLi90ZXN0L1ZDL05TMzo5OiBlbGVtZW50IGZvbzogdmFsaWRpdHkgZXJyb3IgOiBWYWx1ZSBmb3IgYXR0cmlidXRlIHhtbG5zIG9mIGZvbyBtdXN0IGJlICJodHRwOi8vZXhhbXBsZS5jb20vZm9vbyIKK3htbG5zPSJodHRwOi8vZXhhbXBsZS5jb20vZm9vIiB4bWxuczpmb289Imh0dHA6Ly9leGFtcGxlLmNvbS9mbyIgZm9vOmluZm89InRvdG8iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgorLi90ZXN0L1ZDL05TMzo5OiBlbGVtZW50IGZvbzogdmFsaWRpdHkgZXJyb3IgOiBFbGVtZW50IGZvbyBuYW1lc3BhY2UgbmFtZSBmb3IgZGVmYXVsdCBuYW1lc3BhY2UgZG9lcyBub3QgbWF0Y2ggdGhlIERURAorbWxucz0iaHR0cDovL2V4YW1wbGUuY29tL2ZvbyIgeG1sbnM6Zm9vPSJodHRwOi8vZXhhbXBsZS5jb20vZm8iIGZvbzppbmZvPSJ0b3RvIi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9WQy9PbmVJRCBiL2xpYnhtbDIvcmVzdWx0L1ZDL09uZUlECm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEyYzg5NGYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9WQy9PbmVJRApAQCAtMCwwICsxLDYgQEAKKy4vdGVzdC9WQy9PbmVJRDo0OiB2YWxpZGl0eSBlcnJvciA6IEVsZW1lbnQgZG9jIGhhcyB0b28gbWF5IElEIGF0dHJpYnV0ZXMgZGVmaW5lZCA6IGlkCis8IUFUVExJU1QgZG9jIGlkIElEICNJTVBMSUVEPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9WQy9PbmVJRDo0OiB2YWxpZGl0eSBlcnJvciA6IEVsZW1lbnQgZG9jIGhhcyAyIElEIGF0dHJpYnV0ZSBkZWZpbmVkIGluIHRoZSBpbnRlcm5hbCBzdWJzZXQgOiBpZAorPCFBVFRMSVNUIGRvYyBpZCBJRCAjSU1QTElFRD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9WQy9PbmVJRC5yZHIgYi9saWJ4bWwyL3Jlc3VsdC9WQy9PbmVJRC5yZHIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTJjODk0ZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L1ZDL09uZUlELnJkcgpAQCAtMCwwICsxLDYgQEAKKy4vdGVzdC9WQy9PbmVJRDo0OiB2YWxpZGl0eSBlcnJvciA6IEVsZW1lbnQgZG9jIGhhcyB0b28gbWF5IElEIGF0dHJpYnV0ZXMgZGVmaW5lZCA6IGlkCis8IUFUVExJU1QgZG9jIGlkIElEICNJTVBMSUVEPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9WQy9PbmVJRDo0OiB2YWxpZGl0eSBlcnJvciA6IEVsZW1lbnQgZG9jIGhhcyAyIElEIGF0dHJpYnV0ZSBkZWZpbmVkIGluIHRoZSBpbnRlcm5hbCBzdWJzZXQgOiBpZAorPCFBVFRMSVNUIGRvYyBpZCBJRCAjSU1QTElFRD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9WQy9PbmVJRDIgYi9saWJ4bWwyL3Jlc3VsdC9WQy9PbmVJRDIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmFmMDRmMQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L1ZDL09uZUlEMgpAQCAtMCwwICsxLDYgQEAKKy4vdGVzdC9WQy9PbmVJRDI6MzogdmFsaWRpdHkgZXJyb3IgOiBFbGVtZW50IGRvYyBoYXMgdG9vIG1heSBJRCBhdHRyaWJ1dGVzIGRlZmluZWQgOiBpZAorPCFBVFRMSVNUIGRvYyBpZCBJRCAjSU1QTElFRD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCisuL3Rlc3QvVkMvT25lSUQyOjM6IHZhbGlkaXR5IGVycm9yIDogRWxlbWVudCBkb2MgaGFzIDIgSUQgYXR0cmlidXRlIGRlZmluZWQgaW4gdGhlIGludGVybmFsIHN1YnNldCA6IGlkCis8IUFUVExJU1QgZG9jIGlkIElEICNJTVBMSUVEPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L1ZDL09uZUlEMi5yZHIgYi9saWJ4bWwyL3Jlc3VsdC9WQy9PbmVJRDIucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhZjA0ZjEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9WQy9PbmVJRDIucmRyCkBAIC0wLDAgKzEsNiBAQAorLi90ZXN0L1ZDL09uZUlEMjozOiB2YWxpZGl0eSBlcnJvciA6IEVsZW1lbnQgZG9jIGhhcyB0b28gbWF5IElEIGF0dHJpYnV0ZXMgZGVmaW5lZCA6IGlkCis8IUFUVExJU1QgZG9jIGlkIElEICNJTVBMSUVEPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9WQy9PbmVJRDI6MzogdmFsaWRpdHkgZXJyb3IgOiBFbGVtZW50IGRvYyBoYXMgMiBJRCBhdHRyaWJ1dGUgZGVmaW5lZCBpbiB0aGUgaW50ZXJuYWwgc3Vic2V0IDogaWQKKzwhQVRUTElTVCBkb2MgaWQgSUQgI0lNUExJRUQ+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvVkMvT25lSUQzIGIvbGlieG1sMi9yZXN1bHQvVkMvT25lSUQzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlhY2NlY2UKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9WQy9PbmVJRDMKQEAgLTAsMCArMSw2IEBACit0ZXN0L1ZDL2R0ZHMvZG9jLmR0ZDoyOiB2YWxpZGl0eSBlcnJvciA6IEVsZW1lbnQgZG9jIGhhcyB0b28gbWF5IElEIGF0dHJpYnV0ZXMgZGVmaW5lZCA6IHZhbAorPCFBVFRMSVNUIGRvYyB2YWwgSUQgI0lNUExJRUQ+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KK3Rlc3QvVkMvZHRkcy9kb2MuZHRkOjI6IHZhbGlkaXR5IGVycm9yIDogRWxlbWVudCBkb2MgaGFzIDIgSUQgYXR0cmlidXRlIGRlZmluZWQgaW4gdGhlIGV4dGVybmFsIHN1YnNldCA6IHZhbAorPCFBVFRMSVNUIGRvYyB2YWwgSUQgI0lNUExJRUQ+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L1ZDL09uZUlEMy5yZHIgYi9saWJ4bWwyL3Jlc3VsdC9WQy9PbmVJRDMucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlhY2NlY2UKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9WQy9PbmVJRDMucmRyCkBAIC0wLDAgKzEsNiBAQAordGVzdC9WQy9kdGRzL2RvYy5kdGQ6MjogdmFsaWRpdHkgZXJyb3IgOiBFbGVtZW50IGRvYyBoYXMgdG9vIG1heSBJRCBhdHRyaWJ1dGVzIGRlZmluZWQgOiB2YWwKKzwhQVRUTElTVCBkb2MgdmFsIElEICNJTVBMSUVEPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCit0ZXN0L1ZDL2R0ZHMvZG9jLmR0ZDoyOiB2YWxpZGl0eSBlcnJvciA6IEVsZW1lbnQgZG9jIGhhcyAyIElEIGF0dHJpYnV0ZSBkZWZpbmVkIGluIHRoZSBleHRlcm5hbCBzdWJzZXQgOiB2YWwKKzwhQVRUTElTVCBkb2MgdmFsIElEICNJTVBMSUVEPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9WQy9QRU5lc3RpbmcgYi9saWJ4bWwyL3Jlc3VsdC9WQy9QRU5lc3RpbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTY2Njg5YQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L1ZDL1BFTmVzdGluZwpAQCAtMCwwICsxLDYgQEAKKy4vdGVzdC9WQy9QRU5lc3Rpbmc6MTogcGFyc2VyIGVycm9yIDogU3RhcnRUYWc6IGludmFsaWQgZWxlbWVudCBuYW1lCis8IUVOVElUWSAlIHBlMSAiRU1QVFk+IDwhRUxFTUVOVCBlMiBFTVBUWT4iPiAKKyBeCisuL3Rlc3QvVkMvUEVOZXN0aW5nOjE6IHBhcnNlciBlcnJvciA6IEV4dHJhIGNvbnRlbnQgYXQgdGhlIGVuZCBvZiB0aGUgZG9jdW1lbnQKKzwhRU5USVRZICUgcGUxICJFTVBUWT4gPCFFTEVNRU5UIGUyIEVNUFRZPiI+IAorIF4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L1ZDL1BFTmVzdGluZy5yZHIgYi9saWJ4bWwyL3Jlc3VsdC9WQy9QRU5lc3RpbmcucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdmODJlMTMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9WQy9QRU5lc3RpbmcucmRyCkBAIC0wLDAgKzEsNCBAQAorLi90ZXN0L1ZDL1BFTmVzdGluZzoxOiBwYXJzZXIgZXJyb3IgOiBTdGFydFRhZzogaW52YWxpZCBlbGVtZW50IG5hbWUKKzwhRU5USVRZICUgcGUxICJFTVBUWT4gPCFFTEVNRU5UIGUyIEVNUFRZPiI+IAorIF4KKy4vdGVzdC9WQy9QRU5lc3RpbmcgOiBmYWlsZWQgdG8gcGFyc2UKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L1ZDL1BFTmVzdGluZzIgYi9saWJ4bWwyL3Jlc3VsdC9WQy9QRU5lc3RpbmcyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM1M2VhZDYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9WQy9QRU5lc3RpbmcyCkBAIC0wLDAgKzEsNiBAQAorLi90ZXN0L1ZDL1BFTmVzdGluZzI6MTogcGFyc2VyIGVycm9yIDogU3RhcnRUYWc6IGludmFsaWQgZWxlbWVudCBuYW1lCis8IUVOVElUWSAlIHAxICIoQXxCIj4KKyBeCisuL3Rlc3QvVkMvUEVOZXN0aW5nMjoxOiBwYXJzZXIgZXJyb3IgOiBFeHRyYSBjb250ZW50IGF0IHRoZSBlbmQgb2YgdGhlIGRvY3VtZW50Cis8IUVOVElUWSAlIHAxICIoQXxCIj4KKyBeCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9WQy9QRU5lc3RpbmcyLnJkciBiL2xpYnhtbDIvcmVzdWx0L1ZDL1BFTmVzdGluZzIucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcxY2IwNTMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9WQy9QRU5lc3RpbmcyLnJkcgpAQCAtMCwwICsxLDQgQEAKKy4vdGVzdC9WQy9QRU5lc3RpbmcyOjE6IHBhcnNlciBlcnJvciA6IFN0YXJ0VGFnOiBpbnZhbGlkIGVsZW1lbnQgbmFtZQorPCFFTlRJVFkgJSBwMSAiKEF8QiI+CisgXgorLi90ZXN0L1ZDL1BFTmVzdGluZzIgOiBmYWlsZWQgdG8gcGFyc2UKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L1ZDL1VuaXF1ZUVsZW1lbnRUeXBlRGVjbGFyYXRpb24gYi9saWJ4bWwyL3Jlc3VsdC9WQy9VbmlxdWVFbGVtZW50VHlwZURlY2xhcmF0aW9uCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg1MzcwNDEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9WQy9VbmlxdWVFbGVtZW50VHlwZURlY2xhcmF0aW9uCkBAIC0wLDAgKzEsMyBAQAordGVzdC9WQy9kdGRzL2EuZHRkOjE6IHZhbGlkaXR5IGVycm9yIDogUmVkZWZpbml0aW9uIG9mIGVsZW1lbnQgYQorPCFFTEVNRU5UIGEgKCNQQ0RBVEEgfCBiIHwgYykqPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L1ZDL1VuaXF1ZUVsZW1lbnRUeXBlRGVjbGFyYXRpb24ucmRyIGIvbGlieG1sMi9yZXN1bHQvVkMvVW5pcXVlRWxlbWVudFR5cGVEZWNsYXJhdGlvbi5yZHIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODUzNzA0MQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L1ZDL1VuaXF1ZUVsZW1lbnRUeXBlRGVjbGFyYXRpb24ucmRyCkBAIC0wLDAgKzEsMyBAQAordGVzdC9WQy9kdGRzL2EuZHRkOjE6IHZhbGlkaXR5IGVycm9yIDogUmVkZWZpbml0aW9uIG9mIGVsZW1lbnQgYQorPCFFTEVNRU5UIGEgKCNQQ0RBVEEgfCBiIHwgYykqPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L1ZDL1VuaXF1ZUVsZW1lbnRUeXBlRGVjbGFyYXRpb24yIGIvbGlieG1sMi9yZXN1bHQvVkMvVW5pcXVlRWxlbWVudFR5cGVEZWNsYXJhdGlvbjIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzMyOGQ5MgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L1ZDL1VuaXF1ZUVsZW1lbnRUeXBlRGVjbGFyYXRpb24yCkBAIC0wLDAgKzEsMyBAQAorLi90ZXN0L1ZDL1VuaXF1ZUVsZW1lbnRUeXBlRGVjbGFyYXRpb24yOjY6IHZhbGlkaXR5IGVycm9yIDogUmVkZWZpbml0aW9uIG9mIGVsZW1lbnQgYQorPCFFTEVNRU5UIGEgKCNQQ0RBVEEgfCBiIHwgYykqPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L1ZDL1VuaXF1ZUVsZW1lbnRUeXBlRGVjbGFyYXRpb24yLnJkciBiL2xpYnhtbDIvcmVzdWx0L1ZDL1VuaXF1ZUVsZW1lbnRUeXBlRGVjbGFyYXRpb24yLnJkcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMzI4ZDkyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvVkMvVW5pcXVlRWxlbWVudFR5cGVEZWNsYXJhdGlvbjIucmRyCkBAIC0wLDAgKzEsMyBAQAorLi90ZXN0L1ZDL1VuaXF1ZUVsZW1lbnRUeXBlRGVjbGFyYXRpb24yOjY6IHZhbGlkaXR5IGVycm9yIDogUmVkZWZpbml0aW9uIG9mIGVsZW1lbnQgYQorPCFFTEVNRU5UIGEgKCNQQ0RBVEEgfCBiIHwgYykqPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L1hJbmNsdWRlL2RvY2lkcy54bWwgYi9saWJ4bWwyL3Jlc3VsdC9YSW5jbHVkZS9kb2NpZHMueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFkOGU2ZTYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9YSW5jbHVkZS9kb2NpZHMueG1sCkBAIC0wLDAgKzEsMTkgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCFET0NUWVBFIGJvb2sgWworPCFFTEVNRU5UIGJvb2sgKGRvYykqPgorPCFFTEVNRU5UIGRvYyAoaXNpZCkqPgorPCFFTEVNRU5UIGlzaWQgRU1QVFk+Cis8IUFUVExJU1QgaXNpZCBteWlkIElEICNJTVBMSUVEPgorXT4KKzxib29rPgorPGRvYz4KKzxpc2lkIG15aWQ9Im1pbmUiLz4KKzxpc2lkIG15aWQ9ImR1cCIvPgorPC9kb2M+Cis8IS0tIGluY2x1ZGluZyBhbm90aGVyIFhNTCBkb2N1bWVudCB3aXRoIElEcyAtLT4KKzxkb2MgeG1sOmJhc2U9Ii4uL2VudHMvaWRzLnhtbCI+Cis8aXNpZCBteWlkPSJkdXAiLz4KKzxpc2lkIG15aWQ9ImZvbyIvPgorPGlzaWQgbXlpZD0iYmFyIi8+Cis8L2RvYz4KKzwvYm9vaz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L1hJbmNsdWRlL2RvY2lkcy54bWwuZXJyIGIvbGlieG1sMi9yZXN1bHQvWEluY2x1ZGUvZG9jaWRzLnhtbC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L1hJbmNsdWRlL2RvY2lkcy54bWwuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9YSW5jbHVkZS9kb2NpZHMueG1sLnJkciBiL2xpYnhtbDIvcmVzdWx0L1hJbmNsdWRlL2RvY2lkcy54bWwucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRlZGViNjcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9YSW5jbHVkZS9kb2NpZHMueG1sLnJkcgpAQCAtMCwwICsxLDM1IEBACiswIDEwIGJvb2sgMCAwCiswIDEgYm9vayAwIDAKKzEgMTQgI3RleHQgMCAxIAorCisxIDEgZG9jIDAgMAorMiAxNCAjdGV4dCAwIDEgCisKKzIgMSBpc2lkIDEgMAorMiAxNCAjdGV4dCAwIDEgCisKKzIgMSBpc2lkIDEgMAorMiAxNCAjdGV4dCAwIDEgCisKKzEgMTUgZG9jIDAgMAorMSAxNCAjdGV4dCAwIDEgCisKKzEgOCAjY29tbWVudCAwIDEgIGluY2x1ZGluZyBhbm90aGVyIFhNTCBkb2N1bWVudCB3aXRoIElEcyAKKzEgMTQgI3RleHQgMCAxIAorCisxIDEgZG9jIDAgMAorMiAxNCAjdGV4dCAwIDEgCisKKzIgMSBpc2lkIDEgMAorMiAxNCAjdGV4dCAwIDEgCisKKzIgMSBpc2lkIDEgMAorMiAxNCAjdGV4dCAwIDEgCisKKzIgMSBpc2lkIDEgMAorMiAxNCAjdGV4dCAwIDEgCisKKzEgMTUgZG9jIDAgMAorMSAxNCAjdGV4dCAwIDEgCisKKzAgMTUgYm9vayAwIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L1hJbmNsdWRlL2ZhbGxiYWNrLnhtbCBiL2xpYnhtbDIvcmVzdWx0L1hJbmNsdWRlL2ZhbGxiYWNrLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kN2VlZDUyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvWEluY2x1ZGUvZmFsbGJhY2sueG1sCkBAIC0wLDAgKzEsNSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8eCB4bWxuczp4aW5jbHVkZT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YSW5jbHVkZSI+CisgICA8IS0tIFNpbXBsZSB0ZXN0IG9mIGEgZmFsbGJhY2sgb24gdW5hdmFpbGJsZSBVUkkgLS0+CisgICA8d2FybmluZz5JbmNsdXNpb24gZmFpbGVkPC93YXJuaW5nPgorPC94PgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvWEluY2x1ZGUvZmFsbGJhY2sueG1sLmVyciBiL2xpYnhtbDIvcmVzdWx0L1hJbmNsdWRlL2ZhbGxiYWNrLnhtbC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L1hJbmNsdWRlL2ZhbGxiYWNrLnhtbC5lcnIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L1hJbmNsdWRlL2ZhbGxiYWNrLnhtbC5yZHIgYi9saWJ4bWwyL3Jlc3VsdC9YSW5jbHVkZS9mYWxsYmFjay54bWwucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgyMDcyZjcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9YSW5jbHVkZS9mYWxsYmFjay54bWwucmRyCkBAIC0wLDAgKzEsMTIgQEAKKzAgMSB4IDAgMAorMSAxNCAjdGV4dCAwIDEgCisgICAKKzEgOCAjY29tbWVudCAwIDEgIFNpbXBsZSB0ZXN0IG9mIGEgZmFsbGJhY2sgb24gdW5hdmFpbGJsZSBVUkkgCisxIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSAxIHdhcm5pbmcgMCAwCisyIDMgI3RleHQgMCAxIEluY2x1c2lvbiBmYWlsZWQKKzEgMTUgd2FybmluZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorCiswIDE1IHggMCAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9YSW5jbHVkZS9mYWxsYmFjazIueG1sIGIvbGlieG1sMi9yZXN1bHQvWEluY2x1ZGUvZmFsbGJhY2syLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kOTFiMGExCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvWEluY2x1ZGUvZmFsbGJhY2syLnhtbApAQCAtMCwwICsxLDYgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPGE+CisgICAgICAgIFRoZXJlIGlzIG5vIGIueG1sIC4uLiAKKyAgICAgICAgVGhlcmUgaXMgbm8gYy54bWwgLi4uIAorIAorPC9hPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvWEluY2x1ZGUvZmFsbGJhY2syLnhtbC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9YSW5jbHVkZS9mYWxsYmFjazIueG1sLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvWEluY2x1ZGUvZmFsbGJhY2syLnhtbC5lcnIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L1hJbmNsdWRlL2ZhbGxiYWNrMi54bWwucmRyIGIvbGlieG1sMi9yZXN1bHQvWEluY2x1ZGUvZmFsbGJhY2syLnhtbC5yZHIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmZjYTRmMAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L1hJbmNsdWRlL2ZhbGxiYWNrMi54bWwucmRyCkBAIC0wLDAgKzEsMTEgQEAKKzAgMSBhIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgICAgICAgIAorMSAzICN0ZXh0IDAgMSBUaGVyZSBpcyBubyBiLnhtbCAuLi4gCisxIDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgCisxIDMgI3RleHQgMCAxIFRoZXJlIGlzIG5vIGMueG1sIC4uLiAKKzEgMTQgI3RleHQgMCAxIAorIAorCiswIDE1IGEgMCAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9YSW5jbHVkZS9pbmNsdWRlLnhtbCBiL2xpYnhtbDIvcmVzdWx0L1hJbmNsdWRlL2luY2x1ZGUueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNhOTM2NmQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9YSW5jbHVkZS9pbmNsdWRlLnhtbApAQCAtMCwwICsxLDkgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPHggeG1sbnM6eGluY2x1ZGU9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWEluY2x1ZGUiPgorICAgPCEtLSBTaW1wbGUgdGVzdCBvZiBpbmNsdWRpbmcgYW5vdGhlciBYTUwgZG9jdW1lbnQgLS0+CisgICA8ZG9jIHhtbDpiYXNlPSIuLi9lbnRzL3NvbWV0aGluZy54bWwiPgorPHA+c29tZXRoaW5nPC9wPgorPHA+cmVhbGx5PC9wPgorPHA+c2ltcGxlPC9wPgorPC9kb2M+Cis8L3g+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9YSW5jbHVkZS9pbmNsdWRlLnhtbC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9YSW5jbHVkZS9pbmNsdWRlLnhtbC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L1hJbmNsdWRlL2luY2x1ZGUueG1sLmVycgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvWEluY2x1ZGUvaW5jbHVkZS54bWwucmRyIGIvbGlieG1sMi9yZXN1bHQvWEluY2x1ZGUvaW5jbHVkZS54bWwucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY2MTM1YTQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9YSW5jbHVkZS9pbmNsdWRlLnhtbC5yZHIKQEAgLTAsMCArMSwyOCBAQAorMCAxIHggMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSA4ICNjb21tZW50IDAgMSAgU2ltcGxlIHRlc3Qgb2YgaW5jbHVkaW5nIGFub3RoZXIgWE1MIGRvY3VtZW50IAorMSAxNCAjdGV4dCAwIDEgCisgICAKKzEgMSBkb2MgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKworMiAxIHAgMCAwCiszIDMgI3RleHQgMCAxIHNvbWV0aGluZworMiAxNSBwIDAgMAorMiAxNCAjdGV4dCAwIDEgCisKKzIgMSBwIDAgMAorMyAzICN0ZXh0IDAgMSByZWFsbHkKKzIgMTUgcCAwIDAKKzIgMTQgI3RleHQgMCAxIAorCisyIDEgcCAwIDAKKzMgMyAjdGV4dCAwIDEgc2ltcGxlCisyIDE1IHAgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKworMSAxNSBkb2MgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKworMCAxNSB4IDAgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvWEluY2x1ZGUvbm9kZXMueG1sIGIvbGlieG1sMi9yZXN1bHQvWEluY2x1ZGUvbm9kZXMueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ4MDMwZDEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9YSW5jbHVkZS9ub2Rlcy54bWwKQEAgLTAsMCArMSw1IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzx4IHhtbG5zOnhpbmNsdWRlPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hJbmNsdWRlIj4KKyAgIDwhLS0gU2ltcGxlIHRlc3Qgb2YgaW5jbHVkaW5nIGEgc2V0IG9mIG5vZGVzIGZyb20gYW4gWE1MIGRvY3VtZW50IC0tPgorICAgPHAgeG1sOmJhc2U9Ii4uL2VudHMvc29tZXRoaW5nLnhtbCI+c29tZXRoaW5nPC9wPjxwIHhtbDpiYXNlPSIuLi9lbnRzL3NvbWV0aGluZy54bWwiPnJlYWxseTwvcD48cCB4bWw6YmFzZT0iLi4vZW50cy9zb21ldGhpbmcueG1sIj5zaW1wbGU8L3A+Cis8L3g+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9YSW5jbHVkZS9ub2Rlcy54bWwuZXJyIGIvbGlieG1sMi9yZXN1bHQvWEluY2x1ZGUvbm9kZXMueG1sLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvWEluY2x1ZGUvbm9kZXMueG1sLmVycgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvWEluY2x1ZGUvbm9kZXMueG1sLnJkciBiL2xpYnhtbDIvcmVzdWx0L1hJbmNsdWRlL25vZGVzLnhtbC5yZHIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGU1Mzg3OAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L1hJbmNsdWRlL25vZGVzLnhtbC5yZHIKQEAgLTAsMCArMSwxOCBAQAorMCAxIHggMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSA4ICNjb21tZW50IDAgMSAgU2ltcGxlIHRlc3Qgb2YgaW5jbHVkaW5nIGEgc2V0IG9mIG5vZGVzIGZyb20gYW4gWE1MIGRvY3VtZW50IAorMSAxNCAjdGV4dCAwIDEgCisgICAKKzEgMSBwIDAgMAorMiAzICN0ZXh0IDAgMSBzb21ldGhpbmcKKzEgMTUgcCAwIDAKKzEgMSBwIDAgMAorMiAzICN0ZXh0IDAgMSByZWFsbHkKKzEgMTUgcCAwIDAKKzEgMSBwIDAgMAorMiAzICN0ZXh0IDAgMSBzaW1wbGUKKzEgMTUgcCAwIDAKKzEgMTQgI3RleHQgMCAxIAorCiswIDE1IHggMCAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9YSW5jbHVkZS9ub2RlczIueG1sIGIvbGlieG1sMi9yZXN1bHQvWEluY2x1ZGUvbm9kZXMyLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYWMyZDgyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvWEluY2x1ZGUvbm9kZXMyLnhtbApAQCAtMCwwICsxLDUgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPHggeG1sbnM6eGluY2x1ZGU9Imh0dHA6Ly93d3cudzMub3JnLzIwMDMvWEluY2x1ZGUiPgorICAgPCEtLSBTaW1wbGUgdGVzdCBvZiBpbmNsdWRpbmcgYSBzZXQgb2Ygbm9kZXMgZnJvbSBhbiBYTUwgZG9jdW1lbnQgLS0+CisgICA8cCB4bWw6YmFzZT0iLi4vZW50cy9zb21ldGhpbmcueG1sIj5zb21ldGhpbmc8L3A+PHAgeG1sOmJhc2U9Ii4uL2VudHMvc29tZXRoaW5nLnhtbCI+cmVhbGx5PC9wPjxwIHhtbDpiYXNlPSIuLi9lbnRzL3NvbWV0aGluZy54bWwiPnNpbXBsZTwvcD4KKzwveD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L1hJbmNsdWRlL25vZGVzMi54bWwuZXJyIGIvbGlieG1sMi9yZXN1bHQvWEluY2x1ZGUvbm9kZXMyLnhtbC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L1hJbmNsdWRlL25vZGVzMi54bWwuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9YSW5jbHVkZS9ub2RlczIueG1sLnJkciBiL2xpYnhtbDIvcmVzdWx0L1hJbmNsdWRlL25vZGVzMi54bWwucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBlNTM4NzgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9YSW5jbHVkZS9ub2RlczIueG1sLnJkcgpAQCAtMCwwICsxLDE4IEBACiswIDEgeCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAgCisxIDggI2NvbW1lbnQgMCAxICBTaW1wbGUgdGVzdCBvZiBpbmNsdWRpbmcgYSBzZXQgb2Ygbm9kZXMgZnJvbSBhbiBYTUwgZG9jdW1lbnQgCisxIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSAxIHAgMCAwCisyIDMgI3RleHQgMCAxIHNvbWV0aGluZworMSAxNSBwIDAgMAorMSAxIHAgMCAwCisyIDMgI3RleHQgMCAxIHJlYWxseQorMSAxNSBwIDAgMAorMSAxIHAgMCAwCisyIDMgI3RleHQgMCAxIHNpbXBsZQorMSAxNSBwIDAgMAorMSAxNCAjdGV4dCAwIDEgCisKKzAgMTUgeCAwIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L1hJbmNsdWRlL25vZGVzMy54bWwgYi9saWJ4bWwyL3Jlc3VsdC9YSW5jbHVkZS9ub2RlczMueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlhYjIwNDQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9YSW5jbHVkZS9ub2RlczMueG1sCkBAIC0wLDAgKzEsNSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8eCB4bWxuczp4aW5jbHVkZT0iaHR0cDovL3d3dy53My5vcmcvMjAwMy9YSW5jbHVkZSI+CisgICA8IS0tIFNpbXBsZSB0ZXN0IG9mIGluY2x1ZGluZyBhIHNldCBvZiBub2RlcyBmcm9tIGFuIFhNTCBkb2N1bWVudCAtLT4KKyAgIDx4aW5jbHVkZTppbmNsdWRlIGhyZWY9Ii4uL2VudHMvc29tZXRoaW5nLnhtbCN4cG9pbnRlcigvL3ApIi8+Cis8L3g+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9YSW5jbHVkZS9ub2RlczMueG1sLmVyciBiL2xpYnhtbDIvcmVzdWx0L1hJbmNsdWRlL25vZGVzMy54bWwuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZiMTE1MjUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9YSW5jbHVkZS9ub2RlczMueG1sLmVycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvWEluY2x1ZGUvZG9jcy9ub2RlczMueG1sOjM6IGVsZW1lbnQgaW5jbHVkZTogWEluY2x1ZGUgZXJyb3IgOiBJbnZhbGlkIGZyYWdtZW50IGlkZW50aWZpZXIgaW4gVVJJIHRlc3QvWEluY2x1ZGUvZW50cy9zb21ldGhpbmcueG1sI3hwb2ludGVyKC8vcCkgdXNlIHRoZSB4cG9pbnRlciBhdHRyaWJ1dGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L1hJbmNsdWRlL25vZGVzMy54bWwucmRyIGIvbGlieG1sMi9yZXN1bHQvWEluY2x1ZGUvbm9kZXMzLnhtbC5yZHIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjJhZTg3YgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L1hJbmNsdWRlL25vZGVzMy54bWwucmRyCkBAIC0wLDAgKzEsMTAgQEAKKzAgMSB4IDAgMAorMSAxNCAjdGV4dCAwIDEgCisgICAKKzEgOCAjY29tbWVudCAwIDEgIFNpbXBsZSB0ZXN0IG9mIGluY2x1ZGluZyBhIHNldCBvZiBub2RlcyBmcm9tIGFuIFhNTCBkb2N1bWVudCAKKzEgMTQgI3RleHQgMCAxIAorICAgCisxIDEgeGluY2x1ZGU6aW5jbHVkZSAxIDAKKzEgMTQgI3RleHQgMCAxIAorCiswIDE1IHggMCAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9YSW5jbHVkZS9yZWN1cnNpdmUueG1sIGIvbGlieG1sMi9yZXN1bHQvWEluY2x1ZGUvcmVjdXJzaXZlLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YWYxNzM4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvWEluY2x1ZGUvcmVjdXJzaXZlLnhtbApAQCAtMCwwICsxLDMgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPHRoaXM+PHN1Yi1pbmMgeG1sOmJhc2U9Ii4uL2VudHMvc3ViLWluYy5lbnQiPmlzIGEgdGVzdAorPC9zdWItaW5jPjwvdGhpcz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L1hJbmNsdWRlL3JlY3Vyc2l2ZS54bWwuZXJyIGIvbGlieG1sMi9yZXN1bHQvWEluY2x1ZGUvcmVjdXJzaXZlLnhtbC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L1hJbmNsdWRlL3JlY3Vyc2l2ZS54bWwuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9YSW5jbHVkZS9yZWN1cnNpdmUueG1sLnJkciBiL2xpYnhtbDIvcmVzdWx0L1hJbmNsdWRlL3JlY3Vyc2l2ZS54bWwucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNhZmNlMTYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9YSW5jbHVkZS9yZWN1cnNpdmUueG1sLnJkcgpAQCAtMCwwICsxLDYgQEAKKzAgMSB0aGlzIDAgMAorMSAxIHN1Yi1pbmMgMCAwCisyIDMgI3RleHQgMCAxIGlzIGEgdGVzdAorCisxIDE1IHN1Yi1pbmMgMCAwCiswIDE1IHRoaXMgMCAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9YSW5jbHVkZS90c3RlbmNvZGluZy54bWwgYi9saWJ4bWwyL3Jlc3VsdC9YSW5jbHVkZS90c3RlbmNvZGluZy54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTFjNTE3OQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L1hJbmNsdWRlL3RzdGVuY29kaW5nLnhtbApAQCAtMCwwICsxLDYgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IklTTy04ODU5LTEiPz4KKzx4IHhtbG5zOnhpbmNsdWRlPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hJbmNsdWRlIj4KKyAgIDwhLS0gU2ltcGxlIHRlc3Qgb2YgaW5jbHVkaW5nIGFub3RoZXIgdGV4dCBkb2N1bWVudCAtLT4KKyAgIHRlc3Qgd2l0aCBhY2NlbnRzIGluIElTTy04ODU5LTE6IMAgwSDpIOgKKworPC94PgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvWEluY2x1ZGUvdHN0ZW5jb2RpbmcueG1sLmVyciBiL2xpYnhtbDIvcmVzdWx0L1hJbmNsdWRlL3RzdGVuY29kaW5nLnhtbC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L1hJbmNsdWRlL3RzdGVuY29kaW5nLnhtbC5lcnIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L1hJbmNsdWRlL3RzdGVuY29kaW5nLnhtbC5yZHIgYi9saWJ4bWwyL3Jlc3VsdC9YSW5jbHVkZS90c3RlbmNvZGluZy54bWwucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEwY2M2OWIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9YSW5jbHVkZS90c3RlbmNvZGluZy54bWwucmRyCkBAIC0wLDAgKzEsMTEgQEAKKzAgMSB4IDAgMAorMSAxNCAjdGV4dCAwIDEgCisgICAKKzEgOCAjY29tbWVudCAwIDEgIFNpbXBsZSB0ZXN0IG9mIGluY2x1ZGluZyBhbm90aGVyIHRleHQgZG9jdW1lbnQgCisxIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSAzICN0ZXh0IDAgMSB0ZXN0IHdpdGggYWNjZW50cyBpbiBJU08tODg1OS0xOiDDgCDDgSDDqSDDqAorCisxIDE0ICN0ZXh0IDAgMSAKKworMCAxNSB4IDAgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvWEluY2x1ZGUvdHh0aW5jbHVkZS54bWwgYi9saWJ4bWwyL3Jlc3VsdC9YSW5jbHVkZS90eHRpbmNsdWRlLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMTE0ZTRmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvWEluY2x1ZGUvdHh0aW5jbHVkZS54bWwKQEAgLTAsMCArMSw2IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzx4IHhtbG5zOnhpbmNsdWRlPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hJbmNsdWRlIj4KKyAgIDwhLS0gU2ltcGxlIHRlc3Qgb2YgaW5jbHVkaW5nIGFub3RoZXIgdGV4dCBkb2N1bWVudCAtLT4KKyAgIHRoaXMgaXMgc29tZSB0ZXh0IGluIEFTQ0lJCisKKzwveD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L1hJbmNsdWRlL3R4dGluY2x1ZGUueG1sLmVyciBiL2xpYnhtbDIvcmVzdWx0L1hJbmNsdWRlL3R4dGluY2x1ZGUueG1sLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvWEluY2x1ZGUvdHh0aW5jbHVkZS54bWwuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9YSW5jbHVkZS90eHRpbmNsdWRlLnhtbC5yZHIgYi9saWJ4bWwyL3Jlc3VsdC9YSW5jbHVkZS90eHRpbmNsdWRlLnhtbC5yZHIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTRjYzNiNAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L1hJbmNsdWRlL3R4dGluY2x1ZGUueG1sLnJkcgpAQCAtMCwwICsxLDExIEBACiswIDEgeCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAgCisxIDggI2NvbW1lbnQgMCAxICBTaW1wbGUgdGVzdCBvZiBpbmNsdWRpbmcgYW5vdGhlciB0ZXh0IGRvY3VtZW50IAorMSAxNCAjdGV4dCAwIDEgCisgICAKKzEgMyAjdGV4dCAwIDEgdGhpcyBpcyBzb21lIHRleHQgaW4gQVNDSUkKKworMSAxNCAjdGV4dCAwIDEgCisKKzAgMTUgeCAwIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L1hQYXRoL2V4cHIvYmFzZSBiL2xpYnhtbDIvcmVzdWx0L1hQYXRoL2V4cHIvYmFzZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNTUyODY2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvWFBhdGgvZXhwci9iYXNlCkBAIC0wLDAgKzEsMjAgQEAKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiAxCitPYmplY3QgaXMgYSBudW1iZXIgOiAxCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogMSsyCitPYmplY3QgaXMgYSBudW1iZXIgOiAzCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogMiozCitPYmplY3QgaXMgYSBudW1iZXIgOiA2CisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogMSsyKjMrNAorT2JqZWN0IGlzIGEgbnVtYmVyIDogMTEKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiAoMSsyKSooMys0KQorT2JqZWN0IGlzIGEgbnVtYmVyIDogMjEKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L1hQYXRoL2V4cHIvY29tcGFyZSBiL2xpYnhtbDIvcmVzdWx0L1hQYXRoL2V4cHIvY29tcGFyZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMWE4OGQwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvWFBhdGgvZXhwci9jb21wYXJlCkBAIC0wLDAgKzEsMTg0IEBACisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogMDwwCitPYmplY3QgaXMgYSBCb29sZWFuIDogZmFsc2UKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiAwPD0wCitPYmplY3QgaXMgYSBCb29sZWFuIDogdHJ1ZQorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IDA+MAorT2JqZWN0IGlzIGEgQm9vbGVhbiA6IGZhbHNlCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogMD49MAorT2JqZWN0IGlzIGEgQm9vbGVhbiA6IHRydWUKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiAwPDEKK09iamVjdCBpcyBhIEJvb2xlYW4gOiB0cnVlCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogMDw9MQorT2JqZWN0IGlzIGEgQm9vbGVhbiA6IHRydWUKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiAwPjEKK09iamVjdCBpcyBhIEJvb2xlYW4gOiBmYWxzZQorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IDA+PTEKK09iamVjdCBpcyBhIEJvb2xlYW4gOiBmYWxzZQorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IDE8MAorT2JqZWN0IGlzIGEgQm9vbGVhbiA6IGZhbHNlCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogMTw9MAorT2JqZWN0IGlzIGEgQm9vbGVhbiA6IGZhbHNlCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogMT4wCitPYmplY3QgaXMgYSBCb29sZWFuIDogdHJ1ZQorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IDE+PTAKK09iamVjdCBpcyBhIEJvb2xlYW4gOiB0cnVlCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogMTwxCitPYmplY3QgaXMgYSBCb29sZWFuIDogZmFsc2UKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiAxPD0xCitPYmplY3QgaXMgYSBCb29sZWFuIDogdHJ1ZQorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IDE+MQorT2JqZWN0IGlzIGEgQm9vbGVhbiA6IGZhbHNlCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogMT49MQorT2JqZWN0IGlzIGEgQm9vbGVhbiA6IHRydWUKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiAnMCc8MQorT2JqZWN0IGlzIGEgQm9vbGVhbiA6IHRydWUKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiAnMCc8PTEKK09iamVjdCBpcyBhIEJvb2xlYW4gOiB0cnVlCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogJzAnPjEKK09iamVjdCBpcyBhIEJvb2xlYW4gOiBmYWxzZQorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246ICcwJz49MQorT2JqZWN0IGlzIGEgQm9vbGVhbiA6IGZhbHNlCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogMDwnMS4yJworT2JqZWN0IGlzIGEgQm9vbGVhbiA6IHRydWUKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiAwPD0nMS4yJworT2JqZWN0IGlzIGEgQm9vbGVhbiA6IHRydWUKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiAwPicxLjInCitPYmplY3QgaXMgYSBCb29sZWFuIDogZmFsc2UKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiAwPj0nMS4yJworT2JqZWN0IGlzIGEgQm9vbGVhbiA6IGZhbHNlCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogMDwnLTAuMicKK09iamVjdCBpcyBhIEJvb2xlYW4gOiBmYWxzZQorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IDA8PSctMC4yJworT2JqZWN0IGlzIGEgQm9vbGVhbiA6IGZhbHNlCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogMD4nLTAuMicKK09iamVjdCBpcyBhIEJvb2xlYW4gOiB0cnVlCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogMD49Jy0wLjInCitPYmplY3QgaXMgYSBCb29sZWFuIDogdHJ1ZQorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IGZhbHNlKCk8MQorT2JqZWN0IGlzIGEgQm9vbGVhbiA6IHRydWUKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiBmYWxzZSgpPD0xCitPYmplY3QgaXMgYSBCb29sZWFuIDogdHJ1ZQorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IDA+dHJ1ZSgpCitPYmplY3QgaXMgYSBCb29sZWFuIDogZmFsc2UKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiAwPj10cnVlKCkKK09iamVjdCBpcyBhIEJvb2xlYW4gOiBmYWxzZQorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246ICdhJyA+ICdhJworT2JqZWN0IGlzIGEgQm9vbGVhbiA6IGZhbHNlCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogJ2EnID4gJ2InCitPYmplY3QgaXMgYSBCb29sZWFuIDogZmFsc2UKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiAnYicgPiAnYScKK09iamVjdCBpcyBhIEJvb2xlYW4gOiBmYWxzZQorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246ICdhJyA8ICdhJworT2JqZWN0IGlzIGEgQm9vbGVhbiA6IGZhbHNlCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogJ2EnIDwgJ2InCitPYmplY3QgaXMgYSBCb29sZWFuIDogZmFsc2UKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiAnYicgPCAnYScKK09iamVjdCBpcyBhIEJvb2xlYW4gOiBmYWxzZQorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246ICdhJyA+PSAnYScKK09iamVjdCBpcyBhIEJvb2xlYW4gOiBmYWxzZQorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246ICdhJyA+PSAnYicKK09iamVjdCBpcyBhIEJvb2xlYW4gOiBmYWxzZQorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246ICdiJyA+PSAnYScKK09iamVjdCBpcyBhIEJvb2xlYW4gOiBmYWxzZQorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246ICdhJyA8PSAnYScKK09iamVjdCBpcyBhIEJvb2xlYW4gOiBmYWxzZQorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246ICdhJyA8PSAnYicKK09iamVjdCBpcyBhIEJvb2xlYW4gOiBmYWxzZQorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246ICdiJyA8PSAnYScKK09iamVjdCBpcyBhIEJvb2xlYW4gOiBmYWxzZQorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246ICdhJyA+ICcwLjAnCitPYmplY3QgaXMgYSBCb29sZWFuIDogZmFsc2UKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiAnYScgPCAnMC4wJworT2JqZWN0IGlzIGEgQm9vbGVhbiA6IGZhbHNlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9YUGF0aC9leHByL2VxdWFsaXR5IGIvbGlieG1sMi9yZXN1bHQvWFBhdGgvZXhwci9lcXVhbGl0eQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NGI0YzIyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvWFBhdGgvZXhwci9lcXVhbGl0eQpAQCAtMCwwICsxLDEwNCBAQAorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IDE9MQorT2JqZWN0IGlzIGEgQm9vbGVhbiA6IHRydWUKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiAxIT0xCitPYmplY3QgaXMgYSBCb29sZWFuIDogZmFsc2UKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiAxPTAKK09iamVjdCBpcyBhIEJvb2xlYW4gOiBmYWxzZQorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IDEhPTAKK09iamVjdCBpcyBhIEJvb2xlYW4gOiB0cnVlCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogdHJ1ZSgpPXRydWUoKQorT2JqZWN0IGlzIGEgQm9vbGVhbiA6IHRydWUKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiB0cnVlKCkhPXRydWUoKQorT2JqZWN0IGlzIGEgQm9vbGVhbiA6IGZhbHNlCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogdHJ1ZSgpPWZhbHNlKCkKK09iamVjdCBpcyBhIEJvb2xlYW4gOiBmYWxzZQorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IGZhbHNlKCkhPXRydWUoKQorT2JqZWN0IGlzIGEgQm9vbGVhbiA6IHRydWUKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiAndGVzdCc9J3Rlc3QnCitPYmplY3QgaXMgYSBCb29sZWFuIDogdHJ1ZQorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246ICd0ZXN0JyE9J3Rlc3QnCitPYmplY3QgaXMgYSBCb29sZWFuIDogZmFsc2UKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiAndGVzdDInPSd0ZXN0JworT2JqZWN0IGlzIGEgQm9vbGVhbiA6IGZhbHNlCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogJ3Rlc3QyJyE9J3Rlc3QnCitPYmplY3QgaXMgYSBCb29sZWFuIDogdHJ1ZQorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IGZhbHNlKCk9MAorT2JqZWN0IGlzIGEgQm9vbGVhbiA6IHRydWUKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiBmYWxzZSgpIT0wCitPYmplY3QgaXMgYSBCb29sZWFuIDogZmFsc2UKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiBmYWxzZSgpPTEKK09iamVjdCBpcyBhIEJvb2xlYW4gOiBmYWxzZQorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IGZhbHNlKCkhPTEKK09iamVjdCBpcyBhIEJvb2xlYW4gOiB0cnVlCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogMD10cnVlKCkKK09iamVjdCBpcyBhIEJvb2xlYW4gOiBmYWxzZQorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IDAhPXRydWUoKQorT2JqZWN0IGlzIGEgQm9vbGVhbiA6IHRydWUKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiAxPXRydWUoKQorT2JqZWN0IGlzIGEgQm9vbGVhbiA6IHRydWUKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiAxIT10cnVlKCkKK09iamVjdCBpcyBhIEJvb2xlYW4gOiBmYWxzZQorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IHRydWUoKT0ndGVzdCcKK09iamVjdCBpcyBhIEJvb2xlYW4gOiB0cnVlCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogZmFsc2UoKT0ndGVzdCcKK09iamVjdCBpcyBhIEJvb2xlYW4gOiBmYWxzZQorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246ICd0ZXN0JyE9dHJ1ZSgpCitPYmplY3QgaXMgYSBCb29sZWFuIDogZmFsc2UKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiAndGVzdCchPWZhbHNlKCkKK09iamVjdCBpcyBhIEJvb2xlYW4gOiB0cnVlCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogJ2EnPTAuMAorT2JqZWN0IGlzIGEgQm9vbGVhbiA6IGZhbHNlCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogJ2EnIT0wLjAKK09iamVjdCBpcyBhIEJvb2xlYW4gOiB0cnVlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9YUGF0aC9leHByL2Zsb2F0cyBiL2xpYnhtbDIvcmVzdWx0L1hQYXRoL2V4cHIvZmxvYXRzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI2MjU1Y2UKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9YUGF0aC9leHByL2Zsb2F0cwpAQCAtMCwwICsxLDI0NCBAQAorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IDEKK09iamVjdCBpcyBhIG51bWJlciA6IDEKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiAxMjMKK09iamVjdCBpcyBhIG51bWJlciA6IDEyMworCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IDEuMjMKK09iamVjdCBpcyBhIG51bWJlciA6IDEuMjMKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiAwLjEyMworT2JqZWN0IGlzIGEgbnVtYmVyIDogMC4xMjMKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiA0LgorT2JqZWN0IGlzIGEgbnVtYmVyIDogNAorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IC40CitPYmplY3QgaXMgYSBudW1iZXIgOiAwLjQKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiAxLjIzZTMKK09iamVjdCBpcyBhIG51bWJlciA6IDEyMzAKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiAxLjIzZS0zCitPYmplY3QgaXMgYSBudW1iZXIgOiAwLjAwMTIzCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogMSBkaXYgMAorT2JqZWN0IGlzIGEgbnVtYmVyIDogSW5maW5pdHkKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiAtMSBkaXYgMAorT2JqZWN0IGlzIGEgbnVtYmVyIDogLUluZmluaXR5CisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogMCBkaXYgMAorT2JqZWN0IGlzIGEgbnVtYmVyIDogTmFOCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogMSBkaXYgLTAKK09iamVjdCBpcyBhIG51bWJlciA6IC1JbmZpbml0eQorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246ICgxIGRpdiAwKSA+IDAKK09iamVjdCBpcyBhIEJvb2xlYW4gOiB0cnVlCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogKDEgZGl2IDApIDwgMAorT2JqZWN0IGlzIGEgQm9vbGVhbiA6IGZhbHNlCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogKC0xIGRpdiAwKSA+IDAKK09iamVjdCBpcyBhIEJvb2xlYW4gOiBmYWxzZQorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246ICgtMSBkaXYgMCkgPCAwCitPYmplY3QgaXMgYSBCb29sZWFuIDogdHJ1ZQorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246ICgwIGRpdiAwKSA+IDAKK09iamVjdCBpcyBhIEJvb2xlYW4gOiBmYWxzZQorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246ICgwIGRpdiAwKSA8IDAKK09iamVjdCBpcyBhIEJvb2xlYW4gOiBmYWxzZQorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246ICgxIGRpdiAtMCkgPiAwCitPYmplY3QgaXMgYSBCb29sZWFuIDogZmFsc2UKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiAoMSBkaXYgLTApIDwgMAorT2JqZWN0IGlzIGEgQm9vbGVhbiA6IHRydWUKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiAwIGRpdiAwID0gMCBkaXYgMAorT2JqZWN0IGlzIGEgQm9vbGVhbiA6IGZhbHNlCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogMCBkaXYgMCAhPSAwIGRpdiAwCitPYmplY3QgaXMgYSBCb29sZWFuIDogdHJ1ZQorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IDAgZGl2IDAgPiAwIGRpdiAwCitPYmplY3QgaXMgYSBCb29sZWFuIDogZmFsc2UKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiAwIGRpdiAwIDwgMCBkaXYgMAorT2JqZWN0IGlzIGEgQm9vbGVhbiA6IGZhbHNlCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogMCBkaXYgMCA+PSAwIGRpdiAwCitPYmplY3QgaXMgYSBCb29sZWFuIDogZmFsc2UKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiAwIGRpdiAwIDw9IDAgZGl2IDAKK09iamVjdCBpcyBhIEJvb2xlYW4gOiBmYWxzZQorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IDEgZGl2IDAgPSAtMSBkaXYgMAorT2JqZWN0IGlzIGEgQm9vbGVhbiA6IGZhbHNlCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogMSBkaXYgMCAhPSAtMSBkaXYgMAorT2JqZWN0IGlzIGEgQm9vbGVhbiA6IHRydWUKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiAxIGRpdiAwID4gLTEgZGl2IDAKK09iamVjdCBpcyBhIEJvb2xlYW4gOiB0cnVlCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogMSBkaXYgMCA8IC0xIGRpdiAwCitPYmplY3QgaXMgYSBCb29sZWFuIDogZmFsc2UKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiAxIGRpdiAwID49IC0xIGRpdiAwCitPYmplY3QgaXMgYSBCb29sZWFuIDogdHJ1ZQorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IDEgZGl2IDAgPD0gLTEgZGl2IDAKK09iamVjdCBpcyBhIEJvb2xlYW4gOiBmYWxzZQorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IDEgZGl2IDAgPSAxIGRpdiAwCitPYmplY3QgaXMgYSBCb29sZWFuIDogdHJ1ZQorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IDEgZGl2IDAgIT0gMSBkaXYgMAorT2JqZWN0IGlzIGEgQm9vbGVhbiA6IGZhbHNlCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogMSBkaXYgMCA+IDEgZGl2IDAKK09iamVjdCBpcyBhIEJvb2xlYW4gOiBmYWxzZQorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IDEgZGl2IDAgPCAxIGRpdiAwCitPYmplY3QgaXMgYSBCb29sZWFuIDogZmFsc2UKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiAxIGRpdiAwID49IC0xIGRpdiAwCitPYmplY3QgaXMgYSBCb29sZWFuIDogdHJ1ZQorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IDEgZGl2IDAgPD0gLTEgZGl2IDAKK09iamVjdCBpcyBhIEJvb2xlYW4gOiBmYWxzZQorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IC0yIGRpdiAwID0gLTEgZGl2IDAKK09iamVjdCBpcyBhIEJvb2xlYW4gOiB0cnVlCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogMSBkaXYgZmxvb3IoMC4xKQorT2JqZWN0IGlzIGEgbnVtYmVyIDogSW5maW5pdHkKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiAxIGRpdiBmbG9vcigtMC4xKQorT2JqZWN0IGlzIGEgbnVtYmVyIDogLTEKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiAxIGRpdiBmbG9vcigtMCkKK09iamVjdCBpcyBhIG51bWJlciA6IC1JbmZpbml0eQorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IDEgZGl2IGZsb29yKDApCitPYmplY3QgaXMgYSBudW1iZXIgOiBJbmZpbml0eQorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IDEgZGl2IGNlaWxpbmcoMC4xKQorT2JqZWN0IGlzIGEgbnVtYmVyIDogMQorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IDEgZGl2IGNlaWxpbmcoLTAuMSkKK09iamVjdCBpcyBhIG51bWJlciA6IC1JbmZpbml0eQorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IDEgZGl2IGNlaWxpbmcoLTApCitPYmplY3QgaXMgYSBudW1iZXIgOiAtSW5maW5pdHkKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiAxIGRpdiBjZWlsaW5nKDApCitPYmplY3QgaXMgYSBudW1iZXIgOiBJbmZpbml0eQorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IDEgZGl2IHJvdW5kKDAuMSkKK09iamVjdCBpcyBhIG51bWJlciA6IEluZmluaXR5CisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogMSBkaXYgcm91bmQoLTAuMSkKK09iamVjdCBpcyBhIG51bWJlciA6IC1JbmZpbml0eQorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IDEgZGl2IHJvdW5kKC0wKQorT2JqZWN0IGlzIGEgbnVtYmVyIDogLUluZmluaXR5CisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogMSBkaXYgcm91bmQoMCkKK09iamVjdCBpcyBhIG51bWJlciA6IEluZmluaXR5CisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogMSBkaXYgbnVtYmVyKCdmJykKK09iamVjdCBpcyBhIG51bWJlciA6IE5hTgorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IG51bWJlcignZicpIGRpdiAxCitPYmplY3QgaXMgYSBudW1iZXIgOiBOYU4KKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiAxIGRpdiAoMSBkaXYgMCkKK09iamVjdCBpcyBhIG51bWJlciA6IDAKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiAoMSBkaXYgMCkgZGl2IDEKK09iamVjdCBpcyBhIG51bWJlciA6IEluZmluaXR5CisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogLSgxIGRpdiAwKSBkaXYgMQorT2JqZWN0IGlzIGEgbnVtYmVyIDogLUluZmluaXR5CisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogNSBtb2QgMgorT2JqZWN0IGlzIGEgbnVtYmVyIDogMQorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IDUgbW9kIC0yCitPYmplY3QgaXMgYSBudW1iZXIgOiAxCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogLTUgbW9kIDIKK09iamVjdCBpcyBhIG51bWJlciA6IC0xCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogLTUgbW9kIC0yCitPYmplY3QgaXMgYSBudW1iZXIgOiAtMQorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IDggbW9kIDMgPSAyCitPYmplY3QgaXMgYSBCb29sZWFuIDogdHJ1ZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvWFBhdGgvZXhwci9mdW5jdGlvbnMgYi9saWJ4bWwyL3Jlc3VsdC9YUGF0aC9leHByL2Z1bmN0aW9ucwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMGNjMjdlCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvWFBhdGgvZXhwci9mdW5jdGlvbnMKQEAgLTAsMCArMSwxMDAgQEAKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiB0cnVlKCkKK09iamVjdCBpcyBhIEJvb2xlYW4gOiB0cnVlCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogZmFsc2UoKQorT2JqZWN0IGlzIGEgQm9vbGVhbiA6IGZhbHNlCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogbnVtYmVyKCIxLjUiKQorT2JqZWN0IGlzIGEgbnVtYmVyIDogMS41CisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogbnVtYmVyKCdhYmMnKQorT2JqZWN0IGlzIGEgbnVtYmVyIDogTmFOCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogLW51bWJlcignYWJjJykKK09iamVjdCBpcyBhIG51bWJlciA6IE5hTgorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IGZsb29yKDAuMSkKK09iamVjdCBpcyBhIG51bWJlciA6IDAKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiBmbG9vcigtMC4xKQorT2JqZWN0IGlzIGEgbnVtYmVyIDogLTEKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiBmbG9vcigtMCkKK09iamVjdCBpcyBhIG51bWJlciA6IDAKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiBmbG9vcigwKQorT2JqZWN0IGlzIGEgbnVtYmVyIDogMAorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IGZsb29yKDUuMikKK09iamVjdCBpcyBhIG51bWJlciA6IDUKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiBmbG9vcigtNS4yKQorT2JqZWN0IGlzIGEgbnVtYmVyIDogLTYKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiBjZWlsaW5nKDAuMSkKK09iamVjdCBpcyBhIG51bWJlciA6IDEKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiBjZWlsaW5nKC0wLjEpCitPYmplY3QgaXMgYSBudW1iZXIgOiAwCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogY2VpbGluZygtMCkKK09iamVjdCBpcyBhIG51bWJlciA6IDAKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiBjZWlsaW5nKDApCitPYmplY3QgaXMgYSBudW1iZXIgOiAwCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogY2VpbGluZyg1LjIpCitPYmplY3QgaXMgYSBudW1iZXIgOiA2CisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogY2VpbGluZygtNS4yKQorT2JqZWN0IGlzIGEgbnVtYmVyIDogLTUKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiByb3VuZCgwLjEpCitPYmplY3QgaXMgYSBudW1iZXIgOiAwCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogcm91bmQoNS4yKQorT2JqZWN0IGlzIGEgbnVtYmVyIDogNQorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IHJvdW5kKDUuNSkKK09iamVjdCBpcyBhIG51bWJlciA6IDYKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiByb3VuZCg1LjYpCitPYmplY3QgaXMgYSBudW1iZXIgOiA2CisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogcm91bmQoLTAuMSkKK09iamVjdCBpcyBhIG51bWJlciA6IDAKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiByb3VuZCgtNS4yKQorT2JqZWN0IGlzIGEgbnVtYmVyIDogLTUKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiByb3VuZCgtNS41KQorT2JqZWN0IGlzIGEgbnVtYmVyIDogLTUKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiByb3VuZCgtNS42KQorT2JqZWN0IGlzIGEgbnVtYmVyIDogLTYKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L1hQYXRoL2V4cHIvc3RyaW5ncyBiL2xpYnhtbDIvcmVzdWx0L1hQYXRoL2V4cHIvc3RyaW5ncwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYWQ3MDQ4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvWFBhdGgvZXhwci9zdHJpbmdzCkBAIC0wLDAgKzEsMTM2IEBACisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogc3RyaW5nKDUpCitPYmplY3QgaXMgYSBzdHJpbmcgOiA1CisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogc3RyaW5nKDAuNSkKK09iamVjdCBpcyBhIHN0cmluZyA6IDAuNQorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IHN0cmluZygtMC41KQorT2JqZWN0IGlzIGEgc3RyaW5nIDogLTAuNQorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IHN0cmluZyh0cnVlKCkpCitPYmplY3QgaXMgYSBzdHJpbmcgOiB0cnVlCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogc3RyaW5nKGZhbHNlKCkpCitPYmplY3QgaXMgYSBzdHJpbmcgOiBmYWxzZQorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IGNvbmNhdCgidGl0aSIsInRvdG8iKQorT2JqZWN0IGlzIGEgc3RyaW5nIDogdGl0aXRvdG8KKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiBjb25jYXQoInRpdGkiLCJ0b3RvIiwidGF0YSIpCitPYmplY3QgaXMgYSBzdHJpbmcgOiB0aXRpdG90b3RhdGEKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiBjb25jYXQoInRpdGkiLCd0b3RvJykKK09iamVjdCBpcyBhIHN0cmluZyA6IHRpdGl0b3RvCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogY29uY2F0KCJ0aXRpIiwndG90bycsInRhdGEiLCJsYXN0IikKK09iamVjdCBpcyBhIHN0cmluZyA6IHRpdGl0b3RvdGF0YWxhc3QKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiBzdGFydHMtd2l0aCgidGl0aXRvdG8iLCJ0aXRpIikKK09iamVjdCBpcyBhIEJvb2xlYW4gOiB0cnVlCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogc3RhcnRzLXdpdGgoInRpdGl0b3RvIiwidG8iKQorT2JqZWN0IGlzIGEgQm9vbGVhbiA6IGZhbHNlCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogY29udGFpbnMoInRpdGl0b3RvdGF0YSIsInRpdGkiKQorT2JqZWN0IGlzIGEgQm9vbGVhbiA6IHRydWUKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiBjb250YWlucygidGl0aXRvdG90YXRhIiwidG90byIpCitPYmplY3QgaXMgYSBCb29sZWFuIDogdHJ1ZQorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IGNvbnRhaW5zKCJ0aXRpdG90b3RhdGEiLCJ0YXRhIikKK09iamVjdCBpcyBhIEJvb2xlYW4gOiB0cnVlCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogY29udGFpbnMoInRpdGl0b3RvdGF0YSIsInRpdGEiKQorT2JqZWN0IGlzIGEgQm9vbGVhbiA6IGZhbHNlCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogc3Vic3RyaW5nKCIxMjM0NSIsMiwzKQorT2JqZWN0IGlzIGEgc3RyaW5nIDogMjM0CisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogc3Vic3RyaW5nKCIxMjM0NSIsMikKK09iamVjdCBpcyBhIHN0cmluZyA6IDIzNDUKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiBzdWJzdHJpbmcoIjEyMzQ1IiwtNCkKK09iamVjdCBpcyBhIHN0cmluZyA6IDEyMzQ1CisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogc3Vic3RyaW5nKCIxMjM0NSIsMy40KQorT2JqZWN0IGlzIGEgc3RyaW5nIDogMzQ1CisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogc3Vic3RyaW5nKCIxMjM0NSIsMy42KQorT2JqZWN0IGlzIGEgc3RyaW5nIDogNDUKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiBzdWJzdHJpbmcoIjEyMzQ1IiwxLjUsMi42KQorT2JqZWN0IGlzIGEgc3RyaW5nIDogMjM0CisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogc3Vic3RyaW5nKCIxMjM0NSIsMi4yLDIuMikKK09iamVjdCBpcyBhIHN0cmluZyA6IDIzCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogc3Vic3RyaW5nKCIxMjM0NSIsMCwzKQorT2JqZWN0IGlzIGEgc3RyaW5nIDogMTIKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiBzdWJzdHJpbmcoIjEyMzQ1IiwtOCwxMCkKK09iamVjdCBpcyBhIHN0cmluZyA6IDEKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiBzdWJzdHJpbmcoIjEyMzQ1Iiw0LC0xMCkKK09iamVjdCBpcyBhIHN0cmluZyA6IAorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IHN1YnN0cmluZygiMTIzNDUiLDAgZGl2IDAsIDMpCitPYmplY3QgaXMgYSBzdHJpbmcgOiAKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiBzdWJzdHJpbmcoIjEyMzQ1IiwxLCAwIGRpdiAwKQorT2JqZWN0IGlzIGEgc3RyaW5nIDogCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogc3Vic3RyaW5nKCIxMjM0NSIsMSBkaXYgMCwgMykKK09iamVjdCBpcyBhIHN0cmluZyA6IAorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IHN1YnN0cmluZygiMTIzNDUiLDMsLTEgZGl2IDApCitPYmplY3QgaXMgYSBzdHJpbmcgOiAKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiBzdWJzdHJpbmcoIjEyMzQ1IiwtNDIsIDEgZGl2IDApCitPYmplY3QgaXMgYSBzdHJpbmcgOiAxMjM0NQorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IHN1YnN0cmluZygiMTIzNDUiLC0xIGRpdiAwLCAxIGRpdiAwKQorT2JqZWN0IGlzIGEgc3RyaW5nIDogCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogc3Vic3RyaW5nKCIxMjM0NSIsLTEgZGl2IDAsNSkKK09iamVjdCBpcyBhIHN0cmluZyA6IAorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IHN0cmluZy1sZW5ndGgoIiIpCitPYmplY3QgaXMgYSBudW1iZXIgOiAwCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogc3RyaW5nLWxlbmd0aCgidGl0aSIpCitPYmplY3QgaXMgYSBudW1iZXIgOiA0CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9YUGF0aC90ZXN0cy9jaGFwdGVyc2Jhc2UgYi9saWJ4bWwyL3Jlc3VsdC9YUGF0aC90ZXN0cy9jaGFwdGVyc2Jhc2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDNjNjU2NwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L1hQYXRoL3Rlc3RzL2NoYXB0ZXJzYmFzZQpAQCAtMCwwICsxLDExNSBAQAorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IC9jaGlsZDo6RVhBTVBMRQorT2JqZWN0IGlzIGEgTm9kZSBTZXQgOgorU2V0IGNvbnRhaW5zIDEgbm9kZXM6CisxICBFTEVNRU5UIEVYQU1QTEUKKyAgICBBVFRSSUJVVEUgcHJvcDEKKyAgICAgIFRFWFQKKyAgICAgICAgY29udGVudD1nbm9tZSBpcyBncmVhdAorICAgIEFUVFJJQlVURSBwcm9wMgorICAgICAgVEVYVAorICAgICAgICBjb250ZW50PSYgbGludXggdG9vCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogL2NoaWxkOjoqCitPYmplY3QgaXMgYSBOb2RlIFNldCA6CitTZXQgY29udGFpbnMgMSBub2RlczoKKzEgIEVMRU1FTlQgRVhBTVBMRQorICAgIEFUVFJJQlVURSBwcm9wMQorICAgICAgVEVYVAorICAgICAgICBjb250ZW50PWdub21lIGlzIGdyZWF0CisgICAgQVRUUklCVVRFIHByb3AyCisgICAgICBURVhUCisgICAgICAgIGNvbnRlbnQ9JiBsaW51eCB0b28KKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiAvY2hpbGQ6OkVYQU1QTEUvY2hpbGQ6OmhlYWQKK09iamVjdCBpcyBhIE5vZGUgU2V0IDoKK1NldCBjb250YWlucyAxIG5vZGVzOgorMSAgRUxFTUVOVCBoZWFkCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogL2NoaWxkOjpFWEFNUExFL2NoaWxkOjoqCitPYmplY3QgaXMgYSBOb2RlIFNldCA6CitTZXQgY29udGFpbnMgNiBub2RlczoKKzEgIEVMRU1FTlQgaGVhZAorMiAgRUxFTUVOVCBjaGFwdGVyCisgICAgQVRUUklCVVRFIGlkCisgICAgICBURVhUCisgICAgICAgIGNvbnRlbnQ9Y2hhcHRlcjEKKzMgIEVMRU1FTlQgY2hhcHRlcgorICAgIEFUVFJJQlVURSBpZAorICAgICAgVEVYVAorICAgICAgICBjb250ZW50PWNoYXB0ZXIyCis0ICBFTEVNRU5UIGNoYXB0ZXIKKyAgICBBVFRSSUJVVEUgaWQKKyAgICAgIFRFWFQKKyAgICAgICAgY29udGVudD1jaGFwdGVyMworNSAgRUxFTUVOVCBjaGFwdGVyCisgICAgQVRUUklCVVRFIGlkCisgICAgICBURVhUCisgICAgICAgIGNvbnRlbnQ9Y2hhcHRlcjQKKzYgIEVMRU1FTlQgY2hhcHRlcgorICAgIEFUVFJJQlVURSBpZAorICAgICAgVEVYVAorICAgICAgICBjb250ZW50PWNoYXB0ZXI1CisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogL2NoaWxkOjpFWEFNUExFL2NoaWxkOjpoZWFkL2NoaWxkOjp0aXRsZQorT2JqZWN0IGlzIGEgTm9kZSBTZXQgOgorU2V0IGNvbnRhaW5zIDEgbm9kZXM6CisxICBFTEVNRU5UIHRpdGxlCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogL2NoaWxkOjpFWEFNUExFL2NoaWxkOjpoZWFkL2NoaWxkOjp0aXRsZS9jaGlsZDo6dGV4dCgpCitPYmplY3QgaXMgYSBOb2RlIFNldCA6CitTZXQgY29udGFpbnMgMSBub2RlczoKKzEgIFRFWFQKKyAgICBjb250ZW50PVdlbGNvbWUgdG8gR25vbWUKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiAvY2hpbGQ6OkVYQU1QTEUvY2hpbGQ6OmhlYWQvbm9kZSgpCitPYmplY3QgaXMgYSBOb2RlIFNldCA6CitTZXQgY29udGFpbnMgMyBub2RlczoKKzEgIFRFWFQKKyAgICBjb250ZW50PSAgICAKKzIgIEVMRU1FTlQgdGl0bGUKKzMgIFRFWFQKKyAgICBjb250ZW50PSAgIAorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IC9kZXNjZW5kYW50Ojp0aXRsZQorT2JqZWN0IGlzIGEgTm9kZSBTZXQgOgorU2V0IGNvbnRhaW5zIDYgbm9kZXM6CisxICBFTEVNRU5UIHRpdGxlCisyICBFTEVNRU5UIHRpdGxlCiszICBFTEVNRU5UIHRpdGxlCis0ICBFTEVNRU5UIHRpdGxlCis1ICBFTEVNRU5UIHRpdGxlCis2ICBFTEVNRU5UIHRpdGxlCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogL2Rlc2NlbmRhbnQ6OnAvYW5jZXN0b3I6OmNoYXB0ZXIKK09iamVjdCBpcyBhIE5vZGUgU2V0IDoKK1NldCBjb250YWlucyA1IG5vZGVzOgorMSAgRUxFTUVOVCBjaGFwdGVyCisgICAgQVRUUklCVVRFIGlkCisgICAgICBURVhUCisgICAgICAgIGNvbnRlbnQ9Y2hhcHRlcjEKKzIgIEVMRU1FTlQgY2hhcHRlcgorICAgIEFUVFJJQlVURSBpZAorICAgICAgVEVYVAorICAgICAgICBjb250ZW50PWNoYXB0ZXIyCiszICBFTEVNRU5UIGNoYXB0ZXIKKyAgICBBVFRSSUJVVEUgaWQKKyAgICAgIFRFWFQKKyAgICAgICAgY29udGVudD1jaGFwdGVyMworNCAgRUxFTUVOVCBjaGFwdGVyCisgICAgQVRUUklCVVRFIGlkCisgICAgICBURVhUCisgICAgICAgIGNvbnRlbnQ9Y2hhcHRlcjQKKzUgIEVMRU1FTlQgY2hhcHRlcgorICAgIEFUVFJJQlVURSBpZAorICAgICAgVEVYVAorICAgICAgICBjb250ZW50PWNoYXB0ZXI1CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9YUGF0aC90ZXN0cy9jaGFwdGVyc3ByZWZvbCBiL2xpYnhtbDIvcmVzdWx0L1hQYXRoL3Rlc3RzL2NoYXB0ZXJzcHJlZm9sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmExMmM5MzcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9YUGF0aC90ZXN0cy9jaGFwdGVyc3ByZWZvbApAQCAtMCwwICsxLDEwMCBAQAorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IC9mb2xsb3dpbmc6OioKK09iamVjdCBpcyBhIE5vZGUgU2V0IDoKK1NldCBjb250YWlucyAwIG5vZGVzOgorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IC9wcmVjZWRpbmc6OioKK09iamVjdCBpcyBhIE5vZGUgU2V0IDoKK1NldCBjb250YWlucyAwIG5vZGVzOgorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IC9jaGlsZDo6RVhBTVBMRS9wcmVjZWRpbmc6OioKK09iamVjdCBpcyBhIE5vZGUgU2V0IDoKK1NldCBjb250YWlucyAwIG5vZGVzOgorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IC9jaGlsZDo6RVhBTVBMRS9mb2xsb3dpbmc6OioKK09iamVjdCBpcyBhIE5vZGUgU2V0IDoKK1NldCBjb250YWlucyAwIG5vZGVzOgorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IC9jaGlsZDo6RVhBTVBMRS9jaGlsZDo6Y2hhcHRlclszXS9wcmVjZWRpbmc6OioKK09iamVjdCBpcyBhIE5vZGUgU2V0IDoKK1NldCBjb250YWlucyAxMCBub2RlczoKKzEgIEVMRU1FTlQgaGVhZAorMiAgRUxFTUVOVCB0aXRsZQorMyAgRUxFTUVOVCBjaGFwdGVyCisgICAgQVRUUklCVVRFIGlkCisgICAgICBURVhUCisgICAgICAgIGNvbnRlbnQ9Y2hhcHRlcjEKKzQgIEVMRU1FTlQgdGl0bGUKKzUgIEVMRU1FTlQgcAorNiAgRUxFTUVOVCBpbWFnZQorICAgIEFUVFJJQlVURSBocmVmCisgICAgICBURVhUCisgICAgICAgIGNvbnRlbnQ9bGludXMuZ2lmCis3ICBFTEVNRU5UIHAKKzggIEVMRU1FTlQgY2hhcHRlcgorICAgIEFUVFJJQlVURSBpZAorICAgICAgVEVYVAorICAgICAgICBjb250ZW50PWNoYXB0ZXIyCis5ICBFTEVNRU5UIHRpdGxlCisxMCAgRUxFTUVOVCBwCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogL2NoaWxkOjpFWEFNUExFL2NoaWxkOjpjaGFwdGVyWzNdL2ZvbGxvd2luZzo6KgorT2JqZWN0IGlzIGEgTm9kZSBTZXQgOgorU2V0IGNvbnRhaW5zIDYgbm9kZXM6CisxICBFTEVNRU5UIGNoYXB0ZXIKKyAgICBBVFRSSUJVVEUgaWQKKyAgICAgIFRFWFQKKyAgICAgICAgY29udGVudD1jaGFwdGVyNAorMiAgRUxFTUVOVCB0aXRsZQorMyAgRUxFTUVOVCBwCis0ICBFTEVNRU5UIGNoYXB0ZXIKKyAgICBBVFRSSUJVVEUgaWQKKyAgICAgIFRFWFQKKyAgICAgICAgY29udGVudD1jaGFwdGVyNQorNSAgRUxFTUVOVCB0aXRsZQorNiAgRUxFTUVOVCBwCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogL2NoaWxkOjpFWEFNUExFL2NoaWxkOjpjaGFwdGVyWzFdL2ltYWdlL3ByZWNlZGluZzo6KgorT2JqZWN0IGlzIGEgTm9kZSBTZXQgOgorU2V0IGNvbnRhaW5zIDQgbm9kZXM6CisxICBFTEVNRU5UIGhlYWQKKzIgIEVMRU1FTlQgdGl0bGUKKzMgIEVMRU1FTlQgdGl0bGUKKzQgIEVMRU1FTlQgcAorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IC9jaGlsZDo6RVhBTVBMRS9jaGlsZDo6Y2hhcHRlclsxXS9pbWFnZS9mb2xsb3dpbmc6OioKK09iamVjdCBpcyBhIE5vZGUgU2V0IDoKK1NldCBjb250YWlucyAxMyBub2RlczoKKzEgIEVMRU1FTlQgcAorMiAgRUxFTUVOVCBjaGFwdGVyCisgICAgQVRUUklCVVRFIGlkCisgICAgICBURVhUCisgICAgICAgIGNvbnRlbnQ9Y2hhcHRlcjIKKzMgIEVMRU1FTlQgdGl0bGUKKzQgIEVMRU1FTlQgcAorNSAgRUxFTUVOVCBjaGFwdGVyCisgICAgQVRUUklCVVRFIGlkCisgICAgICBURVhUCisgICAgICAgIGNvbnRlbnQ9Y2hhcHRlcjMKKzYgIEVMRU1FTlQgdGl0bGUKKzcgIEVMRU1FTlQgcAorOCAgRUxFTUVOVCBjaGFwdGVyCisgICAgQVRUUklCVVRFIGlkCisgICAgICBURVhUCisgICAgICAgIGNvbnRlbnQ9Y2hhcHRlcjQKKzkgIEVMRU1FTlQgdGl0bGUKKzEwICBFTEVNRU5UIHAKKzExICBFTEVNRU5UIGNoYXB0ZXIKKyAgICBBVFRSSUJVVEUgaWQKKyAgICAgIFRFWFQKKyAgICAgICAgY29udGVudD1jaGFwdGVyNQorMTIgIEVMRU1FTlQgdGl0bGUKKzEzICBFTEVNRU5UIHAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L1hQYXRoL3Rlc3RzL2lkc2ltcGxlIGIvbGlieG1sMi9yZXN1bHQvWFBhdGgvdGVzdHMvaWRzaW1wbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODkxYjUyZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L1hQYXRoL3Rlc3RzL2lkc2ltcGxlCkBAIC0wLDAgKzEsMzMgQEAKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiAvLypbQGlkPSJyb290Il0KK09iamVjdCBpcyBhIE5vZGUgU2V0IDoKK1NldCBjb250YWlucyAxIG5vZGVzOgorMSAgRUxFTUVOVCBFWEFNUExFCisgICAgQVRUUklCVVRFIGlkCisgICAgICBURVhUCisgICAgICAgIGNvbnRlbnQ9cm9vdAorICAgIEFUVFJJQlVURSBwcm9wMQorICAgICAgVEVYVAorICAgICAgICBjb250ZW50PWdub21lIGlzIGdyZWF0CisgICAgQVRUUklCVVRFIHByb3AyCisgICAgICBURVhUCisgICAgICAgIGNvbnRlbnQ9JiBsaW51eCB0b28KKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiAvLypbQGlkPSJjaGFwdGVyMiJdCitPYmplY3QgaXMgYSBOb2RlIFNldCA6CitTZXQgY29udGFpbnMgMSBub2RlczoKKzEgIEVMRU1FTlQgY2hhcHRlcgorICAgIEFUVFJJQlVURSBpZAorICAgICAgVEVYVAorICAgICAgICBjb250ZW50PWNoYXB0ZXIyCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogLy8qW0BpZD0iY2hhcHRlcjUiXQorT2JqZWN0IGlzIGEgTm9kZSBTZXQgOgorU2V0IGNvbnRhaW5zIDEgbm9kZXM6CisxICBFTEVNRU5UIGNoYXB0ZXIKKyAgICBBVFRSSUJVVEUgaWQKKyAgICAgIFRFWFQKKyAgICAgICAgY29udGVudD1jaGFwdGVyNQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvWFBhdGgvdGVzdHMvbGFuZ3NpbXBsZSBiL2xpYnhtbDIvcmVzdWx0L1hQYXRoL3Rlc3RzL2xhbmdzaW1wbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDhkN2FmZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L1hQYXRoL3Rlc3RzL2xhbmdzaW1wbGUKQEAgLTAsMCArMSw2MCBAQAorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IC8vKltsYW5nKCdlbicpXQorT2JqZWN0IGlzIGEgTm9kZSBTZXQgOgorU2V0IGNvbnRhaW5zIDkgbm9kZXM6CisxICBFTEVNRU5UIGIKKyAgICBBVFRSSUJVVEUgbGFuZworICAgICAgVEVYVAorICAgICAgICBjb250ZW50PWVuCisyICBFTEVNRU5UIHgKKzMgIEVMRU1FTlQgeAorNCAgRUxFTUVOVCBwYXJhCisgICAgQVRUUklCVVRFIGxhbmcKKyAgICAgIFRFWFQKKyAgICAgICAgY29udGVudD1lbgorNSAgRUxFTUVOVCBkaXYKKyAgICBBVFRSSUJVVEUgbGFuZworICAgICAgVEVYVAorICAgICAgICBjb250ZW50PWVuCis2ICBFTEVNRU5UIHBhcmEKKzcgIEVMRU1FTlQgcGFyYQorICAgIEFUVFJJQlVURSBsYW5nCisgICAgICBURVhUCisgICAgICAgIGNvbnRlbnQ9RU4KKzggIEVMRU1FTlQgcGFyYQorICAgIEFUVFJJQlVURSBsYW5nCisgICAgICBURVhUCisgICAgICAgIGNvbnRlbnQ9ZW4tdXMKKzkgIEVMRU1FTlQgcGFyYQorICAgIEFUVFJJQlVURSBsYW5nCisgICAgICBURVhUCisgICAgICAgIGNvbnRlbnQ9RU4tVVMKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiAvLypbbGFuZygnZW4tdXMnKV0KK09iamVjdCBpcyBhIE5vZGUgU2V0IDoKK1NldCBjb250YWlucyAyIG5vZGVzOgorMSAgRUxFTUVOVCBwYXJhCisgICAgQVRUUklCVVRFIGxhbmcKKyAgICAgIFRFWFQKKyAgICAgICAgY29udGVudD1lbi11cworMiAgRUxFTUVOVCBwYXJhCisgICAgQVRUUklCVVRFIGxhbmcKKyAgICAgIFRFWFQKKyAgICAgICAgY29udGVudD1FTi1VUworCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IC8vKltsYW5nKCdlbi1nYicpXQorT2JqZWN0IGlzIGEgTm9kZSBTZXQgOgorU2V0IGNvbnRhaW5zIDAgbm9kZXM6CisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogLy8qW2xhbmcoJ2ZyJyldCitPYmplY3QgaXMgYSBOb2RlIFNldCA6CitTZXQgY29udGFpbnMgMCBub2RlczoKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiAvLypbbGFuZygnJyldCitPYmplY3QgaXMgYSBOb2RlIFNldCA6CitTZXQgY29udGFpbnMgMCBub2RlczoKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L1hQYXRoL3Rlc3RzL21peGVkcGF0IGIvbGlieG1sMi9yZXN1bHQvWFBhdGgvdGVzdHMvbWl4ZWRwYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2JlMGM0OQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L1hQYXRoL3Rlc3RzL21peGVkcGF0CkBAIC0wLDAgKzEsMTAxIEBACisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogcworT2JqZWN0IGlzIGEgTm9kZSBTZXQgOgorU2V0IGNvbnRhaW5zIDEgbm9kZXM6CisxICBFTEVNRU5UIHMKKyAgICBBVFRSSUJVVEUgcAorICAgICAgVEVYVAorICAgICAgICBjb250ZW50PXJvb3QKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiBzfHAxL3MKK09iamVjdCBpcyBhIE5vZGUgU2V0IDoKK1NldCBjb250YWlucyAyIG5vZGVzOgorMSAgRUxFTUVOVCBzCisgICAgQVRUUklCVVRFIHAKKyAgICAgIFRFWFQKKyAgICAgICAgY29udGVudD1yb290CisyICBFTEVNRU5UIHMKKyAgICBBVFRSSUJVVEUgcAorICAgICAgVEVYVAorICAgICAgICBjb250ZW50PXAxCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogc3wvcm9vdC9wMS9zCitPYmplY3QgaXMgYSBOb2RlIFNldCA6CitTZXQgY29udGFpbnMgMiBub2RlczoKKzEgIEVMRU1FTlQgcworICAgIEFUVFJJQlVURSBwCisgICAgICBURVhUCisgICAgICAgIGNvbnRlbnQ9cm9vdAorMiAgRUxFTUVOVCBzCisgICAgQVRUUklCVVRFIHAKKyAgICAgIFRFWFQKKyAgICAgICAgY29udGVudD1wMQorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IC9yb290L3AxL3N8cworT2JqZWN0IGlzIGEgTm9kZSBTZXQgOgorU2V0IGNvbnRhaW5zIDIgbm9kZXM6CisxICBFTEVNRU5UIHMKKyAgICBBVFRSSUJVVEUgcAorICAgICAgVEVYVAorICAgICAgICBjb250ZW50PXJvb3QKKzIgIEVMRU1FTlQgcworICAgIEFUVFJJQlVURSBwCisgICAgICBURVhUCisgICAgICAgIGNvbnRlbnQ9cDEKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiAvL3MKK09iamVjdCBpcyBhIE5vZGUgU2V0IDoKK1NldCBjb250YWlucyAzIG5vZGVzOgorMSAgRUxFTUVOVCBzCisgICAgQVRUUklCVVRFIHAKKyAgICAgIFRFWFQKKyAgICAgICAgY29udGVudD1yb290CisyICBFTEVNRU5UIHMKKyAgICBBVFRSSUJVVEUgcAorICAgICAgVEVYVAorICAgICAgICBjb250ZW50PXAxCiszICBFTEVNRU5UIHMKKyAgICBBVFRSSUJVVEUgcAorICAgICAgVEVYVAorICAgICAgICBjb250ZW50PXAyCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogLy9zfHAxCitPYmplY3QgaXMgYSBOb2RlIFNldCA6CitTZXQgY29udGFpbnMgNCBub2RlczoKKzEgIEVMRU1FTlQgcworICAgIEFUVFJJQlVURSBwCisgICAgICBURVhUCisgICAgICAgIGNvbnRlbnQ9cm9vdAorMiAgRUxFTUVOVCBwMQorMyAgRUxFTUVOVCBzCisgICAgQVRUUklCVVRFIHAKKyAgICAgIFRFWFQKKyAgICAgICAgY29udGVudD1wMQorNCAgRUxFTUVOVCBzCisgICAgQVRUUklCVVRFIHAKKyAgICAgIFRFWFQKKyAgICAgICAgY29udGVudD1wMgorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IHAxfC8vcworT2JqZWN0IGlzIGEgTm9kZSBTZXQgOgorU2V0IGNvbnRhaW5zIDQgbm9kZXM6CisxICBFTEVNRU5UIHMKKyAgICBBVFRSSUJVVEUgcAorICAgICAgVEVYVAorICAgICAgICBjb250ZW50PXJvb3QKKzIgIEVMRU1FTlQgcDEKKzMgIEVMRU1FTlQgcworICAgIEFUVFJJQlVURSBwCisgICAgICBURVhUCisgICAgICAgIGNvbnRlbnQ9cDEKKzQgIEVMRU1FTlQgcworICAgIEFUVFJJQlVURSBwCisgICAgICBURVhUCisgICAgICAgIGNvbnRlbnQ9cDIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L1hQYXRoL3Rlc3RzL25vZGVzcGF0IGIvbGlieG1sMi9yZXN1bHQvWFBhdGgvdGVzdHMvbm9kZXNwYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWVmZDg3ZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L1hQYXRoL3Rlc3RzL25vZGVzcGF0CkBAIC0wLDAgKzEsOTQgQEAKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiAvLgorT2JqZWN0IGlzIGEgTm9kZSBTZXQgOgorU2V0IGNvbnRhaW5zIDEgbm9kZXM6CisxICAgLworCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IC8vLgorT2JqZWN0IGlzIGEgTm9kZSBTZXQgOgorU2V0IGNvbnRhaW5zIDEyIG5vZGVzOgorMSAgIC8KKzIgIEVMRU1FTlQgcm9vdAorMyAgRUxFTUVOVCBmb28KKzQgIFRFWFQKKyAgICBjb250ZW50PXR4dAorNSAgQ09NTUVOVAorICAgIGNvbnRlbnQ9aGVsbG8KKzYgIENEQVRBX1NFQ1RJT04KKyAgICBjb250ZW50PWRhdGEKKzcgIFBJIHRhcmdldAorICAgIGNvbnRlbnQ9ZGF0YQorOCAgRUxFTUVOVCBiYXIKKzkgIFRFWFQKKyAgICBjb250ZW50PXR4dAorMTAgIENPTU1FTlQKKyAgICBjb250ZW50PWhlbGxvCisxMSAgQ0RBVEFfU0VDVElPTgorICAgIGNvbnRlbnQ9ZGF0YQorMTIgIFBJIHRhcmdldAorICAgIGNvbnRlbnQ9ZGF0YQorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IC9yb290Ly8uCitPYmplY3QgaXMgYSBOb2RlIFNldCA6CitTZXQgY29udGFpbnMgMTEgbm9kZXM6CisxICBFTEVNRU5UIHJvb3QKKzIgIEVMRU1FTlQgZm9vCiszICBURVhUCisgICAgY29udGVudD10eHQKKzQgIENPTU1FTlQKKyAgICBjb250ZW50PWhlbGxvCis1ICBDREFUQV9TRUNUSU9OCisgICAgY29udGVudD1kYXRhCis2ICBQSSB0YXJnZXQKKyAgICBjb250ZW50PWRhdGEKKzcgIEVMRU1FTlQgYmFyCis4ICBURVhUCisgICAgY29udGVudD10eHQKKzkgIENPTU1FTlQKKyAgICBjb250ZW50PWhlbGxvCisxMCAgQ0RBVEFfU0VDVElPTgorICAgIGNvbnRlbnQ9ZGF0YQorMTEgIFBJIHRhcmdldAorICAgIGNvbnRlbnQ9ZGF0YQorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IC8vLi8vLi8uLy4vLy4KK09iamVjdCBpcyBhIE5vZGUgU2V0IDoKK1NldCBjb250YWlucyAxMiBub2RlczoKKzEgICAvCisyICBFTEVNRU5UIHJvb3QKKzMgIEVMRU1FTlQgZm9vCis0ICBURVhUCisgICAgY29udGVudD10eHQKKzUgIENPTU1FTlQKKyAgICBjb250ZW50PWhlbGxvCis2ICBDREFUQV9TRUNUSU9OCisgICAgY29udGVudD1kYXRhCis3ICBQSSB0YXJnZXQKKyAgICBjb250ZW50PWRhdGEKKzggIEVMRU1FTlQgYmFyCis5ICBURVhUCisgICAgY29udGVudD10eHQKKzEwICBDT01NRU5UCisgICAgY29udGVudD1oZWxsbworMTEgIENEQVRBX1NFQ1RJT04KKyAgICBjb250ZW50PWRhdGEKKzEyICBQSSB0YXJnZXQKKyAgICBjb250ZW50PWRhdGEKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiAvcm9vdC8vLi8uLy9iYXIvLy4KK09iamVjdCBpcyBhIE5vZGUgU2V0IDoKK1NldCBjb250YWlucyA1IG5vZGVzOgorMSAgRUxFTUVOVCBiYXIKKzIgIFRFWFQKKyAgICBjb250ZW50PXR4dAorMyAgQ09NTUVOVAorICAgIGNvbnRlbnQ9aGVsbG8KKzQgIENEQVRBX1NFQ1RJT04KKyAgICBjb250ZW50PWRhdGEKKzUgIFBJIHRhcmdldAorICAgIGNvbnRlbnQ9ZGF0YQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvWFBhdGgvdGVzdHMvc2ltcGxlYWJiciBiL2xpYnhtbDIvcmVzdWx0L1hQYXRoL3Rlc3RzL3NpbXBsZWFiYnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODVkYTQxYQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L1hQYXRoL3Rlc3RzL3NpbXBsZWFiYnIKQEAgLTAsMCArMSw4MSBAQAorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IC9FWEFNUExFCitPYmplY3QgaXMgYSBOb2RlIFNldCA6CitTZXQgY29udGFpbnMgMSBub2RlczoKKzEgIEVMRU1FTlQgRVhBTVBMRQorICAgIEFUVFJJQlVURSBwcm9wMQorICAgICAgVEVYVAorICAgICAgICBjb250ZW50PWdub21lIGlzIGdyZWF0CisgICAgQVRUUklCVVRFIHByb3AyCisgICAgICBURVhUCisgICAgICAgIGNvbnRlbnQ9JiBsaW51eCB0b28KKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiAvRVhBTVBMRS9oZWFkCitPYmplY3QgaXMgYSBOb2RlIFNldCA6CitTZXQgY29udGFpbnMgMSBub2RlczoKKzEgIEVMRU1FTlQgaGVhZAorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IC9FWEFNUExFL2NoYXB0ZXJbMV0KK09iamVjdCBpcyBhIE5vZGUgU2V0IDoKK1NldCBjb250YWlucyAxIG5vZGVzOgorMSAgRUxFTUVOVCBjaGFwdGVyCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogLy9wCitPYmplY3QgaXMgYSBOb2RlIFNldCA6CitTZXQgY29udGFpbnMgMiBub2RlczoKKzEgIEVMRU1FTlQgcAorMiAgRUxFTUVOVCBwCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogLy9jaGFwdGVyL2ltYWdlCitPYmplY3QgaXMgYSBOb2RlIFNldCA6CitTZXQgY29udGFpbnMgMSBub2RlczoKKzEgIEVMRU1FTlQgaW1hZ2UKKyAgICBBVFRSSUJVVEUgaHJlZgorICAgICAgVEVYVAorICAgICAgICBjb250ZW50PWxpbnVzLmdpZgorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IC8vcC90ZXh0KCkKK09iamVjdCBpcyBhIE5vZGUgU2V0IDoKK1NldCBjb250YWlucyAyIG5vZGVzOgorMSAgVEVYVAorICAgIGNvbnRlbnQ9YmxhIGJsYSBibGEgLi4uCisyICBURVhUCisgICAgY29udGVudD0uLi4KKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiAvL3AvdGV4dCgpW3Bvc2l0aW9uKCk9MV0KK09iamVjdCBpcyBhIE5vZGUgU2V0IDoKK1NldCBjb250YWlucyAyIG5vZGVzOgorMSAgVEVYVAorICAgIGNvbnRlbnQ9YmxhIGJsYSBibGEgLi4uCisyICBURVhUCisgICAgY29udGVudD0uLi4KKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiAvL3AvdGV4dCgpW3Bvc2l0aW9uKCk9bGFzdCgpXQorT2JqZWN0IGlzIGEgTm9kZSBTZXQgOgorU2V0IGNvbnRhaW5zIDIgbm9kZXM6CisxICBURVhUCisgICAgY29udGVudD1ibGEgYmxhIGJsYSAuLi4KKzIgIFRFWFQKKyAgICBjb250ZW50PS4uLgorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246ICgvL3AvdGV4dCgpKVtwb3NpdGlvbigpPTFdCitPYmplY3QgaXMgYSBOb2RlIFNldCA6CitTZXQgY29udGFpbnMgMSBub2RlczoKKzEgIFRFWFQKKyAgICBjb250ZW50PWJsYSBibGEgYmxhIC4uLgorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246ICgvL3AvdGV4dCgpKVtwb3NpdGlvbigpPWxhc3QoKV0KK09iamVjdCBpcyBhIE5vZGUgU2V0IDoKK1NldCBjb250YWlucyAxIG5vZGVzOgorMSAgVEVYVAorICAgIGNvbnRlbnQ9Li4uCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9YUGF0aC90ZXN0cy9zaW1wbGViYXNlIGIvbGlieG1sMi9yZXN1bHQvWFBhdGgvdGVzdHMvc2ltcGxlYmFzZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zOGZhMTQ0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvWFBhdGgvdGVzdHMvc2ltcGxlYmFzZQpAQCAtMCwwICsxLDczIEBACisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogL2NoaWxkOjoqCitPYmplY3QgaXMgYSBOb2RlIFNldCA6CitTZXQgY29udGFpbnMgMSBub2RlczoKKzEgIEVMRU1FTlQgRVhBTVBMRQorICAgIEFUVFJJQlVURSBwcm9wMQorICAgICAgVEVYVAorICAgICAgICBjb250ZW50PWdub21lIGlzIGdyZWF0CisgICAgQVRUUklCVVRFIHByb3AyCisgICAgICBURVhUCisgICAgICAgIGNvbnRlbnQ9JiBsaW51eCB0b28KKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiAvY2hpbGQ6OkVYQU1QTEUKK09iamVjdCBpcyBhIE5vZGUgU2V0IDoKK1NldCBjb250YWlucyAxIG5vZGVzOgorMSAgRUxFTUVOVCBFWEFNUExFCisgICAgQVRUUklCVVRFIHByb3AxCisgICAgICBURVhUCisgICAgICAgIGNvbnRlbnQ9Z25vbWUgaXMgZ3JlYXQKKyAgICBBVFRSSUJVVEUgcHJvcDIKKyAgICAgIFRFWFQKKyAgICAgICAgY29udGVudD0mIGxpbnV4IHRvbworCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IC9jaGlsZDo6RVhBTVBMRS9jaGlsZDo6aGVhZAorT2JqZWN0IGlzIGEgTm9kZSBTZXQgOgorU2V0IGNvbnRhaW5zIDEgbm9kZXM6CisxICBFTEVNRU5UIGhlYWQKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiAvY2hpbGQ6OkVYQU1QTEUvY2hpbGQ6OioKK09iamVjdCBpcyBhIE5vZGUgU2V0IDoKK1NldCBjb250YWlucyAyIG5vZGVzOgorMSAgRUxFTUVOVCBoZWFkCisyICBFTEVNRU5UIGNoYXB0ZXIKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiAvY2hpbGQ6OkVYQU1QTEUvY2hpbGQ6OmhlYWQvY2hpbGQ6OnRpdGxlCitPYmplY3QgaXMgYSBOb2RlIFNldCA6CitTZXQgY29udGFpbnMgMSBub2RlczoKKzEgIEVMRU1FTlQgdGl0bGUKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiAvY2hpbGQ6OkVYQU1QTEUvY2hpbGQ6OmhlYWQvY2hpbGQ6OnRpdGxlL2NoaWxkOjp0ZXh0KCkKK09iamVjdCBpcyBhIE5vZGUgU2V0IDoKK1NldCBjb250YWlucyAxIG5vZGVzOgorMSAgVEVYVAorICAgIGNvbnRlbnQ9V2VsY29tZSB0byBHbm9tZQorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IC9jaGlsZDo6RVhBTVBMRS9jaGlsZDo6aGVhZC9ub2RlKCkKK09iamVjdCBpcyBhIE5vZGUgU2V0IDoKK1NldCBjb250YWlucyAzIG5vZGVzOgorMSAgVEVYVAorICAgIGNvbnRlbnQ9ICAgIAorMiAgRUxFTUVOVCB0aXRsZQorMyAgVEVYVAorICAgIGNvbnRlbnQ9ICAgCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogL2Rlc2NlbmRhbnQ6OnRpdGxlCitPYmplY3QgaXMgYSBOb2RlIFNldCA6CitTZXQgY29udGFpbnMgMiBub2RlczoKKzEgIEVMRU1FTlQgdGl0bGUKKzIgIEVMRU1FTlQgdGl0bGUKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiAvZGVzY2VuZGFudDo6cC9hbmNlc3Rvcjo6Y2hhcHRlcgorT2JqZWN0IGlzIGEgTm9kZSBTZXQgOgorU2V0IGNvbnRhaW5zIDEgbm9kZXM6CisxICBFTEVNRU5UIGNoYXB0ZXIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L1hQYXRoL3Rlc3RzL3VzcjFjaGVjayBiL2xpYnhtbDIvcmVzdWx0L1hQYXRoL3Rlc3RzL3VzcjFjaGVjawpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMzA4OTkxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvWFBhdGgvdGVzdHMvdXNyMWNoZWNrCkBAIC0wLDAgKzEsMTIgQEAKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiAvL0lURU1bMV0KK09iamVjdCBpcyBhIE5vZGUgU2V0IDoKK1NldCBjb250YWlucyAxIG5vZGVzOgorMSAgRUxFTUVOVCBJVEVNCisgICAgQVRUUklCVVRFIG1vbnRvCisgICAgICBURVhUCisgICAgICAgIGNvbnRlbnQ9NTAuMTIKKyAgICBBVFRSSUJVVEUgZGl2aXNhCisgICAgICBURVhUCisgICAgICAgIGNvbnRlbnQ9RE9MCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9YUGF0aC90ZXN0cy92aWRiYXNlIGIvbGlieG1sMi9yZXN1bHQvWFBhdGgvdGVzdHMvdmlkYmFzZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYzdiNjJmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvWFBhdGgvdGVzdHMvdmlkYmFzZQpAQCAtMCwwICsxLDQyIEBACisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogaWQoJ2NoYXB0ZXIxJykKK09iamVjdCBpcyBhIE5vZGUgU2V0IDoKK1NldCBjb250YWlucyAxIG5vZGVzOgorMSAgRUxFTUVOVCBjaGFwdGVyCisgICAgQVRUUklCVVRFIGlkCisgICAgICBURVhUCisgICAgICAgIGNvbnRlbnQ9Y2hhcHRlcjEKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiBpZCgnY2hhcHRlcjMnKQorT2JqZWN0IGlzIGEgTm9kZSBTZXQgOgorU2V0IGNvbnRhaW5zIDEgbm9kZXM6CisxICBFTEVNRU5UIGNoYXB0ZXIKKyAgICBBVFRSSUJVVEUgaWQKKyAgICAgIFRFWFQKKyAgICAgICAgY29udGVudD1jaGFwdGVyMworCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IGlkKCdjaGFwdGVyMScpL3AKK09iamVjdCBpcyBhIE5vZGUgU2V0IDoKK1NldCBjb250YWlucyA0IG5vZGVzOgorMSAgRUxFTUVOVCBwCisyICBFTEVNRU5UIHAKKzMgIEVMRU1FTlQgcAorNCAgRUxFTUVOVCBwCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogaWQoJ2NoYXB0ZXIxJykvL3AKK09iamVjdCBpcyBhIE5vZGUgU2V0IDoKK1NldCBjb250YWlucyA0IG5vZGVzOgorMSAgRUxFTUVOVCBwCisyICBFTEVNRU5UIHAKKzMgIEVMRU1FTlQgcAorNCAgRUxFTUVOVCBwCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogaWQoJ2NoYXB0ZXIxJykvcFsxXQorT2JqZWN0IGlzIGEgTm9kZSBTZXQgOgorU2V0IGNvbnRhaW5zIDEgbm9kZXM6CisxICBFTEVNRU5UIHAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L1hQYXRoL3hwdHIvY2hhcHRlcnNjaGlsZHNlcSBiL2xpYnhtbDIvcmVzdWx0L1hQYXRoL3hwdHIvY2hhcHRlcnNjaGlsZHNlcQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zOTZiY2FjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvWFBhdGgveHB0ci9jaGFwdGVyc2NoaWxkc2VxCkBAIC0wLDAgKzEsNTMgQEAKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiAvMS8yLzMKK09iamVjdCBpcyBhIE5vZGUgU2V0IDoKK1NldCBjb250YWlucyAxIG5vZGVzOgorMSAgRUxFTUVOVCBpbWFnZQorICAgIEFUVFJJQlVURSBocmVmCisgICAgICBURVhUCisgICAgICAgIGNvbnRlbnQ9bGludXMuZ2lmCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogZWxlbWVudCgvMS8yLzMpCitPYmplY3QgaXMgYSBOb2RlIFNldCA6CitTZXQgY29udGFpbnMgMSBub2RlczoKKzEgIEVMRU1FTlQgaW1hZ2UKKyAgICBBVFRSSUJVVEUgaHJlZgorICAgICAgVEVYVAorICAgICAgICBjb250ZW50PWxpbnVzLmdpZgorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IGVsZW1lbnQoZm9vKWVsZW1lbnQoLzEvMi8zKQorT2JqZWN0IGlzIGEgTm9kZSBTZXQgOgorU2V0IGNvbnRhaW5zIDEgbm9kZXM6CisxICBFTEVNRU5UIGltYWdlCisgICAgQVRUUklCVVRFIGhyZWYKKyAgICAgIFRFWFQKKyAgICAgICAgY29udGVudD1saW51cy5naWYKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiBlbGVtZW50KC8xLzIvMyllbGVtZW50KGZvbykKK09iamVjdCBpcyBhIE5vZGUgU2V0IDoKK1NldCBjb250YWlucyAxIG5vZGVzOgorMSAgRUxFTUVOVCBpbWFnZQorICAgIEFUVFJJQlVURSBocmVmCisgICAgICBURVhUCisgICAgICAgIGNvbnRlbnQ9bGludXMuZ2lmCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogY2hhcHRlcjEvMworT2JqZWN0IGlzIGEgTm9kZSBTZXQgOgorU2V0IGNvbnRhaW5zIDAgbm9kZXM6CisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogZWxlbWVudChjaGFwdGVyMS8zKQorT2JqZWN0IGlzIGVtcHR5IChOVUxMKQorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IGVsZW1lbnQoZm9vKWVsZW1lbnQoY2hhcHRlcjEvMykKK09iamVjdCBpcyBlbXB0eSAoTlVMTCkKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiBlbGVtZW50KGNoYXB0ZXIxLzMpZWxlbWVudChmb28pCitPYmplY3QgaXMgZW1wdHkgKE5VTEwpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9YUGF0aC94cHRyL2NoYXB0ZXJzcGFydHMgYi9saWJ4bWwyL3Jlc3VsdC9YUGF0aC94cHRyL2NoYXB0ZXJzcGFydHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzBiNTYxYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L1hQYXRoL3hwdHIvY2hhcHRlcnNwYXJ0cwpAQCAtMCwwICsxLDQ0IEBACisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogeHBvaW50ZXIoLy9jaGFwaXRyZVsyXSkKK09iamVjdCBpcyBlbXB0eSAoTlVMTCkKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiB4cG9pbnRlcigvL2NoYXB0ZXJbMl0pCitPYmplY3QgaXMgYSBOb2RlIFNldCA6CitTZXQgY29udGFpbnMgMSBub2RlczoKKzEgIEVMRU1FTlQgY2hhcHRlcgorICAgIEFUVFJJQlVURSBpZAorICAgICAgVEVYVAorICAgICAgICBjb250ZW50PWNoYXB0ZXIyCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogeHBvaW50ZXIoLy9jaGFwaXRyZVsyXSl4cG9pbnRlcigvL2NoYXB0ZXJbMl0pCitPYmplY3QgaXMgYSBOb2RlIFNldCA6CitTZXQgY29udGFpbnMgMSBub2RlczoKKzEgIEVMRU1FTlQgY2hhcHRlcgorICAgIEFUVFJJQlVURSBpZAorICAgICAgVEVYVAorICAgICAgICBjb250ZW50PWNoYXB0ZXIyCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogeHBvaW50ZXIoaWQoImNoYXB0ZXIxIikpCitPYmplY3QgaXMgZW1wdHkgKE5VTEwpCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogeHBvaW50ZXIoLy8qW0BpZD0iY2hhcHRlcjEiXSkKK09iamVjdCBpcyBhIE5vZGUgU2V0IDoKK1NldCBjb250YWlucyAxIG5vZGVzOgorMSAgRUxFTUVOVCBjaGFwdGVyCisgICAgQVRUUklCVVRFIGlkCisgICAgICBURVhUCisgICAgICAgIGNvbnRlbnQ9Y2hhcHRlcjEKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiB4cG9pbnRlcihpZCgiY2hhcHRlcjEiKSl4cG9pbnRlcigvLypbQGlkPSJjaGFwdGVyMSJdKQorT2JqZWN0IGlzIGEgTm9kZSBTZXQgOgorU2V0IGNvbnRhaW5zIDEgbm9kZXM6CisxICBFTEVNRU5UIGNoYXB0ZXIKKyAgICBBVFRSSUJVVEUgaWQKKyAgICAgIFRFWFQKKyAgICAgICAgY29udGVudD1jaGFwdGVyMQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvWFBhdGgveHB0ci9jaGFwdGVyc3JhbmdlIGIvbGlieG1sMi9yZXN1bHQvWFBhdGgveHB0ci9jaGFwdGVyc3JhbmdlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMxYjljZGUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9YUGF0aC94cHRyL2NoYXB0ZXJzcmFuZ2UKQEAgLTAsMCArMSw2NCBAQAorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IHhwb2ludGVyKC8vY2hhcHRlcltwb3NpdGlvbigpID0gMl0vcmFuZ2UtdG8oZm9sbG93aW5nOjpjaGFwdGVyWzFdKSkKK09iamVjdCBpcyBhIExvY2F0aW9uIFNldDoKKzEgOiAgIE9iamVjdCBpcyBhIHJhbmdlIDoKKyAgRnJvbSBub2RlCisgICAgRUxFTUVOVCBjaGFwdGVyCisgICAgICBBVFRSSUJVVEUgaWQKKyAgICAgICAgVEVYVAorICAgICAgICAgIGNvbnRlbnQ9Y2hhcHRlcjIKKyAgVG8gbm9kZQorICAgIEVMRU1FTlQgY2hhcHRlcgorICAgICAgQVRUUklCVVRFIGlkCisgICAgICAgIFRFWFQKKyAgICAgICAgICBjb250ZW50PWNoYXB0ZXIzCisKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiB4cG9pbnRlcigvL2NoYXB0ZXJbcG9zaXRpb24oKSA8PSAyXS9yYW5nZS10byhmb2xsb3dpbmc6OmNoYXB0ZXJbMV0pKQorT2JqZWN0IGlzIGEgTG9jYXRpb24gU2V0OgorMSA6ICAgT2JqZWN0IGlzIGEgcmFuZ2UgOgorICBGcm9tIG5vZGUKKyAgICBFTEVNRU5UIGNoYXB0ZXIKKyAgICAgIEFUVFJJQlVURSBpZAorICAgICAgICBURVhUCisgICAgICAgICAgY29udGVudD1jaGFwdGVyMQorICBUbyBub2RlCisgICAgRUxFTUVOVCBjaGFwdGVyCisgICAgICBBVFRSSUJVVEUgaWQKKyAgICAgICAgVEVYVAorICAgICAgICAgIGNvbnRlbnQ9Y2hhcHRlcjIKKworMiA6ICAgT2JqZWN0IGlzIGEgcmFuZ2UgOgorICBGcm9tIG5vZGUKKyAgICBFTEVNRU5UIGNoYXB0ZXIKKyAgICAgIEFUVFJJQlVURSBpZAorICAgICAgICBURVhUCisgICAgICAgICAgY29udGVudD1jaGFwdGVyMgorICBUbyBub2RlCisgICAgRUxFTUVOVCBjaGFwdGVyCisgICAgICBBVFRSSUJVVEUgaWQKKyAgICAgICAgVEVYVAorICAgICAgICAgIGNvbnRlbnQ9Y2hhcHRlcjMKKworCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IHhwb2ludGVyKC8vY2hhcHRlcltwb3NpdGlvbigpID0gbGFzdCgpXS9yYW5nZS10byhmb2xsb3dpbmc6OmNoYXB0ZXJbMV0pKQorT2JqZWN0IGlzIGVtcHR5IChOVUxMKQorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IHhwb2ludGVyKC8vY2hhcHRlcltwb3NpdGlvbigpID0gM10vcmFuZ2UtdG8oLy4vL2NoYXB0ZXJbcG9zaXRpb24oKSA9IDFdKSkKK09iamVjdCBpcyBhIExvY2F0aW9uIFNldDoKKzEgOiAgIE9iamVjdCBpcyBhIHJhbmdlIDoKKyAgRnJvbSBub2RlCisgICAgRUxFTUVOVCBjaGFwdGVyCisgICAgICBBVFRSSUJVVEUgaWQKKyAgICAgICAgVEVYVAorICAgICAgICAgIGNvbnRlbnQ9Y2hhcHRlcjEKKyAgVG8gbm9kZQorICAgIEVMRU1FTlQgY2hhcHRlcgorICAgICAgQVRUUklCVVRFIGlkCisgICAgICAgIFRFWFQKKyAgICAgICAgICBjb250ZW50PWNoYXB0ZXIzCisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L1hQYXRoL3hwdHIvc3RycG9pbnQgYi9saWJ4bWwyL3Jlc3VsdC9YUGF0aC94cHRyL3N0cnBvaW50Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ2ZWNhYjMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9YUGF0aC94cHRyL3N0cnBvaW50CkBAIC0wLDAgKzEsNzUgQEAKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiB4cG9pbnRlcihzdGFydC1wb2ludChzdHJpbmctcmFuZ2UoLy9wLCdtdWx0aXBsZScpKSkKK09iamVjdCBpcyBhIExvY2F0aW9uIFNldDoKKzEgOiAgIE9iamVjdCBpcyBhIHBvaW50IDogaW5kZXggMSBpbiBub2RlICAgIFRFWFQKKyAgICAgIGNvbnRlbnQ9bXVsdGlwbGUgdGVzdHMKKworCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IHhwb2ludGVyKGVuZC1wb2ludChzdHJpbmctcmFuZ2UoLy9wLCdtdWx0aXBsZScpKSkKK09iamVjdCBpcyBhIExvY2F0aW9uIFNldDoKKzEgOiAgIE9iamVjdCBpcyBhIHBvaW50IDogaW5kZXggOCBpbiBub2RlICAgIFRFWFQKKyAgICAgIGNvbnRlbnQ9bXVsdGlwbGUgdGVzdHMKKworCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IHhwb2ludGVyKHN0YXJ0LXBvaW50KHN0cmluZy1yYW5nZSgvL3AsJ3Rlc3QnKSkpCitPYmplY3QgaXMgYSBMb2NhdGlvbiBTZXQ6CisxIDogICBPYmplY3QgaXMgYSBwb2ludCA6IGluZGV4IDEwIGluIG5vZGUgICAgVEVYVAorICAgICAgY29udGVudD1hIHNpbXBsZSB0ZXN0CisKKzIgOiAgIE9iamVjdCBpcyBhIHBvaW50IDogaW5kZXggMTAgaW4gbm9kZSAgICBURVhUCisgICAgICBjb250ZW50PW11bHRpcGxlIHRlc3RzCisKKzMgOiAgIE9iamVjdCBpcyBhIHBvaW50IDogaW5kZXggNyBpbiBub2RlICAgIFRFWFQKKyAgICAgIGNvbnRlbnQ9YW5jZWQgdGVzdAorCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogeHBvaW50ZXIoZW5kLXBvaW50KHN0cmluZy1yYW5nZSgvL3AsJ3Rlc3QnKSkpCitPYmplY3QgaXMgYSBMb2NhdGlvbiBTZXQ6CisxIDogICBPYmplY3QgaXMgYSBwb2ludCA6IGluZGV4IDEzIGluIG5vZGUgICAgVEVYVAorICAgICAgY29udGVudD1hIHNpbXBsZSB0ZXN0CisKKzIgOiAgIE9iamVjdCBpcyBhIHBvaW50IDogaW5kZXggMTMgaW4gbm9kZSAgICBURVhUCisgICAgICBjb250ZW50PW11bHRpcGxlIHRlc3RzCisKKzMgOiAgIE9iamVjdCBpcyBhIHBvaW50IDogaW5kZXggMTAgaW4gbm9kZSAgICBURVhUCisgICAgICBjb250ZW50PWFuY2VkIHRlc3QKKworCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IHhwb2ludGVyKHN0YXJ0LXBvaW50KHN0cmluZy1yYW5nZSgvLyosJ211bHRpcGxlJywxLDApKSkKK09iamVjdCBpcyBhIExvY2F0aW9uIFNldDoKKzEgOiAgIE9iamVjdCBpcyBhIHBvaW50IDogaW5kZXggMSBpbiBub2RlICAgIFRFWFQKKyAgICAgIGNvbnRlbnQ9bXVsdGlwbGUgdGVzdHMKKworCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IHhwb2ludGVyKGVuZC1wb2ludChzdHJpbmctcmFuZ2UoLy8qLCdtdWx0aXBsZScsMSwwKSkpCitPYmplY3QgaXMgYSBMb2NhdGlvbiBTZXQ6CisxIDogICBPYmplY3QgaXMgYSBwb2ludCA6IGluZGV4IDEgaW4gbm9kZSAgICBURVhUCisgICAgICBjb250ZW50PW11bHRpcGxlIHRlc3RzCisKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiB4cG9pbnRlcihzdGFydC1wb2ludChzdHJpbmctcmFuZ2UoLy8qLCdtdWx0aXBsZScsMSwxKSkpCitPYmplY3QgaXMgYSBMb2NhdGlvbiBTZXQ6CisxIDogICBPYmplY3QgaXMgYSBwb2ludCA6IGluZGV4IDEgaW4gbm9kZSAgICBURVhUCisgICAgICBjb250ZW50PW11bHRpcGxlIHRlc3RzCisKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiB4cG9pbnRlcihlbmQtcG9pbnQoc3RyaW5nLXJhbmdlKC8vKiwnbXVsdGlwbGUnLDEsMSkpKQorT2JqZWN0IGlzIGEgTG9jYXRpb24gU2V0OgorMSA6ICAgT2JqZWN0IGlzIGEgcG9pbnQgOiBpbmRleCAyIGluIG5vZGUgICAgVEVYVAorICAgICAgY29udGVudD1tdWx0aXBsZSB0ZXN0cworCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogeHBvaW50ZXIoc3RhcnQtcG9pbnQoc3RyaW5nLXJhbmdlKC8vcCwndGVzdCcpKVsxXSkKK09iamVjdCBpcyBhIExvY2F0aW9uIFNldDoKKzEgOiAgIE9iamVjdCBpcyBhIHBvaW50IDogaW5kZXggMTAgaW4gbm9kZSAgICBURVhUCisgICAgICBjb250ZW50PWEgc2ltcGxlIHRlc3QKKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvWFBhdGgveHB0ci9zdHJyYW5nZSBiL2xpYnhtbDIvcmVzdWx0L1hQYXRoL3hwdHIvc3RycmFuZ2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzE0ZWQ5MQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L1hQYXRoL3hwdHIvc3RycmFuZ2UKQEAgLTAsMCArMSw5NiBAQAorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IHhwb2ludGVyKHN0cmluZy1yYW5nZSgvL3AsICdzaW1wbGUnKSkKK09iamVjdCBpcyBhIExvY2F0aW9uIFNldDoKKzEgOiAgIE9iamVjdCBpcyBhIHJhbmdlIDoKKyAgRnJvbSBpbmRleCAzIGluIG5vZGUKKyAgICBURVhUCisgICAgICBjb250ZW50PWEgc2ltcGxlIHRlc3QKKyAgVG8gaW5kZXggOCBpbiBub2RlCisgICAgVEVYVAorICAgICAgY29udGVudD1hIHNpbXBsZSB0ZXN0CisKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiB4cG9pbnRlcihzdHJpbmctcmFuZ2UoLy9wLCAndGVzdCcpKQorT2JqZWN0IGlzIGEgTG9jYXRpb24gU2V0OgorMSA6ICAgT2JqZWN0IGlzIGEgcmFuZ2UgOgorICBGcm9tIGluZGV4IDEwIGluIG5vZGUKKyAgICBURVhUCisgICAgICBjb250ZW50PWEgc2ltcGxlIHRlc3QKKyAgVG8gaW5kZXggMTMgaW4gbm9kZQorICAgIFRFWFQKKyAgICAgIGNvbnRlbnQ9YSBzaW1wbGUgdGVzdAorCisyIDogICBPYmplY3QgaXMgYSByYW5nZSA6CisgIEZyb20gaW5kZXggMTAgaW4gbm9kZQorICAgIFRFWFQKKyAgICAgIGNvbnRlbnQ9bXVsdGlwbGUgdGVzdHMKKyAgVG8gaW5kZXggMTMgaW4gbm9kZQorICAgIFRFWFQKKyAgICAgIGNvbnRlbnQ9bXVsdGlwbGUgdGVzdHMKKworMyA6ICAgT2JqZWN0IGlzIGEgcmFuZ2UgOgorICBGcm9tIGluZGV4IDcgaW4gbm9kZQorICAgIFRFWFQKKyAgICAgIGNvbnRlbnQ9YW5jZWQgdGVzdAorICBUbyBpbmRleCAxMCBpbiBub2RlCisgICAgVEVYVAorICAgICAgY29udGVudD1hbmNlZCB0ZXN0CisKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiB4cG9pbnRlcihzdHJpbmctcmFuZ2UoLy9wLCAnZGlmZmljdWx0JykpCitPYmplY3QgaXMgYSBMb2NhdGlvbiBTZXQ6CisxIDogICBPYmplY3QgaXMgYSByYW5nZSA6CisgIEZyb20gaW5kZXggMyBpbiBub2RlCisgICAgVEVYVAorICAgICAgY29udGVudD1hIGRpZmYKKyAgVG8gaW5kZXggNCBpbiBub2RlCisgICAgVEVYVAorICAgICAgY29udGVudD1jdWx0IG9uZQorCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogeHBvaW50ZXIoc3RyaW5nLXJhbmdlKC8vcCwgJ3NwYW5uaW5nJykpCitPYmplY3QgaXMgYSBMb2NhdGlvbiBTZXQ6CisxIDogICBPYmplY3QgaXMgYSByYW5nZSA6CisgIEZyb20gaW5kZXggMyBpbiBub2RlCisgICAgVEVYVAorICAgICAgY29udGVudD1hIHNwYW4KKyAgVG8gaW5kZXggMyBpbiBub2RlCisgICAgVEVYVAorICAgICAgY29udGVudD1pbmcgb25lCisKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiB4cG9pbnRlcihzdHJpbmctcmFuZ2UoLy9wLCAndW5iYWxhbmNlZCcpKQorT2JqZWN0IGlzIGEgTG9jYXRpb24gU2V0OgorMSA6ICAgT2JqZWN0IGlzIGEgcmFuZ2UgOgorICBGcm9tIGluZGV4IDggaW4gbm9kZQorICAgIFRFWFQKKyAgICAgIGNvbnRlbnQ9YW5kIGFuIHVuYmFsCisgIFRvIGluZGV4IDUgaW4gbm9kZQorICAgIFRFWFQKKyAgICAgIGNvbnRlbnQ9YW5jZWQgdGVzdAorCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogeHBvaW50ZXIoc3RyaW5nLXJhbmdlKC8vc2VxLCAnJykpCitPYmplY3QgaXMgYSBMb2NhdGlvbiBTZXQ6CisxIDogICBPYmplY3QgaXMgYSBjb2xsYXBzZWQgcmFuZ2UgOgorICBpbmRleCAxIGluIG5vZGUKKyAgICBURVhUCisgICAgICBjb250ZW50PTEyMworMiA6ICAgT2JqZWN0IGlzIGEgY29sbGFwc2VkIHJhbmdlIDoKKyAgaW5kZXggMiBpbiBub2RlCisgICAgVEVYVAorICAgICAgY29udGVudD0xMjMKKzMgOiAgIE9iamVjdCBpcyBhIGNvbGxhcHNlZCByYW5nZSA6CisgIGluZGV4IDMgaW4gbm9kZQorICAgIFRFWFQKKyAgICAgIGNvbnRlbnQ9MTIzCis0IDogICBPYmplY3QgaXMgYSBjb2xsYXBzZWQgcmFuZ2UgOgorICBpbmRleCA0IGluIG5vZGUKKyAgICBURVhUCisgICAgICBjb250ZW50PTEyMwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvWFBhdGgveHB0ci9zdHJyYW5nZTIgYi9saWJ4bWwyL3Jlc3VsdC9YUGF0aC94cHRyL3N0cnJhbmdlMgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYTZlZTQ1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvWFBhdGgveHB0ci9zdHJyYW5nZTIKQEAgLTAsMCArMSw2NCBAQAorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IHhwb2ludGVyKHN0cmluZy1yYW5nZSgvL3AsICd0ZXN0JywgMikpCitPYmplY3QgaXMgYSBMb2NhdGlvbiBTZXQ6CisxIDogICBPYmplY3QgaXMgYSByYW5nZSA6CisgIEZyb20gaW5kZXggMTEgaW4gbm9kZQorICAgIFRFWFQKKyAgICAgIGNvbnRlbnQ9YSBzaW1wbGUgdGVzdAorICBUbyBpbmRleCAxMyBpbiBub2RlCisgICAgVEVYVAorICAgICAgY29udGVudD1hIHNpbXBsZSB0ZXN0CisKKzIgOiAgIE9iamVjdCBpcyBhIHJhbmdlIDoKKyAgRnJvbSBpbmRleCAxMSBpbiBub2RlCisgICAgVEVYVAorICAgICAgY29udGVudD1tdWx0aXBsZSB0ZXN0cworICBUbyBpbmRleCAxMyBpbiBub2RlCisgICAgVEVYVAorICAgICAgY29udGVudD1tdWx0aXBsZSB0ZXN0cworCiszIDogICBPYmplY3QgaXMgYSByYW5nZSA6CisgIEZyb20gaW5kZXggOCBpbiBub2RlCisgICAgVEVYVAorICAgICAgY29udGVudD1hbmNlZCB0ZXN0CisgIFRvIGluZGV4IDEwIGluIG5vZGUKKyAgICBURVhUCisgICAgICBjb250ZW50PWFuY2VkIHRlc3QKKworCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IHhwb2ludGVyKHN0cmluZy1yYW5nZSgvL3AsICd0ZXN0JywgMiwgMikpCitPYmplY3QgaXMgYSBMb2NhdGlvbiBTZXQ6CisxIDogICBPYmplY3QgaXMgYSByYW5nZSA6CisgIEZyb20gaW5kZXggMTEgaW4gbm9kZQorICAgIFRFWFQKKyAgICAgIGNvbnRlbnQ9YSBzaW1wbGUgdGVzdAorICBUbyBpbmRleCAxMiBpbiBub2RlCisgICAgVEVYVAorICAgICAgY29udGVudD1hIHNpbXBsZSB0ZXN0CisKKzIgOiAgIE9iamVjdCBpcyBhIHJhbmdlIDoKKyAgRnJvbSBpbmRleCAxMSBpbiBub2RlCisgICAgVEVYVAorICAgICAgY29udGVudD1tdWx0aXBsZSB0ZXN0cworICBUbyBpbmRleCAxMiBpbiBub2RlCisgICAgVEVYVAorICAgICAgY29udGVudD1tdWx0aXBsZSB0ZXN0cworCiszIDogICBPYmplY3QgaXMgYSByYW5nZSA6CisgIEZyb20gaW5kZXggOCBpbiBub2RlCisgICAgVEVYVAorICAgICAgY29udGVudD1hbmNlZCB0ZXN0CisgIFRvIGluZGV4IDkgaW4gbm9kZQorICAgIFRFWFQKKyAgICAgIGNvbnRlbnQ9YW5jZWQgdGVzdAorCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogeHBvaW50ZXIoc3RyaW5nLXJhbmdlKC8vcCwgJ2RpZmZpY3VsdCcsIDEsIDApKQorT2JqZWN0IGlzIGEgTG9jYXRpb24gU2V0OgorMSA6ICAgT2JqZWN0IGlzIGEgY29sbGFwc2VkIHJhbmdlIDoKKyAgaW5kZXggMyBpbiBub2RlCisgICAgVEVYVAorICAgICAgY29udGVudD1hIGRpZmYKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L1hQYXRoL3hwdHIvc3RycmFuZ2UzIGIvbGlieG1sMi9yZXN1bHQvWFBhdGgveHB0ci9zdHJyYW5nZTMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmQzMTE0YQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L1hQYXRoL3hwdHIvc3RycmFuZ2UzCkBAIC0wLDAgKzEsNDggQEAKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiB4cG9pbnRlcihzdHJpbmctcmFuZ2UoLy9wLCAndGVzdCcsIDEsIDApKQorT2JqZWN0IGlzIGEgTG9jYXRpb24gU2V0OgorMSA6ICAgT2JqZWN0IGlzIGEgY29sbGFwc2VkIHJhbmdlIDoKKyAgaW5kZXggMTAgaW4gbm9kZQorICAgIFRFWFQKKyAgICAgIGNvbnRlbnQ9YSBzaW1wbGUgdGVzdAorMiA6ICAgT2JqZWN0IGlzIGEgY29sbGFwc2VkIHJhbmdlIDoKKyAgaW5kZXggMTAgaW4gbm9kZQorICAgIFRFWFQKKyAgICAgIGNvbnRlbnQ9bXVsdGlwbGUgdGVzdHMKKzMgOiAgIE9iamVjdCBpcyBhIGNvbGxhcHNlZCByYW5nZSA6CisgIGluZGV4IDcgaW4gbm9kZQorICAgIFRFWFQKKyAgICAgIGNvbnRlbnQ9YW5jZWQgdGVzdAorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IHhwb2ludGVyKHN0cmluZy1yYW5nZSgvLyosICd0ZXN0JywgMSwgMCkpCitPYmplY3QgaXMgYSBMb2NhdGlvbiBTZXQ6CisxIDogICBPYmplY3QgaXMgYSBjb2xsYXBzZWQgcmFuZ2UgOgorICBpbmRleCAxMCBpbiBub2RlCisgICAgVEVYVAorICAgICAgY29udGVudD1hIHNpbXBsZSB0ZXN0CisyIDogICBPYmplY3QgaXMgYSBjb2xsYXBzZWQgcmFuZ2UgOgorICBpbmRleCAxMCBpbiBub2RlCisgICAgVEVYVAorICAgICAgY29udGVudD1tdWx0aXBsZSB0ZXN0cworMyA6ICAgT2JqZWN0IGlzIGEgY29sbGFwc2VkIHJhbmdlIDoKKyAgaW5kZXggNyBpbiBub2RlCisgICAgVEVYVAorICAgICAgY29udGVudD1hbmNlZCB0ZXN0CisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogeHBvaW50ZXIoc3RyaW5nLXJhbmdlKC8vcCwgJ3Rlc3QnLCAxLCAwKVsyXSkKK09iamVjdCBpcyBhIExvY2F0aW9uIFNldDoKKzEgOiAgIE9iamVjdCBpcyBhIGNvbGxhcHNlZCByYW5nZSA6CisgIGluZGV4IDEwIGluIG5vZGUKKyAgICBURVhUCisgICAgICBjb250ZW50PW11bHRpcGxlIHRlc3RzCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogeHBvaW50ZXIoc3RyaW5nLXJhbmdlKC8vKiwgJ3Rlc3QnLCAxLCAwKVsyXSkKK09iamVjdCBpcyBhIExvY2F0aW9uIFNldDoKKzEgOiAgIE9iamVjdCBpcyBhIGNvbGxhcHNlZCByYW5nZSA6CisgIGluZGV4IDEwIGluIG5vZGUKKyAgICBURVhUCisgICAgICBjb250ZW50PW11bHRpcGxlIHRlc3RzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9YUGF0aC94cHRyL3ZpZGJhc2UgYi9saWJ4bWwyL3Jlc3VsdC9YUGF0aC94cHRyL3ZpZGJhc2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGI5ZTkyZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L1hQYXRoL3hwdHIvdmlkYmFzZQpAQCAtMCwwICsxLDE5IEBACisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogeHBvaW50ZXIoaWQoJ2NoYXB0ZXIxJykvcCkKK09iamVjdCBpcyBhIE5vZGUgU2V0IDoKK1NldCBjb250YWlucyA0IG5vZGVzOgorMSAgRUxFTUVOVCBwCisyICBFTEVNRU5UIHAKKzMgIEVMRU1FTlQgcAorNCAgRUxFTUVOVCBwCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogeHBvaW50ZXIoaWQoJ2NoYXB0ZXIxJykvcFsxXS9yYW5nZS10byhmb2xsb3dpbmctc2libGluZzo6cFsyXSkpCitPYmplY3QgaXMgYSBMb2NhdGlvbiBTZXQ6CisxIDogICBPYmplY3QgaXMgYSByYW5nZSA6CisgIEZyb20gbm9kZQorICAgIEVMRU1FTlQgcAorICBUbyBub2RlCisgICAgRUxFTUVOVCBwCisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L1hQYXRoL3hwdHIvdmlkY2hpbGRzZXEgYi9saWJ4bWwyL3Jlc3VsdC9YUGF0aC94cHRyL3ZpZGNoaWxkc2VxCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmViOGM1ZjcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9YUGF0aC94cHRyL3ZpZGNoaWxkc2VxCkBAIC0wLDAgKzEsMzYgQEAKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiAvMS8yLzMKK09iamVjdCBpcyBhIE5vZGUgU2V0IDoKK1NldCBjb250YWlucyAxIG5vZGVzOgorMSAgRUxFTUVOVCBpbWFnZQorICAgIEFUVFJJQlVURSBocmVmCisgICAgICBURVhUCisgICAgICAgIGNvbnRlbnQ9bGludXMuZ2lmCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogZWxlbWVudCgvMS8yLzMpCitPYmplY3QgaXMgYSBOb2RlIFNldCA6CitTZXQgY29udGFpbnMgMSBub2RlczoKKzEgIEVMRU1FTlQgaW1hZ2UKKyAgICBBVFRSSUJVVEUgaHJlZgorICAgICAgVEVYVAorICAgICAgICBjb250ZW50PWxpbnVzLmdpZgorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IGNoYXB0ZXIxLzMKK09iamVjdCBpcyBhIE5vZGUgU2V0IDoKK1NldCBjb250YWlucyAxIG5vZGVzOgorMSAgRUxFTUVOVCBpbWFnZQorICAgIEFUVFJJQlVURSBocmVmCisgICAgICBURVhUCisgICAgICAgIGNvbnRlbnQ9bGludXMuZ2lmCisKKz09PT09PT09PT09PT09PT09PT09PT09PQorRXhwcmVzc2lvbjogZWxlbWVudChjaGFwdGVyMS8zKQorT2JqZWN0IGlzIGEgTm9kZSBTZXQgOgorU2V0IGNvbnRhaW5zIDEgbm9kZXM6CisxICBFTEVNRU5UIGltYWdlCisgICAgQVRUUklCVVRFIGhyZWYKKyAgICAgIFRFWFQKKyAgICAgICAgY29udGVudD1saW51cy5naWYKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L1hQYXRoL3hwdHIvdmlkcGFydHMgYi9saWJ4bWwyL3Jlc3VsdC9YUGF0aC94cHRyL3ZpZHBhcnRzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJkNWJkM2MKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9YUGF0aC94cHRyL3ZpZHBhcnRzCkBAIC0wLDAgKzEsMjcgQEAKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiB4cG9pbnRlcihpZCgiY2hhcHRlcjEiKSkKK09iamVjdCBpcyBhIE5vZGUgU2V0IDoKK1NldCBjb250YWlucyAxIG5vZGVzOgorMSAgRUxFTUVOVCBjaGFwdGVyCisgICAgQVRUUklCVVRFIGlkCisgICAgICBURVhUCisgICAgICAgIGNvbnRlbnQ9Y2hhcHRlcjEKKworPT09PT09PT09PT09PT09PT09PT09PT09CitFeHByZXNzaW9uOiB4cG9pbnRlcigvLypbQGlkPSJjaGFwdGVyMSJdKQorT2JqZWN0IGlzIGEgTm9kZSBTZXQgOgorU2V0IGNvbnRhaW5zIDEgbm9kZXM6CisxICBFTEVNRU5UIGNoYXB0ZXIKKyAgICBBVFRSSUJVVEUgaWQKKyAgICAgIFRFWFQKKyAgICAgICAgY29udGVudD1jaGFwdGVyMQorCis9PT09PT09PT09PT09PT09PT09PT09PT0KK0V4cHJlc3Npb246IHhwb2ludGVyKGlkKCJjaGFwdGVyMSIpKXhwb2ludGVyKC8vKltAaWQ9ImNoYXB0ZXIxIl0pCitPYmplY3QgaXMgYSBOb2RlIFNldCA6CitTZXQgY29udGFpbnMgMSBub2RlczoKKzEgIEVMRU1FTlQgY2hhcHRlcgorICAgIEFUVFJJQlVURSBpZAorICAgICAgVEVYVAorICAgICAgICBjb250ZW50PWNoYXB0ZXIxCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9hdHQxIGIvbGlieG1sMi9yZXN1bHQvYXR0MQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMGFhNmJlCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvYXR0MQpAQCAtMCwwICsxLDIgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPGRvYyBhdHRyPSJ0byBub3JtYWxpemUgd2l0aCBhICAgIHNwYWNlIi8+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9hdHQxLnJkZSBiL2xpYnhtbDIvcmVzdWx0L2F0dDEucmRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlmOTIyNjMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9hdHQxLnJkZQpAQCAtMCwwICsxIEBACiswIDEgZG9jIDEgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvYXR0MS5yZHIgYi9saWJ4bWwyL3Jlc3VsdC9hdHQxLnJkcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZjkyMjYzCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvYXR0MS5yZHIKQEAgLTAsMCArMSBAQAorMCAxIGRvYyAxIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2F0dDEuc2F4IGIvbGlieG1sMi9yZXN1bHQvYXR0MS5zYXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTE5YThhNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2F0dDEuc2F4CkBAIC0wLDAgKzEsNSBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguc3RhcnRFbGVtZW50KGRvYywgYXR0cj0ndG8gbm9ybWFsaXplIHdpdGggYSAgICBzcGFjZScpCitTQVguZW5kRWxlbWVudChkb2MpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvYXR0MS5zYXgyIGIvbGlieG1sMi9yZXN1bHQvYXR0MS5zYXgyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc2YmExMzEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9hdHQxLnNheDIKQEAgLTAsMCArMSw1IEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5zdGFydEVsZW1lbnROcyhkb2MsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGF0dHI9J3RvIG4uLi4nLCAyOCkKK1NBWC5lbmRFbGVtZW50TnMoZG9jLCBOVUxMLCBOVUxMKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2F0dDEwIGIvbGlieG1sMi9yZXN1bHQvYXR0MTAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWIyOWJmOAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2F0dDEwCkBAIC0wLDAgKzEsMTggQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCFET0NUWVBFIGRvYyBbCis8IUVMRU1FTlQgZG9jICh0c3QpKj4KKzwhRUxFTUVOVCB0c3QgKCNQQ0RBVEEpPgorPCFBVFRMSVNUIHRzdCBhIE5NVE9LRU5TICNJTVBMSUVEPgorPCFBVFRMSVNUIHRzdCBiIENEQVRBICNJTVBMSUVEPgorPCFFTlRJVFkgZCAiJiN4RDsiPgorPCFFTlRJVFkgYSAiJiN4QTsiPgorPCFFTlRJVFkgZGEgIiYjeEQ7JiN4QTsiPgorXT4KKzxkb2M+Cis8dHN0IGE9Inh5eiIgYj0iICB4eXoiLz4KKzx0c3QgYT0iJmQ7JmQ7QSZhOyAmYTtCJmRhOyIgYj0iJmQ7JmQ7QSZhOyAmYTtCJmRhOyIvPgorPHRzdCBhPSImIzEzOyYjMTM7QSYjMTA7JiMxMDtCJiMxMzsmIzEwOyIgYj0iJiMxMzsmIzEzO0EmIzEwOyYjMTA7QiYjMTM7JiMxMDsiLz4KKzx0c3QgYT0ieCB5IiBiPSIgeCAgeSAiLz4KKzx0c3QgYT0iYSBiIiBiPSIgYSBiICIvPgorPHRzdCBhPSJhIGIiIGI9IiAgYSAgYiAgIi8+Cis8L2RvYz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2F0dDEwLnJkZSBiL2xpYnhtbDIvcmVzdWx0L2F0dDEwLnJkZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yY2E3OTA1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvYXR0MTAucmRlCkBAIC0wLDAgKzEsMjMgQEAKKzAgMTAgZG9jIDAgMAorMCAxIGRvYyAwIDAKKzEgMTQgI3RleHQgMCAxIAorCisxIDEgdHN0IDEgMAorMSAxNCAjdGV4dCAwIDEgCisKKzEgMSB0c3QgMSAwCisxIDE0ICN0ZXh0IDAgMSAKKworMSAxIHRzdCAxIDAKKzEgMTQgI3RleHQgMCAxIAorCisxIDEgdHN0IDEgMAorMSAxNCAjdGV4dCAwIDEgCisKKzEgMSB0c3QgMSAwCisxIDE0ICN0ZXh0IDAgMSAKKworMSAxIHRzdCAxIDAKKzEgMTQgI3RleHQgMCAxIAorCiswIDE1IGRvYyAwIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2F0dDEwLnJkciBiL2xpYnhtbDIvcmVzdWx0L2F0dDEwLnJkcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yY2E3OTA1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvYXR0MTAucmRyCkBAIC0wLDAgKzEsMjMgQEAKKzAgMTAgZG9jIDAgMAorMCAxIGRvYyAwIDAKKzEgMTQgI3RleHQgMCAxIAorCisxIDEgdHN0IDEgMAorMSAxNCAjdGV4dCAwIDEgCisKKzEgMSB0c3QgMSAwCisxIDE0ICN0ZXh0IDAgMSAKKworMSAxIHRzdCAxIDAKKzEgMTQgI3RleHQgMCAxIAorCisxIDEgdHN0IDEgMAorMSAxNCAjdGV4dCAwIDEgCisKKzEgMSB0c3QgMSAwCisxIDE0ICN0ZXh0IDAgMSAKKworMSAxIHRzdCAxIDAKKzEgMTQgI3RleHQgMCAxIAorCiswIDE1IGRvYyAwIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2F0dDEwLnNheCBiL2xpYnhtbDIvcmVzdWx0L2F0dDEwLnNheApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZGY0OWE1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvYXR0MTAuc2F4CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2F0dDEwLnNheDIgYi9saWJ4bWwyL3Jlc3VsdC9hdHQxMC5zYXgyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdjNmY2MWQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9hdHQxMC5zYXgyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2F0dDExIGIvbGlieG1sMi9yZXN1bHQvYXR0MTEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTIxYjA2ZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2F0dDExCkBAIC0wLDAgKzEsOSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJ5ZXMiPz4KKzwhRE9DVFlQRSBhdHRyaWJ1dGVzIFsKKzwhRUxFTUVOVCBhdHRyaWJ1dGVzIEVNUFRZPgorPCFBVFRMSVNUIGF0dHJpYnV0ZXMgbm10b2tlbiBOTVRPS0VOICNJTVBMSUVEPgorPCFBVFRMSVNUIGF0dHJpYnV0ZXMgbm10b2tlbnMgTk1UT0tFTlMgI0lNUExJRUQ+Cis8IUVOVElUWSBlbnQgIiBlbnRpdHkmcmVjdXJzaXZlOyAiPgorPCFFTlRJVFkgcmVjdXJzaXZlICJyZWZlcmVuY2UiPgorXT4KKzxhdHRyaWJ1dGVzIG5tdG9rZW49IiZlbnQ7ICZlbnQ7ICZlbnQ7IiBubXRva2Vucz0iVGVzdCYjMTM7JiMxMDsgdGhpcyBub3JtYWxpemF0aW9uIi8+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9hdHQxMS5yZGUgYi9saWJ4bWwyL3Jlc3VsdC9hdHQxMS5yZGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2M4M2JlYQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2F0dDExLnJkZQpAQCAtMCwwICsxLDIgQEAKKzAgMTAgYXR0cmlidXRlcyAwIDAKKzAgMSBhdHRyaWJ1dGVzIDEgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvYXR0MTEucmRyIGIvbGlieG1sMi9yZXN1bHQvYXR0MTEucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNjODNiZWEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9hdHQxMS5yZHIKQEAgLTAsMCArMSwyIEBACiswIDEwIGF0dHJpYnV0ZXMgMCAwCiswIDEgYXR0cmlidXRlcyAxIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2F0dDExLnNheCBiL2xpYnhtbDIvcmVzdWx0L2F0dDExLnNheApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MmQyODYxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvYXR0MTEuc2F4CkBAIC0wLDAgKzEsMTkgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLmludGVybmFsU3Vic2V0KGF0dHJpYnV0ZXMsICwgKQorU0FYLmVsZW1lbnREZWNsKGF0dHJpYnV0ZXMsIDEsIC4uLikKK1NBWC5hdHRyaWJ1dGVEZWNsKGF0dHJpYnV0ZXMsIG5tdG9rZW4sIDcsIDMsIE5VTEwsIC4uLikKK1NBWC5hdHRyaWJ1dGVEZWNsKGF0dHJpYnV0ZXMsIG5tdG9rZW5zLCA4LCAzLCBOVUxMLCAuLi4pCitTQVguZW50aXR5RGVjbChlbnQsIDEsIChudWxsKSwgKG51bGwpLCAgZW50aXR5JnJlY3Vyc2l2ZTsgKQorU0FYLmdldEVudGl0eShlbnQpCitTQVguZW50aXR5RGVjbChyZWN1cnNpdmUsIDEsIChudWxsKSwgKG51bGwpLCByZWZlcmVuY2UpCitTQVguZ2V0RW50aXR5KHJlY3Vyc2l2ZSkKK1NBWC5leHRlcm5hbFN1YnNldChhdHRyaWJ1dGVzLCAsICkKK1NBWC5nZXRFbnRpdHkoZW50KQorU0FYLmdldEVudGl0eShyZWN1cnNpdmUpCitTQVguZ2V0RW50aXR5KGVudCkKK1NBWC5nZXRFbnRpdHkoZW50KQorU0FYLnN0YXJ0RWxlbWVudChhdHRyaWJ1dGVzLCBubXRva2VuPScgJmVudDsgICAmZW50OyAmZW50OyAnLCBubXRva2Vucz0nIFRlc3QNCisgICAgIHRoaXMgIG5vcm1hbGl6YXRpb24gJykKK1NBWC5lbmRFbGVtZW50KGF0dHJpYnV0ZXMpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvYXR0MTEuc2F4MiBiL2xpYnhtbDIvcmVzdWx0L2F0dDExLnNheDIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2U4Y2ZkOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2F0dDExLnNheDIKQEAgLTAsMCArMSwxOCBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguaW50ZXJuYWxTdWJzZXQoYXR0cmlidXRlcywgLCApCitTQVguZWxlbWVudERlY2woYXR0cmlidXRlcywgMSwgLi4uKQorU0FYLmF0dHJpYnV0ZURlY2woYXR0cmlidXRlcywgbm10b2tlbiwgNywgMywgTlVMTCwgLi4uKQorU0FYLmF0dHJpYnV0ZURlY2woYXR0cmlidXRlcywgbm10b2tlbnMsIDgsIDMsIE5VTEwsIC4uLikKK1NBWC5lbnRpdHlEZWNsKGVudCwgMSwgKG51bGwpLCAobnVsbCksICBlbnRpdHkmcmVjdXJzaXZlOyApCitTQVguZ2V0RW50aXR5KGVudCkKK1NBWC5lbnRpdHlEZWNsKHJlY3Vyc2l2ZSwgMSwgKG51bGwpLCAobnVsbCksIHJlZmVyZW5jZSkKK1NBWC5nZXRFbnRpdHkocmVjdXJzaXZlKQorU0FYLmV4dGVybmFsU3Vic2V0KGF0dHJpYnV0ZXMsICwgKQorU0FYLmdldEVudGl0eShlbnQpCitTQVguZ2V0RW50aXR5KHJlY3Vyc2l2ZSkKK1NBWC5nZXRFbnRpdHkoZW50KQorU0FYLmdldEVudGl0eShlbnQpCitTQVguc3RhcnRFbGVtZW50TnMoYXR0cmlidXRlcywgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbm10b2tlbj0nJmVudC4uLicsIDE3LCBubXRva2Vucz0nVGVzdC4uLicsIDI1KQorU0FYLmVuZEVsZW1lbnROcyhhdHRyaWJ1dGVzLCBOVUxMLCBOVUxMKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2F0dDIgYi9saWJ4bWwyL3Jlc3VsdC9hdHQyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI4OTg5YTIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9hdHQyCkBAIC0wLDAgKzEsMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8ZG9jIGF0dHI9InRvIG5vcm1hbGl6ZSAgIHdpdGggYSBzcGFjZSIvPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvYXR0Mi5yZGUgYi9saWJ4bWwyL3Jlc3VsdC9hdHQyLnJkZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZjkyMjYzCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvYXR0Mi5yZGUKQEAgLTAsMCArMSBAQAorMCAxIGRvYyAxIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2F0dDIucmRyIGIvbGlieG1sMi9yZXN1bHQvYXR0Mi5yZHIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWY5MjI2MwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2F0dDIucmRyCkBAIC0wLDAgKzEgQEAKKzAgMSBkb2MgMSAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9hdHQyLnNheCBiL2xpYnhtbDIvcmVzdWx0L2F0dDIuc2F4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAyY2EzMjAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9hdHQyLnNheApAQCAtMCwwICsxLDUgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLnN0YXJ0RWxlbWVudChkb2MsIGF0dHI9J3RvIG5vcm1hbGl6ZSAgIHdpdGggYSBzcGFjZScpCitTQVguZW5kRWxlbWVudChkb2MpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvYXR0Mi5zYXgyIGIvbGlieG1sMi9yZXN1bHQvYXR0Mi5zYXgyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg0YWViY2IKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9hdHQyLnNheDIKQEAgLTAsMCArMSw1IEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5zdGFydEVsZW1lbnROcyhkb2MsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGF0dHI9J3RvIG4uLi4nLCAyNykKK1NBWC5lbmRFbGVtZW50TnMoZG9jLCBOVUxMLCBOVUxMKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2F0dDMgYi9saWJ4bWwyL3Jlc3VsdC9hdHQzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNmM2FjNWMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9hdHQzCkBAIC0wLDAgKzEsMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8c2VsZWN0IG9uY2xpY2s9ImFhYWEmIzEwOyAgICAgIGJiYmImI3hBMDsiPmYmI3hBMDtvbzwvc2VsZWN0PgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvYXR0My5yZGUgYi9saWJ4bWwyL3Jlc3VsdC9hdHQzLnJkZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMWU3MmNjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvYXR0My5yZGUKQEAgLTAsMCArMSwzIEBACiswIDEgc2VsZWN0IDAgMAorMSAzICN0ZXh0IDAgMSBmwqBvbworMCAxNSBzZWxlY3QgMCAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9hdHQzLnJkciBiL2xpYnhtbDIvcmVzdWx0L2F0dDMucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQxZTcyY2MKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9hdHQzLnJkcgpAQCAtMCwwICsxLDMgQEAKKzAgMSBzZWxlY3QgMCAwCisxIDMgI3RleHQgMCAxIGbCoG9vCiswIDE1IHNlbGVjdCAwIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2F0dDMuc2F4IGIvbGlieG1sMi9yZXN1bHQvYXR0My5zYXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWVjMDk1OQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2F0dDMuc2F4CkBAIC0wLDAgKzEsOSBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguc3RhcnRFbGVtZW50KHNlbGVjdCwgb25jbGljaz0nYWFhYQorICAgICAgYmJiYsKgJykKK1NBWC5jaGFyYWN0ZXJzKGYsIDEpCitTQVguY2hhcmFjdGVycyjCoCwgMikKK1NBWC5jaGFyYWN0ZXJzKG9vLCAyKQorU0FYLmVuZEVsZW1lbnQoc2VsZWN0KQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2F0dDMuc2F4MiBiL2xpYnhtbDIvcmVzdWx0L2F0dDMuc2F4MgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZTdjYTg2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvYXR0My5zYXgyCkBAIC0wLDAgKzEsOCBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguc3RhcnRFbGVtZW50TnMoc2VsZWN0LCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBvbmNsaWNrPSdhYWFhLi4uJywgMTcpCitTQVguY2hhcmFjdGVycyhmLCAxKQorU0FYLmNoYXJhY3RlcnMowqAsIDIpCitTQVguY2hhcmFjdGVycyhvbywgMikKK1NBWC5lbmRFbGVtZW50TnMoc2VsZWN0LCBOVUxMLCBOVUxMKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2F0dDQgYi9saWJ4bWwyL3Jlc3VsdC9hdHQ0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg4MmNlYTcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9hdHQ0CkBAIC0wLDAgKzEsOTI2NCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhLS0gZWRpdGVkIHdpdGggWE1MIFNweSB2NC40IFUgKGh0dHA6Ly93d3cueG1sc3B5LmNvbSkgYnkgU2xhdmEgKEdJVkMpIC0tPgorPGVsZWN0cm94bWwgbW9kaWZpZWQ9IjIwMDIxMjE2VDA3MjcyNiI+CisJPGRhdGEgZnJvbT0iMjAwMjEwMzFUMjIiIHRvPSIyMDAyMTEzMFQyMiI+CisJCTxzZWxlY3Q+CisJCQk8ZGV2aWNlIHNlcmlhbG51bWI9IkUwMDAwMzU2MiI+CisJCQkJPHBhciBtZW1pbmQ9IjExMzQwMCIgaD0iM2RjMWE4ZGUiPgorCQkJCQk8dmFsIG89IjAiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iZTA4IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjFjMzIiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMmEzYyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIzODM1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjQ2NDUiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iNTQ1NSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI2MjY1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjcwNzUiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iN2U4NSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI4Yzk2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjlhYTUiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iYThiNiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJiNmM1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImM0ZDciIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iZDMwYiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJlMGY2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImVmMDYiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iZmQxNyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxMGIyNyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxMTkzNyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxMjc0NiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxMzU1NiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxNDM2NiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxNTE4MSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxNWY4NSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxNmQ5NSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxN2JhNCIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxODliNSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxOTdjNCIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxYTVkNSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxYjNlNiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxYzFmNiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxZDAwNSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxZGUxNSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxZWMyNSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxZmEzNiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIyMDg0NSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIyMTY1NiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIyMjQ2NSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIyMzI3NiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIyNDA4NiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIyNGU5OSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIyNWNhNyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIyNmFiNyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIyNzhjNiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIyODZkNiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIyOTRlNiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIyYTMwMSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIyYjEwNSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIyYmYxNSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIyY2QyNSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIyZGIzNSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIyZTk0NiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIyZjc1NSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIzMDU2NiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIzMTM3NSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIzMjE5ZSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIzMmY5NiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIzM2RhNiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIzNGJiNiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIzNTlkZSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIzNjdkNiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIzNzVlNiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIzODQwZSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIzOTIxZSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIzYTAxNiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIzYWUyNyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIzYmMzNiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIzY2E0NyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIzZDg1NiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIzZTY2NyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIzZjQ4MSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI0MDI4NSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI0MTA5NSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI0MWVhNSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI0MmNiNSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI0M2FjNSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI0NDhkNSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI0NTZlNiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI0NjRmNSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI0ODBmZiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI0OGYwZSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI0OWQxZCIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI0YWI0NiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI0Yjk1NSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI0Yzc2OSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI0ZDU3NyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI0ZTM4NyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI0ZjE5NiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI0ZmZhNiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI1MGRkMCIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI1MWJjNiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI1MjlkNiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI1MzdlNyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI1NDYwMCIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI1NTQwNiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI1NjIxNSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI1NzAyNiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI1N2UzNiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI1OGM0NiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI1OWE3MCIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI1YTg2NyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI1YjY3NiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI1YzQ4NyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI1ZDI5NiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI1ZTBhOSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI1ZWViOCIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI1ZmNjNiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI2MGFkNyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI2MThlNyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI2MjZmNyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI2MzUwNyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI2NDMxNyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI2NTEyNyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI2NWYzNyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI2NmQ0NiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI2N2I1NyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI2ODk2NyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI2OTc4MiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI2YTU4NiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI2YjM5NSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI2YzFhNiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI2Y2ZiNSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI2ZGRjNiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI2ZWJkNiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI2ZjllNiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI3MDdmNiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI3MTYwNyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI3MjQxNyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI3MzIyNyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI3NDAzNyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI3NGU0NyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI3NWM1NyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI3NmE2MyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI3Nzg3MyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI3ODY4MCIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI3OTQ4ZiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI3YTI5ZiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI3YjBhZiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI3YmViZiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI3Y2NjZiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI3ZGFkZiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI3ZThmYSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI3ZjcwYSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI4MDUxYSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI4MTMyYSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI4MjEzYSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI4MmY0YSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI4M2Q1YSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI4NGI2YSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI4NTk3YSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI4Njc4YiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI4NzU5YiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI4ODNhYyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI4OTFiYiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI4OWZjYSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI4YWRkYSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI4YmJlYiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI4YzlmYyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI4ZDgwYiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI4ZTYxYSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI4ZjQyYSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI5MDIzYSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI5MTA0YSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI5MWU1YSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI5MmM2YSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI5M2E4NCIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI5NDg4NSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI5NTY5NCIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI5NjRhNSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI5NzJiNCIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI5ODBjNSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI5OGVkNCIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI5OWNlNSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI5YWFmNSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI5YjkwNiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI5YzcxNiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI5ZDUyNiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI5ZTMzNiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI5ZjE0NSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI5ZmY1NiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJhMGQ2NSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJhMWI3NyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJhMjk4NiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJhMzc5NSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJhNDVhNyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJhNTNiNiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJhNjFjNyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJhNmZkNiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJhN2UwMCIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJhOGMwMCIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJhOWEwNSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJhYTgxNSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJhYjYyNSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJhYzQzNSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJhZDI0NSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJhZTA1NSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJhZWU2NSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJhZmM3NSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJiMGE4NSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJiMjZhNiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJiMzRiNiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJiNDJjNiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJiNTBkNiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJiNWVlNyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJiNmNmNiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJiN2IwNyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJiODkxNyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJiOTcyOCIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJiYTUzNyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJiYjM0NyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJiYzE1NyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJiY2Y2NyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJiZGQ4MSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJiZWI4NiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJiZjk5NSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJjMDdhNiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJjMTViNSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJjMjNjNiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJjMzFkNSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJjM2ZlNiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJjNGRmNSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJjNWMwNiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJjNmExNiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJjNzgyNiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJjODYzNiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJjOTQ0NiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJjYTI1NiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJjYjA2NiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJjYmU3NiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJjY2M4NyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJjZGE5NiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJjZThhOCIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJjZjZiNyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJkMDRjOCIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJkMTJkNyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJkMjBlNyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJkMmYwMiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJkM2QwNSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJkNGIxNSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJkNTkyNiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJkNjczNSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJkNzU0NiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJkODM1NSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJkOTE2NiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJkOWY3NSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJkYWQ4NyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJkYmI5NyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJkYzlhOCIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJkZDdiNyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJkZTVjNiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJkZjNkNyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJlMDFkNyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJlMGZlNSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJlMWRmNSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJlMmMwNCIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJlM2ExNCIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJlNDgyNCIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJlNTYzNCIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJlNjQ0NCIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJlNzI1NSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJlODA2ZiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJlOGU3ZiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJlOWM4ZSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJlYWE5ZiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJlYjhhZSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJlYzZiZiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJlZDRjZSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJlZTJkZiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJlZjBlZiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJlZmYwMSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJmMGQxMCIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJmMWIyMCIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJmMjkzMCIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJmMzc0MCIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJmNDU1MSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJmNTM2MSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJmNjE3MiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJmNmY4MCIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJmN2Q5MSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJmOGJhMSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJmOTliMSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJmYTdjMCIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJmYjVkMSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJmYzNlMCIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJmZDFmYiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJmZTAwYiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJmZWUxYyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJmZmMyYyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxMDBhM2IiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTAxODRjIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjEwMjY1YiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxMDM0NmMiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTA0MjdiIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjEwNTA4ZCIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxMDVlOWQiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTA2Y2FkIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjEwN2FiZCIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxMDg4Y2QiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTA5NmRlIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjEwYTRlZCIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxMGIyZmUiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTBjMTBkIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjEwY2YxZSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxMGRkMmUiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTBlYjY2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjEwZjk0ZSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxMTA3NWUiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTExNTZkIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjExMjM4OCIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxMTMxODciIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTEzZmIwIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjExNGRhNiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxMTViYjYiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTE2OWM2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjExNzdkNiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxMTg1ZTgiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTE5M2Y3IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjExYTIwOCIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxMWIwMTciIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTFiZTJmIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjExY2MzNyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxMWRhNDciIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTFlODU3IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjExZjY2NyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxMjA1NzgiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTIxMzg2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjEyMjE5NiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxMjJmYTYiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTIzZGI1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjEyNGJjNSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxMjU5ZDUiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTI2N2U0IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjEyNzYwMCIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxMjgzMDUiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTI5MTE1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjEyOWYyNSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxMmFkMzUiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTJiYjQ1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjEyYzk1NCIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxMmQ3NjYiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTJlNTc1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjEyZjM4NiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxMzAxOTYiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTMwZmE2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjEzMWRiNyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxMzJiYzUiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTMzOWQ0IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjEzNDdlNSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxMzU1ZjQiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTM2NDA0IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjEzNzIxNCIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxMzgwMjQiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTM4ZTMzIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjEzOWM0NCIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxM2FhNTQiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTNiODY1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjEzYzY3ZSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxM2Q0OGUiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTNlMjllIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjEzZjBhZSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxM2ZlYmYiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTQwY2NmIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE0MWFkZiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxNDI4ZWYiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTQzNmZmIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE0NDUwZiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxNDUzMWYiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTQ2MTMwIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE0NmY0MCIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxNDdkNDQiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTQ4YjU3IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE0OTk2NSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxNGE3NzUiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTRiNTg0IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE0YzM5NyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxNGQxYTQiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTRkZmI2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE0ZWRjNSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxNGZiZDUiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTUwOWU1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE1MTdmZiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxNTI2MDUiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTUzNDE1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE1NDIyNSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxNTUwMzUiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTU1ZTQ1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE1NmM1NSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxNTdhNjUiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTU4ODc1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE1OTY4NiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxNWE0OTUiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTViMmE2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE1YzBiNiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxNWNlYzYiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTVkY2Q1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE1ZWFlNiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxNWY4ZjUiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTYwNzA2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE2MTUxNyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxNjIzMjYiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTYzMTM3IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE2M2Y0NiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxNjRkNTciIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTY1YjY3IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE2Njk4MiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxNjc3ODYiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTY4NTk2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE2OTNhNiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxNmExYjUiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTZhZmM2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE2YmRkNSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxNmNiZTYiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTZkOWY2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE2ZTgwNyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxNmY2MTYiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTcwNDI5IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE3MTIzNiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxNzIwNDciIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTcyZTU3IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE3M2M2NyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxNzRhNzciIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTc1ODg3IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE3NjY5NCIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxNzc0YTMiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTc4MmIzIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE3OTBjNSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxNzllZDQiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTdhY2U0IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE3YmFmZCIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxN2M5MGYiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTdkNzFlIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE3ZTUyZiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxN2YzM2YiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTgwMTRmIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE4MGY1ZiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxODFkNmUiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTgyYjdmIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE4Mzk4ZiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxODQ3YTEiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTg1NWFmIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE4NjNjMCIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxODcxY2YiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTg3ZmUwIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE4OGRlZiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxODljMDAiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMThiODBkIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE4YzYxYyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxOGQ0MmMiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMThlMjNiIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE4ZjA0YiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxOGZlNWUiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTkwYzc2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE5MWE4NiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxOTI4OTYiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTkzNmE2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE5NDRiNyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxOTUyYzYiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTk2MGQ3IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE5NmVlNiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxOTdjZjgiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTk4YjBmIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE5OTkxZiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxOWI1NDEiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTljMzRkIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE5ZDE1ZSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxOWRmODAiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTllZDkwIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE5ZWViZSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxOWZiOGUiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMWEwOWEwIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjFhMTdhZSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxYTI1YmUiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMWEzM2NkIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjFhNDFkZCIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxYTRmZWQiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMWE1ZTA4IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjFhNmMwNSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxYTdhMTUiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMWE4ODI2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjFhOTYzNyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxYWE0NDUiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMWFiMjU1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjFhYzA2NSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxYWNlNzUiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMWFkYzg3IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjFhZWE5NiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxYWY4YTciIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMWIwNmI3IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjFiMTRjNiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxYzc0NjAiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMWM4MjcwIiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjFjOTA3ZSIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIxYzllOGYiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMWNhY2EyIiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjFjYmFiMSIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIxY2M4YzEiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMWNkNmQwIiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjFjZTRkZSIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIxY2YyZjAiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMWQwMTA5IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjFkMGYwNiIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIxZDFkMTUiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMWQyYjI1IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjFkMzkzNSIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIxZDQ3NDUiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMWQ1NTU1IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjFkNjM2NiIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIxZDcxNzUiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMWQ3Zjg2IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjFkOGQ5NSIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIxZDliYTYiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMWRhOWI2IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjFkYjdjNyIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIxZGM1ZDUiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMWRkM2U2IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjFkZTFmNSIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIxZGYwMDYiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMWRmZTE2IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjFlMGMyNiIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIxZTFhMzYiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMWUyODQ3IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjFlMzY1OSIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIxZTQ0NjciIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMWU1MjgxIiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjFlNjA4NiIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIxZTZlOTYiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMWU3Y2E2IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjFlOGFiNSIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIxZTk4YzYiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMWVhNmQ1IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjFlYjRlNiIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIxZWMyZjYiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMWVkMTA2IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjFlZGYxNiIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIxZWVkMjYiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMWVmYjM2IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjFmMDk0NiIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIxZjE3NTYiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMWYyNTY2IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjFmMzM3NiIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIxZjQxODciIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMWY0Zjk2IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjFmNWRhNyIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIxZjZiYjYiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMWY3OWM3IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjFmODdkNiIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIxZjk1ZTciIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMWZhNDAxIiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjFmYjIwNCIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIxZmMwMTYiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMWZjZTI1IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjFmZGMzNSIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIxZmVhNDUiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMWZmODU1IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjIwMDY2NSIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyMDE0NzUiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjAyMjg2IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjIwMzA5NSIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyMDNlYTUiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjA0Y2I2IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjIwNWFjNiIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyMDY4ZDYiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjA3NmU2IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjIwODRmNiIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyMDkzMDYiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjBhMTE2IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjIwYWYyNiIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyMGJkMzciIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjBjYjQ2IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjIwZDk1NyIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyMGU3NjciIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjBmNTgxIiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjIxMDM4NiIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyMTExOTQiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjExZmE1IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjIxMmRiNSIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyMTNiYzUiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjE0OWQ2IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjIxNTdlNSIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyMTY1ZjYiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjE3NDA2IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjIxODIxNyIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyMTkwMjYiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjE5ZTM5IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjIxYWM0NiIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyMWJhNTciIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjFjODY3IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjIxZDY3NyIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyMWU0ODciIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjFmMjk2IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjIyMDBhNiIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyMjBlYjciIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjIxY2M2IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjIyMmFkNyIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyMjM4ZTciIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjI0NzAxIiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjIyNTUwNSIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyMjYzMTUiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjI3MTI1IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjIyN2YzNSIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyMjhkNDUiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjI5YjU0IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjIyYTk2NSIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyMmI3NzYiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjJjNTg2IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjIyZDM5NyIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyMmUxYTYiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjJlZmI2IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjIyZmRjNyIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyMzBiZDciIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjMxOWU2IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjIzMjdmNiIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyMzM2MWIiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjM0NDE2IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjIzNTIyNiIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyMzYwMzciIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjM2ZTQ2IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjIzN2M1NyIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyMzhhNjYiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjM5ODgxIiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjIzYTY4NSIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyM2I0OTUiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjNjMmE0IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjIzZDBiNSIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyM2RlYzQiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjNlY2Q1IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjIzZmFlNCIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyNDA4ZjYiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjQxNzA2IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjI0MjUxOCIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyNDMzMjUiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjQ0MTM3IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjI0NGY0NiIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyNDZiNjYiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjQ3OTc2IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjI0ODc4NiIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyNDk1N2UiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjRhMzhmIiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjI0YjE5YyIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyNGJmYWMiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjRjZGJjIiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjI0ZGJjZCIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyNGU5ZTUiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjRmODA4IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjI1MDYxNiIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyNTE0MjYiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjUyMjM2IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjI1MzA0NyIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyNTNlNTYiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjU0YzY3IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjI1NWE3NiIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyNTY4ODciIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjU3Njk3IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjI1ODRhOCIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyNTkyYjYiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjVhMGM3IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjI1YWVkNyIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyNWJjZTciIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjVjYWY4IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjI1ZDkwNyIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyNWU3MTgiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjVmNTI3IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjI2MDMzOCIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyNjExNDkiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjYxZjU5IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjI2MmQ2OCIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyNjNiODMiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjY0OTg2IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjI2NTc5NSIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyNjY1YTYiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjY3M2I1IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjI2ODFjNiIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyNjhmZDUiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjY5ZGU2IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjI2YWJmNiIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyNmJhMDYiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjZjODE3IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjI2ZDYyYiIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyNmU0MzYiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjZmMjQ3IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjI3MDA1NyIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyNzBlNjciIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjcxYzc3IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjI3MmE4NyIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyNzM4OTciIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjc0NmE4IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjI3NTRiOSIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyNzYyYzciIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjc3MGQ4IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjI3N2VlNyIgdj0iNTUiLz4KKwkJCQk8L3Bhcj4KKwkJCQk8cGFyIG1lbWluZD0iMTY5MzY2MDAiIGg9IjNkYzFhOGRlIj4KKwkJCQkJPHZhbCBvPSIwIiB2PSIxOTYuNCIvPgorCQkJCQk8dmFsIG89ImUwOCIgdj0iMTk5LjUiLz4KKwkJCQkJPHZhbCBvPSIxYzMyIiB2PSIyMDAuOCIvPgorCQkJCQk8dmFsIG89IjJhM2MiIHY9IjIwMS44Ii8+CisJCQkJCTx2YWwgbz0iMzgzNSIgdj0iMTk5LjkiLz4KKwkJCQkJPHZhbCBvPSI0NjQ1IiB2PSIxOTcuOSIvPgorCQkJCQk8dmFsIG89IjU0NTUiIHY9IjE5My4yIi8+CisJCQkJCTx2YWwgbz0iNjI2NSIgdj0iMTk3LjYiLz4KKwkJCQkJPHZhbCBvPSI3MDc1IiB2PSIxOTUuNiIvPgorCQkJCQk8dmFsIG89IjdlODUiIHY9IjE5Mi43Ii8+CisJCQkJCTx2YWwgbz0iOGM5NiIgdj0iMTk1LjMiLz4KKwkJCQkJPHZhbCBvPSI5YWE1IiB2PSIxOTUuNCIvPgorCQkJCQk8dmFsIG89ImE4YjYiIHY9IjE5NS42Ii8+CisJCQkJCTx2YWwgbz0iYjZjNSIgdj0iMTk3LjMiLz4KKwkJCQkJPHZhbCBvPSJjNGQ3IiB2PSIyMjIuNiIvPgorCQkJCQk8dmFsIG89ImQzMGIiIHY9IjIyMC45Ii8+CisJCQkJCTx2YWwgbz0iZTBmNiIgdj0iMjIyLjgiLz4KKwkJCQkJPHZhbCBvPSJlZjA2IiB2PSIxODAiLz4KKwkJCQkJPHZhbCBvPSJmZDE3IiB2PSIxODAiLz4KKwkJCQkJPHZhbCBvPSIxMGIyNyIgdj0iMjIxLjQiLz4KKwkJCQkJPHZhbCBvPSIxMTkzNyIgdj0iMjIyLjIiLz4KKwkJCQkJPHZhbCBvPSIxMjc0NiIgdj0iMjIyLjUiLz4KKwkJCQkJPHZhbCBvPSIxMzU1NiIgdj0iMjIwLjUiLz4KKwkJCQkJPHZhbCBvPSIxNDM2NiIgdj0iMjIwLjgiLz4KKwkJCQkJPHZhbCBvPSIxNTE4MSIgdj0iMjIwIi8+CisJCQkJCTx2YWwgbz0iMTVmODUiIHY9IjIyMS4yIi8+CisJCQkJCTx2YWwgbz0iMTZkOTUiIHY9IjIyMC4zIi8+CisJCQkJCTx2YWwgbz0iMTdiYTQiIHY9IjIyMS4xIi8+CisJCQkJCTx2YWwgbz0iMTg5YjUiIHY9IjIyMC42Ii8+CisJCQkJCTx2YWwgbz0iMTk3YzQiIHY9IjIyMC45Ii8+CisJCQkJCTx2YWwgbz0iMWE1ZDUiIHY9IjIxOS4yIi8+CisJCQkJCTx2YWwgbz0iMWIzZTYiIHY9IjIxOS4zIi8+CisJCQkJCTx2YWwgbz0iMWMxZjYiIHY9IjIyMC41Ii8+CisJCQkJCTx2YWwgbz0iMWQwMDUiIHY9IjIyMC43Ii8+CisJCQkJCTx2YWwgbz0iMWRlMTUiIHY9IjIyMC4xIi8+CisJCQkJCTx2YWwgbz0iMWVjMjUiIHY9IjIyMC40Ii8+CisJCQkJCTx2YWwgbz0iMWZhMzYiIHY9IjIyMC4xIi8+CisJCQkJCTx2YWwgbz0iMjA4NDUiIHY9IjIyMC4xIi8+CisJCQkJCTx2YWwgbz0iMjE2NTYiIHY9IjIyMC43Ii8+CisJCQkJCTx2YWwgbz0iMjI0NjUiIHY9IjIyMC43Ii8+CisJCQkJCTx2YWwgbz0iMjMyNzYiIHY9IjIyMC41Ii8+CisJCQkJCTx2YWwgbz0iMjQwODYiIHY9IjE4MCIvPgorCQkJCQk8dmFsIG89IjI0ZTk5IiB2PSIyMjIiLz4KKwkJCQkJPHZhbCBvPSIyNWNhNyIgdj0iMjIxLjgiLz4KKwkJCQkJPHZhbCBvPSIyNmFiNyIgdj0iMjIwLjYiLz4KKwkJCQkJPHZhbCBvPSIyNzhjNiIgdj0iMTgwIi8+CisJCQkJCTx2YWwgbz0iMjg2ZDYiIHY9IjIyMC44Ii8+CisJCQkJCTx2YWwgbz0iMjk0ZTYiIHY9IjIxOC45Ii8+CisJCQkJCTx2YWwgbz0iMmEzMDEiIHY9IjIyMCIvPgorCQkJCQk8dmFsIG89IjJiMTA1IiB2PSIxODAiLz4KKwkJCQkJPHZhbCBvPSIyYmYxNSIgdj0iMTgwIi8+CisJCQkJCTx2YWwgbz0iMmNkMjUiIHY9IjIxOC44Ii8+CisJCQkJCTx2YWwgbz0iMmRiMzUiIHY9IjE4MCIvPgorCQkJCQk8dmFsIG89IjJlOTQ2IiB2PSIxODAiLz4KKwkJCQkJPHZhbCBvPSIyZjc1NSIgdj0iMTgwIi8+CisJCQkJCTx2YWwgbz0iMzA1NjYiIHY9IjIxOS45Ii8+CisJCQkJCTx2YWwgbz0iMzEzNzUiIHY9IjIyMC41Ii8+CisJCQkJCTx2YWwgbz0iMzIxOWUiIHY9IjIxOS43Ii8+CisJCQkJCTx2YWwgbz0iMzJmOTYiIHY9IjIyMC44Ii8+CisJCQkJCTx2YWwgbz0iMzNkYTYiIHY9IjIyMC42Ii8+CisJCQkJCTx2YWwgbz0iMzRiYjYiIHY9IjIxOSIvPgorCQkJCQk8dmFsIG89IjM1OWRlIiB2PSIyMjAuMyIvPgorCQkJCQk8dmFsIG89IjM2N2Q2IiB2PSIyMTkuMyIvPgorCQkJCQk8dmFsIG89IjM3NWU2IiB2PSIxODAiLz4KKwkJCQkJPHZhbCBvPSIzODQwZSIgdj0iMTgwIi8+CisJCQkJCTx2YWwgbz0iMzkyMWUiIHY9IjE4MCIvPgorCQkJCQk8dmFsIG89IjNhMDE2IiB2PSIxODAiLz4KKwkJCQkJPHZhbCBvPSIzYWUyNyIgdj0iMjIwLjkiLz4KKwkJCQkJPHZhbCBvPSIzYmMzNiIgdj0iMjIwLjEiLz4KKwkJCQkJPHZhbCBvPSIzY2E0NyIgdj0iMTgwIi8+CisJCQkJCTx2YWwgbz0iM2Q4NTYiIHY9IjIyMS40Ii8+CisJCQkJCTx2YWwgbz0iM2U2NjciIHY9IjIyMC4yIi8+CisJCQkJCTx2YWwgbz0iM2Y0ODEiIHY9IjIxNy42Ii8+CisJCQkJCTx2YWwgbz0iNDAyODUiIHY9IjIxOC40Ii8+CisJCQkJCTx2YWwgbz0iNDEwOTUiIHY9IjIxOC4xIi8+CisJCQkJCTx2YWwgbz0iNDFlYTUiIHY9IjIxOC43Ii8+CisJCQkJCTx2YWwgbz0iNDJjYjUiIHY9IjIxOS45Ii8+CisJCQkJCTx2YWwgbz0iNDNhYzUiIHY9IjIxOC43Ii8+CisJCQkJCTx2YWwgbz0iNDQ4ZDUiIHY9IjE4MCIvPgorCQkJCQk8dmFsIG89IjQ1NmU2IiB2PSIyMjAuNyIvPgorCQkJCQk8dmFsIG89IjQ2NGY1IiB2PSIyMjIuNyIvPgorCQkJCQk8dmFsIG89IjQ4MGZmIiB2PSIxODAiLz4KKwkJCQkJPHZhbCBvPSI0OGYwZSIgdj0iMTgwIi8+CisJCQkJCTx2YWwgbz0iNDlkMWQiIHY9IjE4MCIvPgorCQkJCQk8dmFsIG89IjRhYjQ2IiB2PSIxODAiLz4KKwkJCQkJPHZhbCBvPSI0Yjk1NSIgdj0iMTgwIi8+CisJCQkJCTx2YWwgbz0iNGM3NjkiIHY9IjE4MCIvPgorCQkJCQk8dmFsIG89IjRkNTc3IiB2PSIxODAiLz4KKwkJCQkJPHZhbCBvPSI0ZTM4NyIgdj0iMTgwIi8+CisJCQkJCTx2YWwgbz0iNGYxOTYiIHY9IjE4MCIvPgorCQkJCQk8dmFsIG89IjRmZmE2IiB2PSIxODAiLz4KKwkJCQkJPHZhbCBvPSI1MGRkMCIgdj0iMTgwIi8+CisJCQkJCTx2YWwgbz0iNTFiYzYiIHY9IjE4MCIvPgorCQkJCQk8dmFsIG89IjUyOWQ2IiB2PSIxODAiLz4KKwkJCQkJPHZhbCBvPSI1MzdlNyIgdj0iMjIwLjUiLz4KKwkJCQkJPHZhbCBvPSI1NDYwMCIgdj0iMjE4LjkiLz4KKwkJCQkJPHZhbCBvPSI1NTQwNiIgdj0iMjE5LjMiLz4KKwkJCQkJPHZhbCBvPSI1NjIxNSIgdj0iMjE5LjYiLz4KKwkJCQkJPHZhbCBvPSI1NzAyNiIgdj0iMjE5LjMiLz4KKwkJCQkJPHZhbCBvPSI1N2UzNiIgdj0iMjE5LjciLz4KKwkJCQkJPHZhbCBvPSI1OGM0NiIgdj0iMjIwLjQiLz4KKwkJCQkJPHZhbCBvPSI1OWE3MCIgdj0iMjIwLjUiLz4KKwkJCQkJPHZhbCBvPSI1YTg2NyIgdj0iMjIxLjgiLz4KKwkJCQkJPHZhbCBvPSI1YjY3NiIgdj0iMTgwIi8+CisJCQkJCTx2YWwgbz0iNWM0ODciIHY9IjE4MCIvPgorCQkJCQk8dmFsIG89IjVkMjk2IiB2PSIxODAiLz4KKwkJCQkJPHZhbCBvPSI1ZTBhOSIgdj0iMjIyLjUiLz4KKwkJCQkJPHZhbCBvPSI1ZWViOCIgdj0iMjI0LjUiLz4KKwkJCQkJPHZhbCBvPSI1ZmNjNiIgdj0iMjIzLjYiLz4KKwkJCQkJPHZhbCBvPSI2MGFkNyIgdj0iMTgwIi8+CisJCQkJCTx2YWwgbz0iNjE4ZTciIHY9IjE4MCIvPgorCQkJCQk8dmFsIG89IjYyNmY3IiB2PSIxODAiLz4KKwkJCQkJPHZhbCBvPSI2MzUwNyIgdj0iMTgwIi8+CisJCQkJCTx2YWwgbz0iNjQzMTciIHY9IjE4MCIvPgorCQkJCQk8dmFsIG89IjY1MTI3IiB2PSIyMjIuMyIvPgorCQkJCQk8dmFsIG89IjY1ZjM3IiB2PSIyMjIuNiIvPgorCQkJCQk8dmFsIG89IjY2ZDQ2IiB2PSIyMjAuOCIvPgorCQkJCQk8dmFsIG89IjY3YjU3IiB2PSIyMjAuOCIvPgorCQkJCQk8dmFsIG89IjY4OTY3IiB2PSIyMjAuMiIvPgorCQkJCQk8dmFsIG89IjY5NzgyIiB2PSIyMjAuMiIvPgorCQkJCQk8dmFsIG89IjZhNTg2IiB2PSIyMTkuMyIvPgorCQkJCQk8dmFsIG89IjZiMzk1IiB2PSIyMTkuOCIvPgorCQkJCQk8dmFsIG89IjZjMWE2IiB2PSIyMTkiLz4KKwkJCQkJPHZhbCBvPSI2Y2ZiNSIgdj0iMjE4LjciLz4KKwkJCQkJPHZhbCBvPSI2ZGRjNiIgdj0iMjIwLjciLz4KKwkJCQkJPHZhbCBvPSI2ZWJkNiIgdj0iMTgwIi8+CisJCQkJCTx2YWwgbz0iNmY5ZTYiIHY9IjIyMS44Ii8+CisJCQkJCTx2YWwgbz0iNzA3ZjYiIHY9IjIyMi44Ii8+CisJCQkJCTx2YWwgbz0iNzE2MDciIHY9IjE4MCIvPgorCQkJCQk8dmFsIG89IjcyNDE3IiB2PSIxODAiLz4KKwkJCQkJPHZhbCBvPSI3MzIyNyIgdj0iMTgwIi8+CisJCQkJCTx2YWwgbz0iNzQwMzciIHY9IjIyMy44Ii8+CisJCQkJCTx2YWwgbz0iNzRlNDciIHY9IjIyMy40Ii8+CisJCQkJCTx2YWwgbz0iNzVjNTciIHY9IjE4MCIvPgorCQkJCQk8dmFsIG89Ijc2YTYzIiB2PSIxODAiLz4KKwkJCQkJPHZhbCBvPSI3Nzg3MyIgdj0iMTgwIi8+CisJCQkJCTx2YWwgbz0iNzg2ODAiIHY9IjE4MCIvPgorCQkJCQk8dmFsIG89Ijc5NDhmIiB2PSIxODAiLz4KKwkJCQkJPHZhbCBvPSI3YTI5ZiIgdj0iMTgwIi8+CisJCQkJCTx2YWwgbz0iN2IwYWYiIHY9IjIyMi4xIi8+CisJCQkJCTx2YWwgbz0iN2JlYmYiIHY9IjIyMSIvPgorCQkJCQk8dmFsIG89IjdjY2NmIiB2PSIyMTkuNSIvPgorCQkJCQk8dmFsIG89IjdkYWRmIiB2PSIyMTkuOSIvPgorCQkJCQk8dmFsIG89IjdlOGZhIiB2PSIyMjAuOCIvPgorCQkJCQk8dmFsIG89IjdmNzBhIiB2PSIyMjAuOCIvPgorCQkJCQk8dmFsIG89IjgwNTFhIiB2PSIyMTcuOSIvPgorCQkJCQk8dmFsIG89IjgxMzJhIiB2PSIyMTkiLz4KKwkJCQkJPHZhbCBvPSI4MjEzYSIgdj0iMjE4LjYiLz4KKwkJCQkJPHZhbCBvPSI4MmY0YSIgdj0iMjE5LjQiLz4KKwkJCQkJPHZhbCBvPSI4M2Q1YSIgdj0iMjE5LjciLz4KKwkJCQkJPHZhbCBvPSI4NGI2YSIgdj0iMTgwIi8+CisJCQkJCTx2YWwgbz0iODU5N2EiIHY9IjE4MCIvPgorCQkJCQk8dmFsIG89Ijg2NzhiIiB2PSIxODAiLz4KKwkJCQkJPHZhbCBvPSI4NzU5YiIgdj0iMTgwIi8+CisJCQkJCTx2YWwgbz0iODgzYWMiIHY9IjIyMy4xIi8+CisJCQkJCTx2YWwgbz0iODkxYmIiIHY9IjIyMiIvPgorCQkJCQk8dmFsIG89Ijg5ZmNhIiB2PSIyMjQuMiIvPgorCQkJCQk8dmFsIG89IjhhZGRhIiB2PSIxODAiLz4KKwkJCQkJPHZhbCBvPSI4YmJlYiIgdj0iMTgwIi8+CisJCQkJCTx2YWwgbz0iOGM5ZmMiIHY9IjE4MCIvPgorCQkJCQk8dmFsIG89IjhkODBiIiB2PSIxODAiLz4KKwkJCQkJPHZhbCBvPSI4ZTYxYSIgdj0iMTgwIi8+CisJCQkJCTx2YWwgbz0iOGY0MmEiIHY9IjE4MCIvPgorCQkJCQk8dmFsIG89IjkwMjNhIiB2PSIxODAiLz4KKwkJCQkJPHZhbCBvPSI5MTA0YSIgdj0iMjIwLjQiLz4KKwkJCQkJPHZhbCBvPSI5MWU1YSIgdj0iMTgwIi8+CisJCQkJCTx2YWwgbz0iOTJjNmEiIHY9IjIxOS42Ii8+CisJCQkJCTx2YWwgbz0iOTNhODQiIHY9IjIxOS4yIi8+CisJCQkJCTx2YWwgbz0iOTQ4ODUiIHY9IjIxOSIvPgorCQkJCQk8dmFsIG89Ijk1Njk0IiB2PSIyMTguNSIvPgorCQkJCQk8dmFsIG89Ijk2NGE1IiB2PSIyMTkuMyIvPgorCQkJCQk8dmFsIG89Ijk3MmI0IiB2PSIyMTkuNCIvPgorCQkJCQk8dmFsIG89Ijk4MGM1IiB2PSIyMjEiLz4KKwkJCQkJPHZhbCBvPSI5OGVkNCIgdj0iMjIwLjciLz4KKwkJCQkJPHZhbCBvPSI5OWNlNSIgdj0iMTgwIi8+CisJCQkJCTx2YWwgbz0iOWFhZjUiIHY9IjE4MCIvPgorCQkJCQk8dmFsIG89IjliOTA2IiB2PSIyMjUuMiIvPgorCQkJCQk8dmFsIG89IjljNzE2IiB2PSIyMjUiLz4KKwkJCQkJPHZhbCBvPSI5ZDUyNiIgdj0iMjIyLjYiLz4KKwkJCQkJPHZhbCBvPSI5ZTMzNiIgdj0iMjIzLjYiLz4KKwkJCQkJPHZhbCBvPSI5ZjE0NSIgdj0iMjI0LjEiLz4KKwkJCQkJPHZhbCBvPSI5ZmY1NiIgdj0iMjIzLjIiLz4KKwkJCQkJPHZhbCBvPSJhMGQ2NSIgdj0iMTgwIi8+CisJCQkJCTx2YWwgbz0iYTFiNzciIHY9IjE5NS45Ii8+CisJCQkJCTx2YWwgbz0iYTI5ODYiIHY9IjE5MCIvPgorCQkJCQk8dmFsIG89ImEzNzk1IiB2PSIxMjIuMyIvPgorCQkJCQk8dmFsIG89ImE0NWE3IiB2PSIzNTQuNiIvPgorCQkJCQk8dmFsIG89ImE1M2I2IiB2PSIzMzMuMiIvPgorCQkJCQk8dmFsIG89ImE2MWM3IiB2PSIzMjMuMyIvPgorCQkJCQk8dmFsIG89ImE2ZmQ2IiB2PSIyNzguMSIvPgorCQkJCQk8dmFsIG89ImE3ZTAwIiB2PSIyODYuMiIvPgorCQkJCQk8dmFsIG89ImE4YzAwIiB2PSIyOTIuMyIvPgorCQkJCQk8dmFsIG89ImE5YTA1IiB2PSIyMS40Ii8+CisJCQkJCTx2YWwgbz0iYWE4MTUiIHY9IjI3My43Ii8+CisJCQkJCTx2YWwgbz0iYWI2MjUiIHY9IjI3Mi45Ii8+CisJCQkJCTx2YWwgbz0iYWM0MzUiIHY9IjI4NS40Ii8+CisJCQkJCTx2YWwgbz0iYWQyNDUiIHY9IjI4LjUiLz4KKwkJCQkJPHZhbCBvPSJhZTA1NSIgdj0iNjguNCIvPgorCQkJCQk8dmFsIG89ImFlZTY1IiB2PSIxNDcuMSIvPgorCQkJCQk8dmFsIG89ImFmYzc1IiB2PSI5NS43Ii8+CisJCQkJCTx2YWwgbz0iYjBhODUiIHY9Ijg5LjYiLz4KKwkJCQkJPHZhbCBvPSJiMjZhNiIgdj0iODguMyIvPgorCQkJCQk8dmFsIG89ImIzNGI2IiB2PSI5Mi40Ii8+CisJCQkJCTx2YWwgbz0iYjQyYzYiIHY9IjE0OS43Ii8+CisJCQkJCTx2YWwgbz0iYjUwZDYiIHY9IjE0OC43Ii8+CisJCQkJCTx2YWwgbz0iYjVlZTciIHY9IjEyNy43Ii8+CisJCQkJCTx2YWwgbz0iYjZjZjYiIHY9IjE5OC4yIi8+CisJCQkJCTx2YWwgbz0iYjdiMDciIHY9IjE4Ny4yIi8+CisJCQkJCTx2YWwgbz0iYjg5MTciIHY9IjE4Mi4xIi8+CisJCQkJCTx2YWwgbz0iYjk3MjgiIHY9IjE5NS44Ii8+CisJCQkJCTx2YWwgbz0iYmE1MzciIHY9IjIwMy44Ii8+CisJCQkJCTx2YWwgbz0iYmIzNDciIHY9IjEyNC41Ii8+CisJCQkJCTx2YWwgbz0iYmMxNTciIHY9IjE1OS4yIi8+CisJCQkJCTx2YWwgbz0iYmNmNjciIHY9IjIzMC42Ii8+CisJCQkJCTx2YWwgbz0iYmRkODEiIHY9Ijc5LjgiLz4KKwkJCQkJPHZhbCBvPSJiZWI4NiIgdj0iNTEuMyIvPgorCQkJCQk8dmFsIG89ImJmOTk1IiB2PSIyMi41Ii8+CisJCQkJCTx2YWwgbz0iYzA3YTYiIHY9IjMyMy43Ii8+CisJCQkJCTx2YWwgbz0iYzE1YjUiIHY9IjM0MS42Ii8+CisJCQkJCTx2YWwgbz0iYzIzYzYiIHY9IjQ2LjQiLz4KKwkJCQkJPHZhbCBvPSJjMzFkNSIgdj0iNzEuOSIvPgorCQkJCQk8dmFsIG89ImMzZmU2IiB2PSI3MS45Ii8+CisJCQkJCTx2YWwgbz0iYzRkZjUiIHY9IjYzLjQiLz4KKwkJCQkJPHZhbCBvPSJjNWMwNiIgdj0iNzYuNCIvPgorCQkJCQk8dmFsIG89ImM2YTE2IiB2PSI1OC40Ii8+CisJCQkJCTx2YWwgbz0iYzc4MjYiIHY9IjkyIi8+CisJCQkJCTx2YWwgbz0iYzg2MzYiIHY9Ijc5LjYiLz4KKwkJCQkJPHZhbCBvPSJjOTQ0NiIgdj0iNjMuMSIvPgorCQkJCQk8dmFsIG89ImNhMjU2IiB2PSI1MS4zIi8+CisJCQkJCTx2YWwgbz0iY2IwNjYiIHY9IjgxLjciLz4KKwkJCQkJPHZhbCBvPSJjYmU3NiIgdj0iMjA1LjMiLz4KKwkJCQkJPHZhbCBvPSJjY2M4NyIgdj0iOTYuMSIvPgorCQkJCQk8dmFsIG89ImNkYTk2IiB2PSI5NS43Ii8+CisJCQkJCTx2YWwgbz0iY2U4YTgiIHY9Ijk2LjciLz4KKwkJCQkJPHZhbCBvPSJjZjZiNyIgdj0iOTIuOCIvPgorCQkJCQk8dmFsIG89ImQwNGM4IiB2PSI5MS40Ii8+CisJCQkJCTx2YWwgbz0iZDEyZDciIHY9Ijg2LjEiLz4KKwkJCQkJPHZhbCBvPSJkMjBlNyIgdj0iMjcwIi8+CisJCQkJCTx2YWwgbz0iZDJmMDIiIHY9IjI3MC40Ii8+CisJCQkJCTx2YWwgbz0iZDNkMDUiIHY9IjI5Ni43Ii8+CisJCQkJCTx2YWwgbz0iZDRiMTUiIHY9IjMwNi44Ii8+CisJCQkJCTx2YWwgbz0iZDU5MjYiIHY9IjMzMS43Ii8+CisJCQkJCTx2YWwgbz0iZDY3MzUiIHY9IjEzLjciLz4KKwkJCQkJPHZhbCBvPSJkNzU0NiIgdj0iNDYuNCIvPgorCQkJCQk8dmFsIG89ImQ4MzU1IiB2PSIyNjIuMSIvPgorCQkJCQk8dmFsIG89ImQ5MTY2IiB2PSIxNjYuMiIvPgorCQkJCQk8dmFsIG89ImQ5Zjc1IiB2PSIxNDMuNiIvPgorCQkJCQk8dmFsIG89ImRhZDg3IiB2PSIxMjcuMiIvPgorCQkJCQk8dmFsIG89ImRiYjk3IiB2PSIxMzIuNyIvPgorCQkJCQk8dmFsIG89ImRjOWE4IiB2PSIxMjguMyIvPgorCQkJCQk8dmFsIG89ImRkN2I3IiB2PSIxNTUuNiIvPgorCQkJCQk8dmFsIG89ImRlNWM2IiB2PSIxNzAuOCIvPgorCQkJCQk8dmFsIG89ImRmM2Q3IiB2PSIxNzYuMSIvPgorCQkJCQk8dmFsIG89ImUwMWQ3IiB2PSIxNzYuOCIvPgorCQkJCQk8dmFsIG89ImUwZmU1IiB2PSIxNjguOCIvPgorCQkJCQk8dmFsIG89ImUxZGY1IiB2PSIxNzIuMiIvPgorCQkJCQk8dmFsIG89ImUyYzA0IiB2PSIxODUuMiIvPgorCQkJCQk8dmFsIG89ImUzYTE0IiB2PSIxOTYuMyIvPgorCQkJCQk8dmFsIG89ImU0ODI0IiB2PSIxNzguNSIvPgorCQkJCQk8dmFsIG89ImU1NjM0IiB2PSIxOTMuNyIvPgorCQkJCQk8dmFsIG89ImU2NDQ0IiB2PSIxNzYuMiIvPgorCQkJCQk8dmFsIG89ImU3MjU1IiB2PSIxOTYuNyIvPgorCQkJCQk8dmFsIG89ImU4MDZmIiB2PSIyMDIuMiIvPgorCQkJCQk8dmFsIG89ImU4ZTdmIiB2PSI5OS45Ii8+CisJCQkJCTx2YWwgbz0iZTljOGUiIHY9IjEzMC4yIi8+CisJCQkJCTx2YWwgbz0iZWFhOWYiIHY9IjEzMi45Ii8+CisJCQkJCTx2YWwgbz0iZWI4YWUiIHY9IjEyMS43Ii8+CisJCQkJCTx2YWwgbz0iZWM2YmYiIHY9IjEwMC45Ii8+CisJCQkJCTx2YWwgbz0iZWQ0Y2UiIHY9IjE5Mi45Ii8+CisJCQkJCTx2YWwgbz0iZWUyZGYiIHY9IjE1My43Ii8+CisJCQkJCTx2YWwgbz0iZWYwZWYiIHY9IjE3MC40Ii8+CisJCQkJCTx2YWwgbz0iZWZmMDEiIHY9IjE1NS4yIi8+CisJCQkJCTx2YWwgbz0iZjBkMTAiIHY9IjE2Ny4zIi8+CisJCQkJCTx2YWwgbz0iZjFiMjAiIHY9IjE2NS41Ii8+CisJCQkJCTx2YWwgbz0iZjI5MzAiIHY9IjE4NC4zIi8+CisJCQkJCTx2YWwgbz0iZjM3NDAiIHY9IjE1OS4yIi8+CisJCQkJCTx2YWwgbz0iZjQ1NTEiIHY9IjE2My40Ii8+CisJCQkJCTx2YWwgbz0iZjUzNjEiIHY9IjE2My41Ii8+CisJCQkJCTx2YWwgbz0iZjYxNzIiIHY9IjE2MC44Ii8+CisJCQkJCTx2YWwgbz0iZjZmODAiIHY9IjE2NSIvPgorCQkJCQk8dmFsIG89ImY3ZDkxIiB2PSIxNTYuNCIvPgorCQkJCQk8dmFsIG89ImY4YmExIiB2PSIxNjMuOCIvPgorCQkJCQk8dmFsIG89ImY5OWIxIiB2PSIxNjIuOSIvPgorCQkJCQk8dmFsIG89ImZhN2MwIiB2PSIxNTQuOSIvPgorCQkJCQk8dmFsIG89ImZiNWQxIiB2PSIxNTcuMSIvPgorCQkJCQk8dmFsIG89ImZjM2UwIiB2PSIxOTcuMiIvPgorCQkJCQk8dmFsIG89ImZkMWZiIiB2PSIyMDMuOCIvPgorCQkJCQk8dmFsIG89ImZlMDBiIiB2PSIyMTIuNSIvPgorCQkJCQk8dmFsIG89ImZlZTFjIiB2PSIxODUuNCIvPgorCQkJCQk8dmFsIG89ImZmYzJjIiB2PSIxODcuMiIvPgorCQkJCQk8dmFsIG89IjEwMGEzYiIgdj0iMTYyIi8+CisJCQkJCTx2YWwgbz0iMTAxODRjIiB2PSIxNDkuMyIvPgorCQkJCQk8dmFsIG89IjEwMjY1YiIgdj0iMTM2LjgiLz4KKwkJCQkJPHZhbCBvPSIxMDM0NmMiIHY9IjE0NS45Ii8+CisJCQkJCTx2YWwgbz0iMTA0MjdiIiB2PSIxNjQuMSIvPgorCQkJCQk8dmFsIG89IjEwNTA4ZCIgdj0iMTU4LjIiLz4KKwkJCQkJPHZhbCBvPSIxMDVlOWQiIHY9IjE2MyIvPgorCQkJCQk8dmFsIG89IjEwNmNhZCIgdj0iMTYxLjYiLz4KKwkJCQkJPHZhbCBvPSIxMDdhYmQiIHY9IjE2OC45Ii8+CisJCQkJCTx2YWwgbz0iMTA4OGNkIiB2PSIxNjguNSIvPgorCQkJCQk8dmFsIG89IjEwOTZkZSIgdj0iMTY1LjEiLz4KKwkJCQkJPHZhbCBvPSIxMGE0ZWQiIHY9IjE2OC4yIi8+CisJCQkJCTx2YWwgbz0iMTBiMmZlIiB2PSIxNjMuOSIvPgorCQkJCQk8dmFsIG89IjEwYzEwZCIgdj0iMTQ3LjUiLz4KKwkJCQkJPHZhbCBvPSIxMGNmMWUiIHY9IjE2MyIvPgorCQkJCQk8dmFsIG89IjEwZGQyZSIgdj0iMTY2LjMiLz4KKwkJCQkJPHZhbCBvPSIxMGViNjYiIHY9IjE3Ny40Ii8+CisJCQkJCTx2YWwgbz0iMTBmOTRlIiB2PSIxNzkuNyIvPgorCQkJCQk8dmFsIG89IjExMDc1ZSIgdj0iMTYxIi8+CisJCQkJCTx2YWwgbz0iMTExNTZkIiB2PSIxNzQuNCIvPgorCQkJCQk8dmFsIG89IjExMjM4OCIgdj0iMjAzLjYiLz4KKwkJCQkJPHZhbCBvPSIxMTMxODciIHY9IjE1OC4zIi8+CisJCQkJCTx2YWwgbz0iMTEzZmIwIiB2PSIxNzIuOSIvPgorCQkJCQk8dmFsIG89IjExNGRhNiIgdj0iMTcyLjciLz4KKwkJCQkJPHZhbCBvPSIxMTViYjYiIHY9IjE2OC40Ii8+CisJCQkJCTx2YWwgbz0iMTE2OWM2IiB2PSIxMzgiLz4KKwkJCQkJPHZhbCBvPSIxMTc3ZDYiIHY9IjEzNS44Ii8+CisJCQkJCTx2YWwgbz0iMTE4NWU4IiB2PSIxNTcuOCIvPgorCQkJCQk8dmFsIG89IjExOTNmNyIgdj0iMTYwLjYiLz4KKwkJCQkJPHZhbCBvPSIxMWEyMDgiIHY9IjE3NS43Ii8+CisJCQkJCTx2YWwgbz0iMTFiMDE3IiB2PSIxODQuMSIvPgorCQkJCQk8dmFsIG89IjExYmUyZiIgdj0iMTg4LjYiLz4KKwkJCQkJPHZhbCBvPSIxMWNjMzciIHY9IjE3MCIvPgorCQkJCQk8dmFsIG89IjExZGE0NyIgdj0iMTczLjYiLz4KKwkJCQkJPHZhbCBvPSIxMWU4NTciIHY9IjE2NyIvPgorCQkJCQk8dmFsIG89IjExZjY2NyIgdj0iMTcyLjYiLz4KKwkJCQkJPHZhbCBvPSIxMjA1NzgiIHY9IjE2NC42Ii8+CisJCQkJCTx2YWwgbz0iMTIxMzg2IiB2PSIxNjYuOCIvPgorCQkJCQk8dmFsIG89IjEyMjE5NiIgdj0iMTUxLjkiLz4KKwkJCQkJPHZhbCBvPSIxMjJmYTYiIHY9IjE1OC42Ii8+CisJCQkJCTx2YWwgbz0iMTIzZGI1IiB2PSIxNzAuOCIvPgorCQkJCQk8dmFsIG89IjEyNGJjNSIgdj0iMTg1LjQiLz4KKwkJCQkJPHZhbCBvPSIxMjU5ZDUiIHY9IjE2MC4xIi8+CisJCQkJCTx2YWwgbz0iMTI2N2U0IiB2PSIxODguNiIvPgorCQkJCQk8dmFsIG89IjEyNzYwMCIgdj0iMjA3LjciLz4KKwkJCQkJPHZhbCBvPSIxMjgzMDUiIHY9IjIxNC42Ii8+CisJCQkJCTx2YWwgbz0iMTI5MTE1IiB2PSIyMTMuNyIvPgorCQkJCQk8dmFsIG89IjEyOWYyNSIgdj0iMjE4LjQiLz4KKwkJCQkJPHZhbCBvPSIxMmFkMzUiIHY9IjIxMC41Ii8+CisJCQkJCTx2YWwgbz0iMTJiYjQ1IiB2PSIxNzguOCIvPgorCQkJCQk8dmFsIG89IjEyYzk1NCIgdj0iMTYyLjYiLz4KKwkJCQkJPHZhbCBvPSIxMmQ3NjYiIHY9IjE1Ni40Ii8+CisJCQkJCTx2YWwgbz0iMTJlNTc1IiB2PSIxNTMuNSIvPgorCQkJCQk8dmFsIG89IjEyZjM4NiIgdj0iMTQzLjkiLz4KKwkJCQkJPHZhbCBvPSIxMzAxOTYiIHY9IjE2MC44Ii8+CisJCQkJCTx2YWwgbz0iMTMwZmE2IiB2PSIxNTMuNCIvPgorCQkJCQk8dmFsIG89IjEzMWRiNyIgdj0iMTYzLjYiLz4KKwkJCQkJPHZhbCBvPSIxMzJiYzUiIHY9IjE2OC4yIi8+CisJCQkJCTx2YWwgbz0iMTMzOWQ0IiB2PSIxNjkuMyIvPgorCQkJCQk8dmFsIG89IjEzNDdlNSIgdj0iMTM5LjEiLz4KKwkJCQkJPHZhbCBvPSIxMzU1ZjQiIHY9IjE0Mi40Ii8+CisJCQkJCTx2YWwgbz0iMTM2NDA0IiB2PSIxMjIuMSIvPgorCQkJCQk8dmFsIG89IjEzNzIxNCIgdj0iMTI1LjUiLz4KKwkJCQkJPHZhbCBvPSIxMzgwMjQiIHY9IjExMC43Ii8+CisJCQkJCTx2YWwgbz0iMTM4ZTMzIiB2PSIxMTAuNiIvPgorCQkJCQk8dmFsIG89IjEzOWM0NCIgdj0iMTkwLjIiLz4KKwkJCQkJPHZhbCBvPSIxM2FhNTQiIHY9Ijk5LjYiLz4KKwkJCQkJPHZhbCBvPSIxM2I4NjUiIHY9IjIwOS40Ii8+CisJCQkJCTx2YWwgbz0iMTNjNjdlIiB2PSI3Ni4yIi8+CisJCQkJCTx2YWwgbz0iMTNkNDhlIiB2PSI2MS41Ii8+CisJCQkJCTx2YWwgbz0iMTNlMjllIiB2PSI0NC41Ii8+CisJCQkJCTx2YWwgbz0iMTNmMGFlIiB2PSI0NC4yIi8+CisJCQkJCTx2YWwgbz0iMTNmZWJmIiB2PSI2MC40Ii8+CisJCQkJCTx2YWwgbz0iMTQwY2NmIiB2PSI2NC42Ii8+CisJCQkJCTx2YWwgbz0iMTQxYWRmIiB2PSI2Ny4zIi8+CisJCQkJCTx2YWwgbz0iMTQyOGVmIiB2PSIzNDEuMiIvPgorCQkJCQk8dmFsIG89IjE0MzZmZiIgdj0iMTE1LjgiLz4KKwkJCQkJPHZhbCBvPSIxNDQ1MGYiIHY9IjExNy4zIi8+CisJCQkJCTx2YWwgbz0iMTQ1MzFmIiB2PSIxODAiLz4KKwkJCQkJPHZhbCBvPSIxNDYxMzAiIHY9IjI1Mi40Ii8+CisJCQkJCTx2YWwgbz0iMTQ2ZjQwIiB2PSIyNjEuOCIvPgorCQkJCQk8dmFsIG89IjE0N2Q0NCIgdj0iMzEzLjMiLz4KKwkJCQkJPHZhbCBvPSIxNDhiNTciIHY9IjMxMS4zIi8+CisJCQkJCTx2YWwgbz0iMTQ5OTY1IiB2PSIyOTIiLz4KKwkJCQkJPHZhbCBvPSIxNGE3NzUiIHY9IjU3LjYiLz4KKwkJCQkJPHZhbCBvPSIxNGI1ODQiIHY9IjE1MS42Ii8+CisJCQkJCTx2YWwgbz0iMTRjMzk3IiB2PSI5Mi43Ii8+CisJCQkJCTx2YWwgbz0iMTRkMWE0IiB2PSI5My40Ii8+CisJCQkJCTx2YWwgbz0iMTRkZmI2IiB2PSIxMDAuMyIvPgorCQkJCQk8dmFsIG89IjE0ZWRjNSIgdj0iOTcuNCIvPgorCQkJCQk8dmFsIG89IjE0ZmJkNSIgdj0iMTg0Ii8+CisJCQkJCTx2YWwgbz0iMTUwOWU1IiB2PSIyODkuMSIvPgorCQkJCQk8dmFsIG89IjE1MTdmZiIgdj0iMjc0LjIiLz4KKwkJCQkJPHZhbCBvPSIxNTI2MDUiIHY9IjM5LjgiLz4KKwkJCQkJPHZhbCBvPSIxNTM0MTUiIHY9IjYuNSIvPgorCQkJCQk8dmFsIG89IjE1NDIyNSIgdj0iMzU1LjkiLz4KKwkJCQkJPHZhbCBvPSIxNTUwMzUiIHY9IjE5LjQiLz4KKwkJCQkJPHZhbCBvPSIxNTVlNDUiIHY9IjQ0LjIiLz4KKwkJCQkJPHZhbCBvPSIxNTZjNTUiIHY9IjYxLjQiLz4KKwkJCQkJPHZhbCBvPSIxNTdhNjUiIHY9IjU1LjUiLz4KKwkJCQkJPHZhbCBvPSIxNTg4NzUiIHY9IjYwLjIiLz4KKwkJCQkJPHZhbCBvPSIxNTk2ODYiIHY9IjcxLjciLz4KKwkJCQkJPHZhbCBvPSIxNWE0OTUiIHY9IjY2LjMiLz4KKwkJCQkJPHZhbCBvPSIxNWIyYTYiIHY9IjYxLjUiLz4KKwkJCQkJPHZhbCBvPSIxNWMwYjYiIHY9IjM4LjUiLz4KKwkJCQkJPHZhbCBvPSIxNWNlYzYiIHY9IjE3LjMiLz4KKwkJCQkJPHZhbCBvPSIxNWRjZDUiIHY9IjM1LjYiLz4KKwkJCQkJPHZhbCBvPSIxNWVhZTYiIHY9IjQ0LjkiLz4KKwkJCQkJPHZhbCBvPSIxNWY4ZjUiIHY9IjcxLjQiLz4KKwkJCQkJPHZhbCBvPSIxNjA3MDYiIHY9IjE2Ni4xIi8+CisJCQkJCTx2YWwgbz0iMTYxNTE3IiB2PSIxMjUiLz4KKwkJCQkJPHZhbCBvPSIxNjIzMjYiIHY9IjE3NiIvPgorCQkJCQk8dmFsIG89IjE2MzEzNyIgdj0iMTk1LjMiLz4KKwkJCQkJPHZhbCBvPSIxNjNmNDYiIHY9Ijk5LjEiLz4KKwkJCQkJPHZhbCBvPSIxNjRkNTciIHY9IjkwIi8+CisJCQkJCTx2YWwgbz0iMTY1YjY3IiB2PSIyNzMuOSIvPgorCQkJCQk8dmFsIG89IjE2Njk4MiIgdj0iMzQ0LjciLz4KKwkJCQkJPHZhbCBvPSIxNjc3ODYiIHY9IjMwNy4yIi8+CisJCQkJCTx2YWwgbz0iMTY4NTk2IiB2PSIyNzEuOCIvPgorCQkJCQk8dmFsIG89IjE2OTNhNiIgdj0iMjc4LjgiLz4KKwkJCQkJPHZhbCBvPSIxNmExYjUiIHY9IjI5MS41Ii8+CisJCQkJCTx2YWwgbz0iMTZhZmM2IiB2PSI1Mi45Ii8+CisJCQkJCTx2YWwgbz0iMTZiZGQ1IiB2PSI3Ni42Ii8+CisJCQkJCTx2YWwgbz0iMTZjYmU2IiB2PSI4Ny42Ii8+CisJCQkJCTx2YWwgbz0iMTZkOWY2IiB2PSIxNzAuMSIvPgorCQkJCQk8dmFsIG89IjE2ZTgwNyIgdj0iMTc0LjIiLz4KKwkJCQkJPHZhbCBvPSIxNmY2MTYiIHY9IjE3NS42Ii8+CisJCQkJCTx2YWwgbz0iMTcwNDI5IiB2PSIxODYuNyIvPgorCQkJCQk8dmFsIG89IjE3MTIzNiIgdj0iMTgzLjIiLz4KKwkJCQkJPHZhbCBvPSIxNzIwNDciIHY9IjE4MS43Ii8+CisJCQkJCTx2YWwgbz0iMTcyZTU3IiB2PSIxNzMuNiIvPgorCQkJCQk8dmFsIG89IjE3M2M2NyIgdj0iMTcwLjciLz4KKwkJCQkJPHZhbCBvPSIxNzRhNzciIHY9IjE2NS40Ii8+CisJCQkJCTx2YWwgbz0iMTc1ODg3IiB2PSIxNjMuOCIvPgorCQkJCQk8dmFsIG89IjE3NjY5NCIgdj0iMTYxLjciLz4KKwkJCQkJPHZhbCBvPSIxNzc0YTMiIHY9IjE2NS40Ii8+CisJCQkJCTx2YWwgbz0iMTc4MmIzIiB2PSIxNzAuOSIvPgorCQkJCQk8dmFsIG89IjE3OTBjNSIgdj0iMTczLjUiLz4KKwkJCQkJPHZhbCBvPSIxNzllZDQiIHY9IjE4Ny45Ii8+CisJCQkJCTx2YWwgbz0iMTdhY2U0IiB2PSIyMDEuOCIvPgorCQkJCQk8dmFsIG89IjE3YmFmZCIgdj0iMjA1LjkiLz4KKwkJCQkJPHZhbCBvPSIxN2M5MGYiIHY9IjIwNC42Ii8+CisJCQkJCTx2YWwgbz0iMTdkNzFlIiB2PSIyMDQuMSIvPgorCQkJCQk8dmFsIG89IjE3ZTUyZiIgdj0iMjA4LjIiLz4KKwkJCQkJPHZhbCBvPSIxN2YzM2YiIHY9IjIwNC40Ii8+CisJCQkJCTx2YWwgbz0iMTgwMTRmIiB2PSIxOTMuNSIvPgorCQkJCQk8dmFsIG89IjE4MGY1ZiIgdj0iMTg2LjQiLz4KKwkJCQkJPHZhbCBvPSIxODFkNmUiIHY9IjE5Mi40Ii8+CisJCQkJCTx2YWwgbz0iMTgyYjdmIiB2PSIxOTQuMyIvPgorCQkJCQk8dmFsIG89IjE4Mzk4ZiIgdj0iMTg0LjQiLz4KKwkJCQkJPHZhbCBvPSIxODQ3YTEiIHY9IjE4NC4xIi8+CisJCQkJCTx2YWwgbz0iMTg1NWFmIiB2PSIxODUuNiIvPgorCQkJCQk8dmFsIG89IjE4NjNjMCIgdj0iMTk0LjkiLz4KKwkJCQkJPHZhbCBvPSIxODcxY2YiIHY9IjE5Mi4xIi8+CisJCQkJCTx2YWwgbz0iMTg3ZmUwIiB2PSIxOTIuMSIvPgorCQkJCQk8dmFsIG89IjE4OGRlZiIgdj0iMTkwLjYiLz4KKwkJCQkJPHZhbCBvPSIxODljMDAiIHY9IjE4NS40Ii8+CisJCQkJCTx2YWwgbz0iMThiODBkIiB2PSIxNzAuOSIvPgorCQkJCQk8dmFsIG89IjE4YzYxYyIgdj0iMTg3LjQiLz4KKwkJCQkJPHZhbCBvPSIxOGQ0MmMiIHY9IjE5MS4xIi8+CisJCQkJCTx2YWwgbz0iMThlMjNiIiB2PSIxOTEuMSIvPgorCQkJCQk8dmFsIG89IjE4ZjA0YiIgdj0iMTk3LjEiLz4KKwkJCQkJPHZhbCBvPSIxOGZlNWUiIHY9IjE5NS45Ii8+CisJCQkJCTx2YWwgbz0iMTkwYzc2IiB2PSIxODkuOCIvPgorCQkJCQk8dmFsIG89IjE5MWE4NiIgdj0iMjAxLjkiLz4KKwkJCQkJPHZhbCBvPSIxOTI4OTYiIHY9IjIwMi4yIi8+CisJCQkJCTx2YWwgbz0iMTkzNmE2IiB2PSIyMDQuNCIvPgorCQkJCQk8dmFsIG89IjE5NDRiNyIgdj0iMTk2LjMiLz4KKwkJCQkJPHZhbCBvPSIxOTUyYzYiIHY9IjE4Mi42Ii8+CisJCQkJCTx2YWwgbz0iMTk2MGQ3IiB2PSIxNjIuNiIvPgorCQkJCQk8dmFsIG89IjE5NmVlNiIgdj0iMTg3LjIiLz4KKwkJCQkJPHZhbCBvPSIxOTdjZjgiIHY9IjE4Ny4zIi8+CisJCQkJCTx2YWwgbz0iMTk4YjBmIiB2PSIxNzkuNyIvPgorCQkJCQk8dmFsIG89IjE5OTkxZiIgdj0iMTgxLjciLz4KKwkJCQkJPHZhbCBvPSIxOWI1NDEiIHY9IjE4OC4zIi8+CisJCQkJCTx2YWwgbz0iMTljMzRkIiB2PSIxODYuMiIvPgorCQkJCQk8dmFsIG89IjE5ZDE1ZSIgdj0iMTgzLjUiLz4KKwkJCQkJPHZhbCBvPSIxOWRmODAiIHY9IjE4Mi4yIi8+CisJCQkJCTx2YWwgbz0iMTllZDkwIiB2PSIxNzYuNSIvPgorCQkJCQk8dmFsIG89IjE5ZWViZSIgdj0iMTc1LjYiLz4KKwkJCQkJPHZhbCBvPSIxOWZiOGUiIHY9IjE3OC41Ii8+CisJCQkJCTx2YWwgbz0iMWEwOWEwIiB2PSIyMjMuOCIvPgorCQkJCQk8dmFsIG89IjFhMTdhZSIgdj0iMjI4LjEiLz4KKwkJCQkJPHZhbCBvPSIxYTI1YmUiIHY9IjIyOS43Ii8+CisJCQkJCTx2YWwgbz0iMWEzM2NkIiB2PSIyMTYuMSIvPgorCQkJCQk8dmFsIG89IjFhNDFkZCIgdj0iMjI2LjQiLz4KKwkJCQkJPHZhbCBvPSIxYTRmZWQiIHY9IjI0OS42Ii8+CisJCQkJCTx2YWwgbz0iMWE1ZTA4IiB2PSIyNDUuOCIvPgorCQkJCQk8dmFsIG89IjFhNmMwNSIgdj0iMjUwLjEiLz4KKwkJCQkJPHZhbCBvPSIxYTdhMTUiIHY9IjI1MS4xIi8+CisJCQkJCTx2YWwgbz0iMWE4ODI2IiB2PSIyNTIuNSIvPgorCQkJCQk8dmFsIG89IjFhOTYzNyIgdj0iMjU5LjQiLz4KKwkJCQkJPHZhbCBvPSIxYWE0NDUiIHY9IjI1NC44Ii8+CisJCQkJCTx2YWwgbz0iMWFiMjU1IiB2PSIyMTguNyIvPgorCQkJCQk8dmFsIG89IjFhYzA2NSIgdj0iMjI4LjMiLz4KKwkJCQkJPHZhbCBvPSIxYWNlNzUiIHY9IjIyNy4zIi8+CisJCQkJCTx2YWwgbz0iMWFkYzg3IiB2PSIyMTQuMiIvPgorCQkJCQk8dmFsIG89IjFhZWE5NiIgdj0iMjE4LjciLz4KKwkJCQkJPHZhbCBvPSIxYWY4YTciIHY9IjIxNyIvPgorCQkJCQk8dmFsIG89IjFiMDZiNyIgdj0iMjMxLjciLz4KKwkJCQkJPHZhbCBvPSIxYjE0YzYiIHY9IjIzMC42Ii8+CisJCQkJCTx2YWwgbz0iMWM3NDYwIiB2PSI1MiIvPgorCQkJCQk8dmFsIG89IjFjODI3MCIgdj0iMzQwLjMiLz4KKwkJCQkJPHZhbCBvPSIxYzkwN2UiIHY9IjE4LjUiLz4KKwkJCQkJPHZhbCBvPSIxYzllOGYiIHY9IjM1Ny41Ii8+CisJCQkJCTx2YWwgbz0iMWNhY2EyIiB2PSIzNDQuNyIvPgorCQkJCQk8dmFsIG89IjFjYmFiMSIgdj0iMzM4LjQiLz4KKwkJCQkJPHZhbCBvPSIxY2M4YzEiIHY9IjI4LjQiLz4KKwkJCQkJPHZhbCBvPSIxY2Q2ZDAiIHY9IjIxLjgiLz4KKwkJCQkJPHZhbCBvPSIxY2U0ZGUiIHY9IjEwLjQiLz4KKwkJCQkJPHZhbCBvPSIxY2YyZjAiIHY9IjM0My45Ii8+CisJCQkJCTx2YWwgbz0iMWQwMTA5IiB2PSIzNDIuOCIvPgorCQkJCQk8dmFsIG89IjFkMGYwNiIgdj0iMzU4LjIiLz4KKwkJCQkJPHZhbCBvPSIxZDFkMTUiIHY9IjM1My41Ii8+CisJCQkJCTx2YWwgbz0iMWQyYjI1IiB2PSIzNTMuNCIvPgorCQkJCQk8dmFsIG89IjFkMzkzNSIgdj0iMS40Ii8+CisJCQkJCTx2YWwgbz0iMWQ0NzQ1IiB2PSI2LjQiLz4KKwkJCQkJPHZhbCBvPSIxZDU1NTUiIHY9IjEwLjUiLz4KKwkJCQkJPHZhbCBvPSIxZDYzNjYiIHY9IjM1MC43Ii8+CisJCQkJCTx2YWwgbz0iMWQ3MTc1IiB2PSIzNTAuOCIvPgorCQkJCQk8dmFsIG89IjFkN2Y4NiIgdj0iMzU3LjYiLz4KKwkJCQkJPHZhbCBvPSIxZDhkOTUiIHY9IjE4MS4xIi8+CisJCQkJCTx2YWwgbz0iMWQ5YmE2IiB2PSIxODQuOCIvPgorCQkJCQk8dmFsIG89IjFkYTliNiIgdj0iMTkyLjYiLz4KKwkJCQkJPHZhbCBvPSIxZGI3YzciIHY9IjE5My4xIi8+CisJCQkJCTx2YWwgbz0iMWRjNWQ1IiB2PSIxOTQuNyIvPgorCQkJCQk8dmFsIG89IjFkZDNlNiIgdj0iMTkwLjgiLz4KKwkJCQkJPHZhbCBvPSIxZGUxZjUiIHY9IjE5NSIvPgorCQkJCQk8dmFsIG89IjFkZjAwNiIgdj0iMTk1LjgiLz4KKwkJCQkJPHZhbCBvPSIxZGZlMTYiIHY9IjE5NS4zIi8+CisJCQkJCTx2YWwgbz0iMWUwYzI2IiB2PSIxOTguMSIvPgorCQkJCQk8dmFsIG89IjFlMWEzNiIgdj0iMTk4LjQiLz4KKwkJCQkJPHZhbCBvPSIxZTI4NDciIHY9IjE5OS41Ii8+CisJCQkJCTx2YWwgbz0iMWUzNjU5IiB2PSIyMDAuMiIvPgorCQkJCQk8dmFsIG89IjFlNDQ2NyIgdj0iMjAyLjMiLz4KKwkJCQkJPHZhbCBvPSIxZTUyODEiIHY9IjIwMC43Ii8+CisJCQkJCTx2YWwgbz0iMWU2MDg2IiB2PSIyMDMuNSIvPgorCQkJCQk8dmFsIG89IjFlNmU5NiIgdj0iMjA0LjYiLz4KKwkJCQkJPHZhbCBvPSIxZTdjYTYiIHY9IjE4OC40Ii8+CisJCQkJCTx2YWwgbz0iMWU4YWI1IiB2PSIxOTMuOSIvPgorCQkJCQk8dmFsIG89IjFlOThjNiIgdj0iMTg0LjQiLz4KKwkJCQkJPHZhbCBvPSIxZWE2ZDUiIHY9IjE5MC41Ii8+CisJCQkJCTx2YWwgbz0iMWViNGU2IiB2PSIxODguOSIvPgorCQkJCQk8dmFsIG89IjFlYzJmNiIgdj0iMTkyLjIiLz4KKwkJCQkJPHZhbCBvPSIxZWQxMDYiIHY9IjE4NS42Ii8+CisJCQkJCTx2YWwgbz0iMWVkZjE2IiB2PSIxODYuNiIvPgorCQkJCQk8dmFsIG89IjFlZWQyNiIgdj0iMTgyLjgiLz4KKwkJCQkJPHZhbCBvPSIxZWZiMzYiIHY9IjE4Ny42Ii8+CisJCQkJCTx2YWwgbz0iMWYwOTQ2IiB2PSIxODYuOSIvPgorCQkJCQk8dmFsIG89IjFmMTc1NiIgdj0iMTY4LjIiLz4KKwkJCQkJPHZhbCBvPSIxZjI1NjYiIHY9IjE2NC4yIi8+CisJCQkJCTx2YWwgbz0iMWYzMzc2IiB2PSIxNTQuMyIvPgorCQkJCQk8dmFsIG89IjFmNDE4NyIgdj0iMTM0LjMiLz4KKwkJCQkJPHZhbCBvPSIxZjRmOTYiIHY9IjE1NC4yIi8+CisJCQkJCTx2YWwgbz0iMWY1ZGE3IiB2PSIxODIuMiIvPgorCQkJCQk8dmFsIG89IjFmNmJiNiIgdj0iMTg4LjMiLz4KKwkJCQkJPHZhbCBvPSIxZjc5YzciIHY9IjE3NiIvPgorCQkJCQk8dmFsIG89IjFmODdkNiIgdj0iMjA2LjQiLz4KKwkJCQkJPHZhbCBvPSIxZjk1ZTciIHY9IjIxNi41Ii8+CisJCQkJCTx2YWwgbz0iMWZhNDAxIiB2PSIyMTEuNSIvPgorCQkJCQk8dmFsIG89IjFmYjIwNCIgdj0iMjEwLjgiLz4KKwkJCQkJPHZhbCBvPSIxZmMwMTYiIHY9IjIxMS4yIi8+CisJCQkJCTx2YWwgbz0iMWZjZTI1IiB2PSIxOTIuNCIvPgorCQkJCQk8dmFsIG89IjFmZGMzNSIgdj0iMTg1LjEiLz4KKwkJCQkJPHZhbCBvPSIxZmVhNDUiIHY9IjE3Ni42Ii8+CisJCQkJCTx2YWwgbz0iMWZmODU1IiB2PSIxNzEuNSIvPgorCQkJCQk8dmFsIG89IjIwMDY2NSIgdj0iMTI5LjUiLz4KKwkJCQkJPHZhbCBvPSIyMDE0NzUiIHY9IjE3My40Ii8+CisJCQkJCTx2YWwgbz0iMjAyMjg2IiB2PSIxNTcuMiIvPgorCQkJCQk8dmFsIG89IjIwMzA5NSIgdj0iMTYxLjIiLz4KKwkJCQkJPHZhbCBvPSIyMDNlYTUiIHY9IjE2My41Ii8+CisJCQkJCTx2YWwgbz0iMjA0Y2I2IiB2PSIxNzYuOCIvPgorCQkJCQk8dmFsIG89IjIwNWFjNiIgdj0iMTY2LjgiLz4KKwkJCQkJPHZhbCBvPSIyMDY4ZDYiIHY9IjE2MS41Ii8+CisJCQkJCTx2YWwgbz0iMjA3NmU2IiB2PSIxNTkuMyIvPgorCQkJCQk8dmFsIG89IjIwODRmNiIgdj0iMTc3LjYiLz4KKwkJCQkJPHZhbCBvPSIyMDkzMDYiIHY9IjE4My4yIi8+CisJCQkJCTx2YWwgbz0iMjBhMTE2IiB2PSIxODUuNCIvPgorCQkJCQk8dmFsIG89IjIwYWYyNiIgdj0iMTgyLjYiLz4KKwkJCQkJPHZhbCBvPSIyMGJkMzciIHY9IjE4OS4zIi8+CisJCQkJCTx2YWwgbz0iMjBjYjQ2IiB2PSIxNzMuMiIvPgorCQkJCQk8dmFsIG89IjIwZDk1NyIgdj0iMTc5LjQiLz4KKwkJCQkJPHZhbCBvPSIyMGU3NjciIHY9IjE5My41Ii8+CisJCQkJCTx2YWwgbz0iMjBmNTgxIiB2PSIyMDIuNiIvPgorCQkJCQk8dmFsIG89IjIxMDM4NiIgdj0iMTk3LjgiLz4KKwkJCQkJPHZhbCBvPSIyMTExOTQiIHY9IjE4Ni45Ii8+CisJCQkJCTx2YWwgbz0iMjExZmE1IiB2PSIxODguMyIvPgorCQkJCQk8dmFsIG89IjIxMmRiNSIgdj0iMTc4LjciLz4KKwkJCQkJPHZhbCBvPSIyMTNiYzUiIHY9IjE2MC4yIi8+CisJCQkJCTx2YWwgbz0iMjE0OWQ2IiB2PSIxNjguMyIvPgorCQkJCQk8dmFsIG89IjIxNTdlNSIgdj0iMTg0Ii8+CisJCQkJCTx2YWwgbz0iMjE2NWY2IiB2PSIxOTEuMSIvPgorCQkJCQk8dmFsIG89IjIxNzQwNiIgdj0iMTc3LjMiLz4KKwkJCQkJPHZhbCBvPSIyMTgyMTciIHY9IjE4Mi45Ii8+CisJCQkJCTx2YWwgbz0iMjE5MDI2IiB2PSIxODUuNCIvPgorCQkJCQk8dmFsIG89IjIxOWUzOSIgdj0iMTc2LjMiLz4KKwkJCQkJPHZhbCBvPSIyMWFjNDYiIHY9IjE3MC4xIi8+CisJCQkJCTx2YWwgbz0iMjFiYTU3IiB2PSIxNjkuMyIvPgorCQkJCQk8dmFsIG89IjIxYzg2NyIgdj0iMTU5LjgiLz4KKwkJCQkJPHZhbCBvPSIyMWQ2NzciIHY9IjE5MC45Ii8+CisJCQkJCTx2YWwgbz0iMjFlNDg3IiB2PSIxNzMuOSIvPgorCQkJCQk8dmFsIG89IjIxZjI5NiIgdj0iMTc1LjUiLz4KKwkJCQkJPHZhbCBvPSIyMjAwYTYiIHY9IjE4Ny41Ii8+CisJCQkJCTx2YWwgbz0iMjIwZWI3IiB2PSIxODguNSIvPgorCQkJCQk8dmFsIG89IjIyMWNjNiIgdj0iMTYwIi8+CisJCQkJCTx2YWwgbz0iMjIyYWQ3IiB2PSIxNzUuNSIvPgorCQkJCQk8dmFsIG89IjIyMzhlNyIgdj0iMTkyLjQiLz4KKwkJCQkJPHZhbCBvPSIyMjQ3MDEiIHY9IjIwMC44Ii8+CisJCQkJCTx2YWwgbz0iMjI1NTA1IiB2PSIxMTYuOSIvPgorCQkJCQk8dmFsIG89IjIyNjMxNSIgdj0iMTY2LjMiLz4KKwkJCQkJPHZhbCBvPSIyMjcxMjUiIHY9IjE2Mi44Ii8+CisJCQkJCTx2YWwgbz0iMjI3ZjM1IiB2PSIxMzAuNCIvPgorCQkJCQk8dmFsIG89IjIyOGQ0NSIgdj0iMTIyIi8+CisJCQkJCTx2YWwgbz0iMjI5YjU0IiB2PSIxOTMuNSIvPgorCQkJCQk8dmFsIG89IjIyYTk2NSIgdj0iMTgzLjkiLz4KKwkJCQkJPHZhbCBvPSIyMmI3NzYiIHY9IjE4MCIvPgorCQkJCQk8dmFsIG89IjIyYzU4NiIgdj0iMTU3LjMiLz4KKwkJCQkJPHZhbCBvPSIyMmQzOTciIHY9IjE0Mi43Ii8+CisJCQkJCTx2YWwgbz0iMjJlMWE2IiB2PSIxNDUuOSIvPgorCQkJCQk8dmFsIG89IjIyZWZiNiIgdj0iMTgyLjIiLz4KKwkJCQkJPHZhbCBvPSIyMmZkYzciIHY9IjE4Mi43Ii8+CisJCQkJCTx2YWwgbz0iMjMwYmQ3IiB2PSIxNzMuMyIvPgorCQkJCQk8dmFsIG89IjIzMTllNiIgdj0iMTg4LjYiLz4KKwkJCQkJPHZhbCBvPSIyMzI3ZjYiIHY9IjE3OS40Ii8+CisJCQkJCTx2YWwgbz0iMjMzNjFiIiB2PSIxNjkuOCIvPgorCQkJCQk8dmFsIG89IjIzNDQxNiIgdj0iMTY0LjMiLz4KKwkJCQkJPHZhbCBvPSIyMzUyMjYiIHY9IjE3MC4yIi8+CisJCQkJCTx2YWwgbz0iMjM2MDM3IiB2PSIxNzguOCIvPgorCQkJCQk8dmFsIG89IjIzNmU0NiIgdj0iMTU4Ii8+CisJCQkJCTx2YWwgbz0iMjM3YzU3IiB2PSIxNjEuNiIvPgorCQkJCQk8dmFsIG89IjIzOGE2NiIgdj0iMTc1LjgiLz4KKwkJCQkJPHZhbCBvPSIyMzk4ODEiIHY9IjE2OS45Ii8+CisJCQkJCTx2YWwgbz0iMjNhNjg1IiB2PSIxODUuMyIvPgorCQkJCQk8dmFsIG89IjIzYjQ5NSIgdj0iMTkxLjYiLz4KKwkJCQkJPHZhbCBvPSIyM2MyYTQiIHY9IjE3Ni44Ii8+CisJCQkJCTx2YWwgbz0iMjNkMGI1IiB2PSIxNjcuNyIvPgorCQkJCQk8dmFsIG89IjIzZGVjNCIgdj0iMTU0LjEiLz4KKwkJCQkJPHZhbCBvPSIyM2VjZDUiIHY9IjE2NyIvPgorCQkJCQk8dmFsIG89IjIzZmFlNCIgdj0iMTgwIi8+CisJCQkJCTx2YWwgbz0iMjQwOGY2IiB2PSIxNjYuOSIvPgorCQkJCQk8dmFsIG89IjI0MTcwNiIgdj0iMTQ2LjkiLz4KKwkJCQkJPHZhbCBvPSIyNDI1MTgiIHY9IjE1NS40Ii8+CisJCQkJCTx2YWwgbz0iMjQzMzI1IiB2PSIxNTcuNiIvPgorCQkJCQk8dmFsIG89IjI0NDEzNyIgdj0iMTg5LjkiLz4KKwkJCQkJPHZhbCBvPSIyNDRmNDYiIHY9IjE4Ny40Ii8+CisJCQkJCTx2YWwgbz0iMjQ2YjY2IiB2PSIxODYuOSIvPgorCQkJCQk8dmFsIG89IjI0Nzk3NiIgdj0iMTc5LjUiLz4KKwkJCQkJPHZhbCBvPSIyNDg3ODYiIHY9IjEzOS42Ii8+CisJCQkJCTx2YWwgbz0iMjQ5NTdlIiB2PSIxNjEuOCIvPgorCQkJCQk8dmFsIG89IjI0YTM4ZiIgdj0iMTcyIi8+CisJCQkJCTx2YWwgbz0iMjRiMTljIiB2PSIxODkuNSIvPgorCQkJCQk8dmFsIG89IjI0YmZhYyIgdj0iMTg3LjMiLz4KKwkJCQkJPHZhbCBvPSIyNGNkYmMiIHY9IjE4OC4yIi8+CisJCQkJCTx2YWwgbz0iMjRkYmNkIiB2PSIxODYuMSIvPgorCQkJCQk8dmFsIG89IjI0ZTllNSIgdj0iMTk4LjEiLz4KKwkJCQkJPHZhbCBvPSIyNGY4MDgiIHY9IjE5My4zIi8+CisJCQkJCTx2YWwgbz0iMjUwNjE2IiB2PSIxOTUuNiIvPgorCQkJCQk8dmFsIG89IjI1MTQyNiIgdj0iMTk4LjMiLz4KKwkJCQkJPHZhbCBvPSIyNTIyMzYiIHY9IjE4MC41Ii8+CisJCQkJCTx2YWwgbz0iMjUzMDQ3IiB2PSIxODAiLz4KKwkJCQkJPHZhbCBvPSIyNTNlNTYiIHY9IjE2MS42Ii8+CisJCQkJCTx2YWwgbz0iMjU0YzY3IiB2PSIxNjUuOCIvPgorCQkJCQk8dmFsIG89IjI1NWE3NiIgdj0iMTY1LjYiLz4KKwkJCQkJPHZhbCBvPSIyNTY4ODciIHY9IjE2MC40Ii8+CisJCQkJCTx2YWwgbz0iMjU3Njk3IiB2PSIxNDcuMiIvPgorCQkJCQk8dmFsIG89IjI1ODRhOCIgdj0iMTk2LjkiLz4KKwkJCQkJPHZhbCBvPSIyNTkyYjYiIHY9IjE5NS43Ii8+CisJCQkJCTx2YWwgbz0iMjVhMGM3IiB2PSIxODYuOSIvPgorCQkJCQk8dmFsIG89IjI1YWVkNyIgdj0iMTc4LjMiLz4KKwkJCQkJPHZhbCBvPSIyNWJjZTciIHY9IjE3Ny42Ii8+CisJCQkJCTx2YWwgbz0iMjVjYWY4IiB2PSIxNzIiLz4KKwkJCQkJPHZhbCBvPSIyNWQ5MDciIHY9IjE1Ni41Ii8+CisJCQkJCTx2YWwgbz0iMjVlNzE4IiB2PSIxNTQuMyIvPgorCQkJCQk8dmFsIG89IjI1ZjUyNyIgdj0iMTU3Ii8+CisJCQkJCTx2YWwgbz0iMjYwMzM4IiB2PSIxNzkuNSIvPgorCQkJCQk8dmFsIG89IjI2MTE0OSIgdj0iMTY2Ii8+CisJCQkJCTx2YWwgbz0iMjYxZjU5IiB2PSIxNzIuMyIvPgorCQkJCQk8dmFsIG89IjI2MmQ2OCIgdj0iMTk2LjQiLz4KKwkJCQkJPHZhbCBvPSIyNjNiODMiIHY9IjE3OS41Ii8+CisJCQkJCTx2YWwgbz0iMjY0OTg2IiB2PSIxOTUuNyIvPgorCQkJCQk8dmFsIG89IjI2NTc5NSIgdj0iMjAyLjciLz4KKwkJCQkJPHZhbCBvPSIyNjY1YTYiIHY9IjIwOS45Ii8+CisJCQkJCTx2YWwgbz0iMjY3M2I1IiB2PSIyMDQuMSIvPgorCQkJCQk8dmFsIG89IjI2ODFjNiIgdj0iMTk5LjkiLz4KKwkJCQkJPHZhbCBvPSIyNjhmZDUiIHY9IjE4Ni4zIi8+CisJCQkJCTx2YWwgbz0iMjY5ZGU2IiB2PSIxNzUuNiIvPgorCQkJCQk8dmFsIG89IjI2YWJmNiIgdj0iMTcwLjEiLz4KKwkJCQkJPHZhbCBvPSIyNmJhMDYiIHY9IjE1OS4yIi8+CisJCQkJCTx2YWwgbz0iMjZjODE3IiB2PSIxNTYuNCIvPgorCQkJCQk8dmFsIG89IjI2ZDYyYiIgdj0iMTM3LjciLz4KKwkJCQkJPHZhbCBvPSIyNmU0MzYiIHY9IjE0NiIvPgorCQkJCQk8dmFsIG89IjI2ZjI0NyIgdj0iMTM5LjYiLz4KKwkJCQkJPHZhbCBvPSIyNzAwNTciIHY9IjE0My4yIi8+CisJCQkJCTx2YWwgbz0iMjcwZTY3IiB2PSIxMzcuNyIvPgorCQkJCQk8dmFsIG89IjI3MWM3NyIgdj0iMTc3LjkiLz4KKwkJCQkJPHZhbCBvPSIyNzJhODciIHY9IjE4Ni45Ii8+CisJCQkJCTx2YWwgbz0iMjczODk3IiB2PSIxODQuNSIvPgorCQkJCQk8dmFsIG89IjI3NDZhOCIgdj0iMTg4LjIiLz4KKwkJCQkJPHZhbCBvPSIyNzU0YjkiIHY9IjE5MS4xIi8+CisJCQkJCTx2YWwgbz0iMjc2MmM3IiB2PSIxNDYuNyIvPgorCQkJCQk8dmFsIG89IjI3NzBkOCIgdj0iMTYxLjQiLz4KKwkJCQkJPHZhbCBvPSIyNzdlZTciIHY9IjE4OC43Ii8+CisJCQkJPC9wYXI+CisJCQkJPHBhciBtZW1pbmQ9IjEwNjk1MDAwIiBoPSIzZGMxYThkZSI+CisJCQkJCTx2YWwgbz0iMCIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSJlMDgiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMWMzMiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyYTNjIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjM4MzUiIHY9IjQ5LjkiLz4KKwkJCQkJPHZhbCBvPSI0NjQ1IiB2PSI0OS45Ii8+CisJCQkJCTx2YWwgbz0iNTQ1NSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSI2MjY1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjcwNzUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iN2U4NSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSI4Yzk2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjlhYTUiIHY9IjUwLjEiLz4KKwkJCQkJPHZhbCBvPSJhOGI2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImI2YzUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iYzRkNyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSJkMzBiIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImUwZjYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iZWYwNiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSJmZDE3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjEwYjI3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjExOTM3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjEyNzQ2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjEzNTU2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE0MzY2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE1MTgxIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE1Zjg1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE2ZDk1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE3YmE0IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE4OWI1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE5N2M0IiB2PSI1MC4xIi8+CisJCQkJCTx2YWwgbz0iMWE1ZDUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMWIzZTYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMWMxZjYiIHY9IjUwLjEiLz4KKwkJCQkJPHZhbCBvPSIxZDAwNSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxZGUxNSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxZWMyNSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxZmEzNiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyMDg0NSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyMTY1NiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyMjQ2NSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyMzI3NiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyNDA4NiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyNGU5OSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyNWNhNyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyNmFiNyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyNzhjNiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyODZkNiIgdj0iNTAuMSIvPgorCQkJCQk8dmFsIG89IjI5NGU2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjJhMzAxIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjJiMTA1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjJiZjE1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjJjZDI1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjJkYjM1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjJlOTQ2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjJmNzU1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjMwNTY2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjMxMzc1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjMyMTllIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjMyZjk2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjMzZGE2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjM0YmI2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjM1OWRlIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjM2N2Q2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjM3NWU2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjM4NDBlIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjM5MjFlIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjNhMDE2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjNhZTI3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjNiYzM2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjNjYTQ3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjNkODU2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjNlNjY3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjNmNDgxIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjQwMjg1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjQxMDk1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjQxZWE1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjQyY2I1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjQzYWM1IiB2PSI0OS45Ii8+CisJCQkJCTx2YWwgbz0iNDQ4ZDUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iNDU2ZTYiIHY9IjQ5LjkiLz4KKwkJCQkJPHZhbCBvPSI0NjRmNSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSI0ODBmZiIgdj0iNDkuOSIvPgorCQkJCQk8dmFsIG89IjQ4ZjBlIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjQ5ZDFkIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjRhYjQ2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjRiOTU1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjRjNzY5IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjRkNTc3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjRlMzg3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjRmMTk2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjRmZmE2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjUwZGQwIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjUxYmM2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjUyOWQ2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjUzN2U3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjU0NjAwIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjU1NDA2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjU2MjE1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjU3MDI2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjU3ZTM2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjU4YzQ2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjU5YTcwIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjVhODY3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjViNjc2IiB2PSI0OS45Ii8+CisJCQkJCTx2YWwgbz0iNWM0ODciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iNWQyOTYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iNWUwYTkiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iNWVlYjgiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iNWZjYzYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iNjBhZDciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iNjE4ZTciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iNjI2ZjciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iNjM1MDciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iNjQzMTciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iNjUxMjciIHY9IjUwLjEiLz4KKwkJCQkJPHZhbCBvPSI2NWYzNyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSI2NmQ0NiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSI2N2I1NyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSI2ODk2NyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSI2OTc4MiIgdj0iNTAuMSIvPgorCQkJCQk8dmFsIG89IjZhNTg2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjZiMzk1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjZjMWE2IiB2PSI0OS45Ii8+CisJCQkJCTx2YWwgbz0iNmNmYjUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iNmRkYzYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iNmViZDYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iNmY5ZTYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iNzA3ZjYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iNzE2MDciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iNzI0MTciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iNzMyMjciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iNzQwMzciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iNzRlNDciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iNzVjNTciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iNzZhNjMiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iNzc4NzMiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iNzg2ODAiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iNzk0OGYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iN2EyOWYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iN2IwYWYiIHY9IjUwLjEiLz4KKwkJCQkJPHZhbCBvPSI3YmViZiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSI3Y2NjZiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSI3ZGFkZiIgdj0iNDkuOSIvPgorCQkJCQk8dmFsIG89IjdlOGZhIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjdmNzBhIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjgwNTFhIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjgxMzJhIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjgyMTNhIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjgyZjRhIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjgzZDVhIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89Ijg0YjZhIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89Ijg1OTdhIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89Ijg2NzhiIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89Ijg3NTliIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89Ijg4M2FjIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89Ijg5MWJiIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89Ijg5ZmNhIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjhhZGRhIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjhiYmViIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjhjOWZjIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjhkODBiIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjhlNjFhIiB2PSI1MC4xIi8+CisJCQkJCTx2YWwgbz0iOGY0MmEiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iOTAyM2EiIHY9IjUwLjEiLz4KKwkJCQkJPHZhbCBvPSI5MTA0YSIgdj0iNDkuOSIvPgorCQkJCQk8dmFsIG89IjkxZTVhIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjkyYzZhIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjkzYTg0IiB2PSI0OS45Ii8+CisJCQkJCTx2YWwgbz0iOTQ4ODUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iOTU2OTQiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iOTY0YTUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iOTcyYjQiIHY9IjQ5LjkiLz4KKwkJCQkJPHZhbCBvPSI5ODBjNSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSI5OGVkNCIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSI5OWNlNSIgdj0iNDkuOSIvPgorCQkJCQk8dmFsIG89IjlhYWY1IiB2PSI1MC4xIi8+CisJCQkJCTx2YWwgbz0iOWI5MDYiIHY9IjUwLjEiLz4KKwkJCQkJPHZhbCBvPSI5YzcxNiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSI5ZDUyNiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSI5ZTMzNiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSI5ZjE0NSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSI5ZmY1NiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSJhMGQ2NSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSJhMWI3NyIgdj0iNDkuOSIvPgorCQkJCQk8dmFsIG89ImEyOTg2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImEzNzk1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImE0NWE3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImE1M2I2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImE2MWM3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImE2ZmQ2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImE3ZTAwIiB2PSI1MC4xIi8+CisJCQkJCTx2YWwgbz0iYThjMDAiIHY9IjQ5LjkiLz4KKwkJCQkJPHZhbCBvPSJhOWEwNSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSJhYTgxNSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSJhYjYyNSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSJhYzQzNSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSJhZDI0NSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSJhZTA1NSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSJhZWU2NSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSJhZmM3NSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSJiMGE4NSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSJiMjZhNiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSJiMzRiNiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSJiNDJjNiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSJiNTBkNiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSJiNWVlNyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSJiNmNmNiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSJiN2IwNyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSJiODkxNyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSJiOTcyOCIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSJiYTUzNyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSJiYjM0NyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSJiYzE1NyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSJiY2Y2NyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSJiZGQ4MSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSJiZWI4NiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSJiZjk5NSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSJjMDdhNiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSJjMTViNSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSJjMjNjNiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSJjMzFkNSIgdj0iNDkuOSIvPgorCQkJCQk8dmFsIG89ImMzZmU2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImM0ZGY1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImM1YzA2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImM2YTE2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImM3ODI2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImM4NjM2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImM5NDQ2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImNhMjU2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImNiMDY2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImNiZTc2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImNjYzg3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImNkYTk2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImNlOGE4IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImNmNmI3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImQwNGM4IiB2PSI0OS45Ii8+CisJCQkJCTx2YWwgbz0iZDEyZDciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iZDIwZTciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iZDJmMDIiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iZDNkMDUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iZDRiMTUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iZDU5MjYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iZDY3MzUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iZDc1NDYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iZDgzNTUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iZDkxNjYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iZDlmNzUiIHY9IjUwLjEiLz4KKwkJCQkJPHZhbCBvPSJkYWQ4NyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSJkYmI5NyIgdj0iNDkuOSIvPgorCQkJCQk8dmFsIG89ImRjOWE4IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImRkN2I3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImRlNWM2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImRmM2Q3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImUwMWQ3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImUwZmU1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImUxZGY1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImUyYzA0IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImUzYTE0IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImU0ODI0IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImU1NjM0IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImU2NDQ0IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImU3MjU1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImU4MDZmIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImU4ZTdmIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImU5YzhlIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImVhYTlmIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImViOGFlIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImVjNmJmIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImVkNGNlIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImVlMmRmIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImVmMGVmIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImVmZjAxIiB2PSI1MC4xIi8+CisJCQkJCTx2YWwgbz0iZjBkMTAiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iZjFiMjAiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iZjI5MzAiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iZjM3NDAiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iZjQ1NTEiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iZjUzNjEiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iZjYxNzIiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iZjZmODAiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iZjdkOTEiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iZjhiYTEiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iZjk5YjEiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iZmE3YzAiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iZmI1ZDEiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iZmMzZTAiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iZmQxZmIiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iZmUwMGIiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iZmVlMWMiIHY9IjUwLjEiLz4KKwkJCQkJPHZhbCBvPSJmZmMyYyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxMDBhM2IiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTAxODRjIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjEwMjY1YiIgdj0iNDkuOSIvPgorCQkJCQk8dmFsIG89IjEwMzQ2YyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxMDQyN2IiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTA1MDhkIiB2PSI0OS45Ii8+CisJCQkJCTx2YWwgbz0iMTA1ZTlkIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjEwNmNhZCIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxMDdhYmQiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTA4OGNkIiB2PSI0OS45Ii8+CisJCQkJCTx2YWwgbz0iMTA5NmRlIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjEwYTRlZCIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxMGIyZmUiIHY9IjQ5LjkiLz4KKwkJCQkJPHZhbCBvPSIxMGMxMGQiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTBjZjFlIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjEwZGQyZSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxMGViNjYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTBmOTRlIiB2PSI0OS45Ii8+CisJCQkJCTx2YWwgbz0iMTEwNzVlIiB2PSI1MC4xIi8+CisJCQkJCTx2YWwgbz0iMTExNTZkIiB2PSI1MC4xIi8+CisJCQkJCTx2YWwgbz0iMTEyMzg4IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjExMzE4NyIgdj0iNDkuOSIvPgorCQkJCQk8dmFsIG89IjExM2ZiMCIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxMTRkYTYiIHY9IjQ5LjkiLz4KKwkJCQkJPHZhbCBvPSIxMTViYjYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTE2OWM2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjExNzdkNiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxMTg1ZTgiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTE5M2Y3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjExYTIwOCIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxMWIwMTciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTFiZTJmIiB2PSI1MC4xIi8+CisJCQkJCTx2YWwgbz0iMTFjYzM3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjExZGE0NyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxMWU4NTciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTFmNjY3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjEyMDU3OCIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxMjEzODYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTIyMTk2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjEyMmZhNiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxMjNkYjUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTI0YmM1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjEyNTlkNSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxMjY3ZTQiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTI3NjAwIiB2PSI0OS45Ii8+CisJCQkJCTx2YWwgbz0iMTI4MzA1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjEyOTExNSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxMjlmMjUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTJhZDM1IiB2PSI0OS45Ii8+CisJCQkJCTx2YWwgbz0iMTJiYjQ1IiB2PSI0OS45Ii8+CisJCQkJCTx2YWwgbz0iMTJjOTU0IiB2PSI0OS45Ii8+CisJCQkJCTx2YWwgbz0iMTJkNzY2IiB2PSI0OS45Ii8+CisJCQkJCTx2YWwgbz0iMTJlNTc1IiB2PSI1MC4xIi8+CisJCQkJCTx2YWwgbz0iMTJmMzg2IiB2PSI1MC4xIi8+CisJCQkJCTx2YWwgbz0iMTMwMTk2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjEzMGZhNiIgdj0iNTAuMSIvPgorCQkJCQk8dmFsIG89IjEzMWRiNyIgdj0iNDkuOSIvPgorCQkJCQk8dmFsIG89IjEzMmJjNSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxMzM5ZDQiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTM0N2U1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjEzNTVmNCIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxMzY0MDQiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTM3MjE0IiB2PSI1MC4xIi8+CisJCQkJCTx2YWwgbz0iMTM4MDI0IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjEzOGUzMyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxMzljNDQiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTNhYTU0IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjEzYjg2NSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxM2M2N2UiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTNkNDhlIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjEzZTI5ZSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxM2YwYWUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTNmZWJmIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE0MGNjZiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxNDFhZGYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTQyOGVmIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE0MzZmZiIgdj0iNDkuOSIvPgorCQkJCQk8dmFsIG89IjE0NDUwZiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxNDUzMWYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTQ2MTMwIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE0NmY0MCIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxNDdkNDQiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTQ4YjU3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE0OTk2NSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxNGE3NzUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTRiNTg0IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE0YzM5NyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxNGQxYTQiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTRkZmI2IiB2PSI0OS45Ii8+CisJCQkJCTx2YWwgbz0iMTRlZGM1IiB2PSI1MC4xIi8+CisJCQkJCTx2YWwgbz0iMTRmYmQ1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE1MDllNSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxNTE3ZmYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTUyNjA1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE1MzQxNSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxNTQyMjUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTU1MDM1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE1NWU0NSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxNTZjNTUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTU3YTY1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE1ODg3NSIgdj0iNDkuOSIvPgorCQkJCQk8dmFsIG89IjE1OTY4NiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxNWE0OTUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTViMmE2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE1YzBiNiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxNWNlYzYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTVkY2Q1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE1ZWFlNiIgdj0iNDkuOSIvPgorCQkJCQk8dmFsIG89IjE1ZjhmNSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxNjA3MDYiIHY9IjQ5LjkiLz4KKwkJCQkJPHZhbCBvPSIxNjE1MTciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTYyMzI2IiB2PSI0OS45Ii8+CisJCQkJCTx2YWwgbz0iMTYzMTM3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE2M2Y0NiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxNjRkNTciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTY1YjY3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE2Njk4MiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxNjc3ODYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTY4NTk2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE2OTNhNiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxNmExYjUiIHY9IjQ5LjkiLz4KKwkJCQkJPHZhbCBvPSIxNmFmYzYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTZiZGQ1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE2Y2JlNiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxNmQ5ZjYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTZlODA3IiB2PSI0OS45Ii8+CisJCQkJCTx2YWwgbz0iMTZmNjE2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE3MDQyOSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxNzEyMzYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTcyMDQ3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE3MmU1NyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxNzNjNjciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTc0YTc3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE3NTg4NyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxNzY2OTQiIHY9IjQ5LjkiLz4KKwkJCQkJPHZhbCBvPSIxNzc0YTMiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTc4MmIzIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE3OTBjNSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxNzllZDQiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTdhY2U0IiB2PSI1MC4xIi8+CisJCQkJCTx2YWwgbz0iMTdiYWZkIiB2PSI1MC4xIi8+CisJCQkJCTx2YWwgbz0iMTdjOTBmIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE3ZDcxZSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxN2U1MmYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTdmMzNmIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE4MDE0ZiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxODBmNWYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTgxZDZlIiB2PSI1MC4xIi8+CisJCQkJCTx2YWwgbz0iMTgyYjdmIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE4Mzk4ZiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxODQ3YTEiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTg1NWFmIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE4NjNjMCIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxODcxY2YiIHY9IjQ5LjkiLz4KKwkJCQkJPHZhbCBvPSIxODdmZTAiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTg4ZGVmIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE4OWMwMCIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxOGI4MGQiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMThjNjFjIiB2PSI0OS45Ii8+CisJCQkJCTx2YWwgbz0iMThkNDJjIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE4ZTIzYiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxOGYwNGIiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMThmZTVlIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE5MGM3NiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxOTFhODYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTkyODk2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE5MzZhNiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxOTQ0YjciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTk1MmM2IiB2PSI0OS45Ii8+CisJCQkJCTx2YWwgbz0iMTk2MGQ3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE5NmVlNiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxOTdjZjgiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTk4YjBmIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE5OTkxZiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxOWI1NDEiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTljMzRkIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE5ZDE1ZSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxOWRmODAiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTllZDkwIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE5ZWViZSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxOWZiOGUiIHY9IjQ5LjkiLz4KKwkJCQkJPHZhbCBvPSIxYTA5YTAiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMWExN2FlIiB2PSI0OS45Ii8+CisJCQkJCTx2YWwgbz0iMWEyNWJlIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjFhMzNjZCIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxYTQxZGQiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMWE0ZmVkIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjFhNWUwOCIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxYTZjMDUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMWE3YTE1IiB2PSI1MC4xIi8+CisJCQkJCTx2YWwgbz0iMWE4ODI2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjFhOTYzNyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxYWE0NDUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMWFiMjU1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjFhYzA2NSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxYWNlNzUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMWFkYzg3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjFhZWE5NiIgdj0iNDkuOSIvPgorCQkJCQk8dmFsIG89IjFhZjhhNyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxYjA2YjciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMWIxNGM2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjFjNzQ2MCIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxYzgyNzAiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMWM5MDdlIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjFjOWU4ZiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxY2FjYTIiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMWNiYWIxIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjFjYzhjMSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxY2Q2ZDAiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMWNlNGRlIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjFjZjJmMCIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxZDAxMDkiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMWQwZjA2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjFkMWQxNSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxZDJiMjUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMWQzOTM1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjFkNDc0NSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxZDU1NTUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMWQ2MzY2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjFkNzE3NSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxZDdmODYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMWQ4ZDk1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjFkOWJhNiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxZGE5YjYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMWRiN2M3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjFkYzVkNSIgdj0iNDkuOSIvPgorCQkJCQk8dmFsIG89IjFkZDNlNiIgdj0iNDkuOSIvPgorCQkJCQk8dmFsIG89IjFkZTFmNSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxZGYwMDYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMWRmZTE2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjFlMGMyNiIgdj0iNDkuOSIvPgorCQkJCQk8dmFsIG89IjFlMWEzNiIgdj0iNDkuOSIvPgorCQkJCQk8dmFsIG89IjFlMjg0NyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxZTM2NTkiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMWU0NDY3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjFlNTI4MSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxZTYwODYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMWU2ZTk2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjFlN2NhNiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxZThhYjUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMWU5OGM2IiB2PSI0OS45Ii8+CisJCQkJCTx2YWwgbz0iMWVhNmQ1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjFlYjRlNiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxZWMyZjYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMWVkMTA2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjFlZGYxNiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxZWVkMjYiIHY9IjQ5LjkiLz4KKwkJCQkJPHZhbCBvPSIxZWZiMzYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMWYwOTQ2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjFmMTc1NiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxZjI1NjYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMWYzMzc2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjFmNDE4NyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxZjRmOTYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMWY1ZGE3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjFmNmJiNiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxZjc5YzciIHY9IjUwLjEiLz4KKwkJCQkJPHZhbCBvPSIxZjg3ZDYiIHY9IjUwLjEiLz4KKwkJCQkJPHZhbCBvPSIxZjk1ZTciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMWZhNDAxIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjFmYjIwNCIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxZmMwMTYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMWZjZTI1IiB2PSI0OS45Ii8+CisJCQkJCTx2YWwgbz0iMWZkYzM1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjFmZWE0NSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxZmY4NTUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjAwNjY1IiB2PSI0OS45Ii8+CisJCQkJCTx2YWwgbz0iMjAxNDc1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjIwMjI4NiIgdj0iNDkuOSIvPgorCQkJCQk8dmFsIG89IjIwMzA5NSIgdj0iNDkuOSIvPgorCQkJCQk8dmFsIG89IjIwM2VhNSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyMDRjYjYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjA1YWM2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjIwNjhkNiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyMDc2ZTYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjA4NGY2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjIwOTMwNiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyMGExMTYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjBhZjI2IiB2PSI0OS45Ii8+CisJCQkJCTx2YWwgbz0iMjBiZDM3IiB2PSI0OS45Ii8+CisJCQkJCTx2YWwgbz0iMjBjYjQ2IiB2PSI0OS45Ii8+CisJCQkJCTx2YWwgbz0iMjBkOTU3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjIwZTc2NyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyMGY1ODEiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjEwMzg2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjIxMTE5NCIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyMTFmYTUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjEyZGI1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjIxM2JjNSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyMTQ5ZDYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjE1N2U1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjIxNjVmNiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyMTc0MDYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjE4MjE3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjIxOTAyNiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyMTllMzkiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjFhYzQ2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjIxYmE1NyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyMWM4NjciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjFkNjc3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjIxZTQ4NyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyMWYyOTYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjIwMGE2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjIyMGViNyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyMjFjYzYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjIyYWQ3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjIyMzhlNyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyMjQ3MDEiIHY9IjQ5LjkiLz4KKwkJCQkJPHZhbCBvPSIyMjU1MDUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjI2MzE1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjIyNzEyNSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyMjdmMzUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjI4ZDQ1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjIyOWI1NCIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyMmE5NjUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjJiNzc2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjIyYzU4NiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyMmQzOTciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjJlMWE2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjIyZWZiNiIgdj0iNTAuMSIvPgorCQkJCQk8dmFsIG89IjIyZmRjNyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyMzBiZDciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjMxOWU2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjIzMjdmNiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyMzM2MWIiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjM0NDE2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjIzNTIyNiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyMzYwMzciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjM2ZTQ2IiB2PSI0OS45Ii8+CisJCQkJCTx2YWwgbz0iMjM3YzU3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjIzOGE2NiIgdj0iNTAuMSIvPgorCQkJCQk8dmFsIG89IjIzOTg4MSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyM2E2ODUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjNiNDk1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjIzYzJhNCIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyM2QwYjUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjNkZWM0IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjIzZWNkNSIgdj0iNDkuOSIvPgorCQkJCQk8dmFsIG89IjIzZmFlNCIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyNDA4ZjYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjQxNzA2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjI0MjUxOCIgdj0iNDkuOSIvPgorCQkJCQk8dmFsIG89IjI0MzMyNSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyNDQxMzciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjQ0ZjQ2IiB2PSI1MC4xIi8+CisJCQkJCTx2YWwgbz0iMjQ2YjY2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjI0Nzk3NiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyNDg3ODYiIHY9IjQ5LjkiLz4KKwkJCQkJPHZhbCBvPSIyNDk1N2UiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjRhMzhmIiB2PSI0OS45Ii8+CisJCQkJCTx2YWwgbz0iMjRiMTljIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjI0YmZhYyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyNGNkYmMiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjRkYmNkIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjI0ZTllNSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyNGY4MDgiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjUwNjE2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjI1MTQyNiIgdj0iNDkuOSIvPgorCQkJCQk8dmFsIG89IjI1MjIzNiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyNTMwNDciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjUzZTU2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjI1NGM2NyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyNTVhNzYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjU2ODg3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjI1NzY5NyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyNTg0YTgiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjU5MmI2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjI1YTBjNyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyNWFlZDciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjViY2U3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjI1Y2FmOCIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyNWQ5MDciIHY9IjQ5LjkiLz4KKwkJCQkJPHZhbCBvPSIyNWU3MTgiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjVmNTI3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjI2MDMzOCIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyNjExNDkiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjYxZjU5IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjI2MmQ2OCIgdj0iNTAuMSIvPgorCQkJCQk8dmFsIG89IjI2M2I4MyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyNjQ5ODYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjY1Nzk1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjI2NjVhNiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyNjczYjUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjY4MWM2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjI2OGZkNSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyNjlkZTYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjZhYmY2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjI2YmEwNiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyNmM4MTciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjZkNjJiIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjI2ZTQzNiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyNmYyNDciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjcwMDU3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjI3MGU2NyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyNzFjNzciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjcyYTg3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjI3Mzg5NyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyNzQ2YTgiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjc1NGI5IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjI3NjJjNyIgdj0iNDkuOSIvPgorCQkJCQk8dmFsIG89IjI3NzBkOCIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyNzdlZTciIHY9IjUwIi8+CisJCQkJPC9wYXI+CisJCQkJPHBhciBtZW1pbmQ9Ijg2MTIiIGg9IjNkYzFhOGRlIj4KKwkJCQkJPHZhbCBvPSIwIiB2PSIyNS4wNyIvPgorCQkJCQk8dmFsIG89ImUwOCIgdj0iMjQuMDY3Ii8+CisJCQkJCTx2YWwgbz0iMWMzMiIgdj0iMjMuNDM4Ii8+CisJCQkJCTx2YWwgbz0iMmEzYyIgdj0iMjMuMjQ1Ii8+CisJCQkJCTx2YWwgbz0iMzgzNSIgdj0iMjIuNzg0Ii8+CisJCQkJCTx2YWwgbz0iNDY0NSIgdj0iMjIuNzQ2Ii8+CisJCQkJCTx2YWwgbz0iNTQ1NSIgdj0iMjYuMjk3Ii8+CisJCQkJCTx2YWwgbz0iNjI2NSIgdj0iMjguODc4Ii8+CisJCQkJCTx2YWwgbz0iNzA3NSIgdj0iMzQuNDUxIi8+CisJCQkJCTx2YWwgbz0iN2U4NSIgdj0iNDAuMDE3Ii8+CisJCQkJCTx2YWwgbz0iOGM5NiIgdj0iNDAuNTcyIi8+CisJCQkJCTx2YWwgbz0iOWFhNSIgdj0iMzguNjgyIi8+CisJCQkJCTx2YWwgbz0iYThiNiIgdj0iMzUuODY5Ii8+CisJCQkJCTx2YWwgbz0iYjZjNSIgdj0iMzQuMTIiLz4KKwkJCQkJPHZhbCBvPSJjNGQ3IiB2PSIwLjAzNSIvPgorCQkJCQk8dmFsIG89ImQzMGIiIHY9IjAuMDM2Ii8+CisJCQkJCTx2YWwgbz0iZTBmNiIgdj0iMC4wMzUiLz4KKwkJCQkJPHZhbCBvPSJlZjA2IiB2PSIwLjAzNyIvPgorCQkJCQk8dmFsIG89ImZkMTciIHY9IjAuMDM4Ii8+CisJCQkJCTx2YWwgbz0iMTBiMjciIHY9IjAuMDM3Ii8+CisJCQkJCTx2YWwgbz0iMTE5MzciIHY9IjAuMDM3Ii8+CisJCQkJCTx2YWwgbz0iMTI3NDYiIHY9IjAuMDM2Ii8+CisJCQkJCTx2YWwgbz0iMTM1NTYiIHY9IjAuMDM1Ii8+CisJCQkJCTx2YWwgbz0iMTQzNjYiIHY9IjAuMDM2Ii8+CisJCQkJCTx2YWwgbz0iMTUxODEiIHY9IjAuMDM3Ii8+CisJCQkJCTx2YWwgbz0iMTVmODUiIHY9IjAuMDM2Ii8+CisJCQkJCTx2YWwgbz0iMTZkOTUiIHY9IjAuMDM2Ii8+CisJCQkJCTx2YWwgbz0iMTdiYTQiIHY9IjAuMDM1Ii8+CisJCQkJCTx2YWwgbz0iMTg5YjUiIHY9IjAuMDM4Ii8+CisJCQkJCTx2YWwgbz0iMTk3YzQiIHY9IjAuMDM2Ii8+CisJCQkJCTx2YWwgbz0iMWE1ZDUiIHY9IjAuMDM3Ii8+CisJCQkJCTx2YWwgbz0iMWIzZTYiIHY9IjAuMDM0Ii8+CisJCQkJCTx2YWwgbz0iMWMxZjYiIHY9IjAuMDM3Ii8+CisJCQkJCTx2YWwgbz0iMWQwMDUiIHY9IjAuMDM1Ii8+CisJCQkJCTx2YWwgbz0iMWRlMTUiIHY9IjAuMDMzIi8+CisJCQkJCTx2YWwgbz0iMWVjMjUiIHY9IjAuMDM1Ii8+CisJCQkJCTx2YWwgbz0iMWZhMzYiIHY9IjAuMDM1Ii8+CisJCQkJCTx2YWwgbz0iMjA4NDUiIHY9IjAuMDM3Ii8+CisJCQkJCTx2YWwgbz0iMjE2NTYiIHY9IjAuMDM1Ii8+CisJCQkJCTx2YWwgbz0iMjI0NjUiIHY9IjAuMDM3Ii8+CisJCQkJCTx2YWwgbz0iMjMyNzYiIHY9IjAuMDM1Ii8+CisJCQkJCTx2YWwgbz0iMjQwODYiIHY9IjAuMDM0Ii8+CisJCQkJCTx2YWwgbz0iMjRlOTkiIHY9IjAuMDM1Ii8+CisJCQkJCTx2YWwgbz0iMjVjYTciIHY9IjAuMDM1Ii8+CisJCQkJCTx2YWwgbz0iMjZhYjciIHY9IjAuMDM1Ii8+CisJCQkJCTx2YWwgbz0iMjc4YzYiIHY9IjAuMDM2Ii8+CisJCQkJCTx2YWwgbz0iMjg2ZDYiIHY9IjAuMDM1Ii8+CisJCQkJCTx2YWwgbz0iMjk0ZTYiIHY9IjAuMDM0Ii8+CisJCQkJCTx2YWwgbz0iMmEzMDEiIHY9IjAuMDM2Ii8+CisJCQkJCTx2YWwgbz0iMmIxMDUiIHY9IjAuMDM0Ii8+CisJCQkJCTx2YWwgbz0iMmJmMTUiIHY9IjAuMDM0Ii8+CisJCQkJCTx2YWwgbz0iMmNkMjUiIHY9IjAuMDM2Ii8+CisJCQkJCTx2YWwgbz0iMmRiMzUiIHY9IjAuMDM0Ii8+CisJCQkJCTx2YWwgbz0iMmU5NDYiIHY9IjAuMDMzIi8+CisJCQkJCTx2YWwgbz0iMmY3NTUiIHY9IjAuMDM0Ii8+CisJCQkJCTx2YWwgbz0iMzA1NjYiIHY9IjAuMDM1Ii8+CisJCQkJCTx2YWwgbz0iMzEzNzUiIHY9IjAuMDM1Ii8+CisJCQkJCTx2YWwgbz0iMzIxOWUiIHY9IjAuMDM1Ii8+CisJCQkJCTx2YWwgbz0iMzJmOTYiIHY9IjAuMDM2Ii8+CisJCQkJCTx2YWwgbz0iMzNkYTYiIHY9IjAuMDM1Ii8+CisJCQkJCTx2YWwgbz0iMzRiYjYiIHY9IjAuMDM1Ii8+CisJCQkJCTx2YWwgbz0iMzU5ZGUiIHY9IjAuMDMzIi8+CisJCQkJCTx2YWwgbz0iMzY3ZDYiIHY9IjAuMDM1Ii8+CisJCQkJCTx2YWwgbz0iMzc1ZTYiIHY9IjAuMDM0Ii8+CisJCQkJCTx2YWwgbz0iMzg0MGUiIHY9IjAuMDMzIi8+CisJCQkJCTx2YWwgbz0iMzkyMWUiIHY9IjAuMDM1Ii8+CisJCQkJCTx2YWwgbz0iM2EwMTYiIHY9IjAuMDM1Ii8+CisJCQkJCTx2YWwgbz0iM2FlMjciIHY9IjAuMDM2Ii8+CisJCQkJCTx2YWwgbz0iM2JjMzYiIHY9IjAuMDM1Ii8+CisJCQkJCTx2YWwgbz0iM2NhNDciIHY9IjAuMDM1Ii8+CisJCQkJCTx2YWwgbz0iM2Q4NTYiIHY9IjAuMDM2Ii8+CisJCQkJCTx2YWwgbz0iM2U2NjciIHY9IjAuMDM1Ii8+CisJCQkJCTx2YWwgbz0iM2Y0ODEiIHY9IjAuMDM3Ii8+CisJCQkJCTx2YWwgbz0iNDAyODUiIHY9IjAuMDM0Ii8+CisJCQkJCTx2YWwgbz0iNDEwOTUiIHY9IjAuMDM1Ii8+CisJCQkJCTx2YWwgbz0iNDFlYTUiIHY9IjAuMDM1Ii8+CisJCQkJCTx2YWwgbz0iNDJjYjUiIHY9IjAuMDM1Ii8+CisJCQkJCTx2YWwgbz0iNDNhYzUiIHY9IjAuMDM2Ii8+CisJCQkJCTx2YWwgbz0iNDQ4ZDUiIHY9IjAuMDM4Ii8+CisJCQkJCTx2YWwgbz0iNDU2ZTYiIHY9IjAuMDM2Ii8+CisJCQkJCTx2YWwgbz0iNDY0ZjUiIHY9IjAuMDM5Ii8+CisJCQkJCTx2YWwgbz0iNDgwZmYiIHY9IjAuMDM2Ii8+CisJCQkJCTx2YWwgbz0iNDhmMGUiIHY9IjAuMDM2Ii8+CisJCQkJCTx2YWwgbz0iNDlkMWQiIHY9IjAuMDM4Ii8+CisJCQkJCTx2YWwgbz0iNGFiNDYiIHY9IjAuMDM2Ii8+CisJCQkJCTx2YWwgbz0iNGI5NTUiIHY9IjAuMDM3Ii8+CisJCQkJCTx2YWwgbz0iNGM3NjkiIHY9IjAuMDM2Ii8+CisJCQkJCTx2YWwgbz0iNGQ1NzciIHY9IjAuMDM2Ii8+CisJCQkJCTx2YWwgbz0iNGUzODciIHY9IjAuMDM2Ii8+CisJCQkJCTx2YWwgbz0iNGYxOTYiIHY9IjAuMDM2Ii8+CisJCQkJCTx2YWwgbz0iNGZmYTYiIHY9IjAuMDM2Ii8+CisJCQkJCTx2YWwgbz0iNTBkZDAiIHY9IjAuMDM4Ii8+CisJCQkJCTx2YWwgbz0iNTFiYzYiIHY9IjAuMDM2Ii8+CisJCQkJCTx2YWwgbz0iNTI5ZDYiIHY9IjAuMDM2Ii8+CisJCQkJCTx2YWwgbz0iNTM3ZTciIHY9IjAuMDM1Ii8+CisJCQkJCTx2YWwgbz0iNTQ2MDAiIHY9IjAuMDM2Ii8+CisJCQkJCTx2YWwgbz0iNTU0MDYiIHY9IjAuMDM0Ii8+CisJCQkJCTx2YWwgbz0iNTYyMTUiIHY9IjAuMDM1Ii8+CisJCQkJCTx2YWwgbz0iNTcwMjYiIHY9IjAuMDM0Ii8+CisJCQkJCTx2YWwgbz0iNTdlMzYiIHY9IjAuMDM2Ii8+CisJCQkJCTx2YWwgbz0iNThjNDYiIHY9IjAuMDM1Ii8+CisJCQkJCTx2YWwgbz0iNTlhNzAiIHY9IjAuMDQiLz4KKwkJCQkJPHZhbCBvPSI1YTg2NyIgdj0iMC4wMzQiLz4KKwkJCQkJPHZhbCBvPSI1YjY3NiIgdj0iMC4wMzUiLz4KKwkJCQkJPHZhbCBvPSI1YzQ4NyIgdj0iMC4wMzYiLz4KKwkJCQkJPHZhbCBvPSI1ZDI5NiIgdj0iMC4wMzciLz4KKwkJCQkJPHZhbCBvPSI1ZTBhOSIgdj0iMC4wMzYiLz4KKwkJCQkJPHZhbCBvPSI1ZWViOCIgdj0iMC4wMzkiLz4KKwkJCQkJPHZhbCBvPSI1ZmNjNiIgdj0iMC4wMzYiLz4KKwkJCQkJPHZhbCBvPSI2MGFkNyIgdj0iMC4wMzUiLz4KKwkJCQkJPHZhbCBvPSI2MThlNyIgdj0iMC4wMzYiLz4KKwkJCQkJPHZhbCBvPSI2MjZmNyIgdj0iMC4wMzUiLz4KKwkJCQkJPHZhbCBvPSI2MzUwNyIgdj0iMC4wMzYiLz4KKwkJCQkJPHZhbCBvPSI2NDMxNyIgdj0iMC4wMzciLz4KKwkJCQkJPHZhbCBvPSI2NTEyNyIgdj0iMC4wMzkiLz4KKwkJCQkJPHZhbCBvPSI2NWYzNyIgdj0iMC4wMzciLz4KKwkJCQkJPHZhbCBvPSI2NmQ0NiIgdj0iMC4wMzUiLz4KKwkJCQkJPHZhbCBvPSI2N2I1NyIgdj0iMC4wMzYiLz4KKwkJCQkJPHZhbCBvPSI2ODk2NyIgdj0iMC4wMzUiLz4KKwkJCQkJPHZhbCBvPSI2OTc4MiIgdj0iMC4wMzUiLz4KKwkJCQkJPHZhbCBvPSI2YTU4NiIgdj0iMC4wMzciLz4KKwkJCQkJPHZhbCBvPSI2YjM5NSIgdj0iMC4wMzUiLz4KKwkJCQkJPHZhbCBvPSI2YzFhNiIgdj0iMC4wMzciLz4KKwkJCQkJPHZhbCBvPSI2Y2ZiNSIgdj0iMC4wMzUiLz4KKwkJCQkJPHZhbCBvPSI2ZGRjNiIgdj0iMC4wMzMiLz4KKwkJCQkJPHZhbCBvPSI2ZWJkNiIgdj0iMC4wMzMiLz4KKwkJCQkJPHZhbCBvPSI2ZjllNiIgdj0iMC4wMzUiLz4KKwkJCQkJPHZhbCBvPSI3MDdmNiIgdj0iMC4wMzUiLz4KKwkJCQkJPHZhbCBvPSI3MTYwNyIgdj0iMC4wMzciLz4KKwkJCQkJPHZhbCBvPSI3MjQxNyIgdj0iMC4wMzciLz4KKwkJCQkJPHZhbCBvPSI3MzIyNyIgdj0iMC4wMzciLz4KKwkJCQkJPHZhbCBvPSI3NDAzNyIgdj0iMC4wMzciLz4KKwkJCQkJPHZhbCBvPSI3NGU0NyIgdj0iMC4wMzciLz4KKwkJCQkJPHZhbCBvPSI3NWM1NyIgdj0iMC4wNCIvPgorCQkJCQk8dmFsIG89Ijc2YTYzIiB2PSIwLjAzNiIvPgorCQkJCQk8dmFsIG89Ijc3ODczIiB2PSIwLjAzNSIvPgorCQkJCQk8dmFsIG89Ijc4NjgwIiB2PSIwLjAzNyIvPgorCQkJCQk8dmFsIG89Ijc5NDhmIiB2PSIwLjAzNiIvPgorCQkJCQk8dmFsIG89IjdhMjlmIiB2PSIwLjAzNiIvPgorCQkJCQk8dmFsIG89IjdiMGFmIiB2PSIwLjAzNiIvPgorCQkJCQk8dmFsIG89IjdiZWJmIiB2PSIwLjAzNiIvPgorCQkJCQk8dmFsIG89IjdjY2NmIiB2PSIwLjAzNyIvPgorCQkJCQk8dmFsIG89IjdkYWRmIiB2PSIwLjAzNiIvPgorCQkJCQk8dmFsIG89IjdlOGZhIiB2PSIwLjAzNSIvPgorCQkJCQk8dmFsIG89IjdmNzBhIiB2PSIwLjAzNSIvPgorCQkJCQk8dmFsIG89IjgwNTFhIiB2PSIwLjAzNiIvPgorCQkJCQk8dmFsIG89IjgxMzJhIiB2PSIwLjAzNCIvPgorCQkJCQk8dmFsIG89IjgyMTNhIiB2PSIwLjAzNSIvPgorCQkJCQk8dmFsIG89IjgyZjRhIiB2PSIwLjAzNiIvPgorCQkJCQk8dmFsIG89IjgzZDVhIiB2PSIwLjAzNSIvPgorCQkJCQk8dmFsIG89Ijg0YjZhIiB2PSIwLjAzNCIvPgorCQkJCQk8dmFsIG89Ijg1OTdhIiB2PSIwLjAzNSIvPgorCQkJCQk8dmFsIG89Ijg2NzhiIiB2PSIwLjAzNiIvPgorCQkJCQk8dmFsIG89Ijg3NTliIiB2PSIwLjAzNCIvPgorCQkJCQk8dmFsIG89Ijg4M2FjIiB2PSIwLjAzNyIvPgorCQkJCQk8dmFsIG89Ijg5MWJiIiB2PSIwLjAzNyIvPgorCQkJCQk8dmFsIG89Ijg5ZmNhIiB2PSIwLjAzNSIvPgorCQkJCQk8dmFsIG89IjhhZGRhIiB2PSIwLjAzNSIvPgorCQkJCQk8dmFsIG89IjhiYmViIiB2PSIwLjAzNSIvPgorCQkJCQk8dmFsIG89IjhjOWZjIiB2PSIwLjAzNSIvPgorCQkJCQk8dmFsIG89IjhkODBiIiB2PSIwLjAzNCIvPgorCQkJCQk8dmFsIG89IjhlNjFhIiB2PSIwLjAzNSIvPgorCQkJCQk8dmFsIG89IjhmNDJhIiB2PSIwLjAzNCIvPgorCQkJCQk8dmFsIG89IjkwMjNhIiB2PSIwLjAzNiIvPgorCQkJCQk8dmFsIG89IjkxMDRhIiB2PSIwLjAzNSIvPgorCQkJCQk8dmFsIG89IjkxZTVhIiB2PSIwLjAzNSIvPgorCQkJCQk8dmFsIG89IjkyYzZhIiB2PSIwLjAzNCIvPgorCQkJCQk8dmFsIG89IjkzYTg0IiB2PSIwLjAzNSIvPgorCQkJCQk8dmFsIG89Ijk0ODg1IiB2PSIwLjAzNiIvPgorCQkJCQk8dmFsIG89Ijk1Njk0IiB2PSIwLjAzNCIvPgorCQkJCQk8dmFsIG89Ijk2NGE1IiB2PSIwLjAzNCIvPgorCQkJCQk8dmFsIG89Ijk3MmI0IiB2PSIwLjAzNCIvPgorCQkJCQk8dmFsIG89Ijk4MGM1IiB2PSIwLjAzNCIvPgorCQkJCQk8dmFsIG89Ijk4ZWQ0IiB2PSIwLjAzNSIvPgorCQkJCQk8dmFsIG89Ijk5Y2U1IiB2PSIwLjAzNyIvPgorCQkJCQk8dmFsIG89IjlhYWY1IiB2PSIwLjAzNCIvPgorCQkJCQk8dmFsIG89IjliOTA2IiB2PSIwLjAzNiIvPgorCQkJCQk8dmFsIG89IjljNzE2IiB2PSIwLjAzNyIvPgorCQkJCQk8dmFsIG89IjlkNTI2IiB2PSIwLjAzNSIvPgorCQkJCQk8dmFsIG89IjllMzM2IiB2PSIwLjAzNSIvPgorCQkJCQk8dmFsIG89IjlmMTQ1IiB2PSIwLjAzNSIvPgorCQkJCQk8dmFsIG89IjlmZjU2IiB2PSIwLjAzNSIvPgorCQkJCQk8dmFsIG89ImEwZDY1IiB2PSIwLjAzNiIvPgorCQkJCQk8dmFsIG89ImExYjc3IiB2PSIzNi4xMTciLz4KKwkJCQkJPHZhbCBvPSJhMjk4NiIgdj0iMTcuNjEzIi8+CisJCQkJCTx2YWwgbz0iYTM3OTUiIHY9IjguMzU3Ii8+CisJCQkJCTx2YWwgbz0iYTQ1YTciIHY9IjUuOTU3Ii8+CisJCQkJCTx2YWwgbz0iYTUzYjYiIHY9IjcuMTM0Ii8+CisJCQkJCTx2YWwgbz0iYTYxYzciIHY9IjguNjQ2Ii8+CisJCQkJCTx2YWwgbz0iYTZmZDYiIHY9IjYuNDI5Ii8+CisJCQkJCTx2YWwgbz0iYTdlMDAiIHY9IjEwLjIzNSIvPgorCQkJCQk8dmFsIG89ImE4YzAwIiB2PSIxNC4wMjciLz4KKwkJCQkJPHZhbCBvPSJhOWEwNSIgdj0iMy41NDkiLz4KKwkJCQkJPHZhbCBvPSJhYTgxNSIgdj0iMy44Ii8+CisJCQkJCTx2YWwgbz0iYWI2MjUiIHY9IjYuMDkzIi8+CisJCQkJCTx2YWwgbz0iYWM0MzUiIHY9IjUuMjA0Ii8+CisJCQkJCTx2YWwgbz0iYWQyNDUiIHY9IjcuNTI2Ii8+CisJCQkJCTx2YWwgbz0iYWUwNTUiIHY9IjExLjM5Ii8+CisJCQkJCTx2YWwgbz0iYWVlNjUiIHY9IjAuOTU0Ii8+CisJCQkJCTx2YWwgbz0iYWZjNzUiIHY9IjUuNzczIi8+CisJCQkJCTx2YWwgbz0iYjBhODUiIHY9IjIxLjAxOSIvPgorCQkJCQk8dmFsIG89ImIyNmE2IiB2PSIyMi42MzYiLz4KKwkJCQkJPHZhbCBvPSJiMzRiNiIgdj0iMTkuMzE2Ii8+CisJCQkJCTx2YWwgbz0iYjQyYzYiIHY9IjEuMjY1Ii8+CisJCQkJCTx2YWwgbz0iYjUwZDYiIHY9IjMuMTMiLz4KKwkJCQkJPHZhbCBvPSJiNWVlNyIgdj0iNi4wOTEiLz4KKwkJCQkJPHZhbCBvPSJiNmNmNiIgdj0iNy4yNzMiLz4KKwkJCQkJPHZhbCBvPSJiN2IwNyIgdj0iOS4zNzMiLz4KKwkJCQkJPHZhbCBvPSJiODkxNyIgdj0iNy43MTEiLz4KKwkJCQkJPHZhbCBvPSJiOTcyOCIgdj0iOC4xODMiLz4KKwkJCQkJPHZhbCBvPSJiYTUzNyIgdj0iOS44NDMiLz4KKwkJCQkJPHZhbCBvPSJiYjM0NyIgdj0iNS4yNTEiLz4KKwkJCQkJPHZhbCBvPSJiYzE1NyIgdj0iMi42NDYiLz4KKwkJCQkJPHZhbCBvPSJiY2Y2NyIgdj0iNy4xNzUiLz4KKwkJCQkJPHZhbCBvPSJiZGQ4MSIgdj0iMTkuNjk3Ii8+CisJCQkJCTx2YWwgbz0iYmViODYiIHY9IjQuNzAzIi8+CisJCQkJCTx2YWwgbz0iYmY5OTUiIHY9IjUuMDE3Ii8+CisJCQkJCTx2YWwgbz0iYzA3YTYiIHY9IjUuMDI4Ii8+CisJCQkJCTx2YWwgbz0iYzE1YjUiIHY9IjQuNDA2Ii8+CisJCQkJCTx2YWwgbz0iYzIzYzYiIHY9IjUuMTY0Ii8+CisJCQkJCTx2YWwgbz0iYzMxZDUiIHY9IjEwLjk1MSIvPgorCQkJCQk8dmFsIG89ImMzZmU2IiB2PSI1LjA5NiIvPgorCQkJCQk8dmFsIG89ImM0ZGY1IiB2PSIxMC4wMzIiLz4KKwkJCQkJPHZhbCBvPSJjNWMwNiIgdj0iNC4wODQiLz4KKwkJCQkJPHZhbCBvPSJjNmExNiIgdj0iNS4yMjMiLz4KKwkJCQkJPHZhbCBvPSJjNzgyNiIgdj0iNi42MjIiLz4KKwkJCQkJPHZhbCBvPSJjODYzNiIgdj0iMi41NzEiLz4KKwkJCQkJPHZhbCBvPSJjOTQ0NiIgdj0iMy43NjYiLz4KKwkJCQkJPHZhbCBvPSJjYTI1NiIgdj0iMi45MjUiLz4KKwkJCQkJPHZhbCBvPSJjYjA2NiIgdj0iNC4yMzkiLz4KKwkJCQkJPHZhbCBvPSJjYmU3NiIgdj0iMi40NDIiLz4KKwkJCQkJPHZhbCBvPSJjY2M4NyIgdj0iMTAuNjUzIi8+CisJCQkJCTx2YWwgbz0iY2RhOTYiIHY9IjE1LjA0NSIvPgorCQkJCQk8dmFsIG89ImNlOGE4IiB2PSIxMC40OTciLz4KKwkJCQkJPHZhbCBvPSJjZjZiNyIgdj0iMTQuMjQzIi8+CisJCQkJCTx2YWwgbz0iZDA0YzgiIHY9IjExLjMxOCIvPgorCQkJCQk8dmFsIG89ImQxMmQ3IiB2PSI3LjI2Ii8+CisJCQkJCTx2YWwgbz0iZDIwZTciIHY9IjMuMjc4Ii8+CisJCQkJCTx2YWwgbz0iZDJmMDIiIHY9IjEyLjc2OCIvPgorCQkJCQk8dmFsIG89ImQzZDA1IiB2PSI4Ljg2MyIvPgorCQkJCQk8dmFsIG89ImQ0YjE1IiB2PSI4LjQyMyIvPgorCQkJCQk8dmFsIG89ImQ1OTI2IiB2PSI3LjUwMyIvPgorCQkJCQk8dmFsIG89ImQ2NzM1IiB2PSI3LjgwMyIvPgorCQkJCQk8dmFsIG89ImQ3NTQ2IiB2PSIxMC45MSIvPgorCQkJCQk8dmFsIG89ImQ4MzU1IiB2PSI1Ljc0MyIvPgorCQkJCQk8dmFsIG89ImQ5MTY2IiB2PSIyLjA4MiIvPgorCQkJCQk8dmFsIG89ImQ5Zjc1IiB2PSI3Ljc1MSIvPgorCQkJCQk8dmFsIG89ImRhZDg3IiB2PSIxNi43ODUiLz4KKwkJCQkJPHZhbCBvPSJkYmI5NyIgdj0iMTguNDY3Ii8+CisJCQkJCTx2YWwgbz0iZGM5YTgiIHY9IjE4LjgwMSIvPgorCQkJCQk8dmFsIG89ImRkN2I3IiB2PSIxNi4wMDgiLz4KKwkJCQkJPHZhbCBvPSJkZTVjNiIgdj0iMTMuNjI5Ii8+CisJCQkJCTx2YWwgbz0iZGYzZDciIHY9IjE0LjQ3OSIvPgorCQkJCQk8dmFsIG89ImUwMWQ3IiB2PSIxNC45MjciLz4KKwkJCQkJPHZhbCBvPSJlMGZlNSIgdj0iMTQuMzQ5Ii8+CisJCQkJCTx2YWwgbz0iZTFkZjUiIHY9IjE1LjUwMiIvPgorCQkJCQk8dmFsIG89ImUyYzA0IiB2PSIyMC4wNyIvPgorCQkJCQk8dmFsIG89ImUzYTE0IiB2PSIyMC4wMTEiLz4KKwkJCQkJPHZhbCBvPSJlNDgyNCIgdj0iMTYuMzU3Ii8+CisJCQkJCTx2YWwgbz0iZTU2MzQiIHY9IjE3LjAzIi8+CisJCQkJCTx2YWwgbz0iZTY0NDQiIHY9IjExLjkwMSIvPgorCQkJCQk8dmFsIG89ImU3MjU1IiB2PSIxMC4xMzgiLz4KKwkJCQkJPHZhbCBvPSJlODA2ZiIgdj0iOC43MzEiLz4KKwkJCQkJPHZhbCBvPSJlOGU3ZiIgdj0iMTQuMzU3Ii8+CisJCQkJCTx2YWwgbz0iZTljOGUiIHY9IjQuODYiLz4KKwkJCQkJPHZhbCBvPSJlYWE5ZiIgdj0iNC4xNDkiLz4KKwkJCQkJPHZhbCBvPSJlYjhhZSIgdj0iNi4wMTkiLz4KKwkJCQkJPHZhbCBvPSJlYzZiZiIgdj0iMTQuNjM1Ii8+CisJCQkJCTx2YWwgbz0iZWQ0Y2UiIHY9IjkuOTg5Ii8+CisJCQkJCTx2YWwgbz0iZWUyZGYiIHY9IjExLjk2Ii8+CisJCQkJCTx2YWwgbz0iZWYwZWYiIHY9IjE1LjQyMiIvPgorCQkJCQk8dmFsIG89ImVmZjAxIiB2PSIyMi43NDIiLz4KKwkJCQkJPHZhbCBvPSJmMGQxMCIgdj0iMjIuNDI4Ii8+CisJCQkJCTx2YWwgbz0iZjFiMjAiIHY9IjI0LjExIi8+CisJCQkJCTx2YWwgbz0iZjI5MzAiIHY9IjIzLjA3NiIvPgorCQkJCQk8dmFsIG89ImYzNzQwIiB2PSIyMy4yNDEiLz4KKwkJCQkJPHZhbCBvPSJmNDU1MSIgdj0iMjQuMDE4Ii8+CisJCQkJCTx2YWwgbz0iZjUzNjEiIHY9IjI1Ljk4OSIvPgorCQkJCQk8dmFsIG89ImY2MTcyIiB2PSIyNC43NDgiLz4KKwkJCQkJPHZhbCBvPSJmNmY4MCIgdj0iMjUuMzIzIi8+CisJCQkJCTx2YWwgbz0iZjdkOTEiIHY9IjIzLjEyMiIvPgorCQkJCQk8dmFsIG89ImY4YmExIiB2PSIxOS40MDMiLz4KKwkJCQkJPHZhbCBvPSJmOTliMSIgdj0iMTkuMjgiLz4KKwkJCQkJPHZhbCBvPSJmYTdjMCIgdj0iMTYuMTIiLz4KKwkJCQkJPHZhbCBvPSJmYjVkMSIgdj0iMTYuMjI4Ii8+CisJCQkJCTx2YWwgbz0iZmMzZTAiIHY9IjE2LjY1NCIvPgorCQkJCQk8dmFsIG89ImZkMWZiIiB2PSIxNC4yIi8+CisJCQkJCTx2YWwgbz0iZmUwMGIiIHY9IjE0LjA1NCIvPgorCQkJCQk8dmFsIG89ImZlZTFjIiB2PSI5LjU1NyIvPgorCQkJCQk8dmFsIG89ImZmYzJjIiB2PSI5LjA3MiIvPgorCQkJCQk8dmFsIG89IjEwMGEzYiIgdj0iOC4zMzMiLz4KKwkJCQkJPHZhbCBvPSIxMDE4NGMiIHY9IjkuNzcxIi8+CisJCQkJCTx2YWwgbz0iMTAyNjViIiB2PSIxNC4zMzciLz4KKwkJCQkJPHZhbCBvPSIxMDM0NmMiIHY9IjE2LjA0OSIvPgorCQkJCQk8dmFsIG89IjEwNDI3YiIgdj0iMTkuOTExIi8+CisJCQkJCTx2YWwgbz0iMTA1MDhkIiB2PSIyMy4yMzgiLz4KKwkJCQkJPHZhbCBvPSIxMDVlOWQiIHY9IjIzLjIxMyIvPgorCQkJCQk8dmFsIG89IjEwNmNhZCIgdj0iMjUuMTc5Ii8+CisJCQkJCTx2YWwgbz0iMTA3YWJkIiB2PSIyMS41OTEiLz4KKwkJCQkJPHZhbCBvPSIxMDg4Y2QiIHY9IjE5LjY2NSIvPgorCQkJCQk8dmFsIG89IjEwOTZkZSIgdj0iMjEuMDc5Ii8+CisJCQkJCTx2YWwgbz0iMTBhNGVkIiB2PSIyMS4xMDkiLz4KKwkJCQkJPHZhbCBvPSIxMGIyZmUiIHY9IjIyLjM2MyIvPgorCQkJCQk8dmFsIG89IjEwYzEwZCIgdj0iMjUuMTcyIi8+CisJCQkJCTx2YWwgbz0iMTBjZjFlIiB2PSIyMy4yMjMiLz4KKwkJCQkJPHZhbCBvPSIxMGRkMmUiIHY9IjIwLjkxMiIvPgorCQkJCQk8dmFsIG89IjEwZWI2NiIgdj0iMjIuMDE3Ii8+CisJCQkJCTx2YWwgbz0iMTBmOTRlIiB2PSIxOC43MjkiLz4KKwkJCQkJPHZhbCBvPSIxMTA3NWUiIHY9IjE2Ljc2MSIvPgorCQkJCQk8dmFsIG89IjExMTU2ZCIgdj0iMTMuMTQ1Ii8+CisJCQkJCTx2YWwgbz0iMTEyMzg4IiB2PSIxMy45MTIiLz4KKwkJCQkJPHZhbCBvPSIxMTMxODciIHY9IjguNzEyIi8+CisJCQkJCTx2YWwgbz0iMTEzZmIwIiB2PSI4LjEwNiIvPgorCQkJCQk8dmFsIG89IjExNGRhNiIgdj0iOC4xOTUiLz4KKwkJCQkJPHZhbCBvPSIxMTViYjYiIHY9IjguMzAxIi8+CisJCQkJCTx2YWwgbz0iMTE2OWM2IiB2PSIxMC4xMTEiLz4KKwkJCQkJPHZhbCBvPSIxMTc3ZDYiIHY9IjE0LjIxMyIvPgorCQkJCQk8dmFsIG89IjExODVlOCIgdj0iMTUuNjE3Ii8+CisJCQkJCTx2YWwgbz0iMTE5M2Y3IiB2PSIxOS4wOTUiLz4KKwkJCQkJPHZhbCBvPSIxMWEyMDgiIHY9IjIzLjk4NiIvPgorCQkJCQk8dmFsIG89IjExYjAxNyIgdj0iMjAuOTE5Ii8+CisJCQkJCTx2YWwgbz0iMTFiZTJmIiB2PSIyNi4wNiIvPgorCQkJCQk8dmFsIG89IjExY2MzNyIgdj0iMjEuNDkzIi8+CisJCQkJCTx2YWwgbz0iMTFkYTQ3IiB2PSIyMS4wMDYiLz4KKwkJCQkJPHZhbCBvPSIxMWU4NTciIHY9IjIyLjE0NCIvPgorCQkJCQk8dmFsIG89IjExZjY2NyIgdj0iMTkuMTI0Ii8+CisJCQkJCTx2YWwgbz0iMTIwNTc4IiB2PSIwLjAxOSIvPgorCQkJCQk8dmFsIG89IjEyMTM4NiIgdj0iMC4wMjEiLz4KKwkJCQkJPHZhbCBvPSIxMjIxOTYiIHY9IjAuMDIxIi8+CisJCQkJCTx2YWwgbz0iMTIyZmE2IiB2PSIwLjAxOCIvPgorCQkJCQk8dmFsIG89IjEyM2RiNSIgdj0iMC4wMTUiLz4KKwkJCQkJPHZhbCBvPSIxMjRiYzUiIHY9IjAuMDE2Ii8+CisJCQkJCTx2YWwgbz0iMTI1OWQ1IiB2PSIwLjAxMSIvPgorCQkJCQk8dmFsIG89IjEyNjdlNCIgdj0iMC4wMSIvPgorCQkJCQk8dmFsIG89IjEyNzYwMCIgdj0iMC4wMTEiLz4KKwkJCQkJPHZhbCBvPSIxMjgzMDUiIHY9IjAuMDEiLz4KKwkJCQkJPHZhbCBvPSIxMjkxMTUiIHY9IjAuMDEiLz4KKwkJCQkJPHZhbCBvPSIxMjlmMjUiIHY9IjAuMDEiLz4KKwkJCQkJPHZhbCBvPSIxMmFkMzUiIHY9IjAuMDA5Ii8+CisJCQkJCTx2YWwgbz0iMTJiYjQ1IiB2PSIwLjAwNiIvPgorCQkJCQk8dmFsIG89IjEyYzk1NCIgdj0iMC4wMDkiLz4KKwkJCQkJPHZhbCBvPSIxMmQ3NjYiIHY9IjAuMDExIi8+CisJCQkJCTx2YWwgbz0iMTJlNTc1IiB2PSIwLjAxNyIvPgorCQkJCQk8dmFsIG89IjEyZjM4NiIgdj0iMC4wMTIiLz4KKwkJCQkJPHZhbCBvPSIxMzAxOTYiIHY9IjAuMDE5Ii8+CisJCQkJCTx2YWwgbz0iMTMwZmE2IiB2PSIwLjAxNCIvPgorCQkJCQk8dmFsIG89IjEzMWRiNyIgdj0iMC4wMTUiLz4KKwkJCQkJPHZhbCBvPSIxMzJiYzUiIHY9IjAuMDE1Ii8+CisJCQkJCTx2YWwgbz0iMTMzOWQ0IiB2PSIwLjI3OSIvPgorCQkJCQk8dmFsIG89IjEzNDdlNSIgdj0iMC4wOTYiLz4KKwkJCQkJPHZhbCBvPSIxMzU1ZjQiIHY9IjAuMTQxIi8+CisJCQkJCTx2YWwgbz0iMTM2NDA0IiB2PSIwLjIwNyIvPgorCQkJCQk8dmFsIG89IjEzNzIxNCIgdj0iMC4yMTgiLz4KKwkJCQkJPHZhbCBvPSIxMzgwMjQiIHY9IjAuMjEzIi8+CisJCQkJCTx2YWwgbz0iMTM4ZTMzIiB2PSIwLjIxNCIvPgorCQkJCQk8dmFsIG89IjEzOWM0NCIgdj0iMC4wNzUiLz4KKwkJCQkJPHZhbCBvPSIxM2FhNTQiIHY9IjAuMDUiLz4KKwkJCQkJPHZhbCBvPSIxM2I4NjUiIHY9IjAuMDM0Ii8+CisJCQkJCTx2YWwgbz0iMTNjNjdlIiB2PSIwLjQ0OSIvPgorCQkJCQk8dmFsIG89IjEzZDQ4ZSIgdj0iMC4yMTciLz4KKwkJCQkJPHZhbCBvPSIxM2UyOWUiIHY9IjAuMTY3Ii8+CisJCQkJCTx2YWwgbz0iMTNmMGFlIiB2PSIwLjE1OCIvPgorCQkJCQk8dmFsIG89IjEzZmViZiIgdj0iMC4yMzIiLz4KKwkJCQkJPHZhbCBvPSIxNDBjY2YiIHY9IjAuMzM5Ii8+CisJCQkJCTx2YWwgbz0iMTQxYWRmIiB2PSIwLjIxMiIvPgorCQkJCQk8dmFsIG89IjE0MjhlZiIgdj0iMC4wNDQiLz4KKwkJCQkJPHZhbCBvPSIxNDM2ZmYiIHY9IjAuMDMzIi8+CisJCQkJCTx2YWwgbz0iMTQ0NTBmIiB2PSIwLjAyNSIvPgorCQkJCQk8dmFsIG89IjE0NTMxZiIgdj0iMC4wMjMiLz4KKwkJCQkJPHZhbCBvPSIxNDYxMzAiIHY9IjAuMDU4Ii8+CisJCQkJCTx2YWwgbz0iMTQ2ZjQwIiB2PSIwLjE0NSIvPgorCQkJCQk8dmFsIG89IjE0N2Q0NCIgdj0iMC4wNjQiLz4KKwkJCQkJPHZhbCBvPSIxNDhiNTciIHY9IjAuMDgiLz4KKwkJCQkJPHZhbCBvPSIxNDk5NjUiIHY9IjAuMDY3Ii8+CisJCQkJCTx2YWwgbz0iMTRhNzc1IiB2PSIwLjExMSIvPgorCQkJCQk8dmFsIG89IjE0YjU4NCIgdj0iMC4wNSIvPgorCQkJCQk8dmFsIG89IjE0YzM5NyIgdj0iMC4yMzkiLz4KKwkJCQkJPHZhbCBvPSIxNGQxYTQiIHY9IjAuMjA2Ii8+CisJCQkJCTx2YWwgbz0iMTRkZmI2IiB2PSIwLjE2MyIvPgorCQkJCQk8dmFsIG89IjE0ZWRjNSIgdj0iMC4wNjMiLz4KKwkJCQkJPHZhbCBvPSIxNGZiZDUiIHY9IjAuMDI3Ii8+CisJCQkJCTx2YWwgbz0iMTUwOWU1IiB2PSIwLjA3NyIvPgorCQkJCQk8dmFsIG89IjE1MTdmZiIgdj0iMC4xNTMiLz4KKwkJCQkJPHZhbCBvPSIxNTI2MDUiIHY9IjAuMTgxIi8+CisJCQkJCTx2YWwgbz0iMTUzNDE1IiB2PSIwLjE0OSIvPgorCQkJCQk8dmFsIG89IjE1NDIyNSIgdj0iMC4xNTciLz4KKwkJCQkJPHZhbCBvPSIxNTUwMzUiIHY9IjAuMTY2Ii8+CisJCQkJCTx2YWwgbz0iMTU1ZTQ1IiB2PSIwLjIxNiIvPgorCQkJCQk8dmFsIG89IjE1NmM1NSIgdj0iMC4zMDYiLz4KKwkJCQkJPHZhbCBvPSIxNTdhNjUiIHY9IjAuMTY4Ii8+CisJCQkJCTx2YWwgbz0iMTU4ODc1IiB2PSIwLjE0NSIvPgorCQkJCQk8dmFsIG89IjE1OTY4NiIgdj0iMC4yNTIiLz4KKwkJCQkJPHZhbCBvPSIxNWE0OTUiIHY9IjAuMjEzIi8+CisJCQkJCTx2YWwgbz0iMTViMmE2IiB2PSIwLjE5Ii8+CisJCQkJCTx2YWwgbz0iMTVjMGI2IiB2PSIwLjExMSIvPgorCQkJCQk8dmFsIG89IjE1Y2VjNiIgdj0iMC4xMTQiLz4KKwkJCQkJPHZhbCBvPSIxNWRjZDUiIHY9IjAuMTA3Ii8+CisJCQkJCTx2YWwgbz0iMTVlYWU2IiB2PSIwLjExNSIvPgorCQkJCQk8dmFsIG89IjE1ZjhmNSIgdj0iMC4zMDIiLz4KKwkJCQkJPHZhbCBvPSIxNjA3MDYiIHY9IjAuMDMiLz4KKwkJCQkJPHZhbCBvPSIxNjE1MTciIHY9IjAuMDYiLz4KKwkJCQkJPHZhbCBvPSIxNjIzMjYiIHY9IjAuMDQ4Ii8+CisJCQkJCTx2YWwgbz0iMTYzMTM3IiB2PSIwLjA2OSIvPgorCQkJCQk8dmFsIG89IjE2M2Y0NiIgdj0iMC4wNjMiLz4KKwkJCQkJPHZhbCBvPSIxNjRkNTciIHY9IjAuMDI5Ii8+CisJCQkJCTx2YWwgbz0iMTY1YjY3IiB2PSIwLjEwNSIvPgorCQkJCQk8dmFsIG89IjE2Njk4MiIgdj0iMC4wOTYiLz4KKwkJCQkJPHZhbCBvPSIxNjc3ODYiIHY9IjAuMTQyIi8+CisJCQkJCTx2YWwgbz0iMTY4NTk2IiB2PSIwLjEwMSIvPgorCQkJCQk8dmFsIG89IjE2OTNhNiIgdj0iMC4wOTIiLz4KKwkJCQkJPHZhbCBvPSIxNmExYjUiIHY9IjAuMDcxIi8+CisJCQkJCTx2YWwgbz0iMTZhZmM2IiB2PSIwLjA2NyIvPgorCQkJCQk8dmFsIG89IjE2YmRkNSIgdj0iMC4xNyIvPgorCQkJCQk8dmFsIG89IjE2Y2JlNiIgdj0iMC4yMTIiLz4KKwkJCQkJPHZhbCBvPSIxNmQ5ZjYiIHY9IjAuMDg5Ii8+CisJCQkJCTx2YWwgbz0iMTZlODA3IiB2PSIwLjYwNyIvPgorCQkJCQk8dmFsIG89IjE2ZjYxNiIgdj0iMC42NzUiLz4KKwkJCQkJPHZhbCBvPSIxNzA0MjkiIHY9IjAuNzIzIi8+CisJCQkJCTx2YWwgbz0iMTcxMjM2IiB2PSIwLjQ3NyIvPgorCQkJCQk8dmFsIG89IjE3MjA0NyIgdj0iMC40NzciLz4KKwkJCQkJPHZhbCBvPSIxNzJlNTciIHY9IjAuNDkxIi8+CisJCQkJCTx2YWwgbz0iMTczYzY3IiB2PSIwLjQ5NiIvPgorCQkJCQk8dmFsIG89IjE3NGE3NyIgdj0iMC41NzkiLz4KKwkJCQkJPHZhbCBvPSIxNzU4ODciIHY9IjAuNjIiLz4KKwkJCQkJPHZhbCBvPSIxNzY2OTQiIHY9IjM1LjcxNiIvPgorCQkJCQk8dmFsIG89IjE3NzRhMyIgdj0iMzMuOTczIi8+CisJCQkJCTx2YWwgbz0iMTc4MmIzIiB2PSIzNS4yOTUiLz4KKwkJCQkJPHZhbCBvPSIxNzkwYzUiIHY9IjMyLjQyOSIvPgorCQkJCQk8dmFsIG89IjE3OWVkNCIgdj0iMjguNDMzIi8+CisJCQkJCTx2YWwgbz0iMTdhY2U0IiB2PSIyOS4yNCIvPgorCQkJCQk8dmFsIG89IjE3YmFmZCIgdj0iMzAuOTQzIi8+CisJCQkJCTx2YWwgbz0iMTdjOTBmIiB2PSIyOC4wNSIvPgorCQkJCQk8dmFsIG89IjE3ZDcxZSIgdj0iMjcuNzkyIi8+CisJCQkJCTx2YWwgbz0iMTdlNTJmIiB2PSIyOC4xMDIiLz4KKwkJCQkJPHZhbCBvPSIxN2YzM2YiIHY9IjI1LjUzNCIvPgorCQkJCQk8dmFsIG89IjE4MDE0ZiIgdj0iMjUuMDIxIi8+CisJCQkJCTx2YWwgbz0iMTgwZjVmIiB2PSIzMC4wNDYiLz4KKwkJCQkJPHZhbCBvPSIxODFkNmUiIHY9IjMyLjc3MiIvPgorCQkJCQk8dmFsIG89IjE4MmI3ZiIgdj0iMzguMTg2Ii8+CisJCQkJCTx2YWwgbz0iMTgzOThmIiB2PSI2NC4zNCIvPgorCQkJCQk8dmFsIG89IjE4NDdhMSIgdj0iNjMuNTgyIi8+CisJCQkJCTx2YWwgbz0iMTg1NWFmIiB2PSI2MC44OTUiLz4KKwkJCQkJPHZhbCBvPSIxODYzYzAiIHY9IjU3LjE2NyIvPgorCQkJCQk8dmFsIG89IjE4NzFjZiIgdj0iNTkuNDM2Ii8+CisJCQkJCTx2YWwgbz0iMTg3ZmUwIiB2PSI1Ni42NTUiLz4KKwkJCQkJPHZhbCBvPSIxODhkZWYiIHY9IjYwLjU5NyIvPgorCQkJCQk8dmFsIG89IjE4OWMwMCIgdj0iNTYuODM2Ii8+CisJCQkJCTx2YWwgbz0iMThiODBkIiB2PSIzNy41ODEiLz4KKwkJCQkJPHZhbCBvPSIxOGM2MWMiIHY9IjQwLjEiLz4KKwkJCQkJPHZhbCBvPSIxOGQ0MmMiIHY9IjM4LjIxNCIvPgorCQkJCQk8dmFsIG89IjE4ZTIzYiIgdj0iMzIuMTc1Ii8+CisJCQkJCTx2YWwgbz0iMThmMDRiIiB2PSIzMC42NjIiLz4KKwkJCQkJPHZhbCBvPSIxOGZlNWUiIHY9IjI2LjkzMyIvPgorCQkJCQk8dmFsIG89IjE5MGM3NiIgdj0iMjEuMjY5Ii8+CisJCQkJCTx2YWwgbz0iMTkxYTg2IiB2PSIyMS42NDYiLz4KKwkJCQkJPHZhbCBvPSIxOTI4OTYiIHY9IjIxLjI0NCIvPgorCQkJCQk8dmFsIG89IjE5MzZhNiIgdj0iMjAuODU1Ii8+CisJCQkJCTx2YWwgbz0iMTk0NGI3IiB2PSIxOS41ODgiLz4KKwkJCQkJPHZhbCBvPSIxOTUyYzYiIHY9IjIwLjgwOSIvPgorCQkJCQk8dmFsIG89IjE5NjBkNyIgdj0iMjUuNjQiLz4KKwkJCQkJPHZhbCBvPSIxOTZlZTYiIHY9IjI5LjE2NiIvPgorCQkJCQk8dmFsIG89IjE5N2NmOCIgdj0iMzEuMjM2Ii8+CisJCQkJCTx2YWwgbz0iMTk4YjBmIiB2PSIyOC40MjQiLz4KKwkJCQkJPHZhbCBvPSIxOTk5MWYiIHY9IjMyLjcxNyIvPgorCQkJCQk8dmFsIG89IjE5YjU0MSIgdj0iMzIuMjMxIi8+CisJCQkJCTx2YWwgbz0iMTljMzRkIiB2PSIyOS44MTYiLz4KKwkJCQkJPHZhbCBvPSIxOWQxNWUiIHY9IjI5LjIxOSIvPgorCQkJCQk8dmFsIG89IjE5ZGY4MCIgdj0iMjkuODYxIi8+CisJCQkJCTx2YWwgbz0iMTllZDkwIiB2PSIyOS4wOTMiLz4KKwkJCQkJPHZhbCBvPSIxOWVlYmUiIHY9IjI5LjAwNCIvPgorCQkJCQk8dmFsIG89IjE5ZmI4ZSIgdj0iMTAuNDQ1Ii8+CisJCQkJCTx2YWwgbz0iMWEwOWEwIiB2PSIxOC4xNTgiLz4KKwkJCQkJPHZhbCBvPSIxYTE3YWUiIHY9IjIzLjcxMyIvPgorCQkJCQk8dmFsIG89IjFhMjViZSIgdj0iMjUuODQiLz4KKwkJCQkJPHZhbCBvPSIxYTMzY2QiIHY9IjEzLjY5MiIvPgorCQkJCQk8dmFsIG89IjFhNDFkZCIgdj0iMTUuNjE5Ii8+CisJCQkJCTx2YWwgbz0iMWE0ZmVkIiB2PSIyMi4yMzUiLz4KKwkJCQkJPHZhbCBvPSIxYTVlMDgiIHY9IjIwLjUzMyIvPgorCQkJCQk8dmFsIG89IjFhNmMwNSIgdj0iMTQuODA2Ii8+CisJCQkJCTx2YWwgbz0iMWE3YTE1IiB2PSIxNy43ODYiLz4KKwkJCQkJPHZhbCBvPSIxYTg4MjYiIHY9IjE4LjIwNSIvPgorCQkJCQk8dmFsIG89IjFhOTYzNyIgdj0iMTQuODYiLz4KKwkJCQkJPHZhbCBvPSIxYWE0NDUiIHY9IjExLjMxNyIvPgorCQkJCQk8dmFsIG89IjFhYjI1NSIgdj0iNi40MDMiLz4KKwkJCQkJPHZhbCBvPSIxYWMwNjUiIHY9IjEzLjM4OSIvPgorCQkJCQk8dmFsIG89IjFhY2U3NSIgdj0iMTguMDk0Ii8+CisJCQkJCTx2YWwgbz0iMWFkYzg3IiB2PSIxNi42ODgiLz4KKwkJCQkJPHZhbCBvPSIxYWVhOTYiIHY9IjE2LjI1MSIvPgorCQkJCQk8dmFsIG89IjFhZjhhNyIgdj0iMTcuOTAyIi8+CisJCQkJCTx2YWwgbz0iMWIwNmI3IiB2PSIxNi44NjQiLz4KKwkJCQkJPHZhbCBvPSIxYjE0YzYiIHY9IjE2LjA3NiIvPgorCQkJCQk8dmFsIG89IjFjNzQ2MCIgdj0iNC4zMyIvPgorCQkJCQk8dmFsIG89IjFjODI3MCIgdj0iNC4zMyIvPgorCQkJCQk8dmFsIG89IjFjOTA3ZSIgdj0iMjEuMjIxIi8+CisJCQkJCTx2YWwgbz0iMWM5ZThmIiB2PSIyMC44NiIvPgorCQkJCQk8dmFsIG89IjFjYWNhMiIgdj0iMjIuOTAzIi8+CisJCQkJCTx2YWwgbz0iMWNiYWIxIiB2PSIyMi42NzIiLz4KKwkJCQkJPHZhbCBvPSIxY2M4YzEiIHY9IjM0LjcxMSIvPgorCQkJCQk8dmFsIG89IjFjZDZkMCIgdj0iMzMuNzkyIi8+CisJCQkJCTx2YWwgbz0iMWNlNGRlIiB2PSIzMi43MTciLz4KKwkJCQkJPHZhbCBvPSIxY2YyZjAiIHY9IjMzLjA0Ii8+CisJCQkJCTx2YWwgbz0iMWQwMTA5IiB2PSIzNC4wNDciLz4KKwkJCQkJPHZhbCBvPSIxZDBmMDYiIHY9IjM2LjUzNiIvPgorCQkJCQk8dmFsIG89IjFkMWQxNSIgdj0iMzYuNjczIi8+CisJCQkJCTx2YWwgbz0iMWQyYjI1IiB2PSIzNi43NTIiLz4KKwkJCQkJPHZhbCBvPSIxZDM5MzUiIHY9IjM3LjkzMiIvPgorCQkJCQk8dmFsIG89IjFkNDc0NSIgdj0iMzcuODU3Ii8+CisJCQkJCTx2YWwgbz0iMWQ1NTU1IiB2PSIzNy4wMjkiLz4KKwkJCQkJPHZhbCBvPSIxZDYzNjYiIHY9IjMyLjg0NCIvPgorCQkJCQk8dmFsIG89IjFkNzE3NSIgdj0iMzEuOTE3Ii8+CisJCQkJCTx2YWwgbz0iMWQ3Zjg2IiB2PSIzMS4zNjMiLz4KKwkJCQkJPHZhbCBvPSIxZDhkOTUiIHY9IjE1LjM0OSIvPgorCQkJCQk8dmFsIG89IjFkOWJhNiIgdj0iMTcuNjIzIi8+CisJCQkJCTx2YWwgbz0iMWRhOWI2IiB2PSIxNy42NTgiLz4KKwkJCQkJPHZhbCBvPSIxZGI3YzciIHY9IjE2LjU5NyIvPgorCQkJCQk8dmFsIG89IjFkYzVkNSIgdj0iMTcuNjIxIi8+CisJCQkJCTx2YWwgbz0iMWRkM2U2IiB2PSIxOC4wMTciLz4KKwkJCQkJPHZhbCBvPSIxZGUxZjUiIHY9IjMyLjMzNyIvPgorCQkJCQk8dmFsIG89IjFkZjAwNiIgdj0iMzcuMTEzIi8+CisJCQkJCTx2YWwgbz0iMWRmZTE2IiB2PSIzNi44OTYiLz4KKwkJCQkJPHZhbCBvPSIxZTBjMjYiIHY9IjM3LjY0NiIvPgorCQkJCQk8dmFsIG89IjFlMWEzNiIgdj0iMzcuNDY1Ii8+CisJCQkJCTx2YWwgbz0iMWUyODQ3IiB2PSIzNS45NiIvPgorCQkJCQk8dmFsIG89IjFlMzY1OSIgdj0iMzQuMjE3Ii8+CisJCQkJCTx2YWwgbz0iMWU0NDY3IiB2PSIzMS40NzIiLz4KKwkJCQkJPHZhbCBvPSIxZTUyODEiIHY9IjI3LjkxMyIvPgorCQkJCQk8dmFsIG89IjFlNjA4NiIgdj0iMjcuNzciLz4KKwkJCQkJPHZhbCBvPSIxZTZlOTYiIHY9IjI3LjA5MiIvPgorCQkJCQk8dmFsIG89IjFlN2NhNiIgdj0iOS42NSIvPgorCQkJCQk8dmFsIG89IjFlOGFiNSIgdj0iOC45ODkiLz4KKwkJCQkJPHZhbCBvPSIxZTk4YzYiIHY9IjguODcxIi8+CisJCQkJCTx2YWwgbz0iMWVhNmQ1IiB2PSIxMS41MjUiLz4KKwkJCQkJPHZhbCBvPSIxZWI0ZTYiIHY9IjExLjMxMiIvPgorCQkJCQk8dmFsIG89IjFlYzJmNiIgdj0iMTMuMTQ1Ii8+CisJCQkJCTx2YWwgbz0iMWVkMTA2IiB2PSIxMi44NjYiLz4KKwkJCQkJPHZhbCBvPSIxZWRmMTYiIHY9IjEzLjUwMyIvPgorCQkJCQk8dmFsIG89IjFlZWQyNiIgdj0iMTIuOTc3Ii8+CisJCQkJCTx2YWwgbz0iMWVmYjM2IiB2PSIxMi44NTMiLz4KKwkJCQkJPHZhbCBvPSIxZjA5NDYiIHY9IjEyLjMyMiIvPgorCQkJCQk8dmFsIG89IjFmMTc1NiIgdj0iMTEuMjQ0Ii8+CisJCQkJCTx2YWwgbz0iMWYyNTY2IiB2PSIxMS4zNTciLz4KKwkJCQkJPHZhbCBvPSIxZjMzNzYiIHY9IjEzLjkwOSIvPgorCQkJCQk8dmFsIG89IjFmNDE4NyIgdj0iMjAuNzc4Ii8+CisJCQkJCTx2YWwgbz0iMWY0Zjk2IiB2PSIxNy4zODQiLz4KKwkJCQkJPHZhbCBvPSIxZjVkYTciIHY9IjE3Ljg4MiIvPgorCQkJCQk8dmFsIG89IjFmNmJiNiIgdj0iMTcuNzc5Ii8+CisJCQkJCTx2YWwgbz0iMWY3OWM3IiB2PSIxNS42MjgiLz4KKwkJCQkJPHZhbCBvPSIxZjg3ZDYiIHY9IjE4LjcxOCIvPgorCQkJCQk8dmFsIG89IjFmOTVlNyIgdj0iMTkuNjg3Ii8+CisJCQkJCTx2YWwgbz0iMWZhNDAxIiB2PSIxNS44NTYiLz4KKwkJCQkJPHZhbCBvPSIxZmIyMDQiIHY9IjE0LjIzNSIvPgorCQkJCQk8dmFsIG89IjFmYzAxNiIgdj0iMTQuMTIxIi8+CisJCQkJCTx2YWwgbz0iMWZjZTI1IiB2PSIxMC40MTciLz4KKwkJCQkJPHZhbCBvPSIxZmRjMzUiIHY9IjEwLjE5MiIvPgorCQkJCQk8dmFsIG89IjFmZWE0NSIgdj0iMTAuMjQ3Ii8+CisJCQkJCTx2YWwgbz0iMWZmODU1IiB2PSIxMi40MDkiLz4KKwkJCQkJPHZhbCBvPSIyMDA2NjUiIHY9IjE4Ljc4MiIvPgorCQkJCQk8dmFsIG89IjIwMTQ3NSIgdj0iMTcuNzA5Ii8+CisJCQkJCTx2YWwgbz0iMjAyMjg2IiB2PSIyNC40NjgiLz4KKwkJCQkJPHZhbCBvPSIyMDMwOTUiIHY9IjI3Ljg5NSIvPgorCQkJCQk8dmFsIG89IjIwM2VhNSIgdj0iMzEuMTM1Ii8+CisJCQkJCTx2YWwgbz0iMjA0Y2I2IiB2PSIyOC4wNzMiLz4KKwkJCQkJPHZhbCBvPSIyMDVhYzYiIHY9IjI2Ljc4MSIvPgorCQkJCQk8dmFsIG89IjIwNjhkNiIgdj0iMjcuOTU1Ii8+CisJCQkJCTx2YWwgbz0iMjA3NmU2IiB2PSIzMS44MzQiLz4KKwkJCQkJPHZhbCBvPSIyMDg0ZjYiIHY9IjMwLjY4NCIvPgorCQkJCQk8dmFsIG89IjIwOTMwNiIgdj0iMzMuMjM5Ii8+CisJCQkJCTx2YWwgbz0iMjBhMTE2IiB2PSIzMS41OTIiLz4KKwkJCQkJPHZhbCBvPSIyMGFmMjYiIHY9IjI3LjA1MSIvPgorCQkJCQk8dmFsIG89IjIwYmQzNyIgdj0iMjYuODkxIi8+CisJCQkJCTx2YWwgbz0iMjBjYjQ2IiB2PSIyMi44MzQiLz4KKwkJCQkJPHZhbCBvPSIyMGQ5NTciIHY9IjIxLjEiLz4KKwkJCQkJPHZhbCBvPSIyMGU3NjciIHY9IjIwLjcyMyIvPgorCQkJCQk8dmFsIG89IjIwZjU4MSIgdj0iMjAuNDEyIi8+CisJCQkJCTx2YWwgbz0iMjEwMzg2IiB2PSIxNy4xNzgiLz4KKwkJCQkJPHZhbCBvPSIyMTExOTQiIHY9IjE0Ljg0NSIvPgorCQkJCQk8dmFsIG89IjIxMWZhNSIgdj0iMTQuNDA0Ii8+CisJCQkJCTx2YWwgbz0iMjEyZGI1IiB2PSIxMy44OTUiLz4KKwkJCQkJPHZhbCBvPSIyMTNiYzUiIHY9IjE0LjI5MSIvPgorCQkJCQk8dmFsIG89IjIxNDlkNiIgdj0iMTguMzc2Ii8+CisJCQkJCTx2YWwgbz0iMjE1N2U1IiB2PSIyMi42ODIiLz4KKwkJCQkJPHZhbCBvPSIyMTY1ZjYiIHY9IjI5LjA1NiIvPgorCQkJCQk8dmFsIG89IjIxNzQwNiIgdj0iMzAuOTg1Ii8+CisJCQkJCTx2YWwgbz0iMjE4MjE3IiB2PSIzMS4yNDQiLz4KKwkJCQkJPHZhbCBvPSIyMTkwMjYiIHY9IjMwLjUwMSIvPgorCQkJCQk8dmFsIG89IjIxOWUzOSIgdj0iMzAuNzU3Ii8+CisJCQkJCTx2YWwgbz0iMjFhYzQ2IiB2PSIyOS43NjYiLz4KKwkJCQkJPHZhbCBvPSIyMWJhNTciIHY9IjI5LjY4NiIvPgorCQkJCQk8dmFsIG89IjIxYzg2NyIgdj0iMzAuNDciLz4KKwkJCQkJPHZhbCBvPSIyMWQ2NzciIHY9IjMxLjA2Ii8+CisJCQkJCTx2YWwgbz0iMjFlNDg3IiB2PSIyOC45NTgiLz4KKwkJCQkJPHZhbCBvPSIyMWYyOTYiIHY9IjI4LjQ3NCIvPgorCQkJCQk8dmFsIG89IjIyMDBhNiIgdj0iMjcuNzUzIi8+CisJCQkJCTx2YWwgbz0iMjIwZWI3IiB2PSIyNi42NzYiLz4KKwkJCQkJPHZhbCBvPSIyMjFjYzYiIHY9IjI0LjA3Ii8+CisJCQkJCTx2YWwgbz0iMjIyYWQ3IiB2PSIxOC44ODkiLz4KKwkJCQkJPHZhbCBvPSIyMjM4ZTciIHY9IjE3LjU1NiIvPgorCQkJCQk8dmFsIG89IjIyNDcwMSIgdj0iMTYuNDM0Ii8+CisJCQkJCTx2YWwgbz0iMjI1NTA1IiB2PSIxOC40NyIvPgorCQkJCQk8dmFsIG89IjIyNjMxNSIgdj0iOS44MzciLz4KKwkJCQkJPHZhbCBvPSIyMjcxMjUiIHY9IjkuNzMiLz4KKwkJCQkJPHZhbCBvPSIyMjdmMzUiIHY9IjEyLjY3MiIvPgorCQkJCQk8dmFsIG89IjIyOGQ0NSIgdj0iMTcuMjkiLz4KKwkJCQkJPHZhbCBvPSIyMjliNTQiIHY9IjE3LjE2MSIvPgorCQkJCQk8dmFsIG89IjIyYTk2NSIgdj0iMTkuMzg4Ii8+CisJCQkJCTx2YWwgbz0iMjJiNzc2IiB2PSIyMi43OTIiLz4KKwkJCQkJPHZhbCBvPSIyMmM1ODYiIHY9IjI1Ljk3MyIvPgorCQkJCQk8dmFsIG89IjIyZDM5NyIgdj0iMjguMzA1Ii8+CisJCQkJCTx2YWwgbz0iMjJlMWE2IiB2PSIyOC40NzUiLz4KKwkJCQkJPHZhbCBvPSIyMmVmYjYiIHY9IjIzLjUzMSIvPgorCQkJCQk8dmFsIG89IjIyZmRjNyIgdj0iMjIuNjIiLz4KKwkJCQkJPHZhbCBvPSIyMzBiZDciIHY9IjIyLjEzIi8+CisJCQkJCTx2YWwgbz0iMjMxOWU2IiB2PSIyNy4xNTkiLz4KKwkJCQkJPHZhbCBvPSIyMzI3ZjYiIHY9IjI3LjcwNSIvPgorCQkJCQk8dmFsIG89IjIzMzYxYiIgdj0iMjkuNzk2Ii8+CisJCQkJCTx2YWwgbz0iMjM0NDE2IiB2PSIyNy4zNDEiLz4KKwkJCQkJPHZhbCBvPSIyMzUyMjYiIHY9IjI1Ljg4NyIvPgorCQkJCQk8dmFsIG89IjIzNjAzNyIgdj0iMjUuODQyIi8+CisJCQkJCTx2YWwgbz0iMjM2ZTQ2IiB2PSIyMy4yNjYiLz4KKwkJCQkJPHZhbCBvPSIyMzdjNTciIHY9IjIxLjY2NCIvPgorCQkJCQk8dmFsIG89IjIzOGE2NiIgdj0iMTkuNDM3Ii8+CisJCQkJCTx2YWwgbz0iMjM5ODgxIiB2PSIxNS45MTIiLz4KKwkJCQkJPHZhbCBvPSIyM2E2ODUiIHY9IjE2LjAzNyIvPgorCQkJCQk8dmFsIG89IjIzYjQ5NSIgdj0iMTUuNjc0Ii8+CisJCQkJCTx2YWwgbz0iMjNjMmE0IiB2PSIxMy43MDUiLz4KKwkJCQkJPHZhbCBvPSIyM2QwYjUiIHY9IjE0LjMzMSIvPgorCQkJCQk8dmFsIG89IjIzZGVjNCIgdj0iMTUuNzgxIi8+CisJCQkJCTx2YWwgbz0iMjNlY2Q1IiB2PSIxOC4xOTYiLz4KKwkJCQkJPHZhbCBvPSIyM2ZhZTQiIHY9IjIyLjExNSIvPgorCQkJCQk8dmFsIG89IjI0MDhmNiIgdj0iMjYuMDY2Ii8+CisJCQkJCTx2YWwgbz0iMjQxNzA2IiB2PSIzNC44MTMiLz4KKwkJCQkJPHZhbCBvPSIyNDI1MTgiIHY9IjM1LjkxNCIvPgorCQkJCQk8dmFsIG89IjI0MzMyNSIgdj0iMzYuNzc1Ii8+CisJCQkJCTx2YWwgbz0iMjQ0MTM3IiB2PSIzNC4yNzciLz4KKwkJCQkJPHZhbCBvPSIyNDRmNDYiIHY9IjMyLjA1NiIvPgorCQkJCQk8dmFsIG89IjI0NmI2NiIgdj0iMzMuMDAxIi8+CisJCQkJCTx2YWwgbz0iMjQ3OTc2IiB2PSIzMS42ODciLz4KKwkJCQkJPHZhbCBvPSIyNDg3ODYiIHY9IjM2Ljg1NCIvPgorCQkJCQk8dmFsIG89IjI0OTU3ZSIgdj0iMzAuNDI4Ii8+CisJCQkJCTx2YWwgbz0iMjRhMzhmIiB2PSIyOC4yNDYiLz4KKwkJCQkJPHZhbCBvPSIyNGIxOWMiIHY9IjI4Ljk4NCIvPgorCQkJCQk8dmFsIG89IjI0YmZhYyIgdj0iMjcuMTc2Ii8+CisJCQkJCTx2YWwgbz0iMjRjZGJjIiB2PSIyNi40NTUiLz4KKwkJCQkJPHZhbCBvPSIyNGRiY2QiIHY9IjIxLjg5MSIvPgorCQkJCQk8dmFsIG89IjI0ZTllNSIgdj0iMjAuMDczIi8+CisJCQkJCTx2YWwgbz0iMjRmODA4IiB2PSIxNy4wODMiLz4KKwkJCQkJPHZhbCBvPSIyNTA2MTYiIHY9IjE3LjkyMSIvPgorCQkJCQk8dmFsIG89IjI1MTQyNiIgdj0iMTcuOTcyIi8+CisJCQkJCTx2YWwgbz0iMjUyMjM2IiB2PSIxNi4xIi8+CisJCQkJCTx2YWwgbz0iMjUzMDQ3IiB2PSIxNy4zMjQiLz4KKwkJCQkJPHZhbCBvPSIyNTNlNTYiIHY9IjIwLjk3Ii8+CisJCQkJCTx2YWwgbz0iMjU0YzY3IiB2PSIyMS4yNjkiLz4KKwkJCQkJPHZhbCBvPSIyNTVhNzYiIHY9IjI1LjA0MSIvPgorCQkJCQk8dmFsIG89IjI1Njg4NyIgdj0iMzEuMjciLz4KKwkJCQkJPHZhbCBvPSIyNTc2OTciIHY9IjMzLjcxMiIvPgorCQkJCQk8dmFsIG89IjI1ODRhOCIgdj0iODIuNzQ0Ii8+CisJCQkJCTx2YWwgbz0iMjU5MmI2IiB2PSI0Ni43NDYiLz4KKwkJCQkJPHZhbCBvPSIyNWEwYzciIHY9IjIyLjkwMyIvPgorCQkJCQk8dmFsIG89IjI1YWVkNyIgdj0iMzEuMzQzIi8+CisJCQkJCTx2YWwgbz0iMjViY2U3IiB2PSIzMC40MzgiLz4KKwkJCQkJPHZhbCBvPSIyNWNhZjgiIHY9IjI4Ljg4MyIvPgorCQkJCQk8dmFsIG89IjI1ZDkwNyIgdj0iMzAuNzk0Ii8+CisJCQkJCTx2YWwgbz0iMjVlNzE4IiB2PSIzMS4wMTEiLz4KKwkJCQkJPHZhbCBvPSIyNWY1MjciIHY9IjI4LjA5OCIvPgorCQkJCQk8dmFsIG89IjI2MDMzOCIgdj0iMjcuMTc3Ii8+CisJCQkJCTx2YWwgbz0iMjYxMTQ5IiB2PSIyNC45NDEiLz4KKwkJCQkJPHZhbCBvPSIyNjFmNTkiIHY9IjIyLjgzNCIvPgorCQkJCQk8dmFsIG89IjI2MmQ2OCIgdj0iMjMuMjA5Ii8+CisJCQkJCTx2YWwgbz0iMjYzYjgzIiB2PSIxNy41NiIvPgorCQkJCQk8dmFsIG89IjI2NDk4NiIgdj0iMTcuNTU1Ii8+CisJCQkJCTx2YWwgbz0iMjY1Nzk1IiB2PSIxOC43NjEiLz4KKwkJCQkJPHZhbCBvPSIyNjY1YTYiIHY9IjIwLjY5OCIvPgorCQkJCQk8dmFsIG89IjI2NzNiNSIgdj0iMTkuMzcyIi8+CisJCQkJCTx2YWwgbz0iMjY4MWM2IiB2PSIxOC42NDQiLz4KKwkJCQkJPHZhbCBvPSIyNjhmZDUiIHY9IjE4Ljc5MiIvPgorCQkJCQk8dmFsIG89IjI2OWRlNiIgdj0iMTguOTUxIi8+CisJCQkJCTx2YWwgbz0iMjZhYmY2IiB2PSIxOC45MDciLz4KKwkJCQkJPHZhbCBvPSIyNmJhMDYiIHY9IjIzLjQwOSIvPgorCQkJCQk8dmFsIG89IjI2YzgxNyIgdj0iMjMuNTExIi8+CisJCQkJCTx2YWwgbz0iMjZkNjJiIiB2PSIyNi45NDEiLz4KKwkJCQkJPHZhbCBvPSIyNmU0MzYiIHY9IjI0LjAwOCIvPgorCQkJCQk8dmFsIG89IjI2ZjI0NyIgdj0iMjMuMTQ3Ii8+CisJCQkJCTx2YWwgbz0iMjcwMDU3IiB2PSIyMy45MzUiLz4KKwkJCQkJPHZhbCBvPSIyNzBlNjciIHY9IjI0Ii8+CisJCQkJCTx2YWwgbz0iMjcxYzc3IiB2PSIyMi44ODgiLz4KKwkJCQkJPHZhbCBvPSIyNzJhODciIHY9IjI2LjI0NiIvPgorCQkJCQk8dmFsIG89IjI3Mzg5NyIgdj0iMjUuOTA5Ii8+CisJCQkJCTx2YWwgbz0iMjc0NmE4IiB2PSIyNS4xMDkiLz4KKwkJCQkJPHZhbCBvPSIyNzU0YjkiIHY9IjI0LjcyNSIvPgorCQkJCQk8dmFsIG89IjI3NjJjNyIgdj0iMjMuNzU1Ii8+CisJCQkJCTx2YWwgbz0iMjc3MGQ4IiB2PSIxOC44MzkiLz4KKwkJCQkJPHZhbCBvPSIyNzdlZTciIHY9IjE1LjM2MiIvPgorCQkJCTwvcGFyPgorCQkJCTxwYXIgbWVtaW5kPSI4NjA4IiBoPSIzZGMxYThkZSI+CisJCQkJCTx2YWwgbz0iMCIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImUwOCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFjMzIiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyYTNjIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMzgzNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjQ2NDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI1NDU1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNjI2NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjcwNzUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI3ZTg1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iOGM5NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjlhYTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJhOGI2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYjZjNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImM0ZDciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJkMzBiIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZTBmNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImVmMDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJmZDE3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTBiMjciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMTkzNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEyNzQ2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTM1NTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNDM2NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1MTgxIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTVmODUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNmQ5NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE3YmE0IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTg5YjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxOTdjNCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFhNWQ1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWIzZTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxYzFmNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFkMDA1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWRlMTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZWMyNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFmYTM2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjA4NDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMTY1NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIyNDY1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjMyNzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNDA4NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI0ZTk5IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjVjYTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNmFiNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI3OGM2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjg2ZDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyOTRlNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjJhMzAxIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMmIxMDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyYmYxNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjJjZDI1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMmRiMzUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyZTk0NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjJmNzU1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMzA1NjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIzMTM3NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjMyMTllIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMzJmOTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIzM2RhNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjM0YmI2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMzU5ZGUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIzNjdkNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjM3NWU2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMzg0MGUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIzOTIxZSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjNhMDE2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iM2FlMjciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIzYmMzNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjNjYTQ3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iM2Q4NTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIzZTY2NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjNmNDgxIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNDAyODUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI0MTA5NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjQxZWE1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNDJjYjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI0M2FjNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjQ0OGQ1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNDU2ZTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI0NjRmNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjQ4MGZmIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNDhmMGUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI0OWQxZCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjRhYjQ2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNGI5NTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI0Yzc2OSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjRkNTc3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNGUzODciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI0ZjE5NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjRmZmE2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNTBkZDAiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI1MWJjNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjUyOWQ2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNTM3ZTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI1NDYwMCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjU1NDA2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNTYyMTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI1NzAyNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjU3ZTM2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNThjNDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI1OWE3MCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjVhODY3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNWI2NzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI1YzQ4NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjVkMjk2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNWUwYTkiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI1ZWViOCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjVmY2M2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNjBhZDciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI2MThlNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjYyNmY3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNjM1MDciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI2NDMxNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjY1MTI3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNjVmMzciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI2NmQ0NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjY3YjU3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNjg5NjciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI2OTc4MiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjZhNTg2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNmIzOTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI2YzFhNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjZjZmI1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNmRkYzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI2ZWJkNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjZmOWU2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNzA3ZjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI3MTYwNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjcyNDE3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNzMyMjciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI3NDAzNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89Ijc0ZTQ3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNzVjNTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI3NmE2MyIgdj0iMCIvPgorCQkJCQk8dmFsIG89Ijc3ODczIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNzg2ODAiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI3OTQ4ZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjdhMjlmIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iN2IwYWYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI3YmViZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjdjY2NmIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iN2RhZGYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI3ZThmYSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjdmNzBhIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iODA1MWEiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI4MTMyYSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjgyMTNhIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iODJmNGEiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI4M2Q1YSIgdj0iMCIvPgorCQkJCQk8dmFsIG89Ijg0YjZhIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iODU5N2EiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI4Njc4YiIgdj0iMCIvPgorCQkJCQk8dmFsIG89Ijg3NTliIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iODgzYWMiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI4OTFiYiIgdj0iMCIvPgorCQkJCQk8dmFsIG89Ijg5ZmNhIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iOGFkZGEiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI4YmJlYiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjhjOWZjIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iOGQ4MGIiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI4ZTYxYSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjhmNDJhIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iOTAyM2EiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI5MTA0YSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjkxZTVhIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iOTJjNmEiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI5M2E4NCIgdj0iMCIvPgorCQkJCQk8dmFsIG89Ijk0ODg1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iOTU2OTQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI5NjRhNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89Ijk3MmI0IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iOTgwYzUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI5OGVkNCIgdj0iMCIvPgorCQkJCQk8dmFsIG89Ijk5Y2U1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iOWFhZjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI5YjkwNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjljNzE2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iOWQ1MjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI5ZTMzNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjlmMTQ1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iOWZmNTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJhMGQ2NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImExYjc3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYTI5ODYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJhMzc5NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImE0NWE3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYTUzYjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJhNjFjNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImE2ZmQ2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYTdlMDAiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJhOGMwMCIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImE5YTA1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYWE4MTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJhYjYyNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImFjNDM1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYWQyNDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJhZTA1NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImFlZTY1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYWZjNzUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJiMGE4NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImIyNmE2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYjM0YjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJiNDJjNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImI1MGQ2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYjVlZTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJiNmNmNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImI3YjA3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYjg5MTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJiOTcyOCIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImJhNTM3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYmIzNDciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJiYzE1NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImJjZjY3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYmRkODEiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJiZWI4NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImJmOTk1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYzA3YTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJjMTViNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImMyM2M2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYzMxZDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJjM2ZlNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImM0ZGY1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYzVjMDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJjNmExNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImM3ODI2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYzg2MzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJjOTQ0NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImNhMjU2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iY2IwNjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJjYmU3NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImNjYzg3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iY2RhOTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJjZThhOCIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImNmNmI3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZDA0YzgiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJkMTJkNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImQyMGU3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZDJmMDIiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJkM2QwNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImQ0YjE1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZDU5MjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJkNjczNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImQ3NTQ2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZDgzNTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJkOTE2NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImQ5Zjc1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZGFkODciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJkYmI5NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImRjOWE4IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZGQ3YjciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJkZTVjNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImRmM2Q3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZTAxZDciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJlMGZlNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImUxZGY1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZTJjMDQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJlM2ExNCIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImU0ODI0IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZTU2MzQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJlNjQ0NCIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImU3MjU1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZTgwNmYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJlOGU3ZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImU5YzhlIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZWFhOWYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJlYjhhZSIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImVjNmJmIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZWQ0Y2UiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJlZTJkZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImVmMGVmIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZWZmMDEiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJmMGQxMCIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImYxYjIwIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZjI5MzAiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJmMzc0MCIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImY0NTUxIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZjUzNjEiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJmNjE3MiIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImY2ZjgwIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZjdkOTEiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJmOGJhMSIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImY5OWIxIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZmE3YzAiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJmYjVkMSIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImZjM2UwIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZmQxZmIiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJmZTAwYiIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImZlZTFjIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZmZjMmMiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMDBhM2IiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMDE4NGMiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMDI2NWIiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMDM0NmMiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMDQyN2IiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMDUwOGQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMDVlOWQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMDZjYWQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMDdhYmQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMDg4Y2QiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMDk2ZGUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMGE0ZWQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMGIyZmUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMGMxMGQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMGNmMWUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMGRkMmUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMGViNjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMGY5NGUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMTA3NWUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMTE1NmQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMTIzODgiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMTMxODciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMTNmYjAiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMTRkYTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMTViYjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMTY5YzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMTc3ZDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMTg1ZTgiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMTkzZjciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMWEyMDgiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMWIwMTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMWJlMmYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMWNjMzciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMWRhNDciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMWU4NTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMWY2NjciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMjA1NzgiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMjEzODYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMjIxOTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMjJmYTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMjNkYjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMjRiYzUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMjU5ZDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMjY3ZTQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMjc2MDAiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMjgzMDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMjkxMTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMjlmMjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMmFkMzUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMmJiNDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMmM5NTQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMmQ3NjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMmU1NzUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMmYzODYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMzAxOTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMzBmYTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMzFkYjciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMzJiYzUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMzM5ZDQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMzQ3ZTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMzU1ZjQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMzY0MDQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMzcyMTQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMzgwMjQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMzhlMzMiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMzljNDQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxM2FhNTQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxM2I4NjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxM2M2N2UiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxM2Q0OGUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxM2UyOWUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxM2YwYWUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxM2ZlYmYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNDBjY2YiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNDFhZGYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNDI4ZWYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNDM2ZmYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNDQ1MGYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNDUzMWYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNDYxMzAiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNDZmNDAiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNDdkNDQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNDhiNTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNDk5NjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNGE3NzUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNGI1ODQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNGMzOTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNGQxYTQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNGRmYjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNGVkYzUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNGZiZDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNTA5ZTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNTE3ZmYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNTI2MDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNTM0MTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNTQyMjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNTUwMzUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNTVlNDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNTZjNTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNTdhNjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNTg4NzUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNTk2ODYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNWE0OTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNWIyYTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNWMwYjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNWNlYzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNWRjZDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNWVhZTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNWY4ZjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNjA3MDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNjE1MTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNjIzMjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNjMxMzciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNjNmNDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNjRkNTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNjViNjciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNjY5ODIiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNjc3ODYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNjg1OTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNjkzYTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNmExYjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNmFmYzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNmJkZDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNmNiZTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNmQ5ZjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNmU4MDciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNmY2MTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNzA0MjkiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNzEyMzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNzIwNDciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNzJlNTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNzNjNjciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNzRhNzciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNzU4ODciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNzY2OTQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNzc0YTMiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNzgyYjMiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNzkwYzUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNzllZDQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxN2FjZTQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxN2JhZmQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxN2M5MGYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxN2Q3MWUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxN2U1MmYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxN2YzM2YiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxODAxNGYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxODBmNWYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxODFkNmUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxODJiN2YiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxODM5OGYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxODQ3YTEiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxODU1YWYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxODYzYzAiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxODcxY2YiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxODdmZTAiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxODhkZWYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxODljMDAiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxOGI4MGQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxOGM2MWMiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxOGQ0MmMiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxOGUyM2IiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxOGYwNGIiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxOGZlNWUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxOTBjNzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxOTFhODYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxOTI4OTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxOTM2YTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxOTQ0YjciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxOTUyYzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxOTYwZDciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxOTZlZTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxOTdjZjgiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxOThiMGYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxOTk5MWYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxOWI1NDEiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxOWMzNGQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxOWQxNWUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxOWRmODAiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxOWVkOTAiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxOWVlYmUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxOWZiOGUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxYTA5YTAiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxYTE3YWUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxYTI1YmUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxYTMzY2QiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxYTQxZGQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxYTRmZWQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxYTVlMDgiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxYTZjMDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxYTdhMTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxYTg4MjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxYTk2MzciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxYWE0NDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxYWIyNTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxYWMwNjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxYWNlNzUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxYWRjODciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxYWVhOTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxYWY4YTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxYjA2YjciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxYjE0YzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxYzc0NjAiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxYzgyNzAiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxYzkwN2UiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxYzllOGYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxY2FjYTIiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxY2JhYjEiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxY2M4YzEiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxY2Q2ZDAiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxY2U0ZGUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxY2YyZjAiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZDAxMDkiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZDBmMDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZDFkMTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZDJiMjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZDM5MzUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZDQ3NDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZDU1NTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZDYzNjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZDcxNzUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZDdmODYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZDhkOTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZDliYTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZGE5YjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZGI3YzciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZGM1ZDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZGQzZTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZGUxZjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZGYwMDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZGZlMTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZTBjMjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZTFhMzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZTI4NDciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZTM2NTkiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZTQ0NjciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZTUyODEiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZTYwODYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZTZlOTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZTdjYTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZThhYjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZTk4YzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZWE2ZDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZWI0ZTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZWMyZjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZWQxMDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZWRmMTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZWVkMjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZWZiMzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZjA5NDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZjE3NTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZjI1NjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZjMzNzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZjQxODciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZjRmOTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZjVkYTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZjZiYjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZjc5YzciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZjg3ZDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZjk1ZTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZmE0MDEiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZmIyMDQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZmMwMTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZmNlMjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZmRjMzUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZmVhNDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZmY4NTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMDA2NjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMDE0NzUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMDIyODYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMDMwOTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMDNlYTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMDRjYjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMDVhYzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMDY4ZDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMDc2ZTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMDg0ZjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMDkzMDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMGExMTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMGFmMjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMGJkMzciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMGNiNDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMGQ5NTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMGU3NjciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMGY1ODEiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMTAzODYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMTExOTQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMTFmYTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMTJkYjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMTNiYzUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMTQ5ZDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMTU3ZTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMTY1ZjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMTc0MDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMTgyMTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMTkwMjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMTllMzkiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMWFjNDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMWJhNTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMWM4NjciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMWQ2NzciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMWU0ODciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMWYyOTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMjAwYTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMjBlYjciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMjFjYzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMjJhZDciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMjM4ZTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMjQ3MDEiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMjU1MDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMjYzMTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMjcxMjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMjdmMzUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMjhkNDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMjliNTQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMmE5NjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMmI3NzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMmM1ODYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMmQzOTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMmUxYTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMmVmYjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMmZkYzciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMzBiZDciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMzE5ZTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMzI3ZjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMzM2MWIiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMzQ0MTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMzUyMjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMzYwMzciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMzZlNDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMzdjNTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMzhhNjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMzk4ODEiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyM2E2ODUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyM2I0OTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyM2MyYTQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyM2QwYjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyM2RlYzQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyM2VjZDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyM2ZhZTQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNDA4ZjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNDE3MDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNDI1MTgiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNDMzMjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNDQxMzciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNDRmNDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNDZiNjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNDc5NzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNDg3ODYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNDk1N2UiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNGEzOGYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNGIxOWMiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNGJmYWMiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNGNkYmMiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNGRiY2QiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNGU5ZTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNGY4MDgiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNTA2MTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNTE0MjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNTIyMzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNTMwNDciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNTNlNTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNTRjNjciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNTVhNzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNTY4ODciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNTc2OTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNTg0YTgiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNTkyYjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNWEwYzciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNWFlZDciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNWJjZTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNWNhZjgiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNWQ5MDciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNWU3MTgiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNWY1MjciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNjAzMzgiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNjExNDkiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNjFmNTkiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNjJkNjgiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNjNiODMiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNjQ5ODYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNjU3OTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNjY1YTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNjczYjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNjgxYzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNjhmZDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNjlkZTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNmFiZjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNmJhMDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNmM4MTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNmQ2MmIiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNmU0MzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNmYyNDciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNzAwNTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNzBlNjciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNzFjNzciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNzJhODciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNzM4OTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNzQ2YTgiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNzU0YjkiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNzYyYzciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNzcwZDgiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNzdlZTciIHY9IjAiLz4KKwkJCQk8L3Bhcj4KKwkJCQk8cGFyIG1lbWluZD0iODYwNCIgaD0iM2RjMWE4ZGUiPgorCQkJCQk8dmFsIG89IjAiIHY9IjIxLjA0MyIvPgorCQkJCQk8dmFsIG89ImUwOCIgdj0iMjAuMDUxIi8+CisJCQkJCTx2YWwgbz0iMWMzMiIgdj0iMTkuODE4Ii8+CisJCQkJCTx2YWwgbz0iMmEzYyIgdj0iMTkuNTU0Ii8+CisJCQkJCTx2YWwgbz0iMzgzNSIgdj0iMTguOTUxIi8+CisJCQkJCTx2YWwgbz0iNDY0NSIgdj0iMTguODUzIi8+CisJCQkJCTx2YWwgbz0iNTQ1NSIgdj0iMjIuMzk4Ii8+CisJCQkJCTx2YWwgbz0iNjI2NSIgdj0iMjQuNDkyIi8+CisJCQkJCTx2YWwgbz0iNzA3NSIgdj0iMjkuMjA2Ii8+CisJCQkJCTx2YWwgbz0iN2U4NSIgdj0iMzUuMDYzIi8+CisJCQkJCTx2YWwgbz0iOGM5NiIgdj0iMzUuMDciLz4KKwkJCQkJPHZhbCBvPSI5YWE1IiB2PSIzMy41ODUiLz4KKwkJCQkJPHZhbCBvPSJhOGI2IiB2PSIzMC43NyIvPgorCQkJCQk8dmFsIG89ImI2YzUiIHY9IjI5LjE0MSIvPgorCQkJCQk8dmFsIG89ImM0ZDciIHY9IjAuMDYxIi8+CisJCQkJCTx2YWwgbz0iZDMwYiIgdj0iMC4wNjEiLz4KKwkJCQkJPHZhbCBvPSJlMGY2IiB2PSIwLjA2Ii8+CisJCQkJCTx2YWwgbz0iZWYwNiIgdj0iMC4wNTkiLz4KKwkJCQkJPHZhbCBvPSJmZDE3IiB2PSIwLjA2Ii8+CisJCQkJCTx2YWwgbz0iMTBiMjciIHY9IjAuMDYyIi8+CisJCQkJCTx2YWwgbz0iMTE5MzciIHY9IjAuMDYzIi8+CisJCQkJCTx2YWwgbz0iMTI3NDYiIHY9IjAuMDYxIi8+CisJCQkJCTx2YWwgbz0iMTM1NTYiIHY9IjAuMDYyIi8+CisJCQkJCTx2YWwgbz0iMTQzNjYiIHY9IjAuMDY2Ii8+CisJCQkJCTx2YWwgbz0iMTUxODEiIHY9IjAuMDciLz4KKwkJCQkJPHZhbCBvPSIxNWY4NSIgdj0iMC4wNjQiLz4KKwkJCQkJPHZhbCBvPSIxNmQ5NSIgdj0iMC4wNjUiLz4KKwkJCQkJPHZhbCBvPSIxN2JhNCIgdj0iMC4wNjQiLz4KKwkJCQkJPHZhbCBvPSIxODliNSIgdj0iMC4wNjMiLz4KKwkJCQkJPHZhbCBvPSIxOTdjNCIgdj0iMC4wNjQiLz4KKwkJCQkJPHZhbCBvPSIxYTVkNSIgdj0iMC4wNjYiLz4KKwkJCQkJPHZhbCBvPSIxYjNlNiIgdj0iMC4wNjciLz4KKwkJCQkJPHZhbCBvPSIxYzFmNiIgdj0iMC4wNjYiLz4KKwkJCQkJPHZhbCBvPSIxZDAwNSIgdj0iMC4wNjIiLz4KKwkJCQkJPHZhbCBvPSIxZGUxNSIgdj0iMC4wNjIiLz4KKwkJCQkJPHZhbCBvPSIxZWMyNSIgdj0iMC4wNjMiLz4KKwkJCQkJPHZhbCBvPSIxZmEzNiIgdj0iMC4wNjYiLz4KKwkJCQkJPHZhbCBvPSIyMDg0NSIgdj0iMC4wNjYiLz4KKwkJCQkJPHZhbCBvPSIyMTY1NiIgdj0iMC4wNjYiLz4KKwkJCQkJPHZhbCBvPSIyMjQ2NSIgdj0iMC4wNjQiLz4KKwkJCQkJPHZhbCBvPSIyMzI3NiIgdj0iMC4wNjMiLz4KKwkJCQkJPHZhbCBvPSIyNDA4NiIgdj0iMC4wNjEiLz4KKwkJCQkJPHZhbCBvPSIyNGU5OSIgdj0iMC4wNjEiLz4KKwkJCQkJPHZhbCBvPSIyNWNhNyIgdj0iMC4wNjIiLz4KKwkJCQkJPHZhbCBvPSIyNmFiNyIgdj0iMC4wNjIiLz4KKwkJCQkJPHZhbCBvPSIyNzhjNiIgdj0iMC4wNjEiLz4KKwkJCQkJPHZhbCBvPSIyODZkNiIgdj0iMC4wNjMiLz4KKwkJCQkJPHZhbCBvPSIyOTRlNiIgdj0iMC4wNjYiLz4KKwkJCQkJPHZhbCBvPSIyYTMwMSIgdj0iMC4wNjciLz4KKwkJCQkJPHZhbCBvPSIyYjEwNSIgdj0iMC4wNiIvPgorCQkJCQk8dmFsIG89IjJiZjE1IiB2PSIwLjA2MSIvPgorCQkJCQk8dmFsIG89IjJjZDI1IiB2PSIwLjA2MyIvPgorCQkJCQk8dmFsIG89IjJkYjM1IiB2PSIwLjA2MiIvPgorCQkJCQk8dmFsIG89IjJlOTQ2IiB2PSIwLjA2MSIvPgorCQkJCQk8dmFsIG89IjJmNzU1IiB2PSIwLjA1OCIvPgorCQkJCQk8dmFsIG89IjMwNTY2IiB2PSIwLjA2NiIvPgorCQkJCQk8dmFsIG89IjMxMzc1IiB2PSIwLjA2NCIvPgorCQkJCQk8dmFsIG89IjMyMTllIiB2PSIwLjA2NiIvPgorCQkJCQk8dmFsIG89IjMyZjk2IiB2PSIwLjA2MyIvPgorCQkJCQk8dmFsIG89IjMzZGE2IiB2PSIwLjA2MiIvPgorCQkJCQk8dmFsIG89IjM0YmI2IiB2PSIwLjA2MyIvPgorCQkJCQk8dmFsIG89IjM1OWRlIiB2PSIwLjA2NCIvPgorCQkJCQk8dmFsIG89IjM2N2Q2IiB2PSIwLjA2NCIvPgorCQkJCQk8dmFsIG89IjM3NWU2IiB2PSIwLjA2MiIvPgorCQkJCQk8dmFsIG89IjM4NDBlIiB2PSIwLjA1OSIvPgorCQkJCQk8dmFsIG89IjM5MjFlIiB2PSIwLjA2Ii8+CisJCQkJCTx2YWwgbz0iM2EwMTYiIHY9IjAuMDYiLz4KKwkJCQkJPHZhbCBvPSIzYWUyNyIgdj0iMC4wNjMiLz4KKwkJCQkJPHZhbCBvPSIzYmMzNiIgdj0iMC4wNjIiLz4KKwkJCQkJPHZhbCBvPSIzY2E0NyIgdj0iMC4wNTkiLz4KKwkJCQkJPHZhbCBvPSIzZDg1NiIgdj0iMC4wNjIiLz4KKwkJCQkJPHZhbCBvPSIzZTY2NyIgdj0iMC4wNjQiLz4KKwkJCQkJPHZhbCBvPSIzZjQ4MSIgdj0iMC4wNjgiLz4KKwkJCQkJPHZhbCBvPSI0MDI4NSIgdj0iMC4wNjUiLz4KKwkJCQkJPHZhbCBvPSI0MTA5NSIgdj0iMC4wNjYiLz4KKwkJCQkJPHZhbCBvPSI0MWVhNSIgdj0iMC4wNjUiLz4KKwkJCQkJPHZhbCBvPSI0MmNiNSIgdj0iMC4wNjYiLz4KKwkJCQkJPHZhbCBvPSI0M2FjNSIgdj0iMC4wNjQiLz4KKwkJCQkJPHZhbCBvPSI0NDhkNSIgdj0iMC4wNjEiLz4KKwkJCQkJPHZhbCBvPSI0NTZlNiIgdj0iMC4wNjIiLz4KKwkJCQkJPHZhbCBvPSI0NjRmNSIgdj0iMC4wNjIiLz4KKwkJCQkJPHZhbCBvPSI0ODBmZiIgdj0iMC4wNTgiLz4KKwkJCQkJPHZhbCBvPSI0OGYwZSIgdj0iMC4wNTYiLz4KKwkJCQkJPHZhbCBvPSI0OWQxZCIgdj0iMC4wNTciLz4KKwkJCQkJPHZhbCBvPSI0YWI0NiIgdj0iMC4wNTYiLz4KKwkJCQkJPHZhbCBvPSI0Yjk1NSIgdj0iMC4wNTciLz4KKwkJCQkJPHZhbCBvPSI0Yzc2OSIgdj0iMC4wNTUiLz4KKwkJCQkJPHZhbCBvPSI0ZDU3NyIgdj0iMC4wNTciLz4KKwkJCQkJPHZhbCBvPSI0ZTM4NyIgdj0iMC4wNTciLz4KKwkJCQkJPHZhbCBvPSI0ZjE5NiIgdj0iMC4wNTciLz4KKwkJCQkJPHZhbCBvPSI0ZmZhNiIgdj0iMC4wNTgiLz4KKwkJCQkJPHZhbCBvPSI1MGRkMCIgdj0iMC4wNiIvPgorCQkJCQk8dmFsIG89IjUxYmM2IiB2PSIwLjA2MiIvPgorCQkJCQk8dmFsIG89IjUyOWQ2IiB2PSIwLjA2MiIvPgorCQkJCQk8dmFsIG89IjUzN2U3IiB2PSIwLjA2NSIvPgorCQkJCQk8dmFsIG89IjU0NjAwIiB2PSIwLjA2NyIvPgorCQkJCQk8dmFsIG89IjU1NDA2IiB2PSIwLjA2NSIvPgorCQkJCQk8dmFsIG89IjU2MjE1IiB2PSIwLjA2NSIvPgorCQkJCQk8dmFsIG89IjU3MDI2IiB2PSIwLjA2NSIvPgorCQkJCQk8dmFsIG89IjU3ZTM2IiB2PSIwLjA2NCIvPgorCQkJCQk8dmFsIG89IjU4YzQ2IiB2PSIwLjA2MyIvPgorCQkJCQk8dmFsIG89IjU5YTcwIiB2PSIwLjA2MyIvPgorCQkJCQk8dmFsIG89IjVhODY3IiB2PSIwLjA2Ii8+CisJCQkJCTx2YWwgbz0iNWI2NzYiIHY9IjAuMDYiLz4KKwkJCQkJPHZhbCBvPSI1YzQ4NyIgdj0iMC4wNTYiLz4KKwkJCQkJPHZhbCBvPSI1ZDI5NiIgdj0iMC4wNTgiLz4KKwkJCQkJPHZhbCBvPSI1ZTBhOSIgdj0iMC4wNiIvPgorCQkJCQk8dmFsIG89IjVlZWI4IiB2PSIwLjA2MiIvPgorCQkJCQk8dmFsIG89IjVmY2M2IiB2PSIwLjA2MSIvPgorCQkJCQk8dmFsIG89IjYwYWQ3IiB2PSIwLjA1NyIvPgorCQkJCQk8dmFsIG89IjYxOGU3IiB2PSIwLjA1NyIvPgorCQkJCQk8dmFsIG89IjYyNmY3IiB2PSIwLjA1OSIvPgorCQkJCQk8dmFsIG89IjYzNTA3IiB2PSIwLjA1OSIvPgorCQkJCQk8dmFsIG89IjY0MzE3IiB2PSIwLjA2MSIvPgorCQkJCQk8dmFsIG89IjY1MTI3IiB2PSIwLjA2MiIvPgorCQkJCQk8dmFsIG89IjY1ZjM3IiB2PSIwLjA2MyIvPgorCQkJCQk8dmFsIG89IjY2ZDQ2IiB2PSIwLjA2MiIvPgorCQkJCQk8dmFsIG89IjY3YjU3IiB2PSIwLjA2MiIvPgorCQkJCQk8dmFsIG89IjY4OTY3IiB2PSIwLjA2NSIvPgorCQkJCQk8dmFsIG89IjY5NzgyIiB2PSIwLjA2NSIvPgorCQkJCQk8dmFsIG89IjZhNTg2IiB2PSIwLjA2NCIvPgorCQkJCQk8dmFsIG89IjZiMzk1IiB2PSIwLjA2NSIvPgorCQkJCQk8dmFsIG89IjZjMWE2IiB2PSIwLjA2NiIvPgorCQkJCQk8dmFsIG89IjZjZmI1IiB2PSIwLjA2NCIvPgorCQkJCQk8dmFsIG89IjZkZGM2IiB2PSIwLjA2MyIvPgorCQkJCQk8dmFsIG89IjZlYmQ2IiB2PSIwLjA1OSIvPgorCQkJCQk8dmFsIG89IjZmOWU2IiB2PSIwLjA2MSIvPgorCQkJCQk8dmFsIG89IjcwN2Y2IiB2PSIwLjA2MiIvPgorCQkJCQk8dmFsIG89IjcxNjA3IiB2PSIwLjA1OSIvPgorCQkJCQk8dmFsIG89IjcyNDE3IiB2PSIwLjA1OCIvPgorCQkJCQk8dmFsIG89IjczMjI3IiB2PSIwLjA1NiIvPgorCQkJCQk8dmFsIG89Ijc0MDM3IiB2PSIwLjA2MSIvPgorCQkJCQk8dmFsIG89Ijc0ZTQ3IiB2PSIwLjA2MSIvPgorCQkJCQk8dmFsIG89Ijc1YzU3IiB2PSIwLjA1OCIvPgorCQkJCQk8dmFsIG89Ijc2YTYzIiB2PSIwLjA1OCIvPgorCQkJCQk8dmFsIG89Ijc3ODczIiB2PSIwLjA1OCIvPgorCQkJCQk8dmFsIG89Ijc4NjgwIiB2PSIwLjA1OCIvPgorCQkJCQk8dmFsIG89Ijc5NDhmIiB2PSIwLjA1OCIvPgorCQkJCQk8dmFsIG89IjdhMjlmIiB2PSIwLjA2Ii8+CisJCQkJCTx2YWwgbz0iN2IwYWYiIHY9IjAuMDYyIi8+CisJCQkJCTx2YWwgbz0iN2JlYmYiIHY9IjAuMDYyIi8+CisJCQkJCTx2YWwgbz0iN2NjY2YiIHY9IjAuMDY0Ii8+CisJCQkJCTx2YWwgbz0iN2RhZGYiIHY9IjAuMDY1Ii8+CisJCQkJCTx2YWwgbz0iN2U4ZmEiIHY9IjAuMDY1Ii8+CisJCQkJCTx2YWwgbz0iN2Y3MGEiIHY9IjAuMDY3Ii8+CisJCQkJCTx2YWwgbz0iODA1MWEiIHY9IjAuMDY3Ii8+CisJCQkJCTx2YWwgbz0iODEzMmEiIHY9IjAuMDY2Ii8+CisJCQkJCTx2YWwgbz0iODIxM2EiIHY9IjAuMDY2Ii8+CisJCQkJCTx2YWwgbz0iODJmNGEiIHY9IjAuMDY3Ii8+CisJCQkJCTx2YWwgbz0iODNkNWEiIHY9IjAuMDYyIi8+CisJCQkJCTx2YWwgbz0iODRiNmEiIHY9IjAuMDYiLz4KKwkJCQkJPHZhbCBvPSI4NTk3YSIgdj0iMC4wNTkiLz4KKwkJCQkJPHZhbCBvPSI4Njc4YiIgdj0iMC4wNTkiLz4KKwkJCQkJPHZhbCBvPSI4NzU5YiIgdj0iMC4wNTciLz4KKwkJCQkJPHZhbCBvPSI4ODNhYyIgdj0iMC4wNiIvPgorCQkJCQk8dmFsIG89Ijg5MWJiIiB2PSIwLjA2MSIvPgorCQkJCQk8dmFsIG89Ijg5ZmNhIiB2PSIwLjA2Ii8+CisJCQkJCTx2YWwgbz0iOGFkZGEiIHY9IjAuMDU5Ii8+CisJCQkJCTx2YWwgbz0iOGJiZWIiIHY9IjAuMDU5Ii8+CisJCQkJCTx2YWwgbz0iOGM5ZmMiIHY9IjAuMDU4Ii8+CisJCQkJCTx2YWwgbz0iOGQ4MGIiIHY9IjAuMDU4Ii8+CisJCQkJCTx2YWwgbz0iOGU2MWEiIHY9IjAuMDU5Ii8+CisJCQkJCTx2YWwgbz0iOGY0MmEiIHY9IjAuMDYiLz4KKwkJCQkJPHZhbCBvPSI5MDIzYSIgdj0iMC4wNjEiLz4KKwkJCQkJPHZhbCBvPSI5MTA0YSIgdj0iMC4wNjIiLz4KKwkJCQkJPHZhbCBvPSI5MWU1YSIgdj0iMC4wNiIvPgorCQkJCQk8dmFsIG89IjkyYzZhIiB2PSIwLjA2MyIvPgorCQkJCQk8dmFsIG89IjkzYTg0IiB2PSIwLjA2NyIvPgorCQkJCQk8dmFsIG89Ijk0ODg1IiB2PSIwLjA2NCIvPgorCQkJCQk8dmFsIG89Ijk1Njk0IiB2PSIwLjA2NCIvPgorCQkJCQk8dmFsIG89Ijk2NGE1IiB2PSIwLjA2NSIvPgorCQkJCQk8dmFsIG89Ijk3MmI0IiB2PSIwLjA2NCIvPgorCQkJCQk8dmFsIG89Ijk4MGM1IiB2PSIwLjA2MiIvPgorCQkJCQk8dmFsIG89Ijk4ZWQ0IiB2PSIwLjA2NSIvPgorCQkJCQk8dmFsIG89Ijk5Y2U1IiB2PSIwLjA2NCIvPgorCQkJCQk8dmFsIG89IjlhYWY1IiB2PSIwLjA2MSIvPgorCQkJCQk8dmFsIG89IjliOTA2IiB2PSIwLjA2MSIvPgorCQkJCQk8dmFsIG89IjljNzE2IiB2PSIwLjA2MiIvPgorCQkJCQk8dmFsIG89IjlkNTI2IiB2PSIwLjA2MiIvPgorCQkJCQk8dmFsIG89IjllMzM2IiB2PSIwLjA2MyIvPgorCQkJCQk8dmFsIG89IjlmMTQ1IiB2PSIwLjA2MyIvPgorCQkJCQk8dmFsIG89IjlmZjU2IiB2PSIwLjA2MSIvPgorCQkJCQk8dmFsIG89ImEwZDY1IiB2PSIwLjA2MSIvPgorCQkJCQk8dmFsIG89ImExYjc3IiB2PSIzMC4yMiIvPgorCQkJCQk8dmFsIG89ImEyOTg2IiB2PSIxNi4wNTQiLz4KKwkJCQkJPHZhbCBvPSJhMzc5NSIgdj0iMTAuMjIiLz4KKwkJCQkJPHZhbCBvPSJhNDVhNyIgdj0iMy44MzkiLz4KKwkJCQkJPHZhbCBvPSJhNTNiNiIgdj0iMy4zMDEiLz4KKwkJCQkJPHZhbCBvPSJhNjFjNyIgdj0iNC4xOSIvPgorCQkJCQk8dmFsIG89ImE2ZmQ2IiB2PSIyLjAwMiIvPgorCQkJCQk8dmFsIG89ImE3ZTAwIiB2PSI0LjkxMSIvPgorCQkJCQk8dmFsIG89ImE4YzAwIiB2PSI3Ljg5NyIvPgorCQkJCQk8dmFsIG89ImE5YTA1IiB2PSIyLjkzNCIvPgorCQkJCQk8dmFsIG89ImFhODE1IiB2PSIxLjQ4NyIvPgorCQkJCQk8dmFsIG89ImFiNjI1IiB2PSIyLjE5NiIvPgorCQkJCQk8dmFsIG89ImFjNDM1IiB2PSIxLjY3OSIvPgorCQkJCQk8dmFsIG89ImFkMjQ1IiB2PSI1Ljk4NCIvPgorCQkJCQk8dmFsIG89ImFlMDU1IiB2PSIxMC42NjEiLz4KKwkJCQkJPHZhbCBvPSJhZWU2NSIgdj0iMy42NTMiLz4KKwkJCQkJPHZhbCBvPSJhZmM3NSIgdj0iNy4yNTIiLz4KKwkJCQkJPHZhbCBvPSJiMGE4NSIgdj0iMTkuNzA4Ii8+CisJCQkJCTx2YWwgbz0iYjI2YTYiIHY9IjIxLjEyOCIvPgorCQkJCQk8dmFsIG89ImIzNGI2IiB2PSIxOC4zNTgiLz4KKwkJCQkJPHZhbCBvPSJiNDJjNiIgdj0iMy40NTYiLz4KKwkJCQkJPHZhbCBvPSJiNTBkNiIgdj0iNC45MTYiLz4KKwkJCQkJPHZhbCBvPSJiNWVlNyIgdj0iNy4zMzciLz4KKwkJCQkJPHZhbCBvPSJiNmNmNiIgdj0iNy4yMDUiLz4KKwkJCQkJPHZhbCBvPSJiN2IwNyIgdj0iOS4xOTEiLz4KKwkJCQkJPHZhbCBvPSJiODkxNyIgdj0iOC4wMjciLz4KKwkJCQkJPHZhbCBvPSJiOTcyOCIgdj0iNy42ODgiLz4KKwkJCQkJPHZhbCBvPSJiYTUzNyIgdj0iOC42NjciLz4KKwkJCQkJPHZhbCBvPSJiYjM0NyIgdj0iNy43MzQiLz4KKwkJCQkJPHZhbCBvPSJiYzE1NyIgdj0iNS4xNDgiLz4KKwkJCQkJPHZhbCBvPSJiY2Y2NyIgdj0iNS4wODEiLz4KKwkJCQkJPHZhbCBvPSJiZGQ4MSIgdj0iMTguNDMzIi8+CisJCQkJCTx2YWwgbz0iYmViODYiIHY9IjQuNjc2Ii8+CisJCQkJCTx2YWwgbz0iYmY5OTUiIHY9IjMuOTciLz4KKwkJCQkJPHZhbCBvPSJjMDdhNiIgdj0iMi4yNDciLz4KKwkJCQkJPHZhbCBvPSJjMTViNSIgdj0iMi41MTkiLz4KKwkJCQkJPHZhbCBvPSJjMjNjNiIgdj0iNC43ODQiLz4KKwkJCQkJPHZhbCBvPSJjMzFkNSIgdj0iMTAuNDA2Ii8+CisJCQkJCTx2YWwgbz0iYzNmZTYiIHY9IjUuODYzIi8+CisJCQkJCTx2YWwgbz0iYzRkZjUiIHY9IjkuNjY4Ii8+CisJCQkJCTx2YWwgbz0iYzVjMDYiIHY9IjUuMTk0Ii8+CisJCQkJCTx2YWwgbz0iYzZhMTYiIHY9IjUuMzUiLz4KKwkJCQkJPHZhbCBvPSJjNzgyNiIgdj0iNy43NDUiLz4KKwkJCQkJPHZhbCBvPSJjODYzNiIgdj0iMy42NTEiLz4KKwkJCQkJPHZhbCBvPSJjOTQ0NiIgdj0iNC4yMzYiLz4KKwkJCQkJPHZhbCBvPSJjYTI1NiIgdj0iMy4yODEiLz4KKwkJCQkJPHZhbCBvPSJjYjA2NiIgdj0iNS42NTciLz4KKwkJCQkJPHZhbCBvPSJjYmU3NiIgdj0iMi4yNDkiLz4KKwkJCQkJPHZhbCBvPSJjY2M4NyIgdj0iMTIuMDA0Ii8+CisJCQkJCTx2YWwgbz0iY2RhOTYiIHY9IjE1LjgzMyIvPgorCQkJCQk8dmFsIG89ImNlOGE4IiB2PSIxMS45ODEiLz4KKwkJCQkJPHZhbCBvPSJjZjZiNyIgdj0iMTUuMTQ1Ii8+CisJCQkJCTx2YWwgbz0iZDA0YzgiIHY9IjEyLjM4NiIvPgorCQkJCQk8dmFsIG89ImQxMmQ3IiB2PSI4LjUzIi8+CisJCQkJCTx2YWwgbz0iZDIwZTciIHY9IjEuNDc0Ii8+CisJCQkJCTx2YWwgbz0iZDJmMDIiIHY9IjcuNDQxIi8+CisJCQkJCTx2YWwgbz0iZDNkMDUiIHY9IjQuMjYyIi8+CisJCQkJCTx2YWwgbz0iZDRiMTUiIHY9IjMuODA1Ii8+CisJCQkJCTx2YWwgbz0iZDU5MjYiIHY9IjMuNzUyIi8+CisJCQkJCTx2YWwgbz0iZDY3MzUiIHY9IjUuNTM4Ii8+CisJCQkJCTx2YWwgbz0iZDc1NDYiIHY9IjkuNTI0Ii8+CisJCQkJCTx2YWwgbz0iZDgzNTUiIHY9IjEuOTg4Ii8+CisJCQkJCTx2YWwgbz0iZDkxNjYiIHY9IjQuMTU5Ii8+CisJCQkJCTx2YWwgbz0iZDlmNzUiIHY9IjkuNjIxIi8+CisJCQkJCTx2YWwgbz0iZGFkODciIHY9IjE3LjcwNCIvPgorCQkJCQk8dmFsIG89ImRiYjk3IiB2PSIxOS4xNzEiLz4KKwkJCQkJPHZhbCBvPSJkYzlhOCIgdj0iMTkuMjUyIi8+CisJCQkJCTx2YWwgbz0iZGQ3YjciIHY9IjE0Ljk2MSIvPgorCQkJCQk8dmFsIG89ImRlNWM2IiB2PSIxMi44MTYiLz4KKwkJCQkJPHZhbCBvPSJkZjNkNyIgdj0iMTMuMTEzIi8+CisJCQkJCTx2YWwgbz0iZTAxZDciIHY9IjEzLjQzNSIvPgorCQkJCQk8dmFsIG89ImUwZmU1IiB2PSIxMy4yODMiLz4KKwkJCQkJPHZhbCBvPSJlMWRmNSIgdj0iMTMuOTg5Ii8+CisJCQkJCTx2YWwgbz0iZTJjMDQiIHY9IjE4LjA5OCIvPgorCQkJCQk8dmFsIG89ImUzYTE0IiB2PSIxNy43NDIiLz4KKwkJCQkJPHZhbCBvPSJlNDgyNCIgdj0iMTUuMjI5Ii8+CisJCQkJCTx2YWwgbz0iZTU2MzQiIHY9IjE1LjI2MyIvPgorCQkJCQk8dmFsIG89ImU2NDQ0IiB2PSIxMS45NjgiLz4KKwkJCQkJPHZhbCBvPSJlNzI1NSIgdj0iOS44OTMiLz4KKwkJCQkJPHZhbCBvPSJlODA2ZiIgdj0iNy45OTciLz4KKwkJCQkJPHZhbCBvPSJlOGU3ZiIgdj0iMTMuODg4Ii8+CisJCQkJCTx2YWwgbz0iZTljOGUiIHY9IjYuMzM2Ii8+CisJCQkJCTx2YWwgbz0iZWFhOWYiIHY9IjUuNjM0Ii8+CisJCQkJCTx2YWwgbz0iZWI4YWUiIHY9IjcuMzY5Ii8+CisJCQkJCTx2YWwgbz0iZWM2YmYiIHY9IjE0LjI3NiIvPgorCQkJCQk8dmFsIG89ImVkNGNlIiB2PSI5LjY3NCIvPgorCQkJCQk8dmFsIG89ImVlMmRmIiB2PSIxMi44MSIvPgorCQkJCQk8dmFsIG89ImVmMGVmIiB2PSIxNC45ODUiLz4KKwkJCQkJPHZhbCBvPSJlZmYwMSIgdj0iMjEuNTMxIi8+CisJCQkJCTx2YWwgbz0iZjBkMTAiIHY9IjIxLjAzOCIvPgorCQkJCQk8dmFsIG89ImYxYjIwIiB2PSIyMi45MDgiLz4KKwkJCQkJPHZhbCBvPSJmMjkzMCIgdj0iMjAuODkxIi8+CisJCQkJCTx2YWwgbz0iZjM3NDAiIHY9IjIyLjIzNCIvPgorCQkJCQk8dmFsIG89ImY0NTUxIiB2PSIyMi41MTciLz4KKwkJCQkJPHZhbCBvPSJmNTM2MSIgdj0iMjQuMTcyIi8+CisJCQkJCTx2YWwgbz0iZjYxNzIiIHY9IjIzLjAwOCIvPgorCQkJCQk8dmFsIG89ImY2ZjgwIiB2PSIyMy40NzUiLz4KKwkJCQkJPHZhbCBvPSJmN2Q5MSIgdj0iMjIuMDU5Ii8+CisJCQkJCTx2YWwgbz0iZjhiYTEiIHY9IjE4LjY3MSIvPgorCQkJCQk8dmFsIG89ImY5OWIxIiB2PSIxOC40NDciLz4KKwkJCQkJPHZhbCBvPSJmYTdjMCIgdj0iMTUuODYyIi8+CisJCQkJCTx2YWwgbz0iZmI1ZDEiIHY9IjE2LjM4Ii8+CisJCQkJCTx2YWwgbz0iZmMzZTAiIHY9IjE1LjE2NSIvPgorCQkJCQk8dmFsIG89ImZkMWZiIiB2PSIxMi4zMzUiLz4KKwkJCQkJPHZhbCBvPSJmZTAwYiIgdj0iMTIuMjgzIi8+CisJCQkJCTx2YWwgbz0iZmVlMWMiIHY9IjguOTQxIi8+CisJCQkJCTx2YWwgbz0iZmZjMmMiIHY9IjguODM3Ii8+CisJCQkJCTx2YWwgbz0iMTAwYTNiIiB2PSI4Ljc5MyIvPgorCQkJCQk8dmFsIG89IjEwMTg0YyIgdj0iMTAuMDQzIi8+CisJCQkJCTx2YWwgbz0iMTAyNjViIiB2PSIxMy45MzIiLz4KKwkJCQkJPHZhbCBvPSIxMDM0NmMiIHY9IjE1Ljk3NCIvPgorCQkJCQk8dmFsIG89IjEwNDI3YiIgdj0iMTkuMTY3Ii8+CisJCQkJCTx2YWwgbz0iMTA1MDhkIiB2PSIyMi4yMzciLz4KKwkJCQkJPHZhbCBvPSIxMDVlOWQiIHY9IjIxLjUzMyIvPgorCQkJCQk8dmFsIG89IjEwNmNhZCIgdj0iMjMuMzA5Ii8+CisJCQkJCTx2YWwgbz0iMTA3YWJkIiB2PSIyMC4zMzMiLz4KKwkJCQkJPHZhbCBvPSIxMDg4Y2QiIHY9IjE4LjU1NiIvPgorCQkJCQk8dmFsIG89IjEwOTZkZSIgdj0iMjAuMTYzIi8+CisJCQkJCTx2YWwgbz0iMTBhNGVkIiB2PSIxOS45NzgiLz4KKwkJCQkJPHZhbCBvPSIxMGIyZmUiIHY9IjIxLjE1NSIvPgorCQkJCQk8dmFsIG89IjEwYzEwZCIgdj0iMjMuOTY0Ii8+CisJCQkJCTx2YWwgbz0iMTBjZjFlIiB2PSIyMS44NzQiLz4KKwkJCQkJPHZhbCBvPSIxMGRkMmUiIHY9IjE5LjU5MSIvPgorCQkJCQk8dmFsIG89IjEwZWI2NiIgdj0iMjAuMjM0Ii8+CisJCQkJCTx2YWwgbz0iMTBmOTRlIiB2PSIxNy4zMiIvPgorCQkJCQk8dmFsIG89IjExMDc1ZSIgdj0iMTYuNTU2Ii8+CisJCQkJCTx2YWwgbz0iMTExNTZkIiB2PSIxMy4yMTciLz4KKwkJCQkJPHZhbCBvPSIxMTIzODgiIHY9IjEyLjI3MSIvPgorCQkJCQk8dmFsIG89IjExMzE4NyIgdj0iOC45NjciLz4KKwkJCQkJPHZhbCBvPSIxMTNmYjAiIHY9IjguMzE5Ii8+CisJCQkJCTx2YWwgbz0iMTE0ZGE2IiB2PSI4LjM1NyIvPgorCQkJCQk8dmFsIG89IjExNWJiNiIgdj0iOC40OSIvPgorCQkJCQk8dmFsIG89IjExNjljNiIgdj0iMTAuNDU4Ii8+CisJCQkJCTx2YWwgbz0iMTE3N2Q2IiB2PSIxMy45OTgiLz4KKwkJCQkJPHZhbCBvPSIxMTg1ZTgiIHY9IjE1LjQ2MSIvPgorCQkJCQk8dmFsIG89IjExOTNmNyIgdj0iMTguMzMxIi8+CisJCQkJCTx2YWwgbz0iMTFhMjA4IiB2PSIyMi4yODQiLz4KKwkJCQkJPHZhbCBvPSIxMWIwMTciIHY9IjE5LjE1MSIvPgorCQkJCQk8dmFsIG89IjExYmUyZiIgdj0iMjMuNDY0Ii8+CisJCQkJCTx2YWwgbz0iMTFjYzM3IiB2PSIyMC4yMTEiLz4KKwkJCQkJPHZhbCBvPSIxMWRhNDciIHY9IjE5LjgzIi8+CisJCQkJCTx2YWwgbz0iMTFlODU3IiB2PSIyMC44Ii8+CisJCQkJCTx2YWwgbz0iMTFmNjY3IiB2PSIxOC4wNDIiLz4KKwkJCQkJPHZhbCBvPSIxMjA1NzgiIHY9IjAuMDE4Ii8+CisJCQkJCTx2YWwgbz0iMTIxMzg2IiB2PSIwLjAyIi8+CisJCQkJCTx2YWwgbz0iMTIyMTk2IiB2PSIwLjAyIi8+CisJCQkJCTx2YWwgbz0iMTIyZmE2IiB2PSIwLjAxNyIvPgorCQkJCQk8dmFsIG89IjEyM2RiNSIgdj0iMC4wMTUiLz4KKwkJCQkJPHZhbCBvPSIxMjRiYzUiIHY9IjAuMDE0Ii8+CisJCQkJCTx2YWwgbz0iMTI1OWQ1IiB2PSIwLjAxMSIvPgorCQkJCQk8dmFsIG89IjEyNjdlNCIgdj0iMC4wMSIvPgorCQkJCQk8dmFsIG89IjEyNzYwMCIgdj0iMC4wMDkiLz4KKwkJCQkJPHZhbCBvPSIxMjgzMDUiIHY9IjAuMDA4Ii8+CisJCQkJCTx2YWwgbz0iMTI5MTE1IiB2PSIwLjAwOCIvPgorCQkJCQk8dmFsIG89IjEyOWYyNSIgdj0iMC4wMDgiLz4KKwkJCQkJPHZhbCBvPSIxMmFkMzUiIHY9IjAuMDA3Ii8+CisJCQkJCTx2YWwgbz0iMTJiYjQ1IiB2PSIwLjAwNyIvPgorCQkJCQk8dmFsIG89IjEyYzk1NCIgdj0iMC4wMSIvPgorCQkJCQk8dmFsIG89IjEyZDc2NiIgdj0iMC4wMTEiLz4KKwkJCQkJPHZhbCBvPSIxMmU1NzUiIHY9IjAuMDE2Ii8+CisJCQkJCTx2YWwgbz0iMTJmMzg2IiB2PSIwLjAxMyIvPgorCQkJCQk8dmFsIG89IjEzMDE5NiIgdj0iMC4wMTkiLz4KKwkJCQkJPHZhbCBvPSIxMzBmYTYiIHY9IjAuMDE0Ii8+CisJCQkJCTx2YWwgbz0iMTMxZGI3IiB2PSIwLjAxNSIvPgorCQkJCQk8dmFsIG89IjEzMmJjNSIgdj0iMC4wMTUiLz4KKwkJCQkJPHZhbCBvPSIxMzM5ZDQiIHY9IjAuMjY5Ii8+CisJCQkJCTx2YWwgbz0iMTM0N2U1IiB2PSIwLjEyNCIvPgorCQkJCQk8dmFsIG89IjEzNTVmNCIgdj0iMC4xNiIvPgorCQkJCQk8dmFsIG89IjEzNjQwNCIgdj0iMC4yMjciLz4KKwkJCQkJPHZhbCBvPSIxMzcyMTQiIHY9IjAuMjQzIi8+CisJCQkJCTx2YWwgbz0iMTM4MDI0IiB2PSIwLjIzNiIvPgorCQkJCQk8dmFsIG89IjEzOGUzMyIgdj0iMC4yMzkiLz4KKwkJCQkJPHZhbCBvPSIxMzljNDQiIHY9IjAuMDc0Ii8+CisJCQkJCTx2YWwgbz0iMTNhYTU0IiB2PSIwLjA4NiIvPgorCQkJCQk8dmFsIG89IjEzYjg2NSIgdj0iMC4wMzEiLz4KKwkJCQkJPHZhbCBvPSIxM2M2N2UiIHY9IjAuNDEyIi8+CisJCQkJCTx2YWwgbz0iMTNkNDhlIiB2PSIwLjE5OSIvPgorCQkJCQk8dmFsIG89IjEzZTI5ZSIgdj0iMC4xNSIvPgorCQkJCQk8dmFsIG89IjEzZjBhZSIgdj0iMC4xNCIvPgorCQkJCQk8dmFsIG89IjEzZmViZiIgdj0iMC4yMTgiLz4KKwkJCQkJPHZhbCBvPSIxNDBjY2YiIHY9IjAuMzA5Ii8+CisJCQkJCTx2YWwgbz0iMTQxYWRmIiB2PSIwLjIwNiIvPgorCQkJCQk8dmFsIG89IjE0MjhlZiIgdj0iMC4wMzIiLz4KKwkJCQkJPHZhbCBvPSIxNDM2ZmYiIHY9IjAuMDY1Ii8+CisJCQkJCTx2YWwgbz0iMTQ0NTBmIiB2PSIwLjA1NCIvPgorCQkJCQk8dmFsIG89IjE0NTMxZiIgdj0iMC4wMzciLz4KKwkJCQkJPHZhbCBvPSIxNDYxMzAiIHY9IjAuMDI1Ii8+CisJCQkJCTx2YWwgbz0iMTQ2ZjQwIiB2PSIwLjA5Ii8+CisJCQkJCTx2YWwgbz0iMTQ3ZDQ0IiB2PSIwLjAzIi8+CisJCQkJCTx2YWwgbz0iMTQ4YjU3IiB2PSIwLjAzOCIvPgorCQkJCQk8dmFsIG89IjE0OTk2NSIgdj0iMC4wMjYiLz4KKwkJCQkJPHZhbCBvPSIxNGE3NzUiIHY9IjAuMTA5Ii8+CisJCQkJCTx2YWwgbz0iMTRiNTg0IiB2PSIwLjA4NiIvPgorCQkJCQk8dmFsIG89IjE0YzM5NyIgdj0iMC4yNTEiLz4KKwkJCQkJPHZhbCBvPSIxNGQxYTQiIHY9IjAuMjI1Ii8+CisJCQkJCTx2YWwgbz0iMTRkZmI2IiB2PSIwLjE5MyIvPgorCQkJCQk8dmFsIG89IjE0ZWRjNSIgdj0iMC4xMDMiLz4KKwkJCQkJPHZhbCBvPSIxNGZiZDUiIHY9IjAuMDQ0Ii8+CisJCQkJCTx2YWwgbz0iMTUwOWU1IiB2PSIwLjAyMyIvPgorCQkJCQk8dmFsIG89IjE1MTdmZiIgdj0iMC4wNjgiLz4KKwkJCQkJPHZhbCBvPSIxNTI2MDUiIHY9IjAuMTU3Ii8+CisJCQkJCTx2YWwgbz0iMTUzNDE1IiB2PSIwLjEwNSIvPgorCQkJCQk8dmFsIG89IjE1NDIyNSIgdj0iMC4wOTciLz4KKwkJCQkJPHZhbCBvPSIxNTUwMzUiIHY9IjAuMTI3Ii8+CisJCQkJCTx2YWwgbz0iMTU1ZTQ1IiB2PSIwLjE4OSIvPgorCQkJCQk8dmFsIG89IjE1NmM1NSIgdj0iMC4yODEiLz4KKwkJCQkJPHZhbCBvPSIxNTdhNjUiIHY9IjAuMTYyIi8+CisJCQkJCTx2YWwgbz0iMTU4ODc1IiB2PSIwLjE1Ii8+CisJCQkJCTx2YWwgbz0iMTU5Njg2IiB2PSIwLjI0NiIvPgorCQkJCQk8dmFsIG89IjE1YTQ5NSIgdj0iMC4yMTEiLz4KKwkJCQkJPHZhbCBvPSIxNWIyYTYiIHY9IjAuMTg4Ii8+CisJCQkJCTx2YWwgbz0iMTVjMGI2IiB2PSIwLjEwNSIvPgorCQkJCQk8dmFsIG89IjE1Y2VjNiIgdj0iMC4wOTIiLz4KKwkJCQkJPHZhbCBvPSIxNWRjZDUiIHY9IjAuMDk5Ii8+CisJCQkJCTx2YWwgbz0iMTVlYWU2IiB2PSIwLjExMiIvPgorCQkJCQk8dmFsIG89IjE1ZjhmNSIgdj0iMC4yOSIvPgorCQkJCQk8dmFsIG89IjE2MDcwNiIgdj0iMC4wNiIvPgorCQkJCQk8dmFsIG89IjE2MTUxNyIgdj0iMC4xMDciLz4KKwkJCQkJPHZhbCBvPSIxNjIzMjYiIHY9IjAuMDcyIi8+CisJCQkJCTx2YWwgbz0iMTYzMTM3IiB2PSIwLjA2NCIvPgorCQkJCQk8dmFsIG89IjE2M2Y0NiIgdj0iMC4xMDEiLz4KKwkJCQkJPHZhbCBvPSIxNjRkNTciIHY9IjAuMDQ1Ii8+CisJCQkJCTx2YWwgbz0iMTY1YjY3IiB2PSIwLjAzNSIvPgorCQkJCQk8dmFsIG89IjE2Njk4MiIgdj0iMC4wNTciLz4KKwkJCQkJPHZhbCBvPSIxNjc3ODYiIHY9IjAuMDciLz4KKwkJCQkJPHZhbCBvPSIxNjg1OTYiIHY9IjAuMDM1Ii8+CisJCQkJCTx2YWwgbz0iMTY5M2E2IiB2PSIwLjAyOSIvPgorCQkJCQk8dmFsIG89IjE2YTFiNSIgdj0iMC4wMjYiLz4KKwkJCQkJPHZhbCBvPSIxNmFmYzYiIHY9IjAuMDc1Ii8+CisJCQkJCTx2YWwgbz0iMTZiZGQ1IiB2PSIwLjE3OCIvPgorCQkJCQk8dmFsIG89IjE2Y2JlNiIgdj0iMC4yMjEiLz4KKwkJCQkJPHZhbCBvPSIxNmQ5ZjYiIHY9IjAuMTA5Ii8+CisJCQkJCTx2YWwgbz0iMTZlODA3IiB2PSIwLjU3OCIvPgorCQkJCQk8dmFsIG89IjE2ZjYxNiIgdj0iMC42MzMiLz4KKwkJCQkJPHZhbCBvPSIxNzA0MjkiIHY9IjAuNjc4Ii8+CisJCQkJCTx2YWwgbz0iMTcxMjM2IiB2PSIwLjQ1NiIvPgorCQkJCQk8dmFsIG89IjE3MjA0NyIgdj0iMC40NjEiLz4KKwkJCQkJPHZhbCBvPSIxNzJlNTciIHY9IjAuNDc1Ii8+CisJCQkJCTx2YWwgbz0iMTczYzY3IiB2PSIwLjQ4NyIvPgorCQkJCQk8dmFsIG89IjE3NGE3NyIgdj0iMC41NjUiLz4KKwkJCQkJPHZhbCBvPSIxNzU4ODciIHY9IjAuNTk3Ii8+CisJCQkJCTx2YWwgbz0iMTc2Njk0IiB2PSIzNC4zNzIiLz4KKwkJCQkJPHZhbCBvPSIxNzc0YTMiIHY9IjMzLjA1NiIvPgorCQkJCQk8dmFsIG89IjE3ODJiMyIgdj0iMzQuMTk4Ii8+CisJCQkJCTx2YWwgbz0iMTc5MGM1IiB2PSIzMS4xNDgiLz4KKwkJCQkJPHZhbCBvPSIxNzllZDQiIHY9IjI2LjczNCIvPgorCQkJCQk8dmFsIG89IjE3YWNlNCIgdj0iMjYuODgzIi8+CisJCQkJCTx2YWwgbz0iMTdiYWZkIiB2PSIyOC4wNDYiLz4KKwkJCQkJPHZhbCBvPSIxN2M5MGYiIHY9IjI1LjEwNyIvPgorCQkJCQk8dmFsIG89IjE3ZDcxZSIgdj0iMjQuODI2Ii8+CisJCQkJCTx2YWwgbz0iMTdlNTJmIiB2PSIyNS4xMjkiLz4KKwkJCQkJPHZhbCBvPSIxN2YzM2YiIHY9IjIyLjk3OSIvPgorCQkJCQk8dmFsIG89IjE4MDE0ZiIgdj0iMjIuOTY4Ii8+CisJCQkJCTx2YWwgbz0iMTgwZjVmIiB2PSIyOC4wNCIvPgorCQkJCQk8dmFsIG89IjE4MWQ2ZSIgdj0iMzAuNjA4Ii8+CisJCQkJCTx2YWwgbz0iMTgyYjdmIiB2PSIzNS4xNTYiLz4KKwkJCQkJPHZhbCBvPSIxODM5OGYiIHY9IjYxLjA3OSIvPgorCQkJCQk8dmFsIG89IjE4NDdhMSIgdj0iNjEuMTE4Ii8+CisJCQkJCTx2YWwgbz0iMTg1NWFmIiB2PSI1OC4yMTQiLz4KKwkJCQkJPHZhbCBvPSIxODYzYzAiIHY9IjU0LjE0OSIvPgorCQkJCQk8dmFsIG89IjE4NzFjZiIgdj0iNTYuMTQxIi8+CisJCQkJCTx2YWwgbz0iMTg3ZmUwIiB2PSI1My43NTciLz4KKwkJCQkJPHZhbCBvPSIxODhkZWYiIHY9IjU3LjE4OCIvPgorCQkJCQk8dmFsIG89IjE4OWMwMCIgdj0iNTMuNTk2Ii8+CisJCQkJCTx2YWwgbz0iMThiODBkIiB2PSIzNi4yNjkiLz4KKwkJCQkJPHZhbCBvPSIxOGM2MWMiIHY9IjM2LjYyNiIvPgorCQkJCQk8dmFsIG89IjE4ZDQyYyIgdj0iMzUuMTAyIi8+CisJCQkJCTx2YWwgbz0iMThlMjNiIiB2PSIyOS44NTUiLz4KKwkJCQkJPHZhbCBvPSIxOGYwNGIiIHY9IjI4LjMwNyIvPgorCQkJCQk8dmFsIG89IjE4ZmU1ZSIgdj0iMjUuMzY0Ii8+CisJCQkJCTx2YWwgbz0iMTkwYzc2IiB2PSIxOS45OTYiLz4KKwkJCQkJPHZhbCBvPSIxOTFhODYiIHY9IjE5Ljc0OCIvPgorCQkJCQk8dmFsIG89IjE5Mjg5NiIgdj0iMTkuMzQ1Ii8+CisJCQkJCTx2YWwgbz0iMTkzNmE2IiB2PSIxOC44NzMiLz4KKwkJCQkJPHZhbCBvPSIxOTQ0YjciIHY9IjE4LjExIi8+CisJCQkJCTx2YWwgbz0iMTk1MmM2IiB2PSIyMC4wMzIiLz4KKwkJCQkJPHZhbCBvPSIxOTYwZDciIHY9IjI1LjEzNyIvPgorCQkJCQk8dmFsIG89IjE5NmVlNiIgdj0iMjcuNTA4Ii8+CisJCQkJCTx2YWwgbz0iMTk3Y2Y4IiB2PSIyOS40NDkiLz4KKwkJCQkJPHZhbCBvPSIxOThiMGYiIHY9IjI3LjM3MiIvPgorCQkJCQk8dmFsIG89IjE5OTkxZiIgdj0iMzAuNTYyIi8+CisJCQkJCTx2YWwgbz0iMTliNTQxIiB2PSIyOS45NjMiLz4KKwkJCQkJPHZhbCBvPSIxOWMzNGQiIHY9IjI4LjMzNiIvPgorCQkJCQk8dmFsIG89IjE5ZDE1ZSIgdj0iMjguMTAyIi8+CisJCQkJCTx2YWwgbz0iMTlkZjgwIiB2PSIyOC44NjQiLz4KKwkJCQkJPHZhbCBvPSIxOWVkOTAiIHY9IjI4LjI3OCIvPgorCQkJCQk8dmFsIG89IjE5ZWViZSIgdj0iMjguMzk5Ii8+CisJCQkJCTx2YWwgbz0iMTlmYjhlIiB2PSIxMS4wMTYiLz4KKwkJCQkJPHZhbCBvPSIxYTA5YTAiIHY9IjE0LjE1NSIvPgorCQkJCQk8dmFsIG89IjFhMTdhZSIgdj0iMTkuMTMyIi8+CisJCQkJCTx2YWwgbz0iMWEyNWJlIiB2PSIyMC4yOCIvPgorCQkJCQk8dmFsIG89IjFhMzNjZCIgdj0iMTEuMjgiLz4KKwkJCQkJPHZhbCBvPSIxYTQxZGQiIHY9IjEyLjI1Ii8+CisJCQkJCTx2YWwgbz0iMWE0ZmVkIiB2PSIxNi41NjEiLz4KKwkJCQkJPHZhbCBvPSIxYTVlMDgiIHY9IjE1LjE1Ii8+CisJCQkJCTx2YWwgbz0iMWE2YzA1IiB2PSI5Ljk1MyIvPgorCQkJCQk8dmFsIG89IjFhN2ExNSIgdj0iMTIuNzMyIi8+CisJCQkJCTx2YWwgbz0iMWE4ODI2IiB2PSIxMi45NTgiLz4KKwkJCQkJPHZhbCBvPSIxYTk2MzciIHY9IjkuNjg1Ii8+CisJCQkJCTx2YWwgbz0iMWFhNDQ1IiB2PSI2LjgwNSIvPgorCQkJCQk8dmFsIG89IjFhYjI1NSIgdj0iNC41NTkiLz4KKwkJCQkJPHZhbCBvPSIxYWMwNjUiIHY9IjEwLjYzMiIvPgorCQkJCQk8dmFsIG89IjFhY2U3NSIgdj0iMTQuNjQiLz4KKwkJCQkJPHZhbCBvPSIxYWRjODciIHY9IjE0LjE4MiIvPgorCQkJCQk8dmFsIG89IjFhZWE5NiIgdj0iMTMuNzE3Ii8+CisJCQkJCTx2YWwgbz0iMWFmOGE3IiB2PSIxNS4wNzEiLz4KKwkJCQkJPHZhbCBvPSIxYjA2YjciIHY9IjEzLjIzNiIvPgorCQkJCQk8dmFsIG89IjFiMTRjNiIgdj0iMTIuNzQ2Ii8+CisJCQkJCTx2YWwgbz0iMWM3NDYwIiB2PSIzLjk5OSIvPgorCQkJCQk8dmFsIG89IjFjODI3MCIgdj0iMi4xODYiLz4KKwkJCQkJPHZhbCBvPSIxYzkwN2UiIHY9IjE2LjU4NSIvPgorCQkJCQk8dmFsIG89IjFjOWU4ZiIgdj0iMTQuMzc4Ii8+CisJCQkJCTx2YWwgbz0iMWNhY2EyIiB2PSIxNi4wNDEiLz4KKwkJCQkJPHZhbCBvPSIxY2JhYjEiIHY9IjE1Ljc5OSIvPgorCQkJCQk8dmFsIG89IjFjYzhjMSIgdj0iMjkuMjUiLz4KKwkJCQkJPHZhbCBvPSIxY2Q2ZDAiIHY9IjI3LjYyMSIvPgorCQkJCQk8dmFsIG89IjFjZTRkZSIgdj0iMjUuNDUzIi8+CisJCQkJCTx2YWwgbz0iMWNmMmYwIiB2PSIyNC4zNjkiLz4KKwkJCQkJPHZhbCBvPSIxZDAxMDkiIHY9IjI1LjM0OCIvPgorCQkJCQk8dmFsIG89IjFkMGYwNiIgdj0iMjguNjg3Ii8+CisJCQkJCTx2YWwgbz0iMWQxZDE1IiB2PSIyOC4zNzMiLz4KKwkJCQkJPHZhbCBvPSIxZDJiMjUiIHY9IjI4LjgwMSIvPgorCQkJCQk8dmFsIG89IjFkMzkzNSIgdj0iMzAuMDQ1Ii8+CisJCQkJCTx2YWwgbz0iMWQ0NzQ1IiB2PSIzMC42NDQiLz4KKwkJCQkJPHZhbCBvPSIxZDU1NTUiIHY9IjMwLjM1NCIvPgorCQkJCQk8dmFsIG89IjFkNjM2NiIgdj0iMjQuOTMzIi8+CisJCQkJCTx2YWwgbz0iMWQ3MTc1IiB2PSIyMy44MTMiLz4KKwkJCQkJPHZhbCBvPSIxZDdmODYiIHY9IjIzLjgxOCIvPgorCQkJCQk8dmFsIG89IjFkOGQ5NSIgdj0iMTUuMTUzIi8+CisJCQkJCTx2YWwgbz0iMWQ5YmE2IiB2PSIxNi42OSIvPgorCQkJCQk8dmFsIG89IjFkYTliNiIgdj0iMTYuMzg1Ii8+CisJCQkJCTx2YWwgbz0iMWRiN2M3IiB2PSIxNS42NDMiLz4KKwkJCQkJPHZhbCBvPSIxZGM1ZDUiIHY9IjE2LjI2OSIvPgorCQkJCQk8dmFsIG89IjFkZDNlNiIgdj0iMTYuNjg5Ii8+CisJCQkJCTx2YWwgbz0iMWRlMWY1IiB2PSIyNy44OTciLz4KKwkJCQkJPHZhbCBvPSIxZGYwMDYiIHY9IjMxLjQ0OSIvPgorCQkJCQk8dmFsIG89IjFkZmUxNiIgdj0iMzEuMjMyIi8+CisJCQkJCTx2YWwgbz0iMWUwYzI2IiB2PSIzMi4wMDEiLz4KKwkJCQkJPHZhbCBvPSIxZTFhMzYiIHY9IjMxLjk5OSIvPgorCQkJCQk8dmFsIG89IjFlMjg0NyIgdj0iMzAuNjY5Ii8+CisJCQkJCTx2YWwgbz0iMWUzNjU5IiB2PSIyOS4xODUiLz4KKwkJCQkJPHZhbCBvPSIxZTQ0NjciIHY9IjI3LjE5OSIvPgorCQkJCQk8dmFsIG89IjFlNTI4MSIgdj0iMjMuNzk4Ii8+CisJCQkJCTx2YWwgbz0iMWU2MDg2IiB2PSIyMy41NjYiLz4KKwkJCQkJPHZhbCBvPSIxZTZlOTYiIHY9IjIzLjAzNSIvPgorCQkJCQk8dmFsIG89IjFlN2NhNiIgdj0iOC41NzMiLz4KKwkJCQkJPHZhbCBvPSIxZThhYjUiIHY9IjcuOTEzIi8+CisJCQkJCTx2YWwgbz0iMWU5OGM2IiB2PSI3Ljg1MSIvPgorCQkJCQk8dmFsIG89IjFlYTZkNSIgdj0iOS44NDUiLz4KKwkJCQkJPHZhbCBvPSIxZWI0ZTYiIHY9IjEwLjE3NyIvPgorCQkJCQk8dmFsIG89IjFlYzJmNiIgdj0iMTEuNzMyIi8+CisJCQkJCTx2YWwgbz0iMWVkMTA2IiB2PSIxMS41NTQiLz4KKwkJCQkJPHZhbCBvPSIxZWRmMTYiIHY9IjEyLjA2NyIvPgorCQkJCQk8dmFsIG89IjFlZWQyNiIgdj0iMTEuNzI1Ii8+CisJCQkJCTx2YWwgbz0iMWVmYjM2IiB2PSIxMS40NjUiLz4KKwkJCQkJPHZhbCBvPSIxZjA5NDYiIHY9IjEwLjg1MSIvPgorCQkJCQk8dmFsIG89IjFmMTc1NiIgdj0iMTAuOTI4Ii8+CisJCQkJCTx2YWwgbz0iMWYyNTY2IiB2PSIxMC45ODQiLz4KKwkJCQkJPHZhbCBvPSIxZjMzNzYiIHY9IjEzLjYyNiIvPgorCQkJCQk8dmFsIG89IjFmNDE4NyIgdj0iMTkuMzk5Ii8+CisJCQkJCTx2YWwgbz0iMWY0Zjk2IiB2PSIxNi4zMjYiLz4KKwkJCQkJPHZhbCBvPSIxZjVkYTciIHY9IjE1Ljg0OCIvPgorCQkJCQk8dmFsIG89IjFmNmJiNiIgdj0iMTUuNzg1Ii8+CisJCQkJCTx2YWwgbz0iMWY3OWM3IiB2PSIxNC4zMTkiLz4KKwkJCQkJPHZhbCBvPSIxZjg3ZDYiIHY9IjE1Ljc3Ii8+CisJCQkJCTx2YWwgbz0iMWY5NWU3IiB2PSIxNi4yOTUiLz4KKwkJCQkJPHZhbCBvPSIxZmE0MDEiIHY9IjEzLjM4MiIvPgorCQkJCQk8dmFsIG89IjFmYjIwNCIgdj0iMTEuNzUyIi8+CisJCQkJCTx2YWwgbz0iMWZjMDE2IiB2PSIxMS42OTQiLz4KKwkJCQkJPHZhbCBvPSIxZmNlMjUiIHY9IjkuMjQiLz4KKwkJCQkJPHZhbCBvPSIxZmRjMzUiIHY9IjguOTY5Ii8+CisJCQkJCTx2YWwgbz0iMWZlYTQ1IiB2PSI5LjQyIi8+CisJCQkJCTx2YWwgbz0iMWZmODU1IiB2PSIxMS4yOTkiLz4KKwkJCQkJPHZhbCBvPSIyMDA2NjUiIHY9IjE4LjA2Ii8+CisJCQkJCTx2YWwgbz0iMjAxNDc1IiB2PSIxNS45ODkiLz4KKwkJCQkJPHZhbCBvPSIyMDIyODYiIHY9IjIzLjM2MyIvPgorCQkJCQk8dmFsIG89IjIwMzA5NSIgdj0iMjYuMDcxIi8+CisJCQkJCTx2YWwgbz0iMjAzZWE1IiB2PSIyOS4yODMiLz4KKwkJCQkJPHZhbCBvPSIyMDRjYjYiIHY9IjI1Ljg1NiIvPgorCQkJCQk8dmFsIG89IjIwNWFjNiIgdj0iMjUuMjM1Ii8+CisJCQkJCTx2YWwgbz0iMjA2OGQ2IiB2PSIyNi40MDUiLz4KKwkJCQkJPHZhbCBvPSIyMDc2ZTYiIHY9IjMwLjA3NiIvPgorCQkJCQk8dmFsIG89IjIwODRmNiIgdj0iMjguNDMzIi8+CisJCQkJCTx2YWwgbz0iMjA5MzA2IiB2PSIzMC4yNzEiLz4KKwkJCQkJPHZhbCBvPSIyMGExMTYiIHY9IjI4LjU1NyIvPgorCQkJCQk8dmFsIG89IjIwYWYyNiIgdj0iMjQuNTQyIi8+CisJCQkJCTx2YWwgbz0iMjBiZDM3IiB2PSIyMy45NjIiLz4KKwkJCQkJPHZhbCBvPSIyMGNiNDYiIHY9IjIxLjI0MiIvPgorCQkJCQk8dmFsIG89IjIwZDk1NyIgdj0iMTkuNjMzIi8+CisJCQkJCTx2YWwgbz0iMjBlNzY3IiB2PSIxOC4wMDkiLz4KKwkJCQkJPHZhbCBvPSIyMGY1ODEiIHY9IjE3Ljc5OCIvPgorCQkJCQk8dmFsIG89IjIxMDM4NiIgdj0iMTUuMzA0Ii8+CisJCQkJCTx2YWwgbz0iMjExMTk0IiB2PSIxMy40NTMiLz4KKwkJCQkJPHZhbCBvPSIyMTFmYTUiIHY9IjEzLjA1NSIvPgorCQkJCQk8dmFsIG89IjIxMmRiNSIgdj0iMTIuODcyIi8+CisJCQkJCTx2YWwgbz0iMjEzYmM1IiB2PSIxMy41NDQiLz4KKwkJCQkJPHZhbCBvPSIyMTQ5ZDYiIHY9IjE3LjI1Ii8+CisJCQkJCTx2YWwgbz0iMjE1N2U1IiB2PSIyMS4wNDYiLz4KKwkJCQkJPHZhbCBvPSIyMTY1ZjYiIHY9IjI1LjgzMiIvPgorCQkJCQk8dmFsIG89IjIxNzQwNiIgdj0iMjcuNzkxIi8+CisJCQkJCTx2YWwgbz0iMjE4MjE3IiB2PSIyOC4wNTQiLz4KKwkJCQkJPHZhbCBvPSIyMTkwMjYiIHY9IjI3LjYzIi8+CisJCQkJCTx2YWwgbz0iMjE5ZTM5IiB2PSIyOC40NTciLz4KKwkJCQkJPHZhbCBvPSIyMWFjNDYiIHY9IjI3LjcyNSIvPgorCQkJCQk8dmFsIG89IjIxYmE1NyIgdj0iMjcuOTIyIi8+CisJCQkJCTx2YWwgbz0iMjFjODY3IiB2PSIyOC4yNSIvPgorCQkJCQk8dmFsIG89IjIxZDY3NyIgdj0iMjcuNTM5Ii8+CisJCQkJCTx2YWwgbz0iMjFlNDg3IiB2PSIyNi4yNTEiLz4KKwkJCQkJPHZhbCBvPSIyMWYyOTYiIHY9IjI1Ljk0NyIvPgorCQkJCQk8dmFsIG89IjIyMDBhNiIgdj0iMjQuNjcxIi8+CisJCQkJCTx2YWwgbz0iMjIwZWI3IiB2PSIyNC4zODMiLz4KKwkJCQkJPHZhbCBvPSIyMjFjYzYiIHY9IjIyLjc0MiIvPgorCQkJCQk8dmFsIG89IjIyMmFkNyIgdj0iMTcuNzQyIi8+CisJCQkJCTx2YWwgbz0iMjIzOGU3IiB2PSIxNi4xMTciLz4KKwkJCQkJPHZhbCBvPSIyMjQ3MDEiIHY9IjE0LjU0OCIvPgorCQkJCQk8dmFsIG89IjIyNTUwNSIgdj0iMTguNDE4Ii8+CisJCQkJCTx2YWwgbz0iMjI2MzE1IiB2PSIxMC4xNDciLz4KKwkJCQkJPHZhbCBvPSIyMjcxMjUiIHY9IjEwLjY0OCIvPgorCQkJCQk8dmFsIG89IjIyN2YzNSIgdj0iMTMuMDYyIi8+CisJCQkJCTx2YWwgbz0iMjI4ZDQ1IiB2PSIxNy4wODIiLz4KKwkJCQkJPHZhbCBvPSIyMjliNTQiIHY9IjE1LjcyMyIvPgorCQkJCQk8dmFsIG89IjIyYTk2NSIgdj0iMTcuNjI3Ii8+CisJCQkJCTx2YWwgbz0iMjJiNzc2IiB2PSIyMS4wODMiLz4KKwkJCQkJPHZhbCBvPSIyMmM1ODYiIHY9IjI0LjI5MyIvPgorCQkJCQk8dmFsIG89IjIyZDM5NyIgdj0iMjYuODIzIi8+CisJCQkJCTx2YWwgbz0iMjJlMWE2IiB2PSIyNy4wNCIvPgorCQkJCQk8dmFsIG89IjIyZWZiNiIgdj0iMjIuMDkxIi8+CisJCQkJCTx2YWwgbz0iMjJmZGM3IiB2PSIyMS41MTQiLz4KKwkJCQkJPHZhbCBvPSIyMzBiZDciIHY9IjIwLjkyMiIvPgorCQkJCQk8dmFsIG89IjIzMTllNiIgdj0iMjUuMDYxIi8+CisJCQkJCTx2YWwgbz0iMjMyN2Y2IiB2PSIyNS45NTkiLz4KKwkJCQkJPHZhbCBvPSIyMzM2MWIiIHY9IjI3LjY0NCIvPgorCQkJCQk8dmFsIG89IjIzNDQxNiIgdj0iMjUuNTc4Ii8+CisJCQkJCTx2YWwgbz0iMjM1MjI2IiB2PSIyNC4xOTkiLz4KKwkJCQkJPHZhbCBvPSIyMzYwMzciIHY9IjIzLjgzIi8+CisJCQkJCTx2YWwgbz0iMjM2ZTQ2IiB2PSIyMi43MTkiLz4KKwkJCQkJPHZhbCBvPSIyMzdjNTciIHY9IjIwLjk1MiIvPgorCQkJCQk8dmFsIG89IjIzOGE2NiIgdj0iMTguMzgyIi8+CisJCQkJCTx2YWwgbz0iMjM5ODgxIiB2PSIxNC45MjgiLz4KKwkJCQkJPHZhbCBvPSIyM2E2ODUiIHY9IjE0Ljg1OSIvPgorCQkJCQk8dmFsIG89IjIzYjQ5NSIgdj0iMTQuMDgxIi8+CisJCQkJCTx2YWwgbz0iMjNjMmE0IiB2PSIxMy4zMDkiLz4KKwkJCQkJPHZhbCBvPSIyM2QwYjUiIHY9IjEzLjcyNiIvPgorCQkJCQk8dmFsIG89IjIzZGVjNCIgdj0iMTUuMDcxIi8+CisJCQkJCTx2YWwgbz0iMjNlY2Q1IiB2PSIxNy4wNjQiLz4KKwkJCQkJPHZhbCBvPSIyM2ZhZTQiIHY9IjIwLjYxMiIvPgorCQkJCQk8dmFsIG89IjI0MDhmNiIgdj0iMjQuODkxIi8+CisJCQkJCTx2YWwgbz0iMjQxNzA2IiB2PSIzMi45NDIiLz4KKwkJCQkJPHZhbCBvPSIyNDI1MTgiIHY9IjM0LjI0NyIvPgorCQkJCQk8dmFsIG89IjI0MzMyNSIgdj0iMzQuNzg3Ii8+CisJCQkJCTx2YWwgbz0iMjQ0MTM3IiB2PSIzMS4xNzYiLz4KKwkJCQkJPHZhbCBvPSIyNDRmNDYiIHY9IjI5LjgwNiIvPgorCQkJCQk8dmFsIG89IjI0NmI2NiIgdj0iMzAuNTY5Ii8+CisJCQkJCTx2YWwgbz0iMjQ3OTc2IiB2PSIyOS4xNzUiLz4KKwkJCQkJPHZhbCBvPSIyNDg3ODYiIHY9IjM0LjkyMSIvPgorCQkJCQk8dmFsIG89IjI0OTU3ZSIgdj0iMjguNzY3Ii8+CisJCQkJCTx2YWwgbz0iMjRhMzhmIiB2PSIyNS43OTciLz4KKwkJCQkJPHZhbCBvPSIyNGIxOWMiIHY9IjI2LjE2MSIvPgorCQkJCQk8dmFsIG89IjI0YmZhYyIgdj0iMjQuNzY5Ii8+CisJCQkJCTx2YWwgbz0iMjRjZGJjIiB2PSIyNC4wNTMiLz4KKwkJCQkJPHZhbCBvPSIyNGRiY2QiIHY9IjIwLjI4Ii8+CisJCQkJCTx2YWwgbz0iMjRlOWU1IiB2PSIxOC4yMiIvPgorCQkJCQk8dmFsIG89IjI0ZjgwOCIgdj0iMTUuMzQ1Ii8+CisJCQkJCTx2YWwgbz0iMjUwNjE2IiB2PSIxNS45NTMiLz4KKwkJCQkJPHZhbCBvPSIyNTE0MjYiIHY9IjE1Ljg4NCIvPgorCQkJCQk8dmFsIG89IjI1MjIzNiIgdj0iMTUuMDU0Ii8+CisJCQkJCTx2YWwgbz0iMjUzMDQ3IiB2PSIxNi4wMTQiLz4KKwkJCQkJPHZhbCBvPSIyNTNlNTYiIHY9IjE5LjU3NCIvPgorCQkJCQk8dmFsIG89IjI1NGM2NyIgdj0iMjAuMDY1Ii8+CisJCQkJCTx2YWwgbz0iMjU1YTc2IiB2PSIyMy45MzYiLz4KKwkJCQkJPHZhbCBvPSIyNTY4ODciIHY9IjI5LjI3NCIvPgorCQkJCQk8dmFsIG89IjI1NzY5NyIgdj0iMzEuNjkxIi8+CisJCQkJCTx2YWwgbz0iMjU4NGE4IiB2PSI3NS4xNTQiLz4KKwkJCQkJPHZhbCBvPSIyNTkyYjYiIHY9IjQxLjQ1OCIvPgorCQkJCQk8dmFsIG89IjI1YTBjNyIgdj0iMjEuMjIxIi8+CisJCQkJCTx2YWwgbz0iMjVhZWQ3IiB2PSIyOS40MTciLz4KKwkJCQkJPHZhbCBvPSIyNWJjZTciIHY9IjI4LjU5NyIvPgorCQkJCQk8dmFsIG89IjI1Y2FmOCIgdj0iMjcuMjU2Ii8+CisJCQkJCTx2YWwgbz0iMjVkOTA3IiB2PSIyOC45MjUiLz4KKwkJCQkJPHZhbCBvPSIyNWU3MTgiIHY9IjI5LjM4Ii8+CisJCQkJCTx2YWwgbz0iMjVmNTI3IiB2PSIyNi41NTkiLz4KKwkJCQkJPHZhbCBvPSIyNjAzMzgiIHY9IjI1LjIzNCIvPgorCQkJCQk8dmFsIG89IjI2MTE0OSIgdj0iMjMuMzEyIi8+CisJCQkJCTx2YWwgbz0iMjYxZjU5IiB2PSIyMS4zMTciLz4KKwkJCQkJPHZhbCBvPSIyNjJkNjgiIHY9IjIwLjc2MSIvPgorCQkJCQk8dmFsIG89IjI2M2I4MyIgdj0iMTYuMzYiLz4KKwkJCQkJPHZhbCBvPSIyNjQ5ODYiIHY9IjE1LjY1NyIvPgorCQkJCQk8dmFsIG89IjI2NTc5NSIgdj0iMTYuNjE4Ii8+CisJCQkJCTx2YWwgbz0iMjY2NWE2IiB2PSIxNy44ODgiLz4KKwkJCQkJPHZhbCBvPSIyNjczYjUiIHY9IjE2Ljg2MSIvPgorCQkJCQk8dmFsIG89IjI2ODFjNiIgdj0iMTYuNjE3Ii8+CisJCQkJCTx2YWwgbz0iMjY4ZmQ1IiB2PSIxNy40MjgiLz4KKwkJCQkJPHZhbCBvPSIyNjlkZTYiIHY9IjE4LjIyNSIvPgorCQkJCQk8dmFsIG89IjI2YWJmNiIgdj0iMTguNDE1Ii8+CisJCQkJCTx2YWwgbz0iMjZiYTA2IiB2PSIyMi4xMjYiLz4KKwkJCQkJPHZhbCBvPSIyNmM4MTciIHY9IjIyLjEyNiIvPgorCQkJCQk8dmFsIG89IjI2ZDYyYiIgdj0iMjUuNzgyIi8+CisJCQkJCTx2YWwgbz0iMjZlNDM2IiB2PSIyMi43NzQiLz4KKwkJCQkJPHZhbCBvPSIyNmYyNDciIHY9IjIyLjc3NCIvPgorCQkJCQk8dmFsIG89IjI3MDA1NyIgdj0iMjIuOTA5Ii8+CisJCQkJCTx2YWwgbz0iMjcwZTY3IiB2PSIyMy4xMzkiLz4KKwkJCQkJPHZhbCBvPSIyNzFjNzciIHY9IjIxLjU1MyIvPgorCQkJCQk8dmFsIG89IjI3MmE4NyIgdj0iMjMuNTM5Ii8+CisJCQkJCTx2YWwgbz0iMjczODk3IiB2PSIyMy4xMzkiLz4KKwkJCQkJPHZhbCBvPSIyNzQ2YTgiIHY9IjIyLjczNSIvPgorCQkJCQk8dmFsIG89IjI3NTRiOSIgdj0iMjIuMzM1Ii8+CisJCQkJCTx2YWwgbz0iMjc2MmM3IiB2PSIyMy4yMDUiLz4KKwkJCQkJPHZhbCBvPSIyNzcwZDgiIHY9IjE4LjIzOCIvPgorCQkJCQk8dmFsIG89IjI3N2VlNyIgdj0iMTQuMTM2Ii8+CisJCQkJPC9wYXI+CisJCQkJPHBhciBtZW1pbmQ9Ijk4MTIiIGg9IjNkYzFhOGRlIj4KKwkJCQkJPHZhbCBvPSIwIiB2PSIxMTQuMDgxIi8+CisJCQkJCTx2YWwgbz0iZTA4IiB2PSIxMTcuMTkiLz4KKwkJCQkJPHZhbCBvPSIxYzMyIiB2PSIxMTguOTY0Ii8+CisJCQkJCTx2YWwgbz0iMmEzYyIgdj0iMTIwLjU2NCIvPgorCQkJCQk8dmFsIG89IjM4MzUiIHY9IjExOC43NDciLz4KKwkJCQkJPHZhbCBvPSI0NjQ1IiB2PSIxMTYuNTI5Ii8+CisJCQkJCTx2YWwgbz0iNTQ1NSIgdj0iMTA5LjM4NCIvPgorCQkJCQk8dmFsIG89IjYyNjUiIHY9IjEyMS4zNTYiLz4KKwkJCQkJPHZhbCBvPSI3MDc1IiB2PSIxMTkuMDE0Ii8+CisJCQkJCTx2YWwgbz0iN2U4NSIgdj0iMTE2LjIyNiIvPgorCQkJCQk8dmFsIG89IjhjOTYiIHY9IjEyMC4xNzUiLz4KKwkJCQkJPHZhbCBvPSI5YWE1IiB2PSIxMjAuOTQ5Ii8+CisJCQkJCTx2YWwgbz0iYThiNiIgdj0iMTI0LjIiLz4KKwkJCQkJPHZhbCBvPSJiNmM1IiB2PSIxMjQuMDQzIi8+CisJCQkJCTx2YWwgbz0iYzRkNyIgdj0iMTE3Ljc2MSIvPgorCQkJCQk8dmFsIG89ImQzMGIiIHY9IjExOC4wOTIiLz4KKwkJCQkJPHZhbCBvPSJlMGY2IiB2PSIxMTguMzU0Ii8+CisJCQkJCTx2YWwgbz0iZWYwNiIgdj0iMTE4LjYzMyIvPgorCQkJCQk8dmFsIG89ImZkMTciIHY9IjExOC40OTQiLz4KKwkJCQkJPHZhbCBvPSIxMGIyNyIgdj0iMTIxLjI0MyIvPgorCQkJCQk8dmFsIG89IjExOTM3IiB2PSIxMjIuMjc4Ii8+CisJCQkJCTx2YWwgbz0iMTI3NDYiIHY9IjExOS42ODkiLz4KKwkJCQkJPHZhbCBvPSIxMzU1NiIgdj0iMTIxLjE2NSIvPgorCQkJCQk8dmFsIG89IjE0MzY2IiB2PSIxMjUuNjg4Ii8+CisJCQkJCTx2YWwgbz0iMTUxODEiIHY9IjEyNy41MTciLz4KKwkJCQkJPHZhbCBvPSIxNWY4NSIgdj0iMTE5LjUwOCIvPgorCQkJCQk8dmFsIG89IjE2ZDk1IiB2PSIxMjEuMjciLz4KKwkJCQkJPHZhbCBvPSIxN2JhNCIgdj0iMTIxLjI2MiIvPgorCQkJCQk8dmFsIG89IjE4OWI1IiB2PSIxMjAuNTk1Ii8+CisJCQkJCTx2YWwgbz0iMTk3YzQiIHY9IjExOC43MjUiLz4KKwkJCQkJPHZhbCBvPSIxYTVkNSIgdj0iMTI2LjkxMyIvPgorCQkJCQk8dmFsIG89IjFiM2U2IiB2PSIxMjUuOTg0Ii8+CisJCQkJCTx2YWwgbz0iMWMxZjYiIHY9IjEyNC45NzEiLz4KKwkJCQkJPHZhbCBvPSIxZDAwNSIgdj0iMTIxLjcyMiIvPgorCQkJCQk8dmFsIG89IjFkZTE1IiB2PSIxMjIuMjMzIi8+CisJCQkJCTx2YWwgbz0iMWVjMjUiIHY9IjEyMi44MzYiLz4KKwkJCQkJPHZhbCBvPSIxZmEzNiIgdj0iMTI0LjEyNSIvPgorCQkJCQk8dmFsIG89IjIwODQ1IiB2PSIxMjUuMTA1Ii8+CisJCQkJCTx2YWwgbz0iMjE2NTYiIHY9IjEyNS4yNjYiLz4KKwkJCQkJPHZhbCBvPSIyMjQ2NSIgdj0iMTI1LjM4MSIvPgorCQkJCQk8dmFsIG89IjIzMjc2IiB2PSIxMjMuNjg4Ii8+CisJCQkJCTx2YWwgbz0iMjQwODYiIHY9IjExOS40MzciLz4KKwkJCQkJPHZhbCBvPSIyNGU5OSIgdj0iMTE5LjE2NyIvPgorCQkJCQk8dmFsIG89IjI1Y2E3IiB2PSIxMjAuMzM0Ii8+CisJCQkJCTx2YWwgbz0iMjZhYjciIHY9IjExOS44MzciLz4KKwkJCQkJPHZhbCBvPSIyNzhjNiIgdj0iMTIwLjEwOSIvPgorCQkJCQk8dmFsIG89IjI4NmQ2IiB2PSIxMjIuMDc0Ii8+CisJCQkJCTx2YWwgbz0iMjk0ZTYiIHY9IjEyNS41NDIiLz4KKwkJCQkJPHZhbCBvPSIyYTMwMSIgdj0iMTI1LjYzOCIvPgorCQkJCQk8dmFsIG89IjJiMTA1IiB2PSIxMTcuMzk4Ii8+CisJCQkJCTx2YWwgbz0iMmJmMTUiIHY9IjExOC44MDciLz4KKwkJCQkJPHZhbCBvPSIyY2QyNSIgdj0iMTE5LjY0NCIvPgorCQkJCQk8dmFsIG89IjJkYjM1IiB2PSIxMTkuNjc0Ii8+CisJCQkJCTx2YWwgbz0iMmU5NDYiIHY9IjExNy41NDkiLz4KKwkJCQkJPHZhbCBvPSIyZjc1NSIgdj0iMTEzLjIyOSIvPgorCQkJCQk8dmFsIG89IjMwNTY2IiB2PSIxMjUuMTUzIi8+CisJCQkJCTx2YWwgbz0iMzEzNzUiIHY9IjEyNC42OTEiLz4KKwkJCQkJPHZhbCBvPSIzMjE5ZSIgdj0iMTIzLjU1NiIvPgorCQkJCQk8dmFsIG89IjMyZjk2IiB2PSIxMjMuMjMxIi8+CisJCQkJCTx2YWwgbz0iMzNkYTYiIHY9IjEyMy40MDQiLz4KKwkJCQkJPHZhbCBvPSIzNGJiNiIgdj0iMTIzLjkzMiIvPgorCQkJCQk8dmFsIG89IjM1OWRlIiB2PSIxMjMuMzI4Ii8+CisJCQkJCTx2YWwgbz0iMzY3ZDYiIHY9IjEyMi42NDEiLz4KKwkJCQkJPHZhbCBvPSIzNzVlNiIgdj0iMTIxLjU0NCIvPgorCQkJCQk8dmFsIG89IjM4NDBlIiB2PSIxMTguMjA5Ii8+CisJCQkJCTx2YWwgbz0iMzkyMWUiIHY9IjExOC42NzUiLz4KKwkJCQkJPHZhbCBvPSIzYTAxNiIgdj0iMTE4LjMyNSIvPgorCQkJCQk8dmFsIG89IjNhZTI3IiB2PSIxMjEuODkzIi8+CisJCQkJCTx2YWwgbz0iM2JjMzYiIHY9IjEyMC43MTEiLz4KKwkJCQkJPHZhbCBvPSIzY2E0NyIgdj0iMTE5Ljg1NCIvPgorCQkJCQk8dmFsIG89IjNkODU2IiB2PSIxMjAuMTY1Ii8+CisJCQkJCTx2YWwgbz0iM2U2NjciIHY9IjEyMi45OTYiLz4KKwkJCQkJPHZhbCBvPSIzZjQ4MSIgdj0iMTI2LjU1NyIvPgorCQkJCQk8dmFsIG89IjQwMjg1IiB2PSIxMjQuMDYxIi8+CisJCQkJCTx2YWwgbz0iNDEwOTUiIHY9IjEyNC44NzQiLz4KKwkJCQkJPHZhbCBvPSI0MWVhNSIgdj0iMTI1LjI0NCIvPgorCQkJCQk8dmFsIG89IjQyY2I1IiB2PSIxMjUuMDgzIi8+CisJCQkJCTx2YWwgbz0iNDNhYzUiIHY9IjEyMy4xODIiLz4KKwkJCQkJPHZhbCBvPSI0NDhkNSIgdj0iMTE5LjMxMSIvPgorCQkJCQk8dmFsIG89IjQ1NmU2IiB2PSIxMjIuNTI0Ii8+CisJCQkJCTx2YWwgbz0iNDY0ZjUiIHY9IjEyMS4xNzMiLz4KKwkJCQkJPHZhbCBvPSI0ODBmZiIgdj0iMTE4LjY5NiIvPgorCQkJCQk8dmFsIG89IjQ4ZjBlIiB2PSIxMTcuNTU5Ii8+CisJCQkJCTx2YWwgbz0iNDlkMWQiIHY9IjExOC45NDciLz4KKwkJCQkJPHZhbCBvPSI0YWI0NiIgdj0iMTE4Ljc5NyIvPgorCQkJCQk8dmFsIG89IjRiOTU1IiB2PSIxMTcuMDQ4Ii8+CisJCQkJCTx2YWwgbz0iNGM3NjkiIHY9IjExNi4xODIiLz4KKwkJCQkJPHZhbCBvPSI0ZDU3NyIgdj0iMTE5LjEwMSIvPgorCQkJCQk8dmFsIG89IjRlMzg3IiB2PSIxMTkuMTUyIi8+CisJCQkJCTx2YWwgbz0iNGYxOTYiIHY9IjExNi44MTQiLz4KKwkJCQkJPHZhbCBvPSI0ZmZhNiIgdj0iMTE4Ljk0MyIvPgorCQkJCQk8dmFsIG89IjUwZGQwIiB2PSIxMjAuODQ0Ii8+CisJCQkJCTx2YWwgbz0iNTFiYzYiIHY9IjExOS4xMDkiLz4KKwkJCQkJPHZhbCBvPSI1MjlkNiIgdj0iMTIwLjgwMiIvPgorCQkJCQk8dmFsIG89IjUzN2U3IiB2PSIxMjMuMDk1Ii8+CisJCQkJCTx2YWwgbz0iNTQ2MDAiIHY9IjEyNS45MjIiLz4KKwkJCQkJPHZhbCBvPSI1NTQwNiIgdj0iMTIyLjA4MiIvPgorCQkJCQk8dmFsIG89IjU2MjE1IiB2PSIxMjMuMDAxIi8+CisJCQkJCTx2YWwgbz0iNTcwMjYiIHY9IjEyMy4wMzMiLz4KKwkJCQkJPHZhbCBvPSI1N2UzNiIgdj0iMTIyLjk3MiIvPgorCQkJCQk8dmFsIG89IjU4YzQ2IiB2PSIxMjAuNzE3Ii8+CisJCQkJCTx2YWwgbz0iNTlhNzAiIHY9IjEyMS41OTkiLz4KKwkJCQkJPHZhbCBvPSI1YTg2NyIgdj0iMTIwLjk3NyIvPgorCQkJCQk8dmFsIG89IjViNjc2IiB2PSIxMTkuMDM4Ii8+CisJCQkJCTx2YWwgbz0iNWM0ODciIHY9IjExNS43OTgiLz4KKwkJCQkJPHZhbCBvPSI1ZDI5NiIgdj0iMTE5LjkxMyIvPgorCQkJCQk8dmFsIG89IjVlMGE5IiB2PSIxMjAuMjg0Ii8+CisJCQkJCTx2YWwgbz0iNWVlYjgiIHY9IjExOS40NTEiLz4KKwkJCQkJPHZhbCBvPSI1ZmNjNiIgdj0iMTE4LjMyNSIvPgorCQkJCQk8dmFsIG89IjYwYWQ3IiB2PSIxMTcuMTExIi8+CisJCQkJCTx2YWwgbz0iNjE4ZTciIHY9IjExNy4yNjMiLz4KKwkJCQkJPHZhbCBvPSI2MjZmNyIgdj0iMTIwLjE0NyIvPgorCQkJCQk8dmFsIG89IjYzNTA3IiB2PSIxMTcuNTM0Ii8+CisJCQkJCTx2YWwgbz0iNjQzMTciIHY9IjExOC45MDIiLz4KKwkJCQkJPHZhbCBvPSI2NTEyNyIgdj0iMTIwLjA5OSIvPgorCQkJCQk8dmFsIG89IjY1ZjM3IiB2PSIxMjEuNDM0Ii8+CisJCQkJCTx2YWwgbz0iNjZkNDYiIHY9IjEyMS45ODYiLz4KKwkJCQkJPHZhbCBvPSI2N2I1NyIgdj0iMTIwLjY4MyIvPgorCQkJCQk8dmFsIG89IjY4OTY3IiB2PSIxMjIuODYxIi8+CisJCQkJCTx2YWwgbz0iNjk3ODIiIHY9IjExOS4zNSIvPgorCQkJCQk8dmFsIG89IjZhNTg2IiB2PSIxMjAuODQ1Ii8+CisJCQkJCTx2YWwgbz0iNmIzOTUiIHY9IjEyMi4xMTkiLz4KKwkJCQkJPHZhbCBvPSI2YzFhNiIgdj0iMTIyLjUwNiIvPgorCQkJCQk8dmFsIG89IjZjZmI1IiB2PSIxMjEuNDYyIi8+CisJCQkJCTx2YWwgbz0iNmRkYzYiIHY9IjExOC45MDkiLz4KKwkJCQkJPHZhbCBvPSI2ZWJkNiIgdj0iMTE2LjM3MiIvPgorCQkJCQk8dmFsIG89IjZmOWU2IiB2PSIxMjEuMzExIi8+CisJCQkJCTx2YWwgbz0iNzA3ZjYiIHY9IjExOS40MTIiLz4KKwkJCQkJPHZhbCBvPSI3MTYwNyIgdj0iMTE4LjI4MSIvPgorCQkJCQk8dmFsIG89IjcyNDE3IiB2PSIxMTguMTQ4Ii8+CisJCQkJCTx2YWwgbz0iNzMyMjciIHY9IjExNy44MTEiLz4KKwkJCQkJPHZhbCBvPSI3NDAzNyIgdj0iMTIxLjY5NCIvPgorCQkJCQk8dmFsIG89Ijc0ZTQ3IiB2PSIxMjAuNzU1Ii8+CisJCQkJCTx2YWwgbz0iNzVjNTciIHY9IjExOC42NTEiLz4KKwkJCQkJPHZhbCBvPSI3NmE2MyIgdj0iMTE4LjA4Ii8+CisJCQkJCTx2YWwgbz0iNzc4NzMiIHY9IjExOC4yODIiLz4KKwkJCQkJPHZhbCBvPSI3ODY4MCIgdj0iMTEzLjkxMSIvPgorCQkJCQk8dmFsIG89Ijc5NDhmIiB2PSIxMTYuOTQxIi8+CisJCQkJCTx2YWwgbz0iN2EyOWYiIHY9IjExOS41MDgiLz4KKwkJCQkJPHZhbCBvPSI3YjBhZiIgdj0iMTE5LjA3MSIvPgorCQkJCQk8dmFsIG89IjdiZWJmIiB2PSIxMjEuMTQ2Ii8+CisJCQkJCTx2YWwgbz0iN2NjY2YiIHY9IjEyMS4zMzYiLz4KKwkJCQkJPHZhbCBvPSI3ZGFkZiIgdj0iMTIyLjA5NSIvPgorCQkJCQk8dmFsIG89IjdlOGZhIiB2PSIxMjEuNzg1Ii8+CisJCQkJCTx2YWwgbz0iN2Y3MGEiIHY9IjEyNC4wNjUiLz4KKwkJCQkJPHZhbCBvPSI4MDUxYSIgdj0iMTI1LjQ1NSIvPgorCQkJCQk8dmFsIG89IjgxMzJhIiB2PSIxMjYuMDExIi8+CisJCQkJCTx2YWwgbz0iODIxM2EiIHY9IjEyNS4wMTgiLz4KKwkJCQkJPHZhbCBvPSI4MmY0YSIgdj0iMTIyLjc0MSIvPgorCQkJCQk8dmFsIG89IjgzZDVhIiB2PSIxMjAuMjYiLz4KKwkJCQkJPHZhbCBvPSI4NGI2YSIgdj0iMTE4Ljg1NiIvPgorCQkJCQk8dmFsIG89Ijg1OTdhIiB2PSIxMTguODE3Ii8+CisJCQkJCTx2YWwgbz0iODY3OGIiIHY9IjExNy44MDciLz4KKwkJCQkJPHZhbCBvPSI4NzU5YiIgdj0iMTE3LjQ0NCIvPgorCQkJCQk8dmFsIG89Ijg4M2FjIiB2PSIxMTkuOTY3Ii8+CisJCQkJCTx2YWwgbz0iODkxYmIiIHY9IjEyMS4xNDEiLz4KKwkJCQkJPHZhbCBvPSI4OWZjYSIgdj0iMTIwLjI1OSIvPgorCQkJCQk8dmFsIG89IjhhZGRhIiB2PSIxMTguNTU4Ii8+CisJCQkJCTx2YWwgbz0iOGJiZWIiIHY9IjExOC44MTIiLz4KKwkJCQkJPHZhbCBvPSI4YzlmYyIgdj0iMTE4LjYzMyIvPgorCQkJCQk8dmFsIG89IjhkODBiIiB2PSIxMTguOTQ4Ii8+CisJCQkJCTx2YWwgbz0iOGU2MWEiIHY9IjExNy4zMTUiLz4KKwkJCQkJPHZhbCBvPSI4ZjQyYSIgdj0iMTE4LjE0NiIvPgorCQkJCQk8dmFsIG89IjkwMjNhIiB2PSIxMjAuMTIxIi8+CisJCQkJCTx2YWwgbz0iOTEwNGEiIHY9IjEyMC41NjEiLz4KKwkJCQkJPHZhbCBvPSI5MWU1YSIgdj0iMTE4LjYzOCIvPgorCQkJCQk8dmFsIG89IjkyYzZhIiB2PSIxMjIuODQ0Ii8+CisJCQkJCTx2YWwgbz0iOTNhODQiIHY9IjEyNS4xNTMiLz4KKwkJCQkJPHZhbCBvPSI5NDg4NSIgdj0iMTIzLjQ2MyIvPgorCQkJCQk8dmFsIG89Ijk1Njk0IiB2PSIxMjIuNzkzIi8+CisJCQkJCTx2YWwgbz0iOTY0YTUiIHY9IjEyMy4wOTMiLz4KKwkJCQkJPHZhbCBvPSI5NzJiNCIgdj0iMTIyLjUzNSIvPgorCQkJCQk8dmFsIG89Ijk4MGM1IiB2PSIxMjAuMTg5Ii8+CisJCQkJCTx2YWwgbz0iOThlZDQiIHY9IjEyMy4wOTciLz4KKwkJCQkJPHZhbCBvPSI5OWNlNSIgdj0iMTE5LjMzNiIvPgorCQkJCQk8dmFsIG89IjlhYWY1IiB2PSIxMTguNSIvPgorCQkJCQk8dmFsIG89IjliOTA2IiB2PSIxMTUuNzQzIi8+CisJCQkJCTx2YWwgbz0iOWM3MTYiIHY9IjExOS43MjIiLz4KKwkJCQkJPHZhbCBvPSI5ZDUyNiIgdj0iMTIwLjIyMiIvPgorCQkJCQk8dmFsIG89IjllMzM2IiB2PSIxMTguOTE4Ii8+CisJCQkJCTx2YWwgbz0iOWYxNDUiIHY9IjExNy41NTEiLz4KKwkJCQkJPHZhbCBvPSI5ZmY1NiIgdj0iMTE2LjY0OSIvPgorCQkJCQk8dmFsIG89ImEwZDY1IiB2PSIxMTYuNTIiLz4KKwkJCQkJPHZhbCBvPSJhMWI3NyIgdj0iMTE2LjcwMyIvPgorCQkJCQk8dmFsIG89ImEyOTg2IiB2PSIxMTguODA2Ii8+CisJCQkJCTx2YWwgbz0iYTM3OTUiIHY9IjExOC40NjEiLz4KKwkJCQkJPHZhbCBvPSJhNDVhNyIgdj0iMTE5LjU5MyIvPgorCQkJCQk8dmFsIG89ImE1M2I2IiB2PSIxMTkuNzgiLz4KKwkJCQkJPHZhbCBvPSJhNjFjNyIgdj0iMTE5Ljk3MyIvPgorCQkJCQk8dmFsIG89ImE2ZmQ2IiB2PSIxMjAuNzYxIi8+CisJCQkJCTx2YWwgbz0iYTdlMDAiIHY9IjEyMi43ODIiLz4KKwkJCQkJPHZhbCBvPSJhOGMwMCIgdj0iMTI1LjQ0NCIvPgorCQkJCQk8dmFsIG89ImE5YTA1IiB2PSIxMTguMjU1Ii8+CisJCQkJCTx2YWwgbz0iYWE4MTUiIHY9IjExOS4zMDIiLz4KKwkJCQkJPHZhbCBvPSJhYjYyNSIgdj0iMTIwLjE0OSIvPgorCQkJCQk8dmFsIG89ImFjNDM1IiB2PSIxMTkuNjc4Ii8+CisJCQkJCTx2YWwgbz0iYWQyNDUiIHY9IjExNy4xMzgiLz4KKwkJCQkJPHZhbCBvPSJhZTA1NSIgdj0iMTE0LjY4MSIvPgorCQkJCQk8dmFsIG89ImFlZTY1IiB2PSIxMjAuODUxIi8+CisJCQkJCTx2YWwgbz0iYWZjNzUiIHY9IjExOS4wOTkiLz4KKwkJCQkJPHZhbCBvPSJiMGE4NSIgdj0iMTE2LjYwOSIvPgorCQkJCQk8dmFsIG89ImIyNmE2IiB2PSIxMTYuNzI5Ii8+CisJCQkJCTx2YWwgbz0iYjM0YjYiIHY9IjExOC4wNDUiLz4KKwkJCQkJPHZhbCBvPSJiNDJjNiIgdj0iMTE1LjQ3NyIvPgorCQkJCQk8dmFsIG89ImI1MGQ2IiB2PSIxMTUuODkxIi8+CisJCQkJCTx2YWwgbz0iYjVlZTciIHY9IjExNC4yNCIvPgorCQkJCQk8dmFsIG89ImI2Y2Y2IiB2PSIxMjIuNzk0Ii8+CisJCQkJCTx2YWwgbz0iYjdiMDciIHY9IjExOS4wMDIiLz4KKwkJCQkJPHZhbCBvPSJiODkxNyIgdj0iMTE4LjcwMSIvPgorCQkJCQk8dmFsIG89ImI5NzI4IiB2PSIxMTkuNjAyIi8+CisJCQkJCTx2YWwgbz0iYmE1MzciIHY9IjEyMC45NjMiLz4KKwkJCQkJPHZhbCBvPSJiYjM0NyIgdj0iMTE5LjkyNCIvPgorCQkJCQk8dmFsIG89ImJjMTU3IiB2PSIxMjAuNjI4Ii8+CisJCQkJCTx2YWwgbz0iYmNmNjciIHY9IjEyMy4xMjIiLz4KKwkJCQkJPHZhbCBvPSJiZGQ4MSIgdj0iMTE4LjY4MyIvPgorCQkJCQk8dmFsIG89ImJlYjg2IiB2PSIxMTguMzAxIi8+CisJCQkJCTx2YWwgbz0iYmY5OTUiIHY9IjExOC44ODIiLz4KKwkJCQkJPHZhbCBvPSJjMDdhNiIgdj0iMTIwLjE4NyIvPgorCQkJCQk8dmFsIG89ImMxNWI1IiB2PSIxMTkuNTc2Ii8+CisJCQkJCTx2YWwgbz0iYzIzYzYiIHY9IjExOC4yNDMiLz4KKwkJCQkJPHZhbCBvPSJjMzFkNSIgdj0iMTE1LjY5MiIvPgorCQkJCQk8dmFsIG89ImMzZmU2IiB2PSIxMTcuNTYiLz4KKwkJCQkJPHZhbCBvPSJjNGRmNSIgdj0iMTE2LjA1NyIvPgorCQkJCQk8dmFsIG89ImM1YzA2IiB2PSIxMTcuNDExIi8+CisJCQkJCTx2YWwgbz0iYzZhMTYiIHY9IjExNy40ODYiLz4KKwkJCQkJPHZhbCBvPSJjNzgyNiIgdj0iMTE2Ljc0NSIvPgorCQkJCQk8dmFsIG89ImM4NjM2IiB2PSIxMTguMjY1Ii8+CisJCQkJCTx2YWwgbz0iYzk0NDYiIHY9IjExOC4yMDIiLz4KKwkJCQkJPHZhbCBvPSJjYTI1NiIgdj0iMTE4LjAwNCIvPgorCQkJCQk8dmFsIG89ImNiMDY2IiB2PSIxMTcuMjU1Ii8+CisJCQkJCTx2YWwgbz0iY2JlNzYiIHY9IjEyMi43MSIvPgorCQkJCQk8dmFsIG89ImNjYzg3IiB2PSIxMTguNzM2Ii8+CisJCQkJCTx2YWwgbz0iY2RhOTYiIHY9IjExNi43MzQiLz4KKwkJCQkJPHZhbCBvPSJjZThhOCIgdj0iMTE4LjMzOSIvPgorCQkJCQk8dmFsIG89ImNmNmI3IiB2PSIxMTguNjYiLz4KKwkJCQkJPHZhbCBvPSJkMDRjOCIgdj0iMTE5LjcwMyIvPgorCQkJCQk8dmFsIG89ImQxMmQ3IiB2PSIxMjEuNTM2Ii8+CisJCQkJCTx2YWwgbz0iZDIwZTciIHY9IjEyMy40MTkiLz4KKwkJCQkJPHZhbCBvPSJkMmYwMiIgdj0iMTI2LjE4NiIvPgorCQkJCQk8dmFsIG89ImQzZDA1IiB2PSIxMTkuMzEiLz4KKwkJCQkJPHZhbCBvPSJkNGIxNSIgdj0iMTIwLjU4Ii8+CisJCQkJCTx2YWwgbz0iZDU5MjYiIHY9IjEyMC44NTciLz4KKwkJCQkJPHZhbCBvPSJkNjczNSIgdj0iMTE5LjU4MiIvPgorCQkJCQk8dmFsIG89ImQ3NTQ2IiB2PSIxMTcuNDI2Ii8+CisJCQkJCTx2YWwgbz0iZDgzNTUiIHY9IjEyNC4zNDkiLz4KKwkJCQkJPHZhbCBvPSJkOTE2NiIgdj0iMTIyLjQzNSIvPgorCQkJCQk8dmFsIG89ImQ5Zjc1IiB2PSIxMjAuNjkyIi8+CisJCQkJCTx2YWwgbz0iZGFkODciIHY9IjExNy4yMzMiLz4KKwkJCQkJPHZhbCBvPSJkYmI5NyIgdj0iMTE2Ljg2MiIvPgorCQkJCQk8dmFsIG89ImRjOWE4IiB2PSIxMTYuNzI4Ii8+CisJCQkJCTx2YWwgbz0iZGQ3YjciIHY9IjExOC4yMTIiLz4KKwkJCQkJPHZhbCBvPSJkZTVjNiIgdj0iMTE3Ljg1NyIvPgorCQkJCQk8dmFsIG89ImRmM2Q3IiB2PSIxMTcuMTc2Ii8+CisJCQkJCTx2YWwgbz0iZTAxZDciIHY9IjExNy4yNzEiLz4KKwkJCQkJPHZhbCBvPSJlMGZlNSIgdj0iMTE2Ljc5NiIvPgorCQkJCQk8dmFsIG89ImUxZGY1IiB2PSIxMTcuMzYxIi8+CisJCQkJCTx2YWwgbz0iZTJjMDQiIHY9IjExOS43NjkiLz4KKwkJCQkJPHZhbCBvPSJlM2ExNCIgdj0iMTIxLjA1Ii8+CisJCQkJCTx2YWwgbz0iZTQ4MjQiIHY9IjEyMC45MjEiLz4KKwkJCQkJPHZhbCBvPSJlNTYzNCIgdj0iMTIyLjQ5NyIvPgorCQkJCQk8dmFsIG89ImU2NDQ0IiB2PSIxMjAuNjc3Ii8+CisJCQkJCTx2YWwgbz0iZTcyNTUiIHY9IjEyMi42NyIvPgorCQkJCQk8dmFsIG89ImU4MDZmIiB2PSIxMjMuNzc4Ii8+CisJCQkJCTx2YWwgbz0iZThlN2YiIHY9IjExNi42NTUiLz4KKwkJCQkJPHZhbCBvPSJlOWM4ZSIgdj0iMTE4LjEwOSIvPgorCQkJCQk8dmFsIG89ImVhYTlmIiB2PSIxMTguMzcyIi8+CisJCQkJCTx2YWwgbz0iZWI4YWUiIHY9IjExNy41MjciLz4KKwkJCQkJPHZhbCBvPSJlYzZiZiIgdj0iMTEzLjUxOCIvPgorCQkJCQk8dmFsIG89ImVkNGNlIiB2PSIxMjMuNDk2Ii8+CisJCQkJCTx2YWwgbz0iZWUyZGYiIHY9IjEyMC42MTEiLz4KKwkJCQkJPHZhbCBvPSJlZjBlZiIgdj0iMTE4LjcwNCIvPgorCQkJCQk8dmFsIG89ImVmZjAxIiB2PSIxMTUuNjUxIi8+CisJCQkJCTx2YWwgbz0iZjBkMTAiIHY9IjExNy40ODciLz4KKwkJCQkJPHZhbCBvPSJmMWIyMCIgdj0iMTE3LjE4NiIvPgorCQkJCQk8dmFsIG89ImYyOTMwIiB2PSIxMjEuMTE0Ii8+CisJCQkJCTx2YWwgbz0iZjM3NDAiIHY9IjExNy42MTEiLz4KKwkJCQkJPHZhbCBvPSJmNDU1MSIgdj0iMTE3Ljg5MiIvPgorCQkJCQk8dmFsIG89ImY1MzYxIiB2PSIxMTcuNzE4Ii8+CisJCQkJCTx2YWwgbz0iZjYxNzIiIHY9IjExNy41ODQiLz4KKwkJCQkJPHZhbCBvPSJmNmY4MCIgdj0iMTE3LjM4Ii8+CisJCQkJCTx2YWwgbz0iZjdkOTEiIHY9IjExOS4yMjIiLz4KKwkJCQkJPHZhbCBvPSJmOGJhMSIgdj0iMTIxLjAzNyIvPgorCQkJCQk8dmFsIG89ImY5OWIxIiB2PSIxMjAuMjIxIi8+CisJCQkJCTx2YWwgbz0iZmE3YzAiIHY9IjExOC4zNzkiLz4KKwkJCQkJPHZhbCBvPSJmYjVkMSIgdj0iMTE4LjIzOCIvPgorCQkJCQk8dmFsIG89ImZjM2UwIiB2PSIxMjMuMDM3Ii8+CisJCQkJCTx2YWwgbz0iZmQxZmIiIHY9IjEyMy4wMDciLz4KKwkJCQkJPHZhbCBvPSJmZTAwYiIgdj0iMTI2LjI5NCIvPgorCQkJCQk8dmFsIG89ImZlZTFjIiB2PSIxMjMuNjgyIi8+CisJCQkJCTx2YWwgbz0iZmZjMmMiIHY9IjEyMy41OTEiLz4KKwkJCQkJPHZhbCBvPSIxMDBhM2IiIHY9IjEyMi45MTgiLz4KKwkJCQkJPHZhbCBvPSIxMDE4NGMiIHY9IjEyMS4zODciLz4KKwkJCQkJPHZhbCBvPSIxMDI2NWIiIHY9IjExNy41ODYiLz4KKwkJCQkJPHZhbCBvPSIxMDM0NmMiIHY9IjExNy43MTYiLz4KKwkJCQkJPHZhbCBvPSIxMDQyN2IiIHY9IjExOS4xOTEiLz4KKwkJCQkJPHZhbCBvPSIxMDUwOGQiIHY9IjExNy4zNTUiLz4KKwkJCQkJPHZhbCBvPSIxMDVlOWQiIHY9IjExNy44NjIiLz4KKwkJCQkJPHZhbCBvPSIxMDZjYWQiIHY9IjExNy41MzEiLz4KKwkJCQkJPHZhbCBvPSIxMDdhYmQiIHY9IjExOS44ODYiLz4KKwkJCQkJPHZhbCBvPSIxMDg4Y2QiIHY9IjExOS40MjYiLz4KKwkJCQkJPHZhbCBvPSIxMDk2ZGUiIHY9IjExOC43MiIvPgorCQkJCQk8dmFsIG89IjEwYTRlZCIgdj0iMTE5LjAwNCIvPgorCQkJCQk8dmFsIG89IjEwYjJmZSIgdj0iMTE4LjcyNSIvPgorCQkJCQk8dmFsIG89IjEwYzEwZCIgdj0iMTE2LjE5NiIvPgorCQkJCQk8dmFsIG89IjEwY2YxZSIgdj0iMTE4LjExMSIvPgorCQkJCQk8dmFsIG89IjEwZGQyZSIgdj0iMTE5LjAwMSIvPgorCQkJCQk8dmFsIG89IjEwZWI2NiIgdj0iMTIwLjk2MyIvPgorCQkJCQk8dmFsIG89IjEwZjk0ZSIgdj0iMTIxLjM0Ii8+CisJCQkJCTx2YWwgbz0iMTEwNzVlIiB2PSIxMTkuMTUxIi8+CisJCQkJCTx2YWwgbz0iMTExNTZkIiB2PSIxMjAuNzk3Ii8+CisJCQkJCTx2YWwgbz0iMTEyMzg4IiB2PSIxMjMuNTE5Ii8+CisJCQkJCTx2YWwgbz0iMTEzMTg3IiB2PSIxMjIuMzY2Ii8+CisJCQkJCTx2YWwgbz0iMTEzZmIwIiB2PSIxMjMuMzgxIi8+CisJCQkJCTx2YWwgbz0iMTE0ZGE2IiB2PSIxMjMuMjk2Ii8+CisJCQkJCTx2YWwgbz0iMTE1YmI2IiB2PSIxMjMuMDQ3Ii8+CisJCQkJCTx2YWwgbz0iMTE2OWM2IiB2PSIxMjAuODc0Ii8+CisJCQkJCTx2YWwgbz0iMTE3N2Q2IiB2PSIxMTguMDE3Ii8+CisJCQkJCTx2YWwgbz0iMTE4NWU4IiB2PSIxMTguMzg4Ii8+CisJCQkJCTx2YWwgbz0iMTE5M2Y3IiB2PSIxMTcuNzUzIi8+CisJCQkJCTx2YWwgbz0iMTFhMjA4IiB2PSIxMTkuNzYxIi8+CisJCQkJCTx2YWwgbz0iMTFiMDE3IiB2PSIxMjEuNTQ3Ii8+CisJCQkJCTx2YWwgbz0iMTFiZTJmIiB2PSIxMjIuMDI4Ii8+CisJCQkJCTx2YWwgbz0iMTFjYzM3IiB2PSIxMjIuMTk1Ii8+CisJCQkJCTx2YWwgbz0iMTFkYTQ3IiB2PSIxMjEuNzgzIi8+CisJCQkJCTx2YWwgbz0iMTFlODU3IiB2PSIxMjAuNTgxIi8+CisJCQkJCTx2YWwgbz0iMTFmNjY3IiB2PSIxMjEuNjg1Ii8+CisJCQkJCTx2YWwgbz0iMTIwNTc4IiB2PSIxMjAuOTcyIi8+CisJCQkJCTx2YWwgbz0iMTIxMzg2IiB2PSIxMTYuODM2Ii8+CisJCQkJCTx2YWwgbz0iMTIyMTk2IiB2PSIxMTcuNjMzIi8+CisJCQkJCTx2YWwgbz0iMTIyZmE2IiB2PSIxMTguODMiLz4KKwkJCQkJPHZhbCBvPSIxMjNkYjUiIHY9IjEyMC43NDYiLz4KKwkJCQkJPHZhbCBvPSIxMjRiYzUiIHY9IjEyMi41NDEiLz4KKwkJCQkJPHZhbCBvPSIxMjU5ZDUiIHY9IjEyMC4yNDkiLz4KKwkJCQkJPHZhbCBvPSIxMjY3ZTQiIHY9IjEyMi43MDgiLz4KKwkJCQkJPHZhbCBvPSIxMjc2MDAiIHY9IjEyNC41MzgiLz4KKwkJCQkJPHZhbCBvPSIxMjgzMDUiIHY9IjEyNS4yODkiLz4KKwkJCQkJPHZhbCBvPSIxMjkxMTUiIHY9IjEyNS4zMjUiLz4KKwkJCQkJPHZhbCBvPSIxMjlmMjUiIHY9IjEyNS40OSIvPgorCQkJCQk8dmFsIG89IjEyYWQzNSIgdj0iMTI0LjY3MiIvPgorCQkJCQk8dmFsIG89IjEyYmI0NSIgdj0iMTIyLjgxMyIvPgorCQkJCQk8dmFsIG89IjEyYzk1NCIgdj0iMTIxLjU3MyIvPgorCQkJCQk8dmFsIG89IjEyZDc2NiIgdj0iMTIwLjcxOSIvPgorCQkJCQk8dmFsIG89IjEyZTU3NSIgdj0iMTE5LjcwNiIvPgorCQkJCQk8dmFsIG89IjEyZjM4NiIgdj0iMTE2LjkzNSIvPgorCQkJCQk8dmFsIG89IjEzMDE5NiIgdj0iMTE3LjI1NSIvPgorCQkJCQk8dmFsIG89IjEzMGZhNiIgdj0iMTE4LjM2NSIvPgorCQkJCQk8dmFsIG89IjEzMWRiNyIgdj0iMTE5LjgyOSIvPgorCQkJCQk8dmFsIG89IjEzMmJjNSIgdj0iMTE5LjYwNyIvPgorCQkJCQk8dmFsIG89IjEzMzlkNCIgdj0iMC4xMDkiLz4KKwkJCQkJPHZhbCBvPSIxMzQ3ZTUiIHY9IjAuMTA5Ii8+CisJCQkJCTx2YWwgbz0iMTM1NWY0IiB2PSIwLjEwOCIvPgorCQkJCQk8dmFsIG89IjEzNjQwNCIgdj0iMC4xMDYiLz4KKwkJCQkJPHZhbCBvPSIxMzcyMTQiIHY9IjAuMTA2Ii8+CisJCQkJCTx2YWwgbz0iMTM4MDI0IiB2PSIwLjEwNyIvPgorCQkJCQk8dmFsIG89IjEzOGUzMyIgdj0iMC4xMDgiLz4KKwkJCQkJPHZhbCBvPSIxMzljNDQiIHY9IjAuMTA5Ii8+CisJCQkJCTx2YWwgbz0iMTNhYTU0IiB2PSIwLjEwOCIvPgorCQkJCQk8dmFsIG89IjEzYjg2NSIgdj0iMC4xMDkiLz4KKwkJCQkJPHZhbCBvPSIxM2M2N2UiIHY9IjAuMTAxIi8+CisJCQkJCTx2YWwgbz0iMTNkNDhlIiB2PSIwLjEwNCIvPgorCQkJCQk8dmFsIG89IjEzZTI5ZSIgdj0iMC4xMDYiLz4KKwkJCQkJPHZhbCBvPSIxM2YwYWUiIHY9IjAuMTA2Ii8+CisJCQkJCTx2YWwgbz0iMTNmZWJmIiB2PSIwLjEwNCIvPgorCQkJCQk8dmFsIG89IjE0MGNjZiIgdj0iMC4xMDIiLz4KKwkJCQkJPHZhbCBvPSIxNDFhZGYiIHY9IjAuMTA0Ii8+CisJCQkJCTx2YWwgbz0iMTQyOGVmIiB2PSIwLjEwOCIvPgorCQkJCQk8dmFsIG89IjE0MzZmZiIgdj0iMC4xMDciLz4KKwkJCQkJPHZhbCBvPSIxNDQ1MGYiIHY9IjAuMTA3Ii8+CisJCQkJCTx2YWwgbz0iMTQ1MzFmIiB2PSIwLjEwNyIvPgorCQkJCQk8dmFsIG89IjE0NjEzMCIgdj0iMC4xMDgiLz4KKwkJCQkJPHZhbCBvPSIxNDZmNDAiIHY9IjAuMTEiLz4KKwkJCQkJPHZhbCBvPSIxNDdkNDQiIHY9IjAuMTA4Ii8+CisJCQkJCTx2YWwgbz0iMTQ4YjU3IiB2PSIwLjEwOCIvPgorCQkJCQk8dmFsIG89IjE0OTk2NSIgdj0iMC4xMDgiLz4KKwkJCQkJPHZhbCBvPSIxNGE3NzUiIHY9IjAuMTA2Ii8+CisJCQkJCTx2YWwgbz0iMTRiNTg0IiB2PSIwLjExIi8+CisJCQkJCTx2YWwgbz0iMTRjMzk3IiB2PSIwLjEwNyIvPgorCQkJCQk8dmFsIG89IjE0ZDFhNCIgdj0iMC4xMDciLz4KKwkJCQkJPHZhbCBvPSIxNGRmYjYiIHY9IjAuMTA4Ii8+CisJCQkJCTx2YWwgbz0iMTRlZGM1IiB2PSIwLjExIi8+CisJCQkJCTx2YWwgbz0iMTRmYmQ1IiB2PSIwLjExMiIvPgorCQkJCQk8dmFsIG89IjE1MDllNSIgdj0iMC4xMTIiLz4KKwkJCQkJPHZhbCBvPSIxNTE3ZmYiIHY9IjAuMTE1Ii8+CisJCQkJCTx2YWwgbz0iMTUyNjA1IiB2PSIwLjEwOCIvPgorCQkJCQk8dmFsIG89IjE1MzQxNSIgdj0iMC4xMDkiLz4KKwkJCQkJPHZhbCBvPSIxNTQyMjUiIHY9IjAuMTEiLz4KKwkJCQkJPHZhbCBvPSIxNTUwMzUiIHY9IjAuMTA5Ii8+CisJCQkJCTx2YWwgbz0iMTU1ZTQ1IiB2PSIwLjEwNyIvPgorCQkJCQk8dmFsIG89IjE1NmM1NSIgdj0iMC4xMDQiLz4KKwkJCQkJPHZhbCBvPSIxNTdhNjUiIHY9IjAuMTA3Ii8+CisJCQkJCTx2YWwgbz0iMTU4ODc1IiB2PSIwLjEwNyIvPgorCQkJCQk8dmFsIG89IjE1OTY4NiIgdj0iMC4xMDYiLz4KKwkJCQkJPHZhbCBvPSIxNWE0OTUiIHY9IjAuMTA3Ii8+CisJCQkJCTx2YWwgbz0iMTViMmE2IiB2PSIwLjEwOCIvPgorCQkJCQk8dmFsIG89IjE1YzBiNiIgdj0iMC4xMDkiLz4KKwkJCQkJPHZhbCBvPSIxNWNlYzYiIHY9IjAuMTA5Ii8+CisJCQkJCTx2YWwgbz0iMTVkY2Q1IiB2PSIwLjEwOCIvPgorCQkJCQk8dmFsIG89IjE1ZWFlNiIgdj0iMC4xMDgiLz4KKwkJCQkJPHZhbCBvPSIxNWY4ZjUiIHY9IjAuMTA0Ii8+CisJCQkJCTx2YWwgbz0iMTYwNzA2IiB2PSIwLjExIi8+CisJCQkJCTx2YWwgbz0iMTYxNTE3IiB2PSIwLjEwOSIvPgorCQkJCQk8dmFsIG89IjE2MjMyNiIgdj0iMC4xMSIvPgorCQkJCQk8dmFsIG89IjE2MzEzNyIgdj0iMC4xMTEiLz4KKwkJCQkJPHZhbCBvPSIxNjNmNDYiIHY9IjAuMTA5Ii8+CisJCQkJCTx2YWwgbz0iMTY0ZDU3IiB2PSIwLjExIi8+CisJCQkJCTx2YWwgbz0iMTY1YjY3IiB2PSIwLjExMiIvPgorCQkJCQk8dmFsIG89IjE2Njk4MiIgdj0iMC4xMTEiLz4KKwkJCQkJPHZhbCBvPSIxNjc3ODYiIHY9IjAuMTEyIi8+CisJCQkJCTx2YWwgbz0iMTY4NTk2IiB2PSIwLjExMyIvPgorCQkJCQk8dmFsIG89IjE2OTNhNiIgdj0iMC4xMTMiLz4KKwkJCQkJPHZhbCBvPSIxNmExYjUiIHY9IjAuMTEyIi8+CisJCQkJCTx2YWwgbz0iMTZhZmM2IiB2PSIwLjExMSIvPgorCQkJCQk8dmFsIG89IjE2YmRkNSIgdj0iMC4xMDkiLz4KKwkJCQkJPHZhbCBvPSIxNmNiZTYiIHY9IjAuMTA3Ii8+CisJCQkJCTx2YWwgbz0iMTZkOWY2IiB2PSIwLjExMSIvPgorCQkJCQk8dmFsIG89IjE2ZTgwNyIgdj0iMC4xMSIvPgorCQkJCQk8dmFsIG89IjE2ZjYxNiIgdj0iMC4xMSIvPgorCQkJCQk8dmFsIG89IjE3MDQyOSIgdj0iMC4xMTEiLz4KKwkJCQkJPHZhbCBvPSIxNzEyMzYiIHY9IjAuMTEyIi8+CisJCQkJCTx2YWwgbz0iMTcyMDQ3IiB2PSIwLjExMiIvPgorCQkJCQk8dmFsIG89IjE3MmU1NyIgdj0iMC4xMTEiLz4KKwkJCQkJPHZhbCBvPSIxNzNjNjciIHY9IjAuMTExIi8+CisJCQkJCTx2YWwgbz0iMTc0YTc3IiB2PSIwLjExIi8+CisJCQkJCTx2YWwgbz0iMTc1ODg3IiB2PSIwLjEwOCIvPgorCQkJCQk8dmFsIG89IjE3NjY5NCIgdj0iMTE4LjM1MSIvPgorCQkJCQk8dmFsIG89IjE3NzRhMyIgdj0iMTE5Ljc2MyIvPgorCQkJCQk8dmFsIG89IjE3ODJiMyIgdj0iMTIwLjg3MiIvPgorCQkJCQk8dmFsIG89IjE3OTBjNSIgdj0iMTIxLjQ0MyIvPgorCQkJCQk8dmFsIG89IjE3OWVkNCIgdj0iMTI0LjU4NyIvPgorCQkJCQk8dmFsIG89IjE3YWNlNCIgdj0iMTI3LjExOSIvPgorCQkJCQk8dmFsIG89IjE3YmFmZCIgdj0iMTI4Ljg4NyIvPgorCQkJCQk8dmFsIG89IjE3YzkwZiIgdj0iMTI3LjEwNyIvPgorCQkJCQk8dmFsIG89IjE3ZDcxZSIgdj0iMTI3LjEiLz4KKwkJCQkJPHZhbCBvPSIxN2U1MmYiIHY9IjEyNy4zNSIvPgorCQkJCQk8dmFsIG89IjE3ZjMzZiIgdj0iMTI2LjU1MiIvPgorCQkJCQk8dmFsIG89IjE4MDE0ZiIgdj0iMTI0LjcxIi8+CisJCQkJCTx2YWwgbz0iMTgwZjVmIiB2PSIxMjQuMDc3Ii8+CisJCQkJCTx2YWwgbz0iMTgxZDZlIiB2PSIxMjUuMDk5Ii8+CisJCQkJCTx2YWwgbz0iMTgyYjdmIiB2PSIxMjUuMDI1Ii8+CisJCQkJCTx2YWwgbz0iMTgzOThmIiB2PSIxMjMuOTU0Ii8+CisJCQkJCTx2YWwgbz0iMTg0N2ExIiB2PSIxMjMuNjQxIi8+CisJCQkJCTx2YWwgbz0iMTg1NWFmIiB2PSIxMjQuMzA4Ii8+CisJCQkJCTx2YWwgbz0iMTg2M2MwIiB2PSIxMjYuMjAxIi8+CisJCQkJCTx2YWwgbz0iMTg3MWNmIiB2PSIxMjUuNDI2Ii8+CisJCQkJCTx2YWwgbz0iMTg3ZmUwIiB2PSIxMjUuMDQ1Ii8+CisJCQkJCTx2YWwgbz0iMTg4ZGVmIiB2PSIxMjQuODY4Ii8+CisJCQkJCTx2YWwgbz0iMTg5YzAwIiB2PSIxMjMuODU0Ii8+CisJCQkJCTx2YWwgbz0iMThiODBkIiB2PSIxMTcuMTc3Ii8+CisJCQkJCTx2YWwgbz0iMThjNjFjIiB2PSIxMjAuOTg1Ii8+CisJCQkJCTx2YWwgbz0iMThkNDJjIiB2PSIxMjEuNjg5Ii8+CisJCQkJCTx2YWwgbz0iMThlMjNiIiB2PSIxMjEuNTE0Ii8+CisJCQkJCTx2YWwgbz0iMThmMDRiIiB2PSIxMjMuNzYiLz4KKwkJCQkJPHZhbCBvPSIxOGZlNWUiIHY9IjEyNS44NDgiLz4KKwkJCQkJPHZhbCBvPSIxOTBjNzYiIHY9IjEyMy4xNjIiLz4KKwkJCQkJPHZhbCBvPSIxOTFhODYiIHY9IjEyNC44NyIvPgorCQkJCQk8dmFsIG89IjE5Mjg5NiIgdj0iMTI2LjQ1NyIvPgorCQkJCQk8dmFsIG89IjE5MzZhNiIgdj0iMTI2LjU2NSIvPgorCQkJCQk8dmFsIG89IjE5NDRiNyIgdj0iMTI1LjgyMSIvPgorCQkJCQk8dmFsIG89IjE5NTJjNiIgdj0iMTIzLjY1NCIvPgorCQkJCQk8dmFsIG89IjE5NjBkNyIgdj0iMTIwLjk4NSIvPgorCQkJCQk8dmFsIG89IjE5NmVlNiIgdj0iMTIxLjAxOSIvPgorCQkJCQk8dmFsIG89IjE5N2NmOCIgdj0iMTIwLjc3MSIvPgorCQkJCQk8dmFsIG89IjE5OGIwZiIgdj0iMTIwLjEzOSIvPgorCQkJCQk8dmFsIG89IjE5OTkxZiIgdj0iMTIwLjA2NyIvPgorCQkJCQk8dmFsIG89IjE5YjU0MSIgdj0iMTIyLjQ1OSIvPgorCQkJCQk8dmFsIG89IjE5YzM0ZCIgdj0iMTIxLjYwMyIvPgorCQkJCQk8dmFsIG89IjE5ZDE1ZSIgdj0iMTIwLjg1NiIvPgorCQkJCQk8dmFsIG89IjE5ZGY4MCIgdj0iMTIwLjg4MiIvPgorCQkJCQk8dmFsIG89IjE5ZWQ5MCIgdj0iMTIwLjA0OSIvPgorCQkJCQk8dmFsIG89IjE5ZWViZSIgdj0iMTE5LjkwMyIvPgorCQkJCQk8dmFsIG89IjE5ZmI4ZSIgdj0iMTE2LjAxMiIvPgorCQkJCQk8dmFsIG89IjFhMDlhMCIgdj0iMTE5LjI4MyIvPgorCQkJCQk8dmFsIG89IjFhMTdhZSIgdj0iMTIwLjMwMyIvPgorCQkJCQk8dmFsIG89IjFhMjViZSIgdj0iMTIxLjcyOCIvPgorCQkJCQk8dmFsIG89IjFhMzNjZCIgdj0iMTIxLjUxNiIvPgorCQkJCQk8dmFsIG89IjFhNDFkZCIgdj0iMTIyLjg0OSIvPgorCQkJCQk8dmFsIG89IjFhNGZlZCIgdj0iMTI2LjA5MyIvPgorCQkJCQk8dmFsIG89IjFhNWUwOCIgdj0iMTI2LjcyNSIvPgorCQkJCQk8dmFsIG89IjFhNmMwNSIgdj0iMTI0Ljg4MyIvPgorCQkJCQk8dmFsIG89IjFhN2ExNSIgdj0iMTI1LjkzMSIvPgorCQkJCQk8dmFsIG89IjFhODgyNiIgdj0iMTI2LjA5NiIvPgorCQkJCQk8dmFsIG89IjFhOTYzNyIgdj0iMTI0LjkwNiIvPgorCQkJCQk8dmFsIG89IjFhYTQ0NSIgdj0iMTIzLjY1NCIvPgorCQkJCQk8dmFsIG89IjFhYjI1NSIgdj0iMTIxLjQ5MyIvPgorCQkJCQk8dmFsIG89IjFhYzA2NSIgdj0iMTIzLjg5NyIvPgorCQkJCQk8dmFsIG89IjFhY2U3NSIgdj0iMTIzLjc1NiIvPgorCQkJCQk8dmFsIG89IjFhZGM4NyIgdj0iMTIyLjM2OSIvPgorCQkJCQk8dmFsIG89IjFhZWE5NiIgdj0iMTIxLjkzNCIvPgorCQkJCQk8dmFsIG89IjFhZjhhNyIgdj0iMTIyLjMwNiIvPgorCQkJCQk8dmFsIG89IjFiMDZiNyIgdj0iMTI0LjA0MSIvPgorCQkJCQk8dmFsIG89IjFiMTRjNiIgdj0iMTIzLjY5OCIvPgorCQkJCQk8dmFsIG89IjFjNzQ2MCIgdj0iMTIwLjAyOSIvPgorCQkJCQk8dmFsIG89IjFjODI3MCIgdj0iMTIwLjAzMyIvPgorCQkJCQk8dmFsIG89IjFjOTA3ZSIgdj0iMTE5LjMxNCIvPgorCQkJCQk8dmFsIG89IjFjOWU4ZiIgdj0iMTIwLjQ3OSIvPgorCQkJCQk8dmFsIG89IjFjYWNhMiIgdj0iMTIxLjkxIi8+CisJCQkJCTx2YWwgbz0iMWNiYWIxIiB2PSIxMjIuNDg1Ii8+CisJCQkJCTx2YWwgbz0iMWNjOGMxIiB2PSIxMTguNTY0Ii8+CisJCQkJCTx2YWwgbz0iMWNkNmQwIiB2PSIxMTkuMzY3Ii8+CisJCQkJCTx2YWwgbz0iMWNlNGRlIiB2PSIxMjAuODA4Ii8+CisJCQkJCTx2YWwgbz0iMWNmMmYwIiB2PSIxMjMuMTA1Ii8+CisJCQkJCTx2YWwgbz0iMWQwMTA5IiB2PSIxMjUuMDIxIi8+CisJCQkJCTx2YWwgbz0iMWQwZjA2IiB2PSIxMjMuMjc0Ii8+CisJCQkJCTx2YWwgbz0iMWQxZDE1IiB2PSIxMjMuOTIiLz4KKwkJCQkJPHZhbCBvPSIxZDJiMjUiIHY9IjEyMy44NzYiLz4KKwkJCQkJPHZhbCBvPSIxZDM5MzUiIHY9IjEyMi44ODMiLz4KKwkJCQkJPHZhbCBvPSIxZDQ3NDUiIHY9IjEyMi4wNzIiLz4KKwkJCQkJPHZhbCBvPSIxZDU1NTUiIHY9IjEyMS41NDQiLz4KKwkJCQkJPHZhbCBvPSIxZDYzNjYiIHY9IjEyMy4yNyIvPgorCQkJCQk8dmFsIG89IjFkNzE3NSIgdj0iMTIzLjUxMyIvPgorCQkJCQk8dmFsIG89IjFkN2Y4NiIgdj0iMTIyLjYwNCIvPgorCQkJCQk8dmFsIG89IjFkOGQ5NSIgdj0iMTIxLjI4MSIvPgorCQkJCQk8dmFsIG89IjFkOWJhNiIgdj0iMTIxLjcxNiIvPgorCQkJCQk8dmFsIG89IjFkYTliNiIgdj0iMTIyLjcxNCIvPgorCQkJCQk8dmFsIG89IjFkYjdjNyIgdj0iMTIzLjEyOSIvPgorCQkJCQk8dmFsIG89IjFkYzVkNSIgdj0iMTIzLjQzMSIvPgorCQkJCQk8dmFsIG89IjFkZDNlNiIgdj0iMTIyLjk4NyIvPgorCQkJCQk8dmFsIG89IjFkZTFmNSIgdj0iMTE5LjI2MiIvPgorCQkJCQk8dmFsIG89IjFkZjAwNiIgdj0iMTE4LjA4NyIvPgorCQkJCQk8dmFsIG89IjFkZmUxNiIgdj0iMTE2LjUzMiIvPgorCQkJCQk8dmFsIG89IjFlMGMyNiIgdj0iMTE4LjYxOCIvPgorCQkJCQk8dmFsIG89IjFlMWEzNiIgdj0iMTE5LjcwNiIvPgorCQkJCQk8dmFsIG89IjFlMjg0NyIgdj0iMTIwLjg5OSIvPgorCQkJCQk8dmFsIG89IjFlMzY1OSIgdj0iMTIwLjcxOCIvPgorCQkJCQk8dmFsIG89IjFlNDQ2NyIgdj0iMTIxLjYyNCIvPgorCQkJCQk8dmFsIG89IjFlNTI4MSIgdj0iMTE3LjkyNSIvPgorCQkJCQk8dmFsIG89IjFlNjA4NiIgdj0iMTIwLjkyOCIvPgorCQkJCQk8dmFsIG89IjFlNmU5NiIgdj0iMTIyLjM0Ii8+CisJCQkJCTx2YWwgbz0iMWU3Y2E2IiB2PSIxMjIuOTcyIi8+CisJCQkJCTx2YWwgbz0iMWU4YWI1IiB2PSIxMjMuMDUiLz4KKwkJCQkJPHZhbCBvPSIxZTk4YzYiIHY9IjEyMi40NCIvPgorCQkJCQk8dmFsIG89IjFlYTZkNSIgdj0iMTIwLjczNSIvPgorCQkJCQk8dmFsIG89IjFlYjRlNiIgdj0iMTIwLjcxMSIvPgorCQkJCQk8dmFsIG89IjFlYzJmNiIgdj0iMTIzLjY4OCIvPgorCQkJCQk8dmFsIG89IjFlZDEwNiIgdj0iMTIyLjg1MyIvPgorCQkJCQk8dmFsIG89IjFlZGYxNiIgdj0iMTIyLjc1NCIvPgorCQkJCQk8dmFsIG89IjFlZWQyNiIgdj0iMTIyLjk3NSIvPgorCQkJCQk8dmFsIG89IjFlZmIzNiIgdj0iMTIzLjQ5Ii8+CisJCQkJCTx2YWwgbz0iMWYwOTQ2IiB2PSIxMjMuMjc4Ii8+CisJCQkJCTx2YWwgbz0iMWYxNzU2IiB2PSIxMjEuNzc2Ii8+CisJCQkJCTx2YWwgbz0iMWYyNTY2IiB2PSIxMjEuNDU4Ii8+CisJCQkJCTx2YWwgbz0iMWYzMzc2IiB2PSIxMjAuMTA5Ii8+CisJCQkJCTx2YWwgbz0iMWY0MTg3IiB2PSIxMTYuODMyIi8+CisJCQkJCTx2YWwgbz0iMWY0Zjk2IiB2PSIxMTkuOTQ4Ii8+CisJCQkJCTx2YWwgbz0iMWY1ZGE3IiB2PSIxMjAuMDIyIi8+CisJCQkJCTx2YWwgbz0iMWY2YmI2IiB2PSIxMjAuODg0Ii8+CisJCQkJCTx2YWwgbz0iMWY3OWM3IiB2PSIxMTkuNjE4Ii8+CisJCQkJCTx2YWwgbz0iMWY4N2Q2IiB2PSIxMjIuODExIi8+CisJCQkJCTx2YWwgbz0iMWY5NWU3IiB2PSIxMjMuOTk3Ii8+CisJCQkJCTx2YWwgbz0iMWZhNDAxIiB2PSIxMjYuNjU0Ii8+CisJCQkJCTx2YWwgbz0iMWZiMjA0IiB2PSIxMjUuNTc0Ii8+CisJCQkJCTx2YWwgbz0iMWZjMDE2IiB2PSIxMjYuNDk1Ii8+CisJCQkJCTx2YWwgbz0iMWZjZTI1IiB2PSIxMjYuMDIxIi8+CisJCQkJCTx2YWwgbz0iMWZkYzM1IiB2PSIxMjUuNTIxIi8+CisJCQkJCTx2YWwgbz0iMWZlYTQ1IiB2PSIxMjMuMTA0Ii8+CisJCQkJCTx2YWwgbz0iMWZmODU1IiB2PSIxMjEuMDczIi8+CisJCQkJCTx2YWwgbz0iMjAwNjY1IiB2PSIxMTcuOTk3Ii8+CisJCQkJCTx2YWwgbz0iMjAxNDc1IiB2PSIxMTkuMzc2Ii8+CisJCQkJCTx2YWwgbz0iMjAyMjg2IiB2PSIxMTkuMzAyIi8+CisJCQkJCTx2YWwgbz0iMjAzMDk1IiB2PSIxMjAuMjQiLz4KKwkJCQkJPHZhbCBvPSIyMDNlYTUiIHY9IjEyMC40OTciLz4KKwkJCQkJPHZhbCBvPSIyMDRjYjYiIHY9IjEyMy4yNzYiLz4KKwkJCQkJPHZhbCBvPSIyMDVhYzYiIHY9IjEyMS4yODciLz4KKwkJCQkJPHZhbCBvPSIyMDY4ZDYiIHY9IjEyMC40OTIiLz4KKwkJCQkJPHZhbCBvPSIyMDc2ZTYiIHY9IjExOS42NDMiLz4KKwkJCQkJPHZhbCBvPSIyMDg0ZjYiIHY9IjExNy42MjYiLz4KKwkJCQkJPHZhbCBvPSIyMDkzMDYiIHY9IjEyMS45Ii8+CisJCQkJCTx2YWwgbz0iMjBhMTE2IiB2PSIxMjAuODYxIi8+CisJCQkJCTx2YWwgbz0iMjBhZjI2IiB2PSIxMjAuNDkzIi8+CisJCQkJCTx2YWwgbz0iMjBiZDM3IiB2PSIxMjEuNTI2Ii8+CisJCQkJCTx2YWwgbz0iMjBjYjQ2IiB2PSIxMTkuNDYiLz4KKwkJCQkJPHZhbCBvPSIyMGQ5NTciIHY9IjEyMC4yODQiLz4KKwkJCQkJPHZhbCBvPSIyMGU3NjciIHY9IjEyMS43MTMiLz4KKwkJCQkJPHZhbCBvPSIyMGY1ODEiIHY9IjEyNC4yMDMiLz4KKwkJCQkJPHZhbCBvPSIyMTAzODYiIHY9IjEyNi41ODciLz4KKwkJCQkJPHZhbCBvPSIyMTExOTQiIHY9IjEyNC42MjciLz4KKwkJCQkJPHZhbCBvPSIyMTFmYTUiIHY9IjEyNC41MjYiLz4KKwkJCQkJPHZhbCBvPSIyMTJkYjUiIHY9IjEyMy44MjEiLz4KKwkJCQkJPHZhbCBvPSIyMTNiYzUiIHY9IjEyMi4zNTciLz4KKwkJCQkJPHZhbCBvPSIyMTQ5ZDYiIHY9IjExOC42NDIiLz4KKwkJCQkJPHZhbCBvPSIyMTU3ZTUiIHY9IjExNi42NTEiLz4KKwkJCQkJPHZhbCBvPSIyMTY1ZjYiIHY9IjEyMi40MzkiLz4KKwkJCQkJPHZhbCBvPSIyMTc0MDYiIHY9IjEyMC4yMzIiLz4KKwkJCQkJPHZhbCBvPSIyMTgyMTciIHY9IjExOS4zMjIiLz4KKwkJCQkJPHZhbCBvPSIyMTkwMjYiIHY9IjEyMC4yMzYiLz4KKwkJCQkJPHZhbCBvPSIyMTllMzkiIHY9IjEyMC4zNDYiLz4KKwkJCQkJPHZhbCBvPSIyMWFjNDYiIHY9IjExOS4xNDgiLz4KKwkJCQkJPHZhbCBvPSIyMWJhNTciIHY9IjExOC45MDciLz4KKwkJCQkJPHZhbCBvPSIyMWM4NjciIHY9IjExNy44NzQiLz4KKwkJCQkJPHZhbCBvPSIyMWQ2NzciIHY9IjEyMi41ODQiLz4KKwkJCQkJPHZhbCBvPSIyMWU0ODciIHY9IjEyMC4yNTIiLz4KKwkJCQkJPHZhbCBvPSIyMWYyOTYiIHY9IjEyMC40NjkiLz4KKwkJCQkJPHZhbCBvPSIyMjAwYTYiIHY9IjEyMS4zMDMiLz4KKwkJCQkJPHZhbCBvPSIyMjBlYjciIHY9IjEyMi4xODMiLz4KKwkJCQkJPHZhbCBvPSIyMjFjYzYiIHY9IjExOC43NDciLz4KKwkJCQkJPHZhbCBvPSIyMjJhZDciIHY9IjEyMC44MSIvPgorCQkJCQk8dmFsIG89IjIyMzhlNyIgdj0iMTIzLjkzNyIvPgorCQkJCQk8dmFsIG89IjIyNDcwMSIgdj0iMTI2LjY4NyIvPgorCQkJCQk8dmFsIG89IjIyNTUwNSIgdj0iMTE5LjU1MyIvPgorCQkJCQk8dmFsIG89IjIyNjMxNSIgdj0iMTE5Ljc1NyIvPgorCQkJCQk8dmFsIG89IjIyNzEyNSIgdj0iMTE5Ljc1MyIvPgorCQkJCQk8dmFsIG89IjIyN2YzNSIgdj0iMTE3LjU1NyIvPgorCQkJCQk8dmFsIG89IjIyOGQ0NSIgdj0iMTE2LjI2MiIvPgorCQkJCQk8dmFsIG89IjIyOWI1NCIgdj0iMTIyLjQ2OSIvPgorCQkJCQk8dmFsIG89IjIyYTk2NSIgdj0iMTE5Ljc2NSIvPgorCQkJCQk8dmFsIG89IjIyYjc3NiIgdj0iMTE5Ljc4Ii8+CisJCQkJCTx2YWwgbz0iMjJjNTg2IiB2PSIxMTkuMDA2Ii8+CisJCQkJCTx2YWwgbz0iMjJkMzk3IiB2PSIxMTguNjk2Ii8+CisJCQkJCTx2YWwgbz0iMjJlMWE2IiB2PSIxMTkuMDE4Ii8+CisJCQkJCTx2YWwgbz0iMjJlZmI2IiB2PSIxMjAuNzY1Ii8+CisJCQkJCTx2YWwgbz0iMjJmZGM3IiB2PSIxMjAuNDEiLz4KKwkJCQkJPHZhbCBvPSIyMzBiZDciIHY9IjExOS42MDgiLz4KKwkJCQkJPHZhbCBvPSIyMzE5ZTYiIHY9IjExOS4yNjgiLz4KKwkJCQkJPHZhbCBvPSIyMzI3ZjYiIHY9IjExOC4yMjEiLz4KKwkJCQkJPHZhbCBvPSIyMzM2MWIiIHY9IjExOS4yMzQiLz4KKwkJCQkJPHZhbCBvPSIyMzQ0MTYiIHY9IjExOC4xOTkiLz4KKwkJCQkJPHZhbCBvPSIyMzUyMjYiIHY9IjExOS41MjQiLz4KKwkJCQkJPHZhbCBvPSIyMzYwMzciIHY9IjEyMC43NiIvPgorCQkJCQk8dmFsIG89IjIzNmU0NiIgdj0iMTE4LjQ0NiIvPgorCQkJCQk8dmFsIG89IjIzN2M1NyIgdj0iMTE5Ljg2Ii8+CisJCQkJCTx2YWwgbz0iMjM4YTY2IiB2PSIxMjEuNDU4Ii8+CisJCQkJCTx2YWwgbz0iMjM5ODgxIiB2PSIxMjAuOTM3Ii8+CisJCQkJCTx2YWwgbz0iMjNhNjg1IiB2PSIxMjIuMzUzIi8+CisJCQkJCTx2YWwgbz0iMjNiNDk1IiB2PSIxMjMuMDg1Ii8+CisJCQkJCTx2YWwgbz0iMjNjMmE0IiB2PSIxMjMuMTQ1Ii8+CisJCQkJCTx2YWwgbz0iMjNkMGI1IiB2PSIxMjIuMjc3Ii8+CisJCQkJCTx2YWwgbz0iMjNkZWM0IiB2PSIxMjEuMTUzIi8+CisJCQkJCTx2YWwgbz0iMjNlY2Q1IiB2PSIxMTkuMzEiLz4KKwkJCQkJPHZhbCBvPSIyM2ZhZTQiIHY9IjEyMC42MTYiLz4KKwkJCQkJPHZhbCBvPSIyNDA4ZjYiIHY9IjExOC40ODIiLz4KKwkJCQkJPHZhbCBvPSIyNDE3MDYiIHY9IjExNy43ODkiLz4KKwkJCQkJPHZhbCBvPSIyNDI1MTgiIHY9IjExOC4xNzgiLz4KKwkJCQkJPHZhbCBvPSIyNDMzMjUiIHY9IjExOC42NSIvPgorCQkJCQk8dmFsIG89IjI0NDEzNyIgdj0iMTE5Ljg5MyIvPgorCQkJCQk8dmFsIG89IjI0NGY0NiIgdj0iMTE5LjE3MiIvPgorCQkJCQk8dmFsIG89IjI0NmI2NiIgdj0iMTE4Ljg4Ii8+CisJCQkJCTx2YWwgbz0iMjQ3OTc2IiB2PSIxMTguMDMiLz4KKwkJCQkJPHZhbCBvPSIyNDg3ODYiIHY9IjExNS4yIi8+CisJCQkJCTx2YWwgbz0iMjQ5NTdlIiB2PSIxMTguMDkxIi8+CisJCQkJCTx2YWwgbz0iMjRhMzhmIiB2PSIxMTkuNjAxIi8+CisJCQkJCTx2YWwgbz0iMjRiMTljIiB2PSIxMjAuODQ0Ii8+CisJCQkJCTx2YWwgbz0iMjRiZmFjIiB2PSIxMjAuMDk0Ii8+CisJCQkJCTx2YWwgbz0iMjRjZGJjIiB2PSIxMjMuODUxIi8+CisJCQkJCTx2YWwgbz0iMjRkYmNkIiB2PSIxMjMuNDk5Ii8+CisJCQkJCTx2YWwgbz0iMjRlOWU1IiB2PSIxMjQuODA2Ii8+CisJCQkJCTx2YWwgbz0iMjRmODA4IiB2PSIxMjQuMjciLz4KKwkJCQkJPHZhbCBvPSIyNTA2MTYiIHY9IjEyNC45ODUiLz4KKwkJCQkJPHZhbCBvPSIyNTE0MjYiIHY9IjEyNS4wMiIvPgorCQkJCQk8dmFsIG89IjI1MjIzNiIgdj0iMTIzLjQ4MyIvPgorCQkJCQk8dmFsIG89IjI1MzA0NyIgdj0iMTIyLjQzNiIvPgorCQkJCQk8dmFsIG89IjI1M2U1NiIgdj0iMTIwLjA0MSIvPgorCQkJCQk8dmFsIG89IjI1NGM2NyIgdj0iMTE5LjQ5NiIvPgorCQkJCQk8dmFsIG89IjI1NWE3NiIgdj0iMTE5LjM2MiIvPgorCQkJCQk8dmFsIG89IjI1Njg4NyIgdj0iMTE3Ljc2NyIvPgorCQkJCQk8dmFsIG89IjI1NzY5NyIgdj0iMTE4LjYxNiIvPgorCQkJCQk8dmFsIG89IjI1ODRhOCIgdj0iMTE3LjI3NCIvPgorCQkJCQk8dmFsIG89IjI1OTJiNiIgdj0iMTE4Ljk3NSIvPgorCQkJCQk8dmFsIG89IjI1YTBjNyIgdj0iMTE5Ljc5Ii8+CisJCQkJCTx2YWwgbz0iMjVhZWQ3IiB2PSIxMTkuMzMxIi8+CisJCQkJCTx2YWwgbz0iMjViY2U3IiB2PSIxMTkuMTk0Ii8+CisJCQkJCTx2YWwgbz0iMjVjYWY4IiB2PSIxMTguNjM3Ii8+CisJCQkJCTx2YWwgbz0iMjVkOTA3IiB2PSIxMjAuNTM1Ii8+CisJCQkJCTx2YWwgbz0iMjVlNzE4IiB2PSIxMTkuOCIvPgorCQkJCQk8dmFsIG89IjI1ZjUyNyIgdj0iMTIwLjQwMyIvPgorCQkJCQk8dmFsIG89IjI2MDMzOCIgdj0iMTIxLjA1NCIvPgorCQkJCQk8dmFsIG89IjI2MTE0OSIgdj0iMTE5LjQxMyIvPgorCQkJCQk8dmFsIG89IjI2MWY1OSIgdj0iMTIwLjM4Ii8+CisJCQkJCTx2YWwgbz0iMjYyZDY4IiB2PSIxMjMuMjAzIi8+CisJCQkJCTx2YWwgbz0iMjYzYjgzIiB2PSIxMjEuMTQzIi8+CisJCQkJCTx2YWwgbz0iMjY0OTg2IiB2PSIxMjIuOTc2Ii8+CisJCQkJCTx2YWwgbz0iMjY1Nzk1IiB2PSIxMjMuNjk3Ii8+CisJCQkJCTx2YWwgbz0iMjY2NWE2IiB2PSIxMjQuNDc2Ii8+CisJCQkJCTx2YWwgbz0iMjY3M2I1IiB2PSIxMjMuNTkyIi8+CisJCQkJCTx2YWwgbz0iMjY4MWM2IiB2PSIxMjMuMTc3Ii8+CisJCQkJCTx2YWwgbz0iMjY4ZmQ1IiB2PSIxMjEuODUzIi8+CisJCQkJCTx2YWwgbz0iMjY5ZGU2IiB2PSIxMjEuMjk4Ii8+CisJCQkJCTx2YWwgbz0iMjZhYmY2IiB2PSIxMjAuNTkzIi8+CisJCQkJCTx2YWwgbz0iMjZiYTA2IiB2PSIxMTguNzYzIi8+CisJCQkJCTx2YWwgbz0iMjZjODE3IiB2PSIxMTguMjc4Ii8+CisJCQkJCTx2YWwgbz0iMjZkNjJiIiB2PSIxMTguNTk2Ii8+CisJCQkJCTx2YWwgbz0iMjZlNDM2IiB2PSIxMTkuOTg0Ii8+CisJCQkJCTx2YWwgbz0iMjZmMjQ3IiB2PSIxMTkuNTIzIi8+CisJCQkJCTx2YWwgbz0iMjcwMDU3IiB2PSIxMTkuNTc0Ii8+CisJCQkJCTx2YWwgbz0iMjcwZTY3IiB2PSIxMTkuMDEzIi8+CisJCQkJCTx2YWwgbz0iMjcxYzc3IiB2PSIxMTkuNzIyIi8+CisJCQkJCTx2YWwgbz0iMjcyYTg3IiB2PSIxMjAuODc1Ii8+CisJCQkJCTx2YWwgbz0iMjczODk3IiB2PSIxMjAuNjY4Ii8+CisJCQkJCTx2YWwgbz0iMjc0NmE4IiB2PSIxMjEuNDUxIi8+CisJCQkJCTx2YWwgbz0iMjc1NGI5IiB2PSIxMjEuODM4Ii8+CisJCQkJCTx2YWwgbz0iMjc2MmM3IiB2PSIxMTkuMDUzIi8+CisJCQkJCTx2YWwgbz0iMjc3MGQ4IiB2PSIxMjEuMDMiLz4KKwkJCQkJPHZhbCBvPSIyNzdlZTciIHY9IjEyMy41NDQiLz4KKwkJCQk8L3Bhcj4KKwkJCQk8cGFyIG1lbWluZD0iOTgwOCIgaD0iM2RjMWE4ZGUiPgorCQkJCQk8dmFsIG89IjAiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJlMDgiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxYzMyIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMmEzYyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjM4MzUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI0NjQ1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNTQ1NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjYyNjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI3MDc1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iN2U4NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjhjOTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI5YWE1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYThiNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImI2YzUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJjNGQ3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZDMwYiIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImUwZjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJlZjA2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZmQxNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEwYjI3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTE5MzciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMjc0NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEzNTU2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTQzNjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNTE4MSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1Zjg1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTZkOTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxN2JhNCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE4OWI1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTk3YzQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxYTVkNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFiM2U2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWMxZjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZDAwNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFkZTE1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWVjMjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZmEzNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIwODQ1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjE2NTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMjQ2NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIzMjc2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjQwODYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNGU5OSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI1Y2E3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjZhYjciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNzhjNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI4NmQ2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjk0ZTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyYTMwMSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjJiMTA1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMmJmMTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyY2QyNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjJkYjM1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMmU5NDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyZjc1NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjMwNTY2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMzEzNzUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIzMjE5ZSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjMyZjk2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMzNkYTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIzNGJiNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjM1OWRlIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMzY3ZDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIzNzVlNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjM4NDBlIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMzkyMWUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIzYTAxNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjNhZTI3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iM2JjMzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIzY2E0NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjNkODU2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iM2U2NjciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIzZjQ4MSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjQwMjg1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNDEwOTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI0MWVhNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjQyY2I1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNDNhYzUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI0NDhkNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjQ1NmU2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNDY0ZjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI0ODBmZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjQ4ZjBlIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNDlkMWQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI0YWI0NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjRiOTU1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNGM3NjkiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI0ZDU3NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjRlMzg3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNGYxOTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI0ZmZhNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjUwZGQwIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNTFiYzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI1MjlkNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjUzN2U3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNTQ2MDAiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI1NTQwNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjU2MjE1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNTcwMjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI1N2UzNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjU4YzQ2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNTlhNzAiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI1YTg2NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjViNjc2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNWM0ODciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI1ZDI5NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjVlMGE5IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNWVlYjgiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI1ZmNjNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjYwYWQ3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNjE4ZTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI2MjZmNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjYzNTA3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNjQzMTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI2NTEyNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjY1ZjM3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNjZkNDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI2N2I1NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjY4OTY3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNjk3ODIiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI2YTU4NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjZiMzk1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNmMxYTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI2Y2ZiNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjZkZGM2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNmViZDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI2ZjllNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjcwN2Y2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNzE2MDciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI3MjQxNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjczMjI3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNzQwMzciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI3NGU0NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89Ijc1YzU3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNzZhNjMiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI3Nzg3MyIgdj0iMCIvPgorCQkJCQk8dmFsIG89Ijc4NjgwIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNzk0OGYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI3YTI5ZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjdiMGFmIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iN2JlYmYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI3Y2NjZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjdkYWRmIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iN2U4ZmEiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI3ZjcwYSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjgwNTFhIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iODEzMmEiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI4MjEzYSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjgyZjRhIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iODNkNWEiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI4NGI2YSIgdj0iMCIvPgorCQkJCQk8dmFsIG89Ijg1OTdhIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iODY3OGIiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI4NzU5YiIgdj0iMCIvPgorCQkJCQk8dmFsIG89Ijg4M2FjIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iODkxYmIiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI4OWZjYSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjhhZGRhIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iOGJiZWIiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI4YzlmYyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjhkODBiIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iOGU2MWEiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI4ZjQyYSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjkwMjNhIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iOTEwNGEiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI5MWU1YSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjkyYzZhIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iOTNhODQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI5NDg4NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89Ijk1Njk0IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iOTY0YTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI5NzJiNCIgdj0iMCIvPgorCQkJCQk8dmFsIG89Ijk4MGM1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iOThlZDQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI5OWNlNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjlhYWY1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iOWI5MDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI5YzcxNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjlkNTI2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iOWUzMzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI5ZjE0NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjlmZjU2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYTBkNjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJhMWI3NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImEyOTg2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYTM3OTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJhNDVhNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImE1M2I2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYTYxYzciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJhNmZkNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImE3ZTAwIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYThjMDAiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJhOWEwNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImFhODE1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYWI2MjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJhYzQzNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImFkMjQ1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYWUwNTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJhZWU2NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImFmYzc1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYjBhODUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJiMjZhNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImIzNGI2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYjQyYzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJiNTBkNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImI1ZWU3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYjZjZjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJiN2IwNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImI4OTE3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYjk3MjgiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJiYTUzNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImJiMzQ3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYmMxNTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJiY2Y2NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImJkZDgxIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYmViODYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJiZjk5NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImMwN2E2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYzE1YjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJjMjNjNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImMzMWQ1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYzNmZTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJjNGRmNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImM1YzA2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYzZhMTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJjNzgyNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImM4NjM2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYzk0NDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJjYTI1NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImNiMDY2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iY2JlNzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJjY2M4NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImNkYTk2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iY2U4YTgiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJjZjZiNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImQwNGM4IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZDEyZDciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJkMjBlNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImQyZjAyIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZDNkMDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJkNGIxNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImQ1OTI2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZDY3MzUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJkNzU0NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImQ4MzU1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZDkxNjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJkOWY3NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImRhZDg3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZGJiOTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJkYzlhOCIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImRkN2I3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZGU1YzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJkZjNkNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImUwMWQ3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZTBmZTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJlMWRmNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImUyYzA0IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZTNhMTQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJlNDgyNCIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImU1NjM0IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZTY0NDQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJlNzI1NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImU4MDZmIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZThlN2YiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJlOWM4ZSIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImVhYTlmIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZWI4YWUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJlYzZiZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImVkNGNlIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZWUyZGYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJlZjBlZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImVmZjAxIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZjBkMTAiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJmMWIyMCIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImYyOTMwIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZjM3NDAiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJmNDU1MSIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImY1MzYxIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZjYxNzIiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJmNmY4MCIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImY3ZDkxIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZjhiYTEiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJmOTliMSIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImZhN2MwIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZmI1ZDEiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJmYzNlMCIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImZkMWZiIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZmUwMGIiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJmZWUxYyIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImZmYzJjIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTAwYTNiIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTAxODRjIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTAyNjViIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTAzNDZjIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTA0MjdiIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTA1MDhkIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTA1ZTlkIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTA2Y2FkIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTA3YWJkIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTA4OGNkIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTA5NmRlIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTBhNGVkIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTBiMmZlIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTBjMTBkIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTBjZjFlIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTBkZDJlIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTBlYjY2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTBmOTRlIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTEwNzVlIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTExNTZkIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTEyMzg4IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTEzMTg3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTEzZmIwIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTE0ZGE2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTE1YmI2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTE2OWM2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTE3N2Q2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTE4NWU4IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTE5M2Y3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTFhMjA4IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTFiMDE3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTFiZTJmIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTFjYzM3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTFkYTQ3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTFlODU3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTFmNjY3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTIwNTc4IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTIxMzg2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTIyMTk2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTIyZmE2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTIzZGI1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTI0YmM1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTI1OWQ1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTI2N2U0IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTI3NjAwIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTI4MzA1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTI5MTE1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTI5ZjI1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTJhZDM1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTJiYjQ1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTJjOTU0IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTJkNzY2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTJlNTc1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTJmMzg2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTMwMTk2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTMwZmE2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTMxZGI3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTMyYmM1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTMzOWQ0IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTM0N2U1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTM1NWY0IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTM2NDA0IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTM3MjE0IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTM4MDI0IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTM4ZTMzIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTM5YzQ0IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTNhYTU0IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTNiODY1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTNjNjdlIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTNkNDhlIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTNlMjllIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTNmMGFlIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTNmZWJmIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTQwY2NmIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTQxYWRmIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTQyOGVmIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTQzNmZmIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTQ0NTBmIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTQ1MzFmIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTQ2MTMwIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTQ2ZjQwIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTQ3ZDQ0IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTQ4YjU3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTQ5OTY1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTRhNzc1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTRiNTg0IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTRjMzk3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTRkMWE0IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTRkZmI2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTRlZGM1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTRmYmQ1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTUwOWU1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTUxN2ZmIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTUyNjA1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTUzNDE1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTU0MjI1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTU1MDM1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTU1ZTQ1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTU2YzU1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTU3YTY1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTU4ODc1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTU5Njg2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTVhNDk1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTViMmE2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTVjMGI2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTVjZWM2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTVkY2Q1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTVlYWU2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTVmOGY1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTYwNzA2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTYxNTE3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTYyMzI2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTYzMTM3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTYzZjQ2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTY0ZDU3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTY1YjY3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTY2OTgyIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTY3Nzg2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTY4NTk2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTY5M2E2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTZhMWI1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTZhZmM2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTZiZGQ1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTZjYmU2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTZkOWY2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTZlODA3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTZmNjE2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTcwNDI5IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTcxMjM2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTcyMDQ3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTcyZTU3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTczYzY3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTc0YTc3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTc1ODg3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTc2Njk0IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTc3NGEzIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTc4MmIzIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTc5MGM1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTc5ZWQ0IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTdhY2U0IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTdiYWZkIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTdjOTBmIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTdkNzFlIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTdlNTJmIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTdmMzNmIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTgwMTRmIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTgwZjVmIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTgxZDZlIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTgyYjdmIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTgzOThmIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTg0N2ExIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTg1NWFmIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTg2M2MwIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTg3MWNmIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTg3ZmUwIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTg4ZGVmIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTg5YzAwIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMThiODBkIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMThjNjFjIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMThkNDJjIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMThlMjNiIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMThmMDRiIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMThmZTVlIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTkwYzc2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTkxYTg2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTkyODk2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTkzNmE2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTk0NGI3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTk1MmM2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTk2MGQ3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTk2ZWU2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTk3Y2Y4IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTk4YjBmIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTk5OTFmIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTliNTQxIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTljMzRkIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTlkMTVlIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTlkZjgwIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTllZDkwIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTllZWJlIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTlmYjhlIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWEwOWEwIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWExN2FlIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWEyNWJlIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWEzM2NkIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWE0MWRkIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWE0ZmVkIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWE1ZTA4IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWE2YzA1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWE3YTE1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWE4ODI2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWE5NjM3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWFhNDQ1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWFiMjU1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWFjMDY1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWFjZTc1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWFkYzg3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWFlYTk2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWFmOGE3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWIwNmI3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWIxNGM2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWM3NDYwIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWM4MjcwIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWM5MDdlIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWM5ZThmIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWNhY2EyIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWNiYWIxIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWNjOGMxIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWNkNmQwIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWNlNGRlIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWNmMmYwIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWQwMTA5IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWQwZjA2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWQxZDE1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWQyYjI1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWQzOTM1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWQ0NzQ1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWQ1NTU1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWQ2MzY2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWQ3MTc1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWQ3Zjg2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWQ4ZDk1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWQ5YmE2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWRhOWI2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWRiN2M3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWRjNWQ1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWRkM2U2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWRlMWY1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWRmMDA2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWRmZTE2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWUwYzI2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWUxYTM2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWUyODQ3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWUzNjU5IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWU0NDY3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWU1MjgxIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWU2MDg2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWU2ZTk2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWU3Y2E2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWU4YWI1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWU5OGM2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWVhNmQ1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWViNGU2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWVjMmY2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWVkMTA2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWVkZjE2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWVlZDI2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWVmYjM2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWYwOTQ2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWYxNzU2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWYyNTY2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWYzMzc2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWY0MTg3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWY0Zjk2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWY1ZGE3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWY2YmI2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWY3OWM3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWY4N2Q2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWY5NWU3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWZhNDAxIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWZiMjA0IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWZjMDE2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWZjZTI1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWZkYzM1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWZlYTQ1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWZmODU1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjAwNjY1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjAxNDc1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjAyMjg2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjAzMDk1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjAzZWE1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjA0Y2I2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjA1YWM2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjA2OGQ2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjA3NmU2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjA4NGY2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjA5MzA2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjBhMTE2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjBhZjI2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjBiZDM3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjBjYjQ2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjBkOTU3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjBlNzY3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjBmNTgxIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjEwMzg2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjExMTk0IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjExZmE1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjEyZGI1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjEzYmM1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjE0OWQ2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjE1N2U1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjE2NWY2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjE3NDA2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjE4MjE3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjE5MDI2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjE5ZTM5IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjFhYzQ2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjFiYTU3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjFjODY3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjFkNjc3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjFlNDg3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjFmMjk2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjIwMGE2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjIwZWI3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjIxY2M2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjIyYWQ3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjIzOGU3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjI0NzAxIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjI1NTA1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjI2MzE1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjI3MTI1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjI3ZjM1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjI4ZDQ1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjI5YjU0IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjJhOTY1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjJiNzc2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjJjNTg2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjJkMzk3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjJlMWE2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjJlZmI2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjJmZGM3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjMwYmQ3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjMxOWU2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjMyN2Y2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjMzNjFiIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjM0NDE2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjM1MjI2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjM2MDM3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjM2ZTQ2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjM3YzU3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjM4YTY2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjM5ODgxIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjNhNjg1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjNiNDk1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjNjMmE0IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjNkMGI1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjNkZWM0IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjNlY2Q1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjNmYWU0IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjQwOGY2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjQxNzA2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjQyNTE4IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjQzMzI1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjQ0MTM3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjQ0ZjQ2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjQ2YjY2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjQ3OTc2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjQ4Nzg2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjQ5NTdlIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjRhMzhmIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjRiMTljIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjRiZmFjIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjRjZGJjIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjRkYmNkIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjRlOWU1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjRmODA4IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjUwNjE2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjUxNDI2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjUyMjM2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjUzMDQ3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjUzZTU2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjU0YzY3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjU1YTc2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjU2ODg3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjU3Njk3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjU4NGE4IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjU5MmI2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjVhMGM3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjVhZWQ3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjViY2U3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjVjYWY4IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjVkOTA3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjVlNzE4IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjVmNTI3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjYwMzM4IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjYxMTQ5IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjYxZjU5IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjYyZDY4IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjYzYjgzIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjY0OTg2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjY1Nzk1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjY2NWE2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjY3M2I1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjY4MWM2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjY4ZmQ1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjY5ZGU2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjZhYmY2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjZiYTA2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjZjODE3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjZkNjJiIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjZlNDM2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjZmMjQ3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjcwMDU3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjcwZTY3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjcxYzc3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjcyYTg3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjczODk3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjc0NmE4IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjc1NGI5IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjc2MmM3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjc3MGQ4IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjc3ZWU3IiB2PSIwIi8+CisJCQkJPC9wYXI+CisJCQkJPHBhciBtZW1pbmQ9Ijk4MDQiIGg9IjNkYzFhOGRlIj4KKwkJCQkJPHZhbCBvPSIwIiB2PSIxMTMuNzY4Ii8+CisJCQkJCTx2YWwgbz0iZTA4IiB2PSIxMTcuMTMxIi8+CisJCQkJCTx2YWwgbz0iMWMzMiIgdj0iMTE4Ljc5NCIvPgorCQkJCQk8dmFsIG89IjJhM2MiIHY9IjEyMC4zNjIiLz4KKwkJCQkJPHZhbCBvPSIzODM1IiB2PSIxMTguNTA0Ii8+CisJCQkJCTx2YWwgbz0iNDY0NSIgdj0iMTE2LjI3NSIvPgorCQkJCQk8dmFsIG89IjU0NTUiIHY9IjEwOS4yNTgiLz4KKwkJCQkJPHZhbCBvPSI2MjY1IiB2PSIxMjEuMTI3Ii8+CisJCQkJCTx2YWwgbz0iNzA3NSIgdj0iMTE4Ljg0OSIvPgorCQkJCQk8dmFsIG89IjdlODUiIHY9IjExNi4wOTMiLz4KKwkJCQkJPHZhbCBvPSI4Yzk2IiB2PSIxMjAuMTA4Ii8+CisJCQkJCTx2YWwgbz0iOWFhNSIgdj0iMTIwLjg0Ii8+CisJCQkJCTx2YWwgbz0iYThiNiIgdj0iMTI0LjA0NSIvPgorCQkJCQk8dmFsIG89ImI2YzUiIHY9IjEyNC4wNDIiLz4KKwkJCQkJPHZhbCBvPSJjNGQ3IiB2PSIxMTcuNzEzIi8+CisJCQkJCTx2YWwgbz0iZDMwYiIgdj0iMTE4LjA0OCIvPgorCQkJCQk8dmFsIG89ImUwZjYiIHY9IjExOC4wNTEiLz4KKwkJCQkJPHZhbCBvPSJlZjA2IiB2PSIxMTguMjU5Ii8+CisJCQkJCTx2YWwgbz0iZmQxNyIgdj0iMTE4LjA1NCIvPgorCQkJCQk8dmFsIG89IjEwYjI3IiB2PSIxMjAuODQ0Ii8+CisJCQkJCTx2YWwgbz0iMTE5MzciIHY9IjEyMS45MjUiLz4KKwkJCQkJPHZhbCBvPSIxMjc0NiIgdj0iMTE5LjM1MyIvPgorCQkJCQk8dmFsIG89IjEzNTU2IiB2PSIxMjAuODY3Ii8+CisJCQkJCTx2YWwgbz0iMTQzNjYiIHY9IjEyNS40OCIvPgorCQkJCQk8dmFsIG89IjE1MTgxIiB2PSIxMjcuNDM0Ii8+CisJCQkJCTx2YWwgbz0iMTVmODUiIHY9IjExOS4wNjkiLz4KKwkJCQkJPHZhbCBvPSIxNmQ5NSIgdj0iMTIwLjkwNCIvPgorCQkJCQk8dmFsIG89IjE3YmE0IiB2PSIxMjAuOTc0Ii8+CisJCQkJCTx2YWwgbz0iMTg5YjUiIHY9IjEyMC4yNSIvPgorCQkJCQk8dmFsIG89IjE5N2M0IiB2PSIxMTguMjkxIi8+CisJCQkJCTx2YWwgbz0iMWE1ZDUiIHY9IjEyNi41NzMiLz4KKwkJCQkJPHZhbCBvPSIxYjNlNiIgdj0iMTI1LjYzNyIvPgorCQkJCQk8dmFsIG89IjFjMWY2IiB2PSIxMjQuNjY4Ii8+CisJCQkJCTx2YWwgbz0iMWQwMDUiIHY9IjEyMS4zOTMiLz4KKwkJCQkJPHZhbCBvPSIxZGUxNSIgdj0iMTIxLjk5OCIvPgorCQkJCQk8dmFsIG89IjFlYzI1IiB2PSIxMjIuNTU1Ii8+CisJCQkJCTx2YWwgbz0iMWZhMzYiIHY9IjEyMy45NDEiLz4KKwkJCQkJPHZhbCBvPSIyMDg0NSIgdj0iMTI0Ljc0NiIvPgorCQkJCQk8dmFsIG89IjIxNjU2IiB2PSIxMjUuMDg1Ii8+CisJCQkJCTx2YWwgbz0iMjI0NjUiIHY9IjEyNS4xNDMiLz4KKwkJCQkJPHZhbCBvPSIyMzI3NiIgdj0iMTIzLjMxNSIvPgorCQkJCQk8dmFsIG89IjI0MDg2IiB2PSIxMTkuMDI2Ii8+CisJCQkJCTx2YWwgbz0iMjRlOTkiIHY9IjExOC42ODMiLz4KKwkJCQkJPHZhbCBvPSIyNWNhNyIgdj0iMTE5LjgxNSIvPgorCQkJCQk8dmFsIG89IjI2YWI3IiB2PSIxMTkuMjUiLz4KKwkJCQkJPHZhbCBvPSIyNzhjNiIgdj0iMTE5LjY3OCIvPgorCQkJCQk8dmFsIG89IjI4NmQ2IiB2PSIxMjEuNzA4Ii8+CisJCQkJCTx2YWwgbz0iMjk0ZTYiIHY9IjEyNS4xODIiLz4KKwkJCQkJPHZhbCBvPSIyYTMwMSIgdj0iMTI1LjIxNyIvPgorCQkJCQk8dmFsIG89IjJiMTA1IiB2PSIxMTcuMTIiLz4KKwkJCQkJPHZhbCBvPSIyYmYxNSIgdj0iMTE4LjQ4OSIvPgorCQkJCQk8dmFsIG89IjJjZDI1IiB2PSIxMTkuMzM4Ii8+CisJCQkJCTx2YWwgbz0iMmRiMzUiIHY9IjExOS4zOTIiLz4KKwkJCQkJPHZhbCBvPSIyZTk0NiIgdj0iMTE3LjI3NyIvPgorCQkJCQk8dmFsIG89IjJmNzU1IiB2PSIxMTIuOTY3Ii8+CisJCQkJCTx2YWwgbz0iMzA1NjYiIHY9IjEyNC43NzUiLz4KKwkJCQkJPHZhbCBvPSIzMTM3NSIgdj0iMTI0LjQwOSIvPgorCQkJCQk8dmFsIG89IjMyMTllIiB2PSIxMjMuMjY4Ii8+CisJCQkJCTx2YWwgbz0iMzJmOTYiIHY9IjEyMi45NTYiLz4KKwkJCQkJPHZhbCBvPSIzM2RhNiIgdj0iMTIzLjAzMiIvPgorCQkJCQk8dmFsIG89IjM0YmI2IiB2PSIxMjMuNTU1Ii8+CisJCQkJCTx2YWwgbz0iMzU5ZGUiIHY9IjEyMy4wMDQiLz4KKwkJCQkJPHZhbCBvPSIzNjdkNiIgdj0iMTIyLjEyNSIvPgorCQkJCQk8dmFsIG89IjM3NWU2IiB2PSIxMjEuMDc4Ii8+CisJCQkJCTx2YWwgbz0iMzg0MGUiIHY9IjExNy43MDEiLz4KKwkJCQkJPHZhbCBvPSIzOTIxZSIgdj0iMTE4LjEwMSIvPgorCQkJCQk8dmFsIG89IjNhMDE2IiB2PSIxMTcuNzcxIi8+CisJCQkJCTx2YWwgbz0iM2FlMjciIHY9IjEyMS4zOTMiLz4KKwkJCQkJPHZhbCBvPSIzYmMzNiIgdj0iMTIwLjE2Ii8+CisJCQkJCTx2YWwgbz0iM2NhNDciIHY9IjExOS4zODciLz4KKwkJCQkJPHZhbCBvPSIzZDg1NiIgdj0iMTE5Ljg4NyIvPgorCQkJCQk8dmFsIG89IjNlNjY3IiB2PSIxMjIuNjQiLz4KKwkJCQkJPHZhbCBvPSIzZjQ4MSIgdj0iMTI1Ljk1NCIvPgorCQkJCQk8dmFsIG89IjQwMjg1IiB2PSIxMjMuNTEiLz4KKwkJCQkJPHZhbCBvPSI0MTA5NSIgdj0iMTI0LjMyOCIvPgorCQkJCQk8dmFsIG89IjQxZWE1IiB2PSIxMjQuNjM5Ii8+CisJCQkJCTx2YWwgbz0iNDJjYjUiIHY9IjEyNC40NDgiLz4KKwkJCQkJPHZhbCBvPSI0M2FjNSIgdj0iMTIyLjQzNCIvPgorCQkJCQk8dmFsIG89IjQ0OGQ1IiB2PSIxMTguNjIzIi8+CisJCQkJCTx2YWwgbz0iNDU2ZTYiIHY9IjEyMi4xNjkiLz4KKwkJCQkJPHZhbCBvPSI0NjRmNSIgdj0iMTIwLjk3OSIvPgorCQkJCQk8dmFsIG89IjQ4MGZmIiB2PSIxMTguMzU4Ii8+CisJCQkJCTx2YWwgbz0iNDhmMGUiIHY9IjExNy4yNzEiLz4KKwkJCQkJPHZhbCBvPSI0OWQxZCIgdj0iMTE4LjY4Ii8+CisJCQkJCTx2YWwgbz0iNGFiNDYiIHY9IjExOC41NjIiLz4KKwkJCQkJPHZhbCBvPSI0Yjk1NSIgdj0iMTE2Ljg0MiIvPgorCQkJCQk8dmFsIG89IjRjNzY5IiB2PSIxMTUuOTEzIi8+CisJCQkJCTx2YWwgbz0iNGQ1NzciIHY9IjExOC44OTQiLz4KKwkJCQkJPHZhbCBvPSI0ZTM4NyIgdj0iMTE4LjU5Ii8+CisJCQkJCTx2YWwgbz0iNGYxOTYiIHY9IjExNi4yOTMiLz4KKwkJCQkJPHZhbCBvPSI0ZmZhNiIgdj0iMTE4LjI5OSIvPgorCQkJCQk8dmFsIG89IjUwZGQwIiB2PSIxMjAuMjMzIi8+CisJCQkJCTx2YWwgbz0iNTFiYzYiIHY9IjExOC40OTUiLz4KKwkJCQkJPHZhbCBvPSI1MjlkNiIgdj0iMTIwLjQwNiIvPgorCQkJCQk8dmFsIG89IjUzN2U3IiB2PSIxMjIuNjQ0Ii8+CisJCQkJCTx2YWwgbz0iNTQ2MDAiIHY9IjEyNS41MjgiLz4KKwkJCQkJPHZhbCBvPSI1NTQwNiIgdj0iMTIxLjc0NiIvPgorCQkJCQk8dmFsIG89IjU2MjE1IiB2PSIxMjIuNjQyIi8+CisJCQkJCTx2YWwgbz0iNTcwMjYiIHY9IjEyMi41ODEiLz4KKwkJCQkJPHZhbCBvPSI1N2UzNiIgdj0iMTIyLjYyMyIvPgorCQkJCQk8dmFsIG89IjU4YzQ2IiB2PSIxMjAuNDMxIi8+CisJCQkJCTx2YWwgbz0iNTlhNzAiIHY9IjEyMS4zMjkiLz4KKwkJCQkJPHZhbCBvPSI1YTg2NyIgdj0iMTIwLjY1MSIvPgorCQkJCQk8dmFsIG89IjViNjc2IiB2PSIxMTguODc2Ii8+CisJCQkJCTx2YWwgbz0iNWM0ODciIHY9IjExNS42NjEiLz4KKwkJCQkJPHZhbCBvPSI1ZDI5NiIgdj0iMTE5LjgzNSIvPgorCQkJCQk8dmFsIG89IjVlMGE5IiB2PSIxMjAuMzQiLz4KKwkJCQkJPHZhbCBvPSI1ZWViOCIgdj0iMTE5LjQzOSIvPgorCQkJCQk8dmFsIG89IjVmY2M2IiB2PSIxMTguMjQ1Ii8+CisJCQkJCTx2YWwgbz0iNjBhZDciIHY9IjExNy4wMDQiLz4KKwkJCQkJPHZhbCBvPSI2MThlNyIgdj0iMTE3LjE2NSIvPgorCQkJCQk8dmFsIG89IjYyNmY3IiB2PSIxMTkuOTUiLz4KKwkJCQkJPHZhbCBvPSI2MzUwNyIgdj0iMTE3LjE0OSIvPgorCQkJCQk8dmFsIG89IjY0MzE3IiB2PSIxMTguNTQxIi8+CisJCQkJCTx2YWwgbz0iNjUxMjciIHY9IjExOS44MjIiLz4KKwkJCQkJPHZhbCBvPSI2NWYzNyIgdj0iMTIxLjAxMyIvPgorCQkJCQk8dmFsIG89IjY2ZDQ2IiB2PSIxMjEuNTc3Ii8+CisJCQkJCTx2YWwgbz0iNjdiNTciIHY9IjEyMC4yODkiLz4KKwkJCQkJPHZhbCBvPSI2ODk2NyIgdj0iMTIyLjYyIi8+CisJCQkJCTx2YWwgbz0iNjk3ODIiIHY9IjExOS4wOTMiLz4KKwkJCQkJPHZhbCBvPSI2YTU4NiIgdj0iMTIwLjQ5MyIvPgorCQkJCQk8dmFsIG89IjZiMzk1IiB2PSIxMjEuOTE5Ii8+CisJCQkJCTx2YWwgbz0iNmMxYTYiIHY9IjEyMi4yMTgiLz4KKwkJCQkJPHZhbCBvPSI2Y2ZiNSIgdj0iMTIxLjAyMiIvPgorCQkJCQk8dmFsIG89IjZkZGM2IiB2PSIxMTguNDMzIi8+CisJCQkJCTx2YWwgbz0iNmViZDYiIHY9IjExNS45NzgiLz4KKwkJCQkJPHZhbCBvPSI2ZjllNiIgdj0iMTIwLjk3MSIvPgorCQkJCQk8dmFsIG89IjcwN2Y2IiB2PSIxMTkuMjM0Ii8+CisJCQkJCTx2YWwgbz0iNzE2MDciIHY9IjExOC4wMTUiLz4KKwkJCQkJPHZhbCBvPSI3MjQxNyIgdj0iMTE3LjkyMiIvPgorCQkJCQk8dmFsIG89IjczMjI3IiB2PSIxMTcuNTY2Ii8+CisJCQkJCTx2YWwgbz0iNzQwMzciIHY9IjEyMS40NjkiLz4KKwkJCQkJPHZhbCBvPSI3NGU0NyIgdj0iMTIwLjUxNCIvPgorCQkJCQk8dmFsIG89Ijc1YzU3IiB2PSIxMTguNDg1Ii8+CisJCQkJCTx2YWwgbz0iNzZhNjMiIHY9IjExNy44ODkiLz4KKwkJCQkJPHZhbCBvPSI3Nzg3MyIgdj0iMTE3Ljk0NiIvPgorCQkJCQk8dmFsIG89Ijc4NjgwIiB2PSIxMTMuNjExIi8+CisJCQkJCTx2YWwgbz0iNzk0OGYiIHY9IjExNi41ODMiLz4KKwkJCQkJPHZhbCBvPSI3YTI5ZiIgdj0iMTE5LjMwNiIvPgorCQkJCQk8dmFsIG89IjdiMGFmIiB2PSIxMTguODAyIi8+CisJCQkJCTx2YWwgbz0iN2JlYmYiIHY9IjEyMC43OTkiLz4KKwkJCQkJPHZhbCBvPSI3Y2NjZiIgdj0iMTIwLjg1NyIvPgorCQkJCQk8dmFsIG89IjdkYWRmIiB2PSIxMjEuNTk0Ii8+CisJCQkJCTx2YWwgbz0iN2U4ZmEiIHY9IjEyMS40MjEiLz4KKwkJCQkJPHZhbCBvPSI3ZjcwYSIgdj0iMTIzLjc0Ii8+CisJCQkJCTx2YWwgbz0iODA1MWEiIHY9IjEyNS4xODkiLz4KKwkJCQkJPHZhbCBvPSI4MTMyYSIgdj0iMTI1LjY3MyIvPgorCQkJCQk8dmFsIG89IjgyMTNhIiB2PSIxMjQuNzc3Ii8+CisJCQkJCTx2YWwgbz0iODJmNGEiIHY9IjEyMi40MzIiLz4KKwkJCQkJPHZhbCBvPSI4M2Q1YSIgdj0iMTIwLjAxMSIvPgorCQkJCQk8dmFsIG89Ijg0YjZhIiB2PSIxMTguNjIyIi8+CisJCQkJCTx2YWwgbz0iODU5N2EiIHY9IjExOC41NTkiLz4KKwkJCQkJPHZhbCBvPSI4Njc4YiIgdj0iMTE3LjUyNCIvPgorCQkJCQk8dmFsIG89Ijg3NTliIiB2PSIxMTcuMjU3Ii8+CisJCQkJCTx2YWwgbz0iODgzYWMiIHY9IjExOS45MDkiLz4KKwkJCQkJPHZhbCBvPSI4OTFiYiIgdj0iMTIwLjkyMSIvPgorCQkJCQk8dmFsIG89Ijg5ZmNhIiB2PSIxMTkuOTYiLz4KKwkJCQkJPHZhbCBvPSI4YWRkYSIgdj0iMTE4LjQ4MSIvPgorCQkJCQk8dmFsIG89IjhiYmViIiB2PSIxMTguNjA1Ii8+CisJCQkJCTx2YWwgbz0iOGM5ZmMiIHY9IjExOC4yODIiLz4KKwkJCQkJPHZhbCBvPSI4ZDgwYiIgdj0iMTE4LjY2MyIvPgorCQkJCQk8dmFsIG89IjhlNjFhIiB2PSIxMTcuMDA5Ii8+CisJCQkJCTx2YWwgbz0iOGY0MmEiIHY9IjExNy43NjYiLz4KKwkJCQkJPHZhbCBvPSI5MDIzYSIgdj0iMTE5LjcyMiIvPgorCQkJCQk8dmFsIG89IjkxMDRhIiB2PSIxMjAuMjk5Ii8+CisJCQkJCTx2YWwgbz0iOTFlNWEiIHY9IjExOC4zNjYiLz4KKwkJCQkJPHZhbCBvPSI5MmM2YSIgdj0iMTIyLjUyOSIvPgorCQkJCQk8dmFsIG89IjkzYTg0IiB2PSIxMjQuODMzIi8+CisJCQkJCTx2YWwgbz0iOTQ4ODUiIHY9IjEyMy4wNiIvPgorCQkJCQk8dmFsIG89Ijk1Njk0IiB2PSIxMjIuMzk2Ii8+CisJCQkJCTx2YWwgbz0iOTY0YTUiIHY9IjEyMi43OTIiLz4KKwkJCQkJPHZhbCBvPSI5NzJiNCIgdj0iMTIyLjIzMiIvPgorCQkJCQk8dmFsIG89Ijk4MGM1IiB2PSIxMTkuNzkiLz4KKwkJCQkJPHZhbCBvPSI5OGVkNCIgdj0iMTIyLjg2Ii8+CisJCQkJCTx2YWwgbz0iOTljZTUiIHY9IjExOS4wMTIiLz4KKwkJCQkJPHZhbCBvPSI5YWFmNSIgdj0iMTE4LjMyMSIvPgorCQkJCQk8dmFsIG89IjliOTA2IiB2PSIxMTUuNDU2Ii8+CisJCQkJCTx2YWwgbz0iOWM3MTYiIHY9IjExOS4zNzQiLz4KKwkJCQkJPHZhbCBvPSI5ZDUyNiIgdj0iMTIwLjM0NCIvPgorCQkJCQk8dmFsIG89IjllMzM2IiB2PSIxMTkuMjU0Ii8+CisJCQkJCTx2YWwgbz0iOWYxNDUiIHY9IjExNy44MyIvPgorCQkJCQk8dmFsIG89IjlmZjU2IiB2PSIxMTcuMDAxIi8+CisJCQkJCTx2YWwgbz0iYTBkNjUiIHY9IjExNi43ODIiLz4KKwkJCQkJPHZhbCBvPSJhMWI3NyIgdj0iMTE2LjgwMyIvPgorCQkJCQk8dmFsIG89ImEyOTg2IiB2PSIxMTguNzUiLz4KKwkJCQkJPHZhbCBvPSJhMzc5NSIgdj0iMTE4LjM1OCIvPgorCQkJCQk8dmFsIG89ImE0NWE3IiB2PSIxMTkuNDkzIi8+CisJCQkJCTx2YWwgbz0iYTUzYjYiIHY9IjExOS42OTgiLz4KKwkJCQkJPHZhbCBvPSJhNjFjNyIgdj0iMTE5LjkwOCIvPgorCQkJCQk8dmFsIG89ImE2ZmQ2IiB2PSIxMjAuNjc1Ii8+CisJCQkJCTx2YWwgbz0iYTdlMDAiIHY9IjEyMi43NTQiLz4KKwkJCQkJPHZhbCBvPSJhOGMwMCIgdj0iMTI1LjM4NSIvPgorCQkJCQk8dmFsIG89ImE5YTA1IiB2PSIxMTguMjE0Ii8+CisJCQkJCTx2YWwgbz0iYWE4MTUiIHY9IjExOS4zMjkiLz4KKwkJCQkJPHZhbCBvPSJhYjYyNSIgdj0iMTIwLjExIi8+CisJCQkJCTx2YWwgbz0iYWM0MzUiIHY9IjExOS42ODkiLz4KKwkJCQkJPHZhbCBvPSJhZDI0NSIgdj0iMTE3LjEyIi8+CisJCQkJCTx2YWwgbz0iYWUwNTUiIHY9IjExNC43MjkiLz4KKwkJCQkJPHZhbCBvPSJhZWU2NSIgdj0iMTIwLjg3MSIvPgorCQkJCQk8dmFsIG89ImFmYzc1IiB2PSIxMTkuMTc3Ii8+CisJCQkJCTx2YWwgbz0iYjBhODUiIHY9IjExNi42OTkiLz4KKwkJCQkJPHZhbCBvPSJiMjZhNiIgdj0iMTE2Ljc2OCIvPgorCQkJCQk8dmFsIG89ImIzNGI2IiB2PSIxMTguMDc1Ii8+CisJCQkJCTx2YWwgbz0iYjQyYzYiIHY9IjExNS41NzEiLz4KKwkJCQkJPHZhbCBvPSJiNTBkNiIgdj0iMTE1Ljg2NyIvPgorCQkJCQk8dmFsIG89ImI1ZWU3IiB2PSIxMTQuMzA5Ii8+CisJCQkJCTx2YWwgbz0iYjZjZjYiIHY9IjEyMi43ODciLz4KKwkJCQkJPHZhbCBvPSJiN2IwNyIgdj0iMTE4LjkwNCIvPgorCQkJCQk8dmFsIG89ImI4OTE3IiB2PSIxMTguNTMxIi8+CisJCQkJCTx2YWwgbz0iYjk3MjgiIHY9IjExOS40MzgiLz4KKwkJCQkJPHZhbCBvPSJiYTUzNyIgdj0iMTIwLjkwOCIvPgorCQkJCQk8dmFsIG89ImJiMzQ3IiB2PSIxMTkuODQ0Ii8+CisJCQkJCTx2YWwgbz0iYmMxNTciIHY9IjEyMC41NzUiLz4KKwkJCQkJPHZhbCBvPSJiY2Y2NyIgdj0iMTIzLjIxMiIvPgorCQkJCQk8dmFsIG89ImJkZDgxIiB2PSIxMTguNzEyIi8+CisJCQkJCTx2YWwgbz0iYmViODYiIHY9IjExOC4zMTYiLz4KKwkJCQkJPHZhbCBvPSJiZjk5NSIgdj0iMTE4Ljg1OSIvPgorCQkJCQk8dmFsIG89ImMwN2E2IiB2PSIxMjAuMDkyIi8+CisJCQkJCTx2YWwgbz0iYzE1YjUiIHY9IjExOS41MzIiLz4KKwkJCQkJPHZhbCBvPSJjMjNjNiIgdj0iMTE4LjE3OSIvPgorCQkJCQk8dmFsIG89ImMzMWQ1IiB2PSIxMTUuNzMxIi8+CisJCQkJCTx2YWwgbz0iYzNmZTYiIHY9IjExNy42NzEiLz4KKwkJCQkJPHZhbCBvPSJjNGRmNSIgdj0iMTE2LjA0NiIvPgorCQkJCQk8dmFsIG89ImM1YzA2IiB2PSIxMTcuNDE2Ii8+CisJCQkJCTx2YWwgbz0iYzZhMTYiIHY9IjExNy41NzgiLz4KKwkJCQkJPHZhbCBvPSJjNzgyNiIgdj0iMTE2Ljc1OCIvPgorCQkJCQk8dmFsIG89ImM4NjM2IiB2PSIxMTguMzE5Ii8+CisJCQkJCTx2YWwgbz0iYzk0NDYiIHY9IjExOC4zNTUiLz4KKwkJCQkJPHZhbCBvPSJjYTI1NiIgdj0iMTE4LjEzNiIvPgorCQkJCQk8dmFsIG89ImNiMDY2IiB2PSIxMTcuMjI1Ii8+CisJCQkJCTx2YWwgbz0iY2JlNzYiIHY9IjEyMi42NTkiLz4KKwkJCQkJPHZhbCBvPSJjY2M4NyIgdj0iMTE4LjU0NyIvPgorCQkJCQk8dmFsIG89ImNkYTk2IiB2PSIxMTYuNjM1Ii8+CisJCQkJCTx2YWwgbz0iY2U4YTgiIHY9IjExOC4xMDUiLz4KKwkJCQkJPHZhbCBvPSJjZjZiNyIgdj0iMTE4LjUwMyIvPgorCQkJCQk8dmFsIG89ImQwNGM4IiB2PSIxMTkuNTQ3Ii8+CisJCQkJCTx2YWwgbz0iZDEyZDciIHY9IjEyMS40Ii8+CisJCQkJCTx2YWwgbz0iZDIwZTciIHY9IjEyMy4zOTYiLz4KKwkJCQkJPHZhbCBvPSJkMmYwMiIgdj0iMTI2LjA2OCIvPgorCQkJCQk8dmFsIG89ImQzZDA1IiB2PSIxMTkuMzMiLz4KKwkJCQkJPHZhbCBvPSJkNGIxNSIgdj0iMTIwLjUyNCIvPgorCQkJCQk8dmFsIG89ImQ1OTI2IiB2PSIxMjAuNzQyIi8+CisJCQkJCTx2YWwgbz0iZDY3MzUiIHY9IjExOS41NDgiLz4KKwkJCQkJPHZhbCBvPSJkNzU0NiIgdj0iMTE3LjM1OCIvPgorCQkJCQk8dmFsIG89ImQ4MzU1IiB2PSIxMjQuMjY3Ii8+CisJCQkJCTx2YWwgbz0iZDkxNjYiIHY9IjEyMi4zODgiLz4KKwkJCQkJPHZhbCBvPSJkOWY3NSIgdj0iMTIwLjc3NCIvPgorCQkJCQk8dmFsIG89ImRhZDg3IiB2PSIxMTcuMzQ1Ii8+CisJCQkJCTx2YWwgbz0iZGJiOTciIHY9IjExNi42OTgiLz4KKwkJCQkJPHZhbCBvPSJkYzlhOCIgdj0iMTE2Ljc5OCIvPgorCQkJCQk8dmFsIG89ImRkN2I3IiB2PSIxMTguMjE5Ii8+CisJCQkJCTx2YWwgbz0iZGU1YzYiIHY9IjExNy44NzkiLz4KKwkJCQkJPHZhbCBvPSJkZjNkNyIgdj0iMTE3LjI4NyIvPgorCQkJCQk8dmFsIG89ImUwMWQ3IiB2PSIxMTcuNDIiLz4KKwkJCQkJPHZhbCBvPSJlMGZlNSIgdj0iMTE2Ljc5OCIvPgorCQkJCQk8dmFsIG89ImUxZGY1IiB2PSIxMTcuMTg0Ii8+CisJCQkJCTx2YWwgbz0iZTJjMDQiIHY9IjExOS42NjUiLz4KKwkJCQkJPHZhbCBvPSJlM2ExNCIgdj0iMTIxLjAzMyIvPgorCQkJCQk8dmFsIG89ImU0ODI0IiB2PSIxMjAuODM5Ii8+CisJCQkJCTx2YWwgbz0iZTU2MzQiIHY9IjEyMi40NTYiLz4KKwkJCQkJPHZhbCBvPSJlNjQ0NCIgdj0iMTIwLjUzNCIvPgorCQkJCQk8dmFsIG89ImU3MjU1IiB2PSIxMjIuNzY2Ii8+CisJCQkJCTx2YWwgbz0iZTgwNmYiIHY9IjEyMy43MzUiLz4KKwkJCQkJPHZhbCBvPSJlOGU3ZiIgdj0iMTE2LjY1NCIvPgorCQkJCQk8dmFsIG89ImU5YzhlIiB2PSIxMTguMTExIi8+CisJCQkJCTx2YWwgbz0iZWFhOWYiIHY9IjExOC40NDEiLz4KKwkJCQkJPHZhbCBvPSJlYjhhZSIgdj0iMTE3LjQ2MyIvPgorCQkJCQk8dmFsIG89ImVjNmJmIiB2PSIxMTMuNTQ5Ii8+CisJCQkJCTx2YWwgbz0iZWQ0Y2UiIHY9IjEyMy41OTYiLz4KKwkJCQkJPHZhbCBvPSJlZTJkZiIgdj0iMTIwLjcwOSIvPgorCQkJCQk8dmFsIG89ImVmMGVmIiB2PSIxMTguOTQiLz4KKwkJCQkJPHZhbCBvPSJlZmYwMSIgdj0iMTE2LjAwMiIvPgorCQkJCQk8dmFsIG89ImYwZDEwIiB2PSIxMTcuNzQxIi8+CisJCQkJCTx2YWwgbz0iZjFiMjAiIHY9IjExNy40OSIvPgorCQkJCQk8dmFsIG89ImYyOTMwIiB2PSIxMjEuNDMzIi8+CisJCQkJCTx2YWwgbz0iZjM3NDAiIHY9IjExNy43MzUiLz4KKwkJCQkJPHZhbCBvPSJmNDU1MSIgdj0iMTE4LjE2NSIvPgorCQkJCQk8dmFsIG89ImY1MzYxIiB2PSIxMTcuODM5Ii8+CisJCQkJCTx2YWwgbz0iZjYxNzIiIHY9IjExNy42ODUiLz4KKwkJCQkJPHZhbCBvPSJmNmY4MCIgdj0iMTE3LjUxOCIvPgorCQkJCQk8dmFsIG89ImY3ZDkxIiB2PSIxMTkuMzg1Ii8+CisJCQkJCTx2YWwgbz0iZjhiYTEiIHY9IjEyMS4yMDIiLz4KKwkJCQkJPHZhbCBvPSJmOTliMSIgdj0iMTIwLjI1NCIvPgorCQkJCQk8dmFsIG89ImZhN2MwIiB2PSIxMTguMzM2Ii8+CisJCQkJCTx2YWwgbz0iZmI1ZDEiIHY9IjExOC4yNjciLz4KKwkJCQkJPHZhbCBvPSJmYzNlMCIgdj0iMTIzLjA4OCIvPgorCQkJCQk8dmFsIG89ImZkMWZiIiB2PSIxMjMuMTgzIi8+CisJCQkJCTx2YWwgbz0iZmUwMGIiIHY9IjEyNi4zNzciLz4KKwkJCQkJPHZhbCBvPSJmZWUxYyIgdj0iMTIzLjc3MiIvPgorCQkJCQk8dmFsIG89ImZmYzJjIiB2PSIxMjMuNjM0Ii8+CisJCQkJCTx2YWwgbz0iMTAwYTNiIiB2PSIxMjMuMDA4Ii8+CisJCQkJCTx2YWwgbz0iMTAxODRjIiB2PSIxMjEuMzgyIi8+CisJCQkJCTx2YWwgbz0iMTAyNjViIiB2PSIxMTcuNjk2Ii8+CisJCQkJCTx2YWwgbz0iMTAzNDZjIiB2PSIxMTcuOTAxIi8+CisJCQkJCTx2YWwgbz0iMTA0MjdiIiB2PSIxMTkuNDA0Ii8+CisJCQkJCTx2YWwgbz0iMTA1MDhkIiB2PSIxMTcuNjQ2Ii8+CisJCQkJCTx2YWwgbz0iMTA1ZTlkIiB2PSIxMTguMTQ3Ii8+CisJCQkJCTx2YWwgbz0iMTA2Y2FkIiB2PSIxMTcuODAyIi8+CisJCQkJCTx2YWwgbz0iMTA3YWJkIiB2PSIxMjAuMTUxIi8+CisJCQkJCTx2YWwgbz0iMTA4OGNkIiB2PSIxMTkuNzMzIi8+CisJCQkJCTx2YWwgbz0iMTA5NmRlIiB2PSIxMTkuMDk2Ii8+CisJCQkJCTx2YWwgbz0iMTBhNGVkIiB2PSIxMTkuMjkxIi8+CisJCQkJCTx2YWwgbz0iMTBiMmZlIiB2PSIxMTguOTczIi8+CisJCQkJCTx2YWwgbz0iMTBjMTBkIiB2PSIxMTYuMzM2Ii8+CisJCQkJCTx2YWwgbz0iMTBjZjFlIiB2PSIxMTguMTcxIi8+CisJCQkJCTx2YWwgbz0iMTBkZDJlIiB2PSIxMTkuMDgyIi8+CisJCQkJCTx2YWwgbz0iMTBlYjY2IiB2PSIxMjAuOTUzIi8+CisJCQkJCTx2YWwgbz0iMTBmOTRlIiB2PSIxMjEuNDEiLz4KKwkJCQkJPHZhbCBvPSIxMTA3NWUiIHY9IjExOS4wODgiLz4KKwkJCQkJPHZhbCBvPSIxMTE1NmQiIHY9IjEyMC45NDEiLz4KKwkJCQkJPHZhbCBvPSIxMTIzODgiIHY9IjEyMy42OTkiLz4KKwkJCQkJPHZhbCBvPSIxMTMxODciIHY9IjEyMi40OCIvPgorCQkJCQk8dmFsIG89IjExM2ZiMCIgdj0iMTIzLjM3OCIvPgorCQkJCQk8dmFsIG89IjExNGRhNiIgdj0iMTIzLjMxMiIvPgorCQkJCQk8dmFsIG89IjExNWJiNiIgdj0iMTIzLjIxNyIvPgorCQkJCQk8dmFsIG89IjExNjljNiIgdj0iMTIwLjk2MSIvPgorCQkJCQk8dmFsIG89IjExNzdkNiIgdj0iMTE4LjA3NiIvPgorCQkJCQk8dmFsIG89IjExODVlOCIgdj0iMTE4LjU3MyIvPgorCQkJCQk8dmFsIG89IjExOTNmNyIgdj0iMTE3Ljk3OCIvPgorCQkJCQk8dmFsIG89IjExYTIwOCIgdj0iMTIwLjAxOSIvPgorCQkJCQk8dmFsIG89IjExYjAxNyIgdj0iMTIxLjY2MiIvPgorCQkJCQk8dmFsIG89IjExYmUyZiIgdj0iMTIyLjI2OCIvPgorCQkJCQk8dmFsIG89IjExY2MzNyIgdj0iMTIyLjMxNyIvPgorCQkJCQk8dmFsIG89IjExZGE0NyIgdj0iMTIxLjkzNCIvPgorCQkJCQk8dmFsIG89IjExZTg1NyIgdj0iMTIwLjc3NiIvPgorCQkJCQk8dmFsIG89IjExZjY2NyIgdj0iMTIxLjg4OSIvPgorCQkJCQk8dmFsIG89IjEyMDU3OCIgdj0iMTIxLjA2NCIvPgorCQkJCQk8dmFsIG89IjEyMTM4NiIgdj0iMTE2LjgyNCIvPgorCQkJCQk8dmFsIG89IjEyMjE5NiIgdj0iMTE3LjU1NiIvPgorCQkJCQk8dmFsIG89IjEyMmZhNiIgdj0iMTE4Ljc4NCIvPgorCQkJCQk8dmFsIG89IjEyM2RiNSIgdj0iMTIwLjc3Ii8+CisJCQkJCTx2YWwgbz0iMTI0YmM1IiB2PSIxMjIuNTY1Ii8+CisJCQkJCTx2YWwgbz0iMTI1OWQ1IiB2PSIxMjAuMjYzIi8+CisJCQkJCTx2YWwgbz0iMTI2N2U0IiB2PSIxMjIuNzI5Ii8+CisJCQkJCTx2YWwgbz0iMTI3NjAwIiB2PSIxMjQuNTYxIi8+CisJCQkJCTx2YWwgbz0iMTI4MzA1IiB2PSIxMjUuMjM3Ii8+CisJCQkJCTx2YWwgbz0iMTI5MTE1IiB2PSIxMjUuMzQ0Ii8+CisJCQkJCTx2YWwgbz0iMTI5ZjI1IiB2PSIxMjUuNDkyIi8+CisJCQkJCTx2YWwgbz0iMTJhZDM1IiB2PSIxMjQuNjciLz4KKwkJCQkJPHZhbCBvPSIxMmJiNDUiIHY9IjEyMi44MTkiLz4KKwkJCQkJPHZhbCBvPSIxMmM5NTQiIHY9IjEyMS43MTMiLz4KKwkJCQkJPHZhbCBvPSIxMmQ3NjYiIHY9IjEyMC44ODMiLz4KKwkJCQkJPHZhbCBvPSIxMmU1NzUiIHY9IjExOS44NSIvPgorCQkJCQk8dmFsIG89IjEyZjM4NiIgdj0iMTE3LjE3NiIvPgorCQkJCQk8dmFsIG89IjEzMDE5NiIgdj0iMTE3LjQ0NyIvPgorCQkJCQk8dmFsIG89IjEzMGZhNiIgdj0iMTE4LjY3OSIvPgorCQkJCQk8dmFsIG89IjEzMWRiNyIgdj0iMTIwLjAxNiIvPgorCQkJCQk8dmFsIG89IjEzMmJjNSIgdj0iMTE5Ljk1OSIvPgorCQkJCQk8dmFsIG89IjEzMzlkNCIgdj0iMC4xMDkiLz4KKwkJCQkJPHZhbCBvPSIxMzQ3ZTUiIHY9IjAuMTA5Ii8+CisJCQkJCTx2YWwgbz0iMTM1NWY0IiB2PSIwLjEwOCIvPgorCQkJCQk8dmFsIG89IjEzNjQwNCIgdj0iMC4xMDYiLz4KKwkJCQkJPHZhbCBvPSIxMzcyMTQiIHY9IjAuMTA2Ii8+CisJCQkJCTx2YWwgbz0iMTM4MDI0IiB2PSIwLjEwNiIvPgorCQkJCQk8dmFsIG89IjEzOGUzMyIgdj0iMC4xMDgiLz4KKwkJCQkJPHZhbCBvPSIxMzljNDQiIHY9IjAuMTA5Ii8+CisJCQkJCTx2YWwgbz0iMTNhYTU0IiB2PSIwLjEwOCIvPgorCQkJCQk8dmFsIG89IjEzYjg2NSIgdj0iMC4xMDkiLz4KKwkJCQkJPHZhbCBvPSIxM2M2N2UiIHY9IjAuMTAxIi8+CisJCQkJCTx2YWwgbz0iMTNkNDhlIiB2PSIwLjEwNCIvPgorCQkJCQk8dmFsIG89IjEzZTI5ZSIgdj0iMC4xMDYiLz4KKwkJCQkJPHZhbCBvPSIxM2YwYWUiIHY9IjAuMTA2Ii8+CisJCQkJCTx2YWwgbz0iMTNmZWJmIiB2PSIwLjEwNCIvPgorCQkJCQk8dmFsIG89IjE0MGNjZiIgdj0iMC4xMDIiLz4KKwkJCQkJPHZhbCBvPSIxNDFhZGYiIHY9IjAuMTA0Ii8+CisJCQkJCTx2YWwgbz0iMTQyOGVmIiB2PSIwLjEwOCIvPgorCQkJCQk8dmFsIG89IjE0MzZmZiIgdj0iMC4xMDciLz4KKwkJCQkJPHZhbCBvPSIxNDQ1MGYiIHY9IjAuMTA3Ii8+CisJCQkJCTx2YWwgbz0iMTQ1MzFmIiB2PSIwLjEwNyIvPgorCQkJCQk8dmFsIG89IjE0NjEzMCIgdj0iMC4xMDgiLz4KKwkJCQkJPHZhbCBvPSIxNDZmNDAiIHY9IjAuMTEiLz4KKwkJCQkJPHZhbCBvPSIxNDdkNDQiIHY9IjAuMTA4Ii8+CisJCQkJCTx2YWwgbz0iMTQ4YjU3IiB2PSIwLjEwOCIvPgorCQkJCQk8dmFsIG89IjE0OTk2NSIgdj0iMC4xMDgiLz4KKwkJCQkJPHZhbCBvPSIxNGE3NzUiIHY9IjAuMTA2Ii8+CisJCQkJCTx2YWwgbz0iMTRiNTg0IiB2PSIwLjExIi8+CisJCQkJCTx2YWwgbz0iMTRjMzk3IiB2PSIwLjEwNiIvPgorCQkJCQk8dmFsIG89IjE0ZDFhNCIgdj0iMC4xMDciLz4KKwkJCQkJPHZhbCBvPSIxNGRmYjYiIHY9IjAuMTA4Ii8+CisJCQkJCTx2YWwgbz0iMTRlZGM1IiB2PSIwLjExIi8+CisJCQkJCTx2YWwgbz0iMTRmYmQ1IiB2PSIwLjExMiIvPgorCQkJCQk8dmFsIG89IjE1MDllNSIgdj0iMC4xMTIiLz4KKwkJCQkJPHZhbCBvPSIxNTE3ZmYiIHY9IjAuMTE1Ii8+CisJCQkJCTx2YWwgbz0iMTUyNjA1IiB2PSIwLjEwNyIvPgorCQkJCQk8dmFsIG89IjE1MzQxNSIgdj0iMC4xMDkiLz4KKwkJCQkJPHZhbCBvPSIxNTQyMjUiIHY9IjAuMTEiLz4KKwkJCQkJPHZhbCBvPSIxNTUwMzUiIHY9IjAuMTA5Ii8+CisJCQkJCTx2YWwgbz0iMTU1ZTQ1IiB2PSIwLjEwNyIvPgorCQkJCQk8dmFsIG89IjE1NmM1NSIgdj0iMC4xMDQiLz4KKwkJCQkJPHZhbCBvPSIxNTdhNjUiIHY9IjAuMTA3Ii8+CisJCQkJCTx2YWwgbz0iMTU4ODc1IiB2PSIwLjEwNyIvPgorCQkJCQk8dmFsIG89IjE1OTY4NiIgdj0iMC4xMDYiLz4KKwkJCQkJPHZhbCBvPSIxNWE0OTUiIHY9IjAuMTA3Ii8+CisJCQkJCTx2YWwgbz0iMTViMmE2IiB2PSIwLjEwOCIvPgorCQkJCQk8dmFsIG89IjE1YzBiNiIgdj0iMC4xMDkiLz4KKwkJCQkJPHZhbCBvPSIxNWNlYzYiIHY9IjAuMTA5Ii8+CisJCQkJCTx2YWwgbz0iMTVkY2Q1IiB2PSIwLjEwOSIvPgorCQkJCQk8dmFsIG89IjE1ZWFlNiIgdj0iMC4xMDgiLz4KKwkJCQkJPHZhbCBvPSIxNWY4ZjUiIHY9IjAuMTA0Ii8+CisJCQkJCTx2YWwgbz0iMTYwNzA2IiB2PSIwLjExIi8+CisJCQkJCTx2YWwgbz0iMTYxNTE3IiB2PSIwLjEwOSIvPgorCQkJCQk8dmFsIG89IjE2MjMyNiIgdj0iMC4xMSIvPgorCQkJCQk8dmFsIG89IjE2MzEzNyIgdj0iMC4xMTEiLz4KKwkJCQkJPHZhbCBvPSIxNjNmNDYiIHY9IjAuMTA5Ii8+CisJCQkJCTx2YWwgbz0iMTY0ZDU3IiB2PSIwLjExIi8+CisJCQkJCTx2YWwgbz0iMTY1YjY3IiB2PSIwLjExMiIvPgorCQkJCQk8dmFsIG89IjE2Njk4MiIgdj0iMC4xMTEiLz4KKwkJCQkJPHZhbCBvPSIxNjc3ODYiIHY9IjAuMTEyIi8+CisJCQkJCTx2YWwgbz0iMTY4NTk2IiB2PSIwLjExMiIvPgorCQkJCQk8dmFsIG89IjE2OTNhNiIgdj0iMC4xMTMiLz4KKwkJCQkJPHZhbCBvPSIxNmExYjUiIHY9IjAuMTEyIi8+CisJCQkJCTx2YWwgbz0iMTZhZmM2IiB2PSIwLjExIi8+CisJCQkJCTx2YWwgbz0iMTZiZGQ1IiB2PSIwLjEwOCIvPgorCQkJCQk8dmFsIG89IjE2Y2JlNiIgdj0iMC4xMDciLz4KKwkJCQkJPHZhbCBvPSIxNmQ5ZjYiIHY9IjAuMTEyIi8+CisJCQkJCTx2YWwgbz0iMTZlODA3IiB2PSIwLjExIi8+CisJCQkJCTx2YWwgbz0iMTZmNjE2IiB2PSIwLjExIi8+CisJCQkJCTx2YWwgbz0iMTcwNDI5IiB2PSIwLjExMSIvPgorCQkJCQk8dmFsIG89IjE3MTIzNiIgdj0iMC4xMTIiLz4KKwkJCQkJPHZhbCBvPSIxNzIwNDciIHY9IjAuMTEyIi8+CisJCQkJCTx2YWwgbz0iMTcyZTU3IiB2PSIwLjExMSIvPgorCQkJCQk8dmFsIG89IjE3M2M2NyIgdj0iMC4xMTEiLz4KKwkJCQkJPHZhbCBvPSIxNzRhNzciIHY9IjAuMTEiLz4KKwkJCQkJPHZhbCBvPSIxNzU4ODciIHY9IjAuMTA4Ii8+CisJCQkJCTx2YWwgbz0iMTc2Njk0IiB2PSIxMTcuODQiLz4KKwkJCQkJPHZhbCBvPSIxNzc0YTMiIHY9IjExOS4xOTkiLz4KKwkJCQkJPHZhbCBvPSIxNzgyYjMiIHY9IjEyMC4yMjYiLz4KKwkJCQkJPHZhbCBvPSIxNzkwYzUiIHY9IjEyMC45MjQiLz4KKwkJCQkJPHZhbCBvPSIxNzllZDQiIHY9IjEyNC4wMzgiLz4KKwkJCQkJPHZhbCBvPSIxN2FjZTQiIHY9IjEyNi43NDciLz4KKwkJCQkJPHZhbCBvPSIxN2JhZmQiIHY9IjEyOC4zNjQiLz4KKwkJCQkJPHZhbCBvPSIxN2M5MGYiIHY9IjEyNi41NSIvPgorCQkJCQk8dmFsIG89IjE3ZDcxZSIgdj0iMTI2LjUyMiIvPgorCQkJCQk8dmFsIG89IjE3ZTUyZiIgdj0iMTI2Ljg5MyIvPgorCQkJCQk8dmFsIG89IjE3ZjMzZiIgdj0iMTI2LjExNCIvPgorCQkJCQk8dmFsIG89IjE4MDE0ZiIgdj0iMTI0LjIxOSIvPgorCQkJCQk8dmFsIG89IjE4MGY1ZiIgdj0iMTIzLjY5MSIvPgorCQkJCQk8dmFsIG89IjE4MWQ2ZSIgdj0iMTI0LjcyMyIvPgorCQkJCQk8dmFsIG89IjE4MmI3ZiIgdj0iMTI0LjY2NyIvPgorCQkJCQk8dmFsIG89IjE4Mzk4ZiIgdj0iMTIzLjY2NiIvPgorCQkJCQk8dmFsIG89IjE4NDdhMSIgdj0iMTIzLjMzNyIvPgorCQkJCQk8dmFsIG89IjE4NTVhZiIgdj0iMTI0LjA0MiIvPgorCQkJCQk8dmFsIG89IjE4NjNjMCIgdj0iMTI1LjkyIi8+CisJCQkJCTx2YWwgbz0iMTg3MWNmIiB2PSIxMjUuMTQ0Ii8+CisJCQkJCTx2YWwgbz0iMTg3ZmUwIiB2PSIxMjQuNzY5Ii8+CisJCQkJCTx2YWwgbz0iMTg4ZGVmIiB2PSIxMjQuNTQ5Ii8+CisJCQkJCTx2YWwgbz0iMTg5YzAwIiB2PSIxMjMuNDgzIi8+CisJCQkJCTx2YWwgbz0iMThiODBkIiB2PSIxMTYuNjMiLz4KKwkJCQkJPHZhbCBvPSIxOGM2MWMiIHY9IjEyMC40NjEiLz4KKwkJCQkJPHZhbCBvPSIxOGQ0MmMiIHY9IjEyMS4yMjgiLz4KKwkJCQkJPHZhbCBvPSIxOGUyM2IiIHY9IjEyMS4xNTQiLz4KKwkJCQkJPHZhbCBvPSIxOGYwNGIiIHY9IjEyMy40MDkiLz4KKwkJCQkJPHZhbCBvPSIxOGZlNWUiIHY9IjEyNS40MDMiLz4KKwkJCQkJPHZhbCBvPSIxOTBjNzYiIHY9IjEyMi43MTYiLz4KKwkJCQkJPHZhbCBvPSIxOTFhODYiIHY9IjEyNC4zODUiLz4KKwkJCQkJPHZhbCBvPSIxOTI4OTYiIHY9IjEyNi4wNDYiLz4KKwkJCQkJPHZhbCBvPSIxOTM2YTYiIHY9IjEyNi4xNjYiLz4KKwkJCQkJPHZhbCBvPSIxOTQ0YjciIHY9IjEyNS4yNiIvPgorCQkJCQk8dmFsIG89IjE5NTJjNiIgdj0iMTIzLjI5Ii8+CisJCQkJCTx2YWwgbz0iMTk2MGQ3IiB2PSIxMjAuNDk5Ii8+CisJCQkJCTx2YWwgbz0iMTk2ZWU2IiB2PSIxMjAuNzA1Ii8+CisJCQkJCTx2YWwgbz0iMTk3Y2Y4IiB2PSIxMjAuNDkyIi8+CisJCQkJCTx2YWwgbz0iMTk4YjBmIiB2PSIxMTkuOTk2Ii8+CisJCQkJCTx2YWwgbz0iMTk5OTFmIiB2PSIxMjAuMjY1Ii8+CisJCQkJCTx2YWwgbz0iMTliNTQxIiB2PSIxMjIuMjMyIi8+CisJCQkJCTx2YWwgbz0iMTljMzRkIiB2PSIxMjEuNDkiLz4KKwkJCQkJPHZhbCBvPSIxOWQxNWUiIHY9IjEyMC43MDQiLz4KKwkJCQkJPHZhbCBvPSIxOWRmODAiIHY9IjEyMC42MTQiLz4KKwkJCQkJPHZhbCBvPSIxOWVkOTAiIHY9IjExOS44MzkiLz4KKwkJCQkJPHZhbCBvPSIxOWVlYmUiIHY9IjExOS42ODUiLz4KKwkJCQkJPHZhbCBvPSIxOWZiOGUiIHY9IjExNS41OTMiLz4KKwkJCQkJPHZhbCBvPSIxYTA5YTAiIHY9IjExOC44NiIvPgorCQkJCQk8dmFsIG89IjFhMTdhZSIgdj0iMTE5Ljk3Ii8+CisJCQkJCTx2YWwgbz0iMWEyNWJlIiB2PSIxMjEuMzY5Ii8+CisJCQkJCTx2YWwgbz0iMWEzM2NkIiB2PSIxMjEuMDk2Ii8+CisJCQkJCTx2YWwgbz0iMWE0MWRkIiB2PSIxMjIuNDUxIi8+CisJCQkJCTx2YWwgbz0iMWE0ZmVkIiB2PSIxMjUuNzY1Ii8+CisJCQkJCTx2YWwgbz0iMWE1ZTA4IiB2PSIxMjYuMzAyIi8+CisJCQkJCTx2YWwgbz0iMWE2YzA1IiB2PSIxMjQuNDk1Ii8+CisJCQkJCTx2YWwgbz0iMWE3YTE1IiB2PSIxMjUuNjU5Ii8+CisJCQkJCTx2YWwgbz0iMWE4ODI2IiB2PSIxMjUuNzczIi8+CisJCQkJCTx2YWwgbz0iMWE5NjM3IiB2PSIxMjQuNDY0Ii8+CisJCQkJCTx2YWwgbz0iMWFhNDQ1IiB2PSIxMjMuMTY3Ii8+CisJCQkJCTx2YWwgbz0iMWFiMjU1IiB2PSIxMjEuMTM3Ii8+CisJCQkJCTx2YWwgbz0iMWFjMDY1IiB2PSIxMjMuNjc3Ii8+CisJCQkJCTx2YWwgbz0iMWFjZTc1IiB2PSIxMjMuNTY5Ii8+CisJCQkJCTx2YWwgbz0iMWFkYzg3IiB2PSIxMjIuMjU0Ii8+CisJCQkJCTx2YWwgbz0iMWFlYTk2IiB2PSIxMjEuNzk0Ii8+CisJCQkJCTx2YWwgbz0iMWFmOGE3IiB2PSIxMjIuMDg4Ii8+CisJCQkJCTx2YWwgbz0iMWIwNmI3IiB2PSIxMjMuODciLz4KKwkJCQkJPHZhbCBvPSIxYjE0YzYiIHY9IjEyMy41NTYiLz4KKwkJCQkJPHZhbCBvPSIxYzc0NjAiIHY9IjExOS42ODIiLz4KKwkJCQkJPHZhbCBvPSIxYzgyNzAiIHY9IjExOS42NzYiLz4KKwkJCQkJPHZhbCBvPSIxYzkwN2UiIHY9IjExOC44MjEiLz4KKwkJCQkJPHZhbCBvPSIxYzllOGYiIHY9IjExOS44MzYiLz4KKwkJCQkJPHZhbCBvPSIxY2FjYTIiIHY9IjEyMS4xOTIiLz4KKwkJCQkJPHZhbCBvPSIxY2JhYjEiIHY9IjEyMS42ODUiLz4KKwkJCQkJPHZhbCBvPSIxY2M4YzEiIHY9IjExNy44NzQiLz4KKwkJCQkJPHZhbCBvPSIxY2Q2ZDAiIHY9IjExOC43NjIiLz4KKwkJCQkJPHZhbCBvPSIxY2U0ZGUiIHY9IjEyMC4yNjMiLz4KKwkJCQkJPHZhbCBvPSIxY2YyZjAiIHY9IjEyMi40NjgiLz4KKwkJCQkJPHZhbCBvPSIxZDAxMDkiIHY9IjEyNC41MzYiLz4KKwkJCQkJPHZhbCBvPSIxZDBmMDYiIHY9IjEyMi41OTgiLz4KKwkJCQkJPHZhbCBvPSIxZDFkMTUiIHY9IjEyMy4yIi8+CisJCQkJCTx2YWwgbz0iMWQyYjI1IiB2PSIxMjMuMjE4Ii8+CisJCQkJCTx2YWwgbz0iMWQzOTM1IiB2PSIxMjIuMjAyIi8+CisJCQkJCTx2YWwgbz0iMWQ0NzQ1IiB2PSIxMjEuNDI0Ii8+CisJCQkJCTx2YWwgbz0iMWQ1NTU1IiB2PSIxMjAuODg4Ii8+CisJCQkJCTx2YWwgbz0iMWQ2MzY2IiB2PSIxMjIuNzQzIi8+CisJCQkJCTx2YWwgbz0iMWQ3MTc1IiB2PSIxMjMuMDc4Ii8+CisJCQkJCTx2YWwgbz0iMWQ3Zjg2IiB2PSIxMjIuMjM3Ii8+CisJCQkJCTx2YWwgbz0iMWQ4ZDk1IiB2PSIxMjAuODU4Ii8+CisJCQkJCTx2YWwgbz0iMWQ5YmE2IiB2PSIxMjEuMjMxIi8+CisJCQkJCTx2YWwgbz0iMWRhOWI2IiB2PSIxMjIuMTg1Ii8+CisJCQkJCTx2YWwgbz0iMWRiN2M3IiB2PSIxMjIuNjQ4Ii8+CisJCQkJCTx2YWwgbz0iMWRjNWQ1IiB2PSIxMjIuOTkyIi8+CisJCQkJCTx2YWwgbz0iMWRkM2U2IiB2PSIxMjIuNDgyIi8+CisJCQkJCTx2YWwgbz0iMWRlMWY1IiB2PSIxMTguNzA3Ii8+CisJCQkJCTx2YWwgbz0iMWRmMDA2IiB2PSIxMTcuMzY3Ii8+CisJCQkJCTx2YWwgbz0iMWRmZTE2IiB2PSIxMTUuNzE0Ii8+CisJCQkJCTx2YWwgbz0iMWUwYzI2IiB2PSIxMTcuNzQiLz4KKwkJCQkJPHZhbCBvPSIxZTFhMzYiIHY9IjExOS4wNDgiLz4KKwkJCQkJPHZhbCBvPSIxZTI4NDciIHY9IjEyMC4xNzkiLz4KKwkJCQkJPHZhbCBvPSIxZTM2NTkiIHY9IjExOS45NDkiLz4KKwkJCQkJPHZhbCBvPSIxZTQ0NjciIHY9IjEyMC45MDYiLz4KKwkJCQkJPHZhbCBvPSIxZTUyODEiIHY9IjExNy4yNTEiLz4KKwkJCQkJPHZhbCBvPSIxZTYwODYiIHY9IjEyMC4xMTgiLz4KKwkJCQkJPHZhbCBvPSIxZTZlOTYiIHY9IjEyMS41MjEiLz4KKwkJCQkJPHZhbCBvPSIxZTdjYTYiIHY9IjEyMi4xODgiLz4KKwkJCQkJPHZhbCBvPSIxZThhYjUiIHY9IjEyMi4yMTIiLz4KKwkJCQkJPHZhbCBvPSIxZTk4YzYiIHY9IjEyMS41MzEiLz4KKwkJCQkJPHZhbCBvPSIxZWE2ZDUiIHY9IjExOS45ODEiLz4KKwkJCQkJPHZhbCBvPSIxZWI0ZTYiIHY9IjExOS45NzciLz4KKwkJCQkJPHZhbCBvPSIxZWMyZjYiIHY9IjEyMi45MzkiLz4KKwkJCQkJPHZhbCBvPSIxZWQxMDYiIHY9IjEyMi4yODkiLz4KKwkJCQkJPHZhbCBvPSIxZWRmMTYiIHY9IjEyMi4wNSIvPgorCQkJCQk8dmFsIG89IjFlZWQyNiIgdj0iMTIyLjI3MSIvPgorCQkJCQk8dmFsIG89IjFlZmIzNiIgdj0iMTIyLjg1NiIvPgorCQkJCQk8dmFsIG89IjFmMDk0NiIgdj0iMTIyLjYxMSIvPgorCQkJCQk8dmFsIG89IjFmMTc1NiIgdj0iMTIxLjE0OCIvPgorCQkJCQk8dmFsIG89IjFmMjU2NiIgdj0iMTIwLjg2NCIvPgorCQkJCQk8dmFsIG89IjFmMzM3NiIgdj0iMTE5LjYwOSIvPgorCQkJCQk8dmFsIG89IjFmNDE4NyIgdj0iMTE2LjEwMSIvPgorCQkJCQk8dmFsIG89IjFmNGY5NiIgdj0iMTE5LjE2NSIvPgorCQkJCQk8dmFsIG89IjFmNWRhNyIgdj0iMTE5LjI4NyIvPgorCQkJCQk8dmFsIG89IjFmNmJiNiIgdj0iMTIwLjIwOCIvPgorCQkJCQk8dmFsIG89IjFmNzljNyIgdj0iMTE4Ljc3NSIvPgorCQkJCQk8dmFsIG89IjFmODdkNiIgdj0iMTIyLjIyMiIvPgorCQkJCQk8dmFsIG89IjFmOTVlNyIgdj0iMTIzLjI4OCIvPgorCQkJCQk8dmFsIG89IjFmYTQwMSIgdj0iMTI2LjAyNiIvPgorCQkJCQk8dmFsIG89IjFmYjIwNCIgdj0iMTI0LjgyOCIvPgorCQkJCQk8dmFsIG89IjFmYzAxNiIgdj0iMTI1Ljc2OSIvPgorCQkJCQk8dmFsIG89IjFmY2UyNSIgdj0iMTI1LjIxOCIvPgorCQkJCQk8dmFsIG89IjFmZGMzNSIgdj0iMTI0Ljc5NSIvPgorCQkJCQk8dmFsIG89IjFmZWE0NSIgdj0iMTIyLjM5MyIvPgorCQkJCQk8dmFsIG89IjFmZjg1NSIgdj0iMTIwLjUyMyIvPgorCQkJCQk8dmFsIG89IjIwMDY2NSIgdj0iMTE3LjMxOSIvPgorCQkJCQk8dmFsIG89IjIwMTQ3NSIgdj0iMTE4Ljc3MiIvPgorCQkJCQk8dmFsIG89IjIwMjI4NiIgdj0iMTE4LjgwOCIvPgorCQkJCQk8dmFsIG89IjIwMzA5NSIgdj0iMTE5LjY4NiIvPgorCQkJCQk8dmFsIG89IjIwM2VhNSIgdj0iMTE5Ljk5Ii8+CisJCQkJCTx2YWwgbz0iMjA0Y2I2IiB2PSIxMjIuNzA4Ii8+CisJCQkJCTx2YWwgbz0iMjA1YWM2IiB2PSIxMjAuNzYyIi8+CisJCQkJCTx2YWwgbz0iMjA2OGQ2IiB2PSIxMTkuOTIiLz4KKwkJCQkJPHZhbCBvPSIyMDc2ZTYiIHY9IjExOS4xMjkiLz4KKwkJCQkJPHZhbCBvPSIyMDg0ZjYiIHY9IjExNy4wOTEiLz4KKwkJCQkJPHZhbCBvPSIyMDkzMDYiIHY9IjEyMS4yMTkiLz4KKwkJCQkJPHZhbCBvPSIyMGExMTYiIHY9IjEyMC4yOCIvPgorCQkJCQk8dmFsIG89IjIwYWYyNiIgdj0iMTE5LjY5Ii8+CisJCQkJCTx2YWwgbz0iMjBiZDM3IiB2PSIxMjAuNjc3Ii8+CisJCQkJCTx2YWwgbz0iMjBjYjQ2IiB2PSIxMTguNzU2Ii8+CisJCQkJCTx2YWwgbz0iMjBkOTU3IiB2PSIxMTkuNjA4Ii8+CisJCQkJCTx2YWwgbz0iMjBlNzY3IiB2PSIxMjEuMDU5Ii8+CisJCQkJCTx2YWwgbz0iMjBmNTgxIiB2PSIxMjMuNTczIi8+CisJCQkJCTx2YWwgbz0iMjEwMzg2IiB2PSIxMjUuOTc2Ii8+CisJCQkJCTx2YWwgbz0iMjExMTk0IiB2PSIxMjMuOTI2Ii8+CisJCQkJCTx2YWwgbz0iMjExZmE1IiB2PSIxMjMuODg4Ii8+CisJCQkJCTx2YWwgbz0iMjEyZGI1IiB2PSIxMjMuMDgiLz4KKwkJCQkJPHZhbCBvPSIyMTNiYzUiIHY9IjEyMS42OSIvPgorCQkJCQk8dmFsIG89IjIxNDlkNiIgdj0iMTE3LjkxNiIvPgorCQkJCQk8dmFsIG89IjIxNTdlNSIgdj0iMTE2LjAxNCIvPgorCQkJCQk8dmFsIG89IjIxNjVmNiIgdj0iMTIxLjkzNSIvPgorCQkJCQk8dmFsIG89IjIxNzQwNiIgdj0iMTE5LjY3NSIvPgorCQkJCQk8dmFsIG89IjIxODIxNyIgdj0iMTE4LjgiLz4KKwkJCQkJPHZhbCBvPSIyMTkwMjYiIHY9IjExOS42NDkiLz4KKwkJCQkJPHZhbCBvPSIyMTllMzkiIHY9IjExOS43MTUiLz4KKwkJCQkJPHZhbCBvPSIyMWFjNDYiIHY9IjExOC42MjIiLz4KKwkJCQkJPHZhbCBvPSIyMWJhNTciIHY9IjExOC40NTkiLz4KKwkJCQkJPHZhbCBvPSIyMWM4NjciIHY9IjExNy4zMzkiLz4KKwkJCQkJPHZhbCBvPSIyMWQ2NzciIHY9IjEyMi4wOTUiLz4KKwkJCQkJPHZhbCBvPSIyMWU0ODciIHY9IjExOS41NTYiLz4KKwkJCQkJPHZhbCBvPSIyMWYyOTYiIHY9IjExOS43NjEiLz4KKwkJCQkJPHZhbCBvPSIyMjAwYTYiIHY9IjEyMC41MyIvPgorCQkJCQk8dmFsIG89IjIyMGViNyIgdj0iMTIxLjQyOCIvPgorCQkJCQk8dmFsIG89IjIyMWNjNiIgdj0iMTE4LjAwMyIvPgorCQkJCQk8dmFsIG89IjIyMmFkNyIgdj0iMTIwLjIyOCIvPgorCQkJCQk8dmFsIG89IjIyMzhlNyIgdj0iMTIzLjMzIi8+CisJCQkJCTx2YWwgbz0iMjI0NzAxIiB2PSIxMjUuODYxIi8+CisJCQkJCTx2YWwgbz0iMjI1NTA1IiB2PSIxMTguNzg4Ii8+CisJCQkJCTx2YWwgbz0iMjI2MzE1IiB2PSIxMTkuMTA2Ii8+CisJCQkJCTx2YWwgbz0iMjI3MTI1IiB2PSIxMTkuMTE2Ii8+CisJCQkJCTx2YWwgbz0iMjI3ZjM1IiB2PSIxMTYuOTA4Ii8+CisJCQkJCTx2YWwgbz0iMjI4ZDQ1IiB2PSIxMTUuNjQyIi8+CisJCQkJCTx2YWwgbz0iMjI5YjU0IiB2PSIxMjIuMDEzIi8+CisJCQkJCTx2YWwgbz0iMjJhOTY1IiB2PSIxMTkuMjM0Ii8+CisJCQkJCTx2YWwgbz0iMjJiNzc2IiB2PSIxMTkuMzEiLz4KKwkJCQkJPHZhbCBvPSIyMmM1ODYiIHY9IjExOC41NjYiLz4KKwkJCQkJPHZhbCBvPSIyMmQzOTciIHY9IjExOC4yNDMiLz4KKwkJCQkJPHZhbCBvPSIyMmUxYTYiIHY9IjExOC41NzkiLz4KKwkJCQkJPHZhbCBvPSIyMmVmYjYiIHY9IjEyMC4yODgiLz4KKwkJCQkJPHZhbCBvPSIyMmZkYzciIHY9IjExOS45OTYiLz4KKwkJCQkJPHZhbCBvPSIyMzBiZDciIHY9IjExOS4yNDkiLz4KKwkJCQkJPHZhbCBvPSIyMzE5ZTYiIHY9IjExOC44NjYiLz4KKwkJCQkJPHZhbCBvPSIyMzI3ZjYiIHY9IjExNy43NDEiLz4KKwkJCQkJPHZhbCBvPSIyMzM2MWIiIHY9IjExOC41NDMiLz4KKwkJCQkJPHZhbCBvPSIyMzQ0MTYiIHY9IjExNy41MzgiLz4KKwkJCQkJPHZhbCBvPSIyMzUyMjYiIHY9IjExOC43MDkiLz4KKwkJCQkJPHZhbCBvPSIyMzYwMzciIHY9IjExOS45NCIvPgorCQkJCQk8dmFsIG89IjIzNmU0NiIgdj0iMTE3LjY2OCIvPgorCQkJCQk8dmFsIG89IjIzN2M1NyIgdj0iMTE5LjE1OSIvPgorCQkJCQk8dmFsIG89IjIzOGE2NiIgdj0iMTIwLjc3MSIvPgorCQkJCQk8dmFsIG89IjIzOTg4MSIgdj0iMTIwLjIzNCIvPgorCQkJCQk8dmFsIG89IjIzYTY4NSIgdj0iMTIxLjYyNCIvPgorCQkJCQk8dmFsIG89IjIzYjQ5NSIgdj0iMTIyLjI3MiIvPgorCQkJCQk8dmFsIG89IjIzYzJhNCIgdj0iMTIyLjQyMiIvPgorCQkJCQk8dmFsIG89IjIzZDBiNSIgdj0iMTIxLjY4NyIvPgorCQkJCQk8dmFsIG89IjIzZGVjNCIgdj0iMTIwLjM2MSIvPgorCQkJCQk8dmFsIG89IjIzZWNkNSIgdj0iMTE4Ljc1MSIvPgorCQkJCQk8dmFsIG89IjIzZmFlNCIgdj0iMTIwLjAyOCIvPgorCQkJCQk8dmFsIG89IjI0MDhmNiIgdj0iMTE3Ljk3NCIvPgorCQkJCQk8dmFsIG89IjI0MTcwNiIgdj0iMTE3LjMwNSIvPgorCQkJCQk8dmFsIG89IjI0MjUxOCIgdj0iMTE3LjcxIi8+CisJCQkJCTx2YWwgbz0iMjQzMzI1IiB2PSIxMTguMTkzIi8+CisJCQkJCTx2YWwgbz0iMjQ0MTM3IiB2PSIxMTkuNTQyIi8+CisJCQkJCTx2YWwgbz0iMjQ0ZjQ2IiB2PSIxMTguNzQxIi8+CisJCQkJCTx2YWwgbz0iMjQ2YjY2IiB2PSIxMTguMjk1Ii8+CisJCQkJCTx2YWwgbz0iMjQ3OTc2IiB2PSIxMTcuNTM0Ii8+CisJCQkJCTx2YWwgbz0iMjQ4Nzg2IiB2PSIxMTQuNDcyIi8+CisJCQkJCTx2YWwgbz0iMjQ5NTdlIiB2PSIxMTcuMzU3Ii8+CisJCQkJCTx2YWwgbz0iMjRhMzhmIiB2PSIxMTguODUxIi8+CisJCQkJCTx2YWwgbz0iMjRiMTljIiB2PSIxMjAuMTM3Ii8+CisJCQkJCTx2YWwgbz0iMjRiZmFjIiB2PSIxMTkuMzQ5Ii8+CisJCQkJCTx2YWwgbz0iMjRjZGJjIiB2PSIxMjMuMjI2Ii8+CisJCQkJCTx2YWwgbz0iMjRkYmNkIiB2PSIxMjIuOTIxIi8+CisJCQkJCTx2YWwgbz0iMjRlOWU1IiB2PSIxMjQuMjczIi8+CisJCQkJCTx2YWwgbz0iMjRmODA4IiB2PSIxMjMuNTE1Ii8+CisJCQkJCTx2YWwgbz0iMjUwNjE2IiB2PSIxMjQuMTgyIi8+CisJCQkJCTx2YWwgbz0iMjUxNDI2IiB2PSIxMjQuMjciLz4KKwkJCQkJPHZhbCBvPSIyNTIyMzYiIHY9IjEyMi44MjciLz4KKwkJCQkJPHZhbCBvPSIyNTMwNDciIHY9IjEyMS44MDEiLz4KKwkJCQkJPHZhbCBvPSIyNTNlNTYiIHY9IjExOS41MTQiLz4KKwkJCQkJPHZhbCBvPSIyNTRjNjciIHY9IjExOC45MjIiLz4KKwkJCQkJPHZhbCBvPSIyNTVhNzYiIHY9IjExOC44NiIvPgorCQkJCQk8dmFsIG89IjI1Njg4NyIgdj0iMTE3LjI2NCIvPgorCQkJCQk8dmFsIG89IjI1NzY5NyIgdj0iMTE4LjAyMiIvPgorCQkJCQk8dmFsIG89IjI1ODRhOCIgdj0iMTE2LjgxOSIvPgorCQkJCQk8dmFsIG89IjI1OTJiNiIgdj0iMTE4LjM4NCIvPgorCQkJCQk8dmFsIG89IjI1YTBjNyIgdj0iMTE5LjI3NiIvPgorCQkJCQk8dmFsIG89IjI1YWVkNyIgdj0iMTE4LjgxIi8+CisJCQkJCTx2YWwgbz0iMjViY2U3IiB2PSIxMTguNjc2Ii8+CisJCQkJCTx2YWwgbz0iMjVjYWY4IiB2PSIxMTguMTA4Ii8+CisJCQkJCTx2YWwgbz0iMjVkOTA3IiB2PSIxMTkuNjI1Ii8+CisJCQkJCTx2YWwgbz0iMjVlNzE4IiB2PSIxMTkuMDQyIi8+CisJCQkJCTx2YWwgbz0iMjVmNTI3IiB2PSIxMTkuNjM4Ii8+CisJCQkJCTx2YWwgbz0iMjYwMzM4IiB2PSIxMjAuMzU1Ii8+CisJCQkJCTx2YWwgbz0iMjYxMTQ5IiB2PSIxMTguNzI4Ii8+CisJCQkJCTx2YWwgbz0iMjYxZjU5IiB2PSIxMTkuNzc3Ii8+CisJCQkJCTx2YWwgbz0iMjYyZDY4IiB2PSIxMjIuNjIxIi8+CisJCQkJCTx2YWwgbz0iMjYzYjgzIiB2PSIxMjAuNDk0Ii8+CisJCQkJCTx2YWwgbz0iMjY0OTg2IiB2PSIxMjIuMzM1Ii8+CisJCQkJCTx2YWwgbz0iMjY1Nzk1IiB2PSIxMjMuMDAxIi8+CisJCQkJCTx2YWwgbz0iMjY2NWE2IiB2PSIxMjMuODI3Ii8+CisJCQkJCTx2YWwgbz0iMjY3M2I1IiB2PSIxMjIuOTM5Ii8+CisJCQkJCTx2YWwgbz0iMjY4MWM2IiB2PSIxMjIuMzk4Ii8+CisJCQkJCTx2YWwgbz0iMjY4ZmQ1IiB2PSIxMjEuMjEyIi8+CisJCQkJCTx2YWwgbz0iMjY5ZGU2IiB2PSIxMjAuODQ0Ii8+CisJCQkJCTx2YWwgbz0iMjZhYmY2IiB2PSIxMjAuMDU0Ii8+CisJCQkJCTx2YWwgbz0iMjZiYTA2IiB2PSIxMTguMjk3Ii8+CisJCQkJCTx2YWwgbz0iMjZjODE3IiB2PSIxMTcuNzk1Ii8+CisJCQkJCTx2YWwgbz0iMjZkNjJiIiB2PSIxMTcuOTk2Ii8+CisJCQkJCTx2YWwgbz0iMjZlNDM2IiB2PSIxMTkuMjg3Ii8+CisJCQkJCTx2YWwgbz0iMjZmMjQ3IiB2PSIxMTguODE1Ii8+CisJCQkJCTx2YWwgbz0iMjcwMDU3IiB2PSIxMTguOTU1Ii8+CisJCQkJCTx2YWwgbz0iMjcwZTY3IiB2PSIxMTguNDQ5Ii8+CisJCQkJCTx2YWwgbz0iMjcxYzc3IiB2PSIxMTkuMTU3Ii8+CisJCQkJCTx2YWwgbz0iMjcyYTg3IiB2PSIxMjAuMTI0Ii8+CisJCQkJCTx2YWwgbz0iMjczODk3IiB2PSIxMTkuODU4Ii8+CisJCQkJCTx2YWwgbz0iMjc0NmE4IiB2PSIxMjAuNjY4Ii8+CisJCQkJCTx2YWwgbz0iMjc1NGI5IiB2PSIxMjEuMDY3Ii8+CisJCQkJCTx2YWwgbz0iMjc2MmM3IiB2PSIxMTguMjY1Ii8+CisJCQkJCTx2YWwgbz0iMjc3MGQ4IiB2PSIxMjAuMzA4Ii8+CisJCQkJCTx2YWwgbz0iMjc3ZWU3IiB2PSIxMjIuODUxIi8+CisJCQkJPC9wYXI+CisJCQkJPHBhciBtZW1pbmQ9IjQ0MDYwMCIgaD0iM2RjMWE4ZGUiPgorCQkJCQk8dmFsIG89IjAiIHY9Ii0xMjc1Ii8+CisJCQkJCTx2YWwgbz0iZTA4IiB2PSItMTQ4MiIvPgorCQkJCQk8dmFsIG89IjFjMzIiIHY9Ii0xNTYyIi8+CisJCQkJCTx2YWwgbz0iMmEzYyIgdj0iLTE2NDMiLz4KKwkJCQkJPHZhbCBvPSIzODM1IiB2PSItMTQ0NiIvPgorCQkJCQk8dmFsIG89IjQ2NDUiIHY9Ii0xMjc2Ii8+CisJCQkJCTx2YWwgbz0iNTQ1NSIgdj0iLTEwNDkiLz4KKwkJCQkJPHZhbCBvPSI2MjY1IiB2PSItMTY5NCIvPgorCQkJCQk8dmFsIG89IjcwNzUiIHY9Ii0xNzYwIi8+CisJCQkJCTx2YWwgbz0iN2U4NSIgdj0iLTE2NjIiLz4KKwkJCQkJPHZhbCBvPSI4Yzk2IiB2PSItMjA2NyIvPgorCQkJCQk8dmFsIG89IjlhYTUiIHY9Ii0xOTkyIi8+CisJCQkJCTx2YWwgbz0iYThiNiIgdj0iLTE5MjgiLz4KKwkJCQkJPHZhbCBvPSJiNmM1IiB2PSItMjAxOCIvPgorCQkJCQk8dmFsIG89ImM0ZDciIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iZDMwYiIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSJlMGY2IiB2PSItNyIvPgorCQkJCQk8dmFsIG89ImVmMDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJmZDE3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTBiMjciIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iMTE5MzciIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iMTI3NDYiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iMTM1NTYiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iMTQzNjYiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iMTUxODEiIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iMTVmODUiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iMTZkOTUiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iMTdiYTQiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iMTg5YjUiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iMTk3YzQiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iMWE1ZDUiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iMWIzZTYiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iMWMxZjYiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iMWQwMDUiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iMWRlMTUiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iMWVjMjUiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iMWZhMzYiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iMjA4NDUiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iMjE2NTYiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iMjI0NjUiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iMjMyNzYiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iMjQwODYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNGU5OSIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSIyNWNhNyIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSIyNmFiNyIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSIyNzhjNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI4NmQ2IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjI5NGU2IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjJhMzAxIiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjJiMTA1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMmJmMTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyY2QyNSIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSIyZGIzNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjJlOTQ2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMmY3NTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIzMDU2NiIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSIzMTM3NSIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSIzMjE5ZSIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSIzMmY5NiIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSIzM2RhNiIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSIzNGJiNiIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSIzNTlkZSIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSIzNjdkNiIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSIzNzVlNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjM4NDBlIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMzkyMWUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIzYTAxNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjNhZTI3IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjNiYzM2IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjNjYTQ3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iM2Q4NTYiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iM2U2NjciIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iM2Y0ODEiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iNDAyODUiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iNDEwOTUiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iNDFlYTUiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iNDJjYjUiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iNDNhYzUiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iNDQ4ZDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI0NTZlNiIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI0NjRmNSIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI0ODBmZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjQ4ZjBlIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNDlkMWQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI0YWI0NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjRiOTU1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNGM3NjkiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI0ZDU3NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjRlMzg3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNGYxOTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI0ZmZhNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjUwZGQwIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNTFiYzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI1MjlkNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjUzN2U3IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjU0NjAwIiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjU1NDA2IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjU2MjE1IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjU3MDI2IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjU3ZTM2IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjU4YzQ2IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjU5YTcwIiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjVhODY3IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjViNjc2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNWM0ODciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI1ZDI5NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjVlMGE5IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjVlZWI4IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjVmY2M2IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjYwYWQ3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNjE4ZTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI2MjZmNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjYzNTA3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNjQzMTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI2NTEyNyIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI2NWYzNyIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI2NmQ0NiIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI2N2I1NyIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI2ODk2NyIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI2OTc4MiIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI2YTU4NiIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI2YjM5NSIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI2YzFhNiIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI2Y2ZiNSIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI2ZGRjNiIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI2ZWJkNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjZmOWU2IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjcwN2Y2IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjcxNjA3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNzI0MTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI3MzIyNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89Ijc0MDM3IiB2PSItNyIvPgorCQkJCQk8dmFsIG89Ijc0ZTQ3IiB2PSItNyIvPgorCQkJCQk8dmFsIG89Ijc1YzU3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNzZhNjMiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI3Nzg3MyIgdj0iMCIvPgorCQkJCQk8dmFsIG89Ijc4NjgwIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNzk0OGYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI3YTI5ZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjdiMGFmIiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjdiZWJmIiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjdjY2NmIiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjdkYWRmIiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjdlOGZhIiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjdmNzBhIiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjgwNTFhIiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjgxMzJhIiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjgyMTNhIiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjgyZjRhIiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjgzZDVhIiB2PSItNyIvPgorCQkJCQk8dmFsIG89Ijg0YjZhIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iODU5N2EiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI4Njc4YiIgdj0iMCIvPgorCQkJCQk8dmFsIG89Ijg3NTliIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iODgzYWMiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iODkxYmIiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iODlmY2EiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iOGFkZGEiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI4YmJlYiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjhjOWZjIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iOGQ4MGIiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI4ZTYxYSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjhmNDJhIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iOTAyM2EiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI5MTA0YSIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI5MWU1YSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjkyYzZhIiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjkzYTg0IiB2PSItNyIvPgorCQkJCQk8dmFsIG89Ijk0ODg1IiB2PSItNyIvPgorCQkJCQk8dmFsIG89Ijk1Njk0IiB2PSItNyIvPgorCQkJCQk8dmFsIG89Ijk2NGE1IiB2PSItNyIvPgorCQkJCQk8dmFsIG89Ijk3MmI0IiB2PSItNyIvPgorCQkJCQk8dmFsIG89Ijk4MGM1IiB2PSItNyIvPgorCQkJCQk8dmFsIG89Ijk4ZWQ0IiB2PSItNyIvPgorCQkJCQk8dmFsIG89Ijk5Y2U1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iOWFhZjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI5YjkwNiIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI5YzcxNiIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI5ZDUyNiIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI5ZTMzNiIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI5ZjE0NSIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI5ZmY1NiIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSJhMGQ2NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImExYjc3IiB2PSItMTg0NSIvPgorCQkJCQk8dmFsIG89ImEyOTg2IiB2PSItNjMxIi8+CisJCQkJCTx2YWwgbz0iYTM3OTUiIHY9IjE1NjQiLz4KKwkJCQkJPHZhbCBvPSJhNDVhNyIgdj0iLTY2Ii8+CisJCQkJCTx2YWwgbz0iYTUzYjYiIHY9Ii0zOTMiLz4KKwkJCQkJPHZhbCBvPSJhNjFjNyIgdj0iLTY5MSIvPgorCQkJCQk8dmFsIG89ImE2ZmQ2IiB2PSItODgzIi8+CisJCQkJCTx2YWwgbz0iYTdlMDAiIHY9Ii0xNTc1Ii8+CisJCQkJCTx2YWwgbz0iYThjMDAiIHY9Ii0yMjA5Ii8+CisJCQkJCTx2YWwgbz0iYTlhMDUiIHY9IjEwOSIvPgorCQkJCQk8dmFsIG89ImFhODE1IiB2PSItNDIwIi8+CisJCQkJCTx2YWwgbz0iYWI2MjUiIHY9Ii04NTkiLz4KKwkJCQkJPHZhbCBvPSJhYzQzNSIgdj0iLTYyOCIvPgorCQkJCQk8dmFsIG89ImFkMjQ1IiB2PSI1MTYiLz4KKwkJCQkJPHZhbCBvPSJhZTA1NSIgdj0iMTgzOSIvPgorCQkJCQk8dmFsIG89ImFlZTY1IiB2PSIyOTMiLz4KKwkJCQkJPHZhbCBvPSJhZmM3NSIgdj0iMTE4NSIvPgorCQkJCQk8dmFsIG89ImIwYTg1IiB2PSIzOTQ2Ii8+CisJCQkJCTx2YWwgbz0iYjI2YTYiIHY9IjQyMzAiLz4KKwkJCQkJPHZhbCBvPSJiMzRiNiIgdj0iMzY4OSIvPgorCQkJCQk8dmFsIG89ImI0MmM2IiB2PSIyNDgiLz4KKwkJCQkJPHZhbCBvPSJiNTBkNiIgdj0iNDMwIi8+CisJCQkJCTx2YWwgbz0iYjVlZTciIHY9IjEwMjYiLz4KKwkJCQkJPHZhbCBvPSJiNmNmNiIgdj0iLTUyNiIvPgorCQkJCQk8dmFsIG89ImI3YjA3IiB2PSItMjU4Ii8+CisJCQkJCTx2YWwgbz0iYjg5MTciIHY9Ii02NSIvPgorCQkJCQk8dmFsIG89ImI5NzI4IiB2PSItNDg5Ii8+CisJCQkJCTx2YWwgbz0iYmE1MzciIHY9Ii04NDIiLz4KKwkJCQkJPHZhbCBvPSJiYjM0NyIgdj0iMTA4MiIvPgorCQkJCQk8dmFsIG89ImJjMTU3IiB2PSIzMTAiLz4KKwkJCQkJPHZhbCBvPSJiY2Y2NyIgdj0iLTExMTIiLz4KKwkJCQkJPHZhbCBvPSJiZGQ4MSIgdj0iMzYzMiIvPgorCQkJCQk8dmFsIG89ImJlYjg2IiB2PSI1MTMiLz4KKwkJCQkJPHZhbCBvPSJiZjk5NSIgdj0iMjE0Ii8+CisJCQkJCTx2YWwgbz0iYzA3YTYiIHY9Ii0yOTIiLz4KKwkJCQkJPHZhbCBvPSJjMTViNSIgdj0iLTEyNyIvPgorCQkJCQk8dmFsIG89ImMyM2M2IiB2PSI0OTUiLz4KKwkJCQkJPHZhbCBvPSJjMzFkNSIgdj0iMTgxNSIvPgorCQkJCQk8dmFsIG89ImMzZmU2IiB2PSI4MTgiLz4KKwkJCQkJPHZhbCBvPSJjNGRmNSIgdj0iMTUzOSIvPgorCQkJCQk8dmFsIG89ImM1YzA2IiB2PSI2ODAiLz4KKwkJCQkJPHZhbCBvPSJjNmExNiIgdj0iNzEyIi8+CisJCQkJCTx2YWwgbz0iYzc4MjYiIHY9IjEyODAiLz4KKwkJCQkJPHZhbCBvPSJjODYzNiIgdj0iMzk3Ii8+CisJCQkJCTx2YWwgbz0iYzk0NDYiIHY9IjQ5MyIvPgorCQkJCQk8dmFsIG89ImNhMjU2IiB2PSIyNTAiLz4KKwkJCQkJPHZhbCBvPSJjYjA2NiIgdj0iNzg1Ii8+CisJCQkJCTx2YWwgbz0iY2JlNzYiIHY9Ii0yMDEiLz4KKwkJCQkJPHZhbCBvPSJjY2M4NyIgdj0iMjE1NiIvPgorCQkJCQk8dmFsIG89ImNkYTk2IiB2PSIyOTM3Ii8+CisJCQkJCTx2YWwgbz0iY2U4YTgiIHY9IjIxMDciLz4KKwkJCQkJPHZhbCBvPSJjZjZiNyIgdj0iMjgyNCIvPgorCQkJCQk8dmFsIG89ImQwNGM4IiB2PSIyMjY5Ii8+CisJCQkJCTx2YWwgbz0iZDEyZDciIHY9IjE0NDEiLz4KKwkJCQkJPHZhbCBvPSJkMjBlNyIgdj0iLTI5NyIvPgorCQkJCQk8dmFsIG89ImQyZjAyIiB2PSItMjI4MCIvPgorCQkJCQk8dmFsIG89ImQzZDA1IiB2PSItMTE4OSIvPgorCQkJCQk8dmFsIG89ImQ0YjE1IiB2PSItOTY0Ii8+CisJCQkJCTx2YWwgbz0iZDU5MjYiIHY9Ii00NDIiLz4KKwkJCQkJPHZhbCBvPSJkNjczNSIgdj0iMjYxIi8+CisJCQkJCTx2YWwgbz0iZDc1NDYiIHY9IjEzMDkiLz4KKwkJCQkJPHZhbCBvPSJkODM1NSIgdj0iLTg0OSIvPgorCQkJCQk8dmFsIG89ImQ5MTY2IiB2PSIxNzgiLz4KKwkJCQkJPHZhbCBvPSJkOWY3NSIgdj0iMTExMSIvPgorCQkJCQk8dmFsIG89ImRhZDg3IiB2PSIyNzUwIi8+CisJCQkJCTx2YWwgbz0iZGJiOTciIHY9IjI3NjkiLz4KKwkJCQkJPHZhbCBvPSJkYzlhOCIgdj0iMjk3MyIvPgorCQkJCQk8dmFsIG89ImRkN2I3IiB2PSIxMzI3Ii8+CisJCQkJCTx2YWwgbz0iZGU1YzYiIHY9IjQ1NCIvPgorCQkJCQk8dmFsIG89ImRmM2Q3IiB2PSIxOTkiLz4KKwkJCQkJPHZhbCBvPSJlMDFkNyIgdj0iMTY3Ii8+CisJCQkJCTx2YWwgbz0iZTBmZTUiIHY9IjU1NiIvPgorCQkJCQk8dmFsIG89ImUxZGY1IiB2PSI0MTYiLz4KKwkJCQkJPHZhbCBvPSJlMmMwNCIgdj0iLTM3MCIvPgorCQkJCQk8dmFsIG89ImUzYTE0IiB2PSItMTE1NCIvPgorCQkJCQk8dmFsIG89ImU0ODI0IiB2PSI5MyIvPgorCQkJCQk8dmFsIG89ImU1NjM0IiB2PSItODQzIi8+CisJCQkJCTx2YWwgbz0iZTY0NDQiIHY9IjE3MSIvPgorCQkJCQk8dmFsIG89ImU3MjU1IiB2PSItNjQ2Ii8+CisJCQkJCTx2YWwgbz0iZTgwNmYiIHY9Ii03MjMiLz4KKwkJCQkJPHZhbCBvPSJlOGU3ZiIgdj0iMjY2NSIvPgorCQkJCQk8dmFsIG89ImU5YzhlIiB2PSI4MzciLz4KKwkJCQkJPHZhbCBvPSJlYWE5ZiIgdj0iNjk4Ii8+CisJCQkJCTx2YWwgbz0iZWI4YWUiIHY9IjEwOTciLz4KKwkJCQkJPHZhbCBvPSJlYzZiZiIgdj0iMjY0OSIvPgorCQkJCQk8dmFsIG89ImVkNGNlIiB2PSItNDk1Ii8+CisJCQkJCTx2YWwgbz0iZWUyZGYiIHY9IjExNjUiLz4KKwkJCQkJPHZhbCBvPSJlZjBlZiIgdj0iNTQyIi8+CisJCQkJCTx2YWwgbz0iZWZmMDEiIHY9IjE4NzEiLz4KKwkJCQkJPHZhbCBvPSJmMGQxMCIgdj0iOTc5Ii8+CisJCQkJCTx2YWwgbz0iZjFiMjAiIHY9IjEyMTAiLz4KKwkJCQkJPHZhbCBvPSJmMjkzMCIgdj0iLTM1NiIvPgorCQkJCQk8dmFsIG89ImYzNzQwIiB2PSIxNjU0Ii8+CisJCQkJCTx2YWwgbz0iZjQ1NTEiIHY9IjEzNjgiLz4KKwkJCQkJPHZhbCBvPSJmNTM2MSIgdj0iMTQ2MiIvPgorCQkJCQk8dmFsIG89ImY2MTcyIiB2PSIxNjEyIi8+CisJCQkJCTx2YWwgbz0iZjZmODAiIHY9IjEzMDkiLz4KKwkJCQkJPHZhbCBvPSJmN2Q5MSIgdj0iMTg4NiIvPgorCQkJCQk8dmFsIG89ImY4YmExIiB2PSIxMTM2Ii8+CisJCQkJCTx2YWwgbz0iZjk5YjEiIHY9IjExNjkiLz4KKwkJCQkJPHZhbCBvPSJmYTdjMCIgdj0iMTQwMyIvPgorCQkJCQk8dmFsIG89ImZiNWQxIiB2PSIxMzE2Ii8+CisJCQkJCTx2YWwgbz0iZmMzZTAiIHY9Ii0xMDQxIi8+CisJCQkJCTx2YWwgbz0iZmQxZmIiIHY9Ii0xMTkwIi8+CisJCQkJCTx2YWwgbz0iZmUwMGIiIHY9Ii0xNjA5Ii8+CisJCQkJCTx2YWwgbz0iZmVlMWMiIHY9Ii0xOTkiLz4KKwkJCQkJPHZhbCBvPSJmZmMyYyIgdj0iLTI1MiIvPgorCQkJCQk8dmFsIG89IjEwMGEzYiIgdj0iNTg1Ii8+CisJCQkJCTx2YWwgbz0iMTAxODRjIiB2PSIxMDY5Ii8+CisJCQkJCTx2YWwgbz0iMTAyNjViIiB2PSIxOTczIi8+CisJCQkJCTx2YWwgbz0iMTAzNDZjIiB2PSIxODMxIi8+CisJCQkJCTx2YWwgbz0iMTA0MjdiIiB2PSIxMTI3Ii8+CisJCQkJCTx2YWwgbz0iMTA1MDhkIiB2PSIxNzY3Ii8+CisJCQkJCTx2YWwgbz0iMTA1ZTlkIiB2PSIxMzQzIi8+CisJCQkJCTx2YWwgbz0iMTA2Y2FkIiB2PSIxNTY0Ii8+CisJCQkJCTx2YWwgbz0iMTA3YWJkIiB2PSI4NDkiLz4KKwkJCQkJPHZhbCBvPSIxMDg4Y2QiIHY9IjgwNSIvPgorCQkJCQk8dmFsIG89IjEwOTZkZSIgdj0iMTA5MyIvPgorCQkJCQk8dmFsIG89IjEwYTRlZCIgdj0iODgwIi8+CisJCQkJCTx2YWwgbz0iMTBiMmZlIiB2PSIxMjU0Ii8+CisJCQkJCTx2YWwgbz0iMTBjMTBkIiB2PSIyNjY0Ii8+CisJCQkJCTx2YWwgbz0iMTBjZjFlIiB2PSIxMzY4Ii8+CisJCQkJCTx2YWwgbz0iMTBkZDJlIiB2PSIxMDA5Ii8+CisJCQkJCTx2YWwgbz0iMTBlYjY2IiB2PSIyMDgiLz4KKwkJCQkJPHZhbCBvPSIxMGY5NGUiIHY9IjIyIi8+CisJCQkJCTx2YWwgbz0iMTEwNzVlIiB2PSIxMTQyIi8+CisJCQkJCTx2YWwgbz0iMTExNTZkIiB2PSIyODYiLz4KKwkJCQkJPHZhbCBvPSIxMTIzODgiIHY9Ii0xMTY4Ii8+CisJCQkJCTx2YWwgbz0iMTEzMTg3IiB2PSI3MTIiLz4KKwkJCQkJPHZhbCBvPSIxMTNmYjAiIHY9IjIyNyIvPgorCQkJCQk8dmFsIG89IjExNGRhNiIgdj0iMjM2Ii8+CisJCQkJCTx2YWwgbz0iMTE1YmI2IiB2PSIzNzIiLz4KKwkJCQkJPHZhbCBvPSIxMTY5YzYiIHY9IjE0NDEiLz4KKwkJCQkJPHZhbCBvPSIxMTc3ZDYiIHY9IjIwMTUiLz4KKwkJCQkJPHZhbCBvPSIxMTg1ZTgiIHY9IjEyMTEiLz4KKwkJCQkJPHZhbCBvPSIxMTkzZjciIHY9IjEyODQiLz4KKwkJCQkJPHZhbCBvPSIxMWEyMDgiIHY9IjM2OSIvPgorCQkJCQk8dmFsIG89IjExYjAxNyIgdj0iLTMxMCIvPgorCQkJCQk8dmFsIG89IjExYmUyZiIgdj0iLTgwMiIvPgorCQkJCQk8dmFsIG89IjExY2MzNyIgdj0iNzgxIi8+CisJCQkJCTx2YWwgbz0iMTFkYTQ3IiB2PSI0OTEiLz4KKwkJCQkJPHZhbCBvPSIxMWU4NTciIHY9IjEwMjMiLz4KKwkJCQkJPHZhbCBvPSIxMWY2NjciIHY9IjUxNiIvPgorCQkJCQk8dmFsIG89IjEyMDU3OCIgdj0iMSIvPgorCQkJCQk8dmFsIG89IjEyMTM4NiIgdj0iMSIvPgorCQkJCQk8dmFsIG89IjEyMjE5NiIgdj0iMiIvPgorCQkJCQk8dmFsIG89IjEyMmZhNiIgdj0iMSIvPgorCQkJCQk8dmFsIG89IjEyM2RiNSIgdj0iMSIvPgorCQkJCQk8dmFsIG89IjEyNGJjNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEyNTlkNSIgdj0iMSIvPgorCQkJCQk8dmFsIG89IjEyNjdlNCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEyNzYwMCIgdj0iLTEiLz4KKwkJCQkJPHZhbCBvPSIxMjgzMDUiIHY9Ii0xIi8+CisJCQkJCTx2YWwgbz0iMTI5MTE1IiB2PSItMSIvPgorCQkJCQk8dmFsIG89IjEyOWYyNSIgdj0iLTEiLz4KKwkJCQkJPHZhbCBvPSIxMmFkMzUiIHY9Ii0xIi8+CisJCQkJCTx2YWwgbz0iMTJiYjQ1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTJjOTU0IiB2PSIxIi8+CisJCQkJCTx2YWwgbz0iMTJkNzY2IiB2PSIxIi8+CisJCQkJCTx2YWwgbz0iMTJlNTc1IiB2PSIyIi8+CisJCQkJCTx2YWwgbz0iMTJmMzg2IiB2PSIxIi8+CisJCQkJCTx2YWwgbz0iMTMwMTk2IiB2PSIxIi8+CisJCQkJCTx2YWwgbz0iMTMwZmE2IiB2PSIxIi8+CisJCQkJCTx2YWwgbz0iMTMxZGI3IiB2PSIxIi8+CisJCQkJCTx2YWwgbz0iMTMyYmM1IiB2PSIxIi8+CisJCQkJCTx2YWwgbz0iMTMzOWQ0IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTM0N2U1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTM1NWY0IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTM2NDA0IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTM3MjE0IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTM4MDI0IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTM4ZTMzIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTM5YzQ0IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTNhYTU0IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTNiODY1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTNjNjdlIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTNkNDhlIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTNlMjllIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTNmMGFlIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTNmZWJmIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTQwY2NmIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTQxYWRmIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTQyOGVmIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTQzNmZmIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTQ0NTBmIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTQ1MzFmIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTQ2MTMwIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTQ2ZjQwIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTQ3ZDQ0IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTQ4YjU3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTQ5OTY1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTRhNzc1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTRiNTg0IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTRjMzk3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTRkMWE0IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTRkZmI2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTRlZGM1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTRmYmQ1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTUwOWU1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTUxN2ZmIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTUyNjA1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTUzNDE1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTU0MjI1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTU1MDM1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTU1ZTQ1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTU2YzU1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTU3YTY1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTU4ODc1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTU5Njg2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTVhNDk1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTViMmE2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTVjMGI2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTVjZWM2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTVkY2Q1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTVlYWU2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTVmOGY1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTYwNzA2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTYxNTE3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTYyMzI2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTYzMTM3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTYzZjQ2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTY0ZDU3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTY1YjY3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTY2OTgyIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTY3Nzg2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTY4NTk2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTY5M2E2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTZhMWI1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTZhZmM2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTZiZGQ1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTZjYmU2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTZkOWY2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTZlODA3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTZmNjE2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTcwNDI5IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTcxMjM2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTcyMDQ3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTcyZTU3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTczYzY3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTc0YTc3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTc1ODg3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTc2Njk0IiB2PSIyMjc0Ii8+CisJCQkJCTx2YWwgbz0iMTc3NGEzIiB2PSIxNzc1Ii8+CisJCQkJCTx2YWwgbz0iMTc4MmIzIiB2PSIxMTUzIi8+CisJCQkJCTx2YWwgbz0iMTc5MGM1IiB2PSI3NjkiLz4KKwkJCQkJPHZhbCBvPSIxNzllZDQiIHY9Ii04NDYiLz4KKwkJCQkJPHZhbCBvPSIxN2FjZTQiIHY9Ii0yMzYyIi8+CisJCQkJCTx2YWwgbz0iMTdiYWZkIiB2PSItMjk2MSIvPgorCQkJCQk8dmFsIG89IjE3YzkwZiIgdj0iLTI1MTkiLz4KKwkJCQkJPHZhbCBvPSIxN2Q3MWUiIHY9Ii0yNDQ3Ii8+CisJCQkJCTx2YWwgbz0iMTdlNTJmIiB2PSItMjg2NSIvPgorCQkJCQk8dmFsIG89IjE3ZjMzZiIgdj0iLTIyNzYiLz4KKwkJCQkJPHZhbCBvPSIxODAxNGYiIHY9Ii0xMjUwIi8+CisJCQkJCTx2YWwgbz0iMTgwZjVmIiB2PSItNzE2Ii8+CisJCQkJCTx2YWwgbz0iMTgxZDZlIiB2PSItMTQ4OSIvPgorCQkJCQk8dmFsIG89IjE4MmI3ZiIgdj0iLTIwMDQiLz4KKwkJCQkJPHZhbCBvPSIxODM5OGYiIHY9Ii0xMDU1Ii8+CisJCQkJCTx2YWwgbz0iMTg0N2ExIiB2PSItOTc4Ii8+CisJCQkJCTx2YWwgbz0iMTg1NWFmIiB2PSItMTI2OSIvPgorCQkJCQk8dmFsIG89IjE4NjNjMCIgdj0iLTMxNzAiLz4KKwkJCQkJPHZhbCBvPSIxODcxY2YiIHY9Ii0yNjY4Ii8+CisJCQkJCTx2YWwgbz0iMTg3ZmUwIiB2PSItMjU0MCIvPgorCQkJCQk8dmFsIG89IjE4OGRlZiIgdj0iLTIzNzciLz4KKwkJCQkJPHZhbCBvPSIxODljMDAiIHY9Ii0xMTI2Ii8+CisJCQkJCTx2YWwgbz0iMThiODBkIiB2PSIxMjE5Ii8+CisJCQkJCTx2YWwgbz0iMThjNjFjIiB2PSItMTA2MSIvPgorCQkJCQk8dmFsIG89IjE4ZDQyYyIgdj0iLTE1MTkiLz4KKwkJCQkJPHZhbCBvPSIxOGUyM2IiIHY9Ii0xMjg0Ii8+CisJCQkJCTx2YWwgbz0iMThmMDRiIiB2PSItMTkwMiIvPgorCQkJCQk8dmFsIG89IjE4ZmU1ZSIgdj0iLTE2MjMiLz4KKwkJCQkJPHZhbCBvPSIxOTBjNzYiIHY9Ii03NzgiLz4KKwkJCQkJPHZhbCBvPSIxOTFhODYiIHY9Ii0xNzMwIi8+CisJCQkJCTx2YWwgbz0iMTkyODk2IiB2PSItMTc0NSIvPgorCQkJCQk8dmFsIG89IjE5MzZhNiIgdj0iLTE4NzIiLz4KKwkJCQkJPHZhbCBvPSIxOTQ0YjciIHY9Ii0xMjA3Ii8+CisJCQkJCTx2YWwgbz0iMTk1MmM2IiB2PSItMjExIi8+CisJCQkJCTx2YWwgbz0iMTk2MGQ3IiB2PSIxNjE5Ii8+CisJCQkJCTx2YWwgbz0iMTk2ZWU2IiB2PSItNzY0Ii8+CisJCQkJCTx2YWwgbz0iMTk3Y2Y4IiB2PSItODI3Ii8+CisJCQkJCTx2YWwgbz0iMTk4YjBmIiB2PSI0MCIvPgorCQkJCQk8dmFsIG89IjE5OTkxZiIgdj0iLTE5OSIvPgorCQkJCQk8dmFsIG89IjE5YjU0MSIgdj0iLTk2NyIvPgorCQkJCQk8dmFsIG89IjE5YzM0ZCIgdj0iLTY4MCIvPgorCQkJCQk8dmFsIG89IjE5ZDE1ZSIgdj0iLTM4NSIvPgorCQkJCQk8dmFsIG89IjE5ZGY4MCIgdj0iLTI0MSIvPgorCQkJCQk8dmFsIG89IjE5ZWQ5MCIgdj0iMzcxIi8+CisJCQkJCTx2YWwgbz0iMTllZWJlIiB2PSI0NzEiLz4KKwkJCQkJPHZhbCBvPSIxOWZiOGUiIHY9IjYxIi8+CisJCQkJCTx2YWwgbz0iMWEwOWEwIiB2PSItMjQ0MCIvPgorCQkJCQk8dmFsIG89IjFhMTdhZSIgdj0iLTM0NDciLz4KKwkJCQkJPHZhbCBvPSIxYTI1YmUiIHY9Ii0zODYyIi8+CisJCQkJCTx2YWwgbz0iMWEzM2NkIiB2PSItMTY1NyIvPgorCQkJCQk8dmFsIG89IjFhNDFkZCIgdj0iLTIyNzMiLz4KKwkJCQkJPHZhbCBvPSIxYTRmZWQiIHY9Ii00MTMyIi8+CisJCQkJCTx2YWwgbz0iMWE1ZTA4IiB2PSItMzczNSIvPgorCQkJCQk8dmFsIG89IjFhNmMwNSIgdj0iLTI2NTUiLz4KKwkJCQkJPHZhbCBvPSIxYTdhMTUiIHY9Ii0zMjg2Ii8+CisJCQkJCTx2YWwgbz0iMWE4ODI2IiB2PSItMzM3NyIvPgorCQkJCQk8dmFsIG89IjFhOTYzNyIgdj0iLTI3MDciLz4KKwkJCQkJPHZhbCBvPSIxYWE0NDUiIHY9Ii0xOTgwIi8+CisJCQkJCTx2YWwgbz0iMWFiMjU1IiB2PSItNzk3Ii8+CisJCQkJCTx2YWwgbz0iMWFjMDY1IiB2PSItMjA0NiIvPgorCQkJCQk8dmFsIG89IjFhY2U3NSIgdj0iLTI3OTMiLz4KKwkJCQkJPHZhbCBvPSIxYWRjODciIHY9Ii0xOTM5Ii8+CisJCQkJCTx2YWwgbz0iMWFlYTk2IiB2PSItMjA5MiIvPgorCQkJCQk8dmFsIG89IjFhZjhhNyIgdj0iLTIyMTEiLz4KKwkJCQkJPHZhbCBvPSIxYjA2YjciIHY9Ii0yNjc5Ii8+CisJCQkJCTx2YWwgbz0iMWIxNGM2IiB2PSItMjUzMCIvPgorCQkJCQk8dmFsIG89IjFjNzQ2MCIgdj0iNDUzIi8+CisJCQkJCTx2YWwgbz0iMWM4MjcwIiB2PSItMTU3Ii8+CisJCQkJCTx2YWwgbz0iMWM5MDdlIiB2PSIxMTQzIi8+CisJCQkJCTx2YWwgbz0iMWM5ZThmIiB2PSItMTQ2Ii8+CisJCQkJCTx2YWwgbz0iMWNhY2EyIiB2PSItMTAwMiIvPgorCQkJCQk8dmFsIG89IjFjYmFiMSIgdj0iLTE0MDIiLz4KKwkJCQkJPHZhbCBvPSIxY2M4YzEiIHY9IjI5NDkiLz4KKwkJCQkJPHZhbCBvPSIxY2Q2ZDAiIHY9IjIyMjkiLz4KKwkJCQkJPHZhbCBvPSIxY2U0ZGUiIHY9IjEwMjIiLz4KKwkJCQkJPHZhbCBvPSIxY2YyZjAiIHY9Ii0xNjI4Ii8+CisJCQkJCTx2YWwgbz0iMWQwMTA5IiB2PSItMTgzNSIvPgorCQkJCQk8dmFsIG89IjFkMGYwNiIgdj0iLTIxMSIvPgorCQkJCQk8dmFsIG89IjFkMWQxNSIgdj0iLTc2NyIvPgorCQkJCQk8dmFsIG89IjFkMmIyNSIgdj0iLTc5MiIvPgorCQkJCQk8dmFsIG89IjFkMzkzNSIgdj0iMTczIi8+CisJCQkJCTx2YWwgbz0iMWQ0NzQ1IiB2PSI3NzYiLz4KKwkJCQkJPHZhbCBvPSIxZDU1NTUiIHY9IjEyNDkiLz4KKwkJCQkJPHZhbCBvPSIxZDYzNjYiIHY9Ii05NTciLz4KKwkJCQkJPHZhbCBvPSIxZDcxNzUiIHY9Ii05MTEiLz4KKwkJCQkJPHZhbCBvPSIxZDdmODYiIHY9Ii0yNDMiLz4KKwkJCQkJPHZhbCBvPSIxZDhkOTUiIHY9Ii02NSIvPgorCQkJCQk8dmFsIG89IjFkOWJhNiIgdj0iLTMwOCIvPgorCQkJCQk8dmFsIG89IjFkYTliNiIgdj0iLTgxMSIvPgorCQkJCQk8dmFsIG89IjFkYjdjNyIgdj0iLTgwNiIvPgorCQkJCQk8dmFsIG89IjFkYzVkNSIgdj0iLTk1MiIvPgorCQkJCQk8dmFsIG89IjFkZDNlNiIgdj0iLTcxNiIvPgorCQkJCQk8dmFsIG89IjFkZTFmNSIgdj0iLTE2MTgiLz4KKwkJCQkJPHZhbCBvPSIxZGYwMDYiIHY9Ii0xOTEwIi8+CisJCQkJCTx2YWwgbz0iMWRmZTE2IiB2PSItMTgwOSIvPgorCQkJCQk8dmFsIG89IjFlMGMyNiIgdj0iLTIyMjQiLz4KKwkJCQkJPHZhbCBvPSIxZTFhMzYiIHY9Ii0yMjcyIi8+CisJCQkJCTx2YWwgbz0iMWUyODQ3IiB2PSItMjMxNyIvPgorCQkJCQk8dmFsIG89IjFlMzY1OSIgdj0iLTIyODMiLz4KKwkJCQkJPHZhbCBvPSIxZTQ0NjciIHY9Ii0yMzM0Ii8+CisJCQkJCTx2YWwgbz0iMWU1MjgxIiB2PSItMTg2MCIvPgorCQkJCQk8dmFsIG89IjFlNjA4NiIgdj0iLTIxMzkiLz4KKwkJCQkJPHZhbCBvPSIxZTZlOTYiIHY9Ii0yMjA2Ii8+CisJCQkJCTx2YWwgbz0iMWU3Y2E2IiB2PSItMjk2Ii8+CisJCQkJCTx2YWwgbz0iMWU4YWI1IiB2PSItNDQ5Ii8+CisJCQkJCTx2YWwgbz0iMWU5OGM2IiB2PSItMTQyIi8+CisJCQkJCTx2YWwgbz0iMWVhNmQ1IiB2PSItNDIyIi8+CisJCQkJCTx2YWwgbz0iMWViNGU2IiB2PSItMzY1Ii8+CisJCQkJCTx2YWwgbz0iMWVjMmY2IiB2PSItNTgxIi8+CisJCQkJCTx2YWwgbz0iMWVkMTA2IiB2PSItMjYzIi8+CisJCQkJCTx2YWwgbz0iMWVkZjE2IiB2PSItMzI1Ii8+CisJCQkJCTx2YWwgbz0iMWVlZDI2IiB2PSItMTQyIi8+CisJCQkJCTx2YWwgbz0iMWVmYjM2IiB2PSItMzU1Ii8+CisJCQkJCTx2YWwgbz0iMWYwOTQ2IiB2PSItMzEwIi8+CisJCQkJCTx2YWwgbz0iMWYxNzU2IiB2PSI0OTYiLz4KKwkJCQkJPHZhbCBvPSIxZjI1NjYiIHY9IjY2MCIvPgorCQkJCQk8dmFsIG89IjFmMzM3NiIgdj0iMTI0NiIvPgorCQkJCQk8dmFsIG89IjFmNDE4NyIgdj0iMjg4OSIvPgorCQkJCQk8dmFsIG89IjFmNGY5NiIgdj0iMTUzMiIvPgorCQkJCQk8dmFsIG89IjFmNWRhNyIgdj0iLTE0MyIvPgorCQkJCQk8dmFsIG89IjFmNmJiNiIgdj0iLTUxOCIvPgorCQkJCQk8dmFsIG89IjFmNzljNyIgdj0iMjI1Ii8+CisJCQkJCTx2YWwgbz0iMWY4N2Q2IiB2PSItMTY2NyIvPgorCQkJCQk8dmFsIG89IjFmOTVlNyIgdj0iLTIzMzAiLz4KKwkJCQkJPHZhbCBvPSIxZmE0MDEiIHY9Ii0xNzI3Ii8+CisJCQkJCTx2YWwgbz0iMWZiMjA0IiB2PSItMTQ4OSIvPgorCQkJCQk8dmFsIG89IjFmYzAxNiIgdj0iLTE1MTUiLz4KKwkJCQkJPHZhbCBvPSIxZmNlMjUiIHY9Ii00NzYiLz4KKwkJCQkJPHZhbCBvPSIxZmRjMzUiIHY9Ii0xOTMiLz4KKwkJCQkJPHZhbCBvPSIxZmVhNDUiIHY9IjEyOCIvPgorCQkJCQk8dmFsIG89IjFmZjg1NSIgdj0iMzc2Ii8+CisJCQkJCTx2YWwgbz0iMjAwNjY1IiB2PSIyODcyIi8+CisJCQkJCTx2YWwgbz0iMjAxNDc1IiB2PSI0MDgiLz4KKwkJCQkJPHZhbCBvPSIyMDIyODYiIHY9IjE5MjMiLz4KKwkJCQkJPHZhbCBvPSIyMDMwOTUiIHY9IjE4MzAiLz4KKwkJCQkJPHZhbCBvPSIyMDNlYTUiIHY9IjE3OTgiLz4KKwkJCQkJPHZhbCBvPSIyMDRjYjYiIHY9IjMzNCIvPgorCQkJCQk8dmFsIG89IjIwNWFjNiIgdj0iMTI2MCIvPgorCQkJCQk8dmFsIG89IjIwNjhkNiIgdj0iMTgxNSIvPgorCQkJCQk8dmFsIG89IjIwNzZlNiIgdj0iMjI3MiIvPgorCQkJCQk8dmFsIG89IjIwODRmNiIgdj0iMjYyIi8+CisJCQkJCTx2YWwgbz0iMjA5MzA2IiB2PSItMzg3Ii8+CisJCQkJCTx2YWwgbz0iMjBhMTE2IiB2PSItNjEzIi8+CisJCQkJCTx2YWwgbz0iMjBhZjI2IiB2PSItMjUxIi8+CisJCQkJCTx2YWwgbz0iMjBiZDM3IiB2PSItODg1Ii8+CisJCQkJCTx2YWwgbz0iMjBjYjQ2IiB2PSI1NTEiLz4KKwkJCQkJPHZhbCBvPSIyMGQ5NTciIHY9IjQ4Ii8+CisJCQkJCTx2YWwgbz0iMjBlNzY3IiB2PSItOTgyIi8+CisJCQkJCTx2YWwgbz0iMjBmNTgxIiB2PSItMTYxMiIvPgorCQkJCQk8dmFsIG89IjIxMDM4NiIgdj0iLTExMjUiLz4KKwkJCQkJPHZhbCBvPSIyMTExOTQiIHY9Ii0zODEiLz4KKwkJCQkJPHZhbCBvPSIyMTFmYTUiIHY9Ii00NDEiLz4KKwkJCQkJPHZhbCBvPSIyMTJkYjUiIHY9IjcxIi8+CisJCQkJCTx2YWwgbz0iMjEzYmM1IiB2PSIxMDIwIi8+CisJCQkJCTx2YWwgbz0iMjE0OWQ2IiB2PSI3NjAiLz4KKwkJCQkJPHZhbCBvPSIyMTU3ZTUiIHY9Ii0zMTkiLz4KKwkJCQkJPHZhbCBvPSIyMTY1ZjYiIHY9Ii0xMTQ0Ii8+CisJCQkJCTx2YWwgbz0iMjE3NDA2IiB2PSIzMDIiLz4KKwkJCQkJPHZhbCBvPSIyMTgyMTciIHY9Ii0zMTkiLz4KKwkJCQkJPHZhbCBvPSIyMTkwMjYiIHY9Ii01ODIiLz4KKwkJCQkJPHZhbCBvPSIyMTllMzkiIHY9IjQwOCIvPgorCQkJCQk8dmFsIG89IjIxYWM0NiIgdj0iMTAzMSIvPgorCQkJCQk8dmFsIG89IjIxYmE1NyIgdj0iMTEzOSIvPgorCQkJCQk8dmFsIG89IjIxYzg2NyIgdj0iMjA4MiIvPgorCQkJCQk8dmFsIG89IjIxZDY3NyIgdj0iLTEyMDIiLz4KKwkJCQkJPHZhbCBvPSIyMWU0ODciIHY9IjYyMiIvPgorCQkJCQk8dmFsIG89IjIxZjI5NiIgdj0iNDU2Ii8+CisJCQkJCTx2YWwgbz0iMjIwMGE2IiB2PSItNzM2Ii8+CisJCQkJCTx2YWwgbz0iMjIwZWI3IiB2PSItODE4Ii8+CisJCQkJCTx2YWwgbz0iMjIxY2M2IiB2PSIxNjg0Ii8+CisJCQkJCTx2YWwgbz0iMjIyYWQ3IiB2PSIzMDciLz4KKwkJCQkJPHZhbCBvPSIyMjM4ZTciIHY9Ii04MDEiLz4KKwkJCQkJPHZhbCBvPSIyMjQ3MDEiIHY9Ii0xMjU2Ii8+CisJCQkJCTx2YWwgbz0iMjI1NTA1IiB2PSIzMzA4Ii8+CisJCQkJCTx2YWwgbz0iMjI2MzE1IiB2PSI1MDYiLz4KKwkJCQkJPHZhbCBvPSIyMjcxMjUiIHY9IjYzOSIvPgorCQkJCQk8dmFsIG89IjIyN2YzNSIgdj0iMTk2MyIvPgorCQkJCQk8dmFsIG89IjIyOGQ0NSIgdj0iMjg2NyIvPgorCQkJCQk8dmFsIG89IjIyOWI1NCIgdj0iLTgzMSIvPgorCQkJCQk8dmFsIG89IjIyYTk2NSIgdj0iLTI3MCIvPgorCQkJCQk8dmFsIG89IjIyYjc3NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIyYzU4NiIgdj0iMjAxMCIvPgorCQkJCQk8dmFsIG89IjIyZDM5NyIgdj0iMzQwOCIvPgorCQkJCQk8dmFsIG89IjIyZTFhNiIgdj0iMzE5MCIvPgorCQkJCQk8dmFsIG89IjIyZWZiNiIgdj0iLTE4NyIvPgorCQkJCQk8dmFsIG89IjIyZmRjNyIgdj0iLTIyNSIvPgorCQkJCQk8dmFsIG89IjIzMGJkNyIgdj0iNTMxIi8+CisJCQkJCTx2YWwgbz0iMjMxOWU2IiB2PSItODIzIi8+CisJCQkJCTx2YWwgbz0iMjMyN2Y2IiB2PSI2MiIvPgorCQkJCQk8dmFsIG89IjIzMzYxYiIgdj0iMTA3OSIvPgorCQkJCQk8dmFsIG89IjIzNDQxNiIgdj0iMTU0NyIvPgorCQkJCQk8dmFsIG89IjIzNTIyNiIgdj0iOTAwIi8+CisJCQkJCTx2YWwgbz0iMjM2MDM3IiB2PSIxMTIiLz4KKwkJCQkJPHZhbCBvPSIyMzZlNDYiIHY9IjE3ODAiLz4KKwkJCQkJPHZhbCBvPSIyMzdjNTciIHY9IjE0MDciLz4KKwkJCQkJPHZhbCBvPSIyMzhhNjYiIHY9IjI5OCIvPgorCQkJCQk8dmFsIG89IjIzOTg4MSIgdj0iNTY1Ii8+CisJCQkJCTx2YWwgbz0iMjNhNjg1IiB2PSItMzExIi8+CisJCQkJCTx2YWwgbz0iMjNiNDk1IiB2PSItNjU3Ii8+CisJCQkJCTx2YWwgbz0iMjNjMmE0IiB2PSIxNjgiLz4KKwkJCQkJPHZhbCBvPSIyM2QwYjUiIHY9IjY0NyIvPgorCQkJCQk8dmFsIG89IjIzZGVjNCIgdj0iMTQyNyIvPgorCQkJCQk8dmFsIG89IjIzZWNkNSIgdj0iODI5Ii8+CisJCQkJCTx2YWwgbz0iMjNmYWU0IiB2PSItNSIvPgorCQkJCQk8dmFsIG89IjI0MDhmNiIgdj0iMTE5NyIvPgorCQkJCQk8dmFsIG89IjI0MTcwNiIgdj0iMzc1MSIvPgorCQkJCQk8dmFsIG89IjI0MjUxOCIgdj0iMjk5MSIvPgorCQkJCQk8dmFsIG89IjI0MzMyNSIgdj0iMjgwMSIvPgorCQkJCQk8dmFsIG89IjI0NDEzNyIgdj0iLTExODgiLz4KKwkJCQkJPHZhbCBvPSIyNDRmNDYiIHY9Ii04MjgiLz4KKwkJCQkJPHZhbCBvPSIyNDZiNjYiIHY9Ii03OTkiLz4KKwkJCQkJPHZhbCBvPSIyNDc5NzYiIHY9IjU3Ii8+CisJCQkJCTx2YWwgbz0iMjQ4Nzg2IiB2PSI0NjAxIi8+CisJCQkJCTx2YWwgbz0iMjQ5NTdlIiB2PSIxOTExIi8+CisJCQkJCTx2YWwgbz0iMjRhMzhmIiB2PSI3OTkiLz4KKwkJCQkJPHZhbCBvPSIyNGIxOWMiIHY9Ii05NzIiLz4KKwkJCQkJPHZhbCBvPSIyNGJmYWMiIHY9Ii03MDgiLz4KKwkJCQkJPHZhbCBvPSIyNGNkYmMiIHY9Ii03OTAiLz4KKwkJCQkJPHZhbCBvPSIyNGRiY2QiIHY9Ii00OTAiLz4KKwkJCQkJPHZhbCBvPSIyNGU5ZTUiIHY9Ii0xMzE2Ii8+CisJCQkJCTx2YWwgbz0iMjRmODA4IiB2PSItODI1Ii8+CisJCQkJCTx2YWwgbz0iMjUwNjE2IiB2PSItMTAxMiIvPgorCQkJCQk8dmFsIG89IjI1MTQyNiIgdj0iLTExNzgiLz4KKwkJCQkJPHZhbCBvPSIyNTIyMzYiIHY9Ii0zNSIvPgorCQkJCQk8dmFsIG89IjI1MzA0NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI1M2U1NiIgdj0iMTM1MiIvPgorCQkJCQk8dmFsIG89IjI1NGM2NyIgdj0iMTA1OSIvPgorCQkJCQk8dmFsIG89IjI1NWE3NiIgdj0iMTI5MCIvPgorCQkJCQk8dmFsIG89IjI1Njg4NyIgdj0iMjA3OSIvPgorCQkJCQk8dmFsIG89IjI1NzY5NyIgdj0iMzYxOCIvPgorCQkJCQk8dmFsIG89IjI1ODRhOCIgdj0iLTQ2ODQiLz4KKwkJCQkJPHZhbCBvPSIyNTkyYjYiIHY9Ii0yNDcwIi8+CisJCQkJCTx2YWwgbz0iMjVhMGM3IiB2PSItNTU2Ii8+CisJCQkJCTx2YWwgbz0iMjVhZWQ3IiB2PSIxODkiLz4KKwkJCQkJPHZhbCBvPSIyNWJjZTciIHY9IjI2MCIvPgorCQkJCQk8dmFsIG89IjI1Y2FmOCIgdj0iODE2Ii8+CisJCQkJCTx2YWwgbz0iMjVkOTA3IiB2PSIyNDg5Ii8+CisJCQkJCTx2YWwgbz0iMjVlNzE4IiB2PSIyNzMyIi8+CisJCQkJCTx2YWwgbz0iMjVmNTI3IiB2PSIyMjM0Ii8+CisJCQkJCTx2YWwgbz0iMjYwMzM4IiB2PSI1NyIvPgorCQkJCQk8dmFsIG89IjI2MTE0OSIgdj0iMTIxOSIvPgorCQkJCQk8dmFsIG89IjI2MWY1OSIgdj0iNjMyIi8+CisJCQkJCTx2YWwgbz0iMjYyZDY4IiB2PSItMTM2MCIvPgorCQkJCQk8dmFsIG89IjI2M2I4MyIgdj0iMzgiLz4KKwkJCQkJPHZhbCBvPSIyNjQ5ODYiIHY9Ii05ODAiLz4KKwkJCQkJPHZhbCBvPSIyNjU3OTUiIHY9Ii0xNTAxIi8+CisJCQkJCTx2YWwgbz0iMjY2NWE2IiB2PSItMjExOSIvPgorCQkJCQk8dmFsIG89IjI2NzNiNSIgdj0iLTE2MTgiLz4KKwkJCQkJPHZhbCBvPSIyNjgxYzYiIHY9Ii0xMzE0Ii8+CisJCQkJCTx2YWwgbz0iMjY4ZmQ1IiB2PSItNDMyIi8+CisJCQkJCTx2YWwgbz0iMjY5ZGU2IiB2PSIzMDkiLz4KKwkJCQkJPHZhbCBvPSIyNmFiZjYiIHY9IjY4NSIvPgorCQkJCQk8dmFsIG89IjI2YmEwNiIgdj0iMTY5MiIvPgorCQkJCQk8dmFsIG89IjI2YzgxNyIgdj0iMTg5OSIvPgorCQkJCQk8dmFsIG89IjI2ZDYyYiIgdj0iMzYyMiIvPgorCQkJCQk8dmFsIG89IjI2ZTQzNiIgdj0iMjcwOSIvPgorCQkJCQk8dmFsIG89IjI2ZjI0NyIgdj0iMzAzNyIvPgorCQkJCQk8dmFsIG89IjI3MDA1NyIgdj0iMjg5OCIvPgorCQkJCQk8dmFsIG89IjI3MGU2NyIgdj0iMzI1MSIvPgorCQkJCQk8dmFsIG89IjI3MWM3NyIgdj0iMTg2Ii8+CisJCQkJCTx2YWwgbz0iMjcyYTg3IiB2PSItNjM2Ii8+CisJCQkJCTx2YWwgbz0iMjczODk3IiB2PSItNDIxIi8+CisJCQkJCTx2YWwgbz0iMjc0NmE4IiB2PSItNzI5Ii8+CisJCQkJCTx2YWwgbz0iMjc1NGI5IiB2PSItOTc4Ii8+CisJCQkJCTx2YWwgbz0iMjc2MmM3IiB2PSIyNjcwIi8+CisJCQkJCTx2YWwgbz0iMjc3MGQ4IiB2PSIxMjU1Ii8+CisJCQkJCTx2YWwgbz0iMjc3ZWU3IiB2PSItNDk2Ii8+CisJCQkJPC9wYXI+CisJCQkJPHBhciBtZW1pbmQ9IjQyNDYwMCIgaD0iM2RjMWE4ZGUiPgorCQkJCQk8dmFsIG89IjAiIHY9Ii00MzEzIi8+CisJCQkJCTx2YWwgbz0iZTA4IiB2PSItNDE2MyIvPgorCQkJCQk8dmFsIG89IjFjMzIiIHY9Ii00MTAyIi8+CisJCQkJCTx2YWwgbz0iMmEzYyIgdj0iLTQwOTEiLz4KKwkJCQkJPHZhbCBvPSIzODM1IiB2PSItMzk4MiIvPgorCQkJCQk8dmFsIG89IjQ2NDUiIHY9Ii0zOTM0Ii8+CisJCQkJCTx2YWwgbz0iNTQ1NSIgdj0iLTQ0MzkiLz4KKwkJCQkJPHZhbCBvPSI2MjY1IiB2PSItNTMyMyIvPgorCQkJCQk8dmFsIG89IjcwNzUiIHY9Ii02Mjk4Ii8+CisJCQkJCTx2YWwgbz0iN2U4NSIgdj0iLTczMzIiLz4KKwkJCQkJPHZhbCBvPSI4Yzk2IiB2PSItNzU0MSIvPgorCQkJCQk8dmFsIG89IjlhYTUiIHY9Ii03MjQ4Ii8+CisJCQkJCTx2YWwgbz0iYThiNiIgdj0iLTY4NjkiLz4KKwkJCQkJPHZhbCBvPSJiNmM1IiB2PSItNjQ1NCIvPgorCQkJCQk8dmFsIG89ImM0ZDciIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iZDMwYiIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSJlMGY2IiB2PSItNyIvPgorCQkJCQk8dmFsIG89ImVmMDYiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iZmQxNyIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSIxMGIyNyIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSIxMTkzNyIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSIxMjc0NiIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSIxMzU1NiIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSIxNDM2NiIgdj0iLTkiLz4KKwkJCQkJPHZhbCBvPSIxNTE4MSIgdj0iLTkiLz4KKwkJCQkJPHZhbCBvPSIxNWY4NSIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSIxNmQ5NSIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSIxN2JhNCIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSIxODliNSIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSIxOTdjNCIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSIxYTVkNSIgdj0iLTkiLz4KKwkJCQkJPHZhbCBvPSIxYjNlNiIgdj0iLTkiLz4KKwkJCQkJPHZhbCBvPSIxYzFmNiIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSIxZDAwNSIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSIxZGUxNSIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSIxZWMyNSIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSIxZmEzNiIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSIyMDg0NSIgdj0iLTkiLz4KKwkJCQkJPHZhbCBvPSIyMTY1NiIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSIyMjQ2NSIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSIyMzI3NiIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSIyNDA4NiIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSIyNGU5OSIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSIyNWNhNyIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSIyNmFiNyIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSIyNzhjNiIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSIyODZkNiIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSIyOTRlNiIgdj0iLTkiLz4KKwkJCQkJPHZhbCBvPSIyYTMwMSIgdj0iLTkiLz4KKwkJCQkJPHZhbCBvPSIyYjEwNSIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSIyYmYxNSIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSIyY2QyNSIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSIyZGIzNSIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSIyZTk0NiIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSIyZjc1NSIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSIzMDU2NiIgdj0iLTkiLz4KKwkJCQkJPHZhbCBvPSIzMTM3NSIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSIzMjE5ZSIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSIzMmY5NiIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSIzM2RhNiIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSIzNGJiNiIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSIzNTlkZSIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSIzNjdkNiIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSIzNzVlNiIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSIzODQwZSIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSIzOTIxZSIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSIzYTAxNiIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSIzYWUyNyIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSIzYmMzNiIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSIzY2E0NyIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSIzZDg1NiIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSIzZTY2NyIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSIzZjQ4MSIgdj0iLTkiLz4KKwkJCQkJPHZhbCBvPSI0MDI4NSIgdj0iLTkiLz4KKwkJCQkJPHZhbCBvPSI0MTA5NSIgdj0iLTkiLz4KKwkJCQkJPHZhbCBvPSI0MWVhNSIgdj0iLTkiLz4KKwkJCQkJPHZhbCBvPSI0MmNiNSIgdj0iLTkiLz4KKwkJCQkJPHZhbCBvPSI0M2FjNSIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSI0NDhkNSIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI0NTZlNiIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSI0NjRmNSIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI0ODBmZiIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI0OGYwZSIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSI0OWQxZCIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI0YWI0NiIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI0Yjk1NSIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI0Yzc2OSIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSI0ZDU3NyIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI0ZTM4NyIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI0ZjE5NiIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI0ZmZhNiIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI1MGRkMCIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI1MWJjNiIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI1MjlkNiIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSI1MzdlNyIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSI1NDYwMCIgdj0iLTkiLz4KKwkJCQkJPHZhbCBvPSI1NTQwNiIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSI1NjIxNSIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSI1NzAyNiIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSI1N2UzNiIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSI1OGM0NiIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSI1OWE3MCIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSI1YTg2NyIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSI1YjY3NiIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI1YzQ4NyIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSI1ZDI5NiIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI1ZTBhOSIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI1ZWViOCIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI1ZmNjNiIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI2MGFkNyIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI2MThlNyIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI2MjZmNyIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI2MzUwNyIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI2NDMxNyIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI2NTEyNyIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI2NWYzNyIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSI2NmQ0NiIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSI2N2I1NyIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSI2ODk2NyIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSI2OTc4MiIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSI2YTU4NiIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSI2YjM5NSIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSI2YzFhNiIgdj0iLTkiLz4KKwkJCQkJPHZhbCBvPSI2Y2ZiNSIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSI2ZGRjNiIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSI2ZWJkNiIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI2ZjllNiIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSI3MDdmNiIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI3MTYwNyIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSI3MjQxNyIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSI3MzIyNyIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSI3NDAzNyIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI3NGU0NyIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI3NWM1NyIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI3NmE2MyIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSI3Nzg3MyIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI3ODY4MCIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSI3OTQ4ZiIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI3YTI5ZiIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI3YjBhZiIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI3YmViZiIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSI3Y2NjZiIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSI3ZGFkZiIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSI3ZThmYSIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSI3ZjcwYSIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSI4MDUxYSIgdj0iLTkiLz4KKwkJCQkJPHZhbCBvPSI4MTMyYSIgdj0iLTkiLz4KKwkJCQkJPHZhbCBvPSI4MjEzYSIgdj0iLTkiLz4KKwkJCQkJPHZhbCBvPSI4MmY0YSIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSI4M2Q1YSIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSI4NGI2YSIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI4NTk3YSIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI4Njc4YiIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI4NzU5YiIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI4ODNhYyIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI4OTFiYiIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSI4OWZjYSIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI4YWRkYSIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI4YmJlYiIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI4YzlmYyIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI4ZDgwYiIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI4ZTYxYSIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI4ZjQyYSIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI5MDIzYSIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI5MTA0YSIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSI5MWU1YSIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI5MmM2YSIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSI5M2E4NCIgdj0iLTkiLz4KKwkJCQkJPHZhbCBvPSI5NDg4NSIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSI5NTY5NCIgdj0iLTkiLz4KKwkJCQkJPHZhbCBvPSI5NjRhNSIgdj0iLTkiLz4KKwkJCQkJPHZhbCBvPSI5NzJiNCIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSI5ODBjNSIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSI5OGVkNCIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSI5OWNlNSIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSI5YWFmNSIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI5YjkwNiIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI5YzcxNiIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI5ZDUyNiIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI5ZTMzNiIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI5ZjE0NSIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI5ZmY1NiIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSJhMGQ2NSIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSJhMWI3NyIgdj0iLTY0NjAiLz4KKwkJCQkJPHZhbCBvPSJhMjk4NiIgdj0iLTM1NDYiLz4KKwkJCQkJPHZhbCBvPSJhMzc5NSIgdj0iLTk4NiIvPgorCQkJCQk8dmFsIG89ImE0NWE3IiB2PSI2OTciLz4KKwkJCQkJPHZhbCBvPSJhNTNiNiIgdj0iNzc2Ii8+CisJCQkJCTx2YWwgbz0iYTYxYzciIHY9IjkyNSIvPgorCQkJCQk8dmFsIG89ImE2ZmQ2IiB2PSIxMjUiLz4KKwkJCQkJPHZhbCBvPSJhN2UwMCIgdj0iNDU2Ii8+CisJCQkJCTx2YWwgbz0iYThjMDAiIHY9IjkwMyIvPgorCQkJCQk8dmFsIG89ImE5YTA1IiB2PSIyNzgiLz4KKwkJCQkJPHZhbCBvPSJhYTgxNSIgdj0iMjciLz4KKwkJCQkJPHZhbCBvPSJhYjYyNSIgdj0iNDMiLz4KKwkJCQkJPHZhbCBvPSJhYzQzNSIgdj0iMTczIi8+CisJCQkJCTx2YWwgbz0iYWQyNDUiIHY9Ijk0NyIvPgorCQkJCQk8dmFsIG89ImFlMDU1IiB2PSI3MjgiLz4KKwkJCQkJPHZhbCBvPSJhZWU2NSIgdj0iLTQ1MiIvPgorCQkJCQk8dmFsIG89ImFmYzc1IiB2PSItMTE3Ii8+CisJCQkJCTx2YWwgbz0iYjBhODUiIHY9IjIzIi8+CisJCQkJCTx2YWwgbz0iYjI2YTYiIHY9IjE4MiIvPgorCQkJCQk8dmFsIG89ImIzNGI2IiB2PSItMTUyIi8+CisJCQkJCTx2YWwgbz0iYjQyYzYiIHY9Ii00MjMiLz4KKwkJCQkJPHZhbCBvPSJiNTBkNiIgdj0iLTcwNSIvPgorCQkJCQk8dmFsIG89ImI1ZWU3IiB2PSItNzkwIi8+CisJCQkJCTx2YWwgbz0iYjZjZjYiIHY9Ii0xNTc1Ii8+CisJCQkJCTx2YWwgbz0iYjdiMDciIHY9Ii0yMDI3Ii8+CisJCQkJCTx2YWwgbz0iYjg5MTciIHY9Ii0xNzU3Ii8+CisJCQkJCTx2YWwgbz0iYjk3MjgiIHY9Ii0xNzIyIi8+CisJCQkJCTx2YWwgbz0iYmE1MzciIHY9Ii0xOTAxIi8+CisJCQkJCTx2YWwgbz0iYmIzNDciIHY9Ii03NDEiLz4KKwkJCQkJPHZhbCBvPSJiYzE1NyIgdj0iLTgxMiIvPgorCQkJCQk8dmFsIG89ImJjZjY3IiB2PSItODkxIi8+CisJCQkJCTx2YWwgbz0iYmRkODEiIHY9IjY1MiIvPgorCQkJCQk8dmFsIG89ImJlYjg2IiB2PSI0MTEiLz4KKwkJCQkJPHZhbCBvPSJiZjk5NSIgdj0iNTE2Ii8+CisJCQkJCTx2YWwgbz0iYzA3YTYiIHY9IjM5OCIvPgorCQkJCQk8dmFsIG89ImMxNWI1IiB2PSIzODIiLz4KKwkJCQkJPHZhbCBvPSJjMjNjNiIgdj0iNDcwIi8+CisJCQkJCTx2YWwgbz0iYzMxZDUiIHY9IjU5MSIvPgorCQkJCQk8dmFsIG89ImMzZmU2IiB2PSIyNjciLz4KKwkJCQkJPHZhbCBvPSJjNGRmNSIgdj0iNzcwIi8+CisJCQkJCTx2YWwgbz0iYzVjMDYiIHY9IjE2NCIvPgorCQkJCQk8dmFsIG89ImM2YTE2IiB2PSI0MzgiLz4KKwkJCQkJPHZhbCBvPSJjNzgyNiIgdj0iLTQzIi8+CisJCQkJCTx2YWwgbz0iYzg2MzYiIHY9IjcyIi8+CisJCQkJCTx2YWwgbz0iYzk0NDYiIHY9IjI0OSIvPgorCQkJCQk8dmFsIG89ImNhMjU2IiB2PSIyMDEiLz4KKwkJCQkJPHZhbCBvPSJjYjA2NiIgdj0iMTE1Ii8+CisJCQkJCTx2YWwgbz0iY2JlNzYiIHY9Ii00MjUiLz4KKwkJCQkJPHZhbCBvPSJjY2M4NyIgdj0iLTIyOSIvPgorCQkJCQk8dmFsIG89ImNkYTk2IiB2PSItMjg0Ii8+CisJCQkJCTx2YWwgbz0iY2U4YTgiIHY9Ii0yNDciLz4KKwkJCQkJPHZhbCBvPSJjZjZiNyIgdj0iLTEzNSIvPgorCQkJCQk8dmFsIG89ImQwNGM4IiB2PSItNTQiLz4KKwkJCQkJPHZhbCBvPSJkMTJkNyIgdj0iOTYiLz4KKwkJCQkJPHZhbCBvPSJkMjBlNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImQyZjAyIiB2PSIxNiIvPgorCQkJCQk8dmFsIG89ImQzZDA1IiB2PSI1OTgiLz4KKwkJCQkJPHZhbCBvPSJkNGIxNSIgdj0iNzIxIi8+CisJCQkJCTx2YWwgbz0iZDU5MjYiIHY9IjgxOCIvPgorCQkJCQk8dmFsIG89ImQ2NzM1IiB2PSIxMDY3Ii8+CisJCQkJCTx2YWwgbz0iZDc1NDYiIHY9IjEyNDUiLz4KKwkJCQkJPHZhbCBvPSJkODM1NSIgdj0iLTExNyIvPgorCQkJCQk8dmFsIG89ImQ5MTY2IiB2PSItNzIxIi8+CisJCQkJCTx2YWwgbz0iZDlmNzUiIHY9Ii0xNTA0Ii8+CisJCQkJCTx2YWwgbz0iZGFkODciIHY9Ii0yMDg0Ii8+CisJCQkJCTx2YWwgbz0iZGJiOTciIHY9Ii0yNTU0Ii8+CisJCQkJCTx2YWwgbz0iZGM5YTgiIHY9Ii0yMzQ1Ii8+CisJCQkJCTx2YWwgbz0iZGQ3YjciIHY9Ii0yOTIwIi8+CisJCQkJCTx2YWwgbz0iZGU1YzYiIHY9Ii0yNzEyIi8+CisJCQkJCTx2YWwgbz0iZGYzZDciIHY9Ii0yODU4Ii8+CisJCQkJCTx2YWwgbz0iZTAxZDciIHY9Ii0yOTI4Ii8+CisJCQkJCTx2YWwgbz0iZTBmZTUiIHY9Ii0yODAzIi8+CisJCQkJCTx2YWwgbz0iZTFkZjUiIHY9Ii0zMDMyIi8+CisJCQkJCTx2YWwgbz0iZTJjMDQiIHY9Ii00MDE3Ii8+CisJCQkJCTx2YWwgbz0iZTNhMTQiIHY9Ii0zOTE4Ii8+CisJCQkJCTx2YWwgbz0iZTQ4MjQiIHY9Ii0zNDEyIi8+CisJCQkJCTx2YWwgbz0iZTU2MzQiIHY9Ii0zNDQxIi8+CisJCQkJCTx2YWwgbz0iZTY0NDQiIHY9Ii0yNTYxIi8+CisJCQkJCTx2YWwgbz0iZTcyNTUiIHY9Ii0yMTM5Ii8+CisJCQkJCTx2YWwgbz0iZTgwNmYiIHY9Ii0xNzY1Ii8+CisJCQkJCTx2YWwgbz0iZThlN2YiIHY9Ii00NjUiLz4KKwkJCQkJPHZhbCBvPSJlOWM4ZSIgdj0iLTcwMiIvPgorCQkJCQk8dmFsIG89ImVhYTlmIiB2PSItNjQ3Ii8+CisJCQkJCTx2YWwgbz0iZWI4YWUiIHY9Ii02NzYiLz4KKwkJCQkJPHZhbCBvPSJlYzZiZiIgdj0iLTUwOSIvPgorCQkJCQk8dmFsIG89ImVkNGNlIiB2PSItMjE1MCIvPgorCQkJCQk8dmFsIG89ImVlMmRmIiB2PSItMjM1NSIvPgorCQkJCQk8dmFsIG89ImVmMGVmIiB2PSItMzE3MSIvPgorCQkJCQk8dmFsIG89ImVmZjAxIiB2PSItNDAzMSIvPgorCQkJCQk8dmFsIG89ImYwZDEwIiB2PSItNDMzOCIvPgorCQkJCQk8dmFsIG89ImYxYjIwIiB2PSItNDY1MSIvPgorCQkJCQk8dmFsIG89ImYyOTMwIiB2PSItNDY2OCIvPgorCQkJCQk8dmFsIG89ImYzNzQwIiB2PSItNDM0NiIvPgorCQkJCQk8dmFsIG89ImY0NTUxIiB2PSItNDU3MSIvPgorCQkJCQk8dmFsIG89ImY1MzYxIiB2PSItNDkyOSIvPgorCQkJCQk8dmFsIG89ImY2MTcyIiB2PSItNDYwNyIvPgorCQkJCQk8dmFsIG89ImY2ZjgwIiB2PSItNDg2NiIvPgorCQkJCQk8dmFsIG89ImY3ZDkxIiB2PSItNDMwOCIvPgorCQkJCQk8dmFsIG89ImY4YmExIiB2PSItMzg5NyIvPgorCQkJCQk8dmFsIG89ImY5OWIxIiB2PSItMzc4NCIvPgorCQkJCQk8dmFsIG89ImZhN2MwIiB2PSItMjk4OCIvPgorCQkJCQk8dmFsIG89ImZiNWQxIiB2PSItMzA5OSIvPgorCQkJCQk8dmFsIG89ImZjM2UwIiB2PSItMzMzNSIvPgorCQkJCQk8dmFsIG89ImZkMWZiIiB2PSItMjY4NiIvPgorCQkJCQk8dmFsIG89ImZlMDBiIiB2PSItMjUyMiIvPgorCQkJCQk8dmFsIG89ImZlZTFjIiB2PSItMjA3NCIvPgorCQkJCQk8dmFsIG89ImZmYzJjIiB2PSItMTk4OSIvPgorCQkJCQk8dmFsIG89IjEwMGEzYiIgdj0iLTE3ODgiLz4KKwkJCQkJPHZhbCBvPSIxMDE4NGMiIHY9Ii0xNzk1Ii8+CisJCQkJCTx2YWwgbz0iMTAyNjViIiB2PSItMjA3NSIvPgorCQkJCQk8dmFsIG89IjEwMzQ2YyIgdj0iLTI2OTgiLz4KKwkJCQkJPHZhbCBvPSIxMDQyN2IiIHY9Ii0zOTMyIi8+CisJCQkJCTx2YWwgbz0iMTA1MDhkIiB2PSItNDQwNiIvPgorCQkJCQk8dmFsIG89IjEwNWU5ZCIgdj0iLTQzNjYiLz4KKwkJCQkJPHZhbCBvPSIxMDZjYWQiIHY9Ii00NjkyIi8+CisJCQkJCTx2YWwgbz0iMTA3YWJkIiB2PSItNDMwMiIvPgorCQkJCQk8dmFsIG89IjEwODhjZCIgdj0iLTM5MjciLz4KKwkJCQkJPHZhbCBvPSIxMDk2ZGUiIHY9Ii00MTAxIi8+CisJCQkJCTx2YWwgbz0iMTBhNGVkIiB2PSItNDE4NyIvPgorCQkJCQk8dmFsIG89IjEwYjJmZSIgdj0iLTQzNDIiLz4KKwkJCQkJPHZhbCBvPSIxMGMxMGQiIHY9Ii00MTYyIi8+CisJCQkJCTx2YWwgbz0iMTBjZjFlIiB2PSItNDQ1NiIvPgorCQkJCQk8dmFsIG89IjEwZGQyZSIgdj0iLTQxMzIiLz4KKwkJCQkJPHZhbCBvPSIxMGViNjYiIHY9Ii00NDk5Ii8+CisJCQkJCTx2YWwgbz0iMTBmOTRlIiB2PSItMzg4MiIvPgorCQkJCQk8dmFsIG89IjExMDc1ZSIgdj0iLTMyOTUiLz4KKwkJCQkJPHZhbCBvPSIxMTE1NmQiIHY9Ii0yODYzIi8+CisJCQkJCTx2YWwgbz0iMTEyMzg4IiB2PSItMjY2OCIvPgorCQkJCQk8dmFsIG89IjExMzE4NyIgdj0iLTE3NzgiLz4KKwkJCQkJPHZhbCBvPSIxMTNmYjAiIHY9Ii0xODEwIi8+CisJCQkJCTx2YWwgbz0iMTE0ZGE2IiB2PSItMTgyOSIvPgorCQkJCQk8dmFsIG89IjExNWJiNiIgdj0iLTE4MDAiLz4KKwkJCQkJPHZhbCBvPSIxMTY5YzYiIHY9Ii0xNTk1Ii8+CisJCQkJCTx2YWwgbz0iMTE3N2Q2IiB2PSItMjA1MCIvPgorCQkJCQk8dmFsIG89IjExODVlOCIgdj0iLTI5NjEiLz4KKwkJCQkJPHZhbCBvPSIxMTkzZjciIHY9Ii0zNjI3Ii8+CisJCQkJCTx2YWwgbz0iMTFhMjA4IiB2PSItNDgzMCIvPgorCQkJCQk8dmFsIG89IjExYjAxNyIgdj0iLTQyOTYiLz4KKwkJCQkJPHZhbCBvPSIxMWJlMmYiIHY9Ii01MjU3Ii8+CisJCQkJCTx2YWwgbz0iMTFjYzM3IiB2PSItNDQwOCIvPgorCQkJCQk8dmFsIG89IjExZGE0NyIgdj0iLTQzMjYiLz4KKwkJCQkJPHZhbCBvPSIxMWU4NTciIHY9Ii00NDIwIi8+CisJCQkJCTx2YWwgbz0iMTFmNjY3IiB2PSItMzk1MCIvPgorCQkJCQk8dmFsIG89IjEyMDU3OCIgdj0iLTQiLz4KKwkJCQkJPHZhbCBvPSIxMjEzODYiIHY9Ii00Ii8+CisJCQkJCTx2YWwgbz0iMTIyMTk2IiB2PSItNCIvPgorCQkJCQk8dmFsIG89IjEyMmZhNiIgdj0iLTMiLz4KKwkJCQkJPHZhbCBvPSIxMjNkYjUiIHY9Ii0zIi8+CisJCQkJCTx2YWwgbz0iMTI0YmM1IiB2PSItMyIvPgorCQkJCQk8dmFsIG89IjEyNTlkNSIgdj0iLTIiLz4KKwkJCQkJPHZhbCBvPSIxMjY3ZTQiIHY9Ii0yIi8+CisJCQkJCTx2YWwgbz0iMTI3NjAwIiB2PSItMiIvPgorCQkJCQk8dmFsIG89IjEyODMwNSIgdj0iLTIiLz4KKwkJCQkJPHZhbCBvPSIxMjkxMTUiIHY9Ii0yIi8+CisJCQkJCTx2YWwgbz0iMTI5ZjI1IiB2PSItMiIvPgorCQkJCQk8dmFsIG89IjEyYWQzNSIgdj0iLTIiLz4KKwkJCQkJPHZhbCBvPSIxMmJiNDUiIHY9Ii0xIi8+CisJCQkJCTx2YWwgbz0iMTJjOTU0IiB2PSItMiIvPgorCQkJCQk8dmFsIG89IjEyZDc2NiIgdj0iLTIiLz4KKwkJCQkJPHZhbCBvPSIxMmU1NzUiIHY9Ii0zIi8+CisJCQkJCTx2YWwgbz0iMTJmMzg2IiB2PSItMiIvPgorCQkJCQk8dmFsIG89IjEzMDE5NiIgdj0iLTQiLz4KKwkJCQkJPHZhbCBvPSIxMzBmYTYiIHY9Ii0zIi8+CisJCQkJCTx2YWwgbz0iMTMxZGI3IiB2PSItMyIvPgorCQkJCQk8dmFsIG89IjEzMmJjNSIgdj0iLTMiLz4KKwkJCQkJPHZhbCBvPSIxMzM5ZDQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMzQ3ZTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMzU1ZjQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMzY0MDQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMzcyMTQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMzgwMjQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMzhlMzMiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMzljNDQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxM2FhNTQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxM2I4NjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxM2M2N2UiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxM2Q0OGUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxM2UyOWUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxM2YwYWUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxM2ZlYmYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNDBjY2YiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNDFhZGYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNDI4ZWYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNDM2ZmYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNDQ1MGYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNDUzMWYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNDYxMzAiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNDZmNDAiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNDdkNDQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNDhiNTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNDk5NjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNGE3NzUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNGI1ODQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNGMzOTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNGQxYTQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNGRmYjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNGVkYzUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNGZiZDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNTA5ZTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNTE3ZmYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNTI2MDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNTM0MTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNTQyMjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNTUwMzUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNTVlNDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNTZjNTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNTdhNjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNTg4NzUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNTk2ODYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNWE0OTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNWIyYTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNWMwYjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNWNlYzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNWRjZDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNWVhZTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNWY4ZjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNjA3MDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNjE1MTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNjIzMjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNjMxMzciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNjNmNDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNjRkNTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNjViNjciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNjY5ODIiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNjc3ODYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNjg1OTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNjkzYTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNmExYjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNmFmYzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNmJkZDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNmNiZTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNmQ5ZjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNmU4MDciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNmY2MTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNzA0MjkiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNzEyMzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNzIwNDciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNzJlNTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNzNjNjciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNzRhNzciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNzU4ODciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNzY2OTQiIHY9Ii02ODY4Ii8+CisJCQkJCTx2YWwgbz0iMTc3NGEzIiB2PSItNjc5MCIvPgorCQkJCQk8dmFsIG89IjE3ODJiMyIgdj0iLTcyNTIiLz4KKwkJCQkJPHZhbCBvPSIxNzkwYzUiIHY9Ii02NzM0Ii8+CisJCQkJCTx2YWwgbz0iMTc5ZWQ0IiB2PSItNjAzMCIvPgorCQkJCQk8dmFsIG89IjE3YWNlNCIgdj0iLTU4OTIiLz4KKwkJCQkJPHZhbCBvPSIxN2JhZmQiIHY9Ii02MDY2Ii8+CisJCQkJCTx2YWwgbz0iMTdjOTBmIiB2PSItNTQ4NiIvPgorCQkJCQk8dmFsIG89IjE3ZDcxZSIgdj0iLTU0NDQiLz4KKwkJCQkJPHZhbCBvPSIxN2U1MmYiIHY9Ii01MzM5Ii8+CisJCQkJCTx2YWwgbz0iMTdmMzNmIiB2PSItNDk4MyIvPgorCQkJCQk8dmFsIG89IjE4MDE0ZiIgdj0iLTUxOTAiLz4KKwkJCQkJPHZhbCBvPSIxODBmNWYiIHY9Ii02MzEzIi8+CisJCQkJCTx2YWwgbz0iMTgxZDZlIiB2PSItNjgzOSIvPgorCQkJCQk8dmFsIG89IjE4MmI3ZiIgdj0iLTc4NTMiLz4KKwkJCQkJPHZhbCBvPSIxODM5OGYiIHY9Ii0xMzUwNyIvPgorCQkJCQk8dmFsIG89IjE4NDdhMSIgdj0iLTEzMzgxIi8+CisJCQkJCTx2YWwgbz0iMTg1NWFmIiB2PSItMTI3NzgiLz4KKwkJCQkJPHZhbCBvPSIxODYzYzAiIHY9Ii0xMTg5MCIvPgorCQkJCQk8dmFsIG89IjE4NzFjZiIgdj0iLTEyMzM4Ii8+CisJCQkJCTx2YWwgbz0iMTg3ZmUwIiB2PSItMTE3NzQiLz4KKwkJCQkJPHZhbCBvPSIxODhkZWYiIHY9Ii0xMjY0OSIvPgorCQkJCQk8dmFsIG89IjE4OWMwMCIgdj0iLTExODQ5Ii8+CisJCQkJCTx2YWwgbz0iMThiODBkIiB2PSItNzQ3MSIvPgorCQkJCQk8dmFsIG89IjE4YzYxYyIgdj0iLTgxMjYiLz4KKwkJCQkJPHZhbCBvPSIxOGQ0MmMiIHY9Ii03Njk2Ii8+CisJCQkJCTx2YWwgbz0iMThlMjNiIiB2PSItNjUzOCIvPgorCQkJCQk8dmFsIG89IjE4ZjA0YiIgdj0iLTYxNzUiLz4KKwkJCQkJPHZhbCBvPSIxOGZlNWUiIHY9Ii01NjY0Ii8+CisJCQkJCTx2YWwgbz0iMTkwYzc2IiB2PSItNDQ4MCIvPgorCQkJCQk8dmFsIG89IjE5MWE4NiIgdj0iLTQzMDAiLz4KKwkJCQkJPHZhbCBvPSIxOTI4OTYiIHY9Ii00MjYzIi8+CisJCQkJCTx2YWwgbz0iMTkzNmE2IiB2PSItNDExOSIvPgorCQkJCQk8dmFsIG89IjE5NDRiNyIgdj0iLTQxMDMiLz4KKwkJCQkJPHZhbCBvPSIxOTUyYzYiIHY9Ii00NTExIi8+CisJCQkJCTx2YWwgbz0iMTk2MGQ3IiB2PSItNTEzNSIvPgorCQkJCQk8dmFsIG89IjE5NmVlNiIgdj0iLTYwMzgiLz4KKwkJCQkJPHZhbCBvPSIxOTdjZjgiIHY9Ii02MzkyIi8+CisJCQkJCTx2YWwgbz0iMTk4YjBmIiB2PSItNTg5OSIvPgorCQkJCQk8dmFsIG89IjE5OTkxZiIgdj0iLTY2OTAiLz4KKwkJCQkJPHZhbCBvPSIxOWI1NDEiIHY9Ii02NjAzIi8+CisJCQkJCTx2YWwgbz0iMTljMzRkIiB2PSItNjE1OSIvPgorCQkJCQk8dmFsIG89IjE5ZDE1ZSIgdj0iLTYxMjgiLz4KKwkJCQkJPHZhbCBvPSIxOWRmODAiIHY9Ii02MjIwIi8+CisJCQkJCTx2YWwgbz0iMTllZDkwIiB2PSItNjA0NyIvPgorCQkJCQk8dmFsIG89IjE5ZWViZSIgdj0iLTYwMDkiLz4KKwkJCQkJPHZhbCBvPSIxOWZiOGUiIHY9Ii0yMjk1Ii8+CisJCQkJCTx2YWwgbz0iMWEwOWEwIiB2PSItMjU0MyIvPgorCQkJCQk8dmFsIG89IjFhMTdhZSIgdj0iLTMwODUiLz4KKwkJCQkJPHZhbCBvPSIxYTI1YmUiIHY9Ii0zMjY5Ii8+CisJCQkJCTx2YWwgbz0iMWEzM2NkIiB2PSItMjI2NyIvPgorCQkJCQk8dmFsIG89IjFhNDFkZCIgdj0iLTIxNTkiLz4KKwkJCQkJPHZhbCBvPSIxYTRmZWQiIHY9Ii0xNTMyIi8+CisJCQkJCTx2YWwgbz0iMWE1ZTA4IiB2PSItMTY3NSIvPgorCQkJCQk8dmFsIG89IjFhNmMwNSIgdj0iLTk2MCIvPgorCQkJCQk8dmFsIG89IjFhN2ExNSIgdj0iLTExMjIiLz4KKwkJCQkJPHZhbCBvPSIxYTg4MjYiIHY9Ii0xMDYxIi8+CisJCQkJCTx2YWwgbz0iMWE5NjM3IiB2PSItNTA1Ii8+CisJCQkJCTx2YWwgbz0iMWFhNDQ1IiB2PSItNTM2Ii8+CisJCQkJCTx2YWwgbz0iMWFiMjU1IiB2PSItOTkxIi8+CisJCQkJCTx2YWwgbz0iMWFjMDY1IiB2PSItMTgxOCIvPgorCQkJCQk8dmFsIG89IjFhY2U3NSIgdj0iLTI1NzQiLz4KKwkJCQkJPHZhbCBvPSIxYWRjODciIHY9Ii0yODQ0Ii8+CisJCQkJCTx2YWwgbz0iMWFlYTk2IiB2PSItMjYwOCIvPgorCQkJCQk8dmFsIG89IjFhZjhhNyIgdj0iLTI5MjgiLz4KKwkJCQkJPHZhbCBvPSIxYjA2YjciIHY9Ii0yMTEyIi8+CisJCQkJCTx2YWwgbz0iMWIxNGM2IiB2PSItMjA3NCIvPgorCQkJCQk8dmFsIG89IjFjNzQ2MCIgdj0iMzU0Ii8+CisJCQkJCTx2YWwgbz0iMWM4MjcwIiB2PSI0MzgiLz4KKwkJCQkJPHZhbCBvPSIxYzkwN2UiIHY9IjM0MDgiLz4KKwkJCQkJPHZhbCBvPSIxYzllOGYiIHY9IjMyNjkiLz4KKwkJCQkJPHZhbCBvPSIxY2FjYTIiIHY9IjM2NTUiLz4KKwkJCQkJPHZhbCBvPSIxY2JhYjEiIHY9IjM1MjEiLz4KKwkJCQkJPHZhbCBvPSIxY2M4YzEiIHY9IjU0MzEiLz4KKwkJCQkJPHZhbCBvPSIxY2Q2ZDAiIHY9IjU1NjAiLz4KKwkJCQkJPHZhbCBvPSIxY2U0ZGUiIHY9IjU2NjAiLz4KKwkJCQkJPHZhbCBvPSIxY2YyZjAiIHY9IjU2MjMiLz4KKwkJCQkJPHZhbCBvPSIxZDAxMDkiIHY9IjU4OTYiLz4KKwkJCQkJPHZhbCBvPSIxZDBmMDYiIHY9IjY2NTYiLz4KKwkJCQkJPHZhbCBvPSIxZDFkMTUiIHY9IjY2NDciLz4KKwkJCQkJPHZhbCBvPSIxZDJiMjUiIHY9IjY3MzMiLz4KKwkJCQkJPHZhbCBvPSIxZDM5MzUiIHY9IjY5MTQiLz4KKwkJCQkJPHZhbCBvPSIxZDQ3NDUiIHY9IjY4NzMiLz4KKwkJCQkJPHZhbCBvPSIxZDU1NTUiIHY9IjY2OTEiLz4KKwkJCQkJPHZhbCBvPSIxZDYzNjYiIHY9IjU4MTQiLz4KKwkJCQkJPHZhbCBvPSIxZDcxNzUiIHY9IjU2MTciLz4KKwkJCQkJPHZhbCBvPSIxZDdmODYiIHY9IjU2MDgiLz4KKwkJCQkJPHZhbCBvPSIxZDhkOTUiIHY9Ii0zMjMwIi8+CisJCQkJCTx2YWwgbz0iMWQ5YmE2IiB2PSItMzY1NiIvPgorCQkJCQk8dmFsIG89IjFkYTliNiIgdj0iLTM2MjAiLz4KKwkJCQkJPHZhbCBvPSIxZGI3YzciIHY9Ii0zNDQ5Ii8+CisJCQkJCTx2YWwgbz0iMWRjNWQ1IiB2PSItMzYwMSIvPgorCQkJCQk8dmFsIG89IjFkZDNlNiIgdj0iLTM3MzUiLz4KKwkJCQkJPHZhbCBvPSIxZGUxZjUiIHY9Ii01OTk2Ii8+CisJCQkJCTx2YWwgbz0iMWRmMDA2IiB2PSItNjcxOCIvPgorCQkJCQk8dmFsIG89IjFkZmUxNiIgdj0iLTY1ODMiLz4KKwkJCQkJPHZhbCBvPSIxZTBjMjYiIHY9Ii02NzY3Ii8+CisJCQkJCTx2YWwgbz0iMWUxYTM2IiB2PSItNjgwMCIvPgorCQkJCQk8dmFsIG89IjFlMjg0NyIgdj0iLTY1MjUiLz4KKwkJCQkJPHZhbCBvPSIxZTM2NTkiIHY9Ii02MTcwIi8+CisJCQkJCTx2YWwgbz0iMWU0NDY3IiB2PSItNTY3NiIvPgorCQkJCQk8dmFsIG89IjFlNTI4MSIgdj0iLTQ5MTEiLz4KKwkJCQkJPHZhbCBvPSIxZTYwODYiIHY9Ii00OTExIi8+CisJCQkJCTx2YWwgbz0iMWU2ZTk2IiB2PSItNDgwMSIvPgorCQkJCQk8dmFsIG89IjFlN2NhNiIgdj0iLTE5ODIiLz4KKwkJCQkJPHZhbCBvPSIxZThhYjUiIHY9Ii0xODEwIi8+CisJCQkJCTx2YWwgbz0iMWU5OGM2IiB2PSItMTgzNCIvPgorCQkJCQk8dmFsIG89IjFlYTZkNSIgdj0iLTIyNTYiLz4KKwkJCQkJPHZhbCBvPSIxZWI0ZTYiIHY9Ii0yMzI1Ii8+CisJCQkJCTx2YWwgbz0iMWVjMmY2IiB2PSItMjY4NCIvPgorCQkJCQk8dmFsIG89IjFlZDEwNiIgdj0iLTI2NzUiLz4KKwkJCQkJPHZhbCBvPSIxZWRmMTYiIHY9Ii0yNzc4Ii8+CisJCQkJCTx2YWwgbz0iMWVlZDI2IiB2PSItMjY4OCIvPgorCQkJCQk8dmFsIG89IjFlZmIzNiIgdj0iLTI2NTAiLz4KKwkJCQkJPHZhbCBvPSIxZjA5NDYiIHY9Ii0yNTU3Ii8+CisJCQkJCTx2YWwgbz0iMWYxNzU2IiB2PSItMjM1NSIvPgorCQkJCQk8dmFsIG89IjFmMjU2NiIgdj0iLTIzMTgiLz4KKwkJCQkJPHZhbCBvPSIxZjMzNzYiIHY9Ii0yNTgyIi8+CisJCQkJCTx2YWwgbz0iMWY0MTg3IiB2PSItMjgxMSIvPgorCQkJCQk8dmFsIG89IjFmNGY5NiIgdj0iLTMxODIiLz4KKwkJCQkJPHZhbCBvPSIxZjVkYTciIHY9Ii0zNTc4Ii8+CisJCQkJCTx2YWwgbz0iMWY2YmI2IiB2PSItMzU0NCIvPgorCQkJCQk8dmFsIG89IjFmNzljNyIgdj0iLTMxNDgiLz4KKwkJCQkJPHZhbCBvPSIxZjg3ZDYiIHY9Ii0zMzQ1Ii8+CisJCQkJCTx2YWwgbz0iMWY5NWU3IiB2PSItMzEzNyIvPgorCQkJCQk8dmFsIG89IjFmYTQwMSIgdj0iLTI4MDkiLz4KKwkJCQkJPHZhbCBvPSIxZmIyMDQiIHY9Ii0yNTAxIi8+CisJCQkJCTx2YWwgbz0iMWZjMDE2IiB2PSItMjQ5MyIvPgorCQkJCQk8dmFsIG89IjFmY2UyNSIgdj0iLTIxNTciLz4KKwkJCQkJPHZhbCBvPSIxZmRjMzUiIHY9Ii0yMTM3Ii8+CisJCQkJCTx2YWwgbz0iMWZlYTQ1IiB2PSItMjE1NSIvPgorCQkJCQk8dmFsIG89IjFmZjg1NSIgdj0iLTI0OTgiLz4KKwkJCQkJPHZhbCBvPSIyMDA2NjUiIHY9Ii0yMzY4Ii8+CisJCQkJCTx2YWwgbz0iMjAxNDc1IiB2PSItMzUxMyIvPgorCQkJCQk8dmFsIG89IjIwMjI4NiIgdj0iLTQ1NjYiLz4KKwkJCQkJPHZhbCBvPSIyMDMwOTUiIHY9Ii01MzQ1Ii8+CisJCQkJCTx2YWwgbz0iMjAzZWE1IiB2PSItNjA1NyIvPgorCQkJCQk8dmFsIG89IjIwNGNiNiIgdj0iLTU3OTkiLz4KKwkJCQkJPHZhbCBvPSIyMDVhYzYiIHY9Ii01MzQxIi8+CisJCQkJCTx2YWwgbz0iMjA2OGQ2IiB2PSItNTM5NSIvPgorCQkJCQk8dmFsIG89IjIwNzZlNiIgdj0iLTU5NzkiLz4KKwkJCQkJPHZhbCBvPSIyMDg0ZjYiIHY9Ii02MDkwIi8+CisJCQkJCTx2YWwgbz0iMjA5MzA2IiB2PSItNjc3OCIvPgorCQkJCQk8dmFsIG89IjIwYTExNiIgdj0iLTYzNzgiLz4KKwkJCQkJPHZhbCBvPSIyMGFmMjYiIHY9Ii01NDczIi8+CisJCQkJCTx2YWwgbz0iMjBiZDM3IiB2PSItNTM4MiIvPgorCQkJCQk8dmFsIG89IjIwY2I0NiIgdj0iLTQ2MDgiLz4KKwkJCQkJPHZhbCBvPSIyMGQ5NTciIHY9Ii00MzE2Ii8+CisJCQkJCTx2YWwgbz0iMjBlNzY3IiB2PSItNDA1NSIvPgorCQkJCQk8dmFsIG89IjIwZjU4MSIgdj0iLTM4NjciLz4KKwkJCQkJPHZhbCBvPSIyMTAzODYiIHY9Ii0zNDgyIi8+CisJCQkJCTx2YWwgbz0iMjExMTk0IiB2PSItMzExNiIvPgorCQkJCQk8dmFsIG89IjIxMWZhNSIgdj0iLTMwMTAiLz4KKwkJCQkJPHZhbCBvPSIyMTJkYjUiIHY9Ii0yOTQ0Ii8+CisJCQkJCTx2YWwgbz0iMjEzYmM1IiB2PSItMjgxOSIvPgorCQkJCQk8dmFsIG89IjIxNDlkNiIgdj0iLTM2NDQiLz4KKwkJCQkJPHZhbCBvPSIyMTU3ZTUiIHY9Ii00NDk5Ii8+CisJCQkJCTx2YWwgbz0iMjE2NWY2IiB2PSItNTc5NSIvPgorCQkJCQk8dmFsIG89IjIxNzQwNiIgdj0iLTYxOTgiLz4KKwkJCQkJPHZhbCBvPSIyMTgyMTciIHY9Ii02MTc0Ii8+CisJCQkJCTx2YWwgbz0iMjE5MDI2IiB2PSItNjEwMiIvPgorCQkJCQk8dmFsIG89IjIxOWUzOSIgdj0iLTYyMTgiLz4KKwkJCQkJPHZhbCBvPSIyMWFjNDYiIHY9Ii01ODk4Ii8+CisJCQkJCTx2YWwgbz0iMjFiYTU3IiB2PSItNTk4NiIvPgorCQkJCQk8dmFsIG89IjIxYzg2NyIgdj0iLTU2MzMiLz4KKwkJCQkJPHZhbCBvPSIyMWQ2NzciIHY9Ii02MjEwIi8+CisJCQkJCTx2YWwgbz0iMjFlNDg3IiB2PSItNTc4MyIvPgorCQkJCQk8dmFsIG89IjIxZjI5NiIgdj0iLTU3MjYiLz4KKwkJCQkJPHZhbCBvPSIyMjAwYTYiIHY9Ii01NTM5Ii8+CisJCQkJCTx2YWwgbz0iMjIwZWI3IiB2PSItNTQwOCIvPgorCQkJCQk8dmFsIG89IjIyMWNjNiIgdj0iLTQ2MDgiLz4KKwkJCQkJPHZhbCBvPSIyMjJhZDciIHY9Ii0zODc2Ii8+CisJCQkJCTx2YWwgbz0iMjIzOGU3IiB2PSItMzYxOCIvPgorCQkJCQk8dmFsIG89IjIyNDcwMSIgdj0iLTMyOTIiLz4KKwkJCQkJPHZhbCBvPSIyMjU1MDUiIHY9Ii0xNjg1Ii8+CisJCQkJCTx2YWwgbz0iMjI2MzE1IiB2PSItMjA3MiIvPgorCQkJCQk8dmFsIG89IjIyNzEyNSIgdj0iLTIwNTAiLz4KKwkJCQkJPHZhbCBvPSIyMjdmMzUiIHY9Ii0xNjcwIi8+CisJCQkJCTx2YWwgbz0iMjI4ZDQ1IiB2PSItMTc5MiIvPgorCQkJCQk8dmFsIG89IjIyOWI1NCIgdj0iLTM0ODUiLz4KKwkJCQkJPHZhbCBvPSIyMmE5NjUiIHY9Ii0zOTExIi8+CisJCQkJCTx2YWwgbz0iMjJiNzc2IiB2PSItNDU3OCIvPgorCQkJCQk8dmFsIG89IjIyYzU4NiIgdj0iLTQ3ODgiLz4KKwkJCQkJPHZhbCBvPSIyMmQzOTciIHY9Ii00NDU5Ii8+CisJCQkJCTx2YWwgbz0iMjJlMWE2IiB2PSItNDY5MyIvPgorCQkJCQk8dmFsIG89IjIyZWZiNiIgdj0iLTQ4MzAiLz4KKwkJCQkJPHZhbCBvPSIyMmZkYzciIHY9Ii00NjUyIi8+CisJCQkJCTx2YWwgbz0iMjMwYmQ3IiB2PSItNDQ1MiIvPgorCQkJCQk8dmFsIG89IjIzMTllNiIgdj0iLTUzOTQiLz4KKwkJCQkJPHZhbCBvPSIyMzI3ZjYiIHY9Ii01NTM4Ii8+CisJCQkJCTx2YWwgbz0iMjMzNjFiIiB2PSItNTg2NiIvPgorCQkJCQk8dmFsIG89IjIzNDQxNiIgdj0iLTUyMjUiLz4KKwkJCQkJPHZhbCBvPSIyMzUyMjYiIHY9Ii01MTYyIi8+CisJCQkJCTx2YWwgbz0iMjM2MDM3IiB2PSItNTI1MCIvPgorCQkJCQk8dmFsIG89IjIzNmU0NiIgdj0iLTQzODQiLz4KKwkJCQkJPHZhbCBvPSIyMzdjNTciIHY9Ii00MjE4Ii8+CisJCQkJCTx2YWwgbz0iMjM4YTY2IiB2PSItNDAxNiIvPgorCQkJCQk8dmFsIG89IjIzOTg4MSIgdj0iLTMyMjIiLz4KKwkJCQkJPHZhbCBvPSIyM2E2ODUiIHY9Ii0zMzExIi8+CisJCQkJCTx2YWwgbz0iMjNiNDk1IiB2PSItMzE4MyIvPgorCQkJCQk8dmFsIG89IjIzYzJhNCIgdj0iLTI5NzQiLz4KKwkJCQkJPHZhbCBvPSIyM2QwYjUiIHY9Ii0yOTQ1Ii8+CisJCQkJCTx2YWwgbz0iMjNkZWM0IiB2PSItMjkzMyIvPgorCQkJCQk8dmFsIG89IjIzZWNkNSIgdj0iLTM1NzAiLz4KKwkJCQkJPHZhbCBvPSIyM2ZhZTQiIHY9Ii00NTQ1Ii8+CisJCQkJCTx2YWwgbz0iMjQwOGY2IiB2PSItNTExOSIvPgorCQkJCQk8dmFsIG89IjI0MTcwNiIgdj0iLTU3MzciLz4KKwkJCQkJPHZhbCBvPSIyNDI1MTgiIHY9Ii02NTE1Ii8+CisJCQkJCTx2YWwgbz0iMjQzMzI1IiB2PSItNjc3NiIvPgorCQkJCQk8dmFsIG89IjI0NDEzNyIgdj0iLTY3NTUiLz4KKwkJCQkJPHZhbCBvPSIyNDRmNDYiIHY9Ii02MzYxIi8+CisJCQkJCTx2YWwgbz0iMjQ2YjY2IiB2PSItNjU0NiIvPgorCQkJCQk8dmFsIG89IjI0Nzk3NiIgdj0iLTYyNzMiLz4KKwkJCQkJPHZhbCBvPSIyNDg3ODYiIHY9Ii01NDAyIi8+CisJCQkJCTx2YWwgbz0iMjQ5NTdlIiB2PSItNTc5NyIvPgorCQkJCQk8dmFsIG89IjI0YTM4ZiIgdj0iLTU2NDciLz4KKwkJCQkJPHZhbCBvPSIyNGIxOWMiIHY9Ii01NzQ3Ii8+CisJCQkJCTx2YWwgbz0iMjRiZmFjIiB2PSItNTQ0MyIvPgorCQkJCQk8dmFsIG89IjI0Y2RiYyIgdj0iLTU0NDUiLz4KKwkJCQkJPHZhbCBvPSIyNGRiY2QiIHY9Ii00NTU3Ii8+CisJCQkJCTx2YWwgbz0iMjRlOWU1IiB2PSItNDAxOSIvPgorCQkJCQk8dmFsIG89IjI0ZjgwOCIgdj0iLTM0ODQiLz4KKwkJCQkJPHZhbCBvPSIyNTA2MTYiIHY9Ii0zNjE2Ii8+CisJCQkJCTx2YWwgbz0iMjUxNDI2IiB2PSItMzU1OSIvPgorCQkJCQk8dmFsIG89IjI1MjIzNiIgdj0iLTM0MDgiLz4KKwkJCQkJPHZhbCBvPSIyNTMwNDciIHY9Ii0zNjA5Ii8+CisJCQkJCTx2YWwgbz0iMjUzZTU2IiB2PSItNDAyMCIvPgorCQkJCQk8dmFsIG89IjI1NGM2NyIgdj0iLTQxODIiLz4KKwkJCQkJPHZhbCBvPSIyNTVhNzYiIHY9Ii00OTk3Ii8+CisJCQkJCTx2YWwgbz0iMjU2ODg3IiB2PSItNTgxMCIvPgorCQkJCQk8dmFsIG89IjI1NzY5NyIgdj0iLTU1OTUiLz4KKwkJCQkJPHZhbCBvPSIyNTg0YTgiIHY9Ii0xNTIyNCIvPgorCQkJCQk8dmFsIG89IjI1OTJiNiIgdj0iLTg2OTUiLz4KKwkJCQkJPHZhbCBvPSIyNWEwYzciIHY9Ii00NTc1Ii8+CisJCQkJCTx2YWwgbz0iMjVhZWQ3IiB2PSItNjMxMyIvPgorCQkJCQk8dmFsIG89IjI1YmNlNyIgdj0iLTYxMDQiLz4KKwkJCQkJPHZhbCBvPSIyNWNhZjgiIHY9Ii01NzUwIi8+CisJCQkJCTx2YWwgbz0iMjVkOTA3IiB2PSItNTc2NCIvPgorCQkJCQk8dmFsIG89IjI1ZTcxOCIgdj0iLTU2NDkiLz4KKwkJCQkJPHZhbCBvPSIyNWY1MjciIHY9Ii01MjQ5Ii8+CisJCQkJCTx2YWwgbz0iMjYwMzM4IiB2PSItNTU2MiIvPgorCQkJCQk8dmFsIG89IjI2MTE0OSIgdj0iLTQ4NzUiLz4KKwkJCQkJPHZhbCBvPSIyNjFmNTkiIHY9Ii00NjE5Ii8+CisJCQkJCTx2YWwgbz0iMjYyZDY4IiB2PSItNDYxMSIvPgorCQkJCQk8dmFsIG89IjI2M2I4MyIgdj0iLTM2MTkiLz4KKwkJCQkJPHZhbCBvPSIyNjQ5ODYiIHY9Ii0zNDY3Ii8+CisJCQkJCTx2YWwgbz0iMjY1Nzk1IiB2PSItMzU2NCIvPgorCQkJCQk8dmFsIG89IjI2NjVhNiIgdj0iLTM2NzIiLz4KKwkJCQkJPHZhbCBvPSIyNjczYjUiIHY9Ii0zNjE0Ii8+CisJCQkJCTx2YWwgbz0iMjY4MWM2IiB2PSItMzYyMSIvPgorCQkJCQk8dmFsIG89IjI2OGZkNSIgdj0iLTM4NjgiLz4KKwkJCQkJPHZhbCBvPSIyNjlkZTYiIHY9Ii0zOTY5Ii8+CisJCQkJCTx2YWwgbz0iMjZhYmY2IiB2PSItMzg4NiIvPgorCQkJCQk8dmFsIG89IjI2YmEwNiIgdj0iLTQzODEiLz4KKwkJCQkJPHZhbCBvPSIyNmM4MTciIHY9Ii00MjcxIi8+CisJCQkJCTx2YWwgbz0iMjZkNjJiIiB2PSItMzk2NyIvPgorCQkJCQk8dmFsIG89IjI2ZTQzNiIgdj0iLTQwMDIiLz4KKwkJCQkJPHZhbCBvPSIyNmYyNDciIHY9Ii0zNTYyIi8+CisJCQkJCTx2YWwgbz0iMjcwMDU3IiB2PSItMzg3NCIvPgorCQkJCQk8dmFsIG89IjI3MGU2NyIgdj0iLTM1NjEiLz4KKwkJCQkJPHZhbCBvPSIyNzFjNzciIHY9Ii00NjkwIi8+CisJCQkJCTx2YWwgbz0iMjcyYTg3IiB2PSItNTE5NiIvPgorCQkJCQk8dmFsIG89IjI3Mzg5NyIgdj0iLTUyMTEiLz4KKwkJCQkJPHZhbCBvPSIyNzQ2YTgiIHY9Ii01MDM3Ii8+CisJCQkJCTx2YWwgbz0iMjc1NGI5IiB2PSItNDk2MyIvPgorCQkJCQk8dmFsIG89IjI3NjJjNyIgdj0iLTQwNDgiLz4KKwkJCQkJPHZhbCBvPSIyNzcwZDgiIHY9Ii0zNzA4Ii8+CisJCQkJCTx2YWwgbz0iMjc3ZWU3IiB2PSItMzIxNSIvPgorCQkJCTwvcGFyPgorCQkJCTxwYXIgbWVtaW5kPSI0MzgyMDAiIGg9IjNkYzFhOGRlIj4KKwkJCQkJPHZhbCBvPSIwIiB2PSItMTEwMyIvPgorCQkJCQk8dmFsIG89ImUwOCIgdj0iLTEyODYiLz4KKwkJCQkJPHZhbCBvPSIxYzMyIiB2PSItMTM1MSIvPgorCQkJCQk8dmFsIG89IjJhM2MiIHY9Ii0xNDI3Ii8+CisJCQkJCTx2YWwgbz0iMzgzNSIgdj0iLTEyNDYiLz4KKwkJCQkJPHZhbCBvPSI0NjQ1IiB2PSItMTEwMSIvPgorCQkJCQk8dmFsIG89IjU0NTUiIHY9Ii05MDkiLz4KKwkJCQkJPHZhbCBvPSI2MjY1IiB2PSItMTQ3MiIvPgorCQkJCQk8dmFsIG89IjcwNzUiIHY9Ii0xNTIzIi8+CisJCQkJCTx2YWwgbz0iN2U4NSIgdj0iLTE0MzUiLz4KKwkJCQkJPHZhbCBvPSI4Yzk2IiB2PSItMTc4NCIvPgorCQkJCQk8dmFsIG89IjlhYTUiIHY9Ii0xNzU3Ii8+CisJCQkJCTx2YWwgbz0iYThiNiIgdj0iLTE2ODIiLz4KKwkJCQkJPHZhbCBvPSJiNmM1IiB2PSItMTc0NSIvPgorCQkJCQk8dmFsIG89ImM0ZDciIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iZDMwYiIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSJlMGY2IiB2PSItNiIvPgorCQkJCQk8dmFsIG89ImVmMDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJmZDE3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTBiMjciIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iMTE5MzciIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iMTI3NDYiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iMTM1NTYiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iMTQzNjYiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iMTUxODEiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iMTVmODUiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iMTZkOTUiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iMTdiYTQiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iMTg5YjUiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iMTk3YzQiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iMWE1ZDUiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iMWIzZTYiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iMWMxZjYiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iMWQwMDUiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iMWRlMTUiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iMWVjMjUiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iMWZhMzYiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iMjA4NDUiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iMjE2NTYiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iMjI0NjUiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iMjMyNzYiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iMjQwODYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNGU5OSIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSIyNWNhNyIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSIyNmFiNyIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSIyNzhjNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI4NmQ2IiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjI5NGU2IiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjJhMzAxIiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjJiMTA1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMmJmMTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyY2QyNSIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSIyZGIzNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjJlOTQ2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMmY3NTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIzMDU2NiIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSIzMTM3NSIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSIzMjE5ZSIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSIzMmY5NiIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSIzM2RhNiIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSIzNGJiNiIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSIzNTlkZSIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSIzNjdkNiIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSIzNzVlNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjM4NDBlIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMzkyMWUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIzYTAxNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjNhZTI3IiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjNiYzM2IiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjNjYTQ3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iM2Q4NTYiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iM2U2NjciIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iM2Y0ODEiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iNDAyODUiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iNDEwOTUiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iNDFlYTUiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iNDJjYjUiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iNDNhYzUiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iNDQ4ZDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI0NTZlNiIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSI0NjRmNSIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSI0ODBmZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjQ4ZjBlIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNDlkMWQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI0YWI0NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjRiOTU1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNGM3NjkiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI0ZDU3NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjRlMzg3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNGYxOTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI0ZmZhNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjUwZGQwIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNTFiYzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI1MjlkNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjUzN2U3IiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjU0NjAwIiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjU1NDA2IiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjU2MjE1IiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjU3MDI2IiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjU3ZTM2IiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjU4YzQ2IiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjU5YTcwIiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjVhODY3IiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjViNjc2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNWM0ODciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI1ZDI5NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjVlMGE5IiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjVlZWI4IiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjVmY2M2IiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjYwYWQ3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNjE4ZTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI2MjZmNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjYzNTA3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNjQzMTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI2NTEyNyIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSI2NWYzNyIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSI2NmQ0NiIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSI2N2I1NyIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSI2ODk2NyIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSI2OTc4MiIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSI2YTU4NiIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSI2YjM5NSIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSI2YzFhNiIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSI2Y2ZiNSIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSI2ZGRjNiIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSI2ZWJkNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjZmOWU2IiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjcwN2Y2IiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjcxNjA3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNzI0MTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI3MzIyNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89Ijc0MDM3IiB2PSItNiIvPgorCQkJCQk8dmFsIG89Ijc0ZTQ3IiB2PSItNiIvPgorCQkJCQk8dmFsIG89Ijc1YzU3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNzZhNjMiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI3Nzg3MyIgdj0iMCIvPgorCQkJCQk8dmFsIG89Ijc4NjgwIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNzk0OGYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI3YTI5ZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjdiMGFmIiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjdiZWJmIiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjdjY2NmIiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjdkYWRmIiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjdlOGZhIiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjdmNzBhIiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjgwNTFhIiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjgxMzJhIiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjgyMTNhIiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjgyZjRhIiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjgzZDVhIiB2PSItNiIvPgorCQkJCQk8dmFsIG89Ijg0YjZhIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iODU5N2EiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI4Njc4YiIgdj0iMCIvPgorCQkJCQk8dmFsIG89Ijg3NTliIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iODgzYWMiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iODkxYmIiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iODlmY2EiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iOGFkZGEiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI4YmJlYiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjhjOWZjIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iOGQ4MGIiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI4ZTYxYSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjhmNDJhIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iOTAyM2EiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI5MTA0YSIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSI5MWU1YSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjkyYzZhIiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjkzYTg0IiB2PSItNiIvPgorCQkJCQk8dmFsIG89Ijk0ODg1IiB2PSItNiIvPgorCQkJCQk8dmFsIG89Ijk1Njk0IiB2PSItNiIvPgorCQkJCQk8dmFsIG89Ijk2NGE1IiB2PSItNiIvPgorCQkJCQk8dmFsIG89Ijk3MmI0IiB2PSItNiIvPgorCQkJCQk8dmFsIG89Ijk4MGM1IiB2PSItNiIvPgorCQkJCQk8dmFsIG89Ijk4ZWQ0IiB2PSItNiIvPgorCQkJCQk8dmFsIG89Ijk5Y2U1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iOWFhZjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI5YjkwNiIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSI5YzcxNiIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSI5ZDUyNiIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSI5ZTMzNiIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSI5ZjE0NSIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSI5ZmY1NiIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSJhMGQ2NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImExYjc3IiB2PSItMTU5MCIvPgorCQkJCQk8dmFsIG89ImEyOTg2IiB2PSItNTAwIi8+CisJCQkJCTx2YWwgbz0iYTM3OTUiIHY9IjEzNzkiLz4KKwkJCQkJPHZhbCBvPSJhNDVhNyIgdj0iLTQ1Ii8+CisJCQkJCTx2YWwgbz0iYTUzYjYiIHY9Ii0zNDYiLz4KKwkJCQkJPHZhbCBvPSJhNjFjNyIgdj0iLTU4MCIvPgorCQkJCQk8dmFsIG89ImE2ZmQ2IiB2PSItNzUyIi8+CisJCQkJCTx2YWwgbz0iYTdlMDAiIHY9Ii0xMzY3Ii8+CisJCQkJCTx2YWwgbz0iYThjMDAiIHY9Ii0xOTA2Ii8+CisJCQkJCTx2YWwgbz0iYTlhMDUiIHY9IjEwMSIvPgorCQkJCQk8dmFsIG89ImFhODE1IiB2PSItMzY2Ii8+CisJCQkJCTx2YWwgbz0iYWI2MjUiIHY9Ii03NDAiLz4KKwkJCQkJPHZhbCBvPSJhYzQzNSIgdj0iLTU1MCIvPgorCQkJCQk8dmFsIG89ImFkMjQ1IiB2PSI0MzIiLz4KKwkJCQkJPHZhbCBvPSJhZTA1NSIgdj0iMTU5NSIvPgorCQkJCQk8dmFsIG89ImFlZTY1IiB2PSIyNzUiLz4KKwkJCQkJPHZhbCBvPSJhZmM3NSIgdj0iMTAxOSIvPgorCQkJCQk8dmFsIG89ImIwYTg1IiB2PSIzNDQ0Ii8+CisJCQkJCTx2YWwgbz0iYjI2YTYiIHY9IjM2MjkiLz4KKwkJCQkJPHZhbCBvPSJiMzRiNiIgdj0iMzIwMyIvPgorCQkJCQk8dmFsIG89ImI0MmM2IiB2PSIyMTUiLz4KKwkJCQkJPHZhbCBvPSJiNTBkNiIgdj0iMzgwIi8+CisJCQkJCTx2YWwgbz0iYjVlZTciIHY9Ijg5MCIvPgorCQkJCQk8dmFsIG89ImI2Y2Y2IiB2PSItNDQ2Ii8+CisJCQkJCTx2YWwgbz0iYjdiMDciIHY9Ii0yMDAiLz4KKwkJCQkJPHZhbCBvPSJiODkxNyIgdj0iLTQ0Ii8+CisJCQkJCTx2YWwgbz0iYjk3MjgiIHY9Ii00MjQiLz4KKwkJCQkJPHZhbCBvPSJiYTUzNyIgdj0iLTcxOCIvPgorCQkJCQk8dmFsIG89ImJiMzQ3IiB2PSI5NDYiLz4KKwkJCQkJPHZhbCBvPSJiYzE1NyIgdj0iMjc2Ii8+CisJCQkJCTx2YWwgbz0iYmNmNjciIHY9Ii05NDQiLz4KKwkJCQkJPHZhbCBvPSJiZGQ4MSIgdj0iMzEyOSIvPgorCQkJCQk8dmFsIG89ImJlYjg2IiB2PSI0NTMiLz4KKwkJCQkJPHZhbCBvPSJiZjk5NSIgdj0iMTk0Ii8+CisJCQkJCTx2YWwgbz0iYzA3YTYiIHY9Ii0yNDYiLz4KKwkJCQkJPHZhbCBvPSJjMTViNSIgdj0iLTEyMiIvPgorCQkJCQk8dmFsIG89ImMyM2M2IiB2PSI0MzAiLz4KKwkJCQkJPHZhbCBvPSJjMzFkNSIgdj0iMTU4MiIvPgorCQkJCQk8dmFsIG89ImMzZmU2IiB2PSI3MjAiLz4KKwkJCQkJPHZhbCBvPSJjNGRmNSIgdj0iMTMzMyIvPgorCQkJCQk8dmFsIG89ImM1YzA2IiB2PSI1ODgiLz4KKwkJCQkJPHZhbCBvPSJjNmExNiIgdj0iNjQyIi8+CisJCQkJCTx2YWwgbz0iYzc4MjYiIHY9IjEwOTYiLz4KKwkJCQkJPHZhbCBvPSJjODYzNiIgdj0iMzEzIi8+CisJCQkJCTx2YWwgbz0iYzk0NDYiIHY9IjM3NCIvPgorCQkJCQk8dmFsIG89ImNhMjU2IiB2PSIyMDQiLz4KKwkJCQkJPHZhbCBvPSJjYjA2NiIgdj0iNjkyIi8+CisJCQkJCTx2YWwgbz0iY2JlNzYiIHY9Ii0xOTYiLz4KKwkJCQkJPHZhbCBvPSJjY2M4NyIgdj0iMTg4OCIvPgorCQkJCQk8dmFsIG89ImNkYTk2IiB2PSIyNTAyIi8+CisJCQkJCTx2YWwgbz0iY2U4YTgiIHY9IjE4NDAiLz4KKwkJCQkJPHZhbCBvPSJjZjZiNyIgdj0iMjQzNyIvPgorCQkJCQk8dmFsIG89ImQwNGM4IiB2PSIxOTMwIi8+CisJCQkJCTx2YWwgbz0iZDEyZDciIHY9IjEyMTkiLz4KKwkJCQkJPHZhbCBvPSJkMjBlNyIgdj0iLTI1MCIvPgorCQkJCQk8dmFsIG89ImQyZjAyIiB2PSItMTk3MSIvPgorCQkJCQk8dmFsIG89ImQzZDA1IiB2PSItMTAyOSIvPgorCQkJCQk8dmFsIG89ImQ0YjE1IiB2PSItMTA3MiIvPgorCQkJCQk8dmFsIG89ImQ1OTI2IiB2PSItMzg4Ii8+CisJCQkJCTx2YWwgbz0iZDY3MzUiIHY9IjIyOSIvPgorCQkJCQk8dmFsIG89ImQ3NTQ2IiB2PSIxMTMxIi8+CisJCQkJCTx2YWwgbz0iZDgzNTUiIHY9Ii03MjYiLz4KKwkJCQkJPHZhbCBvPSJkOTE2NiIgdj0iMTY2Ii8+CisJCQkJCTx2YWwgbz0iZDlmNzUiIHY9Ijk2NSIvPgorCQkJCQk8dmFsIG89ImRhZDg3IiB2PSIyMzQxIi8+CisJCQkJCTx2YWwgbz0iZGJiOTciIHY9IjIzNTQiLz4KKwkJCQkJPHZhbCBvPSJkYzlhOCIgdj0iMjU2NSIvPgorCQkJCQk8dmFsIG89ImRkN2I3IiB2PSIxMTM2Ii8+CisJCQkJCTx2YWwgbz0iZGU1YzYiIHY9IjM2NyIvPgorCQkJCQk8dmFsIG89ImRmM2Q3IiB2PSIxNzMiLz4KKwkJCQkJPHZhbCBvPSJlMDFkNyIgdj0iMTU2Ii8+CisJCQkJCTx2YWwgbz0iZTBmZTUiIHY9IjQ2MCIvPgorCQkJCQk8dmFsIG89ImUxZGY1IiB2PSIzNTgiLz4KKwkJCQkJPHZhbCBvPSJlMmMwNCIgdj0iLTMwOCIvPgorCQkJCQk8dmFsIG89ImUzYTE0IiB2PSItMTAwNiIvPgorCQkJCQk8dmFsIG89ImU0ODI0IiB2PSI5MyIvPgorCQkJCQk8dmFsIG89ImU1NjM0IiB2PSItNzIzIi8+CisJCQkJCTx2YWwgbz0iZTY0NDQiIHY9IjE0NyIvPgorCQkJCQk8dmFsIG89ImU3MjU1IiB2PSItNTUxIi8+CisJCQkJCTx2YWwgbz0iZTgwNmYiIHY9Ii02MjYiLz4KKwkJCQkJPHZhbCBvPSJlOGU3ZiIgdj0iMjMxNiIvPgorCQkJCQk8dmFsIG89ImU5YzhlIiB2PSI3MTQiLz4KKwkJCQkJPHZhbCBvPSJlYWE5ZiIgdj0iNjAwIi8+CisJCQkJCTx2YWwgbz0iZWI4YWUiIHY9Ijk1MyIvPgorCQkJCQk8dmFsIG89ImVjNmJmIiB2PSIyMjY3Ii8+CisJCQkJCTx2YWwgbz0iZWQ0Y2UiIHY9Ii00MDMiLz4KKwkJCQkJPHZhbCBvPSJlZTJkZiIgdj0iOTk5Ii8+CisJCQkJCTx2YWwgbz0iZWYwZWYiIHY9IjQ3NSIvPgorCQkJCQk8dmFsIG89ImVmZjAxIiB2PSIxNjYzIi8+CisJCQkJCTx2YWwgbz0iZjBkMTAiIHY9IjgyOSIvPgorCQkJCQk8dmFsIG89ImYxYjIwIiB2PSIxMDU1Ii8+CisJCQkJCTx2YWwgbz0iZjI5MzAiIHY9Ii0zMTQiLz4KKwkJCQkJPHZhbCBvPSJmMzc0MCIgdj0iMTQzMSIvPgorCQkJCQk8dmFsIG89ImY0NTUxIiB2PSIxMjAxIi8+CisJCQkJCTx2YWwgbz0iZjUzNjEiIHY9IjEyODAiLz4KKwkJCQkJPHZhbCBvPSJmNjE3MiIgdj0iMTQzMSIvPgorCQkJCQk8dmFsIG89ImY2ZjgwIiB2PSIxMTQ1Ii8+CisJCQkJCTx2YWwgbz0iZjdkOTEiIHY9IjE2MzUiLz4KKwkJCQkJPHZhbCBvPSJmOGJhMSIgdj0iOTU3Ii8+CisJCQkJCTx2YWwgbz0iZjk5YjEiIHY9IjEwMTkiLz4KKwkJCQkJPHZhbCBvPSJmYTdjMCIgdj0iMTIxOSIvPgorCQkJCQk8dmFsIG89ImZiNWQxIiB2PSIxMTQzIi8+CisJCQkJCTx2YWwgbz0iZmMzZTAiIHY9Ii04OTMiLz4KKwkJCQkJPHZhbCBvPSJmZDFmYiIgdj0iLTEwMTkiLz4KKwkJCQkJPHZhbCBvPSJmZTAwYiIgdj0iLTEzODkiLz4KKwkJCQkJPHZhbCBvPSJmZWUxYyIgdj0iLTE4MiIvPgorCQkJCQk8dmFsIG89ImZmYzJjIiB2PSItMjIwIi8+CisJCQkJCTx2YWwgbz0iMTAwYTNiIiB2PSI1MDIiLz4KKwkJCQkJPHZhbCBvPSIxMDE4NGMiIHY9Ijk0MCIvPgorCQkJCQk8dmFsIG89IjEwMjY1YiIgdj0iMTcxOSIvPgorCQkJCQk8dmFsIG89IjEwMzQ2YyIgdj0iMTU5MiIvPgorCQkJCQk8dmFsIG89IjEwNDI3YiIgdj0iOTYwIi8+CisJCQkJCTx2YWwgbz0iMTA1MDhkIiB2PSIxNTM3Ii8+CisJCQkJCTx2YWwgbz0iMTA1ZTlkIiB2PSIxMTc3Ii8+CisJCQkJCTx2YWwgbz0iMTA2Y2FkIiB2PSIxMzM3Ii8+CisJCQkJCTx2YWwgbz0iMTA3YWJkIiB2PSI3MzciLz4KKwkJCQkJPHZhbCBvPSIxMDg4Y2QiIHY9IjcyMyIvPgorCQkJCQk8dmFsIG89IjEwOTZkZSIgdj0iOTE3Ii8+CisJCQkJCTx2YWwgbz0iMTBhNGVkIiB2PSI3OTQiLz4KKwkJCQkJPHZhbCBvPSIxMGIyZmUiIHY9IjEwNzUiLz4KKwkJCQkJPHZhbCBvPSIxMGMxMGQiIHY9IjIzMjgiLz4KKwkJCQkJPHZhbCBvPSIxMGNmMWUiIHY9IjExOTIiLz4KKwkJCQkJPHZhbCBvPSIxMGRkMmUiIHY9Ijg2NyIvPgorCQkJCQk8dmFsIG89IjEwZWI2NiIgdj0iMTg0Ii8+CisJCQkJCTx2YWwgbz0iMTBmOTRlIiB2PSIxMiIvPgorCQkJCQk8dmFsIG89IjExMDc1ZSIgdj0iOTc4Ii8+CisJCQkJCTx2YWwgbz0iMTExNTZkIiB2PSIyNTYiLz4KKwkJCQkJPHZhbCBvPSIxMTIzODgiIHY9Ii0xMDA3Ii8+CisJCQkJCTx2YWwgbz0iMTEzMTg3IiB2PSI2MTQiLz4KKwkJCQkJPHZhbCBvPSIxMTNmYjAiIHY9IjIwNSIvPgorCQkJCQk8dmFsIG89IjExNGRhNiIgdj0iMTk1Ii8+CisJCQkJCTx2YWwgbz0iMTE1YmI2IiB2PSIzMTYiLz4KKwkJCQkJPHZhbCBvPSIxMTY5YzYiIHY9IjEyNDEiLz4KKwkJCQkJPHZhbCBvPSIxMTc3ZDYiIHY9IjE3NDgiLz4KKwkJCQkJPHZhbCBvPSIxMTg1ZTgiIHY9IjEwNDYiLz4KKwkJCQkJPHZhbCBvPSIxMTkzZjciIHY9IjEwOTkiLz4KKwkJCQkJPHZhbCBvPSIxMWEyMDgiIHY9IjMwOSIvPgorCQkJCQk8dmFsIG89IjExYjAxNyIgdj0iLTIwMiIvPgorCQkJCQk8dmFsIG89IjExYmUyZiIgdj0iLTcyMiIvPgorCQkJCQk8dmFsIG89IjExY2MzNyIgdj0iNjgwIi8+CisJCQkJCTx2YWwgbz0iMTFkYTQ3IiB2PSI0NDAiLz4KKwkJCQkJPHZhbCBvPSIxMWU4NTciIHY9Ijg3MCIvPgorCQkJCQk8dmFsIG89IjExZjY2NyIgdj0iNDc1Ii8+CisJCQkJCTx2YWwgbz0iMTIwNTc4IiB2PSIxIi8+CisJCQkJCTx2YWwgbz0iMTIxMzg2IiB2PSIxIi8+CisJCQkJCTx2YWwgbz0iMTIyMTk2IiB2PSIyIi8+CisJCQkJCTx2YWwgbz0iMTIyZmE2IiB2PSIxIi8+CisJCQkJCTx2YWwgbz0iMTIzZGI1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTI0YmM1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTI1OWQ1IiB2PSIxIi8+CisJCQkJCTx2YWwgbz0iMTI2N2U0IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTI3NjAwIiB2PSItMSIvPgorCQkJCQk8dmFsIG89IjEyODMwNSIgdj0iLTEiLz4KKwkJCQkJPHZhbCBvPSIxMjkxMTUiIHY9Ii0xIi8+CisJCQkJCTx2YWwgbz0iMTI5ZjI1IiB2PSItMSIvPgorCQkJCQk8dmFsIG89IjEyYWQzNSIgdj0iLTEiLz4KKwkJCQkJPHZhbCBvPSIxMmJiNDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMmM5NTQiIHY9IjEiLz4KKwkJCQkJPHZhbCBvPSIxMmQ3NjYiIHY9IjEiLz4KKwkJCQkJPHZhbCBvPSIxMmU1NzUiIHY9IjEiLz4KKwkJCQkJPHZhbCBvPSIxMmYzODYiIHY9IjEiLz4KKwkJCQkJPHZhbCBvPSIxMzAxOTYiIHY9IjEiLz4KKwkJCQkJPHZhbCBvPSIxMzBmYTYiIHY9IjEiLz4KKwkJCQkJPHZhbCBvPSIxMzFkYjciIHY9IjEiLz4KKwkJCQkJPHZhbCBvPSIxMzJiYzUiIHY9IjEiLz4KKwkJCQkJPHZhbCBvPSIxMzM5ZDQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMzQ3ZTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMzU1ZjQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMzY0MDQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMzcyMTQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMzgwMjQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMzhlMzMiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMzljNDQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxM2FhNTQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxM2I4NjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxM2M2N2UiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxM2Q0OGUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxM2UyOWUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxM2YwYWUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxM2ZlYmYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNDBjY2YiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNDFhZGYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNDI4ZWYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNDM2ZmYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNDQ1MGYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNDUzMWYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNDYxMzAiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNDZmNDAiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNDdkNDQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNDhiNTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNDk5NjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNGE3NzUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNGI1ODQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNGMzOTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNGQxYTQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNGRmYjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNGVkYzUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNGZiZDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNTA5ZTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNTE3ZmYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNTI2MDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNTM0MTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNTQyMjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNTUwMzUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNTVlNDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNTZjNTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNTdhNjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNTg4NzUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNTk2ODYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNWE0OTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNWIyYTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNWMwYjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNWNlYzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNWRjZDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNWVhZTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNWY4ZjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNjA3MDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNjE1MTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNjIzMjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNjMxMzciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNjNmNDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNjRkNTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNjViNjciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNjY5ODIiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNjc3ODYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNjg1OTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNjkzYTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNmExYjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNmFmYzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNmJkZDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNmNiZTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNmQ5ZjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNmU4MDciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNmY2MTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNzA0MjkiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNzEyMzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNzIwNDciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNzJlNTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNzNjNjciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNzRhNzciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNzU4ODciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNzY2OTQiIHY9IjE5NTkiLz4KKwkJCQkJPHZhbCBvPSIxNzc0YTMiIHY9IjE1MDYiLz4KKwkJCQkJPHZhbCBvPSIxNzgyYjMiIHY9IjEwMjciLz4KKwkJCQkJPHZhbCBvPSIxNzkwYzUiIHY9IjY3NyIvPgorCQkJCQk8dmFsIG89IjE3OWVkNCIgdj0iLTc1OSIvPgorCQkJCQk8dmFsIG89IjE3YWNlNCIgdj0iLTIwNDIiLz4KKwkJCQkJPHZhbCBvPSIxN2JhZmQiIHY9Ii0yNTU0Ii8+CisJCQkJCTx2YWwgbz0iMTdjOTBmIiB2PSItMjE3OCIvPgorCQkJCQk8dmFsIG89IjE3ZDcxZSIgdj0iLTIxMjYiLz4KKwkJCQkJPHZhbCBvPSIxN2U1MmYiIHY9Ii0yNDg0Ii8+CisJCQkJCTx2YWwgbz0iMTdmMzNmIiB2PSItMTk4MCIvPgorCQkJCQk8dmFsIG89IjE4MDE0ZiIgdj0iLTEwNzIiLz4KKwkJCQkJPHZhbCBvPSIxODBmNWYiIHY9Ii01MjQiLz4KKwkJCQkJPHZhbCBvPSIxODFkNmUiIHY9Ii0xMzY2Ii8+CisJCQkJCTx2YWwgbz0iMTgyYjdmIiB2PSItMTc1MyIvPgorCQkJCQk8dmFsIG89IjE4Mzk4ZiIgdj0iLTg5MyIvPgorCQkJCQk8dmFsIG89IjE4NDdhMSIgdj0iLTg0NSIvPgorCQkJCQk8dmFsIG89IjE4NTVhZiIgdj0iLTExNDgiLz4KKwkJCQkJPHZhbCBvPSIxODYzYzAiIHY9Ii0yNzEwIi8+CisJCQkJCTx2YWwgbz0iMTg3MWNmIiB2PSItMjI5NyIvPgorCQkJCQk8dmFsIG89IjE4N2ZlMCIgdj0iLTIyMDgiLz4KKwkJCQkJPHZhbCBvPSIxODhkZWYiIHY9Ii0yMDM3Ii8+CisJCQkJCTx2YWwgbz0iMTg5YzAwIiB2PSItOTk3Ii8+CisJCQkJCTx2YWwgbz0iMThiODBkIiB2PSIxMDQ4Ii8+CisJCQkJCTx2YWwgbz0iMThjNjFjIiB2PSItOTU1Ii8+CisJCQkJCTx2YWwgbz0iMThkNDJjIiB2PSItMTMzNCIvPgorCQkJCQk8dmFsIG89IjE4ZTIzYiIgdj0iLTExMjEiLz4KKwkJCQkJPHZhbCBvPSIxOGYwNGIiIHY9Ii0xNjI1Ii8+CisJCQkJCTx2YWwgbz0iMThmZTVlIiB2PSItMTQxOSIvPgorCQkJCQk8dmFsIG89IjE5MGM3NiIgdj0iLTY3MSIvPgorCQkJCQk8dmFsIG89IjE5MWE4NiIgdj0iLTE1MDEiLz4KKwkJCQkJPHZhbCBvPSIxOTI4OTYiIHY9Ii0xNTExIi8+CisJCQkJCTx2YWwgbz0iMTkzNmE2IiB2PSItMTYxOCIvPgorCQkJCQk8dmFsIG89IjE5NDRiNyIgdj0iLTEwMzciLz4KKwkJCQkJPHZhbCBvPSIxOTUyYzYiIHY9Ii0xOTIiLz4KKwkJCQkJPHZhbCBvPSIxOTYwZDciIHY9IjEzOTciLz4KKwkJCQkJPHZhbCBvPSIxOTZlZTYiIHY9Ii02MjciLz4KKwkJCQkJPHZhbCBvPSIxOTdjZjgiIHY9Ii03MTEiLz4KKwkJCQkJPHZhbCBvPSIxOThiMGYiIHY9IjIwIi8+CisJCQkJCTx2YWwgbz0iMTk5OTFmIiB2PSItMTMwIi8+CisJCQkJCTx2YWwgbz0iMTliNTQxIiB2PSItODQzIi8+CisJCQkJCTx2YWwgbz0iMTljMzRkIiB2PSItNjQyIi8+CisJCQkJCTx2YWwgbz0iMTlkMTVlIiB2PSItMzIwIi8+CisJCQkJCTx2YWwgbz0iMTlkZjgwIiB2PSItMjEwIi8+CisJCQkJCTx2YWwgbz0iMTllZDkwIiB2PSIyOTUiLz4KKwkJCQkJPHZhbCBvPSIxOWVlYmUiIHY9IjQxNyIvPgorCQkJCQk8dmFsIG89IjE5ZmI4ZSIgdj0iMzciLz4KKwkJCQkJPHZhbCBvPSIxYTA5YTAiIHY9Ii0yMTA1Ii8+CisJCQkJCTx2YWwgbz0iMWExN2FlIiB2PSItMjk4MCIvPgorCQkJCQk8dmFsIG89IjFhMjViZSIgdj0iLTMzMjkiLz4KKwkJCQkJPHZhbCBvPSIxYTMzY2QiIHY9Ii0xNDMwIi8+CisJCQkJCTx2YWwgbz0iMWE0MWRkIiB2PSItMTk4NiIvPgorCQkJCQk8dmFsIG89IjFhNGZlZCIgdj0iLTM1NzAiLz4KKwkJCQkJPHZhbCBvPSIxYTVlMDgiIHY9Ii0zMjMwIi8+CisJCQkJCTx2YWwgbz0iMWE2YzA1IiB2PSItMjI4OCIvPgorCQkJCQk8dmFsIG89IjFhN2ExNSIgdj0iLTI4NDYiLz4KKwkJCQkJPHZhbCBvPSIxYTg4MjYiIHY9Ii0yOTQ2Ii8+CisJCQkJCTx2YWwgbz0iMWE5NjM3IiB2PSItMjM0MiIvPgorCQkJCQk8dmFsIG89IjFhYTQ0NSIgdj0iLTE3MTkiLz4KKwkJCQkJPHZhbCBvPSIxYWIyNTUiIHY9Ii02NjgiLz4KKwkJCQkJPHZhbCBvPSIxYWMwNjUiIHY9Ii0xNzYxIi8+CisJCQkJCTx2YWwgbz0iMWFjZTc1IiB2PSItMjQxMyIvPgorCQkJCQk8dmFsIG89IjFhZGM4NyIgdj0iLTE3MjciLz4KKwkJCQkJPHZhbCBvPSIxYWVhOTYiIHY9Ii0xODMyIi8+CisJCQkJCTx2YWwgbz0iMWFmOGE3IiB2PSItMTg4OSIvPgorCQkJCQk8dmFsIG89IjFiMDZiNyIgdj0iLTIzNDYiLz4KKwkJCQkJPHZhbCBvPSIxYjE0YzYiIHY9Ii0yMTc2Ii8+CisJCQkJCTx2YWwgbz0iMWM3NDYwIiB2PSIzNzQiLz4KKwkJCQkJPHZhbCBvPSIxYzgyNzAiIHY9Ii0xMzIiLz4KKwkJCQkJPHZhbCBvPSIxYzkwN2UiIHY9Ijk5MyIvPgorCQkJCQk8dmFsIG89IjFjOWU4ZiIgdj0iLTE1MCIvPgorCQkJCQk8dmFsIG89IjFjYWNhMiIgdj0iLTg0MyIvPgorCQkJCQk8dmFsIG89IjFjYmFiMSIgdj0iLTExOTYiLz4KKwkJCQkJPHZhbCBvPSIxY2M4YzEiIHY9IjI1NzciLz4KKwkJCQkJPHZhbCBvPSIxY2Q2ZDAiIHY9IjE1ODIiLz4KKwkJCQkJPHZhbCBvPSIxY2U0ZGUiIHY9IjkwOSIvPgorCQkJCQk8dmFsIG89IjFjZjJmMCIgdj0iLTE0MDUiLz4KKwkJCQkJPHZhbCBvPSIxZDAxMDkiIHY9Ii0xNTk3Ii8+CisJCQkJCTx2YWwgbz0iMWQwZjA2IiB2PSItMTg2Ii8+CisJCQkJCTx2YWwgbz0iMWQxZDE1IiB2PSItNjU4Ii8+CisJCQkJCTx2YWwgbz0iMWQyYjI1IiB2PSItNjc5Ii8+CisJCQkJCTx2YWwgbz0iMWQzOTM1IiB2PSI4OSIvPgorCQkJCQk8dmFsIG89IjFkNDc0NSIgdj0iNjgwIi8+CisJCQkJCTx2YWwgbz0iMWQ1NTU1IiB2PSIxMDk1Ii8+CisJCQkJCTx2YWwgbz0iMWQ2MzY2IiB2PSItODMyIi8+CisJCQkJCTx2YWwgbz0iMWQ3MTc1IiB2PSItNzg1Ii8+CisJCQkJCTx2YWwgbz0iMWQ3Zjg2IiB2PSItMjI4Ii8+CisJCQkJCTx2YWwgbz0iMWQ4ZDk1IiB2PSItNDAiLz4KKwkJCQkJPHZhbCBvPSIxZDliYTYiIHY9Ii0yODAiLz4KKwkJCQkJPHZhbCBvPSIxZGE5YjYiIHY9Ii02OTciLz4KKwkJCQkJPHZhbCBvPSIxZGI3YzciIHY9Ii02OTciLz4KKwkJCQkJPHZhbCBvPSIxZGM1ZDUiIHY9Ii04MTEiLz4KKwkJCQkJPHZhbCBvPSIxZGQzZTYiIHY9Ii02MjkiLz4KKwkJCQkJPHZhbCBvPSIxZGUxZjUiIHY9Ii0xNDA4Ii8+CisJCQkJCTx2YWwgbz0iMWRmMDA2IiB2PSItMTY2NiIvPgorCQkJCQk8dmFsIG89IjFkZmUxNiIgdj0iLTE1NzQiLz4KKwkJCQkJPHZhbCBvPSIxZTBjMjYiIHY9Ii0xOTI4Ii8+CisJCQkJCTx2YWwgbz0iMWUxYTM2IiB2PSItMTk3MCIvPgorCQkJCQk8dmFsIG89IjFlMjg0NyIgdj0iLTIwMTciLz4KKwkJCQkJPHZhbCBvPSIxZTM2NTkiIHY9Ii0xOTg0Ii8+CisJCQkJCTx2YWwgbz0iMWU0NDY3IiB2PSItMjAwNyIvPgorCQkJCQk8dmFsIG89IjFlNTI4MSIgdj0iLTE2MTEiLz4KKwkJCQkJPHZhbCBvPSIxZTYwODYiIHY9Ii0xODUxIi8+CisJCQkJCTx2YWwgbz0iMWU2ZTk2IiB2PSItMTkwOCIvPgorCQkJCQk8dmFsIG89IjFlN2NhNiIgdj0iLTI1MSIvPgorCQkJCQk8dmFsIG89IjFlOGFiNSIgdj0iLTM4NiIvPgorCQkJCQk8dmFsIG89IjFlOThjNiIgdj0iLTEyMSIvPgorCQkJCQk8dmFsIG89IjFlYTZkNSIgdj0iLTM2NSIvPgorCQkJCQk8dmFsIG89IjFlYjRlNiIgdj0iLTMxMyIvPgorCQkJCQk8dmFsIG89IjFlYzJmNiIgdj0iLTUwNiIvPgorCQkJCQk8dmFsIG89IjFlZDEwNiIgdj0iLTIzMiIvPgorCQkJCQk8dmFsIG89IjFlZGYxNiIgdj0iLTI4OCIvPgorCQkJCQk8dmFsIG89IjFlZWQyNiIgdj0iLTEyMSIvPgorCQkJCQk8dmFsIG89IjFlZmIzNiIgdj0iLTMxMCIvPgorCQkJCQk8dmFsIG89IjFmMDk0NiIgdj0iLTI0NSIvPgorCQkJCQk8dmFsIG89IjFmMTc1NiIgdj0iNDM5Ii8+CisJCQkJCTx2YWwgbz0iMWYyNTY2IiB2PSI2MDkiLz4KKwkJCQkJPHZhbCBvPSIxZjMzNzYiIHY9IjEwNzgiLz4KKwkJCQkJPHZhbCBvPSIxZjQxODciIHY9IjI0OTEiLz4KKwkJCQkJPHZhbCBvPSIxZjRmOTYiIHY9IjEzMjciLz4KKwkJCQkJPHZhbCBvPSIxZjVkYTciIHY9Ii0xMTUiLz4KKwkJCQkJPHZhbCBvPSIxZjZiYjYiIHY9Ii00NDIiLz4KKwkJCQkJPHZhbCBvPSIxZjc5YzciIHY9IjIwMyIvPgorCQkJCQk8dmFsIG89IjFmODdkNiIgdj0iLTE0MzkiLz4KKwkJCQkJPHZhbCBvPSIxZjk1ZTciIHY9Ii0yMDE5Ii8+CisJCQkJCTx2YWwgbz0iMWZhNDAxIiB2PSItMTQ5MSIvPgorCQkJCQk8dmFsIG89IjFmYjIwNCIgdj0iLTEyODUiLz4KKwkJCQkJPHZhbCBvPSIxZmMwMTYiIHY9Ii0xMzA5Ii8+CisJCQkJCTx2YWwgbz0iMWZjZTI1IiB2PSItNDA5Ii8+CisJCQkJCTx2YWwgbz0iMWZkYzM1IiB2PSItMTYyIi8+CisJCQkJCTx2YWwgbz0iMWZlYTQ1IiB2PSI5MCIvPgorCQkJCQk8dmFsIG89IjFmZjg1NSIgdj0iMzE5Ii8+CisJCQkJCTx2YWwgbz0iMjAwNjY1IiB2PSIyNDgzIi8+CisJCQkJCTx2YWwgbz0iMjAxNDc1IiB2PSIzNTciLz4KKwkJCQkJPHZhbCBvPSIyMDIyODYiIHY9IjE2ODEiLz4KKwkJCQkJPHZhbCBvPSIyMDMwOTUiIHY9IjE1NzIiLz4KKwkJCQkJPHZhbCBvPSIyMDNlYTUiIHY9IjE1NzUiLz4KKwkJCQkJPHZhbCBvPSIyMDRjYjYiIHY9IjMwMiIvPgorCQkJCQk8dmFsIG89IjIwNWFjNiIgdj0iMTA3NiIvPgorCQkJCQk8dmFsIG89IjIwNjhkNiIgdj0iMTU1NSIvPgorCQkJCQk8dmFsIG89IjIwNzZlNiIgdj0iMTk3MSIvPgorCQkJCQk8dmFsIG89IjIwODRmNiIgdj0iMjM5Ii8+CisJCQkJCTx2YWwgbz0iMjA5MzA2IiB2PSItMzUxIi8+CisJCQkJCTx2YWwgbz0iMjBhMTE2IiB2PSItNTI3Ii8+CisJCQkJCTx2YWwgbz0iMjBhZjI2IiB2PSItMjE1Ii8+CisJCQkJCTx2YWwgbz0iMjBiZDM3IiB2PSItNzgyIi8+CisJCQkJCTx2YWwgbz0iMjBjYjQ2IiB2PSI0NTIiLz4KKwkJCQkJPHZhbCBvPSIyMGQ5NTciIHY9IjYwIi8+CisJCQkJCTx2YWwgbz0iMjBlNzY3IiB2PSItODQ4Ii8+CisJCQkJCTx2YWwgbz0iMjBmNTgxIiB2PSItMTM4MyIvPgorCQkJCQk8dmFsIG89IjIxMDM4NiIgdj0iLTk4OSIvPgorCQkJCQk8dmFsIG89IjIxMTE5NCIgdj0iLTMyNSIvPgorCQkJCQk8dmFsIG89IjIxMWZhNSIgdj0iLTM4MiIvPgorCQkJCQk8dmFsIG89IjIxMmRiNSIgdj0iNjAiLz4KKwkJCQkJPHZhbCBvPSIyMTNiYzUiIHY9Ijg4NCIvPgorCQkJCQk8dmFsIG89IjIxNDlkNiIgdj0iNjU5Ii8+CisJCQkJCTx2YWwgbz0iMjE1N2U1IiB2PSItMjY0Ii8+CisJCQkJCTx2YWwgbz0iMjE2NWY2IiB2PSItOTkwIi8+CisJCQkJCTx2YWwgbz0iMjE3NDA2IiB2PSIyODkiLz4KKwkJCQkJPHZhbCBvPSIyMTgyMTciIHY9Ii0yOTIiLz4KKwkJCQkJPHZhbCBvPSIyMTkwMjYiIHY9Ii01NDIiLz4KKwkJCQkJPHZhbCBvPSIyMTllMzkiIHY9IjM2NiIvPgorCQkJCQk8dmFsIG89IjIxYWM0NiIgdj0iOTA5Ii8+CisJCQkJCTx2YWwgbz0iMjFiYTU3IiB2PSI5OTIiLz4KKwkJCQkJPHZhbCBvPSIyMWM4NjciIHY9IjE4MDgiLz4KKwkJCQkJPHZhbCBvPSIyMWQ2NzciIHY9Ii0xMDQ5Ii8+CisJCQkJCTx2YWwgbz0iMjFlNDg3IiB2PSI1NDMiLz4KKwkJCQkJPHZhbCBvPSIyMWYyOTYiIHY9IjM3NyIvPgorCQkJCQk8dmFsIG89IjIyMDBhNiIgdj0iLTYxOSIvPgorCQkJCQk8dmFsIG89IjIyMGViNyIgdj0iLTcxMiIvPgorCQkJCQk8dmFsIG89IjIyMWNjNiIgdj0iMTQ1OSIvPgorCQkJCQk8dmFsIG89IjIyMmFkNyIgdj0iMjU3Ii8+CisJCQkJCTx2YWwgbz0iMjIzOGU3IiB2PSItNjk2Ii8+CisJCQkJCTx2YWwgbz0iMjI0NzAxIiB2PSItMTA4NSIvPgorCQkJCQk8dmFsIG89IjIyNTUwNSIgdj0iMjg3MyIvPgorCQkJCQk8dmFsIG89IjIyNjMxNSIgdj0iNDIxIi8+CisJCQkJCTx2YWwgbz0iMjI3MTI1IiB2PSI1NTciLz4KKwkJCQkJPHZhbCBvPSIyMjdmMzUiIHY9IjE2OTYiLz4KKwkJCQkJPHZhbCBvPSIyMjhkNDUiIHY9IjI0ODAiLz4KKwkJCQkJPHZhbCBvPSIyMjliNTQiIHY9Ii03MDciLz4KKwkJCQkJPHZhbCBvPSIyMmE5NjUiIHY9Ii0yMzciLz4KKwkJCQkJPHZhbCBvPSIyMmI3NzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMmM1ODYiIHY9IjE3MzAiLz4KKwkJCQkJPHZhbCBvPSIyMmQzOTciIHY9IjI5OTAiLz4KKwkJCQkJPHZhbCBvPSIyMmUxYTYiIHY9IjI3NDYiLz4KKwkJCQkJPHZhbCBvPSIyMmVmYjYiIHY9Ii0xNzQiLz4KKwkJCQkJPHZhbCBvPSIyMmZkYzciIHY9Ii0xOTQiLz4KKwkJCQkJPHZhbCBvPSIyMzBiZDciIHY9IjQ4NSIvPgorCQkJCQk8dmFsIG89IjIzMTllNiIgdj0iLTcyOSIvPgorCQkJCQk8dmFsIG89IjIzMjdmNiIgdj0iNzAiLz4KKwkJCQkJPHZhbCBvPSIyMzM2MWIiIHY9IjkwNyIvPgorCQkJCQk8dmFsIG89IjIzNDQxNiIgdj0iMTI5NyIvPgorCQkJCQk8dmFsIG89IjIzNTIyNiIgdj0iNzc2Ii8+CisJCQkJCTx2YWwgbz0iMjM2MDM3IiB2PSIxMjMiLz4KKwkJCQkJPHZhbCBvPSIyMzZlNDYiIHY9IjE1NTciLz4KKwkJCQkJPHZhbCBvPSIyMzdjNTciIHY9IjEyMDgiLz4KKwkJCQkJPHZhbCBvPSIyMzhhNjYiIHY9IjI1MyIvPgorCQkJCQk8dmFsIG89IjIzOTg4MSIgdj0iNTA4Ii8+CisJCQkJCTx2YWwgbz0iMjNhNjg1IiB2PSItMjc0Ii8+CisJCQkJCTx2YWwgbz0iMjNiNDk1IiB2PSItNTcxIi8+CisJCQkJCTx2YWwgbz0iMjNjMmE0IiB2PSIxNDYiLz4KKwkJCQkJPHZhbCBvPSIyM2QwYjUiIHY9IjU2NyIvPgorCQkJCQk8dmFsIG89IjIzZGVjNCIgdj0iMTIyMiIvPgorCQkJCQk8dmFsIG89IjIzZWNkNSIgdj0iNzMzIi8+CisJCQkJCTx2YWwgbz0iMjNmYWU0IiB2PSI4Ii8+CisJCQkJCTx2YWwgbz0iMjQwOGY2IiB2PSIxMDQxIi8+CisJCQkJCTx2YWwgbz0iMjQxNzA2IiB2PSIzMjIyIi8+CisJCQkJCTx2YWwgbz0iMjQyNTE4IiB2PSIyNTc2Ii8+CisJCQkJCTx2YWwgbz0iMjQzMzI1IiB2PSIyNDIyIi8+CisJCQkJCTx2YWwgbz0iMjQ0MTM3IiB2PSItMTAzNiIvPgorCQkJCQk8dmFsIG89IjI0NGY0NiIgdj0iLTc0NiIvPgorCQkJCQk8dmFsIG89IjI0NmI2NiIgdj0iLTY2MSIvPgorCQkJCQk8dmFsIG89IjI0Nzk3NiIgdj0iNDUiLz4KKwkJCQkJPHZhbCBvPSIyNDg3ODYiIHY9IjM5ODMiLz4KKwkJCQkJPHZhbCBvPSIyNDk1N2UiIHY9IjE2OTQiLz4KKwkJCQkJPHZhbCBvPSIyNGEzOGYiIHY9IjcwOSIvPgorCQkJCQk8dmFsIG89IjI0YjE5YyIgdj0iLTg0NCIvPgorCQkJCQk8dmFsIG89IjI0YmZhYyIgdj0iLTYwNSIvPgorCQkJCQk8dmFsIG89IjI0Y2RiYyIgdj0iLTY2MSIvPgorCQkJCQk8dmFsIG89IjI0ZGJjZCIgdj0iLTQzNiIvPgorCQkJCQk8dmFsIG89IjI0ZTllNSIgdj0iLTExNTUiLz4KKwkJCQkJPHZhbCBvPSIyNGY4MDgiIHY9Ii03MTYiLz4KKwkJCQkJPHZhbCBvPSIyNTA2MTYiIHY9Ii04NzciLz4KKwkJCQkJPHZhbCBvPSIyNTE0MjYiIHY9Ii0xMDI0Ii8+CisJCQkJCTx2YWwgbz0iMjUyMjM2IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjI1MzA0NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI1M2U1NiIgdj0iMTE4NSIvPgorCQkJCQk8dmFsIG89IjI1NGM2NyIgdj0iODg0Ii8+CisJCQkJCTx2YWwgbz0iMjU1YTc2IiB2PSIxMTAzIi8+CisJCQkJCTx2YWwgbz0iMjU2ODg3IiB2PSIxNzg5Ii8+CisJCQkJCTx2YWwgbz0iMjU3Njk3IiB2PSIzMTMyIi8+CisJCQkJCTx2YWwgbz0iMjU4NGE4IiB2PSItNDAzMiIvPgorCQkJCQk8dmFsIG89IjI1OTJiNiIgdj0iLTIxMTQiLz4KKwkJCQkJPHZhbCBvPSIyNWEwYzciIHY9Ii00OTgiLz4KKwkJCQkJPHZhbCBvPSIyNWFlZDciIHY9IjE3NCIvPgorCQkJCQk8dmFsIG89IjI1YmNlNyIgdj0iMjEwIi8+CisJCQkJCTx2YWwgbz0iMjVjYWY4IiB2PSI3MTAiLz4KKwkJCQkJPHZhbCBvPSIyNWQ5MDciIHY9IjIxMjciLz4KKwkJCQkJPHZhbCBvPSIyNWU3MTgiIHY9IjIzODYiLz4KKwkJCQkJPHZhbCBvPSIyNWY1MjciIHY9IjE5MTYiLz4KKwkJCQkJPHZhbCBvPSIyNjAzMzgiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMjYxMTQ5IiB2PSIxMDcwIi8+CisJCQkJCTx2YWwgbz0iMjYxZjU5IiB2PSI1NjQiLz4KKwkJCQkJPHZhbCBvPSIyNjJkNjgiIHY9Ii0xMTgxIi8+CisJCQkJCTx2YWwgbz0iMjYzYjgzIiB2PSIzNCIvPgorCQkJCQk8dmFsIG89IjI2NDk4NiIgdj0iLTg0NyIvPgorCQkJCQk8dmFsIG89IjI2NTc5NSIgdj0iLTEzMTgiLz4KKwkJCQkJPHZhbCBvPSIyNjY1YTYiIHY9Ii0xODQyIi8+CisJCQkJCTx2YWwgbz0iMjY3M2I1IiB2PSItMTQwNCIvPgorCQkJCQk8dmFsIG89IjI2ODFjNiIgdj0iLTExMjkiLz4KKwkJCQkJPHZhbCBvPSIyNjhmZDUiIHY9Ii0zNzIiLz4KKwkJCQkJPHZhbCBvPSIyNjlkZTYiIHY9IjI2OSIvPgorCQkJCQk8dmFsIG89IjI2YWJmNiIgdj0iNTcyIi8+CisJCQkJCTx2YWwgbz0iMjZiYTA2IiB2PSIxNDEzIi8+CisJCQkJCTx2YWwgbz0iMjZjODE3IiB2PSIxNTg2Ii8+CisJCQkJCTx2YWwgbz0iMjZkNjJiIiB2PSIzMTYxIi8+CisJCQkJCTx2YWwgbz0iMjZlNDM2IiB2PSIyMzQ3Ii8+CisJCQkJCTx2YWwgbz0iMjZmMjQ3IiB2PSIyNjI3Ii8+CisJCQkJCTx2YWwgbz0iMjcwMDU3IiB2PSIyNTAyIi8+CisJCQkJCTx2YWwgbz0iMjcwZTY3IiB2PSIyODE4Ii8+CisJCQkJCTx2YWwgbz0iMjcxYzc3IiB2PSIxNTgiLz4KKwkJCQkJPHZhbCBvPSIyNzJhODciIHY9Ii01NDUiLz4KKwkJCQkJPHZhbCBvPSIyNzM4OTciIHY9Ii0zNzAiLz4KKwkJCQkJPHZhbCBvPSIyNzQ2YTgiIHY9Ii02MjQiLz4KKwkJCQkJPHZhbCBvPSIyNzU0YjkiIHY9Ii04NDciLz4KKwkJCQkJPHZhbCBvPSIyNzYyYzciIHY9IjIzMTUiLz4KKwkJCQkJPHZhbCBvPSIyNzcwZDgiIHY9IjEwOTkiLz4KKwkJCQkJPHZhbCBvPSIyNzdlZTciIHY9Ii00MTciLz4KKwkJCQk8L3Bhcj4KKwkJCQk8cGFyIG1lbWluZD0iNDIyMjAwIiBoPSIzZGMxYThkZSI+CisJCQkJCTx2YWwgbz0iMCIgdj0iLTQzMDciLz4KKwkJCQkJPHZhbCBvPSJlMDgiIHY9Ii00MTY5Ii8+CisJCQkJCTx2YWwgbz0iMWMzMiIgdj0iLTQwOTYiLz4KKwkJCQkJPHZhbCBvPSIyYTNjIiB2PSItNDA4NyIvPgorCQkJCQk8dmFsIG89IjM4MzUiIHY9Ii0zOTYzIi8+CisJCQkJCTx2YWwgbz0iNDY0NSIgdj0iLTM5NjkiLz4KKwkJCQkJPHZhbCBvPSI1NDU1IiB2PSItNDQxMSIvPgorCQkJCQk8dmFsIG89IjYyNjUiIHY9Ii01MzU4Ii8+CisJCQkJCTx2YWwgbz0iNzA3NSIgdj0iLTYzMTciLz4KKwkJCQkJPHZhbCBvPSI3ZTg1IiB2PSItNzI5OCIvPgorCQkJCQk8dmFsIG89IjhjOTYiIHY9Ii03NTE5Ii8+CisJCQkJCTx2YWwgbz0iOWFhNSIgdj0iLTczNTEiLz4KKwkJCQkJPHZhbCBvPSJhOGI2IiB2PSItNjg5MCIvPgorCQkJCQk8dmFsIG89ImI2YzUiIHY9Ii02NDY1Ii8+CisJCQkJCTx2YWwgbz0iYzRkNyIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSJkMzBiIiB2PSItNyIvPgorCQkJCQk8dmFsIG89ImUwZjYiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iZWYwNiIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSJmZDE3IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjEwYjI3IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjExOTM3IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjEyNzQ2IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjEzNTU2IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjE0MzY2IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjE1MTgxIiB2PSItOSIvPgorCQkJCQk8dmFsIG89IjE1Zjg1IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjE2ZDk1IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjE3YmE0IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjE4OWI1IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjE5N2M0IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjFhNWQ1IiB2PSItOSIvPgorCQkJCQk8dmFsIG89IjFiM2U2IiB2PSItOSIvPgorCQkJCQk8dmFsIG89IjFjMWY2IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjFkMDA1IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjFkZTE1IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjFlYzI1IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjFmYTM2IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjIwODQ1IiB2PSItOSIvPgorCQkJCQk8dmFsIG89IjIxNjU2IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjIyNDY1IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjIzMjc2IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjI0MDg2IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjI0ZTk5IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjI1Y2E3IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjI2YWI3IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjI3OGM2IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjI4NmQ2IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjI5NGU2IiB2PSItOSIvPgorCQkJCQk8dmFsIG89IjJhMzAxIiB2PSItOSIvPgorCQkJCQk8dmFsIG89IjJiMTA1IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjJiZjE1IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjJjZDI1IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjJkYjM1IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjJlOTQ2IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjJmNzU1IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjMwNTY2IiB2PSItOSIvPgorCQkJCQk8dmFsIG89IjMxMzc1IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjMyMTllIiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjMyZjk2IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjMzZGE2IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjM0YmI2IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjM1OWRlIiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjM2N2Q2IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjM3NWU2IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjM4NDBlIiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjM5MjFlIiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjNhMDE2IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjNhZTI3IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjNiYzM2IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjNjYTQ3IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjNkODU2IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjNlNjY3IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjNmNDgxIiB2PSItOSIvPgorCQkJCQk8dmFsIG89IjQwMjg1IiB2PSItOSIvPgorCQkJCQk8dmFsIG89IjQxMDk1IiB2PSItOSIvPgorCQkJCQk8dmFsIG89IjQxZWE1IiB2PSItOSIvPgorCQkJCQk8dmFsIG89IjQyY2I1IiB2PSItOSIvPgorCQkJCQk8dmFsIG89IjQzYWM1IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjQ0OGQ1IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjQ1NmU2IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjQ2NGY1IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjQ4MGZmIiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjQ4ZjBlIiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjQ5ZDFkIiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjRhYjQ2IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjRiOTU1IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjRjNzY5IiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjRkNTc3IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjRlMzg3IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjRmMTk2IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjRmZmE2IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjUwZGQwIiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjUxYmM2IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjUyOWQ2IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjUzN2U3IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjU0NjAwIiB2PSItOSIvPgorCQkJCQk8dmFsIG89IjU1NDA2IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjU2MjE1IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjU3MDI2IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjU3ZTM2IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjU4YzQ2IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjU5YTcwIiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjVhODY3IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjViNjc2IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjVjNDg3IiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjVkMjk2IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjVlMGE5IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjVlZWI4IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjVmY2M2IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjYwYWQ3IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjYxOGU3IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjYyNmY3IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjYzNTA3IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjY0MzE3IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjY1MTI3IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjY1ZjM3IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjY2ZDQ2IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjY3YjU3IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjY4OTY3IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjY5NzgyIiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjZhNTg2IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjZiMzk1IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjZjMWE2IiB2PSItOSIvPgorCQkJCQk8dmFsIG89IjZjZmI1IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjZkZGM2IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjZlYmQ2IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjZmOWU2IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjcwN2Y2IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjcxNjA3IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjcyNDE3IiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjczMjI3IiB2PSItNiIvPgorCQkJCQk8dmFsIG89Ijc0MDM3IiB2PSItNyIvPgorCQkJCQk8dmFsIG89Ijc0ZTQ3IiB2PSItNyIvPgorCQkJCQk8dmFsIG89Ijc1YzU3IiB2PSItNyIvPgorCQkJCQk8dmFsIG89Ijc2YTYzIiB2PSItNyIvPgorCQkJCQk8dmFsIG89Ijc3ODczIiB2PSItNyIvPgorCQkJCQk8dmFsIG89Ijc4NjgwIiB2PSItNiIvPgorCQkJCQk8dmFsIG89Ijc5NDhmIiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjdhMjlmIiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjdiMGFmIiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjdiZWJmIiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjdjY2NmIiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjdkYWRmIiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjdlOGZhIiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjdmNzBhIiB2PSItOSIvPgorCQkJCQk8dmFsIG89IjgwNTFhIiB2PSItOSIvPgorCQkJCQk8dmFsIG89IjgxMzJhIiB2PSItOSIvPgorCQkJCQk8dmFsIG89IjgyMTNhIiB2PSItOSIvPgorCQkJCQk8dmFsIG89IjgyZjRhIiB2PSItOSIvPgorCQkJCQk8dmFsIG89IjgzZDVhIiB2PSItOCIvPgorCQkJCQk8dmFsIG89Ijg0YjZhIiB2PSItNyIvPgorCQkJCQk8dmFsIG89Ijg1OTdhIiB2PSItNyIvPgorCQkJCQk8dmFsIG89Ijg2NzhiIiB2PSItNyIvPgorCQkJCQk8dmFsIG89Ijg3NTliIiB2PSItNyIvPgorCQkJCQk8dmFsIG89Ijg4M2FjIiB2PSItNyIvPgorCQkJCQk8dmFsIG89Ijg5MWJiIiB2PSItOCIvPgorCQkJCQk8dmFsIG89Ijg5ZmNhIiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjhhZGRhIiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjhiYmViIiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjhjOWZjIiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjhkODBiIiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjhlNjFhIiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjhmNDJhIiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjkwMjNhIiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjkxMDRhIiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjkxZTVhIiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjkyYzZhIiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjkzYTg0IiB2PSItOSIvPgorCQkJCQk8dmFsIG89Ijk0ODg1IiB2PSItOCIvPgorCQkJCQk8dmFsIG89Ijk1Njk0IiB2PSItOSIvPgorCQkJCQk8dmFsIG89Ijk2NGE1IiB2PSItOSIvPgorCQkJCQk8dmFsIG89Ijk3MmI0IiB2PSItOCIvPgorCQkJCQk8dmFsIG89Ijk4MGM1IiB2PSItOCIvPgorCQkJCQk8dmFsIG89Ijk4ZWQ0IiB2PSItOCIvPgorCQkJCQk8dmFsIG89Ijk5Y2U1IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjlhYWY1IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjliOTA2IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjljNzE2IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjlkNTI2IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjllMzM2IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjlmMTQ1IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjlmZjU2IiB2PSItNyIvPgorCQkJCQk8dmFsIG89ImEwZDY1IiB2PSItNyIvPgorCQkJCQk8dmFsIG89ImExYjc3IiB2PSItNjMyNCIvPgorCQkJCQk8dmFsIG89ImEyOTg2IiB2PSItMzUxNiIvPgorCQkJCQk8dmFsIG89ImEzNzk1IiB2PSItOTYzIi8+CisJCQkJCTx2YWwgbz0iYTQ1YTciIHY9IjY0NCIvPgorCQkJCQk8dmFsIG89ImE1M2I2IiB2PSI3MDAiLz4KKwkJCQkJPHZhbCBvPSJhNjFjNyIgdj0iOTQyIi8+CisJCQkJCTx2YWwgbz0iYTZmZDYiIHY9Ijk5Ii8+CisJCQkJCTx2YWwgbz0iYTdlMDAiIHY9IjQ2NCIvPgorCQkJCQk8dmFsIG89ImE4YzAwIiB2PSI5MTIiLz4KKwkJCQkJPHZhbCBvPSJhOWEwNSIgdj0iMjg5Ii8+CisJCQkJCTx2YWwgbz0iYWE4MTUiIHY9IjMyIi8+CisJCQkJCTx2YWwgbz0iYWI2MjUiIHY9IjQ2Ii8+CisJCQkJCTx2YWwgbz0iYWM0MzUiIHY9IjIwMCIvPgorCQkJCQk8dmFsIG89ImFkMjQ1IiB2PSI5MjEiLz4KKwkJCQkJPHZhbCBvPSJhZTA1NSIgdj0iNzQ0Ii8+CisJCQkJCTx2YWwgbz0iYWVlNjUiIHY9Ii01NjEiLz4KKwkJCQkJPHZhbCBvPSJhZmM3NSIgdj0iLTY4Ii8+CisJCQkJCTx2YWwgbz0iYjBhODUiIHY9IjMxIi8+CisJCQkJCTx2YWwgbz0iYjI2YTYiIHY9IjE0MiIvPgorCQkJCQk8dmFsIG89ImIzNGI2IiB2PSItMTIzIi8+CisJCQkJCTx2YWwgbz0iYjQyYzYiIHY9Ii00NTEiLz4KKwkJCQkJPHZhbCBvPSJiNTBkNiIgdj0iLTcyOSIvPgorCQkJCQk8dmFsIG89ImI1ZWU3IiB2PSItNzEyIi8+CisJCQkJCTx2YWwgbz0iYjZjZjYiIHY9Ii0xNTg0Ii8+CisJCQkJCTx2YWwgbz0iYjdiMDciIHY9Ii0xOTgzIi8+CisJCQkJCTx2YWwgbz0iYjg5MTciIHY9Ii0xNzUzIi8+CisJCQkJCTx2YWwgbz0iYjk3MjgiIHY9Ii0xNzU4Ii8+CisJCQkJCTx2YWwgbz0iYmE1MzciIHY9Ii0xODkxIi8+CisJCQkJCTx2YWwgbz0iYmIzNDciIHY9Ii04MjciLz4KKwkJCQkJPHZhbCBvPSJiYzE1NyIgdj0iLTg4MiIvPgorCQkJCQk8dmFsIG89ImJjZjY3IiB2PSItODk5Ii8+CisJCQkJCTx2YWwgbz0iYmRkODEiIHY9IjY0NCIvPgorCQkJCQk8dmFsIG89ImJlYjg2IiB2PSI0MTciLz4KKwkJCQkJPHZhbCBvPSJiZjk5NSIgdj0iNTI0Ii8+CisJCQkJCTx2YWwgbz0iYzA3YTYiIHY9IjQwMCIvPgorCQkJCQk8dmFsIG89ImMxNWI1IiB2PSIzNzIiLz4KKwkJCQkJPHZhbCBvPSJjMjNjNiIgdj0iNDg0Ii8+CisJCQkJCTx2YWwgbz0iYzMxZDUiIHY9IjU5MSIvPgorCQkJCQk8dmFsIG89ImMzZmU2IiB2PSIzMzYiLz4KKwkJCQkJPHZhbCBvPSJjNGRmNSIgdj0iNzQxIi8+CisJCQkJCTx2YWwgbz0iYzVjMDYiIHY9IjExNCIvPgorCQkJCQk8dmFsIG89ImM2YTE2IiB2PSI1MDciLz4KKwkJCQkJPHZhbCBvPSJjNzgyNiIgdj0iLTUxIi8+CisJCQkJCTx2YWwgbz0iYzg2MzYiIHY9IjEzNiIvPgorCQkJCQk8dmFsIG89ImM5NDQ2IiB2PSIzMzQiLz4KKwkJCQkJPHZhbCBvPSJjYTI1NiIgdj0iMjM1Ii8+CisJCQkJCTx2YWwgbz0iY2IwNjYiIHY9IjExNiIvPgorCQkJCQk8dmFsIG89ImNiZTc2IiB2PSItNDE3Ii8+CisJCQkJCTx2YWwgbz0iY2NjODciIHY9Ii0yMzIiLz4KKwkJCQkJPHZhbCBvPSJjZGE5NiIgdj0iLTE4NCIvPgorCQkJCQk8dmFsIG89ImNlOGE4IiB2PSItMjE5Ii8+CisJCQkJCTx2YWwgbz0iY2Y2YjciIHY9Ii0xMzQiLz4KKwkJCQkJPHZhbCBvPSJkMDRjOCIgdj0iLTUxIi8+CisJCQkJCTx2YWwgbz0iZDEyZDciIHY9IjE0MyIvPgorCQkJCQk8dmFsIG89ImQyMGU3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZDJmMDIiIHY9IjExIi8+CisJCQkJCTx2YWwgbz0iZDNkMDUiIHY9IjYwMCIvPgorCQkJCQk8dmFsIG89ImQ0YjE1IiB2PSI2NDQiLz4KKwkJCQkJPHZhbCBvPSJkNTkyNiIgdj0iODM2Ii8+CisJCQkJCTx2YWwgbz0iZDY3MzUiIHY9IjEwNjgiLz4KKwkJCQkJPHZhbCBvPSJkNzU0NiIgdj0iMTIxMyIvPgorCQkJCQk8dmFsIG89ImQ4MzU1IiB2PSItMTM1Ii8+CisJCQkJCTx2YWwgbz0iZDkxNjYiIHY9Ii03NTUiLz4KKwkJCQkJPHZhbCBvPSJkOWY3NSIgdj0iLTE0OTgiLz4KKwkJCQkJPHZhbCBvPSJkYWQ4NyIgdj0iLTIwMTEiLz4KKwkJCQkJPHZhbCBvPSJkYmI5NyIgdj0iLTI1NjEiLz4KKwkJCQkJPHZhbCBvPSJkYzlhOCIgdj0iLTIzMzgiLz4KKwkJCQkJPHZhbCBvPSJkZDdiNyIgdj0iLTI4OTUiLz4KKwkJCQkJPHZhbCBvPSJkZTVjNiIgdj0iLTI3ODAiLz4KKwkJCQkJPHZhbCBvPSJkZjNkNyIgdj0iLTI5MTIiLz4KKwkJCQkJPHZhbCBvPSJlMDFkNyIgdj0iLTI5MTMiLz4KKwkJCQkJPHZhbCBvPSJlMGZlNSIgdj0iLTI4MzIiLz4KKwkJCQkJPHZhbCBvPSJlMWRmNSIgdj0iLTMwMTgiLz4KKwkJCQkJPHZhbCBvPSJlMmMwNCIgdj0iLTQwOTkiLz4KKwkJCQkJPHZhbCBvPSJlM2ExNCIgdj0iLTM5NzkiLz4KKwkJCQkJPHZhbCBvPSJlNDgyNCIgdj0iLTMzNzAiLz4KKwkJCQkJPHZhbCBvPSJlNTYzNCIgdj0iLTM0MjgiLz4KKwkJCQkJPHZhbCBvPSJlNjQ0NCIgdj0iLTI1NTEiLz4KKwkJCQkJPHZhbCBvPSJlNzI1NSIgdj0iLTIxODkiLz4KKwkJCQkJPHZhbCBvPSJlODA2ZiIgdj0iLTE3NTciLz4KKwkJCQkJPHZhbCBvPSJlOGU3ZiIgdj0iLTQ3NyIvPgorCQkJCQk8dmFsIG89ImU5YzhlIiB2PSItNzA5Ii8+CisJCQkJCTx2YWwgbz0iZWFhOWYiIHY9Ii02NTMiLz4KKwkJCQkJPHZhbCBvPSJlYjhhZSIgdj0iLTY1MyIvPgorCQkJCQk8dmFsIG89ImVjNmJmIiB2PSItNDY4Ii8+CisJCQkJCTx2YWwgbz0iZWQ0Y2UiIHY9Ii0yMTEyIi8+CisJCQkJCTx2YWwgbz0iZWUyZGYiIHY9Ii0yMjM5Ii8+CisJCQkJCTx2YWwgbz0iZWYwZWYiIHY9Ii0zMTk4Ii8+CisJCQkJCTx2YWwgbz0iZWZmMDEiIHY9Ii00MDg3Ii8+CisJCQkJCTx2YWwgbz0iZjBkMTAiIHY9Ii00MzA4Ii8+CisJCQkJCTx2YWwgbz0iZjFiMjAiIHY9Ii00NTUwIi8+CisJCQkJCTx2YWwgbz0iZjI5MzAiIHY9Ii00NjI4Ii8+CisJCQkJCTx2YWwgbz0iZjM3NDAiIHY9Ii00MzAxIi8+CisJCQkJCTx2YWwgbz0iZjQ1NTEiIHY9Ii00NjA4Ii8+CisJCQkJCTx2YWwgbz0iZjUzNjEiIHY9Ii00ODU3Ii8+CisJCQkJCTx2YWwgbz0iZjYxNzIiIHY9Ii00NjEzIi8+CisJCQkJCTx2YWwgbz0iZjZmODAiIHY9Ii00ODE4Ii8+CisJCQkJCTx2YWwgbz0iZjdkOTEiIHY9Ii00MjQ0Ii8+CisJCQkJCTx2YWwgbz0iZjhiYTEiIHY9Ii0zOTE1Ii8+CisJCQkJCTx2YWwgbz0iZjk5YjEiIHY9Ii0zODA1Ii8+CisJCQkJCTx2YWwgbz0iZmE3YzAiIHY9Ii0zMDI1Ii8+CisJCQkJCTx2YWwgbz0iZmI1ZDEiIHY9Ii0zMDM0Ii8+CisJCQkJCTx2YWwgbz0iZmMzZTAiIHY9Ii0zMjk1Ii8+CisJCQkJCTx2YWwgbz0iZmQxZmIiIHY9Ii0yNjgwIi8+CisJCQkJCTx2YWwgbz0iZmUwMGIiIHY9Ii0yNTMwIi8+CisJCQkJCTx2YWwgbz0iZmVlMWMiIHY9Ii0yMDgzIi8+CisJCQkJCTx2YWwgbz0iZmZjMmMiIHY9Ii0xOTgyIi8+CisJCQkJCTx2YWwgbz0iMTAwYTNiIiB2PSItMTc5MCIvPgorCQkJCQk8dmFsIG89IjEwMTg0YyIgdj0iLTE3OTEiLz4KKwkJCQkJPHZhbCBvPSIxMDI2NWIiIHY9Ii0yMDc3Ii8+CisJCQkJCTx2YWwgbz0iMTAzNDZjIiB2PSItMjcyNCIvPgorCQkJCQk8dmFsIG89IjEwNDI3YiIgdj0iLTQwMTYiLz4KKwkJCQkJPHZhbCBvPSIxMDUwOGQiIHY9Ii00MzIwIi8+CisJCQkJCTx2YWwgbz0iMTA1ZTlkIiB2PSItNDMzOSIvPgorCQkJCQk8dmFsIG89IjEwNmNhZCIgdj0iLTQ3MjUiLz4KKwkJCQkJPHZhbCBvPSIxMDdhYmQiIHY9Ii00MzM4Ii8+CisJCQkJCTx2YWwgbz0iMTA4OGNkIiB2PSItMzkwNiIvPgorCQkJCQk8dmFsIG89IjEwOTZkZSIgdj0iLTQxMTkiLz4KKwkJCQkJPHZhbCBvPSIxMGE0ZWQiIHY9Ii00MzIyIi8+CisJCQkJCTx2YWwgbz0iMTBiMmZlIiB2PSItNDM0NSIvPgorCQkJCQk8dmFsIG89IjEwYzEwZCIgdj0iLTQxNjkiLz4KKwkJCQkJPHZhbCBvPSIxMGNmMWUiIHY9Ii00MzU0Ii8+CisJCQkJCTx2YWwgbz0iMTBkZDJlIiB2PSItNDE2MCIvPgorCQkJCQk8dmFsIG89IjEwZWI2NiIgdj0iLTQ0NTMiLz4KKwkJCQkJPHZhbCBvPSIxMGY5NGUiIHY9Ii0zODk1Ii8+CisJCQkJCTx2YWwgbz0iMTEwNzVlIiB2PSItMzI4MSIvPgorCQkJCQk8dmFsIG89IjExMTU2ZCIgdj0iLTI4NjYiLz4KKwkJCQkJPHZhbCBvPSIxMTIzODgiIHY9Ii0yNjYzIi8+CisJCQkJCTx2YWwgbz0iMTEzMTg3IiB2PSItMTc5NCIvPgorCQkJCQk8dmFsIG89IjExM2ZiMCIgdj0iLTE3OTciLz4KKwkJCQkJPHZhbCBvPSIxMTRkYTYiIHY9Ii0xODIzIi8+CisJCQkJCTx2YWwgbz0iMTE1YmI2IiB2PSItMTc4MiIvPgorCQkJCQk8dmFsIG89IjExNjljNiIgdj0iLTE1ODUiLz4KKwkJCQkJPHZhbCBvPSIxMTc3ZDYiIHY9Ii0yMDgyIi8+CisJCQkJCTx2YWwgbz0iMTE4NWU4IiB2PSItMjg4NSIvPgorCQkJCQk8dmFsIG89IjExOTNmNyIgdj0iLTM1NTgiLz4KKwkJCQkJPHZhbCBvPSIxMWEyMDgiIHY9Ii00ODM4Ii8+CisJCQkJCTx2YWwgbz0iMTFiMDE3IiB2PSItNDMyMiIvPgorCQkJCQk8dmFsIG89IjExYmUyZiIgdj0iLTUzOTMiLz4KKwkJCQkJPHZhbCBvPSIxMWNjMzciIHY9Ii00NDU2Ii8+CisJCQkJCTx2YWwgbz0iMTFkYTQ3IiB2PSItNDI3OSIvPgorCQkJCQk8dmFsIG89IjExZTg1NyIgdj0iLTQzNTQiLz4KKwkJCQkJPHZhbCBvPSIxMWY2NjciIHY9Ii0zOTAwIi8+CisJCQkJCTx2YWwgbz0iMTIwNTc4IiB2PSItNCIvPgorCQkJCQk8dmFsIG89IjEyMTM4NiIgdj0iLTQiLz4KKwkJCQkJPHZhbCBvPSIxMjIxOTYiIHY9Ii00Ii8+CisJCQkJCTx2YWwgbz0iMTIyZmE2IiB2PSItMyIvPgorCQkJCQk8dmFsIG89IjEyM2RiNSIgdj0iLTMiLz4KKwkJCQkJPHZhbCBvPSIxMjRiYzUiIHY9Ii0zIi8+CisJCQkJCTx2YWwgbz0iMTI1OWQ1IiB2PSItMiIvPgorCQkJCQk8dmFsIG89IjEyNjdlNCIgdj0iLTIiLz4KKwkJCQkJPHZhbCBvPSIxMjc2MDAiIHY9Ii0yIi8+CisJCQkJCTx2YWwgbz0iMTI4MzA1IiB2PSItMiIvPgorCQkJCQk8dmFsIG89IjEyOTExNSIgdj0iLTIiLz4KKwkJCQkJPHZhbCBvPSIxMjlmMjUiIHY9Ii0yIi8+CisJCQkJCTx2YWwgbz0iMTJhZDM1IiB2PSItMiIvPgorCQkJCQk8dmFsIG89IjEyYmI0NSIgdj0iLTEiLz4KKwkJCQkJPHZhbCBvPSIxMmM5NTQiIHY9Ii0yIi8+CisJCQkJCTx2YWwgbz0iMTJkNzY2IiB2PSItMiIvPgorCQkJCQk8dmFsIG89IjEyZTU3NSIgdj0iLTMiLz4KKwkJCQkJPHZhbCBvPSIxMmYzODYiIHY9Ii0yIi8+CisJCQkJCTx2YWwgbz0iMTMwMTk2IiB2PSItNCIvPgorCQkJCQk8dmFsIG89IjEzMGZhNiIgdj0iLTMiLz4KKwkJCQkJPHZhbCBvPSIxMzFkYjciIHY9Ii0zIi8+CisJCQkJCTx2YWwgbz0iMTMyYmM1IiB2PSItMyIvPgorCQkJCQk8dmFsIG89IjEzMzlkNCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEzNDdlNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEzNTVmNCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEzNjQwNCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEzNzIxNCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEzODAyNCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEzOGUzMyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEzOWM0NCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEzYWE1NCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEzYjg2NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEzYzY3ZSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEzZDQ4ZSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEzZTI5ZSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEzZjBhZSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEzZmViZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0MGNjZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0MWFkZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0MjhlZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0MzZmZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0NDUwZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0NTMxZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0NjEzMCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0NmY0MCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0N2Q0NCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0OGI1NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0OTk2NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0YTc3NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0YjU4NCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0YzM5NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0ZDFhNCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0ZGZiNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0ZWRjNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0ZmJkNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1MDllNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1MTdmZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1MjYwNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1MzQxNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1NDIyNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1NTAzNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1NWU0NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1NmM1NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1N2E2NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1ODg3NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1OTY4NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1YTQ5NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1YjJhNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1YzBiNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1Y2VjNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1ZGNkNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1ZWFlNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1ZjhmNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2MDcwNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2MTUxNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2MjMyNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2MzEzNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2M2Y0NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2NGQ1NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2NWI2NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2Njk4MiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2Nzc4NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2ODU5NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2OTNhNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2YTFiNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2YWZjNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2YmRkNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2Y2JlNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2ZDlmNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2ZTgwNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2ZjYxNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE3MDQyOSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE3MTIzNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE3MjA0NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE3MmU1NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE3M2M2NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE3NGE3NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE3NTg4NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE3NjY5NCIgdj0iLTY4NDQiLz4KKwkJCQkJPHZhbCBvPSIxNzc0YTMiIHY9Ii02ODQ4Ii8+CisJCQkJCTx2YWwgbz0iMTc4MmIzIiB2PSItNzI3NiIvPgorCQkJCQk8dmFsIG89IjE3OTBjNSIgdj0iLTY3MTgiLz4KKwkJCQkJPHZhbCBvPSIxNzllZDQiIHY9Ii02MDQ0Ii8+CisJCQkJCTx2YWwgbz0iMTdhY2U0IiB2PSItNTg3OSIvPgorCQkJCQk8dmFsIG89IjE3YmFmZCIgdj0iLTYwNjciLz4KKwkJCQkJPHZhbCBvPSIxN2M5MGYiIHY9Ii01NDg0Ii8+CisJCQkJCTx2YWwgbz0iMTdkNzFlIiB2PSItNTQzNyIvPgorCQkJCQk8dmFsIG89IjE3ZTUyZiIgdj0iLTUzNDIiLz4KKwkJCQkJPHZhbCBvPSIxN2YzM2YiIHY9Ii00OTgxIi8+CisJCQkJCTx2YWwgbz0iMTgwMTRmIiB2PSItNTE5MyIvPgorCQkJCQk8dmFsIG89IjE4MGY1ZiIgdj0iLTYzMjEiLz4KKwkJCQkJPHZhbCBvPSIxODFkNmUiIHY9Ii02OTIzIi8+CisJCQkJCTx2YWwgbz0iMTgyYjdmIiB2PSItNzg4OSIvPgorCQkJCQk8dmFsIG89IjE4Mzk4ZiIgdj0iLTEzNDY0Ii8+CisJCQkJCTx2YWwgbz0iMTg0N2ExIiB2PSItMTMzNTQiLz4KKwkJCQkJPHZhbCBvPSIxODU1YWYiIHY9Ii0xMjgxMyIvPgorCQkJCQk8dmFsIG89IjE4NjNjMCIgdj0iLTExOTk2Ii8+CisJCQkJCTx2YWwgbz0iMTg3MWNmIiB2PSItMTI0MzYiLz4KKwkJCQkJPHZhbCBvPSIxODdmZTAiIHY9Ii0xMTY1OCIvPgorCQkJCQk8dmFsIG89IjE4OGRlZiIgdj0iLTEyNTA4Ii8+CisJCQkJCTx2YWwgbz0iMTg5YzAwIiB2PSItMTE5NjUiLz4KKwkJCQkJPHZhbCBvPSIxOGI4MGQiIHY9Ii03NTY3Ii8+CisJCQkJCTx2YWwgbz0iMThjNjFjIiB2PSItODEwMCIvPgorCQkJCQk8dmFsIG89IjE4ZDQyYyIgdj0iLTc2NzYiLz4KKwkJCQkJPHZhbCBvPSIxOGUyM2IiIHY9Ii02NTY1Ii8+CisJCQkJCTx2YWwgbz0iMThmMDRiIiB2PSItNjE2NyIvPgorCQkJCQk8dmFsIG89IjE4ZmU1ZSIgdj0iLTU2NjAiLz4KKwkJCQkJPHZhbCBvPSIxOTBjNzYiIHY9Ii00NDc1Ii8+CisJCQkJCTx2YWwgbz0iMTkxYTg2IiB2PSItNDMwNiIvPgorCQkJCQk8dmFsIG89IjE5Mjg5NiIgdj0iLTQyNTIiLz4KKwkJCQkJPHZhbCBvPSIxOTM2YTYiIHY9Ii00MTI1Ii8+CisJCQkJCTx2YWwgbz0iMTk0NGI3IiB2PSItNDEyNSIvPgorCQkJCQk8dmFsIG89IjE5NTJjNiIgdj0iLTQ0OTgiLz4KKwkJCQkJPHZhbCBvPSIxOTYwZDciIHY9Ii01MTM3Ii8+CisJCQkJCTx2YWwgbz0iMTk2ZWU2IiB2PSItNTk2NyIvPgorCQkJCQk8dmFsIG89IjE5N2NmOCIgdj0iLTYzNTQiLz4KKwkJCQkJPHZhbCBvPSIxOThiMGYiIHY9Ii01OTY1Ii8+CisJCQkJCTx2YWwgbz0iMTk5OTFmIiB2PSItNjYxNSIvPgorCQkJCQk8dmFsIG89IjE5YjU0MSIgdj0iLTY2MTkiLz4KKwkJCQkJPHZhbCBvPSIxOWMzNGQiIHY9Ii02MTk5Ii8+CisJCQkJCTx2YWwgbz0iMTlkMTVlIiB2PSItNjIzNSIvPgorCQkJCQk8dmFsIG89IjE5ZGY4MCIgdj0iLTYzMTMiLz4KKwkJCQkJPHZhbCBvPSIxOWVkOTAiIHY9Ii02MDc5Ii8+CisJCQkJCTx2YWwgbz0iMTllZWJlIiB2PSItNjA3NSIvPgorCQkJCQk8dmFsIG89IjE5ZmI4ZSIgdj0iLTIzOTAiLz4KKwkJCQkJPHZhbCBvPSIxYTA5YTAiIHY9Ii0yNjAwIi8+CisJCQkJCTx2YWwgbz0iMWExN2FlIiB2PSItMzA1MSIvPgorCQkJCQk8dmFsIG89IjFhMjViZSIgdj0iLTMzMzgiLz4KKwkJCQkJPHZhbCBvPSIxYTMzY2QiIHY9Ii0yMjM4Ii8+CisJCQkJCTx2YWwgbz0iMWE0MWRkIiB2PSItMjEzNyIvPgorCQkJCQk8dmFsIG89IjFhNGZlZCIgdj0iLTE1NDYiLz4KKwkJCQkJPHZhbCBvPSIxYTVlMDgiIHY9Ii0xNjcwIi8+CisJCQkJCTx2YWwgbz0iMWE2YzA1IiB2PSItOTY5Ii8+CisJCQkJCTx2YWwgbz0iMWE3YTE1IiB2PSItMTEyMyIvPgorCQkJCQk8dmFsIG89IjFhODgyNiIgdj0iLTEwNzIiLz4KKwkJCQkJPHZhbCBvPSIxYTk2MzciIHY9Ii00ODEiLz4KKwkJCQkJPHZhbCBvPSIxYWE0NDUiIHY9Ii01MzciLz4KKwkJCQkJPHZhbCBvPSIxYWIyNTUiIHY9Ii05OTUiLz4KKwkJCQkJPHZhbCBvPSIxYWMwNjUiIHY9Ii0xODE5Ii8+CisJCQkJCTx2YWwgbz0iMWFjZTc1IiB2PSItMjYzNiIvPgorCQkJCQk8dmFsIG89IjFhZGM4NyIgdj0iLTI5MjAiLz4KKwkJCQkJPHZhbCBvPSIxYWVhOTYiIHY9Ii0yNTk0Ii8+CisJCQkJCTx2YWwgbz0iMWFmOGE3IiB2PSItMjg5OCIvPgorCQkJCQk8dmFsIG89IjFiMDZiNyIgdj0iLTIxNzMiLz4KKwkJCQkJPHZhbCBvPSIxYjE0YzYiIHY9Ii0yMDkyIi8+CisJCQkJCTx2YWwgbz0iMWM3NDYwIiB2PSIzMTEiLz4KKwkJCQkJPHZhbCBvPSIxYzgyNzAiIHY9IjM5OSIvPgorCQkJCQk8dmFsIG89IjFjOTA3ZSIgdj0iMzQ4NiIvPgorCQkJCQk8dmFsIG89IjFjOWU4ZiIgdj0iMzM1NyIvPgorCQkJCQk8dmFsIG89IjFjYWNhMiIgdj0iMzY3MCIvPgorCQkJCQk8dmFsIG89IjFjYmFiMSIgdj0iMzU4MCIvPgorCQkJCQk8dmFsIG89IjFjYzhjMSIgdj0iNTM5OCIvPgorCQkJCQk8dmFsIG89IjFjZDZkMCIgdj0iNTQ3OCIvPgorCQkJCQk8dmFsIG89IjFjZTRkZSIgdj0iNTYxOCIvPgorCQkJCQk8dmFsIG89IjFjZjJmMCIgdj0iNTY1OSIvPgorCQkJCQk8dmFsIG89IjFkMDEwOSIgdj0iNTkyMyIvPgorCQkJCQk8dmFsIG89IjFkMGYwNiIgdj0iNjY1MSIvPgorCQkJCQk8dmFsIG89IjFkMWQxNSIgdj0iNjY1NCIvPgorCQkJCQk8dmFsIG89IjFkMmIyNSIgdj0iNjcxMyIvPgorCQkJCQk8dmFsIG89IjFkMzkzNSIgdj0iNjg4NSIvPgorCQkJCQk8dmFsIG89IjFkNDc0NSIgdj0iNjg5MyIvPgorCQkJCQk8dmFsIG89IjFkNTU1NSIgdj0iNjcwNSIvPgorCQkJCQk8dmFsIG89IjFkNjM2NiIgdj0iNTg1MyIvPgorCQkJCQk8dmFsIG89IjFkNzE3NSIgdj0iNTU0NSIvPgorCQkJCQk8dmFsIG89IjFkN2Y4NiIgdj0iNTU4OSIvPgorCQkJCQk8dmFsIG89IjFkOGQ5NSIgdj0iLTMyMTkiLz4KKwkJCQkJPHZhbCBvPSIxZDliYTYiIHY9Ii0zNjIwIi8+CisJCQkJCTx2YWwgbz0iMWRhOWI2IiB2PSItMzYyMyIvPgorCQkJCQk8dmFsIG89IjFkYjdjNyIgdj0iLTM0NzIiLz4KKwkJCQkJPHZhbCBvPSIxZGM1ZDUiIHY9Ii0zNjMwIi8+CisJCQkJCTx2YWwgbz0iMWRkM2U2IiB2PSItMzcyMyIvPgorCQkJCQk8dmFsIG89IjFkZTFmNSIgdj0iLTYwMzMiLz4KKwkJCQkJPHZhbCBvPSIxZGYwMDYiIHY9Ii02NzUyIi8+CisJCQkJCTx2YWwgbz0iMWRmZTE2IiB2PSItNjY0NyIvPgorCQkJCQk8dmFsIG89IjFlMGMyNiIgdj0iLTY3NzgiLz4KKwkJCQkJPHZhbCBvPSIxZTFhMzYiIHY9Ii02Nzk0Ii8+CisJCQkJCTx2YWwgbz0iMWUyODQ3IiB2PSItNjU5MyIvPgorCQkJCQk8dmFsIG89IjFlMzY1OSIgdj0iLTYxMzYiLz4KKwkJCQkJPHZhbCBvPSIxZTQ0NjciIHY9Ii01NjUzIi8+CisJCQkJCTx2YWwgbz0iMWU1MjgxIiB2PSItNDkxMCIvPgorCQkJCQk8dmFsIG89IjFlNjA4NiIgdj0iLTQ5MDgiLz4KKwkJCQkJPHZhbCBvPSIxZTZlOTYiIHY9Ii00ODAzIi8+CisJCQkJCTx2YWwgbz0iMWU3Y2E2IiB2PSItMTk3MCIvPgorCQkJCQk8dmFsIG89IjFlOGFiNSIgdj0iLTE4MjAiLz4KKwkJCQkJPHZhbCBvPSIxZTk4YzYiIHY9Ii0xODIxIi8+CisJCQkJCTx2YWwgbz0iMWVhNmQ1IiB2PSItMjI3MSIvPgorCQkJCQk8dmFsIG89IjFlYjRlNiIgdj0iLTIzMzIiLz4KKwkJCQkJPHZhbCBvPSIxZWMyZjYiIHY9Ii0yNjQ2Ii8+CisJCQkJCTx2YWwgbz0iMWVkMTA2IiB2PSItMjY0NCIvPgorCQkJCQk8dmFsIG89IjFlZGYxNiIgdj0iLTI3NDkiLz4KKwkJCQkJPHZhbCBvPSIxZWVkMjYiIHY9Ii0yNzI4Ii8+CisJCQkJCTx2YWwgbz0iMWVmYjM2IiB2PSItMjU4NyIvPgorCQkJCQk8dmFsIG89IjFmMDk0NiIgdj0iLTI1NDgiLz4KKwkJCQkJPHZhbCBvPSIxZjE3NTYiIHY9Ii0yMzc3Ii8+CisJCQkJCTx2YWwgbz0iMWYyNTY2IiB2PSItMjMzOSIvPgorCQkJCQk8dmFsIG89IjFmMzM3NiIgdj0iLTI1NjYiLz4KKwkJCQkJPHZhbCBvPSIxZjQxODciIHY9Ii0yNzg0Ii8+CisJCQkJCTx2YWwgbz0iMWY0Zjk2IiB2PSItMzE5MSIvPgorCQkJCQk8dmFsIG89IjFmNWRhNyIgdj0iLTM1ODEiLz4KKwkJCQkJPHZhbCBvPSIxZjZiYjYiIHY9Ii0zNTkxIi8+CisJCQkJCTx2YWwgbz0iMWY3OWM3IiB2PSItMzEyNCIvPgorCQkJCQk8dmFsIG89IjFmODdkNiIgdj0iLTMzMzciLz4KKwkJCQkJPHZhbCBvPSIxZjk1ZTciIHY9Ii0zMTQyIi8+CisJCQkJCTx2YWwgbz0iMWZhNDAxIiB2PSItMjgwNiIvPgorCQkJCQk8dmFsIG89IjFmYjIwNCIgdj0iLTI0ODAiLz4KKwkJCQkJPHZhbCBvPSIxZmMwMTYiIHY9Ii0yNDk3Ii8+CisJCQkJCTx2YWwgbz0iMWZjZTI1IiB2PSItMjE3MSIvPgorCQkJCQk8dmFsIG89IjFmZGMzNSIgdj0iLTIxMzMiLz4KKwkJCQkJPHZhbCBvPSIxZmVhNDUiIHY9Ii0yMTU5Ii8+CisJCQkJCTx2YWwgbz0iMWZmODU1IiB2PSItMjUwMCIvPgorCQkJCQk8dmFsIG89IjIwMDY2NSIgdj0iLTIzOTUiLz4KKwkJCQkJPHZhbCBvPSIyMDE0NzUiIHY9Ii0zNDY5Ii8+CisJCQkJCTx2YWwgbz0iMjAyMjg2IiB2PSItNDUxMiIvPgorCQkJCQk8dmFsIG89IjIwMzA5NSIgdj0iLTUzNTUiLz4KKwkJCQkJPHZhbCBvPSIyMDNlYTUiIHY9Ii01OTE1Ii8+CisJCQkJCTx2YWwgbz0iMjA0Y2I2IiB2PSItNTc3MSIvPgorCQkJCQk8dmFsIG89IjIwNWFjNiIgdj0iLTUyODciLz4KKwkJCQkJPHZhbCBvPSIyMDY4ZDYiIHY9Ii01Mzg2Ii8+CisJCQkJCTx2YWwgbz0iMjA3NmU2IiB2PSItNTk3NiIvPgorCQkJCQk8dmFsIG89IjIwODRmNiIgdj0iLTYxMDAiLz4KKwkJCQkJPHZhbCBvPSIyMDkzMDYiIHY9Ii02NzQyIi8+CisJCQkJCTx2YWwgbz0iMjBhMTE2IiB2PSItNjMxMiIvPgorCQkJCQk8dmFsIG89IjIwYWYyNiIgdj0iLTU1MzMiLz4KKwkJCQkJPHZhbCBvPSIyMGJkMzciIHY9Ii01NDU1Ii8+CisJCQkJCTx2YWwgbz0iMjBjYjQ2IiB2PSItNDYzMCIvPgorCQkJCQk8dmFsIG89IjIwZDk1NyIgdj0iLTQzNDgiLz4KKwkJCQkJPHZhbCBvPSIyMGU3NjciIHY9Ii00MDQ2Ii8+CisJCQkJCTx2YWwgbz0iMjBmNTgxIiB2PSItMzg1NSIvPgorCQkJCQk8dmFsIG89IjIxMDM4NiIgdj0iLTM1MTkiLz4KKwkJCQkJPHZhbCBvPSIyMTExOTQiIHY9Ii0zMTMxIi8+CisJCQkJCTx2YWwgbz0iMjExZmE1IiB2PSItMzAxNCIvPgorCQkJCQk8dmFsIG89IjIxMmRiNSIgdj0iLTI5MDQiLz4KKwkJCQkJPHZhbCBvPSIyMTNiYzUiIHY9Ii0yODI2Ii8+CisJCQkJCTx2YWwgbz0iMjE0OWQ2IiB2PSItMzY4MCIvPgorCQkJCQk8dmFsIG89IjIxNTdlNSIgdj0iLTQ1MDciLz4KKwkJCQkJPHZhbCBvPSIyMTY1ZjYiIHY9Ii01ODQ0Ii8+CisJCQkJCTx2YWwgbz0iMjE3NDA2IiB2PSItNjE5NSIvPgorCQkJCQk8dmFsIG89IjIxODIxNyIgdj0iLTYxNjUiLz4KKwkJCQkJPHZhbCBvPSIyMTkwMjYiIHY9Ii02MTQyIi8+CisJCQkJCTx2YWwgbz0iMjE5ZTM5IiB2PSItNjIyMyIvPgorCQkJCQk8dmFsIG89IjIxYWM0NiIgdj0iLTU5MzgiLz4KKwkJCQkJPHZhbCBvPSIyMWJhNTciIHY9Ii01OTI2Ii8+CisJCQkJCTx2YWwgbz0iMjFjODY3IiB2PSItNTU1NyIvPgorCQkJCQk8dmFsIG89IjIxZDY3NyIgdj0iLTYyNDAiLz4KKwkJCQkJPHZhbCBvPSIyMWU0ODciIHY9Ii01NzUwIi8+CisJCQkJCTx2YWwgbz0iMjFmMjk2IiB2PSItNTc3MiIvPgorCQkJCQk8dmFsIG89IjIyMDBhNiIgdj0iLTU0NjgiLz4KKwkJCQkJPHZhbCBvPSIyMjBlYjciIHY9Ii01MzkzIi8+CisJCQkJCTx2YWwgbz0iMjIxY2M2IiB2PSItNDU0MyIvPgorCQkJCQk8dmFsIG89IjIyMmFkNyIgdj0iLTM4NzYiLz4KKwkJCQkJPHZhbCBvPSIyMjM4ZTciIHY9Ii0zNjIyIi8+CisJCQkJCTx2YWwgbz0iMjI0NzAxIiB2PSItMzI5MiIvPgorCQkJCQk8dmFsIG89IjIyNTUwNSIgdj0iLTE2ODEiLz4KKwkJCQkJPHZhbCBvPSIyMjYzMTUiIHY9Ii0yMDgyIi8+CisJCQkJCTx2YWwgbz0iMjI3MTI1IiB2PSItMjA0MyIvPgorCQkJCQk8dmFsIG89IjIyN2YzNSIgdj0iLTE2NzUiLz4KKwkJCQkJPHZhbCBvPSIyMjhkNDUiIHY9Ii0xNzg1Ii8+CisJCQkJCTx2YWwgbz0iMjI5YjU0IiB2PSItMzQ5NCIvPgorCQkJCQk8dmFsIG89IjIyYTk2NSIgdj0iLTQwODAiLz4KKwkJCQkJPHZhbCBvPSIyMmI3NzYiIHY9Ii00NDU0Ii8+CisJCQkJCTx2YWwgbz0iMjJjNTg2IiB2PSItNDgxNiIvPgorCQkJCQk8dmFsIG89IjIyZDM5NyIgdj0iLTQ0MDUiLz4KKwkJCQkJPHZhbCBvPSIyMmUxYTYiIHY9Ii00NjIwIi8+CisJCQkJCTx2YWwgbz0iMjJlZmI2IiB2PSItNDgyMCIvPgorCQkJCQk8dmFsIG89IjIyZmRjNyIgdj0iLTQ2NDMiLz4KKwkJCQkJPHZhbCBvPSIyMzBiZDciIHY9Ii00NDM1Ii8+CisJCQkJCTx2YWwgbz0iMjMxOWU2IiB2PSItNTM5NyIvPgorCQkJCQk8dmFsIG89IjIzMjdmNiIgdj0iLTU1NTgiLz4KKwkJCQkJPHZhbCBvPSIyMzM2MWIiIHY9Ii01ODgzIi8+CisJCQkJCTx2YWwgbz0iMjM0NDE2IiB2PSItNTIwNyIvPgorCQkJCQk8dmFsIG89IjIzNTIyNiIgdj0iLTUyMDMiLz4KKwkJCQkJPHZhbCBvPSIyMzYwMzciIHY9Ii01MjUzIi8+CisJCQkJCTx2YWwgbz0iMjM2ZTQ2IiB2PSItNDM0MiIvPgorCQkJCQk8dmFsIG89IjIzN2M1NyIgdj0iLTQxOTQiLz4KKwkJCQkJPHZhbCBvPSIyMzhhNjYiIHY9Ii0zOTkxIi8+CisJCQkJCTx2YWwgbz0iMjM5ODgxIiB2PSItMzE5NSIvPgorCQkJCQk8dmFsIG89IjIzYTY4NSIgdj0iLTMzMjgiLz4KKwkJCQkJPHZhbCBvPSIyM2I0OTUiIHY9Ii0zMTkxIi8+CisJCQkJCTx2YWwgbz0iMjNjMmE0IiB2PSItMjk2NiIvPgorCQkJCQk8dmFsIG89IjIzZDBiNSIgdj0iLTI5NTkiLz4KKwkJCQkJPHZhbCBvPSIyM2RlYzQiIHY9Ii0yOTE2Ii8+CisJCQkJCTx2YWwgbz0iMjNlY2Q1IiB2PSItMzYyMCIvPgorCQkJCQk8dmFsIG89IjIzZmFlNCIgdj0iLTQ1NjIiLz4KKwkJCQkJPHZhbCBvPSIyNDA4ZjYiIHY9Ii01MDEzIi8+CisJCQkJCTx2YWwgbz0iMjQxNzA2IiB2PSItNTc5MyIvPgorCQkJCQk8dmFsIG89IjI0MjUxOCIgdj0iLTY2MDUiLz4KKwkJCQkJPHZhbCBvPSIyNDMzMjUiIHY9Ii02Nzg3Ii8+CisJCQkJCTx2YWwgbz0iMjQ0MTM3IiB2PSItNjczMiIvPgorCQkJCQk8dmFsIG89IjI0NGY0NiIgdj0iLTY0MzUiLz4KKwkJCQkJPHZhbCBvPSIyNDZiNjYiIHY9Ii02NDE1Ii8+CisJCQkJCTx2YWwgbz0iMjQ3OTc2IiB2PSItNjI2MSIvPgorCQkJCQk8dmFsIG89IjI0ODc4NiIgdj0iLTUzNzEiLz4KKwkJCQkJPHZhbCBvPSIyNDk1N2UiIHY9Ii01NzAzIi8+CisJCQkJCTx2YWwgbz0iMjRhMzhmIiB2PSItNTY2OCIvPgorCQkJCQk8dmFsIG89IjI0YjE5YyIgdj0iLTU4MTAiLz4KKwkJCQkJPHZhbCBvPSIyNGJmYWMiIHY9Ii01NDk1Ii8+CisJCQkJCTx2YWwgbz0iMjRjZGJjIiB2PSItNTM2OCIvPgorCQkJCQk8dmFsIG89IjI0ZGJjZCIgdj0iLTQ1MzkiLz4KKwkJCQkJPHZhbCBvPSIyNGU5ZTUiIHY9Ii00MDAzIi8+CisJCQkJCTx2YWwgbz0iMjRmODA4IiB2PSItMzQ4NyIvPgorCQkJCQk8dmFsIG89IjI1MDYxNiIgdj0iLTM1OTciLz4KKwkJCQkJPHZhbCBvPSIyNTE0MjYiIHY9Ii0zNTc1Ii8+CisJCQkJCTx2YWwgbz0iMjUyMjM2IiB2PSItMzQyMiIvPgorCQkJCQk8dmFsIG89IjI1MzA0NyIgdj0iLTM2MTAiLz4KKwkJCQkJPHZhbCBvPSIyNTNlNTYiIHY9Ii00MDY5Ii8+CisJCQkJCTx2YWwgbz0iMjU0YzY3IiB2PSItNDIwOSIvPgorCQkJCQk8dmFsIG89IjI1NWE3NiIgdj0iLTQ5NzciLz4KKwkJCQkJPHZhbCBvPSIyNTY4ODciIHY9Ii01ODQ1Ii8+CisJCQkJCTx2YWwgbz0iMjU3Njk3IiB2PSItNTY2MiIvPgorCQkJCQk8dmFsIG89IjI1ODRhOCIgdj0iLTE1MTU1Ii8+CisJCQkJCTx2YWwgbz0iMjU5MmI2IiB2PSItODYyMSIvPgorCQkJCQk8dmFsIG89IjI1YTBjNyIgdj0iLTQ2MDkiLz4KKwkJCQkJPHZhbCBvPSIyNWFlZDciIHY9Ii02MzI5Ii8+CisJCQkJCTx2YWwgbz0iMjViY2U3IiB2PSItNjEyMCIvPgorCQkJCQk8dmFsIG89IjI1Y2FmOCIgdj0iLTU4MTkiLz4KKwkJCQkJPHZhbCBvPSIyNWQ5MDciIHY9Ii01ODAwIi8+CisJCQkJCTx2YWwgbz0iMjVlNzE4IiB2PSItNTYyNyIvPgorCQkJCQk8dmFsIG89IjI1ZjUyNyIgdj0iLTUzMTgiLz4KKwkJCQkJPHZhbCBvPSIyNjAzMzgiIHY9Ii01NTQzIi8+CisJCQkJCTx2YWwgbz0iMjYxMTQ5IiB2PSItNDkxNiIvPgorCQkJCQk8dmFsIG89IjI2MWY1OSIgdj0iLTQ1ODkiLz4KKwkJCQkJPHZhbCBvPSIyNjJkNjgiIHY9Ii00NjcwIi8+CisJCQkJCTx2YWwgbz0iMjYzYjgzIiB2PSItMzY5NCIvPgorCQkJCQk8dmFsIG89IjI2NDk4NiIgdj0iLTM0OTEiLz4KKwkJCQkJPHZhbCBvPSIyNjU3OTUiIHY9Ii0zNTgyIi8+CisJCQkJCTx2YWwgbz0iMjY2NWE2IiB2PSItMzY4MyIvPgorCQkJCQk8dmFsIG89IjI2NzNiNSIgdj0iLTM2MDgiLz4KKwkJCQkJPHZhbCBvPSIyNjgxYzYiIHY9Ii0zNjgxIi8+CisJCQkJCTx2YWwgbz0iMjY4ZmQ1IiB2PSItMzg1MCIvPgorCQkJCQk8dmFsIG89IjI2OWRlNiIgdj0iLTM5MjMiLz4KKwkJCQkJPHZhbCBvPSIyNmFiZjYiIHY9Ii0zOTU1Ii8+CisJCQkJCTx2YWwgbz0iMjZiYTA2IiB2PSItNDQ2NyIvPgorCQkJCQk8dmFsIG89IjI2YzgxNyIgdj0iLTQyNTciLz4KKwkJCQkJPHZhbCBvPSIyNmQ2MmIiIHY9Ii0zOTE1Ii8+CisJCQkJCTx2YWwgbz0iMjZlNDM2IiB2PSItMzg5NyIvPgorCQkJCQk8dmFsIG89IjI2ZjI0NyIgdj0iLTM1MzEiLz4KKwkJCQkJPHZhbCBvPSIyNzAwNTciIHY9Ii0zNzk4Ii8+CisJCQkJCTx2YWwgbz0iMjcwZTY3IiB2PSItMzYyOCIvPgorCQkJCQk8dmFsIG89IjI3MWM3NyIgdj0iLTQ1NDAiLz4KKwkJCQkJPHZhbCBvPSIyNzJhODciIHY9Ii01MTcxIi8+CisJCQkJCTx2YWwgbz0iMjczODk3IiB2PSItNTAzOCIvPgorCQkJCQk8dmFsIG89IjI3NDZhOCIgdj0iLTUwMjgiLz4KKwkJCQkJPHZhbCBvPSIyNzU0YjkiIHY9Ii01MDI5Ii8+CisJCQkJCTx2YWwgbz0iMjc2MmM3IiB2PSItMzk5MyIvPgorCQkJCQk8dmFsIG89IjI3NzBkOCIgdj0iLTM1NTEiLz4KKwkJCQkJPHZhbCBvPSIyNzdlZTciIHY9Ii0zMjA2Ii8+CisJCQkJPC9wYXI+CisJCQkJPHBhciBtZW1pbmQ9IjY3NDYwMSIgaD0iM2RjMWE3ZTAiPgorCQkJCQk8dmFsIG89IjAiIHY9IjIyMTIzOjEzNzo4ODo3NjoxMDM6Njk6ODk6NjA0Nzo2NTcxOjIxMzQ6NjQxNDoyMjIzOjI3MjcuMjMxOjE0MzUuNjc1OjUuOTc5OjAuMDY3OjA6NDE3MTo0MTAzOToyOTA1Mjo0MjEwNDoxMjIxODoyNDcyMToxMzUwNDo4OTc1OjExMTUzOjI5OTA6ODY2NTo5NzU5OjExNzQyIi8+CisJCQkJPC9wYXI+CisJCQkJPHBhciBtZW1pbmQ9IjY3MzgwMSIgaD0iM2RjMWE3ZTAiPgorCQkJCQk8dmFsIG89IjAiIHY9IjA6MDowOjA6MDowOjA6MjQ3MjoyMjUwNToyNTE2MDoxNjQyNTozMDAxMjoyMzUxNC4yMjk6MTE2NzUuMzYyOjkuMjcyOjAuNDE2OjA6NjQ5MTozMjIxOjI4Njc6NDIwNDoyMjgyMjozMDQ3OjYyNjM6MTUzNDI6OTc4NTozMjQyNDoyMzM0NjoyMTU3ODoyMzUwOCIvPgorCQkJCTwvcGFyPgorCQkJCTxwYXIgbWVtaW5kPSI2NzM0MDEiIGg9IjNkYzFhN2UwIj4KKwkJCQkJPHZhbCBvPSIwIiB2PSI3Mjg5ODoxOTE6MTg4OjE3NjoxNzg6MTc0OjE4MToxMDQ0MToxNDA3OToxMzYwOjQ2NjY3Ojc0MTMxOjgwOTk2LjEzOjUwMzI0LjMyNjozMi4xODg6MC4wMzg6MDo0NDAyNzoyMDAyODk6MTA5MjE2OjUyNDYxOjEyOTUxOjc1ODk2OjY5MTk2OjEwNDg1MjoxMTcwMzY6OTY5MDM6MTIwNzE0OjEyNDMwODo5NjIwNyIvPgorCQkJCTwvcGFyPgorCQkJCTxwYXIgbWVtaW5kPSI2NzMwMDEiIGg9IjNkYzFhN2UwIj4KKwkJCQkJPHZhbCBvPSIwIiB2PSIwOjA6MDowOjA6MDowOjM0NzY6MzIyNjo1NTk3OjQ4NTM6MDowOjA6MC4wMDE6MC4xMzc6MDowOjA6MDowOjUwNzM1OjU5MjA1OjA6MDowOjA6MDowOjAiLz4KKwkJCQk8L3Bhcj4KKwkJCQk8cGFyIG1lbWluZD0iMjYyNzQ2MDEiIGg9IjNkYzFhN2UwIj4KKwkJCQkJPHZhbCBvPSIwIiB2PSIwOjoxMzA1OjoyODY5Ojo0NDgyOjo2MDY2Ojo3Mzk2Ojo4NTczOjoxMDI2Mjo6MTE5MjI6OjEzNzczOjoxNTQ5Mjo6MTc1MjI6OjE5NTQ0OjoyMTQ1Mjo6MjIwNzA6OjIyMDc1OjoyMjA4MDo6MjIwODQ6OjIyMDg1OjoyMjA5MDo6MjIwOTc6OjIyMTAzOjoyMjEwOTo6MjIxMTY6OjA6OjY6OjEzOjoyMDo6Mjc6OjMyOjozNDo6NDE6OjQ4Ojo1NDo6NjE6OjY4Ojo3NTo6ODI6Ojg5Ojo5Njo6MTAzOjoxMTA6OjExMDo6MTExOjoxMTY6OjExOTo6MTIzOjoxMjkiLz4KKwkJCQkJPHZhbCBvPSIyYTMwMCIgdj0iMDo6NTo6NTo6Nzo6MTE6OjEyOjoxMjo6MTc6OjI0OjozMDo6Mzc6OjQ0Ojo1MTo6NTg6OjY1Ojo2OTo6NzE6OjcxOjo3MTo6NzM6Ojc1Ojo3Njo6NzY6OjgxOjowOjo2OjoxMzo6MjA6OjI3OjozNDo6NDA6OjQ0Ojo1MDo6Ojo1MTo6NTE6OjUxOjo1MTo6NTE6OjUxOjo1MTo6NTE6OjUxOjo1MTo6NTQ6OjYwOjo2Mzo6Njk6OjAiLz4KKwkJCQkJPHZhbCBvPSI1NTQxMCIgdj0iNjo6MTM6OjIwOjoyNzo6MzQ6OjM4Ojo0NDo6NDY6OjQ2Ojo0Nzo6NTI6OjU4Ojo2NTo6NjY6OjY2Ojo2Nzo6Njk6OjY5Ojo3MDo6NzY6OjgzOjo4OTo6OTY6OjA6OjU6OjEyOjoxOTo6MjU6OjMwOjozMTo6MzU6OjM3OjozNzo6Mzc6OjM3OjozODo6NDQ6OjQ1Ojo0NTo6NDU6OjQ1Ojo0NTo6NDU6OjQ4Ojo1MTo6NTY6OjYyOjowIi8+CisJCQkJCTx2YWwgbz0iN2Y3MTAiIHY9IjY6OjE0OjoyMTo6Mjg6OjM1Ojo0Mjo6NDc6OjUwOjo1MDo6NTA6OjUyOjo1OTo6NjU6OjY5Ojo3Mjo6NzQ6Ojc1Ojo3NTo6NzU6Ojc1Ojo3ODo6Nzk6OjgyOjowOjo3OjoxNDo6MjE6OjI4OjozNDo6Mzg6OjQ0Ojo0NTo6NDU6OjQ5Ojo1Njo6NjM6OjcwOjo3Njo6ODA6OjgzNTo6MTY3NTo6MjAzODo6MjAzOTo6Mjg1Njo6MzE1ODo6MzYwNzo6NDQzMTo6MCIvPgorCQkJCQk8dmFsIG89ImE5YTEwIiB2PSI2Mjk6Ojc5Nzo6MTQ1Njo6MjM4Mjo6MjQ3Njo6MjQ3Nzo6MjgyMTo6MjgyMTo6MjgyMTo6OjoyODIxOjoyODIxOjoyODU2OjoyODY1OjoyODY1OjozMDQ5OjozMjIzOjozMjY3OjozNTMyOjo0MzA0Ojo1MTQ3Ojo1MTQ3Ojo1NDQ5OjowOjoxMDE6OjEwMjo6MjUyOjo1OTI6OjYwNTo6NjA1Ojo2MDU6OjYwNTo6NjEyOjo2MTI6OjYxMjo6NjEyOjo2MTI6OjYxMjo6NjEyOjo2Nzk6Ojc2Nzo6NzY3Ojo3Njc6Ojc2Nzo6NzY3Ojo3Njc6OjkxMDo6MDo6MTE1OCIvPgorCQkJCQk8dmFsIG89ImQ0YjIwIiB2PSIyMjg5OjoyNzAxOjozMDc2OjozMDc2OjozMzg1OjozOTA0OjozOTA0OjozOTA0OjozOTA0OjozOTA0OjozOTA0OjozOTA0OjozOTA0OjozOTA0OjozOTA0OjozOTExOjo0MDIzOjo0NTk5Ojo1MjM3Ojo1NDk0Ojo1NzgwOjo2MDcyOjowOjo2MjI6OjYyMjo6NjIyOjo2MjI6OjYyMjo6NzE2Ojo4MTk6OjgxOTo6ODE5Ojo4MTk6OjgxOTo6ODE5Ojo4NzA6Ojg3MDo6ODcwOjo4NzA6Ojg3MDo6ODcwOjo4NzA6Ojg3MDo6ODcwOjo4NzA6OjEwMjQ6OjA6OjExMjciLz4KKwkJCQkJPHZhbCBvPSJmZWUyMCIgdj0iMTk1NDo6MjE3Mzo6MjM3Nzo6MjM3Nzo6MjM3Nzo6MjM3Nzo6MjM3Nzo6MjM3Nzo6MjM4MTo6MjM4MTo6MjM4MTo6MjM4MTo6MjM4MTo6MjM4MTo6MjM4MTo6MjM4MTo6MjM4MTo6MjM4MTo6MjM4MTo6MjM4NDo6MjQwMDo6MjQwMDo6MDo6MTYzOjoxNjM6OjE2Mzo6MTYzOjoxNjM6OjE2Mzo6MTYzOjoxNjM6OjIwNDo6MzMwOjo3NTE6OjE0MDA6OjE0MzM6OjE0MzM6OjE0MzM6OjE0MzUuMTo6MTQzNS4xOjoxNDM1LjE6OjE0MzUuMTo6MTQzNS4xOjoxNDM1LjE0NDo6MTQzNS4zNzU6OjE0MzUuMzgxOjowOjoxLjE3OSIvPgorCQkJCQk8dmFsIG89IjEyOTEyMCIgdj0iMi40ODY6OjMuODY5Ojo1LjI3ODo6NS44MDk6OjUuODExOjo1LjgxMTo6NS44MTE6OjUuODQzOjo1Ljk2Nzo6NS45Njg6OjUuOTY4Ojo1Ljk2ODo6NS45Njg6OjUuOTY4Ojo1Ljk2ODo6NS45Njg6OjUuOTY4Ojo1Ljk2ODo6NS45Njg6OjUuOTY4Ojo1Ljk2OTo6NS45Njk6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjAuMDAxOjowLjAxNDo6MC4wMzI6OjAuMDQ6OjAuMDQ2OjowLjA0OTo6MC4wNTo6MC4wNTo6MC4wNTo6MC4wNTo6MC4wNTo6MC4wNTo6MC4wNTM6OjA6OjAuMDA1Ii8+CisJCQkJCTx2YWwgbz0iMTUzNDIwIiB2PSIwLjAwNTo6MC4wMDU6OjAuMDA1OjowLjAwNTo6MC4wMDU6OjAuMDA1OjowLjAwNTo6MC4wMDU6OjAuMDA1OjowLjAwNTo6MC4wMDU6OjAuMDA1OjowLjAwNTo6MC4wMDU6OjAuMDA1OjowLjAwOTo6MC4wMDk6OjAuMDA5OjowLjAwOTo6MC4wMDk6OjAuMDA5OjowLjAxNDo6MDo6MC4wMDQ6OjAuMDI6OjAuMDMxOjowLjA0Mjo6MC4wNDQ6OjAuMDQ0OjowLjA0NDo6MC4wNDQ6OjAuMDQ0OjowLjA0NDo6MC4wNDQ6OjAuMDQ3OjowLjA1OjowLjA1MTo6MC4wNTQ6OjAuMDU0OjowLjA1NDo6MDo6MDo6MDo6MDo6MTc1OjoxODc4OjowOjoyMzAzIi8+CisJCQkJCTx2YWwgbz0iMTdkNzIwIiB2PSI1MDE2Ojo3ODg5OjoxMDgyNTo6MTI3ODU6OjEzNDI4OjoxNDU2ODo6MTYyODE6OjE3ODcwOjoxODc1Nzo6MTk2NzM6OjIyMzE0OjoyNTMxNzo6MjgwMTc6OjMwNjExOjozMjU3MTo6OjozMzA3ODo6MzM1NzA6OjM0ODY1OjozNjEyNDo6Mzc2NzA6OjM5OTA4OjowOjo5Nzg6OjI1NDA6OjQyMzY6OjU5OTI6OjY3NzM6OjY4MTg6OjY5MTU6Ojc2NDM6Ojg1MTA6Ojg2MTg6Ojo6OTM1NDo6MTAzMzQ6OjEwODU3OjoxMTE5MDo6MTEzODc6OjExMzg3OjoxMjgxODo6MTU1NDc6OjE5MDExOjoyMTA3Nzo6MjI2MTA6OjI1NjgyOjowOjoyNjgyOjo1NzU3Ojo5MDk0Ii8+CisJCQkJCTx2YWwgbz0iMWE5NjQwIiB2PSIxMjQzOTo6MTQ4MTA6OjE2NDI2OjoxODE3Mjo6MjA0NjI6OjIyODUxOjoyNDk1Nzo6MjY5MTI6OjI5MjAwOjozMTc4OSIvPgorCQkJCQk8dmFsIG89IjFjNzQ2MCIgdj0iODE5Nzo6ODI2NDo6ODM2NTo6ODM2NTo6ODk5Njo6OTk5Njo6MTA1NzA6OjEwNTcwOjoxMDU3MDo6MTA4MDc6OjA6OjM4ODo6Nzc2OjoxNjU1OjoyMzc0OjoyMzkxOjoyMzkxOjoyNDI5OjozMzMyOjozNjc3OjozNzY4OjozODUxOjo0Mjk0Ojo0OTMwOjo1ODQ3Ojo2NjI1Ojo3ODUyOjo5NDkyOjoxMTMyODo6MTMzNzY6OjE1NjIwOjoxNzk0Njo6MjAxNzA6OjIyNDY5OjowOjoxOTc5Ojo0MTc5Ojo0ODE3Ojo1MzAyOjo1NjEyOjo1ODAyOjo2MDc1Ojo2Nzg3Ojo3MTcyOjo3NDg5Ojo3NjY4Ojo3ODY3Ojo4MTg0Ii8+CisJCQkJCTx2YWwgbz0iMWYxNzYwIiB2PSI4MjcwOjo4MjcwOjo4MjcwOjo4MjcwOjo4MjcwOjo4Mjc5Ojo4NDI1Ojo4NzY2Ojo5MjYxOjoxMTM3OTo6MDo6OTY3OjoyMjMyOjozMjI0OjozNTg0OjozNzA4OjozNzQyOjo0MTkyOjo0MzczOjo0Mzc5Ojo0Mzc5Ojo0Mzc5Ojo0Mzc5Ojo0Mzc5Ojo0Mzc5Ojo0NDY4Ojo0ODE2Ojo1MTExOjo1NTMzOjo2MzkzOjo2NzQwOjo3Mzk0Ojo3Mzk0Ojo3OTg4OjowOjoxNDc5OjoyNDA3OjoyOTA3OjozMzQxOjozMzQ3OjozMzQ3OjozNTIyOjo0NTIxOjo0NzAyOjo1MTA0Ojo1Mzk5Ojo2NTExOjo2NTExIi8+CisJCQkJCTx2YWwgbz0iMjFiYTYwIiB2PSI2NTExOjo2NTExOjo3NTU0Ojo4MDQ2Ojo4MDQ2Ojo4MDg0Ojo4NzgxOjo5NDM3Ojo5NDM3OjoxMDAzNDo6MDo6MjU4OjoyNTg6OjI1ODo6MjU4OjoyNTg6OjMwMzo6NTQxOjoxMDk3OjoxMTIyOjoxMTIyOjoxMTIyOjoxMTIyOjoxMzk3OjoxNDI5OjoyMDUyOjoyNjM4OjoyNjM4OjoyNjM4OjoyNjM4OjoyNjM4OjoyNzc5OjoyNzc5OjoyNzc5OjowOjoyMTE6OjcxNjo6OTkzOjo5OTM6Ojk5Mzo6OTkzOjoxMDU4OjoxMDYwOjoxMDYwOjoxMDYwOjoxMDYwOjoxMTIzOjoxNjQwIi8+CisJCQkJCTx2YWwgbz0iMjQ2YjcwIiB2PSIzMjgwOjozOTUyOjozOTYyOjozOTYyOjozOTYyOjo0Mjk3Ojo1NTg2Ojo2OTk4Ojo3OTU2OjowOjo0OTI6OjE1NzA6OjI2ODM6OjM1ODU6OjM2MTU6OjM2MTg6OjM2NTk6OjM2NTk6OjM2NTk6OjM2NTk6OjM5NzM6OjY3Njc6Ojg2NDQ6Ojg3MTc6Ojg3MTg6Ojg3MTg6Ojg3MTg6Ojg3MTg6Ojg3MTg6Ojg3MTg6Ojg4OTg6Ojg4OTg6OjkyMDU6OjA6OjUwMjo6MTgyNTo6MzcyMjo6NTc1ODo6NzIzNzo6ODE1OTo6ODIyNjo6ODIyNjo6ODIyNjo6ODIyNjo6ODIyNjo6ODIyNjo6ODIyNjo6ODIyNiIvPgorCQkJCQk8dmFsIG89IjI3MGU3MCIgdj0iODIyNjo6ODI0MDo6ODUwNDo6ODk4MDo6OTQ2Njo6MTAzMDg6OjEwNjY2OjoxMDY2Njo6MTA3MzkiLz4KKwkJCQk8L3Bhcj4KKwkJCQk8cGFyIG1lbWluZD0iMjYyNzM4MDEiIGg9IjNkYzFhN2UwIj4KKwkJCQkJPHZhbCBvPSIwIiB2PSIwOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowIi8+CisJCQkJCTx2YWwgbz0iMmEzMDAiIHY9IjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6Ojo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MCIvPgorCQkJCQk8dmFsIG89IjU1NDEwIiB2PSIwOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowIi8+CisJCQkJCTx2YWwgbz0iN2Y3MTAiIHY9IjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjY4MDo6MTc1Mzo6MjQzNjo6MjQzOTo6MjQ3MTo6MjQ3Mjo6MjQ3Mjo6MCIvPgorCQkJCQk8dmFsIG89ImE5YTEwIiB2PSIyNzM6OjMwNDo6MzA0OjozMDQ6OjM5Mjo6MTQ2Nzo6MTk2MTo6MjczNTo6NDUxMTo6OjoxMjExNDo6MTYzMzc6OjE4MjUyOjoxODQ1Mjo6MTkwNTE6OjIwNzI0OjoyMTExNTo6MjE2MTE6OjIxNjE2OjoyMTYxNjo6MjE2NDc6OjIyNDYwOjoyMjUwNTo6MDo6MTQyODo6MTc4Njo6MTgyMTo6MTgyMTo6MjEwMDo6MzExNjo6NDYwNjo6NTcwMDo6NjI2Mzo6NzIzMjo6ODMyMTo6OTIwMjo6OTcwNjo6MTAxMDk6OjEwNTY3OjoxMTgyNzo6MTIzNTY6OjE0ODE4OjoxNzQxNjo6MjAxODY6OjIyNjI4OjoyNDQ2Nzo6MjUxNjA6OjA6OjE2Ii8+CisJCQkJCTx2YWwgbz0iZDRiMjAiIHY9IjE2OjoxNjo6MTg6Ojc2MTo6MjMxNzo6MjM0NTo6MzAzMTo6NTAxMDo6NzY4MTo6MTA3MTk6OjEzNDkxOjoxNDA3OTo6MTQ1NDE6OjE0Nzg4OjoxNTAyODo6MTU1NTE6OjE2MTgyOjoxNjE4Mjo6MTYzMjc6OjE2MzUxOjoxNjM5NDo6MTY0MjQ6OjA6OjEyNTQ6OjI1MjE6OjMzMDQ6OjQyMTQ6OjYxODk6Ojg1NDI6Ojg4ODQ6Ojk3MTQ6OjEwOTA3OjoxMjQ0Nzo6MTM2MDQ6OjE0NDA3OjoxNDkyODo6MTY4NTU6OjE4MzIzOjoyMDAxNjo6MjIzMDY6OjIzOTUyOjoyNTUxMTo6MjY3MDA6OjI3ODU4OjoyOTUxMjo6MzAwMTI6OjA6OjAiLz4KKwkJCQkJPHZhbCBvPSJmZWUyMCIgdj0iMTQ6OjE0OjoxNjo6ODQ4OjoyNTEyOjo0MTE0Ojo1NTU2Ojo3MDcwOjo3OTY3Ojo5NDI0OjoxMDgxMjo6MTE3MjI6OjEyODI5OjoxMzk1MDo6MTUwMzM6OjE3MDk1OjoxOTQyMzo6MjA2NzA6OjIxMTI5OjoyMTgyODo6MjI2MDg6OjIzNDQ0OjowOjoxMDI0OjoxNTA4OjoxNzg2OjoxOTg1OjoyOTUxOjo0OTAwOjo2NTg5Ojo4MDUzOjo4ODQ5Ojo4OTI5Ojo4OTI5Ojo4OTI5Ojo5NTAyOjoxMDM4MDo6MTEyMDA6OjExNjY5LjQzOjoxMTY3MC43MTQ6OjExNjcxLjUwMTo6MTE2NzMuMjM2OjoxMTY3NC4zMjQ6OjExNjc0LjYxNjo6MTE2NzQuODg3OjoxMTY3NS4zNDU6OjA6OjAiLz4KKwkJCQkJPHZhbCBvPSIxMjkxMjAiIHY9IjA6OjA6OjA6OjA6OjAuNjMyOjoxLjU3OjoyLjc4Nzo6NC4zODk6OjUuMzUzOjo2LjY3Njo6Ny44MjU6OjguNDczOjo5LjA1OTo6OS4wNzo6OS4wODM6OjkuMTEzOjo5LjE0OTo6OS4xODY6OjkuMjIyOjo5LjI1NDo6OS4yNjM6OjkuMjY3OjowOjowLjA1NDo6MC4wNzg6OjAuMDk0OjowLjExMzo6MC4xNDk6OjAuMjo6MC4yMjk6OjAuMjM0OjowLjI0MTo6MC4yNDQ6OjAuMjQ1OjowLjI0NTo6MC4yNDU6OjAuMjQ1OjowLjI0NTo6MC4yNDY6OjAuMjc2OjowLjMwOTo6MC4zNDg6OjAuMzgzOjowLjQwODo6MC40MTU6OjAuNDE2OjowOjowLjAyMiIvPgorCQkJCQk8dmFsIG89IjE1MzQyMCIgdj0iMC4wMzE6OjAuMDMyOjowLjAzMzo6MC4wNDU6OjAuMDc2OjowLjE6OjAuMTIxOjowLjE2MTo6MC4xOTc6OjAuMjI3OjowLjI1Mjo6MC4yNTc6OjAuMjY0OjowLjI3NTo6MC4yOTU6OjAuMzE1OjowLjMyMjo6MC4zMjk6OjAuMzMyOjowLjM0ODo6MC4zNTc6OjAuMzU3OjowOjowOjowOjowOjowOjowOjowLjAxNTo6MC4wNTE6OjAuMDYyOjowLjA2ODo6MC4wNzk6OjAuMDkxOjowLjA5NDo6MC4wOTQ6OjAuMDk3OjowLjEwODo6MC4xMjU6OjAuMTYxOjoxNDI1OjozNTYzOjo1MDg3Ojo2MDgxOjo2NDkxOjo2NDkxOjowOjowIi8+CisJCQkJCTx2YWwgbz0iMTdkNzIwIiB2PSIwOjowOjowOjowOjozOjo0OjoxNzo6MTc6OjE3OjoxNzo6ODM6OjgzOjo4Mzo6ODM6OjgzOjo6OjI4MTU6OjMyMjE6OjMyMjE6OjMyMjE6OjMyMjE6OjMyMjE6OjA6OjA6OjA6OjA6OjA6OjA6OjUwMzo6MjEyNDo6MjEyNDo6MjEzNTo6MjE4Nzo6OjoyMjIwOjoyMjIwOjoyMjIwOjoyMjIwOjoyMjMxOjoyODU3OjoyODY3OjoyODY3OjoyODY3OjoyODY3OjoyODY3OjoyODY3OjowOjowOjowOjowIi8+CisJCQkJCTx2YWwgbz0iMWE5NjQwIiB2PSIwOjowOjowOjowOjo1Ojo1Ojo1Ojo1Ojo1Ojo1Ii8+CisJCQkJCTx2YWwgbz0iMWM3NDYwIiB2PSIxNDEzOTo6MTQyMTg6OjE0NTM4OjoxNjQ2Nzo6MTY0OTM6OjE2NDkzOjoxNzkxMzo6MjAzODg6OjIyNTAzOjoyMjgyMjo6MDo6MjQyOjoyNDI6OjI0Mjo6MjQyOjo0NzM6OjE2MTQ6OjI3ODM6OjI3ODM6OjI3ODU6OjMwNDM6OjMwNDY6OjMwNDY6OjMwNDc6OjMwNDc6OjMwNDc6OjMwNDc6OjMwNDc6OjMwNDc6OjMwNDc6OjMwNDc6OjMwNDc6OjMwNDc6OjMwNDc6OjA6OjA6OjA6OjEwMTo6MTAxOjoxMDE6OjE1NTo6MTU1OjoxNTU6OjE1NTo6MTU1OjoxNTg6OjE1ODo6MTU4Ii8+CisJCQkJCTx2YWwgbz0iMWYxNzYwIiB2PSIzMDM6OjY4OTo6MTI2Nzo6MzI5MTo6NTM2Mjo6NTk2NDo6NTk2NDo6NjIwNTo6NjI2Mzo6NjI2Mzo6MDo6Njc6Ojc4Ojo3ODo6Nzg6Ojk2OjoyNzk6OjEyNTc6OjIxNjk6OjMzODI6OjU2Mjg6Ojc2OTI6OjkxNDQ6Ojk4MDA6OjExNDEwOjoxMzE5Mzo6MTM3NzA6OjE0NTAwOjoxNDUwMjo6MTQ1MjY6OjE0NTI4OjoxNDY5Mzo6MTUzMzc6OjE1MzQyOjowOjowOjoxMjg6OjEyODo6MTI4Ojo2MzE6OjE5NjA6OjI4MzQ6OjI4NDc6OjI5OTQ6OjM0NDU6OjM0NDU6OjM0NDU6OjQwMTAiLz4KKwkJCQkJPHZhbCBvPSIyMWJhNjAiIHY9IjUzMDQ6OjY4MDI6OjcxODg6OjczMDQ6Ojc3Nzc6OjgxMTk6OjgxMTk6OjgyMzg6Ojk3MzE6Ojk3ODU6OjA6OjMyMDI6OjUxMzc6OjU1OTM6OjYzMDQ6Ojg1Nzc6OjEyMzIyOjoxMjU2MTo6MTI1NjE6OjEzOTYwOjoxNjUzMzo6MjAxMjc6OjIyODQxOjoyMjg2Mzo6MjMxMDY6OjIzMjQ3OjoyMzI0Nzo6MjQ5ODc6OjI2NDAyOjoyNzU5MDo6MjgwNzU6OjI5MjYzOjozMTQzODo6MzIzMjU6OjA6OjE3MTo6MTcxOjoyMDA6OjM0NDo6MTQ3Njo6MjQyNTo6MzM4Nzo6NDE0NTo6NTg3NTo6OTIxMDo6MTIyOTE6OjE1MTQ0OjoxNTE0NCIvPgorCQkJCQk8dmFsIG89IjI0NmI3MCIgdj0iMTUxNDQ6OjE1MTQ0OjoxNzI2Nzo6MjE4NjQ6OjIzMjMyOjoyMzM0Njo6MjMzNDY6OjIzMzQ2OjoyMzM0Njo6MDo6ODY6Ojg2Ojo4Njo6ODY6OjE4ODo6NzA5OjoxMzMzOjoyNTExOjo0MzEzOjo3NTkzOjoxMDQzNDo6MTA0MzQ6OjEwNDQzOjoxMDYyMjo6MTA4MTA6OjExMjkzOjoxMjMwMjo6MTQ4NTk6OjE3NDc2OjoxOTU2NTo6MTk3NDI6OjIxMDM1OjoyMTIzNDo6MDo6MTM6OjEzOjoxMzo6MTM6OjEzOjoxMzo6MjE2Ojo5Mjk6OjIwNTg6OjM3MDA6OjU2OTg6Ojg3ODI6OjExNjk4OjoxNDY2MyIvPgorCQkJCQk8dmFsIG89IjI3MGU3MCIgdj0iMTc3Njc6OjE4NTQ2OjoxOTE1NTo6MTkxNTU6OjE5MTU1OjoxOTE1NTo6MjA3MzA6OjIzMDE2OjoyMzUwOCIvPgorCQkJCTwvcGFyPgorCQkJCTxwYXIgbWVtaW5kPSIyNjI3MzQwMSIgaD0iM2RjMWE3ZTAiPgorCQkJCQk8dmFsIG89IjAiIHY9IjA6OjQxNzc6OjgzNDg6OjEyNDIxOjoxNjQ2Njo6MjAzODk6OjI0NTUwOjoyOTYzODo6MzUzOTA6OjQyMzI5Ojo0OTYwODo6NTY5ODI6OjY0MTE5Ojo3MDgxOTo6NzI4MjQ6OjcyODMxOjo3MjgzODo6NzI4NDU6OjcyODUxOjo3Mjg1OTo6NzI4NjY6OjcyODczOjo3Mjg4MTo6NzI4ODk6OjA6Ojg6OjE2OjoyNDo6MzI6OjQwOjo0ODo6NTY6OjY1Ojo3Mzo6ODE6Ojg5Ojo5Nzo6MTA1OjoxMTQ6OjEyMjo6MTMxOjoxMzg6OjE0NTo6MTUyOjoxNjA6OjE2Nzo6MTc1OjoxODMiLz4KKwkJCQkJPHZhbCBvPSIyYTMwMCIgdj0iMDo6ODo6MTY6OjIzOjozMTo6Mzk6OjQ3Ojo1NTo6NjM6OjcxOjo3OTo6ODc6Ojk2OjoxMDQ6OjExMjo6MTIwOjoxMjg6OjEzNTo6MTQyOjoxNTA6OjE1Nzo6MTY1OjoxNzI6OjE4MDo6MDo6ODo6MTc6OjI1OjozNDo6NDM6OjUxOjo1ODo6NjY6Ojo6Nzk6Ojg1Ojo5Mjo6OTg6OjEwNTo6MTExOjoxMTc6OjEyNDo6MTMxOjoxMzg6OjE0NTo6MTUzOjoxNjA6OjE2ODo6MCIvPgorCQkJCQk8dmFsIG89IjU1NDEwIiB2PSI4OjoxNjo6MjU6OjMzOjo0MTo6NDk6OjU2Ojo2NDo6NzA6Ojc3Ojo4NDo6OTE6Ojk4OjoxMDU6OjExMTo6MTE4OjoxMjU6OjEzMjo6MTM5OjoxNDc6OjE1NDo6MTYyOjoxNzA6OjA6Ojc6OjE2OjoyNDo6MzI6OjQwOjo0ODo6NTU6OjYzOjo2OTo6NzY6OjgyOjo4OTo6OTY6OjEwMzo6MTA5OjoxMTY6OjEyMjo6MTI4OjoxMzU6OjE0Mzo6MTUwOjoxNTg6OjE2Njo6MCIvPgorCQkJCQk8dmFsIG89IjdmNzEwIiB2PSI4OjoxNzo6MjU6OjM0Ojo0Mzo6NTE6OjU4Ojo2Njo6NzM6OjgwOjo4Nzo6OTQ6OjEwMTo6MTA4OjoxMTU6OjEyMjo6MTI5OjoxMzU6OjE0Mjo6MTUwOjoxNTc6OjE2NTo6MTcyOjowOjo4OjoxNzo6MjU6OjM0Ojo0Mjo6NTA6OjU4Ojo2NTo6NzI6Ojc4Ojo4NTo6OTI6OjEwMDo6MTA3OjoxMTQ6OjI1OTU6Ojc5MTM6OjEwMjk0OjoxMDQzOTo6MTA0Mzk6OjEwNDM5OjoxMDQ0MTo6MTA0NDE6OjAiLz4KKwkJCQkJPHZhbCBvPSJhOWExMCIgdj0iMjo6NDo6OTo6OTo6OTo6OTo6Njk6OjE4MTo6MjM2Ojo6OjMyNzo6NDYxOjo3MjA6OjEzOTM6OjIyMTU6OjMwNTk6OjQ1OTM6OjYzNDI6OjgwNDE6Ojk5NDQ6OjExNTYxOjoxMjMxNDo6MTMxNjY6OjA6OjQ3Ojo0Nzo6NDc6OjQ3Ojo0Nzo6NDc6OjQ3Ojo0Nzo6NDg6OjU5Ojo4Nzo6MTI3OjoxMzQ6OjEzNTo6MTQyOjoxODI6OjUzNzo6NzY5OjoxMDAwOjoxMTU2OjoxMjA4OjoxMjMwOjoxMjY0OjowOjowIi8+CisJCQkJCTx2YWwgbz0iZDRiMjAiIHY9IjA6OjA6OjA6OjA6OjU4Ojo0NjQ6OjEyMTQ6OjI4NjY6OjUxOTU6Ojc2NDQ6OjEwMTg5OjoxMzEwODo6MTU5MDI6OjE4NzczOjoyMTU1Nzo6MjQzNDU6OjI4MjcxOjozMjI2Nzo6MzYwMTI6OjM5MzYwOjo0MjM1Mjo6NDQ3ODI6OjA6OjEyMTU6OjE4Nzk6OjI1ODE6OjMyMzI6OjM3MzA6OjQ2Mjc6OjY4NDU6Ojk0MjY6OjEzMjEzOjoxNzQ2MDo6MjE4MTI6OjI2NDA4OjozMDg3ODo6MzUzNDY6OjQwMDYxOjo0NDc3Njo6NDkxNDU6OjUzNTAxOjo1NzU3NTo6NjE0Mjk6OjY0OTY4Ojo2ODAyOTo6NzExNTQ6OjA6OjI1NDEiLz4KKwkJCQkJPHZhbCBvPSJmZWUyMCIgdj0iNDc1Nzo6Njc0OTo6ODcwNzo6MTA0NDY6OjEyMjk2OjoxNDgxNzo6MTgwMjE6OjIyMTkyOjoyNDcxMDo6MjkyMDk6OjMzNzk5OjozODAwMDo6NDIxOTk6OjQ2Mzc1Ojo1MDY4MTo6NTUwNjI6OjU5Mzg3Ojo2MzY4Njo6Njc5NzE6OjcxODgzOjo3NTM3ODo6NzgyNzQ6OjA6OjE5NjU6OjM3ODU6OjU1ODk6Ojc0MDg6OjkwNDI6OjEwNzM1OjoxMzE0Mzo6MTYyNTQ6OjIwNDczOjoyNTIxMDo6Mjk4OTg6OjM0OTg5OjozOTI2NTo6NDM1NDc6OjQ3NjU5Ojo1MDI5OC44MTY6OjUwMzAyLjczMzo6NTAzMDYuNzI5Ojo1MDMxMC4zMjY6OjUwMzEzLjc4Mzo6NTAzMTcuMDYyOjo1MDMyMC4wMTY6OjUwMzIyLjI3Nzo6MDo6MS45ODYiLz4KKwkJCQkJPHZhbCBvPSIxMjkxMjAiIHY9IjMuNzQ2Ojo1LjQyNzo6Ny4xMTY6OjguNjQ5OjoxMC4yMjU6OjEyLjM3Nzo6MTQuOTcyOjoxOC4xNTU6OjIxLjUxOTo6MjQuMDc5OjoyNi43ODk6OjI5Ljg3Mjo6MzIuMDM4OjozMi4wNzU6OjMyLjA5Mzo6MzIuMTE6OjMyLjEzMjo6MzIuMTQ5OjozMi4xNjM6OjMyLjE3Mzo6MzIuMTgxOjozMi4xODM6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjAuMDAxOjowLjAwNTo6MC4wMDg6OjAuMDEyOjowLjAxNDo6MC4wMTQ6OjAuMDE0OjowLjAxNDo6MC4wMTc6OjAuMDIzOjowLjAyNjo6MC4wMjk6OjAuMDMyOjowLjAzNTo6MC4wMzg6OjA6OjAiLz4KKwkJCQkJPHZhbCBvPSIxNTM0MjAiIHY9IjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjAuMDA0OjowLjAxMzo6MC4wMjM6OjAuMDM1OjowLjAzOTo6MC4wNDo6MC4wNDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MC4wMTE6OjAuMDY0OjowLjE4NDo6MC4yOTk6OjAuNDAzOjowLjQ5MTo6MC41ODc6OjAuNjg0OjowLjc3Nzo6MC44ODI6OjQ2NDk6OjExMzY5OjoxODM4NDo6MjU1Mzk6OjMyMDk4OjozODE4OTo6MDo6NTYzMSIvPgorCQkJCQk8dmFsIG89IjE3ZDcyMCIgdj0iMTExMzQ6OjE2NTgwOjoyMTgxOTo6MjY5MzQ6OjMyNDQ5OjozOTAxMTo6NDYxNjQ6OjU3MzI5Ojo3MDUzNTo6ODM1OTI6Ojk2MTEyOjoxMDc5MzQ6OjExOTgzNjo6MTMxODM2OjoxNDM5MzI6Ojo6MTU5OTcyOjoxNjc4Mzg6OjE3NTc1OTo6MTgyOTQwOjoxODkyNjE6OjE5NTI2MDo6MDo6NDM2MTo6ODYzNzo6MTI4NDQ6OjE3MDI2OjoyMTI5Mjo6MjYxODU6OjMxNTE0OjozNzYyOTo6NDQxNDc6OjUwMjk1Ojo6OjYyOTcyOjo2OTE0Mjo6NzU0OTA6OjgxODcxOjo4ODQxMTo6OTI2MzQ6Ojk1MjYzOjo5ODEzNjo6MTAxNDkzOjoxMDQzMzg6OjEwNjI2NDo6MTA4MDg2OjowOjoxMTE4OjoyMTI1OjozMTYzIi8+CisJCQkJCTx2YWwgbz0iMWE5NjQwIiB2PSIzOTcyOjo0NDI0Ojo1MTE3Ojo2NjcwOjo4NjgyOjoxMTI3Mzo6MTQwMzY6OjE2ODAwOjoxOTU4NTo6MjE2ODciLz4KKwkJCQkJPHZhbCBvPSIxYzc0NjAiIHY9IjEyOTUxOjoxMjk1MTo6MTI5NTE6OjEyOTUxOjoxMjk1MTo6MTI5NTE6OjEyOTUxOjoxMjk1MTo6MTI5NTE6OjEyOTUxOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjoyMDk3Ojo1NjU4Ojo5MzA3OjoxMjgzNzo6MTY0Mzc6OjIwMDcyOjoyNDg1NTo6MzExMjA6OjM3ODEzOjo0NDYzNTo6NTE1MDk6OjU4MjI0Ojo2NDUxOTo6NzA0NjA6OjA6OjQ5MTI6Ojk3Nzk6OjEyNDY4OjoxNDM3Nzo6MTYxOTY6OjE4MDk4OjoyMDM1Nzo6MjI5MTY6OjI1NTcyOjoyODMzMzo6MzEwNDg6OjMzNjczOjozNjI2OCIvPgorCQkJCQk8dmFsIG89IjFmMTc2MCIgdj0iMzg3Njk6OjQxMTk3Ojo0MzYxNzo6NDYyMjI6OjQ5MzA3Ojo1MjY5NDo6NTYyMjk6OjU5NTg2Ojo2Mjc5MDo6NjYxNDc6OjA6OjI1NjM6OjUwMTA6OjczNzc6Ojk1NDc6OjExNjYyOjoxMzk3MDo6MTY3MjI6OjE5ODIwOjoyMzY2ODo6Mjg0NTU6OjM0MDc5OjozOTc5OTo6NDUxNDg6OjUwNTg5Ojo1NjQ0ODo6NjI2NzQ6OjY5MDg0Ojo3NTU4NDo6ODE2Mjk6Ojg3MDA3Ojo5MjE5MDo6OTY2NjQ6OjEwMDk1Mzo6MDo6MzY4Njo6Njk4MTo6MTAxMDk6OjEzMTQ5OjoxNjAzOTo6MTkxNjg6OjIzMTY0OjoyODI2Mzo6MzQyMzg6OjQwNDczOjo0NjU5MDo6NTI4MjE6OjU4ODY4Ii8+CisJCQkJCTx2YWwgbz0iMjFiYTYwIiB2PSI2NDgxMDo6NzA2Mjg6Ojc3MDI2Ojo4MzE2MDo6ODkwMjc6Ojk0NjczOjoxMDAxNTU6OjEwNTM4Mzo6MTA5NjkxOjoxMTM1NTk6OjA6OjE5OTY6OjM4NzY6OjU5NDk6Ojc5NDU6Ojk2NzM6OjExNTgzOjoxNTE5Nzo6MTkzNTU6OjIzOTU5OjoyODY4OTo6MzMyMjk6OjM3OTgxOjo0Mjc0NTo6NDc0NzA6OjUyNjU2Ojo1ODIyODo6NjM3Njg6OjY5MzUzOjo3NDYzNDo6Nzk4NzI6Ojg0Njk5Ojo4ODk2Njo6OTMwOTA6OjA6OjMyNzI6OjY1MTk6Ojk2NDY6OjEyNjY1OjoxNTUyOTo6MTg3ODU6OjIyNzY3OjoyNzM2MTo6MzMwMjY6OjM5MTk3Ojo0NTYzNDo6NTIyMzE6OjU4Njg4Ii8+CisJCQkJCTx2YWwgbz0iMjQ2YjcwIiB2PSI3MTYyMzo6Nzc4OTc6OjgzNjYxOjo4ODkxOTo6OTQ1MDk6OjEwMDIyNjo6MTA2MDA0OjoxMTE1MTc6OjExNjQ5Nzo6MDo6MzUwNDo6NzE0Nzo6MTA3NjA6OjE0MzQxOjoxNzgyMzo6MjE1NjE6OjI1ODQ1OjozMDM4MTo6MzU4MjE6OjQxNTI5Ojo0ODAyNjo6NTczMTA6OjY0ODk4Ojo3MDkyNDo6NzcxOTU6OjgzMTM1Ojo4OTEwNTo6OTQ5MDA6OjEwMDMyMTo6MTA1Njk4OjoxMTEwNTM6OjExNTcyNzo6MTIwMzA5OjowOjozNjEwOjo3MTI3OjoxMDc3ODo6MTQ0MjE6OjE4MDE1OjoyMTcxMjo6MjU1NjQ6OjI5NDU0OjozMzU5ODo6Mzc5NDY6OjQyMTAwOjo0NjA1NDo6NDk4MjQ6OjUzNTAwIi8+CisJCQkJCTx2YWwgbz0iMjcwZTcwIiB2PSI1NzA5OTo6NjEzODU6OjY2MjIxOjo3MTM1Mjo6NzYzODI6OjgxMzY4Ojo4NTgyODo6ODk2Nzc6OjkzMDM2Ii8+CisJCQkJPC9wYXI+CisJCQkJPHBhciBtZW1pbmQ9IjI2MjczMDAxIiBoPSIzZGMxYTdlMCI+CisJCQkJCTx2YWwgbz0iMCIgdj0iMDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MCIvPgorCQkJCQk8dmFsIG89IjJhMzAwIiB2PSIwOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjo6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjAiLz4KKwkJCQkJPHZhbCBvPSI1NTQxMCIgdj0iMDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MCIvPgorCQkJCQk8dmFsIG89IjdmNzEwIiB2PSIwOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjoxMDo6NTIxOjoxMDA5OjoxOTE0OjoyMzI5OjoyODA0OjowIi8+CisJCQkJCTx2YWwgbz0iYTlhMTAiIHY9IjEwNzA6OjEyMDU6OjEyNDI6OjEzNjE6OjE4NzM6OjI2ODg6OjI4ODg6OjI5Njg6OjMwMTM6Ojo6MzA5Mzo6MzE2NTo6MzIyNjo6MzIyNjo6MzIyNjo6MzIyNjo6MzIyNjo6MzIyNjo6MzIyNjo6MzIyNjo6MzIyNjo6MzIyNjo6MzIyNjo6MDo6NTA0Ojo5NzU6OjE0MjA6OjE3NzY6OjIzMDU6OjI3OTY6OjMyMTI6OjQwMDI6OjQyNTQ6OjQzNzM6OjQ0OTQ6OjQ1NDk6OjQ3NTM6OjQ5NTA6OjUwODc6OjU0NTM6OjU0NTM6OjU0NTM6OjU0NTM6OjU0NTQ6OjU0NzM6OjU1MDk6OjU1ODE6OjA6OjU4MSIvPgorCQkJCQk8dmFsIG89ImQ0YjIwIiB2PSIxMjMxOjoxOTI3OjoyNzYwOjozOTAyOjo0ODUzOjo0ODUzOjo0ODUzOjo0ODUzOjo0ODUzOjo0ODUzOjo0ODUzOjo0ODUzOjo0ODUzOjo0ODUzOjo0ODUzOjo0ODUzOjo0ODUzOjo0ODUzOjo0ODUzOjo0ODUzOjo0ODUzOjo0ODUzOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowIi8+CisJCQkJCTx2YWwgbz0iZmVlMjAiIHY9IjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjAiLz4KKwkJCQkJPHZhbCBvPSIxMjkxMjAiIHY9IjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjAuMDE3OjowLjAzMTo6MC4wNDg6OjAuMDY1OjowLjA4NTo6MC4xMDU6OjAuMTE0OjowLjExNjo6MC4xMTY6OjAuMTE2OjowLjExNjo6MC4xMTY6OjAuMTE3OjowLjEyOjowLjEyMzo6MC4xMjg6OjAuMTM1OjowLjEzNTo6MC4xMzU6OjAuMTM1OjowLjEzNTo6MC4xMzU6OjAuMTM2OjowOjowLjAxNiIvPgorCQkJCQk8dmFsIG89IjE1MzQyMCIgdj0iMC4wMzY6OjAuMDU0OjowLjA3NDo6MC4wOTY6OjAuMTE5OjowLjEzNzo6MC4xNTI6OjAuMTY1OjowLjE3ODo6MC4xOTo6MC4yMDQ6OjAuMjE2OjowLjIyODo6MC4yMzc6OjAuMjQ5OjowLjI1Njo6MC4yNTY6OjAuMjU2OjowLjI1Njo6MC4yNTY6OjAuMjU2OjowLjI1Nzo6MDo6MC4wMTI6OjAuMDE4OjowLjAyOjowLjAyMTo6MC4wMjU6OjAuMDMyOjowLjAzNzo6MC4wMzc6OjAuMDM3OjowLjAzNzo6MC4wMzc6OjAuMDM3OjowLjAzNzo6MC4wMzc6OjAuMDM3OjowLjAzNzo6MC4wMzc6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjAiLz4KKwkJCQkJPHZhbCBvPSIxN2Q3MjAiIHY9IjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6Ojo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6OjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowIi8+CisJCQkJCTx2YWwgbz0iMWE5NjQwIiB2PSIwOjowOjowOjowOjowOjowOjowOjowOjowOjowIi8+CisJCQkJCTx2YWwgbz0iMWM3NDYwIiB2PSI5MjA4Ojo5NDkwOjoxMjU3OTo6MTY2MzM6OjIwMTY0OjoyMzg4Mjo6MjgzMzQ6OjMzNzEzOjozOTIyMDo6NDQ5MDk6OjA6OjY1NDI6OjEzMTgwOjoxOTg1NTo6MjY1OTQ6OjMzNDMyOjo0MDI4MDo6NDY3Nzc6OjUyNTI0Ojo1Nzg3NTo6NTkyMDU6OjU5MjA1Ojo1OTIwNTo6NTkyMDU6OjU5MjA1Ojo1OTIwNTo6NTkyMDU6OjU5MjA1Ojo1OTIwNTo6NTkyMDU6OjU5MjA1Ojo1OTIwNTo6NTkyMDU6OjU5MjA1OjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowIi8+CisJCQkJCTx2YWwgbz0iMWYxNzYwIiB2PSIwOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowIi8+CisJCQkJCTx2YWwgbz0iMjFiYTYwIiB2PSIwOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowIi8+CisJCQkJCTx2YWwgbz0iMjQ2YjcwIiB2PSIwOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowIi8+CisJCQkJCTx2YWwgbz0iMjcwZTcwIiB2PSIwOjowOjowOjowOjowOjowOjowOjowOjowIi8+CisJCQkJPC9wYXI+CisJCQkJPHBhciBtZW1pbmQ9IjEzMTQ2MDEiIGg9IjNkYzFhN2UwIj4KKwkJCQkJPHZhbCBvPSIwIiB2PSIyNzAzNzAiLz4KKwkJCQk8L3Bhcj4KKwkJCQk8cGFyIG1lbWluZD0iMTMxMzgwMSIgaD0iM2RjMWE3ZTAiPgorCQkJCQk8dmFsIG89IjAiIHY9IjMwNjY5MyIvPgorCQkJCTwvcGFyPgorCQkJCTxwYXIgbWVtaW5kPSIxMzEzNDAxIiBoPSIzZGMxYTdlMCI+CisJCQkJCTx2YWwgbz0iMCIgdj0iMTU3NjExMSIvPgorCQkJCTwvcGFyPgorCQkJCTxwYXIgbWVtaW5kPSIxMzEzMDAxIiBoPSIzZGMxYTdlMCI+CisJCQkJCTx2YWwgbz0iMCIgdj0iMTI3MDk4Ii8+CisJCQkJPC9wYXI+CisJCQkJPHBhciBtZW1pbmQ9IjUyNTE0NjAxIiBoPSIzZGMxYTdlMCI+CisJCQkJCTx2YWwgbz0iMCIgdj0iMDo6MTMwNTo6Mjg2OTo6NDQ4Mjo6NjA2Njo6NzM5Njo6ODU3Mzo6MTAyNjI6OjExOTIyOjoxMzc3Mzo6MTU0OTI6OjE3NTIyOjoxOTU0NDo6MjE0NTI6OjIyMDcwOjoyMjA3NTo6MjIwODA6OjIyMDg0OjoyMjA4NTo6MjIwOTA6OjIyMDk3OjoyMjEwMzo6MjIxMDk6OjIyMTE2OjoyMjEyMzo6MjIxMjk6OjIyMTM2OjoyMjE0Mzo6MjIxNTA6OjIyMTU2OjoyMjE1ODo6MjIxNjY6OjIyMTczOjoyMjE4MDo6MjIxODY6OjIyMTkzOjoyMjIwMDo6MjIyMDc6OjIyMjE0OjoyMjIyMTo6MjIyMjg6OjIyMjM1OjoyMjIzNTo6MjIyMzY6OjIyMjQxOjoyMjI0NDo6MjIyNDc6OjIyMjU0Ii8+CisJCQkJCTx2YWwgbz0iMmEzMDAiIHY9IjIyMjYxOjoyMjI2Nzo6MjIyNjc6OjIyMjY5OjoyMjI3Mzo6MjIyNzQ6OjIyMjc0OjoyMjI4MDo6MjIyODc6OjIyMjk0OjoyMjMwMTo6MjIzMDg6OjIyMzE1OjoyMjMyMjo6MjIzMjk6OjIyMzMzOjoyMjMzNTo6MjIzMzU6OjIyMzM1OjoyMjMzNjo6MjIzMzg6OjIyMzM5OjoyMjMzOTo6MjIzNDQ6OjIyMzUxOjoyMjM1ODo6MjIzNjU6OjIyMzcyOjoyMjM3OTo6MjIzODY6OjIyMzkxOjoyMjM5NTo6MjI0MDI6Ojo6MjI0MDQ6OjIyNDA0OjoyMjQwNDo6MjI0MDQ6OjIyNDA0OjoyMjQwNDo6MjI0MDQ6OjIyNDA0OjoyMjQwNDo6MjI0MDQ6OjIyNDA3OjoyMjQxMzo6MjI0MTY6OjIyNDIyOjoyMjQyOSIvPgorCQkJCQk8dmFsIG89IjU1NDEwIiB2PSIyMjQzNjo6MjI0NDM6OjIyNDUwOjoyMjQ1Nzo6MjI0NjQ6OjIyNDY4OjoyMjQ3NTo6MjI0Nzc6OjIyNDc3OjoyMjQ3ODo6MjI0ODM6OjIyNDg5OjoyMjQ5NTo6MjI0OTc6OjIyNDk3OjoyMjQ5ODo6MjI0OTk6OjIyNDk5OjoyMjUwMDo6MjI1MDc6OjIyNTEzOjoyMjUyMDo6MjI1MjY6OjIyNTMzOjoyMjUzODo6MjI1NDU6OjIyNTUyOjoyMjU1OTo6MjI1NjQ6OjIyNTY0OjoyMjU2OTo6MjI1NzE6OjIyNTcyOjoyMjU3Mjo6MjI1NzI6OjIyNTczOjoyMjU3OTo6MjI1ODA6OjIyNTgwOjoyMjU4MDo6MjI1ODA6OjIyNTgwOjoyMjU4MDo6MjI1ODM6OjIyNTg1OjoyMjU5MDo6MjI1OTY6OjIyNjAzIi8+CisJCQkJCTx2YWwgbz0iN2Y3MTAiIHY9IjIyNjEwOjoyMjYxNzo6MjI2MjQ6OjIyNjMyOjoyMjYzOTo6MjI2NDU6OjIyNjUwOjoyMjY1Mzo6MjI2NTM6OjIyNjUzOjoyMjY1NTo6MjI2NjI6OjIyNjY5OjoyMjY3Mjo6MjI2NzU6OjIyNjc3OjoyMjY3ODo6MjI2Nzg6OjIyNjc4OjoyMjY3ODo6MjI2ODI6OjIyNjgzOjoyMjY4Njo6MjI2OTM6OjIyNzAxOjoyMjcwODo6MjI3MTU6OjIyNzIyOjoyMjcyODo6MjI3MzI6OjIyNzM4OjoyMjc0MDo6MjI3NDA6OjIyNzQ0OjoyMjc1MTo6MjI3NTg6OjIyNzY1OjoyMjc3MDo6MjI3NzU6OjIzNTI5OjoyNDM3MDo6MjQ3MzM6OjI0NzM0OjoyNTU1MTo6MjU4NTM6OjI2MzAxOjoyNzEyNjo6Mjg3NDIiLz4KKwkJCQkJPHZhbCBvPSJhOWExMCIgdj0iMjkzNzI6OjI5NTQwOjozMDE5OTo6MzExMjU6OjMxMjE4OjozMTIxOTo6MzE1NjQ6OjMxNTY0OjozMTU2NDo6OjozMTU2NDo6MzE1NjQ6OjMxNTk5OjozMTYwNzo6MzE2MDc6OjMxNzkyOjozMTk2NTo6MzIwMTA6OjMyMjc0OjozMzA0Nzo6MzM4OTA6OjMzODkwOjozNDE5Mzo6MzUzMTY6OjM1NDE3OjozNTQxODo6MzU1Njk6OjM1OTA5OjozNTkyMTo6MzU5MjE6OjM1OTIxOjozNTkyMTo6MzU5Mjg6OjM1OTI4OjozNTkyODo6MzU5Mjg6OjM1OTI4OjozNTkyODo6MzU5Mjg6OjM1OTk1OjozNjA4Mzo6MzYwODM6OjM2MDgzOjozNjA4Mzo6MzYwODM6OjM2MDgzOjozNjIyNjo6Mzc0NTA6OjM4NjA5Ii8+CisJCQkJCTx2YWwgbz0iZDRiMjAiIHY9IjM5NzQwOjo0MDE1MTo6NDA1Mjc6OjQwNTI3Ojo0MDgzNjo6NDEzNTY6OjQxMzU2Ojo0MTM1Njo6NDEzNTY6OjQxMzU2Ojo0MTM1Njo6NDEzNTY6OjQxMzU2Ojo0MTM1Njo6NDEzNTY6OjQxMzYzOjo0MTQ3Njo6NDIwNTE6OjQyNjkwOjo0Mjk0Njo6NDMyMzE6OjQzNTI0Ojo0Mzg2NTo6NDQ0ODg6OjQ0NDg4Ojo0NDQ4ODo6NDQ0ODg6OjQ0NDg4Ojo0NDU4Mjo6NDQ2ODU6OjQ0Njg1Ojo0NDY4NTo6NDQ2ODU6OjQ0Njg1Ojo0NDY4NTo6NDQ3MzY6OjQ0NzM2Ojo0NDczNjo6NDQ3MzY6OjQ0NzM2Ojo0NDczNjo6NDQ3MzY6OjQ0NzM2Ojo0NDczNjo6NDQ3MzY6OjQ0ODkwOjo0NjA4OTo6NDcyMTYiLz4KKwkJCQkJPHZhbCBvPSJmZWUyMCIgdj0iNDgwNDM6OjQ4MjYyOjo0ODQ2Njo6NDg0NjY6OjQ4NDY2Ojo0ODQ2Njo6NDg0NjY6OjQ4NDY2Ojo0ODQ3MTo6NDg0NzE6OjQ4NDcxOjo0ODQ3MTo6NDg0NzE6OjQ4NDcxOjo0ODQ3MTo6NDg0NzE6OjQ4NDcxOjo0ODQ3MTo6NDg0NzE6OjQ4NDc0Ojo0ODQ5MTo6NDg0OTE6OjQ4ODE2Ojo0ODk4MDo6NDg5ODA6OjQ4OTgwOjo0ODk4MDo6NDg5ODA6OjQ4OTgwOjo0ODk4MDo6NDg5ODA6OjQ5MDIyOjo0OTE0Nzo6NDk1Njk6OjUwMjE4Ojo1MDI1MTo6NTAyNTE6OjUwMjUxOjo1MDI1Mi45MTo6NTAyNTIuOTE6OjUwMjUyLjkxOjo1MDI1Mi45MTo6NTAyNTIuOTE6OjUwMjUyLjk1NDo6NTAyNTMuMTg1Ojo1MDI1My4xOTI6OjUwMjUzLjQ4Nzo6NTAyNTQuNjY3Ii8+CisJCQkJCTx2YWwgbz0iMTI5MTIwIiB2PSI1MDI1NS45NzM6OjUwMjU3LjM1Njo6NTAyNTguNzY1Ojo1MDI1OS4yOTY6OjUwMjU5LjI5OTo6NTAyNTkuMjk5Ojo1MDI1OS4yOTk6OjUwMjU5LjMzMjo6NTAyNTkuNDU1Ojo1MDI1OS40NTY6OjUwMjU5LjQ1Njo6NTAyNTkuNDU2Ojo1MDI1OS40NTY6OjUwMjU5LjQ1Njo6NTAyNTkuNDU2Ojo1MDI1OS40NTY6OjUwMjU5LjQ1Njo6NTAyNTkuNDU2Ojo1MDI1OS40NTY6OjUwMjU5LjQ1Nzo6NTAyNTkuNDU4Ojo1MDI1OS40NTg6OjUwMjU5LjQ2Nzo6NTAyNTkuNDY3Ojo1MDI1OS40Njc6OjUwMjU5LjQ2Nzo6NTAyNTkuNDY3Ojo1MDI1OS40Njc6OjUwMjU5LjQ2Nzo6NTAyNTkuNDY3Ojo1MDI1OS40Njc6OjUwMjU5LjQ2Nzo6NTAyNTkuNDY3Ojo1MDI1OS40Njk6OjUwMjU5LjQ4Mjo6NTAyNTkuNTo6NTAyNTkuNTA3Ojo1MDI1OS41MTM6OjUwMjU5LjUxNjo6NTAyNTkuNTE3Ojo1MDI1OS41MTc6OjUwMjU5LjUxNzo6NTAyNTkuNTE3Ojo1MDI1OS41MTc6OjUwMjU5LjUxNzo6NTAyNTkuNTIxOjo1MDI1OS41MzU6OjUwMjU5LjU0Ii8+CisJCQkJCTx2YWwgbz0iMTUzNDIwIiB2PSI1MDI1OS41NDo6NTAyNTkuNTQ6OjUwMjU5LjU0MTo6NTAyNTkuNTQxOjo1MDI1OS41NDE6OjUwMjU5LjU0MTo6NTAyNTkuNTQxOjo1MDI1OS41NDE6OjUwMjU5LjU0MTo6NTAyNTkuNTQxOjo1MDI1OS41NDE6OjUwMjU5LjU0MTo6NTAyNTkuNTQxOjo1MDI1OS41NDE6OjUwMjU5LjU0MTo6NTAyNTkuNTQ2Ojo1MDI1OS41NDY6OjUwMjU5LjU0Njo6NTAyNTkuNTQ2Ojo1MDI1OS41NDc6OjUwMjU5LjU0Nzo6NTAyNTkuNTUyOjo1MDI1OS41NTc6OjUwMjU5LjU2MTo6NTAyNTkuNTc3Ojo1MDI1OS41ODg6OjUwMjU5LjY6OjUwMjU5LjYwMTo6NTAyNTkuNjAxOjo1MDI1OS42MDE6OjUwMjU5LjYwMTo6NTAyNTkuNjAxOjo1MDI1OS42MDE6OjUwMjU5LjYwMTo6NTAyNTkuNjA0Ojo1MDI1OS42MDg6OjUwMjU5LjYwOTo6NTAyNTkuNjEyOjo1MDI1OS42MTI6OjUwMjU5LjYxMjo6NTAyNTg6OjUwMjU4Ojo1MDI1ODo6NTAyNTg6OjUwNDM0Ojo1MjEzNzo6NTQ0MzE6OjU2NzM0Ii8+CisJCQkJCTx2YWwgbz0iMTdkNzIwIiB2PSI1OTQ0Nzo6NjIzMjE6OjY1MjU3Ojo2NzIxNzo6Njc4NjA6OjY5MDAwOjo3MDcxMzo6NzIzMDI6OjczMTg5Ojo3NDEwNjo6NzY3NDY6Ojc5NzUwOjo4MjQ0OTo6ODUwNDM6Ojg3MDAzOjo6Ojg3NTEwOjo4ODAwMjo6ODkyOTc6OjkwNTU2Ojo5MjEwMjo6OTQzNDA6Ojk1NDcwOjo5NjQ0OTo6OTgwMTE6Ojk5NzA3OjoxMDE0NjM6OjEwMjI0NDo6MTAyMjg5OjoxMDIzODY6OjEwMzExNTo6MTAzOTgzOjoxMDQwOTE6Ojo6MTA0ODI2OjoxMDU4MDY6OjEwNjMzMDo6MTA2NjYyOjoxMDY4NTk6OjEwNjg1OTo6MTA4MjkwOjoxMTEwMTk6OjExNDQ4Mzo6MTE2NTQ5OjoxMTgwODM6OjEyMTE1NDo6MTI0NTI0OjoxMjcyMDc6OjEzMDI4Mjo6MTMzNjE5Ii8+CisJCQkJCTx2YWwgbz0iMWE5NjQwIiB2PSIxMzY5NjM6OjEzOTMzNTo6MTQwOTUxOjoxNDI2OTg6OjE0NDk4ODo6MTQ3Mzc3OjoxNDk0ODM6OjE1MTQzODo6MTUzNzI2OjoxNTYzMTUiLz4KKwkJCQkJPHZhbCBvPSIxYzc0NjAiIHY9IjE3NDgyOTo6MTc0ODk2OjoxNzQ5OTY6OjE3NDk5Njo6MTc1NjI3OjoxNzY2Mjg6OjE3NzIwMTo6MTc3MjAxOjoxNzcyMDE6OjE3NzQzOTo6MTc4ODQ5OjoxNzkyMzg6OjE3OTYyNjo6MTgwNTA1OjoxODEyMjQ6OjE4MTI0MTo6MTgxMjQxOjoxODEyNzk6OjE4MjE4Mzo6MTgyNTI4OjoxODI2MTk6OjE4MjcwMTo6MTgzMTQ0OjoxODM3ODA6OjE4NDY5Nzo6MTg1NDc1OjoxODY3MDI6OjE4ODM0Mjo6MTkwMTc5OjoxOTIyMjY6OjE5NDQ3MDo6MTk2Nzk2OjoxOTkwMjA6OjIwMTMxOTo6MjAzNTcxOjoyMDU1NTA6OjIwNzc1MTo6MjA4Mzg5OjoyMDg4NzM6OjIwOTE4NDo6MjA5MzczOjoyMDk2NDY6OjIxMDM1ODo6MjEwNzQ0OjoyMTEwNjE6OjIxMTI0MDo6MjExNDM5OjoyMTE3NTYiLz4KKwkJCQkJPHZhbCBvPSIxZjE3NjAiIHY9IjIxMTg0Mzo6MjExODQzOjoyMTE4NDM6OjIxMTg0Mzo6MjExODQzOjoyMTE4NTI6OjIxMTk5ODo6MjEyMzM5OjoyMTI4MzM6OjIxNDk1MTo6MjE3MDc3OjoyMTgwNDU6OjIxOTMwOTo6MjIwMzAyOjoyMjA2NjI6OjIyMDc4Njo6MjIwODE5OjoyMjEyNjk6OjIyMTQ1MTo6MjIxNDU4OjoyMjE0NTg6OjIyMTQ1ODo6MjIxNDU4OjoyMjE0NTg6OjIyMTQ1ODo6MjIxNTQ3OjoyMjE4OTU6OjIyMjE4OTo6MjIyNjExOjoyMjM0NzE6OjIyMzgxODo6MjI0NDcyOjoyMjQ0NzM6OjIyNTA2Njo6MjI2MDU0OjoyMjc1MzM6OjIyODQ2MTo6MjI4OTYyOjoyMjkzOTY6OjIyOTQwMTo6MjI5NDAxOjoyMjk1Nzc6OjIzMDU3Njo6MjMwNzU4OjoyMzExNTk6OjIzMTQ1NDo6MjMyNTY2OjoyMzI1NjYiLz4KKwkJCQkJPHZhbCBvPSIyMWJhNjAiIHY9IjIzMjU2Njo6MjMyNTY2OjoyMzM2MDk6OjIzNDEwMTo6MjM0MTAxOjoyMzQxMzk6OjIzNDgzNjo6MjM1NDkyOjoyMzU0OTI6OjIzNjA4OTo6MjM3MjA4OjoyMzc0Njc6OjIzNzQ2Nzo6MjM3NDY3OjoyMzc0Njc6OjIzNzQ2Nzo6MjM3NTExOjoyMzc3NDk6OjIzODMwNjo6MjM4MzMxOjoyMzgzMzE6OjIzODMzMTo6MjM4MzMxOjoyMzg2MDY6OjIzODYzNzo6MjM5MjYwOjoyMzk4NDY6OjIzOTg0Njo6MjM5ODQ2OjoyMzk4NDY6OjIzOTg0Nzo6MjM5OTg4OjoyMzk5ODg6OjIzOTk4ODo6MjQwMjAwOjoyNDA0MTE6OjI0MDkxNjo6MjQxMTkzOjoyNDExOTQ6OjI0MTE5NDo6MjQxMTk0OjoyNDEyNjA6OjI0MTI2Mjo6MjQxMjYyOjoyNDEyNjI6OjI0MTI2Mjo6MjQxMzI1OjoyNDE4NDIiLz4KKwkJCQkJPHZhbCBvPSIyNDZiNzAiIHY9IjI0MzQ4Mjo6MjQ0MTU0OjoyNDQxNjQ6OjI0NDE2NDo6MjQ0MTY0OjoyNDQ0OTk6OjI0NTc4ODo6MjQ3MjAwOjoyNDgxNTc6OjI0ODg2Njo6MjQ5MzU4OjoyNTA0MzY6OjI1MTU0OTo6MjUyNDUyOjoyNTI0ODI6OjI1MjQ4NDo6MjUyNTI2OjoyNTI1MjY6OjI1MjUyNjo6MjUyNTI2OjoyNTI4NDA6OjI1NTYzNDo6MjU3NTExOjoyNTc1ODQ6OjI1NzU4NTo6MjU3NTg1OjoyNTc1ODU6OjI1NzU4NTo6MjU3NTg1OjoyNTc1ODU6OjI1Nzc2Njo6MjU3NzY2OjoyNTgwNzM6OjI1ODYyODo6MjU5MTMwOjoyNjA0NTQ6OjI2MjM1MDo6MjY0Mzg3OjoyNjU4NjU6OjI2Njc4Nzo6MjY2ODU0OjoyNjY4NTQ6OjI2Njg1NDo6MjY2ODU0OjoyNjY4NTQ6OjI2Njg1NDo6MjY2ODU0OjoyNjY4NTQiLz4KKwkJCQkJPHZhbCBvPSIyNzBlNzAiIHY9IjI2Njg1NDo6MjY2ODY4OjoyNjcxMzI6OjI2NzYwOTo6MjY4MDk1OjoyNjg5MzY6OjI2OTI5NDo6MjY5Mjk0OjoyNjkzNjciLz4KKwkJCQk8L3Bhcj4KKwkJCQk8cGFyIG1lbWluZD0iNTI1MTM4MDEiIGg9IjNkYzFhN2UwIj4KKwkJCQkJPHZhbCBvPSIwIiB2PSIwOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowIi8+CisJCQkJCTx2YWwgbz0iMmEzMDAiIHY9IjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6Ojo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MCIvPgorCQkJCQk8dmFsIG89IjU1NDEwIiB2PSIwOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowIi8+CisJCQkJCTx2YWwgbz0iN2Y3MTAiIHY9IjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjY4MDo6MTc1Mzo6MjQzNjo6MjQzOTo6MjQ3MTo6MjQ3Mjo6MjQ3Mjo6MjQ3MiIvPgorCQkJCQk8dmFsIG89ImE5YTEwIiB2PSIyNzQ1OjoyNzc2OjoyNzc2OjoyNzc2OjoyODY0OjozOTM5Ojo0NDM0Ojo1MjA3Ojo2OTgzOjo6OjE0NTg3OjoxODgwOTo6MjA3MjQ6OjIwOTI0OjoyMTUyMzo6MjMxOTY6OjIzNTg3OjoyNDA4NDo6MjQwODg6OjI0MDg4OjoyNDExOTo6MjQ5MzM6OjI0OTc4OjoyNDk3ODo6MjY0MDY6OjI2NzY0OjoyNjc5OTo6MjY3OTk6OjI3MDc5OjoyODA5NDo6Mjk1ODQ6OjMwNjc4OjozMTI0Mjo6MzIyMTE6OjMzMzAxOjozNDE4MTo6MzQ2ODU6OjM1MDg4OjozNTU0Njo6MzY4MDY6OjM3MzM2OjozOTc5ODo6NDIzOTY6OjQ1MTY2Ojo0NzYwODo6NDk0NDc6OjUwMTM5Ojo1MDEzOTo6NTAxNTUiLz4KKwkJCQkJPHZhbCBvPSJkNGIyMCIgdj0iNTAxNTU6OjUwMTU2Ojo1MDE1ODo6NTA5MDE6OjUyNDU3Ojo1MjQ4Njo6NTMxNzE6OjU1MTUxOjo1NzgyMTo6NjA4NjA6OjYzNjMyOjo2NDIyMDo6NjQ2ODI6OjY0OTI5Ojo2NTE2OTo6NjU2OTI6OjY2MzI0Ojo2NjMyNDo6NjY0Njk6OjY2NDkyOjo2NjUzNTo6NjY1NjU6OjY2NTY1Ojo2NzgyMDo6NjkwODc6OjY5ODY5Ojo3MDc4MDo6NzI3NTU6Ojc1MTA3Ojo3NTQ0OTo6NzYyNzk6Ojc3NDczOjo3OTAxMzo6ODAxNzE6OjgwOTczOjo4MTQ5NDo6ODM0MjE6Ojg0ODg5Ojo4NjU4Mjo6ODg4NzI6OjkwNTE4Ojo5MjA3Nzo6OTMyNjY6Ojk0NDI0Ojo5NjA3OTo6OTY1Nzk6Ojk2NTc5Ojo5NjU3OSIvPgorCQkJCQk8dmFsIG89ImZlZTIwIiB2PSI5NjU5NDo6OTY1OTQ6Ojk2NTk2Ojo5NzQyODo6OTkwOTI6OjEwMDY5NDo6MTAyMTM2OjoxMDM2NTE6OjEwNDU0Nzo6MTA2MDA0OjoxMDczOTI6OjEwODMwMjo6MTA5NDEwOjoxMTA1MzA6OjExMTYxMzo6MTEzNjc2OjoxMTYwMDU6OjExNzI1MTo6MTE3NzExOjoxMTg0MDk6OjExOTE4ODo6MTIwMDI0OjoxMjAwOTM6OjEyMTExODo6MTIxNjAyOjoxMjE4ODA6OjEyMjA3OTo6MTIzMDQ0OjoxMjQ5OTQ6OjEyNjY4Mzo6MTI4MTQ4OjoxMjg5NDU6OjEyOTAyNTo6MTI5MDI1OjoxMjkwMjU6OjEyOTU5Nzo6MTMwNDc1OjoxMzEyOTU6OjEzMTc2NC4zMDM6OjEzMTc2NS41ODg6OjEzMTc2Ni4zNzU6OjEzMTc2OC4xMTo6MTMxNzY5LjE5ODo6MTMxNzY5LjQ5OjoxMzE3NjkuNzYxOjoxMzE3NzAuMjE5OjoxMzE3NzAuMjM2OjoxMzE3NzAuMjM2Ii8+CisJCQkJCTx2YWwgbz0iMTI5MTIwIiB2PSIxMzE3NzAuMjM2OjoxMzE3NzAuMjM2OjoxMzE3NzAuMjM2OjoxMzE3NzAuMjM2OjoxMzE3NzAuODY4OjoxMzE3NzEuODA2OjoxMzE3NzMuMDIzOjoxMzE3NzQuNjI1OjoxMzE3NzUuNTg5OjoxMzE3NzYuOTEyOjoxMzE3NzguMDYyOjoxMzE3NzguNzA5OjoxMzE3NzkuMjk1OjoxMzE3NzkuMzA2OjoxMzE3NzkuMzE5OjoxMzE3NzkuMzQ5OjoxMzE3NzkuMzg2OjoxMzE3NzkuNDIzOjoxMzE3NzkuNDU4OjoxMzE3NzkuNDk6OjEzMTc3OS40OTk6OjEzMTc3OS41MDM6OjEzMTc3OS41MDk6OjEzMTc3OS41NjQ6OjEzMTc3OS41ODc6OjEzMTc3OS42MDQ6OjEzMTc3OS42MjM6OjEzMTc3OS42NTk6OjEzMTc3OS43MDk6OjEzMTc3OS43Mzg6OjEzMTc3OS43NDQ6OjEzMTc3OS43NTI6OjEzMTc3OS43NTU6OjEzMTc3OS43NTU6OjEzMTc3OS43NTU6OjEzMTc3OS43NTU6OjEzMTc3OS43NTU6OjEzMTc3OS43NTU6OjEzMTc3OS43NTY6OjEzMTc3OS43ODY6OjEzMTc3OS44MTk6OjEzMTc3OS44NTg6OjEzMTc3OS44OTM6OjEzMTc3OS45MTg6OjEzMTc3OS45MjY6OjEzMTc3OS45MjY6OjEzMTc3OS45MjY6OjEzMTc3OS45NDkiLz4KKwkJCQkJPHZhbCBvPSIxNTM0MjAiIHY9IjEzMTc3OS45NTg6OjEzMTc3OS45NTk6OjEzMTc3OS45Njo6MTMxNzc5Ljk3Mjo6MTMxNzgwLjAwMzo6MTMxNzgwLjAyNzo6MTMxNzgwLjA0OTo6MTMxNzgwLjA4OTo6MTMxNzgwLjEyNTo6MTMxNzgwLjE1NTo6MTMxNzgwLjE3OTo6MTMxNzgwLjE4NDo6MTMxNzgwLjE5MTo6MTMxNzgwLjIwMjo6MTMxNzgwLjIyMjo6MTMxNzgwLjI0Mzo6MTMxNzgwLjI1MTo6MTMxNzgwLjI1ODo6MTMxNzgwLjI2MTo6MTMxNzgwLjI3Nzo6MTMxNzgwLjI4NTo6MTMxNzgwLjI4NTo6MTMxNzgwLjI4ODo6MTMxNzgwLjI4ODo6MTMxNzgwLjI4ODo6MTMxNzgwLjI4ODo6MTMxNzgwLjI4ODo6MTMxNzgwLjI4OTo6MTMxNzgwLjMwMzo6MTMxNzgwLjM0OjoxMzE3ODAuMzU6OjEzMTc4MC4zNTY6OjEzMTc4MC4zNjg6OjEzMTc4MC4zODE6OjEzMTc4MC4zODQ6OjEzMTc4MC4zODQ6OjEzMTc4MC4zODY6OjEzMTc4MC4zOTg6OjEzMTc4MC40MTU6OjEzMTc4MC40NTE6OjEzMzIwNTo6MTM1MzQzOjoxMzY4NjY6OjEzNzg2MTo6MTM4MjcyOjoxMzgyNzI6OjEzODI3Mjo6MTM4MjcyIi8+CisJCQkJCTx2YWwgbz0iMTdkNzIwIiB2PSIxMzgyNzI6OjEzODI3Mjo6MTM4MjcyOjoxMzgyNzI6OjEzODI3NTo6MTM4Mjc3OjoxMzgyOTA6OjEzODI5MDo6MTM4MjkwOjoxMzgyOTA6OjEzODM1NTo6MTM4MzU1OjoxMzgzNTU6OjEzODM1NTo6MTM4MzU1Ojo6OjE0MTA4ODo6MTQxNDkzOjoxNDE0OTM6OjE0MTQ5Mzo6MTQxNDkzOjoxNDE0OTM6OjE0MTQ5Mzo6MTQxNDkzOjoxNDE0OTM6OjE0MTQ5Mzo6MTQxNDkzOjoxNDE0OTM6OjE0MTk5Nzo6MTQzNjE4OjoxNDM2MTg6OjE0MzYyOTo6MTQzNjgxOjo6OjE0MzcxNDo6MTQzNzE0OjoxNDM3MTQ6OjE0MzcxNDo6MTQzNzI1OjoxNDQzNTE6OjE0NDM2Mjo6MTQ0MzYyOjoxNDQzNjI6OjE0NDM2Mjo6MTQ0MzYyOjoxNDQzNjI6OjE0NDM2Mjo6MTQ0MzYyOjoxNDQzNjI6OjE0NDM2MiIvPgorCQkJCQk8dmFsIG89IjFhOTY0MCIgdj0iMTQ0MzYyOjoxNDQzNjI6OjE0NDM2Mjo6MTQ0MzYyOjoxNDQzNjg6OjE0NDM2ODo6MTQ0MzY4OjoxNDQzNjg6OjE0NDM2ODo6MTQ0MzY4Ii8+CisJCQkJCTx2YWwgbz0iMWM3NDYwIiB2PSIxNjI3MDc6OjE2Mjc4Njo6MTYzMTA3OjoxNjUwMzU6OjE2NTA2Mjo6MTY1MDYyOjoxNjY0ODE6OjE2ODk1Njo6MTcxMDcyOjoxNzEzOTE6OjE3MTM5MTo6MTcxNjM0OjoxNzE2MzQ6OjE3MTYzNDo6MTcxNjM0OjoxNzE4NjU6OjE3MzAwNjo6MTc0MTc1OjoxNzQxNzU6OjE3NDE3Nzo6MTc0NDM1OjoxNzQ0Mzg6OjE3NDQzODo6MTc0NDM5OjoxNzQ0Mzk6OjE3NDQzOTo6MTc0NDM5OjoxNzQ0Mzk6OjE3NDQzOTo6MTc0NDM5OjoxNzQ0Mzk6OjE3NDQzOTo6MTc0NDM5OjoxNzQ0Mzk6OjE3NDQzOTo6MTc0NDM5OjoxNzQ0Mzk6OjE3NDU0MDo6MTc0NTQwOjoxNzQ1NDA6OjE3NDU5NDo6MTc0NTk0OjoxNzQ1OTQ6OjE3NDU5NDo6MTc0NTk0OjoxNzQ1OTg6OjE3NDU5ODo6MTc0NTk4Ii8+CisJCQkJCTx2YWwgbz0iMWYxNzYwIiB2PSIxNzQ3NDI6OjE3NTEyOTo6MTc1NzA2OjoxNzc3MzE6OjE3OTgwMzo6MTgwNDA1OjoxODA0MDU6OjE4MDY0Njo6MTgwNzA0OjoxODA3MDQ6OjE4MDcwNDo6MTgwNzcxOjoxODA3ODI6OjE4MDc4Mjo6MTgwNzgyOjoxODA4MDE6OjE4MDk4Mzo6MTgxOTYxOjoxODI4NzM6OjE4NDA4Njo6MTg2MzMyOjoxODgzOTY6OjE4OTg0ODo6MTkwNTA0OjoxOTIxMTQ6OjE5Mzg5Nzo6MTk0NDc0OjoxOTUyMDQ6OjE5NTIwNjo6MTk1MjMwOjoxOTUyMzI6OjE5NTM5Nzo6MTk2MDQxOjoxOTYwNDY6OjE5NjA0Njo6MTk2MDQ2OjoxOTYxNzU6OjE5NjE3NTo6MTk2MTc1OjoxOTY2Nzg6OjE5ODAwNzo6MTk4ODgxOjoxOTg4OTU6OjE5OTA0Mzo6MTk5NDk0OjoxOTk0OTQ6OjE5OTQ5NDo6MjAwMDU4Ii8+CisJCQkJCTx2YWwgbz0iMjFiYTYwIiB2PSIyMDEzNTM6OjIwMjg1MTo6MjAzMjM3OjoyMDMzNTM6OjIwMzgyNTo6MjA0MTY3OjoyMDQxNjc6OjIwNDI4Njo6MjA1Nzc4OjoyMDU4MzM6OjIwNTgzMzo6MjA5MDM2OjoyMTA5NzA6OjIxMTQyNjo6MjEyMTM4OjoyMTQ0MTA6OjIxODE1Njo6MjE4Mzk1OjoyMTgzOTU6OjIxOTc5NTo6MjIyMzY4OjoyMjU5NjM6OjIyODY3Njo6MjI4Njk4OjoyMjg5NDE6OjIyOTA4Mjo6MjI5MDgyOjoyMzA4MjI6OjIzMjIzNzo6MjMzNDI1OjoyMzM5MTA6OjIzNTA5ODo6MjM3MjczOjoyMzgxNjA6OjIzODI1OTo6MjM4NDMxOjoyMzg0MzE6OjIzODQ2MDo6MjM4NjA0OjoyMzk3MzU6OjI0MDY4NTo6MjQxNjQ4OjoyNDI0MDY6OjI0NDEzNzo6MjQ3NDcxOjoyNTA1NTE6OjI1MzQwNDo6MjUzNDA0Ii8+CisJCQkJCTx2YWwgbz0iMjQ2YjcwIiB2PSIyNTM0MDQ6OjI1MzQwNDo6MjU1NTI3OjoyNjAxMjQ6OjI2MTQ5Mjo6MjYxNjA2OjoyNjE2MDY6OjI2MTYwNjo6MjYxNjA2OjoyNjE2MDY6OjI2MTY5Mjo6MjYxNjkyOjoyNjE2OTI6OjI2MTY5Mjo6MjYxNzk0OjoyNjIzMTU6OjI2MjkzOTo6MjY0MTE4OjoyNjU5MjE6OjI2OTIwMDo6MjcyMDQxOjoyNzIwNDE6OjI3MjA0OTo6MjcyMjI5OjoyNzI0MTc6OjI3MjkwMDo6MjczOTA5OjoyNzY0NjY6OjI3OTA4NDo6MjgxMTczOjoyODEzNDk6OjI4MjY0Mjo6MjgyODQxOjoyODMxODU6OjI4MzE5ODo6MjgzMTk4OjoyODMxOTg6OjI4MzE5ODo6MjgzMTk4OjoyODMxOTg6OjI4MzQwMjo6Mjg0MTE0OjoyODUyNDQ6OjI4Njg4Njo6Mjg4ODg0OjoyOTE5Njg6OjI5NDg4NDo6Mjk3ODQ5Ii8+CisJCQkJCTx2YWwgbz0iMjcwZTcwIiB2PSIzMDA5NTQ6OjMwMTczMzo6MzAyMzQxOjozMDIzNDE6OjMwMjM0MTo6MzAyMzQxOjozMDM5MTU6OjMwNjIwMTo6MzA2NjkzIi8+CisJCQkJPC9wYXI+CisJCQkJPHBhciBtZW1pbmQ9IjUyNTEzNDAxIiBoPSIzZGMxYTdlMCI+CisJCQkJCTx2YWwgbz0iMCIgdj0iMDo6NDE3Nzo6ODM0ODo6MTI0MjE6OjE2NDY2OjoyMDM4OTo6MjQ1NTA6OjI5NjM4OjozNTM5MDo6NDIzMjk6OjQ5NjA4Ojo1Njk4Mjo6NjQxMTk6OjcwODE5Ojo3MjgyNDo6NzI4MzE6OjcyODM4Ojo3Mjg0NTo6NzI4NTE6OjcyODU5Ojo3Mjg2Njo6NzI4NzM6OjcyODgxOjo3Mjg4OTo6NzI4OTg6OjcyOTA2Ojo3MjkxNDo6NzI5MjI6OjcyOTMxOjo3MjkzODo6NzI5NDY6OjcyOTU1Ojo3Mjk2Mzo6NzI5NzI6OjcyOTc5Ojo3Mjk4Nzo6NzI5OTU6OjczMDA0Ojo3MzAxMjo6NzMwMjE6OjczMDI5Ojo3MzAzNzo6NzMwNDU6OjczMDUyOjo3MzA2MDo6NzMwNjc6OjczMDc0Ojo3MzA4MyIvPgorCQkJCQk8dmFsIG89IjJhMzAwIiB2PSI3MzA5Mjo6NzMxMDA6OjczMTA4Ojo3MzExNjo6NzMxMjQ6OjczMTMxOjo3MzEzOTo6NzMxNDc6OjczMTU1Ojo3MzE2NDo6NzMxNzI6OjczMTgwOjo3MzE4OTo6NzMxOTc6OjczMjA1Ojo3MzIxMzo6NzMyMjE6OjczMjI4Ojo3MzIzNTo6NzMyNDI6OjczMjUwOjo3MzI1ODo6NzMyNjU6OjczMjczOjo3MzI4MTo6NzMyOTA6OjczMjk4Ojo3MzMwNzo6NzMzMTY6OjczMzI0Ojo3MzMzMzo6NzMzNDE6OjczMzQ5Ojo6OjczMzYyOjo3MzM2ODo6NzMzNzQ6OjczMzgxOjo3MzM4Nzo6NzMzOTQ6OjczNDAwOjo3MzQwNzo6NzM0MTQ6OjczNDIxOjo3MzQyODo6NzM0MzY6OjczNDQzOjo3MzQ1MTo6NzM0NTkiLz4KKwkJCQkJPHZhbCBvPSI1NTQxMCIgdj0iNzM0Njc6OjczNDc2Ojo3MzQ4NDo6NzM0OTI6OjczNTAxOjo3MzUwODo6NzM1MTY6OjczNTIzOjo3MzUyOTo6NzM1MzY6OjczNTQzOjo3MzU1MDo6NzM1NTc6OjczNTY0Ojo3MzU3MTo6NzM1Nzg6OjczNTg1Ojo3MzU5Mjo6NzM1OTk6OjczNjA3Ojo3MzYxNDo6NzM2MjI6OjczNjMwOjo3MzYzOTo6NzM2NDc6OjczNjU1Ojo3MzY2Mzo6NzM2NzI6OjczNjgwOjo3MzY4Nzo6NzM2OTQ6OjczNzAyOjo3MzcwOTo6NzM3MTU6OjczNzIxOjo3MzcyODo6NzM3MzU6OjczNzQyOjo3Mzc0ODo6NzM3NTU6OjczNzYyOjo3Mzc2OTo6NzM3NzY6OjczNzgzOjo3Mzc5MTo6NzM3OTg6OjczODA2Ojo3MzgxNCIvPgorCQkJCQk8dmFsIG89IjdmNzEwIiB2PSI3MzgyMzo6NzM4MzE6OjczODQwOjo3Mzg0OTo6NzM4NTg6OjczODY2Ojo3Mzg3NDo6NzM4ODE6OjczODg4Ojo3Mzg5NTo6NzM5MDI6OjczOTA5Ojo3MzkxNzo6NzM5MjQ6OjczOTMxOjo3MzkzODo6NzM5NDU6OjczOTUyOjo3Mzk1OTo6NzM5NjY6OjczOTczOjo3Mzk4MDo6NzM5ODg6OjczOTk2Ojo3NDAwNTo6NzQwMTQ6Ojc0MDIyOjo3NDAzMTo6NzQwMzk6Ojc0MDQ3Ojo3NDA1NTo6NzQwNjI6Ojc0MDY5Ojo3NDA3Njo6NzQwODQ6Ojc0MDkxOjo3NDA5ODo6NzQxMDU6Ojc0MTEyOjo3NjU5Mzo6ODE5MTI6Ojg0MjkzOjo4NDQzODo6ODQ0Mzg6Ojg0NDM4Ojo4NDQzOTo6ODQ0NDA6Ojg0NDQwIi8+CisJCQkJCTx2YWwgbz0iYTlhMTAiIHY9Ijg0NDQyOjo4NDQ0NTo6ODQ0NTA6Ojg0NDUwOjo4NDQ1MDo6ODQ0NTA6Ojg0NTEwOjo4NDYyMjo6ODQ2Nzc6Ojo6ODQ3Njg6Ojg0OTAyOjo4NTE2MTo6ODU4MzQ6Ojg2NjU2Ojo4NzUwMDo6ODkwMzQ6OjkwNzgzOjo5MjQ4Mjo6OTQzODY6Ojk2MDAzOjo5Njc1Njo6OTc2MDg6Ojk4NTIwOjo5ODU2ODo6OTg1Njg6Ojk4NTY4Ojo5ODU2ODo6OTg1Njg6Ojk4NTY4Ojo5ODU2OTo6OTg1Njk6Ojk4NTcwOjo5ODU4MTo6OTg2MDk6Ojk4NjQ5Ojo5ODY1Njo6OTg2NTc6Ojk4NjY0Ojo5ODcwNDo6OTkwNTk6Ojk5MjkxOjo5OTUyMjo6OTk2Nzk6Ojk5NzMwOjo5OTc1Mjo6OTk3ODY6Ojk5ODgyOjo5OTg4MiIvPgorCQkJCQk8dmFsIG89ImQ0YjIwIiB2PSI5OTg4Mjo6OTk4ODI6Ojk5ODgyOjo5OTg4Mjo6OTk5NDA6OjEwMDM0Njo6MTAxMDk2OjoxMDI3NDk6OjEwNTA3ODo6MTA3NTI3OjoxMTAwNzI6OjExMjk5MTo6MTE1Nzg2OjoxMTg2NTY6OjEyMTQ0MTo6MTI0MjI4OjoxMjgxNTQ6OjEzMjE0OTo6MTM1ODk1OjoxMzkyNDM6OjE0MjIzNTo6MTQ0NjY1OjoxNDY1NTA6OjE0Nzc2Njo6MTQ4NDMwOjoxNDkxMzI6OjE0OTc4Mzo6MTUwMjgxOjoxNTExNzg6OjE1MzM5Njo6MTU1OTc3OjoxNTk3NjQ6OjE2NDAxMTo6MTY4MzYzOjoxNzI5NTk6OjE3NzQyOTo6MTgxODk3OjoxODY2MTI6OjE5MTMyODo6MTk1Njk3OjoyMDAwNTQ6OjIwNDEyNzo6MjA3OTgxOjoyMTE1MjA6OjIxNDU4MTo6MjE3NzA1OjoyMjA2ODI6OjIyMzIyNCIvPgorCQkJCQk8dmFsIG89ImZlZTIwIiB2PSIyMjU0NDA6OjIyNzQzMTo6MjI5Mzg5OjoyMzExMjg6OjIzMjk3OTo6MjM1NTAxOjoyMzg3MDU6OjI0Mjg3Nzo6MjQ1Mzk1OjoyNDk4OTQ6OjI1NDQ4NDo6MjU4Njg1OjoyNjI4ODQ6OjI2NzA1OTo6MjcxMzY1OjoyNzU3NDc6OjI4MDA3Mjo6Mjg0MzcxOjoyODg2NTY6OjI5MjU2Nzo6Mjk2MDYyOjoyOTg5NTg6OjMwMTY3ODo6MzAzNjQzOjozMDU0NjQ6OjMwNzI2ODo6MzA5MDg3OjozMTA3MjE6OjMxMjQxNDo6MzE0ODIzOjozMTc5MzM6OjMyMjE1Mzo6MzI2ODg5OjozMzE1Nzc6OjMzNjY2ODo6MzQwOTQ0OjozNDUyMjc6OjM0OTMzODo6MTUxOTc4LjY5Nzo6MTUxOTgyLjYxNDo6MTUxOTg2LjYxOjoxNTE5OTAuMjA3OjoxNTE5OTMuNjY1OjoxNTE5OTYuOTQzOjoxNTE5OTkuODk3OjoxNTIwMDIuMTU4OjoxNTIwMDQuMjA3OjoxNTIwMDYuMTk0Ii8+CisJCQkJCTx2YWwgbz0iMTI5MTIwIiB2PSIxNTIwMDcuOTU0OjoxNTIwMDkuNjM1OjoxNTIwMTEuMzI0OjoxNTIwMTIuODU3OjoxNTIwMTQuNDMzOjoxNTIwMTYuNTg2OjoxNTIwMTkuMTgxOjoxNTIwMjIuMzY1OjoxNTIwMjUuNzI4OjoxNTIwMjguMjg4OjoxNTIwMzAuOTk4OjoxNTIwMzQuMDgxOjoxNTIwMzYuMjQ3OjoxNTIwMzYuMjg0OjoxNTIwMzYuMzAyOjoxNTIwMzYuMzE5OjoxNTIwMzYuMzQxOjoxNTIwMzYuMzU5OjoxNTIwMzYuMzcyOjoxNTIwMzYuMzgzOjoxNTIwMzYuMzk6OjE1MjAzNi4zOTM6OjE1MjAzNi4zOTg6OjE1MjAzNi4zOTg6OjE1MjAzNi4zOTg6OjE1MjAzNi4zOTg6OjE1MjAzNi4zOTg6OjE1MjAzNi4zOTg6OjE1MjAzNi4zOTg6OjE1MjAzNi4zOTg6OjE1MjAzNi4zOTg6OjE1MjAzNi4zOTk6OjE1MjAzNi40MDQ6OjE1MjAzNi40MDc6OjE1MjAzNi40MTI6OjE1MjAzNi40MTQ6OjE1MjAzNi40MTQ6OjE1MjAzNi40MTQ6OjE1MjAzNi40MTQ6OjE1MjAzNi40MTc6OjE1MjAzNi40MjI6OjE1MjAzNi40MjU6OjE1MjAzNi40Mjg6OjE1MjAzNi40MzI6OjE1MjAzNi40MzU6OjE1MjAzNi40Mzc6OjE1MjAzNi40Mzc6OjE1MjAzNi40MzciLz4KKwkJCQkJPHZhbCBvPSIxNTM0MjAiIHY9IjE1MjAzNi40Mzc6OjE1MjAzNi40Mzc6OjE1MjAzNi40Mzc6OjE1MjAzNi40Mzc6OjE1MjAzNi40Mzc6OjE1MjAzNi40Mzc6OjE1MjAzNi40Mzc6OjE1MjAzNi40Mzc6OjE1MjAzNi40Mzc6OjE1MjAzNi40Mzc6OjE1MjAzNi40Mzc6OjE1MjAzNi40Mzc6OjE1MjAzNi40Mzc6OjE1MjAzNi40Mzc6OjE1MjAzNi40Mzc6OjE1MjAzNi40NDE6OjE1MjAzNi40NTo6MTUyMDM2LjQ2OjoxNTIwMzYuNDcyOjoxNTIwMzYuNDc2OjoxNTIwMzYuNDc4OjoxNTIwMzYuNDc4OjoxNTIwMzYuNDc4OjoxNTIwMzYuNDc4OjoxNTIwMzYuNDc4OjoxNTIwMzYuNDc4OjoxNTIwMzYuNDc4OjoxNTIwMzYuNDc4OjoxNTIwMzYuNDc4OjoxNTIwMzYuNDc4OjoxNTIwMzYuNDg5OjoxNTIwMzYuNTQzOjoxNTIwMzYuNjYzOjoxNTIwMzYuNzc4OjoxNTIwMzYuODgzOjoxNTIwMzYuOTcxOjoxNTIwMzcuMDY2OjoxNTIwMzcuMTY0OjoxNTIwMzcuMjU3OjoxNTIwMzcuMzYxOjozNTY2ODU6OjM2MzQwNTo6MzcwNDIwOjozNzc1NzU6OjM4NDEzNDo6MzkwMjI1OjozOTYwNjQ6OjQwMTY5NiIvPgorCQkJCQk8dmFsIG89IjE3ZDcyMCIgdj0iNDA3MTk4Ojo0MTI2NDQ6OjQxNzg4Mzo6NDIyOTk4Ojo0Mjg1MTM6OjQzNTA3NTo6NDQyMjI5Ojo0NTMzOTU6OjQ2NjYwMTo6NDc5NjU4Ojo0OTIxNzc6OjUwNDAwMDo6NTE1OTAxOjo1Mjc5MDE6OjUzOTk5Nzo6Ojo1NTYwMzY6OjU2MzkwMzo6NTcxODIzOjo1NzkwMDU6OjU4NTMyNjo6NTkxMzI1Ojo1OTYzNTQ6OjYwMDcxNTo6NjA0OTkyOjo2MDkxOTk6OjYxMzM4MTo6NjE3NjQ2Ojo2MjI1Mzk6OjYyNzg2ODo6NjMzOTgzOjo2NDA1MDI6OjY0NjY1MDo6Ojo2NTkzMjg6OjY2NTQ5ODo6NjcxODQ1Ojo2NzgyMjc6OjY4NDc2Njo6Njg4OTkwOjo2OTE2MTk6OjY5NDQ5Mjo6Njk3ODQ5Ojo3MDA2OTQ6OjcwMjYyMDo6NzA0NDQyOjo3MDU1NzI6OjcwNjY5MTo6NzA3Njk3Ojo3MDg3MzYiLz4KKwkJCQkJPHZhbCBvPSIxYTk2NDAiIHY9IjcwOTU0NTo6NzA5OTk3Ojo3MTA2OTA6OjcxMjI0Mzo6NzE0MjU1Ojo3MTY4NDc6OjcxOTYwOTo6NzIyMzczOjo3MjUxNTg6OjcyNzI2MSIvPgorCQkJCQk8dmFsIG89IjFjNzQ2MCIgdj0iNzcwOTg4Ojo3NzA5ODg6Ojc3MDk4ODo6NzcwOTg4Ojo3NzA5ODg6Ojc3MDk4ODo6NzcwOTg4Ojo3NzA5ODg6Ojc3MDk4ODo6NzcwOTg4Ojo3NzA5ODg6Ojc3MDk4ODo6NzcwOTg4Ojo3NzA5ODg6Ojc3MDk4ODo6NzcwOTg4Ojo3NzA5ODg6Ojc3MDk4ODo6NzcwOTg4Ojo3NzA5ODg6Ojc3MzA4Njo6Nzc2NjQ3Ojo3ODAyOTY6Ojc4MzgyNjo6Nzg3NDI2Ojo3OTEwNjE6Ojc5NTg0NDo6ODAyMTA5Ojo4MDg4MDE6OjgxNTYyNDo6ODIyNDk4Ojo4MjkyMTM6OjgzNTUwODo6ODQxNDQ5Ojo4NDY4ODY6Ojg1MTc5ODo6ODU2NjY1Ojo4NTkzNTQ6Ojg2MTI2Mzo6ODYzMDgzOjo4NjQ5ODU6Ojg2NzI0NTo6ODY5ODAzOjo4NzI0NjA6Ojg3NTIyMTo6ODc3OTM3Ojo4ODA1NjE6Ojg4MzE1NiIvPgorCQkJCQk8dmFsIG89IjFmMTc2MCIgdj0iODg1NjU3Ojo4ODgwODU6Ojg5MDUwNTo6ODkzMTEwOjo4OTYxOTQ6Ojg5OTU4MTo6OTAzMTE2Ojo5MDY0NzM6OjkwOTY3Nzo6OTEzMDM0Ojo5MTYwODI6OjkxODY0Njo6OTIxMDkzOjo5MjM0NjA6OjkyNTYzMDo6OTI3NzQ0Ojo5MzAwNTM6OjkzMjgwNjo6OTM1OTA0Ojo5Mzk3NTM6Ojk0NDU0MDo6OTUwMTYzOjo5NTU4ODQ6Ojk2MTIzMzo6OTY2NjczOjo5NzI1MzM6Ojk3ODc1ODo6OTg1MTY4Ojo5OTE2Njg6Ojk5NzcxMzo6MTAwMzA5MTo6MTAwODI3NDo6MTAxMjc0OTo6MTAxNzAzODo6MTAyMDkzNzo6MTAyNDYyNDo6MTAyNzkxOTo6MTAzMTA0Nzo6MTAzNDA4Nzo6MTAzNjk3Njo6MTA0MDEwNjo6MTA0NDEwMjo6MTA0OTIwMTo6MTA1NTE3Nzo6MTA2MTQxMTo6MTA2NzUyODo6MTA3Mzc1OTo6MTA3OTgwNiIvPgorCQkJCQk8dmFsIG89IjIxYmE2MCIgdj0iMTA4NTc0ODo6MTA5MTU2Njo6MTA5Nzk2NDo6MTEwNDA5ODo6MTEwOTk2NTo6MTExNTYxMTo6MTEyMTA5Mzo6MTEyNjMyMTo6MTEzMDYzMDo6MTEzNDQ5Nzo6MTEzNzk3Mzo6MTEzOTk3MDo6MTE0MTg0OTo6MTE0MzkyMzo6MTE0NTkxODo6MTE0NzY0Nzo6MTE0OTU1Nzo6MTE1MzE3MTo6MTE1NzMyOTo6MTE2MTkzNDo6MTE2NjY2NDo6MTE3MTIwNDo6MTE3NTk1Nzo6MTE4MDcyMTo6MTE4NTQ0Njo6MTE5MDYzMjo6MTE5NjIwNDo6MTIwMTc0Mzo6MTIwNzMyODo6MTIxMjYwODo6MTIxNzg0Nzo6MTIyMjY3NDo6MTIyNjk0Mjo6MTIzMTA2Njo6MTIzNDg3ODo6MTIzODE1MTo6MTI0MTM5ODo6MTI0NDUyNTo6MTI0NzU0NDo6MTI1MDQwODo6MTI1MzY2Mzo6MTI1NzY0NTo6MTI2MjIzOTo6MTI2NzkwNTo6MTI3NDA3NTo6MTI4MDUxMjo6MTI4NzEwOTo6MTI5MzU2NiIvPgorCQkJCQk8dmFsIG89IjI0NmI3MCIgdj0iMTMwNjUwMTo6MTMxMjc3NTo6MTMxODUzOTo6MTMyMzc5ODo6MTMyOTM4Nzo6MTMzNTEwNTo6MTM0MDg4Mzo6MTM0NjM5Njo6MTM1MTM3Njo6MTM1NTU5NDo6MTM1OTA5OTo6MTM2Mjc0Mjo6MTM2NjM1NTo6MTM2OTkzNjo6MTM3MzQxODo6MTM3NzE1Njo6MTM4MTQ0MDo6MTM4NTk3Njo6MTM5MTQxNjo6MTM5NzEyNDo6MTQwMzYyMjo6MTQxMjkwNTo6MTQyMDQ5NDo6MTQyNjUxOTo6MTQzMjc5MTo6MTQzODczMTo6MTQ0NDcwMDo6MTQ1MDQ5NTo6MTQ1NTkxNjo6MTQ2MTI5Mzo6MTQ2NjY0ODo6MTQ3MTMyMzo6MTQ3NTkwNDo6MTQ3OTkwMzo6MTQ4MzUxNDo6MTQ4NzAzMDo6MTQ5MDY4Mjo6MTQ5NDMyNDo6MTQ5NzkxODo6MTUwMTYxNTo6MTUwNTQ2ODo6MTUwOTM1ODo6MTUxMzUwMzo6MTUxNzg1MDo6MTUyMjAwNDo6MTUyNTk1Nzo6MTUyOTcyODo6MTUzMzQwMyIvPgorCQkJCQk8dmFsIG89IjI3MGU3MCIgdj0iMTUzNzAwMzo6MTU0MTI4OTo6MTU0NjEyNDo6MTU1MTI1Njo6MTU1NjI4Njo6MTU2MTI3Mjo6MTU2NTczMTo6MTU2OTU4MTo6MTU3Mjk0MCIvPgorCQkJCTwvcGFyPgorCQkJCTxwYXIgbWVtaW5kPSI1MjUxMzAwMSIgaD0iM2RjMWE3ZTAiPgorCQkJCQk8dmFsIG89IjAiIHY9IjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjAiLz4KKwkJCQkJPHZhbCBvPSIyYTMwMCIgdj0iMDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6OjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowIi8+CisJCQkJCTx2YWwgbz0iNTU0MTAiIHY9IjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjAiLz4KKwkJCQkJPHZhbCBvPSI3ZjcxMCIgdj0iMDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MTA6OjUyMTo6MTAwOTo6MTkxNDo6MjMyOTo6MjgwNDo6MzQ3NiIvPgorCQkJCQk8dmFsIG89ImE5YTEwIiB2PSI0NTQ2Ojo0NjgyOjo0NzE5Ojo0ODM4Ojo1MzUwOjo2MTY1Ojo2MzY1Ojo2NDQ1Ojo2NDkwOjo6OjY1NzE6OjY2NDM6OjY3MDQ6OjY3MDQ6OjY3MDQ6OjY3MDQ6OjY3MDQ6OjY3MDQ6OjY3MDQ6OjY3MDQ6OjY3MDQ6OjY3MDQ6OjY3MDQ6OjY3MDQ6OjcyMDg6Ojc2Nzk6OjgxMjQ6Ojg0ODA6OjkwMTA6Ojk1MDE6Ojk5MTg6OjEwNzA4OjoxMDk2MDo6MTEwNzk6OjExMjAwOjoxMTI1NTo6MTE0NTk6OjExNjU2OjoxMTc5Mzo6MTIxNTk6OjEyMTU5OjoxMjE1OTo6MTIxNTk6OjEyMTYwOjoxMjE3OTo6MTIyMTU6OjEyMjg3OjoxMjMwMjo6MTI4ODQiLz4KKwkJCQkJPHZhbCBvPSJkNGIyMCIgdj0iMTM1MzM6OjE0MjMwOjoxNTA2Mjo6MTYyMDQ6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1NiIvPgorCQkJCQk8dmFsIG89ImZlZTIwIiB2PSIxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU3LjQ5Mjo6MTcxNTcuNDkyOjoxNzE1Ny40OTI6OjE3MTU3LjQ5Mjo6MTcxNTcuNDkyOjoxNzE1Ny40OTI6OjE3MTU3LjQ5Mjo6MTcxNTcuNDkyOjoxNzE1Ny40OTI6OjE3MTU3LjQ5MiIvPgorCQkJCQk8dmFsIG89IjEyOTEyMCIgdj0iMTcxNTcuNDkyOjoxNzE1Ny40OTI6OjE3MTU3LjQ5Mjo6MTcxNTcuNDkyOjoxNzE1Ny40OTI6OjE3MTU3LjQ5Mjo6MTcxNTcuNDkyOjoxNzE1Ny40OTI6OjE3MTU3LjQ5Mjo6MTcxNTcuNDkyOjoxNzE1Ny40OTI6OjE3MTU3LjQ5Mjo6MTcxNTcuNDkyOjoxNzE1Ny40OTI6OjE3MTU3LjQ5Mjo6MTcxNTcuNDkyOjoxNzE1Ny40OTI6OjE3MTU3LjQ5Mjo6MTcxNTcuNDkyOjoxNzE1Ny40OTI6OjE3MTU3LjQ5Mjo6MTcxNTcuNDkyOjoxNzE1Ny40OTM6OjE3MTU3LjUxMTo6MTcxNTcuNTI1OjoxNzE1Ny41NDI6OjE3MTU3LjU1ODo6MTcxNTcuNTc5OjoxNzE1Ny41OTk6OjE3MTU3LjYwODo6MTcxNTcuNjExOjoxNzE1Ny42MTI6OjE3MTU3LjYxMjo6MTcxNTcuNjEyOjoxNzE1Ny42MTI6OjE3MTU3LjYxMzo6MTcxNTcuNjE2OjoxNzE1Ny42MTg6OjE3MTU3LjYyMzo6MTcxNTcuNjMxOjoxNzE1Ny42MzE6OjE3MTU3LjYzMTo6MTcxNTcuNjMxOjoxNzE1Ny42MzE6OjE3MTU3LjYzMTo6MTcxNTcuNjMxOjoxNzE1Ny42MzI6OjE3MTU3LjY0OSIvPgorCQkJCQk8dmFsIG89IjE1MzQyMCIgdj0iMTcxNTcuNjY5OjoxNzE1Ny42ODY6OjE3MTU3LjcwNjo6MTcxNTcuNzI4OjoxNzE1Ny43NTI6OjE3MTU3Ljc3MTo6MTcxNTcuNzg2OjoxNzE1Ny43OTk6OjE3MTU3LjgxMjo6MTcxNTcuODI0OjoxNzE1Ny44Mzg6OjE3MTU3Ljg1OjoxNzE1Ny44NjE6OjE3MTU3Ljg3MTo6MTcxNTcuODgzOjoxNzE1Ny44OTo6MTcxNTcuODk6OjE3MTU3Ljg5OjoxNzE1Ny44OTo6MTcxNTcuODk6OjE3MTU3Ljg5OjoxNzE1Ny44OTE6OjE3MTU3Ljg5OTo6MTcxNTcuOTExOjoxNzE1Ny45MTg6OjE3MTU3LjkyOjoxNzE1Ny45MjE6OjE3MTU3LjkyNTo6MTcxNTcuOTMyOjoxNzE1Ny45Mzc6OjE3MTU3LjkzNzo6MTcxNTcuOTM3OjoxNzE1Ny45Mzc6OjE3MTU3LjkzNzo6MTcxNTcuOTM3OjoxNzE1Ny45Mzc6OjE3MTU3LjkzNzo6MTcxNTcuOTM3OjoxNzE1Ny45Mzc6OjE3MTU3LjkzNzo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2Ii8+CisJCQkJCTx2YWwgbz0iMTdkNzIwIiB2PSIxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2Ojo6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1NiIvPgorCQkJCQk8dmFsIG89IjFhOTY0MCIgdj0iMTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTYiLz4KKwkJCQkJPHZhbCBvPSIxYzc0NjAiIHY9IjI2MzY2OjoyNjY0ODo6Mjk3Mzc6OjMzNzkwOjozNzMyMDo6NDEwMzg6OjQ1NDkxOjo1MDg3MDo6NTYzNzg6OjYyMDY2Ojo2Nzg5Mjo6NzQ0MzU6OjgxMDczOjo4Nzc0ODo6OTQ0ODc6OjEwMTMyNTo6MTA4MTczOjoxMTQ2NzE6OjEyMDQxNzo6MTI1NzY4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTgiLz4KKwkJCQkJPHZhbCBvPSIxZjE3NjAiIHY9IjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTgiLz4KKwkJCQkJPHZhbCBvPSIyMWJhNjAiIHY9IjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTgiLz4KKwkJCQkJPHZhbCBvPSIyNDZiNzAiIHY9IjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTgiLz4KKwkJCQkJPHZhbCBvPSIyNzBlNzAiIHY9IjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTgiLz4KKwkJCQk8L3Bhcj4KKwkJCQk8cGFyIG1lbWluZD0iMzQ2MDEiIGg9IjNkYzFhN2UwIj4KKwkJCQkJPHZhbCBvPSIwIiB2PSI2MDk0NTY0Ojo2MDk1ODY5Ojo2MDk3NDMzOjo2MDk5MDQ2Ojo2MTAwNjMwOjo2MTAxOTYwOjo2MTAzMTM3Ojo2MTA0ODI2Ojo2MTA2NDg3Ojo2MTA4MzM4Ojo2MTEwMDU3Ojo2MTEyMDg3Ojo2MTE0MTA4Ojo2MTE2MDE3Ojo2MTE2NjM1Ojo2MTE2NjQwOjo2MTE2NjQ1Ojo2MTE2NjQ4Ojo2MTE2NjQ5Ojo2MTE2NjU0Ojo2MTE2NjYxOjo2MTE2NjY3Ojo2MTE2Njc0Ojo2MTE2NjgxOjo2MTE2Njg4Ojo2MTE2Njk0Ojo2MTE2NzAxOjo2MTE2NzA4Ojo2MTE2NzE1Ojo2MTE2NzIxOjo2MTE2NzIzOjo2MTE2NzMwOjo2MTE2NzM4Ojo2MTE2NzQ1Ojo2MTE2NzUxOjo2MTE2NzU3Ojo2MTE2NzY0Ojo2MTE2NzcxOjo2MTE2Nzc5Ojo2MTE2Nzg2Ojo2MTE2NzkzOjo2MTE2Nzk5Ojo2MTE2ODAwOjo2MTE2ODAwOjo2MTE2ODA1Ojo2MTE2ODA4Ojo2MTE2ODEyOjo2MTE2ODE5Ii8+CisJCQkJCTx2YWwgbz0iMmEzMDAiIHY9IjYxMTY4MjY6OjYxMTY4MzI6OjYxMTY4MzI6OjYxMTY4MzQ6OjYxMTY4Mzg6OjYxMTY4Mzk6OjYxMTY4Mzk6OjYxMTY4NDU6OjYxMTY4NTI6OjYxMTY4NTk6OjYxMTY4NjY6OjYxMTY4NzM6OjYxMTY4ODA6OjYxMTY4ODc6OjYxMTY4OTM6OjYxMTY4OTg6OjYxMTY4OTk6OjYxMTY4OTk6OjYxMTY4OTk6OjYxMTY5MDE6OjYxMTY5MDI6OjYxMTY5MDQ6OjYxMTY5MDU6OjYxMTY5MTA6OjYxMTY5MTc6OjYxMTY5MjQ6OjYxMTY5MzE6OjYxMTY5Mzg6OjYxMTY5NDU6OjYxMTY5NTI6OjYxMTY5NTc6OjYxMTY5NjE6OjYxMTY5Njg6Ojo6NjExNjk3MDo6NjExNjk3MDo6NjExNjk3MDo6NjExNjk3MDo6NjExNjk3MDo6NjExNjk3MDo6NjExNjk3MDo6NjExNjk3MDo6NjExNjk3MDo6NjExNjk3MDo6NjExNjk3Mjo6NjExNjk3ODo6NjExNjk4MDo6NjExNjk4Nzo6NjExNjk5NCIvPgorCQkJCQk8dmFsIG89IjU1NDEwIiB2PSI2MTE3MDAxOjo2MTE3MDA4Ojo2MTE3MDE1Ojo2MTE3MDIyOjo2MTE3MDI5Ojo2MTE3MDMzOjo2MTE3MDM5Ojo2MTE3MDQyOjo2MTE3MDQyOjo2MTE3MDQ0Ojo2MTE3MDQ5Ojo2MTE3MDU0Ojo2MTE3MDYxOjo2MTE3MDYyOjo2MTE3MDYyOjo2MTE3MDYzOjo2MTE3MDY1Ojo2MTE3MDY1Ojo2MTE3MDY2Ojo2MTE3MDcyOjo2MTE3MDc4Ojo2MTE3MDg0Ojo2MTE3MDkxOjo2MTE3MDk4Ojo2MTE3MTAzOjo2MTE3MTEwOjo2MTE3MTE3Ojo2MTE3MTI0Ojo2MTE3MTI5Ojo2MTE3MTI5Ojo2MTE3MTM0Ojo2MTE3MTM2Ojo2MTE3MTM3Ojo2MTE3MTM3Ojo2MTE3MTM3Ojo2MTE3MTM4Ojo2MTE3MTQ0Ojo2MTE3MTQ1Ojo2MTE3MTQ1Ojo2MTE3MTQ1Ojo2MTE3MTQ1Ojo2MTE3MTQ1Ojo2MTE3MTQ1Ojo2MTE3MTQ4Ojo2MTE3MTUwOjo2MTE3MTU0Ojo2MTE3MTYwOjo2MTE3MTY3Ii8+CisJCQkJCTx2YWwgbz0iN2Y3MTAiIHY9IjYxMTcxNzQ6OjYxMTcxODE6OjYxMTcxODk6OjYxMTcxOTY6OjYxMTcyMDM6OjYxMTcyMTA6OjYxMTcyMTY6OjYxMTcyMTk6OjYxMTcyMjA6OjYxMTcyMjA6OjYxMTcyMjI6OjYxMTcyMjg6OjYxMTcyMzU6OjYxMTcyMzk6OjYxMTcyNDE6OjYxMTcyNDQ6OjYxMTcyNDQ6OjYxMTcyNDQ6OjYxMTcyNDQ6OjYxMTcyNDQ6OjYxMTcyNDc6OjYxMTcyNDg6OjYxMTcyNTI6OjYxMTcyNTk6OjYxMTcyNjY6OjYxMTcyNzM6OjYxMTcyODA6OjYxMTcyODc6OjYxMTcyOTM6OjYxMTcyOTc6OjYxMTczMDM6OjYxMTczMDQ6OjYxMTczMDU6OjYxMTczMDk6OjYxMTczMTY6OjYxMTczMjM6OjYxMTczMzA6OjYxMTczMzY6OjYxMTczNDA6OjYxMTgwOTU6OjYxMTg5MzY6OjYxMTkyOTk6OjYxMTkzMDA6OjYxMjAxMTc6OjYxMjA0MTk6OjYxMjA4Njc6OjYxMjE2OTI6OjYxMjMzMDgiLz4KKwkJCQkJPHZhbCBvPSJhOWExMCIgdj0iNjEyMzkzODo6NjEyNDEwNjo6NjEyNDc2NTo6NjEyNTY5MTo6NjEyNTc4NDo6NjEyNTc4NTo6NjEyNjEyOTo6NjEyNjEyOTo6NjEyNjEyOTo6Ojo2MTI2MTI5Ojo2MTI2MTI5Ojo2MTI2MTY0Ojo2MTI2MTczOjo2MTI2MTczOjo2MTI2MzU4Ojo2MTI2NTMxOjo2MTI2NTc2Ojo2MTI2ODQwOjo2MTI3NjEyOjo2MTI4NDU1Ojo2MTI4NDU1Ojo2MTI4NzU3Ojo2MTI5ODgwOjo2MTI5OTgxOjo2MTI5OTgzOjo2MTMwMTMzOjo2MTMwNDczOjo2MTMwNDg1Ojo2MTMwNDg1Ojo2MTMwNDg1Ojo2MTMwNDg1Ojo2MTMwNDkzOjo2MTMwNDkzOjo2MTMwNDkzOjo2MTMwNDkzOjo2MTMwNDkzOjo2MTMwNDkzOjo2MTMwNDkzOjo2MTMwNTYxOjo2MTMwNjQ5Ojo2MTMwNjQ5Ojo2MTMwNjQ5Ojo2MTMwNjQ5Ojo2MTMwNjQ5Ojo2MTMwNjQ5Ojo2MTMwNzkyOjo2MTMyMDE2Ojo2MTMzMTc1Ii8+CisJCQkJCTx2YWwgbz0iZDRiMjAiIHY9IjYxMzQzMDY6OjYxMzQ3MTc6OjYxMzUwOTM6OjYxMzUwOTM6OjYxMzU0MDI6OjYxMzU5MjI6OjYxMzU5MjI6OjYxMzU5MjI6OjYxMzU5MjI6OjYxMzU5MjI6OjYxMzU5MjI6OjYxMzU5MjI6OjYxMzU5MjI6OjYxMzU5MjI6OjYxMzU5MjI6OjYxMzU5Mjk6OjYxMzYwNDE6OjYxMzY2MTc6OjYxMzcyNTY6OjYxMzc1MTI6OjYxMzc3OTc6OjYxMzgwODk6OjYxMzg0MzE6OjYxMzkwNTM6OjYxMzkwNTM6OjYxMzkwNTM6OjYxMzkwNTM6OjYxMzkwNTM6OjYxMzkxNDc6OjYxMzkyNTE6OjYxMzkyNTE6OjYxMzkyNTE6OjYxMzkyNTE6OjYxMzkyNTE6OjYxMzkyNTE6OjYxMzkzMDI6OjYxMzkzMDI6OjYxMzkzMDI6OjYxMzkzMDI6OjYxMzkzMDI6OjYxMzkzMDI6OjYxMzkzMDI6OjYxMzkzMDI6OjYxMzkzMDI6OjYxMzkzMDI6OjYxMzk0NTY6OjYxNDA2NTU6OjYxNDE3ODIiLz4KKwkJCQkJPHZhbCBvPSJmZWUyMCIgdj0iNjE0MjYwOTo6NjE0MjgyODo6NjE0MzAzMjo6NjE0MzAzMjo6NjE0MzAzMjo6NjE0MzAzMjo6NjE0MzAzMjo6NjE0MzAzMjo6NjE0MzAzNjo6NjE0MzAzNjo6NjE0MzAzNjo6NjE0MzAzNjo6NjE0MzAzNjo6NjE0MzAzNjo6NjE0MzAzNjo6NjE0MzAzNjo6NjE0MzAzNjo6NjE0MzAzNjo6NjE0MzAzNjo6NjE0MzAzOTo6NjE0MzA1Njo6NjE0MzA1Njo6NjE0MzM4Mjo6NjE0MzU0NTo6NjE0MzU0NTo6NjE0MzU0NTo6NjE0MzU0NTo6NjE0MzU0NTo6NjE0MzU0NTo6NjE0MzU0NTo6NjE0MzU0NTo6NjE0MzU4Nzo6NjE0MzcxMzo6NjE0NDEzNTo6NjE0NDc4Mzo6NjE0NDgxNjo6NjE0NDgxNjo6NjE0NDgxNjo6MTQ0ODE4LjI6OjE0NDgxOC4yOjoxNDQ4MTguMjo6MTQ0ODE4LjI6OjE0NDgxOC4yOjoxNDQ4MTguMjQzOjoxNDQ4MTguNDc0OjoxNDQ4MTguNDg6OjE0NDgxOC43NzU6OjE0NDgxOS45NTUiLz4KKwkJCQkJPHZhbCBvPSIxMjkxMjAiIHY9IjE0NDgyMS4yNjE6OjE0NDgyMi42NDQ6OjE0NDgyNC4wNTM6OjE0NDgyNC41ODQ6OjE0NDgyNC41ODc6OjE0NDgyNC41ODc6OjE0NDgyNC41ODc6OjE0NDgyNC42Mjo6MTQ0ODI0Ljc0NDo6MTQ0ODI0Ljc0Njo6MTQ0ODI0Ljc0Njo6MTQ0ODI0Ljc0Njo6MTQ0ODI0Ljc0Njo6MTQ0ODI0Ljc0Njo6MTQ0ODI0Ljc0Njo6MTQ0ODI0Ljc0Njo6MTQ0ODI0Ljc0Njo6MTQ0ODI0Ljc0Njo6MTQ0ODI0Ljc0Njo6MTQ0ODI0Ljc0Njo6MTQ0ODI0Ljc0Njo6MTQ0ODI0Ljc0Njo6MTQ0ODI0Ljc1NTo6MTQ0ODI0Ljc1NTo6MTQ0ODI0Ljc1NTo6MTQ0ODI0Ljc1NTo6MTQ0ODI0Ljc1NTo6MTQ0ODI0Ljc1NTo6MTQ0ODI0Ljc1NTo6MTQ0ODI0Ljc1Njo6MTQ0ODI0Ljc1Njo6MTQ0ODI0Ljc1Njo6MTQ0ODI0Ljc1Njo6MTQ0ODI0Ljc1Nzo6MTQ0ODI0Ljc3OjoxNDQ4MjQuNzg4OjoxNDQ4MjQuNzk2OjoxNDQ4MjQuODAyOjoxNDQ4MjQuODA1OjoxNDQ4MjQuODA2OjoxNDQ4MjQuODA2OjoxNDQ4MjQuODA2OjoxNDQ4MjQuODA2OjoxNDQ4MjQuODA2OjoxNDQ4MjQuODA2OjoxNDQ4MjQuODA5OjoxNDQ4MjQuODIzOjoxNDQ4MjQuODI4Ii8+CisJCQkJCTx2YWwgbz0iMTUzNDIwIiB2PSIxNDQ4MjQuODI4OjoxNDQ4MjQuODI4OjoxNDQ4MjQuODI5OjoxNDQ4MjQuODI5OjoxNDQ4MjQuODI5OjoxNDQ4MjQuODI5OjoxNDQ4MjQuODI5OjoxNDQ4MjQuODI5OjoxNDQ4MjQuODI5OjoxNDQ4MjQuODI5OjoxNDQ4MjQuODI5OjoxNDQ4MjQuODI5OjoxNDQ4MjQuODI5OjoxNDQ4MjQuODI5OjoxNDQ4MjQuODI5OjoxNDQ4MjQuODM0OjoxNDQ4MjQuODM0OjoxNDQ4MjQuODM0OjoxNDQ4MjQuODM0OjoxNDQ4MjQuODM1OjoxNDQ4MjQuODM1OjoxNDQ4MjQuODQ6OjE0NDgyNC44NDU6OjE0NDgyNC44NDk6OjE0NDgyNC44NjU6OjE0NDgyNC44NzY6OjE0NDgyNC44ODg6OjE0NDgyNC44ODk6OjE0NDgyNC44ODk6OjE0NDgyNC44ODk6OjE0NDgyNC44ODk6OjE0NDgyNC44ODk6OjE0NDgyNC44ODk6OjE0NDgyNC44ODk6OjE0NDgyNC44OTI6OjE0NDgyNC44OTY6OjE0NDgyNC44OTc6OjE0NDgyNC45OjoxNDQ4MjQuOTo6MTQ0ODI0Ljk6OjYxNDQ4MjQ6OjYxNDQ4MjQ6OjYxNDQ4MjQ6OjYxNDQ4MjQ6OjYxNDUwMDA6OjYxNDY3MDI6OjYxNDg5OTU6OjYxNTEyOTgiLz4KKwkJCQkJPHZhbCBvPSIxN2Q3MjAiIHY9IjYxNTQwMTE6OjYxNTY4ODU6OjYxNTk4MjE6OjYxNjE3ODE6OjYxNjI0MjQ6OjYxNjM1NjU6OjYxNjUyNzg6OjYxNjY4Njg6OjYxNjc3NTU6OjYxNjg2NzE6OjYxNzEzMTI6OjYxNzQzMTU6OjYxNzcwMTQ6OjYxNzk2MDk6OjYxODE1Njg6Ojo6NjE4MjA3Njo6NjE4MjU2Nzo6NjE4Mzg2Mzo6NjE4NTEyMjo6NjE4NjY2ODo6NjE4ODkwNjo6NjE5MDAzNzo6NjE5MTAxNjo6NjE5MjU3Nzo6NjE5NDI3NDo6NjE5NjAyOTo6NjE5NjgxMDo6NjE5Njg1NTo6NjE5Njk1Mjo6NjE5NzY4MTo6NjE5ODU0ODo6NjE5ODY1Nzo6Ojo2MTk5MzkyOjo2MjAwMzcyOjo2MjAwODk1Ojo2MjAxMjI4Ojo2MjAxNDI1Ojo2MjAxNDI1Ojo2MjAyODU2Ojo2MjA1NTg1Ojo2MjA5MDQ4Ojo2MjExMTE1Ojo2MjEyNjQ4Ojo2MjE1NzIwOjo2MjE5MDkwOjo2MjIxNzczOjo2MjI0ODQ4Ojo2MjI4MTg1Ii8+CisJCQkJCTx2YWwgbz0iMWE5NjQwIiB2PSI2MjMxNTMwOjo2MjMzOTAxOjo2MjM1NTE3Ojo2MjM3MjY0Ojo2MjM5NTU0Ojo2MjQxOTQzOjo2MjQ0MDQ5Ojo2MjQ2MDAzOjo2MjQ4MjkxOjo2MjUwODgwIi8+CisJCQkJCTx2YWwgbz0iMWM3NDYwIiB2PSI2MjY5MzkzOjo2MjY5NDYwOjo2MjY5NTYxOjo2MjY5NTYxOjo2MjcwMTkzOjo2MjcxMTkzOjo2MjcxNzY2Ojo2MjcxNzY2Ojo2MjcxNzY2Ojo2MjcyMDAzOjo2MjczNDE0Ojo2MjczODAyOjo2Mjc0MTkwOjo2Mjc1MDcwOjo2Mjc1Nzg4Ojo2Mjc1ODA1Ojo2Mjc1ODA1Ojo2Mjc1ODQ0Ojo2Mjc2NzQ3Ojo2Mjc3MDkzOjo2Mjc3MTg0Ojo2Mjc3MjY3Ojo2Mjc3NzEwOjo2Mjc4MzQ2Ojo2Mjc5MjYyOjo2MjgwMDQxOjo2MjgxMjY4Ojo2MjgyOTA4Ojo2Mjg0NzQ0Ojo2Mjg2NzkyOjo2Mjg5MDM2Ojo2MjkxMzYyOjo2MjkzNTg2Ojo2Mjk1ODg0Ojo2Mjk4MTM2Ojo2MzAwMTE1Ojo2MzAyMzE2Ojo2MzAyOTU0Ojo2MzAzNDM5Ojo2MzAzNzQ5Ojo2MzAzOTM4Ojo2MzA0MjEyOjo2MzA0OTI0Ojo2MzA1MzA5Ojo2MzA1NjI2Ojo2MzA1ODA0Ojo2MzA2MDA0Ojo2MzA2MzIxIi8+CisJCQkJCTx2YWwgbz0iMWYxNzYwIiB2PSI2MzA2NDA3Ojo2MzA2NDA3Ojo2MzA2NDA3Ojo2MzA2NDA3Ojo2MzA2NDA3Ojo2MzA2NDE3Ojo2MzA2NTYyOjo2MzA2OTA0Ojo2MzA3Mzk5Ojo2MzA5NTE3Ojo2MzExNjQzOjo2MzEyNjExOjo2MzEzODc1Ojo2MzE0ODY4Ojo2MzE1MjI4Ojo2MzE1MzUyOjo2MzE1Mzg1Ojo2MzE1ODM1Ojo2MzE2MDE2Ojo2MzE2MDIzOjo2MzE2MDIzOjo2MzE2MDIzOjo2MzE2MDIzOjo2MzE2MDIzOjo2MzE2MDIzOjo2MzE2MTEzOjo2MzE2NDYwOjo2MzE2NzU1Ojo2MzE3MTc3Ojo2MzE4MDM2Ojo2MzE4MzgzOjo2MzE5MDM4Ojo2MzE5MDM4Ojo2MzE5NjMyOjo2MzIwNjIwOjo2MzIyMDk5Ojo2MzIzMDI3Ojo2MzIzNTI4Ojo2MzIzOTYyOjo2MzIzOTY3Ojo2MzIzOTY3Ojo2MzI0MTQzOjo2MzI1MTQxOjo2MzI1MzIyOjo2MzI1NzI0Ojo2MzI2MDIwOjo2MzI3MTMyOjo2MzI3MTMyIi8+CisJCQkJCTx2YWwgbz0iMjFiYTYwIiB2PSI2MzI3MTMyOjo2MzI3MTMyOjo2MzI4MTc0Ojo2MzI4NjY3Ojo2MzI4NjY3Ojo2MzI4NzA1Ojo2MzI5NDAyOjo2MzMwMDU4Ojo2MzMwMDU4Ojo2MzMwNjU1Ojo2MzMxNzc0Ojo2MzMyMDMzOjo2MzMyMDMzOjo2MzMyMDMzOjo2MzMyMDMzOjo2MzMyMDMzOjo2MzMyMDc4Ojo2MzMyMzE2Ojo2MzMyODcyOjo2MzMyODk3Ojo2MzMyODk3Ojo2MzMyODk3Ojo2MzMyODk3Ojo2MzMzMTczOjo2MzMzMjA0Ojo2MzMzODI3Ojo2MzM0NDEzOjo2MzM0NDEzOjo2MzM0NDEzOjo2MzM0NDEzOjo2MzM0NDEzOjo2MzM0NTU0Ojo2MzM0NTU0Ojo2MzM0NTU0Ojo2MzM0NzY1Ojo2MzM0OTc3Ojo2MzM1NDgxOjo2MzM1NzU5Ojo2MzM1NzU5Ojo2MzM1NzU5Ojo2MzM1NzU5Ojo2MzM1ODI0Ojo2MzM1ODI2Ojo2MzM1ODI2Ojo2MzM1ODI2Ojo2MzM1ODI2Ojo2MzM1ODg5Ojo2MzM2NDA3Ii8+CisJCQkJCTx2YWwgbz0iMjQ2YjcwIiB2PSI2MzM4MDQ3Ojo2MzM4NzE5Ojo2MzM4NzI5Ojo2MzM4NzI5Ojo2MzM4NzI5Ojo2MzM5MDY1Ojo2MzQwMzU0Ojo2MzQxNzY2Ojo2MzQyNzIzOjo2MzQzNDMyOjo2MzQzOTI0Ojo2MzQ1MDAyOjo2MzQ2MTE1Ojo2MzQ3MDE4Ojo2MzQ3MDQ4Ojo2MzQ3MDUwOjo2MzQ3MDkxOjo2MzQ3MDkxOjo2MzQ3MDkxOjo2MzQ3MDkxOjo2MzQ3NDA2Ojo2MzUwMjAwOjo2MzUyMDc3Ojo2MzUyMTUwOjo2MzUyMTUwOjo2MzUyMTUwOjo2MzUyMTUwOjo2MzUyMTUwOjo2MzUyMTUwOjo2MzUyMTUwOjo2MzUyMzMxOjo2MzUyMzMxOjo2MzUyNjM4Ojo2MzUzMTkzOjo2MzUzNjk1Ojo2MzU1MDE5Ojo2MzU2OTE1Ojo2MzU4OTUyOjo2MzYwNDMwOjo2MzYxMzUyOjo2MzYxNDIwOjo2MzYxNDIwOjo2MzYxNDIwOjo2MzYxNDIwOjo2MzYxNDIwOjo2MzYxNDIwOjo2MzYxNDIwOjo2MzYxNDIwIi8+CisJCQkJCTx2YWwgbz0iMjcwZTcwIiB2PSI2MzYxNDIwOjo2MzYxNDM0Ojo2MzYxNjk4Ojo2MzYyMTc0Ojo2MzYyNjYwOjo2MzYzNTAyOjo2MzYzODYwOjo2MzYzODYwOjo2MzYzOTMzIi8+CisJCQkJPC9wYXI+CisJCQkJPHBhciBtZW1pbmQ9IjMzODAxIiBoPSIzZGMxYTdlMCI+CisJCQkJCTx2YWwgbz0iMCIgdj0iODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMiIvPgorCQkJCQk8dmFsIG89IjJhMzAwIiB2PSI4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjIiLz4KKwkJCQkJPHZhbCBvPSI1NTQxMCIgdj0iODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMiIvPgorCQkJCQk8dmFsIG89IjdmNzEwIiB2PSI4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxODAxMDI6Ojg4MTgxMTc2Ojo4ODE4MTg1OTo6ODgxODE4NjE6Ojg4MTgxODk0Ojo4ODE4MTg5Njo6ODgxODE4OTY6Ojg4MTgxODk2Ii8+CisJCQkJCTx2YWwgbz0iYTlhMTAiIHY9Ijg4MTgyMTY5Ojo4ODE4MjIwMDo6ODgxODIyMDA6Ojg4MTgyMjAwOjo4ODE4MjI4ODo6ODgxODMzNjM6Ojg4MTgzODU3Ojo4ODE4NDYzMTo6ODgxODY0MDc6Ojo6ODgxOTQwMTA6Ojg4MTk4MjMzOjo4ODIwMDE0ODo6ODgyMDAzNDg6Ojg4MjAwOTQ3Ojo4ODIwMjYyMDo6ODgyMDMwMTE6Ojg4MjAzNTA3Ojo4ODIwMzUxMjo6ODgyMDM1MTI6Ojg4MjAzNTQzOjo4ODIwNDM1Njo6ODgyMDQ0MDE6Ojg4MjA0NDAxOjo4ODIwNTgzMDo6ODgyMDYxODg6Ojg4MjA2MjIyOjo4ODIwNjIyMjo6ODgyMDY1MDI6Ojg4MjA3NTE3Ojo4ODIwOTAwODo6ODgyMTAxMDI6Ojg4MjEwNjY2Ojo4ODIxMTYzNTo6ODgyMTI3MjQ6Ojg4MjEzNjA0Ojo4ODIxNDEwODo6ODgyMTQ1MTI6Ojg4MjE0OTY5Ojo4ODIxNjIyOTo6ODgyMTY3NTk6Ojg4MjE5MjIxOjo4ODIyMTgxODo6ODgyMjQ1ODk6Ojg4MjI3MDMxOjo4ODIyODg3MDo6ODgyMjk1NjM6Ojg4MjI5NTYzOjo4ODIyOTU4MCIvPgorCQkJCQk8dmFsIG89ImQ0YjIwIiB2PSI4ODIyOTU4MDo6ODgyMjk1ODA6Ojg4MjI5NTgyOjo4ODIzMDMyNTo6ODgyMzE4ODE6Ojg4MjMxOTEwOjo4ODIzMjU5NTo6ODgyMzQ1NzQ6Ojg4MjM3MjQ1Ojo4ODI0MDI4Mzo6ODgyNDMwNTY6Ojg4MjQzNjQzOjo4ODI0NDEwNTo6ODgyNDQzNTI6Ojg4MjQ0NTkzOjo4ODI0NTExNTo6ODgyNDU3NDY6Ojg4MjQ1NzQ2Ojo4ODI0NTg5MTo6ODgyNDU5MTU6Ojg4MjQ1OTU5Ojo4ODI0NTk4ODo6ODgyNDU5ODk6Ojg4MjQ3MjQ0Ojo4ODI0ODUxMDo6ODgyNDkyOTM6Ojg4MjUwMjAzOjo4ODI1MjE3ODo6ODgyNTQ1MzE6Ojg4MjU0ODc0Ojo4ODI1NTcwNDo6ODgyNTY4OTg6Ojg4MjU4NDM4Ojo4ODI1OTU5NTo6ODgyNjAzOTg6Ojg4MjYwOTE5Ojo4ODI2Mjg0NTo6ODgyNjQzMTQ6Ojg4MjY2MDA2Ojo4ODI2ODI5Nzo6ODgyNjk5NDI6Ojg4MjcxNTAyOjo4ODI3MjY5MDo6ODgyNzM4NDk6Ojg4Mjc1NTAzOjo4ODI3NjAwMzo6ODgyNzYwMDM6Ojg4Mjc2MDAzIi8+CisJCQkJCTx2YWwgbz0iZmVlMjAiIHY9Ijg4Mjc2MDE3Ojo4ODI3NjAxNzo6ODgyNzYwMTk6Ojg4Mjc2ODUxOjo4ODI3ODUxNTo6ODgyODAxMTg6Ojg4MjgxNTYwOjo4ODI4MzA3NDo6ODgyODM5NzE6Ojg4Mjg1NDI4Ojo4ODI4NjgxNTo6ODgyODc3MjY6Ojg4Mjg4ODMzOjo4ODI4OTk1Mzo6ODgyOTEwMzc6Ojg4MjkzMDk5Ojo4ODI5NTQyNzo6ODgyOTY2NzQ6Ojg4Mjk3MTMzOjo4ODI5NzgzMjo6ODgyOTg2MTI6Ojg4Mjk5NDQ3Ojo4ODI5OTUxNzo6ODgzMDA1NDE6Ojg4MzAxMDI1Ojo4ODMwMTMwNDo6ODgzMDE1MDM6Ojg4MzAyNDY4Ojo4ODMwNDQxNzo6ODgzMDYxMDY6Ojg4MzA3NTcxOjo4ODMwODM2ODo6ODgzMDg0NDg6Ojg4MzA4NDQ4Ojo4ODMwODQ0ODo6ODgzMDkwMjE6Ojg4MzA5ODk5Ojo4ODMxMDcxOTo6MTExMTg4LjAxNjo6MTExMTg5LjM6OjExMTE5MC4wODg6OjExMTE5MS44MjM6OjExMTE5Mi45MTo6MTExMTkzLjIwMjo6MTExMTkzLjQ3Mzo6MTExMTkzLjkzMTo6MTExMTkzLjk0ODo6MTExMTkzLjk0OCIvPgorCQkJCQk8dmFsIG89IjEyOTEyMCIgdj0iMTExMTkzLjk0ODo6MTExMTkzLjk0ODo6MTExMTkzLjk0ODo6MTExMTkzLjk0ODo6MTExMTk0LjU4OjoxMTExOTUuNTE5OjoxMTExOTYuNzM1OjoxMTExOTguMzM4OjoxMTExOTkuMzAyOjoxMTEyMDAuNjI1OjoxMTEyMDEuNzc1OjoxMTEyMDIuNDIyOjoxMTEyMDMuMDA4OjoxMTEyMDMuMDI6OjExMTIwMy4wMzI6OjExMTIwMy4wNjI6OjExMTIwMy4wOTg6OjExMTIwMy4xMzU6OjExMTIwMy4xNzE6OjExMTIwMy4yMDM6OjExMTIwMy4yMTI6OjExMTIwMy4yMTY6OjExMTIwMy4yMjE6OjExMTIwMy4yNzY6OjExMTIwMy4yOTk6OjExMTIwMy4zMTY6OjExMTIwMy4zMzU6OjExMTIwMy4zNzE6OjExMTIwMy40MjI6OjExMTIwMy40NTI6OjExMTIwMy40NTc6OjExMTIwMy40NjQ6OjExMTIwMy40Njg6OjExMTIwMy40Njg6OjExMTIwMy40Njg6OjExMTIwMy40Njg6OjExMTIwMy40Njg6OjExMTIwMy40Njg6OjExMTIwMy40Njk6OjExMTIwMy41OjoxMTEyMDMuNTMyOjoxMTEyMDMuNTcxOjoxMTEyMDMuNjA2OjoxMTEyMDMuNjMyOjoxMTEyMDMuNjM5OjoxMTEyMDMuNjM5OjoxMTEyMDMuNjM5OjoxMTEyMDMuNjYxIi8+CisJCQkJCTx2YWwgbz0iMTUzNDIwIiB2PSIxMTEyMDMuNjcxOjoxMTEyMDMuNjcxOjoxMTEyMDMuNjcyOjoxMTEyMDMuNjg0OjoxMTEyMDMuNzE1OjoxMTEyMDMuNzM5OjoxMTEyMDMuNzYxOjoxMTEyMDMuODAxOjoxMTEyMDMuODM3OjoxMTEyMDMuODY3OjoxMTEyMDMuODkxOjoxMTEyMDMuODk3OjoxMTEyMDMuOTA0OjoxMTEyMDMuOTE1OjoxMTEyMDMuOTM1OjoxMTEyMDMuOTU1OjoxMTEyMDMuOTYyOjoxMTEyMDMuOTY5OjoxMTEyMDMuOTcyOjoxMTEyMDMuOTg4OjoxMTEyMDMuOTk3OjoxMTEyMDMuOTk3OjoxMTEyMDQ6OjExMTIwNC4wMDE6OjExMTIwNC4wMDE6OjExMTIwNC4wMDE6OjExMTIwNC4wMDE6OjExMTIwNC4wMDE6OjExMTIwNC4wMTY6OjExMTIwNC4wNTI6OjExMTIwNC4wNjM6OjExMTIwNC4wNzo6MTExMjA0LjA4MTo6MTExMjA0LjA5Mzo6MTExMjA0LjA5Nzo6MTExMjA0LjA5Nzo6MTExMjA0LjA5OTo6MTExMjA0LjExOjoxMTEyMDQuMTI4OjoxMTEyMDQuMTY0Ojo4ODMxMjYyODo6ODgzMTQ3Njc6Ojg4MzE2MjkwOjo4ODMxNzI4NDo6ODgzMTc2OTQ6Ojg4MzE3Njk0Ojo4ODMxNzY5NDo6ODgzMTc2OTQiLz4KKwkJCQkJPHZhbCBvPSIxN2Q3MjAiIHY9Ijg4MzE3Njk0Ojo4ODMxNzY5NDo6ODgzMTc2OTQ6Ojg4MzE3Njk0Ojo4ODMxNzY5ODo6ODgzMTc3MDA6Ojg4MzE3NzEzOjo4ODMxNzcxMzo6ODgzMTc3MTM6Ojg4MzE3NzEzOjo4ODMxNzc3ODo6ODgzMTc3Nzg6Ojg4MzE3Nzc4Ojo4ODMxNzc3ODo6ODgzMTc3Nzg6Ojo6ODgzMjA1MTE6Ojg4MzIwOTE3Ojo4ODMyMDkxNzo6ODgzMjA5MTc6Ojg4MzIwOTE3Ojo4ODMyMDkxNzo6ODgzMjA5MTc6Ojg4MzIwOTE3Ojo4ODMyMDkxNzo6ODgzMjA5MTc6Ojg4MzIwOTE3Ojo4ODMyMDkxNzo6ODgzMjE0MjA6Ojg4MzIzMDQyOjo4ODMyMzA0Mjo6ODgzMjMwNTM6Ojg4MzIzMTA1Ojo6Ojg4MzIzMTM3Ojo4ODMyMzEzNzo6ODgzMjMxMzc6Ojg4MzIzMTM3Ojo4ODMyMzE0ODo6ODgzMjM3NzU6Ojg4MzIzNzg1Ojo4ODMyMzc4NTo6ODgzMjM3ODU6Ojg4MzIzNzg1Ojo4ODMyMzc4NTo6ODgzMjM3ODU6Ojg4MzIzNzg1Ojo4ODMyMzc4NTo6ODgzMjM3ODU6Ojg4MzIzNzg1Ii8+CisJCQkJCTx2YWwgbz0iMWE5NjQwIiB2PSI4ODMyMzc4NTo6ODgzMjM3ODU6Ojg4MzIzNzg1Ojo4ODMyMzc4NTo6ODgzMjM3OTA6Ojg4MzIzNzkwOjo4ODMyMzc5MDo6ODgzMjM3OTA6Ojg4MzIzNzkwOjo4ODMyMzc5MCIvPgorCQkJCQk8dmFsIG89IjFjNzQ2MCIgdj0iODgzNDIxMzA6Ojg4MzQyMjA5Ojo4ODM0MjUyOTo6ODgzNDQ0NTg6Ojg4MzQ0NDg1Ojo4ODM0NDQ4NTo6ODgzNDU5MDU6Ojg4MzQ4Mzc5Ojo4ODM1MDQ5NDo6ODgzNTA4MTM6Ojg4MzUwODEzOjo4ODM1MTA1Njo6ODgzNTEwNTY6Ojg4MzUxMDU2Ojo4ODM1MTA1Njo6ODgzNTEyODc6Ojg4MzUyNDI4Ojo4ODM1MzU5ODo6ODgzNTM1OTg6Ojg4MzUzNjAxOjo4ODM1Mzg1OTo6ODgzNTM4NjI6Ojg4MzUzODYyOjo4ODM1Mzg2Mzo6ODgzNTM4NjM6Ojg4MzUzODYzOjo4ODM1Mzg2Mzo6ODgzNTM4NjM6Ojg4MzUzODYzOjo4ODM1Mzg2Mzo6ODgzNTM4NjM6Ojg4MzUzODYzOjo4ODM1Mzg2Mzo6ODgzNTM4NjM6Ojg4MzUzODYzOjo4ODM1Mzg2Mzo6ODgzNTM4NjM6Ojg4MzUzOTY1Ojo4ODM1Mzk2NTo6ODgzNTM5NjU6Ojg4MzU0MDE4Ojo4ODM1NDAxODo6ODgzNTQwMTg6Ojg4MzU0MDE4Ojo4ODM1NDAxODo6ODgzNTQwMjE6Ojg4MzU0MDIxOjo4ODM1NDAyMSIvPgorCQkJCQk8dmFsIG89IjFmMTc2MCIgdj0iODgzNTQxNjY6Ojg4MzU0NTUyOjo4ODM1NTEzMDo6ODgzNTcxNTQ6Ojg4MzU5MjI2Ojo4ODM1OTgyODo6ODgzNTk4Mjg6Ojg4MzYwMDY4Ojo4ODM2MDEyNjo6ODgzNjAxMjY6Ojg4MzYwMTI2Ojo4ODM2MDE5NDo6ODgzNjAyMDU6Ojg4MzYwMjA1Ojo4ODM2MDIwNTo6ODgzNjAyMjM6Ojg4MzYwNDA2Ojo4ODM2MTM4NTo6ODgzNjIyOTc6Ojg4MzYzNTExOjo4ODM2NTc1Nzo6ODgzNjc4MjE6Ojg4MzY5MjczOjo4ODM2OTkyOTo6ODgzNzE1Mzg6Ojg4MzczMzIyOjo4ODM3Mzg5OTo6ODgzNzQ2Mjk6Ojg4Mzc0NjMxOjo4ODM3NDY1NTo6ODgzNzQ2NTc6Ojg4Mzc0ODIyOjo4ODM3NTQ2Njo6ODgzNzU0NzE6Ojg4Mzc1NDcxOjo4ODM3NTQ3MTo6ODgzNzU1OTk6Ojg4Mzc1NTk5Ojo4ODM3NTU5OTo6ODgzNzYxMDI6Ojg4Mzc3NDMyOjo4ODM3ODMwNjo6ODgzNzgzMTk6Ojg4Mzc4NDY3Ojo4ODM3ODkxNzo6ODgzNzg5MTc6Ojg4Mzc4OTE4Ojo4ODM3OTQ4MiIvPgorCQkJCQk8dmFsIG89IjIxYmE2MCIgdj0iODgzODA3Nzc6Ojg4MzgyMjc1Ojo4ODM4MjY2MTo6ODgzODI3Nzc6Ojg4MzgzMjUwOjo4ODM4MzU5Mjo6ODgzODM1OTI6Ojg4MzgzNzExOjo4ODM4NTIwMzo6ODgzODUyNTc6Ojg4Mzg1MjU3Ojo4ODM4ODQ1OTo6ODgzOTAzOTQ6Ojg4MzkwODUwOjo4ODM5MTU2MTo6ODgzOTM4MzQ6Ojg4Mzk3NTc5Ojo4ODM5NzgxOTo6ODgzOTc4MTk6Ojg4Mzk5MjE4Ojo4ODQwMTc5Mjo6ODg0MDUzODY6Ojg4NDA4MTAwOjo4ODQwODEyMjo6ODg0MDgzNjU6Ojg4NDA4NTA1Ojo4ODQwODUwNTo6ODg0MTAyNDY6Ojg4NDExNjYwOjo4ODQxMjg0OTo6ODg0MTMzMzM6Ojg4NDE0NTIxOjo4ODQxNjY5Njo6ODg0MTc1ODM6Ojg4NDE3NjgzOjo4ODQxNzg1NDo6ODg0MTc4NTQ6Ojg4NDE3ODgzOjo4ODQxODAyNzo6ODg0MTkxNTk6Ojg4NDIwMTA4Ojo4ODQyMTA3MTo6ODg0MjE4Mjg6Ojg4NDIzNTU5Ojo4ODQyNjg5NDo6ODg0Mjk5NzU6Ojg4NDMyODI4Ojo4ODQzMjgyOCIvPgorCQkJCQk8dmFsIG89IjI0NmI3MCIgdj0iODg0MzI4Mjg6Ojg4NDMyODI4Ojo4ODQzNDk1MTo6ODg0Mzk1NDg6Ojg4NDQwOTE2Ojo4ODQ0MTAzMDo6ODg0NDEwMzA6Ojg4NDQxMDMwOjo4ODQ0MTAzMDo6ODg0NDEwMzA6Ojg4NDQxMTE2Ojo4ODQ0MTExNjo6ODg0NDExMTY6Ojg4NDQxMTE2Ojo4ODQ0MTIxODo6ODg0NDE3Mzk6Ojg4NDQyMzYzOjo4ODQ0MzU0Mjo6ODg0NDUzNDQ6Ojg4NDQ4NjI0Ojo4ODQ1MTQ2NDo6ODg0NTE0NjQ6Ojg4NDUxNDczOjo4ODQ1MTY1Mjo6ODg0NTE4NDA6Ojg4NDUyMzIzOjo4ODQ1MzMzMjo6ODg0NTU4ODk6Ojg4NDU4NTA3Ojo4ODQ2MDU5NTo6ODg0NjA3NzI6Ojg4NDYyMDY1Ojo4ODQ2MjI2NDo6ODg0NjI2MDg6Ojg4NDYyNjIyOjo4ODQ2MjYyMjo6ODg0NjI2MjI6Ojg4NDYyNjIyOjo4ODQ2MjYyMjo6ODg0NjI2MjI6Ojg4NDYyODI2Ojo4ODQ2MzUzODo6ODg0NjQ2Njc6Ojg4NDY2MzEwOjo4ODQ2ODMwOTo6ODg0NzEzOTM6Ojg4NDc0MzA4Ojo4ODQ3NzI3NCIvPgorCQkJCQk8dmFsIG89IjI3MGU3MCIgdj0iODg0ODAzNzg6Ojg4NDgxMTU3Ojo4ODQ4MTc2Njo6ODg0ODE3NjY6Ojg4NDgxNzY2Ojo4ODQ4MTc2Njo6ODg0ODMzNDA6Ojg4NDg1NjI2Ojo4ODQ4NjExOCIvPgorCQkJCTwvcGFyPgorCQkJCTxwYXIgbWVtaW5kPSIzMzQwMSIgaD0iM2RjMWE3ZTAiPgorCQkJCQk8dmFsIG89IjAiIHY9Ijk0Mzc3OTU6Ojk0NDE5NzI6Ojk0NDYxNDQ6Ojk0NTAyMTc6Ojk0NTQyNjE6Ojk0NTgxODQ6Ojk0NjIzNDY6Ojk0Njc0MzQ6Ojk0NzMxODY6Ojk0ODAxMjY6Ojk0ODc0MDQ6Ojk0OTQ3Nzk6Ojk1MDE5MTY6Ojk1MDg2MTU6Ojk1MTA2MjE6Ojk1MTA2Mjg6Ojk1MTA2MzU6Ojk1MTA2NDI6Ojk1MTA2NDk6Ojk1MTA2NTY6Ojk1MTA2NjM6Ojk1MTA2NzE6Ojk1MTA2Nzg6Ojk1MTA2ODc6Ojk1MTA2OTU6Ojk1MTA3MDM6Ojk1MTA3MTI6Ojk1MTA3MjA6Ojk1MTA3Mjg6Ojk1MTA3MzY6Ojk1MTA3NDM6Ojk1MTA3NTE6Ojk1MTA3NjA6Ojk1MTA3Njg6Ojk1MTA3NzY6Ojk1MTA3ODQ6Ojk1MTA3OTI6Ojk1MTA4MDA6Ojk1MTA4MDk6Ojk1MTA4MTc6Ojk1MTA4MjY6Ojk1MTA4MzM6Ojk1MTA4NDA6Ojk1MTA4NDc6Ojk1MTA4NTU6Ojk1MTA4NjM6Ojk1MTA4NzE6Ojk1MTA4NzkiLz4KKwkJCQkJPHZhbCBvPSIyYTMwMCIgdj0iOTUxMDg4ODo6OTUxMDg5Njo6OTUxMDkwNDo6OTUxMDkxMjo6OTUxMDkyMDo6OTUxMDkyODo6OTUxMDkzNTo6OTUxMDk0NDo6OTUxMDk1Mjo6OTUxMDk2MDo6OTUxMDk2ODo6OTUxMDk3Njo6OTUxMDk4NDo6OTUxMDk5Mzo6OTUxMTAwMTo6OTUxMTAwOTo6OTUxMTAxNjo6OTUxMTAyMzo6OTUxMTAzMDo6OTUxMTAzODo6OTUxMTA0NTo6OTUxMTA1Mzo6OTUxMTA2MTo6OTUxMTA2OTo6OTUxMTA3ODo6OTUxMTA4Njo6OTUxMTA5NTo6OTUxMTEwMzo6OTUxMTExMjo6OTUxMTEyMTo6OTUxMTEyOTo6OTUxMTEzNzo6OTUxMTE0NDo6Ojo5NTExMTU4Ojo5NTExMTY1Ojo5NTExMTcxOjo5NTExMTc4Ojo5NTExMTg0Ojo5NTExMTkwOjo5NTExMTk3Ojo5NTExMjAzOjo5NTExMjA5Ojo5NTExMjE2Ojo5NTExMjIzOjo5NTExMjMxOjo5NTExMjM5Ojo5NTExMjQ3Ojo5NTExMjU1Ii8+CisJCQkJCTx2YWwgbz0iNTU0MTAiIHY9Ijk1MTEyNjQ6Ojk1MTEyNzI6Ojk1MTEyODA6Ojk1MTEyODk6Ojk1MTEyOTc6Ojk1MTEzMDU6Ojk1MTEzMTM6Ojk1MTEzMjA6Ojk1MTEzMjc6Ojk1MTEzMzM6Ojk1MTEzNDA6Ojk1MTEzNDc6Ojk1MTEzNTQ6Ojk1MTEzNjE6Ojk1MTEzNjg6Ojk1MTEzNzU6Ojk1MTEzODI6Ojk1MTEzODk6Ojk1MTEzOTc6Ojk1MTE0MDQ6Ojk1MTE0MTI6Ojk1MTE0MTk6Ojk1MTE0Mjc6Ojk1MTE0MzU6Ojk1MTE0NDM6Ojk1MTE0NTE6Ojk1MTE0NjA6Ojk1MTE0Njg6Ojk1MTE0NzY6Ojk1MTE0ODQ6Ojk1MTE0OTI6Ojk1MTE1MDA6Ojk1MTE1MDY6Ojk1MTE1MTM6Ojk1MTE1MTk6Ojk1MTE1MjY6Ojk1MTE1MzM6Ojk1MTE1Mzk6Ojk1MTE1NDY6Ojk1MTE1NTM6Ojk1MTE1NTk6Ojk1MTE1NjU6Ojk1MTE1NzI6Ojk1MTE1ODA6Ojk1MTE1ODc6Ojk1MTE1OTU6Ojk1MTE2MDM6Ojk1MTE2MTEiLz4KKwkJCQkJPHZhbCBvPSI3ZjcxMCIgdj0iOTUxMTYxOTo6OTUxMTYyODo6OTUxMTYzNzo6OTUxMTY0Njo6OTUxMTY1NDo6OTUxMTY2Mjo6OTUxMTY3MDo6OTUxMTY3Nzo6OTUxMTY4NDo6OTUxMTY5MTo6OTUxMTY5ODo6OTUxMTcwNTo6OTUxMTcxMzo6OTUxMTcyMDo6OTUxMTcyNzo6OTUxMTczNDo6OTUxMTc0MDo6OTUxMTc0Nzo6OTUxMTc1NDo6OTUxMTc2MTo6OTUxMTc2OTo6OTUxMTc3Nzo6OTUxMTc4NTo6OTUxMTc5NDo6OTUxMTgwMzo6OTUxMTgxMTo6OTUxMTgyMDo6OTUxMTgyODo6OTUxMTgzNjo6OTUxMTg0NDo6OTUxMTg1Mjo6OTUxMTg1OTo6OTUxMTg2Njo6OTUxMTg3Mzo6OTUxMTg4MDo6OTUxMTg4ODo6OTUxMTg5NTo6OTUxMTkwMjo6OTUxMTkwOTo6OTUxNDM5MDo6OTUxOTcwOTo6OTUyMjA4OTo6OTUyMjIzNDo6OTUyMjIzNDo6OTUyMjIzNDo6OTUyMjIzNTo6OTUyMjIzNTo6OTUyMjIzNSIvPgorCQkJCQk8dmFsIG89ImE5YTEwIiB2PSI5NTIyMjM3Ojo5NTIyMjQwOjo5NTIyMjQ1Ojo5NTIyMjQ1Ojo5NTIyMjQ1Ojo5NTIyMjQ1Ojo5NTIyMzA1Ojo5NTIyNDE3Ojo5NTIyNDcyOjo6Ojk1MjI1NjQ6Ojk1MjI2OTg6Ojk1MjI5NTc6Ojk1MjM2MzA6Ojk1MjQ0NTE6Ojk1MjUyOTY6Ojk1MjY4MzA6Ojk1Mjg1Nzk6Ojk1MzAyNzk6Ojk1MzIxODI6Ojk1MzM3OTk6Ojk1MzQ1NTI6Ojk1MzU0MDQ6Ojk1MzYzMTc6Ojk1MzYzNjQ6Ojk1MzYzNjQ6Ojk1MzYzNjQ6Ojk1MzYzNjQ6Ojk1MzYzNjQ6Ojk1MzYzNjQ6Ojk1MzYzNjU6Ojk1MzYzNjU6Ojk1MzYzNjY6Ojk1MzYzNzg6Ojk1MzY0MDU6Ojk1MzY0NDU6Ojk1MzY0NTI6Ojk1MzY0NTQ6Ojk1MzY0NjA6Ojk1MzY1MDE6Ojk1MzY4NTU6Ojk1MzcwODc6Ojk1MzczMTg6Ojk1Mzc0NzQ6Ojk1Mzc1MjU6Ojk1Mzc1NDg6Ojk1Mzc1ODE6Ojk1Mzc2Nzc6Ojk1Mzc2NzgiLz4KKwkJCQkJPHZhbCBvPSJkNGIyMCIgdj0iOTUzNzY3ODo6OTUzNzY3ODo6OTUzNzY3ODo6OTUzNzY3ODo6OTUzNzczNjo6OTUzODE0Mzo6OTUzODg5Mzo6OTU0MDU0Njo6OTU0Mjg3NTo6OTU0NTMyNDo6OTU0Nzg2OTo6OTU1MDc4ODo6OTU1MzU4Mjo6OTU1NjQ1Mzo6OTU1OTIzNzo6OTU2MjAyNTo6OTU2NTk1MTo6OTU2OTk0Nzo6OTU3MzY5Mjo6OTU3NzA0MDo6OTU4MDAzMjo6OTU4MjQ2Mjo6OTU4NDM0Nzo6OTU4NTU2Mjo6OTU4NjIyNjo6OTU4NjkyODo6OTU4NzU3OTo6OTU4ODA3Nzo6OTU4ODk3NDo6OTU5MTE5Mjo6OTU5Mzc3Mzo6OTU5NzU2MDo6OTYwMTgwODo6OTYwNjE2MDo6OTYxMDc1Njo6OTYxNTIyNjo6OTYxOTY5NDo6OTYyNDQwOTo6OTYyOTEyNDo6OTYzMzQ5Mzo6OTYzNzg0OTo6OTY0MTkyMjo6OTY0NTc3Njo6OTY0OTMxNjo6OTY1MjM3ODo6OTY1NTUwMjo6OTY1ODQ3OTo6OTY2MTAyMSIvPgorCQkJCQk8dmFsIG89ImZlZTIwIiB2PSI5NjYzMjM3Ojo5NjY1MjI4Ojo5NjY3MTg3Ojo5NjY4OTI1Ojo5NjcwNzc2Ojo5NjczMjk3Ojo5Njc2NTAyOjo5NjgwNjczOjo5NjgzMTkxOjo5Njg3NjkwOjo5NjkyMjc5Ojo5Njk2NDgxOjo5NzAwNjc5Ojo5NzA0ODU1Ojo5NzA5MTYxOjo5NzEzNTQyOjo5NzE3ODY3Ojo5NzIyMTY3Ojo5NzI2NDUxOjo5NzMwMzYzOjo5NzMzODU5Ojo5NzM2NzU0Ojo5NzM5NDc1Ojo5NzQxNDQwOjo5NzQzMjYwOjo5NzQ1MDY0Ojo5NzQ2ODgzOjo5NzQ4NTE3Ojo5NzUwMjEwOjo5NzUyNjE5Ojo5NzU1NzMwOjo5NzU5OTQ5Ojo5NzY0Njg2Ojo5NzY5Mzc0Ojo5Nzc0NDY1Ojo5Nzc4NzQxOjo5NzgzMDIzOjo5Nzg3MTM1Ojo4OTc3NS4xMjM6Ojg5Nzc5LjA0Ojo4OTc4My4wMzY6Ojg5Nzg2LjYzMzo6ODk3OTAuMDkxOjo4OTc5My4zNjk6Ojg5Nzk2LjMyNDo6ODk3OTguNTg1Ojo4OTgwMC42MzU6Ojg5ODAyLjYyMSIvPgorCQkJCQk8dmFsIG89IjEyOTEyMCIgdj0iODk4MDQuMzgxOjo4OTgwNi4wNjM6Ojg5ODA3Ljc1Mjo6ODk4MDkuMjg0Ojo4OTgxMC44Njo6ODk4MTMuMDEyOjo4OTgxNS42MDc6Ojg5ODE4Ljc5Ojo4OTgyMi4xNTQ6Ojg5ODI0LjcxNDo6ODk4MjcuNDI1Ojo4OTgzMC41MDg6Ojg5ODMyLjY3Mzo6ODk4MzIuNzE6Ojg5ODMyLjcyODo6ODk4MzIuNzQ1Ojo4OTgzMi43Njc6Ojg5ODMyLjc4NTo6ODk4MzIuNzk4Ojo4OTgzMi44MDk6Ojg5ODMyLjgxNzo6ODk4MzIuODI6Ojg5ODMyLjgyNTo6ODk4MzIuODI1Ojo4OTgzMi44MjU6Ojg5ODMyLjgyNTo6ODk4MzIuODI1Ojo4OTgzMi44MjU6Ojg5ODMyLjgyNTo6ODk4MzIuODI1Ojo4OTgzMi44MjU6Ojg5ODMyLjgyNjo6ODk4MzIuODMxOjo4OTgzMi44MzQ6Ojg5ODMyLjgzODo6ODk4MzIuODQ6Ojg5ODMyLjg0Ojo4OTgzMi44NDo6ODk4MzIuODQ6Ojg5ODMyLjg0Mzo6ODk4MzIuODQ4Ojo4OTgzMi44NTE6Ojg5ODMyLjg1NDo6ODk4MzIuODU4Ojo4OTgzMi44NjE6Ojg5ODMyLjg2NDo6ODk4MzIuODY0Ojo4OTgzMi44NjQiLz4KKwkJCQkJPHZhbCBvPSIxNTM0MjAiIHY9Ijg5ODMyLjg2NDo6ODk4MzIuODY0Ojo4OTgzMi44NjQ6Ojg5ODMyLjg2NDo6ODk4MzIuODY0Ojo4OTgzMi44NjQ6Ojg5ODMyLjg2NDo6ODk4MzIuODY0Ojo4OTgzMi44NjQ6Ojg5ODMyLjg2NDo6ODk4MzIuODY0Ojo4OTgzMi44NjQ6Ojg5ODMyLjg2NDo6ODk4MzIuODY0Ojo4OTgzMi44NjQ6Ojg5ODMyLjg2ODo6ODk4MzIuODc3Ojo4OTgzMi44ODc6Ojg5ODMyLjg5OTo6ODk4MzIuOTAzOjo4OTgzMi45MDQ6Ojg5ODMyLjkwNDo6ODk4MzIuOTA0Ojo4OTgzMi45MDQ6Ojg5ODMyLjkwNDo6ODk4MzIuOTA0Ojo4OTgzMi45MDQ6Ojg5ODMyLjkwNDo6ODk4MzIuOTA0Ojo4OTgzMi45MDQ6Ojg5ODMyLjkxNjo6ODk4MzIuOTc6Ojg5ODMzLjA5Ojo4OTgzMy4yMDQ6Ojg5ODMzLjMwOTo6ODk4MzMuMzk3Ojo4OTgzMy40OTI6Ojg5ODMzLjU5Ojo4OTgzMy42ODM6Ojg5ODMzLjc4ODo6OTc5NDQ4Mjo6OTgwMTIwMTo6OTgwODIxNzo6OTgxNTM3Mjo6OTgyMTkzMDo6OTgyODAyMjo6OTgzMzg2MTo6OTgzOTQ5MyIvPgorCQkJCQk8dmFsIG89IjE3ZDcyMCIgdj0iOTg0NDk5Njo6OTg1MDQ0MTo6OTg1NTY4MTo6OTg2MDc5NTo6OTg2NjMxMTo6OTg3Mjg3Mzo6OTg4MDAyNzo6OTg5MTE5Mzo6OTkwNDM5ODo6OTkxNzQ1NDo6OTkyOTk3NDo6OTk0MTc5Njo6OTk1MzY5ODo6OTk2NTY5ODo6OTk3Nzc5NDo6Ojo5OTkzODM0OjoxMDAwMTcwMTo6MTAwMDk2MjE6OjEwMDE2ODAzOjoxMDAyMzEyNDo6MTAwMjkxMjM6OjEwMDM0MTUxOjoxMDAzODUxMzo6MTAwNDI3ODk6OjEwMDQ2OTk2OjoxMDA1MTE3ODo6MTAwNTU0NDM6OjEwMDYwMzM2OjoxMDA2NTY2NTo6MTAwNzE3ODA6OjEwMDc4Mjk5OjoxMDA4NDQ0Njo6OjoxMDA5NzEyMzo6MTAxMDMyOTM6OjEwMTA5NjQxOjoxMDExNjAyMzo6MTAxMjI1NjI6OjEwMTI2Nzg1OjoxMDEyOTQxNDo6MTAxMzIyODg6OjEwMTM1NjQ1OjoxMDEzODQ4OTo6MTAxNDA0MTY6OjEwMTQyMjM4OjoxMDE0MzM2ODo6MTAxNDQ0ODc6OjEwMTQ1NDk0OjoxMDE0NjUzMiIvPgorCQkJCQk8dmFsIG89IjFhOTY0MCIgdj0iMTAxNDczNDE6OjEwMTQ3NzkzOjoxMDE0ODQ4Njo6MTAxNTAwMzk6OjEwMTUyMDUxOjoxMDE1NDY0Mzo6MTAxNTc0MDY6OjEwMTYwMTcwOjoxMDE2Mjk1NTo6MTAxNjUwNTgiLz4KKwkJCQkJPHZhbCBvPSIxYzc0NjAiIHY9IjEwMjA4Nzg0OjoxMDIwODc4NDo6MTAyMDg3ODQ6OjEwMjA4Nzg0OjoxMDIwODc4NDo6MTAyMDg3ODQ6OjEwMjA4Nzg0OjoxMDIwODc4NDo6MTAyMDg3ODQ6OjEwMjA4Nzg0OjoxMDIwODc4NDo6MTAyMDg3ODQ6OjEwMjA4Nzg0OjoxMDIwODc4NDo6MTAyMDg3ODQ6OjEwMjA4Nzg0OjoxMDIwODc4NDo6MTAyMDg3ODQ6OjEwMjA4Nzg0OjoxMDIwODc4NDo6MTAyMTA4ODI6OjEwMjE0NDQ0OjoxMDIxODA5Mzo6MTAyMjE2MjM6OjEwMjI1MjIzOjoxMDIyODg1ODo6MTAyMzM2NDE6OjEwMjM5OTA2OjoxMDI0NjU5ODo6MTAyNTM0MjA6OjEwMjYwMjk1OjoxMDI2NzAxMDo6MTAyNzMzMDU6OjEwMjc5MjQ1OjoxMDI4NDY4Mjo6MTAyODk1OTQ6OjEwMjk0NDYxOjoxMDI5NzE1MDo6MTAyOTkwNjA6OjEwMzAwODc5OjoxMDMwMjc4MTo6MTAzMDUwNDE6OjEwMzA3NjAwOjoxMDMxMDI1Njo6MTAzMTMwMTc6OjEwMzE1NzMyOjoxMDMxODM1Nzo6MTAzMjA5NTIiLz4KKwkJCQkJPHZhbCBvPSIxZjE3NjAiIHY9IjEwMzIzNDUzOjoxMDMyNTg4MTo6MTAzMjgzMDE6OjEwMzMwOTA2OjoxMDMzMzk5MTo6MTAzMzczNzg6OjEwMzQwOTEzOjoxMDM0NDI3MDo6MTAzNDc0NzQ6OjEwMzUwODMxOjoxMDM1Mzg4MDo6MTAzNTY0NDM6OjEwMzU4ODkwOjoxMDM2MTI1Nzo6MTAzNjM0Mjc6OjEwMzY1NTQyOjoxMDM2Nzg1MDo6MTAzNzA2MDI6OjEwMzczNzAwOjoxMDM3NzU0ODo6MTAzODIzMzU6OjEwMzg3OTU5OjoxMDM5MzY3OTo6MTAzOTkwMjg6OjEwNDA0NDY5OjoxMDQxMDMyODo6MTA0MTY1NTQ6OjEwNDIyOTY0OjoxMDQyOTQ2NDo6MTA0MzU1MTA6OjEwNDQwODg3OjoxMDQ0NjA3MDo6MTA0NTA1NDQ6OjEwNDU0ODMzOjoxMDQ1ODczMjo6MTA0NjI0MTk6OjEwNDY1NzE0OjoxMDQ2ODg0Mjo6MTA0NzE4ODI6OjEwNDc0NzcyOjoxMDQ3NzkwMTo6MTA0ODE4OTc6OjEwNDg2OTk3OjoxMDQ5Mjk3Mzo6MTA0OTkyMDc6OjEwNTA1MzI0OjoxMDUxMTU1NTo6MTA1MTc2MDIiLz4KKwkJCQkJPHZhbCBvPSIyMWJhNjAiIHY9IjEwNTIzNTQ0OjoxMDUyOTM2Mjo6MTA1MzU3NjA6OjEwNTQxODk0OjoxMDU0Nzc2Mjo6MTA1NTM0MDc6OjEwNTU4ODkwOjoxMDU2NDExODo6MTA1Njg0MjY6OjEwNTcyMjk0OjoxMDU3NTc3MTo6MTA1Nzc3Njc6OjEwNTc5NjQ3OjoxMDU4MTcyMDo6MTA1ODM3MTY6OjEwNTg1NDQ0OjoxMDU4NzM1NDo6MTA1OTA5Njg6OjEwNTk1MTI2OjoxMDU5OTczMTo6MTA2MDQ0NjA6OjEwNjA5MDAwOjoxMDYxMzc1Mzo6MTA2MTg1MTY6OjEwNjIzMjQxOjoxMDYyODQyODo6MTA2MzM5OTk6OjEwNjM5NTM5OjoxMDY0NTEyNTo6MTA2NTA0MDU6OjEwNjU1NjQzOjoxMDY2MDQ3MTo6MTA2NjQ3Mzg6OjEwNjY4ODYyOjoxMDY3MjY3NTo6MTA2NzU5NDc6OjEwNjc5MTk1OjoxMDY4MjMyMjo6MTA2ODUzNDA6OjEwNjg4MjA0OjoxMDY5MTQ2MDo6MTA2OTU0NDM6OjEwNzAwMDM3OjoxMDcwNTcwMjo6MTA3MTE4NzM6OjEwNzE4MzA5OjoxMDcyNDkwNzo6MTA3MzEzNjQiLz4KKwkJCQkJPHZhbCBvPSIyNDZiNzAiIHY9IjEwNzQ0Mjk4OjoxMDc1MDU3Mzo6MTA3NTYzMzY6OjEwNzYxNTk0OjoxMDc2NzE4NDo6MTA3NzI5MDE6OjEwNzc4Njc5OjoxMDc4NDE5Mzo6MTA3ODkxNzM6OjEwNzkzMzkxOjoxMDc5Njg5NTo6MTA4MDA1Mzg6OjEwODA0MTUxOjoxMDgwNzczMjo6MTA4MTEyMTQ6OjEwODE0OTUyOjoxMDgxOTIzNjo6MTA4MjM3NzI6OjEwODI5MjEyOjoxMDgzNDkyMDo6MTA4NDE0MTg6OjEwODUwNzAxOjoxMDg1ODI4OTo6MTA4NjQzMTU6OjEwODcwNTg2OjoxMDg3NjUyNjo6MTA4ODI0OTY6OjEwODg4MjkxOjoxMDg5MzcxMzo6MTA4OTkwOTA6OjEwOTA0NDQ0OjoxMDkwOTExOTo6MTA5MTM3MDA6OjEwOTE3Njk5OjoxMDkyMTMxMDo6MTA5MjQ4MjY6OjEwOTI4NDc4OjoxMDkzMjEyMTo6MTA5MzU3MTU6OjEwOTM5NDEyOjoxMDk0MzI2NTo6MTA5NDcxNTQ6OjEwOTUxMjk5OjoxMDk1NTY0Nzo6MTA5NTk4MDI6OjEwOTYzNzU1OjoxMDk2NzUyNjo6MTA5NzEyMDEiLz4KKwkJCQkJPHZhbCBvPSIyNzBlNzAiIHY9IjEwOTc0ODAxOjoxMDk3OTA4Njo6MTA5ODM5MjI6OjEwOTg5MDUzOjoxMDk5NDA4Mzo6MTA5OTkwNjk6OjExMDAzNTI5OjoxMTAwNzM3OTo6MTEwMTA3MzgiLz4KKwkJCQk8L3Bhcj4KKwkJCQk8cGFyIG1lbWluZD0iMzMwMDEiIGg9IjNkYzFhN2UwIj4KKwkJCQkJPHZhbCBvPSIwIiB2PSIzODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2Ii8+CisJCQkJCTx2YWwgbz0iMmEzMDAiIHY9IjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6Ojo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3NiIvPgorCQkJCQk8dmFsIG89IjU1NDEwIiB2PSIzODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2Ii8+CisJCQkJCTx2YWwgbz0iN2Y3MTAiIHY9IjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1ODc6OjM4NjEzMDk3OjozODYxMzU4NTo6Mzg2MTQ0OTA6OjM4NjE0OTA2OjozODYxNTM4MDo6Mzg2MTYwNTMiLz4KKwkJCQkJPHZhbCBvPSJhOWExMCIgdj0iMzg2MTcxMjM6OjM4NjE3MjU4OjozODYxNzI5Njo6Mzg2MTc0MTQ6OjM4NjE3OTI2OjozODYxODc0MTo6Mzg2MTg5NDI6OjM4NjE5MDIxOjozODYxOTA2Njo6OjozODYxOTE0Nzo6Mzg2MTkyMTk6OjM4NjE5MjgxOjozODYxOTI4MTo6Mzg2MTkyODE6OjM4NjE5MjgxOjozODYxOTI4MTo6Mzg2MTkyODE6OjM4NjE5MjgxOjozODYxOTI4MTo6Mzg2MTkyODE6OjM4NjE5MjgxOjozODYxOTI4MTo6Mzg2MTkyODE6OjM4NjE5Nzg2OjozODYyMDI1Nzo6Mzg2MjA3MDI6OjM4NjIxMDU4OjozODYyMTU4Nzo6Mzg2MjIwNzg6OjM4NjIyNDk0OjozODYyMzI4NDo6Mzg2MjM1MzY6OjM4NjIzNjU1OjozODYyMzc3Njo6Mzg2MjM4MzE6OjM4NjI0MDM1OjozODYyNDIzMjo6Mzg2MjQzNjk6OjM4NjI0NzM1OjozODYyNDczNTo6Mzg2MjQ3MzU6OjM4NjI0NzM1OjozODYyNDczNzo6Mzg2MjQ3NTU6OjM4NjI0NzkxOjozODYyNDg2Mzo6Mzg2MjQ4Nzk6OjM4NjI1NDYwIi8+CisJCQkJCTx2YWwgbz0iZDRiMjAiIHY9IjM4NjI2MTEwOjozODYyNjgwNzo6Mzg2Mjc2Mzk6OjM4NjI4NzgxOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzIiLz4KKwkJCQkJPHZhbCBvPSJmZWUyMCIgdj0iMzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjoyMjk3MzQuMzk4OjoyMjk3MzQuMzk4OjoyMjk3MzQuMzk4OjoyMjk3MzQuMzk4OjoyMjk3MzQuMzk4OjoyMjk3MzQuMzk4OjoyMjk3MzQuMzk4OjoyMjk3MzQuMzk4OjoyMjk3MzQuMzk4OjoyMjk3MzQuMzk4Ii8+CisJCQkJCTx2YWwgbz0iMTI5MTIwIiB2PSIyMjk3MzQuMzk4OjoyMjk3MzQuMzk4OjoyMjk3MzQuMzk4OjoyMjk3MzQuMzk4OjoyMjk3MzQuMzk4OjoyMjk3MzQuMzk4OjoyMjk3MzQuMzk4OjoyMjk3MzQuMzk4OjoyMjk3MzQuMzk4OjoyMjk3MzQuMzk4OjoyMjk3MzQuMzk4OjoyMjk3MzQuMzk4OjoyMjk3MzQuMzk4OjoyMjk3MzQuMzk4OjoyMjk3MzQuMzk4OjoyMjk3MzQuMzk4OjoyMjk3MzQuMzk4OjoyMjk3MzQuMzk4OjoyMjk3MzQuMzk4OjoyMjk3MzQuMzk4OjoyMjk3MzQuMzk4OjoyMjk3MzQuMzk4OjoyMjk3MzQuMzk5OjoyMjk3MzQuNDE3OjoyMjk3MzQuNDMxOjoyMjk3MzQuNDQ4OjoyMjk3MzQuNDY1OjoyMjk3MzQuNDg1OjoyMjk3MzQuNTA1OjoyMjk3MzQuNTE0OjoyMjk3MzQuNTE3OjoyMjk3MzQuNTE3OjoyMjk3MzQuNTE3OjoyMjk3MzQuNTE3OjoyMjk3MzQuNTE3OjoyMjk3MzQuNTE4OjoyMjk3MzQuNTIxOjoyMjk3MzQuNTIzOjoyMjk3MzQuNTI4OjoyMjk3MzQuNTM2OjoyMjk3MzQuNTM2OjoyMjk3MzQuNTM2OjoyMjk3MzQuNTM2OjoyMjk3MzQuNTM2OjoyMjk3MzQuNTM2OjoyMjk3MzQuNTM2OjoyMjk3MzQuNTM3OjoyMjk3MzQuNTU0Ii8+CisJCQkJPC9wYXI+CisJCQk8L2RldmljZT4KKwkJPC9zZWxlY3Q+CisJPC9kYXRhPgorPC9lbGVjdHJveG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvYXR0NC5yZGUgYi9saWJ4bWwyL3Jlc3VsdC9hdHQ0LnJkZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NDY2NDNlCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvYXR0NC5yZGUKQEAgLTAsMCArMSwyNzc4NSBAQAorMCA4ICNjb21tZW50IDAgMSAgZWRpdGVkIHdpdGggWE1MIFNweSB2NC40IFUgKGh0dHA6Ly93d3cueG1sc3B5LmNvbSkgYnkgU2xhdmEgKEdJVkMpIAorMCAxIGVsZWN0cm94bWwgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKwkKKzEgMSBkYXRhIDAgMAorMiAxNCAjdGV4dCAwIDEgCisJCQorMiAxIHNlbGVjdCAwIDAKKzMgMTQgI3RleHQgMCAxIAorCQkJCiszIDEgZGV2aWNlIDAgMAorNCAxNCAjdGV4dCAwIDEgCisJCQkJCis0IDEgcGFyIDAgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkKKzQgMTUgcGFyIDAgMAorNCAxNCAjdGV4dCAwIDEgCisJCQkJCis0IDEgcGFyIDAgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkKKzQgMTUgcGFyIDAgMAorNCAxNCAjdGV4dCAwIDEgCisJCQkJCis0IDEgcGFyIDAgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkKKzQgMTUgcGFyIDAgMAorNCAxNCAjdGV4dCAwIDEgCisJCQkJCis0IDEgcGFyIDAgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkKKzQgMTUgcGFyIDAgMAorNCAxNCAjdGV4dCAwIDEgCisJCQkJCis0IDEgcGFyIDAgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkKKzQgMTUgcGFyIDAgMAorNCAxNCAjdGV4dCAwIDEgCisJCQkJCis0IDEgcGFyIDAgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkKKzQgMTUgcGFyIDAgMAorNCAxNCAjdGV4dCAwIDEgCisJCQkJCis0IDEgcGFyIDAgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkKKzQgMTUgcGFyIDAgMAorNCAxNCAjdGV4dCAwIDEgCisJCQkJCis0IDEgcGFyIDAgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkKKzQgMTUgcGFyIDAgMAorNCAxNCAjdGV4dCAwIDEgCisJCQkJCis0IDEgcGFyIDAgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkKKzQgMTUgcGFyIDAgMAorNCAxNCAjdGV4dCAwIDEgCisJCQkJCis0IDEgcGFyIDAgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkKKzQgMTUgcGFyIDAgMAorNCAxNCAjdGV4dCAwIDEgCisJCQkJCis0IDEgcGFyIDAgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkKKzQgMTUgcGFyIDAgMAorNCAxNCAjdGV4dCAwIDEgCisJCQkJCis0IDEgcGFyIDAgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkKKzQgMTUgcGFyIDAgMAorNCAxNCAjdGV4dCAwIDEgCisJCQkJCis0IDEgcGFyIDAgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkKKzQgMTUgcGFyIDAgMAorNCAxNCAjdGV4dCAwIDEgCisJCQkJCis0IDEgcGFyIDAgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQorNCAxNSBwYXIgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKwkJCQkKKzQgMSBwYXIgMCAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCis0IDE1IHBhciAwIDAKKzQgMTQgI3RleHQgMCAxIAorCQkJCQorNCAxIHBhciAwIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkKKzQgMTUgcGFyIDAgMAorNCAxNCAjdGV4dCAwIDEgCisJCQkJCis0IDEgcGFyIDAgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQorNCAxNSBwYXIgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKwkJCQkKKzQgMSBwYXIgMCAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCis0IDE1IHBhciAwIDAKKzQgMTQgI3RleHQgMCAxIAorCQkJCQorNCAxIHBhciAwIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkKKzQgMTUgcGFyIDAgMAorNCAxNCAjdGV4dCAwIDEgCisJCQkJCis0IDEgcGFyIDAgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQorNCAxNSBwYXIgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKwkJCQkKKzQgMSBwYXIgMCAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCis0IDE1IHBhciAwIDAKKzQgMTQgI3RleHQgMCAxIAorCQkJCQorNCAxIHBhciAwIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkKKzQgMTUgcGFyIDAgMAorNCAxNCAjdGV4dCAwIDEgCisJCQkJCis0IDEgcGFyIDAgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQorNCAxNSBwYXIgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKwkJCQkKKzQgMSBwYXIgMCAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCis0IDE1IHBhciAwIDAKKzQgMTQgI3RleHQgMCAxIAorCQkJCQorNCAxIHBhciAwIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkKKzQgMTUgcGFyIDAgMAorNCAxNCAjdGV4dCAwIDEgCisJCQkJCis0IDEgcGFyIDAgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQorNCAxNSBwYXIgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKwkJCQkKKzQgMSBwYXIgMCAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCis0IDE1IHBhciAwIDAKKzQgMTQgI3RleHQgMCAxIAorCQkJCQorNCAxIHBhciAwIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkKKzQgMTUgcGFyIDAgMAorNCAxNCAjdGV4dCAwIDEgCisJCQkJCis0IDEgcGFyIDAgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQorNCAxNSBwYXIgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKwkJCQkKKzQgMSBwYXIgMCAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCis0IDE1IHBhciAwIDAKKzQgMTQgI3RleHQgMCAxIAorCQkJCQorNCAxIHBhciAwIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkKKzQgMTUgcGFyIDAgMAorNCAxNCAjdGV4dCAwIDEgCisJCQkJCis0IDEgcGFyIDAgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQorNCAxNSBwYXIgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKwkJCQkKKzQgMSBwYXIgMCAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQorNCAxNSBwYXIgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKwkJCQorMyAxNSBkZXZpY2UgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKwkJCisyIDE1IHNlbGVjdCAwIDAKKzIgMTQgI3RleHQgMCAxIAorCQorMSAxNSBkYXRhIDAgMAorMSAxNCAjdGV4dCAwIDEgCisKKzAgMTUgZWxlY3Ryb3htbCAwIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2F0dDQucmRyIGIvbGlieG1sMi9yZXN1bHQvYXR0NC5yZHIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzQ2NjQzZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2F0dDQucmRyCkBAIC0wLDAgKzEsMjc3ODUgQEAKKzAgOCAjY29tbWVudCAwIDEgIGVkaXRlZCB3aXRoIFhNTCBTcHkgdjQuNCBVIChodHRwOi8vd3d3LnhtbHNweS5jb20pIGJ5IFNsYXZhIChHSVZDKSAKKzAgMSBlbGVjdHJveG1sIDAgMAorMSAxNCAjdGV4dCAwIDEgCisJCisxIDEgZGF0YSAwIDAKKzIgMTQgI3RleHQgMCAxIAorCQkKKzIgMSBzZWxlY3QgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKwkJCQorMyAxIGRldmljZSAwIDAKKzQgMTQgI3RleHQgMCAxIAorCQkJCQorNCAxIHBhciAwIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCis0IDE1IHBhciAwIDAKKzQgMTQgI3RleHQgMCAxIAorCQkJCQorNCAxIHBhciAwIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCis0IDE1IHBhciAwIDAKKzQgMTQgI3RleHQgMCAxIAorCQkJCQorNCAxIHBhciAwIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCis0IDE1IHBhciAwIDAKKzQgMTQgI3RleHQgMCAxIAorCQkJCQorNCAxIHBhciAwIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCis0IDE1IHBhciAwIDAKKzQgMTQgI3RleHQgMCAxIAorCQkJCQorNCAxIHBhciAwIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCis0IDE1IHBhciAwIDAKKzQgMTQgI3RleHQgMCAxIAorCQkJCQorNCAxIHBhciAwIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCis0IDE1IHBhciAwIDAKKzQgMTQgI3RleHQgMCAxIAorCQkJCQorNCAxIHBhciAwIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCis0IDE1IHBhciAwIDAKKzQgMTQgI3RleHQgMCAxIAorCQkJCQorNCAxIHBhciAwIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCis0IDE1IHBhciAwIDAKKzQgMTQgI3RleHQgMCAxIAorCQkJCQorNCAxIHBhciAwIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCis0IDE1IHBhciAwIDAKKzQgMTQgI3RleHQgMCAxIAorCQkJCQorNCAxIHBhciAwIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCis0IDE1IHBhciAwIDAKKzQgMTQgI3RleHQgMCAxIAorCQkJCQorNCAxIHBhciAwIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCis0IDE1IHBhciAwIDAKKzQgMTQgI3RleHQgMCAxIAorCQkJCQorNCAxIHBhciAwIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCis0IDE1IHBhciAwIDAKKzQgMTQgI3RleHQgMCAxIAorCQkJCQorNCAxIHBhciAwIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCis0IDE1IHBhciAwIDAKKzQgMTQgI3RleHQgMCAxIAorCQkJCQorNCAxIHBhciAwIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkKKzQgMTUgcGFyIDAgMAorNCAxNCAjdGV4dCAwIDEgCisJCQkJCis0IDEgcGFyIDAgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQorNCAxNSBwYXIgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKwkJCQkKKzQgMSBwYXIgMCAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCis0IDE1IHBhciAwIDAKKzQgMTQgI3RleHQgMCAxIAorCQkJCQorNCAxIHBhciAwIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkKKzQgMTUgcGFyIDAgMAorNCAxNCAjdGV4dCAwIDEgCisJCQkJCis0IDEgcGFyIDAgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQorNCAxNSBwYXIgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKwkJCQkKKzQgMSBwYXIgMCAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCis0IDE1IHBhciAwIDAKKzQgMTQgI3RleHQgMCAxIAorCQkJCQorNCAxIHBhciAwIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkKKzQgMTUgcGFyIDAgMAorNCAxNCAjdGV4dCAwIDEgCisJCQkJCis0IDEgcGFyIDAgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQorNCAxNSBwYXIgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKwkJCQkKKzQgMSBwYXIgMCAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCis0IDE1IHBhciAwIDAKKzQgMTQgI3RleHQgMCAxIAorCQkJCQorNCAxIHBhciAwIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkKKzQgMTUgcGFyIDAgMAorNCAxNCAjdGV4dCAwIDEgCisJCQkJCis0IDEgcGFyIDAgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQorNCAxNSBwYXIgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKwkJCQkKKzQgMSBwYXIgMCAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCis0IDE1IHBhciAwIDAKKzQgMTQgI3RleHQgMCAxIAorCQkJCQorNCAxIHBhciAwIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkKKzQgMTUgcGFyIDAgMAorNCAxNCAjdGV4dCAwIDEgCisJCQkJCis0IDEgcGFyIDAgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQorNCAxNSBwYXIgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKwkJCQkKKzQgMSBwYXIgMCAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCis0IDE1IHBhciAwIDAKKzQgMTQgI3RleHQgMCAxIAorCQkJCQorNCAxIHBhciAwIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkKKzQgMTUgcGFyIDAgMAorNCAxNCAjdGV4dCAwIDEgCisJCQkJCis0IDEgcGFyIDAgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQorNCAxNSBwYXIgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKwkJCQkKKzQgMSBwYXIgMCAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCis0IDE1IHBhciAwIDAKKzQgMTQgI3RleHQgMCAxIAorCQkJCQorNCAxIHBhciAwIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkKKzQgMTUgcGFyIDAgMAorNCAxNCAjdGV4dCAwIDEgCisJCQkJCis0IDEgcGFyIDAgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkJCis1IDEgdmFsIDEgMAorNSAxNCAjdGV4dCAwIDEgCisJCQkJCQorNSAxIHZhbCAxIDAKKzUgMTQgI3RleHQgMCAxIAorCQkJCQkKKzUgMSB2YWwgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKwkJCQkKKzQgMTUgcGFyIDAgMAorNCAxNCAjdGV4dCAwIDEgCisJCQkKKzMgMTUgZGV2aWNlIDAgMAorMyAxNCAjdGV4dCAwIDEgCisJCQorMiAxNSBzZWxlY3QgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKwkKKzEgMTUgZGF0YSAwIDAKKzEgMTQgI3RleHQgMCAxIAorCiswIDE1IGVsZWN0cm94bWwgMCAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9hdHQ0LnNheCBiL2xpYnhtbDIvcmVzdWx0L2F0dDQuc2F4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJlODhmMDYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9hdHQ0LnNheApAQCAtMCwwICsxLDM2OTc2IEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5jb21tZW50KCBlZGl0ZWQgd2l0aCBYTUwgU3B5IHY0LjQgVSAoaHR0cDovL3d3dy54bWxzcHkuY29tKSBieSBTbGF2YSAoR0lWQykgKQorU0FYLnN0YXJ0RWxlbWVudChlbGVjdHJveG1sLCBtb2RpZmllZD0nMjAwMjEyMTZUMDcyNzI2JykKK1NBWC5jaGFyYWN0ZXJzKAorCSwgMikKK1NBWC5zdGFydEVsZW1lbnQoZGF0YSwgZnJvbT0nMjAwMjEwMzFUMjInLCB0bz0nMjAwMjExMzBUMjInKQorU0FYLmNoYXJhY3RlcnMoCisJCSwgMykKK1NBWC5zdGFydEVsZW1lbnQoc2VsZWN0KQorU0FYLmNoYXJhY3RlcnMoCisJCQksIDQpCitTQVguc3RhcnRFbGVtZW50KGRldmljZSwgc2VyaWFsbnVtYj0nRTAwMDAzNTYyJykKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCSwgNSkKK1NBWC5zdGFydEVsZW1lbnQocGFyLCBtZW1pbmQ9JzExMzQwMCcsIGg9JzNkYzFhOGRlJykKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMCcsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZTA4Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYzMyJywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyYTNjJywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczODM1Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0NjQ1Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1NDU1Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2MjY1Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3MDc1Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3ZTg1Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4Yzk2Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5YWE1Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhOGI2Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiNmM1Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjNGQ3Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkMzBiJywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlMGY2Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlZjA2Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmZDE3Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMGIyNycsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTE5MzcnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyNzQ2Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMzU1NicsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTQzNjYnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1MTgxJywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNWY4NScsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTZkOTUnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3YmE0Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxODliNScsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTk3YzQnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhNWQ1Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYjNlNicsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWMxZjYnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkMDA1Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZGUxNScsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWVjMjUnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmYTM2Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMDg0NScsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjE2NTYnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyNDY1Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzI3NicsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjQwODYnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0ZTk5Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNWNhNycsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjZhYjcnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI3OGM2Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyODZkNicsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjk0ZTYnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzJhMzAxJywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyYjEwNScsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMmJmMTUnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzJjZDI1Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyZGIzNScsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMmU5NDYnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzJmNzU1Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczMDU2NicsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMzEzNzUnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzMyMTllJywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczMmY5NicsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMzNkYTYnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzM0YmI2Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczNTlkZScsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMzY3ZDYnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzM3NWU2Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczODQwZScsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMzkyMWUnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzNhMDE2Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczYWUyNycsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nM2JjMzYnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzNjYTQ3Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczZDg1NicsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nM2U2NjcnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzNmNDgxJywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0MDI4NScsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNDEwOTUnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzQxZWE1Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0MmNiNScsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNDNhYzUnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzQ0OGQ1Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0NTZlNicsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNDY0ZjUnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzQ4MGZmJywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0OGYwZScsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNDlkMWQnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzRhYjQ2Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0Yjk1NScsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNGM3NjknLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzRkNTc3Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0ZTM4NycsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNGYxOTYnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzRmZmE2Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1MGRkMCcsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNTFiYzYnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzUyOWQ2Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1MzdlNycsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNTQ2MDAnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzU1NDA2Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1NjIxNScsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNTcwMjYnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzU3ZTM2Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1OGM0NicsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNTlhNzAnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzVhODY3Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1YjY3NicsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNWM0ODcnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzVkMjk2Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1ZTBhOScsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNWVlYjgnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzVmY2M2Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2MGFkNycsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNjE4ZTcnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzYyNmY3Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2MzUwNycsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNjQzMTcnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzY1MTI3Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2NWYzNycsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNjZkNDYnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzY3YjU3Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2ODk2NycsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNjk3ODInLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzZhNTg2Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2YjM5NScsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNmMxYTYnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzZjZmI1Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2ZGRjNicsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNmViZDYnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzZmOWU2Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3MDdmNicsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNzE2MDcnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzcyNDE3Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3MzIyNycsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNzQwMzcnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzc0ZTQ3Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3NWM1NycsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNzZhNjMnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzc3ODczJywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3ODY4MCcsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNzk0OGYnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzdhMjlmJywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3YjBhZicsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nN2JlYmYnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzdjY2NmJywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3ZGFkZicsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nN2U4ZmEnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzdmNzBhJywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4MDUxYScsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nODEzMmEnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzgyMTNhJywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4MmY0YScsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nODNkNWEnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzg0YjZhJywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4NTk3YScsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nODY3OGInLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzg3NTliJywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4ODNhYycsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nODkxYmInLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzg5ZmNhJywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4YWRkYScsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOGJiZWInLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzhjOWZjJywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4ZDgwYicsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOGU2MWEnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzhmNDJhJywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5MDIzYScsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOTEwNGEnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzkxZTVhJywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5MmM2YScsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOTNhODQnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzk0ODg1Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5NTY5NCcsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOTY0YTUnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzk3MmI0Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5ODBjNScsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOThlZDQnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzk5Y2U1Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5YWFmNScsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOWI5MDYnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzljNzE2Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5ZDUyNicsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOWUzMzYnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzlmMTQ1Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5ZmY1NicsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYTBkNjUnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2ExYjc3Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhMjk4NicsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYTM3OTUnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2E0NWE3Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhNTNiNicsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYTYxYzcnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2E2ZmQ2Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhN2UwMCcsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYThjMDAnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2E5YTA1Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhYTgxNScsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYWI2MjUnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2FjNDM1Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhZDI0NScsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYWUwNTUnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2FlZTY1Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhZmM3NScsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYjBhODUnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2IyNmE2Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiMzRiNicsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYjQyYzYnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2I1MGQ2Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiNWVlNycsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYjZjZjYnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2I3YjA3Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiODkxNycsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYjk3MjgnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2JhNTM3Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiYjM0NycsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYmMxNTcnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2JjZjY3Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiZGQ4MScsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYmViODYnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2JmOTk1Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjMDdhNicsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYzE1YjUnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2MyM2M2Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjMzFkNScsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYzNmZTYnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2M0ZGY1Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjNWMwNicsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYzZhMTYnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2M3ODI2Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjODYzNicsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYzk0NDYnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2NhMjU2Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjYjA2NicsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nY2JlNzYnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2NjYzg3Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjZGE5NicsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nY2U4YTgnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2NmNmI3Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkMDRjOCcsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZDEyZDcnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2QyMGU3Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkMmYwMicsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZDNkMDUnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2Q0YjE1Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkNTkyNicsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZDY3MzUnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2Q3NTQ2Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkODM1NScsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZDkxNjYnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2Q5Zjc1Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkYWQ4NycsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZGJiOTcnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2RjOWE4Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkZDdiNycsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZGU1YzYnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2RmM2Q3Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlMDFkNycsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZTBmZTUnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2UxZGY1Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlMmMwNCcsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZTNhMTQnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2U0ODI0Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlNTYzNCcsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZTY0NDQnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2U3MjU1Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlODA2ZicsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZThlN2YnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2U5YzhlJywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlYWE5ZicsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZWI4YWUnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2VjNmJmJywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlZDRjZScsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZWUyZGYnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2VmMGVmJywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlZmYwMScsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZjBkMTAnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2YxYjIwJywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmMjkzMCcsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZjM3NDAnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2Y0NTUxJywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmNTM2MScsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZjYxNzInLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2Y2ZjgwJywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmN2Q5MScsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZjhiYTEnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2Y5OWIxJywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmYTdjMCcsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZmI1ZDEnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2ZjM2UwJywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmZDFmYicsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZmUwMGInLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2ZlZTFjJywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmZmMyYycsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTAwYTNiJywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMDE4NGMnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEwMjY1YicsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTAzNDZjJywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMDQyN2InLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEwNTA4ZCcsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTA1ZTlkJywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMDZjYWQnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEwN2FiZCcsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTA4OGNkJywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMDk2ZGUnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEwYTRlZCcsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTBiMmZlJywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMGMxMGQnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEwY2YxZScsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTBkZDJlJywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMGViNjYnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEwZjk0ZScsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTEwNzVlJywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMTE1NmQnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExMjM4OCcsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTEzMTg3Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMTNmYjAnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExNGRhNicsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTE1YmI2Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMTY5YzYnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExNzdkNicsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTE4NWU4Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMTkzZjcnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExYTIwOCcsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTFiMDE3Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMWJlMmYnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExY2MzNycsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTFkYTQ3Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMWU4NTcnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExZjY2NycsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTIwNTc4Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMjEzODYnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyMjE5NicsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTIyZmE2Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMjNkYjUnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyNGJjNScsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTI1OWQ1Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMjY3ZTQnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyNzYwMCcsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTI4MzA1Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMjkxMTUnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyOWYyNScsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTJhZDM1Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMmJiNDUnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyYzk1NCcsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTJkNzY2Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMmU1NzUnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyZjM4NicsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTMwMTk2Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMzBmYTYnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzMWRiNycsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTMyYmM1Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMzM5ZDQnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzNDdlNScsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTM1NWY0Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMzY0MDQnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzNzIxNCcsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTM4MDI0Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMzhlMzMnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzOWM0NCcsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTNhYTU0Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxM2I4NjUnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzYzY3ZScsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTNkNDhlJywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxM2UyOWUnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzZjBhZScsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTNmZWJmJywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNDBjY2YnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0MWFkZicsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTQyOGVmJywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNDM2ZmYnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0NDUwZicsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTQ1MzFmJywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNDYxMzAnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0NmY0MCcsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTQ3ZDQ0Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNDhiNTcnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0OTk2NScsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTRhNzc1Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNGI1ODQnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0YzM5NycsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTRkMWE0Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNGRmYjYnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0ZWRjNScsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTRmYmQ1Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNTA5ZTUnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1MTdmZicsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTUyNjA1Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNTM0MTUnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1NDIyNScsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTU1MDM1Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNTVlNDUnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1NmM1NScsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTU3YTY1Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNTg4NzUnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1OTY4NicsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTVhNDk1Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNWIyYTYnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1YzBiNicsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTVjZWM2Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNWRjZDUnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1ZWFlNicsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTVmOGY1Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNjA3MDYnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2MTUxNycsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTYyMzI2Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNjMxMzcnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2M2Y0NicsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTY0ZDU3Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNjViNjcnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2Njk4MicsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTY3Nzg2Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNjg1OTYnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2OTNhNicsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTZhMWI1Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNmFmYzYnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2YmRkNScsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTZjYmU2Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNmQ5ZjYnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2ZTgwNycsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTZmNjE2Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNzA0MjknLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3MTIzNicsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTcyMDQ3Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNzJlNTcnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3M2M2NycsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTc0YTc3Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNzU4ODcnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3NjY5NCcsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTc3NGEzJywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNzgyYjMnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3OTBjNScsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTc5ZWQ0Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxN2FjZTQnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3YmFmZCcsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTdjOTBmJywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxN2Q3MWUnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3ZTUyZicsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTdmMzNmJywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxODAxNGYnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4MGY1ZicsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTgxZDZlJywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxODJiN2YnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4Mzk4ZicsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTg0N2ExJywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxODU1YWYnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4NjNjMCcsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTg3MWNmJywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxODdmZTAnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4OGRlZicsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTg5YzAwJywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOGI4MGQnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4YzYxYycsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMThkNDJjJywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOGUyM2InLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4ZjA0YicsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMThmZTVlJywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOTBjNzYnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5MWE4NicsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTkyODk2Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOTM2YTYnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5NDRiNycsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTk1MmM2Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOTYwZDcnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5NmVlNicsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTk3Y2Y4Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOThiMGYnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5OTkxZicsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTliNTQxJywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOWMzNGQnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5ZDE1ZScsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTlkZjgwJywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOWVkOTAnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5ZWViZScsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTlmYjhlJywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYTA5YTAnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhMTdhZScsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWEyNWJlJywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYTMzY2QnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhNDFkZCcsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWE0ZmVkJywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYTVlMDgnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhNmMwNScsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWE3YTE1Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYTg4MjYnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhOTYzNycsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWFhNDQ1Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYWIyNTUnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhYzA2NScsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWFjZTc1Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYWRjODcnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhZWE5NicsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWFmOGE3Jywgdj0nNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYjA2YjcnLCB2PSc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFiMTRjNicsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWM3NDYwJywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYzgyNzAnLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFjOTA3ZScsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWM5ZThmJywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxY2FjYTInLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFjYmFiMScsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWNjOGMxJywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxY2Q2ZDAnLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFjZTRkZScsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWNmMmYwJywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZDAxMDknLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkMGYwNicsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWQxZDE1Jywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZDJiMjUnLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkMzkzNScsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWQ0NzQ1Jywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZDU1NTUnLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkNjM2NicsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWQ3MTc1Jywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZDdmODYnLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkOGQ5NScsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWQ5YmE2Jywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZGE5YjYnLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkYjdjNycsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWRjNWQ1Jywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZGQzZTYnLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkZTFmNScsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWRmMDA2Jywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZGZlMTYnLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlMGMyNicsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWUxYTM2Jywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZTI4NDcnLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlMzY1OScsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWU0NDY3Jywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZTUyODEnLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlNjA4NicsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWU2ZTk2Jywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZTdjYTYnLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlOGFiNScsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWU5OGM2Jywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZWE2ZDUnLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlYjRlNicsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWVjMmY2Jywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZWQxMDYnLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlZGYxNicsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWVlZDI2Jywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZWZiMzYnLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmMDk0NicsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWYxNzU2Jywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZjI1NjYnLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmMzM3NicsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWY0MTg3Jywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZjRmOTYnLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmNWRhNycsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWY2YmI2Jywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZjc5YzcnLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmODdkNicsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWY5NWU3Jywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZmE0MDEnLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmYjIwNCcsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWZjMDE2Jywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZmNlMjUnLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmZGMzNScsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWZlYTQ1Jywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZmY4NTUnLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwMDY2NScsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjAxNDc1Jywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMDIyODYnLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwMzA5NScsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjAzZWE1Jywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMDRjYjYnLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwNWFjNicsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjA2OGQ2Jywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMDc2ZTYnLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwODRmNicsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjA5MzA2Jywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMGExMTYnLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwYWYyNicsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjBiZDM3Jywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMGNiNDYnLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwZDk1NycsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjBlNzY3Jywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMGY1ODEnLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxMDM4NicsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjExMTk0Jywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMTFmYTUnLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxMmRiNScsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjEzYmM1Jywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMTQ5ZDYnLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxNTdlNScsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjE2NWY2Jywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMTc0MDYnLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxODIxNycsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjE5MDI2Jywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMTllMzknLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxYWM0NicsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjFiYTU3Jywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMWM4NjcnLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxZDY3NycsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjFlNDg3Jywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMWYyOTYnLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyMDBhNicsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjIwZWI3Jywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMjFjYzYnLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyMmFkNycsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjIzOGU3Jywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMjQ3MDEnLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyNTUwNScsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjI2MzE1Jywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMjcxMjUnLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyN2YzNScsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjI4ZDQ1Jywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMjliNTQnLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyYTk2NScsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjJiNzc2Jywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMmM1ODYnLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyZDM5NycsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjJlMWE2Jywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMmVmYjYnLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyZmRjNycsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjMwYmQ3Jywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzE5ZTYnLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzMjdmNicsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjMzNjFiJywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzQ0MTYnLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzNTIyNicsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjM2MDM3Jywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzZlNDYnLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzN2M1NycsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjM4YTY2Jywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzk4ODEnLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzYTY4NScsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjNiNDk1Jywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyM2MyYTQnLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzZDBiNScsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjNkZWM0Jywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyM2VjZDUnLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzZmFlNCcsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjQwOGY2Jywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNDE3MDYnLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0MjUxOCcsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjQzMzI1Jywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNDQxMzcnLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0NGY0NicsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjQ2YjY2Jywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNDc5NzYnLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0ODc4NicsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjQ5NTdlJywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNGEzOGYnLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0YjE5YycsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjRiZmFjJywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNGNkYmMnLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0ZGJjZCcsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjRlOWU1Jywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNGY4MDgnLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1MDYxNicsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjUxNDI2Jywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNTIyMzYnLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1MzA0NycsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjUzZTU2Jywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNTRjNjcnLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1NWE3NicsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjU2ODg3Jywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNTc2OTcnLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1ODRhOCcsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjU5MmI2Jywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNWEwYzcnLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1YWVkNycsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjViY2U3Jywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNWNhZjgnLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1ZDkwNycsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjVlNzE4Jywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNWY1MjcnLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2MDMzOCcsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjYxMTQ5Jywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNjFmNTknLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2MmQ2OCcsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjYzYjgzJywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNjQ5ODYnLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2NTc5NScsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjY2NWE2Jywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNjczYjUnLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2ODFjNicsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjY4ZmQ1Jywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNjlkZTYnLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2YWJmNicsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjZiYTA2Jywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNmM4MTcnLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2ZDYyYicsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjZlNDM2Jywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNmYyNDcnLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI3MDA1NycsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjcwZTY3Jywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNzFjNzcnLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI3MmE4NycsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjczODk3Jywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNzQ2YTgnLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI3NTRiOScsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjc2MmM3Jywgdj0nNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNzcwZDgnLCB2PSc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI3N2VlNycsIHY9JzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCSwgNSkKK1NBWC5lbmRFbGVtZW50KHBhcikKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCSwgNSkKK1NBWC5zdGFydEVsZW1lbnQocGFyLCBtZW1pbmQ9JzE2OTM2NjAwJywgaD0nM2RjMWE4ZGUnKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScwJywgdj0nMTk2LjQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlMDgnLCB2PScxOTkuNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFjMzInLCB2PScyMDAuOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzJhM2MnLCB2PScyMDEuOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzM4MzUnLCB2PScxOTkuOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzQ2NDUnLCB2PScxOTcuOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzU0NTUnLCB2PScxOTMuMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzYyNjUnLCB2PScxOTcuNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzcwNzUnLCB2PScxOTUuNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzdlODUnLCB2PScxOTIuNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzhjOTYnLCB2PScxOTUuMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzlhYTUnLCB2PScxOTUuNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2E4YjYnLCB2PScxOTUuNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2I2YzUnLCB2PScxOTcuMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2M0ZDcnLCB2PScyMjIuNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2QzMGInLCB2PScyMjAuOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2UwZjYnLCB2PScyMjIuOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2VmMDYnLCB2PScxODAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmZDE3Jywgdj0nMTgwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTBiMjcnLCB2PScyMjEuNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExOTM3Jywgdj0nMjIyLjInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMjc0NicsIHY9JzIyMi41JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTM1NTYnLCB2PScyMjAuNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0MzY2Jywgdj0nMjIwLjgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNTE4MScsIHY9JzIyMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1Zjg1Jywgdj0nMjIxLjInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNmQ5NScsIHY9JzIyMC4zJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTdiYTQnLCB2PScyMjEuMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4OWI1Jywgdj0nMjIwLjYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOTdjNCcsIHY9JzIyMC45JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWE1ZDUnLCB2PScyMTkuMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFiM2U2Jywgdj0nMjE5LjMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYzFmNicsIHY9JzIyMC41JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWQwMDUnLCB2PScyMjAuNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkZTE1Jywgdj0nMjIwLjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZWMyNScsIHY9JzIyMC40JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWZhMzYnLCB2PScyMjAuMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwODQ1Jywgdj0nMjIwLjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMTY1NicsIHY9JzIyMC43JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjI0NjUnLCB2PScyMjAuNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzMjc2Jywgdj0nMjIwLjUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNDA4NicsIHY9JzE4MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0ZTk5Jywgdj0nMjIyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjVjYTcnLCB2PScyMjEuOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2YWI3Jywgdj0nMjIwLjYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNzhjNicsIHY9JzE4MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI4NmQ2Jywgdj0nMjIwLjgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyOTRlNicsIHY9JzIxOC45JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMmEzMDEnLCB2PScyMjAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyYjEwNScsIHY9JzE4MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzJiZjE1Jywgdj0nMTgwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMmNkMjUnLCB2PScyMTguOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzJkYjM1Jywgdj0nMTgwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMmU5NDYnLCB2PScxODAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyZjc1NScsIHY9JzE4MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzMwNTY2Jywgdj0nMjE5LjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczMTM3NScsIHY9JzIyMC41JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMzIxOWUnLCB2PScyMTkuNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzMyZjk2Jywgdj0nMjIwLjgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczM2RhNicsIHY9JzIyMC42JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMzRiYjYnLCB2PScyMTknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczNTlkZScsIHY9JzIyMC4zJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMzY3ZDYnLCB2PScyMTkuMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzM3NWU2Jywgdj0nMTgwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMzg0MGUnLCB2PScxODAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczOTIxZScsIHY9JzE4MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzNhMDE2Jywgdj0nMTgwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nM2FlMjcnLCB2PScyMjAuOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzNiYzM2Jywgdj0nMjIwLjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczY2E0NycsIHY9JzE4MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzNkODU2Jywgdj0nMjIxLjQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczZTY2NycsIHY9JzIyMC4yJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nM2Y0ODEnLCB2PScyMTcuNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzQwMjg1Jywgdj0nMjE4LjQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0MTA5NScsIHY9JzIxOC4xJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNDFlYTUnLCB2PScyMTguNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzQyY2I1Jywgdj0nMjE5LjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0M2FjNScsIHY9JzIxOC43JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNDQ4ZDUnLCB2PScxODAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0NTZlNicsIHY9JzIyMC43JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNDY0ZjUnLCB2PScyMjIuNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzQ4MGZmJywgdj0nMTgwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNDhmMGUnLCB2PScxODAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0OWQxZCcsIHY9JzE4MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzRhYjQ2Jywgdj0nMTgwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNGI5NTUnLCB2PScxODAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0Yzc2OScsIHY9JzE4MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzRkNTc3Jywgdj0nMTgwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNGUzODcnLCB2PScxODAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0ZjE5NicsIHY9JzE4MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzRmZmE2Jywgdj0nMTgwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNTBkZDAnLCB2PScxODAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1MWJjNicsIHY9JzE4MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzUyOWQ2Jywgdj0nMTgwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNTM3ZTcnLCB2PScyMjAuNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzU0NjAwJywgdj0nMjE4LjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1NTQwNicsIHY9JzIxOS4zJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNTYyMTUnLCB2PScyMTkuNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzU3MDI2Jywgdj0nMjE5LjMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1N2UzNicsIHY9JzIxOS43JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNThjNDYnLCB2PScyMjAuNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzU5YTcwJywgdj0nMjIwLjUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1YTg2NycsIHY9JzIyMS44JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNWI2NzYnLCB2PScxODAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1YzQ4NycsIHY9JzE4MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzVkMjk2Jywgdj0nMTgwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNWUwYTknLCB2PScyMjIuNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzVlZWI4Jywgdj0nMjI0LjUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1ZmNjNicsIHY9JzIyMy42JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNjBhZDcnLCB2PScxODAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2MThlNycsIHY9JzE4MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzYyNmY3Jywgdj0nMTgwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNjM1MDcnLCB2PScxODAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2NDMxNycsIHY9JzE4MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzY1MTI3Jywgdj0nMjIyLjMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2NWYzNycsIHY9JzIyMi42JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNjZkNDYnLCB2PScyMjAuOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzY3YjU3Jywgdj0nMjIwLjgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2ODk2NycsIHY9JzIyMC4yJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNjk3ODInLCB2PScyMjAuMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzZhNTg2Jywgdj0nMjE5LjMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2YjM5NScsIHY9JzIxOS44JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNmMxYTYnLCB2PScyMTknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2Y2ZiNScsIHY9JzIxOC43JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNmRkYzYnLCB2PScyMjAuNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzZlYmQ2Jywgdj0nMTgwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNmY5ZTYnLCB2PScyMjEuOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzcwN2Y2Jywgdj0nMjIyLjgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3MTYwNycsIHY9JzE4MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzcyNDE3Jywgdj0nMTgwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNzMyMjcnLCB2PScxODAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3NDAzNycsIHY9JzIyMy44JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNzRlNDcnLCB2PScyMjMuNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzc1YzU3Jywgdj0nMTgwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNzZhNjMnLCB2PScxODAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3Nzg3MycsIHY9JzE4MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzc4NjgwJywgdj0nMTgwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNzk0OGYnLCB2PScxODAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3YTI5ZicsIHY9JzE4MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzdiMGFmJywgdj0nMjIyLjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3YmViZicsIHY9JzIyMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzdjY2NmJywgdj0nMjE5LjUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3ZGFkZicsIHY9JzIxOS45JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nN2U4ZmEnLCB2PScyMjAuOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzdmNzBhJywgdj0nMjIwLjgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4MDUxYScsIHY9JzIxNy45JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nODEzMmEnLCB2PScyMTknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4MjEzYScsIHY9JzIxOC42JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nODJmNGEnLCB2PScyMTkuNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzgzZDVhJywgdj0nMjE5LjcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4NGI2YScsIHY9JzE4MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzg1OTdhJywgdj0nMTgwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nODY3OGInLCB2PScxODAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4NzU5YicsIHY9JzE4MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzg4M2FjJywgdj0nMjIzLjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4OTFiYicsIHY9JzIyMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzg5ZmNhJywgdj0nMjI0LjInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4YWRkYScsIHY9JzE4MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzhiYmViJywgdj0nMTgwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOGM5ZmMnLCB2PScxODAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4ZDgwYicsIHY9JzE4MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzhlNjFhJywgdj0nMTgwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOGY0MmEnLCB2PScxODAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5MDIzYScsIHY9JzE4MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzkxMDRhJywgdj0nMjIwLjQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5MWU1YScsIHY9JzE4MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzkyYzZhJywgdj0nMjE5LjYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5M2E4NCcsIHY9JzIxOS4yJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOTQ4ODUnLCB2PScyMTknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5NTY5NCcsIHY9JzIxOC41JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOTY0YTUnLCB2PScyMTkuMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzk3MmI0Jywgdj0nMjE5LjQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5ODBjNScsIHY9JzIyMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzk4ZWQ0Jywgdj0nMjIwLjcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5OWNlNScsIHY9JzE4MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzlhYWY1Jywgdj0nMTgwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOWI5MDYnLCB2PScyMjUuMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzljNzE2Jywgdj0nMjI1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOWQ1MjYnLCB2PScyMjIuNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzllMzM2Jywgdj0nMjIzLjYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5ZjE0NScsIHY9JzIyNC4xJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOWZmNTYnLCB2PScyMjMuMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2EwZDY1Jywgdj0nMTgwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYTFiNzcnLCB2PScxOTUuOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2EyOTg2Jywgdj0nMTkwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYTM3OTUnLCB2PScxMjIuMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2E0NWE3Jywgdj0nMzU0LjYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhNTNiNicsIHY9JzMzMy4yJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYTYxYzcnLCB2PSczMjMuMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2E2ZmQ2Jywgdj0nMjc4LjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhN2UwMCcsIHY9JzI4Ni4yJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYThjMDAnLCB2PScyOTIuMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2E5YTA1Jywgdj0nMjEuNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2FhODE1Jywgdj0nMjczLjcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhYjYyNScsIHY9JzI3Mi45JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYWM0MzUnLCB2PScyODUuNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2FkMjQ1Jywgdj0nMjguNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2FlMDU1Jywgdj0nNjguNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2FlZTY1Jywgdj0nMTQ3LjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhZmM3NScsIHY9Jzk1LjcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiMGE4NScsIHY9Jzg5LjYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiMjZhNicsIHY9Jzg4LjMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiMzRiNicsIHY9JzkyLjQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiNDJjNicsIHY9JzE0OS43JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYjUwZDYnLCB2PScxNDguNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2I1ZWU3Jywgdj0nMTI3LjcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiNmNmNicsIHY9JzE5OC4yJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYjdiMDcnLCB2PScxODcuMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2I4OTE3Jywgdj0nMTgyLjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiOTcyOCcsIHY9JzE5NS44JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYmE1MzcnLCB2PScyMDMuOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2JiMzQ3Jywgdj0nMTI0LjUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiYzE1NycsIHY9JzE1OS4yJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYmNmNjcnLCB2PScyMzAuNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2JkZDgxJywgdj0nNzkuOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2JlYjg2Jywgdj0nNTEuMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2JmOTk1Jywgdj0nMjIuNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2MwN2E2Jywgdj0nMzIzLjcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjMTViNScsIHY9JzM0MS42JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYzIzYzYnLCB2PSc0Ni40JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYzMxZDUnLCB2PSc3MS45JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYzNmZTYnLCB2PSc3MS45JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYzRkZjUnLCB2PSc2My40JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYzVjMDYnLCB2PSc3Ni40JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYzZhMTYnLCB2PSc1OC40JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYzc4MjYnLCB2PSc5MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2M4NjM2Jywgdj0nNzkuNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2M5NDQ2Jywgdj0nNjMuMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2NhMjU2Jywgdj0nNTEuMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2NiMDY2Jywgdj0nODEuNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2NiZTc2Jywgdj0nMjA1LjMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjY2M4NycsIHY9Jzk2LjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjZGE5NicsIHY9Jzk1LjcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjZThhOCcsIHY9Jzk2LjcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjZjZiNycsIHY9JzkyLjgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkMDRjOCcsIHY9JzkxLjQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkMTJkNycsIHY9Jzg2LjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkMjBlNycsIHY9JzI3MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2QyZjAyJywgdj0nMjcwLjQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkM2QwNScsIHY9JzI5Ni43JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZDRiMTUnLCB2PSczMDYuOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2Q1OTI2Jywgdj0nMzMxLjcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkNjczNScsIHY9JzEzLjcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkNzU0NicsIHY9JzQ2LjQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkODM1NScsIHY9JzI2Mi4xJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZDkxNjYnLCB2PScxNjYuMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2Q5Zjc1Jywgdj0nMTQzLjYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkYWQ4NycsIHY9JzEyNy4yJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZGJiOTcnLCB2PScxMzIuNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2RjOWE4Jywgdj0nMTI4LjMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkZDdiNycsIHY9JzE1NS42JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZGU1YzYnLCB2PScxNzAuOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2RmM2Q3Jywgdj0nMTc2LjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlMDFkNycsIHY9JzE3Ni44JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZTBmZTUnLCB2PScxNjguOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2UxZGY1Jywgdj0nMTcyLjInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlMmMwNCcsIHY9JzE4NS4yJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZTNhMTQnLCB2PScxOTYuMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2U0ODI0Jywgdj0nMTc4LjUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlNTYzNCcsIHY9JzE5My43JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZTY0NDQnLCB2PScxNzYuMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2U3MjU1Jywgdj0nMTk2LjcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlODA2ZicsIHY9JzIwMi4yJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZThlN2YnLCB2PSc5OS45JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZTljOGUnLCB2PScxMzAuMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2VhYTlmJywgdj0nMTMyLjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlYjhhZScsIHY9JzEyMS43JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZWM2YmYnLCB2PScxMDAuOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2VkNGNlJywgdj0nMTkyLjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlZTJkZicsIHY9JzE1My43JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZWYwZWYnLCB2PScxNzAuNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2VmZjAxJywgdj0nMTU1LjInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmMGQxMCcsIHY9JzE2Ny4zJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZjFiMjAnLCB2PScxNjUuNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2YyOTMwJywgdj0nMTg0LjMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmMzc0MCcsIHY9JzE1OS4yJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZjQ1NTEnLCB2PScxNjMuNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2Y1MzYxJywgdj0nMTYzLjUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmNjE3MicsIHY9JzE2MC44JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZjZmODAnLCB2PScxNjUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmN2Q5MScsIHY9JzE1Ni40JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZjhiYTEnLCB2PScxNjMuOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2Y5OWIxJywgdj0nMTYyLjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmYTdjMCcsIHY9JzE1NC45JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZmI1ZDEnLCB2PScxNTcuMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2ZjM2UwJywgdj0nMTk3LjInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmZDFmYicsIHY9JzIwMy44JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZmUwMGInLCB2PScyMTIuNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2ZlZTFjJywgdj0nMTg1LjQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmZmMyYycsIHY9JzE4Ny4yJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTAwYTNiJywgdj0nMTYyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTAxODRjJywgdj0nMTQ5LjMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMDI2NWInLCB2PScxMzYuOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEwMzQ2YycsIHY9JzE0NS45JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTA0MjdiJywgdj0nMTY0LjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMDUwOGQnLCB2PScxNTguMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEwNWU5ZCcsIHY9JzE2MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEwNmNhZCcsIHY9JzE2MS42JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTA3YWJkJywgdj0nMTY4LjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMDg4Y2QnLCB2PScxNjguNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEwOTZkZScsIHY9JzE2NS4xJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTBhNGVkJywgdj0nMTY4LjInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMGIyZmUnLCB2PScxNjMuOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEwYzEwZCcsIHY9JzE0Ny41JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTBjZjFlJywgdj0nMTYzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTBkZDJlJywgdj0nMTY2LjMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMGViNjYnLCB2PScxNzcuNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEwZjk0ZScsIHY9JzE3OS43JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTEwNzVlJywgdj0nMTYxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTExNTZkJywgdj0nMTc0LjQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMTIzODgnLCB2PScyMDMuNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExMzE4NycsIHY9JzE1OC4zJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTEzZmIwJywgdj0nMTcyLjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMTRkYTYnLCB2PScxNzIuNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExNWJiNicsIHY9JzE2OC40JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTE2OWM2Jywgdj0nMTM4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTE3N2Q2Jywgdj0nMTM1LjgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMTg1ZTgnLCB2PScxNTcuOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExOTNmNycsIHY9JzE2MC42JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTFhMjA4Jywgdj0nMTc1LjcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMWIwMTcnLCB2PScxODQuMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExYmUyZicsIHY9JzE4OC42JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTFjYzM3Jywgdj0nMTcwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTFkYTQ3Jywgdj0nMTczLjYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMWU4NTcnLCB2PScxNjcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMWY2NjcnLCB2PScxNzIuNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyMDU3OCcsIHY9JzE2NC42JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTIxMzg2Jywgdj0nMTY2LjgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMjIxOTYnLCB2PScxNTEuOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyMmZhNicsIHY9JzE1OC42JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTIzZGI1Jywgdj0nMTcwLjgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMjRiYzUnLCB2PScxODUuNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyNTlkNScsIHY9JzE2MC4xJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTI2N2U0Jywgdj0nMTg4LjYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMjc2MDAnLCB2PScyMDcuNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyODMwNScsIHY9JzIxNC42JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTI5MTE1Jywgdj0nMjEzLjcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMjlmMjUnLCB2PScyMTguNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyYWQzNScsIHY9JzIxMC41JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTJiYjQ1Jywgdj0nMTc4LjgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMmM5NTQnLCB2PScxNjIuNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyZDc2NicsIHY9JzE1Ni40JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTJlNTc1Jywgdj0nMTUzLjUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMmYzODYnLCB2PScxNDMuOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzMDE5NicsIHY9JzE2MC44JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTMwZmE2Jywgdj0nMTUzLjQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMzFkYjcnLCB2PScxNjMuNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzMmJjNScsIHY9JzE2OC4yJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTMzOWQ0Jywgdj0nMTY5LjMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMzQ3ZTUnLCB2PScxMzkuMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzNTVmNCcsIHY9JzE0Mi40JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTM2NDA0Jywgdj0nMTIyLjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMzcyMTQnLCB2PScxMjUuNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzODAyNCcsIHY9JzExMC43JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTM4ZTMzJywgdj0nMTEwLjYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMzljNDQnLCB2PScxOTAuMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzYWE1NCcsIHY9Jzk5LjYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxM2I4NjUnLCB2PScyMDkuNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzYzY3ZScsIHY9Jzc2LjInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxM2Q0OGUnLCB2PSc2MS41JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTNlMjllJywgdj0nNDQuNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzZjBhZScsIHY9JzQ0LjInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxM2ZlYmYnLCB2PSc2MC40JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTQwY2NmJywgdj0nNjQuNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0MWFkZicsIHY9JzY3LjMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNDI4ZWYnLCB2PSczNDEuMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0MzZmZicsIHY9JzExNS44JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTQ0NTBmJywgdj0nMTE3LjMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNDUzMWYnLCB2PScxODAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNDYxMzAnLCB2PScyNTIuNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0NmY0MCcsIHY9JzI2MS44JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTQ3ZDQ0Jywgdj0nMzEzLjMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNDhiNTcnLCB2PSczMTEuMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0OTk2NScsIHY9JzI5MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0YTc3NScsIHY9JzU3LjYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNGI1ODQnLCB2PScxNTEuNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0YzM5NycsIHY9JzkyLjcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNGQxYTQnLCB2PSc5My40JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTRkZmI2Jywgdj0nMTAwLjMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNGVkYzUnLCB2PSc5Ny40JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTRmYmQ1Jywgdj0nMTg0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTUwOWU1Jywgdj0nMjg5LjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNTE3ZmYnLCB2PScyNzQuMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1MjYwNScsIHY9JzM5LjgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNTM0MTUnLCB2PSc2LjUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNTQyMjUnLCB2PSczNTUuOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1NTAzNScsIHY9JzE5LjQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNTVlNDUnLCB2PSc0NC4yJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTU2YzU1Jywgdj0nNjEuNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1N2E2NScsIHY9JzU1LjUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNTg4NzUnLCB2PSc2MC4yJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTU5Njg2Jywgdj0nNzEuNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1YTQ5NScsIHY9JzY2LjMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNWIyYTYnLCB2PSc2MS41JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTVjMGI2Jywgdj0nMzguNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1Y2VjNicsIHY9JzE3LjMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNWRjZDUnLCB2PSczNS42JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTVlYWU2Jywgdj0nNDQuOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1ZjhmNScsIHY9JzcxLjQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNjA3MDYnLCB2PScxNjYuMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2MTUxNycsIHY9JzEyNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2MjMyNicsIHY9JzE3NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2MzEzNycsIHY9JzE5NS4zJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTYzZjQ2Jywgdj0nOTkuMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2NGQ1NycsIHY9JzkwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTY1YjY3Jywgdj0nMjczLjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNjY5ODInLCB2PSczNDQuNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2Nzc4NicsIHY9JzMwNy4yJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTY4NTk2Jywgdj0nMjcxLjgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNjkzYTYnLCB2PScyNzguOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2YTFiNScsIHY9JzI5MS41JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTZhZmM2Jywgdj0nNTIuOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2YmRkNScsIHY9Jzc2LjYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNmNiZTYnLCB2PSc4Ny42JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTZkOWY2Jywgdj0nMTcwLjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNmU4MDcnLCB2PScxNzQuMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2ZjYxNicsIHY9JzE3NS42JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTcwNDI5Jywgdj0nMTg2LjcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNzEyMzYnLCB2PScxODMuMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3MjA0NycsIHY9JzE4MS43JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTcyZTU3Jywgdj0nMTczLjYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNzNjNjcnLCB2PScxNzAuNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3NGE3NycsIHY9JzE2NS40JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTc1ODg3Jywgdj0nMTYzLjgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNzY2OTQnLCB2PScxNjEuNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3NzRhMycsIHY9JzE2NS40JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTc4MmIzJywgdj0nMTcwLjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNzkwYzUnLCB2PScxNzMuNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3OWVkNCcsIHY9JzE4Ny45JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTdhY2U0Jywgdj0nMjAxLjgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxN2JhZmQnLCB2PScyMDUuOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3YzkwZicsIHY9JzIwNC42JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTdkNzFlJywgdj0nMjA0LjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxN2U1MmYnLCB2PScyMDguMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3ZjMzZicsIHY9JzIwNC40JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTgwMTRmJywgdj0nMTkzLjUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxODBmNWYnLCB2PScxODYuNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4MWQ2ZScsIHY9JzE5Mi40JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTgyYjdmJywgdj0nMTk0LjMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxODM5OGYnLCB2PScxODQuNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4NDdhMScsIHY9JzE4NC4xJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTg1NWFmJywgdj0nMTg1LjYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxODYzYzAnLCB2PScxOTQuOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4NzFjZicsIHY9JzE5Mi4xJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTg3ZmUwJywgdj0nMTkyLjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxODhkZWYnLCB2PScxOTAuNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4OWMwMCcsIHY9JzE4NS40JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMThiODBkJywgdj0nMTcwLjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOGM2MWMnLCB2PScxODcuNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4ZDQyYycsIHY9JzE5MS4xJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMThlMjNiJywgdj0nMTkxLjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOGYwNGInLCB2PScxOTcuMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4ZmU1ZScsIHY9JzE5NS45JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTkwYzc2Jywgdj0nMTg5LjgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOTFhODYnLCB2PScyMDEuOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5Mjg5NicsIHY9JzIwMi4yJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTkzNmE2Jywgdj0nMjA0LjQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOTQ0YjcnLCB2PScxOTYuMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5NTJjNicsIHY9JzE4Mi42JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTk2MGQ3Jywgdj0nMTYyLjYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOTZlZTYnLCB2PScxODcuMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5N2NmOCcsIHY9JzE4Ny4zJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTk4YjBmJywgdj0nMTc5LjcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOTk5MWYnLCB2PScxODEuNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5YjU0MScsIHY9JzE4OC4zJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTljMzRkJywgdj0nMTg2LjInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOWQxNWUnLCB2PScxODMuNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5ZGY4MCcsIHY9JzE4Mi4yJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTllZDkwJywgdj0nMTc2LjUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOWVlYmUnLCB2PScxNzUuNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5ZmI4ZScsIHY9JzE3OC41JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWEwOWEwJywgdj0nMjIzLjgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYTE3YWUnLCB2PScyMjguMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhMjViZScsIHY9JzIyOS43JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWEzM2NkJywgdj0nMjE2LjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYTQxZGQnLCB2PScyMjYuNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhNGZlZCcsIHY9JzI0OS42JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWE1ZTA4Jywgdj0nMjQ1LjgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYTZjMDUnLCB2PScyNTAuMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhN2ExNScsIHY9JzI1MS4xJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWE4ODI2Jywgdj0nMjUyLjUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYTk2MzcnLCB2PScyNTkuNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhYTQ0NScsIHY9JzI1NC44JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWFiMjU1Jywgdj0nMjE4LjcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYWMwNjUnLCB2PScyMjguMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhY2U3NScsIHY9JzIyNy4zJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWFkYzg3Jywgdj0nMjE0LjInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYWVhOTYnLCB2PScyMTguNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhZjhhNycsIHY9JzIxNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFiMDZiNycsIHY9JzIzMS43JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWIxNGM2Jywgdj0nMjMwLjYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYzc0NjAnLCB2PSc1MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFjODI3MCcsIHY9JzM0MC4zJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWM5MDdlJywgdj0nMTguNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFjOWU4ZicsIHY9JzM1Ny41JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWNhY2EyJywgdj0nMzQ0LjcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxY2JhYjEnLCB2PSczMzguNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFjYzhjMScsIHY9JzI4LjQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxY2Q2ZDAnLCB2PScyMS44JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWNlNGRlJywgdj0nMTAuNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFjZjJmMCcsIHY9JzM0My45JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWQwMTA5Jywgdj0nMzQyLjgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZDBmMDYnLCB2PSczNTguMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkMWQxNScsIHY9JzM1My41JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWQyYjI1Jywgdj0nMzUzLjQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZDM5MzUnLCB2PScxLjQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZDQ3NDUnLCB2PSc2LjQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZDU1NTUnLCB2PScxMC41JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWQ2MzY2Jywgdj0nMzUwLjcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZDcxNzUnLCB2PSczNTAuOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkN2Y4NicsIHY9JzM1Ny42JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWQ4ZDk1Jywgdj0nMTgxLjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZDliYTYnLCB2PScxODQuOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkYTliNicsIHY9JzE5Mi42JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWRiN2M3Jywgdj0nMTkzLjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZGM1ZDUnLCB2PScxOTQuNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkZDNlNicsIHY9JzE5MC44JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWRlMWY1Jywgdj0nMTk1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWRmMDA2Jywgdj0nMTk1LjgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZGZlMTYnLCB2PScxOTUuMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlMGMyNicsIHY9JzE5OC4xJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWUxYTM2Jywgdj0nMTk4LjQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZTI4NDcnLCB2PScxOTkuNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlMzY1OScsIHY9JzIwMC4yJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWU0NDY3Jywgdj0nMjAyLjMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZTUyODEnLCB2PScyMDAuNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlNjA4NicsIHY9JzIwMy41JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWU2ZTk2Jywgdj0nMjA0LjYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZTdjYTYnLCB2PScxODguNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlOGFiNScsIHY9JzE5My45JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWU5OGM2Jywgdj0nMTg0LjQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZWE2ZDUnLCB2PScxOTAuNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlYjRlNicsIHY9JzE4OC45JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWVjMmY2Jywgdj0nMTkyLjInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZWQxMDYnLCB2PScxODUuNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlZGYxNicsIHY9JzE4Ni42JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWVlZDI2Jywgdj0nMTgyLjgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZWZiMzYnLCB2PScxODcuNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmMDk0NicsIHY9JzE4Ni45JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWYxNzU2Jywgdj0nMTY4LjInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZjI1NjYnLCB2PScxNjQuMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmMzM3NicsIHY9JzE1NC4zJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWY0MTg3Jywgdj0nMTM0LjMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZjRmOTYnLCB2PScxNTQuMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmNWRhNycsIHY9JzE4Mi4yJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWY2YmI2Jywgdj0nMTg4LjMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZjc5YzcnLCB2PScxNzYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZjg3ZDYnLCB2PScyMDYuNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmOTVlNycsIHY9JzIxNi41JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWZhNDAxJywgdj0nMjExLjUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZmIyMDQnLCB2PScyMTAuOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmYzAxNicsIHY9JzIxMS4yJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWZjZTI1Jywgdj0nMTkyLjQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZmRjMzUnLCB2PScxODUuMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmZWE0NScsIHY9JzE3Ni42JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWZmODU1Jywgdj0nMTcxLjUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMDA2NjUnLCB2PScxMjkuNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwMTQ3NScsIHY9JzE3My40JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjAyMjg2Jywgdj0nMTU3LjInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMDMwOTUnLCB2PScxNjEuMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwM2VhNScsIHY9JzE2My41JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjA0Y2I2Jywgdj0nMTc2LjgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMDVhYzYnLCB2PScxNjYuOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwNjhkNicsIHY9JzE2MS41JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjA3NmU2Jywgdj0nMTU5LjMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMDg0ZjYnLCB2PScxNzcuNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwOTMwNicsIHY9JzE4My4yJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjBhMTE2Jywgdj0nMTg1LjQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMGFmMjYnLCB2PScxODIuNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwYmQzNycsIHY9JzE4OS4zJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjBjYjQ2Jywgdj0nMTczLjInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMGQ5NTcnLCB2PScxNzkuNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwZTc2NycsIHY9JzE5My41JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjBmNTgxJywgdj0nMjAyLjYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMTAzODYnLCB2PScxOTcuOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxMTE5NCcsIHY9JzE4Ni45JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjExZmE1Jywgdj0nMTg4LjMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMTJkYjUnLCB2PScxNzguNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxM2JjNScsIHY9JzE2MC4yJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjE0OWQ2Jywgdj0nMTY4LjMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMTU3ZTUnLCB2PScxODQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMTY1ZjYnLCB2PScxOTEuMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxNzQwNicsIHY9JzE3Ny4zJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjE4MjE3Jywgdj0nMTgyLjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMTkwMjYnLCB2PScxODUuNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxOWUzOScsIHY9JzE3Ni4zJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjFhYzQ2Jywgdj0nMTcwLjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMWJhNTcnLCB2PScxNjkuMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxYzg2NycsIHY9JzE1OS44JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjFkNjc3Jywgdj0nMTkwLjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMWU0ODcnLCB2PScxNzMuOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxZjI5NicsIHY9JzE3NS41JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjIwMGE2Jywgdj0nMTg3LjUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMjBlYjcnLCB2PScxODguNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyMWNjNicsIHY9JzE2MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyMmFkNycsIHY9JzE3NS41JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjIzOGU3Jywgdj0nMTkyLjQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMjQ3MDEnLCB2PScyMDAuOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyNTUwNScsIHY9JzExNi45JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjI2MzE1Jywgdj0nMTY2LjMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMjcxMjUnLCB2PScxNjIuOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyN2YzNScsIHY9JzEzMC40JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjI4ZDQ1Jywgdj0nMTIyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjI5YjU0Jywgdj0nMTkzLjUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMmE5NjUnLCB2PScxODMuOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyYjc3NicsIHY9JzE4MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyYzU4NicsIHY9JzE1Ny4zJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjJkMzk3Jywgdj0nMTQyLjcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMmUxYTYnLCB2PScxNDUuOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyZWZiNicsIHY9JzE4Mi4yJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjJmZGM3Jywgdj0nMTgyLjcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzBiZDcnLCB2PScxNzMuMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzMTllNicsIHY9JzE4OC42JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjMyN2Y2Jywgdj0nMTc5LjQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzM2MWInLCB2PScxNjkuOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzNDQxNicsIHY9JzE2NC4zJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjM1MjI2Jywgdj0nMTcwLjInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzYwMzcnLCB2PScxNzguOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzNmU0NicsIHY9JzE1OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzN2M1NycsIHY9JzE2MS42JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjM4YTY2Jywgdj0nMTc1LjgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzk4ODEnLCB2PScxNjkuOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzYTY4NScsIHY9JzE4NS4zJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjNiNDk1Jywgdj0nMTkxLjYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyM2MyYTQnLCB2PScxNzYuOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzZDBiNScsIHY9JzE2Ny43JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjNkZWM0Jywgdj0nMTU0LjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyM2VjZDUnLCB2PScxNjcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyM2ZhZTQnLCB2PScxODAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNDA4ZjYnLCB2PScxNjYuOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0MTcwNicsIHY9JzE0Ni45JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjQyNTE4Jywgdj0nMTU1LjQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNDMzMjUnLCB2PScxNTcuNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0NDEzNycsIHY9JzE4OS45JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjQ0ZjQ2Jywgdj0nMTg3LjQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNDZiNjYnLCB2PScxODYuOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0Nzk3NicsIHY9JzE3OS41JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjQ4Nzg2Jywgdj0nMTM5LjYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNDk1N2UnLCB2PScxNjEuOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0YTM4ZicsIHY9JzE3MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0YjE5YycsIHY9JzE4OS41JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjRiZmFjJywgdj0nMTg3LjMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNGNkYmMnLCB2PScxODguMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0ZGJjZCcsIHY9JzE4Ni4xJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjRlOWU1Jywgdj0nMTk4LjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNGY4MDgnLCB2PScxOTMuMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1MDYxNicsIHY9JzE5NS42JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjUxNDI2Jywgdj0nMTk4LjMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNTIyMzYnLCB2PScxODAuNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1MzA0NycsIHY9JzE4MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1M2U1NicsIHY9JzE2MS42JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjU0YzY3Jywgdj0nMTY1LjgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNTVhNzYnLCB2PScxNjUuNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1Njg4NycsIHY9JzE2MC40JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjU3Njk3Jywgdj0nMTQ3LjInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNTg0YTgnLCB2PScxOTYuOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1OTJiNicsIHY9JzE5NS43JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjVhMGM3Jywgdj0nMTg2LjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNWFlZDcnLCB2PScxNzguMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1YmNlNycsIHY9JzE3Ny42JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjVjYWY4Jywgdj0nMTcyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjVkOTA3Jywgdj0nMTU2LjUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNWU3MTgnLCB2PScxNTQuMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1ZjUyNycsIHY9JzE1NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2MDMzOCcsIHY9JzE3OS41JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjYxMTQ5Jywgdj0nMTY2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjYxZjU5Jywgdj0nMTcyLjMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNjJkNjgnLCB2PScxOTYuNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2M2I4MycsIHY9JzE3OS41JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjY0OTg2Jywgdj0nMTk1LjcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNjU3OTUnLCB2PScyMDIuNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2NjVhNicsIHY9JzIwOS45JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjY3M2I1Jywgdj0nMjA0LjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNjgxYzYnLCB2PScxOTkuOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2OGZkNScsIHY9JzE4Ni4zJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjY5ZGU2Jywgdj0nMTc1LjYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNmFiZjYnLCB2PScxNzAuMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2YmEwNicsIHY9JzE1OS4yJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjZjODE3Jywgdj0nMTU2LjQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNmQ2MmInLCB2PScxMzcuNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2ZTQzNicsIHY9JzE0NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2ZjI0NycsIHY9JzEzOS42JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjcwMDU3Jywgdj0nMTQzLjInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNzBlNjcnLCB2PScxMzcuNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI3MWM3NycsIHY9JzE3Ny45JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjcyYTg3Jywgdj0nMTg2LjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNzM4OTcnLCB2PScxODQuNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI3NDZhOCcsIHY9JzE4OC4yJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjc1NGI5Jywgdj0nMTkxLjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNzYyYzcnLCB2PScxNDYuNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI3NzBkOCcsIHY9JzE2MS40JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjc3ZWU3Jywgdj0nMTg4LjcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJLCA1KQorU0FYLmVuZEVsZW1lbnQocGFyKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJLCA1KQorU0FYLnN0YXJ0RWxlbWVudChwYXIsIG1lbWluZD0nMTA2OTUwMDAnLCBoPSczZGMxYThkZScpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzAnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2UwOCcsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWMzMicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMmEzYycsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMzgzNScsIHY9JzQ5LjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0NjQ1Jywgdj0nNDkuOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzU0NTUnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzYyNjUnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzcwNzUnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzdlODUnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzhjOTYnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzlhYTUnLCB2PSc1MC4xJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYThiNicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYjZjNScsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYzRkNycsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZDMwYicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZTBmNicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZWYwNicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZmQxNycsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTBiMjcnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExOTM3Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMjc0NicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTM1NTYnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0MzY2Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNTE4MScsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTVmODUnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2ZDk1Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxN2JhNCcsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTg5YjUnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5N2M0Jywgdj0nNTAuMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhNWQ1Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYjNlNicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWMxZjYnLCB2PSc1MC4xJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWQwMDUnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkZTE1Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZWMyNScsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWZhMzYnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwODQ1Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMTY1NicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjI0NjUnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzMjc2Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNDA4NicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjRlOTknLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1Y2E3Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNmFiNycsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjc4YzYnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI4NmQ2Jywgdj0nNTAuMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI5NGU2Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyYTMwMScsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMmIxMDUnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzJiZjE1Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyY2QyNScsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMmRiMzUnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzJlOTQ2Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyZjc1NScsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMzA1NjYnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzMxMzc1Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczMjE5ZScsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMzJmOTYnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzMzZGE2Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczNGJiNicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMzU5ZGUnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzM2N2Q2Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczNzVlNicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMzg0MGUnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzM5MjFlJywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczYTAxNicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nM2FlMjcnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzNiYzM2Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczY2E0NycsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nM2Q4NTYnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzNlNjY3Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczZjQ4MScsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNDAyODUnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzQxMDk1Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0MWVhNScsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNDJjYjUnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzQzYWM1Jywgdj0nNDkuOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzQ0OGQ1Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0NTZlNicsIHY9JzQ5LjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0NjRmNScsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNDgwZmYnLCB2PSc0OS45JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNDhmMGUnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzQ5ZDFkJywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0YWI0NicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNGI5NTUnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzRjNzY5Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0ZDU3NycsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNGUzODcnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzRmMTk2Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0ZmZhNicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNTBkZDAnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzUxYmM2Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1MjlkNicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNTM3ZTcnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzU0NjAwJywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1NTQwNicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNTYyMTUnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzU3MDI2Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1N2UzNicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNThjNDYnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzU5YTcwJywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1YTg2NycsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNWI2NzYnLCB2PSc0OS45JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNWM0ODcnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzVkMjk2Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1ZTBhOScsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNWVlYjgnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzVmY2M2Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2MGFkNycsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNjE4ZTcnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzYyNmY3Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2MzUwNycsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNjQzMTcnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzY1MTI3Jywgdj0nNTAuMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzY1ZjM3Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2NmQ0NicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNjdiNTcnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzY4OTY3Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2OTc4MicsIHY9JzUwLjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2YTU4NicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNmIzOTUnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzZjMWE2Jywgdj0nNDkuOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzZjZmI1Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2ZGRjNicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNmViZDYnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzZmOWU2Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3MDdmNicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNzE2MDcnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzcyNDE3Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3MzIyNycsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNzQwMzcnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzc0ZTQ3Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3NWM1NycsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNzZhNjMnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzc3ODczJywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3ODY4MCcsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNzk0OGYnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzdhMjlmJywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3YjBhZicsIHY9JzUwLjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3YmViZicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nN2NjY2YnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzdkYWRmJywgdj0nNDkuOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzdlOGZhJywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3ZjcwYScsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nODA1MWEnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzgxMzJhJywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4MjEzYScsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nODJmNGEnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzgzZDVhJywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4NGI2YScsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nODU5N2EnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzg2NzhiJywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4NzU5YicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nODgzYWMnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzg5MWJiJywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4OWZjYScsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOGFkZGEnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzhiYmViJywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4YzlmYycsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOGQ4MGInLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzhlNjFhJywgdj0nNTAuMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzhmNDJhJywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5MDIzYScsIHY9JzUwLjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5MTA0YScsIHY9JzQ5LjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5MWU1YScsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOTJjNmEnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzkzYTg0Jywgdj0nNDkuOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzk0ODg1Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5NTY5NCcsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOTY0YTUnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzk3MmI0Jywgdj0nNDkuOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzk4MGM1Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5OGVkNCcsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOTljZTUnLCB2PSc0OS45JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOWFhZjUnLCB2PSc1MC4xJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOWI5MDYnLCB2PSc1MC4xJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOWM3MTYnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzlkNTI2Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5ZTMzNicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOWYxNDUnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzlmZjU2Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhMGQ2NScsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYTFiNzcnLCB2PSc0OS45JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYTI5ODYnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2EzNzk1Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhNDVhNycsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYTUzYjYnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2E2MWM3Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhNmZkNicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYTdlMDAnLCB2PSc1MC4xJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYThjMDAnLCB2PSc0OS45JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYTlhMDUnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2FhODE1Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhYjYyNScsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYWM0MzUnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2FkMjQ1Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhZTA1NScsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYWVlNjUnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2FmYzc1Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiMGE4NScsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYjI2YTYnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2IzNGI2Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiNDJjNicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYjUwZDYnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2I1ZWU3Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiNmNmNicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYjdiMDcnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2I4OTE3Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiOTcyOCcsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYmE1MzcnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2JiMzQ3Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiYzE1NycsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYmNmNjcnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2JkZDgxJywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiZWI4NicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYmY5OTUnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2MwN2E2Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjMTViNScsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYzIzYzYnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2MzMWQ1Jywgdj0nNDkuOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2MzZmU2Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjNGRmNScsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYzVjMDYnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2M2YTE2Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjNzgyNicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYzg2MzYnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2M5NDQ2Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjYTI1NicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nY2IwNjYnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2NiZTc2Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjY2M4NycsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nY2RhOTYnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2NlOGE4Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjZjZiNycsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZDA0YzgnLCB2PSc0OS45JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZDEyZDcnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2QyMGU3Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkMmYwMicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZDNkMDUnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2Q0YjE1Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkNTkyNicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZDY3MzUnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2Q3NTQ2Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkODM1NScsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZDkxNjYnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2Q5Zjc1Jywgdj0nNTAuMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2RhZDg3Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkYmI5NycsIHY9JzQ5LjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkYzlhOCcsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZGQ3YjcnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2RlNWM2Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkZjNkNycsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZTAxZDcnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2UwZmU1Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlMWRmNScsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZTJjMDQnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2UzYTE0Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlNDgyNCcsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZTU2MzQnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2U2NDQ0Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlNzI1NScsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZTgwNmYnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2U4ZTdmJywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlOWM4ZScsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZWFhOWYnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2ViOGFlJywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlYzZiZicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZWQ0Y2UnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2VlMmRmJywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlZjBlZicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZWZmMDEnLCB2PSc1MC4xJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZjBkMTAnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2YxYjIwJywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmMjkzMCcsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZjM3NDAnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2Y0NTUxJywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmNTM2MScsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZjYxNzInLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2Y2ZjgwJywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmN2Q5MScsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZjhiYTEnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2Y5OWIxJywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmYTdjMCcsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZmI1ZDEnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2ZjM2UwJywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmZDFmYicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZmUwMGInLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2ZlZTFjJywgdj0nNTAuMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2ZmYzJjJywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMDBhM2InLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEwMTg0YycsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTAyNjViJywgdj0nNDkuOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEwMzQ2YycsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTA0MjdiJywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMDUwOGQnLCB2PSc0OS45JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTA1ZTlkJywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMDZjYWQnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEwN2FiZCcsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTA4OGNkJywgdj0nNDkuOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEwOTZkZScsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTBhNGVkJywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMGIyZmUnLCB2PSc0OS45JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTBjMTBkJywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMGNmMWUnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEwZGQyZScsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTBlYjY2Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMGY5NGUnLCB2PSc0OS45JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTEwNzVlJywgdj0nNTAuMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExMTU2ZCcsIHY9JzUwLjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMTIzODgnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExMzE4NycsIHY9JzQ5LjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMTNmYjAnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExNGRhNicsIHY9JzQ5LjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMTViYjYnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExNjljNicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTE3N2Q2Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMTg1ZTgnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExOTNmNycsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTFhMjA4Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMWIwMTcnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExYmUyZicsIHY9JzUwLjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMWNjMzcnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExZGE0NycsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTFlODU3Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMWY2NjcnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyMDU3OCcsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTIxMzg2Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMjIxOTYnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyMmZhNicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTIzZGI1Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMjRiYzUnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyNTlkNScsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTI2N2U0Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMjc2MDAnLCB2PSc0OS45JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTI4MzA1Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMjkxMTUnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyOWYyNScsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTJhZDM1Jywgdj0nNDkuOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyYmI0NScsIHY9JzQ5LjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMmM5NTQnLCB2PSc0OS45JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTJkNzY2Jywgdj0nNDkuOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyZTU3NScsIHY9JzUwLjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMmYzODYnLCB2PSc1MC4xJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTMwMTk2Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMzBmYTYnLCB2PSc1MC4xJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTMxZGI3Jywgdj0nNDkuOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzMmJjNScsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTMzOWQ0Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMzQ3ZTUnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzNTVmNCcsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTM2NDA0Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMzcyMTQnLCB2PSc1MC4xJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTM4MDI0Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMzhlMzMnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzOWM0NCcsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTNhYTU0Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxM2I4NjUnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzYzY3ZScsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTNkNDhlJywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxM2UyOWUnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzZjBhZScsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTNmZWJmJywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNDBjY2YnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0MWFkZicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTQyOGVmJywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNDM2ZmYnLCB2PSc0OS45JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTQ0NTBmJywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNDUzMWYnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0NjEzMCcsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTQ2ZjQwJywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNDdkNDQnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0OGI1NycsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTQ5OTY1Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNGE3NzUnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0YjU4NCcsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTRjMzk3Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNGQxYTQnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0ZGZiNicsIHY9JzQ5LjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNGVkYzUnLCB2PSc1MC4xJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTRmYmQ1Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNTA5ZTUnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1MTdmZicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTUyNjA1Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNTM0MTUnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1NDIyNScsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTU1MDM1Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNTVlNDUnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1NmM1NScsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTU3YTY1Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNTg4NzUnLCB2PSc0OS45JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTU5Njg2Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNWE0OTUnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1YjJhNicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTVjMGI2Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNWNlYzYnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1ZGNkNScsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTVlYWU2Jywgdj0nNDkuOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1ZjhmNScsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTYwNzA2Jywgdj0nNDkuOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2MTUxNycsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTYyMzI2Jywgdj0nNDkuOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2MzEzNycsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTYzZjQ2Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNjRkNTcnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2NWI2NycsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTY2OTgyJywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNjc3ODYnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2ODU5NicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTY5M2E2Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNmExYjUnLCB2PSc0OS45JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTZhZmM2Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNmJkZDUnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2Y2JlNicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTZkOWY2Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNmU4MDcnLCB2PSc0OS45JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTZmNjE2Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNzA0MjknLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3MTIzNicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTcyMDQ3Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNzJlNTcnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3M2M2NycsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTc0YTc3Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNzU4ODcnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3NjY5NCcsIHY9JzQ5LjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNzc0YTMnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3ODJiMycsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTc5MGM1Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNzllZDQnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3YWNlNCcsIHY9JzUwLjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxN2JhZmQnLCB2PSc1MC4xJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTdjOTBmJywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxN2Q3MWUnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3ZTUyZicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTdmMzNmJywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxODAxNGYnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4MGY1ZicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTgxZDZlJywgdj0nNTAuMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4MmI3ZicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTgzOThmJywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxODQ3YTEnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4NTVhZicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTg2M2MwJywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxODcxY2YnLCB2PSc0OS45JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTg3ZmUwJywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxODhkZWYnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4OWMwMCcsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMThiODBkJywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOGM2MWMnLCB2PSc0OS45JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMThkNDJjJywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOGUyM2InLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4ZjA0YicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMThmZTVlJywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOTBjNzYnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5MWE4NicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTkyODk2Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOTM2YTYnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5NDRiNycsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTk1MmM2Jywgdj0nNDkuOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5NjBkNycsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTk2ZWU2Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOTdjZjgnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5OGIwZicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTk5OTFmJywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOWI1NDEnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5YzM0ZCcsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTlkMTVlJywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOWRmODAnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5ZWQ5MCcsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTllZWJlJywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOWZiOGUnLCB2PSc0OS45JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWEwOWEwJywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYTE3YWUnLCB2PSc0OS45JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWEyNWJlJywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYTMzY2QnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhNDFkZCcsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWE0ZmVkJywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYTVlMDgnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhNmMwNScsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWE3YTE1Jywgdj0nNTAuMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhODgyNicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWE5NjM3Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYWE0NDUnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhYjI1NScsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWFjMDY1Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYWNlNzUnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhZGM4NycsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWFlYTk2Jywgdj0nNDkuOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhZjhhNycsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWIwNmI3Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYjE0YzYnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFjNzQ2MCcsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWM4MjcwJywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYzkwN2UnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFjOWU4ZicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWNhY2EyJywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxY2JhYjEnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFjYzhjMScsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWNkNmQwJywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxY2U0ZGUnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFjZjJmMCcsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWQwMTA5Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZDBmMDYnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkMWQxNScsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWQyYjI1Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZDM5MzUnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkNDc0NScsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWQ1NTU1Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZDYzNjYnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkNzE3NScsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWQ3Zjg2Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZDhkOTUnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkOWJhNicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWRhOWI2Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZGI3YzcnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkYzVkNScsIHY9JzQ5LjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZGQzZTYnLCB2PSc0OS45JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWRlMWY1Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZGYwMDYnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkZmUxNicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWUwYzI2Jywgdj0nNDkuOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlMWEzNicsIHY9JzQ5LjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZTI4NDcnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlMzY1OScsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWU0NDY3Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZTUyODEnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlNjA4NicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWU2ZTk2Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZTdjYTYnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlOGFiNScsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWU5OGM2Jywgdj0nNDkuOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlYTZkNScsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWViNGU2Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZWMyZjYnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlZDEwNicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWVkZjE2Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZWVkMjYnLCB2PSc0OS45JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWVmYjM2Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZjA5NDYnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmMTc1NicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWYyNTY2Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZjMzNzYnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmNDE4NycsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWY0Zjk2Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZjVkYTcnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmNmJiNicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWY3OWM3Jywgdj0nNTAuMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmODdkNicsIHY9JzUwLjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZjk1ZTcnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmYTQwMScsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWZiMjA0Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZmMwMTYnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmY2UyNScsIHY9JzQ5LjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZmRjMzUnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmZWE0NScsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWZmODU1Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMDA2NjUnLCB2PSc0OS45JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjAxNDc1Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMDIyODYnLCB2PSc0OS45JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjAzMDk1Jywgdj0nNDkuOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwM2VhNScsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjA0Y2I2Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMDVhYzYnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwNjhkNicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjA3NmU2Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMDg0ZjYnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwOTMwNicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjBhMTE2Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMGFmMjYnLCB2PSc0OS45JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjBiZDM3Jywgdj0nNDkuOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwY2I0NicsIHY9JzQ5LjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMGQ5NTcnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwZTc2NycsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjBmNTgxJywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMTAzODYnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxMTE5NCcsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjExZmE1Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMTJkYjUnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxM2JjNScsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjE0OWQ2Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMTU3ZTUnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxNjVmNicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjE3NDA2Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMTgyMTcnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxOTAyNicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjE5ZTM5Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMWFjNDYnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxYmE1NycsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjFjODY3Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMWQ2NzcnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxZTQ4NycsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjFmMjk2Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMjAwYTYnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyMGViNycsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjIxY2M2Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMjJhZDcnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyMzhlNycsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjI0NzAxJywgdj0nNDkuOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyNTUwNScsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjI2MzE1Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMjcxMjUnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyN2YzNScsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjI4ZDQ1Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMjliNTQnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyYTk2NScsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjJiNzc2Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMmM1ODYnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyZDM5NycsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjJlMWE2Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMmVmYjYnLCB2PSc1MC4xJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjJmZGM3Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzBiZDcnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzMTllNicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjMyN2Y2Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzM2MWInLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzNDQxNicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjM1MjI2Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzYwMzcnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzNmU0NicsIHY9JzQ5LjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzdjNTcnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzOGE2NicsIHY9JzUwLjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzk4ODEnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzYTY4NScsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjNiNDk1Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyM2MyYTQnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzZDBiNScsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjNkZWM0Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyM2VjZDUnLCB2PSc0OS45JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjNmYWU0Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNDA4ZjYnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0MTcwNicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjQyNTE4Jywgdj0nNDkuOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0MzMyNScsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjQ0MTM3Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNDRmNDYnLCB2PSc1MC4xJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjQ2YjY2Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNDc5NzYnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0ODc4NicsIHY9JzQ5LjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNDk1N2UnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0YTM4ZicsIHY9JzQ5LjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNGIxOWMnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0YmZhYycsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjRjZGJjJywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNGRiY2QnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0ZTllNScsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjRmODA4Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNTA2MTYnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1MTQyNicsIHY9JzQ5LjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNTIyMzYnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1MzA0NycsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjUzZTU2Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNTRjNjcnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1NWE3NicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjU2ODg3Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNTc2OTcnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1ODRhOCcsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjU5MmI2Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNWEwYzcnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1YWVkNycsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjViY2U3Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNWNhZjgnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1ZDkwNycsIHY9JzQ5LjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNWU3MTgnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1ZjUyNycsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjYwMzM4Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNjExNDknLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2MWY1OScsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjYyZDY4Jywgdj0nNTAuMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2M2I4MycsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjY0OTg2Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNjU3OTUnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2NjVhNicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjY3M2I1Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNjgxYzYnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2OGZkNScsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjY5ZGU2Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNmFiZjYnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2YmEwNicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjZjODE3Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNmQ2MmInLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2ZTQzNicsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjZmMjQ3Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNzAwNTcnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI3MGU2NycsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjcxYzc3Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNzJhODcnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI3Mzg5NycsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjc0NmE4Jywgdj0nNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNzU0YjknLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI3NjJjNycsIHY9JzQ5LjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNzcwZDgnLCB2PSc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI3N2VlNycsIHY9JzUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCSwgNSkKK1NBWC5lbmRFbGVtZW50KHBhcikKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCSwgNSkKK1NBWC5zdGFydEVsZW1lbnQocGFyLCBtZW1pbmQ9Jzg2MTInLCBoPSczZGMxYThkZScpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzAnLCB2PScyNS4wNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2UwOCcsIHY9JzI0LjA2NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFjMzInLCB2PScyMy40MzgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyYTNjJywgdj0nMjMuMjQ1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMzgzNScsIHY9JzIyLjc4NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzQ2NDUnLCB2PScyMi43NDYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1NDU1Jywgdj0nMjYuMjk3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNjI2NScsIHY9JzI4Ljg3OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzcwNzUnLCB2PSczNC40NTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3ZTg1Jywgdj0nNDAuMDE3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOGM5NicsIHY9JzQwLjU3MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzlhYTUnLCB2PSczOC42ODInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhOGI2Jywgdj0nMzUuODY5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYjZjNScsIHY9JzM0LjEyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYzRkNycsIHY9JzAuMDM1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZDMwYicsIHY9JzAuMDM2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZTBmNicsIHY9JzAuMDM1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZWYwNicsIHY9JzAuMDM3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZmQxNycsIHY9JzAuMDM4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTBiMjcnLCB2PScwLjAzNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExOTM3Jywgdj0nMC4wMzcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMjc0NicsIHY9JzAuMDM2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTM1NTYnLCB2PScwLjAzNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0MzY2Jywgdj0nMC4wMzYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNTE4MScsIHY9JzAuMDM3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTVmODUnLCB2PScwLjAzNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2ZDk1Jywgdj0nMC4wMzYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxN2JhNCcsIHY9JzAuMDM1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTg5YjUnLCB2PScwLjAzOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5N2M0Jywgdj0nMC4wMzYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYTVkNScsIHY9JzAuMDM3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWIzZTYnLCB2PScwLjAzNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFjMWY2Jywgdj0nMC4wMzcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZDAwNScsIHY9JzAuMDM1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWRlMTUnLCB2PScwLjAzMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlYzI1Jywgdj0nMC4wMzUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZmEzNicsIHY9JzAuMDM1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjA4NDUnLCB2PScwLjAzNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxNjU2Jywgdj0nMC4wMzUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMjQ2NScsIHY9JzAuMDM3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjMyNzYnLCB2PScwLjAzNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0MDg2Jywgdj0nMC4wMzQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNGU5OScsIHY9JzAuMDM1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjVjYTcnLCB2PScwLjAzNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2YWI3Jywgdj0nMC4wMzUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNzhjNicsIHY9JzAuMDM2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjg2ZDYnLCB2PScwLjAzNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI5NGU2Jywgdj0nMC4wMzQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyYTMwMScsIHY9JzAuMDM2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMmIxMDUnLCB2PScwLjAzNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzJiZjE1Jywgdj0nMC4wMzQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyY2QyNScsIHY9JzAuMDM2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMmRiMzUnLCB2PScwLjAzNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzJlOTQ2Jywgdj0nMC4wMzMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyZjc1NScsIHY9JzAuMDM0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMzA1NjYnLCB2PScwLjAzNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzMxMzc1Jywgdj0nMC4wMzUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczMjE5ZScsIHY9JzAuMDM1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMzJmOTYnLCB2PScwLjAzNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzMzZGE2Jywgdj0nMC4wMzUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczNGJiNicsIHY9JzAuMDM1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMzU5ZGUnLCB2PScwLjAzMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzM2N2Q2Jywgdj0nMC4wMzUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczNzVlNicsIHY9JzAuMDM0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMzg0MGUnLCB2PScwLjAzMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzM5MjFlJywgdj0nMC4wMzUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczYTAxNicsIHY9JzAuMDM1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nM2FlMjcnLCB2PScwLjAzNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzNiYzM2Jywgdj0nMC4wMzUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczY2E0NycsIHY9JzAuMDM1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nM2Q4NTYnLCB2PScwLjAzNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzNlNjY3Jywgdj0nMC4wMzUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczZjQ4MScsIHY9JzAuMDM3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNDAyODUnLCB2PScwLjAzNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzQxMDk1Jywgdj0nMC4wMzUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0MWVhNScsIHY9JzAuMDM1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNDJjYjUnLCB2PScwLjAzNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzQzYWM1Jywgdj0nMC4wMzYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0NDhkNScsIHY9JzAuMDM4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNDU2ZTYnLCB2PScwLjAzNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzQ2NGY1Jywgdj0nMC4wMzknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0ODBmZicsIHY9JzAuMDM2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNDhmMGUnLCB2PScwLjAzNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzQ5ZDFkJywgdj0nMC4wMzgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0YWI0NicsIHY9JzAuMDM2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNGI5NTUnLCB2PScwLjAzNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzRjNzY5Jywgdj0nMC4wMzYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0ZDU3NycsIHY9JzAuMDM2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNGUzODcnLCB2PScwLjAzNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzRmMTk2Jywgdj0nMC4wMzYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0ZmZhNicsIHY9JzAuMDM2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNTBkZDAnLCB2PScwLjAzOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzUxYmM2Jywgdj0nMC4wMzYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1MjlkNicsIHY9JzAuMDM2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNTM3ZTcnLCB2PScwLjAzNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzU0NjAwJywgdj0nMC4wMzYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1NTQwNicsIHY9JzAuMDM0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNTYyMTUnLCB2PScwLjAzNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzU3MDI2Jywgdj0nMC4wMzQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1N2UzNicsIHY9JzAuMDM2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNThjNDYnLCB2PScwLjAzNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzU5YTcwJywgdj0nMC4wNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzVhODY3Jywgdj0nMC4wMzQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1YjY3NicsIHY9JzAuMDM1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNWM0ODcnLCB2PScwLjAzNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzVkMjk2Jywgdj0nMC4wMzcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1ZTBhOScsIHY9JzAuMDM2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNWVlYjgnLCB2PScwLjAzOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzVmY2M2Jywgdj0nMC4wMzYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2MGFkNycsIHY9JzAuMDM1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNjE4ZTcnLCB2PScwLjAzNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzYyNmY3Jywgdj0nMC4wMzUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2MzUwNycsIHY9JzAuMDM2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNjQzMTcnLCB2PScwLjAzNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzY1MTI3Jywgdj0nMC4wMzknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2NWYzNycsIHY9JzAuMDM3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNjZkNDYnLCB2PScwLjAzNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzY3YjU3Jywgdj0nMC4wMzYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2ODk2NycsIHY9JzAuMDM1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNjk3ODInLCB2PScwLjAzNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzZhNTg2Jywgdj0nMC4wMzcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2YjM5NScsIHY9JzAuMDM1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNmMxYTYnLCB2PScwLjAzNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzZjZmI1Jywgdj0nMC4wMzUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2ZGRjNicsIHY9JzAuMDMzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNmViZDYnLCB2PScwLjAzMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzZmOWU2Jywgdj0nMC4wMzUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3MDdmNicsIHY9JzAuMDM1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNzE2MDcnLCB2PScwLjAzNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzcyNDE3Jywgdj0nMC4wMzcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3MzIyNycsIHY9JzAuMDM3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNzQwMzcnLCB2PScwLjAzNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzc0ZTQ3Jywgdj0nMC4wMzcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3NWM1NycsIHY9JzAuMDQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3NmE2MycsIHY9JzAuMDM2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNzc4NzMnLCB2PScwLjAzNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzc4NjgwJywgdj0nMC4wMzcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3OTQ4ZicsIHY9JzAuMDM2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nN2EyOWYnLCB2PScwLjAzNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzdiMGFmJywgdj0nMC4wMzYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3YmViZicsIHY9JzAuMDM2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nN2NjY2YnLCB2PScwLjAzNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzdkYWRmJywgdj0nMC4wMzYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3ZThmYScsIHY9JzAuMDM1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nN2Y3MGEnLCB2PScwLjAzNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzgwNTFhJywgdj0nMC4wMzYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4MTMyYScsIHY9JzAuMDM0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nODIxM2EnLCB2PScwLjAzNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzgyZjRhJywgdj0nMC4wMzYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4M2Q1YScsIHY9JzAuMDM1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nODRiNmEnLCB2PScwLjAzNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzg1OTdhJywgdj0nMC4wMzUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4Njc4YicsIHY9JzAuMDM2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nODc1OWInLCB2PScwLjAzNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzg4M2FjJywgdj0nMC4wMzcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4OTFiYicsIHY9JzAuMDM3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nODlmY2EnLCB2PScwLjAzNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzhhZGRhJywgdj0nMC4wMzUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4YmJlYicsIHY9JzAuMDM1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOGM5ZmMnLCB2PScwLjAzNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzhkODBiJywgdj0nMC4wMzQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4ZTYxYScsIHY9JzAuMDM1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOGY0MmEnLCB2PScwLjAzNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzkwMjNhJywgdj0nMC4wMzYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5MTA0YScsIHY9JzAuMDM1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOTFlNWEnLCB2PScwLjAzNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzkyYzZhJywgdj0nMC4wMzQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5M2E4NCcsIHY9JzAuMDM1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOTQ4ODUnLCB2PScwLjAzNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzk1Njk0Jywgdj0nMC4wMzQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5NjRhNScsIHY9JzAuMDM0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOTcyYjQnLCB2PScwLjAzNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzk4MGM1Jywgdj0nMC4wMzQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5OGVkNCcsIHY9JzAuMDM1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOTljZTUnLCB2PScwLjAzNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzlhYWY1Jywgdj0nMC4wMzQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5YjkwNicsIHY9JzAuMDM2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOWM3MTYnLCB2PScwLjAzNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzlkNTI2Jywgdj0nMC4wMzUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5ZTMzNicsIHY9JzAuMDM1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOWYxNDUnLCB2PScwLjAzNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzlmZjU2Jywgdj0nMC4wMzUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhMGQ2NScsIHY9JzAuMDM2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYTFiNzcnLCB2PSczNi4xMTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhMjk4NicsIHY9JzE3LjYxMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2EzNzk1Jywgdj0nOC4zNTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhNDVhNycsIHY9JzUuOTU3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYTUzYjYnLCB2PSc3LjEzNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2E2MWM3Jywgdj0nOC42NDYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhNmZkNicsIHY9JzYuNDI5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYTdlMDAnLCB2PScxMC4yMzUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhOGMwMCcsIHY9JzE0LjAyNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2E5YTA1Jywgdj0nMy41NDknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhYTgxNScsIHY9JzMuOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2FiNjI1Jywgdj0nNi4wOTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhYzQzNScsIHY9JzUuMjA0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYWQyNDUnLCB2PSc3LjUyNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2FlMDU1Jywgdj0nMTEuMzknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhZWU2NScsIHY9JzAuOTU0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYWZjNzUnLCB2PSc1Ljc3MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2IwYTg1Jywgdj0nMjEuMDE5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYjI2YTYnLCB2PScyMi42MzYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiMzRiNicsIHY9JzE5LjMxNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2I0MmM2Jywgdj0nMS4yNjUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiNTBkNicsIHY9JzMuMTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiNWVlNycsIHY9JzYuMDkxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYjZjZjYnLCB2PSc3LjI3MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2I3YjA3Jywgdj0nOS4zNzMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiODkxNycsIHY9JzcuNzExJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYjk3MjgnLCB2PSc4LjE4MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2JhNTM3Jywgdj0nOS44NDMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiYjM0NycsIHY9JzUuMjUxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYmMxNTcnLCB2PScyLjY0NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2JjZjY3Jywgdj0nNy4xNzUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiZGQ4MScsIHY9JzE5LjY5NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2JlYjg2Jywgdj0nNC43MDMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiZjk5NScsIHY9JzUuMDE3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYzA3YTYnLCB2PSc1LjAyOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2MxNWI1Jywgdj0nNC40MDYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjMjNjNicsIHY9JzUuMTY0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYzMxZDUnLCB2PScxMC45NTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjM2ZlNicsIHY9JzUuMDk2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYzRkZjUnLCB2PScxMC4wMzInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjNWMwNicsIHY9JzQuMDg0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYzZhMTYnLCB2PSc1LjIyMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2M3ODI2Jywgdj0nNi42MjInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjODYzNicsIHY9JzIuNTcxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYzk0NDYnLCB2PSczLjc2NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2NhMjU2Jywgdj0nMi45MjUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjYjA2NicsIHY9JzQuMjM5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nY2JlNzYnLCB2PScyLjQ0MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2NjYzg3Jywgdj0nMTAuNjUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nY2RhOTYnLCB2PScxNS4wNDUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjZThhOCcsIHY9JzEwLjQ5NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2NmNmI3Jywgdj0nMTQuMjQzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZDA0YzgnLCB2PScxMS4zMTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkMTJkNycsIHY9JzcuMjYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkMjBlNycsIHY9JzMuMjc4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZDJmMDInLCB2PScxMi43NjgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkM2QwNScsIHY9JzguODYzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZDRiMTUnLCB2PSc4LjQyMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2Q1OTI2Jywgdj0nNy41MDMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkNjczNScsIHY9JzcuODAzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZDc1NDYnLCB2PScxMC45MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2Q4MzU1Jywgdj0nNS43NDMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkOTE2NicsIHY9JzIuMDgyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZDlmNzUnLCB2PSc3Ljc1MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2RhZDg3Jywgdj0nMTYuNzg1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZGJiOTcnLCB2PScxOC40NjcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkYzlhOCcsIHY9JzE4LjgwMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2RkN2I3Jywgdj0nMTYuMDA4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZGU1YzYnLCB2PScxMy42MjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkZjNkNycsIHY9JzE0LjQ3OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2UwMWQ3Jywgdj0nMTQuOTI3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZTBmZTUnLCB2PScxNC4zNDknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlMWRmNScsIHY9JzE1LjUwMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2UyYzA0Jywgdj0nMjAuMDcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlM2ExNCcsIHY9JzIwLjAxMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2U0ODI0Jywgdj0nMTYuMzU3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZTU2MzQnLCB2PScxNy4wMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2U2NDQ0Jywgdj0nMTEuOTAxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZTcyNTUnLCB2PScxMC4xMzgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlODA2ZicsIHY9JzguNzMxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZThlN2YnLCB2PScxNC4zNTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlOWM4ZScsIHY9JzQuODYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlYWE5ZicsIHY9JzQuMTQ5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZWI4YWUnLCB2PSc2LjAxOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2VjNmJmJywgdj0nMTQuNjM1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZWQ0Y2UnLCB2PSc5Ljk4OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2VlMmRmJywgdj0nMTEuOTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlZjBlZicsIHY9JzE1LjQyMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2VmZjAxJywgdj0nMjIuNzQyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZjBkMTAnLCB2PScyMi40MjgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmMWIyMCcsIHY9JzI0LjExJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZjI5MzAnLCB2PScyMy4wNzYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmMzc0MCcsIHY9JzIzLjI0MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2Y0NTUxJywgdj0nMjQuMDE4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZjUzNjEnLCB2PScyNS45ODknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmNjE3MicsIHY9JzI0Ljc0OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2Y2ZjgwJywgdj0nMjUuMzIzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZjdkOTEnLCB2PScyMy4xMjInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmOGJhMScsIHY9JzE5LjQwMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2Y5OWIxJywgdj0nMTkuMjgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmYTdjMCcsIHY9JzE2LjEyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZmI1ZDEnLCB2PScxNi4yMjgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmYzNlMCcsIHY9JzE2LjY1NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2ZkMWZiJywgdj0nMTQuMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2ZlMDBiJywgdj0nMTQuMDU0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZmVlMWMnLCB2PSc5LjU1NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2ZmYzJjJywgdj0nOS4wNzInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMDBhM2InLCB2PSc4LjMzMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEwMTg0YycsIHY9JzkuNzcxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTAyNjViJywgdj0nMTQuMzM3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTAzNDZjJywgdj0nMTYuMDQ5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTA0MjdiJywgdj0nMTkuOTExJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTA1MDhkJywgdj0nMjMuMjM4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTA1ZTlkJywgdj0nMjMuMjEzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTA2Y2FkJywgdj0nMjUuMTc5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTA3YWJkJywgdj0nMjEuNTkxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTA4OGNkJywgdj0nMTkuNjY1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTA5NmRlJywgdj0nMjEuMDc5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTBhNGVkJywgdj0nMjEuMTA5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTBiMmZlJywgdj0nMjIuMzYzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTBjMTBkJywgdj0nMjUuMTcyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTBjZjFlJywgdj0nMjMuMjIzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTBkZDJlJywgdj0nMjAuOTEyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTBlYjY2Jywgdj0nMjIuMDE3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTBmOTRlJywgdj0nMTguNzI5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTEwNzVlJywgdj0nMTYuNzYxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTExNTZkJywgdj0nMTMuMTQ1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTEyMzg4Jywgdj0nMTMuOTEyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTEzMTg3Jywgdj0nOC43MTInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMTNmYjAnLCB2PSc4LjEwNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExNGRhNicsIHY9JzguMTk1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTE1YmI2Jywgdj0nOC4zMDEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMTY5YzYnLCB2PScxMC4xMTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMTc3ZDYnLCB2PScxNC4yMTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMTg1ZTgnLCB2PScxNS42MTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMTkzZjcnLCB2PScxOS4wOTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMWEyMDgnLCB2PScyMy45ODYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMWIwMTcnLCB2PScyMC45MTknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMWJlMmYnLCB2PScyNi4wNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExY2MzNycsIHY9JzIxLjQ5MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExZGE0NycsIHY9JzIxLjAwNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExZTg1NycsIHY9JzIyLjE0NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExZjY2NycsIHY9JzE5LjEyNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyMDU3OCcsIHY9JzAuMDE5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTIxMzg2Jywgdj0nMC4wMjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMjIxOTYnLCB2PScwLjAyMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyMmZhNicsIHY9JzAuMDE4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTIzZGI1Jywgdj0nMC4wMTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMjRiYzUnLCB2PScwLjAxNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyNTlkNScsIHY9JzAuMDExJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTI2N2U0Jywgdj0nMC4wMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyNzYwMCcsIHY9JzAuMDExJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTI4MzA1Jywgdj0nMC4wMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyOTExNScsIHY9JzAuMDEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMjlmMjUnLCB2PScwLjAxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTJhZDM1Jywgdj0nMC4wMDknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMmJiNDUnLCB2PScwLjAwNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyYzk1NCcsIHY9JzAuMDA5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTJkNzY2Jywgdj0nMC4wMTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMmU1NzUnLCB2PScwLjAxNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyZjM4NicsIHY9JzAuMDEyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTMwMTk2Jywgdj0nMC4wMTknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMzBmYTYnLCB2PScwLjAxNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzMWRiNycsIHY9JzAuMDE1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTMyYmM1Jywgdj0nMC4wMTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMzM5ZDQnLCB2PScwLjI3OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzNDdlNScsIHY9JzAuMDk2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTM1NWY0Jywgdj0nMC4xNDEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMzY0MDQnLCB2PScwLjIwNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzNzIxNCcsIHY9JzAuMjE4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTM4MDI0Jywgdj0nMC4yMTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMzhlMzMnLCB2PScwLjIxNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzOWM0NCcsIHY9JzAuMDc1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTNhYTU0Jywgdj0nMC4wNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzYjg2NScsIHY9JzAuMDM0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTNjNjdlJywgdj0nMC40NDknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxM2Q0OGUnLCB2PScwLjIxNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzZTI5ZScsIHY9JzAuMTY3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTNmMGFlJywgdj0nMC4xNTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxM2ZlYmYnLCB2PScwLjIzMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0MGNjZicsIHY9JzAuMzM5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTQxYWRmJywgdj0nMC4yMTInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNDI4ZWYnLCB2PScwLjA0NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0MzZmZicsIHY9JzAuMDMzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTQ0NTBmJywgdj0nMC4wMjUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNDUzMWYnLCB2PScwLjAyMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0NjEzMCcsIHY9JzAuMDU4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTQ2ZjQwJywgdj0nMC4xNDUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNDdkNDQnLCB2PScwLjA2NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0OGI1NycsIHY9JzAuMDgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNDk5NjUnLCB2PScwLjA2NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0YTc3NScsIHY9JzAuMTExJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTRiNTg0Jywgdj0nMC4wNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0YzM5NycsIHY9JzAuMjM5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTRkMWE0Jywgdj0nMC4yMDYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNGRmYjYnLCB2PScwLjE2MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0ZWRjNScsIHY9JzAuMDYzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTRmYmQ1Jywgdj0nMC4wMjcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNTA5ZTUnLCB2PScwLjA3NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1MTdmZicsIHY9JzAuMTUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTUyNjA1Jywgdj0nMC4xODEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNTM0MTUnLCB2PScwLjE0OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1NDIyNScsIHY9JzAuMTU3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTU1MDM1Jywgdj0nMC4xNjYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNTVlNDUnLCB2PScwLjIxNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1NmM1NScsIHY9JzAuMzA2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTU3YTY1Jywgdj0nMC4xNjgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNTg4NzUnLCB2PScwLjE0NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1OTY4NicsIHY9JzAuMjUyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTVhNDk1Jywgdj0nMC4yMTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNWIyYTYnLCB2PScwLjE5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTVjMGI2Jywgdj0nMC4xMTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNWNlYzYnLCB2PScwLjExNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1ZGNkNScsIHY9JzAuMTA3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTVlYWU2Jywgdj0nMC4xMTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNWY4ZjUnLCB2PScwLjMwMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2MDcwNicsIHY9JzAuMDMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNjE1MTcnLCB2PScwLjA2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTYyMzI2Jywgdj0nMC4wNDgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNjMxMzcnLCB2PScwLjA2OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2M2Y0NicsIHY9JzAuMDYzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTY0ZDU3Jywgdj0nMC4wMjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNjViNjcnLCB2PScwLjEwNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2Njk4MicsIHY9JzAuMDk2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTY3Nzg2Jywgdj0nMC4xNDInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNjg1OTYnLCB2PScwLjEwMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2OTNhNicsIHY9JzAuMDkyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTZhMWI1Jywgdj0nMC4wNzEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNmFmYzYnLCB2PScwLjA2NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2YmRkNScsIHY9JzAuMTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNmNiZTYnLCB2PScwLjIxMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2ZDlmNicsIHY9JzAuMDg5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTZlODA3Jywgdj0nMC42MDcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNmY2MTYnLCB2PScwLjY3NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3MDQyOScsIHY9JzAuNzIzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTcxMjM2Jywgdj0nMC40NzcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNzIwNDcnLCB2PScwLjQ3NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3MmU1NycsIHY9JzAuNDkxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTczYzY3Jywgdj0nMC40OTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNzRhNzcnLCB2PScwLjU3OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3NTg4NycsIHY9JzAuNjInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNzY2OTQnLCB2PSczNS43MTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNzc0YTMnLCB2PSczMy45NzMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNzgyYjMnLCB2PSczNS4yOTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNzkwYzUnLCB2PSczMi40MjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNzllZDQnLCB2PScyOC40MzMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxN2FjZTQnLCB2PScyOS4yNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3YmFmZCcsIHY9JzMwLjk0MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3YzkwZicsIHY9JzI4LjA1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTdkNzFlJywgdj0nMjcuNzkyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTdlNTJmJywgdj0nMjguMTAyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTdmMzNmJywgdj0nMjUuNTM0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTgwMTRmJywgdj0nMjUuMDIxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTgwZjVmJywgdj0nMzAuMDQ2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTgxZDZlJywgdj0nMzIuNzcyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTgyYjdmJywgdj0nMzguMTg2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTgzOThmJywgdj0nNjQuMzQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxODQ3YTEnLCB2PSc2My41ODInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxODU1YWYnLCB2PSc2MC44OTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxODYzYzAnLCB2PSc1Ny4xNjcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxODcxY2YnLCB2PSc1OS40MzYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxODdmZTAnLCB2PSc1Ni42NTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxODhkZWYnLCB2PSc2MC41OTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxODljMDAnLCB2PSc1Ni44MzYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOGI4MGQnLCB2PSczNy41ODEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOGM2MWMnLCB2PSc0MC4xJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMThkNDJjJywgdj0nMzguMjE0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMThlMjNiJywgdj0nMzIuMTc1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMThmMDRiJywgdj0nMzAuNjYyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMThmZTVlJywgdj0nMjYuOTMzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTkwYzc2Jywgdj0nMjEuMjY5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTkxYTg2Jywgdj0nMjEuNjQ2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTkyODk2Jywgdj0nMjEuMjQ0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTkzNmE2Jywgdj0nMjAuODU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTk0NGI3Jywgdj0nMTkuNTg4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTk1MmM2Jywgdj0nMjAuODA5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTk2MGQ3Jywgdj0nMjUuNjQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOTZlZTYnLCB2PScyOS4xNjYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOTdjZjgnLCB2PSczMS4yMzYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOThiMGYnLCB2PScyOC40MjQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOTk5MWYnLCB2PSczMi43MTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOWI1NDEnLCB2PSczMi4yMzEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOWMzNGQnLCB2PScyOS44MTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOWQxNWUnLCB2PScyOS4yMTknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOWRmODAnLCB2PScyOS44NjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOWVkOTAnLCB2PScyOS4wOTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOWVlYmUnLCB2PScyOS4wMDQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOWZiOGUnLCB2PScxMC40NDUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYTA5YTAnLCB2PScxOC4xNTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYTE3YWUnLCB2PScyMy43MTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYTI1YmUnLCB2PScyNS44NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhMzNjZCcsIHY9JzEzLjY5MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhNDFkZCcsIHY9JzE1LjYxOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhNGZlZCcsIHY9JzIyLjIzNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhNWUwOCcsIHY9JzIwLjUzMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhNmMwNScsIHY9JzE0LjgwNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhN2ExNScsIHY9JzE3Ljc4NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhODgyNicsIHY9JzE4LjIwNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhOTYzNycsIHY9JzE0Ljg2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWFhNDQ1Jywgdj0nMTEuMzE3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWFiMjU1Jywgdj0nNi40MDMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYWMwNjUnLCB2PScxMy4zODknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYWNlNzUnLCB2PScxOC4wOTQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYWRjODcnLCB2PScxNi42ODgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYWVhOTYnLCB2PScxNi4yNTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYWY4YTcnLCB2PScxNy45MDInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYjA2YjcnLCB2PScxNi44NjQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYjE0YzYnLCB2PScxNi4wNzYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYzc0NjAnLCB2PSc0LjMzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWM4MjcwJywgdj0nNC4zMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFjOTA3ZScsIHY9JzIxLjIyMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFjOWU4ZicsIHY9JzIwLjg2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWNhY2EyJywgdj0nMjIuOTAzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWNiYWIxJywgdj0nMjIuNjcyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWNjOGMxJywgdj0nMzQuNzExJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWNkNmQwJywgdj0nMzMuNzkyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWNlNGRlJywgdj0nMzIuNzE3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWNmMmYwJywgdj0nMzMuMDQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZDAxMDknLCB2PSczNC4wNDcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZDBmMDYnLCB2PSczNi41MzYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZDFkMTUnLCB2PSczNi42NzMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZDJiMjUnLCB2PSczNi43NTInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZDM5MzUnLCB2PSczNy45MzInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZDQ3NDUnLCB2PSczNy44NTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZDU1NTUnLCB2PSczNy4wMjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZDYzNjYnLCB2PSczMi44NDQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZDcxNzUnLCB2PSczMS45MTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZDdmODYnLCB2PSczMS4zNjMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZDhkOTUnLCB2PScxNS4zNDknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZDliYTYnLCB2PScxNy42MjMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZGE5YjYnLCB2PScxNy42NTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZGI3YzcnLCB2PScxNi41OTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZGM1ZDUnLCB2PScxNy42MjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZGQzZTYnLCB2PScxOC4wMTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZGUxZjUnLCB2PSczMi4zMzcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZGYwMDYnLCB2PSczNy4xMTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZGZlMTYnLCB2PSczNi44OTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZTBjMjYnLCB2PSczNy42NDYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZTFhMzYnLCB2PSczNy40NjUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZTI4NDcnLCB2PSczNS45NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlMzY1OScsIHY9JzM0LjIxNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlNDQ2NycsIHY9JzMxLjQ3MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlNTI4MScsIHY9JzI3LjkxMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlNjA4NicsIHY9JzI3Ljc3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWU2ZTk2Jywgdj0nMjcuMDkyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWU3Y2E2Jywgdj0nOS42NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlOGFiNScsIHY9JzguOTg5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWU5OGM2Jywgdj0nOC44NzEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZWE2ZDUnLCB2PScxMS41MjUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZWI0ZTYnLCB2PScxMS4zMTInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZWMyZjYnLCB2PScxMy4xNDUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZWQxMDYnLCB2PScxMi44NjYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZWRmMTYnLCB2PScxMy41MDMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZWVkMjYnLCB2PScxMi45NzcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZWZiMzYnLCB2PScxMi44NTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZjA5NDYnLCB2PScxMi4zMjInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZjE3NTYnLCB2PScxMS4yNDQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZjI1NjYnLCB2PScxMS4zNTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZjMzNzYnLCB2PScxMy45MDknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZjQxODcnLCB2PScyMC43NzgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZjRmOTYnLCB2PScxNy4zODQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZjVkYTcnLCB2PScxNy44ODInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZjZiYjYnLCB2PScxNy43NzknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZjc5YzcnLCB2PScxNS42MjgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZjg3ZDYnLCB2PScxOC43MTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZjk1ZTcnLCB2PScxOS42ODcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZmE0MDEnLCB2PScxNS44NTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZmIyMDQnLCB2PScxNC4yMzUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZmMwMTYnLCB2PScxNC4xMjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZmNlMjUnLCB2PScxMC40MTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZmRjMzUnLCB2PScxMC4xOTInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZmVhNDUnLCB2PScxMC4yNDcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZmY4NTUnLCB2PScxMi40MDknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMDA2NjUnLCB2PScxOC43ODInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMDE0NzUnLCB2PScxNy43MDknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMDIyODYnLCB2PScyNC40NjgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMDMwOTUnLCB2PScyNy44OTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMDNlYTUnLCB2PSczMS4xMzUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMDRjYjYnLCB2PScyOC4wNzMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMDVhYzYnLCB2PScyNi43ODEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMDY4ZDYnLCB2PScyNy45NTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMDc2ZTYnLCB2PSczMS44MzQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMDg0ZjYnLCB2PSczMC42ODQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMDkzMDYnLCB2PSczMy4yMzknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMGExMTYnLCB2PSczMS41OTInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMGFmMjYnLCB2PScyNy4wNTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMGJkMzcnLCB2PScyNi44OTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMGNiNDYnLCB2PScyMi44MzQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMGQ5NTcnLCB2PScyMS4xJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjBlNzY3Jywgdj0nMjAuNzIzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjBmNTgxJywgdj0nMjAuNDEyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjEwMzg2Jywgdj0nMTcuMTc4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjExMTk0Jywgdj0nMTQuODQ1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjExZmE1Jywgdj0nMTQuNDA0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjEyZGI1Jywgdj0nMTMuODk1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjEzYmM1Jywgdj0nMTQuMjkxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjE0OWQ2Jywgdj0nMTguMzc2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjE1N2U1Jywgdj0nMjIuNjgyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjE2NWY2Jywgdj0nMjkuMDU2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjE3NDA2Jywgdj0nMzAuOTg1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjE4MjE3Jywgdj0nMzEuMjQ0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjE5MDI2Jywgdj0nMzAuNTAxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjE5ZTM5Jywgdj0nMzAuNzU3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjFhYzQ2Jywgdj0nMjkuNzY2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjFiYTU3Jywgdj0nMjkuNjg2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjFjODY3Jywgdj0nMzAuNDcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMWQ2NzcnLCB2PSczMS4wNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxZTQ4NycsIHY9JzI4Ljk1OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxZjI5NicsIHY9JzI4LjQ3NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyMDBhNicsIHY9JzI3Ljc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyMGViNycsIHY9JzI2LjY3NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyMWNjNicsIHY9JzI0LjA3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjIyYWQ3Jywgdj0nMTguODg5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjIzOGU3Jywgdj0nMTcuNTU2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjI0NzAxJywgdj0nMTYuNDM0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjI1NTA1Jywgdj0nMTguNDcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMjYzMTUnLCB2PSc5LjgzNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyNzEyNScsIHY9JzkuNzMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMjdmMzUnLCB2PScxMi42NzInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMjhkNDUnLCB2PScxNy4yOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyOWI1NCcsIHY9JzE3LjE2MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyYTk2NScsIHY9JzE5LjM4OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyYjc3NicsIHY9JzIyLjc5MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyYzU4NicsIHY9JzI1Ljk3MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyZDM5NycsIHY9JzI4LjMwNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyZTFhNicsIHY9JzI4LjQ3NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyZWZiNicsIHY9JzIzLjUzMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyZmRjNycsIHY9JzIyLjYyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjMwYmQ3Jywgdj0nMjIuMTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzE5ZTYnLCB2PScyNy4xNTknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzI3ZjYnLCB2PScyNy43MDUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzM2MWInLCB2PScyOS43OTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzQ0MTYnLCB2PScyNy4zNDEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzUyMjYnLCB2PScyNS44ODcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzYwMzcnLCB2PScyNS44NDInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzZlNDYnLCB2PScyMy4yNjYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzdjNTcnLCB2PScyMS42NjQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzhhNjYnLCB2PScxOS40MzcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzk4ODEnLCB2PScxNS45MTInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyM2E2ODUnLCB2PScxNi4wMzcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyM2I0OTUnLCB2PScxNS42NzQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyM2MyYTQnLCB2PScxMy43MDUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyM2QwYjUnLCB2PScxNC4zMzEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyM2RlYzQnLCB2PScxNS43ODEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyM2VjZDUnLCB2PScxOC4xOTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyM2ZhZTQnLCB2PScyMi4xMTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNDA4ZjYnLCB2PScyNi4wNjYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNDE3MDYnLCB2PSczNC44MTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNDI1MTgnLCB2PSczNS45MTQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNDMzMjUnLCB2PSczNi43NzUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNDQxMzcnLCB2PSczNC4yNzcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNDRmNDYnLCB2PSczMi4wNTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNDZiNjYnLCB2PSczMy4wMDEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNDc5NzYnLCB2PSczMS42ODcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNDg3ODYnLCB2PSczNi44NTQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNDk1N2UnLCB2PSczMC40MjgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNGEzOGYnLCB2PScyOC4yNDYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNGIxOWMnLCB2PScyOC45ODQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNGJmYWMnLCB2PScyNy4xNzYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNGNkYmMnLCB2PScyNi40NTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNGRiY2QnLCB2PScyMS44OTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNGU5ZTUnLCB2PScyMC4wNzMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNGY4MDgnLCB2PScxNy4wODMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNTA2MTYnLCB2PScxNy45MjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNTE0MjYnLCB2PScxNy45NzInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNTIyMzYnLCB2PScxNi4xJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjUzMDQ3Jywgdj0nMTcuMzI0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjUzZTU2Jywgdj0nMjAuOTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNTRjNjcnLCB2PScyMS4yNjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNTVhNzYnLCB2PScyNS4wNDEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNTY4ODcnLCB2PSczMS4yNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1NzY5NycsIHY9JzMzLjcxMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1ODRhOCcsIHY9JzgyLjc0NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1OTJiNicsIHY9JzQ2Ljc0NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1YTBjNycsIHY9JzIyLjkwMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1YWVkNycsIHY9JzMxLjM0MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1YmNlNycsIHY9JzMwLjQzOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1Y2FmOCcsIHY9JzI4Ljg4MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1ZDkwNycsIHY9JzMwLjc5NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1ZTcxOCcsIHY9JzMxLjAxMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1ZjUyNycsIHY9JzI4LjA5OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2MDMzOCcsIHY9JzI3LjE3NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2MTE0OScsIHY9JzI0Ljk0MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2MWY1OScsIHY9JzIyLjgzNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2MmQ2OCcsIHY9JzIzLjIwOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2M2I4MycsIHY9JzE3LjU2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjY0OTg2Jywgdj0nMTcuNTU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjY1Nzk1Jywgdj0nMTguNzYxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjY2NWE2Jywgdj0nMjAuNjk4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjY3M2I1Jywgdj0nMTkuMzcyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjY4MWM2Jywgdj0nMTguNjQ0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjY4ZmQ1Jywgdj0nMTguNzkyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjY5ZGU2Jywgdj0nMTguOTUxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjZhYmY2Jywgdj0nMTguOTA3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjZiYTA2Jywgdj0nMjMuNDA5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjZjODE3Jywgdj0nMjMuNTExJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjZkNjJiJywgdj0nMjYuOTQxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjZlNDM2Jywgdj0nMjQuMDA4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjZmMjQ3Jywgdj0nMjMuMTQ3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjcwMDU3Jywgdj0nMjMuOTM1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjcwZTY3Jywgdj0nMjQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNzFjNzcnLCB2PScyMi44ODgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNzJhODcnLCB2PScyNi4yNDYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNzM4OTcnLCB2PScyNS45MDknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNzQ2YTgnLCB2PScyNS4xMDknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNzU0YjknLCB2PScyNC43MjUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNzYyYzcnLCB2PScyMy43NTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNzcwZDgnLCB2PScxOC44MzknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNzdlZTcnLCB2PScxNS4zNjInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJLCA1KQorU0FYLmVuZEVsZW1lbnQocGFyKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJLCA1KQorU0FYLnN0YXJ0RWxlbWVudChwYXIsIG1lbWluZD0nODYwOCcsIGg9JzNkYzFhOGRlJykKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlMDgnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWMzMicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyYTNjJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzM4MzUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNDY0NScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1NDU1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzYyNjUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNzA3NScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3ZTg1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzhjOTYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOWFhNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhOGI2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2I2YzUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYzRkNycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkMzBiJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2UwZjYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZWYwNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmZDE3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEwYjI3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExOTM3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyNzQ2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzNTU2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0MzY2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1MTgxJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1Zjg1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2ZDk1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3YmE0Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4OWI1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5N2M0Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhNWQ1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFiM2U2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFjMWY2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkMDA1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkZTE1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlYzI1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmYTM2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwODQ1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxNjU2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyNDY1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzMjc2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0MDg2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0ZTk5Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1Y2E3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2YWI3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI3OGM2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI4NmQ2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI5NGU2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzJhMzAxJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzJiMTA1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzJiZjE1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzJjZDI1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzJkYjM1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzJlOTQ2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzJmNzU1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzMwNTY2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzMxMzc1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzMyMTllJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzMyZjk2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzMzZGE2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzM0YmI2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzM1OWRlJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzM2N2Q2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzM3NWU2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzM4NDBlJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzM5MjFlJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzNhMDE2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzNhZTI3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzNiYzM2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzNjYTQ3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzNkODU2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzNlNjY3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzNmNDgxJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzQwMjg1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzQxMDk1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzQxZWE1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzQyY2I1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzQzYWM1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzQ0OGQ1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzQ1NmU2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzQ2NGY1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzQ4MGZmJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzQ4ZjBlJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzQ5ZDFkJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzRhYjQ2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzRiOTU1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzRjNzY5Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzRkNTc3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzRlMzg3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzRmMTk2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzRmZmE2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzUwZGQwJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzUxYmM2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzUyOWQ2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzUzN2U3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzU0NjAwJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzU1NDA2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzU2MjE1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzU3MDI2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzU3ZTM2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzU4YzQ2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzU5YTcwJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzVhODY3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzViNjc2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzVjNDg3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzVkMjk2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzVlMGE5Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzVlZWI4Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzVmY2M2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzYwYWQ3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzYxOGU3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzYyNmY3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzYzNTA3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzY0MzE3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzY1MTI3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzY1ZjM3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzY2ZDQ2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzY3YjU3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzY4OTY3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzY5NzgyJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzZhNTg2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzZiMzk1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzZjMWE2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzZjZmI1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzZkZGM2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzZlYmQ2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzZmOWU2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzcwN2Y2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzcxNjA3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzcyNDE3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzczMjI3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzc0MDM3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzc0ZTQ3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzc1YzU3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzc2YTYzJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzc3ODczJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzc4NjgwJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzc5NDhmJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzdhMjlmJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzdiMGFmJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzdiZWJmJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzdjY2NmJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzdkYWRmJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzdlOGZhJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzdmNzBhJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzgwNTFhJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzgxMzJhJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzgyMTNhJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzgyZjRhJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzgzZDVhJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzg0YjZhJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzg1OTdhJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzg2NzhiJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzg3NTliJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzg4M2FjJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzg5MWJiJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzg5ZmNhJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzhhZGRhJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzhiYmViJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzhjOWZjJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzhkODBiJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzhlNjFhJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzhmNDJhJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzkwMjNhJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzkxMDRhJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzkxZTVhJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzkyYzZhJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzkzYTg0Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzk0ODg1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzk1Njk0Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzk2NGE1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzk3MmI0Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzk4MGM1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzk4ZWQ0Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzk5Y2U1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzlhYWY1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzliOTA2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzljNzE2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzlkNTI2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzllMzM2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzlmMTQ1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzlmZjU2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2EwZDY1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2ExYjc3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2EyOTg2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2EzNzk1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2E0NWE3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2E1M2I2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2E2MWM3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2E2ZmQ2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2E3ZTAwJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2E4YzAwJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2E5YTA1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2FhODE1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2FiNjI1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2FjNDM1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2FkMjQ1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2FlMDU1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2FlZTY1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2FmYzc1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2IwYTg1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2IyNmE2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2IzNGI2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2I0MmM2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2I1MGQ2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2I1ZWU3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2I2Y2Y2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2I3YjA3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2I4OTE3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2I5NzI4Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2JhNTM3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2JiMzQ3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2JjMTU3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2JjZjY3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2JkZDgxJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2JlYjg2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2JmOTk1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2MwN2E2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2MxNWI1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2MyM2M2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2MzMWQ1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2MzZmU2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2M0ZGY1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2M1YzA2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2M2YTE2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2M3ODI2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2M4NjM2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2M5NDQ2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2NhMjU2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2NiMDY2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2NiZTc2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2NjYzg3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2NkYTk2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2NlOGE4Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2NmNmI3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2QwNGM4Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2QxMmQ3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2QyMGU3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2QyZjAyJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2QzZDA1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2Q0YjE1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2Q1OTI2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2Q2NzM1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2Q3NTQ2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2Q4MzU1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2Q5MTY2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2Q5Zjc1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2RhZDg3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2RiYjk3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2RjOWE4Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2RkN2I3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2RlNWM2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2RmM2Q3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2UwMWQ3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2UwZmU1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2UxZGY1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2UyYzA0Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2UzYTE0Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2U0ODI0Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2U1NjM0Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2U2NDQ0Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2U3MjU1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2U4MDZmJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2U4ZTdmJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2U5YzhlJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2VhYTlmJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2ViOGFlJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2VjNmJmJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2VkNGNlJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2VlMmRmJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2VmMGVmJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2VmZjAxJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2YwZDEwJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2YxYjIwJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2YyOTMwJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2YzNzQwJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2Y0NTUxJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2Y1MzYxJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2Y2MTcyJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2Y2ZjgwJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2Y3ZDkxJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2Y4YmExJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2Y5OWIxJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2ZhN2MwJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2ZiNWQxJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2ZjM2UwJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2ZkMWZiJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2ZlMDBiJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2ZlZTFjJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2ZmYzJjJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEwMGEzYicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMDE4NGMnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTAyNjViJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEwMzQ2YycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMDQyN2InLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTA1MDhkJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEwNWU5ZCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMDZjYWQnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTA3YWJkJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEwODhjZCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMDk2ZGUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTBhNGVkJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEwYjJmZScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMGMxMGQnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTBjZjFlJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEwZGQyZScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMGViNjYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTBmOTRlJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExMDc1ZScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMTE1NmQnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTEyMzg4Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExMzE4NycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMTNmYjAnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTE0ZGE2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExNWJiNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMTY5YzYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTE3N2Q2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExODVlOCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMTkzZjcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTFhMjA4Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExYjAxNycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMWJlMmYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTFjYzM3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExZGE0NycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMWU4NTcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTFmNjY3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyMDU3OCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMjEzODYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTIyMTk2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyMmZhNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMjNkYjUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTI0YmM1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyNTlkNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMjY3ZTQnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTI3NjAwJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyODMwNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMjkxMTUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTI5ZjI1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyYWQzNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMmJiNDUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTJjOTU0Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyZDc2NicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMmU1NzUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTJmMzg2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzMDE5NicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMzBmYTYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTMxZGI3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzMmJjNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMzM5ZDQnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTM0N2U1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzNTVmNCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMzY0MDQnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTM3MjE0Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzODAyNCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMzhlMzMnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTM5YzQ0Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzYWE1NCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxM2I4NjUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTNjNjdlJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzZDQ4ZScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxM2UyOWUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTNmMGFlJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzZmViZicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNDBjY2YnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTQxYWRmJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0MjhlZicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNDM2ZmYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTQ0NTBmJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0NTMxZicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNDYxMzAnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTQ2ZjQwJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0N2Q0NCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNDhiNTcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTQ5OTY1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0YTc3NScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNGI1ODQnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTRjMzk3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0ZDFhNCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNGRmYjYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTRlZGM1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0ZmJkNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNTA5ZTUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTUxN2ZmJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1MjYwNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNTM0MTUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTU0MjI1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1NTAzNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNTVlNDUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTU2YzU1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1N2E2NScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNTg4NzUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTU5Njg2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1YTQ5NScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNWIyYTYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTVjMGI2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1Y2VjNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNWRjZDUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTVlYWU2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1ZjhmNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNjA3MDYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTYxNTE3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2MjMyNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNjMxMzcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTYzZjQ2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2NGQ1NycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNjViNjcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTY2OTgyJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2Nzc4NicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNjg1OTYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTY5M2E2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2YTFiNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNmFmYzYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTZiZGQ1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2Y2JlNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNmQ5ZjYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTZlODA3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2ZjYxNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNzA0MjknLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTcxMjM2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3MjA0NycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNzJlNTcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTczYzY3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3NGE3NycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNzU4ODcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTc2Njk0Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3NzRhMycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNzgyYjMnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTc5MGM1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3OWVkNCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxN2FjZTQnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTdiYWZkJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3YzkwZicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxN2Q3MWUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTdlNTJmJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3ZjMzZicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxODAxNGYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTgwZjVmJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4MWQ2ZScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxODJiN2YnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTgzOThmJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4NDdhMScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxODU1YWYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTg2M2MwJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4NzFjZicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxODdmZTAnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTg4ZGVmJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4OWMwMCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOGI4MGQnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMThjNjFjJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4ZDQyYycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOGUyM2InLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMThmMDRiJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4ZmU1ZScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOTBjNzYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTkxYTg2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5Mjg5NicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOTM2YTYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTk0NGI3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5NTJjNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOTYwZDcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTk2ZWU2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5N2NmOCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOThiMGYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTk5OTFmJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5YjU0MScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOWMzNGQnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTlkMTVlJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5ZGY4MCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOWVkOTAnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTllZWJlJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5ZmI4ZScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYTA5YTAnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWExN2FlJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhMjViZScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYTMzY2QnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWE0MWRkJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhNGZlZCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYTVlMDgnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWE2YzA1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhN2ExNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYTg4MjYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWE5NjM3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhYTQ0NScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYWIyNTUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWFjMDY1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhY2U3NScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYWRjODcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWFlYTk2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhZjhhNycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYjA2YjcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWIxNGM2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFjNzQ2MCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYzgyNzAnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWM5MDdlJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFjOWU4ZicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxY2FjYTInLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWNiYWIxJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFjYzhjMScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxY2Q2ZDAnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWNlNGRlJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFjZjJmMCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZDAxMDknLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWQwZjA2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkMWQxNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZDJiMjUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWQzOTM1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkNDc0NScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZDU1NTUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWQ2MzY2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkNzE3NScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZDdmODYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWQ4ZDk1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkOWJhNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZGE5YjYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWRiN2M3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkYzVkNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZGQzZTYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWRlMWY1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkZjAwNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZGZlMTYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWUwYzI2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlMWEzNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZTI4NDcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWUzNjU5Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlNDQ2NycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZTUyODEnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWU2MDg2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlNmU5NicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZTdjYTYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWU4YWI1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlOThjNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZWE2ZDUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWViNGU2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlYzJmNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZWQxMDYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWVkZjE2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlZWQyNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZWZiMzYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWYwOTQ2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmMTc1NicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZjI1NjYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWYzMzc2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmNDE4NycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZjRmOTYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWY1ZGE3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmNmJiNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZjc5YzcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWY4N2Q2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmOTVlNycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZmE0MDEnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWZiMjA0Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmYzAxNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZmNlMjUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWZkYzM1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmZWE0NScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZmY4NTUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjAwNjY1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwMTQ3NScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMDIyODYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjAzMDk1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwM2VhNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMDRjYjYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjA1YWM2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwNjhkNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMDc2ZTYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjA4NGY2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwOTMwNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMGExMTYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjBhZjI2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwYmQzNycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMGNiNDYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjBkOTU3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwZTc2NycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMGY1ODEnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjEwMzg2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxMTE5NCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMTFmYTUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjEyZGI1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxM2JjNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMTQ5ZDYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjE1N2U1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxNjVmNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMTc0MDYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjE4MjE3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxOTAyNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMTllMzknLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjFhYzQ2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxYmE1NycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMWM4NjcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjFkNjc3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxZTQ4NycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMWYyOTYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjIwMGE2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyMGViNycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMjFjYzYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjIyYWQ3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyMzhlNycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMjQ3MDEnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjI1NTA1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyNjMxNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMjcxMjUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjI3ZjM1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyOGQ0NScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMjliNTQnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjJhOTY1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyYjc3NicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMmM1ODYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjJkMzk3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyZTFhNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMmVmYjYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjJmZGM3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzMGJkNycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzE5ZTYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjMyN2Y2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzMzYxYicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzQ0MTYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjM1MjI2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzNjAzNycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzZlNDYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjM3YzU3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzOGE2NicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzk4ODEnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjNhNjg1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzYjQ5NScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyM2MyYTQnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjNkMGI1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzZGVjNCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyM2VjZDUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjNmYWU0Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0MDhmNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNDE3MDYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjQyNTE4Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0MzMyNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNDQxMzcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjQ0ZjQ2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0NmI2NicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNDc5NzYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjQ4Nzg2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0OTU3ZScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNGEzOGYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjRiMTljJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0YmZhYycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNGNkYmMnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjRkYmNkJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0ZTllNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNGY4MDgnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjUwNjE2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1MTQyNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNTIyMzYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjUzMDQ3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1M2U1NicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNTRjNjcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjU1YTc2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1Njg4NycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNTc2OTcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjU4NGE4Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1OTJiNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNWEwYzcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjVhZWQ3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1YmNlNycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNWNhZjgnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjVkOTA3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1ZTcxOCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNWY1MjcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjYwMzM4Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2MTE0OScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNjFmNTknLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjYyZDY4Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2M2I4MycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNjQ5ODYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjY1Nzk1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2NjVhNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNjczYjUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjY4MWM2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2OGZkNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNjlkZTYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjZhYmY2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2YmEwNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNmM4MTcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjZkNjJiJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2ZTQzNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNmYyNDcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjcwMDU3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI3MGU2NycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNzFjNzcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjcyYTg3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI3Mzg5NycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNzQ2YTgnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjc1NGI5Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI3NjJjNycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNzcwZDgnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjc3ZWU3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQksIDUpCitTQVguZW5kRWxlbWVudChwYXIpCitTQVguY2hhcmFjdGVycygKKwkJCQksIDUpCitTQVguc3RhcnRFbGVtZW50KHBhciwgbWVtaW5kPSc4NjA0JywgaD0nM2RjMWE4ZGUnKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScwJywgdj0nMjEuMDQzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZTA4Jywgdj0nMjAuMDUxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWMzMicsIHY9JzE5LjgxOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzJhM2MnLCB2PScxOS41NTQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczODM1Jywgdj0nMTguOTUxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNDY0NScsIHY9JzE4Ljg1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzU0NTUnLCB2PScyMi4zOTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2MjY1Jywgdj0nMjQuNDkyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNzA3NScsIHY9JzI5LjIwNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzdlODUnLCB2PSczNS4wNjMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4Yzk2Jywgdj0nMzUuMDcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5YWE1Jywgdj0nMzMuNTg1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYThiNicsIHY9JzMwLjc3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYjZjNScsIHY9JzI5LjE0MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2M0ZDcnLCB2PScwLjA2MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2QzMGInLCB2PScwLjA2MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2UwZjYnLCB2PScwLjA2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZWYwNicsIHY9JzAuMDU5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZmQxNycsIHY9JzAuMDYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMGIyNycsIHY9JzAuMDYyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTE5MzcnLCB2PScwLjA2MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyNzQ2Jywgdj0nMC4wNjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMzU1NicsIHY9JzAuMDYyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTQzNjYnLCB2PScwLjA2NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1MTgxJywgdj0nMC4wNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1Zjg1Jywgdj0nMC4wNjQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNmQ5NScsIHY9JzAuMDY1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTdiYTQnLCB2PScwLjA2NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4OWI1Jywgdj0nMC4wNjMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOTdjNCcsIHY9JzAuMDY0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWE1ZDUnLCB2PScwLjA2NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFiM2U2Jywgdj0nMC4wNjcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYzFmNicsIHY9JzAuMDY2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWQwMDUnLCB2PScwLjA2MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkZTE1Jywgdj0nMC4wNjInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZWMyNScsIHY9JzAuMDYzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWZhMzYnLCB2PScwLjA2NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwODQ1Jywgdj0nMC4wNjYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMTY1NicsIHY9JzAuMDY2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjI0NjUnLCB2PScwLjA2NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzMjc2Jywgdj0nMC4wNjMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNDA4NicsIHY9JzAuMDYxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjRlOTknLCB2PScwLjA2MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1Y2E3Jywgdj0nMC4wNjInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNmFiNycsIHY9JzAuMDYyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjc4YzYnLCB2PScwLjA2MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI4NmQ2Jywgdj0nMC4wNjMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyOTRlNicsIHY9JzAuMDY2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMmEzMDEnLCB2PScwLjA2NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzJiMTA1Jywgdj0nMC4wNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzJiZjE1Jywgdj0nMC4wNjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyY2QyNScsIHY9JzAuMDYzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMmRiMzUnLCB2PScwLjA2MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzJlOTQ2Jywgdj0nMC4wNjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyZjc1NScsIHY9JzAuMDU4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMzA1NjYnLCB2PScwLjA2NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzMxMzc1Jywgdj0nMC4wNjQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczMjE5ZScsIHY9JzAuMDY2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMzJmOTYnLCB2PScwLjA2MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzMzZGE2Jywgdj0nMC4wNjInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczNGJiNicsIHY9JzAuMDYzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMzU5ZGUnLCB2PScwLjA2NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzM2N2Q2Jywgdj0nMC4wNjQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczNzVlNicsIHY9JzAuMDYyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMzg0MGUnLCB2PScwLjA1OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzM5MjFlJywgdj0nMC4wNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzNhMDE2Jywgdj0nMC4wNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzNhZTI3Jywgdj0nMC4wNjMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczYmMzNicsIHY9JzAuMDYyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nM2NhNDcnLCB2PScwLjA1OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzNkODU2Jywgdj0nMC4wNjInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczZTY2NycsIHY9JzAuMDY0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nM2Y0ODEnLCB2PScwLjA2OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzQwMjg1Jywgdj0nMC4wNjUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0MTA5NScsIHY9JzAuMDY2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNDFlYTUnLCB2PScwLjA2NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzQyY2I1Jywgdj0nMC4wNjYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0M2FjNScsIHY9JzAuMDY0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNDQ4ZDUnLCB2PScwLjA2MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzQ1NmU2Jywgdj0nMC4wNjInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0NjRmNScsIHY9JzAuMDYyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNDgwZmYnLCB2PScwLjA1OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzQ4ZjBlJywgdj0nMC4wNTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0OWQxZCcsIHY9JzAuMDU3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNGFiNDYnLCB2PScwLjA1NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzRiOTU1Jywgdj0nMC4wNTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0Yzc2OScsIHY9JzAuMDU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNGQ1NzcnLCB2PScwLjA1NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzRlMzg3Jywgdj0nMC4wNTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0ZjE5NicsIHY9JzAuMDU3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNGZmYTYnLCB2PScwLjA1OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzUwZGQwJywgdj0nMC4wNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzUxYmM2Jywgdj0nMC4wNjInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1MjlkNicsIHY9JzAuMDYyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNTM3ZTcnLCB2PScwLjA2NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzU0NjAwJywgdj0nMC4wNjcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1NTQwNicsIHY9JzAuMDY1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNTYyMTUnLCB2PScwLjA2NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzU3MDI2Jywgdj0nMC4wNjUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1N2UzNicsIHY9JzAuMDY0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNThjNDYnLCB2PScwLjA2MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzU5YTcwJywgdj0nMC4wNjMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1YTg2NycsIHY9JzAuMDYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1YjY3NicsIHY9JzAuMDYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1YzQ4NycsIHY9JzAuMDU2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNWQyOTYnLCB2PScwLjA1OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzVlMGE5Jywgdj0nMC4wNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzVlZWI4Jywgdj0nMC4wNjInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1ZmNjNicsIHY9JzAuMDYxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNjBhZDcnLCB2PScwLjA1NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzYxOGU3Jywgdj0nMC4wNTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2MjZmNycsIHY9JzAuMDU5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNjM1MDcnLCB2PScwLjA1OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzY0MzE3Jywgdj0nMC4wNjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2NTEyNycsIHY9JzAuMDYyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNjVmMzcnLCB2PScwLjA2MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzY2ZDQ2Jywgdj0nMC4wNjInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2N2I1NycsIHY9JzAuMDYyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNjg5NjcnLCB2PScwLjA2NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzY5NzgyJywgdj0nMC4wNjUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2YTU4NicsIHY9JzAuMDY0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNmIzOTUnLCB2PScwLjA2NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzZjMWE2Jywgdj0nMC4wNjYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2Y2ZiNScsIHY9JzAuMDY0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNmRkYzYnLCB2PScwLjA2MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzZlYmQ2Jywgdj0nMC4wNTknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2ZjllNicsIHY9JzAuMDYxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNzA3ZjYnLCB2PScwLjA2MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzcxNjA3Jywgdj0nMC4wNTknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3MjQxNycsIHY9JzAuMDU4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNzMyMjcnLCB2PScwLjA1NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzc0MDM3Jywgdj0nMC4wNjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3NGU0NycsIHY9JzAuMDYxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNzVjNTcnLCB2PScwLjA1OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzc2YTYzJywgdj0nMC4wNTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3Nzg3MycsIHY9JzAuMDU4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNzg2ODAnLCB2PScwLjA1OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzc5NDhmJywgdj0nMC4wNTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3YTI5ZicsIHY9JzAuMDYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3YjBhZicsIHY9JzAuMDYyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nN2JlYmYnLCB2PScwLjA2MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzdjY2NmJywgdj0nMC4wNjQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3ZGFkZicsIHY9JzAuMDY1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nN2U4ZmEnLCB2PScwLjA2NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzdmNzBhJywgdj0nMC4wNjcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4MDUxYScsIHY9JzAuMDY3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nODEzMmEnLCB2PScwLjA2NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzgyMTNhJywgdj0nMC4wNjYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4MmY0YScsIHY9JzAuMDY3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nODNkNWEnLCB2PScwLjA2MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzg0YjZhJywgdj0nMC4wNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzg1OTdhJywgdj0nMC4wNTknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4Njc4YicsIHY9JzAuMDU5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nODc1OWInLCB2PScwLjA1NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzg4M2FjJywgdj0nMC4wNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzg5MWJiJywgdj0nMC4wNjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4OWZjYScsIHY9JzAuMDYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4YWRkYScsIHY9JzAuMDU5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOGJiZWInLCB2PScwLjA1OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzhjOWZjJywgdj0nMC4wNTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4ZDgwYicsIHY9JzAuMDU4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOGU2MWEnLCB2PScwLjA1OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzhmNDJhJywgdj0nMC4wNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzkwMjNhJywgdj0nMC4wNjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5MTA0YScsIHY9JzAuMDYyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOTFlNWEnLCB2PScwLjA2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOTJjNmEnLCB2PScwLjA2MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzkzYTg0Jywgdj0nMC4wNjcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5NDg4NScsIHY9JzAuMDY0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOTU2OTQnLCB2PScwLjA2NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzk2NGE1Jywgdj0nMC4wNjUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5NzJiNCcsIHY9JzAuMDY0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOTgwYzUnLCB2PScwLjA2MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzk4ZWQ0Jywgdj0nMC4wNjUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5OWNlNScsIHY9JzAuMDY0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOWFhZjUnLCB2PScwLjA2MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzliOTA2Jywgdj0nMC4wNjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5YzcxNicsIHY9JzAuMDYyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOWQ1MjYnLCB2PScwLjA2MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzllMzM2Jywgdj0nMC4wNjMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5ZjE0NScsIHY9JzAuMDYzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOWZmNTYnLCB2PScwLjA2MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2EwZDY1Jywgdj0nMC4wNjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhMWI3NycsIHY9JzMwLjIyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYTI5ODYnLCB2PScxNi4wNTQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhMzc5NScsIHY9JzEwLjIyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYTQ1YTcnLCB2PSczLjgzOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2E1M2I2Jywgdj0nMy4zMDEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhNjFjNycsIHY9JzQuMTknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhNmZkNicsIHY9JzIuMDAyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYTdlMDAnLCB2PSc0LjkxMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2E4YzAwJywgdj0nNy44OTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhOWEwNScsIHY9JzIuOTM0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYWE4MTUnLCB2PScxLjQ4NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2FiNjI1Jywgdj0nMi4xOTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhYzQzNScsIHY9JzEuNjc5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYWQyNDUnLCB2PSc1Ljk4NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2FlMDU1Jywgdj0nMTAuNjYxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYWVlNjUnLCB2PSczLjY1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2FmYzc1Jywgdj0nNy4yNTInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiMGE4NScsIHY9JzE5LjcwOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2IyNmE2Jywgdj0nMjEuMTI4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYjM0YjYnLCB2PScxOC4zNTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiNDJjNicsIHY9JzMuNDU2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYjUwZDYnLCB2PSc0LjkxNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2I1ZWU3Jywgdj0nNy4zMzcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiNmNmNicsIHY9JzcuMjA1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYjdiMDcnLCB2PSc5LjE5MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2I4OTE3Jywgdj0nOC4wMjcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiOTcyOCcsIHY9JzcuNjg4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYmE1MzcnLCB2PSc4LjY2NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2JiMzQ3Jywgdj0nNy43MzQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiYzE1NycsIHY9JzUuMTQ4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYmNmNjcnLCB2PSc1LjA4MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2JkZDgxJywgdj0nMTguNDMzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYmViODYnLCB2PSc0LjY3NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2JmOTk1Jywgdj0nMy45NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2MwN2E2Jywgdj0nMi4yNDcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjMTViNScsIHY9JzIuNTE5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYzIzYzYnLCB2PSc0Ljc4NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2MzMWQ1Jywgdj0nMTAuNDA2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYzNmZTYnLCB2PSc1Ljg2MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2M0ZGY1Jywgdj0nOS42NjgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjNWMwNicsIHY9JzUuMTk0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYzZhMTYnLCB2PSc1LjM1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYzc4MjYnLCB2PSc3Ljc0NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2M4NjM2Jywgdj0nMy42NTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjOTQ0NicsIHY9JzQuMjM2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nY2EyNTYnLCB2PSczLjI4MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2NiMDY2Jywgdj0nNS42NTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjYmU3NicsIHY9JzIuMjQ5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nY2NjODcnLCB2PScxMi4wMDQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjZGE5NicsIHY9JzE1LjgzMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2NlOGE4Jywgdj0nMTEuOTgxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nY2Y2YjcnLCB2PScxNS4xNDUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkMDRjOCcsIHY9JzEyLjM4NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2QxMmQ3Jywgdj0nOC41MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2QyMGU3Jywgdj0nMS40NzQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkMmYwMicsIHY9JzcuNDQxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZDNkMDUnLCB2PSc0LjI2MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2Q0YjE1Jywgdj0nMy44MDUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkNTkyNicsIHY9JzMuNzUyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZDY3MzUnLCB2PSc1LjUzOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2Q3NTQ2Jywgdj0nOS41MjQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkODM1NScsIHY9JzEuOTg4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZDkxNjYnLCB2PSc0LjE1OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2Q5Zjc1Jywgdj0nOS42MjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkYWQ4NycsIHY9JzE3LjcwNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2RiYjk3Jywgdj0nMTkuMTcxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZGM5YTgnLCB2PScxOS4yNTInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkZDdiNycsIHY9JzE0Ljk2MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2RlNWM2Jywgdj0nMTIuODE2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZGYzZDcnLCB2PScxMy4xMTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlMDFkNycsIHY9JzEzLjQzNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2UwZmU1Jywgdj0nMTMuMjgzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZTFkZjUnLCB2PScxMy45ODknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlMmMwNCcsIHY9JzE4LjA5OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2UzYTE0Jywgdj0nMTcuNzQyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZTQ4MjQnLCB2PScxNS4yMjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlNTYzNCcsIHY9JzE1LjI2MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2U2NDQ0Jywgdj0nMTEuOTY4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZTcyNTUnLCB2PSc5Ljg5MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2U4MDZmJywgdj0nNy45OTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlOGU3ZicsIHY9JzEzLjg4OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2U5YzhlJywgdj0nNi4zMzYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlYWE5ZicsIHY9JzUuNjM0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZWI4YWUnLCB2PSc3LjM2OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2VjNmJmJywgdj0nMTQuMjc2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZWQ0Y2UnLCB2PSc5LjY3NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2VlMmRmJywgdj0nMTIuODEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlZjBlZicsIHY9JzE0Ljk4NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2VmZjAxJywgdj0nMjEuNTMxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZjBkMTAnLCB2PScyMS4wMzgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmMWIyMCcsIHY9JzIyLjkwOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2YyOTMwJywgdj0nMjAuODkxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZjM3NDAnLCB2PScyMi4yMzQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmNDU1MScsIHY9JzIyLjUxNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2Y1MzYxJywgdj0nMjQuMTcyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZjYxNzInLCB2PScyMy4wMDgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmNmY4MCcsIHY9JzIzLjQ3NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2Y3ZDkxJywgdj0nMjIuMDU5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZjhiYTEnLCB2PScxOC42NzEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmOTliMScsIHY9JzE4LjQ0NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2ZhN2MwJywgdj0nMTUuODYyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZmI1ZDEnLCB2PScxNi4zOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2ZjM2UwJywgdj0nMTUuMTY1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZmQxZmInLCB2PScxMi4zMzUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmZTAwYicsIHY9JzEyLjI4MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2ZlZTFjJywgdj0nOC45NDEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmZmMyYycsIHY9JzguODM3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTAwYTNiJywgdj0nOC43OTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMDE4NGMnLCB2PScxMC4wNDMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMDI2NWInLCB2PScxMy45MzInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMDM0NmMnLCB2PScxNS45NzQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMDQyN2InLCB2PScxOS4xNjcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMDUwOGQnLCB2PScyMi4yMzcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMDVlOWQnLCB2PScyMS41MzMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMDZjYWQnLCB2PScyMy4zMDknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMDdhYmQnLCB2PScyMC4zMzMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMDg4Y2QnLCB2PScxOC41NTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMDk2ZGUnLCB2PScyMC4xNjMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMGE0ZWQnLCB2PScxOS45NzgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMGIyZmUnLCB2PScyMS4xNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMGMxMGQnLCB2PScyMy45NjQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMGNmMWUnLCB2PScyMS44NzQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMGRkMmUnLCB2PScxOS41OTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMGViNjYnLCB2PScyMC4yMzQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMGY5NGUnLCB2PScxNy4zMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExMDc1ZScsIHY9JzE2LjU1NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExMTU2ZCcsIHY9JzEzLjIxNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExMjM4OCcsIHY9JzEyLjI3MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExMzE4NycsIHY9JzguOTY3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTEzZmIwJywgdj0nOC4zMTknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMTRkYTYnLCB2PSc4LjM1NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExNWJiNicsIHY9JzguNDknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMTY5YzYnLCB2PScxMC40NTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMTc3ZDYnLCB2PScxMy45OTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMTg1ZTgnLCB2PScxNS40NjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMTkzZjcnLCB2PScxOC4zMzEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMWEyMDgnLCB2PScyMi4yODQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMWIwMTcnLCB2PScxOS4xNTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMWJlMmYnLCB2PScyMy40NjQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMWNjMzcnLCB2PScyMC4yMTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMWRhNDcnLCB2PScxOS44MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExZTg1NycsIHY9JzIwLjgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMWY2NjcnLCB2PScxOC4wNDInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMjA1NzgnLCB2PScwLjAxOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyMTM4NicsIHY9JzAuMDInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMjIxOTYnLCB2PScwLjAyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTIyZmE2Jywgdj0nMC4wMTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMjNkYjUnLCB2PScwLjAxNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyNGJjNScsIHY9JzAuMDE0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTI1OWQ1Jywgdj0nMC4wMTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMjY3ZTQnLCB2PScwLjAxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTI3NjAwJywgdj0nMC4wMDknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMjgzMDUnLCB2PScwLjAwOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyOTExNScsIHY9JzAuMDA4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTI5ZjI1Jywgdj0nMC4wMDgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMmFkMzUnLCB2PScwLjAwNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyYmI0NScsIHY9JzAuMDA3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTJjOTU0Jywgdj0nMC4wMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyZDc2NicsIHY9JzAuMDExJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTJlNTc1Jywgdj0nMC4wMTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMmYzODYnLCB2PScwLjAxMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzMDE5NicsIHY9JzAuMDE5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTMwZmE2Jywgdj0nMC4wMTQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMzFkYjcnLCB2PScwLjAxNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzMmJjNScsIHY9JzAuMDE1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTMzOWQ0Jywgdj0nMC4yNjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMzQ3ZTUnLCB2PScwLjEyNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzNTVmNCcsIHY9JzAuMTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMzY0MDQnLCB2PScwLjIyNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzNzIxNCcsIHY9JzAuMjQzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTM4MDI0Jywgdj0nMC4yMzYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMzhlMzMnLCB2PScwLjIzOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzOWM0NCcsIHY9JzAuMDc0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTNhYTU0Jywgdj0nMC4wODYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxM2I4NjUnLCB2PScwLjAzMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzYzY3ZScsIHY9JzAuNDEyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTNkNDhlJywgdj0nMC4xOTknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxM2UyOWUnLCB2PScwLjE1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTNmMGFlJywgdj0nMC4xNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzZmViZicsIHY9JzAuMjE4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTQwY2NmJywgdj0nMC4zMDknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNDFhZGYnLCB2PScwLjIwNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0MjhlZicsIHY9JzAuMDMyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTQzNmZmJywgdj0nMC4wNjUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNDQ1MGYnLCB2PScwLjA1NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0NTMxZicsIHY9JzAuMDM3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTQ2MTMwJywgdj0nMC4wMjUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNDZmNDAnLCB2PScwLjA5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTQ3ZDQ0Jywgdj0nMC4wMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0OGI1NycsIHY9JzAuMDM4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTQ5OTY1Jywgdj0nMC4wMjYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNGE3NzUnLCB2PScwLjEwOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0YjU4NCcsIHY9JzAuMDg2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTRjMzk3Jywgdj0nMC4yNTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNGQxYTQnLCB2PScwLjIyNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0ZGZiNicsIHY9JzAuMTkzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTRlZGM1Jywgdj0nMC4xMDMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNGZiZDUnLCB2PScwLjA0NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1MDllNScsIHY9JzAuMDIzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTUxN2ZmJywgdj0nMC4wNjgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNTI2MDUnLCB2PScwLjE1NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1MzQxNScsIHY9JzAuMTA1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTU0MjI1Jywgdj0nMC4wOTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNTUwMzUnLCB2PScwLjEyNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1NWU0NScsIHY9JzAuMTg5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTU2YzU1Jywgdj0nMC4yODEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNTdhNjUnLCB2PScwLjE2MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1ODg3NScsIHY9JzAuMTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNTk2ODYnLCB2PScwLjI0NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1YTQ5NScsIHY9JzAuMjExJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTViMmE2Jywgdj0nMC4xODgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNWMwYjYnLCB2PScwLjEwNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1Y2VjNicsIHY9JzAuMDkyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTVkY2Q1Jywgdj0nMC4wOTknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNWVhZTYnLCB2PScwLjExMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1ZjhmNScsIHY9JzAuMjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNjA3MDYnLCB2PScwLjA2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTYxNTE3Jywgdj0nMC4xMDcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNjIzMjYnLCB2PScwLjA3MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2MzEzNycsIHY9JzAuMDY0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTYzZjQ2Jywgdj0nMC4xMDEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNjRkNTcnLCB2PScwLjA0NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2NWI2NycsIHY9JzAuMDM1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTY2OTgyJywgdj0nMC4wNTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNjc3ODYnLCB2PScwLjA3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTY4NTk2Jywgdj0nMC4wMzUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNjkzYTYnLCB2PScwLjAyOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2YTFiNScsIHY9JzAuMDI2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTZhZmM2Jywgdj0nMC4wNzUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNmJkZDUnLCB2PScwLjE3OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2Y2JlNicsIHY9JzAuMjIxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTZkOWY2Jywgdj0nMC4xMDknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNmU4MDcnLCB2PScwLjU3OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2ZjYxNicsIHY9JzAuNjMzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTcwNDI5Jywgdj0nMC42NzgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNzEyMzYnLCB2PScwLjQ1NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3MjA0NycsIHY9JzAuNDYxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTcyZTU3Jywgdj0nMC40NzUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNzNjNjcnLCB2PScwLjQ4NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3NGE3NycsIHY9JzAuNTY1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTc1ODg3Jywgdj0nMC41OTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNzY2OTQnLCB2PSczNC4zNzInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNzc0YTMnLCB2PSczMy4wNTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNzgyYjMnLCB2PSczNC4xOTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNzkwYzUnLCB2PSczMS4xNDgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNzllZDQnLCB2PScyNi43MzQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxN2FjZTQnLCB2PScyNi44ODMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxN2JhZmQnLCB2PScyOC4wNDYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxN2M5MGYnLCB2PScyNS4xMDcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxN2Q3MWUnLCB2PScyNC44MjYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxN2U1MmYnLCB2PScyNS4xMjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxN2YzM2YnLCB2PScyMi45NzknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxODAxNGYnLCB2PScyMi45NjgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxODBmNWYnLCB2PScyOC4wNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4MWQ2ZScsIHY9JzMwLjYwOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4MmI3ZicsIHY9JzM1LjE1NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4Mzk4ZicsIHY9JzYxLjA3OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4NDdhMScsIHY9JzYxLjExOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4NTVhZicsIHY9JzU4LjIxNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4NjNjMCcsIHY9JzU0LjE0OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4NzFjZicsIHY9JzU2LjE0MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4N2ZlMCcsIHY9JzUzLjc1NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4OGRlZicsIHY9JzU3LjE4OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4OWMwMCcsIHY9JzUzLjU5NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4YjgwZCcsIHY9JzM2LjI2OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4YzYxYycsIHY9JzM2LjYyNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4ZDQyYycsIHY9JzM1LjEwMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4ZTIzYicsIHY9JzI5Ljg1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4ZjA0YicsIHY9JzI4LjMwNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4ZmU1ZScsIHY9JzI1LjM2NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5MGM3NicsIHY9JzE5Ljk5NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5MWE4NicsIHY9JzE5Ljc0OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5Mjg5NicsIHY9JzE5LjM0NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5MzZhNicsIHY9JzE4Ljg3MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5NDRiNycsIHY9JzE4LjExJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTk1MmM2Jywgdj0nMjAuMDMyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTk2MGQ3Jywgdj0nMjUuMTM3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTk2ZWU2Jywgdj0nMjcuNTA4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTk3Y2Y4Jywgdj0nMjkuNDQ5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTk4YjBmJywgdj0nMjcuMzcyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTk5OTFmJywgdj0nMzAuNTYyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTliNTQxJywgdj0nMjkuOTYzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTljMzRkJywgdj0nMjguMzM2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTlkMTVlJywgdj0nMjguMTAyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTlkZjgwJywgdj0nMjguODY0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTllZDkwJywgdj0nMjguMjc4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTllZWJlJywgdj0nMjguMzk5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTlmYjhlJywgdj0nMTEuMDE2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWEwOWEwJywgdj0nMTQuMTU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWExN2FlJywgdj0nMTkuMTMyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWEyNWJlJywgdj0nMjAuMjgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYTMzY2QnLCB2PScxMS4yOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhNDFkZCcsIHY9JzEyLjI1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWE0ZmVkJywgdj0nMTYuNTYxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWE1ZTA4Jywgdj0nMTUuMTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYTZjMDUnLCB2PSc5Ljk1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhN2ExNScsIHY9JzEyLjczMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhODgyNicsIHY9JzEyLjk1OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhOTYzNycsIHY9JzkuNjg1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWFhNDQ1Jywgdj0nNi44MDUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYWIyNTUnLCB2PSc0LjU1OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhYzA2NScsIHY9JzEwLjYzMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhY2U3NScsIHY9JzE0LjY0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWFkYzg3Jywgdj0nMTQuMTgyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWFlYTk2Jywgdj0nMTMuNzE3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWFmOGE3Jywgdj0nMTUuMDcxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWIwNmI3Jywgdj0nMTMuMjM2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWIxNGM2Jywgdj0nMTIuNzQ2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWM3NDYwJywgdj0nMy45OTknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYzgyNzAnLCB2PScyLjE4NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFjOTA3ZScsIHY9JzE2LjU4NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFjOWU4ZicsIHY9JzE0LjM3OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFjYWNhMicsIHY9JzE2LjA0MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFjYmFiMScsIHY9JzE1Ljc5OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFjYzhjMScsIHY9JzI5LjI1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWNkNmQwJywgdj0nMjcuNjIxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWNlNGRlJywgdj0nMjUuNDUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWNmMmYwJywgdj0nMjQuMzY5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWQwMTA5Jywgdj0nMjUuMzQ4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWQwZjA2Jywgdj0nMjguNjg3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWQxZDE1Jywgdj0nMjguMzczJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWQyYjI1Jywgdj0nMjguODAxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWQzOTM1Jywgdj0nMzAuMDQ1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWQ0NzQ1Jywgdj0nMzAuNjQ0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWQ1NTU1Jywgdj0nMzAuMzU0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWQ2MzY2Jywgdj0nMjQuOTMzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWQ3MTc1Jywgdj0nMjMuODEzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWQ3Zjg2Jywgdj0nMjMuODE4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWQ4ZDk1Jywgdj0nMTUuMTUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWQ5YmE2Jywgdj0nMTYuNjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZGE5YjYnLCB2PScxNi4zODUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZGI3YzcnLCB2PScxNS42NDMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZGM1ZDUnLCB2PScxNi4yNjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZGQzZTYnLCB2PScxNi42ODknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZGUxZjUnLCB2PScyNy44OTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZGYwMDYnLCB2PSczMS40NDknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZGZlMTYnLCB2PSczMS4yMzInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZTBjMjYnLCB2PSczMi4wMDEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZTFhMzYnLCB2PSczMS45OTknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZTI4NDcnLCB2PSczMC42NjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZTM2NTknLCB2PScyOS4xODUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZTQ0NjcnLCB2PScyNy4xOTknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZTUyODEnLCB2PScyMy43OTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZTYwODYnLCB2PScyMy41NjYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZTZlOTYnLCB2PScyMy4wMzUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZTdjYTYnLCB2PSc4LjU3MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlOGFiNScsIHY9JzcuOTEzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWU5OGM2Jywgdj0nNy44NTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZWE2ZDUnLCB2PSc5Ljg0NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlYjRlNicsIHY9JzEwLjE3NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlYzJmNicsIHY9JzExLjczMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlZDEwNicsIHY9JzExLjU1NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlZGYxNicsIHY9JzEyLjA2NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlZWQyNicsIHY9JzExLjcyNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlZmIzNicsIHY9JzExLjQ2NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmMDk0NicsIHY9JzEwLjg1MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmMTc1NicsIHY9JzEwLjkyOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmMjU2NicsIHY9JzEwLjk4NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmMzM3NicsIHY9JzEzLjYyNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmNDE4NycsIHY9JzE5LjM5OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmNGY5NicsIHY9JzE2LjMyNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmNWRhNycsIHY9JzE1Ljg0OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmNmJiNicsIHY9JzE1Ljc4NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmNzljNycsIHY9JzE0LjMxOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmODdkNicsIHY9JzE1Ljc3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWY5NWU3Jywgdj0nMTYuMjk1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWZhNDAxJywgdj0nMTMuMzgyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWZiMjA0Jywgdj0nMTEuNzUyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWZjMDE2Jywgdj0nMTEuNjk0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWZjZTI1Jywgdj0nOS4yNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmZGMzNScsIHY9JzguOTY5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWZlYTQ1Jywgdj0nOS40MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmZjg1NScsIHY9JzExLjI5OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwMDY2NScsIHY9JzE4LjA2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjAxNDc1Jywgdj0nMTUuOTg5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjAyMjg2Jywgdj0nMjMuMzYzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjAzMDk1Jywgdj0nMjYuMDcxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjAzZWE1Jywgdj0nMjkuMjgzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjA0Y2I2Jywgdj0nMjUuODU2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjA1YWM2Jywgdj0nMjUuMjM1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjA2OGQ2Jywgdj0nMjYuNDA1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjA3NmU2Jywgdj0nMzAuMDc2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjA4NGY2Jywgdj0nMjguNDMzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjA5MzA2Jywgdj0nMzAuMjcxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjBhMTE2Jywgdj0nMjguNTU3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjBhZjI2Jywgdj0nMjQuNTQyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjBiZDM3Jywgdj0nMjMuOTYyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjBjYjQ2Jywgdj0nMjEuMjQyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjBkOTU3Jywgdj0nMTkuNjMzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjBlNzY3Jywgdj0nMTguMDA5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjBmNTgxJywgdj0nMTcuNzk4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjEwMzg2Jywgdj0nMTUuMzA0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjExMTk0Jywgdj0nMTMuNDUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjExZmE1Jywgdj0nMTMuMDU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjEyZGI1Jywgdj0nMTIuODcyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjEzYmM1Jywgdj0nMTMuNTQ0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjE0OWQ2Jywgdj0nMTcuMjUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMTU3ZTUnLCB2PScyMS4wNDYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMTY1ZjYnLCB2PScyNS44MzInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMTc0MDYnLCB2PScyNy43OTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMTgyMTcnLCB2PScyOC4wNTQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMTkwMjYnLCB2PScyNy42MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxOWUzOScsIHY9JzI4LjQ1NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxYWM0NicsIHY9JzI3LjcyNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxYmE1NycsIHY9JzI3LjkyMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxYzg2NycsIHY9JzI4LjI1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjFkNjc3Jywgdj0nMjcuNTM5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjFlNDg3Jywgdj0nMjYuMjUxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjFmMjk2Jywgdj0nMjUuOTQ3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjIwMGE2Jywgdj0nMjQuNjcxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjIwZWI3Jywgdj0nMjQuMzgzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjIxY2M2Jywgdj0nMjIuNzQyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjIyYWQ3Jywgdj0nMTcuNzQyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjIzOGU3Jywgdj0nMTYuMTE3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjI0NzAxJywgdj0nMTQuNTQ4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjI1NTA1Jywgdj0nMTguNDE4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjI2MzE1Jywgdj0nMTAuMTQ3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjI3MTI1Jywgdj0nMTAuNjQ4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjI3ZjM1Jywgdj0nMTMuMDYyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjI4ZDQ1Jywgdj0nMTcuMDgyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjI5YjU0Jywgdj0nMTUuNzIzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjJhOTY1Jywgdj0nMTcuNjI3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjJiNzc2Jywgdj0nMjEuMDgzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjJjNTg2Jywgdj0nMjQuMjkzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjJkMzk3Jywgdj0nMjYuODIzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjJlMWE2Jywgdj0nMjcuMDQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMmVmYjYnLCB2PScyMi4wOTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMmZkYzcnLCB2PScyMS41MTQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzBiZDcnLCB2PScyMC45MjInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzE5ZTYnLCB2PScyNS4wNjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzI3ZjYnLCB2PScyNS45NTknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzM2MWInLCB2PScyNy42NDQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzQ0MTYnLCB2PScyNS41NzgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzUyMjYnLCB2PScyNC4xOTknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzYwMzcnLCB2PScyMy44MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzNmU0NicsIHY9JzIyLjcxOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzN2M1NycsIHY9JzIwLjk1MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzOGE2NicsIHY9JzE4LjM4MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzOTg4MScsIHY9JzE0LjkyOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzYTY4NScsIHY9JzE0Ljg1OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzYjQ5NScsIHY9JzE0LjA4MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzYzJhNCcsIHY9JzEzLjMwOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzZDBiNScsIHY9JzEzLjcyNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzZGVjNCcsIHY9JzE1LjA3MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzZWNkNScsIHY9JzE3LjA2NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzZmFlNCcsIHY9JzIwLjYxMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0MDhmNicsIHY9JzI0Ljg5MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0MTcwNicsIHY9JzMyLjk0MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0MjUxOCcsIHY9JzM0LjI0NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0MzMyNScsIHY9JzM0Ljc4NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0NDEzNycsIHY9JzMxLjE3NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0NGY0NicsIHY9JzI5LjgwNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0NmI2NicsIHY9JzMwLjU2OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0Nzk3NicsIHY9JzI5LjE3NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0ODc4NicsIHY9JzM0LjkyMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0OTU3ZScsIHY9JzI4Ljc2NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0YTM4ZicsIHY9JzI1Ljc5NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0YjE5YycsIHY9JzI2LjE2MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0YmZhYycsIHY9JzI0Ljc2OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0Y2RiYycsIHY9JzI0LjA1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0ZGJjZCcsIHY9JzIwLjI4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjRlOWU1Jywgdj0nMTguMjInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNGY4MDgnLCB2PScxNS4zNDUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNTA2MTYnLCB2PScxNS45NTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNTE0MjYnLCB2PScxNS44ODQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNTIyMzYnLCB2PScxNS4wNTQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNTMwNDcnLCB2PScxNi4wMTQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNTNlNTYnLCB2PScxOS41NzQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNTRjNjcnLCB2PScyMC4wNjUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNTVhNzYnLCB2PScyMy45MzYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNTY4ODcnLCB2PScyOS4yNzQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNTc2OTcnLCB2PSczMS42OTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNTg0YTgnLCB2PSc3NS4xNTQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNTkyYjYnLCB2PSc0MS40NTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNWEwYzcnLCB2PScyMS4yMjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNWFlZDcnLCB2PScyOS40MTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNWJjZTcnLCB2PScyOC41OTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNWNhZjgnLCB2PScyNy4yNTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNWQ5MDcnLCB2PScyOC45MjUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNWU3MTgnLCB2PScyOS4zOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1ZjUyNycsIHY9JzI2LjU1OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2MDMzOCcsIHY9JzI1LjIzNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2MTE0OScsIHY9JzIzLjMxMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2MWY1OScsIHY9JzIxLjMxNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2MmQ2OCcsIHY9JzIwLjc2MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2M2I4MycsIHY9JzE2LjM2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjY0OTg2Jywgdj0nMTUuNjU3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjY1Nzk1Jywgdj0nMTYuNjE4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjY2NWE2Jywgdj0nMTcuODg4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjY3M2I1Jywgdj0nMTYuODYxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjY4MWM2Jywgdj0nMTYuNjE3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjY4ZmQ1Jywgdj0nMTcuNDI4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjY5ZGU2Jywgdj0nMTguMjI1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjZhYmY2Jywgdj0nMTguNDE1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjZiYTA2Jywgdj0nMjIuMTI2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjZjODE3Jywgdj0nMjIuMTI2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjZkNjJiJywgdj0nMjUuNzgyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjZlNDM2Jywgdj0nMjIuNzc0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjZmMjQ3Jywgdj0nMjIuNzc0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjcwMDU3Jywgdj0nMjIuOTA5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjcwZTY3Jywgdj0nMjMuMTM5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjcxYzc3Jywgdj0nMjEuNTUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjcyYTg3Jywgdj0nMjMuNTM5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjczODk3Jywgdj0nMjMuMTM5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjc0NmE4Jywgdj0nMjIuNzM1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjc1NGI5Jywgdj0nMjIuMzM1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjc2MmM3Jywgdj0nMjMuMjA1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjc3MGQ4Jywgdj0nMTguMjM4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjc3ZWU3Jywgdj0nMTQuMTM2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCSwgNSkKK1NBWC5lbmRFbGVtZW50KHBhcikKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCSwgNSkKK1NBWC5zdGFydEVsZW1lbnQocGFyLCBtZW1pbmQ9Jzk4MTInLCBoPSczZGMxYThkZScpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzAnLCB2PScxMTQuMDgxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZTA4Jywgdj0nMTE3LjE5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWMzMicsIHY9JzExOC45NjQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyYTNjJywgdj0nMTIwLjU2NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzM4MzUnLCB2PScxMTguNzQ3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNDY0NScsIHY9JzExNi41MjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1NDU1Jywgdj0nMTA5LjM4NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzYyNjUnLCB2PScxMjEuMzU2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNzA3NScsIHY9JzExOS4wMTQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3ZTg1Jywgdj0nMTE2LjIyNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzhjOTYnLCB2PScxMjAuMTc1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOWFhNScsIHY9JzEyMC45NDknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhOGI2Jywgdj0nMTI0LjInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiNmM1Jywgdj0nMTI0LjA0MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2M0ZDcnLCB2PScxMTcuNzYxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZDMwYicsIHY9JzExOC4wOTInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlMGY2Jywgdj0nMTE4LjM1NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2VmMDYnLCB2PScxMTguNjMzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZmQxNycsIHY9JzExOC40OTQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMGIyNycsIHY9JzEyMS4yNDMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMTkzNycsIHY9JzEyMi4yNzgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMjc0NicsIHY9JzExOS42ODknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMzU1NicsIHY9JzEyMS4xNjUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNDM2NicsIHY9JzEyNS42ODgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNTE4MScsIHY9JzEyNy41MTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNWY4NScsIHY9JzExOS41MDgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNmQ5NScsIHY9JzEyMS4yNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3YmE0Jywgdj0nMTIxLjI2MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4OWI1Jywgdj0nMTIwLjU5NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5N2M0Jywgdj0nMTE4LjcyNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhNWQ1Jywgdj0nMTI2LjkxMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFiM2U2Jywgdj0nMTI1Ljk4NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFjMWY2Jywgdj0nMTI0Ljk3MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkMDA1Jywgdj0nMTIxLjcyMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkZTE1Jywgdj0nMTIyLjIzMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlYzI1Jywgdj0nMTIyLjgzNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmYTM2Jywgdj0nMTI0LjEyNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwODQ1Jywgdj0nMTI1LjEwNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxNjU2Jywgdj0nMTI1LjI2NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyNDY1Jywgdj0nMTI1LjM4MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzMjc2Jywgdj0nMTIzLjY4OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0MDg2Jywgdj0nMTE5LjQzNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0ZTk5Jywgdj0nMTE5LjE2NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1Y2E3Jywgdj0nMTIwLjMzNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2YWI3Jywgdj0nMTE5LjgzNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI3OGM2Jywgdj0nMTIwLjEwOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI4NmQ2Jywgdj0nMTIyLjA3NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI5NGU2Jywgdj0nMTI1LjU0MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzJhMzAxJywgdj0nMTI1LjYzOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzJiMTA1Jywgdj0nMTE3LjM5OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzJiZjE1Jywgdj0nMTE4LjgwNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzJjZDI1Jywgdj0nMTE5LjY0NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzJkYjM1Jywgdj0nMTE5LjY3NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzJlOTQ2Jywgdj0nMTE3LjU0OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzJmNzU1Jywgdj0nMTEzLjIyOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzMwNTY2Jywgdj0nMTI1LjE1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzMxMzc1Jywgdj0nMTI0LjY5MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzMyMTllJywgdj0nMTIzLjU1NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzMyZjk2Jywgdj0nMTIzLjIzMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzMzZGE2Jywgdj0nMTIzLjQwNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzM0YmI2Jywgdj0nMTIzLjkzMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzM1OWRlJywgdj0nMTIzLjMyOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzM2N2Q2Jywgdj0nMTIyLjY0MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzM3NWU2Jywgdj0nMTIxLjU0NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzM4NDBlJywgdj0nMTE4LjIwOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzM5MjFlJywgdj0nMTE4LjY3NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzNhMDE2Jywgdj0nMTE4LjMyNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzNhZTI3Jywgdj0nMTIxLjg5MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzNiYzM2Jywgdj0nMTIwLjcxMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzNjYTQ3Jywgdj0nMTE5Ljg1NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzNkODU2Jywgdj0nMTIwLjE2NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzNlNjY3Jywgdj0nMTIyLjk5NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzNmNDgxJywgdj0nMTI2LjU1NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzQwMjg1Jywgdj0nMTI0LjA2MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzQxMDk1Jywgdj0nMTI0Ljg3NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzQxZWE1Jywgdj0nMTI1LjI0NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzQyY2I1Jywgdj0nMTI1LjA4MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzQzYWM1Jywgdj0nMTIzLjE4MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzQ0OGQ1Jywgdj0nMTE5LjMxMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzQ1NmU2Jywgdj0nMTIyLjUyNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzQ2NGY1Jywgdj0nMTIxLjE3MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzQ4MGZmJywgdj0nMTE4LjY5NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzQ4ZjBlJywgdj0nMTE3LjU1OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzQ5ZDFkJywgdj0nMTE4Ljk0NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzRhYjQ2Jywgdj0nMTE4Ljc5NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzRiOTU1Jywgdj0nMTE3LjA0OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzRjNzY5Jywgdj0nMTE2LjE4MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzRkNTc3Jywgdj0nMTE5LjEwMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzRlMzg3Jywgdj0nMTE5LjE1MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzRmMTk2Jywgdj0nMTE2LjgxNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzRmZmE2Jywgdj0nMTE4Ljk0MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzUwZGQwJywgdj0nMTIwLjg0NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzUxYmM2Jywgdj0nMTE5LjEwOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzUyOWQ2Jywgdj0nMTIwLjgwMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzUzN2U3Jywgdj0nMTIzLjA5NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzU0NjAwJywgdj0nMTI1LjkyMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzU1NDA2Jywgdj0nMTIyLjA4MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzU2MjE1Jywgdj0nMTIzLjAwMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzU3MDI2Jywgdj0nMTIzLjAzMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzU3ZTM2Jywgdj0nMTIyLjk3MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzU4YzQ2Jywgdj0nMTIwLjcxNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzU5YTcwJywgdj0nMTIxLjU5OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzVhODY3Jywgdj0nMTIwLjk3NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzViNjc2Jywgdj0nMTE5LjAzOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzVjNDg3Jywgdj0nMTE1Ljc5OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzVkMjk2Jywgdj0nMTE5LjkxMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzVlMGE5Jywgdj0nMTIwLjI4NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzVlZWI4Jywgdj0nMTE5LjQ1MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzVmY2M2Jywgdj0nMTE4LjMyNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzYwYWQ3Jywgdj0nMTE3LjExMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzYxOGU3Jywgdj0nMTE3LjI2MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzYyNmY3Jywgdj0nMTIwLjE0NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzYzNTA3Jywgdj0nMTE3LjUzNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzY0MzE3Jywgdj0nMTE4LjkwMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzY1MTI3Jywgdj0nMTIwLjA5OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzY1ZjM3Jywgdj0nMTIxLjQzNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzY2ZDQ2Jywgdj0nMTIxLjk4NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzY3YjU3Jywgdj0nMTIwLjY4MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzY4OTY3Jywgdj0nMTIyLjg2MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzY5NzgyJywgdj0nMTE5LjM1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNmE1ODYnLCB2PScxMjAuODQ1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNmIzOTUnLCB2PScxMjIuMTE5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNmMxYTYnLCB2PScxMjIuNTA2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNmNmYjUnLCB2PScxMjEuNDYyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNmRkYzYnLCB2PScxMTguOTA5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNmViZDYnLCB2PScxMTYuMzcyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNmY5ZTYnLCB2PScxMjEuMzExJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNzA3ZjYnLCB2PScxMTkuNDEyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNzE2MDcnLCB2PScxMTguMjgxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNzI0MTcnLCB2PScxMTguMTQ4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNzMyMjcnLCB2PScxMTcuODExJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNzQwMzcnLCB2PScxMjEuNjk0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNzRlNDcnLCB2PScxMjAuNzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNzVjNTcnLCB2PScxMTguNjUxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNzZhNjMnLCB2PScxMTguMDgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3Nzg3MycsIHY9JzExOC4yODInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3ODY4MCcsIHY9JzExMy45MTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3OTQ4ZicsIHY9JzExNi45NDEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3YTI5ZicsIHY9JzExOS41MDgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3YjBhZicsIHY9JzExOS4wNzEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3YmViZicsIHY9JzEyMS4xNDYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3Y2NjZicsIHY9JzEyMS4zMzYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3ZGFkZicsIHY9JzEyMi4wOTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3ZThmYScsIHY9JzEyMS43ODUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3ZjcwYScsIHY9JzEyNC4wNjUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4MDUxYScsIHY9JzEyNS40NTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4MTMyYScsIHY9JzEyNi4wMTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4MjEzYScsIHY9JzEyNS4wMTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4MmY0YScsIHY9JzEyMi43NDEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4M2Q1YScsIHY9JzEyMC4yNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzg0YjZhJywgdj0nMTE4Ljg1NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzg1OTdhJywgdj0nMTE4LjgxNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzg2NzhiJywgdj0nMTE3LjgwNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzg3NTliJywgdj0nMTE3LjQ0NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzg4M2FjJywgdj0nMTE5Ljk2NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzg5MWJiJywgdj0nMTIxLjE0MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzg5ZmNhJywgdj0nMTIwLjI1OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzhhZGRhJywgdj0nMTE4LjU1OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzhiYmViJywgdj0nMTE4LjgxMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzhjOWZjJywgdj0nMTE4LjYzMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzhkODBiJywgdj0nMTE4Ljk0OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzhlNjFhJywgdj0nMTE3LjMxNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzhmNDJhJywgdj0nMTE4LjE0NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzkwMjNhJywgdj0nMTIwLjEyMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzkxMDRhJywgdj0nMTIwLjU2MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzkxZTVhJywgdj0nMTE4LjYzOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzkyYzZhJywgdj0nMTIyLjg0NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzkzYTg0Jywgdj0nMTI1LjE1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzk0ODg1Jywgdj0nMTIzLjQ2MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzk1Njk0Jywgdj0nMTIyLjc5MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzk2NGE1Jywgdj0nMTIzLjA5MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzk3MmI0Jywgdj0nMTIyLjUzNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzk4MGM1Jywgdj0nMTIwLjE4OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzk4ZWQ0Jywgdj0nMTIzLjA5NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzk5Y2U1Jywgdj0nMTE5LjMzNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzlhYWY1Jywgdj0nMTE4LjUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5YjkwNicsIHY9JzExNS43NDMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5YzcxNicsIHY9JzExOS43MjInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5ZDUyNicsIHY9JzEyMC4yMjInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5ZTMzNicsIHY9JzExOC45MTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5ZjE0NScsIHY9JzExNy41NTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5ZmY1NicsIHY9JzExNi42NDknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhMGQ2NScsIHY9JzExNi41MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2ExYjc3Jywgdj0nMTE2LjcwMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2EyOTg2Jywgdj0nMTE4LjgwNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2EzNzk1Jywgdj0nMTE4LjQ2MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2E0NWE3Jywgdj0nMTE5LjU5MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2E1M2I2Jywgdj0nMTE5Ljc4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYTYxYzcnLCB2PScxMTkuOTczJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYTZmZDYnLCB2PScxMjAuNzYxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYTdlMDAnLCB2PScxMjIuNzgyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYThjMDAnLCB2PScxMjUuNDQ0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYTlhMDUnLCB2PScxMTguMjU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYWE4MTUnLCB2PScxMTkuMzAyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYWI2MjUnLCB2PScxMjAuMTQ5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYWM0MzUnLCB2PScxMTkuNjc4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYWQyNDUnLCB2PScxMTcuMTM4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYWUwNTUnLCB2PScxMTQuNjgxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYWVlNjUnLCB2PScxMjAuODUxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYWZjNzUnLCB2PScxMTkuMDk5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYjBhODUnLCB2PScxMTYuNjA5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYjI2YTYnLCB2PScxMTYuNzI5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYjM0YjYnLCB2PScxMTguMDQ1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYjQyYzYnLCB2PScxMTUuNDc3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYjUwZDYnLCB2PScxMTUuODkxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYjVlZTcnLCB2PScxMTQuMjQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiNmNmNicsIHY9JzEyMi43OTQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiN2IwNycsIHY9JzExOS4wMDInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiODkxNycsIHY9JzExOC43MDEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiOTcyOCcsIHY9JzExOS42MDInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiYTUzNycsIHY9JzEyMC45NjMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiYjM0NycsIHY9JzExOS45MjQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiYzE1NycsIHY9JzEyMC42MjgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiY2Y2NycsIHY9JzEyMy4xMjInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiZGQ4MScsIHY9JzExOC42ODMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiZWI4NicsIHY9JzExOC4zMDEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiZjk5NScsIHY9JzExOC44ODInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjMDdhNicsIHY9JzEyMC4xODcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjMTViNScsIHY9JzExOS41NzYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjMjNjNicsIHY9JzExOC4yNDMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjMzFkNScsIHY9JzExNS42OTInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjM2ZlNicsIHY9JzExNy41NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2M0ZGY1Jywgdj0nMTE2LjA1NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2M1YzA2Jywgdj0nMTE3LjQxMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2M2YTE2Jywgdj0nMTE3LjQ4NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2M3ODI2Jywgdj0nMTE2Ljc0NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2M4NjM2Jywgdj0nMTE4LjI2NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2M5NDQ2Jywgdj0nMTE4LjIwMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2NhMjU2Jywgdj0nMTE4LjAwNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2NiMDY2Jywgdj0nMTE3LjI1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2NiZTc2Jywgdj0nMTIyLjcxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nY2NjODcnLCB2PScxMTguNzM2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nY2RhOTYnLCB2PScxMTYuNzM0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nY2U4YTgnLCB2PScxMTguMzM5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nY2Y2YjcnLCB2PScxMTguNjYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkMDRjOCcsIHY9JzExOS43MDMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkMTJkNycsIHY9JzEyMS41MzYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkMjBlNycsIHY9JzEyMy40MTknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkMmYwMicsIHY9JzEyNi4xODYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkM2QwNScsIHY9JzExOS4zMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2Q0YjE1Jywgdj0nMTIwLjU4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZDU5MjYnLCB2PScxMjAuODU3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZDY3MzUnLCB2PScxMTkuNTgyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZDc1NDYnLCB2PScxMTcuNDI2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZDgzNTUnLCB2PScxMjQuMzQ5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZDkxNjYnLCB2PScxMjIuNDM1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZDlmNzUnLCB2PScxMjAuNjkyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZGFkODcnLCB2PScxMTcuMjMzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZGJiOTcnLCB2PScxMTYuODYyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZGM5YTgnLCB2PScxMTYuNzI4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZGQ3YjcnLCB2PScxMTguMjEyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZGU1YzYnLCB2PScxMTcuODU3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZGYzZDcnLCB2PScxMTcuMTc2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZTAxZDcnLCB2PScxMTcuMjcxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZTBmZTUnLCB2PScxMTYuNzk2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZTFkZjUnLCB2PScxMTcuMzYxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZTJjMDQnLCB2PScxMTkuNzY5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZTNhMTQnLCB2PScxMjEuMDUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlNDgyNCcsIHY9JzEyMC45MjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlNTYzNCcsIHY9JzEyMi40OTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlNjQ0NCcsIHY9JzEyMC42NzcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlNzI1NScsIHY9JzEyMi42NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2U4MDZmJywgdj0nMTIzLjc3OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2U4ZTdmJywgdj0nMTE2LjY1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2U5YzhlJywgdj0nMTE4LjEwOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2VhYTlmJywgdj0nMTE4LjM3MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2ViOGFlJywgdj0nMTE3LjUyNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2VjNmJmJywgdj0nMTEzLjUxOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2VkNGNlJywgdj0nMTIzLjQ5NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2VlMmRmJywgdj0nMTIwLjYxMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2VmMGVmJywgdj0nMTE4LjcwNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2VmZjAxJywgdj0nMTE1LjY1MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2YwZDEwJywgdj0nMTE3LjQ4NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2YxYjIwJywgdj0nMTE3LjE4NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2YyOTMwJywgdj0nMTIxLjExNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2YzNzQwJywgdj0nMTE3LjYxMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2Y0NTUxJywgdj0nMTE3Ljg5MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2Y1MzYxJywgdj0nMTE3LjcxOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2Y2MTcyJywgdj0nMTE3LjU4NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2Y2ZjgwJywgdj0nMTE3LjM4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZjdkOTEnLCB2PScxMTkuMjIyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZjhiYTEnLCB2PScxMjEuMDM3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZjk5YjEnLCB2PScxMjAuMjIxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZmE3YzAnLCB2PScxMTguMzc5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZmI1ZDEnLCB2PScxMTguMjM4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZmMzZTAnLCB2PScxMjMuMDM3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZmQxZmInLCB2PScxMjMuMDA3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZmUwMGInLCB2PScxMjYuMjk0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZmVlMWMnLCB2PScxMjMuNjgyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZmZjMmMnLCB2PScxMjMuNTkxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTAwYTNiJywgdj0nMTIyLjkxOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEwMTg0YycsIHY9JzEyMS4zODcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMDI2NWInLCB2PScxMTcuNTg2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTAzNDZjJywgdj0nMTE3LjcxNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEwNDI3YicsIHY9JzExOS4xOTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMDUwOGQnLCB2PScxMTcuMzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTA1ZTlkJywgdj0nMTE3Ljg2MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEwNmNhZCcsIHY9JzExNy41MzEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMDdhYmQnLCB2PScxMTkuODg2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTA4OGNkJywgdj0nMTE5LjQyNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEwOTZkZScsIHY9JzExOC43MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEwYTRlZCcsIHY9JzExOS4wMDQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMGIyZmUnLCB2PScxMTguNzI1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTBjMTBkJywgdj0nMTE2LjE5NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEwY2YxZScsIHY9JzExOC4xMTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMGRkMmUnLCB2PScxMTkuMDAxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTBlYjY2Jywgdj0nMTIwLjk2MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEwZjk0ZScsIHY9JzEyMS4zNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExMDc1ZScsIHY9JzExOS4xNTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMTE1NmQnLCB2PScxMjAuNzk3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTEyMzg4Jywgdj0nMTIzLjUxOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExMzE4NycsIHY9JzEyMi4zNjYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMTNmYjAnLCB2PScxMjMuMzgxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTE0ZGE2Jywgdj0nMTIzLjI5NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExNWJiNicsIHY9JzEyMy4wNDcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMTY5YzYnLCB2PScxMjAuODc0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTE3N2Q2Jywgdj0nMTE4LjAxNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExODVlOCcsIHY9JzExOC4zODgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMTkzZjcnLCB2PScxMTcuNzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTFhMjA4Jywgdj0nMTE5Ljc2MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExYjAxNycsIHY9JzEyMS41NDcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMWJlMmYnLCB2PScxMjIuMDI4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTFjYzM3Jywgdj0nMTIyLjE5NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExZGE0NycsIHY9JzEyMS43ODMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMWU4NTcnLCB2PScxMjAuNTgxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTFmNjY3Jywgdj0nMTIxLjY4NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyMDU3OCcsIHY9JzEyMC45NzInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMjEzODYnLCB2PScxMTYuODM2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTIyMTk2Jywgdj0nMTE3LjYzMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyMmZhNicsIHY9JzExOC44MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyM2RiNScsIHY9JzEyMC43NDYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMjRiYzUnLCB2PScxMjIuNTQxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTI1OWQ1Jywgdj0nMTIwLjI0OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyNjdlNCcsIHY9JzEyMi43MDgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMjc2MDAnLCB2PScxMjQuNTM4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTI4MzA1Jywgdj0nMTI1LjI4OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyOTExNScsIHY9JzEyNS4zMjUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMjlmMjUnLCB2PScxMjUuNDknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMmFkMzUnLCB2PScxMjQuNjcyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTJiYjQ1Jywgdj0nMTIyLjgxMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyYzk1NCcsIHY9JzEyMS41NzMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMmQ3NjYnLCB2PScxMjAuNzE5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTJlNTc1Jywgdj0nMTE5LjcwNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyZjM4NicsIHY9JzExNi45MzUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMzAxOTYnLCB2PScxMTcuMjU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTMwZmE2Jywgdj0nMTE4LjM2NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzMWRiNycsIHY9JzExOS44MjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMzJiYzUnLCB2PScxMTkuNjA3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTMzOWQ0Jywgdj0nMC4xMDknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMzQ3ZTUnLCB2PScwLjEwOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzNTVmNCcsIHY9JzAuMTA4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTM2NDA0Jywgdj0nMC4xMDYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMzcyMTQnLCB2PScwLjEwNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzODAyNCcsIHY9JzAuMTA3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTM4ZTMzJywgdj0nMC4xMDgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMzljNDQnLCB2PScwLjEwOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzYWE1NCcsIHY9JzAuMTA4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTNiODY1Jywgdj0nMC4xMDknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxM2M2N2UnLCB2PScwLjEwMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzZDQ4ZScsIHY9JzAuMTA0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTNlMjllJywgdj0nMC4xMDYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxM2YwYWUnLCB2PScwLjEwNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzZmViZicsIHY9JzAuMTA0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTQwY2NmJywgdj0nMC4xMDInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNDFhZGYnLCB2PScwLjEwNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0MjhlZicsIHY9JzAuMTA4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTQzNmZmJywgdj0nMC4xMDcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNDQ1MGYnLCB2PScwLjEwNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0NTMxZicsIHY9JzAuMTA3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTQ2MTMwJywgdj0nMC4xMDgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNDZmNDAnLCB2PScwLjExJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTQ3ZDQ0Jywgdj0nMC4xMDgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNDhiNTcnLCB2PScwLjEwOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0OTk2NScsIHY9JzAuMTA4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTRhNzc1Jywgdj0nMC4xMDYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNGI1ODQnLCB2PScwLjExJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTRjMzk3Jywgdj0nMC4xMDcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNGQxYTQnLCB2PScwLjEwNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0ZGZiNicsIHY9JzAuMTA4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTRlZGM1Jywgdj0nMC4xMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0ZmJkNScsIHY9JzAuMTEyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTUwOWU1Jywgdj0nMC4xMTInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNTE3ZmYnLCB2PScwLjExNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1MjYwNScsIHY9JzAuMTA4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTUzNDE1Jywgdj0nMC4xMDknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNTQyMjUnLCB2PScwLjExJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTU1MDM1Jywgdj0nMC4xMDknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNTVlNDUnLCB2PScwLjEwNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1NmM1NScsIHY9JzAuMTA0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTU3YTY1Jywgdj0nMC4xMDcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNTg4NzUnLCB2PScwLjEwNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1OTY4NicsIHY9JzAuMTA2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTVhNDk1Jywgdj0nMC4xMDcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNWIyYTYnLCB2PScwLjEwOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1YzBiNicsIHY9JzAuMTA5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTVjZWM2Jywgdj0nMC4xMDknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNWRjZDUnLCB2PScwLjEwOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1ZWFlNicsIHY9JzAuMTA4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTVmOGY1Jywgdj0nMC4xMDQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNjA3MDYnLCB2PScwLjExJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTYxNTE3Jywgdj0nMC4xMDknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNjIzMjYnLCB2PScwLjExJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTYzMTM3Jywgdj0nMC4xMTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNjNmNDYnLCB2PScwLjEwOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2NGQ1NycsIHY9JzAuMTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNjViNjcnLCB2PScwLjExMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2Njk4MicsIHY9JzAuMTExJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTY3Nzg2Jywgdj0nMC4xMTInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNjg1OTYnLCB2PScwLjExMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2OTNhNicsIHY9JzAuMTEzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTZhMWI1Jywgdj0nMC4xMTInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNmFmYzYnLCB2PScwLjExMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2YmRkNScsIHY9JzAuMTA5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTZjYmU2Jywgdj0nMC4xMDcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNmQ5ZjYnLCB2PScwLjExMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2ZTgwNycsIHY9JzAuMTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNmY2MTYnLCB2PScwLjExJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTcwNDI5Jywgdj0nMC4xMTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNzEyMzYnLCB2PScwLjExMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3MjA0NycsIHY9JzAuMTEyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTcyZTU3Jywgdj0nMC4xMTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNzNjNjcnLCB2PScwLjExMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3NGE3NycsIHY9JzAuMTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNzU4ODcnLCB2PScwLjEwOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3NjY5NCcsIHY9JzExOC4zNTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNzc0YTMnLCB2PScxMTkuNzYzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTc4MmIzJywgdj0nMTIwLjg3MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3OTBjNScsIHY9JzEyMS40NDMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNzllZDQnLCB2PScxMjQuNTg3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTdhY2U0Jywgdj0nMTI3LjExOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3YmFmZCcsIHY9JzEyOC44ODcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxN2M5MGYnLCB2PScxMjcuMTA3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTdkNzFlJywgdj0nMTI3LjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxN2U1MmYnLCB2PScxMjcuMzUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxN2YzM2YnLCB2PScxMjYuNTUyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTgwMTRmJywgdj0nMTI0LjcxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTgwZjVmJywgdj0nMTI0LjA3NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4MWQ2ZScsIHY9JzEyNS4wOTknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxODJiN2YnLCB2PScxMjUuMDI1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTgzOThmJywgdj0nMTIzLjk1NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4NDdhMScsIHY9JzEyMy42NDEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxODU1YWYnLCB2PScxMjQuMzA4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTg2M2MwJywgdj0nMTI2LjIwMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4NzFjZicsIHY9JzEyNS40MjYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxODdmZTAnLCB2PScxMjUuMDQ1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTg4ZGVmJywgdj0nMTI0Ljg2OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4OWMwMCcsIHY9JzEyMy44NTQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOGI4MGQnLCB2PScxMTcuMTc3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMThjNjFjJywgdj0nMTIwLjk4NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4ZDQyYycsIHY9JzEyMS42ODknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOGUyM2InLCB2PScxMjEuNTE0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMThmMDRiJywgdj0nMTIzLjc2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMThmZTVlJywgdj0nMTI1Ljg0OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5MGM3NicsIHY9JzEyMy4xNjInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOTFhODYnLCB2PScxMjQuODcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOTI4OTYnLCB2PScxMjYuNDU3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTkzNmE2Jywgdj0nMTI2LjU2NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5NDRiNycsIHY9JzEyNS44MjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOTUyYzYnLCB2PScxMjMuNjU0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTk2MGQ3Jywgdj0nMTIwLjk4NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5NmVlNicsIHY9JzEyMS4wMTknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOTdjZjgnLCB2PScxMjAuNzcxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTk4YjBmJywgdj0nMTIwLjEzOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5OTkxZicsIHY9JzEyMC4wNjcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOWI1NDEnLCB2PScxMjIuNDU5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTljMzRkJywgdj0nMTIxLjYwMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5ZDE1ZScsIHY9JzEyMC44NTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOWRmODAnLCB2PScxMjAuODgyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTllZDkwJywgdj0nMTIwLjA0OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5ZWViZScsIHY9JzExOS45MDMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOWZiOGUnLCB2PScxMTYuMDEyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWEwOWEwJywgdj0nMTE5LjI4MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhMTdhZScsIHY9JzEyMC4zMDMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYTI1YmUnLCB2PScxMjEuNzI4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWEzM2NkJywgdj0nMTIxLjUxNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhNDFkZCcsIHY9JzEyMi44NDknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYTRmZWQnLCB2PScxMjYuMDkzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWE1ZTA4Jywgdj0nMTI2LjcyNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhNmMwNScsIHY9JzEyNC44ODMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYTdhMTUnLCB2PScxMjUuOTMxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWE4ODI2Jywgdj0nMTI2LjA5NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhOTYzNycsIHY9JzEyNC45MDYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYWE0NDUnLCB2PScxMjMuNjU0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWFiMjU1Jywgdj0nMTIxLjQ5MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhYzA2NScsIHY9JzEyMy44OTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYWNlNzUnLCB2PScxMjMuNzU2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWFkYzg3Jywgdj0nMTIyLjM2OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhZWE5NicsIHY9JzEyMS45MzQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYWY4YTcnLCB2PScxMjIuMzA2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWIwNmI3Jywgdj0nMTI0LjA0MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFiMTRjNicsIHY9JzEyMy42OTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYzc0NjAnLCB2PScxMjAuMDI5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWM4MjcwJywgdj0nMTIwLjAzMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFjOTA3ZScsIHY9JzExOS4zMTQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYzllOGYnLCB2PScxMjAuNDc5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWNhY2EyJywgdj0nMTIxLjkxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWNiYWIxJywgdj0nMTIyLjQ4NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFjYzhjMScsIHY9JzExOC41NjQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxY2Q2ZDAnLCB2PScxMTkuMzY3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWNlNGRlJywgdj0nMTIwLjgwOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFjZjJmMCcsIHY9JzEyMy4xMDUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZDAxMDknLCB2PScxMjUuMDIxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWQwZjA2Jywgdj0nMTIzLjI3NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkMWQxNScsIHY9JzEyMy45MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkMmIyNScsIHY9JzEyMy44NzYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZDM5MzUnLCB2PScxMjIuODgzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWQ0NzQ1Jywgdj0nMTIyLjA3MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkNTU1NScsIHY9JzEyMS41NDQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZDYzNjYnLCB2PScxMjMuMjcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZDcxNzUnLCB2PScxMjMuNTEzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWQ3Zjg2Jywgdj0nMTIyLjYwNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkOGQ5NScsIHY9JzEyMS4yODEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZDliYTYnLCB2PScxMjEuNzE2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWRhOWI2Jywgdj0nMTIyLjcxNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkYjdjNycsIHY9JzEyMy4xMjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZGM1ZDUnLCB2PScxMjMuNDMxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWRkM2U2Jywgdj0nMTIyLjk4NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkZTFmNScsIHY9JzExOS4yNjInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZGYwMDYnLCB2PScxMTguMDg3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWRmZTE2Jywgdj0nMTE2LjUzMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlMGMyNicsIHY9JzExOC42MTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZTFhMzYnLCB2PScxMTkuNzA2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWUyODQ3Jywgdj0nMTIwLjg5OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlMzY1OScsIHY9JzEyMC43MTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZTQ0NjcnLCB2PScxMjEuNjI0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWU1MjgxJywgdj0nMTE3LjkyNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlNjA4NicsIHY9JzEyMC45MjgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZTZlOTYnLCB2PScxMjIuMzQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZTdjYTYnLCB2PScxMjIuOTcyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWU4YWI1Jywgdj0nMTIzLjA1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWU5OGM2Jywgdj0nMTIyLjQ0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWVhNmQ1Jywgdj0nMTIwLjczNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlYjRlNicsIHY9JzEyMC43MTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZWMyZjYnLCB2PScxMjMuNjg4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWVkMTA2Jywgdj0nMTIyLjg1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlZGYxNicsIHY9JzEyMi43NTQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZWVkMjYnLCB2PScxMjIuOTc1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWVmYjM2Jywgdj0nMTIzLjQ5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWYwOTQ2Jywgdj0nMTIzLjI3OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmMTc1NicsIHY9JzEyMS43NzYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZjI1NjYnLCB2PScxMjEuNDU4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWYzMzc2Jywgdj0nMTIwLjEwOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmNDE4NycsIHY9JzExNi44MzInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZjRmOTYnLCB2PScxMTkuOTQ4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWY1ZGE3Jywgdj0nMTIwLjAyMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmNmJiNicsIHY9JzEyMC44ODQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZjc5YzcnLCB2PScxMTkuNjE4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWY4N2Q2Jywgdj0nMTIyLjgxMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmOTVlNycsIHY9JzEyMy45OTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZmE0MDEnLCB2PScxMjYuNjU0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWZiMjA0Jywgdj0nMTI1LjU3NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmYzAxNicsIHY9JzEyNi40OTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZmNlMjUnLCB2PScxMjYuMDIxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWZkYzM1Jywgdj0nMTI1LjUyMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmZWE0NScsIHY9JzEyMy4xMDQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZmY4NTUnLCB2PScxMjEuMDczJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjAwNjY1Jywgdj0nMTE3Ljk5NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwMTQ3NScsIHY9JzExOS4zNzYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMDIyODYnLCB2PScxMTkuMzAyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjAzMDk1Jywgdj0nMTIwLjI0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjAzZWE1Jywgdj0nMTIwLjQ5NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwNGNiNicsIHY9JzEyMy4yNzYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMDVhYzYnLCB2PScxMjEuMjg3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjA2OGQ2Jywgdj0nMTIwLjQ5MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwNzZlNicsIHY9JzExOS42NDMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMDg0ZjYnLCB2PScxMTcuNjI2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjA5MzA2Jywgdj0nMTIxLjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMGExMTYnLCB2PScxMjAuODYxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjBhZjI2Jywgdj0nMTIwLjQ5MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwYmQzNycsIHY9JzEyMS41MjYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMGNiNDYnLCB2PScxMTkuNDYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMGQ5NTcnLCB2PScxMjAuMjg0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjBlNzY3Jywgdj0nMTIxLjcxMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwZjU4MScsIHY9JzEyNC4yMDMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMTAzODYnLCB2PScxMjYuNTg3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjExMTk0Jywgdj0nMTI0LjYyNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxMWZhNScsIHY9JzEyNC41MjYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMTJkYjUnLCB2PScxMjMuODIxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjEzYmM1Jywgdj0nMTIyLjM1NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxNDlkNicsIHY9JzExOC42NDInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMTU3ZTUnLCB2PScxMTYuNjUxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjE2NWY2Jywgdj0nMTIyLjQzOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxNzQwNicsIHY9JzEyMC4yMzInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMTgyMTcnLCB2PScxMTkuMzIyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjE5MDI2Jywgdj0nMTIwLjIzNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxOWUzOScsIHY9JzEyMC4zNDYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMWFjNDYnLCB2PScxMTkuMTQ4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjFiYTU3Jywgdj0nMTE4LjkwNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxYzg2NycsIHY9JzExNy44NzQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMWQ2NzcnLCB2PScxMjIuNTg0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjFlNDg3Jywgdj0nMTIwLjI1MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxZjI5NicsIHY9JzEyMC40NjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMjAwYTYnLCB2PScxMjEuMzAzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjIwZWI3Jywgdj0nMTIyLjE4MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyMWNjNicsIHY9JzExOC43NDcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMjJhZDcnLCB2PScxMjAuODEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMjM4ZTcnLCB2PScxMjMuOTM3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjI0NzAxJywgdj0nMTI2LjY4NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyNTUwNScsIHY9JzExOS41NTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMjYzMTUnLCB2PScxMTkuNzU3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjI3MTI1Jywgdj0nMTE5Ljc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyN2YzNScsIHY9JzExNy41NTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMjhkNDUnLCB2PScxMTYuMjYyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjI5YjU0Jywgdj0nMTIyLjQ2OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyYTk2NScsIHY9JzExOS43NjUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMmI3NzYnLCB2PScxMTkuNzgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMmM1ODYnLCB2PScxMTkuMDA2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjJkMzk3Jywgdj0nMTE4LjY5NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyZTFhNicsIHY9JzExOS4wMTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMmVmYjYnLCB2PScxMjAuNzY1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjJmZGM3Jywgdj0nMTIwLjQxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjMwYmQ3Jywgdj0nMTE5LjYwOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzMTllNicsIHY9JzExOS4yNjgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzI3ZjYnLCB2PScxMTguMjIxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjMzNjFiJywgdj0nMTE5LjIzNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzNDQxNicsIHY9JzExOC4xOTknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzUyMjYnLCB2PScxMTkuNTI0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjM2MDM3Jywgdj0nMTIwLjc2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjM2ZTQ2Jywgdj0nMTE4LjQ0NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzN2M1NycsIHY9JzExOS44NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzOGE2NicsIHY9JzEyMS40NTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzk4ODEnLCB2PScxMjAuOTM3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjNhNjg1Jywgdj0nMTIyLjM1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzYjQ5NScsIHY9JzEyMy4wODUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyM2MyYTQnLCB2PScxMjMuMTQ1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjNkMGI1Jywgdj0nMTIyLjI3NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzZGVjNCcsIHY9JzEyMS4xNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyM2VjZDUnLCB2PScxMTkuMzEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyM2ZhZTQnLCB2PScxMjAuNjE2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjQwOGY2Jywgdj0nMTE4LjQ4MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0MTcwNicsIHY9JzExNy43ODknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNDI1MTgnLCB2PScxMTguMTc4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjQzMzI1Jywgdj0nMTE4LjY1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjQ0MTM3Jywgdj0nMTE5Ljg5MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0NGY0NicsIHY9JzExOS4xNzInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNDZiNjYnLCB2PScxMTguODgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNDc5NzYnLCB2PScxMTguMDMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNDg3ODYnLCB2PScxMTUuMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0OTU3ZScsIHY9JzExOC4wOTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNGEzOGYnLCB2PScxMTkuNjAxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjRiMTljJywgdj0nMTIwLjg0NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0YmZhYycsIHY9JzEyMC4wOTQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNGNkYmMnLCB2PScxMjMuODUxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjRkYmNkJywgdj0nMTIzLjQ5OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0ZTllNScsIHY9JzEyNC44MDYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNGY4MDgnLCB2PScxMjQuMjcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNTA2MTYnLCB2PScxMjQuOTg1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjUxNDI2Jywgdj0nMTI1LjAyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjUyMjM2Jywgdj0nMTIzLjQ4MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1MzA0NycsIHY9JzEyMi40MzYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNTNlNTYnLCB2PScxMjAuMDQxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjU0YzY3Jywgdj0nMTE5LjQ5NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1NWE3NicsIHY9JzExOS4zNjInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNTY4ODcnLCB2PScxMTcuNzY3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjU3Njk3Jywgdj0nMTE4LjYxNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1ODRhOCcsIHY9JzExNy4yNzQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNTkyYjYnLCB2PScxMTguOTc1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjVhMGM3Jywgdj0nMTE5Ljc5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjVhZWQ3Jywgdj0nMTE5LjMzMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1YmNlNycsIHY9JzExOS4xOTQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNWNhZjgnLCB2PScxMTguNjM3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjVkOTA3Jywgdj0nMTIwLjUzNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1ZTcxOCcsIHY9JzExOS44JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjVmNTI3Jywgdj0nMTIwLjQwMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2MDMzOCcsIHY9JzEyMS4wNTQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNjExNDknLCB2PScxMTkuNDEzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjYxZjU5Jywgdj0nMTIwLjM4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjYyZDY4Jywgdj0nMTIzLjIwMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2M2I4MycsIHY9JzEyMS4xNDMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNjQ5ODYnLCB2PScxMjIuOTc2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjY1Nzk1Jywgdj0nMTIzLjY5NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2NjVhNicsIHY9JzEyNC40NzYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNjczYjUnLCB2PScxMjMuNTkyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjY4MWM2Jywgdj0nMTIzLjE3NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2OGZkNScsIHY9JzEyMS44NTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNjlkZTYnLCB2PScxMjEuMjk4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjZhYmY2Jywgdj0nMTIwLjU5MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2YmEwNicsIHY9JzExOC43NjMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNmM4MTcnLCB2PScxMTguMjc4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjZkNjJiJywgdj0nMTE4LjU5NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2ZTQzNicsIHY9JzExOS45ODQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNmYyNDcnLCB2PScxMTkuNTIzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjcwMDU3Jywgdj0nMTE5LjU3NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI3MGU2NycsIHY9JzExOS4wMTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNzFjNzcnLCB2PScxMTkuNzIyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjcyYTg3Jywgdj0nMTIwLjg3NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI3Mzg5NycsIHY9JzEyMC42NjgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNzQ2YTgnLCB2PScxMjEuNDUxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjc1NGI5Jywgdj0nMTIxLjgzOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI3NjJjNycsIHY9JzExOS4wNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNzcwZDgnLCB2PScxMjEuMDMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNzdlZTcnLCB2PScxMjMuNTQ0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCSwgNSkKK1NBWC5lbmRFbGVtZW50KHBhcikKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCSwgNSkKK1NBWC5zdGFydEVsZW1lbnQocGFyLCBtZW1pbmQ9Jzk4MDgnLCBoPSczZGMxYThkZScpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzAnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZTA4Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFjMzInLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMmEzYycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczODM1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzQ2NDUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNTQ1NScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2MjY1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzcwNzUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nN2U4NScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4Yzk2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzlhYTUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYThiNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiNmM1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2M0ZDcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZDMwYicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlMGY2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2VmMDYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZmQxNycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMGIyNycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMTkzNycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMjc0NicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMzU1NicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNDM2NicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNTE4MScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNWY4NScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNmQ5NScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxN2JhNCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxODliNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOTdjNCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYTVkNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYjNlNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYzFmNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZDAwNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZGUxNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZWMyNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZmEzNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMDg0NScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMTY1NicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMjQ2NScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzI3NicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNDA4NicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNGU5OScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNWNhNycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNmFiNycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNzhjNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyODZkNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyOTRlNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyYTMwMScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyYjEwNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyYmYxNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyY2QyNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyZGIzNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyZTk0NicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyZjc1NScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczMDU2NicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczMTM3NScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczMjE5ZScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczMmY5NicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczM2RhNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczNGJiNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczNTlkZScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczNjdkNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczNzVlNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczODQwZScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczOTIxZScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczYTAxNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczYWUyNycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczYmMzNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczY2E0NycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczZDg1NicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczZTY2NycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczZjQ4MScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0MDI4NScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0MTA5NScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0MWVhNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0MmNiNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0M2FjNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0NDhkNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0NTZlNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0NjRmNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0ODBmZicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0OGYwZScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0OWQxZCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0YWI0NicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0Yjk1NScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0Yzc2OScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0ZDU3NycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0ZTM4NycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0ZjE5NicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0ZmZhNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1MGRkMCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1MWJjNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1MjlkNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1MzdlNycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1NDYwMCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1NTQwNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1NjIxNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1NzAyNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1N2UzNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1OGM0NicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1OWE3MCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1YTg2NycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1YjY3NicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1YzQ4NycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1ZDI5NicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1ZTBhOScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1ZWViOCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1ZmNjNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2MGFkNycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2MThlNycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2MjZmNycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2MzUwNycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2NDMxNycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2NTEyNycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2NWYzNycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2NmQ0NicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2N2I1NycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2ODk2NycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2OTc4MicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2YTU4NicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2YjM5NScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2YzFhNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2Y2ZiNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2ZGRjNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2ZWJkNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2ZjllNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3MDdmNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3MTYwNycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3MjQxNycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3MzIyNycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3NDAzNycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3NGU0NycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3NWM1NycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3NmE2MycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3Nzg3MycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3ODY4MCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3OTQ4ZicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3YTI5ZicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3YjBhZicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3YmViZicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3Y2NjZicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3ZGFkZicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3ZThmYScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3ZjcwYScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4MDUxYScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4MTMyYScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4MjEzYScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4MmY0YScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4M2Q1YScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4NGI2YScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4NTk3YScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4Njc4YicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4NzU5YicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4ODNhYycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4OTFiYicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4OWZjYScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4YWRkYScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4YmJlYicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4YzlmYycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4ZDgwYicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4ZTYxYScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4ZjQyYScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5MDIzYScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5MTA0YScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5MWU1YScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5MmM2YScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5M2E4NCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5NDg4NScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5NTY5NCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5NjRhNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5NzJiNCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5ODBjNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5OGVkNCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5OWNlNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5YWFmNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5YjkwNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5YzcxNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5ZDUyNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5ZTMzNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5ZjE0NScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5ZmY1NicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhMGQ2NScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhMWI3NycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhMjk4NicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhMzc5NScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhNDVhNycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhNTNiNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhNjFjNycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhNmZkNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhN2UwMCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhOGMwMCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhOWEwNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhYTgxNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhYjYyNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhYzQzNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhZDI0NScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhZTA1NScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhZWU2NScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhZmM3NScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiMGE4NScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiMjZhNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiMzRiNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiNDJjNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiNTBkNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiNWVlNycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiNmNmNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiN2IwNycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiODkxNycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiOTcyOCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiYTUzNycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiYjM0NycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiYzE1NycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiY2Y2NycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiZGQ4MScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiZWI4NicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiZjk5NScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjMDdhNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjMTViNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjMjNjNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjMzFkNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjM2ZlNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjNGRmNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjNWMwNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjNmExNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjNzgyNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjODYzNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjOTQ0NicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjYTI1NicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjYjA2NicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjYmU3NicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjY2M4NycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjZGE5NicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjZThhOCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjZjZiNycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkMDRjOCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkMTJkNycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkMjBlNycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkMmYwMicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkM2QwNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkNGIxNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkNTkyNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkNjczNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkNzU0NicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkODM1NScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkOTE2NicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkOWY3NScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkYWQ4NycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkYmI5NycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkYzlhOCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkZDdiNycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkZTVjNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkZjNkNycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlMDFkNycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlMGZlNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlMWRmNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlMmMwNCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlM2ExNCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlNDgyNCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlNTYzNCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlNjQ0NCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlNzI1NScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlODA2ZicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlOGU3ZicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlOWM4ZScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlYWE5ZicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlYjhhZScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlYzZiZicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlZDRjZScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlZTJkZicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlZjBlZicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlZmYwMScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmMGQxMCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmMWIyMCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmMjkzMCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmMzc0MCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmNDU1MScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmNTM2MScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmNjE3MicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmNmY4MCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmN2Q5MScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmOGJhMScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmOTliMScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmYTdjMCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmYjVkMScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmYzNlMCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmZDFmYicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmZTAwYicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmZWUxYycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmZmMyYycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMDBhM2InLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTAxODRjJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEwMjY1YicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMDM0NmMnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTA0MjdiJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEwNTA4ZCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMDVlOWQnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTA2Y2FkJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEwN2FiZCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMDg4Y2QnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTA5NmRlJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEwYTRlZCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMGIyZmUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTBjMTBkJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEwY2YxZScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMGRkMmUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTBlYjY2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEwZjk0ZScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMTA3NWUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTExNTZkJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExMjM4OCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMTMxODcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTEzZmIwJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExNGRhNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMTViYjYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTE2OWM2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExNzdkNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMTg1ZTgnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTE5M2Y3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExYTIwOCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMWIwMTcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTFiZTJmJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExY2MzNycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMWRhNDcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTFlODU3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExZjY2NycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMjA1NzgnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTIxMzg2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyMjE5NicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMjJmYTYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTIzZGI1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyNGJjNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMjU5ZDUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTI2N2U0Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyNzYwMCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMjgzMDUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTI5MTE1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyOWYyNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMmFkMzUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTJiYjQ1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyYzk1NCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMmQ3NjYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTJlNTc1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyZjM4NicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMzAxOTYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTMwZmE2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzMWRiNycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMzJiYzUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTMzOWQ0Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzNDdlNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMzU1ZjQnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTM2NDA0Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzNzIxNCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMzgwMjQnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTM4ZTMzJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzOWM0NCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxM2FhNTQnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTNiODY1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzYzY3ZScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxM2Q0OGUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTNlMjllJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzZjBhZScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxM2ZlYmYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTQwY2NmJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0MWFkZicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNDI4ZWYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTQzNmZmJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0NDUwZicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNDUzMWYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTQ2MTMwJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0NmY0MCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNDdkNDQnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTQ4YjU3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0OTk2NScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNGE3NzUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTRiNTg0Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0YzM5NycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNGQxYTQnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTRkZmI2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0ZWRjNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNGZiZDUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTUwOWU1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1MTdmZicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNTI2MDUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTUzNDE1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1NDIyNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNTUwMzUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTU1ZTQ1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1NmM1NScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNTdhNjUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTU4ODc1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1OTY4NicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNWE0OTUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTViMmE2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1YzBiNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNWNlYzYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTVkY2Q1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1ZWFlNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNWY4ZjUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTYwNzA2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2MTUxNycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNjIzMjYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTYzMTM3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2M2Y0NicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNjRkNTcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTY1YjY3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2Njk4MicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNjc3ODYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTY4NTk2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2OTNhNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNmExYjUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTZhZmM2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2YmRkNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNmNiZTYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTZkOWY2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2ZTgwNycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNmY2MTYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTcwNDI5Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3MTIzNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNzIwNDcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTcyZTU3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3M2M2NycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNzRhNzcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTc1ODg3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3NjY5NCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNzc0YTMnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTc4MmIzJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3OTBjNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNzllZDQnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTdhY2U0Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3YmFmZCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxN2M5MGYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTdkNzFlJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3ZTUyZicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxN2YzM2YnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTgwMTRmJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4MGY1ZicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxODFkNmUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTgyYjdmJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4Mzk4ZicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxODQ3YTEnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTg1NWFmJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4NjNjMCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxODcxY2YnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTg3ZmUwJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4OGRlZicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxODljMDAnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMThiODBkJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4YzYxYycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOGQ0MmMnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMThlMjNiJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4ZjA0YicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOGZlNWUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTkwYzc2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5MWE4NicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOTI4OTYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTkzNmE2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5NDRiNycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOTUyYzYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTk2MGQ3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5NmVlNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOTdjZjgnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTk4YjBmJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5OTkxZicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOWI1NDEnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTljMzRkJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5ZDE1ZScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOWRmODAnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTllZDkwJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5ZWViZScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOWZiOGUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWEwOWEwJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhMTdhZScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYTI1YmUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWEzM2NkJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhNDFkZCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYTRmZWQnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWE1ZTA4Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhNmMwNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYTdhMTUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWE4ODI2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhOTYzNycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYWE0NDUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWFiMjU1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhYzA2NScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYWNlNzUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWFkYzg3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhZWE5NicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYWY4YTcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWIwNmI3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFiMTRjNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYzc0NjAnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWM4MjcwJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFjOTA3ZScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYzllOGYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWNhY2EyJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFjYmFiMScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxY2M4YzEnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWNkNmQwJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFjZTRkZScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxY2YyZjAnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWQwMTA5Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkMGYwNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZDFkMTUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWQyYjI1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkMzkzNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZDQ3NDUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWQ1NTU1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkNjM2NicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZDcxNzUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWQ3Zjg2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkOGQ5NScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZDliYTYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWRhOWI2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkYjdjNycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZGM1ZDUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWRkM2U2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkZTFmNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZGYwMDYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWRmZTE2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlMGMyNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZTFhMzYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWUyODQ3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlMzY1OScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZTQ0NjcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWU1MjgxJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlNjA4NicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZTZlOTYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWU3Y2E2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlOGFiNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZTk4YzYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWVhNmQ1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlYjRlNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZWMyZjYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWVkMTA2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlZGYxNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZWVkMjYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWVmYjM2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmMDk0NicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZjE3NTYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWYyNTY2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmMzM3NicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZjQxODcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWY0Zjk2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmNWRhNycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZjZiYjYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWY3OWM3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmODdkNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZjk1ZTcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWZhNDAxJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmYjIwNCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZmMwMTYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWZjZTI1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmZGMzNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZmVhNDUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWZmODU1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwMDY2NScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMDE0NzUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjAyMjg2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwMzA5NScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMDNlYTUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjA0Y2I2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwNWFjNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMDY4ZDYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjA3NmU2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwODRmNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMDkzMDYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjBhMTE2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwYWYyNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMGJkMzcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjBjYjQ2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwZDk1NycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMGU3NjcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjBmNTgxJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxMDM4NicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMTExOTQnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjExZmE1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxMmRiNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMTNiYzUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjE0OWQ2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxNTdlNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMTY1ZjYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjE3NDA2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxODIxNycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMTkwMjYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjE5ZTM5Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxYWM0NicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMWJhNTcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjFjODY3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxZDY3NycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMWU0ODcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjFmMjk2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyMDBhNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMjBlYjcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjIxY2M2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyMmFkNycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMjM4ZTcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjI0NzAxJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyNTUwNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMjYzMTUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjI3MTI1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyN2YzNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMjhkNDUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjI5YjU0Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyYTk2NScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMmI3NzYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjJjNTg2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyZDM5NycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMmUxYTYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjJlZmI2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyZmRjNycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzBiZDcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjMxOWU2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzMjdmNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzM2MWInLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjM0NDE2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzNTIyNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzYwMzcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjM2ZTQ2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzN2M1NycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzhhNjYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjM5ODgxJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzYTY4NScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyM2I0OTUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjNjMmE0Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzZDBiNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyM2RlYzQnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjNlY2Q1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzZmFlNCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNDA4ZjYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjQxNzA2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0MjUxOCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNDMzMjUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjQ0MTM3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0NGY0NicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNDZiNjYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjQ3OTc2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0ODc4NicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNDk1N2UnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjRhMzhmJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0YjE5YycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNGJmYWMnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjRjZGJjJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0ZGJjZCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNGU5ZTUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjRmODA4Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1MDYxNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNTE0MjYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjUyMjM2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1MzA0NycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNTNlNTYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjU0YzY3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1NWE3NicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNTY4ODcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjU3Njk3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1ODRhOCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNTkyYjYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjVhMGM3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1YWVkNycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNWJjZTcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjVjYWY4Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1ZDkwNycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNWU3MTgnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjVmNTI3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2MDMzOCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNjExNDknLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjYxZjU5Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2MmQ2OCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNjNiODMnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjY0OTg2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2NTc5NScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNjY1YTYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjY3M2I1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2ODFjNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNjhmZDUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjY5ZGU2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2YWJmNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNmJhMDYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjZjODE3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2ZDYyYicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNmU0MzYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjZmMjQ3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI3MDA1NycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNzBlNjcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjcxYzc3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI3MmE4NycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNzM4OTcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjc0NmE4Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI3NTRiOScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNzYyYzcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjc3MGQ4Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI3N2VlNycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJLCA1KQorU0FYLmVuZEVsZW1lbnQocGFyKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJLCA1KQorU0FYLnN0YXJ0RWxlbWVudChwYXIsIG1lbWluZD0nOTgwNCcsIGg9JzNkYzFhOGRlJykKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMCcsIHY9JzExMy43NjgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlMDgnLCB2PScxMTcuMTMxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWMzMicsIHY9JzExOC43OTQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyYTNjJywgdj0nMTIwLjM2MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzM4MzUnLCB2PScxMTguNTA0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNDY0NScsIHY9JzExNi4yNzUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1NDU1Jywgdj0nMTA5LjI1OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzYyNjUnLCB2PScxMjEuMTI3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNzA3NScsIHY9JzExOC44NDknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3ZTg1Jywgdj0nMTE2LjA5MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzhjOTYnLCB2PScxMjAuMTA4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOWFhNScsIHY9JzEyMC44NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2E4YjYnLCB2PScxMjQuMDQ1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYjZjNScsIHY9JzEyNC4wNDInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjNGQ3Jywgdj0nMTE3LjcxMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2QzMGInLCB2PScxMTguMDQ4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZTBmNicsIHY9JzExOC4wNTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlZjA2Jywgdj0nMTE4LjI1OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2ZkMTcnLCB2PScxMTguMDU0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTBiMjcnLCB2PScxMjAuODQ0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTE5MzcnLCB2PScxMjEuOTI1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTI3NDYnLCB2PScxMTkuMzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTM1NTYnLCB2PScxMjAuODY3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTQzNjYnLCB2PScxMjUuNDgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNTE4MScsIHY9JzEyNy40MzQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNWY4NScsIHY9JzExOS4wNjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNmQ5NScsIHY9JzEyMC45MDQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxN2JhNCcsIHY9JzEyMC45NzQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxODliNScsIHY9JzEyMC4yNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5N2M0Jywgdj0nMTE4LjI5MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhNWQ1Jywgdj0nMTI2LjU3MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFiM2U2Jywgdj0nMTI1LjYzNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFjMWY2Jywgdj0nMTI0LjY2OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkMDA1Jywgdj0nMTIxLjM5MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkZTE1Jywgdj0nMTIxLjk5OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlYzI1Jywgdj0nMTIyLjU1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmYTM2Jywgdj0nMTIzLjk0MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwODQ1Jywgdj0nMTI0Ljc0NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxNjU2Jywgdj0nMTI1LjA4NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyNDY1Jywgdj0nMTI1LjE0MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzMjc2Jywgdj0nMTIzLjMxNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0MDg2Jywgdj0nMTE5LjAyNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0ZTk5Jywgdj0nMTE4LjY4MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1Y2E3Jywgdj0nMTE5LjgxNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2YWI3Jywgdj0nMTE5LjI1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjc4YzYnLCB2PScxMTkuNjc4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjg2ZDYnLCB2PScxMjEuNzA4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjk0ZTYnLCB2PScxMjUuMTgyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMmEzMDEnLCB2PScxMjUuMjE3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMmIxMDUnLCB2PScxMTcuMTInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyYmYxNScsIHY9JzExOC40ODknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyY2QyNScsIHY9JzExOS4zMzgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyZGIzNScsIHY9JzExOS4zOTInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyZTk0NicsIHY9JzExNy4yNzcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyZjc1NScsIHY9JzExMi45NjcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczMDU2NicsIHY9JzEyNC43NzUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczMTM3NScsIHY9JzEyNC40MDknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczMjE5ZScsIHY9JzEyMy4yNjgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczMmY5NicsIHY9JzEyMi45NTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczM2RhNicsIHY9JzEyMy4wMzInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczNGJiNicsIHY9JzEyMy41NTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczNTlkZScsIHY9JzEyMy4wMDQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczNjdkNicsIHY9JzEyMi4xMjUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczNzVlNicsIHY9JzEyMS4wNzgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczODQwZScsIHY9JzExNy43MDEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczOTIxZScsIHY9JzExOC4xMDEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczYTAxNicsIHY9JzExNy43NzEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczYWUyNycsIHY9JzEyMS4zOTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczYmMzNicsIHY9JzEyMC4xNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzNjYTQ3Jywgdj0nMTE5LjM4NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzNkODU2Jywgdj0nMTE5Ljg4NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzNlNjY3Jywgdj0nMTIyLjY0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nM2Y0ODEnLCB2PScxMjUuOTU0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNDAyODUnLCB2PScxMjMuNTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0MTA5NScsIHY9JzEyNC4zMjgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0MWVhNScsIHY9JzEyNC42MzknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0MmNiNScsIHY9JzEyNC40NDgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0M2FjNScsIHY9JzEyMi40MzQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0NDhkNScsIHY9JzExOC42MjMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0NTZlNicsIHY9JzEyMi4xNjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0NjRmNScsIHY9JzEyMC45NzknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0ODBmZicsIHY9JzExOC4zNTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0OGYwZScsIHY9JzExNy4yNzEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0OWQxZCcsIHY9JzExOC42OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzRhYjQ2Jywgdj0nMTE4LjU2MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzRiOTU1Jywgdj0nMTE2Ljg0MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzRjNzY5Jywgdj0nMTE1LjkxMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzRkNTc3Jywgdj0nMTE4Ljg5NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzRlMzg3Jywgdj0nMTE4LjU5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNGYxOTYnLCB2PScxMTYuMjkzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNGZmYTYnLCB2PScxMTguMjk5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNTBkZDAnLCB2PScxMjAuMjMzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNTFiYzYnLCB2PScxMTguNDk1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNTI5ZDYnLCB2PScxMjAuNDA2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNTM3ZTcnLCB2PScxMjIuNjQ0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNTQ2MDAnLCB2PScxMjUuNTI4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNTU0MDYnLCB2PScxMjEuNzQ2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNTYyMTUnLCB2PScxMjIuNjQyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNTcwMjYnLCB2PScxMjIuNTgxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNTdlMzYnLCB2PScxMjIuNjIzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNThjNDYnLCB2PScxMjAuNDMxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNTlhNzAnLCB2PScxMjEuMzI5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNWE4NjcnLCB2PScxMjAuNjUxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNWI2NzYnLCB2PScxMTguODc2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNWM0ODcnLCB2PScxMTUuNjYxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNWQyOTYnLCB2PScxMTkuODM1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNWUwYTknLCB2PScxMjAuMzQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1ZWViOCcsIHY9JzExOS40MzknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1ZmNjNicsIHY9JzExOC4yNDUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2MGFkNycsIHY9JzExNy4wMDQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2MThlNycsIHY9JzExNy4xNjUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2MjZmNycsIHY9JzExOS45NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzYzNTA3Jywgdj0nMTE3LjE0OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzY0MzE3Jywgdj0nMTE4LjU0MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzY1MTI3Jywgdj0nMTE5LjgyMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzY1ZjM3Jywgdj0nMTIxLjAxMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzY2ZDQ2Jywgdj0nMTIxLjU3NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzY3YjU3Jywgdj0nMTIwLjI4OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzY4OTY3Jywgdj0nMTIyLjYyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNjk3ODInLCB2PScxMTkuMDkzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNmE1ODYnLCB2PScxMjAuNDkzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNmIzOTUnLCB2PScxMjEuOTE5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNmMxYTYnLCB2PScxMjIuMjE4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNmNmYjUnLCB2PScxMjEuMDIyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNmRkYzYnLCB2PScxMTguNDMzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNmViZDYnLCB2PScxMTUuOTc4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNmY5ZTYnLCB2PScxMjAuOTcxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNzA3ZjYnLCB2PScxMTkuMjM0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNzE2MDcnLCB2PScxMTguMDE1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNzI0MTcnLCB2PScxMTcuOTIyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNzMyMjcnLCB2PScxMTcuNTY2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNzQwMzcnLCB2PScxMjEuNDY5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNzRlNDcnLCB2PScxMjAuNTE0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNzVjNTcnLCB2PScxMTguNDg1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNzZhNjMnLCB2PScxMTcuODg5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNzc4NzMnLCB2PScxMTcuOTQ2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNzg2ODAnLCB2PScxMTMuNjExJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNzk0OGYnLCB2PScxMTYuNTgzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nN2EyOWYnLCB2PScxMTkuMzA2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nN2IwYWYnLCB2PScxMTguODAyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nN2JlYmYnLCB2PScxMjAuNzk5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nN2NjY2YnLCB2PScxMjAuODU3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nN2RhZGYnLCB2PScxMjEuNTk0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nN2U4ZmEnLCB2PScxMjEuNDIxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nN2Y3MGEnLCB2PScxMjMuNzQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4MDUxYScsIHY9JzEyNS4xODknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4MTMyYScsIHY9JzEyNS42NzMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4MjEzYScsIHY9JzEyNC43NzcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4MmY0YScsIHY9JzEyMi40MzInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4M2Q1YScsIHY9JzEyMC4wMTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4NGI2YScsIHY9JzExOC42MjInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4NTk3YScsIHY9JzExOC41NTknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4Njc4YicsIHY9JzExNy41MjQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4NzU5YicsIHY9JzExNy4yNTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4ODNhYycsIHY9JzExOS45MDknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4OTFiYicsIHY9JzEyMC45MjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4OWZjYScsIHY9JzExOS45NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzhhZGRhJywgdj0nMTE4LjQ4MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzhiYmViJywgdj0nMTE4LjYwNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzhjOWZjJywgdj0nMTE4LjI4MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzhkODBiJywgdj0nMTE4LjY2MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzhlNjFhJywgdj0nMTE3LjAwOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzhmNDJhJywgdj0nMTE3Ljc2NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzkwMjNhJywgdj0nMTE5LjcyMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzkxMDRhJywgdj0nMTIwLjI5OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzkxZTVhJywgdj0nMTE4LjM2NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzkyYzZhJywgdj0nMTIyLjUyOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzkzYTg0Jywgdj0nMTI0LjgzMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzk0ODg1Jywgdj0nMTIzLjA2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOTU2OTQnLCB2PScxMjIuMzk2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOTY0YTUnLCB2PScxMjIuNzkyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOTcyYjQnLCB2PScxMjIuMjMyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOTgwYzUnLCB2PScxMTkuNzknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5OGVkNCcsIHY9JzEyMi44NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzk5Y2U1Jywgdj0nMTE5LjAxMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzlhYWY1Jywgdj0nMTE4LjMyMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzliOTA2Jywgdj0nMTE1LjQ1NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzljNzE2Jywgdj0nMTE5LjM3NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzlkNTI2Jywgdj0nMTIwLjM0NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzllMzM2Jywgdj0nMTE5LjI1NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzlmMTQ1Jywgdj0nMTE3LjgzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOWZmNTYnLCB2PScxMTcuMDAxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYTBkNjUnLCB2PScxMTYuNzgyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYTFiNzcnLCB2PScxMTYuODAzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYTI5ODYnLCB2PScxMTguNzUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhMzc5NScsIHY9JzExOC4zNTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhNDVhNycsIHY9JzExOS40OTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhNTNiNicsIHY9JzExOS42OTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhNjFjNycsIHY9JzExOS45MDgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhNmZkNicsIHY9JzEyMC42NzUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhN2UwMCcsIHY9JzEyMi43NTQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhOGMwMCcsIHY9JzEyNS4zODUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhOWEwNScsIHY9JzExOC4yMTQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhYTgxNScsIHY9JzExOS4zMjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhYjYyNScsIHY9JzEyMC4xMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2FjNDM1Jywgdj0nMTE5LjY4OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2FkMjQ1Jywgdj0nMTE3LjEyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYWUwNTUnLCB2PScxMTQuNzI5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYWVlNjUnLCB2PScxMjAuODcxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYWZjNzUnLCB2PScxMTkuMTc3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYjBhODUnLCB2PScxMTYuNjk5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYjI2YTYnLCB2PScxMTYuNzY4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYjM0YjYnLCB2PScxMTguMDc1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYjQyYzYnLCB2PScxMTUuNTcxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYjUwZDYnLCB2PScxMTUuODY3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYjVlZTcnLCB2PScxMTQuMzA5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYjZjZjYnLCB2PScxMjIuNzg3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYjdiMDcnLCB2PScxMTguOTA0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYjg5MTcnLCB2PScxMTguNTMxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYjk3MjgnLCB2PScxMTkuNDM4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYmE1MzcnLCB2PScxMjAuOTA4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYmIzNDcnLCB2PScxMTkuODQ0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYmMxNTcnLCB2PScxMjAuNTc1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYmNmNjcnLCB2PScxMjMuMjEyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYmRkODEnLCB2PScxMTguNzEyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYmViODYnLCB2PScxMTguMzE2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYmY5OTUnLCB2PScxMTguODU5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYzA3YTYnLCB2PScxMjAuMDkyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYzE1YjUnLCB2PScxMTkuNTMyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYzIzYzYnLCB2PScxMTguMTc5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYzMxZDUnLCB2PScxMTUuNzMxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYzNmZTYnLCB2PScxMTcuNjcxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYzRkZjUnLCB2PScxMTYuMDQ2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYzVjMDYnLCB2PScxMTcuNDE2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYzZhMTYnLCB2PScxMTcuNTc4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYzc4MjYnLCB2PScxMTYuNzU4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYzg2MzYnLCB2PScxMTguMzE5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYzk0NDYnLCB2PScxMTguMzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nY2EyNTYnLCB2PScxMTguMTM2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nY2IwNjYnLCB2PScxMTcuMjI1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nY2JlNzYnLCB2PScxMjIuNjU5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nY2NjODcnLCB2PScxMTguNTQ3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nY2RhOTYnLCB2PScxMTYuNjM1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nY2U4YTgnLCB2PScxMTguMTA1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nY2Y2YjcnLCB2PScxMTguNTAzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZDA0YzgnLCB2PScxMTkuNTQ3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZDEyZDcnLCB2PScxMjEuNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2QyMGU3Jywgdj0nMTIzLjM5NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2QyZjAyJywgdj0nMTI2LjA2OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2QzZDA1Jywgdj0nMTE5LjMzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZDRiMTUnLCB2PScxMjAuNTI0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZDU5MjYnLCB2PScxMjAuNzQyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZDY3MzUnLCB2PScxMTkuNTQ4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZDc1NDYnLCB2PScxMTcuMzU4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZDgzNTUnLCB2PScxMjQuMjY3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZDkxNjYnLCB2PScxMjIuMzg4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZDlmNzUnLCB2PScxMjAuNzc0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZGFkODcnLCB2PScxMTcuMzQ1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZGJiOTcnLCB2PScxMTYuNjk4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZGM5YTgnLCB2PScxMTYuNzk4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZGQ3YjcnLCB2PScxMTguMjE5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZGU1YzYnLCB2PScxMTcuODc5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZGYzZDcnLCB2PScxMTcuMjg3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZTAxZDcnLCB2PScxMTcuNDInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlMGZlNScsIHY9JzExNi43OTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlMWRmNScsIHY9JzExNy4xODQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlMmMwNCcsIHY9JzExOS42NjUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlM2ExNCcsIHY9JzEyMS4wMzMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlNDgyNCcsIHY9JzEyMC44MzknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlNTYzNCcsIHY9JzEyMi40NTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlNjQ0NCcsIHY9JzEyMC41MzQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlNzI1NScsIHY9JzEyMi43NjYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlODA2ZicsIHY9JzEyMy43MzUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlOGU3ZicsIHY9JzExNi42NTQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlOWM4ZScsIHY9JzExOC4xMTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlYWE5ZicsIHY9JzExOC40NDEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlYjhhZScsIHY9JzExNy40NjMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlYzZiZicsIHY9JzExMy41NDknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlZDRjZScsIHY9JzEyMy41OTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlZTJkZicsIHY9JzEyMC43MDknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlZjBlZicsIHY9JzExOC45NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2VmZjAxJywgdj0nMTE2LjAwMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2YwZDEwJywgdj0nMTE3Ljc0MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2YxYjIwJywgdj0nMTE3LjQ5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZjI5MzAnLCB2PScxMjEuNDMzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZjM3NDAnLCB2PScxMTcuNzM1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZjQ1NTEnLCB2PScxMTguMTY1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZjUzNjEnLCB2PScxMTcuODM5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZjYxNzInLCB2PScxMTcuNjg1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZjZmODAnLCB2PScxMTcuNTE4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZjdkOTEnLCB2PScxMTkuMzg1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZjhiYTEnLCB2PScxMjEuMjAyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZjk5YjEnLCB2PScxMjAuMjU0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZmE3YzAnLCB2PScxMTguMzM2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZmI1ZDEnLCB2PScxMTguMjY3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZmMzZTAnLCB2PScxMjMuMDg4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZmQxZmInLCB2PScxMjMuMTgzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZmUwMGInLCB2PScxMjYuMzc3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZmVlMWMnLCB2PScxMjMuNzcyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZmZjMmMnLCB2PScxMjMuNjM0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTAwYTNiJywgdj0nMTIzLjAwOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEwMTg0YycsIHY9JzEyMS4zODInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMDI2NWInLCB2PScxMTcuNjk2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTAzNDZjJywgdj0nMTE3LjkwMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEwNDI3YicsIHY9JzExOS40MDQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMDUwOGQnLCB2PScxMTcuNjQ2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTA1ZTlkJywgdj0nMTE4LjE0NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEwNmNhZCcsIHY9JzExNy44MDInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMDdhYmQnLCB2PScxMjAuMTUxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTA4OGNkJywgdj0nMTE5LjczMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEwOTZkZScsIHY9JzExOS4wOTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMGE0ZWQnLCB2PScxMTkuMjkxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTBiMmZlJywgdj0nMTE4Ljk3MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEwYzEwZCcsIHY9JzExNi4zMzYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMGNmMWUnLCB2PScxMTguMTcxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTBkZDJlJywgdj0nMTE5LjA4MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEwZWI2NicsIHY9JzEyMC45NTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMGY5NGUnLCB2PScxMjEuNDEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMTA3NWUnLCB2PScxMTkuMDg4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTExNTZkJywgdj0nMTIwLjk0MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExMjM4OCcsIHY9JzEyMy42OTknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMTMxODcnLCB2PScxMjIuNDgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMTNmYjAnLCB2PScxMjMuMzc4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTE0ZGE2Jywgdj0nMTIzLjMxMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExNWJiNicsIHY9JzEyMy4yMTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMTY5YzYnLCB2PScxMjAuOTYxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTE3N2Q2Jywgdj0nMTE4LjA3NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExODVlOCcsIHY9JzExOC41NzMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMTkzZjcnLCB2PScxMTcuOTc4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTFhMjA4Jywgdj0nMTIwLjAxOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExYjAxNycsIHY9JzEyMS42NjInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMWJlMmYnLCB2PScxMjIuMjY4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTFjYzM3Jywgdj0nMTIyLjMxNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExZGE0NycsIHY9JzEyMS45MzQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMWU4NTcnLCB2PScxMjAuNzc2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTFmNjY3Jywgdj0nMTIxLjg4OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyMDU3OCcsIHY9JzEyMS4wNjQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMjEzODYnLCB2PScxMTYuODI0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTIyMTk2Jywgdj0nMTE3LjU1NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyMmZhNicsIHY9JzExOC43ODQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMjNkYjUnLCB2PScxMjAuNzcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMjRiYzUnLCB2PScxMjIuNTY1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTI1OWQ1Jywgdj0nMTIwLjI2MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyNjdlNCcsIHY9JzEyMi43MjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMjc2MDAnLCB2PScxMjQuNTYxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTI4MzA1Jywgdj0nMTI1LjIzNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyOTExNScsIHY9JzEyNS4zNDQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMjlmMjUnLCB2PScxMjUuNDkyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTJhZDM1Jywgdj0nMTI0LjY3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTJiYjQ1Jywgdj0nMTIyLjgxOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyYzk1NCcsIHY9JzEyMS43MTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMmQ3NjYnLCB2PScxMjAuODgzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTJlNTc1Jywgdj0nMTE5Ljg1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTJmMzg2Jywgdj0nMTE3LjE3NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzMDE5NicsIHY9JzExNy40NDcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMzBmYTYnLCB2PScxMTguNjc5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTMxZGI3Jywgdj0nMTIwLjAxNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzMmJjNScsIHY9JzExOS45NTknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMzM5ZDQnLCB2PScwLjEwOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzNDdlNScsIHY9JzAuMTA5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTM1NWY0Jywgdj0nMC4xMDgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMzY0MDQnLCB2PScwLjEwNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzNzIxNCcsIHY9JzAuMTA2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTM4MDI0Jywgdj0nMC4xMDYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMzhlMzMnLCB2PScwLjEwOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzOWM0NCcsIHY9JzAuMTA5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTNhYTU0Jywgdj0nMC4xMDgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxM2I4NjUnLCB2PScwLjEwOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzYzY3ZScsIHY9JzAuMTAxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTNkNDhlJywgdj0nMC4xMDQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxM2UyOWUnLCB2PScwLjEwNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzZjBhZScsIHY9JzAuMTA2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTNmZWJmJywgdj0nMC4xMDQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNDBjY2YnLCB2PScwLjEwMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0MWFkZicsIHY9JzAuMTA0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTQyOGVmJywgdj0nMC4xMDgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNDM2ZmYnLCB2PScwLjEwNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0NDUwZicsIHY9JzAuMTA3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTQ1MzFmJywgdj0nMC4xMDcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNDYxMzAnLCB2PScwLjEwOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0NmY0MCcsIHY9JzAuMTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNDdkNDQnLCB2PScwLjEwOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0OGI1NycsIHY9JzAuMTA4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTQ5OTY1Jywgdj0nMC4xMDgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNGE3NzUnLCB2PScwLjEwNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0YjU4NCcsIHY9JzAuMTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNGMzOTcnLCB2PScwLjEwNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0ZDFhNCcsIHY9JzAuMTA3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTRkZmI2Jywgdj0nMC4xMDgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNGVkYzUnLCB2PScwLjExJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTRmYmQ1Jywgdj0nMC4xMTInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNTA5ZTUnLCB2PScwLjExMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1MTdmZicsIHY9JzAuMTE1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTUyNjA1Jywgdj0nMC4xMDcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNTM0MTUnLCB2PScwLjEwOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1NDIyNScsIHY9JzAuMTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNTUwMzUnLCB2PScwLjEwOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1NWU0NScsIHY9JzAuMTA3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTU2YzU1Jywgdj0nMC4xMDQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNTdhNjUnLCB2PScwLjEwNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1ODg3NScsIHY9JzAuMTA3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTU5Njg2Jywgdj0nMC4xMDYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNWE0OTUnLCB2PScwLjEwNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1YjJhNicsIHY9JzAuMTA4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTVjMGI2Jywgdj0nMC4xMDknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNWNlYzYnLCB2PScwLjEwOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1ZGNkNScsIHY9JzAuMTA5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTVlYWU2Jywgdj0nMC4xMDgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNWY4ZjUnLCB2PScwLjEwNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2MDcwNicsIHY9JzAuMTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNjE1MTcnLCB2PScwLjEwOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2MjMyNicsIHY9JzAuMTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNjMxMzcnLCB2PScwLjExMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2M2Y0NicsIHY9JzAuMTA5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTY0ZDU3Jywgdj0nMC4xMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2NWI2NycsIHY9JzAuMTEyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTY2OTgyJywgdj0nMC4xMTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNjc3ODYnLCB2PScwLjExMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2ODU5NicsIHY9JzAuMTEyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTY5M2E2Jywgdj0nMC4xMTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNmExYjUnLCB2PScwLjExMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2YWZjNicsIHY9JzAuMTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNmJkZDUnLCB2PScwLjEwOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2Y2JlNicsIHY9JzAuMTA3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTZkOWY2Jywgdj0nMC4xMTInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNmU4MDcnLCB2PScwLjExJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTZmNjE2Jywgdj0nMC4xMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3MDQyOScsIHY9JzAuMTExJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTcxMjM2Jywgdj0nMC4xMTInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNzIwNDcnLCB2PScwLjExMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3MmU1NycsIHY9JzAuMTExJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTczYzY3Jywgdj0nMC4xMTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNzRhNzcnLCB2PScwLjExJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTc1ODg3Jywgdj0nMC4xMDgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNzY2OTQnLCB2PScxMTcuODQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNzc0YTMnLCB2PScxMTkuMTk5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTc4MmIzJywgdj0nMTIwLjIyNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3OTBjNScsIHY9JzEyMC45MjQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNzllZDQnLCB2PScxMjQuMDM4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTdhY2U0Jywgdj0nMTI2Ljc0NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3YmFmZCcsIHY9JzEyOC4zNjQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxN2M5MGYnLCB2PScxMjYuNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxN2Q3MWUnLCB2PScxMjYuNTIyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTdlNTJmJywgdj0nMTI2Ljg5MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3ZjMzZicsIHY9JzEyNi4xMTQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxODAxNGYnLCB2PScxMjQuMjE5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTgwZjVmJywgdj0nMTIzLjY5MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4MWQ2ZScsIHY9JzEyNC43MjMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxODJiN2YnLCB2PScxMjQuNjY3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTgzOThmJywgdj0nMTIzLjY2NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4NDdhMScsIHY9JzEyMy4zMzcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxODU1YWYnLCB2PScxMjQuMDQyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTg2M2MwJywgdj0nMTI1LjkyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTg3MWNmJywgdj0nMTI1LjE0NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4N2ZlMCcsIHY9JzEyNC43NjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxODhkZWYnLCB2PScxMjQuNTQ5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTg5YzAwJywgdj0nMTIzLjQ4MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4YjgwZCcsIHY9JzExNi42MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4YzYxYycsIHY9JzEyMC40NjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOGQ0MmMnLCB2PScxMjEuMjI4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMThlMjNiJywgdj0nMTIxLjE1NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4ZjA0YicsIHY9JzEyMy40MDknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOGZlNWUnLCB2PScxMjUuNDAzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTkwYzc2Jywgdj0nMTIyLjcxNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5MWE4NicsIHY9JzEyNC4zODUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOTI4OTYnLCB2PScxMjYuMDQ2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTkzNmE2Jywgdj0nMTI2LjE2NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5NDRiNycsIHY9JzEyNS4yNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5NTJjNicsIHY9JzEyMy4yOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5NjBkNycsIHY9JzEyMC40OTknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOTZlZTYnLCB2PScxMjAuNzA1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTk3Y2Y4Jywgdj0nMTIwLjQ5MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5OGIwZicsIHY9JzExOS45OTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOTk5MWYnLCB2PScxMjAuMjY1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTliNTQxJywgdj0nMTIyLjIzMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5YzM0ZCcsIHY9JzEyMS40OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5ZDE1ZScsIHY9JzEyMC43MDQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOWRmODAnLCB2PScxMjAuNjE0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTllZDkwJywgdj0nMTE5LjgzOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5ZWViZScsIHY9JzExOS42ODUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOWZiOGUnLCB2PScxMTUuNTkzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWEwOWEwJywgdj0nMTE4Ljg2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWExN2FlJywgdj0nMTE5Ljk3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWEyNWJlJywgdj0nMTIxLjM2OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhMzNjZCcsIHY9JzEyMS4wOTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYTQxZGQnLCB2PScxMjIuNDUxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWE0ZmVkJywgdj0nMTI1Ljc2NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhNWUwOCcsIHY9JzEyNi4zMDInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYTZjMDUnLCB2PScxMjQuNDk1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWE3YTE1Jywgdj0nMTI1LjY1OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhODgyNicsIHY9JzEyNS43NzMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYTk2MzcnLCB2PScxMjQuNDY0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWFhNDQ1Jywgdj0nMTIzLjE2NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhYjI1NScsIHY9JzEyMS4xMzcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYWMwNjUnLCB2PScxMjMuNjc3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWFjZTc1Jywgdj0nMTIzLjU2OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhZGM4NycsIHY9JzEyMi4yNTQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYWVhOTYnLCB2PScxMjEuNzk0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWFmOGE3Jywgdj0nMTIyLjA4OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFiMDZiNycsIHY9JzEyMy44NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFiMTRjNicsIHY9JzEyMy41NTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYzc0NjAnLCB2PScxMTkuNjgyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWM4MjcwJywgdj0nMTE5LjY3NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFjOTA3ZScsIHY9JzExOC44MjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYzllOGYnLCB2PScxMTkuODM2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWNhY2EyJywgdj0nMTIxLjE5MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFjYmFiMScsIHY9JzEyMS42ODUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxY2M4YzEnLCB2PScxMTcuODc0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWNkNmQwJywgdj0nMTE4Ljc2MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFjZTRkZScsIHY9JzEyMC4yNjMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxY2YyZjAnLCB2PScxMjIuNDY4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWQwMTA5Jywgdj0nMTI0LjUzNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkMGYwNicsIHY9JzEyMi41OTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZDFkMTUnLCB2PScxMjMuMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkMmIyNScsIHY9JzEyMy4yMTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZDM5MzUnLCB2PScxMjIuMjAyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWQ0NzQ1Jywgdj0nMTIxLjQyNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkNTU1NScsIHY9JzEyMC44ODgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZDYzNjYnLCB2PScxMjIuNzQzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWQ3MTc1Jywgdj0nMTIzLjA3OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkN2Y4NicsIHY9JzEyMi4yMzcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZDhkOTUnLCB2PScxMjAuODU4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWQ5YmE2Jywgdj0nMTIxLjIzMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkYTliNicsIHY9JzEyMi4xODUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZGI3YzcnLCB2PScxMjIuNjQ4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWRjNWQ1Jywgdj0nMTIyLjk5MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkZDNlNicsIHY9JzEyMi40ODInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZGUxZjUnLCB2PScxMTguNzA3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWRmMDA2Jywgdj0nMTE3LjM2NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkZmUxNicsIHY9JzExNS43MTQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZTBjMjYnLCB2PScxMTcuNzQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZTFhMzYnLCB2PScxMTkuMDQ4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWUyODQ3Jywgdj0nMTIwLjE3OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlMzY1OScsIHY9JzExOS45NDknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZTQ0NjcnLCB2PScxMjAuOTA2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWU1MjgxJywgdj0nMTE3LjI1MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlNjA4NicsIHY9JzEyMC4xMTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZTZlOTYnLCB2PScxMjEuNTIxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWU3Y2E2Jywgdj0nMTIyLjE4OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlOGFiNScsIHY9JzEyMi4yMTInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZTk4YzYnLCB2PScxMjEuNTMxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWVhNmQ1Jywgdj0nMTE5Ljk4MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlYjRlNicsIHY9JzExOS45NzcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZWMyZjYnLCB2PScxMjIuOTM5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWVkMTA2Jywgdj0nMTIyLjI4OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlZGYxNicsIHY9JzEyMi4wNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlZWQyNicsIHY9JzEyMi4yNzEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZWZiMzYnLCB2PScxMjIuODU2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWYwOTQ2Jywgdj0nMTIyLjYxMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmMTc1NicsIHY9JzEyMS4xNDgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZjI1NjYnLCB2PScxMjAuODY0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWYzMzc2Jywgdj0nMTE5LjYwOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmNDE4NycsIHY9JzExNi4xMDEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZjRmOTYnLCB2PScxMTkuMTY1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWY1ZGE3Jywgdj0nMTE5LjI4NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmNmJiNicsIHY9JzEyMC4yMDgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZjc5YzcnLCB2PScxMTguNzc1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWY4N2Q2Jywgdj0nMTIyLjIyMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmOTVlNycsIHY9JzEyMy4yODgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZmE0MDEnLCB2PScxMjYuMDI2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWZiMjA0Jywgdj0nMTI0LjgyOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmYzAxNicsIHY9JzEyNS43NjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZmNlMjUnLCB2PScxMjUuMjE4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWZkYzM1Jywgdj0nMTI0Ljc5NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmZWE0NScsIHY9JzEyMi4zOTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZmY4NTUnLCB2PScxMjAuNTIzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjAwNjY1Jywgdj0nMTE3LjMxOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwMTQ3NScsIHY9JzExOC43NzInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMDIyODYnLCB2PScxMTguODA4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjAzMDk1Jywgdj0nMTE5LjY4NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwM2VhNScsIHY9JzExOS45OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwNGNiNicsIHY9JzEyMi43MDgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMDVhYzYnLCB2PScxMjAuNzYyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjA2OGQ2Jywgdj0nMTE5LjkyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjA3NmU2Jywgdj0nMTE5LjEyOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwODRmNicsIHY9JzExNy4wOTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMDkzMDYnLCB2PScxMjEuMjE5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjBhMTE2Jywgdj0nMTIwLjI4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjBhZjI2Jywgdj0nMTE5LjY5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjBiZDM3Jywgdj0nMTIwLjY3NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwY2I0NicsIHY9JzExOC43NTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMGQ5NTcnLCB2PScxMTkuNjA4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjBlNzY3Jywgdj0nMTIxLjA1OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwZjU4MScsIHY9JzEyMy41NzMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMTAzODYnLCB2PScxMjUuOTc2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjExMTk0Jywgdj0nMTIzLjkyNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxMWZhNScsIHY9JzEyMy44ODgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMTJkYjUnLCB2PScxMjMuMDgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMTNiYzUnLCB2PScxMjEuNjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMTQ5ZDYnLCB2PScxMTcuOTE2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjE1N2U1Jywgdj0nMTE2LjAxNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxNjVmNicsIHY9JzEyMS45MzUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMTc0MDYnLCB2PScxMTkuNjc1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjE4MjE3Jywgdj0nMTE4LjgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMTkwMjYnLCB2PScxMTkuNjQ5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjE5ZTM5Jywgdj0nMTE5LjcxNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxYWM0NicsIHY9JzExOC42MjInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMWJhNTcnLCB2PScxMTguNDU5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjFjODY3Jywgdj0nMTE3LjMzOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxZDY3NycsIHY9JzEyMi4wOTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMWU0ODcnLCB2PScxMTkuNTU2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjFmMjk2Jywgdj0nMTE5Ljc2MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyMDBhNicsIHY9JzEyMC41MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyMGViNycsIHY9JzEyMS40MjgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMjFjYzYnLCB2PScxMTguMDAzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjIyYWQ3Jywgdj0nMTIwLjIyOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyMzhlNycsIHY9JzEyMy4zMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyNDcwMScsIHY9JzEyNS44NjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMjU1MDUnLCB2PScxMTguNzg4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjI2MzE1Jywgdj0nMTE5LjEwNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyNzEyNScsIHY9JzExOS4xMTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMjdmMzUnLCB2PScxMTYuOTA4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjI4ZDQ1Jywgdj0nMTE1LjY0MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyOWI1NCcsIHY9JzEyMi4wMTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMmE5NjUnLCB2PScxMTkuMjM0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjJiNzc2Jywgdj0nMTE5LjMxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjJjNTg2Jywgdj0nMTE4LjU2NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyZDM5NycsIHY9JzExOC4yNDMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMmUxYTYnLCB2PScxMTguNTc5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjJlZmI2Jywgdj0nMTIwLjI4OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyZmRjNycsIHY9JzExOS45OTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzBiZDcnLCB2PScxMTkuMjQ5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjMxOWU2Jywgdj0nMTE4Ljg2NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzMjdmNicsIHY9JzExNy43NDEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzM2MWInLCB2PScxMTguNTQzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjM0NDE2Jywgdj0nMTE3LjUzOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzNTIyNicsIHY9JzExOC43MDknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzYwMzcnLCB2PScxMTkuOTQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzZlNDYnLCB2PScxMTcuNjY4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjM3YzU3Jywgdj0nMTE5LjE1OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzOGE2NicsIHY9JzEyMC43NzEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzk4ODEnLCB2PScxMjAuMjM0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjNhNjg1Jywgdj0nMTIxLjYyNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzYjQ5NScsIHY9JzEyMi4yNzInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyM2MyYTQnLCB2PScxMjIuNDIyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjNkMGI1Jywgdj0nMTIxLjY4NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzZGVjNCcsIHY9JzEyMC4zNjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyM2VjZDUnLCB2PScxMTguNzUxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjNmYWU0Jywgdj0nMTIwLjAyOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0MDhmNicsIHY9JzExNy45NzQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNDE3MDYnLCB2PScxMTcuMzA1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjQyNTE4Jywgdj0nMTE3LjcxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjQzMzI1Jywgdj0nMTE4LjE5MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0NDEzNycsIHY9JzExOS41NDInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNDRmNDYnLCB2PScxMTguNzQxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjQ2YjY2Jywgdj0nMTE4LjI5NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0Nzk3NicsIHY9JzExNy41MzQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNDg3ODYnLCB2PScxMTQuNDcyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjQ5NTdlJywgdj0nMTE3LjM1NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0YTM4ZicsIHY9JzExOC44NTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNGIxOWMnLCB2PScxMjAuMTM3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjRiZmFjJywgdj0nMTE5LjM0OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0Y2RiYycsIHY9JzEyMy4yMjYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNGRiY2QnLCB2PScxMjIuOTIxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjRlOWU1Jywgdj0nMTI0LjI3MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0ZjgwOCcsIHY9JzEyMy41MTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNTA2MTYnLCB2PScxMjQuMTgyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjUxNDI2Jywgdj0nMTI0LjI3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjUyMjM2Jywgdj0nMTIyLjgyNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1MzA0NycsIHY9JzEyMS44MDEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNTNlNTYnLCB2PScxMTkuNTE0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjU0YzY3Jywgdj0nMTE4LjkyMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1NWE3NicsIHY9JzExOC44NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1Njg4NycsIHY9JzExNy4yNjQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNTc2OTcnLCB2PScxMTguMDIyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjU4NGE4Jywgdj0nMTE2LjgxOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1OTJiNicsIHY9JzExOC4zODQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNWEwYzcnLCB2PScxMTkuMjc2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjVhZWQ3Jywgdj0nMTE4LjgxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjViY2U3Jywgdj0nMTE4LjY3NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1Y2FmOCcsIHY9JzExOC4xMDgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNWQ5MDcnLCB2PScxMTkuNjI1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjVlNzE4Jywgdj0nMTE5LjA0MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1ZjUyNycsIHY9JzExOS42MzgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNjAzMzgnLCB2PScxMjAuMzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjYxMTQ5Jywgdj0nMTE4LjcyOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2MWY1OScsIHY9JzExOS43NzcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNjJkNjgnLCB2PScxMjIuNjIxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjYzYjgzJywgdj0nMTIwLjQ5NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2NDk4NicsIHY9JzEyMi4zMzUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNjU3OTUnLCB2PScxMjMuMDAxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjY2NWE2Jywgdj0nMTIzLjgyNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2NzNiNScsIHY9JzEyMi45MzknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNjgxYzYnLCB2PScxMjIuMzk4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjY4ZmQ1Jywgdj0nMTIxLjIxMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2OWRlNicsIHY9JzEyMC44NDQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNmFiZjYnLCB2PScxMjAuMDU0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjZiYTA2Jywgdj0nMTE4LjI5NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2YzgxNycsIHY9JzExNy43OTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNmQ2MmInLCB2PScxMTcuOTk2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjZlNDM2Jywgdj0nMTE5LjI4NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2ZjI0NycsIHY9JzExOC44MTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNzAwNTcnLCB2PScxMTguOTU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjcwZTY3Jywgdj0nMTE4LjQ0OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI3MWM3NycsIHY9JzExOS4xNTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNzJhODcnLCB2PScxMjAuMTI0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjczODk3Jywgdj0nMTE5Ljg1OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI3NDZhOCcsIHY9JzEyMC42NjgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNzU0YjknLCB2PScxMjEuMDY3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjc2MmM3Jywgdj0nMTE4LjI2NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI3NzBkOCcsIHY9JzEyMC4zMDgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNzdlZTcnLCB2PScxMjIuODUxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCSwgNSkKK1NBWC5lbmRFbGVtZW50KHBhcikKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCSwgNSkKK1NBWC5zdGFydEVsZW1lbnQocGFyLCBtZW1pbmQ9JzQ0MDYwMCcsIGg9JzNkYzFhOGRlJykKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMCcsIHY9Jy0xMjc1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZTA4Jywgdj0nLTE0ODInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYzMyJywgdj0nLTE1NjInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyYTNjJywgdj0nLTE2NDMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczODM1Jywgdj0nLTE0NDYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0NjQ1Jywgdj0nLTEyNzYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1NDU1Jywgdj0nLTEwNDknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2MjY1Jywgdj0nLTE2OTQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3MDc1Jywgdj0nLTE3NjAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3ZTg1Jywgdj0nLTE2NjInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4Yzk2Jywgdj0nLTIwNjcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5YWE1Jywgdj0nLTE5OTInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhOGI2Jywgdj0nLTE5MjgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiNmM1Jywgdj0nLTIwMTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjNGQ3Jywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkMzBiJywgdj0nLTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlMGY2Jywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlZjA2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2ZkMTcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTBiMjcnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExOTM3Jywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMjc0NicsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTM1NTYnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0MzY2Jywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNTE4MScsIHY9Jy04JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTVmODUnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2ZDk1Jywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxN2JhNCcsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTg5YjUnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5N2M0Jywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYTVkNScsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWIzZTYnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFjMWY2Jywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZDAwNScsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWRlMTUnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlYzI1Jywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZmEzNicsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjA4NDUnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxNjU2Jywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMjQ2NScsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjMyNzYnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0MDg2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0ZTk5Jywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNWNhNycsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjZhYjcnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI3OGM2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI4NmQ2Jywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyOTRlNicsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMmEzMDEnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzJiMTA1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzJiZjE1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzJjZDI1Jywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyZGIzNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyZTk0NicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyZjc1NScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczMDU2NicsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMzEzNzUnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzMyMTllJywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczMmY5NicsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMzNkYTYnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzM0YmI2Jywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczNTlkZScsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMzY3ZDYnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzM3NWU2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzM4NDBlJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzM5MjFlJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzNhMDE2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzNhZTI3Jywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczYmMzNicsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nM2NhNDcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nM2Q4NTYnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzNlNjY3Jywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczZjQ4MScsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNDAyODUnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzQxMDk1Jywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0MWVhNScsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNDJjYjUnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzQzYWM1Jywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0NDhkNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0NTZlNicsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNDY0ZjUnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzQ4MGZmJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzQ4ZjBlJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzQ5ZDFkJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzRhYjQ2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzRiOTU1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzRjNzY5Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzRkNTc3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzRlMzg3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzRmMTk2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzRmZmE2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzUwZGQwJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzUxYmM2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzUyOWQ2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzUzN2U3Jywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1NDYwMCcsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNTU0MDYnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzU2MjE1Jywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1NzAyNicsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNTdlMzYnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzU4YzQ2Jywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1OWE3MCcsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNWE4NjcnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzViNjc2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzVjNDg3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzVkMjk2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzVlMGE5Jywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1ZWViOCcsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNWZjYzYnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzYwYWQ3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzYxOGU3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzYyNmY3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzYzNTA3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzY0MzE3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzY1MTI3Jywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2NWYzNycsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNjZkNDYnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzY3YjU3Jywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2ODk2NycsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNjk3ODInLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzZhNTg2Jywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2YjM5NScsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNmMxYTYnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzZjZmI1Jywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2ZGRjNicsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNmViZDYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNmY5ZTYnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzcwN2Y2Jywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3MTYwNycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3MjQxNycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3MzIyNycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3NDAzNycsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNzRlNDcnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzc1YzU3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzc2YTYzJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzc3ODczJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzc4NjgwJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzc5NDhmJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzdhMjlmJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzdiMGFmJywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3YmViZicsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nN2NjY2YnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzdkYWRmJywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3ZThmYScsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nN2Y3MGEnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzgwNTFhJywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4MTMyYScsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nODIxM2EnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzgyZjRhJywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4M2Q1YScsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nODRiNmEnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nODU5N2EnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nODY3OGInLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nODc1OWInLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nODgzYWMnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzg5MWJiJywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4OWZjYScsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOGFkZGEnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOGJiZWInLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOGM5ZmMnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOGQ4MGInLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOGU2MWEnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOGY0MmEnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOTAyM2EnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOTEwNGEnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzkxZTVhJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzkyYzZhJywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5M2E4NCcsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOTQ4ODUnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzk1Njk0Jywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5NjRhNScsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOTcyYjQnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzk4MGM1Jywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5OGVkNCcsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOTljZTUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOWFhZjUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOWI5MDYnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzljNzE2Jywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5ZDUyNicsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOWUzMzYnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzlmMTQ1Jywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5ZmY1NicsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYTBkNjUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYTFiNzcnLCB2PSctMTg0NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2EyOTg2Jywgdj0nLTYzMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2EzNzk1Jywgdj0nMTU2NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2E0NWE3Jywgdj0nLTY2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYTUzYjYnLCB2PSctMzkzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYTYxYzcnLCB2PSctNjkxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYTZmZDYnLCB2PSctODgzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYTdlMDAnLCB2PSctMTU3NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2E4YzAwJywgdj0nLTIyMDknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhOWEwNScsIHY9JzEwOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2FhODE1Jywgdj0nLTQyMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2FiNjI1Jywgdj0nLTg1OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2FjNDM1Jywgdj0nLTYyOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2FkMjQ1Jywgdj0nNTE2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYWUwNTUnLCB2PScxODM5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYWVlNjUnLCB2PScyOTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhZmM3NScsIHY9JzExODUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiMGE4NScsIHY9JzM5NDYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiMjZhNicsIHY9JzQyMzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiMzRiNicsIHY9JzM2ODknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiNDJjNicsIHY9JzI0OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2I1MGQ2Jywgdj0nNDMwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYjVlZTcnLCB2PScxMDI2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYjZjZjYnLCB2PSctNTI2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYjdiMDcnLCB2PSctMjU4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYjg5MTcnLCB2PSctNjUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiOTcyOCcsIHY9Jy00ODknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiYTUzNycsIHY9Jy04NDInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiYjM0NycsIHY9JzEwODInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiYzE1NycsIHY9JzMxMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2JjZjY3Jywgdj0nLTExMTInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiZGQ4MScsIHY9JzM2MzInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiZWI4NicsIHY9JzUxMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2JmOTk1Jywgdj0nMjE0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYzA3YTYnLCB2PSctMjkyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYzE1YjUnLCB2PSctMTI3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYzIzYzYnLCB2PSc0OTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjMzFkNScsIHY9JzE4MTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjM2ZlNicsIHY9JzgxOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2M0ZGY1Jywgdj0nMTUzOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2M1YzA2Jywgdj0nNjgwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYzZhMTYnLCB2PSc3MTInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjNzgyNicsIHY9JzEyODAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjODYzNicsIHY9JzM5NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2M5NDQ2Jywgdj0nNDkzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nY2EyNTYnLCB2PScyNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjYjA2NicsIHY9Jzc4NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2NiZTc2Jywgdj0nLTIwMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2NjYzg3Jywgdj0nMjE1NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2NkYTk2Jywgdj0nMjkzNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2NlOGE4Jywgdj0nMjEwNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2NmNmI3Jywgdj0nMjgyNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2QwNGM4Jywgdj0nMjI2OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2QxMmQ3Jywgdj0nMTQ0MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2QyMGU3Jywgdj0nLTI5NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2QyZjAyJywgdj0nLTIyODAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkM2QwNScsIHY9Jy0xMTg5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZDRiMTUnLCB2PSctOTY0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZDU5MjYnLCB2PSctNDQyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZDY3MzUnLCB2PScyNjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkNzU0NicsIHY9JzEzMDknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkODM1NScsIHY9Jy04NDknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkOTE2NicsIHY9JzE3OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2Q5Zjc1Jywgdj0nMTExMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2RhZDg3Jywgdj0nMjc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2RiYjk3Jywgdj0nMjc2OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2RjOWE4Jywgdj0nMjk3MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2RkN2I3Jywgdj0nMTMyNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2RlNWM2Jywgdj0nNDU0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZGYzZDcnLCB2PScxOTknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlMDFkNycsIHY9JzE2NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2UwZmU1Jywgdj0nNTU2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZTFkZjUnLCB2PSc0MTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlMmMwNCcsIHY9Jy0zNzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlM2ExNCcsIHY9Jy0xMTU0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZTQ4MjQnLCB2PSc5MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2U1NjM0Jywgdj0nLTg0MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2U2NDQ0Jywgdj0nMTcxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZTcyNTUnLCB2PSctNjQ2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZTgwNmYnLCB2PSctNzIzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZThlN2YnLCB2PScyNjY1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZTljOGUnLCB2PSc4MzcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlYWE5ZicsIHY9JzY5OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2ViOGFlJywgdj0nMTA5NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2VjNmJmJywgdj0nMjY0OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2VkNGNlJywgdj0nLTQ5NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2VlMmRmJywgdj0nMTE2NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2VmMGVmJywgdj0nNTQyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZWZmMDEnLCB2PScxODcxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZjBkMTAnLCB2PSc5NzknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmMWIyMCcsIHY9JzEyMTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmMjkzMCcsIHY9Jy0zNTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmMzc0MCcsIHY9JzE2NTQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmNDU1MScsIHY9JzEzNjgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmNTM2MScsIHY9JzE0NjInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmNjE3MicsIHY9JzE2MTInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmNmY4MCcsIHY9JzEzMDknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmN2Q5MScsIHY9JzE4ODYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmOGJhMScsIHY9JzExMzYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmOTliMScsIHY9JzExNjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmYTdjMCcsIHY9JzE0MDMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmYjVkMScsIHY9JzEzMTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmYzNlMCcsIHY9Jy0xMDQxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZmQxZmInLCB2PSctMTE5MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2ZlMDBiJywgdj0nLTE2MDknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmZWUxYycsIHY9Jy0xOTknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmZmMyYycsIHY9Jy0yNTInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMDBhM2InLCB2PSc1ODUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMDE4NGMnLCB2PScxMDY5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTAyNjViJywgdj0nMTk3MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEwMzQ2YycsIHY9JzE4MzEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMDQyN2InLCB2PScxMTI3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTA1MDhkJywgdj0nMTc2NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEwNWU5ZCcsIHY9JzEzNDMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMDZjYWQnLCB2PScxNTY0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTA3YWJkJywgdj0nODQ5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTA4OGNkJywgdj0nODA1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTA5NmRlJywgdj0nMTA5MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEwYTRlZCcsIHY9Jzg4MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEwYjJmZScsIHY9JzEyNTQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMGMxMGQnLCB2PScyNjY0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTBjZjFlJywgdj0nMTM2OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEwZGQyZScsIHY9JzEwMDknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMGViNjYnLCB2PScyMDgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMGY5NGUnLCB2PScyMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExMDc1ZScsIHY9JzExNDInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMTE1NmQnLCB2PScyODYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMTIzODgnLCB2PSctMTE2OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExMzE4NycsIHY9JzcxMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExM2ZiMCcsIHY9JzIyNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExNGRhNicsIHY9JzIzNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExNWJiNicsIHY9JzM3MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExNjljNicsIHY9JzE0NDEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMTc3ZDYnLCB2PScyMDE1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTE4NWU4Jywgdj0nMTIxMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExOTNmNycsIHY9JzEyODQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMWEyMDgnLCB2PSczNjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMWIwMTcnLCB2PSctMzEwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTFiZTJmJywgdj0nLTgwMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExY2MzNycsIHY9Jzc4MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExZGE0NycsIHY9JzQ5MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExZTg1NycsIHY9JzEwMjMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMWY2NjcnLCB2PSc1MTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMjA1NzgnLCB2PScxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTIxMzg2Jywgdj0nMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyMjE5NicsIHY9JzInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMjJmYTYnLCB2PScxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTIzZGI1Jywgdj0nMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyNGJjNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMjU5ZDUnLCB2PScxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTI2N2U0Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyNzYwMCcsIHY9Jy0xJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTI4MzA1Jywgdj0nLTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMjkxMTUnLCB2PSctMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyOWYyNScsIHY9Jy0xJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTJhZDM1Jywgdj0nLTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMmJiNDUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTJjOTU0Jywgdj0nMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyZDc2NicsIHY9JzEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMmU1NzUnLCB2PScyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTJmMzg2Jywgdj0nMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzMDE5NicsIHY9JzEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMzBmYTYnLCB2PScxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTMxZGI3Jywgdj0nMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzMmJjNScsIHY9JzEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMzM5ZDQnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTM0N2U1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzNTVmNCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMzY0MDQnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTM3MjE0Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzODAyNCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMzhlMzMnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTM5YzQ0Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzYWE1NCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxM2I4NjUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTNjNjdlJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzZDQ4ZScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxM2UyOWUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTNmMGFlJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzZmViZicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNDBjY2YnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTQxYWRmJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0MjhlZicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNDM2ZmYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTQ0NTBmJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0NTMxZicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNDYxMzAnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTQ2ZjQwJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0N2Q0NCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNDhiNTcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTQ5OTY1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0YTc3NScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNGI1ODQnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTRjMzk3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0ZDFhNCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNGRmYjYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTRlZGM1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0ZmJkNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNTA5ZTUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTUxN2ZmJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1MjYwNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNTM0MTUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTU0MjI1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1NTAzNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNTVlNDUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTU2YzU1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1N2E2NScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNTg4NzUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTU5Njg2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1YTQ5NScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNWIyYTYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTVjMGI2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1Y2VjNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNWRjZDUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTVlYWU2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1ZjhmNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNjA3MDYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTYxNTE3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2MjMyNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNjMxMzcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTYzZjQ2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2NGQ1NycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNjViNjcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTY2OTgyJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2Nzc4NicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNjg1OTYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTY5M2E2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2YTFiNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNmFmYzYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTZiZGQ1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2Y2JlNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNmQ5ZjYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTZlODA3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2ZjYxNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNzA0MjknLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTcxMjM2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3MjA0NycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNzJlNTcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTczYzY3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3NGE3NycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNzU4ODcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTc2Njk0Jywgdj0nMjI3NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3NzRhMycsIHY9JzE3NzUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNzgyYjMnLCB2PScxMTUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTc5MGM1Jywgdj0nNzY5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTc5ZWQ0Jywgdj0nLTg0NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3YWNlNCcsIHY9Jy0yMzYyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTdiYWZkJywgdj0nLTI5NjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxN2M5MGYnLCB2PSctMjUxOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3ZDcxZScsIHY9Jy0yNDQ3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTdlNTJmJywgdj0nLTI4NjUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxN2YzM2YnLCB2PSctMjI3NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4MDE0ZicsIHY9Jy0xMjUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTgwZjVmJywgdj0nLTcxNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4MWQ2ZScsIHY9Jy0xNDg5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTgyYjdmJywgdj0nLTIwMDQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxODM5OGYnLCB2PSctMTA1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4NDdhMScsIHY9Jy05NzgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxODU1YWYnLCB2PSctMTI2OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4NjNjMCcsIHY9Jy0zMTcwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTg3MWNmJywgdj0nLTI2NjgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxODdmZTAnLCB2PSctMjU0MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4OGRlZicsIHY9Jy0yMzc3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTg5YzAwJywgdj0nLTExMjYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOGI4MGQnLCB2PScxMjE5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMThjNjFjJywgdj0nLTEwNjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOGQ0MmMnLCB2PSctMTUxOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4ZTIzYicsIHY9Jy0xMjg0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMThmMDRiJywgdj0nLTE5MDInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOGZlNWUnLCB2PSctMTYyMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5MGM3NicsIHY9Jy03NzgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOTFhODYnLCB2PSctMTczMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5Mjg5NicsIHY9Jy0xNzQ1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTkzNmE2Jywgdj0nLTE4NzInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOTQ0YjcnLCB2PSctMTIwNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5NTJjNicsIHY9Jy0yMTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOTYwZDcnLCB2PScxNjE5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTk2ZWU2Jywgdj0nLTc2NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5N2NmOCcsIHY9Jy04MjcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOThiMGYnLCB2PSc0MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5OTkxZicsIHY9Jy0xOTknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOWI1NDEnLCB2PSctOTY3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTljMzRkJywgdj0nLTY4MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5ZDE1ZScsIHY9Jy0zODUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOWRmODAnLCB2PSctMjQxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTllZDkwJywgdj0nMzcxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTllZWJlJywgdj0nNDcxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTlmYjhlJywgdj0nNjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYTA5YTAnLCB2PSctMjQ0MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhMTdhZScsIHY9Jy0zNDQ3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWEyNWJlJywgdj0nLTM4NjInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYTMzY2QnLCB2PSctMTY1NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhNDFkZCcsIHY9Jy0yMjczJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWE0ZmVkJywgdj0nLTQxMzInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYTVlMDgnLCB2PSctMzczNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhNmMwNScsIHY9Jy0yNjU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWE3YTE1Jywgdj0nLTMyODYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYTg4MjYnLCB2PSctMzM3NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhOTYzNycsIHY9Jy0yNzA3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWFhNDQ1Jywgdj0nLTE5ODAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYWIyNTUnLCB2PSctNzk3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWFjMDY1Jywgdj0nLTIwNDYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYWNlNzUnLCB2PSctMjc5MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhZGM4NycsIHY9Jy0xOTM5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWFlYTk2Jywgdj0nLTIwOTInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYWY4YTcnLCB2PSctMjIxMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFiMDZiNycsIHY9Jy0yNjc5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWIxNGM2Jywgdj0nLTI1MzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYzc0NjAnLCB2PSc0NTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYzgyNzAnLCB2PSctMTU3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWM5MDdlJywgdj0nMTE0MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFjOWU4ZicsIHY9Jy0xNDYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxY2FjYTInLCB2PSctMTAwMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFjYmFiMScsIHY9Jy0xNDAyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWNjOGMxJywgdj0nMjk0OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFjZDZkMCcsIHY9JzIyMjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxY2U0ZGUnLCB2PScxMDIyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWNmMmYwJywgdj0nLTE2MjgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZDAxMDknLCB2PSctMTgzNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkMGYwNicsIHY9Jy0yMTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZDFkMTUnLCB2PSctNzY3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWQyYjI1Jywgdj0nLTc5MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkMzkzNScsIHY9JzE3MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkNDc0NScsIHY9Jzc3NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkNTU1NScsIHY9JzEyNDknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZDYzNjYnLCB2PSctOTU3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWQ3MTc1Jywgdj0nLTkxMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkN2Y4NicsIHY9Jy0yNDMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZDhkOTUnLCB2PSctNjUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZDliYTYnLCB2PSctMzA4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWRhOWI2Jywgdj0nLTgxMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkYjdjNycsIHY9Jy04MDYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZGM1ZDUnLCB2PSctOTUyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWRkM2U2Jywgdj0nLTcxNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkZTFmNScsIHY9Jy0xNjE4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWRmMDA2Jywgdj0nLTE5MTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZGZlMTYnLCB2PSctMTgwOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlMGMyNicsIHY9Jy0yMjI0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWUxYTM2Jywgdj0nLTIyNzInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZTI4NDcnLCB2PSctMjMxNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlMzY1OScsIHY9Jy0yMjgzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWU0NDY3Jywgdj0nLTIzMzQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZTUyODEnLCB2PSctMTg2MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlNjA4NicsIHY9Jy0yMTM5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWU2ZTk2Jywgdj0nLTIyMDYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZTdjYTYnLCB2PSctMjk2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWU4YWI1Jywgdj0nLTQ0OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlOThjNicsIHY9Jy0xNDInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZWE2ZDUnLCB2PSctNDIyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWViNGU2Jywgdj0nLTM2NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlYzJmNicsIHY9Jy01ODEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZWQxMDYnLCB2PSctMjYzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWVkZjE2Jywgdj0nLTMyNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlZWQyNicsIHY9Jy0xNDInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZWZiMzYnLCB2PSctMzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWYwOTQ2Jywgdj0nLTMxMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmMTc1NicsIHY9JzQ5NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmMjU2NicsIHY9JzY2MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmMzM3NicsIHY9JzEyNDYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZjQxODcnLCB2PScyODg5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWY0Zjk2Jywgdj0nMTUzMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmNWRhNycsIHY9Jy0xNDMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZjZiYjYnLCB2PSctNTE4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWY3OWM3Jywgdj0nMjI1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWY4N2Q2Jywgdj0nLTE2NjcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZjk1ZTcnLCB2PSctMjMzMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmYTQwMScsIHY9Jy0xNzI3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWZiMjA0Jywgdj0nLTE0ODknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZmMwMTYnLCB2PSctMTUxNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmY2UyNScsIHY9Jy00NzYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZmRjMzUnLCB2PSctMTkzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWZlYTQ1Jywgdj0nMTI4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWZmODU1Jywgdj0nMzc2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjAwNjY1Jywgdj0nMjg3MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwMTQ3NScsIHY9JzQwOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwMjI4NicsIHY9JzE5MjMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMDMwOTUnLCB2PScxODMwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjAzZWE1Jywgdj0nMTc5OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwNGNiNicsIHY9JzMzNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwNWFjNicsIHY9JzEyNjAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMDY4ZDYnLCB2PScxODE1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjA3NmU2Jywgdj0nMjI3MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwODRmNicsIHY9JzI2MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwOTMwNicsIHY9Jy0zODcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMGExMTYnLCB2PSctNjEzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjBhZjI2Jywgdj0nLTI1MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwYmQzNycsIHY9Jy04ODUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMGNiNDYnLCB2PSc1NTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMGQ5NTcnLCB2PSc0OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwZTc2NycsIHY9Jy05ODInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMGY1ODEnLCB2PSctMTYxMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxMDM4NicsIHY9Jy0xMTI1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjExMTk0Jywgdj0nLTM4MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxMWZhNScsIHY9Jy00NDEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMTJkYjUnLCB2PSc3MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxM2JjNScsIHY9JzEwMjAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMTQ5ZDYnLCB2PSc3NjAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMTU3ZTUnLCB2PSctMzE5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjE2NWY2Jywgdj0nLTExNDQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMTc0MDYnLCB2PSczMDInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMTgyMTcnLCB2PSctMzE5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjE5MDI2Jywgdj0nLTU4MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxOWUzOScsIHY9JzQwOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxYWM0NicsIHY9JzEwMzEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMWJhNTcnLCB2PScxMTM5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjFjODY3Jywgdj0nMjA4MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxZDY3NycsIHY9Jy0xMjAyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjFlNDg3Jywgdj0nNjIyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjFmMjk2Jywgdj0nNDU2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjIwMGE2Jywgdj0nLTczNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyMGViNycsIHY9Jy04MTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMjFjYzYnLCB2PScxNjg0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjIyYWQ3Jywgdj0nMzA3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjIzOGU3Jywgdj0nLTgwMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyNDcwMScsIHY9Jy0xMjU2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjI1NTA1Jywgdj0nMzMwOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyNjMxNScsIHY9JzUwNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyNzEyNScsIHY9JzYzOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyN2YzNScsIHY9JzE5NjMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMjhkNDUnLCB2PScyODY3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjI5YjU0Jywgdj0nLTgzMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyYTk2NScsIHY9Jy0yNzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMmI3NzYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjJjNTg2Jywgdj0nMjAxMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyZDM5NycsIHY9JzM0MDgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMmUxYTYnLCB2PSczMTkwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjJlZmI2Jywgdj0nLTE4NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyZmRjNycsIHY9Jy0yMjUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzBiZDcnLCB2PSc1MzEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzE5ZTYnLCB2PSctODIzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjMyN2Y2Jywgdj0nNjInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzM2MWInLCB2PScxMDc5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjM0NDE2Jywgdj0nMTU0NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzNTIyNicsIHY9JzkwMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzNjAzNycsIHY9JzExMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzNmU0NicsIHY9JzE3ODAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzdjNTcnLCB2PScxNDA3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjM4YTY2Jywgdj0nMjk4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjM5ODgxJywgdj0nNTY1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjNhNjg1Jywgdj0nLTMxMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzYjQ5NScsIHY9Jy02NTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyM2MyYTQnLCB2PScxNjgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyM2QwYjUnLCB2PSc2NDcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyM2RlYzQnLCB2PScxNDI3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjNlY2Q1Jywgdj0nODI5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjNmYWU0Jywgdj0nLTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNDA4ZjYnLCB2PScxMTk3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjQxNzA2Jywgdj0nMzc1MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0MjUxOCcsIHY9JzI5OTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNDMzMjUnLCB2PScyODAxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjQ0MTM3Jywgdj0nLTExODgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNDRmNDYnLCB2PSctODI4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjQ2YjY2Jywgdj0nLTc5OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0Nzk3NicsIHY9JzU3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjQ4Nzg2Jywgdj0nNDYwMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0OTU3ZScsIHY9JzE5MTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNGEzOGYnLCB2PSc3OTknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNGIxOWMnLCB2PSctOTcyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjRiZmFjJywgdj0nLTcwOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0Y2RiYycsIHY9Jy03OTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNGRiY2QnLCB2PSctNDkwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjRlOWU1Jywgdj0nLTEzMTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNGY4MDgnLCB2PSctODI1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjUwNjE2Jywgdj0nLTEwMTInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNTE0MjYnLCB2PSctMTE3OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1MjIzNicsIHY9Jy0zNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1MzA0NycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNTNlNTYnLCB2PScxMzUyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjU0YzY3Jywgdj0nMTA1OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1NWE3NicsIHY9JzEyOTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNTY4ODcnLCB2PScyMDc5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjU3Njk3Jywgdj0nMzYxOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1ODRhOCcsIHY9Jy00Njg0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjU5MmI2Jywgdj0nLTI0NzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNWEwYzcnLCB2PSctNTU2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjVhZWQ3Jywgdj0nMTg5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjViY2U3Jywgdj0nMjYwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjVjYWY4Jywgdj0nODE2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjVkOTA3Jywgdj0nMjQ4OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1ZTcxOCcsIHY9JzI3MzInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNWY1MjcnLCB2PScyMjM0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjYwMzM4Jywgdj0nNTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNjExNDknLCB2PScxMjE5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjYxZjU5Jywgdj0nNjMyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjYyZDY4Jywgdj0nLTEzNjAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNjNiODMnLCB2PSczOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2NDk4NicsIHY9Jy05ODAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNjU3OTUnLCB2PSctMTUwMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2NjVhNicsIHY9Jy0yMTE5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjY3M2I1Jywgdj0nLTE2MTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNjgxYzYnLCB2PSctMTMxNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2OGZkNScsIHY9Jy00MzInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNjlkZTYnLCB2PSczMDknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNmFiZjYnLCB2PSc2ODUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNmJhMDYnLCB2PScxNjkyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjZjODE3Jywgdj0nMTg5OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2ZDYyYicsIHY9JzM2MjInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNmU0MzYnLCB2PScyNzA5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjZmMjQ3Jywgdj0nMzAzNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI3MDA1NycsIHY9JzI4OTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNzBlNjcnLCB2PSczMjUxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjcxYzc3Jywgdj0nMTg2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjcyYTg3Jywgdj0nLTYzNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI3Mzg5NycsIHY9Jy00MjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNzQ2YTgnLCB2PSctNzI5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjc1NGI5Jywgdj0nLTk3OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI3NjJjNycsIHY9JzI2NzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNzcwZDgnLCB2PScxMjU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjc3ZWU3Jywgdj0nLTQ5NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQksIDUpCitTQVguZW5kRWxlbWVudChwYXIpCitTQVguY2hhcmFjdGVycygKKwkJCQksIDUpCitTQVguc3RhcnRFbGVtZW50KHBhciwgbWVtaW5kPSc0MjQ2MDAnLCBoPSczZGMxYThkZScpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzAnLCB2PSctNDMxMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2UwOCcsIHY9Jy00MTYzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWMzMicsIHY9Jy00MTAyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMmEzYycsIHY9Jy00MDkxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMzgzNScsIHY9Jy0zOTgyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNDY0NScsIHY9Jy0zOTM0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNTQ1NScsIHY9Jy00NDM5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNjI2NScsIHY9Jy01MzIzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNzA3NScsIHY9Jy02Mjk4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nN2U4NScsIHY9Jy03MzMyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOGM5NicsIHY9Jy03NTQxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOWFhNScsIHY9Jy03MjQ4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYThiNicsIHY9Jy02ODY5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYjZjNScsIHY9Jy02NDU0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYzRkNycsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZDMwYicsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZTBmNicsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZWYwNicsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZmQxNycsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTBiMjcnLCB2PSctOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExOTM3Jywgdj0nLTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMjc0NicsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTM1NTYnLCB2PSctOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0MzY2Jywgdj0nLTknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNTE4MScsIHY9Jy05JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTVmODUnLCB2PSctOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2ZDk1Jywgdj0nLTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxN2JhNCcsIHY9Jy04JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTg5YjUnLCB2PSctOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5N2M0Jywgdj0nLTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYTVkNScsIHY9Jy05JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWIzZTYnLCB2PSctOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFjMWY2Jywgdj0nLTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZDAwNScsIHY9Jy04JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWRlMTUnLCB2PSctOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlYzI1Jywgdj0nLTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZmEzNicsIHY9Jy04JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjA4NDUnLCB2PSctOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxNjU2Jywgdj0nLTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMjQ2NScsIHY9Jy04JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjMyNzYnLCB2PSctOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0MDg2Jywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNGU5OScsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjVjYTcnLCB2PSctOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2YWI3Jywgdj0nLTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNzhjNicsIHY9Jy04JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjg2ZDYnLCB2PSctOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI5NGU2Jywgdj0nLTknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyYTMwMScsIHY9Jy05JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMmIxMDUnLCB2PSctOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzJiZjE1Jywgdj0nLTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyY2QyNScsIHY9Jy04JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMmRiMzUnLCB2PSctOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzJlOTQ2Jywgdj0nLTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyZjc1NScsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMzA1NjYnLCB2PSctOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzMxMzc1Jywgdj0nLTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczMjE5ZScsIHY9Jy04JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMzJmOTYnLCB2PSctOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzMzZGE2Jywgdj0nLTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczNGJiNicsIHY9Jy04JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMzU5ZGUnLCB2PSctOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzM2N2Q2Jywgdj0nLTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczNzVlNicsIHY9Jy04JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMzg0MGUnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzM5MjFlJywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczYTAxNicsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nM2FlMjcnLCB2PSctOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzNiYzM2Jywgdj0nLTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczY2E0NycsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nM2Q4NTYnLCB2PSctOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzNlNjY3Jywgdj0nLTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczZjQ4MScsIHY9Jy05JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNDAyODUnLCB2PSctOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzQxMDk1Jywgdj0nLTknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0MWVhNScsIHY9Jy05JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNDJjYjUnLCB2PSctOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzQzYWM1Jywgdj0nLTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0NDhkNScsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNDU2ZTYnLCB2PSctOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzQ2NGY1Jywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0ODBmZicsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNDhmMGUnLCB2PSctNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzQ5ZDFkJywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0YWI0NicsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNGI5NTUnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzRjNzY5Jywgdj0nLTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0ZDU3NycsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNGUzODcnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzRmMTk2Jywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0ZmZhNicsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNTBkZDAnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzUxYmM2Jywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1MjlkNicsIHY9Jy04JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNTM3ZTcnLCB2PSctOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzU0NjAwJywgdj0nLTknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1NTQwNicsIHY9Jy04JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNTYyMTUnLCB2PSctOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzU3MDI2Jywgdj0nLTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1N2UzNicsIHY9Jy04JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNThjNDYnLCB2PSctOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzU5YTcwJywgdj0nLTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1YTg2NycsIHY9Jy04JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNWI2NzYnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzVjNDg3Jywgdj0nLTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1ZDI5NicsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNWUwYTknLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzVlZWI4Jywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1ZmNjNicsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNjBhZDcnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzYxOGU3Jywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2MjZmNycsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNjM1MDcnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzY0MzE3Jywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2NTEyNycsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNjVmMzcnLCB2PSctOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzY2ZDQ2Jywgdj0nLTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2N2I1NycsIHY9Jy04JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNjg5NjcnLCB2PSctOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzY5NzgyJywgdj0nLTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2YTU4NicsIHY9Jy04JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNmIzOTUnLCB2PSctOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzZjMWE2Jywgdj0nLTknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2Y2ZiNScsIHY9Jy04JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNmRkYzYnLCB2PSctOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzZlYmQ2Jywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2ZjllNicsIHY9Jy04JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNzA3ZjYnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzcxNjA3Jywgdj0nLTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3MjQxNycsIHY9Jy02JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNzMyMjcnLCB2PSctNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzc0MDM3Jywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3NGU0NycsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNzVjNTcnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzc2YTYzJywgdj0nLTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3Nzg3MycsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNzg2ODAnLCB2PSctNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzc5NDhmJywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3YTI5ZicsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nN2IwYWYnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzdiZWJmJywgdj0nLTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3Y2NjZicsIHY9Jy04JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nN2RhZGYnLCB2PSctOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzdlOGZhJywgdj0nLTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3ZjcwYScsIHY9Jy04JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nODA1MWEnLCB2PSctOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzgxMzJhJywgdj0nLTknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4MjEzYScsIHY9Jy05JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nODJmNGEnLCB2PSctOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzgzZDVhJywgdj0nLTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4NGI2YScsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nODU5N2EnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzg2NzhiJywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4NzU5YicsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nODgzYWMnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzg5MWJiJywgdj0nLTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4OWZjYScsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOGFkZGEnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzhiYmViJywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4YzlmYycsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOGQ4MGInLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzhlNjFhJywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4ZjQyYScsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOTAyM2EnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzkxMDRhJywgdj0nLTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5MWU1YScsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOTJjNmEnLCB2PSctOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzkzYTg0Jywgdj0nLTknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5NDg4NScsIHY9Jy04JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOTU2OTQnLCB2PSctOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzk2NGE1Jywgdj0nLTknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5NzJiNCcsIHY9Jy04JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOTgwYzUnLCB2PSctOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzk4ZWQ0Jywgdj0nLTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5OWNlNScsIHY9Jy04JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOWFhZjUnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzliOTA2Jywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5YzcxNicsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOWQ1MjYnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzllMzM2Jywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5ZjE0NScsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOWZmNTYnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2EwZDY1Jywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhMWI3NycsIHY9Jy02NDYwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYTI5ODYnLCB2PSctMzU0NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2EzNzk1Jywgdj0nLTk4NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2E0NWE3Jywgdj0nNjk3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYTUzYjYnLCB2PSc3NzYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhNjFjNycsIHY9JzkyNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2E2ZmQ2Jywgdj0nMTI1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYTdlMDAnLCB2PSc0NTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhOGMwMCcsIHY9JzkwMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2E5YTA1Jywgdj0nMjc4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYWE4MTUnLCB2PScyNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2FiNjI1Jywgdj0nNDMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhYzQzNScsIHY9JzE3MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2FkMjQ1Jywgdj0nOTQ3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYWUwNTUnLCB2PSc3MjgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhZWU2NScsIHY9Jy00NTInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhZmM3NScsIHY9Jy0xMTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiMGE4NScsIHY9JzIzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYjI2YTYnLCB2PScxODInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiMzRiNicsIHY9Jy0xNTInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiNDJjNicsIHY9Jy00MjMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiNTBkNicsIHY9Jy03MDUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiNWVlNycsIHY9Jy03OTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiNmNmNicsIHY9Jy0xNTc1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYjdiMDcnLCB2PSctMjAyNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2I4OTE3Jywgdj0nLTE3NTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiOTcyOCcsIHY9Jy0xNzIyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYmE1MzcnLCB2PSctMTkwMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2JiMzQ3Jywgdj0nLTc0MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2JjMTU3Jywgdj0nLTgxMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2JjZjY3Jywgdj0nLTg5MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2JkZDgxJywgdj0nNjUyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYmViODYnLCB2PSc0MTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiZjk5NScsIHY9JzUxNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2MwN2E2Jywgdj0nMzk4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYzE1YjUnLCB2PSczODInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjMjNjNicsIHY9JzQ3MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2MzMWQ1Jywgdj0nNTkxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYzNmZTYnLCB2PScyNjcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjNGRmNScsIHY9Jzc3MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2M1YzA2Jywgdj0nMTY0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYzZhMTYnLCB2PSc0MzgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjNzgyNicsIHY9Jy00MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2M4NjM2Jywgdj0nNzInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjOTQ0NicsIHY9JzI0OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2NhMjU2Jywgdj0nMjAxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nY2IwNjYnLCB2PScxMTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjYmU3NicsIHY9Jy00MjUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjY2M4NycsIHY9Jy0yMjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjZGE5NicsIHY9Jy0yODQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjZThhOCcsIHY9Jy0yNDcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjZjZiNycsIHY9Jy0xMzUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkMDRjOCcsIHY9Jy01NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2QxMmQ3Jywgdj0nOTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkMjBlNycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkMmYwMicsIHY9JzE2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZDNkMDUnLCB2PSc1OTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkNGIxNScsIHY9JzcyMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2Q1OTI2Jywgdj0nODE4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZDY3MzUnLCB2PScxMDY3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZDc1NDYnLCB2PScxMjQ1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZDgzNTUnLCB2PSctMTE3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZDkxNjYnLCB2PSctNzIxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZDlmNzUnLCB2PSctMTUwNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2RhZDg3Jywgdj0nLTIwODQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkYmI5NycsIHY9Jy0yNTU0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZGM5YTgnLCB2PSctMjM0NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2RkN2I3Jywgdj0nLTI5MjAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkZTVjNicsIHY9Jy0yNzEyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZGYzZDcnLCB2PSctMjg1OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2UwMWQ3Jywgdj0nLTI5MjgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlMGZlNScsIHY9Jy0yODAzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZTFkZjUnLCB2PSctMzAzMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2UyYzA0Jywgdj0nLTQwMTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlM2ExNCcsIHY9Jy0zOTE4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZTQ4MjQnLCB2PSctMzQxMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2U1NjM0Jywgdj0nLTM0NDEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlNjQ0NCcsIHY9Jy0yNTYxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZTcyNTUnLCB2PSctMjEzOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2U4MDZmJywgdj0nLTE3NjUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlOGU3ZicsIHY9Jy00NjUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlOWM4ZScsIHY9Jy03MDInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlYWE5ZicsIHY9Jy02NDcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlYjhhZScsIHY9Jy02NzYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlYzZiZicsIHY9Jy01MDknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlZDRjZScsIHY9Jy0yMTUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZWUyZGYnLCB2PSctMjM1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2VmMGVmJywgdj0nLTMxNzEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlZmYwMScsIHY9Jy00MDMxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZjBkMTAnLCB2PSctNDMzOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2YxYjIwJywgdj0nLTQ2NTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmMjkzMCcsIHY9Jy00NjY4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZjM3NDAnLCB2PSctNDM0NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2Y0NTUxJywgdj0nLTQ1NzEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmNTM2MScsIHY9Jy00OTI5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZjYxNzInLCB2PSctNDYwNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2Y2ZjgwJywgdj0nLTQ4NjYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmN2Q5MScsIHY9Jy00MzA4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZjhiYTEnLCB2PSctMzg5NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2Y5OWIxJywgdj0nLTM3ODQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmYTdjMCcsIHY9Jy0yOTg4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZmI1ZDEnLCB2PSctMzA5OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2ZjM2UwJywgdj0nLTMzMzUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmZDFmYicsIHY9Jy0yNjg2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZmUwMGInLCB2PSctMjUyMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2ZlZTFjJywgdj0nLTIwNzQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmZmMyYycsIHY9Jy0xOTg5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTAwYTNiJywgdj0nLTE3ODgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMDE4NGMnLCB2PSctMTc5NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEwMjY1YicsIHY9Jy0yMDc1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTAzNDZjJywgdj0nLTI2OTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMDQyN2InLCB2PSctMzkzMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEwNTA4ZCcsIHY9Jy00NDA2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTA1ZTlkJywgdj0nLTQzNjYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMDZjYWQnLCB2PSctNDY5MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEwN2FiZCcsIHY9Jy00MzAyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTA4OGNkJywgdj0nLTM5MjcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMDk2ZGUnLCB2PSctNDEwMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEwYTRlZCcsIHY9Jy00MTg3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTBiMmZlJywgdj0nLTQzNDInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMGMxMGQnLCB2PSctNDE2MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEwY2YxZScsIHY9Jy00NDU2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTBkZDJlJywgdj0nLTQxMzInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMGViNjYnLCB2PSctNDQ5OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEwZjk0ZScsIHY9Jy0zODgyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTEwNzVlJywgdj0nLTMyOTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMTE1NmQnLCB2PSctMjg2MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExMjM4OCcsIHY9Jy0yNjY4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTEzMTg3Jywgdj0nLTE3NzgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMTNmYjAnLCB2PSctMTgxMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExNGRhNicsIHY9Jy0xODI5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTE1YmI2Jywgdj0nLTE4MDAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMTY5YzYnLCB2PSctMTU5NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExNzdkNicsIHY9Jy0yMDUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTE4NWU4Jywgdj0nLTI5NjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMTkzZjcnLCB2PSctMzYyNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExYTIwOCcsIHY9Jy00ODMwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTFiMDE3Jywgdj0nLTQyOTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMWJlMmYnLCB2PSctNTI1NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExY2MzNycsIHY9Jy00NDA4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTFkYTQ3Jywgdj0nLTQzMjYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMWU4NTcnLCB2PSctNDQyMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExZjY2NycsIHY9Jy0zOTUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTIwNTc4Jywgdj0nLTQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMjEzODYnLCB2PSctNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyMjE5NicsIHY9Jy00JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTIyZmE2Jywgdj0nLTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMjNkYjUnLCB2PSctMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyNGJjNScsIHY9Jy0zJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTI1OWQ1Jywgdj0nLTInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMjY3ZTQnLCB2PSctMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyNzYwMCcsIHY9Jy0yJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTI4MzA1Jywgdj0nLTInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMjkxMTUnLCB2PSctMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyOWYyNScsIHY9Jy0yJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTJhZDM1Jywgdj0nLTInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMmJiNDUnLCB2PSctMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyYzk1NCcsIHY9Jy0yJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTJkNzY2Jywgdj0nLTInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMmU1NzUnLCB2PSctMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyZjM4NicsIHY9Jy0yJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTMwMTk2Jywgdj0nLTQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMzBmYTYnLCB2PSctMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzMWRiNycsIHY9Jy0zJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTMyYmM1Jywgdj0nLTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMzM5ZDQnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTM0N2U1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzNTVmNCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMzY0MDQnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTM3MjE0Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzODAyNCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMzhlMzMnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTM5YzQ0Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzYWE1NCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxM2I4NjUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTNjNjdlJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzZDQ4ZScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxM2UyOWUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTNmMGFlJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzZmViZicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNDBjY2YnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTQxYWRmJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0MjhlZicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNDM2ZmYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTQ0NTBmJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0NTMxZicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNDYxMzAnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTQ2ZjQwJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0N2Q0NCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNDhiNTcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTQ5OTY1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0YTc3NScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNGI1ODQnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTRjMzk3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0ZDFhNCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNGRmYjYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTRlZGM1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0ZmJkNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNTA5ZTUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTUxN2ZmJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1MjYwNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNTM0MTUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTU0MjI1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1NTAzNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNTVlNDUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTU2YzU1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1N2E2NScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNTg4NzUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTU5Njg2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1YTQ5NScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNWIyYTYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTVjMGI2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1Y2VjNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNWRjZDUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTVlYWU2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1ZjhmNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNjA3MDYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTYxNTE3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2MjMyNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNjMxMzcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTYzZjQ2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2NGQ1NycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNjViNjcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTY2OTgyJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2Nzc4NicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNjg1OTYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTY5M2E2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2YTFiNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNmFmYzYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTZiZGQ1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2Y2JlNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNmQ5ZjYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTZlODA3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2ZjYxNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNzA0MjknLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTcxMjM2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3MjA0NycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNzJlNTcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTczYzY3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3NGE3NycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNzU4ODcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTc2Njk0Jywgdj0nLTY4NjgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNzc0YTMnLCB2PSctNjc5MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3ODJiMycsIHY9Jy03MjUyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTc5MGM1Jywgdj0nLTY3MzQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNzllZDQnLCB2PSctNjAzMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3YWNlNCcsIHY9Jy01ODkyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTdiYWZkJywgdj0nLTYwNjYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxN2M5MGYnLCB2PSctNTQ4NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3ZDcxZScsIHY9Jy01NDQ0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTdlNTJmJywgdj0nLTUzMzknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxN2YzM2YnLCB2PSctNDk4MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4MDE0ZicsIHY9Jy01MTkwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTgwZjVmJywgdj0nLTYzMTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxODFkNmUnLCB2PSctNjgzOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4MmI3ZicsIHY9Jy03ODUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTgzOThmJywgdj0nLTEzNTA3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTg0N2ExJywgdj0nLTEzMzgxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTg1NWFmJywgdj0nLTEyNzc4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTg2M2MwJywgdj0nLTExODkwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTg3MWNmJywgdj0nLTEyMzM4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTg3ZmUwJywgdj0nLTExNzc0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTg4ZGVmJywgdj0nLTEyNjQ5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTg5YzAwJywgdj0nLTExODQ5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMThiODBkJywgdj0nLTc0NzEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOGM2MWMnLCB2PSctODEyNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4ZDQyYycsIHY9Jy03Njk2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMThlMjNiJywgdj0nLTY1MzgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOGYwNGInLCB2PSctNjE3NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4ZmU1ZScsIHY9Jy01NjY0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTkwYzc2Jywgdj0nLTQ0ODAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOTFhODYnLCB2PSctNDMwMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5Mjg5NicsIHY9Jy00MjYzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTkzNmE2Jywgdj0nLTQxMTknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOTQ0YjcnLCB2PSctNDEwMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5NTJjNicsIHY9Jy00NTExJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTk2MGQ3Jywgdj0nLTUxMzUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOTZlZTYnLCB2PSctNjAzOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5N2NmOCcsIHY9Jy02MzkyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTk4YjBmJywgdj0nLTU4OTknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOTk5MWYnLCB2PSctNjY5MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5YjU0MScsIHY9Jy02NjAzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTljMzRkJywgdj0nLTYxNTknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOWQxNWUnLCB2PSctNjEyOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5ZGY4MCcsIHY9Jy02MjIwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTllZDkwJywgdj0nLTYwNDcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOWVlYmUnLCB2PSctNjAwOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5ZmI4ZScsIHY9Jy0yMjk1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWEwOWEwJywgdj0nLTI1NDMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYTE3YWUnLCB2PSctMzA4NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhMjViZScsIHY9Jy0zMjY5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWEzM2NkJywgdj0nLTIyNjcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYTQxZGQnLCB2PSctMjE1OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhNGZlZCcsIHY9Jy0xNTMyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWE1ZTA4Jywgdj0nLTE2NzUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYTZjMDUnLCB2PSctOTYwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWE3YTE1Jywgdj0nLTExMjInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYTg4MjYnLCB2PSctMTA2MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhOTYzNycsIHY9Jy01MDUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYWE0NDUnLCB2PSctNTM2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWFiMjU1Jywgdj0nLTk5MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhYzA2NScsIHY9Jy0xODE4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWFjZTc1Jywgdj0nLTI1NzQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYWRjODcnLCB2PSctMjg0NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhZWE5NicsIHY9Jy0yNjA4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWFmOGE3Jywgdj0nLTI5MjgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYjA2YjcnLCB2PSctMjExMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFiMTRjNicsIHY9Jy0yMDc0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWM3NDYwJywgdj0nMzU0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWM4MjcwJywgdj0nNDM4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWM5MDdlJywgdj0nMzQwOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFjOWU4ZicsIHY9JzMyNjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxY2FjYTInLCB2PSczNjU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWNiYWIxJywgdj0nMzUyMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFjYzhjMScsIHY9JzU0MzEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxY2Q2ZDAnLCB2PSc1NTYwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWNlNGRlJywgdj0nNTY2MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFjZjJmMCcsIHY9JzU2MjMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZDAxMDknLCB2PSc1ODk2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWQwZjA2Jywgdj0nNjY1NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkMWQxNScsIHY9JzY2NDcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZDJiMjUnLCB2PSc2NzMzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWQzOTM1Jywgdj0nNjkxNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkNDc0NScsIHY9JzY4NzMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZDU1NTUnLCB2PSc2NjkxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWQ2MzY2Jywgdj0nNTgxNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkNzE3NScsIHY9JzU2MTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZDdmODYnLCB2PSc1NjA4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWQ4ZDk1Jywgdj0nLTMyMzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZDliYTYnLCB2PSctMzY1NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkYTliNicsIHY9Jy0zNjIwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWRiN2M3Jywgdj0nLTM0NDknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZGM1ZDUnLCB2PSctMzYwMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkZDNlNicsIHY9Jy0zNzM1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWRlMWY1Jywgdj0nLTU5OTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZGYwMDYnLCB2PSctNjcxOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkZmUxNicsIHY9Jy02NTgzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWUwYzI2Jywgdj0nLTY3NjcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZTFhMzYnLCB2PSctNjgwMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlMjg0NycsIHY9Jy02NTI1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWUzNjU5Jywgdj0nLTYxNzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZTQ0NjcnLCB2PSctNTY3NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlNTI4MScsIHY9Jy00OTExJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWU2MDg2Jywgdj0nLTQ5MTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZTZlOTYnLCB2PSctNDgwMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlN2NhNicsIHY9Jy0xOTgyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWU4YWI1Jywgdj0nLTE4MTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZTk4YzYnLCB2PSctMTgzNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlYTZkNScsIHY9Jy0yMjU2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWViNGU2Jywgdj0nLTIzMjUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZWMyZjYnLCB2PSctMjY4NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlZDEwNicsIHY9Jy0yNjc1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWVkZjE2Jywgdj0nLTI3NzgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZWVkMjYnLCB2PSctMjY4OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlZmIzNicsIHY9Jy0yNjUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWYwOTQ2Jywgdj0nLTI1NTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZjE3NTYnLCB2PSctMjM1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmMjU2NicsIHY9Jy0yMzE4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWYzMzc2Jywgdj0nLTI1ODInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZjQxODcnLCB2PSctMjgxMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmNGY5NicsIHY9Jy0zMTgyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWY1ZGE3Jywgdj0nLTM1NzgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZjZiYjYnLCB2PSctMzU0NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmNzljNycsIHY9Jy0zMTQ4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWY4N2Q2Jywgdj0nLTMzNDUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZjk1ZTcnLCB2PSctMzEzNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmYTQwMScsIHY9Jy0yODA5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWZiMjA0Jywgdj0nLTI1MDEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZmMwMTYnLCB2PSctMjQ5MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmY2UyNScsIHY9Jy0yMTU3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWZkYzM1Jywgdj0nLTIxMzcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZmVhNDUnLCB2PSctMjE1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmZjg1NScsIHY9Jy0yNDk4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjAwNjY1Jywgdj0nLTIzNjgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMDE0NzUnLCB2PSctMzUxMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwMjI4NicsIHY9Jy00NTY2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjAzMDk1Jywgdj0nLTUzNDUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMDNlYTUnLCB2PSctNjA1NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwNGNiNicsIHY9Jy01Nzk5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjA1YWM2Jywgdj0nLTUzNDEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMDY4ZDYnLCB2PSctNTM5NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwNzZlNicsIHY9Jy01OTc5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjA4NGY2Jywgdj0nLTYwOTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMDkzMDYnLCB2PSctNjc3OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwYTExNicsIHY9Jy02Mzc4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjBhZjI2Jywgdj0nLTU0NzMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMGJkMzcnLCB2PSctNTM4MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwY2I0NicsIHY9Jy00NjA4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjBkOTU3Jywgdj0nLTQzMTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMGU3NjcnLCB2PSctNDA1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwZjU4MScsIHY9Jy0zODY3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjEwMzg2Jywgdj0nLTM0ODInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMTExOTQnLCB2PSctMzExNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxMWZhNScsIHY9Jy0zMDEwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjEyZGI1Jywgdj0nLTI5NDQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMTNiYzUnLCB2PSctMjgxOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxNDlkNicsIHY9Jy0zNjQ0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjE1N2U1Jywgdj0nLTQ0OTknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMTY1ZjYnLCB2PSctNTc5NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxNzQwNicsIHY9Jy02MTk4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjE4MjE3Jywgdj0nLTYxNzQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMTkwMjYnLCB2PSctNjEwMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxOWUzOScsIHY9Jy02MjE4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjFhYzQ2Jywgdj0nLTU4OTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMWJhNTcnLCB2PSctNTk4NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxYzg2NycsIHY9Jy01NjMzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjFkNjc3Jywgdj0nLTYyMTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMWU0ODcnLCB2PSctNTc4MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxZjI5NicsIHY9Jy01NzI2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjIwMGE2Jywgdj0nLTU1MzknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMjBlYjcnLCB2PSctNTQwOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyMWNjNicsIHY9Jy00NjA4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjIyYWQ3Jywgdj0nLTM4NzYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMjM4ZTcnLCB2PSctMzYxOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyNDcwMScsIHY9Jy0zMjkyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjI1NTA1Jywgdj0nLTE2ODUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMjYzMTUnLCB2PSctMjA3MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyNzEyNScsIHY9Jy0yMDUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjI3ZjM1Jywgdj0nLTE2NzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMjhkNDUnLCB2PSctMTc5MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyOWI1NCcsIHY9Jy0zNDg1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjJhOTY1Jywgdj0nLTM5MTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMmI3NzYnLCB2PSctNDU3OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyYzU4NicsIHY9Jy00Nzg4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjJkMzk3Jywgdj0nLTQ0NTknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMmUxYTYnLCB2PSctNDY5MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyZWZiNicsIHY9Jy00ODMwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjJmZGM3Jywgdj0nLTQ2NTInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzBiZDcnLCB2PSctNDQ1MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzMTllNicsIHY9Jy01Mzk0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjMyN2Y2Jywgdj0nLTU1MzgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzM2MWInLCB2PSctNTg2NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzNDQxNicsIHY9Jy01MjI1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjM1MjI2Jywgdj0nLTUxNjInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzYwMzcnLCB2PSctNTI1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzNmU0NicsIHY9Jy00Mzg0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjM3YzU3Jywgdj0nLTQyMTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzhhNjYnLCB2PSctNDAxNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzOTg4MScsIHY9Jy0zMjIyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjNhNjg1Jywgdj0nLTMzMTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyM2I0OTUnLCB2PSctMzE4MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzYzJhNCcsIHY9Jy0yOTc0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjNkMGI1Jywgdj0nLTI5NDUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyM2RlYzQnLCB2PSctMjkzMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzZWNkNScsIHY9Jy0zNTcwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjNmYWU0Jywgdj0nLTQ1NDUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNDA4ZjYnLCB2PSctNTExOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0MTcwNicsIHY9Jy01NzM3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjQyNTE4Jywgdj0nLTY1MTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNDMzMjUnLCB2PSctNjc3NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0NDEzNycsIHY9Jy02NzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjQ0ZjQ2Jywgdj0nLTYzNjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNDZiNjYnLCB2PSctNjU0NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0Nzk3NicsIHY9Jy02MjczJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjQ4Nzg2Jywgdj0nLTU0MDInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNDk1N2UnLCB2PSctNTc5NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0YTM4ZicsIHY9Jy01NjQ3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjRiMTljJywgdj0nLTU3NDcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNGJmYWMnLCB2PSctNTQ0MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0Y2RiYycsIHY9Jy01NDQ1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjRkYmNkJywgdj0nLTQ1NTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNGU5ZTUnLCB2PSctNDAxOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0ZjgwOCcsIHY9Jy0zNDg0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjUwNjE2Jywgdj0nLTM2MTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNTE0MjYnLCB2PSctMzU1OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1MjIzNicsIHY9Jy0zNDA4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjUzMDQ3Jywgdj0nLTM2MDknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNTNlNTYnLCB2PSctNDAyMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1NGM2NycsIHY9Jy00MTgyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjU1YTc2Jywgdj0nLTQ5OTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNTY4ODcnLCB2PSctNTgxMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1NzY5NycsIHY9Jy01NTk1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjU4NGE4Jywgdj0nLTE1MjI0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjU5MmI2Jywgdj0nLTg2OTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNWEwYzcnLCB2PSctNDU3NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1YWVkNycsIHY9Jy02MzEzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjViY2U3Jywgdj0nLTYxMDQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNWNhZjgnLCB2PSctNTc1MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1ZDkwNycsIHY9Jy01NzY0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjVlNzE4Jywgdj0nLTU2NDknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNWY1MjcnLCB2PSctNTI0OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2MDMzOCcsIHY9Jy01NTYyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjYxMTQ5Jywgdj0nLTQ4NzUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNjFmNTknLCB2PSctNDYxOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2MmQ2OCcsIHY9Jy00NjExJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjYzYjgzJywgdj0nLTM2MTknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNjQ5ODYnLCB2PSctMzQ2NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2NTc5NScsIHY9Jy0zNTY0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjY2NWE2Jywgdj0nLTM2NzInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNjczYjUnLCB2PSctMzYxNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2ODFjNicsIHY9Jy0zNjIxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjY4ZmQ1Jywgdj0nLTM4NjgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNjlkZTYnLCB2PSctMzk2OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2YWJmNicsIHY9Jy0zODg2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjZiYTA2Jywgdj0nLTQzODEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNmM4MTcnLCB2PSctNDI3MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2ZDYyYicsIHY9Jy0zOTY3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjZlNDM2Jywgdj0nLTQwMDInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNmYyNDcnLCB2PSctMzU2MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI3MDA1NycsIHY9Jy0zODc0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjcwZTY3Jywgdj0nLTM1NjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNzFjNzcnLCB2PSctNDY5MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI3MmE4NycsIHY9Jy01MTk2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjczODk3Jywgdj0nLTUyMTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNzQ2YTgnLCB2PSctNTAzNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI3NTRiOScsIHY9Jy00OTYzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjc2MmM3Jywgdj0nLTQwNDgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNzcwZDgnLCB2PSctMzcwOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI3N2VlNycsIHY9Jy0zMjE1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCSwgNSkKK1NBWC5lbmRFbGVtZW50KHBhcikKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCSwgNSkKK1NBWC5zdGFydEVsZW1lbnQocGFyLCBtZW1pbmQ9JzQzODIwMCcsIGg9JzNkYzFhOGRlJykKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMCcsIHY9Jy0xMTAzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZTA4Jywgdj0nLTEyODYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYzMyJywgdj0nLTEzNTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyYTNjJywgdj0nLTE0MjcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczODM1Jywgdj0nLTEyNDYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0NjQ1Jywgdj0nLTExMDEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1NDU1Jywgdj0nLTkwOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzYyNjUnLCB2PSctMTQ3MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzcwNzUnLCB2PSctMTUyMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzdlODUnLCB2PSctMTQzNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzhjOTYnLCB2PSctMTc4NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzlhYTUnLCB2PSctMTc1NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2E4YjYnLCB2PSctMTY4MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2I2YzUnLCB2PSctMTc0NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2M0ZDcnLCB2PSctNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2QzMGInLCB2PSctNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2UwZjYnLCB2PSctNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2VmMDYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZmQxNycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMGIyNycsIHY9Jy02JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTE5MzcnLCB2PSctNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyNzQ2Jywgdj0nLTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMzU1NicsIHY9Jy02JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTQzNjYnLCB2PSctNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1MTgxJywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNWY4NScsIHY9Jy02JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTZkOTUnLCB2PSctNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3YmE0Jywgdj0nLTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxODliNScsIHY9Jy02JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTk3YzQnLCB2PSctNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhNWQ1Jywgdj0nLTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYjNlNicsIHY9Jy02JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWMxZjYnLCB2PSctNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkMDA1Jywgdj0nLTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZGUxNScsIHY9Jy02JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWVjMjUnLCB2PSctNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmYTM2Jywgdj0nLTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMDg0NScsIHY9Jy02JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjE2NTYnLCB2PSctNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyNDY1Jywgdj0nLTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzI3NicsIHY9Jy02JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjQwODYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjRlOTknLCB2PSctNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1Y2E3Jywgdj0nLTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNmFiNycsIHY9Jy02JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjc4YzYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjg2ZDYnLCB2PSctNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI5NGU2Jywgdj0nLTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyYTMwMScsIHY9Jy02JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMmIxMDUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMmJmMTUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMmNkMjUnLCB2PSctNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzJkYjM1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzJlOTQ2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzJmNzU1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzMwNTY2Jywgdj0nLTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczMTM3NScsIHY9Jy02JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMzIxOWUnLCB2PSctNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzMyZjk2Jywgdj0nLTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczM2RhNicsIHY9Jy02JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMzRiYjYnLCB2PSctNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzM1OWRlJywgdj0nLTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczNjdkNicsIHY9Jy02JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMzc1ZTYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMzg0MGUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMzkyMWUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nM2EwMTYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nM2FlMjcnLCB2PSctNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzNiYzM2Jywgdj0nLTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczY2E0NycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczZDg1NicsIHY9Jy02JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nM2U2NjcnLCB2PSctNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzNmNDgxJywgdj0nLTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0MDI4NScsIHY9Jy02JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNDEwOTUnLCB2PSctNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzQxZWE1Jywgdj0nLTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0MmNiNScsIHY9Jy02JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNDNhYzUnLCB2PSctNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzQ0OGQ1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzQ1NmU2Jywgdj0nLTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0NjRmNScsIHY9Jy02JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNDgwZmYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNDhmMGUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNDlkMWQnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNGFiNDYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNGI5NTUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNGM3NjknLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNGQ1NzcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNGUzODcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNGYxOTYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNGZmYTYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNTBkZDAnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNTFiYzYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNTI5ZDYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNTM3ZTcnLCB2PSctNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzU0NjAwJywgdj0nLTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1NTQwNicsIHY9Jy02JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNTYyMTUnLCB2PSctNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzU3MDI2Jywgdj0nLTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1N2UzNicsIHY9Jy02JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNThjNDYnLCB2PSctNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzU5YTcwJywgdj0nLTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1YTg2NycsIHY9Jy02JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNWI2NzYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNWM0ODcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNWQyOTYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNWUwYTknLCB2PSctNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzVlZWI4Jywgdj0nLTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1ZmNjNicsIHY9Jy02JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNjBhZDcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNjE4ZTcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNjI2ZjcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNjM1MDcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNjQzMTcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNjUxMjcnLCB2PSctNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzY1ZjM3Jywgdj0nLTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2NmQ0NicsIHY9Jy02JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNjdiNTcnLCB2PSctNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzY4OTY3Jywgdj0nLTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2OTc4MicsIHY9Jy02JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNmE1ODYnLCB2PSctNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzZiMzk1Jywgdj0nLTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2YzFhNicsIHY9Jy02JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNmNmYjUnLCB2PSctNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzZkZGM2Jywgdj0nLTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2ZWJkNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2ZjllNicsIHY9Jy02JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNzA3ZjYnLCB2PSctNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzcxNjA3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzcyNDE3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzczMjI3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzc0MDM3Jywgdj0nLTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3NGU0NycsIHY9Jy02JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNzVjNTcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNzZhNjMnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNzc4NzMnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNzg2ODAnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNzk0OGYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nN2EyOWYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nN2IwYWYnLCB2PSctNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzdiZWJmJywgdj0nLTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3Y2NjZicsIHY9Jy02JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nN2RhZGYnLCB2PSctNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzdlOGZhJywgdj0nLTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3ZjcwYScsIHY9Jy02JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nODA1MWEnLCB2PSctNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzgxMzJhJywgdj0nLTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4MjEzYScsIHY9Jy02JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nODJmNGEnLCB2PSctNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzgzZDVhJywgdj0nLTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4NGI2YScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4NTk3YScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4Njc4YicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4NzU5YicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4ODNhYycsIHY9Jy02JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nODkxYmInLCB2PSctNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzg5ZmNhJywgdj0nLTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4YWRkYScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4YmJlYicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4YzlmYycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4ZDgwYicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4ZTYxYScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4ZjQyYScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5MDIzYScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5MTA0YScsIHY9Jy02JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOTFlNWEnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOTJjNmEnLCB2PSctNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzkzYTg0Jywgdj0nLTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5NDg4NScsIHY9Jy02JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOTU2OTQnLCB2PSctNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzk2NGE1Jywgdj0nLTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5NzJiNCcsIHY9Jy02JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOTgwYzUnLCB2PSctNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzk4ZWQ0Jywgdj0nLTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5OWNlNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5YWFmNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5YjkwNicsIHY9Jy02JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOWM3MTYnLCB2PSctNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzlkNTI2Jywgdj0nLTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5ZTMzNicsIHY9Jy02JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOWYxNDUnLCB2PSctNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzlmZjU2Jywgdj0nLTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhMGQ2NScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhMWI3NycsIHY9Jy0xNTkwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYTI5ODYnLCB2PSctNTAwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYTM3OTUnLCB2PScxMzc5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYTQ1YTcnLCB2PSctNDUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhNTNiNicsIHY9Jy0zNDYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhNjFjNycsIHY9Jy01ODAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhNmZkNicsIHY9Jy03NTInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhN2UwMCcsIHY9Jy0xMzY3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYThjMDAnLCB2PSctMTkwNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2E5YTA1Jywgdj0nMTAxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYWE4MTUnLCB2PSctMzY2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYWI2MjUnLCB2PSctNzQwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYWM0MzUnLCB2PSctNTUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYWQyNDUnLCB2PSc0MzInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhZTA1NScsIHY9JzE1OTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhZWU2NScsIHY9JzI3NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2FmYzc1Jywgdj0nMTAxOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2IwYTg1Jywgdj0nMzQ0NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2IyNmE2Jywgdj0nMzYyOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2IzNGI2Jywgdj0nMzIwMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2I0MmM2Jywgdj0nMjE1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYjUwZDYnLCB2PSczODAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiNWVlNycsIHY9Jzg5MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2I2Y2Y2Jywgdj0nLTQ0NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2I3YjA3Jywgdj0nLTIwMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2I4OTE3Jywgdj0nLTQ0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYjk3MjgnLCB2PSctNDI0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYmE1MzcnLCB2PSctNzE4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYmIzNDcnLCB2PSc5NDYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiYzE1NycsIHY9JzI3NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2JjZjY3Jywgdj0nLTk0NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2JkZDgxJywgdj0nMzEyOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2JlYjg2Jywgdj0nNDUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYmY5OTUnLCB2PScxOTQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjMDdhNicsIHY9Jy0yNDYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjMTViNScsIHY9Jy0xMjInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjMjNjNicsIHY9JzQzMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2MzMWQ1Jywgdj0nMTU4MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2MzZmU2Jywgdj0nNzIwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYzRkZjUnLCB2PScxMzMzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYzVjMDYnLCB2PSc1ODgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjNmExNicsIHY9JzY0MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2M3ODI2Jywgdj0nMTA5NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2M4NjM2Jywgdj0nMzEzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYzk0NDYnLCB2PSczNzQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjYTI1NicsIHY9JzIwNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2NiMDY2Jywgdj0nNjkyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nY2JlNzYnLCB2PSctMTk2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nY2NjODcnLCB2PScxODg4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nY2RhOTYnLCB2PScyNTAyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nY2U4YTgnLCB2PScxODQwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nY2Y2YjcnLCB2PScyNDM3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZDA0YzgnLCB2PScxOTMwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZDEyZDcnLCB2PScxMjE5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZDIwZTcnLCB2PSctMjUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZDJmMDInLCB2PSctMTk3MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2QzZDA1Jywgdj0nLTEwMjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkNGIxNScsIHY9Jy0xMDcyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZDU5MjYnLCB2PSctMzg4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZDY3MzUnLCB2PScyMjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkNzU0NicsIHY9JzExMzEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkODM1NScsIHY9Jy03MjYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkOTE2NicsIHY9JzE2NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2Q5Zjc1Jywgdj0nOTY1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZGFkODcnLCB2PScyMzQxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZGJiOTcnLCB2PScyMzU0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZGM5YTgnLCB2PScyNTY1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZGQ3YjcnLCB2PScxMTM2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZGU1YzYnLCB2PSczNjcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkZjNkNycsIHY9JzE3MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2UwMWQ3Jywgdj0nMTU2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZTBmZTUnLCB2PSc0NjAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlMWRmNScsIHY9JzM1OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2UyYzA0Jywgdj0nLTMwOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2UzYTE0Jywgdj0nLTEwMDYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlNDgyNCcsIHY9JzkzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZTU2MzQnLCB2PSctNzIzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZTY0NDQnLCB2PScxNDcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlNzI1NScsIHY9Jy01NTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlODA2ZicsIHY9Jy02MjYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlOGU3ZicsIHY9JzIzMTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlOWM4ZScsIHY9JzcxNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2VhYTlmJywgdj0nNjAwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZWI4YWUnLCB2PSc5NTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlYzZiZicsIHY9JzIyNjcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlZDRjZScsIHY9Jy00MDMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlZTJkZicsIHY9Jzk5OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2VmMGVmJywgdj0nNDc1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZWZmMDEnLCB2PScxNjYzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZjBkMTAnLCB2PSc4MjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmMWIyMCcsIHY9JzEwNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmMjkzMCcsIHY9Jy0zMTQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmMzc0MCcsIHY9JzE0MzEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmNDU1MScsIHY9JzEyMDEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmNTM2MScsIHY9JzEyODAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmNjE3MicsIHY9JzE0MzEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmNmY4MCcsIHY9JzExNDUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmN2Q5MScsIHY9JzE2MzUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmOGJhMScsIHY9Jzk1NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2Y5OWIxJywgdj0nMTAxOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2ZhN2MwJywgdj0nMTIxOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2ZiNWQxJywgdj0nMTE0MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2ZjM2UwJywgdj0nLTg5MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2ZkMWZiJywgdj0nLTEwMTknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmZTAwYicsIHY9Jy0xMzg5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZmVlMWMnLCB2PSctMTgyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZmZjMmMnLCB2PSctMjIwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTAwYTNiJywgdj0nNTAyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTAxODRjJywgdj0nOTQwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTAyNjViJywgdj0nMTcxOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEwMzQ2YycsIHY9JzE1OTInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMDQyN2InLCB2PSc5NjAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMDUwOGQnLCB2PScxNTM3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTA1ZTlkJywgdj0nMTE3NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEwNmNhZCcsIHY9JzEzMzcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMDdhYmQnLCB2PSc3MzcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMDg4Y2QnLCB2PSc3MjMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMDk2ZGUnLCB2PSc5MTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMGE0ZWQnLCB2PSc3OTQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMGIyZmUnLCB2PScxMDc1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTBjMTBkJywgdj0nMjMyOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEwY2YxZScsIHY9JzExOTInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMGRkMmUnLCB2PSc4NjcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMGViNjYnLCB2PScxODQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMGY5NGUnLCB2PScxMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExMDc1ZScsIHY9Jzk3OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExMTU2ZCcsIHY9JzI1NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExMjM4OCcsIHY9Jy0xMDA3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTEzMTg3Jywgdj0nNjE0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTEzZmIwJywgdj0nMjA1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTE0ZGE2Jywgdj0nMTk1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTE1YmI2Jywgdj0nMzE2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTE2OWM2Jywgdj0nMTI0MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExNzdkNicsIHY9JzE3NDgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMTg1ZTgnLCB2PScxMDQ2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTE5M2Y3Jywgdj0nMTA5OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExYTIwOCcsIHY9JzMwOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExYjAxNycsIHY9Jy0yMDInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMWJlMmYnLCB2PSctNzIyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTFjYzM3Jywgdj0nNjgwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTFkYTQ3Jywgdj0nNDQwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTFlODU3Jywgdj0nODcwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTFmNjY3Jywgdj0nNDc1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTIwNTc4Jywgdj0nMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyMTM4NicsIHY9JzEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMjIxOTYnLCB2PScyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTIyZmE2Jywgdj0nMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyM2RiNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMjRiYzUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTI1OWQ1Jywgdj0nMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyNjdlNCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMjc2MDAnLCB2PSctMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyODMwNScsIHY9Jy0xJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTI5MTE1Jywgdj0nLTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMjlmMjUnLCB2PSctMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyYWQzNScsIHY9Jy0xJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTJiYjQ1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyYzk1NCcsIHY9JzEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMmQ3NjYnLCB2PScxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTJlNTc1Jywgdj0nMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyZjM4NicsIHY9JzEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMzAxOTYnLCB2PScxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTMwZmE2Jywgdj0nMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzMWRiNycsIHY9JzEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMzJiYzUnLCB2PScxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTMzOWQ0Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzNDdlNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMzU1ZjQnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTM2NDA0Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzNzIxNCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMzgwMjQnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTM4ZTMzJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzOWM0NCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxM2FhNTQnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTNiODY1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzYzY3ZScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxM2Q0OGUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTNlMjllJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzZjBhZScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxM2ZlYmYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTQwY2NmJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0MWFkZicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNDI4ZWYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTQzNmZmJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0NDUwZicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNDUzMWYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTQ2MTMwJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0NmY0MCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNDdkNDQnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTQ4YjU3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0OTk2NScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNGE3NzUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTRiNTg0Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0YzM5NycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNGQxYTQnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTRkZmI2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0ZWRjNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNGZiZDUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTUwOWU1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1MTdmZicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNTI2MDUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTUzNDE1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1NDIyNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNTUwMzUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTU1ZTQ1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1NmM1NScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNTdhNjUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTU4ODc1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1OTY4NicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNWE0OTUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTViMmE2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1YzBiNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNWNlYzYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTVkY2Q1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1ZWFlNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNWY4ZjUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTYwNzA2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2MTUxNycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNjIzMjYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTYzMTM3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2M2Y0NicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNjRkNTcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTY1YjY3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2Njk4MicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNjc3ODYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTY4NTk2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2OTNhNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNmExYjUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTZhZmM2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2YmRkNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNmNiZTYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTZkOWY2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2ZTgwNycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNmY2MTYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTcwNDI5Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3MTIzNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNzIwNDcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTcyZTU3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3M2M2NycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNzRhNzcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTc1ODg3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3NjY5NCcsIHY9JzE5NTknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNzc0YTMnLCB2PScxNTA2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTc4MmIzJywgdj0nMTAyNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3OTBjNScsIHY9JzY3NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3OWVkNCcsIHY9Jy03NTknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxN2FjZTQnLCB2PSctMjA0MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3YmFmZCcsIHY9Jy0yNTU0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTdjOTBmJywgdj0nLTIxNzgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxN2Q3MWUnLCB2PSctMjEyNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3ZTUyZicsIHY9Jy0yNDg0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTdmMzNmJywgdj0nLTE5ODAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxODAxNGYnLCB2PSctMTA3MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4MGY1ZicsIHY9Jy01MjQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxODFkNmUnLCB2PSctMTM2NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4MmI3ZicsIHY9Jy0xNzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTgzOThmJywgdj0nLTg5MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4NDdhMScsIHY9Jy04NDUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxODU1YWYnLCB2PSctMTE0OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4NjNjMCcsIHY9Jy0yNzEwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTg3MWNmJywgdj0nLTIyOTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxODdmZTAnLCB2PSctMjIwOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4OGRlZicsIHY9Jy0yMDM3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTg5YzAwJywgdj0nLTk5NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4YjgwZCcsIHY9JzEwNDgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOGM2MWMnLCB2PSctOTU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMThkNDJjJywgdj0nLTEzMzQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOGUyM2InLCB2PSctMTEyMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4ZjA0YicsIHY9Jy0xNjI1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMThmZTVlJywgdj0nLTE0MTknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOTBjNzYnLCB2PSctNjcxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTkxYTg2Jywgdj0nLTE1MDEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOTI4OTYnLCB2PSctMTUxMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5MzZhNicsIHY9Jy0xNjE4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTk0NGI3Jywgdj0nLTEwMzcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOTUyYzYnLCB2PSctMTkyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTk2MGQ3Jywgdj0nMTM5NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5NmVlNicsIHY9Jy02MjcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOTdjZjgnLCB2PSctNzExJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTk4YjBmJywgdj0nMjAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOTk5MWYnLCB2PSctMTMwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTliNTQxJywgdj0nLTg0MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5YzM0ZCcsIHY9Jy02NDInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOWQxNWUnLCB2PSctMzIwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTlkZjgwJywgdj0nLTIxMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5ZWQ5MCcsIHY9JzI5NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5ZWViZScsIHY9JzQxNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5ZmI4ZScsIHY9JzM3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWEwOWEwJywgdj0nLTIxMDUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYTE3YWUnLCB2PSctMjk4MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhMjViZScsIHY9Jy0zMzI5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWEzM2NkJywgdj0nLTE0MzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYTQxZGQnLCB2PSctMTk4NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhNGZlZCcsIHY9Jy0zNTcwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWE1ZTA4Jywgdj0nLTMyMzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYTZjMDUnLCB2PSctMjI4OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhN2ExNScsIHY9Jy0yODQ2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWE4ODI2Jywgdj0nLTI5NDYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYTk2MzcnLCB2PSctMjM0MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhYTQ0NScsIHY9Jy0xNzE5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWFiMjU1Jywgdj0nLTY2OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhYzA2NScsIHY9Jy0xNzYxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWFjZTc1Jywgdj0nLTI0MTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYWRjODcnLCB2PSctMTcyNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhZWE5NicsIHY9Jy0xODMyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWFmOGE3Jywgdj0nLTE4ODknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYjA2YjcnLCB2PSctMjM0NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFiMTRjNicsIHY9Jy0yMTc2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWM3NDYwJywgdj0nMzc0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWM4MjcwJywgdj0nLTEzMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFjOTA3ZScsIHY9Jzk5MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFjOWU4ZicsIHY9Jy0xNTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxY2FjYTInLCB2PSctODQzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWNiYWIxJywgdj0nLTExOTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxY2M4YzEnLCB2PScyNTc3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWNkNmQwJywgdj0nMTU4MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFjZTRkZScsIHY9JzkwOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFjZjJmMCcsIHY9Jy0xNDA1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWQwMTA5Jywgdj0nLTE1OTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZDBmMDYnLCB2PSctMTg2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWQxZDE1Jywgdj0nLTY1OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkMmIyNScsIHY9Jy02NzknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZDM5MzUnLCB2PSc4OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkNDc0NScsIHY9JzY4MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkNTU1NScsIHY9JzEwOTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZDYzNjYnLCB2PSctODMyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWQ3MTc1Jywgdj0nLTc4NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkN2Y4NicsIHY9Jy0yMjgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZDhkOTUnLCB2PSctNDAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZDliYTYnLCB2PSctMjgwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWRhOWI2Jywgdj0nLTY5NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkYjdjNycsIHY9Jy02OTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZGM1ZDUnLCB2PSctODExJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWRkM2U2Jywgdj0nLTYyOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkZTFmNScsIHY9Jy0xNDA4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWRmMDA2Jywgdj0nLTE2NjYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZGZlMTYnLCB2PSctMTU3NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlMGMyNicsIHY9Jy0xOTI4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWUxYTM2Jywgdj0nLTE5NzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZTI4NDcnLCB2PSctMjAxNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlMzY1OScsIHY9Jy0xOTg0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWU0NDY3Jywgdj0nLTIwMDcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZTUyODEnLCB2PSctMTYxMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlNjA4NicsIHY9Jy0xODUxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWU2ZTk2Jywgdj0nLTE5MDgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZTdjYTYnLCB2PSctMjUxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWU4YWI1Jywgdj0nLTM4NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlOThjNicsIHY9Jy0xMjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZWE2ZDUnLCB2PSctMzY1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWViNGU2Jywgdj0nLTMxMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlYzJmNicsIHY9Jy01MDYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZWQxMDYnLCB2PSctMjMyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWVkZjE2Jywgdj0nLTI4OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlZWQyNicsIHY9Jy0xMjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZWZiMzYnLCB2PSctMzEwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWYwOTQ2Jywgdj0nLTI0NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmMTc1NicsIHY9JzQzOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmMjU2NicsIHY9JzYwOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmMzM3NicsIHY9JzEwNzgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZjQxODcnLCB2PScyNDkxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWY0Zjk2Jywgdj0nMTMyNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmNWRhNycsIHY9Jy0xMTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZjZiYjYnLCB2PSctNDQyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWY3OWM3Jywgdj0nMjAzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWY4N2Q2Jywgdj0nLTE0MzknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZjk1ZTcnLCB2PSctMjAxOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmYTQwMScsIHY9Jy0xNDkxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWZiMjA0Jywgdj0nLTEyODUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZmMwMTYnLCB2PSctMTMwOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmY2UyNScsIHY9Jy00MDknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZmRjMzUnLCB2PSctMTYyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWZlYTQ1Jywgdj0nOTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZmY4NTUnLCB2PSczMTknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMDA2NjUnLCB2PScyNDgzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjAxNDc1Jywgdj0nMzU3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjAyMjg2Jywgdj0nMTY4MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwMzA5NScsIHY9JzE1NzInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMDNlYTUnLCB2PScxNTc1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjA0Y2I2Jywgdj0nMzAyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjA1YWM2Jywgdj0nMTA3NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwNjhkNicsIHY9JzE1NTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMDc2ZTYnLCB2PScxOTcxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjA4NGY2Jywgdj0nMjM5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjA5MzA2Jywgdj0nLTM1MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwYTExNicsIHY9Jy01MjcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMGFmMjYnLCB2PSctMjE1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjBiZDM3Jywgdj0nLTc4MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwY2I0NicsIHY9JzQ1MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwZDk1NycsIHY9JzYwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjBlNzY3Jywgdj0nLTg0OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwZjU4MScsIHY9Jy0xMzgzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjEwMzg2Jywgdj0nLTk4OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxMTE5NCcsIHY9Jy0zMjUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMTFmYTUnLCB2PSctMzgyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjEyZGI1Jywgdj0nNjAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMTNiYzUnLCB2PSc4ODQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMTQ5ZDYnLCB2PSc2NTknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMTU3ZTUnLCB2PSctMjY0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjE2NWY2Jywgdj0nLTk5MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxNzQwNicsIHY9JzI4OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxODIxNycsIHY9Jy0yOTInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMTkwMjYnLCB2PSctNTQyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjE5ZTM5Jywgdj0nMzY2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjFhYzQ2Jywgdj0nOTA5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjFiYTU3Jywgdj0nOTkyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjFjODY3Jywgdj0nMTgwOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxZDY3NycsIHY9Jy0xMDQ5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjFlNDg3Jywgdj0nNTQzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjFmMjk2Jywgdj0nMzc3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjIwMGE2Jywgdj0nLTYxOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyMGViNycsIHY9Jy03MTInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMjFjYzYnLCB2PScxNDU5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjIyYWQ3Jywgdj0nMjU3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjIzOGU3Jywgdj0nLTY5NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyNDcwMScsIHY9Jy0xMDg1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjI1NTA1Jywgdj0nMjg3MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyNjMxNScsIHY9JzQyMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyNzEyNScsIHY9JzU1NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyN2YzNScsIHY9JzE2OTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMjhkNDUnLCB2PScyNDgwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjI5YjU0Jywgdj0nLTcwNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyYTk2NScsIHY9Jy0yMzcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMmI3NzYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjJjNTg2Jywgdj0nMTczMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyZDM5NycsIHY9JzI5OTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMmUxYTYnLCB2PScyNzQ2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjJlZmI2Jywgdj0nLTE3NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyZmRjNycsIHY9Jy0xOTQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzBiZDcnLCB2PSc0ODUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzE5ZTYnLCB2PSctNzI5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjMyN2Y2Jywgdj0nNzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzM2MWInLCB2PSc5MDcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzQ0MTYnLCB2PScxMjk3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjM1MjI2Jywgdj0nNzc2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjM2MDM3Jywgdj0nMTIzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjM2ZTQ2Jywgdj0nMTU1NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzN2M1NycsIHY9JzEyMDgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzhhNjYnLCB2PScyNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzk4ODEnLCB2PSc1MDgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyM2E2ODUnLCB2PSctMjc0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjNiNDk1Jywgdj0nLTU3MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzYzJhNCcsIHY9JzE0NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzZDBiNScsIHY9JzU2NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzZGVjNCcsIHY9JzEyMjInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyM2VjZDUnLCB2PSc3MzMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyM2ZhZTQnLCB2PSc4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjQwOGY2Jywgdj0nMTA0MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0MTcwNicsIHY9JzMyMjInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNDI1MTgnLCB2PScyNTc2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjQzMzI1Jywgdj0nMjQyMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0NDEzNycsIHY9Jy0xMDM2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjQ0ZjQ2Jywgdj0nLTc0NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0NmI2NicsIHY9Jy02NjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNDc5NzYnLCB2PSc0NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0ODc4NicsIHY9JzM5ODMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNDk1N2UnLCB2PScxNjk0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjRhMzhmJywgdj0nNzA5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjRiMTljJywgdj0nLTg0NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0YmZhYycsIHY9Jy02MDUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNGNkYmMnLCB2PSctNjYxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjRkYmNkJywgdj0nLTQzNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0ZTllNScsIHY9Jy0xMTU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjRmODA4Jywgdj0nLTcxNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1MDYxNicsIHY9Jy04NzcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNTE0MjYnLCB2PSctMTAyNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1MjIzNicsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjUzMDQ3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1M2U1NicsIHY9JzExODUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNTRjNjcnLCB2PSc4ODQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNTVhNzYnLCB2PScxMTAzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjU2ODg3Jywgdj0nMTc4OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1NzY5NycsIHY9JzMxMzInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNTg0YTgnLCB2PSctNDAzMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1OTJiNicsIHY9Jy0yMTE0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjVhMGM3Jywgdj0nLTQ5OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1YWVkNycsIHY9JzE3NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1YmNlNycsIHY9JzIxMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1Y2FmOCcsIHY9JzcxMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1ZDkwNycsIHY9JzIxMjcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNWU3MTgnLCB2PScyMzg2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjVmNTI3Jywgdj0nMTkxNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2MDMzOCcsIHY9JzUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjYxMTQ5Jywgdj0nMTA3MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2MWY1OScsIHY9JzU2NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2MmQ2OCcsIHY9Jy0xMTgxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjYzYjgzJywgdj0nMzQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNjQ5ODYnLCB2PSctODQ3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjY1Nzk1Jywgdj0nLTEzMTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNjY1YTYnLCB2PSctMTg0MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2NzNiNScsIHY9Jy0xNDA0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjY4MWM2Jywgdj0nLTExMjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNjhmZDUnLCB2PSctMzcyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjY5ZGU2Jywgdj0nMjY5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjZhYmY2Jywgdj0nNTcyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjZiYTA2Jywgdj0nMTQxMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2YzgxNycsIHY9JzE1ODYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNmQ2MmInLCB2PSczMTYxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjZlNDM2Jywgdj0nMjM0NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2ZjI0NycsIHY9JzI2MjcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNzAwNTcnLCB2PScyNTAyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjcwZTY3Jywgdj0nMjgxOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI3MWM3NycsIHY9JzE1OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI3MmE4NycsIHY9Jy01NDUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNzM4OTcnLCB2PSctMzcwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjc0NmE4Jywgdj0nLTYyNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI3NTRiOScsIHY9Jy04NDcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNzYyYzcnLCB2PScyMzE1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjc3MGQ4Jywgdj0nMTA5OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI3N2VlNycsIHY9Jy00MTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJLCA1KQorU0FYLmVuZEVsZW1lbnQocGFyKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJLCA1KQorU0FYLnN0YXJ0RWxlbWVudChwYXIsIG1lbWluZD0nNDIyMjAwJywgaD0nM2RjMWE4ZGUnKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScwJywgdj0nLTQzMDcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlMDgnLCB2PSctNDE2OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFjMzInLCB2PSctNDA5NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzJhM2MnLCB2PSctNDA4NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzM4MzUnLCB2PSctMzk2MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzQ2NDUnLCB2PSctMzk2OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzU0NTUnLCB2PSctNDQxMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzYyNjUnLCB2PSctNTM1OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzcwNzUnLCB2PSctNjMxNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzdlODUnLCB2PSctNzI5OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzhjOTYnLCB2PSctNzUxOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzlhYTUnLCB2PSctNzM1MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2E4YjYnLCB2PSctNjg5MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2I2YzUnLCB2PSctNjQ2NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2M0ZDcnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2QzMGInLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2UwZjYnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2VmMDYnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2ZkMTcnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEwYjI3Jywgdj0nLTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMTkzNycsIHY9Jy04JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTI3NDYnLCB2PSctOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzNTU2Jywgdj0nLTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNDM2NicsIHY9Jy04JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTUxODEnLCB2PSctOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1Zjg1Jywgdj0nLTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNmQ5NScsIHY9Jy04JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTdiYTQnLCB2PSctOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4OWI1Jywgdj0nLTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOTdjNCcsIHY9Jy04JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWE1ZDUnLCB2PSctOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFiM2U2Jywgdj0nLTknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYzFmNicsIHY9Jy04JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWQwMDUnLCB2PSctOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkZTE1Jywgdj0nLTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZWMyNScsIHY9Jy04JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWZhMzYnLCB2PSctOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwODQ1Jywgdj0nLTknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMTY1NicsIHY9Jy04JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjI0NjUnLCB2PSctOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzMjc2Jywgdj0nLTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNDA4NicsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjRlOTknLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1Y2E3Jywgdj0nLTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNmFiNycsIHY9Jy04JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjc4YzYnLCB2PSctOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI4NmQ2Jywgdj0nLTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyOTRlNicsIHY9Jy05JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMmEzMDEnLCB2PSctOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzJiMTA1Jywgdj0nLTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyYmYxNScsIHY9Jy04JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMmNkMjUnLCB2PSctOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzJkYjM1Jywgdj0nLTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyZTk0NicsIHY9Jy04JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMmY3NTUnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzMwNTY2Jywgdj0nLTknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczMTM3NScsIHY9Jy04JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMzIxOWUnLCB2PSctOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzMyZjk2Jywgdj0nLTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczM2RhNicsIHY9Jy04JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMzRiYjYnLCB2PSctOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzM1OWRlJywgdj0nLTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczNjdkNicsIHY9Jy04JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMzc1ZTYnLCB2PSctOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzM4NDBlJywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczOTIxZScsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nM2EwMTYnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzNhZTI3Jywgdj0nLTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczYmMzNicsIHY9Jy04JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nM2NhNDcnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzNkODU2Jywgdj0nLTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSczZTY2NycsIHY9Jy04JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nM2Y0ODEnLCB2PSctOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzQwMjg1Jywgdj0nLTknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0MTA5NScsIHY9Jy05JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNDFlYTUnLCB2PSctOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzQyY2I1Jywgdj0nLTknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0M2FjNScsIHY9Jy04JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNDQ4ZDUnLCB2PSctOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzQ1NmU2Jywgdj0nLTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0NjRmNScsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNDgwZmYnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzQ4ZjBlJywgdj0nLTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0OWQxZCcsIHY9Jy02JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNGFiNDYnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzRiOTU1Jywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0Yzc2OScsIHY9Jy02JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNGQ1NzcnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzRlMzg3Jywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc0ZjE5NicsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNGZmYTYnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzUwZGQwJywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1MWJjNicsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNTI5ZDYnLCB2PSctOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzUzN2U3Jywgdj0nLTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1NDYwMCcsIHY9Jy05JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNTU0MDYnLCB2PSctOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzU2MjE1Jywgdj0nLTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1NzAyNicsIHY9Jy04JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNTdlMzYnLCB2PSctOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzU4YzQ2Jywgdj0nLTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1OWE3MCcsIHY9Jy04JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNWE4NjcnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzViNjc2Jywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1YzQ4NycsIHY9Jy02JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNWQyOTYnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzVlMGE5Jywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1ZWViOCcsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNWZjYzYnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzYwYWQ3Jywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2MThlNycsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNjI2ZjcnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzYzNTA3Jywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2NDMxNycsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNjUxMjcnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzY1ZjM3Jywgdj0nLTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2NmQ0NicsIHY9Jy04JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNjdiNTcnLCB2PSctOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzY4OTY3Jywgdj0nLTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2OTc4MicsIHY9Jy04JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNmE1ODYnLCB2PSctOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzZiMzk1Jywgdj0nLTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2YzFhNicsIHY9Jy05JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNmNmYjUnLCB2PSctOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzZkZGM2Jywgdj0nLTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc2ZWJkNicsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNmY5ZTYnLCB2PSctOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzcwN2Y2Jywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3MTYwNycsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNzI0MTcnLCB2PSctNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzczMjI3Jywgdj0nLTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3NDAzNycsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNzRlNDcnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzc1YzU3Jywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3NmE2MycsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNzc4NzMnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzc4NjgwJywgdj0nLTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3OTQ4ZicsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nN2EyOWYnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzdiMGFmJywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3YmViZicsIHY9Jy04JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nN2NjY2YnLCB2PSctOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzdkYWRmJywgdj0nLTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3ZThmYScsIHY9Jy04JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nN2Y3MGEnLCB2PSctOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzgwNTFhJywgdj0nLTknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4MTMyYScsIHY9Jy05JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nODIxM2EnLCB2PSctOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzgyZjRhJywgdj0nLTknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4M2Q1YScsIHY9Jy04JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nODRiNmEnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzg1OTdhJywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4Njc4YicsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nODc1OWInLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzg4M2FjJywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4OTFiYicsIHY9Jy04JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nODlmY2EnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzhhZGRhJywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4YmJlYicsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOGM5ZmMnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzhkODBiJywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc4ZTYxYScsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOGY0MmEnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzkwMjNhJywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5MTA0YScsIHY9Jy04JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOTFlNWEnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzkyYzZhJywgdj0nLTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5M2E4NCcsIHY9Jy05JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOTQ4ODUnLCB2PSctOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzk1Njk0Jywgdj0nLTknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5NjRhNScsIHY9Jy05JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOTcyYjQnLCB2PSctOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89Jzk4MGM1Jywgdj0nLTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5OGVkNCcsIHY9Jy04JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOTljZTUnLCB2PSctOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzlhYWY1Jywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5YjkwNicsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOWM3MTYnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzlkNTI2Jywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc5ZTMzNicsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nOWYxNDUnLCB2PSctNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzlmZjU2Jywgdj0nLTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhMGQ2NScsIHY9Jy03JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYTFiNzcnLCB2PSctNjMyNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2EyOTg2Jywgdj0nLTM1MTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhMzc5NScsIHY9Jy05NjMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhNDVhNycsIHY9JzY0NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2E1M2I2Jywgdj0nNzAwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYTYxYzcnLCB2PSc5NDInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhNmZkNicsIHY9Jzk5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYTdlMDAnLCB2PSc0NjQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhOGMwMCcsIHY9JzkxMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2E5YTA1Jywgdj0nMjg5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYWE4MTUnLCB2PSczMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2FiNjI1Jywgdj0nNDYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhYzQzNScsIHY9JzIwMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2FkMjQ1Jywgdj0nOTIxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYWUwNTUnLCB2PSc3NDQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhZWU2NScsIHY9Jy01NjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhZmM3NScsIHY9Jy02OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2IwYTg1Jywgdj0nMzEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiMjZhNicsIHY9JzE0MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2IzNGI2Jywgdj0nLTEyMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2I0MmM2Jywgdj0nLTQ1MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2I1MGQ2Jywgdj0nLTcyOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2I1ZWU3Jywgdj0nLTcxMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2I2Y2Y2Jywgdj0nLTE1ODQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiN2IwNycsIHY9Jy0xOTgzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYjg5MTcnLCB2PSctMTc1MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2I5NzI4Jywgdj0nLTE3NTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiYTUzNycsIHY9Jy0xODkxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYmIzNDcnLCB2PSctODI3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYmMxNTcnLCB2PSctODgyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYmNmNjcnLCB2PSctODk5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYmRkODEnLCB2PSc2NDQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdiZWI4NicsIHY9JzQxNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2JmOTk1Jywgdj0nNTI0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYzA3YTYnLCB2PSc0MDAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjMTViNScsIHY9JzM3MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2MyM2M2Jywgdj0nNDg0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYzMxZDUnLCB2PSc1OTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjM2ZlNicsIHY9JzMzNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2M0ZGY1Jywgdj0nNzQxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYzVjMDYnLCB2PScxMTQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjNmExNicsIHY9JzUwNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2M3ODI2Jywgdj0nLTUxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYzg2MzYnLCB2PScxMzYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjOTQ0NicsIHY9JzMzNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2NhMjU2Jywgdj0nMjM1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nY2IwNjYnLCB2PScxMTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjYmU3NicsIHY9Jy00MTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjY2M4NycsIHY9Jy0yMzInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjZGE5NicsIHY9Jy0xODQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjZThhOCcsIHY9Jy0yMTknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdjZjZiNycsIHY9Jy0xMzQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkMDRjOCcsIHY9Jy01MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2QxMmQ3Jywgdj0nMTQzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZDIwZTcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZDJmMDInLCB2PScxMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2QzZDA1Jywgdj0nNjAwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZDRiMTUnLCB2PSc2NDQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkNTkyNicsIHY9JzgzNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2Q2NzM1Jywgdj0nMTA2OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2Q3NTQ2Jywgdj0nMTIxMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2Q4MzU1Jywgdj0nLTEzNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2Q5MTY2Jywgdj0nLTc1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2Q5Zjc1Jywgdj0nLTE0OTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkYWQ4NycsIHY9Jy0yMDExJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZGJiOTcnLCB2PSctMjU2MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2RjOWE4Jywgdj0nLTIzMzgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkZDdiNycsIHY9Jy0yODk1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZGU1YzYnLCB2PSctMjc4MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2RmM2Q3Jywgdj0nLTI5MTInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlMDFkNycsIHY9Jy0yOTEzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZTBmZTUnLCB2PSctMjgzMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2UxZGY1Jywgdj0nLTMwMTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlMmMwNCcsIHY9Jy00MDk5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZTNhMTQnLCB2PSctMzk3OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2U0ODI0Jywgdj0nLTMzNzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlNTYzNCcsIHY9Jy0zNDI4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZTY0NDQnLCB2PSctMjU1MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2U3MjU1Jywgdj0nLTIxODknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlODA2ZicsIHY9Jy0xNzU3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZThlN2YnLCB2PSctNDc3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZTljOGUnLCB2PSctNzA5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZWFhOWYnLCB2PSctNjUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZWI4YWUnLCB2PSctNjUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZWM2YmYnLCB2PSctNDY4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZWQ0Y2UnLCB2PSctMjExMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2VlMmRmJywgdj0nLTIyMzknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdlZjBlZicsIHY9Jy0zMTk4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZWZmMDEnLCB2PSctNDA4NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2YwZDEwJywgdj0nLTQzMDgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmMWIyMCcsIHY9Jy00NTUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZjI5MzAnLCB2PSctNDYyOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2YzNzQwJywgdj0nLTQzMDEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmNDU1MScsIHY9Jy00NjA4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZjUzNjEnLCB2PSctNDg1NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2Y2MTcyJywgdj0nLTQ2MTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmNmY4MCcsIHY9Jy00ODE4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZjdkOTEnLCB2PSctNDI0NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2Y4YmExJywgdj0nLTM5MTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmOTliMScsIHY9Jy0zODA1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZmE3YzAnLCB2PSctMzAyNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2ZiNWQxJywgdj0nLTMwMzQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmYzNlMCcsIHY9Jy0zMjk1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZmQxZmInLCB2PSctMjY4MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2ZlMDBiJywgdj0nLTI1MzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmZWUxYycsIHY9Jy0yMDgzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZmZjMmMnLCB2PSctMTk4MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEwMGEzYicsIHY9Jy0xNzkwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTAxODRjJywgdj0nLTE3OTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMDI2NWInLCB2PSctMjA3NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEwMzQ2YycsIHY9Jy0yNzI0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTA0MjdiJywgdj0nLTQwMTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMDUwOGQnLCB2PSctNDMyMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEwNWU5ZCcsIHY9Jy00MzM5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTA2Y2FkJywgdj0nLTQ3MjUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMDdhYmQnLCB2PSctNDMzOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEwODhjZCcsIHY9Jy0zOTA2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTA5NmRlJywgdj0nLTQxMTknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMGE0ZWQnLCB2PSctNDMyMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEwYjJmZScsIHY9Jy00MzQ1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTBjMTBkJywgdj0nLTQxNjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMGNmMWUnLCB2PSctNDM1NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEwZGQyZScsIHY9Jy00MTYwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTBlYjY2Jywgdj0nLTQ0NTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMGY5NGUnLCB2PSctMzg5NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExMDc1ZScsIHY9Jy0zMjgxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTExNTZkJywgdj0nLTI4NjYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMTIzODgnLCB2PSctMjY2MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExMzE4NycsIHY9Jy0xNzk0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTEzZmIwJywgdj0nLTE3OTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMTRkYTYnLCB2PSctMTgyMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExNWJiNicsIHY9Jy0xNzgyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTE2OWM2Jywgdj0nLTE1ODUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMTc3ZDYnLCB2PSctMjA4MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExODVlOCcsIHY9Jy0yODg1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTE5M2Y3Jywgdj0nLTM1NTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMWEyMDgnLCB2PSctNDgzOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExYjAxNycsIHY9Jy00MzIyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTFiZTJmJywgdj0nLTUzOTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMWNjMzcnLCB2PSctNDQ1NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzExZGE0NycsIHY9Jy00Mjc5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTFlODU3Jywgdj0nLTQzNTQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMWY2NjcnLCB2PSctMzkwMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyMDU3OCcsIHY9Jy00JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTIxMzg2Jywgdj0nLTQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMjIxOTYnLCB2PSctNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyMmZhNicsIHY9Jy0zJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTIzZGI1Jywgdj0nLTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMjRiYzUnLCB2PSctMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyNTlkNScsIHY9Jy0yJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTI2N2U0Jywgdj0nLTInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMjc2MDAnLCB2PSctMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyODMwNScsIHY9Jy0yJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTI5MTE1Jywgdj0nLTInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMjlmMjUnLCB2PSctMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyYWQzNScsIHY9Jy0yJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTJiYjQ1Jywgdj0nLTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMmM5NTQnLCB2PSctMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyZDc2NicsIHY9Jy0yJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTJlNTc1Jywgdj0nLTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMmYzODYnLCB2PSctMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzMDE5NicsIHY9Jy00JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTMwZmE2Jywgdj0nLTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMzFkYjcnLCB2PSctMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzMmJjNScsIHY9Jy0zJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTMzOWQ0Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzNDdlNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMzU1ZjQnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTM2NDA0Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzNzIxNCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMzgwMjQnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTM4ZTMzJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzOWM0NCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxM2FhNTQnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTNiODY1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzYzY3ZScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxM2Q0OGUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTNlMjllJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEzZjBhZScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxM2ZlYmYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTQwY2NmJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0MWFkZicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNDI4ZWYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTQzNmZmJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0NDUwZicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNDUzMWYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTQ2MTMwJywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0NmY0MCcsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNDdkNDQnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTQ4YjU3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0OTk2NScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNGE3NzUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTRiNTg0Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0YzM5NycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNGQxYTQnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTRkZmI2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE0ZWRjNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNGZiZDUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTUwOWU1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1MTdmZicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNTI2MDUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTUzNDE1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1NDIyNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNTUwMzUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTU1ZTQ1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1NmM1NScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNTdhNjUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTU4ODc1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1OTY4NicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNWE0OTUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTViMmE2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1YzBiNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNWNlYzYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTVkY2Q1Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1ZWFlNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNWY4ZjUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTYwNzA2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2MTUxNycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNjIzMjYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTYzMTM3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2M2Y0NicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNjRkNTcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTY1YjY3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2Njk4MicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNjc3ODYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTY4NTk2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2OTNhNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNmExYjUnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTZhZmM2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2YmRkNScsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNmNiZTYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTZkOWY2Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE2ZTgwNycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNmY2MTYnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTcwNDI5Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3MTIzNicsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNzIwNDcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTcyZTU3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3M2M2NycsIHY9JzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNzRhNzcnLCB2PScwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTc1ODg3Jywgdj0nMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3NjY5NCcsIHY9Jy02ODQ0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTc3NGEzJywgdj0nLTY4NDgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNzgyYjMnLCB2PSctNzI3NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3OTBjNScsIHY9Jy02NzE4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTc5ZWQ0Jywgdj0nLTYwNDQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxN2FjZTQnLCB2PSctNTg3OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3YmFmZCcsIHY9Jy02MDY3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTdjOTBmJywgdj0nLTU0ODQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxN2Q3MWUnLCB2PSctNTQzNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3ZTUyZicsIHY9Jy01MzQyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTdmMzNmJywgdj0nLTQ5ODEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxODAxNGYnLCB2PSctNTE5MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4MGY1ZicsIHY9Jy02MzIxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTgxZDZlJywgdj0nLTY5MjMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxODJiN2YnLCB2PSctNzg4OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4Mzk4ZicsIHY9Jy0xMzQ2NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4NDdhMScsIHY9Jy0xMzM1NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4NTVhZicsIHY9Jy0xMjgxMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4NjNjMCcsIHY9Jy0xMTk5NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4NzFjZicsIHY9Jy0xMjQzNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4N2ZlMCcsIHY9Jy0xMTY1OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4OGRlZicsIHY9Jy0xMjUwOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4OWMwMCcsIHY9Jy0xMTk2NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4YjgwZCcsIHY9Jy03NTY3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMThjNjFjJywgdj0nLTgxMDAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOGQ0MmMnLCB2PSctNzY3NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE4ZTIzYicsIHY9Jy02NTY1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMThmMDRiJywgdj0nLTYxNjcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOGZlNWUnLCB2PSctNTY2MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5MGM3NicsIHY9Jy00NDc1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTkxYTg2Jywgdj0nLTQzMDYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOTI4OTYnLCB2PSctNDI1MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5MzZhNicsIHY9Jy00MTI1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTk0NGI3Jywgdj0nLTQxMjUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOTUyYzYnLCB2PSctNDQ5OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5NjBkNycsIHY9Jy01MTM3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTk2ZWU2Jywgdj0nLTU5NjcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOTdjZjgnLCB2PSctNjM1NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5OGIwZicsIHY9Jy01OTY1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTk5OTFmJywgdj0nLTY2MTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOWI1NDEnLCB2PSctNjYxOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5YzM0ZCcsIHY9Jy02MTk5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTlkMTVlJywgdj0nLTYyMzUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOWRmODAnLCB2PSctNjMxMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE5ZWQ5MCcsIHY9Jy02MDc5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTllZWJlJywgdj0nLTYwNzUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxOWZiOGUnLCB2PSctMjM5MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhMDlhMCcsIHY9Jy0yNjAwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWExN2FlJywgdj0nLTMwNTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYTI1YmUnLCB2PSctMzMzOCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhMzNjZCcsIHY9Jy0yMjM4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWE0MWRkJywgdj0nLTIxMzcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYTRmZWQnLCB2PSctMTU0NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhNWUwOCcsIHY9Jy0xNjcwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWE2YzA1Jywgdj0nLTk2OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhN2ExNScsIHY9Jy0xMTIzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWE4ODI2Jywgdj0nLTEwNzInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYTk2MzcnLCB2PSctNDgxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWFhNDQ1Jywgdj0nLTUzNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhYjI1NScsIHY9Jy05OTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYWMwNjUnLCB2PSctMTgxOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhY2U3NScsIHY9Jy0yNjM2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWFkYzg3Jywgdj0nLTI5MjAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYWVhOTYnLCB2PSctMjU5NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhZjhhNycsIHY9Jy0yODk4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWIwNmI3Jywgdj0nLTIxNzMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYjE0YzYnLCB2PSctMjA5MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFjNzQ2MCcsIHY9JzMxMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFjODI3MCcsIHY9JzM5OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFjOTA3ZScsIHY9JzM0ODYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYzllOGYnLCB2PSczMzU3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWNhY2EyJywgdj0nMzY3MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFjYmFiMScsIHY9JzM1ODAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxY2M4YzEnLCB2PSc1Mzk4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWNkNmQwJywgdj0nNTQ3OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFjZTRkZScsIHY9JzU2MTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxY2YyZjAnLCB2PSc1NjU5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWQwMTA5Jywgdj0nNTkyMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkMGYwNicsIHY9JzY2NTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZDFkMTUnLCB2PSc2NjU0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWQyYjI1Jywgdj0nNjcxMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkMzkzNScsIHY9JzY4ODUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZDQ3NDUnLCB2PSc2ODkzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWQ1NTU1Jywgdj0nNjcwNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkNjM2NicsIHY9JzU4NTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZDcxNzUnLCB2PSc1NTQ1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWQ3Zjg2Jywgdj0nNTU4OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkOGQ5NScsIHY9Jy0zMjE5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWQ5YmE2Jywgdj0nLTM2MjAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZGE5YjYnLCB2PSctMzYyMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkYjdjNycsIHY9Jy0zNDcyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWRjNWQ1Jywgdj0nLTM2MzAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZGQzZTYnLCB2PSctMzcyMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFkZTFmNScsIHY9Jy02MDMzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWRmMDA2Jywgdj0nLTY3NTInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZGZlMTYnLCB2PSctNjY0NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlMGMyNicsIHY9Jy02Nzc4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWUxYTM2Jywgdj0nLTY3OTQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZTI4NDcnLCB2PSctNjU5MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlMzY1OScsIHY9Jy02MTM2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWU0NDY3Jywgdj0nLTU2NTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZTUyODEnLCB2PSctNDkxMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlNjA4NicsIHY9Jy00OTA4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWU2ZTk2Jywgdj0nLTQ4MDMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZTdjYTYnLCB2PSctMTk3MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlOGFiNScsIHY9Jy0xODIwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWU5OGM2Jywgdj0nLTE4MjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZWE2ZDUnLCB2PSctMjI3MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlYjRlNicsIHY9Jy0yMzMyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWVjMmY2Jywgdj0nLTI2NDYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZWQxMDYnLCB2PSctMjY0NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFlZGYxNicsIHY9Jy0yNzQ5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWVlZDI2Jywgdj0nLTI3MjgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZWZiMzYnLCB2PSctMjU4NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmMDk0NicsIHY9Jy0yNTQ4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWYxNzU2Jywgdj0nLTIzNzcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZjI1NjYnLCB2PSctMjMzOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmMzM3NicsIHY9Jy0yNTY2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWY0MTg3Jywgdj0nLTI3ODQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZjRmOTYnLCB2PSctMzE5MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmNWRhNycsIHY9Jy0zNTgxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWY2YmI2Jywgdj0nLTM1OTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZjc5YzcnLCB2PSctMzEyNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmODdkNicsIHY9Jy0zMzM3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWY5NWU3Jywgdj0nLTMxNDInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZmE0MDEnLCB2PSctMjgwNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmYjIwNCcsIHY9Jy0yNDgwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWZjMDE2Jywgdj0nLTI0OTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZmNlMjUnLCB2PSctMjE3MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmZGMzNScsIHY9Jy0yMTMzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWZlYTQ1Jywgdj0nLTIxNTknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZmY4NTUnLCB2PSctMjUwMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwMDY2NScsIHY9Jy0yMzk1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjAxNDc1Jywgdj0nLTM0NjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMDIyODYnLCB2PSctNDUxMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwMzA5NScsIHY9Jy01MzU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjAzZWE1Jywgdj0nLTU5MTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMDRjYjYnLCB2PSctNTc3MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwNWFjNicsIHY9Jy01Mjg3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjA2OGQ2Jywgdj0nLTUzODYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMDc2ZTYnLCB2PSctNTk3NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwODRmNicsIHY9Jy02MTAwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjA5MzA2Jywgdj0nLTY3NDInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMGExMTYnLCB2PSctNjMxMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwYWYyNicsIHY9Jy01NTMzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjBiZDM3Jywgdj0nLTU0NTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMGNiNDYnLCB2PSctNDYzMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIwZDk1NycsIHY9Jy00MzQ4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjBlNzY3Jywgdj0nLTQwNDYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMGY1ODEnLCB2PSctMzg1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxMDM4NicsIHY9Jy0zNTE5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjExMTk0Jywgdj0nLTMxMzEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMTFmYTUnLCB2PSctMzAxNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxMmRiNScsIHY9Jy0yOTA0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjEzYmM1Jywgdj0nLTI4MjYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMTQ5ZDYnLCB2PSctMzY4MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxNTdlNScsIHY9Jy00NTA3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjE2NWY2Jywgdj0nLTU4NDQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMTc0MDYnLCB2PSctNjE5NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxODIxNycsIHY9Jy02MTY1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjE5MDI2Jywgdj0nLTYxNDInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMTllMzknLCB2PSctNjIyMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxYWM0NicsIHY9Jy01OTM4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjFiYTU3Jywgdj0nLTU5MjYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMWM4NjcnLCB2PSctNTU1NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxZDY3NycsIHY9Jy02MjQwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjFlNDg3Jywgdj0nLTU3NTAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMWYyOTYnLCB2PSctNTc3MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyMDBhNicsIHY9Jy01NDY4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjIwZWI3Jywgdj0nLTUzOTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMjFjYzYnLCB2PSctNDU0MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyMmFkNycsIHY9Jy0zODc2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjIzOGU3Jywgdj0nLTM2MjInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMjQ3MDEnLCB2PSctMzI5MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyNTUwNScsIHY9Jy0xNjgxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjI2MzE1Jywgdj0nLTIwODInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMjcxMjUnLCB2PSctMjA0MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyN2YzNScsIHY9Jy0xNjc1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjI4ZDQ1Jywgdj0nLTE3ODUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMjliNTQnLCB2PSctMzQ5NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyYTk2NScsIHY9Jy00MDgwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjJiNzc2Jywgdj0nLTQ0NTQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMmM1ODYnLCB2PSctNDgxNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyZDM5NycsIHY9Jy00NDA1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjJlMWE2Jywgdj0nLTQ2MjAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMmVmYjYnLCB2PSctNDgyMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIyZmRjNycsIHY9Jy00NjQzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjMwYmQ3Jywgdj0nLTQ0MzUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzE5ZTYnLCB2PSctNTM5NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzMjdmNicsIHY9Jy01NTU4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjMzNjFiJywgdj0nLTU4ODMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzQ0MTYnLCB2PSctNTIwNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzNTIyNicsIHY9Jy01MjAzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjM2MDM3Jywgdj0nLTUyNTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzZlNDYnLCB2PSctNDM0MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzN2M1NycsIHY9Jy00MTk0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjM4YTY2Jywgdj0nLTM5OTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMzk4ODEnLCB2PSctMzE5NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzYTY4NScsIHY9Jy0zMzI4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjNiNDk1Jywgdj0nLTMxOTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyM2MyYTQnLCB2PSctMjk2NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzZDBiNScsIHY9Jy0yOTU5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjNkZWM0Jywgdj0nLTI5MTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyM2VjZDUnLCB2PSctMzYyMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIzZmFlNCcsIHY9Jy00NTYyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjQwOGY2Jywgdj0nLTUwMTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNDE3MDYnLCB2PSctNTc5MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0MjUxOCcsIHY9Jy02NjA1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjQzMzI1Jywgdj0nLTY3ODcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNDQxMzcnLCB2PSctNjczMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0NGY0NicsIHY9Jy02NDM1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjQ2YjY2Jywgdj0nLTY0MTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNDc5NzYnLCB2PSctNjI2MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0ODc4NicsIHY9Jy01MzcxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjQ5NTdlJywgdj0nLTU3MDMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNGEzOGYnLCB2PSctNTY2OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0YjE5YycsIHY9Jy01ODEwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjRiZmFjJywgdj0nLTU0OTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNGNkYmMnLCB2PSctNTM2OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0ZGJjZCcsIHY9Jy00NTM5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjRlOWU1Jywgdj0nLTQwMDMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNGY4MDgnLCB2PSctMzQ4NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1MDYxNicsIHY9Jy0zNTk3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjUxNDI2Jywgdj0nLTM1NzUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNTIyMzYnLCB2PSctMzQyMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1MzA0NycsIHY9Jy0zNjEwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjUzZTU2Jywgdj0nLTQwNjknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNTRjNjcnLCB2PSctNDIwOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1NWE3NicsIHY9Jy00OTc3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjU2ODg3Jywgdj0nLTU4NDUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNTc2OTcnLCB2PSctNTY2MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1ODRhOCcsIHY9Jy0xNTE1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1OTJiNicsIHY9Jy04NjIxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjVhMGM3Jywgdj0nLTQ2MDknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNWFlZDcnLCB2PSctNjMyOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1YmNlNycsIHY9Jy02MTIwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjVjYWY4Jywgdj0nLTU4MTknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNWQ5MDcnLCB2PSctNTgwMCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI1ZTcxOCcsIHY9Jy01NjI3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjVmNTI3Jywgdj0nLTUzMTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNjAzMzgnLCB2PSctNTU0MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2MTE0OScsIHY9Jy00OTE2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjYxZjU5Jywgdj0nLTQ1ODknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNjJkNjgnLCB2PSctNDY3MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2M2I4MycsIHY9Jy0zNjk0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjY0OTg2Jywgdj0nLTM0OTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNjU3OTUnLCB2PSctMzU4MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2NjVhNicsIHY9Jy0zNjgzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjY3M2I1Jywgdj0nLTM2MDgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNjgxYzYnLCB2PSctMzY4MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2OGZkNScsIHY9Jy0zODUwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjY5ZGU2Jywgdj0nLTM5MjMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNmFiZjYnLCB2PSctMzk1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2YmEwNicsIHY9Jy00NDY3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjZjODE3Jywgdj0nLTQyNTcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNmQ2MmInLCB2PSctMzkxNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI2ZTQzNicsIHY9Jy0zODk3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjZmMjQ3Jywgdj0nLTM1MzEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNzAwNTcnLCB2PSctMzc5OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI3MGU2NycsIHY9Jy0zNjI4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjcxYzc3Jywgdj0nLTQ1NDAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNzJhODcnLCB2PSctNTE3MScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI3Mzg5NycsIHY9Jy01MDM4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjc0NmE4Jywgdj0nLTUwMjgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNzU0YjknLCB2PSctNTAyOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI3NjJjNycsIHY9Jy0zOTkzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjc3MGQ4Jywgdj0nLTM1NTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNzdlZTcnLCB2PSctMzIwNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQksIDUpCitTQVguZW5kRWxlbWVudChwYXIpCitTQVguY2hhcmFjdGVycygKKwkJCQksIDUpCitTQVguc3RhcnRFbGVtZW50KHBhciwgbWVtaW5kPSc2NzQ2MDEnLCBoPSczZGMxYTdlMCcpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzAnLCB2PScyMjEyMzoxMzc6ODg6NzY6MTAzOjY5Ojg5OjYwNDc6NjU3MToyMTM0OjY0MTQ6MjIyMzoyNzI3LjIzMToxNDM1LjY3NTo1Ljk3OTowLjA2NzowOjQxNzE6NDEwMzk6MjkwNTI6NDIxMDQ6MTIyMTg6MjQ3MjE6MTM1MDQ6ODk3NToxMTE1MzoyOTkwOjg2NjU6OTc1OToxMTc0MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQksIDUpCitTQVguZW5kRWxlbWVudChwYXIpCitTQVguY2hhcmFjdGVycygKKwkJCQksIDUpCitTQVguc3RhcnRFbGVtZW50KHBhciwgbWVtaW5kPSc2NzM4MDEnLCBoPSczZGMxYTdlMCcpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzAnLCB2PScwOjA6MDowOjA6MDowOjI0NzI6MjI1MDU6MjUxNjA6MTY0MjU6MzAwMTI6MjM1MTQuMjI5OjExNjc1LjM2Mjo5LjI3MjowLjQxNjowOjY0OTE6MzIyMToyODY3OjQyMDQ6MjI4MjI6MzA0Nzo2MjYzOjE1MzQyOjk3ODU6MzI0MjQ6MjMzNDY6MjE1Nzg6MjM1MDgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJLCA1KQorU0FYLmVuZEVsZW1lbnQocGFyKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJLCA1KQorU0FYLnN0YXJ0RWxlbWVudChwYXIsIG1lbWluZD0nNjczNDAxJywgaD0nM2RjMWE3ZTAnKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScwJywgdj0nNzI4OTg6MTkxOjE4ODoxNzY6MTc4OjE3NDoxODE6MTA0NDE6MTQwNzk6MTM2MDo0NjY2Nzo3NDEzMTo4MDk5Ni4xMzo1MDMyNC4zMjY6MzIuMTg4OjAuMDM4OjA6NDQwMjc6MjAwMjg5OjEwOTIxNjo1MjQ2MToxMjk1MTo3NTg5Njo2OTE5NjoxMDQ4NTI6MTE3MDM2Ojk2OTAzOjEyMDcxNDoxMjQzMDg6OTYyMDcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJLCA1KQorU0FYLmVuZEVsZW1lbnQocGFyKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJLCA1KQorU0FYLnN0YXJ0RWxlbWVudChwYXIsIG1lbWluZD0nNjczMDAxJywgaD0nM2RjMWE3ZTAnKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScwJywgdj0nMDowOjA6MDowOjA6MDozNDc2OjMyMjY6NTU5Nzo0ODUzOjA6MDowOjAuMDAxOjAuMTM3OjA6MDowOjA6MDo1MDczNTo1OTIwNTowOjA6MDowOjA6MDowJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCSwgNSkKK1NBWC5lbmRFbGVtZW50KHBhcikKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCSwgNSkKK1NBWC5zdGFydEVsZW1lbnQocGFyLCBtZW1pbmQ9JzI2Mjc0NjAxJywgaD0nM2RjMWE3ZTAnKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScwJywgdj0nMDo6MTMwNTo6Mjg2OTo6NDQ4Mjo6NjA2Njo6NzM5Njo6ODU3Mzo6MTAyNjI6OjExOTIyOjoxMzc3Mzo6MTU0OTI6OjE3NTIyOjoxOTU0NDo6MjE0NTI6OjIyMDcwOjoyMjA3NTo6MjIwODA6OjIyMDg0OjoyMjA4NTo6MjIwOTA6OjIyMDk3OjoyMjEwMzo6MjIxMDk6OjIyMTE2OjowOjo2OjoxMzo6MjA6OjI3OjozMjo6MzQ6OjQxOjo0ODo6NTQ6OjYxOjo2ODo6NzU6OjgyOjo4OTo6OTY6OjEwMzo6MTEwOjoxMTA6OjExMTo6MTE2OjoxMTk6OjEyMzo6MTI5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMmEzMDAnLCB2PScwOjo1Ojo1Ojo3OjoxMTo6MTI6OjEyOjoxNzo6MjQ6OjMwOjozNzo6NDQ6OjUxOjo1ODo6NjU6OjY5Ojo3MTo6NzE6OjcxOjo3Mzo6NzU6Ojc2Ojo3Njo6ODE6OjA6OjY6OjEzOjoyMDo6Mjc6OjM0Ojo0MDo6NDQ6OjUwOjo6OjUxOjo1MTo6NTE6OjUxOjo1MTo6NTE6OjUxOjo1MTo6NTE6OjUxOjo1NDo6NjA6OjYzOjo2OTo6MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzU1NDEwJywgdj0nNjo6MTM6OjIwOjoyNzo6MzQ6OjM4Ojo0NDo6NDY6OjQ2Ojo0Nzo6NTI6OjU4Ojo2NTo6NjY6OjY2Ojo2Nzo6Njk6OjY5Ojo3MDo6NzY6OjgzOjo4OTo6OTY6OjA6OjU6OjEyOjoxOTo6MjU6OjMwOjozMTo6MzU6OjM3OjozNzo6Mzc6OjM3OjozODo6NDQ6OjQ1Ojo0NTo6NDU6OjQ1Ojo0NTo6NDU6OjQ4Ojo1MTo6NTY6OjYyOjowJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nN2Y3MTAnLCB2PSc2OjoxNDo6MjE6OjI4OjozNTo6NDI6OjQ3Ojo1MDo6NTA6OjUwOjo1Mjo6NTk6OjY1Ojo2OTo6NzI6Ojc0Ojo3NTo6NzU6Ojc1Ojo3NTo6Nzg6Ojc5Ojo4Mjo6MDo6Nzo6MTQ6OjIxOjoyODo6MzQ6OjM4Ojo0NDo6NDU6OjQ1Ojo0OTo6NTY6OjYzOjo3MDo6NzY6OjgwOjo4MzU6OjE2NzU6OjIwMzg6OjIwMzk6OjI4NTY6OjMxNTg6OjM2MDc6OjQ0MzE6OjAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhOWExMCcsIHY9JzYyOTo6Nzk3OjoxNDU2OjoyMzgyOjoyNDc2OjoyNDc3OjoyODIxOjoyODIxOjoyODIxOjo6OjI4MjE6OjI4MjE6OjI4NTY6OjI4NjU6OjI4NjU6OjMwNDk6OjMyMjM6OjMyNjc6OjM1MzI6OjQzMDQ6OjUxNDc6OjUxNDc6OjU0NDk6OjA6OjEwMTo6MTAyOjoyNTI6OjU5Mjo6NjA1Ojo2MDU6OjYwNTo6NjA1Ojo2MTI6OjYxMjo6NjEyOjo2MTI6OjYxMjo6NjEyOjo2MTI6OjY3OTo6NzY3Ojo3Njc6Ojc2Nzo6NzY3Ojo3Njc6Ojc2Nzo6OTEwOjowOjoxMTU4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZDRiMjAnLCB2PScyMjg5OjoyNzAxOjozMDc2OjozMDc2OjozMzg1OjozOTA0OjozOTA0OjozOTA0OjozOTA0OjozOTA0OjozOTA0OjozOTA0OjozOTA0OjozOTA0OjozOTA0OjozOTExOjo0MDIzOjo0NTk5Ojo1MjM3Ojo1NDk0Ojo1NzgwOjo2MDcyOjowOjo2MjI6OjYyMjo6NjIyOjo2MjI6OjYyMjo6NzE2Ojo4MTk6OjgxOTo6ODE5Ojo4MTk6OjgxOTo6ODE5Ojo4NzA6Ojg3MDo6ODcwOjo4NzA6Ojg3MDo6ODcwOjo4NzA6Ojg3MDo6ODcwOjo4NzA6OjEwMjQ6OjA6OjExMjcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmZWUyMCcsIHY9JzE5NTQ6OjIxNzM6OjIzNzc6OjIzNzc6OjIzNzc6OjIzNzc6OjIzNzc6OjIzNzc6OjIzODE6OjIzODE6OjIzODE6OjIzODE6OjIzODE6OjIzODE6OjIzODE6OjIzODE6OjIzODE6OjIzODE6OjIzODE6OjIzODQ6OjI0MDA6OjI0MDA6OjA6OjE2Mzo6MTYzOjoxNjM6OjE2Mzo6MTYzOjoxNjM6OjE2Mzo6MTYzOjoyMDQ6OjMzMDo6NzUxOjoxNDAwOjoxNDMzOjoxNDMzOjoxNDMzOjoxNDM1LjE6OjE0MzUuMTo6MTQzNS4xOjoxNDM1LjE6OjE0MzUuMTo6MTQzNS4xNDQ6OjE0MzUuMzc1OjoxNDM1LjM4MTo6MDo6MS4xNzknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMjkxMjAnLCB2PScyLjQ4Njo6My44Njk6OjUuMjc4Ojo1LjgwOTo6NS44MTE6OjUuODExOjo1LjgxMTo6NS44NDM6OjUuOTY3Ojo1Ljk2ODo6NS45Njg6OjUuOTY4Ojo1Ljk2ODo6NS45Njg6OjUuOTY4Ojo1Ljk2ODo6NS45Njg6OjUuOTY4Ojo1Ljk2ODo6NS45Njg6OjUuOTY5Ojo1Ljk2OTo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MC4wMDE6OjAuMDE0OjowLjAzMjo6MC4wNDo6MC4wNDY6OjAuMDQ5OjowLjA1OjowLjA1OjowLjA1OjowLjA1OjowLjA1OjowLjA1OjowLjA1Mzo6MDo6MC4wMDUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNTM0MjAnLCB2PScwLjAwNTo6MC4wMDU6OjAuMDA1OjowLjAwNTo6MC4wMDU6OjAuMDA1OjowLjAwNTo6MC4wMDU6OjAuMDA1OjowLjAwNTo6MC4wMDU6OjAuMDA1OjowLjAwNTo6MC4wMDU6OjAuMDA1OjowLjAwOTo6MC4wMDk6OjAuMDA5OjowLjAwOTo6MC4wMDk6OjAuMDA5OjowLjAxNDo6MDo6MC4wMDQ6OjAuMDI6OjAuMDMxOjowLjA0Mjo6MC4wNDQ6OjAuMDQ0OjowLjA0NDo6MC4wNDQ6OjAuMDQ0OjowLjA0NDo6MC4wNDQ6OjAuMDQ3OjowLjA1OjowLjA1MTo6MC4wNTQ6OjAuMDU0OjowLjA1NDo6MDo6MDo6MDo6MDo6MTc1OjoxODc4OjowOjoyMzAzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTdkNzIwJywgdj0nNTAxNjo6Nzg4OTo6MTA4MjU6OjEyNzg1OjoxMzQyODo6MTQ1Njg6OjE2MjgxOjoxNzg3MDo6MTg3NTc6OjE5NjczOjoyMjMxNDo6MjUzMTc6OjI4MDE3OjozMDYxMTo6MzI1NzE6Ojo6MzMwNzg6OjMzNTcwOjozNDg2NTo6MzYxMjQ6OjM3NjcwOjozOTkwODo6MDo6OTc4OjoyNTQwOjo0MjM2Ojo1OTkyOjo2NzczOjo2ODE4Ojo2OTE1Ojo3NjQzOjo4NTEwOjo4NjE4Ojo6OjkzNTQ6OjEwMzM0OjoxMDg1Nzo6MTExOTA6OjExMzg3OjoxMTM4Nzo6MTI4MTg6OjE1NTQ3OjoxOTAxMTo6MjEwNzc6OjIyNjEwOjoyNTY4Mjo6MDo6MjY4Mjo6NTc1Nzo6OTA5NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhOTY0MCcsIHY9JzEyNDM5OjoxNDgxMDo6MTY0MjY6OjE4MTcyOjoyMDQ2Mjo6MjI4NTE6OjI0OTU3OjoyNjkxMjo6MjkyMDA6OjMxNzg5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWM3NDYwJywgdj0nODE5Nzo6ODI2NDo6ODM2NTo6ODM2NTo6ODk5Njo6OTk5Njo6MTA1NzA6OjEwNTcwOjoxMDU3MDo6MTA4MDc6OjA6OjM4ODo6Nzc2OjoxNjU1OjoyMzc0OjoyMzkxOjoyMzkxOjoyNDI5OjozMzMyOjozNjc3OjozNzY4OjozODUxOjo0Mjk0Ojo0OTMwOjo1ODQ3Ojo2NjI1Ojo3ODUyOjo5NDkyOjoxMTMyODo6MTMzNzY6OjE1NjIwOjoxNzk0Njo6MjAxNzA6OjIyNDY5OjowOjoxOTc5Ojo0MTc5Ojo0ODE3Ojo1MzAyOjo1NjEyOjo1ODAyOjo2MDc1Ojo2Nzg3Ojo3MTcyOjo3NDg5Ojo3NjY4Ojo3ODY3Ojo4MTg0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWYxNzYwJywgdj0nODI3MDo6ODI3MDo6ODI3MDo6ODI3MDo6ODI3MDo6ODI3OTo6ODQyNTo6ODc2Njo6OTI2MTo6MTEzNzk6OjA6Ojk2Nzo6MjIzMjo6MzIyNDo6MzU4NDo6MzcwODo6Mzc0Mjo6NDE5Mjo6NDM3Mzo6NDM3OTo6NDM3OTo6NDM3OTo6NDM3OTo6NDM3OTo6NDM3OTo6NDQ2ODo6NDgxNjo6NTExMTo6NTUzMzo6NjM5Mzo6Njc0MDo6NzM5NDo6NzM5NDo6Nzk4ODo6MDo6MTQ3OTo6MjQwNzo6MjkwNzo6MzM0MTo6MzM0Nzo6MzM0Nzo6MzUyMjo6NDUyMTo6NDcwMjo6NTEwNDo6NTM5OTo6NjUxMTo6NjUxMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxYmE2MCcsIHY9JzY1MTE6OjY1MTE6Ojc1NTQ6OjgwNDY6OjgwNDY6OjgwODQ6Ojg3ODE6Ojk0Mzc6Ojk0Mzc6OjEwMDM0OjowOjoyNTg6OjI1ODo6MjU4OjoyNTg6OjI1ODo6MzAzOjo1NDE6OjEwOTc6OjExMjI6OjExMjI6OjExMjI6OjExMjI6OjEzOTc6OjE0Mjk6OjIwNTI6OjI2Mzg6OjI2Mzg6OjI2Mzg6OjI2Mzg6OjI2Mzg6OjI3Nzk6OjI3Nzk6OjI3Nzk6OjA6OjIxMTo6NzE2Ojo5OTM6Ojk5Mzo6OTkzOjo5OTM6OjEwNTg6OjEwNjA6OjEwNjA6OjEwNjA6OjEwNjA6OjExMjM6OjE2NDAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNDZiNzAnLCB2PSczMjgwOjozOTUyOjozOTYyOjozOTYyOjozOTYyOjo0Mjk3Ojo1NTg2Ojo2OTk4Ojo3OTU2OjowOjo0OTI6OjE1NzA6OjI2ODM6OjM1ODU6OjM2MTU6OjM2MTg6OjM2NTk6OjM2NTk6OjM2NTk6OjM2NTk6OjM5NzM6OjY3Njc6Ojg2NDQ6Ojg3MTc6Ojg3MTg6Ojg3MTg6Ojg3MTg6Ojg3MTg6Ojg3MTg6Ojg3MTg6Ojg4OTg6Ojg4OTg6OjkyMDU6OjA6OjUwMjo6MTgyNTo6MzcyMjo6NTc1ODo6NzIzNzo6ODE1OTo6ODIyNjo6ODIyNjo6ODIyNjo6ODIyNjo6ODIyNjo6ODIyNjo6ODIyNjo6ODIyNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI3MGU3MCcsIHY9JzgyMjY6OjgyNDA6Ojg1MDQ6Ojg5ODA6Ojk0NjY6OjEwMzA4OjoxMDY2Njo6MTA2NjY6OjEwNzM5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCSwgNSkKK1NBWC5lbmRFbGVtZW50KHBhcikKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCSwgNSkKK1NBWC5zdGFydEVsZW1lbnQocGFyLCBtZW1pbmQ9JzI2MjczODAxJywgaD0nM2RjMWE3ZTAnKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScwJywgdj0nMDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzJhMzAwJywgdj0nMDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6OjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNTU0MTAnLCB2PScwOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nN2Y3MTAnLCB2PScwOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjo2ODA6OjE3NTM6OjI0MzY6OjI0Mzk6OjI0NzE6OjI0NzI6OjI0NzI6OjAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhOWExMCcsIHY9JzI3Mzo6MzA0OjozMDQ6OjMwNDo6MzkyOjoxNDY3OjoxOTYxOjoyNzM1Ojo0NTExOjo6OjEyMTE0OjoxNjMzNzo6MTgyNTI6OjE4NDUyOjoxOTA1MTo6MjA3MjQ6OjIxMTE1OjoyMTYxMTo6MjE2MTY6OjIxNjE2OjoyMTY0Nzo6MjI0NjA6OjIyNTA1OjowOjoxNDI4OjoxNzg2OjoxODIxOjoxODIxOjoyMTAwOjozMTE2Ojo0NjA2Ojo1NzAwOjo2MjYzOjo3MjMyOjo4MzIxOjo5MjAyOjo5NzA2OjoxMDEwOTo6MTA1Njc6OjExODI3OjoxMjM1Njo6MTQ4MTg6OjE3NDE2OjoyMDE4Njo6MjI2Mjg6OjI0NDY3OjoyNTE2MDo6MDo6MTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkNGIyMCcsIHY9JzE2OjoxNjo6MTg6Ojc2MTo6MjMxNzo6MjM0NTo6MzAzMTo6NTAxMDo6NzY4MTo6MTA3MTk6OjEzNDkxOjoxNDA3OTo6MTQ1NDE6OjE0Nzg4OjoxNTAyODo6MTU1NTE6OjE2MTgyOjoxNjE4Mjo6MTYzMjc6OjE2MzUxOjoxNjM5NDo6MTY0MjQ6OjA6OjEyNTQ6OjI1MjE6OjMzMDQ6OjQyMTQ6OjYxODk6Ojg1NDI6Ojg4ODQ6Ojk3MTQ6OjEwOTA3OjoxMjQ0Nzo6MTM2MDQ6OjE0NDA3OjoxNDkyODo6MTY4NTU6OjE4MzIzOjoyMDAxNjo6MjIzMDY6OjIzOTUyOjoyNTUxMTo6MjY3MDA6OjI3ODU4OjoyOTUxMjo6MzAwMTI6OjA6OjAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmZWUyMCcsIHY9JzE0OjoxNDo6MTY6Ojg0ODo6MjUxMjo6NDExNDo6NTU1Njo6NzA3MDo6Nzk2Nzo6OTQyNDo6MTA4MTI6OjExNzIyOjoxMjgyOTo6MTM5NTA6OjE1MDMzOjoxNzA5NTo6MTk0MjM6OjIwNjcwOjoyMTEyOTo6MjE4Mjg6OjIyNjA4OjoyMzQ0NDo6MDo6MTAyNDo6MTUwODo6MTc4Njo6MTk4NTo6Mjk1MTo6NDkwMDo6NjU4OTo6ODA1Mzo6ODg0OTo6ODkyOTo6ODkyOTo6ODkyOTo6OTUwMjo6MTAzODA6OjExMjAwOjoxMTY2OS40Mzo6MTE2NzAuNzE0OjoxMTY3MS41MDE6OjExNjczLjIzNjo6MTE2NzQuMzI0OjoxMTY3NC42MTY6OjExNjc0Ljg4Nzo6MTE2NzUuMzQ1OjowOjowJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTI5MTIwJywgdj0nMDo6MDo6MDo6MDo6MC42MzI6OjEuNTc6OjIuNzg3Ojo0LjM4OTo6NS4zNTM6OjYuNjc2Ojo3LjgyNTo6OC40NzM6OjkuMDU5Ojo5LjA3Ojo5LjA4Mzo6OS4xMTM6OjkuMTQ5Ojo5LjE4Njo6OS4yMjI6OjkuMjU0Ojo5LjI2Mzo6OS4yNjc6OjA6OjAuMDU0OjowLjA3ODo6MC4wOTQ6OjAuMTEzOjowLjE0OTo6MC4yOjowLjIyOTo6MC4yMzQ6OjAuMjQxOjowLjI0NDo6MC4yNDU6OjAuMjQ1OjowLjI0NTo6MC4yNDU6OjAuMjQ1OjowLjI0Njo6MC4yNzY6OjAuMzA5OjowLjM0ODo6MC4zODM6OjAuNDA4OjowLjQxNTo6MC40MTY6OjA6OjAuMDIyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTUzNDIwJywgdj0nMC4wMzE6OjAuMDMyOjowLjAzMzo6MC4wNDU6OjAuMDc2OjowLjE6OjAuMTIxOjowLjE2MTo6MC4xOTc6OjAuMjI3OjowLjI1Mjo6MC4yNTc6OjAuMjY0OjowLjI3NTo6MC4yOTU6OjAuMzE1OjowLjMyMjo6MC4zMjk6OjAuMzMyOjowLjM0ODo6MC4zNTc6OjAuMzU3OjowOjowOjowOjowOjowOjowOjowLjAxNTo6MC4wNTE6OjAuMDYyOjowLjA2ODo6MC4wNzk6OjAuMDkxOjowLjA5NDo6MC4wOTQ6OjAuMDk3OjowLjEwODo6MC4xMjU6OjAuMTYxOjoxNDI1OjozNTYzOjo1MDg3Ojo2MDgxOjo2NDkxOjo2NDkxOjowOjowJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTdkNzIwJywgdj0nMDo6MDo6MDo6MDo6Mzo6NDo6MTc6OjE3OjoxNzo6MTc6OjgzOjo4Mzo6ODM6OjgzOjo4Mzo6OjoyODE1OjozMjIxOjozMjIxOjozMjIxOjozMjIxOjozMjIxOjowOjowOjowOjowOjowOjowOjo1MDM6OjIxMjQ6OjIxMjQ6OjIxMzU6OjIxODc6Ojo6MjIyMDo6MjIyMDo6MjIyMDo6MjIyMDo6MjIzMTo6Mjg1Nzo6Mjg2Nzo6Mjg2Nzo6Mjg2Nzo6Mjg2Nzo6Mjg2Nzo6Mjg2Nzo6MDo6MDo6MDo6MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhOTY0MCcsIHY9JzA6OjA6OjA6OjA6OjU6OjU6OjU6OjU6OjU6OjUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYzc0NjAnLCB2PScxNDEzOTo6MTQyMTg6OjE0NTM4OjoxNjQ2Nzo6MTY0OTM6OjE2NDkzOjoxNzkxMzo6MjAzODg6OjIyNTAzOjoyMjgyMjo6MDo6MjQyOjoyNDI6OjI0Mjo6MjQyOjo0NzM6OjE2MTQ6OjI3ODM6OjI3ODM6OjI3ODU6OjMwNDM6OjMwNDY6OjMwNDY6OjMwNDc6OjMwNDc6OjMwNDc6OjMwNDc6OjMwNDc6OjMwNDc6OjMwNDc6OjMwNDc6OjMwNDc6OjMwNDc6OjMwNDc6OjA6OjA6OjA6OjEwMTo6MTAxOjoxMDE6OjE1NTo6MTU1OjoxNTU6OjE1NTo6MTU1OjoxNTg6OjE1ODo6MTU4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWYxNzYwJywgdj0nMzAzOjo2ODk6OjEyNjc6OjMyOTE6OjUzNjI6OjU5NjQ6OjU5NjQ6OjYyMDU6OjYyNjM6OjYyNjM6OjA6OjY3Ojo3ODo6Nzg6Ojc4Ojo5Njo6Mjc5OjoxMjU3OjoyMTY5OjozMzgyOjo1NjI4Ojo3NjkyOjo5MTQ0Ojo5ODAwOjoxMTQxMDo6MTMxOTM6OjEzNzcwOjoxNDUwMDo6MTQ1MDI6OjE0NTI2OjoxNDUyODo6MTQ2OTM6OjE1MzM3OjoxNTM0Mjo6MDo6MDo6MTI4OjoxMjg6OjEyODo6NjMxOjoxOTYwOjoyODM0OjoyODQ3OjoyOTk0OjozNDQ1OjozNDQ1OjozNDQ1Ojo0MDEwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjFiYTYwJywgdj0nNTMwNDo6NjgwMjo6NzE4ODo6NzMwNDo6Nzc3Nzo6ODExOTo6ODExOTo6ODIzODo6OTczMTo6OTc4NTo6MDo6MzIwMjo6NTEzNzo6NTU5Mzo6NjMwNDo6ODU3Nzo6MTIzMjI6OjEyNTYxOjoxMjU2MTo6MTM5NjA6OjE2NTMzOjoyMDEyNzo6MjI4NDE6OjIyODYzOjoyMzEwNjo6MjMyNDc6OjIzMjQ3OjoyNDk4Nzo6MjY0MDI6OjI3NTkwOjoyODA3NTo6MjkyNjM6OjMxNDM4OjozMjMyNTo6MDo6MTcxOjoxNzE6OjIwMDo6MzQ0OjoxNDc2OjoyNDI1OjozMzg3Ojo0MTQ1Ojo1ODc1Ojo5MjEwOjoxMjI5MTo6MTUxNDQ6OjE1MTQ0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjQ2YjcwJywgdj0nMTUxNDQ6OjE1MTQ0OjoxNzI2Nzo6MjE4NjQ6OjIzMjMyOjoyMzM0Njo6MjMzNDY6OjIzMzQ2OjoyMzM0Njo6MDo6ODY6Ojg2Ojo4Njo6ODY6OjE4ODo6NzA5OjoxMzMzOjoyNTExOjo0MzEzOjo3NTkzOjoxMDQzNDo6MTA0MzQ6OjEwNDQzOjoxMDYyMjo6MTA4MTA6OjExMjkzOjoxMjMwMjo6MTQ4NTk6OjE3NDc2OjoxOTU2NTo6MTk3NDI6OjIxMDM1OjoyMTIzNDo6MDo6MTM6OjEzOjoxMzo6MTM6OjEzOjoxMzo6MjE2Ojo5Mjk6OjIwNTg6OjM3MDA6OjU2OTg6Ojg3ODI6OjExNjk4OjoxNDY2MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI3MGU3MCcsIHY9JzE3NzY3OjoxODU0Njo6MTkxNTU6OjE5MTU1OjoxOTE1NTo6MTkxNTU6OjIwNzMwOjoyMzAxNjo6MjM1MDgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJLCA1KQorU0FYLmVuZEVsZW1lbnQocGFyKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJLCA1KQorU0FYLnN0YXJ0RWxlbWVudChwYXIsIG1lbWluZD0nMjYyNzM0MDEnLCBoPSczZGMxYTdlMCcpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzAnLCB2PScwOjo0MTc3Ojo4MzQ4OjoxMjQyMTo6MTY0NjY6OjIwMzg5OjoyNDU1MDo6Mjk2Mzg6OjM1MzkwOjo0MjMyOTo6NDk2MDg6OjU2OTgyOjo2NDExOTo6NzA4MTk6OjcyODI0Ojo3MjgzMTo6NzI4Mzg6OjcyODQ1Ojo3Mjg1MTo6NzI4NTk6OjcyODY2Ojo3Mjg3Mzo6NzI4ODE6OjcyODg5OjowOjo4OjoxNjo6MjQ6OjMyOjo0MDo6NDg6OjU2Ojo2NTo6NzM6OjgxOjo4OTo6OTc6OjEwNTo6MTE0OjoxMjI6OjEzMTo6MTM4OjoxNDU6OjE1Mjo6MTYwOjoxNjc6OjE3NTo6MTgzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMmEzMDAnLCB2PScwOjo4OjoxNjo6MjM6OjMxOjozOTo6NDc6OjU1Ojo2Mzo6NzE6Ojc5Ojo4Nzo6OTY6OjEwNDo6MTEyOjoxMjA6OjEyODo6MTM1OjoxNDI6OjE1MDo6MTU3OjoxNjU6OjE3Mjo6MTgwOjowOjo4OjoxNzo6MjU6OjM0Ojo0Mzo6NTE6OjU4Ojo2Njo6Ojo3OTo6ODU6OjkyOjo5ODo6MTA1OjoxMTE6OjExNzo6MTI0OjoxMzE6OjEzODo6MTQ1OjoxNTM6OjE2MDo6MTY4OjowJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNTU0MTAnLCB2PSc4OjoxNjo6MjU6OjMzOjo0MTo6NDk6OjU2Ojo2NDo6NzA6Ojc3Ojo4NDo6OTE6Ojk4OjoxMDU6OjExMTo6MTE4OjoxMjU6OjEzMjo6MTM5OjoxNDc6OjE1NDo6MTYyOjoxNzA6OjA6Ojc6OjE2OjoyNDo6MzI6OjQwOjo0ODo6NTU6OjYzOjo2OTo6NzY6OjgyOjo4OTo6OTY6OjEwMzo6MTA5OjoxMTY6OjEyMjo6MTI4OjoxMzU6OjE0Mzo6MTUwOjoxNTg6OjE2Njo6MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzdmNzEwJywgdj0nODo6MTc6OjI1OjozNDo6NDM6OjUxOjo1ODo6NjY6OjczOjo4MDo6ODc6Ojk0OjoxMDE6OjEwODo6MTE1OjoxMjI6OjEyOTo6MTM1OjoxNDI6OjE1MDo6MTU3OjoxNjU6OjE3Mjo6MDo6ODo6MTc6OjI1OjozNDo6NDI6OjUwOjo1ODo6NjU6OjcyOjo3ODo6ODU6OjkyOjoxMDA6OjEwNzo6MTE0OjoyNTk1Ojo3OTEzOjoxMDI5NDo6MTA0Mzk6OjEwNDM5OjoxMDQzOTo6MTA0NDE6OjEwNDQxOjowJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYTlhMTAnLCB2PScyOjo0Ojo5Ojo5Ojo5Ojo5Ojo2OTo6MTgxOjoyMzY6Ojo6MzI3Ojo0NjE6OjcyMDo6MTM5Mzo6MjIxNTo6MzA1OTo6NDU5Mzo6NjM0Mjo6ODA0MTo6OTk0NDo6MTE1NjE6OjEyMzE0OjoxMzE2Njo6MDo6NDc6OjQ3Ojo0Nzo6NDc6OjQ3Ojo0Nzo6NDc6OjQ3Ojo0ODo6NTk6Ojg3OjoxMjc6OjEzNDo6MTM1OjoxNDI6OjE4Mjo6NTM3Ojo3Njk6OjEwMDA6OjExNTY6OjEyMDg6OjEyMzA6OjEyNjQ6OjA6OjAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkNGIyMCcsIHY9JzA6OjA6OjA6OjA6OjU4Ojo0NjQ6OjEyMTQ6OjI4NjY6OjUxOTU6Ojc2NDQ6OjEwMTg5OjoxMzEwODo6MTU5MDI6OjE4NzczOjoyMTU1Nzo6MjQzNDU6OjI4MjcxOjozMjI2Nzo6MzYwMTI6OjM5MzYwOjo0MjM1Mjo6NDQ3ODI6OjA6OjEyMTU6OjE4Nzk6OjI1ODE6OjMyMzI6OjM3MzA6OjQ2Mjc6OjY4NDU6Ojk0MjY6OjEzMjEzOjoxNzQ2MDo6MjE4MTI6OjI2NDA4OjozMDg3ODo6MzUzNDY6OjQwMDYxOjo0NDc3Njo6NDkxNDU6OjUzNTAxOjo1NzU3NTo6NjE0Mjk6OjY0OTY4Ojo2ODAyOTo6NzExNTQ6OjA6OjI1NDEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmZWUyMCcsIHY9JzQ3NTc6OjY3NDk6Ojg3MDc6OjEwNDQ2OjoxMjI5Njo6MTQ4MTc6OjE4MDIxOjoyMjE5Mjo6MjQ3MTA6OjI5MjA5OjozMzc5OTo6MzgwMDA6OjQyMTk5Ojo0NjM3NTo6NTA2ODE6OjU1MDYyOjo1OTM4Nzo6NjM2ODY6OjY3OTcxOjo3MTg4Mzo6NzUzNzg6Ojc4Mjc0OjowOjoxOTY1OjozNzg1Ojo1NTg5Ojo3NDA4Ojo5MDQyOjoxMDczNTo6MTMxNDM6OjE2MjU0OjoyMDQ3Mzo6MjUyMTA6OjI5ODk4OjozNDk4OTo6MzkyNjU6OjQzNTQ3Ojo0NzY1OTo6NTAyOTguODE2Ojo1MDMwMi43MzM6OjUwMzA2LjcyOTo6NTAzMTAuMzI2Ojo1MDMxMy43ODM6OjUwMzE3LjA2Mjo6NTAzMjAuMDE2Ojo1MDMyMi4yNzc6OjA6OjEuOTg2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTI5MTIwJywgdj0nMy43NDY6OjUuNDI3Ojo3LjExNjo6OC42NDk6OjEwLjIyNTo6MTIuMzc3OjoxNC45NzI6OjE4LjE1NTo6MjEuNTE5OjoyNC4wNzk6OjI2Ljc4OTo6MjkuODcyOjozMi4wMzg6OjMyLjA3NTo6MzIuMDkzOjozMi4xMTo6MzIuMTMyOjozMi4xNDk6OjMyLjE2Mzo6MzIuMTczOjozMi4xODE6OjMyLjE4Mzo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MC4wMDE6OjAuMDA1OjowLjAwODo6MC4wMTI6OjAuMDE0OjowLjAxNDo6MC4wMTQ6OjAuMDE0OjowLjAxNzo6MC4wMjM6OjAuMDI2OjowLjAyOTo6MC4wMzI6OjAuMDM1OjowLjAzODo6MDo6MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1MzQyMCcsIHY9JzA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjAuMDA0OjowLjAxMzo6MC4wMjM6OjAuMDM1OjowLjAzOTo6MC4wNDo6MC4wNDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MC4wMTE6OjAuMDY0OjowLjE4NDo6MC4yOTk6OjAuNDAzOjowLjQ5MTo6MC41ODc6OjAuNjg0OjowLjc3Nzo6MC44ODI6OjQ2NDk6OjExMzY5OjoxODM4NDo6MjU1Mzk6OjMyMDk4OjozODE4OTo6MDo6NTYzMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3ZDcyMCcsIHY9JzExMTM0OjoxNjU4MDo6MjE4MTk6OjI2OTM0OjozMjQ0OTo6MzkwMTE6OjQ2MTY0Ojo1NzMyOTo6NzA1MzU6OjgzNTkyOjo5NjExMjo6MTA3OTM0OjoxMTk4MzY6OjEzMTgzNjo6MTQzOTMyOjo6OjE1OTk3Mjo6MTY3ODM4OjoxNzU3NTk6OjE4Mjk0MDo6MTg5MjYxOjoxOTUyNjA6OjA6OjQzNjE6Ojg2Mzc6OjEyODQ0OjoxNzAyNjo6MjEyOTI6OjI2MTg1OjozMTUxNDo6Mzc2Mjk6OjQ0MTQ3Ojo1MDI5NTo6Ojo2Mjk3Mjo6NjkxNDI6Ojc1NDkwOjo4MTg3MTo6ODg0MTE6OjkyNjM0Ojo5NTI2Mzo6OTgxMzY6OjEwMTQ5Mzo6MTA0MzM4OjoxMDYyNjQ6OjEwODA4Njo6MDo6MTExODo6MjEyNTo6MzE2MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhOTY0MCcsIHY9JzM5NzI6OjQ0MjQ6OjUxMTc6OjY2NzA6Ojg2ODI6OjExMjczOjoxNDAzNjo6MTY4MDA6OjE5NTg1OjoyMTY4NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFjNzQ2MCcsIHY9JzEyOTUxOjoxMjk1MTo6MTI5NTE6OjEyOTUxOjoxMjk1MTo6MTI5NTE6OjEyOTUxOjoxMjk1MTo6MTI5NTE6OjEyOTUxOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjoyMDk3Ojo1NjU4Ojo5MzA3OjoxMjgzNzo6MTY0Mzc6OjIwMDcyOjoyNDg1NTo6MzExMjA6OjM3ODEzOjo0NDYzNTo6NTE1MDk6OjU4MjI0Ojo2NDUxOTo6NzA0NjA6OjA6OjQ5MTI6Ojk3Nzk6OjEyNDY4OjoxNDM3Nzo6MTYxOTY6OjE4MDk4OjoyMDM1Nzo6MjI5MTY6OjI1NTcyOjoyODMzMzo6MzEwNDg6OjMzNjczOjozNjI2OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmMTc2MCcsIHY9JzM4NzY5Ojo0MTE5Nzo6NDM2MTc6OjQ2MjIyOjo0OTMwNzo6NTI2OTQ6OjU2MjI5Ojo1OTU4Njo6NjI3OTA6OjY2MTQ3OjowOjoyNTYzOjo1MDEwOjo3Mzc3Ojo5NTQ3OjoxMTY2Mjo6MTM5NzA6OjE2NzIyOjoxOTgyMDo6MjM2Njg6OjI4NDU1OjozNDA3OTo6Mzk3OTk6OjQ1MTQ4Ojo1MDU4OTo6NTY0NDg6OjYyNjc0Ojo2OTA4NDo6NzU1ODQ6OjgxNjI5Ojo4NzAwNzo6OTIxOTA6Ojk2NjY0OjoxMDA5NTM6OjA6OjM2ODY6OjY5ODE6OjEwMTA5OjoxMzE0OTo6MTYwMzk6OjE5MTY4OjoyMzE2NDo6MjgyNjM6OjM0MjM4Ojo0MDQ3Mzo6NDY1OTA6OjUyODIxOjo1ODg2OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxYmE2MCcsIHY9JzY0ODEwOjo3MDYyODo6NzcwMjY6OjgzMTYwOjo4OTAyNzo6OTQ2NzM6OjEwMDE1NTo6MTA1MzgzOjoxMDk2OTE6OjExMzU1OTo6MDo6MTk5Njo6Mzg3Njo6NTk0OTo6Nzk0NTo6OTY3Mzo6MTE1ODM6OjE1MTk3OjoxOTM1NTo6MjM5NTk6OjI4Njg5OjozMzIyOTo6Mzc5ODE6OjQyNzQ1Ojo0NzQ3MDo6NTI2NTY6OjU4MjI4Ojo2Mzc2ODo6NjkzNTM6Ojc0NjM0Ojo3OTg3Mjo6ODQ2OTk6Ojg4OTY2Ojo5MzA5MDo6MDo6MzI3Mjo6NjUxOTo6OTY0Njo6MTI2NjU6OjE1NTI5OjoxODc4NTo6MjI3Njc6OjI3MzYxOjozMzAyNjo6MzkxOTc6OjQ1NjM0Ojo1MjIzMTo6NTg2ODgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNDZiNzAnLCB2PSc3MTYyMzo6Nzc4OTc6OjgzNjYxOjo4ODkxOTo6OTQ1MDk6OjEwMDIyNjo6MTA2MDA0OjoxMTE1MTc6OjExNjQ5Nzo6MDo6MzUwNDo6NzE0Nzo6MTA3NjA6OjE0MzQxOjoxNzgyMzo6MjE1NjE6OjI1ODQ1OjozMDM4MTo6MzU4MjE6OjQxNTI5Ojo0ODAyNjo6NTczMTA6OjY0ODk4Ojo3MDkyNDo6NzcxOTU6OjgzMTM1Ojo4OTEwNTo6OTQ5MDA6OjEwMDMyMTo6MTA1Njk4OjoxMTEwNTM6OjExNTcyNzo6MTIwMzA5OjowOjozNjEwOjo3MTI3OjoxMDc3ODo6MTQ0MjE6OjE4MDE1OjoyMTcxMjo6MjU1NjQ6OjI5NDU0OjozMzU5ODo6Mzc5NDY6OjQyMTAwOjo0NjA1NDo6NDk4MjQ6OjUzNTAwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjcwZTcwJywgdj0nNTcwOTk6OjYxMzg1Ojo2NjIyMTo6NzEzNTI6Ojc2MzgyOjo4MTM2ODo6ODU4Mjg6Ojg5Njc3Ojo5MzAzNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQksIDUpCitTQVguZW5kRWxlbWVudChwYXIpCitTQVguY2hhcmFjdGVycygKKwkJCQksIDUpCitTQVguc3RhcnRFbGVtZW50KHBhciwgbWVtaW5kPScyNjI3MzAwMScsIGg9JzNkYzFhN2UwJykKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMCcsIHY9JzA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyYTMwMCcsIHY9JzA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6Ojo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzU1NDEwJywgdj0nMDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzdmNzEwJywgdj0nMDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MTA6OjUyMTo6MTAwOTo6MTkxNDo6MjMyOTo6MjgwNDo6MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2E5YTEwJywgdj0nMTA3MDo6MTIwNTo6MTI0Mjo6MTM2MTo6MTg3Mzo6MjY4ODo6Mjg4ODo6Mjk2ODo6MzAxMzo6OjozMDkzOjozMTY1OjozMjI2OjozMjI2OjozMjI2OjozMjI2OjozMjI2OjozMjI2OjozMjI2OjozMjI2OjozMjI2OjozMjI2OjozMjI2OjowOjo1MDQ6Ojk3NTo6MTQyMDo6MTc3Njo6MjMwNTo6Mjc5Njo6MzIxMjo6NDAwMjo6NDI1NDo6NDM3Mzo6NDQ5NDo6NDU0OTo6NDc1Mzo6NDk1MDo6NTA4Nzo6NTQ1Mzo6NTQ1Mzo6NTQ1Mzo6NTQ1Mzo6NTQ1NDo6NTQ3Mzo6NTUwOTo6NTU4MTo6MDo6NTgxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZDRiMjAnLCB2PScxMjMxOjoxOTI3OjoyNzYwOjozOTAyOjo0ODUzOjo0ODUzOjo0ODUzOjo0ODUzOjo0ODUzOjo0ODUzOjo0ODUzOjo0ODUzOjo0ODUzOjo0ODUzOjo0ODUzOjo0ODUzOjo0ODUzOjo0ODUzOjo0ODUzOjo0ODUzOjo0ODUzOjo0ODUzOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZmVlMjAnLCB2PScwOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTI5MTIwJywgdj0nMDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MC4wMTc6OjAuMDMxOjowLjA0ODo6MC4wNjU6OjAuMDg1OjowLjEwNTo6MC4xMTQ6OjAuMTE2OjowLjExNjo6MC4xMTY6OjAuMTE2OjowLjExNjo6MC4xMTc6OjAuMTI6OjAuMTIzOjowLjEyODo6MC4xMzU6OjAuMTM1OjowLjEzNTo6MC4xMzU6OjAuMTM1OjowLjEzNTo6MC4xMzY6OjA6OjAuMDE2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTUzNDIwJywgdj0nMC4wMzY6OjAuMDU0OjowLjA3NDo6MC4wOTY6OjAuMTE5OjowLjEzNzo6MC4xNTI6OjAuMTY1OjowLjE3ODo6MC4xOTo6MC4yMDQ6OjAuMjE2OjowLjIyODo6MC4yMzc6OjAuMjQ5OjowLjI1Njo6MC4yNTY6OjAuMjU2OjowLjI1Njo6MC4yNTY6OjAuMjU2OjowLjI1Nzo6MDo6MC4wMTI6OjAuMDE4OjowLjAyOjowLjAyMTo6MC4wMjU6OjAuMDMyOjowLjAzNzo6MC4wMzc6OjAuMDM3OjowLjAzNzo6MC4wMzc6OjAuMDM3OjowLjAzNzo6MC4wMzc6OjAuMDM3OjowLjAzNzo6MC4wMzc6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxN2Q3MjAnLCB2PScwOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjo6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6Ojo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhOTY0MCcsIHY9JzA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYzc0NjAnLCB2PSc5MjA4Ojo5NDkwOjoxMjU3OTo6MTY2MzM6OjIwMTY0OjoyMzg4Mjo6MjgzMzQ6OjMzNzEzOjozOTIyMDo6NDQ5MDk6OjA6OjY1NDI6OjEzMTgwOjoxOTg1NTo6MjY1OTQ6OjMzNDMyOjo0MDI4MDo6NDY3Nzc6OjUyNTI0Ojo1Nzg3NTo6NTkyMDU6OjU5MjA1Ojo1OTIwNTo6NTkyMDU6OjU5MjA1Ojo1OTIwNTo6NTkyMDU6OjU5MjA1Ojo1OTIwNTo6NTkyMDU6OjU5MjA1Ojo1OTIwNTo6NTkyMDU6OjU5MjA1OjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWYxNzYwJywgdj0nMDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxYmE2MCcsIHY9JzA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNDZiNzAnLCB2PScwOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjcwZTcwJywgdj0nMDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQksIDUpCitTQVguZW5kRWxlbWVudChwYXIpCitTQVguY2hhcmFjdGVycygKKwkJCQksIDUpCitTQVguc3RhcnRFbGVtZW50KHBhciwgbWVtaW5kPScxMzE0NjAxJywgaD0nM2RjMWE3ZTAnKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScwJywgdj0nMjcwMzcwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCSwgNSkKK1NBWC5lbmRFbGVtZW50KHBhcikKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCSwgNSkKK1NBWC5zdGFydEVsZW1lbnQocGFyLCBtZW1pbmQ9JzEzMTM4MDEnLCBoPSczZGMxYTdlMCcpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzAnLCB2PSczMDY2OTMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJLCA1KQorU0FYLmVuZEVsZW1lbnQocGFyKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJLCA1KQorU0FYLnN0YXJ0RWxlbWVudChwYXIsIG1lbWluZD0nMTMxMzQwMScsIGg9JzNkYzFhN2UwJykKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMCcsIHY9JzE1NzYxMTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJLCA1KQorU0FYLmVuZEVsZW1lbnQocGFyKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJLCA1KQorU0FYLnN0YXJ0RWxlbWVudChwYXIsIG1lbWluZD0nMTMxMzAwMScsIGg9JzNkYzFhN2UwJykKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMCcsIHY9JzEyNzA5OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQksIDUpCitTQVguZW5kRWxlbWVudChwYXIpCitTQVguY2hhcmFjdGVycygKKwkJCQksIDUpCitTQVguc3RhcnRFbGVtZW50KHBhciwgbWVtaW5kPSc1MjUxNDYwMScsIGg9JzNkYzFhN2UwJykKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMCcsIHY9JzA6OjEzMDU6OjI4Njk6OjQ0ODI6OjYwNjY6OjczOTY6Ojg1NzM6OjEwMjYyOjoxMTkyMjo6MTM3NzM6OjE1NDkyOjoxNzUyMjo6MTk1NDQ6OjIxNDUyOjoyMjA3MDo6MjIwNzU6OjIyMDgwOjoyMjA4NDo6MjIwODU6OjIyMDkwOjoyMjA5Nzo6MjIxMDM6OjIyMTA5OjoyMjExNjo6MjIxMjM6OjIyMTI5OjoyMjEzNjo6MjIxNDM6OjIyMTUwOjoyMjE1Njo6MjIxNTg6OjIyMTY2OjoyMjE3Mzo6MjIxODA6OjIyMTg2OjoyMjE5Mzo6MjIyMDA6OjIyMjA3OjoyMjIxNDo6MjIyMjE6OjIyMjI4OjoyMjIzNTo6MjIyMzU6OjIyMjM2OjoyMjI0MTo6MjIyNDQ6OjIyMjQ3OjoyMjI1NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzJhMzAwJywgdj0nMjIyNjE6OjIyMjY3OjoyMjI2Nzo6MjIyNjk6OjIyMjczOjoyMjI3NDo6MjIyNzQ6OjIyMjgwOjoyMjI4Nzo6MjIyOTQ6OjIyMzAxOjoyMjMwODo6MjIzMTU6OjIyMzIyOjoyMjMyOTo6MjIzMzM6OjIyMzM1OjoyMjMzNTo6MjIzMzU6OjIyMzM2OjoyMjMzODo6MjIzMzk6OjIyMzM5OjoyMjM0NDo6MjIzNTE6OjIyMzU4OjoyMjM2NTo6MjIzNzI6OjIyMzc5OjoyMjM4Njo6MjIzOTE6OjIyMzk1OjoyMjQwMjo6OjoyMjQwNDo6MjI0MDQ6OjIyNDA0OjoyMjQwNDo6MjI0MDQ6OjIyNDA0OjoyMjQwNDo6MjI0MDQ6OjIyNDA0OjoyMjQwNDo6MjI0MDc6OjIyNDEzOjoyMjQxNjo6MjI0MjI6OjIyNDI5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNTU0MTAnLCB2PScyMjQzNjo6MjI0NDM6OjIyNDUwOjoyMjQ1Nzo6MjI0NjQ6OjIyNDY4OjoyMjQ3NTo6MjI0Nzc6OjIyNDc3OjoyMjQ3ODo6MjI0ODM6OjIyNDg5OjoyMjQ5NTo6MjI0OTc6OjIyNDk3OjoyMjQ5ODo6MjI0OTk6OjIyNDk5OjoyMjUwMDo6MjI1MDc6OjIyNTEzOjoyMjUyMDo6MjI1MjY6OjIyNTMzOjoyMjUzODo6MjI1NDU6OjIyNTUyOjoyMjU1OTo6MjI1NjQ6OjIyNTY0OjoyMjU2OTo6MjI1NzE6OjIyNTcyOjoyMjU3Mjo6MjI1NzI6OjIyNTczOjoyMjU3OTo6MjI1ODA6OjIyNTgwOjoyMjU4MDo6MjI1ODA6OjIyNTgwOjoyMjU4MDo6MjI1ODM6OjIyNTg1OjoyMjU5MDo6MjI1OTY6OjIyNjAzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nN2Y3MTAnLCB2PScyMjYxMDo6MjI2MTc6OjIyNjI0OjoyMjYzMjo6MjI2Mzk6OjIyNjQ1OjoyMjY1MDo6MjI2NTM6OjIyNjUzOjoyMjY1Mzo6MjI2NTU6OjIyNjYyOjoyMjY2OTo6MjI2NzI6OjIyNjc1OjoyMjY3Nzo6MjI2Nzg6OjIyNjc4OjoyMjY3ODo6MjI2Nzg6OjIyNjgyOjoyMjY4Mzo6MjI2ODY6OjIyNjkzOjoyMjcwMTo6MjI3MDg6OjIyNzE1OjoyMjcyMjo6MjI3Mjg6OjIyNzMyOjoyMjczODo6MjI3NDA6OjIyNzQwOjoyMjc0NDo6MjI3NTE6OjIyNzU4OjoyMjc2NTo6MjI3NzA6OjIyNzc1OjoyMzUyOTo6MjQzNzA6OjI0NzMzOjoyNDczNDo6MjU1NTE6OjI1ODUzOjoyNjMwMTo6MjcxMjY6OjI4NzQyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYTlhMTAnLCB2PScyOTM3Mjo6Mjk1NDA6OjMwMTk5OjozMTEyNTo6MzEyMTg6OjMxMjE5OjozMTU2NDo6MzE1NjQ6OjMxNTY0Ojo6OjMxNTY0OjozMTU2NDo6MzE1OTk6OjMxNjA3OjozMTYwNzo6MzE3OTI6OjMxOTY1OjozMjAxMDo6MzIyNzQ6OjMzMDQ3OjozMzg5MDo6MzM4OTA6OjM0MTkzOjozNTMxNjo6MzU0MTc6OjM1NDE4OjozNTU2OTo6MzU5MDk6OjM1OTIxOjozNTkyMTo6MzU5MjE6OjM1OTIxOjozNTkyODo6MzU5Mjg6OjM1OTI4OjozNTkyODo6MzU5Mjg6OjM1OTI4OjozNTkyODo6MzU5OTU6OjM2MDgzOjozNjA4Mzo6MzYwODM6OjM2MDgzOjozNjA4Mzo6MzYwODM6OjM2MjI2OjozNzQ1MDo6Mzg2MDknKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkNGIyMCcsIHY9JzM5NzQwOjo0MDE1MTo6NDA1Mjc6OjQwNTI3Ojo0MDgzNjo6NDEzNTY6OjQxMzU2Ojo0MTM1Njo6NDEzNTY6OjQxMzU2Ojo0MTM1Njo6NDEzNTY6OjQxMzU2Ojo0MTM1Njo6NDEzNTY6OjQxMzYzOjo0MTQ3Njo6NDIwNTE6OjQyNjkwOjo0Mjk0Njo6NDMyMzE6OjQzNTI0Ojo0Mzg2NTo6NDQ0ODg6OjQ0NDg4Ojo0NDQ4ODo6NDQ0ODg6OjQ0NDg4Ojo0NDU4Mjo6NDQ2ODU6OjQ0Njg1Ojo0NDY4NTo6NDQ2ODU6OjQ0Njg1Ojo0NDY4NTo6NDQ3MzY6OjQ0NzM2Ojo0NDczNjo6NDQ3MzY6OjQ0NzM2Ojo0NDczNjo6NDQ3MzY6OjQ0NzM2Ojo0NDczNjo6NDQ3MzY6OjQ0ODkwOjo0NjA4OTo6NDcyMTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmZWUyMCcsIHY9JzQ4MDQzOjo0ODI2Mjo6NDg0NjY6OjQ4NDY2Ojo0ODQ2Njo6NDg0NjY6OjQ4NDY2Ojo0ODQ2Njo6NDg0NzE6OjQ4NDcxOjo0ODQ3MTo6NDg0NzE6OjQ4NDcxOjo0ODQ3MTo6NDg0NzE6OjQ4NDcxOjo0ODQ3MTo6NDg0NzE6OjQ4NDcxOjo0ODQ3NDo6NDg0OTE6OjQ4NDkxOjo0ODgxNjo6NDg5ODA6OjQ4OTgwOjo0ODk4MDo6NDg5ODA6OjQ4OTgwOjo0ODk4MDo6NDg5ODA6OjQ4OTgwOjo0OTAyMjo6NDkxNDc6OjQ5NTY5Ojo1MDIxODo6NTAyNTE6OjUwMjUxOjo1MDI1MTo6NTAyNTIuOTE6OjUwMjUyLjkxOjo1MDI1Mi45MTo6NTAyNTIuOTE6OjUwMjUyLjkxOjo1MDI1Mi45NTQ6OjUwMjUzLjE4NTo6NTAyNTMuMTkyOjo1MDI1My40ODc6OjUwMjU0LjY2NycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyOTEyMCcsIHY9JzUwMjU1Ljk3Mzo6NTAyNTcuMzU2Ojo1MDI1OC43NjU6OjUwMjU5LjI5Njo6NTAyNTkuMjk5Ojo1MDI1OS4yOTk6OjUwMjU5LjI5OTo6NTAyNTkuMzMyOjo1MDI1OS40NTU6OjUwMjU5LjQ1Njo6NTAyNTkuNDU2Ojo1MDI1OS40NTY6OjUwMjU5LjQ1Njo6NTAyNTkuNDU2Ojo1MDI1OS40NTY6OjUwMjU5LjQ1Njo6NTAyNTkuNDU2Ojo1MDI1OS40NTY6OjUwMjU5LjQ1Njo6NTAyNTkuNDU3Ojo1MDI1OS40NTg6OjUwMjU5LjQ1ODo6NTAyNTkuNDY3Ojo1MDI1OS40Njc6OjUwMjU5LjQ2Nzo6NTAyNTkuNDY3Ojo1MDI1OS40Njc6OjUwMjU5LjQ2Nzo6NTAyNTkuNDY3Ojo1MDI1OS40Njc6OjUwMjU5LjQ2Nzo6NTAyNTkuNDY3Ojo1MDI1OS40Njc6OjUwMjU5LjQ2OTo6NTAyNTkuNDgyOjo1MDI1OS41Ojo1MDI1OS41MDc6OjUwMjU5LjUxMzo6NTAyNTkuNTE2Ojo1MDI1OS41MTc6OjUwMjU5LjUxNzo6NTAyNTkuNTE3Ojo1MDI1OS41MTc6OjUwMjU5LjUxNzo6NTAyNTkuNTE3Ojo1MDI1OS41MjE6OjUwMjU5LjUzNTo6NTAyNTkuNTQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNTM0MjAnLCB2PSc1MDI1OS41NDo6NTAyNTkuNTQ6OjUwMjU5LjU0MTo6NTAyNTkuNTQxOjo1MDI1OS41NDE6OjUwMjU5LjU0MTo6NTAyNTkuNTQxOjo1MDI1OS41NDE6OjUwMjU5LjU0MTo6NTAyNTkuNTQxOjo1MDI1OS41NDE6OjUwMjU5LjU0MTo6NTAyNTkuNTQxOjo1MDI1OS41NDE6OjUwMjU5LjU0MTo6NTAyNTkuNTQ2Ojo1MDI1OS41NDY6OjUwMjU5LjU0Njo6NTAyNTkuNTQ2Ojo1MDI1OS41NDc6OjUwMjU5LjU0Nzo6NTAyNTkuNTUyOjo1MDI1OS41NTc6OjUwMjU5LjU2MTo6NTAyNTkuNTc3Ojo1MDI1OS41ODg6OjUwMjU5LjY6OjUwMjU5LjYwMTo6NTAyNTkuNjAxOjo1MDI1OS42MDE6OjUwMjU5LjYwMTo6NTAyNTkuNjAxOjo1MDI1OS42MDE6OjUwMjU5LjYwMTo6NTAyNTkuNjA0Ojo1MDI1OS42MDg6OjUwMjU5LjYwOTo6NTAyNTkuNjEyOjo1MDI1OS42MTI6OjUwMjU5LjYxMjo6NTAyNTg6OjUwMjU4Ojo1MDI1ODo6NTAyNTg6OjUwNDM0Ojo1MjEzNzo6NTQ0MzE6OjU2NzM0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTdkNzIwJywgdj0nNTk0NDc6OjYyMzIxOjo2NTI1Nzo6NjcyMTc6OjY3ODYwOjo2OTAwMDo6NzA3MTM6OjcyMzAyOjo3MzE4OTo6NzQxMDY6Ojc2NzQ2Ojo3OTc1MDo6ODI0NDk6Ojg1MDQzOjo4NzAwMzo6Ojo4NzUxMDo6ODgwMDI6Ojg5Mjk3Ojo5MDU1Njo6OTIxMDI6Ojk0MzQwOjo5NTQ3MDo6OTY0NDk6Ojk4MDExOjo5OTcwNzo6MTAxNDYzOjoxMDIyNDQ6OjEwMjI4OTo6MTAyMzg2OjoxMDMxMTU6OjEwMzk4Mzo6MTA0MDkxOjo6OjEwNDgyNjo6MTA1ODA2OjoxMDYzMzA6OjEwNjY2Mjo6MTA2ODU5OjoxMDY4NTk6OjEwODI5MDo6MTExMDE5OjoxMTQ0ODM6OjExNjU0OTo6MTE4MDgzOjoxMjExNTQ6OjEyNDUyNDo6MTI3MjA3OjoxMzAyODI6OjEzMzYxOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhOTY0MCcsIHY9JzEzNjk2Mzo6MTM5MzM1OjoxNDA5NTE6OjE0MjY5ODo6MTQ0OTg4OjoxNDczNzc6OjE0OTQ4Mzo6MTUxNDM4OjoxNTM3MjY6OjE1NjMxNScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFjNzQ2MCcsIHY9JzE3NDgyOTo6MTc0ODk2OjoxNzQ5OTY6OjE3NDk5Njo6MTc1NjI3OjoxNzY2Mjg6OjE3NzIwMTo6MTc3MjAxOjoxNzcyMDE6OjE3NzQzOTo6MTc4ODQ5OjoxNzkyMzg6OjE3OTYyNjo6MTgwNTA1OjoxODEyMjQ6OjE4MTI0MTo6MTgxMjQxOjoxODEyNzk6OjE4MjE4Mzo6MTgyNTI4OjoxODI2MTk6OjE4MjcwMTo6MTgzMTQ0OjoxODM3ODA6OjE4NDY5Nzo6MTg1NDc1OjoxODY3MDI6OjE4ODM0Mjo6MTkwMTc5OjoxOTIyMjY6OjE5NDQ3MDo6MTk2Nzk2OjoxOTkwMjA6OjIwMTMxOTo6MjAzNTcxOjoyMDU1NTA6OjIwNzc1MTo6MjA4Mzg5OjoyMDg4NzM6OjIwOTE4NDo6MjA5MzczOjoyMDk2NDY6OjIxMDM1ODo6MjEwNzQ0OjoyMTEwNjE6OjIxMTI0MDo6MjExNDM5OjoyMTE3NTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZjE3NjAnLCB2PScyMTE4NDM6OjIxMTg0Mzo6MjExODQzOjoyMTE4NDM6OjIxMTg0Mzo6MjExODUyOjoyMTE5OTg6OjIxMjMzOTo6MjEyODMzOjoyMTQ5NTE6OjIxNzA3Nzo6MjE4MDQ1OjoyMTkzMDk6OjIyMDMwMjo6MjIwNjYyOjoyMjA3ODY6OjIyMDgxOTo6MjIxMjY5OjoyMjE0NTE6OjIyMTQ1ODo6MjIxNDU4OjoyMjE0NTg6OjIyMTQ1ODo6MjIxNDU4OjoyMjE0NTg6OjIyMTU0Nzo6MjIxODk1OjoyMjIxODk6OjIyMjYxMTo6MjIzNDcxOjoyMjM4MTg6OjIyNDQ3Mjo6MjI0NDczOjoyMjUwNjY6OjIyNjA1NDo6MjI3NTMzOjoyMjg0NjE6OjIyODk2Mjo6MjI5Mzk2OjoyMjk0MDE6OjIyOTQwMTo6MjI5NTc3OjoyMzA1NzY6OjIzMDc1ODo6MjMxMTU5OjoyMzE0NTQ6OjIzMjU2Njo6MjMyNTY2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjFiYTYwJywgdj0nMjMyNTY2OjoyMzI1NjY6OjIzMzYwOTo6MjM0MTAxOjoyMzQxMDE6OjIzNDEzOTo6MjM0ODM2OjoyMzU0OTI6OjIzNTQ5Mjo6MjM2MDg5OjoyMzcyMDg6OjIzNzQ2Nzo6MjM3NDY3OjoyMzc0Njc6OjIzNzQ2Nzo6MjM3NDY3OjoyMzc1MTE6OjIzNzc0OTo6MjM4MzA2OjoyMzgzMzE6OjIzODMzMTo6MjM4MzMxOjoyMzgzMzE6OjIzODYwNjo6MjM4NjM3OjoyMzkyNjA6OjIzOTg0Njo6MjM5ODQ2OjoyMzk4NDY6OjIzOTg0Njo6MjM5ODQ3OjoyMzk5ODg6OjIzOTk4ODo6MjM5OTg4OjoyNDAyMDA6OjI0MDQxMTo6MjQwOTE2OjoyNDExOTM6OjI0MTE5NDo6MjQxMTk0OjoyNDExOTQ6OjI0MTI2MDo6MjQxMjYyOjoyNDEyNjI6OjI0MTI2Mjo6MjQxMjYyOjoyNDEzMjU6OjI0MTg0MicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0NmI3MCcsIHY9JzI0MzQ4Mjo6MjQ0MTU0OjoyNDQxNjQ6OjI0NDE2NDo6MjQ0MTY0OjoyNDQ0OTk6OjI0NTc4ODo6MjQ3MjAwOjoyNDgxNTc6OjI0ODg2Njo6MjQ5MzU4OjoyNTA0MzY6OjI1MTU0OTo6MjUyNDUyOjoyNTI0ODI6OjI1MjQ4NDo6MjUyNTI2OjoyNTI1MjY6OjI1MjUyNjo6MjUyNTI2OjoyNTI4NDA6OjI1NTYzNDo6MjU3NTExOjoyNTc1ODQ6OjI1NzU4NTo6MjU3NTg1OjoyNTc1ODU6OjI1NzU4NTo6MjU3NTg1OjoyNTc1ODU6OjI1Nzc2Njo6MjU3NzY2OjoyNTgwNzM6OjI1ODYyODo6MjU5MTMwOjoyNjA0NTQ6OjI2MjM1MDo6MjY0Mzg3OjoyNjU4NjU6OjI2Njc4Nzo6MjY2ODU0OjoyNjY4NTQ6OjI2Njg1NDo6MjY2ODU0OjoyNjY4NTQ6OjI2Njg1NDo6MjY2ODU0OjoyNjY4NTQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNzBlNzAnLCB2PScyNjY4NTQ6OjI2Njg2ODo6MjY3MTMyOjoyNjc2MDk6OjI2ODA5NTo6MjY4OTM2OjoyNjkyOTQ6OjI2OTI5NDo6MjY5MzY3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCSwgNSkKK1NBWC5lbmRFbGVtZW50KHBhcikKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCSwgNSkKK1NBWC5zdGFydEVsZW1lbnQocGFyLCBtZW1pbmQ9JzUyNTEzODAxJywgaD0nM2RjMWE3ZTAnKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScwJywgdj0nMDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzJhMzAwJywgdj0nMDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6OjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNTU0MTAnLCB2PScwOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nN2Y3MTAnLCB2PScwOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjo2ODA6OjE3NTM6OjI0MzY6OjI0Mzk6OjI0NzE6OjI0NzI6OjI0NzI6OjI0NzInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhOWExMCcsIHY9JzI3NDU6OjI3NzY6OjI3NzY6OjI3NzY6OjI4NjQ6OjM5Mzk6OjQ0MzQ6OjUyMDc6OjY5ODM6Ojo6MTQ1ODc6OjE4ODA5OjoyMDcyNDo6MjA5MjQ6OjIxNTIzOjoyMzE5Njo6MjM1ODc6OjI0MDg0OjoyNDA4ODo6MjQwODg6OjI0MTE5OjoyNDkzMzo6MjQ5Nzg6OjI0OTc4OjoyNjQwNjo6MjY3NjQ6OjI2Nzk5OjoyNjc5OTo6MjcwNzk6OjI4MDk0OjoyOTU4NDo6MzA2Nzg6OjMxMjQyOjozMjIxMTo6MzMzMDE6OjM0MTgxOjozNDY4NTo6MzUwODg6OjM1NTQ2OjozNjgwNjo6MzczMzY6OjM5Nzk4Ojo0MjM5Njo6NDUxNjY6OjQ3NjA4Ojo0OTQ0Nzo6NTAxMzk6OjUwMTM5Ojo1MDE1NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2Q0YjIwJywgdj0nNTAxNTU6OjUwMTU2Ojo1MDE1ODo6NTA5MDE6OjUyNDU3Ojo1MjQ4Njo6NTMxNzE6OjU1MTUxOjo1NzgyMTo6NjA4NjA6OjYzNjMyOjo2NDIyMDo6NjQ2ODI6OjY0OTI5Ojo2NTE2OTo6NjU2OTI6OjY2MzI0Ojo2NjMyNDo6NjY0Njk6OjY2NDkyOjo2NjUzNTo6NjY1NjU6OjY2NTY1Ojo2NzgyMDo6NjkwODc6OjY5ODY5Ojo3MDc4MDo6NzI3NTU6Ojc1MTA3Ojo3NTQ0OTo6NzYyNzk6Ojc3NDczOjo3OTAxMzo6ODAxNzE6OjgwOTczOjo4MTQ5NDo6ODM0MjE6Ojg0ODg5Ojo4NjU4Mjo6ODg4NzI6OjkwNTE4Ojo5MjA3Nzo6OTMyNjY6Ojk0NDI0Ojo5NjA3OTo6OTY1Nzk6Ojk2NTc5Ojo5NjU3OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2ZlZTIwJywgdj0nOTY1OTQ6Ojk2NTk0Ojo5NjU5Njo6OTc0Mjg6Ojk5MDkyOjoxMDA2OTQ6OjEwMjEzNjo6MTAzNjUxOjoxMDQ1NDc6OjEwNjAwNDo6MTA3MzkyOjoxMDgzMDI6OjEwOTQxMDo6MTEwNTMwOjoxMTE2MTM6OjExMzY3Njo6MTE2MDA1OjoxMTcyNTE6OjExNzcxMTo6MTE4NDA5OjoxMTkxODg6OjEyMDAyNDo6MTIwMDkzOjoxMjExMTg6OjEyMTYwMjo6MTIxODgwOjoxMjIwNzk6OjEyMzA0NDo6MTI0OTk0OjoxMjY2ODM6OjEyODE0ODo6MTI4OTQ1OjoxMjkwMjU6OjEyOTAyNTo6MTI5MDI1OjoxMjk1OTc6OjEzMDQ3NTo6MTMxMjk1OjoxMzE3NjQuMzAzOjoxMzE3NjUuNTg4OjoxMzE3NjYuMzc1OjoxMzE3NjguMTE6OjEzMTc2OS4xOTg6OjEzMTc2OS40OTo6MTMxNzY5Ljc2MTo6MTMxNzcwLjIxOTo6MTMxNzcwLjIzNjo6MTMxNzcwLjIzNicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyOTEyMCcsIHY9JzEzMTc3MC4yMzY6OjEzMTc3MC4yMzY6OjEzMTc3MC4yMzY6OjEzMTc3MC4yMzY6OjEzMTc3MC44Njg6OjEzMTc3MS44MDY6OjEzMTc3My4wMjM6OjEzMTc3NC42MjU6OjEzMTc3NS41ODk6OjEzMTc3Ni45MTI6OjEzMTc3OC4wNjI6OjEzMTc3OC43MDk6OjEzMTc3OS4yOTU6OjEzMTc3OS4zMDY6OjEzMTc3OS4zMTk6OjEzMTc3OS4zNDk6OjEzMTc3OS4zODY6OjEzMTc3OS40MjM6OjEzMTc3OS40NTg6OjEzMTc3OS40OTo6MTMxNzc5LjQ5OTo6MTMxNzc5LjUwMzo6MTMxNzc5LjUwOTo6MTMxNzc5LjU2NDo6MTMxNzc5LjU4Nzo6MTMxNzc5LjYwNDo6MTMxNzc5LjYyMzo6MTMxNzc5LjY1OTo6MTMxNzc5LjcwOTo6MTMxNzc5LjczODo6MTMxNzc5Ljc0NDo6MTMxNzc5Ljc1Mjo6MTMxNzc5Ljc1NTo6MTMxNzc5Ljc1NTo6MTMxNzc5Ljc1NTo6MTMxNzc5Ljc1NTo6MTMxNzc5Ljc1NTo6MTMxNzc5Ljc1NTo6MTMxNzc5Ljc1Njo6MTMxNzc5Ljc4Njo6MTMxNzc5LjgxOTo6MTMxNzc5Ljg1ODo6MTMxNzc5Ljg5Mzo6MTMxNzc5LjkxODo6MTMxNzc5LjkyNjo6MTMxNzc5LjkyNjo6MTMxNzc5LjkyNjo6MTMxNzc5Ljk0OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1MzQyMCcsIHY9JzEzMTc3OS45NTg6OjEzMTc3OS45NTk6OjEzMTc3OS45Njo6MTMxNzc5Ljk3Mjo6MTMxNzgwLjAwMzo6MTMxNzgwLjAyNzo6MTMxNzgwLjA0OTo6MTMxNzgwLjA4OTo6MTMxNzgwLjEyNTo6MTMxNzgwLjE1NTo6MTMxNzgwLjE3OTo6MTMxNzgwLjE4NDo6MTMxNzgwLjE5MTo6MTMxNzgwLjIwMjo6MTMxNzgwLjIyMjo6MTMxNzgwLjI0Mzo6MTMxNzgwLjI1MTo6MTMxNzgwLjI1ODo6MTMxNzgwLjI2MTo6MTMxNzgwLjI3Nzo6MTMxNzgwLjI4NTo6MTMxNzgwLjI4NTo6MTMxNzgwLjI4ODo6MTMxNzgwLjI4ODo6MTMxNzgwLjI4ODo6MTMxNzgwLjI4ODo6MTMxNzgwLjI4ODo6MTMxNzgwLjI4OTo6MTMxNzgwLjMwMzo6MTMxNzgwLjM0OjoxMzE3ODAuMzU6OjEzMTc4MC4zNTY6OjEzMTc4MC4zNjg6OjEzMTc4MC4zODE6OjEzMTc4MC4zODQ6OjEzMTc4MC4zODQ6OjEzMTc4MC4zODY6OjEzMTc4MC4zOTg6OjEzMTc4MC40MTU6OjEzMTc4MC40NTE6OjEzMzIwNTo6MTM1MzQzOjoxMzY4NjY6OjEzNzg2MTo6MTM4MjcyOjoxMzgyNzI6OjEzODI3Mjo6MTM4MjcyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTdkNzIwJywgdj0nMTM4MjcyOjoxMzgyNzI6OjEzODI3Mjo6MTM4MjcyOjoxMzgyNzU6OjEzODI3Nzo6MTM4MjkwOjoxMzgyOTA6OjEzODI5MDo6MTM4MjkwOjoxMzgzNTU6OjEzODM1NTo6MTM4MzU1OjoxMzgzNTU6OjEzODM1NTo6OjoxNDEwODg6OjE0MTQ5Mzo6MTQxNDkzOjoxNDE0OTM6OjE0MTQ5Mzo6MTQxNDkzOjoxNDE0OTM6OjE0MTQ5Mzo6MTQxNDkzOjoxNDE0OTM6OjE0MTQ5Mzo6MTQxNDkzOjoxNDE5OTc6OjE0MzYxODo6MTQzNjE4OjoxNDM2Mjk6OjE0MzY4MTo6OjoxNDM3MTQ6OjE0MzcxNDo6MTQzNzE0OjoxNDM3MTQ6OjE0MzcyNTo6MTQ0MzUxOjoxNDQzNjI6OjE0NDM2Mjo6MTQ0MzYyOjoxNDQzNjI6OjE0NDM2Mjo6MTQ0MzYyOjoxNDQzNjI6OjE0NDM2Mjo6MTQ0MzYyOjoxNDQzNjInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYTk2NDAnLCB2PScxNDQzNjI6OjE0NDM2Mjo6MTQ0MzYyOjoxNDQzNjI6OjE0NDM2ODo6MTQ0MzY4OjoxNDQzNjg6OjE0NDM2ODo6MTQ0MzY4OjoxNDQzNjgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYzc0NjAnLCB2PScxNjI3MDc6OjE2Mjc4Njo6MTYzMTA3OjoxNjUwMzU6OjE2NTA2Mjo6MTY1MDYyOjoxNjY0ODE6OjE2ODk1Njo6MTcxMDcyOjoxNzEzOTE6OjE3MTM5MTo6MTcxNjM0OjoxNzE2MzQ6OjE3MTYzNDo6MTcxNjM0OjoxNzE4NjU6OjE3MzAwNjo6MTc0MTc1OjoxNzQxNzU6OjE3NDE3Nzo6MTc0NDM1OjoxNzQ0Mzg6OjE3NDQzODo6MTc0NDM5OjoxNzQ0Mzk6OjE3NDQzOTo6MTc0NDM5OjoxNzQ0Mzk6OjE3NDQzOTo6MTc0NDM5OjoxNzQ0Mzk6OjE3NDQzOTo6MTc0NDM5OjoxNzQ0Mzk6OjE3NDQzOTo6MTc0NDM5OjoxNzQ0Mzk6OjE3NDU0MDo6MTc0NTQwOjoxNzQ1NDA6OjE3NDU5NDo6MTc0NTk0OjoxNzQ1OTQ6OjE3NDU5NDo6MTc0NTk0OjoxNzQ1OTg6OjE3NDU5ODo6MTc0NTk4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWYxNzYwJywgdj0nMTc0NzQyOjoxNzUxMjk6OjE3NTcwNjo6MTc3NzMxOjoxNzk4MDM6OjE4MDQwNTo6MTgwNDA1OjoxODA2NDY6OjE4MDcwNDo6MTgwNzA0OjoxODA3MDQ6OjE4MDc3MTo6MTgwNzgyOjoxODA3ODI6OjE4MDc4Mjo6MTgwODAxOjoxODA5ODM6OjE4MTk2MTo6MTgyODczOjoxODQwODY6OjE4NjMzMjo6MTg4Mzk2OjoxODk4NDg6OjE5MDUwNDo6MTkyMTE0OjoxOTM4OTc6OjE5NDQ3NDo6MTk1MjA0OjoxOTUyMDY6OjE5NTIzMDo6MTk1MjMyOjoxOTUzOTc6OjE5NjA0MTo6MTk2MDQ2OjoxOTYwNDY6OjE5NjA0Njo6MTk2MTc1OjoxOTYxNzU6OjE5NjE3NTo6MTk2Njc4OjoxOTgwMDc6OjE5ODg4MTo6MTk4ODk1OjoxOTkwNDM6OjE5OTQ5NDo6MTk5NDk0OjoxOTk0OTQ6OjIwMDA1OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxYmE2MCcsIHY9JzIwMTM1Mzo6MjAyODUxOjoyMDMyMzc6OjIwMzM1Mzo6MjAzODI1OjoyMDQxNjc6OjIwNDE2Nzo6MjA0Mjg2OjoyMDU3Nzg6OjIwNTgzMzo6MjA1ODMzOjoyMDkwMzY6OjIxMDk3MDo6MjExNDI2OjoyMTIxMzg6OjIxNDQxMDo6MjE4MTU2OjoyMTgzOTU6OjIxODM5NTo6MjE5Nzk1OjoyMjIzNjg6OjIyNTk2Mzo6MjI4Njc2OjoyMjg2OTg6OjIyODk0MTo6MjI5MDgyOjoyMjkwODI6OjIzMDgyMjo6MjMyMjM3OjoyMzM0MjU6OjIzMzkxMDo6MjM1MDk4OjoyMzcyNzM6OjIzODE2MDo6MjM4MjU5OjoyMzg0MzE6OjIzODQzMTo6MjM4NDYwOjoyMzg2MDQ6OjIzOTczNTo6MjQwNjg1OjoyNDE2NDg6OjI0MjQwNjo6MjQ0MTM3OjoyNDc0NzE6OjI1MDU1MTo6MjUzNDA0OjoyNTM0MDQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNDZiNzAnLCB2PScyNTM0MDQ6OjI1MzQwNDo6MjU1NTI3OjoyNjAxMjQ6OjI2MTQ5Mjo6MjYxNjA2OjoyNjE2MDY6OjI2MTYwNjo6MjYxNjA2OjoyNjE2MDY6OjI2MTY5Mjo6MjYxNjkyOjoyNjE2OTI6OjI2MTY5Mjo6MjYxNzk0OjoyNjIzMTU6OjI2MjkzOTo6MjY0MTE4OjoyNjU5MjE6OjI2OTIwMDo6MjcyMDQxOjoyNzIwNDE6OjI3MjA0OTo6MjcyMjI5OjoyNzI0MTc6OjI3MjkwMDo6MjczOTA5OjoyNzY0NjY6OjI3OTA4NDo6MjgxMTczOjoyODEzNDk6OjI4MjY0Mjo6MjgyODQxOjoyODMxODU6OjI4MzE5ODo6MjgzMTk4OjoyODMxOTg6OjI4MzE5ODo6MjgzMTk4OjoyODMxOTg6OjI4MzQwMjo6Mjg0MTE0OjoyODUyNDQ6OjI4Njg4Njo6Mjg4ODg0OjoyOTE5Njg6OjI5NDg4NDo6Mjk3ODQ5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjcwZTcwJywgdj0nMzAwOTU0OjozMDE3MzM6OjMwMjM0MTo6MzAyMzQxOjozMDIzNDE6OjMwMjM0MTo6MzAzOTE1OjozMDYyMDE6OjMwNjY5MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQksIDUpCitTQVguZW5kRWxlbWVudChwYXIpCitTQVguY2hhcmFjdGVycygKKwkJCQksIDUpCitTQVguc3RhcnRFbGVtZW50KHBhciwgbWVtaW5kPSc1MjUxMzQwMScsIGg9JzNkYzFhN2UwJykKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMCcsIHY9JzA6OjQxNzc6OjgzNDg6OjEyNDIxOjoxNjQ2Njo6MjAzODk6OjI0NTUwOjoyOTYzODo6MzUzOTA6OjQyMzI5Ojo0OTYwODo6NTY5ODI6OjY0MTE5Ojo3MDgxOTo6NzI4MjQ6OjcyODMxOjo3MjgzODo6NzI4NDU6OjcyODUxOjo3Mjg1OTo6NzI4NjY6OjcyODczOjo3Mjg4MTo6NzI4ODk6OjcyODk4Ojo3MjkwNjo6NzI5MTQ6OjcyOTIyOjo3MjkzMTo6NzI5Mzg6OjcyOTQ2Ojo3Mjk1NTo6NzI5NjM6OjcyOTcyOjo3Mjk3OTo6NzI5ODc6OjcyOTk1Ojo3MzAwNDo6NzMwMTI6OjczMDIxOjo3MzAyOTo6NzMwMzc6OjczMDQ1Ojo3MzA1Mjo6NzMwNjA6OjczMDY3Ojo3MzA3NDo6NzMwODMnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyYTMwMCcsIHY9JzczMDkyOjo3MzEwMDo6NzMxMDg6OjczMTE2Ojo3MzEyNDo6NzMxMzE6OjczMTM5Ojo3MzE0Nzo6NzMxNTU6OjczMTY0Ojo3MzE3Mjo6NzMxODA6OjczMTg5Ojo3MzE5Nzo6NzMyMDU6OjczMjEzOjo3MzIyMTo6NzMyMjg6OjczMjM1Ojo3MzI0Mjo6NzMyNTA6OjczMjU4Ojo3MzI2NTo6NzMyNzM6OjczMjgxOjo3MzI5MDo6NzMyOTg6OjczMzA3Ojo3MzMxNjo6NzMzMjQ6OjczMzMzOjo3MzM0MTo6NzMzNDk6Ojo6NzMzNjI6OjczMzY4Ojo3MzM3NDo6NzMzODE6OjczMzg3Ojo3MzM5NDo6NzM0MDA6OjczNDA3Ojo3MzQxNDo6NzM0MjE6OjczNDI4Ojo3MzQzNjo6NzM0NDM6OjczNDUxOjo3MzQ1OScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzU1NDEwJywgdj0nNzM0Njc6OjczNDc2Ojo3MzQ4NDo6NzM0OTI6OjczNTAxOjo3MzUwODo6NzM1MTY6OjczNTIzOjo3MzUyOTo6NzM1MzY6OjczNTQzOjo3MzU1MDo6NzM1NTc6OjczNTY0Ojo3MzU3MTo6NzM1Nzg6OjczNTg1Ojo3MzU5Mjo6NzM1OTk6OjczNjA3Ojo3MzYxNDo6NzM2MjI6OjczNjMwOjo3MzYzOTo6NzM2NDc6OjczNjU1Ojo3MzY2Mzo6NzM2NzI6OjczNjgwOjo3MzY4Nzo6NzM2OTQ6OjczNzAyOjo3MzcwOTo6NzM3MTU6OjczNzIxOjo3MzcyODo6NzM3MzU6OjczNzQyOjo3Mzc0ODo6NzM3NTU6OjczNzYyOjo3Mzc2OTo6NzM3NzY6OjczNzgzOjo3Mzc5MTo6NzM3OTg6OjczODA2Ojo3MzgxNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzdmNzEwJywgdj0nNzM4MjM6OjczODMxOjo3Mzg0MDo6NzM4NDk6OjczODU4Ojo3Mzg2Njo6NzM4NzQ6OjczODgxOjo3Mzg4ODo6NzM4OTU6OjczOTAyOjo3MzkwOTo6NzM5MTc6OjczOTI0Ojo3MzkzMTo6NzM5Mzg6OjczOTQ1Ojo3Mzk1Mjo6NzM5NTk6OjczOTY2Ojo3Mzk3Mzo6NzM5ODA6OjczOTg4Ojo3Mzk5Njo6NzQwMDU6Ojc0MDE0Ojo3NDAyMjo6NzQwMzE6Ojc0MDM5Ojo3NDA0Nzo6NzQwNTU6Ojc0MDYyOjo3NDA2OTo6NzQwNzY6Ojc0MDg0Ojo3NDA5MTo6NzQwOTg6Ojc0MTA1Ojo3NDExMjo6NzY1OTM6OjgxOTEyOjo4NDI5Mzo6ODQ0Mzg6Ojg0NDM4Ojo4NDQzODo6ODQ0Mzk6Ojg0NDQwOjo4NDQ0MCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2E5YTEwJywgdj0nODQ0NDI6Ojg0NDQ1Ojo4NDQ1MDo6ODQ0NTA6Ojg0NDUwOjo4NDQ1MDo6ODQ1MTA6Ojg0NjIyOjo4NDY3Nzo6Ojo4NDc2ODo6ODQ5MDI6Ojg1MTYxOjo4NTgzNDo6ODY2NTY6Ojg3NTAwOjo4OTAzNDo6OTA3ODM6OjkyNDgyOjo5NDM4Njo6OTYwMDM6Ojk2NzU2Ojo5NzYwODo6OTg1MjA6Ojk4NTY4Ojo5ODU2ODo6OTg1Njg6Ojk4NTY4Ojo5ODU2ODo6OTg1Njg6Ojk4NTY5Ojo5ODU2OTo6OTg1NzA6Ojk4NTgxOjo5ODYwOTo6OTg2NDk6Ojk4NjU2Ojo5ODY1Nzo6OTg2NjQ6Ojk4NzA0Ojo5OTA1OTo6OTkyOTE6Ojk5NTIyOjo5OTY3OTo6OTk3MzA6Ojk5NzUyOjo5OTc4Njo6OTk4ODI6Ojk5ODgyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZDRiMjAnLCB2PSc5OTg4Mjo6OTk4ODI6Ojk5ODgyOjo5OTg4Mjo6OTk5NDA6OjEwMDM0Njo6MTAxMDk2OjoxMDI3NDk6OjEwNTA3ODo6MTA3NTI3OjoxMTAwNzI6OjExMjk5MTo6MTE1Nzg2OjoxMTg2NTY6OjEyMTQ0MTo6MTI0MjI4OjoxMjgxNTQ6OjEzMjE0OTo6MTM1ODk1OjoxMzkyNDM6OjE0MjIzNTo6MTQ0NjY1OjoxNDY1NTA6OjE0Nzc2Njo6MTQ4NDMwOjoxNDkxMzI6OjE0OTc4Mzo6MTUwMjgxOjoxNTExNzg6OjE1MzM5Njo6MTU1OTc3OjoxNTk3NjQ6OjE2NDAxMTo6MTY4MzYzOjoxNzI5NTk6OjE3NzQyOTo6MTgxODk3OjoxODY2MTI6OjE5MTMyODo6MTk1Njk3OjoyMDAwNTQ6OjIwNDEyNzo6MjA3OTgxOjoyMTE1MjA6OjIxNDU4MTo6MjE3NzA1OjoyMjA2ODI6OjIyMzIyNCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2ZlZTIwJywgdj0nMjI1NDQwOjoyMjc0MzE6OjIyOTM4OTo6MjMxMTI4OjoyMzI5Nzk6OjIzNTUwMTo6MjM4NzA1OjoyNDI4Nzc6OjI0NTM5NTo6MjQ5ODk0OjoyNTQ0ODQ6OjI1ODY4NTo6MjYyODg0OjoyNjcwNTk6OjI3MTM2NTo6Mjc1NzQ3OjoyODAwNzI6OjI4NDM3MTo6Mjg4NjU2OjoyOTI1Njc6OjI5NjA2Mjo6Mjk4OTU4OjozMDE2Nzg6OjMwMzY0Mzo6MzA1NDY0OjozMDcyNjg6OjMwOTA4Nzo6MzEwNzIxOjozMTI0MTQ6OjMxNDgyMzo6MzE3OTMzOjozMjIxNTM6OjMyNjg4OTo6MzMxNTc3OjozMzY2Njg6OjM0MDk0NDo6MzQ1MjI3OjozNDkzMzg6OjE1MTk3OC42OTc6OjE1MTk4Mi42MTQ6OjE1MTk4Ni42MTo6MTUxOTkwLjIwNzo6MTUxOTkzLjY2NTo6MTUxOTk2Ljk0Mzo6MTUxOTk5Ljg5Nzo6MTUyMDAyLjE1ODo6MTUyMDA0LjIwNzo6MTUyMDA2LjE5NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyOTEyMCcsIHY9JzE1MjAwNy45NTQ6OjE1MjAwOS42MzU6OjE1MjAxMS4zMjQ6OjE1MjAxMi44NTc6OjE1MjAxNC40MzM6OjE1MjAxNi41ODY6OjE1MjAxOS4xODE6OjE1MjAyMi4zNjU6OjE1MjAyNS43Mjg6OjE1MjAyOC4yODg6OjE1MjAzMC45OTg6OjE1MjAzNC4wODE6OjE1MjAzNi4yNDc6OjE1MjAzNi4yODQ6OjE1MjAzNi4zMDI6OjE1MjAzNi4zMTk6OjE1MjAzNi4zNDE6OjE1MjAzNi4zNTk6OjE1MjAzNi4zNzI6OjE1MjAzNi4zODM6OjE1MjAzNi4zOTo6MTUyMDM2LjM5Mzo6MTUyMDM2LjM5ODo6MTUyMDM2LjM5ODo6MTUyMDM2LjM5ODo6MTUyMDM2LjM5ODo6MTUyMDM2LjM5ODo6MTUyMDM2LjM5ODo6MTUyMDM2LjM5ODo6MTUyMDM2LjM5ODo6MTUyMDM2LjM5ODo6MTUyMDM2LjM5OTo6MTUyMDM2LjQwNDo6MTUyMDM2LjQwNzo6MTUyMDM2LjQxMjo6MTUyMDM2LjQxNDo6MTUyMDM2LjQxNDo6MTUyMDM2LjQxNDo6MTUyMDM2LjQxNDo6MTUyMDM2LjQxNzo6MTUyMDM2LjQyMjo6MTUyMDM2LjQyNTo6MTUyMDM2LjQyODo6MTUyMDM2LjQzMjo6MTUyMDM2LjQzNTo6MTUyMDM2LjQzNzo6MTUyMDM2LjQzNzo6MTUyMDM2LjQzNycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1MzQyMCcsIHY9JzE1MjAzNi40Mzc6OjE1MjAzNi40Mzc6OjE1MjAzNi40Mzc6OjE1MjAzNi40Mzc6OjE1MjAzNi40Mzc6OjE1MjAzNi40Mzc6OjE1MjAzNi40Mzc6OjE1MjAzNi40Mzc6OjE1MjAzNi40Mzc6OjE1MjAzNi40Mzc6OjE1MjAzNi40Mzc6OjE1MjAzNi40Mzc6OjE1MjAzNi40Mzc6OjE1MjAzNi40Mzc6OjE1MjAzNi40Mzc6OjE1MjAzNi40NDE6OjE1MjAzNi40NTo6MTUyMDM2LjQ2OjoxNTIwMzYuNDcyOjoxNTIwMzYuNDc2OjoxNTIwMzYuNDc4OjoxNTIwMzYuNDc4OjoxNTIwMzYuNDc4OjoxNTIwMzYuNDc4OjoxNTIwMzYuNDc4OjoxNTIwMzYuNDc4OjoxNTIwMzYuNDc4OjoxNTIwMzYuNDc4OjoxNTIwMzYuNDc4OjoxNTIwMzYuNDc4OjoxNTIwMzYuNDg5OjoxNTIwMzYuNTQzOjoxNTIwMzYuNjYzOjoxNTIwMzYuNzc4OjoxNTIwMzYuODgzOjoxNTIwMzYuOTcxOjoxNTIwMzcuMDY2OjoxNTIwMzcuMTY0OjoxNTIwMzcuMjU3OjoxNTIwMzcuMzYxOjozNTY2ODU6OjM2MzQwNTo6MzcwNDIwOjozNzc1NzU6OjM4NDEzNDo6MzkwMjI1OjozOTYwNjQ6OjQwMTY5NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3ZDcyMCcsIHY9JzQwNzE5ODo6NDEyNjQ0Ojo0MTc4ODM6OjQyMjk5ODo6NDI4NTEzOjo0MzUwNzU6OjQ0MjIyOTo6NDUzMzk1Ojo0NjY2MDE6OjQ3OTY1ODo6NDkyMTc3Ojo1MDQwMDA6OjUxNTkwMTo6NTI3OTAxOjo1Mzk5OTc6Ojo6NTU2MDM2Ojo1NjM5MDM6OjU3MTgyMzo6NTc5MDA1Ojo1ODUzMjY6OjU5MTMyNTo6NTk2MzU0Ojo2MDA3MTU6OjYwNDk5Mjo6NjA5MTk5Ojo2MTMzODE6OjYxNzY0Njo6NjIyNTM5Ojo2Mjc4Njg6OjYzMzk4Mzo6NjQwNTAyOjo2NDY2NTA6Ojo6NjU5MzI4Ojo2NjU0OTg6OjY3MTg0NTo6Njc4MjI3Ojo2ODQ3NjY6OjY4ODk5MDo6NjkxNjE5Ojo2OTQ0OTI6OjY5Nzg0OTo6NzAwNjk0Ojo3MDI2MjA6OjcwNDQ0Mjo6NzA1NTcyOjo3MDY2OTE6OjcwNzY5Nzo6NzA4NzM2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWE5NjQwJywgdj0nNzA5NTQ1Ojo3MDk5OTc6OjcxMDY5MDo6NzEyMjQzOjo3MTQyNTU6OjcxNjg0Nzo6NzE5NjA5Ojo3MjIzNzM6OjcyNTE1ODo6NzI3MjYxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWM3NDYwJywgdj0nNzcwOTg4Ojo3NzA5ODg6Ojc3MDk4ODo6NzcwOTg4Ojo3NzA5ODg6Ojc3MDk4ODo6NzcwOTg4Ojo3NzA5ODg6Ojc3MDk4ODo6NzcwOTg4Ojo3NzA5ODg6Ojc3MDk4ODo6NzcwOTg4Ojo3NzA5ODg6Ojc3MDk4ODo6NzcwOTg4Ojo3NzA5ODg6Ojc3MDk4ODo6NzcwOTg4Ojo3NzA5ODg6Ojc3MzA4Njo6Nzc2NjQ3Ojo3ODAyOTY6Ojc4MzgyNjo6Nzg3NDI2Ojo3OTEwNjE6Ojc5NTg0NDo6ODAyMTA5Ojo4MDg4MDE6OjgxNTYyNDo6ODIyNDk4Ojo4MjkyMTM6OjgzNTUwODo6ODQxNDQ5Ojo4NDY4ODY6Ojg1MTc5ODo6ODU2NjY1Ojo4NTkzNTQ6Ojg2MTI2Mzo6ODYzMDgzOjo4NjQ5ODU6Ojg2NzI0NTo6ODY5ODAzOjo4NzI0NjA6Ojg3NTIyMTo6ODc3OTM3Ojo4ODA1NjE6Ojg4MzE1NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmMTc2MCcsIHY9Jzg4NTY1Nzo6ODg4MDg1Ojo4OTA1MDU6Ojg5MzExMDo6ODk2MTk0Ojo4OTk1ODE6OjkwMzExNjo6OTA2NDczOjo5MDk2Nzc6OjkxMzAzNDo6OTE2MDgyOjo5MTg2NDY6OjkyMTA5Mzo6OTIzNDYwOjo5MjU2MzA6OjkyNzc0NDo6OTMwMDUzOjo5MzI4MDY6OjkzNTkwNDo6OTM5NzUzOjo5NDQ1NDA6Ojk1MDE2Mzo6OTU1ODg0Ojo5NjEyMzM6Ojk2NjY3Mzo6OTcyNTMzOjo5Nzg3NTg6Ojk4NTE2ODo6OTkxNjY4Ojo5OTc3MTM6OjEwMDMwOTE6OjEwMDgyNzQ6OjEwMTI3NDk6OjEwMTcwMzg6OjEwMjA5Mzc6OjEwMjQ2MjQ6OjEwMjc5MTk6OjEwMzEwNDc6OjEwMzQwODc6OjEwMzY5NzY6OjEwNDAxMDY6OjEwNDQxMDI6OjEwNDkyMDE6OjEwNTUxNzc6OjEwNjE0MTE6OjEwNjc1Mjg6OjEwNzM3NTk6OjEwNzk4MDYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMWJhNjAnLCB2PScxMDg1NzQ4OjoxMDkxNTY2OjoxMDk3OTY0OjoxMTA0MDk4OjoxMTA5OTY1OjoxMTE1NjExOjoxMTIxMDkzOjoxMTI2MzIxOjoxMTMwNjMwOjoxMTM0NDk3OjoxMTM3OTczOjoxMTM5OTcwOjoxMTQxODQ5OjoxMTQzOTIzOjoxMTQ1OTE4OjoxMTQ3NjQ3OjoxMTQ5NTU3OjoxMTUzMTcxOjoxMTU3MzI5OjoxMTYxOTM0OjoxMTY2NjY0OjoxMTcxMjA0OjoxMTc1OTU3OjoxMTgwNzIxOjoxMTg1NDQ2OjoxMTkwNjMyOjoxMTk2MjA0OjoxMjAxNzQzOjoxMjA3MzI4OjoxMjEyNjA4OjoxMjE3ODQ3OjoxMjIyNjc0OjoxMjI2OTQyOjoxMjMxMDY2OjoxMjM0ODc4OjoxMjM4MTUxOjoxMjQxMzk4OjoxMjQ0NTI1OjoxMjQ3NTQ0OjoxMjUwNDA4OjoxMjUzNjYzOjoxMjU3NjQ1OjoxMjYyMjM5OjoxMjY3OTA1OjoxMjc0MDc1OjoxMjgwNTEyOjoxMjg3MTA5OjoxMjkzNTY2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjQ2YjcwJywgdj0nMTMwNjUwMTo6MTMxMjc3NTo6MTMxODUzOTo6MTMyMzc5ODo6MTMyOTM4Nzo6MTMzNTEwNTo6MTM0MDg4Mzo6MTM0NjM5Njo6MTM1MTM3Njo6MTM1NTU5NDo6MTM1OTA5OTo6MTM2Mjc0Mjo6MTM2NjM1NTo6MTM2OTkzNjo6MTM3MzQxODo6MTM3NzE1Njo6MTM4MTQ0MDo6MTM4NTk3Njo6MTM5MTQxNjo6MTM5NzEyNDo6MTQwMzYyMjo6MTQxMjkwNTo6MTQyMDQ5NDo6MTQyNjUxOTo6MTQzMjc5MTo6MTQzODczMTo6MTQ0NDcwMDo6MTQ1MDQ5NTo6MTQ1NTkxNjo6MTQ2MTI5Mzo6MTQ2NjY0ODo6MTQ3MTMyMzo6MTQ3NTkwNDo6MTQ3OTkwMzo6MTQ4MzUxNDo6MTQ4NzAzMDo6MTQ5MDY4Mjo6MTQ5NDMyNDo6MTQ5NzkxODo6MTUwMTYxNTo6MTUwNTQ2ODo6MTUwOTM1ODo6MTUxMzUwMzo6MTUxNzg1MDo6MTUyMjAwNDo6MTUyNTk1Nzo6MTUyOTcyODo6MTUzMzQwMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI3MGU3MCcsIHY9JzE1MzcwMDM6OjE1NDEyODk6OjE1NDYxMjQ6OjE1NTEyNTY6OjE1NTYyODY6OjE1NjEyNzI6OjE1NjU3MzE6OjE1Njk1ODE6OjE1NzI5NDAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJLCA1KQorU0FYLmVuZEVsZW1lbnQocGFyKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJLCA1KQorU0FYLnN0YXJ0RWxlbWVudChwYXIsIG1lbWluZD0nNTI1MTMwMDEnLCBoPSczZGMxYTdlMCcpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzAnLCB2PScwOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMmEzMDAnLCB2PScwOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjo6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1NTQxMCcsIHY9JzA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3ZjcxMCcsIHY9JzA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjEwOjo1MjE6OjEwMDk6OjE5MTQ6OjIzMjk6OjI4MDQ6OjM0NzYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhOWExMCcsIHY9JzQ1NDY6OjQ2ODI6OjQ3MTk6OjQ4Mzg6OjUzNTA6OjYxNjU6OjYzNjU6OjY0NDU6OjY0OTA6Ojo6NjU3MTo6NjY0Mzo6NjcwNDo6NjcwNDo6NjcwNDo6NjcwNDo6NjcwNDo6NjcwNDo6NjcwNDo6NjcwNDo6NjcwNDo6NjcwNDo6NjcwNDo6NjcwNDo6NzIwODo6NzY3OTo6ODEyNDo6ODQ4MDo6OTAxMDo6OTUwMTo6OTkxODo6MTA3MDg6OjEwOTYwOjoxMTA3OTo6MTEyMDA6OjExMjU1OjoxMTQ1OTo6MTE2NTY6OjExNzkzOjoxMjE1OTo6MTIxNTk6OjEyMTU5OjoxMjE1OTo6MTIxNjA6OjEyMTc5OjoxMjIxNTo6MTIyODc6OjEyMzAyOjoxMjg4NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2Q0YjIwJywgdj0nMTM1MzM6OjE0MjMwOjoxNTA2Mjo6MTYyMDQ6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2ZlZTIwJywgdj0nMTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Ny40OTI6OjE3MTU3LjQ5Mjo6MTcxNTcuNDkyOjoxNzE1Ny40OTI6OjE3MTU3LjQ5Mjo6MTcxNTcuNDkyOjoxNzE1Ny40OTI6OjE3MTU3LjQ5Mjo6MTcxNTcuNDkyOjoxNzE1Ny40OTInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMjkxMjAnLCB2PScxNzE1Ny40OTI6OjE3MTU3LjQ5Mjo6MTcxNTcuNDkyOjoxNzE1Ny40OTI6OjE3MTU3LjQ5Mjo6MTcxNTcuNDkyOjoxNzE1Ny40OTI6OjE3MTU3LjQ5Mjo6MTcxNTcuNDkyOjoxNzE1Ny40OTI6OjE3MTU3LjQ5Mjo6MTcxNTcuNDkyOjoxNzE1Ny40OTI6OjE3MTU3LjQ5Mjo6MTcxNTcuNDkyOjoxNzE1Ny40OTI6OjE3MTU3LjQ5Mjo6MTcxNTcuNDkyOjoxNzE1Ny40OTI6OjE3MTU3LjQ5Mjo6MTcxNTcuNDkyOjoxNzE1Ny40OTI6OjE3MTU3LjQ5Mzo6MTcxNTcuNTExOjoxNzE1Ny41MjU6OjE3MTU3LjU0Mjo6MTcxNTcuNTU4OjoxNzE1Ny41Nzk6OjE3MTU3LjU5OTo6MTcxNTcuNjA4OjoxNzE1Ny42MTE6OjE3MTU3LjYxMjo6MTcxNTcuNjEyOjoxNzE1Ny42MTI6OjE3MTU3LjYxMjo6MTcxNTcuNjEzOjoxNzE1Ny42MTY6OjE3MTU3LjYxODo6MTcxNTcuNjIzOjoxNzE1Ny42MzE6OjE3MTU3LjYzMTo6MTcxNTcuNjMxOjoxNzE1Ny42MzE6OjE3MTU3LjYzMTo6MTcxNTcuNjMxOjoxNzE1Ny42MzE6OjE3MTU3LjYzMjo6MTcxNTcuNjQ5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTUzNDIwJywgdj0nMTcxNTcuNjY5OjoxNzE1Ny42ODY6OjE3MTU3LjcwNjo6MTcxNTcuNzI4OjoxNzE1Ny43NTI6OjE3MTU3Ljc3MTo6MTcxNTcuNzg2OjoxNzE1Ny43OTk6OjE3MTU3LjgxMjo6MTcxNTcuODI0OjoxNzE1Ny44Mzg6OjE3MTU3Ljg1OjoxNzE1Ny44NjE6OjE3MTU3Ljg3MTo6MTcxNTcuODgzOjoxNzE1Ny44OTo6MTcxNTcuODk6OjE3MTU3Ljg5OjoxNzE1Ny44OTo6MTcxNTcuODk6OjE3MTU3Ljg5OjoxNzE1Ny44OTE6OjE3MTU3Ljg5OTo6MTcxNTcuOTExOjoxNzE1Ny45MTg6OjE3MTU3LjkyOjoxNzE1Ny45MjE6OjE3MTU3LjkyNTo6MTcxNTcuOTMyOjoxNzE1Ny45Mzc6OjE3MTU3LjkzNzo6MTcxNTcuOTM3OjoxNzE1Ny45Mzc6OjE3MTU3LjkzNzo6MTcxNTcuOTM3OjoxNzE1Ny45Mzc6OjE3MTU3LjkzNzo6MTcxNTcuOTM3OjoxNzE1Ny45Mzc6OjE3MTU3LjkzNzo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTdkNzIwJywgdj0nMTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6Ojo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTYnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYTk2NDAnLCB2PScxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFjNzQ2MCcsIHY9JzI2MzY2OjoyNjY0ODo6Mjk3Mzc6OjMzNzkwOjozNzMyMDo6NDEwMzg6OjQ1NDkxOjo1MDg3MDo6NTYzNzg6OjYyMDY2Ojo2Nzg5Mjo6NzQ0MzU6OjgxMDczOjo4Nzc0ODo6OTQ0ODc6OjEwMTMyNTo6MTA4MTczOjoxMTQ2NzE6OjEyMDQxNzo6MTI1NzY4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZjE3NjAnLCB2PScxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjFiYTYwJywgdj0nMTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0NmI3MCcsIHY9JzEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNzBlNzAnLCB2PScxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCSwgNSkKK1NBWC5lbmRFbGVtZW50KHBhcikKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCSwgNSkKK1NBWC5zdGFydEVsZW1lbnQocGFyLCBtZW1pbmQ9JzM0NjAxJywgaD0nM2RjMWE3ZTAnKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScwJywgdj0nNjA5NDU2NDo6NjA5NTg2OTo6NjA5NzQzMzo6NjA5OTA0Njo6NjEwMDYzMDo6NjEwMTk2MDo6NjEwMzEzNzo6NjEwNDgyNjo6NjEwNjQ4Nzo6NjEwODMzODo6NjExMDA1Nzo6NjExMjA4Nzo6NjExNDEwODo6NjExNjAxNzo6NjExNjYzNTo6NjExNjY0MDo6NjExNjY0NTo6NjExNjY0ODo6NjExNjY0OTo6NjExNjY1NDo6NjExNjY2MTo6NjExNjY2Nzo6NjExNjY3NDo6NjExNjY4MTo6NjExNjY4ODo6NjExNjY5NDo6NjExNjcwMTo6NjExNjcwODo6NjExNjcxNTo6NjExNjcyMTo6NjExNjcyMzo6NjExNjczMDo6NjExNjczODo6NjExNjc0NTo6NjExNjc1MTo6NjExNjc1Nzo6NjExNjc2NDo6NjExNjc3MTo6NjExNjc3OTo6NjExNjc4Njo6NjExNjc5Mzo6NjExNjc5OTo6NjExNjgwMDo6NjExNjgwMDo6NjExNjgwNTo6NjExNjgwODo6NjExNjgxMjo6NjExNjgxOScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzJhMzAwJywgdj0nNjExNjgyNjo6NjExNjgzMjo6NjExNjgzMjo6NjExNjgzNDo6NjExNjgzODo6NjExNjgzOTo6NjExNjgzOTo6NjExNjg0NTo6NjExNjg1Mjo6NjExNjg1OTo6NjExNjg2Njo6NjExNjg3Mzo6NjExNjg4MDo6NjExNjg4Nzo6NjExNjg5Mzo6NjExNjg5ODo6NjExNjg5OTo6NjExNjg5OTo6NjExNjg5OTo6NjExNjkwMTo6NjExNjkwMjo6NjExNjkwNDo6NjExNjkwNTo6NjExNjkxMDo6NjExNjkxNzo6NjExNjkyNDo6NjExNjkzMTo6NjExNjkzODo6NjExNjk0NTo6NjExNjk1Mjo6NjExNjk1Nzo6NjExNjk2MTo6NjExNjk2ODo6Ojo2MTE2OTcwOjo2MTE2OTcwOjo2MTE2OTcwOjo2MTE2OTcwOjo2MTE2OTcwOjo2MTE2OTcwOjo2MTE2OTcwOjo2MTE2OTcwOjo2MTE2OTcwOjo2MTE2OTcwOjo2MTE2OTcyOjo2MTE2OTc4Ojo2MTE2OTgwOjo2MTE2OTg3Ojo2MTE2OTk0JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNTU0MTAnLCB2PSc2MTE3MDAxOjo2MTE3MDA4Ojo2MTE3MDE1Ojo2MTE3MDIyOjo2MTE3MDI5Ojo2MTE3MDMzOjo2MTE3MDM5Ojo2MTE3MDQyOjo2MTE3MDQyOjo2MTE3MDQ0Ojo2MTE3MDQ5Ojo2MTE3MDU0Ojo2MTE3MDYxOjo2MTE3MDYyOjo2MTE3MDYyOjo2MTE3MDYzOjo2MTE3MDY1Ojo2MTE3MDY1Ojo2MTE3MDY2Ojo2MTE3MDcyOjo2MTE3MDc4Ojo2MTE3MDg0Ojo2MTE3MDkxOjo2MTE3MDk4Ojo2MTE3MTAzOjo2MTE3MTEwOjo2MTE3MTE3Ojo2MTE3MTI0Ojo2MTE3MTI5Ojo2MTE3MTI5Ojo2MTE3MTM0Ojo2MTE3MTM2Ojo2MTE3MTM3Ojo2MTE3MTM3Ojo2MTE3MTM3Ojo2MTE3MTM4Ojo2MTE3MTQ0Ojo2MTE3MTQ1Ojo2MTE3MTQ1Ojo2MTE3MTQ1Ojo2MTE3MTQ1Ojo2MTE3MTQ1Ojo2MTE3MTQ1Ojo2MTE3MTQ4Ojo2MTE3MTUwOjo2MTE3MTU0Ojo2MTE3MTYwOjo2MTE3MTY3JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nN2Y3MTAnLCB2PSc2MTE3MTc0Ojo2MTE3MTgxOjo2MTE3MTg5Ojo2MTE3MTk2Ojo2MTE3MjAzOjo2MTE3MjEwOjo2MTE3MjE2Ojo2MTE3MjE5Ojo2MTE3MjIwOjo2MTE3MjIwOjo2MTE3MjIyOjo2MTE3MjI4Ojo2MTE3MjM1Ojo2MTE3MjM5Ojo2MTE3MjQxOjo2MTE3MjQ0Ojo2MTE3MjQ0Ojo2MTE3MjQ0Ojo2MTE3MjQ0Ojo2MTE3MjQ0Ojo2MTE3MjQ3Ojo2MTE3MjQ4Ojo2MTE3MjUyOjo2MTE3MjU5Ojo2MTE3MjY2Ojo2MTE3MjczOjo2MTE3MjgwOjo2MTE3Mjg3Ojo2MTE3MjkzOjo2MTE3Mjk3Ojo2MTE3MzAzOjo2MTE3MzA0Ojo2MTE3MzA1Ojo2MTE3MzA5Ojo2MTE3MzE2Ojo2MTE3MzIzOjo2MTE3MzMwOjo2MTE3MzM2Ojo2MTE3MzQwOjo2MTE4MDk1Ojo2MTE4OTM2Ojo2MTE5Mjk5Ojo2MTE5MzAwOjo2MTIwMTE3Ojo2MTIwNDE5Ojo2MTIwODY3Ojo2MTIxNjkyOjo2MTIzMzA4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYTlhMTAnLCB2PSc2MTIzOTM4Ojo2MTI0MTA2Ojo2MTI0NzY1Ojo2MTI1NjkxOjo2MTI1Nzg0Ojo2MTI1Nzg1Ojo2MTI2MTI5Ojo2MTI2MTI5Ojo2MTI2MTI5Ojo6OjYxMjYxMjk6OjYxMjYxMjk6OjYxMjYxNjQ6OjYxMjYxNzM6OjYxMjYxNzM6OjYxMjYzNTg6OjYxMjY1MzE6OjYxMjY1NzY6OjYxMjY4NDA6OjYxMjc2MTI6OjYxMjg0NTU6OjYxMjg0NTU6OjYxMjg3NTc6OjYxMjk4ODA6OjYxMjk5ODE6OjYxMjk5ODM6OjYxMzAxMzM6OjYxMzA0NzM6OjYxMzA0ODU6OjYxMzA0ODU6OjYxMzA0ODU6OjYxMzA0ODU6OjYxMzA0OTM6OjYxMzA0OTM6OjYxMzA0OTM6OjYxMzA0OTM6OjYxMzA0OTM6OjYxMzA0OTM6OjYxMzA0OTM6OjYxMzA1NjE6OjYxMzA2NDk6OjYxMzA2NDk6OjYxMzA2NDk6OjYxMzA2NDk6OjYxMzA2NDk6OjYxMzA2NDk6OjYxMzA3OTI6OjYxMzIwMTY6OjYxMzMxNzUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkNGIyMCcsIHY9JzYxMzQzMDY6OjYxMzQ3MTc6OjYxMzUwOTM6OjYxMzUwOTM6OjYxMzU0MDI6OjYxMzU5MjI6OjYxMzU5MjI6OjYxMzU5MjI6OjYxMzU5MjI6OjYxMzU5MjI6OjYxMzU5MjI6OjYxMzU5MjI6OjYxMzU5MjI6OjYxMzU5MjI6OjYxMzU5MjI6OjYxMzU5Mjk6OjYxMzYwNDE6OjYxMzY2MTc6OjYxMzcyNTY6OjYxMzc1MTI6OjYxMzc3OTc6OjYxMzgwODk6OjYxMzg0MzE6OjYxMzkwNTM6OjYxMzkwNTM6OjYxMzkwNTM6OjYxMzkwNTM6OjYxMzkwNTM6OjYxMzkxNDc6OjYxMzkyNTE6OjYxMzkyNTE6OjYxMzkyNTE6OjYxMzkyNTE6OjYxMzkyNTE6OjYxMzkyNTE6OjYxMzkzMDI6OjYxMzkzMDI6OjYxMzkzMDI6OjYxMzkzMDI6OjYxMzkzMDI6OjYxMzkzMDI6OjYxMzkzMDI6OjYxMzkzMDI6OjYxMzkzMDI6OjYxMzkzMDI6OjYxMzk0NTY6OjYxNDA2NTU6OjYxNDE3ODInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmZWUyMCcsIHY9JzYxNDI2MDk6OjYxNDI4Mjg6OjYxNDMwMzI6OjYxNDMwMzI6OjYxNDMwMzI6OjYxNDMwMzI6OjYxNDMwMzI6OjYxNDMwMzI6OjYxNDMwMzY6OjYxNDMwMzY6OjYxNDMwMzY6OjYxNDMwMzY6OjYxNDMwMzY6OjYxNDMwMzY6OjYxNDMwMzY6OjYxNDMwMzY6OjYxNDMwMzY6OjYxNDMwMzY6OjYxNDMwMzY6OjYxNDMwMzk6OjYxNDMwNTY6OjYxNDMwNTY6OjYxNDMzODI6OjYxNDM1NDU6OjYxNDM1NDU6OjYxNDM1NDU6OjYxNDM1NDU6OjYxNDM1NDU6OjYxNDM1NDU6OjYxNDM1NDU6OjYxNDM1NDU6OjYxNDM1ODc6OjYxNDM3MTM6OjYxNDQxMzU6OjYxNDQ3ODM6OjYxNDQ4MTY6OjYxNDQ4MTY6OjYxNDQ4MTY6OjE0NDgxOC4yOjoxNDQ4MTguMjo6MTQ0ODE4LjI6OjE0NDgxOC4yOjoxNDQ4MTguMjo6MTQ0ODE4LjI0Mzo6MTQ0ODE4LjQ3NDo6MTQ0ODE4LjQ4OjoxNDQ4MTguNzc1OjoxNDQ4MTkuOTU1JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMTI5MTIwJywgdj0nMTQ0ODIxLjI2MTo6MTQ0ODIyLjY0NDo6MTQ0ODI0LjA1Mzo6MTQ0ODI0LjU4NDo6MTQ0ODI0LjU4Nzo6MTQ0ODI0LjU4Nzo6MTQ0ODI0LjU4Nzo6MTQ0ODI0LjYyOjoxNDQ4MjQuNzQ0OjoxNDQ4MjQuNzQ2OjoxNDQ4MjQuNzQ2OjoxNDQ4MjQuNzQ2OjoxNDQ4MjQuNzQ2OjoxNDQ4MjQuNzQ2OjoxNDQ4MjQuNzQ2OjoxNDQ4MjQuNzQ2OjoxNDQ4MjQuNzQ2OjoxNDQ4MjQuNzQ2OjoxNDQ4MjQuNzQ2OjoxNDQ4MjQuNzQ2OjoxNDQ4MjQuNzQ2OjoxNDQ4MjQuNzQ2OjoxNDQ4MjQuNzU1OjoxNDQ4MjQuNzU1OjoxNDQ4MjQuNzU1OjoxNDQ4MjQuNzU1OjoxNDQ4MjQuNzU1OjoxNDQ4MjQuNzU1OjoxNDQ4MjQuNzU1OjoxNDQ4MjQuNzU2OjoxNDQ4MjQuNzU2OjoxNDQ4MjQuNzU2OjoxNDQ4MjQuNzU2OjoxNDQ4MjQuNzU3OjoxNDQ4MjQuNzc6OjE0NDgyNC43ODg6OjE0NDgyNC43OTY6OjE0NDgyNC44MDI6OjE0NDgyNC44MDU6OjE0NDgyNC44MDY6OjE0NDgyNC44MDY6OjE0NDgyNC44MDY6OjE0NDgyNC44MDY6OjE0NDgyNC44MDY6OjE0NDgyNC44MDY6OjE0NDgyNC44MDk6OjE0NDgyNC44MjM6OjE0NDgyNC44MjgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNTM0MjAnLCB2PScxNDQ4MjQuODI4OjoxNDQ4MjQuODI4OjoxNDQ4MjQuODI5OjoxNDQ4MjQuODI5OjoxNDQ4MjQuODI5OjoxNDQ4MjQuODI5OjoxNDQ4MjQuODI5OjoxNDQ4MjQuODI5OjoxNDQ4MjQuODI5OjoxNDQ4MjQuODI5OjoxNDQ4MjQuODI5OjoxNDQ4MjQuODI5OjoxNDQ4MjQuODI5OjoxNDQ4MjQuODI5OjoxNDQ4MjQuODI5OjoxNDQ4MjQuODM0OjoxNDQ4MjQuODM0OjoxNDQ4MjQuODM0OjoxNDQ4MjQuODM0OjoxNDQ4MjQuODM1OjoxNDQ4MjQuODM1OjoxNDQ4MjQuODQ6OjE0NDgyNC44NDU6OjE0NDgyNC44NDk6OjE0NDgyNC44NjU6OjE0NDgyNC44NzY6OjE0NDgyNC44ODg6OjE0NDgyNC44ODk6OjE0NDgyNC44ODk6OjE0NDgyNC44ODk6OjE0NDgyNC44ODk6OjE0NDgyNC44ODk6OjE0NDgyNC44ODk6OjE0NDgyNC44ODk6OjE0NDgyNC44OTI6OjE0NDgyNC44OTY6OjE0NDgyNC44OTc6OjE0NDgyNC45OjoxNDQ4MjQuOTo6MTQ0ODI0Ljk6OjYxNDQ4MjQ6OjYxNDQ4MjQ6OjYxNDQ4MjQ6OjYxNDQ4MjQ6OjYxNDUwMDA6OjYxNDY3MDI6OjYxNDg5OTU6OjYxNTEyOTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxN2Q3MjAnLCB2PSc2MTU0MDExOjo2MTU2ODg1Ojo2MTU5ODIxOjo2MTYxNzgxOjo2MTYyNDI0Ojo2MTYzNTY1Ojo2MTY1Mjc4Ojo2MTY2ODY4Ojo2MTY3NzU1Ojo2MTY4NjcxOjo2MTcxMzEyOjo2MTc0MzE1Ojo2MTc3MDE0Ojo2MTc5NjA5Ojo2MTgxNTY4Ojo6OjYxODIwNzY6OjYxODI1Njc6OjYxODM4NjM6OjYxODUxMjI6OjYxODY2Njg6OjYxODg5MDY6OjYxOTAwMzc6OjYxOTEwMTY6OjYxOTI1Nzc6OjYxOTQyNzQ6OjYxOTYwMjk6OjYxOTY4MTA6OjYxOTY4NTU6OjYxOTY5NTI6OjYxOTc2ODE6OjYxOTg1NDg6OjYxOTg2NTc6Ojo6NjE5OTM5Mjo6NjIwMDM3Mjo6NjIwMDg5NTo6NjIwMTIyODo6NjIwMTQyNTo6NjIwMTQyNTo6NjIwMjg1Njo6NjIwNTU4NTo6NjIwOTA0ODo6NjIxMTExNTo6NjIxMjY0ODo6NjIxNTcyMDo6NjIxOTA5MDo6NjIyMTc3Mzo6NjIyNDg0ODo6NjIyODE4NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhOTY0MCcsIHY9JzYyMzE1MzA6OjYyMzM5MDE6OjYyMzU1MTc6OjYyMzcyNjQ6OjYyMzk1NTQ6OjYyNDE5NDM6OjYyNDQwNDk6OjYyNDYwMDM6OjYyNDgyOTE6OjYyNTA4ODAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYzc0NjAnLCB2PSc2MjY5MzkzOjo2MjY5NDYwOjo2MjY5NTYxOjo2MjY5NTYxOjo2MjcwMTkzOjo2MjcxMTkzOjo2MjcxNzY2Ojo2MjcxNzY2Ojo2MjcxNzY2Ojo2MjcyMDAzOjo2MjczNDE0Ojo2MjczODAyOjo2Mjc0MTkwOjo2Mjc1MDcwOjo2Mjc1Nzg4Ojo2Mjc1ODA1Ojo2Mjc1ODA1Ojo2Mjc1ODQ0Ojo2Mjc2NzQ3Ojo2Mjc3MDkzOjo2Mjc3MTg0Ojo2Mjc3MjY3Ojo2Mjc3NzEwOjo2Mjc4MzQ2Ojo2Mjc5MjYyOjo2MjgwMDQxOjo2MjgxMjY4Ojo2MjgyOTA4Ojo2Mjg0NzQ0Ojo2Mjg2NzkyOjo2Mjg5MDM2Ojo2MjkxMzYyOjo2MjkzNTg2Ojo2Mjk1ODg0Ojo2Mjk4MTM2Ojo2MzAwMTE1Ojo2MzAyMzE2Ojo2MzAyOTU0Ojo2MzAzNDM5Ojo2MzAzNzQ5Ojo2MzAzOTM4Ojo2MzA0MjEyOjo2MzA0OTI0Ojo2MzA1MzA5Ojo2MzA1NjI2Ojo2MzA1ODA0Ojo2MzA2MDA0Ojo2MzA2MzIxJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWYxNzYwJywgdj0nNjMwNjQwNzo6NjMwNjQwNzo6NjMwNjQwNzo6NjMwNjQwNzo6NjMwNjQwNzo6NjMwNjQxNzo6NjMwNjU2Mjo6NjMwNjkwNDo6NjMwNzM5OTo6NjMwOTUxNzo6NjMxMTY0Mzo6NjMxMjYxMTo6NjMxMzg3NTo6NjMxNDg2ODo6NjMxNTIyODo6NjMxNTM1Mjo6NjMxNTM4NTo6NjMxNTgzNTo6NjMxNjAxNjo6NjMxNjAyMzo6NjMxNjAyMzo6NjMxNjAyMzo6NjMxNjAyMzo6NjMxNjAyMzo6NjMxNjAyMzo6NjMxNjExMzo6NjMxNjQ2MDo6NjMxNjc1NTo6NjMxNzE3Nzo6NjMxODAzNjo6NjMxODM4Mzo6NjMxOTAzODo6NjMxOTAzODo6NjMxOTYzMjo6NjMyMDYyMDo6NjMyMjA5OTo6NjMyMzAyNzo6NjMyMzUyODo6NjMyMzk2Mjo6NjMyMzk2Nzo6NjMyMzk2Nzo6NjMyNDE0Mzo6NjMyNTE0MTo6NjMyNTMyMjo6NjMyNTcyNDo6NjMyNjAyMDo6NjMyNzEzMjo6NjMyNzEzMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzIxYmE2MCcsIHY9JzYzMjcxMzI6OjYzMjcxMzI6OjYzMjgxNzQ6OjYzMjg2Njc6OjYzMjg2Njc6OjYzMjg3MDU6OjYzMjk0MDI6OjYzMzAwNTg6OjYzMzAwNTg6OjYzMzA2NTU6OjYzMzE3NzQ6OjYzMzIwMzM6OjYzMzIwMzM6OjYzMzIwMzM6OjYzMzIwMzM6OjYzMzIwMzM6OjYzMzIwNzg6OjYzMzIzMTY6OjYzMzI4NzI6OjYzMzI4OTc6OjYzMzI4OTc6OjYzMzI4OTc6OjYzMzI4OTc6OjYzMzMxNzM6OjYzMzMyMDQ6OjYzMzM4Mjc6OjYzMzQ0MTM6OjYzMzQ0MTM6OjYzMzQ0MTM6OjYzMzQ0MTM6OjYzMzQ0MTM6OjYzMzQ1NTQ6OjYzMzQ1NTQ6OjYzMzQ1NTQ6OjYzMzQ3NjU6OjYzMzQ5Nzc6OjYzMzU0ODE6OjYzMzU3NTk6OjYzMzU3NTk6OjYzMzU3NTk6OjYzMzU3NTk6OjYzMzU4MjQ6OjYzMzU4MjY6OjYzMzU4MjY6OjYzMzU4MjY6OjYzMzU4MjY6OjYzMzU4ODk6OjYzMzY0MDcnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNDZiNzAnLCB2PSc2MzM4MDQ3Ojo2MzM4NzE5Ojo2MzM4NzI5Ojo2MzM4NzI5Ojo2MzM4NzI5Ojo2MzM5MDY1Ojo2MzQwMzU0Ojo2MzQxNzY2Ojo2MzQyNzIzOjo2MzQzNDMyOjo2MzQzOTI0Ojo2MzQ1MDAyOjo2MzQ2MTE1Ojo2MzQ3MDE4Ojo2MzQ3MDQ4Ojo2MzQ3MDUwOjo2MzQ3MDkxOjo2MzQ3MDkxOjo2MzQ3MDkxOjo2MzQ3MDkxOjo2MzQ3NDA2Ojo2MzUwMjAwOjo2MzUyMDc3Ojo2MzUyMTUwOjo2MzUyMTUwOjo2MzUyMTUwOjo2MzUyMTUwOjo2MzUyMTUwOjo2MzUyMTUwOjo2MzUyMTUwOjo2MzUyMzMxOjo2MzUyMzMxOjo2MzUyNjM4Ojo2MzUzMTkzOjo2MzUzNjk1Ojo2MzU1MDE5Ojo2MzU2OTE1Ojo2MzU4OTUyOjo2MzYwNDMwOjo2MzYxMzUyOjo2MzYxNDIwOjo2MzYxNDIwOjo2MzYxNDIwOjo2MzYxNDIwOjo2MzYxNDIwOjo2MzYxNDIwOjo2MzYxNDIwOjo2MzYxNDIwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjcwZTcwJywgdj0nNjM2MTQyMDo6NjM2MTQzNDo6NjM2MTY5ODo6NjM2MjE3NDo6NjM2MjY2MDo6NjM2MzUwMjo6NjM2Mzg2MDo6NjM2Mzg2MDo6NjM2MzkzMycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQksIDUpCitTQVguZW5kRWxlbWVudChwYXIpCitTQVguY2hhcmFjdGVycygKKwkJCQksIDUpCitTQVguc3RhcnRFbGVtZW50KHBhciwgbWVtaW5kPSczMzgwMScsIGg9JzNkYzFhN2UwJykKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMCcsIHY9Jzg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyYTMwMCcsIHY9Jzg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzU1NDEwJywgdj0nODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzdmNzEwJywgdj0nODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTgwMTAyOjo4ODE4MTE3Njo6ODgxODE4NTk6Ojg4MTgxODYxOjo4ODE4MTg5NDo6ODgxODE4OTY6Ojg4MTgxODk2Ojo4ODE4MTg5NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2E5YTEwJywgdj0nODgxODIxNjk6Ojg4MTgyMjAwOjo4ODE4MjIwMDo6ODgxODIyMDA6Ojg4MTgyMjg4Ojo4ODE4MzM2Mzo6ODgxODM4NTc6Ojg4MTg0NjMxOjo4ODE4NjQwNzo6Ojo4ODE5NDAxMDo6ODgxOTgyMzM6Ojg4MjAwMTQ4Ojo4ODIwMDM0ODo6ODgyMDA5NDc6Ojg4MjAyNjIwOjo4ODIwMzAxMTo6ODgyMDM1MDc6Ojg4MjAzNTEyOjo4ODIwMzUxMjo6ODgyMDM1NDM6Ojg4MjA0MzU2Ojo4ODIwNDQwMTo6ODgyMDQ0MDE6Ojg4MjA1ODMwOjo4ODIwNjE4ODo6ODgyMDYyMjI6Ojg4MjA2MjIyOjo4ODIwNjUwMjo6ODgyMDc1MTc6Ojg4MjA5MDA4Ojo4ODIxMDEwMjo6ODgyMTA2NjY6Ojg4MjExNjM1Ojo4ODIxMjcyNDo6ODgyMTM2MDQ6Ojg4MjE0MTA4Ojo4ODIxNDUxMjo6ODgyMTQ5Njk6Ojg4MjE2MjI5Ojo4ODIxNjc1OTo6ODgyMTkyMjE6Ojg4MjIxODE4Ojo4ODIyNDU4OTo6ODgyMjcwMzE6Ojg4MjI4ODcwOjo4ODIyOTU2Mzo6ODgyMjk1NjM6Ojg4MjI5NTgwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZDRiMjAnLCB2PSc4ODIyOTU4MDo6ODgyMjk1ODA6Ojg4MjI5NTgyOjo4ODIzMDMyNTo6ODgyMzE4ODE6Ojg4MjMxOTEwOjo4ODIzMjU5NTo6ODgyMzQ1NzQ6Ojg4MjM3MjQ1Ojo4ODI0MDI4Mzo6ODgyNDMwNTY6Ojg4MjQzNjQzOjo4ODI0NDEwNTo6ODgyNDQzNTI6Ojg4MjQ0NTkzOjo4ODI0NTExNTo6ODgyNDU3NDY6Ojg4MjQ1NzQ2Ojo4ODI0NTg5MTo6ODgyNDU5MTU6Ojg4MjQ1OTU5Ojo4ODI0NTk4ODo6ODgyNDU5ODk6Ojg4MjQ3MjQ0Ojo4ODI0ODUxMDo6ODgyNDkyOTM6Ojg4MjUwMjAzOjo4ODI1MjE3ODo6ODgyNTQ1MzE6Ojg4MjU0ODc0Ojo4ODI1NTcwNDo6ODgyNTY4OTg6Ojg4MjU4NDM4Ojo4ODI1OTU5NTo6ODgyNjAzOTg6Ojg4MjYwOTE5Ojo4ODI2Mjg0NTo6ODgyNjQzMTQ6Ojg4MjY2MDA2Ojo4ODI2ODI5Nzo6ODgyNjk5NDI6Ojg4MjcxNTAyOjo4ODI3MjY5MDo6ODgyNzM4NDk6Ojg4Mjc1NTAzOjo4ODI3NjAwMzo6ODgyNzYwMDM6Ojg4Mjc2MDAzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nZmVlMjAnLCB2PSc4ODI3NjAxNzo6ODgyNzYwMTc6Ojg4Mjc2MDE5Ojo4ODI3Njg1MTo6ODgyNzg1MTU6Ojg4MjgwMTE4Ojo4ODI4MTU2MDo6ODgyODMwNzQ6Ojg4MjgzOTcxOjo4ODI4NTQyODo6ODgyODY4MTU6Ojg4Mjg3NzI2Ojo4ODI4ODgzMzo6ODgyODk5NTM6Ojg4MjkxMDM3Ojo4ODI5MzA5OTo6ODgyOTU0Mjc6Ojg4Mjk2Njc0Ojo4ODI5NzEzMzo6ODgyOTc4MzI6Ojg4Mjk4NjEyOjo4ODI5OTQ0Nzo6ODgyOTk1MTc6Ojg4MzAwNTQxOjo4ODMwMTAyNTo6ODgzMDEzMDQ6Ojg4MzAxNTAzOjo4ODMwMjQ2ODo6ODgzMDQ0MTc6Ojg4MzA2MTA2Ojo4ODMwNzU3MTo6ODgzMDgzNjg6Ojg4MzA4NDQ4Ojo4ODMwODQ0ODo6ODgzMDg0NDg6Ojg4MzA5MDIxOjo4ODMwOTg5OTo6ODgzMTA3MTk6OjExMTE4OC4wMTY6OjExMTE4OS4zOjoxMTExOTAuMDg4OjoxMTExOTEuODIzOjoxMTExOTIuOTE6OjExMTE5My4yMDI6OjExMTE5My40NzM6OjExMTE5My45MzE6OjExMTE5My45NDg6OjExMTE5My45NDgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMjkxMjAnLCB2PScxMTExOTMuOTQ4OjoxMTExOTMuOTQ4OjoxMTExOTMuOTQ4OjoxMTExOTMuOTQ4OjoxMTExOTQuNTg6OjExMTE5NS41MTk6OjExMTE5Ni43MzU6OjExMTE5OC4zMzg6OjExMTE5OS4zMDI6OjExMTIwMC42MjU6OjExMTIwMS43NzU6OjExMTIwMi40MjI6OjExMTIwMy4wMDg6OjExMTIwMy4wMjo6MTExMjAzLjAzMjo6MTExMjAzLjA2Mjo6MTExMjAzLjA5ODo6MTExMjAzLjEzNTo6MTExMjAzLjE3MTo6MTExMjAzLjIwMzo6MTExMjAzLjIxMjo6MTExMjAzLjIxNjo6MTExMjAzLjIyMTo6MTExMjAzLjI3Njo6MTExMjAzLjI5OTo6MTExMjAzLjMxNjo6MTExMjAzLjMzNTo6MTExMjAzLjM3MTo6MTExMjAzLjQyMjo6MTExMjAzLjQ1Mjo6MTExMjAzLjQ1Nzo6MTExMjAzLjQ2NDo6MTExMjAzLjQ2ODo6MTExMjAzLjQ2ODo6MTExMjAzLjQ2ODo6MTExMjAzLjQ2ODo6MTExMjAzLjQ2ODo6MTExMjAzLjQ2ODo6MTExMjAzLjQ2OTo6MTExMjAzLjU6OjExMTIwMy41MzI6OjExMTIwMy41NzE6OjExMTIwMy42MDY6OjExMTIwMy42MzI6OjExMTIwMy42Mzk6OjExMTIwMy42Mzk6OjExMTIwMy42Mzk6OjExMTIwMy42NjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxNTM0MjAnLCB2PScxMTEyMDMuNjcxOjoxMTEyMDMuNjcxOjoxMTEyMDMuNjcyOjoxMTEyMDMuNjg0OjoxMTEyMDMuNzE1OjoxMTEyMDMuNzM5OjoxMTEyMDMuNzYxOjoxMTEyMDMuODAxOjoxMTEyMDMuODM3OjoxMTEyMDMuODY3OjoxMTEyMDMuODkxOjoxMTEyMDMuODk3OjoxMTEyMDMuOTA0OjoxMTEyMDMuOTE1OjoxMTEyMDMuOTM1OjoxMTEyMDMuOTU1OjoxMTEyMDMuOTYyOjoxMTEyMDMuOTY5OjoxMTEyMDMuOTcyOjoxMTEyMDMuOTg4OjoxMTEyMDMuOTk3OjoxMTEyMDMuOTk3OjoxMTEyMDQ6OjExMTIwNC4wMDE6OjExMTIwNC4wMDE6OjExMTIwNC4wMDE6OjExMTIwNC4wMDE6OjExMTIwNC4wMDE6OjExMTIwNC4wMTY6OjExMTIwNC4wNTI6OjExMTIwNC4wNjM6OjExMTIwNC4wNzo6MTExMjA0LjA4MTo6MTExMjA0LjA5Mzo6MTExMjA0LjA5Nzo6MTExMjA0LjA5Nzo6MTExMjA0LjA5OTo6MTExMjA0LjExOjoxMTEyMDQuMTI4OjoxMTEyMDQuMTY0Ojo4ODMxMjYyODo6ODgzMTQ3Njc6Ojg4MzE2MjkwOjo4ODMxNzI4NDo6ODgzMTc2OTQ6Ojg4MzE3Njk0Ojo4ODMxNzY5NDo6ODgzMTc2OTQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxN2Q3MjAnLCB2PSc4ODMxNzY5NDo6ODgzMTc2OTQ6Ojg4MzE3Njk0Ojo4ODMxNzY5NDo6ODgzMTc2OTg6Ojg4MzE3NzAwOjo4ODMxNzcxMzo6ODgzMTc3MTM6Ojg4MzE3NzEzOjo4ODMxNzcxMzo6ODgzMTc3Nzg6Ojg4MzE3Nzc4Ojo4ODMxNzc3ODo6ODgzMTc3Nzg6Ojg4MzE3Nzc4Ojo6Ojg4MzIwNTExOjo4ODMyMDkxNzo6ODgzMjA5MTc6Ojg4MzIwOTE3Ojo4ODMyMDkxNzo6ODgzMjA5MTc6Ojg4MzIwOTE3Ojo4ODMyMDkxNzo6ODgzMjA5MTc6Ojg4MzIwOTE3Ojo4ODMyMDkxNzo6ODgzMjA5MTc6Ojg4MzIxNDIwOjo4ODMyMzA0Mjo6ODgzMjMwNDI6Ojg4MzIzMDUzOjo4ODMyMzEwNTo6Ojo4ODMyMzEzNzo6ODgzMjMxMzc6Ojg4MzIzMTM3Ojo4ODMyMzEzNzo6ODgzMjMxNDg6Ojg4MzIzNzc1Ojo4ODMyMzc4NTo6ODgzMjM3ODU6Ojg4MzIzNzg1Ojo4ODMyMzc4NTo6ODgzMjM3ODU6Ojg4MzIzNzg1Ojo4ODMyMzc4NTo6ODgzMjM3ODU6Ojg4MzIzNzg1Ojo4ODMyMzc4NScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFhOTY0MCcsIHY9Jzg4MzIzNzg1Ojo4ODMyMzc4NTo6ODgzMjM3ODU6Ojg4MzIzNzg1Ojo4ODMyMzc5MDo6ODgzMjM3OTA6Ojg4MzIzNzkwOjo4ODMyMzc5MDo6ODgzMjM3OTA6Ojg4MzIzNzkwJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMWM3NDYwJywgdj0nODgzNDIxMzA6Ojg4MzQyMjA5Ojo4ODM0MjUyOTo6ODgzNDQ0NTg6Ojg4MzQ0NDg1Ojo4ODM0NDQ4NTo6ODgzNDU5MDU6Ojg4MzQ4Mzc5Ojo4ODM1MDQ5NDo6ODgzNTA4MTM6Ojg4MzUwODEzOjo4ODM1MTA1Njo6ODgzNTEwNTY6Ojg4MzUxMDU2Ojo4ODM1MTA1Njo6ODgzNTEyODc6Ojg4MzUyNDI4Ojo4ODM1MzU5ODo6ODgzNTM1OTg6Ojg4MzUzNjAxOjo4ODM1Mzg1OTo6ODgzNTM4NjI6Ojg4MzUzODYyOjo4ODM1Mzg2Mzo6ODgzNTM4NjM6Ojg4MzUzODYzOjo4ODM1Mzg2Mzo6ODgzNTM4NjM6Ojg4MzUzODYzOjo4ODM1Mzg2Mzo6ODgzNTM4NjM6Ojg4MzUzODYzOjo4ODM1Mzg2Mzo6ODgzNTM4NjM6Ojg4MzUzODYzOjo4ODM1Mzg2Mzo6ODgzNTM4NjM6Ojg4MzUzOTY1Ojo4ODM1Mzk2NTo6ODgzNTM5NjU6Ojg4MzU0MDE4Ojo4ODM1NDAxODo6ODgzNTQwMTg6Ojg4MzU0MDE4Ojo4ODM1NDAxODo6ODgzNTQwMjE6Ojg4MzU0MDIxOjo4ODM1NDAyMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFmMTc2MCcsIHY9Jzg4MzU0MTY2Ojo4ODM1NDU1Mjo6ODgzNTUxMzA6Ojg4MzU3MTU0Ojo4ODM1OTIyNjo6ODgzNTk4Mjg6Ojg4MzU5ODI4Ojo4ODM2MDA2ODo6ODgzNjAxMjY6Ojg4MzYwMTI2Ojo4ODM2MDEyNjo6ODgzNjAxOTQ6Ojg4MzYwMjA1Ojo4ODM2MDIwNTo6ODgzNjAyMDU6Ojg4MzYwMjIzOjo4ODM2MDQwNjo6ODgzNjEzODU6Ojg4MzYyMjk3Ojo4ODM2MzUxMTo6ODgzNjU3NTc6Ojg4MzY3ODIxOjo4ODM2OTI3Mzo6ODgzNjk5Mjk6Ojg4MzcxNTM4Ojo4ODM3MzMyMjo6ODgzNzM4OTk6Ojg4Mzc0NjI5Ojo4ODM3NDYzMTo6ODgzNzQ2NTU6Ojg4Mzc0NjU3Ojo4ODM3NDgyMjo6ODgzNzU0NjY6Ojg4Mzc1NDcxOjo4ODM3NTQ3MTo6ODgzNzU0NzE6Ojg4Mzc1NTk5Ojo4ODM3NTU5OTo6ODgzNzU1OTk6Ojg4Mzc2MTAyOjo4ODM3NzQzMjo6ODgzNzgzMDY6Ojg4Mzc4MzE5Ojo4ODM3ODQ2Nzo6ODgzNzg5MTc6Ojg4Mzc4OTE3Ojo4ODM3ODkxODo6ODgzNzk0ODInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyMWJhNjAnLCB2PSc4ODM4MDc3Nzo6ODgzODIyNzU6Ojg4MzgyNjYxOjo4ODM4Mjc3Nzo6ODgzODMyNTA6Ojg4MzgzNTkyOjo4ODM4MzU5Mjo6ODgzODM3MTE6Ojg4Mzg1MjAzOjo4ODM4NTI1Nzo6ODgzODUyNTc6Ojg4Mzg4NDU5Ojo4ODM5MDM5NDo6ODgzOTA4NTA6Ojg4MzkxNTYxOjo4ODM5MzgzNDo6ODgzOTc1Nzk6Ojg4Mzk3ODE5Ojo4ODM5NzgxOTo6ODgzOTkyMTg6Ojg4NDAxNzkyOjo4ODQwNTM4Njo6ODg0MDgxMDA6Ojg4NDA4MTIyOjo4ODQwODM2NTo6ODg0MDg1MDU6Ojg4NDA4NTA1Ojo4ODQxMDI0Njo6ODg0MTE2NjA6Ojg4NDEyODQ5Ojo4ODQxMzMzMzo6ODg0MTQ1MjE6Ojg4NDE2Njk2Ojo4ODQxNzU4Mzo6ODg0MTc2ODM6Ojg4NDE3ODU0Ojo4ODQxNzg1NDo6ODg0MTc4ODM6Ojg4NDE4MDI3Ojo4ODQxOTE1OTo6ODg0MjAxMDg6Ojg4NDIxMDcxOjo4ODQyMTgyODo6ODg0MjM1NTk6Ojg4NDI2ODk0Ojo4ODQyOTk3NTo6ODg0MzI4Mjg6Ojg4NDMyODI4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjQ2YjcwJywgdj0nODg0MzI4Mjg6Ojg4NDMyODI4Ojo4ODQzNDk1MTo6ODg0Mzk1NDg6Ojg4NDQwOTE2Ojo4ODQ0MTAzMDo6ODg0NDEwMzA6Ojg4NDQxMDMwOjo4ODQ0MTAzMDo6ODg0NDEwMzA6Ojg4NDQxMTE2Ojo4ODQ0MTExNjo6ODg0NDExMTY6Ojg4NDQxMTE2Ojo4ODQ0MTIxODo6ODg0NDE3Mzk6Ojg4NDQyMzYzOjo4ODQ0MzU0Mjo6ODg0NDUzNDQ6Ojg4NDQ4NjI0Ojo4ODQ1MTQ2NDo6ODg0NTE0NjQ6Ojg4NDUxNDczOjo4ODQ1MTY1Mjo6ODg0NTE4NDA6Ojg4NDUyMzIzOjo4ODQ1MzMzMjo6ODg0NTU4ODk6Ojg4NDU4NTA3Ojo4ODQ2MDU5NTo6ODg0NjA3NzI6Ojg4NDYyMDY1Ojo4ODQ2MjI2NDo6ODg0NjI2MDg6Ojg4NDYyNjIyOjo4ODQ2MjYyMjo6ODg0NjI2MjI6Ojg4NDYyNjIyOjo4ODQ2MjYyMjo6ODg0NjI2MjI6Ojg4NDYyODI2Ojo4ODQ2MzUzODo6ODg0NjQ2Njc6Ojg4NDY2MzEwOjo4ODQ2ODMwOTo6ODg0NzEzOTM6Ojg4NDc0MzA4Ojo4ODQ3NzI3NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI3MGU3MCcsIHY9Jzg4NDgwMzc4Ojo4ODQ4MTE1Nzo6ODg0ODE3NjY6Ojg4NDgxNzY2Ojo4ODQ4MTc2Njo6ODg0ODE3NjY6Ojg4NDgzMzQwOjo4ODQ4NTYyNjo6ODg0ODYxMTgnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJLCA1KQorU0FYLmVuZEVsZW1lbnQocGFyKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJLCA1KQorU0FYLnN0YXJ0RWxlbWVudChwYXIsIG1lbWluZD0nMzM0MDEnLCBoPSczZGMxYTdlMCcpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzAnLCB2PSc5NDM3Nzk1Ojo5NDQxOTcyOjo5NDQ2MTQ0Ojo5NDUwMjE3Ojo5NDU0MjYxOjo5NDU4MTg0Ojo5NDYyMzQ2Ojo5NDY3NDM0Ojo5NDczMTg2Ojo5NDgwMTI2Ojo5NDg3NDA0Ojo5NDk0Nzc5Ojo5NTAxOTE2Ojo5NTA4NjE1Ojo5NTEwNjIxOjo5NTEwNjI4Ojo5NTEwNjM1Ojo5NTEwNjQyOjo5NTEwNjQ5Ojo5NTEwNjU2Ojo5NTEwNjYzOjo5NTEwNjcxOjo5NTEwNjc4Ojo5NTEwNjg3Ojo5NTEwNjk1Ojo5NTEwNzAzOjo5NTEwNzEyOjo5NTEwNzIwOjo5NTEwNzI4Ojo5NTEwNzM2Ojo5NTEwNzQzOjo5NTEwNzUxOjo5NTEwNzYwOjo5NTEwNzY4Ojo5NTEwNzc2Ojo5NTEwNzg0Ojo5NTEwNzkyOjo5NTEwODAwOjo5NTEwODA5Ojo5NTEwODE3Ojo5NTEwODI2Ojo5NTEwODMzOjo5NTEwODQwOjo5NTEwODQ3Ojo5NTEwODU1Ojo5NTEwODYzOjo5NTEwODcxOjo5NTEwODc5JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMmEzMDAnLCB2PSc5NTEwODg4Ojo5NTEwODk2Ojo5NTEwOTA0Ojo5NTEwOTEyOjo5NTEwOTIwOjo5NTEwOTI4Ojo5NTEwOTM1Ojo5NTEwOTQ0Ojo5NTEwOTUyOjo5NTEwOTYwOjo5NTEwOTY4Ojo5NTEwOTc2Ojo5NTEwOTg0Ojo5NTEwOTkzOjo5NTExMDAxOjo5NTExMDA5Ojo5NTExMDE2Ojo5NTExMDIzOjo5NTExMDMwOjo5NTExMDM4Ojo5NTExMDQ1Ojo5NTExMDUzOjo5NTExMDYxOjo5NTExMDY5Ojo5NTExMDc4Ojo5NTExMDg2Ojo5NTExMDk1Ojo5NTExMTAzOjo5NTExMTEyOjo5NTExMTIxOjo5NTExMTI5Ojo5NTExMTM3Ojo5NTExMTQ0Ojo6Ojk1MTExNTg6Ojk1MTExNjU6Ojk1MTExNzE6Ojk1MTExNzg6Ojk1MTExODQ6Ojk1MTExOTA6Ojk1MTExOTc6Ojk1MTEyMDM6Ojk1MTEyMDk6Ojk1MTEyMTY6Ojk1MTEyMjM6Ojk1MTEyMzE6Ojk1MTEyMzk6Ojk1MTEyNDc6Ojk1MTEyNTUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc1NTQxMCcsIHY9Jzk1MTEyNjQ6Ojk1MTEyNzI6Ojk1MTEyODA6Ojk1MTEyODk6Ojk1MTEyOTc6Ojk1MTEzMDU6Ojk1MTEzMTM6Ojk1MTEzMjA6Ojk1MTEzMjc6Ojk1MTEzMzM6Ojk1MTEzNDA6Ojk1MTEzNDc6Ojk1MTEzNTQ6Ojk1MTEzNjE6Ojk1MTEzNjg6Ojk1MTEzNzU6Ojk1MTEzODI6Ojk1MTEzODk6Ojk1MTEzOTc6Ojk1MTE0MDQ6Ojk1MTE0MTI6Ojk1MTE0MTk6Ojk1MTE0Mjc6Ojk1MTE0MzU6Ojk1MTE0NDM6Ojk1MTE0NTE6Ojk1MTE0NjA6Ojk1MTE0Njg6Ojk1MTE0NzY6Ojk1MTE0ODQ6Ojk1MTE0OTI6Ojk1MTE1MDA6Ojk1MTE1MDY6Ojk1MTE1MTM6Ojk1MTE1MTk6Ojk1MTE1MjY6Ojk1MTE1MzM6Ojk1MTE1Mzk6Ojk1MTE1NDY6Ojk1MTE1NTM6Ojk1MTE1NTk6Ojk1MTE1NjU6Ojk1MTE1NzI6Ojk1MTE1ODA6Ojk1MTE1ODc6Ojk1MTE1OTU6Ojk1MTE2MDM6Ojk1MTE2MTEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSc3ZjcxMCcsIHY9Jzk1MTE2MTk6Ojk1MTE2Mjg6Ojk1MTE2Mzc6Ojk1MTE2NDY6Ojk1MTE2NTQ6Ojk1MTE2NjI6Ojk1MTE2NzA6Ojk1MTE2Nzc6Ojk1MTE2ODQ6Ojk1MTE2OTE6Ojk1MTE2OTg6Ojk1MTE3MDU6Ojk1MTE3MTM6Ojk1MTE3MjA6Ojk1MTE3Mjc6Ojk1MTE3MzQ6Ojk1MTE3NDA6Ojk1MTE3NDc6Ojk1MTE3NTQ6Ojk1MTE3NjE6Ojk1MTE3Njk6Ojk1MTE3Nzc6Ojk1MTE3ODU6Ojk1MTE3OTQ6Ojk1MTE4MDM6Ojk1MTE4MTE6Ojk1MTE4MjA6Ojk1MTE4Mjg6Ojk1MTE4MzY6Ojk1MTE4NDQ6Ojk1MTE4NTI6Ojk1MTE4NTk6Ojk1MTE4NjY6Ojk1MTE4NzM6Ojk1MTE4ODA6Ojk1MTE4ODg6Ojk1MTE4OTU6Ojk1MTE5MDI6Ojk1MTE5MDk6Ojk1MTQzOTA6Ojk1MTk3MDk6Ojk1MjIwODk6Ojk1MjIyMzQ6Ojk1MjIyMzQ6Ojk1MjIyMzQ6Ojk1MjIyMzU6Ojk1MjIyMzU6Ojk1MjIyMzUnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdhOWExMCcsIHY9Jzk1MjIyMzc6Ojk1MjIyNDA6Ojk1MjIyNDU6Ojk1MjIyNDU6Ojk1MjIyNDU6Ojk1MjIyNDU6Ojk1MjIzMDU6Ojk1MjI0MTc6Ojk1MjI0NzI6Ojo6OTUyMjU2NDo6OTUyMjY5ODo6OTUyMjk1Nzo6OTUyMzYzMDo6OTUyNDQ1MTo6OTUyNTI5Njo6OTUyNjgzMDo6OTUyODU3OTo6OTUzMDI3OTo6OTUzMjE4Mjo6OTUzMzc5OTo6OTUzNDU1Mjo6OTUzNTQwNDo6OTUzNjMxNzo6OTUzNjM2NDo6OTUzNjM2NDo6OTUzNjM2NDo6OTUzNjM2NDo6OTUzNjM2NDo6OTUzNjM2NDo6OTUzNjM2NTo6OTUzNjM2NTo6OTUzNjM2Njo6OTUzNjM3ODo6OTUzNjQwNTo6OTUzNjQ0NTo6OTUzNjQ1Mjo6OTUzNjQ1NDo6OTUzNjQ2MDo6OTUzNjUwMTo6OTUzNjg1NTo6OTUzNzA4Nzo6OTUzNzMxODo6OTUzNzQ3NDo6OTUzNzUyNTo6OTUzNzU0ODo6OTUzNzU4MTo6OTUzNzY3Nzo6OTUzNzY3OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2Q0YjIwJywgdj0nOTUzNzY3ODo6OTUzNzY3ODo6OTUzNzY3ODo6OTUzNzY3ODo6OTUzNzczNjo6OTUzODE0Mzo6OTUzODg5Mzo6OTU0MDU0Njo6OTU0Mjg3NTo6OTU0NTMyNDo6OTU0Nzg2OTo6OTU1MDc4ODo6OTU1MzU4Mjo6OTU1NjQ1Mzo6OTU1OTIzNzo6OTU2MjAyNTo6OTU2NTk1MTo6OTU2OTk0Nzo6OTU3MzY5Mjo6OTU3NzA0MDo6OTU4MDAzMjo6OTU4MjQ2Mjo6OTU4NDM0Nzo6OTU4NTU2Mjo6OTU4NjIyNjo6OTU4NjkyODo6OTU4NzU3OTo6OTU4ODA3Nzo6OTU4ODk3NDo6OTU5MTE5Mjo6OTU5Mzc3Mzo6OTU5NzU2MDo6OTYwMTgwODo6OTYwNjE2MDo6OTYxMDc1Njo6OTYxNTIyNjo6OTYxOTY5NDo6OTYyNDQwOTo6OTYyOTEyNDo6OTYzMzQ5Mzo6OTYzNzg0OTo6OTY0MTkyMjo6OTY0NTc3Njo6OTY0OTMxNjo6OTY1MjM3ODo6OTY1NTUwMjo6OTY1ODQ3OTo6OTY2MTAyMScpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89J2ZlZTIwJywgdj0nOTY2MzIzNzo6OTY2NTIyODo6OTY2NzE4Nzo6OTY2ODkyNTo6OTY3MDc3Njo6OTY3MzI5Nzo6OTY3NjUwMjo6OTY4MDY3Mzo6OTY4MzE5MTo6OTY4NzY5MDo6OTY5MjI3OTo6OTY5NjQ4MTo6OTcwMDY3OTo6OTcwNDg1NTo6OTcwOTE2MTo6OTcxMzU0Mjo6OTcxNzg2Nzo6OTcyMjE2Nzo6OTcyNjQ1MTo6OTczMDM2Mzo6OTczMzg1OTo6OTczNjc1NDo6OTczOTQ3NTo6OTc0MTQ0MDo6OTc0MzI2MDo6OTc0NTA2NDo6OTc0Njg4Mzo6OTc0ODUxNzo6OTc1MDIxMDo6OTc1MjYxOTo6OTc1NTczMDo6OTc1OTk0OTo6OTc2NDY4Njo6OTc2OTM3NDo6OTc3NDQ2NTo6OTc3ODc0MTo6OTc4MzAyMzo6OTc4NzEzNTo6ODk3NzUuMTIzOjo4OTc3OS4wNDo6ODk3ODMuMDM2Ojo4OTc4Ni42MzM6Ojg5NzkwLjA5MTo6ODk3OTMuMzY5Ojo4OTc5Ni4zMjQ6Ojg5Nzk4LjU4NTo6ODk4MDAuNjM1Ojo4OTgwMi42MjEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxMjkxMjAnLCB2PSc4OTgwNC4zODE6Ojg5ODA2LjA2Mzo6ODk4MDcuNzUyOjo4OTgwOS4yODQ6Ojg5ODEwLjg2Ojo4OTgxMy4wMTI6Ojg5ODE1LjYwNzo6ODk4MTguNzk6Ojg5ODIyLjE1NDo6ODk4MjQuNzE0Ojo4OTgyNy40MjU6Ojg5ODMwLjUwODo6ODk4MzIuNjczOjo4OTgzMi43MTo6ODk4MzIuNzI4Ojo4OTgzMi43NDU6Ojg5ODMyLjc2Nzo6ODk4MzIuNzg1Ojo4OTgzMi43OTg6Ojg5ODMyLjgwOTo6ODk4MzIuODE3Ojo4OTgzMi44Mjo6ODk4MzIuODI1Ojo4OTgzMi44MjU6Ojg5ODMyLjgyNTo6ODk4MzIuODI1Ojo4OTgzMi44MjU6Ojg5ODMyLjgyNTo6ODk4MzIuODI1Ojo4OTgzMi44MjU6Ojg5ODMyLjgyNTo6ODk4MzIuODI2Ojo4OTgzMi44MzE6Ojg5ODMyLjgzNDo6ODk4MzIuODM4Ojo4OTgzMi44NDo6ODk4MzIuODQ6Ojg5ODMyLjg0Ojo4OTgzMi44NDo6ODk4MzIuODQzOjo4OTgzMi44NDg6Ojg5ODMyLjg1MTo6ODk4MzIuODU0Ojo4OTgzMi44NTg6Ojg5ODMyLjg2MTo6ODk4MzIuODY0Ojo4OTgzMi44NjQ6Ojg5ODMyLjg2NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE1MzQyMCcsIHY9Jzg5ODMyLjg2NDo6ODk4MzIuODY0Ojo4OTgzMi44NjQ6Ojg5ODMyLjg2NDo6ODk4MzIuODY0Ojo4OTgzMi44NjQ6Ojg5ODMyLjg2NDo6ODk4MzIuODY0Ojo4OTgzMi44NjQ6Ojg5ODMyLjg2NDo6ODk4MzIuODY0Ojo4OTgzMi44NjQ6Ojg5ODMyLjg2NDo6ODk4MzIuODY0Ojo4OTgzMi44NjQ6Ojg5ODMyLjg2ODo6ODk4MzIuODc3Ojo4OTgzMi44ODc6Ojg5ODMyLjg5OTo6ODk4MzIuOTAzOjo4OTgzMi45MDQ6Ojg5ODMyLjkwNDo6ODk4MzIuOTA0Ojo4OTgzMi45MDQ6Ojg5ODMyLjkwNDo6ODk4MzIuOTA0Ojo4OTgzMi45MDQ6Ojg5ODMyLjkwNDo6ODk4MzIuOTA0Ojo4OTgzMi45MDQ6Ojg5ODMyLjkxNjo6ODk4MzIuOTc6Ojg5ODMzLjA5Ojo4OTgzMy4yMDQ6Ojg5ODMzLjMwOTo6ODk4MzMuMzk3Ojo4OTgzMy40OTI6Ojg5ODMzLjU5Ojo4OTgzMy42ODM6Ojg5ODMzLjc4ODo6OTc5NDQ4Mjo6OTgwMTIwMTo6OTgwODIxNzo6OTgxNTM3Mjo6OTgyMTkzMDo6OTgyODAyMjo6OTgzMzg2MTo6OTgzOTQ5MycpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzE3ZDcyMCcsIHY9Jzk4NDQ5OTY6Ojk4NTA0NDE6Ojk4NTU2ODE6Ojk4NjA3OTU6Ojk4NjYzMTE6Ojk4NzI4NzM6Ojk4ODAwMjc6Ojk4OTExOTM6Ojk5MDQzOTg6Ojk5MTc0NTQ6Ojk5Mjk5NzQ6Ojk5NDE3OTY6Ojk5NTM2OTg6Ojk5NjU2OTg6Ojk5Nzc3OTQ6Ojo6OTk5MzgzNDo6MTAwMDE3MDE6OjEwMDA5NjIxOjoxMDAxNjgwMzo6MTAwMjMxMjQ6OjEwMDI5MTIzOjoxMDAzNDE1MTo6MTAwMzg1MTM6OjEwMDQyNzg5OjoxMDA0Njk5Njo6MTAwNTExNzg6OjEwMDU1NDQzOjoxMDA2MDMzNjo6MTAwNjU2NjU6OjEwMDcxNzgwOjoxMDA3ODI5OTo6MTAwODQ0NDY6Ojo6MTAwOTcxMjM6OjEwMTAzMjkzOjoxMDEwOTY0MTo6MTAxMTYwMjM6OjEwMTIyNTYyOjoxMDEyNjc4NTo6MTAxMjk0MTQ6OjEwMTMyMjg4OjoxMDEzNTY0NTo6MTAxMzg0ODk6OjEwMTQwNDE2OjoxMDE0MjIzODo6MTAxNDMzNjg6OjEwMTQ0NDg3OjoxMDE0NTQ5NDo6MTAxNDY1MzInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxYTk2NDAnLCB2PScxMDE0NzM0MTo6MTAxNDc3OTM6OjEwMTQ4NDg2OjoxMDE1MDAzOTo6MTAxNTIwNTE6OjEwMTU0NjQzOjoxMDE1NzQwNjo6MTAxNjAxNzA6OjEwMTYyOTU1OjoxMDE2NTA1OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzFjNzQ2MCcsIHY9JzEwMjA4Nzg0OjoxMDIwODc4NDo6MTAyMDg3ODQ6OjEwMjA4Nzg0OjoxMDIwODc4NDo6MTAyMDg3ODQ6OjEwMjA4Nzg0OjoxMDIwODc4NDo6MTAyMDg3ODQ6OjEwMjA4Nzg0OjoxMDIwODc4NDo6MTAyMDg3ODQ6OjEwMjA4Nzg0OjoxMDIwODc4NDo6MTAyMDg3ODQ6OjEwMjA4Nzg0OjoxMDIwODc4NDo6MTAyMDg3ODQ6OjEwMjA4Nzg0OjoxMDIwODc4NDo6MTAyMTA4ODI6OjEwMjE0NDQ0OjoxMDIxODA5Mzo6MTAyMjE2MjM6OjEwMjI1MjIzOjoxMDIyODg1ODo6MTAyMzM2NDE6OjEwMjM5OTA2OjoxMDI0NjU5ODo6MTAyNTM0MjA6OjEwMjYwMjk1OjoxMDI2NzAxMDo6MTAyNzMzMDU6OjEwMjc5MjQ1OjoxMDI4NDY4Mjo6MTAyODk1OTQ6OjEwMjk0NDYxOjoxMDI5NzE1MDo6MTAyOTkwNjA6OjEwMzAwODc5OjoxMDMwMjc4MTo6MTAzMDUwNDE6OjEwMzA3NjAwOjoxMDMxMDI1Njo6MTAzMTMwMTc6OjEwMzE1NzMyOjoxMDMxODM1Nzo6MTAzMjA5NTInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScxZjE3NjAnLCB2PScxMDMyMzQ1Mzo6MTAzMjU4ODE6OjEwMzI4MzAxOjoxMDMzMDkwNjo6MTAzMzM5OTE6OjEwMzM3Mzc4OjoxMDM0MDkxMzo6MTAzNDQyNzA6OjEwMzQ3NDc0OjoxMDM1MDgzMTo6MTAzNTM4ODA6OjEwMzU2NDQzOjoxMDM1ODg5MDo6MTAzNjEyNTc6OjEwMzYzNDI3OjoxMDM2NTU0Mjo6MTAzNjc4NTA6OjEwMzcwNjAyOjoxMDM3MzcwMDo6MTAzNzc1NDg6OjEwMzgyMzM1OjoxMDM4Nzk1OTo6MTAzOTM2Nzk6OjEwMzk5MDI4OjoxMDQwNDQ2OTo6MTA0MTAzMjg6OjEwNDE2NTU0OjoxMDQyMjk2NDo6MTA0Mjk0NjQ6OjEwNDM1NTEwOjoxMDQ0MDg4Nzo6MTA0NDYwNzA6OjEwNDUwNTQ0OjoxMDQ1NDgzMzo6MTA0NTg3MzI6OjEwNDYyNDE5OjoxMDQ2NTcxNDo6MTA0Njg4NDI6OjEwNDcxODgyOjoxMDQ3NDc3Mjo6MTA0Nzc5MDE6OjEwNDgxODk3OjoxMDQ4Njk5Nzo6MTA0OTI5NzM6OjEwNDk5MjA3OjoxMDUwNTMyNDo6MTA1MTE1NTU6OjEwNTE3NjAyJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nMjFiYTYwJywgdj0nMTA1MjM1NDQ6OjEwNTI5MzYyOjoxMDUzNTc2MDo6MTA1NDE4OTQ6OjEwNTQ3NzYyOjoxMDU1MzQwNzo6MTA1NTg4OTA6OjEwNTY0MTE4OjoxMDU2ODQyNjo6MTA1NzIyOTQ6OjEwNTc1NzcxOjoxMDU3Nzc2Nzo6MTA1Nzk2NDc6OjEwNTgxNzIwOjoxMDU4MzcxNjo6MTA1ODU0NDQ6OjEwNTg3MzU0OjoxMDU5MDk2ODo6MTA1OTUxMjY6OjEwNTk5NzMxOjoxMDYwNDQ2MDo6MTA2MDkwMDA6OjEwNjEzNzUzOjoxMDYxODUxNjo6MTA2MjMyNDE6OjEwNjI4NDI4OjoxMDYzMzk5OTo6MTA2Mzk1Mzk6OjEwNjQ1MTI1OjoxMDY1MDQwNTo6MTA2NTU2NDM6OjEwNjYwNDcxOjoxMDY2NDczODo6MTA2Njg4NjI6OjEwNjcyNjc1OjoxMDY3NTk0Nzo6MTA2NzkxOTU6OjEwNjgyMzIyOjoxMDY4NTM0MDo6MTA2ODgyMDQ6OjEwNjkxNDYwOjoxMDY5NTQ0Mzo6MTA3MDAwMzc6OjEwNzA1NzAyOjoxMDcxMTg3Mzo6MTA3MTgzMDk6OjEwNzI0OTA3OjoxMDczMTM2NCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzI0NmI3MCcsIHY9JzEwNzQ0Mjk4OjoxMDc1MDU3Mzo6MTA3NTYzMzY6OjEwNzYxNTk0OjoxMDc2NzE4NDo6MTA3NzI5MDE6OjEwNzc4Njc5OjoxMDc4NDE5Mzo6MTA3ODkxNzM6OjEwNzkzMzkxOjoxMDc5Njg5NTo6MTA4MDA1Mzg6OjEwODA0MTUxOjoxMDgwNzczMjo6MTA4MTEyMTQ6OjEwODE0OTUyOjoxMDgxOTIzNjo6MTA4MjM3NzI6OjEwODI5MjEyOjoxMDgzNDkyMDo6MTA4NDE0MTg6OjEwODUwNzAxOjoxMDg1ODI4OTo6MTA4NjQzMTU6OjEwODcwNTg2OjoxMDg3NjUyNjo6MTA4ODI0OTY6OjEwODg4MjkxOjoxMDg5MzcxMzo6MTA4OTkwOTA6OjEwOTA0NDQ0OjoxMDkwOTExOTo6MTA5MTM3MDA6OjEwOTE3Njk5OjoxMDkyMTMxMDo6MTA5MjQ4MjY6OjEwOTI4NDc4OjoxMDkzMjEyMTo6MTA5MzU3MTU6OjEwOTM5NDEyOjoxMDk0MzI2NTo6MTA5NDcxNTQ6OjEwOTUxMjk5OjoxMDk1NTY0Nzo6MTA5NTk4MDI6OjEwOTYzNzU1OjoxMDk2NzUyNjo6MTA5NzEyMDEnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScyNzBlNzAnLCB2PScxMDk3NDgwMTo6MTA5NzkwODY6OjEwOTgzOTIyOjoxMDk4OTA1Mzo6MTA5OTQwODM6OjEwOTk5MDY5OjoxMTAwMzUyOTo6MTEwMDczNzk6OjExMDEwNzM4JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCSwgNSkKK1NBWC5lbmRFbGVtZW50KHBhcikKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCSwgNSkKK1NBWC5zdGFydEVsZW1lbnQocGFyLCBtZW1pbmQ9JzMzMDAxJywgaD0nM2RjMWE3ZTAnKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPScwJywgdj0nMzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3NicpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzJhMzAwJywgdj0nMzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nNTU0MTAnLCB2PSczODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2JykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nN2Y3MTAnLCB2PSczODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTg3OjozODYxMzA5Nzo6Mzg2MTM1ODU6OjM4NjE0NDkwOjozODYxNDkwNjo6Mzg2MTUzODA6OjM4NjE2MDUzJykKK1NBWC5lbmRFbGVtZW50KHZhbCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50KHZhbCwgbz0nYTlhMTAnLCB2PSczODYxNzEyMzo6Mzg2MTcyNTg6OjM4NjE3Mjk2OjozODYxNzQxNDo6Mzg2MTc5MjY6OjM4NjE4NzQxOjozODYxODk0Mjo6Mzg2MTkwMjE6OjM4NjE5MDY2Ojo6OjM4NjE5MTQ3OjozODYxOTIxOTo6Mzg2MTkyODE6OjM4NjE5MjgxOjozODYxOTI4MTo6Mzg2MTkyODE6OjM4NjE5MjgxOjozODYxOTI4MTo6Mzg2MTkyODE6OjM4NjE5MjgxOjozODYxOTI4MTo6Mzg2MTkyODE6OjM4NjE5MjgxOjozODYxOTI4MTo6Mzg2MTk3ODY6OjM4NjIwMjU3OjozODYyMDcwMjo6Mzg2MjEwNTg6OjM4NjIxNTg3OjozODYyMjA3ODo6Mzg2MjI0OTQ6OjM4NjIzMjg0OjozODYyMzUzNjo6Mzg2MjM2NTU6OjM4NjIzNzc2OjozODYyMzgzMTo6Mzg2MjQwMzU6OjM4NjI0MjMyOjozODYyNDM2OTo6Mzg2MjQ3MzU6OjM4NjI0NzM1OjozODYyNDczNTo6Mzg2MjQ3MzU6OjM4NjI0NzM3OjozODYyNDc1NTo6Mzg2MjQ3OTE6OjM4NjI0ODYzOjozODYyNDg3OTo6Mzg2MjU0NjAnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdkNGIyMCcsIHY9JzM4NjI2MTEwOjozODYyNjgwNzo6Mzg2Mjc2Mzk6OjM4NjI4NzgxOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzInKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnQodmFsLCBvPSdmZWUyMCcsIHY9JzM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6MjI5NzM0LjM5ODo6MjI5NzM0LjM5ODo6MjI5NzM0LjM5ODo6MjI5NzM0LjM5ODo6MjI5NzM0LjM5ODo6MjI5NzM0LjM5ODo6MjI5NzM0LjM5ODo6MjI5NzM0LjM5ODo6MjI5NzM0LjM5ODo6MjI5NzM0LjM5OCcpCitTQVguZW5kRWxlbWVudCh2YWwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudCh2YWwsIG89JzEyOTEyMCcsIHY9JzIyOTczNC4zOTg6OjIyOTczNC4zOTg6OjIyOTczNC4zOTg6OjIyOTczNC4zOTg6OjIyOTczNC4zOTg6OjIyOTczNC4zOTg6OjIyOTczNC4zOTg6OjIyOTczNC4zOTg6OjIyOTczNC4zOTg6OjIyOTczNC4zOTg6OjIyOTczNC4zOTg6OjIyOTczNC4zOTg6OjIyOTczNC4zOTg6OjIyOTczNC4zOTg6OjIyOTczNC4zOTg6OjIyOTczNC4zOTg6OjIyOTczNC4zOTg6OjIyOTczNC4zOTg6OjIyOTczNC4zOTg6OjIyOTczNC4zOTg6OjIyOTczNC4zOTg6OjIyOTczNC4zOTg6OjIyOTczNC4zOTk6OjIyOTczNC40MTc6OjIyOTczNC40MzE6OjIyOTczNC40NDg6OjIyOTczNC40NjU6OjIyOTczNC40ODU6OjIyOTczNC41MDU6OjIyOTczNC41MTQ6OjIyOTczNC41MTc6OjIyOTczNC41MTc6OjIyOTczNC41MTc6OjIyOTczNC41MTc6OjIyOTczNC41MTc6OjIyOTczNC41MTg6OjIyOTczNC41MjE6OjIyOTczNC41MjM6OjIyOTczNC41Mjg6OjIyOTczNC41MzY6OjIyOTczNC41MzY6OjIyOTczNC41MzY6OjIyOTczNC41MzY6OjIyOTczNC41MzY6OjIyOTczNC41MzY6OjIyOTczNC41MzY6OjIyOTczNC41Mzc6OjIyOTczNC41NTQnKQorU0FYLmVuZEVsZW1lbnQodmFsKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJLCA1KQorU0FYLmVuZEVsZW1lbnQocGFyKQorU0FYLmNoYXJhY3RlcnMoCisJCQksIDQpCitTQVguZW5kRWxlbWVudChkZXZpY2UpCitTQVguY2hhcmFjdGVycygKKwkJLCAzKQorU0FYLmVuZEVsZW1lbnQoc2VsZWN0KQorU0FYLmNoYXJhY3RlcnMoCisJLCAyKQorU0FYLmVuZEVsZW1lbnQoZGF0YSkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmVuZEVsZW1lbnQoZWxlY3Ryb3htbCkKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9hdHQ0LnNheDIgYi9saWJ4bWwyL3Jlc3VsdC9hdHQ0LnNheDIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTUzMTQ4YwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2F0dDQuc2F4MgpAQCAtMCwwICsxLDM2OTc2IEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5jb21tZW50KCBlZGl0ZWQgd2l0aCBYTUwgU3B5IHY0LjQgVSAoaHR0cDovL3d3dy54bWxzcHkuY29tKSBieSBTbGF2YSAoR0lWQykgKQorU0FYLnN0YXJ0RWxlbWVudE5zKGVsZWN0cm94bWwsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIG1vZGlmaWVkPScyMDAyLi4uJywgMTUpCitTQVguY2hhcmFjdGVycygKKwksIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZGF0YSwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgZnJvbT0nMjAwMi4uLicsIDExLCB0bz0nMjAwMi4uLicsIDExKQorU0FYLmNoYXJhY3RlcnMoCisJCSwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhzZWxlY3QsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycygKKwkJCSwgNCkKK1NBWC5zdGFydEVsZW1lbnROcyhkZXZpY2UsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHNlcmlhbG51bWI9J0UwMDAuLi4nLCA5KQorU0FYLmNoYXJhY3RlcnMoCisJCQkJLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhciwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbWVtaW5kPScxMTM0Li4uJywgNiwgaD0nM2RjMS4uLicsIDgpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMCIgdi4uLicsIDEsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZTA4Ii4uLicsIDMsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWMzMi4uLicsIDQsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMmEzYy4uLicsIDQsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMzgzNS4uLicsIDQsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNDY0NS4uLicsIDQsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNTQ1NS4uLicsIDQsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNjI2NS4uLicsIDQsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNzA3NS4uLicsIDQsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nN2U4NS4uLicsIDQsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOGM5Ni4uLicsIDQsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOWFhNS4uLicsIDQsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYThiNi4uLicsIDQsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYjZjNS4uLicsIDQsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYzRkNy4uLicsIDQsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDMwYi4uLicsIDQsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZTBmNi4uLicsIDQsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZWYwNi4uLicsIDQsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZmQxNy4uLicsIDQsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTBiMi4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTE5My4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTI3NC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTM1NS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTQzNi4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTUxOC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTVmOC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTZkOS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTdiYS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTg5Yi4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTk3Yy4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWE1ZC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWIzZS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWMxZi4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWQwMC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWRlMS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWVjMi4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWZhMy4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjA4NC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjE2NS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjI0Ni4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjMyNy4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjQwOC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjRlOS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjVjYS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjZhYi4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjc4Yy4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjg2ZC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjk0ZS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMmEzMC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMmIxMC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMmJmMS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMmNkMi4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMmRiMy4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMmU5NC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMmY3NS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMzA1Ni4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMzEzNy4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMzIxOS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMzJmOS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMzNkYS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMzRiYi4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMzU5ZC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMzY3ZC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMzc1ZS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMzg0MC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMzkyMS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nM2EwMS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nM2FlMi4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nM2JjMy4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nM2NhNC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nM2Q4NS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nM2U2Ni4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nM2Y0OC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNDAyOC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNDEwOS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNDFlYS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNDJjYi4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNDNhYy4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNDQ4ZC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNDU2ZS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNDY0Zi4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNDgwZi4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNDhmMC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNDlkMS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNGFiNC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNGI5NS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNGM3Ni4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNGQ1Ny4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNGUzOC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNGYxOS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNGZmYS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNTBkZC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNTFiYy4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNTI5ZC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNTM3ZS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNTQ2MC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNTU0MC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNTYyMS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNTcwMi4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNTdlMy4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNThjNC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNTlhNy4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNWE4Ni4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNWI2Ny4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNWM0OC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNWQyOS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNWUwYS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNWVlYi4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNWZjYy4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNjBhZC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNjE4ZS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNjI2Zi4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNjM1MC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNjQzMS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNjUxMi4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNjVmMy4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNjZkNC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNjdiNS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNjg5Ni4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNjk3OC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNmE1OC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNmIzOS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNmMxYS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNmNmYi4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNmRkYy4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNmViZC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNmY5ZS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNzA3Zi4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNzE2MC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNzI0MS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNzMyMi4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNzQwMy4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNzRlNC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNzVjNS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNzZhNi4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNzc4Ny4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNzg2OC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNzk0OC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nN2EyOS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nN2IwYS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nN2JlYi4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nN2NjYy4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nN2RhZC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nN2U4Zi4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nN2Y3MC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nODA1MS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nODEzMi4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nODIxMy4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nODJmNC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nODNkNS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nODRiNi4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nODU5Ny4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nODY3OC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nODc1OS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nODgzYS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nODkxYi4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nODlmYy4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOGFkZC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOGJiZS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOGM5Zi4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOGQ4MC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOGU2MS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOGY0Mi4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOTAyMy4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOTEwNC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOTFlNS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOTJjNi4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOTNhOC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOTQ4OC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOTU2OS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOTY0YS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOTcyYi4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOTgwYy4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOThlZC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOTljZS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOWFhZi4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOWI5MC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOWM3MS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOWQ1Mi4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOWUzMy4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOWYxNC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOWZmNS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYTBkNi4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYTFiNy4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYTI5OC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYTM3OS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYTQ1YS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYTUzYi4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYTYxYy4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYTZmZC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYTdlMC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYThjMC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYTlhMC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYWE4MS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYWI2Mi4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYWM0My4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYWQyNC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYWUwNS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYWVlNi4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYWZjNy4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYjBhOC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYjI2YS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYjM0Yi4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYjQyYy4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYjUwZC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYjVlZS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYjZjZi4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYjdiMC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYjg5MS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYjk3Mi4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYmE1My4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYmIzNC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYmMxNS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYmNmNi4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYmRkOC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYmViOC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYmY5OS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYzA3YS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYzE1Yi4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYzIzYy4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYzMxZC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYzNmZS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYzRkZi4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYzVjMC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYzZhMS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYzc4Mi4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYzg2My4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYzk0NC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nY2EyNS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nY2IwNi4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nY2JlNy4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nY2NjOC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nY2RhOS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nY2U4YS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nY2Y2Yi4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDA0Yy4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDEyZC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDIwZS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDJmMC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDNkMC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDRiMS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDU5Mi4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDY3My4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDc1NC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDgzNS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDkxNi4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDlmNy4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZGFkOC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZGJiOS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZGM5YS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZGQ3Yi4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZGU1Yy4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZGYzZC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZTAxZC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZTBmZS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZTFkZi4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZTJjMC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZTNhMS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZTQ4Mi4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZTU2My4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZTY0NC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZTcyNS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZTgwNi4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZThlNy4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZTljOC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZWFhOS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZWI4YS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZWM2Yi4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZWQ0Yy4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZWUyZC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZWYwZS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZWZmMC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZjBkMS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZjFiMi4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZjI5My4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZjM3NC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZjQ1NS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZjUzNi4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZjYxNy4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZjZmOC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZjdkOS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZjhiYS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZjk5Yi4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZmE3Yy4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZmI1ZC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZmMzZS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZmQxZi4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZmUwMC4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZmVlMS4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZmZjMi4uLicsIDUsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTAwYS4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTAxOC4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTAyNi4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTAzNC4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTA0Mi4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTA1MC4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTA1ZS4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTA2Yy4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTA3YS4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTA4OC4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTA5Ni4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTBhNC4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTBiMi4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTBjMS4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTBjZi4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTBkZC4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTBlYi4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTBmOS4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTEwNy4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTExNS4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTEyMy4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTEzMS4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTEzZi4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTE0ZC4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTE1Yi4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTE2OS4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTE3Ny4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTE4NS4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTE5My4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTFhMi4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTFiMC4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTFiZS4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTFjYy4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTFkYS4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTFlOC4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTFmNi4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTIwNS4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTIxMy4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTIyMS4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTIyZi4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTIzZC4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTI0Yi4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTI1OS4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTI2Ny4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTI3Ni4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTI4My4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTI5MS4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTI5Zi4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTJhZC4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTJiYi4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTJjOS4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTJkNy4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTJlNS4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTJmMy4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTMwMS4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTMwZi4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTMxZC4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTMyYi4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTMzOS4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTM0Ny4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTM1NS4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTM2NC4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTM3Mi4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTM4MC4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTM4ZS4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTM5Yy4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTNhYS4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTNiOC4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTNjNi4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTNkNC4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTNlMi4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTNmMC4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTNmZS4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTQwYy4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTQxYS4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTQyOC4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTQzNi4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTQ0NS4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTQ1My4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTQ2MS4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTQ2Zi4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTQ3ZC4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTQ4Yi4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTQ5OS4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTRhNy4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTRiNS4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTRjMy4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTRkMS4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTRkZi4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTRlZC4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTRmYi4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTUwOS4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTUxNy4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTUyNi4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTUzNC4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTU0Mi4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTU1MC4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTU1ZS4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTU2Yy4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTU3YS4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTU4OC4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTU5Ni4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTVhNC4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTViMi4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTVjMC4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTVjZS4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTVkYy4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTVlYS4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTVmOC4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTYwNy4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTYxNS4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTYyMy4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTYzMS4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTYzZi4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTY0ZC4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTY1Yi4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTY2OS4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTY3Ny4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTY4NS4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTY5My4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTZhMS4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTZhZi4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTZiZC4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTZjYi4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTZkOS4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTZlOC4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTZmNi4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTcwNC4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTcxMi4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTcyMC4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTcyZS4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTczYy4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTc0YS4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTc1OC4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTc2Ni4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTc3NC4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTc4Mi4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTc5MC4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTc5ZS4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTdhYy4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTdiYS4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTdjOS4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTdkNy4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTdlNS4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTdmMy4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTgwMS4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTgwZi4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTgxZC4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTgyYi4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTgzOS4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTg0Ny4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTg1NS4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTg2My4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTg3MS4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTg3Zi4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTg4ZC4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTg5Yy4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMThiOC4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMThjNi4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMThkNC4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMThlMi4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMThmMC4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMThmZS4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTkwYy4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTkxYS4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTkyOC4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTkzNi4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTk0NC4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTk1Mi4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTk2MC4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTk2ZS4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTk3Yy4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTk4Yi4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTk5OS4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTliNS4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTljMy4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTlkMS4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTlkZi4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTllZC4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTllZS4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTlmYi4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWEwOS4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWExNy4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWEyNS4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWEzMy4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWE0MS4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWE0Zi4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWE1ZS4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWE2Yy4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWE3YS4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWE4OC4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWE5Ni4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWFhNC4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWFiMi4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWFjMC4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWFjZS4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWFkYy4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWFlYS4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWFmOC4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWIwNi4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWIxNC4uLicsIDYsIHY9JzUzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWM3NC4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWM4Mi4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWM5MC4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWM5ZS4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWNhYy4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWNiYS4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWNjOC4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWNkNi4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWNlNC4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWNmMi4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWQwMS4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWQwZi4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWQxZC4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWQyYi4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWQzOS4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWQ0Ny4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWQ1NS4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWQ2My4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWQ3MS4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWQ3Zi4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWQ4ZC4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWQ5Yi4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWRhOS4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWRiNy4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWRjNS4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWRkMy4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWRlMS4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWRmMC4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWRmZS4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWUwYy4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWUxYS4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWUyOC4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWUzNi4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWU0NC4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWU1Mi4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWU2MC4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWU2ZS4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWU3Yy4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWU4YS4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWU5OC4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWVhNi4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWViNC4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWVjMi4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWVkMS4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWVkZi4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWVlZC4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWVmYi4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWYwOS4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWYxNy4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWYyNS4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWYzMy4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWY0MS4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWY0Zi4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWY1ZC4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWY2Yi4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWY3OS4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWY4Ny4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWY5NS4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWZhNC4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWZiMi4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWZjMC4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWZjZS4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWZkYy4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWZlYS4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWZmOC4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjAwNi4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjAxNC4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjAyMi4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjAzMC4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjAzZS4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjA0Yy4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjA1YS4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjA2OC4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjA3Ni4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjA4NC4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjA5My4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjBhMS4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjBhZi4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjBiZC4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjBjYi4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjBkOS4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjBlNy4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjBmNS4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjEwMy4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjExMS4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjExZi4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjEyZC4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjEzYi4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjE0OS4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjE1Ny4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjE2NS4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjE3NC4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjE4Mi4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjE5MC4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjE5ZS4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjFhYy4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjFiYS4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjFjOC4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjFkNi4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjFlNC4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjFmMi4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjIwMC4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjIwZS4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjIxYy4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjIyYS4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjIzOC4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjI0Ny4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjI1NS4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjI2My4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjI3MS4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjI3Zi4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjI4ZC4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjI5Yi4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjJhOS4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjJiNy4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjJjNS4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjJkMy4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjJlMS4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjJlZi4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjJmZC4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjMwYi4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjMxOS4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjMyNy4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjMzNi4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjM0NC4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjM1Mi4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjM2MC4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjM2ZS4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjM3Yy4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjM4YS4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjM5OC4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjNhNi4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjNiNC4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjNjMi4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjNkMC4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjNkZS4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjNlYy4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjNmYS4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjQwOC4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjQxNy4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjQyNS4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjQzMy4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjQ0MS4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjQ0Zi4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjQ2Yi4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjQ3OS4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjQ4Ny4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjQ5NS4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjRhMy4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjRiMS4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjRiZi4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjRjZC4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjRkYi4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjRlOS4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjRmOC4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjUwNi4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjUxNC4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjUyMi4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjUzMC4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjUzZS4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjU0Yy4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjU1YS4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjU2OC4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjU3Ni4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjU4NC4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjU5Mi4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjVhMC4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjVhZS4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjViYy4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjVjYS4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjVkOS4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjVlNy4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjVmNS4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjYwMy4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjYxMS4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjYxZi4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjYyZC4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjYzYi4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjY0OS4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjY1Ny4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjY2NS4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjY3My4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjY4MS4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjY4Zi4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjY5ZC4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjZhYi4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjZiYS4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjZjOC4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjZkNi4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjZlNC4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjZmMi4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjcwMC4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjcwZS4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjcxYy4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjcyYS4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjczOC4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjc0Ni4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjc1NC4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjc2Mi4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjc3MC4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjc3ZS4uLicsIDYsIHY9JzU1Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQksIDUpCitTQVguZW5kRWxlbWVudE5zKHBhciwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCSwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhwYXIsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG1lbWluZD0nMTY5My4uLicsIDgsIGg9JzNkYzEuLi4nLCA4KQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzAiIHYuLi4nLCAxLCB2PScxOTYuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2UwOCIuLi4nLCAzLCB2PScxOTkuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFjMzIuLi4nLCA0LCB2PScyMDAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzJhM2MuLi4nLCA0LCB2PScyMDEuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzM4MzUuLi4nLCA0LCB2PScxOTkuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzQ2NDUuLi4nLCA0LCB2PScxOTcuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzU0NTUuLi4nLCA0LCB2PScxOTMuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzYyNjUuLi4nLCA0LCB2PScxOTcuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzcwNzUuLi4nLCA0LCB2PScxOTUuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzdlODUuLi4nLCA0LCB2PScxOTIuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzhjOTYuLi4nLCA0LCB2PScxOTUuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzlhYTUuLi4nLCA0LCB2PScxOTUuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2E4YjYuLi4nLCA0LCB2PScxOTUuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2I2YzUuLi4nLCA0LCB2PScxOTcuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2M0ZDcuLi4nLCA0LCB2PScyMjIuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2QzMGIuLi4nLCA0LCB2PScyMjAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2UwZjYuLi4nLCA0LCB2PScyMjIuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2VmMDYuLi4nLCA0LCB2PScxODAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2ZkMTcuLi4nLCA0LCB2PScxODAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwYjIuLi4nLCA1LCB2PScyMjEuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExOTMuLi4nLCA1LCB2PScyMjIuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyNzQuLi4nLCA1LCB2PScyMjIuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzNTUuLi4nLCA1LCB2PScyMjAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0MzYuLi4nLCA1LCB2PScyMjAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1MTguLi4nLCA1LCB2PScyMjAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1ZjguLi4nLCA1LCB2PScyMjEuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2ZDkuLi4nLCA1LCB2PScyMjAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3YmEuLi4nLCA1LCB2PScyMjEuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4OWIuLi4nLCA1LCB2PScyMjAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5N2MuLi4nLCA1LCB2PScyMjAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhNWQuLi4nLCA1LCB2PScyMTkuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFiM2UuLi4nLCA1LCB2PScyMTkuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFjMWYuLi4nLCA1LCB2PScyMjAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkMDAuLi4nLCA1LCB2PScyMjAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkZTEuLi4nLCA1LCB2PScyMjAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlYzIuLi4nLCA1LCB2PScyMjAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmYTMuLi4nLCA1LCB2PScyMjAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwODQuLi4nLCA1LCB2PScyMjAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxNjUuLi4nLCA1LCB2PScyMjAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyNDYuLi4nLCA1LCB2PScyMjAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzMjcuLi4nLCA1LCB2PScyMjAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0MDguLi4nLCA1LCB2PScxODAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0ZTkuLi4nLCA1LCB2PScyMjIiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1Y2EuLi4nLCA1LCB2PScyMjEuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2YWIuLi4nLCA1LCB2PScyMjAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI3OGMuLi4nLCA1LCB2PScxODAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI4NmQuLi4nLCA1LCB2PScyMjAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI5NGUuLi4nLCA1LCB2PScyMTguLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzJhMzAuLi4nLCA1LCB2PScyMjAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzJiMTAuLi4nLCA1LCB2PScxODAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzJiZjEuLi4nLCA1LCB2PScxODAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzJjZDIuLi4nLCA1LCB2PScyMTguLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzJkYjMuLi4nLCA1LCB2PScxODAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzJlOTQuLi4nLCA1LCB2PScxODAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzJmNzUuLi4nLCA1LCB2PScxODAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzMwNTYuLi4nLCA1LCB2PScyMTkuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzMxMzcuLi4nLCA1LCB2PScyMjAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzMyMTkuLi4nLCA1LCB2PScyMTkuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzMyZjkuLi4nLCA1LCB2PScyMjAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzMzZGEuLi4nLCA1LCB2PScyMjAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzM0YmIuLi4nLCA1LCB2PScyMTkiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzM1OWQuLi4nLCA1LCB2PScyMjAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzM2N2QuLi4nLCA1LCB2PScyMTkuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzM3NWUuLi4nLCA1LCB2PScxODAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzM4NDAuLi4nLCA1LCB2PScxODAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzM5MjEuLi4nLCA1LCB2PScxODAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzNhMDEuLi4nLCA1LCB2PScxODAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzNhZTIuLi4nLCA1LCB2PScyMjAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzNiYzMuLi4nLCA1LCB2PScyMjAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzNjYTQuLi4nLCA1LCB2PScxODAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzNkODUuLi4nLCA1LCB2PScyMjEuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzNlNjYuLi4nLCA1LCB2PScyMjAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzNmNDguLi4nLCA1LCB2PScyMTcuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzQwMjguLi4nLCA1LCB2PScyMTguLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzQxMDkuLi4nLCA1LCB2PScyMTguLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzQxZWEuLi4nLCA1LCB2PScyMTguLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzQyY2IuLi4nLCA1LCB2PScyMTkuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzQzYWMuLi4nLCA1LCB2PScyMTguLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzQ0OGQuLi4nLCA1LCB2PScxODAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzQ1NmUuLi4nLCA1LCB2PScyMjAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzQ2NGYuLi4nLCA1LCB2PScyMjIuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzQ4MGYuLi4nLCA1LCB2PScxODAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzQ4ZjAuLi4nLCA1LCB2PScxODAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzQ5ZDEuLi4nLCA1LCB2PScxODAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzRhYjQuLi4nLCA1LCB2PScxODAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzRiOTUuLi4nLCA1LCB2PScxODAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzRjNzYuLi4nLCA1LCB2PScxODAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzRkNTcuLi4nLCA1LCB2PScxODAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzRlMzguLi4nLCA1LCB2PScxODAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzRmMTkuLi4nLCA1LCB2PScxODAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzRmZmEuLi4nLCA1LCB2PScxODAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzUwZGQuLi4nLCA1LCB2PScxODAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzUxYmMuLi4nLCA1LCB2PScxODAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzUyOWQuLi4nLCA1LCB2PScxODAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzUzN2UuLi4nLCA1LCB2PScyMjAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzU0NjAuLi4nLCA1LCB2PScyMTguLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzU1NDAuLi4nLCA1LCB2PScyMTkuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzU2MjEuLi4nLCA1LCB2PScyMTkuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzU3MDIuLi4nLCA1LCB2PScyMTkuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzU3ZTMuLi4nLCA1LCB2PScyMTkuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzU4YzQuLi4nLCA1LCB2PScyMjAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzU5YTcuLi4nLCA1LCB2PScyMjAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzVhODYuLi4nLCA1LCB2PScyMjEuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzViNjcuLi4nLCA1LCB2PScxODAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzVjNDguLi4nLCA1LCB2PScxODAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzVkMjkuLi4nLCA1LCB2PScxODAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzVlMGEuLi4nLCA1LCB2PScyMjIuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzVlZWIuLi4nLCA1LCB2PScyMjQuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzVmY2MuLi4nLCA1LCB2PScyMjMuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzYwYWQuLi4nLCA1LCB2PScxODAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzYxOGUuLi4nLCA1LCB2PScxODAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzYyNmYuLi4nLCA1LCB2PScxODAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzYzNTAuLi4nLCA1LCB2PScxODAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzY0MzEuLi4nLCA1LCB2PScxODAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzY1MTIuLi4nLCA1LCB2PScyMjIuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzY1ZjMuLi4nLCA1LCB2PScyMjIuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzY2ZDQuLi4nLCA1LCB2PScyMjAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzY3YjUuLi4nLCA1LCB2PScyMjAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzY4OTYuLi4nLCA1LCB2PScyMjAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzY5NzguLi4nLCA1LCB2PScyMjAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzZhNTguLi4nLCA1LCB2PScyMTkuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzZiMzkuLi4nLCA1LCB2PScyMTkuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzZjMWEuLi4nLCA1LCB2PScyMTkiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzZjZmIuLi4nLCA1LCB2PScyMTguLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzZkZGMuLi4nLCA1LCB2PScyMjAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzZlYmQuLi4nLCA1LCB2PScxODAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzZmOWUuLi4nLCA1LCB2PScyMjEuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzcwN2YuLi4nLCA1LCB2PScyMjIuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzcxNjAuLi4nLCA1LCB2PScxODAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzcyNDEuLi4nLCA1LCB2PScxODAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzczMjIuLi4nLCA1LCB2PScxODAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzc0MDMuLi4nLCA1LCB2PScyMjMuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzc0ZTQuLi4nLCA1LCB2PScyMjMuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzc1YzUuLi4nLCA1LCB2PScxODAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzc2YTYuLi4nLCA1LCB2PScxODAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzc3ODcuLi4nLCA1LCB2PScxODAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzc4NjguLi4nLCA1LCB2PScxODAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzc5NDguLi4nLCA1LCB2PScxODAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzdhMjkuLi4nLCA1LCB2PScxODAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzdiMGEuLi4nLCA1LCB2PScyMjIuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzdiZWIuLi4nLCA1LCB2PScyMjEiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzdjY2MuLi4nLCA1LCB2PScyMTkuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzdkYWQuLi4nLCA1LCB2PScyMTkuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzdlOGYuLi4nLCA1LCB2PScyMjAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzdmNzAuLi4nLCA1LCB2PScyMjAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzgwNTEuLi4nLCA1LCB2PScyMTcuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzgxMzIuLi4nLCA1LCB2PScyMTkiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzgyMTMuLi4nLCA1LCB2PScyMTguLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzgyZjQuLi4nLCA1LCB2PScyMTkuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzgzZDUuLi4nLCA1LCB2PScyMTkuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzg0YjYuLi4nLCA1LCB2PScxODAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzg1OTcuLi4nLCA1LCB2PScxODAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzg2NzguLi4nLCA1LCB2PScxODAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzg3NTkuLi4nLCA1LCB2PScxODAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzg4M2EuLi4nLCA1LCB2PScyMjMuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzg5MWIuLi4nLCA1LCB2PScyMjIiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzg5ZmMuLi4nLCA1LCB2PScyMjQuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzhhZGQuLi4nLCA1LCB2PScxODAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzhiYmUuLi4nLCA1LCB2PScxODAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzhjOWYuLi4nLCA1LCB2PScxODAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzhkODAuLi4nLCA1LCB2PScxODAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzhlNjEuLi4nLCA1LCB2PScxODAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzhmNDIuLi4nLCA1LCB2PScxODAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzkwMjMuLi4nLCA1LCB2PScxODAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzkxMDQuLi4nLCA1LCB2PScyMjAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzkxZTUuLi4nLCA1LCB2PScxODAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzkyYzYuLi4nLCA1LCB2PScyMTkuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzkzYTguLi4nLCA1LCB2PScyMTkuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzk0ODguLi4nLCA1LCB2PScyMTkiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzk1NjkuLi4nLCA1LCB2PScyMTguLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzk2NGEuLi4nLCA1LCB2PScyMTkuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzk3MmIuLi4nLCA1LCB2PScyMTkuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzk4MGMuLi4nLCA1LCB2PScyMjEiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzk4ZWQuLi4nLCA1LCB2PScyMjAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzk5Y2UuLi4nLCA1LCB2PScxODAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzlhYWYuLi4nLCA1LCB2PScxODAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzliOTAuLi4nLCA1LCB2PScyMjUuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzljNzEuLi4nLCA1LCB2PScyMjUiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzlkNTIuLi4nLCA1LCB2PScyMjIuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzllMzMuLi4nLCA1LCB2PScyMjMuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzlmMTQuLi4nLCA1LCB2PScyMjQuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzlmZjUuLi4nLCA1LCB2PScyMjMuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2EwZDYuLi4nLCA1LCB2PScxODAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2ExYjcuLi4nLCA1LCB2PScxOTUuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2EyOTguLi4nLCA1LCB2PScxOTAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2EzNzkuLi4nLCA1LCB2PScxMjIuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2E0NWEuLi4nLCA1LCB2PSczNTQuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2E1M2IuLi4nLCA1LCB2PSczMzMuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2E2MWMuLi4nLCA1LCB2PSczMjMuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2E2ZmQuLi4nLCA1LCB2PScyNzguLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2E3ZTAuLi4nLCA1LCB2PScyODYuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2E4YzAuLi4nLCA1LCB2PScyOTIuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2E5YTAuLi4nLCA1LCB2PScyMS40Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2FhODEuLi4nLCA1LCB2PScyNzMuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2FiNjIuLi4nLCA1LCB2PScyNzIuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2FjNDMuLi4nLCA1LCB2PScyODUuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2FkMjQuLi4nLCA1LCB2PScyOC41Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2FlMDUuLi4nLCA1LCB2PSc2OC40Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2FlZTYuLi4nLCA1LCB2PScxNDcuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2FmYzcuLi4nLCA1LCB2PSc5NS43Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2IwYTguLi4nLCA1LCB2PSc4OS42Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2IyNmEuLi4nLCA1LCB2PSc4OC4zLi4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2IzNGIuLi4nLCA1LCB2PSc5Mi40Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2I0MmMuLi4nLCA1LCB2PScxNDkuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2I1MGQuLi4nLCA1LCB2PScxNDguLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2I1ZWUuLi4nLCA1LCB2PScxMjcuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2I2Y2YuLi4nLCA1LCB2PScxOTguLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2I3YjAuLi4nLCA1LCB2PScxODcuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2I4OTEuLi4nLCA1LCB2PScxODIuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2I5NzIuLi4nLCA1LCB2PScxOTUuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2JhNTMuLi4nLCA1LCB2PScyMDMuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2JiMzQuLi4nLCA1LCB2PScxMjQuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2JjMTUuLi4nLCA1LCB2PScxNTkuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2JjZjYuLi4nLCA1LCB2PScyMzAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2JkZDguLi4nLCA1LCB2PSc3OS44Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2JlYjguLi4nLCA1LCB2PSc1MS4zLi4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2JmOTkuLi4nLCA1LCB2PScyMi41Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2MwN2EuLi4nLCA1LCB2PSczMjMuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2MxNWIuLi4nLCA1LCB2PSczNDEuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2MyM2MuLi4nLCA1LCB2PSc0Ni40Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2MzMWQuLi4nLCA1LCB2PSc3MS45Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2MzZmUuLi4nLCA1LCB2PSc3MS45Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2M0ZGYuLi4nLCA1LCB2PSc2My40Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2M1YzAuLi4nLCA1LCB2PSc3Ni40Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2M2YTEuLi4nLCA1LCB2PSc1OC40Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2M3ODIuLi4nLCA1LCB2PSc5MiIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2M4NjMuLi4nLCA1LCB2PSc3OS42Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2M5NDQuLi4nLCA1LCB2PSc2My4xLi4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2NhMjUuLi4nLCA1LCB2PSc1MS4zLi4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2NiMDYuLi4nLCA1LCB2PSc4MS43Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2NiZTcuLi4nLCA1LCB2PScyMDUuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2NjYzguLi4nLCA1LCB2PSc5Ni4xLi4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2NkYTkuLi4nLCA1LCB2PSc5NS43Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2NlOGEuLi4nLCA1LCB2PSc5Ni43Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2NmNmIuLi4nLCA1LCB2PSc5Mi44Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2QwNGMuLi4nLCA1LCB2PSc5MS40Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2QxMmQuLi4nLCA1LCB2PSc4Ni4xLi4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2QyMGUuLi4nLCA1LCB2PScyNzAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2QyZjAuLi4nLCA1LCB2PScyNzAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2QzZDAuLi4nLCA1LCB2PScyOTYuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2Q0YjEuLi4nLCA1LCB2PSczMDYuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2Q1OTIuLi4nLCA1LCB2PSczMzEuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2Q2NzMuLi4nLCA1LCB2PScxMy43Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2Q3NTQuLi4nLCA1LCB2PSc0Ni40Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2Q4MzUuLi4nLCA1LCB2PScyNjIuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2Q5MTYuLi4nLCA1LCB2PScxNjYuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2Q5ZjcuLi4nLCA1LCB2PScxNDMuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2RhZDguLi4nLCA1LCB2PScxMjcuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2RiYjkuLi4nLCA1LCB2PScxMzIuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2RjOWEuLi4nLCA1LCB2PScxMjguLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2RkN2IuLi4nLCA1LCB2PScxNTUuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2RlNWMuLi4nLCA1LCB2PScxNzAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2RmM2QuLi4nLCA1LCB2PScxNzYuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2UwMWQuLi4nLCA1LCB2PScxNzYuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2UwZmUuLi4nLCA1LCB2PScxNjguLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2UxZGYuLi4nLCA1LCB2PScxNzIuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2UyYzAuLi4nLCA1LCB2PScxODUuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2UzYTEuLi4nLCA1LCB2PScxOTYuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2U0ODIuLi4nLCA1LCB2PScxNzguLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2U1NjMuLi4nLCA1LCB2PScxOTMuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2U2NDQuLi4nLCA1LCB2PScxNzYuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2U3MjUuLi4nLCA1LCB2PScxOTYuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2U4MDYuLi4nLCA1LCB2PScyMDIuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2U4ZTcuLi4nLCA1LCB2PSc5OS45Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2U5YzguLi4nLCA1LCB2PScxMzAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2VhYTkuLi4nLCA1LCB2PScxMzIuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2ViOGEuLi4nLCA1LCB2PScxMjEuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2VjNmIuLi4nLCA1LCB2PScxMDAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2VkNGMuLi4nLCA1LCB2PScxOTIuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2VlMmQuLi4nLCA1LCB2PScxNTMuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2VmMGUuLi4nLCA1LCB2PScxNzAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2VmZjAuLi4nLCA1LCB2PScxNTUuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2YwZDEuLi4nLCA1LCB2PScxNjcuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2YxYjIuLi4nLCA1LCB2PScxNjUuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2YyOTMuLi4nLCA1LCB2PScxODQuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2YzNzQuLi4nLCA1LCB2PScxNTkuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2Y0NTUuLi4nLCA1LCB2PScxNjMuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2Y1MzYuLi4nLCA1LCB2PScxNjMuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2Y2MTcuLi4nLCA1LCB2PScxNjAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2Y2ZjguLi4nLCA1LCB2PScxNjUiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2Y3ZDkuLi4nLCA1LCB2PScxNTYuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2Y4YmEuLi4nLCA1LCB2PScxNjMuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2Y5OWIuLi4nLCA1LCB2PScxNjIuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2ZhN2MuLi4nLCA1LCB2PScxNTQuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2ZiNWQuLi4nLCA1LCB2PScxNTcuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2ZjM2UuLi4nLCA1LCB2PScxOTcuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2ZkMWYuLi4nLCA1LCB2PScyMDMuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2ZlMDAuLi4nLCA1LCB2PScyMTIuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2ZlZTEuLi4nLCA1LCB2PScxODUuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2ZmYzIuLi4nLCA1LCB2PScxODcuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwMGEuLi4nLCA2LCB2PScxNjIiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwMTguLi4nLCA2LCB2PScxNDkuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwMjYuLi4nLCA2LCB2PScxMzYuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwMzQuLi4nLCA2LCB2PScxNDUuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwNDIuLi4nLCA2LCB2PScxNjQuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwNTAuLi4nLCA2LCB2PScxNTguLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwNWUuLi4nLCA2LCB2PScxNjMiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwNmMuLi4nLCA2LCB2PScxNjEuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwN2EuLi4nLCA2LCB2PScxNjguLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwODguLi4nLCA2LCB2PScxNjguLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwOTYuLi4nLCA2LCB2PScxNjUuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwYTQuLi4nLCA2LCB2PScxNjguLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwYjIuLi4nLCA2LCB2PScxNjMuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwYzEuLi4nLCA2LCB2PScxNDcuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwY2YuLi4nLCA2LCB2PScxNjMiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwZGQuLi4nLCA2LCB2PScxNjYuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwZWIuLi4nLCA2LCB2PScxNzcuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwZjkuLi4nLCA2LCB2PScxNzkuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExMDcuLi4nLCA2LCB2PScxNjEiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExMTUuLi4nLCA2LCB2PScxNzQuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExMjMuLi4nLCA2LCB2PScyMDMuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExMzEuLi4nLCA2LCB2PScxNTguLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExM2YuLi4nLCA2LCB2PScxNzIuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExNGQuLi4nLCA2LCB2PScxNzIuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExNWIuLi4nLCA2LCB2PScxNjguLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExNjkuLi4nLCA2LCB2PScxMzgiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExNzcuLi4nLCA2LCB2PScxMzUuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExODUuLi4nLCA2LCB2PScxNTcuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExOTMuLi4nLCA2LCB2PScxNjAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExYTIuLi4nLCA2LCB2PScxNzUuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExYjAuLi4nLCA2LCB2PScxODQuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExYmUuLi4nLCA2LCB2PScxODguLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExY2MuLi4nLCA2LCB2PScxNzAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExZGEuLi4nLCA2LCB2PScxNzMuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExZTguLi4nLCA2LCB2PScxNjciLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExZjYuLi4nLCA2LCB2PScxNzIuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyMDUuLi4nLCA2LCB2PScxNjQuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyMTMuLi4nLCA2LCB2PScxNjYuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyMjEuLi4nLCA2LCB2PScxNTEuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyMmYuLi4nLCA2LCB2PScxNTguLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyM2QuLi4nLCA2LCB2PScxNzAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyNGIuLi4nLCA2LCB2PScxODUuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyNTkuLi4nLCA2LCB2PScxNjAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyNjcuLi4nLCA2LCB2PScxODguLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyNzYuLi4nLCA2LCB2PScyMDcuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyODMuLi4nLCA2LCB2PScyMTQuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyOTEuLi4nLCA2LCB2PScyMTMuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyOWYuLi4nLCA2LCB2PScyMTguLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyYWQuLi4nLCA2LCB2PScyMTAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyYmIuLi4nLCA2LCB2PScxNzguLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyYzkuLi4nLCA2LCB2PScxNjIuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyZDcuLi4nLCA2LCB2PScxNTYuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyZTUuLi4nLCA2LCB2PScxNTMuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyZjMuLi4nLCA2LCB2PScxNDMuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzMDEuLi4nLCA2LCB2PScxNjAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzMGYuLi4nLCA2LCB2PScxNTMuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzMWQuLi4nLCA2LCB2PScxNjMuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzMmIuLi4nLCA2LCB2PScxNjguLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzMzkuLi4nLCA2LCB2PScxNjkuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzNDcuLi4nLCA2LCB2PScxMzkuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzNTUuLi4nLCA2LCB2PScxNDIuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzNjQuLi4nLCA2LCB2PScxMjIuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzNzIuLi4nLCA2LCB2PScxMjUuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzODAuLi4nLCA2LCB2PScxMTAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzOGUuLi4nLCA2LCB2PScxMTAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzOWMuLi4nLCA2LCB2PScxOTAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzYWEuLi4nLCA2LCB2PSc5OS42Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzYjguLi4nLCA2LCB2PScyMDkuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzYzYuLi4nLCA2LCB2PSc3Ni4yLi4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzZDQuLi4nLCA2LCB2PSc2MS41Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzZTIuLi4nLCA2LCB2PSc0NC41Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzZjAuLi4nLCA2LCB2PSc0NC4yLi4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzZmUuLi4nLCA2LCB2PSc2MC40Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0MGMuLi4nLCA2LCB2PSc2NC42Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0MWEuLi4nLCA2LCB2PSc2Ny4zLi4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0MjguLi4nLCA2LCB2PSczNDEuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0MzYuLi4nLCA2LCB2PScxMTUuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0NDUuLi4nLCA2LCB2PScxMTcuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0NTMuLi4nLCA2LCB2PScxODAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0NjEuLi4nLCA2LCB2PScyNTIuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0NmYuLi4nLCA2LCB2PScyNjEuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0N2QuLi4nLCA2LCB2PSczMTMuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0OGIuLi4nLCA2LCB2PSczMTEuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0OTkuLi4nLCA2LCB2PScyOTIiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0YTcuLi4nLCA2LCB2PSc1Ny42Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0YjUuLi4nLCA2LCB2PScxNTEuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0YzMuLi4nLCA2LCB2PSc5Mi43Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0ZDEuLi4nLCA2LCB2PSc5My40Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0ZGYuLi4nLCA2LCB2PScxMDAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0ZWQuLi4nLCA2LCB2PSc5Ny40Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0ZmIuLi4nLCA2LCB2PScxODQiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1MDkuLi4nLCA2LCB2PScyODkuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1MTcuLi4nLCA2LCB2PScyNzQuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1MjYuLi4nLCA2LCB2PSczOS44Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1MzQuLi4nLCA2LCB2PSc2LjUiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1NDIuLi4nLCA2LCB2PSczNTUuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1NTAuLi4nLCA2LCB2PScxOS40Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1NWUuLi4nLCA2LCB2PSc0NC4yLi4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1NmMuLi4nLCA2LCB2PSc2MS40Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1N2EuLi4nLCA2LCB2PSc1NS41Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1ODguLi4nLCA2LCB2PSc2MC4yLi4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1OTYuLi4nLCA2LCB2PSc3MS43Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1YTQuLi4nLCA2LCB2PSc2Ni4zLi4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1YjIuLi4nLCA2LCB2PSc2MS41Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1YzAuLi4nLCA2LCB2PSczOC41Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1Y2UuLi4nLCA2LCB2PScxNy4zLi4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1ZGMuLi4nLCA2LCB2PSczNS42Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1ZWEuLi4nLCA2LCB2PSc0NC45Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1ZjguLi4nLCA2LCB2PSc3MS40Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2MDcuLi4nLCA2LCB2PScxNjYuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2MTUuLi4nLCA2LCB2PScxMjUiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2MjMuLi4nLCA2LCB2PScxNzYiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2MzEuLi4nLCA2LCB2PScxOTUuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2M2YuLi4nLCA2LCB2PSc5OS4xLi4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2NGQuLi4nLCA2LCB2PSc5MCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2NWIuLi4nLCA2LCB2PScyNzMuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2NjkuLi4nLCA2LCB2PSczNDQuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2NzcuLi4nLCA2LCB2PSczMDcuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2ODUuLi4nLCA2LCB2PScyNzEuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2OTMuLi4nLCA2LCB2PScyNzguLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2YTEuLi4nLCA2LCB2PScyOTEuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2YWYuLi4nLCA2LCB2PSc1Mi45Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2YmQuLi4nLCA2LCB2PSc3Ni42Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2Y2IuLi4nLCA2LCB2PSc4Ny42Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2ZDkuLi4nLCA2LCB2PScxNzAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2ZTguLi4nLCA2LCB2PScxNzQuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2ZjYuLi4nLCA2LCB2PScxNzUuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3MDQuLi4nLCA2LCB2PScxODYuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3MTIuLi4nLCA2LCB2PScxODMuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3MjAuLi4nLCA2LCB2PScxODEuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3MmUuLi4nLCA2LCB2PScxNzMuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3M2MuLi4nLCA2LCB2PScxNzAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3NGEuLi4nLCA2LCB2PScxNjUuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3NTguLi4nLCA2LCB2PScxNjMuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3NjYuLi4nLCA2LCB2PScxNjEuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3NzQuLi4nLCA2LCB2PScxNjUuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3ODIuLi4nLCA2LCB2PScxNzAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3OTAuLi4nLCA2LCB2PScxNzMuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3OWUuLi4nLCA2LCB2PScxODcuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3YWMuLi4nLCA2LCB2PScyMDEuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3YmEuLi4nLCA2LCB2PScyMDUuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3YzkuLi4nLCA2LCB2PScyMDQuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3ZDcuLi4nLCA2LCB2PScyMDQuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3ZTUuLi4nLCA2LCB2PScyMDguLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3ZjMuLi4nLCA2LCB2PScyMDQuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4MDEuLi4nLCA2LCB2PScxOTMuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4MGYuLi4nLCA2LCB2PScxODYuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4MWQuLi4nLCA2LCB2PScxOTIuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4MmIuLi4nLCA2LCB2PScxOTQuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4MzkuLi4nLCA2LCB2PScxODQuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4NDcuLi4nLCA2LCB2PScxODQuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4NTUuLi4nLCA2LCB2PScxODUuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4NjMuLi4nLCA2LCB2PScxOTQuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4NzEuLi4nLCA2LCB2PScxOTIuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4N2YuLi4nLCA2LCB2PScxOTIuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4OGQuLi4nLCA2LCB2PScxOTAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4OWMuLi4nLCA2LCB2PScxODUuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4YjguLi4nLCA2LCB2PScxNzAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4YzYuLi4nLCA2LCB2PScxODcuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4ZDQuLi4nLCA2LCB2PScxOTEuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4ZTIuLi4nLCA2LCB2PScxOTEuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4ZjAuLi4nLCA2LCB2PScxOTcuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4ZmUuLi4nLCA2LCB2PScxOTUuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5MGMuLi4nLCA2LCB2PScxODkuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5MWEuLi4nLCA2LCB2PScyMDEuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5MjguLi4nLCA2LCB2PScyMDIuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5MzYuLi4nLCA2LCB2PScyMDQuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5NDQuLi4nLCA2LCB2PScxOTYuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5NTIuLi4nLCA2LCB2PScxODIuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5NjAuLi4nLCA2LCB2PScxNjIuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5NmUuLi4nLCA2LCB2PScxODcuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5N2MuLi4nLCA2LCB2PScxODcuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5OGIuLi4nLCA2LCB2PScxNzkuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5OTkuLi4nLCA2LCB2PScxODEuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5YjUuLi4nLCA2LCB2PScxODguLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5YzMuLi4nLCA2LCB2PScxODYuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5ZDEuLi4nLCA2LCB2PScxODMuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5ZGYuLi4nLCA2LCB2PScxODIuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5ZWQuLi4nLCA2LCB2PScxNzYuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5ZWUuLi4nLCA2LCB2PScxNzUuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5ZmIuLi4nLCA2LCB2PScxNzguLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhMDkuLi4nLCA2LCB2PScyMjMuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhMTcuLi4nLCA2LCB2PScyMjguLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhMjUuLi4nLCA2LCB2PScyMjkuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhMzMuLi4nLCA2LCB2PScyMTYuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhNDEuLi4nLCA2LCB2PScyMjYuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhNGYuLi4nLCA2LCB2PScyNDkuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhNWUuLi4nLCA2LCB2PScyNDUuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhNmMuLi4nLCA2LCB2PScyNTAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhN2EuLi4nLCA2LCB2PScyNTEuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhODguLi4nLCA2LCB2PScyNTIuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhOTYuLi4nLCA2LCB2PScyNTkuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhYTQuLi4nLCA2LCB2PScyNTQuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhYjIuLi4nLCA2LCB2PScyMTguLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhYzAuLi4nLCA2LCB2PScyMjguLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhY2UuLi4nLCA2LCB2PScyMjcuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhZGMuLi4nLCA2LCB2PScyMTQuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhZWEuLi4nLCA2LCB2PScyMTguLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhZjguLi4nLCA2LCB2PScyMTciLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFiMDYuLi4nLCA2LCB2PScyMzEuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFiMTQuLi4nLCA2LCB2PScyMzAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFjNzQuLi4nLCA2LCB2PSc1MiIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFjODIuLi4nLCA2LCB2PSczNDAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFjOTAuLi4nLCA2LCB2PScxOC41Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFjOWUuLi4nLCA2LCB2PSczNTcuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFjYWMuLi4nLCA2LCB2PSczNDQuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFjYmEuLi4nLCA2LCB2PSczMzguLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFjYzguLi4nLCA2LCB2PScyOC40Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFjZDYuLi4nLCA2LCB2PScyMS44Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFjZTQuLi4nLCA2LCB2PScxMC40Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFjZjIuLi4nLCA2LCB2PSczNDMuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkMDEuLi4nLCA2LCB2PSczNDIuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkMGYuLi4nLCA2LCB2PSczNTguLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkMWQuLi4nLCA2LCB2PSczNTMuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkMmIuLi4nLCA2LCB2PSczNTMuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkMzkuLi4nLCA2LCB2PScxLjQiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkNDcuLi4nLCA2LCB2PSc2LjQiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkNTUuLi4nLCA2LCB2PScxMC41Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkNjMuLi4nLCA2LCB2PSczNTAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkNzEuLi4nLCA2LCB2PSczNTAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkN2YuLi4nLCA2LCB2PSczNTcuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkOGQuLi4nLCA2LCB2PScxODEuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkOWIuLi4nLCA2LCB2PScxODQuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkYTkuLi4nLCA2LCB2PScxOTIuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkYjcuLi4nLCA2LCB2PScxOTMuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkYzUuLi4nLCA2LCB2PScxOTQuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkZDMuLi4nLCA2LCB2PScxOTAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkZTEuLi4nLCA2LCB2PScxOTUiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkZjAuLi4nLCA2LCB2PScxOTUuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkZmUuLi4nLCA2LCB2PScxOTUuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlMGMuLi4nLCA2LCB2PScxOTguLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlMWEuLi4nLCA2LCB2PScxOTguLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlMjguLi4nLCA2LCB2PScxOTkuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlMzYuLi4nLCA2LCB2PScyMDAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlNDQuLi4nLCA2LCB2PScyMDIuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlNTIuLi4nLCA2LCB2PScyMDAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlNjAuLi4nLCA2LCB2PScyMDMuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlNmUuLi4nLCA2LCB2PScyMDQuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlN2MuLi4nLCA2LCB2PScxODguLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlOGEuLi4nLCA2LCB2PScxOTMuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlOTguLi4nLCA2LCB2PScxODQuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlYTYuLi4nLCA2LCB2PScxOTAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlYjQuLi4nLCA2LCB2PScxODguLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlYzIuLi4nLCA2LCB2PScxOTIuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlZDEuLi4nLCA2LCB2PScxODUuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlZGYuLi4nLCA2LCB2PScxODYuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlZWQuLi4nLCA2LCB2PScxODIuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlZmIuLi4nLCA2LCB2PScxODcuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmMDkuLi4nLCA2LCB2PScxODYuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmMTcuLi4nLCA2LCB2PScxNjguLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmMjUuLi4nLCA2LCB2PScxNjQuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmMzMuLi4nLCA2LCB2PScxNTQuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmNDEuLi4nLCA2LCB2PScxMzQuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmNGYuLi4nLCA2LCB2PScxNTQuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmNWQuLi4nLCA2LCB2PScxODIuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmNmIuLi4nLCA2LCB2PScxODguLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmNzkuLi4nLCA2LCB2PScxNzYiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmODcuLi4nLCA2LCB2PScyMDYuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmOTUuLi4nLCA2LCB2PScyMTYuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmYTQuLi4nLCA2LCB2PScyMTEuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmYjIuLi4nLCA2LCB2PScyMTAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmYzAuLi4nLCA2LCB2PScyMTEuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmY2UuLi4nLCA2LCB2PScxOTIuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmZGMuLi4nLCA2LCB2PScxODUuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmZWEuLi4nLCA2LCB2PScxNzYuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmZjguLi4nLCA2LCB2PScxNzEuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwMDYuLi4nLCA2LCB2PScxMjkuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwMTQuLi4nLCA2LCB2PScxNzMuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwMjIuLi4nLCA2LCB2PScxNTcuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwMzAuLi4nLCA2LCB2PScxNjEuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwM2UuLi4nLCA2LCB2PScxNjMuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwNGMuLi4nLCA2LCB2PScxNzYuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwNWEuLi4nLCA2LCB2PScxNjYuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwNjguLi4nLCA2LCB2PScxNjEuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwNzYuLi4nLCA2LCB2PScxNTkuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwODQuLi4nLCA2LCB2PScxNzcuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwOTMuLi4nLCA2LCB2PScxODMuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwYTEuLi4nLCA2LCB2PScxODUuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwYWYuLi4nLCA2LCB2PScxODIuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwYmQuLi4nLCA2LCB2PScxODkuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwY2IuLi4nLCA2LCB2PScxNzMuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwZDkuLi4nLCA2LCB2PScxNzkuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwZTcuLi4nLCA2LCB2PScxOTMuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwZjUuLi4nLCA2LCB2PScyMDIuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxMDMuLi4nLCA2LCB2PScxOTcuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxMTEuLi4nLCA2LCB2PScxODYuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxMWYuLi4nLCA2LCB2PScxODguLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxMmQuLi4nLCA2LCB2PScxNzguLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxM2IuLi4nLCA2LCB2PScxNjAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxNDkuLi4nLCA2LCB2PScxNjguLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxNTcuLi4nLCA2LCB2PScxODQiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxNjUuLi4nLCA2LCB2PScxOTEuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxNzQuLi4nLCA2LCB2PScxNzcuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxODIuLi4nLCA2LCB2PScxODIuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxOTAuLi4nLCA2LCB2PScxODUuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxOWUuLi4nLCA2LCB2PScxNzYuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxYWMuLi4nLCA2LCB2PScxNzAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxYmEuLi4nLCA2LCB2PScxNjkuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxYzguLi4nLCA2LCB2PScxNTkuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxZDYuLi4nLCA2LCB2PScxOTAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxZTQuLi4nLCA2LCB2PScxNzMuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxZjIuLi4nLCA2LCB2PScxNzUuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyMDAuLi4nLCA2LCB2PScxODcuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyMGUuLi4nLCA2LCB2PScxODguLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyMWMuLi4nLCA2LCB2PScxNjAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyMmEuLi4nLCA2LCB2PScxNzUuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyMzguLi4nLCA2LCB2PScxOTIuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyNDcuLi4nLCA2LCB2PScyMDAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyNTUuLi4nLCA2LCB2PScxMTYuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyNjMuLi4nLCA2LCB2PScxNjYuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyNzEuLi4nLCA2LCB2PScxNjIuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyN2YuLi4nLCA2LCB2PScxMzAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyOGQuLi4nLCA2LCB2PScxMjIiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyOWIuLi4nLCA2LCB2PScxOTMuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyYTkuLi4nLCA2LCB2PScxODMuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyYjcuLi4nLCA2LCB2PScxODAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyYzUuLi4nLCA2LCB2PScxNTcuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyZDMuLi4nLCA2LCB2PScxNDIuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyZTEuLi4nLCA2LCB2PScxNDUuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyZWYuLi4nLCA2LCB2PScxODIuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyZmQuLi4nLCA2LCB2PScxODIuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzMGIuLi4nLCA2LCB2PScxNzMuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzMTkuLi4nLCA2LCB2PScxODguLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzMjcuLi4nLCA2LCB2PScxNzkuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzMzYuLi4nLCA2LCB2PScxNjkuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzNDQuLi4nLCA2LCB2PScxNjQuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzNTIuLi4nLCA2LCB2PScxNzAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzNjAuLi4nLCA2LCB2PScxNzguLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzNmUuLi4nLCA2LCB2PScxNTgiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzN2MuLi4nLCA2LCB2PScxNjEuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzOGEuLi4nLCA2LCB2PScxNzUuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzOTguLi4nLCA2LCB2PScxNjkuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzYTYuLi4nLCA2LCB2PScxODUuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzYjQuLi4nLCA2LCB2PScxOTEuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzYzIuLi4nLCA2LCB2PScxNzYuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzZDAuLi4nLCA2LCB2PScxNjcuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzZGUuLi4nLCA2LCB2PScxNTQuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzZWMuLi4nLCA2LCB2PScxNjciLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzZmEuLi4nLCA2LCB2PScxODAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0MDguLi4nLCA2LCB2PScxNjYuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0MTcuLi4nLCA2LCB2PScxNDYuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0MjUuLi4nLCA2LCB2PScxNTUuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0MzMuLi4nLCA2LCB2PScxNTcuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0NDEuLi4nLCA2LCB2PScxODkuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0NGYuLi4nLCA2LCB2PScxODcuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0NmIuLi4nLCA2LCB2PScxODYuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0NzkuLi4nLCA2LCB2PScxNzkuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0ODcuLi4nLCA2LCB2PScxMzkuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0OTUuLi4nLCA2LCB2PScxNjEuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0YTMuLi4nLCA2LCB2PScxNzIiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0YjEuLi4nLCA2LCB2PScxODkuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0YmYuLi4nLCA2LCB2PScxODcuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0Y2QuLi4nLCA2LCB2PScxODguLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0ZGIuLi4nLCA2LCB2PScxODYuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0ZTkuLi4nLCA2LCB2PScxOTguLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0ZjguLi4nLCA2LCB2PScxOTMuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1MDYuLi4nLCA2LCB2PScxOTUuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1MTQuLi4nLCA2LCB2PScxOTguLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1MjIuLi4nLCA2LCB2PScxODAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1MzAuLi4nLCA2LCB2PScxODAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1M2UuLi4nLCA2LCB2PScxNjEuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1NGMuLi4nLCA2LCB2PScxNjUuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1NWEuLi4nLCA2LCB2PScxNjUuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1NjguLi4nLCA2LCB2PScxNjAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1NzYuLi4nLCA2LCB2PScxNDcuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1ODQuLi4nLCA2LCB2PScxOTYuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1OTIuLi4nLCA2LCB2PScxOTUuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1YTAuLi4nLCA2LCB2PScxODYuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1YWUuLi4nLCA2LCB2PScxNzguLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1YmMuLi4nLCA2LCB2PScxNzcuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1Y2EuLi4nLCA2LCB2PScxNzIiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1ZDkuLi4nLCA2LCB2PScxNTYuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1ZTcuLi4nLCA2LCB2PScxNTQuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1ZjUuLi4nLCA2LCB2PScxNTciLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2MDMuLi4nLCA2LCB2PScxNzkuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2MTEuLi4nLCA2LCB2PScxNjYiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2MWYuLi4nLCA2LCB2PScxNzIuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2MmQuLi4nLCA2LCB2PScxOTYuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2M2IuLi4nLCA2LCB2PScxNzkuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2NDkuLi4nLCA2LCB2PScxOTUuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2NTcuLi4nLCA2LCB2PScyMDIuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2NjUuLi4nLCA2LCB2PScyMDkuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2NzMuLi4nLCA2LCB2PScyMDQuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2ODEuLi4nLCA2LCB2PScxOTkuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2OGYuLi4nLCA2LCB2PScxODYuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2OWQuLi4nLCA2LCB2PScxNzUuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2YWIuLi4nLCA2LCB2PScxNzAuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2YmEuLi4nLCA2LCB2PScxNTkuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2YzguLi4nLCA2LCB2PScxNTYuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2ZDYuLi4nLCA2LCB2PScxMzcuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2ZTQuLi4nLCA2LCB2PScxNDYiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2ZjIuLi4nLCA2LCB2PScxMzkuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI3MDAuLi4nLCA2LCB2PScxNDMuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI3MGUuLi4nLCA2LCB2PScxMzcuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI3MWMuLi4nLCA2LCB2PScxNzcuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI3MmEuLi4nLCA2LCB2PScxODYuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI3MzguLi4nLCA2LCB2PScxODQuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI3NDYuLi4nLCA2LCB2PScxODguLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI3NTQuLi4nLCA2LCB2PScxOTEuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI3NjIuLi4nLCA2LCB2PScxNDYuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI3NzAuLi4nLCA2LCB2PScxNjEuLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI3N2UuLi4nLCA2LCB2PScxODguLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJLCA1KQorU0FYLmVuZEVsZW1lbnROcyhwYXIsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQksIDUpCitTQVguc3RhcnRFbGVtZW50TnMocGFyLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBtZW1pbmQ9JzEwNjkuLi4nLCA4LCBoPSczZGMxLi4uJywgOCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScwIiB2Li4uJywgMSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlMDgiLi4uJywgMywgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYzMyLi4uJywgNCwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyYTNjLi4uJywgNCwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczODM1Li4uJywgNCwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0NjQ1Li4uJywgNCwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1NDU1Li4uJywgNCwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2MjY1Li4uJywgNCwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3MDc1Li4uJywgNCwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3ZTg1Li4uJywgNCwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4Yzk2Li4uJywgNCwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5YWE1Li4uJywgNCwgdj0nNTAuMS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhOGI2Li4uJywgNCwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiNmM1Li4uJywgNCwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjNGQ3Li4uJywgNCwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkMzBiLi4uJywgNCwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlMGY2Li4uJywgNCwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlZjA2Li4uJywgNCwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmZDE3Li4uJywgNCwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMGIyLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMTkzLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMjc0Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMzU1Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNDM2Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNTE4Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNWY4Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNmQ5Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxN2JhLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxODliLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOTdjLi4uJywgNSwgdj0nNTAuMS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYTVkLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYjNlLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYzFmLi4uJywgNSwgdj0nNTAuMS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZDAwLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZGUxLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZWMyLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZmEzLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMDg0Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMTY1Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMjQ2Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMzI3Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNDA4Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNGU5Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNWNhLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNmFiLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNzhjLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyODZkLi4uJywgNSwgdj0nNTAuMS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyOTRlLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyYTMwLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyYjEwLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyYmYxLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyY2QyLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyZGIzLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyZTk0Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyZjc1Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczMDU2Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczMTM3Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczMjE5Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczMmY5Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczM2RhLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczNGJiLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczNTlkLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczNjdkLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczNzVlLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczODQwLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczOTIxLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczYTAxLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczYWUyLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczYmMzLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczY2E0Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczZDg1Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczZTY2Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczZjQ4Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0MDI4Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0MTA5Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0MWVhLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0MmNiLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0M2FjLi4uJywgNSwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0NDhkLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0NTZlLi4uJywgNSwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0NjRmLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0ODBmLi4uJywgNSwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0OGYwLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0OWQxLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0YWI0Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0Yjk1Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0Yzc2Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0ZDU3Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0ZTM4Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0ZjE5Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0ZmZhLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1MGRkLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1MWJjLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1MjlkLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1MzdlLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1NDYwLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1NTQwLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1NjIxLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1NzAyLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1N2UzLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1OGM0Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1OWE3Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1YTg2Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1YjY3Li4uJywgNSwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1YzQ4Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1ZDI5Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1ZTBhLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1ZWViLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1ZmNjLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2MGFkLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2MThlLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2MjZmLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2MzUwLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2NDMxLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2NTEyLi4uJywgNSwgdj0nNTAuMS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2NWYzLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2NmQ0Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2N2I1Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2ODk2Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2OTc4Li4uJywgNSwgdj0nNTAuMS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2YTU4Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2YjM5Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2YzFhLi4uJywgNSwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2Y2ZiLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2ZGRjLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2ZWJkLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2ZjllLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3MDdmLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3MTYwLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3MjQxLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3MzIyLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3NDAzLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3NGU0Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3NWM1Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3NmE2Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3Nzg3Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3ODY4Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3OTQ4Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3YTI5Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3YjBhLi4uJywgNSwgdj0nNTAuMS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3YmViLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3Y2NjLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3ZGFkLi4uJywgNSwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3ZThmLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3ZjcwLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4MDUxLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4MTMyLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4MjEzLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4MmY0Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4M2Q1Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4NGI2Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4NTk3Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4Njc4Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4NzU5Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4ODNhLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4OTFiLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4OWZjLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4YWRkLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4YmJlLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4YzlmLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4ZDgwLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4ZTYxLi4uJywgNSwgdj0nNTAuMS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4ZjQyLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5MDIzLi4uJywgNSwgdj0nNTAuMS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5MTA0Li4uJywgNSwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5MWU1Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5MmM2Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5M2E4Li4uJywgNSwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5NDg4Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5NTY5Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5NjRhLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5NzJiLi4uJywgNSwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5ODBjLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5OGVkLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5OWNlLi4uJywgNSwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5YWFmLi4uJywgNSwgdj0nNTAuMS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5YjkwLi4uJywgNSwgdj0nNTAuMS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5YzcxLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5ZDUyLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5ZTMzLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5ZjE0Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5ZmY1Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhMGQ2Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhMWI3Li4uJywgNSwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhMjk4Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhMzc5Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhNDVhLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhNTNiLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhNjFjLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhNmZkLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhN2UwLi4uJywgNSwgdj0nNTAuMS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhOGMwLi4uJywgNSwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhOWEwLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhYTgxLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhYjYyLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhYzQzLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhZDI0Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhZTA1Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhZWU2Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhZmM3Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiMGE4Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiMjZhLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiMzRiLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiNDJjLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiNTBkLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiNWVlLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiNmNmLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiN2IwLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiODkxLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiOTcyLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiYTUzLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiYjM0Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiYzE1Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiY2Y2Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiZGQ4Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiZWI4Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiZjk5Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjMDdhLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjMTViLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjMjNjLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjMzFkLi4uJywgNSwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjM2ZlLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjNGRmLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjNWMwLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjNmExLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjNzgyLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjODYzLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjOTQ0Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjYTI1Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjYjA2Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjYmU3Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjY2M4Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjZGE5Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjZThhLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjZjZiLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkMDRjLi4uJywgNSwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkMTJkLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkMjBlLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkMmYwLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkM2QwLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkNGIxLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkNTkyLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkNjczLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkNzU0Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkODM1Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkOTE2Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkOWY3Li4uJywgNSwgdj0nNTAuMS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkYWQ4Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkYmI5Li4uJywgNSwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkYzlhLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkZDdiLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkZTVjLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkZjNkLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlMDFkLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlMGZlLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlMWRmLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlMmMwLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlM2ExLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlNDgyLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlNTYzLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlNjQ0Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlNzI1Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlODA2Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlOGU3Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlOWM4Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlYWE5Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlYjhhLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlYzZiLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlZDRjLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlZTJkLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlZjBlLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlZmYwLi4uJywgNSwgdj0nNTAuMS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmMGQxLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmMWIyLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmMjkzLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmMzc0Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmNDU1Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmNTM2Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmNjE3Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmNmY4Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmN2Q5Li4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmOGJhLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmOTliLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmYTdjLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmYjVkLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmYzNlLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmZDFmLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmZTAwLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmZWUxLi4uJywgNSwgdj0nNTAuMS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmZmMyLi4uJywgNSwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMDBhLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMDE4Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMDI2Li4uJywgNiwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMDM0Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMDQyLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMDUwLi4uJywgNiwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMDVlLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMDZjLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMDdhLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMDg4Li4uJywgNiwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMDk2Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMGE0Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMGIyLi4uJywgNiwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMGMxLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMGNmLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMGRkLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMGViLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMGY5Li4uJywgNiwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMTA3Li4uJywgNiwgdj0nNTAuMS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMTE1Li4uJywgNiwgdj0nNTAuMS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMTIzLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMTMxLi4uJywgNiwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMTNmLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMTRkLi4uJywgNiwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMTViLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMTY5Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMTc3Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMTg1Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMTkzLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMWEyLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMWIwLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMWJlLi4uJywgNiwgdj0nNTAuMS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMWNjLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMWRhLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMWU4Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMWY2Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMjA1Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMjEzLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMjIxLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMjJmLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMjNkLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMjRiLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMjU5Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMjY3Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMjc2Li4uJywgNiwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMjgzLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMjkxLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMjlmLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMmFkLi4uJywgNiwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMmJiLi4uJywgNiwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMmM5Li4uJywgNiwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMmQ3Li4uJywgNiwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMmU1Li4uJywgNiwgdj0nNTAuMS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMmYzLi4uJywgNiwgdj0nNTAuMS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMzAxLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMzBmLi4uJywgNiwgdj0nNTAuMS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMzFkLi4uJywgNiwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMzJiLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMzM5Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMzQ3Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMzU1Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMzY0Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMzcyLi4uJywgNiwgdj0nNTAuMS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMzgwLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMzhlLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMzljLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxM2FhLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxM2I4Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxM2M2Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxM2Q0Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxM2UyLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxM2YwLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxM2ZlLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNDBjLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNDFhLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNDI4Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNDM2Li4uJywgNiwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNDQ1Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNDUzLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNDYxLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNDZmLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNDdkLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNDhiLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNDk5Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNGE3Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNGI1Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNGMzLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNGQxLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNGRmLi4uJywgNiwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNGVkLi4uJywgNiwgdj0nNTAuMS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNGZiLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNTA5Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNTE3Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNTI2Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNTM0Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNTQyLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNTUwLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNTVlLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNTZjLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNTdhLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNTg4Li4uJywgNiwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNTk2Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNWE0Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNWIyLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNWMwLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNWNlLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNWRjLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNWVhLi4uJywgNiwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNWY4Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNjA3Li4uJywgNiwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNjE1Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNjIzLi4uJywgNiwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNjMxLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNjNmLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNjRkLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNjViLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNjY5Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNjc3Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNjg1Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNjkzLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNmExLi4uJywgNiwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNmFmLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNmJkLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNmNiLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNmQ5Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNmU4Li4uJywgNiwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNmY2Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNzA0Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNzEyLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNzIwLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNzJlLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNzNjLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNzRhLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNzU4Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNzY2Li4uJywgNiwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNzc0Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNzgyLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNzkwLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNzllLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxN2FjLi4uJywgNiwgdj0nNTAuMS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxN2JhLi4uJywgNiwgdj0nNTAuMS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxN2M5Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxN2Q3Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxN2U1Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxN2YzLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxODAxLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxODBmLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxODFkLi4uJywgNiwgdj0nNTAuMS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxODJiLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxODM5Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxODQ3Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxODU1Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxODYzLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxODcxLi4uJywgNiwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxODdmLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxODhkLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxODljLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOGI4Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOGM2Li4uJywgNiwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOGQ0Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOGUyLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOGYwLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOGZlLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOTBjLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOTFhLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOTI4Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOTM2Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOTQ0Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOTUyLi4uJywgNiwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOTYwLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOTZlLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOTdjLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOThiLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOTk5Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOWI1Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOWMzLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOWQxLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOWRmLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOWVkLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOWVlLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOWZiLi4uJywgNiwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYTA5Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYTE3Li4uJywgNiwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYTI1Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYTMzLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYTQxLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYTRmLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYTVlLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYTZjLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYTdhLi4uJywgNiwgdj0nNTAuMS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYTg4Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYTk2Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYWE0Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYWIyLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYWMwLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYWNlLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYWRjLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYWVhLi4uJywgNiwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYWY4Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYjA2Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYjE0Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYzc0Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYzgyLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYzkwLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYzllLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxY2FjLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxY2JhLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxY2M4Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxY2Q2Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxY2U0Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxY2YyLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZDAxLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZDBmLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZDFkLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZDJiLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZDM5Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZDQ3Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZDU1Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZDYzLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZDcxLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZDdmLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZDhkLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZDliLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZGE5Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZGI3Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZGM1Li4uJywgNiwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZGQzLi4uJywgNiwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZGUxLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZGYwLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZGZlLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZTBjLi4uJywgNiwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZTFhLi4uJywgNiwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZTI4Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZTM2Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZTQ0Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZTUyLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZTYwLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZTZlLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZTdjLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZThhLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZTk4Li4uJywgNiwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZWE2Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZWI0Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZWMyLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZWQxLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZWRmLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZWVkLi4uJywgNiwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZWZiLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZjA5Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZjE3Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZjI1Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZjMzLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZjQxLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZjRmLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZjVkLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZjZiLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZjc5Li4uJywgNiwgdj0nNTAuMS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZjg3Li4uJywgNiwgdj0nNTAuMS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZjk1Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZmE0Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZmIyLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZmMwLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZmNlLi4uJywgNiwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZmRjLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZmVhLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZmY4Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMDA2Li4uJywgNiwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMDE0Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMDIyLi4uJywgNiwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMDMwLi4uJywgNiwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMDNlLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMDRjLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMDVhLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMDY4Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMDc2Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMDg0Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMDkzLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMGExLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMGFmLi4uJywgNiwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMGJkLi4uJywgNiwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMGNiLi4uJywgNiwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMGQ5Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMGU3Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMGY1Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMTAzLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMTExLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMTFmLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMTJkLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMTNiLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMTQ5Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMTU3Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMTY1Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMTc0Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMTgyLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMTkwLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMTllLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMWFjLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMWJhLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMWM4Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMWQ2Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMWU0Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMWYyLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMjAwLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMjBlLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMjFjLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMjJhLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMjM4Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMjQ3Li4uJywgNiwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMjU1Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMjYzLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMjcxLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMjdmLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMjhkLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMjliLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMmE5Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMmI3Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMmM1Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMmQzLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMmUxLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMmVmLi4uJywgNiwgdj0nNTAuMS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMmZkLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMzBiLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMzE5Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMzI3Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMzM2Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMzQ0Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMzUyLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMzYwLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMzZlLi4uJywgNiwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMzdjLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMzhhLi4uJywgNiwgdj0nNTAuMS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMzk4Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyM2E2Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyM2I0Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyM2MyLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyM2QwLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyM2RlLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyM2VjLi4uJywgNiwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyM2ZhLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNDA4Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNDE3Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNDI1Li4uJywgNiwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNDMzLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNDQxLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNDRmLi4uJywgNiwgdj0nNTAuMS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNDZiLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNDc5Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNDg3Li4uJywgNiwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNDk1Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNGEzLi4uJywgNiwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNGIxLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNGJmLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNGNkLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNGRiLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNGU5Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNGY4Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNTA2Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNTE0Li4uJywgNiwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNTIyLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNTMwLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNTNlLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNTRjLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNTVhLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNTY4Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNTc2Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNTg0Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNTkyLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNWEwLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNWFlLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNWJjLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNWNhLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNWQ5Li4uJywgNiwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNWU3Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNWY1Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNjAzLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNjExLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNjFmLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNjJkLi4uJywgNiwgdj0nNTAuMS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNjNiLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNjQ5Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNjU3Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNjY1Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNjczLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNjgxLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNjhmLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNjlkLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNmFiLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNmJhLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNmM4Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNmQ2Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNmU0Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNmYyLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNzAwLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNzBlLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNzFjLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNzJhLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNzM4Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNzQ2Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNzU0Li4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNzYyLi4uJywgNiwgdj0nNDkuOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNzcwLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNzdlLi4uJywgNiwgdj0nNTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCSwgNSkKK1NBWC5lbmRFbGVtZW50TnMocGFyLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhciwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbWVtaW5kPSc4NjEyLi4uJywgNCwgaD0nM2RjMS4uLicsIDgpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMCIgdi4uLicsIDEsIHY9JzI1LjAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZTA4Ii4uLicsIDMsIHY9JzI0LjAuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWMzMi4uLicsIDQsIHY9JzIzLjQuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMmEzYy4uLicsIDQsIHY9JzIzLjIuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMzgzNS4uLicsIDQsIHY9JzIyLjcuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNDY0NS4uLicsIDQsIHY9JzIyLjcuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNTQ1NS4uLicsIDQsIHY9JzI2LjIuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNjI2NS4uLicsIDQsIHY9JzI4LjguLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNzA3NS4uLicsIDQsIHY9JzM0LjQuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nN2U4NS4uLicsIDQsIHY9JzQwLjAuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOGM5Ni4uLicsIDQsIHY9JzQwLjUuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOWFhNS4uLicsIDQsIHY9JzM4LjYuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYThiNi4uLicsIDQsIHY9JzM1LjguLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYjZjNS4uLicsIDQsIHY9JzM0LjEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYzRkNy4uLicsIDQsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDMwYi4uLicsIDQsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZTBmNi4uLicsIDQsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZWYwNi4uLicsIDQsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZmQxNy4uLicsIDQsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTBiMi4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTE5My4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTI3NC4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTM1NS4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTQzNi4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTUxOC4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTVmOC4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTZkOS4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTdiYS4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTg5Yi4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTk3Yy4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWE1ZC4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWIzZS4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWMxZi4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWQwMC4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWRlMS4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWVjMi4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWZhMy4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjA4NC4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjE2NS4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjI0Ni4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjMyNy4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjQwOC4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjRlOS4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjVjYS4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjZhYi4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjc4Yy4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjg2ZC4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjk0ZS4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMmEzMC4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMmIxMC4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMmJmMS4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMmNkMi4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMmRiMy4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMmU5NC4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMmY3NS4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMzA1Ni4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMzEzNy4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMzIxOS4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMzJmOS4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMzNkYS4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMzRiYi4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMzU5ZC4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMzY3ZC4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMzc1ZS4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMzg0MC4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMzkyMS4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nM2EwMS4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nM2FlMi4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nM2JjMy4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nM2NhNC4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nM2Q4NS4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nM2U2Ni4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nM2Y0OC4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNDAyOC4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNDEwOS4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNDFlYS4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNDJjYi4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNDNhYy4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNDQ4ZC4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNDU2ZS4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNDY0Zi4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNDgwZi4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNDhmMC4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNDlkMS4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNGFiNC4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNGI5NS4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNGM3Ni4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNGQ1Ny4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNGUzOC4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNGYxOS4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNGZmYS4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNTBkZC4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNTFiYy4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNTI5ZC4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNTM3ZS4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNTQ2MC4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNTU0MC4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNTYyMS4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNTcwMi4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNTdlMy4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNThjNC4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNTlhNy4uLicsIDUsIHY9JzAuMDQuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNWE4Ni4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNWI2Ny4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNWM0OC4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNWQyOS4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNWUwYS4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNWVlYi4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNWZjYy4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNjBhZC4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNjE4ZS4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNjI2Zi4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNjM1MC4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNjQzMS4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNjUxMi4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNjVmMy4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNjZkNC4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNjdiNS4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNjg5Ni4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNjk3OC4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNmE1OC4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNmIzOS4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNmMxYS4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNmNmYi4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNmRkYy4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNmViZC4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNmY5ZS4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNzA3Zi4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNzE2MC4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNzI0MS4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNzMyMi4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNzQwMy4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNzRlNC4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNzVjNS4uLicsIDUsIHY9JzAuMDQuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNzZhNi4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNzc4Ny4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNzg2OC4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNzk0OC4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nN2EyOS4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nN2IwYS4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nN2JlYi4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nN2NjYy4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nN2RhZC4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nN2U4Zi4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nN2Y3MC4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nODA1MS4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nODEzMi4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nODIxMy4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nODJmNC4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nODNkNS4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nODRiNi4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nODU5Ny4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nODY3OC4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nODc1OS4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nODgzYS4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nODkxYi4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nODlmYy4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOGFkZC4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOGJiZS4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOGM5Zi4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOGQ4MC4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOGU2MS4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOGY0Mi4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOTAyMy4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOTEwNC4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOTFlNS4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOTJjNi4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOTNhOC4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOTQ4OC4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOTU2OS4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOTY0YS4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOTcyYi4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOTgwYy4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOThlZC4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOTljZS4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOWFhZi4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOWI5MC4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOWM3MS4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOWQ1Mi4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOWUzMy4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOWYxNC4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOWZmNS4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYTBkNi4uLicsIDUsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYTFiNy4uLicsIDUsIHY9JzM2LjEuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYTI5OC4uLicsIDUsIHY9JzE3LjYuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYTM3OS4uLicsIDUsIHY9JzguMzUuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYTQ1YS4uLicsIDUsIHY9JzUuOTUuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYTUzYi4uLicsIDUsIHY9JzcuMTMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYTYxYy4uLicsIDUsIHY9JzguNjQuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYTZmZC4uLicsIDUsIHY9JzYuNDIuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYTdlMC4uLicsIDUsIHY9JzEwLjIuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYThjMC4uLicsIDUsIHY9JzE0LjAuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYTlhMC4uLicsIDUsIHY9JzMuNTQuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYWE4MS4uLicsIDUsIHY9JzMuOCIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYWI2Mi4uLicsIDUsIHY9JzYuMDkuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYWM0My4uLicsIDUsIHY9JzUuMjAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYWQyNC4uLicsIDUsIHY9JzcuNTIuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYWUwNS4uLicsIDUsIHY9JzExLjMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYWVlNi4uLicsIDUsIHY9JzAuOTUuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYWZjNy4uLicsIDUsIHY9JzUuNzcuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYjBhOC4uLicsIDUsIHY9JzIxLjAuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYjI2YS4uLicsIDUsIHY9JzIyLjYuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYjM0Yi4uLicsIDUsIHY9JzE5LjMuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYjQyYy4uLicsIDUsIHY9JzEuMjYuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYjUwZC4uLicsIDUsIHY9JzMuMTMuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYjVlZS4uLicsIDUsIHY9JzYuMDkuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYjZjZi4uLicsIDUsIHY9JzcuMjcuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYjdiMC4uLicsIDUsIHY9JzkuMzcuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYjg5MS4uLicsIDUsIHY9JzcuNzEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYjk3Mi4uLicsIDUsIHY9JzguMTguLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYmE1My4uLicsIDUsIHY9JzkuODQuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYmIzNC4uLicsIDUsIHY9JzUuMjUuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYmMxNS4uLicsIDUsIHY9JzIuNjQuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYmNmNi4uLicsIDUsIHY9JzcuMTcuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYmRkOC4uLicsIDUsIHY9JzE5LjYuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYmViOC4uLicsIDUsIHY9JzQuNzAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYmY5OS4uLicsIDUsIHY9JzUuMDEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYzA3YS4uLicsIDUsIHY9JzUuMDIuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYzE1Yi4uLicsIDUsIHY9JzQuNDAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYzIzYy4uLicsIDUsIHY9JzUuMTYuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYzMxZC4uLicsIDUsIHY9JzEwLjkuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYzNmZS4uLicsIDUsIHY9JzUuMDkuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYzRkZi4uLicsIDUsIHY9JzEwLjAuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYzVjMC4uLicsIDUsIHY9JzQuMDguLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYzZhMS4uLicsIDUsIHY9JzUuMjIuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYzc4Mi4uLicsIDUsIHY9JzYuNjIuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYzg2My4uLicsIDUsIHY9JzIuNTcuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYzk0NC4uLicsIDUsIHY9JzMuNzYuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nY2EyNS4uLicsIDUsIHY9JzIuOTIuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nY2IwNi4uLicsIDUsIHY9JzQuMjMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nY2JlNy4uLicsIDUsIHY9JzIuNDQuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nY2NjOC4uLicsIDUsIHY9JzEwLjYuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nY2RhOS4uLicsIDUsIHY9JzE1LjAuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nY2U4YS4uLicsIDUsIHY9JzEwLjQuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nY2Y2Yi4uLicsIDUsIHY9JzE0LjIuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDA0Yy4uLicsIDUsIHY9JzExLjMuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDEyZC4uLicsIDUsIHY9JzcuMjYuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDIwZS4uLicsIDUsIHY9JzMuMjcuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDJmMC4uLicsIDUsIHY9JzEyLjcuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDNkMC4uLicsIDUsIHY9JzguODYuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDRiMS4uLicsIDUsIHY9JzguNDIuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDU5Mi4uLicsIDUsIHY9JzcuNTAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDY3My4uLicsIDUsIHY9JzcuODAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDc1NC4uLicsIDUsIHY9JzEwLjkuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDgzNS4uLicsIDUsIHY9JzUuNzQuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDkxNi4uLicsIDUsIHY9JzIuMDguLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDlmNy4uLicsIDUsIHY9JzcuNzUuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZGFkOC4uLicsIDUsIHY9JzE2LjcuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZGJiOS4uLicsIDUsIHY9JzE4LjQuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZGM5YS4uLicsIDUsIHY9JzE4LjguLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZGQ3Yi4uLicsIDUsIHY9JzE2LjAuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZGU1Yy4uLicsIDUsIHY9JzEzLjYuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZGYzZC4uLicsIDUsIHY9JzE0LjQuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZTAxZC4uLicsIDUsIHY9JzE0LjkuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZTBmZS4uLicsIDUsIHY9JzE0LjMuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZTFkZi4uLicsIDUsIHY9JzE1LjUuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZTJjMC4uLicsIDUsIHY9JzIwLjAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZTNhMS4uLicsIDUsIHY9JzIwLjAuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZTQ4Mi4uLicsIDUsIHY9JzE2LjMuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZTU2My4uLicsIDUsIHY9JzE3LjAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZTY0NC4uLicsIDUsIHY9JzExLjkuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZTcyNS4uLicsIDUsIHY9JzEwLjEuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZTgwNi4uLicsIDUsIHY9JzguNzMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZThlNy4uLicsIDUsIHY9JzE0LjMuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZTljOC4uLicsIDUsIHY9JzQuODYuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZWFhOS4uLicsIDUsIHY9JzQuMTQuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZWI4YS4uLicsIDUsIHY9JzYuMDEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZWM2Yi4uLicsIDUsIHY9JzE0LjYuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZWQ0Yy4uLicsIDUsIHY9JzkuOTguLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZWUyZC4uLicsIDUsIHY9JzExLjkuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZWYwZS4uLicsIDUsIHY9JzE1LjQuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZWZmMC4uLicsIDUsIHY9JzIyLjcuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZjBkMS4uLicsIDUsIHY9JzIyLjQuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZjFiMi4uLicsIDUsIHY9JzI0LjEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZjI5My4uLicsIDUsIHY9JzIzLjAuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZjM3NC4uLicsIDUsIHY9JzIzLjIuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZjQ1NS4uLicsIDUsIHY9JzI0LjAuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZjUzNi4uLicsIDUsIHY9JzI1LjkuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZjYxNy4uLicsIDUsIHY9JzI0LjcuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZjZmOC4uLicsIDUsIHY9JzI1LjMuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZjdkOS4uLicsIDUsIHY9JzIzLjEuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZjhiYS4uLicsIDUsIHY9JzE5LjQuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZjk5Yi4uLicsIDUsIHY9JzE5LjIuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZmE3Yy4uLicsIDUsIHY9JzE2LjEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZmI1ZC4uLicsIDUsIHY9JzE2LjIuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZmMzZS4uLicsIDUsIHY9JzE2LjYuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZmQxZi4uLicsIDUsIHY9JzE0LjIuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZmUwMC4uLicsIDUsIHY9JzE0LjAuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZmVlMS4uLicsIDUsIHY9JzkuNTUuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZmZjMi4uLicsIDUsIHY9JzkuMDcuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTAwYS4uLicsIDYsIHY9JzguMzMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTAxOC4uLicsIDYsIHY9JzkuNzcuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTAyNi4uLicsIDYsIHY9JzE0LjMuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTAzNC4uLicsIDYsIHY9JzE2LjAuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTA0Mi4uLicsIDYsIHY9JzE5LjkuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTA1MC4uLicsIDYsIHY9JzIzLjIuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTA1ZS4uLicsIDYsIHY9JzIzLjIuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTA2Yy4uLicsIDYsIHY9JzI1LjEuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTA3YS4uLicsIDYsIHY9JzIxLjUuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTA4OC4uLicsIDYsIHY9JzE5LjYuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTA5Ni4uLicsIDYsIHY9JzIxLjAuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTBhNC4uLicsIDYsIHY9JzIxLjEuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTBiMi4uLicsIDYsIHY9JzIyLjMuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTBjMS4uLicsIDYsIHY9JzI1LjEuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTBjZi4uLicsIDYsIHY9JzIzLjIuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTBkZC4uLicsIDYsIHY9JzIwLjkuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTBlYi4uLicsIDYsIHY9JzIyLjAuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTBmOS4uLicsIDYsIHY9JzE4LjcuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTEwNy4uLicsIDYsIHY9JzE2LjcuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTExNS4uLicsIDYsIHY9JzEzLjEuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTEyMy4uLicsIDYsIHY9JzEzLjkuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTEzMS4uLicsIDYsIHY9JzguNzEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTEzZi4uLicsIDYsIHY9JzguMTAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTE0ZC4uLicsIDYsIHY9JzguMTkuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTE1Yi4uLicsIDYsIHY9JzguMzAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTE2OS4uLicsIDYsIHY9JzEwLjEuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTE3Ny4uLicsIDYsIHY9JzE0LjIuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTE4NS4uLicsIDYsIHY9JzE1LjYuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTE5My4uLicsIDYsIHY9JzE5LjAuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTFhMi4uLicsIDYsIHY9JzIzLjkuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTFiMC4uLicsIDYsIHY9JzIwLjkuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTFiZS4uLicsIDYsIHY9JzI2LjAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTFjYy4uLicsIDYsIHY9JzIxLjQuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTFkYS4uLicsIDYsIHY9JzIxLjAuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTFlOC4uLicsIDYsIHY9JzIyLjEuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTFmNi4uLicsIDYsIHY9JzE5LjEuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTIwNS4uLicsIDYsIHY9JzAuMDEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTIxMy4uLicsIDYsIHY9JzAuMDIuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTIyMS4uLicsIDYsIHY9JzAuMDIuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTIyZi4uLicsIDYsIHY9JzAuMDEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTIzZC4uLicsIDYsIHY9JzAuMDEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTI0Yi4uLicsIDYsIHY9JzAuMDEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTI1OS4uLicsIDYsIHY9JzAuMDEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTI2Ny4uLicsIDYsIHY9JzAuMDEuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTI3Ni4uLicsIDYsIHY9JzAuMDEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTI4My4uLicsIDYsIHY9JzAuMDEuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTI5MS4uLicsIDYsIHY9JzAuMDEuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTI5Zi4uLicsIDYsIHY9JzAuMDEuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTJhZC4uLicsIDYsIHY9JzAuMDAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTJiYi4uLicsIDYsIHY9JzAuMDAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTJjOS4uLicsIDYsIHY9JzAuMDAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTJkNy4uLicsIDYsIHY9JzAuMDEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTJlNS4uLicsIDYsIHY9JzAuMDEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTJmMy4uLicsIDYsIHY9JzAuMDEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTMwMS4uLicsIDYsIHY9JzAuMDEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTMwZi4uLicsIDYsIHY9JzAuMDEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTMxZC4uLicsIDYsIHY9JzAuMDEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTMyYi4uLicsIDYsIHY9JzAuMDEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTMzOS4uLicsIDYsIHY9JzAuMjcuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTM0Ny4uLicsIDYsIHY9JzAuMDkuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTM1NS4uLicsIDYsIHY9JzAuMTQuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTM2NC4uLicsIDYsIHY9JzAuMjAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTM3Mi4uLicsIDYsIHY9JzAuMjEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTM4MC4uLicsIDYsIHY9JzAuMjEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTM4ZS4uLicsIDYsIHY9JzAuMjEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTM5Yy4uLicsIDYsIHY9JzAuMDcuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTNhYS4uLicsIDYsIHY9JzAuMDUuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTNiOC4uLicsIDYsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTNjNi4uLicsIDYsIHY9JzAuNDQuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTNkNC4uLicsIDYsIHY9JzAuMjEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTNlMi4uLicsIDYsIHY9JzAuMTYuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTNmMC4uLicsIDYsIHY9JzAuMTUuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTNmZS4uLicsIDYsIHY9JzAuMjMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTQwYy4uLicsIDYsIHY9JzAuMzMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTQxYS4uLicsIDYsIHY9JzAuMjEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTQyOC4uLicsIDYsIHY9JzAuMDQuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTQzNi4uLicsIDYsIHY9JzAuMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTQ0NS4uLicsIDYsIHY9JzAuMDIuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTQ1My4uLicsIDYsIHY9JzAuMDIuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTQ2MS4uLicsIDYsIHY9JzAuMDUuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTQ2Zi4uLicsIDYsIHY9JzAuMTQuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTQ3ZC4uLicsIDYsIHY9JzAuMDYuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTQ4Yi4uLicsIDYsIHY9JzAuMDguLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTQ5OS4uLicsIDYsIHY9JzAuMDYuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTRhNy4uLicsIDYsIHY9JzAuMTEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTRiNS4uLicsIDYsIHY9JzAuMDUuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTRjMy4uLicsIDYsIHY9JzAuMjMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTRkMS4uLicsIDYsIHY9JzAuMjAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTRkZi4uLicsIDYsIHY9JzAuMTYuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTRlZC4uLicsIDYsIHY9JzAuMDYuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTRmYi4uLicsIDYsIHY9JzAuMDIuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTUwOS4uLicsIDYsIHY9JzAuMDcuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTUxNy4uLicsIDYsIHY9JzAuMTUuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTUyNi4uLicsIDYsIHY9JzAuMTguLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTUzNC4uLicsIDYsIHY9JzAuMTQuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTU0Mi4uLicsIDYsIHY9JzAuMTUuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTU1MC4uLicsIDYsIHY9JzAuMTYuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTU1ZS4uLicsIDYsIHY9JzAuMjEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTU2Yy4uLicsIDYsIHY9JzAuMzAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTU3YS4uLicsIDYsIHY9JzAuMTYuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTU4OC4uLicsIDYsIHY9JzAuMTQuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTU5Ni4uLicsIDYsIHY9JzAuMjUuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTVhNC4uLicsIDYsIHY9JzAuMjEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTViMi4uLicsIDYsIHY9JzAuMTkuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTVjMC4uLicsIDYsIHY9JzAuMTEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTVjZS4uLicsIDYsIHY9JzAuMTEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTVkYy4uLicsIDYsIHY9JzAuMTAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTVlYS4uLicsIDYsIHY9JzAuMTEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTVmOC4uLicsIDYsIHY9JzAuMzAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTYwNy4uLicsIDYsIHY9JzAuMDMuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTYxNS4uLicsIDYsIHY9JzAuMDYuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTYyMy4uLicsIDYsIHY9JzAuMDQuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTYzMS4uLicsIDYsIHY9JzAuMDYuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTYzZi4uLicsIDYsIHY9JzAuMDYuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTY0ZC4uLicsIDYsIHY9JzAuMDIuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTY1Yi4uLicsIDYsIHY9JzAuMTAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTY2OS4uLicsIDYsIHY9JzAuMDkuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTY3Ny4uLicsIDYsIHY9JzAuMTQuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTY4NS4uLicsIDYsIHY9JzAuMTAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTY5My4uLicsIDYsIHY9JzAuMDkuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTZhMS4uLicsIDYsIHY9JzAuMDcuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTZhZi4uLicsIDYsIHY9JzAuMDYuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTZiZC4uLicsIDYsIHY9JzAuMTcuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTZjYi4uLicsIDYsIHY9JzAuMjEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTZkOS4uLicsIDYsIHY9JzAuMDguLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTZlOC4uLicsIDYsIHY9JzAuNjAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTZmNi4uLicsIDYsIHY9JzAuNjcuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTcwNC4uLicsIDYsIHY9JzAuNzIuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTcxMi4uLicsIDYsIHY9JzAuNDcuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTcyMC4uLicsIDYsIHY9JzAuNDcuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTcyZS4uLicsIDYsIHY9JzAuNDkuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTczYy4uLicsIDYsIHY9JzAuNDkuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTc0YS4uLicsIDYsIHY9JzAuNTcuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTc1OC4uLicsIDYsIHY9JzAuNjIuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTc2Ni4uLicsIDYsIHY9JzM1LjcuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTc3NC4uLicsIDYsIHY9JzMzLjkuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTc4Mi4uLicsIDYsIHY9JzM1LjIuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTc5MC4uLicsIDYsIHY9JzMyLjQuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTc5ZS4uLicsIDYsIHY9JzI4LjQuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTdhYy4uLicsIDYsIHY9JzI5LjIuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTdiYS4uLicsIDYsIHY9JzMwLjkuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTdjOS4uLicsIDYsIHY9JzI4LjAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTdkNy4uLicsIDYsIHY9JzI3LjcuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTdlNS4uLicsIDYsIHY9JzI4LjEuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTdmMy4uLicsIDYsIHY9JzI1LjUuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTgwMS4uLicsIDYsIHY9JzI1LjAuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTgwZi4uLicsIDYsIHY9JzMwLjAuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTgxZC4uLicsIDYsIHY9JzMyLjcuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTgyYi4uLicsIDYsIHY9JzM4LjEuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTgzOS4uLicsIDYsIHY9JzY0LjMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTg0Ny4uLicsIDYsIHY9JzYzLjUuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTg1NS4uLicsIDYsIHY9JzYwLjguLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTg2My4uLicsIDYsIHY9JzU3LjEuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTg3MS4uLicsIDYsIHY9JzU5LjQuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTg3Zi4uLicsIDYsIHY9JzU2LjYuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTg4ZC4uLicsIDYsIHY9JzYwLjUuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTg5Yy4uLicsIDYsIHY9JzU2LjguLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMThiOC4uLicsIDYsIHY9JzM3LjUuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMThjNi4uLicsIDYsIHY9JzQwLjEuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMThkNC4uLicsIDYsIHY9JzM4LjIuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMThlMi4uLicsIDYsIHY9JzMyLjEuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMThmMC4uLicsIDYsIHY9JzMwLjYuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMThmZS4uLicsIDYsIHY9JzI2LjkuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTkwYy4uLicsIDYsIHY9JzIxLjIuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTkxYS4uLicsIDYsIHY9JzIxLjYuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTkyOC4uLicsIDYsIHY9JzIxLjIuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTkzNi4uLicsIDYsIHY9JzIwLjguLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTk0NC4uLicsIDYsIHY9JzE5LjUuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTk1Mi4uLicsIDYsIHY9JzIwLjguLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTk2MC4uLicsIDYsIHY9JzI1LjYuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTk2ZS4uLicsIDYsIHY9JzI5LjEuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTk3Yy4uLicsIDYsIHY9JzMxLjIuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTk4Yi4uLicsIDYsIHY9JzI4LjQuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTk5OS4uLicsIDYsIHY9JzMyLjcuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTliNS4uLicsIDYsIHY9JzMyLjIuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTljMy4uLicsIDYsIHY9JzI5LjguLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTlkMS4uLicsIDYsIHY9JzI5LjIuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTlkZi4uLicsIDYsIHY9JzI5LjguLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTllZC4uLicsIDYsIHY9JzI5LjAuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTllZS4uLicsIDYsIHY9JzI5LjAuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTlmYi4uLicsIDYsIHY9JzEwLjQuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWEwOS4uLicsIDYsIHY9JzE4LjEuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWExNy4uLicsIDYsIHY9JzIzLjcuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWEyNS4uLicsIDYsIHY9JzI1LjguLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWEzMy4uLicsIDYsIHY9JzEzLjYuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWE0MS4uLicsIDYsIHY9JzE1LjYuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWE0Zi4uLicsIDYsIHY9JzIyLjIuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWE1ZS4uLicsIDYsIHY9JzIwLjUuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWE2Yy4uLicsIDYsIHY9JzE0LjguLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWE3YS4uLicsIDYsIHY9JzE3LjcuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWE4OC4uLicsIDYsIHY9JzE4LjIuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWE5Ni4uLicsIDYsIHY9JzE0LjguLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWFhNC4uLicsIDYsIHY9JzExLjMuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWFiMi4uLicsIDYsIHY9JzYuNDAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWFjMC4uLicsIDYsIHY9JzEzLjMuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWFjZS4uLicsIDYsIHY9JzE4LjAuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWFkYy4uLicsIDYsIHY9JzE2LjYuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWFlYS4uLicsIDYsIHY9JzE2LjIuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWFmOC4uLicsIDYsIHY9JzE3LjkuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWIwNi4uLicsIDYsIHY9JzE2LjguLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWIxNC4uLicsIDYsIHY9JzE2LjAuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWM3NC4uLicsIDYsIHY9JzQuMzMuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWM4Mi4uLicsIDYsIHY9JzQuMzMuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWM5MC4uLicsIDYsIHY9JzIxLjIuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWM5ZS4uLicsIDYsIHY9JzIwLjguLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWNhYy4uLicsIDYsIHY9JzIyLjkuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWNiYS4uLicsIDYsIHY9JzIyLjYuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWNjOC4uLicsIDYsIHY9JzM0LjcuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWNkNi4uLicsIDYsIHY9JzMzLjcuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWNlNC4uLicsIDYsIHY9JzMyLjcuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWNmMi4uLicsIDYsIHY9JzMzLjAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWQwMS4uLicsIDYsIHY9JzM0LjAuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWQwZi4uLicsIDYsIHY9JzM2LjUuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWQxZC4uLicsIDYsIHY9JzM2LjYuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWQyYi4uLicsIDYsIHY9JzM2LjcuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWQzOS4uLicsIDYsIHY9JzM3LjkuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWQ0Ny4uLicsIDYsIHY9JzM3LjguLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWQ1NS4uLicsIDYsIHY9JzM3LjAuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWQ2My4uLicsIDYsIHY9JzMyLjguLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWQ3MS4uLicsIDYsIHY9JzMxLjkuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWQ3Zi4uLicsIDYsIHY9JzMxLjMuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWQ4ZC4uLicsIDYsIHY9JzE1LjMuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWQ5Yi4uLicsIDYsIHY9JzE3LjYuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWRhOS4uLicsIDYsIHY9JzE3LjYuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWRiNy4uLicsIDYsIHY9JzE2LjUuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWRjNS4uLicsIDYsIHY9JzE3LjYuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWRkMy4uLicsIDYsIHY9JzE4LjAuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWRlMS4uLicsIDYsIHY9JzMyLjMuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWRmMC4uLicsIDYsIHY9JzM3LjEuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWRmZS4uLicsIDYsIHY9JzM2LjguLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWUwYy4uLicsIDYsIHY9JzM3LjYuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWUxYS4uLicsIDYsIHY9JzM3LjQuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWUyOC4uLicsIDYsIHY9JzM1LjkuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWUzNi4uLicsIDYsIHY9JzM0LjIuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWU0NC4uLicsIDYsIHY9JzMxLjQuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWU1Mi4uLicsIDYsIHY9JzI3LjkuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWU2MC4uLicsIDYsIHY9JzI3LjcuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWU2ZS4uLicsIDYsIHY9JzI3LjAuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWU3Yy4uLicsIDYsIHY9JzkuNjUuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWU4YS4uLicsIDYsIHY9JzguOTguLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWU5OC4uLicsIDYsIHY9JzguODcuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWVhNi4uLicsIDYsIHY9JzExLjUuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWViNC4uLicsIDYsIHY9JzExLjMuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWVjMi4uLicsIDYsIHY9JzEzLjEuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWVkMS4uLicsIDYsIHY9JzEyLjguLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWVkZi4uLicsIDYsIHY9JzEzLjUuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWVlZC4uLicsIDYsIHY9JzEyLjkuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWVmYi4uLicsIDYsIHY9JzEyLjguLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWYwOS4uLicsIDYsIHY9JzEyLjMuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWYxNy4uLicsIDYsIHY9JzExLjIuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWYyNS4uLicsIDYsIHY9JzExLjMuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWYzMy4uLicsIDYsIHY9JzEzLjkuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWY0MS4uLicsIDYsIHY9JzIwLjcuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWY0Zi4uLicsIDYsIHY9JzE3LjMuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWY1ZC4uLicsIDYsIHY9JzE3LjguLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWY2Yi4uLicsIDYsIHY9JzE3LjcuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWY3OS4uLicsIDYsIHY9JzE1LjYuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWY4Ny4uLicsIDYsIHY9JzE4LjcuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWY5NS4uLicsIDYsIHY9JzE5LjYuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWZhNC4uLicsIDYsIHY9JzE1LjguLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWZiMi4uLicsIDYsIHY9JzE0LjIuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWZjMC4uLicsIDYsIHY9JzE0LjEuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWZjZS4uLicsIDYsIHY9JzEwLjQuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWZkYy4uLicsIDYsIHY9JzEwLjEuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWZlYS4uLicsIDYsIHY9JzEwLjIuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWZmOC4uLicsIDYsIHY9JzEyLjQuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjAwNi4uLicsIDYsIHY9JzE4LjcuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjAxNC4uLicsIDYsIHY9JzE3LjcuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjAyMi4uLicsIDYsIHY9JzI0LjQuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjAzMC4uLicsIDYsIHY9JzI3LjguLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjAzZS4uLicsIDYsIHY9JzMxLjEuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjA0Yy4uLicsIDYsIHY9JzI4LjAuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjA1YS4uLicsIDYsIHY9JzI2LjcuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjA2OC4uLicsIDYsIHY9JzI3LjkuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjA3Ni4uLicsIDYsIHY9JzMxLjguLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjA4NC4uLicsIDYsIHY9JzMwLjYuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjA5My4uLicsIDYsIHY9JzMzLjIuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjBhMS4uLicsIDYsIHY9JzMxLjUuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjBhZi4uLicsIDYsIHY9JzI3LjAuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjBiZC4uLicsIDYsIHY9JzI2LjguLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjBjYi4uLicsIDYsIHY9JzIyLjguLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjBkOS4uLicsIDYsIHY9JzIxLjEuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjBlNy4uLicsIDYsIHY9JzIwLjcuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjBmNS4uLicsIDYsIHY9JzIwLjQuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjEwMy4uLicsIDYsIHY9JzE3LjEuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjExMS4uLicsIDYsIHY9JzE0LjguLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjExZi4uLicsIDYsIHY9JzE0LjQuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjEyZC4uLicsIDYsIHY9JzEzLjguLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjEzYi4uLicsIDYsIHY9JzE0LjIuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjE0OS4uLicsIDYsIHY9JzE4LjMuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjE1Ny4uLicsIDYsIHY9JzIyLjYuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjE2NS4uLicsIDYsIHY9JzI5LjAuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjE3NC4uLicsIDYsIHY9JzMwLjkuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjE4Mi4uLicsIDYsIHY9JzMxLjIuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjE5MC4uLicsIDYsIHY9JzMwLjUuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjE5ZS4uLicsIDYsIHY9JzMwLjcuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjFhYy4uLicsIDYsIHY9JzI5LjcuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjFiYS4uLicsIDYsIHY9JzI5LjYuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjFjOC4uLicsIDYsIHY9JzMwLjQuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjFkNi4uLicsIDYsIHY9JzMxLjAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjFlNC4uLicsIDYsIHY9JzI4LjkuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjFmMi4uLicsIDYsIHY9JzI4LjQuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjIwMC4uLicsIDYsIHY9JzI3LjcuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjIwZS4uLicsIDYsIHY9JzI2LjYuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjIxYy4uLicsIDYsIHY9JzI0LjAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjIyYS4uLicsIDYsIHY9JzE4LjguLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjIzOC4uLicsIDYsIHY9JzE3LjUuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjI0Ny4uLicsIDYsIHY9JzE2LjQuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjI1NS4uLicsIDYsIHY9JzE4LjQuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjI2My4uLicsIDYsIHY9JzkuODMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjI3MS4uLicsIDYsIHY9JzkuNzMuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjI3Zi4uLicsIDYsIHY9JzEyLjYuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjI4ZC4uLicsIDYsIHY9JzE3LjIuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjI5Yi4uLicsIDYsIHY9JzE3LjEuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjJhOS4uLicsIDYsIHY9JzE5LjMuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjJiNy4uLicsIDYsIHY9JzIyLjcuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjJjNS4uLicsIDYsIHY9JzI1LjkuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjJkMy4uLicsIDYsIHY9JzI4LjMuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjJlMS4uLicsIDYsIHY9JzI4LjQuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjJlZi4uLicsIDYsIHY9JzIzLjUuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjJmZC4uLicsIDYsIHY9JzIyLjYuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjMwYi4uLicsIDYsIHY9JzIyLjEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjMxOS4uLicsIDYsIHY9JzI3LjEuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjMyNy4uLicsIDYsIHY9JzI3LjcuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjMzNi4uLicsIDYsIHY9JzI5LjcuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjM0NC4uLicsIDYsIHY9JzI3LjMuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjM1Mi4uLicsIDYsIHY9JzI1LjguLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjM2MC4uLicsIDYsIHY9JzI1LjguLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjM2ZS4uLicsIDYsIHY9JzIzLjIuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjM3Yy4uLicsIDYsIHY9JzIxLjYuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjM4YS4uLicsIDYsIHY9JzE5LjQuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjM5OC4uLicsIDYsIHY9JzE1LjkuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjNhNi4uLicsIDYsIHY9JzE2LjAuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjNiNC4uLicsIDYsIHY9JzE1LjYuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjNjMi4uLicsIDYsIHY9JzEzLjcuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjNkMC4uLicsIDYsIHY9JzE0LjMuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjNkZS4uLicsIDYsIHY9JzE1LjcuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjNlYy4uLicsIDYsIHY9JzE4LjEuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjNmYS4uLicsIDYsIHY9JzIyLjEuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjQwOC4uLicsIDYsIHY9JzI2LjAuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjQxNy4uLicsIDYsIHY9JzM0LjguLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjQyNS4uLicsIDYsIHY9JzM1LjkuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjQzMy4uLicsIDYsIHY9JzM2LjcuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjQ0MS4uLicsIDYsIHY9JzM0LjIuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjQ0Zi4uLicsIDYsIHY9JzMyLjAuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjQ2Yi4uLicsIDYsIHY9JzMzLjAuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjQ3OS4uLicsIDYsIHY9JzMxLjYuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjQ4Ny4uLicsIDYsIHY9JzM2LjguLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjQ5NS4uLicsIDYsIHY9JzMwLjQuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjRhMy4uLicsIDYsIHY9JzI4LjIuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjRiMS4uLicsIDYsIHY9JzI4LjkuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjRiZi4uLicsIDYsIHY9JzI3LjEuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjRjZC4uLicsIDYsIHY9JzI2LjQuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjRkYi4uLicsIDYsIHY9JzIxLjguLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjRlOS4uLicsIDYsIHY9JzIwLjAuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjRmOC4uLicsIDYsIHY9JzE3LjAuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjUwNi4uLicsIDYsIHY9JzE3LjkuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjUxNC4uLicsIDYsIHY9JzE3LjkuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjUyMi4uLicsIDYsIHY9JzE2LjEuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjUzMC4uLicsIDYsIHY9JzE3LjMuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjUzZS4uLicsIDYsIHY9JzIwLjkuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjU0Yy4uLicsIDYsIHY9JzIxLjIuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjU1YS4uLicsIDYsIHY9JzI1LjAuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjU2OC4uLicsIDYsIHY9JzMxLjIuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjU3Ni4uLicsIDYsIHY9JzMzLjcuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjU4NC4uLicsIDYsIHY9JzgyLjcuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjU5Mi4uLicsIDYsIHY9JzQ2LjcuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjVhMC4uLicsIDYsIHY9JzIyLjkuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjVhZS4uLicsIDYsIHY9JzMxLjMuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjViYy4uLicsIDYsIHY9JzMwLjQuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjVjYS4uLicsIDYsIHY9JzI4LjguLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjVkOS4uLicsIDYsIHY9JzMwLjcuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjVlNy4uLicsIDYsIHY9JzMxLjAuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjVmNS4uLicsIDYsIHY9JzI4LjAuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjYwMy4uLicsIDYsIHY9JzI3LjEuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjYxMS4uLicsIDYsIHY9JzI0LjkuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjYxZi4uLicsIDYsIHY9JzIyLjguLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjYyZC4uLicsIDYsIHY9JzIzLjIuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjYzYi4uLicsIDYsIHY9JzE3LjUuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjY0OS4uLicsIDYsIHY9JzE3LjUuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjY1Ny4uLicsIDYsIHY9JzE4LjcuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjY2NS4uLicsIDYsIHY9JzIwLjYuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjY3My4uLicsIDYsIHY9JzE5LjMuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjY4MS4uLicsIDYsIHY9JzE4LjYuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjY4Zi4uLicsIDYsIHY9JzE4LjcuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjY5ZC4uLicsIDYsIHY9JzE4LjkuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjZhYi4uLicsIDYsIHY9JzE4LjkuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjZiYS4uLicsIDYsIHY9JzIzLjQuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjZjOC4uLicsIDYsIHY9JzIzLjUuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjZkNi4uLicsIDYsIHY9JzI2LjkuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjZlNC4uLicsIDYsIHY9JzI0LjAuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjZmMi4uLicsIDYsIHY9JzIzLjEuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjcwMC4uLicsIDYsIHY9JzIzLjkuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjcwZS4uLicsIDYsIHY9JzI0Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjcxYy4uLicsIDYsIHY9JzIyLjguLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjcyYS4uLicsIDYsIHY9JzI2LjIuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjczOC4uLicsIDYsIHY9JzI1LjkuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjc0Ni4uLicsIDYsIHY9JzI1LjEuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjc1NC4uLicsIDYsIHY9JzI0LjcuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjc2Mi4uLicsIDYsIHY9JzIzLjcuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjc3MC4uLicsIDYsIHY9JzE4LjguLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjc3ZS4uLicsIDYsIHY9JzE1LjMuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQksIDUpCitTQVguZW5kRWxlbWVudE5zKHBhciwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCSwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhwYXIsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG1lbWluZD0nODYwOC4uLicsIDQsIGg9JzNkYzEuLi4nLCA4KQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzAiIHYuLi4nLCAxLCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2UwOCIuLi4nLCAzLCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFjMzIuLi4nLCA0LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzJhM2MuLi4nLCA0LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzM4MzUuLi4nLCA0LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzQ2NDUuLi4nLCA0LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzU0NTUuLi4nLCA0LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzYyNjUuLi4nLCA0LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzcwNzUuLi4nLCA0LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzdlODUuLi4nLCA0LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzhjOTYuLi4nLCA0LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzlhYTUuLi4nLCA0LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2E4YjYuLi4nLCA0LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2I2YzUuLi4nLCA0LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2M0ZDcuLi4nLCA0LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2QzMGIuLi4nLCA0LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2UwZjYuLi4nLCA0LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2VmMDYuLi4nLCA0LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2ZkMTcuLi4nLCA0LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwYjIuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExOTMuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyNzQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzNTUuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0MzYuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1MTguLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1ZjguLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2ZDkuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3YmEuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4OWIuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5N2MuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhNWQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFiM2UuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFjMWYuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkMDAuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkZTEuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlYzIuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmYTMuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwODQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxNjUuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyNDYuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzMjcuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0MDguLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0ZTkuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1Y2EuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2YWIuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI3OGMuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI4NmQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI5NGUuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzJhMzAuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzJiMTAuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzJiZjEuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzJjZDIuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzJkYjMuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzJlOTQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzJmNzUuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzMwNTYuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzMxMzcuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzMyMTkuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzMyZjkuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzMzZGEuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzM0YmIuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzM1OWQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzM2N2QuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzM3NWUuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzM4NDAuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzM5MjEuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzNhMDEuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzNhZTIuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzNiYzMuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzNjYTQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzNkODUuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzNlNjYuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzNmNDguLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzQwMjguLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzQxMDkuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzQxZWEuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzQyY2IuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzQzYWMuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzQ0OGQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzQ1NmUuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzQ2NGYuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzQ4MGYuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzQ4ZjAuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzQ5ZDEuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzRhYjQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzRiOTUuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzRjNzYuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzRkNTcuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzRlMzguLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzRmMTkuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzRmZmEuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzUwZGQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzUxYmMuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzUyOWQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzUzN2UuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzU0NjAuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzU1NDAuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzU2MjEuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzU3MDIuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzU3ZTMuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzU4YzQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzU5YTcuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzVhODYuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzViNjcuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzVjNDguLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzVkMjkuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzVlMGEuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzVlZWIuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzVmY2MuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzYwYWQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzYxOGUuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzYyNmYuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzYzNTAuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzY0MzEuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzY1MTIuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzY1ZjMuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzY2ZDQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzY3YjUuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzY4OTYuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzY5NzguLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzZhNTguLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzZiMzkuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzZjMWEuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzZjZmIuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzZkZGMuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzZlYmQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzZmOWUuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzcwN2YuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzcxNjAuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzcyNDEuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzczMjIuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzc0MDMuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzc0ZTQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzc1YzUuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzc2YTYuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzc3ODcuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzc4NjguLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzc5NDguLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzdhMjkuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzdiMGEuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzdiZWIuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzdjY2MuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzdkYWQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzdlOGYuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzdmNzAuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzgwNTEuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzgxMzIuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzgyMTMuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzgyZjQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzgzZDUuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzg0YjYuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzg1OTcuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzg2NzguLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzg3NTkuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzg4M2EuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzg5MWIuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzg5ZmMuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzhhZGQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzhiYmUuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzhjOWYuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzhkODAuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzhlNjEuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzhmNDIuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzkwMjMuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzkxMDQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzkxZTUuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzkyYzYuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzkzYTguLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzk0ODguLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzk1NjkuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzk2NGEuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzk3MmIuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzk4MGMuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzk4ZWQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzk5Y2UuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzlhYWYuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzliOTAuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzljNzEuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzlkNTIuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzllMzMuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzlmMTQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzlmZjUuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2EwZDYuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2ExYjcuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2EyOTguLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2EzNzkuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2E0NWEuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2E1M2IuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2E2MWMuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2E2ZmQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2E3ZTAuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2E4YzAuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2E5YTAuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2FhODEuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2FiNjIuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2FjNDMuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2FkMjQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2FlMDUuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2FlZTYuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2FmYzcuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2IwYTguLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2IyNmEuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2IzNGIuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2I0MmMuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2I1MGQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2I1ZWUuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2I2Y2YuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2I3YjAuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2I4OTEuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2I5NzIuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2JhNTMuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2JiMzQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2JjMTUuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2JjZjYuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2JkZDguLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2JlYjguLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2JmOTkuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2MwN2EuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2MxNWIuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2MyM2MuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2MzMWQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2MzZmUuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2M0ZGYuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2M1YzAuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2M2YTEuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2M3ODIuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2M4NjMuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2M5NDQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2NhMjUuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2NiMDYuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2NiZTcuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2NjYzguLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2NkYTkuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2NlOGEuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2NmNmIuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2QwNGMuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2QxMmQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2QyMGUuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2QyZjAuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2QzZDAuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2Q0YjEuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2Q1OTIuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2Q2NzMuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2Q3NTQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2Q4MzUuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2Q5MTYuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2Q5ZjcuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2RhZDguLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2RiYjkuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2RjOWEuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2RkN2IuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2RlNWMuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2RmM2QuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2UwMWQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2UwZmUuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2UxZGYuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2UyYzAuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2UzYTEuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2U0ODIuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2U1NjMuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2U2NDQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2U3MjUuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2U4MDYuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2U4ZTcuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2U5YzguLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2VhYTkuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2ViOGEuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2VjNmIuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2VkNGMuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2VlMmQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2VmMGUuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2VmZjAuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2YwZDEuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2YxYjIuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2YyOTMuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2YzNzQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2Y0NTUuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2Y1MzYuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2Y2MTcuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2Y2ZjguLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2Y3ZDkuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2Y4YmEuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2Y5OWIuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2ZhN2MuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2ZiNWQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2ZjM2UuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2ZkMWYuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2ZlMDAuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2ZlZTEuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2ZmYzIuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwMGEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwMTguLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwMjYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwMzQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwNDIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwNTAuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwNWUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwNmMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwN2EuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwODguLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwOTYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwYTQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwYjIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwYzEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwY2YuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwZGQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwZWIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwZjkuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExMDcuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExMTUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExMjMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExMzEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExM2YuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExNGQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExNWIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExNjkuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExNzcuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExODUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExOTMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExYTIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExYjAuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExYmUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExY2MuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExZGEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExZTguLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExZjYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyMDUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyMTMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyMjEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyMmYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyM2QuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyNGIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyNTkuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyNjcuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyNzYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyODMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyOTEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyOWYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyYWQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyYmIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyYzkuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyZDcuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyZTUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyZjMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzMDEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzMGYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzMWQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzMmIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzMzkuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzNDcuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzNTUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzNjQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzNzIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzODAuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzOGUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzOWMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzYWEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzYjguLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzYzYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzZDQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzZTIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzZjAuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzZmUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0MGMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0MWEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0MjguLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0MzYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0NDUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0NTMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0NjEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0NmYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0N2QuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0OGIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0OTkuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0YTcuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0YjUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0YzMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0ZDEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0ZGYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0ZWQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0ZmIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1MDkuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1MTcuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1MjYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1MzQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1NDIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1NTAuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1NWUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1NmMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1N2EuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1ODguLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1OTYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1YTQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1YjIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1YzAuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1Y2UuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1ZGMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1ZWEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1ZjguLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2MDcuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2MTUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2MjMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2MzEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2M2YuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2NGQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2NWIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2NjkuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2NzcuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2ODUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2OTMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2YTEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2YWYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2YmQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2Y2IuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2ZDkuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2ZTguLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2ZjYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3MDQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3MTIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3MjAuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3MmUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3M2MuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3NGEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3NTguLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3NjYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3NzQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3ODIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3OTAuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3OWUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3YWMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3YmEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3YzkuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3ZDcuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3ZTUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3ZjMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4MDEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4MGYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4MWQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4MmIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4MzkuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4NDcuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4NTUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4NjMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4NzEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4N2YuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4OGQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4OWMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4YjguLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4YzYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4ZDQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4ZTIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4ZjAuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4ZmUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5MGMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5MWEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5MjguLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5MzYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5NDQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5NTIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5NjAuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5NmUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5N2MuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5OGIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5OTkuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5YjUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5YzMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5ZDEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5ZGYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5ZWQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5ZWUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5ZmIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhMDkuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhMTcuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhMjUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhMzMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhNDEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhNGYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhNWUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhNmMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhN2EuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhODguLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhOTYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhYTQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhYjIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhYzAuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhY2UuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhZGMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhZWEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhZjguLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFiMDYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFiMTQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFjNzQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFjODIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFjOTAuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFjOWUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFjYWMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFjYmEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFjYzguLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFjZDYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFjZTQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFjZjIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkMDEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkMGYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkMWQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkMmIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkMzkuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkNDcuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkNTUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkNjMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkNzEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkN2YuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkOGQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkOWIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkYTkuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkYjcuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkYzUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkZDMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkZTEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkZjAuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkZmUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlMGMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlMWEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlMjguLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlMzYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlNDQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlNTIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlNjAuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlNmUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlN2MuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlOGEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlOTguLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlYTYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlYjQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlYzIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlZDEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlZGYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlZWQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlZmIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmMDkuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmMTcuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmMjUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmMzMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmNDEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmNGYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmNWQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmNmIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmNzkuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmODcuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmOTUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmYTQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmYjIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmYzAuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmY2UuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmZGMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmZWEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmZjguLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwMDYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwMTQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwMjIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwMzAuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwM2UuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwNGMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwNWEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwNjguLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwNzYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwODQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwOTMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwYTEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwYWYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwYmQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwY2IuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwZDkuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwZTcuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwZjUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxMDMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxMTEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxMWYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxMmQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxM2IuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxNDkuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxNTcuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxNjUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxNzQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxODIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxOTAuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxOWUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxYWMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxYmEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxYzguLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxZDYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxZTQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxZjIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyMDAuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyMGUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyMWMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyMmEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyMzguLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyNDcuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyNTUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyNjMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyNzEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyN2YuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyOGQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyOWIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyYTkuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyYjcuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyYzUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyZDMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyZTEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyZWYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyZmQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzMGIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzMTkuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzMjcuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzMzYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzNDQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzNTIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzNjAuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzNmUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzN2MuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzOGEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzOTguLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzYTYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzYjQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzYzIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzZDAuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzZGUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzZWMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzZmEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0MDguLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0MTcuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0MjUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0MzMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0NDEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0NGYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0NmIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0NzkuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0ODcuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0OTUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0YTMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0YjEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0YmYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0Y2QuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0ZGIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0ZTkuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0ZjguLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1MDYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1MTQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1MjIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1MzAuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1M2UuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1NGMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1NWEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1NjguLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1NzYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1ODQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1OTIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1YTAuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1YWUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1YmMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1Y2EuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1ZDkuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1ZTcuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1ZjUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2MDMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2MTEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2MWYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2MmQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2M2IuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2NDkuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2NTcuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2NjUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2NzMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2ODEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2OGYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2OWQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2YWIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2YmEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2YzguLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2ZDYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2ZTQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2ZjIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI3MDAuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI3MGUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI3MWMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI3MmEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI3MzguLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI3NDYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI3NTQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI3NjIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI3NzAuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI3N2UuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJLCA1KQorU0FYLmVuZEVsZW1lbnROcyhwYXIsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQksIDUpCitTQVguc3RhcnRFbGVtZW50TnMocGFyLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBtZW1pbmQ9Jzg2MDQuLi4nLCA0LCBoPSczZGMxLi4uJywgOCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScwIiB2Li4uJywgMSwgdj0nMjEuMC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlMDgiLi4uJywgMywgdj0nMjAuMC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYzMyLi4uJywgNCwgdj0nMTkuOC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyYTNjLi4uJywgNCwgdj0nMTkuNS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczODM1Li4uJywgNCwgdj0nMTguOS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0NjQ1Li4uJywgNCwgdj0nMTguOC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1NDU1Li4uJywgNCwgdj0nMjIuMy4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2MjY1Li4uJywgNCwgdj0nMjQuNC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3MDc1Li4uJywgNCwgdj0nMjkuMi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3ZTg1Li4uJywgNCwgdj0nMzUuMC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4Yzk2Li4uJywgNCwgdj0nMzUuMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5YWE1Li4uJywgNCwgdj0nMzMuNS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhOGI2Li4uJywgNCwgdj0nMzAuNy4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiNmM1Li4uJywgNCwgdj0nMjkuMS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjNGQ3Li4uJywgNCwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkMzBiLi4uJywgNCwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlMGY2Li4uJywgNCwgdj0nMC4wNi4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlZjA2Li4uJywgNCwgdj0nMC4wNS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmZDE3Li4uJywgNCwgdj0nMC4wNi4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMGIyLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMTkzLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMjc0Li4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMzU1Li4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNDM2Li4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNTE4Li4uJywgNSwgdj0nMC4wNy4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNWY4Li4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNmQ5Li4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxN2JhLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxODliLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOTdjLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYTVkLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYjNlLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYzFmLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZDAwLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZGUxLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZWMyLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZmEzLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMDg0Li4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMTY1Li4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMjQ2Li4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMzI3Li4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNDA4Li4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNGU5Li4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNWNhLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNmFiLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNzhjLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyODZkLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyOTRlLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyYTMwLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyYjEwLi4uJywgNSwgdj0nMC4wNi4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyYmYxLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyY2QyLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyZGIzLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyZTk0Li4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyZjc1Li4uJywgNSwgdj0nMC4wNS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczMDU2Li4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczMTM3Li4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczMjE5Li4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczMmY5Li4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczM2RhLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczNGJiLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczNTlkLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczNjdkLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczNzVlLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczODQwLi4uJywgNSwgdj0nMC4wNS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczOTIxLi4uJywgNSwgdj0nMC4wNi4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczYTAxLi4uJywgNSwgdj0nMC4wNi4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczYWUyLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczYmMzLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczY2E0Li4uJywgNSwgdj0nMC4wNS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczZDg1Li4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczZTY2Li4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczZjQ4Li4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0MDI4Li4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0MTA5Li4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0MWVhLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0MmNiLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0M2FjLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0NDhkLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0NTZlLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0NjRmLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0ODBmLi4uJywgNSwgdj0nMC4wNS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0OGYwLi4uJywgNSwgdj0nMC4wNS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0OWQxLi4uJywgNSwgdj0nMC4wNS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0YWI0Li4uJywgNSwgdj0nMC4wNS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0Yjk1Li4uJywgNSwgdj0nMC4wNS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0Yzc2Li4uJywgNSwgdj0nMC4wNS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0ZDU3Li4uJywgNSwgdj0nMC4wNS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0ZTM4Li4uJywgNSwgdj0nMC4wNS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0ZjE5Li4uJywgNSwgdj0nMC4wNS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0ZmZhLi4uJywgNSwgdj0nMC4wNS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1MGRkLi4uJywgNSwgdj0nMC4wNi4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1MWJjLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1MjlkLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1MzdlLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1NDYwLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1NTQwLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1NjIxLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1NzAyLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1N2UzLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1OGM0Li4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1OWE3Li4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1YTg2Li4uJywgNSwgdj0nMC4wNi4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1YjY3Li4uJywgNSwgdj0nMC4wNi4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1YzQ4Li4uJywgNSwgdj0nMC4wNS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1ZDI5Li4uJywgNSwgdj0nMC4wNS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1ZTBhLi4uJywgNSwgdj0nMC4wNi4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1ZWViLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1ZmNjLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2MGFkLi4uJywgNSwgdj0nMC4wNS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2MThlLi4uJywgNSwgdj0nMC4wNS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2MjZmLi4uJywgNSwgdj0nMC4wNS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2MzUwLi4uJywgNSwgdj0nMC4wNS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2NDMxLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2NTEyLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2NWYzLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2NmQ0Li4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2N2I1Li4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2ODk2Li4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2OTc4Li4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2YTU4Li4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2YjM5Li4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2YzFhLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2Y2ZiLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2ZGRjLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2ZWJkLi4uJywgNSwgdj0nMC4wNS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2ZjllLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3MDdmLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3MTYwLi4uJywgNSwgdj0nMC4wNS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3MjQxLi4uJywgNSwgdj0nMC4wNS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3MzIyLi4uJywgNSwgdj0nMC4wNS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3NDAzLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3NGU0Li4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3NWM1Li4uJywgNSwgdj0nMC4wNS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3NmE2Li4uJywgNSwgdj0nMC4wNS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3Nzg3Li4uJywgNSwgdj0nMC4wNS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3ODY4Li4uJywgNSwgdj0nMC4wNS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3OTQ4Li4uJywgNSwgdj0nMC4wNS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3YTI5Li4uJywgNSwgdj0nMC4wNi4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3YjBhLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3YmViLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3Y2NjLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3ZGFkLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3ZThmLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3ZjcwLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4MDUxLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4MTMyLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4MjEzLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4MmY0Li4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4M2Q1Li4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4NGI2Li4uJywgNSwgdj0nMC4wNi4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4NTk3Li4uJywgNSwgdj0nMC4wNS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4Njc4Li4uJywgNSwgdj0nMC4wNS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4NzU5Li4uJywgNSwgdj0nMC4wNS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4ODNhLi4uJywgNSwgdj0nMC4wNi4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4OTFiLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4OWZjLi4uJywgNSwgdj0nMC4wNi4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4YWRkLi4uJywgNSwgdj0nMC4wNS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4YmJlLi4uJywgNSwgdj0nMC4wNS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4YzlmLi4uJywgNSwgdj0nMC4wNS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4ZDgwLi4uJywgNSwgdj0nMC4wNS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4ZTYxLi4uJywgNSwgdj0nMC4wNS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4ZjQyLi4uJywgNSwgdj0nMC4wNi4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5MDIzLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5MTA0Li4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5MWU1Li4uJywgNSwgdj0nMC4wNi4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5MmM2Li4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5M2E4Li4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5NDg4Li4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5NTY5Li4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5NjRhLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5NzJiLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5ODBjLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5OGVkLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5OWNlLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5YWFmLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5YjkwLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5YzcxLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5ZDUyLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5ZTMzLi4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5ZjE0Li4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5ZmY1Li4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhMGQ2Li4uJywgNSwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhMWI3Li4uJywgNSwgdj0nMzAuMi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhMjk4Li4uJywgNSwgdj0nMTYuMC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhMzc5Li4uJywgNSwgdj0nMTAuMi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhNDVhLi4uJywgNSwgdj0nMy44My4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhNTNiLi4uJywgNSwgdj0nMy4zMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhNjFjLi4uJywgNSwgdj0nNC4xOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhNmZkLi4uJywgNSwgdj0nMi4wMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhN2UwLi4uJywgNSwgdj0nNC45MS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhOGMwLi4uJywgNSwgdj0nNy44OS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhOWEwLi4uJywgNSwgdj0nMi45My4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhYTgxLi4uJywgNSwgdj0nMS40OC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhYjYyLi4uJywgNSwgdj0nMi4xOS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhYzQzLi4uJywgNSwgdj0nMS42Ny4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhZDI0Li4uJywgNSwgdj0nNS45OC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhZTA1Li4uJywgNSwgdj0nMTAuNi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhZWU2Li4uJywgNSwgdj0nMy42NS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhZmM3Li4uJywgNSwgdj0nNy4yNS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiMGE4Li4uJywgNSwgdj0nMTkuNy4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiMjZhLi4uJywgNSwgdj0nMjEuMS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiMzRiLi4uJywgNSwgdj0nMTguMy4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiNDJjLi4uJywgNSwgdj0nMy40NS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiNTBkLi4uJywgNSwgdj0nNC45MS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiNWVlLi4uJywgNSwgdj0nNy4zMy4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiNmNmLi4uJywgNSwgdj0nNy4yMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiN2IwLi4uJywgNSwgdj0nOS4xOS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiODkxLi4uJywgNSwgdj0nOC4wMi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiOTcyLi4uJywgNSwgdj0nNy42OC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiYTUzLi4uJywgNSwgdj0nOC42Ni4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiYjM0Li4uJywgNSwgdj0nNy43My4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiYzE1Li4uJywgNSwgdj0nNS4xNC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiY2Y2Li4uJywgNSwgdj0nNS4wOC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiZGQ4Li4uJywgNSwgdj0nMTguNC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiZWI4Li4uJywgNSwgdj0nNC42Ny4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiZjk5Li4uJywgNSwgdj0nMy45Ny4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjMDdhLi4uJywgNSwgdj0nMi4yNC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjMTViLi4uJywgNSwgdj0nMi41MS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjMjNjLi4uJywgNSwgdj0nNC43OC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjMzFkLi4uJywgNSwgdj0nMTAuNC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjM2ZlLi4uJywgNSwgdj0nNS44Ni4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjNGRmLi4uJywgNSwgdj0nOS42Ni4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjNWMwLi4uJywgNSwgdj0nNS4xOS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjNmExLi4uJywgNSwgdj0nNS4zNS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjNzgyLi4uJywgNSwgdj0nNy43NC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjODYzLi4uJywgNSwgdj0nMy42NS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjOTQ0Li4uJywgNSwgdj0nNC4yMy4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjYTI1Li4uJywgNSwgdj0nMy4yOC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjYjA2Li4uJywgNSwgdj0nNS42NS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjYmU3Li4uJywgNSwgdj0nMi4yNC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjY2M4Li4uJywgNSwgdj0nMTIuMC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjZGE5Li4uJywgNSwgdj0nMTUuOC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjZThhLi4uJywgNSwgdj0nMTEuOS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjZjZiLi4uJywgNSwgdj0nMTUuMS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkMDRjLi4uJywgNSwgdj0nMTIuMy4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkMTJkLi4uJywgNSwgdj0nOC41My4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkMjBlLi4uJywgNSwgdj0nMS40Ny4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkMmYwLi4uJywgNSwgdj0nNy40NC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkM2QwLi4uJywgNSwgdj0nNC4yNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkNGIxLi4uJywgNSwgdj0nMy44MC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkNTkyLi4uJywgNSwgdj0nMy43NS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkNjczLi4uJywgNSwgdj0nNS41My4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkNzU0Li4uJywgNSwgdj0nOS41Mi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkODM1Li4uJywgNSwgdj0nMS45OC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkOTE2Li4uJywgNSwgdj0nNC4xNS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkOWY3Li4uJywgNSwgdj0nOS42Mi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkYWQ4Li4uJywgNSwgdj0nMTcuNy4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkYmI5Li4uJywgNSwgdj0nMTkuMS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkYzlhLi4uJywgNSwgdj0nMTkuMi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkZDdiLi4uJywgNSwgdj0nMTQuOS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkZTVjLi4uJywgNSwgdj0nMTIuOC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkZjNkLi4uJywgNSwgdj0nMTMuMS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlMDFkLi4uJywgNSwgdj0nMTMuNC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlMGZlLi4uJywgNSwgdj0nMTMuMi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlMWRmLi4uJywgNSwgdj0nMTMuOS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlMmMwLi4uJywgNSwgdj0nMTguMC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlM2ExLi4uJywgNSwgdj0nMTcuNy4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlNDgyLi4uJywgNSwgdj0nMTUuMi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlNTYzLi4uJywgNSwgdj0nMTUuMi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlNjQ0Li4uJywgNSwgdj0nMTEuOS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlNzI1Li4uJywgNSwgdj0nOS44OS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlODA2Li4uJywgNSwgdj0nNy45OS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlOGU3Li4uJywgNSwgdj0nMTMuOC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlOWM4Li4uJywgNSwgdj0nNi4zMy4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlYWE5Li4uJywgNSwgdj0nNS42My4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlYjhhLi4uJywgNSwgdj0nNy4zNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlYzZiLi4uJywgNSwgdj0nMTQuMi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlZDRjLi4uJywgNSwgdj0nOS42Ny4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlZTJkLi4uJywgNSwgdj0nMTIuOC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlZjBlLi4uJywgNSwgdj0nMTQuOS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlZmYwLi4uJywgNSwgdj0nMjEuNS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmMGQxLi4uJywgNSwgdj0nMjEuMC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmMWIyLi4uJywgNSwgdj0nMjIuOS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmMjkzLi4uJywgNSwgdj0nMjAuOC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmMzc0Li4uJywgNSwgdj0nMjIuMi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmNDU1Li4uJywgNSwgdj0nMjIuNS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmNTM2Li4uJywgNSwgdj0nMjQuMS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmNjE3Li4uJywgNSwgdj0nMjMuMC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmNmY4Li4uJywgNSwgdj0nMjMuNC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmN2Q5Li4uJywgNSwgdj0nMjIuMC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmOGJhLi4uJywgNSwgdj0nMTguNi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmOTliLi4uJywgNSwgdj0nMTguNC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmYTdjLi4uJywgNSwgdj0nMTUuOC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmYjVkLi4uJywgNSwgdj0nMTYuMy4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmYzNlLi4uJywgNSwgdj0nMTUuMS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmZDFmLi4uJywgNSwgdj0nMTIuMy4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmZTAwLi4uJywgNSwgdj0nMTIuMi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmZWUxLi4uJywgNSwgdj0nOC45NC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmZmMyLi4uJywgNSwgdj0nOC44My4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMDBhLi4uJywgNiwgdj0nOC43OS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMDE4Li4uJywgNiwgdj0nMTAuMC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMDI2Li4uJywgNiwgdj0nMTMuOS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMDM0Li4uJywgNiwgdj0nMTUuOS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMDQyLi4uJywgNiwgdj0nMTkuMS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMDUwLi4uJywgNiwgdj0nMjIuMi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMDVlLi4uJywgNiwgdj0nMjEuNS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMDZjLi4uJywgNiwgdj0nMjMuMy4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMDdhLi4uJywgNiwgdj0nMjAuMy4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMDg4Li4uJywgNiwgdj0nMTguNS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMDk2Li4uJywgNiwgdj0nMjAuMS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMGE0Li4uJywgNiwgdj0nMTkuOS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMGIyLi4uJywgNiwgdj0nMjEuMS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMGMxLi4uJywgNiwgdj0nMjMuOS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMGNmLi4uJywgNiwgdj0nMjEuOC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMGRkLi4uJywgNiwgdj0nMTkuNS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMGViLi4uJywgNiwgdj0nMjAuMi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMGY5Li4uJywgNiwgdj0nMTcuMy4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMTA3Li4uJywgNiwgdj0nMTYuNS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMTE1Li4uJywgNiwgdj0nMTMuMi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMTIzLi4uJywgNiwgdj0nMTIuMi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMTMxLi4uJywgNiwgdj0nOC45Ni4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMTNmLi4uJywgNiwgdj0nOC4zMS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMTRkLi4uJywgNiwgdj0nOC4zNS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMTViLi4uJywgNiwgdj0nOC40OS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMTY5Li4uJywgNiwgdj0nMTAuNC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMTc3Li4uJywgNiwgdj0nMTMuOS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMTg1Li4uJywgNiwgdj0nMTUuNC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMTkzLi4uJywgNiwgdj0nMTguMy4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMWEyLi4uJywgNiwgdj0nMjIuMi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMWIwLi4uJywgNiwgdj0nMTkuMS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMWJlLi4uJywgNiwgdj0nMjMuNC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMWNjLi4uJywgNiwgdj0nMjAuMi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMWRhLi4uJywgNiwgdj0nMTkuOC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMWU4Li4uJywgNiwgdj0nMjAuOC4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMWY2Li4uJywgNiwgdj0nMTguMC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMjA1Li4uJywgNiwgdj0nMC4wMS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMjEzLi4uJywgNiwgdj0nMC4wMi4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMjIxLi4uJywgNiwgdj0nMC4wMi4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMjJmLi4uJywgNiwgdj0nMC4wMS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMjNkLi4uJywgNiwgdj0nMC4wMS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMjRiLi4uJywgNiwgdj0nMC4wMS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMjU5Li4uJywgNiwgdj0nMC4wMS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMjY3Li4uJywgNiwgdj0nMC4wMS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMjc2Li4uJywgNiwgdj0nMC4wMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMjgzLi4uJywgNiwgdj0nMC4wMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMjkxLi4uJywgNiwgdj0nMC4wMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMjlmLi4uJywgNiwgdj0nMC4wMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMmFkLi4uJywgNiwgdj0nMC4wMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMmJiLi4uJywgNiwgdj0nMC4wMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMmM5Li4uJywgNiwgdj0nMC4wMS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMmQ3Li4uJywgNiwgdj0nMC4wMS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMmU1Li4uJywgNiwgdj0nMC4wMS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMmYzLi4uJywgNiwgdj0nMC4wMS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMzAxLi4uJywgNiwgdj0nMC4wMS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMzBmLi4uJywgNiwgdj0nMC4wMS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMzFkLi4uJywgNiwgdj0nMC4wMS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMzJiLi4uJywgNiwgdj0nMC4wMS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMzM5Li4uJywgNiwgdj0nMC4yNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMzQ3Li4uJywgNiwgdj0nMC4xMi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMzU1Li4uJywgNiwgdj0nMC4xNi4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMzY0Li4uJywgNiwgdj0nMC4yMi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMzcyLi4uJywgNiwgdj0nMC4yNC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMzgwLi4uJywgNiwgdj0nMC4yMy4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMzhlLi4uJywgNiwgdj0nMC4yMy4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMzljLi4uJywgNiwgdj0nMC4wNy4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxM2FhLi4uJywgNiwgdj0nMC4wOC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxM2I4Li4uJywgNiwgdj0nMC4wMy4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxM2M2Li4uJywgNiwgdj0nMC40MS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxM2Q0Li4uJywgNiwgdj0nMC4xOS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxM2UyLi4uJywgNiwgdj0nMC4xNS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxM2YwLi4uJywgNiwgdj0nMC4xNC4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxM2ZlLi4uJywgNiwgdj0nMC4yMS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNDBjLi4uJywgNiwgdj0nMC4zMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNDFhLi4uJywgNiwgdj0nMC4yMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNDI4Li4uJywgNiwgdj0nMC4wMy4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNDM2Li4uJywgNiwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNDQ1Li4uJywgNiwgdj0nMC4wNS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNDUzLi4uJywgNiwgdj0nMC4wMy4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNDYxLi4uJywgNiwgdj0nMC4wMi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNDZmLi4uJywgNiwgdj0nMC4wOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNDdkLi4uJywgNiwgdj0nMC4wMy4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNDhiLi4uJywgNiwgdj0nMC4wMy4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNDk5Li4uJywgNiwgdj0nMC4wMi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNGE3Li4uJywgNiwgdj0nMC4xMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNGI1Li4uJywgNiwgdj0nMC4wOC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNGMzLi4uJywgNiwgdj0nMC4yNS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNGQxLi4uJywgNiwgdj0nMC4yMi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNGRmLi4uJywgNiwgdj0nMC4xOS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNGVkLi4uJywgNiwgdj0nMC4xMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNGZiLi4uJywgNiwgdj0nMC4wNC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNTA5Li4uJywgNiwgdj0nMC4wMi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNTE3Li4uJywgNiwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNTI2Li4uJywgNiwgdj0nMC4xNS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNTM0Li4uJywgNiwgdj0nMC4xMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNTQyLi4uJywgNiwgdj0nMC4wOS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNTUwLi4uJywgNiwgdj0nMC4xMi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNTVlLi4uJywgNiwgdj0nMC4xOC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNTZjLi4uJywgNiwgdj0nMC4yOC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNTdhLi4uJywgNiwgdj0nMC4xNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNTg4Li4uJywgNiwgdj0nMC4xNS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNTk2Li4uJywgNiwgdj0nMC4yNC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNWE0Li4uJywgNiwgdj0nMC4yMS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNWIyLi4uJywgNiwgdj0nMC4xOC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNWMwLi4uJywgNiwgdj0nMC4xMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNWNlLi4uJywgNiwgdj0nMC4wOS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNWRjLi4uJywgNiwgdj0nMC4wOS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNWVhLi4uJywgNiwgdj0nMC4xMS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNWY4Li4uJywgNiwgdj0nMC4yOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNjA3Li4uJywgNiwgdj0nMC4wNi4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNjE1Li4uJywgNiwgdj0nMC4xMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNjIzLi4uJywgNiwgdj0nMC4wNy4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNjMxLi4uJywgNiwgdj0nMC4wNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNjNmLi4uJywgNiwgdj0nMC4xMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNjRkLi4uJywgNiwgdj0nMC4wNC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNjViLi4uJywgNiwgdj0nMC4wMy4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNjY5Li4uJywgNiwgdj0nMC4wNS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNjc3Li4uJywgNiwgdj0nMC4wNy4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNjg1Li4uJywgNiwgdj0nMC4wMy4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNjkzLi4uJywgNiwgdj0nMC4wMi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNmExLi4uJywgNiwgdj0nMC4wMi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNmFmLi4uJywgNiwgdj0nMC4wNy4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNmJkLi4uJywgNiwgdj0nMC4xNy4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNmNiLi4uJywgNiwgdj0nMC4yMi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNmQ5Li4uJywgNiwgdj0nMC4xMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNmU4Li4uJywgNiwgdj0nMC41Ny4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNmY2Li4uJywgNiwgdj0nMC42My4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNzA0Li4uJywgNiwgdj0nMC42Ny4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNzEyLi4uJywgNiwgdj0nMC40NS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNzIwLi4uJywgNiwgdj0nMC40Ni4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNzJlLi4uJywgNiwgdj0nMC40Ny4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNzNjLi4uJywgNiwgdj0nMC40OC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNzRhLi4uJywgNiwgdj0nMC41Ni4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNzU4Li4uJywgNiwgdj0nMC41OS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNzY2Li4uJywgNiwgdj0nMzQuMy4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNzc0Li4uJywgNiwgdj0nMzMuMC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNzgyLi4uJywgNiwgdj0nMzQuMS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNzkwLi4uJywgNiwgdj0nMzEuMS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNzllLi4uJywgNiwgdj0nMjYuNy4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxN2FjLi4uJywgNiwgdj0nMjYuOC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxN2JhLi4uJywgNiwgdj0nMjguMC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxN2M5Li4uJywgNiwgdj0nMjUuMS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxN2Q3Li4uJywgNiwgdj0nMjQuOC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxN2U1Li4uJywgNiwgdj0nMjUuMS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxN2YzLi4uJywgNiwgdj0nMjIuOS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxODAxLi4uJywgNiwgdj0nMjIuOS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxODBmLi4uJywgNiwgdj0nMjguMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxODFkLi4uJywgNiwgdj0nMzAuNi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxODJiLi4uJywgNiwgdj0nMzUuMS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxODM5Li4uJywgNiwgdj0nNjEuMC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxODQ3Li4uJywgNiwgdj0nNjEuMS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxODU1Li4uJywgNiwgdj0nNTguMi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxODYzLi4uJywgNiwgdj0nNTQuMS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxODcxLi4uJywgNiwgdj0nNTYuMS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxODdmLi4uJywgNiwgdj0nNTMuNy4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxODhkLi4uJywgNiwgdj0nNTcuMS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxODljLi4uJywgNiwgdj0nNTMuNS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOGI4Li4uJywgNiwgdj0nMzYuMi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOGM2Li4uJywgNiwgdj0nMzYuNi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOGQ0Li4uJywgNiwgdj0nMzUuMS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOGUyLi4uJywgNiwgdj0nMjkuOC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOGYwLi4uJywgNiwgdj0nMjguMy4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOGZlLi4uJywgNiwgdj0nMjUuMy4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOTBjLi4uJywgNiwgdj0nMTkuOS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOTFhLi4uJywgNiwgdj0nMTkuNy4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOTI4Li4uJywgNiwgdj0nMTkuMy4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOTM2Li4uJywgNiwgdj0nMTguOC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOTQ0Li4uJywgNiwgdj0nMTguMS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOTUyLi4uJywgNiwgdj0nMjAuMC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOTYwLi4uJywgNiwgdj0nMjUuMS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOTZlLi4uJywgNiwgdj0nMjcuNS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOTdjLi4uJywgNiwgdj0nMjkuNC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOThiLi4uJywgNiwgdj0nMjcuMy4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOTk5Li4uJywgNiwgdj0nMzAuNS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOWI1Li4uJywgNiwgdj0nMjkuOS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOWMzLi4uJywgNiwgdj0nMjguMy4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOWQxLi4uJywgNiwgdj0nMjguMS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOWRmLi4uJywgNiwgdj0nMjguOC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOWVkLi4uJywgNiwgdj0nMjguMi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOWVlLi4uJywgNiwgdj0nMjguMy4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOWZiLi4uJywgNiwgdj0nMTEuMC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYTA5Li4uJywgNiwgdj0nMTQuMS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYTE3Li4uJywgNiwgdj0nMTkuMS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYTI1Li4uJywgNiwgdj0nMjAuMi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYTMzLi4uJywgNiwgdj0nMTEuMi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYTQxLi4uJywgNiwgdj0nMTIuMi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYTRmLi4uJywgNiwgdj0nMTYuNS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYTVlLi4uJywgNiwgdj0nMTUuMS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYTZjLi4uJywgNiwgdj0nOS45NS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYTdhLi4uJywgNiwgdj0nMTIuNy4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYTg4Li4uJywgNiwgdj0nMTIuOS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYTk2Li4uJywgNiwgdj0nOS42OC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYWE0Li4uJywgNiwgdj0nNi44MC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYWIyLi4uJywgNiwgdj0nNC41NS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYWMwLi4uJywgNiwgdj0nMTAuNi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYWNlLi4uJywgNiwgdj0nMTQuNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYWRjLi4uJywgNiwgdj0nMTQuMS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYWVhLi4uJywgNiwgdj0nMTMuNy4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYWY4Li4uJywgNiwgdj0nMTUuMC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYjA2Li4uJywgNiwgdj0nMTMuMi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYjE0Li4uJywgNiwgdj0nMTIuNy4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYzc0Li4uJywgNiwgdj0nMy45OS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYzgyLi4uJywgNiwgdj0nMi4xOC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYzkwLi4uJywgNiwgdj0nMTYuNS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYzllLi4uJywgNiwgdj0nMTQuMy4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxY2FjLi4uJywgNiwgdj0nMTYuMC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxY2JhLi4uJywgNiwgdj0nMTUuNy4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxY2M4Li4uJywgNiwgdj0nMjkuMi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxY2Q2Li4uJywgNiwgdj0nMjcuNi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxY2U0Li4uJywgNiwgdj0nMjUuNC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxY2YyLi4uJywgNiwgdj0nMjQuMy4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZDAxLi4uJywgNiwgdj0nMjUuMy4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZDBmLi4uJywgNiwgdj0nMjguNi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZDFkLi4uJywgNiwgdj0nMjguMy4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZDJiLi4uJywgNiwgdj0nMjguOC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZDM5Li4uJywgNiwgdj0nMzAuMC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZDQ3Li4uJywgNiwgdj0nMzAuNi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZDU1Li4uJywgNiwgdj0nMzAuMy4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZDYzLi4uJywgNiwgdj0nMjQuOS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZDcxLi4uJywgNiwgdj0nMjMuOC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZDdmLi4uJywgNiwgdj0nMjMuOC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZDhkLi4uJywgNiwgdj0nMTUuMS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZDliLi4uJywgNiwgdj0nMTYuNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZGE5Li4uJywgNiwgdj0nMTYuMy4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZGI3Li4uJywgNiwgdj0nMTUuNi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZGM1Li4uJywgNiwgdj0nMTYuMi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZGQzLi4uJywgNiwgdj0nMTYuNi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZGUxLi4uJywgNiwgdj0nMjcuOC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZGYwLi4uJywgNiwgdj0nMzEuNC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZGZlLi4uJywgNiwgdj0nMzEuMi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZTBjLi4uJywgNiwgdj0nMzIuMC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZTFhLi4uJywgNiwgdj0nMzEuOS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZTI4Li4uJywgNiwgdj0nMzAuNi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZTM2Li4uJywgNiwgdj0nMjkuMS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZTQ0Li4uJywgNiwgdj0nMjcuMS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZTUyLi4uJywgNiwgdj0nMjMuNy4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZTYwLi4uJywgNiwgdj0nMjMuNS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZTZlLi4uJywgNiwgdj0nMjMuMC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZTdjLi4uJywgNiwgdj0nOC41Ny4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZThhLi4uJywgNiwgdj0nNy45MS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZTk4Li4uJywgNiwgdj0nNy44NS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZWE2Li4uJywgNiwgdj0nOS44NC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZWI0Li4uJywgNiwgdj0nMTAuMS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZWMyLi4uJywgNiwgdj0nMTEuNy4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZWQxLi4uJywgNiwgdj0nMTEuNS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZWRmLi4uJywgNiwgdj0nMTIuMC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZWVkLi4uJywgNiwgdj0nMTEuNy4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZWZiLi4uJywgNiwgdj0nMTEuNC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZjA5Li4uJywgNiwgdj0nMTAuOC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZjE3Li4uJywgNiwgdj0nMTAuOS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZjI1Li4uJywgNiwgdj0nMTAuOS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZjMzLi4uJywgNiwgdj0nMTMuNi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZjQxLi4uJywgNiwgdj0nMTkuMy4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZjRmLi4uJywgNiwgdj0nMTYuMy4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZjVkLi4uJywgNiwgdj0nMTUuOC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZjZiLi4uJywgNiwgdj0nMTUuNy4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZjc5Li4uJywgNiwgdj0nMTQuMy4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZjg3Li4uJywgNiwgdj0nMTUuNy4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZjk1Li4uJywgNiwgdj0nMTYuMi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZmE0Li4uJywgNiwgdj0nMTMuMy4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZmIyLi4uJywgNiwgdj0nMTEuNy4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZmMwLi4uJywgNiwgdj0nMTEuNi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZmNlLi4uJywgNiwgdj0nOS4yNC4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZmRjLi4uJywgNiwgdj0nOC45Ni4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZmVhLi4uJywgNiwgdj0nOS40Mi4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZmY4Li4uJywgNiwgdj0nMTEuMi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMDA2Li4uJywgNiwgdj0nMTguMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMDE0Li4uJywgNiwgdj0nMTUuOS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMDIyLi4uJywgNiwgdj0nMjMuMy4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMDMwLi4uJywgNiwgdj0nMjYuMC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMDNlLi4uJywgNiwgdj0nMjkuMi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMDRjLi4uJywgNiwgdj0nMjUuOC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMDVhLi4uJywgNiwgdj0nMjUuMi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMDY4Li4uJywgNiwgdj0nMjYuNC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMDc2Li4uJywgNiwgdj0nMzAuMC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMDg0Li4uJywgNiwgdj0nMjguNC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMDkzLi4uJywgNiwgdj0nMzAuMi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMGExLi4uJywgNiwgdj0nMjguNS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMGFmLi4uJywgNiwgdj0nMjQuNS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMGJkLi4uJywgNiwgdj0nMjMuOS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMGNiLi4uJywgNiwgdj0nMjEuMi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMGQ5Li4uJywgNiwgdj0nMTkuNi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMGU3Li4uJywgNiwgdj0nMTguMC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMGY1Li4uJywgNiwgdj0nMTcuNy4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMTAzLi4uJywgNiwgdj0nMTUuMy4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMTExLi4uJywgNiwgdj0nMTMuNC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMTFmLi4uJywgNiwgdj0nMTMuMC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMTJkLi4uJywgNiwgdj0nMTIuOC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMTNiLi4uJywgNiwgdj0nMTMuNS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMTQ5Li4uJywgNiwgdj0nMTcuMi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMTU3Li4uJywgNiwgdj0nMjEuMC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMTY1Li4uJywgNiwgdj0nMjUuOC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMTc0Li4uJywgNiwgdj0nMjcuNy4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMTgyLi4uJywgNiwgdj0nMjguMC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMTkwLi4uJywgNiwgdj0nMjcuNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMTllLi4uJywgNiwgdj0nMjguNC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMWFjLi4uJywgNiwgdj0nMjcuNy4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMWJhLi4uJywgNiwgdj0nMjcuOS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMWM4Li4uJywgNiwgdj0nMjguMi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMWQ2Li4uJywgNiwgdj0nMjcuNS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMWU0Li4uJywgNiwgdj0nMjYuMi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMWYyLi4uJywgNiwgdj0nMjUuOS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMjAwLi4uJywgNiwgdj0nMjQuNi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMjBlLi4uJywgNiwgdj0nMjQuMy4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMjFjLi4uJywgNiwgdj0nMjIuNy4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMjJhLi4uJywgNiwgdj0nMTcuNy4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMjM4Li4uJywgNiwgdj0nMTYuMS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMjQ3Li4uJywgNiwgdj0nMTQuNS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMjU1Li4uJywgNiwgdj0nMTguNC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMjYzLi4uJywgNiwgdj0nMTAuMS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMjcxLi4uJywgNiwgdj0nMTAuNi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMjdmLi4uJywgNiwgdj0nMTMuMC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMjhkLi4uJywgNiwgdj0nMTcuMC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMjliLi4uJywgNiwgdj0nMTUuNy4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMmE5Li4uJywgNiwgdj0nMTcuNi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMmI3Li4uJywgNiwgdj0nMjEuMC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMmM1Li4uJywgNiwgdj0nMjQuMi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMmQzLi4uJywgNiwgdj0nMjYuOC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMmUxLi4uJywgNiwgdj0nMjcuMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMmVmLi4uJywgNiwgdj0nMjIuMC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMmZkLi4uJywgNiwgdj0nMjEuNS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMzBiLi4uJywgNiwgdj0nMjAuOS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMzE5Li4uJywgNiwgdj0nMjUuMC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMzI3Li4uJywgNiwgdj0nMjUuOS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMzM2Li4uJywgNiwgdj0nMjcuNi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMzQ0Li4uJywgNiwgdj0nMjUuNS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMzUyLi4uJywgNiwgdj0nMjQuMS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMzYwLi4uJywgNiwgdj0nMjMuOC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMzZlLi4uJywgNiwgdj0nMjIuNy4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMzdjLi4uJywgNiwgdj0nMjAuOS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMzhhLi4uJywgNiwgdj0nMTguMy4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMzk4Li4uJywgNiwgdj0nMTQuOS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyM2E2Li4uJywgNiwgdj0nMTQuOC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyM2I0Li4uJywgNiwgdj0nMTQuMC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyM2MyLi4uJywgNiwgdj0nMTMuMy4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyM2QwLi4uJywgNiwgdj0nMTMuNy4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyM2RlLi4uJywgNiwgdj0nMTUuMC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyM2VjLi4uJywgNiwgdj0nMTcuMC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyM2ZhLi4uJywgNiwgdj0nMjAuNi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNDA4Li4uJywgNiwgdj0nMjQuOC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNDE3Li4uJywgNiwgdj0nMzIuOS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNDI1Li4uJywgNiwgdj0nMzQuMi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNDMzLi4uJywgNiwgdj0nMzQuNy4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNDQxLi4uJywgNiwgdj0nMzEuMS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNDRmLi4uJywgNiwgdj0nMjkuOC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNDZiLi4uJywgNiwgdj0nMzAuNS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNDc5Li4uJywgNiwgdj0nMjkuMS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNDg3Li4uJywgNiwgdj0nMzQuOS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNDk1Li4uJywgNiwgdj0nMjguNy4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNGEzLi4uJywgNiwgdj0nMjUuNy4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNGIxLi4uJywgNiwgdj0nMjYuMS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNGJmLi4uJywgNiwgdj0nMjQuNy4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNGNkLi4uJywgNiwgdj0nMjQuMC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNGRiLi4uJywgNiwgdj0nMjAuMi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNGU5Li4uJywgNiwgdj0nMTguMi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNGY4Li4uJywgNiwgdj0nMTUuMy4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNTA2Li4uJywgNiwgdj0nMTUuOS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNTE0Li4uJywgNiwgdj0nMTUuOC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNTIyLi4uJywgNiwgdj0nMTUuMC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNTMwLi4uJywgNiwgdj0nMTYuMC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNTNlLi4uJywgNiwgdj0nMTkuNS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNTRjLi4uJywgNiwgdj0nMjAuMC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNTVhLi4uJywgNiwgdj0nMjMuOS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNTY4Li4uJywgNiwgdj0nMjkuMi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNTc2Li4uJywgNiwgdj0nMzEuNi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNTg0Li4uJywgNiwgdj0nNzUuMS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNTkyLi4uJywgNiwgdj0nNDEuNC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNWEwLi4uJywgNiwgdj0nMjEuMi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNWFlLi4uJywgNiwgdj0nMjkuNC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNWJjLi4uJywgNiwgdj0nMjguNS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNWNhLi4uJywgNiwgdj0nMjcuMi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNWQ5Li4uJywgNiwgdj0nMjguOS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNWU3Li4uJywgNiwgdj0nMjkuMy4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNWY1Li4uJywgNiwgdj0nMjYuNS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNjAzLi4uJywgNiwgdj0nMjUuMi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNjExLi4uJywgNiwgdj0nMjMuMy4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNjFmLi4uJywgNiwgdj0nMjEuMy4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNjJkLi4uJywgNiwgdj0nMjAuNy4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNjNiLi4uJywgNiwgdj0nMTYuMy4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNjQ5Li4uJywgNiwgdj0nMTUuNi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNjU3Li4uJywgNiwgdj0nMTYuNi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNjY1Li4uJywgNiwgdj0nMTcuOC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNjczLi4uJywgNiwgdj0nMTYuOC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNjgxLi4uJywgNiwgdj0nMTYuNi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNjhmLi4uJywgNiwgdj0nMTcuNC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNjlkLi4uJywgNiwgdj0nMTguMi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNmFiLi4uJywgNiwgdj0nMTguNC4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNmJhLi4uJywgNiwgdj0nMjIuMS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNmM4Li4uJywgNiwgdj0nMjIuMS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNmQ2Li4uJywgNiwgdj0nMjUuNy4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNmU0Li4uJywgNiwgdj0nMjIuNy4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNmYyLi4uJywgNiwgdj0nMjIuNy4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNzAwLi4uJywgNiwgdj0nMjIuOS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNzBlLi4uJywgNiwgdj0nMjMuMS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNzFjLi4uJywgNiwgdj0nMjEuNS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNzJhLi4uJywgNiwgdj0nMjMuNS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNzM4Li4uJywgNiwgdj0nMjMuMS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNzQ2Li4uJywgNiwgdj0nMjIuNy4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNzU0Li4uJywgNiwgdj0nMjIuMy4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNzYyLi4uJywgNiwgdj0nMjMuMi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNzcwLi4uJywgNiwgdj0nMTguMi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNzdlLi4uJywgNiwgdj0nMTQuMS4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCSwgNSkKK1NBWC5lbmRFbGVtZW50TnMocGFyLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhciwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbWVtaW5kPSc5ODEyLi4uJywgNCwgaD0nM2RjMS4uLicsIDgpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMCIgdi4uLicsIDEsIHY9JzExNC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZTA4Ii4uLicsIDMsIHY9JzExNy4uLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWMzMi4uLicsIDQsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMmEzYy4uLicsIDQsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMzgzNS4uLicsIDQsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNDY0NS4uLicsIDQsIHY9JzExNi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNTQ1NS4uLicsIDQsIHY9JzEwOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNjI2NS4uLicsIDQsIHY9JzEyMS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNzA3NS4uLicsIDQsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nN2U4NS4uLicsIDQsIHY9JzExNi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOGM5Ni4uLicsIDQsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOWFhNS4uLicsIDQsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYThiNi4uLicsIDQsIHY9JzEyNC4uLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYjZjNS4uLicsIDQsIHY9JzEyNC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYzRkNy4uLicsIDQsIHY9JzExNy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDMwYi4uLicsIDQsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZTBmNi4uLicsIDQsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZWYwNi4uLicsIDQsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZmQxNy4uLicsIDQsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTBiMi4uLicsIDUsIHY9JzEyMS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTE5My4uLicsIDUsIHY9JzEyMi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTI3NC4uLicsIDUsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTM1NS4uLicsIDUsIHY9JzEyMS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTQzNi4uLicsIDUsIHY9JzEyNS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTUxOC4uLicsIDUsIHY9JzEyNy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTVmOC4uLicsIDUsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTZkOS4uLicsIDUsIHY9JzEyMS4uLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTdiYS4uLicsIDUsIHY9JzEyMS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTg5Yi4uLicsIDUsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTk3Yy4uLicsIDUsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWE1ZC4uLicsIDUsIHY9JzEyNi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWIzZS4uLicsIDUsIHY9JzEyNS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWMxZi4uLicsIDUsIHY9JzEyNC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWQwMC4uLicsIDUsIHY9JzEyMS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWRlMS4uLicsIDUsIHY9JzEyMi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWVjMi4uLicsIDUsIHY9JzEyMi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWZhMy4uLicsIDUsIHY9JzEyNC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjA4NC4uLicsIDUsIHY9JzEyNS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjE2NS4uLicsIDUsIHY9JzEyNS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjI0Ni4uLicsIDUsIHY9JzEyNS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjMyNy4uLicsIDUsIHY9JzEyMy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjQwOC4uLicsIDUsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjRlOS4uLicsIDUsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjVjYS4uLicsIDUsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjZhYi4uLicsIDUsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjc4Yy4uLicsIDUsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjg2ZC4uLicsIDUsIHY9JzEyMi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjk0ZS4uLicsIDUsIHY9JzEyNS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMmEzMC4uLicsIDUsIHY9JzEyNS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMmIxMC4uLicsIDUsIHY9JzExNy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMmJmMS4uLicsIDUsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMmNkMi4uLicsIDUsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMmRiMy4uLicsIDUsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMmU5NC4uLicsIDUsIHY9JzExNy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMmY3NS4uLicsIDUsIHY9JzExMy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMzA1Ni4uLicsIDUsIHY9JzEyNS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMzEzNy4uLicsIDUsIHY9JzEyNC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMzIxOS4uLicsIDUsIHY9JzEyMy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMzJmOS4uLicsIDUsIHY9JzEyMy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMzNkYS4uLicsIDUsIHY9JzEyMy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMzRiYi4uLicsIDUsIHY9JzEyMy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMzU5ZC4uLicsIDUsIHY9JzEyMy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMzY3ZC4uLicsIDUsIHY9JzEyMi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMzc1ZS4uLicsIDUsIHY9JzEyMS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMzg0MC4uLicsIDUsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMzkyMS4uLicsIDUsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nM2EwMS4uLicsIDUsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nM2FlMi4uLicsIDUsIHY9JzEyMS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nM2JjMy4uLicsIDUsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nM2NhNC4uLicsIDUsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nM2Q4NS4uLicsIDUsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nM2U2Ni4uLicsIDUsIHY9JzEyMi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nM2Y0OC4uLicsIDUsIHY9JzEyNi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNDAyOC4uLicsIDUsIHY9JzEyNC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNDEwOS4uLicsIDUsIHY9JzEyNC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNDFlYS4uLicsIDUsIHY9JzEyNS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNDJjYi4uLicsIDUsIHY9JzEyNS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNDNhYy4uLicsIDUsIHY9JzEyMy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNDQ4ZC4uLicsIDUsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNDU2ZS4uLicsIDUsIHY9JzEyMi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNDY0Zi4uLicsIDUsIHY9JzEyMS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNDgwZi4uLicsIDUsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNDhmMC4uLicsIDUsIHY9JzExNy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNDlkMS4uLicsIDUsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNGFiNC4uLicsIDUsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNGI5NS4uLicsIDUsIHY9JzExNy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNGM3Ni4uLicsIDUsIHY9JzExNi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNGQ1Ny4uLicsIDUsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNGUzOC4uLicsIDUsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNGYxOS4uLicsIDUsIHY9JzExNi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNGZmYS4uLicsIDUsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNTBkZC4uLicsIDUsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNTFiYy4uLicsIDUsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNTI5ZC4uLicsIDUsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNTM3ZS4uLicsIDUsIHY9JzEyMy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNTQ2MC4uLicsIDUsIHY9JzEyNS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNTU0MC4uLicsIDUsIHY9JzEyMi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNTYyMS4uLicsIDUsIHY9JzEyMy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNTcwMi4uLicsIDUsIHY9JzEyMy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNTdlMy4uLicsIDUsIHY9JzEyMi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNThjNC4uLicsIDUsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNTlhNy4uLicsIDUsIHY9JzEyMS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNWE4Ni4uLicsIDUsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNWI2Ny4uLicsIDUsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNWM0OC4uLicsIDUsIHY9JzExNS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNWQyOS4uLicsIDUsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNWUwYS4uLicsIDUsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNWVlYi4uLicsIDUsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNWZjYy4uLicsIDUsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNjBhZC4uLicsIDUsIHY9JzExNy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNjE4ZS4uLicsIDUsIHY9JzExNy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNjI2Zi4uLicsIDUsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNjM1MC4uLicsIDUsIHY9JzExNy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNjQzMS4uLicsIDUsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNjUxMi4uLicsIDUsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNjVmMy4uLicsIDUsIHY9JzEyMS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNjZkNC4uLicsIDUsIHY9JzEyMS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNjdiNS4uLicsIDUsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNjg5Ni4uLicsIDUsIHY9JzEyMi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNjk3OC4uLicsIDUsIHY9JzExOS4uLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNmE1OC4uLicsIDUsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNmIzOS4uLicsIDUsIHY9JzEyMi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNmMxYS4uLicsIDUsIHY9JzEyMi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNmNmYi4uLicsIDUsIHY9JzEyMS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNmRkYy4uLicsIDUsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNmViZC4uLicsIDUsIHY9JzExNi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNmY5ZS4uLicsIDUsIHY9JzEyMS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNzA3Zi4uLicsIDUsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNzE2MC4uLicsIDUsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNzI0MS4uLicsIDUsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNzMyMi4uLicsIDUsIHY9JzExNy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNzQwMy4uLicsIDUsIHY9JzEyMS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNzRlNC4uLicsIDUsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNzVjNS4uLicsIDUsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNzZhNi4uLicsIDUsIHY9JzExOC4uLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNzc4Ny4uLicsIDUsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNzg2OC4uLicsIDUsIHY9JzExMy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNzk0OC4uLicsIDUsIHY9JzExNi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nN2EyOS4uLicsIDUsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nN2IwYS4uLicsIDUsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nN2JlYi4uLicsIDUsIHY9JzEyMS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nN2NjYy4uLicsIDUsIHY9JzEyMS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nN2RhZC4uLicsIDUsIHY9JzEyMi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nN2U4Zi4uLicsIDUsIHY9JzEyMS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nN2Y3MC4uLicsIDUsIHY9JzEyNC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nODA1MS4uLicsIDUsIHY9JzEyNS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nODEzMi4uLicsIDUsIHY9JzEyNi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nODIxMy4uLicsIDUsIHY9JzEyNS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nODJmNC4uLicsIDUsIHY9JzEyMi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nODNkNS4uLicsIDUsIHY9JzEyMC4uLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nODRiNi4uLicsIDUsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nODU5Ny4uLicsIDUsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nODY3OC4uLicsIDUsIHY9JzExNy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nODc1OS4uLicsIDUsIHY9JzExNy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nODgzYS4uLicsIDUsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nODkxYi4uLicsIDUsIHY9JzEyMS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nODlmYy4uLicsIDUsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOGFkZC4uLicsIDUsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOGJiZS4uLicsIDUsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOGM5Zi4uLicsIDUsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOGQ4MC4uLicsIDUsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOGU2MS4uLicsIDUsIHY9JzExNy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOGY0Mi4uLicsIDUsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOTAyMy4uLicsIDUsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOTEwNC4uLicsIDUsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOTFlNS4uLicsIDUsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOTJjNi4uLicsIDUsIHY9JzEyMi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOTNhOC4uLicsIDUsIHY9JzEyNS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOTQ4OC4uLicsIDUsIHY9JzEyMy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOTU2OS4uLicsIDUsIHY9JzEyMi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOTY0YS4uLicsIDUsIHY9JzEyMy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOTcyYi4uLicsIDUsIHY9JzEyMi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOTgwYy4uLicsIDUsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOThlZC4uLicsIDUsIHY9JzEyMy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOTljZS4uLicsIDUsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOWFhZi4uLicsIDUsIHY9JzExOC4uLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOWI5MC4uLicsIDUsIHY9JzExNS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOWM3MS4uLicsIDUsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOWQ1Mi4uLicsIDUsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOWUzMy4uLicsIDUsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOWYxNC4uLicsIDUsIHY9JzExNy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOWZmNS4uLicsIDUsIHY9JzExNi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYTBkNi4uLicsIDUsIHY9JzExNi4uLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYTFiNy4uLicsIDUsIHY9JzExNi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYTI5OC4uLicsIDUsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYTM3OS4uLicsIDUsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYTQ1YS4uLicsIDUsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYTUzYi4uLicsIDUsIHY9JzExOS4uLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYTYxYy4uLicsIDUsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYTZmZC4uLicsIDUsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYTdlMC4uLicsIDUsIHY9JzEyMi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYThjMC4uLicsIDUsIHY9JzEyNS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYTlhMC4uLicsIDUsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYWE4MS4uLicsIDUsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYWI2Mi4uLicsIDUsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYWM0My4uLicsIDUsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYWQyNC4uLicsIDUsIHY9JzExNy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYWUwNS4uLicsIDUsIHY9JzExNC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYWVlNi4uLicsIDUsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYWZjNy4uLicsIDUsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYjBhOC4uLicsIDUsIHY9JzExNi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYjI2YS4uLicsIDUsIHY9JzExNi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYjM0Yi4uLicsIDUsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYjQyYy4uLicsIDUsIHY9JzExNS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYjUwZC4uLicsIDUsIHY9JzExNS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYjVlZS4uLicsIDUsIHY9JzExNC4uLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYjZjZi4uLicsIDUsIHY9JzEyMi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYjdiMC4uLicsIDUsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYjg5MS4uLicsIDUsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYjk3Mi4uLicsIDUsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYmE1My4uLicsIDUsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYmIzNC4uLicsIDUsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYmMxNS4uLicsIDUsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYmNmNi4uLicsIDUsIHY9JzEyMy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYmRkOC4uLicsIDUsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYmViOC4uLicsIDUsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYmY5OS4uLicsIDUsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYzA3YS4uLicsIDUsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYzE1Yi4uLicsIDUsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYzIzYy4uLicsIDUsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYzMxZC4uLicsIDUsIHY9JzExNS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYzNmZS4uLicsIDUsIHY9JzExNy4uLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYzRkZi4uLicsIDUsIHY9JzExNi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYzVjMC4uLicsIDUsIHY9JzExNy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYzZhMS4uLicsIDUsIHY9JzExNy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYzc4Mi4uLicsIDUsIHY9JzExNi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYzg2My4uLicsIDUsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYzk0NC4uLicsIDUsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nY2EyNS4uLicsIDUsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nY2IwNi4uLicsIDUsIHY9JzExNy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nY2JlNy4uLicsIDUsIHY9JzEyMi4uLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nY2NjOC4uLicsIDUsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nY2RhOS4uLicsIDUsIHY9JzExNi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nY2U4YS4uLicsIDUsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nY2Y2Yi4uLicsIDUsIHY9JzExOC4uLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDA0Yy4uLicsIDUsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDEyZC4uLicsIDUsIHY9JzEyMS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDIwZS4uLicsIDUsIHY9JzEyMy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDJmMC4uLicsIDUsIHY9JzEyNi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDNkMC4uLicsIDUsIHY9JzExOS4uLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDRiMS4uLicsIDUsIHY9JzEyMC4uLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDU5Mi4uLicsIDUsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDY3My4uLicsIDUsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDc1NC4uLicsIDUsIHY9JzExNy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDgzNS4uLicsIDUsIHY9JzEyNC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDkxNi4uLicsIDUsIHY9JzEyMi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDlmNy4uLicsIDUsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZGFkOC4uLicsIDUsIHY9JzExNy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZGJiOS4uLicsIDUsIHY9JzExNi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZGM5YS4uLicsIDUsIHY9JzExNi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZGQ3Yi4uLicsIDUsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZGU1Yy4uLicsIDUsIHY9JzExNy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZGYzZC4uLicsIDUsIHY9JzExNy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZTAxZC4uLicsIDUsIHY9JzExNy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZTBmZS4uLicsIDUsIHY9JzExNi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZTFkZi4uLicsIDUsIHY9JzExNy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZTJjMC4uLicsIDUsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZTNhMS4uLicsIDUsIHY9JzEyMS4uLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZTQ4Mi4uLicsIDUsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZTU2My4uLicsIDUsIHY9JzEyMi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZTY0NC4uLicsIDUsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZTcyNS4uLicsIDUsIHY9JzEyMi4uLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZTgwNi4uLicsIDUsIHY9JzEyMy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZThlNy4uLicsIDUsIHY9JzExNi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZTljOC4uLicsIDUsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZWFhOS4uLicsIDUsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZWI4YS4uLicsIDUsIHY9JzExNy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZWM2Yi4uLicsIDUsIHY9JzExMy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZWQ0Yy4uLicsIDUsIHY9JzEyMy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZWUyZC4uLicsIDUsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZWYwZS4uLicsIDUsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZWZmMC4uLicsIDUsIHY9JzExNS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZjBkMS4uLicsIDUsIHY9JzExNy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZjFiMi4uLicsIDUsIHY9JzExNy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZjI5My4uLicsIDUsIHY9JzEyMS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZjM3NC4uLicsIDUsIHY9JzExNy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZjQ1NS4uLicsIDUsIHY9JzExNy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZjUzNi4uLicsIDUsIHY9JzExNy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZjYxNy4uLicsIDUsIHY9JzExNy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZjZmOC4uLicsIDUsIHY9JzExNy4uLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZjdkOS4uLicsIDUsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZjhiYS4uLicsIDUsIHY9JzEyMS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZjk5Yi4uLicsIDUsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZmE3Yy4uLicsIDUsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZmI1ZC4uLicsIDUsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZmMzZS4uLicsIDUsIHY9JzEyMy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZmQxZi4uLicsIDUsIHY9JzEyMy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZmUwMC4uLicsIDUsIHY9JzEyNi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZmVlMS4uLicsIDUsIHY9JzEyMy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZmZjMi4uLicsIDUsIHY9JzEyMy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTAwYS4uLicsIDYsIHY9JzEyMi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTAxOC4uLicsIDYsIHY9JzEyMS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTAyNi4uLicsIDYsIHY9JzExNy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTAzNC4uLicsIDYsIHY9JzExNy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTA0Mi4uLicsIDYsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTA1MC4uLicsIDYsIHY9JzExNy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTA1ZS4uLicsIDYsIHY9JzExNy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTA2Yy4uLicsIDYsIHY9JzExNy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTA3YS4uLicsIDYsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTA4OC4uLicsIDYsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTA5Ni4uLicsIDYsIHY9JzExOC4uLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTBhNC4uLicsIDYsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTBiMi4uLicsIDYsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTBjMS4uLicsIDYsIHY9JzExNi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTBjZi4uLicsIDYsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTBkZC4uLicsIDYsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTBlYi4uLicsIDYsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTBmOS4uLicsIDYsIHY9JzEyMS4uLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTEwNy4uLicsIDYsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTExNS4uLicsIDYsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTEyMy4uLicsIDYsIHY9JzEyMy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTEzMS4uLicsIDYsIHY9JzEyMi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTEzZi4uLicsIDYsIHY9JzEyMy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTE0ZC4uLicsIDYsIHY9JzEyMy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTE1Yi4uLicsIDYsIHY9JzEyMy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTE2OS4uLicsIDYsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTE3Ny4uLicsIDYsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTE4NS4uLicsIDYsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTE5My4uLicsIDYsIHY9JzExNy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTFhMi4uLicsIDYsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTFiMC4uLicsIDYsIHY9JzEyMS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTFiZS4uLicsIDYsIHY9JzEyMi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTFjYy4uLicsIDYsIHY9JzEyMi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTFkYS4uLicsIDYsIHY9JzEyMS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTFlOC4uLicsIDYsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTFmNi4uLicsIDYsIHY9JzEyMS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTIwNS4uLicsIDYsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTIxMy4uLicsIDYsIHY9JzExNi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTIyMS4uLicsIDYsIHY9JzExNy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTIyZi4uLicsIDYsIHY9JzExOC4uLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTIzZC4uLicsIDYsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTI0Yi4uLicsIDYsIHY9JzEyMi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTI1OS4uLicsIDYsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTI2Ny4uLicsIDYsIHY9JzEyMi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTI3Ni4uLicsIDYsIHY9JzEyNC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTI4My4uLicsIDYsIHY9JzEyNS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTI5MS4uLicsIDYsIHY9JzEyNS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTI5Zi4uLicsIDYsIHY9JzEyNS4uLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTJhZC4uLicsIDYsIHY9JzEyNC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTJiYi4uLicsIDYsIHY9JzEyMi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTJjOS4uLicsIDYsIHY9JzEyMS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTJkNy4uLicsIDYsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTJlNS4uLicsIDYsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTJmMy4uLicsIDYsIHY9JzExNi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTMwMS4uLicsIDYsIHY9JzExNy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTMwZi4uLicsIDYsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTMxZC4uLicsIDYsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTMyYi4uLicsIDYsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTMzOS4uLicsIDYsIHY9JzAuMTAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTM0Ny4uLicsIDYsIHY9JzAuMTAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTM1NS4uLicsIDYsIHY9JzAuMTAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTM2NC4uLicsIDYsIHY9JzAuMTAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTM3Mi4uLicsIDYsIHY9JzAuMTAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTM4MC4uLicsIDYsIHY9JzAuMTAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTM4ZS4uLicsIDYsIHY9JzAuMTAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTM5Yy4uLicsIDYsIHY9JzAuMTAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTNhYS4uLicsIDYsIHY9JzAuMTAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTNiOC4uLicsIDYsIHY9JzAuMTAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTNjNi4uLicsIDYsIHY9JzAuMTAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTNkNC4uLicsIDYsIHY9JzAuMTAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTNlMi4uLicsIDYsIHY9JzAuMTAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTNmMC4uLicsIDYsIHY9JzAuMTAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTNmZS4uLicsIDYsIHY9JzAuMTAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTQwYy4uLicsIDYsIHY9JzAuMTAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTQxYS4uLicsIDYsIHY9JzAuMTAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTQyOC4uLicsIDYsIHY9JzAuMTAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTQzNi4uLicsIDYsIHY9JzAuMTAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTQ0NS4uLicsIDYsIHY9JzAuMTAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTQ1My4uLicsIDYsIHY9JzAuMTAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTQ2MS4uLicsIDYsIHY9JzAuMTAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTQ2Zi4uLicsIDYsIHY9JzAuMTEuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTQ3ZC4uLicsIDYsIHY9JzAuMTAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTQ4Yi4uLicsIDYsIHY9JzAuMTAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTQ5OS4uLicsIDYsIHY9JzAuMTAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTRhNy4uLicsIDYsIHY9JzAuMTAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTRiNS4uLicsIDYsIHY9JzAuMTEuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTRjMy4uLicsIDYsIHY9JzAuMTAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTRkMS4uLicsIDYsIHY9JzAuMTAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTRkZi4uLicsIDYsIHY9JzAuMTAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTRlZC4uLicsIDYsIHY9JzAuMTEuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTRmYi4uLicsIDYsIHY9JzAuMTEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTUwOS4uLicsIDYsIHY9JzAuMTEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTUxNy4uLicsIDYsIHY9JzAuMTEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTUyNi4uLicsIDYsIHY9JzAuMTAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTUzNC4uLicsIDYsIHY9JzAuMTAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTU0Mi4uLicsIDYsIHY9JzAuMTEuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTU1MC4uLicsIDYsIHY9JzAuMTAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTU1ZS4uLicsIDYsIHY9JzAuMTAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTU2Yy4uLicsIDYsIHY9JzAuMTAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTU3YS4uLicsIDYsIHY9JzAuMTAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTU4OC4uLicsIDYsIHY9JzAuMTAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTU5Ni4uLicsIDYsIHY9JzAuMTAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTVhNC4uLicsIDYsIHY9JzAuMTAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTViMi4uLicsIDYsIHY9JzAuMTAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTVjMC4uLicsIDYsIHY9JzAuMTAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTVjZS4uLicsIDYsIHY9JzAuMTAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTVkYy4uLicsIDYsIHY9JzAuMTAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTVlYS4uLicsIDYsIHY9JzAuMTAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTVmOC4uLicsIDYsIHY9JzAuMTAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTYwNy4uLicsIDYsIHY9JzAuMTEuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTYxNS4uLicsIDYsIHY9JzAuMTAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTYyMy4uLicsIDYsIHY9JzAuMTEuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTYzMS4uLicsIDYsIHY9JzAuMTEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTYzZi4uLicsIDYsIHY9JzAuMTAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTY0ZC4uLicsIDYsIHY9JzAuMTEuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTY1Yi4uLicsIDYsIHY9JzAuMTEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTY2OS4uLicsIDYsIHY9JzAuMTEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTY3Ny4uLicsIDYsIHY9JzAuMTEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTY4NS4uLicsIDYsIHY9JzAuMTEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTY5My4uLicsIDYsIHY9JzAuMTEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTZhMS4uLicsIDYsIHY9JzAuMTEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTZhZi4uLicsIDYsIHY9JzAuMTEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTZiZC4uLicsIDYsIHY9JzAuMTAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTZjYi4uLicsIDYsIHY9JzAuMTAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTZkOS4uLicsIDYsIHY9JzAuMTEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTZlOC4uLicsIDYsIHY9JzAuMTEuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTZmNi4uLicsIDYsIHY9JzAuMTEuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTcwNC4uLicsIDYsIHY9JzAuMTEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTcxMi4uLicsIDYsIHY9JzAuMTEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTcyMC4uLicsIDYsIHY9JzAuMTEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTcyZS4uLicsIDYsIHY9JzAuMTEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTczYy4uLicsIDYsIHY9JzAuMTEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTc0YS4uLicsIDYsIHY9JzAuMTEuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTc1OC4uLicsIDYsIHY9JzAuMTAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTc2Ni4uLicsIDYsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTc3NC4uLicsIDYsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTc4Mi4uLicsIDYsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTc5MC4uLicsIDYsIHY9JzEyMS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTc5ZS4uLicsIDYsIHY9JzEyNC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTdhYy4uLicsIDYsIHY9JzEyNy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTdiYS4uLicsIDYsIHY9JzEyOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTdjOS4uLicsIDYsIHY9JzEyNy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTdkNy4uLicsIDYsIHY9JzEyNy4uLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTdlNS4uLicsIDYsIHY9JzEyNy4uLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTdmMy4uLicsIDYsIHY9JzEyNi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTgwMS4uLicsIDYsIHY9JzEyNC4uLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTgwZi4uLicsIDYsIHY9JzEyNC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTgxZC4uLicsIDYsIHY9JzEyNS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTgyYi4uLicsIDYsIHY9JzEyNS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTgzOS4uLicsIDYsIHY9JzEyMy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTg0Ny4uLicsIDYsIHY9JzEyMy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTg1NS4uLicsIDYsIHY9JzEyNC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTg2My4uLicsIDYsIHY9JzEyNi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTg3MS4uLicsIDYsIHY9JzEyNS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTg3Zi4uLicsIDYsIHY9JzEyNS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTg4ZC4uLicsIDYsIHY9JzEyNC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTg5Yy4uLicsIDYsIHY9JzEyMy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMThiOC4uLicsIDYsIHY9JzExNy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMThjNi4uLicsIDYsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMThkNC4uLicsIDYsIHY9JzEyMS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMThlMi4uLicsIDYsIHY9JzEyMS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMThmMC4uLicsIDYsIHY9JzEyMy4uLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMThmZS4uLicsIDYsIHY9JzEyNS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTkwYy4uLicsIDYsIHY9JzEyMy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTkxYS4uLicsIDYsIHY9JzEyNC4uLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTkyOC4uLicsIDYsIHY9JzEyNi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTkzNi4uLicsIDYsIHY9JzEyNi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTk0NC4uLicsIDYsIHY9JzEyNS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTk1Mi4uLicsIDYsIHY9JzEyMy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTk2MC4uLicsIDYsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTk2ZS4uLicsIDYsIHY9JzEyMS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTk3Yy4uLicsIDYsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTk4Yi4uLicsIDYsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTk5OS4uLicsIDYsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTliNS4uLicsIDYsIHY9JzEyMi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTljMy4uLicsIDYsIHY9JzEyMS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTlkMS4uLicsIDYsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTlkZi4uLicsIDYsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTllZC4uLicsIDYsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTllZS4uLicsIDYsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTlmYi4uLicsIDYsIHY9JzExNi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWEwOS4uLicsIDYsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWExNy4uLicsIDYsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWEyNS4uLicsIDYsIHY9JzEyMS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWEzMy4uLicsIDYsIHY9JzEyMS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWE0MS4uLicsIDYsIHY9JzEyMi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWE0Zi4uLicsIDYsIHY9JzEyNi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWE1ZS4uLicsIDYsIHY9JzEyNi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWE2Yy4uLicsIDYsIHY9JzEyNC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWE3YS4uLicsIDYsIHY9JzEyNS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWE4OC4uLicsIDYsIHY9JzEyNi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWE5Ni4uLicsIDYsIHY9JzEyNC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWFhNC4uLicsIDYsIHY9JzEyMy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWFiMi4uLicsIDYsIHY9JzEyMS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWFjMC4uLicsIDYsIHY9JzEyMy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWFjZS4uLicsIDYsIHY9JzEyMy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWFkYy4uLicsIDYsIHY9JzEyMi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWFlYS4uLicsIDYsIHY9JzEyMS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWFmOC4uLicsIDYsIHY9JzEyMi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWIwNi4uLicsIDYsIHY9JzEyNC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWIxNC4uLicsIDYsIHY9JzEyMy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWM3NC4uLicsIDYsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWM4Mi4uLicsIDYsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWM5MC4uLicsIDYsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWM5ZS4uLicsIDYsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWNhYy4uLicsIDYsIHY9JzEyMS4uLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWNiYS4uLicsIDYsIHY9JzEyMi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWNjOC4uLicsIDYsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWNkNi4uLicsIDYsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWNlNC4uLicsIDYsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWNmMi4uLicsIDYsIHY9JzEyMy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWQwMS4uLicsIDYsIHY9JzEyNS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWQwZi4uLicsIDYsIHY9JzEyMy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWQxZC4uLicsIDYsIHY9JzEyMy4uLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWQyYi4uLicsIDYsIHY9JzEyMy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWQzOS4uLicsIDYsIHY9JzEyMi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWQ0Ny4uLicsIDYsIHY9JzEyMi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWQ1NS4uLicsIDYsIHY9JzEyMS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWQ2My4uLicsIDYsIHY9JzEyMy4uLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWQ3MS4uLicsIDYsIHY9JzEyMy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWQ3Zi4uLicsIDYsIHY9JzEyMi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWQ4ZC4uLicsIDYsIHY9JzEyMS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWQ5Yi4uLicsIDYsIHY9JzEyMS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWRhOS4uLicsIDYsIHY9JzEyMi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWRiNy4uLicsIDYsIHY9JzEyMy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWRjNS4uLicsIDYsIHY9JzEyMy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWRkMy4uLicsIDYsIHY9JzEyMi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWRlMS4uLicsIDYsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWRmMC4uLicsIDYsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWRmZS4uLicsIDYsIHY9JzExNi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWUwYy4uLicsIDYsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWUxYS4uLicsIDYsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWUyOC4uLicsIDYsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWUzNi4uLicsIDYsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWU0NC4uLicsIDYsIHY9JzEyMS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWU1Mi4uLicsIDYsIHY9JzExNy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWU2MC4uLicsIDYsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWU2ZS4uLicsIDYsIHY9JzEyMi4uLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWU3Yy4uLicsIDYsIHY9JzEyMi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWU4YS4uLicsIDYsIHY9JzEyMy4uLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWU5OC4uLicsIDYsIHY9JzEyMi4uLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWVhNi4uLicsIDYsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWViNC4uLicsIDYsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWVjMi4uLicsIDYsIHY9JzEyMy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWVkMS4uLicsIDYsIHY9JzEyMi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWVkZi4uLicsIDYsIHY9JzEyMi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWVlZC4uLicsIDYsIHY9JzEyMi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWVmYi4uLicsIDYsIHY9JzEyMy4uLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWYwOS4uLicsIDYsIHY9JzEyMy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWYxNy4uLicsIDYsIHY9JzEyMS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWYyNS4uLicsIDYsIHY9JzEyMS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWYzMy4uLicsIDYsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWY0MS4uLicsIDYsIHY9JzExNi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWY0Zi4uLicsIDYsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWY1ZC4uLicsIDYsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWY2Yi4uLicsIDYsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWY3OS4uLicsIDYsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWY4Ny4uLicsIDYsIHY9JzEyMi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWY5NS4uLicsIDYsIHY9JzEyMy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWZhNC4uLicsIDYsIHY9JzEyNi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWZiMi4uLicsIDYsIHY9JzEyNS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWZjMC4uLicsIDYsIHY9JzEyNi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWZjZS4uLicsIDYsIHY9JzEyNi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWZkYy4uLicsIDYsIHY9JzEyNS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWZlYS4uLicsIDYsIHY9JzEyMy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWZmOC4uLicsIDYsIHY9JzEyMS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjAwNi4uLicsIDYsIHY9JzExNy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjAxNC4uLicsIDYsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjAyMi4uLicsIDYsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjAzMC4uLicsIDYsIHY9JzEyMC4uLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjAzZS4uLicsIDYsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjA0Yy4uLicsIDYsIHY9JzEyMy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjA1YS4uLicsIDYsIHY9JzEyMS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjA2OC4uLicsIDYsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjA3Ni4uLicsIDYsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjA4NC4uLicsIDYsIHY9JzExNy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjA5My4uLicsIDYsIHY9JzEyMS4uLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjBhMS4uLicsIDYsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjBhZi4uLicsIDYsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjBiZC4uLicsIDYsIHY9JzEyMS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjBjYi4uLicsIDYsIHY9JzExOS4uLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjBkOS4uLicsIDYsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjBlNy4uLicsIDYsIHY9JzEyMS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjBmNS4uLicsIDYsIHY9JzEyNC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjEwMy4uLicsIDYsIHY9JzEyNi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjExMS4uLicsIDYsIHY9JzEyNC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjExZi4uLicsIDYsIHY9JzEyNC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjEyZC4uLicsIDYsIHY9JzEyMy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjEzYi4uLicsIDYsIHY9JzEyMi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjE0OS4uLicsIDYsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjE1Ny4uLicsIDYsIHY9JzExNi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjE2NS4uLicsIDYsIHY9JzEyMi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjE3NC4uLicsIDYsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjE4Mi4uLicsIDYsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjE5MC4uLicsIDYsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjE5ZS4uLicsIDYsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjFhYy4uLicsIDYsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjFiYS4uLicsIDYsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjFjOC4uLicsIDYsIHY9JzExNy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjFkNi4uLicsIDYsIHY9JzEyMi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjFlNC4uLicsIDYsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjFmMi4uLicsIDYsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjIwMC4uLicsIDYsIHY9JzEyMS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjIwZS4uLicsIDYsIHY9JzEyMi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjIxYy4uLicsIDYsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjIyYS4uLicsIDYsIHY9JzEyMC4uLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjIzOC4uLicsIDYsIHY9JzEyMy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjI0Ny4uLicsIDYsIHY9JzEyNi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjI1NS4uLicsIDYsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjI2My4uLicsIDYsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjI3MS4uLicsIDYsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjI3Zi4uLicsIDYsIHY9JzExNy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjI4ZC4uLicsIDYsIHY9JzExNi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjI5Yi4uLicsIDYsIHY9JzEyMi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjJhOS4uLicsIDYsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjJiNy4uLicsIDYsIHY9JzExOS4uLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjJjNS4uLicsIDYsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjJkMy4uLicsIDYsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjJlMS4uLicsIDYsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjJlZi4uLicsIDYsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjJmZC4uLicsIDYsIHY9JzEyMC4uLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjMwYi4uLicsIDYsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjMxOS4uLicsIDYsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjMyNy4uLicsIDYsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjMzNi4uLicsIDYsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjM0NC4uLicsIDYsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjM1Mi4uLicsIDYsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjM2MC4uLicsIDYsIHY9JzEyMC4uLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjM2ZS4uLicsIDYsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjM3Yy4uLicsIDYsIHY9JzExOS4uLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjM4YS4uLicsIDYsIHY9JzEyMS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjM5OC4uLicsIDYsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjNhNi4uLicsIDYsIHY9JzEyMi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjNiNC4uLicsIDYsIHY9JzEyMy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjNjMi4uLicsIDYsIHY9JzEyMy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjNkMC4uLicsIDYsIHY9JzEyMi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjNkZS4uLicsIDYsIHY9JzEyMS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjNlYy4uLicsIDYsIHY9JzExOS4uLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjNmYS4uLicsIDYsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjQwOC4uLicsIDYsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjQxNy4uLicsIDYsIHY9JzExNy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjQyNS4uLicsIDYsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjQzMy4uLicsIDYsIHY9JzExOC4uLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjQ0MS4uLicsIDYsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjQ0Zi4uLicsIDYsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjQ2Yi4uLicsIDYsIHY9JzExOC4uLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjQ3OS4uLicsIDYsIHY9JzExOC4uLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjQ4Ny4uLicsIDYsIHY9JzExNS4uLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjQ5NS4uLicsIDYsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjRhMy4uLicsIDYsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjRiMS4uLicsIDYsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjRiZi4uLicsIDYsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjRjZC4uLicsIDYsIHY9JzEyMy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjRkYi4uLicsIDYsIHY9JzEyMy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjRlOS4uLicsIDYsIHY9JzEyNC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjRmOC4uLicsIDYsIHY9JzEyNC4uLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjUwNi4uLicsIDYsIHY9JzEyNC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjUxNC4uLicsIDYsIHY9JzEyNS4uLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjUyMi4uLicsIDYsIHY9JzEyMy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjUzMC4uLicsIDYsIHY9JzEyMi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjUzZS4uLicsIDYsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjU0Yy4uLicsIDYsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjU1YS4uLicsIDYsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjU2OC4uLicsIDYsIHY9JzExNy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjU3Ni4uLicsIDYsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjU4NC4uLicsIDYsIHY9JzExNy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjU5Mi4uLicsIDYsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjVhMC4uLicsIDYsIHY9JzExOS4uLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjVhZS4uLicsIDYsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjViYy4uLicsIDYsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjVjYS4uLicsIDYsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjVkOS4uLicsIDYsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjVlNy4uLicsIDYsIHY9JzExOS4uLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjVmNS4uLicsIDYsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjYwMy4uLicsIDYsIHY9JzEyMS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjYxMS4uLicsIDYsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjYxZi4uLicsIDYsIHY9JzEyMC4uLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjYyZC4uLicsIDYsIHY9JzEyMy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjYzYi4uLicsIDYsIHY9JzEyMS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjY0OS4uLicsIDYsIHY9JzEyMi4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjY1Ny4uLicsIDYsIHY9JzEyMy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjY2NS4uLicsIDYsIHY9JzEyNC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjY3My4uLicsIDYsIHY9JzEyMy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjY4MS4uLicsIDYsIHY9JzEyMy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjY4Zi4uLicsIDYsIHY9JzEyMS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjY5ZC4uLicsIDYsIHY9JzEyMS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjZhYi4uLicsIDYsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjZiYS4uLicsIDYsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjZjOC4uLicsIDYsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjZkNi4uLicsIDYsIHY9JzExOC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjZlNC4uLicsIDYsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjZmMi4uLicsIDYsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjcwMC4uLicsIDYsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjcwZS4uLicsIDYsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjcxYy4uLicsIDYsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjcyYS4uLicsIDYsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjczOC4uLicsIDYsIHY9JzEyMC4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjc0Ni4uLicsIDYsIHY9JzEyMS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjc1NC4uLicsIDYsIHY9JzEyMS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjc2Mi4uLicsIDYsIHY9JzExOS4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjc3MC4uLicsIDYsIHY9JzEyMS4uLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjc3ZS4uLicsIDYsIHY9JzEyMy4uLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQksIDUpCitTQVguZW5kRWxlbWVudE5zKHBhciwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCSwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhwYXIsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG1lbWluZD0nOTgwOC4uLicsIDQsIGg9JzNkYzEuLi4nLCA4KQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzAiIHYuLi4nLCAxLCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2UwOCIuLi4nLCAzLCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFjMzIuLi4nLCA0LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzJhM2MuLi4nLCA0LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzM4MzUuLi4nLCA0LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzQ2NDUuLi4nLCA0LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzU0NTUuLi4nLCA0LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzYyNjUuLi4nLCA0LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzcwNzUuLi4nLCA0LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzdlODUuLi4nLCA0LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzhjOTYuLi4nLCA0LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzlhYTUuLi4nLCA0LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2E4YjYuLi4nLCA0LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2I2YzUuLi4nLCA0LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2M0ZDcuLi4nLCA0LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2QzMGIuLi4nLCA0LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2UwZjYuLi4nLCA0LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2VmMDYuLi4nLCA0LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2ZkMTcuLi4nLCA0LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwYjIuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExOTMuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyNzQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzNTUuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0MzYuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1MTguLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1ZjguLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2ZDkuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3YmEuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4OWIuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5N2MuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhNWQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFiM2UuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFjMWYuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkMDAuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkZTEuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlYzIuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmYTMuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwODQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxNjUuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyNDYuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzMjcuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0MDguLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0ZTkuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1Y2EuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2YWIuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI3OGMuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI4NmQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI5NGUuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzJhMzAuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzJiMTAuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzJiZjEuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzJjZDIuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzJkYjMuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzJlOTQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzJmNzUuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzMwNTYuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzMxMzcuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzMyMTkuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzMyZjkuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzMzZGEuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzM0YmIuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzM1OWQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzM2N2QuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzM3NWUuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzM4NDAuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzM5MjEuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzNhMDEuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzNhZTIuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzNiYzMuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzNjYTQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzNkODUuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzNlNjYuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzNmNDguLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzQwMjguLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzQxMDkuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzQxZWEuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzQyY2IuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzQzYWMuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzQ0OGQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzQ1NmUuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzQ2NGYuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzQ4MGYuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzQ4ZjAuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzQ5ZDEuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzRhYjQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzRiOTUuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzRjNzYuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzRkNTcuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzRlMzguLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzRmMTkuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzRmZmEuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzUwZGQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzUxYmMuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzUyOWQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzUzN2UuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzU0NjAuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzU1NDAuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzU2MjEuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzU3MDIuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzU3ZTMuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzU4YzQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzU5YTcuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzVhODYuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzViNjcuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzVjNDguLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzVkMjkuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzVlMGEuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzVlZWIuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzVmY2MuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzYwYWQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzYxOGUuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzYyNmYuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzYzNTAuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzY0MzEuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzY1MTIuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzY1ZjMuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzY2ZDQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzY3YjUuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzY4OTYuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzY5NzguLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzZhNTguLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzZiMzkuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzZjMWEuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzZjZmIuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzZkZGMuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzZlYmQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzZmOWUuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzcwN2YuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzcxNjAuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzcyNDEuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzczMjIuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzc0MDMuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzc0ZTQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzc1YzUuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzc2YTYuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzc3ODcuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzc4NjguLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzc5NDguLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzdhMjkuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzdiMGEuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzdiZWIuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzdjY2MuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzdkYWQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzdlOGYuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzdmNzAuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzgwNTEuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzgxMzIuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzgyMTMuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzgyZjQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzgzZDUuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzg0YjYuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzg1OTcuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzg2NzguLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzg3NTkuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzg4M2EuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzg5MWIuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzg5ZmMuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzhhZGQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzhiYmUuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzhjOWYuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzhkODAuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzhlNjEuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzhmNDIuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzkwMjMuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzkxMDQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzkxZTUuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzkyYzYuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzkzYTguLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzk0ODguLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzk1NjkuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzk2NGEuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzk3MmIuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzk4MGMuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzk4ZWQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzk5Y2UuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzlhYWYuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzliOTAuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzljNzEuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzlkNTIuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzllMzMuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzlmMTQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzlmZjUuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2EwZDYuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2ExYjcuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2EyOTguLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2EzNzkuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2E0NWEuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2E1M2IuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2E2MWMuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2E2ZmQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2E3ZTAuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2E4YzAuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2E5YTAuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2FhODEuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2FiNjIuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2FjNDMuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2FkMjQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2FlMDUuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2FlZTYuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2FmYzcuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2IwYTguLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2IyNmEuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2IzNGIuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2I0MmMuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2I1MGQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2I1ZWUuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2I2Y2YuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2I3YjAuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2I4OTEuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2I5NzIuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2JhNTMuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2JiMzQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2JjMTUuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2JjZjYuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2JkZDguLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2JlYjguLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2JmOTkuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2MwN2EuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2MxNWIuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2MyM2MuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2MzMWQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2MzZmUuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2M0ZGYuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2M1YzAuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2M2YTEuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2M3ODIuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2M4NjMuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2M5NDQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2NhMjUuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2NiMDYuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2NiZTcuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2NjYzguLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2NkYTkuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2NlOGEuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2NmNmIuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2QwNGMuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2QxMmQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2QyMGUuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2QyZjAuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2QzZDAuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2Q0YjEuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2Q1OTIuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2Q2NzMuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2Q3NTQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2Q4MzUuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2Q5MTYuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2Q5ZjcuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2RhZDguLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2RiYjkuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2RjOWEuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2RkN2IuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2RlNWMuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2RmM2QuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2UwMWQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2UwZmUuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2UxZGYuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2UyYzAuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2UzYTEuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2U0ODIuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2U1NjMuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2U2NDQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2U3MjUuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2U4MDYuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2U4ZTcuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2U5YzguLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2VhYTkuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2ViOGEuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2VjNmIuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2VkNGMuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2VlMmQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2VmMGUuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2VmZjAuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2YwZDEuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2YxYjIuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2YyOTMuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2YzNzQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2Y0NTUuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2Y1MzYuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2Y2MTcuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2Y2ZjguLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2Y3ZDkuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2Y4YmEuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2Y5OWIuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2ZhN2MuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2ZiNWQuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2ZjM2UuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2ZkMWYuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2ZlMDAuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2ZlZTEuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2ZmYzIuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwMGEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwMTguLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwMjYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwMzQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwNDIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwNTAuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwNWUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwNmMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwN2EuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwODguLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwOTYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwYTQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwYjIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwYzEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwY2YuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwZGQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwZWIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwZjkuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExMDcuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExMTUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExMjMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExMzEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExM2YuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExNGQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExNWIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExNjkuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExNzcuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExODUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExOTMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExYTIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExYjAuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExYmUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExY2MuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExZGEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExZTguLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExZjYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyMDUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyMTMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyMjEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyMmYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyM2QuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyNGIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyNTkuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyNjcuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyNzYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyODMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyOTEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyOWYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyYWQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyYmIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyYzkuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyZDcuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyZTUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyZjMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzMDEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzMGYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzMWQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzMmIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzMzkuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzNDcuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzNTUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzNjQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzNzIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzODAuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzOGUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzOWMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzYWEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzYjguLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzYzYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzZDQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzZTIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzZjAuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzZmUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0MGMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0MWEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0MjguLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0MzYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0NDUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0NTMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0NjEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0NmYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0N2QuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0OGIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0OTkuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0YTcuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0YjUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0YzMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0ZDEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0ZGYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0ZWQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0ZmIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1MDkuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1MTcuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1MjYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1MzQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1NDIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1NTAuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1NWUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1NmMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1N2EuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1ODguLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1OTYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1YTQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1YjIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1YzAuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1Y2UuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1ZGMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1ZWEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1ZjguLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2MDcuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2MTUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2MjMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2MzEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2M2YuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2NGQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2NWIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2NjkuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2NzcuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2ODUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2OTMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2YTEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2YWYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2YmQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2Y2IuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2ZDkuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2ZTguLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2ZjYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3MDQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3MTIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3MjAuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3MmUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3M2MuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3NGEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3NTguLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3NjYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3NzQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3ODIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3OTAuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3OWUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3YWMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3YmEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3YzkuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3ZDcuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3ZTUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3ZjMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4MDEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4MGYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4MWQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4MmIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4MzkuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4NDcuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4NTUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4NjMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4NzEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4N2YuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4OGQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4OWMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4YjguLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4YzYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4ZDQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4ZTIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4ZjAuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4ZmUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5MGMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5MWEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5MjguLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5MzYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5NDQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5NTIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5NjAuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5NmUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5N2MuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5OGIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5OTkuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5YjUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5YzMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5ZDEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5ZGYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5ZWQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5ZWUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5ZmIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhMDkuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhMTcuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhMjUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhMzMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhNDEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhNGYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhNWUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhNmMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhN2EuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhODguLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhOTYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhYTQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhYjIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhYzAuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhY2UuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhZGMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhZWEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhZjguLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFiMDYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFiMTQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFjNzQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFjODIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFjOTAuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFjOWUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFjYWMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFjYmEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFjYzguLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFjZDYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFjZTQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFjZjIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkMDEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkMGYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkMWQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkMmIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkMzkuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkNDcuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkNTUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkNjMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkNzEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkN2YuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkOGQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkOWIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkYTkuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkYjcuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkYzUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkZDMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkZTEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkZjAuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkZmUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlMGMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlMWEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlMjguLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlMzYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlNDQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlNTIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlNjAuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlNmUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlN2MuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlOGEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlOTguLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlYTYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlYjQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlYzIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlZDEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlZGYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlZWQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlZmIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmMDkuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmMTcuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmMjUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmMzMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmNDEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmNGYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmNWQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmNmIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmNzkuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmODcuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmOTUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmYTQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmYjIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmYzAuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmY2UuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmZGMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmZWEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmZjguLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwMDYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwMTQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwMjIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwMzAuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwM2UuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwNGMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwNWEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwNjguLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwNzYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwODQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwOTMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwYTEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwYWYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwYmQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwY2IuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwZDkuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwZTcuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwZjUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxMDMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxMTEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxMWYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxMmQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxM2IuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxNDkuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxNTcuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxNjUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxNzQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxODIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxOTAuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxOWUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxYWMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxYmEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxYzguLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxZDYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxZTQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxZjIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyMDAuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyMGUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyMWMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyMmEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyMzguLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyNDcuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyNTUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyNjMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyNzEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyN2YuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyOGQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyOWIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyYTkuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyYjcuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyYzUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyZDMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyZTEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyZWYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyZmQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzMGIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzMTkuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzMjcuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzMzYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzNDQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzNTIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzNjAuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzNmUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzN2MuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzOGEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzOTguLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzYTYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzYjQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzYzIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzZDAuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzZGUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzZWMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzZmEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0MDguLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0MTcuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0MjUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0MzMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0NDEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0NGYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0NmIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0NzkuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0ODcuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0OTUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0YTMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0YjEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0YmYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0Y2QuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0ZGIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0ZTkuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0ZjguLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1MDYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1MTQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1MjIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1MzAuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1M2UuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1NGMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1NWEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1NjguLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1NzYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1ODQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1OTIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1YTAuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1YWUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1YmMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1Y2EuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1ZDkuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1ZTcuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1ZjUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2MDMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2MTEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2MWYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2MmQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2M2IuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2NDkuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2NTcuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2NjUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2NzMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2ODEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2OGYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2OWQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2YWIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2YmEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2YzguLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2ZDYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2ZTQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2ZjIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI3MDAuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI3MGUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI3MWMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI3MmEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI3MzguLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI3NDYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI3NTQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI3NjIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI3NzAuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI3N2UuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJLCA1KQorU0FYLmVuZEVsZW1lbnROcyhwYXIsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQksIDUpCitTQVguc3RhcnRFbGVtZW50TnMocGFyLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBtZW1pbmQ9Jzk4MDQuLi4nLCA0LCBoPSczZGMxLi4uJywgOCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScwIiB2Li4uJywgMSwgdj0nMTEzLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlMDgiLi4uJywgMywgdj0nMTE3Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYzMyLi4uJywgNCwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyYTNjLi4uJywgNCwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczODM1Li4uJywgNCwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0NjQ1Li4uJywgNCwgdj0nMTE2Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1NDU1Li4uJywgNCwgdj0nMTA5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2MjY1Li4uJywgNCwgdj0nMTIxLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3MDc1Li4uJywgNCwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3ZTg1Li4uJywgNCwgdj0nMTE2Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4Yzk2Li4uJywgNCwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5YWE1Li4uJywgNCwgdj0nMTIwLi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhOGI2Li4uJywgNCwgdj0nMTI0Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiNmM1Li4uJywgNCwgdj0nMTI0Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjNGQ3Li4uJywgNCwgdj0nMTE3Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkMzBiLi4uJywgNCwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlMGY2Li4uJywgNCwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlZjA2Li4uJywgNCwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmZDE3Li4uJywgNCwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMGIyLi4uJywgNSwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMTkzLi4uJywgNSwgdj0nMTIxLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMjc0Li4uJywgNSwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMzU1Li4uJywgNSwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNDM2Li4uJywgNSwgdj0nMTI1Li4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNTE4Li4uJywgNSwgdj0nMTI3Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNWY4Li4uJywgNSwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNmQ5Li4uJywgNSwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxN2JhLi4uJywgNSwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxODliLi4uJywgNSwgdj0nMTIwLi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOTdjLi4uJywgNSwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYTVkLi4uJywgNSwgdj0nMTI2Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYjNlLi4uJywgNSwgdj0nMTI1Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYzFmLi4uJywgNSwgdj0nMTI0Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZDAwLi4uJywgNSwgdj0nMTIxLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZGUxLi4uJywgNSwgdj0nMTIxLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZWMyLi4uJywgNSwgdj0nMTIyLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZmEzLi4uJywgNSwgdj0nMTIzLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMDg0Li4uJywgNSwgdj0nMTI0Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMTY1Li4uJywgNSwgdj0nMTI1Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMjQ2Li4uJywgNSwgdj0nMTI1Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMzI3Li4uJywgNSwgdj0nMTIzLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNDA4Li4uJywgNSwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNGU5Li4uJywgNSwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNWNhLi4uJywgNSwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNmFiLi4uJywgNSwgdj0nMTE5Li4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNzhjLi4uJywgNSwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyODZkLi4uJywgNSwgdj0nMTIxLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyOTRlLi4uJywgNSwgdj0nMTI1Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyYTMwLi4uJywgNSwgdj0nMTI1Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyYjEwLi4uJywgNSwgdj0nMTE3Li4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyYmYxLi4uJywgNSwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyY2QyLi4uJywgNSwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyZGIzLi4uJywgNSwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyZTk0Li4uJywgNSwgdj0nMTE3Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyZjc1Li4uJywgNSwgdj0nMTEyLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczMDU2Li4uJywgNSwgdj0nMTI0Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczMTM3Li4uJywgNSwgdj0nMTI0Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczMjE5Li4uJywgNSwgdj0nMTIzLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczMmY5Li4uJywgNSwgdj0nMTIyLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczM2RhLi4uJywgNSwgdj0nMTIzLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczNGJiLi4uJywgNSwgdj0nMTIzLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczNTlkLi4uJywgNSwgdj0nMTIzLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczNjdkLi4uJywgNSwgdj0nMTIyLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczNzVlLi4uJywgNSwgdj0nMTIxLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczODQwLi4uJywgNSwgdj0nMTE3Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczOTIxLi4uJywgNSwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczYTAxLi4uJywgNSwgdj0nMTE3Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczYWUyLi4uJywgNSwgdj0nMTIxLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczYmMzLi4uJywgNSwgdj0nMTIwLi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczY2E0Li4uJywgNSwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczZDg1Li4uJywgNSwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczZTY2Li4uJywgNSwgdj0nMTIyLi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczZjQ4Li4uJywgNSwgdj0nMTI1Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0MDI4Li4uJywgNSwgdj0nMTIzLi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0MTA5Li4uJywgNSwgdj0nMTI0Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0MWVhLi4uJywgNSwgdj0nMTI0Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0MmNiLi4uJywgNSwgdj0nMTI0Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0M2FjLi4uJywgNSwgdj0nMTIyLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0NDhkLi4uJywgNSwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0NTZlLi4uJywgNSwgdj0nMTIyLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0NjRmLi4uJywgNSwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0ODBmLi4uJywgNSwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0OGYwLi4uJywgNSwgdj0nMTE3Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0OWQxLi4uJywgNSwgdj0nMTE4Li4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0YWI0Li4uJywgNSwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0Yjk1Li4uJywgNSwgdj0nMTE2Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0Yzc2Li4uJywgNSwgdj0nMTE1Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0ZDU3Li4uJywgNSwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0ZTM4Li4uJywgNSwgdj0nMTE4Li4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0ZjE5Li4uJywgNSwgdj0nMTE2Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0ZmZhLi4uJywgNSwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1MGRkLi4uJywgNSwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1MWJjLi4uJywgNSwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1MjlkLi4uJywgNSwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1MzdlLi4uJywgNSwgdj0nMTIyLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1NDYwLi4uJywgNSwgdj0nMTI1Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1NTQwLi4uJywgNSwgdj0nMTIxLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1NjIxLi4uJywgNSwgdj0nMTIyLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1NzAyLi4uJywgNSwgdj0nMTIyLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1N2UzLi4uJywgNSwgdj0nMTIyLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1OGM0Li4uJywgNSwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1OWE3Li4uJywgNSwgdj0nMTIxLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1YTg2Li4uJywgNSwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1YjY3Li4uJywgNSwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1YzQ4Li4uJywgNSwgdj0nMTE1Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1ZDI5Li4uJywgNSwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1ZTBhLi4uJywgNSwgdj0nMTIwLi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1ZWViLi4uJywgNSwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1ZmNjLi4uJywgNSwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2MGFkLi4uJywgNSwgdj0nMTE3Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2MThlLi4uJywgNSwgdj0nMTE3Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2MjZmLi4uJywgNSwgdj0nMTE5Li4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2MzUwLi4uJywgNSwgdj0nMTE3Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2NDMxLi4uJywgNSwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2NTEyLi4uJywgNSwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2NWYzLi4uJywgNSwgdj0nMTIxLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2NmQ0Li4uJywgNSwgdj0nMTIxLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2N2I1Li4uJywgNSwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2ODk2Li4uJywgNSwgdj0nMTIyLi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2OTc4Li4uJywgNSwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2YTU4Li4uJywgNSwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2YjM5Li4uJywgNSwgdj0nMTIxLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2YzFhLi4uJywgNSwgdj0nMTIyLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2Y2ZiLi4uJywgNSwgdj0nMTIxLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2ZGRjLi4uJywgNSwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2ZWJkLi4uJywgNSwgdj0nMTE1Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2ZjllLi4uJywgNSwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3MDdmLi4uJywgNSwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3MTYwLi4uJywgNSwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3MjQxLi4uJywgNSwgdj0nMTE3Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3MzIyLi4uJywgNSwgdj0nMTE3Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3NDAzLi4uJywgNSwgdj0nMTIxLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3NGU0Li4uJywgNSwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3NWM1Li4uJywgNSwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3NmE2Li4uJywgNSwgdj0nMTE3Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3Nzg3Li4uJywgNSwgdj0nMTE3Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3ODY4Li4uJywgNSwgdj0nMTEzLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3OTQ4Li4uJywgNSwgdj0nMTE2Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3YTI5Li4uJywgNSwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3YjBhLi4uJywgNSwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3YmViLi4uJywgNSwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3Y2NjLi4uJywgNSwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3ZGFkLi4uJywgNSwgdj0nMTIxLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3ZThmLi4uJywgNSwgdj0nMTIxLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3ZjcwLi4uJywgNSwgdj0nMTIzLi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4MDUxLi4uJywgNSwgdj0nMTI1Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4MTMyLi4uJywgNSwgdj0nMTI1Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4MjEzLi4uJywgNSwgdj0nMTI0Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4MmY0Li4uJywgNSwgdj0nMTIyLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4M2Q1Li4uJywgNSwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4NGI2Li4uJywgNSwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4NTk3Li4uJywgNSwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4Njc4Li4uJywgNSwgdj0nMTE3Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4NzU5Li4uJywgNSwgdj0nMTE3Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4ODNhLi4uJywgNSwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4OTFiLi4uJywgNSwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4OWZjLi4uJywgNSwgdj0nMTE5Li4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4YWRkLi4uJywgNSwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4YmJlLi4uJywgNSwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4YzlmLi4uJywgNSwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4ZDgwLi4uJywgNSwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4ZTYxLi4uJywgNSwgdj0nMTE3Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4ZjQyLi4uJywgNSwgdj0nMTE3Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5MDIzLi4uJywgNSwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5MTA0Li4uJywgNSwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5MWU1Li4uJywgNSwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5MmM2Li4uJywgNSwgdj0nMTIyLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5M2E4Li4uJywgNSwgdj0nMTI0Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5NDg4Li4uJywgNSwgdj0nMTIzLi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5NTY5Li4uJywgNSwgdj0nMTIyLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5NjRhLi4uJywgNSwgdj0nMTIyLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5NzJiLi4uJywgNSwgdj0nMTIyLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5ODBjLi4uJywgNSwgdj0nMTE5Li4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5OGVkLi4uJywgNSwgdj0nMTIyLi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5OWNlLi4uJywgNSwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5YWFmLi4uJywgNSwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5YjkwLi4uJywgNSwgdj0nMTE1Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5YzcxLi4uJywgNSwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5ZDUyLi4uJywgNSwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5ZTMzLi4uJywgNSwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5ZjE0Li4uJywgNSwgdj0nMTE3Li4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5ZmY1Li4uJywgNSwgdj0nMTE3Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhMGQ2Li4uJywgNSwgdj0nMTE2Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhMWI3Li4uJywgNSwgdj0nMTE2Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhMjk4Li4uJywgNSwgdj0nMTE4Li4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhMzc5Li4uJywgNSwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhNDVhLi4uJywgNSwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhNTNiLi4uJywgNSwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhNjFjLi4uJywgNSwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhNmZkLi4uJywgNSwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhN2UwLi4uJywgNSwgdj0nMTIyLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhOGMwLi4uJywgNSwgdj0nMTI1Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhOWEwLi4uJywgNSwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhYTgxLi4uJywgNSwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhYjYyLi4uJywgNSwgdj0nMTIwLi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhYzQzLi4uJywgNSwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhZDI0Li4uJywgNSwgdj0nMTE3Li4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhZTA1Li4uJywgNSwgdj0nMTE0Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhZWU2Li4uJywgNSwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhZmM3Li4uJywgNSwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiMGE4Li4uJywgNSwgdj0nMTE2Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiMjZhLi4uJywgNSwgdj0nMTE2Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiMzRiLi4uJywgNSwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiNDJjLi4uJywgNSwgdj0nMTE1Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiNTBkLi4uJywgNSwgdj0nMTE1Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiNWVlLi4uJywgNSwgdj0nMTE0Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiNmNmLi4uJywgNSwgdj0nMTIyLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiN2IwLi4uJywgNSwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiODkxLi4uJywgNSwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiOTcyLi4uJywgNSwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiYTUzLi4uJywgNSwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiYjM0Li4uJywgNSwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiYzE1Li4uJywgNSwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiY2Y2Li4uJywgNSwgdj0nMTIzLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiZGQ4Li4uJywgNSwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiZWI4Li4uJywgNSwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiZjk5Li4uJywgNSwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjMDdhLi4uJywgNSwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjMTViLi4uJywgNSwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjMjNjLi4uJywgNSwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjMzFkLi4uJywgNSwgdj0nMTE1Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjM2ZlLi4uJywgNSwgdj0nMTE3Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjNGRmLi4uJywgNSwgdj0nMTE2Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjNWMwLi4uJywgNSwgdj0nMTE3Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjNmExLi4uJywgNSwgdj0nMTE3Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjNzgyLi4uJywgNSwgdj0nMTE2Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjODYzLi4uJywgNSwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjOTQ0Li4uJywgNSwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjYTI1Li4uJywgNSwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjYjA2Li4uJywgNSwgdj0nMTE3Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjYmU3Li4uJywgNSwgdj0nMTIyLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjY2M4Li4uJywgNSwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjZGE5Li4uJywgNSwgdj0nMTE2Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjZThhLi4uJywgNSwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjZjZiLi4uJywgNSwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkMDRjLi4uJywgNSwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkMTJkLi4uJywgNSwgdj0nMTIxLi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkMjBlLi4uJywgNSwgdj0nMTIzLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkMmYwLi4uJywgNSwgdj0nMTI2Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkM2QwLi4uJywgNSwgdj0nMTE5Li4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkNGIxLi4uJywgNSwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkNTkyLi4uJywgNSwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkNjczLi4uJywgNSwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkNzU0Li4uJywgNSwgdj0nMTE3Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkODM1Li4uJywgNSwgdj0nMTI0Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkOTE2Li4uJywgNSwgdj0nMTIyLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkOWY3Li4uJywgNSwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkYWQ4Li4uJywgNSwgdj0nMTE3Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkYmI5Li4uJywgNSwgdj0nMTE2Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkYzlhLi4uJywgNSwgdj0nMTE2Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkZDdiLi4uJywgNSwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkZTVjLi4uJywgNSwgdj0nMTE3Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkZjNkLi4uJywgNSwgdj0nMTE3Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlMDFkLi4uJywgNSwgdj0nMTE3Li4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlMGZlLi4uJywgNSwgdj0nMTE2Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlMWRmLi4uJywgNSwgdj0nMTE3Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlMmMwLi4uJywgNSwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlM2ExLi4uJywgNSwgdj0nMTIxLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlNDgyLi4uJywgNSwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlNTYzLi4uJywgNSwgdj0nMTIyLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlNjQ0Li4uJywgNSwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlNzI1Li4uJywgNSwgdj0nMTIyLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlODA2Li4uJywgNSwgdj0nMTIzLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlOGU3Li4uJywgNSwgdj0nMTE2Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlOWM4Li4uJywgNSwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlYWE5Li4uJywgNSwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlYjhhLi4uJywgNSwgdj0nMTE3Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlYzZiLi4uJywgNSwgdj0nMTEzLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlZDRjLi4uJywgNSwgdj0nMTIzLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlZTJkLi4uJywgNSwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlZjBlLi4uJywgNSwgdj0nMTE4Li4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlZmYwLi4uJywgNSwgdj0nMTE2Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmMGQxLi4uJywgNSwgdj0nMTE3Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmMWIyLi4uJywgNSwgdj0nMTE3Li4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmMjkzLi4uJywgNSwgdj0nMTIxLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmMzc0Li4uJywgNSwgdj0nMTE3Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmNDU1Li4uJywgNSwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmNTM2Li4uJywgNSwgdj0nMTE3Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmNjE3Li4uJywgNSwgdj0nMTE3Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmNmY4Li4uJywgNSwgdj0nMTE3Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmN2Q5Li4uJywgNSwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmOGJhLi4uJywgNSwgdj0nMTIxLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmOTliLi4uJywgNSwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmYTdjLi4uJywgNSwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmYjVkLi4uJywgNSwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmYzNlLi4uJywgNSwgdj0nMTIzLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmZDFmLi4uJywgNSwgdj0nMTIzLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmZTAwLi4uJywgNSwgdj0nMTI2Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmZWUxLi4uJywgNSwgdj0nMTIzLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmZmMyLi4uJywgNSwgdj0nMTIzLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMDBhLi4uJywgNiwgdj0nMTIzLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMDE4Li4uJywgNiwgdj0nMTIxLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMDI2Li4uJywgNiwgdj0nMTE3Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMDM0Li4uJywgNiwgdj0nMTE3Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMDQyLi4uJywgNiwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMDUwLi4uJywgNiwgdj0nMTE3Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMDVlLi4uJywgNiwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMDZjLi4uJywgNiwgdj0nMTE3Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMDdhLi4uJywgNiwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMDg4Li4uJywgNiwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMDk2Li4uJywgNiwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMGE0Li4uJywgNiwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMGIyLi4uJywgNiwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMGMxLi4uJywgNiwgdj0nMTE2Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMGNmLi4uJywgNiwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMGRkLi4uJywgNiwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMGViLi4uJywgNiwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMGY5Li4uJywgNiwgdj0nMTIxLi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMTA3Li4uJywgNiwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMTE1Li4uJywgNiwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMTIzLi4uJywgNiwgdj0nMTIzLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMTMxLi4uJywgNiwgdj0nMTIyLi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMTNmLi4uJywgNiwgdj0nMTIzLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMTRkLi4uJywgNiwgdj0nMTIzLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMTViLi4uJywgNiwgdj0nMTIzLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMTY5Li4uJywgNiwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMTc3Li4uJywgNiwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMTg1Li4uJywgNiwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMTkzLi4uJywgNiwgdj0nMTE3Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMWEyLi4uJywgNiwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMWIwLi4uJywgNiwgdj0nMTIxLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMWJlLi4uJywgNiwgdj0nMTIyLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMWNjLi4uJywgNiwgdj0nMTIyLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMWRhLi4uJywgNiwgdj0nMTIxLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMWU4Li4uJywgNiwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMWY2Li4uJywgNiwgdj0nMTIxLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMjA1Li4uJywgNiwgdj0nMTIxLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMjEzLi4uJywgNiwgdj0nMTE2Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMjIxLi4uJywgNiwgdj0nMTE3Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMjJmLi4uJywgNiwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMjNkLi4uJywgNiwgdj0nMTIwLi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMjRiLi4uJywgNiwgdj0nMTIyLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMjU5Li4uJywgNiwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMjY3Li4uJywgNiwgdj0nMTIyLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMjc2Li4uJywgNiwgdj0nMTI0Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMjgzLi4uJywgNiwgdj0nMTI1Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMjkxLi4uJywgNiwgdj0nMTI1Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMjlmLi4uJywgNiwgdj0nMTI1Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMmFkLi4uJywgNiwgdj0nMTI0Li4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMmJiLi4uJywgNiwgdj0nMTIyLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMmM5Li4uJywgNiwgdj0nMTIxLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMmQ3Li4uJywgNiwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMmU1Li4uJywgNiwgdj0nMTE5Li4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMmYzLi4uJywgNiwgdj0nMTE3Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMzAxLi4uJywgNiwgdj0nMTE3Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMzBmLi4uJywgNiwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMzFkLi4uJywgNiwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMzJiLi4uJywgNiwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMzM5Li4uJywgNiwgdj0nMC4xMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMzQ3Li4uJywgNiwgdj0nMC4xMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMzU1Li4uJywgNiwgdj0nMC4xMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMzY0Li4uJywgNiwgdj0nMC4xMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMzcyLi4uJywgNiwgdj0nMC4xMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMzgwLi4uJywgNiwgdj0nMC4xMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMzhlLi4uJywgNiwgdj0nMC4xMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMzljLi4uJywgNiwgdj0nMC4xMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxM2FhLi4uJywgNiwgdj0nMC4xMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxM2I4Li4uJywgNiwgdj0nMC4xMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxM2M2Li4uJywgNiwgdj0nMC4xMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxM2Q0Li4uJywgNiwgdj0nMC4xMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxM2UyLi4uJywgNiwgdj0nMC4xMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxM2YwLi4uJywgNiwgdj0nMC4xMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxM2ZlLi4uJywgNiwgdj0nMC4xMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNDBjLi4uJywgNiwgdj0nMC4xMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNDFhLi4uJywgNiwgdj0nMC4xMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNDI4Li4uJywgNiwgdj0nMC4xMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNDM2Li4uJywgNiwgdj0nMC4xMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNDQ1Li4uJywgNiwgdj0nMC4xMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNDUzLi4uJywgNiwgdj0nMC4xMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNDYxLi4uJywgNiwgdj0nMC4xMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNDZmLi4uJywgNiwgdj0nMC4xMS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNDdkLi4uJywgNiwgdj0nMC4xMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNDhiLi4uJywgNiwgdj0nMC4xMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNDk5Li4uJywgNiwgdj0nMC4xMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNGE3Li4uJywgNiwgdj0nMC4xMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNGI1Li4uJywgNiwgdj0nMC4xMS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNGMzLi4uJywgNiwgdj0nMC4xMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNGQxLi4uJywgNiwgdj0nMC4xMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNGRmLi4uJywgNiwgdj0nMC4xMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNGVkLi4uJywgNiwgdj0nMC4xMS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNGZiLi4uJywgNiwgdj0nMC4xMS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNTA5Li4uJywgNiwgdj0nMC4xMS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNTE3Li4uJywgNiwgdj0nMC4xMS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNTI2Li4uJywgNiwgdj0nMC4xMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNTM0Li4uJywgNiwgdj0nMC4xMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNTQyLi4uJywgNiwgdj0nMC4xMS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNTUwLi4uJywgNiwgdj0nMC4xMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNTVlLi4uJywgNiwgdj0nMC4xMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNTZjLi4uJywgNiwgdj0nMC4xMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNTdhLi4uJywgNiwgdj0nMC4xMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNTg4Li4uJywgNiwgdj0nMC4xMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNTk2Li4uJywgNiwgdj0nMC4xMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNWE0Li4uJywgNiwgdj0nMC4xMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNWIyLi4uJywgNiwgdj0nMC4xMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNWMwLi4uJywgNiwgdj0nMC4xMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNWNlLi4uJywgNiwgdj0nMC4xMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNWRjLi4uJywgNiwgdj0nMC4xMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNWVhLi4uJywgNiwgdj0nMC4xMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNWY4Li4uJywgNiwgdj0nMC4xMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNjA3Li4uJywgNiwgdj0nMC4xMS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNjE1Li4uJywgNiwgdj0nMC4xMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNjIzLi4uJywgNiwgdj0nMC4xMS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNjMxLi4uJywgNiwgdj0nMC4xMS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNjNmLi4uJywgNiwgdj0nMC4xMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNjRkLi4uJywgNiwgdj0nMC4xMS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNjViLi4uJywgNiwgdj0nMC4xMS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNjY5Li4uJywgNiwgdj0nMC4xMS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNjc3Li4uJywgNiwgdj0nMC4xMS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNjg1Li4uJywgNiwgdj0nMC4xMS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNjkzLi4uJywgNiwgdj0nMC4xMS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNmExLi4uJywgNiwgdj0nMC4xMS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNmFmLi4uJywgNiwgdj0nMC4xMS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNmJkLi4uJywgNiwgdj0nMC4xMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNmNiLi4uJywgNiwgdj0nMC4xMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNmQ5Li4uJywgNiwgdj0nMC4xMS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNmU4Li4uJywgNiwgdj0nMC4xMS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNmY2Li4uJywgNiwgdj0nMC4xMS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNzA0Li4uJywgNiwgdj0nMC4xMS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNzEyLi4uJywgNiwgdj0nMC4xMS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNzIwLi4uJywgNiwgdj0nMC4xMS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNzJlLi4uJywgNiwgdj0nMC4xMS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNzNjLi4uJywgNiwgdj0nMC4xMS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNzRhLi4uJywgNiwgdj0nMC4xMS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNzU4Li4uJywgNiwgdj0nMC4xMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNzY2Li4uJywgNiwgdj0nMTE3Li4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNzc0Li4uJywgNiwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNzgyLi4uJywgNiwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNzkwLi4uJywgNiwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNzllLi4uJywgNiwgdj0nMTI0Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxN2FjLi4uJywgNiwgdj0nMTI2Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxN2JhLi4uJywgNiwgdj0nMTI4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxN2M5Li4uJywgNiwgdj0nMTI2Li4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxN2Q3Li4uJywgNiwgdj0nMTI2Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxN2U1Li4uJywgNiwgdj0nMTI2Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxN2YzLi4uJywgNiwgdj0nMTI2Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxODAxLi4uJywgNiwgdj0nMTI0Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxODBmLi4uJywgNiwgdj0nMTIzLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxODFkLi4uJywgNiwgdj0nMTI0Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxODJiLi4uJywgNiwgdj0nMTI0Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxODM5Li4uJywgNiwgdj0nMTIzLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxODQ3Li4uJywgNiwgdj0nMTIzLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxODU1Li4uJywgNiwgdj0nMTI0Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxODYzLi4uJywgNiwgdj0nMTI1Li4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxODcxLi4uJywgNiwgdj0nMTI1Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxODdmLi4uJywgNiwgdj0nMTI0Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxODhkLi4uJywgNiwgdj0nMTI0Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxODljLi4uJywgNiwgdj0nMTIzLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOGI4Li4uJywgNiwgdj0nMTE2Li4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOGM2Li4uJywgNiwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOGQ0Li4uJywgNiwgdj0nMTIxLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOGUyLi4uJywgNiwgdj0nMTIxLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOGYwLi4uJywgNiwgdj0nMTIzLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOGZlLi4uJywgNiwgdj0nMTI1Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOTBjLi4uJywgNiwgdj0nMTIyLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOTFhLi4uJywgNiwgdj0nMTI0Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOTI4Li4uJywgNiwgdj0nMTI2Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOTM2Li4uJywgNiwgdj0nMTI2Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOTQ0Li4uJywgNiwgdj0nMTI1Li4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOTUyLi4uJywgNiwgdj0nMTIzLi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOTYwLi4uJywgNiwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOTZlLi4uJywgNiwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOTdjLi4uJywgNiwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOThiLi4uJywgNiwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOTk5Li4uJywgNiwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOWI1Li4uJywgNiwgdj0nMTIyLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOWMzLi4uJywgNiwgdj0nMTIxLi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOWQxLi4uJywgNiwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOWRmLi4uJywgNiwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOWVkLi4uJywgNiwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOWVlLi4uJywgNiwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOWZiLi4uJywgNiwgdj0nMTE1Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYTA5Li4uJywgNiwgdj0nMTE4Li4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYTE3Li4uJywgNiwgdj0nMTE5Li4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYTI1Li4uJywgNiwgdj0nMTIxLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYTMzLi4uJywgNiwgdj0nMTIxLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYTQxLi4uJywgNiwgdj0nMTIyLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYTRmLi4uJywgNiwgdj0nMTI1Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYTVlLi4uJywgNiwgdj0nMTI2Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYTZjLi4uJywgNiwgdj0nMTI0Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYTdhLi4uJywgNiwgdj0nMTI1Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYTg4Li4uJywgNiwgdj0nMTI1Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYTk2Li4uJywgNiwgdj0nMTI0Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYWE0Li4uJywgNiwgdj0nMTIzLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYWIyLi4uJywgNiwgdj0nMTIxLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYWMwLi4uJywgNiwgdj0nMTIzLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYWNlLi4uJywgNiwgdj0nMTIzLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYWRjLi4uJywgNiwgdj0nMTIyLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYWVhLi4uJywgNiwgdj0nMTIxLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYWY4Li4uJywgNiwgdj0nMTIyLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYjA2Li4uJywgNiwgdj0nMTIzLi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYjE0Li4uJywgNiwgdj0nMTIzLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYzc0Li4uJywgNiwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYzgyLi4uJywgNiwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYzkwLi4uJywgNiwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYzllLi4uJywgNiwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxY2FjLi4uJywgNiwgdj0nMTIxLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxY2JhLi4uJywgNiwgdj0nMTIxLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxY2M4Li4uJywgNiwgdj0nMTE3Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxY2Q2Li4uJywgNiwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxY2U0Li4uJywgNiwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxY2YyLi4uJywgNiwgdj0nMTIyLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZDAxLi4uJywgNiwgdj0nMTI0Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZDBmLi4uJywgNiwgdj0nMTIyLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZDFkLi4uJywgNiwgdj0nMTIzLi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZDJiLi4uJywgNiwgdj0nMTIzLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZDM5Li4uJywgNiwgdj0nMTIyLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZDQ3Li4uJywgNiwgdj0nMTIxLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZDU1Li4uJywgNiwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZDYzLi4uJywgNiwgdj0nMTIyLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZDcxLi4uJywgNiwgdj0nMTIzLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZDdmLi4uJywgNiwgdj0nMTIyLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZDhkLi4uJywgNiwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZDliLi4uJywgNiwgdj0nMTIxLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZGE5Li4uJywgNiwgdj0nMTIyLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZGI3Li4uJywgNiwgdj0nMTIyLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZGM1Li4uJywgNiwgdj0nMTIyLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZGQzLi4uJywgNiwgdj0nMTIyLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZGUxLi4uJywgNiwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZGYwLi4uJywgNiwgdj0nMTE3Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZGZlLi4uJywgNiwgdj0nMTE1Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZTBjLi4uJywgNiwgdj0nMTE3Li4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZTFhLi4uJywgNiwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZTI4Li4uJywgNiwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZTM2Li4uJywgNiwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZTQ0Li4uJywgNiwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZTUyLi4uJywgNiwgdj0nMTE3Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZTYwLi4uJywgNiwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZTZlLi4uJywgNiwgdj0nMTIxLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZTdjLi4uJywgNiwgdj0nMTIyLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZThhLi4uJywgNiwgdj0nMTIyLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZTk4Li4uJywgNiwgdj0nMTIxLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZWE2Li4uJywgNiwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZWI0Li4uJywgNiwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZWMyLi4uJywgNiwgdj0nMTIyLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZWQxLi4uJywgNiwgdj0nMTIyLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZWRmLi4uJywgNiwgdj0nMTIyLi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZWVkLi4uJywgNiwgdj0nMTIyLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZWZiLi4uJywgNiwgdj0nMTIyLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZjA5Li4uJywgNiwgdj0nMTIyLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZjE3Li4uJywgNiwgdj0nMTIxLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZjI1Li4uJywgNiwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZjMzLi4uJywgNiwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZjQxLi4uJywgNiwgdj0nMTE2Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZjRmLi4uJywgNiwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZjVkLi4uJywgNiwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZjZiLi4uJywgNiwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZjc5Li4uJywgNiwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZjg3Li4uJywgNiwgdj0nMTIyLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZjk1Li4uJywgNiwgdj0nMTIzLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZmE0Li4uJywgNiwgdj0nMTI2Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZmIyLi4uJywgNiwgdj0nMTI0Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZmMwLi4uJywgNiwgdj0nMTI1Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZmNlLi4uJywgNiwgdj0nMTI1Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZmRjLi4uJywgNiwgdj0nMTI0Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZmVhLi4uJywgNiwgdj0nMTIyLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZmY4Li4uJywgNiwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMDA2Li4uJywgNiwgdj0nMTE3Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMDE0Li4uJywgNiwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMDIyLi4uJywgNiwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMDMwLi4uJywgNiwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMDNlLi4uJywgNiwgdj0nMTE5Li4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMDRjLi4uJywgNiwgdj0nMTIyLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMDVhLi4uJywgNiwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMDY4Li4uJywgNiwgdj0nMTE5Li4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMDc2Li4uJywgNiwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMDg0Li4uJywgNiwgdj0nMTE3Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMDkzLi4uJywgNiwgdj0nMTIxLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMGExLi4uJywgNiwgdj0nMTIwLi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMGFmLi4uJywgNiwgdj0nMTE5Li4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMGJkLi4uJywgNiwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMGNiLi4uJywgNiwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMGQ5Li4uJywgNiwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMGU3Li4uJywgNiwgdj0nMTIxLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMGY1Li4uJywgNiwgdj0nMTIzLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMTAzLi4uJywgNiwgdj0nMTI1Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMTExLi4uJywgNiwgdj0nMTIzLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMTFmLi4uJywgNiwgdj0nMTIzLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMTJkLi4uJywgNiwgdj0nMTIzLi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMTNiLi4uJywgNiwgdj0nMTIxLi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMTQ5Li4uJywgNiwgdj0nMTE3Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMTU3Li4uJywgNiwgdj0nMTE2Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMTY1Li4uJywgNiwgdj0nMTIxLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMTc0Li4uJywgNiwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMTgyLi4uJywgNiwgdj0nMTE4Li4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMTkwLi4uJywgNiwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMTllLi4uJywgNiwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMWFjLi4uJywgNiwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMWJhLi4uJywgNiwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMWM4Li4uJywgNiwgdj0nMTE3Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMWQ2Li4uJywgNiwgdj0nMTIyLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMWU0Li4uJywgNiwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMWYyLi4uJywgNiwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMjAwLi4uJywgNiwgdj0nMTIwLi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMjBlLi4uJywgNiwgdj0nMTIxLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMjFjLi4uJywgNiwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMjJhLi4uJywgNiwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMjM4Li4uJywgNiwgdj0nMTIzLi4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMjQ3Li4uJywgNiwgdj0nMTI1Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMjU1Li4uJywgNiwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMjYzLi4uJywgNiwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMjcxLi4uJywgNiwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMjdmLi4uJywgNiwgdj0nMTE2Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMjhkLi4uJywgNiwgdj0nMTE1Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMjliLi4uJywgNiwgdj0nMTIyLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMmE5Li4uJywgNiwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMmI3Li4uJywgNiwgdj0nMTE5Li4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMmM1Li4uJywgNiwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMmQzLi4uJywgNiwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMmUxLi4uJywgNiwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMmVmLi4uJywgNiwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMmZkLi4uJywgNiwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMzBiLi4uJywgNiwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMzE5Li4uJywgNiwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMzI3Li4uJywgNiwgdj0nMTE3Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMzM2Li4uJywgNiwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMzQ0Li4uJywgNiwgdj0nMTE3Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMzUyLi4uJywgNiwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMzYwLi4uJywgNiwgdj0nMTE5Li4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMzZlLi4uJywgNiwgdj0nMTE3Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMzdjLi4uJywgNiwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMzhhLi4uJywgNiwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMzk4Li4uJywgNiwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyM2E2Li4uJywgNiwgdj0nMTIxLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyM2I0Li4uJywgNiwgdj0nMTIyLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyM2MyLi4uJywgNiwgdj0nMTIyLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyM2QwLi4uJywgNiwgdj0nMTIxLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyM2RlLi4uJywgNiwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyM2VjLi4uJywgNiwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyM2ZhLi4uJywgNiwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNDA4Li4uJywgNiwgdj0nMTE3Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNDE3Li4uJywgNiwgdj0nMTE3Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNDI1Li4uJywgNiwgdj0nMTE3Li4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNDMzLi4uJywgNiwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNDQxLi4uJywgNiwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNDRmLi4uJywgNiwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNDZiLi4uJywgNiwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNDc5Li4uJywgNiwgdj0nMTE3Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNDg3Li4uJywgNiwgdj0nMTE0Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNDk1Li4uJywgNiwgdj0nMTE3Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNGEzLi4uJywgNiwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNGIxLi4uJywgNiwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNGJmLi4uJywgNiwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNGNkLi4uJywgNiwgdj0nMTIzLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNGRiLi4uJywgNiwgdj0nMTIyLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNGU5Li4uJywgNiwgdj0nMTI0Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNGY4Li4uJywgNiwgdj0nMTIzLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNTA2Li4uJywgNiwgdj0nMTI0Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNTE0Li4uJywgNiwgdj0nMTI0Li4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNTIyLi4uJywgNiwgdj0nMTIyLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNTMwLi4uJywgNiwgdj0nMTIxLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNTNlLi4uJywgNiwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNTRjLi4uJywgNiwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNTVhLi4uJywgNiwgdj0nMTE4Li4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNTY4Li4uJywgNiwgdj0nMTE3Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNTc2Li4uJywgNiwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNTg0Li4uJywgNiwgdj0nMTE2Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNTkyLi4uJywgNiwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNWEwLi4uJywgNiwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNWFlLi4uJywgNiwgdj0nMTE4Li4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNWJjLi4uJywgNiwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNWNhLi4uJywgNiwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNWQ5Li4uJywgNiwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNWU3Li4uJywgNiwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNWY1Li4uJywgNiwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNjAzLi4uJywgNiwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNjExLi4uJywgNiwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNjFmLi4uJywgNiwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNjJkLi4uJywgNiwgdj0nMTIyLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNjNiLi4uJywgNiwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNjQ5Li4uJywgNiwgdj0nMTIyLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNjU3Li4uJywgNiwgdj0nMTIzLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNjY1Li4uJywgNiwgdj0nMTIzLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNjczLi4uJywgNiwgdj0nMTIyLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNjgxLi4uJywgNiwgdj0nMTIyLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNjhmLi4uJywgNiwgdj0nMTIxLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNjlkLi4uJywgNiwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNmFiLi4uJywgNiwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNmJhLi4uJywgNiwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNmM4Li4uJywgNiwgdj0nMTE3Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNmQ2Li4uJywgNiwgdj0nMTE3Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNmU0Li4uJywgNiwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNmYyLi4uJywgNiwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNzAwLi4uJywgNiwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNzBlLi4uJywgNiwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNzFjLi4uJywgNiwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNzJhLi4uJywgNiwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNzM4Li4uJywgNiwgdj0nMTE5Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNzQ2Li4uJywgNiwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNzU0Li4uJywgNiwgdj0nMTIxLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNzYyLi4uJywgNiwgdj0nMTE4Li4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNzcwLi4uJywgNiwgdj0nMTIwLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNzdlLi4uJywgNiwgdj0nMTIyLi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCSwgNSkKK1NBWC5lbmRFbGVtZW50TnMocGFyLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhciwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbWVtaW5kPSc0NDA2Li4uJywgNiwgaD0nM2RjMS4uLicsIDgpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMCIgdi4uLicsIDEsIHY9Jy0xMjcuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZTA4Ii4uLicsIDMsIHY9Jy0xNDguLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWMzMi4uLicsIDQsIHY9Jy0xNTYuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMmEzYy4uLicsIDQsIHY9Jy0xNjQuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMzgzNS4uLicsIDQsIHY9Jy0xNDQuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNDY0NS4uLicsIDQsIHY9Jy0xMjcuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNTQ1NS4uLicsIDQsIHY9Jy0xMDQuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNjI2NS4uLicsIDQsIHY9Jy0xNjkuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNzA3NS4uLicsIDQsIHY9Jy0xNzYuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nN2U4NS4uLicsIDQsIHY9Jy0xNjYuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOGM5Ni4uLicsIDQsIHY9Jy0yMDYuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOWFhNS4uLicsIDQsIHY9Jy0xOTkuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYThiNi4uLicsIDQsIHY9Jy0xOTIuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYjZjNS4uLicsIDQsIHY9Jy0yMDEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYzRkNy4uLicsIDQsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDMwYi4uLicsIDQsIHY9Jy02Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZTBmNi4uLicsIDQsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZWYwNi4uLicsIDQsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZmQxNy4uLicsIDQsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTBiMi4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTE5My4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTI3NC4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTM1NS4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTQzNi4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTUxOC4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTVmOC4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTZkOS4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTdiYS4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTg5Yi4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTk3Yy4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWE1ZC4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWIzZS4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWMxZi4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWQwMC4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWRlMS4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWVjMi4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWZhMy4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjA4NC4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjE2NS4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjI0Ni4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjMyNy4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjQwOC4uLicsIDUsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjRlOS4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjVjYS4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjZhYi4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjc4Yy4uLicsIDUsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjg2ZC4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjk0ZS4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMmEzMC4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMmIxMC4uLicsIDUsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMmJmMS4uLicsIDUsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMmNkMi4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMmRiMy4uLicsIDUsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMmU5NC4uLicsIDUsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMmY3NS4uLicsIDUsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMzA1Ni4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMzEzNy4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMzIxOS4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMzJmOS4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMzNkYS4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMzRiYi4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMzU5ZC4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMzY3ZC4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMzc1ZS4uLicsIDUsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMzg0MC4uLicsIDUsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMzkyMS4uLicsIDUsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nM2EwMS4uLicsIDUsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nM2FlMi4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nM2JjMy4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nM2NhNC4uLicsIDUsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nM2Q4NS4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nM2U2Ni4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nM2Y0OC4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNDAyOC4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNDEwOS4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNDFlYS4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNDJjYi4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNDNhYy4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNDQ4ZC4uLicsIDUsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNDU2ZS4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNDY0Zi4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNDgwZi4uLicsIDUsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNDhmMC4uLicsIDUsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNDlkMS4uLicsIDUsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNGFiNC4uLicsIDUsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNGI5NS4uLicsIDUsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNGM3Ni4uLicsIDUsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNGQ1Ny4uLicsIDUsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNGUzOC4uLicsIDUsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNGYxOS4uLicsIDUsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNGZmYS4uLicsIDUsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNTBkZC4uLicsIDUsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNTFiYy4uLicsIDUsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNTI5ZC4uLicsIDUsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNTM3ZS4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNTQ2MC4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNTU0MC4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNTYyMS4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNTcwMi4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNTdlMy4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNThjNC4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNTlhNy4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNWE4Ni4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNWI2Ny4uLicsIDUsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNWM0OC4uLicsIDUsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNWQyOS4uLicsIDUsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNWUwYS4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNWVlYi4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNWZjYy4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNjBhZC4uLicsIDUsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNjE4ZS4uLicsIDUsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNjI2Zi4uLicsIDUsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNjM1MC4uLicsIDUsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNjQzMS4uLicsIDUsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNjUxMi4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNjVmMy4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNjZkNC4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNjdiNS4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNjg5Ni4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNjk3OC4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNmE1OC4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNmIzOS4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNmMxYS4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNmNmYi4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNmRkYy4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNmViZC4uLicsIDUsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNmY5ZS4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNzA3Zi4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNzE2MC4uLicsIDUsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNzI0MS4uLicsIDUsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNzMyMi4uLicsIDUsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNzQwMy4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNzRlNC4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNzVjNS4uLicsIDUsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNzZhNi4uLicsIDUsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNzc4Ny4uLicsIDUsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNzg2OC4uLicsIDUsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNzk0OC4uLicsIDUsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nN2EyOS4uLicsIDUsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nN2IwYS4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nN2JlYi4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nN2NjYy4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nN2RhZC4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nN2U4Zi4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nN2Y3MC4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nODA1MS4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nODEzMi4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nODIxMy4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nODJmNC4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nODNkNS4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nODRiNi4uLicsIDUsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nODU5Ny4uLicsIDUsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nODY3OC4uLicsIDUsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nODc1OS4uLicsIDUsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nODgzYS4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nODkxYi4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nODlmYy4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOGFkZC4uLicsIDUsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOGJiZS4uLicsIDUsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOGM5Zi4uLicsIDUsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOGQ4MC4uLicsIDUsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOGU2MS4uLicsIDUsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOGY0Mi4uLicsIDUsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOTAyMy4uLicsIDUsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOTEwNC4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOTFlNS4uLicsIDUsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOTJjNi4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOTNhOC4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOTQ4OC4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOTU2OS4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOTY0YS4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOTcyYi4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOTgwYy4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOThlZC4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOTljZS4uLicsIDUsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOWFhZi4uLicsIDUsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOWI5MC4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOWM3MS4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOWQ1Mi4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOWUzMy4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOWYxNC4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOWZmNS4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYTBkNi4uLicsIDUsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYTFiNy4uLicsIDUsIHY9Jy0xODQuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYTI5OC4uLicsIDUsIHY9Jy02MzEuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYTM3OS4uLicsIDUsIHY9JzE1NjQuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYTQ1YS4uLicsIDUsIHY9Jy02NiIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYTUzYi4uLicsIDUsIHY9Jy0zOTMuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYTYxYy4uLicsIDUsIHY9Jy02OTEuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYTZmZC4uLicsIDUsIHY9Jy04ODMuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYTdlMC4uLicsIDUsIHY9Jy0xNTcuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYThjMC4uLicsIDUsIHY9Jy0yMjAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYTlhMC4uLicsIDUsIHY9JzEwOSIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYWE4MS4uLicsIDUsIHY9Jy00MjAuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYWI2Mi4uLicsIDUsIHY9Jy04NTkuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYWM0My4uLicsIDUsIHY9Jy02MjguLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYWQyNC4uLicsIDUsIHY9JzUxNiIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYWUwNS4uLicsIDUsIHY9JzE4MzkuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYWVlNi4uLicsIDUsIHY9JzI5MyIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYWZjNy4uLicsIDUsIHY9JzExODUuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYjBhOC4uLicsIDUsIHY9JzM5NDYuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYjI2YS4uLicsIDUsIHY9JzQyMzAuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYjM0Yi4uLicsIDUsIHY9JzM2ODkuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYjQyYy4uLicsIDUsIHY9JzI0OCIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYjUwZC4uLicsIDUsIHY9JzQzMCIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYjVlZS4uLicsIDUsIHY9JzEwMjYuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYjZjZi4uLicsIDUsIHY9Jy01MjYuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYjdiMC4uLicsIDUsIHY9Jy0yNTguLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYjg5MS4uLicsIDUsIHY9Jy02NSIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYjk3Mi4uLicsIDUsIHY9Jy00ODkuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYmE1My4uLicsIDUsIHY9Jy04NDIuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYmIzNC4uLicsIDUsIHY9JzEwODIuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYmMxNS4uLicsIDUsIHY9JzMxMCIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYmNmNi4uLicsIDUsIHY9Jy0xMTEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYmRkOC4uLicsIDUsIHY9JzM2MzIuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYmViOC4uLicsIDUsIHY9JzUxMyIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYmY5OS4uLicsIDUsIHY9JzIxNCIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYzA3YS4uLicsIDUsIHY9Jy0yOTIuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYzE1Yi4uLicsIDUsIHY9Jy0xMjcuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYzIzYy4uLicsIDUsIHY9JzQ5NSIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYzMxZC4uLicsIDUsIHY9JzE4MTUuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYzNmZS4uLicsIDUsIHY9JzgxOCIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYzRkZi4uLicsIDUsIHY9JzE1MzkuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYzVjMC4uLicsIDUsIHY9JzY4MCIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYzZhMS4uLicsIDUsIHY9JzcxMiIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYzc4Mi4uLicsIDUsIHY9JzEyODAuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYzg2My4uLicsIDUsIHY9JzM5NyIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYzk0NC4uLicsIDUsIHY9JzQ5MyIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nY2EyNS4uLicsIDUsIHY9JzI1MCIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nY2IwNi4uLicsIDUsIHY9Jzc4NSIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nY2JlNy4uLicsIDUsIHY9Jy0yMDEuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nY2NjOC4uLicsIDUsIHY9JzIxNTYuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nY2RhOS4uLicsIDUsIHY9JzI5MzcuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nY2U4YS4uLicsIDUsIHY9JzIxMDcuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nY2Y2Yi4uLicsIDUsIHY9JzI4MjQuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDA0Yy4uLicsIDUsIHY9JzIyNjkuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDEyZC4uLicsIDUsIHY9JzE0NDEuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDIwZS4uLicsIDUsIHY9Jy0yOTcuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDJmMC4uLicsIDUsIHY9Jy0yMjguLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDNkMC4uLicsIDUsIHY9Jy0xMTguLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDRiMS4uLicsIDUsIHY9Jy05NjQuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDU5Mi4uLicsIDUsIHY9Jy00NDIuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDY3My4uLicsIDUsIHY9JzI2MSIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDc1NC4uLicsIDUsIHY9JzEzMDkuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDgzNS4uLicsIDUsIHY9Jy04NDkuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDkxNi4uLicsIDUsIHY9JzE3OCIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDlmNy4uLicsIDUsIHY9JzExMTEuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZGFkOC4uLicsIDUsIHY9JzI3NTAuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZGJiOS4uLicsIDUsIHY9JzI3NjkuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZGM5YS4uLicsIDUsIHY9JzI5NzMuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZGQ3Yi4uLicsIDUsIHY9JzEzMjcuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZGU1Yy4uLicsIDUsIHY9JzQ1NCIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZGYzZC4uLicsIDUsIHY9JzE5OSIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZTAxZC4uLicsIDUsIHY9JzE2NyIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZTBmZS4uLicsIDUsIHY9JzU1NiIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZTFkZi4uLicsIDUsIHY9JzQxNiIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZTJjMC4uLicsIDUsIHY9Jy0zNzAuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZTNhMS4uLicsIDUsIHY9Jy0xMTUuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZTQ4Mi4uLicsIDUsIHY9JzkzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZTU2My4uLicsIDUsIHY9Jy04NDMuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZTY0NC4uLicsIDUsIHY9JzE3MSIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZTcyNS4uLicsIDUsIHY9Jy02NDYuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZTgwNi4uLicsIDUsIHY9Jy03MjMuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZThlNy4uLicsIDUsIHY9JzI2NjUuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZTljOC4uLicsIDUsIHY9JzgzNyIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZWFhOS4uLicsIDUsIHY9JzY5OCIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZWI4YS4uLicsIDUsIHY9JzEwOTcuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZWM2Yi4uLicsIDUsIHY9JzI2NDkuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZWQ0Yy4uLicsIDUsIHY9Jy00OTUuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZWUyZC4uLicsIDUsIHY9JzExNjUuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZWYwZS4uLicsIDUsIHY9JzU0MiIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZWZmMC4uLicsIDUsIHY9JzE4NzEuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZjBkMS4uLicsIDUsIHY9Jzk3OSIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZjFiMi4uLicsIDUsIHY9JzEyMTAuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZjI5My4uLicsIDUsIHY9Jy0zNTYuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZjM3NC4uLicsIDUsIHY9JzE2NTQuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZjQ1NS4uLicsIDUsIHY9JzEzNjguLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZjUzNi4uLicsIDUsIHY9JzE0NjIuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZjYxNy4uLicsIDUsIHY9JzE2MTIuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZjZmOC4uLicsIDUsIHY9JzEzMDkuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZjdkOS4uLicsIDUsIHY9JzE4ODYuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZjhiYS4uLicsIDUsIHY9JzExMzYuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZjk5Yi4uLicsIDUsIHY9JzExNjkuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZmE3Yy4uLicsIDUsIHY9JzE0MDMuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZmI1ZC4uLicsIDUsIHY9JzEzMTYuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZmMzZS4uLicsIDUsIHY9Jy0xMDQuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZmQxZi4uLicsIDUsIHY9Jy0xMTkuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZmUwMC4uLicsIDUsIHY9Jy0xNjAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZmVlMS4uLicsIDUsIHY9Jy0xOTkuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZmZjMi4uLicsIDUsIHY9Jy0yNTIuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTAwYS4uLicsIDYsIHY9JzU4NSIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTAxOC4uLicsIDYsIHY9JzEwNjkuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTAyNi4uLicsIDYsIHY9JzE5NzMuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTAzNC4uLicsIDYsIHY9JzE4MzEuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTA0Mi4uLicsIDYsIHY9JzExMjcuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTA1MC4uLicsIDYsIHY9JzE3NjcuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTA1ZS4uLicsIDYsIHY9JzEzNDMuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTA2Yy4uLicsIDYsIHY9JzE1NjQuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTA3YS4uLicsIDYsIHY9Jzg0OSIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTA4OC4uLicsIDYsIHY9JzgwNSIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTA5Ni4uLicsIDYsIHY9JzEwOTMuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTBhNC4uLicsIDYsIHY9Jzg4MCIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTBiMi4uLicsIDYsIHY9JzEyNTQuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTBjMS4uLicsIDYsIHY9JzI2NjQuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTBjZi4uLicsIDYsIHY9JzEzNjguLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTBkZC4uLicsIDYsIHY9JzEwMDkuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTBlYi4uLicsIDYsIHY9JzIwOCIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTBmOS4uLicsIDYsIHY9JzIyIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTEwNy4uLicsIDYsIHY9JzExNDIuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTExNS4uLicsIDYsIHY9JzI4NiIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTEyMy4uLicsIDYsIHY9Jy0xMTYuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTEzMS4uLicsIDYsIHY9JzcxMiIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTEzZi4uLicsIDYsIHY9JzIyNyIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTE0ZC4uLicsIDYsIHY9JzIzNiIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTE1Yi4uLicsIDYsIHY9JzM3MiIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTE2OS4uLicsIDYsIHY9JzE0NDEuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTE3Ny4uLicsIDYsIHY9JzIwMTUuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTE4NS4uLicsIDYsIHY9JzEyMTEuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTE5My4uLicsIDYsIHY9JzEyODQuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTFhMi4uLicsIDYsIHY9JzM2OSIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTFiMC4uLicsIDYsIHY9Jy0zMTAuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTFiZS4uLicsIDYsIHY9Jy04MDIuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTFjYy4uLicsIDYsIHY9Jzc4MSIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTFkYS4uLicsIDYsIHY9JzQ5MSIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTFlOC4uLicsIDYsIHY9JzEwMjMuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTFmNi4uLicsIDYsIHY9JzUxNiIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTIwNS4uLicsIDYsIHY9JzEiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTIxMy4uLicsIDYsIHY9JzEiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTIyMS4uLicsIDYsIHY9JzIiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTIyZi4uLicsIDYsIHY9JzEiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTIzZC4uLicsIDYsIHY9JzEiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTI0Yi4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTI1OS4uLicsIDYsIHY9JzEiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTI2Ny4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTI3Ni4uLicsIDYsIHY9Jy0xIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTI4My4uLicsIDYsIHY9Jy0xIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTI5MS4uLicsIDYsIHY9Jy0xIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTI5Zi4uLicsIDYsIHY9Jy0xIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTJhZC4uLicsIDYsIHY9Jy0xIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTJiYi4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTJjOS4uLicsIDYsIHY9JzEiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTJkNy4uLicsIDYsIHY9JzEiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTJlNS4uLicsIDYsIHY9JzIiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTJmMy4uLicsIDYsIHY9JzEiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTMwMS4uLicsIDYsIHY9JzEiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTMwZi4uLicsIDYsIHY9JzEiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTMxZC4uLicsIDYsIHY9JzEiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTMyYi4uLicsIDYsIHY9JzEiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTMzOS4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTM0Ny4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTM1NS4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTM2NC4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTM3Mi4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTM4MC4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTM4ZS4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTM5Yy4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTNhYS4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTNiOC4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTNjNi4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTNkNC4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTNlMi4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTNmMC4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTNmZS4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTQwYy4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTQxYS4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTQyOC4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTQzNi4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTQ0NS4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTQ1My4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTQ2MS4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTQ2Zi4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTQ3ZC4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTQ4Yi4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTQ5OS4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTRhNy4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTRiNS4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTRjMy4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTRkMS4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTRkZi4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTRlZC4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTRmYi4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTUwOS4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTUxNy4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTUyNi4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTUzNC4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTU0Mi4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTU1MC4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTU1ZS4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTU2Yy4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTU3YS4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTU4OC4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTU5Ni4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTVhNC4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTViMi4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTVjMC4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTVjZS4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTVkYy4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTVlYS4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTVmOC4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTYwNy4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTYxNS4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTYyMy4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTYzMS4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTYzZi4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTY0ZC4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTY1Yi4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTY2OS4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTY3Ny4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTY4NS4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTY5My4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTZhMS4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTZhZi4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTZiZC4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTZjYi4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTZkOS4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTZlOC4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTZmNi4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTcwNC4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTcxMi4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTcyMC4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTcyZS4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTczYy4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTc0YS4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTc1OC4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTc2Ni4uLicsIDYsIHY9JzIyNzQuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTc3NC4uLicsIDYsIHY9JzE3NzUuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTc4Mi4uLicsIDYsIHY9JzExNTMuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTc5MC4uLicsIDYsIHY9Jzc2OSIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTc5ZS4uLicsIDYsIHY9Jy04NDYuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTdhYy4uLicsIDYsIHY9Jy0yMzYuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTdiYS4uLicsIDYsIHY9Jy0yOTYuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTdjOS4uLicsIDYsIHY9Jy0yNTEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTdkNy4uLicsIDYsIHY9Jy0yNDQuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTdlNS4uLicsIDYsIHY9Jy0yODYuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTdmMy4uLicsIDYsIHY9Jy0yMjcuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTgwMS4uLicsIDYsIHY9Jy0xMjUuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTgwZi4uLicsIDYsIHY9Jy03MTYuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTgxZC4uLicsIDYsIHY9Jy0xNDguLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTgyYi4uLicsIDYsIHY9Jy0yMDAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTgzOS4uLicsIDYsIHY9Jy0xMDUuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTg0Ny4uLicsIDYsIHY9Jy05NzguLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTg1NS4uLicsIDYsIHY9Jy0xMjYuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTg2My4uLicsIDYsIHY9Jy0zMTcuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTg3MS4uLicsIDYsIHY9Jy0yNjYuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTg3Zi4uLicsIDYsIHY9Jy0yNTQuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTg4ZC4uLicsIDYsIHY9Jy0yMzcuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTg5Yy4uLicsIDYsIHY9Jy0xMTIuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMThiOC4uLicsIDYsIHY9JzEyMTkuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMThjNi4uLicsIDYsIHY9Jy0xMDYuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMThkNC4uLicsIDYsIHY9Jy0xNTEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMThlMi4uLicsIDYsIHY9Jy0xMjguLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMThmMC4uLicsIDYsIHY9Jy0xOTAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMThmZS4uLicsIDYsIHY9Jy0xNjIuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTkwYy4uLicsIDYsIHY9Jy03NzguLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTkxYS4uLicsIDYsIHY9Jy0xNzMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTkyOC4uLicsIDYsIHY9Jy0xNzQuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTkzNi4uLicsIDYsIHY9Jy0xODcuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTk0NC4uLicsIDYsIHY9Jy0xMjAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTk1Mi4uLicsIDYsIHY9Jy0yMTEuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTk2MC4uLicsIDYsIHY9JzE2MTkuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTk2ZS4uLicsIDYsIHY9Jy03NjQuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTk3Yy4uLicsIDYsIHY9Jy04MjcuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTk4Yi4uLicsIDYsIHY9JzQwIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTk5OS4uLicsIDYsIHY9Jy0xOTkuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTliNS4uLicsIDYsIHY9Jy05NjcuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTljMy4uLicsIDYsIHY9Jy02ODAuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTlkMS4uLicsIDYsIHY9Jy0zODUuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTlkZi4uLicsIDYsIHY9Jy0yNDEuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTllZC4uLicsIDYsIHY9JzM3MSIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTllZS4uLicsIDYsIHY9JzQ3MSIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTlmYi4uLicsIDYsIHY9JzYxIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWEwOS4uLicsIDYsIHY9Jy0yNDQuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWExNy4uLicsIDYsIHY9Jy0zNDQuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWEyNS4uLicsIDYsIHY9Jy0zODYuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWEzMy4uLicsIDYsIHY9Jy0xNjUuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWE0MS4uLicsIDYsIHY9Jy0yMjcuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWE0Zi4uLicsIDYsIHY9Jy00MTMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWE1ZS4uLicsIDYsIHY9Jy0zNzMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWE2Yy4uLicsIDYsIHY9Jy0yNjUuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWE3YS4uLicsIDYsIHY9Jy0zMjguLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWE4OC4uLicsIDYsIHY9Jy0zMzcuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWE5Ni4uLicsIDYsIHY9Jy0yNzAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWFhNC4uLicsIDYsIHY9Jy0xOTguLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWFiMi4uLicsIDYsIHY9Jy03OTcuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWFjMC4uLicsIDYsIHY9Jy0yMDQuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWFjZS4uLicsIDYsIHY9Jy0yNzkuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWFkYy4uLicsIDYsIHY9Jy0xOTMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWFlYS4uLicsIDYsIHY9Jy0yMDkuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWFmOC4uLicsIDYsIHY9Jy0yMjEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWIwNi4uLicsIDYsIHY9Jy0yNjcuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWIxNC4uLicsIDYsIHY9Jy0yNTMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWM3NC4uLicsIDYsIHY9JzQ1MyIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWM4Mi4uLicsIDYsIHY9Jy0xNTcuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWM5MC4uLicsIDYsIHY9JzExNDMuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWM5ZS4uLicsIDYsIHY9Jy0xNDYuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWNhYy4uLicsIDYsIHY9Jy0xMDAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWNiYS4uLicsIDYsIHY9Jy0xNDAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWNjOC4uLicsIDYsIHY9JzI5NDkuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWNkNi4uLicsIDYsIHY9JzIyMjkuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWNlNC4uLicsIDYsIHY9JzEwMjIuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWNmMi4uLicsIDYsIHY9Jy0xNjIuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWQwMS4uLicsIDYsIHY9Jy0xODMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWQwZi4uLicsIDYsIHY9Jy0yMTEuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWQxZC4uLicsIDYsIHY9Jy03NjcuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWQyYi4uLicsIDYsIHY9Jy03OTIuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWQzOS4uLicsIDYsIHY9JzE3MyIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWQ0Ny4uLicsIDYsIHY9Jzc3NiIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWQ1NS4uLicsIDYsIHY9JzEyNDkuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWQ2My4uLicsIDYsIHY9Jy05NTcuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWQ3MS4uLicsIDYsIHY9Jy05MTEuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWQ3Zi4uLicsIDYsIHY9Jy0yNDMuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWQ4ZC4uLicsIDYsIHY9Jy02NSIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWQ5Yi4uLicsIDYsIHY9Jy0zMDguLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWRhOS4uLicsIDYsIHY9Jy04MTEuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWRiNy4uLicsIDYsIHY9Jy04MDYuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWRjNS4uLicsIDYsIHY9Jy05NTIuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWRkMy4uLicsIDYsIHY9Jy03MTYuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWRlMS4uLicsIDYsIHY9Jy0xNjEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWRmMC4uLicsIDYsIHY9Jy0xOTEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWRmZS4uLicsIDYsIHY9Jy0xODAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWUwYy4uLicsIDYsIHY9Jy0yMjIuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWUxYS4uLicsIDYsIHY9Jy0yMjcuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWUyOC4uLicsIDYsIHY9Jy0yMzEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWUzNi4uLicsIDYsIHY9Jy0yMjguLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWU0NC4uLicsIDYsIHY9Jy0yMzMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWU1Mi4uLicsIDYsIHY9Jy0xODYuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWU2MC4uLicsIDYsIHY9Jy0yMTMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWU2ZS4uLicsIDYsIHY9Jy0yMjAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWU3Yy4uLicsIDYsIHY9Jy0yOTYuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWU4YS4uLicsIDYsIHY9Jy00NDkuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWU5OC4uLicsIDYsIHY9Jy0xNDIuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWVhNi4uLicsIDYsIHY9Jy00MjIuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWViNC4uLicsIDYsIHY9Jy0zNjUuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWVjMi4uLicsIDYsIHY9Jy01ODEuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWVkMS4uLicsIDYsIHY9Jy0yNjMuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWVkZi4uLicsIDYsIHY9Jy0zMjUuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWVlZC4uLicsIDYsIHY9Jy0xNDIuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWVmYi4uLicsIDYsIHY9Jy0zNTUuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWYwOS4uLicsIDYsIHY9Jy0zMTAuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWYxNy4uLicsIDYsIHY9JzQ5NiIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWYyNS4uLicsIDYsIHY9JzY2MCIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWYzMy4uLicsIDYsIHY9JzEyNDYuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWY0MS4uLicsIDYsIHY9JzI4ODkuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWY0Zi4uLicsIDYsIHY9JzE1MzIuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWY1ZC4uLicsIDYsIHY9Jy0xNDMuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWY2Yi4uLicsIDYsIHY9Jy01MTguLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWY3OS4uLicsIDYsIHY9JzIyNSIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWY4Ny4uLicsIDYsIHY9Jy0xNjYuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWY5NS4uLicsIDYsIHY9Jy0yMzMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWZhNC4uLicsIDYsIHY9Jy0xNzIuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWZiMi4uLicsIDYsIHY9Jy0xNDguLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWZjMC4uLicsIDYsIHY9Jy0xNTEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWZjZS4uLicsIDYsIHY9Jy00NzYuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWZkYy4uLicsIDYsIHY9Jy0xOTMuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWZlYS4uLicsIDYsIHY9JzEyOCIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWZmOC4uLicsIDYsIHY9JzM3NiIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjAwNi4uLicsIDYsIHY9JzI4NzIuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjAxNC4uLicsIDYsIHY9JzQwOCIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjAyMi4uLicsIDYsIHY9JzE5MjMuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjAzMC4uLicsIDYsIHY9JzE4MzAuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjAzZS4uLicsIDYsIHY9JzE3OTguLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjA0Yy4uLicsIDYsIHY9JzMzNCIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjA1YS4uLicsIDYsIHY9JzEyNjAuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjA2OC4uLicsIDYsIHY9JzE4MTUuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjA3Ni4uLicsIDYsIHY9JzIyNzIuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjA4NC4uLicsIDYsIHY9JzI2MiIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjA5My4uLicsIDYsIHY9Jy0zODcuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjBhMS4uLicsIDYsIHY9Jy02MTMuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjBhZi4uLicsIDYsIHY9Jy0yNTEuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjBiZC4uLicsIDYsIHY9Jy04ODUuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjBjYi4uLicsIDYsIHY9JzU1MSIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjBkOS4uLicsIDYsIHY9JzQ4Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjBlNy4uLicsIDYsIHY9Jy05ODIuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjBmNS4uLicsIDYsIHY9Jy0xNjEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjEwMy4uLicsIDYsIHY9Jy0xMTIuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjExMS4uLicsIDYsIHY9Jy0zODEuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjExZi4uLicsIDYsIHY9Jy00NDEuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjEyZC4uLicsIDYsIHY9JzcxIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjEzYi4uLicsIDYsIHY9JzEwMjAuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjE0OS4uLicsIDYsIHY9Jzc2MCIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjE1Ny4uLicsIDYsIHY9Jy0zMTkuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjE2NS4uLicsIDYsIHY9Jy0xMTQuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjE3NC4uLicsIDYsIHY9JzMwMiIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjE4Mi4uLicsIDYsIHY9Jy0zMTkuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjE5MC4uLicsIDYsIHY9Jy01ODIuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjE5ZS4uLicsIDYsIHY9JzQwOCIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjFhYy4uLicsIDYsIHY9JzEwMzEuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjFiYS4uLicsIDYsIHY9JzExMzkuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjFjOC4uLicsIDYsIHY9JzIwODIuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjFkNi4uLicsIDYsIHY9Jy0xMjAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjFlNC4uLicsIDYsIHY9JzYyMiIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjFmMi4uLicsIDYsIHY9JzQ1NiIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjIwMC4uLicsIDYsIHY9Jy03MzYuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjIwZS4uLicsIDYsIHY9Jy04MTguLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjIxYy4uLicsIDYsIHY9JzE2ODQuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjIyYS4uLicsIDYsIHY9JzMwNyIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjIzOC4uLicsIDYsIHY9Jy04MDEuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjI0Ny4uLicsIDYsIHY9Jy0xMjUuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjI1NS4uLicsIDYsIHY9JzMzMDguLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjI2My4uLicsIDYsIHY9JzUwNiIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjI3MS4uLicsIDYsIHY9JzYzOSIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjI3Zi4uLicsIDYsIHY9JzE5NjMuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjI4ZC4uLicsIDYsIHY9JzI4NjcuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjI5Yi4uLicsIDYsIHY9Jy04MzEuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjJhOS4uLicsIDYsIHY9Jy0yNzAuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjJiNy4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjJjNS4uLicsIDYsIHY9JzIwMTAuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjJkMy4uLicsIDYsIHY9JzM0MDguLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjJlMS4uLicsIDYsIHY9JzMxOTAuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjJlZi4uLicsIDYsIHY9Jy0xODcuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjJmZC4uLicsIDYsIHY9Jy0yMjUuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjMwYi4uLicsIDYsIHY9JzUzMSIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjMxOS4uLicsIDYsIHY9Jy04MjMuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjMyNy4uLicsIDYsIHY9JzYyIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjMzNi4uLicsIDYsIHY9JzEwNzkuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjM0NC4uLicsIDYsIHY9JzE1NDcuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjM1Mi4uLicsIDYsIHY9JzkwMCIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjM2MC4uLicsIDYsIHY9JzExMiIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjM2ZS4uLicsIDYsIHY9JzE3ODAuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjM3Yy4uLicsIDYsIHY9JzE0MDcuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjM4YS4uLicsIDYsIHY9JzI5OCIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjM5OC4uLicsIDYsIHY9JzU2NSIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjNhNi4uLicsIDYsIHY9Jy0zMTEuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjNiNC4uLicsIDYsIHY9Jy02NTcuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjNjMi4uLicsIDYsIHY9JzE2OCIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjNkMC4uLicsIDYsIHY9JzY0NyIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjNkZS4uLicsIDYsIHY9JzE0MjcuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjNlYy4uLicsIDYsIHY9JzgyOSIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjNmYS4uLicsIDYsIHY9Jy01Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjQwOC4uLicsIDYsIHY9JzExOTcuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjQxNy4uLicsIDYsIHY9JzM3NTEuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjQyNS4uLicsIDYsIHY9JzI5OTEuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjQzMy4uLicsIDYsIHY9JzI4MDEuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjQ0MS4uLicsIDYsIHY9Jy0xMTguLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjQ0Zi4uLicsIDYsIHY9Jy04MjguLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjQ2Yi4uLicsIDYsIHY9Jy03OTkuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjQ3OS4uLicsIDYsIHY9JzU3Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjQ4Ny4uLicsIDYsIHY9JzQ2MDEuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjQ5NS4uLicsIDYsIHY9JzE5MTEuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjRhMy4uLicsIDYsIHY9Jzc5OSIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjRiMS4uLicsIDYsIHY9Jy05NzIuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjRiZi4uLicsIDYsIHY9Jy03MDguLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjRjZC4uLicsIDYsIHY9Jy03OTAuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjRkYi4uLicsIDYsIHY9Jy00OTAuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjRlOS4uLicsIDYsIHY9Jy0xMzEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjRmOC4uLicsIDYsIHY9Jy04MjUuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjUwNi4uLicsIDYsIHY9Jy0xMDEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjUxNC4uLicsIDYsIHY9Jy0xMTcuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjUyMi4uLicsIDYsIHY9Jy0zNSIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjUzMC4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjUzZS4uLicsIDYsIHY9JzEzNTIuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjU0Yy4uLicsIDYsIHY9JzEwNTkuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjU1YS4uLicsIDYsIHY9JzEyOTAuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjU2OC4uLicsIDYsIHY9JzIwNzkuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjU3Ni4uLicsIDYsIHY9JzM2MTguLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjU4NC4uLicsIDYsIHY9Jy00NjguLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjU5Mi4uLicsIDYsIHY9Jy0yNDcuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjVhMC4uLicsIDYsIHY9Jy01NTYuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjVhZS4uLicsIDYsIHY9JzE4OSIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjViYy4uLicsIDYsIHY9JzI2MCIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjVjYS4uLicsIDYsIHY9JzgxNiIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjVkOS4uLicsIDYsIHY9JzI0ODkuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjVlNy4uLicsIDYsIHY9JzI3MzIuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjVmNS4uLicsIDYsIHY9JzIyMzQuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjYwMy4uLicsIDYsIHY9JzU3Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjYxMS4uLicsIDYsIHY9JzEyMTkuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjYxZi4uLicsIDYsIHY9JzYzMiIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjYyZC4uLicsIDYsIHY9Jy0xMzYuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjYzYi4uLicsIDYsIHY9JzM4Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjY0OS4uLicsIDYsIHY9Jy05ODAuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjY1Ny4uLicsIDYsIHY9Jy0xNTAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjY2NS4uLicsIDYsIHY9Jy0yMTEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjY3My4uLicsIDYsIHY9Jy0xNjEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjY4MS4uLicsIDYsIHY9Jy0xMzEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjY4Zi4uLicsIDYsIHY9Jy00MzIuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjY5ZC4uLicsIDYsIHY9JzMwOSIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjZhYi4uLicsIDYsIHY9JzY4NSIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjZiYS4uLicsIDYsIHY9JzE2OTIuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjZjOC4uLicsIDYsIHY9JzE4OTkuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjZkNi4uLicsIDYsIHY9JzM2MjIuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjZlNC4uLicsIDYsIHY9JzI3MDkuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjZmMi4uLicsIDYsIHY9JzMwMzcuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjcwMC4uLicsIDYsIHY9JzI4OTguLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjcwZS4uLicsIDYsIHY9JzMyNTEuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjcxYy4uLicsIDYsIHY9JzE4NiIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjcyYS4uLicsIDYsIHY9Jy02MzYuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjczOC4uLicsIDYsIHY9Jy00MjEuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjc0Ni4uLicsIDYsIHY9Jy03MjkuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjc1NC4uLicsIDYsIHY9Jy05NzguLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjc2Mi4uLicsIDYsIHY9JzI2NzAuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjc3MC4uLicsIDYsIHY9JzEyNTUuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjc3ZS4uLicsIDYsIHY9Jy00OTYuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQksIDUpCitTQVguZW5kRWxlbWVudE5zKHBhciwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCSwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhwYXIsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG1lbWluZD0nNDI0Ni4uLicsIDYsIGg9JzNkYzEuLi4nLCA4KQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzAiIHYuLi4nLCAxLCB2PSctNDMxLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2UwOCIuLi4nLCAzLCB2PSctNDE2Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFjMzIuLi4nLCA0LCB2PSctNDEwLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzJhM2MuLi4nLCA0LCB2PSctNDA5Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzM4MzUuLi4nLCA0LCB2PSctMzk4Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzQ2NDUuLi4nLCA0LCB2PSctMzkzLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzU0NTUuLi4nLCA0LCB2PSctNDQzLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzYyNjUuLi4nLCA0LCB2PSctNTMyLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzcwNzUuLi4nLCA0LCB2PSctNjI5Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzdlODUuLi4nLCA0LCB2PSctNzMzLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzhjOTYuLi4nLCA0LCB2PSctNzU0Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzlhYTUuLi4nLCA0LCB2PSctNzI0Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2E4YjYuLi4nLCA0LCB2PSctNjg2Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2I2YzUuLi4nLCA0LCB2PSctNjQ1Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2M0ZDcuLi4nLCA0LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2QzMGIuLi4nLCA0LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2UwZjYuLi4nLCA0LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2VmMDYuLi4nLCA0LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2ZkMTcuLi4nLCA0LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwYjIuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExOTMuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyNzQuLi4nLCA1LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzNTUuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0MzYuLi4nLCA1LCB2PSctOSIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1MTguLi4nLCA1LCB2PSctOSIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1ZjguLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2ZDkuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3YmEuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4OWIuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5N2MuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhNWQuLi4nLCA1LCB2PSctOSIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFiM2UuLi4nLCA1LCB2PSctOSIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFjMWYuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkMDAuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkZTEuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlYzIuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmYTMuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwODQuLi4nLCA1LCB2PSctOSIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxNjUuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyNDYuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzMjcuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0MDguLi4nLCA1LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0ZTkuLi4nLCA1LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1Y2EuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2YWIuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI3OGMuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI4NmQuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI5NGUuLi4nLCA1LCB2PSctOSIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzJhMzAuLi4nLCA1LCB2PSctOSIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzJiMTAuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzJiZjEuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzJjZDIuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzJkYjMuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzJlOTQuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzJmNzUuLi4nLCA1LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzMwNTYuLi4nLCA1LCB2PSctOSIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzMxMzcuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzMyMTkuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzMyZjkuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzMzZGEuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzM0YmIuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzM1OWQuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzM2N2QuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzM3NWUuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzM4NDAuLi4nLCA1LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzM5MjEuLi4nLCA1LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzNhMDEuLi4nLCA1LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzNhZTIuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzNiYzMuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzNjYTQuLi4nLCA1LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzNkODUuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzNlNjYuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzNmNDguLi4nLCA1LCB2PSctOSIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzQwMjguLi4nLCA1LCB2PSctOSIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzQxMDkuLi4nLCA1LCB2PSctOSIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzQxZWEuLi4nLCA1LCB2PSctOSIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzQyY2IuLi4nLCA1LCB2PSctOSIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzQzYWMuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzQ0OGQuLi4nLCA1LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzQ1NmUuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzQ2NGYuLi4nLCA1LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzQ4MGYuLi4nLCA1LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzQ4ZjAuLi4nLCA1LCB2PSctNiIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzQ5ZDEuLi4nLCA1LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzRhYjQuLi4nLCA1LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzRiOTUuLi4nLCA1LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzRjNzYuLi4nLCA1LCB2PSctNiIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzRkNTcuLi4nLCA1LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzRlMzguLi4nLCA1LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzRmMTkuLi4nLCA1LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzRmZmEuLi4nLCA1LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzUwZGQuLi4nLCA1LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzUxYmMuLi4nLCA1LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzUyOWQuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzUzN2UuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzU0NjAuLi4nLCA1LCB2PSctOSIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzU1NDAuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzU2MjEuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzU3MDIuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzU3ZTMuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzU4YzQuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzU5YTcuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzVhODYuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzViNjcuLi4nLCA1LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzVjNDguLi4nLCA1LCB2PSctNiIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzVkMjkuLi4nLCA1LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzVlMGEuLi4nLCA1LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzVlZWIuLi4nLCA1LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzVmY2MuLi4nLCA1LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzYwYWQuLi4nLCA1LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzYxOGUuLi4nLCA1LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzYyNmYuLi4nLCA1LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzYzNTAuLi4nLCA1LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzY0MzEuLi4nLCA1LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzY1MTIuLi4nLCA1LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzY1ZjMuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzY2ZDQuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzY3YjUuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzY4OTYuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzY5NzguLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzZhNTguLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzZiMzkuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzZjMWEuLi4nLCA1LCB2PSctOSIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzZjZmIuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzZkZGMuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzZlYmQuLi4nLCA1LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzZmOWUuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzcwN2YuLi4nLCA1LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzcxNjAuLi4nLCA1LCB2PSctNiIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzcyNDEuLi4nLCA1LCB2PSctNiIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzczMjIuLi4nLCA1LCB2PSctNiIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzc0MDMuLi4nLCA1LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzc0ZTQuLi4nLCA1LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzc1YzUuLi4nLCA1LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzc2YTYuLi4nLCA1LCB2PSctNiIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzc3ODcuLi4nLCA1LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzc4NjguLi4nLCA1LCB2PSctNiIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzc5NDguLi4nLCA1LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzdhMjkuLi4nLCA1LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzdiMGEuLi4nLCA1LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzdiZWIuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzdjY2MuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzdkYWQuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzdlOGYuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzdmNzAuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzgwNTEuLi4nLCA1LCB2PSctOSIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzgxMzIuLi4nLCA1LCB2PSctOSIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzgyMTMuLi4nLCA1LCB2PSctOSIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzgyZjQuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzgzZDUuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzg0YjYuLi4nLCA1LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzg1OTcuLi4nLCA1LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzg2NzguLi4nLCA1LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzg3NTkuLi4nLCA1LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzg4M2EuLi4nLCA1LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzg5MWIuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzg5ZmMuLi4nLCA1LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzhhZGQuLi4nLCA1LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzhiYmUuLi4nLCA1LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzhjOWYuLi4nLCA1LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzhkODAuLi4nLCA1LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzhlNjEuLi4nLCA1LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzhmNDIuLi4nLCA1LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzkwMjMuLi4nLCA1LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzkxMDQuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzkxZTUuLi4nLCA1LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzkyYzYuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzkzYTguLi4nLCA1LCB2PSctOSIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzk0ODguLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzk1NjkuLi4nLCA1LCB2PSctOSIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzk2NGEuLi4nLCA1LCB2PSctOSIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzk3MmIuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzk4MGMuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzk4ZWQuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89Jzk5Y2UuLi4nLCA1LCB2PSctOCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzlhYWYuLi4nLCA1LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzliOTAuLi4nLCA1LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzljNzEuLi4nLCA1LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzlkNTIuLi4nLCA1LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzllMzMuLi4nLCA1LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzlmMTQuLi4nLCA1LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzlmZjUuLi4nLCA1LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2EwZDYuLi4nLCA1LCB2PSctNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2ExYjcuLi4nLCA1LCB2PSctNjQ2Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2EyOTguLi4nLCA1LCB2PSctMzU0Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2EzNzkuLi4nLCA1LCB2PSctOTg2Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2E0NWEuLi4nLCA1LCB2PSc2OTciLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2E1M2IuLi4nLCA1LCB2PSc3NzYiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2E2MWMuLi4nLCA1LCB2PSc5MjUiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2E2ZmQuLi4nLCA1LCB2PScxMjUiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2E3ZTAuLi4nLCA1LCB2PSc0NTYiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2E4YzAuLi4nLCA1LCB2PSc5MDMiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2E5YTAuLi4nLCA1LCB2PScyNzgiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2FhODEuLi4nLCA1LCB2PScyNyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2FiNjIuLi4nLCA1LCB2PSc0MyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2FjNDMuLi4nLCA1LCB2PScxNzMiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2FkMjQuLi4nLCA1LCB2PSc5NDciLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2FlMDUuLi4nLCA1LCB2PSc3MjgiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2FlZTYuLi4nLCA1LCB2PSctNDUyLi4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2FmYzcuLi4nLCA1LCB2PSctMTE3Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2IwYTguLi4nLCA1LCB2PScyMyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2IyNmEuLi4nLCA1LCB2PScxODIiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2IzNGIuLi4nLCA1LCB2PSctMTUyLi4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2I0MmMuLi4nLCA1LCB2PSctNDIzLi4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2I1MGQuLi4nLCA1LCB2PSctNzA1Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2I1ZWUuLi4nLCA1LCB2PSctNzkwLi4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2I2Y2YuLi4nLCA1LCB2PSctMTU3Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2I3YjAuLi4nLCA1LCB2PSctMjAyLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2I4OTEuLi4nLCA1LCB2PSctMTc1Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2I5NzIuLi4nLCA1LCB2PSctMTcyLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2JhNTMuLi4nLCA1LCB2PSctMTkwLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2JiMzQuLi4nLCA1LCB2PSctNzQxLi4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2JjMTUuLi4nLCA1LCB2PSctODEyLi4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2JjZjYuLi4nLCA1LCB2PSctODkxLi4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2JkZDguLi4nLCA1LCB2PSc2NTIiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2JlYjguLi4nLCA1LCB2PSc0MTEiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2JmOTkuLi4nLCA1LCB2PSc1MTYiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2MwN2EuLi4nLCA1LCB2PSczOTgiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2MxNWIuLi4nLCA1LCB2PSczODIiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2MyM2MuLi4nLCA1LCB2PSc0NzAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2MzMWQuLi4nLCA1LCB2PSc1OTEiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2MzZmUuLi4nLCA1LCB2PScyNjciLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2M0ZGYuLi4nLCA1LCB2PSc3NzAiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2M1YzAuLi4nLCA1LCB2PScxNjQiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2M2YTEuLi4nLCA1LCB2PSc0MzgiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2M3ODIuLi4nLCA1LCB2PSctNDMiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2M4NjMuLi4nLCA1LCB2PSc3MiIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2M5NDQuLi4nLCA1LCB2PScyNDkiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2NhMjUuLi4nLCA1LCB2PScyMDEiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2NiMDYuLi4nLCA1LCB2PScxMTUiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2NiZTcuLi4nLCA1LCB2PSctNDI1Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2NjYzguLi4nLCA1LCB2PSctMjI5Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2NkYTkuLi4nLCA1LCB2PSctMjg0Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2NlOGEuLi4nLCA1LCB2PSctMjQ3Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2NmNmIuLi4nLCA1LCB2PSctMTM1Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2QwNGMuLi4nLCA1LCB2PSctNTQiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2QxMmQuLi4nLCA1LCB2PSc5NiIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2QyMGUuLi4nLCA1LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2QyZjAuLi4nLCA1LCB2PScxNiIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2QzZDAuLi4nLCA1LCB2PSc1OTgiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2Q0YjEuLi4nLCA1LCB2PSc3MjEiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2Q1OTIuLi4nLCA1LCB2PSc4MTgiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2Q2NzMuLi4nLCA1LCB2PScxMDY3Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2Q3NTQuLi4nLCA1LCB2PScxMjQ1Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2Q4MzUuLi4nLCA1LCB2PSctMTE3Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2Q5MTYuLi4nLCA1LCB2PSctNzIxLi4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2Q5ZjcuLi4nLCA1LCB2PSctMTUwLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2RhZDguLi4nLCA1LCB2PSctMjA4Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2RiYjkuLi4nLCA1LCB2PSctMjU1Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2RjOWEuLi4nLCA1LCB2PSctMjM0Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2RkN2IuLi4nLCA1LCB2PSctMjkyLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2RlNWMuLi4nLCA1LCB2PSctMjcxLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2RmM2QuLi4nLCA1LCB2PSctMjg1Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2UwMWQuLi4nLCA1LCB2PSctMjkyLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2UwZmUuLi4nLCA1LCB2PSctMjgwLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2UxZGYuLi4nLCA1LCB2PSctMzAzLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2UyYzAuLi4nLCA1LCB2PSctNDAxLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2UzYTEuLi4nLCA1LCB2PSctMzkxLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2U0ODIuLi4nLCA1LCB2PSctMzQxLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2U1NjMuLi4nLCA1LCB2PSctMzQ0Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2U2NDQuLi4nLCA1LCB2PSctMjU2Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2U3MjUuLi4nLCA1LCB2PSctMjEzLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2U4MDYuLi4nLCA1LCB2PSctMTc2Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2U4ZTcuLi4nLCA1LCB2PSctNDY1Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2U5YzguLi4nLCA1LCB2PSctNzAyLi4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2VhYTkuLi4nLCA1LCB2PSctNjQ3Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2ViOGEuLi4nLCA1LCB2PSctNjc2Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2VjNmIuLi4nLCA1LCB2PSctNTA5Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2VkNGMuLi4nLCA1LCB2PSctMjE1Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2VlMmQuLi4nLCA1LCB2PSctMjM1Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2VmMGUuLi4nLCA1LCB2PSctMzE3Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2VmZjAuLi4nLCA1LCB2PSctNDAzLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2YwZDEuLi4nLCA1LCB2PSctNDMzLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2YxYjIuLi4nLCA1LCB2PSctNDY1Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2YyOTMuLi4nLCA1LCB2PSctNDY2Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2YzNzQuLi4nLCA1LCB2PSctNDM0Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2Y0NTUuLi4nLCA1LCB2PSctNDU3Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2Y1MzYuLi4nLCA1LCB2PSctNDkyLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2Y2MTcuLi4nLCA1LCB2PSctNDYwLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2Y2ZjguLi4nLCA1LCB2PSctNDg2Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2Y3ZDkuLi4nLCA1LCB2PSctNDMwLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2Y4YmEuLi4nLCA1LCB2PSctMzg5Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2Y5OWIuLi4nLCA1LCB2PSctMzc4Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2ZhN2MuLi4nLCA1LCB2PSctMjk4Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2ZiNWQuLi4nLCA1LCB2PSctMzA5Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2ZjM2UuLi4nLCA1LCB2PSctMzMzLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2ZkMWYuLi4nLCA1LCB2PSctMjY4Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2ZlMDAuLi4nLCA1LCB2PSctMjUyLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2ZlZTEuLi4nLCA1LCB2PSctMjA3Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2ZmYzIuLi4nLCA1LCB2PSctMTk4Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwMGEuLi4nLCA2LCB2PSctMTc4Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwMTguLi4nLCA2LCB2PSctMTc5Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwMjYuLi4nLCA2LCB2PSctMjA3Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwMzQuLi4nLCA2LCB2PSctMjY5Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwNDIuLi4nLCA2LCB2PSctMzkzLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwNTAuLi4nLCA2LCB2PSctNDQwLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwNWUuLi4nLCA2LCB2PSctNDM2Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwNmMuLi4nLCA2LCB2PSctNDY5Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwN2EuLi4nLCA2LCB2PSctNDMwLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwODguLi4nLCA2LCB2PSctMzkyLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwOTYuLi4nLCA2LCB2PSctNDEwLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwYTQuLi4nLCA2LCB2PSctNDE4Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwYjIuLi4nLCA2LCB2PSctNDM0Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwYzEuLi4nLCA2LCB2PSctNDE2Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwY2YuLi4nLCA2LCB2PSctNDQ1Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwZGQuLi4nLCA2LCB2PSctNDEzLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwZWIuLi4nLCA2LCB2PSctNDQ5Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEwZjkuLi4nLCA2LCB2PSctMzg4Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExMDcuLi4nLCA2LCB2PSctMzI5Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExMTUuLi4nLCA2LCB2PSctMjg2Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExMjMuLi4nLCA2LCB2PSctMjY2Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExMzEuLi4nLCA2LCB2PSctMTc3Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExM2YuLi4nLCA2LCB2PSctMTgxLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExNGQuLi4nLCA2LCB2PSctMTgyLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExNWIuLi4nLCA2LCB2PSctMTgwLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExNjkuLi4nLCA2LCB2PSctMTU5Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExNzcuLi4nLCA2LCB2PSctMjA1Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExODUuLi4nLCA2LCB2PSctMjk2Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExOTMuLi4nLCA2LCB2PSctMzYyLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExYTIuLi4nLCA2LCB2PSctNDgzLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExYjAuLi4nLCA2LCB2PSctNDI5Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExYmUuLi4nLCA2LCB2PSctNTI1Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExY2MuLi4nLCA2LCB2PSctNDQwLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExZGEuLi4nLCA2LCB2PSctNDMyLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExZTguLi4nLCA2LCB2PSctNDQyLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzExZjYuLi4nLCA2LCB2PSctMzk1Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyMDUuLi4nLCA2LCB2PSctNCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyMTMuLi4nLCA2LCB2PSctNCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyMjEuLi4nLCA2LCB2PSctNCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyMmYuLi4nLCA2LCB2PSctMyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyM2QuLi4nLCA2LCB2PSctMyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyNGIuLi4nLCA2LCB2PSctMyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyNTkuLi4nLCA2LCB2PSctMiIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyNjcuLi4nLCA2LCB2PSctMiIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyNzYuLi4nLCA2LCB2PSctMiIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyODMuLi4nLCA2LCB2PSctMiIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyOTEuLi4nLCA2LCB2PSctMiIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyOWYuLi4nLCA2LCB2PSctMiIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyYWQuLi4nLCA2LCB2PSctMiIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyYmIuLi4nLCA2LCB2PSctMSIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyYzkuLi4nLCA2LCB2PSctMiIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyZDcuLi4nLCA2LCB2PSctMiIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyZTUuLi4nLCA2LCB2PSctMyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyZjMuLi4nLCA2LCB2PSctMiIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzMDEuLi4nLCA2LCB2PSctNCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzMGYuLi4nLCA2LCB2PSctMyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzMWQuLi4nLCA2LCB2PSctMyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzMmIuLi4nLCA2LCB2PSctMyIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzMzkuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzNDcuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzNTUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzNjQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzNzIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzODAuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzOGUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzOWMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzYWEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzYjguLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzYzYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzZDQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzZTIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzZjAuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEzZmUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0MGMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0MWEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0MjguLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0MzYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0NDUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0NTMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0NjEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0NmYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0N2QuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0OGIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0OTkuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0YTcuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0YjUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0YzMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0ZDEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0ZGYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0ZWQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE0ZmIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1MDkuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1MTcuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1MjYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1MzQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1NDIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1NTAuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1NWUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1NmMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1N2EuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1ODguLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1OTYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1YTQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1YjIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1YzAuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1Y2UuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1ZGMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1ZWEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1ZjguLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2MDcuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2MTUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2MjMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2MzEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2M2YuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2NGQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2NWIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2NjkuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2NzcuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2ODUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2OTMuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2YTEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2YWYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2YmQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2Y2IuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2ZDkuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2ZTguLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE2ZjYuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3MDQuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3MTIuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3MjAuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3MmUuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3M2MuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3NGEuLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3NTguLi4nLCA2LCB2PScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3NjYuLi4nLCA2LCB2PSctNjg2Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3NzQuLi4nLCA2LCB2PSctNjc5Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3ODIuLi4nLCA2LCB2PSctNzI1Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3OTAuLi4nLCA2LCB2PSctNjczLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3OWUuLi4nLCA2LCB2PSctNjAzLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3YWMuLi4nLCA2LCB2PSctNTg5Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3YmEuLi4nLCA2LCB2PSctNjA2Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3YzkuLi4nLCA2LCB2PSctNTQ4Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3ZDcuLi4nLCA2LCB2PSctNTQ0Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3ZTUuLi4nLCA2LCB2PSctNTMzLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3ZjMuLi4nLCA2LCB2PSctNDk4Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4MDEuLi4nLCA2LCB2PSctNTE5Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4MGYuLi4nLCA2LCB2PSctNjMxLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4MWQuLi4nLCA2LCB2PSctNjgzLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4MmIuLi4nLCA2LCB2PSctNzg1Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4MzkuLi4nLCA2LCB2PSctMTM1Li4uJywgNikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4NDcuLi4nLCA2LCB2PSctMTMzLi4uJywgNikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4NTUuLi4nLCA2LCB2PSctMTI3Li4uJywgNikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4NjMuLi4nLCA2LCB2PSctMTE4Li4uJywgNikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4NzEuLi4nLCA2LCB2PSctMTIzLi4uJywgNikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4N2YuLi4nLCA2LCB2PSctMTE3Li4uJywgNikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4OGQuLi4nLCA2LCB2PSctMTI2Li4uJywgNikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4OWMuLi4nLCA2LCB2PSctMTE4Li4uJywgNikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4YjguLi4nLCA2LCB2PSctNzQ3Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4YzYuLi4nLCA2LCB2PSctODEyLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4ZDQuLi4nLCA2LCB2PSctNzY5Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4ZTIuLi4nLCA2LCB2PSctNjUzLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4ZjAuLi4nLCA2LCB2PSctNjE3Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE4ZmUuLi4nLCA2LCB2PSctNTY2Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5MGMuLi4nLCA2LCB2PSctNDQ4Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5MWEuLi4nLCA2LCB2PSctNDMwLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5MjguLi4nLCA2LCB2PSctNDI2Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5MzYuLi4nLCA2LCB2PSctNDExLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5NDQuLi4nLCA2LCB2PSctNDEwLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5NTIuLi4nLCA2LCB2PSctNDUxLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5NjAuLi4nLCA2LCB2PSctNTEzLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5NmUuLi4nLCA2LCB2PSctNjAzLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5N2MuLi4nLCA2LCB2PSctNjM5Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5OGIuLi4nLCA2LCB2PSctNTg5Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5OTkuLi4nLCA2LCB2PSctNjY5Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5YjUuLi4nLCA2LCB2PSctNjYwLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5YzMuLi4nLCA2LCB2PSctNjE1Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5ZDEuLi4nLCA2LCB2PSctNjEyLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5ZGYuLi4nLCA2LCB2PSctNjIyLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5ZWQuLi4nLCA2LCB2PSctNjA0Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5ZWUuLi4nLCA2LCB2PSctNjAwLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE5ZmIuLi4nLCA2LCB2PSctMjI5Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhMDkuLi4nLCA2LCB2PSctMjU0Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhMTcuLi4nLCA2LCB2PSctMzA4Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhMjUuLi4nLCA2LCB2PSctMzI2Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhMzMuLi4nLCA2LCB2PSctMjI2Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhNDEuLi4nLCA2LCB2PSctMjE1Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhNGYuLi4nLCA2LCB2PSctMTUzLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhNWUuLi4nLCA2LCB2PSctMTY3Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhNmMuLi4nLCA2LCB2PSctOTYwLi4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhN2EuLi4nLCA2LCB2PSctMTEyLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhODguLi4nLCA2LCB2PSctMTA2Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhOTYuLi4nLCA2LCB2PSctNTA1Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhYTQuLi4nLCA2LCB2PSctNTM2Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhYjIuLi4nLCA2LCB2PSctOTkxLi4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhYzAuLi4nLCA2LCB2PSctMTgxLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhY2UuLi4nLCA2LCB2PSctMjU3Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhZGMuLi4nLCA2LCB2PSctMjg0Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhZWEuLi4nLCA2LCB2PSctMjYwLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhZjguLi4nLCA2LCB2PSctMjkyLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFiMDYuLi4nLCA2LCB2PSctMjExLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFiMTQuLi4nLCA2LCB2PSctMjA3Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFjNzQuLi4nLCA2LCB2PSczNTQiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFjODIuLi4nLCA2LCB2PSc0MzgiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFjOTAuLi4nLCA2LCB2PSczNDA4Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFjOWUuLi4nLCA2LCB2PSczMjY5Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFjYWMuLi4nLCA2LCB2PSczNjU1Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFjYmEuLi4nLCA2LCB2PSczNTIxLi4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFjYzguLi4nLCA2LCB2PSc1NDMxLi4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFjZDYuLi4nLCA2LCB2PSc1NTYwLi4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFjZTQuLi4nLCA2LCB2PSc1NjYwLi4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFjZjIuLi4nLCA2LCB2PSc1NjIzLi4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkMDEuLi4nLCA2LCB2PSc1ODk2Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkMGYuLi4nLCA2LCB2PSc2NjU2Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkMWQuLi4nLCA2LCB2PSc2NjQ3Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkMmIuLi4nLCA2LCB2PSc2NzMzLi4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkMzkuLi4nLCA2LCB2PSc2OTE0Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkNDcuLi4nLCA2LCB2PSc2ODczLi4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkNTUuLi4nLCA2LCB2PSc2NjkxLi4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkNjMuLi4nLCA2LCB2PSc1ODE0Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkNzEuLi4nLCA2LCB2PSc1NjE3Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkN2YuLi4nLCA2LCB2PSc1NjA4Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkOGQuLi4nLCA2LCB2PSctMzIzLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkOWIuLi4nLCA2LCB2PSctMzY1Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkYTkuLi4nLCA2LCB2PSctMzYyLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkYjcuLi4nLCA2LCB2PSctMzQ0Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkYzUuLi4nLCA2LCB2PSctMzYwLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkZDMuLi4nLCA2LCB2PSctMzczLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkZTEuLi4nLCA2LCB2PSctNTk5Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkZjAuLi4nLCA2LCB2PSctNjcxLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFkZmUuLi4nLCA2LCB2PSctNjU4Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlMGMuLi4nLCA2LCB2PSctNjc2Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlMWEuLi4nLCA2LCB2PSctNjgwLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlMjguLi4nLCA2LCB2PSctNjUyLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlMzYuLi4nLCA2LCB2PSctNjE3Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlNDQuLi4nLCA2LCB2PSctNTY3Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlNTIuLi4nLCA2LCB2PSctNDkxLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlNjAuLi4nLCA2LCB2PSctNDkxLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlNmUuLi4nLCA2LCB2PSctNDgwLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlN2MuLi4nLCA2LCB2PSctMTk4Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlOGEuLi4nLCA2LCB2PSctMTgxLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlOTguLi4nLCA2LCB2PSctMTgzLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlYTYuLi4nLCA2LCB2PSctMjI1Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlYjQuLi4nLCA2LCB2PSctMjMyLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlYzIuLi4nLCA2LCB2PSctMjY4Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlZDEuLi4nLCA2LCB2PSctMjY3Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlZGYuLi4nLCA2LCB2PSctMjc3Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlZWQuLi4nLCA2LCB2PSctMjY4Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFlZmIuLi4nLCA2LCB2PSctMjY1Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmMDkuLi4nLCA2LCB2PSctMjU1Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmMTcuLi4nLCA2LCB2PSctMjM1Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmMjUuLi4nLCA2LCB2PSctMjMxLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmMzMuLi4nLCA2LCB2PSctMjU4Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmNDEuLi4nLCA2LCB2PSctMjgxLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmNGYuLi4nLCA2LCB2PSctMzE4Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmNWQuLi4nLCA2LCB2PSctMzU3Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmNmIuLi4nLCA2LCB2PSctMzU0Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmNzkuLi4nLCA2LCB2PSctMzE0Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmODcuLi4nLCA2LCB2PSctMzM0Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmOTUuLi4nLCA2LCB2PSctMzEzLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmYTQuLi4nLCA2LCB2PSctMjgwLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmYjIuLi4nLCA2LCB2PSctMjUwLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmYzAuLi4nLCA2LCB2PSctMjQ5Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmY2UuLi4nLCA2LCB2PSctMjE1Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmZGMuLi4nLCA2LCB2PSctMjEzLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmZWEuLi4nLCA2LCB2PSctMjE1Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmZjguLi4nLCA2LCB2PSctMjQ5Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwMDYuLi4nLCA2LCB2PSctMjM2Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwMTQuLi4nLCA2LCB2PSctMzUxLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwMjIuLi4nLCA2LCB2PSctNDU2Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwMzAuLi4nLCA2LCB2PSctNTM0Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwM2UuLi4nLCA2LCB2PSctNjA1Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwNGMuLi4nLCA2LCB2PSctNTc5Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwNWEuLi4nLCA2LCB2PSctNTM0Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwNjguLi4nLCA2LCB2PSctNTM5Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwNzYuLi4nLCA2LCB2PSctNTk3Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwODQuLi4nLCA2LCB2PSctNjA5Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwOTMuLi4nLCA2LCB2PSctNjc3Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwYTEuLi4nLCA2LCB2PSctNjM3Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwYWYuLi4nLCA2LCB2PSctNTQ3Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwYmQuLi4nLCA2LCB2PSctNTM4Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwY2IuLi4nLCA2LCB2PSctNDYwLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwZDkuLi4nLCA2LCB2PSctNDMxLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwZTcuLi4nLCA2LCB2PSctNDA1Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIwZjUuLi4nLCA2LCB2PSctMzg2Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxMDMuLi4nLCA2LCB2PSctMzQ4Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxMTEuLi4nLCA2LCB2PSctMzExLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxMWYuLi4nLCA2LCB2PSctMzAxLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxMmQuLi4nLCA2LCB2PSctMjk0Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxM2IuLi4nLCA2LCB2PSctMjgxLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxNDkuLi4nLCA2LCB2PSctMzY0Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxNTcuLi4nLCA2LCB2PSctNDQ5Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxNjUuLi4nLCA2LCB2PSctNTc5Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxNzQuLi4nLCA2LCB2PSctNjE5Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxODIuLi4nLCA2LCB2PSctNjE3Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxOTAuLi4nLCA2LCB2PSctNjEwLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxOWUuLi4nLCA2LCB2PSctNjIxLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxYWMuLi4nLCA2LCB2PSctNTg5Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxYmEuLi4nLCA2LCB2PSctNTk4Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxYzguLi4nLCA2LCB2PSctNTYzLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxZDYuLi4nLCA2LCB2PSctNjIxLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxZTQuLi4nLCA2LCB2PSctNTc4Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxZjIuLi4nLCA2LCB2PSctNTcyLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyMDAuLi4nLCA2LCB2PSctNTUzLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyMGUuLi4nLCA2LCB2PSctNTQwLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyMWMuLi4nLCA2LCB2PSctNDYwLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyMmEuLi4nLCA2LCB2PSctMzg3Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyMzguLi4nLCA2LCB2PSctMzYxLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyNDcuLi4nLCA2LCB2PSctMzI5Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyNTUuLi4nLCA2LCB2PSctMTY4Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyNjMuLi4nLCA2LCB2PSctMjA3Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyNzEuLi4nLCA2LCB2PSctMjA1Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyN2YuLi4nLCA2LCB2PSctMTY3Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyOGQuLi4nLCA2LCB2PSctMTc5Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyOWIuLi4nLCA2LCB2PSctMzQ4Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyYTkuLi4nLCA2LCB2PSctMzkxLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyYjcuLi4nLCA2LCB2PSctNDU3Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyYzUuLi4nLCA2LCB2PSctNDc4Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyZDMuLi4nLCA2LCB2PSctNDQ1Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyZTEuLi4nLCA2LCB2PSctNDY5Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyZWYuLi4nLCA2LCB2PSctNDgzLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIyZmQuLi4nLCA2LCB2PSctNDY1Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzMGIuLi4nLCA2LCB2PSctNDQ1Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzMTkuLi4nLCA2LCB2PSctNTM5Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzMjcuLi4nLCA2LCB2PSctNTUzLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzMzYuLi4nLCA2LCB2PSctNTg2Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzNDQuLi4nLCA2LCB2PSctNTIyLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzNTIuLi4nLCA2LCB2PSctNTE2Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzNjAuLi4nLCA2LCB2PSctNTI1Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzNmUuLi4nLCA2LCB2PSctNDM4Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzN2MuLi4nLCA2LCB2PSctNDIxLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzOGEuLi4nLCA2LCB2PSctNDAxLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzOTguLi4nLCA2LCB2PSctMzIyLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzYTYuLi4nLCA2LCB2PSctMzMxLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzYjQuLi4nLCA2LCB2PSctMzE4Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzYzIuLi4nLCA2LCB2PSctMjk3Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzZDAuLi4nLCA2LCB2PSctMjk0Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzZGUuLi4nLCA2LCB2PSctMjkzLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzZWMuLi4nLCA2LCB2PSctMzU3Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIzZmEuLi4nLCA2LCB2PSctNDU0Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0MDguLi4nLCA2LCB2PSctNTExLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0MTcuLi4nLCA2LCB2PSctNTczLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0MjUuLi4nLCA2LCB2PSctNjUxLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0MzMuLi4nLCA2LCB2PSctNjc3Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0NDEuLi4nLCA2LCB2PSctNjc1Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0NGYuLi4nLCA2LCB2PSctNjM2Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0NmIuLi4nLCA2LCB2PSctNjU0Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0NzkuLi4nLCA2LCB2PSctNjI3Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0ODcuLi4nLCA2LCB2PSctNTQwLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0OTUuLi4nLCA2LCB2PSctNTc5Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0YTMuLi4nLCA2LCB2PSctNTY0Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0YjEuLi4nLCA2LCB2PSctNTc0Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0YmYuLi4nLCA2LCB2PSctNTQ0Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0Y2QuLi4nLCA2LCB2PSctNTQ0Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0ZGIuLi4nLCA2LCB2PSctNDU1Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0ZTkuLi4nLCA2LCB2PSctNDAxLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0ZjguLi4nLCA2LCB2PSctMzQ4Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1MDYuLi4nLCA2LCB2PSctMzYxLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1MTQuLi4nLCA2LCB2PSctMzU1Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1MjIuLi4nLCA2LCB2PSctMzQwLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1MzAuLi4nLCA2LCB2PSctMzYwLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1M2UuLi4nLCA2LCB2PSctNDAyLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1NGMuLi4nLCA2LCB2PSctNDE4Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1NWEuLi4nLCA2LCB2PSctNDk5Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1NjguLi4nLCA2LCB2PSctNTgxLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1NzYuLi4nLCA2LCB2PSctNTU5Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1ODQuLi4nLCA2LCB2PSctMTUyLi4uJywgNikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1OTIuLi4nLCA2LCB2PSctODY5Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1YTAuLi4nLCA2LCB2PSctNDU3Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1YWUuLi4nLCA2LCB2PSctNjMxLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1YmMuLi4nLCA2LCB2PSctNjEwLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1Y2EuLi4nLCA2LCB2PSctNTc1Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1ZDkuLi4nLCA2LCB2PSctNTc2Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1ZTcuLi4nLCA2LCB2PSctNTY0Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI1ZjUuLi4nLCA2LCB2PSctNTI0Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2MDMuLi4nLCA2LCB2PSctNTU2Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2MTEuLi4nLCA2LCB2PSctNDg3Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2MWYuLi4nLCA2LCB2PSctNDYxLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2MmQuLi4nLCA2LCB2PSctNDYxLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2M2IuLi4nLCA2LCB2PSctMzYxLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2NDkuLi4nLCA2LCB2PSctMzQ2Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2NTcuLi4nLCA2LCB2PSctMzU2Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2NjUuLi4nLCA2LCB2PSctMzY3Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2NzMuLi4nLCA2LCB2PSctMzYxLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2ODEuLi4nLCA2LCB2PSctMzYyLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2OGYuLi4nLCA2LCB2PSctMzg2Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2OWQuLi4nLCA2LCB2PSctMzk2Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2YWIuLi4nLCA2LCB2PSctMzg4Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2YmEuLi4nLCA2LCB2PSctNDM4Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2YzguLi4nLCA2LCB2PSctNDI3Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2ZDYuLi4nLCA2LCB2PSctMzk2Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2ZTQuLi4nLCA2LCB2PSctNDAwLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI2ZjIuLi4nLCA2LCB2PSctMzU2Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI3MDAuLi4nLCA2LCB2PSctMzg3Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI3MGUuLi4nLCA2LCB2PSctMzU2Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI3MWMuLi4nLCA2LCB2PSctNDY5Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI3MmEuLi4nLCA2LCB2PSctNTE5Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI3MzguLi4nLCA2LCB2PSctNTIxLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI3NDYuLi4nLCA2LCB2PSctNTAzLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI3NTQuLi4nLCA2LCB2PSctNDk2Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI3NjIuLi4nLCA2LCB2PSctNDA0Li4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI3NzAuLi4nLCA2LCB2PSctMzcwLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI3N2UuLi4nLCA2LCB2PSctMzIxLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJLCA1KQorU0FYLmVuZEVsZW1lbnROcyhwYXIsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQksIDUpCitTQVguc3RhcnRFbGVtZW50TnMocGFyLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBtZW1pbmQ9JzQzODIuLi4nLCA2LCBoPSczZGMxLi4uJywgOCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScwIiB2Li4uJywgMSwgdj0nLTExMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlMDgiLi4uJywgMywgdj0nLTEyOC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYzMyLi4uJywgNCwgdj0nLTEzNS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyYTNjLi4uJywgNCwgdj0nLTE0Mi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczODM1Li4uJywgNCwgdj0nLTEyNC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0NjQ1Li4uJywgNCwgdj0nLTExMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1NDU1Li4uJywgNCwgdj0nLTkwOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2MjY1Li4uJywgNCwgdj0nLTE0Ny4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3MDc1Li4uJywgNCwgdj0nLTE1Mi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3ZTg1Li4uJywgNCwgdj0nLTE0My4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4Yzk2Li4uJywgNCwgdj0nLTE3OC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5YWE1Li4uJywgNCwgdj0nLTE3NS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhOGI2Li4uJywgNCwgdj0nLTE2OC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiNmM1Li4uJywgNCwgdj0nLTE3NC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjNGQ3Li4uJywgNCwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkMzBiLi4uJywgNCwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlMGY2Li4uJywgNCwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlZjA2Li4uJywgNCwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmZDE3Li4uJywgNCwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMGIyLi4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMTkzLi4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMjc0Li4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMzU1Li4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNDM2Li4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNTE4Li4uJywgNSwgdj0nLTciLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNWY4Li4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNmQ5Li4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxN2JhLi4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxODliLi4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOTdjLi4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYTVkLi4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYjNlLi4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYzFmLi4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZDAwLi4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZGUxLi4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZWMyLi4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZmEzLi4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMDg0Li4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMTY1Li4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMjQ2Li4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMzI3Li4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNDA4Li4uJywgNSwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNGU5Li4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNWNhLi4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNmFiLi4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNzhjLi4uJywgNSwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyODZkLi4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyOTRlLi4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyYTMwLi4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyYjEwLi4uJywgNSwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyYmYxLi4uJywgNSwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyY2QyLi4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyZGIzLi4uJywgNSwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyZTk0Li4uJywgNSwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyZjc1Li4uJywgNSwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczMDU2Li4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczMTM3Li4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczMjE5Li4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczMmY5Li4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczM2RhLi4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczNGJiLi4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczNTlkLi4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczNjdkLi4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczNzVlLi4uJywgNSwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczODQwLi4uJywgNSwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczOTIxLi4uJywgNSwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczYTAxLi4uJywgNSwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczYWUyLi4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczYmMzLi4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczY2E0Li4uJywgNSwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczZDg1Li4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczZTY2Li4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSczZjQ4Li4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0MDI4Li4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0MTA5Li4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0MWVhLi4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0MmNiLi4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0M2FjLi4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0NDhkLi4uJywgNSwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0NTZlLi4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0NjRmLi4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0ODBmLi4uJywgNSwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0OGYwLi4uJywgNSwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0OWQxLi4uJywgNSwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0YWI0Li4uJywgNSwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0Yjk1Li4uJywgNSwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0Yzc2Li4uJywgNSwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0ZDU3Li4uJywgNSwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0ZTM4Li4uJywgNSwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0ZjE5Li4uJywgNSwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc0ZmZhLi4uJywgNSwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1MGRkLi4uJywgNSwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1MWJjLi4uJywgNSwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1MjlkLi4uJywgNSwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1MzdlLi4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1NDYwLi4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1NTQwLi4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1NjIxLi4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1NzAyLi4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1N2UzLi4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1OGM0Li4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1OWE3Li4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1YTg2Li4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1YjY3Li4uJywgNSwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1YzQ4Li4uJywgNSwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1ZDI5Li4uJywgNSwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1ZTBhLi4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1ZWViLi4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1ZmNjLi4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2MGFkLi4uJywgNSwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2MThlLi4uJywgNSwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2MjZmLi4uJywgNSwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2MzUwLi4uJywgNSwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2NDMxLi4uJywgNSwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2NTEyLi4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2NWYzLi4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2NmQ0Li4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2N2I1Li4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2ODk2Li4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2OTc4Li4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2YTU4Li4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2YjM5Li4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2YzFhLi4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2Y2ZiLi4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2ZGRjLi4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2ZWJkLi4uJywgNSwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc2ZjllLi4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3MDdmLi4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3MTYwLi4uJywgNSwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3MjQxLi4uJywgNSwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3MzIyLi4uJywgNSwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3NDAzLi4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3NGU0Li4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3NWM1Li4uJywgNSwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3NmE2Li4uJywgNSwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3Nzg3Li4uJywgNSwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3ODY4Li4uJywgNSwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3OTQ4Li4uJywgNSwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3YTI5Li4uJywgNSwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3YjBhLi4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3YmViLi4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3Y2NjLi4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3ZGFkLi4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3ZThmLi4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3ZjcwLi4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4MDUxLi4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4MTMyLi4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4MjEzLi4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4MmY0Li4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4M2Q1Li4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4NGI2Li4uJywgNSwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4NTk3Li4uJywgNSwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4Njc4Li4uJywgNSwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4NzU5Li4uJywgNSwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4ODNhLi4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4OTFiLi4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4OWZjLi4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4YWRkLi4uJywgNSwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4YmJlLi4uJywgNSwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4YzlmLi4uJywgNSwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4ZDgwLi4uJywgNSwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4ZTYxLi4uJywgNSwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc4ZjQyLi4uJywgNSwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5MDIzLi4uJywgNSwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5MTA0Li4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5MWU1Li4uJywgNSwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5MmM2Li4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5M2E4Li4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5NDg4Li4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5NTY5Li4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5NjRhLi4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5NzJiLi4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5ODBjLi4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5OGVkLi4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5OWNlLi4uJywgNSwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5YWFmLi4uJywgNSwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5YjkwLi4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5YzcxLi4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5ZDUyLi4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5ZTMzLi4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5ZjE0Li4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc5ZmY1Li4uJywgNSwgdj0nLTYiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhMGQ2Li4uJywgNSwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhMWI3Li4uJywgNSwgdj0nLTE1OS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhMjk4Li4uJywgNSwgdj0nLTUwMC4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhMzc5Li4uJywgNSwgdj0nMTM3OS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhNDVhLi4uJywgNSwgdj0nLTQ1Ii4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhNTNiLi4uJywgNSwgdj0nLTM0Ni4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhNjFjLi4uJywgNSwgdj0nLTU4MC4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhNmZkLi4uJywgNSwgdj0nLTc1Mi4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhN2UwLi4uJywgNSwgdj0nLTEzNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhOGMwLi4uJywgNSwgdj0nLTE5MC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhOWEwLi4uJywgNSwgdj0nMTAxIi4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhYTgxLi4uJywgNSwgdj0nLTM2Ni4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhYjYyLi4uJywgNSwgdj0nLTc0MC4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhYzQzLi4uJywgNSwgdj0nLTU1MC4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhZDI0Li4uJywgNSwgdj0nNDMyIi4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhZTA1Li4uJywgNSwgdj0nMTU5NS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhZWU2Li4uJywgNSwgdj0nMjc1Ii4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhZmM3Li4uJywgNSwgdj0nMTAxOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiMGE4Li4uJywgNSwgdj0nMzQ0NC4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiMjZhLi4uJywgNSwgdj0nMzYyOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiMzRiLi4uJywgNSwgdj0nMzIwMy4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiNDJjLi4uJywgNSwgdj0nMjE1Ii4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiNTBkLi4uJywgNSwgdj0nMzgwIi4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiNWVlLi4uJywgNSwgdj0nODkwIi4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiNmNmLi4uJywgNSwgdj0nLTQ0Ni4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiN2IwLi4uJywgNSwgdj0nLTIwMC4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiODkxLi4uJywgNSwgdj0nLTQ0Ii4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiOTcyLi4uJywgNSwgdj0nLTQyNC4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiYTUzLi4uJywgNSwgdj0nLTcxOC4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiYjM0Li4uJywgNSwgdj0nOTQ2Ii4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiYzE1Li4uJywgNSwgdj0nMjc2Ii4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiY2Y2Li4uJywgNSwgdj0nLTk0NC4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiZGQ4Li4uJywgNSwgdj0nMzEyOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiZWI4Li4uJywgNSwgdj0nNDUzIi4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdiZjk5Li4uJywgNSwgdj0nMTk0Ii4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjMDdhLi4uJywgNSwgdj0nLTI0Ni4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjMTViLi4uJywgNSwgdj0nLTEyMi4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjMjNjLi4uJywgNSwgdj0nNDMwIi4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjMzFkLi4uJywgNSwgdj0nMTU4Mi4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjM2ZlLi4uJywgNSwgdj0nNzIwIi4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjNGRmLi4uJywgNSwgdj0nMTMzMy4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjNWMwLi4uJywgNSwgdj0nNTg4Ii4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjNmExLi4uJywgNSwgdj0nNjQyIi4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjNzgyLi4uJywgNSwgdj0nMTA5Ni4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjODYzLi4uJywgNSwgdj0nMzEzIi4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjOTQ0Li4uJywgNSwgdj0nMzc0Ii4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjYTI1Li4uJywgNSwgdj0nMjA0Ii4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjYjA2Li4uJywgNSwgdj0nNjkyIi4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjYmU3Li4uJywgNSwgdj0nLTE5Ni4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjY2M4Li4uJywgNSwgdj0nMTg4OC4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjZGE5Li4uJywgNSwgdj0nMjUwMi4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjZThhLi4uJywgNSwgdj0nMTg0MC4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdjZjZiLi4uJywgNSwgdj0nMjQzNy4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkMDRjLi4uJywgNSwgdj0nMTkzMC4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkMTJkLi4uJywgNSwgdj0nMTIxOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkMjBlLi4uJywgNSwgdj0nLTI1MC4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkMmYwLi4uJywgNSwgdj0nLTE5Ny4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkM2QwLi4uJywgNSwgdj0nLTEwMi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkNGIxLi4uJywgNSwgdj0nLTEwNy4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkNTkyLi4uJywgNSwgdj0nLTM4OC4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkNjczLi4uJywgNSwgdj0nMjI5Ii4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkNzU0Li4uJywgNSwgdj0nMTEzMS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkODM1Li4uJywgNSwgdj0nLTcyNi4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkOTE2Li4uJywgNSwgdj0nMTY2Ii4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkOWY3Li4uJywgNSwgdj0nOTY1Ii4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkYWQ4Li4uJywgNSwgdj0nMjM0MS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkYmI5Li4uJywgNSwgdj0nMjM1NC4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkYzlhLi4uJywgNSwgdj0nMjU2NS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkZDdiLi4uJywgNSwgdj0nMTEzNi4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkZTVjLi4uJywgNSwgdj0nMzY3Ii4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkZjNkLi4uJywgNSwgdj0nMTczIi4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlMDFkLi4uJywgNSwgdj0nMTU2Ii4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlMGZlLi4uJywgNSwgdj0nNDYwIi4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlMWRmLi4uJywgNSwgdj0nMzU4Ii4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlMmMwLi4uJywgNSwgdj0nLTMwOC4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlM2ExLi4uJywgNSwgdj0nLTEwMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlNDgyLi4uJywgNSwgdj0nOTMiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlNTYzLi4uJywgNSwgdj0nLTcyMy4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlNjQ0Li4uJywgNSwgdj0nMTQ3Ii4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlNzI1Li4uJywgNSwgdj0nLTU1MS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlODA2Li4uJywgNSwgdj0nLTYyNi4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlOGU3Li4uJywgNSwgdj0nMjMxNi4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlOWM4Li4uJywgNSwgdj0nNzE0Ii4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlYWE5Li4uJywgNSwgdj0nNjAwIi4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlYjhhLi4uJywgNSwgdj0nOTUzIi4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlYzZiLi4uJywgNSwgdj0nMjI2Ny4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlZDRjLi4uJywgNSwgdj0nLTQwMy4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlZTJkLi4uJywgNSwgdj0nOTk5Ii4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlZjBlLi4uJywgNSwgdj0nNDc1Ii4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdlZmYwLi4uJywgNSwgdj0nMTY2My4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmMGQxLi4uJywgNSwgdj0nODI5Ii4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmMWIyLi4uJywgNSwgdj0nMTA1NS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmMjkzLi4uJywgNSwgdj0nLTMxNC4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmMzc0Li4uJywgNSwgdj0nMTQzMS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmNDU1Li4uJywgNSwgdj0nMTIwMS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmNTM2Li4uJywgNSwgdj0nMTI4MC4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmNjE3Li4uJywgNSwgdj0nMTQzMS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmNmY4Li4uJywgNSwgdj0nMTE0NS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmN2Q5Li4uJywgNSwgdj0nMTYzNS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmOGJhLi4uJywgNSwgdj0nOTU3Ii4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmOTliLi4uJywgNSwgdj0nMTAxOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmYTdjLi4uJywgNSwgdj0nMTIxOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmYjVkLi4uJywgNSwgdj0nMTE0My4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmYzNlLi4uJywgNSwgdj0nLTg5My4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmZDFmLi4uJywgNSwgdj0nLTEwMS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmZTAwLi4uJywgNSwgdj0nLTEzOC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmZWUxLi4uJywgNSwgdj0nLTE4Mi4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmZmMyLi4uJywgNSwgdj0nLTIyMC4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMDBhLi4uJywgNiwgdj0nNTAyIi4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMDE4Li4uJywgNiwgdj0nOTQwIi4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMDI2Li4uJywgNiwgdj0nMTcxOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMDM0Li4uJywgNiwgdj0nMTU5Mi4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMDQyLi4uJywgNiwgdj0nOTYwIi4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMDUwLi4uJywgNiwgdj0nMTUzNy4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMDVlLi4uJywgNiwgdj0nMTE3Ny4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMDZjLi4uJywgNiwgdj0nMTMzNy4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMDdhLi4uJywgNiwgdj0nNzM3Ii4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMDg4Li4uJywgNiwgdj0nNzIzIi4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMDk2Li4uJywgNiwgdj0nOTE3Ii4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMGE0Li4uJywgNiwgdj0nNzk0Ii4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMGIyLi4uJywgNiwgdj0nMTA3NS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMGMxLi4uJywgNiwgdj0nMjMyOC4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMGNmLi4uJywgNiwgdj0nMTE5Mi4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMGRkLi4uJywgNiwgdj0nODY3Ii4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMGViLi4uJywgNiwgdj0nMTg0Ii4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMGY5Li4uJywgNiwgdj0nMTIiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMTA3Li4uJywgNiwgdj0nOTc4Ii4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMTE1Li4uJywgNiwgdj0nMjU2Ii4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMTIzLi4uJywgNiwgdj0nLTEwMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMTMxLi4uJywgNiwgdj0nNjE0Ii4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMTNmLi4uJywgNiwgdj0nMjA1Ii4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMTRkLi4uJywgNiwgdj0nMTk1Ii4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMTViLi4uJywgNiwgdj0nMzE2Ii4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMTY5Li4uJywgNiwgdj0nMTI0MS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMTc3Li4uJywgNiwgdj0nMTc0OC4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMTg1Li4uJywgNiwgdj0nMTA0Ni4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMTkzLi4uJywgNiwgdj0nMTA5OS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMWEyLi4uJywgNiwgdj0nMzA5Ii4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMWIwLi4uJywgNiwgdj0nLTIwMi4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMWJlLi4uJywgNiwgdj0nLTcyMi4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMWNjLi4uJywgNiwgdj0nNjgwIi4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMWRhLi4uJywgNiwgdj0nNDQwIi4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMWU4Li4uJywgNiwgdj0nODcwIi4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMWY2Li4uJywgNiwgdj0nNDc1Ii4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMjA1Li4uJywgNiwgdj0nMSIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMjEzLi4uJywgNiwgdj0nMSIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMjIxLi4uJywgNiwgdj0nMiIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMjJmLi4uJywgNiwgdj0nMSIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMjNkLi4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMjRiLi4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMjU5Li4uJywgNiwgdj0nMSIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMjY3Li4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMjc2Li4uJywgNiwgdj0nLTEiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMjgzLi4uJywgNiwgdj0nLTEiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMjkxLi4uJywgNiwgdj0nLTEiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMjlmLi4uJywgNiwgdj0nLTEiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMmFkLi4uJywgNiwgdj0nLTEiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMmJiLi4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMmM5Li4uJywgNiwgdj0nMSIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMmQ3Li4uJywgNiwgdj0nMSIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMmU1Li4uJywgNiwgdj0nMSIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMmYzLi4uJywgNiwgdj0nMSIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMzAxLi4uJywgNiwgdj0nMSIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMzBmLi4uJywgNiwgdj0nMSIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMzFkLi4uJywgNiwgdj0nMSIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMzJiLi4uJywgNiwgdj0nMSIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMzM5Li4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMzQ3Li4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMzU1Li4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMzY0Li4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMzcyLi4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMzgwLi4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMzhlLi4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMzljLi4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxM2FhLi4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxM2I4Li4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxM2M2Li4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxM2Q0Li4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxM2UyLi4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxM2YwLi4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxM2ZlLi4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNDBjLi4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNDFhLi4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNDI4Li4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNDM2Li4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNDQ1Li4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNDUzLi4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNDYxLi4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNDZmLi4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNDdkLi4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNDhiLi4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNDk5Li4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNGE3Li4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNGI1Li4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNGMzLi4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNGQxLi4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNGRmLi4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNGVkLi4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNGZiLi4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNTA5Li4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNTE3Li4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNTI2Li4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNTM0Li4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNTQyLi4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNTUwLi4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNTVlLi4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNTZjLi4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNTdhLi4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNTg4Li4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNTk2Li4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNWE0Li4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNWIyLi4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNWMwLi4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNWNlLi4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNWRjLi4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNWVhLi4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNWY4Li4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNjA3Li4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNjE1Li4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNjIzLi4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNjMxLi4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNjNmLi4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNjRkLi4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNjViLi4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNjY5Li4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNjc3Li4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNjg1Li4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNjkzLi4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNmExLi4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNmFmLi4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNmJkLi4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNmNiLi4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNmQ5Li4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNmU4Li4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNmY2Li4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNzA0Li4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNzEyLi4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNzIwLi4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNzJlLi4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNzNjLi4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNzRhLi4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNzU4Li4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNzY2Li4uJywgNiwgdj0nMTk1OS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNzc0Li4uJywgNiwgdj0nMTUwNi4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNzgyLi4uJywgNiwgdj0nMTAyNy4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNzkwLi4uJywgNiwgdj0nNjc3Ii4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNzllLi4uJywgNiwgdj0nLTc1OS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxN2FjLi4uJywgNiwgdj0nLTIwNC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxN2JhLi4uJywgNiwgdj0nLTI1NS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxN2M5Li4uJywgNiwgdj0nLTIxNy4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxN2Q3Li4uJywgNiwgdj0nLTIxMi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxN2U1Li4uJywgNiwgdj0nLTI0OC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxN2YzLi4uJywgNiwgdj0nLTE5OC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxODAxLi4uJywgNiwgdj0nLTEwNy4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxODBmLi4uJywgNiwgdj0nLTUyNC4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxODFkLi4uJywgNiwgdj0nLTEzNi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxODJiLi4uJywgNiwgdj0nLTE3NS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxODM5Li4uJywgNiwgdj0nLTg5My4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxODQ3Li4uJywgNiwgdj0nLTg0NS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxODU1Li4uJywgNiwgdj0nLTExNC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxODYzLi4uJywgNiwgdj0nLTI3MS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxODcxLi4uJywgNiwgdj0nLTIyOS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxODdmLi4uJywgNiwgdj0nLTIyMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxODhkLi4uJywgNiwgdj0nLTIwMy4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxODljLi4uJywgNiwgdj0nLTk5Ny4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOGI4Li4uJywgNiwgdj0nMTA0OC4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOGM2Li4uJywgNiwgdj0nLTk1NS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOGQ0Li4uJywgNiwgdj0nLTEzMy4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOGUyLi4uJywgNiwgdj0nLTExMi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOGYwLi4uJywgNiwgdj0nLTE2Mi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOGZlLi4uJywgNiwgdj0nLTE0MS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOTBjLi4uJywgNiwgdj0nLTY3MS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOTFhLi4uJywgNiwgdj0nLTE1MC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOTI4Li4uJywgNiwgdj0nLTE1MS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOTM2Li4uJywgNiwgdj0nLTE2MS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOTQ0Li4uJywgNiwgdj0nLTEwMy4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOTUyLi4uJywgNiwgdj0nLTE5Mi4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOTYwLi4uJywgNiwgdj0nMTM5Ny4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOTZlLi4uJywgNiwgdj0nLTYyNy4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOTdjLi4uJywgNiwgdj0nLTcxMS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOThiLi4uJywgNiwgdj0nMjAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOTk5Li4uJywgNiwgdj0nLTEzMC4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOWI1Li4uJywgNiwgdj0nLTg0My4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOWMzLi4uJywgNiwgdj0nLTY0Mi4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOWQxLi4uJywgNiwgdj0nLTMyMC4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOWRmLi4uJywgNiwgdj0nLTIxMC4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOWVkLi4uJywgNiwgdj0nMjk1Ii4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOWVlLi4uJywgNiwgdj0nNDE3Ii4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxOWZiLi4uJywgNiwgdj0nMzciLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYTA5Li4uJywgNiwgdj0nLTIxMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYTE3Li4uJywgNiwgdj0nLTI5OC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYTI1Li4uJywgNiwgdj0nLTMzMi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYTMzLi4uJywgNiwgdj0nLTE0My4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYTQxLi4uJywgNiwgdj0nLTE5OC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYTRmLi4uJywgNiwgdj0nLTM1Ny4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYTVlLi4uJywgNiwgdj0nLTMyMy4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYTZjLi4uJywgNiwgdj0nLTIyOC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYTdhLi4uJywgNiwgdj0nLTI4NC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYTg4Li4uJywgNiwgdj0nLTI5NC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYTk2Li4uJywgNiwgdj0nLTIzNC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYWE0Li4uJywgNiwgdj0nLTE3MS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYWIyLi4uJywgNiwgdj0nLTY2OC4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYWMwLi4uJywgNiwgdj0nLTE3Ni4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYWNlLi4uJywgNiwgdj0nLTI0MS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYWRjLi4uJywgNiwgdj0nLTE3Mi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYWVhLi4uJywgNiwgdj0nLTE4My4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYWY4Li4uJywgNiwgdj0nLTE4OC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYjA2Li4uJywgNiwgdj0nLTIzNC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYjE0Li4uJywgNiwgdj0nLTIxNy4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYzc0Li4uJywgNiwgdj0nMzc0Ii4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYzgyLi4uJywgNiwgdj0nLTEzMi4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYzkwLi4uJywgNiwgdj0nOTkzIi4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYzllLi4uJywgNiwgdj0nLTE1MC4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxY2FjLi4uJywgNiwgdj0nLTg0My4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxY2JhLi4uJywgNiwgdj0nLTExOS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxY2M4Li4uJywgNiwgdj0nMjU3Ny4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxY2Q2Li4uJywgNiwgdj0nMTU4Mi4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxY2U0Li4uJywgNiwgdj0nOTA5Ii4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxY2YyLi4uJywgNiwgdj0nLTE0MC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZDAxLi4uJywgNiwgdj0nLTE1OS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZDBmLi4uJywgNiwgdj0nLTE4Ni4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZDFkLi4uJywgNiwgdj0nLTY1OC4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZDJiLi4uJywgNiwgdj0nLTY3OS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZDM5Li4uJywgNiwgdj0nODkiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZDQ3Li4uJywgNiwgdj0nNjgwIi4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZDU1Li4uJywgNiwgdj0nMTA5NS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZDYzLi4uJywgNiwgdj0nLTgzMi4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZDcxLi4uJywgNiwgdj0nLTc4NS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZDdmLi4uJywgNiwgdj0nLTIyOC4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZDhkLi4uJywgNiwgdj0nLTQwIi4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZDliLi4uJywgNiwgdj0nLTI4MC4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZGE5Li4uJywgNiwgdj0nLTY5Ny4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZGI3Li4uJywgNiwgdj0nLTY5Ny4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZGM1Li4uJywgNiwgdj0nLTgxMS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZGQzLi4uJywgNiwgdj0nLTYyOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZGUxLi4uJywgNiwgdj0nLTE0MC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZGYwLi4uJywgNiwgdj0nLTE2Ni4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZGZlLi4uJywgNiwgdj0nLTE1Ny4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZTBjLi4uJywgNiwgdj0nLTE5Mi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZTFhLi4uJywgNiwgdj0nLTE5Ny4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZTI4Li4uJywgNiwgdj0nLTIwMS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZTM2Li4uJywgNiwgdj0nLTE5OC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZTQ0Li4uJywgNiwgdj0nLTIwMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZTUyLi4uJywgNiwgdj0nLTE2MS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZTYwLi4uJywgNiwgdj0nLTE4NS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZTZlLi4uJywgNiwgdj0nLTE5MC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZTdjLi4uJywgNiwgdj0nLTI1MS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZThhLi4uJywgNiwgdj0nLTM4Ni4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZTk4Li4uJywgNiwgdj0nLTEyMS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZWE2Li4uJywgNiwgdj0nLTM2NS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZWI0Li4uJywgNiwgdj0nLTMxMy4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZWMyLi4uJywgNiwgdj0nLTUwNi4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZWQxLi4uJywgNiwgdj0nLTIzMi4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZWRmLi4uJywgNiwgdj0nLTI4OC4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZWVkLi4uJywgNiwgdj0nLTEyMS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZWZiLi4uJywgNiwgdj0nLTMxMC4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZjA5Li4uJywgNiwgdj0nLTI0NS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZjE3Li4uJywgNiwgdj0nNDM5Ii4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZjI1Li4uJywgNiwgdj0nNjA5Ii4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZjMzLi4uJywgNiwgdj0nMTA3OC4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZjQxLi4uJywgNiwgdj0nMjQ5MS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZjRmLi4uJywgNiwgdj0nMTMyNy4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZjVkLi4uJywgNiwgdj0nLTExNS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZjZiLi4uJywgNiwgdj0nLTQ0Mi4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZjc5Li4uJywgNiwgdj0nMjAzIi4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZjg3Li4uJywgNiwgdj0nLTE0My4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZjk1Li4uJywgNiwgdj0nLTIwMS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZmE0Li4uJywgNiwgdj0nLTE0OS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZmIyLi4uJywgNiwgdj0nLTEyOC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZmMwLi4uJywgNiwgdj0nLTEzMC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZmNlLi4uJywgNiwgdj0nLTQwOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZmRjLi4uJywgNiwgdj0nLTE2Mi4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZmVhLi4uJywgNiwgdj0nOTAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZmY4Li4uJywgNiwgdj0nMzE5Ii4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMDA2Li4uJywgNiwgdj0nMjQ4My4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMDE0Li4uJywgNiwgdj0nMzU3Ii4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMDIyLi4uJywgNiwgdj0nMTY4MS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMDMwLi4uJywgNiwgdj0nMTU3Mi4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMDNlLi4uJywgNiwgdj0nMTU3NS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMDRjLi4uJywgNiwgdj0nMzAyIi4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMDVhLi4uJywgNiwgdj0nMTA3Ni4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMDY4Li4uJywgNiwgdj0nMTU1NS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMDc2Li4uJywgNiwgdj0nMTk3MS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMDg0Li4uJywgNiwgdj0nMjM5Ii4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMDkzLi4uJywgNiwgdj0nLTM1MS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMGExLi4uJywgNiwgdj0nLTUyNy4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMGFmLi4uJywgNiwgdj0nLTIxNS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMGJkLi4uJywgNiwgdj0nLTc4Mi4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMGNiLi4uJywgNiwgdj0nNDUyIi4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMGQ5Li4uJywgNiwgdj0nNjAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMGU3Li4uJywgNiwgdj0nLTg0OC4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMGY1Li4uJywgNiwgdj0nLTEzOC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMTAzLi4uJywgNiwgdj0nLTk4OS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMTExLi4uJywgNiwgdj0nLTMyNS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMTFmLi4uJywgNiwgdj0nLTM4Mi4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMTJkLi4uJywgNiwgdj0nNjAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMTNiLi4uJywgNiwgdj0nODg0Ii4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMTQ5Li4uJywgNiwgdj0nNjU5Ii4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMTU3Li4uJywgNiwgdj0nLTI2NC4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMTY1Li4uJywgNiwgdj0nLTk5MC4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMTc0Li4uJywgNiwgdj0nMjg5Ii4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMTgyLi4uJywgNiwgdj0nLTI5Mi4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMTkwLi4uJywgNiwgdj0nLTU0Mi4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMTllLi4uJywgNiwgdj0nMzY2Ii4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMWFjLi4uJywgNiwgdj0nOTA5Ii4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMWJhLi4uJywgNiwgdj0nOTkyIi4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMWM4Li4uJywgNiwgdj0nMTgwOC4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMWQ2Li4uJywgNiwgdj0nLTEwNC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMWU0Li4uJywgNiwgdj0nNTQzIi4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMWYyLi4uJywgNiwgdj0nMzc3Ii4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMjAwLi4uJywgNiwgdj0nLTYxOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMjBlLi4uJywgNiwgdj0nLTcxMi4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMjFjLi4uJywgNiwgdj0nMTQ1OS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMjJhLi4uJywgNiwgdj0nMjU3Ii4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMjM4Li4uJywgNiwgdj0nLTY5Ni4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMjQ3Li4uJywgNiwgdj0nLTEwOC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMjU1Li4uJywgNiwgdj0nMjg3My4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMjYzLi4uJywgNiwgdj0nNDIxIi4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMjcxLi4uJywgNiwgdj0nNTU3Ii4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMjdmLi4uJywgNiwgdj0nMTY5Ni4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMjhkLi4uJywgNiwgdj0nMjQ4MC4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMjliLi4uJywgNiwgdj0nLTcwNy4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMmE5Li4uJywgNiwgdj0nLTIzNy4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMmI3Li4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMmM1Li4uJywgNiwgdj0nMTczMC4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMmQzLi4uJywgNiwgdj0nMjk5MC4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMmUxLi4uJywgNiwgdj0nMjc0Ni4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMmVmLi4uJywgNiwgdj0nLTE3NC4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMmZkLi4uJywgNiwgdj0nLTE5NC4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMzBiLi4uJywgNiwgdj0nNDg1Ii4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMzE5Li4uJywgNiwgdj0nLTcyOS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMzI3Li4uJywgNiwgdj0nNzAiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMzM2Li4uJywgNiwgdj0nOTA3Ii4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMzQ0Li4uJywgNiwgdj0nMTI5Ny4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMzUyLi4uJywgNiwgdj0nNzc2Ii4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMzYwLi4uJywgNiwgdj0nMTIzIi4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMzZlLi4uJywgNiwgdj0nMTU1Ny4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMzdjLi4uJywgNiwgdj0nMTIwOC4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMzhhLi4uJywgNiwgdj0nMjUzIi4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMzk4Li4uJywgNiwgdj0nNTA4Ii4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyM2E2Li4uJywgNiwgdj0nLTI3NC4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyM2I0Li4uJywgNiwgdj0nLTU3MS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyM2MyLi4uJywgNiwgdj0nMTQ2Ii4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyM2QwLi4uJywgNiwgdj0nNTY3Ii4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyM2RlLi4uJywgNiwgdj0nMTIyMi4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyM2VjLi4uJywgNiwgdj0nNzMzIi4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyM2ZhLi4uJywgNiwgdj0nOCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNDA4Li4uJywgNiwgdj0nMTA0MS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNDE3Li4uJywgNiwgdj0nMzIyMi4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNDI1Li4uJywgNiwgdj0nMjU3Ni4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNDMzLi4uJywgNiwgdj0nMjQyMi4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNDQxLi4uJywgNiwgdj0nLTEwMy4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNDRmLi4uJywgNiwgdj0nLTc0Ni4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNDZiLi4uJywgNiwgdj0nLTY2MS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNDc5Li4uJywgNiwgdj0nNDUiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNDg3Li4uJywgNiwgdj0nMzk4My4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNDk1Li4uJywgNiwgdj0nMTY5NC4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNGEzLi4uJywgNiwgdj0nNzA5Ii4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNGIxLi4uJywgNiwgdj0nLTg0NC4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNGJmLi4uJywgNiwgdj0nLTYwNS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNGNkLi4uJywgNiwgdj0nLTY2MS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNGRiLi4uJywgNiwgdj0nLTQzNi4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNGU5Li4uJywgNiwgdj0nLTExNS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNGY4Li4uJywgNiwgdj0nLTcxNi4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNTA2Li4uJywgNiwgdj0nLTg3Ny4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNTE0Li4uJywgNiwgdj0nLTEwMi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNTIyLi4uJywgNiwgdj0nLTciLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNTMwLi4uJywgNiwgdj0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNTNlLi4uJywgNiwgdj0nMTE4NS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNTRjLi4uJywgNiwgdj0nODg0Ii4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNTVhLi4uJywgNiwgdj0nMTEwMy4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNTY4Li4uJywgNiwgdj0nMTc4OS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNTc2Li4uJywgNiwgdj0nMzEzMi4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNTg0Li4uJywgNiwgdj0nLTQwMy4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNTkyLi4uJywgNiwgdj0nLTIxMS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNWEwLi4uJywgNiwgdj0nLTQ5OC4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNWFlLi4uJywgNiwgdj0nMTc0Ii4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNWJjLi4uJywgNiwgdj0nMjEwIi4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNWNhLi4uJywgNiwgdj0nNzEwIi4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNWQ5Li4uJywgNiwgdj0nMjEyNy4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNWU3Li4uJywgNiwgdj0nMjM4Ni4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNWY1Li4uJywgNiwgdj0nMTkxNi4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNjAzLi4uJywgNiwgdj0nNTMiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNjExLi4uJywgNiwgdj0nMTA3MC4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNjFmLi4uJywgNiwgdj0nNTY0Ii4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNjJkLi4uJywgNiwgdj0nLTExOC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNjNiLi4uJywgNiwgdj0nMzQiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNjQ5Li4uJywgNiwgdj0nLTg0Ny4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNjU3Li4uJywgNiwgdj0nLTEzMS4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNjY1Li4uJywgNiwgdj0nLTE4NC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNjczLi4uJywgNiwgdj0nLTE0MC4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNjgxLi4uJywgNiwgdj0nLTExMi4uLicsIDUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNjhmLi4uJywgNiwgdj0nLTM3Mi4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNjlkLi4uJywgNiwgdj0nMjY5Ii4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNmFiLi4uJywgNiwgdj0nNTcyIi4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNmJhLi4uJywgNiwgdj0nMTQxMy4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNmM4Li4uJywgNiwgdj0nMTU4Ni4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNmQ2Li4uJywgNiwgdj0nMzE2MS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNmU0Li4uJywgNiwgdj0nMjM0Ny4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNmYyLi4uJywgNiwgdj0nMjYyNy4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNzAwLi4uJywgNiwgdj0nMjUwMi4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNzBlLi4uJywgNiwgdj0nMjgxOC4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNzFjLi4uJywgNiwgdj0nMTU4Ii4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNzJhLi4uJywgNiwgdj0nLTU0NS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNzM4Li4uJywgNiwgdj0nLTM3MC4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNzQ2Li4uJywgNiwgdj0nLTYyNC4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNzU0Li4uJywgNiwgdj0nLTg0Ny4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNzYyLi4uJywgNiwgdj0nMjMxNS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNzcwLi4uJywgNiwgdj0nMTA5OS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNzdlLi4uJywgNiwgdj0nLTQxNy4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCSwgNSkKK1NBWC5lbmRFbGVtZW50TnMocGFyLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhciwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbWVtaW5kPSc0MjIyLi4uJywgNiwgaD0nM2RjMS4uLicsIDgpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMCIgdi4uLicsIDEsIHY9Jy00MzAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZTA4Ii4uLicsIDMsIHY9Jy00MTYuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWMzMi4uLicsIDQsIHY9Jy00MDkuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMmEzYy4uLicsIDQsIHY9Jy00MDguLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMzgzNS4uLicsIDQsIHY9Jy0zOTYuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNDY0NS4uLicsIDQsIHY9Jy0zOTYuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNTQ1NS4uLicsIDQsIHY9Jy00NDEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNjI2NS4uLicsIDQsIHY9Jy01MzUuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNzA3NS4uLicsIDQsIHY9Jy02MzEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nN2U4NS4uLicsIDQsIHY9Jy03MjkuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOGM5Ni4uLicsIDQsIHY9Jy03NTEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOWFhNS4uLicsIDQsIHY9Jy03MzUuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYThiNi4uLicsIDQsIHY9Jy02ODkuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYjZjNS4uLicsIDQsIHY9Jy02NDYuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYzRkNy4uLicsIDQsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDMwYi4uLicsIDQsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZTBmNi4uLicsIDQsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZWYwNi4uLicsIDQsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZmQxNy4uLicsIDQsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTBiMi4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTE5My4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTI3NC4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTM1NS4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTQzNi4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTUxOC4uLicsIDUsIHY9Jy05Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTVmOC4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTZkOS4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTdiYS4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTg5Yi4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTk3Yy4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWE1ZC4uLicsIDUsIHY9Jy05Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWIzZS4uLicsIDUsIHY9Jy05Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWMxZi4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWQwMC4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWRlMS4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWVjMi4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWZhMy4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjA4NC4uLicsIDUsIHY9Jy05Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjE2NS4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjI0Ni4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjMyNy4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjQwOC4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjRlOS4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjVjYS4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjZhYi4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjc4Yy4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjg2ZC4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjk0ZS4uLicsIDUsIHY9Jy05Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMmEzMC4uLicsIDUsIHY9Jy05Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMmIxMC4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMmJmMS4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMmNkMi4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMmRiMy4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMmU5NC4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMmY3NS4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMzA1Ni4uLicsIDUsIHY9Jy05Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMzEzNy4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMzIxOS4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMzJmOS4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMzNkYS4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMzRiYi4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMzU5ZC4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMzY3ZC4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMzc1ZS4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMzg0MC4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMzkyMS4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nM2EwMS4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nM2FlMi4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nM2JjMy4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nM2NhNC4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nM2Q4NS4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nM2U2Ni4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nM2Y0OC4uLicsIDUsIHY9Jy05Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNDAyOC4uLicsIDUsIHY9Jy05Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNDEwOS4uLicsIDUsIHY9Jy05Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNDFlYS4uLicsIDUsIHY9Jy05Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNDJjYi4uLicsIDUsIHY9Jy05Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNDNhYy4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNDQ4ZC4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNDU2ZS4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNDY0Zi4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNDgwZi4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNDhmMC4uLicsIDUsIHY9Jy02Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNDlkMS4uLicsIDUsIHY9Jy02Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNGFiNC4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNGI5NS4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNGM3Ni4uLicsIDUsIHY9Jy02Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNGQ1Ny4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNGUzOC4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNGYxOS4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNGZmYS4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNTBkZC4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNTFiYy4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNTI5ZC4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNTM3ZS4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNTQ2MC4uLicsIDUsIHY9Jy05Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNTU0MC4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNTYyMS4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNTcwMi4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNTdlMy4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNThjNC4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNTlhNy4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNWE4Ni4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNWI2Ny4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNWM0OC4uLicsIDUsIHY9Jy02Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNWQyOS4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNWUwYS4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNWVlYi4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNWZjYy4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNjBhZC4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNjE4ZS4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNjI2Zi4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNjM1MC4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNjQzMS4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNjUxMi4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNjVmMy4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNjZkNC4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNjdiNS4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNjg5Ni4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNjk3OC4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNmE1OC4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNmIzOS4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNmMxYS4uLicsIDUsIHY9Jy05Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNmNmYi4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNmRkYy4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNmViZC4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNmY5ZS4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNzA3Zi4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNzE2MC4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNzI0MS4uLicsIDUsIHY9Jy02Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNzMyMi4uLicsIDUsIHY9Jy02Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNzQwMy4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNzRlNC4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNzVjNS4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNzZhNi4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNzc4Ny4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNzg2OC4uLicsIDUsIHY9Jy02Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNzk0OC4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nN2EyOS4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nN2IwYS4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nN2JlYi4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nN2NjYy4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nN2RhZC4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nN2U4Zi4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nN2Y3MC4uLicsIDUsIHY9Jy05Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nODA1MS4uLicsIDUsIHY9Jy05Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nODEzMi4uLicsIDUsIHY9Jy05Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nODIxMy4uLicsIDUsIHY9Jy05Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nODJmNC4uLicsIDUsIHY9Jy05Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nODNkNS4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nODRiNi4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nODU5Ny4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nODY3OC4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nODc1OS4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nODgzYS4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nODkxYi4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nODlmYy4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOGFkZC4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOGJiZS4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOGM5Zi4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOGQ4MC4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOGU2MS4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOGY0Mi4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOTAyMy4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOTEwNC4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOTFlNS4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOTJjNi4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOTNhOC4uLicsIDUsIHY9Jy05Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOTQ4OC4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOTU2OS4uLicsIDUsIHY9Jy05Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOTY0YS4uLicsIDUsIHY9Jy05Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOTcyYi4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOTgwYy4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOThlZC4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOTljZS4uLicsIDUsIHY9Jy04Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOWFhZi4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOWI5MC4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOWM3MS4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOWQ1Mi4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOWUzMy4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOWYxNC4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nOWZmNS4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYTBkNi4uLicsIDUsIHY9Jy03Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYTFiNy4uLicsIDUsIHY9Jy02MzIuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYTI5OC4uLicsIDUsIHY9Jy0zNTEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYTM3OS4uLicsIDUsIHY9Jy05NjMuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYTQ1YS4uLicsIDUsIHY9JzY0NCIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYTUzYi4uLicsIDUsIHY9JzcwMCIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYTYxYy4uLicsIDUsIHY9Jzk0MiIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYTZmZC4uLicsIDUsIHY9Jzk5Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYTdlMC4uLicsIDUsIHY9JzQ2NCIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYThjMC4uLicsIDUsIHY9JzkxMiIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYTlhMC4uLicsIDUsIHY9JzI4OSIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYWE4MS4uLicsIDUsIHY9JzMyIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYWI2Mi4uLicsIDUsIHY9JzQ2Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYWM0My4uLicsIDUsIHY9JzIwMCIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYWQyNC4uLicsIDUsIHY9JzkyMSIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYWUwNS4uLicsIDUsIHY9Jzc0NCIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYWVlNi4uLicsIDUsIHY9Jy01NjEuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYWZjNy4uLicsIDUsIHY9Jy02OCIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYjBhOC4uLicsIDUsIHY9JzMxIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYjI2YS4uLicsIDUsIHY9JzE0MiIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYjM0Yi4uLicsIDUsIHY9Jy0xMjMuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYjQyYy4uLicsIDUsIHY9Jy00NTEuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYjUwZC4uLicsIDUsIHY9Jy03MjkuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYjVlZS4uLicsIDUsIHY9Jy03MTIuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYjZjZi4uLicsIDUsIHY9Jy0xNTguLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYjdiMC4uLicsIDUsIHY9Jy0xOTguLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYjg5MS4uLicsIDUsIHY9Jy0xNzUuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYjk3Mi4uLicsIDUsIHY9Jy0xNzUuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYmE1My4uLicsIDUsIHY9Jy0xODkuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYmIzNC4uLicsIDUsIHY9Jy04MjcuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYmMxNS4uLicsIDUsIHY9Jy04ODIuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYmNmNi4uLicsIDUsIHY9Jy04OTkuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYmRkOC4uLicsIDUsIHY9JzY0NCIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYmViOC4uLicsIDUsIHY9JzQxNyIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYmY5OS4uLicsIDUsIHY9JzUyNCIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYzA3YS4uLicsIDUsIHY9JzQwMCIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYzE1Yi4uLicsIDUsIHY9JzM3MiIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYzIzYy4uLicsIDUsIHY9JzQ4NCIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYzMxZC4uLicsIDUsIHY9JzU5MSIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYzNmZS4uLicsIDUsIHY9JzMzNiIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYzRkZi4uLicsIDUsIHY9Jzc0MSIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYzVjMC4uLicsIDUsIHY9JzExNCIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYzZhMS4uLicsIDUsIHY9JzUwNyIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYzc4Mi4uLicsIDUsIHY9Jy01MSIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYzg2My4uLicsIDUsIHY9JzEzNiIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYzk0NC4uLicsIDUsIHY9JzMzNCIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nY2EyNS4uLicsIDUsIHY9JzIzNSIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nY2IwNi4uLicsIDUsIHY9JzExNiIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nY2JlNy4uLicsIDUsIHY9Jy00MTcuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nY2NjOC4uLicsIDUsIHY9Jy0yMzIuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nY2RhOS4uLicsIDUsIHY9Jy0xODQuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nY2U4YS4uLicsIDUsIHY9Jy0yMTkuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nY2Y2Yi4uLicsIDUsIHY9Jy0xMzQuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDA0Yy4uLicsIDUsIHY9Jy01MSIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDEyZC4uLicsIDUsIHY9JzE0MyIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDIwZS4uLicsIDUsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDJmMC4uLicsIDUsIHY9JzExIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDNkMC4uLicsIDUsIHY9JzYwMCIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDRiMS4uLicsIDUsIHY9JzY0NCIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDU5Mi4uLicsIDUsIHY9JzgzNiIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDY3My4uLicsIDUsIHY9JzEwNjguLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDc1NC4uLicsIDUsIHY9JzEyMTMuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDgzNS4uLicsIDUsIHY9Jy0xMzUuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDkxNi4uLicsIDUsIHY9Jy03NTUuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDlmNy4uLicsIDUsIHY9Jy0xNDkuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZGFkOC4uLicsIDUsIHY9Jy0yMDEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZGJiOS4uLicsIDUsIHY9Jy0yNTYuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZGM5YS4uLicsIDUsIHY9Jy0yMzMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZGQ3Yi4uLicsIDUsIHY9Jy0yODkuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZGU1Yy4uLicsIDUsIHY9Jy0yNzguLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZGYzZC4uLicsIDUsIHY9Jy0yOTEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZTAxZC4uLicsIDUsIHY9Jy0yOTEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZTBmZS4uLicsIDUsIHY9Jy0yODMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZTFkZi4uLicsIDUsIHY9Jy0zMDEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZTJjMC4uLicsIDUsIHY9Jy00MDkuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZTNhMS4uLicsIDUsIHY9Jy0zOTcuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZTQ4Mi4uLicsIDUsIHY9Jy0zMzcuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZTU2My4uLicsIDUsIHY9Jy0zNDIuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZTY0NC4uLicsIDUsIHY9Jy0yNTUuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZTcyNS4uLicsIDUsIHY9Jy0yMTguLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZTgwNi4uLicsIDUsIHY9Jy0xNzUuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZThlNy4uLicsIDUsIHY9Jy00NzcuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZTljOC4uLicsIDUsIHY9Jy03MDkuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZWFhOS4uLicsIDUsIHY9Jy02NTMuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZWI4YS4uLicsIDUsIHY9Jy02NTMuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZWM2Yi4uLicsIDUsIHY9Jy00NjguLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZWQ0Yy4uLicsIDUsIHY9Jy0yMTEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZWUyZC4uLicsIDUsIHY9Jy0yMjMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZWYwZS4uLicsIDUsIHY9Jy0zMTkuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZWZmMC4uLicsIDUsIHY9Jy00MDguLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZjBkMS4uLicsIDUsIHY9Jy00MzAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZjFiMi4uLicsIDUsIHY9Jy00NTUuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZjI5My4uLicsIDUsIHY9Jy00NjIuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZjM3NC4uLicsIDUsIHY9Jy00MzAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZjQ1NS4uLicsIDUsIHY9Jy00NjAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZjUzNi4uLicsIDUsIHY9Jy00ODUuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZjYxNy4uLicsIDUsIHY9Jy00NjEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZjZmOC4uLicsIDUsIHY9Jy00ODEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZjdkOS4uLicsIDUsIHY9Jy00MjQuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZjhiYS4uLicsIDUsIHY9Jy0zOTEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZjk5Yi4uLicsIDUsIHY9Jy0zODAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZmE3Yy4uLicsIDUsIHY9Jy0zMDIuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZmI1ZC4uLicsIDUsIHY9Jy0zMDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZmMzZS4uLicsIDUsIHY9Jy0zMjkuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZmQxZi4uLicsIDUsIHY9Jy0yNjguLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZmUwMC4uLicsIDUsIHY9Jy0yNTMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZmVlMS4uLicsIDUsIHY9Jy0yMDguLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZmZjMi4uLicsIDUsIHY9Jy0xOTguLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTAwYS4uLicsIDYsIHY9Jy0xNzkuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTAxOC4uLicsIDYsIHY9Jy0xNzkuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTAyNi4uLicsIDYsIHY9Jy0yMDcuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTAzNC4uLicsIDYsIHY9Jy0yNzIuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTA0Mi4uLicsIDYsIHY9Jy00MDEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTA1MC4uLicsIDYsIHY9Jy00MzIuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTA1ZS4uLicsIDYsIHY9Jy00MzMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTA2Yy4uLicsIDYsIHY9Jy00NzIuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTA3YS4uLicsIDYsIHY9Jy00MzMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTA4OC4uLicsIDYsIHY9Jy0zOTAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTA5Ni4uLicsIDYsIHY9Jy00MTEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTBhNC4uLicsIDYsIHY9Jy00MzIuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTBiMi4uLicsIDYsIHY9Jy00MzQuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTBjMS4uLicsIDYsIHY9Jy00MTYuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTBjZi4uLicsIDYsIHY9Jy00MzUuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTBkZC4uLicsIDYsIHY9Jy00MTYuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTBlYi4uLicsIDYsIHY9Jy00NDUuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTBmOS4uLicsIDYsIHY9Jy0zODkuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTEwNy4uLicsIDYsIHY9Jy0zMjguLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTExNS4uLicsIDYsIHY9Jy0yODYuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTEyMy4uLicsIDYsIHY9Jy0yNjYuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTEzMS4uLicsIDYsIHY9Jy0xNzkuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTEzZi4uLicsIDYsIHY9Jy0xNzkuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTE0ZC4uLicsIDYsIHY9Jy0xODIuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTE1Yi4uLicsIDYsIHY9Jy0xNzguLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTE2OS4uLicsIDYsIHY9Jy0xNTguLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTE3Ny4uLicsIDYsIHY9Jy0yMDguLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTE4NS4uLicsIDYsIHY9Jy0yODguLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTE5My4uLicsIDYsIHY9Jy0zNTUuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTFhMi4uLicsIDYsIHY9Jy00ODMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTFiMC4uLicsIDYsIHY9Jy00MzIuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTFiZS4uLicsIDYsIHY9Jy01MzkuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTFjYy4uLicsIDYsIHY9Jy00NDUuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTFkYS4uLicsIDYsIHY9Jy00MjcuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTFlOC4uLicsIDYsIHY9Jy00MzUuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTFmNi4uLicsIDYsIHY9Jy0zOTAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTIwNS4uLicsIDYsIHY9Jy00Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTIxMy4uLicsIDYsIHY9Jy00Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTIyMS4uLicsIDYsIHY9Jy00Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTIyZi4uLicsIDYsIHY9Jy0zIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTIzZC4uLicsIDYsIHY9Jy0zIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTI0Yi4uLicsIDYsIHY9Jy0zIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTI1OS4uLicsIDYsIHY9Jy0yIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTI2Ny4uLicsIDYsIHY9Jy0yIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTI3Ni4uLicsIDYsIHY9Jy0yIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTI4My4uLicsIDYsIHY9Jy0yIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTI5MS4uLicsIDYsIHY9Jy0yIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTI5Zi4uLicsIDYsIHY9Jy0yIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTJhZC4uLicsIDYsIHY9Jy0yIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTJiYi4uLicsIDYsIHY9Jy0xIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTJjOS4uLicsIDYsIHY9Jy0yIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTJkNy4uLicsIDYsIHY9Jy0yIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTJlNS4uLicsIDYsIHY9Jy0zIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTJmMy4uLicsIDYsIHY9Jy0yIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTMwMS4uLicsIDYsIHY9Jy00Ii8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTMwZi4uLicsIDYsIHY9Jy0zIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTMxZC4uLicsIDYsIHY9Jy0zIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTMyYi4uLicsIDYsIHY9Jy0zIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTMzOS4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTM0Ny4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTM1NS4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTM2NC4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTM3Mi4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTM4MC4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTM4ZS4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTM5Yy4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTNhYS4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTNiOC4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTNjNi4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTNkNC4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTNlMi4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTNmMC4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTNmZS4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTQwYy4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTQxYS4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTQyOC4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTQzNi4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTQ0NS4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTQ1My4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTQ2MS4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTQ2Zi4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTQ3ZC4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTQ4Yi4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTQ5OS4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTRhNy4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTRiNS4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTRjMy4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTRkMS4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTRkZi4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTRlZC4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTRmYi4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTUwOS4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTUxNy4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTUyNi4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTUzNC4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTU0Mi4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTU1MC4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTU1ZS4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTU2Yy4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTU3YS4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTU4OC4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTU5Ni4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTVhNC4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTViMi4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTVjMC4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTVjZS4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTVkYy4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTVlYS4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTVmOC4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTYwNy4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTYxNS4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTYyMy4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTYzMS4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTYzZi4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTY0ZC4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTY1Yi4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTY2OS4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTY3Ny4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTY4NS4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTY5My4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTZhMS4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTZhZi4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTZiZC4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTZjYi4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTZkOS4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTZlOC4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTZmNi4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTcwNC4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTcxMi4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTcyMC4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTcyZS4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTczYy4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTc0YS4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTc1OC4uLicsIDYsIHY9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTc2Ni4uLicsIDYsIHY9Jy02ODQuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTc3NC4uLicsIDYsIHY9Jy02ODQuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTc4Mi4uLicsIDYsIHY9Jy03MjcuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTc5MC4uLicsIDYsIHY9Jy02NzEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTc5ZS4uLicsIDYsIHY9Jy02MDQuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTdhYy4uLicsIDYsIHY9Jy01ODcuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTdiYS4uLicsIDYsIHY9Jy02MDYuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTdjOS4uLicsIDYsIHY9Jy01NDguLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTdkNy4uLicsIDYsIHY9Jy01NDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTdlNS4uLicsIDYsIHY9Jy01MzQuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTdmMy4uLicsIDYsIHY9Jy00OTguLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTgwMS4uLicsIDYsIHY9Jy01MTkuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTgwZi4uLicsIDYsIHY9Jy02MzIuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTgxZC4uLicsIDYsIHY9Jy02OTIuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTgyYi4uLicsIDYsIHY9Jy03ODguLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTgzOS4uLicsIDYsIHY9Jy0xMzQuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTg0Ny4uLicsIDYsIHY9Jy0xMzMuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTg1NS4uLicsIDYsIHY9Jy0xMjguLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTg2My4uLicsIDYsIHY9Jy0xMTkuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTg3MS4uLicsIDYsIHY9Jy0xMjQuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTg3Zi4uLicsIDYsIHY9Jy0xMTYuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTg4ZC4uLicsIDYsIHY9Jy0xMjUuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTg5Yy4uLicsIDYsIHY9Jy0xMTkuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMThiOC4uLicsIDYsIHY9Jy03NTYuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMThjNi4uLicsIDYsIHY9Jy04MTAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMThkNC4uLicsIDYsIHY9Jy03NjcuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMThlMi4uLicsIDYsIHY9Jy02NTYuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMThmMC4uLicsIDYsIHY9Jy02MTYuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMThmZS4uLicsIDYsIHY9Jy01NjYuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTkwYy4uLicsIDYsIHY9Jy00NDcuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTkxYS4uLicsIDYsIHY9Jy00MzAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTkyOC4uLicsIDYsIHY9Jy00MjUuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTkzNi4uLicsIDYsIHY9Jy00MTIuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTk0NC4uLicsIDYsIHY9Jy00MTIuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTk1Mi4uLicsIDYsIHY9Jy00NDkuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTk2MC4uLicsIDYsIHY9Jy01MTMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTk2ZS4uLicsIDYsIHY9Jy01OTYuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTk3Yy4uLicsIDYsIHY9Jy02MzUuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTk4Yi4uLicsIDYsIHY9Jy01OTYuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTk5OS4uLicsIDYsIHY9Jy02NjEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTliNS4uLicsIDYsIHY9Jy02NjEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTljMy4uLicsIDYsIHY9Jy02MTkuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTlkMS4uLicsIDYsIHY9Jy02MjMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTlkZi4uLicsIDYsIHY9Jy02MzEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTllZC4uLicsIDYsIHY9Jy02MDcuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTllZS4uLicsIDYsIHY9Jy02MDcuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTlmYi4uLicsIDYsIHY9Jy0yMzkuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWEwOS4uLicsIDYsIHY9Jy0yNjAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWExNy4uLicsIDYsIHY9Jy0zMDUuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWEyNS4uLicsIDYsIHY9Jy0zMzMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWEzMy4uLicsIDYsIHY9Jy0yMjMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWE0MS4uLicsIDYsIHY9Jy0yMTMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWE0Zi4uLicsIDYsIHY9Jy0xNTQuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWE1ZS4uLicsIDYsIHY9Jy0xNjcuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWE2Yy4uLicsIDYsIHY9Jy05NjkuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWE3YS4uLicsIDYsIHY9Jy0xMTIuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWE4OC4uLicsIDYsIHY9Jy0xMDcuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWE5Ni4uLicsIDYsIHY9Jy00ODEuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWFhNC4uLicsIDYsIHY9Jy01MzcuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWFiMi4uLicsIDYsIHY9Jy05OTUuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWFjMC4uLicsIDYsIHY9Jy0xODEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWFjZS4uLicsIDYsIHY9Jy0yNjMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWFkYy4uLicsIDYsIHY9Jy0yOTIuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWFlYS4uLicsIDYsIHY9Jy0yNTkuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWFmOC4uLicsIDYsIHY9Jy0yODkuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWIwNi4uLicsIDYsIHY9Jy0yMTcuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWIxNC4uLicsIDYsIHY9Jy0yMDkuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWM3NC4uLicsIDYsIHY9JzMxMSIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWM4Mi4uLicsIDYsIHY9JzM5OSIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWM5MC4uLicsIDYsIHY9JzM0ODYuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWM5ZS4uLicsIDYsIHY9JzMzNTcuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWNhYy4uLicsIDYsIHY9JzM2NzAuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWNiYS4uLicsIDYsIHY9JzM1ODAuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWNjOC4uLicsIDYsIHY9JzUzOTguLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWNkNi4uLicsIDYsIHY9JzU0NzguLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWNlNC4uLicsIDYsIHY9JzU2MTguLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWNmMi4uLicsIDYsIHY9JzU2NTkuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWQwMS4uLicsIDYsIHY9JzU5MjMuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWQwZi4uLicsIDYsIHY9JzY2NTEuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWQxZC4uLicsIDYsIHY9JzY2NTQuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWQyYi4uLicsIDYsIHY9JzY3MTMuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWQzOS4uLicsIDYsIHY9JzY4ODUuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWQ0Ny4uLicsIDYsIHY9JzY4OTMuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWQ1NS4uLicsIDYsIHY9JzY3MDUuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWQ2My4uLicsIDYsIHY9JzU4NTMuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWQ3MS4uLicsIDYsIHY9JzU1NDUuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWQ3Zi4uLicsIDYsIHY9JzU1ODkuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWQ4ZC4uLicsIDYsIHY9Jy0zMjEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWQ5Yi4uLicsIDYsIHY9Jy0zNjIuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWRhOS4uLicsIDYsIHY9Jy0zNjIuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWRiNy4uLicsIDYsIHY9Jy0zNDcuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWRjNS4uLicsIDYsIHY9Jy0zNjMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWRkMy4uLicsIDYsIHY9Jy0zNzIuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWRlMS4uLicsIDYsIHY9Jy02MDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWRmMC4uLicsIDYsIHY9Jy02NzUuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWRmZS4uLicsIDYsIHY9Jy02NjQuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWUwYy4uLicsIDYsIHY9Jy02NzcuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWUxYS4uLicsIDYsIHY9Jy02NzkuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWUyOC4uLicsIDYsIHY9Jy02NTkuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWUzNi4uLicsIDYsIHY9Jy02MTMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWU0NC4uLicsIDYsIHY9Jy01NjUuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWU1Mi4uLicsIDYsIHY9Jy00OTEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWU2MC4uLicsIDYsIHY9Jy00OTAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWU2ZS4uLicsIDYsIHY9Jy00ODAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWU3Yy4uLicsIDYsIHY9Jy0xOTcuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWU4YS4uLicsIDYsIHY9Jy0xODIuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWU5OC4uLicsIDYsIHY9Jy0xODIuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWVhNi4uLicsIDYsIHY9Jy0yMjcuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWViNC4uLicsIDYsIHY9Jy0yMzMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWVjMi4uLicsIDYsIHY9Jy0yNjQuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWVkMS4uLicsIDYsIHY9Jy0yNjQuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWVkZi4uLicsIDYsIHY9Jy0yNzQuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWVlZC4uLicsIDYsIHY9Jy0yNzIuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWVmYi4uLicsIDYsIHY9Jy0yNTguLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWYwOS4uLicsIDYsIHY9Jy0yNTQuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWYxNy4uLicsIDYsIHY9Jy0yMzcuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWYyNS4uLicsIDYsIHY9Jy0yMzMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWYzMy4uLicsIDYsIHY9Jy0yNTYuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWY0MS4uLicsIDYsIHY9Jy0yNzguLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWY0Zi4uLicsIDYsIHY9Jy0zMTkuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWY1ZC4uLicsIDYsIHY9Jy0zNTguLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWY2Yi4uLicsIDYsIHY9Jy0zNTkuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWY3OS4uLicsIDYsIHY9Jy0zMTIuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWY4Ny4uLicsIDYsIHY9Jy0zMzMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWY5NS4uLicsIDYsIHY9Jy0zMTQuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWZhNC4uLicsIDYsIHY9Jy0yODAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWZiMi4uLicsIDYsIHY9Jy0yNDguLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWZjMC4uLicsIDYsIHY9Jy0yNDkuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWZjZS4uLicsIDYsIHY9Jy0yMTcuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWZkYy4uLicsIDYsIHY9Jy0yMTMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWZlYS4uLicsIDYsIHY9Jy0yMTUuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWZmOC4uLicsIDYsIHY9Jy0yNTAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjAwNi4uLicsIDYsIHY9Jy0yMzkuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjAxNC4uLicsIDYsIHY9Jy0zNDYuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjAyMi4uLicsIDYsIHY9Jy00NTEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjAzMC4uLicsIDYsIHY9Jy01MzUuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjAzZS4uLicsIDYsIHY9Jy01OTEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjA0Yy4uLicsIDYsIHY9Jy01NzcuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjA1YS4uLicsIDYsIHY9Jy01MjguLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjA2OC4uLicsIDYsIHY9Jy01MzguLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjA3Ni4uLicsIDYsIHY9Jy01OTcuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjA4NC4uLicsIDYsIHY9Jy02MTAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjA5My4uLicsIDYsIHY9Jy02NzQuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjBhMS4uLicsIDYsIHY9Jy02MzEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjBhZi4uLicsIDYsIHY9Jy01NTMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjBiZC4uLicsIDYsIHY9Jy01NDUuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjBjYi4uLicsIDYsIHY9Jy00NjMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjBkOS4uLicsIDYsIHY9Jy00MzQuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjBlNy4uLicsIDYsIHY9Jy00MDQuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjBmNS4uLicsIDYsIHY9Jy0zODUuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjEwMy4uLicsIDYsIHY9Jy0zNTEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjExMS4uLicsIDYsIHY9Jy0zMTMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjExZi4uLicsIDYsIHY9Jy0zMDEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjEyZC4uLicsIDYsIHY9Jy0yOTAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjEzYi4uLicsIDYsIHY9Jy0yODIuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjE0OS4uLicsIDYsIHY9Jy0zNjguLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjE1Ny4uLicsIDYsIHY9Jy00NTAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjE2NS4uLicsIDYsIHY9Jy01ODQuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjE3NC4uLicsIDYsIHY9Jy02MTkuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjE4Mi4uLicsIDYsIHY9Jy02MTYuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjE5MC4uLicsIDYsIHY9Jy02MTQuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjE5ZS4uLicsIDYsIHY9Jy02MjIuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjFhYy4uLicsIDYsIHY9Jy01OTMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjFiYS4uLicsIDYsIHY9Jy01OTIuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjFjOC4uLicsIDYsIHY9Jy01NTUuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjFkNi4uLicsIDYsIHY9Jy02MjQuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjFlNC4uLicsIDYsIHY9Jy01NzUuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjFmMi4uLicsIDYsIHY9Jy01NzcuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjIwMC4uLicsIDYsIHY9Jy01NDYuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjIwZS4uLicsIDYsIHY9Jy01MzkuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjIxYy4uLicsIDYsIHY9Jy00NTQuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjIyYS4uLicsIDYsIHY9Jy0zODcuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjIzOC4uLicsIDYsIHY9Jy0zNjIuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjI0Ny4uLicsIDYsIHY9Jy0zMjkuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjI1NS4uLicsIDYsIHY9Jy0xNjguLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjI2My4uLicsIDYsIHY9Jy0yMDguLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjI3MS4uLicsIDYsIHY9Jy0yMDQuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjI3Zi4uLicsIDYsIHY9Jy0xNjcuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjI4ZC4uLicsIDYsIHY9Jy0xNzguLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjI5Yi4uLicsIDYsIHY9Jy0zNDkuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjJhOS4uLicsIDYsIHY9Jy00MDguLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjJiNy4uLicsIDYsIHY9Jy00NDUuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjJjNS4uLicsIDYsIHY9Jy00ODEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjJkMy4uLicsIDYsIHY9Jy00NDAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjJlMS4uLicsIDYsIHY9Jy00NjIuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjJlZi4uLicsIDYsIHY9Jy00ODIuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjJmZC4uLicsIDYsIHY9Jy00NjQuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjMwYi4uLicsIDYsIHY9Jy00NDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjMxOS4uLicsIDYsIHY9Jy01MzkuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjMyNy4uLicsIDYsIHY9Jy01NTUuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjMzNi4uLicsIDYsIHY9Jy01ODguLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjM0NC4uLicsIDYsIHY9Jy01MjAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjM1Mi4uLicsIDYsIHY9Jy01MjAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjM2MC4uLicsIDYsIHY9Jy01MjUuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjM2ZS4uLicsIDYsIHY9Jy00MzQuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjM3Yy4uLicsIDYsIHY9Jy00MTkuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjM4YS4uLicsIDYsIHY9Jy0zOTkuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjM5OC4uLicsIDYsIHY9Jy0zMTkuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjNhNi4uLicsIDYsIHY9Jy0zMzIuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjNiNC4uLicsIDYsIHY9Jy0zMTkuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjNjMi4uLicsIDYsIHY9Jy0yOTYuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjNkMC4uLicsIDYsIHY9Jy0yOTUuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjNkZS4uLicsIDYsIHY9Jy0yOTEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjNlYy4uLicsIDYsIHY9Jy0zNjIuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjNmYS4uLicsIDYsIHY9Jy00NTYuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjQwOC4uLicsIDYsIHY9Jy01MDEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjQxNy4uLicsIDYsIHY9Jy01NzkuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjQyNS4uLicsIDYsIHY9Jy02NjAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjQzMy4uLicsIDYsIHY9Jy02NzguLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjQ0MS4uLicsIDYsIHY9Jy02NzMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjQ0Zi4uLicsIDYsIHY9Jy02NDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjQ2Yi4uLicsIDYsIHY9Jy02NDEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjQ3OS4uLicsIDYsIHY9Jy02MjYuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjQ4Ny4uLicsIDYsIHY9Jy01MzcuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjQ5NS4uLicsIDYsIHY9Jy01NzAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjRhMy4uLicsIDYsIHY9Jy01NjYuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjRiMS4uLicsIDYsIHY9Jy01ODEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjRiZi4uLicsIDYsIHY9Jy01NDkuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjRjZC4uLicsIDYsIHY9Jy01MzYuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjRkYi4uLicsIDYsIHY9Jy00NTMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjRlOS4uLicsIDYsIHY9Jy00MDAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjRmOC4uLicsIDYsIHY9Jy0zNDguLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjUwNi4uLicsIDYsIHY9Jy0zNTkuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjUxNC4uLicsIDYsIHY9Jy0zNTcuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjUyMi4uLicsIDYsIHY9Jy0zNDIuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjUzMC4uLicsIDYsIHY9Jy0zNjEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjUzZS4uLicsIDYsIHY9Jy00MDYuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjU0Yy4uLicsIDYsIHY9Jy00MjAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjU1YS4uLicsIDYsIHY9Jy00OTcuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjU2OC4uLicsIDYsIHY9Jy01ODQuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjU3Ni4uLicsIDYsIHY9Jy01NjYuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjU4NC4uLicsIDYsIHY9Jy0xNTEuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjU5Mi4uLicsIDYsIHY9Jy04NjIuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjVhMC4uLicsIDYsIHY9Jy00NjAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjVhZS4uLicsIDYsIHY9Jy02MzIuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjViYy4uLicsIDYsIHY9Jy02MTIuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjVjYS4uLicsIDYsIHY9Jy01ODEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjVkOS4uLicsIDYsIHY9Jy01ODAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjVlNy4uLicsIDYsIHY9Jy01NjIuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjVmNS4uLicsIDYsIHY9Jy01MzEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjYwMy4uLicsIDYsIHY9Jy01NTQuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjYxMS4uLicsIDYsIHY9Jy00OTEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjYxZi4uLicsIDYsIHY9Jy00NTguLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjYyZC4uLicsIDYsIHY9Jy00NjcuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjYzYi4uLicsIDYsIHY9Jy0zNjkuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjY0OS4uLicsIDYsIHY9Jy0zNDkuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjY1Ny4uLicsIDYsIHY9Jy0zNTguLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjY2NS4uLicsIDYsIHY9Jy0zNjguLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjY3My4uLicsIDYsIHY9Jy0zNjAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjY4MS4uLicsIDYsIHY9Jy0zNjguLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjY4Zi4uLicsIDYsIHY9Jy0zODUuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjY5ZC4uLicsIDYsIHY9Jy0zOTIuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjZhYi4uLicsIDYsIHY9Jy0zOTUuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjZiYS4uLicsIDYsIHY9Jy00NDYuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjZjOC4uLicsIDYsIHY9Jy00MjUuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjZkNi4uLicsIDYsIHY9Jy0zOTEuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjZlNC4uLicsIDYsIHY9Jy0zODkuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjZmMi4uLicsIDYsIHY9Jy0zNTMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjcwMC4uLicsIDYsIHY9Jy0zNzkuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjcwZS4uLicsIDYsIHY9Jy0zNjIuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjcxYy4uLicsIDYsIHY9Jy00NTQuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjcyYS4uLicsIDYsIHY9Jy01MTcuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjczOC4uLicsIDYsIHY9Jy01MDMuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjc0Ni4uLicsIDYsIHY9Jy01MDIuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjc1NC4uLicsIDYsIHY9Jy01MDIuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjc2Mi4uLicsIDYsIHY9Jy0zOTkuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjc3MC4uLicsIDYsIHY9Jy0zNTUuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjc3ZS4uLicsIDYsIHY9Jy0zMjAuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQksIDUpCitTQVguZW5kRWxlbWVudE5zKHBhciwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCSwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhwYXIsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG1lbWluZD0nNjc0Ni4uLicsIDYsIGg9JzNkYzEuLi4nLCA4KQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzAiIHYuLi4nLCAxLCB2PScyMjEyLi4uJywgMTU1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQksIDUpCitTQVguZW5kRWxlbWVudE5zKHBhciwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCSwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhwYXIsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG1lbWluZD0nNjczOC4uLicsIDYsIGg9JzNkYzEuLi4nLCA4KQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzAiIHYuLi4nLCAxLCB2PScwOjA6Li4uJywgMTQ3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQksIDUpCitTQVguZW5kRWxlbWVudE5zKHBhciwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCSwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhwYXIsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG1lbWluZD0nNjczNC4uLicsIDYsIGg9JzNkYzEuLi4nLCA4KQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzAiIHYuLi4nLCAxLCB2PSc3Mjg5Li4uJywgMTc2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQksIDUpCitTQVguZW5kRWxlbWVudE5zKHBhciwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCSwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhwYXIsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG1lbWluZD0nNjczMC4uLicsIDYsIGg9JzNkYzEuLi4nLCA4KQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzAiIHYuLi4nLCAxLCB2PScwOjA6Li4uJywgODcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCSwgNSkKK1NBWC5lbmRFbGVtZW50TnMocGFyLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhciwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbWVtaW5kPScyNjI3Li4uJywgOCwgaD0nM2RjMS4uLicsIDgpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMCIgdi4uLicsIDEsIHY9JzA6OjEuLi4nLCAyNTgpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyYTMwLi4uJywgNSwgdj0nMDo6NS4uLicsIDE4NSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzU1NDEuLi4nLCA1LCB2PSc2OjoxLi4uJywgMTg2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nN2Y3MS4uLicsIDUsIHY9JzY6OjEuLi4nLCAyMDEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhOWExLi4uJywgNSwgdj0nNjI5Oi4uLicsIDI1NykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2Q0YjIuLi4nLCA1LCB2PScyMjg5Li4uJywgMjU4KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZmVlMi4uLicsIDUsIHY9JzE5NTQuLi4nLCAyOTIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMjkxLi4uJywgNiwgdj0nMi40OC4uLicsIDI3OSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1MzQuLi4nLCA2LCB2PScwLjAwLi4uJywgMzA0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTdkNy4uLicsIDYsIHY9JzUwMTYuLi4nLCAzMTMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYTk2Li4uJywgNiwgdj0nMTI0My4uLicsIDY4KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWM3NC4uLicsIDYsIHY9JzgxOTcuLi4nLCAyODgpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZjE3Li4uJywgNiwgdj0nODI3MC4uLicsIDI4MCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxYmEuLi4nLCA2LCB2PSc2NTExLi4uJywgMjY4KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjQ2Yi4uLicsIDYsIHY9JzMyODAuLi4nLCAyNzgpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNzBlLi4uJywgNiwgdj0nODIyNi4uLicsIDU2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQksIDUpCitTQVguZW5kRWxlbWVudE5zKHBhciwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCSwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhwYXIsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG1lbWluZD0nMjYyNy4uLicsIDgsIGg9JzNkYzEuLi4nLCA4KQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzAiIHYuLi4nLCAxLCB2PScwOjowLi4uJywgMTQyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMmEzMC4uLicsIDUsIHY9JzA6OjAuLi4nLCAxNDQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1NTQxLi4uJywgNSwgdj0nMDo6MC4uLicsIDE0MikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzdmNzEuLi4nLCA1LCB2PScwOjowLi4uJywgMTYyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYTlhMS4uLicsIDUsIHY9JzI3MzouLi4nLCAyOTgpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkNGIyLi4uJywgNSwgdj0nMTY6Oi4uLicsIDI5OCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2ZlZTIuLi4nLCA1LCB2PScxNDo6Li4uJywgMzIzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTI5MS4uLicsIDYsIHY9JzA6OjAuLi4nLCAzMDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNTM0Li4uJywgNiwgdj0nMC4wMy4uLicsIDI5NCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3ZDcuLi4nLCA2LCB2PScwOjowLi4uJywgMjIzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWE5Ni4uLicsIDYsIHY9JzA6OjAuLi4nLCAyOCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFjNzQuLi4nLCA2LCB2PScxNDEzLi4uJywgMjY4KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWYxNy4uLicsIDYsIHY9JzMwMzouLi4nLCAyNzApCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMWJhLi4uJywgNiwgdj0nNTMwNC4uLicsIDI5NykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0NmIuLi4nLCA2LCB2PScxNTE0Li4uJywgMjgwKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjcwZS4uLicsIDYsIHY9JzE3NzYuLi4nLCA2MSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJLCA1KQorU0FYLmVuZEVsZW1lbnROcyhwYXIsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQksIDUpCitTQVguc3RhcnRFbGVtZW50TnMocGFyLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBtZW1pbmQ9JzI2MjcuLi4nLCA4LCBoPSczZGMxLi4uJywgOCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScwIiB2Li4uJywgMSwgdj0nMDo6NC4uLicsIDI2NSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzJhMzAuLi4nLCA1LCB2PScwOjo4Li4uJywgMjA4KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNTU0MS4uLicsIDUsIHY9Jzg6OjEuLi4nLCAyMDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3ZjcxLi4uJywgNSwgdj0nODo6MS4uLicsIDIyMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2E5YTEuLi4nLCA1LCB2PScyOjo0Li4uJywgMjI4KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDRiMi4uLicsIDUsIHY9JzA6OjAuLi4nLCAyOTIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmZWUyLi4uJywgNSwgdj0nNDc1Ny4uLicsIDM1MCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyOTEuLi4nLCA2LCB2PSczLjc0Li4uJywgMzA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTUzNC4uLicsIDYsIHY9JzA6OjAuLi4nLCAyMzQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxN2Q3Li4uJywgNiwgdj0nMTExMy4uLicsIDMzOSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhOTYuLi4nLCA2LCB2PSczOTcyLi4uJywgNjMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYzc0Li4uJywgNiwgdj0nMTI5NS4uLicsIDI4NSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmMTcuLi4nLCA2LCB2PSczODc2Li4uJywgMzIxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjFiYS4uLicsIDYsIHY9JzY0ODEuLi4nLCAzMjIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNDZiLi4uJywgNiwgdj0nNzE2Mi4uLicsIDMzMSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI3MGUuLi4nLCA2LCB2PSc1NzA5Li4uJywgNjEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCSwgNSkKK1NBWC5lbmRFbGVtZW50TnMocGFyLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhciwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbWVtaW5kPScyNjI3Li4uJywgOCwgaD0nM2RjMS4uLicsIDgpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMCIgdi4uLicsIDEsIHY9JzA6OjAuLi4nLCAxNDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyYTMwLi4uJywgNSwgdj0nMDo6MC4uLicsIDE0NCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzU1NDEuLi4nLCA1LCB2PScwOjowLi4uJywgMTQyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nN2Y3MS4uLicsIDUsIHY9JzA6OjAuLi4nLCAxNTcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhOWExLi4uJywgNSwgdj0nMTA3MC4uLicsIDI3OSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2Q0YjIuLi4nLCA1LCB2PScxMjMxLi4uJywgMjA4KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZmVlMi4uLicsIDUsIHY9JzA6OjAuLi4nLCAxNDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMjkxLi4uJywgNiwgdj0nMDo6MC4uLicsIDIzNykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1MzQuLi4nLCA2LCB2PScwLjAzLi4uJywgMjk2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTdkNy4uLicsIDYsIHY9JzA6OjAuLi4nLCAxNDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYTk2Li4uJywgNiwgdj0nMDo6MC4uLicsIDI4KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWM3NC4uLicsIDYsIHY9JzkyMDguLi4nLCAyNzEpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZjE3Li4uJywgNiwgdj0nMDo6MC4uLicsIDE0MikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxYmEuLi4nLCA2LCB2PScwOjowLi4uJywgMTQyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjQ2Yi4uLicsIDYsIHY9JzA6OjAuLi4nLCAxNDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNzBlLi4uJywgNiwgdj0nMDo6MC4uLicsIDI1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQksIDUpCitTQVguZW5kRWxlbWVudE5zKHBhciwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCSwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhwYXIsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG1lbWluZD0nMTMxNC4uLicsIDcsIGg9JzNkYzEuLi4nLCA4KQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzAiIHYuLi4nLCAxLCB2PScyNzAzLi4uJywgNikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJLCA1KQorU0FYLmVuZEVsZW1lbnROcyhwYXIsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQksIDUpCitTQVguc3RhcnRFbGVtZW50TnMocGFyLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBtZW1pbmQ9JzEzMTMuLi4nLCA3LCBoPSczZGMxLi4uJywgOCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScwIiB2Li4uJywgMSwgdj0nMzA2Ni4uLicsIDYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCSwgNSkKK1NBWC5lbmRFbGVtZW50TnMocGFyLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhciwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbWVtaW5kPScxMzEzLi4uJywgNywgaD0nM2RjMS4uLicsIDgpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMCIgdi4uLicsIDEsIHY9JzE1NzYuLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQksIDUpCitTQVguZW5kRWxlbWVudE5zKHBhciwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCSwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhwYXIsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG1lbWluZD0nMTMxMy4uLicsIDcsIGg9JzNkYzEuLi4nLCA4KQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzAiIHYuLi4nLCAxLCB2PScxMjcwLi4uJywgNikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJLCA1KQorU0FYLmVuZEVsZW1lbnROcyhwYXIsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQksIDUpCitTQVguc3RhcnRFbGVtZW50TnMocGFyLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBtZW1pbmQ9JzUyNTEuLi4nLCA4LCBoPSczZGMxLi4uJywgOCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScwIiB2Li4uJywgMSwgdj0nMDo6MS4uLicsIDMyNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzJhMzAuLi4nLCA1LCB2PScyMjI2Li4uJywgMzM2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNTU0MS4uLicsIDUsIHY9JzIyNDMuLi4nLCAzMzQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3ZjcxLi4uJywgNSwgdj0nMjI2MS4uLicsIDMzNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2E5YTEuLi4nLCA1LCB2PScyOTM3Li4uJywgMzM2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDRiMi4uLicsIDUsIHY9JzM5NzQuLi4nLCAzMzQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmZWUyLi4uJywgNSwgdj0nNDgwNC4uLicsIDM2OSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyOTEuLi4nLCA2LCB2PSc1MDI1Li4uJywgNTIzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTUzNC4uLicsIDYsIHY9JzUwMjUuLi4nLCA0OTApCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxN2Q3Li4uJywgNiwgdj0nNTk0NC4uLicsIDM2MSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhOTYuLi4nLCA2LCB2PScxMzY5Li4uJywgNzgpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYzc0Li4uJywgNiwgdj0nMTc0OC4uLicsIDM4MikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmMTcuLi4nLCA2LCB2PScyMTE4Li4uJywgMzgyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjFiYS4uLicsIDYsIHY9JzIzMjUuLi4nLCAzODIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNDZiLi4uJywgNiwgdj0nMjQzNC4uLicsIDM4MikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI3MGUuLi4nLCA2LCB2PScyNjY4Li4uJywgNzApCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCSwgNSkKK1NBWC5lbmRFbGVtZW50TnMocGFyLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhciwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbWVtaW5kPSc1MjUxLi4uJywgOCwgaD0nM2RjMS4uLicsIDgpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMCIgdi4uLicsIDEsIHY9JzA6OjAuLi4nLCAxNDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyYTMwLi4uJywgNSwgdj0nMDo6MC4uLicsIDE0NCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzU1NDEuLi4nLCA1LCB2PScwOjowLi4uJywgMTQyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nN2Y3MS4uLicsIDUsIHY9JzA6OjAuLi4nLCAxNjUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhOWExLi4uJywgNSwgdj0nMjc0NS4uLicsIDMyNykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2Q0YjIuLi4nLCA1LCB2PSc1MDE1Li4uJywgMzM0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZmVlMi4uLicsIDUsIHY9Jzk2NTkuLi4nLCA0MTUpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMjkxLi4uJywgNiwgdj0nMTMxNy4uLicsIDU3MykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1MzQuLi4nLCA2LCB2PScxMzE3Li4uJywgNTM5KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTdkNy4uLicsIDYsIHY9JzEzODIuLi4nLCAzODYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYTk2Li4uJywgNiwgdj0nMTQ0My4uLicsIDc4KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWM3NC4uLicsIDYsIHY9JzE2MjcuLi4nLCAzODIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZjE3Li4uJywgNiwgdj0nMTc0Ny4uLicsIDM4MikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxYmEuLi4nLCA2LCB2PScyMDEzLi4uJywgMzgyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjQ2Yi4uLicsIDYsIHY9JzI1MzQuLi4nLCAzODIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNzBlLi4uJywgNiwgdj0nMzAwOS4uLicsIDcwKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQksIDUpCitTQVguZW5kRWxlbWVudE5zKHBhciwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCSwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhwYXIsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG1lbWluZD0nNTI1MS4uLicsIDgsIGg9JzNkYzEuLi4nLCA4KQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzAiIHYuLi4nLCAxLCB2PScwOjo0Li4uJywgMzI4KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMmEzMC4uLicsIDUsIHY9JzczMDkuLi4nLCAzMzYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1NTQxLi4uJywgNSwgdj0nNzM0Ni4uLicsIDMzNCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzdmNzEuLi4nLCA1LCB2PSc3MzgyLi4uJywgMzM0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYTlhMS4uLicsIDUsIHY9Jzg0NDQuLi4nLCAzMzYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkNGIyLi4uJywgNSwgdj0nOTk4OC4uLicsIDM3NykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2ZlZTIuLi4nLCA1LCB2PScyMjU0Li4uJywgNDIxKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTI5MS4uLicsIDYsIHY9JzE1MjAuLi4nLCA1NzMpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNTM0Li4uJywgNiwgdj0nMTUyMC4uLicsIDU0MCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3ZDcuLi4nLCA2LCB2PSc0MDcxLi4uJywgMzg2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWE5Ni4uLicsIDYsIHY9JzcwOTUuLi4nLCA3OCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFjNzQuLi4nLCA2LCB2PSc3NzA5Li4uJywgMzgyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWYxNy4uLicsIDYsIHY9Jzg4NTYuLi4nLCA0MDApCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMWJhLi4uJywgNiwgdj0nMTA4NS4uLicsIDQzMCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0NmIuLi4nLCA2LCB2PScxMzA2Li4uJywgNDMwKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjcwZS4uLicsIDYsIHY9JzE1MzcuLi4nLCA3OSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJLCA1KQorU0FYLmVuZEVsZW1lbnROcyhwYXIsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQksIDUpCitTQVguc3RhcnRFbGVtZW50TnMocGFyLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBtZW1pbmQ9JzUyNTEuLi4nLCA4LCBoPSczZGMxLi4uJywgOCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScwIiB2Li4uJywgMSwgdj0nMDo6MC4uLicsIDE0MikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzJhMzAuLi4nLCA1LCB2PScwOjowLi4uJywgMTQ0KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNTU0MS4uLicsIDUsIHY9JzA6OjAuLi4nLCAxNDIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3ZjcxLi4uJywgNSwgdj0nMDo6MC4uLicsIDE2MCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2E5YTEuLi4nLCA1LCB2PSc0NTQ2Li4uJywgMzA2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDRiMi4uLicsIDUsIHY9JzEzNTMuLi4nLCAzMzQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmZWUyLi4uJywgNSwgdj0nMTcxNS4uLicsIDM3NCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyOTEuLi4nLCA2LCB2PScxNzE1Li4uJywgNTI2KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTUzNC4uLicsIDYsIHY9JzE3MTUuLi4nLCA0ODYpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxN2Q3Li4uJywgNiwgdj0nMTcxNS4uLicsIDMzOCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhOTYuLi4nLCA2LCB2PScxNzE1Li4uJywgNjgpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYzc0Li4uJywgNiwgdj0nMjYzNi4uLicsIDM2NykKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmMTcuLi4nLCA2LCB2PScxMjcwLi4uJywgMzgyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjFiYS4uLicsIDYsIHY9JzEyNzAuLi4nLCAzODIpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNDZiLi4uJywgNiwgdj0nMTI3MC4uLicsIDM4MikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI3MGUuLi4nLCA2LCB2PScxMjcwLi4uJywgNzApCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCSwgNSkKK1NBWC5lbmRFbGVtZW50TnMocGFyLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhciwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbWVtaW5kPSczNDYwLi4uJywgNSwgaD0nM2RjMS4uLicsIDgpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMCIgdi4uLicsIDEsIHY9JzYwOTQuLi4nLCA0MzApCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyYTMwLi4uJywgNSwgdj0nNjExNi4uLicsIDQzMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzU1NDEuLi4nLCA1LCB2PSc2MTE3Li4uJywgNDMwKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nN2Y3MS4uLicsIDUsIHY9JzYxMTcuLi4nLCA0MzApCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhOWExLi4uJywgNSwgdj0nNjEyMy4uLicsIDQzMikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2Q0YjIuLi4nLCA1LCB2PSc2MTM0Li4uJywgNDMwKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZmVlMi4uLicsIDUsIHY9JzYxNDIuLi4nLCA0NDkpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMjkxLi4uJywgNiwgdj0nMTQ0OC4uLicsIDU3MikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE1MzQuLi4nLCA2LCB2PScxNDQ4Li4uJywgNTQzKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTdkNy4uLicsIDYsIHY9JzYxNTQuLi4nLCA0MzQpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYTk2Li4uJywgNiwgdj0nNjIzMS4uLicsIDg4KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWM3NC4uLicsIDYsIHY9JzYyNjkuLi4nLCA0MzApCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxZjE3Li4uJywgNiwgdj0nNjMwNi4uLicsIDQzMCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzIxYmEuLi4nLCA2LCB2PSc2MzI3Li4uJywgNDMwKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjQ2Yi4uLicsIDYsIHY9JzYzMzguLi4nLCA0MzApCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNzBlLi4uJywgNiwgdj0nNjM2MS4uLicsIDc5KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQksIDUpCitTQVguZW5kRWxlbWVudE5zKHBhciwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCSwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhwYXIsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG1lbWluZD0nMzM4MC4uLicsIDUsIGg9JzNkYzEuLi4nLCA4KQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzAiIHYuLi4nLCAxLCB2PSc4ODE3Li4uJywgNDc4KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMmEzMC4uLicsIDUsIHY9Jzg4MTcuLi4nLCA0ODApCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc1NTQxLi4uJywgNSwgdj0nODgxNy4uLicsIDQ3OCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzdmNzEuLi4nLCA1LCB2PSc4ODE3Li4uJywgNDc4KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nYTlhMS4uLicsIDUsIHY9Jzg4MTguLi4nLCA0ODApCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdkNGIyLi4uJywgNSwgdj0nODgyMi4uLicsIDQ3OCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2ZlZTIuLi4nLCA1LCB2PSc4ODI3Li4uJywgNDk1KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTI5MS4uLicsIDYsIHY9JzExMTEuLi4nLCA1NzApCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxNTM0Li4uJywgNiwgdj0nMTExMi4uLicsIDU1MikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzE3ZDcuLi4nLCA2LCB2PSc4ODMxLi4uJywgNDgyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWE5Ni4uLicsIDYsIHY9Jzg4MzIuLi4nLCA5OCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFjNzQuLi4nLCA2LCB2PSc4ODM0Li4uJywgNDc4KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMWYxNy4uLicsIDYsIHY9Jzg4MzUuLi4nLCA0NzgpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyMWJhLi4uJywgNiwgdj0nODgzOC4uLicsIDQ3OCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI0NmIuLi4nLCA2LCB2PSc4ODQzLi4uJywgNDc4KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjcwZS4uLicsIDYsIHY9Jzg4NDguLi4nLCA4OCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJLCA1KQorU0FYLmVuZEVsZW1lbnROcyhwYXIsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQksIDUpCitTQVguc3RhcnRFbGVtZW50TnMocGFyLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBtZW1pbmQ9JzMzNDAuLi4nLCA1LCBoPSczZGMxLi4uJywgOCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScwIiB2Li4uJywgMSwgdj0nOTQzNy4uLicsIDQzMCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzJhMzAuLi4nLCA1LCB2PSc5NTEwLi4uJywgNDMyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nNTU0MS4uLicsIDUsIHY9Jzk1MTEuLi4nLCA0MzApCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSc3ZjcxLi4uJywgNSwgdj0nOTUxMS4uLicsIDQzMCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2E5YTEuLi4nLCA1LCB2PSc5NTIyLi4uJywgNDMyKQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZDRiMi4uLicsIDUsIHY9Jzk1MzcuLi4nLCA0MzApCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdmZWUyLi4uJywgNSwgdj0nOTY2My4uLicsIDQ0OSkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzEyOTEuLi4nLCA2LCB2PSc4OTgwLi4uJywgNTE4KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMTUzNC4uLicsIDYsIHY9Jzg5ODMuLi4nLCA1MDcpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxN2Q3Li4uJywgNiwgdj0nOTg0NC4uLicsIDQ2NikKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFhOTYuLi4nLCA2LCB2PScxMDE0Li4uJywgOTgpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxYzc0Li4uJywgNiwgdj0nMTAyMC4uLicsIDQ3OCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzFmMTcuLi4nLCA2LCB2PScxMDMyLi4uJywgNDc4KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMjFiYS4uLicsIDYsIHY9JzEwNTIuLi4nLCA0NzgpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyNDZiLi4uJywgNiwgdj0nMTA3NC4uLicsIDQ3OCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzI3MGUuLi4nLCA2LCB2PScxMDk3Li4uJywgODgpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCSwgNSkKK1NBWC5lbmRFbGVtZW50TnMocGFyLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhciwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbWVtaW5kPSczMzAwLi4uJywgNSwgaD0nM2RjMS4uLicsIDgpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nMCIgdi4uLicsIDEsIHY9JzM4NjEuLi4nLCA0NzgpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScyYTMwLi4uJywgNSwgdj0nMzg2MS4uLicsIDQ4MCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89JzU1NDEuLi4nLCA1LCB2PSczODYxLi4uJywgNDc4KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nN2Y3MS4uLicsIDUsIHY9JzM4NjEuLi4nLCA0NzgpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPSdhOWExLi4uJywgNSwgdj0nMzg2MS4uLicsIDQ4MCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJCSwgNikKK1NBWC5zdGFydEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG89J2Q0YjIuLi4nLCA1LCB2PSczODYyLi4uJywgNDc4KQorU0FYLmVuZEVsZW1lbnROcyh2YWwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCQkJLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbz0nZmVlMi4uLicsIDUsIHY9JzM4NjIuLi4nLCA0OTgpCitTQVguZW5kRWxlbWVudE5zKHZhbCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorCQkJCQksIDYpCitTQVguc3RhcnRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBvPScxMjkxLi4uJywgNiwgdj0nMjI5Ny4uLicsIDU3NCkKK1NBWC5lbmRFbGVtZW50TnModmFsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCQkJLCA1KQorU0FYLmVuZEVsZW1lbnROcyhwYXIsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwkJCSwgNCkKK1NBWC5lbmRFbGVtZW50TnMoZGV2aWNlLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJCSwgMykKK1NBWC5lbmRFbGVtZW50TnMoc2VsZWN0LCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisJLCAyKQorU0FYLmVuZEVsZW1lbnROcyhkYXRhLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguZW5kRWxlbWVudE5zKGVsZWN0cm94bWwsIE5VTEwsIE5VTEwpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvYXR0NSBiL2xpYnhtbDIvcmVzdWx0L2F0dDUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODc2OGUzNgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2F0dDUKQEAgLTAsMCArMSw0MCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IURPQ1RZUEUgZG9jIFsKKzwhQVRUTElTVCBub3JtSWQgYXR0ciBOTVRPS0VOUyAjSU1QTElFRD4KK10+Cis8ZG9jPgorICA8IS0tIG5vIG5vcm1hbGl6YXRpb24gLS0+CisgIDxub3JtIGF0dHI9IiAgICIvPgorICA8bm9ybSBhdHRyPSIgICBmb28gYmFyICAgIi8+CisgIDxub3JtIGF0dHI9IiAgZm9vYmFyIi8+CisgIDxub3JtIGF0dHI9IiBmb28gYmFyICIvPgorICA8bm9ybSBhdHRyPSJmb29iYXIgICIvPgorICA8bm9ybSBhdHRyPSIgJmFtcDsgIi8+CisgIDxub3JtIGF0dHI9IiAgIGZvbyZhbXA7YmFyICAgIi8+CisgIDxub3JtIGF0dHI9IiAgZm9vYmFyJmFtcDsiLz4KKyAgPG5vcm0gYXR0cj0iJmFtcDtmb28gYmFyICIvPgorICA8bm9ybSBhdHRyPSJmb29iYXIgICZhbXA7Ii8+CisgIDxub3JtIGF0dHI9IiAmbHQ7ICIvPgorICA8bm9ybSBhdHRyPSIgICBmb28mbHQ7YmFyICAgIi8+CisgIDxub3JtIGF0dHI9IiAgZm9vYmFyJmx0OyIvPgorICA8bm9ybSBhdHRyPSImbHQ7Zm9vIGJhciAiLz4KKyAgPG5vcm0gYXR0cj0iZm9vYmFyICAmbHQ7Ii8+CisgIDxub3JtIGF0dHI9IiAgJiMxMzsmIzEwOyYjOTsgIi8+CisgIDwhLS0gbm9ybWFsaXphdGlvbiAtLT4KKyAgPG5vcm1JZCBhdHRyPSIiLz4KKyAgPG5vcm1JZCBhdHRyPSJmb28gYmFyIi8+CisgIDxub3JtSWQgYXR0cj0iZm9vYmFyIi8+CisgIDxub3JtSWQgYXR0cj0iZm9vIGJhciIvPgorICA8bm9ybUlkIGF0dHI9ImZvb2JhciIvPgorICA8bm9ybUlkIGF0dHI9IiZhbXA7Ii8+CisgIDxub3JtSWQgYXR0cj0iZm9vJmFtcDtiYXIiLz4KKyAgPG5vcm1JZCBhdHRyPSJmb29iYXImYW1wOyIvPgorICA8bm9ybUlkIGF0dHI9IiZhbXA7Zm9vIGJhciIvPgorICA8bm9ybUlkIGF0dHI9ImZvb2JhciAmYW1wOyIvPgorICA8bm9ybUlkIGF0dHI9IiZsdDsiLz4KKyAgPG5vcm1JZCBhdHRyPSJmb28mbHQ7YmFyIi8+CisgIDxub3JtSWQgYXR0cj0iZm9vYmFyJmx0OyIvPgorICA8bm9ybUlkIGF0dHI9IiZsdDtmb28gYmFyIi8+CisgIDxub3JtSWQgYXR0cj0iZm9vYmFyICZsdDsiLz4KKyAgPG5vcm1JZCBhdHRyPSImIzEzOyYjMTA7JiM5OyIvPiA8IS0tIFBCTSBzZXJpYWxpemluZyBiYWNrIC0tPgorPC9kb2M+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9hdHQ1LnJkZSBiL2xpYnhtbDIvcmVzdWx0L2F0dDUucmRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM1MjIwYjAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9hdHQ1LnJkZQpAQCAtMCwwICsxLDEwOSBAQAorMCAxMCBkb2MgMCAwCiswIDEgZG9jIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSA4ICNjb21tZW50IDAgMSAgbm8gbm9ybWFsaXphdGlvbiAKKzEgMTQgI3RleHQgMCAxIAorICAKKzEgMSBub3JtIDEgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSAxIG5vcm0gMSAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDEgbm9ybSAxIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKzEgMSBub3JtIDEgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSAxIG5vcm0gMSAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDEgbm9ybSAxIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKzEgMSBub3JtIDEgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSAxIG5vcm0gMSAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDEgbm9ybSAxIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKzEgMSBub3JtIDEgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSAxIG5vcm0gMSAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDEgbm9ybSAxIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKzEgMSBub3JtIDEgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSAxIG5vcm0gMSAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDEgbm9ybSAxIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKzEgMSBub3JtIDEgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSA4ICNjb21tZW50IDAgMSAgbm9ybWFsaXphdGlvbiAKKzEgMTQgI3RleHQgMCAxIAorICAKKzEgMSBub3JtSWQgMSAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDEgbm9ybUlkIDEgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSAxIG5vcm1JZCAxIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKzEgMSBub3JtSWQgMSAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDEgbm9ybUlkIDEgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSAxIG5vcm1JZCAxIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKzEgMSBub3JtSWQgMSAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDEgbm9ybUlkIDEgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSAxIG5vcm1JZCAxIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKzEgMSBub3JtSWQgMSAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDEgbm9ybUlkIDEgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSAxIG5vcm1JZCAxIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKzEgMSBub3JtSWQgMSAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDEgbm9ybUlkIDEgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSAxIG5vcm1JZCAxIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKzEgMSBub3JtSWQgMSAwCisxIDE0ICN0ZXh0IDAgMSAgCisxIDggI2NvbW1lbnQgMCAxICBQQk0gc2VyaWFsaXppbmcgYmFjayAKKzEgMTQgI3RleHQgMCAxIAorCiswIDE1IGRvYyAwIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2F0dDUucmRyIGIvbGlieG1sMi9yZXN1bHQvYXR0NS5yZHIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzUyMjBiMAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2F0dDUucmRyCkBAIC0wLDAgKzEsMTA5IEBACiswIDEwIGRvYyAwIDAKKzAgMSBkb2MgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDggI2NvbW1lbnQgMCAxICBubyBub3JtYWxpemF0aW9uIAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSAxIG5vcm0gMSAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDEgbm9ybSAxIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKzEgMSBub3JtIDEgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSAxIG5vcm0gMSAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDEgbm9ybSAxIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKzEgMSBub3JtIDEgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSAxIG5vcm0gMSAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDEgbm9ybSAxIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKzEgMSBub3JtIDEgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSAxIG5vcm0gMSAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDEgbm9ybSAxIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKzEgMSBub3JtIDEgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSAxIG5vcm0gMSAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDEgbm9ybSAxIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKzEgMSBub3JtIDEgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSAxIG5vcm0gMSAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDggI2NvbW1lbnQgMCAxICBub3JtYWxpemF0aW9uIAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSAxIG5vcm1JZCAxIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKzEgMSBub3JtSWQgMSAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDEgbm9ybUlkIDEgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSAxIG5vcm1JZCAxIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKzEgMSBub3JtSWQgMSAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDEgbm9ybUlkIDEgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSAxIG5vcm1JZCAxIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKzEgMSBub3JtSWQgMSAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDEgbm9ybUlkIDEgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSAxIG5vcm1JZCAxIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKzEgMSBub3JtSWQgMSAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDEgbm9ybUlkIDEgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSAxIG5vcm1JZCAxIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKzEgMSBub3JtSWQgMSAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDEgbm9ybUlkIDEgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSAxIG5vcm1JZCAxIDAKKzEgMTQgI3RleHQgMCAxICAKKzEgOCAjY29tbWVudCAwIDEgIFBCTSBzZXJpYWxpemluZyBiYWNrIAorMSAxNCAjdGV4dCAwIDEgCisKKzAgMTUgZG9jIDAgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvYXR0NS5zYXggYi9saWJ4bWwyL3Jlc3VsdC9hdHQ1LnNheApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40OWQ4NWZiCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvYXR0NS5zYXgKQEAgLTAsMCArMSwxNDggQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLmludGVybmFsU3Vic2V0KGRvYywgLCApCitTQVguYXR0cmlidXRlRGVjbChub3JtSWQsIGF0dHIsIDgsIDMsIE5VTEwsIC4uLikKK1NBWC5leHRlcm5hbFN1YnNldChkb2MsICwgKQorU0FYLnN0YXJ0RWxlbWVudChkb2MpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmNvbW1lbnQoIG5vIG5vcm1hbGl6YXRpb24gKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQobm9ybSwgYXR0cj0nICAgJykKK1NBWC5lbmRFbGVtZW50KG5vcm0pCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChub3JtLCBhdHRyPScgICBmb28gYmFyICAgJykKK1NBWC5lbmRFbGVtZW50KG5vcm0pCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChub3JtLCBhdHRyPScgIGZvb2JhcicpCitTQVguZW5kRWxlbWVudChub3JtKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQobm9ybSwgYXR0cj0nIGZvbyBiYXIgJykKK1NBWC5lbmRFbGVtZW50KG5vcm0pCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChub3JtLCBhdHRyPSdmb29iYXIgICcpCitTQVguZW5kRWxlbWVudChub3JtKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQobm9ybSwgYXR0cj0nICYjMzg7ICcpCitTQVguZW5kRWxlbWVudChub3JtKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQobm9ybSwgYXR0cj0nICAgZm9vJiMzODtiYXIgICAnKQorU0FYLmVuZEVsZW1lbnQobm9ybSkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KG5vcm0sIGF0dHI9JyAgZm9vYmFyJiMzODsnKQorU0FYLmVuZEVsZW1lbnQobm9ybSkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KG5vcm0sIGF0dHI9JyYjMzg7Zm9vIGJhciAnKQorU0FYLmVuZEVsZW1lbnQobm9ybSkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KG5vcm0sIGF0dHI9J2Zvb2JhciAgJiMzODsnKQorU0FYLmVuZEVsZW1lbnQobm9ybSkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KG5vcm0sIGF0dHI9JyA8ICcpCitTQVguZW5kRWxlbWVudChub3JtKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQobm9ybSwgYXR0cj0nICAgZm9vPGJhciAgICcpCitTQVguZW5kRWxlbWVudChub3JtKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQobm9ybSwgYXR0cj0nICBmb29iYXI8JykKK1NBWC5lbmRFbGVtZW50KG5vcm0pCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChub3JtLCBhdHRyPSc8Zm9vIGJhciAnKQorU0FYLmVuZEVsZW1lbnQobm9ybSkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KG5vcm0sIGF0dHI9J2Zvb2JhciAgPCcpCitTQVguZW5kRWxlbWVudChub3JtKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQobm9ybSwgYXR0cj0nICANCisJICcpCitTQVguZW5kRWxlbWVudChub3JtKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5jb21tZW50KCBub3JtYWxpemF0aW9uICkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KG5vcm1JZCwgYXR0cj0nICAgJykKK1NBWC5lbmRFbGVtZW50KG5vcm1JZCkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KG5vcm1JZCwgYXR0cj0nICAgZm9vIGJhciAgICcpCitTQVguZW5kRWxlbWVudChub3JtSWQpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChub3JtSWQsIGF0dHI9JyAgZm9vYmFyJykKK1NBWC5lbmRFbGVtZW50KG5vcm1JZCkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KG5vcm1JZCwgYXR0cj0nIGZvbyBiYXIgJykKK1NBWC5lbmRFbGVtZW50KG5vcm1JZCkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KG5vcm1JZCwgYXR0cj0nZm9vYmFyICAnKQorU0FYLmVuZEVsZW1lbnQobm9ybUlkKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQobm9ybUlkLCBhdHRyPScgJiMzODsgJykKK1NBWC5lbmRFbGVtZW50KG5vcm1JZCkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KG5vcm1JZCwgYXR0cj0nICAgZm9vJiMzODtiYXIgICAnKQorU0FYLmVuZEVsZW1lbnQobm9ybUlkKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQobm9ybUlkLCBhdHRyPScgIGZvb2JhciYjMzg7JykKK1NBWC5lbmRFbGVtZW50KG5vcm1JZCkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KG5vcm1JZCwgYXR0cj0nJiMzODtmb28gYmFyICcpCitTQVguZW5kRWxlbWVudChub3JtSWQpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChub3JtSWQsIGF0dHI9J2Zvb2JhciAgJiMzODsnKQorU0FYLmVuZEVsZW1lbnQobm9ybUlkKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQobm9ybUlkLCBhdHRyPScgPCAnKQorU0FYLmVuZEVsZW1lbnQobm9ybUlkKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQobm9ybUlkLCBhdHRyPScgICBmb288YmFyICAgJykKK1NBWC5lbmRFbGVtZW50KG5vcm1JZCkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KG5vcm1JZCwgYXR0cj0nICBmb29iYXI8JykKK1NBWC5lbmRFbGVtZW50KG5vcm1JZCkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KG5vcm1JZCwgYXR0cj0nPGZvbyBiYXIgJykKK1NBWC5lbmRFbGVtZW50KG5vcm1JZCkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KG5vcm1JZCwgYXR0cj0nZm9vYmFyICA8JykKK1NBWC5lbmRFbGVtZW50KG5vcm1JZCkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KG5vcm1JZCwgYXR0cj0nIA0KKwkgJykKK1NBWC5lbmRFbGVtZW50KG5vcm1JZCkKK1NBWC5jaGFyYWN0ZXJzKCAsIDEpCitTQVguY29tbWVudCggUEJNIHNlcmlhbGl6aW5nIGJhY2sgKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguZW5kRWxlbWVudChkb2MpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvYXR0NS5zYXgyIGIvbGlieG1sMi9yZXN1bHQvYXR0NS5zYXgyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgzMDBhMWQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9hdHQ1LnNheDIKQEAgLTAsMCArMSwxNDkgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLmludGVybmFsU3Vic2V0KGRvYywgLCApCitTQVguYXR0cmlidXRlRGVjbChub3JtSWQsIGF0dHIsIDgsIDMsIE5VTEwsIC4uLikKK1NBWC5leHRlcm5hbFN1YnNldChkb2MsICwgKQorU0FYLnN0YXJ0RWxlbWVudE5zKGRvYywgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguY29tbWVudCggbm8gbm9ybWFsaXphdGlvbiApCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKG5vcm0sIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGF0dHI9JyAgICcuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyhub3JtLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhub3JtLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBhdHRyPScgICBmLi4uJywgMTMpCitTQVguZW5kRWxlbWVudE5zKG5vcm0sIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKG5vcm0sIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGF0dHI9JyAgZm8uLi4nLCA4KQorU0FYLmVuZEVsZW1lbnROcyhub3JtLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhub3JtLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBhdHRyPScgZm9vLi4uJywgOSkKK1NBWC5lbmRFbGVtZW50TnMobm9ybSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMobm9ybSwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgYXR0cj0nZm9vYi4uLicsIDgpCitTQVguZW5kRWxlbWVudE5zKG5vcm0sIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKG5vcm0sIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGF0dHI9JyAmIzMuLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyhub3JtLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhub3JtLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBhdHRyPScgICBmLi4uJywgMTcpCitTQVguZW5kRWxlbWVudE5zKG5vcm0sIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKG5vcm0sIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGF0dHI9JyAgZm8uLi4nLCAxMykKK1NBWC5lbmRFbGVtZW50TnMobm9ybSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMobm9ybSwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgYXR0cj0nJiMzOC4uLicsIDEzKQorU0FYLmVuZEVsZW1lbnROcyhub3JtLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhub3JtLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBhdHRyPSdmb29iLi4uJywgMTMpCitTQVguZW5kRWxlbWVudE5zKG5vcm0sIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKG5vcm0sIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGF0dHI9JyA8IC4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKG5vcm0sIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKG5vcm0sIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGF0dHI9JyAgIGYuLi4nLCAxMykKK1NBWC5lbmRFbGVtZW50TnMobm9ybSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMobm9ybSwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgYXR0cj0nICBmby4uLicsIDkpCitTQVguZW5kRWxlbWVudE5zKG5vcm0sIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKG5vcm0sIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGF0dHI9Jzxmb28uLi4nLCA5KQorU0FYLmVuZEVsZW1lbnROcyhub3JtLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhub3JtLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBhdHRyPSdmb29iLi4uJywgOSkKK1NBWC5lbmRFbGVtZW50TnMobm9ybSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMobm9ybSwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgYXR0cj0nICANCisuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyhub3JtLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5jb21tZW50KCBub3JtYWxpemF0aW9uICkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMobm9ybUlkLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBhdHRyPScnLz4KKy4uLicsIDApCitTQVguZW5kRWxlbWVudE5zKG5vcm1JZCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMobm9ybUlkLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBhdHRyPSdmb28gLi4uJywgNykKK1NBWC5lbmRFbGVtZW50TnMobm9ybUlkLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhub3JtSWQsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGF0dHI9J2Zvb2IuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyhub3JtSWQsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKG5vcm1JZCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgYXR0cj0nZm9vIC4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKG5vcm1JZCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMobm9ybUlkLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBhdHRyPSdmb29iLi4uJywgNikKK1NBWC5lbmRFbGVtZW50TnMobm9ybUlkLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhub3JtSWQsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGF0dHI9JyYjMzguLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyhub3JtSWQsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKG5vcm1JZCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgYXR0cj0nZm9vJi4uLicsIDExKQorU0FYLmVuZEVsZW1lbnROcyhub3JtSWQsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKG5vcm1JZCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgYXR0cj0nZm9vYi4uLicsIDExKQorU0FYLmVuZEVsZW1lbnROcyhub3JtSWQsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKG5vcm1JZCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgYXR0cj0nJiMzOC4uLicsIDEyKQorU0FYLmVuZEVsZW1lbnROcyhub3JtSWQsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKG5vcm1JZCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgYXR0cj0nZm9vYi4uLicsIDEyKQorU0FYLmVuZEVsZW1lbnROcyhub3JtSWQsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKG5vcm1JZCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgYXR0cj0nPC4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKG5vcm1JZCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMobm9ybUlkLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBhdHRyPSdmb288Li4uJywgNykKK1NBWC5lbmRFbGVtZW50TnMobm9ybUlkLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhub3JtSWQsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGF0dHI9J2Zvb2IuLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyhub3JtSWQsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKG5vcm1JZCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgYXR0cj0nPGZvby4uLicsIDgpCitTQVguZW5kRWxlbWVudE5zKG5vcm1JZCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMobm9ybUlkLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBhdHRyPSdmb29iLi4uJywgOCkKK1NBWC5lbmRFbGVtZW50TnMobm9ybUlkLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhub3JtSWQsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGF0dHI9Jw0KKwkuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyhub3JtSWQsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycyggLCAxKQorU0FYLmNvbW1lbnQoIFBCTSBzZXJpYWxpemluZyBiYWNrICkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmVuZEVsZW1lbnROcyhkb2MsIE5VTEwsIE5VTEwpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvYXR0NiBiL2xpYnhtbDIvcmVzdWx0L2F0dDYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzM4ZTZiNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2F0dDYKQEAgLTAsMCArMSw2IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPEludm9pY2UgeG1sbnM6Y2N0cz0idXJuOm9hc2lzOm5hbWVzOnRjOnVibDpDb3JlQ29tcG9uZW50UGFyYW1ldGVyczoxLjA6MC43MCIgeG1sbnM6Y2N0PSJ1cm46b2FzaXM6bmFtZXM6dGM6dWJsOkNvcmVDb21wb25lbnRUeXBlczoxLjA6MC43MCIgeG1sbnM6Y2F0PSJ1cm46b2FzaXM6bmFtZXM6dGM6dWJsOkNvbW1vbkFnZ3JlZ2F0ZVR5cGVzOjEuMDowLjcwIiB4bWxucz0idXJuOm9hc2lzOm5hbWVzOnRjOnVibDpJbnZvaWNlOjEuMDowLjcwIj4KKyAgIDxjYXQ6UmVmZXJlbmNlZE9yZGVyPgorICAgICAgPGNhdDpTZWxsZXJzT3JkZXJJRCBzY2hlbWVJRD0icHZhbHVlLSZndDtSZWZlcmVuY2VkT3JkZXIuU2VsbGVyc09yZGVySUQuc2NoZW1lSUQiIHNjaGVtZUFnZW5jeUlEPSJwdmFsdWUtJmd0O1JlZmVyZW5jZWRPcmRlci5TZWxsZXJzT3JkZXJJRC5zY2hlbWVBZ2VuY3lJRCIgc2NoZW1lVmVyc2lvbklEPSJwdmFsdWUtJmd0O1JlZmVyZW5jZWRPcmRlci5TZWxsZXJzT3JkZXJJRC5zY2hlbWVWZXJzaW9uSUQiIHNjaGVtZUFnZW5jeVNjaGVtZUlEPSJwdmFsdWUtJmd0O1JlZmVyZW5jZWRPcmRlci5TZWxsZXJzT3JkZXJJRC5zY2hlbWVBZ2VuY3lTY2hlbWVJRCIgc2NoZW1lQWdlbmN5U2NoZW1lQWdlbmN5SUQ9InB2YWx1ZS0mZ3Q7UmVmZXJlbmNlZE9yZGVyLlNlbGxlcnNPcmRlcklELnNjaGVtZUFnZW5jeVNjaGVtZUFnZW5jeUlEIiBzY2hlbWVEYXRhVVJJPSJwdmFsdWUtJmd0O1JlZmVyZW5jZWRPcmRlci5TZWxsZXJzT3JkZXJJRC5zY2hlbWVEYXRhVVJJIiBzY2hlbWVVUkk9InB2YWx1ZS0mZ3Q7UmVmZXJlbmNlZE9yZGVyLlNlbGxlcnNPcmRlcklELnNjaGVtZVVSSSIgVUlEPSJwdmFsdWUtJmd0O1JlZmVyZW5jZWRPcmRlci5TZWxsZXJzT3JkZXJJRC5VSUQiIFVJRFJlZj0icHZhbHVlLSZndDtSZWZlcmVuY2VkT3JkZXIuU2VsbGVyc09yZGVySUQuVUlEUmVmIiBVSURSZWZzPSJwdmFsdWUtJmd0O1JlZmVyZW5jZWRPcmRlci5TZWxsZXJzT3JkZXJJRC5VSURSZWZzMCIgbGFuZ3VhZ2U9InB2YWx1ZS0mZ3Q7UmVmZXJlbmNlZE9yZGVyLlNlbGxlcnNPcmRlcklELmxhbmd1YWdlIj5wdmFsdWUtJmd0O1JlZmVyZW5jZWRPcmRlci5TZWxsZXJzT3JkZXJJRDwvY2F0OlNlbGxlcnNPcmRlcklEPgorICAgPC9jYXQ6UmVmZXJlbmNlZE9yZGVyPgorPC9JbnZvaWNlPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvYXR0Ni5yZGUgYi9saWJ4bWwyL3Jlc3VsdC9hdHQ2LnJkZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZDM5MzUyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvYXR0Ni5yZGUKQEAgLTAsMCArMSwxNSBAQAorMCAxIEludm9pY2UgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSAxIGNhdDpSZWZlcmVuY2VkT3JkZXIgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMiAxIGNhdDpTZWxsZXJzT3JkZXJJRCAwIDAKKzMgMyAjdGV4dCAwIDEgcHZhbHVlLT5SZWZlcmVuY2VkT3JkZXIuU2VsbGVyc09yZGVySUQKKzIgMTUgY2F0OlNlbGxlcnNPcmRlcklEIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAKKzEgMTUgY2F0OlJlZmVyZW5jZWRPcmRlciAwIDAKKzEgMTQgI3RleHQgMCAxIAorCiswIDE1IEludm9pY2UgMCAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9hdHQ2LnJkciBiL2xpYnhtbDIvcmVzdWx0L2F0dDYucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZkMzkzNTIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9hdHQ2LnJkcgpAQCAtMCwwICsxLDE1IEBACiswIDEgSW52b2ljZSAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAgCisxIDEgY2F0OlJlZmVyZW5jZWRPcmRlciAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgICAgCisyIDEgY2F0OlNlbGxlcnNPcmRlcklEIDAgMAorMyAzICN0ZXh0IDAgMSBwdmFsdWUtPlJlZmVyZW5jZWRPcmRlci5TZWxsZXJzT3JkZXJJRAorMiAxNSBjYXQ6U2VsbGVyc09yZGVySUQgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSAxNSBjYXQ6UmVmZXJlbmNlZE9yZGVyIDAgMAorMSAxNCAjdGV4dCAwIDEgCisKKzAgMTUgSW52b2ljZSAwIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2F0dDYuc2F4IGIvbGlieG1sMi9yZXN1bHQvYXR0Ni5zYXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGFiOTUyMQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2F0dDYuc2F4CkBAIC0wLDAgKzEsMjAgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLnN0YXJ0RWxlbWVudChJbnZvaWNlLCB4bWxuczpjY3RzPSd1cm46b2FzaXM6bmFtZXM6dGM6dWJsOkNvcmVDb21wb25lbnRQYXJhbWV0ZXJzOjEuMDowLjcwJywgeG1sbnM6Y2N0PSd1cm46b2FzaXM6bmFtZXM6dGM6dWJsOkNvcmVDb21wb25lbnRUeXBlczoxLjA6MC43MCcsIHhtbG5zOmNhdD0ndXJuOm9hc2lzOm5hbWVzOnRjOnVibDpDb21tb25BZ2dyZWdhdGVUeXBlczoxLjA6MC43MCcsIHhtbG5zPSd1cm46b2FzaXM6bmFtZXM6dGM6dWJsOkludm9pY2U6MS4wOjAuNzAnKQorU0FYLmNoYXJhY3RlcnMoCisgICAsIDQpCitTQVguc3RhcnRFbGVtZW50KGNhdDpSZWZlcmVuY2VkT3JkZXIpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5zdGFydEVsZW1lbnQoY2F0OlNlbGxlcnNPcmRlcklELCBzY2hlbWVJRD0ncHZhbHVlLT5SZWZlcmVuY2VkT3JkZXIuU2VsbGVyc09yZGVySUQuc2NoZW1lSUQnLCBzY2hlbWVBZ2VuY3lJRD0ncHZhbHVlLT5SZWZlcmVuY2VkT3JkZXIuU2VsbGVyc09yZGVySUQuc2NoZW1lQWdlbmN5SUQnLCBzY2hlbWVWZXJzaW9uSUQ9J3B2YWx1ZS0+UmVmZXJlbmNlZE9yZGVyLlNlbGxlcnNPcmRlcklELnNjaGVtZVZlcnNpb25JRCcsIHNjaGVtZUFnZW5jeVNjaGVtZUlEPSdwdmFsdWUtPlJlZmVyZW5jZWRPcmRlci5TZWxsZXJzT3JkZXJJRC5zY2hlbWVBZ2VuY3lTY2hlbWVJRCcsIHNjaGVtZUFnZW5jeVNjaGVtZUFnZW5jeUlEPSdwdmFsdWUtPlJlZmVyZW5jZWRPcmRlci5TZWxsZXJzT3JkZXJJRC5zY2hlbWVBZ2VuY3lTY2hlbWVBZ2VuY3lJRCcsIHNjaGVtZURhdGFVUkk9J3B2YWx1ZS0+UmVmZXJlbmNlZE9yZGVyLlNlbGxlcnNPcmRlcklELnNjaGVtZURhdGFVUkknLCBzY2hlbWVVUkk9J3B2YWx1ZS0+UmVmZXJlbmNlZE9yZGVyLlNlbGxlcnNPcmRlcklELnNjaGVtZVVSSScsIFVJRD0ncHZhbHVlLT5SZWZlcmVuY2VkT3JkZXIuU2VsbGVyc09yZGVySUQuVUlEJywgVUlEUmVmPSdwdmFsdWUtPlJlZmVyZW5jZWRPcmRlci5TZWxsZXJzT3JkZXJJRC5VSURSZWYnLCBVSURSZWZzPSdwdmFsdWUtPlJlZmVyZW5jZWRPcmRlci5TZWxsZXJzT3JkZXJJRC5VSURSZWZzMCcsIGxhbmd1YWdlPSdwdmFsdWUtPlJlZmVyZW5jZWRPcmRlci5TZWxsZXJzT3JkZXJJRC5sYW5ndWFnZScpCitTQVguY2hhcmFjdGVycyhwdmFsdWUtLCA3KQorU0FYLmNoYXJhY3RlcnMoPiwgMSkKK1NBWC5jaGFyYWN0ZXJzKFJlZmVyZW5jZWRPcmRlci5TZWxsZXJzT3JkZXJJRCwgMzApCitTQVguZW5kRWxlbWVudChjYXQ6U2VsbGVyc09yZGVySUQpCitTQVguY2hhcmFjdGVycygKKyAgICwgNCkKK1NBWC5lbmRFbGVtZW50KGNhdDpSZWZlcmVuY2VkT3JkZXIpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5lbmRFbGVtZW50KEludm9pY2UpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvYXR0Ni5zYXgyIGIvbGlieG1sMi9yZXN1bHQvYXR0Ni5zYXgyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU0ZGQ2ZDMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9hdHQ2LnNheDIKQEAgLTAsMCArMSwyMCBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguc3RhcnRFbGVtZW50TnMoSW52b2ljZSwgTlVMTCwgJ3VybjpvYXNpczpuYW1lczp0Yzp1Ymw6SW52b2ljZToxLjA6MC43MCcsIDQsIHhtbG5zOmNjdHM9J3VybjpvYXNpczpuYW1lczp0Yzp1Ymw6Q29yZUNvbXBvbmVudFBhcmFtZXRlcnM6MS4wOjAuNzAnLCB4bWxuczpjY3Q9J3VybjpvYXNpczpuYW1lczp0Yzp1Ymw6Q29yZUNvbXBvbmVudFR5cGVzOjEuMDowLjcwJywgeG1sbnM6Y2F0PSd1cm46b2FzaXM6bmFtZXM6dGM6dWJsOkNvbW1vbkFnZ3JlZ2F0ZVR5cGVzOjEuMDowLjcwJywgeG1sbnM9J3VybjpvYXNpczpuYW1lczp0Yzp1Ymw6SW52b2ljZToxLjA6MC43MCcsIDAsIDApCitTQVguY2hhcmFjdGVycygKKyAgICwgNCkKK1NBWC5zdGFydEVsZW1lbnROcyhSZWZlcmVuY2VkT3JkZXIsIGNhdCwgJ3VybjpvYXNpczpuYW1lczp0Yzp1Ymw6Q29tbW9uQWdncmVnYXRlVHlwZXM6MS4wOjAuNzAnLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguc3RhcnRFbGVtZW50TnMoU2VsbGVyc09yZGVySUQsIGNhdCwgJ3VybjpvYXNpczpuYW1lczp0Yzp1Ymw6Q29tbW9uQWdncmVnYXRlVHlwZXM6MS4wOjAuNzAnLCAwLCAxMSwgMCwgc2NoZW1lSUQ9J3B2YWwuLi4nLCA0Nywgc2NoZW1lQWdlbmN5SUQ9J3B2YWwuLi4nLCA1Mywgc2NoZW1lVmVyc2lvbklEPSdwdmFsLi4uJywgNTQsIHNjaGVtZUFnZW5jeVNjaGVtZUlEPSdwdmFsLi4uJywgNTksIHNjaGVtZUFnZW5jeVNjaGVtZUFnZW5jeUlEPSdwdmFsLi4uJywgNjUsIHNjaGVtZURhdGFVUkk9J3B2YWwuLi4nLCA1Miwgc2NoZW1lVVJJPSdwdmFsLi4uJywgNDgsIFVJRD0ncHZhbC4uLicsIDQyLCBVSURSZWY9J3B2YWwuLi4nLCA0NSwgVUlEUmVmcz0ncHZhbC4uLicsIDQ3LCBsYW5ndWFnZT0ncHZhbC4uLicsIDQ3KQorU0FYLmNoYXJhY3RlcnMocHZhbHVlLSwgNykKK1NBWC5jaGFyYWN0ZXJzKD4sIDEpCitTQVguY2hhcmFjdGVycyhSZWZlcmVuY2VkT3JkZXIuU2VsbGVyc09yZGVySUQsIDMwKQorU0FYLmVuZEVsZW1lbnROcyhTZWxsZXJzT3JkZXJJRCwgY2F0LCAndXJuOm9hc2lzOm5hbWVzOnRjOnVibDpDb21tb25BZ2dyZWdhdGVUeXBlczoxLjA6MC43MCcpCitTQVguY2hhcmFjdGVycygKKyAgICwgNCkKK1NBWC5lbmRFbGVtZW50TnMoUmVmZXJlbmNlZE9yZGVyLCBjYXQsICd1cm46b2FzaXM6bmFtZXM6dGM6dWJsOkNvbW1vbkFnZ3JlZ2F0ZVR5cGVzOjEuMDowLjcwJykKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmVuZEVsZW1lbnROcyhJbnZvaWNlLCBOVUxMLCAndXJuOm9hc2lzOm5hbWVzOnRjOnVibDpJbnZvaWNlOjEuMDowLjcwJykKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9hdHQ3IGIvbGlieG1sMi9yZXN1bHQvYXR0NwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NmQwODM1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvYXR0NwpAQCAtMCwwICsxLDExIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhRE9DVFlQRSB4IFsKKzwhRUxFTUVOVCB4ICh0ZXN0KSo+Cis8IUVMRU1FTlQgdGVzdCBFTVBUWT4KKzwhQVRUTElTVCB0ZXN0IGF0dCBDREFUQSAiYXR0dmFsdWUiPgorPCFFTlRJVFkgdGVzdC5lbnQgIjx0ZXN0Lz4iPgorXT4KKzx4PgorICAgIDx0ZXN0Lz4KKyAgICAmdGVzdC5lbnQ7Cis8L3g+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9hdHQ3LnJkZSBiL2xpYnhtbDIvcmVzdWx0L2F0dDcucmRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFmY2VmNWYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9hdHQ3LnJkZQpAQCAtMCwwICsxLDEyIEBACiswIDEwIHggMCAwCiswIDEgeCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAgIAorMSAxIHRlc3QgMSAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzEgMSB0ZXN0IDAgMAorMSAxNSB0ZXN0IDAgMAorMSAxNCAjdGV4dCAwIDEgCisKKzAgMTUgeCAwIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2F0dDcucmRyIGIvbGlieG1sMi9yZXN1bHQvYXR0Ny5yZHIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDdiMTliNAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2F0dDcucmRyCkBAIC0wLDAgKzEsMTEgQEAKKzAgMTAgeCAwIDAKKzAgMSB4IDAgMAorMSAxNCAjdGV4dCAwIDEgCisgICAgCisxIDEgdGVzdCAxIDAKKzEgMTQgI3RleHQgMCAxIAorICAgIAorMSA1IHRlc3QuZW50IDAgMAorMSAxNCAjdGV4dCAwIDEgCisKKzAgMTUgeCAwIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2F0dDcuc2F4IGIvbGlieG1sMi9yZXN1bHQvYXR0Ny5zYXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzA5MzI3OQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2F0dDcuc2F4CkBAIC0wLDAgKzEsMjQgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLmludGVybmFsU3Vic2V0KHgsICwgKQorU0FYLmVsZW1lbnREZWNsKHgsIDQsIC4uLikKK1NBWC5lbGVtZW50RGVjbCh0ZXN0LCAxLCAuLi4pCitTQVguYXR0cmlidXRlRGVjbCh0ZXN0LCBhdHQsIDEsIDEsIGF0dHZhbHVlLCAuLi4pCitTQVguZW50aXR5RGVjbCh0ZXN0LmVudCwgMSwgKG51bGwpLCAobnVsbCksIDx0ZXN0Lz4pCitTQVguZ2V0RW50aXR5KHRlc3QuZW50KQorU0FYLmV4dGVybmFsU3Vic2V0KHgsICwgKQorU0FYLnN0YXJ0RWxlbWVudCh4KQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudCh0ZXN0KQorU0FYLmVuZEVsZW1lbnQodGVzdCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5nZXRFbnRpdHkodGVzdC5lbnQpCitTQVguc3RhcnRFbGVtZW50KHRlc3QpCitTQVguZW5kRWxlbWVudCh0ZXN0KQorU0FYLnJlZmVyZW5jZSh0ZXN0LmVudCkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmVuZEVsZW1lbnQoeCkKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9hdHQ3LnNheDIgYi9saWJ4bWwyL3Jlc3VsdC9hdHQ3LnNheDIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGM3ZTJhZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2F0dDcuc2F4MgpAQCAtMCwwICsxLDI0IEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5pbnRlcm5hbFN1YnNldCh4LCAsICkKK1NBWC5lbGVtZW50RGVjbCh4LCA0LCAuLi4pCitTQVguZWxlbWVudERlY2wodGVzdCwgMSwgLi4uKQorU0FYLmF0dHJpYnV0ZURlY2wodGVzdCwgYXR0LCAxLCAxLCBhdHR2YWx1ZSwgLi4uKQorU0FYLmVudGl0eURlY2wodGVzdC5lbnQsIDEsIChudWxsKSwgKG51bGwpLCA8dGVzdC8+KQorU0FYLmdldEVudGl0eSh0ZXN0LmVudCkKK1NBWC5leHRlcm5hbFN1YnNldCh4LCAsICkKK1NBWC5zdGFydEVsZW1lbnROcyh4LCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHRlc3QsIE5VTEwsIE5VTEwsIDAsIDEsIDEsIGF0dD0nYXR0di4uLicsIDgpCitTQVguZW5kRWxlbWVudE5zKHRlc3QsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguZ2V0RW50aXR5KHRlc3QuZW50KQorU0FYLnN0YXJ0RWxlbWVudE5zKHRlc3QsIE5VTEwsIE5VTEwsIDAsIDEsIDEsIGF0dD0nYXR0di4uLicsIDgpCitTQVguZW5kRWxlbWVudE5zKHRlc3QsIE5VTEwsIE5VTEwpCitTQVgucmVmZXJlbmNlKHRlc3QuZW50KQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguZW5kRWxlbWVudE5zKHgsIE5VTEwsIE5VTEwpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvYXR0OCBiL2xpYnhtbDIvcmVzdWx0L2F0dDgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWQ4MDdhMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2F0dDgKQEAgLTAsMCArMSwyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJJU08tODg1OS0xIj8+Cis8aW5vOnJlc3BvbnNlIHhtbG5zOmlubz0iaHR0cDovL25hbWVzcGFjZXMuc29mdHdhcmVhZy5jb20vdGFtaW5vL3Jlc3BvbnNlMiIgeG1sbnM6eHFsPSJodHRwOi8vbWV0YWxhYi51bmMuZWR1L3hxbC8iIGlubzpzZXNzaW9uaWQ9IjU1NiIgaW5vOnNlc3Npb25rZXk9IjE1OTA0Njk2NzciPjx4cWw6cXVlcnk+L2JzazpEb2NQYXJ0W0Bkb2NJZD0nMjAwNDAzMDgxNTI2MDEzNDUyMzYnIGFuZCBAZG9jUGFydE5vPTFdPC94cWw6cXVlcnk+PGlubzptZXNzYWdlIGlubzpyZXR1cm52YWx1ZT0iMCI+PGlubzptZXNzYWdlbGluZT5YUUwgUmVxdWVzdCBwcm9jZXNzaW5nPC9pbm86bWVzc2FnZWxpbmU+PC9pbm86bWVzc2FnZT48eHFsOnJlc3VsdD48YnNrOkRvY1BhcnQgeG1sbnM6YnNrPSJodHRwOi8vd3d3LmhlaXRlYy5uZXQvc2FyYTQvdGFtaW5vL2Jhc2tldCIgZG9jSWQ9IjIwMDQwMzA4MTUyNjAxMzQ1MjM2IiBkb2NQYXJ0Tm89IjEiIGlubzppZD0iMTUyOTAiPjxic2s6RmlsZSBuYW1lPSI0ODk4V1BaRU8yTTY1IiBzaXplPSI3NTE5NSI+IDwvYnNrOkZpbGU+PC9ic2s6RG9jUGFydD48L3hxbDpyZXN1bHQ+PGlubzptZXNzYWdlIGlubzpyZXR1cm52YWx1ZT0iMCI+PGlubzptZXNzYWdlbGluZT5YUUwgUmVxdWVzdCBwcm9jZXNzZWQ8L2lubzptZXNzYWdlbGluZT48L2lubzptZXNzYWdlPjwvaW5vOnJlc3BvbnNlPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvYXR0OC5yZGUgYi9saWJ4bWwyL3Jlc3VsdC9hdHQ4LnJkZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MmZkZTMyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvYXR0OC5yZGUKQEAgLTAsMCArMSwyMiBAQAorMCAxIGlubzpyZXNwb25zZSAwIDAKKzEgMSB4cWw6cXVlcnkgMCAwCisyIDMgI3RleHQgMCAxIC9ic2s6RG9jUGFydFtAZG9jSWQ9JzIwMDQwMzA4MTUyNjAxMzQ1MjM2JyBhbmQgQGRvY1BhcnRObz0xXQorMSAxNSB4cWw6cXVlcnkgMCAwCisxIDEgaW5vOm1lc3NhZ2UgMCAwCisyIDEgaW5vOm1lc3NhZ2VsaW5lIDAgMAorMyAzICN0ZXh0IDAgMSBYUUwgUmVxdWVzdCBwcm9jZXNzaW5nCisyIDE1IGlubzptZXNzYWdlbGluZSAwIDAKKzEgMTUgaW5vOm1lc3NhZ2UgMCAwCisxIDEgeHFsOnJlc3VsdCAwIDAKKzIgMSBic2s6RG9jUGFydCAwIDAKKzMgMSBic2s6RmlsZSAwIDAKKzQgMTQgI3RleHQgMCAxICAKKzMgMTUgYnNrOkZpbGUgMCAwCisyIDE1IGJzazpEb2NQYXJ0IDAgMAorMSAxNSB4cWw6cmVzdWx0IDAgMAorMSAxIGlubzptZXNzYWdlIDAgMAorMiAxIGlubzptZXNzYWdlbGluZSAwIDAKKzMgMyAjdGV4dCAwIDEgWFFMIFJlcXVlc3QgcHJvY2Vzc2VkCisyIDE1IGlubzptZXNzYWdlbGluZSAwIDAKKzEgMTUgaW5vOm1lc3NhZ2UgMCAwCiswIDE1IGlubzpyZXNwb25zZSAwIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2F0dDgucmRyIGIvbGlieG1sMi9yZXN1bHQvYXR0OC5yZHIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTJmZGUzMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2F0dDgucmRyCkBAIC0wLDAgKzEsMjIgQEAKKzAgMSBpbm86cmVzcG9uc2UgMCAwCisxIDEgeHFsOnF1ZXJ5IDAgMAorMiAzICN0ZXh0IDAgMSAvYnNrOkRvY1BhcnRbQGRvY0lkPScyMDA0MDMwODE1MjYwMTM0NTIzNicgYW5kIEBkb2NQYXJ0Tm89MV0KKzEgMTUgeHFsOnF1ZXJ5IDAgMAorMSAxIGlubzptZXNzYWdlIDAgMAorMiAxIGlubzptZXNzYWdlbGluZSAwIDAKKzMgMyAjdGV4dCAwIDEgWFFMIFJlcXVlc3QgcHJvY2Vzc2luZworMiAxNSBpbm86bWVzc2FnZWxpbmUgMCAwCisxIDE1IGlubzptZXNzYWdlIDAgMAorMSAxIHhxbDpyZXN1bHQgMCAwCisyIDEgYnNrOkRvY1BhcnQgMCAwCiszIDEgYnNrOkZpbGUgMCAwCis0IDE0ICN0ZXh0IDAgMSAgCiszIDE1IGJzazpGaWxlIDAgMAorMiAxNSBic2s6RG9jUGFydCAwIDAKKzEgMTUgeHFsOnJlc3VsdCAwIDAKKzEgMSBpbm86bWVzc2FnZSAwIDAKKzIgMSBpbm86bWVzc2FnZWxpbmUgMCAwCiszIDMgI3RleHQgMCAxIFhRTCBSZXF1ZXN0IHByb2Nlc3NlZAorMiAxNSBpbm86bWVzc2FnZWxpbmUgMCAwCisxIDE1IGlubzptZXNzYWdlIDAgMAorMCAxNSBpbm86cmVzcG9uc2UgMCAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9hdHQ4LnNheCBiL2xpYnhtbDIvcmVzdWx0L2F0dDguc2F4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEyZTM3OGEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9hdHQ4LnNheApAQCAtMCwwICsxLDI5IEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5zdGFydEVsZW1lbnQoaW5vOnJlc3BvbnNlLCB4bWxuczppbm89J2h0dHA6Ly9uYW1lc3BhY2VzLnNvZnR3YXJlYWcuY29tL3RhbWluby9yZXNwb25zZTInLCB4bWxuczp4cWw9J2h0dHA6Ly9tZXRhbGFiLnVuYy5lZHUveHFsLycsIGlubzpzZXNzaW9uaWQ9JzU1NicsIGlubzpzZXNzaW9ua2V5PScxNTkwNDY5Njc3JykKK1NBWC5zdGFydEVsZW1lbnQoeHFsOnF1ZXJ5KQorU0FYLmNoYXJhY3RlcnMoL2JzazpEb2NQYXJ0W0Bkb2NJZD0sIDIwKQorU0FYLmNoYXJhY3RlcnMoJywgMSkKK1NBWC5jaGFyYWN0ZXJzKDIwMDQwMzA4MTUyNjAxMzQ1MjM2LCAyMCkKK1NBWC5jaGFyYWN0ZXJzKCcsIDEpCitTQVguY2hhcmFjdGVycyggYW5kIEBkb2NQYXJ0Tm89MV0sIDE4KQorU0FYLmVuZEVsZW1lbnQoeHFsOnF1ZXJ5KQorU0FYLnN0YXJ0RWxlbWVudChpbm86bWVzc2FnZSwgaW5vOnJldHVybnZhbHVlPScwJykKK1NBWC5zdGFydEVsZW1lbnQoaW5vOm1lc3NhZ2VsaW5lKQorU0FYLmNoYXJhY3RlcnMoWFFMIFJlcXVlc3QgcHJvY2Vzc2luZywgMjIpCitTQVguZW5kRWxlbWVudChpbm86bWVzc2FnZWxpbmUpCitTQVguZW5kRWxlbWVudChpbm86bWVzc2FnZSkKK1NBWC5zdGFydEVsZW1lbnQoeHFsOnJlc3VsdCkKK1NBWC5zdGFydEVsZW1lbnQoYnNrOkRvY1BhcnQsIGRvY0lkPScyMDA0MDMwODE1MjYwMTM0NTIzNicsIGRvY1BhcnRObz0nMScsIGlubzppZD0nMTUyOTAnLCB4bWxuczpic2s9J2h0dHA6Ly93d3cuaGVpdGVjLm5ldC9zYXJhNC90YW1pbm8vYmFza2V0JykKK1NBWC5zdGFydEVsZW1lbnQoYnNrOkZpbGUsIG5hbWU9JzQ4OThXUFpFTzJNNjUnLCBzaXplPSc3NTE5NScpCitTQVguY2hhcmFjdGVycyggLCAxKQorU0FYLmVuZEVsZW1lbnQoYnNrOkZpbGUpCitTQVguZW5kRWxlbWVudChic2s6RG9jUGFydCkKK1NBWC5lbmRFbGVtZW50KHhxbDpyZXN1bHQpCitTQVguc3RhcnRFbGVtZW50KGlubzptZXNzYWdlLCBpbm86cmV0dXJudmFsdWU9JzAnKQorU0FYLnN0YXJ0RWxlbWVudChpbm86bWVzc2FnZWxpbmUpCitTQVguY2hhcmFjdGVycyhYUUwgUmVxdWVzdCBwcm9jZXNzZWQsIDIxKQorU0FYLmVuZEVsZW1lbnQoaW5vOm1lc3NhZ2VsaW5lKQorU0FYLmVuZEVsZW1lbnQoaW5vOm1lc3NhZ2UpCitTQVguZW5kRWxlbWVudChpbm86cmVzcG9uc2UpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvYXR0OC5zYXgyIGIvbGlieG1sMi9yZXN1bHQvYXR0OC5zYXgyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFmMjM0NGEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9hdHQ4LnNheDIKQEAgLTAsMCArMSwyOSBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguc3RhcnRFbGVtZW50TnMocmVzcG9uc2UsIGlubywgJ2h0dHA6Ly9uYW1lc3BhY2VzLnNvZnR3YXJlYWcuY29tL3RhbWluby9yZXNwb25zZTInLCAyLCB4bWxuczppbm89J2h0dHA6Ly9uYW1lc3BhY2VzLnNvZnR3YXJlYWcuY29tL3RhbWluby9yZXNwb25zZTInLCB4bWxuczp4cWw9J2h0dHA6Ly9tZXRhbGFiLnVuYy5lZHUveHFsLycsIDIsIDAsIGlubzpzZXNzaW9uaWQ9JzU1NiIuLi4nLCAzLCBpbm86c2Vzc2lvbmtleT0nMTU5MC4uLicsIDEwKQorU0FYLnN0YXJ0RWxlbWVudE5zKHF1ZXJ5LCB4cWwsICdodHRwOi8vbWV0YWxhYi51bmMuZWR1L3hxbC8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoL2JzazpEb2NQYXJ0W0Bkb2NJZD0sIDIwKQorU0FYLmNoYXJhY3RlcnMoJywgMSkKK1NBWC5jaGFyYWN0ZXJzKDIwMDQwMzA4MTUyNjAxMzQ1MjM2LCAyMCkKK1NBWC5jaGFyYWN0ZXJzKCcsIDEpCitTQVguY2hhcmFjdGVycyggYW5kIEBkb2NQYXJ0Tm89MV0sIDE4KQorU0FYLmVuZEVsZW1lbnROcyhxdWVyeSwgeHFsLCAnaHR0cDovL21ldGFsYWIudW5jLmVkdS94cWwvJykKK1NBWC5zdGFydEVsZW1lbnROcyhtZXNzYWdlLCBpbm8sICdodHRwOi8vbmFtZXNwYWNlcy5zb2Z0d2FyZWFnLmNvbS90YW1pbm8vcmVzcG9uc2UyJywgMCwgMSwgMCwgaW5vOnJldHVybnZhbHVlPScwIj48Li4uJywgMSkKK1NBWC5zdGFydEVsZW1lbnROcyhtZXNzYWdlbGluZSwgaW5vLCAnaHR0cDovL25hbWVzcGFjZXMuc29mdHdhcmVhZy5jb20vdGFtaW5vL3Jlc3BvbnNlMicsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhYUUwgUmVxdWVzdCBwcm9jZXNzaW5nLCAyMikKK1NBWC5lbmRFbGVtZW50TnMobWVzc2FnZWxpbmUsIGlubywgJ2h0dHA6Ly9uYW1lc3BhY2VzLnNvZnR3YXJlYWcuY29tL3RhbWluby9yZXNwb25zZTInKQorU0FYLmVuZEVsZW1lbnROcyhtZXNzYWdlLCBpbm8sICdodHRwOi8vbmFtZXNwYWNlcy5zb2Z0d2FyZWFnLmNvbS90YW1pbm8vcmVzcG9uc2UyJykKK1NBWC5zdGFydEVsZW1lbnROcyhyZXN1bHQsIHhxbCwgJ2h0dHA6Ly9tZXRhbGFiLnVuYy5lZHUveHFsLycsIDAsIDAsIDApCitTQVguc3RhcnRFbGVtZW50TnMoRG9jUGFydCwgYnNrLCAnaHR0cDovL3d3dy5oZWl0ZWMubmV0L3NhcmE0L3RhbWluby9iYXNrZXQnLCAxLCB4bWxuczpic2s9J2h0dHA6Ly93d3cuaGVpdGVjLm5ldC9zYXJhNC90YW1pbm8vYmFza2V0JywgMywgMCwgZG9jSWQ9JzIwMDQuLi4nLCAyMCwgZG9jUGFydE5vPScxIiBpLi4uJywgMSwgaW5vOmlkPScxNTI5Li4uJywgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhGaWxlLCBic2ssICdodHRwOi8vd3d3LmhlaXRlYy5uZXQvc2FyYTQvdGFtaW5vL2Jhc2tldCcsIDAsIDIsIDAsIG5hbWU9JzQ4OTguLi4nLCAxMywgc2l6ZT0nNzUxOS4uLicsIDUpCitTQVguY2hhcmFjdGVycyggLCAxKQorU0FYLmVuZEVsZW1lbnROcyhGaWxlLCBic2ssICdodHRwOi8vd3d3LmhlaXRlYy5uZXQvc2FyYTQvdGFtaW5vL2Jhc2tldCcpCitTQVguZW5kRWxlbWVudE5zKERvY1BhcnQsIGJzaywgJ2h0dHA6Ly93d3cuaGVpdGVjLm5ldC9zYXJhNC90YW1pbm8vYmFza2V0JykKK1NBWC5lbmRFbGVtZW50TnMocmVzdWx0LCB4cWwsICdodHRwOi8vbWV0YWxhYi51bmMuZWR1L3hxbC8nKQorU0FYLnN0YXJ0RWxlbWVudE5zKG1lc3NhZ2UsIGlubywgJ2h0dHA6Ly9uYW1lc3BhY2VzLnNvZnR3YXJlYWcuY29tL3RhbWluby9yZXNwb25zZTInLCAwLCAxLCAwLCBpbm86cmV0dXJudmFsdWU9JzAiPjwuLi4nLCAxKQorU0FYLnN0YXJ0RWxlbWVudE5zKG1lc3NhZ2VsaW5lLCBpbm8sICdodHRwOi8vbmFtZXNwYWNlcy5zb2Z0d2FyZWFnLmNvbS90YW1pbm8vcmVzcG9uc2UyJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKFhRTCBSZXF1ZXN0IHByb2Nlc3NlZCwgMjEpCitTQVguZW5kRWxlbWVudE5zKG1lc3NhZ2VsaW5lLCBpbm8sICdodHRwOi8vbmFtZXNwYWNlcy5zb2Z0d2FyZWFnLmNvbS90YW1pbm8vcmVzcG9uc2UyJykKK1NBWC5lbmRFbGVtZW50TnMobWVzc2FnZSwgaW5vLCAnaHR0cDovL25hbWVzcGFjZXMuc29mdHdhcmVhZy5jb20vdGFtaW5vL3Jlc3BvbnNlMicpCitTQVguZW5kRWxlbWVudE5zKHJlc3BvbnNlLCBpbm8sICdodHRwOi8vbmFtZXNwYWNlcy5zb2Z0d2FyZWFnLmNvbS90YW1pbm8vcmVzcG9uc2UyJykKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9hdHQ5IGIvbGlieG1sMi9yZXN1bHQvYXR0OQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNDk4MmEyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvYXR0OQpAQCAtMCwwICsxLDYgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCFET0NUWVBFIGRvYyBbCis8IUFUVExJU1QgZG9jIGExIE5NVE9LRU5TICIxIDIiPgorPCFFTEVNRU5UIGRvYyAoI1BDREFUQSk+CitdPgorPGRvYy8+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9hdHQ5LnJkZSBiL2xpYnhtbDIvcmVzdWx0L2F0dDkucmRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjliMGEzNGQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9hdHQ5LnJkZQpAQCAtMCwwICsxLDIgQEAKKzAgMTAgZG9jIDAgMAorMCAxIGRvYyAxIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2F0dDkucmRyIGIvbGlieG1sMi9yZXN1bHQvYXR0OS5yZHIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWIwYTM0ZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2F0dDkucmRyCkBAIC0wLDAgKzEsMiBAQAorMCAxMCBkb2MgMCAwCiswIDEgZG9jIDEgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvYXR0OS5zYXggYi9saWJ4bWwyL3Jlc3VsdC9hdHQ5LnNheApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZmUxNGExCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvYXR0OS5zYXgKQEAgLTAsMCArMSw5IEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5pbnRlcm5hbFN1YnNldChkb2MsICwgKQorU0FYLmF0dHJpYnV0ZURlY2woZG9jLCBhMSwgOCwgMSwgMSAyLCAuLi4pCitTQVguZWxlbWVudERlY2woZG9jLCAzLCAuLi4pCitTQVguZXh0ZXJuYWxTdWJzZXQoZG9jLCAsICkKK1NBWC5zdGFydEVsZW1lbnQoZG9jKQorU0FYLmVuZEVsZW1lbnQoZG9jKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2F0dDkuc2F4MiBiL2xpYnhtbDIvcmVzdWx0L2F0dDkuc2F4MgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wOWIzYTA0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvYXR0OS5zYXgyCkBAIC0wLDAgKzEsOSBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguaW50ZXJuYWxTdWJzZXQoZG9jLCAsICkKK1NBWC5hdHRyaWJ1dGVEZWNsKGRvYywgYTEsIDgsIDEsIDEgMiwgLi4uKQorU0FYLmVsZW1lbnREZWNsKGRvYywgMywgLi4uKQorU0FYLmV4dGVybmFsU3Vic2V0KGRvYywgLCApCitTQVguc3RhcnRFbGVtZW50TnMoZG9jLCBOVUxMLCBOVUxMLCAwLCAxLCAxLCBhMT0nMSAyLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnMoZG9jLCBOVUxMLCBOVUxMKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2F0dHJpYi54bWwgYi9saWJ4bWwyL3Jlc3VsdC9hdHRyaWIueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg5YTFlNTcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9hdHRyaWIueG1sCkBAIC0wLDAgKzEsMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8aXRlbSB0aXRsZT0iSWNyb250aWMuY29tIC0gV2FybmluZzogQnJlYWtkYW5jaW5nIG1pZGdldCB3aXRoIHRvdXJldHRlJ3Mgc3luZHJvbWUgb24tYm9hcmQmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsiIHVybD0iaHR0cDovL3d3dy5pY3JvbnRpYy5jb20vIiBmaXJzdF90aW1lPSI5ODUwMzQzMzkiIGxhc3RfdGltZT0iOTg1MDM0MzM5IiB2aXNpdHM9IjEiLz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2F0dHJpYi54bWwucmRlIGIvbGlieG1sMi9yZXN1bHQvYXR0cmliLnhtbC5yZGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGU2MzI1YQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2F0dHJpYi54bWwucmRlCkBAIC0wLDAgKzEgQEAKKzAgMSBpdGVtIDEgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvYXR0cmliLnhtbC5yZHIgYi9saWJ4bWwyL3Jlc3VsdC9hdHRyaWIueG1sLnJkcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZTYzMjVhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvYXR0cmliLnhtbC5yZHIKQEAgLTAsMCArMSBAQAorMCAxIGl0ZW0gMSAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9hdHRyaWIueG1sLnNheCBiL2xpYnhtbDIvcmVzdWx0L2F0dHJpYi54bWwuc2F4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUwYWQ4ZTEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9hdHRyaWIueG1sLnNheApAQCAtMCwwICsxLDUgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLnN0YXJ0RWxlbWVudChpdGVtLCB0aXRsZT0nSWNyb250aWMuY29tIC0gV2FybmluZzogQnJlYWtkYW5jaW5nIG1pZGdldCB3aXRoIHRvdXJldHRlJ3Mgc3luZHJvbWUgb24tYm9hcmTCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAnLCB1cmw9J2h0dHA6Ly93d3cuaWNyb250aWMuY29tLycsIGZpcnN0X3RpbWU9Jzk4NTAzNDMzOScsIGxhc3RfdGltZT0nOTg1MDM0MzM5JywgdmlzaXRzPScxJykKK1NBWC5lbmRFbGVtZW50KGl0ZW0pCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvYXR0cmliLnhtbC5zYXgyIGIvbGlieG1sMi9yZXN1bHQvYXR0cmliLnhtbC5zYXgyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM3ZDJjODcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9hdHRyaWIueG1sLnNheDIKQEAgLTAsMCArMSw1IEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5zdGFydEVsZW1lbnROcyhpdGVtLCBOVUxMLCBOVUxMLCAwLCA1LCAwLCB0aXRsZT0nSWNyby4uLicsIDE3MywgdXJsPSdodHRwLi4uJywgMjQsIGZpcnN0X3RpbWU9Jzk4NTAuLi4nLCA5LCBsYXN0X3RpbWU9Jzk4NTAuLi4nLCA5LCB2aXNpdHM9JzEiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyhpdGVtLCBOVUxMLCBOVUxMKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2F1dG9tYXRhL2EgYi9saWJ4bWwyL3Jlc3VsdC9hdXRvbWF0YS9hCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRlY2U0MTEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9hdXRvbWF0YS9hCkBAIC0wLDAgKzEsNCBAQAorPT4gUGFzc2VkCis9PiBGYWlsZWQKKz0+IEZhaWxlZAorPT4gRmFpbGVkCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9hdXRvbWF0YS9hYmEgYi9saWJ4bWwyL3Jlc3VsdC9hdXRvbWF0YS9hYmEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDUxYjliZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2F1dG9tYXRhL2FiYQpAQCAtMCwwICsxLDYgQEAKKz0+IFBhc3NlZAorPT4gUGFzc2VkCis9PiBQYXNzZWQKKz0+IEZhaWxlZAorPT4gRmFpbGVkCis9PiBGYWlsZWQKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2F1dG9tYXRhL2FiYWEgYi9saWJ4bWwyL3Jlc3VsdC9hdXRvbWF0YS9hYmFhCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM3NDc2OWUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9hdXRvbWF0YS9hYmFhCkBAIC0wLDAgKzEsNSBAQAorPT4gUGFzc2VkCis9PiBQYXNzZWQKKz0+IFBhc3NlZAorPT4gRmFpbGVkCis9PiBGYWlsZWQKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2F1dG9tYXRhL2FiYmEgYi9saWJ4bWwyL3Jlc3VsdC9hdXRvbWF0YS9hYmJhCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFhNjA4NDgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9hdXRvbWF0YS9hYmJhCkBAIC0wLDAgKzEsNCBAQAorPT4gUGFzc2VkCis9PiBQYXNzZWQKKz0+IEZhaWxlZAorPT4gRmFpbGVkCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9hdXRvbWF0YS9wbyBiL2xpYnhtbDIvcmVzdWx0L2F1dG9tYXRhL3BvCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZhZmNhZTUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9hdXRvbWF0YS9wbwpAQCAtMCwwICsxLDIgQEAKKz0+IFBhc3NlZAorPT4gUGFzc2VkCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9iYWRjb21tZW50LnhtbCBiL2xpYnhtbDIvcmVzdWx0L2JhZGNvbW1lbnQueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZiMTNjMTEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9iYWRjb21tZW50LnhtbApAQCAtMCwwICsxLDE3IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPGZvbz4KKzwhLS0gZGVmPSdOVC1DaGFyJy0tPjwhLS0+Q2hhcjwvbnQ+KiAnXV0mZ3Q7JyA8bnQgZGVmPSdOVC1DaGFyJz5DaGFyPC9udD4qKSkKKyddXSZndDsnPC9yaHM+Cis8Y29tPkNEQVRBIHNlY3Rpb25zPC9jb20+Cis8cmhzPnwgJyZsdDshRE9DVFlQRScgCisoPG50IGRlZj0iTlQtQ2hhciI+Q2hhcjwvbnQ+IC0gKCdbJyB8ICddJykpKworKCdbJyAKKzxudCBkZWY9Ik5ULXNpbXBsZURURCI+c2ltcGxlRFREPC9udD4qCisnXScpPyAnJmd0Oyc8L3Jocz4KKzxjb20+ZG9jIHR5cGUgZGVjbGFyYXRpb248L2NvbT4KKzxwcm9kIGlkPSJOVC1zaW1wbGVEVEQiPjxsaHM+c2ltcGxlRFREPC9saHM+Cis8cmhzPicmbHQ7ISZjb21vOycgCisoPG50IGRlZj0nTlQtQ2hhcic+Q2hhcjwvbnQ+KiAtIAorKDxudCBkZWY9J05ULUNoYXInPkNoYXI8L250PiogJyZjb21jOycgPG50IGRlZj0nTlQtQ2hhcic+Q2hhcjwvbnQ+KikpCisnJmNvbWM7Jmd0Oyc8L3Jocz4tLT4KKzwvZm9vPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvYmFkY29tbWVudC54bWwucmRlIGIvbGlieG1sMi9yZXN1bHQvYmFkY29tbWVudC54bWwucmRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI5YTNjZDEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9iYWRjb21tZW50LnhtbC5yZGUKQEAgLTAsMCArMSwyMSBAQAorMCAxIGZvbyAwIDAKKzEgMTQgI3RleHQgMCAxIAorCisxIDggI2NvbW1lbnQgMCAxICBkZWY9J05ULUNoYXInCisxIDggI2NvbW1lbnQgMCAxID5DaGFyPC9udD4qICddXSZndDsnIDxudCBkZWY9J05ULUNoYXInPkNoYXI8L250PiopKQorJ11dJmd0Oyc8L3Jocz4KKzxjb20+Q0RBVEEgc2VjdGlvbnM8L2NvbT4KKzxyaHM+fCAnJmx0OyFET0NUWVBFJyAKKyg8bnQgZGVmPSJOVC1DaGFyIj5DaGFyPC9udD4gLSAoJ1snIHwgJ10nKSkrCisoJ1snIAorPG50IGRlZj0iTlQtc2ltcGxlRFREIj5zaW1wbGVEVEQ8L250PioKKyddJyk/ICcmZ3Q7JzwvcmhzPgorPGNvbT5kb2MgdHlwZSBkZWNsYXJhdGlvbjwvY29tPgorPHByb2QgaWQ9Ik5ULXNpbXBsZURURCI+PGxocz5zaW1wbGVEVEQ8L2xocz4KKzxyaHM+JyZsdDshJmNvbW87JyAKKyg8bnQgZGVmPSdOVC1DaGFyJz5DaGFyPC9udD4qIC0gCisoPG50IGRlZj0nTlQtQ2hhcic+Q2hhcjwvbnQ+KiAnJmNvbWM7JyA8bnQgZGVmPSdOVC1DaGFyJz5DaGFyPC9udD4qKSkKKycmY29tYzsmZ3Q7JzwvcmhzPgorMSAxNCAjdGV4dCAwIDEgCisKKzAgMTUgZm9vIDAgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvYmFkY29tbWVudC54bWwucmRyIGIvbGlieG1sMi9yZXN1bHQvYmFkY29tbWVudC54bWwucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI5YTNjZDEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9iYWRjb21tZW50LnhtbC5yZHIKQEAgLTAsMCArMSwyMSBAQAorMCAxIGZvbyAwIDAKKzEgMTQgI3RleHQgMCAxIAorCisxIDggI2NvbW1lbnQgMCAxICBkZWY9J05ULUNoYXInCisxIDggI2NvbW1lbnQgMCAxID5DaGFyPC9udD4qICddXSZndDsnIDxudCBkZWY9J05ULUNoYXInPkNoYXI8L250PiopKQorJ11dJmd0Oyc8L3Jocz4KKzxjb20+Q0RBVEEgc2VjdGlvbnM8L2NvbT4KKzxyaHM+fCAnJmx0OyFET0NUWVBFJyAKKyg8bnQgZGVmPSJOVC1DaGFyIj5DaGFyPC9udD4gLSAoJ1snIHwgJ10nKSkrCisoJ1snIAorPG50IGRlZj0iTlQtc2ltcGxlRFREIj5zaW1wbGVEVEQ8L250PioKKyddJyk/ICcmZ3Q7JzwvcmhzPgorPGNvbT5kb2MgdHlwZSBkZWNsYXJhdGlvbjwvY29tPgorPHByb2QgaWQ9Ik5ULXNpbXBsZURURCI+PGxocz5zaW1wbGVEVEQ8L2xocz4KKzxyaHM+JyZsdDshJmNvbW87JyAKKyg8bnQgZGVmPSdOVC1DaGFyJz5DaGFyPC9udD4qIC0gCisoPG50IGRlZj0nTlQtQ2hhcic+Q2hhcjwvbnQ+KiAnJmNvbWM7JyA8bnQgZGVmPSdOVC1DaGFyJz5DaGFyPC9udD4qKSkKKycmY29tYzsmZ3Q7JzwvcmhzPgorMSAxNCAjdGV4dCAwIDEgCisKKzAgMTUgZm9vIDAgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvYmFkY29tbWVudC54bWwuc2F4IGIvbGlieG1sMi9yZXN1bHQvYmFkY29tbWVudC54bWwuc2F4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ0MDkzNjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9iYWRjb21tZW50LnhtbC5zYXgKQEAgLTAsMCArMSwyNCBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguc3RhcnRFbGVtZW50KGZvbykKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmNvbW1lbnQoIGRlZj0nTlQtQ2hhcicpCitTQVguY29tbWVudCg+Q2hhcjwvbnQ+KiAnXV0mZ3Q7JyA8bnQgZGVmPSdOVC1DaGFyJz5DaGFyPC9udD4qKSkKKyddXSZndDsnPC9yaHM+Cis8Y29tPkNEQVRBIHNlY3Rpb25zPC9jb20+Cis8cmhzPnwgJyZsdDshRE9DVFlQRScgCisoPG50IGRlZj0iTlQtQ2hhciI+Q2hhcjwvbnQ+IC0gKCdbJyB8ICddJykpKworKCdbJyAKKzxudCBkZWY9Ik5ULXNpbXBsZURURCI+c2ltcGxlRFREPC9udD4qCisnXScpPyAnJmd0Oyc8L3Jocz4KKzxjb20+ZG9jIHR5cGUgZGVjbGFyYXRpb248L2NvbT4KKzxwcm9kIGlkPSJOVC1zaW1wbGVEVEQiPjxsaHM+c2ltcGxlRFREPC9saHM+Cis8cmhzPicmbHQ7ISZjb21vOycgCisoPG50IGRlZj0nTlQtQ2hhcic+Q2hhcjwvbnQ+KiAtIAorKDxudCBkZWY9J05ULUNoYXInPkNoYXI8L250PiogJyZjb21jOycgPG50IGRlZj0nTlQtQ2hhcic+Q2hhcjwvbnQ+KikpCisnJmNvbWM7Jmd0Oyc8L3Jocz4pCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5lbmRFbGVtZW50KGZvbykKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9iYWRjb21tZW50LnhtbC5zYXgyIGIvbGlieG1sMi9yZXN1bHQvYmFkY29tbWVudC54bWwuc2F4MgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wOGU1NjIyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvYmFkY29tbWVudC54bWwuc2F4MgpAQCAtMCwwICsxLDI0IEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5zdGFydEVsZW1lbnROcyhmb28sIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5jb21tZW50KCBkZWY9J05ULUNoYXInKQorU0FYLmNvbW1lbnQoPkNoYXI8L250PiogJ11dJmd0OycgPG50IGRlZj0nTlQtQ2hhcic+Q2hhcjwvbnQ+KikpCisnXV0mZ3Q7JzwvcmhzPgorPGNvbT5DREFUQSBzZWN0aW9uczwvY29tPgorPHJocz58ICcmbHQ7IURPQ1RZUEUnIAorKDxudCBkZWY9Ik5ULUNoYXIiPkNoYXI8L250PiAtICgnWycgfCAnXScpKSsKKygnWycgCis8bnQgZGVmPSJOVC1zaW1wbGVEVEQiPnNpbXBsZURURDwvbnQ+KgorJ10nKT8gJyZndDsnPC9yaHM+Cis8Y29tPmRvYyB0eXBlIGRlY2xhcmF0aW9uPC9jb20+Cis8cHJvZCBpZD0iTlQtc2ltcGxlRFREIj48bGhzPnNpbXBsZURURDwvbGhzPgorPHJocz4nJmx0OyEmY29tbzsnIAorKDxudCBkZWY9J05ULUNoYXInPkNoYXI8L250PiogLSAKKyg8bnQgZGVmPSdOVC1DaGFyJz5DaGFyPC9udD4qICcmY29tYzsnIDxudCBkZWY9J05ULUNoYXInPkNoYXI8L250PiopKQorJyZjb21jOyZndDsnPC9yaHM+KQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguZW5kRWxlbWVudE5zKGZvbywgTlVMTCwgTlVMTCkKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9iaWdlbnRuYW1lLnhtbCBiL2xpYnhtbDIvcmVzdWx0L2JpZ2VudG5hbWUueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZiNzE4M2YKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9iaWdlbnRuYW1lLnhtbApAQCAtMCwwICsxLDYgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCFET0NUWVBFIGRvYyBbCis8IUVOVElUWSB2ZXJ5X2JpZ19lbnRpdHlfbmFtZTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5X2VuZF9vZl92ZXJ5X2JpZ19lbnRfbmFtZSAnIlllcyInPgorPCFFTlRJVFkgV2hhdEhlU2FpZCAiSGUgc2FpZCAmdmVyeV9iaWdfZW50aXR5X25hbWUwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OV9lbmRfb2ZfdmVyeV9iaWdfZW50X25hbWU7Ij4KK10+Cis8ZG9jPiZXaGF0SGVTYWlkOzwvZG9jPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvYmlnZW50bmFtZS54bWwucmRlIGIvbGlieG1sMi9yZXN1bHQvYmlnZW50bmFtZS54bWwucmRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMyZDRjYzAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9iaWdlbnRuYW1lLnhtbC5yZGUKQEAgLTAsMCArMSw0IEBACiswIDEwIGRvYyAwIDAKKzAgMSBkb2MgMCAwCisxIDMgI3RleHQgMCAxIEhlIHNhaWQgIlllcyIKKzAgMTUgZG9jIDAgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvYmlnZW50bmFtZS54bWwucmRyIGIvbGlieG1sMi9yZXN1bHQvYmlnZW50bmFtZS54bWwucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMzOTRhNDYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9iaWdlbnRuYW1lLnhtbC5yZHIKQEAgLTAsMCArMSw0IEBACiswIDEwIGRvYyAwIDAKKzAgMSBkb2MgMCAwCisxIDUgV2hhdEhlU2FpZCAwIDAKKzAgMTUgZG9jIDAgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvYmlnZW50bmFtZS54bWwuc2F4IGIvbGlieG1sMi9yZXN1bHQvYmlnZW50bmFtZS54bWwuc2F4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFlZTE5YWIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9iaWdlbnRuYW1lLnhtbC5zYXgKQEAgLTAsMCArMSwxNyBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguaW50ZXJuYWxTdWJzZXQoZG9jLCAsICkKK1NBWC5lbnRpdHlEZWNsKHZlcnlfYmlnX2VudGl0eV9uYW1lMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODlfZW5kX29mX3ZlcnlfYmlnX2VudF9uYW1lLCAxLCAobnVsbCksIChudWxsKSwgIlllcyIpCitTQVguZ2V0RW50aXR5KHZlcnlfYmlnX2VudGl0eV9uYW1lMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODlfZW5kX29mX3ZlcnlfYmlnX2VudF9uYW1lKQorU0FYLmVudGl0eURlY2woV2hhdEhlU2FpZCwgMSwgKG51bGwpLCAobnVsbCksIEhlIHNhaWQgJnZlcnlfYmlnX2VudGl0eV9uYW1lMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODlfZW5kX29mX3ZlcnlfYmlnX2VudF9uYW1lOykKK1NBWC5nZXRFbnRpdHkoV2hhdEhlU2FpZCkKK1NBWC5leHRlcm5hbFN1YnNldChkb2MsICwgKQorU0FYLnN0YXJ0RWxlbWVudChkb2MpCitTQVguZ2V0RW50aXR5KFdoYXRIZVNhaWQpCitTQVguY2hhcmFjdGVycyhIZSBzYWlkICwgOCkKK1NBWC5nZXRFbnRpdHkodmVyeV9iaWdfZW50aXR5X25hbWUwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OV9lbmRfb2ZfdmVyeV9iaWdfZW50X25hbWUpCitTQVguY2hhcmFjdGVycygiWWVzIiwgNSkKK1NBWC5yZWZlcmVuY2UodmVyeV9iaWdfZW50aXR5X25hbWUwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OV9lbmRfb2ZfdmVyeV9iaWdfZW50X25hbWUpCitTQVgucmVmZXJlbmNlKFdoYXRIZVNhaWQpCitTQVguZW5kRWxlbWVudChkb2MpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvYmlnZW50bmFtZS54bWwuc2F4MiBiL2xpYnhtbDIvcmVzdWx0L2JpZ2VudG5hbWUueG1sLnNheDIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzJmNzJjMAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2JpZ2VudG5hbWUueG1sLnNheDIKQEAgLTAsMCArMSwxNyBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguaW50ZXJuYWxTdWJzZXQoZG9jLCAsICkKK1NBWC5lbnRpdHlEZWNsKHZlcnlfYmlnX2VudGl0eV9uYW1lMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODlfZW5kX29mX3ZlcnlfYmlnX2VudF9uYW1lLCAxLCAobnVsbCksIChudWxsKSwgIlllcyIpCitTQVguZ2V0RW50aXR5KHZlcnlfYmlnX2VudGl0eV9uYW1lMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODlfZW5kX29mX3ZlcnlfYmlnX2VudF9uYW1lKQorU0FYLmVudGl0eURlY2woV2hhdEhlU2FpZCwgMSwgKG51bGwpLCAobnVsbCksIEhlIHNhaWQgJnZlcnlfYmlnX2VudGl0eV9uYW1lMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODlfZW5kX29mX3ZlcnlfYmlnX2VudF9uYW1lOykKK1NBWC5nZXRFbnRpdHkoV2hhdEhlU2FpZCkKK1NBWC5leHRlcm5hbFN1YnNldChkb2MsICwgKQorU0FYLnN0YXJ0RWxlbWVudE5zKGRvYywgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5nZXRFbnRpdHkoV2hhdEhlU2FpZCkKK1NBWC5jaGFyYWN0ZXJzKEhlIHNhaWQgLCA4KQorU0FYLmdldEVudGl0eSh2ZXJ5X2JpZ19lbnRpdHlfbmFtZTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5X2VuZF9vZl92ZXJ5X2JpZ19lbnRfbmFtZSkKK1NBWC5jaGFyYWN0ZXJzKCJZZXMiLCA1KQorU0FYLnJlZmVyZW5jZSh2ZXJ5X2JpZ19lbnRpdHlfbmFtZTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5X2VuZF9vZl92ZXJ5X2JpZ19lbnRfbmFtZSkKK1NBWC5yZWZlcmVuY2UoV2hhdEhlU2FpZCkKK1NBWC5lbmRFbGVtZW50TnMoZG9jLCBOVUxMLCBOVUxMKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2JpZ25hbWUueG1sIGIvbGlieG1sMi9yZXN1bHQvYmlnbmFtZS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODg1ZmQ3YwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2JpZ25hbWUueG1sCkBAIC0wLDAgKzEsMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8dGhpc19pc19hX3ZlcnlfbGFyZ2VfbmFtZV8wMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OV9lbmRfb2ZfdGhlX3ZlcnlfbGFyZ2VfbmFtZS8+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9iaWduYW1lLnhtbC5yZGUgYi9saWJ4bWwyL3Jlc3VsdC9iaWduYW1lLnhtbC5yZGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzEyODRjMQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2JpZ25hbWUueG1sLnJkZQpAQCAtMCwwICsxIEBACiswIDEgdGhpc19pc19hX3ZlcnlfbGFyZ2VfbmFtZV8wMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OV9lbmRfb2ZfdGhlX3ZlcnlfbGFyZ2VfbmFtZSAxIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2JpZ25hbWUueG1sLnJkciBiL2xpYnhtbDIvcmVzdWx0L2JpZ25hbWUueG1sLnJkcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MTI4NGMxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvYmlnbmFtZS54bWwucmRyCkBAIC0wLDAgKzEgQEAKKzAgMSB0aGlzX2lzX2FfdmVyeV9sYXJnZV9uYW1lXzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5X2VuZF9vZl90aGVfdmVyeV9sYXJnZV9uYW1lIDEgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvYmlnbmFtZS54bWwuc2F4IGIvbGlieG1sMi9yZXN1bHQvYmlnbmFtZS54bWwuc2F4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMxOTQ1YmUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9iaWduYW1lLnhtbC5zYXgKQEAgLTAsMCArMSw1IEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5zdGFydEVsZW1lbnQodGhpc19pc19hX3ZlcnlfbGFyZ2VfbmFtZV8wMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OV9lbmRfb2ZfdGhlX3ZlcnlfbGFyZ2VfbmFtZSkKK1NBWC5lbmRFbGVtZW50KHRoaXNfaXNfYV92ZXJ5X2xhcmdlX25hbWVfMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODlfZW5kX29mX3RoZV92ZXJ5X2xhcmdlX25hbWUpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvYmlnbmFtZS54bWwuc2F4MiBiL2xpYnhtbDIvcmVzdWx0L2JpZ25hbWUueG1sLnNheDIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWY5MzlmOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2JpZ25hbWUueG1sLnNheDIKQEAgLTAsMCArMSw1IEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5zdGFydEVsZW1lbnROcyh0aGlzX2lzX2FfdmVyeV9sYXJnZV9uYW1lXzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5X2VuZF9vZl90aGVfdmVyeV9sYXJnZV9uYW1lLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmVuZEVsZW1lbnROcyh0aGlzX2lzX2FfdmVyeV9sYXJnZV9uYW1lXzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5X2VuZF9vZl90aGVfdmVyeV9sYXJnZV9uYW1lLCBOVUxMLCBOVUxMKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2JpZ25hbWUyLnhtbCBiL2xpYnhtbDIvcmVzdWx0L2JpZ25hbWUyLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNDhjMzU5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvYmlnbmFtZTIueG1sCkBAIC0wLDAgKzEsMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8dGhpc19pc19hX3ZlcnlfbGFyZ2VfcXVhbGlmaWVkX25hbWVfMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODlfZW5kX29mX3ByZWZpeDpzdGFydF9uY19uYW1lXzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5X2VuZF9vZl90aGVfdmVyeV9sYXJnZV9uYW1lIHhtbG5zOnRoaXNfaXNfYV92ZXJ5X2xhcmdlX3F1YWxpZmllZF9uYW1lXzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5X2VuZF9vZl9wcmVmaXg9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20vdGVzdG5zLyIvPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvYmlnbmFtZTIueG1sLnJkZSBiL2xpYnhtbDIvcmVzdWx0L2JpZ25hbWUyLnhtbC5yZGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmRlOWRkNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2JpZ25hbWUyLnhtbC5yZGUKQEAgLTAsMCArMSBAQAorMCAxIHRoaXNfaXNfYV92ZXJ5X2xhcmdlX3F1YWxpZmllZF9uYW1lXzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5X2VuZF9vZl9wcmVmaXg6c3RhcnRfbmNfbmFtZV8wMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OV9lbmRfb2ZfdGhlX3ZlcnlfbGFyZ2VfbmFtZSAxIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2JpZ25hbWUyLnhtbC5yZHIgYi9saWJ4bWwyL3Jlc3VsdC9iaWduYW1lMi54bWwucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZkZTlkZDcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9iaWduYW1lMi54bWwucmRyCkBAIC0wLDAgKzEgQEAKKzAgMSB0aGlzX2lzX2FfdmVyeV9sYXJnZV9xdWFsaWZpZWRfbmFtZV8wMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OV9lbmRfb2ZfcHJlZml4OnN0YXJ0X25jX25hbWVfMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODlfZW5kX29mX3RoZV92ZXJ5X2xhcmdlX25hbWUgMSAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9iaWduYW1lMi54bWwuc2F4IGIvbGlieG1sMi9yZXN1bHQvYmlnbmFtZTIueG1sLnNheApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YzM1M2U1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvYmlnbmFtZTIueG1sLnNheApAQCAtMCwwICsxLDUgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLnN0YXJ0RWxlbWVudCh0aGlzX2lzX2FfdmVyeV9sYXJnZV9xdWFsaWZpZWRfbmFtZV8wMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OV9lbmRfb2ZfcHJlZml4OnN0YXJ0X25jX25hbWVfMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODlfZW5kX29mX3RoZV92ZXJ5X2xhcmdlX25hbWUsIHhtbG5zOnRoaXNfaXNfYV92ZXJ5X2xhcmdlX3F1YWxpZmllZF9uYW1lXzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5X2VuZF9vZl9wcmVmaXg9J2h0dHA6Ly93d3cuZXhhbXBsZS5jb20vdGVzdG5zLycpCitTQVguZW5kRWxlbWVudCh0aGlzX2lzX2FfdmVyeV9sYXJnZV9xdWFsaWZpZWRfbmFtZV8wMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OV9lbmRfb2ZfcHJlZml4OnN0YXJ0X25jX25hbWVfMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODlfZW5kX29mX3RoZV92ZXJ5X2xhcmdlX25hbWUpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvYmlnbmFtZTIueG1sLnNheDIgYi9saWJ4bWwyL3Jlc3VsdC9iaWduYW1lMi54bWwuc2F4MgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YjQwNmY0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvYmlnbmFtZTIueG1sLnNheDIKQEAgLTAsMCArMSw1IEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5zdGFydEVsZW1lbnROcyhzdGFydF9uY19uYW1lXzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5X2VuZF9vZl90aGVfdmVyeV9sYXJnZV9uYW1lLCB0aGlzX2lzX2FfdmVyeV9sYXJnZV9xdWFsaWZpZWRfbmFtZV8wMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OV9lbmRfb2ZfcHJlZml4LCAnaHR0cDovL3d3dy5leGFtcGxlLmNvbS90ZXN0bnMvJywgMSwgeG1sbnM6dGhpc19pc19hX3ZlcnlfbGFyZ2VfcXVhbGlmaWVkX25hbWVfMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODlfZW5kX29mX3ByZWZpeD0naHR0cDovL3d3dy5leGFtcGxlLmNvbS90ZXN0bnMvJywgMCwgMCkKK1NBWC5lbmRFbGVtZW50TnMoc3RhcnRfbmNfbmFtZV8wMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OV9lbmRfb2ZfdGhlX3ZlcnlfbGFyZ2VfbmFtZSwgdGhpc19pc19hX3ZlcnlfbGFyZ2VfcXVhbGlmaWVkX25hbWVfMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODlfZW5kX29mX3ByZWZpeCwgJ2h0dHA6Ly93d3cuZXhhbXBsZS5jb20vdGVzdG5zLycpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy9leGFtcGxlLTEgYi9saWJ4bWwyL3Jlc3VsdC9jMTRuLzEtMS13aXRob3V0LWNvbW1lbnRzL2V4YW1wbGUtMQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hZjlhOTc3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy9leGFtcGxlLTEKQEAgLTAsMCArMSw0IEBACis8P3htbC1zdHlsZXNoZWV0IGhyZWY9ImRvYy54c2wiCisgICB0eXBlPSJ0ZXh0L3hzbCIgICA/PgorPGRvYz5IZWxsbywgd29ybGQhPC9kb2M+Cis8P3BpLXdpdGhvdXQtZGF0YT8+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy9leGFtcGxlLTIgYi9saWJ4bWwyL3Jlc3VsdC9jMTRuLzEtMS13aXRob3V0LWNvbW1lbnRzL2V4YW1wbGUtMgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yYWZhMTVjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy9leGFtcGxlLTIKQEAgLTAsMCArMSwxMSBAQAorPGRvYz4KKyAgIDxjbGVhbj4gICA8L2NsZWFuPgorICAgPGRpcnR5PiAgIEEgICBCICAgPC9kaXJ0eT4KKyAgIDxtaXhlZD4KKyAgICAgIEEKKyAgICAgIDxjbGVhbj4gICA8L2NsZWFuPgorICAgICAgQgorICAgICAgPGRpcnR5PiAgIEEgICBCICAgPC9kaXJ0eT4KKyAgICAgIEMKKyAgIDwvbWl4ZWQ+Cis8L2RvYz4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9jMTRuLzEtMS13aXRob3V0LWNvbW1lbnRzL2V4YW1wbGUtMyBiL2xpYnhtbDIvcmVzdWx0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMvZXhhbXBsZS0zCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjRjMjg3ZTYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9jMTRuLzEtMS13aXRob3V0LWNvbW1lbnRzL2V4YW1wbGUtMwpAQCAtMCwwICsxLDE0IEBACis8ZG9jPgorICAgPGUxPjwvZTE+CisgICA8ZTI+PC9lMj4KKyAgIDxlMyBpZD0iZWxlbTMiIG5hbWU9ImVsZW0zIj48L2UzPgorICAgPGU0IGlkPSJlbGVtNCIgbmFtZT0iZWxlbTQiPjwvZTQ+CisgICA8ZTUgeG1sbnM9Imh0dHA6Ly93d3cudXZpYy5jYSIgeG1sbnM6YT0iaHR0cDovL3d3dy53My5vcmciIHhtbG5zOmI9Imh0dHA6Ly93d3cuaWV0Zi5vcmciIGF0dHI9IkknbSIgYXR0cjI9ImFsbCIgYjphdHRyPSJzb3J0ZWQiIGE6YXR0cj0ib3V0Ij48L2U1PgorICAgPGU2IHhtbG5zOmE9Imh0dHA6Ly93d3cudzMub3JnIj4KKyAgICAgICA8ZTcgeG1sbnM9Imh0dHA6Ly93d3cuaWV0Zi5vcmciPgorICAgICAgICAgICA8ZTggeG1sbnM9IiI+CisgICAgICAgICAgICAgICA8ZTkgeG1sbnM6YT0iaHR0cDovL3d3dy5pZXRmLm9yZyIgYXR0cj0iZGVmYXVsdCI+PC9lOT4KKyAgICAgICAgICAgPC9lOD4KKyAgICAgICA8L2U3PgorICAgPC9lNj4KKzwvZG9jPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMvZXhhbXBsZS00IGIvbGlieG1sMi9yZXN1bHQvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy9leGFtcGxlLTQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMTlhMjU1OQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMvZXhhbXBsZS00CkBAIC0wLDAgKzEsOSBAQAorPGRvYz4KKyAgIDx0ZXh0PkZpcnN0IGxpbmUmI3hEOworU2Vjb25kIGxpbmU8L3RleHQ+CisgICA8dmFsdWU+MjwvdmFsdWU+CisgICA8Y29tcHV0ZT52YWx1ZSZndDsiMCIgJmFtcDsmYW1wOyB2YWx1ZSZsdDsiMTAiID8idmFsaWQiOiJlcnJvciI8L2NvbXB1dGU+CisgICA8Y29tcHV0ZSBleHByPSJ2YWx1ZT4mcXVvdDswJnF1b3Q7ICZhbXA7JmFtcDsgdmFsdWUmbHQ7JnF1b3Q7MTAmcXVvdDsgPyZxdW90O3ZhbGlkJnF1b3Q7OiZxdW90O2Vycm9yJnF1b3Q7Ij52YWxpZDwvY29tcHV0ZT4KKyAgIDxub3JtIGF0dHI9IiAnICAgICYjeEQ7JiN4QTsmI3g5OyAgICcgIj48L25vcm0+CisgICA8bm9ybUlkIGlkPSInICYjeEQ7JiN4QTsmI3g5OyAnIj48L25vcm1JZD4KKzwvZG9jPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMvZXhhbXBsZS01IGIvbGlieG1sMi9yZXN1bHQvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy9leGFtcGxlLTUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYzIzMmU3NAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMvZXhhbXBsZS01CkBAIC0wLDAgKzEsMyBAQAorPGRvYyBhdHRyRXh0RW50PSJlbnRFeHQiPgorICAgSGVsbG8sIHdvcmxkIQorPC9kb2M+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy9leGFtcGxlLTYgYi9saWJ4bWwyL3Jlc3VsdC9jMTRuLzEtMS13aXRob3V0LWNvbW1lbnRzL2V4YW1wbGUtNgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wYmUzOGY5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy9leGFtcGxlLTYKQEAgLTAsMCArMSBAQAorPGRvYz7CqTwvZG9jPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMvZXhhbXBsZS03IGIvbGlieG1sMi9yZXN1bHQvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy9leGFtcGxlLTcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMGE5NmNjNAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMvZXhhbXBsZS03CkBAIC0wLDAgKzEgQEAKKzxlMSB4bWxucz0iaHR0cDovL3d3dy5pZXRmLm9yZyIgeG1sbnM6dzNjPSJodHRwOi8vd3d3LnczLm9yZyI+PGUzIHhtbG5zPSIiIGlkPSJFMyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PC9lMz48L2UxPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMvZXhhbXBsZS04IGIvbGlieG1sMi9yZXN1bHQvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy9leGFtcGxlLTgKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZWI4MzBlOAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMvZXhhbXBsZS04CkBAIC0wLDAgKzEgQEAKKzxlMSB4bWxucz0iaHR0cDovL3d3dy5pZXRmLm9yZyIgeG1sbnM6dzNjPSJodHRwOi8vd3d3LnczLm9yZyIgeG1sOmJhc2U9InNvbWV0aGluZy9lbHNlIj48ZTMgeG1sbnM9IiIgaWQ9IkUzIiB4bWw6YmFzZT0iYmFyL2ZvbyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PC9lMz48L2UxPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1sYmFzZS1jMTRuMTFzcGVjLTEwMiBiL2xpYnhtbDIvcmVzdWx0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1sYmFzZS1jMTRuMTFzcGVjLTEwMgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MjFkNjBiCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy94bWxiYXNlLWMxNG4xMXNwZWMtMTAyCkBAIC0wLDAgKzEgQEAKKzxlMSB4bWxucz0iaHR0cDovL3d3dy5pZXRmLm9yZyIgeG1sbnM6dzNjPSJodHRwOi8vd3d3LnczLm9yZyIgeG1sOmJhc2U9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20vc29tZXRoaW5nL2Vsc2UiPjxlMyB4bWxucz0iIiBpZD0iRTMiIHhtbDpiYXNlPSIuLi9iYXIvZm9vIiB4bWw6c3BhY2U9InByZXNlcnZlIj48L2UzPjwvZTE+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy94bWxiYXNlLWMxNG4xMXNwZWMyLTEwMiBiL2xpYnhtbDIvcmVzdWx0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1sYmFzZS1jMTRuMTFzcGVjMi0xMDIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWI4MzBlOAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1sYmFzZS1jMTRuMTFzcGVjMi0xMDIKQEAgLTAsMCArMSBAQAorPGUxIHhtbG5zPSJodHRwOi8vd3d3LmlldGYub3JnIiB4bWxuczp3M2M9Imh0dHA6Ly93d3cudzMub3JnIiB4bWw6YmFzZT0ic29tZXRoaW5nL2Vsc2UiPjxlMyB4bWxucz0iIiBpZD0iRTMiIHhtbDpiYXNlPSJiYXIvZm9vIiB4bWw6c3BhY2U9InByZXNlcnZlIj48L2UzPjwvZTE+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy94bWxiYXNlLWMxNG4xMXNwZWMzLTEwMiBiL2xpYnhtbDIvcmVzdWx0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1sYmFzZS1jMTRuMTFzcGVjMy0xMDIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzdlZjg0OAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1sYmFzZS1jMTRuMTFzcGVjMy0xMDIKQEAgLTAsMCArMSwyIEBACis8YSB4bWw6YmFzZT0iZm9vL2JhciI+PGQgeG1sOmJhc2U9Ii4uLy4uL3giPgorICAgICA8L2Q+PC9hPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1sYmFzZS1wcm9wLTEgYi9saWJ4bWwyL3Jlc3VsdC9jMTRuLzEtMS13aXRob3V0LWNvbW1lbnRzL3htbGJhc2UtcHJvcC0xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRhM2EyYjYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9jMTRuLzEtMS13aXRob3V0LWNvbW1lbnRzL3htbGJhc2UtcHJvcC0xCkBAIC0wLDAgKzEsMTQgQEAKKzxpZXRmOmMxNG4xMVhtbEJhc2VEb2MxIHhtbG5zOmlldGY9Imh0dHA6Ly93d3cuaWV0Zi5vcmciIHhtbG5zOnczYz0iaHR0cDovL3d3dy53My5vcmciIHhtbDpiYXNlPSJodHRwOi8veG1sYmFzZS5leGFtcGxlLm9yZy94bWxiYXNlMC8iPgorICAgIDxpZXRmOmUxIHhtbDpiYXNlPSIveG1sYmFzZTEvIj4KKyAgICAgIDxpZXRmOmUxMSB4bWw6YmFzZT0iL3htbGJhc2UxMS8iPgorICAgICAgICA8aWV0ZjplMTExIHhtbDpiYXNlPSIveG1sYmFzZTExMS8iPjwvaWV0ZjplMTExPgorICAgICAgPC9pZXRmOmUxMT4KKyAgICAgIDxpZXRmOmUxMiBhdD0iMiI+CisgICAgICAgIDxpZXRmOmUxMjEgeG1sOmJhc2U9Ii94bWxiYXNlMTIxLyI+PC9pZXRmOmUxMjE+CisgICAgICA8L2lldGY6ZTEyPgorICAgIDwvaWV0ZjplMT4KKyAgICAKKyAgICA8aWV0ZjplMz4KKyAgICAgIDxpZXRmOmUzMSBhdD0iMyI+PC9pZXRmOmUzMT4KKyAgICA8L2lldGY6ZTM+Cis8L2lldGY6YzE0bjExWG1sQmFzZURvYzE+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy94bWxiYXNlLXByb3AtMiBiL2xpYnhtbDIvcmVzdWx0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1sYmFzZS1wcm9wLTIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWVmYTgxMQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1sYmFzZS1wcm9wLTIKQEAgLTAsMCArMSw4IEBACis8aWV0ZjplMSB4bWxuczppZXRmPSJodHRwOi8vd3d3LmlldGYub3JnIiB4bWxuczp3M2M9Imh0dHA6Ly93d3cudzMub3JnIiB4bWw6YmFzZT0iaHR0cDovL3htbGJhc2UuZXhhbXBsZS5vcmcveG1sYmFzZTEvIj4KKyAgICAgIDxpZXRmOmUxMSB4bWw6YmFzZT0iL3htbGJhc2UxMS8iPgorICAgICAgICA8aWV0ZjplMTExIHhtbDpiYXNlPSIveG1sYmFzZTExMS8iPjwvaWV0ZjplMTExPgorICAgICAgPC9pZXRmOmUxMT4KKyAgICAgIDxpZXRmOmUxMiBhdD0iMiI+CisgICAgICAgIDxpZXRmOmUxMjEgeG1sOmJhc2U9Ii94bWxiYXNlMTIxLyI+PC9pZXRmOmUxMjE+CisgICAgICA8L2lldGY6ZTEyPgorICAgIDwvaWV0ZjplMT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9jMTRuLzEtMS13aXRob3V0LWNvbW1lbnRzL3htbGJhc2UtcHJvcC0zIGIvbGlieG1sMi9yZXN1bHQvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy94bWxiYXNlLXByb3AtMwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNzU3ZDI4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy94bWxiYXNlLXByb3AtMwpAQCAtMCwwICsxLDMgQEAKKzxpZXRmOmUxMSB4bWxuczppZXRmPSJodHRwOi8vd3d3LmlldGYub3JnIiB4bWxuczp3M2M9Imh0dHA6Ly93d3cudzMub3JnIiB4bWw6YmFzZT0iaHR0cDovL3htbGJhc2UuZXhhbXBsZS5vcmcveG1sYmFzZTExLyI+CisgICAgICAgIDxpZXRmOmUxMTEgeG1sOmJhc2U9Ii94bWxiYXNlMTExLyI+PC9pZXRmOmUxMTE+CisgICAgICA8L2lldGY6ZTExPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1sYmFzZS1wcm9wLTQgYi9saWJ4bWwyL3Jlc3VsdC9jMTRuLzEtMS13aXRob3V0LWNvbW1lbnRzL3htbGJhc2UtcHJvcC00Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBkNDU4MzkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9jMTRuLzEtMS13aXRob3V0LWNvbW1lbnRzL3htbGJhc2UtcHJvcC00CkBAIC0wLDAgKzEgQEAKKzxpZXRmOmUxMTEgeG1sbnM6aWV0Zj0iaHR0cDovL3d3dy5pZXRmLm9yZyIgeG1sbnM6dzNjPSJodHRwOi8vd3d3LnczLm9yZyIgeG1sOmJhc2U9Imh0dHA6Ly94bWxiYXNlLmV4YW1wbGUub3JnL3htbGJhc2UxMTEvIj48L2lldGY6ZTExMT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9jMTRuLzEtMS13aXRob3V0LWNvbW1lbnRzL3htbGJhc2UtcHJvcC01IGIvbGlieG1sMi9yZXN1bHQvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy94bWxiYXNlLXByb3AtNQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NWU1MWQ5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy94bWxiYXNlLXByb3AtNQpAQCAtMCwwICsxIEBACis8aWV0ZjplMjEgeG1sbnM6aWV0Zj0iaHR0cDovL3d3dy5pZXRmLm9yZyIgeG1sbnM6dzNjPSJodHRwOi8vd3d3LnczLm9yZyIgeG1sOmJhc2U9Imh0dHA6Ly94bWxiYXNlLmV4YW1wbGUub3JnL3htbGJhc2UyMS8iPjwvaWV0ZjplMjE+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy94bWxiYXNlLXByb3AtNiBiL2xpYnhtbDIvcmVzdWx0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1sYmFzZS1wcm9wLTYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTdiNjFlMwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1sYmFzZS1wcm9wLTYKQEAgLTAsMCArMSwzIEBACis8aWV0ZjplMyB4bWxuczppZXRmPSJodHRwOi8vd3d3LmlldGYub3JnIiB4bWxuczp3M2M9Imh0dHA6Ly93d3cudzMub3JnIiB4bWw6YmFzZT0iaHR0cDovL3htbGJhc2UuZXhhbXBsZS5vcmcveG1sYmFzZTAvIj4KKyAgICAgIDxpZXRmOmUzMSBhdD0iMyI+PC9pZXRmOmUzMT4KKyAgICA8L2lldGY6ZTM+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy94bWxiYXNlLXByb3AtNyBiL2xpYnhtbDIvcmVzdWx0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1sYmFzZS1wcm9wLTcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWRhMzE2NQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1sYmFzZS1wcm9wLTcKQEAgLTAsMCArMSw3IEBACis8aWV0ZjpjMTRuMTFYbWxCYXNlRG9jMSB4bWxuczppZXRmPSJodHRwOi8vd3d3LmlldGYub3JnIiB4bWxuczp3M2M9Imh0dHA6Ly93d3cudzMub3JnIiB4bWw6YmFzZT0iaHR0cDovL3htbGJhc2UuZXhhbXBsZS5vcmcveG1sYmFzZTAvIj4KKyAgICAKKyAgICAKKyAgICA8aWV0ZjplMz4KKyAgICAgIDxpZXRmOmUzMSBhdD0iMyI+PC9pZXRmOmUzMT4KKyAgICA8L2lldGY6ZTM+Cis8L2lldGY6YzE0bjExWG1sQmFzZURvYzE+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy94bWxpZC1wcm9wLTEgYi9saWJ4bWwyL3Jlc3VsdC9jMTRuLzEtMS13aXRob3V0LWNvbW1lbnRzL3htbGlkLXByb3AtMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYTc2YzA2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy94bWxpZC1wcm9wLTEKQEAgLTAsMCArMSw4IEBACis8aWV0ZjplMSB4bWxuczppZXRmPSJodHRwOi8vd3d3LmlldGYub3JnIiB4bWxuczp3M2M9Imh0dHA6Ly93d3cudzMub3JnIiB4bWw6aWQ9IklkSW50ZXJvcCI+CisgICAgICAgIDxpZXRmOmUxMT4KKyAgICAgICAgICAgPGlldGY6ZTExMT48L2lldGY6ZTExMT4KKyAgICAgICAgPC9pZXRmOmUxMT4KKyAgICAgICAgPGlldGY6ZTEyIGF0PSIyIj4KKyAgICAgICAgICAgPGlldGY6ZTEyMT48L2lldGY6ZTEyMT4KKyAgICAgICAgPC9pZXRmOmUxMj4KKyAgICAgPC9pZXRmOmUxPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1saWQtcHJvcC0yIGIvbGlieG1sMi9yZXN1bHQvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy94bWxpZC1wcm9wLTIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWRjY2I4ZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1saWQtcHJvcC0yCkBAIC0wLDAgKzEsNSBAQAorPGlldGY6ZTExIHhtbG5zOmlldGY9Imh0dHA6Ly93d3cuaWV0Zi5vcmciIHhtbG5zOnczYz0iaHR0cDovL3d3dy53My5vcmciPgorICAgICAgICAgICA8aWV0ZjplMTExPjwvaWV0ZjplMTExPgorICAgICAgICA8L2lldGY6ZTExPjxpZXRmOmUxMiB4bWxuczppZXRmPSJodHRwOi8vd3d3LmlldGYub3JnIiB4bWxuczp3M2M9Imh0dHA6Ly93d3cudzMub3JnIiBhdD0iMiI+CisgICAgICAgICAgIDxpZXRmOmUxMjE+PC9pZXRmOmUxMjE+CisgICAgICAgIDwvaWV0ZjplMTI+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy94bWxsYW5nLXByb3AtMSBiL2xpYnhtbDIvcmVzdWx0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1sbGFuZy1wcm9wLTEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjU4MWE5ZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1sbGFuZy1wcm9wLTEKQEAgLTAsMCArMSw4IEBACis8aWV0ZjplMSB4bWxuczppZXRmPSJodHRwOi8vd3d3LmlldGYub3JnIiB4bWxuczp3M2M9Imh0dHA6Ly93d3cudzMub3JnIiB4bWw6bGFuZz0iRU4iPgorICAgICAgICA8aWV0ZjplMTE+CisgICAgICAgICAgIDxpZXRmOmUxMTE+PC9pZXRmOmUxMTE+CisgICAgICAgIDwvaWV0ZjplMTE+CisgICAgICAgIDxpZXRmOmUxMiBhdD0iMiI+CisgICAgICAgICAgIDxpZXRmOmUxMjE+PC9pZXRmOmUxMjE+CisgICAgICAgIDwvaWV0ZjplMTI+CisgICAgIDwvaWV0ZjplMT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9jMTRuLzEtMS13aXRob3V0LWNvbW1lbnRzL3htbGxhbmctcHJvcC0yIGIvbGlieG1sMi9yZXN1bHQvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy94bWxsYW5nLXByb3AtMgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YWRkNWZhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy94bWxsYW5nLXByb3AtMgpAQCAtMCwwICsxLDMgQEAKKzxpZXRmOmUyIHhtbG5zOmlldGY9Imh0dHA6Ly93d3cuaWV0Zi5vcmciIHhtbG5zOnczYz0iaHR0cDovL3d3dy53My5vcmciPgorICAgICAgICA8aWV0ZjplMjE+PC9pZXRmOmUyMT4KKyAgICAgPC9pZXRmOmUyPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1sbGFuZy1wcm9wLTMgYi9saWJ4bWwyL3Jlc3VsdC9jMTRuLzEtMS13aXRob3V0LWNvbW1lbnRzL3htbGxhbmctcHJvcC0zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUzMjdlYmQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9jMTRuLzEtMS13aXRob3V0LWNvbW1lbnRzL3htbGxhbmctcHJvcC0zCkBAIC0wLDAgKzEsMyBAQAorPGlldGY6ZTExIHhtbG5zOmlldGY9Imh0dHA6Ly93d3cuaWV0Zi5vcmciIHhtbG5zOnczYz0iaHR0cDovL3d3dy53My5vcmciIHhtbDpsYW5nPSJFTiI+CisgICAgICAgICAgIDxpZXRmOmUxMTE+PC9pZXRmOmUxMTE+CisgICAgICAgIDwvaWV0ZjplMTE+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy94bWxsYW5nLXByb3AtNCBiL2xpYnhtbDIvcmVzdWx0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1sbGFuZy1wcm9wLTQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGMxOTJjOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1sbGFuZy1wcm9wLTQKQEAgLTAsMCArMSw1IEBACis8aWV0ZjplMTEgeG1sbnM6aWV0Zj0iaHR0cDovL3d3dy5pZXRmLm9yZyIgeG1sbnM6dzNjPSJodHRwOi8vd3d3LnczLm9yZyIgeG1sOmxhbmc9IkVOIj4KKyAgICAgICAgICAgPGlldGY6ZTExMT48L2lldGY6ZTExMT4KKyAgICAgICAgPC9pZXRmOmUxMT48aWV0ZjplMTIgeG1sbnM6aWV0Zj0iaHR0cDovL3d3dy5pZXRmLm9yZyIgeG1sbnM6dzNjPSJodHRwOi8vd3d3LnczLm9yZyIgYXQ9IjIiIHhtbDpsYW5nPSJFTiI+CisgICAgICAgICAgIDxpZXRmOmUxMjE+PC9pZXRmOmUxMjE+CisgICAgICAgIDwvaWV0ZjplMTI+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy94bWxzcGFjZS1wcm9wLTEgYi9saWJ4bWwyL3Jlc3VsdC9jMTRuLzEtMS13aXRob3V0LWNvbW1lbnRzL3htbHNwYWNlLXByb3AtMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YzEzYWNjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy94bWxzcGFjZS1wcm9wLTEKQEAgLTAsMCArMSw4IEBACis8aWV0ZjplMSB4bWxuczppZXRmPSJodHRwOi8vd3d3LmlldGYub3JnIiB4bWxuczp3M2M9Imh0dHA6Ly93d3cudzMub3JnIiB4bWw6c3BhY2U9InRydWUiPgorICAgICAgICA8aWV0ZjplMTE+CisgICAgICAgICAgIDxpZXRmOmUxMTE+PC9pZXRmOmUxMTE+CisgICAgICAgIDwvaWV0ZjplMTE+CisgICAgICAgIDxpZXRmOmUxMiBhdD0iMiI+CisgICAgICAgICAgIDxpZXRmOmUxMjE+PC9pZXRmOmUxMjE+CisgICAgICAgIDwvaWV0ZjplMTI+CisgICAgIDwvaWV0ZjplMT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9jMTRuLzEtMS13aXRob3V0LWNvbW1lbnRzL3htbHNwYWNlLXByb3AtMiBiL2xpYnhtbDIvcmVzdWx0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1sc3BhY2UtcHJvcC0yCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVhZGQ1ZmEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9jMTRuLzEtMS13aXRob3V0LWNvbW1lbnRzL3htbHNwYWNlLXByb3AtMgpAQCAtMCwwICsxLDMgQEAKKzxpZXRmOmUyIHhtbG5zOmlldGY9Imh0dHA6Ly93d3cuaWV0Zi5vcmciIHhtbG5zOnczYz0iaHR0cDovL3d3dy53My5vcmciPgorICAgICAgICA8aWV0ZjplMjE+PC9pZXRmOmUyMT4KKyAgICAgPC9pZXRmOmUyPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1sc3BhY2UtcHJvcC0zIGIvbGlieG1sMi9yZXN1bHQvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy94bWxzcGFjZS1wcm9wLTMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTRhMWE1NgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1sc3BhY2UtcHJvcC0zCkBAIC0wLDAgKzEsMyBAQAorPGlldGY6ZTExIHhtbG5zOmlldGY9Imh0dHA6Ly93d3cuaWV0Zi5vcmciIHhtbG5zOnczYz0iaHR0cDovL3d3dy53My5vcmciIHhtbDpzcGFjZT0idHJ1ZSI+CisgICAgICAgICAgIDxpZXRmOmUxMTE+PC9pZXRmOmUxMTE+CisgICAgICAgIDwvaWV0ZjplMTE+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy94bWxzcGFjZS1wcm9wLTQgYi9saWJ4bWwyL3Jlc3VsdC9jMTRuLzEtMS13aXRob3V0LWNvbW1lbnRzL3htbHNwYWNlLXByb3AtNApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hY2JkZGQ0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy94bWxzcGFjZS1wcm9wLTQKQEAgLTAsMCArMSw1IEBACis8aWV0ZjplMTEgeG1sbnM6aWV0Zj0iaHR0cDovL3d3dy5pZXRmLm9yZyIgeG1sbnM6dzNjPSJodHRwOi8vd3d3LnczLm9yZyIgeG1sOnNwYWNlPSJ0cnVlIj4KKyAgICAgICAgICAgPGlldGY6ZTExMT48L2lldGY6ZTExMT4KKyAgICAgICAgPC9pZXRmOmUxMT48aWV0ZjplMTIgeG1sbnM6aWV0Zj0iaHR0cDovL3d3dy5pZXRmLm9yZyIgeG1sbnM6dzNjPSJodHRwOi8vd3d3LnczLm9yZyIgYXQ9IjIiIHhtbDpzcGFjZT0idHJ1ZSI+CisgICAgICAgICAgIDxpZXRmOmUxMjE+PC9pZXRmOmUxMjE+CisgICAgICAgIDwvaWV0ZjplMTI+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMDkgYi9saWJ4bWwyL3Jlc3VsdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0wOQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNzlmZDZjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMDkKQEAgLTAsMCArMSw5IEBACis8YmFyOlNvbWV0aGluZyB4bWxuczpiYXI9Imh0dHA6Ly9leGFtcGxlLm9yZy9iYXIiPgorICAgICA8Zm9vOlNvbWV0aGluZyB4bWxuczpmb289Imh0dHA6Ly9leGFtcGxlLm9yZy9mb28iPgorICAgICAgICA8YmFyOlNvbWV0aGluZz4KKyAgICAgICAgICAgPGZvbzpTb21ldGhpbmc+CisgICAgICAgICAgICAgPGJhejpTb21ldGhpbmcgeG1sbnM6YmF6PSJodHRwOi8vZXhhbXBsZS5vcmcvYmF6Ij48L2JhejpTb21ldGhpbmc+CisgICAgICAgICAgIDwvZm9vOlNvbWV0aGluZz4KKyAgICAgICAgPC9iYXI6U29tZXRoaW5nPgorICAgICA8L2ZvbzpTb21ldGhpbmc+CisgIDwvYmFyOlNvbWV0aGluZz4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0xMCBiL2xpYnhtbDIvcmVzdWx0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTEwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI3OWZkNmMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0xMApAQCAtMCwwICsxLDkgQEAKKzxiYXI6U29tZXRoaW5nIHhtbG5zOmJhcj0iaHR0cDovL2V4YW1wbGUub3JnL2JhciI+CisgICAgIDxmb286U29tZXRoaW5nIHhtbG5zOmZvbz0iaHR0cDovL2V4YW1wbGUub3JnL2ZvbyI+CisgICAgICAgIDxiYXI6U29tZXRoaW5nPgorICAgICAgICAgICA8Zm9vOlNvbWV0aGluZz4KKyAgICAgICAgICAgICA8YmF6OlNvbWV0aGluZyB4bWxuczpiYXo9Imh0dHA6Ly9leGFtcGxlLm9yZy9iYXoiPjwvYmF6OlNvbWV0aGluZz4KKyAgICAgICAgICAgPC9mb286U29tZXRoaW5nPgorICAgICAgICA8L2JhcjpTb21ldGhpbmc+CisgICAgIDwvZm9vOlNvbWV0aGluZz4KKyAgPC9iYXI6U29tZXRoaW5nPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTExIGIvbGlieG1sMi9yZXN1bHQvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMTEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjc5ZmQ2YwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTExCkBAIC0wLDAgKzEsOSBAQAorPGJhcjpTb21ldGhpbmcgeG1sbnM6YmFyPSJodHRwOi8vZXhhbXBsZS5vcmcvYmFyIj4KKyAgICAgPGZvbzpTb21ldGhpbmcgeG1sbnM6Zm9vPSJodHRwOi8vZXhhbXBsZS5vcmcvZm9vIj4KKyAgICAgICAgPGJhcjpTb21ldGhpbmc+CisgICAgICAgICAgIDxmb286U29tZXRoaW5nPgorICAgICAgICAgICAgIDxiYXo6U29tZXRoaW5nIHhtbG5zOmJhej0iaHR0cDovL2V4YW1wbGUub3JnL2JheiI+PC9iYXo6U29tZXRoaW5nPgorICAgICAgICAgICA8L2ZvbzpTb21ldGhpbmc+CisgICAgICAgIDwvYmFyOlNvbWV0aGluZz4KKyAgICAgPC9mb286U29tZXRoaW5nPgorICA8L2JhcjpTb21ldGhpbmc+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMTIgYi9saWJ4bWwyL3Jlc3VsdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0xMgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZDUzMzQ2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMTIKQEAgLTAsMCArMSw5IEBACis8YmFyOlNvbWV0aGluZyB4bWxuczpiYXI9Imh0dHA6Ly9leGFtcGxlLm9yZy9iYXIiPgorICAgICAKKyAgICAgICAgPGJhcjpTb21ldGhpbmc+CisgICAgICAgICAgIAorICAgICAgICAgICAgIDxiYXo6U29tZXRoaW5nIHhtbG5zOmJhej0iaHR0cDovL2V4YW1wbGUub3JnL2JheiI+PC9iYXo6U29tZXRoaW5nPgorICAgICAgICAgICAKKyAgICAgICAgPC9iYXI6U29tZXRoaW5nPgorICAgICAKKyAgPC9iYXI6U29tZXRoaW5nPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTEzIGIvbGlieG1sMi9yZXN1bHQvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMTMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjdmYjZlNQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTEzCkBAIC0wLDAgKzEsOSBAQAorPGJhcjpTb21ldGhpbmc+CisgICAgIDxmb286U29tZXRoaW5nPgorICAgICAgICA8YmFyOlNvbWV0aGluZz4KKyAgICAgICAgICAgPGZvbzpTb21ldGhpbmc+CisgICAgICAgICAgICAgPGJhejpTb21ldGhpbmc+PC9iYXo6U29tZXRoaW5nPgorICAgICAgICAgICA8L2ZvbzpTb21ldGhpbmc+CisgICAgICAgIDwvYmFyOlNvbWV0aGluZz4KKyAgICAgPC9mb286U29tZXRoaW5nPgorICA8L2JhcjpTb21ldGhpbmc+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMTQgYi9saWJ4bWwyL3Jlc3VsdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0xNApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yN2ZiNmU1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMTQKQEAgLTAsMCArMSw5IEBACis8YmFyOlNvbWV0aGluZz4KKyAgICAgPGZvbzpTb21ldGhpbmc+CisgICAgICAgIDxiYXI6U29tZXRoaW5nPgorICAgICAgICAgICA8Zm9vOlNvbWV0aGluZz4KKyAgICAgICAgICAgICA8YmF6OlNvbWV0aGluZz48L2JhejpTb21ldGhpbmc+CisgICAgICAgICAgIDwvZm9vOlNvbWV0aGluZz4KKyAgICAgICAgPC9iYXI6U29tZXRoaW5nPgorICAgICA8L2ZvbzpTb21ldGhpbmc+CisgIDwvYmFyOlNvbWV0aGluZz4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0xNSBiL2xpYnhtbDIvcmVzdWx0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTE1Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0xNQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMTYgYi9saWJ4bWwyL3Jlc3VsdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0xNgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMTYKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTE3IGIvbGlieG1sMi9yZXN1bHQvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMTcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjdmYjZlNQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTE3CkBAIC0wLDAgKzEsOSBAQAorPGJhcjpTb21ldGhpbmc+CisgICAgIDxmb286U29tZXRoaW5nPgorICAgICAgICA8YmFyOlNvbWV0aGluZz4KKyAgICAgICAgICAgPGZvbzpTb21ldGhpbmc+CisgICAgICAgICAgICAgPGJhejpTb21ldGhpbmc+PC9iYXo6U29tZXRoaW5nPgorICAgICAgICAgICA8L2ZvbzpTb21ldGhpbmc+CisgICAgICAgIDwvYmFyOlNvbWV0aGluZz4KKyAgICAgPC9mb286U29tZXRoaW5nPgorICA8L2JhcjpTb21ldGhpbmc+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMTggYi9saWJ4bWwyL3Jlc3VsdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0xOApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42Njc1MzkxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMTgKQEAgLTAsMCArMSw5IEBACis8YmFyOlNvbWV0aGluZyB4bWxucz0iaHR0cDovL2V4YW1wbGUub3JnLyIgeG1sbnM6YmFyPSJodHRwOi8vZXhhbXBsZS5vcmcvYmFyIj4KKyAgICAgPGZvbzpTb21ldGhpbmcgeG1sbnM6Zm9vPSJodHRwOi8vZXhhbXBsZS5vcmcvZm9vIj4KKyAgICAgICAgPGJhcjpTb21ldGhpbmc+CisgICAgICAgICAgIDxmb286U29tZXRoaW5nPgorICAgICAgICAgICAgIDxiYXo6U29tZXRoaW5nIHhtbG5zOmJhej0iaHR0cDovL2V4YW1wbGUub3JnL2JheiI+PC9iYXo6U29tZXRoaW5nPgorICAgICAgICAgICA8L2ZvbzpTb21ldGhpbmc+CisgICAgICAgIDwvYmFyOlNvbWV0aGluZz4KKyAgICAgPC9mb286U29tZXRoaW5nPgorICA8L2JhcjpTb21ldGhpbmc+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMTkgYi9saWJ4bWwyL3Jlc3VsdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0xOQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNzlmZDZjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMTkKQEAgLTAsMCArMSw5IEBACis8YmFyOlNvbWV0aGluZyB4bWxuczpiYXI9Imh0dHA6Ly9leGFtcGxlLm9yZy9iYXIiPgorICAgICA8Zm9vOlNvbWV0aGluZyB4bWxuczpmb289Imh0dHA6Ly9leGFtcGxlLm9yZy9mb28iPgorICAgICAgICA8YmFyOlNvbWV0aGluZz4KKyAgICAgICAgICAgPGZvbzpTb21ldGhpbmc+CisgICAgICAgICAgICAgPGJhejpTb21ldGhpbmcgeG1sbnM6YmF6PSJodHRwOi8vZXhhbXBsZS5vcmcvYmF6Ij48L2JhejpTb21ldGhpbmc+CisgICAgICAgICAgIDwvZm9vOlNvbWV0aGluZz4KKyAgICAgICAgPC9iYXI6U29tZXRoaW5nPgorICAgICA8L2ZvbzpTb21ldGhpbmc+CisgIDwvYmFyOlNvbWV0aGluZz4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0yMCBiL2xpYnhtbDIvcmVzdWx0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTIwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI3OWZkNmMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0yMApAQCAtMCwwICsxLDkgQEAKKzxiYXI6U29tZXRoaW5nIHhtbG5zOmJhcj0iaHR0cDovL2V4YW1wbGUub3JnL2JhciI+CisgICAgIDxmb286U29tZXRoaW5nIHhtbG5zOmZvbz0iaHR0cDovL2V4YW1wbGUub3JnL2ZvbyI+CisgICAgICAgIDxiYXI6U29tZXRoaW5nPgorICAgICAgICAgICA8Zm9vOlNvbWV0aGluZz4KKyAgICAgICAgICAgICA8YmF6OlNvbWV0aGluZyB4bWxuczpiYXo9Imh0dHA6Ly9leGFtcGxlLm9yZy9iYXoiPjwvYmF6OlNvbWV0aGluZz4KKyAgICAgICAgICAgPC9mb286U29tZXRoaW5nPgorICAgICAgICA8L2JhcjpTb21ldGhpbmc+CisgICAgIDwvZm9vOlNvbWV0aGluZz4KKyAgPC9iYXI6U29tZXRoaW5nPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTIxIGIvbGlieG1sMi9yZXN1bHQvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMjEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2Q1MzM0NgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTIxCkBAIC0wLDAgKzEsOSBAQAorPGJhcjpTb21ldGhpbmcgeG1sbnM6YmFyPSJodHRwOi8vZXhhbXBsZS5vcmcvYmFyIj4KKyAgICAgCisgICAgICAgIDxiYXI6U29tZXRoaW5nPgorICAgICAgICAgICAKKyAgICAgICAgICAgICA8YmF6OlNvbWV0aGluZyB4bWxuczpiYXo9Imh0dHA6Ly9leGFtcGxlLm9yZy9iYXoiPjwvYmF6OlNvbWV0aGluZz4KKyAgICAgICAgICAgCisgICAgICAgIDwvYmFyOlNvbWV0aGluZz4KKyAgICAgCisgIDwvYmFyOlNvbWV0aGluZz4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0yMiBiL2xpYnhtbDIvcmVzdWx0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTIyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI3ZmI2ZTUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0yMgpAQCAtMCwwICsxLDkgQEAKKzxiYXI6U29tZXRoaW5nPgorICAgICA8Zm9vOlNvbWV0aGluZz4KKyAgICAgICAgPGJhcjpTb21ldGhpbmc+CisgICAgICAgICAgIDxmb286U29tZXRoaW5nPgorICAgICAgICAgICAgIDxiYXo6U29tZXRoaW5nPjwvYmF6OlNvbWV0aGluZz4KKyAgICAgICAgICAgPC9mb286U29tZXRoaW5nPgorICAgICAgICA8L2JhcjpTb21ldGhpbmc+CisgICAgIDwvZm9vOlNvbWV0aGluZz4KKyAgPC9iYXI6U29tZXRoaW5nPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTIzIGIvbGlieG1sMi9yZXN1bHQvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMjMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjdmYjZlNQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTIzCkBAIC0wLDAgKzEsOSBAQAorPGJhcjpTb21ldGhpbmc+CisgICAgIDxmb286U29tZXRoaW5nPgorICAgICAgICA8YmFyOlNvbWV0aGluZz4KKyAgICAgICAgICAgPGZvbzpTb21ldGhpbmc+CisgICAgICAgICAgICAgPGJhejpTb21ldGhpbmc+PC9iYXo6U29tZXRoaW5nPgorICAgICAgICAgICA8L2ZvbzpTb21ldGhpbmc+CisgICAgICAgIDwvYmFyOlNvbWV0aGluZz4KKyAgICAgPC9mb286U29tZXRoaW5nPgorICA8L2JhcjpTb21ldGhpbmc+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMjQgYi9saWJ4bWwyL3Jlc3VsdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0yNApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNjJjNzQ2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMjQKQEAgLTAsMCArMSBAQAorIHhtbG5zPSJodHRwOi8vZXhhbXBsZS5vcmcvIiB4bWxucz0iaHR0cDovL2V4YW1wbGUub3JnLyIgeG1sbnM9Imh0dHA6Ly9leGFtcGxlLm9yZy8iIHhtbG5zPSJodHRwOi8vZXhhbXBsZS5vcmcvIiB4bWxucz0iaHR0cDovL2V4YW1wbGUub3JnLyIKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0yNSBiL2xpYnhtbDIvcmVzdWx0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTI1Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0yNQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMjYgYi9saWJ4bWwyL3Jlc3VsdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0yNgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZjdlYjZlCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMjYKQEAgLTAsMCArMSw5IEBACis8YmFyOlNvbWV0aGluZz4KKyAgICAgPGZvbzpTb21ldGhpbmcgeG1sbnM9Imh0dHA6Ly9leGFtcGxlLm9yZy8iPgorICAgICAgICA8YmFyOlNvbWV0aGluZyB4bWxucz0iIj4KKyAgICAgICAgICAgPGZvbzpTb21ldGhpbmcgeG1sbnM9Imh0dHA6Ly9leGFtcGxlLm9yZy8iPgorICAgICAgICAgICAgIDxiYXo6U29tZXRoaW5nIHhtbG5zPSIiPjwvYmF6OlNvbWV0aGluZz4KKyAgICAgICAgICAgPC9mb286U29tZXRoaW5nPgorICAgICAgICA8L2JhcjpTb21ldGhpbmc+CisgICAgIDwvZm9vOlNvbWV0aGluZz4KKyAgPC9iYXI6U29tZXRoaW5nPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvdGVzdC0wIGIvbGlieG1sMi9yZXN1bHQvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy90ZXN0LTAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzgwNmVhMAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvdGVzdC0wCkBAIC0wLDAgKzEsNyBAQAorPGU2IHRlc3Q9Ii4uL2JheiI+CisgICAgICAgPGU3IHhtbG5zPSJodHRwOi8vd3d3LmlldGYub3JnIj4KKyAgICAgICAgICAgPGU4IHhtbG5zPSIiIHhtbG5zOmE9Imh0dHA6Ly93d3cudzMub3JnIiBhOmZvbz0iYmFyIj4KKyAgICAgICAgICAgICAgIDxlOSBhdHRyPSJkZWZhdWx0Ij48L2U5PgorICAgICAgICAgICA8L2U4PgorICAgICAgIDwvZTc+CisgICA8L2U2PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvdGVzdC0xIGIvbGlieG1sMi9yZXN1bHQvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy90ZXN0LTEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmQ1OTMwZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvdGVzdC0xCkBAIC0wLDAgKzEsNyBAQAorPGU2IHhtbG5zOmE9Imh0dHA6Ly93d3cudzMub3JnIiB0ZXN0PSIuLi9iYXoiPgorICAgICAgIDxlNyB4bWxucz0iaHR0cDovL3d3dy5pZXRmLm9yZyI+CisgICAgICAgICAgIDxlOCB4bWxucz0iIiBhOmZvbz0iYmFyIj4KKyAgICAgICAgICAgICAgIDxlOSB4bWxuczphPSJodHRwOi8vd3d3LmlldGYub3JnIiBhdHRyPSJkZWZhdWx0Ij48L2U5PgorICAgICAgICAgICA8L2U4PgorICAgICAgIDwvZTc+CisgICA8L2U2PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvdGVzdC0yIGIvbGlieG1sMi9yZXN1bHQvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy90ZXN0LTIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGI4YTBjYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvdGVzdC0yCkBAIC0wLDAgKzEsMTEgQEAKKzxTaWduZWRJbmZvIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjIj4KKyAgICA8ZHM6Q2Fub25pY2FsaXphdGlvbk1ldGhvZCB4bWxuczpkcz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC8wOS94bWxkc2lnIyIgQWxnb3JpdGhtPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxLzEwL3htbC1leGMtYzE0biMiPjwvZHM6Q2Fub25pY2FsaXphdGlvbk1ldGhvZD4KKyAgICA8U2lnbmF0dXJlTWV0aG9kIEFsZ29yaXRobT0iaHR0cDovL3d3dy53My5vcmcvMjAwMC8wOS94bWxkc2lnI3JzYS1zaGExIj48L1NpZ25hdHVyZU1ldGhvZD4KKyAgICA8UmVmZXJlbmNlIFVSST0iI25kaWQ6MTIzNC01Njc4LTA5ODciPgorICAgICAgPFRyYW5zZm9ybXM+CisgICAgICAgIDxUcmFuc2Zvcm0gQWxnb3JpdGhtPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxLzEwL3htbC1leGMtYzE0biMiPjwvVHJhbnNmb3JtPgorICAgICAgPC9UcmFuc2Zvcm1zPgorICAgICAgPERpZ2VzdE1ldGhvZCBBbGdvcml0aG09Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvMDkveG1sZHNpZyNzaGExIj48L0RpZ2VzdE1ldGhvZD4KKyAgICAgIDxEaWdlc3RWYWx1ZT5zajFWWERCMlZNQ1U1cW12YTJPdER3M2tLT3M9PC9EaWdlc3RWYWx1ZT4KKyAgICA8L1JlZmVyZW5jZT4KKyAgPC9TaWduZWRJbmZvPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2MxNG4vd2l0aC1jb21tZW50cy9leGFtcGxlLTEgYi9saWJ4bWwyL3Jlc3VsdC9jMTRuL3dpdGgtY29tbWVudHMvZXhhbXBsZS0xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ5OGQxNjgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9jMTRuL3dpdGgtY29tbWVudHMvZXhhbXBsZS0xCkBAIC0wLDAgKzEsNiBAQAorPD94bWwtc3R5bGVzaGVldCBocmVmPSJkb2MueHNsIgorICAgdHlwZT0idGV4dC94c2wiICAgPz4KKzxkb2M+SGVsbG8sIHdvcmxkITwhLS0gQ29tbWVudCAxIC0tPjwvZG9jPgorPD9waS13aXRob3V0LWRhdGE/PgorPCEtLSBDb21tZW50IDIgLS0+Cis8IS0tIENvbW1lbnQgMyAtLT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9jMTRuL3dpdGgtY29tbWVudHMvZXhhbXBsZS0yIGIvbGlieG1sMi9yZXN1bHQvYzE0bi93aXRoLWNvbW1lbnRzL2V4YW1wbGUtMgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYWZhMTVjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvYzE0bi93aXRoLWNvbW1lbnRzL2V4YW1wbGUtMgpAQCAtMCwwICsxLDExIEBACis8ZG9jPgorICAgPGNsZWFuPiAgIDwvY2xlYW4+CisgICA8ZGlydHk+ICAgQSAgIEIgICA8L2RpcnR5PgorICAgPG1peGVkPgorICAgICAgQQorICAgICAgPGNsZWFuPiAgIDwvY2xlYW4+CisgICAgICBCCisgICAgICA8ZGlydHk+ICAgQSAgIEIgICA8L2RpcnR5PgorICAgICAgQworICAgPC9taXhlZD4KKzwvZG9jPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2MxNG4vd2l0aC1jb21tZW50cy9leGFtcGxlLTMgYi9saWJ4bWwyL3Jlc3VsdC9jMTRuL3dpdGgtY29tbWVudHMvZXhhbXBsZS0zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRjMjg3ZTYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9jMTRuL3dpdGgtY29tbWVudHMvZXhhbXBsZS0zCkBAIC0wLDAgKzEsMTQgQEAKKzxkb2M+CisgICA8ZTE+PC9lMT4KKyAgIDxlMj48L2UyPgorICAgPGUzIGlkPSJlbGVtMyIgbmFtZT0iZWxlbTMiPjwvZTM+CisgICA8ZTQgaWQ9ImVsZW00IiBuYW1lPSJlbGVtNCI+PC9lND4KKyAgIDxlNSB4bWxucz0iaHR0cDovL3d3dy51dmljLmNhIiB4bWxuczphPSJodHRwOi8vd3d3LnczLm9yZyIgeG1sbnM6Yj0iaHR0cDovL3d3dy5pZXRmLm9yZyIgYXR0cj0iSSdtIiBhdHRyMj0iYWxsIiBiOmF0dHI9InNvcnRlZCIgYTphdHRyPSJvdXQiPjwvZTU+CisgICA8ZTYgeG1sbnM6YT0iaHR0cDovL3d3dy53My5vcmciPgorICAgICAgIDxlNyB4bWxucz0iaHR0cDovL3d3dy5pZXRmLm9yZyI+CisgICAgICAgICAgIDxlOCB4bWxucz0iIj4KKyAgICAgICAgICAgICAgIDxlOSB4bWxuczphPSJodHRwOi8vd3d3LmlldGYub3JnIiBhdHRyPSJkZWZhdWx0Ij48L2U5PgorICAgICAgICAgICA8L2U4PgorICAgICAgIDwvZTc+CisgICA8L2U2PgorPC9kb2M+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvYzE0bi93aXRoLWNvbW1lbnRzL2V4YW1wbGUtNCBiL2xpYnhtbDIvcmVzdWx0L2MxNG4vd2l0aC1jb21tZW50cy9leGFtcGxlLTQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTlhMjU1OQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2MxNG4vd2l0aC1jb21tZW50cy9leGFtcGxlLTQKQEAgLTAsMCArMSw5IEBACis8ZG9jPgorICAgPHRleHQ+Rmlyc3QgbGluZSYjeEQ7CitTZWNvbmQgbGluZTwvdGV4dD4KKyAgIDx2YWx1ZT4yPC92YWx1ZT4KKyAgIDxjb21wdXRlPnZhbHVlJmd0OyIwIiAmYW1wOyZhbXA7IHZhbHVlJmx0OyIxMCIgPyJ2YWxpZCI6ImVycm9yIjwvY29tcHV0ZT4KKyAgIDxjb21wdXRlIGV4cHI9InZhbHVlPiZxdW90OzAmcXVvdDsgJmFtcDsmYW1wOyB2YWx1ZSZsdDsmcXVvdDsxMCZxdW90OyA/JnF1b3Q7dmFsaWQmcXVvdDs6JnF1b3Q7ZXJyb3ImcXVvdDsiPnZhbGlkPC9jb21wdXRlPgorICAgPG5vcm0gYXR0cj0iICcgICAgJiN4RDsmI3hBOyYjeDk7ICAgJyAiPjwvbm9ybT4KKyAgIDxub3JtSWQgaWQ9IicgJiN4RDsmI3hBOyYjeDk7ICciPjwvbm9ybUlkPgorPC9kb2M+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvYzE0bi93aXRoLWNvbW1lbnRzL2V4YW1wbGUtNSBiL2xpYnhtbDIvcmVzdWx0L2MxNG4vd2l0aC1jb21tZW50cy9leGFtcGxlLTUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDU3ZDQwMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2MxNG4vd2l0aC1jb21tZW50cy9leGFtcGxlLTUKQEAgLTAsMCArMSw0IEBACis8ZG9jIGF0dHJFeHRFbnQ9ImVudEV4dCI+CisgICBIZWxsbywgd29ybGQhCis8L2RvYz4KKzwhLS0gTGV0IHdvcmxkLnR4dCBjb250YWluICJ3b3JsZCIgKGV4Y2x1ZGluZyB0aGUgcXVvdGVzKSAtLT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9jMTRuL3dpdGgtY29tbWVudHMvZXhhbXBsZS02IGIvbGlieG1sMi9yZXN1bHQvYzE0bi93aXRoLWNvbW1lbnRzL2V4YW1wbGUtNgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYmUzOGY5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvYzE0bi93aXRoLWNvbW1lbnRzL2V4YW1wbGUtNgpAQCAtMCwwICsxIEBACis8ZG9jPsKpPC9kb2M+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvYzE0bi93aXRoLWNvbW1lbnRzL2V4YW1wbGUtNyBiL2xpYnhtbDIvcmVzdWx0L2MxNG4vd2l0aC1jb21tZW50cy9leGFtcGxlLTcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGE5NmNjNAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2MxNG4vd2l0aC1jb21tZW50cy9leGFtcGxlLTcKQEAgLTAsMCArMSBAQAorPGUxIHhtbG5zPSJodHRwOi8vd3d3LmlldGYub3JnIiB4bWxuczp3M2M9Imh0dHA6Ly93d3cudzMub3JnIj48ZTMgeG1sbnM9IiIgaWQ9IkUzIiB4bWw6c3BhY2U9InByZXNlcnZlIj48L2UzPjwvZTE+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvYzE0bi93aXRob3V0LWNvbW1lbnRzL2V4YW1wbGUtMSBiL2xpYnhtbDIvcmVzdWx0L2MxNG4vd2l0aG91dC1jb21tZW50cy9leGFtcGxlLTEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWY5YTk3NwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2MxNG4vd2l0aG91dC1jb21tZW50cy9leGFtcGxlLTEKQEAgLTAsMCArMSw0IEBACis8P3htbC1zdHlsZXNoZWV0IGhyZWY9ImRvYy54c2wiCisgICB0eXBlPSJ0ZXh0L3hzbCIgICA/PgorPGRvYz5IZWxsbywgd29ybGQhPC9kb2M+Cis8P3BpLXdpdGhvdXQtZGF0YT8+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvYzE0bi93aXRob3V0LWNvbW1lbnRzL2V4YW1wbGUtMiBiL2xpYnhtbDIvcmVzdWx0L2MxNG4vd2l0aG91dC1jb21tZW50cy9leGFtcGxlLTIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmFmYTE1YwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2MxNG4vd2l0aG91dC1jb21tZW50cy9leGFtcGxlLTIKQEAgLTAsMCArMSwxMSBAQAorPGRvYz4KKyAgIDxjbGVhbj4gICA8L2NsZWFuPgorICAgPGRpcnR5PiAgIEEgICBCICAgPC9kaXJ0eT4KKyAgIDxtaXhlZD4KKyAgICAgIEEKKyAgICAgIDxjbGVhbj4gICA8L2NsZWFuPgorICAgICAgQgorICAgICAgPGRpcnR5PiAgIEEgICBCICAgPC9kaXJ0eT4KKyAgICAgIEMKKyAgIDwvbWl4ZWQ+Cis8L2RvYz4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9jMTRuL3dpdGhvdXQtY29tbWVudHMvZXhhbXBsZS0zIGIvbGlieG1sMi9yZXN1bHQvYzE0bi93aXRob3V0LWNvbW1lbnRzL2V4YW1wbGUtMwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YzI4N2U2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvYzE0bi93aXRob3V0LWNvbW1lbnRzL2V4YW1wbGUtMwpAQCAtMCwwICsxLDE0IEBACis8ZG9jPgorICAgPGUxPjwvZTE+CisgICA8ZTI+PC9lMj4KKyAgIDxlMyBpZD0iZWxlbTMiIG5hbWU9ImVsZW0zIj48L2UzPgorICAgPGU0IGlkPSJlbGVtNCIgbmFtZT0iZWxlbTQiPjwvZTQ+CisgICA8ZTUgeG1sbnM9Imh0dHA6Ly93d3cudXZpYy5jYSIgeG1sbnM6YT0iaHR0cDovL3d3dy53My5vcmciIHhtbG5zOmI9Imh0dHA6Ly93d3cuaWV0Zi5vcmciIGF0dHI9IkknbSIgYXR0cjI9ImFsbCIgYjphdHRyPSJzb3J0ZWQiIGE6YXR0cj0ib3V0Ij48L2U1PgorICAgPGU2IHhtbG5zOmE9Imh0dHA6Ly93d3cudzMub3JnIj4KKyAgICAgICA8ZTcgeG1sbnM9Imh0dHA6Ly93d3cuaWV0Zi5vcmciPgorICAgICAgICAgICA8ZTggeG1sbnM9IiI+CisgICAgICAgICAgICAgICA8ZTkgeG1sbnM6YT0iaHR0cDovL3d3dy5pZXRmLm9yZyIgYXR0cj0iZGVmYXVsdCI+PC9lOT4KKyAgICAgICAgICAgPC9lOD4KKyAgICAgICA8L2U3PgorICAgPC9lNj4KKzwvZG9jPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2MxNG4vd2l0aG91dC1jb21tZW50cy9leGFtcGxlLTQgYi9saWJ4bWwyL3Jlc3VsdC9jMTRuL3dpdGhvdXQtY29tbWVudHMvZXhhbXBsZS00Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE5YTI1NTkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9jMTRuL3dpdGhvdXQtY29tbWVudHMvZXhhbXBsZS00CkBAIC0wLDAgKzEsOSBAQAorPGRvYz4KKyAgIDx0ZXh0PkZpcnN0IGxpbmUmI3hEOworU2Vjb25kIGxpbmU8L3RleHQ+CisgICA8dmFsdWU+MjwvdmFsdWU+CisgICA8Y29tcHV0ZT52YWx1ZSZndDsiMCIgJmFtcDsmYW1wOyB2YWx1ZSZsdDsiMTAiID8idmFsaWQiOiJlcnJvciI8L2NvbXB1dGU+CisgICA8Y29tcHV0ZSBleHByPSJ2YWx1ZT4mcXVvdDswJnF1b3Q7ICZhbXA7JmFtcDsgdmFsdWUmbHQ7JnF1b3Q7MTAmcXVvdDsgPyZxdW90O3ZhbGlkJnF1b3Q7OiZxdW90O2Vycm9yJnF1b3Q7Ij52YWxpZDwvY29tcHV0ZT4KKyAgIDxub3JtIGF0dHI9IiAnICAgICYjeEQ7JiN4QTsmI3g5OyAgICcgIj48L25vcm0+CisgICA8bm9ybUlkIGlkPSInICYjeEQ7JiN4QTsmI3g5OyAnIj48L25vcm1JZD4KKzwvZG9jPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2MxNG4vd2l0aG91dC1jb21tZW50cy9leGFtcGxlLTUgYi9saWJ4bWwyL3Jlc3VsdC9jMTRuL3dpdGhvdXQtY29tbWVudHMvZXhhbXBsZS01Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMyMzJlNzQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9jMTRuL3dpdGhvdXQtY29tbWVudHMvZXhhbXBsZS01CkBAIC0wLDAgKzEsMyBAQAorPGRvYyBhdHRyRXh0RW50PSJlbnRFeHQiPgorICAgSGVsbG8sIHdvcmxkIQorPC9kb2M+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvYzE0bi93aXRob3V0LWNvbW1lbnRzL2V4YW1wbGUtNiBiL2xpYnhtbDIvcmVzdWx0L2MxNG4vd2l0aG91dC1jb21tZW50cy9leGFtcGxlLTYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGJlMzhmOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2MxNG4vd2l0aG91dC1jb21tZW50cy9leGFtcGxlLTYKQEAgLTAsMCArMSBAQAorPGRvYz7CqTwvZG9jPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2MxNG4vd2l0aG91dC1jb21tZW50cy9leGFtcGxlLTcgYi9saWJ4bWwyL3Jlc3VsdC9jMTRuL3dpdGhvdXQtY29tbWVudHMvZXhhbXBsZS03Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBhOTZjYzQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9jMTRuL3dpdGhvdXQtY29tbWVudHMvZXhhbXBsZS03CkBAIC0wLDAgKzEgQEAKKzxlMSB4bWxucz0iaHR0cDovL3d3dy5pZXRmLm9yZyIgeG1sbnM6dzNjPSJodHRwOi8vd3d3LnczLm9yZyI+PGUzIHhtbG5zPSIiIGlkPSJFMyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PC9lMz48L2UxPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2MxNG4vd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMDAgYi9saWJ4bWwyL3Jlc3VsdC9jMTRuL3dpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTAwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJjYTJiMzAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9jMTRuL3dpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTAwCkBAIC0wLDAgKzEsOSBAQAorPGJhcjpTb21ldGhpbmcgeG1sbnM9Imh0dHA6Ly9leGFtcGxlLm9yZy8iIHhtbG5zOmJhcj0iaHR0cDovL2V4YW1wbGUub3JnL2JhciIgeG1sbnM6YmF6PSJodHRwOi8vZXhhbXBsZS5vcmcvYmF6IiB4bWxuczpmb289Imh0dHA6Ly9leGFtcGxlLm9yZy9mb28iIHhtbDpsYW5nPSJlbi1pZSI+CisgICAgIDxmb286U29tZXRoaW5nPgorICAgICAgICA8YmFyOlNvbWV0aGluZz4KKyAgICAgICAgICAgPGZvbzpTb21ldGhpbmc+CisgICAgICAgICAgICAgPGJhejpTb21ldGhpbmc+PC9iYXo6U29tZXRoaW5nPgorICAgICAgICAgICA8L2ZvbzpTb21ldGhpbmc+CisgICAgICAgIDwvYmFyOlNvbWV0aGluZz4KKyAgICAgPC9mb286U29tZXRoaW5nPgorICA8L2JhcjpTb21ldGhpbmc+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvYzE0bi93aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0wMSBiL2xpYnhtbDIvcmVzdWx0L2MxNG4vd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMDEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmU0MmVkZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2MxNG4vd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMDEKQEAgLTAsMCArMSw5IEBACis8YmFyOlNvbWV0aGluZyB4bWxuczpiYXI9Imh0dHA6Ly9leGFtcGxlLm9yZy9iYXIiIHhtbDpsYW5nPSJlbi1pZSI+CisgICAgIDxmb286U29tZXRoaW5nIHhtbG5zOmZvbz0iaHR0cDovL2V4YW1wbGUub3JnL2ZvbyI+CisgICAgICAgIDxiYXI6U29tZXRoaW5nIHhtbG5zOmJhcj0iaHR0cDovL2V4YW1wbGUub3JnL2JhciI+CisgICAgICAgICAgIDxmb286U29tZXRoaW5nIHhtbG5zOmZvbz0iaHR0cDovL2V4YW1wbGUub3JnL2ZvbyI+CisgICAgICAgICAgICAgPGJhejpTb21ldGhpbmcgeG1sbnM6YmF6PSJodHRwOi8vZXhhbXBsZS5vcmcvYmF6Ij48L2JhejpTb21ldGhpbmc+CisgICAgICAgICAgIDwvZm9vOlNvbWV0aGluZz4KKyAgICAgICAgPC9iYXI6U29tZXRoaW5nPgorICAgICA8L2ZvbzpTb21ldGhpbmc+CisgIDwvYmFyOlNvbWV0aGluZz4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9jMTRuL3dpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTAyIGIvbGlieG1sMi9yZXN1bHQvYzE0bi93aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0wMgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZTQyZWRmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvYzE0bi93aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0wMgpAQCAtMCwwICsxLDkgQEAKKzxiYXI6U29tZXRoaW5nIHhtbG5zOmJhcj0iaHR0cDovL2V4YW1wbGUub3JnL2JhciIgeG1sOmxhbmc9ImVuLWllIj4KKyAgICAgPGZvbzpTb21ldGhpbmcgeG1sbnM6Zm9vPSJodHRwOi8vZXhhbXBsZS5vcmcvZm9vIj4KKyAgICAgICAgPGJhcjpTb21ldGhpbmcgeG1sbnM6YmFyPSJodHRwOi8vZXhhbXBsZS5vcmcvYmFyIj4KKyAgICAgICAgICAgPGZvbzpTb21ldGhpbmcgeG1sbnM6Zm9vPSJodHRwOi8vZXhhbXBsZS5vcmcvZm9vIj4KKyAgICAgICAgICAgICA8YmF6OlNvbWV0aGluZyB4bWxuczpiYXo9Imh0dHA6Ly9leGFtcGxlLm9yZy9iYXoiPjwvYmF6OlNvbWV0aGluZz4KKyAgICAgICAgICAgPC9mb286U29tZXRoaW5nPgorICAgICAgICA8L2JhcjpTb21ldGhpbmc+CisgICAgIDwvZm9vOlNvbWV0aGluZz4KKyAgPC9iYXI6U29tZXRoaW5nPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2MxNG4vd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMDMgYi9saWJ4bWwyL3Jlc3VsdC9jMTRuL3dpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTAzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE3MDM1NGEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9jMTRuL3dpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTAzCkBAIC0wLDAgKzEsOSBAQAorPGJhcjpTb21ldGhpbmcgeG1sbnM6YmFyPSJodHRwOi8vZXhhbXBsZS5vcmcvYmFyIiB4bWw6bGFuZz0iZW4taWUiPgorICAgICAgeG1sbnM6Zm9vPSJodHRwOi8vZXhhbXBsZS5vcmcvZm9vIgorICAgICAgICA8YmFyOlNvbWV0aGluZyB4bWw6bGFuZz0iZW4taWUiPgorICAgICAgICAgICAgeG1sbnM6Zm9vPSJodHRwOi8vZXhhbXBsZS5vcmcvZm9vIgorICAgICAgICAgICAgIDxiYXo6U29tZXRoaW5nIHhtbG5zOmJhej0iaHR0cDovL2V4YW1wbGUub3JnL2JheiIgeG1sOmxhbmc9ImVuLWllIj48L2JhejpTb21ldGhpbmc+CisgICAgICAgICAgIAorICAgICAgICA8L2JhcjpTb21ldGhpbmc+CisgICAgIAorICA8L2JhcjpTb21ldGhpbmc+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvYzE0bi93aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0wNCBiL2xpYnhtbDIvcmVzdWx0L2MxNG4vd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMDQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTg1Y2JmMwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2MxNG4vd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMDQKQEAgLTAsMCArMSw5IEBACis8YmFyOlNvbWV0aGluZyB4bWw6bGFuZz0iZW4taWUiPgorICAgICA8Zm9vOlNvbWV0aGluZz4KKyAgICAgICAgPGJhcjpTb21ldGhpbmc+CisgICAgICAgICAgIDxmb286U29tZXRoaW5nPgorICAgICAgICAgICAgIDxiYXo6U29tZXRoaW5nPjwvYmF6OlNvbWV0aGluZz4KKyAgICAgICAgICAgPC9mb286U29tZXRoaW5nPgorICAgICAgICA8L2JhcjpTb21ldGhpbmc+CisgICAgIDwvZm9vOlNvbWV0aGluZz4KKyAgPC9iYXI6U29tZXRoaW5nPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2MxNG4vd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMDUgYi9saWJ4bWwyL3Jlc3VsdC9jMTRuL3dpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTA1Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE4NWNiZjMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9jMTRuL3dpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTA1CkBAIC0wLDAgKzEsOSBAQAorPGJhcjpTb21ldGhpbmcgeG1sOmxhbmc9ImVuLWllIj4KKyAgICAgPGZvbzpTb21ldGhpbmc+CisgICAgICAgIDxiYXI6U29tZXRoaW5nPgorICAgICAgICAgICA8Zm9vOlNvbWV0aGluZz4KKyAgICAgICAgICAgICA8YmF6OlNvbWV0aGluZz48L2JhejpTb21ldGhpbmc+CisgICAgICAgICAgIDwvZm9vOlNvbWV0aGluZz4KKyAgICAgICAgPC9iYXI6U29tZXRoaW5nPgorICAgICA8L2ZvbzpTb21ldGhpbmc+CisgIDwvYmFyOlNvbWV0aGluZz4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9jMTRuL3dpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTA2IGIvbGlieG1sMi9yZXN1bHQvYzE0bi93aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0wNgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYjQ1ZDBiCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvYzE0bi93aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0wNgpAQCAtMCwwICsxIEBACisgeG1sbnM9Imh0dHA6Ly9leGFtcGxlLm9yZy8iIHhtbG5zOmJhcj0iaHR0cDovL2V4YW1wbGUub3JnL2JhciIgeG1sbnM6YmF6PSJodHRwOi8vZXhhbXBsZS5vcmcvYmF6IiB4bWxuczpmb289Imh0dHA6Ly9leGFtcGxlLm9yZy9mb28iIHhtbG5zPSJodHRwOi8vZXhhbXBsZS5vcmcvIiB4bWxuczpiYXI9Imh0dHA6Ly9leGFtcGxlLm9yZy9iYXIiIHhtbG5zOmJhej0iaHR0cDovL2V4YW1wbGUub3JnL2JheiIgeG1sbnM6Zm9vPSJodHRwOi8vZXhhbXBsZS5vcmcvZm9vIiB4bWxucz0iaHR0cDovL2V4YW1wbGUub3JnLyIgeG1sbnM6YmFyPSJodHRwOi8vZXhhbXBsZS5vcmcvYmFyIiB4bWxuczpiYXo9Imh0dHA6Ly9leGFtcGxlLm9yZy9iYXoiIHhtbG5zOmZvbz0iaHR0cDovL2V4YW1wbGUub3JnL2ZvbyIgeG1sbnM9Imh0dHA6Ly9leGFtcGxlLm9yZy8iIHhtbG5zOmJhcj0iaHR0cDovL2V4YW1wbGUub3JnL2JhciIgeG1sbnM6YmF6PSJodHRwOi8vZXhhbXBsZS5vcmcvYmF6IiB4bWxuczpmb289Imh0dHA6Ly9leGFtcGxlLm9yZy9mb28iIHhtbG5zPSJodHRwOi8vZXhhbXBsZS5vcmcvIiB4bWxuczpiYXI9Imh0dHA6Ly9leGFtcGxlLm9yZy9iYXIiIHhtbG5zOmJhej0iaHR0cDovL2V4YW1wbGUub3JnL2JheiIgeG1sbnM6Zm9vPSJodHRwOi8vZXhhbXBsZS5vcmcvZm9vIgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2MxNG4vd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMDcgYi9saWJ4bWwyL3Jlc3VsdC9jMTRuL3dpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTA3Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM0MmZmYzEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9jMTRuL3dpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTA3CkBAIC0wLDAgKzEgQEAKKyB4bWxuczpiYXI9Imh0dHA6Ly9leGFtcGxlLm9yZy9iYXIiIHhtbG5zOmZvbz0iaHR0cDovL2V4YW1wbGUub3JnL2ZvbyIgeG1sbnM6YmFyPSJodHRwOi8vZXhhbXBsZS5vcmcvYmFyIiB4bWxuczpmb289Imh0dHA6Ly9leGFtcGxlLm9yZy9mb28iIHhtbG5zOmJhej0iaHR0cDovL2V4YW1wbGUub3JnL2JheiIKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9jMTRuL3dpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTA4IGIvbGlieG1sMi9yZXN1bHQvYzE0bi93aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0wOApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZjViYmI0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvYzE0bi93aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0wOApAQCAtMCwwICsxLDkgQEAKKzxiYXI6U29tZXRoaW5nIHhtbDpsYW5nPSJlbi1pZSI+CisgICAgIDxmb286U29tZXRoaW5nIHhtbG5zPSJodHRwOi8vZXhhbXBsZS5vcmcvIj4KKyAgICAgICAgPGJhcjpTb21ldGhpbmcgeG1sbnM9IiI+CisgICAgICAgICAgIDxmb286U29tZXRoaW5nIHhtbG5zPSJodHRwOi8vZXhhbXBsZS5vcmcvIj4KKyAgICAgICAgICAgICA8YmF6OlNvbWV0aGluZyB4bWxucz0iIj48L2JhejpTb21ldGhpbmc+CisgICAgICAgICAgIDwvZm9vOlNvbWV0aGluZz4KKyAgICAgICAgPC9iYXI6U29tZXRoaW5nPgorICAgICA8L2ZvbzpTb21ldGhpbmc+CisgIDwvYmFyOlNvbWV0aGluZz4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9jMTRuL3dpdGhvdXQtY29tbWVudHMvdGVzdC0wIGIvbGlieG1sMi9yZXN1bHQvYzE0bi93aXRob3V0LWNvbW1lbnRzL3Rlc3QtMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMTNkZTMzCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvYzE0bi93aXRob3V0LWNvbW1lbnRzL3Rlc3QtMApAQCAtMCwwICsxIEBACitJIGFtIHRoZSB0ZXh0LgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2MxNG4vd2l0aG91dC1jb21tZW50cy90ZXN0LTEgYi9saWJ4bWwyL3Jlc3VsdC9jMTRuL3dpdGhvdXQtY29tbWVudHMvdGVzdC0xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAxNTBmNGEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9jMTRuL3dpdGhvdXQtY29tbWVudHMvdGVzdC0xCkBAIC0wLDAgKzEsMzEgQEAKKzxYNTA5RGF0YSB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC8wOS94bWxkc2lnIyI+CisgICAgICAgICAgPFg1MDlTdWJqZWN0TmFtZT4KKyAgICAgICAgICAgIENOPU1lcmxpbiBIdWdoZXMsTz1CYWx0aW1vcmUgVGVjaG5vbG9naWVzXCwgTHRkLixTVD1EdWJsaW4sQz1JRQorICAgICAgICAgIDwvWDUwOVN1YmplY3ROYW1lPgorICAgICAgICAgIDxYNTA5SXNzdWVyU2VyaWFsPgorICAgICAgICAgICAgPFg1MDlJc3N1ZXJOYW1lPgorICAgICAgICAgICAgICBDTj1UZXN0IERTQSBDQSxPPUJhbHRpbW9yZSBUZWNobm9sb2dpZXNcLCBMdGQuLFNUPUR1YmxpbixDPUlFCisgICAgICAgICAgICA8L1g1MDlJc3N1ZXJOYW1lPgorICAgICAgICAgICAgPFg1MDlTZXJpYWxOdW1iZXI+OTcwODQ5OTM2PC9YNTA5U2VyaWFsTnVtYmVyPgorICAgICAgICAgIDwvWDUwOUlzc3VlclNlcmlhbD4KKyAgICAgICAgICA8WDUwOUNlcnRpZmljYXRlPgorICAgICAgICAgICAgTUlJRE56Q0NBdldnQXdJQkFnSUVPZDMra0RBSkJnY3Foa2pPT0FRRE1Gc3hDekFKQmdOVkJBWVRBa2xGTVE4dworICAgICAgICAgICAgRFFZRFZRUUlFd1pFZFdKc2FXNHhKVEFqQmdOVkJBb1RIRUpoYkhScGJXOXlaU0JVWldOb2JtOXNiMmRwWlhNcworICAgICAgICAgICAgSUV4MFpDNHhGREFTQmdOVkJBTVRDMVJsYzNRZ1JGTkJJRU5CTUI0WERUQXdNVEF3TmpFMk16SXhOVm9YRFRBeAorICAgICAgICAgICAgTVRBd05qRTJNekl4TkZvd1hURUxNQWtHQTFVRUJoTUNTVVV4RHpBTkJnTlZCQWdUQmtSMVlteHBiakVsTUNNRworICAgICAgICAgICAgQTFVRUNoTWNRbUZzZEdsdGIzSmxJRlJsWTJodWIyeHZaMmxsY3l3Z1RIUmtMakVXTUJRR0ExVUVBeE1OVFdWeQorICAgICAgICAgICAgYkdsdUlFaDFaMmhsY3pDQ0FiWXdnZ0VyQmdjcWhrak9PQVFCTUlJQkhnS0JnUURhSmpmRFRyYXdNSGY4TWlVdAorICAgICAgICAgICAgWTU0YjM3aFNtWU5uUjNLcEdUMTB1VTFEcXBwY2p1MDZ1TjBpR2JxZjk0N0Rqa0JDMjVoS25xeWtLMzF4QncwRQorICAgICAgICAgICAgQ1BiWXEvS0M5OGtnaGRmMnhKQ3U2QjhhcUo5NUs5amRWZmxKM1dQN1BReEpuK2ZtTTIzenk2SFlMWFZJQ3BmcQorICAgICAgICAgICAgZXRkTmovVkhDU2haRTNiZEppRTZWb2JTRlFJVkFQUWVjcVMyUGFURHByY1Fua3d4NE1IVFJYaHJBb0dBTXVHQQorICAgICAgICAgICAgbHFlQjFheCt2eU8yK09zdWJqaGw3cEh4THU0N1JJSCsvTTUyRGpFU0E5S01Tcnd6c1l4OHlOUjJXb29CeXJFMAorICAgICAgICAgICAgdDZmdTBWbmNLN1VLOG9sTzR0N3dwdjJ6NEFGUVBSVkNLRndvMHFnbjVhS0lrSUNHTWxyUnk4MWF2YjI3d0djVworICAgICAgICAgICAgb3RoeDNpUFBNdEZYdG9EcUswSkl0YUk5Ujh6YzFtc0ZoTTFHS01ZRGdZUUFBb0dBY3RBOFlHeHJ0bmdnL3pLVgorICAgICAgICAgICAgdnFFT2VmbndtVmlGenRjblBCWVBsSnN2aDZ5S0k0aURtNjhmbnA0TWkzUnJKNmJaQXlnRnJVSVFMeExqVitPSgorICAgICAgICAgICAgdGdKQUV0bzB4QXMrTWVodXExRGtTRkVwUDNvRHpDVE9zck9pUzFEd1FlNG9JYjd6VmsvOWw3YVB0Sk1IVzBMVgorICAgICAgICAgICAgbE1kd1pORk5OSm9xTWNUMlpmQ1ByZnZZdlEyalJ6QkZNQjRHQTFVZEVRUVhNQldCRTIxbGNteHBia0JpWVd4MAorICAgICAgICAgICAgYVcxdmNtVXVhV1V3RGdZRFZSMFBBUUgvQkFRREFnZUFNQk1HQTFVZEl3UU1NQXFBQ0VKWlFHMEt3UmJQTUFrRworICAgICAgICAgICAgQnlxR1NNNDRCQU1ETVFBd0xnSVZBSzRza1dFRllncmdnYUpBOHZZQXdTamcxMitLQWhVQXdIVG83d2Q0dEVOdworICAgICAgICAgICAgOUxBS1BrbFEvNzRmSDE4PQorICAgICAgICAgIDwvWDUwOUNlcnRpZmljYXRlPgorICAgICAgICA8L1g1MDlEYXRhPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2MxNG4vd2l0aG91dC1jb21tZW50cy90ZXN0LTIgYi9saWJ4bWwyL3Jlc3VsdC9jMTRuL3dpdGhvdXQtY29tbWVudHMvdGVzdC0yCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM4Mjk0ODEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9jMTRuL3dpdGhvdXQtY29tbWVudHMvdGVzdC0yCkBAIC0wLDAgKzEsMyBAQAorPG4xOmVsZW0yIHhtbG5zOm4wPSJmb286Ly9iYXIiIHhtbG5zOm4xPSJodHRwOi8vZXhhbXBsZS5uZXQiIHhtbG5zOm4zPSJmdHA6Ly9leGFtcGxlLm9yZyIgeG1sOmxhbmc9ImVuIj4KKwk8bjM6c3R1ZmY+PC9uMzpzdHVmZj4KKyAgICA8L24xOmVsZW0yPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2MxNG4vd2l0aG91dC1jb21tZW50cy90ZXN0LTMgYi9saWJ4bWwyL3Jlc3VsdC9jMTRuL3dpdGhvdXQtY29tbWVudHMvdGVzdC0zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMxOGNiMTkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9jMTRuL3dpdGhvdXQtY29tbWVudHMvdGVzdC0zCkBAIC0wLDAgKzEsNyBAQAorPGU2IHhtbG5zOmE9Imh0dHA6Ly93d3cudzMub3JnIiB4bWxuczpmb289Imh0dHA6Ly93d3cuYmFyLm9yZyIgdGVzdD0iLi4vYmF6IiB4bWw6YmFzZT0iaHR0cDovL3d3dy5leGFtcGxlLm9yZy8yMDAyLyI+CisgICAgICAgPGU3IHhtbG5zPSJodHRwOi8vd3d3LmlldGYub3JnIj4KKyAgICAgICAgICAgPGU4IHhtbG5zPSIiIGE6Zm9vPSJiYXIiPgorICAgICAgICAgICAgICAgPGU5IHhtbG5zOmE9Imh0dHA6Ly93d3cuaWV0Zi5vcmciIGF0dHI9ImRlZmF1bHQiPjwvZTk+CisgICAgICAgICAgIDwvZTg+CisgICAgICAgPC9lNz4KKyAgIDwvZTY+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvY2F0YWxvZ3MvY2F0YWwgYi9saWJ4bWwyL3Jlc3VsdC9jYXRhbG9ncy9jYXRhbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MmIyYWZlCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvY2F0YWxvZ3MvY2F0YWwKQEAgLTAsMCArMSw1IEBACis+IHRlc3QvY2F0YWxvZ3MvY2Fsc3RibHguZHRkCis+IHRlc3QvY2F0YWxvZ3MvZG9jYm9vay5kdGQKKz4gdGVzdC9jYXRhbG9ncy9zb2V4dGJseC5kdGQKKz4gdGVzdC9jYXRhbG9ncy9kYmdlbmVudC5tb2QKKz4gClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvY2F0YWxvZ3MvZG9jYm9vayBiL2xpYnhtbDIvcmVzdWx0L2NhdGFsb2dzL2RvY2Jvb2sKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODA0MDA1ZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2NhdGFsb2dzL2RvY2Jvb2sKQEAgLTAsMCArMSw2IEBACis+IC91c3Ivc2hhcmUveG1sL2RvY2Jvb2sveG1sLzQuMS4yL2RicG9vbHgubW9kCis+IGh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvZG9jYm9vay94bWwvNC4xLjIvZGJjZW50eC5tb2QKKz4gaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9kb2Nib29rL3htbC80LjEuMi9kb2Nib29reC5kdGQKKz4gaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9kb2Nib29rL3htbC80LjEuMi9kb2Nib29reC5kdGQKKz4gZmlsZTovLy91c3Ivc2hhcmUveG1sL3RvdG8vdG90by5kdGQKKz4gClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvY2F0YWxvZ3MvbXljYXRhbG9nLmVtcHR5IGIvbGlieG1sMi9yZXN1bHQvY2F0YWxvZ3MvbXljYXRhbG9nLmVtcHR5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg0ZjQ4MmUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9jYXRhbG9ncy9teWNhdGFsb2cuZW1wdHkKQEAgLTAsMCArMSwzIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhRE9DVFlQRSBjYXRhbG9nIFBVQkxJQyAiLS8vT0FTSVMvL0RURCBFbnRpdHkgUmVzb2x1dGlvbiBYTUwgQ2F0YWxvZyBWMS4wLy9FTiIgImh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvY29tbWl0dGVlcy9lbnRpdHkvcmVsZWFzZS8xLjAvY2F0YWxvZy5kdGQiPgorPGNhdGFsb2cgeG1sbnM9InVybjpvYXNpczpuYW1lczp0YzplbnRpdHk6eG1sbnM6eG1sOmNhdGFsb2ciLz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2NhdGFsb2dzL215Y2F0YWxvZy5mdWxsIGIvbGlieG1sMi9yZXN1bHQvY2F0YWxvZ3MvbXljYXRhbG9nLmZ1bGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWVlMWNjZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2NhdGFsb2dzL215Y2F0YWxvZy5mdWxsCkBAIC0wLDAgKzEsNyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IURPQ1RZUEUgY2F0YWxvZyBQVUJMSUMgIi0vL09BU0lTLy9EVEQgRW50aXR5IFJlc29sdXRpb24gWE1MIENhdGFsb2cgVjEuMC8vRU4iICJodHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL2NvbW1pdHRlZXMvZW50aXR5L3JlbGVhc2UvMS4wL2NhdGFsb2cuZHRkIj4KKzxjYXRhbG9nIHhtbG5zPSJ1cm46b2FzaXM6bmFtZXM6dGM6ZW50aXR5OnhtbG5zOnhtbDpjYXRhbG9nIj4KKyAgPHB1YmxpYyBwdWJsaWNJZD0iUHViaWQiIHVyaT0ic3lzaWQiLz4KKyAgPHB1YmxpYyBwdWJsaWNJZD0iUHViaWQyIiB1cmk9InN5c2lkMiIvPgorICA8cHVibGljIHB1YmxpY0lkPSJQdWJpZDMiIHVyaT0ic3lzaWQzIi8+Cis8L2NhdGFsb2c+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9jYXRhbG9ncy9yZWdpc3RyeSBiL2xpYnhtbDIvcmVzdWx0L2NhdGFsb2dzL3JlZ2lzdHJ5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUwMzVjNTUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9jYXRhbG9ncy9yZWdpc3RyeQpAQCAtMCwwICsxLDUgQEAKKz4gL3Vzci9zaGFyZS94bWwvZG9jYm9vay94bWwvNC4xLjIvZGJwb29seC5tb2QKKz4gaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9kb2Nib29rL3htbC80LjEuMi9kYmNlbnR4Lm1vZAorPiAvdXNyL3NoYXJlL3htbC9kb2Nib29rL3htbC80LjEuMi9kYnBvb2x4Lm1vZAorPiBodHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL2RvY2Jvb2sveG1sLzQuMS4yL2RvY2Jvb2t4LmR0ZAorPiAKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9jYXRhbG9ncy93aGl0ZXMgYi9saWJ4bWwyL3Jlc3VsdC9jYXRhbG9ncy93aGl0ZXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTJiMmFmZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2NhdGFsb2dzL3doaXRlcwpAQCAtMCwwICsxLDUgQEAKKz4gdGVzdC9jYXRhbG9ncy9jYWxzdGJseC5kdGQKKz4gdGVzdC9jYXRhbG9ncy9kb2Nib29rLmR0ZAorPiB0ZXN0L2NhdGFsb2dzL3NvZXh0Ymx4LmR0ZAorPiB0ZXN0L2NhdGFsb2dzL2RiZ2VuZW50Lm1vZAorPiAKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9jYXRhbG9ncy93aGl0ZXggYi9saWJ4bWwyL3Jlc3VsdC9jYXRhbG9ncy93aGl0ZXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjAyYmNjNgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2NhdGFsb2dzL3doaXRleApAQCAtMCwwICsxLDggQEAKKz4gL3Vzci9zaGFyZS94bWwvZG9jYm9vay94bWwvNC4xLjIvZGJwb29seC5tb2QKKz4gaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9kb2Nib29rL3htbC80LjEuMi9kYmNlbnR4Lm1vZAorPiBodHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL2RvY2Jvb2sveG1sLzQuMS4yL2RiY2VudHgubW9kCis+IGh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvZG9jYm9vay94bWwvNC4xLjIvZGJjZW50eC5tb2QKKz4gaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9kb2Nib29rL3htbC80LjEuMi9kb2Nib29reC5kdGQKKz4gaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9kb2Nib29rL3htbC80LjEuMi9kb2Nib29reC5kdGQKKz4gZmlsZTovLy91c3Ivc2hhcmUveG1sL3RvdG8vdG90by5kdGQKKz4gClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvY2RhdGEgYi9saWJ4bWwyL3Jlc3VsdC9jZGF0YQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xODBlYTQ2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvY2RhdGEKQEAgLTAsMCArMSw0IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxkb2M+Cis8IVtDREFUQVs8Z3JlZXRpbmc+SGVsbG8sIHdvcmxkITwvZ3JlZXRpbmc+XV0+Cis8L2RvYz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2NkYXRhLnJkZSBiL2xpYnhtbDIvcmVzdWx0L2NkYXRhLnJkZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMTZiOGJmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvY2RhdGEucmRlCkBAIC0wLDAgKzEsNyBAQAorMCAxIGRvYyAwIDAKKzEgMTQgI3RleHQgMCAxIAorCisxIDQgI2NkYXRhLXNlY3Rpb24gMCAxIDxncmVldGluZz5IZWxsbywgd29ybGQhPC9ncmVldGluZz4KKzEgMTQgI3RleHQgMCAxIAorCiswIDE1IGRvYyAwIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2NkYXRhLnJkciBiL2xpYnhtbDIvcmVzdWx0L2NkYXRhLnJkcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMTZiOGJmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvY2RhdGEucmRyCkBAIC0wLDAgKzEsNyBAQAorMCAxIGRvYyAwIDAKKzEgMTQgI3RleHQgMCAxIAorCisxIDQgI2NkYXRhLXNlY3Rpb24gMCAxIDxncmVldGluZz5IZWxsbywgd29ybGQhPC9ncmVldGluZz4KKzEgMTQgI3RleHQgMCAxIAorCiswIDE1IGRvYyAwIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2NkYXRhLnNheCBiL2xpYnhtbDIvcmVzdWx0L2NkYXRhLnNheApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mOTE3Zjk5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvY2RhdGEuc2F4CkBAIC0wLDAgKzEsMTAgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLnN0YXJ0RWxlbWVudChkb2MpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5wY2RhdGEoPGdyZWV0aW5nPkhlbGxvLCB3b3IsIDM0KQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguZW5kRWxlbWVudChkb2MpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvY2RhdGEuc2F4MiBiL2xpYnhtbDIvcmVzdWx0L2NkYXRhLnNheDIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTE3YjJiMAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2NkYXRhLnNheDIKQEAgLTAsMCArMSwxMCBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguc3RhcnRFbGVtZW50TnMoZG9jLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVgucGNkYXRhKDxncmVldGluZz5IZWxsbywgd29yLCAzNCkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmVuZEVsZW1lbnROcyhkb2MsIE5VTEwsIE5VTEwpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvY2RhdGEyIGIvbGlieG1sMi9yZXN1bHQvY2RhdGEyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI0ZGI3OTEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9jZGF0YTIKQEAgLTAsMCArMSw2IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPGNvbGxlY3Rpb24+CisgIDx0ZXN0PjwhW0NEQVRBWworICAgIDwhW0NEQVRBW2FiY11dXT5dJmd0OzwhW0NEQVRBWworICBdXT48L3Rlc3Q+Cis8L2NvbGxlY3Rpb24+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9jZGF0YTIucmRlIGIvbGlieG1sMi9yZXN1bHQvY2RhdGEyLnJkZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlhNjcyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvY2RhdGEyLnJkZQpAQCAtMCwwICsxLDEzIEBACiswIDEgY29sbGVjdGlvbiAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKzEgMSB0ZXN0IDAgMAorMiA0ICNjZGF0YS1zZWN0aW9uIDAgMSAKKyAgICA8IVtDREFUQVthYmNdCisyIDMgI3RleHQgMCAxIF0+CisyIDQgI2NkYXRhLXNlY3Rpb24gMCAxIAorICAKKzEgMTUgdGVzdCAwIDAKKzEgMTQgI3RleHQgMCAxIAorCiswIDE1IGNvbGxlY3Rpb24gMCAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9jZGF0YTIucmRyIGIvbGlieG1sMi9yZXN1bHQvY2RhdGEyLnJkcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlhNjcyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvY2RhdGEyLnJkcgpAQCAtMCwwICsxLDEzIEBACiswIDEgY29sbGVjdGlvbiAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKzEgMSB0ZXN0IDAgMAorMiA0ICNjZGF0YS1zZWN0aW9uIDAgMSAKKyAgICA8IVtDREFUQVthYmNdCisyIDMgI3RleHQgMCAxIF0+CisyIDQgI2NkYXRhLXNlY3Rpb24gMCAxIAorICAKKzEgMTUgdGVzdCAwIDAKKzEgMTQgI3RleHQgMCAxIAorCiswIDE1IGNvbGxlY3Rpb24gMCAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9jZGF0YTIuc2F4IGIvbGlieG1sMi9yZXN1bHQvY2RhdGEyLnNheApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZmNjODYzCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvY2RhdGEyLnNheApAQCAtMCwwICsxLDE3IEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5zdGFydEVsZW1lbnQoY29sbGVjdGlvbikKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHRlc3QpCitTQVgucGNkYXRhKAorICAgIDwhW0NEQVRBW2FiY10sIDE4KQorU0FYLmNoYXJhY3RlcnMoXSwgMSkKK1NBWC5jaGFyYWN0ZXJzKD4sIDEpCitTQVgucGNkYXRhKAorICAsIDMpCitTQVguZW5kRWxlbWVudCh0ZXN0KQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguZW5kRWxlbWVudChjb2xsZWN0aW9uKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2NkYXRhMi5zYXgyIGIvbGlieG1sMi9yZXN1bHQvY2RhdGEyLnNheDIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDE0MjBlOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2NkYXRhMi5zYXgyCkBAIC0wLDAgKzEsMTcgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLnN0YXJ0RWxlbWVudE5zKGNvbGxlY3Rpb24sIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHRlc3QsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVgucGNkYXRhKAorICAgIDwhW0NEQVRBW2FiY10sIDE4KQorU0FYLmNoYXJhY3RlcnMoXSwgMSkKK1NBWC5jaGFyYWN0ZXJzKD4sIDEpCitTQVgucGNkYXRhKAorICAsIDMpCitTQVguZW5kRWxlbWVudE5zKHRlc3QsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5lbmRFbGVtZW50TnMoY29sbGVjdGlvbiwgTlVMTCwgTlVMTCkKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9jb21tZW50LnhtbCBiL2xpYnhtbDIvcmVzdWx0L2NvbW1lbnQueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk4YzVlZmYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9jb21tZW50LnhtbApAQCAtMCwwICsxLDYgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPGRvYz4KKzwhLS0gZG9jdW1lbnQgc3RhcnQgLS0+Cis8ZW1wdHkvPgorPCEtLSBkb2N1bWVudCBlbmQgLS0+Cis8L2RvYz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2NvbW1lbnQueG1sLnJkZSBiL2xpYnhtbDIvcmVzdWx0L2NvbW1lbnQueG1sLnJkZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NTUxY2VkCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvY29tbWVudC54bWwucmRlCkBAIC0wLDAgKzEsMTMgQEAKKzAgMSBkb2MgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKworMSA4ICNjb21tZW50IDAgMSAgZG9jdW1lbnQgc3RhcnQgCisxIDE0ICN0ZXh0IDAgMSAKKworMSAxIGVtcHR5IDEgMAorMSAxNCAjdGV4dCAwIDEgCisKKzEgOCAjY29tbWVudCAwIDEgIGRvY3VtZW50IGVuZCAKKzEgMTQgI3RleHQgMCAxIAorCiswIDE1IGRvYyAwIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2NvbW1lbnQueG1sLnJkciBiL2xpYnhtbDIvcmVzdWx0L2NvbW1lbnQueG1sLnJkcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NTUxY2VkCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvY29tbWVudC54bWwucmRyCkBAIC0wLDAgKzEsMTMgQEAKKzAgMSBkb2MgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKworMSA4ICNjb21tZW50IDAgMSAgZG9jdW1lbnQgc3RhcnQgCisxIDE0ICN0ZXh0IDAgMSAKKworMSAxIGVtcHR5IDEgMAorMSAxNCAjdGV4dCAwIDEgCisKKzEgOCAjY29tbWVudCAwIDEgIGRvY3VtZW50IGVuZCAKKzEgMTQgI3RleHQgMCAxIAorCiswIDE1IGRvYyAwIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2NvbW1lbnQueG1sLnNheCBiL2xpYnhtbDIvcmVzdWx0L2NvbW1lbnQueG1sLnNheApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kOTY5MDM2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvY29tbWVudC54bWwuc2F4CkBAIC0wLDAgKzEsMTcgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLnN0YXJ0RWxlbWVudChkb2MpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5jb21tZW50KCBkb2N1bWVudCBzdGFydCApCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5zdGFydEVsZW1lbnQoZW1wdHkpCitTQVguZW5kRWxlbWVudChlbXB0eSkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmNvbW1lbnQoIGRvY3VtZW50IGVuZCApCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5lbmRFbGVtZW50KGRvYykKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9jb21tZW50LnhtbC5zYXgyIGIvbGlieG1sMi9yZXN1bHQvY29tbWVudC54bWwuc2F4MgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYTU3ZjUwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvY29tbWVudC54bWwuc2F4MgpAQCAtMCwwICsxLDE3IEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5zdGFydEVsZW1lbnROcyhkb2MsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5jb21tZW50KCBkb2N1bWVudCBzdGFydCApCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5zdGFydEVsZW1lbnROcyhlbXB0eSwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5lbmRFbGVtZW50TnMoZW1wdHksIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5jb21tZW50KCBkb2N1bWVudCBlbmQgKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguZW5kRWxlbWVudE5zKGRvYywgTlVMTCwgTlVMTCkKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9jb21tZW50Mi54bWwgYi9saWJ4bWwyL3Jlc3VsdC9jb21tZW50Mi54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWUxMjJlYwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2NvbW1lbnQyLnhtbApAQCAtMCwwICsxLDYgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCEtLSBkb2N1bWVudCBzdGFydCAtLT4KKzxkb2M+Cis8ZW1wdHkvPgorPC9kb2M+Cis8IS0tIGRvY3VtZW50IGVuZCAtLT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2NvbW1lbnQyLnhtbC5yZGUgYi9saWJ4bWwyL3Jlc3VsdC9jb21tZW50Mi54bWwucmRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRhMzI3OWQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9jb21tZW50Mi54bWwucmRlCkBAIC0wLDAgKzEsOSBAQAorMCA4ICNjb21tZW50IDAgMSAgZG9jdW1lbnQgc3RhcnQgCiswIDEgZG9jIDAgMAorMSAxNCAjdGV4dCAwIDEgCisKKzEgMSBlbXB0eSAxIDAKKzEgMTQgI3RleHQgMCAxIAorCiswIDE1IGRvYyAwIDAKKzAgOCAjY29tbWVudCAwIDEgIGRvY3VtZW50IGVuZCAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2NvbW1lbnQyLnhtbC5yZHIgYi9saWJ4bWwyL3Jlc3VsdC9jb21tZW50Mi54bWwucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRhMzI3OWQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9jb21tZW50Mi54bWwucmRyCkBAIC0wLDAgKzEsOSBAQAorMCA4ICNjb21tZW50IDAgMSAgZG9jdW1lbnQgc3RhcnQgCiswIDEgZG9jIDAgMAorMSAxNCAjdGV4dCAwIDEgCisKKzEgMSBlbXB0eSAxIDAKKzEgMTQgI3RleHQgMCAxIAorCiswIDE1IGRvYyAwIDAKKzAgOCAjY29tbWVudCAwIDEgIGRvY3VtZW50IGVuZCAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2NvbW1lbnQyLnhtbC5zYXggYi9saWJ4bWwyL3Jlc3VsdC9jb21tZW50Mi54bWwuc2F4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJmZmQ3ZTEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9jb21tZW50Mi54bWwuc2F4CkBAIC0wLDAgKzEsMTMgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLmNvbW1lbnQoIGRvY3VtZW50IHN0YXJ0ICkKK1NBWC5zdGFydEVsZW1lbnQoZG9jKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguc3RhcnRFbGVtZW50KGVtcHR5KQorU0FYLmVuZEVsZW1lbnQoZW1wdHkpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5lbmRFbGVtZW50KGRvYykKK1NBWC5jb21tZW50KCBkb2N1bWVudCBlbmQgKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2NvbW1lbnQyLnhtbC5zYXgyIGIvbGlieG1sMi9yZXN1bHQvY29tbWVudDIueG1sLnNheDIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTI4Njc0NAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2NvbW1lbnQyLnhtbC5zYXgyCkBAIC0wLDAgKzEsMTMgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLmNvbW1lbnQoIGRvY3VtZW50IHN0YXJ0ICkKK1NBWC5zdGFydEVsZW1lbnROcyhkb2MsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5zdGFydEVsZW1lbnROcyhlbXB0eSwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5lbmRFbGVtZW50TnMoZW1wdHksIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5lbmRFbGVtZW50TnMoZG9jLCBOVUxMLCBOVUxMKQorU0FYLmNvbW1lbnQoIGRvY3VtZW50IGVuZCApCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvY29tbWVudDMueG1sIGIvbGlieG1sMi9yZXN1bHQvY29tbWVudDMueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM5NWY2N2MKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9jb21tZW50My54bWwKQEAgLTAsMCArMSwxNjQgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IklTTy04ODU5LTEiPz4KKzwhLS0gdGVzdCBvZiB2ZXJ5IHZlcnkgbG9uZyBjb21tZW50cyBhbmQgYnVmZmVyIGxpbWl0cworMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKy0tPgorPGRvYy8+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9jb21tZW50My54bWwucmRlIGIvbGlieG1sMi9yZXN1bHQvY29tbWVudDMueG1sLnJkZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MTliOGQwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvY29tbWVudDMueG1sLnJkZQpAQCAtMCwwICsxLDE2MyBAQAorMCA4ICNjb21tZW50IDAgMSAgdGVzdCBvZiB2ZXJ5IHZlcnkgbG9uZyBjb21tZW50cyBhbmQgYnVmZmVyIGxpbWl0cworMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKworMCAxIGRvYyAxIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2NvbW1lbnQzLnhtbC5yZHIgYi9saWJ4bWwyL3Jlc3VsdC9jb21tZW50My54bWwucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUxOWI4ZDAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9jb21tZW50My54bWwucmRyCkBAIC0wLDAgKzEsMTYzIEBACiswIDggI2NvbW1lbnQgMCAxICB0ZXN0IG9mIHZlcnkgdmVyeSBsb25nIGNvbW1lbnRzIGFuZCBidWZmZXIgbGltaXRzCiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorCiswIDEgZG9jIDEgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvY29tbWVudDMueG1sLnNheCBiL2xpYnhtbDIvcmVzdWx0L2NvbW1lbnQzLnhtbC5zYXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODJiOGIzNgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2NvbW1lbnQzLnhtbC5zYXgKQEAgLTAsMCArMSwxNjcgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLmNvbW1lbnQoIHRlc3Qgb2YgdmVyeSB2ZXJ5IGxvbmcgY29tbWVudHMgYW5kIGJ1ZmZlciBsaW1pdHMKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CispCitTQVguc3RhcnRFbGVtZW50KGRvYykKK1NBWC5lbmRFbGVtZW50KGRvYykKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9jb21tZW50My54bWwuc2F4MiBiL2xpYnhtbDIvcmVzdWx0L2NvbW1lbnQzLnhtbC5zYXgyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE1ZjFmZDYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9jb21tZW50My54bWwuc2F4MgpAQCAtMCwwICsxLDE2NyBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguY29tbWVudCggdGVzdCBvZiB2ZXJ5IHZlcnkgbG9uZyBjb21tZW50cyBhbmQgYnVmZmVyIGxpbWl0cworMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKykKK1NBWC5zdGFydEVsZW1lbnROcyhkb2MsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguZW5kRWxlbWVudE5zKGRvYywgTlVMTCwgTlVMTCkKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9jb21tZW50NC54bWwgYi9saWJ4bWwyL3Jlc3VsdC9jb21tZW50NC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTMyODJkOAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2NvbW1lbnQ0LnhtbApAQCAtMCwwICsxLDUgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IklTTy04ODU5LTEiPz4KKzwhLS0gdGVzdCBvZiBub24gYXNjaWkgY29tbWVudHMgbGlrZSBs4CBldCB0cuhzIC0tPgorPCEtLeAgYW5vdGhlciBvbmUgLS0+Cis8IS0tIGFub3RoZXIgb25lIOAtLT4KKzxkb2MvPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvY29tbWVudDQueG1sLnJkZSBiL2xpYnhtbDIvcmVzdWx0L2NvbW1lbnQ0LnhtbC5yZGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDllMTgxYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2NvbW1lbnQ0LnhtbC5yZGUKQEAgLTAsMCArMSw0IEBACiswIDggI2NvbW1lbnQgMCAxICB0ZXN0IG9mIG5vbiBhc2NpaSBjb21tZW50cyBsaWtlIGzDoCBldCB0csOocyAKKzAgOCAjY29tbWVudCAwIDEgw6AgYW5vdGhlciBvbmUgCiswIDggI2NvbW1lbnQgMCAxICBhbm90aGVyIG9uZSDDoAorMCAxIGRvYyAxIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2NvbW1lbnQ0LnhtbC5yZHIgYi9saWJ4bWwyL3Jlc3VsdC9jb21tZW50NC54bWwucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA5ZTE4MWIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9jb21tZW50NC54bWwucmRyCkBAIC0wLDAgKzEsNCBAQAorMCA4ICNjb21tZW50IDAgMSAgdGVzdCBvZiBub24gYXNjaWkgY29tbWVudHMgbGlrZSBsw6AgZXQgdHLDqHMgCiswIDggI2NvbW1lbnQgMCAxIMOgIGFub3RoZXIgb25lIAorMCA4ICNjb21tZW50IDAgMSAgYW5vdGhlciBvbmUgw6AKKzAgMSBkb2MgMSAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9jb21tZW50NC54bWwuc2F4IGIvbGlieG1sMi9yZXN1bHQvY29tbWVudDQueG1sLnNheApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNjAxMWQ5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvY29tbWVudDQueG1sLnNheApAQCAtMCwwICsxLDggQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLmNvbW1lbnQoIHRlc3Qgb2Ygbm9uIGFzY2lpIGNvbW1lbnRzIGxpa2UgbMOgIGV0IHRyw6hzICkKK1NBWC5jb21tZW50KMOgIGFub3RoZXIgb25lICkKK1NBWC5jb21tZW50KCBhbm90aGVyIG9uZSDDoCkKK1NBWC5zdGFydEVsZW1lbnQoZG9jKQorU0FYLmVuZEVsZW1lbnQoZG9jKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2NvbW1lbnQ0LnhtbC5zYXgyIGIvbGlieG1sMi9yZXN1bHQvY29tbWVudDQueG1sLnNheDIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGUyNjExZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2NvbW1lbnQ0LnhtbC5zYXgyCkBAIC0wLDAgKzEsOCBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguY29tbWVudCggdGVzdCBvZiBub24gYXNjaWkgY29tbWVudHMgbGlrZSBsw6AgZXQgdHLDqHMgKQorU0FYLmNvbW1lbnQow6AgYW5vdGhlciBvbmUgKQorU0FYLmNvbW1lbnQoIGFub3RoZXIgb25lIMOgKQorU0FYLnN0YXJ0RWxlbWVudE5zKGRvYywgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5lbmRFbGVtZW50TnMoZG9jLCBOVUxMLCBOVUxMKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2NvbW1lbnQ1LnhtbCBiL2xpYnhtbDIvcmVzdWx0L2NvbW1lbnQ1LnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zOThmOTc0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvY29tbWVudDUueG1sCkBAIC0wLDAgKzEsOSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/PgorPCEtLSB0ZXN0IG9mIGh5cGhlbiBhbmQgbGluZSBicmVhayBoYW5kbGluZworICAgICBzb21lIHRleHQgLSBpbnRlcnJ1cHRlZCAtCistIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtCisgICAgICAgICAgICAgICAgICAgICAgdGhpcyBzaG91bGQgc3RvcCBoZXJlXgorCisKKy0tPgorPGRvYy8+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9jb21tZW50NS54bWwucmRlIGIvbGlieG1sMi9yZXN1bHQvY29tbWVudDUueG1sLnJkZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZTdhODhmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvY29tbWVudDUueG1sLnJkZQpAQCAtMCwwICsxLDggQEAKKzAgOCAjY29tbWVudCAwIDEgIHRlc3Qgb2YgaHlwaGVuIGFuZCBsaW5lIGJyZWFrIGhhbmRsaW5nCisgICAgIHNvbWUgdGV4dCAtIGludGVycnVwdGVkIC0KKy0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0KKyAgICAgICAgICAgICAgICAgICAgICB0aGlzIHNob3VsZCBzdG9wIGhlcmVeCisKKworCiswIDEgZG9jIDEgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvY29tbWVudDUueG1sLnJkciBiL2xpYnhtbDIvcmVzdWx0L2NvbW1lbnQ1LnhtbC5yZHIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmU3YTg4ZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2NvbW1lbnQ1LnhtbC5yZHIKQEAgLTAsMCArMSw4IEBACiswIDggI2NvbW1lbnQgMCAxICB0ZXN0IG9mIGh5cGhlbiBhbmQgbGluZSBicmVhayBoYW5kbGluZworICAgICBzb21lIHRleHQgLSBpbnRlcnJ1cHRlZCAtCistIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtCisgICAgICAgICAgICAgICAgICAgICAgdGhpcyBzaG91bGQgc3RvcCBoZXJlXgorCisKKworMCAxIGRvYyAxIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2NvbW1lbnQ1LnhtbC5zYXggYi9saWJ4bWwyL3Jlc3VsdC9jb21tZW50NS54bWwuc2F4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRkNThlN2EKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9jb21tZW50NS54bWwuc2F4CkBAIC0wLDAgKzEsMTIgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLmNvbW1lbnQoIHRlc3Qgb2YgaHlwaGVuIGFuZCBsaW5lIGJyZWFrIGhhbmRsaW5nCisgICAgIHNvbWUgdGV4dCAtIGludGVycnVwdGVkIC0KKy0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0KKyAgICAgICAgICAgICAgICAgICAgICB0aGlzIHNob3VsZCBzdG9wIGhlcmVeCisKKworKQorU0FYLnN0YXJ0RWxlbWVudChkb2MpCitTQVguZW5kRWxlbWVudChkb2MpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvY29tbWVudDUueG1sLnNheDIgYi9saWJ4bWwyL3Jlc3VsdC9jb21tZW50NS54bWwuc2F4MgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMDk0MGIyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvY29tbWVudDUueG1sLnNheDIKQEAgLTAsMCArMSwxMiBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguY29tbWVudCggdGVzdCBvZiBoeXBoZW4gYW5kIGxpbmUgYnJlYWsgaGFuZGxpbmcKKyAgICAgc29tZSB0ZXh0IC0gaW50ZXJydXB0ZWQgLQorLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLQorICAgICAgICAgICAgICAgICAgICAgIHRoaXMgc2hvdWxkIHN0b3AgaGVyZV4KKworCispCitTQVguc3RhcnRFbGVtZW50TnMoZG9jLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmVuZEVsZW1lbnROcyhkb2MsIE5VTEwsIE5VTEwpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvY29tbWVudDYueG1sIGIvbGlieG1sMi9yZXN1bHQvY29tbWVudDYueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNlNjA3NGUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9jb21tZW50Ni54bWwKQEAgLTAsMCArMSwxNCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IS0tCitsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50IGxvbmcgY29tbWVudAorbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQKK2xvbmcgY29tbWVudCBsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50Citsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50IGxvbmcgY29tbWVudAorbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQKK2xvbmcgY29tbWVudCBsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50Citsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50IGxvbmcgY29tbWVudAorLS0+Cis8IURPQ1RZUEUgYSBbCis8IUVMRU1FTlQgYSBFTVBUWT4KK10+Cis8YS8+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9jb21tZW50Ni54bWwucmRlIGIvbGlieG1sMi9yZXN1bHQvY29tbWVudDYueG1sLnJkZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lODc3YzNlCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvY29tbWVudDYueG1sLnJkZQpAQCAtMCwwICsxLDExIEBACiswIDggI2NvbW1lbnQgMCAxIAorbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQKK2xvbmcgY29tbWVudCBsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50Citsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50IGxvbmcgY29tbWVudAorbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQKK2xvbmcgY29tbWVudCBsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50Citsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50IGxvbmcgY29tbWVudAorbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQKKworMCAxMCBhIDAgMAorMCAxIGEgMSAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9jb21tZW50Ni54bWwucmRyIGIvbGlieG1sMi9yZXN1bHQvY29tbWVudDYueG1sLnJkcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lODc3YzNlCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvY29tbWVudDYueG1sLnJkcgpAQCAtMCwwICsxLDExIEBACiswIDggI2NvbW1lbnQgMCAxIAorbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQKK2xvbmcgY29tbWVudCBsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50Citsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50IGxvbmcgY29tbWVudAorbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQKK2xvbmcgY29tbWVudCBsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50Citsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50IGxvbmcgY29tbWVudAorbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQKKworMCAxMCBhIDAgMAorMCAxIGEgMSAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9jb21tZW50Ni54bWwuc2F4IGIvbGlieG1sMi9yZXN1bHQvY29tbWVudDYueG1sLnNheApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41M2ZlYTIxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvY29tbWVudDYueG1sLnNheApAQCAtMCwwICsxLDE3IEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5jb21tZW50KAorbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQKK2xvbmcgY29tbWVudCBsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50Citsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50IGxvbmcgY29tbWVudAorbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQKK2xvbmcgY29tbWVudCBsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50Citsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50IGxvbmcgY29tbWVudAorbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQKKykKK1NBWC5pbnRlcm5hbFN1YnNldChhLCAsICkKK1NBWC5lbGVtZW50RGVjbChhLCAxLCAuLi4pCitTQVguZXh0ZXJuYWxTdWJzZXQoYSwgLCApCitTQVguc3RhcnRFbGVtZW50KGEpCitTQVguZW5kRWxlbWVudChhKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2NvbW1lbnQ2LnhtbC5zYXgyIGIvbGlieG1sMi9yZXN1bHQvY29tbWVudDYueG1sLnNheDIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2RkN2RjMAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2NvbW1lbnQ2LnhtbC5zYXgyCkBAIC0wLDAgKzEsMTcgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLmNvbW1lbnQoCitsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50IGxvbmcgY29tbWVudAorbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQKK2xvbmcgY29tbWVudCBsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50Citsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50IGxvbmcgY29tbWVudAorbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQKK2xvbmcgY29tbWVudCBsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50Citsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50IGxvbmcgY29tbWVudAorKQorU0FYLmludGVybmFsU3Vic2V0KGEsICwgKQorU0FYLmVsZW1lbnREZWNsKGEsIDEsIC4uLikKK1NBWC5leHRlcm5hbFN1YnNldChhLCAsICkKK1NBWC5zdGFydEVsZW1lbnROcyhhLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmVuZEVsZW1lbnROcyhhLCBOVUxMLCBOVUxMKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2RhdjEgYi9saWJ4bWwyL3Jlc3VsdC9kYXYxCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNiZmQ0YzQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kYXYxCkBAIC0wLDAgKzEsMjUgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPEQ6bXVsdGlzdGF0dXMgeG1sbnM6RD0iaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LyIgeG1sbnM6Uj0iaHR0cDovL3d3dy5mb28uYmFyL2JveHNjaGVtYSI+CisgIDxEOnJlc3BvbnNlPgorICAgIDxEOnByb3A+CisgICAgICA8UjpiaWdib3g+CisgICAgICAgIDxSOkJveFR5cGU+Qm94IHR5cGUgQTwvUjpCb3hUeXBlPgorICAgICAgPC9SOmJpZ2JveD4KKyAgICAgIDxSOmF1dGhvcj4KKyAgICAgICAgPFI6TmFtZT5KLkouIERpbmdsZWhlaW1lcnNjaG1pZHQ8L1I6TmFtZT4KKyAgICAgIDwvUjphdXRob3I+CisgICAgPC9EOnByb3A+CisgICAgPEQ6c3RhdHVzPkhUVFAvMS4xIDIwMCBPSzwvRDpzdGF0dXM+CisgIDwvRDpyZXNwb25zZT4KKyAgPEQ6cmVzcG9uc2U+CisgICAgPEQ6cHJvcD4KKyAgICAgIDxSOkRpbmdBTGluZy8+CisgICAgICA8UjpSYW5kb20vPgorICAgIDwvRDpwcm9wPgorICAgIDxEOnN0YXR1cz5IVFRQLzEuMSA0MDMgRm9yYmlkZGVuPC9EOnN0YXR1cz4KKyAgICA8RDpyZXNwb25zZWRlc2NyaXB0aW9uPiBUaGUgdXNlciBkb2VzIG5vdCBoYXZlIGFjY2VzcyB0byB0aGUgRGluZ0FMaW5nIHByb3BlcnR5LgorICAgICAgPC9EOnJlc3BvbnNlZGVzY3JpcHRpb24+CisgIDwvRDpyZXNwb25zZT4KKyAgPEQ6cmVzcG9uc2VkZXNjcmlwdGlvbj4gVGhlcmUgaGFzIGJlZW4gYW4gYWNjZXNzIHZpb2xhdGlvbiBlcnJvci4KKyA8L0Q6cmVzcG9uc2VkZXNjcmlwdGlvbj4KKzwvRDptdWx0aXN0YXR1cz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2RhdjEucmRlIGIvbGlieG1sMi9yZXN1bHQvZGF2MS5yZGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDhkNDRlNgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2RhdjEucmRlCkBAIC0wLDAgKzEsNzggQEAKKzAgMSBEOm11bHRpc3RhdHVzIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSAxIEQ6cmVzcG9uc2UgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBEOnByb3AgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxIFI6YmlnYm94IDAgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAgIAorNCAxIFI6Qm94VHlwZSAwIDAKKzUgMyAjdGV4dCAwIDEgQm94IHR5cGUgQQorNCAxNSBSOkJveFR5cGUgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxNSBSOmJpZ2JveCAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDEgUjphdXRob3IgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgCis0IDEgUjpOYW1lIDAgMAorNSAzICN0ZXh0IDAgMSBKLkouIERpbmdsZWhlaW1lcnNjaG1pZHQKKzQgMTUgUjpOYW1lIDAgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMTUgUjphdXRob3IgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMTUgRDpwcm9wIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgRDpzdGF0dXMgMCAwCiszIDMgI3RleHQgMCAxIEhUVFAvMS4xIDIwMCBPSworMiAxNSBEOnN0YXR1cyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzEgMTUgRDpyZXNwb25zZSAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKzEgMSBEOnJlc3BvbnNlIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgRDpwcm9wIDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMSBSOkRpbmdBTGluZyAxIDAKKzMgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDEgUjpSYW5kb20gMSAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMTUgRDpwcm9wIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgRDpzdGF0dXMgMCAwCiszIDMgI3RleHQgMCAxIEhUVFAvMS4xIDQwMyBGb3JiaWRkZW4KKzIgMTUgRDpzdGF0dXMgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBEOnJlc3BvbnNlZGVzY3JpcHRpb24gMCAwCiszIDMgI3RleHQgMCAxICBUaGUgdXNlciBkb2VzIG5vdCBoYXZlIGFjY2VzcyB0byB0aGUgRGluZ0FMaW5nIHByb3BlcnR5LgorICAgICAgCisyIDE1IEQ6cmVzcG9uc2VkZXNjcmlwdGlvbiAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzEgMTUgRDpyZXNwb25zZSAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKzEgMSBEOnJlc3BvbnNlZGVzY3JpcHRpb24gMCAwCisyIDMgI3RleHQgMCAxICBUaGVyZSBoYXMgYmVlbiBhbiBhY2Nlc3MgdmlvbGF0aW9uIGVycm9yLgorIAorMSAxNSBEOnJlc3BvbnNlZGVzY3JpcHRpb24gMCAwCisxIDE0ICN0ZXh0IDAgMSAKKworMCAxNSBEOm11bHRpc3RhdHVzIDAgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZGF2MS5yZHIgYi9saWJ4bWwyL3Jlc3VsdC9kYXYxLnJkcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kOGQ0NGU2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZGF2MS5yZHIKQEAgLTAsMCArMSw3OCBAQAorMCAxIEQ6bXVsdGlzdGF0dXMgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDEgRDpyZXNwb25zZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIEQ6cHJvcCAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDEgUjpiaWdib3ggMCAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgCis0IDEgUjpCb3hUeXBlIDAgMAorNSAzICN0ZXh0IDAgMSBCb3ggdHlwZSBBCis0IDE1IFI6Qm94VHlwZSAwIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDE1IFI6YmlnYm94IDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMSBSOmF1dGhvciAwIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgICAKKzQgMSBSOk5hbWUgMCAwCis1IDMgI3RleHQgMCAxIEouSi4gRGluZ2xlaGVpbWVyc2NobWlkdAorNCAxNSBSOk5hbWUgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxNSBSOmF1dGhvciAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgIAorMiAxNSBEOnByb3AgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBEOnN0YXR1cyAwIDAKKzMgMyAjdGV4dCAwIDEgSFRUUC8xLjEgMjAwIE9LCisyIDE1IEQ6c3RhdHVzIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMSAxNSBEOnJlc3BvbnNlIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSAxIEQ6cmVzcG9uc2UgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBEOnByb3AgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxIFI6RGluZ0FMaW5nIDEgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMSBSOlJhbmRvbSAxIDAKKzMgMTQgI3RleHQgMCAxIAorICAgIAorMiAxNSBEOnByb3AgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBEOnN0YXR1cyAwIDAKKzMgMyAjdGV4dCAwIDEgSFRUUC8xLjEgNDAzIEZvcmJpZGRlbgorMiAxNSBEOnN0YXR1cyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIEQ6cmVzcG9uc2VkZXNjcmlwdGlvbiAwIDAKKzMgMyAjdGV4dCAwIDEgIFRoZSB1c2VyIGRvZXMgbm90IGhhdmUgYWNjZXNzIHRvIHRoZSBEaW5nQUxpbmcgcHJvcGVydHkuCisgICAgICAKKzIgMTUgRDpyZXNwb25zZWRlc2NyaXB0aW9uIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMSAxNSBEOnJlc3BvbnNlIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSAxIEQ6cmVzcG9uc2VkZXNjcmlwdGlvbiAwIDAKKzIgMyAjdGV4dCAwIDEgIFRoZXJlIGhhcyBiZWVuIGFuIGFjY2VzcyB2aW9sYXRpb24gZXJyb3IuCisgCisxIDE1IEQ6cmVzcG9uc2VkZXNjcmlwdGlvbiAwIDAKKzEgMTQgI3RleHQgMCAxIAorCiswIDE1IEQ6bXVsdGlzdGF0dXMgMCAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9kYXYxLnNheCBiL2xpYnhtbDIvcmVzdWx0L2RhdjEuc2F4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjljMTk4OGYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kYXYxLnNheApAQCAtMCwwICsxLDgxIEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5zdGFydEVsZW1lbnQoRDptdWx0aXN0YXR1cywgeG1sbnM6RD0naHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycsIHhtbG5zOlI9J2h0dHA6Ly93d3cuZm9vLmJhci9ib3hzY2hlbWEnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQoRDpyZXNwb25zZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoRDpwcm9wKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguc3RhcnRFbGVtZW50KFI6YmlnYm94KQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5zdGFydEVsZW1lbnQoUjpCb3hUeXBlKQorU0FYLmNoYXJhY3RlcnMoQm94IHR5cGUgQSwgMTApCitTQVguZW5kRWxlbWVudChSOkJveFR5cGUpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5lbmRFbGVtZW50KFI6YmlnYm94KQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguc3RhcnRFbGVtZW50KFI6YXV0aG9yKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5zdGFydEVsZW1lbnQoUjpOYW1lKQorU0FYLmNoYXJhY3RlcnMoSi5KLiBEaW5nbGVoZWltZXJzY2htaWR0LCAyNCkKK1NBWC5lbmRFbGVtZW50KFI6TmFtZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLmVuZEVsZW1lbnQoUjphdXRob3IpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguZW5kRWxlbWVudChEOnByb3ApCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KEQ6c3RhdHVzKQorU0FYLmNoYXJhY3RlcnMoSFRUUC8xLjEgMjAwIE9LLCAxNSkKK1NBWC5lbmRFbGVtZW50KEQ6c3RhdHVzKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5lbmRFbGVtZW50KEQ6cmVzcG9uc2UpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChEOnJlc3BvbnNlKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChEOnByb3ApCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5zdGFydEVsZW1lbnQoUjpEaW5nQUxpbmcpCitTQVguZW5kRWxlbWVudChSOkRpbmdBTGluZykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLnN0YXJ0RWxlbWVudChSOlJhbmRvbSkKK1NBWC5lbmRFbGVtZW50KFI6UmFuZG9tKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLmVuZEVsZW1lbnQoRDpwcm9wKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChEOnN0YXR1cykKK1NBWC5jaGFyYWN0ZXJzKEhUVFAvMS4xIDQwMyBGb3JiaWRkZW4sIDIyKQorU0FYLmVuZEVsZW1lbnQoRDpzdGF0dXMpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KEQ6cmVzcG9uc2VkZXNjcmlwdGlvbikKK1NBWC5jaGFyYWN0ZXJzKCBUaGUgdXNlciBkb2VzIG5vdCBoYXZlIGFjY2VzcywgNjQpCitTQVguZW5kRWxlbWVudChEOnJlc3BvbnNlZGVzY3JpcHRpb24pCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnQoRDpyZXNwb25zZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KEQ6cmVzcG9uc2VkZXNjcmlwdGlvbikKK1NBWC5jaGFyYWN0ZXJzKCBUaGVyZSBoYXMgYmVlbiBhbiBhY2Nlc3MgdmlvbCwgNDQpCitTQVguZW5kRWxlbWVudChEOnJlc3BvbnNlZGVzY3JpcHRpb24pCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5lbmRFbGVtZW50KEQ6bXVsdGlzdGF0dXMpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZGF2MS5zYXgyIGIvbGlieG1sMi9yZXN1bHQvZGF2MS5zYXgyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ0YWQxMWMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kYXYxLnNheDIKQEAgLTAsMCArMSw4MSBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguc3RhcnRFbGVtZW50TnMobXVsdGlzdGF0dXMsIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgMiwgeG1sbnM6RD0naHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycsIHhtbG5zOlI9J2h0dHA6Ly93d3cuZm9vLmJhci9ib3hzY2hlbWEnLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhyZXNwb25zZSwgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHByb3AsIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLnN0YXJ0RWxlbWVudE5zKGJpZ2JveCwgUiwgJ2h0dHA6Ly93d3cuZm9vLmJhci9ib3hzY2hlbWEnLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5zdGFydEVsZW1lbnROcyhCb3hUeXBlLCBSLCAnaHR0cDovL3d3dy5mb28uYmFyL2JveHNjaGVtYScsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhCb3ggdHlwZSBBLCAxMCkKK1NBWC5lbmRFbGVtZW50TnMoQm94VHlwZSwgUiwgJ2h0dHA6Ly93d3cuZm9vLmJhci9ib3hzY2hlbWEnKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguZW5kRWxlbWVudE5zKGJpZ2JveCwgUiwgJ2h0dHA6Ly93d3cuZm9vLmJhci9ib3hzY2hlbWEnKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguc3RhcnRFbGVtZW50TnMoYXV0aG9yLCBSLCAnaHR0cDovL3d3dy5mb28uYmFyL2JveHNjaGVtYScsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgLCA5KQorU0FYLnN0YXJ0RWxlbWVudE5zKE5hbWUsIFIsICdodHRwOi8vd3d3LmZvby5iYXIvYm94c2NoZW1hJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKEouSi4gRGluZ2xlaGVpbWVyc2NobWlkdCwgMjQpCitTQVguZW5kRWxlbWVudE5zKE5hbWUsIFIsICdodHRwOi8vd3d3LmZvby5iYXIvYm94c2NoZW1hJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLmVuZEVsZW1lbnROcyhhdXRob3IsIFIsICdodHRwOi8vd3d3LmZvby5iYXIvYm94c2NoZW1hJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5lbmRFbGVtZW50TnMocHJvcCwgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHN0YXR1cywgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoSFRUUC8xLjEgMjAwIE9LLCAxNSkKK1NBWC5lbmRFbGVtZW50TnMoc3RhdHVzLCBELCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnROcyhyZXNwb25zZSwgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhyZXNwb25zZSwgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHByb3AsIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLnN0YXJ0RWxlbWVudE5zKERpbmdBTGluZywgUiwgJ2h0dHA6Ly93d3cuZm9vLmJhci9ib3hzY2hlbWEnLCAwLCAwLCAwKQorU0FYLmVuZEVsZW1lbnROcyhEaW5nQUxpbmcsIFIsICdodHRwOi8vd3d3LmZvby5iYXIvYm94c2NoZW1hJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLnN0YXJ0RWxlbWVudE5zKFJhbmRvbSwgUiwgJ2h0dHA6Ly93d3cuZm9vLmJhci9ib3hzY2hlbWEnLCAwLCAwLCAwKQorU0FYLmVuZEVsZW1lbnROcyhSYW5kb20sIFIsICdodHRwOi8vd3d3LmZvby5iYXIvYm94c2NoZW1hJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5lbmRFbGVtZW50TnMocHJvcCwgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHN0YXR1cywgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoSFRUUC8xLjEgNDAzIEZvcmJpZGRlbiwgMjIpCitTQVguZW5kRWxlbWVudE5zKHN0YXR1cywgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHJlc3BvbnNlZGVzY3JpcHRpb24sIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKCBUaGUgdXNlciBkb2VzIG5vdCBoYXZlIGFjY2VzcywgNjQpCitTQVguZW5kRWxlbWVudE5zKHJlc3BvbnNlZGVzY3JpcHRpb24sIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguZW5kRWxlbWVudE5zKHJlc3BvbnNlLCBELCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHJlc3BvbnNlZGVzY3JpcHRpb24sIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKCBUaGVyZSBoYXMgYmVlbiBhbiBhY2Nlc3MgdmlvbCwgNDQpCitTQVguZW5kRWxlbWVudE5zKHJlc3BvbnNlZGVzY3JpcHRpb24sIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJykKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmVuZEVsZW1lbnROcyhtdWx0aXN0YXR1cywgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2RhdjEwIGIvbGlieG1sMi9yZXN1bHQvZGF2MTAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGIwMGRhNAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2RhdjEwCkBAIC0wLDAgKzEsNCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8RDpvd25lciB4bWxuczpEPSJodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvIj4KKyAgPEQ6aHJlZj5odHRwOi8vd3d3Lmljcy51Y2kuZWR1L35lancvY29udGFjdC5odG1sPC9EOmhyZWY+Cis8L0Q6b3duZXI+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9kYXYxMC5yZGUgYi9saWJ4bWwyL3Jlc3VsdC9kYXYxMC5yZGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmZiNTUyZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2RhdjEwLnJkZQpAQCAtMCwwICsxLDkgQEAKKzAgMSBEOm93bmVyIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSAxIEQ6aHJlZiAwIDAKKzIgMyAjdGV4dCAwIDEgaHR0cDovL3d3dy5pY3MudWNpLmVkdS9+ZWp3L2NvbnRhY3QuaHRtbAorMSAxNSBEOmhyZWYgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKworMCAxNSBEOm93bmVyIDAgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZGF2MTAucmRyIGIvbGlieG1sMi9yZXN1bHQvZGF2MTAucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJmYjU1MmQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kYXYxMC5yZHIKQEAgLTAsMCArMSw5IEBACiswIDEgRDpvd25lciAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKzEgMSBEOmhyZWYgMCAwCisyIDMgI3RleHQgMCAxIGh0dHA6Ly93d3cuaWNzLnVjaS5lZHUvfmVqdy9jb250YWN0Lmh0bWwKKzEgMTUgRDpocmVmIDAgMAorMSAxNCAjdGV4dCAwIDEgCisKKzAgMTUgRDpvd25lciAwIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2RhdjEwLnNheCBiL2xpYnhtbDIvcmVzdWx0L2RhdjEwLnNheApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYTk4MjUxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZGF2MTAuc2F4CkBAIC0wLDAgKzEsMTIgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLnN0YXJ0RWxlbWVudChEOm93bmVyLCB4bWxuczpEPSdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KEQ6aHJlZikKK1NBWC5jaGFyYWN0ZXJzKGh0dHA6Ly93d3cuaWNzLnVjaS5lZHUvfmVqdy9jbywgNDApCitTQVguZW5kRWxlbWVudChEOmhyZWYpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5lbmRFbGVtZW50KEQ6b3duZXIpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZGF2MTAuc2F4MiBiL2xpYnhtbDIvcmVzdWx0L2RhdjEwLnNheDIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTkzZTIyYwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2RhdjEwLnNheDIKQEAgLTAsMCArMSwxMiBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguc3RhcnRFbGVtZW50TnMob3duZXIsIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgMSwgeG1sbnM6RD0naHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycsIDAsIDApCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKGhyZWYsIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKGh0dHA6Ly93d3cuaWNzLnVjaS5lZHUvfmVqdy9jbywgNDApCitTQVguZW5kRWxlbWVudE5zKGhyZWYsIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJykKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmVuZEVsZW1lbnROcyhvd25lciwgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2RhdjExIGIvbGlieG1sMi9yZXN1bHQvZGF2MTEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGFjMjNkNgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2RhdjExCkBAIC0wLDAgKzEsMjEgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPEQ6cHJvcCB4bWxuczpEPSJodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvIj4KKyAgPEQ6bG9ja2Rpc2NvdmVyeT4KKyAgICA8RDphY3RpdmVsb2NrPgorICAgICAgPEQ6bG9ja3R5cGU+d3JpdGU8L0Q6bG9ja3R5cGU+CisgICAgICA8RDpsb2Nrc2NvcGU+ZXhjbHVzaXZlPC9EOmxvY2tzY29wZT4KKyAgICAgIDxEOmFkZGxvY2tzLz4KKyAgICAgIDxEOm93bmVyPgorICAgICAgICA8RDpocmVmPgorCQlodHRwOi8vd3d3Lmljcy51Y2kuZWR1L35lancvY29udGFjdC5odG1sCisJCTwvRDpocmVmPgorICAgICAgPC9EOm93bmVyPgorICAgICAgPEQ6dGltZW91dD5TZWNvbmQtNjA0ODAwPC9EOnRpbWVvdXQ+CisgICAgICA8RDpsb2NrdG9rZW4+CisgICAgICAgIDxEOmhyZWY+CisJICAgb3BhcXVlbG9ja3Rva2VuOnh5ejEyMjM5MzQ4MTIzMDkxMmFzZGZhMDlzOGRmMDlzN2RmCisJCTwvRDpocmVmPgorICAgICAgPC9EOmxvY2t0b2tlbj4KKyAgICA8L0Q6YWN0aXZlbG9jaz4KKyAgPC9EOmxvY2tkaXNjb3Zlcnk+Cis8L0Q6cHJvcD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2RhdjExLnJkZSBiL2xpYnhtbDIvcmVzdWx0L2RhdjExLnJkZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wODhhZmViCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZGF2MTEucmRlCkBAIC0wLDAgKzEsNjAgQEAKKzAgMSBEOnByb3AgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDEgRDpsb2NrZGlzY292ZXJ5IDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgRDphY3RpdmVsb2NrIDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMSBEOmxvY2t0eXBlIDAgMAorNCAzICN0ZXh0IDAgMSB3cml0ZQorMyAxNSBEOmxvY2t0eXBlIDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMSBEOmxvY2tzY29wZSAwIDAKKzQgMyAjdGV4dCAwIDEgZXhjbHVzaXZlCiszIDE1IEQ6bG9ja3Njb3BlIDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMSBEOmFkZGxvY2tzIDEgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMSBEOm93bmVyIDAgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAgIAorNCAxIEQ6aHJlZiAwIDAKKzUgMyAjdGV4dCAwIDEgCisJCWh0dHA6Ly93d3cuaWNzLnVjaS5lZHUvfmVqdy9jb250YWN0Lmh0bWwKKwkJCis0IDE1IEQ6aHJlZiAwIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDE1IEQ6b3duZXIgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxIEQ6dGltZW91dCAwIDAKKzQgMyAjdGV4dCAwIDEgU2Vjb25kLTYwNDgwMAorMyAxNSBEOnRpbWVvdXQgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxIEQ6bG9ja3Rva2VuIDAgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAgIAorNCAxIEQ6aHJlZiAwIDAKKzUgMyAjdGV4dCAwIDEgCisJICAgb3BhcXVlbG9ja3Rva2VuOnh5ejEyMjM5MzQ4MTIzMDkxMmFzZGZhMDlzOGRmMDlzN2RmCisJCQorNCAxNSBEOmhyZWYgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxNSBEOmxvY2t0b2tlbiAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgIAorMiAxNSBEOmFjdGl2ZWxvY2sgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDE1IEQ6bG9ja2Rpc2NvdmVyeSAwIDAKKzEgMTQgI3RleHQgMCAxIAorCiswIDE1IEQ6cHJvcCAwIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2RhdjExLnJkciBiL2xpYnhtbDIvcmVzdWx0L2RhdjExLnJkcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wODhhZmViCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZGF2MTEucmRyCkBAIC0wLDAgKzEsNjAgQEAKKzAgMSBEOnByb3AgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDEgRDpsb2NrZGlzY292ZXJ5IDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgRDphY3RpdmVsb2NrIDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMSBEOmxvY2t0eXBlIDAgMAorNCAzICN0ZXh0IDAgMSB3cml0ZQorMyAxNSBEOmxvY2t0eXBlIDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMSBEOmxvY2tzY29wZSAwIDAKKzQgMyAjdGV4dCAwIDEgZXhjbHVzaXZlCiszIDE1IEQ6bG9ja3Njb3BlIDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMSBEOmFkZGxvY2tzIDEgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMSBEOm93bmVyIDAgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAgIAorNCAxIEQ6aHJlZiAwIDAKKzUgMyAjdGV4dCAwIDEgCisJCWh0dHA6Ly93d3cuaWNzLnVjaS5lZHUvfmVqdy9jb250YWN0Lmh0bWwKKwkJCis0IDE1IEQ6aHJlZiAwIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDE1IEQ6b3duZXIgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxIEQ6dGltZW91dCAwIDAKKzQgMyAjdGV4dCAwIDEgU2Vjb25kLTYwNDgwMAorMyAxNSBEOnRpbWVvdXQgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxIEQ6bG9ja3Rva2VuIDAgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAgIAorNCAxIEQ6aHJlZiAwIDAKKzUgMyAjdGV4dCAwIDEgCisJICAgb3BhcXVlbG9ja3Rva2VuOnh5ejEyMjM5MzQ4MTIzMDkxMmFzZGZhMDlzOGRmMDlzN2RmCisJCQorNCAxNSBEOmhyZWYgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxNSBEOmxvY2t0b2tlbiAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgIAorMiAxNSBEOmFjdGl2ZWxvY2sgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDE1IEQ6bG9ja2Rpc2NvdmVyeSAwIDAKKzEgMTQgI3RleHQgMCAxIAorCiswIDE1IEQ6cHJvcCAwIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2RhdjExLnNheCBiL2xpYnhtbDIvcmVzdWx0L2RhdjExLnNheApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MzgxNWU1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZGF2MTEuc2F4CkBAIC0wLDAgKzEsNjIgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLnN0YXJ0RWxlbWVudChEOnByb3AsIHhtbG5zOkQ9J2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQoRDpsb2NrZGlzY292ZXJ5KQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChEOmFjdGl2ZWxvY2spCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5zdGFydEVsZW1lbnQoRDpsb2NrdHlwZSkKK1NBWC5jaGFyYWN0ZXJzKHdyaXRlLCA1KQorU0FYLmVuZEVsZW1lbnQoRDpsb2NrdHlwZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLnN0YXJ0RWxlbWVudChEOmxvY2tzY29wZSkKK1NBWC5jaGFyYWN0ZXJzKGV4Y2x1c2l2ZSwgOSkKK1NBWC5lbmRFbGVtZW50KEQ6bG9ja3Njb3BlKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguc3RhcnRFbGVtZW50KEQ6YWRkbG9ja3MpCitTQVguZW5kRWxlbWVudChEOmFkZGxvY2tzKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguc3RhcnRFbGVtZW50KEQ6b3duZXIpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgLCA5KQorU0FYLnN0YXJ0RWxlbWVudChEOmhyZWYpCitTQVguY2hhcmFjdGVycygKKwkJaHR0cDovL3d3dy5pY3MudWNpLmVkdS9+ZWp3LCA0NikKK1NBWC5lbmRFbGVtZW50KEQ6aHJlZikKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLmVuZEVsZW1lbnQoRDpvd25lcikKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLnN0YXJ0RWxlbWVudChEOnRpbWVvdXQpCitTQVguY2hhcmFjdGVycyhTZWNvbmQtNjA0ODAwLCAxMykKK1NBWC5lbmRFbGVtZW50KEQ6dGltZW91dCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLnN0YXJ0RWxlbWVudChEOmxvY2t0b2tlbikKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAsIDkpCitTQVguc3RhcnRFbGVtZW50KEQ6aHJlZikKK1NBWC5jaGFyYWN0ZXJzKAorCSAgIG9wYXF1ZWxvY2t0b2tlbjp4eXoxMjIzOTMsIDU5KQorU0FYLmVuZEVsZW1lbnQoRDpocmVmKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguZW5kRWxlbWVudChEOmxvY2t0b2tlbikKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5lbmRFbGVtZW50KEQ6YWN0aXZlbG9jaykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguZW5kRWxlbWVudChEOmxvY2tkaXNjb3ZlcnkpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5lbmRFbGVtZW50KEQ6cHJvcCkKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9kYXYxMS5zYXgyIGIvbGlieG1sMi9yZXN1bHQvZGF2MTEuc2F4MgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMGYyMzI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZGF2MTEuc2F4MgpAQCAtMCwwICsxLDYyIEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5zdGFydEVsZW1lbnROcyhwcm9wLCBELCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycsIDEsIHhtbG5zOkQ9J2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhsb2NrZGlzY292ZXJ5LCBELCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoYWN0aXZlbG9jaywgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguc3RhcnRFbGVtZW50TnMobG9ja3R5cGUsIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKHdyaXRlLCA1KQorU0FYLmVuZEVsZW1lbnROcyhsb2NrdHlwZSwgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguc3RhcnRFbGVtZW50TnMobG9ja3Njb3BlLCBELCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhleGNsdXNpdmUsIDkpCitTQVguZW5kRWxlbWVudE5zKGxvY2tzY29wZSwgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguc3RhcnRFbGVtZW50TnMoYWRkbG9ja3MsIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgMCwgMCwgMCkKK1NBWC5lbmRFbGVtZW50TnMoYWRkbG9ja3MsIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLnN0YXJ0RWxlbWVudE5zKG93bmVyLCBELCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgLCA5KQorU0FYLnN0YXJ0RWxlbWVudE5zKGhyZWYsIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorCQlodHRwOi8vd3d3Lmljcy51Y2kuZWR1L35lancsIDQ2KQorU0FYLmVuZEVsZW1lbnROcyhocmVmLCBELCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5lbmRFbGVtZW50TnMob3duZXIsIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLnN0YXJ0RWxlbWVudE5zKHRpbWVvdXQsIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKFNlY29uZC02MDQ4MDAsIDEzKQorU0FYLmVuZEVsZW1lbnROcyh0aW1lb3V0LCBELCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5zdGFydEVsZW1lbnROcyhsb2NrdG9rZW4sIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAsIDkpCitTQVguc3RhcnRFbGVtZW50TnMoaHJlZiwgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCisJICAgb3BhcXVlbG9ja3Rva2VuOnh5ejEyMjM5MywgNTkpCitTQVguZW5kRWxlbWVudE5zKGhyZWYsIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLmVuZEVsZW1lbnROcyhsb2NrdG9rZW4sIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5lbmRFbGVtZW50TnMoYWN0aXZlbG9jaywgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5lbmRFbGVtZW50TnMobG9ja2Rpc2NvdmVyeSwgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguZW5kRWxlbWVudE5zKHByb3AsIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJykKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9kYXYxMiBiL2xpYnhtbDIvcmVzdWx0L2RhdjEyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ4ZDAzZmUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kYXYxMgpAQCAtMCwwICsxLDIgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPEQ6aHJlZiB4bWxuczpEPSJodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvIj5odHRwOi8vd3d3Lmljcy51Y2kuZWR1L35lancvY29udGFjdC5odG1sPC9EOmhyZWY+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9kYXYxMi5yZGUgYi9saWJ4bWwyL3Jlc3VsdC9kYXYxMi5yZGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGRmNzk0MwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2RhdjEyLnJkZQpAQCAtMCwwICsxLDMgQEAKKzAgMSBEOmhyZWYgMCAwCisxIDMgI3RleHQgMCAxIGh0dHA6Ly93d3cuaWNzLnVjaS5lZHUvfmVqdy9jb250YWN0Lmh0bWwKKzAgMTUgRDpocmVmIDAgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZGF2MTIucmRyIGIvbGlieG1sMi9yZXN1bHQvZGF2MTIucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBkZjc5NDMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kYXYxMi5yZHIKQEAgLTAsMCArMSwzIEBACiswIDEgRDpocmVmIDAgMAorMSAzICN0ZXh0IDAgMSBodHRwOi8vd3d3Lmljcy51Y2kuZWR1L35lancvY29udGFjdC5odG1sCiswIDE1IEQ6aHJlZiAwIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2RhdjEyLnNheCBiL2xpYnhtbDIvcmVzdWx0L2RhdjEyLnNheApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42N2I5ZjY0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZGF2MTIuc2F4CkBAIC0wLDAgKzEsNiBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguc3RhcnRFbGVtZW50KEQ6aHJlZiwgeG1sbnM6RD0naHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycpCitTQVguY2hhcmFjdGVycyhodHRwOi8vd3d3Lmljcy51Y2kuZWR1L35lancvY28sIDQwKQorU0FYLmVuZEVsZW1lbnQoRDpocmVmKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2RhdjEyLnNheDIgYi9saWJ4bWwyL3Jlc3VsdC9kYXYxMi5zYXgyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYxNzE1YjYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kYXYxMi5zYXgyCkBAIC0wLDAgKzEsNiBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguc3RhcnRFbGVtZW50TnMoaHJlZiwgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nLCAxLCB4bWxuczpEPSdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKGh0dHA6Ly93d3cuaWNzLnVjaS5lZHUvfmVqdy9jbywgNDApCitTQVguZW5kRWxlbWVudE5zKGhyZWYsIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJykKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9kYXYxMyBiL2xpYnhtbDIvcmVzdWx0L2RhdjEzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY0NGFlMzgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kYXYxMwpAQCAtMCwwICsxLDE2IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxEOm11bHRpc3RhdHVzIHhtbG5zOkQ9Imh0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8iPgorICA8RDpyZXNwb25zZT4KKyAgICA8RDpocmVmPgorCSAgIGh0dHA6Ly93ZWJkYXYuc2IuYW9sLmNvbS93b3Jrc3BhY2Uvd2ViZGF2L3Byb3Bvc2FsLmRvYworICAgICAgPC9EOmhyZWY+CisgICAgPEQ6aHJlZj4KKwkgICBodHRwOi8vd2ViZGF2LnNiLmFvbC5jb20vd29ya3NwYWNlL3dlYmRhdi8KKyAgICAgIDwvRDpocmVmPgorICAgIDxEOnN0YXR1cz5IVFRQLzEuMSAyMDIgQWNjZXB0ZWQ8L0Q6c3RhdHVzPgorICA8L0Q6cmVzcG9uc2U+CisgIDxEOnJlc3BvbnNlPgorICAgIDxEOmhyZWY+aHR0cDovL2Zvby5iYXIvYmxhaDwvRDpocmVmPgorICAgIDxEOnN0YXR1cz5IVFRQLzEuMSA0MDMgRm9yYmlkZGVuPC9EOnN0YXR1cz4KKyAgPC9EOnJlc3BvbnNlPgorPC9EOm11bHRpc3RhdHVzPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZGF2MTMucmRlIGIvbGlieG1sMi9yZXN1bHQvZGF2MTMucmRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZmZTk3OGQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kYXYxMy5yZGUKQEAgLTAsMCArMSw0NSBAQAorMCAxIEQ6bXVsdGlzdGF0dXMgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDEgRDpyZXNwb25zZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIEQ6aHJlZiAwIDAKKzMgMyAjdGV4dCAwIDEgCisJICAgaHR0cDovL3dlYmRhdi5zYi5hb2wuY29tL3dvcmtzcGFjZS93ZWJkYXYvcHJvcG9zYWwuZG9jCisgICAgICAKKzIgMTUgRDpocmVmIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgRDpocmVmIDAgMAorMyAzICN0ZXh0IDAgMSAKKwkgICBodHRwOi8vd2ViZGF2LnNiLmFvbC5jb20vd29ya3NwYWNlL3dlYmRhdi8KKyAgICAgIAorMiAxNSBEOmhyZWYgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBEOnN0YXR1cyAwIDAKKzMgMyAjdGV4dCAwIDEgSFRUUC8xLjEgMjAyIEFjY2VwdGVkCisyIDE1IEQ6c3RhdHVzIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMSAxNSBEOnJlc3BvbnNlIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSAxIEQ6cmVzcG9uc2UgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBEOmhyZWYgMCAwCiszIDMgI3RleHQgMCAxIGh0dHA6Ly9mb28uYmFyL2JsYWgKKzIgMTUgRDpocmVmIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgRDpzdGF0dXMgMCAwCiszIDMgI3RleHQgMCAxIEhUVFAvMS4xIDQwMyBGb3JiaWRkZW4KKzIgMTUgRDpzdGF0dXMgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDE1IEQ6cmVzcG9uc2UgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKworMCAxNSBEOm11bHRpc3RhdHVzIDAgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZGF2MTMucmRyIGIvbGlieG1sMi9yZXN1bHQvZGF2MTMucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZmZTk3OGQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kYXYxMy5yZHIKQEAgLTAsMCArMSw0NSBAQAorMCAxIEQ6bXVsdGlzdGF0dXMgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDEgRDpyZXNwb25zZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIEQ6aHJlZiAwIDAKKzMgMyAjdGV4dCAwIDEgCisJICAgaHR0cDovL3dlYmRhdi5zYi5hb2wuY29tL3dvcmtzcGFjZS93ZWJkYXYvcHJvcG9zYWwuZG9jCisgICAgICAKKzIgMTUgRDpocmVmIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgRDpocmVmIDAgMAorMyAzICN0ZXh0IDAgMSAKKwkgICBodHRwOi8vd2ViZGF2LnNiLmFvbC5jb20vd29ya3NwYWNlL3dlYmRhdi8KKyAgICAgIAorMiAxNSBEOmhyZWYgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBEOnN0YXR1cyAwIDAKKzMgMyAjdGV4dCAwIDEgSFRUUC8xLjEgMjAyIEFjY2VwdGVkCisyIDE1IEQ6c3RhdHVzIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMSAxNSBEOnJlc3BvbnNlIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSAxIEQ6cmVzcG9uc2UgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBEOmhyZWYgMCAwCiszIDMgI3RleHQgMCAxIGh0dHA6Ly9mb28uYmFyL2JsYWgKKzIgMTUgRDpocmVmIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgRDpzdGF0dXMgMCAwCiszIDMgI3RleHQgMCAxIEhUVFAvMS4xIDQwMyBGb3JiaWRkZW4KKzIgMTUgRDpzdGF0dXMgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDE1IEQ6cmVzcG9uc2UgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKworMCAxNSBEOm11bHRpc3RhdHVzIDAgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZGF2MTMuc2F4IGIvbGlieG1sMi9yZXN1bHQvZGF2MTMuc2F4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE2ZWRmZDEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kYXYxMy5zYXgKQEAgLTAsMCArMSw0NiBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguc3RhcnRFbGVtZW50KEQ6bXVsdGlzdGF0dXMsIHhtbG5zOkQ9J2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQoRDpyZXNwb25zZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoRDpocmVmKQorU0FYLmNoYXJhY3RlcnMoCisJICAgaHR0cDovL3dlYmRhdi5zYi5hb2wuY29tLywgNjYpCitTQVguZW5kRWxlbWVudChEOmhyZWYpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KEQ6aHJlZikKK1NBWC5jaGFyYWN0ZXJzKAorCSAgIGh0dHA6Ly93ZWJkYXYuc2IuYW9sLmNvbS8sIDU0KQorU0FYLmVuZEVsZW1lbnQoRDpocmVmKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChEOnN0YXR1cykKK1NBWC5jaGFyYWN0ZXJzKEhUVFAvMS4xIDIwMiBBY2NlcHRlZCwgMjEpCitTQVguZW5kRWxlbWVudChEOnN0YXR1cykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguZW5kRWxlbWVudChEOnJlc3BvbnNlKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQoRDpyZXNwb25zZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoRDpocmVmKQorU0FYLmNoYXJhY3RlcnMoaHR0cDovL2Zvby5iYXIvYmxhaCwgMTkpCitTQVguZW5kRWxlbWVudChEOmhyZWYpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KEQ6c3RhdHVzKQorU0FYLmNoYXJhY3RlcnMoSFRUUC8xLjEgNDAzIEZvcmJpZGRlbiwgMjIpCitTQVguZW5kRWxlbWVudChEOnN0YXR1cykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguZW5kRWxlbWVudChEOnJlc3BvbnNlKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguZW5kRWxlbWVudChEOm11bHRpc3RhdHVzKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2RhdjEzLnNheDIgYi9saWJ4bWwyL3Jlc3VsdC9kYXYxMy5zYXgyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY2YzUzODEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kYXYxMy5zYXgyCkBAIC0wLDAgKzEsNDYgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLnN0YXJ0RWxlbWVudE5zKG11bHRpc3RhdHVzLCBELCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycsIDEsIHhtbG5zOkQ9J2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhyZXNwb25zZSwgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKGhyZWYsIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorCSAgIGh0dHA6Ly93ZWJkYXYuc2IuYW9sLmNvbS8sIDY2KQorU0FYLmVuZEVsZW1lbnROcyhocmVmLCBELCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoaHJlZiwgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCisJICAgaHR0cDovL3dlYmRhdi5zYi5hb2wuY29tLywgNTQpCitTQVguZW5kRWxlbWVudE5zKGhyZWYsIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhzdGF0dXMsIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKEhUVFAvMS4xIDIwMiBBY2NlcHRlZCwgMjEpCitTQVguZW5kRWxlbWVudE5zKHN0YXR1cywgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5lbmRFbGVtZW50TnMocmVzcG9uc2UsIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocmVzcG9uc2UsIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhocmVmLCBELCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhodHRwOi8vZm9vLmJhci9ibGFoLCAxOSkKK1NBWC5lbmRFbGVtZW50TnMoaHJlZiwgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHN0YXR1cywgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoSFRUUC8xLjEgNDAzIEZvcmJpZGRlbiwgMjIpCitTQVguZW5kRWxlbWVudE5zKHN0YXR1cywgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5lbmRFbGVtZW50TnMocmVzcG9uc2UsIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJykKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmVuZEVsZW1lbnROcyhtdWx0aXN0YXR1cywgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2RhdjE1IGIvbGlieG1sMi9yZXN1bHQvZGF2MTUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjgwODAyZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2RhdjE1CkBAIC0wLDAgKzEsMjAgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPEQ6cHJvcCB4bWxuczpEPSJodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvIiB4bWxuczpGPSJodHRwOi8vd3d3LmZvb2NvcnAuY29tL1Byb2plY3QvIj4KKyAgPEQ6U291cmNlPgorICAgIDxEOmxpbms+CisgICAgICA8Rjpwcm9qZmlsZXM+U291cmNlPC9GOnByb2pmaWxlcz4KKyAgICAgIDxEOnNyYz5odHRwOi8vZm9vLmJhci9wcm9ncmFtPC9EOnNyYz4KKyAgICAgIDxEOmRzdD5odHRwOi8vZm9vLmJhci9zcmMvbWFpbi5jPC9EOmRzdD4KKyAgICA8L0Q6bGluaz4KKyAgICA8RDpsaW5rPgorICAgICAgPEY6cHJvamZpbGVzPkxpYnJhcnk8L0Y6cHJvamZpbGVzPgorICAgICAgPEQ6c3JjPmh0dHA6Ly9mb28uYmFyL3Byb2dyYW08L0Q6c3JjPgorICAgICAgPEQ6ZHN0Pmh0dHA6Ly9mb28uYmFyL3NyYy9tYWluLmxpYjwvRDpkc3Q+CisgICAgPC9EOmxpbms+CisgICAgPEQ6bGluaz4KKyAgICAgIDxGOnByb2pmaWxlcz5NYWtlZmlsZTwvRjpwcm9qZmlsZXM+CisgICAgICA8RDpzcmM+aHR0cDovL2Zvby5iYXIvcHJvZ3JhbTwvRDpzcmM+CisgICAgICA8RDpkc3Q+aHR0cDovL2Zvby5iYXIvc3JjL21ha2VmaWxlPC9EOmRzdD4KKyAgICA8L0Q6bGluaz4KKyAgPC9EOlNvdXJjZT4KKzwvRDpwcm9wPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZGF2MTUucmRlIGIvbGlieG1sMi9yZXN1bHQvZGF2MTUucmRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE0YTRlN2MKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kYXYxNS5yZGUKQEAgLTAsMCArMSw3MyBAQAorMCAxIEQ6cHJvcCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKzEgMSBEOlNvdXJjZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIEQ6bGluayAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDEgRjpwcm9qZmlsZXMgMCAwCis0IDMgI3RleHQgMCAxIFNvdXJjZQorMyAxNSBGOnByb2pmaWxlcyAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDEgRDpzcmMgMCAwCis0IDMgI3RleHQgMCAxIGh0dHA6Ly9mb28uYmFyL3Byb2dyYW0KKzMgMTUgRDpzcmMgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxIEQ6ZHN0IDAgMAorNCAzICN0ZXh0IDAgMSBodHRwOi8vZm9vLmJhci9zcmMvbWFpbi5jCiszIDE1IEQ6ZHN0IDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgCisyIDE1IEQ6bGluayAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIEQ6bGluayAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDEgRjpwcm9qZmlsZXMgMCAwCis0IDMgI3RleHQgMCAxIExpYnJhcnkKKzMgMTUgRjpwcm9qZmlsZXMgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxIEQ6c3JjIDAgMAorNCAzICN0ZXh0IDAgMSBodHRwOi8vZm9vLmJhci9wcm9ncmFtCiszIDE1IEQ6c3JjIDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMSBEOmRzdCAwIDAKKzQgMyAjdGV4dCAwIDEgaHR0cDovL2Zvby5iYXIvc3JjL21haW4ubGliCiszIDE1IEQ6ZHN0IDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgCisyIDE1IEQ6bGluayAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIEQ6bGluayAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDEgRjpwcm9qZmlsZXMgMCAwCis0IDMgI3RleHQgMCAxIE1ha2VmaWxlCiszIDE1IEY6cHJvamZpbGVzIDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMSBEOnNyYyAwIDAKKzQgMyAjdGV4dCAwIDEgaHR0cDovL2Zvby5iYXIvcHJvZ3JhbQorMyAxNSBEOnNyYyAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDEgRDpkc3QgMCAwCis0IDMgI3RleHQgMCAxIGh0dHA6Ly9mb28uYmFyL3NyYy9tYWtlZmlsZQorMyAxNSBEOmRzdCAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgIAorMiAxNSBEOmxpbmsgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDE1IEQ6U291cmNlIDAgMAorMSAxNCAjdGV4dCAwIDEgCisKKzAgMTUgRDpwcm9wIDAgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZGF2MTUucmRyIGIvbGlieG1sMi9yZXN1bHQvZGF2MTUucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE0YTRlN2MKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kYXYxNS5yZHIKQEAgLTAsMCArMSw3MyBAQAorMCAxIEQ6cHJvcCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKzEgMSBEOlNvdXJjZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIEQ6bGluayAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDEgRjpwcm9qZmlsZXMgMCAwCis0IDMgI3RleHQgMCAxIFNvdXJjZQorMyAxNSBGOnByb2pmaWxlcyAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDEgRDpzcmMgMCAwCis0IDMgI3RleHQgMCAxIGh0dHA6Ly9mb28uYmFyL3Byb2dyYW0KKzMgMTUgRDpzcmMgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxIEQ6ZHN0IDAgMAorNCAzICN0ZXh0IDAgMSBodHRwOi8vZm9vLmJhci9zcmMvbWFpbi5jCiszIDE1IEQ6ZHN0IDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgCisyIDE1IEQ6bGluayAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIEQ6bGluayAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDEgRjpwcm9qZmlsZXMgMCAwCis0IDMgI3RleHQgMCAxIExpYnJhcnkKKzMgMTUgRjpwcm9qZmlsZXMgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxIEQ6c3JjIDAgMAorNCAzICN0ZXh0IDAgMSBodHRwOi8vZm9vLmJhci9wcm9ncmFtCiszIDE1IEQ6c3JjIDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMSBEOmRzdCAwIDAKKzQgMyAjdGV4dCAwIDEgaHR0cDovL2Zvby5iYXIvc3JjL21haW4ubGliCiszIDE1IEQ6ZHN0IDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgCisyIDE1IEQ6bGluayAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIEQ6bGluayAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDEgRjpwcm9qZmlsZXMgMCAwCis0IDMgI3RleHQgMCAxIE1ha2VmaWxlCiszIDE1IEY6cHJvamZpbGVzIDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMSBEOnNyYyAwIDAKKzQgMyAjdGV4dCAwIDEgaHR0cDovL2Zvby5iYXIvcHJvZ3JhbQorMyAxNSBEOnNyYyAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDEgRDpkc3QgMCAwCis0IDMgI3RleHQgMCAxIGh0dHA6Ly9mb28uYmFyL3NyYy9tYWtlZmlsZQorMyAxNSBEOmRzdCAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgIAorMiAxNSBEOmxpbmsgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDE1IEQ6U291cmNlIDAgMAorMSAxNCAjdGV4dCAwIDEgCisKKzAgMTUgRDpwcm9wIDAgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZGF2MTUuc2F4IGIvbGlieG1sMi9yZXN1bHQvZGF2MTUuc2F4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYzNGVjN2QKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kYXYxNS5zYXgKQEAgLTAsMCArMSw3NiBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguc3RhcnRFbGVtZW50KEQ6cHJvcCwgeG1sbnM6RD0naHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycsIHhtbG5zOkY9J2h0dHA6Ly93d3cuZm9vY29ycC5jb20vUHJvamVjdC8nKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQoRDpTb3VyY2UpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KEQ6bGluaykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLnN0YXJ0RWxlbWVudChGOnByb2pmaWxlcykKK1NBWC5jaGFyYWN0ZXJzKFNvdXJjZSwgNikKK1NBWC5lbmRFbGVtZW50KEY6cHJvamZpbGVzKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguc3RhcnRFbGVtZW50KEQ6c3JjKQorU0FYLmNoYXJhY3RlcnMoaHR0cDovL2Zvby5iYXIvcHJvZ3JhbSwgMjIpCitTQVguZW5kRWxlbWVudChEOnNyYykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLnN0YXJ0RWxlbWVudChEOmRzdCkKK1NBWC5jaGFyYWN0ZXJzKGh0dHA6Ly9mb28uYmFyL3NyYy9tYWluLmMsIDI1KQorU0FYLmVuZEVsZW1lbnQoRDpkc3QpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguZW5kRWxlbWVudChEOmxpbmspCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KEQ6bGluaykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLnN0YXJ0RWxlbWVudChGOnByb2pmaWxlcykKK1NBWC5jaGFyYWN0ZXJzKExpYnJhcnksIDcpCitTQVguZW5kRWxlbWVudChGOnByb2pmaWxlcykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLnN0YXJ0RWxlbWVudChEOnNyYykKK1NBWC5jaGFyYWN0ZXJzKGh0dHA6Ly9mb28uYmFyL3Byb2dyYW0sIDIyKQorU0FYLmVuZEVsZW1lbnQoRDpzcmMpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5zdGFydEVsZW1lbnQoRDpkc3QpCitTQVguY2hhcmFjdGVycyhodHRwOi8vZm9vLmJhci9zcmMvbWFpbi5saWIsIDI3KQorU0FYLmVuZEVsZW1lbnQoRDpkc3QpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguZW5kRWxlbWVudChEOmxpbmspCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KEQ6bGluaykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLnN0YXJ0RWxlbWVudChGOnByb2pmaWxlcykKK1NBWC5jaGFyYWN0ZXJzKE1ha2VmaWxlLCA4KQorU0FYLmVuZEVsZW1lbnQoRjpwcm9qZmlsZXMpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5zdGFydEVsZW1lbnQoRDpzcmMpCitTQVguY2hhcmFjdGVycyhodHRwOi8vZm9vLmJhci9wcm9ncmFtLCAyMikKK1NBWC5lbmRFbGVtZW50KEQ6c3JjKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguc3RhcnRFbGVtZW50KEQ6ZHN0KQorU0FYLmNoYXJhY3RlcnMoaHR0cDovL2Zvby5iYXIvc3JjL21ha2VmaWxlLCAyNykKK1NBWC5lbmRFbGVtZW50KEQ6ZHN0KQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLmVuZEVsZW1lbnQoRDpsaW5rKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5lbmRFbGVtZW50KEQ6U291cmNlKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguZW5kRWxlbWVudChEOnByb3ApCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZGF2MTUuc2F4MiBiL2xpYnhtbDIvcmVzdWx0L2RhdjE1LnNheDIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjA0MGNkMQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2RhdjE1LnNheDIKQEAgLTAsMCArMSw3NiBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguc3RhcnRFbGVtZW50TnMocHJvcCwgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nLCAyLCB4bWxuczpEPSdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgeG1sbnM6Rj0naHR0cDovL3d3dy5mb29jb3JwLmNvbS9Qcm9qZWN0LycsIDAsIDApCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKFNvdXJjZSwgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKGxpbmssIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLnN0YXJ0RWxlbWVudE5zKHByb2pmaWxlcywgRiwgJ2h0dHA6Ly93d3cuZm9vY29ycC5jb20vUHJvamVjdC8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoU291cmNlLCA2KQorU0FYLmVuZEVsZW1lbnROcyhwcm9qZmlsZXMsIEYsICdodHRwOi8vd3d3LmZvb2NvcnAuY29tL1Byb2plY3QvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLnN0YXJ0RWxlbWVudE5zKHNyYywgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoaHR0cDovL2Zvby5iYXIvcHJvZ3JhbSwgMjIpCitTQVguZW5kRWxlbWVudE5zKHNyYywgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguc3RhcnRFbGVtZW50TnMoZHN0LCBELCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhodHRwOi8vZm9vLmJhci9zcmMvbWFpbi5jLCAyNSkKK1NBWC5lbmRFbGVtZW50TnMoZHN0LCBELCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguZW5kRWxlbWVudE5zKGxpbmssIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhsaW5rLCBELCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5zdGFydEVsZW1lbnROcyhwcm9qZmlsZXMsIEYsICdodHRwOi8vd3d3LmZvb2NvcnAuY29tL1Byb2plY3QvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKExpYnJhcnksIDcpCitTQVguZW5kRWxlbWVudE5zKHByb2pmaWxlcywgRiwgJ2h0dHA6Ly93d3cuZm9vY29ycC5jb20vUHJvamVjdC8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguc3RhcnRFbGVtZW50TnMoc3JjLCBELCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhodHRwOi8vZm9vLmJhci9wcm9ncmFtLCAyMikKK1NBWC5lbmRFbGVtZW50TnMoc3JjLCBELCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5zdGFydEVsZW1lbnROcyhkc3QsIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKGh0dHA6Ly9mb28uYmFyL3NyYy9tYWluLmxpYiwgMjcpCitTQVguZW5kRWxlbWVudE5zKGRzdCwgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLmVuZEVsZW1lbnROcyhsaW5rLCBELCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMobGluaywgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguc3RhcnRFbGVtZW50TnMocHJvamZpbGVzLCBGLCAnaHR0cDovL3d3dy5mb29jb3JwLmNvbS9Qcm9qZWN0LycsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhNYWtlZmlsZSwgOCkKK1NBWC5lbmRFbGVtZW50TnMocHJvamZpbGVzLCBGLCAnaHR0cDovL3d3dy5mb29jb3JwLmNvbS9Qcm9qZWN0LycpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5zdGFydEVsZW1lbnROcyhzcmMsIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKGh0dHA6Ly9mb28uYmFyL3Byb2dyYW0sIDIyKQorU0FYLmVuZEVsZW1lbnROcyhzcmMsIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLnN0YXJ0RWxlbWVudE5zKGRzdCwgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoaHR0cDovL2Zvby5iYXIvc3JjL21ha2VmaWxlLCAyNykKK1NBWC5lbmRFbGVtZW50TnMoZHN0LCBELCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguZW5kRWxlbWVudE5zKGxpbmssIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguZW5kRWxlbWVudE5zKFNvdXJjZSwgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguZW5kRWxlbWVudE5zKHByb3AsIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJykKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9kYXYxNiBiL2xpYnhtbDIvcmVzdWx0L2RhdjE2Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlhN2RjMzYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kYXYxNgpAQCAtMCwwICsxLDYgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPEQ6cHJvcGZpbmQgeG1sbnM6RD0iaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LyI+CisgIDxEOnByb3A+CisgICAgPGxvY2tkaXNjb3ZlcnkvPgorICA8L0Q6cHJvcD4KKzwvRDpwcm9wZmluZD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2RhdjE2LnJkZSBiL2xpYnhtbDIvcmVzdWx0L2RhdjE2LnJkZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45N2E5OTMzCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZGF2MTYucmRlCkBAIC0wLDAgKzEsMTMgQEAKKzAgMSBEOnByb3BmaW5kIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSAxIEQ6cHJvcCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGxvY2tkaXNjb3ZlcnkgMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDE1IEQ6cHJvcCAwIDAKKzEgMTQgI3RleHQgMCAxIAorCiswIDE1IEQ6cHJvcGZpbmQgMCAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9kYXYxNi5yZHIgYi9saWJ4bWwyL3Jlc3VsdC9kYXYxNi5yZHIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTdhOTkzMwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2RhdjE2LnJkcgpAQCAtMCwwICsxLDEzIEBACiswIDEgRDpwcm9wZmluZCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKzEgMSBEOnByb3AgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBsb2NrZGlzY292ZXJ5IDEgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMSAxNSBEOnByb3AgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKworMCAxNSBEOnByb3BmaW5kIDAgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZGF2MTYuc2F4IGIvbGlieG1sMi9yZXN1bHQvZGF2MTYuc2F4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEyMTI1MmIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kYXYxNi5zYXgKQEAgLTAsMCArMSwxNyBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguc3RhcnRFbGVtZW50KEQ6cHJvcGZpbmQsIHhtbG5zOkQ9J2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQoRDpwcm9wKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChsb2NrZGlzY292ZXJ5KQorU0FYLmVuZEVsZW1lbnQobG9ja2Rpc2NvdmVyeSkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguZW5kRWxlbWVudChEOnByb3ApCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5lbmRFbGVtZW50KEQ6cHJvcGZpbmQpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZGF2MTYuc2F4MiBiL2xpYnhtbDIvcmVzdWx0L2RhdjE2LnNheDIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWVkZTIyZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2RhdjE2LnNheDIKQEAgLTAsMCArMSwxNyBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguc3RhcnRFbGVtZW50TnMocHJvcGZpbmQsIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgMSwgeG1sbnM6RD0naHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycsIDAsIDApCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHByb3AsIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhsb2NrZGlzY292ZXJ5LCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmVuZEVsZW1lbnROcyhsb2NrZGlzY292ZXJ5LCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5lbmRFbGVtZW50TnMocHJvcCwgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguZW5kRWxlbWVudE5zKHByb3BmaW5kLCBELCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZGF2MTcgYi9saWJ4bWwyL3Jlc3VsdC9kYXYxNwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMTM3NjYyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZGF2MTcKQEAgLTAsMCArMSwyMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8RDptdWx0aXN0YXR1cyB4bWxuczpEPSJodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvIj4KKyAgPEQ6cmVzcG9uc2U+CisgICAgPEQ6cHJvcD4KKyAgICAgIDxEOmxvY2tkaXNjb3Zlcnk+CisgICAgICAgIDxEOmFjdGl2ZWxvY2s+CisgICAgICAgICAgPEQ6bG9ja3R5cGU+d3JpdGU8L0Q6bG9ja3R5cGU+CisgICAgICAgICAgPEQ6bG9ja3Njb3BlPmV4Y2x1c2l2ZTwvRDpsb2Nrc2NvcGU+CisgICAgICAgICAgPEQ6YWRkbG9ja3M+CisgICAgICAgICAgICA8RDpocmVmPmh0dHA6Ly9mb28uY29tL2RvYy88L0Q6aHJlZj4KKyAgICAgICAgICA8L0Q6YWRkbG9ja3M+CisgICAgICAgICAgPEQ6b3duZXI+SmFuZSBTbWl0aDwvRDpvd25lcj4KKyAgICAgICAgICA8RDp0aW1lb3V0PkluZmluaXRlPC9EOnRpbWVvdXQ+CisgICAgICAgICAgPEQ6bG9ja3Rva2VuPgorICAgICAgICAgICAgPEQ6aHJlZj5pYW11cmk6dW5pcXVlISEhISE8L0Q6aHJlZj4KKyAgICAgICAgICA8L0Q6bG9ja3Rva2VuPgorICAgICAgICA8L0Q6YWN0aXZlbG9jaz4KKyAgICAgIDwvRDpsb2NrZGlzY292ZXJ5PgorICAgIDwvRDpwcm9wPgorICAgIDxEOnN0YXR1cz5IVFRQLzEuMSAyMDAgT0s8L0Q6c3RhdHVzPgorICA8L0Q6cmVzcG9uc2U+Cis8L0Q6bXVsdGlzdGF0dXM+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9kYXYxNy5yZGUgYi9saWJ4bWwyL3Jlc3VsdC9kYXYxNy5yZGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTQ3YjY0ZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2RhdjE3LnJkZQpAQCAtMCwwICsxLDc1IEBACiswIDEgRDptdWx0aXN0YXR1cyAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKzEgMSBEOnJlc3BvbnNlIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgRDpwcm9wIDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMSBEOmxvY2tkaXNjb3ZlcnkgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgCis0IDEgRDphY3RpdmVsb2NrIDAgMAorNSAxNCAjdGV4dCAwIDEgCisgICAgICAgICAgCis1IDEgRDpsb2NrdHlwZSAwIDAKKzYgMyAjdGV4dCAwIDEgd3JpdGUKKzUgMTUgRDpsb2NrdHlwZSAwIDAKKzUgMTQgI3RleHQgMCAxIAorICAgICAgICAgIAorNSAxIEQ6bG9ja3Njb3BlIDAgMAorNiAzICN0ZXh0IDAgMSBleGNsdXNpdmUKKzUgMTUgRDpsb2Nrc2NvcGUgMCAwCis1IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgICAKKzUgMSBEOmFkZGxvY2tzIDAgMAorNiAxNCAjdGV4dCAwIDEgCisgICAgICAgICAgICAKKzYgMSBEOmhyZWYgMCAwCis3IDMgI3RleHQgMCAxIGh0dHA6Ly9mb28uY29tL2RvYy8KKzYgMTUgRDpocmVmIDAgMAorNiAxNCAjdGV4dCAwIDEgCisgICAgICAgICAgCis1IDE1IEQ6YWRkbG9ja3MgMCAwCis1IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgICAKKzUgMSBEOm93bmVyIDAgMAorNiAzICN0ZXh0IDAgMSBKYW5lIFNtaXRoCis1IDE1IEQ6b3duZXIgMCAwCis1IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgICAKKzUgMSBEOnRpbWVvdXQgMCAwCis2IDMgI3RleHQgMCAxIEluZmluaXRlCis1IDE1IEQ6dGltZW91dCAwIDAKKzUgMTQgI3RleHQgMCAxIAorICAgICAgICAgIAorNSAxIEQ6bG9ja3Rva2VuIDAgMAorNiAxNCAjdGV4dCAwIDEgCisgICAgICAgICAgICAKKzYgMSBEOmhyZWYgMCAwCis3IDMgI3RleHQgMCAxIGlhbXVyaTp1bmlxdWUhISEhIQorNiAxNSBEOmhyZWYgMCAwCis2IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgICAKKzUgMTUgRDpsb2NrdG9rZW4gMCAwCis1IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgCis0IDE1IEQ6YWN0aXZlbG9jayAwIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDE1IEQ6bG9ja2Rpc2NvdmVyeSAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgIAorMiAxNSBEOnByb3AgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBEOnN0YXR1cyAwIDAKKzMgMyAjdGV4dCAwIDEgSFRUUC8xLjEgMjAwIE9LCisyIDE1IEQ6c3RhdHVzIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMSAxNSBEOnJlc3BvbnNlIDAgMAorMSAxNCAjdGV4dCAwIDEgCisKKzAgMTUgRDptdWx0aXN0YXR1cyAwIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2RhdjE3LnJkciBiL2xpYnhtbDIvcmVzdWx0L2RhdjE3LnJkcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNDdiNjRlCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZGF2MTcucmRyCkBAIC0wLDAgKzEsNzUgQEAKKzAgMSBEOm11bHRpc3RhdHVzIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSAxIEQ6cmVzcG9uc2UgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBEOnByb3AgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxIEQ6bG9ja2Rpc2NvdmVyeSAwIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgICAKKzQgMSBEOmFjdGl2ZWxvY2sgMCAwCis1IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgICAKKzUgMSBEOmxvY2t0eXBlIDAgMAorNiAzICN0ZXh0IDAgMSB3cml0ZQorNSAxNSBEOmxvY2t0eXBlIDAgMAorNSAxNCAjdGV4dCAwIDEgCisgICAgICAgICAgCis1IDEgRDpsb2Nrc2NvcGUgMCAwCis2IDMgI3RleHQgMCAxIGV4Y2x1c2l2ZQorNSAxNSBEOmxvY2tzY29wZSAwIDAKKzUgMTQgI3RleHQgMCAxIAorICAgICAgICAgIAorNSAxIEQ6YWRkbG9ja3MgMCAwCis2IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgICAgIAorNiAxIEQ6aHJlZiAwIDAKKzcgMyAjdGV4dCAwIDEgaHR0cDovL2Zvby5jb20vZG9jLworNiAxNSBEOmhyZWYgMCAwCis2IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgICAKKzUgMTUgRDphZGRsb2NrcyAwIDAKKzUgMTQgI3RleHQgMCAxIAorICAgICAgICAgIAorNSAxIEQ6b3duZXIgMCAwCis2IDMgI3RleHQgMCAxIEphbmUgU21pdGgKKzUgMTUgRDpvd25lciAwIDAKKzUgMTQgI3RleHQgMCAxIAorICAgICAgICAgIAorNSAxIEQ6dGltZW91dCAwIDAKKzYgMyAjdGV4dCAwIDEgSW5maW5pdGUKKzUgMTUgRDp0aW1lb3V0IDAgMAorNSAxNCAjdGV4dCAwIDEgCisgICAgICAgICAgCis1IDEgRDpsb2NrdG9rZW4gMCAwCis2IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgICAgIAorNiAxIEQ6aHJlZiAwIDAKKzcgMyAjdGV4dCAwIDEgaWFtdXJpOnVuaXF1ZSEhISEhCis2IDE1IEQ6aHJlZiAwIDAKKzYgMTQgI3RleHQgMCAxIAorICAgICAgICAgIAorNSAxNSBEOmxvY2t0b2tlbiAwIDAKKzUgMTQgI3RleHQgMCAxIAorICAgICAgICAKKzQgMTUgRDphY3RpdmVsb2NrIDAgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMTUgRDpsb2NrZGlzY292ZXJ5IDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgCisyIDE1IEQ6cHJvcCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIEQ6c3RhdHVzIDAgMAorMyAzICN0ZXh0IDAgMSBIVFRQLzEuMSAyMDAgT0sKKzIgMTUgRDpzdGF0dXMgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDE1IEQ6cmVzcG9uc2UgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKworMCAxNSBEOm11bHRpc3RhdHVzIDAgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZGF2MTcuc2F4IGIvbGlieG1sMi9yZXN1bHQvZGF2MTcuc2F4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgzZjViY2UKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kYXYxNy5zYXgKQEAgLTAsMCArMSw3OCBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguc3RhcnRFbGVtZW50KEQ6bXVsdGlzdGF0dXMsIHhtbG5zOkQ9J2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQoRDpyZXNwb25zZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoRDpwcm9wKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguc3RhcnRFbGVtZW50KEQ6bG9ja2Rpc2NvdmVyeSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAsIDkpCitTQVguc3RhcnRFbGVtZW50KEQ6YWN0aXZlbG9jaykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAgICwgMTEpCitTQVguc3RhcnRFbGVtZW50KEQ6bG9ja3R5cGUpCitTQVguY2hhcmFjdGVycyh3cml0ZSwgNSkKK1NBWC5lbmRFbGVtZW50KEQ6bG9ja3R5cGUpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgICAsIDExKQorU0FYLnN0YXJ0RWxlbWVudChEOmxvY2tzY29wZSkKK1NBWC5jaGFyYWN0ZXJzKGV4Y2x1c2l2ZSwgOSkKK1NBWC5lbmRFbGVtZW50KEQ6bG9ja3Njb3BlKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICAgLCAxMSkKK1NBWC5zdGFydEVsZW1lbnQoRDphZGRsb2NrcykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAgICAgLCAxMykKK1NBWC5zdGFydEVsZW1lbnQoRDpocmVmKQorU0FYLmNoYXJhY3RlcnMoaHR0cDovL2Zvby5jb20vZG9jLywgMTkpCitTQVguZW5kRWxlbWVudChEOmhyZWYpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgICAsIDExKQorU0FYLmVuZEVsZW1lbnQoRDphZGRsb2NrcykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAgICwgMTEpCitTQVguc3RhcnRFbGVtZW50KEQ6b3duZXIpCitTQVguY2hhcmFjdGVycyhKYW5lIFNtaXRoLCAxMCkKK1NBWC5lbmRFbGVtZW50KEQ6b3duZXIpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgICAsIDExKQorU0FYLnN0YXJ0RWxlbWVudChEOnRpbWVvdXQpCitTQVguY2hhcmFjdGVycyhJbmZpbml0ZSwgOCkKK1NBWC5lbmRFbGVtZW50KEQ6dGltZW91dCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAgICwgMTEpCitTQVguc3RhcnRFbGVtZW50KEQ6bG9ja3Rva2VuKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICAgICAsIDEzKQorU0FYLnN0YXJ0RWxlbWVudChEOmhyZWYpCitTQVguY2hhcmFjdGVycyhpYW11cmk6dW5pcXVlISEhISEsIDE4KQorU0FYLmVuZEVsZW1lbnQoRDpocmVmKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICAgLCAxMSkKK1NBWC5lbmRFbGVtZW50KEQ6bG9ja3Rva2VuKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5lbmRFbGVtZW50KEQ6YWN0aXZlbG9jaykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLmVuZEVsZW1lbnQoRDpsb2NrZGlzY292ZXJ5KQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLmVuZEVsZW1lbnQoRDpwcm9wKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChEOnN0YXR1cykKK1NBWC5jaGFyYWN0ZXJzKEhUVFAvMS4xIDIwMCBPSywgMTUpCitTQVguZW5kRWxlbWVudChEOnN0YXR1cykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguZW5kRWxlbWVudChEOnJlc3BvbnNlKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguZW5kRWxlbWVudChEOm11bHRpc3RhdHVzKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2RhdjE3LnNheDIgYi9saWJ4bWwyL3Jlc3VsdC9kYXYxNy5zYXgyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ4MTg1YTIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kYXYxNy5zYXgyCkBAIC0wLDAgKzEsNzggQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLnN0YXJ0RWxlbWVudE5zKG11bHRpc3RhdHVzLCBELCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycsIDEsIHhtbG5zOkQ9J2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhyZXNwb25zZSwgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHByb3AsIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLnN0YXJ0RWxlbWVudE5zKGxvY2tkaXNjb3ZlcnksIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAsIDkpCitTQVguc3RhcnRFbGVtZW50TnMoYWN0aXZlbG9jaywgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICAgLCAxMSkKK1NBWC5zdGFydEVsZW1lbnROcyhsb2NrdHlwZSwgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMod3JpdGUsIDUpCitTQVguZW5kRWxlbWVudE5zKGxvY2t0eXBlLCBELCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgICAsIDExKQorU0FYLnN0YXJ0RWxlbWVudE5zKGxvY2tzY29wZSwgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoZXhjbHVzaXZlLCA5KQorU0FYLmVuZEVsZW1lbnROcyhsb2Nrc2NvcGUsIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAgICwgMTEpCitTQVguc3RhcnRFbGVtZW50TnMoYWRkbG9ja3MsIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAgICAgLCAxMykKK1NBWC5zdGFydEVsZW1lbnROcyhocmVmLCBELCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhodHRwOi8vZm9vLmNvbS9kb2MvLCAxOSkKK1NBWC5lbmRFbGVtZW50TnMoaHJlZiwgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICAgLCAxMSkKK1NBWC5lbmRFbGVtZW50TnMoYWRkbG9ja3MsIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAgICwgMTEpCitTQVguc3RhcnRFbGVtZW50TnMob3duZXIsIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKEphbmUgU21pdGgsIDEwKQorU0FYLmVuZEVsZW1lbnROcyhvd25lciwgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICAgLCAxMSkKK1NBWC5zdGFydEVsZW1lbnROcyh0aW1lb3V0LCBELCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhJbmZpbml0ZSwgOCkKK1NBWC5lbmRFbGVtZW50TnModGltZW91dCwgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICAgLCAxMSkKK1NBWC5zdGFydEVsZW1lbnROcyhsb2NrdG9rZW4sIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAgICAgLCAxMykKK1NBWC5zdGFydEVsZW1lbnROcyhocmVmLCBELCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhpYW11cmk6dW5pcXVlISEhISEsIDE4KQorU0FYLmVuZEVsZW1lbnROcyhocmVmLCBELCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgICAsIDExKQorU0FYLmVuZEVsZW1lbnROcyhsb2NrdG9rZW4sIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAsIDkpCitTQVguZW5kRWxlbWVudE5zKGFjdGl2ZWxvY2ssIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLmVuZEVsZW1lbnROcyhsb2NrZGlzY292ZXJ5LCBELCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguZW5kRWxlbWVudE5zKHByb3AsIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhzdGF0dXMsIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKEhUVFAvMS4xIDIwMCBPSywgMTUpCitTQVguZW5kRWxlbWVudE5zKHN0YXR1cywgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5lbmRFbGVtZW50TnMocmVzcG9uc2UsIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJykKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmVuZEVsZW1lbnROcyhtdWx0aXN0YXR1cywgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2RhdjE4IGIvbGlieG1sMi9yZXN1bHQvZGF2MTgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2RlMWMxOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2RhdjE4CkBAIC0wLDAgKzEsNiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8RDpwcm9wZmluZCB4bWxuczpEPSJodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvIj4KKyAgPEQ6cHJvcD4KKyAgICA8c3VwcG9ydGVkbG9jay8+CisgIDwvRDpwcm9wPgorPC9EOnByb3BmaW5kPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZGF2MTgucmRlIGIvbGlieG1sMi9yZXN1bHQvZGF2MTgucmRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlkZTE3YWYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kYXYxOC5yZGUKQEAgLTAsMCArMSwxMyBAQAorMCAxIEQ6cHJvcGZpbmQgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDEgRDpwcm9wIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgc3VwcG9ydGVkbG9jayAxIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzEgMTUgRDpwcm9wIDAgMAorMSAxNCAjdGV4dCAwIDEgCisKKzAgMTUgRDpwcm9wZmluZCAwIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2RhdjE4LnJkciBiL2xpYnhtbDIvcmVzdWx0L2RhdjE4LnJkcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZGUxN2FmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZGF2MTgucmRyCkBAIC0wLDAgKzEsMTMgQEAKKzAgMSBEOnByb3BmaW5kIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSAxIEQ6cHJvcCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHN1cHBvcnRlZGxvY2sgMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDE1IEQ6cHJvcCAwIDAKKzEgMTQgI3RleHQgMCAxIAorCiswIDE1IEQ6cHJvcGZpbmQgMCAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9kYXYxOC5zYXggYi9saWJ4bWwyL3Jlc3VsdC9kYXYxOC5zYXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzlmNDBlNgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2RhdjE4LnNheApAQCAtMCwwICsxLDE3IEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5zdGFydEVsZW1lbnQoRDpwcm9wZmluZCwgeG1sbnM6RD0naHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChEOnByb3ApCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHN1cHBvcnRlZGxvY2spCitTQVguZW5kRWxlbWVudChzdXBwb3J0ZWRsb2NrKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5lbmRFbGVtZW50KEQ6cHJvcCkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmVuZEVsZW1lbnQoRDpwcm9wZmluZCkKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9kYXYxOC5zYXgyIGIvbGlieG1sMi9yZXN1bHQvZGF2MTguc2F4MgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZGRjMTAwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZGF2MTguc2F4MgpAQCAtMCwwICsxLDE3IEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5zdGFydEVsZW1lbnROcyhwcm9wZmluZCwgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nLCAxLCB4bWxuczpEPSdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocHJvcCwgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHN1cHBvcnRlZGxvY2ssIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguZW5kRWxlbWVudE5zKHN1cHBvcnRlZGxvY2ssIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnROcyhwcm9wLCBELCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5lbmRFbGVtZW50TnMocHJvcGZpbmQsIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJykKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9kYXYxOSBiL2xpYnhtbDIvcmVzdWx0L2RhdjE5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk1MzVmZmMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kYXYxOQpAQCAtMCwwICsxLDE4IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxEOm11bHRpc3RhdHVzIHhtbG5zOkQ9Imh0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8iPgorICA8RDpyZXNwb25zZT4KKyAgICA8RDpwcm9wPgorICAgICAgPEQ6c3VwcG9ydGVkbG9jaz4KKyAgICAgICAgPEQ6TG9ja0VudHJ5PgorICAgICAgICAgIDxEOmxvY2t0eXBlPldyaXRlPC9EOmxvY2t0eXBlPgorICAgICAgICAgIDxEOmxvY2tzY29wZT5FeGNsdXNpdmU8L0Q6bG9ja3Njb3BlPgorICAgICAgICA8L0Q6TG9ja0VudHJ5PgorICAgICAgICA8RDpMb2NrRW50cnk+CisgICAgICAgICAgPEQ6bG9ja3R5cGU+V3JpdGU8L0Q6bG9ja3R5cGU+CisgICAgICAgICAgPEQ6bG9ja3Njb3BlPlNoYXJlZDwvRDpsb2Nrc2NvcGU+CisgICAgICAgIDwvRDpMb2NrRW50cnk+CisgICAgICA8L0Q6c3VwcG9ydGVkbG9jaz4KKyAgICA8L0Q6cHJvcD4KKyAgICA8RDpzdGF0dXM+SFRUUC8xLjEgMjAwIE9LPC9EOnN0YXR1cz4KKyAgPC9EOnJlc3BvbnNlPgorPC9EOm11bHRpc3RhdHVzPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZGF2MTkucmRlIGIvbGlieG1sMi9yZXN1bHQvZGF2MTkucmRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQyYzFlMDAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kYXYxOS5yZGUKQEAgLTAsMCArMSw1OSBAQAorMCAxIEQ6bXVsdGlzdGF0dXMgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDEgRDpyZXNwb25zZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIEQ6cHJvcCAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDEgRDpzdXBwb3J0ZWRsb2NrIDAgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAgIAorNCAxIEQ6TG9ja0VudHJ5IDAgMAorNSAxNCAjdGV4dCAwIDEgCisgICAgICAgICAgCis1IDEgRDpsb2NrdHlwZSAwIDAKKzYgMyAjdGV4dCAwIDEgV3JpdGUKKzUgMTUgRDpsb2NrdHlwZSAwIDAKKzUgMTQgI3RleHQgMCAxIAorICAgICAgICAgIAorNSAxIEQ6bG9ja3Njb3BlIDAgMAorNiAzICN0ZXh0IDAgMSBFeGNsdXNpdmUKKzUgMTUgRDpsb2Nrc2NvcGUgMCAwCis1IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgCis0IDE1IEQ6TG9ja0VudHJ5IDAgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAgIAorNCAxIEQ6TG9ja0VudHJ5IDAgMAorNSAxNCAjdGV4dCAwIDEgCisgICAgICAgICAgCis1IDEgRDpsb2NrdHlwZSAwIDAKKzYgMyAjdGV4dCAwIDEgV3JpdGUKKzUgMTUgRDpsb2NrdHlwZSAwIDAKKzUgMTQgI3RleHQgMCAxIAorICAgICAgICAgIAorNSAxIEQ6bG9ja3Njb3BlIDAgMAorNiAzICN0ZXh0IDAgMSBTaGFyZWQKKzUgMTUgRDpsb2Nrc2NvcGUgMCAwCis1IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgCis0IDE1IEQ6TG9ja0VudHJ5IDAgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMTUgRDpzdXBwb3J0ZWRsb2NrIDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgCisyIDE1IEQ6cHJvcCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIEQ6c3RhdHVzIDAgMAorMyAzICN0ZXh0IDAgMSBIVFRQLzEuMSAyMDAgT0sKKzIgMTUgRDpzdGF0dXMgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDE1IEQ6cmVzcG9uc2UgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKworMCAxNSBEOm11bHRpc3RhdHVzIDAgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZGF2MTkucmRyIGIvbGlieG1sMi9yZXN1bHQvZGF2MTkucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQyYzFlMDAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kYXYxOS5yZHIKQEAgLTAsMCArMSw1OSBAQAorMCAxIEQ6bXVsdGlzdGF0dXMgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDEgRDpyZXNwb25zZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIEQ6cHJvcCAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDEgRDpzdXBwb3J0ZWRsb2NrIDAgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAgIAorNCAxIEQ6TG9ja0VudHJ5IDAgMAorNSAxNCAjdGV4dCAwIDEgCisgICAgICAgICAgCis1IDEgRDpsb2NrdHlwZSAwIDAKKzYgMyAjdGV4dCAwIDEgV3JpdGUKKzUgMTUgRDpsb2NrdHlwZSAwIDAKKzUgMTQgI3RleHQgMCAxIAorICAgICAgICAgIAorNSAxIEQ6bG9ja3Njb3BlIDAgMAorNiAzICN0ZXh0IDAgMSBFeGNsdXNpdmUKKzUgMTUgRDpsb2Nrc2NvcGUgMCAwCis1IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgCis0IDE1IEQ6TG9ja0VudHJ5IDAgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAgIAorNCAxIEQ6TG9ja0VudHJ5IDAgMAorNSAxNCAjdGV4dCAwIDEgCisgICAgICAgICAgCis1IDEgRDpsb2NrdHlwZSAwIDAKKzYgMyAjdGV4dCAwIDEgV3JpdGUKKzUgMTUgRDpsb2NrdHlwZSAwIDAKKzUgMTQgI3RleHQgMCAxIAorICAgICAgICAgIAorNSAxIEQ6bG9ja3Njb3BlIDAgMAorNiAzICN0ZXh0IDAgMSBTaGFyZWQKKzUgMTUgRDpsb2Nrc2NvcGUgMCAwCis1IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgCis0IDE1IEQ6TG9ja0VudHJ5IDAgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMTUgRDpzdXBwb3J0ZWRsb2NrIDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgCisyIDE1IEQ6cHJvcCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIEQ6c3RhdHVzIDAgMAorMyAzICN0ZXh0IDAgMSBIVFRQLzEuMSAyMDAgT0sKKzIgMTUgRDpzdGF0dXMgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDE1IEQ6cmVzcG9uc2UgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKworMCAxNSBEOm11bHRpc3RhdHVzIDAgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZGF2MTkuc2F4IGIvbGlieG1sMi9yZXN1bHQvZGF2MTkuc2F4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM2NWUwM2QKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kYXYxOS5zYXgKQEAgLTAsMCArMSw2MiBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguc3RhcnRFbGVtZW50KEQ6bXVsdGlzdGF0dXMsIHhtbG5zOkQ9J2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQoRDpyZXNwb25zZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoRDpwcm9wKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguc3RhcnRFbGVtZW50KEQ6c3VwcG9ydGVkbG9jaykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAsIDkpCitTQVguc3RhcnRFbGVtZW50KEQ6TG9ja0VudHJ5KQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICAgLCAxMSkKK1NBWC5zdGFydEVsZW1lbnQoRDpsb2NrdHlwZSkKK1NBWC5jaGFyYWN0ZXJzKFdyaXRlLCA1KQorU0FYLmVuZEVsZW1lbnQoRDpsb2NrdHlwZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAgICwgMTEpCitTQVguc3RhcnRFbGVtZW50KEQ6bG9ja3Njb3BlKQorU0FYLmNoYXJhY3RlcnMoRXhjbHVzaXZlLCA5KQorU0FYLmVuZEVsZW1lbnQoRDpsb2Nrc2NvcGUpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgLCA5KQorU0FYLmVuZEVsZW1lbnQoRDpMb2NrRW50cnkpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgLCA5KQorU0FYLnN0YXJ0RWxlbWVudChEOkxvY2tFbnRyeSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAgICwgMTEpCitTQVguc3RhcnRFbGVtZW50KEQ6bG9ja3R5cGUpCitTQVguY2hhcmFjdGVycyhXcml0ZSwgNSkKK1NBWC5lbmRFbGVtZW50KEQ6bG9ja3R5cGUpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgICAsIDExKQorU0FYLnN0YXJ0RWxlbWVudChEOmxvY2tzY29wZSkKK1NBWC5jaGFyYWN0ZXJzKFNoYXJlZCwgNikKK1NBWC5lbmRFbGVtZW50KEQ6bG9ja3Njb3BlKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5lbmRFbGVtZW50KEQ6TG9ja0VudHJ5KQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguZW5kRWxlbWVudChEOnN1cHBvcnRlZGxvY2spCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguZW5kRWxlbWVudChEOnByb3ApCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KEQ6c3RhdHVzKQorU0FYLmNoYXJhY3RlcnMoSFRUUC8xLjEgMjAwIE9LLCAxNSkKK1NBWC5lbmRFbGVtZW50KEQ6c3RhdHVzKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5lbmRFbGVtZW50KEQ6cmVzcG9uc2UpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5lbmRFbGVtZW50KEQ6bXVsdGlzdGF0dXMpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZGF2MTkuc2F4MiBiL2xpYnhtbDIvcmVzdWx0L2RhdjE5LnNheDIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjBkZDQwMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2RhdjE5LnNheDIKQEAgLTAsMCArMSw2MiBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguc3RhcnRFbGVtZW50TnMobXVsdGlzdGF0dXMsIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgMSwgeG1sbnM6RD0naHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycsIDAsIDApCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHJlc3BvbnNlLCBELCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMocHJvcCwgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguc3RhcnRFbGVtZW50TnMoc3VwcG9ydGVkbG9jaywgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5zdGFydEVsZW1lbnROcyhMb2NrRW50cnksIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAgICwgMTEpCitTQVguc3RhcnRFbGVtZW50TnMobG9ja3R5cGUsIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKFdyaXRlLCA1KQorU0FYLmVuZEVsZW1lbnROcyhsb2NrdHlwZSwgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICAgLCAxMSkKK1NBWC5zdGFydEVsZW1lbnROcyhsb2Nrc2NvcGUsIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKEV4Y2x1c2l2ZSwgOSkKK1NBWC5lbmRFbGVtZW50TnMobG9ja3Njb3BlLCBELCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgLCA5KQorU0FYLmVuZEVsZW1lbnROcyhMb2NrRW50cnksIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAsIDkpCitTQVguc3RhcnRFbGVtZW50TnMoTG9ja0VudHJ5LCBELCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgICAsIDExKQorU0FYLnN0YXJ0RWxlbWVudE5zKGxvY2t0eXBlLCBELCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhXcml0ZSwgNSkKK1NBWC5lbmRFbGVtZW50TnMobG9ja3R5cGUsIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAgICwgMTEpCitTQVguc3RhcnRFbGVtZW50TnMobG9ja3Njb3BlLCBELCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhTaGFyZWQsIDYpCitTQVguZW5kRWxlbWVudE5zKGxvY2tzY29wZSwgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5lbmRFbGVtZW50TnMoTG9ja0VudHJ5LCBELCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5lbmRFbGVtZW50TnMoc3VwcG9ydGVkbG9jaywgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLmVuZEVsZW1lbnROcyhwcm9wLCBELCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoc3RhdHVzLCBELCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhIVFRQLzEuMSAyMDAgT0ssIDE1KQorU0FYLmVuZEVsZW1lbnROcyhzdGF0dXMsIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguZW5kRWxlbWVudE5zKHJlc3BvbnNlLCBELCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5lbmRFbGVtZW50TnMobXVsdGlzdGF0dXMsIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJykKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9kYXYyIGIvbGlieG1sMi9yZXN1bHQvZGF2MgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mODMxYjRiCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZGF2MgpAQCAtMCwwICsxLDI0IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxTOm11bHRpc3RhdHVzIHhtbG5zOlM9Imh0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8iIHhtbG5zOlI9Imh0dHA6Ly93d3cuZm9vLmJhci9ib3hzY2hlbWEvIj4KKyAgPFM6cmVzcG9uc2U+CisgICAgPFM6aHJlZj5odHRwOi8vd3d3LmZvby5iYXIvY29udGFpbmVyLzwvUzpocmVmPgorICAgIDxTOnByb3A+CisgICAgICA8UjpiaWdib3g+CisgICAgICAgIDxSOkJveFR5cGU+Qm94IHR5cGUgQTwvUjpCb3hUeXBlPgorICAgICAgPC9SOmJpZ2JveD4KKyAgICAgIDxSOmF1dGhvcj4KKyAgICAgICAgPFI6TmFtZT5IYWRyaWFuPC9SOk5hbWU+CisgICAgICA8L1I6YXV0aG9yPgorICAgIDwvUzpwcm9wPgorICAgIDxTOnN0YXR1cz5IVFRQIDEuMSAyMDAgT0s8L1M6c3RhdHVzPgorICA8L1M6cmVzcG9uc2U+CisgIDxTOnJlc3BvbnNlPgorICAgIDxTOmhyZWY+aHR0cDovL3d3dy5mb28uYmFyL2NvbnRhaW5lci9pbmRleC5odG1sPC9TOmhyZWY+CisgICAgPFM6cHJvcD4KKyAgICAgIDxSOmJpZ2JveD4KKyAgICAgICAgPFI6Qm94VHlwZT5Cb3ggdHlwZSBCPC9SOkJveFR5cGU+CisgICAgICA8L1I6YmlnYm94PgorICAgIDwvUzpwcm9wPgorICAgIDxTOnN0YXR1cz5IVFRQIDEuMSAyMDAgT0s8L1M6c3RhdHVzPgorICA8L1M6cmVzcG9uc2U+Cis8L1M6bXVsdGlzdGF0dXM+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9kYXYyLnJkZSBiL2xpYnhtbDIvcmVzdWx0L2RhdjIucmRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQxZmM4NmQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kYXYyLnJkZQpAQCAtMCwwICsxLDgxIEBACiswIDEgUzptdWx0aXN0YXR1cyAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKzEgMSBTOnJlc3BvbnNlIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgUzpocmVmIDAgMAorMyAzICN0ZXh0IDAgMSBodHRwOi8vd3d3LmZvby5iYXIvY29udGFpbmVyLworMiAxNSBTOmhyZWYgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBTOnByb3AgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxIFI6YmlnYm94IDAgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAgIAorNCAxIFI6Qm94VHlwZSAwIDAKKzUgMyAjdGV4dCAwIDEgQm94IHR5cGUgQQorNCAxNSBSOkJveFR5cGUgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxNSBSOmJpZ2JveCAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDEgUjphdXRob3IgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgCis0IDEgUjpOYW1lIDAgMAorNSAzICN0ZXh0IDAgMSBIYWRyaWFuCis0IDE1IFI6TmFtZSAwIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDE1IFI6YXV0aG9yIDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgCisyIDE1IFM6cHJvcCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIFM6c3RhdHVzIDAgMAorMyAzICN0ZXh0IDAgMSBIVFRQIDEuMSAyMDAgT0sKKzIgMTUgUzpzdGF0dXMgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDE1IFM6cmVzcG9uc2UgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDEgUzpyZXNwb25zZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIFM6aHJlZiAwIDAKKzMgMyAjdGV4dCAwIDEgaHR0cDovL3d3dy5mb28uYmFyL2NvbnRhaW5lci9pbmRleC5odG1sCisyIDE1IFM6aHJlZiAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIFM6cHJvcCAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDEgUjpiaWdib3ggMCAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgCis0IDEgUjpCb3hUeXBlIDAgMAorNSAzICN0ZXh0IDAgMSBCb3ggdHlwZSBCCis0IDE1IFI6Qm94VHlwZSAwIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDE1IFI6YmlnYm94IDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgCisyIDE1IFM6cHJvcCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIFM6c3RhdHVzIDAgMAorMyAzICN0ZXh0IDAgMSBIVFRQIDEuMSAyMDAgT0sKKzIgMTUgUzpzdGF0dXMgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDE1IFM6cmVzcG9uc2UgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKworMCAxNSBTOm11bHRpc3RhdHVzIDAgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZGF2Mi5yZHIgYi9saWJ4bWwyL3Jlc3VsdC9kYXYyLnJkcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MWZjODZkCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZGF2Mi5yZHIKQEAgLTAsMCArMSw4MSBAQAorMCAxIFM6bXVsdGlzdGF0dXMgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDEgUzpyZXNwb25zZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIFM6aHJlZiAwIDAKKzMgMyAjdGV4dCAwIDEgaHR0cDovL3d3dy5mb28uYmFyL2NvbnRhaW5lci8KKzIgMTUgUzpocmVmIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgUzpwcm9wIDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMSBSOmJpZ2JveCAwIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgICAKKzQgMSBSOkJveFR5cGUgMCAwCis1IDMgI3RleHQgMCAxIEJveCB0eXBlIEEKKzQgMTUgUjpCb3hUeXBlIDAgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMTUgUjpiaWdib3ggMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxIFI6YXV0aG9yIDAgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAgIAorNCAxIFI6TmFtZSAwIDAKKzUgMyAjdGV4dCAwIDEgSGFkcmlhbgorNCAxNSBSOk5hbWUgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxNSBSOmF1dGhvciAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgIAorMiAxNSBTOnByb3AgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBTOnN0YXR1cyAwIDAKKzMgMyAjdGV4dCAwIDEgSFRUUCAxLjEgMjAwIE9LCisyIDE1IFM6c3RhdHVzIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMSAxNSBTOnJlc3BvbnNlIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSAxIFM6cmVzcG9uc2UgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBTOmhyZWYgMCAwCiszIDMgI3RleHQgMCAxIGh0dHA6Ly93d3cuZm9vLmJhci9jb250YWluZXIvaW5kZXguaHRtbAorMiAxNSBTOmhyZWYgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBTOnByb3AgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxIFI6YmlnYm94IDAgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAgIAorNCAxIFI6Qm94VHlwZSAwIDAKKzUgMyAjdGV4dCAwIDEgQm94IHR5cGUgQgorNCAxNSBSOkJveFR5cGUgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxNSBSOmJpZ2JveCAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgIAorMiAxNSBTOnByb3AgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBTOnN0YXR1cyAwIDAKKzMgMyAjdGV4dCAwIDEgSFRUUCAxLjEgMjAwIE9LCisyIDE1IFM6c3RhdHVzIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMSAxNSBTOnJlc3BvbnNlIDAgMAorMSAxNCAjdGV4dCAwIDEgCisKKzAgMTUgUzptdWx0aXN0YXR1cyAwIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2RhdjIuc2F4IGIvbGlieG1sMi9yZXN1bHQvZGF2Mi5zYXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTViYzA2YQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2RhdjIuc2F4CkBAIC0wLDAgKzEsODQgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLnN0YXJ0RWxlbWVudChTOm11bHRpc3RhdHVzLCB4bWxuczpTPSdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgeG1sbnM6Uj0naHR0cDovL3d3dy5mb28uYmFyL2JveHNjaGVtYS8nKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQoUzpyZXNwb25zZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoUzpocmVmKQorU0FYLmNoYXJhY3RlcnMoaHR0cDovL3d3dy5mb28uYmFyL2NvbnRhaW5lci8sIDI5KQorU0FYLmVuZEVsZW1lbnQoUzpocmVmKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChTOnByb3ApCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5zdGFydEVsZW1lbnQoUjpiaWdib3gpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgLCA5KQorU0FYLnN0YXJ0RWxlbWVudChSOkJveFR5cGUpCitTQVguY2hhcmFjdGVycyhCb3ggdHlwZSBBLCAxMCkKK1NBWC5lbmRFbGVtZW50KFI6Qm94VHlwZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLmVuZEVsZW1lbnQoUjpiaWdib3gpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5zdGFydEVsZW1lbnQoUjphdXRob3IpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgLCA5KQorU0FYLnN0YXJ0RWxlbWVudChSOk5hbWUpCitTQVguY2hhcmFjdGVycyhIYWRyaWFuLCA3KQorU0FYLmVuZEVsZW1lbnQoUjpOYW1lKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguZW5kRWxlbWVudChSOmF1dGhvcikKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5lbmRFbGVtZW50KFM6cHJvcCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoUzpzdGF0dXMpCitTQVguY2hhcmFjdGVycyhIVFRQIDEuMSAyMDAgT0ssIDE1KQorU0FYLmVuZEVsZW1lbnQoUzpzdGF0dXMpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnQoUzpyZXNwb25zZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KFM6cmVzcG9uc2UpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KFM6aHJlZikKK1NBWC5jaGFyYWN0ZXJzKGh0dHA6Ly93d3cuZm9vLmJhci9jb250YWluZXIvaSwgMzkpCitTQVguZW5kRWxlbWVudChTOmhyZWYpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KFM6cHJvcCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLnN0YXJ0RWxlbWVudChSOmJpZ2JveCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAsIDkpCitTQVguc3RhcnRFbGVtZW50KFI6Qm94VHlwZSkKK1NBWC5jaGFyYWN0ZXJzKEJveCB0eXBlIEIsIDEwKQorU0FYLmVuZEVsZW1lbnQoUjpCb3hUeXBlKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguZW5kRWxlbWVudChSOmJpZ2JveCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5lbmRFbGVtZW50KFM6cHJvcCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoUzpzdGF0dXMpCitTQVguY2hhcmFjdGVycyhIVFRQIDEuMSAyMDAgT0ssIDE1KQorU0FYLmVuZEVsZW1lbnQoUzpzdGF0dXMpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnQoUzpyZXNwb25zZSkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmVuZEVsZW1lbnQoUzptdWx0aXN0YXR1cykKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9kYXYyLnNheDIgYi9saWJ4bWwyL3Jlc3VsdC9kYXYyLnNheDIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjJjN2JiMAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2RhdjIuc2F4MgpAQCAtMCwwICsxLDg0IEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5zdGFydEVsZW1lbnROcyhtdWx0aXN0YXR1cywgUywgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nLCAyLCB4bWxuczpTPSdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgeG1sbnM6Uj0naHR0cDovL3d3dy5mb28uYmFyL2JveHNjaGVtYS8nLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhyZXNwb25zZSwgUywgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKGhyZWYsIFMsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKGh0dHA6Ly93d3cuZm9vLmJhci9jb250YWluZXIvLCAyOSkKK1NBWC5lbmRFbGVtZW50TnMoaHJlZiwgUywgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHByb3AsIFMsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLnN0YXJ0RWxlbWVudE5zKGJpZ2JveCwgUiwgJ2h0dHA6Ly93d3cuZm9vLmJhci9ib3hzY2hlbWEvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAsIDkpCitTQVguc3RhcnRFbGVtZW50TnMoQm94VHlwZSwgUiwgJ2h0dHA6Ly93d3cuZm9vLmJhci9ib3hzY2hlbWEvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKEJveCB0eXBlIEEsIDEwKQorU0FYLmVuZEVsZW1lbnROcyhCb3hUeXBlLCBSLCAnaHR0cDovL3d3dy5mb28uYmFyL2JveHNjaGVtYS8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguZW5kRWxlbWVudE5zKGJpZ2JveCwgUiwgJ2h0dHA6Ly93d3cuZm9vLmJhci9ib3hzY2hlbWEvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLnN0YXJ0RWxlbWVudE5zKGF1dGhvciwgUiwgJ2h0dHA6Ly93d3cuZm9vLmJhci9ib3hzY2hlbWEvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAsIDkpCitTQVguc3RhcnRFbGVtZW50TnMoTmFtZSwgUiwgJ2h0dHA6Ly93d3cuZm9vLmJhci9ib3hzY2hlbWEvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKEhhZHJpYW4sIDcpCitTQVguZW5kRWxlbWVudE5zKE5hbWUsIFIsICdodHRwOi8vd3d3LmZvby5iYXIvYm94c2NoZW1hLycpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5lbmRFbGVtZW50TnMoYXV0aG9yLCBSLCAnaHR0cDovL3d3dy5mb28uYmFyL2JveHNjaGVtYS8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLmVuZEVsZW1lbnROcyhwcm9wLCBTLCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoc3RhdHVzLCBTLCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhIVFRQIDEuMSAyMDAgT0ssIDE1KQorU0FYLmVuZEVsZW1lbnROcyhzdGF0dXMsIFMsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguZW5kRWxlbWVudE5zKHJlc3BvbnNlLCBTLCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHJlc3BvbnNlLCBTLCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoaHJlZiwgUywgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoaHR0cDovL3d3dy5mb28uYmFyL2NvbnRhaW5lci9pLCAzOSkKK1NBWC5lbmRFbGVtZW50TnMoaHJlZiwgUywgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHByb3AsIFMsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLnN0YXJ0RWxlbWVudE5zKGJpZ2JveCwgUiwgJ2h0dHA6Ly93d3cuZm9vLmJhci9ib3hzY2hlbWEvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAsIDkpCitTQVguc3RhcnRFbGVtZW50TnMoQm94VHlwZSwgUiwgJ2h0dHA6Ly93d3cuZm9vLmJhci9ib3hzY2hlbWEvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKEJveCB0eXBlIEIsIDEwKQorU0FYLmVuZEVsZW1lbnROcyhCb3hUeXBlLCBSLCAnaHR0cDovL3d3dy5mb28uYmFyL2JveHNjaGVtYS8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguZW5kRWxlbWVudE5zKGJpZ2JveCwgUiwgJ2h0dHA6Ly93d3cuZm9vLmJhci9ib3hzY2hlbWEvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5lbmRFbGVtZW50TnMocHJvcCwgUywgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHN0YXR1cywgUywgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoSFRUUCAxLjEgMjAwIE9LLCAxNSkKK1NBWC5lbmRFbGVtZW50TnMoc3RhdHVzLCBTLCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnROcyhyZXNwb25zZSwgUywgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguZW5kRWxlbWVudE5zKG11bHRpc3RhdHVzLCBTLCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZGF2MyBiL2xpYnhtbDIvcmVzdWx0L2RhdjMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTg2YjNmZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2RhdjMKQEAgLTAsMCArMSwxOCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8RDptdWx0aXN0YXR1cyB4bWxuczpEPSJodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvIiB4bWxuczpSPSJodHRwOi8vd3d3LmZvby5iYXIvYm94c2NoZW1hLyI+CisgIDxEOnJlc3BvbnNlPgorICAgIDxEOmhyZWY+aHR0cDovL3d3dy5mb28uYmFyL2NvbnRhaW5lci88L0Q6aHJlZj4KKyAgICA8RDpwcm9wPgorICAgICAgPFI6YmlnYm94Lz4KKyAgICAgIDxSOmF1dGhvci8+CisgICAgPC9EOnByb3A+CisgICAgPEQ6c3RhdHVzPkhUVFAgMS4xIDIwMCBPSzwvRDpzdGF0dXM+CisgIDwvRDpyZXNwb25zZT4KKyAgPEQ6cmVzcG9uc2U+CisgICAgPEQ6aHJlZj5odHRwOi8vd3d3LmZvby5iYXIvY29udGFpbmVyL2luZGV4Lmh0bWw8L0Q6aHJlZj4KKyAgICA8RDpwcm9wPgorICAgICAgPFI6YmlnYm94Lz4KKyAgICA8L0Q6cHJvcD4KKyAgICA8RDpzdGF0dXM+SFRUUCAxLjEgMjAwIE9LPC9EOnN0YXR1cz4KKyAgPC9EOnJlc3BvbnNlPgorPC9EOm11bHRpc3RhdHVzPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZGF2My5yZGUgYi9saWJ4bWwyL3Jlc3VsdC9kYXYzLnJkZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMTA2ZjE3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZGF2My5yZGUKQEAgLTAsMCArMSw1NyBAQAorMCAxIEQ6bXVsdGlzdGF0dXMgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDEgRDpyZXNwb25zZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIEQ6aHJlZiAwIDAKKzMgMyAjdGV4dCAwIDEgaHR0cDovL3d3dy5mb28uYmFyL2NvbnRhaW5lci8KKzIgMTUgRDpocmVmIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgRDpwcm9wIDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMSBSOmJpZ2JveCAxIDAKKzMgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDEgUjphdXRob3IgMSAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMTUgRDpwcm9wIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgRDpzdGF0dXMgMCAwCiszIDMgI3RleHQgMCAxIEhUVFAgMS4xIDIwMCBPSworMiAxNSBEOnN0YXR1cyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzEgMTUgRDpyZXNwb25zZSAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKzEgMSBEOnJlc3BvbnNlIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgRDpocmVmIDAgMAorMyAzICN0ZXh0IDAgMSBodHRwOi8vd3d3LmZvby5iYXIvY29udGFpbmVyL2luZGV4Lmh0bWwKKzIgMTUgRDpocmVmIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgRDpwcm9wIDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMSBSOmJpZ2JveCAxIDAKKzMgMTQgI3RleHQgMCAxIAorICAgIAorMiAxNSBEOnByb3AgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBEOnN0YXR1cyAwIDAKKzMgMyAjdGV4dCAwIDEgSFRUUCAxLjEgMjAwIE9LCisyIDE1IEQ6c3RhdHVzIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMSAxNSBEOnJlc3BvbnNlIDAgMAorMSAxNCAjdGV4dCAwIDEgCisKKzAgMTUgRDptdWx0aXN0YXR1cyAwIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2RhdjMucmRyIGIvbGlieG1sMi9yZXN1bHQvZGF2My5yZHIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjEwNmYxNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2RhdjMucmRyCkBAIC0wLDAgKzEsNTcgQEAKKzAgMSBEOm11bHRpc3RhdHVzIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSAxIEQ6cmVzcG9uc2UgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBEOmhyZWYgMCAwCiszIDMgI3RleHQgMCAxIGh0dHA6Ly93d3cuZm9vLmJhci9jb250YWluZXIvCisyIDE1IEQ6aHJlZiAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIEQ6cHJvcCAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDEgUjpiaWdib3ggMSAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxIFI6YXV0aG9yIDEgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgCisyIDE1IEQ6cHJvcCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIEQ6c3RhdHVzIDAgMAorMyAzICN0ZXh0IDAgMSBIVFRQIDEuMSAyMDAgT0sKKzIgMTUgRDpzdGF0dXMgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDE1IEQ6cmVzcG9uc2UgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDEgRDpyZXNwb25zZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIEQ6aHJlZiAwIDAKKzMgMyAjdGV4dCAwIDEgaHR0cDovL3d3dy5mb28uYmFyL2NvbnRhaW5lci9pbmRleC5odG1sCisyIDE1IEQ6aHJlZiAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIEQ6cHJvcCAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDEgUjpiaWdib3ggMSAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMTUgRDpwcm9wIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgRDpzdGF0dXMgMCAwCiszIDMgI3RleHQgMCAxIEhUVFAgMS4xIDIwMCBPSworMiAxNSBEOnN0YXR1cyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzEgMTUgRDpyZXNwb25zZSAwIDAKKzEgMTQgI3RleHQgMCAxIAorCiswIDE1IEQ6bXVsdGlzdGF0dXMgMCAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9kYXYzLnNheCBiL2xpYnhtbDIvcmVzdWx0L2RhdjMuc2F4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU5ZWFiZDgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kYXYzLnNheApAQCAtMCwwICsxLDYzIEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5zdGFydEVsZW1lbnQoRDptdWx0aXN0YXR1cywgeG1sbnM6RD0naHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycsIHhtbG5zOlI9J2h0dHA6Ly93d3cuZm9vLmJhci9ib3hzY2hlbWEvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KEQ6cmVzcG9uc2UpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KEQ6aHJlZikKK1NBWC5jaGFyYWN0ZXJzKGh0dHA6Ly93d3cuZm9vLmJhci9jb250YWluZXIvLCAyOSkKK1NBWC5lbmRFbGVtZW50KEQ6aHJlZikKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoRDpwcm9wKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguc3RhcnRFbGVtZW50KFI6YmlnYm94KQorU0FYLmVuZEVsZW1lbnQoUjpiaWdib3gpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5zdGFydEVsZW1lbnQoUjphdXRob3IpCitTQVguZW5kRWxlbWVudChSOmF1dGhvcikKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5lbmRFbGVtZW50KEQ6cHJvcCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoRDpzdGF0dXMpCitTQVguY2hhcmFjdGVycyhIVFRQIDEuMSAyMDAgT0ssIDE1KQorU0FYLmVuZEVsZW1lbnQoRDpzdGF0dXMpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnQoRDpyZXNwb25zZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KEQ6cmVzcG9uc2UpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KEQ6aHJlZikKK1NBWC5jaGFyYWN0ZXJzKGh0dHA6Ly93d3cuZm9vLmJhci9jb250YWluZXIvaSwgMzkpCitTQVguZW5kRWxlbWVudChEOmhyZWYpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KEQ6cHJvcCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLnN0YXJ0RWxlbWVudChSOmJpZ2JveCkKK1NBWC5lbmRFbGVtZW50KFI6YmlnYm94KQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLmVuZEVsZW1lbnQoRDpwcm9wKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChEOnN0YXR1cykKK1NBWC5jaGFyYWN0ZXJzKEhUVFAgMS4xIDIwMCBPSywgMTUpCitTQVguZW5kRWxlbWVudChEOnN0YXR1cykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguZW5kRWxlbWVudChEOnJlc3BvbnNlKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguZW5kRWxlbWVudChEOm11bHRpc3RhdHVzKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2RhdjMuc2F4MiBiL2xpYnhtbDIvcmVzdWx0L2RhdjMuc2F4MgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMDg4ZjI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZGF2My5zYXgyCkBAIC0wLDAgKzEsNjMgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLnN0YXJ0RWxlbWVudE5zKG11bHRpc3RhdHVzLCBELCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycsIDIsIHhtbG5zOkQ9J2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nLCB4bWxuczpSPSdodHRwOi8vd3d3LmZvby5iYXIvYm94c2NoZW1hLycsIDAsIDApCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHJlc3BvbnNlLCBELCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoaHJlZiwgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoaHR0cDovL3d3dy5mb28uYmFyL2NvbnRhaW5lci8sIDI5KQorU0FYLmVuZEVsZW1lbnROcyhocmVmLCBELCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMocHJvcCwgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguc3RhcnRFbGVtZW50TnMoYmlnYm94LCBSLCAnaHR0cDovL3d3dy5mb28uYmFyL2JveHNjaGVtYS8nLCAwLCAwLCAwKQorU0FYLmVuZEVsZW1lbnROcyhiaWdib3gsIFIsICdodHRwOi8vd3d3LmZvby5iYXIvYm94c2NoZW1hLycpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5zdGFydEVsZW1lbnROcyhhdXRob3IsIFIsICdodHRwOi8vd3d3LmZvby5iYXIvYm94c2NoZW1hLycsIDAsIDAsIDApCitTQVguZW5kRWxlbWVudE5zKGF1dGhvciwgUiwgJ2h0dHA6Ly93d3cuZm9vLmJhci9ib3hzY2hlbWEvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5lbmRFbGVtZW50TnMocHJvcCwgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHN0YXR1cywgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoSFRUUCAxLjEgMjAwIE9LLCAxNSkKK1NBWC5lbmRFbGVtZW50TnMoc3RhdHVzLCBELCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnROcyhyZXNwb25zZSwgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhyZXNwb25zZSwgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKGhyZWYsIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKGh0dHA6Ly93d3cuZm9vLmJhci9jb250YWluZXIvaSwgMzkpCitTQVguZW5kRWxlbWVudE5zKGhyZWYsIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhwcm9wLCBELCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5zdGFydEVsZW1lbnROcyhiaWdib3gsIFIsICdodHRwOi8vd3d3LmZvby5iYXIvYm94c2NoZW1hLycsIDAsIDAsIDApCitTQVguZW5kRWxlbWVudE5zKGJpZ2JveCwgUiwgJ2h0dHA6Ly93d3cuZm9vLmJhci9ib3hzY2hlbWEvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5lbmRFbGVtZW50TnMocHJvcCwgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHN0YXR1cywgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoSFRUUCAxLjEgMjAwIE9LLCAxNSkKK1NBWC5lbmRFbGVtZW50TnMoc3RhdHVzLCBELCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnROcyhyZXNwb25zZSwgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguZW5kRWxlbWVudE5zKG11bHRpc3RhdHVzLCBELCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZGF2NCBiL2xpYnhtbDIvcmVzdWx0L2RhdjQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWFiN2NlYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2RhdjQKQEAgLTAsMCArMSwxNiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8RDpwcm9wZXJ0eXVwZGF0ZSB4bWxuczpEPSJodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvIiB4bWxuczpaPSJodHRwOi8vd3d3LnczLmNvbS9zdGFuZGFyZHMvejM5LjUwLyI+CisgIDxEOnNldD4KKyAgICA8RDpwcm9wPgorICAgICAgPFo6YXV0aG9ycz4KKyAgICAgICAgPFo6QXV0aG9yPkppbSBXaGl0ZWhlYWQ8L1o6QXV0aG9yPgorICAgICAgICA8WjpBdXRob3I+Um95IEZpZWxkaW5nPC9aOkF1dGhvcj4KKyAgICAgIDwvWjphdXRob3JzPgorICAgIDwvRDpwcm9wPgorICA8L0Q6c2V0PgorICA8RDpyZW1vdmU+CisgICAgPEQ6cHJvcD4KKyAgICAgIDxaOkNvcHlyaWdodC1Pd25lci8+CisgICAgPC9EOnByb3A+CisgIDwvRDpyZW1vdmU+Cis8L0Q6cHJvcGVydHl1cGRhdGU+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9kYXY0LnJkZSBiL2xpYnhtbDIvcmVzdWx0L2RhdjQucmRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU3NjQwNDcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kYXY0LnJkZQpAQCAtMCwwICsxLDQ3IEBACiswIDEgRDpwcm9wZXJ0eXVwZGF0ZSAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKzEgMSBEOnNldCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIEQ6cHJvcCAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDEgWjphdXRob3JzIDAgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAgIAorNCAxIFo6QXV0aG9yIDAgMAorNSAzICN0ZXh0IDAgMSBKaW0gV2hpdGVoZWFkCis0IDE1IFo6QXV0aG9yIDAgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAgIAorNCAxIFo6QXV0aG9yIDAgMAorNSAzICN0ZXh0IDAgMSBSb3kgRmllbGRpbmcKKzQgMTUgWjpBdXRob3IgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxNSBaOmF1dGhvcnMgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMTUgRDpwcm9wIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMSAxNSBEOnNldCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKzEgMSBEOnJlbW92ZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIEQ6cHJvcCAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDEgWjpDb3B5cmlnaHQtT3duZXIgMSAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMTUgRDpwcm9wIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMSAxNSBEOnJlbW92ZSAwIDAKKzEgMTQgI3RleHQgMCAxIAorCiswIDE1IEQ6cHJvcGVydHl1cGRhdGUgMCAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9kYXY0LnJkciBiL2xpYnhtbDIvcmVzdWx0L2RhdjQucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU3NjQwNDcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kYXY0LnJkcgpAQCAtMCwwICsxLDQ3IEBACiswIDEgRDpwcm9wZXJ0eXVwZGF0ZSAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKzEgMSBEOnNldCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIEQ6cHJvcCAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDEgWjphdXRob3JzIDAgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAgIAorNCAxIFo6QXV0aG9yIDAgMAorNSAzICN0ZXh0IDAgMSBKaW0gV2hpdGVoZWFkCis0IDE1IFo6QXV0aG9yIDAgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAgIAorNCAxIFo6QXV0aG9yIDAgMAorNSAzICN0ZXh0IDAgMSBSb3kgRmllbGRpbmcKKzQgMTUgWjpBdXRob3IgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxNSBaOmF1dGhvcnMgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMTUgRDpwcm9wIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMSAxNSBEOnNldCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKzEgMSBEOnJlbW92ZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIEQ6cHJvcCAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDEgWjpDb3B5cmlnaHQtT3duZXIgMSAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMTUgRDpwcm9wIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMSAxNSBEOnJlbW92ZSAwIDAKKzEgMTQgI3RleHQgMCAxIAorCiswIDE1IEQ6cHJvcGVydHl1cGRhdGUgMCAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9kYXY0LnNheCBiL2xpYnhtbDIvcmVzdWx0L2RhdjQuc2F4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgyNjgwMjYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kYXY0LnNheApAQCAtMCwwICsxLDUxIEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5zdGFydEVsZW1lbnQoRDpwcm9wZXJ0eXVwZGF0ZSwgeG1sbnM6RD0naHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycsIHhtbG5zOlo9J2h0dHA6Ly93d3cudzMuY29tL3N0YW5kYXJkcy96MzkuNTAvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KEQ6c2V0KQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChEOnByb3ApCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5zdGFydEVsZW1lbnQoWjphdXRob3JzKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5zdGFydEVsZW1lbnQoWjpBdXRob3IpCitTQVguY2hhcmFjdGVycyhKaW0gV2hpdGVoZWFkLCAxMykKK1NBWC5lbmRFbGVtZW50KFo6QXV0aG9yKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5zdGFydEVsZW1lbnQoWjpBdXRob3IpCitTQVguY2hhcmFjdGVycyhSb3kgRmllbGRpbmcsIDEyKQorU0FYLmVuZEVsZW1lbnQoWjpBdXRob3IpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5lbmRFbGVtZW50KFo6YXV0aG9ycykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5lbmRFbGVtZW50KEQ6cHJvcCkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguZW5kRWxlbWVudChEOnNldCkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KEQ6cmVtb3ZlKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChEOnByb3ApCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5zdGFydEVsZW1lbnQoWjpDb3B5cmlnaHQtT3duZXIpCitTQVguZW5kRWxlbWVudChaOkNvcHlyaWdodC1Pd25lcikKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5lbmRFbGVtZW50KEQ6cHJvcCkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguZW5kRWxlbWVudChEOnJlbW92ZSkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmVuZEVsZW1lbnQoRDpwcm9wZXJ0eXVwZGF0ZSkKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9kYXY0LnNheDIgYi9saWJ4bWwyL3Jlc3VsdC9kYXY0LnNheDIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNThmYjhhYwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2RhdjQuc2F4MgpAQCAtMCwwICsxLDUxIEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5zdGFydEVsZW1lbnROcyhwcm9wZXJ0eXVwZGF0ZSwgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nLCAyLCB4bWxuczpEPSdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgeG1sbnM6Wj0naHR0cDovL3d3dy53My5jb20vc3RhbmRhcmRzL3ozOS41MC8nLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhzZXQsIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhwcm9wLCBELCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5zdGFydEVsZW1lbnROcyhhdXRob3JzLCBaLCAnaHR0cDovL3d3dy53My5jb20vc3RhbmRhcmRzL3ozOS41MC8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5zdGFydEVsZW1lbnROcyhBdXRob3IsIFosICdodHRwOi8vd3d3LnczLmNvbS9zdGFuZGFyZHMvejM5LjUwLycsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhKaW0gV2hpdGVoZWFkLCAxMykKK1NBWC5lbmRFbGVtZW50TnMoQXV0aG9yLCBaLCAnaHR0cDovL3d3dy53My5jb20vc3RhbmRhcmRzL3ozOS41MC8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5zdGFydEVsZW1lbnROcyhBdXRob3IsIFosICdodHRwOi8vd3d3LnczLmNvbS9zdGFuZGFyZHMvejM5LjUwLycsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhSb3kgRmllbGRpbmcsIDEyKQorU0FYLmVuZEVsZW1lbnROcyhBdXRob3IsIFosICdodHRwOi8vd3d3LnczLmNvbS9zdGFuZGFyZHMvejM5LjUwLycpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5lbmRFbGVtZW50TnMoYXV0aG9ycywgWiwgJ2h0dHA6Ly93d3cudzMuY29tL3N0YW5kYXJkcy96MzkuNTAvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5lbmRFbGVtZW50TnMocHJvcCwgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5lbmRFbGVtZW50TnMoc2V0LCBELCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHJlbW92ZSwgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHByb3AsIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLnN0YXJ0RWxlbWVudE5zKENvcHlyaWdodC1Pd25lciwgWiwgJ2h0dHA6Ly93d3cudzMuY29tL3N0YW5kYXJkcy96MzkuNTAvJywgMCwgMCwgMCkKK1NBWC5lbmRFbGVtZW50TnMoQ29weXJpZ2h0LU93bmVyLCBaLCAnaHR0cDovL3d3dy53My5jb20vc3RhbmRhcmRzL3ozOS41MC8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLmVuZEVsZW1lbnROcyhwcm9wLCBELCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnROcyhyZW1vdmUsIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJykKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmVuZEVsZW1lbnROcyhwcm9wZXJ0eXVwZGF0ZSwgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2RhdjUgYi9saWJ4bWwyL3Jlc3VsdC9kYXY1Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY4ZWJhYjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kYXY1CkBAIC0wLDAgKzEsMTcgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPEQ6bXVsdGlzdGF0dXMgeG1sbnM6RD0iaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LyIgeG1sbnM6Wj0iaHR0cDovL3d3dy53My5jb20vc3RhbmRhcmRzL3ozOS41MC8iPgorICA8RDpyZXNwb25zZT4KKyAgICA8RDpwcm9wPgorICAgICAgPFo6QXV0aG9ycy8+CisgICAgPC9EOnByb3A+CisgICAgPEQ6c3RhdHVzPkhUVFAvMS4xIDQyMCBNZXRob2QgRmFpbHVyZTwvRDpzdGF0dXM+CisgIDwvRDpyZXNwb25zZT4KKyAgPEQ6cmVzcG9uc2U+CisgICAgPEQ6cHJvcD4KKyAgICAgIDxaOkNvcHlyaWdodC1Pd25lci8+CisgICAgPC9EOnByb3A+CisgICAgPEQ6c3RhdHVzPkhUVFAvMS4xIDQwOSBDb25mbGljdDwvRDpzdGF0dXM+CisgIDwvRDpyZXNwb25zZT4KKyAgPEQ6cmVzcG9uc2VkZXNjcmlwdGlvbj4gQ29weXJpZ2h0IE93bmVyIGNhbiBub3QgYmUgZGVsZXRlZCBvcgorYWx0ZXJlZC48L0Q6cmVzcG9uc2VkZXNjcmlwdGlvbj4KKzwvRDptdWx0aXN0YXR1cz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2RhdjUucmRlIGIvbGlieG1sMi9yZXN1bHQvZGF2NS5yZGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzkyZDE3NwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2RhdjUucmRlCkBAIC0wLDAgKzEsNTAgQEAKKzAgMSBEOm11bHRpc3RhdHVzIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSAxIEQ6cmVzcG9uc2UgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBEOnByb3AgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxIFo6QXV0aG9ycyAxIDAKKzMgMTQgI3RleHQgMCAxIAorICAgIAorMiAxNSBEOnByb3AgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBEOnN0YXR1cyAwIDAKKzMgMyAjdGV4dCAwIDEgSFRUUC8xLjEgNDIwIE1ldGhvZCBGYWlsdXJlCisyIDE1IEQ6c3RhdHVzIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMSAxNSBEOnJlc3BvbnNlIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSAxIEQ6cmVzcG9uc2UgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBEOnByb3AgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxIFo6Q29weXJpZ2h0LU93bmVyIDEgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgCisyIDE1IEQ6cHJvcCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIEQ6c3RhdHVzIDAgMAorMyAzICN0ZXh0IDAgMSBIVFRQLzEuMSA0MDkgQ29uZmxpY3QKKzIgMTUgRDpzdGF0dXMgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDE1IEQ6cmVzcG9uc2UgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDEgRDpyZXNwb25zZWRlc2NyaXB0aW9uIDAgMAorMiAzICN0ZXh0IDAgMSAgQ29weXJpZ2h0IE93bmVyIGNhbiBub3QgYmUgZGVsZXRlZCBvcgorYWx0ZXJlZC4KKzEgMTUgRDpyZXNwb25zZWRlc2NyaXB0aW9uIDAgMAorMSAxNCAjdGV4dCAwIDEgCisKKzAgMTUgRDptdWx0aXN0YXR1cyAwIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2RhdjUucmRyIGIvbGlieG1sMi9yZXN1bHQvZGF2NS5yZHIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzkyZDE3NwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2RhdjUucmRyCkBAIC0wLDAgKzEsNTAgQEAKKzAgMSBEOm11bHRpc3RhdHVzIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSAxIEQ6cmVzcG9uc2UgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBEOnByb3AgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxIFo6QXV0aG9ycyAxIDAKKzMgMTQgI3RleHQgMCAxIAorICAgIAorMiAxNSBEOnByb3AgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBEOnN0YXR1cyAwIDAKKzMgMyAjdGV4dCAwIDEgSFRUUC8xLjEgNDIwIE1ldGhvZCBGYWlsdXJlCisyIDE1IEQ6c3RhdHVzIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMSAxNSBEOnJlc3BvbnNlIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSAxIEQ6cmVzcG9uc2UgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBEOnByb3AgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxIFo6Q29weXJpZ2h0LU93bmVyIDEgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgCisyIDE1IEQ6cHJvcCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIEQ6c3RhdHVzIDAgMAorMyAzICN0ZXh0IDAgMSBIVFRQLzEuMSA0MDkgQ29uZmxpY3QKKzIgMTUgRDpzdGF0dXMgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDE1IEQ6cmVzcG9uc2UgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDEgRDpyZXNwb25zZWRlc2NyaXB0aW9uIDAgMAorMiAzICN0ZXh0IDAgMSAgQ29weXJpZ2h0IE93bmVyIGNhbiBub3QgYmUgZGVsZXRlZCBvcgorYWx0ZXJlZC4KKzEgMTUgRDpyZXNwb25zZWRlc2NyaXB0aW9uIDAgMAorMSAxNCAjdGV4dCAwIDEgCisKKzAgMTUgRDptdWx0aXN0YXR1cyAwIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2RhdjUuc2F4IGIvbGlieG1sMi9yZXN1bHQvZGF2NS5zYXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTM5NjdmOAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2RhdjUuc2F4CkBAIC0wLDAgKzEsNTQgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLnN0YXJ0RWxlbWVudChEOm11bHRpc3RhdHVzLCB4bWxuczpEPSdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgeG1sbnM6Wj0naHR0cDovL3d3dy53My5jb20vc3RhbmRhcmRzL3ozOS41MC8nKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQoRDpyZXNwb25zZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoRDpwcm9wKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguc3RhcnRFbGVtZW50KFo6QXV0aG9ycykKK1NBWC5lbmRFbGVtZW50KFo6QXV0aG9ycykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5lbmRFbGVtZW50KEQ6cHJvcCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoRDpzdGF0dXMpCitTQVguY2hhcmFjdGVycyhIVFRQLzEuMSA0MjAgTWV0aG9kIEZhaWx1cmUsIDI3KQorU0FYLmVuZEVsZW1lbnQoRDpzdGF0dXMpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnQoRDpyZXNwb25zZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KEQ6cmVzcG9uc2UpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KEQ6cHJvcCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLnN0YXJ0RWxlbWVudChaOkNvcHlyaWdodC1Pd25lcikKK1NBWC5lbmRFbGVtZW50KFo6Q29weXJpZ2h0LU93bmVyKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLmVuZEVsZW1lbnQoRDpwcm9wKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChEOnN0YXR1cykKK1NBWC5jaGFyYWN0ZXJzKEhUVFAvMS4xIDQwOSBDb25mbGljdCwgMjEpCitTQVguZW5kRWxlbWVudChEOnN0YXR1cykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguZW5kRWxlbWVudChEOnJlc3BvbnNlKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQoRDpyZXNwb25zZWRlc2NyaXB0aW9uKQorU0FYLmNoYXJhY3RlcnMoIENvcHlyaWdodCBPd25lciBjYW4gbm90IGJlIGRlLCA0NykKK1NBWC5lbmRFbGVtZW50KEQ6cmVzcG9uc2VkZXNjcmlwdGlvbikKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmVuZEVsZW1lbnQoRDptdWx0aXN0YXR1cykKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9kYXY1LnNheDIgYi9saWJ4bWwyL3Jlc3VsdC9kYXY1LnNheDIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjA2MmNjYQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2RhdjUuc2F4MgpAQCAtMCwwICsxLDU0IEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5zdGFydEVsZW1lbnROcyhtdWx0aXN0YXR1cywgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nLCAyLCB4bWxuczpEPSdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgeG1sbnM6Wj0naHR0cDovL3d3dy53My5jb20vc3RhbmRhcmRzL3ozOS41MC8nLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhyZXNwb25zZSwgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHByb3AsIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLnN0YXJ0RWxlbWVudE5zKEF1dGhvcnMsIFosICdodHRwOi8vd3d3LnczLmNvbS9zdGFuZGFyZHMvejM5LjUwLycsIDAsIDAsIDApCitTQVguZW5kRWxlbWVudE5zKEF1dGhvcnMsIFosICdodHRwOi8vd3d3LnczLmNvbS9zdGFuZGFyZHMvejM5LjUwLycpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguZW5kRWxlbWVudE5zKHByb3AsIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhzdGF0dXMsIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKEhUVFAvMS4xIDQyMCBNZXRob2QgRmFpbHVyZSwgMjcpCitTQVguZW5kRWxlbWVudE5zKHN0YXR1cywgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5lbmRFbGVtZW50TnMocmVzcG9uc2UsIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocmVzcG9uc2UsIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhwcm9wLCBELCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5zdGFydEVsZW1lbnROcyhDb3B5cmlnaHQtT3duZXIsIFosICdodHRwOi8vd3d3LnczLmNvbS9zdGFuZGFyZHMvejM5LjUwLycsIDAsIDAsIDApCitTQVguZW5kRWxlbWVudE5zKENvcHlyaWdodC1Pd25lciwgWiwgJ2h0dHA6Ly93d3cudzMuY29tL3N0YW5kYXJkcy96MzkuNTAvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5lbmRFbGVtZW50TnMocHJvcCwgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHN0YXR1cywgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoSFRUUC8xLjEgNDA5IENvbmZsaWN0LCAyMSkKK1NBWC5lbmRFbGVtZW50TnMoc3RhdHVzLCBELCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnROcyhyZXNwb25zZSwgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhyZXNwb25zZWRlc2NyaXB0aW9uLCBELCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyggQ29weXJpZ2h0IE93bmVyIGNhbiBub3QgYmUgZGUsIDQ3KQorU0FYLmVuZEVsZW1lbnROcyhyZXNwb25zZWRlc2NyaXB0aW9uLCBELCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5lbmRFbGVtZW50TnMobXVsdGlzdGF0dXMsIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJykKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9kYXY2IGIvbGlieG1sMi9yZXN1bHQvZGF2NgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZDBkZTI0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZGF2NgpAQCAtMCwwICsxLDIyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxEOm11bHRpc3RhdHVzIHhtbG5zOkQ9Imh0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8iPgorICA8RDpyZXNwb25zZT4KKyAgICA8RDpocmVmPmh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS91c2VyL3lhcm9uZy9kYXZfZHJhZnRzLworICAgICAgPC9EOmhyZWY+CisgICAgPEQ6cHJvcD4KKyAgICAgIDxEOnJlc291cmNldHlwZT4KKyAgICAgICAgPEQ6Y29sbGVjdGlvbi8+CisgICAgICA8L0Q6cmVzb3VyY2V0eXBlPgorICAgIDwvRDpwcm9wPgorICAgIDxEOnN0YXR1cz5IVFRQIDEuMSAyMDAgT0s8L0Q6c3RhdHVzPgorICA8L0Q6cmVzcG9uc2U+CisgIDxEOnJlc3BvbnNlPgorICAgIDxEOmhyZWY+CisgICAgICBodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vdXNlci95YXJvbmcvZGF2X2RyYWZ0cy9iYXNlCisgICAgICA8L0Q6aHJlZj4KKyAgICA8RDpwcm9wPgorICAgICAgPEQ6cmVzb3VyY2V0eXBlLz4KKyAgICA8L0Q6cHJvcD4KKyAgICA8RDpzdGF0dXM+SFRUUCAxLjEgMjAwIE9LPC9EOnN0YXR1cz4KKyAgPC9EOnJlc3BvbnNlPgorPC9EOm11bHRpc3RhdHVzPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZGF2Ni5yZGUgYi9saWJ4bWwyL3Jlc3VsdC9kYXY2LnJkZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MjZlM2MyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZGF2Ni5yZGUKQEAgLTAsMCArMSw2MyBAQAorMCAxIEQ6bXVsdGlzdGF0dXMgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDEgRDpyZXNwb25zZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIEQ6aHJlZiAwIDAKKzMgMyAjdGV4dCAwIDEgaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3VzZXIveWFyb25nL2Rhdl9kcmFmdHMvCisgICAgICAKKzIgMTUgRDpocmVmIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgRDpwcm9wIDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMSBEOnJlc291cmNldHlwZSAwIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgICAKKzQgMSBEOmNvbGxlY3Rpb24gMSAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxNSBEOnJlc291cmNldHlwZSAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgIAorMiAxNSBEOnByb3AgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBEOnN0YXR1cyAwIDAKKzMgMyAjdGV4dCAwIDEgSFRUUCAxLjEgMjAwIE9LCisyIDE1IEQ6c3RhdHVzIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMSAxNSBEOnJlc3BvbnNlIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSAxIEQ6cmVzcG9uc2UgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBEOmhyZWYgMCAwCiszIDMgI3RleHQgMCAxIAorICAgICAgaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3VzZXIveWFyb25nL2Rhdl9kcmFmdHMvYmFzZQorICAgICAgCisyIDE1IEQ6aHJlZiAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIEQ6cHJvcCAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDEgRDpyZXNvdXJjZXR5cGUgMSAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMTUgRDpwcm9wIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgRDpzdGF0dXMgMCAwCiszIDMgI3RleHQgMCAxIEhUVFAgMS4xIDIwMCBPSworMiAxNSBEOnN0YXR1cyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzEgMTUgRDpyZXNwb25zZSAwIDAKKzEgMTQgI3RleHQgMCAxIAorCiswIDE1IEQ6bXVsdGlzdGF0dXMgMCAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9kYXY2LnJkciBiL2xpYnhtbDIvcmVzdWx0L2RhdjYucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcyNmUzYzIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kYXY2LnJkcgpAQCAtMCwwICsxLDYzIEBACiswIDEgRDptdWx0aXN0YXR1cyAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKzEgMSBEOnJlc3BvbnNlIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgRDpocmVmIDAgMAorMyAzICN0ZXh0IDAgMSBodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vdXNlci95YXJvbmcvZGF2X2RyYWZ0cy8KKyAgICAgIAorMiAxNSBEOmhyZWYgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBEOnByb3AgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxIEQ6cmVzb3VyY2V0eXBlIDAgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAgIAorNCAxIEQ6Y29sbGVjdGlvbiAxIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDE1IEQ6cmVzb3VyY2V0eXBlIDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgCisyIDE1IEQ6cHJvcCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIEQ6c3RhdHVzIDAgMAorMyAzICN0ZXh0IDAgMSBIVFRQIDEuMSAyMDAgT0sKKzIgMTUgRDpzdGF0dXMgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDE1IEQ6cmVzcG9uc2UgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDEgRDpyZXNwb25zZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIEQ6aHJlZiAwIDAKKzMgMyAjdGV4dCAwIDEgCisgICAgICBodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vdXNlci95YXJvbmcvZGF2X2RyYWZ0cy9iYXNlCisgICAgICAKKzIgMTUgRDpocmVmIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgRDpwcm9wIDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMSBEOnJlc291cmNldHlwZSAxIDAKKzMgMTQgI3RleHQgMCAxIAorICAgIAorMiAxNSBEOnByb3AgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBEOnN0YXR1cyAwIDAKKzMgMyAjdGV4dCAwIDEgSFRUUCAxLjEgMjAwIE9LCisyIDE1IEQ6c3RhdHVzIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMSAxNSBEOnJlc3BvbnNlIDAgMAorMSAxNCAjdGV4dCAwIDEgCisKKzAgMTUgRDptdWx0aXN0YXR1cyAwIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2RhdjYuc2F4IGIvbGlieG1sMi9yZXN1bHQvZGF2Ni5zYXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTZhNWIyZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2RhdjYuc2F4CkBAIC0wLDAgKzEsNjYgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLnN0YXJ0RWxlbWVudChEOm11bHRpc3RhdHVzLCB4bWxuczpEPSdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KEQ6cmVzcG9uc2UpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KEQ6aHJlZikKK1NBWC5jaGFyYWN0ZXJzKGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS91c2VyLywgNTUpCitTQVguZW5kRWxlbWVudChEOmhyZWYpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KEQ6cHJvcCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLnN0YXJ0RWxlbWVudChEOnJlc291cmNldHlwZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAsIDkpCitTQVguc3RhcnRFbGVtZW50KEQ6Y29sbGVjdGlvbikKK1NBWC5lbmRFbGVtZW50KEQ6Y29sbGVjdGlvbikKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLmVuZEVsZW1lbnQoRDpyZXNvdXJjZXR5cGUpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguZW5kRWxlbWVudChEOnByb3ApCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KEQ6c3RhdHVzKQorU0FYLmNoYXJhY3RlcnMoSFRUUCAxLjEgMjAwIE9LLCAxNSkKK1NBWC5lbmRFbGVtZW50KEQ6c3RhdHVzKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5lbmRFbGVtZW50KEQ6cmVzcG9uc2UpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChEOnJlc3BvbnNlKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChEOmhyZWYpCitTQVguY2hhcmFjdGVycygKKyAgICAgIGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvLCA2NikKK1NBWC5lbmRFbGVtZW50KEQ6aHJlZikKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoRDpwcm9wKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguc3RhcnRFbGVtZW50KEQ6cmVzb3VyY2V0eXBlKQorU0FYLmVuZEVsZW1lbnQoRDpyZXNvdXJjZXR5cGUpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguZW5kRWxlbWVudChEOnByb3ApCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KEQ6c3RhdHVzKQorU0FYLmNoYXJhY3RlcnMoSFRUUCAxLjEgMjAwIE9LLCAxNSkKK1NBWC5lbmRFbGVtZW50KEQ6c3RhdHVzKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5lbmRFbGVtZW50KEQ6cmVzcG9uc2UpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5lbmRFbGVtZW50KEQ6bXVsdGlzdGF0dXMpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZGF2Ni5zYXgyIGIvbGlieG1sMi9yZXN1bHQvZGF2Ni5zYXgyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMxOTUyYzUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kYXY2LnNheDIKQEAgLTAsMCArMSw2NiBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguc3RhcnRFbGVtZW50TnMobXVsdGlzdGF0dXMsIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgMSwgeG1sbnM6RD0naHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycsIDAsIDApCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHJlc3BvbnNlLCBELCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoaHJlZiwgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3VzZXIvLCA1NSkKK1NBWC5lbmRFbGVtZW50TnMoaHJlZiwgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHByb3AsIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLnN0YXJ0RWxlbWVudE5zKHJlc291cmNldHlwZSwgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5zdGFydEVsZW1lbnROcyhjb2xsZWN0aW9uLCBELCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycsIDAsIDAsIDApCitTQVguZW5kRWxlbWVudE5zKGNvbGxlY3Rpb24sIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLmVuZEVsZW1lbnROcyhyZXNvdXJjZXR5cGUsIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5lbmRFbGVtZW50TnMocHJvcCwgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHN0YXR1cywgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoSFRUUCAxLjEgMjAwIE9LLCAxNSkKK1NBWC5lbmRFbGVtZW50TnMoc3RhdHVzLCBELCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnROcyhyZXNwb25zZSwgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhyZXNwb25zZSwgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKGhyZWYsIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgaHR0cDovL3d3dy5taWNyb3NvZnQuY28sIDY2KQorU0FYLmVuZEVsZW1lbnROcyhocmVmLCBELCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMocHJvcCwgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguc3RhcnRFbGVtZW50TnMocmVzb3VyY2V0eXBlLCBELCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycsIDAsIDAsIDApCitTQVguZW5kRWxlbWVudE5zKHJlc291cmNldHlwZSwgRCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLmVuZEVsZW1lbnROcyhwcm9wLCBELCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoc3RhdHVzLCBELCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhIVFRQIDEuMSAyMDAgT0ssIDE1KQorU0FYLmVuZEVsZW1lbnROcyhzdGF0dXMsIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguZW5kRWxlbWVudE5zKHJlc3BvbnNlLCBELCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5lbmRFbGVtZW50TnMobXVsdGlzdGF0dXMsIEQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJykKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9kYXY3IGIvbGlieG1sMi9yZXN1bHQvZGF2NwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYzRhOTUyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZGF2NwpAQCAtMCwwICsxLDE2IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxkOm11bHRpc3RhdHVzIHhtbG5zOmQ9Imh0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8iPgorICA8ZDpyZXNwb25zZT4KKyAgICA8ZDpocmVmPmh0dHA6Ly93d3cuZm9vLmJhci9jb250YWluZXIvcmVzb3VyY2UxPC9kOmhyZWY+CisgICAgPGQ6aHJlZj5odHRwOi8vd3d3LmZvby5iYXIvY29udGFpbmVyL3Jlc291cmNlMjwvZDpocmVmPgorICAgIDxkOnN0YXR1cz5IVFRQLzEuMSAyMDAgT0s8L2Q6c3RhdHVzPgorICA8L2Q6cmVzcG9uc2U+CisgIDxkOnJlc3BvbnNlPgorICAgIDxkOmhyZWY+aHR0cDovL3d3dy5mb28uYmFyL2NvbnRhaW5lci88L2Q6aHJlZj4KKyAgICA8ZDpzdGF0dXM+SFRUUC8xLjEgNDIwIE1ldGhvZCBGYWlsdXJlPC9kOnN0YXR1cz4KKyAgPC9kOnJlc3BvbnNlPgorICA8ZDpyZXNwb25zZT4KKyAgICA8ZDpocmVmPmh0dHA6Ly93d3cuZm9vLmJhci9jb250YWluZXIvcmVzb3VyY2UzPC9kOmhyZWY+CisgICAgPGQ6c3RhdHVzPkhUVFAvMS4xIDQxMiBQcmVjb25kaXRpb24gRmFpbGVkPC9kOnN0YXR1cz4KKyAgPC9kOnJlc3BvbnNlPgorPC9kOm11bHRpc3RhdHVzPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZGF2Ny5yZGUgYi9saWJ4bWwyL3Jlc3VsdC9kYXY3LnJkZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZjk4MzI4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZGF2Ny5yZGUKQEAgLTAsMCArMSw1NyBAQAorMCAxIGQ6bXVsdGlzdGF0dXMgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDEgZDpyZXNwb25zZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGQ6aHJlZiAwIDAKKzMgMyAjdGV4dCAwIDEgaHR0cDovL3d3dy5mb28uYmFyL2NvbnRhaW5lci9yZXNvdXJjZTEKKzIgMTUgZDpocmVmIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgZDpocmVmIDAgMAorMyAzICN0ZXh0IDAgMSBodHRwOi8vd3d3LmZvby5iYXIvY29udGFpbmVyL3Jlc291cmNlMgorMiAxNSBkOmhyZWYgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBkOnN0YXR1cyAwIDAKKzMgMyAjdGV4dCAwIDEgSFRUUC8xLjEgMjAwIE9LCisyIDE1IGQ6c3RhdHVzIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMSAxNSBkOnJlc3BvbnNlIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSAxIGQ6cmVzcG9uc2UgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBkOmhyZWYgMCAwCiszIDMgI3RleHQgMCAxIGh0dHA6Ly93d3cuZm9vLmJhci9jb250YWluZXIvCisyIDE1IGQ6aHJlZiAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGQ6c3RhdHVzIDAgMAorMyAzICN0ZXh0IDAgMSBIVFRQLzEuMSA0MjAgTWV0aG9kIEZhaWx1cmUKKzIgMTUgZDpzdGF0dXMgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDE1IGQ6cmVzcG9uc2UgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDEgZDpyZXNwb25zZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGQ6aHJlZiAwIDAKKzMgMyAjdGV4dCAwIDEgaHR0cDovL3d3dy5mb28uYmFyL2NvbnRhaW5lci9yZXNvdXJjZTMKKzIgMTUgZDpocmVmIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgZDpzdGF0dXMgMCAwCiszIDMgI3RleHQgMCAxIEhUVFAvMS4xIDQxMiBQcmVjb25kaXRpb24gRmFpbGVkCisyIDE1IGQ6c3RhdHVzIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMSAxNSBkOnJlc3BvbnNlIDAgMAorMSAxNCAjdGV4dCAwIDEgCisKKzAgMTUgZDptdWx0aXN0YXR1cyAwIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2RhdjcucmRyIGIvbGlieG1sMi9yZXN1bHQvZGF2Ny5yZHIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2Y5ODMyOAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2RhdjcucmRyCkBAIC0wLDAgKzEsNTcgQEAKKzAgMSBkOm11bHRpc3RhdHVzIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSAxIGQ6cmVzcG9uc2UgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBkOmhyZWYgMCAwCiszIDMgI3RleHQgMCAxIGh0dHA6Ly93d3cuZm9vLmJhci9jb250YWluZXIvcmVzb3VyY2UxCisyIDE1IGQ6aHJlZiAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGQ6aHJlZiAwIDAKKzMgMyAjdGV4dCAwIDEgaHR0cDovL3d3dy5mb28uYmFyL2NvbnRhaW5lci9yZXNvdXJjZTIKKzIgMTUgZDpocmVmIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgZDpzdGF0dXMgMCAwCiszIDMgI3RleHQgMCAxIEhUVFAvMS4xIDIwMCBPSworMiAxNSBkOnN0YXR1cyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzEgMTUgZDpyZXNwb25zZSAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKzEgMSBkOnJlc3BvbnNlIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgZDpocmVmIDAgMAorMyAzICN0ZXh0IDAgMSBodHRwOi8vd3d3LmZvby5iYXIvY29udGFpbmVyLworMiAxNSBkOmhyZWYgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBkOnN0YXR1cyAwIDAKKzMgMyAjdGV4dCAwIDEgSFRUUC8xLjEgNDIwIE1ldGhvZCBGYWlsdXJlCisyIDE1IGQ6c3RhdHVzIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMSAxNSBkOnJlc3BvbnNlIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSAxIGQ6cmVzcG9uc2UgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBkOmhyZWYgMCAwCiszIDMgI3RleHQgMCAxIGh0dHA6Ly93d3cuZm9vLmJhci9jb250YWluZXIvcmVzb3VyY2UzCisyIDE1IGQ6aHJlZiAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGQ6c3RhdHVzIDAgMAorMyAzICN0ZXh0IDAgMSBIVFRQLzEuMSA0MTIgUHJlY29uZGl0aW9uIEZhaWxlZAorMiAxNSBkOnN0YXR1cyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzEgMTUgZDpyZXNwb25zZSAwIDAKKzEgMTQgI3RleHQgMCAxIAorCiswIDE1IGQ6bXVsdGlzdGF0dXMgMCAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9kYXY3LnNheCBiL2xpYnhtbDIvcmVzdWx0L2Rhdjcuc2F4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEzM2E5YzEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kYXY3LnNheApAQCAtMCwwICsxLDYwIEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5zdGFydEVsZW1lbnQoZDptdWx0aXN0YXR1cywgeG1sbnM6ZD0naHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChkOnJlc3BvbnNlKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChkOmhyZWYpCitTQVguY2hhcmFjdGVycyhodHRwOi8vd3d3LmZvby5iYXIvY29udGFpbmVyL3IsIDM4KQorU0FYLmVuZEVsZW1lbnQoZDpocmVmKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChkOmhyZWYpCitTQVguY2hhcmFjdGVycyhodHRwOi8vd3d3LmZvby5iYXIvY29udGFpbmVyL3IsIDM4KQorU0FYLmVuZEVsZW1lbnQoZDpocmVmKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChkOnN0YXR1cykKK1NBWC5jaGFyYWN0ZXJzKEhUVFAvMS4xIDIwMCBPSywgMTUpCitTQVguZW5kRWxlbWVudChkOnN0YXR1cykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguZW5kRWxlbWVudChkOnJlc3BvbnNlKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQoZDpyZXNwb25zZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoZDpocmVmKQorU0FYLmNoYXJhY3RlcnMoaHR0cDovL3d3dy5mb28uYmFyL2NvbnRhaW5lci8sIDI5KQorU0FYLmVuZEVsZW1lbnQoZDpocmVmKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChkOnN0YXR1cykKK1NBWC5jaGFyYWN0ZXJzKEhUVFAvMS4xIDQyMCBNZXRob2QgRmFpbHVyZSwgMjcpCitTQVguZW5kRWxlbWVudChkOnN0YXR1cykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguZW5kRWxlbWVudChkOnJlc3BvbnNlKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQoZDpyZXNwb25zZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoZDpocmVmKQorU0FYLmNoYXJhY3RlcnMoaHR0cDovL3d3dy5mb28uYmFyL2NvbnRhaW5lci9yLCAzOCkKK1NBWC5lbmRFbGVtZW50KGQ6aHJlZikKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoZDpzdGF0dXMpCitTQVguY2hhcmFjdGVycyhIVFRQLzEuMSA0MTIgUHJlY29uZGl0aW9uIEZhaWwsIDMyKQorU0FYLmVuZEVsZW1lbnQoZDpzdGF0dXMpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnQoZDpyZXNwb25zZSkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmVuZEVsZW1lbnQoZDptdWx0aXN0YXR1cykKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9kYXY3LnNheDIgYi9saWJ4bWwyL3Jlc3VsdC9kYXY3LnNheDIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWQ1MWU3NAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2Rhdjcuc2F4MgpAQCAtMCwwICsxLDYwIEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5zdGFydEVsZW1lbnROcyhtdWx0aXN0YXR1cywgZCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nLCAxLCB4bWxuczpkPSdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocmVzcG9uc2UsIGQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhocmVmLCBkLCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhodHRwOi8vd3d3LmZvby5iYXIvY29udGFpbmVyL3IsIDM4KQorU0FYLmVuZEVsZW1lbnROcyhocmVmLCBkLCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoaHJlZiwgZCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoaHR0cDovL3d3dy5mb28uYmFyL2NvbnRhaW5lci9yLCAzOCkKK1NBWC5lbmRFbGVtZW50TnMoaHJlZiwgZCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHN0YXR1cywgZCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoSFRUUC8xLjEgMjAwIE9LLCAxNSkKK1NBWC5lbmRFbGVtZW50TnMoc3RhdHVzLCBkLCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnROcyhyZXNwb25zZSwgZCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhyZXNwb25zZSwgZCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKGhyZWYsIGQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKGh0dHA6Ly93d3cuZm9vLmJhci9jb250YWluZXIvLCAyOSkKK1NBWC5lbmRFbGVtZW50TnMoaHJlZiwgZCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHN0YXR1cywgZCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoSFRUUC8xLjEgNDIwIE1ldGhvZCBGYWlsdXJlLCAyNykKK1NBWC5lbmRFbGVtZW50TnMoc3RhdHVzLCBkLCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnROcyhyZXNwb25zZSwgZCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhyZXNwb25zZSwgZCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKGhyZWYsIGQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKGh0dHA6Ly93d3cuZm9vLmJhci9jb250YWluZXIvciwgMzgpCitTQVguZW5kRWxlbWVudE5zKGhyZWYsIGQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhzdGF0dXMsIGQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKEhUVFAvMS4xIDQxMiBQcmVjb25kaXRpb24gRmFpbCwgMzIpCitTQVguZW5kRWxlbWVudE5zKHN0YXR1cywgZCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5lbmRFbGVtZW50TnMocmVzcG9uc2UsIGQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJykKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmVuZEVsZW1lbnROcyhtdWx0aXN0YXR1cywgZCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2RhdjggYi9saWJ4bWwyL3Jlc3VsdC9kYXY4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdmOTliYWYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kYXY4CkBAIC0wLDAgKzEsMTQgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPGQ6bXVsdGlzdGF0dXMgeG1sbnM6ZD0iaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LyI+CisgIDxkOnJlc3BvbnNlPgorICAgIDxkOmhyZWY+aHR0cDovL3d3dy5mb28uYmFyL290aGVyY29udGFpbmVyL3Jlc291cmNlMTwvZDpocmVmPgorICAgIDxkOmhyZWY+aHR0cDovL3d3dy5mb28uYmFyL290aGVyY29udGFpbmVyL3Jlc291cmNlMjwvZDpocmVmPgorICAgIDxkOmhyZWY+aHR0cDovL3d3dy5mb28uYmFyL290aGVyY29udGFpbmVyLzwvZDpocmVmPgorICAgIDxkOmhyZWY+aHR0cDovL3d3dy5mb28uYmFyL290aGVyY29udGFpbmVyL1IyL0QyPC9kOmhyZWY+CisgICAgPGQ6c3RhdHVzPkhUVFAvMS4xIDIwMSBDcmVhdGVkPC9kOnN0YXR1cz4KKyAgPC9kOnJlc3BvbnNlPgorICA8ZDpyZXNwb25zZT4KKyAgICA8ZDpocmVmPmh0dHA6Ly93d3cuZm9vLmJhci9vdGhlcmNvbnRhaW5lci9SMi88L2Q6aHJlZj4KKyAgICA8ZDpzdGF0dXM+SFRUUC8xLjEgNDEyIFByZWNvbmRpdGlvbiBGYWlsZWQ8L2Q6c3RhdHVzPgorICA8L2Q6cmVzcG9uc2U+Cis8L2Q6bXVsdGlzdGF0dXM+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9kYXY4LnJkZSBiL2xpYnhtbDIvcmVzdWx0L2RhdjgucmRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYxNDIyNWUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kYXY4LnJkZQpAQCAtMCwwICsxLDUxIEBACiswIDEgZDptdWx0aXN0YXR1cyAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKzEgMSBkOnJlc3BvbnNlIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgZDpocmVmIDAgMAorMyAzICN0ZXh0IDAgMSBodHRwOi8vd3d3LmZvby5iYXIvb3RoZXJjb250YWluZXIvcmVzb3VyY2UxCisyIDE1IGQ6aHJlZiAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGQ6aHJlZiAwIDAKKzMgMyAjdGV4dCAwIDEgaHR0cDovL3d3dy5mb28uYmFyL290aGVyY29udGFpbmVyL3Jlc291cmNlMgorMiAxNSBkOmhyZWYgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBkOmhyZWYgMCAwCiszIDMgI3RleHQgMCAxIGh0dHA6Ly93d3cuZm9vLmJhci9vdGhlcmNvbnRhaW5lci8KKzIgMTUgZDpocmVmIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgZDpocmVmIDAgMAorMyAzICN0ZXh0IDAgMSBodHRwOi8vd3d3LmZvby5iYXIvb3RoZXJjb250YWluZXIvUjIvRDIKKzIgMTUgZDpocmVmIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgZDpzdGF0dXMgMCAwCiszIDMgI3RleHQgMCAxIEhUVFAvMS4xIDIwMSBDcmVhdGVkCisyIDE1IGQ6c3RhdHVzIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMSAxNSBkOnJlc3BvbnNlIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSAxIGQ6cmVzcG9uc2UgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBkOmhyZWYgMCAwCiszIDMgI3RleHQgMCAxIGh0dHA6Ly93d3cuZm9vLmJhci9vdGhlcmNvbnRhaW5lci9SMi8KKzIgMTUgZDpocmVmIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgZDpzdGF0dXMgMCAwCiszIDMgI3RleHQgMCAxIEhUVFAvMS4xIDQxMiBQcmVjb25kaXRpb24gRmFpbGVkCisyIDE1IGQ6c3RhdHVzIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMSAxNSBkOnJlc3BvbnNlIDAgMAorMSAxNCAjdGV4dCAwIDEgCisKKzAgMTUgZDptdWx0aXN0YXR1cyAwIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2RhdjgucmRyIGIvbGlieG1sMi9yZXN1bHQvZGF2OC5yZHIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjE0MjI1ZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2RhdjgucmRyCkBAIC0wLDAgKzEsNTEgQEAKKzAgMSBkOm11bHRpc3RhdHVzIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSAxIGQ6cmVzcG9uc2UgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBkOmhyZWYgMCAwCiszIDMgI3RleHQgMCAxIGh0dHA6Ly93d3cuZm9vLmJhci9vdGhlcmNvbnRhaW5lci9yZXNvdXJjZTEKKzIgMTUgZDpocmVmIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgZDpocmVmIDAgMAorMyAzICN0ZXh0IDAgMSBodHRwOi8vd3d3LmZvby5iYXIvb3RoZXJjb250YWluZXIvcmVzb3VyY2UyCisyIDE1IGQ6aHJlZiAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGQ6aHJlZiAwIDAKKzMgMyAjdGV4dCAwIDEgaHR0cDovL3d3dy5mb28uYmFyL290aGVyY29udGFpbmVyLworMiAxNSBkOmhyZWYgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBkOmhyZWYgMCAwCiszIDMgI3RleHQgMCAxIGh0dHA6Ly93d3cuZm9vLmJhci9vdGhlcmNvbnRhaW5lci9SMi9EMgorMiAxNSBkOmhyZWYgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBkOnN0YXR1cyAwIDAKKzMgMyAjdGV4dCAwIDEgSFRUUC8xLjEgMjAxIENyZWF0ZWQKKzIgMTUgZDpzdGF0dXMgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDE1IGQ6cmVzcG9uc2UgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDEgZDpyZXNwb25zZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGQ6aHJlZiAwIDAKKzMgMyAjdGV4dCAwIDEgaHR0cDovL3d3dy5mb28uYmFyL290aGVyY29udGFpbmVyL1IyLworMiAxNSBkOmhyZWYgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBkOnN0YXR1cyAwIDAKKzMgMyAjdGV4dCAwIDEgSFRUUC8xLjEgNDEyIFByZWNvbmRpdGlvbiBGYWlsZWQKKzIgMTUgZDpzdGF0dXMgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDE1IGQ6cmVzcG9uc2UgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKworMCAxNSBkOm11bHRpc3RhdHVzIDAgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZGF2OC5zYXggYi9saWJ4bWwyL3Jlc3VsdC9kYXY4LnNheApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YTgxMGVmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZGF2OC5zYXgKQEAgLTAsMCArMSw1NCBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguc3RhcnRFbGVtZW50KGQ6bXVsdGlzdGF0dXMsIHhtbG5zOmQ9J2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQoZDpyZXNwb25zZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoZDpocmVmKQorU0FYLmNoYXJhY3RlcnMoaHR0cDovL3d3dy5mb28uYmFyL290aGVyY29udGFpLCA0MykKK1NBWC5lbmRFbGVtZW50KGQ6aHJlZikKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoZDpocmVmKQorU0FYLmNoYXJhY3RlcnMoaHR0cDovL3d3dy5mb28uYmFyL290aGVyY29udGFpLCA0MykKK1NBWC5lbmRFbGVtZW50KGQ6aHJlZikKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoZDpocmVmKQorU0FYLmNoYXJhY3RlcnMoaHR0cDovL3d3dy5mb28uYmFyL290aGVyY29udGFpLCAzNCkKK1NBWC5lbmRFbGVtZW50KGQ6aHJlZikKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoZDpocmVmKQorU0FYLmNoYXJhY3RlcnMoaHR0cDovL3d3dy5mb28uYmFyL290aGVyY29udGFpLCAzOSkKK1NBWC5lbmRFbGVtZW50KGQ6aHJlZikKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoZDpzdGF0dXMpCitTQVguY2hhcmFjdGVycyhIVFRQLzEuMSAyMDEgQ3JlYXRlZCwgMjApCitTQVguZW5kRWxlbWVudChkOnN0YXR1cykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguZW5kRWxlbWVudChkOnJlc3BvbnNlKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQoZDpyZXNwb25zZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoZDpocmVmKQorU0FYLmNoYXJhY3RlcnMoaHR0cDovL3d3dy5mb28uYmFyL290aGVyY29udGFpLCAzNykKK1NBWC5lbmRFbGVtZW50KGQ6aHJlZikKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoZDpzdGF0dXMpCitTQVguY2hhcmFjdGVycyhIVFRQLzEuMSA0MTIgUHJlY29uZGl0aW9uIEZhaWwsIDMyKQorU0FYLmVuZEVsZW1lbnQoZDpzdGF0dXMpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnQoZDpyZXNwb25zZSkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmVuZEVsZW1lbnQoZDptdWx0aXN0YXR1cykKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9kYXY4LnNheDIgYi9saWJ4bWwyL3Jlc3VsdC9kYXY4LnNheDIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2RlNTQ3ZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2Rhdjguc2F4MgpAQCAtMCwwICsxLDU0IEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5zdGFydEVsZW1lbnROcyhtdWx0aXN0YXR1cywgZCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nLCAxLCB4bWxuczpkPSdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocmVzcG9uc2UsIGQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhocmVmLCBkLCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhodHRwOi8vd3d3LmZvby5iYXIvb3RoZXJjb250YWksIDQzKQorU0FYLmVuZEVsZW1lbnROcyhocmVmLCBkLCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoaHJlZiwgZCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoaHR0cDovL3d3dy5mb28uYmFyL290aGVyY29udGFpLCA0MykKK1NBWC5lbmRFbGVtZW50TnMoaHJlZiwgZCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKGhyZWYsIGQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKGh0dHA6Ly93d3cuZm9vLmJhci9vdGhlcmNvbnRhaSwgMzQpCitTQVguZW5kRWxlbWVudE5zKGhyZWYsIGQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhocmVmLCBkLCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhodHRwOi8vd3d3LmZvby5iYXIvb3RoZXJjb250YWksIDM5KQorU0FYLmVuZEVsZW1lbnROcyhocmVmLCBkLCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoc3RhdHVzLCBkLCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhIVFRQLzEuMSAyMDEgQ3JlYXRlZCwgMjApCitTQVguZW5kRWxlbWVudE5zKHN0YXR1cywgZCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5lbmRFbGVtZW50TnMocmVzcG9uc2UsIGQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocmVzcG9uc2UsIGQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhocmVmLCBkLCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhodHRwOi8vd3d3LmZvby5iYXIvb3RoZXJjb250YWksIDM3KQorU0FYLmVuZEVsZW1lbnROcyhocmVmLCBkLCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoc3RhdHVzLCBkLCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhIVFRQLzEuMSA0MTIgUHJlY29uZGl0aW9uIEZhaWwsIDMyKQorU0FYLmVuZEVsZW1lbnROcyhzdGF0dXMsIGQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguZW5kRWxlbWVudE5zKHJlc3BvbnNlLCBkLCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5lbmRFbGVtZW50TnMobXVsdGlzdGF0dXMsIGQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJykKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9kYXY5IGIvbGlieG1sMi9yZXN1bHQvZGF2OQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZWQ2M2I4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZGF2OQpAQCAtMCwwICsxLDE4IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxkOm11bHRpc3RhdHVzIHhtbG5zOmQ9Imh0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8iPgorICA8ZDpyZXNwb25zZT4KKyAgICA8ZDpocmVmPmh0dHA6Ly93d3cuZm9vLmJhci9jb250YWluZXIvcmVzb3VyY2UxPC9kOmhyZWY+CisgICAgPGQ6aHJlZj5odHRwOi8vd3d3LmZvby5iYXIvY29udGFpbmVyL3Jlc291cmNlMjwvZDpocmVmPgorICAgIDxkOmhyZWY+aHR0cDovL3d3dy5mb28uYmFyL2NvbnRhaW5lci88L2Q6aHJlZj4KKyAgICA8ZDpocmVmPmh0dHA6Ly93d3cuZm9vLmJhci9jb250YWluZXIvQzIvUjI8L2Q6aHJlZj4KKyAgICA8ZDpzdGF0dXM+SFRUUC8xLjEgMjAxIENyZWF0ZWQ8L2Q6c3RhdHVzPgorICA8L2Q6cmVzcG9uc2U+CisgIDxkOnJlc3BvbnNlPgorICAgIDxkOmhyZWY+aHR0cDovL3d3dy5mb28uYmFyL2NvbnRhaW5lci9DMjwvZDpocmVmPgorICAgIDxkOnN0YXR1cz5IVFRQLzEuMSA0MjAgTWV0aG9kIEZhaWx1cmU8L2Q6c3RhdHVzPgorICA8L2Q6cmVzcG9uc2U+CisgIDxkOnJlc3BvbnNlPgorICAgIDxkOmhyZWY+aHR0cDovL3d3dy5mb28uYmFyL290aGVyY29udGFpbmVyL0MyPC9kOmhyZWY+CisgICAgPGQ6c3RhdHVzPkhUVFAvMS4xIDQwOSBDb25mbGljdDwvZDpzdGF0dXM+CisgIDwvZDpyZXNwb25zZT4KKzwvZDptdWx0aXN0YXR1cz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2RhdjkucmRlIGIvbGlieG1sMi9yZXN1bHQvZGF2OS5yZGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTQzYWI5NgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2RhdjkucmRlCkBAIC0wLDAgKzEsNjcgQEAKKzAgMSBkOm11bHRpc3RhdHVzIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSAxIGQ6cmVzcG9uc2UgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBkOmhyZWYgMCAwCiszIDMgI3RleHQgMCAxIGh0dHA6Ly93d3cuZm9vLmJhci9jb250YWluZXIvcmVzb3VyY2UxCisyIDE1IGQ6aHJlZiAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGQ6aHJlZiAwIDAKKzMgMyAjdGV4dCAwIDEgaHR0cDovL3d3dy5mb28uYmFyL2NvbnRhaW5lci9yZXNvdXJjZTIKKzIgMTUgZDpocmVmIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgZDpocmVmIDAgMAorMyAzICN0ZXh0IDAgMSBodHRwOi8vd3d3LmZvby5iYXIvY29udGFpbmVyLworMiAxNSBkOmhyZWYgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBkOmhyZWYgMCAwCiszIDMgI3RleHQgMCAxIGh0dHA6Ly93d3cuZm9vLmJhci9jb250YWluZXIvQzIvUjIKKzIgMTUgZDpocmVmIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgZDpzdGF0dXMgMCAwCiszIDMgI3RleHQgMCAxIEhUVFAvMS4xIDIwMSBDcmVhdGVkCisyIDE1IGQ6c3RhdHVzIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMSAxNSBkOnJlc3BvbnNlIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSAxIGQ6cmVzcG9uc2UgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBkOmhyZWYgMCAwCiszIDMgI3RleHQgMCAxIGh0dHA6Ly93d3cuZm9vLmJhci9jb250YWluZXIvQzIKKzIgMTUgZDpocmVmIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgZDpzdGF0dXMgMCAwCiszIDMgI3RleHQgMCAxIEhUVFAvMS4xIDQyMCBNZXRob2QgRmFpbHVyZQorMiAxNSBkOnN0YXR1cyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzEgMTUgZDpyZXNwb25zZSAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKzEgMSBkOnJlc3BvbnNlIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgZDpocmVmIDAgMAorMyAzICN0ZXh0IDAgMSBodHRwOi8vd3d3LmZvby5iYXIvb3RoZXJjb250YWluZXIvQzIKKzIgMTUgZDpocmVmIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgZDpzdGF0dXMgMCAwCiszIDMgI3RleHQgMCAxIEhUVFAvMS4xIDQwOSBDb25mbGljdAorMiAxNSBkOnN0YXR1cyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzEgMTUgZDpyZXNwb25zZSAwIDAKKzEgMTQgI3RleHQgMCAxIAorCiswIDE1IGQ6bXVsdGlzdGF0dXMgMCAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9kYXY5LnJkciBiL2xpYnhtbDIvcmVzdWx0L2RhdjkucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk0M2FiOTYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kYXY5LnJkcgpAQCAtMCwwICsxLDY3IEBACiswIDEgZDptdWx0aXN0YXR1cyAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKzEgMSBkOnJlc3BvbnNlIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgZDpocmVmIDAgMAorMyAzICN0ZXh0IDAgMSBodHRwOi8vd3d3LmZvby5iYXIvY29udGFpbmVyL3Jlc291cmNlMQorMiAxNSBkOmhyZWYgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBkOmhyZWYgMCAwCiszIDMgI3RleHQgMCAxIGh0dHA6Ly93d3cuZm9vLmJhci9jb250YWluZXIvcmVzb3VyY2UyCisyIDE1IGQ6aHJlZiAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGQ6aHJlZiAwIDAKKzMgMyAjdGV4dCAwIDEgaHR0cDovL3d3dy5mb28uYmFyL2NvbnRhaW5lci8KKzIgMTUgZDpocmVmIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgZDpocmVmIDAgMAorMyAzICN0ZXh0IDAgMSBodHRwOi8vd3d3LmZvby5iYXIvY29udGFpbmVyL0MyL1IyCisyIDE1IGQ6aHJlZiAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGQ6c3RhdHVzIDAgMAorMyAzICN0ZXh0IDAgMSBIVFRQLzEuMSAyMDEgQ3JlYXRlZAorMiAxNSBkOnN0YXR1cyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzEgMTUgZDpyZXNwb25zZSAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKzEgMSBkOnJlc3BvbnNlIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgZDpocmVmIDAgMAorMyAzICN0ZXh0IDAgMSBodHRwOi8vd3d3LmZvby5iYXIvY29udGFpbmVyL0MyCisyIDE1IGQ6aHJlZiAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGQ6c3RhdHVzIDAgMAorMyAzICN0ZXh0IDAgMSBIVFRQLzEuMSA0MjAgTWV0aG9kIEZhaWx1cmUKKzIgMTUgZDpzdGF0dXMgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDE1IGQ6cmVzcG9uc2UgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDEgZDpyZXNwb25zZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGQ6aHJlZiAwIDAKKzMgMyAjdGV4dCAwIDEgaHR0cDovL3d3dy5mb28uYmFyL290aGVyY29udGFpbmVyL0MyCisyIDE1IGQ6aHJlZiAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGQ6c3RhdHVzIDAgMAorMyAzICN0ZXh0IDAgMSBIVFRQLzEuMSA0MDkgQ29uZmxpY3QKKzIgMTUgZDpzdGF0dXMgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDE1IGQ6cmVzcG9uc2UgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKworMCAxNSBkOm11bHRpc3RhdHVzIDAgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZGF2OS5zYXggYi9saWJ4bWwyL3Jlc3VsdC9kYXY5LnNheApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MTE2YmFkCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZGF2OS5zYXgKQEAgLTAsMCArMSw3MCBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguc3RhcnRFbGVtZW50KGQ6bXVsdGlzdGF0dXMsIHhtbG5zOmQ9J2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQoZDpyZXNwb25zZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoZDpocmVmKQorU0FYLmNoYXJhY3RlcnMoaHR0cDovL3d3dy5mb28uYmFyL2NvbnRhaW5lci9yLCAzOCkKK1NBWC5lbmRFbGVtZW50KGQ6aHJlZikKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoZDpocmVmKQorU0FYLmNoYXJhY3RlcnMoaHR0cDovL3d3dy5mb28uYmFyL2NvbnRhaW5lci9yLCAzOCkKK1NBWC5lbmRFbGVtZW50KGQ6aHJlZikKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoZDpocmVmKQorU0FYLmNoYXJhY3RlcnMoaHR0cDovL3d3dy5mb28uYmFyL2NvbnRhaW5lci8sIDI5KQorU0FYLmVuZEVsZW1lbnQoZDpocmVmKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChkOmhyZWYpCitTQVguY2hhcmFjdGVycyhodHRwOi8vd3d3LmZvby5iYXIvY29udGFpbmVyL0MsIDM0KQorU0FYLmVuZEVsZW1lbnQoZDpocmVmKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChkOnN0YXR1cykKK1NBWC5jaGFyYWN0ZXJzKEhUVFAvMS4xIDIwMSBDcmVhdGVkLCAyMCkKK1NBWC5lbmRFbGVtZW50KGQ6c3RhdHVzKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5lbmRFbGVtZW50KGQ6cmVzcG9uc2UpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChkOnJlc3BvbnNlKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChkOmhyZWYpCitTQVguY2hhcmFjdGVycyhodHRwOi8vd3d3LmZvby5iYXIvY29udGFpbmVyL0MsIDMxKQorU0FYLmVuZEVsZW1lbnQoZDpocmVmKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChkOnN0YXR1cykKK1NBWC5jaGFyYWN0ZXJzKEhUVFAvMS4xIDQyMCBNZXRob2QgRmFpbHVyZSwgMjcpCitTQVguZW5kRWxlbWVudChkOnN0YXR1cykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguZW5kRWxlbWVudChkOnJlc3BvbnNlKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQoZDpyZXNwb25zZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoZDpocmVmKQorU0FYLmNoYXJhY3RlcnMoaHR0cDovL3d3dy5mb28uYmFyL290aGVyY29udGFpLCAzNikKK1NBWC5lbmRFbGVtZW50KGQ6aHJlZikKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoZDpzdGF0dXMpCitTQVguY2hhcmFjdGVycyhIVFRQLzEuMSA0MDkgQ29uZmxpY3QsIDIxKQorU0FYLmVuZEVsZW1lbnQoZDpzdGF0dXMpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnQoZDpyZXNwb25zZSkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmVuZEVsZW1lbnQoZDptdWx0aXN0YXR1cykKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9kYXY5LnNheDIgYi9saWJ4bWwyL3Jlc3VsdC9kYXY5LnNheDIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjZlNDk0MgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2Rhdjkuc2F4MgpAQCAtMCwwICsxLDcwIEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5zdGFydEVsZW1lbnROcyhtdWx0aXN0YXR1cywgZCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nLCAxLCB4bWxuczpkPSdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocmVzcG9uc2UsIGQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhocmVmLCBkLCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhodHRwOi8vd3d3LmZvby5iYXIvY29udGFpbmVyL3IsIDM4KQorU0FYLmVuZEVsZW1lbnROcyhocmVmLCBkLCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoaHJlZiwgZCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoaHR0cDovL3d3dy5mb28uYmFyL2NvbnRhaW5lci9yLCAzOCkKK1NBWC5lbmRFbGVtZW50TnMoaHJlZiwgZCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKGhyZWYsIGQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKGh0dHA6Ly93d3cuZm9vLmJhci9jb250YWluZXIvLCAyOSkKK1NBWC5lbmRFbGVtZW50TnMoaHJlZiwgZCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKGhyZWYsIGQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKGh0dHA6Ly93d3cuZm9vLmJhci9jb250YWluZXIvQywgMzQpCitTQVguZW5kRWxlbWVudE5zKGhyZWYsIGQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhzdGF0dXMsIGQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKEhUVFAvMS4xIDIwMSBDcmVhdGVkLCAyMCkKK1NBWC5lbmRFbGVtZW50TnMoc3RhdHVzLCBkLCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnROcyhyZXNwb25zZSwgZCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhyZXNwb25zZSwgZCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKGhyZWYsIGQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKGh0dHA6Ly93d3cuZm9vLmJhci9jb250YWluZXIvQywgMzEpCitTQVguZW5kRWxlbWVudE5zKGhyZWYsIGQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhzdGF0dXMsIGQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKEhUVFAvMS4xIDQyMCBNZXRob2QgRmFpbHVyZSwgMjcpCitTQVguZW5kRWxlbWVudE5zKHN0YXR1cywgZCwgJ2h0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8nKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5lbmRFbGVtZW50TnMocmVzcG9uc2UsIGQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocmVzcG9uc2UsIGQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhocmVmLCBkLCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhodHRwOi8vd3d3LmZvby5iYXIvb3RoZXJjb250YWksIDM2KQorU0FYLmVuZEVsZW1lbnROcyhocmVmLCBkLCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoc3RhdHVzLCBkLCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhIVFRQLzEuMSA0MDkgQ29uZmxpY3QsIDIxKQorU0FYLmVuZEVsZW1lbnROcyhzdGF0dXMsIGQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguZW5kRWxlbWVudE5zKHJlc3BvbnNlLCBkLCAnaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LycpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5lbmRFbGVtZW50TnMobXVsdGlzdGF0dXMsIGQsICdodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvJykKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9kZWZhdHRyLnhtbCBiL2xpYnhtbDIvcmVzdWx0L2RlZmF0dHIueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBhNGFjMTUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kZWZhdHRyLnhtbApAQCAtMCwwICsxLDYgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCFET0NUWVBFIGRvYyBbCis8IUVMRU1FTlQgZG9jIEVNUFRZPgorPCFBVFRMSVNUIGRvYyB4bWxucyBDREFUQSAjRklYRUQgImh0dHA6Ly93d3cuZXhhbXBsZS5jb20vIj4KK10+Cis8ZG9jIHhtbG5zPSJodHRwOi8vd3d3LmV4YW1wbGUuY29tLyIvPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZGVmYXR0ci54bWwucmRlIGIvbGlieG1sMi9yZXN1bHQvZGVmYXR0ci54bWwucmRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjliMGEzNGQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kZWZhdHRyLnhtbC5yZGUKQEAgLTAsMCArMSwyIEBACiswIDEwIGRvYyAwIDAKKzAgMSBkb2MgMSAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9kZWZhdHRyLnhtbC5yZHIgYi9saWJ4bWwyL3Jlc3VsdC9kZWZhdHRyLnhtbC5yZHIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWIwYTM0ZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2RlZmF0dHIueG1sLnJkcgpAQCAtMCwwICsxLDIgQEAKKzAgMTAgZG9jIDAgMAorMCAxIGRvYyAxIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2RlZmF0dHIueG1sLnNheCBiL2xpYnhtbDIvcmVzdWx0L2RlZmF0dHIueG1sLnNheApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NmVmNTRhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZGVmYXR0ci54bWwuc2F4CkBAIC0wLDAgKzEsOSBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguaW50ZXJuYWxTdWJzZXQoZG9jLCAsICkKK1NBWC5lbGVtZW50RGVjbChkb2MsIDEsIC4uLikKK1NBWC5hdHRyaWJ1dGVEZWNsKGRvYywgeG1sbnMsIDEsIDQsIGh0dHA6Ly93d3cuZXhhbXBsZS5jb20vLCAuLi4pCitTQVguZXh0ZXJuYWxTdWJzZXQoZG9jLCAsICkKK1NBWC5zdGFydEVsZW1lbnQoZG9jKQorU0FYLmVuZEVsZW1lbnQoZG9jKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2RlZmF0dHIueG1sLnNheDIgYi9saWJ4bWwyL3Jlc3VsdC9kZWZhdHRyLnhtbC5zYXgyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRmZWJhNDkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kZWZhdHRyLnhtbC5zYXgyCkBAIC0wLDAgKzEsOSBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguaW50ZXJuYWxTdWJzZXQoZG9jLCAsICkKK1NBWC5lbGVtZW50RGVjbChkb2MsIDEsIC4uLikKK1NBWC5hdHRyaWJ1dGVEZWNsKGRvYywgeG1sbnMsIDEsIDQsIGh0dHA6Ly93d3cuZXhhbXBsZS5jb20vLCAuLi4pCitTQVguZXh0ZXJuYWxTdWJzZXQoZG9jLCAsICkKK1NBWC5zdGFydEVsZW1lbnROcyhkb2MsIE5VTEwsICdodHRwOi8vd3d3LmV4YW1wbGUuY29tLycsIDEsIHhtbG5zPSdodHRwOi8vd3d3LmV4YW1wbGUuY29tLycsIDAsIDApCitTQVguZW5kRWxlbWVudE5zKGRvYywgTlVMTCwgJ2h0dHA6Ly93d3cuZXhhbXBsZS5jb20vJykKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9kZWZhdHRyMi54bWwgYi9saWJ4bWwyL3Jlc3VsdC9kZWZhdHRyMi54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGQxZmMzYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2RlZmF0dHIyLnhtbApAQCAtMCwwICsxLDggQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCFET0NUWVBFIGRvYyBbCis8IUVMRU1FTlQgZG9jIEVNUFRZPgorPCFBVFRMSVNUIGRvYyBkZWZhdHQgKDAgfCAxKSAiMCI+Cis8IUFUVExJU1QgZG9jIHhtbG5zOnRzdCBDREFUQSAjRklYRUQgImh0dHA6Ly9leGFtcGxlLm9yZyI+Cis8IUFUVExJU1QgZG9jIHRzdDphdHQgKDAgfCAxKSAiMSI+CitdPgorPGRvYyB4bWxuczp0c3Q9Imh0dHA6Ly9leGFtcGxlLm9yZyIgYXR0PSIxIi8+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9kZWZhdHRyMi54bWwucmRlIGIvbGlieG1sMi9yZXN1bHQvZGVmYXR0cjIueG1sLnJkZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YjBhMzRkCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZGVmYXR0cjIueG1sLnJkZQpAQCAtMCwwICsxLDIgQEAKKzAgMTAgZG9jIDAgMAorMCAxIGRvYyAxIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2RlZmF0dHIyLnhtbC5yZHIgYi9saWJ4bWwyL3Jlc3VsdC9kZWZhdHRyMi54bWwucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjliMGEzNGQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kZWZhdHRyMi54bWwucmRyCkBAIC0wLDAgKzEsMiBAQAorMCAxMCBkb2MgMCAwCiswIDEgZG9jIDEgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZGVmYXR0cjIueG1sLnNheCBiL2xpYnhtbDIvcmVzdWx0L2RlZmF0dHIyLnhtbC5zYXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzJmOGZjYQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2RlZmF0dHIyLnhtbC5zYXgKQEAgLTAsMCArMSwxMSBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguaW50ZXJuYWxTdWJzZXQoZG9jLCAsICkKK1NBWC5lbGVtZW50RGVjbChkb2MsIDEsIC4uLikKK1NBWC5hdHRyaWJ1dGVEZWNsKGRvYywgZGVmYXR0LCA5LCAxLCAwLCAuLi4pCitTQVguYXR0cmlidXRlRGVjbChkb2MsIHhtbG5zOnRzdCwgMSwgNCwgaHR0cDovL2V4YW1wbGUub3JnLCAuLi4pCitTQVguYXR0cmlidXRlRGVjbChkb2MsIHRzdDphdHQsIDksIDEsIDEsIC4uLikKK1NBWC5leHRlcm5hbFN1YnNldChkb2MsICwgKQorU0FYLnN0YXJ0RWxlbWVudChkb2MsIGF0dD0nMScpCitTQVguZW5kRWxlbWVudChkb2MpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZGVmYXR0cjIueG1sLnNheDIgYi9saWJ4bWwyL3Jlc3VsdC9kZWZhdHRyMi54bWwuc2F4MgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZjc3MjcxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZGVmYXR0cjIueG1sLnNheDIKQEAgLTAsMCArMSwxMSBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguaW50ZXJuYWxTdWJzZXQoZG9jLCAsICkKK1NBWC5lbGVtZW50RGVjbChkb2MsIDEsIC4uLikKK1NBWC5hdHRyaWJ1dGVEZWNsKGRvYywgZGVmYXR0LCA5LCAxLCAwLCAuLi4pCitTQVguYXR0cmlidXRlRGVjbChkb2MsIHhtbG5zOnRzdCwgMSwgNCwgaHR0cDovL2V4YW1wbGUub3JnLCAuLi4pCitTQVguYXR0cmlidXRlRGVjbChkb2MsIHRzdDphdHQsIDksIDEsIDEsIC4uLikKK1NBWC5leHRlcm5hbFN1YnNldChkb2MsICwgKQorU0FYLnN0YXJ0RWxlbWVudE5zKGRvYywgTlVMTCwgTlVMTCwgMSwgeG1sbnM6dHN0PSdodHRwOi8vZXhhbXBsZS5vcmcnLCAzLCAyLCBhdHQ9JzEiLz4uLi4nLCAxLCBkZWZhdHQ9JzAuLi4nLCAxLCB0c3Q6YXR0PScxLi4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnMoZG9jLCBOVUxMLCBOVUxMKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2RpYTEgYi9saWJ4bWwyL3Jlc3VsdC9kaWExCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIwN2JkNzMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kaWExCkBAIC0wLDAgKzEsOTkgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPGRpYTpkaWFncmFtIHhtbG5zOmRpYT0iaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvIj4KKyAgPGRpYTpkaWFncmFtZGF0YT4KKyAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJiYWNrZ3JvdW5kIj4KKyAgICAgIDxkaWE6Y29sb3IgdmFsPSIjZmZmZmZmIi8+CisgICAgPC9kaWE6YXR0cmlidXRlPgorICA8L2RpYTpkaWFncmFtZGF0YT4KKyAgPGRpYTpsYXllciBuYW1lPSJCYWNrZ3JvdW5kIiB2aXNpYmxlPSJ0cnVlIj4KKyAgICA8ZGlhOm9iamVjdCB0eXBlPSJTdGFuZGFyZCAtIExpbmUiIHZlcnNpb249IjAiIGlkPSJPMCI+CisgICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJvYmpfcG9zIj4KKyAgICAgICAgPGRpYTpwb2ludCB2YWw9IjEuOTUsNi44NSIvPgorICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0ib2JqX2JiIj4KKyAgICAgICAgPGRpYTpyZWN0YW5nbGUgdmFsPSIxLjksNi44OzExLDguNTUiLz4KKyAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9ImNvbm5fZW5kcG9pbnRzIj4KKyAgICAgICAgPGRpYTpwb2ludCB2YWw9IjEuOTUsNi44NSIvPgorICAgICAgICA8ZGlhOnBvaW50IHZhbD0iMTAuOTUsOC41Ii8+CisgICAgICA8L2RpYTphdHRyaWJ1dGU+CisgICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJsaW5lX2NvbG9yIj4KKyAgICAgICAgPGRpYTpjb2xvciB2YWw9IiMwMDAwMDAiLz4KKyAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9ImxpbmVfd2lkdGgiPgorICAgICAgICA8ZGlhOnJlYWwgdmFsPSIwLjEiLz4KKyAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9ImxpbmVfc3R5bGUiPgorICAgICAgICA8ZGlhOmVudW0gdmFsPSIwIi8+CisgICAgICA8L2RpYTphdHRyaWJ1dGU+CisgICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJzdGFydF9hcnJvdyI+CisgICAgICAgIDxkaWE6ZW51bSB2YWw9IjAiLz4KKyAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9ImVuZF9hcnJvdyI+CisgICAgICAgIDxkaWE6ZW51bSB2YWw9IjAiLz4KKyAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgIDxkaWE6Y29ubmVjdGlvbnM+CisgICAgICAgIDxkaWE6Y29ubmVjdGlvbiBoYW5kbGU9IjEiIHRvPSJPMiIgY29ubmVjdGlvbj0iMyIvPgorICAgICAgPC9kaWE6Y29ubmVjdGlvbnM+CisgICAgPC9kaWE6b2JqZWN0PgorICAgIDxkaWE6b2JqZWN0IHR5cGU9IlN0YW5kYXJkIC0gVGV4dCIgdmVyc2lvbj0iMCIgaWQ9Ik8xIj4KKyAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9Im9ial9wb3MiPgorICAgICAgICA8ZGlhOnBvaW50IHZhbD0iNC44LDQuNzUiLz4KKyAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9Im9ial9iYiI+CisgICAgICAgIDxkaWE6cmVjdGFuZ2xlIHZhbD0iMi41NzksMy45NjM1OTs3LjAyMSw0Ljk2MzU5Ii8+CisgICAgICA8L2RpYTphdHRyaWJ1dGU+CisgICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJ0ZXh0Ij4KKyAgICAgICAgPGRpYTpjb21wb3NpdGUgdHlwZT0idGV4dCI+CisgICAgICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0ic3RyaW5nIj4KKyAgICAgICAgICAgIDxkaWE6c3RyaW5nIHZhbD0ic2Rmc2RmZyIvPgorICAgICAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJmb250Ij4KKyAgICAgICAgICAgIDxkaWE6Zm9udCBuYW1lPSJDb3VyaWVyIi8+CisgICAgICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgICAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9ImhlaWdodCI+CisgICAgICAgICAgICA8ZGlhOnJlYWwgdmFsPSIxIi8+CisgICAgICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgICAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9InBvcyI+CisgICAgICAgICAgICA8ZGlhOnBvaW50IHZhbD0iNC44LDQuNzUiLz4KKyAgICAgICAgICA8L2RpYTphdHRyaWJ1dGU+CisgICAgICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0iY29sb3IiPgorICAgICAgICAgICAgPGRpYTpjb2xvciB2YWw9IiMwMDAwMDAiLz4KKyAgICAgICAgICA8L2RpYTphdHRyaWJ1dGU+CisgICAgICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0iYWxpZ25tZW50Ij4KKyAgICAgICAgICAgIDxkaWE6ZW51bSB2YWw9IjEiLz4KKyAgICAgICAgICA8L2RpYTphdHRyaWJ1dGU+CisgICAgICAgIDwvZGlhOmNvbXBvc2l0ZT4KKyAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICA8L2RpYTpvYmplY3Q+CisgICAgPGRpYTpvYmplY3QgdHlwZT0iU3RhbmRhcmQgLSBCb3giIHZlcnNpb249IjAiIGlkPSJPMiI+CisgICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJvYmpfcG9zIj4KKyAgICAgICAgPGRpYTpwb2ludCB2YWw9IjEwLjk1LDcuNSIvPgorICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0ib2JqX2JiIj4KKyAgICAgICAgPGRpYTpyZWN0YW5nbGUgdmFsPSIxMC45LDcuNDU7MTMuMDUsOS41NSIvPgorICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0iZWxlbV9jb3JuZXIiPgorICAgICAgICA8ZGlhOnBvaW50IHZhbD0iMTAuOTUsNy41Ii8+CisgICAgICA8L2RpYTphdHRyaWJ1dGU+CisgICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJlbGVtX3dpZHRoIj4KKyAgICAgICAgPGRpYTpyZWFsIHZhbD0iMi4wNSIvPgorICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0iZWxlbV9oZWlnaHQiPgorICAgICAgICA8ZGlhOnJlYWwgdmFsPSIyIi8+CisgICAgICA8L2RpYTphdHRyaWJ1dGU+CisgICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJib3JkZXJfd2lkdGgiPgorICAgICAgICA8ZGlhOnJlYWwgdmFsPSIwLjEiLz4KKyAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9ImJvcmRlcl9jb2xvciI+CisgICAgICAgIDxkaWE6Y29sb3IgdmFsPSIjMDAwMDAwIi8+CisgICAgICA8L2RpYTphdHRyaWJ1dGU+CisgICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJpbm5lcl9jb2xvciI+CisgICAgICAgIDxkaWE6Y29sb3IgdmFsPSIjZmZmZmZmIi8+CisgICAgICA8L2RpYTphdHRyaWJ1dGU+CisgICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJsaW5lX3N0eWxlIj4KKyAgICAgICAgPGRpYTplbnVtIHZhbD0iMCIvPgorICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgIDwvZGlhOm9iamVjdD4KKyAgPC9kaWE6bGF5ZXI+Cis8L2RpYTpkaWFncmFtPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZGlhMS5yZGUgYi9saWJ4bWwyL3Jlc3VsdC9kaWExLnJkZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNzY3MzI1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZGlhMS5yZGUKQEAgLTAsMCArMSwyOTIgQEAKKzAgMSBkaWE6ZGlhZ3JhbSAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKzEgMSBkaWE6ZGlhZ3JhbWRhdGEgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBkaWE6YXR0cmlidXRlIDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMSBkaWE6Y29sb3IgMSAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMTUgZGlhOmF0dHJpYnV0ZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzEgMTUgZGlhOmRpYWdyYW1kYXRhIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSAxIGRpYTpsYXllciAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGRpYTpvYmplY3QgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxIGRpYTphdHRyaWJ1dGUgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgCis0IDEgZGlhOnBvaW50IDEgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMTUgZGlhOmF0dHJpYnV0ZSAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDEgZGlhOmF0dHJpYnV0ZSAwIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgICAKKzQgMSBkaWE6cmVjdGFuZ2xlIDEgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMTUgZGlhOmF0dHJpYnV0ZSAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDEgZGlhOmF0dHJpYnV0ZSAwIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgICAKKzQgMSBkaWE6cG9pbnQgMSAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgCis0IDEgZGlhOnBvaW50IDEgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMTUgZGlhOmF0dHJpYnV0ZSAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDEgZGlhOmF0dHJpYnV0ZSAwIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgICAKKzQgMSBkaWE6Y29sb3IgMSAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxNSBkaWE6YXR0cmlidXRlIDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMSBkaWE6YXR0cmlidXRlIDAgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAgIAorNCAxIGRpYTpyZWFsIDEgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMTUgZGlhOmF0dHJpYnV0ZSAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDEgZGlhOmF0dHJpYnV0ZSAwIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgICAKKzQgMSBkaWE6ZW51bSAxIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDE1IGRpYTphdHRyaWJ1dGUgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxIGRpYTphdHRyaWJ1dGUgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgCis0IDEgZGlhOmVudW0gMSAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxNSBkaWE6YXR0cmlidXRlIDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMSBkaWE6YXR0cmlidXRlIDAgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAgIAorNCAxIGRpYTplbnVtIDEgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMTUgZGlhOmF0dHJpYnV0ZSAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDEgZGlhOmNvbm5lY3Rpb25zIDAgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAgIAorNCAxIGRpYTpjb25uZWN0aW9uIDEgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMTUgZGlhOmNvbm5lY3Rpb25zIDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgCisyIDE1IGRpYTpvYmplY3QgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBkaWE6b2JqZWN0IDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMSBkaWE6YXR0cmlidXRlIDAgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAgIAorNCAxIGRpYTpwb2ludCAxIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDE1IGRpYTphdHRyaWJ1dGUgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxIGRpYTphdHRyaWJ1dGUgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgCis0IDEgZGlhOnJlY3RhbmdsZSAxIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDE1IGRpYTphdHRyaWJ1dGUgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxIGRpYTphdHRyaWJ1dGUgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgCis0IDEgZGlhOmNvbXBvc2l0ZSAwIDAKKzUgMTQgI3RleHQgMCAxIAorICAgICAgICAgIAorNSAxIGRpYTphdHRyaWJ1dGUgMCAwCis2IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgICAgIAorNiAxIGRpYTpzdHJpbmcgMSAwCis2IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgICAKKzUgMTUgZGlhOmF0dHJpYnV0ZSAwIDAKKzUgMTQgI3RleHQgMCAxIAorICAgICAgICAgIAorNSAxIGRpYTphdHRyaWJ1dGUgMCAwCis2IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgICAgIAorNiAxIGRpYTpmb250IDEgMAorNiAxNCAjdGV4dCAwIDEgCisgICAgICAgICAgCis1IDE1IGRpYTphdHRyaWJ1dGUgMCAwCis1IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgICAKKzUgMSBkaWE6YXR0cmlidXRlIDAgMAorNiAxNCAjdGV4dCAwIDEgCisgICAgICAgICAgICAKKzYgMSBkaWE6cmVhbCAxIDAKKzYgMTQgI3RleHQgMCAxIAorICAgICAgICAgIAorNSAxNSBkaWE6YXR0cmlidXRlIDAgMAorNSAxNCAjdGV4dCAwIDEgCisgICAgICAgICAgCis1IDEgZGlhOmF0dHJpYnV0ZSAwIDAKKzYgMTQgI3RleHQgMCAxIAorICAgICAgICAgICAgCis2IDEgZGlhOnBvaW50IDEgMAorNiAxNCAjdGV4dCAwIDEgCisgICAgICAgICAgCis1IDE1IGRpYTphdHRyaWJ1dGUgMCAwCis1IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgICAKKzUgMSBkaWE6YXR0cmlidXRlIDAgMAorNiAxNCAjdGV4dCAwIDEgCisgICAgICAgICAgICAKKzYgMSBkaWE6Y29sb3IgMSAwCis2IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgICAKKzUgMTUgZGlhOmF0dHJpYnV0ZSAwIDAKKzUgMTQgI3RleHQgMCAxIAorICAgICAgICAgIAorNSAxIGRpYTphdHRyaWJ1dGUgMCAwCis2IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgICAgIAorNiAxIGRpYTplbnVtIDEgMAorNiAxNCAjdGV4dCAwIDEgCisgICAgICAgICAgCis1IDE1IGRpYTphdHRyaWJ1dGUgMCAwCis1IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgCis0IDE1IGRpYTpjb21wb3NpdGUgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxNSBkaWE6YXR0cmlidXRlIDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgCisyIDE1IGRpYTpvYmplY3QgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBkaWE6b2JqZWN0IDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMSBkaWE6YXR0cmlidXRlIDAgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAgIAorNCAxIGRpYTpwb2ludCAxIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDE1IGRpYTphdHRyaWJ1dGUgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxIGRpYTphdHRyaWJ1dGUgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgCis0IDEgZGlhOnJlY3RhbmdsZSAxIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDE1IGRpYTphdHRyaWJ1dGUgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxIGRpYTphdHRyaWJ1dGUgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgCis0IDEgZGlhOnBvaW50IDEgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMTUgZGlhOmF0dHJpYnV0ZSAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDEgZGlhOmF0dHJpYnV0ZSAwIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgICAKKzQgMSBkaWE6cmVhbCAxIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDE1IGRpYTphdHRyaWJ1dGUgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxIGRpYTphdHRyaWJ1dGUgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgCis0IDEgZGlhOnJlYWwgMSAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxNSBkaWE6YXR0cmlidXRlIDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMSBkaWE6YXR0cmlidXRlIDAgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAgIAorNCAxIGRpYTpyZWFsIDEgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMTUgZGlhOmF0dHJpYnV0ZSAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDEgZGlhOmF0dHJpYnV0ZSAwIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgICAKKzQgMSBkaWE6Y29sb3IgMSAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxNSBkaWE6YXR0cmlidXRlIDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMSBkaWE6YXR0cmlidXRlIDAgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAgIAorNCAxIGRpYTpjb2xvciAxIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDE1IGRpYTphdHRyaWJ1dGUgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxIGRpYTphdHRyaWJ1dGUgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgCis0IDEgZGlhOmVudW0gMSAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxNSBkaWE6YXR0cmlidXRlIDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgCisyIDE1IGRpYTpvYmplY3QgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDE1IGRpYTpsYXllciAwIDAKKzEgMTQgI3RleHQgMCAxIAorCiswIDE1IGRpYTpkaWFncmFtIDAgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZGlhMS5yZHIgYi9saWJ4bWwyL3Jlc3VsdC9kaWExLnJkcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNzY3MzI1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZGlhMS5yZHIKQEAgLTAsMCArMSwyOTIgQEAKKzAgMSBkaWE6ZGlhZ3JhbSAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKzEgMSBkaWE6ZGlhZ3JhbWRhdGEgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBkaWE6YXR0cmlidXRlIDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMSBkaWE6Y29sb3IgMSAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMTUgZGlhOmF0dHJpYnV0ZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzEgMTUgZGlhOmRpYWdyYW1kYXRhIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSAxIGRpYTpsYXllciAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGRpYTpvYmplY3QgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxIGRpYTphdHRyaWJ1dGUgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgCis0IDEgZGlhOnBvaW50IDEgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMTUgZGlhOmF0dHJpYnV0ZSAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDEgZGlhOmF0dHJpYnV0ZSAwIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgICAKKzQgMSBkaWE6cmVjdGFuZ2xlIDEgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMTUgZGlhOmF0dHJpYnV0ZSAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDEgZGlhOmF0dHJpYnV0ZSAwIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgICAKKzQgMSBkaWE6cG9pbnQgMSAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgCis0IDEgZGlhOnBvaW50IDEgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMTUgZGlhOmF0dHJpYnV0ZSAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDEgZGlhOmF0dHJpYnV0ZSAwIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgICAKKzQgMSBkaWE6Y29sb3IgMSAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxNSBkaWE6YXR0cmlidXRlIDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMSBkaWE6YXR0cmlidXRlIDAgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAgIAorNCAxIGRpYTpyZWFsIDEgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMTUgZGlhOmF0dHJpYnV0ZSAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDEgZGlhOmF0dHJpYnV0ZSAwIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgICAKKzQgMSBkaWE6ZW51bSAxIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDE1IGRpYTphdHRyaWJ1dGUgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxIGRpYTphdHRyaWJ1dGUgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgCis0IDEgZGlhOmVudW0gMSAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxNSBkaWE6YXR0cmlidXRlIDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMSBkaWE6YXR0cmlidXRlIDAgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAgIAorNCAxIGRpYTplbnVtIDEgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMTUgZGlhOmF0dHJpYnV0ZSAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDEgZGlhOmNvbm5lY3Rpb25zIDAgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAgIAorNCAxIGRpYTpjb25uZWN0aW9uIDEgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMTUgZGlhOmNvbm5lY3Rpb25zIDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgCisyIDE1IGRpYTpvYmplY3QgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBkaWE6b2JqZWN0IDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMSBkaWE6YXR0cmlidXRlIDAgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAgIAorNCAxIGRpYTpwb2ludCAxIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDE1IGRpYTphdHRyaWJ1dGUgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxIGRpYTphdHRyaWJ1dGUgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgCis0IDEgZGlhOnJlY3RhbmdsZSAxIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDE1IGRpYTphdHRyaWJ1dGUgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxIGRpYTphdHRyaWJ1dGUgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgCis0IDEgZGlhOmNvbXBvc2l0ZSAwIDAKKzUgMTQgI3RleHQgMCAxIAorICAgICAgICAgIAorNSAxIGRpYTphdHRyaWJ1dGUgMCAwCis2IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgICAgIAorNiAxIGRpYTpzdHJpbmcgMSAwCis2IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgICAKKzUgMTUgZGlhOmF0dHJpYnV0ZSAwIDAKKzUgMTQgI3RleHQgMCAxIAorICAgICAgICAgIAorNSAxIGRpYTphdHRyaWJ1dGUgMCAwCis2IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgICAgIAorNiAxIGRpYTpmb250IDEgMAorNiAxNCAjdGV4dCAwIDEgCisgICAgICAgICAgCis1IDE1IGRpYTphdHRyaWJ1dGUgMCAwCis1IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgICAKKzUgMSBkaWE6YXR0cmlidXRlIDAgMAorNiAxNCAjdGV4dCAwIDEgCisgICAgICAgICAgICAKKzYgMSBkaWE6cmVhbCAxIDAKKzYgMTQgI3RleHQgMCAxIAorICAgICAgICAgIAorNSAxNSBkaWE6YXR0cmlidXRlIDAgMAorNSAxNCAjdGV4dCAwIDEgCisgICAgICAgICAgCis1IDEgZGlhOmF0dHJpYnV0ZSAwIDAKKzYgMTQgI3RleHQgMCAxIAorICAgICAgICAgICAgCis2IDEgZGlhOnBvaW50IDEgMAorNiAxNCAjdGV4dCAwIDEgCisgICAgICAgICAgCis1IDE1IGRpYTphdHRyaWJ1dGUgMCAwCis1IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgICAKKzUgMSBkaWE6YXR0cmlidXRlIDAgMAorNiAxNCAjdGV4dCAwIDEgCisgICAgICAgICAgICAKKzYgMSBkaWE6Y29sb3IgMSAwCis2IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgICAKKzUgMTUgZGlhOmF0dHJpYnV0ZSAwIDAKKzUgMTQgI3RleHQgMCAxIAorICAgICAgICAgIAorNSAxIGRpYTphdHRyaWJ1dGUgMCAwCis2IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgICAgIAorNiAxIGRpYTplbnVtIDEgMAorNiAxNCAjdGV4dCAwIDEgCisgICAgICAgICAgCis1IDE1IGRpYTphdHRyaWJ1dGUgMCAwCis1IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgCis0IDE1IGRpYTpjb21wb3NpdGUgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxNSBkaWE6YXR0cmlidXRlIDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgCisyIDE1IGRpYTpvYmplY3QgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBkaWE6b2JqZWN0IDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMSBkaWE6YXR0cmlidXRlIDAgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAgIAorNCAxIGRpYTpwb2ludCAxIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDE1IGRpYTphdHRyaWJ1dGUgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxIGRpYTphdHRyaWJ1dGUgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgCis0IDEgZGlhOnJlY3RhbmdsZSAxIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDE1IGRpYTphdHRyaWJ1dGUgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxIGRpYTphdHRyaWJ1dGUgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgCis0IDEgZGlhOnBvaW50IDEgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMTUgZGlhOmF0dHJpYnV0ZSAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDEgZGlhOmF0dHJpYnV0ZSAwIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgICAKKzQgMSBkaWE6cmVhbCAxIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDE1IGRpYTphdHRyaWJ1dGUgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxIGRpYTphdHRyaWJ1dGUgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgCis0IDEgZGlhOnJlYWwgMSAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxNSBkaWE6YXR0cmlidXRlIDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMSBkaWE6YXR0cmlidXRlIDAgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAgIAorNCAxIGRpYTpyZWFsIDEgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMTUgZGlhOmF0dHJpYnV0ZSAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDEgZGlhOmF0dHJpYnV0ZSAwIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgICAKKzQgMSBkaWE6Y29sb3IgMSAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxNSBkaWE6YXR0cmlidXRlIDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMSBkaWE6YXR0cmlidXRlIDAgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAgIAorNCAxIGRpYTpjb2xvciAxIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDE1IGRpYTphdHRyaWJ1dGUgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxIGRpYTphdHRyaWJ1dGUgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgCis0IDEgZGlhOmVudW0gMSAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxNSBkaWE6YXR0cmlidXRlIDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgCisyIDE1IGRpYTpvYmplY3QgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDE1IGRpYTpsYXllciAwIDAKKzEgMTQgI3RleHQgMCAxIAorCiswIDE1IGRpYTpkaWFncmFtIDAgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZGlhMS5zYXggYi9saWJ4bWwyL3Jlc3VsdC9kaWExLnNheApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZjY1ZDYzCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZGlhMS5zYXgKQEAgLTAsMCArMSwzMjMgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLnN0YXJ0RWxlbWVudChkaWE6ZGlhZ3JhbSwgeG1sbnM6ZGlhPSdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQoZGlhOmRpYWdyYW1kYXRhKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChkaWE6YXR0cmlidXRlLCBuYW1lPSdiYWNrZ3JvdW5kJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLnN0YXJ0RWxlbWVudChkaWE6Y29sb3IsIHZhbD0nI2ZmZmZmZicpCitTQVguZW5kRWxlbWVudChkaWE6Y29sb3IpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguZW5kRWxlbWVudChkaWE6YXR0cmlidXRlKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5lbmRFbGVtZW50KGRpYTpkaWFncmFtZGF0YSkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KGRpYTpsYXllciwgbmFtZT0nQmFja2dyb3VuZCcsIHZpc2libGU9J3RydWUnKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChkaWE6b2JqZWN0LCB0eXBlPSdTdGFuZGFyZCAtIExpbmUnLCB2ZXJzaW9uPScwJywgaWQ9J08wJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLnN0YXJ0RWxlbWVudChkaWE6YXR0cmlidXRlLCBuYW1lPSdvYmpfcG9zJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAsIDkpCitTQVguc3RhcnRFbGVtZW50KGRpYTpwb2ludCwgdmFsPScxLjk1LDYuODUnKQorU0FYLmVuZEVsZW1lbnQoZGlhOnBvaW50KQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguZW5kRWxlbWVudChkaWE6YXR0cmlidXRlKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguc3RhcnRFbGVtZW50KGRpYTphdHRyaWJ1dGUsIG5hbWU9J29ial9iYicpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgLCA5KQorU0FYLnN0YXJ0RWxlbWVudChkaWE6cmVjdGFuZ2xlLCB2YWw9JzEuOSw2Ljg7MTEsOC41NScpCitTQVguZW5kRWxlbWVudChkaWE6cmVjdGFuZ2xlKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguZW5kRWxlbWVudChkaWE6YXR0cmlidXRlKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguc3RhcnRFbGVtZW50KGRpYTphdHRyaWJ1dGUsIG5hbWU9J2Nvbm5fZW5kcG9pbnRzJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAsIDkpCitTQVguc3RhcnRFbGVtZW50KGRpYTpwb2ludCwgdmFsPScxLjk1LDYuODUnKQorU0FYLmVuZEVsZW1lbnQoZGlhOnBvaW50KQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5zdGFydEVsZW1lbnQoZGlhOnBvaW50LCB2YWw9JzEwLjk1LDguNScpCitTQVguZW5kRWxlbWVudChkaWE6cG9pbnQpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5lbmRFbGVtZW50KGRpYTphdHRyaWJ1dGUpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5zdGFydEVsZW1lbnQoZGlhOmF0dHJpYnV0ZSwgbmFtZT0nbGluZV9jb2xvcicpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgLCA5KQorU0FYLnN0YXJ0RWxlbWVudChkaWE6Y29sb3IsIHZhbD0nIzAwMDAwMCcpCitTQVguZW5kRWxlbWVudChkaWE6Y29sb3IpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5lbmRFbGVtZW50KGRpYTphdHRyaWJ1dGUpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5zdGFydEVsZW1lbnQoZGlhOmF0dHJpYnV0ZSwgbmFtZT0nbGluZV93aWR0aCcpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgLCA5KQorU0FYLnN0YXJ0RWxlbWVudChkaWE6cmVhbCwgdmFsPScwLjEnKQorU0FYLmVuZEVsZW1lbnQoZGlhOnJlYWwpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5lbmRFbGVtZW50KGRpYTphdHRyaWJ1dGUpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5zdGFydEVsZW1lbnQoZGlhOmF0dHJpYnV0ZSwgbmFtZT0nbGluZV9zdHlsZScpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgLCA5KQorU0FYLnN0YXJ0RWxlbWVudChkaWE6ZW51bSwgdmFsPScwJykKK1NBWC5lbmRFbGVtZW50KGRpYTplbnVtKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguZW5kRWxlbWVudChkaWE6YXR0cmlidXRlKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguc3RhcnRFbGVtZW50KGRpYTphdHRyaWJ1dGUsIG5hbWU9J3N0YXJ0X2Fycm93JykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAsIDkpCitTQVguc3RhcnRFbGVtZW50KGRpYTplbnVtLCB2YWw9JzAnKQorU0FYLmVuZEVsZW1lbnQoZGlhOmVudW0pCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5lbmRFbGVtZW50KGRpYTphdHRyaWJ1dGUpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5zdGFydEVsZW1lbnQoZGlhOmF0dHJpYnV0ZSwgbmFtZT0nZW5kX2Fycm93JykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAsIDkpCitTQVguc3RhcnRFbGVtZW50KGRpYTplbnVtLCB2YWw9JzAnKQorU0FYLmVuZEVsZW1lbnQoZGlhOmVudW0pCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5lbmRFbGVtZW50KGRpYTphdHRyaWJ1dGUpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5zdGFydEVsZW1lbnQoZGlhOmNvbm5lY3Rpb25zKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5zdGFydEVsZW1lbnQoZGlhOmNvbm5lY3Rpb24sIGhhbmRsZT0nMScsIHRvPSdPMicsIGNvbm5lY3Rpb249JzMnKQorU0FYLmVuZEVsZW1lbnQoZGlhOmNvbm5lY3Rpb24pCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5lbmRFbGVtZW50KGRpYTpjb25uZWN0aW9ucykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5lbmRFbGVtZW50KGRpYTpvYmplY3QpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KGRpYTpvYmplY3QsIHR5cGU9J1N0YW5kYXJkIC0gVGV4dCcsIHZlcnNpb249JzAnLCBpZD0nTzEnKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguc3RhcnRFbGVtZW50KGRpYTphdHRyaWJ1dGUsIG5hbWU9J29ial9wb3MnKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5zdGFydEVsZW1lbnQoZGlhOnBvaW50LCB2YWw9JzQuOCw0Ljc1JykKK1NBWC5lbmRFbGVtZW50KGRpYTpwb2ludCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLmVuZEVsZW1lbnQoZGlhOmF0dHJpYnV0ZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLnN0YXJ0RWxlbWVudChkaWE6YXR0cmlidXRlLCBuYW1lPSdvYmpfYmInKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5zdGFydEVsZW1lbnQoZGlhOnJlY3RhbmdsZSwgdmFsPScyLjU3OSwzLjk2MzU5OzcuMDIxLDQuOTYzNTknKQorU0FYLmVuZEVsZW1lbnQoZGlhOnJlY3RhbmdsZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLmVuZEVsZW1lbnQoZGlhOmF0dHJpYnV0ZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLnN0YXJ0RWxlbWVudChkaWE6YXR0cmlidXRlLCBuYW1lPSd0ZXh0JykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAsIDkpCitTQVguc3RhcnRFbGVtZW50KGRpYTpjb21wb3NpdGUsIHR5cGU9J3RleHQnKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICAgLCAxMSkKK1NBWC5zdGFydEVsZW1lbnQoZGlhOmF0dHJpYnV0ZSwgbmFtZT0nc3RyaW5nJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAgICAgLCAxMykKK1NBWC5zdGFydEVsZW1lbnQoZGlhOnN0cmluZywgdmFsPSdzZGZzZGZnJykKK1NBWC5lbmRFbGVtZW50KGRpYTpzdHJpbmcpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgICAsIDExKQorU0FYLmVuZEVsZW1lbnQoZGlhOmF0dHJpYnV0ZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAgICwgMTEpCitTQVguc3RhcnRFbGVtZW50KGRpYTphdHRyaWJ1dGUsIG5hbWU9J2ZvbnQnKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICAgICAsIDEzKQorU0FYLnN0YXJ0RWxlbWVudChkaWE6Zm9udCwgbmFtZT0nQ291cmllcicpCitTQVguZW5kRWxlbWVudChkaWE6Zm9udCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAgICwgMTEpCitTQVguZW5kRWxlbWVudChkaWE6YXR0cmlidXRlKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICAgLCAxMSkKK1NBWC5zdGFydEVsZW1lbnQoZGlhOmF0dHJpYnV0ZSwgbmFtZT0naGVpZ2h0JykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAgICAgLCAxMykKK1NBWC5zdGFydEVsZW1lbnQoZGlhOnJlYWwsIHZhbD0nMScpCitTQVguZW5kRWxlbWVudChkaWE6cmVhbCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAgICwgMTEpCitTQVguZW5kRWxlbWVudChkaWE6YXR0cmlidXRlKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICAgLCAxMSkKK1NBWC5zdGFydEVsZW1lbnQoZGlhOmF0dHJpYnV0ZSwgbmFtZT0ncG9zJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAgICAgLCAxMykKK1NBWC5zdGFydEVsZW1lbnQoZGlhOnBvaW50LCB2YWw9JzQuOCw0Ljc1JykKK1NBWC5lbmRFbGVtZW50KGRpYTpwb2ludCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAgICwgMTEpCitTQVguZW5kRWxlbWVudChkaWE6YXR0cmlidXRlKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICAgLCAxMSkKK1NBWC5zdGFydEVsZW1lbnQoZGlhOmF0dHJpYnV0ZSwgbmFtZT0nY29sb3InKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICAgICAsIDEzKQorU0FYLnN0YXJ0RWxlbWVudChkaWE6Y29sb3IsIHZhbD0nIzAwMDAwMCcpCitTQVguZW5kRWxlbWVudChkaWE6Y29sb3IpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgICAsIDExKQorU0FYLmVuZEVsZW1lbnQoZGlhOmF0dHJpYnV0ZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAgICwgMTEpCitTQVguc3RhcnRFbGVtZW50KGRpYTphdHRyaWJ1dGUsIG5hbWU9J2FsaWdubWVudCcpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgICAgICwgMTMpCitTQVguc3RhcnRFbGVtZW50KGRpYTplbnVtLCB2YWw9JzEnKQorU0FYLmVuZEVsZW1lbnQoZGlhOmVudW0pCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgICAsIDExKQorU0FYLmVuZEVsZW1lbnQoZGlhOmF0dHJpYnV0ZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAsIDkpCitTQVguZW5kRWxlbWVudChkaWE6Y29tcG9zaXRlKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguZW5kRWxlbWVudChkaWE6YXR0cmlidXRlKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLmVuZEVsZW1lbnQoZGlhOm9iamVjdCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoZGlhOm9iamVjdCwgdHlwZT0nU3RhbmRhcmQgLSBCb3gnLCB2ZXJzaW9uPScwJywgaWQ9J08yJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLnN0YXJ0RWxlbWVudChkaWE6YXR0cmlidXRlLCBuYW1lPSdvYmpfcG9zJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAsIDkpCitTQVguc3RhcnRFbGVtZW50KGRpYTpwb2ludCwgdmFsPScxMC45NSw3LjUnKQorU0FYLmVuZEVsZW1lbnQoZGlhOnBvaW50KQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguZW5kRWxlbWVudChkaWE6YXR0cmlidXRlKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguc3RhcnRFbGVtZW50KGRpYTphdHRyaWJ1dGUsIG5hbWU9J29ial9iYicpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgLCA5KQorU0FYLnN0YXJ0RWxlbWVudChkaWE6cmVjdGFuZ2xlLCB2YWw9JzEwLjksNy40NTsxMy4wNSw5LjU1JykKK1NBWC5lbmRFbGVtZW50KGRpYTpyZWN0YW5nbGUpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5lbmRFbGVtZW50KGRpYTphdHRyaWJ1dGUpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5zdGFydEVsZW1lbnQoZGlhOmF0dHJpYnV0ZSwgbmFtZT0nZWxlbV9jb3JuZXInKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5zdGFydEVsZW1lbnQoZGlhOnBvaW50LCB2YWw9JzEwLjk1LDcuNScpCitTQVguZW5kRWxlbWVudChkaWE6cG9pbnQpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5lbmRFbGVtZW50KGRpYTphdHRyaWJ1dGUpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5zdGFydEVsZW1lbnQoZGlhOmF0dHJpYnV0ZSwgbmFtZT0nZWxlbV93aWR0aCcpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgLCA5KQorU0FYLnN0YXJ0RWxlbWVudChkaWE6cmVhbCwgdmFsPScyLjA1JykKK1NBWC5lbmRFbGVtZW50KGRpYTpyZWFsKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguZW5kRWxlbWVudChkaWE6YXR0cmlidXRlKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguc3RhcnRFbGVtZW50KGRpYTphdHRyaWJ1dGUsIG5hbWU9J2VsZW1faGVpZ2h0JykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAsIDkpCitTQVguc3RhcnRFbGVtZW50KGRpYTpyZWFsLCB2YWw9JzInKQorU0FYLmVuZEVsZW1lbnQoZGlhOnJlYWwpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5lbmRFbGVtZW50KGRpYTphdHRyaWJ1dGUpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5zdGFydEVsZW1lbnQoZGlhOmF0dHJpYnV0ZSwgbmFtZT0nYm9yZGVyX3dpZHRoJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAsIDkpCitTQVguc3RhcnRFbGVtZW50KGRpYTpyZWFsLCB2YWw9JzAuMScpCitTQVguZW5kRWxlbWVudChkaWE6cmVhbCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLmVuZEVsZW1lbnQoZGlhOmF0dHJpYnV0ZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLnN0YXJ0RWxlbWVudChkaWE6YXR0cmlidXRlLCBuYW1lPSdib3JkZXJfY29sb3InKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5zdGFydEVsZW1lbnQoZGlhOmNvbG9yLCB2YWw9JyMwMDAwMDAnKQorU0FYLmVuZEVsZW1lbnQoZGlhOmNvbG9yKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguZW5kRWxlbWVudChkaWE6YXR0cmlidXRlKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguc3RhcnRFbGVtZW50KGRpYTphdHRyaWJ1dGUsIG5hbWU9J2lubmVyX2NvbG9yJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAsIDkpCitTQVguc3RhcnRFbGVtZW50KGRpYTpjb2xvciwgdmFsPScjZmZmZmZmJykKK1NBWC5lbmRFbGVtZW50KGRpYTpjb2xvcikKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLmVuZEVsZW1lbnQoZGlhOmF0dHJpYnV0ZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLnN0YXJ0RWxlbWVudChkaWE6YXR0cmlidXRlLCBuYW1lPSdsaW5lX3N0eWxlJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAsIDkpCitTQVguc3RhcnRFbGVtZW50KGRpYTplbnVtLCB2YWw9JzAnKQorU0FYLmVuZEVsZW1lbnQoZGlhOmVudW0pCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5lbmRFbGVtZW50KGRpYTphdHRyaWJ1dGUpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguZW5kRWxlbWVudChkaWE6b2JqZWN0KQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5lbmRFbGVtZW50KGRpYTpsYXllcikKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmVuZEVsZW1lbnQoZGlhOmRpYWdyYW0pCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZGlhMS5zYXgyIGIvbGlieG1sMi9yZXN1bHQvZGlhMS5zYXgyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ4MjFjOWIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kaWExLnNheDIKQEAgLTAsMCArMSwzMjMgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLnN0YXJ0RWxlbWVudE5zKGRpYWdyYW0sIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycsIDEsIHhtbG5zOmRpYT0naHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJywgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMoZGlhZ3JhbWRhdGEsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoYXR0cmlidXRlLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nLCAwLCAxLCAwLCBuYW1lPSdiYWNrLi4uJywgMTApCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5zdGFydEVsZW1lbnROcyhjb2xvciwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJywgMCwgMSwgMCwgdmFsPScjZmZmLi4uJywgNykKK1NBWC5lbmRFbGVtZW50TnMoY29sb3IsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguZW5kRWxlbWVudE5zKGF0dHJpYnV0ZSwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguZW5kRWxlbWVudE5zKGRpYWdyYW1kYXRhLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhsYXllciwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJywgMCwgMiwgMCwgbmFtZT0nQmFjay4uLicsIDEwLCB2aXNpYmxlPSd0cnVlLi4uJywgNCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhvYmplY3QsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycsIDAsIDMsIDAsIHR5cGU9J1N0YW4uLi4nLCAxNSwgdmVyc2lvbj0nMCIgaS4uLicsIDEsIGlkPSdPMCI+Li4uJywgMikKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLnN0YXJ0RWxlbWVudE5zKGF0dHJpYnV0ZSwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJywgMCwgMSwgMCwgbmFtZT0nb2JqXy4uLicsIDcpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgLCA5KQorU0FYLnN0YXJ0RWxlbWVudE5zKHBvaW50LCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nLCAwLCAxLCAwLCB2YWw9JzEuOTUuLi4nLCA5KQorU0FYLmVuZEVsZW1lbnROcyhwb2ludCwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLmVuZEVsZW1lbnROcyhhdHRyaWJ1dGUsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5zdGFydEVsZW1lbnROcyhhdHRyaWJ1dGUsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycsIDAsIDEsIDAsIG5hbWU9J29ial8uLi4nLCA2KQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5zdGFydEVsZW1lbnROcyhyZWN0YW5nbGUsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycsIDAsIDEsIDAsIHZhbD0nMS45LC4uLicsIDE1KQorU0FYLmVuZEVsZW1lbnROcyhyZWN0YW5nbGUsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5lbmRFbGVtZW50TnMoYXR0cmlidXRlLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguc3RhcnRFbGVtZW50TnMoYXR0cmlidXRlLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nLCAwLCAxLCAwLCBuYW1lPSdjb25uLi4uJywgMTQpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgLCA5KQorU0FYLnN0YXJ0RWxlbWVudE5zKHBvaW50LCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nLCAwLCAxLCAwLCB2YWw9JzEuOTUuLi4nLCA5KQorU0FYLmVuZEVsZW1lbnROcyhwb2ludCwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAsIDkpCitTQVguc3RhcnRFbGVtZW50TnMocG9pbnQsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycsIDAsIDEsIDAsIHZhbD0nMTAuOS4uLicsIDkpCitTQVguZW5kRWxlbWVudE5zKHBvaW50LCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguZW5kRWxlbWVudE5zKGF0dHJpYnV0ZSwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLnN0YXJ0RWxlbWVudE5zKGF0dHJpYnV0ZSwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJywgMCwgMSwgMCwgbmFtZT0nbGluZS4uLicsIDEwKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5zdGFydEVsZW1lbnROcyhjb2xvciwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJywgMCwgMSwgMCwgdmFsPScjMDAwLi4uJywgNykKK1NBWC5lbmRFbGVtZW50TnMoY29sb3IsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5lbmRFbGVtZW50TnMoYXR0cmlidXRlLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguc3RhcnRFbGVtZW50TnMoYXR0cmlidXRlLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nLCAwLCAxLCAwLCBuYW1lPSdsaW5lLi4uJywgMTApCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgLCA5KQorU0FYLnN0YXJ0RWxlbWVudE5zKHJlYWwsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycsIDAsIDEsIDAsIHZhbD0nMC4xIi4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHJlYWwsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5lbmRFbGVtZW50TnMoYXR0cmlidXRlLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguc3RhcnRFbGVtZW50TnMoYXR0cmlidXRlLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nLCAwLCAxLCAwLCBuYW1lPSdsaW5lLi4uJywgMTApCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgLCA5KQorU0FYLnN0YXJ0RWxlbWVudE5zKGVudW0sIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycsIDAsIDEsIDAsIHZhbD0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKGVudW0sIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5lbmRFbGVtZW50TnMoYXR0cmlidXRlLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguc3RhcnRFbGVtZW50TnMoYXR0cmlidXRlLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nLCAwLCAxLCAwLCBuYW1lPSdzdGFyLi4uJywgMTEpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgLCA5KQorU0FYLnN0YXJ0RWxlbWVudE5zKGVudW0sIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycsIDAsIDEsIDAsIHZhbD0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKGVudW0sIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5lbmRFbGVtZW50TnMoYXR0cmlidXRlLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguc3RhcnRFbGVtZW50TnMoYXR0cmlidXRlLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nLCAwLCAxLCAwLCBuYW1lPSdlbmRfLi4uJywgOSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAsIDkpCitTQVguc3RhcnRFbGVtZW50TnMoZW51bSwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJywgMCwgMSwgMCwgdmFsPScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnMoZW51bSwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLmVuZEVsZW1lbnROcyhhdHRyaWJ1dGUsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5zdGFydEVsZW1lbnROcyhjb25uZWN0aW9ucywgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAsIDkpCitTQVguc3RhcnRFbGVtZW50TnMoY29ubmVjdGlvbiwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJywgMCwgMywgMCwgaGFuZGxlPScxIiB0Li4uJywgMSwgdG89J08yIiAuLi4nLCAyLCBjb25uZWN0aW9uPSczIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnMoY29ubmVjdGlvbiwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLmVuZEVsZW1lbnROcyhjb25uZWN0aW9ucywgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5lbmRFbGVtZW50TnMob2JqZWN0LCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKG9iamVjdCwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJywgMCwgMywgMCwgdHlwZT0nU3Rhbi4uLicsIDE1LCB2ZXJzaW9uPScwIiBpLi4uJywgMSwgaWQ9J08xIj4uLi4nLCAyKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguc3RhcnRFbGVtZW50TnMoYXR0cmlidXRlLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nLCAwLCAxLCAwLCBuYW1lPSdvYmpfLi4uJywgNykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAsIDkpCitTQVguc3RhcnRFbGVtZW50TnMocG9pbnQsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycsIDAsIDEsIDAsIHZhbD0nNC44LC4uLicsIDgpCitTQVguZW5kRWxlbWVudE5zKHBvaW50LCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguZW5kRWxlbWVudE5zKGF0dHJpYnV0ZSwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLnN0YXJ0RWxlbWVudE5zKGF0dHJpYnV0ZSwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJywgMCwgMSwgMCwgbmFtZT0nb2JqXy4uLicsIDYpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgLCA5KQorU0FYLnN0YXJ0RWxlbWVudE5zKHJlY3RhbmdsZSwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJywgMCwgMSwgMCwgdmFsPScyLjU3Li4uJywgMjcpCitTQVguZW5kRWxlbWVudE5zKHJlY3RhbmdsZSwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLmVuZEVsZW1lbnROcyhhdHRyaWJ1dGUsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5zdGFydEVsZW1lbnROcyhhdHRyaWJ1dGUsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycsIDAsIDEsIDAsIG5hbWU9J3RleHQuLi4nLCA0KQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5zdGFydEVsZW1lbnROcyhjb21wb3NpdGUsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycsIDAsIDEsIDAsIHR5cGU9J3RleHQuLi4nLCA0KQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICAgLCAxMSkKK1NBWC5zdGFydEVsZW1lbnROcyhhdHRyaWJ1dGUsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycsIDAsIDEsIDAsIG5hbWU9J3N0cmkuLi4nLCA2KQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICAgICAsIDEzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHN0cmluZywgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJywgMCwgMSwgMCwgdmFsPSdzZGZzLi4uJywgNykKK1NBWC5lbmRFbGVtZW50TnMoc3RyaW5nLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICAgLCAxMSkKK1NBWC5lbmRFbGVtZW50TnMoYXR0cmlidXRlLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICAgLCAxMSkKK1NBWC5zdGFydEVsZW1lbnROcyhhdHRyaWJ1dGUsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycsIDAsIDEsIDAsIG5hbWU9J2ZvbnQuLi4nLCA0KQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICAgICAsIDEzKQorU0FYLnN0YXJ0RWxlbWVudE5zKGZvbnQsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycsIDAsIDEsIDAsIG5hbWU9J0NvdXIuLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyhmb250LCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICAgLCAxMSkKK1NBWC5lbmRFbGVtZW50TnMoYXR0cmlidXRlLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICAgLCAxMSkKK1NBWC5zdGFydEVsZW1lbnROcyhhdHRyaWJ1dGUsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycsIDAsIDEsIDAsIG5hbWU9J2hlaWcuLi4nLCA2KQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICAgICAsIDEzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHJlYWwsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycsIDAsIDEsIDAsIHZhbD0nMSIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHJlYWwsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgICAsIDExKQorU0FYLmVuZEVsZW1lbnROcyhhdHRyaWJ1dGUsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgICAsIDExKQorU0FYLnN0YXJ0RWxlbWVudE5zKGF0dHJpYnV0ZSwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJywgMCwgMSwgMCwgbmFtZT0ncG9zIi4uLicsIDMpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgICAgICwgMTMpCitTQVguc3RhcnRFbGVtZW50TnMocG9pbnQsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycsIDAsIDEsIDAsIHZhbD0nNC44LC4uLicsIDgpCitTQVguZW5kRWxlbWVudE5zKHBvaW50LCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICAgLCAxMSkKK1NBWC5lbmRFbGVtZW50TnMoYXR0cmlidXRlLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICAgLCAxMSkKK1NBWC5zdGFydEVsZW1lbnROcyhhdHRyaWJ1dGUsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycsIDAsIDEsIDAsIG5hbWU9J2NvbG8uLi4nLCA1KQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICAgICAsIDEzKQorU0FYLnN0YXJ0RWxlbWVudE5zKGNvbG9yLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nLCAwLCAxLCAwLCB2YWw9JyMwMDAuLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyhjb2xvciwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAgICwgMTEpCitTQVguZW5kRWxlbWVudE5zKGF0dHJpYnV0ZSwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAgICwgMTEpCitTQVguc3RhcnRFbGVtZW50TnMoYXR0cmlidXRlLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nLCAwLCAxLCAwLCBuYW1lPSdhbGlnLi4uJywgOSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAgICAgLCAxMykKK1NBWC5zdGFydEVsZW1lbnROcyhlbnVtLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nLCAwLCAxLCAwLCB2YWw9JzEiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyhlbnVtLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICAgLCAxMSkKK1NBWC5lbmRFbGVtZW50TnMoYXR0cmlidXRlLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5lbmRFbGVtZW50TnMoY29tcG9zaXRlLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguZW5kRWxlbWVudE5zKGF0dHJpYnV0ZSwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5lbmRFbGVtZW50TnMob2JqZWN0LCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKG9iamVjdCwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJywgMCwgMywgMCwgdHlwZT0nU3Rhbi4uLicsIDE0LCB2ZXJzaW9uPScwIiBpLi4uJywgMSwgaWQ9J08yIj4uLi4nLCAyKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguc3RhcnRFbGVtZW50TnMoYXR0cmlidXRlLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nLCAwLCAxLCAwLCBuYW1lPSdvYmpfLi4uJywgNykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAsIDkpCitTQVguc3RhcnRFbGVtZW50TnMocG9pbnQsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycsIDAsIDEsIDAsIHZhbD0nMTAuOS4uLicsIDkpCitTQVguZW5kRWxlbWVudE5zKHBvaW50LCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguZW5kRWxlbWVudE5zKGF0dHJpYnV0ZSwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLnN0YXJ0RWxlbWVudE5zKGF0dHJpYnV0ZSwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJywgMCwgMSwgMCwgbmFtZT0nb2JqXy4uLicsIDYpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgLCA5KQorU0FYLnN0YXJ0RWxlbWVudE5zKHJlY3RhbmdsZSwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJywgMCwgMSwgMCwgdmFsPScxMC45Li4uJywgMjApCitTQVguZW5kRWxlbWVudE5zKHJlY3RhbmdsZSwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLmVuZEVsZW1lbnROcyhhdHRyaWJ1dGUsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5zdGFydEVsZW1lbnROcyhhdHRyaWJ1dGUsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycsIDAsIDEsIDAsIG5hbWU9J2VsZW0uLi4nLCAxMSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAsIDkpCitTQVguc3RhcnRFbGVtZW50TnMocG9pbnQsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycsIDAsIDEsIDAsIHZhbD0nMTAuOS4uLicsIDkpCitTQVguZW5kRWxlbWVudE5zKHBvaW50LCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguZW5kRWxlbWVudE5zKGF0dHJpYnV0ZSwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLnN0YXJ0RWxlbWVudE5zKGF0dHJpYnV0ZSwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJywgMCwgMSwgMCwgbmFtZT0nZWxlbS4uLicsIDEwKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5zdGFydEVsZW1lbnROcyhyZWFsLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nLCAwLCAxLCAwLCB2YWw9JzIuMDUuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyhyZWFsLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguZW5kRWxlbWVudE5zKGF0dHJpYnV0ZSwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLnN0YXJ0RWxlbWVudE5zKGF0dHJpYnV0ZSwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJywgMCwgMSwgMCwgbmFtZT0nZWxlbS4uLicsIDExKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5zdGFydEVsZW1lbnROcyhyZWFsLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nLCAwLCAxLCAwLCB2YWw9JzIiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyhyZWFsLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguZW5kRWxlbWVudE5zKGF0dHJpYnV0ZSwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLnN0YXJ0RWxlbWVudE5zKGF0dHJpYnV0ZSwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJywgMCwgMSwgMCwgbmFtZT0nYm9yZC4uLicsIDEyKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5zdGFydEVsZW1lbnROcyhyZWFsLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nLCAwLCAxLCAwLCB2YWw9JzAuMSIuLi4nLCAzKQorU0FYLmVuZEVsZW1lbnROcyhyZWFsLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguZW5kRWxlbWVudE5zKGF0dHJpYnV0ZSwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLnN0YXJ0RWxlbWVudE5zKGF0dHJpYnV0ZSwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJywgMCwgMSwgMCwgbmFtZT0nYm9yZC4uLicsIDEyKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5zdGFydEVsZW1lbnROcyhjb2xvciwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJywgMCwgMSwgMCwgdmFsPScjMDAwLi4uJywgNykKK1NBWC5lbmRFbGVtZW50TnMoY29sb3IsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5lbmRFbGVtZW50TnMoYXR0cmlidXRlLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguc3RhcnRFbGVtZW50TnMoYXR0cmlidXRlLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nLCAwLCAxLCAwLCBuYW1lPSdpbm5lLi4uJywgMTEpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgLCA5KQorU0FYLnN0YXJ0RWxlbWVudE5zKGNvbG9yLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nLCAwLCAxLCAwLCB2YWw9JyNmZmYuLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyhjb2xvciwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLmVuZEVsZW1lbnROcyhhdHRyaWJ1dGUsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5zdGFydEVsZW1lbnROcyhhdHRyaWJ1dGUsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycsIDAsIDEsIDAsIG5hbWU9J2xpbmUuLi4nLCAxMCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAsIDkpCitTQVguc3RhcnRFbGVtZW50TnMoZW51bSwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJywgMCwgMSwgMCwgdmFsPScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnMoZW51bSwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLmVuZEVsZW1lbnROcyhhdHRyaWJ1dGUsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguZW5kRWxlbWVudE5zKG9iamVjdCwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguZW5kRWxlbWVudE5zKGxheWVyLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguZW5kRWxlbWVudE5zKGRpYWdyYW0sIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZGlhMiBiL2xpYnhtbDIvcmVzdWx0L2RpYTIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjA3YmQ3MwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2RpYTIKQEAgLTAsMCArMSw5OSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8ZGlhOmRpYWdyYW0geG1sbnM6ZGlhPSJodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8iPgorICA8ZGlhOmRpYWdyYW1kYXRhPgorICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9ImJhY2tncm91bmQiPgorICAgICAgPGRpYTpjb2xvciB2YWw9IiNmZmZmZmYiLz4KKyAgICA8L2RpYTphdHRyaWJ1dGU+CisgIDwvZGlhOmRpYWdyYW1kYXRhPgorICA8ZGlhOmxheWVyIG5hbWU9IkJhY2tncm91bmQiIHZpc2libGU9InRydWUiPgorICAgIDxkaWE6b2JqZWN0IHR5cGU9IlN0YW5kYXJkIC0gTGluZSIgdmVyc2lvbj0iMCIgaWQ9Ik8wIj4KKyAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9Im9ial9wb3MiPgorICAgICAgICA8ZGlhOnBvaW50IHZhbD0iMS45NSw2Ljg1Ii8+CisgICAgICA8L2RpYTphdHRyaWJ1dGU+CisgICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJvYmpfYmIiPgorICAgICAgICA8ZGlhOnJlY3RhbmdsZSB2YWw9IjEuOSw2Ljg7MTEsOC41NSIvPgorICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0iY29ubl9lbmRwb2ludHMiPgorICAgICAgICA8ZGlhOnBvaW50IHZhbD0iMS45NSw2Ljg1Ii8+CisgICAgICAgIDxkaWE6cG9pbnQgdmFsPSIxMC45NSw4LjUiLz4KKyAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9ImxpbmVfY29sb3IiPgorICAgICAgICA8ZGlhOmNvbG9yIHZhbD0iIzAwMDAwMCIvPgorICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0ibGluZV93aWR0aCI+CisgICAgICAgIDxkaWE6cmVhbCB2YWw9IjAuMSIvPgorICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0ibGluZV9zdHlsZSI+CisgICAgICAgIDxkaWE6ZW51bSB2YWw9IjAiLz4KKyAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9InN0YXJ0X2Fycm93Ij4KKyAgICAgICAgPGRpYTplbnVtIHZhbD0iMCIvPgorICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0iZW5kX2Fycm93Ij4KKyAgICAgICAgPGRpYTplbnVtIHZhbD0iMCIvPgorICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgICAgPGRpYTpjb25uZWN0aW9ucz4KKyAgICAgICAgPGRpYTpjb25uZWN0aW9uIGhhbmRsZT0iMSIgdG89Ik8yIiBjb25uZWN0aW9uPSIzIi8+CisgICAgICA8L2RpYTpjb25uZWN0aW9ucz4KKyAgICA8L2RpYTpvYmplY3Q+CisgICAgPGRpYTpvYmplY3QgdHlwZT0iU3RhbmRhcmQgLSBUZXh0IiB2ZXJzaW9uPSIwIiBpZD0iTzEiPgorICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0ib2JqX3BvcyI+CisgICAgICAgIDxkaWE6cG9pbnQgdmFsPSI0LjgsNC43NSIvPgorICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0ib2JqX2JiIj4KKyAgICAgICAgPGRpYTpyZWN0YW5nbGUgdmFsPSIyLjU3OSwzLjk2MzU5OzcuMDIxLDQuOTYzNTkiLz4KKyAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9InRleHQiPgorICAgICAgICA8ZGlhOmNvbXBvc2l0ZSB0eXBlPSJ0ZXh0Ij4KKyAgICAgICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJzdHJpbmciPgorICAgICAgICAgICAgPGRpYTpzdHJpbmcgdmFsPSJzZGZzZGZnIi8+CisgICAgICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgICAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9ImZvbnQiPgorICAgICAgICAgICAgPGRpYTpmb250IG5hbWU9IkNvdXJpZXIiLz4KKyAgICAgICAgICA8L2RpYTphdHRyaWJ1dGU+CisgICAgICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0iaGVpZ2h0Ij4KKyAgICAgICAgICAgIDxkaWE6cmVhbCB2YWw9IjEiLz4KKyAgICAgICAgICA8L2RpYTphdHRyaWJ1dGU+CisgICAgICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0icG9zIj4KKyAgICAgICAgICAgIDxkaWE6cG9pbnQgdmFsPSI0LjgsNC43NSIvPgorICAgICAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJjb2xvciI+CisgICAgICAgICAgICA8ZGlhOmNvbG9yIHZhbD0iIzAwMDAwMCIvPgorICAgICAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJhbGlnbm1lbnQiPgorICAgICAgICAgICAgPGRpYTplbnVtIHZhbD0iMSIvPgorICAgICAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgICAgPC9kaWE6Y29tcG9zaXRlPgorICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgIDwvZGlhOm9iamVjdD4KKyAgICA8ZGlhOm9iamVjdCB0eXBlPSJTdGFuZGFyZCAtIEJveCIgdmVyc2lvbj0iMCIgaWQ9Ik8yIj4KKyAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9Im9ial9wb3MiPgorICAgICAgICA8ZGlhOnBvaW50IHZhbD0iMTAuOTUsNy41Ii8+CisgICAgICA8L2RpYTphdHRyaWJ1dGU+CisgICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJvYmpfYmIiPgorICAgICAgICA8ZGlhOnJlY3RhbmdsZSB2YWw9IjEwLjksNy40NTsxMy4wNSw5LjU1Ii8+CisgICAgICA8L2RpYTphdHRyaWJ1dGU+CisgICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJlbGVtX2Nvcm5lciI+CisgICAgICAgIDxkaWE6cG9pbnQgdmFsPSIxMC45NSw3LjUiLz4KKyAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9ImVsZW1fd2lkdGgiPgorICAgICAgICA8ZGlhOnJlYWwgdmFsPSIyLjA1Ii8+CisgICAgICA8L2RpYTphdHRyaWJ1dGU+CisgICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJlbGVtX2hlaWdodCI+CisgICAgICAgIDxkaWE6cmVhbCB2YWw9IjIiLz4KKyAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9ImJvcmRlcl93aWR0aCI+CisgICAgICAgIDxkaWE6cmVhbCB2YWw9IjAuMSIvPgorICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0iYm9yZGVyX2NvbG9yIj4KKyAgICAgICAgPGRpYTpjb2xvciB2YWw9IiMwMDAwMDAiLz4KKyAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9ImlubmVyX2NvbG9yIj4KKyAgICAgICAgPGRpYTpjb2xvciB2YWw9IiNmZmZmZmYiLz4KKyAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9ImxpbmVfc3R5bGUiPgorICAgICAgICA8ZGlhOmVudW0gdmFsPSIwIi8+CisgICAgICA8L2RpYTphdHRyaWJ1dGU+CisgICAgPC9kaWE6b2JqZWN0PgorICA8L2RpYTpsYXllcj4KKzwvZGlhOmRpYWdyYW0+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9kaWEyLnJkZSBiL2xpYnhtbDIvcmVzdWx0L2RpYTIucmRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM3NjczMjUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kaWEyLnJkZQpAQCAtMCwwICsxLDI5MiBAQAorMCAxIGRpYTpkaWFncmFtIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSAxIGRpYTpkaWFncmFtZGF0YSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGRpYTphdHRyaWJ1dGUgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxIGRpYTpjb2xvciAxIDAKKzMgMTQgI3RleHQgMCAxIAorICAgIAorMiAxNSBkaWE6YXR0cmlidXRlIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMSAxNSBkaWE6ZGlhZ3JhbWRhdGEgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDEgZGlhOmxheWVyIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgZGlhOm9iamVjdCAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDEgZGlhOmF0dHJpYnV0ZSAwIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgICAKKzQgMSBkaWE6cG9pbnQgMSAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxNSBkaWE6YXR0cmlidXRlIDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMSBkaWE6YXR0cmlidXRlIDAgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAgIAorNCAxIGRpYTpyZWN0YW5nbGUgMSAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxNSBkaWE6YXR0cmlidXRlIDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMSBkaWE6YXR0cmlidXRlIDAgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAgIAorNCAxIGRpYTpwb2ludCAxIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgICAKKzQgMSBkaWE6cG9pbnQgMSAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxNSBkaWE6YXR0cmlidXRlIDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMSBkaWE6YXR0cmlidXRlIDAgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAgIAorNCAxIGRpYTpjb2xvciAxIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDE1IGRpYTphdHRyaWJ1dGUgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxIGRpYTphdHRyaWJ1dGUgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgCis0IDEgZGlhOnJlYWwgMSAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxNSBkaWE6YXR0cmlidXRlIDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMSBkaWE6YXR0cmlidXRlIDAgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAgIAorNCAxIGRpYTplbnVtIDEgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMTUgZGlhOmF0dHJpYnV0ZSAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDEgZGlhOmF0dHJpYnV0ZSAwIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgICAKKzQgMSBkaWE6ZW51bSAxIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDE1IGRpYTphdHRyaWJ1dGUgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxIGRpYTphdHRyaWJ1dGUgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgCis0IDEgZGlhOmVudW0gMSAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxNSBkaWE6YXR0cmlidXRlIDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMSBkaWE6Y29ubmVjdGlvbnMgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgCis0IDEgZGlhOmNvbm5lY3Rpb24gMSAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxNSBkaWE6Y29ubmVjdGlvbnMgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMTUgZGlhOm9iamVjdCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGRpYTpvYmplY3QgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxIGRpYTphdHRyaWJ1dGUgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgCis0IDEgZGlhOnBvaW50IDEgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMTUgZGlhOmF0dHJpYnV0ZSAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDEgZGlhOmF0dHJpYnV0ZSAwIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgICAKKzQgMSBkaWE6cmVjdGFuZ2xlIDEgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMTUgZGlhOmF0dHJpYnV0ZSAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDEgZGlhOmF0dHJpYnV0ZSAwIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgICAKKzQgMSBkaWE6Y29tcG9zaXRlIDAgMAorNSAxNCAjdGV4dCAwIDEgCisgICAgICAgICAgCis1IDEgZGlhOmF0dHJpYnV0ZSAwIDAKKzYgMTQgI3RleHQgMCAxIAorICAgICAgICAgICAgCis2IDEgZGlhOnN0cmluZyAxIDAKKzYgMTQgI3RleHQgMCAxIAorICAgICAgICAgIAorNSAxNSBkaWE6YXR0cmlidXRlIDAgMAorNSAxNCAjdGV4dCAwIDEgCisgICAgICAgICAgCis1IDEgZGlhOmF0dHJpYnV0ZSAwIDAKKzYgMTQgI3RleHQgMCAxIAorICAgICAgICAgICAgCis2IDEgZGlhOmZvbnQgMSAwCis2IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgICAKKzUgMTUgZGlhOmF0dHJpYnV0ZSAwIDAKKzUgMTQgI3RleHQgMCAxIAorICAgICAgICAgIAorNSAxIGRpYTphdHRyaWJ1dGUgMCAwCis2IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgICAgIAorNiAxIGRpYTpyZWFsIDEgMAorNiAxNCAjdGV4dCAwIDEgCisgICAgICAgICAgCis1IDE1IGRpYTphdHRyaWJ1dGUgMCAwCis1IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgICAKKzUgMSBkaWE6YXR0cmlidXRlIDAgMAorNiAxNCAjdGV4dCAwIDEgCisgICAgICAgICAgICAKKzYgMSBkaWE6cG9pbnQgMSAwCis2IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgICAKKzUgMTUgZGlhOmF0dHJpYnV0ZSAwIDAKKzUgMTQgI3RleHQgMCAxIAorICAgICAgICAgIAorNSAxIGRpYTphdHRyaWJ1dGUgMCAwCis2IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgICAgIAorNiAxIGRpYTpjb2xvciAxIDAKKzYgMTQgI3RleHQgMCAxIAorICAgICAgICAgIAorNSAxNSBkaWE6YXR0cmlidXRlIDAgMAorNSAxNCAjdGV4dCAwIDEgCisgICAgICAgICAgCis1IDEgZGlhOmF0dHJpYnV0ZSAwIDAKKzYgMTQgI3RleHQgMCAxIAorICAgICAgICAgICAgCis2IDEgZGlhOmVudW0gMSAwCis2IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgICAKKzUgMTUgZGlhOmF0dHJpYnV0ZSAwIDAKKzUgMTQgI3RleHQgMCAxIAorICAgICAgICAKKzQgMTUgZGlhOmNvbXBvc2l0ZSAwIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDE1IGRpYTphdHRyaWJ1dGUgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMTUgZGlhOm9iamVjdCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGRpYTpvYmplY3QgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxIGRpYTphdHRyaWJ1dGUgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgCis0IDEgZGlhOnBvaW50IDEgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMTUgZGlhOmF0dHJpYnV0ZSAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDEgZGlhOmF0dHJpYnV0ZSAwIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgICAKKzQgMSBkaWE6cmVjdGFuZ2xlIDEgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMTUgZGlhOmF0dHJpYnV0ZSAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDEgZGlhOmF0dHJpYnV0ZSAwIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgICAKKzQgMSBkaWE6cG9pbnQgMSAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxNSBkaWE6YXR0cmlidXRlIDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMSBkaWE6YXR0cmlidXRlIDAgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAgIAorNCAxIGRpYTpyZWFsIDEgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMTUgZGlhOmF0dHJpYnV0ZSAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDEgZGlhOmF0dHJpYnV0ZSAwIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgICAKKzQgMSBkaWE6cmVhbCAxIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDE1IGRpYTphdHRyaWJ1dGUgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxIGRpYTphdHRyaWJ1dGUgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgCis0IDEgZGlhOnJlYWwgMSAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxNSBkaWE6YXR0cmlidXRlIDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMSBkaWE6YXR0cmlidXRlIDAgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAgIAorNCAxIGRpYTpjb2xvciAxIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDE1IGRpYTphdHRyaWJ1dGUgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxIGRpYTphdHRyaWJ1dGUgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgCis0IDEgZGlhOmNvbG9yIDEgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMTUgZGlhOmF0dHJpYnV0ZSAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDEgZGlhOmF0dHJpYnV0ZSAwIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgICAKKzQgMSBkaWE6ZW51bSAxIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDE1IGRpYTphdHRyaWJ1dGUgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMTUgZGlhOm9iamVjdCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzEgMTUgZGlhOmxheWVyIDAgMAorMSAxNCAjdGV4dCAwIDEgCisKKzAgMTUgZGlhOmRpYWdyYW0gMCAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9kaWEyLnJkciBiL2xpYnhtbDIvcmVzdWx0L2RpYTIucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM3NjczMjUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kaWEyLnJkcgpAQCAtMCwwICsxLDI5MiBAQAorMCAxIGRpYTpkaWFncmFtIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSAxIGRpYTpkaWFncmFtZGF0YSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGRpYTphdHRyaWJ1dGUgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxIGRpYTpjb2xvciAxIDAKKzMgMTQgI3RleHQgMCAxIAorICAgIAorMiAxNSBkaWE6YXR0cmlidXRlIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMSAxNSBkaWE6ZGlhZ3JhbWRhdGEgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDEgZGlhOmxheWVyIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgZGlhOm9iamVjdCAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDEgZGlhOmF0dHJpYnV0ZSAwIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgICAKKzQgMSBkaWE6cG9pbnQgMSAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxNSBkaWE6YXR0cmlidXRlIDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMSBkaWE6YXR0cmlidXRlIDAgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAgIAorNCAxIGRpYTpyZWN0YW5nbGUgMSAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxNSBkaWE6YXR0cmlidXRlIDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMSBkaWE6YXR0cmlidXRlIDAgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAgIAorNCAxIGRpYTpwb2ludCAxIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgICAKKzQgMSBkaWE6cG9pbnQgMSAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxNSBkaWE6YXR0cmlidXRlIDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMSBkaWE6YXR0cmlidXRlIDAgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAgIAorNCAxIGRpYTpjb2xvciAxIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDE1IGRpYTphdHRyaWJ1dGUgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxIGRpYTphdHRyaWJ1dGUgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgCis0IDEgZGlhOnJlYWwgMSAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxNSBkaWE6YXR0cmlidXRlIDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMSBkaWE6YXR0cmlidXRlIDAgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAgIAorNCAxIGRpYTplbnVtIDEgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMTUgZGlhOmF0dHJpYnV0ZSAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDEgZGlhOmF0dHJpYnV0ZSAwIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgICAKKzQgMSBkaWE6ZW51bSAxIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDE1IGRpYTphdHRyaWJ1dGUgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxIGRpYTphdHRyaWJ1dGUgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgCis0IDEgZGlhOmVudW0gMSAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxNSBkaWE6YXR0cmlidXRlIDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMSBkaWE6Y29ubmVjdGlvbnMgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgCis0IDEgZGlhOmNvbm5lY3Rpb24gMSAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxNSBkaWE6Y29ubmVjdGlvbnMgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMTUgZGlhOm9iamVjdCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGRpYTpvYmplY3QgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxIGRpYTphdHRyaWJ1dGUgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgCis0IDEgZGlhOnBvaW50IDEgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMTUgZGlhOmF0dHJpYnV0ZSAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDEgZGlhOmF0dHJpYnV0ZSAwIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgICAKKzQgMSBkaWE6cmVjdGFuZ2xlIDEgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMTUgZGlhOmF0dHJpYnV0ZSAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDEgZGlhOmF0dHJpYnV0ZSAwIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgICAKKzQgMSBkaWE6Y29tcG9zaXRlIDAgMAorNSAxNCAjdGV4dCAwIDEgCisgICAgICAgICAgCis1IDEgZGlhOmF0dHJpYnV0ZSAwIDAKKzYgMTQgI3RleHQgMCAxIAorICAgICAgICAgICAgCis2IDEgZGlhOnN0cmluZyAxIDAKKzYgMTQgI3RleHQgMCAxIAorICAgICAgICAgIAorNSAxNSBkaWE6YXR0cmlidXRlIDAgMAorNSAxNCAjdGV4dCAwIDEgCisgICAgICAgICAgCis1IDEgZGlhOmF0dHJpYnV0ZSAwIDAKKzYgMTQgI3RleHQgMCAxIAorICAgICAgICAgICAgCis2IDEgZGlhOmZvbnQgMSAwCis2IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgICAKKzUgMTUgZGlhOmF0dHJpYnV0ZSAwIDAKKzUgMTQgI3RleHQgMCAxIAorICAgICAgICAgIAorNSAxIGRpYTphdHRyaWJ1dGUgMCAwCis2IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgICAgIAorNiAxIGRpYTpyZWFsIDEgMAorNiAxNCAjdGV4dCAwIDEgCisgICAgICAgICAgCis1IDE1IGRpYTphdHRyaWJ1dGUgMCAwCis1IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgICAKKzUgMSBkaWE6YXR0cmlidXRlIDAgMAorNiAxNCAjdGV4dCAwIDEgCisgICAgICAgICAgICAKKzYgMSBkaWE6cG9pbnQgMSAwCis2IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgICAKKzUgMTUgZGlhOmF0dHJpYnV0ZSAwIDAKKzUgMTQgI3RleHQgMCAxIAorICAgICAgICAgIAorNSAxIGRpYTphdHRyaWJ1dGUgMCAwCis2IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgICAgIAorNiAxIGRpYTpjb2xvciAxIDAKKzYgMTQgI3RleHQgMCAxIAorICAgICAgICAgIAorNSAxNSBkaWE6YXR0cmlidXRlIDAgMAorNSAxNCAjdGV4dCAwIDEgCisgICAgICAgICAgCis1IDEgZGlhOmF0dHJpYnV0ZSAwIDAKKzYgMTQgI3RleHQgMCAxIAorICAgICAgICAgICAgCis2IDEgZGlhOmVudW0gMSAwCis2IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgICAKKzUgMTUgZGlhOmF0dHJpYnV0ZSAwIDAKKzUgMTQgI3RleHQgMCAxIAorICAgICAgICAKKzQgMTUgZGlhOmNvbXBvc2l0ZSAwIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDE1IGRpYTphdHRyaWJ1dGUgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMTUgZGlhOm9iamVjdCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGRpYTpvYmplY3QgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxIGRpYTphdHRyaWJ1dGUgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgCis0IDEgZGlhOnBvaW50IDEgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMTUgZGlhOmF0dHJpYnV0ZSAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDEgZGlhOmF0dHJpYnV0ZSAwIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgICAKKzQgMSBkaWE6cmVjdGFuZ2xlIDEgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMTUgZGlhOmF0dHJpYnV0ZSAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDEgZGlhOmF0dHJpYnV0ZSAwIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgICAKKzQgMSBkaWE6cG9pbnQgMSAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxNSBkaWE6YXR0cmlidXRlIDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMSBkaWE6YXR0cmlidXRlIDAgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAgIAorNCAxIGRpYTpyZWFsIDEgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMTUgZGlhOmF0dHJpYnV0ZSAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDEgZGlhOmF0dHJpYnV0ZSAwIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgICAKKzQgMSBkaWE6cmVhbCAxIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDE1IGRpYTphdHRyaWJ1dGUgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxIGRpYTphdHRyaWJ1dGUgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgCis0IDEgZGlhOnJlYWwgMSAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxNSBkaWE6YXR0cmlidXRlIDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMSBkaWE6YXR0cmlidXRlIDAgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAgIAorNCAxIGRpYTpjb2xvciAxIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDE1IGRpYTphdHRyaWJ1dGUgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxIGRpYTphdHRyaWJ1dGUgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgCis0IDEgZGlhOmNvbG9yIDEgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMTUgZGlhOmF0dHJpYnV0ZSAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDEgZGlhOmF0dHJpYnV0ZSAwIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgICAKKzQgMSBkaWE6ZW51bSAxIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDE1IGRpYTphdHRyaWJ1dGUgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMTUgZGlhOm9iamVjdCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzEgMTUgZGlhOmxheWVyIDAgMAorMSAxNCAjdGV4dCAwIDEgCisKKzAgMTUgZGlhOmRpYWdyYW0gMCAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9kaWEyLnNheCBiL2xpYnhtbDIvcmVzdWx0L2RpYTIuc2F4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZmNjVkNjMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kaWEyLnNheApAQCAtMCwwICsxLDMyMyBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguc3RhcnRFbGVtZW50KGRpYTpkaWFncmFtLCB4bWxuczpkaWE9J2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChkaWE6ZGlhZ3JhbWRhdGEpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KGRpYTphdHRyaWJ1dGUsIG5hbWU9J2JhY2tncm91bmQnKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguc3RhcnRFbGVtZW50KGRpYTpjb2xvciwgdmFsPScjZmZmZmZmJykKK1NBWC5lbmRFbGVtZW50KGRpYTpjb2xvcikKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5lbmRFbGVtZW50KGRpYTphdHRyaWJ1dGUpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnQoZGlhOmRpYWdyYW1kYXRhKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQoZGlhOmxheWVyLCBuYW1lPSdCYWNrZ3JvdW5kJywgdmlzaWJsZT0ndHJ1ZScpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KGRpYTpvYmplY3QsIHR5cGU9J1N0YW5kYXJkIC0gTGluZScsIHZlcnNpb249JzAnLCBpZD0nTzAnKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguc3RhcnRFbGVtZW50KGRpYTphdHRyaWJ1dGUsIG5hbWU9J29ial9wb3MnKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5zdGFydEVsZW1lbnQoZGlhOnBvaW50LCB2YWw9JzEuOTUsNi44NScpCitTQVguZW5kRWxlbWVudChkaWE6cG9pbnQpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5lbmRFbGVtZW50KGRpYTphdHRyaWJ1dGUpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5zdGFydEVsZW1lbnQoZGlhOmF0dHJpYnV0ZSwgbmFtZT0nb2JqX2JiJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAsIDkpCitTQVguc3RhcnRFbGVtZW50KGRpYTpyZWN0YW5nbGUsIHZhbD0nMS45LDYuODsxMSw4LjU1JykKK1NBWC5lbmRFbGVtZW50KGRpYTpyZWN0YW5nbGUpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5lbmRFbGVtZW50KGRpYTphdHRyaWJ1dGUpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5zdGFydEVsZW1lbnQoZGlhOmF0dHJpYnV0ZSwgbmFtZT0nY29ubl9lbmRwb2ludHMnKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5zdGFydEVsZW1lbnQoZGlhOnBvaW50LCB2YWw9JzEuOTUsNi44NScpCitTQVguZW5kRWxlbWVudChkaWE6cG9pbnQpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgLCA5KQorU0FYLnN0YXJ0RWxlbWVudChkaWE6cG9pbnQsIHZhbD0nMTAuOTUsOC41JykKK1NBWC5lbmRFbGVtZW50KGRpYTpwb2ludCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLmVuZEVsZW1lbnQoZGlhOmF0dHJpYnV0ZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLnN0YXJ0RWxlbWVudChkaWE6YXR0cmlidXRlLCBuYW1lPSdsaW5lX2NvbG9yJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAsIDkpCitTQVguc3RhcnRFbGVtZW50KGRpYTpjb2xvciwgdmFsPScjMDAwMDAwJykKK1NBWC5lbmRFbGVtZW50KGRpYTpjb2xvcikKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLmVuZEVsZW1lbnQoZGlhOmF0dHJpYnV0ZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLnN0YXJ0RWxlbWVudChkaWE6YXR0cmlidXRlLCBuYW1lPSdsaW5lX3dpZHRoJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAsIDkpCitTQVguc3RhcnRFbGVtZW50KGRpYTpyZWFsLCB2YWw9JzAuMScpCitTQVguZW5kRWxlbWVudChkaWE6cmVhbCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLmVuZEVsZW1lbnQoZGlhOmF0dHJpYnV0ZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLnN0YXJ0RWxlbWVudChkaWE6YXR0cmlidXRlLCBuYW1lPSdsaW5lX3N0eWxlJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAsIDkpCitTQVguc3RhcnRFbGVtZW50KGRpYTplbnVtLCB2YWw9JzAnKQorU0FYLmVuZEVsZW1lbnQoZGlhOmVudW0pCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5lbmRFbGVtZW50KGRpYTphdHRyaWJ1dGUpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5zdGFydEVsZW1lbnQoZGlhOmF0dHJpYnV0ZSwgbmFtZT0nc3RhcnRfYXJyb3cnKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5zdGFydEVsZW1lbnQoZGlhOmVudW0sIHZhbD0nMCcpCitTQVguZW5kRWxlbWVudChkaWE6ZW51bSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLmVuZEVsZW1lbnQoZGlhOmF0dHJpYnV0ZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLnN0YXJ0RWxlbWVudChkaWE6YXR0cmlidXRlLCBuYW1lPSdlbmRfYXJyb3cnKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5zdGFydEVsZW1lbnQoZGlhOmVudW0sIHZhbD0nMCcpCitTQVguZW5kRWxlbWVudChkaWE6ZW51bSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLmVuZEVsZW1lbnQoZGlhOmF0dHJpYnV0ZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLnN0YXJ0RWxlbWVudChkaWE6Y29ubmVjdGlvbnMpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgLCA5KQorU0FYLnN0YXJ0RWxlbWVudChkaWE6Y29ubmVjdGlvbiwgaGFuZGxlPScxJywgdG89J08yJywgY29ubmVjdGlvbj0nMycpCitTQVguZW5kRWxlbWVudChkaWE6Y29ubmVjdGlvbikKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLmVuZEVsZW1lbnQoZGlhOmNvbm5lY3Rpb25zKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLmVuZEVsZW1lbnQoZGlhOm9iamVjdCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoZGlhOm9iamVjdCwgdHlwZT0nU3RhbmRhcmQgLSBUZXh0JywgdmVyc2lvbj0nMCcsIGlkPSdPMScpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5zdGFydEVsZW1lbnQoZGlhOmF0dHJpYnV0ZSwgbmFtZT0nb2JqX3BvcycpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgLCA5KQorU0FYLnN0YXJ0RWxlbWVudChkaWE6cG9pbnQsIHZhbD0nNC44LDQuNzUnKQorU0FYLmVuZEVsZW1lbnQoZGlhOnBvaW50KQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguZW5kRWxlbWVudChkaWE6YXR0cmlidXRlKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguc3RhcnRFbGVtZW50KGRpYTphdHRyaWJ1dGUsIG5hbWU9J29ial9iYicpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgLCA5KQorU0FYLnN0YXJ0RWxlbWVudChkaWE6cmVjdGFuZ2xlLCB2YWw9JzIuNTc5LDMuOTYzNTk7Ny4wMjEsNC45NjM1OScpCitTQVguZW5kRWxlbWVudChkaWE6cmVjdGFuZ2xlKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguZW5kRWxlbWVudChkaWE6YXR0cmlidXRlKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguc3RhcnRFbGVtZW50KGRpYTphdHRyaWJ1dGUsIG5hbWU9J3RleHQnKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5zdGFydEVsZW1lbnQoZGlhOmNvbXBvc2l0ZSwgdHlwZT0ndGV4dCcpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgICAsIDExKQorU0FYLnN0YXJ0RWxlbWVudChkaWE6YXR0cmlidXRlLCBuYW1lPSdzdHJpbmcnKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICAgICAsIDEzKQorU0FYLnN0YXJ0RWxlbWVudChkaWE6c3RyaW5nLCB2YWw9J3NkZnNkZmcnKQorU0FYLmVuZEVsZW1lbnQoZGlhOnN0cmluZykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAgICwgMTEpCitTQVguZW5kRWxlbWVudChkaWE6YXR0cmlidXRlKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICAgLCAxMSkKK1NBWC5zdGFydEVsZW1lbnQoZGlhOmF0dHJpYnV0ZSwgbmFtZT0nZm9udCcpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgICAgICwgMTMpCitTQVguc3RhcnRFbGVtZW50KGRpYTpmb250LCBuYW1lPSdDb3VyaWVyJykKK1NBWC5lbmRFbGVtZW50KGRpYTpmb250KQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICAgLCAxMSkKK1NBWC5lbmRFbGVtZW50KGRpYTphdHRyaWJ1dGUpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgICAsIDExKQorU0FYLnN0YXJ0RWxlbWVudChkaWE6YXR0cmlidXRlLCBuYW1lPSdoZWlnaHQnKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICAgICAsIDEzKQorU0FYLnN0YXJ0RWxlbWVudChkaWE6cmVhbCwgdmFsPScxJykKK1NBWC5lbmRFbGVtZW50KGRpYTpyZWFsKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICAgLCAxMSkKK1NBWC5lbmRFbGVtZW50KGRpYTphdHRyaWJ1dGUpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgICAsIDExKQorU0FYLnN0YXJ0RWxlbWVudChkaWE6YXR0cmlidXRlLCBuYW1lPSdwb3MnKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICAgICAsIDEzKQorU0FYLnN0YXJ0RWxlbWVudChkaWE6cG9pbnQsIHZhbD0nNC44LDQuNzUnKQorU0FYLmVuZEVsZW1lbnQoZGlhOnBvaW50KQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICAgLCAxMSkKK1NBWC5lbmRFbGVtZW50KGRpYTphdHRyaWJ1dGUpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgICAsIDExKQorU0FYLnN0YXJ0RWxlbWVudChkaWE6YXR0cmlidXRlLCBuYW1lPSdjb2xvcicpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgICAgICwgMTMpCitTQVguc3RhcnRFbGVtZW50KGRpYTpjb2xvciwgdmFsPScjMDAwMDAwJykKK1NBWC5lbmRFbGVtZW50KGRpYTpjb2xvcikKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAgICwgMTEpCitTQVguZW5kRWxlbWVudChkaWE6YXR0cmlidXRlKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICAgLCAxMSkKK1NBWC5zdGFydEVsZW1lbnQoZGlhOmF0dHJpYnV0ZSwgbmFtZT0nYWxpZ25tZW50JykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAgICAgLCAxMykKK1NBWC5zdGFydEVsZW1lbnQoZGlhOmVudW0sIHZhbD0nMScpCitTQVguZW5kRWxlbWVudChkaWE6ZW51bSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAgICwgMTEpCitTQVguZW5kRWxlbWVudChkaWE6YXR0cmlidXRlKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5lbmRFbGVtZW50KGRpYTpjb21wb3NpdGUpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5lbmRFbGVtZW50KGRpYTphdHRyaWJ1dGUpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguZW5kRWxlbWVudChkaWE6b2JqZWN0KQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChkaWE6b2JqZWN0LCB0eXBlPSdTdGFuZGFyZCAtIEJveCcsIHZlcnNpb249JzAnLCBpZD0nTzInKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguc3RhcnRFbGVtZW50KGRpYTphdHRyaWJ1dGUsIG5hbWU9J29ial9wb3MnKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5zdGFydEVsZW1lbnQoZGlhOnBvaW50LCB2YWw9JzEwLjk1LDcuNScpCitTQVguZW5kRWxlbWVudChkaWE6cG9pbnQpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5lbmRFbGVtZW50KGRpYTphdHRyaWJ1dGUpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5zdGFydEVsZW1lbnQoZGlhOmF0dHJpYnV0ZSwgbmFtZT0nb2JqX2JiJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAsIDkpCitTQVguc3RhcnRFbGVtZW50KGRpYTpyZWN0YW5nbGUsIHZhbD0nMTAuOSw3LjQ1OzEzLjA1LDkuNTUnKQorU0FYLmVuZEVsZW1lbnQoZGlhOnJlY3RhbmdsZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLmVuZEVsZW1lbnQoZGlhOmF0dHJpYnV0ZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLnN0YXJ0RWxlbWVudChkaWE6YXR0cmlidXRlLCBuYW1lPSdlbGVtX2Nvcm5lcicpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgLCA5KQorU0FYLnN0YXJ0RWxlbWVudChkaWE6cG9pbnQsIHZhbD0nMTAuOTUsNy41JykKK1NBWC5lbmRFbGVtZW50KGRpYTpwb2ludCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLmVuZEVsZW1lbnQoZGlhOmF0dHJpYnV0ZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLnN0YXJ0RWxlbWVudChkaWE6YXR0cmlidXRlLCBuYW1lPSdlbGVtX3dpZHRoJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAsIDkpCitTQVguc3RhcnRFbGVtZW50KGRpYTpyZWFsLCB2YWw9JzIuMDUnKQorU0FYLmVuZEVsZW1lbnQoZGlhOnJlYWwpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5lbmRFbGVtZW50KGRpYTphdHRyaWJ1dGUpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5zdGFydEVsZW1lbnQoZGlhOmF0dHJpYnV0ZSwgbmFtZT0nZWxlbV9oZWlnaHQnKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5zdGFydEVsZW1lbnQoZGlhOnJlYWwsIHZhbD0nMicpCitTQVguZW5kRWxlbWVudChkaWE6cmVhbCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLmVuZEVsZW1lbnQoZGlhOmF0dHJpYnV0ZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLnN0YXJ0RWxlbWVudChkaWE6YXR0cmlidXRlLCBuYW1lPSdib3JkZXJfd2lkdGgnKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5zdGFydEVsZW1lbnQoZGlhOnJlYWwsIHZhbD0nMC4xJykKK1NBWC5lbmRFbGVtZW50KGRpYTpyZWFsKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguZW5kRWxlbWVudChkaWE6YXR0cmlidXRlKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguc3RhcnRFbGVtZW50KGRpYTphdHRyaWJ1dGUsIG5hbWU9J2JvcmRlcl9jb2xvcicpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgLCA5KQorU0FYLnN0YXJ0RWxlbWVudChkaWE6Y29sb3IsIHZhbD0nIzAwMDAwMCcpCitTQVguZW5kRWxlbWVudChkaWE6Y29sb3IpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5lbmRFbGVtZW50KGRpYTphdHRyaWJ1dGUpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5zdGFydEVsZW1lbnQoZGlhOmF0dHJpYnV0ZSwgbmFtZT0naW5uZXJfY29sb3InKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5zdGFydEVsZW1lbnQoZGlhOmNvbG9yLCB2YWw9JyNmZmZmZmYnKQorU0FYLmVuZEVsZW1lbnQoZGlhOmNvbG9yKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguZW5kRWxlbWVudChkaWE6YXR0cmlidXRlKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguc3RhcnRFbGVtZW50KGRpYTphdHRyaWJ1dGUsIG5hbWU9J2xpbmVfc3R5bGUnKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5zdGFydEVsZW1lbnQoZGlhOmVudW0sIHZhbD0nMCcpCitTQVguZW5kRWxlbWVudChkaWE6ZW51bSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLmVuZEVsZW1lbnQoZGlhOmF0dHJpYnV0ZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5lbmRFbGVtZW50KGRpYTpvYmplY3QpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnQoZGlhOmxheWVyKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguZW5kRWxlbWVudChkaWE6ZGlhZ3JhbSkKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9kaWEyLnNheDIgYi9saWJ4bWwyL3Jlc3VsdC9kaWEyLnNheDIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDgyMWM5YgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2RpYTIuc2F4MgpAQCAtMCwwICsxLDMyMyBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguc3RhcnRFbGVtZW50TnMoZGlhZ3JhbSwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJywgMSwgeG1sbnM6ZGlhPSdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhkaWFncmFtZGF0YSwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhhdHRyaWJ1dGUsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycsIDAsIDEsIDAsIG5hbWU9J2JhY2suLi4nLCAxMCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLnN0YXJ0RWxlbWVudE5zKGNvbG9yLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nLCAwLCAxLCAwLCB2YWw9JyNmZmYuLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyhjb2xvciwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5lbmRFbGVtZW50TnMoYXR0cmlidXRlLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5lbmRFbGVtZW50TnMoZGlhZ3JhbWRhdGEsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKGxheWVyLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nLCAwLCAyLCAwLCBuYW1lPSdCYWNrLi4uJywgMTAsIHZpc2libGU9J3RydWUuLi4nLCA0KQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKG9iamVjdCwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJywgMCwgMywgMCwgdHlwZT0nU3Rhbi4uLicsIDE1LCB2ZXJzaW9uPScwIiBpLi4uJywgMSwgaWQ9J08wIj4uLi4nLCAyKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguc3RhcnRFbGVtZW50TnMoYXR0cmlidXRlLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nLCAwLCAxLCAwLCBuYW1lPSdvYmpfLi4uJywgNykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAsIDkpCitTQVguc3RhcnRFbGVtZW50TnMocG9pbnQsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycsIDAsIDEsIDAsIHZhbD0nMS45NS4uLicsIDkpCitTQVguZW5kRWxlbWVudE5zKHBvaW50LCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguZW5kRWxlbWVudE5zKGF0dHJpYnV0ZSwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLnN0YXJ0RWxlbWVudE5zKGF0dHJpYnV0ZSwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJywgMCwgMSwgMCwgbmFtZT0nb2JqXy4uLicsIDYpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgLCA5KQorU0FYLnN0YXJ0RWxlbWVudE5zKHJlY3RhbmdsZSwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJywgMCwgMSwgMCwgdmFsPScxLjksLi4uJywgMTUpCitTQVguZW5kRWxlbWVudE5zKHJlY3RhbmdsZSwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLmVuZEVsZW1lbnROcyhhdHRyaWJ1dGUsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5zdGFydEVsZW1lbnROcyhhdHRyaWJ1dGUsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycsIDAsIDEsIDAsIG5hbWU9J2Nvbm4uLi4nLCAxNCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAsIDkpCitTQVguc3RhcnRFbGVtZW50TnMocG9pbnQsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycsIDAsIDEsIDAsIHZhbD0nMS45NS4uLicsIDkpCitTQVguZW5kRWxlbWVudE5zKHBvaW50LCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5zdGFydEVsZW1lbnROcyhwb2ludCwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJywgMCwgMSwgMCwgdmFsPScxMC45Li4uJywgOSkKK1NBWC5lbmRFbGVtZW50TnMocG9pbnQsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5lbmRFbGVtZW50TnMoYXR0cmlidXRlLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguc3RhcnRFbGVtZW50TnMoYXR0cmlidXRlLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nLCAwLCAxLCAwLCBuYW1lPSdsaW5lLi4uJywgMTApCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgLCA5KQorU0FYLnN0YXJ0RWxlbWVudE5zKGNvbG9yLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nLCAwLCAxLCAwLCB2YWw9JyMwMDAuLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyhjb2xvciwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLmVuZEVsZW1lbnROcyhhdHRyaWJ1dGUsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5zdGFydEVsZW1lbnROcyhhdHRyaWJ1dGUsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycsIDAsIDEsIDAsIG5hbWU9J2xpbmUuLi4nLCAxMCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAsIDkpCitTQVguc3RhcnRFbGVtZW50TnMocmVhbCwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJywgMCwgMSwgMCwgdmFsPScwLjEiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnMocmVhbCwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLmVuZEVsZW1lbnROcyhhdHRyaWJ1dGUsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5zdGFydEVsZW1lbnROcyhhdHRyaWJ1dGUsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycsIDAsIDEsIDAsIG5hbWU9J2xpbmUuLi4nLCAxMCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAsIDkpCitTQVguc3RhcnRFbGVtZW50TnMoZW51bSwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJywgMCwgMSwgMCwgdmFsPScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnMoZW51bSwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLmVuZEVsZW1lbnROcyhhdHRyaWJ1dGUsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5zdGFydEVsZW1lbnROcyhhdHRyaWJ1dGUsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycsIDAsIDEsIDAsIG5hbWU9J3N0YXIuLi4nLCAxMSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAsIDkpCitTQVguc3RhcnRFbGVtZW50TnMoZW51bSwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJywgMCwgMSwgMCwgdmFsPScwIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnMoZW51bSwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLmVuZEVsZW1lbnROcyhhdHRyaWJ1dGUsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5zdGFydEVsZW1lbnROcyhhdHRyaWJ1dGUsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycsIDAsIDEsIDAsIG5hbWU9J2VuZF8uLi4nLCA5KQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5zdGFydEVsZW1lbnROcyhlbnVtLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nLCAwLCAxLCAwLCB2YWw9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyhlbnVtLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguZW5kRWxlbWVudE5zKGF0dHJpYnV0ZSwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLnN0YXJ0RWxlbWVudE5zKGNvbm5lY3Rpb25zLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5zdGFydEVsZW1lbnROcyhjb25uZWN0aW9uLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nLCAwLCAzLCAwLCBoYW5kbGU9JzEiIHQuLi4nLCAxLCB0bz0nTzIiIC4uLicsIDIsIGNvbm5lY3Rpb249JzMiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyhjb25uZWN0aW9uLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguZW5kRWxlbWVudE5zKGNvbm5lY3Rpb25zLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLmVuZEVsZW1lbnROcyhvYmplY3QsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMob2JqZWN0LCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nLCAwLCAzLCAwLCB0eXBlPSdTdGFuLi4uJywgMTUsIHZlcnNpb249JzAiIGkuLi4nLCAxLCBpZD0nTzEiPi4uLicsIDIpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5zdGFydEVsZW1lbnROcyhhdHRyaWJ1dGUsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycsIDAsIDEsIDAsIG5hbWU9J29ial8uLi4nLCA3KQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5zdGFydEVsZW1lbnROcyhwb2ludCwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJywgMCwgMSwgMCwgdmFsPSc0LjgsLi4uJywgOCkKK1NBWC5lbmRFbGVtZW50TnMocG9pbnQsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5lbmRFbGVtZW50TnMoYXR0cmlidXRlLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguc3RhcnRFbGVtZW50TnMoYXR0cmlidXRlLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nLCAwLCAxLCAwLCBuYW1lPSdvYmpfLi4uJywgNikKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAsIDkpCitTQVguc3RhcnRFbGVtZW50TnMocmVjdGFuZ2xlLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nLCAwLCAxLCAwLCB2YWw9JzIuNTcuLi4nLCAyNykKK1NBWC5lbmRFbGVtZW50TnMocmVjdGFuZ2xlLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguZW5kRWxlbWVudE5zKGF0dHJpYnV0ZSwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLnN0YXJ0RWxlbWVudE5zKGF0dHJpYnV0ZSwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJywgMCwgMSwgMCwgbmFtZT0ndGV4dC4uLicsIDQpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgLCA5KQorU0FYLnN0YXJ0RWxlbWVudE5zKGNvbXBvc2l0ZSwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJywgMCwgMSwgMCwgdHlwZT0ndGV4dC4uLicsIDQpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgICAsIDExKQorU0FYLnN0YXJ0RWxlbWVudE5zKGF0dHJpYnV0ZSwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJywgMCwgMSwgMCwgbmFtZT0nc3RyaS4uLicsIDYpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgICAgICwgMTMpCitTQVguc3RhcnRFbGVtZW50TnMoc3RyaW5nLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nLCAwLCAxLCAwLCB2YWw9J3NkZnMuLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyhzdHJpbmcsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgICAsIDExKQorU0FYLmVuZEVsZW1lbnROcyhhdHRyaWJ1dGUsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgICAsIDExKQorU0FYLnN0YXJ0RWxlbWVudE5zKGF0dHJpYnV0ZSwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJywgMCwgMSwgMCwgbmFtZT0nZm9udC4uLicsIDQpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgICAgICwgMTMpCitTQVguc3RhcnRFbGVtZW50TnMoZm9udCwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJywgMCwgMSwgMCwgbmFtZT0nQ291ci4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKGZvbnQsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgICAsIDExKQorU0FYLmVuZEVsZW1lbnROcyhhdHRyaWJ1dGUsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgICAsIDExKQorU0FYLnN0YXJ0RWxlbWVudE5zKGF0dHJpYnV0ZSwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJywgMCwgMSwgMCwgbmFtZT0naGVpZy4uLicsIDYpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgICAgICwgMTMpCitTQVguc3RhcnRFbGVtZW50TnMocmVhbCwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJywgMCwgMSwgMCwgdmFsPScxIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnMocmVhbCwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAgICwgMTEpCitTQVguZW5kRWxlbWVudE5zKGF0dHJpYnV0ZSwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAgICwgMTEpCitTQVguc3RhcnRFbGVtZW50TnMoYXR0cmlidXRlLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nLCAwLCAxLCAwLCBuYW1lPSdwb3MiLi4uJywgMykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAgICAgLCAxMykKK1NBWC5zdGFydEVsZW1lbnROcyhwb2ludCwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJywgMCwgMSwgMCwgdmFsPSc0LjgsLi4uJywgOCkKK1NBWC5lbmRFbGVtZW50TnMocG9pbnQsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgICAsIDExKQorU0FYLmVuZEVsZW1lbnROcyhhdHRyaWJ1dGUsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgICAsIDExKQorU0FYLnN0YXJ0RWxlbWVudE5zKGF0dHJpYnV0ZSwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJywgMCwgMSwgMCwgbmFtZT0nY29sby4uLicsIDUpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgICAgICwgMTMpCitTQVguc3RhcnRFbGVtZW50TnMoY29sb3IsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycsIDAsIDEsIDAsIHZhbD0nIzAwMC4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKGNvbG9yLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICAgLCAxMSkKK1NBWC5lbmRFbGVtZW50TnMoYXR0cmlidXRlLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICAgLCAxMSkKK1NBWC5zdGFydEVsZW1lbnROcyhhdHRyaWJ1dGUsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycsIDAsIDEsIDAsIG5hbWU9J2FsaWcuLi4nLCA5KQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICAgICAsIDEzKQorU0FYLnN0YXJ0RWxlbWVudE5zKGVudW0sIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycsIDAsIDEsIDAsIHZhbD0nMSIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKGVudW0sIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgICAsIDExKQorU0FYLmVuZEVsZW1lbnROcyhhdHRyaWJ1dGUsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgLCA5KQorU0FYLmVuZEVsZW1lbnROcyhjb21wb3NpdGUsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5lbmRFbGVtZW50TnMoYXR0cmlidXRlLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLmVuZEVsZW1lbnROcyhvYmplY3QsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMob2JqZWN0LCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nLCAwLCAzLCAwLCB0eXBlPSdTdGFuLi4uJywgMTQsIHZlcnNpb249JzAiIGkuLi4nLCAxLCBpZD0nTzIiPi4uLicsIDIpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5zdGFydEVsZW1lbnROcyhhdHRyaWJ1dGUsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycsIDAsIDEsIDAsIG5hbWU9J29ial8uLi4nLCA3KQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5zdGFydEVsZW1lbnROcyhwb2ludCwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJywgMCwgMSwgMCwgdmFsPScxMC45Li4uJywgOSkKK1NBWC5lbmRFbGVtZW50TnMocG9pbnQsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5lbmRFbGVtZW50TnMoYXR0cmlidXRlLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguc3RhcnRFbGVtZW50TnMoYXR0cmlidXRlLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nLCAwLCAxLCAwLCBuYW1lPSdvYmpfLi4uJywgNikKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAsIDkpCitTQVguc3RhcnRFbGVtZW50TnMocmVjdGFuZ2xlLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nLCAwLCAxLCAwLCB2YWw9JzEwLjkuLi4nLCAyMCkKK1NBWC5lbmRFbGVtZW50TnMocmVjdGFuZ2xlLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguZW5kRWxlbWVudE5zKGF0dHJpYnV0ZSwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLnN0YXJ0RWxlbWVudE5zKGF0dHJpYnV0ZSwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJywgMCwgMSwgMCwgbmFtZT0nZWxlbS4uLicsIDExKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5zdGFydEVsZW1lbnROcyhwb2ludCwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJywgMCwgMSwgMCwgdmFsPScxMC45Li4uJywgOSkKK1NBWC5lbmRFbGVtZW50TnMocG9pbnQsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5lbmRFbGVtZW50TnMoYXR0cmlidXRlLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguc3RhcnRFbGVtZW50TnMoYXR0cmlidXRlLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nLCAwLCAxLCAwLCBuYW1lPSdlbGVtLi4uJywgMTApCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgLCA5KQorU0FYLnN0YXJ0RWxlbWVudE5zKHJlYWwsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycsIDAsIDEsIDAsIHZhbD0nMi4wNS4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHJlYWwsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5lbmRFbGVtZW50TnMoYXR0cmlidXRlLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguc3RhcnRFbGVtZW50TnMoYXR0cmlidXRlLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nLCAwLCAxLCAwLCBuYW1lPSdlbGVtLi4uJywgMTEpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgLCA5KQorU0FYLnN0YXJ0RWxlbWVudE5zKHJlYWwsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycsIDAsIDEsIDAsIHZhbD0nMiIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHJlYWwsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5lbmRFbGVtZW50TnMoYXR0cmlidXRlLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguc3RhcnRFbGVtZW50TnMoYXR0cmlidXRlLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nLCAwLCAxLCAwLCBuYW1lPSdib3JkLi4uJywgMTIpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgLCA5KQorU0FYLnN0YXJ0RWxlbWVudE5zKHJlYWwsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycsIDAsIDEsIDAsIHZhbD0nMC4xIi4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHJlYWwsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5lbmRFbGVtZW50TnMoYXR0cmlidXRlLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguc3RhcnRFbGVtZW50TnMoYXR0cmlidXRlLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nLCAwLCAxLCAwLCBuYW1lPSdib3JkLi4uJywgMTIpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgLCA5KQorU0FYLnN0YXJ0RWxlbWVudE5zKGNvbG9yLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nLCAwLCAxLCAwLCB2YWw9JyMwMDAuLi4nLCA3KQorU0FYLmVuZEVsZW1lbnROcyhjb2xvciwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLmVuZEVsZW1lbnROcyhhdHRyaWJ1dGUsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5zdGFydEVsZW1lbnROcyhhdHRyaWJ1dGUsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycsIDAsIDEsIDAsIG5hbWU9J2lubmUuLi4nLCAxMSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAsIDkpCitTQVguc3RhcnRFbGVtZW50TnMoY29sb3IsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycsIDAsIDEsIDAsIHZhbD0nI2ZmZi4uLicsIDcpCitTQVguZW5kRWxlbWVudE5zKGNvbG9yLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguZW5kRWxlbWVudE5zKGF0dHJpYnV0ZSwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLnN0YXJ0RWxlbWVudE5zKGF0dHJpYnV0ZSwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJywgMCwgMSwgMCwgbmFtZT0nbGluZS4uLicsIDEwKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5zdGFydEVsZW1lbnROcyhlbnVtLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nLCAwLCAxLCAwLCB2YWw9JzAiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyhlbnVtLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguZW5kRWxlbWVudE5zKGF0dHJpYnV0ZSwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5lbmRFbGVtZW50TnMob2JqZWN0LCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5lbmRFbGVtZW50TnMobGF5ZXIsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5lbmRFbGVtZW50TnMoZGlhZ3JhbSwgZGlhLCAnaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJykKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9kdGQxIGIvbGlieG1sMi9yZXN1bHQvZHRkMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYjExZmZhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZHRkMQpAQCAtMCwwICsxLDQgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCFET0NUWVBFIE1FTU8gUFVCTElDICItLy9TR01MU09VUkNFLy9EVEQgTUVNTy8vRU4iICJodHRwOi8vd3d3LnNnbWxzb3VyY2UuY29tL2R0ZHMvbWVtby5kdGQiPgorPE1FTU8+Cis8L01FTU8+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9kdGQxLnJkZSBiL2xpYnhtbDIvcmVzdWx0L2R0ZDEucmRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZiYjM5YjgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kdGQxLnJkZQpAQCAtMCwwICsxLDUgQEAKKzAgMTAgTUVNTyAwIDAKKzAgMSBNRU1PIDAgMAorMSAxNCAjdGV4dCAwIDEgCisKKzAgMTUgTUVNTyAwIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2R0ZDEucmRyIGIvbGlieG1sMi9yZXN1bHQvZHRkMS5yZHIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmJiMzliOAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2R0ZDEucmRyCkBAIC0wLDAgKzEsNSBAQAorMCAxMCBNRU1PIDAgMAorMCAxIE1FTU8gMCAwCisxIDE0ICN0ZXh0IDAgMSAKKworMCAxNSBNRU1PIDAgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZHRkMS5zYXggYi9saWJ4bWwyL3Jlc3VsdC9kdGQxLnNheApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZjhkNmQzCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZHRkMS5zYXgKQEAgLTAsMCArMSw5IEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5pbnRlcm5hbFN1YnNldChNRU1PLCAtLy9TR01MU09VUkNFLy9EVEQgTUVNTy8vRU4sIGh0dHA6Ly93d3cuc2dtbHNvdXJjZS5jb20vZHRkcy9tZW1vLmR0ZCkKK1NBWC5leHRlcm5hbFN1YnNldChNRU1PLCAtLy9TR01MU09VUkNFLy9EVEQgTUVNTy8vRU4sIGh0dHA6Ly93d3cuc2dtbHNvdXJjZS5jb20vZHRkcy9tZW1vLmR0ZCkKK1NBWC5zdGFydEVsZW1lbnQoTUVNTykKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmVuZEVsZW1lbnQoTUVNTykKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9kdGQxLnNheDIgYi9saWJ4bWwyL3Jlc3VsdC9kdGQxLnNheDIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDdiZTVlMAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2R0ZDEuc2F4MgpAQCAtMCwwICsxLDkgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLmludGVybmFsU3Vic2V0KE1FTU8sIC0vL1NHTUxTT1VSQ0UvL0RURCBNRU1PLy9FTiwgaHR0cDovL3d3dy5zZ21sc291cmNlLmNvbS9kdGRzL21lbW8uZHRkKQorU0FYLmV4dGVybmFsU3Vic2V0KE1FTU8sIC0vL1NHTUxTT1VSQ0UvL0RURCBNRU1PLy9FTiwgaHR0cDovL3d3dy5zZ21sc291cmNlLmNvbS9kdGRzL21lbW8uZHRkKQorU0FYLnN0YXJ0RWxlbWVudE5zKE1FTU8sIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5lbmRFbGVtZW50TnMoTUVNTywgTlVMTCwgTlVMTCkKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9kdGQxMCBiL2xpYnhtbDIvcmVzdWx0L2R0ZDEwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhjN2Q1ZTcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kdGQxMApAQCAtMCwwICsxLDkgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCFET0NUWVBFIGRvYyBbCis8IUVMRU1FTlQgZG9jICgoYSB8IGIpKyAsIGMgLCBkKSo+Cis8IUVMRU1FTlQgYSAoI1BDREFUQSk+Cis8IUVMRU1FTlQgYiAoI1BDREFUQSk+Cis8IUVMRU1FTlQgYyAoI1BDREFUQSk+Cis8IUVMRU1FTlQgZCAoI1BDREFUQSk+CitdPgorPGRvYz48Yj5UaGlzPC9iPjxjPiBpcyBhPC9jPjxkPiB2YWxpZCBkb2N1bWVudDwvZD48L2RvYz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2R0ZDEwLnJkZSBiL2xpYnhtbDIvcmVzdWx0L2R0ZDEwLnJkZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZGYyNGM3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZHRkMTAucmRlCkBAIC0wLDAgKzEsMTIgQEAKKzAgMTAgZG9jIDAgMAorMCAxIGRvYyAwIDAKKzEgMSBiIDAgMAorMiAzICN0ZXh0IDAgMSBUaGlzCisxIDE1IGIgMCAwCisxIDEgYyAwIDAKKzIgMyAjdGV4dCAwIDEgIGlzIGEKKzEgMTUgYyAwIDAKKzEgMSBkIDAgMAorMiAzICN0ZXh0IDAgMSAgdmFsaWQgZG9jdW1lbnQKKzEgMTUgZCAwIDAKKzAgMTUgZG9jIDAgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZHRkMTAucmRyIGIvbGlieG1sMi9yZXN1bHQvZHRkMTAucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFkZjI0YzcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kdGQxMC5yZHIKQEAgLTAsMCArMSwxMiBAQAorMCAxMCBkb2MgMCAwCiswIDEgZG9jIDAgMAorMSAxIGIgMCAwCisyIDMgI3RleHQgMCAxIFRoaXMKKzEgMTUgYiAwIDAKKzEgMSBjIDAgMAorMiAzICN0ZXh0IDAgMSAgaXMgYQorMSAxNSBjIDAgMAorMSAxIGQgMCAwCisyIDMgI3RleHQgMCAxICB2YWxpZCBkb2N1bWVudAorMSAxNSBkIDAgMAorMCAxNSBkb2MgMCAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9kdGQxMC5zYXggYi9saWJ4bWwyL3Jlc3VsdC9kdGQxMC5zYXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODdmZDA0MQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2R0ZDEwLnNheApAQCAtMCwwICsxLDIxIEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5pbnRlcm5hbFN1YnNldChkb2MsICwgKQorU0FYLmVsZW1lbnREZWNsKGRvYywgNCwgLi4uKQorU0FYLmVsZW1lbnREZWNsKGEsIDMsIC4uLikKK1NBWC5lbGVtZW50RGVjbChiLCAzLCAuLi4pCitTQVguZWxlbWVudERlY2woYywgMywgLi4uKQorU0FYLmVsZW1lbnREZWNsKGQsIDMsIC4uLikKK1NBWC5leHRlcm5hbFN1YnNldChkb2MsICwgKQorU0FYLnN0YXJ0RWxlbWVudChkb2MpCitTQVguc3RhcnRFbGVtZW50KGIpCitTQVguY2hhcmFjdGVycyhUaGlzLCA0KQorU0FYLmVuZEVsZW1lbnQoYikKK1NBWC5zdGFydEVsZW1lbnQoYykKK1NBWC5jaGFyYWN0ZXJzKCBpcyBhLCA1KQorU0FYLmVuZEVsZW1lbnQoYykKK1NBWC5zdGFydEVsZW1lbnQoZCkKK1NBWC5jaGFyYWN0ZXJzKCB2YWxpZCBkb2N1bWVudCwgMTUpCitTQVguZW5kRWxlbWVudChkKQorU0FYLmVuZEVsZW1lbnQoZG9jKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2R0ZDEwLnNheDIgYi9saWJ4bWwyL3Jlc3VsdC9kdGQxMC5zYXgyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdmMTVhMDkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kdGQxMC5zYXgyCkBAIC0wLDAgKzEsMjEgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLmludGVybmFsU3Vic2V0KGRvYywgLCApCitTQVguZWxlbWVudERlY2woZG9jLCA0LCAuLi4pCitTQVguZWxlbWVudERlY2woYSwgMywgLi4uKQorU0FYLmVsZW1lbnREZWNsKGIsIDMsIC4uLikKK1NBWC5lbGVtZW50RGVjbChjLCAzLCAuLi4pCitTQVguZWxlbWVudERlY2woZCwgMywgLi4uKQorU0FYLmV4dGVybmFsU3Vic2V0KGRvYywgLCApCitTQVguc3RhcnRFbGVtZW50TnMoZG9jLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLnN0YXJ0RWxlbWVudE5zKGIsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhUaGlzLCA0KQorU0FYLmVuZEVsZW1lbnROcyhiLCBOVUxMLCBOVUxMKQorU0FYLnN0YXJ0RWxlbWVudE5zKGMsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyggaXMgYSwgNSkKK1NBWC5lbmRFbGVtZW50TnMoYywgTlVMTCwgTlVMTCkKK1NBWC5zdGFydEVsZW1lbnROcyhkLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoIHZhbGlkIGRvY3VtZW50LCAxNSkKK1NBWC5lbmRFbGVtZW50TnMoZCwgTlVMTCwgTlVMTCkKK1NBWC5lbmRFbGVtZW50TnMoZG9jLCBOVUxMLCBOVUxMKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2R0ZDExIGIvbGlieG1sMi9yZXN1bHQvZHRkMTEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTBkZjhhZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2R0ZDExCkBAIC0wLDAgKzEsNiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IURPQ1RZUEUgZG9jIFsKKzwhRUxFTUVOVCBkb2MgKCNQQ0RBVEEpPgorPCFBVFRMSVNUIGRvYyB2YWwgQ0RBVEEgI0lNUExJRUQ+CitdPgorPGRvYyB2YWw9InYxIi8+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9kdGQxMS5yZGUgYi9saWJ4bWwyL3Jlc3VsdC9kdGQxMS5yZGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWIwYTM0ZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2R0ZDExLnJkZQpAQCAtMCwwICsxLDIgQEAKKzAgMTAgZG9jIDAgMAorMCAxIGRvYyAxIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2R0ZDExLnJkciBiL2xpYnhtbDIvcmVzdWx0L2R0ZDExLnJkcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YjBhMzRkCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZHRkMTEucmRyCkBAIC0wLDAgKzEsMiBAQAorMCAxMCBkb2MgMCAwCiswIDEgZG9jIDEgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZHRkMTEuc2F4IGIvbGlieG1sMi9yZXN1bHQvZHRkMTEuc2F4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEyYmVlMGMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kdGQxMS5zYXgKQEAgLTAsMCArMSw5IEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5pbnRlcm5hbFN1YnNldChkb2MsICwgKQorU0FYLmVsZW1lbnREZWNsKGRvYywgMywgLi4uKQorU0FYLmF0dHJpYnV0ZURlY2woZG9jLCB2YWwsIDEsIDMsIE5VTEwsIC4uLikKK1NBWC5leHRlcm5hbFN1YnNldChkb2MsICwgKQorU0FYLnN0YXJ0RWxlbWVudChkb2MsIHZhbD0ndjEnKQorU0FYLmVuZEVsZW1lbnQoZG9jKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2R0ZDExLnNheDIgYi9saWJ4bWwyL3Jlc3VsdC9kdGQxMS5zYXgyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE5Y2FlNWQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kdGQxMS5zYXgyCkBAIC0wLDAgKzEsOSBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguaW50ZXJuYWxTdWJzZXQoZG9jLCAsICkKK1NBWC5lbGVtZW50RGVjbChkb2MsIDMsIC4uLikKK1NBWC5hdHRyaWJ1dGVEZWNsKGRvYywgdmFsLCAxLCAzLCBOVUxMLCAuLi4pCitTQVguZXh0ZXJuYWxTdWJzZXQoZG9jLCAsICkKK1NBWC5zdGFydEVsZW1lbnROcyhkb2MsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHZhbD0ndjEiLy4uLicsIDIpCitTQVguZW5kRWxlbWVudE5zKGRvYywgTlVMTCwgTlVMTCkKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9kdGQxMiBiL2xpYnhtbDIvcmVzdWx0L2R0ZDEyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYwZDEyNjEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kdGQxMgpAQCAtMCwwICsxLDYgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCFET0NUWVBFIGRvYyBbCis8IUVOVElUWSBZTiAnIlllcyInPgorPCFFTlRJVFkgV2hhdEhlU2FpZCAiSGUgc2FpZCAmWU47Ij4KK10+Cis8ZG9jPiZXaGF0SGVTYWlkOzwvZG9jPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZHRkMTIucmRlIGIvbGlieG1sMi9yZXN1bHQvZHRkMTIucmRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMyZDRjYzAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kdGQxMi5yZGUKQEAgLTAsMCArMSw0IEBACiswIDEwIGRvYyAwIDAKKzAgMSBkb2MgMCAwCisxIDMgI3RleHQgMCAxIEhlIHNhaWQgIlllcyIKKzAgMTUgZG9jIDAgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZHRkMTIucmRyIGIvbGlieG1sMi9yZXN1bHQvZHRkMTIucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMzOTRhNDYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kdGQxMi5yZHIKQEAgLTAsMCArMSw0IEBACiswIDEwIGRvYyAwIDAKKzAgMSBkb2MgMCAwCisxIDUgV2hhdEhlU2FpZCAwIDAKKzAgMTUgZG9jIDAgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZHRkMTIuc2F4IGIvbGlieG1sMi9yZXN1bHQvZHRkMTIuc2F4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgyMDU0Y2UKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kdGQxMi5zYXgKQEAgLTAsMCArMSwxNyBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguaW50ZXJuYWxTdWJzZXQoZG9jLCAsICkKK1NBWC5lbnRpdHlEZWNsKFlOLCAxLCAobnVsbCksIChudWxsKSwgIlllcyIpCitTQVguZ2V0RW50aXR5KFlOKQorU0FYLmVudGl0eURlY2woV2hhdEhlU2FpZCwgMSwgKG51bGwpLCAobnVsbCksIEhlIHNhaWQgJllOOykKK1NBWC5nZXRFbnRpdHkoV2hhdEhlU2FpZCkKK1NBWC5leHRlcm5hbFN1YnNldChkb2MsICwgKQorU0FYLnN0YXJ0RWxlbWVudChkb2MpCitTQVguZ2V0RW50aXR5KFdoYXRIZVNhaWQpCitTQVguY2hhcmFjdGVycyhIZSBzYWlkICwgOCkKK1NBWC5nZXRFbnRpdHkoWU4pCitTQVguY2hhcmFjdGVycygiWWVzIiwgNSkKK1NBWC5yZWZlcmVuY2UoWU4pCitTQVgucmVmZXJlbmNlKFdoYXRIZVNhaWQpCitTQVguZW5kRWxlbWVudChkb2MpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZHRkMTIuc2F4MiBiL2xpYnhtbDIvcmVzdWx0L2R0ZDEyLnNheDIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGE1ZDhhNAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2R0ZDEyLnNheDIKQEAgLTAsMCArMSwxNyBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguaW50ZXJuYWxTdWJzZXQoZG9jLCAsICkKK1NBWC5lbnRpdHlEZWNsKFlOLCAxLCAobnVsbCksIChudWxsKSwgIlllcyIpCitTQVguZ2V0RW50aXR5KFlOKQorU0FYLmVudGl0eURlY2woV2hhdEhlU2FpZCwgMSwgKG51bGwpLCAobnVsbCksIEhlIHNhaWQgJllOOykKK1NBWC5nZXRFbnRpdHkoV2hhdEhlU2FpZCkKK1NBWC5leHRlcm5hbFN1YnNldChkb2MsICwgKQorU0FYLnN0YXJ0RWxlbWVudE5zKGRvYywgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5nZXRFbnRpdHkoV2hhdEhlU2FpZCkKK1NBWC5jaGFyYWN0ZXJzKEhlIHNhaWQgLCA4KQorU0FYLmdldEVudGl0eShZTikKK1NBWC5jaGFyYWN0ZXJzKCJZZXMiLCA1KQorU0FYLnJlZmVyZW5jZShZTikKK1NBWC5yZWZlcmVuY2UoV2hhdEhlU2FpZCkKK1NBWC5lbmRFbGVtZW50TnMoZG9jLCBOVUxMLCBOVUxMKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2R0ZDEzIGIvbGlieG1sMi9yZXN1bHQvZHRkMTMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjgxNDE0NgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2R0ZDEzCkBAIC0wLDAgKzEsNyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IS0tIGNvbW1lbnQgYmVmb3JlIHRoZSBEVEQgLS0+Cis8IURPQ1RZUEUgZG9jIFsKKzwhRUxFTUVOVCBkb2MgQU5ZPgorXT4KKzwhLS0gY29tbWVudCBhZnRlciB0aGUgRFREIC0tPgorPGRvYy8+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9kdGQxMy5yZGUgYi9saWJ4bWwyL3Jlc3VsdC9kdGQxMy5yZGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjU2N2NjYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2R0ZDEzLnJkZQpAQCAtMCwwICsxLDQgQEAKKzAgOCAjY29tbWVudCAwIDEgIGNvbW1lbnQgYmVmb3JlIHRoZSBEVEQgCiswIDEwIGRvYyAwIDAKKzAgOCAjY29tbWVudCAwIDEgIGNvbW1lbnQgYWZ0ZXIgdGhlIERURCAKKzAgMSBkb2MgMSAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9kdGQxMy5yZHIgYi9saWJ4bWwyL3Jlc3VsdC9kdGQxMy5yZHIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjU2N2NjYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2R0ZDEzLnJkcgpAQCAtMCwwICsxLDQgQEAKKzAgOCAjY29tbWVudCAwIDEgIGNvbW1lbnQgYmVmb3JlIHRoZSBEVEQgCiswIDEwIGRvYyAwIDAKKzAgOCAjY29tbWVudCAwIDEgIGNvbW1lbnQgYWZ0ZXIgdGhlIERURCAKKzAgMSBkb2MgMSAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9kdGQxMy5zYXggYi9saWJ4bWwyL3Jlc3VsdC9kdGQxMy5zYXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWIxMjQ1ZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2R0ZDEzLnNheApAQCAtMCwwICsxLDEwIEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5jb21tZW50KCBjb21tZW50IGJlZm9yZSB0aGUgRFREICkKK1NBWC5pbnRlcm5hbFN1YnNldChkb2MsICwgKQorU0FYLmVsZW1lbnREZWNsKGRvYywgMiwgLi4uKQorU0FYLmV4dGVybmFsU3Vic2V0KGRvYywgLCApCitTQVguY29tbWVudCggY29tbWVudCBhZnRlciB0aGUgRFREICkKK1NBWC5zdGFydEVsZW1lbnQoZG9jKQorU0FYLmVuZEVsZW1lbnQoZG9jKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2R0ZDEzLnNheDIgYi9saWJ4bWwyL3Jlc3VsdC9kdGQxMy5zYXgyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI2MzE1MDEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kdGQxMy5zYXgyCkBAIC0wLDAgKzEsMTAgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLmNvbW1lbnQoIGNvbW1lbnQgYmVmb3JlIHRoZSBEVEQgKQorU0FYLmludGVybmFsU3Vic2V0KGRvYywgLCApCitTQVguZWxlbWVudERlY2woZG9jLCAyLCAuLi4pCitTQVguZXh0ZXJuYWxTdWJzZXQoZG9jLCAsICkKK1NBWC5jb21tZW50KCBjb21tZW50IGFmdGVyIHRoZSBEVEQgKQorU0FYLnN0YXJ0RWxlbWVudE5zKGRvYywgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5lbmRFbGVtZW50TnMoZG9jLCBOVUxMLCBOVUxMKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2R0ZDIgYi9saWJ4bWwyL3Jlc3VsdC9kdGQyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkyMWZkOTQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kdGQyCkBAIC0wLDAgKzEsNSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IURPQ1RZUEUgZG9jIFsKKzwhRUxFTUVOVCBkb2MgKCNQQ0RBVEEpPgorXT4KKzxkb2M+VGhpcyBpcyBhIHZhbGlkIGRvY3VtZW50ICE8L2RvYz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2R0ZDIucmRlIGIvbGlieG1sMi9yZXN1bHQvZHRkMi5yZGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjBjYmYyYQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2R0ZDIucmRlCkBAIC0wLDAgKzEsNCBAQAorMCAxMCBkb2MgMCAwCiswIDEgZG9jIDAgMAorMSAzICN0ZXh0IDAgMSBUaGlzIGlzIGEgdmFsaWQgZG9jdW1lbnQgIQorMCAxNSBkb2MgMCAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9kdGQyLnJkciBiL2xpYnhtbDIvcmVzdWx0L2R0ZDIucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIwY2JmMmEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kdGQyLnJkcgpAQCAtMCwwICsxLDQgQEAKKzAgMTAgZG9jIDAgMAorMCAxIGRvYyAwIDAKKzEgMyAjdGV4dCAwIDEgVGhpcyBpcyBhIHZhbGlkIGRvY3VtZW50ICEKKzAgMTUgZG9jIDAgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZHRkMi5zYXggYi9saWJ4bWwyL3Jlc3VsdC9kdGQyLnNheApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMzQzNDg2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZHRkMi5zYXgKQEAgLTAsMCArMSw5IEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5pbnRlcm5hbFN1YnNldChkb2MsICwgKQorU0FYLmVsZW1lbnREZWNsKGRvYywgMywgLi4uKQorU0FYLmV4dGVybmFsU3Vic2V0KGRvYywgLCApCitTQVguc3RhcnRFbGVtZW50KGRvYykKK1NBWC5jaGFyYWN0ZXJzKFRoaXMgaXMgYSB2YWxpZCBkb2N1bWVudCAhLCAyNikKK1NBWC5lbmRFbGVtZW50KGRvYykKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9kdGQyLnNheDIgYi9saWJ4bWwyL3Jlc3VsdC9kdGQyLnNheDIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmY2YjU2OAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2R0ZDIuc2F4MgpAQCAtMCwwICsxLDkgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLmludGVybmFsU3Vic2V0KGRvYywgLCApCitTQVguZWxlbWVudERlY2woZG9jLCAzLCAuLi4pCitTQVguZXh0ZXJuYWxTdWJzZXQoZG9jLCAsICkKK1NBWC5zdGFydEVsZW1lbnROcyhkb2MsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhUaGlzIGlzIGEgdmFsaWQgZG9jdW1lbnQgISwgMjYpCitTQVguZW5kRWxlbWVudE5zKGRvYywgTlVMTCwgTlVMTCkKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9kdGQzIGIvbGlieG1sMi9yZXN1bHQvZHRkMwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NjgxZWY3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZHRkMwpAQCAtMCwwICsxLDUgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCFET0NUWVBFIGRvYyBbCis8IUVMRU1FTlQgZG9jIEFOWT4KK10+Cis8ZG9jPlRoaXMgaXMgYSB2YWxpZCBkb2N1bWVudCAhPC9kb2M+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9kdGQzLnJkZSBiL2xpYnhtbDIvcmVzdWx0L2R0ZDMucmRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIwY2JmMmEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kdGQzLnJkZQpAQCAtMCwwICsxLDQgQEAKKzAgMTAgZG9jIDAgMAorMCAxIGRvYyAwIDAKKzEgMyAjdGV4dCAwIDEgVGhpcyBpcyBhIHZhbGlkIGRvY3VtZW50ICEKKzAgMTUgZG9jIDAgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZHRkMy5yZHIgYi9saWJ4bWwyL3Jlc3VsdC9kdGQzLnJkcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMGNiZjJhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZHRkMy5yZHIKQEAgLTAsMCArMSw0IEBACiswIDEwIGRvYyAwIDAKKzAgMSBkb2MgMCAwCisxIDMgI3RleHQgMCAxIFRoaXMgaXMgYSB2YWxpZCBkb2N1bWVudCAhCiswIDE1IGRvYyAwIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2R0ZDMuc2F4IGIvbGlieG1sMi9yZXN1bHQvZHRkMy5zYXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTc1MzlkMwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2R0ZDMuc2F4CkBAIC0wLDAgKzEsOSBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguaW50ZXJuYWxTdWJzZXQoZG9jLCAsICkKK1NBWC5lbGVtZW50RGVjbChkb2MsIDIsIC4uLikKK1NBWC5leHRlcm5hbFN1YnNldChkb2MsICwgKQorU0FYLnN0YXJ0RWxlbWVudChkb2MpCitTQVguY2hhcmFjdGVycyhUaGlzIGlzIGEgdmFsaWQgZG9jdW1lbnQgISwgMjYpCitTQVguZW5kRWxlbWVudChkb2MpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZHRkMy5zYXgyIGIvbGlieG1sMi9yZXN1bHQvZHRkMy5zYXgyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk2MjVhZDUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kdGQzLnNheDIKQEAgLTAsMCArMSw5IEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5pbnRlcm5hbFN1YnNldChkb2MsICwgKQorU0FYLmVsZW1lbnREZWNsKGRvYywgMiwgLi4uKQorU0FYLmV4dGVybmFsU3Vic2V0KGRvYywgLCApCitTQVguc3RhcnRFbGVtZW50TnMoZG9jLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoVGhpcyBpcyBhIHZhbGlkIGRvY3VtZW50ICEsIDI2KQorU0FYLmVuZEVsZW1lbnROcyhkb2MsIE5VTEwsIE5VTEwpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZHRkNCBiL2xpYnhtbDIvcmVzdWx0L2R0ZDQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmNmMjQ0NAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2R0ZDQKQEAgLTAsMCArMSw1IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhRE9DVFlQRSBkb2MgWworPCFFTEVNRU5UIGRvYyBFTVBUWT4KK10+Cis8ZG9jLz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2R0ZDQucmRlIGIvbGlieG1sMi9yZXN1bHQvZHRkNC5yZGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWIwYTM0ZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2R0ZDQucmRlCkBAIC0wLDAgKzEsMiBAQAorMCAxMCBkb2MgMCAwCiswIDEgZG9jIDEgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZHRkNC5yZHIgYi9saWJ4bWwyL3Jlc3VsdC9kdGQ0LnJkcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YjBhMzRkCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZHRkNC5yZHIKQEAgLTAsMCArMSwyIEBACiswIDEwIGRvYyAwIDAKKzAgMSBkb2MgMSAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9kdGQ0LnNheCBiL2xpYnhtbDIvcmVzdWx0L2R0ZDQuc2F4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNmYjRjNzkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kdGQ0LnNheApAQCAtMCwwICsxLDggQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLmludGVybmFsU3Vic2V0KGRvYywgLCApCitTQVguZWxlbWVudERlY2woZG9jLCAxLCAuLi4pCitTQVguZXh0ZXJuYWxTdWJzZXQoZG9jLCAsICkKK1NBWC5zdGFydEVsZW1lbnQoZG9jKQorU0FYLmVuZEVsZW1lbnQoZG9jKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2R0ZDQuc2F4MiBiL2xpYnhtbDIvcmVzdWx0L2R0ZDQuc2F4MgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MzY2ZDQ4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZHRkNC5zYXgyCkBAIC0wLDAgKzEsOCBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguaW50ZXJuYWxTdWJzZXQoZG9jLCAsICkKK1NBWC5lbGVtZW50RGVjbChkb2MsIDEsIC4uLikKK1NBWC5leHRlcm5hbFN1YnNldChkb2MsICwgKQorU0FYLnN0YXJ0RWxlbWVudE5zKGRvYywgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5lbmRFbGVtZW50TnMoZG9jLCBOVUxMLCBOVUxMKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2R0ZDUgYi9saWJ4bWwyL3Jlc3VsdC9kdGQ1Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU0MDlkNTEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kdGQ1CkBAIC0wLDAgKzEsNyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IURPQ1RZUEUgZG9jIFsKKzwhRUxFTUVOVCBkb2MgKCNQQ0RBVEEgfCBhIHwgYikqPgorPCFFTEVNRU5UIGEgKCNQQ0RBVEEpPgorPCFFTEVNRU5UIGIgKCNQQ0RBVEEpPgorXT4KKzxkb2M+PGE+VGhpczwvYT4gaXMgYSA8Yj52YWxpZDwvYj4gZG9jdW1lbnQ8L2RvYz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2R0ZDUucmRlIGIvbGlieG1sMi9yZXN1bHQvZHRkNS5yZGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjY3NzNhMwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2R0ZDUucmRlCkBAIC0wLDAgKzEsMTEgQEAKKzAgMTAgZG9jIDAgMAorMCAxIGRvYyAwIDAKKzEgMSBhIDAgMAorMiAzICN0ZXh0IDAgMSBUaGlzCisxIDE1IGEgMCAwCisxIDMgI3RleHQgMCAxICBpcyBhIAorMSAxIGIgMCAwCisyIDMgI3RleHQgMCAxIHZhbGlkCisxIDE1IGIgMCAwCisxIDMgI3RleHQgMCAxICBkb2N1bWVudAorMCAxNSBkb2MgMCAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9kdGQ1LnJkciBiL2xpYnhtbDIvcmVzdWx0L2R0ZDUucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY2NzczYTMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kdGQ1LnJkcgpAQCAtMCwwICsxLDExIEBACiswIDEwIGRvYyAwIDAKKzAgMSBkb2MgMCAwCisxIDEgYSAwIDAKKzIgMyAjdGV4dCAwIDEgVGhpcworMSAxNSBhIDAgMAorMSAzICN0ZXh0IDAgMSAgaXMgYSAKKzEgMSBiIDAgMAorMiAzICN0ZXh0IDAgMSB2YWxpZAorMSAxNSBiIDAgMAorMSAzICN0ZXh0IDAgMSAgZG9jdW1lbnQKKzAgMTUgZG9jIDAgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZHRkNS5zYXggYi9saWJ4bWwyL3Jlc3VsdC9kdGQ1LnNheApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZGM4ZGIzCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZHRkNS5zYXgKQEAgLTAsMCArMSwxOCBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguaW50ZXJuYWxTdWJzZXQoZG9jLCAsICkKK1NBWC5lbGVtZW50RGVjbChkb2MsIDMsIC4uLikKK1NBWC5lbGVtZW50RGVjbChhLCAzLCAuLi4pCitTQVguZWxlbWVudERlY2woYiwgMywgLi4uKQorU0FYLmV4dGVybmFsU3Vic2V0KGRvYywgLCApCitTQVguc3RhcnRFbGVtZW50KGRvYykKK1NBWC5zdGFydEVsZW1lbnQoYSkKK1NBWC5jaGFyYWN0ZXJzKFRoaXMsIDQpCitTQVguZW5kRWxlbWVudChhKQorU0FYLmNoYXJhY3RlcnMoIGlzIGEgLCA2KQorU0FYLnN0YXJ0RWxlbWVudChiKQorU0FYLmNoYXJhY3RlcnModmFsaWQsIDUpCitTQVguZW5kRWxlbWVudChiKQorU0FYLmNoYXJhY3RlcnMoIGRvY3VtZW50LCA5KQorU0FYLmVuZEVsZW1lbnQoZG9jKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2R0ZDUuc2F4MiBiL2xpYnhtbDIvcmVzdWx0L2R0ZDUuc2F4MgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNDhjMDFjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZHRkNS5zYXgyCkBAIC0wLDAgKzEsMTggQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLmludGVybmFsU3Vic2V0KGRvYywgLCApCitTQVguZWxlbWVudERlY2woZG9jLCAzLCAuLi4pCitTQVguZWxlbWVudERlY2woYSwgMywgLi4uKQorU0FYLmVsZW1lbnREZWNsKGIsIDMsIC4uLikKK1NBWC5leHRlcm5hbFN1YnNldChkb2MsICwgKQorU0FYLnN0YXJ0RWxlbWVudE5zKGRvYywgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5zdGFydEVsZW1lbnROcyhhLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoVGhpcywgNCkKK1NBWC5lbmRFbGVtZW50TnMoYSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKCBpcyBhICwgNikKK1NBWC5zdGFydEVsZW1lbnROcyhiLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnModmFsaWQsIDUpCitTQVguZW5kRWxlbWVudE5zKGIsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycyggZG9jdW1lbnQsIDkpCitTQVguZW5kRWxlbWVudE5zKGRvYywgTlVMTCwgTlVMTCkKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9kdGQ2IGIvbGlieG1sMi9yZXN1bHQvZHRkNgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZDJkOTkzCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZHRkNgpAQCAtMCwwICsxLDcgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCFET0NUWVBFIGRvYyBbCis8IUVMRU1FTlQgZG9jIChhIHwgYikqPgorPCFFTEVNRU5UIGEgKCNQQ0RBVEEpPgorPCFFTEVNRU5UIGIgKCNQQ0RBVEEpPgorXT4KKzxkb2M+PGE+VGhpczwvYT48Yj4gaXMgYSB2YWxpZDwvYj48YT4gZG9jdW1lbnQ8L2E+PC9kb2M+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9kdGQ2LnJkZSBiL2xpYnhtbDIvcmVzdWx0L2R0ZDYucmRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE5NDFlNmEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kdGQ2LnJkZQpAQCAtMCwwICsxLDEyIEBACiswIDEwIGRvYyAwIDAKKzAgMSBkb2MgMCAwCisxIDEgYSAwIDAKKzIgMyAjdGV4dCAwIDEgVGhpcworMSAxNSBhIDAgMAorMSAxIGIgMCAwCisyIDMgI3RleHQgMCAxICBpcyBhIHZhbGlkCisxIDE1IGIgMCAwCisxIDEgYSAwIDAKKzIgMyAjdGV4dCAwIDEgIGRvY3VtZW50CisxIDE1IGEgMCAwCiswIDE1IGRvYyAwIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2R0ZDYucmRyIGIvbGlieG1sMi9yZXN1bHQvZHRkNi5yZHIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTk0MWU2YQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2R0ZDYucmRyCkBAIC0wLDAgKzEsMTIgQEAKKzAgMTAgZG9jIDAgMAorMCAxIGRvYyAwIDAKKzEgMSBhIDAgMAorMiAzICN0ZXh0IDAgMSBUaGlzCisxIDE1IGEgMCAwCisxIDEgYiAwIDAKKzIgMyAjdGV4dCAwIDEgIGlzIGEgdmFsaWQKKzEgMTUgYiAwIDAKKzEgMSBhIDAgMAorMiAzICN0ZXh0IDAgMSAgZG9jdW1lbnQKKzEgMTUgYSAwIDAKKzAgMTUgZG9jIDAgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZHRkNi5zYXggYi9saWJ4bWwyL3Jlc3VsdC9kdGQ2LnNheApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOTA4OGQ3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZHRkNi5zYXgKQEAgLTAsMCArMSwxOSBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguaW50ZXJuYWxTdWJzZXQoZG9jLCAsICkKK1NBWC5lbGVtZW50RGVjbChkb2MsIDQsIC4uLikKK1NBWC5lbGVtZW50RGVjbChhLCAzLCAuLi4pCitTQVguZWxlbWVudERlY2woYiwgMywgLi4uKQorU0FYLmV4dGVybmFsU3Vic2V0KGRvYywgLCApCitTQVguc3RhcnRFbGVtZW50KGRvYykKK1NBWC5zdGFydEVsZW1lbnQoYSkKK1NBWC5jaGFyYWN0ZXJzKFRoaXMsIDQpCitTQVguZW5kRWxlbWVudChhKQorU0FYLnN0YXJ0RWxlbWVudChiKQorU0FYLmNoYXJhY3RlcnMoIGlzIGEgdmFsaWQsIDExKQorU0FYLmVuZEVsZW1lbnQoYikKK1NBWC5zdGFydEVsZW1lbnQoYSkKK1NBWC5jaGFyYWN0ZXJzKCBkb2N1bWVudCwgOSkKK1NBWC5lbmRFbGVtZW50KGEpCitTQVguZW5kRWxlbWVudChkb2MpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZHRkNi5zYXgyIGIvbGlieG1sMi9yZXN1bHQvZHRkNi5zYXgyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZlNzg5MjQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kdGQ2LnNheDIKQEAgLTAsMCArMSwxOSBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguaW50ZXJuYWxTdWJzZXQoZG9jLCAsICkKK1NBWC5lbGVtZW50RGVjbChkb2MsIDQsIC4uLikKK1NBWC5lbGVtZW50RGVjbChhLCAzLCAuLi4pCitTQVguZWxlbWVudERlY2woYiwgMywgLi4uKQorU0FYLmV4dGVybmFsU3Vic2V0KGRvYywgLCApCitTQVguc3RhcnRFbGVtZW50TnMoZG9jLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLnN0YXJ0RWxlbWVudE5zKGEsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhUaGlzLCA0KQorU0FYLmVuZEVsZW1lbnROcyhhLCBOVUxMLCBOVUxMKQorU0FYLnN0YXJ0RWxlbWVudE5zKGIsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyggaXMgYSB2YWxpZCwgMTEpCitTQVguZW5kRWxlbWVudE5zKGIsIE5VTEwsIE5VTEwpCitTQVguc3RhcnRFbGVtZW50TnMoYSwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKCBkb2N1bWVudCwgOSkKK1NBWC5lbmRFbGVtZW50TnMoYSwgTlVMTCwgTlVMTCkKK1NBWC5lbmRFbGVtZW50TnMoZG9jLCBOVUxMLCBOVUxMKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2R0ZDcgYi9saWJ4bWwyL3Jlc3VsdC9kdGQ3Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBhNDA3NWYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kdGQ3CkBAIC0wLDAgKzEsNyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IURPQ1RZUEUgZG9jIFsKKzwhRUxFTUVOVCBkb2MgKGEgLCBiKSo+Cis8IUVMRU1FTlQgYSAoI1BDREFUQSk+Cis8IUVMRU1FTlQgYiAoI1BDREFUQSk+CitdPgorPGRvYz48YT5UaGlzPC9hPjxiPiBpcyBhIHZhbGlkIGRvY3VtZW50PC9iPjwvZG9jPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZHRkNy5yZGUgYi9saWJ4bWwyL3Jlc3VsdC9kdGQ3LnJkZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNDc3NjEzCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZHRkNy5yZGUKQEAgLTAsMCArMSw5IEBACiswIDEwIGRvYyAwIDAKKzAgMSBkb2MgMCAwCisxIDEgYSAwIDAKKzIgMyAjdGV4dCAwIDEgVGhpcworMSAxNSBhIDAgMAorMSAxIGIgMCAwCisyIDMgI3RleHQgMCAxICBpcyBhIHZhbGlkIGRvY3VtZW50CisxIDE1IGIgMCAwCiswIDE1IGRvYyAwIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2R0ZDcucmRyIGIvbGlieG1sMi9yZXN1bHQvZHRkNy5yZHIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTQ3NzYxMwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2R0ZDcucmRyCkBAIC0wLDAgKzEsOSBAQAorMCAxMCBkb2MgMCAwCiswIDEgZG9jIDAgMAorMSAxIGEgMCAwCisyIDMgI3RleHQgMCAxIFRoaXMKKzEgMTUgYSAwIDAKKzEgMSBiIDAgMAorMiAzICN0ZXh0IDAgMSAgaXMgYSB2YWxpZCBkb2N1bWVudAorMSAxNSBiIDAgMAorMCAxNSBkb2MgMCAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9kdGQ3LnNheCBiL2xpYnhtbDIvcmVzdWx0L2R0ZDcuc2F4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRiZjZlNWYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kdGQ3LnNheApAQCAtMCwwICsxLDE2IEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5pbnRlcm5hbFN1YnNldChkb2MsICwgKQorU0FYLmVsZW1lbnREZWNsKGRvYywgNCwgLi4uKQorU0FYLmVsZW1lbnREZWNsKGEsIDMsIC4uLikKK1NBWC5lbGVtZW50RGVjbChiLCAzLCAuLi4pCitTQVguZXh0ZXJuYWxTdWJzZXQoZG9jLCAsICkKK1NBWC5zdGFydEVsZW1lbnQoZG9jKQorU0FYLnN0YXJ0RWxlbWVudChhKQorU0FYLmNoYXJhY3RlcnMoVGhpcywgNCkKK1NBWC5lbmRFbGVtZW50KGEpCitTQVguc3RhcnRFbGVtZW50KGIpCitTQVguY2hhcmFjdGVycyggaXMgYSB2YWxpZCBkb2N1bWVudCwgMjApCitTQVguZW5kRWxlbWVudChiKQorU0FYLmVuZEVsZW1lbnQoZG9jKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2R0ZDcuc2F4MiBiL2xpYnhtbDIvcmVzdWx0L2R0ZDcuc2F4MgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YTQ3MTkxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZHRkNy5zYXgyCkBAIC0wLDAgKzEsMTYgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLmludGVybmFsU3Vic2V0KGRvYywgLCApCitTQVguZWxlbWVudERlY2woZG9jLCA0LCAuLi4pCitTQVguZWxlbWVudERlY2woYSwgMywgLi4uKQorU0FYLmVsZW1lbnREZWNsKGIsIDMsIC4uLikKK1NBWC5leHRlcm5hbFN1YnNldChkb2MsICwgKQorU0FYLnN0YXJ0RWxlbWVudE5zKGRvYywgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5zdGFydEVsZW1lbnROcyhhLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoVGhpcywgNCkKK1NBWC5lbmRFbGVtZW50TnMoYSwgTlVMTCwgTlVMTCkKK1NBWC5zdGFydEVsZW1lbnROcyhiLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoIGlzIGEgdmFsaWQgZG9jdW1lbnQsIDIwKQorU0FYLmVuZEVsZW1lbnROcyhiLCBOVUxMLCBOVUxMKQorU0FYLmVuZEVsZW1lbnROcyhkb2MsIE5VTEwsIE5VTEwpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZHRkOCBiL2xpYnhtbDIvcmVzdWx0L2R0ZDgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2E2NTVmOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2R0ZDgKQEAgLTAsMCArMSw5IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhRE9DVFlQRSBkb2MgWworPCFFTEVNRU5UIGRvYyAoKGEgfCBiKSAsIChjIHwgZCkpKz4KKzwhRUxFTUVOVCBhICgjUENEQVRBKT4KKzwhRUxFTUVOVCBiICgjUENEQVRBKT4KKzwhRUxFTUVOVCBjICgjUENEQVRBKT4KKzwhRUxFTUVOVCBkICgjUENEQVRBKT4KK10+Cis8ZG9jPjxiPlRoaXM8L2I+PGM+IGlzIGEgdmFsaWQgZG9jdW1lbnQ8L2M+PC9kb2M+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9kdGQ4LnJkZSBiL2xpYnhtbDIvcmVzdWx0L2R0ZDgucmRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE1ZWUwMTAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kdGQ4LnJkZQpAQCAtMCwwICsxLDkgQEAKKzAgMTAgZG9jIDAgMAorMCAxIGRvYyAwIDAKKzEgMSBiIDAgMAorMiAzICN0ZXh0IDAgMSBUaGlzCisxIDE1IGIgMCAwCisxIDEgYyAwIDAKKzIgMyAjdGV4dCAwIDEgIGlzIGEgdmFsaWQgZG9jdW1lbnQKKzEgMTUgYyAwIDAKKzAgMTUgZG9jIDAgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZHRkOC5yZHIgYi9saWJ4bWwyL3Jlc3VsdC9kdGQ4LnJkcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNWVlMDEwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZHRkOC5yZHIKQEAgLTAsMCArMSw5IEBACiswIDEwIGRvYyAwIDAKKzAgMSBkb2MgMCAwCisxIDEgYiAwIDAKKzIgMyAjdGV4dCAwIDEgVGhpcworMSAxNSBiIDAgMAorMSAxIGMgMCAwCisyIDMgI3RleHQgMCAxICBpcyBhIHZhbGlkIGRvY3VtZW50CisxIDE1IGMgMCAwCiswIDE1IGRvYyAwIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2R0ZDguc2F4IGIvbGlieG1sMi9yZXN1bHQvZHRkOC5zYXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmQ5NDlhMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2R0ZDguc2F4CkBAIC0wLDAgKzEsMTggQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLmludGVybmFsU3Vic2V0KGRvYywgLCApCitTQVguZWxlbWVudERlY2woZG9jLCA0LCAuLi4pCitTQVguZWxlbWVudERlY2woYSwgMywgLi4uKQorU0FYLmVsZW1lbnREZWNsKGIsIDMsIC4uLikKK1NBWC5lbGVtZW50RGVjbChjLCAzLCAuLi4pCitTQVguZWxlbWVudERlY2woZCwgMywgLi4uKQorU0FYLmV4dGVybmFsU3Vic2V0KGRvYywgLCApCitTQVguc3RhcnRFbGVtZW50KGRvYykKK1NBWC5zdGFydEVsZW1lbnQoYikKK1NBWC5jaGFyYWN0ZXJzKFRoaXMsIDQpCitTQVguZW5kRWxlbWVudChiKQorU0FYLnN0YXJ0RWxlbWVudChjKQorU0FYLmNoYXJhY3RlcnMoIGlzIGEgdmFsaWQgZG9jdW1lbnQsIDIwKQorU0FYLmVuZEVsZW1lbnQoYykKK1NBWC5lbmRFbGVtZW50KGRvYykKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9kdGQ4LnNheDIgYi9saWJ4bWwyL3Jlc3VsdC9kdGQ4LnNheDIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDM4YjYwZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2R0ZDguc2F4MgpAQCAtMCwwICsxLDE4IEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5pbnRlcm5hbFN1YnNldChkb2MsICwgKQorU0FYLmVsZW1lbnREZWNsKGRvYywgNCwgLi4uKQorU0FYLmVsZW1lbnREZWNsKGEsIDMsIC4uLikKK1NBWC5lbGVtZW50RGVjbChiLCAzLCAuLi4pCitTQVguZWxlbWVudERlY2woYywgMywgLi4uKQorU0FYLmVsZW1lbnREZWNsKGQsIDMsIC4uLikKK1NBWC5leHRlcm5hbFN1YnNldChkb2MsICwgKQorU0FYLnN0YXJ0RWxlbWVudE5zKGRvYywgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5zdGFydEVsZW1lbnROcyhiLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoVGhpcywgNCkKK1NBWC5lbmRFbGVtZW50TnMoYiwgTlVMTCwgTlVMTCkKK1NBWC5zdGFydEVsZW1lbnROcyhjLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoIGlzIGEgdmFsaWQgZG9jdW1lbnQsIDIwKQorU0FYLmVuZEVsZW1lbnROcyhjLCBOVUxMLCBOVUxMKQorU0FYLmVuZEVsZW1lbnROcyhkb2MsIE5VTEwsIE5VTEwpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZHRkOSBiL2xpYnhtbDIvcmVzdWx0L2R0ZDkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODljYzFkNAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2R0ZDkKQEAgLTAsMCArMSw5IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhRE9DVFlQRSBkb2MgWworPCFFTEVNRU5UIGRvYyAoKGEgfCBiIHwgYykgLCBkKT8+Cis8IUVMRU1FTlQgYSAoI1BDREFUQSk+Cis8IUVMRU1FTlQgYiAoI1BDREFUQSk+Cis8IUVMRU1FTlQgYyAoI1BDREFUQSk+Cis8IUVMRU1FTlQgZCAoI1BDREFUQSk+CitdPgorPGRvYz48Yj5UaGlzPC9iPjxkPiBpcyBhIHZhbGlkIGRvY3VtZW50PC9kPjwvZG9jPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZHRkOS5yZGUgYi9saWJ4bWwyL3Jlc3VsdC9kdGQ5LnJkZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZTJiMmU5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZHRkOS5yZGUKQEAgLTAsMCArMSw5IEBACiswIDEwIGRvYyAwIDAKKzAgMSBkb2MgMCAwCisxIDEgYiAwIDAKKzIgMyAjdGV4dCAwIDEgVGhpcworMSAxNSBiIDAgMAorMSAxIGQgMCAwCisyIDMgI3RleHQgMCAxICBpcyBhIHZhbGlkIGRvY3VtZW50CisxIDE1IGQgMCAwCiswIDE1IGRvYyAwIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2R0ZDkucmRyIGIvbGlieG1sMi9yZXN1bHQvZHRkOS5yZHIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmUyYjJlOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2R0ZDkucmRyCkBAIC0wLDAgKzEsOSBAQAorMCAxMCBkb2MgMCAwCiswIDEgZG9jIDAgMAorMSAxIGIgMCAwCisyIDMgI3RleHQgMCAxIFRoaXMKKzEgMTUgYiAwIDAKKzEgMSBkIDAgMAorMiAzICN0ZXh0IDAgMSAgaXMgYSB2YWxpZCBkb2N1bWVudAorMSAxNSBkIDAgMAorMCAxNSBkb2MgMCAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9kdGQ5LnNheCBiL2xpYnhtbDIvcmVzdWx0L2R0ZDkuc2F4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjczOGY0ZDMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kdGQ5LnNheApAQCAtMCwwICsxLDE4IEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5pbnRlcm5hbFN1YnNldChkb2MsICwgKQorU0FYLmVsZW1lbnREZWNsKGRvYywgNCwgLi4uKQorU0FYLmVsZW1lbnREZWNsKGEsIDMsIC4uLikKK1NBWC5lbGVtZW50RGVjbChiLCAzLCAuLi4pCitTQVguZWxlbWVudERlY2woYywgMywgLi4uKQorU0FYLmVsZW1lbnREZWNsKGQsIDMsIC4uLikKK1NBWC5leHRlcm5hbFN1YnNldChkb2MsICwgKQorU0FYLnN0YXJ0RWxlbWVudChkb2MpCitTQVguc3RhcnRFbGVtZW50KGIpCitTQVguY2hhcmFjdGVycyhUaGlzLCA0KQorU0FYLmVuZEVsZW1lbnQoYikKK1NBWC5zdGFydEVsZW1lbnQoZCkKK1NBWC5jaGFyYWN0ZXJzKCBpcyBhIHZhbGlkIGRvY3VtZW50LCAyMCkKK1NBWC5lbmRFbGVtZW50KGQpCitTQVguZW5kRWxlbWVudChkb2MpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZHRkOS5zYXgyIGIvbGlieG1sMi9yZXN1bHQvZHRkOS5zYXgyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE1YjUzN2YKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9kdGQ5LnNheDIKQEAgLTAsMCArMSwxOCBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguaW50ZXJuYWxTdWJzZXQoZG9jLCAsICkKK1NBWC5lbGVtZW50RGVjbChkb2MsIDQsIC4uLikKK1NBWC5lbGVtZW50RGVjbChhLCAzLCAuLi4pCitTQVguZWxlbWVudERlY2woYiwgMywgLi4uKQorU0FYLmVsZW1lbnREZWNsKGMsIDMsIC4uLikKK1NBWC5lbGVtZW50RGVjbChkLCAzLCAuLi4pCitTQVguZXh0ZXJuYWxTdWJzZXQoZG9jLCAsICkKK1NBWC5zdGFydEVsZW1lbnROcyhkb2MsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguc3RhcnRFbGVtZW50TnMoYiwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKFRoaXMsIDQpCitTQVguZW5kRWxlbWVudE5zKGIsIE5VTEwsIE5VTEwpCitTQVguc3RhcnRFbGVtZW50TnMoZCwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKCBpcyBhIHZhbGlkIGRvY3VtZW50LCAyMCkKK1NBWC5lbmRFbGVtZW50TnMoZCwgTlVMTCwgTlVMTCkKK1NBWC5lbmRFbGVtZW50TnMoZG9jLCBOVUxMLCBOVUxMKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2ViY2RpY181NjYwMTIueG1sIGIvbGlieG1sMi9yZXN1bHQvZWJjZGljXzU2NjAxMi54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTUzYWRkNQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2ViY2RpY181NjYwMTIueG1sCkBAIC0wLDAgKzEgQEAKK0xvp5STQKWFmaKJlpV+f/FL8H9AhZWDloSJlYd+f8nC1GDx8fTxf29uJUyjhaKjQIGjo5l+f0rgWn9hbiUKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9lYmNkaWNfNTY2MDEyLnhtbC5yZGUgYi9saWJ4bWwyL3Jlc3VsdC9lYmNkaWNfNTY2MDEyLnhtbC5yZGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWZiYzE4YgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2ViY2RpY181NjYwMTIueG1sLnJkZQpAQCAtMCwwICsxIEBACiswIDEgdGVzdCAxIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2ViY2RpY181NjYwMTIueG1sLnJkciBiL2xpYnhtbDIvcmVzdWx0L2ViY2RpY181NjYwMTIueG1sLnJkcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZmJjMThiCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZWJjZGljXzU2NjAxMi54bWwucmRyCkBAIC0wLDAgKzEgQEAKKzAgMSB0ZXN0IDEgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZWJjZGljXzU2NjAxMi54bWwuc2F4IGIvbGlieG1sMi9yZXN1bHQvZWJjZGljXzU2NjAxMi54bWwuc2F4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdlYzZkNWEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9lYmNkaWNfNTY2MDEyLnhtbC5zYXgKQEAgLTAsMCArMSw1IEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5zdGFydEVsZW1lbnQodGVzdCwgYXR0cj0nw4TDlsOcJykKK1NBWC5lbmRFbGVtZW50KHRlc3QpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZWJjZGljXzU2NjAxMi54bWwuc2F4MiBiL2xpYnhtbDIvcmVzdWx0L2ViY2RpY181NjYwMTIueG1sLnNheDIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjhhNGNlMAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2ViY2RpY181NjYwMTIueG1sLnNheDIKQEAgLTAsMCArMSw1IEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5zdGFydEVsZW1lbnROcyh0ZXN0LCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBhdHRyPSfDhMOWLi4uJywgNikKK1NBWC5lbmRFbGVtZW50TnModGVzdCwgTlVMTCwgTlVMTCkKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9lbXB0eWNkYXRhLnhtbCBiL2xpYnhtbDIvcmVzdWx0L2VtcHR5Y2RhdGEueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJjOTgzODgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9lbXB0eWNkYXRhLnhtbApAQCAtMCwwICsxLDQgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPgorPCFbQ0RBVEFbXV0+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9lbXB0eWNkYXRhLnhtbC5yZGUgYi9saWJ4bWwyL3Jlc3VsdC9lbXB0eWNkYXRhLnhtbC5yZGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWM4Yjc0ZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2VtcHR5Y2RhdGEueG1sLnJkZQpAQCAtMCwwICsxLDcgQEAKKzAgMSBodG1sIDAgMAorMSAxNCAjdGV4dCAwIDEgCisKKzEgNCAjY2RhdGEtc2VjdGlvbiAwIDEgCisxIDE0ICN0ZXh0IDAgMSAKKworMCAxNSBodG1sIDAgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZW1wdHljZGF0YS54bWwucmRyIGIvbGlieG1sMi9yZXN1bHQvZW1wdHljZGF0YS54bWwucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFjOGI3NGYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9lbXB0eWNkYXRhLnhtbC5yZHIKQEAgLTAsMCArMSw3IEBACiswIDEgaHRtbCAwIDAKKzEgMTQgI3RleHQgMCAxIAorCisxIDQgI2NkYXRhLXNlY3Rpb24gMCAxIAorMSAxNCAjdGV4dCAwIDEgCisKKzAgMTUgaHRtbCAwIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2VtcHR5Y2RhdGEueG1sLnNheCBiL2xpYnhtbDIvcmVzdWx0L2VtcHR5Y2RhdGEueG1sLnNheApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zOTU4N2M2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZW1wdHljZGF0YS54bWwuc2F4CkBAIC0wLDAgKzEsMTAgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLnN0YXJ0RWxlbWVudChodG1sLCB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCcpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5wY2RhdGEoLCAwKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguZW5kRWxlbWVudChodG1sKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2VtcHR5Y2RhdGEueG1sLnNheDIgYi9saWJ4bWwyL3Jlc3VsdC9lbXB0eWNkYXRhLnhtbC5zYXgyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdmODAyOTYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9lbXB0eWNkYXRhLnhtbC5zYXgyCkBAIC0wLDAgKzEsMTAgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLnN0YXJ0RWxlbWVudE5zKGh0bWwsIE5VTEwsICdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sJywgMSwgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwnLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVgucGNkYXRhKCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmVuZEVsZW1lbnROcyhodG1sLCBOVUxMLCAnaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCcpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZW50MSBiL2xpYnhtbDIvcmVzdWx0L2VudDEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2UyNDc1NgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2VudDEKQEAgLTAsMCArMSw3IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhRE9DVFlQRSBFWEFNUExFIFNZU1RFTSAiZXhhbXBsZS5kdGQiIFsKKzwhRU5USVRZIHhtbCAiRXh0ZW5zaWJsZSBNYXJrdXAgTGFuZ3VhZ2UiPgorXT4KKzxFWEFNUExFPgorICAgICZ4bWw7Cis8L0VYQU1QTEU+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9lbnQxLnJkZSBiL2xpYnhtbDIvcmVzdWx0L2VudDEucmRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ4MDZkMjQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9lbnQxLnJkZQpAQCAtMCwwICsxLDYgQEAKKzAgMTAgRVhBTVBMRSAwIDAKKzAgMSBFWEFNUExFIDAgMAorMSAzICN0ZXh0IDAgMSAKKyAgICBFeHRlbnNpYmxlIE1hcmt1cCBMYW5ndWFnZQorCiswIDE1IEVYQU1QTEUgMCAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9lbnQxLnJkciBiL2xpYnhtbDIvcmVzdWx0L2VudDEucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlmOWMyY2MKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9lbnQxLnJkcgpAQCAtMCwwICsxLDggQEAKKzAgMTAgRVhBTVBMRSAwIDAKKzAgMSBFWEFNUExFIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgICAgCisxIDUgeG1sIDAgMAorMSAxNCAjdGV4dCAwIDEgCisKKzAgMTUgRVhBTVBMRSAwIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2VudDEuc2F4IGIvbGlieG1sMi9yZXN1bHQvZW50MS5zYXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWQ1MzM0ZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2VudDEuc2F4CkBAIC0wLDAgKzEsMTYgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLmludGVybmFsU3Vic2V0KEVYQU1QTEUsICwgZXhhbXBsZS5kdGQpCitTQVguZW50aXR5RGVjbCh4bWwsIDEsIChudWxsKSwgKG51bGwpLCBFeHRlbnNpYmxlIE1hcmt1cCBMYW5ndWFnZSkKK1NBWC5nZXRFbnRpdHkoeG1sKQorU0FYLmV4dGVybmFsU3Vic2V0KEVYQU1QTEUsICwgZXhhbXBsZS5kdGQpCitTQVguc3RhcnRFbGVtZW50KEVYQU1QTEUpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguZ2V0RW50aXR5KHhtbCkKK1NBWC5jaGFyYWN0ZXJzKEV4dGVuc2libGUgTWFya3VwIExhbmd1YWdlLCAyNikKK1NBWC5yZWZlcmVuY2UoeG1sKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguZW5kRWxlbWVudChFWEFNUExFKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2VudDEuc2F4MiBiL2xpYnhtbDIvcmVzdWx0L2VudDEuc2F4MgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NzNmNDg1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZW50MS5zYXgyCkBAIC0wLDAgKzEsMTYgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLmludGVybmFsU3Vic2V0KEVYQU1QTEUsICwgZXhhbXBsZS5kdGQpCitTQVguZW50aXR5RGVjbCh4bWwsIDEsIChudWxsKSwgKG51bGwpLCBFeHRlbnNpYmxlIE1hcmt1cCBMYW5ndWFnZSkKK1NBWC5nZXRFbnRpdHkoeG1sKQorU0FYLmV4dGVybmFsU3Vic2V0KEVYQU1QTEUsICwgZXhhbXBsZS5kdGQpCitTQVguc3RhcnRFbGVtZW50TnMoRVhBTVBMRSwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5nZXRFbnRpdHkoeG1sKQorU0FYLmNoYXJhY3RlcnMoRXh0ZW5zaWJsZSBNYXJrdXAgTGFuZ3VhZ2UsIDI2KQorU0FYLnJlZmVyZW5jZSh4bWwpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5lbmRFbGVtZW50TnMoRVhBTVBMRSwgTlVMTCwgTlVMTCkKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9lbnQxMCBiL2xpYnhtbDIvcmVzdWx0L2VudDEwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM0NmQxOWYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9lbnQxMApAQCAtMCwwICsxLDE0IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJJU08tODg1OS0xIj8+Cis8IURPQ1RZUEUgcm5vZGUgWworPCFFTEVNRU5UIHJub2RlIChmKT4KKzwhRUxFTUVOVCBmICgjUENEQVRBKT4KKzwhQVRUTElTVCBmIGF0dDEgQ0RBVEEgI0ZJWEVEICJKIj4KKzwhRU5USVRZIGYgIgorICAgPGY+CisgICBoZWxsbyB3b3JsZAorICAgPC9mPgorICAgIj4KK10+Cis8cm5vZGU+CisgICAmZjsKKzwvcm5vZGU+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9lbnQxMC5yZGUgYi9saWJ4bWwyL3Jlc3VsdC9lbnQxMC5yZGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5NTk0YwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2VudDEwLnJkZQpAQCAtMCwwICsxLDE0IEBACiswIDEwIHJub2RlIDAgMAorMCAxIHJub2RlIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgICAKKyAgIAorMSAxIGYgMCAwCisyIDMgI3RleHQgMCAxIAorICAgaGVsbG8gd29ybGQKKyAgIAorMSAxNSBmIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgICAKKworMCAxNSBybm9kZSAwIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2VudDEwLnJkciBiL2xpYnhtbDIvcmVzdWx0L2VudDEwLnJkcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNGVkYjUwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZW50MTAucmRyCkBAIC0wLDAgKzEsOCBAQAorMCAxMCBybm9kZSAwIDAKKzAgMSBybm9kZSAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAgCisxIDUgZiAwIDAKKzEgMTQgI3RleHQgMCAxIAorCiswIDE1IHJub2RlIDAgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZW50MTAuc2F4IGIvbGlieG1sMi9yZXN1bHQvZW50MTAuc2F4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc1ZWQyMGEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9lbnQxMC5zYXgKQEAgLTAsMCArMSwzMSBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguaW50ZXJuYWxTdWJzZXQocm5vZGUsICwgKQorU0FYLmVsZW1lbnREZWNsKHJub2RlLCA0LCAuLi4pCitTQVguZWxlbWVudERlY2woZiwgMywgLi4uKQorU0FYLmF0dHJpYnV0ZURlY2woZiwgYXR0MSwgMSwgNCwgSiwgLi4uKQorU0FYLmVudGl0eURlY2woZiwgMSwgKG51bGwpLCAobnVsbCksIAorICAgPGY+CisgICBoZWxsbyB3b3JsZAorICAgPC9mPgorICAgKQorU0FYLmdldEVudGl0eShmKQorU0FYLmV4dGVybmFsU3Vic2V0KHJub2RlLCAsICkKK1NBWC5zdGFydEVsZW1lbnQocm5vZGUpCitTQVguY2hhcmFjdGVycygKKyAgICwgNCkKK1NBWC5nZXRFbnRpdHkoZikKK1NBWC5pZ25vcmFibGVXaGl0ZXNwYWNlKAorICAgLCA0KQorU0FYLnN0YXJ0RWxlbWVudChmKQorU0FYLmNoYXJhY3RlcnMoCisgICBoZWxsbyB3b3JsZAorICAgLCAxOSkKK1NBWC5lbmRFbGVtZW50KGYpCitTQVguY2hhcmFjdGVycygKKyAgICwgNCkKK1NBWC5yZWZlcmVuY2UoZikKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmVuZEVsZW1lbnQocm5vZGUpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZW50MTAuc2F4MiBiL2xpYnhtbDIvcmVzdWx0L2VudDEwLnNheDIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2EzNzlmYwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2VudDEwLnNheDIKQEAgLTAsMCArMSwzMSBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguaW50ZXJuYWxTdWJzZXQocm5vZGUsICwgKQorU0FYLmVsZW1lbnREZWNsKHJub2RlLCA0LCAuLi4pCitTQVguZWxlbWVudERlY2woZiwgMywgLi4uKQorU0FYLmF0dHJpYnV0ZURlY2woZiwgYXR0MSwgMSwgNCwgSiwgLi4uKQorU0FYLmVudGl0eURlY2woZiwgMSwgKG51bGwpLCAobnVsbCksIAorICAgPGY+CisgICBoZWxsbyB3b3JsZAorICAgPC9mPgorICAgKQorU0FYLmdldEVudGl0eShmKQorU0FYLmV4dGVybmFsU3Vic2V0KHJub2RlLCAsICkKK1NBWC5zdGFydEVsZW1lbnROcyhybm9kZSwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgLCA0KQorU0FYLmdldEVudGl0eShmKQorU0FYLmlnbm9yYWJsZVdoaXRlc3BhY2UoCisgICAsIDQpCitTQVguc3RhcnRFbGVtZW50TnMoZiwgTlVMTCwgTlVMTCwgMCwgMSwgMSwgYXR0MT0nSi4uLicsIDEpCitTQVguY2hhcmFjdGVycygKKyAgIGhlbGxvIHdvcmxkCisgICAsIDE5KQorU0FYLmVuZEVsZW1lbnROcyhmLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAsIDQpCitTQVgucmVmZXJlbmNlKGYpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5lbmRFbGVtZW50TnMocm5vZGUsIE5VTEwsIE5VTEwpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZW50MTEgYi9saWJ4bWwyL3Jlc3VsdC9lbnQxMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZWVlMDIzCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZW50MTEKQEAgLTAsMCArMSw1IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPCFET0NUWVBFIGRvYyBbCis8IUVOVElUWSBuZXdsICImIzEzOyI+CitdPgorPGRvYz4mbmV3bDs8L2RvYz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2VudDExLnJkZSBiL2xpYnhtbDIvcmVzdWx0L2VudDExLnJkZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNmMzYzI3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZW50MTEucmRlCkBAIC0wLDAgKzEsNSBAQAorMCAxMCBkb2MgMCAwCiswIDEgZG9jIDAgMAorMSAxNCAjdGV4dCAwIDEgCisKKzAgMTUgZG9jIDAgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZW50MTEucmRyIGIvbGlieG1sMi9yZXN1bHQvZW50MTEucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU0YTc1NGEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9lbnQxMS5yZHIKQEAgLTAsMCArMSw0IEBACiswIDEwIGRvYyAwIDAKKzAgMSBkb2MgMCAwCisxIDUgbmV3bCAwIDAKKzAgMTUgZG9jIDAgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZW50MTEuc2F4IGIvbGlieG1sMi9yZXN1bHQvZW50MTEuc2F4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRlMzZhNmIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9lbnQxMS5zYXgKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZW50MTEuc2F4MiBiL2xpYnhtbDIvcmVzdWx0L2VudDExLnNheDIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTgwNzc4ZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2VudDExLnNheDIKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZW50MTIgYi9saWJ4bWwyL3Jlc3VsdC9lbnQxMgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNjAzYzU5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZW50MTIKQEAgLTAsMCArMSw4IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhRE9DVFlQRSByb290IFsKKzwhRU5USVRZIGZvbyAiYWJjIj4KKzwhRU5USVRZIGJhciAiZGVmIj4KK10+Cis8cm9vdCBhdHRyaWJ1dGU9IiZmb287Ij4KKyAgIDxlbGVtZW50PiZiYXI7PC9lbGVtZW50PgorPC9yb290PgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZW50MTIucmRlIGIvbGlieG1sMi9yZXN1bHQvZW50MTIucmRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ4MzU0N2IKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9lbnQxMi5yZGUKQEAgLTAsMCArMSwxMCBAQAorMCAxMCByb290IDAgMAorMCAxIHJvb3QgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSAxIGVsZW1lbnQgMCAwCisyIDMgI3RleHQgMCAxIGRlZgorMSAxNSBlbGVtZW50IDAgMAorMSAxNCAjdGV4dCAwIDEgCisKKzAgMTUgcm9vdCAwIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2VudDEyLnJkciBiL2xpYnhtbDIvcmVzdWx0L2VudDEyLnJkcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ODRjMWZlCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZW50MTIucmRyCkBAIC0wLDAgKzEsMTAgQEAKKzAgMTAgcm9vdCAwIDAKKzAgMSByb290IDAgMAorMSAxNCAjdGV4dCAwIDEgCisgICAKKzEgMSBlbGVtZW50IDAgMAorMiA1IGJhciAwIDAKKzEgMTUgZWxlbWVudCAwIDAKKzEgMTQgI3RleHQgMCAxIAorCiswIDE1IHJvb3QgMCAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9lbnQxMi5zYXggYi9saWJ4bWwyL3Jlc3VsdC9lbnQxMi5zYXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODQzMjJkMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2VudDEyLnNheApAQCAtMCwwICsxLDIxIEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5pbnRlcm5hbFN1YnNldChyb290LCAsICkKK1NBWC5lbnRpdHlEZWNsKGZvbywgMSwgKG51bGwpLCAobnVsbCksIGFiYykKK1NBWC5nZXRFbnRpdHkoZm9vKQorU0FYLmVudGl0eURlY2woYmFyLCAxLCAobnVsbCksIChudWxsKSwgZGVmKQorU0FYLmdldEVudGl0eShiYXIpCitTQVguZXh0ZXJuYWxTdWJzZXQocm9vdCwgLCApCitTQVguZ2V0RW50aXR5KGZvbykKK1NBWC5zdGFydEVsZW1lbnQocm9vdCwgYXR0cmlidXRlPScmZm9vOycpCitTQVguY2hhcmFjdGVycygKKyAgICwgNCkKK1NBWC5zdGFydEVsZW1lbnQoZWxlbWVudCkKK1NBWC5nZXRFbnRpdHkoYmFyKQorU0FYLmNoYXJhY3RlcnMoZGVmLCAzKQorU0FYLnJlZmVyZW5jZShiYXIpCitTQVguZW5kRWxlbWVudChlbGVtZW50KQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguZW5kRWxlbWVudChyb290KQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2VudDEyLnNheDIgYi9saWJ4bWwyL3Jlc3VsdC9lbnQxMi5zYXgyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg4MWZlZGQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9lbnQxMi5zYXgyCkBAIC0wLDAgKzEsMjEgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLmludGVybmFsU3Vic2V0KHJvb3QsICwgKQorU0FYLmVudGl0eURlY2woZm9vLCAxLCAobnVsbCksIChudWxsKSwgYWJjKQorU0FYLmdldEVudGl0eShmb28pCitTQVguZW50aXR5RGVjbChiYXIsIDEsIChudWxsKSwgKG51bGwpLCBkZWYpCitTQVguZ2V0RW50aXR5KGJhcikKK1NBWC5leHRlcm5hbFN1YnNldChyb290LCAsICkKK1NBWC5nZXRFbnRpdHkoZm9vKQorU0FYLnN0YXJ0RWxlbWVudE5zKHJvb3QsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGF0dHJpYnV0ZT0nJmZvby4uLicsIDUpCitTQVguY2hhcmFjdGVycygKKyAgICwgNCkKK1NBWC5zdGFydEVsZW1lbnROcyhlbGVtZW50LCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmdldEVudGl0eShiYXIpCitTQVguY2hhcmFjdGVycyhkZWYsIDMpCitTQVgucmVmZXJlbmNlKGJhcikKK1NBWC5lbmRFbGVtZW50TnMoZWxlbWVudCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmVuZEVsZW1lbnROcyhyb290LCBOVUxMLCBOVUxMKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2VudDEzIGIvbGlieG1sMi9yZXN1bHQvZW50MTMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGRkOTZjOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2VudDEzCkBAIC0wLDAgKzEsNSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IURPQ1RZUEUgdGVzdCBbCis8IUVOVElUWSBhbXBwcm9ibGVtICImYW1wOyI+CitdPgorPHQgYT0iJmFtcHByb2JsZW07Ij5hPC90PgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZW50MTMucmRlIGIvbGlieG1sMi9yZXN1bHQvZW50MTMucmRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ5MjI3ZmMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9lbnQxMy5yZGUKQEAgLTAsMCArMSw0IEBACiswIDEwIHRlc3QgMCAwCiswIDEgdCAwIDAKKzEgMyAjdGV4dCAwIDEgYQorMCAxNSB0IDAgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZW50MTMucmRyIGIvbGlieG1sMi9yZXN1bHQvZW50MTMucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ5MjI3ZmMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9lbnQxMy5yZHIKQEAgLTAsMCArMSw0IEBACiswIDEwIHRlc3QgMCAwCiswIDEgdCAwIDAKKzEgMyAjdGV4dCAwIDEgYQorMCAxNSB0IDAgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZW50MTMuc2F4IGIvbGlieG1sMi9yZXN1bHQvZW50MTMuc2F4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVlNGJiNDQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9lbnQxMy5zYXgKQEAgLTAsMCArMSwxMSBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguaW50ZXJuYWxTdWJzZXQodGVzdCwgLCApCitTQVguZW50aXR5RGVjbChhbXBwcm9ibGVtLCAxLCAobnVsbCksIChudWxsKSwgJmFtcDspCitTQVguZ2V0RW50aXR5KGFtcHByb2JsZW0pCitTQVguZXh0ZXJuYWxTdWJzZXQodGVzdCwgLCApCitTQVguZ2V0RW50aXR5KGFtcHByb2JsZW0pCitTQVguc3RhcnRFbGVtZW50KHQsIGE9JyZhbXBwcm9ibGVtOycpCitTQVguY2hhcmFjdGVycyhhLCAxKQorU0FYLmVuZEVsZW1lbnQodCkKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9lbnQxMy5zYXgyIGIvbGlieG1sMi9yZXN1bHQvZW50MTMuc2F4MgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNDE0ZGE2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZW50MTMuc2F4MgpAQCAtMCwwICsxLDExIEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5pbnRlcm5hbFN1YnNldCh0ZXN0LCAsICkKK1NBWC5lbnRpdHlEZWNsKGFtcHByb2JsZW0sIDEsIChudWxsKSwgKG51bGwpLCAmYW1wOykKK1NBWC5nZXRFbnRpdHkoYW1wcHJvYmxlbSkKK1NBWC5leHRlcm5hbFN1YnNldCh0ZXN0LCAsICkKK1NBWC5nZXRFbnRpdHkoYW1wcHJvYmxlbSkKK1NBWC5zdGFydEVsZW1lbnROcyh0LCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBhPScmYW1wLi4uJywgMTIpCitTQVguY2hhcmFjdGVycyhhLCAxKQorU0FYLmVuZEVsZW1lbnROcyh0LCBOVUxMLCBOVUxMKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2VudDIgYi9saWJ4bWwyL3Jlc3VsdC9lbnQyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJiNDEzN2MKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9lbnQyCkBAIC0wLDAgKzEsMTAgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCFET0NUWVBFIEVYQU1QTEUgU1lTVEVNICJleGFtcGxlLmR0ZCIgWworPCFFTlRJVFkgeG1sICJFeHRlbnNpYmxlIE1hcmt1cCBMYW5ndWFnZSI+Cis8IUVOVElUWSB0aXRsZSBQVUJMSUMgIi0vL01ZLVRJVExFLy9GUiIgInRpdGxlLnhtbCI+Cis8IUVOVElUWSBpbWFnZSBTWVNURU0gImltZy5naWYiIE5EQVRBIEdJRj4KK10+Cis8RVhBTVBMRT4KKyAgJnRpdGxlOworICBUaGlzIHRleHQgaXMgYWJvdXQgWE1MLCB0aGUgJnhtbDsgYW5kIHRoaXMgaXMgYW4gZW1iZWRkZWQgPElNRyBzcmM9ImltYWdlIi8+Cis8L0VYQU1QTEU+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9lbnQyLnJkZSBiL2xpYnhtbDIvcmVzdWx0L2VudDIucmRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdmZTNhYTgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9lbnQyLnJkZQpAQCAtMCwwICsxLDE1IEBACiswIDEwIEVYQU1QTEUgMCAwCiswIDEgRVhBTVBMRSAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKworMSAxIHRpdGxlIDAgMAorMiAzICN0ZXh0IDAgMSBteSB0aXRsZQorMSAxNSB0aXRsZSAwIDAKKzEgMyAjdGV4dCAwIDEgCisKKyAgVGhpcyB0ZXh0IGlzIGFib3V0IFhNTCwgdGhlIEV4dGVuc2libGUgTWFya3VwIExhbmd1YWdlIGFuZCB0aGlzIGlzIGFuIGVtYmVkZGVkIAorMSAxIElNRyAxIDAKKzEgMTQgI3RleHQgMCAxIAorCiswIDE1IEVYQU1QTEUgMCAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9lbnQyLnJkciBiL2xpYnhtbDIvcmVzdWx0L2VudDIucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZjMmU3NjEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9lbnQyLnJkcgpAQCAtMCwwICsxLDEzIEBACiswIDEwIEVYQU1QTEUgMCAwCiswIDEgRVhBTVBMRSAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKzEgNSB0aXRsZSAwIDAKKzEgMyAjdGV4dCAwIDEgCisgIFRoaXMgdGV4dCBpcyBhYm91dCBYTUwsIHRoZSAKKzEgNSB4bWwgMCAwCisxIDMgI3RleHQgMCAxICBhbmQgdGhpcyBpcyBhbiBlbWJlZGRlZCAKKzEgMSBJTUcgMSAwCisxIDE0ICN0ZXh0IDAgMSAKKworMCAxNSBFWEFNUExFIDAgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZW50Mi5zYXggYi9saWJ4bWwyL3Jlc3VsdC9lbnQyLnNheApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wN2QyY2U0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZW50Mi5zYXgKQEAgLTAsMCArMSwyNiBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguaW50ZXJuYWxTdWJzZXQoRVhBTVBMRSwgLCBleGFtcGxlLmR0ZCkKK1NBWC5lbnRpdHlEZWNsKHhtbCwgMSwgKG51bGwpLCAobnVsbCksIEV4dGVuc2libGUgTWFya3VwIExhbmd1YWdlKQorU0FYLmdldEVudGl0eSh4bWwpCitTQVguZW50aXR5RGVjbCh0aXRsZSwgMiwgLS8vTVktVElUTEUvL0ZSLCB0aXRsZS54bWwsIChudWxsKSkKK1NBWC51bnBhcnNlZEVudGl0eURlY2woaW1hZ2UsIChudWxsKSwgaW1nLmdpZiwgR0lGKQorU0FYLmV4dGVybmFsU3Vic2V0KEVYQU1QTEUsICwgZXhhbXBsZS5kdGQpCitTQVguc3RhcnRFbGVtZW50KEVYQU1QTEUpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmdldEVudGl0eSh0aXRsZSkKK1NBWC5lcnJvcjogRW50aXR5ICd0aXRsZScgbm90IGRlZmluZWQKK1NBWC5yZWZlcmVuY2UodGl0bGUpCitTQVguY2hhcmFjdGVycygKKyAgVGhpcyB0ZXh0IGlzIGFib3V0IFhNTCwgdGhlLCAzMSkKK1NBWC5nZXRFbnRpdHkoeG1sKQorU0FYLmNoYXJhY3RlcnMoRXh0ZW5zaWJsZSBNYXJrdXAgTGFuZ3VhZ2UsIDI2KQorU0FYLnJlZmVyZW5jZSh4bWwpCitTQVguY2hhcmFjdGVycyggYW5kIHRoaXMgaXMgYW4gZW1iZWRkZWQgLCAyNSkKK1NBWC5zdGFydEVsZW1lbnQoSU1HLCBzcmM9J2ltYWdlJykKK1NBWC5lbmRFbGVtZW50KElNRykKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmVuZEVsZW1lbnQoRVhBTVBMRSkKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9lbnQyLnNheDIgYi9saWJ4bWwyL3Jlc3VsdC9lbnQyLnNheDIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDdjODAwMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2VudDIuc2F4MgpAQCAtMCwwICsxLDI2IEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5pbnRlcm5hbFN1YnNldChFWEFNUExFLCAsIGV4YW1wbGUuZHRkKQorU0FYLmVudGl0eURlY2woeG1sLCAxLCAobnVsbCksIChudWxsKSwgRXh0ZW5zaWJsZSBNYXJrdXAgTGFuZ3VhZ2UpCitTQVguZ2V0RW50aXR5KHhtbCkKK1NBWC5lbnRpdHlEZWNsKHRpdGxlLCAyLCAtLy9NWS1USVRMRS8vRlIsIHRpdGxlLnhtbCwgKG51bGwpKQorU0FYLnVucGFyc2VkRW50aXR5RGVjbChpbWFnZSwgKG51bGwpLCBpbWcuZ2lmLCBHSUYpCitTQVguZXh0ZXJuYWxTdWJzZXQoRVhBTVBMRSwgLCBleGFtcGxlLmR0ZCkKK1NBWC5zdGFydEVsZW1lbnROcyhFWEFNUExFLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5nZXRFbnRpdHkodGl0bGUpCitTQVguZXJyb3I6IEVudGl0eSAndGl0bGUnIG5vdCBkZWZpbmVkCitTQVgucmVmZXJlbmNlKHRpdGxlKQorU0FYLmNoYXJhY3RlcnMoCisgIFRoaXMgdGV4dCBpcyBhYm91dCBYTUwsIHRoZSwgMzEpCitTQVguZ2V0RW50aXR5KHhtbCkKK1NBWC5jaGFyYWN0ZXJzKEV4dGVuc2libGUgTWFya3VwIExhbmd1YWdlLCAyNikKK1NBWC5yZWZlcmVuY2UoeG1sKQorU0FYLmNoYXJhY3RlcnMoIGFuZCB0aGlzIGlzIGFuIGVtYmVkZGVkICwgMjUpCitTQVguc3RhcnRFbGVtZW50TnMoSU1HLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzcmM9J2ltYWcuLi4nLCA1KQorU0FYLmVuZEVsZW1lbnROcyhJTUcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5lbmRFbGVtZW50TnMoRVhBTVBMRSwgTlVMTCwgTlVMTCkKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9lbnQzIGIvbGlieG1sMi9yZXN1bHQvZW50MwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZmI0YzdiCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZW50MwpAQCAtMCwwICsxLDcgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCFET0NUWVBFIEVYQU1QTEUgU1lTVEVNICJleGFtcGxlLmR0ZCIgWworPCFFTlRJVFkgeG1sICJFeHRlbnNpYmxlIE1hcmt1cCBMYW5ndWFnZSI+CitdPgorPEVYQU1QTEUgcHJvcDE9ImEmYW1wO2IiIHByb3AyPSImeG1sOyI+CisgIFRlc3Qgb2YgZW50aXRpZXMgaW4gYXR0cmlidXRlcy4KKzwvRVhBTVBMRT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2VudDMucmRlIGIvbGlieG1sMi9yZXN1bHQvZW50My5yZGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzQwNDQyZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2VudDMucmRlCkBAIC0wLDAgKzEsNiBAQAorMCAxMCBFWEFNUExFIDAgMAorMCAxIEVYQU1QTEUgMCAwCisxIDMgI3RleHQgMCAxIAorICBUZXN0IG9mIGVudGl0aWVzIGluIGF0dHJpYnV0ZXMuCisKKzAgMTUgRVhBTVBMRSAwIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2VudDMucmRyIGIvbGlieG1sMi9yZXN1bHQvZW50My5yZHIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzQwNDQyZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2VudDMucmRyCkBAIC0wLDAgKzEsNiBAQAorMCAxMCBFWEFNUExFIDAgMAorMCAxIEVYQU1QTEUgMCAwCisxIDMgI3RleHQgMCAxIAorICBUZXN0IG9mIGVudGl0aWVzIGluIGF0dHJpYnV0ZXMuCisKKzAgMTUgRVhBTVBMRSAwIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2VudDMuc2F4IGIvbGlieG1sMi9yZXN1bHQvZW50My5zYXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDA3ZDI0YgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2VudDMuc2F4CkBAIC0wLDAgKzEsMTIgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLmludGVybmFsU3Vic2V0KEVYQU1QTEUsICwgZXhhbXBsZS5kdGQpCitTQVguZW50aXR5RGVjbCh4bWwsIDEsIChudWxsKSwgKG51bGwpLCBFeHRlbnNpYmxlIE1hcmt1cCBMYW5ndWFnZSkKK1NBWC5nZXRFbnRpdHkoeG1sKQorU0FYLmV4dGVybmFsU3Vic2V0KEVYQU1QTEUsICwgZXhhbXBsZS5kdGQpCitTQVguZ2V0RW50aXR5KHhtbCkKK1NBWC5zdGFydEVsZW1lbnQoRVhBTVBMRSwgcHJvcDE9J2EmIzM4O2InLCBwcm9wMj0nJnhtbDsnKQorU0FYLmNoYXJhY3RlcnMoCisgIFRlc3Qgb2YgZW50aXRpZXMgaW4gYXR0cmlidSwgMzUpCitTQVguZW5kRWxlbWVudChFWEFNUExFKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2VudDMuc2F4MiBiL2xpYnhtbDIvcmVzdWx0L2VudDMuc2F4MgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZTVmZjE1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZW50My5zYXgyCkBAIC0wLDAgKzEsMTIgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLmludGVybmFsU3Vic2V0KEVYQU1QTEUsICwgZXhhbXBsZS5kdGQpCitTQVguZW50aXR5RGVjbCh4bWwsIDEsIChudWxsKSwgKG51bGwpLCBFeHRlbnNpYmxlIE1hcmt1cCBMYW5ndWFnZSkKK1NBWC5nZXRFbnRpdHkoeG1sKQorU0FYLmV4dGVybmFsU3Vic2V0KEVYQU1QTEUsICwgZXhhbXBsZS5kdGQpCitTQVguZ2V0RW50aXR5KHhtbCkKK1NBWC5zdGFydEVsZW1lbnROcyhFWEFNUExFLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBwcm9wMT0nYSYjMy4uLicsIDcsIHByb3AyPScmeG1sLi4uJywgNSkKK1NBWC5jaGFyYWN0ZXJzKAorICBUZXN0IG9mIGVudGl0aWVzIGluIGF0dHJpYnUsIDM1KQorU0FYLmVuZEVsZW1lbnROcyhFWEFNUExFLCBOVUxMLCBOVUxMKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2VudDQgYi9saWJ4bWwyL3Jlc3VsdC9lbnQ0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE5MjE5NGMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9lbnQ0CkBAIC0wLDAgKzEsNyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IURPQ1RZUEUgRVhBTVBMRSBTWVNURU0gImV4YW1wbGUuZHRkIiBbCis8IUVOVElUWSB4bWwgIkV4dGVuc2libGUgTWFya3VwIExhbmd1YWdlIj4KK10+Cis8RVhBTVBMRT4KKyAgVGVzdCBvZiAmYW1wO2FtcDsgYmVoYXZpb3VyIGEmYW1wO2IgLgorPC9FWEFNUExFPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZW50NC5yZGUgYi9saWJ4bWwyL3Jlc3VsdC9lbnQ0LnJkZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YjY1NDg1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZW50NC5yZGUKQEAgLTAsMCArMSw2IEBACiswIDEwIEVYQU1QTEUgMCAwCiswIDEgRVhBTVBMRSAwIDAKKzEgMyAjdGV4dCAwIDEgCisgIFRlc3Qgb2YgJmFtcDsgYmVoYXZpb3VyIGEmYiAuCisKKzAgMTUgRVhBTVBMRSAwIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2VudDQucmRyIGIvbGlieG1sMi9yZXN1bHQvZW50NC5yZHIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2I2NTQ4NQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2VudDQucmRyCkBAIC0wLDAgKzEsNiBAQAorMCAxMCBFWEFNUExFIDAgMAorMCAxIEVYQU1QTEUgMCAwCisxIDMgI3RleHQgMCAxIAorICBUZXN0IG9mICZhbXA7IGJlaGF2aW91ciBhJmIgLgorCiswIDE1IEVYQU1QTEUgMCAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9lbnQ0LnNheCBiL2xpYnhtbDIvcmVzdWx0L2VudDQuc2F4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIwYmMyOGUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9lbnQ0LnNheApAQCAtMCwwICsxLDE2IEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5pbnRlcm5hbFN1YnNldChFWEFNUExFLCAsIGV4YW1wbGUuZHRkKQorU0FYLmVudGl0eURlY2woeG1sLCAxLCAobnVsbCksIChudWxsKSwgRXh0ZW5zaWJsZSBNYXJrdXAgTGFuZ3VhZ2UpCitTQVguZ2V0RW50aXR5KHhtbCkKK1NBWC5leHRlcm5hbFN1YnNldChFWEFNUExFLCAsIGV4YW1wbGUuZHRkKQorU0FYLnN0YXJ0RWxlbWVudChFWEFNUExFKQorU0FYLmNoYXJhY3RlcnMoCisgIFRlc3Qgb2YgLCAxMSkKK1NBWC5jaGFyYWN0ZXJzKCYsIDEpCitTQVguY2hhcmFjdGVycyhhbXA7IGJlaGF2aW91ciBhLCAxNikKK1NBWC5jaGFyYWN0ZXJzKCYsIDEpCitTQVguY2hhcmFjdGVycyhiIC4KKywgNCkKK1NBWC5lbmRFbGVtZW50KEVYQU1QTEUpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZW50NC5zYXgyIGIvbGlieG1sMi9yZXN1bHQvZW50NC5zYXgyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIwYTZiMDgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9lbnQ0LnNheDIKQEAgLTAsMCArMSwxNiBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguaW50ZXJuYWxTdWJzZXQoRVhBTVBMRSwgLCBleGFtcGxlLmR0ZCkKK1NBWC5lbnRpdHlEZWNsKHhtbCwgMSwgKG51bGwpLCAobnVsbCksIEV4dGVuc2libGUgTWFya3VwIExhbmd1YWdlKQorU0FYLmdldEVudGl0eSh4bWwpCitTQVguZXh0ZXJuYWxTdWJzZXQoRVhBTVBMRSwgLCBleGFtcGxlLmR0ZCkKK1NBWC5zdGFydEVsZW1lbnROcyhFWEFNUExFLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCisgIFRlc3Qgb2YgLCAxMSkKK1NBWC5jaGFyYWN0ZXJzKCYsIDEpCitTQVguY2hhcmFjdGVycyhhbXA7IGJlaGF2aW91ciBhLCAxNikKK1NBWC5jaGFyYWN0ZXJzKCYsIDEpCitTQVguY2hhcmFjdGVycyhiIC4KKywgNCkKK1NBWC5lbmRFbGVtZW50TnMoRVhBTVBMRSwgTlVMTCwgTlVMTCkKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9lbnQ1IGIvbGlieG1sMi9yZXN1bHQvZW50NQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNmU3ZTEwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZW50NQpAQCAtMCwwICsxLDUgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPEVYQU1QTEU+CisgICAgVGhpcyBpcyBhbiBpbnZlcnRlZCBleGNsYW1hdGlvbiBzaWduICYjeEExOworICAgIFRoaXMgaXMgYSBzcGFjZSAgIAorPC9FWEFNUExFPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZW50NS5yZGUgYi9saWJ4bWwyL3Jlc3VsdC9lbnQ1LnJkZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNTcwYzMxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZW50NS5yZGUKQEAgLTAsMCArMSw2IEBACiswIDEgRVhBTVBMRSAwIDAKKzEgMyAjdGV4dCAwIDEgCisgICAgVGhpcyBpcyBhbiBpbnZlcnRlZCBleGNsYW1hdGlvbiBzaWduIMKhCisgICAgVGhpcyBpcyBhIHNwYWNlICAgCisKKzAgMTUgRVhBTVBMRSAwIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2VudDUucmRyIGIvbGlieG1sMi9yZXN1bHQvZW50NS5yZHIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzU3MGMzMQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2VudDUucmRyCkBAIC0wLDAgKzEsNiBAQAorMCAxIEVYQU1QTEUgMCAwCisxIDMgI3RleHQgMCAxIAorICAgIFRoaXMgaXMgYW4gaW52ZXJ0ZWQgZXhjbGFtYXRpb24gc2lnbiDCoQorICAgIFRoaXMgaXMgYSBzcGFjZSAgIAorCiswIDE1IEVYQU1QTEUgMCAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9lbnQ1LnNheCBiL2xpYnhtbDIvcmVzdWx0L2VudDUuc2F4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdhZDhiNjUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9lbnQ1LnNheApAQCAtMCwwICsxLDEzIEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5zdGFydEVsZW1lbnQoRVhBTVBMRSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgIFRoaXMgaXMgYW4gaW52ZXJ0ZWQgZXhjbGEsIDQyKQorU0FYLmNoYXJhY3RlcnMowqEsIDIpCitTQVguY2hhcmFjdGVycygKKyAgICBUaGlzIGlzIGEgc3BhY2UgLCAyMSkKK1NBWC5jaGFyYWN0ZXJzKCAsIDEpCitTQVguY2hhcmFjdGVycyggCissIDIpCitTQVguZW5kRWxlbWVudChFWEFNUExFKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2VudDUuc2F4MiBiL2xpYnhtbDIvcmVzdWx0L2VudDUuc2F4MgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNzI1MWU0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZW50NS5zYXgyCkBAIC0wLDAgKzEsMTMgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLnN0YXJ0RWxlbWVudE5zKEVYQU1QTEUsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycygKKyAgICBUaGlzIGlzIGFuIGludmVydGVkIGV4Y2xhLCA0MikKK1NBWC5jaGFyYWN0ZXJzKMKhLCAyKQorU0FYLmNoYXJhY3RlcnMoCisgICAgVGhpcyBpcyBhIHNwYWNlICwgMjEpCitTQVguY2hhcmFjdGVycyggLCAxKQorU0FYLmNoYXJhY3RlcnMoIAorLCAyKQorU0FYLmVuZEVsZW1lbnROcyhFWEFNUExFLCBOVUxMLCBOVUxMKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2VudDYgYi9saWJ4bWwyL3Jlc3VsdC9lbnQ2Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA0N2Y5YmIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9lbnQ2CkBAIC0wLDAgKzEsOSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IURPQ1RZUEUgZG9jIFsKKzwhRU5USVRZIGx0ICImIzM4OyM2MDsiPgorPCFFTlRJVFkgZ3QgIiYjNjI7Ij4KKzwhRU5USVRZIGFtcCAiJiMzODsjMzg7Ij4KKzwhRU5USVRZIGFwb3MgIiYjMzk7Ij4KKzwhRU5USVRZIHF1b3QgIiYjMzQ7Ij4KK10+Cis8ZG9jLz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2VudDYucmRlIGIvbGlieG1sMi9yZXN1bHQvZW50Ni5yZGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWIwYTM0ZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2VudDYucmRlCkBAIC0wLDAgKzEsMiBAQAorMCAxMCBkb2MgMCAwCiswIDEgZG9jIDEgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZW50Ni5yZHIgYi9saWJ4bWwyL3Jlc3VsdC9lbnQ2LnJkcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YjBhMzRkCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZW50Ni5yZHIKQEAgLTAsMCArMSwyIEBACiswIDEwIGRvYyAwIDAKKzAgMSBkb2MgMSAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9lbnQ2LnNheCBiL2xpYnhtbDIvcmVzdWx0L2VudDYuc2F4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE0NDI2ZTcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9lbnQ2LnNheApAQCAtMCwwICsxLDE3IEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5pbnRlcm5hbFN1YnNldChkb2MsICwgKQorU0FYLmVudGl0eURlY2wobHQsIDEsIChudWxsKSwgKG51bGwpLCAmIzYwOykKK1NBWC5nZXRFbnRpdHkobHQpCitTQVguZW50aXR5RGVjbChndCwgMSwgKG51bGwpLCAobnVsbCksID4pCitTQVguZ2V0RW50aXR5KGd0KQorU0FYLmVudGl0eURlY2woYW1wLCAxLCAobnVsbCksIChudWxsKSwgJiMzODspCitTQVguZ2V0RW50aXR5KGFtcCkKK1NBWC5lbnRpdHlEZWNsKGFwb3MsIDEsIChudWxsKSwgKG51bGwpLCAnKQorU0FYLmdldEVudGl0eShhcG9zKQorU0FYLmVudGl0eURlY2wocXVvdCwgMSwgKG51bGwpLCAobnVsbCksICIpCitTQVguZ2V0RW50aXR5KHF1b3QpCitTQVguZXh0ZXJuYWxTdWJzZXQoZG9jLCAsICkKK1NBWC5zdGFydEVsZW1lbnQoZG9jKQorU0FYLmVuZEVsZW1lbnQoZG9jKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2VudDYuc2F4MiBiL2xpYnhtbDIvcmVzdWx0L2VudDYuc2F4MgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNzBkMGJiCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZW50Ni5zYXgyCkBAIC0wLDAgKzEsMTcgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLmludGVybmFsU3Vic2V0KGRvYywgLCApCitTQVguZW50aXR5RGVjbChsdCwgMSwgKG51bGwpLCAobnVsbCksICYjNjA7KQorU0FYLmdldEVudGl0eShsdCkKK1NBWC5lbnRpdHlEZWNsKGd0LCAxLCAobnVsbCksIChudWxsKSwgPikKK1NBWC5nZXRFbnRpdHkoZ3QpCitTQVguZW50aXR5RGVjbChhbXAsIDEsIChudWxsKSwgKG51bGwpLCAmIzM4OykKK1NBWC5nZXRFbnRpdHkoYW1wKQorU0FYLmVudGl0eURlY2woYXBvcywgMSwgKG51bGwpLCAobnVsbCksICcpCitTQVguZ2V0RW50aXR5KGFwb3MpCitTQVguZW50aXR5RGVjbChxdW90LCAxLCAobnVsbCksIChudWxsKSwgIikKK1NBWC5nZXRFbnRpdHkocXVvdCkKK1NBWC5leHRlcm5hbFN1YnNldChkb2MsICwgKQorU0FYLnN0YXJ0RWxlbWVudE5zKGRvYywgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5lbmRFbGVtZW50TnMoZG9jLCBOVUxMLCBOVUxMKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2VudDcgYi9saWJ4bWwyL3Jlc3VsdC9lbnQ3Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY0NmQ4YmIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9lbnQ3CkBAIC0wLDAgKzEsOCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IURPQ1RZUEUgaXRlbSBbCis8IUVOVElUWSAlIHNhbXBsZUVudCAiPCFFTEVNRU5UIGl0ZW0gKHBhcmEpKz4iPgorPCFFTlRJVFkgc2FtcGxlRW50ICJ0aGUgaHlhY2ludGggZ2lybCI+Cis8IUVMRU1FTlQgaXRlbSAocGFyYSkrPgorPCFFTEVNRU5UIHBhcmEgKCNQQ0RBVEEpPgorXT4KKzxpdGVtPjxwYXJhPid0aGV5IGNhbGxlZCBtZSAmc2FtcGxlRW50Oyc8L3BhcmE+PC9pdGVtPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZW50Ny5yZGUgYi9saWJ4bWwyL3Jlc3VsdC9lbnQ3LnJkZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYTc0YjBmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZW50Ny5yZGUKQEAgLTAsMCArMSw2IEBACiswIDEwIGl0ZW0gMCAwCiswIDEgaXRlbSAwIDAKKzEgMSBwYXJhIDAgMAorMiAzICN0ZXh0IDAgMSAndGhleSBjYWxsZWQgbWUgdGhlIGh5YWNpbnRoIGdpcmwnCisxIDE1IHBhcmEgMCAwCiswIDE1IGl0ZW0gMCAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9lbnQ3LnJkciBiL2xpYnhtbDIvcmVzdWx0L2VudDcucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkzN2E4NDgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9lbnQ3LnJkcgpAQCAtMCwwICsxLDggQEAKKzAgMTAgaXRlbSAwIDAKKzAgMSBpdGVtIDAgMAorMSAxIHBhcmEgMCAwCisyIDMgI3RleHQgMCAxICd0aGV5IGNhbGxlZCBtZSAKKzIgNSBzYW1wbGVFbnQgMCAwCisyIDMgI3RleHQgMCAxICcKKzEgMTUgcGFyYSAwIDAKKzAgMTUgaXRlbSAwIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2VudDcuc2F4IGIvbGlieG1sMi9yZXN1bHQvZW50Ny5zYXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzIyOGRlMwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2VudDcuc2F4CkBAIC0wLDAgKzEsMTcgQEAKK3htbFNBWFVzZXJQYXJzZUZpbGUgcmV0dXJuZWQgZXJyb3IgMjcKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLmludGVybmFsU3Vic2V0KGl0ZW0sICwgKQorU0FYLmVudGl0eURlY2woc2FtcGxlRW50LCA0LCAobnVsbCksIChudWxsKSwgPCFFTEVNRU5UIGl0ZW0gKHBhcmEpKz4pCitTQVguZ2V0UGFyYW1ldGVyRW50aXR5KHNhbXBsZUVudCkKK1NBWC5lbnRpdHlEZWNsKHNhbXBsZUVudCwgMSwgKG51bGwpLCAobnVsbCksIHRoZSBoeWFjaW50aCBnaXJsKQorU0FYLmdldEVudGl0eShzYW1wbGVFbnQpCitTQVguZ2V0UGFyYW1ldGVyRW50aXR5KHNhbXBsZUVudCkKK1NBWC5lcnJvcjogUEVSZWZlcmVuY2U6ICVzYW1wbGVFbnQ7IG5vdCBmb3VuZAorU0FYLmNoYXJhY3RlcnMoJ3RoZXkgY2FsbGVkIG1lICwgMTYpCitTQVguZ2V0RW50aXR5KHNhbXBsZUVudCkKK1NBWC5lcnJvcjogRW50aXR5ICdzYW1wbGVFbnQnIG5vdCBkZWZpbmVkCitTQVgucmVmZXJlbmNlKHNhbXBsZUVudCkKK1NBWC5jaGFyYWN0ZXJzKCcsIDEpCitTQVguZW5kRG9jdW1lbnQoKQoreG1sU0FYVXNlclBhcnNlRmlsZSByZXR1cm5lZCBlcnJvciAyNwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZW50Ny5zYXgyIGIvbGlieG1sMi9yZXN1bHQvZW50Ny5zYXgyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMyMjhkZTMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9lbnQ3LnNheDIKQEAgLTAsMCArMSwxNyBAQAoreG1sU0FYVXNlclBhcnNlRmlsZSByZXR1cm5lZCBlcnJvciAyNworU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguaW50ZXJuYWxTdWJzZXQoaXRlbSwgLCApCitTQVguZW50aXR5RGVjbChzYW1wbGVFbnQsIDQsIChudWxsKSwgKG51bGwpLCA8IUVMRU1FTlQgaXRlbSAocGFyYSkrPikKK1NBWC5nZXRQYXJhbWV0ZXJFbnRpdHkoc2FtcGxlRW50KQorU0FYLmVudGl0eURlY2woc2FtcGxlRW50LCAxLCAobnVsbCksIChudWxsKSwgdGhlIGh5YWNpbnRoIGdpcmwpCitTQVguZ2V0RW50aXR5KHNhbXBsZUVudCkKK1NBWC5nZXRQYXJhbWV0ZXJFbnRpdHkoc2FtcGxlRW50KQorU0FYLmVycm9yOiBQRVJlZmVyZW5jZTogJXNhbXBsZUVudDsgbm90IGZvdW5kCitTQVguY2hhcmFjdGVycygndGhleSBjYWxsZWQgbWUgLCAxNikKK1NBWC5nZXRFbnRpdHkoc2FtcGxlRW50KQorU0FYLmVycm9yOiBFbnRpdHkgJ3NhbXBsZUVudCcgbm90IGRlZmluZWQKK1NBWC5yZWZlcmVuY2Uoc2FtcGxlRW50KQorU0FYLmNoYXJhY3RlcnMoJywgMSkKK1NBWC5lbmREb2N1bWVudCgpCit4bWxTQVhVc2VyUGFyc2VGaWxlIHJldHVybmVkIGVycm9yIDI3CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9lbnQ4IGIvbGlieG1sMi9yZXN1bHQvZW50OApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NmU2YzMwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZW50OApAQCAtMCwwICsxLDEwIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhRE9DVFlQRSBkb2MgWworPCFFTlRJVFkgdGVzdDEgInRlc3QgMSI+Cis8IUVOVElUWSB0ZXN0MiAidGVzdCAyIj4KK10+Cis8ZG9jPgorICAgPENvbnRlbnQ+UmV0ZW4mI3hFNzsmI3hFMztvPC9Db250ZW50PgorICAgPENvbnRlbnQ+Jmx0OyZndDs8L0NvbnRlbnQ+CisgICA8Q29udGVudD4mdGVzdDE7JnRlc3QyOzwvQ29udGVudD4KKzwvZG9jPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZW50OC5yZGUgYi9saWJ4bWwyL3Jlc3VsdC9lbnQ4LnJkZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYjg3NjY3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZW50OC5yZGUKQEAgLTAsMCArMSwyMCBAQAorMCAxMCBkb2MgMCAwCiswIDEgZG9jIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgICAKKzEgMSBDb250ZW50IDAgMAorMiAzICN0ZXh0IDAgMSBSZXRlbsOnw6NvCisxIDE1IENvbnRlbnQgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSAxIENvbnRlbnQgMCAwCisyIDMgI3RleHQgMCAxIDw+CisxIDE1IENvbnRlbnQgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSAxIENvbnRlbnQgMCAwCisyIDMgI3RleHQgMCAxIHRlc3QgMXRlc3QgMgorMSAxNSBDb250ZW50IDAgMAorMSAxNCAjdGV4dCAwIDEgCisKKzAgMTUgZG9jIDAgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZW50OC5yZHIgYi9saWJ4bWwyL3Jlc3VsdC9lbnQ4LnJkcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wOTc3ZTkwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZW50OC5yZHIKQEAgLTAsMCArMSwyMSBAQAorMCAxMCBkb2MgMCAwCiswIDEgZG9jIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgICAKKzEgMSBDb250ZW50IDAgMAorMiAzICN0ZXh0IDAgMSBSZXRlbsOnw6NvCisxIDE1IENvbnRlbnQgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSAxIENvbnRlbnQgMCAwCisyIDMgI3RleHQgMCAxIDw+CisxIDE1IENvbnRlbnQgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSAxIENvbnRlbnQgMCAwCisyIDUgdGVzdDEgMCAwCisyIDUgdGVzdDIgMCAwCisxIDE1IENvbnRlbnQgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKworMCAxNSBkb2MgMCAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9lbnQ4LnNheCBiL2xpYnhtbDIvcmVzdWx0L2VudDguc2F4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ2Mzk0NDEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9lbnQ4LnNheApAQCAtMCwwICsxLDM3IEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5pbnRlcm5hbFN1YnNldChkb2MsICwgKQorU0FYLmVudGl0eURlY2wodGVzdDEsIDEsIChudWxsKSwgKG51bGwpLCB0ZXN0IDEpCitTQVguZ2V0RW50aXR5KHRlc3QxKQorU0FYLmVudGl0eURlY2wodGVzdDIsIDEsIChudWxsKSwgKG51bGwpLCB0ZXN0IDIpCitTQVguZ2V0RW50aXR5KHRlc3QyKQorU0FYLmV4dGVybmFsU3Vic2V0KGRvYywgLCApCitTQVguc3RhcnRFbGVtZW50KGRvYykKK1NBWC5jaGFyYWN0ZXJzKAorICAgLCA0KQorU0FYLnN0YXJ0RWxlbWVudChDb250ZW50KQorU0FYLmNoYXJhY3RlcnMoUmV0ZW4sIDUpCitTQVguY2hhcmFjdGVycyjDpywgMikKK1NBWC5jaGFyYWN0ZXJzKMOjLCAyKQorU0FYLmNoYXJhY3RlcnMobywgMSkKK1NBWC5lbmRFbGVtZW50KENvbnRlbnQpCitTQVguY2hhcmFjdGVycygKKyAgICwgNCkKK1NBWC5zdGFydEVsZW1lbnQoQ29udGVudCkKK1NBWC5jaGFyYWN0ZXJzKDwsIDEpCitTQVguY2hhcmFjdGVycyg+LCAxKQorU0FYLmVuZEVsZW1lbnQoQ29udGVudCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgLCA0KQorU0FYLnN0YXJ0RWxlbWVudChDb250ZW50KQorU0FYLmdldEVudGl0eSh0ZXN0MSkKK1NBWC5jaGFyYWN0ZXJzKHRlc3QgMSwgNikKK1NBWC5yZWZlcmVuY2UodGVzdDEpCitTQVguZ2V0RW50aXR5KHRlc3QyKQorU0FYLmNoYXJhY3RlcnModGVzdCAyLCA2KQorU0FYLnJlZmVyZW5jZSh0ZXN0MikKK1NBWC5lbmRFbGVtZW50KENvbnRlbnQpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5lbmRFbGVtZW50KGRvYykKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9lbnQ4LnNheDIgYi9saWJ4bWwyL3Jlc3VsdC9lbnQ4LnNheDIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzAxZjlhNAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2VudDguc2F4MgpAQCAtMCwwICsxLDM3IEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5pbnRlcm5hbFN1YnNldChkb2MsICwgKQorU0FYLmVudGl0eURlY2wodGVzdDEsIDEsIChudWxsKSwgKG51bGwpLCB0ZXN0IDEpCitTQVguZ2V0RW50aXR5KHRlc3QxKQorU0FYLmVudGl0eURlY2wodGVzdDIsIDEsIChudWxsKSwgKG51bGwpLCB0ZXN0IDIpCitTQVguZ2V0RW50aXR5KHRlc3QyKQorU0FYLmV4dGVybmFsU3Vic2V0KGRvYywgLCApCitTQVguc3RhcnRFbGVtZW50TnMoZG9jLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCisgICAsIDQpCitTQVguc3RhcnRFbGVtZW50TnMoQ29udGVudCwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKFJldGVuLCA1KQorU0FYLmNoYXJhY3RlcnMow6csIDIpCitTQVguY2hhcmFjdGVycyjDoywgMikKK1NBWC5jaGFyYWN0ZXJzKG8sIDEpCitTQVguZW5kRWxlbWVudE5zKENvbnRlbnQsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICwgNCkKK1NBWC5zdGFydEVsZW1lbnROcyhDb250ZW50LCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoPCwgMSkKK1NBWC5jaGFyYWN0ZXJzKD4sIDEpCitTQVguZW5kRWxlbWVudE5zKENvbnRlbnQsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICwgNCkKK1NBWC5zdGFydEVsZW1lbnROcyhDb250ZW50LCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmdldEVudGl0eSh0ZXN0MSkKK1NBWC5jaGFyYWN0ZXJzKHRlc3QgMSwgNikKK1NBWC5yZWZlcmVuY2UodGVzdDEpCitTQVguZ2V0RW50aXR5KHRlc3QyKQorU0FYLmNoYXJhY3RlcnModGVzdCAyLCA2KQorU0FYLnJlZmVyZW5jZSh0ZXN0MikKK1NBWC5lbmRFbGVtZW50TnMoQ29udGVudCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmVuZEVsZW1lbnROcyhkb2MsIE5VTEwsIE5VTEwpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZW50OSBiL2xpYnhtbDIvcmVzdWx0L2VudDkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWNlMzA4OQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2VudDkKQEAgLTAsMCArMSw2MSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IURPQ1RZUEUgZG9jIFsKKzwhRU5USVRZIHRlc3QxICI8YS8+LDxiLz4sPGMvPiw8ZC8+Ij4KK10+Cis8ZG9jPgorICAgPGVudD4mdGVzdDE7PC9lbnQ+CisgICA8cD4gV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8gdHJpZ2dlciB0aGUgcHJvYmxlbTwvcD4KKyAgIDxwPiBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtPC9wPgorICAgPHA+IFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW08L3A+CisgICA8cD4gV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8gdHJpZ2dlciB0aGUgcHJvYmxlbTwvcD4KKyAgIDxwPiBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtPC9wPgorICAgPHA+IFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW08L3A+CisgICA8cD4gV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8gdHJpZ2dlciB0aGUgcHJvYmxlbTwvcD4KKyAgIDxwPiBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtPC9wPgorICAgPHA+IFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW08L3A+CisgICA8cD4gV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8gdHJpZ2dlciB0aGUgcHJvYmxlbTwvcD4KKyAgIDxwPiBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtPC9wPgorICAgPHA+IFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW08L3A+CisgICA8cD4gV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8gdHJpZ2dlciB0aGUgcHJvYmxlbTwvcD4KKyAgIDxwPiBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtPC9wPgorICAgPHA+IFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW08L3A+CisgICA8cD4gV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8gdHJpZ2dlciB0aGUgcHJvYmxlbTwvcD4KKyAgIDxwPiBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtPC9wPgorICAgPHA+IFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW08L3A+CisgICA8cD4gV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8gdHJpZ2dlciB0aGUgcHJvYmxlbTwvcD4KKyAgIDxwPiBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtPC9wPgorICAgPHA+IFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW08L3A+CisgICA8cD4gV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8gdHJpZ2dlciB0aGUgcHJvYmxlbTwvcD4KKyAgIDxwPiBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtPC9wPgorICAgPHA+IFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW08L3A+CisgICA8cD4gV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8gdHJpZ2dlciB0aGUgcHJvYmxlbTwvcD4KKyAgIDxwPiBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtPC9wPgorICAgPHA+IFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW08L3A+CisgICA8cD4gV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8gdHJpZ2dlciB0aGUgcHJvYmxlbTwvcD4KKyAgIDxwPiBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtPC9wPgorICAgPHA+IFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW08L3A+CisgICA8cD4gV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8gdHJpZ2dlciB0aGUgcHJvYmxlbTwvcD4KKyAgIDxwPiBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtPC9wPgorICAgPHA+IFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW08L3A+CisgICA8cD4gV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8gdHJpZ2dlciB0aGUgcHJvYmxlbTwvcD4KKyAgIDxwPiBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtPC9wPgorICAgPHA+IFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW08L3A+CisgICA8cD4gV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8gdHJpZ2dlciB0aGUgcHJvYmxlbTwvcD4KKyAgIDxwPiBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtPC9wPgorICAgPHA+IFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW08L3A+CisgICA8cD4gV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8gdHJpZ2dlciB0aGUgcHJvYmxlbTwvcD4KKyAgIDxwPiBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtPC9wPgorICAgPHA+IFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW08L3A+CisgICA8cD4gV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8gdHJpZ2dlciB0aGUgcHJvYmxlbTwvcD4KKyAgIDxwPiBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtPC9wPgorICAgPHA+IFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW08L3A+CisgICA8cD4gV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8gdHJpZ2dlciB0aGUgcHJvYmxlbTwvcD4KKyAgIDxwPiBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtPC9wPgorICAgPHA+IFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW08L3A+CisgICA8cD4gV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8gdHJpZ2dlciB0aGUgcHJvYmxlbTwvcD4KKyAgIDxwPiBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtPC9wPgorICAgPHA+IFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW08L3A+CisgICA8cD4gV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8gdHJpZ2dlciB0aGUgcHJvYmxlbTwvcD4KKyAgIDxwPiBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtPC9wPgorICAgPGVudD4mdGVzdDE7PC9lbnQ+Cis8L2RvYz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2VudDkucmRlIGIvbGlieG1sMi9yZXN1bHQvZW50OS5yZGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzhiOWY0MwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2VudDkucmRlCkBAIC0wLDAgKzEsMzAwIEBACiswIDEwIGRvYyAwIDAKKzAgMSBkb2MgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSAxIGVudCAwIDAKKzIgMSBhIDAgMAorMiAxNSBhIDAgMAorMiAzICN0ZXh0IDAgMSAsCisyIDEgYiAwIDAKKzIgMTUgYiAwIDAKKzIgMyAjdGV4dCAwIDEgLAorMiAxIGMgMCAwCisyIDE1IGMgMCAwCisyIDMgI3RleHQgMCAxICwKKzIgMSBkIDAgMAorMiAxNSBkIDAgMAorMSAxNSBlbnQgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSAxIHAgMCAwCisyIDMgI3RleHQgMCAxICBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtCisxIDE1IHAgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSAxIHAgMCAwCisyIDMgI3RleHQgMCAxICBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtCisxIDE1IHAgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSAxIHAgMCAwCisyIDMgI3RleHQgMCAxICBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtCisxIDE1IHAgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSAxIHAgMCAwCisyIDMgI3RleHQgMCAxICBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtCisxIDE1IHAgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSAxIHAgMCAwCisyIDMgI3RleHQgMCAxICBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtCisxIDE1IHAgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSAxIHAgMCAwCisyIDMgI3RleHQgMCAxICBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtCisxIDE1IHAgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSAxIHAgMCAwCisyIDMgI3RleHQgMCAxICBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtCisxIDE1IHAgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSAxIHAgMCAwCisyIDMgI3RleHQgMCAxICBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtCisxIDE1IHAgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSAxIHAgMCAwCisyIDMgI3RleHQgMCAxICBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtCisxIDE1IHAgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSAxIHAgMCAwCisyIDMgI3RleHQgMCAxICBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtCisxIDE1IHAgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSAxIHAgMCAwCisyIDMgI3RleHQgMCAxICBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtCisxIDE1IHAgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSAxIHAgMCAwCisyIDMgI3RleHQgMCAxICBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtCisxIDE1IHAgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSAxIHAgMCAwCisyIDMgI3RleHQgMCAxICBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtCisxIDE1IHAgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSAxIHAgMCAwCisyIDMgI3RleHQgMCAxICBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtCisxIDE1IHAgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSAxIHAgMCAwCisyIDMgI3RleHQgMCAxICBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtCisxIDE1IHAgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSAxIHAgMCAwCisyIDMgI3RleHQgMCAxICBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtCisxIDE1IHAgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSAxIHAgMCAwCisyIDMgI3RleHQgMCAxICBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtCisxIDE1IHAgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSAxIHAgMCAwCisyIDMgI3RleHQgMCAxICBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtCisxIDE1IHAgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSAxIHAgMCAwCisyIDMgI3RleHQgMCAxICBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtCisxIDE1IHAgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSAxIHAgMCAwCisyIDMgI3RleHQgMCAxICBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtCisxIDE1IHAgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSAxIHAgMCAwCisyIDMgI3RleHQgMCAxICBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtCisxIDE1IHAgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSAxIHAgMCAwCisyIDMgI3RleHQgMCAxICBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtCisxIDE1IHAgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSAxIHAgMCAwCisyIDMgI3RleHQgMCAxICBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtCisxIDE1IHAgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSAxIHAgMCAwCisyIDMgI3RleHQgMCAxICBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtCisxIDE1IHAgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSAxIHAgMCAwCisyIDMgI3RleHQgMCAxICBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtCisxIDE1IHAgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSAxIHAgMCAwCisyIDMgI3RleHQgMCAxICBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtCisxIDE1IHAgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSAxIHAgMCAwCisyIDMgI3RleHQgMCAxICBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtCisxIDE1IHAgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSAxIHAgMCAwCisyIDMgI3RleHQgMCAxICBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtCisxIDE1IHAgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSAxIHAgMCAwCisyIDMgI3RleHQgMCAxICBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtCisxIDE1IHAgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSAxIHAgMCAwCisyIDMgI3RleHQgMCAxICBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtCisxIDE1IHAgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSAxIHAgMCAwCisyIDMgI3RleHQgMCAxICBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtCisxIDE1IHAgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSAxIHAgMCAwCisyIDMgI3RleHQgMCAxICBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtCisxIDE1IHAgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSAxIHAgMCAwCisyIDMgI3RleHQgMCAxICBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtCisxIDE1IHAgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSAxIHAgMCAwCisyIDMgI3RleHQgMCAxICBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtCisxIDE1IHAgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSAxIHAgMCAwCisyIDMgI3RleHQgMCAxICBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtCisxIDE1IHAgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSAxIHAgMCAwCisyIDMgI3RleHQgMCAxICBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtCisxIDE1IHAgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSAxIHAgMCAwCisyIDMgI3RleHQgMCAxICBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtCisxIDE1IHAgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSAxIHAgMCAwCisyIDMgI3RleHQgMCAxICBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtCisxIDE1IHAgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSAxIHAgMCAwCisyIDMgI3RleHQgMCAxICBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtCisxIDE1IHAgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSAxIHAgMCAwCisyIDMgI3RleHQgMCAxICBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtCisxIDE1IHAgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSAxIHAgMCAwCisyIDMgI3RleHQgMCAxICBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtCisxIDE1IHAgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSAxIHAgMCAwCisyIDMgI3RleHQgMCAxICBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtCisxIDE1IHAgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSAxIHAgMCAwCisyIDMgI3RleHQgMCAxICBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtCisxIDE1IHAgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSAxIHAgMCAwCisyIDMgI3RleHQgMCAxICBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtCisxIDE1IHAgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSAxIHAgMCAwCisyIDMgI3RleHQgMCAxICBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtCisxIDE1IHAgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSAxIHAgMCAwCisyIDMgI3RleHQgMCAxICBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtCisxIDE1IHAgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSAxIHAgMCAwCisyIDMgI3RleHQgMCAxICBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtCisxIDE1IHAgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSAxIHAgMCAwCisyIDMgI3RleHQgMCAxICBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtCisxIDE1IHAgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSAxIHAgMCAwCisyIDMgI3RleHQgMCAxICBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtCisxIDE1IHAgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSAxIHAgMCAwCisyIDMgI3RleHQgMCAxICBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtCisxIDE1IHAgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSAxIHAgMCAwCisyIDMgI3RleHQgMCAxICBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtCisxIDE1IHAgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSAxIHAgMCAwCisyIDMgI3RleHQgMCAxICBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtCisxIDE1IHAgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSAxIHAgMCAwCisyIDMgI3RleHQgMCAxICBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtCisxIDE1IHAgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgIAorMSAxIGVudCAwIDAKKzIgMSBhIDAgMAorMiAxNSBhIDAgMAorMiAzICN0ZXh0IDAgMSAsCisyIDEgYiAwIDAKKzIgMTUgYiAwIDAKKzIgMyAjdGV4dCAwIDEgLAorMiAxIGMgMCAwCisyIDE1IGMgMCAwCisyIDMgI3RleHQgMCAxICwKKzIgMSBkIDAgMAorMiAxNSBkIDAgMAorMSAxNSBlbnQgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKworMCAxNSBkb2MgMCAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9lbnQ5LnJkciBiL2xpYnhtbDIvcmVzdWx0L2VudDkucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQyZjhhNWYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9lbnQ5LnJkcgpAQCAtMCwwICsxLDI4MCBAQAorMCAxMCBkb2MgMCAwCiswIDEgZG9jIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgICAKKzEgMSBlbnQgMCAwCisyIDUgdGVzdDEgMCAwCisxIDE1IGVudCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAgCisxIDEgcCAwIDAKKzIgMyAjdGV4dCAwIDEgIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW0KKzEgMTUgcCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAgCisxIDEgcCAwIDAKKzIgMyAjdGV4dCAwIDEgIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW0KKzEgMTUgcCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAgCisxIDEgcCAwIDAKKzIgMyAjdGV4dCAwIDEgIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW0KKzEgMTUgcCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAgCisxIDEgcCAwIDAKKzIgMyAjdGV4dCAwIDEgIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW0KKzEgMTUgcCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAgCisxIDEgcCAwIDAKKzIgMyAjdGV4dCAwIDEgIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW0KKzEgMTUgcCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAgCisxIDEgcCAwIDAKKzIgMyAjdGV4dCAwIDEgIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW0KKzEgMTUgcCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAgCisxIDEgcCAwIDAKKzIgMyAjdGV4dCAwIDEgIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW0KKzEgMTUgcCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAgCisxIDEgcCAwIDAKKzIgMyAjdGV4dCAwIDEgIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW0KKzEgMTUgcCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAgCisxIDEgcCAwIDAKKzIgMyAjdGV4dCAwIDEgIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW0KKzEgMTUgcCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAgCisxIDEgcCAwIDAKKzIgMyAjdGV4dCAwIDEgIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW0KKzEgMTUgcCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAgCisxIDEgcCAwIDAKKzIgMyAjdGV4dCAwIDEgIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW0KKzEgMTUgcCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAgCisxIDEgcCAwIDAKKzIgMyAjdGV4dCAwIDEgIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW0KKzEgMTUgcCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAgCisxIDEgcCAwIDAKKzIgMyAjdGV4dCAwIDEgIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW0KKzEgMTUgcCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAgCisxIDEgcCAwIDAKKzIgMyAjdGV4dCAwIDEgIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW0KKzEgMTUgcCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAgCisxIDEgcCAwIDAKKzIgMyAjdGV4dCAwIDEgIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW0KKzEgMTUgcCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAgCisxIDEgcCAwIDAKKzIgMyAjdGV4dCAwIDEgIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW0KKzEgMTUgcCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAgCisxIDEgcCAwIDAKKzIgMyAjdGV4dCAwIDEgIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW0KKzEgMTUgcCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAgCisxIDEgcCAwIDAKKzIgMyAjdGV4dCAwIDEgIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW0KKzEgMTUgcCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAgCisxIDEgcCAwIDAKKzIgMyAjdGV4dCAwIDEgIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW0KKzEgMTUgcCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAgCisxIDEgcCAwIDAKKzIgMyAjdGV4dCAwIDEgIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW0KKzEgMTUgcCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAgCisxIDEgcCAwIDAKKzIgMyAjdGV4dCAwIDEgIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW0KKzEgMTUgcCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAgCisxIDEgcCAwIDAKKzIgMyAjdGV4dCAwIDEgIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW0KKzEgMTUgcCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAgCisxIDEgcCAwIDAKKzIgMyAjdGV4dCAwIDEgIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW0KKzEgMTUgcCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAgCisxIDEgcCAwIDAKKzIgMyAjdGV4dCAwIDEgIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW0KKzEgMTUgcCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAgCisxIDEgcCAwIDAKKzIgMyAjdGV4dCAwIDEgIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW0KKzEgMTUgcCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAgCisxIDEgcCAwIDAKKzIgMyAjdGV4dCAwIDEgIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW0KKzEgMTUgcCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAgCisxIDEgcCAwIDAKKzIgMyAjdGV4dCAwIDEgIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW0KKzEgMTUgcCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAgCisxIDEgcCAwIDAKKzIgMyAjdGV4dCAwIDEgIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW0KKzEgMTUgcCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAgCisxIDEgcCAwIDAKKzIgMyAjdGV4dCAwIDEgIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW0KKzEgMTUgcCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAgCisxIDEgcCAwIDAKKzIgMyAjdGV4dCAwIDEgIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW0KKzEgMTUgcCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAgCisxIDEgcCAwIDAKKzIgMyAjdGV4dCAwIDEgIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW0KKzEgMTUgcCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAgCisxIDEgcCAwIDAKKzIgMyAjdGV4dCAwIDEgIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW0KKzEgMTUgcCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAgCisxIDEgcCAwIDAKKzIgMyAjdGV4dCAwIDEgIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW0KKzEgMTUgcCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAgCisxIDEgcCAwIDAKKzIgMyAjdGV4dCAwIDEgIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW0KKzEgMTUgcCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAgCisxIDEgcCAwIDAKKzIgMyAjdGV4dCAwIDEgIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW0KKzEgMTUgcCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAgCisxIDEgcCAwIDAKKzIgMyAjdGV4dCAwIDEgIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW0KKzEgMTUgcCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAgCisxIDEgcCAwIDAKKzIgMyAjdGV4dCAwIDEgIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW0KKzEgMTUgcCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAgCisxIDEgcCAwIDAKKzIgMyAjdGV4dCAwIDEgIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW0KKzEgMTUgcCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAgCisxIDEgcCAwIDAKKzIgMyAjdGV4dCAwIDEgIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW0KKzEgMTUgcCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAgCisxIDEgcCAwIDAKKzIgMyAjdGV4dCAwIDEgIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW0KKzEgMTUgcCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAgCisxIDEgcCAwIDAKKzIgMyAjdGV4dCAwIDEgIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW0KKzEgMTUgcCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAgCisxIDEgcCAwIDAKKzIgMyAjdGV4dCAwIDEgIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW0KKzEgMTUgcCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAgCisxIDEgcCAwIDAKKzIgMyAjdGV4dCAwIDEgIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW0KKzEgMTUgcCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAgCisxIDEgcCAwIDAKKzIgMyAjdGV4dCAwIDEgIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW0KKzEgMTUgcCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAgCisxIDEgcCAwIDAKKzIgMyAjdGV4dCAwIDEgIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW0KKzEgMTUgcCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAgCisxIDEgcCAwIDAKKzIgMyAjdGV4dCAwIDEgIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW0KKzEgMTUgcCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAgCisxIDEgcCAwIDAKKzIgMyAjdGV4dCAwIDEgIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW0KKzEgMTUgcCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAgCisxIDEgcCAwIDAKKzIgMyAjdGV4dCAwIDEgIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW0KKzEgMTUgcCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAgCisxIDEgcCAwIDAKKzIgMyAjdGV4dCAwIDEgIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW0KKzEgMTUgcCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAgCisxIDEgcCAwIDAKKzIgMyAjdGV4dCAwIDEgIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW0KKzEgMTUgcCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAgCisxIDEgcCAwIDAKKzIgMyAjdGV4dCAwIDEgIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW0KKzEgMTUgcCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAgCisxIDEgcCAwIDAKKzIgMyAjdGV4dCAwIDEgIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW0KKzEgMTUgcCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAgCisxIDEgcCAwIDAKKzIgMyAjdGV4dCAwIDEgIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW0KKzEgMTUgcCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAgCisxIDEgZW50IDAgMAorMiA1IHRlc3QxIDAgMAorMSAxNSBlbnQgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKworMCAxNSBkb2MgMCAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9lbnQ5LnNheCBiL2xpYnhtbDIvcmVzdWx0L2VudDkuc2F4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFjYTJhZDEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9lbnQ5LnNheApAQCAtMCwwICsxLDMxMCBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguaW50ZXJuYWxTdWJzZXQoZG9jLCAsICkKK1NBWC5lbnRpdHlEZWNsKHRlc3QxLCAxLCAobnVsbCksIChudWxsKSwgPGEvPiw8Yi8+LDxjLz4sPGQvPikKK1NBWC5nZXRFbnRpdHkodGVzdDEpCitTQVguZXh0ZXJuYWxTdWJzZXQoZG9jLCAsICkKK1NBWC5zdGFydEVsZW1lbnQoZG9jKQorU0FYLmNoYXJhY3RlcnMoCisgICAsIDQpCitTQVguc3RhcnRFbGVtZW50KGVudCkKK1NBWC5nZXRFbnRpdHkodGVzdDEpCitTQVguc3RhcnRFbGVtZW50KGEpCitTQVguZW5kRWxlbWVudChhKQorU0FYLmNoYXJhY3RlcnMoLCwgMSkKK1NBWC5zdGFydEVsZW1lbnQoYikKK1NBWC5lbmRFbGVtZW50KGIpCitTQVguY2hhcmFjdGVycygsLCAxKQorU0FYLnN0YXJ0RWxlbWVudChjKQorU0FYLmVuZEVsZW1lbnQoYykKK1NBWC5jaGFyYWN0ZXJzKCwsIDEpCitTQVguc3RhcnRFbGVtZW50KGQpCitTQVguZW5kRWxlbWVudChkKQorU0FYLnJlZmVyZW5jZSh0ZXN0MSkKK1NBWC5lbmRFbGVtZW50KGVudCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgLCA0KQorU0FYLnN0YXJ0RWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvLCA1MCkKK1NBWC5lbmRFbGVtZW50KHApCitTQVguY2hhcmFjdGVycygKKyAgICwgNCkKK1NBWC5zdGFydEVsZW1lbnQocCkKK1NBWC5jaGFyYWN0ZXJzKCBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0bywgNTApCitTQVguZW5kRWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoCisgICAsIDQpCitTQVguc3RhcnRFbGVtZW50KHApCitTQVguY2hhcmFjdGVycyggV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8sIDUwKQorU0FYLmVuZEVsZW1lbnQocCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgLCA0KQorU0FYLnN0YXJ0RWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvLCA1MCkKK1NBWC5lbmRFbGVtZW50KHApCitTQVguY2hhcmFjdGVycygKKyAgICwgNCkKK1NBWC5zdGFydEVsZW1lbnQocCkKK1NBWC5jaGFyYWN0ZXJzKCBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0bywgNTApCitTQVguZW5kRWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoCisgICAsIDQpCitTQVguc3RhcnRFbGVtZW50KHApCitTQVguY2hhcmFjdGVycyggV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8sIDUwKQorU0FYLmVuZEVsZW1lbnQocCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgLCA0KQorU0FYLnN0YXJ0RWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvLCA1MCkKK1NBWC5lbmRFbGVtZW50KHApCitTQVguY2hhcmFjdGVycygKKyAgICwgNCkKK1NBWC5zdGFydEVsZW1lbnQocCkKK1NBWC5jaGFyYWN0ZXJzKCBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0bywgNTApCitTQVguZW5kRWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoCisgICAsIDQpCitTQVguc3RhcnRFbGVtZW50KHApCitTQVguY2hhcmFjdGVycyggV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8sIDUwKQorU0FYLmVuZEVsZW1lbnQocCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgLCA0KQorU0FYLnN0YXJ0RWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvLCA1MCkKK1NBWC5lbmRFbGVtZW50KHApCitTQVguY2hhcmFjdGVycygKKyAgICwgNCkKK1NBWC5zdGFydEVsZW1lbnQocCkKK1NBWC5jaGFyYWN0ZXJzKCBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0bywgNTApCitTQVguZW5kRWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoCisgICAsIDQpCitTQVguc3RhcnRFbGVtZW50KHApCitTQVguY2hhcmFjdGVycyggV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8sIDUwKQorU0FYLmVuZEVsZW1lbnQocCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgLCA0KQorU0FYLnN0YXJ0RWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvLCA1MCkKK1NBWC5lbmRFbGVtZW50KHApCitTQVguY2hhcmFjdGVycygKKyAgICwgNCkKK1NBWC5zdGFydEVsZW1lbnQocCkKK1NBWC5jaGFyYWN0ZXJzKCBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0bywgNTApCitTQVguZW5kRWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoCisgICAsIDQpCitTQVguc3RhcnRFbGVtZW50KHApCitTQVguY2hhcmFjdGVycyggV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8sIDUwKQorU0FYLmVuZEVsZW1lbnQocCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgLCA0KQorU0FYLnN0YXJ0RWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvLCA1MCkKK1NBWC5lbmRFbGVtZW50KHApCitTQVguY2hhcmFjdGVycygKKyAgICwgNCkKK1NBWC5zdGFydEVsZW1lbnQocCkKK1NBWC5jaGFyYWN0ZXJzKCBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0bywgNTApCitTQVguZW5kRWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoCisgICAsIDQpCitTQVguc3RhcnRFbGVtZW50KHApCitTQVguY2hhcmFjdGVycyggV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8sIDUwKQorU0FYLmVuZEVsZW1lbnQocCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgLCA0KQorU0FYLnN0YXJ0RWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvLCA1MCkKK1NBWC5lbmRFbGVtZW50KHApCitTQVguY2hhcmFjdGVycygKKyAgICwgNCkKK1NBWC5zdGFydEVsZW1lbnQocCkKK1NBWC5jaGFyYWN0ZXJzKCBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0bywgNTApCitTQVguZW5kRWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoCisgICAsIDQpCitTQVguc3RhcnRFbGVtZW50KHApCitTQVguY2hhcmFjdGVycyggV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8sIDUwKQorU0FYLmVuZEVsZW1lbnQocCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgLCA0KQorU0FYLnN0YXJ0RWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvLCA1MCkKK1NBWC5lbmRFbGVtZW50KHApCitTQVguY2hhcmFjdGVycygKKyAgICwgNCkKK1NBWC5zdGFydEVsZW1lbnQocCkKK1NBWC5jaGFyYWN0ZXJzKCBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0bywgNTApCitTQVguZW5kRWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoCisgICAsIDQpCitTQVguc3RhcnRFbGVtZW50KHApCitTQVguY2hhcmFjdGVycyggV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8sIDUwKQorU0FYLmVuZEVsZW1lbnQocCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgLCA0KQorU0FYLnN0YXJ0RWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvLCA1MCkKK1NBWC5lbmRFbGVtZW50KHApCitTQVguY2hhcmFjdGVycygKKyAgICwgNCkKK1NBWC5zdGFydEVsZW1lbnQocCkKK1NBWC5jaGFyYWN0ZXJzKCBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0bywgNTApCitTQVguZW5kRWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoCisgICAsIDQpCitTQVguc3RhcnRFbGVtZW50KHApCitTQVguY2hhcmFjdGVycyggV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8sIDUwKQorU0FYLmVuZEVsZW1lbnQocCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgLCA0KQorU0FYLnN0YXJ0RWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvLCA1MCkKK1NBWC5lbmRFbGVtZW50KHApCitTQVguY2hhcmFjdGVycygKKyAgICwgNCkKK1NBWC5zdGFydEVsZW1lbnQocCkKK1NBWC5jaGFyYWN0ZXJzKCBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0bywgNTApCitTQVguZW5kRWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoCisgICAsIDQpCitTQVguc3RhcnRFbGVtZW50KHApCitTQVguY2hhcmFjdGVycyggV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8sIDUwKQorU0FYLmVuZEVsZW1lbnQocCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgLCA0KQorU0FYLnN0YXJ0RWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvLCA1MCkKK1NBWC5lbmRFbGVtZW50KHApCitTQVguY2hhcmFjdGVycygKKyAgICwgNCkKK1NBWC5zdGFydEVsZW1lbnQocCkKK1NBWC5jaGFyYWN0ZXJzKCBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0bywgNTApCitTQVguZW5kRWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoCisgICAsIDQpCitTQVguc3RhcnRFbGVtZW50KHApCitTQVguY2hhcmFjdGVycyggV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8sIDUwKQorU0FYLmVuZEVsZW1lbnQocCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgLCA0KQorU0FYLnN0YXJ0RWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvLCA1MCkKK1NBWC5lbmRFbGVtZW50KHApCitTQVguY2hhcmFjdGVycygKKyAgICwgNCkKK1NBWC5zdGFydEVsZW1lbnQocCkKK1NBWC5jaGFyYWN0ZXJzKCBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0bywgNTApCitTQVguZW5kRWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoCisgICAsIDQpCitTQVguc3RhcnRFbGVtZW50KHApCitTQVguY2hhcmFjdGVycyggV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8sIDUwKQorU0FYLmVuZEVsZW1lbnQocCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgLCA0KQorU0FYLnN0YXJ0RWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvLCA1MCkKK1NBWC5lbmRFbGVtZW50KHApCitTQVguY2hhcmFjdGVycygKKyAgICwgNCkKK1NBWC5zdGFydEVsZW1lbnQocCkKK1NBWC5jaGFyYWN0ZXJzKCBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0bywgNTApCitTQVguZW5kRWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoCisgICAsIDQpCitTQVguc3RhcnRFbGVtZW50KHApCitTQVguY2hhcmFjdGVycyggV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8sIDUwKQorU0FYLmVuZEVsZW1lbnQocCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgLCA0KQorU0FYLnN0YXJ0RWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvLCA1MCkKK1NBWC5lbmRFbGVtZW50KHApCitTQVguY2hhcmFjdGVycygKKyAgICwgNCkKK1NBWC5zdGFydEVsZW1lbnQocCkKK1NBWC5jaGFyYWN0ZXJzKCBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0bywgNTApCitTQVguZW5kRWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoCisgICAsIDQpCitTQVguc3RhcnRFbGVtZW50KHApCitTQVguY2hhcmFjdGVycyggV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8sIDUwKQorU0FYLmVuZEVsZW1lbnQocCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgLCA0KQorU0FYLnN0YXJ0RWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvLCA1MCkKK1NBWC5lbmRFbGVtZW50KHApCitTQVguY2hhcmFjdGVycygKKyAgICwgNCkKK1NBWC5zdGFydEVsZW1lbnQocCkKK1NBWC5jaGFyYWN0ZXJzKCBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0bywgNTApCitTQVguZW5kRWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoCisgICAsIDQpCitTQVguc3RhcnRFbGVtZW50KHApCitTQVguY2hhcmFjdGVycyggV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8sIDUwKQorU0FYLmVuZEVsZW1lbnQocCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgLCA0KQorU0FYLnN0YXJ0RWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvLCA1MCkKK1NBWC5lbmRFbGVtZW50KHApCitTQVguY2hhcmFjdGVycygKKyAgICwgNCkKK1NBWC5zdGFydEVsZW1lbnQocCkKK1NBWC5jaGFyYWN0ZXJzKCBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0bywgNTApCitTQVguZW5kRWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoCisgICAsIDQpCitTQVguc3RhcnRFbGVtZW50KHApCitTQVguY2hhcmFjdGVycyggV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8sIDUwKQorU0FYLmVuZEVsZW1lbnQocCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgLCA0KQorU0FYLnN0YXJ0RWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvLCA1MCkKK1NBWC5lbmRFbGVtZW50KHApCitTQVguY2hhcmFjdGVycygKKyAgICwgNCkKK1NBWC5zdGFydEVsZW1lbnQocCkKK1NBWC5jaGFyYWN0ZXJzKCBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0bywgNTApCitTQVguZW5kRWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoCisgICAsIDQpCitTQVguc3RhcnRFbGVtZW50KHApCitTQVguY2hhcmFjdGVycyggV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8sIDUwKQorU0FYLmVuZEVsZW1lbnQocCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgLCA0KQorU0FYLnN0YXJ0RWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvLCA1MCkKK1NBWC5lbmRFbGVtZW50KHApCitTQVguY2hhcmFjdGVycygKKyAgICwgNCkKK1NBWC5zdGFydEVsZW1lbnQocCkKK1NBWC5jaGFyYWN0ZXJzKCBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0bywgNTApCitTQVguZW5kRWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoCisgICAsIDQpCitTQVguc3RhcnRFbGVtZW50KGVudCkKK1NBWC5nZXRFbnRpdHkodGVzdDEpCitTQVguc3RhcnRFbGVtZW50KGEpCitTQVguZW5kRWxlbWVudChhKQorU0FYLmNoYXJhY3RlcnMoLCwgMSkKK1NBWC5zdGFydEVsZW1lbnQoYikKK1NBWC5lbmRFbGVtZW50KGIpCitTQVguY2hhcmFjdGVycygsLCAxKQorU0FYLnN0YXJ0RWxlbWVudChjKQorU0FYLmVuZEVsZW1lbnQoYykKK1NBWC5jaGFyYWN0ZXJzKCwsIDEpCitTQVguc3RhcnRFbGVtZW50KGQpCitTQVguZW5kRWxlbWVudChkKQorU0FYLnJlZmVyZW5jZSh0ZXN0MSkKK1NBWC5lbmRFbGVtZW50KGVudCkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmVuZEVsZW1lbnQoZG9jKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2VudDkuc2F4MiBiL2xpYnhtbDIvcmVzdWx0L2VudDkuc2F4MgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MzlkY2ZjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZW50OS5zYXgyCkBAIC0wLDAgKzEsMzEwIEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5pbnRlcm5hbFN1YnNldChkb2MsICwgKQorU0FYLmVudGl0eURlY2wodGVzdDEsIDEsIChudWxsKSwgKG51bGwpLCA8YS8+LDxiLz4sPGMvPiw8ZC8+KQorU0FYLmdldEVudGl0eSh0ZXN0MSkKK1NBWC5leHRlcm5hbFN1YnNldChkb2MsICwgKQorU0FYLnN0YXJ0RWxlbWVudE5zKGRvYywgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgLCA0KQorU0FYLnN0YXJ0RWxlbWVudE5zKGVudCwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5nZXRFbnRpdHkodGVzdDEpCitTQVguc3RhcnRFbGVtZW50TnMoYSwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5lbmRFbGVtZW50TnMoYSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKCwsIDEpCitTQVguc3RhcnRFbGVtZW50TnMoYiwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5lbmRFbGVtZW50TnMoYiwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKCwsIDEpCitTQVguc3RhcnRFbGVtZW50TnMoYywgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5lbmRFbGVtZW50TnMoYywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKCwsIDEpCitTQVguc3RhcnRFbGVtZW50TnMoZCwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5lbmRFbGVtZW50TnMoZCwgTlVMTCwgTlVMTCkKK1NBWC5yZWZlcmVuY2UodGVzdDEpCitTQVguZW5kRWxlbWVudE5zKGVudCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgLCA0KQorU0FYLnN0YXJ0RWxlbWVudE5zKHAsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyggV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8sIDUwKQorU0FYLmVuZEVsZW1lbnROcyhwLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAsIDQpCitTQVguc3RhcnRFbGVtZW50TnMocCwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKCBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0bywgNTApCitTQVguZW5kRWxlbWVudE5zKHAsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICwgNCkKK1NBWC5zdGFydEVsZW1lbnROcyhwLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvLCA1MCkKK1NBWC5lbmRFbGVtZW50TnMocCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgLCA0KQorU0FYLnN0YXJ0RWxlbWVudE5zKHAsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyggV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8sIDUwKQorU0FYLmVuZEVsZW1lbnROcyhwLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAsIDQpCitTQVguc3RhcnRFbGVtZW50TnMocCwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKCBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0bywgNTApCitTQVguZW5kRWxlbWVudE5zKHAsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICwgNCkKK1NBWC5zdGFydEVsZW1lbnROcyhwLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvLCA1MCkKK1NBWC5lbmRFbGVtZW50TnMocCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgLCA0KQorU0FYLnN0YXJ0RWxlbWVudE5zKHAsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyggV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8sIDUwKQorU0FYLmVuZEVsZW1lbnROcyhwLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAsIDQpCitTQVguc3RhcnRFbGVtZW50TnMocCwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKCBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0bywgNTApCitTQVguZW5kRWxlbWVudE5zKHAsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICwgNCkKK1NBWC5zdGFydEVsZW1lbnROcyhwLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvLCA1MCkKK1NBWC5lbmRFbGVtZW50TnMocCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgLCA0KQorU0FYLnN0YXJ0RWxlbWVudE5zKHAsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyggV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8sIDUwKQorU0FYLmVuZEVsZW1lbnROcyhwLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAsIDQpCitTQVguc3RhcnRFbGVtZW50TnMocCwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKCBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0bywgNTApCitTQVguZW5kRWxlbWVudE5zKHAsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICwgNCkKK1NBWC5zdGFydEVsZW1lbnROcyhwLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvLCA1MCkKK1NBWC5lbmRFbGVtZW50TnMocCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgLCA0KQorU0FYLnN0YXJ0RWxlbWVudE5zKHAsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyggV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8sIDUwKQorU0FYLmVuZEVsZW1lbnROcyhwLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAsIDQpCitTQVguc3RhcnRFbGVtZW50TnMocCwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKCBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0bywgNTApCitTQVguZW5kRWxlbWVudE5zKHAsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICwgNCkKK1NBWC5zdGFydEVsZW1lbnROcyhwLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvLCA1MCkKK1NBWC5lbmRFbGVtZW50TnMocCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgLCA0KQorU0FYLnN0YXJ0RWxlbWVudE5zKHAsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyggV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8sIDUwKQorU0FYLmVuZEVsZW1lbnROcyhwLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAsIDQpCitTQVguc3RhcnRFbGVtZW50TnMocCwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKCBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0bywgNTApCitTQVguZW5kRWxlbWVudE5zKHAsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICwgNCkKK1NBWC5zdGFydEVsZW1lbnROcyhwLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvLCA1MCkKK1NBWC5lbmRFbGVtZW50TnMocCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgLCA0KQorU0FYLnN0YXJ0RWxlbWVudE5zKHAsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyggV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8sIDUwKQorU0FYLmVuZEVsZW1lbnROcyhwLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAsIDQpCitTQVguc3RhcnRFbGVtZW50TnMocCwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKCBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0bywgNTApCitTQVguZW5kRWxlbWVudE5zKHAsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICwgNCkKK1NBWC5zdGFydEVsZW1lbnROcyhwLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvLCA1MCkKK1NBWC5lbmRFbGVtZW50TnMocCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgLCA0KQorU0FYLnN0YXJ0RWxlbWVudE5zKHAsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyggV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8sIDUwKQorU0FYLmVuZEVsZW1lbnROcyhwLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAsIDQpCitTQVguc3RhcnRFbGVtZW50TnMocCwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKCBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0bywgNTApCitTQVguZW5kRWxlbWVudE5zKHAsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICwgNCkKK1NBWC5zdGFydEVsZW1lbnROcyhwLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvLCA1MCkKK1NBWC5lbmRFbGVtZW50TnMocCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgLCA0KQorU0FYLnN0YXJ0RWxlbWVudE5zKHAsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyggV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8sIDUwKQorU0FYLmVuZEVsZW1lbnROcyhwLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAsIDQpCitTQVguc3RhcnRFbGVtZW50TnMocCwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKCBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0bywgNTApCitTQVguZW5kRWxlbWVudE5zKHAsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICwgNCkKK1NBWC5zdGFydEVsZW1lbnROcyhwLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvLCA1MCkKK1NBWC5lbmRFbGVtZW50TnMocCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgLCA0KQorU0FYLnN0YXJ0RWxlbWVudE5zKHAsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyggV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8sIDUwKQorU0FYLmVuZEVsZW1lbnROcyhwLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAsIDQpCitTQVguc3RhcnRFbGVtZW50TnMocCwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKCBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0bywgNTApCitTQVguZW5kRWxlbWVudE5zKHAsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICwgNCkKK1NBWC5zdGFydEVsZW1lbnROcyhwLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvLCA1MCkKK1NBWC5lbmRFbGVtZW50TnMocCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgLCA0KQorU0FYLnN0YXJ0RWxlbWVudE5zKHAsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyggV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8sIDUwKQorU0FYLmVuZEVsZW1lbnROcyhwLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAsIDQpCitTQVguc3RhcnRFbGVtZW50TnMocCwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKCBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0bywgNTApCitTQVguZW5kRWxlbWVudE5zKHAsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICwgNCkKK1NBWC5zdGFydEVsZW1lbnROcyhwLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvLCA1MCkKK1NBWC5lbmRFbGVtZW50TnMocCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgLCA0KQorU0FYLnN0YXJ0RWxlbWVudE5zKHAsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyggV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8sIDUwKQorU0FYLmVuZEVsZW1lbnROcyhwLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAsIDQpCitTQVguc3RhcnRFbGVtZW50TnMocCwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKCBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0bywgNTApCitTQVguZW5kRWxlbWVudE5zKHAsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICwgNCkKK1NBWC5zdGFydEVsZW1lbnROcyhwLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvLCA1MCkKK1NBWC5lbmRFbGVtZW50TnMocCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgLCA0KQorU0FYLnN0YXJ0RWxlbWVudE5zKHAsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyggV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8sIDUwKQorU0FYLmVuZEVsZW1lbnROcyhwLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAsIDQpCitTQVguc3RhcnRFbGVtZW50TnMocCwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKCBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0bywgNTApCitTQVguZW5kRWxlbWVudE5zKHAsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICwgNCkKK1NBWC5zdGFydEVsZW1lbnROcyhwLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvLCA1MCkKK1NBWC5lbmRFbGVtZW50TnMocCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgLCA0KQorU0FYLnN0YXJ0RWxlbWVudE5zKHAsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyggV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8sIDUwKQorU0FYLmVuZEVsZW1lbnROcyhwLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAsIDQpCitTQVguc3RhcnRFbGVtZW50TnMocCwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKCBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0bywgNTApCitTQVguZW5kRWxlbWVudE5zKHAsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICwgNCkKK1NBWC5zdGFydEVsZW1lbnROcyhwLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvLCA1MCkKK1NBWC5lbmRFbGVtZW50TnMocCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgLCA0KQorU0FYLnN0YXJ0RWxlbWVudE5zKHAsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyggV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8sIDUwKQorU0FYLmVuZEVsZW1lbnROcyhwLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAsIDQpCitTQVguc3RhcnRFbGVtZW50TnMocCwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKCBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0bywgNTApCitTQVguZW5kRWxlbWVudE5zKHAsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICwgNCkKK1NBWC5zdGFydEVsZW1lbnROcyhwLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvLCA1MCkKK1NBWC5lbmRFbGVtZW50TnMocCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgLCA0KQorU0FYLnN0YXJ0RWxlbWVudE5zKHAsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyggV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8sIDUwKQorU0FYLmVuZEVsZW1lbnROcyhwLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAsIDQpCitTQVguc3RhcnRFbGVtZW50TnMocCwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKCBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0bywgNTApCitTQVguZW5kRWxlbWVudE5zKHAsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICwgNCkKK1NBWC5zdGFydEVsZW1lbnROcyhwLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvLCA1MCkKK1NBWC5lbmRFbGVtZW50TnMocCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgLCA0KQorU0FYLnN0YXJ0RWxlbWVudE5zKHAsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyggV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8sIDUwKQorU0FYLmVuZEVsZW1lbnROcyhwLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAsIDQpCitTQVguc3RhcnRFbGVtZW50TnMocCwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKCBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0bywgNTApCitTQVguZW5kRWxlbWVudE5zKHAsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICwgNCkKK1NBWC5zdGFydEVsZW1lbnROcyhwLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoIFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvLCA1MCkKK1NBWC5lbmRFbGVtZW50TnMocCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgLCA0KQorU0FYLnN0YXJ0RWxlbWVudE5zKHAsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyggV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8sIDUwKQorU0FYLmVuZEVsZW1lbnROcyhwLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAsIDQpCitTQVguc3RhcnRFbGVtZW50TnMocCwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKCBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0bywgNTApCitTQVguZW5kRWxlbWVudE5zKHAsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICwgNCkKK1NBWC5zdGFydEVsZW1lbnROcyhlbnQsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguZ2V0RW50aXR5KHRlc3QxKQorU0FYLnN0YXJ0RWxlbWVudE5zKGEsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguZW5kRWxlbWVudE5zKGEsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygsLCAxKQorU0FYLnN0YXJ0RWxlbWVudE5zKGIsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguZW5kRWxlbWVudE5zKGIsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygsLCAxKQorU0FYLnN0YXJ0RWxlbWVudE5zKGMsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguZW5kRWxlbWVudE5zKGMsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygsLCAxKQorU0FYLnN0YXJ0RWxlbWVudE5zKGQsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguZW5kRWxlbWVudE5zKGQsIE5VTEwsIE5VTEwpCitTQVgucmVmZXJlbmNlKHRlc3QxKQorU0FYLmVuZEVsZW1lbnROcyhlbnQsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5lbmRFbGVtZW50TnMoZG9jLCBOVUxMLCBOVUxMKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2VudF83Mzg4MDUueG1sIGIvbGlieG1sMi9yZXN1bHQvZW50XzczODgwNS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDI4NWVlZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2VudF83Mzg4MDUueG1sCkBAIC0wLDAgKzEsMTUgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IklTTy04ODU5LTEiPz4KKzwhRE9DVFlQRSBzb21lZG9jIFsKKzwhRU5USVRZIGEgInNvbWV0aGluZyI+Cis8IUVOVElUWSBiICImYTsiPgorXT4KKzxzb21lZG9jPgorCis8c29tZWJlYWNvbiBzb21lYXR0cmlidXRlPSImYjsiLz4KKworJmE7IHNob3VsZCBhcHBlYXIgYWZ0ZXIgY29sb246ICZhOworJmI7IHNob3VsZCBhcHBlYXIgYWZ0ZXIgY29sb246ICZhOworJmE7IHNob3VsZCBhcHBlYXIgYWZ0ZXIgY29sb246ICZiOworJmI7IHNob3VsZCBhcHBlYXIgYWZ0ZXIgY29sb246ICZiOworCis8L3NvbWVkb2M+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9lbnRfNzM4ODA1LnhtbC5yZGUgYi9saWJ4bWwyL3Jlc3VsdC9lbnRfNzM4ODA1LnhtbC5yZGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmEwODZmZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2VudF83Mzg4MDUueG1sLnJkZQpAQCAtMCwwICsxLDE1IEBACiswIDEwIHNvbWVkb2MgMCAwCiswIDEgc29tZWRvYyAwIDAKKzEgMTQgI3RleHQgMCAxIAorCisKKzEgMSBzb21lYmVhY29uIDEgMAorMSAzICN0ZXh0IDAgMSAKKworc29tZXRoaW5nIHNob3VsZCBhcHBlYXIgYWZ0ZXIgY29sb246IHNvbWV0aGluZworc29tZXRoaW5nIHNob3VsZCBhcHBlYXIgYWZ0ZXIgY29sb246IHNvbWV0aGluZworc29tZXRoaW5nIHNob3VsZCBhcHBlYXIgYWZ0ZXIgY29sb246IHNvbWV0aGluZworc29tZXRoaW5nIHNob3VsZCBhcHBlYXIgYWZ0ZXIgY29sb246IHNvbWV0aGluZworCisKKzAgMTUgc29tZWRvYyAwIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2VudF83Mzg4MDUueG1sLnJkciBiL2xpYnhtbDIvcmVzdWx0L2VudF83Mzg4MDUueG1sLnJkcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNTJkYmYxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZW50XzczODgwNS54bWwucmRyCkBAIC0wLDAgKzEsMzEgQEAKKzAgMTAgc29tZWRvYyAwIDAKKzAgMSBzb21lZG9jIDAgMAorMSAxNCAjdGV4dCAwIDEgCisKKworMSAxIHNvbWViZWFjb24gMSAwCisxIDE0ICN0ZXh0IDAgMSAKKworCisxIDUgYSAwIDAKKzEgMyAjdGV4dCAwIDEgIHNob3VsZCBhcHBlYXIgYWZ0ZXIgY29sb246IAorMSA1IGEgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKworMSA1IGIgMCAwCisxIDMgI3RleHQgMCAxICBzaG91bGQgYXBwZWFyIGFmdGVyIGNvbG9uOiAKKzEgNSBhIDAgMAorMSAxNCAjdGV4dCAwIDEgCisKKzEgNSBhIDAgMAorMSAzICN0ZXh0IDAgMSAgc2hvdWxkIGFwcGVhciBhZnRlciBjb2xvbjogCisxIDUgYiAwIDAKKzEgMTQgI3RleHQgMCAxIAorCisxIDUgYiAwIDAKKzEgMyAjdGV4dCAwIDEgIHNob3VsZCBhcHBlYXIgYWZ0ZXIgY29sb246IAorMSA1IGIgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKworCiswIDE1IHNvbWVkb2MgMCAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9lbnRfNzM4ODA1LnhtbC5zYXggYi9saWJ4bWwyL3Jlc3VsdC9lbnRfNzM4ODA1LnhtbC5zYXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjY0OTExNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2VudF83Mzg4MDUueG1sLnNheApAQCAtMCwwICsxLDY2IEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5pbnRlcm5hbFN1YnNldChzb21lZG9jLCAsICkKK1NBWC5lbnRpdHlEZWNsKGEsIDEsIChudWxsKSwgKG51bGwpLCBzb21ldGhpbmcpCitTQVguZ2V0RW50aXR5KGEpCitTQVguZW50aXR5RGVjbChiLCAxLCAobnVsbCksIChudWxsKSwgJmE7KQorU0FYLmdldEVudGl0eShiKQorU0FYLmV4dGVybmFsU3Vic2V0KHNvbWVkb2MsICwgKQorU0FYLnN0YXJ0RWxlbWVudChzb21lZG9jKQorU0FYLmNoYXJhY3RlcnMoCisKKywgMikKK1NBWC5nZXRFbnRpdHkoYikKK1NBWC5nZXRFbnRpdHkoYSkKK1NBWC5zdGFydEVsZW1lbnQoc29tZWJlYWNvbiwgc29tZWF0dHJpYnV0ZT0nJmI7JykKK1NBWC5lbmRFbGVtZW50KHNvbWViZWFjb24pCitTQVguY2hhcmFjdGVycygKKworLCAyKQorU0FYLmdldEVudGl0eShhKQorU0FYLmNoYXJhY3RlcnMoc29tZXRoaW5nLCA5KQorU0FYLnJlZmVyZW5jZShhKQorU0FYLmNoYXJhY3RlcnMoIHNob3VsZCBhcHBlYXIgYWZ0ZXIgY29sb246ICwgMjgpCitTQVguZ2V0RW50aXR5KGEpCitTQVguY2hhcmFjdGVycyhzb21ldGhpbmcsIDkpCitTQVgucmVmZXJlbmNlKGEpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5nZXRFbnRpdHkoYikKK1NBWC5nZXRFbnRpdHkoYSkKK1NBWC5jaGFyYWN0ZXJzKHNvbWV0aGluZywgOSkKK1NBWC5yZWZlcmVuY2UoYSkKK1NBWC5yZWZlcmVuY2UoYikKK1NBWC5jaGFyYWN0ZXJzKCBzaG91bGQgYXBwZWFyIGFmdGVyIGNvbG9uOiAsIDI4KQorU0FYLmdldEVudGl0eShhKQorU0FYLmNoYXJhY3RlcnMoc29tZXRoaW5nLCA5KQorU0FYLnJlZmVyZW5jZShhKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguZ2V0RW50aXR5KGEpCitTQVguY2hhcmFjdGVycyhzb21ldGhpbmcsIDkpCitTQVgucmVmZXJlbmNlKGEpCitTQVguY2hhcmFjdGVycyggc2hvdWxkIGFwcGVhciBhZnRlciBjb2xvbjogLCAyOCkKK1NBWC5nZXRFbnRpdHkoYikKK1NBWC5nZXRFbnRpdHkoYSkKK1NBWC5jaGFyYWN0ZXJzKHNvbWV0aGluZywgOSkKK1NBWC5yZWZlcmVuY2UoYSkKK1NBWC5yZWZlcmVuY2UoYikKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmdldEVudGl0eShiKQorU0FYLmdldEVudGl0eShhKQorU0FYLmNoYXJhY3RlcnMoc29tZXRoaW5nLCA5KQorU0FYLnJlZmVyZW5jZShhKQorU0FYLnJlZmVyZW5jZShiKQorU0FYLmNoYXJhY3RlcnMoIHNob3VsZCBhcHBlYXIgYWZ0ZXIgY29sb246ICwgMjgpCitTQVguZ2V0RW50aXR5KGIpCitTQVguZ2V0RW50aXR5KGEpCitTQVguY2hhcmFjdGVycyhzb21ldGhpbmcsIDkpCitTQVgucmVmZXJlbmNlKGEpCitTQVgucmVmZXJlbmNlKGIpCitTQVguY2hhcmFjdGVycygKKworLCAyKQorU0FYLmVuZEVsZW1lbnQoc29tZWRvYykKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9lbnRfNzM4ODA1LnhtbC5zYXgyIGIvbGlieG1sMi9yZXN1bHQvZW50XzczODgwNS54bWwuc2F4MgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZWFlNzgxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZW50XzczODgwNS54bWwuc2F4MgpAQCAtMCwwICsxLDY2IEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5pbnRlcm5hbFN1YnNldChzb21lZG9jLCAsICkKK1NBWC5lbnRpdHlEZWNsKGEsIDEsIChudWxsKSwgKG51bGwpLCBzb21ldGhpbmcpCitTQVguZ2V0RW50aXR5KGEpCitTQVguZW50aXR5RGVjbChiLCAxLCAobnVsbCksIChudWxsKSwgJmE7KQorU0FYLmdldEVudGl0eShiKQorU0FYLmV4dGVybmFsU3Vic2V0KHNvbWVkb2MsICwgKQorU0FYLnN0YXJ0RWxlbWVudE5zKHNvbWVkb2MsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycygKKworLCAyKQorU0FYLmdldEVudGl0eShiKQorU0FYLmdldEVudGl0eShhKQorU0FYLnN0YXJ0RWxlbWVudE5zKHNvbWViZWFjb24sIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHNvbWVhdHRyaWJ1dGU9JyZiOy4uLicsIDMpCitTQVguZW5kRWxlbWVudE5zKHNvbWViZWFjb24sIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKworLCAyKQorU0FYLmdldEVudGl0eShhKQorU0FYLmNoYXJhY3RlcnMoc29tZXRoaW5nLCA5KQorU0FYLnJlZmVyZW5jZShhKQorU0FYLmNoYXJhY3RlcnMoIHNob3VsZCBhcHBlYXIgYWZ0ZXIgY29sb246ICwgMjgpCitTQVguZ2V0RW50aXR5KGEpCitTQVguY2hhcmFjdGVycyhzb21ldGhpbmcsIDkpCitTQVgucmVmZXJlbmNlKGEpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5nZXRFbnRpdHkoYikKK1NBWC5nZXRFbnRpdHkoYSkKK1NBWC5jaGFyYWN0ZXJzKHNvbWV0aGluZywgOSkKK1NBWC5yZWZlcmVuY2UoYSkKK1NBWC5yZWZlcmVuY2UoYikKK1NBWC5jaGFyYWN0ZXJzKCBzaG91bGQgYXBwZWFyIGFmdGVyIGNvbG9uOiAsIDI4KQorU0FYLmdldEVudGl0eShhKQorU0FYLmNoYXJhY3RlcnMoc29tZXRoaW5nLCA5KQorU0FYLnJlZmVyZW5jZShhKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguZ2V0RW50aXR5KGEpCitTQVguY2hhcmFjdGVycyhzb21ldGhpbmcsIDkpCitTQVgucmVmZXJlbmNlKGEpCitTQVguY2hhcmFjdGVycyggc2hvdWxkIGFwcGVhciBhZnRlciBjb2xvbjogLCAyOCkKK1NBWC5nZXRFbnRpdHkoYikKK1NBWC5nZXRFbnRpdHkoYSkKK1NBWC5jaGFyYWN0ZXJzKHNvbWV0aGluZywgOSkKK1NBWC5yZWZlcmVuY2UoYSkKK1NBWC5yZWZlcmVuY2UoYikKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmdldEVudGl0eShiKQorU0FYLmdldEVudGl0eShhKQorU0FYLmNoYXJhY3RlcnMoc29tZXRoaW5nLCA5KQorU0FYLnJlZmVyZW5jZShhKQorU0FYLnJlZmVyZW5jZShiKQorU0FYLmNoYXJhY3RlcnMoIHNob3VsZCBhcHBlYXIgYWZ0ZXIgY29sb246ICwgMjgpCitTQVguZ2V0RW50aXR5KGIpCitTQVguZ2V0RW50aXR5KGEpCitTQVguY2hhcmFjdGVycyhzb21ldGhpbmcsIDkpCitTQVgucmVmZXJlbmNlKGEpCitTQVgucmVmZXJlbmNlKGIpCitTQVguY2hhcmFjdGVycygKKworLCAyKQorU0FYLmVuZEVsZW1lbnROcyhzb21lZG9jLCBOVUxMLCBOVUxMKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2Vycm9ycy9hdHRyMS54bWwgYi9saWJ4bWwyL3Jlc3VsdC9lcnJvcnMvYXR0cjEueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9lcnJvcnMvYXR0cjEueG1sCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9lcnJvcnMvYXR0cjEueG1sLmVyciBiL2xpYnhtbDIvcmVzdWx0L2Vycm9ycy9hdHRyMS54bWwuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRmMDg1MzgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9lcnJvcnMvYXR0cjEueG1sLmVycgpAQCAtMCwwICsxLDYgQEAKKy4vdGVzdC9lcnJvcnMvYXR0cjEueG1sOjI6IHBhcnNlciBlcnJvciA6IEF0dFZhbHVlOiAnIGV4cGVjdGVkCisKK14KKy4vdGVzdC9lcnJvcnMvYXR0cjEueG1sOjE6IHBhcnNlciBlcnJvciA6IEV4dHJhIGNvbnRlbnQgYXQgdGhlIGVuZCBvZiB0aGUgZG9jdW1lbnQKKzxmb28gZm9vPSJvb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vCisgXgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZXJyb3JzL2F0dHIxLnhtbC5zdHIgYi9saWJ4bWwyL3Jlc3VsdC9lcnJvcnMvYXR0cjEueG1sLnN0cgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MThkMjNjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZXJyb3JzL2F0dHIxLnhtbC5zdHIKQEAgLTAsMCArMSwxMCBAQAorLi90ZXN0L2Vycm9ycy9hdHRyMS54bWw6MjogcGFyc2VyIGVycm9yIDogQXR0VmFsdWU6ICcgZXhwZWN0ZWQKKworXgorLi90ZXN0L2Vycm9ycy9hdHRyMS54bWw6MjogcGFyc2VyIGVycm9yIDogYXR0cmlidXRlcyBjb25zdHJ1Y3QgZXJyb3IKKworXgorLi90ZXN0L2Vycm9ycy9hdHRyMS54bWw6MjogcGFyc2VyIGVycm9yIDogQ291bGRuJ3QgZmluZCBlbmQgb2YgU3RhcnQgVGFnIGZvbworCiteCisuL3Rlc3QvZXJyb3JzL2F0dHIxLnhtbCA6IGZhaWxlZCB0byBwYXJzZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZXJyb3JzL2F0dHIyLnhtbCBiL2xpYnhtbDIvcmVzdWx0L2Vycm9ycy9hdHRyMi54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2Vycm9ycy9hdHRyMi54bWwKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2Vycm9ycy9hdHRyMi54bWwuZXJyIGIvbGlieG1sMi9yZXN1bHQvZXJyb3JzL2F0dHIyLnhtbC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzhhOWM3ZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2Vycm9ycy9hdHRyMi54bWwuZXJyCkBAIC0wLDAgKzEsNiBAQAorLi90ZXN0L2Vycm9ycy9hdHRyMi54bWw6MjogcGFyc2VyIGVycm9yIDogQXR0VmFsdWU6ICcgZXhwZWN0ZWQKKworXgorLi90ZXN0L2Vycm9ycy9hdHRyMi54bWw6MTogcGFyc2VyIGVycm9yIDogRXh0cmEgY29udGVudCBhdCB0aGUgZW5kIG9mIHRoZSBkb2N1bWVudAorPGZvbyBmb289Ij5vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb28KKyBeCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9lcnJvcnMvYXR0cjIueG1sLnN0ciBiL2xpYnhtbDIvcmVzdWx0L2Vycm9ycy9hdHRyMi54bWwuc3RyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEzYjA4YTcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9lcnJvcnMvYXR0cjIueG1sLnN0cgpAQCAtMCwwICsxLDEwIEBACisuL3Rlc3QvZXJyb3JzL2F0dHIyLnhtbDoyOiBwYXJzZXIgZXJyb3IgOiBBdHRWYWx1ZTogJyBleHBlY3RlZAorCiteCisuL3Rlc3QvZXJyb3JzL2F0dHIyLnhtbDoyOiBwYXJzZXIgZXJyb3IgOiBhdHRyaWJ1dGVzIGNvbnN0cnVjdCBlcnJvcgorCiteCisuL3Rlc3QvZXJyb3JzL2F0dHIyLnhtbDoyOiBwYXJzZXIgZXJyb3IgOiBDb3VsZG4ndCBmaW5kIGVuZCBvZiBTdGFydCBUYWcgZm9vCisKK14KKy4vdGVzdC9lcnJvcnMvYXR0cjIueG1sIDogZmFpbGVkIHRvIHBhcnNlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9lcnJvcnMvYXR0cjMueG1sIGIvbGlieG1sMi9yZXN1bHQvZXJyb3JzL2F0dHIzLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZTFmOTI4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZXJyb3JzL2F0dHIzLnhtbApAQCAtMCwwICsxLDYgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCFET0NUWVBFIGRvYyBbCis8IUVMRU1FTlQgZG9jICgjUENEQVRBKT4KKzwhQVRUTElTVCBkb2MgYTEgQ0RBVEEgInYxIj4KK10+Cis8ZG9jLz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2Vycm9ycy9hdHRyMy54bWwuZXJyIGIvbGlieG1sMi9yZXN1bHQvZXJyb3JzL2F0dHIzLnhtbC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTYyOGNhNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2Vycm9ycy9hdHRyMy54bWwuZXJyCkBAIC0wLDAgKzEsMyBAQAorLi90ZXN0L2Vycm9ycy9hdHRyMy54bWw6NDogdmFsaWRpdHkgd2FybmluZyA6IEF0dHJpYnV0ZSBhMSBvZiBlbGVtZW50IGRvYzogYWxyZWFkeSBkZWZpbmVkCis8IUFUVExJU1QgZG9jIGExIENEQVRBICJ6MSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICBeCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9lcnJvcnMvYXR0cjMueG1sLnN0ciBiL2xpYnhtbDIvcmVzdWx0L2Vycm9ycy9hdHRyMy54bWwuc3RyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE2MjhjYTcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9lcnJvcnMvYXR0cjMueG1sLnN0cgpAQCAtMCwwICsxLDMgQEAKKy4vdGVzdC9lcnJvcnMvYXR0cjMueG1sOjQ6IHZhbGlkaXR5IHdhcm5pbmcgOiBBdHRyaWJ1dGUgYTEgb2YgZWxlbWVudCBkb2M6IGFscmVhZHkgZGVmaW5lZAorPCFBVFRMSVNUIGRvYyBhMSBDREFUQSAiejEiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgXgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZXJyb3JzL2F0dHI0LnhtbCBiL2xpYnhtbDIvcmVzdWx0L2Vycm9ycy9hdHRyNC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2Vycm9ycy9hdHRyNC54bWwKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2Vycm9ycy9hdHRyNC54bWwuZXJyIGIvbGlieG1sMi9yZXN1bHQvZXJyb3JzL2F0dHI0LnhtbC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTk5NjZkOAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2Vycm9ycy9hdHRyNC54bWwuZXJyCkBAIC0wLDAgKzEsMTIgQEAKKy4vdGVzdC9lcnJvcnMvYXR0cjQueG1sOjE6IHBhcnNlciBlcnJvciA6IGludmFsaWQgY2hhcmFjdGVyIGluIGF0dHJpYnV0ZSB2YWx1ZQorPFJPT1QgYXR0cj0iWFkWIi8+CisgICAgICAgICAgICAgIF4KKy4vdGVzdC9lcnJvcnMvYXR0cjQueG1sOjE6IHBhcnNlciBlcnJvciA6IGF0dHJpYnV0ZXMgY29uc3RydWN0IGVycm9yCis8Uk9PVCBhdHRyPSJYWRYiLz4KKyAgICAgICAgICAgICAgXgorLi90ZXN0L2Vycm9ycy9hdHRyNC54bWw6MTogcGFyc2VyIGVycm9yIDogQ291bGRuJ3QgZmluZCBlbmQgb2YgU3RhcnQgVGFnIFJPT1QgbGluZSAxCis8Uk9PVCBhdHRyPSJYWRYiLz4KKyAgICAgICAgICAgICAgXgorLi90ZXN0L2Vycm9ycy9hdHRyNC54bWw6MTogcGFyc2VyIGVycm9yIDogRXh0cmEgY29udGVudCBhdCB0aGUgZW5kIG9mIHRoZSBkb2N1bWVudAorPFJPT1QgYXR0cj0iWFkWIi8+CisgICAgICAgICAgICAgIF4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2Vycm9ycy9hdHRyNC54bWwuc3RyIGIvbGlieG1sMi9yZXN1bHQvZXJyb3JzL2F0dHI0LnhtbC5zdHIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWViOTI1MgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2Vycm9ycy9hdHRyNC54bWwuc3RyCkBAIC0wLDAgKzEsMTAgQEAKKy4vdGVzdC9lcnJvcnMvYXR0cjQueG1sOjE6IHBhcnNlciBlcnJvciA6IGludmFsaWQgY2hhcmFjdGVyIGluIGF0dHJpYnV0ZSB2YWx1ZQorPFJPT1QgYXR0cj0iWFkWIi8+CisgICAgICAgICAgICAgIF4KKy4vdGVzdC9lcnJvcnMvYXR0cjQueG1sOjE6IHBhcnNlciBlcnJvciA6IGF0dHJpYnV0ZXMgY29uc3RydWN0IGVycm9yCis8Uk9PVCBhdHRyPSJYWRYiLz4KKyAgICAgICAgICAgICAgXgorLi90ZXN0L2Vycm9ycy9hdHRyNC54bWw6MTogcGFyc2VyIGVycm9yIDogQ291bGRuJ3QgZmluZCBlbmQgb2YgU3RhcnQgVGFnIFJPT1QKKzxST09UIGF0dHI9IlhZFiIvPgorICAgICAgICAgICAgICBeCisuL3Rlc3QvZXJyb3JzL2F0dHI0LnhtbCA6IGZhaWxlZCB0byBwYXJzZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZXJyb3JzL2NkYXRhLnhtbCBiL2xpYnhtbDIvcmVzdWx0L2Vycm9ycy9jZGF0YS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2Vycm9ycy9jZGF0YS54bWwKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2Vycm9ycy9jZGF0YS54bWwuZXJyIGIvbGlieG1sMi9yZXN1bHQvZXJyb3JzL2NkYXRhLnhtbC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjc1Nzk2MwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2Vycm9ycy9jZGF0YS54bWwuZXJyCkBAIC0wLDAgKzEsNCBAQAorLi90ZXN0L2Vycm9ycy9jZGF0YS54bWw6MjogcGFyc2VyIGVycm9yIDogSW5wdXQgaXMgbm90IHByb3BlciBVVEYtOCwgaW5kaWNhdGUgZW5jb2RpbmcgIQorQnl0ZXM6IDB4RTEgMHg3MiAweDVEIDB4NUQKKzxBPjwhW0NEQVRBW0Phcl1dPjwvQT4KKyAgICAgICAgICAgICBeCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9lcnJvcnMvY2RhdGEueG1sLnN0ciBiL2xpYnhtbDIvcmVzdWx0L2Vycm9ycy9jZGF0YS54bWwuc3RyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUwNDM0NDEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9lcnJvcnMvY2RhdGEueG1sLnN0cgpAQCAtMCwwICsxLDUgQEAKKy4vdGVzdC9lcnJvcnMvY2RhdGEueG1sOjI6IHBhcnNlciBlcnJvciA6IElucHV0IGlzIG5vdCBwcm9wZXIgVVRGLTgsIGluZGljYXRlIGVuY29kaW5nICEKK0J5dGVzOiAweDVCIDB4NDMgMHhFMSAweDcyCis8QT48IVtDREFUQVtD4XJdXT48L0E+CisgICAgICAgICAgIF4KKy4vdGVzdC9lcnJvcnMvY2RhdGEueG1sIDogZmFpbGVkIHRvIHBhcnNlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9lcnJvcnMvY2hhcnJlZjEueG1sIGIvbGlieG1sMi9yZXN1bHQvZXJyb3JzL2NoYXJyZWYxLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZXJyb3JzL2NoYXJyZWYxLnhtbApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZXJyb3JzL2NoYXJyZWYxLnhtbC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9lcnJvcnMvY2hhcnJlZjEueG1sLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYTQzYmNmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZXJyb3JzL2NoYXJyZWYxLnhtbC5lcnIKQEAgLTAsMCArMSwzIEBACisuL3Rlc3QvZXJyb3JzL2NoYXJyZWYxLnhtbDoxOiBwYXJzZXIgZXJyb3IgOiB4bWxQYXJzZUNoYXJSZWY6IGludmFsaWQgeG1sQ2hhciB2YWx1ZSA2MAorPGJsYT4mIzAxMDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MDs8L2JsYT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZXJyb3JzL2NoYXJyZWYxLnhtbC5zdHIgYi9saWJ4bWwyL3Jlc3VsdC9lcnJvcnMvY2hhcnJlZjEueG1sLnN0cgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NjdiNGY2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZXJyb3JzL2NoYXJyZWYxLnhtbC5zdHIKQEAgLTAsMCArMSw0IEBACisuL3Rlc3QvZXJyb3JzL2NoYXJyZWYxLnhtbDoxOiBwYXJzZXIgZXJyb3IgOiB4bWxQYXJzZUNoYXJSZWY6IGludmFsaWQgeG1sQ2hhciB2YWx1ZSA2MAorPGJsYT4mIzAxMDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MDs8L2JsYT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgorLi90ZXN0L2Vycm9ycy9jaGFycmVmMS54bWwgOiBmYWlsZWQgdG8gcGFyc2UKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2Vycm9ycy9jb21tZW50MS54bWwgYi9saWJ4bWwyL3Jlc3VsdC9lcnJvcnMvY29tbWVudDEueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9lcnJvcnMvY29tbWVudDEueG1sCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9lcnJvcnMvY29tbWVudDEueG1sLmVyciBiL2xpYnhtbDIvcmVzdWx0L2Vycm9ycy9jb21tZW50MS54bWwuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVhNzMyZGQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9lcnJvcnMvY29tbWVudDEueG1sLmVycgpAQCAtMCwwICsxLDYgQEAKKy4vdGVzdC9lcnJvcnMvY29tbWVudDEueG1sOjU6IHBhcnNlciBlcnJvciA6IHhtbFBhcnNlQ29tbWVudDogaW52YWxpZCB4bWxDaGFyIHZhbHVlIDE0CisgaW4gcDAyOiAOIC0tPgorICAgICAgICAgXgorLi90ZXN0L2Vycm9ycy9jb21tZW50MS54bWw6NTogcGFyc2VyIGVycm9yIDogU3RhcnQgdGFnIGV4cGVjdGVkLCAnPCcgbm90IGZvdW5kCisgaW4gcDAyOiAOIC0tPgorICAgICAgICAgXgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZXJyb3JzL2NvbW1lbnQxLnhtbC5zdHIgYi9saWJ4bWwyL3Jlc3VsdC9lcnJvcnMvY29tbWVudDEueG1sLnN0cgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40OTRkMWVkCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZXJyb3JzL2NvbW1lbnQxLnhtbC5zdHIKQEAgLTAsMCArMSw0IEBACisuL3Rlc3QvZXJyb3JzL2NvbW1lbnQxLnhtbDo1OiBwYXJzZXIgZXJyb3IgOiB4bWxQYXJzZUNvbW1lbnQ6IGludmFsaWQgeG1sQ2hhciB2YWx1ZSAxNAorIGluIHAwMjogDiAtLT4KKyAgICAgICAgIF4KKy4vdGVzdC9lcnJvcnMvY29tbWVudDEueG1sIDogZmFpbGVkIHRvIHBhcnNlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9lcnJvcnMvY29udGVudDEueG1sIGIvbGlieG1sMi9yZXN1bHQvZXJyb3JzL2NvbnRlbnQxLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZXJyb3JzL2NvbnRlbnQxLnhtbApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZXJyb3JzL2NvbnRlbnQxLnhtbC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9lcnJvcnMvY29udGVudDEueG1sLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MjViZTM5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZXJyb3JzL2NvbnRlbnQxLnhtbC5lcnIKQEAgLTAsMCArMSwxNiBAQAorLi90ZXN0L2Vycm9ycy9jb250ZW50MS54bWw6NzogcGFyc2VyIGVycm9yIDogQ29udGVudERlY2wgOiAnLCcgJ3wnIG9yICcpJyBleHBlY3RlZAorPCFFTEVNRU5UIGFFbGVtZW50IChhIHxiICogPgorICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9lcnJvcnMvY29udGVudDEueG1sOjc6IHBhcnNlciBlcnJvciA6IGV4cGVjdGVkICc+JworPCFFTEVNRU5UIGFFbGVtZW50IChhIHxiICogPgorICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9lcnJvcnMvY29udGVudDEueG1sOjc6IHBhcnNlciBlcnJvciA6IGludGVybmFsIGVycm9yOiB4bWxQYXJzZUludGVybmFsU3Vic2V0OiBlcnJvciBkZXRlY3RlZCBpbiBNYXJrdXAgZGVjbGFyYXRpb24KKworPCFFTEVNRU5UIGFFbGVtZW50IChhIHxiICogPgorICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4vdGVzdC9lcnJvcnMvY29udGVudDEueG1sOjc6IHBhcnNlciBlcnJvciA6IERPQ1RZUEUgaW1wcm9wZXJseSB0ZXJtaW5hdGVkCis8IUVMRU1FTlQgYUVsZW1lbnQgKGEgfGIgKiA+CisgICAgICAgICAgICAgICAgICAgICAgICAgXgorLi90ZXN0L2Vycm9ycy9jb250ZW50MS54bWw6NzogcGFyc2VyIGVycm9yIDogU3RhcnQgdGFnIGV4cGVjdGVkLCAnPCcgbm90IGZvdW5kCis8IUVMRU1FTlQgYUVsZW1lbnQgKGEgfGIgKiA+CisgICAgICAgICAgICAgICAgICAgICAgICAgICBeCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9lcnJvcnMvY29udGVudDEueG1sLnN0ciBiL2xpYnhtbDIvcmVzdWx0L2Vycm9ycy9jb250ZW50MS54bWwuc3RyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ4MDZhNjMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9lcnJvcnMvY29udGVudDEueG1sLnN0cgpAQCAtMCwwICsxLDE0IEBACisuL3Rlc3QvZXJyb3JzL2NvbnRlbnQxLnhtbDo3OiBwYXJzZXIgZXJyb3IgOiBDb250ZW50RGVjbCA6ICcsJyAnfCcgb3IgJyknIGV4cGVjdGVkCis8IUVMRU1FTlQgYUVsZW1lbnQgKGEgfGIgKiA+CisgICAgICAgICAgICAgICAgICAgICAgICAgXgorLi90ZXN0L2Vycm9ycy9jb250ZW50MS54bWw6NzogcGFyc2VyIGVycm9yIDogZXhwZWN0ZWQgJz4nCis8IUVMRU1FTlQgYUVsZW1lbnQgKGEgfGIgKiA+CisgICAgICAgICAgICAgICAgICAgICAgICAgXgorLi90ZXN0L2Vycm9ycy9jb250ZW50MS54bWw6NzogcGFyc2VyIGVycm9yIDogaW50ZXJuYWwgZXJyb3I6IHhtbFBhcnNlSW50ZXJuYWxTdWJzZXQ6IGVycm9yIGRldGVjdGVkIGluIE1hcmt1cCBkZWNsYXJhdGlvbgorCis8IUVMRU1FTlQgYUVsZW1lbnQgKGEgfGIgKiA+CisgICAgICAgICAgICAgICAgICAgICAgICAgXgorLi90ZXN0L2Vycm9ycy9jb250ZW50MS54bWw6NzogcGFyc2VyIGVycm9yIDogRE9DVFlQRSBpbXByb3Blcmx5IHRlcm1pbmF0ZWQKKzwhRUxFTUVOVCBhRWxlbWVudCAoYSB8YiAqID4KKyAgICAgICAgICAgICAgICAgICAgICAgICBeCisuL3Rlc3QvZXJyb3JzL2NvbnRlbnQxLnhtbCA6IGZhaWxlZCB0byBwYXJzZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZXJyb3JzL2V4dHBhcnNlZGVudC54bWwgYi9saWJ4bWwyL3Jlc3VsdC9lcnJvcnMvZXh0cGFyc2VkZW50LnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wN2U0YzU0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZXJyb3JzL2V4dHBhcnNlZGVudC54bWwKQEAgLTAsMCArMSw1IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhRE9DVFlQRSBmb28gWworPCFFTlRJVFkgYyBQVUJMSUMgImJhciIgIi9ldGMvZG9lc25vdGV4aXN0Ij4KK10+Cis8cm9vdD4mYzs8L3Jvb3Q+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9lcnJvcnMvZXh0cGFyc2VkZW50LnhtbC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9lcnJvcnMvZXh0cGFyc2VkZW50LnhtbC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2Vycm9ycy9leHRwYXJzZWRlbnQueG1sLmVycgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZXJyb3JzL2V4dHBhcnNlZGVudC54bWwuc3RyIGIvbGlieG1sMi9yZXN1bHQvZXJyb3JzL2V4dHBhcnNlZGVudC54bWwuc3RyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9lcnJvcnMvZXh0cGFyc2VkZW50LnhtbC5zdHIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2Vycm9ycy9uYW1lLnhtbCBiL2xpYnhtbDIvcmVzdWx0L2Vycm9ycy9uYW1lLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZXJyb3JzL25hbWUueG1sCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9lcnJvcnMvbmFtZS54bWwuZXJyIGIvbGlieG1sMi9yZXN1bHQvZXJyb3JzL25hbWUueG1sLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZGJmYzUyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZXJyb3JzL25hbWUueG1sLmVycgpAQCAtMCwwICsxLDMgQEAKKy4vdGVzdC9lcnJvcnMvbmFtZS54bWw6MjogcGFyc2VyIGVycm9yIDogQ291bGRuJ3QgZmluZCBlbmQgb2YgU3RhcnQgVGFnIGZvb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb28gbGluZSAxCisKK14KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2Vycm9ycy9uYW1lLnhtbC5zdHIgYi9saWJ4bWwyL3Jlc3VsdC9lcnJvcnMvbmFtZS54bWwuc3RyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZkNGFmNTkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9lcnJvcnMvbmFtZS54bWwuc3RyCkBAIC0wLDAgKzEsNCBAQAorLi90ZXN0L2Vycm9ycy9uYW1lLnhtbDoyOiBwYXJzZXIgZXJyb3IgOiBDb3VsZG4ndCBmaW5kIGVuZCBvZiBTdGFydCBUYWcgZm9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vbworCiteCisuL3Rlc3QvZXJyb3JzL25hbWUueG1sIDogZmFpbGVkIHRvIHBhcnNlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9lcnJvcnMvbmFtZTIueG1sIGIvbGlieG1sMi9yZXN1bHQvZXJyb3JzL25hbWUyLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZXJyb3JzL25hbWUyLnhtbApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZXJyb3JzL25hbWUyLnhtbC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9lcnJvcnMvbmFtZTIueG1sLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNjY0OWExCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZXJyb3JzL25hbWUyLnhtbC5lcnIKQEAgLTAsMCArMSw2IEBACisuL3Rlc3QvZXJyb3JzL25hbWUyLnhtbDoyOiBwYXJzZXIgZXJyb3IgOiBTcGVjaWZpY2F0aW9uIG1hbmRhdGUgdmFsdWUgZm9yIGF0dHJpYnV0ZSBmb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vCisKK14KKy4vdGVzdC9lcnJvcnMvbmFtZTIueG1sOjE6IHBhcnNlciBlcnJvciA6IEV4dHJhIGNvbnRlbnQgYXQgdGhlIGVuZCBvZiB0aGUgZG9jdW1lbnQKKzxmb28gZm9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vCisgXgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZXJyb3JzL25hbWUyLnhtbC5zdHIgYi9saWJ4bWwyL3Jlc3VsdC9lcnJvcnMvbmFtZTIueG1sLnN0cgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYWVlMDkwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZXJyb3JzL25hbWUyLnhtbC5zdHIKQEAgLTAsMCArMSwxMCBAQAorLi90ZXN0L2Vycm9ycy9uYW1lMi54bWw6MjogcGFyc2VyIGVycm9yIDogU3BlY2lmaWNhdGlvbiBtYW5kYXRlIHZhbHVlIGZvciBhdHRyaWJ1dGUgZm9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vbworCiteCisuL3Rlc3QvZXJyb3JzL25hbWUyLnhtbDoyOiBwYXJzZXIgZXJyb3IgOiBhdHRyaWJ1dGVzIGNvbnN0cnVjdCBlcnJvcgorCiteCisuL3Rlc3QvZXJyb3JzL25hbWUyLnhtbDoyOiBwYXJzZXIgZXJyb3IgOiBDb3VsZG4ndCBmaW5kIGVuZCBvZiBTdGFydCBUYWcgZm9vCisKK14KKy4vdGVzdC9lcnJvcnMvbmFtZTIueG1sIDogZmFpbGVkIHRvIHBhcnNlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9ldmUueG1sIGIvbGlieG1sMi9yZXN1bHQvZXZlLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYWI3MjA4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZXZlLnhtbApAQCAtMCwwICsxLDYgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8IURPQ1RZUEUgc3BlYyBQVUJMSUMgIi0vL3Rlc3RzcGVjLy8iICJkdGRzL2V2ZS5kdGQiIFsKKzwhRU5USVRZIGlzbzYuZG9jLmRhdGUgIjI5LU1heS0xOTk5Ij4KK10+Cis8c3BlYz4KKzwvc3BlYz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2V2ZS54bWwucmRlIGIvbGlieG1sMi9yZXN1bHQvZXZlLnhtbC5yZGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmYwOGM1NQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2V2ZS54bWwucmRlCkBAIC0wLDAgKzEsNSBAQAorMCAxMCBzcGVjIDAgMAorMCAxIHNwZWMgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKworMCAxNSBzcGVjIDAgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvZXZlLnhtbC5yZHIgYi9saWJ4bWwyL3Jlc3VsdC9ldmUueG1sLnJkcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZjA4YzU1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZXZlLnhtbC5yZHIKQEAgLTAsMCArMSw1IEBACiswIDEwIHNwZWMgMCAwCiswIDEgc3BlYyAwIDAKKzEgMTQgI3RleHQgMCAxIAorCiswIDE1IHNwZWMgMCAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9ldmUueG1sLnNheCBiL2xpYnhtbDIvcmVzdWx0L2V2ZS54bWwuc2F4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFiNDE2YjIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9ldmUueG1sLnNheApAQCAtMCwwICsxLDExIEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5pbnRlcm5hbFN1YnNldChzcGVjLCAtLy90ZXN0c3BlYy8vLCBkdGRzL2V2ZS5kdGQpCitTQVguZW50aXR5RGVjbChpc282LmRvYy5kYXRlLCAxLCAobnVsbCksIChudWxsKSwgMjktTWF5LTE5OTkpCitTQVguZ2V0RW50aXR5KGlzbzYuZG9jLmRhdGUpCitTQVguZXh0ZXJuYWxTdWJzZXQoc3BlYywgLS8vdGVzdHNwZWMvLywgZHRkcy9ldmUuZHRkKQorU0FYLnN0YXJ0RWxlbWVudChzcGVjKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguZW5kRWxlbWVudChzcGVjKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2V2ZS54bWwuc2F4MiBiL2xpYnhtbDIvcmVzdWx0L2V2ZS54bWwuc2F4MgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYTNiNDMwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvZXZlLnhtbC5zYXgyCkBAIC0wLDAgKzEsMTEgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLmludGVybmFsU3Vic2V0KHNwZWMsIC0vL3Rlc3RzcGVjLy8sIGR0ZHMvZXZlLmR0ZCkKK1NBWC5lbnRpdHlEZWNsKGlzbzYuZG9jLmRhdGUsIDEsIChudWxsKSwgKG51bGwpLCAyOS1NYXktMTk5OSkKK1NBWC5nZXRFbnRpdHkoaXNvNi5kb2MuZGF0ZSkKK1NBWC5leHRlcm5hbFN1YnNldChzcGVjLCAtLy90ZXN0c3BlYy8vLCBkdGRzL2V2ZS5kdGQpCitTQVguc3RhcnRFbGVtZW50TnMoc3BlYywgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmVuZEVsZW1lbnROcyhzcGVjLCBOVUxMLCBOVUxMKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2V4YW1wbGUuZHRkIGIvbGlieG1sMi9yZXN1bHQvZXhhbXBsZS5kdGQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2V4YW1wbGUuZHRkCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9leHByL2Jhc2UgYi9saWJ4bWwyL3Jlc3VsdC9leHByL2Jhc2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWFiMGQxOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2V4cHIvYmFzZQpAQCAtMCwwICsxLDg1IEBACitFeHByZXNzaW9uOiBhCitTdWJleHA6IGEgPT4gYWNjZXB0LCBPaworU3ViZXhwOiBhIHwgYSA9PiBhY2NlcHQsIE9rCitTdWJleHA6IGIgPT4gcmVqZWN0LCBPaworRXhwcmVzc2lvbjogYXxiCitTdWJleHA6IGEgPT4gYWNjZXB0LCBPaworU3ViZXhwOiBiID0+IGFjY2VwdCwgT2sKK1N1YmV4cDogYSB8IGIgPT4gYWNjZXB0LCBPaworU3ViZXhwOiBhezB9ID0+IHJlamVjdCwgT2sKK1N1YmV4cDogYnswfSA9PiByZWplY3QsIE9rCitFeHByZXNzaW9uOiBhIHwgYiB8IGEKK1N1YmV4cDogYSA9PiBhY2NlcHQsIE9rCitTdWJleHA6IGIgPT4gYWNjZXB0LCBPaworU3ViZXhwOiBhIHwgYiA9PiBhY2NlcHQsIE9rCitTdWJleHA6IGIgfCBhID0+IGFjY2VwdCwgT2sKK1N1YmV4cDogYSB8IGIgfCBiID0+IGFjY2VwdCwgT2sKK1N1YmV4cDogYSB8IGIgfCBhID0+IGFjY2VwdCwgT2sKK1N1YmV4cDogYiB8IGEgfCBiID0+IGFjY2VwdCwgT2sKK0V4cHJlc3Npb246IGEsYQorU3ViZXhwOiBhLGEgPT4gYWNjZXB0LCBPaworU3ViZXhwOiBhID0+IHJlamVjdCwgT2sKK1N1YmV4cDogYSxhLGEgPT4gcmVqZWN0LCBPaworRXhwcmVzc2lvbjogYXswLDN9CitTdWJleHA6IGF7M30gPT4gYWNjZXB0LCBPaworU3ViZXhwOiBhID0+IGFjY2VwdCwgT2sKK1N1YmV4cDogYSxhLGEgPT4gYWNjZXB0LCBPaworU3ViZXhwOiBhezEsM30gPT4gYWNjZXB0LCBPaworRXhwcmVzc2lvbjogKGF8Yil7MCw0fQorU3ViZXhwOiBhID0+IGFjY2VwdCwgT2sKK1N1YmV4cDogYiA9PiBhY2NlcHQsIE9rCitTdWJleHA6IGEsYiA9PiBhY2NlcHQsIE9rCitTdWJleHA6IGEsYixhLGIgPT4gYWNjZXB0LCBPaworU3ViZXhwOiBiLGEsYixhLGIgPT4gcmVqZWN0LCBPaworU3ViZXhwOiBiLGF7MSwzfSA9PiBhY2NlcHQsIE9rCitTdWJleHA6IGF7MSwzfSxiID0+IGFjY2VwdCwgT2sKK1N1YmV4cDogYXsxLDN9LGIsYSA9PiByZWplY3QsIE9rCitTdWJleHA6IGF7MSw0fSxiID0+IHJlamVjdCwgT2sKK1N1YmV4cDogYXswLDV9ID0+IHJlamVjdCwgT2sKK1N1YmV4cDogKGJ8YSl7MCw0fSA9PiBhY2NlcHQsIE9rCitTdWJleHA6IChifGEpezAsNH0sYSA9PiByZWplY3QsIE9rCitTdWJleHA6IChhLGIpezAsMn0gPT4gYWNjZXB0LCBPaworU3ViZXhwOiAoYSxiKXswLDF9LGIgPT4gYWNjZXB0LCBPaworRXhwcmVzc2lvbjogIGEqCitTdWJleHA6IGEgPT4gYWNjZXB0LCBPaworU3ViZXhwOiBhPyA9PiBhY2NlcHQsIE9rCitTdWJleHA6IGErID0+IGFjY2VwdCwgT2sKK1N1YmV4cDogYSogPT4gYWNjZXB0LCBPaworU3ViZXhwOiBhezB9ID0+IGFjY2VwdCwgT2sKK0V4cHJlc3Npb246ICBhKworU3ViZXhwOiBhID0+IGFjY2VwdCwgT2sKK1N1YmV4cDogYT8gPT4gcmVqZWN0LCBPaworU3ViZXhwOiBhKyA9PiBhY2NlcHQsIE9rCitTdWJleHA6IGEqID0+IHJlamVjdCwgT2sKK1N1YmV4cDogYT8sYSA9PiBhY2NlcHQsIE9rCitTdWJleHA6IGEsYSogPT4gYWNjZXB0LCBPaworU3ViZXhwOiBhKixhID0+IGFjY2VwdCwgT2sKK1N1YmV4cDogYT8sYSosYSA9PiBhY2NlcHQsIE9rCitTdWJleHA6IGEqLGE/LGEgPT4gYWNjZXB0LCBPaworRXhwcmVzc2lvbjogKGF8YikqCitTdWJleHA6IGEgPT4gYWNjZXB0LCBPaworU3ViZXhwOiBiID0+IGFjY2VwdCwgT2sKK1N1YmV4cDogYSxiID0+IGFjY2VwdCwgT2sKK1N1YmV4cDogYSxiLGEsYiA9PiBhY2NlcHQsIE9rCitTdWJleHA6IChifGEpezAsNH0gPT4gYWNjZXB0LCBPaworU3ViZXhwOiAoYnxhKXswLDR9LGEgPT4gYWNjZXB0LCBPaworU3ViZXhwOiBhKiA9PiBhY2NlcHQsIE9rCitTdWJleHA6IGIqID0+IGFjY2VwdCwgT2sKK1N1YmV4cDogKGF8YikqID0+IGFjY2VwdCwgT2sKK1N1YmV4cDogYXsxLDN9ID0+IGFjY2VwdCwgT2sKK1N1YmV4cDogYixhezEsM30gPT4gYWNjZXB0LCBPaworU3ViZXhwOiBhezEsM30sYiA9PiBhY2NlcHQsIE9rCitTdWJleHA6IGEqLChhfGIpKiA9PiBhY2NlcHQsIE9rCitTdWJleHA6IGEqLGJ7Miw1fSA9PiBhY2NlcHQsIE9rCitTdWJleHA6IGEqLChhfGIpKixiezIsNX0gPT4gYWNjZXB0LCBPaworRXhwcmVzc2lvbjogKGF8YikrLChjfGQpCitTdWJleHA6IGErLGMgPT4gYWNjZXB0LCBPaworU3ViZXhwOiBhKixjID0+IHJlamVjdCwgT2sKK1N1YmV4cDogYSxjID0+IGFjY2VwdCwgT2sKK1N1YmV4cDogYSxiKixhKixjID0+IGFjY2VwdCwgT2sKK0V4cHJlc3Npb246IChhfGIpLChhfGMpezAsMTAwfQorU3ViZXhwOiBhezAsMTAwfSwoYXxjKSA9PiBhY2NlcHQsIE9rCitTdWJleHA6IGF7MCwxMDF9LChhfGMpID0+IHJlamVjdCwgT2sKK0V4cHJlc3Npb246IChhLCAoKGIsIGMsIGQpezAsNX0sIGV7MCwxfSl7MCw0fSwgZikKK1N1YmV4cDogKGEsIGIsIChjLCBkLCBiKXsyLDN9LCBjLCBkLCBlLCBmKSA9PiBhY2NlcHQsIE9rCitPcHM6IDAgbm9kZXMsIDIyMSBjb25zCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9pbnRzdWJzZXQueG1sIGIvbGlieG1sMi9yZXN1bHQvaW50c3Vic2V0LnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZDg1Nzk1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvaW50c3Vic2V0LnhtbApAQCAtMCwwICsxLDUgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgc3RhbmRhbG9uZT0ieWVzIj8+Cis8IURPQ1RZUEUgcm9vdCBbCis8IUVMRU1FTlQgcm9vdCBFTVBUWT4KKzwhLS0gICIgLS0+XT4KKzxyb290Lz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2ludHN1YnNldC54bWwucmRlIGIvbGlieG1sMi9yZXN1bHQvaW50c3Vic2V0LnhtbC5yZGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzUwMzQyMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2ludHN1YnNldC54bWwucmRlCkBAIC0wLDAgKzEsMiBAQAorMCAxMCByb290IDAgMAorMCAxIHJvb3QgMSAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9pbnRzdWJzZXQueG1sLnJkciBiL2xpYnhtbDIvcmVzdWx0L2ludHN1YnNldC54bWwucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc1MDM0MjIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9pbnRzdWJzZXQueG1sLnJkcgpAQCAtMCwwICsxLDIgQEAKKzAgMTAgcm9vdCAwIDAKKzAgMSByb290IDEgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvaW50c3Vic2V0LnhtbC5zYXggYi9saWJ4bWwyL3Jlc3VsdC9pbnRzdWJzZXQueG1sLnNheApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hOTJlMmI3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvaW50c3Vic2V0LnhtbC5zYXgKQEAgLTAsMCArMSw5IEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5pbnRlcm5hbFN1YnNldChyb290LCAsICkKK1NBWC5lbGVtZW50RGVjbChyb290LCAxLCAuLi4pCitTQVguY29tbWVudCggICIgKQorU0FYLmV4dGVybmFsU3Vic2V0KHJvb3QsICwgKQorU0FYLnN0YXJ0RWxlbWVudChyb290KQorU0FYLmVuZEVsZW1lbnQocm9vdCkKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9pbnRzdWJzZXQueG1sLnNheDIgYi9saWJ4bWwyL3Jlc3VsdC9pbnRzdWJzZXQueG1sLnNheDIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjRkYjJhOAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2ludHN1YnNldC54bWwuc2F4MgpAQCAtMCwwICsxLDkgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLmludGVybmFsU3Vic2V0KHJvb3QsICwgKQorU0FYLmVsZW1lbnREZWNsKHJvb3QsIDEsIC4uLikKK1NBWC5jb21tZW50KCAgIiApCitTQVguZXh0ZXJuYWxTdWJzZXQocm9vdCwgLCApCitTQVguc3RhcnRFbGVtZW50TnMocm9vdCwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5lbmRFbGVtZW50TnMocm9vdCwgTlVMTCwgTlVMTCkKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9pbnRzdWJzZXQyLnhtbCBiL2xpYnhtbDIvcmVzdWx0L2ludHN1YnNldDIueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIxMDM5NTUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9pbnRzdWJzZXQyLnhtbApAQCAtMCwwICsxLDI1MCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IURPQ1RZUEUga2FuamlkaWMyIFsKKzwhLS0gVmVyc2lvbiAxLjMKKwlUaGlzIGlzIHRoZSBEVEQgb2YgdGhlIFhNTC1mb3JtYXQga2FuamkgZmlsZSBjb21iaW5pbmcgaW5mb3JtYXRpb24gZnJvbQorCXRoZSBLQU5KSURJQyBhbmQgS0FOSkQyMTIgZmlsZXMuIEl0IGlzIGludGVuZGVkIHRvIGJlIGxhcmdlbHkgc2VsZi0KKwlkb2N1bWVudGluZywgd2l0aCBlYWNoIGZpZWxkIGJlaW5nIGFjY29tcGFuaWVkIGJ5IGFuIGV4cGxhbmF0b3J5CisJY29tbWVudC4KKworCVRoZSBmaWxlIGNvdmVycyB0aGUgZm9sbG93aW5nIGthbmppOgorCShhKSB0aGUgNiwzNTUga2FuamkgZnJvbSBKSVMgWCAwMjA4OworCShiKSB0aGUgNSw4MDEga2FuamkgZnJvbSBKSVMgWCAwMjEyOworCShjKSB0aGUgMyw2MjUga2FuamkgZnJvbSBKSVMgWCAwMjEzIGFzIGZvbGxvd3M6CisJCShpKSB0aGUgMiw3NDEga2Fuamkgd2hpY2ggYXJlIGFsc28gaW4gSklTIFggMDIxMiBoYXZlCisJCUpJUyBYIDAyMTMgY29kZS1wb2ludHMgKGt1dGVuKSBhZGRlZCB0byB0aGUgZXhpc3RpbmcgZW50cnk7CisJCShpaSkgdGhlIDg4NCAibmV3IiBrYW5qaSBoYXZlIG5ldyBlbnRyaWVzLgorCisJQXQgdGhlIGVuZCBvZiB0aGUgZXhwbGFuYXRpb24gZm9yIGEgbnVtYmVyIG9mIGZpZWxkcyB0aGVyZSBpcyBhIHRhZworCXdpdGggdGhlIGZvcm1hdCBbTl0uIFRoaXMgaW5kaWNhdGVzIHRoZSBsZWFkaW5nIGxldHRlcihzKSBvZiB0aGUKKwllcXVpdmFsZW50IGZpZWxkIGluIHRoZSBLQU5KSURJQyBhbmQgS0FOSkQyMTIgZmlsZXMuCisKKwlUaGUgS0FOSklESUMgZG9jdW1lbnRhdGlvbiBzaG91bGQgYWxzbyBiZSByZWFkIGZvciBhZGRpdGlvbmFsIAorCWluZm9ybWF0aW9uIGFib3V0IHRoZSBpbmZvcm1hdGlvbiBpbiB0aGUgZmlsZS4KKwktLT48IUVMRU1FTlQga2FuamlkaWMyIChoZWFkZXIgLCBjaGFyYWN0ZXIqKT4KKzwhRUxFTUVOVCBoZWFkZXIgKGZpbGVfdmVyc2lvbiAsIGRhdGFiYXNlX3ZlcnNpb24gLCBkYXRlX29mX2NyZWF0aW9uKT4KKzwhLS0KKwlUaGUgc2luZ2xlIGhlYWRlciBlbGVtZW50IHdpbGwgY29udGFpbiBpZGVudGlmaWNhdGlvbiBpbmZvcm1hdGlvbgorCWFib3V0IHRoZSB2ZXJzaW9uIG9mIHRoZSBmaWxlIAorCS0tPjwhRUxFTUVOVCBmaWxlX3ZlcnNpb24gKCNQQ0RBVEEpPgorPCEtLQorCVRoaXMgZmllbGQgZGVub3RlcyB0aGUgdmVyc2lvbiBvZiBrYW5qaWRpYzIgc3RydWN0dXJlLCBhcyBtb3JlCisJdGhhbiBvbmUgdmVyc2lvbiBtYXkgZXhpc3QuCisJLS0+PCFFTEVNRU5UIGRhdGFiYXNlX3ZlcnNpb24gKCNQQ0RBVEEpPgorPCEtLQorCVRoZSB2ZXJzaW9uIG9mIHRoZSBmaWxlLCBpbiB0aGUgZm9ybWF0IFlZWVktTk4sIHdoZXJlIE5OIHdpbGwgYmUKKwlhIG51bWJlciBzdGFydGluZyB3aXRoIDAxIGZvciB0aGUgZmlyc3QgdmVyc2lvbiByZWxlYXNlZCBpbiBhCisJY2FsZW5kYXIgeWVhciwgdGhlbiBpbmNyZWFzaW5nIGZvciBlYWNoIHZlcnNpb24gaW4gdGhhdCB5ZWFyLgorCS0tPjwhRUxFTUVOVCBkYXRlX29mX2NyZWF0aW9uICgjUENEQVRBKT4KKzwhLS0KKwlUaGUgZGF0ZSB0aGUgZmlsZSB3YXMgY3JlYXRlZCBpbiBpbnRlcm5hdGlvbmFsIGZvcm1hdCAoWVlZWS1NTS1ERCkuCisJLS0+PCFFTEVNRU5UIGNoYXJhY3RlciAobGl0ZXJhbCAsIGNvZGVwb2ludCAsIHJhZGljYWwgLCBtaXNjICwgZGljX251bWJlcj8gLCBxdWVyeV9jb2RlPyAsIHJlYWRpbmdfbWVhbmluZz8gLCBuYW5vcmk/KSo+Cis8IUVMRU1FTlQgbGl0ZXJhbCAoI1BDREFUQSk+Cis8IS0tCisJVGhlIGNoYXJhY3RlciBpdHNlbGYgaW4gVVRGOCBjb2RpbmcuCisJLS0+PCFFTEVNRU5UIGNvZGVwb2ludCAoY3BfdmFsdWUpKz4KKzwhLS0gCisJVGhlIGNvZGVwb2ludCBlbGVtZW50IHN0YXRlcyB0aGUgY29kZSBvZiB0aGUgY2hhcmFjdGVyIGluIHRoZSB2YXJpb3VzCisJY2hhcmFjdGVyIHNldCBzdGFuZGFyZHMuCisJLS0+PCFFTEVNRU5UIGNwX3ZhbHVlICgjUENEQVRBKT4KKzwhLS0gCisJVGhlIGNwX3ZhbHVlIGNvbnRhaW5zIHRoZSBjb2RlcG9pbnQgb2YgdGhlIGNoYXJhY3RlciBpbiBhIHBhcnRpY3VsYXIKKwlzdGFuZGFyZC4gVGhlIHN0YW5kYXJkIHdpbGwgYmUgaWRlbnRpZmllZCBpbiB0aGUgY3BfdHlwZSBhdHRyaWJ1dGUuCisJLS0+PCFBVFRMSVNUIGNwX3ZhbHVlIGNwX3R5cGUgQ0RBVEEgI1JFUVVJUkVEPgorPCEtLSAKKwlUaGUgY3BfdHlwZSBhdHRyaWJ1dGUgc3RhdGVzIHRoZSBjb2Rpbmcgc3RhbmRhcmQgYXBwbHlpbmcgdG8gdGhlCisJZWxlbWVudC4gVGhlIHZhbHVlcyBhc3NpZ25lZCBzbyBmYXIgYXJlOgorCQlqaXMyMDggLSBKSVMgWCAwMjA4LTE5OTcgLSBrdXRlbiBjb2RpbmcgKG5uLW5uKQorCQlqaXMyMTIgLSBKSVMgWCAwMjEyLTE5OTAgLSBrdXRlbiBjb2RpbmcgKG5uLW5uKQorCQlqaXMyMTMgLSBKSVMgWCAwMjEzLTIwMDAgLSBrdXRlbiBjb2RpbmcgKHAtbm4tbm4pCisJCXVjcyAtIFVuaWNvZGUgNC4wIC0gaGV4IGNvZGluZyAoNCBvciA1IGhleGFkZWNpbWFsIGRpZ2l0cykKKwktLT48IUVMRU1FTlQgcmFkaWNhbCAocmFkX3ZhbHVlKSs+Cis8IUVMRU1FTlQgcmFkX3ZhbHVlICgjUENEQVRBKT4KKzwhLS0gCisJVGhlIHJhZGljYWwgbnVtYmVyLCBpbiB0aGUgcmFuZ2UgMSB0byAyMTQuIFRoZSBwYXJ0aWN1bGFyCisJY2xhc3NpZmljYXRpb24gdHlwZSBpcyBzdGF0ZWQgaW4gdGhlIHJhZF90eXBlIGF0dHJpYnV0ZS4KKwktLT48IUFUVExJU1QgcmFkX3ZhbHVlIHJhZF90eXBlIENEQVRBICNSRVFVSVJFRD4KKzwhLS0gCisJVGhlIHJhZF90eXBlIGF0dHJpYnV0ZSBzdGF0ZXMgdGhlIHR5cGUgb2YgcmFkaWNhbCBjbGFzc2lmaWNhdGlvbi4KKwkJY2xhc3NpY2FsIC0gYXMgcmVjb3JkZWQgaW4gdGhlIEthbmdYaSBaaWRpYW4uCisJCW5lbHNvbiAtIGFzIHVzZWQgaW4gdGhlIE5lbHNvbiAiTW9kZXJuIEphcGFuZXNlLUVuZ2xpc2ggCisJCUNoYXJhY3RlciBEaWN0aW9uYXJ5IiAoaS5lLiB0aGUgQ2xhc3NpYywgbm90IHRoZSBOZXcgTmVsc29uKS4KKwkJVGhpcyB3aWxsIG9ubHkgYmUgdXNlZCB3aGVyZSBOZWxzb24gcmVjbGFzc2lmaWVkIHRoZSBrYW5qaS4KKwktLT48IUVMRU1FTlQgbWlzYyAoZ3JhZGU/ICwgc3Ryb2tlX2NvdW50KyAsIHZhcmlhbnQqICwgZnJlcSogLCByYWRfbmFtZSopPgorPCFFTEVNRU5UIGdyYWRlICgjUENEQVRBKT4KKzwhLS0gCisJVGhlIEpvdXlvdSBLYW5qaSBncmFkZSBsZXZlbC4gMSB0aHJvdWdoIDYgaW5kaWNhdGUgdGhlIGdyYWRlIGluIHdoaWNoCisJdGhlIGthbmppIGlzIHRhdWdodCBpbiBKYXBhbmVzZSBzY2hvb2xzLiA4IGluZGljYXRlcyBpdCBpcyBvbmUgb2YgdGhlCisJcmVtYWluaW5nIEpvdXlvdSBLYW5qaSB0byBiZSBsZWFybmVkIGluIGp1bmlvciBoaWdoIHNjaG9vbCwgYW5kIDkgCisJaW5kaWNhdGVzIGl0IGlzIGEgSmlubWVpeW91IChmb3IgdXNlIGluIG5hbWVzKSBrYW5qaS4gW0ddCisJLS0+PCFFTEVNRU5UIHN0cm9rZV9jb3VudCAoI1BDREFUQSk+Cis8IS0tIAorCVRoZSBzdHJva2UgY291bnQgb2YgdGhlIGthbmppLCBpbmNsdWRpbmcgdGhlIHJhZGljYWwuIElmIG1vcmUgdGhhbiAKKwlvbmUsIHRoZSBmaXJzdCBpcyBjb25zaWRlcmVkIHRoZSBhY2NlcHRlZCBjb3VudCwgd2hpbGUgc3Vic2VxdWVudCBvbmVzIAorCWFyZSBjb21tb24gbWlzY291bnRzLiAoU2VlIEFwcGVuZGl4IEUuIG9mIHRoZSBLQU5KSURJQyBkb2N1bWVudGF0aW9uCisJZm9yIHNvbWUgb2YgdGhlIHJ1bGVzIGFwcGxpZWQgd2hlbiBjb3VudGluZyBzdHJva2VzIGluIHNvbWUgb2YgdGhlIAorCXJhZGljYWxzLikgW1NdCisJLS0+PCFFTEVNRU5UIHZhcmlhbnQgKCNQQ0RBVEEpPgorPCEtLSAKKwlBIGNyb3NzLXJlZmVyZW5jZSBjb2RlIHRvIGFub3RoZXIga2FuamksIHVzdWFsbHkgcmVnYXJkZWQgYXMgYSB2YXJpYW50LgorCVRoZSB0eXBlIG9mIGNyb3NzLXJlZmVyZW5jZSBpcyBnaXZlbiBpbiB0aGUgdmFyX3R5cGUgYXR0cmlidXRlLgorCS0tPjwhQVRUTElTVCB2YXJpYW50IHZhcl90eXBlIENEQVRBICNSRVFVSVJFRD4KKzwhLS0gCisJVGhlIHZhcl90eXBlIGF0dHJpYnV0ZSBpbmRpY2F0ZXMgdGhlIHR5cGUgb2YgdmFyaWFudCBjb2RlLiBUaGUgY3VycmVudAorCXZhbHVlcyBhcmU6IAorCQlqaXMyMDggLSBpbiBKSVMgWCAwMjA4IC0ga3V0ZW4gY29kaW5nCisJCWppczIxMiAtIGluIEpJUyBYIDAyMTIgLSBrdXRlbiBjb2RpbmcKKwkJamlzMjEzIC0gaW4gSklTIFggMDIxMyAtIGt1dGVuIGNvZGluZworCQlkZXJvbyAtIERlIFJvbyBudW1iZXIgLSBudW1lcmljCisJCW5qZWNkIC0gSGFscGVybiBOSkVDRCBpbmRleCBudW1iZXIgLSBudW1lcmljCisJCXNfaCAtIFRoZSBLYW5qaSBEaWN0aW9uYXJ5IChTcGFobiAmIEhhZGFtaXR6a3kpIC0gZGVzY3JpcHRvcgorCQluZWxzb24gLSAiQ2xhc3NpYyIgTmVsc29uIC0gbnVtZXJpYworCQlvbmVpbGwgLSBKYXBhbmVzZSBOYW1lcyAoTydOZWlsbCkgLSBudW1lcmljCisJLS0+PCFFTEVNRU5UIGZyZXEgKCNQQ0RBVEEpPgorPCEtLSAKKwlBIGZyZXF1ZW5jeS1vZi11c2UgcmFua2luZy4gVGhlIDIsNTAwIG1vc3QtdXNlZCBjaGFyYWN0ZXJzIGhhdmUgYSAKKwlyYW5raW5nOyB0aG9zZSBjaGFyYWN0ZXJzIHRoYXQgbGFjayB0aGlzIGZpZWxkIGFyZSBub3QgcmFua2VkLiBUaGUgCisJZnJlcXVlbmN5IGlzIGEgbnVtYmVyIGZyb20gMSB0byAyLDUwMCB0aGF0IGV4cHJlc3NlcyB0aGUgcmVsYXRpdmUgCisJZnJlcXVlbmN5IG9mIG9jY3VycmVuY2Ugb2YgYSBjaGFyYWN0ZXIgaW4gbW9kZXJuIEphcGFuZXNlLiBUaGlzIGlzCisJYmFzZWQgb24gYSBzdXJ2ZXkgaW4gbmV3c3BhcGVycywgc28gaXQgaXMgYmlhc3NlZCB0b3dhcmRzIGthbmppCisJdXNlZCBpbiBuZXdzcGFwZXIgYXJ0aWNsZXMuIFRoZSBkaXNjcmltaW5hdGlvbiBiZXR3ZWVuIHRoZSBsZXNzCisJZnJlcXVlbnRseSB1c2VkIGthbmppIGlzIG5vdCBzdHJvbmcuCisJLS0+PCFFTEVNRU5UIHJhZF9uYW1lICgjUENEQVRBKT4KKzwhLS0gCisJV2hlbiB0aGUga2FuamkgaXMgaXRzZWxmIGEgcmFkaWNhbCBhbmQgaGFzIGEgbmFtZSwgdGhpcyBlbGVtZW50CisJY29udGFpbnMgdGhlIG5hbWUgKGluIGhpcmFnYW5hLikgW1QyXQorCS0tPjwhRUxFTUVOVCBkaWNfbnVtYmVyIChkaWNfcmVmKSs+Cis8IS0tIAorCVRoaXMgZWxlbWVudCBjb250YWlucyB0aGUgaW5kZXggbnVtYmVycyBhbmQgc2ltaWxhciB1bnN0cnVjdHVyZWQKKwlpbmZvcm1hdGlvbiBzdWNoIGFzIHBhZ2UgbnVtYmVycyBpbiBhIG51bWJlciBvZiBwdWJsaXNoZWQgZGljdGlvbmFyaWVzLAorCWFuZCBpbnN0cnVjdGlvbmFsIGJvb2tzIG9uIGthbmppLgorCS0tPjwhRUxFTUVOVCBkaWNfcmVmICgjUENEQVRBKT4KKzwhLS0gCisJRWFjaCBkaWNfcmVmIGNvbnRhaW5zIGFuIGluZGV4IG51bWJlci4gVGhlIHBhcnRpY3VsYXIgZGljdGlvbmFyeSwKKwlldGMuIGlzIGRlZmluZWQgYnkgdGhlIGRyX3R5cGUgYXR0cmlidXRlLgorCS0tPjwhQVRUTElTVCBkaWNfcmVmIGRyX3R5cGUgQ0RBVEEgI1JFUVVJUkVEPgorPCEtLSAKKwlUaGUgZHJfdHlwZSBkZWZpbmVzIHRoZSBkaWN0aW9uYXJ5IG9yIHJlZmVyZW5jZSBib29rLCBldGMuIHRvIHdoaWNoCisJZGljX3JlZiBlbGVtZW50IGFwcGxpZXMuIFRoZSBpbml0aWFsIGFsbG9jYXRpb24gaXM6CisJICBuZWxzb25fYyAtICJNb2Rlcm4gUmVhZGVyJ3MgSmFwYW5lc2UtRW5nbGlzaCBDaGFyYWN0ZXIgRGljdGlvbmFyeSIsICAKKwkgIAllZGl0ZWQgYnkgQW5kcmV3IE5lbHNvbiAobm93IHB1Ymxpc2hlZCBhcyB0aGUgIkNsYXNzaWMiIAorCSAgCU5lbHNvbikuCisJICBuZWxzb25fbiAtICJUaGUgTmV3IE5lbHNvbiBKYXBhbmVzZS1FbmdsaXNoIENoYXJhY3RlciBEaWN0aW9uYXJ5IiwgCisJICAJZWRpdGVkIGJ5IEpvaG4gSGFpZy4KKwkgIGhhbHBlcm5fbmplY2QgLSAiTmV3IEphcGFuZXNlLUVuZ2xpc2ggQ2hhcmFjdGVyIERpY3Rpb25hcnkiLCAKKwkgIAllZGl0ZWQgYnkgSmFjayBIYWxwZXJuLgorCSAgaGFscGVybl9ra2xkIC0gIkthbmppIExlYXJuZXJzIERpY3Rpb25hcnkiIChLb2RhbnNoYSkgZWRpdGVkIGJ5IAorCSAgCUphY2sgSGFscGVybi4KKwkgIGhlaXNpZyAtICJSZW1lbWJlcmluZyBUaGUgIEthbmppIiAgYnkgIEphbWVzIEhlaXNpZy4KKwkgIGdha2tlbiAtICJBICBOZXcgRGljdGlvbmFyeSBvZiBLYW5qaSBVc2FnZSIgKEdha2tlbikKKwkgIG9uZWlsbF9uYW1lcyAtICJKYXBhbmVzZSBOYW1lcyIsIGJ5IFAuRy4gTydOZWlsbC4gCisJICBvbmVpbGxfa2sgLSAiRXNzZW50aWFsIEthbmppIiBieSBQLkcuIE8nTmVpbGwuCisJICBtb3JvIC0gIkRhaWthbndhaml0ZW4iIGNvbXBpbGVkIGJ5IE1vcm9oYXNoaS4gRm9yIHNvbWUga2FuamkgdHdvCisJICAJYWRkaXRpb25hbCBhdHRyaWJ1dGVzIGFyZSB1c2VkOiBtX3ZvbDogIHRoZSB2b2x1bWUgb2YgdGhlCisJICAJZGljdGlvbmFyeSBpbiB3aGljaCB0aGUga2FuamkgaXMgZm91bmQsIGFuZCBtX3BhZ2U6IHRoZSBwYWdlCisJICAJbnVtYmVyIGluIHRoZSB2b2x1bWUuCisJICBoZW5zaGFsbCAtICJBIEd1aWRlIFRvIFJlbWVtYmVyaW5nIEphcGFuZXNlIENoYXJhY3RlcnMiIGJ5CisJICAJS2VubmV0aCBHLiAgSGVuc2hhbGwuCisJICBzaF9rayAtICJLYW5qaSBhbmQgS2FuYSIgYnkgU3BhaG4gYW5kIEhhZGFtaXR6a3kuCisJICBzYWthZGUgLSAiQSBHdWlkZSBUbyBSZWFkaW5nIGFuZCBXcml0aW5nIEphcGFuZXNlIiBlZGl0ZWQgYnkKKwkgIAlGbG9yZW5jZSBTYWthZGUuCisJICBoZW5zaGFsbDMgLSAiQSBHdWlkZSBUbyBSZWFkaW5nIGFuZCBXcml0aW5nIEphcGFuZXNlIiAzcmQKKwkJZWRpdGlvbiwgZWRpdGVkIGJ5IEhlbnNoYWxsLCBTZWVsZXkgYW5kIERlIEdyb290LgorCSAgdHV0dF9jYXJkcyAtIFR1dHRsZSBLYW5qaSBDYXJkcywgY29tcGlsZWQgYnkgQWxleGFuZGVyIEthc2suCisJICBjcm93bGV5IC0gIlRoZSBLYW5qaSBXYXkgdG8gSmFwYW5lc2UgTGFuZ3VhZ2UgUG93ZXIiIGJ5CisJICAJRGFsZSBDcm93bGV5LgorCSAga2FuamlfaW5fY29udGV4dCAtICJLYW5qaSBpbiBDb250ZXh0IiBieSBOaXNoaWd1Y2hpIGFuZCBLb25vLgorCSAgYnVzeV9wZW9wbGUgLSAiSmFwYW5lc2UgRm9yIEJ1c3kgUGVvcGxlIiB2b2xzIEktSUlJLCBwdWJsaXNoZWQKKwkJYnkgdGhlIEFKTFQuIFRoZSBjb2RlcyBhcmUgdGhlIHZvbHVtZS5jaGFwdGVyLgorCSAga29kYW5zaGFfY29tcGFjdCAtIHRoZSAiS29kYW5zaGEgQ29tcGFjdCBLYW5qaSBHdWlkZSIuCisJLS0+PCFBVFRMSVNUIGRpY19yZWYgbV92b2wgQ0RBVEEgI0lNUExJRUQ+Cis8IS0tIAorCVNlZSBhYm92ZSB1bmRlciAibW9ybyIuCisJLS0+PCFBVFRMSVNUIGRpY19yZWYgbV9wYWdlIENEQVRBICNJTVBMSUVEPgorPCEtLSAKKwlTZWUgYWJvdmUgdW5kZXIgIm1vcm8iLgorCS0tPjwhRUxFTUVOVCBxdWVyeV9jb2RlIChxX2NvZGUpKz4KKzwhLS0gCisJVGhlc2UgY29kZXMgY29udGFpbiBpbmZvcm1hdGlvbiByZWxhdGluZyB0byB0aGUgZ2x5cGgsIGFuZCBjYW4gYmUgdXNlZAorCWZvciBmaW5kaW5nIGEgcmVxdWlyZWQga2FuamkuIFRoZSB0eXBlIG9mIGNvZGUgaXMgZGVmaW5lZCBieSB0aGUKKwlxY190eXBlIGF0dHJpYnV0ZS4KKwktLT48IUVMRU1FTlQgcV9jb2RlICgjUENEQVRBKT4KKzwhLS0KKwlUaGUgcV9jb2RlIGNvbnRhaW5zIHRoZSBhY3R1YWwgcXVlcnktY29kZSB2YWx1ZSwgYWNjb3JkaW5nIHRvIHRoZQorCXFjX3R5cGUgYXR0cmlidXRlLgorCS0tPjwhQVRUTElTVCBxX2NvZGUgcWNfdHlwZSBDREFUQSAjUkVRVUlSRUQ+Cis8IS0tIAorCVRoZSBxX2NvZGUgYXR0cmlidXRlIGRlZmluZXMgdGhlIHR5cGUgb2YgcXVlcnkgY29kZS4gVGhlIGN1cnJlbnQgdmFsdWVzCisJYXJlOgorCSAgc2tpcCAtICBIYWxwZXJuJ3MgU0tJUCAoU3lzdGVtICBvZiAgS2FuamkgIEluZGV4aW5nICBieSAgUGF0dGVybnMpIAorCSAgCWNvZGUuIFRoZSAgZm9ybWF0IGlzIG4tbm4tbm4uICBTZWUgdGhlIEtBTkpJRElDICBkb2N1bWVudGF0aW9uIAorCSAgCWZvciAgYSBkZXNjcmlwdGlvbiBvZiB0aGUgY29kZSBhbmQgcmVzdHJpY3Rpb25zIG9uICB0aGUgCisJICAJY29tbWVyY2lhbCAgdXNlICBvZiB0aGlzIGRhdGEuIFtQXQorCisJICBzaF9kZXNjIC0gdGhlIGRlc2NyaXB0b3IgY29kZXMgZm9yIFRoZSBLYW5qaSBEaWN0aW9uYXJ5IChUdXR0bGUgCisJICAJMTk5NikgYnkgU3BhaG4gYW5kIEhhZGFtaXR6a3kuIFRoZXkgYXJlIGluIHRoZSBmb3JtIG54bm4ubiwgIAorCSAgCWUuZy4gIDNrMTEuMiwgd2hlcmUgdGhlICBrYW5qaSBoYXMgMyBzdHJva2VzIGluIHRoZSAKKwkgIAlpZGVudGlmeWluZyByYWRpY2FsLCBpdCBpcyByYWRpY2FsICJrIiBpbiB0aGUgU0ggCisJICAJY2xhc3NpZmljYXRpb24gc3lzdGVtLCB0aGVyZSBhcmUgMTEgb3RoZXIgc3Ryb2tlcywgYW5kIGl0IGlzIAorCSAgCXRoZSAybmQga2FuamkgaW4gdGhlIDNrMTEgc2VxdWVuY2UuIChJIGFtIHZlcnkgZ3JhdGVmdWwgdG8gCisJICAJTWFyayBTcGFobiBmb3IgcHJvdmlkaW5nIHRoZSBsaXN0IG9mIHRoZXNlIGRlc2NyaXB0b3IgY29kZXMgCisJICAJZm9yIHRoZSBrYW5qaSBpbiB0aGlzIGZpbGUuKSBbSV0KKwkgIGZvdXJfY29ybmVyIC0gdGhlICJGb3VyIENvcm5lciIgY29kZSBmb3IgdGhlIGthbmppLiBUaGlzIGlzIGEgY29kZSAKKwkgIAlpbnZlbnRlZCBieSBXYW5nIENoZW4gaW4gMTkyOC4gU2VlIHRoZSBLQU5KSURJQyBkb2N1bWVudGF0aW9uIAorCSAgCWZvciAgYW4gb3ZlcnZpZXcgb2YgIHRoZSBGb3VyIENvcm5lciBTeXN0ZW0uIFtRXQorCisJICBkZXJvbyAtIHRoZSBjb2RlcyBkZXZlbG9wZWQgYnkgdGhlIGxhdGUgRmF0aGVyIEpvc2VwaCBEZSBSb28sIGFuZCAKKwkgIAlwdWJsaXNoZWQgaW4gIGhpcyBib29rICIyMDAxIEthbmppIiAoQm9qaW5zaGEpLiBGciBEZSBSb28gCisJICAJZ2F2ZSBoaXMgcGVybWlzc2lvbiBmb3IgdGhlc2UgY29kZXMgdG8gYmUgaW5jbHVkZWQuIFtEUl0KKwkgIG1pc2NsYXNzIC0gYSBwb3NzaWJsZSBtaXNjbGFzc2lmaWNhdGlvbiBvZiB0aGUga2FuamkgYWNjb3JkaW5nCisJCXRvIG9uZSBvZiB0aGUgY29kZSB0eXBlcy4gKFNlZSB0aGUgIloiIGNvZGVzIGluIHRoZSBLQU5KSURJQworCQlkb2N1bWVudGF0aW9uIGZvciBtb3JlIGRldGFpbHMuKQorCSAgCisJLS0+PCFFTEVNRU5UIHJlYWRpbmdfbWVhbmluZyAocm1ncm91cCogLCBuYW5vcmkqKT4KKzwhLS0gCisJVGhlIHJlYWRpbmdzIGZvciB0aGUga2FuamkgaW4gc2V2ZXJhbCBsYW5ndWFnZXMsIGFuZCB0aGUgbWVhbmluZ3MsIGFsc28KKwlpbiBzZXZlcmFsIGxhbmd1YWdlcy4gVGhlIHJlYWRpbmdzIGFuZCBtZWFuaW5ncyBhcmUgZ3JvdXBlZCB0byBlbmFibGUKKwl0aGUgaGFuZGxpbmcgb2YgdGhlIHNpdHVhdGlvbiB3aGVyZSB0aGUgbWVhbmluZyBpcyBkaWZmZXJlbnRpYXRlZCBieSAKKwlyZWFkaW5nLiBbVDFdCisJLS0+PCFFTEVNRU5UIG5hbm9yaSAoI1BDREFUQSk+Cis8IS0tIAorCUphcGFuZXNlIHJlYWRpbmdzIHRoYXQgYXJlIG5vdyBvbmx5IGFzc29jaWF0ZWQgd2l0aCBuYW1lcy4KKwktLT48IUVMRU1FTlQgcm1ncm91cCAocmVhZGluZyogLCBtZWFuaW5nKik+Cis8IUVMRU1FTlQgcmVhZGluZyAoI1BDREFUQSk+Cis8IS0tIAorCVRoZSByZWFkaW5nIGVsZW1lbnQgY29udGFpbnMgdGhlIHJlYWRpbmcgb3IgcHJvbnVuY2lhdGlvbgorCW9mIHRoZSBrYW5qaS4KKwktLT48IUFUVExJU1QgcmVhZGluZyByX3R5cGUgQ0RBVEEgI1JFUVVJUkVEPgorPCEtLSAKKwlUaGUgcl90eXBlIGF0dHJpYnV0ZSBkZWZpbmVzIHRoZSB0eXBlIG9mIHJlYWRpbmcgaW4gdGhlIHJlYWRpbmcKKwllbGVtZW50LiBUaGUgY3VycmVudCB2YWx1ZXMgYXJlOgorCSAgcGlueWluIC0gdGhlIG1vZGVybiBQaW5ZaW4gcm9tYW5pemF0aW9uIG9mIHRoZSBDaGluZXNlIHJlYWRpbmcgCisJICAJb2YgdGhlIGthbmppLiBUaGUgdG9uZXMgYXJlIHJlcHJlc2VudGVkIGJ5IGEgY29uY2x1ZGluZyAKKwkgIAlkaWdpdC4gW1ldCisJICBrb3JlYW5fciAtIHRoZSByb21hbml6ZWQgZm9ybSBvZiB0aGUgS29yZWFuIHJlYWRpbmcocykgb2YgdGhlIAorCSAgCWthbmppLiAgVGhlIHJlYWRpbmdzIGFyZSBpbiB0aGUgKFJlcHVibGljIG9mIEtvcmVhKSBNaW5pc3RyeSAKKwkgIAlvZiBFZHVjYXRpb24gc3R5bGUgb2Ygcm9tYW5pemF0aW9uLiBbV10KKwkgIGtvcmVhbl9oIC0gdGhlIEtvcmVhbiByZWFkaW5nKHMpIG9mIHRoZSBrYW5qaSBpbiBoYW5ndWwuCisJICBqYV9vbiAtIHRoZSAib24iIEphcGFuZXNlIHJlYWRpbmcgb2YgdGhlIGthbmppLCBpbiBrYXRha2FuYS4gQQorCSAgCXNlY29uZCBhdHRyaWJ1dGUgcl9zdGF0dXMsIGlmIHByZXNlbnQsIHdpbGwgaW5kaWNhdGUgd2l0aAorCSAgCWEgdmFsdWUgb2YgImp5IiB3aGV0aGVyIHRoZSByZWFkaW5nIGlzIGFwcHJvdmVkIGZvciBhCisJICAJIkpvdXlvdSBrYW5qaSIuCisJICBqYV9rdW4gLSB0aGUgImt1biIgSmFwYW5lc2UgcmVhZGluZyBvZiB0aGUga2FuamksIGluIGhpcmFnYW5hLiAKKwkgIAlXaGVyZSByZWxldmFudCB0aGUgb2t1cmlnYW5hIGlzIGFsc28gaW5jbHVkZWQgc2VwYXJhdGVkIGJ5IGEgCisJICAJIi4iLiBSZWFkaW5ncyBhc3NvY2lhdGVkIHdpdGggcHJlZml4ZXMgYW5kIHN1ZmZpeGVzIGFyZSAKKwkgIAltYXJrZWQgd2l0aCBhICItIi4gQSBzZWNvbmQgYXR0cmlidXRlIHJfc3RhdHVzLCBpZiBwcmVzZW50LCAKKwkgIAl3aWxsIGluZGljYXRlIHdpdGggYSB2YWx1ZSBvZiAiankiIHdoZXRoZXIgdGhlIHJlYWRpbmcgaXMgCisJICAJYXBwcm92ZWQgZm9yIGEgIkpvdXlvdSBrYW5qaSIuCisJLS0+PCFBVFRMSVNUIHJlYWRpbmcgcl9zdGF0dXMgQ0RBVEEgI0lNUExJRUQ+Cis8IS0tIAorCVNlZSB1bmRlciBqYV9vbiBhbmQgamFfa3VuIGFib3ZlLgorCS0tPjwhRUxFTUVOVCBtZWFuaW5nICgjUENEQVRBKT4KKzwhLS0gCisJVGhlIG1lYW5pbmcgYXNzb2NpYXRlZCB3aXRoIHRoZSBrYW5qaS4KKwktLT48IUFUVExJU1QgbWVhbmluZyBtX2xhbmcgQ0RBVEEgI0lNUExJRUQ+Cis8IS0tIAorCVRoZSBtX2xhbmcgYXR0cmlidXRlIGRlZmluZXMgdGhlIHRhcmdldCBsYW5ndWFnZSBvZiB0aGUgbWVhbmluZy4gSXQgCisJd2lsbCBiZSBjb2RlZCB1c2luZyB0aGUgdHdvLWxldHRlciBsYW5ndWFnZSBjb2RlIGZyb20gdGhlIElTTyA2MzkgCisJc3RhbmRhcmQuIFdoZW4gYWJzZW50LCB0aGUgdmFsdWUgImVuIiAoaS5lLiBFbmdsaXNoKSBpcyBpbXBsaWVkLiBbe31dCisJLS0+XT4KKzxrYW5qaWRpYzI+Cis8L2thbmppZGljMj4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2ludHN1YnNldDIueG1sLnJkZSBiL2xpYnhtbDIvcmVzdWx0L2ludHN1YnNldDIueG1sLnJkZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMjdlMjQ1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvaW50c3Vic2V0Mi54bWwucmRlCkBAIC0wLDAgKzEsNSBAQAorMCAxMCBrYW5qaWRpYzIgMCAwCiswIDEga2FuamlkaWMyIDAgMAorMSAxNCAjdGV4dCAwIDEgCisKKzAgMTUga2FuamlkaWMyIDAgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvaW50c3Vic2V0Mi54bWwucmRyIGIvbGlieG1sMi9yZXN1bHQvaW50c3Vic2V0Mi54bWwucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQyN2UyNDUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9pbnRzdWJzZXQyLnhtbC5yZHIKQEAgLTAsMCArMSw1IEBACiswIDEwIGthbmppZGljMiAwIDAKKzAgMSBrYW5qaWRpYzIgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKworMCAxNSBrYW5qaWRpYzIgMCAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9pbnRzdWJzZXQyLnhtbC5zYXggYi9saWJ4bWwyL3Jlc3VsdC9pbnRzdWJzZXQyLnhtbC5zYXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjRkN2JmNAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2ludHN1YnNldDIueG1sLnNheApAQCAtMCwwICsxLDI4NiBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguaW50ZXJuYWxTdWJzZXQoa2FuamlkaWMyLCAsICkKK1NBWC5jb21tZW50KCBWZXJzaW9uIDEuMworCVRoaXMgaXMgdGhlIERURCBvZiB0aGUgWE1MLWZvcm1hdCBrYW5qaSBmaWxlIGNvbWJpbmluZyBpbmZvcm1hdGlvbiBmcm9tCisJdGhlIEtBTkpJRElDIGFuZCBLQU5KRDIxMiBmaWxlcy4gSXQgaXMgaW50ZW5kZWQgdG8gYmUgbGFyZ2VseSBzZWxmLQorCWRvY3VtZW50aW5nLCB3aXRoIGVhY2ggZmllbGQgYmVpbmcgYWNjb21wYW5pZWQgYnkgYW4gZXhwbGFuYXRvcnkKKwljb21tZW50LgorCisJVGhlIGZpbGUgY292ZXJzIHRoZSBmb2xsb3dpbmcga2Fuamk6CisJKGEpIHRoZSA2LDM1NSBrYW5qaSBmcm9tIEpJUyBYIDAyMDg7CisJKGIpIHRoZSA1LDgwMSBrYW5qaSBmcm9tIEpJUyBYIDAyMTI7CisJKGMpIHRoZSAzLDYyNSBrYW5qaSBmcm9tIEpJUyBYIDAyMTMgYXMgZm9sbG93czoKKwkJKGkpIHRoZSAyLDc0MSBrYW5qaSB3aGljaCBhcmUgYWxzbyBpbiBKSVMgWCAwMjEyIGhhdmUKKwkJSklTIFggMDIxMyBjb2RlLXBvaW50cyAoa3V0ZW4pIGFkZGVkIHRvIHRoZSBleGlzdGluZyBlbnRyeTsKKwkJKGlpKSB0aGUgODg0ICJuZXciIGthbmppIGhhdmUgbmV3IGVudHJpZXMuCisKKwlBdCB0aGUgZW5kIG9mIHRoZSBleHBsYW5hdGlvbiBmb3IgYSBudW1iZXIgb2YgZmllbGRzIHRoZXJlIGlzIGEgdGFnCisJd2l0aCB0aGUgZm9ybWF0IFtOXS4gVGhpcyBpbmRpY2F0ZXMgdGhlIGxlYWRpbmcgbGV0dGVyKHMpIG9mIHRoZQorCWVxdWl2YWxlbnQgZmllbGQgaW4gdGhlIEtBTkpJRElDIGFuZCBLQU5KRDIxMiBmaWxlcy4KKworCVRoZSBLQU5KSURJQyBkb2N1bWVudGF0aW9uIHNob3VsZCBhbHNvIGJlIHJlYWQgZm9yIGFkZGl0aW9uYWwgCisJaW5mb3JtYXRpb24gYWJvdXQgdGhlIGluZm9ybWF0aW9uIGluIHRoZSBmaWxlLgorCSkKK1NBWC5lbGVtZW50RGVjbChrYW5qaWRpYzIsIDQsIC4uLikKK1NBWC5lbGVtZW50RGVjbChoZWFkZXIsIDQsIC4uLikKK1NBWC5jb21tZW50KAorCVRoZSBzaW5nbGUgaGVhZGVyIGVsZW1lbnQgd2lsbCBjb250YWluIGlkZW50aWZpY2F0aW9uIGluZm9ybWF0aW9uCisJYWJvdXQgdGhlIHZlcnNpb24gb2YgdGhlIGZpbGUgCisJKQorU0FYLmVsZW1lbnREZWNsKGZpbGVfdmVyc2lvbiwgMywgLi4uKQorU0FYLmNvbW1lbnQoCisJVGhpcyBmaWVsZCBkZW5vdGVzIHRoZSB2ZXJzaW9uIG9mIGthbmppZGljMiBzdHJ1Y3R1cmUsIGFzIG1vcmUKKwl0aGFuIG9uZSB2ZXJzaW9uIG1heSBleGlzdC4KKwkpCitTQVguZWxlbWVudERlY2woZGF0YWJhc2VfdmVyc2lvbiwgMywgLi4uKQorU0FYLmNvbW1lbnQoCisJVGhlIHZlcnNpb24gb2YgdGhlIGZpbGUsIGluIHRoZSBmb3JtYXQgWVlZWS1OTiwgd2hlcmUgTk4gd2lsbCBiZQorCWEgbnVtYmVyIHN0YXJ0aW5nIHdpdGggMDEgZm9yIHRoZSBmaXJzdCB2ZXJzaW9uIHJlbGVhc2VkIGluIGEKKwljYWxlbmRhciB5ZWFyLCB0aGVuIGluY3JlYXNpbmcgZm9yIGVhY2ggdmVyc2lvbiBpbiB0aGF0IHllYXIuCisJKQorU0FYLmVsZW1lbnREZWNsKGRhdGVfb2ZfY3JlYXRpb24sIDMsIC4uLikKK1NBWC5jb21tZW50KAorCVRoZSBkYXRlIHRoZSBmaWxlIHdhcyBjcmVhdGVkIGluIGludGVybmF0aW9uYWwgZm9ybWF0IChZWVlZLU1NLUREKS4KKwkpCitTQVguZWxlbWVudERlY2woY2hhcmFjdGVyLCA0LCAuLi4pCitTQVguZWxlbWVudERlY2wobGl0ZXJhbCwgMywgLi4uKQorU0FYLmNvbW1lbnQoCisJVGhlIGNoYXJhY3RlciBpdHNlbGYgaW4gVVRGOCBjb2RpbmcuCisJKQorU0FYLmVsZW1lbnREZWNsKGNvZGVwb2ludCwgNCwgLi4uKQorU0FYLmNvbW1lbnQoIAorCVRoZSBjb2RlcG9pbnQgZWxlbWVudCBzdGF0ZXMgdGhlIGNvZGUgb2YgdGhlIGNoYXJhY3RlciBpbiB0aGUgdmFyaW91cworCWNoYXJhY3RlciBzZXQgc3RhbmRhcmRzLgorCSkKK1NBWC5lbGVtZW50RGVjbChjcF92YWx1ZSwgMywgLi4uKQorU0FYLmNvbW1lbnQoIAorCVRoZSBjcF92YWx1ZSBjb250YWlucyB0aGUgY29kZXBvaW50IG9mIHRoZSBjaGFyYWN0ZXIgaW4gYSBwYXJ0aWN1bGFyCisJc3RhbmRhcmQuIFRoZSBzdGFuZGFyZCB3aWxsIGJlIGlkZW50aWZpZWQgaW4gdGhlIGNwX3R5cGUgYXR0cmlidXRlLgorCSkKK1NBWC5hdHRyaWJ1dGVEZWNsKGNwX3ZhbHVlLCBjcF90eXBlLCAxLCAyLCBOVUxMLCAuLi4pCitTQVguY29tbWVudCggCisJVGhlIGNwX3R5cGUgYXR0cmlidXRlIHN0YXRlcyB0aGUgY29kaW5nIHN0YW5kYXJkIGFwcGx5aW5nIHRvIHRoZQorCWVsZW1lbnQuIFRoZSB2YWx1ZXMgYXNzaWduZWQgc28gZmFyIGFyZToKKwkJamlzMjA4IC0gSklTIFggMDIwOC0xOTk3IC0ga3V0ZW4gY29kaW5nIChubi1ubikKKwkJamlzMjEyIC0gSklTIFggMDIxMi0xOTkwIC0ga3V0ZW4gY29kaW5nIChubi1ubikKKwkJamlzMjEzIC0gSklTIFggMDIxMy0yMDAwIC0ga3V0ZW4gY29kaW5nIChwLW5uLW5uKQorCQl1Y3MgLSBVbmljb2RlIDQuMCAtIGhleCBjb2RpbmcgKDQgb3IgNSBoZXhhZGVjaW1hbCBkaWdpdHMpCisJKQorU0FYLmVsZW1lbnREZWNsKHJhZGljYWwsIDQsIC4uLikKK1NBWC5lbGVtZW50RGVjbChyYWRfdmFsdWUsIDMsIC4uLikKK1NBWC5jb21tZW50KCAKKwlUaGUgcmFkaWNhbCBudW1iZXIsIGluIHRoZSByYW5nZSAxIHRvIDIxNC4gVGhlIHBhcnRpY3VsYXIKKwljbGFzc2lmaWNhdGlvbiB0eXBlIGlzIHN0YXRlZCBpbiB0aGUgcmFkX3R5cGUgYXR0cmlidXRlLgorCSkKK1NBWC5hdHRyaWJ1dGVEZWNsKHJhZF92YWx1ZSwgcmFkX3R5cGUsIDEsIDIsIE5VTEwsIC4uLikKK1NBWC5jb21tZW50KCAKKwlUaGUgcmFkX3R5cGUgYXR0cmlidXRlIHN0YXRlcyB0aGUgdHlwZSBvZiByYWRpY2FsIGNsYXNzaWZpY2F0aW9uLgorCQljbGFzc2ljYWwgLSBhcyByZWNvcmRlZCBpbiB0aGUgS2FuZ1hpIFppZGlhbi4KKwkJbmVsc29uIC0gYXMgdXNlZCBpbiB0aGUgTmVsc29uICJNb2Rlcm4gSmFwYW5lc2UtRW5nbGlzaCAKKwkJQ2hhcmFjdGVyIERpY3Rpb25hcnkiIChpLmUuIHRoZSBDbGFzc2ljLCBub3QgdGhlIE5ldyBOZWxzb24pLgorCQlUaGlzIHdpbGwgb25seSBiZSB1c2VkIHdoZXJlIE5lbHNvbiByZWNsYXNzaWZpZWQgdGhlIGthbmppLgorCSkKK1NBWC5lbGVtZW50RGVjbChtaXNjLCA0LCAuLi4pCitTQVguZWxlbWVudERlY2woZ3JhZGUsIDMsIC4uLikKK1NBWC5jb21tZW50KCAKKwlUaGUgSm91eW91IEthbmppIGdyYWRlIGxldmVsLiAxIHRocm91Z2ggNiBpbmRpY2F0ZSB0aGUgZ3JhZGUgaW4gd2hpY2gKKwl0aGUga2FuamkgaXMgdGF1Z2h0IGluIEphcGFuZXNlIHNjaG9vbHMuIDggaW5kaWNhdGVzIGl0IGlzIG9uZSBvZiB0aGUKKwlyZW1haW5pbmcgSm91eW91IEthbmppIHRvIGJlIGxlYXJuZWQgaW4ganVuaW9yIGhpZ2ggc2Nob29sLCBhbmQgOSAKKwlpbmRpY2F0ZXMgaXQgaXMgYSBKaW5tZWl5b3UgKGZvciB1c2UgaW4gbmFtZXMpIGthbmppLiBbR10KKwkpCitTQVguZWxlbWVudERlY2woc3Ryb2tlX2NvdW50LCAzLCAuLi4pCitTQVguY29tbWVudCggCisJVGhlIHN0cm9rZSBjb3VudCBvZiB0aGUga2FuamksIGluY2x1ZGluZyB0aGUgcmFkaWNhbC4gSWYgbW9yZSB0aGFuIAorCW9uZSwgdGhlIGZpcnN0IGlzIGNvbnNpZGVyZWQgdGhlIGFjY2VwdGVkIGNvdW50LCB3aGlsZSBzdWJzZXF1ZW50IG9uZXMgCisJYXJlIGNvbW1vbiBtaXNjb3VudHMuIChTZWUgQXBwZW5kaXggRS4gb2YgdGhlIEtBTkpJRElDIGRvY3VtZW50YXRpb24KKwlmb3Igc29tZSBvZiB0aGUgcnVsZXMgYXBwbGllZCB3aGVuIGNvdW50aW5nIHN0cm9rZXMgaW4gc29tZSBvZiB0aGUgCisJcmFkaWNhbHMuKSBbU10KKwkpCitTQVguZWxlbWVudERlY2wodmFyaWFudCwgMywgLi4uKQorU0FYLmNvbW1lbnQoIAorCUEgY3Jvc3MtcmVmZXJlbmNlIGNvZGUgdG8gYW5vdGhlciBrYW5qaSwgdXN1YWxseSByZWdhcmRlZCBhcyBhIHZhcmlhbnQuCisJVGhlIHR5cGUgb2YgY3Jvc3MtcmVmZXJlbmNlIGlzIGdpdmVuIGluIHRoZSB2YXJfdHlwZSBhdHRyaWJ1dGUuCisJKQorU0FYLmF0dHJpYnV0ZURlY2wodmFyaWFudCwgdmFyX3R5cGUsIDEsIDIsIE5VTEwsIC4uLikKK1NBWC5jb21tZW50KCAKKwlUaGUgdmFyX3R5cGUgYXR0cmlidXRlIGluZGljYXRlcyB0aGUgdHlwZSBvZiB2YXJpYW50IGNvZGUuIFRoZSBjdXJyZW50CisJdmFsdWVzIGFyZTogCisJCWppczIwOCAtIGluIEpJUyBYIDAyMDggLSBrdXRlbiBjb2RpbmcKKwkJamlzMjEyIC0gaW4gSklTIFggMDIxMiAtIGt1dGVuIGNvZGluZworCQlqaXMyMTMgLSBpbiBKSVMgWCAwMjEzIC0ga3V0ZW4gY29kaW5nCisJCWRlcm9vIC0gRGUgUm9vIG51bWJlciAtIG51bWVyaWMKKwkJbmplY2QgLSBIYWxwZXJuIE5KRUNEIGluZGV4IG51bWJlciAtIG51bWVyaWMKKwkJc19oIC0gVGhlIEthbmppIERpY3Rpb25hcnkgKFNwYWhuICYgSGFkYW1pdHpreSkgLSBkZXNjcmlwdG9yCisJCW5lbHNvbiAtICJDbGFzc2ljIiBOZWxzb24gLSBudW1lcmljCisJCW9uZWlsbCAtIEphcGFuZXNlIE5hbWVzIChPJ05laWxsKSAtIG51bWVyaWMKKwkpCitTQVguZWxlbWVudERlY2woZnJlcSwgMywgLi4uKQorU0FYLmNvbW1lbnQoIAorCUEgZnJlcXVlbmN5LW9mLXVzZSByYW5raW5nLiBUaGUgMiw1MDAgbW9zdC11c2VkIGNoYXJhY3RlcnMgaGF2ZSBhIAorCXJhbmtpbmc7IHRob3NlIGNoYXJhY3RlcnMgdGhhdCBsYWNrIHRoaXMgZmllbGQgYXJlIG5vdCByYW5rZWQuIFRoZSAKKwlmcmVxdWVuY3kgaXMgYSBudW1iZXIgZnJvbSAxIHRvIDIsNTAwIHRoYXQgZXhwcmVzc2VzIHRoZSByZWxhdGl2ZSAKKwlmcmVxdWVuY3kgb2Ygb2NjdXJyZW5jZSBvZiBhIGNoYXJhY3RlciBpbiBtb2Rlcm4gSmFwYW5lc2UuIFRoaXMgaXMKKwliYXNlZCBvbiBhIHN1cnZleSBpbiBuZXdzcGFwZXJzLCBzbyBpdCBpcyBiaWFzc2VkIHRvd2FyZHMga2FuamkKKwl1c2VkIGluIG5ld3NwYXBlciBhcnRpY2xlcy4gVGhlIGRpc2NyaW1pbmF0aW9uIGJldHdlZW4gdGhlIGxlc3MKKwlmcmVxdWVudGx5IHVzZWQga2FuamkgaXMgbm90IHN0cm9uZy4KKwkpCitTQVguZWxlbWVudERlY2wocmFkX25hbWUsIDMsIC4uLikKK1NBWC5jb21tZW50KCAKKwlXaGVuIHRoZSBrYW5qaSBpcyBpdHNlbGYgYSByYWRpY2FsIGFuZCBoYXMgYSBuYW1lLCB0aGlzIGVsZW1lbnQKKwljb250YWlucyB0aGUgbmFtZSAoaW4gaGlyYWdhbmEuKSBbVDJdCisJKQorU0FYLmVsZW1lbnREZWNsKGRpY19udW1iZXIsIDQsIC4uLikKK1NBWC5jb21tZW50KCAKKwlUaGlzIGVsZW1lbnQgY29udGFpbnMgdGhlIGluZGV4IG51bWJlcnMgYW5kIHNpbWlsYXIgdW5zdHJ1Y3R1cmVkCisJaW5mb3JtYXRpb24gc3VjaCBhcyBwYWdlIG51bWJlcnMgaW4gYSBudW1iZXIgb2YgcHVibGlzaGVkIGRpY3Rpb25hcmllcywKKwlhbmQgaW5zdHJ1Y3Rpb25hbCBib29rcyBvbiBrYW5qaS4KKwkpCitTQVguZWxlbWVudERlY2woZGljX3JlZiwgMywgLi4uKQorU0FYLmNvbW1lbnQoIAorCUVhY2ggZGljX3JlZiBjb250YWlucyBhbiBpbmRleCBudW1iZXIuIFRoZSBwYXJ0aWN1bGFyIGRpY3Rpb25hcnksCisJZXRjLiBpcyBkZWZpbmVkIGJ5IHRoZSBkcl90eXBlIGF0dHJpYnV0ZS4KKwkpCitTQVguYXR0cmlidXRlRGVjbChkaWNfcmVmLCBkcl90eXBlLCAxLCAyLCBOVUxMLCAuLi4pCitTQVguY29tbWVudCggCisJVGhlIGRyX3R5cGUgZGVmaW5lcyB0aGUgZGljdGlvbmFyeSBvciByZWZlcmVuY2UgYm9vaywgZXRjLiB0byB3aGljaAorCWRpY19yZWYgZWxlbWVudCBhcHBsaWVzLiBUaGUgaW5pdGlhbCBhbGxvY2F0aW9uIGlzOgorCSAgbmVsc29uX2MgLSAiTW9kZXJuIFJlYWRlcidzIEphcGFuZXNlLUVuZ2xpc2ggQ2hhcmFjdGVyIERpY3Rpb25hcnkiLCAgCisJICAJZWRpdGVkIGJ5IEFuZHJldyBOZWxzb24gKG5vdyBwdWJsaXNoZWQgYXMgdGhlICJDbGFzc2ljIiAKKwkgIAlOZWxzb24pLgorCSAgbmVsc29uX24gLSAiVGhlIE5ldyBOZWxzb24gSmFwYW5lc2UtRW5nbGlzaCBDaGFyYWN0ZXIgRGljdGlvbmFyeSIsIAorCSAgCWVkaXRlZCBieSBKb2huIEhhaWcuCisJICBoYWxwZXJuX25qZWNkIC0gIk5ldyBKYXBhbmVzZS1FbmdsaXNoIENoYXJhY3RlciBEaWN0aW9uYXJ5IiwgCisJICAJZWRpdGVkIGJ5IEphY2sgSGFscGVybi4KKwkgIGhhbHBlcm5fa2tsZCAtICJLYW5qaSBMZWFybmVycyBEaWN0aW9uYXJ5IiAoS29kYW5zaGEpIGVkaXRlZCBieSAKKwkgIAlKYWNrIEhhbHBlcm4uCisJICBoZWlzaWcgLSAiUmVtZW1iZXJpbmcgVGhlICBLYW5qaSIgIGJ5ICBKYW1lcyBIZWlzaWcuCisJICBnYWtrZW4gLSAiQSAgTmV3IERpY3Rpb25hcnkgb2YgS2FuamkgVXNhZ2UiIChHYWtrZW4pCisJICBvbmVpbGxfbmFtZXMgLSAiSmFwYW5lc2UgTmFtZXMiLCBieSBQLkcuIE8nTmVpbGwuIAorCSAgb25laWxsX2trIC0gIkVzc2VudGlhbCBLYW5qaSIgYnkgUC5HLiBPJ05laWxsLgorCSAgbW9ybyAtICJEYWlrYW53YWppdGVuIiBjb21waWxlZCBieSBNb3JvaGFzaGkuIEZvciBzb21lIGthbmppIHR3bworCSAgCWFkZGl0aW9uYWwgYXR0cmlidXRlcyBhcmUgdXNlZDogbV92b2w6ICB0aGUgdm9sdW1lIG9mIHRoZQorCSAgCWRpY3Rpb25hcnkgaW4gd2hpY2ggdGhlIGthbmppIGlzIGZvdW5kLCBhbmQgbV9wYWdlOiB0aGUgcGFnZQorCSAgCW51bWJlciBpbiB0aGUgdm9sdW1lLgorCSAgaGVuc2hhbGwgLSAiQSBHdWlkZSBUbyBSZW1lbWJlcmluZyBKYXBhbmVzZSBDaGFyYWN0ZXJzIiBieQorCSAgCUtlbm5ldGggRy4gIEhlbnNoYWxsLgorCSAgc2hfa2sgLSAiS2FuamkgYW5kIEthbmEiIGJ5IFNwYWhuIGFuZCBIYWRhbWl0emt5LgorCSAgc2FrYWRlIC0gIkEgR3VpZGUgVG8gUmVhZGluZyBhbmQgV3JpdGluZyBKYXBhbmVzZSIgZWRpdGVkIGJ5CisJICAJRmxvcmVuY2UgU2FrYWRlLgorCSAgaGVuc2hhbGwzIC0gIkEgR3VpZGUgVG8gUmVhZGluZyBhbmQgV3JpdGluZyBKYXBhbmVzZSIgM3JkCisJCWVkaXRpb24sIGVkaXRlZCBieSBIZW5zaGFsbCwgU2VlbGV5IGFuZCBEZSBHcm9vdC4KKwkgIHR1dHRfY2FyZHMgLSBUdXR0bGUgS2FuamkgQ2FyZHMsIGNvbXBpbGVkIGJ5IEFsZXhhbmRlciBLYXNrLgorCSAgY3Jvd2xleSAtICJUaGUgS2FuamkgV2F5IHRvIEphcGFuZXNlIExhbmd1YWdlIFBvd2VyIiBieQorCSAgCURhbGUgQ3Jvd2xleS4KKwkgIGthbmppX2luX2NvbnRleHQgLSAiS2FuamkgaW4gQ29udGV4dCIgYnkgTmlzaGlndWNoaSBhbmQgS29uby4KKwkgIGJ1c3lfcGVvcGxlIC0gIkphcGFuZXNlIEZvciBCdXN5IFBlb3BsZSIgdm9scyBJLUlJSSwgcHVibGlzaGVkCisJCWJ5IHRoZSBBSkxULiBUaGUgY29kZXMgYXJlIHRoZSB2b2x1bWUuY2hhcHRlci4KKwkgIGtvZGFuc2hhX2NvbXBhY3QgLSB0aGUgIktvZGFuc2hhIENvbXBhY3QgS2FuamkgR3VpZGUiLgorCSkKK1NBWC5hdHRyaWJ1dGVEZWNsKGRpY19yZWYsIG1fdm9sLCAxLCAzLCBOVUxMLCAuLi4pCitTQVguY29tbWVudCggCisJU2VlIGFib3ZlIHVuZGVyICJtb3JvIi4KKwkpCitTQVguYXR0cmlidXRlRGVjbChkaWNfcmVmLCBtX3BhZ2UsIDEsIDMsIE5VTEwsIC4uLikKK1NBWC5jb21tZW50KCAKKwlTZWUgYWJvdmUgdW5kZXIgIm1vcm8iLgorCSkKK1NBWC5lbGVtZW50RGVjbChxdWVyeV9jb2RlLCA0LCAuLi4pCitTQVguY29tbWVudCggCisJVGhlc2UgY29kZXMgY29udGFpbiBpbmZvcm1hdGlvbiByZWxhdGluZyB0byB0aGUgZ2x5cGgsIGFuZCBjYW4gYmUgdXNlZAorCWZvciBmaW5kaW5nIGEgcmVxdWlyZWQga2FuamkuIFRoZSB0eXBlIG9mIGNvZGUgaXMgZGVmaW5lZCBieSB0aGUKKwlxY190eXBlIGF0dHJpYnV0ZS4KKwkpCitTQVguZWxlbWVudERlY2wocV9jb2RlLCAzLCAuLi4pCitTQVguY29tbWVudCgKKwlUaGUgcV9jb2RlIGNvbnRhaW5zIHRoZSBhY3R1YWwgcXVlcnktY29kZSB2YWx1ZSwgYWNjb3JkaW5nIHRvIHRoZQorCXFjX3R5cGUgYXR0cmlidXRlLgorCSkKK1NBWC5hdHRyaWJ1dGVEZWNsKHFfY29kZSwgcWNfdHlwZSwgMSwgMiwgTlVMTCwgLi4uKQorU0FYLmNvbW1lbnQoIAorCVRoZSBxX2NvZGUgYXR0cmlidXRlIGRlZmluZXMgdGhlIHR5cGUgb2YgcXVlcnkgY29kZS4gVGhlIGN1cnJlbnQgdmFsdWVzCisJYXJlOgorCSAgc2tpcCAtICBIYWxwZXJuJ3MgU0tJUCAoU3lzdGVtICBvZiAgS2FuamkgIEluZGV4aW5nICBieSAgUGF0dGVybnMpIAorCSAgCWNvZGUuIFRoZSAgZm9ybWF0IGlzIG4tbm4tbm4uICBTZWUgdGhlIEtBTkpJRElDICBkb2N1bWVudGF0aW9uIAorCSAgCWZvciAgYSBkZXNjcmlwdGlvbiBvZiB0aGUgY29kZSBhbmQgcmVzdHJpY3Rpb25zIG9uICB0aGUgCisJICAJY29tbWVyY2lhbCAgdXNlICBvZiB0aGlzIGRhdGEuIFtQXQorCisJICBzaF9kZXNjIC0gdGhlIGRlc2NyaXB0b3IgY29kZXMgZm9yIFRoZSBLYW5qaSBEaWN0aW9uYXJ5IChUdXR0bGUgCisJICAJMTk5NikgYnkgU3BhaG4gYW5kIEhhZGFtaXR6a3kuIFRoZXkgYXJlIGluIHRoZSBmb3JtIG54bm4ubiwgIAorCSAgCWUuZy4gIDNrMTEuMiwgd2hlcmUgdGhlICBrYW5qaSBoYXMgMyBzdHJva2VzIGluIHRoZSAKKwkgIAlpZGVudGlmeWluZyByYWRpY2FsLCBpdCBpcyByYWRpY2FsICJrIiBpbiB0aGUgU0ggCisJICAJY2xhc3NpZmljYXRpb24gc3lzdGVtLCB0aGVyZSBhcmUgMTEgb3RoZXIgc3Ryb2tlcywgYW5kIGl0IGlzIAorCSAgCXRoZSAybmQga2FuamkgaW4gdGhlIDNrMTEgc2VxdWVuY2UuIChJIGFtIHZlcnkgZ3JhdGVmdWwgdG8gCisJICAJTWFyayBTcGFobiBmb3IgcHJvdmlkaW5nIHRoZSBsaXN0IG9mIHRoZXNlIGRlc2NyaXB0b3IgY29kZXMgCisJICAJZm9yIHRoZSBrYW5qaSBpbiB0aGlzIGZpbGUuKSBbSV0KKwkgIGZvdXJfY29ybmVyIC0gdGhlICJGb3VyIENvcm5lciIgY29kZSBmb3IgdGhlIGthbmppLiBUaGlzIGlzIGEgY29kZSAKKwkgIAlpbnZlbnRlZCBieSBXYW5nIENoZW4gaW4gMTkyOC4gU2VlIHRoZSBLQU5KSURJQyBkb2N1bWVudGF0aW9uIAorCSAgCWZvciAgYW4gb3ZlcnZpZXcgb2YgIHRoZSBGb3VyIENvcm5lciBTeXN0ZW0uIFtRXQorCisJICBkZXJvbyAtIHRoZSBjb2RlcyBkZXZlbG9wZWQgYnkgdGhlIGxhdGUgRmF0aGVyIEpvc2VwaCBEZSBSb28sIGFuZCAKKwkgIAlwdWJsaXNoZWQgaW4gIGhpcyBib29rICIyMDAxIEthbmppIiAoQm9qaW5zaGEpLiBGciBEZSBSb28gCisJICAJZ2F2ZSBoaXMgcGVybWlzc2lvbiBmb3IgdGhlc2UgY29kZXMgdG8gYmUgaW5jbHVkZWQuIFtEUl0KKwkgIG1pc2NsYXNzIC0gYSBwb3NzaWJsZSBtaXNjbGFzc2lmaWNhdGlvbiBvZiB0aGUga2FuamkgYWNjb3JkaW5nCisJCXRvIG9uZSBvZiB0aGUgY29kZSB0eXBlcy4gKFNlZSB0aGUgIloiIGNvZGVzIGluIHRoZSBLQU5KSURJQworCQlkb2N1bWVudGF0aW9uIGZvciBtb3JlIGRldGFpbHMuKQorCSAgCisJKQorU0FYLmVsZW1lbnREZWNsKHJlYWRpbmdfbWVhbmluZywgNCwgLi4uKQorU0FYLmNvbW1lbnQoIAorCVRoZSByZWFkaW5ncyBmb3IgdGhlIGthbmppIGluIHNldmVyYWwgbGFuZ3VhZ2VzLCBhbmQgdGhlIG1lYW5pbmdzLCBhbHNvCisJaW4gc2V2ZXJhbCBsYW5ndWFnZXMuIFRoZSByZWFkaW5ncyBhbmQgbWVhbmluZ3MgYXJlIGdyb3VwZWQgdG8gZW5hYmxlCisJdGhlIGhhbmRsaW5nIG9mIHRoZSBzaXR1YXRpb24gd2hlcmUgdGhlIG1lYW5pbmcgaXMgZGlmZmVyZW50aWF0ZWQgYnkgCisJcmVhZGluZy4gW1QxXQorCSkKK1NBWC5lbGVtZW50RGVjbChuYW5vcmksIDMsIC4uLikKK1NBWC5jb21tZW50KCAKKwlKYXBhbmVzZSByZWFkaW5ncyB0aGF0IGFyZSBub3cgb25seSBhc3NvY2lhdGVkIHdpdGggbmFtZXMuCisJKQorU0FYLmVsZW1lbnREZWNsKHJtZ3JvdXAsIDQsIC4uLikKK1NBWC5lbGVtZW50RGVjbChyZWFkaW5nLCAzLCAuLi4pCitTQVguY29tbWVudCggCisJVGhlIHJlYWRpbmcgZWxlbWVudCBjb250YWlucyB0aGUgcmVhZGluZyBvciBwcm9udW5jaWF0aW9uCisJb2YgdGhlIGthbmppLgorCSkKK1NBWC5hdHRyaWJ1dGVEZWNsKHJlYWRpbmcsIHJfdHlwZSwgMSwgMiwgTlVMTCwgLi4uKQorU0FYLmNvbW1lbnQoIAorCVRoZSByX3R5cGUgYXR0cmlidXRlIGRlZmluZXMgdGhlIHR5cGUgb2YgcmVhZGluZyBpbiB0aGUgcmVhZGluZworCWVsZW1lbnQuIFRoZSBjdXJyZW50IHZhbHVlcyBhcmU6CisJICBwaW55aW4gLSB0aGUgbW9kZXJuIFBpbllpbiByb21hbml6YXRpb24gb2YgdGhlIENoaW5lc2UgcmVhZGluZyAKKwkgIAlvZiB0aGUga2FuamkuIFRoZSB0b25lcyBhcmUgcmVwcmVzZW50ZWQgYnkgYSBjb25jbHVkaW5nIAorCSAgCWRpZ2l0LiBbWV0KKwkgIGtvcmVhbl9yIC0gdGhlIHJvbWFuaXplZCBmb3JtIG9mIHRoZSBLb3JlYW4gcmVhZGluZyhzKSBvZiB0aGUgCisJICAJa2FuamkuICBUaGUgcmVhZGluZ3MgYXJlIGluIHRoZSAoUmVwdWJsaWMgb2YgS29yZWEpIE1pbmlzdHJ5IAorCSAgCW9mIEVkdWNhdGlvbiBzdHlsZSBvZiByb21hbml6YXRpb24uIFtXXQorCSAga29yZWFuX2ggLSB0aGUgS29yZWFuIHJlYWRpbmcocykgb2YgdGhlIGthbmppIGluIGhhbmd1bC4KKwkgIGphX29uIC0gdGhlICJvbiIgSmFwYW5lc2UgcmVhZGluZyBvZiB0aGUga2FuamksIGluIGthdGFrYW5hLiBBCisJICAJc2Vjb25kIGF0dHJpYnV0ZSByX3N0YXR1cywgaWYgcHJlc2VudCwgd2lsbCBpbmRpY2F0ZSB3aXRoCisJICAJYSB2YWx1ZSBvZiAiankiIHdoZXRoZXIgdGhlIHJlYWRpbmcgaXMgYXBwcm92ZWQgZm9yIGEKKwkgIAkiSm91eW91IGthbmppIi4KKwkgIGphX2t1biAtIHRoZSAia3VuIiBKYXBhbmVzZSByZWFkaW5nIG9mIHRoZSBrYW5qaSwgaW4gaGlyYWdhbmEuIAorCSAgCVdoZXJlIHJlbGV2YW50IHRoZSBva3VyaWdhbmEgaXMgYWxzbyBpbmNsdWRlZCBzZXBhcmF0ZWQgYnkgYSAKKwkgIAkiLiIuIFJlYWRpbmdzIGFzc29jaWF0ZWQgd2l0aCBwcmVmaXhlcyBhbmQgc3VmZml4ZXMgYXJlIAorCSAgCW1hcmtlZCB3aXRoIGEgIi0iLiBBIHNlY29uZCBhdHRyaWJ1dGUgcl9zdGF0dXMsIGlmIHByZXNlbnQsIAorCSAgCXdpbGwgaW5kaWNhdGUgd2l0aCBhIHZhbHVlIG9mICJqeSIgd2hldGhlciB0aGUgcmVhZGluZyBpcyAKKwkgIAlhcHByb3ZlZCBmb3IgYSAiSm91eW91IGthbmppIi4KKwkpCitTQVguYXR0cmlidXRlRGVjbChyZWFkaW5nLCByX3N0YXR1cywgMSwgMywgTlVMTCwgLi4uKQorU0FYLmNvbW1lbnQoIAorCVNlZSB1bmRlciBqYV9vbiBhbmQgamFfa3VuIGFib3ZlLgorCSkKK1NBWC5lbGVtZW50RGVjbChtZWFuaW5nLCAzLCAuLi4pCitTQVguY29tbWVudCggCisJVGhlIG1lYW5pbmcgYXNzb2NpYXRlZCB3aXRoIHRoZSBrYW5qaS4KKwkpCitTQVguYXR0cmlidXRlRGVjbChtZWFuaW5nLCBtX2xhbmcsIDEsIDMsIE5VTEwsIC4uLikKK1NBWC5jb21tZW50KCAKKwlUaGUgbV9sYW5nIGF0dHJpYnV0ZSBkZWZpbmVzIHRoZSB0YXJnZXQgbGFuZ3VhZ2Ugb2YgdGhlIG1lYW5pbmcuIEl0IAorCXdpbGwgYmUgY29kZWQgdXNpbmcgdGhlIHR3by1sZXR0ZXIgbGFuZ3VhZ2UgY29kZSBmcm9tIHRoZSBJU08gNjM5IAorCXN0YW5kYXJkLiBXaGVuIGFic2VudCwgdGhlIHZhbHVlICJlbiIgKGkuZS4gRW5nbGlzaCkgaXMgaW1wbGllZC4gW3t9XQorCSkKK1NBWC5leHRlcm5hbFN1YnNldChrYW5qaWRpYzIsICwgKQorU0FYLnN0YXJ0RWxlbWVudChrYW5qaWRpYzIpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5lbmRFbGVtZW50KGthbmppZGljMikKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9pbnRzdWJzZXQyLnhtbC5zYXgyIGIvbGlieG1sMi9yZXN1bHQvaW50c3Vic2V0Mi54bWwuc2F4MgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NTU4NzAxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvaW50c3Vic2V0Mi54bWwuc2F4MgpAQCAtMCwwICsxLDI4NiBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguaW50ZXJuYWxTdWJzZXQoa2FuamlkaWMyLCAsICkKK1NBWC5jb21tZW50KCBWZXJzaW9uIDEuMworCVRoaXMgaXMgdGhlIERURCBvZiB0aGUgWE1MLWZvcm1hdCBrYW5qaSBmaWxlIGNvbWJpbmluZyBpbmZvcm1hdGlvbiBmcm9tCisJdGhlIEtBTkpJRElDIGFuZCBLQU5KRDIxMiBmaWxlcy4gSXQgaXMgaW50ZW5kZWQgdG8gYmUgbGFyZ2VseSBzZWxmLQorCWRvY3VtZW50aW5nLCB3aXRoIGVhY2ggZmllbGQgYmVpbmcgYWNjb21wYW5pZWQgYnkgYW4gZXhwbGFuYXRvcnkKKwljb21tZW50LgorCisJVGhlIGZpbGUgY292ZXJzIHRoZSBmb2xsb3dpbmcga2Fuamk6CisJKGEpIHRoZSA2LDM1NSBrYW5qaSBmcm9tIEpJUyBYIDAyMDg7CisJKGIpIHRoZSA1LDgwMSBrYW5qaSBmcm9tIEpJUyBYIDAyMTI7CisJKGMpIHRoZSAzLDYyNSBrYW5qaSBmcm9tIEpJUyBYIDAyMTMgYXMgZm9sbG93czoKKwkJKGkpIHRoZSAyLDc0MSBrYW5qaSB3aGljaCBhcmUgYWxzbyBpbiBKSVMgWCAwMjEyIGhhdmUKKwkJSklTIFggMDIxMyBjb2RlLXBvaW50cyAoa3V0ZW4pIGFkZGVkIHRvIHRoZSBleGlzdGluZyBlbnRyeTsKKwkJKGlpKSB0aGUgODg0ICJuZXciIGthbmppIGhhdmUgbmV3IGVudHJpZXMuCisKKwlBdCB0aGUgZW5kIG9mIHRoZSBleHBsYW5hdGlvbiBmb3IgYSBudW1iZXIgb2YgZmllbGRzIHRoZXJlIGlzIGEgdGFnCisJd2l0aCB0aGUgZm9ybWF0IFtOXS4gVGhpcyBpbmRpY2F0ZXMgdGhlIGxlYWRpbmcgbGV0dGVyKHMpIG9mIHRoZQorCWVxdWl2YWxlbnQgZmllbGQgaW4gdGhlIEtBTkpJRElDIGFuZCBLQU5KRDIxMiBmaWxlcy4KKworCVRoZSBLQU5KSURJQyBkb2N1bWVudGF0aW9uIHNob3VsZCBhbHNvIGJlIHJlYWQgZm9yIGFkZGl0aW9uYWwgCisJaW5mb3JtYXRpb24gYWJvdXQgdGhlIGluZm9ybWF0aW9uIGluIHRoZSBmaWxlLgorCSkKK1NBWC5lbGVtZW50RGVjbChrYW5qaWRpYzIsIDQsIC4uLikKK1NBWC5lbGVtZW50RGVjbChoZWFkZXIsIDQsIC4uLikKK1NBWC5jb21tZW50KAorCVRoZSBzaW5nbGUgaGVhZGVyIGVsZW1lbnQgd2lsbCBjb250YWluIGlkZW50aWZpY2F0aW9uIGluZm9ybWF0aW9uCisJYWJvdXQgdGhlIHZlcnNpb24gb2YgdGhlIGZpbGUgCisJKQorU0FYLmVsZW1lbnREZWNsKGZpbGVfdmVyc2lvbiwgMywgLi4uKQorU0FYLmNvbW1lbnQoCisJVGhpcyBmaWVsZCBkZW5vdGVzIHRoZSB2ZXJzaW9uIG9mIGthbmppZGljMiBzdHJ1Y3R1cmUsIGFzIG1vcmUKKwl0aGFuIG9uZSB2ZXJzaW9uIG1heSBleGlzdC4KKwkpCitTQVguZWxlbWVudERlY2woZGF0YWJhc2VfdmVyc2lvbiwgMywgLi4uKQorU0FYLmNvbW1lbnQoCisJVGhlIHZlcnNpb24gb2YgdGhlIGZpbGUsIGluIHRoZSBmb3JtYXQgWVlZWS1OTiwgd2hlcmUgTk4gd2lsbCBiZQorCWEgbnVtYmVyIHN0YXJ0aW5nIHdpdGggMDEgZm9yIHRoZSBmaXJzdCB2ZXJzaW9uIHJlbGVhc2VkIGluIGEKKwljYWxlbmRhciB5ZWFyLCB0aGVuIGluY3JlYXNpbmcgZm9yIGVhY2ggdmVyc2lvbiBpbiB0aGF0IHllYXIuCisJKQorU0FYLmVsZW1lbnREZWNsKGRhdGVfb2ZfY3JlYXRpb24sIDMsIC4uLikKK1NBWC5jb21tZW50KAorCVRoZSBkYXRlIHRoZSBmaWxlIHdhcyBjcmVhdGVkIGluIGludGVybmF0aW9uYWwgZm9ybWF0IChZWVlZLU1NLUREKS4KKwkpCitTQVguZWxlbWVudERlY2woY2hhcmFjdGVyLCA0LCAuLi4pCitTQVguZWxlbWVudERlY2wobGl0ZXJhbCwgMywgLi4uKQorU0FYLmNvbW1lbnQoCisJVGhlIGNoYXJhY3RlciBpdHNlbGYgaW4gVVRGOCBjb2RpbmcuCisJKQorU0FYLmVsZW1lbnREZWNsKGNvZGVwb2ludCwgNCwgLi4uKQorU0FYLmNvbW1lbnQoIAorCVRoZSBjb2RlcG9pbnQgZWxlbWVudCBzdGF0ZXMgdGhlIGNvZGUgb2YgdGhlIGNoYXJhY3RlciBpbiB0aGUgdmFyaW91cworCWNoYXJhY3RlciBzZXQgc3RhbmRhcmRzLgorCSkKK1NBWC5lbGVtZW50RGVjbChjcF92YWx1ZSwgMywgLi4uKQorU0FYLmNvbW1lbnQoIAorCVRoZSBjcF92YWx1ZSBjb250YWlucyB0aGUgY29kZXBvaW50IG9mIHRoZSBjaGFyYWN0ZXIgaW4gYSBwYXJ0aWN1bGFyCisJc3RhbmRhcmQuIFRoZSBzdGFuZGFyZCB3aWxsIGJlIGlkZW50aWZpZWQgaW4gdGhlIGNwX3R5cGUgYXR0cmlidXRlLgorCSkKK1NBWC5hdHRyaWJ1dGVEZWNsKGNwX3ZhbHVlLCBjcF90eXBlLCAxLCAyLCBOVUxMLCAuLi4pCitTQVguY29tbWVudCggCisJVGhlIGNwX3R5cGUgYXR0cmlidXRlIHN0YXRlcyB0aGUgY29kaW5nIHN0YW5kYXJkIGFwcGx5aW5nIHRvIHRoZQorCWVsZW1lbnQuIFRoZSB2YWx1ZXMgYXNzaWduZWQgc28gZmFyIGFyZToKKwkJamlzMjA4IC0gSklTIFggMDIwOC0xOTk3IC0ga3V0ZW4gY29kaW5nIChubi1ubikKKwkJamlzMjEyIC0gSklTIFggMDIxMi0xOTkwIC0ga3V0ZW4gY29kaW5nIChubi1ubikKKwkJamlzMjEzIC0gSklTIFggMDIxMy0yMDAwIC0ga3V0ZW4gY29kaW5nIChwLW5uLW5uKQorCQl1Y3MgLSBVbmljb2RlIDQuMCAtIGhleCBjb2RpbmcgKDQgb3IgNSBoZXhhZGVjaW1hbCBkaWdpdHMpCisJKQorU0FYLmVsZW1lbnREZWNsKHJhZGljYWwsIDQsIC4uLikKK1NBWC5lbGVtZW50RGVjbChyYWRfdmFsdWUsIDMsIC4uLikKK1NBWC5jb21tZW50KCAKKwlUaGUgcmFkaWNhbCBudW1iZXIsIGluIHRoZSByYW5nZSAxIHRvIDIxNC4gVGhlIHBhcnRpY3VsYXIKKwljbGFzc2lmaWNhdGlvbiB0eXBlIGlzIHN0YXRlZCBpbiB0aGUgcmFkX3R5cGUgYXR0cmlidXRlLgorCSkKK1NBWC5hdHRyaWJ1dGVEZWNsKHJhZF92YWx1ZSwgcmFkX3R5cGUsIDEsIDIsIE5VTEwsIC4uLikKK1NBWC5jb21tZW50KCAKKwlUaGUgcmFkX3R5cGUgYXR0cmlidXRlIHN0YXRlcyB0aGUgdHlwZSBvZiByYWRpY2FsIGNsYXNzaWZpY2F0aW9uLgorCQljbGFzc2ljYWwgLSBhcyByZWNvcmRlZCBpbiB0aGUgS2FuZ1hpIFppZGlhbi4KKwkJbmVsc29uIC0gYXMgdXNlZCBpbiB0aGUgTmVsc29uICJNb2Rlcm4gSmFwYW5lc2UtRW5nbGlzaCAKKwkJQ2hhcmFjdGVyIERpY3Rpb25hcnkiIChpLmUuIHRoZSBDbGFzc2ljLCBub3QgdGhlIE5ldyBOZWxzb24pLgorCQlUaGlzIHdpbGwgb25seSBiZSB1c2VkIHdoZXJlIE5lbHNvbiByZWNsYXNzaWZpZWQgdGhlIGthbmppLgorCSkKK1NBWC5lbGVtZW50RGVjbChtaXNjLCA0LCAuLi4pCitTQVguZWxlbWVudERlY2woZ3JhZGUsIDMsIC4uLikKK1NBWC5jb21tZW50KCAKKwlUaGUgSm91eW91IEthbmppIGdyYWRlIGxldmVsLiAxIHRocm91Z2ggNiBpbmRpY2F0ZSB0aGUgZ3JhZGUgaW4gd2hpY2gKKwl0aGUga2FuamkgaXMgdGF1Z2h0IGluIEphcGFuZXNlIHNjaG9vbHMuIDggaW5kaWNhdGVzIGl0IGlzIG9uZSBvZiB0aGUKKwlyZW1haW5pbmcgSm91eW91IEthbmppIHRvIGJlIGxlYXJuZWQgaW4ganVuaW9yIGhpZ2ggc2Nob29sLCBhbmQgOSAKKwlpbmRpY2F0ZXMgaXQgaXMgYSBKaW5tZWl5b3UgKGZvciB1c2UgaW4gbmFtZXMpIGthbmppLiBbR10KKwkpCitTQVguZWxlbWVudERlY2woc3Ryb2tlX2NvdW50LCAzLCAuLi4pCitTQVguY29tbWVudCggCisJVGhlIHN0cm9rZSBjb3VudCBvZiB0aGUga2FuamksIGluY2x1ZGluZyB0aGUgcmFkaWNhbC4gSWYgbW9yZSB0aGFuIAorCW9uZSwgdGhlIGZpcnN0IGlzIGNvbnNpZGVyZWQgdGhlIGFjY2VwdGVkIGNvdW50LCB3aGlsZSBzdWJzZXF1ZW50IG9uZXMgCisJYXJlIGNvbW1vbiBtaXNjb3VudHMuIChTZWUgQXBwZW5kaXggRS4gb2YgdGhlIEtBTkpJRElDIGRvY3VtZW50YXRpb24KKwlmb3Igc29tZSBvZiB0aGUgcnVsZXMgYXBwbGllZCB3aGVuIGNvdW50aW5nIHN0cm9rZXMgaW4gc29tZSBvZiB0aGUgCisJcmFkaWNhbHMuKSBbU10KKwkpCitTQVguZWxlbWVudERlY2wodmFyaWFudCwgMywgLi4uKQorU0FYLmNvbW1lbnQoIAorCUEgY3Jvc3MtcmVmZXJlbmNlIGNvZGUgdG8gYW5vdGhlciBrYW5qaSwgdXN1YWxseSByZWdhcmRlZCBhcyBhIHZhcmlhbnQuCisJVGhlIHR5cGUgb2YgY3Jvc3MtcmVmZXJlbmNlIGlzIGdpdmVuIGluIHRoZSB2YXJfdHlwZSBhdHRyaWJ1dGUuCisJKQorU0FYLmF0dHJpYnV0ZURlY2wodmFyaWFudCwgdmFyX3R5cGUsIDEsIDIsIE5VTEwsIC4uLikKK1NBWC5jb21tZW50KCAKKwlUaGUgdmFyX3R5cGUgYXR0cmlidXRlIGluZGljYXRlcyB0aGUgdHlwZSBvZiB2YXJpYW50IGNvZGUuIFRoZSBjdXJyZW50CisJdmFsdWVzIGFyZTogCisJCWppczIwOCAtIGluIEpJUyBYIDAyMDggLSBrdXRlbiBjb2RpbmcKKwkJamlzMjEyIC0gaW4gSklTIFggMDIxMiAtIGt1dGVuIGNvZGluZworCQlqaXMyMTMgLSBpbiBKSVMgWCAwMjEzIC0ga3V0ZW4gY29kaW5nCisJCWRlcm9vIC0gRGUgUm9vIG51bWJlciAtIG51bWVyaWMKKwkJbmplY2QgLSBIYWxwZXJuIE5KRUNEIGluZGV4IG51bWJlciAtIG51bWVyaWMKKwkJc19oIC0gVGhlIEthbmppIERpY3Rpb25hcnkgKFNwYWhuICYgSGFkYW1pdHpreSkgLSBkZXNjcmlwdG9yCisJCW5lbHNvbiAtICJDbGFzc2ljIiBOZWxzb24gLSBudW1lcmljCisJCW9uZWlsbCAtIEphcGFuZXNlIE5hbWVzIChPJ05laWxsKSAtIG51bWVyaWMKKwkpCitTQVguZWxlbWVudERlY2woZnJlcSwgMywgLi4uKQorU0FYLmNvbW1lbnQoIAorCUEgZnJlcXVlbmN5LW9mLXVzZSByYW5raW5nLiBUaGUgMiw1MDAgbW9zdC11c2VkIGNoYXJhY3RlcnMgaGF2ZSBhIAorCXJhbmtpbmc7IHRob3NlIGNoYXJhY3RlcnMgdGhhdCBsYWNrIHRoaXMgZmllbGQgYXJlIG5vdCByYW5rZWQuIFRoZSAKKwlmcmVxdWVuY3kgaXMgYSBudW1iZXIgZnJvbSAxIHRvIDIsNTAwIHRoYXQgZXhwcmVzc2VzIHRoZSByZWxhdGl2ZSAKKwlmcmVxdWVuY3kgb2Ygb2NjdXJyZW5jZSBvZiBhIGNoYXJhY3RlciBpbiBtb2Rlcm4gSmFwYW5lc2UuIFRoaXMgaXMKKwliYXNlZCBvbiBhIHN1cnZleSBpbiBuZXdzcGFwZXJzLCBzbyBpdCBpcyBiaWFzc2VkIHRvd2FyZHMga2FuamkKKwl1c2VkIGluIG5ld3NwYXBlciBhcnRpY2xlcy4gVGhlIGRpc2NyaW1pbmF0aW9uIGJldHdlZW4gdGhlIGxlc3MKKwlmcmVxdWVudGx5IHVzZWQga2FuamkgaXMgbm90IHN0cm9uZy4KKwkpCitTQVguZWxlbWVudERlY2wocmFkX25hbWUsIDMsIC4uLikKK1NBWC5jb21tZW50KCAKKwlXaGVuIHRoZSBrYW5qaSBpcyBpdHNlbGYgYSByYWRpY2FsIGFuZCBoYXMgYSBuYW1lLCB0aGlzIGVsZW1lbnQKKwljb250YWlucyB0aGUgbmFtZSAoaW4gaGlyYWdhbmEuKSBbVDJdCisJKQorU0FYLmVsZW1lbnREZWNsKGRpY19udW1iZXIsIDQsIC4uLikKK1NBWC5jb21tZW50KCAKKwlUaGlzIGVsZW1lbnQgY29udGFpbnMgdGhlIGluZGV4IG51bWJlcnMgYW5kIHNpbWlsYXIgdW5zdHJ1Y3R1cmVkCisJaW5mb3JtYXRpb24gc3VjaCBhcyBwYWdlIG51bWJlcnMgaW4gYSBudW1iZXIgb2YgcHVibGlzaGVkIGRpY3Rpb25hcmllcywKKwlhbmQgaW5zdHJ1Y3Rpb25hbCBib29rcyBvbiBrYW5qaS4KKwkpCitTQVguZWxlbWVudERlY2woZGljX3JlZiwgMywgLi4uKQorU0FYLmNvbW1lbnQoIAorCUVhY2ggZGljX3JlZiBjb250YWlucyBhbiBpbmRleCBudW1iZXIuIFRoZSBwYXJ0aWN1bGFyIGRpY3Rpb25hcnksCisJZXRjLiBpcyBkZWZpbmVkIGJ5IHRoZSBkcl90eXBlIGF0dHJpYnV0ZS4KKwkpCitTQVguYXR0cmlidXRlRGVjbChkaWNfcmVmLCBkcl90eXBlLCAxLCAyLCBOVUxMLCAuLi4pCitTQVguY29tbWVudCggCisJVGhlIGRyX3R5cGUgZGVmaW5lcyB0aGUgZGljdGlvbmFyeSBvciByZWZlcmVuY2UgYm9vaywgZXRjLiB0byB3aGljaAorCWRpY19yZWYgZWxlbWVudCBhcHBsaWVzLiBUaGUgaW5pdGlhbCBhbGxvY2F0aW9uIGlzOgorCSAgbmVsc29uX2MgLSAiTW9kZXJuIFJlYWRlcidzIEphcGFuZXNlLUVuZ2xpc2ggQ2hhcmFjdGVyIERpY3Rpb25hcnkiLCAgCisJICAJZWRpdGVkIGJ5IEFuZHJldyBOZWxzb24gKG5vdyBwdWJsaXNoZWQgYXMgdGhlICJDbGFzc2ljIiAKKwkgIAlOZWxzb24pLgorCSAgbmVsc29uX24gLSAiVGhlIE5ldyBOZWxzb24gSmFwYW5lc2UtRW5nbGlzaCBDaGFyYWN0ZXIgRGljdGlvbmFyeSIsIAorCSAgCWVkaXRlZCBieSBKb2huIEhhaWcuCisJICBoYWxwZXJuX25qZWNkIC0gIk5ldyBKYXBhbmVzZS1FbmdsaXNoIENoYXJhY3RlciBEaWN0aW9uYXJ5IiwgCisJICAJZWRpdGVkIGJ5IEphY2sgSGFscGVybi4KKwkgIGhhbHBlcm5fa2tsZCAtICJLYW5qaSBMZWFybmVycyBEaWN0aW9uYXJ5IiAoS29kYW5zaGEpIGVkaXRlZCBieSAKKwkgIAlKYWNrIEhhbHBlcm4uCisJICBoZWlzaWcgLSAiUmVtZW1iZXJpbmcgVGhlICBLYW5qaSIgIGJ5ICBKYW1lcyBIZWlzaWcuCisJICBnYWtrZW4gLSAiQSAgTmV3IERpY3Rpb25hcnkgb2YgS2FuamkgVXNhZ2UiIChHYWtrZW4pCisJICBvbmVpbGxfbmFtZXMgLSAiSmFwYW5lc2UgTmFtZXMiLCBieSBQLkcuIE8nTmVpbGwuIAorCSAgb25laWxsX2trIC0gIkVzc2VudGlhbCBLYW5qaSIgYnkgUC5HLiBPJ05laWxsLgorCSAgbW9ybyAtICJEYWlrYW53YWppdGVuIiBjb21waWxlZCBieSBNb3JvaGFzaGkuIEZvciBzb21lIGthbmppIHR3bworCSAgCWFkZGl0aW9uYWwgYXR0cmlidXRlcyBhcmUgdXNlZDogbV92b2w6ICB0aGUgdm9sdW1lIG9mIHRoZQorCSAgCWRpY3Rpb25hcnkgaW4gd2hpY2ggdGhlIGthbmppIGlzIGZvdW5kLCBhbmQgbV9wYWdlOiB0aGUgcGFnZQorCSAgCW51bWJlciBpbiB0aGUgdm9sdW1lLgorCSAgaGVuc2hhbGwgLSAiQSBHdWlkZSBUbyBSZW1lbWJlcmluZyBKYXBhbmVzZSBDaGFyYWN0ZXJzIiBieQorCSAgCUtlbm5ldGggRy4gIEhlbnNoYWxsLgorCSAgc2hfa2sgLSAiS2FuamkgYW5kIEthbmEiIGJ5IFNwYWhuIGFuZCBIYWRhbWl0emt5LgorCSAgc2FrYWRlIC0gIkEgR3VpZGUgVG8gUmVhZGluZyBhbmQgV3JpdGluZyBKYXBhbmVzZSIgZWRpdGVkIGJ5CisJICAJRmxvcmVuY2UgU2FrYWRlLgorCSAgaGVuc2hhbGwzIC0gIkEgR3VpZGUgVG8gUmVhZGluZyBhbmQgV3JpdGluZyBKYXBhbmVzZSIgM3JkCisJCWVkaXRpb24sIGVkaXRlZCBieSBIZW5zaGFsbCwgU2VlbGV5IGFuZCBEZSBHcm9vdC4KKwkgIHR1dHRfY2FyZHMgLSBUdXR0bGUgS2FuamkgQ2FyZHMsIGNvbXBpbGVkIGJ5IEFsZXhhbmRlciBLYXNrLgorCSAgY3Jvd2xleSAtICJUaGUgS2FuamkgV2F5IHRvIEphcGFuZXNlIExhbmd1YWdlIFBvd2VyIiBieQorCSAgCURhbGUgQ3Jvd2xleS4KKwkgIGthbmppX2luX2NvbnRleHQgLSAiS2FuamkgaW4gQ29udGV4dCIgYnkgTmlzaGlndWNoaSBhbmQgS29uby4KKwkgIGJ1c3lfcGVvcGxlIC0gIkphcGFuZXNlIEZvciBCdXN5IFBlb3BsZSIgdm9scyBJLUlJSSwgcHVibGlzaGVkCisJCWJ5IHRoZSBBSkxULiBUaGUgY29kZXMgYXJlIHRoZSB2b2x1bWUuY2hhcHRlci4KKwkgIGtvZGFuc2hhX2NvbXBhY3QgLSB0aGUgIktvZGFuc2hhIENvbXBhY3QgS2FuamkgR3VpZGUiLgorCSkKK1NBWC5hdHRyaWJ1dGVEZWNsKGRpY19yZWYsIG1fdm9sLCAxLCAzLCBOVUxMLCAuLi4pCitTQVguY29tbWVudCggCisJU2VlIGFib3ZlIHVuZGVyICJtb3JvIi4KKwkpCitTQVguYXR0cmlidXRlRGVjbChkaWNfcmVmLCBtX3BhZ2UsIDEsIDMsIE5VTEwsIC4uLikKK1NBWC5jb21tZW50KCAKKwlTZWUgYWJvdmUgdW5kZXIgIm1vcm8iLgorCSkKK1NBWC5lbGVtZW50RGVjbChxdWVyeV9jb2RlLCA0LCAuLi4pCitTQVguY29tbWVudCggCisJVGhlc2UgY29kZXMgY29udGFpbiBpbmZvcm1hdGlvbiByZWxhdGluZyB0byB0aGUgZ2x5cGgsIGFuZCBjYW4gYmUgdXNlZAorCWZvciBmaW5kaW5nIGEgcmVxdWlyZWQga2FuamkuIFRoZSB0eXBlIG9mIGNvZGUgaXMgZGVmaW5lZCBieSB0aGUKKwlxY190eXBlIGF0dHJpYnV0ZS4KKwkpCitTQVguZWxlbWVudERlY2wocV9jb2RlLCAzLCAuLi4pCitTQVguY29tbWVudCgKKwlUaGUgcV9jb2RlIGNvbnRhaW5zIHRoZSBhY3R1YWwgcXVlcnktY29kZSB2YWx1ZSwgYWNjb3JkaW5nIHRvIHRoZQorCXFjX3R5cGUgYXR0cmlidXRlLgorCSkKK1NBWC5hdHRyaWJ1dGVEZWNsKHFfY29kZSwgcWNfdHlwZSwgMSwgMiwgTlVMTCwgLi4uKQorU0FYLmNvbW1lbnQoIAorCVRoZSBxX2NvZGUgYXR0cmlidXRlIGRlZmluZXMgdGhlIHR5cGUgb2YgcXVlcnkgY29kZS4gVGhlIGN1cnJlbnQgdmFsdWVzCisJYXJlOgorCSAgc2tpcCAtICBIYWxwZXJuJ3MgU0tJUCAoU3lzdGVtICBvZiAgS2FuamkgIEluZGV4aW5nICBieSAgUGF0dGVybnMpIAorCSAgCWNvZGUuIFRoZSAgZm9ybWF0IGlzIG4tbm4tbm4uICBTZWUgdGhlIEtBTkpJRElDICBkb2N1bWVudGF0aW9uIAorCSAgCWZvciAgYSBkZXNjcmlwdGlvbiBvZiB0aGUgY29kZSBhbmQgcmVzdHJpY3Rpb25zIG9uICB0aGUgCisJICAJY29tbWVyY2lhbCAgdXNlICBvZiB0aGlzIGRhdGEuIFtQXQorCisJICBzaF9kZXNjIC0gdGhlIGRlc2NyaXB0b3IgY29kZXMgZm9yIFRoZSBLYW5qaSBEaWN0aW9uYXJ5IChUdXR0bGUgCisJICAJMTk5NikgYnkgU3BhaG4gYW5kIEhhZGFtaXR6a3kuIFRoZXkgYXJlIGluIHRoZSBmb3JtIG54bm4ubiwgIAorCSAgCWUuZy4gIDNrMTEuMiwgd2hlcmUgdGhlICBrYW5qaSBoYXMgMyBzdHJva2VzIGluIHRoZSAKKwkgIAlpZGVudGlmeWluZyByYWRpY2FsLCBpdCBpcyByYWRpY2FsICJrIiBpbiB0aGUgU0ggCisJICAJY2xhc3NpZmljYXRpb24gc3lzdGVtLCB0aGVyZSBhcmUgMTEgb3RoZXIgc3Ryb2tlcywgYW5kIGl0IGlzIAorCSAgCXRoZSAybmQga2FuamkgaW4gdGhlIDNrMTEgc2VxdWVuY2UuIChJIGFtIHZlcnkgZ3JhdGVmdWwgdG8gCisJICAJTWFyayBTcGFobiBmb3IgcHJvdmlkaW5nIHRoZSBsaXN0IG9mIHRoZXNlIGRlc2NyaXB0b3IgY29kZXMgCisJICAJZm9yIHRoZSBrYW5qaSBpbiB0aGlzIGZpbGUuKSBbSV0KKwkgIGZvdXJfY29ybmVyIC0gdGhlICJGb3VyIENvcm5lciIgY29kZSBmb3IgdGhlIGthbmppLiBUaGlzIGlzIGEgY29kZSAKKwkgIAlpbnZlbnRlZCBieSBXYW5nIENoZW4gaW4gMTkyOC4gU2VlIHRoZSBLQU5KSURJQyBkb2N1bWVudGF0aW9uIAorCSAgCWZvciAgYW4gb3ZlcnZpZXcgb2YgIHRoZSBGb3VyIENvcm5lciBTeXN0ZW0uIFtRXQorCisJICBkZXJvbyAtIHRoZSBjb2RlcyBkZXZlbG9wZWQgYnkgdGhlIGxhdGUgRmF0aGVyIEpvc2VwaCBEZSBSb28sIGFuZCAKKwkgIAlwdWJsaXNoZWQgaW4gIGhpcyBib29rICIyMDAxIEthbmppIiAoQm9qaW5zaGEpLiBGciBEZSBSb28gCisJICAJZ2F2ZSBoaXMgcGVybWlzc2lvbiBmb3IgdGhlc2UgY29kZXMgdG8gYmUgaW5jbHVkZWQuIFtEUl0KKwkgIG1pc2NsYXNzIC0gYSBwb3NzaWJsZSBtaXNjbGFzc2lmaWNhdGlvbiBvZiB0aGUga2FuamkgYWNjb3JkaW5nCisJCXRvIG9uZSBvZiB0aGUgY29kZSB0eXBlcy4gKFNlZSB0aGUgIloiIGNvZGVzIGluIHRoZSBLQU5KSURJQworCQlkb2N1bWVudGF0aW9uIGZvciBtb3JlIGRldGFpbHMuKQorCSAgCisJKQorU0FYLmVsZW1lbnREZWNsKHJlYWRpbmdfbWVhbmluZywgNCwgLi4uKQorU0FYLmNvbW1lbnQoIAorCVRoZSByZWFkaW5ncyBmb3IgdGhlIGthbmppIGluIHNldmVyYWwgbGFuZ3VhZ2VzLCBhbmQgdGhlIG1lYW5pbmdzLCBhbHNvCisJaW4gc2V2ZXJhbCBsYW5ndWFnZXMuIFRoZSByZWFkaW5ncyBhbmQgbWVhbmluZ3MgYXJlIGdyb3VwZWQgdG8gZW5hYmxlCisJdGhlIGhhbmRsaW5nIG9mIHRoZSBzaXR1YXRpb24gd2hlcmUgdGhlIG1lYW5pbmcgaXMgZGlmZmVyZW50aWF0ZWQgYnkgCisJcmVhZGluZy4gW1QxXQorCSkKK1NBWC5lbGVtZW50RGVjbChuYW5vcmksIDMsIC4uLikKK1NBWC5jb21tZW50KCAKKwlKYXBhbmVzZSByZWFkaW5ncyB0aGF0IGFyZSBub3cgb25seSBhc3NvY2lhdGVkIHdpdGggbmFtZXMuCisJKQorU0FYLmVsZW1lbnREZWNsKHJtZ3JvdXAsIDQsIC4uLikKK1NBWC5lbGVtZW50RGVjbChyZWFkaW5nLCAzLCAuLi4pCitTQVguY29tbWVudCggCisJVGhlIHJlYWRpbmcgZWxlbWVudCBjb250YWlucyB0aGUgcmVhZGluZyBvciBwcm9udW5jaWF0aW9uCisJb2YgdGhlIGthbmppLgorCSkKK1NBWC5hdHRyaWJ1dGVEZWNsKHJlYWRpbmcsIHJfdHlwZSwgMSwgMiwgTlVMTCwgLi4uKQorU0FYLmNvbW1lbnQoIAorCVRoZSByX3R5cGUgYXR0cmlidXRlIGRlZmluZXMgdGhlIHR5cGUgb2YgcmVhZGluZyBpbiB0aGUgcmVhZGluZworCWVsZW1lbnQuIFRoZSBjdXJyZW50IHZhbHVlcyBhcmU6CisJICBwaW55aW4gLSB0aGUgbW9kZXJuIFBpbllpbiByb21hbml6YXRpb24gb2YgdGhlIENoaW5lc2UgcmVhZGluZyAKKwkgIAlvZiB0aGUga2FuamkuIFRoZSB0b25lcyBhcmUgcmVwcmVzZW50ZWQgYnkgYSBjb25jbHVkaW5nIAorCSAgCWRpZ2l0LiBbWV0KKwkgIGtvcmVhbl9yIC0gdGhlIHJvbWFuaXplZCBmb3JtIG9mIHRoZSBLb3JlYW4gcmVhZGluZyhzKSBvZiB0aGUgCisJICAJa2FuamkuICBUaGUgcmVhZGluZ3MgYXJlIGluIHRoZSAoUmVwdWJsaWMgb2YgS29yZWEpIE1pbmlzdHJ5IAorCSAgCW9mIEVkdWNhdGlvbiBzdHlsZSBvZiByb21hbml6YXRpb24uIFtXXQorCSAga29yZWFuX2ggLSB0aGUgS29yZWFuIHJlYWRpbmcocykgb2YgdGhlIGthbmppIGluIGhhbmd1bC4KKwkgIGphX29uIC0gdGhlICJvbiIgSmFwYW5lc2UgcmVhZGluZyBvZiB0aGUga2FuamksIGluIGthdGFrYW5hLiBBCisJICAJc2Vjb25kIGF0dHJpYnV0ZSByX3N0YXR1cywgaWYgcHJlc2VudCwgd2lsbCBpbmRpY2F0ZSB3aXRoCisJICAJYSB2YWx1ZSBvZiAiankiIHdoZXRoZXIgdGhlIHJlYWRpbmcgaXMgYXBwcm92ZWQgZm9yIGEKKwkgIAkiSm91eW91IGthbmppIi4KKwkgIGphX2t1biAtIHRoZSAia3VuIiBKYXBhbmVzZSByZWFkaW5nIG9mIHRoZSBrYW5qaSwgaW4gaGlyYWdhbmEuIAorCSAgCVdoZXJlIHJlbGV2YW50IHRoZSBva3VyaWdhbmEgaXMgYWxzbyBpbmNsdWRlZCBzZXBhcmF0ZWQgYnkgYSAKKwkgIAkiLiIuIFJlYWRpbmdzIGFzc29jaWF0ZWQgd2l0aCBwcmVmaXhlcyBhbmQgc3VmZml4ZXMgYXJlIAorCSAgCW1hcmtlZCB3aXRoIGEgIi0iLiBBIHNlY29uZCBhdHRyaWJ1dGUgcl9zdGF0dXMsIGlmIHByZXNlbnQsIAorCSAgCXdpbGwgaW5kaWNhdGUgd2l0aCBhIHZhbHVlIG9mICJqeSIgd2hldGhlciB0aGUgcmVhZGluZyBpcyAKKwkgIAlhcHByb3ZlZCBmb3IgYSAiSm91eW91IGthbmppIi4KKwkpCitTQVguYXR0cmlidXRlRGVjbChyZWFkaW5nLCByX3N0YXR1cywgMSwgMywgTlVMTCwgLi4uKQorU0FYLmNvbW1lbnQoIAorCVNlZSB1bmRlciBqYV9vbiBhbmQgamFfa3VuIGFib3ZlLgorCSkKK1NBWC5lbGVtZW50RGVjbChtZWFuaW5nLCAzLCAuLi4pCitTQVguY29tbWVudCggCisJVGhlIG1lYW5pbmcgYXNzb2NpYXRlZCB3aXRoIHRoZSBrYW5qaS4KKwkpCitTQVguYXR0cmlidXRlRGVjbChtZWFuaW5nLCBtX2xhbmcsIDEsIDMsIE5VTEwsIC4uLikKK1NBWC5jb21tZW50KCAKKwlUaGUgbV9sYW5nIGF0dHJpYnV0ZSBkZWZpbmVzIHRoZSB0YXJnZXQgbGFuZ3VhZ2Ugb2YgdGhlIG1lYW5pbmcuIEl0IAorCXdpbGwgYmUgY29kZWQgdXNpbmcgdGhlIHR3by1sZXR0ZXIgbGFuZ3VhZ2UgY29kZSBmcm9tIHRoZSBJU08gNjM5IAorCXN0YW5kYXJkLiBXaGVuIGFic2VudCwgdGhlIHZhbHVlICJlbiIgKGkuZS4gRW5nbGlzaCkgaXMgaW1wbGllZC4gW3t9XQorCSkKK1NBWC5leHRlcm5hbFN1YnNldChrYW5qaWRpYzIsICwgKQorU0FYLnN0YXJ0RWxlbWVudE5zKGthbmppZGljMiwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmVuZEVsZW1lbnROcyhrYW5qaWRpYzIsIE5VTEwsIE5VTEwpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvaXNvbGF0MSBiL2xpYnhtbDIvcmVzdWx0L2lzb2xhdDEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWU1YTA1OQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2lzb2xhdDEKQEAgLTAsMCArMSwyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJJU08tODg1OS0xIj8+Cis8dHLocz5s4DwvdHLocz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2lzb2xhdDEucmRlIGIvbGlieG1sMi9yZXN1bHQvaXNvbGF0MS5yZGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTI4OWIyZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2lzb2xhdDEucmRlCkBAIC0wLDAgKzEsMyBAQAorMCAxIHRyw6hzIDAgMAorMSAzICN0ZXh0IDAgMSBsw6AKKzAgMTUgdHLDqHMgMCAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9pc29sYXQxLnJkciBiL2xpYnhtbDIvcmVzdWx0L2lzb2xhdDEucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUyODliMmYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9pc29sYXQxLnJkcgpAQCAtMCwwICsxLDMgQEAKKzAgMSB0csOocyAwIDAKKzEgMyAjdGV4dCAwIDEgbMOgCiswIDE1IHRyw6hzIDAgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvaXNvbGF0MS5zYXggYi9saWJ4bWwyL3Jlc3VsdC9pc29sYXQxLnNheApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZjJhNmVlCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvaXNvbGF0MS5zYXgKQEAgLTAsMCArMSw3IEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5zdGFydEVsZW1lbnQodHLDqHMpCitTQVguY2hhcmFjdGVycyhsLCAxKQorU0FYLmNoYXJhY3RlcnMow6AsIDIpCitTQVguZW5kRWxlbWVudCh0csOocykKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9pc29sYXQxLnNheDIgYi9saWJ4bWwyL3Jlc3VsdC9pc29sYXQxLnNheDIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjk3OTIwYQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2lzb2xhdDEuc2F4MgpAQCAtMCwwICsxLDcgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLnN0YXJ0RWxlbWVudE5zKHRyw6hzLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMobCwgMSkKK1NBWC5jaGFyYWN0ZXJzKMOgLCAyKQorU0FYLmVuZEVsZW1lbnROcyh0csOocywgTlVMTCwgTlVMTCkKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9pc29sYXQyIGIvbGlieG1sMi9yZXN1bHQvaXNvbGF0MgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YzI5MGI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvaXNvbGF0MgpAQCAtMCwwICsxLDEwNyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/PgorPHRzdD4KKworICAgICAgIFRoZSBmb2xsb3dpbmcgdGFibGUgZGlzcGxheXMgdGhlIGNoYXJhY3RlcnMgIGluICBJU08gIDg4NTkKKyAgICAgICBMYXRpbi0xLCAgd2hpY2ggYXJlIHByaW50YWJsZSBhbmQgdW5saXN0ZWQgaW4gdGhlIGFzY2lpCisgICAgICAgbWFudWFsIHBhZ2UuCisKKyAgICAgICBPY3QgICBEZWMgICBIZXggICBDaGFyICAgRGVzY3JpcHRpb24KKyAgICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgICAgIDI0MCAgIDE2MCAgIEEwICAgICAgICAgICBOTy1CUkVBSyBTUEFDRQorICAgICAgIDI0MSAgIDE2MSAgIEExICAgICChICAgICBJTlZFUlRFRCBFWENMQU1BVElPTiBNQVJLCisgICAgICAgMjQyICAgMTYyICAgQTIgICAgIKIgICAgIENFTlQgU0lHTgorICAgICAgIDI0MyAgIDE2MyAgIEEzICAgICCjICAgICBQT1VORCBTSUdOCisgICAgICAgMjQ0ICAgMTY0ICAgQTQgICAgIKQgICAgIENVUlJFTkNZIFNJR04KKyAgICAgICAyNDUgICAxNjUgICBBNSAgICAgpSAgICAgWUVOIFNJR04KKyAgICAgICAyNDYgICAxNjYgICBBNiAgICAgpiAgICAgQlJPS0VOIEJBUgorICAgICAgIDI0NyAgIDE2NyAgIEE3ICAgICCnICAgICBTRUNUSU9OIFNJR04KKyAgICAgICAyNTAgICAxNjggICBBOCAgICAgqCAgICAgRElBRVJFU0lTCisgICAgICAgMjUxICAgMTY5ICAgQTkgICAgIKkgICAgIENPUFlSSUdIVCBTSUdOCisgICAgICAgMjUyICAgMTcwICAgQUEgICAgIKogICAgIEZFTUlOSU5FIE9SRElOQUwgSU5ESUNBVE9SCisgICAgICAgMjUzICAgMTcxICAgQUIgICAgIKsgICAgIExFRlQtUE9JTlRJTkcgRE9VQkxFIEFOR0xFIFFVT1RBVElPTiBNQVJLCisgICAgICAgMjU0ICAgMTcyICAgQUMgICAgIKwgICAgIE5PVCBTSUdOCisgICAgICAgMjU1ICAgMTczICAgQUQgICAgIK0gICAgIFNPRlQgSFlQSEVOCisgICAgICAgMjU2ICAgMTc0ICAgQUUgICAgIK4gICAgIFJFR0lTVEVSRUQgU0lHTgorICAgICAgIDI1NyAgIDE3NSAgIEFGICAgICCvICAgICBNQUNST04KKyAgICAgICAyNjAgICAxNzYgICBCMCAgICAgsCAgICAgREVHUkVFIFNJR04KKyAgICAgICAyNjEgICAxNzcgICBCMSAgICAgsSAgICAgUExVUy1NSU5VUyBTSUdOCisgICAgICAgMjYyICAgMTc4ICAgQjIgICAgILIgICAgIFNVUEVSU0NSSVBUIFRXTworICAgICAgIDI2MyAgIDE3OSAgIEIzICAgICCzICAgICBTVVBFUlNDUklQVCBUSFJFRQorICAgICAgIDI2NCAgIDE4MCAgIEI0ICAgICC0ICAgICBBQ1VURSBBQ0NFTlQKKyAgICAgICAyNjUgICAxODEgICBCNSAgICAgtSAgICAgTUlDUk8gU0lHTgorICAgICAgIDI2NiAgIDE4MiAgIEI2ICAgICC2ICAgICBQSUxDUk9XIFNJR04KKyAgICAgICAyNjcgICAxODMgICBCNyAgICAgtyAgICAgTUlERExFIERPVAorICAgICAgIDI3MCAgIDE4NCAgIEI4ICAgICC4ICAgICBDRURJTExBCisgICAgICAgMjcxICAgMTg1ICAgQjkgICAgILkgICAgIFNVUEVSU0NSSVBUIE9ORQorICAgICAgIDI3MiAgIDE4NiAgIEJBICAgICC6ICAgICBNQVNDVUxJTkUgT1JESU5BTCBJTkRJQ0FUT1IKKyAgICAgICAyNzMgICAxODcgICBCQiAgICAguyAgICAgUklHSFQtUE9JTlRJTkcgRE9VQkxFIEFOR0xFIFFVT1RBVElPTiBNQVJLCisgICAgICAgMjc0ICAgMTg4ICAgQkMgICAgILwgICAgIFZVTEdBUiBGUkFDVElPTiBPTkUgUVVBUlRFUgorICAgICAgIDI3NSAgIDE4OSAgIEJEICAgICC9ICAgICBWVUxHQVIgRlJBQ1RJT04gT05FIEhBTEYKKyAgICAgICAyNzYgICAxOTAgICBCRSAgICAgviAgICAgVlVMR0FSIEZSQUNUSU9OIFRIUkVFIFFVQVJURVJTCisgICAgICAgMjc3ICAgMTkxICAgQkYgICAgIL8gICAgIElOVkVSVEVEIFFVRVNUSU9OIE1BUksKKyAgICAgICAzMDAgICAxOTIgICBDMCAgICAgwCAgICAgTEFUSU4gQ0FQSVRBTCBMRVRURVIgQSBXSVRIIEdSQVZFCisgICAgICAgMzAxICAgMTkzICAgQzEgICAgIMEgICAgIExBVElOIENBUElUQUwgTEVUVEVSIEEgV0lUSCBBQ1VURQorICAgICAgIDMwMiAgIDE5NCAgIEMyICAgICDCICAgICBMQVRJTiBDQVBJVEFMIExFVFRFUiBBIFdJVEggQ0lSQ1VNRkxFWAorICAgICAgIDMwMyAgIDE5NSAgIEMzICAgICDDICAgICBMQVRJTiBDQVBJVEFMIExFVFRFUiBBIFdJVEggVElMREUKKyAgICAgICAzMDQgICAxOTYgICBDNCAgICAgxCAgICAgTEFUSU4gQ0FQSVRBTCBMRVRURVIgQSBXSVRIIERJQUVSRVNJUworICAgICAgIDMwNSAgIDE5NyAgIEM1ICAgICDFICAgICBMQVRJTiBDQVBJVEFMIExFVFRFUiBBIFdJVEggUklORyBBQk9WRQorICAgICAgIDMwNiAgIDE5OCAgIEM2ICAgICDGICAgICBMQVRJTiBDQVBJVEFMIExFVFRFUiBBRQorICAgICAgIDMwNyAgIDE5OSAgIEM3ICAgICDHICAgICBMQVRJTiBDQVBJVEFMIExFVFRFUiBDIFdJVEggQ0VESUxMQQorICAgICAgIDMxMCAgIDIwMCAgIEM4ICAgICDIICAgICBMQVRJTiBDQVBJVEFMIExFVFRFUiBFIFdJVEggR1JBVkUKKyAgICAgICAzMTEgICAyMDEgICBDOSAgICAgySAgICAgTEFUSU4gQ0FQSVRBTCBMRVRURVIgRSBXSVRIIEFDVVRFCisgICAgICAgMzEyICAgMjAyICAgQ0EgICAgIMogICAgIExBVElOIENBUElUQUwgTEVUVEVSIEUgV0lUSCBDSVJDVU1GTEVYCisgICAgICAgMzEzICAgMjAzICAgQ0IgICAgIMsgICAgIExBVElOIENBUElUQUwgTEVUVEVSIEUgV0lUSCBESUFFUkVTSVMKKyAgICAgICAzMTQgICAyMDQgICBDQyAgICAgzCAgICAgTEFUSU4gQ0FQSVRBTCBMRVRURVIgSSBXSVRIIEdSQVZFCisgICAgICAgMzE1ICAgMjA1ICAgQ0QgICAgIM0gICAgIExBVElOIENBUElUQUwgTEVUVEVSIEkgV0lUSCBBQ1VURQorICAgICAgIDMxNiAgIDIwNiAgIENFICAgICDOICAgICBMQVRJTiBDQVBJVEFMIExFVFRFUiBJIFdJVEggQ0lSQ1VNRkxFWAorICAgICAgIDMxNyAgIDIwNyAgIENGICAgICDPICAgICBMQVRJTiBDQVBJVEFMIExFVFRFUiBJIFdJVEggRElBRVJFU0lTCisgICAgICAgMzIwICAgMjA4ICAgRDAgICAgINAgICAgIExBVElOIENBUElUQUwgTEVUVEVSIEVUSAorICAgICAgIDMyMSAgIDIwOSAgIEQxICAgICDRICAgICBMQVRJTiBDQVBJVEFMIExFVFRFUiBOIFdJVEggVElMREUKKyAgICAgICAzMjIgICAyMTAgICBEMiAgICAg0iAgICAgTEFUSU4gQ0FQSVRBTCBMRVRURVIgTyBXSVRIIEdSQVZFCisgICAgICAgMzIzICAgMjExICAgRDMgICAgINMgICAgIExBVElOIENBUElUQUwgTEVUVEVSIE8gV0lUSCBBQ1VURQorICAgICAgIDMyNCAgIDIxMiAgIEQ0ICAgICDUICAgICBMQVRJTiBDQVBJVEFMIExFVFRFUiBPIFdJVEggQ0lSQ1VNRkxFWAorICAgICAgIDMyNSAgIDIxMyAgIEQ1ICAgICDVICAgICBMQVRJTiBDQVBJVEFMIExFVFRFUiBPIFdJVEggVElMREUKKyAgICAgICAzMjYgICAyMTQgICBENiAgICAg1iAgICAgTEFUSU4gQ0FQSVRBTCBMRVRURVIgTyBXSVRIIERJQUVSRVNJUworICAgICAgIDMyNyAgIDIxNSAgIEQ3ICAgICDXICAgICBNVUxUSVBMSUNBVElPTiBTSUdOCisgICAgICAgMzMwICAgMjE2ICAgRDggICAgINggICAgIExBVElOIENBUElUQUwgTEVUVEVSIE8gV0lUSCBTVFJPS0UKKyAgICAgICAzMzEgICAyMTcgICBEOSAgICAg2SAgICAgTEFUSU4gQ0FQSVRBTCBMRVRURVIgVSBXSVRIIEdSQVZFCisgICAgICAgMzMyICAgMjE4ICAgREEgICAgINogICAgIExBVElOIENBUElUQUwgTEVUVEVSIFUgV0lUSCBBQ1VURQorICAgICAgIDMzMyAgIDIxOSAgIERCICAgICDbICAgICBMQVRJTiBDQVBJVEFMIExFVFRFUiBVIFdJVEggQ0lSQ1VNRkxFWAorICAgICAgIDMzNCAgIDIyMCAgIERDICAgICDcICAgICBMQVRJTiBDQVBJVEFMIExFVFRFUiBVIFdJVEggRElBRVJFU0lTCisgICAgICAgMzM1ICAgMjIxICAgREQgICAgIN0gICAgIExBVElOIENBUElUQUwgTEVUVEVSIFkgV0lUSCBBQ1VURQorICAgICAgIDMzNiAgIDIyMiAgIERFICAgICDeICAgICBMQVRJTiBDQVBJVEFMIExFVFRFUiBUSE9STgorICAgICAgIDMzNyAgIDIyMyAgIERGICAgICDfICAgICBMQVRJTiBTTUFMTCBMRVRURVIgU0hBUlAgUworICAgICAgIDM0MCAgIDIyNCAgIEUwICAgICDgICAgICBMQVRJTiBTTUFMTCBMRVRURVIgQSBXSVRIIEdSQVZFCisgICAgICAgMzQxICAgMjI1ICAgRTEgICAgIOEgICAgIExBVElOIFNNQUxMIExFVFRFUiBBIFdJVEggQUNVVEUKKyAgICAgICAzNDIgICAyMjYgICBFMiAgICAg4iAgICAgTEFUSU4gU01BTEwgTEVUVEVSIEEgV0lUSCBDSVJDVU1GTEVYCisgICAgICAgMzQzICAgMjI3ICAgRTMgICAgIOMgICAgIExBVElOIFNNQUxMIExFVFRFUiBBIFdJVEggVElMREUKKyAgICAgICAzNDQgICAyMjggICBFNCAgICAg5CAgICAgTEFUSU4gU01BTEwgTEVUVEVSIEEgV0lUSCBESUFFUkVTSVMKKyAgICAgICAzNDUgICAyMjkgICBFNSAgICAg5SAgICAgTEFUSU4gU01BTEwgTEVUVEVSIEEgV0lUSCBSSU5HIEFCT1ZFCisgICAgICAgMzQ2ICAgMjMwICAgRTYgICAgIOYgICAgIExBVElOIFNNQUxMIExFVFRFUiBBRQorICAgICAgIDM0NyAgIDIzMSAgIEU3ICAgICDnICAgICBMQVRJTiBTTUFMTCBMRVRURVIgQyBXSVRIIENFRElMTEEKKyAgICAgICAzNTAgICAyMzIgICBFOCAgICAg6CAgICAgTEFUSU4gU01BTEwgTEVUVEVSIEUgV0lUSCBHUkFWRQorICAgICAgIDM1MSAgIDIzMyAgIEU5ICAgICDpICAgICBMQVRJTiBTTUFMTCBMRVRURVIgRSBXSVRIIEFDVVRFCisgICAgICAgMzUyICAgMjM0ICAgRUEgICAgIOogICAgIExBVElOIFNNQUxMIExFVFRFUiBFIFdJVEggQ0lSQ1VNRkxFWAorICAgICAgIDM1MyAgIDIzNSAgIEVCICAgICDrICAgICBMQVRJTiBTTUFMTCBMRVRURVIgRSBXSVRIIERJQUVSRVNJUworICAgICAgIDM1NCAgIDIzNiAgIEVDICAgICDsICAgICBMQVRJTiBTTUFMTCBMRVRURVIgSSBXSVRIIEdSQVZFCisgICAgICAgMzU1ICAgMjM3ICAgRUQgICAgIO0gICAgIExBVElOIFNNQUxMIExFVFRFUiBJIFdJVEggQUNVVEUKKyAgICAgICAzNTYgICAyMzggICBFRSAgICAg7iAgICAgTEFUSU4gU01BTEwgTEVUVEVSIEkgV0lUSCBDSVJDVU1GTEVYCisgICAgICAgMzU3ICAgMjM5ICAgRUYgICAgIO8gICAgIExBVElOIFNNQUxMIExFVFRFUiBJIFdJVEggRElBRVJFU0lTCisgICAgICAgMzYwICAgMjQwICAgRjAgICAgIPAgICAgIExBVElOIFNNQUxMIExFVFRFUiBFVEgKKyAgICAgICAzNjEgICAyNDEgICBGMSAgICAg8SAgICAgTEFUSU4gU01BTEwgTEVUVEVSIE4gV0lUSCBUSUxERQorICAgICAgIDM2MiAgIDI0MiAgIEYyICAgICDyICAgICBMQVRJTiBTTUFMTCBMRVRURVIgTyBXSVRIIEdSQVZFCisgICAgICAgMzYzICAgMjQzICAgRjMgICAgIPMgICAgIExBVElOIFNNQUxMIExFVFRFUiBPIFdJVEggQUNVVEUKKyAgICAgICAzNjQgICAyNDQgICBGNCAgICAg9CAgICAgTEFUSU4gU01BTEwgTEVUVEVSIE8gV0lUSCBDSVJDVU1GTEVYCisgICAgICAgMzY1ICAgMjQ1ICAgRjUgICAgIPUgICAgIExBVElOIFNNQUxMIExFVFRFUiBPIFdJVEggVElMREUKKyAgICAgICAzNjYgICAyNDYgICBGNiAgICAg9iAgICAgTEFUSU4gU01BTEwgTEVUVEVSIE8gV0lUSCBESUFFUkVTSVMKKyAgICAgICAzNjcgICAyNDcgICBGNyAgICAg9yAgICAgRElWSVNJT04gU0lHTgorICAgICAgIDM3MCAgIDI0OCAgIEY4ICAgICD4ICAgICBMQVRJTiBTTUFMTCBMRVRURVIgTyBXSVRIIFNUUk9LRQorICAgICAgIDM3MSAgIDI0OSAgIEY5ICAgICD5ICAgICBMQVRJTiBTTUFMTCBMRVRURVIgVSBXSVRIIEdSQVZFCisgICAgICAgMzcyICAgMjUwICAgRkEgICAgIPogICAgIExBVElOIFNNQUxMIExFVFRFUiBVIFdJVEggQUNVVEUKKyAgICAgICAzNzMgICAyNTEgICBGQiAgICAg+yAgICAgTEFUSU4gU01BTEwgTEVUVEVSIFUgV0lUSCBDSVJDVU1GTEVYCisgICAgICAgMzc0ICAgMjUyICAgRkMgICAgIPwgICAgIExBVElOIFNNQUxMIExFVFRFUiBVIFdJVEggRElBRVJFU0lTCisgICAgICAgMzc1ICAgMjUzICAgRkQgICAgIP0gICAgIExBVElOIFNNQUxMIExFVFRFUiBZIFdJVEggQUNVVEUKKyAgICAgICAzNzYgICAyNTQgICBGRSAgICAg/iAgICAgTEFUSU4gU01BTEwgTEVUVEVSIFRIT1JOCisgICAgICAgMzc3ICAgMjU1ICAgRkYgICAgIP8gICAgIExBVElOIFNNQUxMIExFVFRFUiBZIFdJVEggRElBRVJFU0lTCisKKzwvdHN0PgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvaXNvbGF0Mi5yZGUgYi9saWJ4bWwyL3Jlc3VsdC9pc29sYXQyLnJkZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MjRjYjNlCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvaXNvbGF0Mi5yZGUKQEAgLTAsMCArMSwxMDggQEAKKzAgMSB0c3QgMCAwCisxIDMgI3RleHQgMCAxIAorCisgICAgICAgVGhlIGZvbGxvd2luZyB0YWJsZSBkaXNwbGF5cyB0aGUgY2hhcmFjdGVycyAgaW4gIElTTyAgODg1OQorICAgICAgIExhdGluLTEsICB3aGljaCBhcmUgcHJpbnRhYmxlIGFuZCB1bmxpc3RlZCBpbiB0aGUgYXNjaWkKKyAgICAgICBtYW51YWwgcGFnZS4KKworICAgICAgIE9jdCAgIERlYyAgIEhleCAgIENoYXIgICBEZXNjcmlwdGlvbgorICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAgICAgMjQwICAgMTYwICAgQTAgICAgICAgICAgIE5PLUJSRUFLIFNQQUNFCisgICAgICAgMjQxICAgMTYxICAgQTEgICAgIMKhICAgICBJTlZFUlRFRCBFWENMQU1BVElPTiBNQVJLCisgICAgICAgMjQyICAgMTYyICAgQTIgICAgIMKiICAgICBDRU5UIFNJR04KKyAgICAgICAyNDMgICAxNjMgICBBMyAgICAgwqMgICAgIFBPVU5EIFNJR04KKyAgICAgICAyNDQgICAxNjQgICBBNCAgICAgwqQgICAgIENVUlJFTkNZIFNJR04KKyAgICAgICAyNDUgICAxNjUgICBBNSAgICAgwqUgICAgIFlFTiBTSUdOCisgICAgICAgMjQ2ICAgMTY2ICAgQTYgICAgIMKmICAgICBCUk9LRU4gQkFSCisgICAgICAgMjQ3ICAgMTY3ICAgQTcgICAgIMKnICAgICBTRUNUSU9OIFNJR04KKyAgICAgICAyNTAgICAxNjggICBBOCAgICAgwqggICAgIERJQUVSRVNJUworICAgICAgIDI1MSAgIDE2OSAgIEE5ICAgICDCqSAgICAgQ09QWVJJR0hUIFNJR04KKyAgICAgICAyNTIgICAxNzAgICBBQSAgICAgwqogICAgIEZFTUlOSU5FIE9SRElOQUwgSU5ESUNBVE9SCisgICAgICAgMjUzICAgMTcxICAgQUIgICAgIMKrICAgICBMRUZULVBPSU5USU5HIERPVUJMRSBBTkdMRSBRVU9UQVRJT04gTUFSSworICAgICAgIDI1NCAgIDE3MiAgIEFDICAgICDCrCAgICAgTk9UIFNJR04KKyAgICAgICAyNTUgICAxNzMgICBBRCAgICAgwq0gICAgIFNPRlQgSFlQSEVOCisgICAgICAgMjU2ICAgMTc0ICAgQUUgICAgIMKuICAgICBSRUdJU1RFUkVEIFNJR04KKyAgICAgICAyNTcgICAxNzUgICBBRiAgICAgwq8gICAgIE1BQ1JPTgorICAgICAgIDI2MCAgIDE3NiAgIEIwICAgICDCsCAgICAgREVHUkVFIFNJR04KKyAgICAgICAyNjEgICAxNzcgICBCMSAgICAgwrEgICAgIFBMVVMtTUlOVVMgU0lHTgorICAgICAgIDI2MiAgIDE3OCAgIEIyICAgICDCsiAgICAgU1VQRVJTQ1JJUFQgVFdPCisgICAgICAgMjYzICAgMTc5ICAgQjMgICAgIMKzICAgICBTVVBFUlNDUklQVCBUSFJFRQorICAgICAgIDI2NCAgIDE4MCAgIEI0ICAgICDCtCAgICAgQUNVVEUgQUNDRU5UCisgICAgICAgMjY1ICAgMTgxICAgQjUgICAgIMK1ICAgICBNSUNSTyBTSUdOCisgICAgICAgMjY2ICAgMTgyICAgQjYgICAgIMK2ICAgICBQSUxDUk9XIFNJR04KKyAgICAgICAyNjcgICAxODMgICBCNyAgICAgwrcgICAgIE1JRERMRSBET1QKKyAgICAgICAyNzAgICAxODQgICBCOCAgICAgwrggICAgIENFRElMTEEKKyAgICAgICAyNzEgICAxODUgICBCOSAgICAgwrkgICAgIFNVUEVSU0NSSVBUIE9ORQorICAgICAgIDI3MiAgIDE4NiAgIEJBICAgICDCuiAgICAgTUFTQ1VMSU5FIE9SRElOQUwgSU5ESUNBVE9SCisgICAgICAgMjczICAgMTg3ICAgQkIgICAgIMK7ICAgICBSSUdIVC1QT0lOVElORyBET1VCTEUgQU5HTEUgUVVPVEFUSU9OIE1BUksKKyAgICAgICAyNzQgICAxODggICBCQyAgICAgwrwgICAgIFZVTEdBUiBGUkFDVElPTiBPTkUgUVVBUlRFUgorICAgICAgIDI3NSAgIDE4OSAgIEJEICAgICDCvSAgICAgVlVMR0FSIEZSQUNUSU9OIE9ORSBIQUxGCisgICAgICAgMjc2ICAgMTkwICAgQkUgICAgIMK+ICAgICBWVUxHQVIgRlJBQ1RJT04gVEhSRUUgUVVBUlRFUlMKKyAgICAgICAyNzcgICAxOTEgICBCRiAgICAgwr8gICAgIElOVkVSVEVEIFFVRVNUSU9OIE1BUksKKyAgICAgICAzMDAgICAxOTIgICBDMCAgICAgw4AgICAgIExBVElOIENBUElUQUwgTEVUVEVSIEEgV0lUSCBHUkFWRQorICAgICAgIDMwMSAgIDE5MyAgIEMxICAgICDDgSAgICAgTEFUSU4gQ0FQSVRBTCBMRVRURVIgQSBXSVRIIEFDVVRFCisgICAgICAgMzAyICAgMTk0ICAgQzIgICAgIMOCICAgICBMQVRJTiBDQVBJVEFMIExFVFRFUiBBIFdJVEggQ0lSQ1VNRkxFWAorICAgICAgIDMwMyAgIDE5NSAgIEMzICAgICDDgyAgICAgTEFUSU4gQ0FQSVRBTCBMRVRURVIgQSBXSVRIIFRJTERFCisgICAgICAgMzA0ICAgMTk2ICAgQzQgICAgIMOEICAgICBMQVRJTiBDQVBJVEFMIExFVFRFUiBBIFdJVEggRElBRVJFU0lTCisgICAgICAgMzA1ICAgMTk3ICAgQzUgICAgIMOFICAgICBMQVRJTiBDQVBJVEFMIExFVFRFUiBBIFdJVEggUklORyBBQk9WRQorICAgICAgIDMwNiAgIDE5OCAgIEM2ICAgICDDhiAgICAgTEFUSU4gQ0FQSVRBTCBMRVRURVIgQUUKKyAgICAgICAzMDcgICAxOTkgICBDNyAgICAgw4cgICAgIExBVElOIENBUElUQUwgTEVUVEVSIEMgV0lUSCBDRURJTExBCisgICAgICAgMzEwICAgMjAwICAgQzggICAgIMOIICAgICBMQVRJTiBDQVBJVEFMIExFVFRFUiBFIFdJVEggR1JBVkUKKyAgICAgICAzMTEgICAyMDEgICBDOSAgICAgw4kgICAgIExBVElOIENBUElUQUwgTEVUVEVSIEUgV0lUSCBBQ1VURQorICAgICAgIDMxMiAgIDIwMiAgIENBICAgICDDiiAgICAgTEFUSU4gQ0FQSVRBTCBMRVRURVIgRSBXSVRIIENJUkNVTUZMRVgKKyAgICAgICAzMTMgICAyMDMgICBDQiAgICAgw4sgICAgIExBVElOIENBUElUQUwgTEVUVEVSIEUgV0lUSCBESUFFUkVTSVMKKyAgICAgICAzMTQgICAyMDQgICBDQyAgICAgw4wgICAgIExBVElOIENBUElUQUwgTEVUVEVSIEkgV0lUSCBHUkFWRQorICAgICAgIDMxNSAgIDIwNSAgIENEICAgICDDjSAgICAgTEFUSU4gQ0FQSVRBTCBMRVRURVIgSSBXSVRIIEFDVVRFCisgICAgICAgMzE2ICAgMjA2ICAgQ0UgICAgIMOOICAgICBMQVRJTiBDQVBJVEFMIExFVFRFUiBJIFdJVEggQ0lSQ1VNRkxFWAorICAgICAgIDMxNyAgIDIwNyAgIENGICAgICDDjyAgICAgTEFUSU4gQ0FQSVRBTCBMRVRURVIgSSBXSVRIIERJQUVSRVNJUworICAgICAgIDMyMCAgIDIwOCAgIEQwICAgICDDkCAgICAgTEFUSU4gQ0FQSVRBTCBMRVRURVIgRVRICisgICAgICAgMzIxICAgMjA5ICAgRDEgICAgIMORICAgICBMQVRJTiBDQVBJVEFMIExFVFRFUiBOIFdJVEggVElMREUKKyAgICAgICAzMjIgICAyMTAgICBEMiAgICAgw5IgICAgIExBVElOIENBUElUQUwgTEVUVEVSIE8gV0lUSCBHUkFWRQorICAgICAgIDMyMyAgIDIxMSAgIEQzICAgICDDkyAgICAgTEFUSU4gQ0FQSVRBTCBMRVRURVIgTyBXSVRIIEFDVVRFCisgICAgICAgMzI0ICAgMjEyICAgRDQgICAgIMOUICAgICBMQVRJTiBDQVBJVEFMIExFVFRFUiBPIFdJVEggQ0lSQ1VNRkxFWAorICAgICAgIDMyNSAgIDIxMyAgIEQ1ICAgICDDlSAgICAgTEFUSU4gQ0FQSVRBTCBMRVRURVIgTyBXSVRIIFRJTERFCisgICAgICAgMzI2ICAgMjE0ICAgRDYgICAgIMOWICAgICBMQVRJTiBDQVBJVEFMIExFVFRFUiBPIFdJVEggRElBRVJFU0lTCisgICAgICAgMzI3ICAgMjE1ICAgRDcgICAgIMOXICAgICBNVUxUSVBMSUNBVElPTiBTSUdOCisgICAgICAgMzMwICAgMjE2ICAgRDggICAgIMOYICAgICBMQVRJTiBDQVBJVEFMIExFVFRFUiBPIFdJVEggU1RST0tFCisgICAgICAgMzMxICAgMjE3ICAgRDkgICAgIMOZICAgICBMQVRJTiBDQVBJVEFMIExFVFRFUiBVIFdJVEggR1JBVkUKKyAgICAgICAzMzIgICAyMTggICBEQSAgICAgw5ogICAgIExBVElOIENBUElUQUwgTEVUVEVSIFUgV0lUSCBBQ1VURQorICAgICAgIDMzMyAgIDIxOSAgIERCICAgICDDmyAgICAgTEFUSU4gQ0FQSVRBTCBMRVRURVIgVSBXSVRIIENJUkNVTUZMRVgKKyAgICAgICAzMzQgICAyMjAgICBEQyAgICAgw5wgICAgIExBVElOIENBUElUQUwgTEVUVEVSIFUgV0lUSCBESUFFUkVTSVMKKyAgICAgICAzMzUgICAyMjEgICBERCAgICAgw50gICAgIExBVElOIENBUElUQUwgTEVUVEVSIFkgV0lUSCBBQ1VURQorICAgICAgIDMzNiAgIDIyMiAgIERFICAgICDDniAgICAgTEFUSU4gQ0FQSVRBTCBMRVRURVIgVEhPUk4KKyAgICAgICAzMzcgICAyMjMgICBERiAgICAgw58gICAgIExBVElOIFNNQUxMIExFVFRFUiBTSEFSUCBTCisgICAgICAgMzQwICAgMjI0ICAgRTAgICAgIMOgICAgICBMQVRJTiBTTUFMTCBMRVRURVIgQSBXSVRIIEdSQVZFCisgICAgICAgMzQxICAgMjI1ICAgRTEgICAgIMOhICAgICBMQVRJTiBTTUFMTCBMRVRURVIgQSBXSVRIIEFDVVRFCisgICAgICAgMzQyICAgMjI2ICAgRTIgICAgIMOiICAgICBMQVRJTiBTTUFMTCBMRVRURVIgQSBXSVRIIENJUkNVTUZMRVgKKyAgICAgICAzNDMgICAyMjcgICBFMyAgICAgw6MgICAgIExBVElOIFNNQUxMIExFVFRFUiBBIFdJVEggVElMREUKKyAgICAgICAzNDQgICAyMjggICBFNCAgICAgw6QgICAgIExBVElOIFNNQUxMIExFVFRFUiBBIFdJVEggRElBRVJFU0lTCisgICAgICAgMzQ1ICAgMjI5ICAgRTUgICAgIMOlICAgICBMQVRJTiBTTUFMTCBMRVRURVIgQSBXSVRIIFJJTkcgQUJPVkUKKyAgICAgICAzNDYgICAyMzAgICBFNiAgICAgw6YgICAgIExBVElOIFNNQUxMIExFVFRFUiBBRQorICAgICAgIDM0NyAgIDIzMSAgIEU3ICAgICDDpyAgICAgTEFUSU4gU01BTEwgTEVUVEVSIEMgV0lUSCBDRURJTExBCisgICAgICAgMzUwICAgMjMyICAgRTggICAgIMOoICAgICBMQVRJTiBTTUFMTCBMRVRURVIgRSBXSVRIIEdSQVZFCisgICAgICAgMzUxICAgMjMzICAgRTkgICAgIMOpICAgICBMQVRJTiBTTUFMTCBMRVRURVIgRSBXSVRIIEFDVVRFCisgICAgICAgMzUyICAgMjM0ICAgRUEgICAgIMOqICAgICBMQVRJTiBTTUFMTCBMRVRURVIgRSBXSVRIIENJUkNVTUZMRVgKKyAgICAgICAzNTMgICAyMzUgICBFQiAgICAgw6sgICAgIExBVElOIFNNQUxMIExFVFRFUiBFIFdJVEggRElBRVJFU0lTCisgICAgICAgMzU0ICAgMjM2ICAgRUMgICAgIMOsICAgICBMQVRJTiBTTUFMTCBMRVRURVIgSSBXSVRIIEdSQVZFCisgICAgICAgMzU1ICAgMjM3ICAgRUQgICAgIMOtICAgICBMQVRJTiBTTUFMTCBMRVRURVIgSSBXSVRIIEFDVVRFCisgICAgICAgMzU2ICAgMjM4ICAgRUUgICAgIMOuICAgICBMQVRJTiBTTUFMTCBMRVRURVIgSSBXSVRIIENJUkNVTUZMRVgKKyAgICAgICAzNTcgICAyMzkgICBFRiAgICAgw68gICAgIExBVElOIFNNQUxMIExFVFRFUiBJIFdJVEggRElBRVJFU0lTCisgICAgICAgMzYwICAgMjQwICAgRjAgICAgIMOwICAgICBMQVRJTiBTTUFMTCBMRVRURVIgRVRICisgICAgICAgMzYxICAgMjQxICAgRjEgICAgIMOxICAgICBMQVRJTiBTTUFMTCBMRVRURVIgTiBXSVRIIFRJTERFCisgICAgICAgMzYyICAgMjQyICAgRjIgICAgIMOyICAgICBMQVRJTiBTTUFMTCBMRVRURVIgTyBXSVRIIEdSQVZFCisgICAgICAgMzYzICAgMjQzICAgRjMgICAgIMOzICAgICBMQVRJTiBTTUFMTCBMRVRURVIgTyBXSVRIIEFDVVRFCisgICAgICAgMzY0ICAgMjQ0ICAgRjQgICAgIMO0ICAgICBMQVRJTiBTTUFMTCBMRVRURVIgTyBXSVRIIENJUkNVTUZMRVgKKyAgICAgICAzNjUgICAyNDUgICBGNSAgICAgw7UgICAgIExBVElOIFNNQUxMIExFVFRFUiBPIFdJVEggVElMREUKKyAgICAgICAzNjYgICAyNDYgICBGNiAgICAgw7YgICAgIExBVElOIFNNQUxMIExFVFRFUiBPIFdJVEggRElBRVJFU0lTCisgICAgICAgMzY3ICAgMjQ3ICAgRjcgICAgIMO3ICAgICBESVZJU0lPTiBTSUdOCisgICAgICAgMzcwICAgMjQ4ICAgRjggICAgIMO4ICAgICBMQVRJTiBTTUFMTCBMRVRURVIgTyBXSVRIIFNUUk9LRQorICAgICAgIDM3MSAgIDI0OSAgIEY5ICAgICDDuSAgICAgTEFUSU4gU01BTEwgTEVUVEVSIFUgV0lUSCBHUkFWRQorICAgICAgIDM3MiAgIDI1MCAgIEZBICAgICDDuiAgICAgTEFUSU4gU01BTEwgTEVUVEVSIFUgV0lUSCBBQ1VURQorICAgICAgIDM3MyAgIDI1MSAgIEZCICAgICDDuyAgICAgTEFUSU4gU01BTEwgTEVUVEVSIFUgV0lUSCBDSVJDVU1GTEVYCisgICAgICAgMzc0ICAgMjUyICAgRkMgICAgIMO8ICAgICBMQVRJTiBTTUFMTCBMRVRURVIgVSBXSVRIIERJQUVSRVNJUworICAgICAgIDM3NSAgIDI1MyAgIEZEICAgICDDvSAgICAgTEFUSU4gU01BTEwgTEVUVEVSIFkgV0lUSCBBQ1VURQorICAgICAgIDM3NiAgIDI1NCAgIEZFICAgICDDviAgICAgTEFUSU4gU01BTEwgTEVUVEVSIFRIT1JOCisgICAgICAgMzc3ICAgMjU1ICAgRkYgICAgIMO/ICAgICBMQVRJTiBTTUFMTCBMRVRURVIgWSBXSVRIIERJQUVSRVNJUworCisKKzAgMTUgdHN0IDAgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvaXNvbGF0Mi5yZHIgYi9saWJ4bWwyL3Jlc3VsdC9pc29sYXQyLnJkcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MjRjYjNlCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvaXNvbGF0Mi5yZHIKQEAgLTAsMCArMSwxMDggQEAKKzAgMSB0c3QgMCAwCisxIDMgI3RleHQgMCAxIAorCisgICAgICAgVGhlIGZvbGxvd2luZyB0YWJsZSBkaXNwbGF5cyB0aGUgY2hhcmFjdGVycyAgaW4gIElTTyAgODg1OQorICAgICAgIExhdGluLTEsICB3aGljaCBhcmUgcHJpbnRhYmxlIGFuZCB1bmxpc3RlZCBpbiB0aGUgYXNjaWkKKyAgICAgICBtYW51YWwgcGFnZS4KKworICAgICAgIE9jdCAgIERlYyAgIEhleCAgIENoYXIgICBEZXNjcmlwdGlvbgorICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAgICAgMjQwICAgMTYwICAgQTAgICAgICAgICAgIE5PLUJSRUFLIFNQQUNFCisgICAgICAgMjQxICAgMTYxICAgQTEgICAgIMKhICAgICBJTlZFUlRFRCBFWENMQU1BVElPTiBNQVJLCisgICAgICAgMjQyICAgMTYyICAgQTIgICAgIMKiICAgICBDRU5UIFNJR04KKyAgICAgICAyNDMgICAxNjMgICBBMyAgICAgwqMgICAgIFBPVU5EIFNJR04KKyAgICAgICAyNDQgICAxNjQgICBBNCAgICAgwqQgICAgIENVUlJFTkNZIFNJR04KKyAgICAgICAyNDUgICAxNjUgICBBNSAgICAgwqUgICAgIFlFTiBTSUdOCisgICAgICAgMjQ2ICAgMTY2ICAgQTYgICAgIMKmICAgICBCUk9LRU4gQkFSCisgICAgICAgMjQ3ICAgMTY3ICAgQTcgICAgIMKnICAgICBTRUNUSU9OIFNJR04KKyAgICAgICAyNTAgICAxNjggICBBOCAgICAgwqggICAgIERJQUVSRVNJUworICAgICAgIDI1MSAgIDE2OSAgIEE5ICAgICDCqSAgICAgQ09QWVJJR0hUIFNJR04KKyAgICAgICAyNTIgICAxNzAgICBBQSAgICAgwqogICAgIEZFTUlOSU5FIE9SRElOQUwgSU5ESUNBVE9SCisgICAgICAgMjUzICAgMTcxICAgQUIgICAgIMKrICAgICBMRUZULVBPSU5USU5HIERPVUJMRSBBTkdMRSBRVU9UQVRJT04gTUFSSworICAgICAgIDI1NCAgIDE3MiAgIEFDICAgICDCrCAgICAgTk9UIFNJR04KKyAgICAgICAyNTUgICAxNzMgICBBRCAgICAgwq0gICAgIFNPRlQgSFlQSEVOCisgICAgICAgMjU2ICAgMTc0ICAgQUUgICAgIMKuICAgICBSRUdJU1RFUkVEIFNJR04KKyAgICAgICAyNTcgICAxNzUgICBBRiAgICAgwq8gICAgIE1BQ1JPTgorICAgICAgIDI2MCAgIDE3NiAgIEIwICAgICDCsCAgICAgREVHUkVFIFNJR04KKyAgICAgICAyNjEgICAxNzcgICBCMSAgICAgwrEgICAgIFBMVVMtTUlOVVMgU0lHTgorICAgICAgIDI2MiAgIDE3OCAgIEIyICAgICDCsiAgICAgU1VQRVJTQ1JJUFQgVFdPCisgICAgICAgMjYzICAgMTc5ICAgQjMgICAgIMKzICAgICBTVVBFUlNDUklQVCBUSFJFRQorICAgICAgIDI2NCAgIDE4MCAgIEI0ICAgICDCtCAgICAgQUNVVEUgQUNDRU5UCisgICAgICAgMjY1ICAgMTgxICAgQjUgICAgIMK1ICAgICBNSUNSTyBTSUdOCisgICAgICAgMjY2ICAgMTgyICAgQjYgICAgIMK2ICAgICBQSUxDUk9XIFNJR04KKyAgICAgICAyNjcgICAxODMgICBCNyAgICAgwrcgICAgIE1JRERMRSBET1QKKyAgICAgICAyNzAgICAxODQgICBCOCAgICAgwrggICAgIENFRElMTEEKKyAgICAgICAyNzEgICAxODUgICBCOSAgICAgwrkgICAgIFNVUEVSU0NSSVBUIE9ORQorICAgICAgIDI3MiAgIDE4NiAgIEJBICAgICDCuiAgICAgTUFTQ1VMSU5FIE9SRElOQUwgSU5ESUNBVE9SCisgICAgICAgMjczICAgMTg3ICAgQkIgICAgIMK7ICAgICBSSUdIVC1QT0lOVElORyBET1VCTEUgQU5HTEUgUVVPVEFUSU9OIE1BUksKKyAgICAgICAyNzQgICAxODggICBCQyAgICAgwrwgICAgIFZVTEdBUiBGUkFDVElPTiBPTkUgUVVBUlRFUgorICAgICAgIDI3NSAgIDE4OSAgIEJEICAgICDCvSAgICAgVlVMR0FSIEZSQUNUSU9OIE9ORSBIQUxGCisgICAgICAgMjc2ICAgMTkwICAgQkUgICAgIMK+ICAgICBWVUxHQVIgRlJBQ1RJT04gVEhSRUUgUVVBUlRFUlMKKyAgICAgICAyNzcgICAxOTEgICBCRiAgICAgwr8gICAgIElOVkVSVEVEIFFVRVNUSU9OIE1BUksKKyAgICAgICAzMDAgICAxOTIgICBDMCAgICAgw4AgICAgIExBVElOIENBUElUQUwgTEVUVEVSIEEgV0lUSCBHUkFWRQorICAgICAgIDMwMSAgIDE5MyAgIEMxICAgICDDgSAgICAgTEFUSU4gQ0FQSVRBTCBMRVRURVIgQSBXSVRIIEFDVVRFCisgICAgICAgMzAyICAgMTk0ICAgQzIgICAgIMOCICAgICBMQVRJTiBDQVBJVEFMIExFVFRFUiBBIFdJVEggQ0lSQ1VNRkxFWAorICAgICAgIDMwMyAgIDE5NSAgIEMzICAgICDDgyAgICAgTEFUSU4gQ0FQSVRBTCBMRVRURVIgQSBXSVRIIFRJTERFCisgICAgICAgMzA0ICAgMTk2ICAgQzQgICAgIMOEICAgICBMQVRJTiBDQVBJVEFMIExFVFRFUiBBIFdJVEggRElBRVJFU0lTCisgICAgICAgMzA1ICAgMTk3ICAgQzUgICAgIMOFICAgICBMQVRJTiBDQVBJVEFMIExFVFRFUiBBIFdJVEggUklORyBBQk9WRQorICAgICAgIDMwNiAgIDE5OCAgIEM2ICAgICDDhiAgICAgTEFUSU4gQ0FQSVRBTCBMRVRURVIgQUUKKyAgICAgICAzMDcgICAxOTkgICBDNyAgICAgw4cgICAgIExBVElOIENBUElUQUwgTEVUVEVSIEMgV0lUSCBDRURJTExBCisgICAgICAgMzEwICAgMjAwICAgQzggICAgIMOIICAgICBMQVRJTiBDQVBJVEFMIExFVFRFUiBFIFdJVEggR1JBVkUKKyAgICAgICAzMTEgICAyMDEgICBDOSAgICAgw4kgICAgIExBVElOIENBUElUQUwgTEVUVEVSIEUgV0lUSCBBQ1VURQorICAgICAgIDMxMiAgIDIwMiAgIENBICAgICDDiiAgICAgTEFUSU4gQ0FQSVRBTCBMRVRURVIgRSBXSVRIIENJUkNVTUZMRVgKKyAgICAgICAzMTMgICAyMDMgICBDQiAgICAgw4sgICAgIExBVElOIENBUElUQUwgTEVUVEVSIEUgV0lUSCBESUFFUkVTSVMKKyAgICAgICAzMTQgICAyMDQgICBDQyAgICAgw4wgICAgIExBVElOIENBUElUQUwgTEVUVEVSIEkgV0lUSCBHUkFWRQorICAgICAgIDMxNSAgIDIwNSAgIENEICAgICDDjSAgICAgTEFUSU4gQ0FQSVRBTCBMRVRURVIgSSBXSVRIIEFDVVRFCisgICAgICAgMzE2ICAgMjA2ICAgQ0UgICAgIMOOICAgICBMQVRJTiBDQVBJVEFMIExFVFRFUiBJIFdJVEggQ0lSQ1VNRkxFWAorICAgICAgIDMxNyAgIDIwNyAgIENGICAgICDDjyAgICAgTEFUSU4gQ0FQSVRBTCBMRVRURVIgSSBXSVRIIERJQUVSRVNJUworICAgICAgIDMyMCAgIDIwOCAgIEQwICAgICDDkCAgICAgTEFUSU4gQ0FQSVRBTCBMRVRURVIgRVRICisgICAgICAgMzIxICAgMjA5ICAgRDEgICAgIMORICAgICBMQVRJTiBDQVBJVEFMIExFVFRFUiBOIFdJVEggVElMREUKKyAgICAgICAzMjIgICAyMTAgICBEMiAgICAgw5IgICAgIExBVElOIENBUElUQUwgTEVUVEVSIE8gV0lUSCBHUkFWRQorICAgICAgIDMyMyAgIDIxMSAgIEQzICAgICDDkyAgICAgTEFUSU4gQ0FQSVRBTCBMRVRURVIgTyBXSVRIIEFDVVRFCisgICAgICAgMzI0ICAgMjEyICAgRDQgICAgIMOUICAgICBMQVRJTiBDQVBJVEFMIExFVFRFUiBPIFdJVEggQ0lSQ1VNRkxFWAorICAgICAgIDMyNSAgIDIxMyAgIEQ1ICAgICDDlSAgICAgTEFUSU4gQ0FQSVRBTCBMRVRURVIgTyBXSVRIIFRJTERFCisgICAgICAgMzI2ICAgMjE0ICAgRDYgICAgIMOWICAgICBMQVRJTiBDQVBJVEFMIExFVFRFUiBPIFdJVEggRElBRVJFU0lTCisgICAgICAgMzI3ICAgMjE1ICAgRDcgICAgIMOXICAgICBNVUxUSVBMSUNBVElPTiBTSUdOCisgICAgICAgMzMwICAgMjE2ICAgRDggICAgIMOYICAgICBMQVRJTiBDQVBJVEFMIExFVFRFUiBPIFdJVEggU1RST0tFCisgICAgICAgMzMxICAgMjE3ICAgRDkgICAgIMOZICAgICBMQVRJTiBDQVBJVEFMIExFVFRFUiBVIFdJVEggR1JBVkUKKyAgICAgICAzMzIgICAyMTggICBEQSAgICAgw5ogICAgIExBVElOIENBUElUQUwgTEVUVEVSIFUgV0lUSCBBQ1VURQorICAgICAgIDMzMyAgIDIxOSAgIERCICAgICDDmyAgICAgTEFUSU4gQ0FQSVRBTCBMRVRURVIgVSBXSVRIIENJUkNVTUZMRVgKKyAgICAgICAzMzQgICAyMjAgICBEQyAgICAgw5wgICAgIExBVElOIENBUElUQUwgTEVUVEVSIFUgV0lUSCBESUFFUkVTSVMKKyAgICAgICAzMzUgICAyMjEgICBERCAgICAgw50gICAgIExBVElOIENBUElUQUwgTEVUVEVSIFkgV0lUSCBBQ1VURQorICAgICAgIDMzNiAgIDIyMiAgIERFICAgICDDniAgICAgTEFUSU4gQ0FQSVRBTCBMRVRURVIgVEhPUk4KKyAgICAgICAzMzcgICAyMjMgICBERiAgICAgw58gICAgIExBVElOIFNNQUxMIExFVFRFUiBTSEFSUCBTCisgICAgICAgMzQwICAgMjI0ICAgRTAgICAgIMOgICAgICBMQVRJTiBTTUFMTCBMRVRURVIgQSBXSVRIIEdSQVZFCisgICAgICAgMzQxICAgMjI1ICAgRTEgICAgIMOhICAgICBMQVRJTiBTTUFMTCBMRVRURVIgQSBXSVRIIEFDVVRFCisgICAgICAgMzQyICAgMjI2ICAgRTIgICAgIMOiICAgICBMQVRJTiBTTUFMTCBMRVRURVIgQSBXSVRIIENJUkNVTUZMRVgKKyAgICAgICAzNDMgICAyMjcgICBFMyAgICAgw6MgICAgIExBVElOIFNNQUxMIExFVFRFUiBBIFdJVEggVElMREUKKyAgICAgICAzNDQgICAyMjggICBFNCAgICAgw6QgICAgIExBVElOIFNNQUxMIExFVFRFUiBBIFdJVEggRElBRVJFU0lTCisgICAgICAgMzQ1ICAgMjI5ICAgRTUgICAgIMOlICAgICBMQVRJTiBTTUFMTCBMRVRURVIgQSBXSVRIIFJJTkcgQUJPVkUKKyAgICAgICAzNDYgICAyMzAgICBFNiAgICAgw6YgICAgIExBVElOIFNNQUxMIExFVFRFUiBBRQorICAgICAgIDM0NyAgIDIzMSAgIEU3ICAgICDDpyAgICAgTEFUSU4gU01BTEwgTEVUVEVSIEMgV0lUSCBDRURJTExBCisgICAgICAgMzUwICAgMjMyICAgRTggICAgIMOoICAgICBMQVRJTiBTTUFMTCBMRVRURVIgRSBXSVRIIEdSQVZFCisgICAgICAgMzUxICAgMjMzICAgRTkgICAgIMOpICAgICBMQVRJTiBTTUFMTCBMRVRURVIgRSBXSVRIIEFDVVRFCisgICAgICAgMzUyICAgMjM0ICAgRUEgICAgIMOqICAgICBMQVRJTiBTTUFMTCBMRVRURVIgRSBXSVRIIENJUkNVTUZMRVgKKyAgICAgICAzNTMgICAyMzUgICBFQiAgICAgw6sgICAgIExBVElOIFNNQUxMIExFVFRFUiBFIFdJVEggRElBRVJFU0lTCisgICAgICAgMzU0ICAgMjM2ICAgRUMgICAgIMOsICAgICBMQVRJTiBTTUFMTCBMRVRURVIgSSBXSVRIIEdSQVZFCisgICAgICAgMzU1ICAgMjM3ICAgRUQgICAgIMOtICAgICBMQVRJTiBTTUFMTCBMRVRURVIgSSBXSVRIIEFDVVRFCisgICAgICAgMzU2ICAgMjM4ICAgRUUgICAgIMOuICAgICBMQVRJTiBTTUFMTCBMRVRURVIgSSBXSVRIIENJUkNVTUZMRVgKKyAgICAgICAzNTcgICAyMzkgICBFRiAgICAgw68gICAgIExBVElOIFNNQUxMIExFVFRFUiBJIFdJVEggRElBRVJFU0lTCisgICAgICAgMzYwICAgMjQwICAgRjAgICAgIMOwICAgICBMQVRJTiBTTUFMTCBMRVRURVIgRVRICisgICAgICAgMzYxICAgMjQxICAgRjEgICAgIMOxICAgICBMQVRJTiBTTUFMTCBMRVRURVIgTiBXSVRIIFRJTERFCisgICAgICAgMzYyICAgMjQyICAgRjIgICAgIMOyICAgICBMQVRJTiBTTUFMTCBMRVRURVIgTyBXSVRIIEdSQVZFCisgICAgICAgMzYzICAgMjQzICAgRjMgICAgIMOzICAgICBMQVRJTiBTTUFMTCBMRVRURVIgTyBXSVRIIEFDVVRFCisgICAgICAgMzY0ICAgMjQ0ICAgRjQgICAgIMO0ICAgICBMQVRJTiBTTUFMTCBMRVRURVIgTyBXSVRIIENJUkNVTUZMRVgKKyAgICAgICAzNjUgICAyNDUgICBGNSAgICAgw7UgICAgIExBVElOIFNNQUxMIExFVFRFUiBPIFdJVEggVElMREUKKyAgICAgICAzNjYgICAyNDYgICBGNiAgICAgw7YgICAgIExBVElOIFNNQUxMIExFVFRFUiBPIFdJVEggRElBRVJFU0lTCisgICAgICAgMzY3ICAgMjQ3ICAgRjcgICAgIMO3ICAgICBESVZJU0lPTiBTSUdOCisgICAgICAgMzcwICAgMjQ4ICAgRjggICAgIMO4ICAgICBMQVRJTiBTTUFMTCBMRVRURVIgTyBXSVRIIFNUUk9LRQorICAgICAgIDM3MSAgIDI0OSAgIEY5ICAgICDDuSAgICAgTEFUSU4gU01BTEwgTEVUVEVSIFUgV0lUSCBHUkFWRQorICAgICAgIDM3MiAgIDI1MCAgIEZBICAgICDDuiAgICAgTEFUSU4gU01BTEwgTEVUVEVSIFUgV0lUSCBBQ1VURQorICAgICAgIDM3MyAgIDI1MSAgIEZCICAgICDDuyAgICAgTEFUSU4gU01BTEwgTEVUVEVSIFUgV0lUSCBDSVJDVU1GTEVYCisgICAgICAgMzc0ICAgMjUyICAgRkMgICAgIMO8ICAgICBMQVRJTiBTTUFMTCBMRVRURVIgVSBXSVRIIERJQUVSRVNJUworICAgICAgIDM3NSAgIDI1MyAgIEZEICAgICDDvSAgICAgTEFUSU4gU01BTEwgTEVUVEVSIFkgV0lUSCBBQ1VURQorICAgICAgIDM3NiAgIDI1NCAgIEZFICAgICDDviAgICAgTEFUSU4gU01BTEwgTEVUVEVSIFRIT1JOCisgICAgICAgMzc3ICAgMjU1ICAgRkYgICAgIMO/ICAgICBMQVRJTiBTTUFMTCBMRVRURVIgWSBXSVRIIERJQUVSRVNJUworCisKKzAgMTUgdHN0IDAgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvaXNvbGF0Mi5zYXggYi9saWJ4bWwyL3Jlc3VsdC9pc29sYXQyLnNheApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MzdjOTQ4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvaXNvbGF0Mi5zYXgKQEAgLTAsMCArMSwzNSBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguc3RhcnRFbGVtZW50KHRzdCkKK1NBWC5jaGFyYWN0ZXJzKAorCisgICAgICAgVGhlIGZvbGxvd2luZyB0YWJsZSBkLCAzNDUpCitTQVguY2hhcmFjdGVycyjCoSAgICAgSU5WRVJURUQgRVhDTEFNQVRJT04gTUEsIDMwMCkKK1NBWC5jaGFyYWN0ZXJzKCAgICAgIDI1MCAgIDE2OCAgIEE4ICAgICDCqCAgICwgMzAwKQorU0FYLmNoYXJhY3RlcnMoU09GVCBIWVBIRU4KKyAgICAgICAyNTYgICAxNzQgICwgMzAwKQorU0FYLmNoYXJhY3RlcnMoICAyNjQgICAxODAgICBCNCAgICAgwrQgICAgIEFDLCAzMDApCitTQVguY2hhcmFjdGVycyhTQ1VMSU5FIE9SRElOQUwgSU5ESUNBVE9SCisgICAgLCAzMDApCitTQVguY2hhcmFjdGVycygxICAgQkYgICAgIMK/ICAgICBJTlZFUlRFRCBRVUUsIDMwMCkKK1NBWC5jaGFyYWN0ZXJzKCBBIFdJVEggVElMREUKKyAgICAgICAzMDQgICAxOTYsIDMwMCkKK1NBWC5jaGFyYWN0ZXJzKCAgQzggICAgIMOIICAgICBMQVRJTiBDQVBJVEFMICwgMzAwKQorU0FYLmNoYXJhY3RlcnMoQVBJVEFMIExFVFRFUiBJIFdJVEggR1JBVkUKKyAgICwgMzAwKQorU0FYLmNoYXJhY3RlcnMoICAzMjEgICAyMDkgICBEMSAgICAgw5EgICAgIExBLCAzMDApCitTQVguY2hhcmFjdGVycyggTEFUSU4gQ0FQSVRBTCBMRVRURVIgTyBXSVRIIFQsIDMwMCkKK1NBWC5jaGFyYWN0ZXJzKCAzMzIgICAyMTggICBEQSAgICAgw5ogICAgIExBVCwgMzAwKQorU0FYLmNoYXJhY3RlcnMoICAgIExBVElOIENBUElUQUwgTEVUVEVSIFRIT1JOLCAzMDApCitTQVguY2hhcmFjdGVycygzICAgMjI3ICAgRTMgICAgIMOjICAgICBMQVRJTiAsIDMwMCkKK1NBWC5jaGFyYWN0ZXJzKFIgQyBXSVRIIENFRElMTEEKKyAgICAgICAzNTAgICAsIDMwMCkKK1NBWC5jaGFyYWN0ZXJzKDM2ICAgRUMgICAgIMOsICAgICBMQVRJTiBTTUFMTCwgMzAwKQorU0FYLmNoYXJhY3RlcnMoTEVUVEVSIEVUSAorICAgICAgIDM2MSAgIDI0MSAgICwgMzAwKQorU0FYLmNoYXJhY3RlcnMoICDDtSAgICAgTEFUSU4gU01BTEwgTEVUVEVSIE8gLCAzMDApCitTQVguY2hhcmFjdGVycyggMjUwICAgRkEgICAgIMO6ICAgICBMQVRJTiBTTUEsIDMwMCkKK1NBWC5jaGFyYWN0ZXJzKEwgTEVUVEVSIFRIT1JOCisgICAgICAgMzc3ICAgMjUsIDg1KQorU0FYLmVuZEVsZW1lbnQodHN0KQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2lzb2xhdDIuc2F4MiBiL2xpYnhtbDIvcmVzdWx0L2lzb2xhdDIuc2F4MgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYWMzZjU2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvaXNvbGF0Mi5zYXgyCkBAIC0wLDAgKzEsMzUgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLnN0YXJ0RWxlbWVudE5zKHRzdCwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorCisgICAgICAgVGhlIGZvbGxvd2luZyB0YWJsZSBkLCAzNDUpCitTQVguY2hhcmFjdGVycyjCoSAgICAgSU5WRVJURUQgRVhDTEFNQVRJT04gTUEsIDMwMCkKK1NBWC5jaGFyYWN0ZXJzKCAgICAgIDI1MCAgIDE2OCAgIEE4ICAgICDCqCAgICwgMzAwKQorU0FYLmNoYXJhY3RlcnMoU09GVCBIWVBIRU4KKyAgICAgICAyNTYgICAxNzQgICwgMzAwKQorU0FYLmNoYXJhY3RlcnMoICAyNjQgICAxODAgICBCNCAgICAgwrQgICAgIEFDLCAzMDApCitTQVguY2hhcmFjdGVycyhTQ1VMSU5FIE9SRElOQUwgSU5ESUNBVE9SCisgICAgLCAzMDApCitTQVguY2hhcmFjdGVycygxICAgQkYgICAgIMK/ICAgICBJTlZFUlRFRCBRVUUsIDMwMCkKK1NBWC5jaGFyYWN0ZXJzKCBBIFdJVEggVElMREUKKyAgICAgICAzMDQgICAxOTYsIDMwMCkKK1NBWC5jaGFyYWN0ZXJzKCAgQzggICAgIMOIICAgICBMQVRJTiBDQVBJVEFMICwgMzAwKQorU0FYLmNoYXJhY3RlcnMoQVBJVEFMIExFVFRFUiBJIFdJVEggR1JBVkUKKyAgICwgMzAwKQorU0FYLmNoYXJhY3RlcnMoICAzMjEgICAyMDkgICBEMSAgICAgw5EgICAgIExBLCAzMDApCitTQVguY2hhcmFjdGVycyggTEFUSU4gQ0FQSVRBTCBMRVRURVIgTyBXSVRIIFQsIDMwMCkKK1NBWC5jaGFyYWN0ZXJzKCAzMzIgICAyMTggICBEQSAgICAgw5ogICAgIExBVCwgMzAwKQorU0FYLmNoYXJhY3RlcnMoICAgIExBVElOIENBUElUQUwgTEVUVEVSIFRIT1JOLCAzMDApCitTQVguY2hhcmFjdGVycygzICAgMjI3ICAgRTMgICAgIMOjICAgICBMQVRJTiAsIDMwMCkKK1NBWC5jaGFyYWN0ZXJzKFIgQyBXSVRIIENFRElMTEEKKyAgICAgICAzNTAgICAsIDMwMCkKK1NBWC5jaGFyYWN0ZXJzKDM2ICAgRUMgICAgIMOsICAgICBMQVRJTiBTTUFMTCwgMzAwKQorU0FYLmNoYXJhY3RlcnMoTEVUVEVSIEVUSAorICAgICAgIDM2MSAgIDI0MSAgICwgMzAwKQorU0FYLmNoYXJhY3RlcnMoICDDtSAgICAgTEFUSU4gU01BTEwgTEVUVEVSIE8gLCAzMDApCitTQVguY2hhcmFjdGVycyggMjUwICAgRkEgICAgIMO6ICAgICBMQVRJTiBTTUEsIDMwMCkKK1NBWC5jaGFyYWN0ZXJzKEwgTEVUVEVSIFRIT1JOCisgICAgICAgMzc3ICAgMjUsIDg1KQorU0FYLmVuZEVsZW1lbnROcyh0c3QsIE5VTEwsIE5VTEwpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvaXNvbGF0MyBiL2xpYnhtbDIvcmVzdWx0L2lzb2xhdDMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWFiZjdiNAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2lzb2xhdDMKQEAgLTAsMCArMSwxMCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/PgorPHJlYz4KKzxlZz48IVtDREFUQVs8IUVOVElUWSAlIHB1YiAgICAiJiN4Yzk7ZGl0aW9ucyBHYWxsaW1hcmQiID4KKzwhRU5USVRZICAgcmlnaHRzICJBbGwgcmlnaHRzIHJlc2VydmVkIiA+Cis8IUVOVElUWSAgIGJvb2sgICAiTGEgUGVzdGU6IEFsYmVydCBDYW11cywgCismI3hBOTsgMTk0NyAlcHViOy4gJnJpZ2h0czsiID5dXT48L2VnPgordGhlbiB0aGUgcmVwbGFjZW1lbnQgdGV4dCBmb3IgdGhlIGVudGl0eSAiPGNvZGU+Ym9vazwvY29kZT4iIGlzOgorPGVnPkxhIFBlc3RlOiBBbGJlcnQgQ2FtdXMsIAorqSAxOTQ3IMlkaXRpb25zIEdhbGxpbWFyZC4gJmFtcDtyaWdodHM7PC9lZz4KKzwvcmVjPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvaXNvbGF0My5yZGUgYi9saWJ4bWwyL3Jlc3VsdC9pc29sYXQzLnJkZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMDY3YzBmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvaXNvbGF0My5yZGUKQEAgLTAsMCArMSwyMyBAQAorMCAxIHJlYyAwIDAKKzEgMTQgI3RleHQgMCAxIAorCisxIDEgZWcgMCAwCisyIDQgI2NkYXRhLXNlY3Rpb24gMCAxIDwhRU5USVRZICUgcHViICAgICImI3hjOTtkaXRpb25zIEdhbGxpbWFyZCIgPgorPCFFTlRJVFkgICByaWdodHMgIkFsbCByaWdodHMgcmVzZXJ2ZWQiID4KKzwhRU5USVRZICAgYm9vayAgICJMYSBQZXN0ZTogQWxiZXJ0IENhbXVzLCAKKyYjeEE5OyAxOTQ3ICVwdWI7LiAmcmlnaHRzOyIgPgorMSAxNSBlZyAwIDAKKzEgMyAjdGV4dCAwIDEgCit0aGVuIHRoZSByZXBsYWNlbWVudCB0ZXh0IGZvciB0aGUgZW50aXR5ICIKKzEgMSBjb2RlIDAgMAorMiAzICN0ZXh0IDAgMSBib29rCisxIDE1IGNvZGUgMCAwCisxIDMgI3RleHQgMCAxICIgaXM6CisKKzEgMSBlZyAwIDAKKzIgMyAjdGV4dCAwIDEgTGEgUGVzdGU6IEFsYmVydCBDYW11cywgCivCqSAxOTQ3IMOJZGl0aW9ucyBHYWxsaW1hcmQuICZyaWdodHM7CisxIDE1IGVnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisKKzAgMTUgcmVjIDAgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvaXNvbGF0My5yZHIgYi9saWJ4bWwyL3Jlc3VsdC9pc29sYXQzLnJkcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMDY3YzBmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvaXNvbGF0My5yZHIKQEAgLTAsMCArMSwyMyBAQAorMCAxIHJlYyAwIDAKKzEgMTQgI3RleHQgMCAxIAorCisxIDEgZWcgMCAwCisyIDQgI2NkYXRhLXNlY3Rpb24gMCAxIDwhRU5USVRZICUgcHViICAgICImI3hjOTtkaXRpb25zIEdhbGxpbWFyZCIgPgorPCFFTlRJVFkgICByaWdodHMgIkFsbCByaWdodHMgcmVzZXJ2ZWQiID4KKzwhRU5USVRZICAgYm9vayAgICJMYSBQZXN0ZTogQWxiZXJ0IENhbXVzLCAKKyYjeEE5OyAxOTQ3ICVwdWI7LiAmcmlnaHRzOyIgPgorMSAxNSBlZyAwIDAKKzEgMyAjdGV4dCAwIDEgCit0aGVuIHRoZSByZXBsYWNlbWVudCB0ZXh0IGZvciB0aGUgZW50aXR5ICIKKzEgMSBjb2RlIDAgMAorMiAzICN0ZXh0IDAgMSBib29rCisxIDE1IGNvZGUgMCAwCisxIDMgI3RleHQgMCAxICIgaXM6CisKKzEgMSBlZyAwIDAKKzIgMyAjdGV4dCAwIDEgTGEgUGVzdGU6IEFsYmVydCBDYW11cywgCivCqSAxOTQ3IMOJZGl0aW9ucyBHYWxsaW1hcmQuICZyaWdodHM7CisxIDE1IGVnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisKKzAgMTUgcmVjIDAgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvaXNvbGF0My5zYXggYi9saWJ4bWwyL3Jlc3VsdC9pc29sYXQzLnNheApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YzQwZTZlCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvaXNvbGF0My5zYXgKQEAgLTAsMCArMSwyOSBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguc3RhcnRFbGVtZW50KHJlYykKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudChlZykKK1NBWC5wY2RhdGEoPCFFTlRJVFkgJSBwdWIgICAgIiYsIDE2MikKK1NBWC5lbmRFbGVtZW50KGVnKQorU0FYLmNoYXJhY3RlcnMoCit0aGVuIHRoZSByZXBsYWNlbWVudCB0ZXh0IGZvciwgNDMpCitTQVguc3RhcnRFbGVtZW50KGNvZGUpCitTQVguY2hhcmFjdGVycyhib29rLCA0KQorU0FYLmVuZEVsZW1lbnQoY29kZSkKK1NBWC5jaGFyYWN0ZXJzKCIgaXM6CissIDYpCitTQVguc3RhcnRFbGVtZW50KGVnKQorU0FYLmNoYXJhY3RlcnMoTGEgUGVzdGU6IEFsYmVydCBDYW11cywgCissIDI1KQorU0FYLmNoYXJhY3RlcnMowqksIDIpCitTQVguY2hhcmFjdGVycyggMTk0NyAsIDYpCitTQVguY2hhcmFjdGVycyjDiSwgMikKK1NBWC5jaGFyYWN0ZXJzKGRpdGlvbnMgR2FsbGltYXJkLiAsIDE5KQorU0FYLmNoYXJhY3RlcnMoJiwgMSkKK1NBWC5jaGFyYWN0ZXJzKHJpZ2h0czssIDcpCitTQVguZW5kRWxlbWVudChlZykKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmVuZEVsZW1lbnQocmVjKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2lzb2xhdDMuc2F4MiBiL2xpYnhtbDIvcmVzdWx0L2lzb2xhdDMuc2F4MgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMTI5NmFmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvaXNvbGF0My5zYXgyCkBAIC0wLDAgKzEsMjkgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLnN0YXJ0RWxlbWVudE5zKHJlYywgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudE5zKGVnLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLnBjZGF0YSg8IUVOVElUWSAlIHB1YiAgICAiJiwgMTYyKQorU0FYLmVuZEVsZW1lbnROcyhlZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAordGhlbiB0aGUgcmVwbGFjZW1lbnQgdGV4dCBmb3IsIDQzKQorU0FYLnN0YXJ0RWxlbWVudE5zKGNvZGUsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhib29rLCA0KQorU0FYLmVuZEVsZW1lbnROcyhjb2RlLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoIiBpczoKKywgNikKK1NBWC5zdGFydEVsZW1lbnROcyhlZywgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKExhIFBlc3RlOiBBbGJlcnQgQ2FtdXMsIAorLCAyNSkKK1NBWC5jaGFyYWN0ZXJzKMKpLCAyKQorU0FYLmNoYXJhY3RlcnMoIDE5NDcgLCA2KQorU0FYLmNoYXJhY3RlcnMow4ksIDIpCitTQVguY2hhcmFjdGVycyhkaXRpb25zIEdhbGxpbWFyZC4gLCAxOSkKK1NBWC5jaGFyYWN0ZXJzKCYsIDEpCitTQVguY2hhcmFjdGVycyhyaWdodHM7LCA3KQorU0FYLmVuZEVsZW1lbnROcyhlZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmVuZEVsZW1lbnROcyhyZWMsIE5VTEwsIE5VTEwpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvamFwYW5jcmxmLnhtbCBiL2xpYnhtbDIvcmVzdWx0L2phcGFuY3JsZi54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjBiMzA3YwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2phcGFuY3JsZi54bWwKQEAgLTAsMCArMSw0IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzzlhaXlipvjg6Hjg4Pjgrvjg7zjgrggeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLmNvcmR5cy5jb20vd2ViYXBwcy8xLjAvYnBtL2M4YzhiODJhLTBhYzAtM2QxOS0wMWUyLWJkYTc0YWY5YjgyNiI+CisJPGM4YzpFbGUgeG1sbnM6YzhjPSJodHRwOi8vc2NoZW1hcy5jb3JkeXMuY29tL3dlYmFwcHMvMS4wL2JwbS9jOGM4YjgyYS0wYWMwLTNkMTktMDFlMi1iZGE3NGFmOWI4MjYiLz4KKzwv5YWl5Yqb44Oh44OD44K744O844K4PgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvamFwYW5jcmxmLnhtbC5yZGUgYi9saWJ4bWwyL3Jlc3VsdC9qYXBhbmNybGYueG1sLnJkZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYmM1YWY3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvamFwYW5jcmxmLnhtbC5yZGUKQEAgLTAsMCArMSw3IEBACiswIDEg5YWl5Yqb44Oh44OD44K744O844K4IDAgMAorMSAxNCAjdGV4dCAwIDEgCisJCisxIDEgYzhjOkVsZSAxIDAKKzEgMTQgI3RleHQgMCAxIAorCiswIDE1IOWFpeWKm+ODoeODg+OCu+ODvOOCuCAwIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2phcGFuY3JsZi54bWwucmRyIGIvbGlieG1sMi9yZXN1bHQvamFwYW5jcmxmLnhtbC5yZHIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGJjNWFmNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L2phcGFuY3JsZi54bWwucmRyCkBAIC0wLDAgKzEsNyBAQAorMCAxIOWFpeWKm+ODoeODg+OCu+ODvOOCuCAwIDAKKzEgMTQgI3RleHQgMCAxIAorCQorMSAxIGM4YzpFbGUgMSAwCisxIDE0ICN0ZXh0IDAgMSAKKworMCAxNSDlhaXlipvjg6Hjg4Pjgrvjg7zjgrggMCAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9qYXBhbmNybGYueG1sLnNheCBiL2xpYnhtbDIvcmVzdWx0L2phcGFuY3JsZi54bWwuc2F4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMzYmJkYzYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9qYXBhbmNybGYueG1sLnNheApAQCAtMCwwICsxLDExIEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5zdGFydEVsZW1lbnQo5YWl5Yqb44Oh44OD44K744O844K4LCB4bWxucz0naHR0cDovL3NjaGVtYXMuY29yZHlzLmNvbS93ZWJhcHBzLzEuMC9icG0vYzhjOGI4MmEtMGFjMC0zZDE5LTAxZTItYmRhNzRhZjliODI2JykKK1NBWC5jaGFyYWN0ZXJzKAorCSwgMikKK1NBWC5zdGFydEVsZW1lbnQoYzhjOkVsZSwgeG1sbnM6YzhjPSdodHRwOi8vc2NoZW1hcy5jb3JkeXMuY29tL3dlYmFwcHMvMS4wL2JwbS9jOGM4YjgyYS0wYWMwLTNkMTktMDFlMi1iZGE3NGFmOWI4MjYnKQorU0FYLmVuZEVsZW1lbnQoYzhjOkVsZSkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmVuZEVsZW1lbnQo5YWl5Yqb44Oh44OD44K744O844K4KQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L2phcGFuY3JsZi54bWwuc2F4MiBiL2xpYnhtbDIvcmVzdWx0L2phcGFuY3JsZi54bWwuc2F4MgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NzhlYWU0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvamFwYW5jcmxmLnhtbC5zYXgyCkBAIC0wLDAgKzEsMTEgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLnN0YXJ0RWxlbWVudE5zKOWFpeWKm+ODoeODg+OCu+ODvOOCuCwgTlVMTCwgJ2h0dHA6Ly9zY2hlbWFzLmNvcmR5cy5jb20vd2ViYXBwcy8xLjAvYnBtL2M4YzhiODJhLTBhYzAtM2QxOS0wMWUyLWJkYTc0YWY5YjgyNicsIDEsIHhtbG5zPSdodHRwOi8vc2NoZW1hcy5jb3JkeXMuY29tL3dlYmFwcHMvMS4wL2JwbS9jOGM4YjgyYS0wYWMwLTNkMTktMDFlMi1iZGE3NGFmOWI4MjYnLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCisJLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKEVsZSwgYzhjLCAnaHR0cDovL3NjaGVtYXMuY29yZHlzLmNvbS93ZWJhcHBzLzEuMC9icG0vYzhjOGI4MmEtMGFjMC0zZDE5LTAxZTItYmRhNzRhZjliODI2JywgMSwgeG1sbnM6YzhjPSdodHRwOi8vc2NoZW1hcy5jb3JkeXMuY29tL3dlYmFwcHMvMS4wL2JwbS9jOGM4YjgyYS0wYWMwLTNkMTktMDFlMi1iZGE3NGFmOWI4MjYnLCAwLCAwKQorU0FYLmVuZEVsZW1lbnROcyhFbGUsIGM4YywgJ2h0dHA6Ly9zY2hlbWFzLmNvcmR5cy5jb20vd2ViYXBwcy8xLjAvYnBtL2M4YzhiODJhLTBhYzAtM2QxOS0wMWUyLWJkYTc0YWY5YjgyNicpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5lbmRFbGVtZW50TnMo5YWl5Yqb44Oh44OD44K744O844K4LCBOVUxMLCAnaHR0cDovL3NjaGVtYXMuY29yZHlzLmNvbS93ZWJhcHBzLzEuMC9icG0vYzhjOGI4MmEtMGFjMC0zZDE5LTAxZTItYmRhNzRhZjliODI2JykKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9uYW1lc3BhY2VzL2Vycl8wLnhtbCBiL2xpYnhtbDIvcmVzdWx0L25hbWVzcGFjZXMvZXJyXzAueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk2OGQ5NTQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9uYW1lc3BhY2VzL2Vycl8wLnhtbApAQCAtMCwwICsxLDIgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPGZvbyB4bWxuc2Jhcj0iMSIvPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvbmFtZXNwYWNlcy9lcnJfMC54bWwuZXJyIGIvbGlieG1sMi9yZXN1bHQvbmFtZXNwYWNlcy9lcnJfMC54bWwuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9uYW1lc3BhY2VzL2Vycl8wLnhtbC5lcnIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L25hbWVzcGFjZXMvZXJyXzEueG1sIGIvbGlieG1sMi9yZXN1bHQvbmFtZXNwYWNlcy9lcnJfMS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTRhYThmZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L25hbWVzcGFjZXMvZXJyXzEueG1sCkBAIC0wLDAgKzEsMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8Zm9vIHhtbG5zOj0iaHR0cDovL2V4YW1wbGUuY29tLyIvPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvbmFtZXNwYWNlcy9lcnJfMS54bWwuZXJyIGIvbGlieG1sMi9yZXN1bHQvbmFtZXNwYWNlcy9lcnJfMS54bWwuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc3NDY2Y2YKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9uYW1lc3BhY2VzL2Vycl8xLnhtbC5lcnIKQEAgLTAsMCArMSwzIEBACisuL3Rlc3QvbmFtZXNwYWNlcy9lcnJfMS54bWw6MTogbmFtZXNwYWNlIGVycm9yIDogRmFpbGVkIHRvIHBhcnNlIFFOYW1lICd4bWxuczonCis8Zm9vIHhtbG5zOj0iaHR0cDovL2V4YW1wbGUuY29tLyIvPgorICAgICAgICAgICBeCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9uYW1lc3BhY2VzL2Vycl8xMC54bWwgYi9saWJ4bWwyL3Jlc3VsdC9uYW1lc3BhY2VzL2Vycl8xMC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L25hbWVzcGFjZXMvZXJyXzEwLnhtbApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvbmFtZXNwYWNlcy9lcnJfMTAueG1sLmVyciBiL2xpYnhtbDIvcmVzdWx0L25hbWVzcGFjZXMvZXJyXzEwLnhtbC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTRhNGI1NQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L25hbWVzcGFjZXMvZXJyXzEwLnhtbC5lcnIKQEAgLTAsMCArMSwzIEBACisuL3Rlc3QvbmFtZXNwYWNlcy9lcnJfMTAueG1sOjE6IHBhcnNlciBlcnJvciA6IEF0dHJpYnV0ZSB4bWxucyByZWRlZmluZWQKKzx0c3QgeG1sbnM9Imh0dHA6Ly9leGFtcGxlLmNvbS8iIHhtbG5zPSJodHRwOi8vZXhhbXBsZS5jb20vIi8+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9uYW1lc3BhY2VzL2Vycl8xMS54bWwgYi9saWJ4bWwyL3Jlc3VsdC9uYW1lc3BhY2VzL2Vycl8xMS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L25hbWVzcGFjZXMvZXJyXzExLnhtbApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvbmFtZXNwYWNlcy9lcnJfMTEueG1sLmVyciBiL2xpYnhtbDIvcmVzdWx0L25hbWVzcGFjZXMvZXJyXzExLnhtbC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjE5YmMwMAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L25hbWVzcGFjZXMvZXJyXzExLnhtbC5lcnIKQEAgLTAsMCArMSwzIEBACisuL3Rlc3QvbmFtZXNwYWNlcy9lcnJfMTEueG1sOjE6IHBhcnNlciBlcnJvciA6IEF0dHJpYnV0ZSB4bWxuczphIHJlZGVmaW5lZAorPHRzdCB4bWxuczphPSJodHRwOi8vZXhhbXBsZS5jb20vIiB4bWxuczphPSJodHRwOi8vZXhhbXBsZS5jb20vIi8+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvbmFtZXNwYWNlcy9lcnJfMi54bWwgYi9saWJ4bWwyL3Jlc3VsdC9uYW1lc3BhY2VzL2Vycl8yLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43M2U3MjdiCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvbmFtZXNwYWNlcy9lcnJfMi54bWwKQEAgLTAsMCArMSwyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzw6Lz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L25hbWVzcGFjZXMvZXJyXzIueG1sLmVyciBiL2xpYnhtbDIvcmVzdWx0L25hbWVzcGFjZXMvZXJyXzIueG1sLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMzFiY2ZmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvbmFtZXNwYWNlcy9lcnJfMi54bWwuZXJyCkBAIC0wLDAgKzEsMyBAQAorLi90ZXN0L25hbWVzcGFjZXMvZXJyXzIueG1sOjE6IG5hbWVzcGFjZSBlcnJvciA6IEZhaWxlZCB0byBwYXJzZSBRTmFtZSAnOicKKzw6Lz4KKyAgXgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvbmFtZXNwYWNlcy9lcnJfMy54bWwgYi9saWJ4bWwyL3Jlc3VsdC9uYW1lc3BhY2VzL2Vycl8zLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZTUxODM0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvbmFtZXNwYWNlcy9lcnJfMy54bWwKQEAgLTAsMCArMSwyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzw6Zm9vLz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L25hbWVzcGFjZXMvZXJyXzMueG1sLmVyciBiL2xpYnhtbDIvcmVzdWx0L25hbWVzcGFjZXMvZXJyXzMueG1sLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMThmZTlmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvbmFtZXNwYWNlcy9lcnJfMy54bWwuZXJyCkBAIC0wLDAgKzEsMyBAQAorLi90ZXN0L25hbWVzcGFjZXMvZXJyXzMueG1sOjE6IG5hbWVzcGFjZSBlcnJvciA6IEZhaWxlZCB0byBwYXJzZSBRTmFtZSAnOmZvbycKKzw6Zm9vLz4KKyAgICAgXgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvbmFtZXNwYWNlcy9lcnJfNC54bWwgYi9saWJ4bWwyL3Jlc3VsdC9uYW1lc3BhY2VzL2Vycl80LnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMGQ2NjRlCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvbmFtZXNwYWNlcy9lcnJfNC54bWwKQEAgLTAsMCArMSwyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxmOiB4bWxuczpmPSJodHRwOi8vZXhhbXBsZS5jb20vZm9vIi8+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9uYW1lc3BhY2VzL2Vycl80LnhtbC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9uYW1lc3BhY2VzL2Vycl80LnhtbC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzliMGMwMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L25hbWVzcGFjZXMvZXJyXzQueG1sLmVycgpAQCAtMCwwICsxLDMgQEAKKy4vdGVzdC9uYW1lc3BhY2VzL2Vycl80LnhtbDoxOiBuYW1lc3BhY2UgZXJyb3IgOiBGYWlsZWQgdG8gcGFyc2UgUU5hbWUgJ2Y6JworPGY6IHhtbG5zOmY9Imh0dHA6Ly9leGFtcGxlLmNvbS9mb28iLz4KKyAgIF4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L25hbWVzcGFjZXMvZXJyXzUueG1sIGIvbGlieG1sMi9yZXN1bHQvbmFtZXNwYWNlcy9lcnJfNS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2Q4ZDBiMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L25hbWVzcGFjZXMvZXJyXzUueG1sCkBAIC0wLDAgKzEsMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8ZjphOiB4bWxuczpmPSJodHRwOi8vZXhhbXBsZS5jb20vZm9vIi8+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9uYW1lc3BhY2VzL2Vycl81LnhtbC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9uYW1lc3BhY2VzL2Vycl81LnhtbC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDMyYTJlMQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L25hbWVzcGFjZXMvZXJyXzUueG1sLmVycgpAQCAtMCwwICsxLDMgQEAKKy4vdGVzdC9uYW1lc3BhY2VzL2Vycl81LnhtbDoxOiBuYW1lc3BhY2UgZXJyb3IgOiBGYWlsZWQgdG8gcGFyc2UgUU5hbWUgJ2Y6YTonCis8ZjphOiB4bWxuczpmPSJodHRwOi8vZXhhbXBsZS5jb20vZm9vIi8+CisgICAgXgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvbmFtZXNwYWNlcy9lcnJfNi54bWwgYi9saWJ4bWwyL3Jlc3VsdC9uYW1lc3BhY2VzL2Vycl82LnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYWEyYTU4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvbmFtZXNwYWNlcy9lcnJfNi54bWwKQEAgLTAsMCArMSwyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxmOmE6YiB4bWxuczpmPSJodHRwOi8vZXhhbXBsZS5jb20vZm9vIi8+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9uYW1lc3BhY2VzL2Vycl82LnhtbC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9uYW1lc3BhY2VzL2Vycl82LnhtbC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDdjMTRmZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L25hbWVzcGFjZXMvZXJyXzYueG1sLmVycgpAQCAtMCwwICsxLDMgQEAKKy4vdGVzdC9uYW1lc3BhY2VzL2Vycl82LnhtbDoxOiBuYW1lc3BhY2UgZXJyb3IgOiBGYWlsZWQgdG8gcGFyc2UgUU5hbWUgJ2Y6YTonCis8ZjphOmIgeG1sbnM6Zj0iaHR0cDovL2V4YW1wbGUuY29tL2ZvbyIvPgorICAgIF4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L25hbWVzcGFjZXMvZXJyXzcueG1sIGIvbGlieG1sMi9yZXN1bHQvbmFtZXNwYWNlcy9lcnJfNy54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGI0YzY2MgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L25hbWVzcGFjZXMvZXJyXzcueG1sCkBAIC0wLDAgKzEsMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8Zjpmb28vPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvbmFtZXNwYWNlcy9lcnJfNy54bWwuZXJyIGIvbGlieG1sMi9yZXN1bHQvbmFtZXNwYWNlcy9lcnJfNy54bWwuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU3ZmY5NWIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9uYW1lc3BhY2VzL2Vycl83LnhtbC5lcnIKQEAgLTAsMCArMSwzIEBACisuL3Rlc3QvbmFtZXNwYWNlcy9lcnJfNy54bWw6MTogbmFtZXNwYWNlIGVycm9yIDogTmFtZXNwYWNlIHByZWZpeCBmIG9uIGZvbyBpcyBub3QgZGVmaW5lZAorPGY6Zm9vLz4KKyAgICAgIF4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L25hbWVzcGFjZXMvZXJyXzgueG1sIGIvbGlieG1sMi9yZXN1bHQvbmFtZXNwYWNlcy9lcnJfOC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTYwODMxMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L25hbWVzcGFjZXMvZXJyXzgueG1sCkBAIC0wLDAgKzEsMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8dHN0Lz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L25hbWVzcGFjZXMvZXJyXzgueG1sLmVyciBiL2xpYnhtbDIvcmVzdWx0L25hbWVzcGFjZXMvZXJyXzgueG1sLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjczNWQ3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvbmFtZXNwYWNlcy9lcnJfOC54bWwuZXJyCkBAIC0wLDAgKzEsMyBAQAorLi90ZXN0L25hbWVzcGFjZXMvZXJyXzgueG1sOjE6IG5hbWVzcGFjZSBlcnJvciA6IHhtbCBuYW1lc3BhY2UgcHJlZml4IG1hcHBlZCB0byB3cm9uZyBVUkkKKzx0c3QgeG1sbnM6eG1sPSJodHRwOi8vZXhhbXBsZS5jb20vIi8+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9uYW1lc3BhY2VzL2Vycl85LnhtbCBiL2xpYnhtbDIvcmVzdWx0L25hbWVzcGFjZXMvZXJyXzkueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA0MDdkZmYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9uYW1lc3BhY2VzL2Vycl85LnhtbApAQCAtMCwwICsxLDIgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPHRzdCB4bWxuczphPSJodHRwOi8vZXhhbXBsZS5jb20vIiB4bWxuczpiPSJodHRwOi8vZXhhbXBsZS5jb20vIiBhOmVycj0iMSIgYjplcnI9IjIiLz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L25hbWVzcGFjZXMvZXJyXzkueG1sLmVyciBiL2xpYnhtbDIvcmVzdWx0L25hbWVzcGFjZXMvZXJyXzkueG1sLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMTgzN2ExCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvbmFtZXNwYWNlcy9lcnJfOS54bWwuZXJyCkBAIC0wLDAgKzEsMyBAQAorLi90ZXN0L25hbWVzcGFjZXMvZXJyXzkueG1sOjI6IG5hbWVzcGFjZSBlcnJvciA6IE5hbWVzcGFjZWQgQXR0cmlidXRlIGVyciBpbiAnaHR0cDovL2V4YW1wbGUuY29tLycgcmVkZWZpbmVkCisgICAgIGE6ZXJyPSIxIiBiOmVycj0iMiIvPgorICAgICAgICAgICAgICAgICAgICAgICAgXgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvbm9lbnQvYXR0MSBiL2xpYnhtbDIvcmVzdWx0L25vZW50L2F0dDEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDBhYTZiZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L25vZW50L2F0dDEKQEAgLTAsMCArMSwyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxkb2MgYXR0cj0idG8gbm9ybWFsaXplIHdpdGggYSAgICBzcGFjZSIvPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvbm9lbnQvYXR0MTAgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9hdHQxMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wN2YwMDk2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvbm9lbnQvYXR0MTAKQEAgLTAsMCArMSwxOCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IURPQ1RZUEUgZG9jIFsKKzwhRUxFTUVOVCBkb2MgKHRzdCkqPgorPCFFTEVNRU5UIHRzdCAoI1BDREFUQSk+Cis8IUFUVExJU1QgdHN0IGEgTk1UT0tFTlMgI0lNUExJRUQ+Cis8IUFUVExJU1QgdHN0IGIgQ0RBVEEgI0lNUExJRUQ+Cis8IUVOVElUWSBkICImI3hEOyI+Cis8IUVOVElUWSBhICImI3hBOyI+Cis8IUVOVElUWSBkYSAiJiN4RDsmI3hBOyI+CitdPgorPGRvYz4KKzx0c3QgYT0ieHl6IiBiPSIgIHh5eiIvPgorPHRzdCBhPSJBIEIiIGI9IiAgQSAgIEIgICIvPgorPHRzdCBhPSImIzEzOyYjMTM7QSYjMTA7JiMxMDtCJiMxMzsmIzEwOyIgYj0iJiMxMzsmIzEzO0EmIzEwOyYjMTA7QiYjMTM7JiMxMDsiLz4KKzx0c3QgYT0ieCB5IiBiPSIgeCAgeSAiLz4KKzx0c3QgYT0iYSBiIiBiPSIgYSBiICIvPgorPHRzdCBhPSJhIGIiIGI9IiAgYSAgYiAgIi8+Cis8L2RvYz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L25vZW50L2F0dDExIGIvbGlieG1sMi9yZXN1bHQvbm9lbnQvYXR0MTEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzY0NmU2MgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L25vZW50L2F0dDExCkBAIC0wLDAgKzEsOSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJ5ZXMiPz4KKzwhRE9DVFlQRSBhdHRyaWJ1dGVzIFsKKzwhRUxFTUVOVCBhdHRyaWJ1dGVzIEVNUFRZPgorPCFBVFRMSVNUIGF0dHJpYnV0ZXMgbm10b2tlbiBOTVRPS0VOICNJTVBMSUVEPgorPCFBVFRMSVNUIGF0dHJpYnV0ZXMgbm10b2tlbnMgTk1UT0tFTlMgI0lNUExJRUQ+Cis8IUVOVElUWSBlbnQgIiBlbnRpdHkmcmVjdXJzaXZlOyAiPgorPCFFTlRJVFkgcmVjdXJzaXZlICJyZWZlcmVuY2UiPgorXT4KKzxhdHRyaWJ1dGVzIG5tdG9rZW49ImVudGl0eXJlZmVyZW5jZSBlbnRpdHlyZWZlcmVuY2UgZW50aXR5cmVmZXJlbmNlIiBubXRva2Vucz0iVGVzdCYjMTM7JiMxMDsgdGhpcyBub3JtYWxpemF0aW9uIi8+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9ub2VudC9hdHQyIGIvbGlieG1sMi9yZXN1bHQvbm9lbnQvYXR0MgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yODk4OWEyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvbm9lbnQvYXR0MgpAQCAtMCwwICsxLDIgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPGRvYyBhdHRyPSJ0byBub3JtYWxpemUgICB3aXRoIGEgc3BhY2UiLz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L25vZW50L2F0dDMgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9hdHQzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNmM2FjNWMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9hdHQzCkBAIC0wLDAgKzEsMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8c2VsZWN0IG9uY2xpY2s9ImFhYWEmIzEwOyAgICAgIGJiYmImI3hBMDsiPmYmI3hBMDtvbzwvc2VsZWN0PgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvbm9lbnQvYXR0NCBiL2xpYnhtbDIvcmVzdWx0L25vZW50L2F0dDQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODgyY2VhNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L25vZW50L2F0dDQKQEAgLTAsMCArMSw5MjY0IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCEtLSBlZGl0ZWQgd2l0aCBYTUwgU3B5IHY0LjQgVSAoaHR0cDovL3d3dy54bWxzcHkuY29tKSBieSBTbGF2YSAoR0lWQykgLS0+Cis8ZWxlY3Ryb3htbCBtb2RpZmllZD0iMjAwMjEyMTZUMDcyNzI2Ij4KKwk8ZGF0YSBmcm9tPSIyMDAyMTAzMVQyMiIgdG89IjIwMDIxMTMwVDIyIj4KKwkJPHNlbGVjdD4KKwkJCTxkZXZpY2Ugc2VyaWFsbnVtYj0iRTAwMDAzNTYyIj4KKwkJCQk8cGFyIG1lbWluZD0iMTEzNDAwIiBoPSIzZGMxYThkZSI+CisJCQkJCTx2YWwgbz0iMCIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJlMDgiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMWMzMiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIyYTNjIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjM4MzUiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iNDY0NSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI1NDU1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjYyNjUiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iNzA3NSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSI3ZTg1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjhjOTYiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iOWFhNSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJhOGI2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImI2YzUiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iYzRkNyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJkMzBiIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImUwZjYiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iZWYwNiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSJmZDE3IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjEwYjI3IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjExOTM3IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjEyNzQ2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjEzNTU2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE0MzY2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE1MTgxIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE1Zjg1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE2ZDk1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE3YmE0IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE4OWI1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE5N2M0IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjFhNWQ1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjFiM2U2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjFjMWY2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjFkMDA1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjFkZTE1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjFlYzI1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjFmYTM2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjIwODQ1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjIxNjU2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjIyNDY1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjIzMjc2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjI0MDg2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjI0ZTk5IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjI1Y2E3IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjI2YWI3IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjI3OGM2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjI4NmQ2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjI5NGU2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjJhMzAxIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjJiMTA1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjJiZjE1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjJjZDI1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjJkYjM1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjJlOTQ2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjJmNzU1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjMwNTY2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjMxMzc1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjMyMTllIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjMyZjk2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjMzZGE2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjM0YmI2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjM1OWRlIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjM2N2Q2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjM3NWU2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjM4NDBlIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjM5MjFlIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjNhMDE2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjNhZTI3IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjNiYzM2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjNjYTQ3IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjNkODU2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjNlNjY3IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjNmNDgxIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjQwMjg1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjQxMDk1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjQxZWE1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjQyY2I1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjQzYWM1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjQ0OGQ1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjQ1NmU2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjQ2NGY1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjQ4MGZmIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjQ4ZjBlIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjQ5ZDFkIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjRhYjQ2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjRiOTU1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjRjNzY5IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjRkNTc3IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjRlMzg3IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjRmMTk2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjRmZmE2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjUwZGQwIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjUxYmM2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjUyOWQ2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjUzN2U3IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjU0NjAwIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjU1NDA2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjU2MjE1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjU3MDI2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjU3ZTM2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjU4YzQ2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjU5YTcwIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjVhODY3IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjViNjc2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjVjNDg3IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjVkMjk2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjVlMGE5IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjVlZWI4IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjVmY2M2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjYwYWQ3IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjYxOGU3IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjYyNmY3IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjYzNTA3IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjY0MzE3IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjY1MTI3IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjY1ZjM3IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjY2ZDQ2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjY3YjU3IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjY4OTY3IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjY5NzgyIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjZhNTg2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjZiMzk1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjZjMWE2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjZjZmI1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjZkZGM2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjZlYmQ2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjZmOWU2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjcwN2Y2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjcxNjA3IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjcyNDE3IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjczMjI3IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89Ijc0MDM3IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89Ijc0ZTQ3IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89Ijc1YzU3IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89Ijc2YTYzIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89Ijc3ODczIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89Ijc4NjgwIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89Ijc5NDhmIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjdhMjlmIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjdiMGFmIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjdiZWJmIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjdjY2NmIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjdkYWRmIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjdlOGZhIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjdmNzBhIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjgwNTFhIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjgxMzJhIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjgyMTNhIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjgyZjRhIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjgzZDVhIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89Ijg0YjZhIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89Ijg1OTdhIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89Ijg2NzhiIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89Ijg3NTliIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89Ijg4M2FjIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89Ijg5MWJiIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89Ijg5ZmNhIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjhhZGRhIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjhiYmViIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjhjOWZjIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjhkODBiIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjhlNjFhIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjhmNDJhIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjkwMjNhIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjkxMDRhIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjkxZTVhIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjkyYzZhIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjkzYTg0IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89Ijk0ODg1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89Ijk1Njk0IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89Ijk2NGE1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89Ijk3MmI0IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89Ijk4MGM1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89Ijk4ZWQ0IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89Ijk5Y2U1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjlhYWY1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjliOTA2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjljNzE2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjlkNTI2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjllMzM2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjlmMTQ1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjlmZjU2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImEwZDY1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImExYjc3IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImEyOTg2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImEzNzk1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImE0NWE3IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImE1M2I2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImE2MWM3IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImE2ZmQ2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImE3ZTAwIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImE4YzAwIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImE5YTA1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImFhODE1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImFiNjI1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImFjNDM1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImFkMjQ1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImFlMDU1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImFlZTY1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImFmYzc1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImIwYTg1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImIyNmE2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImIzNGI2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImI0MmM2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImI1MGQ2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImI1ZWU3IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImI2Y2Y2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImI3YjA3IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImI4OTE3IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImI5NzI4IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImJhNTM3IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImJiMzQ3IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImJjMTU3IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImJjZjY3IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImJkZDgxIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImJlYjg2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImJmOTk1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImMwN2E2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImMxNWI1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImMyM2M2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImMzMWQ1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImMzZmU2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImM0ZGY1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImM1YzA2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImM2YTE2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImM3ODI2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImM4NjM2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImM5NDQ2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImNhMjU2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImNiMDY2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImNiZTc2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImNjYzg3IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImNkYTk2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImNlOGE4IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImNmNmI3IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImQwNGM4IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImQxMmQ3IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImQyMGU3IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImQyZjAyIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImQzZDA1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImQ0YjE1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImQ1OTI2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImQ2NzM1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImQ3NTQ2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImQ4MzU1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImQ5MTY2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImQ5Zjc1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImRhZDg3IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImRiYjk3IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImRjOWE4IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImRkN2I3IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImRlNWM2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImRmM2Q3IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImUwMWQ3IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImUwZmU1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImUxZGY1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImUyYzA0IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImUzYTE0IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImU0ODI0IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImU1NjM0IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImU2NDQ0IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImU3MjU1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImU4MDZmIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImU4ZTdmIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImU5YzhlIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImVhYTlmIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImViOGFlIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImVjNmJmIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImVkNGNlIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImVlMmRmIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImVmMGVmIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImVmZjAxIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImYwZDEwIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImYxYjIwIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImYyOTMwIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImYzNzQwIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImY0NTUxIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImY1MzYxIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImY2MTcyIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImY2ZjgwIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImY3ZDkxIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImY4YmExIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImY5OWIxIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImZhN2MwIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImZiNWQxIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImZjM2UwIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImZkMWZiIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImZlMDBiIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImZlZTFjIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89ImZmYzJjIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjEwMGEzYiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxMDE4NGMiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTAyNjViIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjEwMzQ2YyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxMDQyN2IiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTA1MDhkIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjEwNWU5ZCIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxMDZjYWQiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTA3YWJkIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjEwODhjZCIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxMDk2ZGUiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTBhNGVkIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjEwYjJmZSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxMGMxMGQiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTBjZjFlIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjEwZGQyZSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxMGViNjYiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTBmOTRlIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjExMDc1ZSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxMTE1NmQiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTEyMzg4IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjExMzE4NyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxMTNmYjAiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTE0ZGE2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjExNWJiNiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxMTY5YzYiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTE3N2Q2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjExODVlOCIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxMTkzZjciIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTFhMjA4IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjExYjAxNyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxMWJlMmYiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTFjYzM3IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjExZGE0NyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxMWU4NTciIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTFmNjY3IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjEyMDU3OCIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxMjEzODYiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTIyMTk2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjEyMmZhNiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxMjNkYjUiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTI0YmM1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjEyNTlkNSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxMjY3ZTQiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTI3NjAwIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjEyODMwNSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxMjkxMTUiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTI5ZjI1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjEyYWQzNSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxMmJiNDUiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTJjOTU0IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjEyZDc2NiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxMmU1NzUiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTJmMzg2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjEzMDE5NiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxMzBmYTYiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTMxZGI3IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjEzMmJjNSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxMzM5ZDQiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTM0N2U1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjEzNTVmNCIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxMzY0MDQiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTM3MjE0IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjEzODAyNCIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxMzhlMzMiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTM5YzQ0IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjEzYWE1NCIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxM2I4NjUiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTNjNjdlIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjEzZDQ4ZSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxM2UyOWUiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTNmMGFlIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjEzZmViZiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxNDBjY2YiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTQxYWRmIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE0MjhlZiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxNDM2ZmYiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTQ0NTBmIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE0NTMxZiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxNDYxMzAiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTQ2ZjQwIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE0N2Q0NCIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxNDhiNTciIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTQ5OTY1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE0YTc3NSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxNGI1ODQiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTRjMzk3IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE0ZDFhNCIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxNGRmYjYiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTRlZGM1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE0ZmJkNSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxNTA5ZTUiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTUxN2ZmIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE1MjYwNSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxNTM0MTUiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTU0MjI1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE1NTAzNSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxNTVlNDUiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTU2YzU1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE1N2E2NSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxNTg4NzUiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTU5Njg2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE1YTQ5NSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxNWIyYTYiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTVjMGI2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE1Y2VjNiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxNWRjZDUiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTVlYWU2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE1ZjhmNSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxNjA3MDYiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTYxNTE3IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE2MjMyNiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxNjMxMzciIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTYzZjQ2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE2NGQ1NyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxNjViNjciIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTY2OTgyIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE2Nzc4NiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxNjg1OTYiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTY5M2E2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE2YTFiNSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxNmFmYzYiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTZiZGQ1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE2Y2JlNiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxNmQ5ZjYiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTZlODA3IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE2ZjYxNiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxNzA0MjkiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTcxMjM2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE3MjA0NyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxNzJlNTciIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTczYzY3IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE3NGE3NyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxNzU4ODciIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTc2Njk0IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE3NzRhMyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxNzgyYjMiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTc5MGM1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE3OWVkNCIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxN2FjZTQiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTdiYWZkIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE3YzkwZiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxN2Q3MWUiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTdlNTJmIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE3ZjMzZiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxODAxNGYiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTgwZjVmIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE4MWQ2ZSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxODJiN2YiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTgzOThmIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE4NDdhMSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxODU1YWYiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTg2M2MwIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE4NzFjZiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxODdmZTAiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTg4ZGVmIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE4OWMwMCIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxOGI4MGQiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMThjNjFjIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE4ZDQyYyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxOGUyM2IiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMThmMDRiIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE4ZmU1ZSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxOTBjNzYiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTkxYTg2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE5Mjg5NiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxOTM2YTYiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTk0NGI3IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE5NTJjNiIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxOTYwZDciIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTk2ZWU2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE5N2NmOCIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxOThiMGYiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTk5OTFmIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE5YjU0MSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxOWMzNGQiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTlkMTVlIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE5ZGY4MCIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxOWVkOTAiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMTllZWJlIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjE5ZmI4ZSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxYTA5YTAiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMWExN2FlIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjFhMjViZSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxYTMzY2QiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMWE0MWRkIiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjFhNGZlZCIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxYTVlMDgiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMWE2YzA1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjFhN2ExNSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxYTg4MjYiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMWE5NjM3IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjFhYTQ0NSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxYWIyNTUiIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMWFjMDY1IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjFhY2U3NSIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxYWRjODciIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMWFlYTk2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjFhZjhhNyIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIxYjA2YjciIHY9IjUzIi8+CisJCQkJCTx2YWwgbz0iMWIxNGM2IiB2PSI1MyIvPgorCQkJCQk8dmFsIG89IjFjNzQ2MCIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIxYzgyNzAiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMWM5MDdlIiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjFjOWU4ZiIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIxY2FjYTIiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMWNiYWIxIiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjFjYzhjMSIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIxY2Q2ZDAiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMWNlNGRlIiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjFjZjJmMCIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIxZDAxMDkiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMWQwZjA2IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjFkMWQxNSIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIxZDJiMjUiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMWQzOTM1IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjFkNDc0NSIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIxZDU1NTUiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMWQ2MzY2IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjFkNzE3NSIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIxZDdmODYiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMWQ4ZDk1IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjFkOWJhNiIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIxZGE5YjYiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMWRiN2M3IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjFkYzVkNSIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIxZGQzZTYiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMWRlMWY1IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjFkZjAwNiIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIxZGZlMTYiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMWUwYzI2IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjFlMWEzNiIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIxZTI4NDciIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMWUzNjU5IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjFlNDQ2NyIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIxZTUyODEiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMWU2MDg2IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjFlNmU5NiIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIxZTdjYTYiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMWU4YWI1IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjFlOThjNiIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIxZWE2ZDUiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMWViNGU2IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjFlYzJmNiIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIxZWQxMDYiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMWVkZjE2IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjFlZWQyNiIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIxZWZiMzYiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMWYwOTQ2IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjFmMTc1NiIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIxZjI1NjYiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMWYzMzc2IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjFmNDE4NyIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIxZjRmOTYiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMWY1ZGE3IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjFmNmJiNiIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIxZjc5YzciIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMWY4N2Q2IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjFmOTVlNyIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIxZmE0MDEiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMWZiMjA0IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjFmYzAxNiIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIxZmNlMjUiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMWZkYzM1IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjFmZWE0NSIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIxZmY4NTUiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjAwNjY1IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjIwMTQ3NSIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyMDIyODYiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjAzMDk1IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjIwM2VhNSIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyMDRjYjYiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjA1YWM2IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjIwNjhkNiIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyMDc2ZTYiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjA4NGY2IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjIwOTMwNiIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyMGExMTYiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjBhZjI2IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjIwYmQzNyIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyMGNiNDYiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjBkOTU3IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjIwZTc2NyIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyMGY1ODEiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjEwMzg2IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjIxMTE5NCIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyMTFmYTUiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjEyZGI1IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjIxM2JjNSIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyMTQ5ZDYiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjE1N2U1IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjIxNjVmNiIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyMTc0MDYiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjE4MjE3IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjIxOTAyNiIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyMTllMzkiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjFhYzQ2IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjIxYmE1NyIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyMWM4NjciIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjFkNjc3IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjIxZTQ4NyIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyMWYyOTYiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjIwMGE2IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjIyMGViNyIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyMjFjYzYiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjIyYWQ3IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjIyMzhlNyIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyMjQ3MDEiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjI1NTA1IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjIyNjMxNSIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyMjcxMjUiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjI3ZjM1IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjIyOGQ0NSIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyMjliNTQiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjJhOTY1IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjIyYjc3NiIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyMmM1ODYiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjJkMzk3IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjIyZTFhNiIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyMmVmYjYiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjJmZGM3IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjIzMGJkNyIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyMzE5ZTYiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjMyN2Y2IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjIzMzYxYiIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyMzQ0MTYiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjM1MjI2IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjIzNjAzNyIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyMzZlNDYiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjM3YzU3IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjIzOGE2NiIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyMzk4ODEiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjNhNjg1IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjIzYjQ5NSIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyM2MyYTQiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjNkMGI1IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjIzZGVjNCIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyM2VjZDUiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjNmYWU0IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjI0MDhmNiIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyNDE3MDYiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjQyNTE4IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjI0MzMyNSIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyNDQxMzciIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjQ0ZjQ2IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjI0NmI2NiIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyNDc5NzYiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjQ4Nzg2IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjI0OTU3ZSIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyNGEzOGYiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjRiMTljIiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjI0YmZhYyIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyNGNkYmMiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjRkYmNkIiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjI0ZTllNSIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyNGY4MDgiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjUwNjE2IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjI1MTQyNiIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyNTIyMzYiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjUzMDQ3IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjI1M2U1NiIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyNTRjNjciIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjU1YTc2IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjI1Njg4NyIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyNTc2OTciIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjU4NGE4IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjI1OTJiNiIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyNWEwYzciIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjVhZWQ3IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjI1YmNlNyIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyNWNhZjgiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjVkOTA3IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjI1ZTcxOCIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyNWY1MjciIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjYwMzM4IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjI2MTE0OSIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyNjFmNTkiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjYyZDY4IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjI2M2I4MyIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyNjQ5ODYiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjY1Nzk1IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjI2NjVhNiIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyNjczYjUiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjY4MWM2IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjI2OGZkNSIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyNjlkZTYiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjZhYmY2IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjI2YmEwNiIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyNmM4MTciIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjZkNjJiIiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjI2ZTQzNiIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyNmYyNDciIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjcwMDU3IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjI3MGU2NyIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyNzFjNzciIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjcyYTg3IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjI3Mzg5NyIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyNzQ2YTgiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjc1NGI5IiB2PSI1NSIvPgorCQkJCQk8dmFsIG89IjI3NjJjNyIgdj0iNTUiLz4KKwkJCQkJPHZhbCBvPSIyNzcwZDgiIHY9IjU1Ii8+CisJCQkJCTx2YWwgbz0iMjc3ZWU3IiB2PSI1NSIvPgorCQkJCTwvcGFyPgorCQkJCTxwYXIgbWVtaW5kPSIxNjkzNjYwMCIgaD0iM2RjMWE4ZGUiPgorCQkJCQk8dmFsIG89IjAiIHY9IjE5Ni40Ii8+CisJCQkJCTx2YWwgbz0iZTA4IiB2PSIxOTkuNSIvPgorCQkJCQk8dmFsIG89IjFjMzIiIHY9IjIwMC44Ii8+CisJCQkJCTx2YWwgbz0iMmEzYyIgdj0iMjAxLjgiLz4KKwkJCQkJPHZhbCBvPSIzODM1IiB2PSIxOTkuOSIvPgorCQkJCQk8dmFsIG89IjQ2NDUiIHY9IjE5Ny45Ii8+CisJCQkJCTx2YWwgbz0iNTQ1NSIgdj0iMTkzLjIiLz4KKwkJCQkJPHZhbCBvPSI2MjY1IiB2PSIxOTcuNiIvPgorCQkJCQk8dmFsIG89IjcwNzUiIHY9IjE5NS42Ii8+CisJCQkJCTx2YWwgbz0iN2U4NSIgdj0iMTkyLjciLz4KKwkJCQkJPHZhbCBvPSI4Yzk2IiB2PSIxOTUuMyIvPgorCQkJCQk8dmFsIG89IjlhYTUiIHY9IjE5NS40Ii8+CisJCQkJCTx2YWwgbz0iYThiNiIgdj0iMTk1LjYiLz4KKwkJCQkJPHZhbCBvPSJiNmM1IiB2PSIxOTcuMyIvPgorCQkJCQk8dmFsIG89ImM0ZDciIHY9IjIyMi42Ii8+CisJCQkJCTx2YWwgbz0iZDMwYiIgdj0iMjIwLjkiLz4KKwkJCQkJPHZhbCBvPSJlMGY2IiB2PSIyMjIuOCIvPgorCQkJCQk8dmFsIG89ImVmMDYiIHY9IjE4MCIvPgorCQkJCQk8dmFsIG89ImZkMTciIHY9IjE4MCIvPgorCQkJCQk8dmFsIG89IjEwYjI3IiB2PSIyMjEuNCIvPgorCQkJCQk8dmFsIG89IjExOTM3IiB2PSIyMjIuMiIvPgorCQkJCQk8dmFsIG89IjEyNzQ2IiB2PSIyMjIuNSIvPgorCQkJCQk8dmFsIG89IjEzNTU2IiB2PSIyMjAuNSIvPgorCQkJCQk8dmFsIG89IjE0MzY2IiB2PSIyMjAuOCIvPgorCQkJCQk8dmFsIG89IjE1MTgxIiB2PSIyMjAiLz4KKwkJCQkJPHZhbCBvPSIxNWY4NSIgdj0iMjIxLjIiLz4KKwkJCQkJPHZhbCBvPSIxNmQ5NSIgdj0iMjIwLjMiLz4KKwkJCQkJPHZhbCBvPSIxN2JhNCIgdj0iMjIxLjEiLz4KKwkJCQkJPHZhbCBvPSIxODliNSIgdj0iMjIwLjYiLz4KKwkJCQkJPHZhbCBvPSIxOTdjNCIgdj0iMjIwLjkiLz4KKwkJCQkJPHZhbCBvPSIxYTVkNSIgdj0iMjE5LjIiLz4KKwkJCQkJPHZhbCBvPSIxYjNlNiIgdj0iMjE5LjMiLz4KKwkJCQkJPHZhbCBvPSIxYzFmNiIgdj0iMjIwLjUiLz4KKwkJCQkJPHZhbCBvPSIxZDAwNSIgdj0iMjIwLjciLz4KKwkJCQkJPHZhbCBvPSIxZGUxNSIgdj0iMjIwLjEiLz4KKwkJCQkJPHZhbCBvPSIxZWMyNSIgdj0iMjIwLjQiLz4KKwkJCQkJPHZhbCBvPSIxZmEzNiIgdj0iMjIwLjEiLz4KKwkJCQkJPHZhbCBvPSIyMDg0NSIgdj0iMjIwLjEiLz4KKwkJCQkJPHZhbCBvPSIyMTY1NiIgdj0iMjIwLjciLz4KKwkJCQkJPHZhbCBvPSIyMjQ2NSIgdj0iMjIwLjciLz4KKwkJCQkJPHZhbCBvPSIyMzI3NiIgdj0iMjIwLjUiLz4KKwkJCQkJPHZhbCBvPSIyNDA4NiIgdj0iMTgwIi8+CisJCQkJCTx2YWwgbz0iMjRlOTkiIHY9IjIyMiIvPgorCQkJCQk8dmFsIG89IjI1Y2E3IiB2PSIyMjEuOCIvPgorCQkJCQk8dmFsIG89IjI2YWI3IiB2PSIyMjAuNiIvPgorCQkJCQk8dmFsIG89IjI3OGM2IiB2PSIxODAiLz4KKwkJCQkJPHZhbCBvPSIyODZkNiIgdj0iMjIwLjgiLz4KKwkJCQkJPHZhbCBvPSIyOTRlNiIgdj0iMjE4LjkiLz4KKwkJCQkJPHZhbCBvPSIyYTMwMSIgdj0iMjIwIi8+CisJCQkJCTx2YWwgbz0iMmIxMDUiIHY9IjE4MCIvPgorCQkJCQk8dmFsIG89IjJiZjE1IiB2PSIxODAiLz4KKwkJCQkJPHZhbCBvPSIyY2QyNSIgdj0iMjE4LjgiLz4KKwkJCQkJPHZhbCBvPSIyZGIzNSIgdj0iMTgwIi8+CisJCQkJCTx2YWwgbz0iMmU5NDYiIHY9IjE4MCIvPgorCQkJCQk8dmFsIG89IjJmNzU1IiB2PSIxODAiLz4KKwkJCQkJPHZhbCBvPSIzMDU2NiIgdj0iMjE5LjkiLz4KKwkJCQkJPHZhbCBvPSIzMTM3NSIgdj0iMjIwLjUiLz4KKwkJCQkJPHZhbCBvPSIzMjE5ZSIgdj0iMjE5LjciLz4KKwkJCQkJPHZhbCBvPSIzMmY5NiIgdj0iMjIwLjgiLz4KKwkJCQkJPHZhbCBvPSIzM2RhNiIgdj0iMjIwLjYiLz4KKwkJCQkJPHZhbCBvPSIzNGJiNiIgdj0iMjE5Ii8+CisJCQkJCTx2YWwgbz0iMzU5ZGUiIHY9IjIyMC4zIi8+CisJCQkJCTx2YWwgbz0iMzY3ZDYiIHY9IjIxOS4zIi8+CisJCQkJCTx2YWwgbz0iMzc1ZTYiIHY9IjE4MCIvPgorCQkJCQk8dmFsIG89IjM4NDBlIiB2PSIxODAiLz4KKwkJCQkJPHZhbCBvPSIzOTIxZSIgdj0iMTgwIi8+CisJCQkJCTx2YWwgbz0iM2EwMTYiIHY9IjE4MCIvPgorCQkJCQk8dmFsIG89IjNhZTI3IiB2PSIyMjAuOSIvPgorCQkJCQk8dmFsIG89IjNiYzM2IiB2PSIyMjAuMSIvPgorCQkJCQk8dmFsIG89IjNjYTQ3IiB2PSIxODAiLz4KKwkJCQkJPHZhbCBvPSIzZDg1NiIgdj0iMjIxLjQiLz4KKwkJCQkJPHZhbCBvPSIzZTY2NyIgdj0iMjIwLjIiLz4KKwkJCQkJPHZhbCBvPSIzZjQ4MSIgdj0iMjE3LjYiLz4KKwkJCQkJPHZhbCBvPSI0MDI4NSIgdj0iMjE4LjQiLz4KKwkJCQkJPHZhbCBvPSI0MTA5NSIgdj0iMjE4LjEiLz4KKwkJCQkJPHZhbCBvPSI0MWVhNSIgdj0iMjE4LjciLz4KKwkJCQkJPHZhbCBvPSI0MmNiNSIgdj0iMjE5LjkiLz4KKwkJCQkJPHZhbCBvPSI0M2FjNSIgdj0iMjE4LjciLz4KKwkJCQkJPHZhbCBvPSI0NDhkNSIgdj0iMTgwIi8+CisJCQkJCTx2YWwgbz0iNDU2ZTYiIHY9IjIyMC43Ii8+CisJCQkJCTx2YWwgbz0iNDY0ZjUiIHY9IjIyMi43Ii8+CisJCQkJCTx2YWwgbz0iNDgwZmYiIHY9IjE4MCIvPgorCQkJCQk8dmFsIG89IjQ4ZjBlIiB2PSIxODAiLz4KKwkJCQkJPHZhbCBvPSI0OWQxZCIgdj0iMTgwIi8+CisJCQkJCTx2YWwgbz0iNGFiNDYiIHY9IjE4MCIvPgorCQkJCQk8dmFsIG89IjRiOTU1IiB2PSIxODAiLz4KKwkJCQkJPHZhbCBvPSI0Yzc2OSIgdj0iMTgwIi8+CisJCQkJCTx2YWwgbz0iNGQ1NzciIHY9IjE4MCIvPgorCQkJCQk8dmFsIG89IjRlMzg3IiB2PSIxODAiLz4KKwkJCQkJPHZhbCBvPSI0ZjE5NiIgdj0iMTgwIi8+CisJCQkJCTx2YWwgbz0iNGZmYTYiIHY9IjE4MCIvPgorCQkJCQk8dmFsIG89IjUwZGQwIiB2PSIxODAiLz4KKwkJCQkJPHZhbCBvPSI1MWJjNiIgdj0iMTgwIi8+CisJCQkJCTx2YWwgbz0iNTI5ZDYiIHY9IjE4MCIvPgorCQkJCQk8dmFsIG89IjUzN2U3IiB2PSIyMjAuNSIvPgorCQkJCQk8dmFsIG89IjU0NjAwIiB2PSIyMTguOSIvPgorCQkJCQk8dmFsIG89IjU1NDA2IiB2PSIyMTkuMyIvPgorCQkJCQk8dmFsIG89IjU2MjE1IiB2PSIyMTkuNiIvPgorCQkJCQk8dmFsIG89IjU3MDI2IiB2PSIyMTkuMyIvPgorCQkJCQk8dmFsIG89IjU3ZTM2IiB2PSIyMTkuNyIvPgorCQkJCQk8dmFsIG89IjU4YzQ2IiB2PSIyMjAuNCIvPgorCQkJCQk8dmFsIG89IjU5YTcwIiB2PSIyMjAuNSIvPgorCQkJCQk8dmFsIG89IjVhODY3IiB2PSIyMjEuOCIvPgorCQkJCQk8dmFsIG89IjViNjc2IiB2PSIxODAiLz4KKwkJCQkJPHZhbCBvPSI1YzQ4NyIgdj0iMTgwIi8+CisJCQkJCTx2YWwgbz0iNWQyOTYiIHY9IjE4MCIvPgorCQkJCQk8dmFsIG89IjVlMGE5IiB2PSIyMjIuNSIvPgorCQkJCQk8dmFsIG89IjVlZWI4IiB2PSIyMjQuNSIvPgorCQkJCQk8dmFsIG89IjVmY2M2IiB2PSIyMjMuNiIvPgorCQkJCQk8dmFsIG89IjYwYWQ3IiB2PSIxODAiLz4KKwkJCQkJPHZhbCBvPSI2MThlNyIgdj0iMTgwIi8+CisJCQkJCTx2YWwgbz0iNjI2ZjciIHY9IjE4MCIvPgorCQkJCQk8dmFsIG89IjYzNTA3IiB2PSIxODAiLz4KKwkJCQkJPHZhbCBvPSI2NDMxNyIgdj0iMTgwIi8+CisJCQkJCTx2YWwgbz0iNjUxMjciIHY9IjIyMi4zIi8+CisJCQkJCTx2YWwgbz0iNjVmMzciIHY9IjIyMi42Ii8+CisJCQkJCTx2YWwgbz0iNjZkNDYiIHY9IjIyMC44Ii8+CisJCQkJCTx2YWwgbz0iNjdiNTciIHY9IjIyMC44Ii8+CisJCQkJCTx2YWwgbz0iNjg5NjciIHY9IjIyMC4yIi8+CisJCQkJCTx2YWwgbz0iNjk3ODIiIHY9IjIyMC4yIi8+CisJCQkJCTx2YWwgbz0iNmE1ODYiIHY9IjIxOS4zIi8+CisJCQkJCTx2YWwgbz0iNmIzOTUiIHY9IjIxOS44Ii8+CisJCQkJCTx2YWwgbz0iNmMxYTYiIHY9IjIxOSIvPgorCQkJCQk8dmFsIG89IjZjZmI1IiB2PSIyMTguNyIvPgorCQkJCQk8dmFsIG89IjZkZGM2IiB2PSIyMjAuNyIvPgorCQkJCQk8dmFsIG89IjZlYmQ2IiB2PSIxODAiLz4KKwkJCQkJPHZhbCBvPSI2ZjllNiIgdj0iMjIxLjgiLz4KKwkJCQkJPHZhbCBvPSI3MDdmNiIgdj0iMjIyLjgiLz4KKwkJCQkJPHZhbCBvPSI3MTYwNyIgdj0iMTgwIi8+CisJCQkJCTx2YWwgbz0iNzI0MTciIHY9IjE4MCIvPgorCQkJCQk8dmFsIG89IjczMjI3IiB2PSIxODAiLz4KKwkJCQkJPHZhbCBvPSI3NDAzNyIgdj0iMjIzLjgiLz4KKwkJCQkJPHZhbCBvPSI3NGU0NyIgdj0iMjIzLjQiLz4KKwkJCQkJPHZhbCBvPSI3NWM1NyIgdj0iMTgwIi8+CisJCQkJCTx2YWwgbz0iNzZhNjMiIHY9IjE4MCIvPgorCQkJCQk8dmFsIG89Ijc3ODczIiB2PSIxODAiLz4KKwkJCQkJPHZhbCBvPSI3ODY4MCIgdj0iMTgwIi8+CisJCQkJCTx2YWwgbz0iNzk0OGYiIHY9IjE4MCIvPgorCQkJCQk8dmFsIG89IjdhMjlmIiB2PSIxODAiLz4KKwkJCQkJPHZhbCBvPSI3YjBhZiIgdj0iMjIyLjEiLz4KKwkJCQkJPHZhbCBvPSI3YmViZiIgdj0iMjIxIi8+CisJCQkJCTx2YWwgbz0iN2NjY2YiIHY9IjIxOS41Ii8+CisJCQkJCTx2YWwgbz0iN2RhZGYiIHY9IjIxOS45Ii8+CisJCQkJCTx2YWwgbz0iN2U4ZmEiIHY9IjIyMC44Ii8+CisJCQkJCTx2YWwgbz0iN2Y3MGEiIHY9IjIyMC44Ii8+CisJCQkJCTx2YWwgbz0iODA1MWEiIHY9IjIxNy45Ii8+CisJCQkJCTx2YWwgbz0iODEzMmEiIHY9IjIxOSIvPgorCQkJCQk8dmFsIG89IjgyMTNhIiB2PSIyMTguNiIvPgorCQkJCQk8dmFsIG89IjgyZjRhIiB2PSIyMTkuNCIvPgorCQkJCQk8dmFsIG89IjgzZDVhIiB2PSIyMTkuNyIvPgorCQkJCQk8dmFsIG89Ijg0YjZhIiB2PSIxODAiLz4KKwkJCQkJPHZhbCBvPSI4NTk3YSIgdj0iMTgwIi8+CisJCQkJCTx2YWwgbz0iODY3OGIiIHY9IjE4MCIvPgorCQkJCQk8dmFsIG89Ijg3NTliIiB2PSIxODAiLz4KKwkJCQkJPHZhbCBvPSI4ODNhYyIgdj0iMjIzLjEiLz4KKwkJCQkJPHZhbCBvPSI4OTFiYiIgdj0iMjIyIi8+CisJCQkJCTx2YWwgbz0iODlmY2EiIHY9IjIyNC4yIi8+CisJCQkJCTx2YWwgbz0iOGFkZGEiIHY9IjE4MCIvPgorCQkJCQk8dmFsIG89IjhiYmViIiB2PSIxODAiLz4KKwkJCQkJPHZhbCBvPSI4YzlmYyIgdj0iMTgwIi8+CisJCQkJCTx2YWwgbz0iOGQ4MGIiIHY9IjE4MCIvPgorCQkJCQk8dmFsIG89IjhlNjFhIiB2PSIxODAiLz4KKwkJCQkJPHZhbCBvPSI4ZjQyYSIgdj0iMTgwIi8+CisJCQkJCTx2YWwgbz0iOTAyM2EiIHY9IjE4MCIvPgorCQkJCQk8dmFsIG89IjkxMDRhIiB2PSIyMjAuNCIvPgorCQkJCQk8dmFsIG89IjkxZTVhIiB2PSIxODAiLz4KKwkJCQkJPHZhbCBvPSI5MmM2YSIgdj0iMjE5LjYiLz4KKwkJCQkJPHZhbCBvPSI5M2E4NCIgdj0iMjE5LjIiLz4KKwkJCQkJPHZhbCBvPSI5NDg4NSIgdj0iMjE5Ii8+CisJCQkJCTx2YWwgbz0iOTU2OTQiIHY9IjIxOC41Ii8+CisJCQkJCTx2YWwgbz0iOTY0YTUiIHY9IjIxOS4zIi8+CisJCQkJCTx2YWwgbz0iOTcyYjQiIHY9IjIxOS40Ii8+CisJCQkJCTx2YWwgbz0iOTgwYzUiIHY9IjIyMSIvPgorCQkJCQk8dmFsIG89Ijk4ZWQ0IiB2PSIyMjAuNyIvPgorCQkJCQk8dmFsIG89Ijk5Y2U1IiB2PSIxODAiLz4KKwkJCQkJPHZhbCBvPSI5YWFmNSIgdj0iMTgwIi8+CisJCQkJCTx2YWwgbz0iOWI5MDYiIHY9IjIyNS4yIi8+CisJCQkJCTx2YWwgbz0iOWM3MTYiIHY9IjIyNSIvPgorCQkJCQk8dmFsIG89IjlkNTI2IiB2PSIyMjIuNiIvPgorCQkJCQk8dmFsIG89IjllMzM2IiB2PSIyMjMuNiIvPgorCQkJCQk8dmFsIG89IjlmMTQ1IiB2PSIyMjQuMSIvPgorCQkJCQk8dmFsIG89IjlmZjU2IiB2PSIyMjMuMiIvPgorCQkJCQk8dmFsIG89ImEwZDY1IiB2PSIxODAiLz4KKwkJCQkJPHZhbCBvPSJhMWI3NyIgdj0iMTk1LjkiLz4KKwkJCQkJPHZhbCBvPSJhMjk4NiIgdj0iMTkwIi8+CisJCQkJCTx2YWwgbz0iYTM3OTUiIHY9IjEyMi4zIi8+CisJCQkJCTx2YWwgbz0iYTQ1YTciIHY9IjM1NC42Ii8+CisJCQkJCTx2YWwgbz0iYTUzYjYiIHY9IjMzMy4yIi8+CisJCQkJCTx2YWwgbz0iYTYxYzciIHY9IjMyMy4zIi8+CisJCQkJCTx2YWwgbz0iYTZmZDYiIHY9IjI3OC4xIi8+CisJCQkJCTx2YWwgbz0iYTdlMDAiIHY9IjI4Ni4yIi8+CisJCQkJCTx2YWwgbz0iYThjMDAiIHY9IjI5Mi4zIi8+CisJCQkJCTx2YWwgbz0iYTlhMDUiIHY9IjIxLjQiLz4KKwkJCQkJPHZhbCBvPSJhYTgxNSIgdj0iMjczLjciLz4KKwkJCQkJPHZhbCBvPSJhYjYyNSIgdj0iMjcyLjkiLz4KKwkJCQkJPHZhbCBvPSJhYzQzNSIgdj0iMjg1LjQiLz4KKwkJCQkJPHZhbCBvPSJhZDI0NSIgdj0iMjguNSIvPgorCQkJCQk8dmFsIG89ImFlMDU1IiB2PSI2OC40Ii8+CisJCQkJCTx2YWwgbz0iYWVlNjUiIHY9IjE0Ny4xIi8+CisJCQkJCTx2YWwgbz0iYWZjNzUiIHY9Ijk1LjciLz4KKwkJCQkJPHZhbCBvPSJiMGE4NSIgdj0iODkuNiIvPgorCQkJCQk8dmFsIG89ImIyNmE2IiB2PSI4OC4zIi8+CisJCQkJCTx2YWwgbz0iYjM0YjYiIHY9IjkyLjQiLz4KKwkJCQkJPHZhbCBvPSJiNDJjNiIgdj0iMTQ5LjciLz4KKwkJCQkJPHZhbCBvPSJiNTBkNiIgdj0iMTQ4LjciLz4KKwkJCQkJPHZhbCBvPSJiNWVlNyIgdj0iMTI3LjciLz4KKwkJCQkJPHZhbCBvPSJiNmNmNiIgdj0iMTk4LjIiLz4KKwkJCQkJPHZhbCBvPSJiN2IwNyIgdj0iMTg3LjIiLz4KKwkJCQkJPHZhbCBvPSJiODkxNyIgdj0iMTgyLjEiLz4KKwkJCQkJPHZhbCBvPSJiOTcyOCIgdj0iMTk1LjgiLz4KKwkJCQkJPHZhbCBvPSJiYTUzNyIgdj0iMjAzLjgiLz4KKwkJCQkJPHZhbCBvPSJiYjM0NyIgdj0iMTI0LjUiLz4KKwkJCQkJPHZhbCBvPSJiYzE1NyIgdj0iMTU5LjIiLz4KKwkJCQkJPHZhbCBvPSJiY2Y2NyIgdj0iMjMwLjYiLz4KKwkJCQkJPHZhbCBvPSJiZGQ4MSIgdj0iNzkuOCIvPgorCQkJCQk8dmFsIG89ImJlYjg2IiB2PSI1MS4zIi8+CisJCQkJCTx2YWwgbz0iYmY5OTUiIHY9IjIyLjUiLz4KKwkJCQkJPHZhbCBvPSJjMDdhNiIgdj0iMzIzLjciLz4KKwkJCQkJPHZhbCBvPSJjMTViNSIgdj0iMzQxLjYiLz4KKwkJCQkJPHZhbCBvPSJjMjNjNiIgdj0iNDYuNCIvPgorCQkJCQk8dmFsIG89ImMzMWQ1IiB2PSI3MS45Ii8+CisJCQkJCTx2YWwgbz0iYzNmZTYiIHY9IjcxLjkiLz4KKwkJCQkJPHZhbCBvPSJjNGRmNSIgdj0iNjMuNCIvPgorCQkJCQk8dmFsIG89ImM1YzA2IiB2PSI3Ni40Ii8+CisJCQkJCTx2YWwgbz0iYzZhMTYiIHY9IjU4LjQiLz4KKwkJCQkJPHZhbCBvPSJjNzgyNiIgdj0iOTIiLz4KKwkJCQkJPHZhbCBvPSJjODYzNiIgdj0iNzkuNiIvPgorCQkJCQk8dmFsIG89ImM5NDQ2IiB2PSI2My4xIi8+CisJCQkJCTx2YWwgbz0iY2EyNTYiIHY9IjUxLjMiLz4KKwkJCQkJPHZhbCBvPSJjYjA2NiIgdj0iODEuNyIvPgorCQkJCQk8dmFsIG89ImNiZTc2IiB2PSIyMDUuMyIvPgorCQkJCQk8dmFsIG89ImNjYzg3IiB2PSI5Ni4xIi8+CisJCQkJCTx2YWwgbz0iY2RhOTYiIHY9Ijk1LjciLz4KKwkJCQkJPHZhbCBvPSJjZThhOCIgdj0iOTYuNyIvPgorCQkJCQk8dmFsIG89ImNmNmI3IiB2PSI5Mi44Ii8+CisJCQkJCTx2YWwgbz0iZDA0YzgiIHY9IjkxLjQiLz4KKwkJCQkJPHZhbCBvPSJkMTJkNyIgdj0iODYuMSIvPgorCQkJCQk8dmFsIG89ImQyMGU3IiB2PSIyNzAiLz4KKwkJCQkJPHZhbCBvPSJkMmYwMiIgdj0iMjcwLjQiLz4KKwkJCQkJPHZhbCBvPSJkM2QwNSIgdj0iMjk2LjciLz4KKwkJCQkJPHZhbCBvPSJkNGIxNSIgdj0iMzA2LjgiLz4KKwkJCQkJPHZhbCBvPSJkNTkyNiIgdj0iMzMxLjciLz4KKwkJCQkJPHZhbCBvPSJkNjczNSIgdj0iMTMuNyIvPgorCQkJCQk8dmFsIG89ImQ3NTQ2IiB2PSI0Ni40Ii8+CisJCQkJCTx2YWwgbz0iZDgzNTUiIHY9IjI2Mi4xIi8+CisJCQkJCTx2YWwgbz0iZDkxNjYiIHY9IjE2Ni4yIi8+CisJCQkJCTx2YWwgbz0iZDlmNzUiIHY9IjE0My42Ii8+CisJCQkJCTx2YWwgbz0iZGFkODciIHY9IjEyNy4yIi8+CisJCQkJCTx2YWwgbz0iZGJiOTciIHY9IjEzMi43Ii8+CisJCQkJCTx2YWwgbz0iZGM5YTgiIHY9IjEyOC4zIi8+CisJCQkJCTx2YWwgbz0iZGQ3YjciIHY9IjE1NS42Ii8+CisJCQkJCTx2YWwgbz0iZGU1YzYiIHY9IjE3MC44Ii8+CisJCQkJCTx2YWwgbz0iZGYzZDciIHY9IjE3Ni4xIi8+CisJCQkJCTx2YWwgbz0iZTAxZDciIHY9IjE3Ni44Ii8+CisJCQkJCTx2YWwgbz0iZTBmZTUiIHY9IjE2OC44Ii8+CisJCQkJCTx2YWwgbz0iZTFkZjUiIHY9IjE3Mi4yIi8+CisJCQkJCTx2YWwgbz0iZTJjMDQiIHY9IjE4NS4yIi8+CisJCQkJCTx2YWwgbz0iZTNhMTQiIHY9IjE5Ni4zIi8+CisJCQkJCTx2YWwgbz0iZTQ4MjQiIHY9IjE3OC41Ii8+CisJCQkJCTx2YWwgbz0iZTU2MzQiIHY9IjE5My43Ii8+CisJCQkJCTx2YWwgbz0iZTY0NDQiIHY9IjE3Ni4yIi8+CisJCQkJCTx2YWwgbz0iZTcyNTUiIHY9IjE5Ni43Ii8+CisJCQkJCTx2YWwgbz0iZTgwNmYiIHY9IjIwMi4yIi8+CisJCQkJCTx2YWwgbz0iZThlN2YiIHY9Ijk5LjkiLz4KKwkJCQkJPHZhbCBvPSJlOWM4ZSIgdj0iMTMwLjIiLz4KKwkJCQkJPHZhbCBvPSJlYWE5ZiIgdj0iMTMyLjkiLz4KKwkJCQkJPHZhbCBvPSJlYjhhZSIgdj0iMTIxLjciLz4KKwkJCQkJPHZhbCBvPSJlYzZiZiIgdj0iMTAwLjkiLz4KKwkJCQkJPHZhbCBvPSJlZDRjZSIgdj0iMTkyLjkiLz4KKwkJCQkJPHZhbCBvPSJlZTJkZiIgdj0iMTUzLjciLz4KKwkJCQkJPHZhbCBvPSJlZjBlZiIgdj0iMTcwLjQiLz4KKwkJCQkJPHZhbCBvPSJlZmYwMSIgdj0iMTU1LjIiLz4KKwkJCQkJPHZhbCBvPSJmMGQxMCIgdj0iMTY3LjMiLz4KKwkJCQkJPHZhbCBvPSJmMWIyMCIgdj0iMTY1LjUiLz4KKwkJCQkJPHZhbCBvPSJmMjkzMCIgdj0iMTg0LjMiLz4KKwkJCQkJPHZhbCBvPSJmMzc0MCIgdj0iMTU5LjIiLz4KKwkJCQkJPHZhbCBvPSJmNDU1MSIgdj0iMTYzLjQiLz4KKwkJCQkJPHZhbCBvPSJmNTM2MSIgdj0iMTYzLjUiLz4KKwkJCQkJPHZhbCBvPSJmNjE3MiIgdj0iMTYwLjgiLz4KKwkJCQkJPHZhbCBvPSJmNmY4MCIgdj0iMTY1Ii8+CisJCQkJCTx2YWwgbz0iZjdkOTEiIHY9IjE1Ni40Ii8+CisJCQkJCTx2YWwgbz0iZjhiYTEiIHY9IjE2My44Ii8+CisJCQkJCTx2YWwgbz0iZjk5YjEiIHY9IjE2Mi45Ii8+CisJCQkJCTx2YWwgbz0iZmE3YzAiIHY9IjE1NC45Ii8+CisJCQkJCTx2YWwgbz0iZmI1ZDEiIHY9IjE1Ny4xIi8+CisJCQkJCTx2YWwgbz0iZmMzZTAiIHY9IjE5Ny4yIi8+CisJCQkJCTx2YWwgbz0iZmQxZmIiIHY9IjIwMy44Ii8+CisJCQkJCTx2YWwgbz0iZmUwMGIiIHY9IjIxMi41Ii8+CisJCQkJCTx2YWwgbz0iZmVlMWMiIHY9IjE4NS40Ii8+CisJCQkJCTx2YWwgbz0iZmZjMmMiIHY9IjE4Ny4yIi8+CisJCQkJCTx2YWwgbz0iMTAwYTNiIiB2PSIxNjIiLz4KKwkJCQkJPHZhbCBvPSIxMDE4NGMiIHY9IjE0OS4zIi8+CisJCQkJCTx2YWwgbz0iMTAyNjViIiB2PSIxMzYuOCIvPgorCQkJCQk8dmFsIG89IjEwMzQ2YyIgdj0iMTQ1LjkiLz4KKwkJCQkJPHZhbCBvPSIxMDQyN2IiIHY9IjE2NC4xIi8+CisJCQkJCTx2YWwgbz0iMTA1MDhkIiB2PSIxNTguMiIvPgorCQkJCQk8dmFsIG89IjEwNWU5ZCIgdj0iMTYzIi8+CisJCQkJCTx2YWwgbz0iMTA2Y2FkIiB2PSIxNjEuNiIvPgorCQkJCQk8dmFsIG89IjEwN2FiZCIgdj0iMTY4LjkiLz4KKwkJCQkJPHZhbCBvPSIxMDg4Y2QiIHY9IjE2OC41Ii8+CisJCQkJCTx2YWwgbz0iMTA5NmRlIiB2PSIxNjUuMSIvPgorCQkJCQk8dmFsIG89IjEwYTRlZCIgdj0iMTY4LjIiLz4KKwkJCQkJPHZhbCBvPSIxMGIyZmUiIHY9IjE2My45Ii8+CisJCQkJCTx2YWwgbz0iMTBjMTBkIiB2PSIxNDcuNSIvPgorCQkJCQk8dmFsIG89IjEwY2YxZSIgdj0iMTYzIi8+CisJCQkJCTx2YWwgbz0iMTBkZDJlIiB2PSIxNjYuMyIvPgorCQkJCQk8dmFsIG89IjEwZWI2NiIgdj0iMTc3LjQiLz4KKwkJCQkJPHZhbCBvPSIxMGY5NGUiIHY9IjE3OS43Ii8+CisJCQkJCTx2YWwgbz0iMTEwNzVlIiB2PSIxNjEiLz4KKwkJCQkJPHZhbCBvPSIxMTE1NmQiIHY9IjE3NC40Ii8+CisJCQkJCTx2YWwgbz0iMTEyMzg4IiB2PSIyMDMuNiIvPgorCQkJCQk8dmFsIG89IjExMzE4NyIgdj0iMTU4LjMiLz4KKwkJCQkJPHZhbCBvPSIxMTNmYjAiIHY9IjE3Mi45Ii8+CisJCQkJCTx2YWwgbz0iMTE0ZGE2IiB2PSIxNzIuNyIvPgorCQkJCQk8dmFsIG89IjExNWJiNiIgdj0iMTY4LjQiLz4KKwkJCQkJPHZhbCBvPSIxMTY5YzYiIHY9IjEzOCIvPgorCQkJCQk8dmFsIG89IjExNzdkNiIgdj0iMTM1LjgiLz4KKwkJCQkJPHZhbCBvPSIxMTg1ZTgiIHY9IjE1Ny44Ii8+CisJCQkJCTx2YWwgbz0iMTE5M2Y3IiB2PSIxNjAuNiIvPgorCQkJCQk8dmFsIG89IjExYTIwOCIgdj0iMTc1LjciLz4KKwkJCQkJPHZhbCBvPSIxMWIwMTciIHY9IjE4NC4xIi8+CisJCQkJCTx2YWwgbz0iMTFiZTJmIiB2PSIxODguNiIvPgorCQkJCQk8dmFsIG89IjExY2MzNyIgdj0iMTcwIi8+CisJCQkJCTx2YWwgbz0iMTFkYTQ3IiB2PSIxNzMuNiIvPgorCQkJCQk8dmFsIG89IjExZTg1NyIgdj0iMTY3Ii8+CisJCQkJCTx2YWwgbz0iMTFmNjY3IiB2PSIxNzIuNiIvPgorCQkJCQk8dmFsIG89IjEyMDU3OCIgdj0iMTY0LjYiLz4KKwkJCQkJPHZhbCBvPSIxMjEzODYiIHY9IjE2Ni44Ii8+CisJCQkJCTx2YWwgbz0iMTIyMTk2IiB2PSIxNTEuOSIvPgorCQkJCQk8dmFsIG89IjEyMmZhNiIgdj0iMTU4LjYiLz4KKwkJCQkJPHZhbCBvPSIxMjNkYjUiIHY9IjE3MC44Ii8+CisJCQkJCTx2YWwgbz0iMTI0YmM1IiB2PSIxODUuNCIvPgorCQkJCQk8dmFsIG89IjEyNTlkNSIgdj0iMTYwLjEiLz4KKwkJCQkJPHZhbCBvPSIxMjY3ZTQiIHY9IjE4OC42Ii8+CisJCQkJCTx2YWwgbz0iMTI3NjAwIiB2PSIyMDcuNyIvPgorCQkJCQk8dmFsIG89IjEyODMwNSIgdj0iMjE0LjYiLz4KKwkJCQkJPHZhbCBvPSIxMjkxMTUiIHY9IjIxMy43Ii8+CisJCQkJCTx2YWwgbz0iMTI5ZjI1IiB2PSIyMTguNCIvPgorCQkJCQk8dmFsIG89IjEyYWQzNSIgdj0iMjEwLjUiLz4KKwkJCQkJPHZhbCBvPSIxMmJiNDUiIHY9IjE3OC44Ii8+CisJCQkJCTx2YWwgbz0iMTJjOTU0IiB2PSIxNjIuNiIvPgorCQkJCQk8dmFsIG89IjEyZDc2NiIgdj0iMTU2LjQiLz4KKwkJCQkJPHZhbCBvPSIxMmU1NzUiIHY9IjE1My41Ii8+CisJCQkJCTx2YWwgbz0iMTJmMzg2IiB2PSIxNDMuOSIvPgorCQkJCQk8dmFsIG89IjEzMDE5NiIgdj0iMTYwLjgiLz4KKwkJCQkJPHZhbCBvPSIxMzBmYTYiIHY9IjE1My40Ii8+CisJCQkJCTx2YWwgbz0iMTMxZGI3IiB2PSIxNjMuNiIvPgorCQkJCQk8dmFsIG89IjEzMmJjNSIgdj0iMTY4LjIiLz4KKwkJCQkJPHZhbCBvPSIxMzM5ZDQiIHY9IjE2OS4zIi8+CisJCQkJCTx2YWwgbz0iMTM0N2U1IiB2PSIxMzkuMSIvPgorCQkJCQk8dmFsIG89IjEzNTVmNCIgdj0iMTQyLjQiLz4KKwkJCQkJPHZhbCBvPSIxMzY0MDQiIHY9IjEyMi4xIi8+CisJCQkJCTx2YWwgbz0iMTM3MjE0IiB2PSIxMjUuNSIvPgorCQkJCQk8dmFsIG89IjEzODAyNCIgdj0iMTEwLjciLz4KKwkJCQkJPHZhbCBvPSIxMzhlMzMiIHY9IjExMC42Ii8+CisJCQkJCTx2YWwgbz0iMTM5YzQ0IiB2PSIxOTAuMiIvPgorCQkJCQk8dmFsIG89IjEzYWE1NCIgdj0iOTkuNiIvPgorCQkJCQk8dmFsIG89IjEzYjg2NSIgdj0iMjA5LjQiLz4KKwkJCQkJPHZhbCBvPSIxM2M2N2UiIHY9Ijc2LjIiLz4KKwkJCQkJPHZhbCBvPSIxM2Q0OGUiIHY9IjYxLjUiLz4KKwkJCQkJPHZhbCBvPSIxM2UyOWUiIHY9IjQ0LjUiLz4KKwkJCQkJPHZhbCBvPSIxM2YwYWUiIHY9IjQ0LjIiLz4KKwkJCQkJPHZhbCBvPSIxM2ZlYmYiIHY9IjYwLjQiLz4KKwkJCQkJPHZhbCBvPSIxNDBjY2YiIHY9IjY0LjYiLz4KKwkJCQkJPHZhbCBvPSIxNDFhZGYiIHY9IjY3LjMiLz4KKwkJCQkJPHZhbCBvPSIxNDI4ZWYiIHY9IjM0MS4yIi8+CisJCQkJCTx2YWwgbz0iMTQzNmZmIiB2PSIxMTUuOCIvPgorCQkJCQk8dmFsIG89IjE0NDUwZiIgdj0iMTE3LjMiLz4KKwkJCQkJPHZhbCBvPSIxNDUzMWYiIHY9IjE4MCIvPgorCQkJCQk8dmFsIG89IjE0NjEzMCIgdj0iMjUyLjQiLz4KKwkJCQkJPHZhbCBvPSIxNDZmNDAiIHY9IjI2MS44Ii8+CisJCQkJCTx2YWwgbz0iMTQ3ZDQ0IiB2PSIzMTMuMyIvPgorCQkJCQk8dmFsIG89IjE0OGI1NyIgdj0iMzExLjMiLz4KKwkJCQkJPHZhbCBvPSIxNDk5NjUiIHY9IjI5MiIvPgorCQkJCQk8dmFsIG89IjE0YTc3NSIgdj0iNTcuNiIvPgorCQkJCQk8dmFsIG89IjE0YjU4NCIgdj0iMTUxLjYiLz4KKwkJCQkJPHZhbCBvPSIxNGMzOTciIHY9IjkyLjciLz4KKwkJCQkJPHZhbCBvPSIxNGQxYTQiIHY9IjkzLjQiLz4KKwkJCQkJPHZhbCBvPSIxNGRmYjYiIHY9IjEwMC4zIi8+CisJCQkJCTx2YWwgbz0iMTRlZGM1IiB2PSI5Ny40Ii8+CisJCQkJCTx2YWwgbz0iMTRmYmQ1IiB2PSIxODQiLz4KKwkJCQkJPHZhbCBvPSIxNTA5ZTUiIHY9IjI4OS4xIi8+CisJCQkJCTx2YWwgbz0iMTUxN2ZmIiB2PSIyNzQuMiIvPgorCQkJCQk8dmFsIG89IjE1MjYwNSIgdj0iMzkuOCIvPgorCQkJCQk8dmFsIG89IjE1MzQxNSIgdj0iNi41Ii8+CisJCQkJCTx2YWwgbz0iMTU0MjI1IiB2PSIzNTUuOSIvPgorCQkJCQk8dmFsIG89IjE1NTAzNSIgdj0iMTkuNCIvPgorCQkJCQk8dmFsIG89IjE1NWU0NSIgdj0iNDQuMiIvPgorCQkJCQk8dmFsIG89IjE1NmM1NSIgdj0iNjEuNCIvPgorCQkJCQk8dmFsIG89IjE1N2E2NSIgdj0iNTUuNSIvPgorCQkJCQk8dmFsIG89IjE1ODg3NSIgdj0iNjAuMiIvPgorCQkJCQk8dmFsIG89IjE1OTY4NiIgdj0iNzEuNyIvPgorCQkJCQk8dmFsIG89IjE1YTQ5NSIgdj0iNjYuMyIvPgorCQkJCQk8dmFsIG89IjE1YjJhNiIgdj0iNjEuNSIvPgorCQkJCQk8dmFsIG89IjE1YzBiNiIgdj0iMzguNSIvPgorCQkJCQk8dmFsIG89IjE1Y2VjNiIgdj0iMTcuMyIvPgorCQkJCQk8dmFsIG89IjE1ZGNkNSIgdj0iMzUuNiIvPgorCQkJCQk8dmFsIG89IjE1ZWFlNiIgdj0iNDQuOSIvPgorCQkJCQk8dmFsIG89IjE1ZjhmNSIgdj0iNzEuNCIvPgorCQkJCQk8dmFsIG89IjE2MDcwNiIgdj0iMTY2LjEiLz4KKwkJCQkJPHZhbCBvPSIxNjE1MTciIHY9IjEyNSIvPgorCQkJCQk8dmFsIG89IjE2MjMyNiIgdj0iMTc2Ii8+CisJCQkJCTx2YWwgbz0iMTYzMTM3IiB2PSIxOTUuMyIvPgorCQkJCQk8dmFsIG89IjE2M2Y0NiIgdj0iOTkuMSIvPgorCQkJCQk8dmFsIG89IjE2NGQ1NyIgdj0iOTAiLz4KKwkJCQkJPHZhbCBvPSIxNjViNjciIHY9IjI3My45Ii8+CisJCQkJCTx2YWwgbz0iMTY2OTgyIiB2PSIzNDQuNyIvPgorCQkJCQk8dmFsIG89IjE2Nzc4NiIgdj0iMzA3LjIiLz4KKwkJCQkJPHZhbCBvPSIxNjg1OTYiIHY9IjI3MS44Ii8+CisJCQkJCTx2YWwgbz0iMTY5M2E2IiB2PSIyNzguOCIvPgorCQkJCQk8dmFsIG89IjE2YTFiNSIgdj0iMjkxLjUiLz4KKwkJCQkJPHZhbCBvPSIxNmFmYzYiIHY9IjUyLjkiLz4KKwkJCQkJPHZhbCBvPSIxNmJkZDUiIHY9Ijc2LjYiLz4KKwkJCQkJPHZhbCBvPSIxNmNiZTYiIHY9Ijg3LjYiLz4KKwkJCQkJPHZhbCBvPSIxNmQ5ZjYiIHY9IjE3MC4xIi8+CisJCQkJCTx2YWwgbz0iMTZlODA3IiB2PSIxNzQuMiIvPgorCQkJCQk8dmFsIG89IjE2ZjYxNiIgdj0iMTc1LjYiLz4KKwkJCQkJPHZhbCBvPSIxNzA0MjkiIHY9IjE4Ni43Ii8+CisJCQkJCTx2YWwgbz0iMTcxMjM2IiB2PSIxODMuMiIvPgorCQkJCQk8dmFsIG89IjE3MjA0NyIgdj0iMTgxLjciLz4KKwkJCQkJPHZhbCBvPSIxNzJlNTciIHY9IjE3My42Ii8+CisJCQkJCTx2YWwgbz0iMTczYzY3IiB2PSIxNzAuNyIvPgorCQkJCQk8dmFsIG89IjE3NGE3NyIgdj0iMTY1LjQiLz4KKwkJCQkJPHZhbCBvPSIxNzU4ODciIHY9IjE2My44Ii8+CisJCQkJCTx2YWwgbz0iMTc2Njk0IiB2PSIxNjEuNyIvPgorCQkJCQk8dmFsIG89IjE3NzRhMyIgdj0iMTY1LjQiLz4KKwkJCQkJPHZhbCBvPSIxNzgyYjMiIHY9IjE3MC45Ii8+CisJCQkJCTx2YWwgbz0iMTc5MGM1IiB2PSIxNzMuNSIvPgorCQkJCQk8dmFsIG89IjE3OWVkNCIgdj0iMTg3LjkiLz4KKwkJCQkJPHZhbCBvPSIxN2FjZTQiIHY9IjIwMS44Ii8+CisJCQkJCTx2YWwgbz0iMTdiYWZkIiB2PSIyMDUuOSIvPgorCQkJCQk8dmFsIG89IjE3YzkwZiIgdj0iMjA0LjYiLz4KKwkJCQkJPHZhbCBvPSIxN2Q3MWUiIHY9IjIwNC4xIi8+CisJCQkJCTx2YWwgbz0iMTdlNTJmIiB2PSIyMDguMiIvPgorCQkJCQk8dmFsIG89IjE3ZjMzZiIgdj0iMjA0LjQiLz4KKwkJCQkJPHZhbCBvPSIxODAxNGYiIHY9IjE5My41Ii8+CisJCQkJCTx2YWwgbz0iMTgwZjVmIiB2PSIxODYuNCIvPgorCQkJCQk8dmFsIG89IjE4MWQ2ZSIgdj0iMTkyLjQiLz4KKwkJCQkJPHZhbCBvPSIxODJiN2YiIHY9IjE5NC4zIi8+CisJCQkJCTx2YWwgbz0iMTgzOThmIiB2PSIxODQuNCIvPgorCQkJCQk8dmFsIG89IjE4NDdhMSIgdj0iMTg0LjEiLz4KKwkJCQkJPHZhbCBvPSIxODU1YWYiIHY9IjE4NS42Ii8+CisJCQkJCTx2YWwgbz0iMTg2M2MwIiB2PSIxOTQuOSIvPgorCQkJCQk8dmFsIG89IjE4NzFjZiIgdj0iMTkyLjEiLz4KKwkJCQkJPHZhbCBvPSIxODdmZTAiIHY9IjE5Mi4xIi8+CisJCQkJCTx2YWwgbz0iMTg4ZGVmIiB2PSIxOTAuNiIvPgorCQkJCQk8dmFsIG89IjE4OWMwMCIgdj0iMTg1LjQiLz4KKwkJCQkJPHZhbCBvPSIxOGI4MGQiIHY9IjE3MC45Ii8+CisJCQkJCTx2YWwgbz0iMThjNjFjIiB2PSIxODcuNCIvPgorCQkJCQk8dmFsIG89IjE4ZDQyYyIgdj0iMTkxLjEiLz4KKwkJCQkJPHZhbCBvPSIxOGUyM2IiIHY9IjE5MS4xIi8+CisJCQkJCTx2YWwgbz0iMThmMDRiIiB2PSIxOTcuMSIvPgorCQkJCQk8dmFsIG89IjE4ZmU1ZSIgdj0iMTk1LjkiLz4KKwkJCQkJPHZhbCBvPSIxOTBjNzYiIHY9IjE4OS44Ii8+CisJCQkJCTx2YWwgbz0iMTkxYTg2IiB2PSIyMDEuOSIvPgorCQkJCQk8dmFsIG89IjE5Mjg5NiIgdj0iMjAyLjIiLz4KKwkJCQkJPHZhbCBvPSIxOTM2YTYiIHY9IjIwNC40Ii8+CisJCQkJCTx2YWwgbz0iMTk0NGI3IiB2PSIxOTYuMyIvPgorCQkJCQk8dmFsIG89IjE5NTJjNiIgdj0iMTgyLjYiLz4KKwkJCQkJPHZhbCBvPSIxOTYwZDciIHY9IjE2Mi42Ii8+CisJCQkJCTx2YWwgbz0iMTk2ZWU2IiB2PSIxODcuMiIvPgorCQkJCQk8dmFsIG89IjE5N2NmOCIgdj0iMTg3LjMiLz4KKwkJCQkJPHZhbCBvPSIxOThiMGYiIHY9IjE3OS43Ii8+CisJCQkJCTx2YWwgbz0iMTk5OTFmIiB2PSIxODEuNyIvPgorCQkJCQk8dmFsIG89IjE5YjU0MSIgdj0iMTg4LjMiLz4KKwkJCQkJPHZhbCBvPSIxOWMzNGQiIHY9IjE4Ni4yIi8+CisJCQkJCTx2YWwgbz0iMTlkMTVlIiB2PSIxODMuNSIvPgorCQkJCQk8dmFsIG89IjE5ZGY4MCIgdj0iMTgyLjIiLz4KKwkJCQkJPHZhbCBvPSIxOWVkOTAiIHY9IjE3Ni41Ii8+CisJCQkJCTx2YWwgbz0iMTllZWJlIiB2PSIxNzUuNiIvPgorCQkJCQk8dmFsIG89IjE5ZmI4ZSIgdj0iMTc4LjUiLz4KKwkJCQkJPHZhbCBvPSIxYTA5YTAiIHY9IjIyMy44Ii8+CisJCQkJCTx2YWwgbz0iMWExN2FlIiB2PSIyMjguMSIvPgorCQkJCQk8dmFsIG89IjFhMjViZSIgdj0iMjI5LjciLz4KKwkJCQkJPHZhbCBvPSIxYTMzY2QiIHY9IjIxNi4xIi8+CisJCQkJCTx2YWwgbz0iMWE0MWRkIiB2PSIyMjYuNCIvPgorCQkJCQk8dmFsIG89IjFhNGZlZCIgdj0iMjQ5LjYiLz4KKwkJCQkJPHZhbCBvPSIxYTVlMDgiIHY9IjI0NS44Ii8+CisJCQkJCTx2YWwgbz0iMWE2YzA1IiB2PSIyNTAuMSIvPgorCQkJCQk8dmFsIG89IjFhN2ExNSIgdj0iMjUxLjEiLz4KKwkJCQkJPHZhbCBvPSIxYTg4MjYiIHY9IjI1Mi41Ii8+CisJCQkJCTx2YWwgbz0iMWE5NjM3IiB2PSIyNTkuNCIvPgorCQkJCQk8dmFsIG89IjFhYTQ0NSIgdj0iMjU0LjgiLz4KKwkJCQkJPHZhbCBvPSIxYWIyNTUiIHY9IjIxOC43Ii8+CisJCQkJCTx2YWwgbz0iMWFjMDY1IiB2PSIyMjguMyIvPgorCQkJCQk8dmFsIG89IjFhY2U3NSIgdj0iMjI3LjMiLz4KKwkJCQkJPHZhbCBvPSIxYWRjODciIHY9IjIxNC4yIi8+CisJCQkJCTx2YWwgbz0iMWFlYTk2IiB2PSIyMTguNyIvPgorCQkJCQk8dmFsIG89IjFhZjhhNyIgdj0iMjE3Ii8+CisJCQkJCTx2YWwgbz0iMWIwNmI3IiB2PSIyMzEuNyIvPgorCQkJCQk8dmFsIG89IjFiMTRjNiIgdj0iMjMwLjYiLz4KKwkJCQkJPHZhbCBvPSIxYzc0NjAiIHY9IjUyIi8+CisJCQkJCTx2YWwgbz0iMWM4MjcwIiB2PSIzNDAuMyIvPgorCQkJCQk8dmFsIG89IjFjOTA3ZSIgdj0iMTguNSIvPgorCQkJCQk8dmFsIG89IjFjOWU4ZiIgdj0iMzU3LjUiLz4KKwkJCQkJPHZhbCBvPSIxY2FjYTIiIHY9IjM0NC43Ii8+CisJCQkJCTx2YWwgbz0iMWNiYWIxIiB2PSIzMzguNCIvPgorCQkJCQk8dmFsIG89IjFjYzhjMSIgdj0iMjguNCIvPgorCQkJCQk8dmFsIG89IjFjZDZkMCIgdj0iMjEuOCIvPgorCQkJCQk8dmFsIG89IjFjZTRkZSIgdj0iMTAuNCIvPgorCQkJCQk8dmFsIG89IjFjZjJmMCIgdj0iMzQzLjkiLz4KKwkJCQkJPHZhbCBvPSIxZDAxMDkiIHY9IjM0Mi44Ii8+CisJCQkJCTx2YWwgbz0iMWQwZjA2IiB2PSIzNTguMiIvPgorCQkJCQk8dmFsIG89IjFkMWQxNSIgdj0iMzUzLjUiLz4KKwkJCQkJPHZhbCBvPSIxZDJiMjUiIHY9IjM1My40Ii8+CisJCQkJCTx2YWwgbz0iMWQzOTM1IiB2PSIxLjQiLz4KKwkJCQkJPHZhbCBvPSIxZDQ3NDUiIHY9IjYuNCIvPgorCQkJCQk8dmFsIG89IjFkNTU1NSIgdj0iMTAuNSIvPgorCQkJCQk8dmFsIG89IjFkNjM2NiIgdj0iMzUwLjciLz4KKwkJCQkJPHZhbCBvPSIxZDcxNzUiIHY9IjM1MC44Ii8+CisJCQkJCTx2YWwgbz0iMWQ3Zjg2IiB2PSIzNTcuNiIvPgorCQkJCQk8dmFsIG89IjFkOGQ5NSIgdj0iMTgxLjEiLz4KKwkJCQkJPHZhbCBvPSIxZDliYTYiIHY9IjE4NC44Ii8+CisJCQkJCTx2YWwgbz0iMWRhOWI2IiB2PSIxOTIuNiIvPgorCQkJCQk8dmFsIG89IjFkYjdjNyIgdj0iMTkzLjEiLz4KKwkJCQkJPHZhbCBvPSIxZGM1ZDUiIHY9IjE5NC43Ii8+CisJCQkJCTx2YWwgbz0iMWRkM2U2IiB2PSIxOTAuOCIvPgorCQkJCQk8dmFsIG89IjFkZTFmNSIgdj0iMTk1Ii8+CisJCQkJCTx2YWwgbz0iMWRmMDA2IiB2PSIxOTUuOCIvPgorCQkJCQk8dmFsIG89IjFkZmUxNiIgdj0iMTk1LjMiLz4KKwkJCQkJPHZhbCBvPSIxZTBjMjYiIHY9IjE5OC4xIi8+CisJCQkJCTx2YWwgbz0iMWUxYTM2IiB2PSIxOTguNCIvPgorCQkJCQk8dmFsIG89IjFlMjg0NyIgdj0iMTk5LjUiLz4KKwkJCQkJPHZhbCBvPSIxZTM2NTkiIHY9IjIwMC4yIi8+CisJCQkJCTx2YWwgbz0iMWU0NDY3IiB2PSIyMDIuMyIvPgorCQkJCQk8dmFsIG89IjFlNTI4MSIgdj0iMjAwLjciLz4KKwkJCQkJPHZhbCBvPSIxZTYwODYiIHY9IjIwMy41Ii8+CisJCQkJCTx2YWwgbz0iMWU2ZTk2IiB2PSIyMDQuNiIvPgorCQkJCQk8dmFsIG89IjFlN2NhNiIgdj0iMTg4LjQiLz4KKwkJCQkJPHZhbCBvPSIxZThhYjUiIHY9IjE5My45Ii8+CisJCQkJCTx2YWwgbz0iMWU5OGM2IiB2PSIxODQuNCIvPgorCQkJCQk8dmFsIG89IjFlYTZkNSIgdj0iMTkwLjUiLz4KKwkJCQkJPHZhbCBvPSIxZWI0ZTYiIHY9IjE4OC45Ii8+CisJCQkJCTx2YWwgbz0iMWVjMmY2IiB2PSIxOTIuMiIvPgorCQkJCQk8dmFsIG89IjFlZDEwNiIgdj0iMTg1LjYiLz4KKwkJCQkJPHZhbCBvPSIxZWRmMTYiIHY9IjE4Ni42Ii8+CisJCQkJCTx2YWwgbz0iMWVlZDI2IiB2PSIxODIuOCIvPgorCQkJCQk8dmFsIG89IjFlZmIzNiIgdj0iMTg3LjYiLz4KKwkJCQkJPHZhbCBvPSIxZjA5NDYiIHY9IjE4Ni45Ii8+CisJCQkJCTx2YWwgbz0iMWYxNzU2IiB2PSIxNjguMiIvPgorCQkJCQk8dmFsIG89IjFmMjU2NiIgdj0iMTY0LjIiLz4KKwkJCQkJPHZhbCBvPSIxZjMzNzYiIHY9IjE1NC4zIi8+CisJCQkJCTx2YWwgbz0iMWY0MTg3IiB2PSIxMzQuMyIvPgorCQkJCQk8dmFsIG89IjFmNGY5NiIgdj0iMTU0LjIiLz4KKwkJCQkJPHZhbCBvPSIxZjVkYTciIHY9IjE4Mi4yIi8+CisJCQkJCTx2YWwgbz0iMWY2YmI2IiB2PSIxODguMyIvPgorCQkJCQk8dmFsIG89IjFmNzljNyIgdj0iMTc2Ii8+CisJCQkJCTx2YWwgbz0iMWY4N2Q2IiB2PSIyMDYuNCIvPgorCQkJCQk8dmFsIG89IjFmOTVlNyIgdj0iMjE2LjUiLz4KKwkJCQkJPHZhbCBvPSIxZmE0MDEiIHY9IjIxMS41Ii8+CisJCQkJCTx2YWwgbz0iMWZiMjA0IiB2PSIyMTAuOCIvPgorCQkJCQk8dmFsIG89IjFmYzAxNiIgdj0iMjExLjIiLz4KKwkJCQkJPHZhbCBvPSIxZmNlMjUiIHY9IjE5Mi40Ii8+CisJCQkJCTx2YWwgbz0iMWZkYzM1IiB2PSIxODUuMSIvPgorCQkJCQk8dmFsIG89IjFmZWE0NSIgdj0iMTc2LjYiLz4KKwkJCQkJPHZhbCBvPSIxZmY4NTUiIHY9IjE3MS41Ii8+CisJCQkJCTx2YWwgbz0iMjAwNjY1IiB2PSIxMjkuNSIvPgorCQkJCQk8dmFsIG89IjIwMTQ3NSIgdj0iMTczLjQiLz4KKwkJCQkJPHZhbCBvPSIyMDIyODYiIHY9IjE1Ny4yIi8+CisJCQkJCTx2YWwgbz0iMjAzMDk1IiB2PSIxNjEuMiIvPgorCQkJCQk8dmFsIG89IjIwM2VhNSIgdj0iMTYzLjUiLz4KKwkJCQkJPHZhbCBvPSIyMDRjYjYiIHY9IjE3Ni44Ii8+CisJCQkJCTx2YWwgbz0iMjA1YWM2IiB2PSIxNjYuOCIvPgorCQkJCQk8dmFsIG89IjIwNjhkNiIgdj0iMTYxLjUiLz4KKwkJCQkJPHZhbCBvPSIyMDc2ZTYiIHY9IjE1OS4zIi8+CisJCQkJCTx2YWwgbz0iMjA4NGY2IiB2PSIxNzcuNiIvPgorCQkJCQk8dmFsIG89IjIwOTMwNiIgdj0iMTgzLjIiLz4KKwkJCQkJPHZhbCBvPSIyMGExMTYiIHY9IjE4NS40Ii8+CisJCQkJCTx2YWwgbz0iMjBhZjI2IiB2PSIxODIuNiIvPgorCQkJCQk8dmFsIG89IjIwYmQzNyIgdj0iMTg5LjMiLz4KKwkJCQkJPHZhbCBvPSIyMGNiNDYiIHY9IjE3My4yIi8+CisJCQkJCTx2YWwgbz0iMjBkOTU3IiB2PSIxNzkuNCIvPgorCQkJCQk8dmFsIG89IjIwZTc2NyIgdj0iMTkzLjUiLz4KKwkJCQkJPHZhbCBvPSIyMGY1ODEiIHY9IjIwMi42Ii8+CisJCQkJCTx2YWwgbz0iMjEwMzg2IiB2PSIxOTcuOCIvPgorCQkJCQk8dmFsIG89IjIxMTE5NCIgdj0iMTg2LjkiLz4KKwkJCQkJPHZhbCBvPSIyMTFmYTUiIHY9IjE4OC4zIi8+CisJCQkJCTx2YWwgbz0iMjEyZGI1IiB2PSIxNzguNyIvPgorCQkJCQk8dmFsIG89IjIxM2JjNSIgdj0iMTYwLjIiLz4KKwkJCQkJPHZhbCBvPSIyMTQ5ZDYiIHY9IjE2OC4zIi8+CisJCQkJCTx2YWwgbz0iMjE1N2U1IiB2PSIxODQiLz4KKwkJCQkJPHZhbCBvPSIyMTY1ZjYiIHY9IjE5MS4xIi8+CisJCQkJCTx2YWwgbz0iMjE3NDA2IiB2PSIxNzcuMyIvPgorCQkJCQk8dmFsIG89IjIxODIxNyIgdj0iMTgyLjkiLz4KKwkJCQkJPHZhbCBvPSIyMTkwMjYiIHY9IjE4NS40Ii8+CisJCQkJCTx2YWwgbz0iMjE5ZTM5IiB2PSIxNzYuMyIvPgorCQkJCQk8dmFsIG89IjIxYWM0NiIgdj0iMTcwLjEiLz4KKwkJCQkJPHZhbCBvPSIyMWJhNTciIHY9IjE2OS4zIi8+CisJCQkJCTx2YWwgbz0iMjFjODY3IiB2PSIxNTkuOCIvPgorCQkJCQk8dmFsIG89IjIxZDY3NyIgdj0iMTkwLjkiLz4KKwkJCQkJPHZhbCBvPSIyMWU0ODciIHY9IjE3My45Ii8+CisJCQkJCTx2YWwgbz0iMjFmMjk2IiB2PSIxNzUuNSIvPgorCQkJCQk8dmFsIG89IjIyMDBhNiIgdj0iMTg3LjUiLz4KKwkJCQkJPHZhbCBvPSIyMjBlYjciIHY9IjE4OC41Ii8+CisJCQkJCTx2YWwgbz0iMjIxY2M2IiB2PSIxNjAiLz4KKwkJCQkJPHZhbCBvPSIyMjJhZDciIHY9IjE3NS41Ii8+CisJCQkJCTx2YWwgbz0iMjIzOGU3IiB2PSIxOTIuNCIvPgorCQkJCQk8dmFsIG89IjIyNDcwMSIgdj0iMjAwLjgiLz4KKwkJCQkJPHZhbCBvPSIyMjU1MDUiIHY9IjExNi45Ii8+CisJCQkJCTx2YWwgbz0iMjI2MzE1IiB2PSIxNjYuMyIvPgorCQkJCQk8dmFsIG89IjIyNzEyNSIgdj0iMTYyLjgiLz4KKwkJCQkJPHZhbCBvPSIyMjdmMzUiIHY9IjEzMC40Ii8+CisJCQkJCTx2YWwgbz0iMjI4ZDQ1IiB2PSIxMjIiLz4KKwkJCQkJPHZhbCBvPSIyMjliNTQiIHY9IjE5My41Ii8+CisJCQkJCTx2YWwgbz0iMjJhOTY1IiB2PSIxODMuOSIvPgorCQkJCQk8dmFsIG89IjIyYjc3NiIgdj0iMTgwIi8+CisJCQkJCTx2YWwgbz0iMjJjNTg2IiB2PSIxNTcuMyIvPgorCQkJCQk8dmFsIG89IjIyZDM5NyIgdj0iMTQyLjciLz4KKwkJCQkJPHZhbCBvPSIyMmUxYTYiIHY9IjE0NS45Ii8+CisJCQkJCTx2YWwgbz0iMjJlZmI2IiB2PSIxODIuMiIvPgorCQkJCQk8dmFsIG89IjIyZmRjNyIgdj0iMTgyLjciLz4KKwkJCQkJPHZhbCBvPSIyMzBiZDciIHY9IjE3My4zIi8+CisJCQkJCTx2YWwgbz0iMjMxOWU2IiB2PSIxODguNiIvPgorCQkJCQk8dmFsIG89IjIzMjdmNiIgdj0iMTc5LjQiLz4KKwkJCQkJPHZhbCBvPSIyMzM2MWIiIHY9IjE2OS44Ii8+CisJCQkJCTx2YWwgbz0iMjM0NDE2IiB2PSIxNjQuMyIvPgorCQkJCQk8dmFsIG89IjIzNTIyNiIgdj0iMTcwLjIiLz4KKwkJCQkJPHZhbCBvPSIyMzYwMzciIHY9IjE3OC44Ii8+CisJCQkJCTx2YWwgbz0iMjM2ZTQ2IiB2PSIxNTgiLz4KKwkJCQkJPHZhbCBvPSIyMzdjNTciIHY9IjE2MS42Ii8+CisJCQkJCTx2YWwgbz0iMjM4YTY2IiB2PSIxNzUuOCIvPgorCQkJCQk8dmFsIG89IjIzOTg4MSIgdj0iMTY5LjkiLz4KKwkJCQkJPHZhbCBvPSIyM2E2ODUiIHY9IjE4NS4zIi8+CisJCQkJCTx2YWwgbz0iMjNiNDk1IiB2PSIxOTEuNiIvPgorCQkJCQk8dmFsIG89IjIzYzJhNCIgdj0iMTc2LjgiLz4KKwkJCQkJPHZhbCBvPSIyM2QwYjUiIHY9IjE2Ny43Ii8+CisJCQkJCTx2YWwgbz0iMjNkZWM0IiB2PSIxNTQuMSIvPgorCQkJCQk8dmFsIG89IjIzZWNkNSIgdj0iMTY3Ii8+CisJCQkJCTx2YWwgbz0iMjNmYWU0IiB2PSIxODAiLz4KKwkJCQkJPHZhbCBvPSIyNDA4ZjYiIHY9IjE2Ni45Ii8+CisJCQkJCTx2YWwgbz0iMjQxNzA2IiB2PSIxNDYuOSIvPgorCQkJCQk8dmFsIG89IjI0MjUxOCIgdj0iMTU1LjQiLz4KKwkJCQkJPHZhbCBvPSIyNDMzMjUiIHY9IjE1Ny42Ii8+CisJCQkJCTx2YWwgbz0iMjQ0MTM3IiB2PSIxODkuOSIvPgorCQkJCQk8dmFsIG89IjI0NGY0NiIgdj0iMTg3LjQiLz4KKwkJCQkJPHZhbCBvPSIyNDZiNjYiIHY9IjE4Ni45Ii8+CisJCQkJCTx2YWwgbz0iMjQ3OTc2IiB2PSIxNzkuNSIvPgorCQkJCQk8dmFsIG89IjI0ODc4NiIgdj0iMTM5LjYiLz4KKwkJCQkJPHZhbCBvPSIyNDk1N2UiIHY9IjE2MS44Ii8+CisJCQkJCTx2YWwgbz0iMjRhMzhmIiB2PSIxNzIiLz4KKwkJCQkJPHZhbCBvPSIyNGIxOWMiIHY9IjE4OS41Ii8+CisJCQkJCTx2YWwgbz0iMjRiZmFjIiB2PSIxODcuMyIvPgorCQkJCQk8dmFsIG89IjI0Y2RiYyIgdj0iMTg4LjIiLz4KKwkJCQkJPHZhbCBvPSIyNGRiY2QiIHY9IjE4Ni4xIi8+CisJCQkJCTx2YWwgbz0iMjRlOWU1IiB2PSIxOTguMSIvPgorCQkJCQk8dmFsIG89IjI0ZjgwOCIgdj0iMTkzLjMiLz4KKwkJCQkJPHZhbCBvPSIyNTA2MTYiIHY9IjE5NS42Ii8+CisJCQkJCTx2YWwgbz0iMjUxNDI2IiB2PSIxOTguMyIvPgorCQkJCQk8dmFsIG89IjI1MjIzNiIgdj0iMTgwLjUiLz4KKwkJCQkJPHZhbCBvPSIyNTMwNDciIHY9IjE4MCIvPgorCQkJCQk8dmFsIG89IjI1M2U1NiIgdj0iMTYxLjYiLz4KKwkJCQkJPHZhbCBvPSIyNTRjNjciIHY9IjE2NS44Ii8+CisJCQkJCTx2YWwgbz0iMjU1YTc2IiB2PSIxNjUuNiIvPgorCQkJCQk8dmFsIG89IjI1Njg4NyIgdj0iMTYwLjQiLz4KKwkJCQkJPHZhbCBvPSIyNTc2OTciIHY9IjE0Ny4yIi8+CisJCQkJCTx2YWwgbz0iMjU4NGE4IiB2PSIxOTYuOSIvPgorCQkJCQk8dmFsIG89IjI1OTJiNiIgdj0iMTk1LjciLz4KKwkJCQkJPHZhbCBvPSIyNWEwYzciIHY9IjE4Ni45Ii8+CisJCQkJCTx2YWwgbz0iMjVhZWQ3IiB2PSIxNzguMyIvPgorCQkJCQk8dmFsIG89IjI1YmNlNyIgdj0iMTc3LjYiLz4KKwkJCQkJPHZhbCBvPSIyNWNhZjgiIHY9IjE3MiIvPgorCQkJCQk8dmFsIG89IjI1ZDkwNyIgdj0iMTU2LjUiLz4KKwkJCQkJPHZhbCBvPSIyNWU3MTgiIHY9IjE1NC4zIi8+CisJCQkJCTx2YWwgbz0iMjVmNTI3IiB2PSIxNTciLz4KKwkJCQkJPHZhbCBvPSIyNjAzMzgiIHY9IjE3OS41Ii8+CisJCQkJCTx2YWwgbz0iMjYxMTQ5IiB2PSIxNjYiLz4KKwkJCQkJPHZhbCBvPSIyNjFmNTkiIHY9IjE3Mi4zIi8+CisJCQkJCTx2YWwgbz0iMjYyZDY4IiB2PSIxOTYuNCIvPgorCQkJCQk8dmFsIG89IjI2M2I4MyIgdj0iMTc5LjUiLz4KKwkJCQkJPHZhbCBvPSIyNjQ5ODYiIHY9IjE5NS43Ii8+CisJCQkJCTx2YWwgbz0iMjY1Nzk1IiB2PSIyMDIuNyIvPgorCQkJCQk8dmFsIG89IjI2NjVhNiIgdj0iMjA5LjkiLz4KKwkJCQkJPHZhbCBvPSIyNjczYjUiIHY9IjIwNC4xIi8+CisJCQkJCTx2YWwgbz0iMjY4MWM2IiB2PSIxOTkuOSIvPgorCQkJCQk8dmFsIG89IjI2OGZkNSIgdj0iMTg2LjMiLz4KKwkJCQkJPHZhbCBvPSIyNjlkZTYiIHY9IjE3NS42Ii8+CisJCQkJCTx2YWwgbz0iMjZhYmY2IiB2PSIxNzAuMSIvPgorCQkJCQk8dmFsIG89IjI2YmEwNiIgdj0iMTU5LjIiLz4KKwkJCQkJPHZhbCBvPSIyNmM4MTciIHY9IjE1Ni40Ii8+CisJCQkJCTx2YWwgbz0iMjZkNjJiIiB2PSIxMzcuNyIvPgorCQkJCQk8dmFsIG89IjI2ZTQzNiIgdj0iMTQ2Ii8+CisJCQkJCTx2YWwgbz0iMjZmMjQ3IiB2PSIxMzkuNiIvPgorCQkJCQk8dmFsIG89IjI3MDA1NyIgdj0iMTQzLjIiLz4KKwkJCQkJPHZhbCBvPSIyNzBlNjciIHY9IjEzNy43Ii8+CisJCQkJCTx2YWwgbz0iMjcxYzc3IiB2PSIxNzcuOSIvPgorCQkJCQk8dmFsIG89IjI3MmE4NyIgdj0iMTg2LjkiLz4KKwkJCQkJPHZhbCBvPSIyNzM4OTciIHY9IjE4NC41Ii8+CisJCQkJCTx2YWwgbz0iMjc0NmE4IiB2PSIxODguMiIvPgorCQkJCQk8dmFsIG89IjI3NTRiOSIgdj0iMTkxLjEiLz4KKwkJCQkJPHZhbCBvPSIyNzYyYzciIHY9IjE0Ni43Ii8+CisJCQkJCTx2YWwgbz0iMjc3MGQ4IiB2PSIxNjEuNCIvPgorCQkJCQk8dmFsIG89IjI3N2VlNyIgdj0iMTg4LjciLz4KKwkJCQk8L3Bhcj4KKwkJCQk8cGFyIG1lbWluZD0iMTA2OTUwMDAiIGg9IjNkYzFhOGRlIj4KKwkJCQkJPHZhbCBvPSIwIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImUwOCIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxYzMyIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjJhM2MiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMzgzNSIgdj0iNDkuOSIvPgorCQkJCQk8dmFsIG89IjQ2NDUiIHY9IjQ5LjkiLz4KKwkJCQkJPHZhbCBvPSI1NDU1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjYyNjUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iNzA3NSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSI3ZTg1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjhjOTYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iOWFhNSIgdj0iNTAuMSIvPgorCQkJCQk8dmFsIG89ImE4YjYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iYjZjNSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSJjNGQ3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImQzMGIiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iZTBmNiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSJlZjA2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImZkMTciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTBiMjciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTE5MzciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTI3NDYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTM1NTYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTQzNjYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTUxODEiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTVmODUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTZkOTUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTdiYTQiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTg5YjUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTk3YzQiIHY9IjUwLjEiLz4KKwkJCQkJPHZhbCBvPSIxYTVkNSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxYjNlNiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxYzFmNiIgdj0iNTAuMSIvPgorCQkJCQk8dmFsIG89IjFkMDA1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjFkZTE1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjFlYzI1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjFmYTM2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjIwODQ1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjIxNjU2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjIyNDY1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjIzMjc2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjI0MDg2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjI0ZTk5IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjI1Y2E3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjI2YWI3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjI3OGM2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjI4NmQ2IiB2PSI1MC4xIi8+CisJCQkJCTx2YWwgbz0iMjk0ZTYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMmEzMDEiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMmIxMDUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMmJmMTUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMmNkMjUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMmRiMzUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMmU5NDYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMmY3NTUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMzA1NjYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMzEzNzUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMzIxOWUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMzJmOTYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMzNkYTYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMzRiYjYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMzU5ZGUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMzY3ZDYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMzc1ZTYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMzg0MGUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMzkyMWUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iM2EwMTYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iM2FlMjciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iM2JjMzYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iM2NhNDciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iM2Q4NTYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iM2U2NjciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iM2Y0ODEiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iNDAyODUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iNDEwOTUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iNDFlYTUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iNDJjYjUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iNDNhYzUiIHY9IjQ5LjkiLz4KKwkJCQkJPHZhbCBvPSI0NDhkNSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSI0NTZlNiIgdj0iNDkuOSIvPgorCQkJCQk8dmFsIG89IjQ2NGY1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjQ4MGZmIiB2PSI0OS45Ii8+CisJCQkJCTx2YWwgbz0iNDhmMGUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iNDlkMWQiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iNGFiNDYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iNGI5NTUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iNGM3NjkiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iNGQ1NzciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iNGUzODciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iNGYxOTYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iNGZmYTYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iNTBkZDAiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iNTFiYzYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iNTI5ZDYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iNTM3ZTciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iNTQ2MDAiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iNTU0MDYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iNTYyMTUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iNTcwMjYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iNTdlMzYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iNThjNDYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iNTlhNzAiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iNWE4NjciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iNWI2NzYiIHY9IjQ5LjkiLz4KKwkJCQkJPHZhbCBvPSI1YzQ4NyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSI1ZDI5NiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSI1ZTBhOSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSI1ZWViOCIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSI1ZmNjNiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSI2MGFkNyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSI2MThlNyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSI2MjZmNyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSI2MzUwNyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSI2NDMxNyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSI2NTEyNyIgdj0iNTAuMSIvPgorCQkJCQk8dmFsIG89IjY1ZjM3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjY2ZDQ2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjY3YjU3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjY4OTY3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjY5NzgyIiB2PSI1MC4xIi8+CisJCQkJCTx2YWwgbz0iNmE1ODYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iNmIzOTUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iNmMxYTYiIHY9IjQ5LjkiLz4KKwkJCQkJPHZhbCBvPSI2Y2ZiNSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSI2ZGRjNiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSI2ZWJkNiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSI2ZjllNiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSI3MDdmNiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSI3MTYwNyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSI3MjQxNyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSI3MzIyNyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSI3NDAzNyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSI3NGU0NyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSI3NWM1NyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSI3NmE2MyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSI3Nzg3MyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSI3ODY4MCIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSI3OTQ4ZiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSI3YTI5ZiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSI3YjBhZiIgdj0iNTAuMSIvPgorCQkJCQk8dmFsIG89IjdiZWJmIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjdjY2NmIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjdkYWRmIiB2PSI0OS45Ii8+CisJCQkJCTx2YWwgbz0iN2U4ZmEiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iN2Y3MGEiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iODA1MWEiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iODEzMmEiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iODIxM2EiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iODJmNGEiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iODNkNWEiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iODRiNmEiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iODU5N2EiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iODY3OGIiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iODc1OWIiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iODgzYWMiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iODkxYmIiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iODlmY2EiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iOGFkZGEiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iOGJiZWIiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iOGM5ZmMiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iOGQ4MGIiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iOGU2MWEiIHY9IjUwLjEiLz4KKwkJCQkJPHZhbCBvPSI4ZjQyYSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSI5MDIzYSIgdj0iNTAuMSIvPgorCQkJCQk8dmFsIG89IjkxMDRhIiB2PSI0OS45Ii8+CisJCQkJCTx2YWwgbz0iOTFlNWEiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iOTJjNmEiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iOTNhODQiIHY9IjQ5LjkiLz4KKwkJCQkJPHZhbCBvPSI5NDg4NSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSI5NTY5NCIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSI5NjRhNSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSI5NzJiNCIgdj0iNDkuOSIvPgorCQkJCQk8dmFsIG89Ijk4MGM1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89Ijk4ZWQ0IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89Ijk5Y2U1IiB2PSI0OS45Ii8+CisJCQkJCTx2YWwgbz0iOWFhZjUiIHY9IjUwLjEiLz4KKwkJCQkJPHZhbCBvPSI5YjkwNiIgdj0iNTAuMSIvPgorCQkJCQk8dmFsIG89IjljNzE2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjlkNTI2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjllMzM2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjlmMTQ1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjlmZjU2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImEwZDY1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImExYjc3IiB2PSI0OS45Ii8+CisJCQkJCTx2YWwgbz0iYTI5ODYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iYTM3OTUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iYTQ1YTciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iYTUzYjYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iYTYxYzciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iYTZmZDYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iYTdlMDAiIHY9IjUwLjEiLz4KKwkJCQkJPHZhbCBvPSJhOGMwMCIgdj0iNDkuOSIvPgorCQkJCQk8dmFsIG89ImE5YTA1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImFhODE1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImFiNjI1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImFjNDM1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImFkMjQ1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImFlMDU1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImFlZTY1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImFmYzc1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImIwYTg1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImIyNmE2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImIzNGI2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImI0MmM2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImI1MGQ2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImI1ZWU3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImI2Y2Y2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImI3YjA3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImI4OTE3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImI5NzI4IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImJhNTM3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImJiMzQ3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImJjMTU3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImJjZjY3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImJkZDgxIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImJlYjg2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImJmOTk1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImMwN2E2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImMxNWI1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImMyM2M2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImMzMWQ1IiB2PSI0OS45Ii8+CisJCQkJCTx2YWwgbz0iYzNmZTYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iYzRkZjUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iYzVjMDYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iYzZhMTYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iYzc4MjYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iYzg2MzYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iYzk0NDYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iY2EyNTYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iY2IwNjYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iY2JlNzYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iY2NjODciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iY2RhOTYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iY2U4YTgiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iY2Y2YjciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iZDA0YzgiIHY9IjQ5LjkiLz4KKwkJCQkJPHZhbCBvPSJkMTJkNyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSJkMjBlNyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSJkMmYwMiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSJkM2QwNSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSJkNGIxNSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSJkNTkyNiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSJkNjczNSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSJkNzU0NiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSJkODM1NSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSJkOTE2NiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSJkOWY3NSIgdj0iNTAuMSIvPgorCQkJCQk8dmFsIG89ImRhZDg3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89ImRiYjk3IiB2PSI0OS45Ii8+CisJCQkJCTx2YWwgbz0iZGM5YTgiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iZGQ3YjciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iZGU1YzYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iZGYzZDciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iZTAxZDciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iZTBmZTUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iZTFkZjUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iZTJjMDQiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iZTNhMTQiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iZTQ4MjQiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iZTU2MzQiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iZTY0NDQiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iZTcyNTUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iZTgwNmYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iZThlN2YiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iZTljOGUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iZWFhOWYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iZWI4YWUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iZWM2YmYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iZWQ0Y2UiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iZWUyZGYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iZWYwZWYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iZWZmMDEiIHY9IjUwLjEiLz4KKwkJCQkJPHZhbCBvPSJmMGQxMCIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSJmMWIyMCIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSJmMjkzMCIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSJmMzc0MCIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSJmNDU1MSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSJmNTM2MSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSJmNjE3MiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSJmNmY4MCIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSJmN2Q5MSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSJmOGJhMSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSJmOTliMSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSJmYTdjMCIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSJmYjVkMSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSJmYzNlMCIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSJmZDFmYiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSJmZTAwYiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSJmZWUxYyIgdj0iNTAuMSIvPgorCQkJCQk8dmFsIG89ImZmYzJjIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjEwMGEzYiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxMDE4NGMiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTAyNjViIiB2PSI0OS45Ii8+CisJCQkJCTx2YWwgbz0iMTAzNDZjIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjEwNDI3YiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxMDUwOGQiIHY9IjQ5LjkiLz4KKwkJCQkJPHZhbCBvPSIxMDVlOWQiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTA2Y2FkIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjEwN2FiZCIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxMDg4Y2QiIHY9IjQ5LjkiLz4KKwkJCQkJPHZhbCBvPSIxMDk2ZGUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTBhNGVkIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjEwYjJmZSIgdj0iNDkuOSIvPgorCQkJCQk8dmFsIG89IjEwYzEwZCIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxMGNmMWUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTBkZDJlIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjEwZWI2NiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxMGY5NGUiIHY9IjQ5LjkiLz4KKwkJCQkJPHZhbCBvPSIxMTA3NWUiIHY9IjUwLjEiLz4KKwkJCQkJPHZhbCBvPSIxMTE1NmQiIHY9IjUwLjEiLz4KKwkJCQkJPHZhbCBvPSIxMTIzODgiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTEzMTg3IiB2PSI0OS45Ii8+CisJCQkJCTx2YWwgbz0iMTEzZmIwIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjExNGRhNiIgdj0iNDkuOSIvPgorCQkJCQk8dmFsIG89IjExNWJiNiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxMTY5YzYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTE3N2Q2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjExODVlOCIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxMTkzZjciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTFhMjA4IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjExYjAxNyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxMWJlMmYiIHY9IjUwLjEiLz4KKwkJCQkJPHZhbCBvPSIxMWNjMzciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTFkYTQ3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjExZTg1NyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxMWY2NjciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTIwNTc4IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjEyMTM4NiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxMjIxOTYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTIyZmE2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjEyM2RiNSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxMjRiYzUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTI1OWQ1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjEyNjdlNCIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxMjc2MDAiIHY9IjQ5LjkiLz4KKwkJCQkJPHZhbCBvPSIxMjgzMDUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTI5MTE1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjEyOWYyNSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxMmFkMzUiIHY9IjQ5LjkiLz4KKwkJCQkJPHZhbCBvPSIxMmJiNDUiIHY9IjQ5LjkiLz4KKwkJCQkJPHZhbCBvPSIxMmM5NTQiIHY9IjQ5LjkiLz4KKwkJCQkJPHZhbCBvPSIxMmQ3NjYiIHY9IjQ5LjkiLz4KKwkJCQkJPHZhbCBvPSIxMmU1NzUiIHY9IjUwLjEiLz4KKwkJCQkJPHZhbCBvPSIxMmYzODYiIHY9IjUwLjEiLz4KKwkJCQkJPHZhbCBvPSIxMzAxOTYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTMwZmE2IiB2PSI1MC4xIi8+CisJCQkJCTx2YWwgbz0iMTMxZGI3IiB2PSI0OS45Ii8+CisJCQkJCTx2YWwgbz0iMTMyYmM1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjEzMzlkNCIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxMzQ3ZTUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTM1NWY0IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjEzNjQwNCIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxMzcyMTQiIHY9IjUwLjEiLz4KKwkJCQkJPHZhbCBvPSIxMzgwMjQiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTM4ZTMzIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjEzOWM0NCIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxM2FhNTQiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTNiODY1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjEzYzY3ZSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxM2Q0OGUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTNlMjllIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjEzZjBhZSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxM2ZlYmYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTQwY2NmIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE0MWFkZiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxNDI4ZWYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTQzNmZmIiB2PSI0OS45Ii8+CisJCQkJCTx2YWwgbz0iMTQ0NTBmIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE0NTMxZiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxNDYxMzAiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTQ2ZjQwIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE0N2Q0NCIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxNDhiNTciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTQ5OTY1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE0YTc3NSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxNGI1ODQiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTRjMzk3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE0ZDFhNCIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxNGRmYjYiIHY9IjQ5LjkiLz4KKwkJCQkJPHZhbCBvPSIxNGVkYzUiIHY9IjUwLjEiLz4KKwkJCQkJPHZhbCBvPSIxNGZiZDUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTUwOWU1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE1MTdmZiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxNTI2MDUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTUzNDE1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE1NDIyNSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxNTUwMzUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTU1ZTQ1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE1NmM1NSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxNTdhNjUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTU4ODc1IiB2PSI0OS45Ii8+CisJCQkJCTx2YWwgbz0iMTU5Njg2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE1YTQ5NSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxNWIyYTYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTVjMGI2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE1Y2VjNiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxNWRjZDUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTVlYWU2IiB2PSI0OS45Ii8+CisJCQkJCTx2YWwgbz0iMTVmOGY1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE2MDcwNiIgdj0iNDkuOSIvPgorCQkJCQk8dmFsIG89IjE2MTUxNyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxNjIzMjYiIHY9IjQ5LjkiLz4KKwkJCQkJPHZhbCBvPSIxNjMxMzciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTYzZjQ2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE2NGQ1NyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxNjViNjciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTY2OTgyIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE2Nzc4NiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxNjg1OTYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTY5M2E2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE2YTFiNSIgdj0iNDkuOSIvPgorCQkJCQk8dmFsIG89IjE2YWZjNiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxNmJkZDUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTZjYmU2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE2ZDlmNiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxNmU4MDciIHY9IjQ5LjkiLz4KKwkJCQkJPHZhbCBvPSIxNmY2MTYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTcwNDI5IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE3MTIzNiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxNzIwNDciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTcyZTU3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE3M2M2NyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxNzRhNzciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTc1ODg3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE3NjY5NCIgdj0iNDkuOSIvPgorCQkJCQk8dmFsIG89IjE3NzRhMyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxNzgyYjMiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTc5MGM1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE3OWVkNCIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxN2FjZTQiIHY9IjUwLjEiLz4KKwkJCQkJPHZhbCBvPSIxN2JhZmQiIHY9IjUwLjEiLz4KKwkJCQkJPHZhbCBvPSIxN2M5MGYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTdkNzFlIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE3ZTUyZiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxN2YzM2YiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTgwMTRmIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE4MGY1ZiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxODFkNmUiIHY9IjUwLjEiLz4KKwkJCQkJPHZhbCBvPSIxODJiN2YiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTgzOThmIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE4NDdhMSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxODU1YWYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTg2M2MwIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE4NzFjZiIgdj0iNDkuOSIvPgorCQkJCQk8dmFsIG89IjE4N2ZlMCIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxODhkZWYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTg5YzAwIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE4YjgwZCIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxOGM2MWMiIHY9IjQ5LjkiLz4KKwkJCQkJPHZhbCBvPSIxOGQ0MmMiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMThlMjNiIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE4ZjA0YiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxOGZlNWUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTkwYzc2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE5MWE4NiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxOTI4OTYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTkzNmE2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE5NDRiNyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxOTUyYzYiIHY9IjQ5LjkiLz4KKwkJCQkJPHZhbCBvPSIxOTYwZDciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTk2ZWU2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE5N2NmOCIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxOThiMGYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTk5OTFmIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE5YjU0MSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxOWMzNGQiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTlkMTVlIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE5ZGY4MCIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxOWVkOTAiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMTllZWJlIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjE5ZmI4ZSIgdj0iNDkuOSIvPgorCQkJCQk8dmFsIG89IjFhMDlhMCIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxYTE3YWUiIHY9IjQ5LjkiLz4KKwkJCQkJPHZhbCBvPSIxYTI1YmUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMWEzM2NkIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjFhNDFkZCIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxYTRmZWQiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMWE1ZTA4IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjFhNmMwNSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxYTdhMTUiIHY9IjUwLjEiLz4KKwkJCQkJPHZhbCBvPSIxYTg4MjYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMWE5NjM3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjFhYTQ0NSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxYWIyNTUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMWFjMDY1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjFhY2U3NSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxYWRjODciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMWFlYTk2IiB2PSI0OS45Ii8+CisJCQkJCTx2YWwgbz0iMWFmOGE3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjFiMDZiNyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxYjE0YzYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMWM3NDYwIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjFjODI3MCIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxYzkwN2UiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMWM5ZThmIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjFjYWNhMiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxY2JhYjEiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMWNjOGMxIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjFjZDZkMCIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxY2U0ZGUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMWNmMmYwIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjFkMDEwOSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxZDBmMDYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMWQxZDE1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjFkMmIyNSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxZDM5MzUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMWQ0NzQ1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjFkNTU1NSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxZDYzNjYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMWQ3MTc1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjFkN2Y4NiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxZDhkOTUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMWQ5YmE2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjFkYTliNiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxZGI3YzciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMWRjNWQ1IiB2PSI0OS45Ii8+CisJCQkJCTx2YWwgbz0iMWRkM2U2IiB2PSI0OS45Ii8+CisJCQkJCTx2YWwgbz0iMWRlMWY1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjFkZjAwNiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxZGZlMTYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMWUwYzI2IiB2PSI0OS45Ii8+CisJCQkJCTx2YWwgbz0iMWUxYTM2IiB2PSI0OS45Ii8+CisJCQkJCTx2YWwgbz0iMWUyODQ3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjFlMzY1OSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxZTQ0NjciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMWU1MjgxIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjFlNjA4NiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxZTZlOTYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMWU3Y2E2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjFlOGFiNSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxZTk4YzYiIHY9IjQ5LjkiLz4KKwkJCQkJPHZhbCBvPSIxZWE2ZDUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMWViNGU2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjFlYzJmNiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxZWQxMDYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMWVkZjE2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjFlZWQyNiIgdj0iNDkuOSIvPgorCQkJCQk8dmFsIG89IjFlZmIzNiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxZjA5NDYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMWYxNzU2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjFmMjU2NiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxZjMzNzYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMWY0MTg3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjFmNGY5NiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxZjVkYTciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMWY2YmI2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjFmNzljNyIgdj0iNTAuMSIvPgorCQkJCQk8dmFsIG89IjFmODdkNiIgdj0iNTAuMSIvPgorCQkJCQk8dmFsIG89IjFmOTVlNyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxZmE0MDEiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMWZiMjA0IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjFmYzAxNiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIxZmNlMjUiIHY9IjQ5LjkiLz4KKwkJCQkJPHZhbCBvPSIxZmRjMzUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMWZlYTQ1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjFmZjg1NSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyMDA2NjUiIHY9IjQ5LjkiLz4KKwkJCQkJPHZhbCBvPSIyMDE0NzUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjAyMjg2IiB2PSI0OS45Ii8+CisJCQkJCTx2YWwgbz0iMjAzMDk1IiB2PSI0OS45Ii8+CisJCQkJCTx2YWwgbz0iMjAzZWE1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjIwNGNiNiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyMDVhYzYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjA2OGQ2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjIwNzZlNiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyMDg0ZjYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjA5MzA2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjIwYTExNiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyMGFmMjYiIHY9IjQ5LjkiLz4KKwkJCQkJPHZhbCBvPSIyMGJkMzciIHY9IjQ5LjkiLz4KKwkJCQkJPHZhbCBvPSIyMGNiNDYiIHY9IjQ5LjkiLz4KKwkJCQkJPHZhbCBvPSIyMGQ5NTciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjBlNzY3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjIwZjU4MSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyMTAzODYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjExMTk0IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjIxMWZhNSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyMTJkYjUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjEzYmM1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjIxNDlkNiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyMTU3ZTUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjE2NWY2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjIxNzQwNiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyMTgyMTciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjE5MDI2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjIxOWUzOSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyMWFjNDYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjFiYTU3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjIxYzg2NyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyMWQ2NzciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjFlNDg3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjIxZjI5NiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyMjAwYTYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjIwZWI3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjIyMWNjNiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyMjJhZDciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjIzOGU3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjIyNDcwMSIgdj0iNDkuOSIvPgorCQkJCQk8dmFsIG89IjIyNTUwNSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyMjYzMTUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjI3MTI1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjIyN2YzNSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyMjhkNDUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjI5YjU0IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjIyYTk2NSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyMmI3NzYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjJjNTg2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjIyZDM5NyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyMmUxYTYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjJlZmI2IiB2PSI1MC4xIi8+CisJCQkJCTx2YWwgbz0iMjJmZGM3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjIzMGJkNyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyMzE5ZTYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjMyN2Y2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjIzMzYxYiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyMzQ0MTYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjM1MjI2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjIzNjAzNyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyMzZlNDYiIHY9IjQ5LjkiLz4KKwkJCQkJPHZhbCBvPSIyMzdjNTciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjM4YTY2IiB2PSI1MC4xIi8+CisJCQkJCTx2YWwgbz0iMjM5ODgxIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjIzYTY4NSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyM2I0OTUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjNjMmE0IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjIzZDBiNSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyM2RlYzQiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjNlY2Q1IiB2PSI0OS45Ii8+CisJCQkJCTx2YWwgbz0iMjNmYWU0IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjI0MDhmNiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyNDE3MDYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjQyNTE4IiB2PSI0OS45Ii8+CisJCQkJCTx2YWwgbz0iMjQzMzI1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjI0NDEzNyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyNDRmNDYiIHY9IjUwLjEiLz4KKwkJCQkJPHZhbCBvPSIyNDZiNjYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjQ3OTc2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjI0ODc4NiIgdj0iNDkuOSIvPgorCQkJCQk8dmFsIG89IjI0OTU3ZSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyNGEzOGYiIHY9IjQ5LjkiLz4KKwkJCQkJPHZhbCBvPSIyNGIxOWMiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjRiZmFjIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjI0Y2RiYyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyNGRiY2QiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjRlOWU1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjI0ZjgwOCIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyNTA2MTYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjUxNDI2IiB2PSI0OS45Ii8+CisJCQkJCTx2YWwgbz0iMjUyMjM2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjI1MzA0NyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyNTNlNTYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjU0YzY3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjI1NWE3NiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyNTY4ODciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjU3Njk3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjI1ODRhOCIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyNTkyYjYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjVhMGM3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjI1YWVkNyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyNWJjZTciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjVjYWY4IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjI1ZDkwNyIgdj0iNDkuOSIvPgorCQkJCQk8dmFsIG89IjI1ZTcxOCIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyNWY1MjciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjYwMzM4IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjI2MTE0OSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyNjFmNTkiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjYyZDY4IiB2PSI1MC4xIi8+CisJCQkJCTx2YWwgbz0iMjYzYjgzIiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjI2NDk4NiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyNjU3OTUiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjY2NWE2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjI2NzNiNSIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyNjgxYzYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjY4ZmQ1IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjI2OWRlNiIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyNmFiZjYiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjZiYTA2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjI2YzgxNyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyNmQ2MmIiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjZlNDM2IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjI2ZjI0NyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyNzAwNTciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjcwZTY3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjI3MWM3NyIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyNzJhODciIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjczODk3IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjI3NDZhOCIgdj0iNTAiLz4KKwkJCQkJPHZhbCBvPSIyNzU0YjkiIHY9IjUwIi8+CisJCQkJCTx2YWwgbz0iMjc2MmM3IiB2PSI0OS45Ii8+CisJCQkJCTx2YWwgbz0iMjc3MGQ4IiB2PSI1MCIvPgorCQkJCQk8dmFsIG89IjI3N2VlNyIgdj0iNTAiLz4KKwkJCQk8L3Bhcj4KKwkJCQk8cGFyIG1lbWluZD0iODYxMiIgaD0iM2RjMWE4ZGUiPgorCQkJCQk8dmFsIG89IjAiIHY9IjI1LjA3Ii8+CisJCQkJCTx2YWwgbz0iZTA4IiB2PSIyNC4wNjciLz4KKwkJCQkJPHZhbCBvPSIxYzMyIiB2PSIyMy40MzgiLz4KKwkJCQkJPHZhbCBvPSIyYTNjIiB2PSIyMy4yNDUiLz4KKwkJCQkJPHZhbCBvPSIzODM1IiB2PSIyMi43ODQiLz4KKwkJCQkJPHZhbCBvPSI0NjQ1IiB2PSIyMi43NDYiLz4KKwkJCQkJPHZhbCBvPSI1NDU1IiB2PSIyNi4yOTciLz4KKwkJCQkJPHZhbCBvPSI2MjY1IiB2PSIyOC44NzgiLz4KKwkJCQkJPHZhbCBvPSI3MDc1IiB2PSIzNC40NTEiLz4KKwkJCQkJPHZhbCBvPSI3ZTg1IiB2PSI0MC4wMTciLz4KKwkJCQkJPHZhbCBvPSI4Yzk2IiB2PSI0MC41NzIiLz4KKwkJCQkJPHZhbCBvPSI5YWE1IiB2PSIzOC42ODIiLz4KKwkJCQkJPHZhbCBvPSJhOGI2IiB2PSIzNS44NjkiLz4KKwkJCQkJPHZhbCBvPSJiNmM1IiB2PSIzNC4xMiIvPgorCQkJCQk8dmFsIG89ImM0ZDciIHY9IjAuMDM1Ii8+CisJCQkJCTx2YWwgbz0iZDMwYiIgdj0iMC4wMzYiLz4KKwkJCQkJPHZhbCBvPSJlMGY2IiB2PSIwLjAzNSIvPgorCQkJCQk8dmFsIG89ImVmMDYiIHY9IjAuMDM3Ii8+CisJCQkJCTx2YWwgbz0iZmQxNyIgdj0iMC4wMzgiLz4KKwkJCQkJPHZhbCBvPSIxMGIyNyIgdj0iMC4wMzciLz4KKwkJCQkJPHZhbCBvPSIxMTkzNyIgdj0iMC4wMzciLz4KKwkJCQkJPHZhbCBvPSIxMjc0NiIgdj0iMC4wMzYiLz4KKwkJCQkJPHZhbCBvPSIxMzU1NiIgdj0iMC4wMzUiLz4KKwkJCQkJPHZhbCBvPSIxNDM2NiIgdj0iMC4wMzYiLz4KKwkJCQkJPHZhbCBvPSIxNTE4MSIgdj0iMC4wMzciLz4KKwkJCQkJPHZhbCBvPSIxNWY4NSIgdj0iMC4wMzYiLz4KKwkJCQkJPHZhbCBvPSIxNmQ5NSIgdj0iMC4wMzYiLz4KKwkJCQkJPHZhbCBvPSIxN2JhNCIgdj0iMC4wMzUiLz4KKwkJCQkJPHZhbCBvPSIxODliNSIgdj0iMC4wMzgiLz4KKwkJCQkJPHZhbCBvPSIxOTdjNCIgdj0iMC4wMzYiLz4KKwkJCQkJPHZhbCBvPSIxYTVkNSIgdj0iMC4wMzciLz4KKwkJCQkJPHZhbCBvPSIxYjNlNiIgdj0iMC4wMzQiLz4KKwkJCQkJPHZhbCBvPSIxYzFmNiIgdj0iMC4wMzciLz4KKwkJCQkJPHZhbCBvPSIxZDAwNSIgdj0iMC4wMzUiLz4KKwkJCQkJPHZhbCBvPSIxZGUxNSIgdj0iMC4wMzMiLz4KKwkJCQkJPHZhbCBvPSIxZWMyNSIgdj0iMC4wMzUiLz4KKwkJCQkJPHZhbCBvPSIxZmEzNiIgdj0iMC4wMzUiLz4KKwkJCQkJPHZhbCBvPSIyMDg0NSIgdj0iMC4wMzciLz4KKwkJCQkJPHZhbCBvPSIyMTY1NiIgdj0iMC4wMzUiLz4KKwkJCQkJPHZhbCBvPSIyMjQ2NSIgdj0iMC4wMzciLz4KKwkJCQkJPHZhbCBvPSIyMzI3NiIgdj0iMC4wMzUiLz4KKwkJCQkJPHZhbCBvPSIyNDA4NiIgdj0iMC4wMzQiLz4KKwkJCQkJPHZhbCBvPSIyNGU5OSIgdj0iMC4wMzUiLz4KKwkJCQkJPHZhbCBvPSIyNWNhNyIgdj0iMC4wMzUiLz4KKwkJCQkJPHZhbCBvPSIyNmFiNyIgdj0iMC4wMzUiLz4KKwkJCQkJPHZhbCBvPSIyNzhjNiIgdj0iMC4wMzYiLz4KKwkJCQkJPHZhbCBvPSIyODZkNiIgdj0iMC4wMzUiLz4KKwkJCQkJPHZhbCBvPSIyOTRlNiIgdj0iMC4wMzQiLz4KKwkJCQkJPHZhbCBvPSIyYTMwMSIgdj0iMC4wMzYiLz4KKwkJCQkJPHZhbCBvPSIyYjEwNSIgdj0iMC4wMzQiLz4KKwkJCQkJPHZhbCBvPSIyYmYxNSIgdj0iMC4wMzQiLz4KKwkJCQkJPHZhbCBvPSIyY2QyNSIgdj0iMC4wMzYiLz4KKwkJCQkJPHZhbCBvPSIyZGIzNSIgdj0iMC4wMzQiLz4KKwkJCQkJPHZhbCBvPSIyZTk0NiIgdj0iMC4wMzMiLz4KKwkJCQkJPHZhbCBvPSIyZjc1NSIgdj0iMC4wMzQiLz4KKwkJCQkJPHZhbCBvPSIzMDU2NiIgdj0iMC4wMzUiLz4KKwkJCQkJPHZhbCBvPSIzMTM3NSIgdj0iMC4wMzUiLz4KKwkJCQkJPHZhbCBvPSIzMjE5ZSIgdj0iMC4wMzUiLz4KKwkJCQkJPHZhbCBvPSIzMmY5NiIgdj0iMC4wMzYiLz4KKwkJCQkJPHZhbCBvPSIzM2RhNiIgdj0iMC4wMzUiLz4KKwkJCQkJPHZhbCBvPSIzNGJiNiIgdj0iMC4wMzUiLz4KKwkJCQkJPHZhbCBvPSIzNTlkZSIgdj0iMC4wMzMiLz4KKwkJCQkJPHZhbCBvPSIzNjdkNiIgdj0iMC4wMzUiLz4KKwkJCQkJPHZhbCBvPSIzNzVlNiIgdj0iMC4wMzQiLz4KKwkJCQkJPHZhbCBvPSIzODQwZSIgdj0iMC4wMzMiLz4KKwkJCQkJPHZhbCBvPSIzOTIxZSIgdj0iMC4wMzUiLz4KKwkJCQkJPHZhbCBvPSIzYTAxNiIgdj0iMC4wMzUiLz4KKwkJCQkJPHZhbCBvPSIzYWUyNyIgdj0iMC4wMzYiLz4KKwkJCQkJPHZhbCBvPSIzYmMzNiIgdj0iMC4wMzUiLz4KKwkJCQkJPHZhbCBvPSIzY2E0NyIgdj0iMC4wMzUiLz4KKwkJCQkJPHZhbCBvPSIzZDg1NiIgdj0iMC4wMzYiLz4KKwkJCQkJPHZhbCBvPSIzZTY2NyIgdj0iMC4wMzUiLz4KKwkJCQkJPHZhbCBvPSIzZjQ4MSIgdj0iMC4wMzciLz4KKwkJCQkJPHZhbCBvPSI0MDI4NSIgdj0iMC4wMzQiLz4KKwkJCQkJPHZhbCBvPSI0MTA5NSIgdj0iMC4wMzUiLz4KKwkJCQkJPHZhbCBvPSI0MWVhNSIgdj0iMC4wMzUiLz4KKwkJCQkJPHZhbCBvPSI0MmNiNSIgdj0iMC4wMzUiLz4KKwkJCQkJPHZhbCBvPSI0M2FjNSIgdj0iMC4wMzYiLz4KKwkJCQkJPHZhbCBvPSI0NDhkNSIgdj0iMC4wMzgiLz4KKwkJCQkJPHZhbCBvPSI0NTZlNiIgdj0iMC4wMzYiLz4KKwkJCQkJPHZhbCBvPSI0NjRmNSIgdj0iMC4wMzkiLz4KKwkJCQkJPHZhbCBvPSI0ODBmZiIgdj0iMC4wMzYiLz4KKwkJCQkJPHZhbCBvPSI0OGYwZSIgdj0iMC4wMzYiLz4KKwkJCQkJPHZhbCBvPSI0OWQxZCIgdj0iMC4wMzgiLz4KKwkJCQkJPHZhbCBvPSI0YWI0NiIgdj0iMC4wMzYiLz4KKwkJCQkJPHZhbCBvPSI0Yjk1NSIgdj0iMC4wMzciLz4KKwkJCQkJPHZhbCBvPSI0Yzc2OSIgdj0iMC4wMzYiLz4KKwkJCQkJPHZhbCBvPSI0ZDU3NyIgdj0iMC4wMzYiLz4KKwkJCQkJPHZhbCBvPSI0ZTM4NyIgdj0iMC4wMzYiLz4KKwkJCQkJPHZhbCBvPSI0ZjE5NiIgdj0iMC4wMzYiLz4KKwkJCQkJPHZhbCBvPSI0ZmZhNiIgdj0iMC4wMzYiLz4KKwkJCQkJPHZhbCBvPSI1MGRkMCIgdj0iMC4wMzgiLz4KKwkJCQkJPHZhbCBvPSI1MWJjNiIgdj0iMC4wMzYiLz4KKwkJCQkJPHZhbCBvPSI1MjlkNiIgdj0iMC4wMzYiLz4KKwkJCQkJPHZhbCBvPSI1MzdlNyIgdj0iMC4wMzUiLz4KKwkJCQkJPHZhbCBvPSI1NDYwMCIgdj0iMC4wMzYiLz4KKwkJCQkJPHZhbCBvPSI1NTQwNiIgdj0iMC4wMzQiLz4KKwkJCQkJPHZhbCBvPSI1NjIxNSIgdj0iMC4wMzUiLz4KKwkJCQkJPHZhbCBvPSI1NzAyNiIgdj0iMC4wMzQiLz4KKwkJCQkJPHZhbCBvPSI1N2UzNiIgdj0iMC4wMzYiLz4KKwkJCQkJPHZhbCBvPSI1OGM0NiIgdj0iMC4wMzUiLz4KKwkJCQkJPHZhbCBvPSI1OWE3MCIgdj0iMC4wNCIvPgorCQkJCQk8dmFsIG89IjVhODY3IiB2PSIwLjAzNCIvPgorCQkJCQk8dmFsIG89IjViNjc2IiB2PSIwLjAzNSIvPgorCQkJCQk8dmFsIG89IjVjNDg3IiB2PSIwLjAzNiIvPgorCQkJCQk8dmFsIG89IjVkMjk2IiB2PSIwLjAzNyIvPgorCQkJCQk8dmFsIG89IjVlMGE5IiB2PSIwLjAzNiIvPgorCQkJCQk8dmFsIG89IjVlZWI4IiB2PSIwLjAzOSIvPgorCQkJCQk8dmFsIG89IjVmY2M2IiB2PSIwLjAzNiIvPgorCQkJCQk8dmFsIG89IjYwYWQ3IiB2PSIwLjAzNSIvPgorCQkJCQk8dmFsIG89IjYxOGU3IiB2PSIwLjAzNiIvPgorCQkJCQk8dmFsIG89IjYyNmY3IiB2PSIwLjAzNSIvPgorCQkJCQk8dmFsIG89IjYzNTA3IiB2PSIwLjAzNiIvPgorCQkJCQk8dmFsIG89IjY0MzE3IiB2PSIwLjAzNyIvPgorCQkJCQk8dmFsIG89IjY1MTI3IiB2PSIwLjAzOSIvPgorCQkJCQk8dmFsIG89IjY1ZjM3IiB2PSIwLjAzNyIvPgorCQkJCQk8dmFsIG89IjY2ZDQ2IiB2PSIwLjAzNSIvPgorCQkJCQk8dmFsIG89IjY3YjU3IiB2PSIwLjAzNiIvPgorCQkJCQk8dmFsIG89IjY4OTY3IiB2PSIwLjAzNSIvPgorCQkJCQk8dmFsIG89IjY5NzgyIiB2PSIwLjAzNSIvPgorCQkJCQk8dmFsIG89IjZhNTg2IiB2PSIwLjAzNyIvPgorCQkJCQk8dmFsIG89IjZiMzk1IiB2PSIwLjAzNSIvPgorCQkJCQk8dmFsIG89IjZjMWE2IiB2PSIwLjAzNyIvPgorCQkJCQk8dmFsIG89IjZjZmI1IiB2PSIwLjAzNSIvPgorCQkJCQk8dmFsIG89IjZkZGM2IiB2PSIwLjAzMyIvPgorCQkJCQk8dmFsIG89IjZlYmQ2IiB2PSIwLjAzMyIvPgorCQkJCQk8dmFsIG89IjZmOWU2IiB2PSIwLjAzNSIvPgorCQkJCQk8dmFsIG89IjcwN2Y2IiB2PSIwLjAzNSIvPgorCQkJCQk8dmFsIG89IjcxNjA3IiB2PSIwLjAzNyIvPgorCQkJCQk8dmFsIG89IjcyNDE3IiB2PSIwLjAzNyIvPgorCQkJCQk8dmFsIG89IjczMjI3IiB2PSIwLjAzNyIvPgorCQkJCQk8dmFsIG89Ijc0MDM3IiB2PSIwLjAzNyIvPgorCQkJCQk8dmFsIG89Ijc0ZTQ3IiB2PSIwLjAzNyIvPgorCQkJCQk8dmFsIG89Ijc1YzU3IiB2PSIwLjA0Ii8+CisJCQkJCTx2YWwgbz0iNzZhNjMiIHY9IjAuMDM2Ii8+CisJCQkJCTx2YWwgbz0iNzc4NzMiIHY9IjAuMDM1Ii8+CisJCQkJCTx2YWwgbz0iNzg2ODAiIHY9IjAuMDM3Ii8+CisJCQkJCTx2YWwgbz0iNzk0OGYiIHY9IjAuMDM2Ii8+CisJCQkJCTx2YWwgbz0iN2EyOWYiIHY9IjAuMDM2Ii8+CisJCQkJCTx2YWwgbz0iN2IwYWYiIHY9IjAuMDM2Ii8+CisJCQkJCTx2YWwgbz0iN2JlYmYiIHY9IjAuMDM2Ii8+CisJCQkJCTx2YWwgbz0iN2NjY2YiIHY9IjAuMDM3Ii8+CisJCQkJCTx2YWwgbz0iN2RhZGYiIHY9IjAuMDM2Ii8+CisJCQkJCTx2YWwgbz0iN2U4ZmEiIHY9IjAuMDM1Ii8+CisJCQkJCTx2YWwgbz0iN2Y3MGEiIHY9IjAuMDM1Ii8+CisJCQkJCTx2YWwgbz0iODA1MWEiIHY9IjAuMDM2Ii8+CisJCQkJCTx2YWwgbz0iODEzMmEiIHY9IjAuMDM0Ii8+CisJCQkJCTx2YWwgbz0iODIxM2EiIHY9IjAuMDM1Ii8+CisJCQkJCTx2YWwgbz0iODJmNGEiIHY9IjAuMDM2Ii8+CisJCQkJCTx2YWwgbz0iODNkNWEiIHY9IjAuMDM1Ii8+CisJCQkJCTx2YWwgbz0iODRiNmEiIHY9IjAuMDM0Ii8+CisJCQkJCTx2YWwgbz0iODU5N2EiIHY9IjAuMDM1Ii8+CisJCQkJCTx2YWwgbz0iODY3OGIiIHY9IjAuMDM2Ii8+CisJCQkJCTx2YWwgbz0iODc1OWIiIHY9IjAuMDM0Ii8+CisJCQkJCTx2YWwgbz0iODgzYWMiIHY9IjAuMDM3Ii8+CisJCQkJCTx2YWwgbz0iODkxYmIiIHY9IjAuMDM3Ii8+CisJCQkJCTx2YWwgbz0iODlmY2EiIHY9IjAuMDM1Ii8+CisJCQkJCTx2YWwgbz0iOGFkZGEiIHY9IjAuMDM1Ii8+CisJCQkJCTx2YWwgbz0iOGJiZWIiIHY9IjAuMDM1Ii8+CisJCQkJCTx2YWwgbz0iOGM5ZmMiIHY9IjAuMDM1Ii8+CisJCQkJCTx2YWwgbz0iOGQ4MGIiIHY9IjAuMDM0Ii8+CisJCQkJCTx2YWwgbz0iOGU2MWEiIHY9IjAuMDM1Ii8+CisJCQkJCTx2YWwgbz0iOGY0MmEiIHY9IjAuMDM0Ii8+CisJCQkJCTx2YWwgbz0iOTAyM2EiIHY9IjAuMDM2Ii8+CisJCQkJCTx2YWwgbz0iOTEwNGEiIHY9IjAuMDM1Ii8+CisJCQkJCTx2YWwgbz0iOTFlNWEiIHY9IjAuMDM1Ii8+CisJCQkJCTx2YWwgbz0iOTJjNmEiIHY9IjAuMDM0Ii8+CisJCQkJCTx2YWwgbz0iOTNhODQiIHY9IjAuMDM1Ii8+CisJCQkJCTx2YWwgbz0iOTQ4ODUiIHY9IjAuMDM2Ii8+CisJCQkJCTx2YWwgbz0iOTU2OTQiIHY9IjAuMDM0Ii8+CisJCQkJCTx2YWwgbz0iOTY0YTUiIHY9IjAuMDM0Ii8+CisJCQkJCTx2YWwgbz0iOTcyYjQiIHY9IjAuMDM0Ii8+CisJCQkJCTx2YWwgbz0iOTgwYzUiIHY9IjAuMDM0Ii8+CisJCQkJCTx2YWwgbz0iOThlZDQiIHY9IjAuMDM1Ii8+CisJCQkJCTx2YWwgbz0iOTljZTUiIHY9IjAuMDM3Ii8+CisJCQkJCTx2YWwgbz0iOWFhZjUiIHY9IjAuMDM0Ii8+CisJCQkJCTx2YWwgbz0iOWI5MDYiIHY9IjAuMDM2Ii8+CisJCQkJCTx2YWwgbz0iOWM3MTYiIHY9IjAuMDM3Ii8+CisJCQkJCTx2YWwgbz0iOWQ1MjYiIHY9IjAuMDM1Ii8+CisJCQkJCTx2YWwgbz0iOWUzMzYiIHY9IjAuMDM1Ii8+CisJCQkJCTx2YWwgbz0iOWYxNDUiIHY9IjAuMDM1Ii8+CisJCQkJCTx2YWwgbz0iOWZmNTYiIHY9IjAuMDM1Ii8+CisJCQkJCTx2YWwgbz0iYTBkNjUiIHY9IjAuMDM2Ii8+CisJCQkJCTx2YWwgbz0iYTFiNzciIHY9IjM2LjExNyIvPgorCQkJCQk8dmFsIG89ImEyOTg2IiB2PSIxNy42MTMiLz4KKwkJCQkJPHZhbCBvPSJhMzc5NSIgdj0iOC4zNTciLz4KKwkJCQkJPHZhbCBvPSJhNDVhNyIgdj0iNS45NTciLz4KKwkJCQkJPHZhbCBvPSJhNTNiNiIgdj0iNy4xMzQiLz4KKwkJCQkJPHZhbCBvPSJhNjFjNyIgdj0iOC42NDYiLz4KKwkJCQkJPHZhbCBvPSJhNmZkNiIgdj0iNi40MjkiLz4KKwkJCQkJPHZhbCBvPSJhN2UwMCIgdj0iMTAuMjM1Ii8+CisJCQkJCTx2YWwgbz0iYThjMDAiIHY9IjE0LjAyNyIvPgorCQkJCQk8dmFsIG89ImE5YTA1IiB2PSIzLjU0OSIvPgorCQkJCQk8dmFsIG89ImFhODE1IiB2PSIzLjgiLz4KKwkJCQkJPHZhbCBvPSJhYjYyNSIgdj0iNi4wOTMiLz4KKwkJCQkJPHZhbCBvPSJhYzQzNSIgdj0iNS4yMDQiLz4KKwkJCQkJPHZhbCBvPSJhZDI0NSIgdj0iNy41MjYiLz4KKwkJCQkJPHZhbCBvPSJhZTA1NSIgdj0iMTEuMzkiLz4KKwkJCQkJPHZhbCBvPSJhZWU2NSIgdj0iMC45NTQiLz4KKwkJCQkJPHZhbCBvPSJhZmM3NSIgdj0iNS43NzMiLz4KKwkJCQkJPHZhbCBvPSJiMGE4NSIgdj0iMjEuMDE5Ii8+CisJCQkJCTx2YWwgbz0iYjI2YTYiIHY9IjIyLjYzNiIvPgorCQkJCQk8dmFsIG89ImIzNGI2IiB2PSIxOS4zMTYiLz4KKwkJCQkJPHZhbCBvPSJiNDJjNiIgdj0iMS4yNjUiLz4KKwkJCQkJPHZhbCBvPSJiNTBkNiIgdj0iMy4xMyIvPgorCQkJCQk8dmFsIG89ImI1ZWU3IiB2PSI2LjA5MSIvPgorCQkJCQk8dmFsIG89ImI2Y2Y2IiB2PSI3LjI3MyIvPgorCQkJCQk8dmFsIG89ImI3YjA3IiB2PSI5LjM3MyIvPgorCQkJCQk8dmFsIG89ImI4OTE3IiB2PSI3LjcxMSIvPgorCQkJCQk8dmFsIG89ImI5NzI4IiB2PSI4LjE4MyIvPgorCQkJCQk8dmFsIG89ImJhNTM3IiB2PSI5Ljg0MyIvPgorCQkJCQk8dmFsIG89ImJiMzQ3IiB2PSI1LjI1MSIvPgorCQkJCQk8dmFsIG89ImJjMTU3IiB2PSIyLjY0NiIvPgorCQkJCQk8dmFsIG89ImJjZjY3IiB2PSI3LjE3NSIvPgorCQkJCQk8dmFsIG89ImJkZDgxIiB2PSIxOS42OTciLz4KKwkJCQkJPHZhbCBvPSJiZWI4NiIgdj0iNC43MDMiLz4KKwkJCQkJPHZhbCBvPSJiZjk5NSIgdj0iNS4wMTciLz4KKwkJCQkJPHZhbCBvPSJjMDdhNiIgdj0iNS4wMjgiLz4KKwkJCQkJPHZhbCBvPSJjMTViNSIgdj0iNC40MDYiLz4KKwkJCQkJPHZhbCBvPSJjMjNjNiIgdj0iNS4xNjQiLz4KKwkJCQkJPHZhbCBvPSJjMzFkNSIgdj0iMTAuOTUxIi8+CisJCQkJCTx2YWwgbz0iYzNmZTYiIHY9IjUuMDk2Ii8+CisJCQkJCTx2YWwgbz0iYzRkZjUiIHY9IjEwLjAzMiIvPgorCQkJCQk8dmFsIG89ImM1YzA2IiB2PSI0LjA4NCIvPgorCQkJCQk8dmFsIG89ImM2YTE2IiB2PSI1LjIyMyIvPgorCQkJCQk8dmFsIG89ImM3ODI2IiB2PSI2LjYyMiIvPgorCQkJCQk8dmFsIG89ImM4NjM2IiB2PSIyLjU3MSIvPgorCQkJCQk8dmFsIG89ImM5NDQ2IiB2PSIzLjc2NiIvPgorCQkJCQk8dmFsIG89ImNhMjU2IiB2PSIyLjkyNSIvPgorCQkJCQk8dmFsIG89ImNiMDY2IiB2PSI0LjIzOSIvPgorCQkJCQk8dmFsIG89ImNiZTc2IiB2PSIyLjQ0MiIvPgorCQkJCQk8dmFsIG89ImNjYzg3IiB2PSIxMC42NTMiLz4KKwkJCQkJPHZhbCBvPSJjZGE5NiIgdj0iMTUuMDQ1Ii8+CisJCQkJCTx2YWwgbz0iY2U4YTgiIHY9IjEwLjQ5NyIvPgorCQkJCQk8dmFsIG89ImNmNmI3IiB2PSIxNC4yNDMiLz4KKwkJCQkJPHZhbCBvPSJkMDRjOCIgdj0iMTEuMzE4Ii8+CisJCQkJCTx2YWwgbz0iZDEyZDciIHY9IjcuMjYiLz4KKwkJCQkJPHZhbCBvPSJkMjBlNyIgdj0iMy4yNzgiLz4KKwkJCQkJPHZhbCBvPSJkMmYwMiIgdj0iMTIuNzY4Ii8+CisJCQkJCTx2YWwgbz0iZDNkMDUiIHY9IjguODYzIi8+CisJCQkJCTx2YWwgbz0iZDRiMTUiIHY9IjguNDIzIi8+CisJCQkJCTx2YWwgbz0iZDU5MjYiIHY9IjcuNTAzIi8+CisJCQkJCTx2YWwgbz0iZDY3MzUiIHY9IjcuODAzIi8+CisJCQkJCTx2YWwgbz0iZDc1NDYiIHY9IjEwLjkxIi8+CisJCQkJCTx2YWwgbz0iZDgzNTUiIHY9IjUuNzQzIi8+CisJCQkJCTx2YWwgbz0iZDkxNjYiIHY9IjIuMDgyIi8+CisJCQkJCTx2YWwgbz0iZDlmNzUiIHY9IjcuNzUxIi8+CisJCQkJCTx2YWwgbz0iZGFkODciIHY9IjE2Ljc4NSIvPgorCQkJCQk8dmFsIG89ImRiYjk3IiB2PSIxOC40NjciLz4KKwkJCQkJPHZhbCBvPSJkYzlhOCIgdj0iMTguODAxIi8+CisJCQkJCTx2YWwgbz0iZGQ3YjciIHY9IjE2LjAwOCIvPgorCQkJCQk8dmFsIG89ImRlNWM2IiB2PSIxMy42MjkiLz4KKwkJCQkJPHZhbCBvPSJkZjNkNyIgdj0iMTQuNDc5Ii8+CisJCQkJCTx2YWwgbz0iZTAxZDciIHY9IjE0LjkyNyIvPgorCQkJCQk8dmFsIG89ImUwZmU1IiB2PSIxNC4zNDkiLz4KKwkJCQkJPHZhbCBvPSJlMWRmNSIgdj0iMTUuNTAyIi8+CisJCQkJCTx2YWwgbz0iZTJjMDQiIHY9IjIwLjA3Ii8+CisJCQkJCTx2YWwgbz0iZTNhMTQiIHY9IjIwLjAxMSIvPgorCQkJCQk8dmFsIG89ImU0ODI0IiB2PSIxNi4zNTciLz4KKwkJCQkJPHZhbCBvPSJlNTYzNCIgdj0iMTcuMDMiLz4KKwkJCQkJPHZhbCBvPSJlNjQ0NCIgdj0iMTEuOTAxIi8+CisJCQkJCTx2YWwgbz0iZTcyNTUiIHY9IjEwLjEzOCIvPgorCQkJCQk8dmFsIG89ImU4MDZmIiB2PSI4LjczMSIvPgorCQkJCQk8dmFsIG89ImU4ZTdmIiB2PSIxNC4zNTciLz4KKwkJCQkJPHZhbCBvPSJlOWM4ZSIgdj0iNC44NiIvPgorCQkJCQk8dmFsIG89ImVhYTlmIiB2PSI0LjE0OSIvPgorCQkJCQk8dmFsIG89ImViOGFlIiB2PSI2LjAxOSIvPgorCQkJCQk8dmFsIG89ImVjNmJmIiB2PSIxNC42MzUiLz4KKwkJCQkJPHZhbCBvPSJlZDRjZSIgdj0iOS45ODkiLz4KKwkJCQkJPHZhbCBvPSJlZTJkZiIgdj0iMTEuOTYiLz4KKwkJCQkJPHZhbCBvPSJlZjBlZiIgdj0iMTUuNDIyIi8+CisJCQkJCTx2YWwgbz0iZWZmMDEiIHY9IjIyLjc0MiIvPgorCQkJCQk8dmFsIG89ImYwZDEwIiB2PSIyMi40MjgiLz4KKwkJCQkJPHZhbCBvPSJmMWIyMCIgdj0iMjQuMTEiLz4KKwkJCQkJPHZhbCBvPSJmMjkzMCIgdj0iMjMuMDc2Ii8+CisJCQkJCTx2YWwgbz0iZjM3NDAiIHY9IjIzLjI0MSIvPgorCQkJCQk8dmFsIG89ImY0NTUxIiB2PSIyNC4wMTgiLz4KKwkJCQkJPHZhbCBvPSJmNTM2MSIgdj0iMjUuOTg5Ii8+CisJCQkJCTx2YWwgbz0iZjYxNzIiIHY9IjI0Ljc0OCIvPgorCQkJCQk8dmFsIG89ImY2ZjgwIiB2PSIyNS4zMjMiLz4KKwkJCQkJPHZhbCBvPSJmN2Q5MSIgdj0iMjMuMTIyIi8+CisJCQkJCTx2YWwgbz0iZjhiYTEiIHY9IjE5LjQwMyIvPgorCQkJCQk8dmFsIG89ImY5OWIxIiB2PSIxOS4yOCIvPgorCQkJCQk8dmFsIG89ImZhN2MwIiB2PSIxNi4xMiIvPgorCQkJCQk8dmFsIG89ImZiNWQxIiB2PSIxNi4yMjgiLz4KKwkJCQkJPHZhbCBvPSJmYzNlMCIgdj0iMTYuNjU0Ii8+CisJCQkJCTx2YWwgbz0iZmQxZmIiIHY9IjE0LjIiLz4KKwkJCQkJPHZhbCBvPSJmZTAwYiIgdj0iMTQuMDU0Ii8+CisJCQkJCTx2YWwgbz0iZmVlMWMiIHY9IjkuNTU3Ii8+CisJCQkJCTx2YWwgbz0iZmZjMmMiIHY9IjkuMDcyIi8+CisJCQkJCTx2YWwgbz0iMTAwYTNiIiB2PSI4LjMzMyIvPgorCQkJCQk8dmFsIG89IjEwMTg0YyIgdj0iOS43NzEiLz4KKwkJCQkJPHZhbCBvPSIxMDI2NWIiIHY9IjE0LjMzNyIvPgorCQkJCQk8dmFsIG89IjEwMzQ2YyIgdj0iMTYuMDQ5Ii8+CisJCQkJCTx2YWwgbz0iMTA0MjdiIiB2PSIxOS45MTEiLz4KKwkJCQkJPHZhbCBvPSIxMDUwOGQiIHY9IjIzLjIzOCIvPgorCQkJCQk8dmFsIG89IjEwNWU5ZCIgdj0iMjMuMjEzIi8+CisJCQkJCTx2YWwgbz0iMTA2Y2FkIiB2PSIyNS4xNzkiLz4KKwkJCQkJPHZhbCBvPSIxMDdhYmQiIHY9IjIxLjU5MSIvPgorCQkJCQk8dmFsIG89IjEwODhjZCIgdj0iMTkuNjY1Ii8+CisJCQkJCTx2YWwgbz0iMTA5NmRlIiB2PSIyMS4wNzkiLz4KKwkJCQkJPHZhbCBvPSIxMGE0ZWQiIHY9IjIxLjEwOSIvPgorCQkJCQk8dmFsIG89IjEwYjJmZSIgdj0iMjIuMzYzIi8+CisJCQkJCTx2YWwgbz0iMTBjMTBkIiB2PSIyNS4xNzIiLz4KKwkJCQkJPHZhbCBvPSIxMGNmMWUiIHY9IjIzLjIyMyIvPgorCQkJCQk8dmFsIG89IjEwZGQyZSIgdj0iMjAuOTEyIi8+CisJCQkJCTx2YWwgbz0iMTBlYjY2IiB2PSIyMi4wMTciLz4KKwkJCQkJPHZhbCBvPSIxMGY5NGUiIHY9IjE4LjcyOSIvPgorCQkJCQk8dmFsIG89IjExMDc1ZSIgdj0iMTYuNzYxIi8+CisJCQkJCTx2YWwgbz0iMTExNTZkIiB2PSIxMy4xNDUiLz4KKwkJCQkJPHZhbCBvPSIxMTIzODgiIHY9IjEzLjkxMiIvPgorCQkJCQk8dmFsIG89IjExMzE4NyIgdj0iOC43MTIiLz4KKwkJCQkJPHZhbCBvPSIxMTNmYjAiIHY9IjguMTA2Ii8+CisJCQkJCTx2YWwgbz0iMTE0ZGE2IiB2PSI4LjE5NSIvPgorCQkJCQk8dmFsIG89IjExNWJiNiIgdj0iOC4zMDEiLz4KKwkJCQkJPHZhbCBvPSIxMTY5YzYiIHY9IjEwLjExMSIvPgorCQkJCQk8dmFsIG89IjExNzdkNiIgdj0iMTQuMjEzIi8+CisJCQkJCTx2YWwgbz0iMTE4NWU4IiB2PSIxNS42MTciLz4KKwkJCQkJPHZhbCBvPSIxMTkzZjciIHY9IjE5LjA5NSIvPgorCQkJCQk8dmFsIG89IjExYTIwOCIgdj0iMjMuOTg2Ii8+CisJCQkJCTx2YWwgbz0iMTFiMDE3IiB2PSIyMC45MTkiLz4KKwkJCQkJPHZhbCBvPSIxMWJlMmYiIHY9IjI2LjA2Ii8+CisJCQkJCTx2YWwgbz0iMTFjYzM3IiB2PSIyMS40OTMiLz4KKwkJCQkJPHZhbCBvPSIxMWRhNDciIHY9IjIxLjAwNiIvPgorCQkJCQk8dmFsIG89IjExZTg1NyIgdj0iMjIuMTQ0Ii8+CisJCQkJCTx2YWwgbz0iMTFmNjY3IiB2PSIxOS4xMjQiLz4KKwkJCQkJPHZhbCBvPSIxMjA1NzgiIHY9IjAuMDE5Ii8+CisJCQkJCTx2YWwgbz0iMTIxMzg2IiB2PSIwLjAyMSIvPgorCQkJCQk8dmFsIG89IjEyMjE5NiIgdj0iMC4wMjEiLz4KKwkJCQkJPHZhbCBvPSIxMjJmYTYiIHY9IjAuMDE4Ii8+CisJCQkJCTx2YWwgbz0iMTIzZGI1IiB2PSIwLjAxNSIvPgorCQkJCQk8dmFsIG89IjEyNGJjNSIgdj0iMC4wMTYiLz4KKwkJCQkJPHZhbCBvPSIxMjU5ZDUiIHY9IjAuMDExIi8+CisJCQkJCTx2YWwgbz0iMTI2N2U0IiB2PSIwLjAxIi8+CisJCQkJCTx2YWwgbz0iMTI3NjAwIiB2PSIwLjAxMSIvPgorCQkJCQk8dmFsIG89IjEyODMwNSIgdj0iMC4wMSIvPgorCQkJCQk8dmFsIG89IjEyOTExNSIgdj0iMC4wMSIvPgorCQkJCQk8dmFsIG89IjEyOWYyNSIgdj0iMC4wMSIvPgorCQkJCQk8dmFsIG89IjEyYWQzNSIgdj0iMC4wMDkiLz4KKwkJCQkJPHZhbCBvPSIxMmJiNDUiIHY9IjAuMDA2Ii8+CisJCQkJCTx2YWwgbz0iMTJjOTU0IiB2PSIwLjAwOSIvPgorCQkJCQk8dmFsIG89IjEyZDc2NiIgdj0iMC4wMTEiLz4KKwkJCQkJPHZhbCBvPSIxMmU1NzUiIHY9IjAuMDE3Ii8+CisJCQkJCTx2YWwgbz0iMTJmMzg2IiB2PSIwLjAxMiIvPgorCQkJCQk8dmFsIG89IjEzMDE5NiIgdj0iMC4wMTkiLz4KKwkJCQkJPHZhbCBvPSIxMzBmYTYiIHY9IjAuMDE0Ii8+CisJCQkJCTx2YWwgbz0iMTMxZGI3IiB2PSIwLjAxNSIvPgorCQkJCQk8dmFsIG89IjEzMmJjNSIgdj0iMC4wMTUiLz4KKwkJCQkJPHZhbCBvPSIxMzM5ZDQiIHY9IjAuMjc5Ii8+CisJCQkJCTx2YWwgbz0iMTM0N2U1IiB2PSIwLjA5NiIvPgorCQkJCQk8dmFsIG89IjEzNTVmNCIgdj0iMC4xNDEiLz4KKwkJCQkJPHZhbCBvPSIxMzY0MDQiIHY9IjAuMjA3Ii8+CisJCQkJCTx2YWwgbz0iMTM3MjE0IiB2PSIwLjIxOCIvPgorCQkJCQk8dmFsIG89IjEzODAyNCIgdj0iMC4yMTMiLz4KKwkJCQkJPHZhbCBvPSIxMzhlMzMiIHY9IjAuMjE0Ii8+CisJCQkJCTx2YWwgbz0iMTM5YzQ0IiB2PSIwLjA3NSIvPgorCQkJCQk8dmFsIG89IjEzYWE1NCIgdj0iMC4wNSIvPgorCQkJCQk8dmFsIG89IjEzYjg2NSIgdj0iMC4wMzQiLz4KKwkJCQkJPHZhbCBvPSIxM2M2N2UiIHY9IjAuNDQ5Ii8+CisJCQkJCTx2YWwgbz0iMTNkNDhlIiB2PSIwLjIxNyIvPgorCQkJCQk8dmFsIG89IjEzZTI5ZSIgdj0iMC4xNjciLz4KKwkJCQkJPHZhbCBvPSIxM2YwYWUiIHY9IjAuMTU4Ii8+CisJCQkJCTx2YWwgbz0iMTNmZWJmIiB2PSIwLjIzMiIvPgorCQkJCQk8dmFsIG89IjE0MGNjZiIgdj0iMC4zMzkiLz4KKwkJCQkJPHZhbCBvPSIxNDFhZGYiIHY9IjAuMjEyIi8+CisJCQkJCTx2YWwgbz0iMTQyOGVmIiB2PSIwLjA0NCIvPgorCQkJCQk8dmFsIG89IjE0MzZmZiIgdj0iMC4wMzMiLz4KKwkJCQkJPHZhbCBvPSIxNDQ1MGYiIHY9IjAuMDI1Ii8+CisJCQkJCTx2YWwgbz0iMTQ1MzFmIiB2PSIwLjAyMyIvPgorCQkJCQk8dmFsIG89IjE0NjEzMCIgdj0iMC4wNTgiLz4KKwkJCQkJPHZhbCBvPSIxNDZmNDAiIHY9IjAuMTQ1Ii8+CisJCQkJCTx2YWwgbz0iMTQ3ZDQ0IiB2PSIwLjA2NCIvPgorCQkJCQk8dmFsIG89IjE0OGI1NyIgdj0iMC4wOCIvPgorCQkJCQk8dmFsIG89IjE0OTk2NSIgdj0iMC4wNjciLz4KKwkJCQkJPHZhbCBvPSIxNGE3NzUiIHY9IjAuMTExIi8+CisJCQkJCTx2YWwgbz0iMTRiNTg0IiB2PSIwLjA1Ii8+CisJCQkJCTx2YWwgbz0iMTRjMzk3IiB2PSIwLjIzOSIvPgorCQkJCQk8dmFsIG89IjE0ZDFhNCIgdj0iMC4yMDYiLz4KKwkJCQkJPHZhbCBvPSIxNGRmYjYiIHY9IjAuMTYzIi8+CisJCQkJCTx2YWwgbz0iMTRlZGM1IiB2PSIwLjA2MyIvPgorCQkJCQk8dmFsIG89IjE0ZmJkNSIgdj0iMC4wMjciLz4KKwkJCQkJPHZhbCBvPSIxNTA5ZTUiIHY9IjAuMDc3Ii8+CisJCQkJCTx2YWwgbz0iMTUxN2ZmIiB2PSIwLjE1MyIvPgorCQkJCQk8dmFsIG89IjE1MjYwNSIgdj0iMC4xODEiLz4KKwkJCQkJPHZhbCBvPSIxNTM0MTUiIHY9IjAuMTQ5Ii8+CisJCQkJCTx2YWwgbz0iMTU0MjI1IiB2PSIwLjE1NyIvPgorCQkJCQk8dmFsIG89IjE1NTAzNSIgdj0iMC4xNjYiLz4KKwkJCQkJPHZhbCBvPSIxNTVlNDUiIHY9IjAuMjE2Ii8+CisJCQkJCTx2YWwgbz0iMTU2YzU1IiB2PSIwLjMwNiIvPgorCQkJCQk8dmFsIG89IjE1N2E2NSIgdj0iMC4xNjgiLz4KKwkJCQkJPHZhbCBvPSIxNTg4NzUiIHY9IjAuMTQ1Ii8+CisJCQkJCTx2YWwgbz0iMTU5Njg2IiB2PSIwLjI1MiIvPgorCQkJCQk8dmFsIG89IjE1YTQ5NSIgdj0iMC4yMTMiLz4KKwkJCQkJPHZhbCBvPSIxNWIyYTYiIHY9IjAuMTkiLz4KKwkJCQkJPHZhbCBvPSIxNWMwYjYiIHY9IjAuMTExIi8+CisJCQkJCTx2YWwgbz0iMTVjZWM2IiB2PSIwLjExNCIvPgorCQkJCQk8dmFsIG89IjE1ZGNkNSIgdj0iMC4xMDciLz4KKwkJCQkJPHZhbCBvPSIxNWVhZTYiIHY9IjAuMTE1Ii8+CisJCQkJCTx2YWwgbz0iMTVmOGY1IiB2PSIwLjMwMiIvPgorCQkJCQk8dmFsIG89IjE2MDcwNiIgdj0iMC4wMyIvPgorCQkJCQk8dmFsIG89IjE2MTUxNyIgdj0iMC4wNiIvPgorCQkJCQk8dmFsIG89IjE2MjMyNiIgdj0iMC4wNDgiLz4KKwkJCQkJPHZhbCBvPSIxNjMxMzciIHY9IjAuMDY5Ii8+CisJCQkJCTx2YWwgbz0iMTYzZjQ2IiB2PSIwLjA2MyIvPgorCQkJCQk8dmFsIG89IjE2NGQ1NyIgdj0iMC4wMjkiLz4KKwkJCQkJPHZhbCBvPSIxNjViNjciIHY9IjAuMTA1Ii8+CisJCQkJCTx2YWwgbz0iMTY2OTgyIiB2PSIwLjA5NiIvPgorCQkJCQk8dmFsIG89IjE2Nzc4NiIgdj0iMC4xNDIiLz4KKwkJCQkJPHZhbCBvPSIxNjg1OTYiIHY9IjAuMTAxIi8+CisJCQkJCTx2YWwgbz0iMTY5M2E2IiB2PSIwLjA5MiIvPgorCQkJCQk8dmFsIG89IjE2YTFiNSIgdj0iMC4wNzEiLz4KKwkJCQkJPHZhbCBvPSIxNmFmYzYiIHY9IjAuMDY3Ii8+CisJCQkJCTx2YWwgbz0iMTZiZGQ1IiB2PSIwLjE3Ii8+CisJCQkJCTx2YWwgbz0iMTZjYmU2IiB2PSIwLjIxMiIvPgorCQkJCQk8dmFsIG89IjE2ZDlmNiIgdj0iMC4wODkiLz4KKwkJCQkJPHZhbCBvPSIxNmU4MDciIHY9IjAuNjA3Ii8+CisJCQkJCTx2YWwgbz0iMTZmNjE2IiB2PSIwLjY3NSIvPgorCQkJCQk8dmFsIG89IjE3MDQyOSIgdj0iMC43MjMiLz4KKwkJCQkJPHZhbCBvPSIxNzEyMzYiIHY9IjAuNDc3Ii8+CisJCQkJCTx2YWwgbz0iMTcyMDQ3IiB2PSIwLjQ3NyIvPgorCQkJCQk8dmFsIG89IjE3MmU1NyIgdj0iMC40OTEiLz4KKwkJCQkJPHZhbCBvPSIxNzNjNjciIHY9IjAuNDk2Ii8+CisJCQkJCTx2YWwgbz0iMTc0YTc3IiB2PSIwLjU3OSIvPgorCQkJCQk8dmFsIG89IjE3NTg4NyIgdj0iMC42MiIvPgorCQkJCQk8dmFsIG89IjE3NjY5NCIgdj0iMzUuNzE2Ii8+CisJCQkJCTx2YWwgbz0iMTc3NGEzIiB2PSIzMy45NzMiLz4KKwkJCQkJPHZhbCBvPSIxNzgyYjMiIHY9IjM1LjI5NSIvPgorCQkJCQk8dmFsIG89IjE3OTBjNSIgdj0iMzIuNDI5Ii8+CisJCQkJCTx2YWwgbz0iMTc5ZWQ0IiB2PSIyOC40MzMiLz4KKwkJCQkJPHZhbCBvPSIxN2FjZTQiIHY9IjI5LjI0Ii8+CisJCQkJCTx2YWwgbz0iMTdiYWZkIiB2PSIzMC45NDMiLz4KKwkJCQkJPHZhbCBvPSIxN2M5MGYiIHY9IjI4LjA1Ii8+CisJCQkJCTx2YWwgbz0iMTdkNzFlIiB2PSIyNy43OTIiLz4KKwkJCQkJPHZhbCBvPSIxN2U1MmYiIHY9IjI4LjEwMiIvPgorCQkJCQk8dmFsIG89IjE3ZjMzZiIgdj0iMjUuNTM0Ii8+CisJCQkJCTx2YWwgbz0iMTgwMTRmIiB2PSIyNS4wMjEiLz4KKwkJCQkJPHZhbCBvPSIxODBmNWYiIHY9IjMwLjA0NiIvPgorCQkJCQk8dmFsIG89IjE4MWQ2ZSIgdj0iMzIuNzcyIi8+CisJCQkJCTx2YWwgbz0iMTgyYjdmIiB2PSIzOC4xODYiLz4KKwkJCQkJPHZhbCBvPSIxODM5OGYiIHY9IjY0LjM0Ii8+CisJCQkJCTx2YWwgbz0iMTg0N2ExIiB2PSI2My41ODIiLz4KKwkJCQkJPHZhbCBvPSIxODU1YWYiIHY9IjYwLjg5NSIvPgorCQkJCQk8dmFsIG89IjE4NjNjMCIgdj0iNTcuMTY3Ii8+CisJCQkJCTx2YWwgbz0iMTg3MWNmIiB2PSI1OS40MzYiLz4KKwkJCQkJPHZhbCBvPSIxODdmZTAiIHY9IjU2LjY1NSIvPgorCQkJCQk8dmFsIG89IjE4OGRlZiIgdj0iNjAuNTk3Ii8+CisJCQkJCTx2YWwgbz0iMTg5YzAwIiB2PSI1Ni44MzYiLz4KKwkJCQkJPHZhbCBvPSIxOGI4MGQiIHY9IjM3LjU4MSIvPgorCQkJCQk8dmFsIG89IjE4YzYxYyIgdj0iNDAuMSIvPgorCQkJCQk8dmFsIG89IjE4ZDQyYyIgdj0iMzguMjE0Ii8+CisJCQkJCTx2YWwgbz0iMThlMjNiIiB2PSIzMi4xNzUiLz4KKwkJCQkJPHZhbCBvPSIxOGYwNGIiIHY9IjMwLjY2MiIvPgorCQkJCQk8dmFsIG89IjE4ZmU1ZSIgdj0iMjYuOTMzIi8+CisJCQkJCTx2YWwgbz0iMTkwYzc2IiB2PSIyMS4yNjkiLz4KKwkJCQkJPHZhbCBvPSIxOTFhODYiIHY9IjIxLjY0NiIvPgorCQkJCQk8dmFsIG89IjE5Mjg5NiIgdj0iMjEuMjQ0Ii8+CisJCQkJCTx2YWwgbz0iMTkzNmE2IiB2PSIyMC44NTUiLz4KKwkJCQkJPHZhbCBvPSIxOTQ0YjciIHY9IjE5LjU4OCIvPgorCQkJCQk8dmFsIG89IjE5NTJjNiIgdj0iMjAuODA5Ii8+CisJCQkJCTx2YWwgbz0iMTk2MGQ3IiB2PSIyNS42NCIvPgorCQkJCQk8dmFsIG89IjE5NmVlNiIgdj0iMjkuMTY2Ii8+CisJCQkJCTx2YWwgbz0iMTk3Y2Y4IiB2PSIzMS4yMzYiLz4KKwkJCQkJPHZhbCBvPSIxOThiMGYiIHY9IjI4LjQyNCIvPgorCQkJCQk8dmFsIG89IjE5OTkxZiIgdj0iMzIuNzE3Ii8+CisJCQkJCTx2YWwgbz0iMTliNTQxIiB2PSIzMi4yMzEiLz4KKwkJCQkJPHZhbCBvPSIxOWMzNGQiIHY9IjI5LjgxNiIvPgorCQkJCQk8dmFsIG89IjE5ZDE1ZSIgdj0iMjkuMjE5Ii8+CisJCQkJCTx2YWwgbz0iMTlkZjgwIiB2PSIyOS44NjEiLz4KKwkJCQkJPHZhbCBvPSIxOWVkOTAiIHY9IjI5LjA5MyIvPgorCQkJCQk8dmFsIG89IjE5ZWViZSIgdj0iMjkuMDA0Ii8+CisJCQkJCTx2YWwgbz0iMTlmYjhlIiB2PSIxMC40NDUiLz4KKwkJCQkJPHZhbCBvPSIxYTA5YTAiIHY9IjE4LjE1OCIvPgorCQkJCQk8dmFsIG89IjFhMTdhZSIgdj0iMjMuNzEzIi8+CisJCQkJCTx2YWwgbz0iMWEyNWJlIiB2PSIyNS44NCIvPgorCQkJCQk8dmFsIG89IjFhMzNjZCIgdj0iMTMuNjkyIi8+CisJCQkJCTx2YWwgbz0iMWE0MWRkIiB2PSIxNS42MTkiLz4KKwkJCQkJPHZhbCBvPSIxYTRmZWQiIHY9IjIyLjIzNSIvPgorCQkJCQk8dmFsIG89IjFhNWUwOCIgdj0iMjAuNTMzIi8+CisJCQkJCTx2YWwgbz0iMWE2YzA1IiB2PSIxNC44MDYiLz4KKwkJCQkJPHZhbCBvPSIxYTdhMTUiIHY9IjE3Ljc4NiIvPgorCQkJCQk8dmFsIG89IjFhODgyNiIgdj0iMTguMjA1Ii8+CisJCQkJCTx2YWwgbz0iMWE5NjM3IiB2PSIxNC44NiIvPgorCQkJCQk8dmFsIG89IjFhYTQ0NSIgdj0iMTEuMzE3Ii8+CisJCQkJCTx2YWwgbz0iMWFiMjU1IiB2PSI2LjQwMyIvPgorCQkJCQk8dmFsIG89IjFhYzA2NSIgdj0iMTMuMzg5Ii8+CisJCQkJCTx2YWwgbz0iMWFjZTc1IiB2PSIxOC4wOTQiLz4KKwkJCQkJPHZhbCBvPSIxYWRjODciIHY9IjE2LjY4OCIvPgorCQkJCQk8dmFsIG89IjFhZWE5NiIgdj0iMTYuMjUxIi8+CisJCQkJCTx2YWwgbz0iMWFmOGE3IiB2PSIxNy45MDIiLz4KKwkJCQkJPHZhbCBvPSIxYjA2YjciIHY9IjE2Ljg2NCIvPgorCQkJCQk8dmFsIG89IjFiMTRjNiIgdj0iMTYuMDc2Ii8+CisJCQkJCTx2YWwgbz0iMWM3NDYwIiB2PSI0LjMzIi8+CisJCQkJCTx2YWwgbz0iMWM4MjcwIiB2PSI0LjMzIi8+CisJCQkJCTx2YWwgbz0iMWM5MDdlIiB2PSIyMS4yMjEiLz4KKwkJCQkJPHZhbCBvPSIxYzllOGYiIHY9IjIwLjg2Ii8+CisJCQkJCTx2YWwgbz0iMWNhY2EyIiB2PSIyMi45MDMiLz4KKwkJCQkJPHZhbCBvPSIxY2JhYjEiIHY9IjIyLjY3MiIvPgorCQkJCQk8dmFsIG89IjFjYzhjMSIgdj0iMzQuNzExIi8+CisJCQkJCTx2YWwgbz0iMWNkNmQwIiB2PSIzMy43OTIiLz4KKwkJCQkJPHZhbCBvPSIxY2U0ZGUiIHY9IjMyLjcxNyIvPgorCQkJCQk8dmFsIG89IjFjZjJmMCIgdj0iMzMuMDQiLz4KKwkJCQkJPHZhbCBvPSIxZDAxMDkiIHY9IjM0LjA0NyIvPgorCQkJCQk8dmFsIG89IjFkMGYwNiIgdj0iMzYuNTM2Ii8+CisJCQkJCTx2YWwgbz0iMWQxZDE1IiB2PSIzNi42NzMiLz4KKwkJCQkJPHZhbCBvPSIxZDJiMjUiIHY9IjM2Ljc1MiIvPgorCQkJCQk8dmFsIG89IjFkMzkzNSIgdj0iMzcuOTMyIi8+CisJCQkJCTx2YWwgbz0iMWQ0NzQ1IiB2PSIzNy44NTciLz4KKwkJCQkJPHZhbCBvPSIxZDU1NTUiIHY9IjM3LjAyOSIvPgorCQkJCQk8dmFsIG89IjFkNjM2NiIgdj0iMzIuODQ0Ii8+CisJCQkJCTx2YWwgbz0iMWQ3MTc1IiB2PSIzMS45MTciLz4KKwkJCQkJPHZhbCBvPSIxZDdmODYiIHY9IjMxLjM2MyIvPgorCQkJCQk8dmFsIG89IjFkOGQ5NSIgdj0iMTUuMzQ5Ii8+CisJCQkJCTx2YWwgbz0iMWQ5YmE2IiB2PSIxNy42MjMiLz4KKwkJCQkJPHZhbCBvPSIxZGE5YjYiIHY9IjE3LjY1OCIvPgorCQkJCQk8dmFsIG89IjFkYjdjNyIgdj0iMTYuNTk3Ii8+CisJCQkJCTx2YWwgbz0iMWRjNWQ1IiB2PSIxNy42MjEiLz4KKwkJCQkJPHZhbCBvPSIxZGQzZTYiIHY9IjE4LjAxNyIvPgorCQkJCQk8dmFsIG89IjFkZTFmNSIgdj0iMzIuMzM3Ii8+CisJCQkJCTx2YWwgbz0iMWRmMDA2IiB2PSIzNy4xMTMiLz4KKwkJCQkJPHZhbCBvPSIxZGZlMTYiIHY9IjM2Ljg5NiIvPgorCQkJCQk8dmFsIG89IjFlMGMyNiIgdj0iMzcuNjQ2Ii8+CisJCQkJCTx2YWwgbz0iMWUxYTM2IiB2PSIzNy40NjUiLz4KKwkJCQkJPHZhbCBvPSIxZTI4NDciIHY9IjM1Ljk2Ii8+CisJCQkJCTx2YWwgbz0iMWUzNjU5IiB2PSIzNC4yMTciLz4KKwkJCQkJPHZhbCBvPSIxZTQ0NjciIHY9IjMxLjQ3MiIvPgorCQkJCQk8dmFsIG89IjFlNTI4MSIgdj0iMjcuOTEzIi8+CisJCQkJCTx2YWwgbz0iMWU2MDg2IiB2PSIyNy43NyIvPgorCQkJCQk8dmFsIG89IjFlNmU5NiIgdj0iMjcuMDkyIi8+CisJCQkJCTx2YWwgbz0iMWU3Y2E2IiB2PSI5LjY1Ii8+CisJCQkJCTx2YWwgbz0iMWU4YWI1IiB2PSI4Ljk4OSIvPgorCQkJCQk8dmFsIG89IjFlOThjNiIgdj0iOC44NzEiLz4KKwkJCQkJPHZhbCBvPSIxZWE2ZDUiIHY9IjExLjUyNSIvPgorCQkJCQk8dmFsIG89IjFlYjRlNiIgdj0iMTEuMzEyIi8+CisJCQkJCTx2YWwgbz0iMWVjMmY2IiB2PSIxMy4xNDUiLz4KKwkJCQkJPHZhbCBvPSIxZWQxMDYiIHY9IjEyLjg2NiIvPgorCQkJCQk8dmFsIG89IjFlZGYxNiIgdj0iMTMuNTAzIi8+CisJCQkJCTx2YWwgbz0iMWVlZDI2IiB2PSIxMi45NzciLz4KKwkJCQkJPHZhbCBvPSIxZWZiMzYiIHY9IjEyLjg1MyIvPgorCQkJCQk8dmFsIG89IjFmMDk0NiIgdj0iMTIuMzIyIi8+CisJCQkJCTx2YWwgbz0iMWYxNzU2IiB2PSIxMS4yNDQiLz4KKwkJCQkJPHZhbCBvPSIxZjI1NjYiIHY9IjExLjM1NyIvPgorCQkJCQk8dmFsIG89IjFmMzM3NiIgdj0iMTMuOTA5Ii8+CisJCQkJCTx2YWwgbz0iMWY0MTg3IiB2PSIyMC43NzgiLz4KKwkJCQkJPHZhbCBvPSIxZjRmOTYiIHY9IjE3LjM4NCIvPgorCQkJCQk8dmFsIG89IjFmNWRhNyIgdj0iMTcuODgyIi8+CisJCQkJCTx2YWwgbz0iMWY2YmI2IiB2PSIxNy43NzkiLz4KKwkJCQkJPHZhbCBvPSIxZjc5YzciIHY9IjE1LjYyOCIvPgorCQkJCQk8dmFsIG89IjFmODdkNiIgdj0iMTguNzE4Ii8+CisJCQkJCTx2YWwgbz0iMWY5NWU3IiB2PSIxOS42ODciLz4KKwkJCQkJPHZhbCBvPSIxZmE0MDEiIHY9IjE1Ljg1NiIvPgorCQkJCQk8dmFsIG89IjFmYjIwNCIgdj0iMTQuMjM1Ii8+CisJCQkJCTx2YWwgbz0iMWZjMDE2IiB2PSIxNC4xMjEiLz4KKwkJCQkJPHZhbCBvPSIxZmNlMjUiIHY9IjEwLjQxNyIvPgorCQkJCQk8dmFsIG89IjFmZGMzNSIgdj0iMTAuMTkyIi8+CisJCQkJCTx2YWwgbz0iMWZlYTQ1IiB2PSIxMC4yNDciLz4KKwkJCQkJPHZhbCBvPSIxZmY4NTUiIHY9IjEyLjQwOSIvPgorCQkJCQk8dmFsIG89IjIwMDY2NSIgdj0iMTguNzgyIi8+CisJCQkJCTx2YWwgbz0iMjAxNDc1IiB2PSIxNy43MDkiLz4KKwkJCQkJPHZhbCBvPSIyMDIyODYiIHY9IjI0LjQ2OCIvPgorCQkJCQk8dmFsIG89IjIwMzA5NSIgdj0iMjcuODk1Ii8+CisJCQkJCTx2YWwgbz0iMjAzZWE1IiB2PSIzMS4xMzUiLz4KKwkJCQkJPHZhbCBvPSIyMDRjYjYiIHY9IjI4LjA3MyIvPgorCQkJCQk8dmFsIG89IjIwNWFjNiIgdj0iMjYuNzgxIi8+CisJCQkJCTx2YWwgbz0iMjA2OGQ2IiB2PSIyNy45NTUiLz4KKwkJCQkJPHZhbCBvPSIyMDc2ZTYiIHY9IjMxLjgzNCIvPgorCQkJCQk8dmFsIG89IjIwODRmNiIgdj0iMzAuNjg0Ii8+CisJCQkJCTx2YWwgbz0iMjA5MzA2IiB2PSIzMy4yMzkiLz4KKwkJCQkJPHZhbCBvPSIyMGExMTYiIHY9IjMxLjU5MiIvPgorCQkJCQk8dmFsIG89IjIwYWYyNiIgdj0iMjcuMDUxIi8+CisJCQkJCTx2YWwgbz0iMjBiZDM3IiB2PSIyNi44OTEiLz4KKwkJCQkJPHZhbCBvPSIyMGNiNDYiIHY9IjIyLjgzNCIvPgorCQkJCQk8dmFsIG89IjIwZDk1NyIgdj0iMjEuMSIvPgorCQkJCQk8dmFsIG89IjIwZTc2NyIgdj0iMjAuNzIzIi8+CisJCQkJCTx2YWwgbz0iMjBmNTgxIiB2PSIyMC40MTIiLz4KKwkJCQkJPHZhbCBvPSIyMTAzODYiIHY9IjE3LjE3OCIvPgorCQkJCQk8dmFsIG89IjIxMTE5NCIgdj0iMTQuODQ1Ii8+CisJCQkJCTx2YWwgbz0iMjExZmE1IiB2PSIxNC40MDQiLz4KKwkJCQkJPHZhbCBvPSIyMTJkYjUiIHY9IjEzLjg5NSIvPgorCQkJCQk8dmFsIG89IjIxM2JjNSIgdj0iMTQuMjkxIi8+CisJCQkJCTx2YWwgbz0iMjE0OWQ2IiB2PSIxOC4zNzYiLz4KKwkJCQkJPHZhbCBvPSIyMTU3ZTUiIHY9IjIyLjY4MiIvPgorCQkJCQk8dmFsIG89IjIxNjVmNiIgdj0iMjkuMDU2Ii8+CisJCQkJCTx2YWwgbz0iMjE3NDA2IiB2PSIzMC45ODUiLz4KKwkJCQkJPHZhbCBvPSIyMTgyMTciIHY9IjMxLjI0NCIvPgorCQkJCQk8dmFsIG89IjIxOTAyNiIgdj0iMzAuNTAxIi8+CisJCQkJCTx2YWwgbz0iMjE5ZTM5IiB2PSIzMC43NTciLz4KKwkJCQkJPHZhbCBvPSIyMWFjNDYiIHY9IjI5Ljc2NiIvPgorCQkJCQk8dmFsIG89IjIxYmE1NyIgdj0iMjkuNjg2Ii8+CisJCQkJCTx2YWwgbz0iMjFjODY3IiB2PSIzMC40NyIvPgorCQkJCQk8dmFsIG89IjIxZDY3NyIgdj0iMzEuMDYiLz4KKwkJCQkJPHZhbCBvPSIyMWU0ODciIHY9IjI4Ljk1OCIvPgorCQkJCQk8dmFsIG89IjIxZjI5NiIgdj0iMjguNDc0Ii8+CisJCQkJCTx2YWwgbz0iMjIwMGE2IiB2PSIyNy43NTMiLz4KKwkJCQkJPHZhbCBvPSIyMjBlYjciIHY9IjI2LjY3NiIvPgorCQkJCQk8dmFsIG89IjIyMWNjNiIgdj0iMjQuMDciLz4KKwkJCQkJPHZhbCBvPSIyMjJhZDciIHY9IjE4Ljg4OSIvPgorCQkJCQk8dmFsIG89IjIyMzhlNyIgdj0iMTcuNTU2Ii8+CisJCQkJCTx2YWwgbz0iMjI0NzAxIiB2PSIxNi40MzQiLz4KKwkJCQkJPHZhbCBvPSIyMjU1MDUiIHY9IjE4LjQ3Ii8+CisJCQkJCTx2YWwgbz0iMjI2MzE1IiB2PSI5LjgzNyIvPgorCQkJCQk8dmFsIG89IjIyNzEyNSIgdj0iOS43MyIvPgorCQkJCQk8dmFsIG89IjIyN2YzNSIgdj0iMTIuNjcyIi8+CisJCQkJCTx2YWwgbz0iMjI4ZDQ1IiB2PSIxNy4yOSIvPgorCQkJCQk8dmFsIG89IjIyOWI1NCIgdj0iMTcuMTYxIi8+CisJCQkJCTx2YWwgbz0iMjJhOTY1IiB2PSIxOS4zODgiLz4KKwkJCQkJPHZhbCBvPSIyMmI3NzYiIHY9IjIyLjc5MiIvPgorCQkJCQk8dmFsIG89IjIyYzU4NiIgdj0iMjUuOTczIi8+CisJCQkJCTx2YWwgbz0iMjJkMzk3IiB2PSIyOC4zMDUiLz4KKwkJCQkJPHZhbCBvPSIyMmUxYTYiIHY9IjI4LjQ3NSIvPgorCQkJCQk8dmFsIG89IjIyZWZiNiIgdj0iMjMuNTMxIi8+CisJCQkJCTx2YWwgbz0iMjJmZGM3IiB2PSIyMi42MiIvPgorCQkJCQk8dmFsIG89IjIzMGJkNyIgdj0iMjIuMTMiLz4KKwkJCQkJPHZhbCBvPSIyMzE5ZTYiIHY9IjI3LjE1OSIvPgorCQkJCQk8dmFsIG89IjIzMjdmNiIgdj0iMjcuNzA1Ii8+CisJCQkJCTx2YWwgbz0iMjMzNjFiIiB2PSIyOS43OTYiLz4KKwkJCQkJPHZhbCBvPSIyMzQ0MTYiIHY9IjI3LjM0MSIvPgorCQkJCQk8dmFsIG89IjIzNTIyNiIgdj0iMjUuODg3Ii8+CisJCQkJCTx2YWwgbz0iMjM2MDM3IiB2PSIyNS44NDIiLz4KKwkJCQkJPHZhbCBvPSIyMzZlNDYiIHY9IjIzLjI2NiIvPgorCQkJCQk8dmFsIG89IjIzN2M1NyIgdj0iMjEuNjY0Ii8+CisJCQkJCTx2YWwgbz0iMjM4YTY2IiB2PSIxOS40MzciLz4KKwkJCQkJPHZhbCBvPSIyMzk4ODEiIHY9IjE1LjkxMiIvPgorCQkJCQk8dmFsIG89IjIzYTY4NSIgdj0iMTYuMDM3Ii8+CisJCQkJCTx2YWwgbz0iMjNiNDk1IiB2PSIxNS42NzQiLz4KKwkJCQkJPHZhbCBvPSIyM2MyYTQiIHY9IjEzLjcwNSIvPgorCQkJCQk8dmFsIG89IjIzZDBiNSIgdj0iMTQuMzMxIi8+CisJCQkJCTx2YWwgbz0iMjNkZWM0IiB2PSIxNS43ODEiLz4KKwkJCQkJPHZhbCBvPSIyM2VjZDUiIHY9IjE4LjE5NiIvPgorCQkJCQk8dmFsIG89IjIzZmFlNCIgdj0iMjIuMTE1Ii8+CisJCQkJCTx2YWwgbz0iMjQwOGY2IiB2PSIyNi4wNjYiLz4KKwkJCQkJPHZhbCBvPSIyNDE3MDYiIHY9IjM0LjgxMyIvPgorCQkJCQk8dmFsIG89IjI0MjUxOCIgdj0iMzUuOTE0Ii8+CisJCQkJCTx2YWwgbz0iMjQzMzI1IiB2PSIzNi43NzUiLz4KKwkJCQkJPHZhbCBvPSIyNDQxMzciIHY9IjM0LjI3NyIvPgorCQkJCQk8dmFsIG89IjI0NGY0NiIgdj0iMzIuMDU2Ii8+CisJCQkJCTx2YWwgbz0iMjQ2YjY2IiB2PSIzMy4wMDEiLz4KKwkJCQkJPHZhbCBvPSIyNDc5NzYiIHY9IjMxLjY4NyIvPgorCQkJCQk8dmFsIG89IjI0ODc4NiIgdj0iMzYuODU0Ii8+CisJCQkJCTx2YWwgbz0iMjQ5NTdlIiB2PSIzMC40MjgiLz4KKwkJCQkJPHZhbCBvPSIyNGEzOGYiIHY9IjI4LjI0NiIvPgorCQkJCQk8dmFsIG89IjI0YjE5YyIgdj0iMjguOTg0Ii8+CisJCQkJCTx2YWwgbz0iMjRiZmFjIiB2PSIyNy4xNzYiLz4KKwkJCQkJPHZhbCBvPSIyNGNkYmMiIHY9IjI2LjQ1NSIvPgorCQkJCQk8dmFsIG89IjI0ZGJjZCIgdj0iMjEuODkxIi8+CisJCQkJCTx2YWwgbz0iMjRlOWU1IiB2PSIyMC4wNzMiLz4KKwkJCQkJPHZhbCBvPSIyNGY4MDgiIHY9IjE3LjA4MyIvPgorCQkJCQk8dmFsIG89IjI1MDYxNiIgdj0iMTcuOTIxIi8+CisJCQkJCTx2YWwgbz0iMjUxNDI2IiB2PSIxNy45NzIiLz4KKwkJCQkJPHZhbCBvPSIyNTIyMzYiIHY9IjE2LjEiLz4KKwkJCQkJPHZhbCBvPSIyNTMwNDciIHY9IjE3LjMyNCIvPgorCQkJCQk8dmFsIG89IjI1M2U1NiIgdj0iMjAuOTciLz4KKwkJCQkJPHZhbCBvPSIyNTRjNjciIHY9IjIxLjI2OSIvPgorCQkJCQk8dmFsIG89IjI1NWE3NiIgdj0iMjUuMDQxIi8+CisJCQkJCTx2YWwgbz0iMjU2ODg3IiB2PSIzMS4yNyIvPgorCQkJCQk8dmFsIG89IjI1NzY5NyIgdj0iMzMuNzEyIi8+CisJCQkJCTx2YWwgbz0iMjU4NGE4IiB2PSI4Mi43NDQiLz4KKwkJCQkJPHZhbCBvPSIyNTkyYjYiIHY9IjQ2Ljc0NiIvPgorCQkJCQk8dmFsIG89IjI1YTBjNyIgdj0iMjIuOTAzIi8+CisJCQkJCTx2YWwgbz0iMjVhZWQ3IiB2PSIzMS4zNDMiLz4KKwkJCQkJPHZhbCBvPSIyNWJjZTciIHY9IjMwLjQzOCIvPgorCQkJCQk8dmFsIG89IjI1Y2FmOCIgdj0iMjguODgzIi8+CisJCQkJCTx2YWwgbz0iMjVkOTA3IiB2PSIzMC43OTQiLz4KKwkJCQkJPHZhbCBvPSIyNWU3MTgiIHY9IjMxLjAxMSIvPgorCQkJCQk8dmFsIG89IjI1ZjUyNyIgdj0iMjguMDk4Ii8+CisJCQkJCTx2YWwgbz0iMjYwMzM4IiB2PSIyNy4xNzciLz4KKwkJCQkJPHZhbCBvPSIyNjExNDkiIHY9IjI0Ljk0MSIvPgorCQkJCQk8dmFsIG89IjI2MWY1OSIgdj0iMjIuODM0Ii8+CisJCQkJCTx2YWwgbz0iMjYyZDY4IiB2PSIyMy4yMDkiLz4KKwkJCQkJPHZhbCBvPSIyNjNiODMiIHY9IjE3LjU2Ii8+CisJCQkJCTx2YWwgbz0iMjY0OTg2IiB2PSIxNy41NTUiLz4KKwkJCQkJPHZhbCBvPSIyNjU3OTUiIHY9IjE4Ljc2MSIvPgorCQkJCQk8dmFsIG89IjI2NjVhNiIgdj0iMjAuNjk4Ii8+CisJCQkJCTx2YWwgbz0iMjY3M2I1IiB2PSIxOS4zNzIiLz4KKwkJCQkJPHZhbCBvPSIyNjgxYzYiIHY9IjE4LjY0NCIvPgorCQkJCQk8dmFsIG89IjI2OGZkNSIgdj0iMTguNzkyIi8+CisJCQkJCTx2YWwgbz0iMjY5ZGU2IiB2PSIxOC45NTEiLz4KKwkJCQkJPHZhbCBvPSIyNmFiZjYiIHY9IjE4LjkwNyIvPgorCQkJCQk8dmFsIG89IjI2YmEwNiIgdj0iMjMuNDA5Ii8+CisJCQkJCTx2YWwgbz0iMjZjODE3IiB2PSIyMy41MTEiLz4KKwkJCQkJPHZhbCBvPSIyNmQ2MmIiIHY9IjI2Ljk0MSIvPgorCQkJCQk8dmFsIG89IjI2ZTQzNiIgdj0iMjQuMDA4Ii8+CisJCQkJCTx2YWwgbz0iMjZmMjQ3IiB2PSIyMy4xNDciLz4KKwkJCQkJPHZhbCBvPSIyNzAwNTciIHY9IjIzLjkzNSIvPgorCQkJCQk8dmFsIG89IjI3MGU2NyIgdj0iMjQiLz4KKwkJCQkJPHZhbCBvPSIyNzFjNzciIHY9IjIyLjg4OCIvPgorCQkJCQk8dmFsIG89IjI3MmE4NyIgdj0iMjYuMjQ2Ii8+CisJCQkJCTx2YWwgbz0iMjczODk3IiB2PSIyNS45MDkiLz4KKwkJCQkJPHZhbCBvPSIyNzQ2YTgiIHY9IjI1LjEwOSIvPgorCQkJCQk8dmFsIG89IjI3NTRiOSIgdj0iMjQuNzI1Ii8+CisJCQkJCTx2YWwgbz0iMjc2MmM3IiB2PSIyMy43NTUiLz4KKwkJCQkJPHZhbCBvPSIyNzcwZDgiIHY9IjE4LjgzOSIvPgorCQkJCQk8dmFsIG89IjI3N2VlNyIgdj0iMTUuMzYyIi8+CisJCQkJPC9wYXI+CisJCQkJPHBhciBtZW1pbmQ9Ijg2MDgiIGg9IjNkYzFhOGRlIj4KKwkJCQkJPHZhbCBvPSIwIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZTA4IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWMzMiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjJhM2MiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIzODM1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNDY0NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjU0NTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI2MjY1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNzA3NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjdlODUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI4Yzk2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iOWFhNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImE4YjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJiNmM1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYzRkNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImQzMGIiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJlMGY2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZWYwNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImZkMTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMGIyNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjExOTM3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTI3NDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMzU1NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0MzY2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTUxODEiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNWY4NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2ZDk1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTdiYTQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxODliNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE5N2M0IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWE1ZDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxYjNlNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFjMWY2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWQwMDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZGUxNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFlYzI1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWZhMzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMDg0NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIxNjU2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjI0NjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMzI3NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI0MDg2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjRlOTkiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNWNhNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI2YWI3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjc4YzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyODZkNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI5NGU2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMmEzMDEiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyYjEwNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjJiZjE1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMmNkMjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyZGIzNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjJlOTQ2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMmY3NTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIzMDU2NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjMxMzc1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMzIxOWUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIzMmY5NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjMzZGE2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMzRiYjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIzNTlkZSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjM2N2Q2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMzc1ZTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIzODQwZSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjM5MjFlIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iM2EwMTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIzYWUyNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjNiYzM2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iM2NhNDciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIzZDg1NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjNlNjY3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iM2Y0ODEiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI0MDI4NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjQxMDk1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNDFlYTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI0MmNiNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjQzYWM1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNDQ4ZDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI0NTZlNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjQ2NGY1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNDgwZmYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI0OGYwZSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjQ5ZDFkIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNGFiNDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI0Yjk1NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjRjNzY5IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNGQ1NzciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI0ZTM4NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjRmMTk2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNGZmYTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI1MGRkMCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjUxYmM2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNTI5ZDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI1MzdlNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjU0NjAwIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNTU0MDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI1NjIxNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjU3MDI2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNTdlMzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI1OGM0NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjU5YTcwIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNWE4NjciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI1YjY3NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjVjNDg3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNWQyOTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI1ZTBhOSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjVlZWI4IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNWZjYzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI2MGFkNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjYxOGU3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNjI2ZjciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI2MzUwNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjY0MzE3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNjUxMjciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI2NWYzNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjY2ZDQ2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNjdiNTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI2ODk2NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjY5NzgyIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNmE1ODYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI2YjM5NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjZjMWE2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNmNmYjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI2ZGRjNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjZlYmQ2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNmY5ZTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI3MDdmNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjcxNjA3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNzI0MTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI3MzIyNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89Ijc0MDM3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNzRlNDciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI3NWM1NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89Ijc2YTYzIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNzc4NzMiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI3ODY4MCIgdj0iMCIvPgorCQkJCQk8dmFsIG89Ijc5NDhmIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iN2EyOWYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI3YjBhZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjdiZWJmIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iN2NjY2YiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI3ZGFkZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjdlOGZhIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iN2Y3MGEiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI4MDUxYSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjgxMzJhIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iODIxM2EiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI4MmY0YSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjgzZDVhIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iODRiNmEiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI4NTk3YSIgdj0iMCIvPgorCQkJCQk8dmFsIG89Ijg2NzhiIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iODc1OWIiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI4ODNhYyIgdj0iMCIvPgorCQkJCQk8dmFsIG89Ijg5MWJiIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iODlmY2EiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI4YWRkYSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjhiYmViIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iOGM5ZmMiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI4ZDgwYiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjhlNjFhIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iOGY0MmEiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI5MDIzYSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjkxMDRhIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iOTFlNWEiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI5MmM2YSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjkzYTg0IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iOTQ4ODUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI5NTY5NCIgdj0iMCIvPgorCQkJCQk8dmFsIG89Ijk2NGE1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iOTcyYjQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI5ODBjNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89Ijk4ZWQ0IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iOTljZTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI5YWFmNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjliOTA2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iOWM3MTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI5ZDUyNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjllMzM2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iOWYxNDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI5ZmY1NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImEwZDY1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYTFiNzciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJhMjk4NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImEzNzk1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYTQ1YTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJhNTNiNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImE2MWM3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYTZmZDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJhN2UwMCIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImE4YzAwIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYTlhMDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJhYTgxNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImFiNjI1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYWM0MzUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJhZDI0NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImFlMDU1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYWVlNjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJhZmM3NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImIwYTg1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYjI2YTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJiMzRiNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImI0MmM2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYjUwZDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJiNWVlNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImI2Y2Y2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYjdiMDciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJiODkxNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImI5NzI4IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYmE1MzciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJiYjM0NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImJjMTU3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYmNmNjciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJiZGQ4MSIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImJlYjg2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYmY5OTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJjMDdhNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImMxNWI1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYzIzYzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJjMzFkNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImMzZmU2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYzRkZjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJjNWMwNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImM2YTE2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYzc4MjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJjODYzNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImM5NDQ2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iY2EyNTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJjYjA2NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImNiZTc2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iY2NjODciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJjZGE5NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImNlOGE4IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iY2Y2YjciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJkMDRjOCIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImQxMmQ3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZDIwZTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJkMmYwMiIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImQzZDA1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZDRiMTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJkNTkyNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImQ2NzM1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZDc1NDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJkODM1NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImQ5MTY2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZDlmNzUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJkYWQ4NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImRiYjk3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZGM5YTgiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJkZDdiNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImRlNWM2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZGYzZDciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJlMDFkNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImUwZmU1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZTFkZjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJlMmMwNCIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImUzYTE0IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZTQ4MjQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJlNTYzNCIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImU2NDQ0IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZTcyNTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJlODA2ZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImU4ZTdmIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZTljOGUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJlYWE5ZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImViOGFlIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZWM2YmYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJlZDRjZSIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImVlMmRmIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZWYwZWYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJlZmYwMSIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImYwZDEwIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZjFiMjAiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJmMjkzMCIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImYzNzQwIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZjQ1NTEiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJmNTM2MSIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImY2MTcyIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZjZmODAiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJmN2Q5MSIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImY4YmExIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZjk5YjEiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJmYTdjMCIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImZiNWQxIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZmMzZTAiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJmZDFmYiIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImZlMDBiIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZmVlMWMiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJmZmMyYyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEwMGEzYiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEwMTg0YyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEwMjY1YiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEwMzQ2YyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEwNDI3YiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEwNTA4ZCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEwNWU5ZCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEwNmNhZCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEwN2FiZCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEwODhjZCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEwOTZkZSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEwYTRlZCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEwYjJmZSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEwYzEwZCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEwY2YxZSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEwZGQyZSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEwZWI2NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEwZjk0ZSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjExMDc1ZSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjExMTU2ZCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjExMjM4OCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjExMzE4NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjExM2ZiMCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjExNGRhNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjExNWJiNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjExNjljNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjExNzdkNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjExODVlOCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjExOTNmNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjExYTIwOCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjExYjAxNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjExYmUyZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjExY2MzNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjExZGE0NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjExZTg1NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjExZjY2NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEyMDU3OCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEyMTM4NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEyMjE5NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEyMmZhNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEyM2RiNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEyNGJjNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEyNTlkNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEyNjdlNCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEyNzYwMCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEyODMwNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEyOTExNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEyOWYyNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEyYWQzNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEyYmI0NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEyYzk1NCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEyZDc2NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEyZTU3NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEyZjM4NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEzMDE5NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEzMGZhNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEzMWRiNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEzMmJjNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEzMzlkNCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEzNDdlNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEzNTVmNCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEzNjQwNCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEzNzIxNCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEzODAyNCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEzOGUzMyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEzOWM0NCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEzYWE1NCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEzYjg2NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEzYzY3ZSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEzZDQ4ZSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEzZTI5ZSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEzZjBhZSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEzZmViZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0MGNjZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0MWFkZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0MjhlZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0MzZmZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0NDUwZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0NTMxZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0NjEzMCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0NmY0MCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0N2Q0NCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0OGI1NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0OTk2NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0YTc3NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0YjU4NCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0YzM5NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0ZDFhNCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0ZGZiNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0ZWRjNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0ZmJkNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1MDllNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1MTdmZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1MjYwNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1MzQxNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1NDIyNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1NTAzNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1NWU0NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1NmM1NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1N2E2NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1ODg3NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1OTY4NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1YTQ5NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1YjJhNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1YzBiNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1Y2VjNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1ZGNkNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1ZWFlNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1ZjhmNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2MDcwNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2MTUxNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2MjMyNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2MzEzNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2M2Y0NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2NGQ1NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2NWI2NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2Njk4MiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2Nzc4NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2ODU5NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2OTNhNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2YTFiNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2YWZjNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2YmRkNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2Y2JlNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2ZDlmNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2ZTgwNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2ZjYxNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE3MDQyOSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE3MTIzNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE3MjA0NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE3MmU1NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE3M2M2NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE3NGE3NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE3NTg4NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE3NjY5NCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE3NzRhMyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE3ODJiMyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE3OTBjNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE3OWVkNCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE3YWNlNCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE3YmFmZCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE3YzkwZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE3ZDcxZSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE3ZTUyZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE3ZjMzZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE4MDE0ZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE4MGY1ZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE4MWQ2ZSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE4MmI3ZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE4Mzk4ZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE4NDdhMSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE4NTVhZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE4NjNjMCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE4NzFjZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE4N2ZlMCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE4OGRlZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE4OWMwMCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE4YjgwZCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE4YzYxYyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE4ZDQyYyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE4ZTIzYiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE4ZjA0YiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE4ZmU1ZSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE5MGM3NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE5MWE4NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE5Mjg5NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE5MzZhNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE5NDRiNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE5NTJjNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE5NjBkNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE5NmVlNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE5N2NmOCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE5OGIwZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE5OTkxZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE5YjU0MSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE5YzM0ZCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE5ZDE1ZSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE5ZGY4MCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE5ZWQ5MCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE5ZWViZSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE5ZmI4ZSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFhMDlhMCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFhMTdhZSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFhMjViZSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFhMzNjZCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFhNDFkZCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFhNGZlZCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFhNWUwOCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFhNmMwNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFhN2ExNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFhODgyNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFhOTYzNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFhYTQ0NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFhYjI1NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFhYzA2NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFhY2U3NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFhZGM4NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFhZWE5NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFhZjhhNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFiMDZiNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFiMTRjNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFjNzQ2MCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFjODI3MCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFjOTA3ZSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFjOWU4ZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFjYWNhMiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFjYmFiMSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFjYzhjMSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFjZDZkMCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFjZTRkZSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFjZjJmMCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFkMDEwOSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFkMGYwNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFkMWQxNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFkMmIyNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFkMzkzNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFkNDc0NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFkNTU1NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFkNjM2NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFkNzE3NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFkN2Y4NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFkOGQ5NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFkOWJhNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFkYTliNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFkYjdjNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFkYzVkNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFkZDNlNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFkZTFmNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFkZjAwNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFkZmUxNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFlMGMyNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFlMWEzNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFlMjg0NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFlMzY1OSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFlNDQ2NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFlNTI4MSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFlNjA4NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFlNmU5NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFlN2NhNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFlOGFiNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFlOThjNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFlYTZkNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFlYjRlNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFlYzJmNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFlZDEwNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFlZGYxNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFlZWQyNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFlZmIzNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFmMDk0NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFmMTc1NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFmMjU2NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFmMzM3NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFmNDE4NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFmNGY5NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFmNWRhNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFmNmJiNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFmNzljNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFmODdkNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFmOTVlNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFmYTQwMSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFmYjIwNCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFmYzAxNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFmY2UyNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFmZGMzNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFmZWE0NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFmZjg1NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIwMDY2NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIwMTQ3NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIwMjI4NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIwMzA5NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIwM2VhNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIwNGNiNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIwNWFjNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIwNjhkNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIwNzZlNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIwODRmNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIwOTMwNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIwYTExNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIwYWYyNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIwYmQzNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIwY2I0NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIwZDk1NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIwZTc2NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIwZjU4MSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIxMDM4NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIxMTE5NCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIxMWZhNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIxMmRiNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIxM2JjNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIxNDlkNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIxNTdlNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIxNjVmNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIxNzQwNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIxODIxNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIxOTAyNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIxOWUzOSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIxYWM0NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIxYmE1NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIxYzg2NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIxZDY3NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIxZTQ4NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIxZjI5NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIyMDBhNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIyMGViNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIyMWNjNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIyMmFkNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIyMzhlNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIyNDcwMSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIyNTUwNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIyNjMxNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIyNzEyNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIyN2YzNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIyOGQ0NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIyOWI1NCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIyYTk2NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIyYjc3NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIyYzU4NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIyZDM5NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIyZTFhNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIyZWZiNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIyZmRjNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIzMGJkNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIzMTllNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIzMjdmNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIzMzYxYiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIzNDQxNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIzNTIyNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIzNjAzNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIzNmU0NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIzN2M1NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIzOGE2NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIzOTg4MSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIzYTY4NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIzYjQ5NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIzYzJhNCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIzZDBiNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIzZGVjNCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIzZWNkNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIzZmFlNCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI0MDhmNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI0MTcwNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI0MjUxOCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI0MzMyNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI0NDEzNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI0NGY0NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI0NmI2NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI0Nzk3NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI0ODc4NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI0OTU3ZSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI0YTM4ZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI0YjE5YyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI0YmZhYyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI0Y2RiYyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI0ZGJjZCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI0ZTllNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI0ZjgwOCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI1MDYxNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI1MTQyNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI1MjIzNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI1MzA0NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI1M2U1NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI1NGM2NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI1NWE3NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI1Njg4NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI1NzY5NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI1ODRhOCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI1OTJiNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI1YTBjNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI1YWVkNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI1YmNlNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI1Y2FmOCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI1ZDkwNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI1ZTcxOCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI1ZjUyNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI2MDMzOCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI2MTE0OSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI2MWY1OSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI2MmQ2OCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI2M2I4MyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI2NDk4NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI2NTc5NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI2NjVhNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI2NzNiNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI2ODFjNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI2OGZkNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI2OWRlNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI2YWJmNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI2YmEwNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI2YzgxNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI2ZDYyYiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI2ZTQzNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI2ZjI0NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI3MDA1NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI3MGU2NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI3MWM3NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI3MmE4NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI3Mzg5NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI3NDZhOCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI3NTRiOSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI3NjJjNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI3NzBkOCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI3N2VlNyIgdj0iMCIvPgorCQkJCTwvcGFyPgorCQkJCTxwYXIgbWVtaW5kPSI4NjA0IiBoPSIzZGMxYThkZSI+CisJCQkJCTx2YWwgbz0iMCIgdj0iMjEuMDQzIi8+CisJCQkJCTx2YWwgbz0iZTA4IiB2PSIyMC4wNTEiLz4KKwkJCQkJPHZhbCBvPSIxYzMyIiB2PSIxOS44MTgiLz4KKwkJCQkJPHZhbCBvPSIyYTNjIiB2PSIxOS41NTQiLz4KKwkJCQkJPHZhbCBvPSIzODM1IiB2PSIxOC45NTEiLz4KKwkJCQkJPHZhbCBvPSI0NjQ1IiB2PSIxOC44NTMiLz4KKwkJCQkJPHZhbCBvPSI1NDU1IiB2PSIyMi4zOTgiLz4KKwkJCQkJPHZhbCBvPSI2MjY1IiB2PSIyNC40OTIiLz4KKwkJCQkJPHZhbCBvPSI3MDc1IiB2PSIyOS4yMDYiLz4KKwkJCQkJPHZhbCBvPSI3ZTg1IiB2PSIzNS4wNjMiLz4KKwkJCQkJPHZhbCBvPSI4Yzk2IiB2PSIzNS4wNyIvPgorCQkJCQk8dmFsIG89IjlhYTUiIHY9IjMzLjU4NSIvPgorCQkJCQk8dmFsIG89ImE4YjYiIHY9IjMwLjc3Ii8+CisJCQkJCTx2YWwgbz0iYjZjNSIgdj0iMjkuMTQxIi8+CisJCQkJCTx2YWwgbz0iYzRkNyIgdj0iMC4wNjEiLz4KKwkJCQkJPHZhbCBvPSJkMzBiIiB2PSIwLjA2MSIvPgorCQkJCQk8dmFsIG89ImUwZjYiIHY9IjAuMDYiLz4KKwkJCQkJPHZhbCBvPSJlZjA2IiB2PSIwLjA1OSIvPgorCQkJCQk8dmFsIG89ImZkMTciIHY9IjAuMDYiLz4KKwkJCQkJPHZhbCBvPSIxMGIyNyIgdj0iMC4wNjIiLz4KKwkJCQkJPHZhbCBvPSIxMTkzNyIgdj0iMC4wNjMiLz4KKwkJCQkJPHZhbCBvPSIxMjc0NiIgdj0iMC4wNjEiLz4KKwkJCQkJPHZhbCBvPSIxMzU1NiIgdj0iMC4wNjIiLz4KKwkJCQkJPHZhbCBvPSIxNDM2NiIgdj0iMC4wNjYiLz4KKwkJCQkJPHZhbCBvPSIxNTE4MSIgdj0iMC4wNyIvPgorCQkJCQk8dmFsIG89IjE1Zjg1IiB2PSIwLjA2NCIvPgorCQkJCQk8dmFsIG89IjE2ZDk1IiB2PSIwLjA2NSIvPgorCQkJCQk8dmFsIG89IjE3YmE0IiB2PSIwLjA2NCIvPgorCQkJCQk8dmFsIG89IjE4OWI1IiB2PSIwLjA2MyIvPgorCQkJCQk8dmFsIG89IjE5N2M0IiB2PSIwLjA2NCIvPgorCQkJCQk8dmFsIG89IjFhNWQ1IiB2PSIwLjA2NiIvPgorCQkJCQk8dmFsIG89IjFiM2U2IiB2PSIwLjA2NyIvPgorCQkJCQk8dmFsIG89IjFjMWY2IiB2PSIwLjA2NiIvPgorCQkJCQk8dmFsIG89IjFkMDA1IiB2PSIwLjA2MiIvPgorCQkJCQk8dmFsIG89IjFkZTE1IiB2PSIwLjA2MiIvPgorCQkJCQk8dmFsIG89IjFlYzI1IiB2PSIwLjA2MyIvPgorCQkJCQk8dmFsIG89IjFmYTM2IiB2PSIwLjA2NiIvPgorCQkJCQk8dmFsIG89IjIwODQ1IiB2PSIwLjA2NiIvPgorCQkJCQk8dmFsIG89IjIxNjU2IiB2PSIwLjA2NiIvPgorCQkJCQk8dmFsIG89IjIyNDY1IiB2PSIwLjA2NCIvPgorCQkJCQk8dmFsIG89IjIzMjc2IiB2PSIwLjA2MyIvPgorCQkJCQk8dmFsIG89IjI0MDg2IiB2PSIwLjA2MSIvPgorCQkJCQk8dmFsIG89IjI0ZTk5IiB2PSIwLjA2MSIvPgorCQkJCQk8dmFsIG89IjI1Y2E3IiB2PSIwLjA2MiIvPgorCQkJCQk8dmFsIG89IjI2YWI3IiB2PSIwLjA2MiIvPgorCQkJCQk8dmFsIG89IjI3OGM2IiB2PSIwLjA2MSIvPgorCQkJCQk8dmFsIG89IjI4NmQ2IiB2PSIwLjA2MyIvPgorCQkJCQk8dmFsIG89IjI5NGU2IiB2PSIwLjA2NiIvPgorCQkJCQk8dmFsIG89IjJhMzAxIiB2PSIwLjA2NyIvPgorCQkJCQk8dmFsIG89IjJiMTA1IiB2PSIwLjA2Ii8+CisJCQkJCTx2YWwgbz0iMmJmMTUiIHY9IjAuMDYxIi8+CisJCQkJCTx2YWwgbz0iMmNkMjUiIHY9IjAuMDYzIi8+CisJCQkJCTx2YWwgbz0iMmRiMzUiIHY9IjAuMDYyIi8+CisJCQkJCTx2YWwgbz0iMmU5NDYiIHY9IjAuMDYxIi8+CisJCQkJCTx2YWwgbz0iMmY3NTUiIHY9IjAuMDU4Ii8+CisJCQkJCTx2YWwgbz0iMzA1NjYiIHY9IjAuMDY2Ii8+CisJCQkJCTx2YWwgbz0iMzEzNzUiIHY9IjAuMDY0Ii8+CisJCQkJCTx2YWwgbz0iMzIxOWUiIHY9IjAuMDY2Ii8+CisJCQkJCTx2YWwgbz0iMzJmOTYiIHY9IjAuMDYzIi8+CisJCQkJCTx2YWwgbz0iMzNkYTYiIHY9IjAuMDYyIi8+CisJCQkJCTx2YWwgbz0iMzRiYjYiIHY9IjAuMDYzIi8+CisJCQkJCTx2YWwgbz0iMzU5ZGUiIHY9IjAuMDY0Ii8+CisJCQkJCTx2YWwgbz0iMzY3ZDYiIHY9IjAuMDY0Ii8+CisJCQkJCTx2YWwgbz0iMzc1ZTYiIHY9IjAuMDYyIi8+CisJCQkJCTx2YWwgbz0iMzg0MGUiIHY9IjAuMDU5Ii8+CisJCQkJCTx2YWwgbz0iMzkyMWUiIHY9IjAuMDYiLz4KKwkJCQkJPHZhbCBvPSIzYTAxNiIgdj0iMC4wNiIvPgorCQkJCQk8dmFsIG89IjNhZTI3IiB2PSIwLjA2MyIvPgorCQkJCQk8dmFsIG89IjNiYzM2IiB2PSIwLjA2MiIvPgorCQkJCQk8dmFsIG89IjNjYTQ3IiB2PSIwLjA1OSIvPgorCQkJCQk8dmFsIG89IjNkODU2IiB2PSIwLjA2MiIvPgorCQkJCQk8dmFsIG89IjNlNjY3IiB2PSIwLjA2NCIvPgorCQkJCQk8dmFsIG89IjNmNDgxIiB2PSIwLjA2OCIvPgorCQkJCQk8dmFsIG89IjQwMjg1IiB2PSIwLjA2NSIvPgorCQkJCQk8dmFsIG89IjQxMDk1IiB2PSIwLjA2NiIvPgorCQkJCQk8dmFsIG89IjQxZWE1IiB2PSIwLjA2NSIvPgorCQkJCQk8dmFsIG89IjQyY2I1IiB2PSIwLjA2NiIvPgorCQkJCQk8dmFsIG89IjQzYWM1IiB2PSIwLjA2NCIvPgorCQkJCQk8dmFsIG89IjQ0OGQ1IiB2PSIwLjA2MSIvPgorCQkJCQk8dmFsIG89IjQ1NmU2IiB2PSIwLjA2MiIvPgorCQkJCQk8dmFsIG89IjQ2NGY1IiB2PSIwLjA2MiIvPgorCQkJCQk8dmFsIG89IjQ4MGZmIiB2PSIwLjA1OCIvPgorCQkJCQk8dmFsIG89IjQ4ZjBlIiB2PSIwLjA1NiIvPgorCQkJCQk8dmFsIG89IjQ5ZDFkIiB2PSIwLjA1NyIvPgorCQkJCQk8dmFsIG89IjRhYjQ2IiB2PSIwLjA1NiIvPgorCQkJCQk8dmFsIG89IjRiOTU1IiB2PSIwLjA1NyIvPgorCQkJCQk8dmFsIG89IjRjNzY5IiB2PSIwLjA1NSIvPgorCQkJCQk8dmFsIG89IjRkNTc3IiB2PSIwLjA1NyIvPgorCQkJCQk8dmFsIG89IjRlMzg3IiB2PSIwLjA1NyIvPgorCQkJCQk8dmFsIG89IjRmMTk2IiB2PSIwLjA1NyIvPgorCQkJCQk8dmFsIG89IjRmZmE2IiB2PSIwLjA1OCIvPgorCQkJCQk8dmFsIG89IjUwZGQwIiB2PSIwLjA2Ii8+CisJCQkJCTx2YWwgbz0iNTFiYzYiIHY9IjAuMDYyIi8+CisJCQkJCTx2YWwgbz0iNTI5ZDYiIHY9IjAuMDYyIi8+CisJCQkJCTx2YWwgbz0iNTM3ZTciIHY9IjAuMDY1Ii8+CisJCQkJCTx2YWwgbz0iNTQ2MDAiIHY9IjAuMDY3Ii8+CisJCQkJCTx2YWwgbz0iNTU0MDYiIHY9IjAuMDY1Ii8+CisJCQkJCTx2YWwgbz0iNTYyMTUiIHY9IjAuMDY1Ii8+CisJCQkJCTx2YWwgbz0iNTcwMjYiIHY9IjAuMDY1Ii8+CisJCQkJCTx2YWwgbz0iNTdlMzYiIHY9IjAuMDY0Ii8+CisJCQkJCTx2YWwgbz0iNThjNDYiIHY9IjAuMDYzIi8+CisJCQkJCTx2YWwgbz0iNTlhNzAiIHY9IjAuMDYzIi8+CisJCQkJCTx2YWwgbz0iNWE4NjciIHY9IjAuMDYiLz4KKwkJCQkJPHZhbCBvPSI1YjY3NiIgdj0iMC4wNiIvPgorCQkJCQk8dmFsIG89IjVjNDg3IiB2PSIwLjA1NiIvPgorCQkJCQk8dmFsIG89IjVkMjk2IiB2PSIwLjA1OCIvPgorCQkJCQk8dmFsIG89IjVlMGE5IiB2PSIwLjA2Ii8+CisJCQkJCTx2YWwgbz0iNWVlYjgiIHY9IjAuMDYyIi8+CisJCQkJCTx2YWwgbz0iNWZjYzYiIHY9IjAuMDYxIi8+CisJCQkJCTx2YWwgbz0iNjBhZDciIHY9IjAuMDU3Ii8+CisJCQkJCTx2YWwgbz0iNjE4ZTciIHY9IjAuMDU3Ii8+CisJCQkJCTx2YWwgbz0iNjI2ZjciIHY9IjAuMDU5Ii8+CisJCQkJCTx2YWwgbz0iNjM1MDciIHY9IjAuMDU5Ii8+CisJCQkJCTx2YWwgbz0iNjQzMTciIHY9IjAuMDYxIi8+CisJCQkJCTx2YWwgbz0iNjUxMjciIHY9IjAuMDYyIi8+CisJCQkJCTx2YWwgbz0iNjVmMzciIHY9IjAuMDYzIi8+CisJCQkJCTx2YWwgbz0iNjZkNDYiIHY9IjAuMDYyIi8+CisJCQkJCTx2YWwgbz0iNjdiNTciIHY9IjAuMDYyIi8+CisJCQkJCTx2YWwgbz0iNjg5NjciIHY9IjAuMDY1Ii8+CisJCQkJCTx2YWwgbz0iNjk3ODIiIHY9IjAuMDY1Ii8+CisJCQkJCTx2YWwgbz0iNmE1ODYiIHY9IjAuMDY0Ii8+CisJCQkJCTx2YWwgbz0iNmIzOTUiIHY9IjAuMDY1Ii8+CisJCQkJCTx2YWwgbz0iNmMxYTYiIHY9IjAuMDY2Ii8+CisJCQkJCTx2YWwgbz0iNmNmYjUiIHY9IjAuMDY0Ii8+CisJCQkJCTx2YWwgbz0iNmRkYzYiIHY9IjAuMDYzIi8+CisJCQkJCTx2YWwgbz0iNmViZDYiIHY9IjAuMDU5Ii8+CisJCQkJCTx2YWwgbz0iNmY5ZTYiIHY9IjAuMDYxIi8+CisJCQkJCTx2YWwgbz0iNzA3ZjYiIHY9IjAuMDYyIi8+CisJCQkJCTx2YWwgbz0iNzE2MDciIHY9IjAuMDU5Ii8+CisJCQkJCTx2YWwgbz0iNzI0MTciIHY9IjAuMDU4Ii8+CisJCQkJCTx2YWwgbz0iNzMyMjciIHY9IjAuMDU2Ii8+CisJCQkJCTx2YWwgbz0iNzQwMzciIHY9IjAuMDYxIi8+CisJCQkJCTx2YWwgbz0iNzRlNDciIHY9IjAuMDYxIi8+CisJCQkJCTx2YWwgbz0iNzVjNTciIHY9IjAuMDU4Ii8+CisJCQkJCTx2YWwgbz0iNzZhNjMiIHY9IjAuMDU4Ii8+CisJCQkJCTx2YWwgbz0iNzc4NzMiIHY9IjAuMDU4Ii8+CisJCQkJCTx2YWwgbz0iNzg2ODAiIHY9IjAuMDU4Ii8+CisJCQkJCTx2YWwgbz0iNzk0OGYiIHY9IjAuMDU4Ii8+CisJCQkJCTx2YWwgbz0iN2EyOWYiIHY9IjAuMDYiLz4KKwkJCQkJPHZhbCBvPSI3YjBhZiIgdj0iMC4wNjIiLz4KKwkJCQkJPHZhbCBvPSI3YmViZiIgdj0iMC4wNjIiLz4KKwkJCQkJPHZhbCBvPSI3Y2NjZiIgdj0iMC4wNjQiLz4KKwkJCQkJPHZhbCBvPSI3ZGFkZiIgdj0iMC4wNjUiLz4KKwkJCQkJPHZhbCBvPSI3ZThmYSIgdj0iMC4wNjUiLz4KKwkJCQkJPHZhbCBvPSI3ZjcwYSIgdj0iMC4wNjciLz4KKwkJCQkJPHZhbCBvPSI4MDUxYSIgdj0iMC4wNjciLz4KKwkJCQkJPHZhbCBvPSI4MTMyYSIgdj0iMC4wNjYiLz4KKwkJCQkJPHZhbCBvPSI4MjEzYSIgdj0iMC4wNjYiLz4KKwkJCQkJPHZhbCBvPSI4MmY0YSIgdj0iMC4wNjciLz4KKwkJCQkJPHZhbCBvPSI4M2Q1YSIgdj0iMC4wNjIiLz4KKwkJCQkJPHZhbCBvPSI4NGI2YSIgdj0iMC4wNiIvPgorCQkJCQk8dmFsIG89Ijg1OTdhIiB2PSIwLjA1OSIvPgorCQkJCQk8dmFsIG89Ijg2NzhiIiB2PSIwLjA1OSIvPgorCQkJCQk8dmFsIG89Ijg3NTliIiB2PSIwLjA1NyIvPgorCQkJCQk8dmFsIG89Ijg4M2FjIiB2PSIwLjA2Ii8+CisJCQkJCTx2YWwgbz0iODkxYmIiIHY9IjAuMDYxIi8+CisJCQkJCTx2YWwgbz0iODlmY2EiIHY9IjAuMDYiLz4KKwkJCQkJPHZhbCBvPSI4YWRkYSIgdj0iMC4wNTkiLz4KKwkJCQkJPHZhbCBvPSI4YmJlYiIgdj0iMC4wNTkiLz4KKwkJCQkJPHZhbCBvPSI4YzlmYyIgdj0iMC4wNTgiLz4KKwkJCQkJPHZhbCBvPSI4ZDgwYiIgdj0iMC4wNTgiLz4KKwkJCQkJPHZhbCBvPSI4ZTYxYSIgdj0iMC4wNTkiLz4KKwkJCQkJPHZhbCBvPSI4ZjQyYSIgdj0iMC4wNiIvPgorCQkJCQk8dmFsIG89IjkwMjNhIiB2PSIwLjA2MSIvPgorCQkJCQk8dmFsIG89IjkxMDRhIiB2PSIwLjA2MiIvPgorCQkJCQk8dmFsIG89IjkxZTVhIiB2PSIwLjA2Ii8+CisJCQkJCTx2YWwgbz0iOTJjNmEiIHY9IjAuMDYzIi8+CisJCQkJCTx2YWwgbz0iOTNhODQiIHY9IjAuMDY3Ii8+CisJCQkJCTx2YWwgbz0iOTQ4ODUiIHY9IjAuMDY0Ii8+CisJCQkJCTx2YWwgbz0iOTU2OTQiIHY9IjAuMDY0Ii8+CisJCQkJCTx2YWwgbz0iOTY0YTUiIHY9IjAuMDY1Ii8+CisJCQkJCTx2YWwgbz0iOTcyYjQiIHY9IjAuMDY0Ii8+CisJCQkJCTx2YWwgbz0iOTgwYzUiIHY9IjAuMDYyIi8+CisJCQkJCTx2YWwgbz0iOThlZDQiIHY9IjAuMDY1Ii8+CisJCQkJCTx2YWwgbz0iOTljZTUiIHY9IjAuMDY0Ii8+CisJCQkJCTx2YWwgbz0iOWFhZjUiIHY9IjAuMDYxIi8+CisJCQkJCTx2YWwgbz0iOWI5MDYiIHY9IjAuMDYxIi8+CisJCQkJCTx2YWwgbz0iOWM3MTYiIHY9IjAuMDYyIi8+CisJCQkJCTx2YWwgbz0iOWQ1MjYiIHY9IjAuMDYyIi8+CisJCQkJCTx2YWwgbz0iOWUzMzYiIHY9IjAuMDYzIi8+CisJCQkJCTx2YWwgbz0iOWYxNDUiIHY9IjAuMDYzIi8+CisJCQkJCTx2YWwgbz0iOWZmNTYiIHY9IjAuMDYxIi8+CisJCQkJCTx2YWwgbz0iYTBkNjUiIHY9IjAuMDYxIi8+CisJCQkJCTx2YWwgbz0iYTFiNzciIHY9IjMwLjIyIi8+CisJCQkJCTx2YWwgbz0iYTI5ODYiIHY9IjE2LjA1NCIvPgorCQkJCQk8dmFsIG89ImEzNzk1IiB2PSIxMC4yMiIvPgorCQkJCQk8dmFsIG89ImE0NWE3IiB2PSIzLjgzOSIvPgorCQkJCQk8dmFsIG89ImE1M2I2IiB2PSIzLjMwMSIvPgorCQkJCQk8dmFsIG89ImE2MWM3IiB2PSI0LjE5Ii8+CisJCQkJCTx2YWwgbz0iYTZmZDYiIHY9IjIuMDAyIi8+CisJCQkJCTx2YWwgbz0iYTdlMDAiIHY9IjQuOTExIi8+CisJCQkJCTx2YWwgbz0iYThjMDAiIHY9IjcuODk3Ii8+CisJCQkJCTx2YWwgbz0iYTlhMDUiIHY9IjIuOTM0Ii8+CisJCQkJCTx2YWwgbz0iYWE4MTUiIHY9IjEuNDg3Ii8+CisJCQkJCTx2YWwgbz0iYWI2MjUiIHY9IjIuMTk2Ii8+CisJCQkJCTx2YWwgbz0iYWM0MzUiIHY9IjEuNjc5Ii8+CisJCQkJCTx2YWwgbz0iYWQyNDUiIHY9IjUuOTg0Ii8+CisJCQkJCTx2YWwgbz0iYWUwNTUiIHY9IjEwLjY2MSIvPgorCQkJCQk8dmFsIG89ImFlZTY1IiB2PSIzLjY1MyIvPgorCQkJCQk8dmFsIG89ImFmYzc1IiB2PSI3LjI1MiIvPgorCQkJCQk8dmFsIG89ImIwYTg1IiB2PSIxOS43MDgiLz4KKwkJCQkJPHZhbCBvPSJiMjZhNiIgdj0iMjEuMTI4Ii8+CisJCQkJCTx2YWwgbz0iYjM0YjYiIHY9IjE4LjM1OCIvPgorCQkJCQk8dmFsIG89ImI0MmM2IiB2PSIzLjQ1NiIvPgorCQkJCQk8dmFsIG89ImI1MGQ2IiB2PSI0LjkxNiIvPgorCQkJCQk8dmFsIG89ImI1ZWU3IiB2PSI3LjMzNyIvPgorCQkJCQk8dmFsIG89ImI2Y2Y2IiB2PSI3LjIwNSIvPgorCQkJCQk8dmFsIG89ImI3YjA3IiB2PSI5LjE5MSIvPgorCQkJCQk8dmFsIG89ImI4OTE3IiB2PSI4LjAyNyIvPgorCQkJCQk8dmFsIG89ImI5NzI4IiB2PSI3LjY4OCIvPgorCQkJCQk8dmFsIG89ImJhNTM3IiB2PSI4LjY2NyIvPgorCQkJCQk8dmFsIG89ImJiMzQ3IiB2PSI3LjczNCIvPgorCQkJCQk8dmFsIG89ImJjMTU3IiB2PSI1LjE0OCIvPgorCQkJCQk8dmFsIG89ImJjZjY3IiB2PSI1LjA4MSIvPgorCQkJCQk8dmFsIG89ImJkZDgxIiB2PSIxOC40MzMiLz4KKwkJCQkJPHZhbCBvPSJiZWI4NiIgdj0iNC42NzYiLz4KKwkJCQkJPHZhbCBvPSJiZjk5NSIgdj0iMy45NyIvPgorCQkJCQk8dmFsIG89ImMwN2E2IiB2PSIyLjI0NyIvPgorCQkJCQk8dmFsIG89ImMxNWI1IiB2PSIyLjUxOSIvPgorCQkJCQk8dmFsIG89ImMyM2M2IiB2PSI0Ljc4NCIvPgorCQkJCQk8dmFsIG89ImMzMWQ1IiB2PSIxMC40MDYiLz4KKwkJCQkJPHZhbCBvPSJjM2ZlNiIgdj0iNS44NjMiLz4KKwkJCQkJPHZhbCBvPSJjNGRmNSIgdj0iOS42NjgiLz4KKwkJCQkJPHZhbCBvPSJjNWMwNiIgdj0iNS4xOTQiLz4KKwkJCQkJPHZhbCBvPSJjNmExNiIgdj0iNS4zNSIvPgorCQkJCQk8dmFsIG89ImM3ODI2IiB2PSI3Ljc0NSIvPgorCQkJCQk8dmFsIG89ImM4NjM2IiB2PSIzLjY1MSIvPgorCQkJCQk8dmFsIG89ImM5NDQ2IiB2PSI0LjIzNiIvPgorCQkJCQk8dmFsIG89ImNhMjU2IiB2PSIzLjI4MSIvPgorCQkJCQk8dmFsIG89ImNiMDY2IiB2PSI1LjY1NyIvPgorCQkJCQk8dmFsIG89ImNiZTc2IiB2PSIyLjI0OSIvPgorCQkJCQk8dmFsIG89ImNjYzg3IiB2PSIxMi4wMDQiLz4KKwkJCQkJPHZhbCBvPSJjZGE5NiIgdj0iMTUuODMzIi8+CisJCQkJCTx2YWwgbz0iY2U4YTgiIHY9IjExLjk4MSIvPgorCQkJCQk8dmFsIG89ImNmNmI3IiB2PSIxNS4xNDUiLz4KKwkJCQkJPHZhbCBvPSJkMDRjOCIgdj0iMTIuMzg2Ii8+CisJCQkJCTx2YWwgbz0iZDEyZDciIHY9IjguNTMiLz4KKwkJCQkJPHZhbCBvPSJkMjBlNyIgdj0iMS40NzQiLz4KKwkJCQkJPHZhbCBvPSJkMmYwMiIgdj0iNy40NDEiLz4KKwkJCQkJPHZhbCBvPSJkM2QwNSIgdj0iNC4yNjIiLz4KKwkJCQkJPHZhbCBvPSJkNGIxNSIgdj0iMy44MDUiLz4KKwkJCQkJPHZhbCBvPSJkNTkyNiIgdj0iMy43NTIiLz4KKwkJCQkJPHZhbCBvPSJkNjczNSIgdj0iNS41MzgiLz4KKwkJCQkJPHZhbCBvPSJkNzU0NiIgdj0iOS41MjQiLz4KKwkJCQkJPHZhbCBvPSJkODM1NSIgdj0iMS45ODgiLz4KKwkJCQkJPHZhbCBvPSJkOTE2NiIgdj0iNC4xNTkiLz4KKwkJCQkJPHZhbCBvPSJkOWY3NSIgdj0iOS42MjEiLz4KKwkJCQkJPHZhbCBvPSJkYWQ4NyIgdj0iMTcuNzA0Ii8+CisJCQkJCTx2YWwgbz0iZGJiOTciIHY9IjE5LjE3MSIvPgorCQkJCQk8dmFsIG89ImRjOWE4IiB2PSIxOS4yNTIiLz4KKwkJCQkJPHZhbCBvPSJkZDdiNyIgdj0iMTQuOTYxIi8+CisJCQkJCTx2YWwgbz0iZGU1YzYiIHY9IjEyLjgxNiIvPgorCQkJCQk8dmFsIG89ImRmM2Q3IiB2PSIxMy4xMTMiLz4KKwkJCQkJPHZhbCBvPSJlMDFkNyIgdj0iMTMuNDM1Ii8+CisJCQkJCTx2YWwgbz0iZTBmZTUiIHY9IjEzLjI4MyIvPgorCQkJCQk8dmFsIG89ImUxZGY1IiB2PSIxMy45ODkiLz4KKwkJCQkJPHZhbCBvPSJlMmMwNCIgdj0iMTguMDk4Ii8+CisJCQkJCTx2YWwgbz0iZTNhMTQiIHY9IjE3Ljc0MiIvPgorCQkJCQk8dmFsIG89ImU0ODI0IiB2PSIxNS4yMjkiLz4KKwkJCQkJPHZhbCBvPSJlNTYzNCIgdj0iMTUuMjYzIi8+CisJCQkJCTx2YWwgbz0iZTY0NDQiIHY9IjExLjk2OCIvPgorCQkJCQk8dmFsIG89ImU3MjU1IiB2PSI5Ljg5MyIvPgorCQkJCQk8dmFsIG89ImU4MDZmIiB2PSI3Ljk5NyIvPgorCQkJCQk8dmFsIG89ImU4ZTdmIiB2PSIxMy44ODgiLz4KKwkJCQkJPHZhbCBvPSJlOWM4ZSIgdj0iNi4zMzYiLz4KKwkJCQkJPHZhbCBvPSJlYWE5ZiIgdj0iNS42MzQiLz4KKwkJCQkJPHZhbCBvPSJlYjhhZSIgdj0iNy4zNjkiLz4KKwkJCQkJPHZhbCBvPSJlYzZiZiIgdj0iMTQuMjc2Ii8+CisJCQkJCTx2YWwgbz0iZWQ0Y2UiIHY9IjkuNjc0Ii8+CisJCQkJCTx2YWwgbz0iZWUyZGYiIHY9IjEyLjgxIi8+CisJCQkJCTx2YWwgbz0iZWYwZWYiIHY9IjE0Ljk4NSIvPgorCQkJCQk8dmFsIG89ImVmZjAxIiB2PSIyMS41MzEiLz4KKwkJCQkJPHZhbCBvPSJmMGQxMCIgdj0iMjEuMDM4Ii8+CisJCQkJCTx2YWwgbz0iZjFiMjAiIHY9IjIyLjkwOCIvPgorCQkJCQk8dmFsIG89ImYyOTMwIiB2PSIyMC44OTEiLz4KKwkJCQkJPHZhbCBvPSJmMzc0MCIgdj0iMjIuMjM0Ii8+CisJCQkJCTx2YWwgbz0iZjQ1NTEiIHY9IjIyLjUxNyIvPgorCQkJCQk8dmFsIG89ImY1MzYxIiB2PSIyNC4xNzIiLz4KKwkJCQkJPHZhbCBvPSJmNjE3MiIgdj0iMjMuMDA4Ii8+CisJCQkJCTx2YWwgbz0iZjZmODAiIHY9IjIzLjQ3NSIvPgorCQkJCQk8dmFsIG89ImY3ZDkxIiB2PSIyMi4wNTkiLz4KKwkJCQkJPHZhbCBvPSJmOGJhMSIgdj0iMTguNjcxIi8+CisJCQkJCTx2YWwgbz0iZjk5YjEiIHY9IjE4LjQ0NyIvPgorCQkJCQk8dmFsIG89ImZhN2MwIiB2PSIxNS44NjIiLz4KKwkJCQkJPHZhbCBvPSJmYjVkMSIgdj0iMTYuMzgiLz4KKwkJCQkJPHZhbCBvPSJmYzNlMCIgdj0iMTUuMTY1Ii8+CisJCQkJCTx2YWwgbz0iZmQxZmIiIHY9IjEyLjMzNSIvPgorCQkJCQk8dmFsIG89ImZlMDBiIiB2PSIxMi4yODMiLz4KKwkJCQkJPHZhbCBvPSJmZWUxYyIgdj0iOC45NDEiLz4KKwkJCQkJPHZhbCBvPSJmZmMyYyIgdj0iOC44MzciLz4KKwkJCQkJPHZhbCBvPSIxMDBhM2IiIHY9IjguNzkzIi8+CisJCQkJCTx2YWwgbz0iMTAxODRjIiB2PSIxMC4wNDMiLz4KKwkJCQkJPHZhbCBvPSIxMDI2NWIiIHY9IjEzLjkzMiIvPgorCQkJCQk8dmFsIG89IjEwMzQ2YyIgdj0iMTUuOTc0Ii8+CisJCQkJCTx2YWwgbz0iMTA0MjdiIiB2PSIxOS4xNjciLz4KKwkJCQkJPHZhbCBvPSIxMDUwOGQiIHY9IjIyLjIzNyIvPgorCQkJCQk8dmFsIG89IjEwNWU5ZCIgdj0iMjEuNTMzIi8+CisJCQkJCTx2YWwgbz0iMTA2Y2FkIiB2PSIyMy4zMDkiLz4KKwkJCQkJPHZhbCBvPSIxMDdhYmQiIHY9IjIwLjMzMyIvPgorCQkJCQk8dmFsIG89IjEwODhjZCIgdj0iMTguNTU2Ii8+CisJCQkJCTx2YWwgbz0iMTA5NmRlIiB2PSIyMC4xNjMiLz4KKwkJCQkJPHZhbCBvPSIxMGE0ZWQiIHY9IjE5Ljk3OCIvPgorCQkJCQk8dmFsIG89IjEwYjJmZSIgdj0iMjEuMTU1Ii8+CisJCQkJCTx2YWwgbz0iMTBjMTBkIiB2PSIyMy45NjQiLz4KKwkJCQkJPHZhbCBvPSIxMGNmMWUiIHY9IjIxLjg3NCIvPgorCQkJCQk8dmFsIG89IjEwZGQyZSIgdj0iMTkuNTkxIi8+CisJCQkJCTx2YWwgbz0iMTBlYjY2IiB2PSIyMC4yMzQiLz4KKwkJCQkJPHZhbCBvPSIxMGY5NGUiIHY9IjE3LjMyIi8+CisJCQkJCTx2YWwgbz0iMTEwNzVlIiB2PSIxNi41NTYiLz4KKwkJCQkJPHZhbCBvPSIxMTE1NmQiIHY9IjEzLjIxNyIvPgorCQkJCQk8dmFsIG89IjExMjM4OCIgdj0iMTIuMjcxIi8+CisJCQkJCTx2YWwgbz0iMTEzMTg3IiB2PSI4Ljk2NyIvPgorCQkJCQk8dmFsIG89IjExM2ZiMCIgdj0iOC4zMTkiLz4KKwkJCQkJPHZhbCBvPSIxMTRkYTYiIHY9IjguMzU3Ii8+CisJCQkJCTx2YWwgbz0iMTE1YmI2IiB2PSI4LjQ5Ii8+CisJCQkJCTx2YWwgbz0iMTE2OWM2IiB2PSIxMC40NTgiLz4KKwkJCQkJPHZhbCBvPSIxMTc3ZDYiIHY9IjEzLjk5OCIvPgorCQkJCQk8dmFsIG89IjExODVlOCIgdj0iMTUuNDYxIi8+CisJCQkJCTx2YWwgbz0iMTE5M2Y3IiB2PSIxOC4zMzEiLz4KKwkJCQkJPHZhbCBvPSIxMWEyMDgiIHY9IjIyLjI4NCIvPgorCQkJCQk8dmFsIG89IjExYjAxNyIgdj0iMTkuMTUxIi8+CisJCQkJCTx2YWwgbz0iMTFiZTJmIiB2PSIyMy40NjQiLz4KKwkJCQkJPHZhbCBvPSIxMWNjMzciIHY9IjIwLjIxMSIvPgorCQkJCQk8dmFsIG89IjExZGE0NyIgdj0iMTkuODMiLz4KKwkJCQkJPHZhbCBvPSIxMWU4NTciIHY9IjIwLjgiLz4KKwkJCQkJPHZhbCBvPSIxMWY2NjciIHY9IjE4LjA0MiIvPgorCQkJCQk8dmFsIG89IjEyMDU3OCIgdj0iMC4wMTgiLz4KKwkJCQkJPHZhbCBvPSIxMjEzODYiIHY9IjAuMDIiLz4KKwkJCQkJPHZhbCBvPSIxMjIxOTYiIHY9IjAuMDIiLz4KKwkJCQkJPHZhbCBvPSIxMjJmYTYiIHY9IjAuMDE3Ii8+CisJCQkJCTx2YWwgbz0iMTIzZGI1IiB2PSIwLjAxNSIvPgorCQkJCQk8dmFsIG89IjEyNGJjNSIgdj0iMC4wMTQiLz4KKwkJCQkJPHZhbCBvPSIxMjU5ZDUiIHY9IjAuMDExIi8+CisJCQkJCTx2YWwgbz0iMTI2N2U0IiB2PSIwLjAxIi8+CisJCQkJCTx2YWwgbz0iMTI3NjAwIiB2PSIwLjAwOSIvPgorCQkJCQk8dmFsIG89IjEyODMwNSIgdj0iMC4wMDgiLz4KKwkJCQkJPHZhbCBvPSIxMjkxMTUiIHY9IjAuMDA4Ii8+CisJCQkJCTx2YWwgbz0iMTI5ZjI1IiB2PSIwLjAwOCIvPgorCQkJCQk8dmFsIG89IjEyYWQzNSIgdj0iMC4wMDciLz4KKwkJCQkJPHZhbCBvPSIxMmJiNDUiIHY9IjAuMDA3Ii8+CisJCQkJCTx2YWwgbz0iMTJjOTU0IiB2PSIwLjAxIi8+CisJCQkJCTx2YWwgbz0iMTJkNzY2IiB2PSIwLjAxMSIvPgorCQkJCQk8dmFsIG89IjEyZTU3NSIgdj0iMC4wMTYiLz4KKwkJCQkJPHZhbCBvPSIxMmYzODYiIHY9IjAuMDEzIi8+CisJCQkJCTx2YWwgbz0iMTMwMTk2IiB2PSIwLjAxOSIvPgorCQkJCQk8dmFsIG89IjEzMGZhNiIgdj0iMC4wMTQiLz4KKwkJCQkJPHZhbCBvPSIxMzFkYjciIHY9IjAuMDE1Ii8+CisJCQkJCTx2YWwgbz0iMTMyYmM1IiB2PSIwLjAxNSIvPgorCQkJCQk8dmFsIG89IjEzMzlkNCIgdj0iMC4yNjkiLz4KKwkJCQkJPHZhbCBvPSIxMzQ3ZTUiIHY9IjAuMTI0Ii8+CisJCQkJCTx2YWwgbz0iMTM1NWY0IiB2PSIwLjE2Ii8+CisJCQkJCTx2YWwgbz0iMTM2NDA0IiB2PSIwLjIyNyIvPgorCQkJCQk8dmFsIG89IjEzNzIxNCIgdj0iMC4yNDMiLz4KKwkJCQkJPHZhbCBvPSIxMzgwMjQiIHY9IjAuMjM2Ii8+CisJCQkJCTx2YWwgbz0iMTM4ZTMzIiB2PSIwLjIzOSIvPgorCQkJCQk8dmFsIG89IjEzOWM0NCIgdj0iMC4wNzQiLz4KKwkJCQkJPHZhbCBvPSIxM2FhNTQiIHY9IjAuMDg2Ii8+CisJCQkJCTx2YWwgbz0iMTNiODY1IiB2PSIwLjAzMSIvPgorCQkJCQk8dmFsIG89IjEzYzY3ZSIgdj0iMC40MTIiLz4KKwkJCQkJPHZhbCBvPSIxM2Q0OGUiIHY9IjAuMTk5Ii8+CisJCQkJCTx2YWwgbz0iMTNlMjllIiB2PSIwLjE1Ii8+CisJCQkJCTx2YWwgbz0iMTNmMGFlIiB2PSIwLjE0Ii8+CisJCQkJCTx2YWwgbz0iMTNmZWJmIiB2PSIwLjIxOCIvPgorCQkJCQk8dmFsIG89IjE0MGNjZiIgdj0iMC4zMDkiLz4KKwkJCQkJPHZhbCBvPSIxNDFhZGYiIHY9IjAuMjA2Ii8+CisJCQkJCTx2YWwgbz0iMTQyOGVmIiB2PSIwLjAzMiIvPgorCQkJCQk8dmFsIG89IjE0MzZmZiIgdj0iMC4wNjUiLz4KKwkJCQkJPHZhbCBvPSIxNDQ1MGYiIHY9IjAuMDU0Ii8+CisJCQkJCTx2YWwgbz0iMTQ1MzFmIiB2PSIwLjAzNyIvPgorCQkJCQk8dmFsIG89IjE0NjEzMCIgdj0iMC4wMjUiLz4KKwkJCQkJPHZhbCBvPSIxNDZmNDAiIHY9IjAuMDkiLz4KKwkJCQkJPHZhbCBvPSIxNDdkNDQiIHY9IjAuMDMiLz4KKwkJCQkJPHZhbCBvPSIxNDhiNTciIHY9IjAuMDM4Ii8+CisJCQkJCTx2YWwgbz0iMTQ5OTY1IiB2PSIwLjAyNiIvPgorCQkJCQk8dmFsIG89IjE0YTc3NSIgdj0iMC4xMDkiLz4KKwkJCQkJPHZhbCBvPSIxNGI1ODQiIHY9IjAuMDg2Ii8+CisJCQkJCTx2YWwgbz0iMTRjMzk3IiB2PSIwLjI1MSIvPgorCQkJCQk8dmFsIG89IjE0ZDFhNCIgdj0iMC4yMjUiLz4KKwkJCQkJPHZhbCBvPSIxNGRmYjYiIHY9IjAuMTkzIi8+CisJCQkJCTx2YWwgbz0iMTRlZGM1IiB2PSIwLjEwMyIvPgorCQkJCQk8dmFsIG89IjE0ZmJkNSIgdj0iMC4wNDQiLz4KKwkJCQkJPHZhbCBvPSIxNTA5ZTUiIHY9IjAuMDIzIi8+CisJCQkJCTx2YWwgbz0iMTUxN2ZmIiB2PSIwLjA2OCIvPgorCQkJCQk8dmFsIG89IjE1MjYwNSIgdj0iMC4xNTciLz4KKwkJCQkJPHZhbCBvPSIxNTM0MTUiIHY9IjAuMTA1Ii8+CisJCQkJCTx2YWwgbz0iMTU0MjI1IiB2PSIwLjA5NyIvPgorCQkJCQk8dmFsIG89IjE1NTAzNSIgdj0iMC4xMjciLz4KKwkJCQkJPHZhbCBvPSIxNTVlNDUiIHY9IjAuMTg5Ii8+CisJCQkJCTx2YWwgbz0iMTU2YzU1IiB2PSIwLjI4MSIvPgorCQkJCQk8dmFsIG89IjE1N2E2NSIgdj0iMC4xNjIiLz4KKwkJCQkJPHZhbCBvPSIxNTg4NzUiIHY9IjAuMTUiLz4KKwkJCQkJPHZhbCBvPSIxNTk2ODYiIHY9IjAuMjQ2Ii8+CisJCQkJCTx2YWwgbz0iMTVhNDk1IiB2PSIwLjIxMSIvPgorCQkJCQk8dmFsIG89IjE1YjJhNiIgdj0iMC4xODgiLz4KKwkJCQkJPHZhbCBvPSIxNWMwYjYiIHY9IjAuMTA1Ii8+CisJCQkJCTx2YWwgbz0iMTVjZWM2IiB2PSIwLjA5MiIvPgorCQkJCQk8dmFsIG89IjE1ZGNkNSIgdj0iMC4wOTkiLz4KKwkJCQkJPHZhbCBvPSIxNWVhZTYiIHY9IjAuMTEyIi8+CisJCQkJCTx2YWwgbz0iMTVmOGY1IiB2PSIwLjI5Ii8+CisJCQkJCTx2YWwgbz0iMTYwNzA2IiB2PSIwLjA2Ii8+CisJCQkJCTx2YWwgbz0iMTYxNTE3IiB2PSIwLjEwNyIvPgorCQkJCQk8dmFsIG89IjE2MjMyNiIgdj0iMC4wNzIiLz4KKwkJCQkJPHZhbCBvPSIxNjMxMzciIHY9IjAuMDY0Ii8+CisJCQkJCTx2YWwgbz0iMTYzZjQ2IiB2PSIwLjEwMSIvPgorCQkJCQk8dmFsIG89IjE2NGQ1NyIgdj0iMC4wNDUiLz4KKwkJCQkJPHZhbCBvPSIxNjViNjciIHY9IjAuMDM1Ii8+CisJCQkJCTx2YWwgbz0iMTY2OTgyIiB2PSIwLjA1NyIvPgorCQkJCQk8dmFsIG89IjE2Nzc4NiIgdj0iMC4wNyIvPgorCQkJCQk8dmFsIG89IjE2ODU5NiIgdj0iMC4wMzUiLz4KKwkJCQkJPHZhbCBvPSIxNjkzYTYiIHY9IjAuMDI5Ii8+CisJCQkJCTx2YWwgbz0iMTZhMWI1IiB2PSIwLjAyNiIvPgorCQkJCQk8dmFsIG89IjE2YWZjNiIgdj0iMC4wNzUiLz4KKwkJCQkJPHZhbCBvPSIxNmJkZDUiIHY9IjAuMTc4Ii8+CisJCQkJCTx2YWwgbz0iMTZjYmU2IiB2PSIwLjIyMSIvPgorCQkJCQk8dmFsIG89IjE2ZDlmNiIgdj0iMC4xMDkiLz4KKwkJCQkJPHZhbCBvPSIxNmU4MDciIHY9IjAuNTc4Ii8+CisJCQkJCTx2YWwgbz0iMTZmNjE2IiB2PSIwLjYzMyIvPgorCQkJCQk8dmFsIG89IjE3MDQyOSIgdj0iMC42NzgiLz4KKwkJCQkJPHZhbCBvPSIxNzEyMzYiIHY9IjAuNDU2Ii8+CisJCQkJCTx2YWwgbz0iMTcyMDQ3IiB2PSIwLjQ2MSIvPgorCQkJCQk8dmFsIG89IjE3MmU1NyIgdj0iMC40NzUiLz4KKwkJCQkJPHZhbCBvPSIxNzNjNjciIHY9IjAuNDg3Ii8+CisJCQkJCTx2YWwgbz0iMTc0YTc3IiB2PSIwLjU2NSIvPgorCQkJCQk8dmFsIG89IjE3NTg4NyIgdj0iMC41OTciLz4KKwkJCQkJPHZhbCBvPSIxNzY2OTQiIHY9IjM0LjM3MiIvPgorCQkJCQk8dmFsIG89IjE3NzRhMyIgdj0iMzMuMDU2Ii8+CisJCQkJCTx2YWwgbz0iMTc4MmIzIiB2PSIzNC4xOTgiLz4KKwkJCQkJPHZhbCBvPSIxNzkwYzUiIHY9IjMxLjE0OCIvPgorCQkJCQk8dmFsIG89IjE3OWVkNCIgdj0iMjYuNzM0Ii8+CisJCQkJCTx2YWwgbz0iMTdhY2U0IiB2PSIyNi44ODMiLz4KKwkJCQkJPHZhbCBvPSIxN2JhZmQiIHY9IjI4LjA0NiIvPgorCQkJCQk8dmFsIG89IjE3YzkwZiIgdj0iMjUuMTA3Ii8+CisJCQkJCTx2YWwgbz0iMTdkNzFlIiB2PSIyNC44MjYiLz4KKwkJCQkJPHZhbCBvPSIxN2U1MmYiIHY9IjI1LjEyOSIvPgorCQkJCQk8dmFsIG89IjE3ZjMzZiIgdj0iMjIuOTc5Ii8+CisJCQkJCTx2YWwgbz0iMTgwMTRmIiB2PSIyMi45NjgiLz4KKwkJCQkJPHZhbCBvPSIxODBmNWYiIHY9IjI4LjA0Ii8+CisJCQkJCTx2YWwgbz0iMTgxZDZlIiB2PSIzMC42MDgiLz4KKwkJCQkJPHZhbCBvPSIxODJiN2YiIHY9IjM1LjE1NiIvPgorCQkJCQk8dmFsIG89IjE4Mzk4ZiIgdj0iNjEuMDc5Ii8+CisJCQkJCTx2YWwgbz0iMTg0N2ExIiB2PSI2MS4xMTgiLz4KKwkJCQkJPHZhbCBvPSIxODU1YWYiIHY9IjU4LjIxNCIvPgorCQkJCQk8dmFsIG89IjE4NjNjMCIgdj0iNTQuMTQ5Ii8+CisJCQkJCTx2YWwgbz0iMTg3MWNmIiB2PSI1Ni4xNDEiLz4KKwkJCQkJPHZhbCBvPSIxODdmZTAiIHY9IjUzLjc1NyIvPgorCQkJCQk8dmFsIG89IjE4OGRlZiIgdj0iNTcuMTg4Ii8+CisJCQkJCTx2YWwgbz0iMTg5YzAwIiB2PSI1My41OTYiLz4KKwkJCQkJPHZhbCBvPSIxOGI4MGQiIHY9IjM2LjI2OSIvPgorCQkJCQk8dmFsIG89IjE4YzYxYyIgdj0iMzYuNjI2Ii8+CisJCQkJCTx2YWwgbz0iMThkNDJjIiB2PSIzNS4xMDIiLz4KKwkJCQkJPHZhbCBvPSIxOGUyM2IiIHY9IjI5Ljg1NSIvPgorCQkJCQk8dmFsIG89IjE4ZjA0YiIgdj0iMjguMzA3Ii8+CisJCQkJCTx2YWwgbz0iMThmZTVlIiB2PSIyNS4zNjQiLz4KKwkJCQkJPHZhbCBvPSIxOTBjNzYiIHY9IjE5Ljk5NiIvPgorCQkJCQk8dmFsIG89IjE5MWE4NiIgdj0iMTkuNzQ4Ii8+CisJCQkJCTx2YWwgbz0iMTkyODk2IiB2PSIxOS4zNDUiLz4KKwkJCQkJPHZhbCBvPSIxOTM2YTYiIHY9IjE4Ljg3MyIvPgorCQkJCQk8dmFsIG89IjE5NDRiNyIgdj0iMTguMTEiLz4KKwkJCQkJPHZhbCBvPSIxOTUyYzYiIHY9IjIwLjAzMiIvPgorCQkJCQk8dmFsIG89IjE5NjBkNyIgdj0iMjUuMTM3Ii8+CisJCQkJCTx2YWwgbz0iMTk2ZWU2IiB2PSIyNy41MDgiLz4KKwkJCQkJPHZhbCBvPSIxOTdjZjgiIHY9IjI5LjQ0OSIvPgorCQkJCQk8dmFsIG89IjE5OGIwZiIgdj0iMjcuMzcyIi8+CisJCQkJCTx2YWwgbz0iMTk5OTFmIiB2PSIzMC41NjIiLz4KKwkJCQkJPHZhbCBvPSIxOWI1NDEiIHY9IjI5Ljk2MyIvPgorCQkJCQk8dmFsIG89IjE5YzM0ZCIgdj0iMjguMzM2Ii8+CisJCQkJCTx2YWwgbz0iMTlkMTVlIiB2PSIyOC4xMDIiLz4KKwkJCQkJPHZhbCBvPSIxOWRmODAiIHY9IjI4Ljg2NCIvPgorCQkJCQk8dmFsIG89IjE5ZWQ5MCIgdj0iMjguMjc4Ii8+CisJCQkJCTx2YWwgbz0iMTllZWJlIiB2PSIyOC4zOTkiLz4KKwkJCQkJPHZhbCBvPSIxOWZiOGUiIHY9IjExLjAxNiIvPgorCQkJCQk8dmFsIG89IjFhMDlhMCIgdj0iMTQuMTU1Ii8+CisJCQkJCTx2YWwgbz0iMWExN2FlIiB2PSIxOS4xMzIiLz4KKwkJCQkJPHZhbCBvPSIxYTI1YmUiIHY9IjIwLjI4Ii8+CisJCQkJCTx2YWwgbz0iMWEzM2NkIiB2PSIxMS4yOCIvPgorCQkJCQk8dmFsIG89IjFhNDFkZCIgdj0iMTIuMjUiLz4KKwkJCQkJPHZhbCBvPSIxYTRmZWQiIHY9IjE2LjU2MSIvPgorCQkJCQk8dmFsIG89IjFhNWUwOCIgdj0iMTUuMTUiLz4KKwkJCQkJPHZhbCBvPSIxYTZjMDUiIHY9IjkuOTUzIi8+CisJCQkJCTx2YWwgbz0iMWE3YTE1IiB2PSIxMi43MzIiLz4KKwkJCQkJPHZhbCBvPSIxYTg4MjYiIHY9IjEyLjk1OCIvPgorCQkJCQk8dmFsIG89IjFhOTYzNyIgdj0iOS42ODUiLz4KKwkJCQkJPHZhbCBvPSIxYWE0NDUiIHY9IjYuODA1Ii8+CisJCQkJCTx2YWwgbz0iMWFiMjU1IiB2PSI0LjU1OSIvPgorCQkJCQk8dmFsIG89IjFhYzA2NSIgdj0iMTAuNjMyIi8+CisJCQkJCTx2YWwgbz0iMWFjZTc1IiB2PSIxNC42NCIvPgorCQkJCQk8dmFsIG89IjFhZGM4NyIgdj0iMTQuMTgyIi8+CisJCQkJCTx2YWwgbz0iMWFlYTk2IiB2PSIxMy43MTciLz4KKwkJCQkJPHZhbCBvPSIxYWY4YTciIHY9IjE1LjA3MSIvPgorCQkJCQk8dmFsIG89IjFiMDZiNyIgdj0iMTMuMjM2Ii8+CisJCQkJCTx2YWwgbz0iMWIxNGM2IiB2PSIxMi43NDYiLz4KKwkJCQkJPHZhbCBvPSIxYzc0NjAiIHY9IjMuOTk5Ii8+CisJCQkJCTx2YWwgbz0iMWM4MjcwIiB2PSIyLjE4NiIvPgorCQkJCQk8dmFsIG89IjFjOTA3ZSIgdj0iMTYuNTg1Ii8+CisJCQkJCTx2YWwgbz0iMWM5ZThmIiB2PSIxNC4zNzgiLz4KKwkJCQkJPHZhbCBvPSIxY2FjYTIiIHY9IjE2LjA0MSIvPgorCQkJCQk8dmFsIG89IjFjYmFiMSIgdj0iMTUuNzk5Ii8+CisJCQkJCTx2YWwgbz0iMWNjOGMxIiB2PSIyOS4yNSIvPgorCQkJCQk8dmFsIG89IjFjZDZkMCIgdj0iMjcuNjIxIi8+CisJCQkJCTx2YWwgbz0iMWNlNGRlIiB2PSIyNS40NTMiLz4KKwkJCQkJPHZhbCBvPSIxY2YyZjAiIHY9IjI0LjM2OSIvPgorCQkJCQk8dmFsIG89IjFkMDEwOSIgdj0iMjUuMzQ4Ii8+CisJCQkJCTx2YWwgbz0iMWQwZjA2IiB2PSIyOC42ODciLz4KKwkJCQkJPHZhbCBvPSIxZDFkMTUiIHY9IjI4LjM3MyIvPgorCQkJCQk8dmFsIG89IjFkMmIyNSIgdj0iMjguODAxIi8+CisJCQkJCTx2YWwgbz0iMWQzOTM1IiB2PSIzMC4wNDUiLz4KKwkJCQkJPHZhbCBvPSIxZDQ3NDUiIHY9IjMwLjY0NCIvPgorCQkJCQk8dmFsIG89IjFkNTU1NSIgdj0iMzAuMzU0Ii8+CisJCQkJCTx2YWwgbz0iMWQ2MzY2IiB2PSIyNC45MzMiLz4KKwkJCQkJPHZhbCBvPSIxZDcxNzUiIHY9IjIzLjgxMyIvPgorCQkJCQk8dmFsIG89IjFkN2Y4NiIgdj0iMjMuODE4Ii8+CisJCQkJCTx2YWwgbz0iMWQ4ZDk1IiB2PSIxNS4xNTMiLz4KKwkJCQkJPHZhbCBvPSIxZDliYTYiIHY9IjE2LjY5Ii8+CisJCQkJCTx2YWwgbz0iMWRhOWI2IiB2PSIxNi4zODUiLz4KKwkJCQkJPHZhbCBvPSIxZGI3YzciIHY9IjE1LjY0MyIvPgorCQkJCQk8dmFsIG89IjFkYzVkNSIgdj0iMTYuMjY5Ii8+CisJCQkJCTx2YWwgbz0iMWRkM2U2IiB2PSIxNi42ODkiLz4KKwkJCQkJPHZhbCBvPSIxZGUxZjUiIHY9IjI3Ljg5NyIvPgorCQkJCQk8dmFsIG89IjFkZjAwNiIgdj0iMzEuNDQ5Ii8+CisJCQkJCTx2YWwgbz0iMWRmZTE2IiB2PSIzMS4yMzIiLz4KKwkJCQkJPHZhbCBvPSIxZTBjMjYiIHY9IjMyLjAwMSIvPgorCQkJCQk8dmFsIG89IjFlMWEzNiIgdj0iMzEuOTk5Ii8+CisJCQkJCTx2YWwgbz0iMWUyODQ3IiB2PSIzMC42NjkiLz4KKwkJCQkJPHZhbCBvPSIxZTM2NTkiIHY9IjI5LjE4NSIvPgorCQkJCQk8dmFsIG89IjFlNDQ2NyIgdj0iMjcuMTk5Ii8+CisJCQkJCTx2YWwgbz0iMWU1MjgxIiB2PSIyMy43OTgiLz4KKwkJCQkJPHZhbCBvPSIxZTYwODYiIHY9IjIzLjU2NiIvPgorCQkJCQk8dmFsIG89IjFlNmU5NiIgdj0iMjMuMDM1Ii8+CisJCQkJCTx2YWwgbz0iMWU3Y2E2IiB2PSI4LjU3MyIvPgorCQkJCQk8dmFsIG89IjFlOGFiNSIgdj0iNy45MTMiLz4KKwkJCQkJPHZhbCBvPSIxZTk4YzYiIHY9IjcuODUxIi8+CisJCQkJCTx2YWwgbz0iMWVhNmQ1IiB2PSI5Ljg0NSIvPgorCQkJCQk8dmFsIG89IjFlYjRlNiIgdj0iMTAuMTc3Ii8+CisJCQkJCTx2YWwgbz0iMWVjMmY2IiB2PSIxMS43MzIiLz4KKwkJCQkJPHZhbCBvPSIxZWQxMDYiIHY9IjExLjU1NCIvPgorCQkJCQk8dmFsIG89IjFlZGYxNiIgdj0iMTIuMDY3Ii8+CisJCQkJCTx2YWwgbz0iMWVlZDI2IiB2PSIxMS43MjUiLz4KKwkJCQkJPHZhbCBvPSIxZWZiMzYiIHY9IjExLjQ2NSIvPgorCQkJCQk8dmFsIG89IjFmMDk0NiIgdj0iMTAuODUxIi8+CisJCQkJCTx2YWwgbz0iMWYxNzU2IiB2PSIxMC45MjgiLz4KKwkJCQkJPHZhbCBvPSIxZjI1NjYiIHY9IjEwLjk4NCIvPgorCQkJCQk8dmFsIG89IjFmMzM3NiIgdj0iMTMuNjI2Ii8+CisJCQkJCTx2YWwgbz0iMWY0MTg3IiB2PSIxOS4zOTkiLz4KKwkJCQkJPHZhbCBvPSIxZjRmOTYiIHY9IjE2LjMyNiIvPgorCQkJCQk8dmFsIG89IjFmNWRhNyIgdj0iMTUuODQ4Ii8+CisJCQkJCTx2YWwgbz0iMWY2YmI2IiB2PSIxNS43ODUiLz4KKwkJCQkJPHZhbCBvPSIxZjc5YzciIHY9IjE0LjMxOSIvPgorCQkJCQk8dmFsIG89IjFmODdkNiIgdj0iMTUuNzciLz4KKwkJCQkJPHZhbCBvPSIxZjk1ZTciIHY9IjE2LjI5NSIvPgorCQkJCQk8dmFsIG89IjFmYTQwMSIgdj0iMTMuMzgyIi8+CisJCQkJCTx2YWwgbz0iMWZiMjA0IiB2PSIxMS43NTIiLz4KKwkJCQkJPHZhbCBvPSIxZmMwMTYiIHY9IjExLjY5NCIvPgorCQkJCQk8dmFsIG89IjFmY2UyNSIgdj0iOS4yNCIvPgorCQkJCQk8dmFsIG89IjFmZGMzNSIgdj0iOC45NjkiLz4KKwkJCQkJPHZhbCBvPSIxZmVhNDUiIHY9IjkuNDIiLz4KKwkJCQkJPHZhbCBvPSIxZmY4NTUiIHY9IjExLjI5OSIvPgorCQkJCQk8dmFsIG89IjIwMDY2NSIgdj0iMTguMDYiLz4KKwkJCQkJPHZhbCBvPSIyMDE0NzUiIHY9IjE1Ljk4OSIvPgorCQkJCQk8dmFsIG89IjIwMjI4NiIgdj0iMjMuMzYzIi8+CisJCQkJCTx2YWwgbz0iMjAzMDk1IiB2PSIyNi4wNzEiLz4KKwkJCQkJPHZhbCBvPSIyMDNlYTUiIHY9IjI5LjI4MyIvPgorCQkJCQk8dmFsIG89IjIwNGNiNiIgdj0iMjUuODU2Ii8+CisJCQkJCTx2YWwgbz0iMjA1YWM2IiB2PSIyNS4yMzUiLz4KKwkJCQkJPHZhbCBvPSIyMDY4ZDYiIHY9IjI2LjQwNSIvPgorCQkJCQk8dmFsIG89IjIwNzZlNiIgdj0iMzAuMDc2Ii8+CisJCQkJCTx2YWwgbz0iMjA4NGY2IiB2PSIyOC40MzMiLz4KKwkJCQkJPHZhbCBvPSIyMDkzMDYiIHY9IjMwLjI3MSIvPgorCQkJCQk8dmFsIG89IjIwYTExNiIgdj0iMjguNTU3Ii8+CisJCQkJCTx2YWwgbz0iMjBhZjI2IiB2PSIyNC41NDIiLz4KKwkJCQkJPHZhbCBvPSIyMGJkMzciIHY9IjIzLjk2MiIvPgorCQkJCQk8dmFsIG89IjIwY2I0NiIgdj0iMjEuMjQyIi8+CisJCQkJCTx2YWwgbz0iMjBkOTU3IiB2PSIxOS42MzMiLz4KKwkJCQkJPHZhbCBvPSIyMGU3NjciIHY9IjE4LjAwOSIvPgorCQkJCQk8dmFsIG89IjIwZjU4MSIgdj0iMTcuNzk4Ii8+CisJCQkJCTx2YWwgbz0iMjEwMzg2IiB2PSIxNS4zMDQiLz4KKwkJCQkJPHZhbCBvPSIyMTExOTQiIHY9IjEzLjQ1MyIvPgorCQkJCQk8dmFsIG89IjIxMWZhNSIgdj0iMTMuMDU1Ii8+CisJCQkJCTx2YWwgbz0iMjEyZGI1IiB2PSIxMi44NzIiLz4KKwkJCQkJPHZhbCBvPSIyMTNiYzUiIHY9IjEzLjU0NCIvPgorCQkJCQk8dmFsIG89IjIxNDlkNiIgdj0iMTcuMjUiLz4KKwkJCQkJPHZhbCBvPSIyMTU3ZTUiIHY9IjIxLjA0NiIvPgorCQkJCQk8dmFsIG89IjIxNjVmNiIgdj0iMjUuODMyIi8+CisJCQkJCTx2YWwgbz0iMjE3NDA2IiB2PSIyNy43OTEiLz4KKwkJCQkJPHZhbCBvPSIyMTgyMTciIHY9IjI4LjA1NCIvPgorCQkJCQk8dmFsIG89IjIxOTAyNiIgdj0iMjcuNjMiLz4KKwkJCQkJPHZhbCBvPSIyMTllMzkiIHY9IjI4LjQ1NyIvPgorCQkJCQk8dmFsIG89IjIxYWM0NiIgdj0iMjcuNzI1Ii8+CisJCQkJCTx2YWwgbz0iMjFiYTU3IiB2PSIyNy45MjIiLz4KKwkJCQkJPHZhbCBvPSIyMWM4NjciIHY9IjI4LjI1Ii8+CisJCQkJCTx2YWwgbz0iMjFkNjc3IiB2PSIyNy41MzkiLz4KKwkJCQkJPHZhbCBvPSIyMWU0ODciIHY9IjI2LjI1MSIvPgorCQkJCQk8dmFsIG89IjIxZjI5NiIgdj0iMjUuOTQ3Ii8+CisJCQkJCTx2YWwgbz0iMjIwMGE2IiB2PSIyNC42NzEiLz4KKwkJCQkJPHZhbCBvPSIyMjBlYjciIHY9IjI0LjM4MyIvPgorCQkJCQk8dmFsIG89IjIyMWNjNiIgdj0iMjIuNzQyIi8+CisJCQkJCTx2YWwgbz0iMjIyYWQ3IiB2PSIxNy43NDIiLz4KKwkJCQkJPHZhbCBvPSIyMjM4ZTciIHY9IjE2LjExNyIvPgorCQkJCQk8dmFsIG89IjIyNDcwMSIgdj0iMTQuNTQ4Ii8+CisJCQkJCTx2YWwgbz0iMjI1NTA1IiB2PSIxOC40MTgiLz4KKwkJCQkJPHZhbCBvPSIyMjYzMTUiIHY9IjEwLjE0NyIvPgorCQkJCQk8dmFsIG89IjIyNzEyNSIgdj0iMTAuNjQ4Ii8+CisJCQkJCTx2YWwgbz0iMjI3ZjM1IiB2PSIxMy4wNjIiLz4KKwkJCQkJPHZhbCBvPSIyMjhkNDUiIHY9IjE3LjA4MiIvPgorCQkJCQk8dmFsIG89IjIyOWI1NCIgdj0iMTUuNzIzIi8+CisJCQkJCTx2YWwgbz0iMjJhOTY1IiB2PSIxNy42MjciLz4KKwkJCQkJPHZhbCBvPSIyMmI3NzYiIHY9IjIxLjA4MyIvPgorCQkJCQk8dmFsIG89IjIyYzU4NiIgdj0iMjQuMjkzIi8+CisJCQkJCTx2YWwgbz0iMjJkMzk3IiB2PSIyNi44MjMiLz4KKwkJCQkJPHZhbCBvPSIyMmUxYTYiIHY9IjI3LjA0Ii8+CisJCQkJCTx2YWwgbz0iMjJlZmI2IiB2PSIyMi4wOTEiLz4KKwkJCQkJPHZhbCBvPSIyMmZkYzciIHY9IjIxLjUxNCIvPgorCQkJCQk8dmFsIG89IjIzMGJkNyIgdj0iMjAuOTIyIi8+CisJCQkJCTx2YWwgbz0iMjMxOWU2IiB2PSIyNS4wNjEiLz4KKwkJCQkJPHZhbCBvPSIyMzI3ZjYiIHY9IjI1Ljk1OSIvPgorCQkJCQk8dmFsIG89IjIzMzYxYiIgdj0iMjcuNjQ0Ii8+CisJCQkJCTx2YWwgbz0iMjM0NDE2IiB2PSIyNS41NzgiLz4KKwkJCQkJPHZhbCBvPSIyMzUyMjYiIHY9IjI0LjE5OSIvPgorCQkJCQk8dmFsIG89IjIzNjAzNyIgdj0iMjMuODMiLz4KKwkJCQkJPHZhbCBvPSIyMzZlNDYiIHY9IjIyLjcxOSIvPgorCQkJCQk8dmFsIG89IjIzN2M1NyIgdj0iMjAuOTUyIi8+CisJCQkJCTx2YWwgbz0iMjM4YTY2IiB2PSIxOC4zODIiLz4KKwkJCQkJPHZhbCBvPSIyMzk4ODEiIHY9IjE0LjkyOCIvPgorCQkJCQk8dmFsIG89IjIzYTY4NSIgdj0iMTQuODU5Ii8+CisJCQkJCTx2YWwgbz0iMjNiNDk1IiB2PSIxNC4wODEiLz4KKwkJCQkJPHZhbCBvPSIyM2MyYTQiIHY9IjEzLjMwOSIvPgorCQkJCQk8dmFsIG89IjIzZDBiNSIgdj0iMTMuNzI2Ii8+CisJCQkJCTx2YWwgbz0iMjNkZWM0IiB2PSIxNS4wNzEiLz4KKwkJCQkJPHZhbCBvPSIyM2VjZDUiIHY9IjE3LjA2NCIvPgorCQkJCQk8dmFsIG89IjIzZmFlNCIgdj0iMjAuNjEyIi8+CisJCQkJCTx2YWwgbz0iMjQwOGY2IiB2PSIyNC44OTEiLz4KKwkJCQkJPHZhbCBvPSIyNDE3MDYiIHY9IjMyLjk0MiIvPgorCQkJCQk8dmFsIG89IjI0MjUxOCIgdj0iMzQuMjQ3Ii8+CisJCQkJCTx2YWwgbz0iMjQzMzI1IiB2PSIzNC43ODciLz4KKwkJCQkJPHZhbCBvPSIyNDQxMzciIHY9IjMxLjE3NiIvPgorCQkJCQk8dmFsIG89IjI0NGY0NiIgdj0iMjkuODA2Ii8+CisJCQkJCTx2YWwgbz0iMjQ2YjY2IiB2PSIzMC41NjkiLz4KKwkJCQkJPHZhbCBvPSIyNDc5NzYiIHY9IjI5LjE3NSIvPgorCQkJCQk8dmFsIG89IjI0ODc4NiIgdj0iMzQuOTIxIi8+CisJCQkJCTx2YWwgbz0iMjQ5NTdlIiB2PSIyOC43NjciLz4KKwkJCQkJPHZhbCBvPSIyNGEzOGYiIHY9IjI1Ljc5NyIvPgorCQkJCQk8dmFsIG89IjI0YjE5YyIgdj0iMjYuMTYxIi8+CisJCQkJCTx2YWwgbz0iMjRiZmFjIiB2PSIyNC43NjkiLz4KKwkJCQkJPHZhbCBvPSIyNGNkYmMiIHY9IjI0LjA1MyIvPgorCQkJCQk8dmFsIG89IjI0ZGJjZCIgdj0iMjAuMjgiLz4KKwkJCQkJPHZhbCBvPSIyNGU5ZTUiIHY9IjE4LjIyIi8+CisJCQkJCTx2YWwgbz0iMjRmODA4IiB2PSIxNS4zNDUiLz4KKwkJCQkJPHZhbCBvPSIyNTA2MTYiIHY9IjE1Ljk1MyIvPgorCQkJCQk8dmFsIG89IjI1MTQyNiIgdj0iMTUuODg0Ii8+CisJCQkJCTx2YWwgbz0iMjUyMjM2IiB2PSIxNS4wNTQiLz4KKwkJCQkJPHZhbCBvPSIyNTMwNDciIHY9IjE2LjAxNCIvPgorCQkJCQk8dmFsIG89IjI1M2U1NiIgdj0iMTkuNTc0Ii8+CisJCQkJCTx2YWwgbz0iMjU0YzY3IiB2PSIyMC4wNjUiLz4KKwkJCQkJPHZhbCBvPSIyNTVhNzYiIHY9IjIzLjkzNiIvPgorCQkJCQk8dmFsIG89IjI1Njg4NyIgdj0iMjkuMjc0Ii8+CisJCQkJCTx2YWwgbz0iMjU3Njk3IiB2PSIzMS42OTEiLz4KKwkJCQkJPHZhbCBvPSIyNTg0YTgiIHY9Ijc1LjE1NCIvPgorCQkJCQk8dmFsIG89IjI1OTJiNiIgdj0iNDEuNDU4Ii8+CisJCQkJCTx2YWwgbz0iMjVhMGM3IiB2PSIyMS4yMjEiLz4KKwkJCQkJPHZhbCBvPSIyNWFlZDciIHY9IjI5LjQxNyIvPgorCQkJCQk8dmFsIG89IjI1YmNlNyIgdj0iMjguNTk3Ii8+CisJCQkJCTx2YWwgbz0iMjVjYWY4IiB2PSIyNy4yNTYiLz4KKwkJCQkJPHZhbCBvPSIyNWQ5MDciIHY9IjI4LjkyNSIvPgorCQkJCQk8dmFsIG89IjI1ZTcxOCIgdj0iMjkuMzgiLz4KKwkJCQkJPHZhbCBvPSIyNWY1MjciIHY9IjI2LjU1OSIvPgorCQkJCQk8dmFsIG89IjI2MDMzOCIgdj0iMjUuMjM0Ii8+CisJCQkJCTx2YWwgbz0iMjYxMTQ5IiB2PSIyMy4zMTIiLz4KKwkJCQkJPHZhbCBvPSIyNjFmNTkiIHY9IjIxLjMxNyIvPgorCQkJCQk8dmFsIG89IjI2MmQ2OCIgdj0iMjAuNzYxIi8+CisJCQkJCTx2YWwgbz0iMjYzYjgzIiB2PSIxNi4zNiIvPgorCQkJCQk8dmFsIG89IjI2NDk4NiIgdj0iMTUuNjU3Ii8+CisJCQkJCTx2YWwgbz0iMjY1Nzk1IiB2PSIxNi42MTgiLz4KKwkJCQkJPHZhbCBvPSIyNjY1YTYiIHY9IjE3Ljg4OCIvPgorCQkJCQk8dmFsIG89IjI2NzNiNSIgdj0iMTYuODYxIi8+CisJCQkJCTx2YWwgbz0iMjY4MWM2IiB2PSIxNi42MTciLz4KKwkJCQkJPHZhbCBvPSIyNjhmZDUiIHY9IjE3LjQyOCIvPgorCQkJCQk8dmFsIG89IjI2OWRlNiIgdj0iMTguMjI1Ii8+CisJCQkJCTx2YWwgbz0iMjZhYmY2IiB2PSIxOC40MTUiLz4KKwkJCQkJPHZhbCBvPSIyNmJhMDYiIHY9IjIyLjEyNiIvPgorCQkJCQk8dmFsIG89IjI2YzgxNyIgdj0iMjIuMTI2Ii8+CisJCQkJCTx2YWwgbz0iMjZkNjJiIiB2PSIyNS43ODIiLz4KKwkJCQkJPHZhbCBvPSIyNmU0MzYiIHY9IjIyLjc3NCIvPgorCQkJCQk8dmFsIG89IjI2ZjI0NyIgdj0iMjIuNzc0Ii8+CisJCQkJCTx2YWwgbz0iMjcwMDU3IiB2PSIyMi45MDkiLz4KKwkJCQkJPHZhbCBvPSIyNzBlNjciIHY9IjIzLjEzOSIvPgorCQkJCQk8dmFsIG89IjI3MWM3NyIgdj0iMjEuNTUzIi8+CisJCQkJCTx2YWwgbz0iMjcyYTg3IiB2PSIyMy41MzkiLz4KKwkJCQkJPHZhbCBvPSIyNzM4OTciIHY9IjIzLjEzOSIvPgorCQkJCQk8dmFsIG89IjI3NDZhOCIgdj0iMjIuNzM1Ii8+CisJCQkJCTx2YWwgbz0iMjc1NGI5IiB2PSIyMi4zMzUiLz4KKwkJCQkJPHZhbCBvPSIyNzYyYzciIHY9IjIzLjIwNSIvPgorCQkJCQk8dmFsIG89IjI3NzBkOCIgdj0iMTguMjM4Ii8+CisJCQkJCTx2YWwgbz0iMjc3ZWU3IiB2PSIxNC4xMzYiLz4KKwkJCQk8L3Bhcj4KKwkJCQk8cGFyIG1lbWluZD0iOTgxMiIgaD0iM2RjMWE4ZGUiPgorCQkJCQk8dmFsIG89IjAiIHY9IjExNC4wODEiLz4KKwkJCQkJPHZhbCBvPSJlMDgiIHY9IjExNy4xOSIvPgorCQkJCQk8dmFsIG89IjFjMzIiIHY9IjExOC45NjQiLz4KKwkJCQkJPHZhbCBvPSIyYTNjIiB2PSIxMjAuNTY0Ii8+CisJCQkJCTx2YWwgbz0iMzgzNSIgdj0iMTE4Ljc0NyIvPgorCQkJCQk8dmFsIG89IjQ2NDUiIHY9IjExNi41MjkiLz4KKwkJCQkJPHZhbCBvPSI1NDU1IiB2PSIxMDkuMzg0Ii8+CisJCQkJCTx2YWwgbz0iNjI2NSIgdj0iMTIxLjM1NiIvPgorCQkJCQk8dmFsIG89IjcwNzUiIHY9IjExOS4wMTQiLz4KKwkJCQkJPHZhbCBvPSI3ZTg1IiB2PSIxMTYuMjI2Ii8+CisJCQkJCTx2YWwgbz0iOGM5NiIgdj0iMTIwLjE3NSIvPgorCQkJCQk8dmFsIG89IjlhYTUiIHY9IjEyMC45NDkiLz4KKwkJCQkJPHZhbCBvPSJhOGI2IiB2PSIxMjQuMiIvPgorCQkJCQk8dmFsIG89ImI2YzUiIHY9IjEyNC4wNDMiLz4KKwkJCQkJPHZhbCBvPSJjNGQ3IiB2PSIxMTcuNzYxIi8+CisJCQkJCTx2YWwgbz0iZDMwYiIgdj0iMTE4LjA5MiIvPgorCQkJCQk8dmFsIG89ImUwZjYiIHY9IjExOC4zNTQiLz4KKwkJCQkJPHZhbCBvPSJlZjA2IiB2PSIxMTguNjMzIi8+CisJCQkJCTx2YWwgbz0iZmQxNyIgdj0iMTE4LjQ5NCIvPgorCQkJCQk8dmFsIG89IjEwYjI3IiB2PSIxMjEuMjQzIi8+CisJCQkJCTx2YWwgbz0iMTE5MzciIHY9IjEyMi4yNzgiLz4KKwkJCQkJPHZhbCBvPSIxMjc0NiIgdj0iMTE5LjY4OSIvPgorCQkJCQk8dmFsIG89IjEzNTU2IiB2PSIxMjEuMTY1Ii8+CisJCQkJCTx2YWwgbz0iMTQzNjYiIHY9IjEyNS42ODgiLz4KKwkJCQkJPHZhbCBvPSIxNTE4MSIgdj0iMTI3LjUxNyIvPgorCQkJCQk8dmFsIG89IjE1Zjg1IiB2PSIxMTkuNTA4Ii8+CisJCQkJCTx2YWwgbz0iMTZkOTUiIHY9IjEyMS4yNyIvPgorCQkJCQk8dmFsIG89IjE3YmE0IiB2PSIxMjEuMjYyIi8+CisJCQkJCTx2YWwgbz0iMTg5YjUiIHY9IjEyMC41OTUiLz4KKwkJCQkJPHZhbCBvPSIxOTdjNCIgdj0iMTE4LjcyNSIvPgorCQkJCQk8dmFsIG89IjFhNWQ1IiB2PSIxMjYuOTEzIi8+CisJCQkJCTx2YWwgbz0iMWIzZTYiIHY9IjEyNS45ODQiLz4KKwkJCQkJPHZhbCBvPSIxYzFmNiIgdj0iMTI0Ljk3MSIvPgorCQkJCQk8dmFsIG89IjFkMDA1IiB2PSIxMjEuNzIyIi8+CisJCQkJCTx2YWwgbz0iMWRlMTUiIHY9IjEyMi4yMzMiLz4KKwkJCQkJPHZhbCBvPSIxZWMyNSIgdj0iMTIyLjgzNiIvPgorCQkJCQk8dmFsIG89IjFmYTM2IiB2PSIxMjQuMTI1Ii8+CisJCQkJCTx2YWwgbz0iMjA4NDUiIHY9IjEyNS4xMDUiLz4KKwkJCQkJPHZhbCBvPSIyMTY1NiIgdj0iMTI1LjI2NiIvPgorCQkJCQk8dmFsIG89IjIyNDY1IiB2PSIxMjUuMzgxIi8+CisJCQkJCTx2YWwgbz0iMjMyNzYiIHY9IjEyMy42ODgiLz4KKwkJCQkJPHZhbCBvPSIyNDA4NiIgdj0iMTE5LjQzNyIvPgorCQkJCQk8dmFsIG89IjI0ZTk5IiB2PSIxMTkuMTY3Ii8+CisJCQkJCTx2YWwgbz0iMjVjYTciIHY9IjEyMC4zMzQiLz4KKwkJCQkJPHZhbCBvPSIyNmFiNyIgdj0iMTE5LjgzNyIvPgorCQkJCQk8dmFsIG89IjI3OGM2IiB2PSIxMjAuMTA5Ii8+CisJCQkJCTx2YWwgbz0iMjg2ZDYiIHY9IjEyMi4wNzQiLz4KKwkJCQkJPHZhbCBvPSIyOTRlNiIgdj0iMTI1LjU0MiIvPgorCQkJCQk8dmFsIG89IjJhMzAxIiB2PSIxMjUuNjM4Ii8+CisJCQkJCTx2YWwgbz0iMmIxMDUiIHY9IjExNy4zOTgiLz4KKwkJCQkJPHZhbCBvPSIyYmYxNSIgdj0iMTE4LjgwNyIvPgorCQkJCQk8dmFsIG89IjJjZDI1IiB2PSIxMTkuNjQ0Ii8+CisJCQkJCTx2YWwgbz0iMmRiMzUiIHY9IjExOS42NzQiLz4KKwkJCQkJPHZhbCBvPSIyZTk0NiIgdj0iMTE3LjU0OSIvPgorCQkJCQk8dmFsIG89IjJmNzU1IiB2PSIxMTMuMjI5Ii8+CisJCQkJCTx2YWwgbz0iMzA1NjYiIHY9IjEyNS4xNTMiLz4KKwkJCQkJPHZhbCBvPSIzMTM3NSIgdj0iMTI0LjY5MSIvPgorCQkJCQk8dmFsIG89IjMyMTllIiB2PSIxMjMuNTU2Ii8+CisJCQkJCTx2YWwgbz0iMzJmOTYiIHY9IjEyMy4yMzEiLz4KKwkJCQkJPHZhbCBvPSIzM2RhNiIgdj0iMTIzLjQwNCIvPgorCQkJCQk8dmFsIG89IjM0YmI2IiB2PSIxMjMuOTMyIi8+CisJCQkJCTx2YWwgbz0iMzU5ZGUiIHY9IjEyMy4zMjgiLz4KKwkJCQkJPHZhbCBvPSIzNjdkNiIgdj0iMTIyLjY0MSIvPgorCQkJCQk8dmFsIG89IjM3NWU2IiB2PSIxMjEuNTQ0Ii8+CisJCQkJCTx2YWwgbz0iMzg0MGUiIHY9IjExOC4yMDkiLz4KKwkJCQkJPHZhbCBvPSIzOTIxZSIgdj0iMTE4LjY3NSIvPgorCQkJCQk8dmFsIG89IjNhMDE2IiB2PSIxMTguMzI1Ii8+CisJCQkJCTx2YWwgbz0iM2FlMjciIHY9IjEyMS44OTMiLz4KKwkJCQkJPHZhbCBvPSIzYmMzNiIgdj0iMTIwLjcxMSIvPgorCQkJCQk8dmFsIG89IjNjYTQ3IiB2PSIxMTkuODU0Ii8+CisJCQkJCTx2YWwgbz0iM2Q4NTYiIHY9IjEyMC4xNjUiLz4KKwkJCQkJPHZhbCBvPSIzZTY2NyIgdj0iMTIyLjk5NiIvPgorCQkJCQk8dmFsIG89IjNmNDgxIiB2PSIxMjYuNTU3Ii8+CisJCQkJCTx2YWwgbz0iNDAyODUiIHY9IjEyNC4wNjEiLz4KKwkJCQkJPHZhbCBvPSI0MTA5NSIgdj0iMTI0Ljg3NCIvPgorCQkJCQk8dmFsIG89IjQxZWE1IiB2PSIxMjUuMjQ0Ii8+CisJCQkJCTx2YWwgbz0iNDJjYjUiIHY9IjEyNS4wODMiLz4KKwkJCQkJPHZhbCBvPSI0M2FjNSIgdj0iMTIzLjE4MiIvPgorCQkJCQk8dmFsIG89IjQ0OGQ1IiB2PSIxMTkuMzExIi8+CisJCQkJCTx2YWwgbz0iNDU2ZTYiIHY9IjEyMi41MjQiLz4KKwkJCQkJPHZhbCBvPSI0NjRmNSIgdj0iMTIxLjE3MyIvPgorCQkJCQk8dmFsIG89IjQ4MGZmIiB2PSIxMTguNjk2Ii8+CisJCQkJCTx2YWwgbz0iNDhmMGUiIHY9IjExNy41NTkiLz4KKwkJCQkJPHZhbCBvPSI0OWQxZCIgdj0iMTE4Ljk0NyIvPgorCQkJCQk8dmFsIG89IjRhYjQ2IiB2PSIxMTguNzk3Ii8+CisJCQkJCTx2YWwgbz0iNGI5NTUiIHY9IjExNy4wNDgiLz4KKwkJCQkJPHZhbCBvPSI0Yzc2OSIgdj0iMTE2LjE4MiIvPgorCQkJCQk8dmFsIG89IjRkNTc3IiB2PSIxMTkuMTAxIi8+CisJCQkJCTx2YWwgbz0iNGUzODciIHY9IjExOS4xNTIiLz4KKwkJCQkJPHZhbCBvPSI0ZjE5NiIgdj0iMTE2LjgxNCIvPgorCQkJCQk8dmFsIG89IjRmZmE2IiB2PSIxMTguOTQzIi8+CisJCQkJCTx2YWwgbz0iNTBkZDAiIHY9IjEyMC44NDQiLz4KKwkJCQkJPHZhbCBvPSI1MWJjNiIgdj0iMTE5LjEwOSIvPgorCQkJCQk8dmFsIG89IjUyOWQ2IiB2PSIxMjAuODAyIi8+CisJCQkJCTx2YWwgbz0iNTM3ZTciIHY9IjEyMy4wOTUiLz4KKwkJCQkJPHZhbCBvPSI1NDYwMCIgdj0iMTI1LjkyMiIvPgorCQkJCQk8dmFsIG89IjU1NDA2IiB2PSIxMjIuMDgyIi8+CisJCQkJCTx2YWwgbz0iNTYyMTUiIHY9IjEyMy4wMDEiLz4KKwkJCQkJPHZhbCBvPSI1NzAyNiIgdj0iMTIzLjAzMyIvPgorCQkJCQk8dmFsIG89IjU3ZTM2IiB2PSIxMjIuOTcyIi8+CisJCQkJCTx2YWwgbz0iNThjNDYiIHY9IjEyMC43MTciLz4KKwkJCQkJPHZhbCBvPSI1OWE3MCIgdj0iMTIxLjU5OSIvPgorCQkJCQk8dmFsIG89IjVhODY3IiB2PSIxMjAuOTc3Ii8+CisJCQkJCTx2YWwgbz0iNWI2NzYiIHY9IjExOS4wMzgiLz4KKwkJCQkJPHZhbCBvPSI1YzQ4NyIgdj0iMTE1Ljc5OCIvPgorCQkJCQk8dmFsIG89IjVkMjk2IiB2PSIxMTkuOTEzIi8+CisJCQkJCTx2YWwgbz0iNWUwYTkiIHY9IjEyMC4yODQiLz4KKwkJCQkJPHZhbCBvPSI1ZWViOCIgdj0iMTE5LjQ1MSIvPgorCQkJCQk8dmFsIG89IjVmY2M2IiB2PSIxMTguMzI1Ii8+CisJCQkJCTx2YWwgbz0iNjBhZDciIHY9IjExNy4xMTEiLz4KKwkJCQkJPHZhbCBvPSI2MThlNyIgdj0iMTE3LjI2MyIvPgorCQkJCQk8dmFsIG89IjYyNmY3IiB2PSIxMjAuMTQ3Ii8+CisJCQkJCTx2YWwgbz0iNjM1MDciIHY9IjExNy41MzQiLz4KKwkJCQkJPHZhbCBvPSI2NDMxNyIgdj0iMTE4LjkwMiIvPgorCQkJCQk8dmFsIG89IjY1MTI3IiB2PSIxMjAuMDk5Ii8+CisJCQkJCTx2YWwgbz0iNjVmMzciIHY9IjEyMS40MzQiLz4KKwkJCQkJPHZhbCBvPSI2NmQ0NiIgdj0iMTIxLjk4NiIvPgorCQkJCQk8dmFsIG89IjY3YjU3IiB2PSIxMjAuNjgzIi8+CisJCQkJCTx2YWwgbz0iNjg5NjciIHY9IjEyMi44NjEiLz4KKwkJCQkJPHZhbCBvPSI2OTc4MiIgdj0iMTE5LjM1Ii8+CisJCQkJCTx2YWwgbz0iNmE1ODYiIHY9IjEyMC44NDUiLz4KKwkJCQkJPHZhbCBvPSI2YjM5NSIgdj0iMTIyLjExOSIvPgorCQkJCQk8dmFsIG89IjZjMWE2IiB2PSIxMjIuNTA2Ii8+CisJCQkJCTx2YWwgbz0iNmNmYjUiIHY9IjEyMS40NjIiLz4KKwkJCQkJPHZhbCBvPSI2ZGRjNiIgdj0iMTE4LjkwOSIvPgorCQkJCQk8dmFsIG89IjZlYmQ2IiB2PSIxMTYuMzcyIi8+CisJCQkJCTx2YWwgbz0iNmY5ZTYiIHY9IjEyMS4zMTEiLz4KKwkJCQkJPHZhbCBvPSI3MDdmNiIgdj0iMTE5LjQxMiIvPgorCQkJCQk8dmFsIG89IjcxNjA3IiB2PSIxMTguMjgxIi8+CisJCQkJCTx2YWwgbz0iNzI0MTciIHY9IjExOC4xNDgiLz4KKwkJCQkJPHZhbCBvPSI3MzIyNyIgdj0iMTE3LjgxMSIvPgorCQkJCQk8dmFsIG89Ijc0MDM3IiB2PSIxMjEuNjk0Ii8+CisJCQkJCTx2YWwgbz0iNzRlNDciIHY9IjEyMC43NTUiLz4KKwkJCQkJPHZhbCBvPSI3NWM1NyIgdj0iMTE4LjY1MSIvPgorCQkJCQk8dmFsIG89Ijc2YTYzIiB2PSIxMTguMDgiLz4KKwkJCQkJPHZhbCBvPSI3Nzg3MyIgdj0iMTE4LjI4MiIvPgorCQkJCQk8dmFsIG89Ijc4NjgwIiB2PSIxMTMuOTExIi8+CisJCQkJCTx2YWwgbz0iNzk0OGYiIHY9IjExNi45NDEiLz4KKwkJCQkJPHZhbCBvPSI3YTI5ZiIgdj0iMTE5LjUwOCIvPgorCQkJCQk8dmFsIG89IjdiMGFmIiB2PSIxMTkuMDcxIi8+CisJCQkJCTx2YWwgbz0iN2JlYmYiIHY9IjEyMS4xNDYiLz4KKwkJCQkJPHZhbCBvPSI3Y2NjZiIgdj0iMTIxLjMzNiIvPgorCQkJCQk8dmFsIG89IjdkYWRmIiB2PSIxMjIuMDk1Ii8+CisJCQkJCTx2YWwgbz0iN2U4ZmEiIHY9IjEyMS43ODUiLz4KKwkJCQkJPHZhbCBvPSI3ZjcwYSIgdj0iMTI0LjA2NSIvPgorCQkJCQk8dmFsIG89IjgwNTFhIiB2PSIxMjUuNDU1Ii8+CisJCQkJCTx2YWwgbz0iODEzMmEiIHY9IjEyNi4wMTEiLz4KKwkJCQkJPHZhbCBvPSI4MjEzYSIgdj0iMTI1LjAxOCIvPgorCQkJCQk8dmFsIG89IjgyZjRhIiB2PSIxMjIuNzQxIi8+CisJCQkJCTx2YWwgbz0iODNkNWEiIHY9IjEyMC4yNiIvPgorCQkJCQk8dmFsIG89Ijg0YjZhIiB2PSIxMTguODU2Ii8+CisJCQkJCTx2YWwgbz0iODU5N2EiIHY9IjExOC44MTciLz4KKwkJCQkJPHZhbCBvPSI4Njc4YiIgdj0iMTE3LjgwNyIvPgorCQkJCQk8dmFsIG89Ijg3NTliIiB2PSIxMTcuNDQ0Ii8+CisJCQkJCTx2YWwgbz0iODgzYWMiIHY9IjExOS45NjciLz4KKwkJCQkJPHZhbCBvPSI4OTFiYiIgdj0iMTIxLjE0MSIvPgorCQkJCQk8dmFsIG89Ijg5ZmNhIiB2PSIxMjAuMjU5Ii8+CisJCQkJCTx2YWwgbz0iOGFkZGEiIHY9IjExOC41NTgiLz4KKwkJCQkJPHZhbCBvPSI4YmJlYiIgdj0iMTE4LjgxMiIvPgorCQkJCQk8dmFsIG89IjhjOWZjIiB2PSIxMTguNjMzIi8+CisJCQkJCTx2YWwgbz0iOGQ4MGIiIHY9IjExOC45NDgiLz4KKwkJCQkJPHZhbCBvPSI4ZTYxYSIgdj0iMTE3LjMxNSIvPgorCQkJCQk8dmFsIG89IjhmNDJhIiB2PSIxMTguMTQ2Ii8+CisJCQkJCTx2YWwgbz0iOTAyM2EiIHY9IjEyMC4xMjEiLz4KKwkJCQkJPHZhbCBvPSI5MTA0YSIgdj0iMTIwLjU2MSIvPgorCQkJCQk8dmFsIG89IjkxZTVhIiB2PSIxMTguNjM4Ii8+CisJCQkJCTx2YWwgbz0iOTJjNmEiIHY9IjEyMi44NDQiLz4KKwkJCQkJPHZhbCBvPSI5M2E4NCIgdj0iMTI1LjE1MyIvPgorCQkJCQk8dmFsIG89Ijk0ODg1IiB2PSIxMjMuNDYzIi8+CisJCQkJCTx2YWwgbz0iOTU2OTQiIHY9IjEyMi43OTMiLz4KKwkJCQkJPHZhbCBvPSI5NjRhNSIgdj0iMTIzLjA5MyIvPgorCQkJCQk8dmFsIG89Ijk3MmI0IiB2PSIxMjIuNTM1Ii8+CisJCQkJCTx2YWwgbz0iOTgwYzUiIHY9IjEyMC4xODkiLz4KKwkJCQkJPHZhbCBvPSI5OGVkNCIgdj0iMTIzLjA5NyIvPgorCQkJCQk8dmFsIG89Ijk5Y2U1IiB2PSIxMTkuMzM2Ii8+CisJCQkJCTx2YWwgbz0iOWFhZjUiIHY9IjExOC41Ii8+CisJCQkJCTx2YWwgbz0iOWI5MDYiIHY9IjExNS43NDMiLz4KKwkJCQkJPHZhbCBvPSI5YzcxNiIgdj0iMTE5LjcyMiIvPgorCQkJCQk8dmFsIG89IjlkNTI2IiB2PSIxMjAuMjIyIi8+CisJCQkJCTx2YWwgbz0iOWUzMzYiIHY9IjExOC45MTgiLz4KKwkJCQkJPHZhbCBvPSI5ZjE0NSIgdj0iMTE3LjU1MSIvPgorCQkJCQk8dmFsIG89IjlmZjU2IiB2PSIxMTYuNjQ5Ii8+CisJCQkJCTx2YWwgbz0iYTBkNjUiIHY9IjExNi41MiIvPgorCQkJCQk8dmFsIG89ImExYjc3IiB2PSIxMTYuNzAzIi8+CisJCQkJCTx2YWwgbz0iYTI5ODYiIHY9IjExOC44MDYiLz4KKwkJCQkJPHZhbCBvPSJhMzc5NSIgdj0iMTE4LjQ2MSIvPgorCQkJCQk8dmFsIG89ImE0NWE3IiB2PSIxMTkuNTkzIi8+CisJCQkJCTx2YWwgbz0iYTUzYjYiIHY9IjExOS43OCIvPgorCQkJCQk8dmFsIG89ImE2MWM3IiB2PSIxMTkuOTczIi8+CisJCQkJCTx2YWwgbz0iYTZmZDYiIHY9IjEyMC43NjEiLz4KKwkJCQkJPHZhbCBvPSJhN2UwMCIgdj0iMTIyLjc4MiIvPgorCQkJCQk8dmFsIG89ImE4YzAwIiB2PSIxMjUuNDQ0Ii8+CisJCQkJCTx2YWwgbz0iYTlhMDUiIHY9IjExOC4yNTUiLz4KKwkJCQkJPHZhbCBvPSJhYTgxNSIgdj0iMTE5LjMwMiIvPgorCQkJCQk8dmFsIG89ImFiNjI1IiB2PSIxMjAuMTQ5Ii8+CisJCQkJCTx2YWwgbz0iYWM0MzUiIHY9IjExOS42NzgiLz4KKwkJCQkJPHZhbCBvPSJhZDI0NSIgdj0iMTE3LjEzOCIvPgorCQkJCQk8dmFsIG89ImFlMDU1IiB2PSIxMTQuNjgxIi8+CisJCQkJCTx2YWwgbz0iYWVlNjUiIHY9IjEyMC44NTEiLz4KKwkJCQkJPHZhbCBvPSJhZmM3NSIgdj0iMTE5LjA5OSIvPgorCQkJCQk8dmFsIG89ImIwYTg1IiB2PSIxMTYuNjA5Ii8+CisJCQkJCTx2YWwgbz0iYjI2YTYiIHY9IjExNi43MjkiLz4KKwkJCQkJPHZhbCBvPSJiMzRiNiIgdj0iMTE4LjA0NSIvPgorCQkJCQk8dmFsIG89ImI0MmM2IiB2PSIxMTUuNDc3Ii8+CisJCQkJCTx2YWwgbz0iYjUwZDYiIHY9IjExNS44OTEiLz4KKwkJCQkJPHZhbCBvPSJiNWVlNyIgdj0iMTE0LjI0Ii8+CisJCQkJCTx2YWwgbz0iYjZjZjYiIHY9IjEyMi43OTQiLz4KKwkJCQkJPHZhbCBvPSJiN2IwNyIgdj0iMTE5LjAwMiIvPgorCQkJCQk8dmFsIG89ImI4OTE3IiB2PSIxMTguNzAxIi8+CisJCQkJCTx2YWwgbz0iYjk3MjgiIHY9IjExOS42MDIiLz4KKwkJCQkJPHZhbCBvPSJiYTUzNyIgdj0iMTIwLjk2MyIvPgorCQkJCQk8dmFsIG89ImJiMzQ3IiB2PSIxMTkuOTI0Ii8+CisJCQkJCTx2YWwgbz0iYmMxNTciIHY9IjEyMC42MjgiLz4KKwkJCQkJPHZhbCBvPSJiY2Y2NyIgdj0iMTIzLjEyMiIvPgorCQkJCQk8dmFsIG89ImJkZDgxIiB2PSIxMTguNjgzIi8+CisJCQkJCTx2YWwgbz0iYmViODYiIHY9IjExOC4zMDEiLz4KKwkJCQkJPHZhbCBvPSJiZjk5NSIgdj0iMTE4Ljg4MiIvPgorCQkJCQk8dmFsIG89ImMwN2E2IiB2PSIxMjAuMTg3Ii8+CisJCQkJCTx2YWwgbz0iYzE1YjUiIHY9IjExOS41NzYiLz4KKwkJCQkJPHZhbCBvPSJjMjNjNiIgdj0iMTE4LjI0MyIvPgorCQkJCQk8dmFsIG89ImMzMWQ1IiB2PSIxMTUuNjkyIi8+CisJCQkJCTx2YWwgbz0iYzNmZTYiIHY9IjExNy41NiIvPgorCQkJCQk8dmFsIG89ImM0ZGY1IiB2PSIxMTYuMDU3Ii8+CisJCQkJCTx2YWwgbz0iYzVjMDYiIHY9IjExNy40MTEiLz4KKwkJCQkJPHZhbCBvPSJjNmExNiIgdj0iMTE3LjQ4NiIvPgorCQkJCQk8dmFsIG89ImM3ODI2IiB2PSIxMTYuNzQ1Ii8+CisJCQkJCTx2YWwgbz0iYzg2MzYiIHY9IjExOC4yNjUiLz4KKwkJCQkJPHZhbCBvPSJjOTQ0NiIgdj0iMTE4LjIwMiIvPgorCQkJCQk8dmFsIG89ImNhMjU2IiB2PSIxMTguMDA0Ii8+CisJCQkJCTx2YWwgbz0iY2IwNjYiIHY9IjExNy4yNTUiLz4KKwkJCQkJPHZhbCBvPSJjYmU3NiIgdj0iMTIyLjcxIi8+CisJCQkJCTx2YWwgbz0iY2NjODciIHY9IjExOC43MzYiLz4KKwkJCQkJPHZhbCBvPSJjZGE5NiIgdj0iMTE2LjczNCIvPgorCQkJCQk8dmFsIG89ImNlOGE4IiB2PSIxMTguMzM5Ii8+CisJCQkJCTx2YWwgbz0iY2Y2YjciIHY9IjExOC42NiIvPgorCQkJCQk8dmFsIG89ImQwNGM4IiB2PSIxMTkuNzAzIi8+CisJCQkJCTx2YWwgbz0iZDEyZDciIHY9IjEyMS41MzYiLz4KKwkJCQkJPHZhbCBvPSJkMjBlNyIgdj0iMTIzLjQxOSIvPgorCQkJCQk8dmFsIG89ImQyZjAyIiB2PSIxMjYuMTg2Ii8+CisJCQkJCTx2YWwgbz0iZDNkMDUiIHY9IjExOS4zMSIvPgorCQkJCQk8dmFsIG89ImQ0YjE1IiB2PSIxMjAuNTgiLz4KKwkJCQkJPHZhbCBvPSJkNTkyNiIgdj0iMTIwLjg1NyIvPgorCQkJCQk8dmFsIG89ImQ2NzM1IiB2PSIxMTkuNTgyIi8+CisJCQkJCTx2YWwgbz0iZDc1NDYiIHY9IjExNy40MjYiLz4KKwkJCQkJPHZhbCBvPSJkODM1NSIgdj0iMTI0LjM0OSIvPgorCQkJCQk8dmFsIG89ImQ5MTY2IiB2PSIxMjIuNDM1Ii8+CisJCQkJCTx2YWwgbz0iZDlmNzUiIHY9IjEyMC42OTIiLz4KKwkJCQkJPHZhbCBvPSJkYWQ4NyIgdj0iMTE3LjIzMyIvPgorCQkJCQk8dmFsIG89ImRiYjk3IiB2PSIxMTYuODYyIi8+CisJCQkJCTx2YWwgbz0iZGM5YTgiIHY9IjExNi43MjgiLz4KKwkJCQkJPHZhbCBvPSJkZDdiNyIgdj0iMTE4LjIxMiIvPgorCQkJCQk8dmFsIG89ImRlNWM2IiB2PSIxMTcuODU3Ii8+CisJCQkJCTx2YWwgbz0iZGYzZDciIHY9IjExNy4xNzYiLz4KKwkJCQkJPHZhbCBvPSJlMDFkNyIgdj0iMTE3LjI3MSIvPgorCQkJCQk8dmFsIG89ImUwZmU1IiB2PSIxMTYuNzk2Ii8+CisJCQkJCTx2YWwgbz0iZTFkZjUiIHY9IjExNy4zNjEiLz4KKwkJCQkJPHZhbCBvPSJlMmMwNCIgdj0iMTE5Ljc2OSIvPgorCQkJCQk8dmFsIG89ImUzYTE0IiB2PSIxMjEuMDUiLz4KKwkJCQkJPHZhbCBvPSJlNDgyNCIgdj0iMTIwLjkyMSIvPgorCQkJCQk8dmFsIG89ImU1NjM0IiB2PSIxMjIuNDk3Ii8+CisJCQkJCTx2YWwgbz0iZTY0NDQiIHY9IjEyMC42NzciLz4KKwkJCQkJPHZhbCBvPSJlNzI1NSIgdj0iMTIyLjY3Ii8+CisJCQkJCTx2YWwgbz0iZTgwNmYiIHY9IjEyMy43NzgiLz4KKwkJCQkJPHZhbCBvPSJlOGU3ZiIgdj0iMTE2LjY1NSIvPgorCQkJCQk8dmFsIG89ImU5YzhlIiB2PSIxMTguMTA5Ii8+CisJCQkJCTx2YWwgbz0iZWFhOWYiIHY9IjExOC4zNzIiLz4KKwkJCQkJPHZhbCBvPSJlYjhhZSIgdj0iMTE3LjUyNyIvPgorCQkJCQk8dmFsIG89ImVjNmJmIiB2PSIxMTMuNTE4Ii8+CisJCQkJCTx2YWwgbz0iZWQ0Y2UiIHY9IjEyMy40OTYiLz4KKwkJCQkJPHZhbCBvPSJlZTJkZiIgdj0iMTIwLjYxMSIvPgorCQkJCQk8dmFsIG89ImVmMGVmIiB2PSIxMTguNzA0Ii8+CisJCQkJCTx2YWwgbz0iZWZmMDEiIHY9IjExNS42NTEiLz4KKwkJCQkJPHZhbCBvPSJmMGQxMCIgdj0iMTE3LjQ4NyIvPgorCQkJCQk8dmFsIG89ImYxYjIwIiB2PSIxMTcuMTg2Ii8+CisJCQkJCTx2YWwgbz0iZjI5MzAiIHY9IjEyMS4xMTQiLz4KKwkJCQkJPHZhbCBvPSJmMzc0MCIgdj0iMTE3LjYxMSIvPgorCQkJCQk8dmFsIG89ImY0NTUxIiB2PSIxMTcuODkyIi8+CisJCQkJCTx2YWwgbz0iZjUzNjEiIHY9IjExNy43MTgiLz4KKwkJCQkJPHZhbCBvPSJmNjE3MiIgdj0iMTE3LjU4NCIvPgorCQkJCQk8dmFsIG89ImY2ZjgwIiB2PSIxMTcuMzgiLz4KKwkJCQkJPHZhbCBvPSJmN2Q5MSIgdj0iMTE5LjIyMiIvPgorCQkJCQk8dmFsIG89ImY4YmExIiB2PSIxMjEuMDM3Ii8+CisJCQkJCTx2YWwgbz0iZjk5YjEiIHY9IjEyMC4yMjEiLz4KKwkJCQkJPHZhbCBvPSJmYTdjMCIgdj0iMTE4LjM3OSIvPgorCQkJCQk8dmFsIG89ImZiNWQxIiB2PSIxMTguMjM4Ii8+CisJCQkJCTx2YWwgbz0iZmMzZTAiIHY9IjEyMy4wMzciLz4KKwkJCQkJPHZhbCBvPSJmZDFmYiIgdj0iMTIzLjAwNyIvPgorCQkJCQk8dmFsIG89ImZlMDBiIiB2PSIxMjYuMjk0Ii8+CisJCQkJCTx2YWwgbz0iZmVlMWMiIHY9IjEyMy42ODIiLz4KKwkJCQkJPHZhbCBvPSJmZmMyYyIgdj0iMTIzLjU5MSIvPgorCQkJCQk8dmFsIG89IjEwMGEzYiIgdj0iMTIyLjkxOCIvPgorCQkJCQk8dmFsIG89IjEwMTg0YyIgdj0iMTIxLjM4NyIvPgorCQkJCQk8dmFsIG89IjEwMjY1YiIgdj0iMTE3LjU4NiIvPgorCQkJCQk8dmFsIG89IjEwMzQ2YyIgdj0iMTE3LjcxNiIvPgorCQkJCQk8dmFsIG89IjEwNDI3YiIgdj0iMTE5LjE5MSIvPgorCQkJCQk8dmFsIG89IjEwNTA4ZCIgdj0iMTE3LjM1NSIvPgorCQkJCQk8dmFsIG89IjEwNWU5ZCIgdj0iMTE3Ljg2MiIvPgorCQkJCQk8dmFsIG89IjEwNmNhZCIgdj0iMTE3LjUzMSIvPgorCQkJCQk8dmFsIG89IjEwN2FiZCIgdj0iMTE5Ljg4NiIvPgorCQkJCQk8dmFsIG89IjEwODhjZCIgdj0iMTE5LjQyNiIvPgorCQkJCQk8dmFsIG89IjEwOTZkZSIgdj0iMTE4LjcyIi8+CisJCQkJCTx2YWwgbz0iMTBhNGVkIiB2PSIxMTkuMDA0Ii8+CisJCQkJCTx2YWwgbz0iMTBiMmZlIiB2PSIxMTguNzI1Ii8+CisJCQkJCTx2YWwgbz0iMTBjMTBkIiB2PSIxMTYuMTk2Ii8+CisJCQkJCTx2YWwgbz0iMTBjZjFlIiB2PSIxMTguMTExIi8+CisJCQkJCTx2YWwgbz0iMTBkZDJlIiB2PSIxMTkuMDAxIi8+CisJCQkJCTx2YWwgbz0iMTBlYjY2IiB2PSIxMjAuOTYzIi8+CisJCQkJCTx2YWwgbz0iMTBmOTRlIiB2PSIxMjEuMzQiLz4KKwkJCQkJPHZhbCBvPSIxMTA3NWUiIHY9IjExOS4xNTEiLz4KKwkJCQkJPHZhbCBvPSIxMTE1NmQiIHY9IjEyMC43OTciLz4KKwkJCQkJPHZhbCBvPSIxMTIzODgiIHY9IjEyMy41MTkiLz4KKwkJCQkJPHZhbCBvPSIxMTMxODciIHY9IjEyMi4zNjYiLz4KKwkJCQkJPHZhbCBvPSIxMTNmYjAiIHY9IjEyMy4zODEiLz4KKwkJCQkJPHZhbCBvPSIxMTRkYTYiIHY9IjEyMy4yOTYiLz4KKwkJCQkJPHZhbCBvPSIxMTViYjYiIHY9IjEyMy4wNDciLz4KKwkJCQkJPHZhbCBvPSIxMTY5YzYiIHY9IjEyMC44NzQiLz4KKwkJCQkJPHZhbCBvPSIxMTc3ZDYiIHY9IjExOC4wMTciLz4KKwkJCQkJPHZhbCBvPSIxMTg1ZTgiIHY9IjExOC4zODgiLz4KKwkJCQkJPHZhbCBvPSIxMTkzZjciIHY9IjExNy43NTMiLz4KKwkJCQkJPHZhbCBvPSIxMWEyMDgiIHY9IjExOS43NjEiLz4KKwkJCQkJPHZhbCBvPSIxMWIwMTciIHY9IjEyMS41NDciLz4KKwkJCQkJPHZhbCBvPSIxMWJlMmYiIHY9IjEyMi4wMjgiLz4KKwkJCQkJPHZhbCBvPSIxMWNjMzciIHY9IjEyMi4xOTUiLz4KKwkJCQkJPHZhbCBvPSIxMWRhNDciIHY9IjEyMS43ODMiLz4KKwkJCQkJPHZhbCBvPSIxMWU4NTciIHY9IjEyMC41ODEiLz4KKwkJCQkJPHZhbCBvPSIxMWY2NjciIHY9IjEyMS42ODUiLz4KKwkJCQkJPHZhbCBvPSIxMjA1NzgiIHY9IjEyMC45NzIiLz4KKwkJCQkJPHZhbCBvPSIxMjEzODYiIHY9IjExNi44MzYiLz4KKwkJCQkJPHZhbCBvPSIxMjIxOTYiIHY9IjExNy42MzMiLz4KKwkJCQkJPHZhbCBvPSIxMjJmYTYiIHY9IjExOC44MyIvPgorCQkJCQk8dmFsIG89IjEyM2RiNSIgdj0iMTIwLjc0NiIvPgorCQkJCQk8dmFsIG89IjEyNGJjNSIgdj0iMTIyLjU0MSIvPgorCQkJCQk8dmFsIG89IjEyNTlkNSIgdj0iMTIwLjI0OSIvPgorCQkJCQk8dmFsIG89IjEyNjdlNCIgdj0iMTIyLjcwOCIvPgorCQkJCQk8dmFsIG89IjEyNzYwMCIgdj0iMTI0LjUzOCIvPgorCQkJCQk8dmFsIG89IjEyODMwNSIgdj0iMTI1LjI4OSIvPgorCQkJCQk8dmFsIG89IjEyOTExNSIgdj0iMTI1LjMyNSIvPgorCQkJCQk8dmFsIG89IjEyOWYyNSIgdj0iMTI1LjQ5Ii8+CisJCQkJCTx2YWwgbz0iMTJhZDM1IiB2PSIxMjQuNjcyIi8+CisJCQkJCTx2YWwgbz0iMTJiYjQ1IiB2PSIxMjIuODEzIi8+CisJCQkJCTx2YWwgbz0iMTJjOTU0IiB2PSIxMjEuNTczIi8+CisJCQkJCTx2YWwgbz0iMTJkNzY2IiB2PSIxMjAuNzE5Ii8+CisJCQkJCTx2YWwgbz0iMTJlNTc1IiB2PSIxMTkuNzA2Ii8+CisJCQkJCTx2YWwgbz0iMTJmMzg2IiB2PSIxMTYuOTM1Ii8+CisJCQkJCTx2YWwgbz0iMTMwMTk2IiB2PSIxMTcuMjU1Ii8+CisJCQkJCTx2YWwgbz0iMTMwZmE2IiB2PSIxMTguMzY1Ii8+CisJCQkJCTx2YWwgbz0iMTMxZGI3IiB2PSIxMTkuODI5Ii8+CisJCQkJCTx2YWwgbz0iMTMyYmM1IiB2PSIxMTkuNjA3Ii8+CisJCQkJCTx2YWwgbz0iMTMzOWQ0IiB2PSIwLjEwOSIvPgorCQkJCQk8dmFsIG89IjEzNDdlNSIgdj0iMC4xMDkiLz4KKwkJCQkJPHZhbCBvPSIxMzU1ZjQiIHY9IjAuMTA4Ii8+CisJCQkJCTx2YWwgbz0iMTM2NDA0IiB2PSIwLjEwNiIvPgorCQkJCQk8dmFsIG89IjEzNzIxNCIgdj0iMC4xMDYiLz4KKwkJCQkJPHZhbCBvPSIxMzgwMjQiIHY9IjAuMTA3Ii8+CisJCQkJCTx2YWwgbz0iMTM4ZTMzIiB2PSIwLjEwOCIvPgorCQkJCQk8dmFsIG89IjEzOWM0NCIgdj0iMC4xMDkiLz4KKwkJCQkJPHZhbCBvPSIxM2FhNTQiIHY9IjAuMTA4Ii8+CisJCQkJCTx2YWwgbz0iMTNiODY1IiB2PSIwLjEwOSIvPgorCQkJCQk8dmFsIG89IjEzYzY3ZSIgdj0iMC4xMDEiLz4KKwkJCQkJPHZhbCBvPSIxM2Q0OGUiIHY9IjAuMTA0Ii8+CisJCQkJCTx2YWwgbz0iMTNlMjllIiB2PSIwLjEwNiIvPgorCQkJCQk8dmFsIG89IjEzZjBhZSIgdj0iMC4xMDYiLz4KKwkJCQkJPHZhbCBvPSIxM2ZlYmYiIHY9IjAuMTA0Ii8+CisJCQkJCTx2YWwgbz0iMTQwY2NmIiB2PSIwLjEwMiIvPgorCQkJCQk8dmFsIG89IjE0MWFkZiIgdj0iMC4xMDQiLz4KKwkJCQkJPHZhbCBvPSIxNDI4ZWYiIHY9IjAuMTA4Ii8+CisJCQkJCTx2YWwgbz0iMTQzNmZmIiB2PSIwLjEwNyIvPgorCQkJCQk8dmFsIG89IjE0NDUwZiIgdj0iMC4xMDciLz4KKwkJCQkJPHZhbCBvPSIxNDUzMWYiIHY9IjAuMTA3Ii8+CisJCQkJCTx2YWwgbz0iMTQ2MTMwIiB2PSIwLjEwOCIvPgorCQkJCQk8dmFsIG89IjE0NmY0MCIgdj0iMC4xMSIvPgorCQkJCQk8dmFsIG89IjE0N2Q0NCIgdj0iMC4xMDgiLz4KKwkJCQkJPHZhbCBvPSIxNDhiNTciIHY9IjAuMTA4Ii8+CisJCQkJCTx2YWwgbz0iMTQ5OTY1IiB2PSIwLjEwOCIvPgorCQkJCQk8dmFsIG89IjE0YTc3NSIgdj0iMC4xMDYiLz4KKwkJCQkJPHZhbCBvPSIxNGI1ODQiIHY9IjAuMTEiLz4KKwkJCQkJPHZhbCBvPSIxNGMzOTciIHY9IjAuMTA3Ii8+CisJCQkJCTx2YWwgbz0iMTRkMWE0IiB2PSIwLjEwNyIvPgorCQkJCQk8dmFsIG89IjE0ZGZiNiIgdj0iMC4xMDgiLz4KKwkJCQkJPHZhbCBvPSIxNGVkYzUiIHY9IjAuMTEiLz4KKwkJCQkJPHZhbCBvPSIxNGZiZDUiIHY9IjAuMTEyIi8+CisJCQkJCTx2YWwgbz0iMTUwOWU1IiB2PSIwLjExMiIvPgorCQkJCQk8dmFsIG89IjE1MTdmZiIgdj0iMC4xMTUiLz4KKwkJCQkJPHZhbCBvPSIxNTI2MDUiIHY9IjAuMTA4Ii8+CisJCQkJCTx2YWwgbz0iMTUzNDE1IiB2PSIwLjEwOSIvPgorCQkJCQk8dmFsIG89IjE1NDIyNSIgdj0iMC4xMSIvPgorCQkJCQk8dmFsIG89IjE1NTAzNSIgdj0iMC4xMDkiLz4KKwkJCQkJPHZhbCBvPSIxNTVlNDUiIHY9IjAuMTA3Ii8+CisJCQkJCTx2YWwgbz0iMTU2YzU1IiB2PSIwLjEwNCIvPgorCQkJCQk8dmFsIG89IjE1N2E2NSIgdj0iMC4xMDciLz4KKwkJCQkJPHZhbCBvPSIxNTg4NzUiIHY9IjAuMTA3Ii8+CisJCQkJCTx2YWwgbz0iMTU5Njg2IiB2PSIwLjEwNiIvPgorCQkJCQk8dmFsIG89IjE1YTQ5NSIgdj0iMC4xMDciLz4KKwkJCQkJPHZhbCBvPSIxNWIyYTYiIHY9IjAuMTA4Ii8+CisJCQkJCTx2YWwgbz0iMTVjMGI2IiB2PSIwLjEwOSIvPgorCQkJCQk8dmFsIG89IjE1Y2VjNiIgdj0iMC4xMDkiLz4KKwkJCQkJPHZhbCBvPSIxNWRjZDUiIHY9IjAuMTA4Ii8+CisJCQkJCTx2YWwgbz0iMTVlYWU2IiB2PSIwLjEwOCIvPgorCQkJCQk8dmFsIG89IjE1ZjhmNSIgdj0iMC4xMDQiLz4KKwkJCQkJPHZhbCBvPSIxNjA3MDYiIHY9IjAuMTEiLz4KKwkJCQkJPHZhbCBvPSIxNjE1MTciIHY9IjAuMTA5Ii8+CisJCQkJCTx2YWwgbz0iMTYyMzI2IiB2PSIwLjExIi8+CisJCQkJCTx2YWwgbz0iMTYzMTM3IiB2PSIwLjExMSIvPgorCQkJCQk8dmFsIG89IjE2M2Y0NiIgdj0iMC4xMDkiLz4KKwkJCQkJPHZhbCBvPSIxNjRkNTciIHY9IjAuMTEiLz4KKwkJCQkJPHZhbCBvPSIxNjViNjciIHY9IjAuMTEyIi8+CisJCQkJCTx2YWwgbz0iMTY2OTgyIiB2PSIwLjExMSIvPgorCQkJCQk8dmFsIG89IjE2Nzc4NiIgdj0iMC4xMTIiLz4KKwkJCQkJPHZhbCBvPSIxNjg1OTYiIHY9IjAuMTEzIi8+CisJCQkJCTx2YWwgbz0iMTY5M2E2IiB2PSIwLjExMyIvPgorCQkJCQk8dmFsIG89IjE2YTFiNSIgdj0iMC4xMTIiLz4KKwkJCQkJPHZhbCBvPSIxNmFmYzYiIHY9IjAuMTExIi8+CisJCQkJCTx2YWwgbz0iMTZiZGQ1IiB2PSIwLjEwOSIvPgorCQkJCQk8dmFsIG89IjE2Y2JlNiIgdj0iMC4xMDciLz4KKwkJCQkJPHZhbCBvPSIxNmQ5ZjYiIHY9IjAuMTExIi8+CisJCQkJCTx2YWwgbz0iMTZlODA3IiB2PSIwLjExIi8+CisJCQkJCTx2YWwgbz0iMTZmNjE2IiB2PSIwLjExIi8+CisJCQkJCTx2YWwgbz0iMTcwNDI5IiB2PSIwLjExMSIvPgorCQkJCQk8dmFsIG89IjE3MTIzNiIgdj0iMC4xMTIiLz4KKwkJCQkJPHZhbCBvPSIxNzIwNDciIHY9IjAuMTEyIi8+CisJCQkJCTx2YWwgbz0iMTcyZTU3IiB2PSIwLjExMSIvPgorCQkJCQk8dmFsIG89IjE3M2M2NyIgdj0iMC4xMTEiLz4KKwkJCQkJPHZhbCBvPSIxNzRhNzciIHY9IjAuMTEiLz4KKwkJCQkJPHZhbCBvPSIxNzU4ODciIHY9IjAuMTA4Ii8+CisJCQkJCTx2YWwgbz0iMTc2Njk0IiB2PSIxMTguMzUxIi8+CisJCQkJCTx2YWwgbz0iMTc3NGEzIiB2PSIxMTkuNzYzIi8+CisJCQkJCTx2YWwgbz0iMTc4MmIzIiB2PSIxMjAuODcyIi8+CisJCQkJCTx2YWwgbz0iMTc5MGM1IiB2PSIxMjEuNDQzIi8+CisJCQkJCTx2YWwgbz0iMTc5ZWQ0IiB2PSIxMjQuNTg3Ii8+CisJCQkJCTx2YWwgbz0iMTdhY2U0IiB2PSIxMjcuMTE5Ii8+CisJCQkJCTx2YWwgbz0iMTdiYWZkIiB2PSIxMjguODg3Ii8+CisJCQkJCTx2YWwgbz0iMTdjOTBmIiB2PSIxMjcuMTA3Ii8+CisJCQkJCTx2YWwgbz0iMTdkNzFlIiB2PSIxMjcuMSIvPgorCQkJCQk8dmFsIG89IjE3ZTUyZiIgdj0iMTI3LjM1Ii8+CisJCQkJCTx2YWwgbz0iMTdmMzNmIiB2PSIxMjYuNTUyIi8+CisJCQkJCTx2YWwgbz0iMTgwMTRmIiB2PSIxMjQuNzEiLz4KKwkJCQkJPHZhbCBvPSIxODBmNWYiIHY9IjEyNC4wNzciLz4KKwkJCQkJPHZhbCBvPSIxODFkNmUiIHY9IjEyNS4wOTkiLz4KKwkJCQkJPHZhbCBvPSIxODJiN2YiIHY9IjEyNS4wMjUiLz4KKwkJCQkJPHZhbCBvPSIxODM5OGYiIHY9IjEyMy45NTQiLz4KKwkJCQkJPHZhbCBvPSIxODQ3YTEiIHY9IjEyMy42NDEiLz4KKwkJCQkJPHZhbCBvPSIxODU1YWYiIHY9IjEyNC4zMDgiLz4KKwkJCQkJPHZhbCBvPSIxODYzYzAiIHY9IjEyNi4yMDEiLz4KKwkJCQkJPHZhbCBvPSIxODcxY2YiIHY9IjEyNS40MjYiLz4KKwkJCQkJPHZhbCBvPSIxODdmZTAiIHY9IjEyNS4wNDUiLz4KKwkJCQkJPHZhbCBvPSIxODhkZWYiIHY9IjEyNC44NjgiLz4KKwkJCQkJPHZhbCBvPSIxODljMDAiIHY9IjEyMy44NTQiLz4KKwkJCQkJPHZhbCBvPSIxOGI4MGQiIHY9IjExNy4xNzciLz4KKwkJCQkJPHZhbCBvPSIxOGM2MWMiIHY9IjEyMC45ODUiLz4KKwkJCQkJPHZhbCBvPSIxOGQ0MmMiIHY9IjEyMS42ODkiLz4KKwkJCQkJPHZhbCBvPSIxOGUyM2IiIHY9IjEyMS41MTQiLz4KKwkJCQkJPHZhbCBvPSIxOGYwNGIiIHY9IjEyMy43NiIvPgorCQkJCQk8dmFsIG89IjE4ZmU1ZSIgdj0iMTI1Ljg0OCIvPgorCQkJCQk8dmFsIG89IjE5MGM3NiIgdj0iMTIzLjE2MiIvPgorCQkJCQk8dmFsIG89IjE5MWE4NiIgdj0iMTI0Ljg3Ii8+CisJCQkJCTx2YWwgbz0iMTkyODk2IiB2PSIxMjYuNDU3Ii8+CisJCQkJCTx2YWwgbz0iMTkzNmE2IiB2PSIxMjYuNTY1Ii8+CisJCQkJCTx2YWwgbz0iMTk0NGI3IiB2PSIxMjUuODIxIi8+CisJCQkJCTx2YWwgbz0iMTk1MmM2IiB2PSIxMjMuNjU0Ii8+CisJCQkJCTx2YWwgbz0iMTk2MGQ3IiB2PSIxMjAuOTg1Ii8+CisJCQkJCTx2YWwgbz0iMTk2ZWU2IiB2PSIxMjEuMDE5Ii8+CisJCQkJCTx2YWwgbz0iMTk3Y2Y4IiB2PSIxMjAuNzcxIi8+CisJCQkJCTx2YWwgbz0iMTk4YjBmIiB2PSIxMjAuMTM5Ii8+CisJCQkJCTx2YWwgbz0iMTk5OTFmIiB2PSIxMjAuMDY3Ii8+CisJCQkJCTx2YWwgbz0iMTliNTQxIiB2PSIxMjIuNDU5Ii8+CisJCQkJCTx2YWwgbz0iMTljMzRkIiB2PSIxMjEuNjAzIi8+CisJCQkJCTx2YWwgbz0iMTlkMTVlIiB2PSIxMjAuODU2Ii8+CisJCQkJCTx2YWwgbz0iMTlkZjgwIiB2PSIxMjAuODgyIi8+CisJCQkJCTx2YWwgbz0iMTllZDkwIiB2PSIxMjAuMDQ5Ii8+CisJCQkJCTx2YWwgbz0iMTllZWJlIiB2PSIxMTkuOTAzIi8+CisJCQkJCTx2YWwgbz0iMTlmYjhlIiB2PSIxMTYuMDEyIi8+CisJCQkJCTx2YWwgbz0iMWEwOWEwIiB2PSIxMTkuMjgzIi8+CisJCQkJCTx2YWwgbz0iMWExN2FlIiB2PSIxMjAuMzAzIi8+CisJCQkJCTx2YWwgbz0iMWEyNWJlIiB2PSIxMjEuNzI4Ii8+CisJCQkJCTx2YWwgbz0iMWEzM2NkIiB2PSIxMjEuNTE2Ii8+CisJCQkJCTx2YWwgbz0iMWE0MWRkIiB2PSIxMjIuODQ5Ii8+CisJCQkJCTx2YWwgbz0iMWE0ZmVkIiB2PSIxMjYuMDkzIi8+CisJCQkJCTx2YWwgbz0iMWE1ZTA4IiB2PSIxMjYuNzI1Ii8+CisJCQkJCTx2YWwgbz0iMWE2YzA1IiB2PSIxMjQuODgzIi8+CisJCQkJCTx2YWwgbz0iMWE3YTE1IiB2PSIxMjUuOTMxIi8+CisJCQkJCTx2YWwgbz0iMWE4ODI2IiB2PSIxMjYuMDk2Ii8+CisJCQkJCTx2YWwgbz0iMWE5NjM3IiB2PSIxMjQuOTA2Ii8+CisJCQkJCTx2YWwgbz0iMWFhNDQ1IiB2PSIxMjMuNjU0Ii8+CisJCQkJCTx2YWwgbz0iMWFiMjU1IiB2PSIxMjEuNDkzIi8+CisJCQkJCTx2YWwgbz0iMWFjMDY1IiB2PSIxMjMuODk3Ii8+CisJCQkJCTx2YWwgbz0iMWFjZTc1IiB2PSIxMjMuNzU2Ii8+CisJCQkJCTx2YWwgbz0iMWFkYzg3IiB2PSIxMjIuMzY5Ii8+CisJCQkJCTx2YWwgbz0iMWFlYTk2IiB2PSIxMjEuOTM0Ii8+CisJCQkJCTx2YWwgbz0iMWFmOGE3IiB2PSIxMjIuMzA2Ii8+CisJCQkJCTx2YWwgbz0iMWIwNmI3IiB2PSIxMjQuMDQxIi8+CisJCQkJCTx2YWwgbz0iMWIxNGM2IiB2PSIxMjMuNjk4Ii8+CisJCQkJCTx2YWwgbz0iMWM3NDYwIiB2PSIxMjAuMDI5Ii8+CisJCQkJCTx2YWwgbz0iMWM4MjcwIiB2PSIxMjAuMDMzIi8+CisJCQkJCTx2YWwgbz0iMWM5MDdlIiB2PSIxMTkuMzE0Ii8+CisJCQkJCTx2YWwgbz0iMWM5ZThmIiB2PSIxMjAuNDc5Ii8+CisJCQkJCTx2YWwgbz0iMWNhY2EyIiB2PSIxMjEuOTEiLz4KKwkJCQkJPHZhbCBvPSIxY2JhYjEiIHY9IjEyMi40ODUiLz4KKwkJCQkJPHZhbCBvPSIxY2M4YzEiIHY9IjExOC41NjQiLz4KKwkJCQkJPHZhbCBvPSIxY2Q2ZDAiIHY9IjExOS4zNjciLz4KKwkJCQkJPHZhbCBvPSIxY2U0ZGUiIHY9IjEyMC44MDgiLz4KKwkJCQkJPHZhbCBvPSIxY2YyZjAiIHY9IjEyMy4xMDUiLz4KKwkJCQkJPHZhbCBvPSIxZDAxMDkiIHY9IjEyNS4wMjEiLz4KKwkJCQkJPHZhbCBvPSIxZDBmMDYiIHY9IjEyMy4yNzQiLz4KKwkJCQkJPHZhbCBvPSIxZDFkMTUiIHY9IjEyMy45MiIvPgorCQkJCQk8dmFsIG89IjFkMmIyNSIgdj0iMTIzLjg3NiIvPgorCQkJCQk8dmFsIG89IjFkMzkzNSIgdj0iMTIyLjg4MyIvPgorCQkJCQk8dmFsIG89IjFkNDc0NSIgdj0iMTIyLjA3MiIvPgorCQkJCQk8dmFsIG89IjFkNTU1NSIgdj0iMTIxLjU0NCIvPgorCQkJCQk8dmFsIG89IjFkNjM2NiIgdj0iMTIzLjI3Ii8+CisJCQkJCTx2YWwgbz0iMWQ3MTc1IiB2PSIxMjMuNTEzIi8+CisJCQkJCTx2YWwgbz0iMWQ3Zjg2IiB2PSIxMjIuNjA0Ii8+CisJCQkJCTx2YWwgbz0iMWQ4ZDk1IiB2PSIxMjEuMjgxIi8+CisJCQkJCTx2YWwgbz0iMWQ5YmE2IiB2PSIxMjEuNzE2Ii8+CisJCQkJCTx2YWwgbz0iMWRhOWI2IiB2PSIxMjIuNzE0Ii8+CisJCQkJCTx2YWwgbz0iMWRiN2M3IiB2PSIxMjMuMTI5Ii8+CisJCQkJCTx2YWwgbz0iMWRjNWQ1IiB2PSIxMjMuNDMxIi8+CisJCQkJCTx2YWwgbz0iMWRkM2U2IiB2PSIxMjIuOTg3Ii8+CisJCQkJCTx2YWwgbz0iMWRlMWY1IiB2PSIxMTkuMjYyIi8+CisJCQkJCTx2YWwgbz0iMWRmMDA2IiB2PSIxMTguMDg3Ii8+CisJCQkJCTx2YWwgbz0iMWRmZTE2IiB2PSIxMTYuNTMyIi8+CisJCQkJCTx2YWwgbz0iMWUwYzI2IiB2PSIxMTguNjE4Ii8+CisJCQkJCTx2YWwgbz0iMWUxYTM2IiB2PSIxMTkuNzA2Ii8+CisJCQkJCTx2YWwgbz0iMWUyODQ3IiB2PSIxMjAuODk5Ii8+CisJCQkJCTx2YWwgbz0iMWUzNjU5IiB2PSIxMjAuNzE4Ii8+CisJCQkJCTx2YWwgbz0iMWU0NDY3IiB2PSIxMjEuNjI0Ii8+CisJCQkJCTx2YWwgbz0iMWU1MjgxIiB2PSIxMTcuOTI1Ii8+CisJCQkJCTx2YWwgbz0iMWU2MDg2IiB2PSIxMjAuOTI4Ii8+CisJCQkJCTx2YWwgbz0iMWU2ZTk2IiB2PSIxMjIuMzQiLz4KKwkJCQkJPHZhbCBvPSIxZTdjYTYiIHY9IjEyMi45NzIiLz4KKwkJCQkJPHZhbCBvPSIxZThhYjUiIHY9IjEyMy4wNSIvPgorCQkJCQk8dmFsIG89IjFlOThjNiIgdj0iMTIyLjQ0Ii8+CisJCQkJCTx2YWwgbz0iMWVhNmQ1IiB2PSIxMjAuNzM1Ii8+CisJCQkJCTx2YWwgbz0iMWViNGU2IiB2PSIxMjAuNzExIi8+CisJCQkJCTx2YWwgbz0iMWVjMmY2IiB2PSIxMjMuNjg4Ii8+CisJCQkJCTx2YWwgbz0iMWVkMTA2IiB2PSIxMjIuODUzIi8+CisJCQkJCTx2YWwgbz0iMWVkZjE2IiB2PSIxMjIuNzU0Ii8+CisJCQkJCTx2YWwgbz0iMWVlZDI2IiB2PSIxMjIuOTc1Ii8+CisJCQkJCTx2YWwgbz0iMWVmYjM2IiB2PSIxMjMuNDkiLz4KKwkJCQkJPHZhbCBvPSIxZjA5NDYiIHY9IjEyMy4yNzgiLz4KKwkJCQkJPHZhbCBvPSIxZjE3NTYiIHY9IjEyMS43NzYiLz4KKwkJCQkJPHZhbCBvPSIxZjI1NjYiIHY9IjEyMS40NTgiLz4KKwkJCQkJPHZhbCBvPSIxZjMzNzYiIHY9IjEyMC4xMDkiLz4KKwkJCQkJPHZhbCBvPSIxZjQxODciIHY9IjExNi44MzIiLz4KKwkJCQkJPHZhbCBvPSIxZjRmOTYiIHY9IjExOS45NDgiLz4KKwkJCQkJPHZhbCBvPSIxZjVkYTciIHY9IjEyMC4wMjIiLz4KKwkJCQkJPHZhbCBvPSIxZjZiYjYiIHY9IjEyMC44ODQiLz4KKwkJCQkJPHZhbCBvPSIxZjc5YzciIHY9IjExOS42MTgiLz4KKwkJCQkJPHZhbCBvPSIxZjg3ZDYiIHY9IjEyMi44MTEiLz4KKwkJCQkJPHZhbCBvPSIxZjk1ZTciIHY9IjEyMy45OTciLz4KKwkJCQkJPHZhbCBvPSIxZmE0MDEiIHY9IjEyNi42NTQiLz4KKwkJCQkJPHZhbCBvPSIxZmIyMDQiIHY9IjEyNS41NzQiLz4KKwkJCQkJPHZhbCBvPSIxZmMwMTYiIHY9IjEyNi40OTUiLz4KKwkJCQkJPHZhbCBvPSIxZmNlMjUiIHY9IjEyNi4wMjEiLz4KKwkJCQkJPHZhbCBvPSIxZmRjMzUiIHY9IjEyNS41MjEiLz4KKwkJCQkJPHZhbCBvPSIxZmVhNDUiIHY9IjEyMy4xMDQiLz4KKwkJCQkJPHZhbCBvPSIxZmY4NTUiIHY9IjEyMS4wNzMiLz4KKwkJCQkJPHZhbCBvPSIyMDA2NjUiIHY9IjExNy45OTciLz4KKwkJCQkJPHZhbCBvPSIyMDE0NzUiIHY9IjExOS4zNzYiLz4KKwkJCQkJPHZhbCBvPSIyMDIyODYiIHY9IjExOS4zMDIiLz4KKwkJCQkJPHZhbCBvPSIyMDMwOTUiIHY9IjEyMC4yNCIvPgorCQkJCQk8dmFsIG89IjIwM2VhNSIgdj0iMTIwLjQ5NyIvPgorCQkJCQk8dmFsIG89IjIwNGNiNiIgdj0iMTIzLjI3NiIvPgorCQkJCQk8dmFsIG89IjIwNWFjNiIgdj0iMTIxLjI4NyIvPgorCQkJCQk8dmFsIG89IjIwNjhkNiIgdj0iMTIwLjQ5MiIvPgorCQkJCQk8dmFsIG89IjIwNzZlNiIgdj0iMTE5LjY0MyIvPgorCQkJCQk8dmFsIG89IjIwODRmNiIgdj0iMTE3LjYyNiIvPgorCQkJCQk8dmFsIG89IjIwOTMwNiIgdj0iMTIxLjkiLz4KKwkJCQkJPHZhbCBvPSIyMGExMTYiIHY9IjEyMC44NjEiLz4KKwkJCQkJPHZhbCBvPSIyMGFmMjYiIHY9IjEyMC40OTMiLz4KKwkJCQkJPHZhbCBvPSIyMGJkMzciIHY9IjEyMS41MjYiLz4KKwkJCQkJPHZhbCBvPSIyMGNiNDYiIHY9IjExOS40NiIvPgorCQkJCQk8dmFsIG89IjIwZDk1NyIgdj0iMTIwLjI4NCIvPgorCQkJCQk8dmFsIG89IjIwZTc2NyIgdj0iMTIxLjcxMyIvPgorCQkJCQk8dmFsIG89IjIwZjU4MSIgdj0iMTI0LjIwMyIvPgorCQkJCQk8dmFsIG89IjIxMDM4NiIgdj0iMTI2LjU4NyIvPgorCQkJCQk8dmFsIG89IjIxMTE5NCIgdj0iMTI0LjYyNyIvPgorCQkJCQk8dmFsIG89IjIxMWZhNSIgdj0iMTI0LjUyNiIvPgorCQkJCQk8dmFsIG89IjIxMmRiNSIgdj0iMTIzLjgyMSIvPgorCQkJCQk8dmFsIG89IjIxM2JjNSIgdj0iMTIyLjM1NyIvPgorCQkJCQk8dmFsIG89IjIxNDlkNiIgdj0iMTE4LjY0MiIvPgorCQkJCQk8dmFsIG89IjIxNTdlNSIgdj0iMTE2LjY1MSIvPgorCQkJCQk8dmFsIG89IjIxNjVmNiIgdj0iMTIyLjQzOSIvPgorCQkJCQk8dmFsIG89IjIxNzQwNiIgdj0iMTIwLjIzMiIvPgorCQkJCQk8dmFsIG89IjIxODIxNyIgdj0iMTE5LjMyMiIvPgorCQkJCQk8dmFsIG89IjIxOTAyNiIgdj0iMTIwLjIzNiIvPgorCQkJCQk8dmFsIG89IjIxOWUzOSIgdj0iMTIwLjM0NiIvPgorCQkJCQk8dmFsIG89IjIxYWM0NiIgdj0iMTE5LjE0OCIvPgorCQkJCQk8dmFsIG89IjIxYmE1NyIgdj0iMTE4LjkwNyIvPgorCQkJCQk8dmFsIG89IjIxYzg2NyIgdj0iMTE3Ljg3NCIvPgorCQkJCQk8dmFsIG89IjIxZDY3NyIgdj0iMTIyLjU4NCIvPgorCQkJCQk8dmFsIG89IjIxZTQ4NyIgdj0iMTIwLjI1MiIvPgorCQkJCQk8dmFsIG89IjIxZjI5NiIgdj0iMTIwLjQ2OSIvPgorCQkJCQk8dmFsIG89IjIyMDBhNiIgdj0iMTIxLjMwMyIvPgorCQkJCQk8dmFsIG89IjIyMGViNyIgdj0iMTIyLjE4MyIvPgorCQkJCQk8dmFsIG89IjIyMWNjNiIgdj0iMTE4Ljc0NyIvPgorCQkJCQk8dmFsIG89IjIyMmFkNyIgdj0iMTIwLjgxIi8+CisJCQkJCTx2YWwgbz0iMjIzOGU3IiB2PSIxMjMuOTM3Ii8+CisJCQkJCTx2YWwgbz0iMjI0NzAxIiB2PSIxMjYuNjg3Ii8+CisJCQkJCTx2YWwgbz0iMjI1NTA1IiB2PSIxMTkuNTUzIi8+CisJCQkJCTx2YWwgbz0iMjI2MzE1IiB2PSIxMTkuNzU3Ii8+CisJCQkJCTx2YWwgbz0iMjI3MTI1IiB2PSIxMTkuNzUzIi8+CisJCQkJCTx2YWwgbz0iMjI3ZjM1IiB2PSIxMTcuNTU3Ii8+CisJCQkJCTx2YWwgbz0iMjI4ZDQ1IiB2PSIxMTYuMjYyIi8+CisJCQkJCTx2YWwgbz0iMjI5YjU0IiB2PSIxMjIuNDY5Ii8+CisJCQkJCTx2YWwgbz0iMjJhOTY1IiB2PSIxMTkuNzY1Ii8+CisJCQkJCTx2YWwgbz0iMjJiNzc2IiB2PSIxMTkuNzgiLz4KKwkJCQkJPHZhbCBvPSIyMmM1ODYiIHY9IjExOS4wMDYiLz4KKwkJCQkJPHZhbCBvPSIyMmQzOTciIHY9IjExOC42OTYiLz4KKwkJCQkJPHZhbCBvPSIyMmUxYTYiIHY9IjExOS4wMTgiLz4KKwkJCQkJPHZhbCBvPSIyMmVmYjYiIHY9IjEyMC43NjUiLz4KKwkJCQkJPHZhbCBvPSIyMmZkYzciIHY9IjEyMC40MSIvPgorCQkJCQk8dmFsIG89IjIzMGJkNyIgdj0iMTE5LjYwOCIvPgorCQkJCQk8dmFsIG89IjIzMTllNiIgdj0iMTE5LjI2OCIvPgorCQkJCQk8dmFsIG89IjIzMjdmNiIgdj0iMTE4LjIyMSIvPgorCQkJCQk8dmFsIG89IjIzMzYxYiIgdj0iMTE5LjIzNCIvPgorCQkJCQk8dmFsIG89IjIzNDQxNiIgdj0iMTE4LjE5OSIvPgorCQkJCQk8dmFsIG89IjIzNTIyNiIgdj0iMTE5LjUyNCIvPgorCQkJCQk8dmFsIG89IjIzNjAzNyIgdj0iMTIwLjc2Ii8+CisJCQkJCTx2YWwgbz0iMjM2ZTQ2IiB2PSIxMTguNDQ2Ii8+CisJCQkJCTx2YWwgbz0iMjM3YzU3IiB2PSIxMTkuODYiLz4KKwkJCQkJPHZhbCBvPSIyMzhhNjYiIHY9IjEyMS40NTgiLz4KKwkJCQkJPHZhbCBvPSIyMzk4ODEiIHY9IjEyMC45MzciLz4KKwkJCQkJPHZhbCBvPSIyM2E2ODUiIHY9IjEyMi4zNTMiLz4KKwkJCQkJPHZhbCBvPSIyM2I0OTUiIHY9IjEyMy4wODUiLz4KKwkJCQkJPHZhbCBvPSIyM2MyYTQiIHY9IjEyMy4xNDUiLz4KKwkJCQkJPHZhbCBvPSIyM2QwYjUiIHY9IjEyMi4yNzciLz4KKwkJCQkJPHZhbCBvPSIyM2RlYzQiIHY9IjEyMS4xNTMiLz4KKwkJCQkJPHZhbCBvPSIyM2VjZDUiIHY9IjExOS4zMSIvPgorCQkJCQk8dmFsIG89IjIzZmFlNCIgdj0iMTIwLjYxNiIvPgorCQkJCQk8dmFsIG89IjI0MDhmNiIgdj0iMTE4LjQ4MiIvPgorCQkJCQk8dmFsIG89IjI0MTcwNiIgdj0iMTE3Ljc4OSIvPgorCQkJCQk8dmFsIG89IjI0MjUxOCIgdj0iMTE4LjE3OCIvPgorCQkJCQk8dmFsIG89IjI0MzMyNSIgdj0iMTE4LjY1Ii8+CisJCQkJCTx2YWwgbz0iMjQ0MTM3IiB2PSIxMTkuODkzIi8+CisJCQkJCTx2YWwgbz0iMjQ0ZjQ2IiB2PSIxMTkuMTcyIi8+CisJCQkJCTx2YWwgbz0iMjQ2YjY2IiB2PSIxMTguODgiLz4KKwkJCQkJPHZhbCBvPSIyNDc5NzYiIHY9IjExOC4wMyIvPgorCQkJCQk8dmFsIG89IjI0ODc4NiIgdj0iMTE1LjIiLz4KKwkJCQkJPHZhbCBvPSIyNDk1N2UiIHY9IjExOC4wOTEiLz4KKwkJCQkJPHZhbCBvPSIyNGEzOGYiIHY9IjExOS42MDEiLz4KKwkJCQkJPHZhbCBvPSIyNGIxOWMiIHY9IjEyMC44NDQiLz4KKwkJCQkJPHZhbCBvPSIyNGJmYWMiIHY9IjEyMC4wOTQiLz4KKwkJCQkJPHZhbCBvPSIyNGNkYmMiIHY9IjEyMy44NTEiLz4KKwkJCQkJPHZhbCBvPSIyNGRiY2QiIHY9IjEyMy40OTkiLz4KKwkJCQkJPHZhbCBvPSIyNGU5ZTUiIHY9IjEyNC44MDYiLz4KKwkJCQkJPHZhbCBvPSIyNGY4MDgiIHY9IjEyNC4yNyIvPgorCQkJCQk8dmFsIG89IjI1MDYxNiIgdj0iMTI0Ljk4NSIvPgorCQkJCQk8dmFsIG89IjI1MTQyNiIgdj0iMTI1LjAyIi8+CisJCQkJCTx2YWwgbz0iMjUyMjM2IiB2PSIxMjMuNDgzIi8+CisJCQkJCTx2YWwgbz0iMjUzMDQ3IiB2PSIxMjIuNDM2Ii8+CisJCQkJCTx2YWwgbz0iMjUzZTU2IiB2PSIxMjAuMDQxIi8+CisJCQkJCTx2YWwgbz0iMjU0YzY3IiB2PSIxMTkuNDk2Ii8+CisJCQkJCTx2YWwgbz0iMjU1YTc2IiB2PSIxMTkuMzYyIi8+CisJCQkJCTx2YWwgbz0iMjU2ODg3IiB2PSIxMTcuNzY3Ii8+CisJCQkJCTx2YWwgbz0iMjU3Njk3IiB2PSIxMTguNjE2Ii8+CisJCQkJCTx2YWwgbz0iMjU4NGE4IiB2PSIxMTcuMjc0Ii8+CisJCQkJCTx2YWwgbz0iMjU5MmI2IiB2PSIxMTguOTc1Ii8+CisJCQkJCTx2YWwgbz0iMjVhMGM3IiB2PSIxMTkuNzkiLz4KKwkJCQkJPHZhbCBvPSIyNWFlZDciIHY9IjExOS4zMzEiLz4KKwkJCQkJPHZhbCBvPSIyNWJjZTciIHY9IjExOS4xOTQiLz4KKwkJCQkJPHZhbCBvPSIyNWNhZjgiIHY9IjExOC42MzciLz4KKwkJCQkJPHZhbCBvPSIyNWQ5MDciIHY9IjEyMC41MzUiLz4KKwkJCQkJPHZhbCBvPSIyNWU3MTgiIHY9IjExOS44Ii8+CisJCQkJCTx2YWwgbz0iMjVmNTI3IiB2PSIxMjAuNDAzIi8+CisJCQkJCTx2YWwgbz0iMjYwMzM4IiB2PSIxMjEuMDU0Ii8+CisJCQkJCTx2YWwgbz0iMjYxMTQ5IiB2PSIxMTkuNDEzIi8+CisJCQkJCTx2YWwgbz0iMjYxZjU5IiB2PSIxMjAuMzgiLz4KKwkJCQkJPHZhbCBvPSIyNjJkNjgiIHY9IjEyMy4yMDMiLz4KKwkJCQkJPHZhbCBvPSIyNjNiODMiIHY9IjEyMS4xNDMiLz4KKwkJCQkJPHZhbCBvPSIyNjQ5ODYiIHY9IjEyMi45NzYiLz4KKwkJCQkJPHZhbCBvPSIyNjU3OTUiIHY9IjEyMy42OTciLz4KKwkJCQkJPHZhbCBvPSIyNjY1YTYiIHY9IjEyNC40NzYiLz4KKwkJCQkJPHZhbCBvPSIyNjczYjUiIHY9IjEyMy41OTIiLz4KKwkJCQkJPHZhbCBvPSIyNjgxYzYiIHY9IjEyMy4xNzciLz4KKwkJCQkJPHZhbCBvPSIyNjhmZDUiIHY9IjEyMS44NTMiLz4KKwkJCQkJPHZhbCBvPSIyNjlkZTYiIHY9IjEyMS4yOTgiLz4KKwkJCQkJPHZhbCBvPSIyNmFiZjYiIHY9IjEyMC41OTMiLz4KKwkJCQkJPHZhbCBvPSIyNmJhMDYiIHY9IjExOC43NjMiLz4KKwkJCQkJPHZhbCBvPSIyNmM4MTciIHY9IjExOC4yNzgiLz4KKwkJCQkJPHZhbCBvPSIyNmQ2MmIiIHY9IjExOC41OTYiLz4KKwkJCQkJPHZhbCBvPSIyNmU0MzYiIHY9IjExOS45ODQiLz4KKwkJCQkJPHZhbCBvPSIyNmYyNDciIHY9IjExOS41MjMiLz4KKwkJCQkJPHZhbCBvPSIyNzAwNTciIHY9IjExOS41NzQiLz4KKwkJCQkJPHZhbCBvPSIyNzBlNjciIHY9IjExOS4wMTMiLz4KKwkJCQkJPHZhbCBvPSIyNzFjNzciIHY9IjExOS43MjIiLz4KKwkJCQkJPHZhbCBvPSIyNzJhODciIHY9IjEyMC44NzUiLz4KKwkJCQkJPHZhbCBvPSIyNzM4OTciIHY9IjEyMC42NjgiLz4KKwkJCQkJPHZhbCBvPSIyNzQ2YTgiIHY9IjEyMS40NTEiLz4KKwkJCQkJPHZhbCBvPSIyNzU0YjkiIHY9IjEyMS44MzgiLz4KKwkJCQkJPHZhbCBvPSIyNzYyYzciIHY9IjExOS4wNTMiLz4KKwkJCQkJPHZhbCBvPSIyNzcwZDgiIHY9IjEyMS4wMyIvPgorCQkJCQk8dmFsIG89IjI3N2VlNyIgdj0iMTIzLjU0NCIvPgorCQkJCTwvcGFyPgorCQkJCTxwYXIgbWVtaW5kPSI5ODA4IiBoPSIzZGMxYThkZSI+CisJCQkJCTx2YWwgbz0iMCIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImUwOCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFjMzIiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyYTNjIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMzgzNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjQ2NDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI1NDU1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNjI2NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjcwNzUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI3ZTg1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iOGM5NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjlhYTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJhOGI2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYjZjNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImM0ZDciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJkMzBiIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZTBmNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImVmMDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJmZDE3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTBiMjciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMTkzNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEyNzQ2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTM1NTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNDM2NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1MTgxIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTVmODUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNmQ5NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE3YmE0IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTg5YjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxOTdjNCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFhNWQ1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWIzZTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxYzFmNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFkMDA1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMWRlMTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZWMyNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjFmYTM2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjA4NDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMTY1NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIyNDY1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjMyNzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNDA4NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI0ZTk5IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjVjYTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNmFiNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI3OGM2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjg2ZDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyOTRlNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjJhMzAxIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMmIxMDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyYmYxNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjJjZDI1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMmRiMzUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyZTk0NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjJmNzU1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMzA1NjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIzMTM3NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjMyMTllIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMzJmOTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIzM2RhNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjM0YmI2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMzU5ZGUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIzNjdkNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjM3NWU2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMzg0MGUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIzOTIxZSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjNhMDE2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iM2FlMjciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIzYmMzNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjNjYTQ3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iM2Q4NTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIzZTY2NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjNmNDgxIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNDAyODUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI0MTA5NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjQxZWE1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNDJjYjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI0M2FjNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjQ0OGQ1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNDU2ZTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI0NjRmNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjQ4MGZmIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNDhmMGUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI0OWQxZCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjRhYjQ2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNGI5NTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI0Yzc2OSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjRkNTc3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNGUzODciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI0ZjE5NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjRmZmE2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNTBkZDAiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI1MWJjNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjUyOWQ2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNTM3ZTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI1NDYwMCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjU1NDA2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNTYyMTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI1NzAyNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjU3ZTM2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNThjNDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI1OWE3MCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjVhODY3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNWI2NzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI1YzQ4NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjVkMjk2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNWUwYTkiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI1ZWViOCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjVmY2M2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNjBhZDciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI2MThlNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjYyNmY3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNjM1MDciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI2NDMxNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjY1MTI3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNjVmMzciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI2NmQ0NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjY3YjU3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNjg5NjciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI2OTc4MiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjZhNTg2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNmIzOTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI2YzFhNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjZjZmI1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNmRkYzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI2ZWJkNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjZmOWU2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNzA3ZjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI3MTYwNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjcyNDE3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNzMyMjciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI3NDAzNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89Ijc0ZTQ3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNzVjNTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI3NmE2MyIgdj0iMCIvPgorCQkJCQk8dmFsIG89Ijc3ODczIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNzg2ODAiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI3OTQ4ZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjdhMjlmIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iN2IwYWYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI3YmViZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjdjY2NmIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iN2RhZGYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI3ZThmYSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjdmNzBhIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iODA1MWEiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI4MTMyYSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjgyMTNhIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iODJmNGEiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI4M2Q1YSIgdj0iMCIvPgorCQkJCQk8dmFsIG89Ijg0YjZhIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iODU5N2EiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI4Njc4YiIgdj0iMCIvPgorCQkJCQk8dmFsIG89Ijg3NTliIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iODgzYWMiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI4OTFiYiIgdj0iMCIvPgorCQkJCQk8dmFsIG89Ijg5ZmNhIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iOGFkZGEiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI4YmJlYiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjhjOWZjIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iOGQ4MGIiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI4ZTYxYSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjhmNDJhIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iOTAyM2EiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI5MTA0YSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjkxZTVhIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iOTJjNmEiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI5M2E4NCIgdj0iMCIvPgorCQkJCQk8dmFsIG89Ijk0ODg1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iOTU2OTQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI5NjRhNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89Ijk3MmI0IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iOTgwYzUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI5OGVkNCIgdj0iMCIvPgorCQkJCQk8dmFsIG89Ijk5Y2U1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iOWFhZjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI5YjkwNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjljNzE2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iOWQ1MjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI5ZTMzNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjlmMTQ1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iOWZmNTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJhMGQ2NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImExYjc3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYTI5ODYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJhMzc5NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImE0NWE3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYTUzYjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJhNjFjNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImE2ZmQ2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYTdlMDAiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJhOGMwMCIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImE5YTA1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYWE4MTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJhYjYyNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImFjNDM1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYWQyNDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJhZTA1NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImFlZTY1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYWZjNzUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJiMGE4NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImIyNmE2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYjM0YjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJiNDJjNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImI1MGQ2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYjVlZTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJiNmNmNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImI3YjA3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYjg5MTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJiOTcyOCIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImJhNTM3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYmIzNDciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJiYzE1NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImJjZjY3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYmRkODEiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJiZWI4NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImJmOTk1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYzA3YTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJjMTViNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImMyM2M2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYzMxZDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJjM2ZlNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImM0ZGY1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYzVjMDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJjNmExNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImM3ODI2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYzg2MzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJjOTQ0NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImNhMjU2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iY2IwNjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJjYmU3NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImNjYzg3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iY2RhOTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJjZThhOCIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImNmNmI3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZDA0YzgiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJkMTJkNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImQyMGU3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZDJmMDIiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJkM2QwNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImQ0YjE1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZDU5MjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJkNjczNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImQ3NTQ2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZDgzNTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJkOTE2NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImQ5Zjc1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZGFkODciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJkYmI5NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImRjOWE4IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZGQ3YjciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJkZTVjNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImRmM2Q3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZTAxZDciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJlMGZlNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImUxZGY1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZTJjMDQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJlM2ExNCIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImU0ODI0IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZTU2MzQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJlNjQ0NCIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImU3MjU1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZTgwNmYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJlOGU3ZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImU5YzhlIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZWFhOWYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJlYjhhZSIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImVjNmJmIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZWQ0Y2UiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJlZTJkZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImVmMGVmIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZWZmMDEiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJmMGQxMCIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImYxYjIwIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZjI5MzAiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJmMzc0MCIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImY0NTUxIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZjUzNjEiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJmNjE3MiIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImY2ZjgwIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZjdkOTEiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJmOGJhMSIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImY5OWIxIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZmE3YzAiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJmYjVkMSIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImZjM2UwIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZmQxZmIiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJmZTAwYiIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImZlZTFjIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZmZjMmMiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMDBhM2IiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMDE4NGMiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMDI2NWIiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMDM0NmMiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMDQyN2IiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMDUwOGQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMDVlOWQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMDZjYWQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMDdhYmQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMDg4Y2QiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMDk2ZGUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMGE0ZWQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMGIyZmUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMGMxMGQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMGNmMWUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMGRkMmUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMGViNjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMGY5NGUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMTA3NWUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMTE1NmQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMTIzODgiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMTMxODciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMTNmYjAiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMTRkYTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMTViYjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMTY5YzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMTc3ZDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMTg1ZTgiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMTkzZjciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMWEyMDgiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMWIwMTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMWJlMmYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMWNjMzciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMWRhNDciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMWU4NTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMWY2NjciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMjA1NzgiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMjEzODYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMjIxOTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMjJmYTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMjNkYjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMjRiYzUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMjU5ZDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMjY3ZTQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMjc2MDAiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMjgzMDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMjkxMTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMjlmMjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMmFkMzUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMmJiNDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMmM5NTQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMmQ3NjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMmU1NzUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMmYzODYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMzAxOTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMzBmYTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMzFkYjciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMzJiYzUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMzM5ZDQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMzQ3ZTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMzU1ZjQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMzY0MDQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMzcyMTQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMzgwMjQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMzhlMzMiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMzljNDQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxM2FhNTQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxM2I4NjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxM2M2N2UiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxM2Q0OGUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxM2UyOWUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxM2YwYWUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxM2ZlYmYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNDBjY2YiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNDFhZGYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNDI4ZWYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNDM2ZmYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNDQ1MGYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNDUzMWYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNDYxMzAiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNDZmNDAiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNDdkNDQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNDhiNTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNDk5NjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNGE3NzUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNGI1ODQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNGMzOTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNGQxYTQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNGRmYjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNGVkYzUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNGZiZDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNTA5ZTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNTE3ZmYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNTI2MDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNTM0MTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNTQyMjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNTUwMzUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNTVlNDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNTZjNTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNTdhNjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNTg4NzUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNTk2ODYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNWE0OTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNWIyYTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNWMwYjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNWNlYzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNWRjZDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNWVhZTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNWY4ZjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNjA3MDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNjE1MTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNjIzMjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNjMxMzciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNjNmNDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNjRkNTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNjViNjciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNjY5ODIiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNjc3ODYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNjg1OTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNjkzYTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNmExYjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNmFmYzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNmJkZDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNmNiZTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNmQ5ZjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNmU4MDciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNmY2MTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNzA0MjkiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNzEyMzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNzIwNDciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNzJlNTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNzNjNjciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNzRhNzciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNzU4ODciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNzY2OTQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNzc0YTMiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNzgyYjMiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNzkwYzUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNzllZDQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxN2FjZTQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxN2JhZmQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxN2M5MGYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxN2Q3MWUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxN2U1MmYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxN2YzM2YiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxODAxNGYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxODBmNWYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxODFkNmUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxODJiN2YiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxODM5OGYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxODQ3YTEiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxODU1YWYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxODYzYzAiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxODcxY2YiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxODdmZTAiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxODhkZWYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxODljMDAiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxOGI4MGQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxOGM2MWMiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxOGQ0MmMiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxOGUyM2IiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxOGYwNGIiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxOGZlNWUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxOTBjNzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxOTFhODYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxOTI4OTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxOTM2YTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxOTQ0YjciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxOTUyYzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxOTYwZDciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxOTZlZTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxOTdjZjgiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxOThiMGYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxOTk5MWYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxOWI1NDEiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxOWMzNGQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxOWQxNWUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxOWRmODAiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxOWVkOTAiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxOWVlYmUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxOWZiOGUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxYTA5YTAiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxYTE3YWUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxYTI1YmUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxYTMzY2QiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxYTQxZGQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxYTRmZWQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxYTVlMDgiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxYTZjMDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxYTdhMTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxYTg4MjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxYTk2MzciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxYWE0NDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxYWIyNTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxYWMwNjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxYWNlNzUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxYWRjODciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxYWVhOTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxYWY4YTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxYjA2YjciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxYjE0YzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxYzc0NjAiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxYzgyNzAiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxYzkwN2UiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxYzllOGYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxY2FjYTIiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxY2JhYjEiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxY2M4YzEiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxY2Q2ZDAiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxY2U0ZGUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxY2YyZjAiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZDAxMDkiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZDBmMDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZDFkMTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZDJiMjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZDM5MzUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZDQ3NDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZDU1NTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZDYzNjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZDcxNzUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZDdmODYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZDhkOTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZDliYTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZGE5YjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZGI3YzciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZGM1ZDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZGQzZTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZGUxZjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZGYwMDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZGZlMTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZTBjMjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZTFhMzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZTI4NDciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZTM2NTkiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZTQ0NjciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZTUyODEiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZTYwODYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZTZlOTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZTdjYTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZThhYjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZTk4YzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZWE2ZDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZWI0ZTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZWMyZjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZWQxMDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZWRmMTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZWVkMjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZWZiMzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZjA5NDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZjE3NTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZjI1NjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZjMzNzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZjQxODciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZjRmOTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZjVkYTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZjZiYjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZjc5YzciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZjg3ZDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZjk1ZTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZmE0MDEiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZmIyMDQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZmMwMTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZmNlMjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZmRjMzUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZmVhNDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxZmY4NTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMDA2NjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMDE0NzUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMDIyODYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMDMwOTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMDNlYTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMDRjYjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMDVhYzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMDY4ZDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMDc2ZTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMDg0ZjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMDkzMDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMGExMTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMGFmMjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMGJkMzciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMGNiNDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMGQ5NTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMGU3NjciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMGY1ODEiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMTAzODYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMTExOTQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMTFmYTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMTJkYjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMTNiYzUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMTQ5ZDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMTU3ZTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMTY1ZjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMTc0MDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMTgyMTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMTkwMjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMTllMzkiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMWFjNDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMWJhNTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMWM4NjciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMWQ2NzciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMWU0ODciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMWYyOTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMjAwYTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMjBlYjciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMjFjYzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMjJhZDciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMjM4ZTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMjQ3MDEiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMjU1MDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMjYzMTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMjcxMjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMjdmMzUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMjhkNDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMjliNTQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMmE5NjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMmI3NzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMmM1ODYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMmQzOTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMmUxYTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMmVmYjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMmZkYzciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMzBiZDciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMzE5ZTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMzI3ZjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMzM2MWIiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMzQ0MTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMzUyMjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMzYwMzciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMzZlNDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMzdjNTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMzhhNjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyMzk4ODEiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyM2E2ODUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyM2I0OTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyM2MyYTQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyM2QwYjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyM2RlYzQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyM2VjZDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyM2ZhZTQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNDA4ZjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNDE3MDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNDI1MTgiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNDMzMjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNDQxMzciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNDRmNDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNDZiNjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNDc5NzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNDg3ODYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNDk1N2UiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNGEzOGYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNGIxOWMiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNGJmYWMiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNGNkYmMiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNGRiY2QiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNGU5ZTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNGY4MDgiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNTA2MTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNTE0MjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNTIyMzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNTMwNDciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNTNlNTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNTRjNjciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNTVhNzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNTY4ODciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNTc2OTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNTg0YTgiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNTkyYjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNWEwYzciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNWFlZDciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNWJjZTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNWNhZjgiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNWQ5MDciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNWU3MTgiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNWY1MjciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNjAzMzgiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNjExNDkiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNjFmNTkiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNjJkNjgiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNjNiODMiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNjQ5ODYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNjU3OTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNjY1YTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNjczYjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNjgxYzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNjhmZDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNjlkZTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNmFiZjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNmJhMDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNmM4MTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNmQ2MmIiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNmU0MzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNmYyNDciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNzAwNTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNzBlNjciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNzFjNzciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNzJhODciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNzM4OTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNzQ2YTgiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNzU0YjkiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNzYyYzciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNzcwZDgiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyNzdlZTciIHY9IjAiLz4KKwkJCQk8L3Bhcj4KKwkJCQk8cGFyIG1lbWluZD0iOTgwNCIgaD0iM2RjMWE4ZGUiPgorCQkJCQk8dmFsIG89IjAiIHY9IjExMy43NjgiLz4KKwkJCQkJPHZhbCBvPSJlMDgiIHY9IjExNy4xMzEiLz4KKwkJCQkJPHZhbCBvPSIxYzMyIiB2PSIxMTguNzk0Ii8+CisJCQkJCTx2YWwgbz0iMmEzYyIgdj0iMTIwLjM2MiIvPgorCQkJCQk8dmFsIG89IjM4MzUiIHY9IjExOC41MDQiLz4KKwkJCQkJPHZhbCBvPSI0NjQ1IiB2PSIxMTYuMjc1Ii8+CisJCQkJCTx2YWwgbz0iNTQ1NSIgdj0iMTA5LjI1OCIvPgorCQkJCQk8dmFsIG89IjYyNjUiIHY9IjEyMS4xMjciLz4KKwkJCQkJPHZhbCBvPSI3MDc1IiB2PSIxMTguODQ5Ii8+CisJCQkJCTx2YWwgbz0iN2U4NSIgdj0iMTE2LjA5MyIvPgorCQkJCQk8dmFsIG89IjhjOTYiIHY9IjEyMC4xMDgiLz4KKwkJCQkJPHZhbCBvPSI5YWE1IiB2PSIxMjAuODQiLz4KKwkJCQkJPHZhbCBvPSJhOGI2IiB2PSIxMjQuMDQ1Ii8+CisJCQkJCTx2YWwgbz0iYjZjNSIgdj0iMTI0LjA0MiIvPgorCQkJCQk8dmFsIG89ImM0ZDciIHY9IjExNy43MTMiLz4KKwkJCQkJPHZhbCBvPSJkMzBiIiB2PSIxMTguMDQ4Ii8+CisJCQkJCTx2YWwgbz0iZTBmNiIgdj0iMTE4LjA1MSIvPgorCQkJCQk8dmFsIG89ImVmMDYiIHY9IjExOC4yNTkiLz4KKwkJCQkJPHZhbCBvPSJmZDE3IiB2PSIxMTguMDU0Ii8+CisJCQkJCTx2YWwgbz0iMTBiMjciIHY9IjEyMC44NDQiLz4KKwkJCQkJPHZhbCBvPSIxMTkzNyIgdj0iMTIxLjkyNSIvPgorCQkJCQk8dmFsIG89IjEyNzQ2IiB2PSIxMTkuMzUzIi8+CisJCQkJCTx2YWwgbz0iMTM1NTYiIHY9IjEyMC44NjciLz4KKwkJCQkJPHZhbCBvPSIxNDM2NiIgdj0iMTI1LjQ4Ii8+CisJCQkJCTx2YWwgbz0iMTUxODEiIHY9IjEyNy40MzQiLz4KKwkJCQkJPHZhbCBvPSIxNWY4NSIgdj0iMTE5LjA2OSIvPgorCQkJCQk8dmFsIG89IjE2ZDk1IiB2PSIxMjAuOTA0Ii8+CisJCQkJCTx2YWwgbz0iMTdiYTQiIHY9IjEyMC45NzQiLz4KKwkJCQkJPHZhbCBvPSIxODliNSIgdj0iMTIwLjI1Ii8+CisJCQkJCTx2YWwgbz0iMTk3YzQiIHY9IjExOC4yOTEiLz4KKwkJCQkJPHZhbCBvPSIxYTVkNSIgdj0iMTI2LjU3MyIvPgorCQkJCQk8dmFsIG89IjFiM2U2IiB2PSIxMjUuNjM3Ii8+CisJCQkJCTx2YWwgbz0iMWMxZjYiIHY9IjEyNC42NjgiLz4KKwkJCQkJPHZhbCBvPSIxZDAwNSIgdj0iMTIxLjM5MyIvPgorCQkJCQk8dmFsIG89IjFkZTE1IiB2PSIxMjEuOTk4Ii8+CisJCQkJCTx2YWwgbz0iMWVjMjUiIHY9IjEyMi41NTUiLz4KKwkJCQkJPHZhbCBvPSIxZmEzNiIgdj0iMTIzLjk0MSIvPgorCQkJCQk8dmFsIG89IjIwODQ1IiB2PSIxMjQuNzQ2Ii8+CisJCQkJCTx2YWwgbz0iMjE2NTYiIHY9IjEyNS4wODUiLz4KKwkJCQkJPHZhbCBvPSIyMjQ2NSIgdj0iMTI1LjE0MyIvPgorCQkJCQk8dmFsIG89IjIzMjc2IiB2PSIxMjMuMzE1Ii8+CisJCQkJCTx2YWwgbz0iMjQwODYiIHY9IjExOS4wMjYiLz4KKwkJCQkJPHZhbCBvPSIyNGU5OSIgdj0iMTE4LjY4MyIvPgorCQkJCQk8dmFsIG89IjI1Y2E3IiB2PSIxMTkuODE1Ii8+CisJCQkJCTx2YWwgbz0iMjZhYjciIHY9IjExOS4yNSIvPgorCQkJCQk8dmFsIG89IjI3OGM2IiB2PSIxMTkuNjc4Ii8+CisJCQkJCTx2YWwgbz0iMjg2ZDYiIHY9IjEyMS43MDgiLz4KKwkJCQkJPHZhbCBvPSIyOTRlNiIgdj0iMTI1LjE4MiIvPgorCQkJCQk8dmFsIG89IjJhMzAxIiB2PSIxMjUuMjE3Ii8+CisJCQkJCTx2YWwgbz0iMmIxMDUiIHY9IjExNy4xMiIvPgorCQkJCQk8dmFsIG89IjJiZjE1IiB2PSIxMTguNDg5Ii8+CisJCQkJCTx2YWwgbz0iMmNkMjUiIHY9IjExOS4zMzgiLz4KKwkJCQkJPHZhbCBvPSIyZGIzNSIgdj0iMTE5LjM5MiIvPgorCQkJCQk8dmFsIG89IjJlOTQ2IiB2PSIxMTcuMjc3Ii8+CisJCQkJCTx2YWwgbz0iMmY3NTUiIHY9IjExMi45NjciLz4KKwkJCQkJPHZhbCBvPSIzMDU2NiIgdj0iMTI0Ljc3NSIvPgorCQkJCQk8dmFsIG89IjMxMzc1IiB2PSIxMjQuNDA5Ii8+CisJCQkJCTx2YWwgbz0iMzIxOWUiIHY9IjEyMy4yNjgiLz4KKwkJCQkJPHZhbCBvPSIzMmY5NiIgdj0iMTIyLjk1NiIvPgorCQkJCQk8dmFsIG89IjMzZGE2IiB2PSIxMjMuMDMyIi8+CisJCQkJCTx2YWwgbz0iMzRiYjYiIHY9IjEyMy41NTUiLz4KKwkJCQkJPHZhbCBvPSIzNTlkZSIgdj0iMTIzLjAwNCIvPgorCQkJCQk8dmFsIG89IjM2N2Q2IiB2PSIxMjIuMTI1Ii8+CisJCQkJCTx2YWwgbz0iMzc1ZTYiIHY9IjEyMS4wNzgiLz4KKwkJCQkJPHZhbCBvPSIzODQwZSIgdj0iMTE3LjcwMSIvPgorCQkJCQk8dmFsIG89IjM5MjFlIiB2PSIxMTguMTAxIi8+CisJCQkJCTx2YWwgbz0iM2EwMTYiIHY9IjExNy43NzEiLz4KKwkJCQkJPHZhbCBvPSIzYWUyNyIgdj0iMTIxLjM5MyIvPgorCQkJCQk8dmFsIG89IjNiYzM2IiB2PSIxMjAuMTYiLz4KKwkJCQkJPHZhbCBvPSIzY2E0NyIgdj0iMTE5LjM4NyIvPgorCQkJCQk8dmFsIG89IjNkODU2IiB2PSIxMTkuODg3Ii8+CisJCQkJCTx2YWwgbz0iM2U2NjciIHY9IjEyMi42NCIvPgorCQkJCQk8dmFsIG89IjNmNDgxIiB2PSIxMjUuOTU0Ii8+CisJCQkJCTx2YWwgbz0iNDAyODUiIHY9IjEyMy41MSIvPgorCQkJCQk8dmFsIG89IjQxMDk1IiB2PSIxMjQuMzI4Ii8+CisJCQkJCTx2YWwgbz0iNDFlYTUiIHY9IjEyNC42MzkiLz4KKwkJCQkJPHZhbCBvPSI0MmNiNSIgdj0iMTI0LjQ0OCIvPgorCQkJCQk8dmFsIG89IjQzYWM1IiB2PSIxMjIuNDM0Ii8+CisJCQkJCTx2YWwgbz0iNDQ4ZDUiIHY9IjExOC42MjMiLz4KKwkJCQkJPHZhbCBvPSI0NTZlNiIgdj0iMTIyLjE2OSIvPgorCQkJCQk8dmFsIG89IjQ2NGY1IiB2PSIxMjAuOTc5Ii8+CisJCQkJCTx2YWwgbz0iNDgwZmYiIHY9IjExOC4zNTgiLz4KKwkJCQkJPHZhbCBvPSI0OGYwZSIgdj0iMTE3LjI3MSIvPgorCQkJCQk8dmFsIG89IjQ5ZDFkIiB2PSIxMTguNjgiLz4KKwkJCQkJPHZhbCBvPSI0YWI0NiIgdj0iMTE4LjU2MiIvPgorCQkJCQk8dmFsIG89IjRiOTU1IiB2PSIxMTYuODQyIi8+CisJCQkJCTx2YWwgbz0iNGM3NjkiIHY9IjExNS45MTMiLz4KKwkJCQkJPHZhbCBvPSI0ZDU3NyIgdj0iMTE4Ljg5NCIvPgorCQkJCQk8dmFsIG89IjRlMzg3IiB2PSIxMTguNTkiLz4KKwkJCQkJPHZhbCBvPSI0ZjE5NiIgdj0iMTE2LjI5MyIvPgorCQkJCQk8dmFsIG89IjRmZmE2IiB2PSIxMTguMjk5Ii8+CisJCQkJCTx2YWwgbz0iNTBkZDAiIHY9IjEyMC4yMzMiLz4KKwkJCQkJPHZhbCBvPSI1MWJjNiIgdj0iMTE4LjQ5NSIvPgorCQkJCQk8dmFsIG89IjUyOWQ2IiB2PSIxMjAuNDA2Ii8+CisJCQkJCTx2YWwgbz0iNTM3ZTciIHY9IjEyMi42NDQiLz4KKwkJCQkJPHZhbCBvPSI1NDYwMCIgdj0iMTI1LjUyOCIvPgorCQkJCQk8dmFsIG89IjU1NDA2IiB2PSIxMjEuNzQ2Ii8+CisJCQkJCTx2YWwgbz0iNTYyMTUiIHY9IjEyMi42NDIiLz4KKwkJCQkJPHZhbCBvPSI1NzAyNiIgdj0iMTIyLjU4MSIvPgorCQkJCQk8dmFsIG89IjU3ZTM2IiB2PSIxMjIuNjIzIi8+CisJCQkJCTx2YWwgbz0iNThjNDYiIHY9IjEyMC40MzEiLz4KKwkJCQkJPHZhbCBvPSI1OWE3MCIgdj0iMTIxLjMyOSIvPgorCQkJCQk8dmFsIG89IjVhODY3IiB2PSIxMjAuNjUxIi8+CisJCQkJCTx2YWwgbz0iNWI2NzYiIHY9IjExOC44NzYiLz4KKwkJCQkJPHZhbCBvPSI1YzQ4NyIgdj0iMTE1LjY2MSIvPgorCQkJCQk8dmFsIG89IjVkMjk2IiB2PSIxMTkuODM1Ii8+CisJCQkJCTx2YWwgbz0iNWUwYTkiIHY9IjEyMC4zNCIvPgorCQkJCQk8dmFsIG89IjVlZWI4IiB2PSIxMTkuNDM5Ii8+CisJCQkJCTx2YWwgbz0iNWZjYzYiIHY9IjExOC4yNDUiLz4KKwkJCQkJPHZhbCBvPSI2MGFkNyIgdj0iMTE3LjAwNCIvPgorCQkJCQk8dmFsIG89IjYxOGU3IiB2PSIxMTcuMTY1Ii8+CisJCQkJCTx2YWwgbz0iNjI2ZjciIHY9IjExOS45NSIvPgorCQkJCQk8dmFsIG89IjYzNTA3IiB2PSIxMTcuMTQ5Ii8+CisJCQkJCTx2YWwgbz0iNjQzMTciIHY9IjExOC41NDEiLz4KKwkJCQkJPHZhbCBvPSI2NTEyNyIgdj0iMTE5LjgyMiIvPgorCQkJCQk8dmFsIG89IjY1ZjM3IiB2PSIxMjEuMDEzIi8+CisJCQkJCTx2YWwgbz0iNjZkNDYiIHY9IjEyMS41NzciLz4KKwkJCQkJPHZhbCBvPSI2N2I1NyIgdj0iMTIwLjI4OSIvPgorCQkJCQk8dmFsIG89IjY4OTY3IiB2PSIxMjIuNjIiLz4KKwkJCQkJPHZhbCBvPSI2OTc4MiIgdj0iMTE5LjA5MyIvPgorCQkJCQk8dmFsIG89IjZhNTg2IiB2PSIxMjAuNDkzIi8+CisJCQkJCTx2YWwgbz0iNmIzOTUiIHY9IjEyMS45MTkiLz4KKwkJCQkJPHZhbCBvPSI2YzFhNiIgdj0iMTIyLjIxOCIvPgorCQkJCQk8dmFsIG89IjZjZmI1IiB2PSIxMjEuMDIyIi8+CisJCQkJCTx2YWwgbz0iNmRkYzYiIHY9IjExOC40MzMiLz4KKwkJCQkJPHZhbCBvPSI2ZWJkNiIgdj0iMTE1Ljk3OCIvPgorCQkJCQk8dmFsIG89IjZmOWU2IiB2PSIxMjAuOTcxIi8+CisJCQkJCTx2YWwgbz0iNzA3ZjYiIHY9IjExOS4yMzQiLz4KKwkJCQkJPHZhbCBvPSI3MTYwNyIgdj0iMTE4LjAxNSIvPgorCQkJCQk8dmFsIG89IjcyNDE3IiB2PSIxMTcuOTIyIi8+CisJCQkJCTx2YWwgbz0iNzMyMjciIHY9IjExNy41NjYiLz4KKwkJCQkJPHZhbCBvPSI3NDAzNyIgdj0iMTIxLjQ2OSIvPgorCQkJCQk8dmFsIG89Ijc0ZTQ3IiB2PSIxMjAuNTE0Ii8+CisJCQkJCTx2YWwgbz0iNzVjNTciIHY9IjExOC40ODUiLz4KKwkJCQkJPHZhbCBvPSI3NmE2MyIgdj0iMTE3Ljg4OSIvPgorCQkJCQk8dmFsIG89Ijc3ODczIiB2PSIxMTcuOTQ2Ii8+CisJCQkJCTx2YWwgbz0iNzg2ODAiIHY9IjExMy42MTEiLz4KKwkJCQkJPHZhbCBvPSI3OTQ4ZiIgdj0iMTE2LjU4MyIvPgorCQkJCQk8dmFsIG89IjdhMjlmIiB2PSIxMTkuMzA2Ii8+CisJCQkJCTx2YWwgbz0iN2IwYWYiIHY9IjExOC44MDIiLz4KKwkJCQkJPHZhbCBvPSI3YmViZiIgdj0iMTIwLjc5OSIvPgorCQkJCQk8dmFsIG89IjdjY2NmIiB2PSIxMjAuODU3Ii8+CisJCQkJCTx2YWwgbz0iN2RhZGYiIHY9IjEyMS41OTQiLz4KKwkJCQkJPHZhbCBvPSI3ZThmYSIgdj0iMTIxLjQyMSIvPgorCQkJCQk8dmFsIG89IjdmNzBhIiB2PSIxMjMuNzQiLz4KKwkJCQkJPHZhbCBvPSI4MDUxYSIgdj0iMTI1LjE4OSIvPgorCQkJCQk8dmFsIG89IjgxMzJhIiB2PSIxMjUuNjczIi8+CisJCQkJCTx2YWwgbz0iODIxM2EiIHY9IjEyNC43NzciLz4KKwkJCQkJPHZhbCBvPSI4MmY0YSIgdj0iMTIyLjQzMiIvPgorCQkJCQk8dmFsIG89IjgzZDVhIiB2PSIxMjAuMDExIi8+CisJCQkJCTx2YWwgbz0iODRiNmEiIHY9IjExOC42MjIiLz4KKwkJCQkJPHZhbCBvPSI4NTk3YSIgdj0iMTE4LjU1OSIvPgorCQkJCQk8dmFsIG89Ijg2NzhiIiB2PSIxMTcuNTI0Ii8+CisJCQkJCTx2YWwgbz0iODc1OWIiIHY9IjExNy4yNTciLz4KKwkJCQkJPHZhbCBvPSI4ODNhYyIgdj0iMTE5LjkwOSIvPgorCQkJCQk8dmFsIG89Ijg5MWJiIiB2PSIxMjAuOTIxIi8+CisJCQkJCTx2YWwgbz0iODlmY2EiIHY9IjExOS45NiIvPgorCQkJCQk8dmFsIG89IjhhZGRhIiB2PSIxMTguNDgxIi8+CisJCQkJCTx2YWwgbz0iOGJiZWIiIHY9IjExOC42MDUiLz4KKwkJCQkJPHZhbCBvPSI4YzlmYyIgdj0iMTE4LjI4MiIvPgorCQkJCQk8dmFsIG89IjhkODBiIiB2PSIxMTguNjYzIi8+CisJCQkJCTx2YWwgbz0iOGU2MWEiIHY9IjExNy4wMDkiLz4KKwkJCQkJPHZhbCBvPSI4ZjQyYSIgdj0iMTE3Ljc2NiIvPgorCQkJCQk8dmFsIG89IjkwMjNhIiB2PSIxMTkuNzIyIi8+CisJCQkJCTx2YWwgbz0iOTEwNGEiIHY9IjEyMC4yOTkiLz4KKwkJCQkJPHZhbCBvPSI5MWU1YSIgdj0iMTE4LjM2NiIvPgorCQkJCQk8dmFsIG89IjkyYzZhIiB2PSIxMjIuNTI5Ii8+CisJCQkJCTx2YWwgbz0iOTNhODQiIHY9IjEyNC44MzMiLz4KKwkJCQkJPHZhbCBvPSI5NDg4NSIgdj0iMTIzLjA2Ii8+CisJCQkJCTx2YWwgbz0iOTU2OTQiIHY9IjEyMi4zOTYiLz4KKwkJCQkJPHZhbCBvPSI5NjRhNSIgdj0iMTIyLjc5MiIvPgorCQkJCQk8dmFsIG89Ijk3MmI0IiB2PSIxMjIuMjMyIi8+CisJCQkJCTx2YWwgbz0iOTgwYzUiIHY9IjExOS43OSIvPgorCQkJCQk8dmFsIG89Ijk4ZWQ0IiB2PSIxMjIuODYiLz4KKwkJCQkJPHZhbCBvPSI5OWNlNSIgdj0iMTE5LjAxMiIvPgorCQkJCQk8dmFsIG89IjlhYWY1IiB2PSIxMTguMzIxIi8+CisJCQkJCTx2YWwgbz0iOWI5MDYiIHY9IjExNS40NTYiLz4KKwkJCQkJPHZhbCBvPSI5YzcxNiIgdj0iMTE5LjM3NCIvPgorCQkJCQk8dmFsIG89IjlkNTI2IiB2PSIxMjAuMzQ0Ii8+CisJCQkJCTx2YWwgbz0iOWUzMzYiIHY9IjExOS4yNTQiLz4KKwkJCQkJPHZhbCBvPSI5ZjE0NSIgdj0iMTE3LjgzIi8+CisJCQkJCTx2YWwgbz0iOWZmNTYiIHY9IjExNy4wMDEiLz4KKwkJCQkJPHZhbCBvPSJhMGQ2NSIgdj0iMTE2Ljc4MiIvPgorCQkJCQk8dmFsIG89ImExYjc3IiB2PSIxMTYuODAzIi8+CisJCQkJCTx2YWwgbz0iYTI5ODYiIHY9IjExOC43NSIvPgorCQkJCQk8dmFsIG89ImEzNzk1IiB2PSIxMTguMzU4Ii8+CisJCQkJCTx2YWwgbz0iYTQ1YTciIHY9IjExOS40OTMiLz4KKwkJCQkJPHZhbCBvPSJhNTNiNiIgdj0iMTE5LjY5OCIvPgorCQkJCQk8dmFsIG89ImE2MWM3IiB2PSIxMTkuOTA4Ii8+CisJCQkJCTx2YWwgbz0iYTZmZDYiIHY9IjEyMC42NzUiLz4KKwkJCQkJPHZhbCBvPSJhN2UwMCIgdj0iMTIyLjc1NCIvPgorCQkJCQk8dmFsIG89ImE4YzAwIiB2PSIxMjUuMzg1Ii8+CisJCQkJCTx2YWwgbz0iYTlhMDUiIHY9IjExOC4yMTQiLz4KKwkJCQkJPHZhbCBvPSJhYTgxNSIgdj0iMTE5LjMyOSIvPgorCQkJCQk8dmFsIG89ImFiNjI1IiB2PSIxMjAuMTEiLz4KKwkJCQkJPHZhbCBvPSJhYzQzNSIgdj0iMTE5LjY4OSIvPgorCQkJCQk8dmFsIG89ImFkMjQ1IiB2PSIxMTcuMTIiLz4KKwkJCQkJPHZhbCBvPSJhZTA1NSIgdj0iMTE0LjcyOSIvPgorCQkJCQk8dmFsIG89ImFlZTY1IiB2PSIxMjAuODcxIi8+CisJCQkJCTx2YWwgbz0iYWZjNzUiIHY9IjExOS4xNzciLz4KKwkJCQkJPHZhbCBvPSJiMGE4NSIgdj0iMTE2LjY5OSIvPgorCQkJCQk8dmFsIG89ImIyNmE2IiB2PSIxMTYuNzY4Ii8+CisJCQkJCTx2YWwgbz0iYjM0YjYiIHY9IjExOC4wNzUiLz4KKwkJCQkJPHZhbCBvPSJiNDJjNiIgdj0iMTE1LjU3MSIvPgorCQkJCQk8dmFsIG89ImI1MGQ2IiB2PSIxMTUuODY3Ii8+CisJCQkJCTx2YWwgbz0iYjVlZTciIHY9IjExNC4zMDkiLz4KKwkJCQkJPHZhbCBvPSJiNmNmNiIgdj0iMTIyLjc4NyIvPgorCQkJCQk8dmFsIG89ImI3YjA3IiB2PSIxMTguOTA0Ii8+CisJCQkJCTx2YWwgbz0iYjg5MTciIHY9IjExOC41MzEiLz4KKwkJCQkJPHZhbCBvPSJiOTcyOCIgdj0iMTE5LjQzOCIvPgorCQkJCQk8dmFsIG89ImJhNTM3IiB2PSIxMjAuOTA4Ii8+CisJCQkJCTx2YWwgbz0iYmIzNDciIHY9IjExOS44NDQiLz4KKwkJCQkJPHZhbCBvPSJiYzE1NyIgdj0iMTIwLjU3NSIvPgorCQkJCQk8dmFsIG89ImJjZjY3IiB2PSIxMjMuMjEyIi8+CisJCQkJCTx2YWwgbz0iYmRkODEiIHY9IjExOC43MTIiLz4KKwkJCQkJPHZhbCBvPSJiZWI4NiIgdj0iMTE4LjMxNiIvPgorCQkJCQk8dmFsIG89ImJmOTk1IiB2PSIxMTguODU5Ii8+CisJCQkJCTx2YWwgbz0iYzA3YTYiIHY9IjEyMC4wOTIiLz4KKwkJCQkJPHZhbCBvPSJjMTViNSIgdj0iMTE5LjUzMiIvPgorCQkJCQk8dmFsIG89ImMyM2M2IiB2PSIxMTguMTc5Ii8+CisJCQkJCTx2YWwgbz0iYzMxZDUiIHY9IjExNS43MzEiLz4KKwkJCQkJPHZhbCBvPSJjM2ZlNiIgdj0iMTE3LjY3MSIvPgorCQkJCQk8dmFsIG89ImM0ZGY1IiB2PSIxMTYuMDQ2Ii8+CisJCQkJCTx2YWwgbz0iYzVjMDYiIHY9IjExNy40MTYiLz4KKwkJCQkJPHZhbCBvPSJjNmExNiIgdj0iMTE3LjU3OCIvPgorCQkJCQk8dmFsIG89ImM3ODI2IiB2PSIxMTYuNzU4Ii8+CisJCQkJCTx2YWwgbz0iYzg2MzYiIHY9IjExOC4zMTkiLz4KKwkJCQkJPHZhbCBvPSJjOTQ0NiIgdj0iMTE4LjM1NSIvPgorCQkJCQk8dmFsIG89ImNhMjU2IiB2PSIxMTguMTM2Ii8+CisJCQkJCTx2YWwgbz0iY2IwNjYiIHY9IjExNy4yMjUiLz4KKwkJCQkJPHZhbCBvPSJjYmU3NiIgdj0iMTIyLjY1OSIvPgorCQkJCQk8dmFsIG89ImNjYzg3IiB2PSIxMTguNTQ3Ii8+CisJCQkJCTx2YWwgbz0iY2RhOTYiIHY9IjExNi42MzUiLz4KKwkJCQkJPHZhbCBvPSJjZThhOCIgdj0iMTE4LjEwNSIvPgorCQkJCQk8dmFsIG89ImNmNmI3IiB2PSIxMTguNTAzIi8+CisJCQkJCTx2YWwgbz0iZDA0YzgiIHY9IjExOS41NDciLz4KKwkJCQkJPHZhbCBvPSJkMTJkNyIgdj0iMTIxLjQiLz4KKwkJCQkJPHZhbCBvPSJkMjBlNyIgdj0iMTIzLjM5NiIvPgorCQkJCQk8dmFsIG89ImQyZjAyIiB2PSIxMjYuMDY4Ii8+CisJCQkJCTx2YWwgbz0iZDNkMDUiIHY9IjExOS4zMyIvPgorCQkJCQk8dmFsIG89ImQ0YjE1IiB2PSIxMjAuNTI0Ii8+CisJCQkJCTx2YWwgbz0iZDU5MjYiIHY9IjEyMC43NDIiLz4KKwkJCQkJPHZhbCBvPSJkNjczNSIgdj0iMTE5LjU0OCIvPgorCQkJCQk8dmFsIG89ImQ3NTQ2IiB2PSIxMTcuMzU4Ii8+CisJCQkJCTx2YWwgbz0iZDgzNTUiIHY9IjEyNC4yNjciLz4KKwkJCQkJPHZhbCBvPSJkOTE2NiIgdj0iMTIyLjM4OCIvPgorCQkJCQk8dmFsIG89ImQ5Zjc1IiB2PSIxMjAuNzc0Ii8+CisJCQkJCTx2YWwgbz0iZGFkODciIHY9IjExNy4zNDUiLz4KKwkJCQkJPHZhbCBvPSJkYmI5NyIgdj0iMTE2LjY5OCIvPgorCQkJCQk8dmFsIG89ImRjOWE4IiB2PSIxMTYuNzk4Ii8+CisJCQkJCTx2YWwgbz0iZGQ3YjciIHY9IjExOC4yMTkiLz4KKwkJCQkJPHZhbCBvPSJkZTVjNiIgdj0iMTE3Ljg3OSIvPgorCQkJCQk8dmFsIG89ImRmM2Q3IiB2PSIxMTcuMjg3Ii8+CisJCQkJCTx2YWwgbz0iZTAxZDciIHY9IjExNy40MiIvPgorCQkJCQk8dmFsIG89ImUwZmU1IiB2PSIxMTYuNzk4Ii8+CisJCQkJCTx2YWwgbz0iZTFkZjUiIHY9IjExNy4xODQiLz4KKwkJCQkJPHZhbCBvPSJlMmMwNCIgdj0iMTE5LjY2NSIvPgorCQkJCQk8dmFsIG89ImUzYTE0IiB2PSIxMjEuMDMzIi8+CisJCQkJCTx2YWwgbz0iZTQ4MjQiIHY9IjEyMC44MzkiLz4KKwkJCQkJPHZhbCBvPSJlNTYzNCIgdj0iMTIyLjQ1NiIvPgorCQkJCQk8dmFsIG89ImU2NDQ0IiB2PSIxMjAuNTM0Ii8+CisJCQkJCTx2YWwgbz0iZTcyNTUiIHY9IjEyMi43NjYiLz4KKwkJCQkJPHZhbCBvPSJlODA2ZiIgdj0iMTIzLjczNSIvPgorCQkJCQk8dmFsIG89ImU4ZTdmIiB2PSIxMTYuNjU0Ii8+CisJCQkJCTx2YWwgbz0iZTljOGUiIHY9IjExOC4xMTEiLz4KKwkJCQkJPHZhbCBvPSJlYWE5ZiIgdj0iMTE4LjQ0MSIvPgorCQkJCQk8dmFsIG89ImViOGFlIiB2PSIxMTcuNDYzIi8+CisJCQkJCTx2YWwgbz0iZWM2YmYiIHY9IjExMy41NDkiLz4KKwkJCQkJPHZhbCBvPSJlZDRjZSIgdj0iMTIzLjU5NiIvPgorCQkJCQk8dmFsIG89ImVlMmRmIiB2PSIxMjAuNzA5Ii8+CisJCQkJCTx2YWwgbz0iZWYwZWYiIHY9IjExOC45NCIvPgorCQkJCQk8dmFsIG89ImVmZjAxIiB2PSIxMTYuMDAyIi8+CisJCQkJCTx2YWwgbz0iZjBkMTAiIHY9IjExNy43NDEiLz4KKwkJCQkJPHZhbCBvPSJmMWIyMCIgdj0iMTE3LjQ5Ii8+CisJCQkJCTx2YWwgbz0iZjI5MzAiIHY9IjEyMS40MzMiLz4KKwkJCQkJPHZhbCBvPSJmMzc0MCIgdj0iMTE3LjczNSIvPgorCQkJCQk8dmFsIG89ImY0NTUxIiB2PSIxMTguMTY1Ii8+CisJCQkJCTx2YWwgbz0iZjUzNjEiIHY9IjExNy44MzkiLz4KKwkJCQkJPHZhbCBvPSJmNjE3MiIgdj0iMTE3LjY4NSIvPgorCQkJCQk8dmFsIG89ImY2ZjgwIiB2PSIxMTcuNTE4Ii8+CisJCQkJCTx2YWwgbz0iZjdkOTEiIHY9IjExOS4zODUiLz4KKwkJCQkJPHZhbCBvPSJmOGJhMSIgdj0iMTIxLjIwMiIvPgorCQkJCQk8dmFsIG89ImY5OWIxIiB2PSIxMjAuMjU0Ii8+CisJCQkJCTx2YWwgbz0iZmE3YzAiIHY9IjExOC4zMzYiLz4KKwkJCQkJPHZhbCBvPSJmYjVkMSIgdj0iMTE4LjI2NyIvPgorCQkJCQk8dmFsIG89ImZjM2UwIiB2PSIxMjMuMDg4Ii8+CisJCQkJCTx2YWwgbz0iZmQxZmIiIHY9IjEyMy4xODMiLz4KKwkJCQkJPHZhbCBvPSJmZTAwYiIgdj0iMTI2LjM3NyIvPgorCQkJCQk8dmFsIG89ImZlZTFjIiB2PSIxMjMuNzcyIi8+CisJCQkJCTx2YWwgbz0iZmZjMmMiIHY9IjEyMy42MzQiLz4KKwkJCQkJPHZhbCBvPSIxMDBhM2IiIHY9IjEyMy4wMDgiLz4KKwkJCQkJPHZhbCBvPSIxMDE4NGMiIHY9IjEyMS4zODIiLz4KKwkJCQkJPHZhbCBvPSIxMDI2NWIiIHY9IjExNy42OTYiLz4KKwkJCQkJPHZhbCBvPSIxMDM0NmMiIHY9IjExNy45MDEiLz4KKwkJCQkJPHZhbCBvPSIxMDQyN2IiIHY9IjExOS40MDQiLz4KKwkJCQkJPHZhbCBvPSIxMDUwOGQiIHY9IjExNy42NDYiLz4KKwkJCQkJPHZhbCBvPSIxMDVlOWQiIHY9IjExOC4xNDciLz4KKwkJCQkJPHZhbCBvPSIxMDZjYWQiIHY9IjExNy44MDIiLz4KKwkJCQkJPHZhbCBvPSIxMDdhYmQiIHY9IjEyMC4xNTEiLz4KKwkJCQkJPHZhbCBvPSIxMDg4Y2QiIHY9IjExOS43MzMiLz4KKwkJCQkJPHZhbCBvPSIxMDk2ZGUiIHY9IjExOS4wOTYiLz4KKwkJCQkJPHZhbCBvPSIxMGE0ZWQiIHY9IjExOS4yOTEiLz4KKwkJCQkJPHZhbCBvPSIxMGIyZmUiIHY9IjExOC45NzMiLz4KKwkJCQkJPHZhbCBvPSIxMGMxMGQiIHY9IjExNi4zMzYiLz4KKwkJCQkJPHZhbCBvPSIxMGNmMWUiIHY9IjExOC4xNzEiLz4KKwkJCQkJPHZhbCBvPSIxMGRkMmUiIHY9IjExOS4wODIiLz4KKwkJCQkJPHZhbCBvPSIxMGViNjYiIHY9IjEyMC45NTMiLz4KKwkJCQkJPHZhbCBvPSIxMGY5NGUiIHY9IjEyMS40MSIvPgorCQkJCQk8dmFsIG89IjExMDc1ZSIgdj0iMTE5LjA4OCIvPgorCQkJCQk8dmFsIG89IjExMTU2ZCIgdj0iMTIwLjk0MSIvPgorCQkJCQk8dmFsIG89IjExMjM4OCIgdj0iMTIzLjY5OSIvPgorCQkJCQk8dmFsIG89IjExMzE4NyIgdj0iMTIyLjQ4Ii8+CisJCQkJCTx2YWwgbz0iMTEzZmIwIiB2PSIxMjMuMzc4Ii8+CisJCQkJCTx2YWwgbz0iMTE0ZGE2IiB2PSIxMjMuMzEyIi8+CisJCQkJCTx2YWwgbz0iMTE1YmI2IiB2PSIxMjMuMjE3Ii8+CisJCQkJCTx2YWwgbz0iMTE2OWM2IiB2PSIxMjAuOTYxIi8+CisJCQkJCTx2YWwgbz0iMTE3N2Q2IiB2PSIxMTguMDc2Ii8+CisJCQkJCTx2YWwgbz0iMTE4NWU4IiB2PSIxMTguNTczIi8+CisJCQkJCTx2YWwgbz0iMTE5M2Y3IiB2PSIxMTcuOTc4Ii8+CisJCQkJCTx2YWwgbz0iMTFhMjA4IiB2PSIxMjAuMDE5Ii8+CisJCQkJCTx2YWwgbz0iMTFiMDE3IiB2PSIxMjEuNjYyIi8+CisJCQkJCTx2YWwgbz0iMTFiZTJmIiB2PSIxMjIuMjY4Ii8+CisJCQkJCTx2YWwgbz0iMTFjYzM3IiB2PSIxMjIuMzE3Ii8+CisJCQkJCTx2YWwgbz0iMTFkYTQ3IiB2PSIxMjEuOTM0Ii8+CisJCQkJCTx2YWwgbz0iMTFlODU3IiB2PSIxMjAuNzc2Ii8+CisJCQkJCTx2YWwgbz0iMTFmNjY3IiB2PSIxMjEuODg5Ii8+CisJCQkJCTx2YWwgbz0iMTIwNTc4IiB2PSIxMjEuMDY0Ii8+CisJCQkJCTx2YWwgbz0iMTIxMzg2IiB2PSIxMTYuODI0Ii8+CisJCQkJCTx2YWwgbz0iMTIyMTk2IiB2PSIxMTcuNTU2Ii8+CisJCQkJCTx2YWwgbz0iMTIyZmE2IiB2PSIxMTguNzg0Ii8+CisJCQkJCTx2YWwgbz0iMTIzZGI1IiB2PSIxMjAuNzciLz4KKwkJCQkJPHZhbCBvPSIxMjRiYzUiIHY9IjEyMi41NjUiLz4KKwkJCQkJPHZhbCBvPSIxMjU5ZDUiIHY9IjEyMC4yNjMiLz4KKwkJCQkJPHZhbCBvPSIxMjY3ZTQiIHY9IjEyMi43MjkiLz4KKwkJCQkJPHZhbCBvPSIxMjc2MDAiIHY9IjEyNC41NjEiLz4KKwkJCQkJPHZhbCBvPSIxMjgzMDUiIHY9IjEyNS4yMzciLz4KKwkJCQkJPHZhbCBvPSIxMjkxMTUiIHY9IjEyNS4zNDQiLz4KKwkJCQkJPHZhbCBvPSIxMjlmMjUiIHY9IjEyNS40OTIiLz4KKwkJCQkJPHZhbCBvPSIxMmFkMzUiIHY9IjEyNC42NyIvPgorCQkJCQk8dmFsIG89IjEyYmI0NSIgdj0iMTIyLjgxOSIvPgorCQkJCQk8dmFsIG89IjEyYzk1NCIgdj0iMTIxLjcxMyIvPgorCQkJCQk8dmFsIG89IjEyZDc2NiIgdj0iMTIwLjg4MyIvPgorCQkJCQk8dmFsIG89IjEyZTU3NSIgdj0iMTE5Ljg1Ii8+CisJCQkJCTx2YWwgbz0iMTJmMzg2IiB2PSIxMTcuMTc2Ii8+CisJCQkJCTx2YWwgbz0iMTMwMTk2IiB2PSIxMTcuNDQ3Ii8+CisJCQkJCTx2YWwgbz0iMTMwZmE2IiB2PSIxMTguNjc5Ii8+CisJCQkJCTx2YWwgbz0iMTMxZGI3IiB2PSIxMjAuMDE2Ii8+CisJCQkJCTx2YWwgbz0iMTMyYmM1IiB2PSIxMTkuOTU5Ii8+CisJCQkJCTx2YWwgbz0iMTMzOWQ0IiB2PSIwLjEwOSIvPgorCQkJCQk8dmFsIG89IjEzNDdlNSIgdj0iMC4xMDkiLz4KKwkJCQkJPHZhbCBvPSIxMzU1ZjQiIHY9IjAuMTA4Ii8+CisJCQkJCTx2YWwgbz0iMTM2NDA0IiB2PSIwLjEwNiIvPgorCQkJCQk8dmFsIG89IjEzNzIxNCIgdj0iMC4xMDYiLz4KKwkJCQkJPHZhbCBvPSIxMzgwMjQiIHY9IjAuMTA2Ii8+CisJCQkJCTx2YWwgbz0iMTM4ZTMzIiB2PSIwLjEwOCIvPgorCQkJCQk8dmFsIG89IjEzOWM0NCIgdj0iMC4xMDkiLz4KKwkJCQkJPHZhbCBvPSIxM2FhNTQiIHY9IjAuMTA4Ii8+CisJCQkJCTx2YWwgbz0iMTNiODY1IiB2PSIwLjEwOSIvPgorCQkJCQk8dmFsIG89IjEzYzY3ZSIgdj0iMC4xMDEiLz4KKwkJCQkJPHZhbCBvPSIxM2Q0OGUiIHY9IjAuMTA0Ii8+CisJCQkJCTx2YWwgbz0iMTNlMjllIiB2PSIwLjEwNiIvPgorCQkJCQk8dmFsIG89IjEzZjBhZSIgdj0iMC4xMDYiLz4KKwkJCQkJPHZhbCBvPSIxM2ZlYmYiIHY9IjAuMTA0Ii8+CisJCQkJCTx2YWwgbz0iMTQwY2NmIiB2PSIwLjEwMiIvPgorCQkJCQk8dmFsIG89IjE0MWFkZiIgdj0iMC4xMDQiLz4KKwkJCQkJPHZhbCBvPSIxNDI4ZWYiIHY9IjAuMTA4Ii8+CisJCQkJCTx2YWwgbz0iMTQzNmZmIiB2PSIwLjEwNyIvPgorCQkJCQk8dmFsIG89IjE0NDUwZiIgdj0iMC4xMDciLz4KKwkJCQkJPHZhbCBvPSIxNDUzMWYiIHY9IjAuMTA3Ii8+CisJCQkJCTx2YWwgbz0iMTQ2MTMwIiB2PSIwLjEwOCIvPgorCQkJCQk8dmFsIG89IjE0NmY0MCIgdj0iMC4xMSIvPgorCQkJCQk8dmFsIG89IjE0N2Q0NCIgdj0iMC4xMDgiLz4KKwkJCQkJPHZhbCBvPSIxNDhiNTciIHY9IjAuMTA4Ii8+CisJCQkJCTx2YWwgbz0iMTQ5OTY1IiB2PSIwLjEwOCIvPgorCQkJCQk8dmFsIG89IjE0YTc3NSIgdj0iMC4xMDYiLz4KKwkJCQkJPHZhbCBvPSIxNGI1ODQiIHY9IjAuMTEiLz4KKwkJCQkJPHZhbCBvPSIxNGMzOTciIHY9IjAuMTA2Ii8+CisJCQkJCTx2YWwgbz0iMTRkMWE0IiB2PSIwLjEwNyIvPgorCQkJCQk8dmFsIG89IjE0ZGZiNiIgdj0iMC4xMDgiLz4KKwkJCQkJPHZhbCBvPSIxNGVkYzUiIHY9IjAuMTEiLz4KKwkJCQkJPHZhbCBvPSIxNGZiZDUiIHY9IjAuMTEyIi8+CisJCQkJCTx2YWwgbz0iMTUwOWU1IiB2PSIwLjExMiIvPgorCQkJCQk8dmFsIG89IjE1MTdmZiIgdj0iMC4xMTUiLz4KKwkJCQkJPHZhbCBvPSIxNTI2MDUiIHY9IjAuMTA3Ii8+CisJCQkJCTx2YWwgbz0iMTUzNDE1IiB2PSIwLjEwOSIvPgorCQkJCQk8dmFsIG89IjE1NDIyNSIgdj0iMC4xMSIvPgorCQkJCQk8dmFsIG89IjE1NTAzNSIgdj0iMC4xMDkiLz4KKwkJCQkJPHZhbCBvPSIxNTVlNDUiIHY9IjAuMTA3Ii8+CisJCQkJCTx2YWwgbz0iMTU2YzU1IiB2PSIwLjEwNCIvPgorCQkJCQk8dmFsIG89IjE1N2E2NSIgdj0iMC4xMDciLz4KKwkJCQkJPHZhbCBvPSIxNTg4NzUiIHY9IjAuMTA3Ii8+CisJCQkJCTx2YWwgbz0iMTU5Njg2IiB2PSIwLjEwNiIvPgorCQkJCQk8dmFsIG89IjE1YTQ5NSIgdj0iMC4xMDciLz4KKwkJCQkJPHZhbCBvPSIxNWIyYTYiIHY9IjAuMTA4Ii8+CisJCQkJCTx2YWwgbz0iMTVjMGI2IiB2PSIwLjEwOSIvPgorCQkJCQk8dmFsIG89IjE1Y2VjNiIgdj0iMC4xMDkiLz4KKwkJCQkJPHZhbCBvPSIxNWRjZDUiIHY9IjAuMTA5Ii8+CisJCQkJCTx2YWwgbz0iMTVlYWU2IiB2PSIwLjEwOCIvPgorCQkJCQk8dmFsIG89IjE1ZjhmNSIgdj0iMC4xMDQiLz4KKwkJCQkJPHZhbCBvPSIxNjA3MDYiIHY9IjAuMTEiLz4KKwkJCQkJPHZhbCBvPSIxNjE1MTciIHY9IjAuMTA5Ii8+CisJCQkJCTx2YWwgbz0iMTYyMzI2IiB2PSIwLjExIi8+CisJCQkJCTx2YWwgbz0iMTYzMTM3IiB2PSIwLjExMSIvPgorCQkJCQk8dmFsIG89IjE2M2Y0NiIgdj0iMC4xMDkiLz4KKwkJCQkJPHZhbCBvPSIxNjRkNTciIHY9IjAuMTEiLz4KKwkJCQkJPHZhbCBvPSIxNjViNjciIHY9IjAuMTEyIi8+CisJCQkJCTx2YWwgbz0iMTY2OTgyIiB2PSIwLjExMSIvPgorCQkJCQk8dmFsIG89IjE2Nzc4NiIgdj0iMC4xMTIiLz4KKwkJCQkJPHZhbCBvPSIxNjg1OTYiIHY9IjAuMTEyIi8+CisJCQkJCTx2YWwgbz0iMTY5M2E2IiB2PSIwLjExMyIvPgorCQkJCQk8dmFsIG89IjE2YTFiNSIgdj0iMC4xMTIiLz4KKwkJCQkJPHZhbCBvPSIxNmFmYzYiIHY9IjAuMTEiLz4KKwkJCQkJPHZhbCBvPSIxNmJkZDUiIHY9IjAuMTA4Ii8+CisJCQkJCTx2YWwgbz0iMTZjYmU2IiB2PSIwLjEwNyIvPgorCQkJCQk8dmFsIG89IjE2ZDlmNiIgdj0iMC4xMTIiLz4KKwkJCQkJPHZhbCBvPSIxNmU4MDciIHY9IjAuMTEiLz4KKwkJCQkJPHZhbCBvPSIxNmY2MTYiIHY9IjAuMTEiLz4KKwkJCQkJPHZhbCBvPSIxNzA0MjkiIHY9IjAuMTExIi8+CisJCQkJCTx2YWwgbz0iMTcxMjM2IiB2PSIwLjExMiIvPgorCQkJCQk8dmFsIG89IjE3MjA0NyIgdj0iMC4xMTIiLz4KKwkJCQkJPHZhbCBvPSIxNzJlNTciIHY9IjAuMTExIi8+CisJCQkJCTx2YWwgbz0iMTczYzY3IiB2PSIwLjExMSIvPgorCQkJCQk8dmFsIG89IjE3NGE3NyIgdj0iMC4xMSIvPgorCQkJCQk8dmFsIG89IjE3NTg4NyIgdj0iMC4xMDgiLz4KKwkJCQkJPHZhbCBvPSIxNzY2OTQiIHY9IjExNy44NCIvPgorCQkJCQk8dmFsIG89IjE3NzRhMyIgdj0iMTE5LjE5OSIvPgorCQkJCQk8dmFsIG89IjE3ODJiMyIgdj0iMTIwLjIyNiIvPgorCQkJCQk8dmFsIG89IjE3OTBjNSIgdj0iMTIwLjkyNCIvPgorCQkJCQk8dmFsIG89IjE3OWVkNCIgdj0iMTI0LjAzOCIvPgorCQkJCQk8dmFsIG89IjE3YWNlNCIgdj0iMTI2Ljc0NyIvPgorCQkJCQk8dmFsIG89IjE3YmFmZCIgdj0iMTI4LjM2NCIvPgorCQkJCQk8dmFsIG89IjE3YzkwZiIgdj0iMTI2LjU1Ii8+CisJCQkJCTx2YWwgbz0iMTdkNzFlIiB2PSIxMjYuNTIyIi8+CisJCQkJCTx2YWwgbz0iMTdlNTJmIiB2PSIxMjYuODkzIi8+CisJCQkJCTx2YWwgbz0iMTdmMzNmIiB2PSIxMjYuMTE0Ii8+CisJCQkJCTx2YWwgbz0iMTgwMTRmIiB2PSIxMjQuMjE5Ii8+CisJCQkJCTx2YWwgbz0iMTgwZjVmIiB2PSIxMjMuNjkxIi8+CisJCQkJCTx2YWwgbz0iMTgxZDZlIiB2PSIxMjQuNzIzIi8+CisJCQkJCTx2YWwgbz0iMTgyYjdmIiB2PSIxMjQuNjY3Ii8+CisJCQkJCTx2YWwgbz0iMTgzOThmIiB2PSIxMjMuNjY2Ii8+CisJCQkJCTx2YWwgbz0iMTg0N2ExIiB2PSIxMjMuMzM3Ii8+CisJCQkJCTx2YWwgbz0iMTg1NWFmIiB2PSIxMjQuMDQyIi8+CisJCQkJCTx2YWwgbz0iMTg2M2MwIiB2PSIxMjUuOTIiLz4KKwkJCQkJPHZhbCBvPSIxODcxY2YiIHY9IjEyNS4xNDQiLz4KKwkJCQkJPHZhbCBvPSIxODdmZTAiIHY9IjEyNC43NjkiLz4KKwkJCQkJPHZhbCBvPSIxODhkZWYiIHY9IjEyNC41NDkiLz4KKwkJCQkJPHZhbCBvPSIxODljMDAiIHY9IjEyMy40ODMiLz4KKwkJCQkJPHZhbCBvPSIxOGI4MGQiIHY9IjExNi42MyIvPgorCQkJCQk8dmFsIG89IjE4YzYxYyIgdj0iMTIwLjQ2MSIvPgorCQkJCQk8dmFsIG89IjE4ZDQyYyIgdj0iMTIxLjIyOCIvPgorCQkJCQk8dmFsIG89IjE4ZTIzYiIgdj0iMTIxLjE1NCIvPgorCQkJCQk8dmFsIG89IjE4ZjA0YiIgdj0iMTIzLjQwOSIvPgorCQkJCQk8dmFsIG89IjE4ZmU1ZSIgdj0iMTI1LjQwMyIvPgorCQkJCQk8dmFsIG89IjE5MGM3NiIgdj0iMTIyLjcxNiIvPgorCQkJCQk8dmFsIG89IjE5MWE4NiIgdj0iMTI0LjM4NSIvPgorCQkJCQk8dmFsIG89IjE5Mjg5NiIgdj0iMTI2LjA0NiIvPgorCQkJCQk8dmFsIG89IjE5MzZhNiIgdj0iMTI2LjE2NiIvPgorCQkJCQk8dmFsIG89IjE5NDRiNyIgdj0iMTI1LjI2Ii8+CisJCQkJCTx2YWwgbz0iMTk1MmM2IiB2PSIxMjMuMjkiLz4KKwkJCQkJPHZhbCBvPSIxOTYwZDciIHY9IjEyMC40OTkiLz4KKwkJCQkJPHZhbCBvPSIxOTZlZTYiIHY9IjEyMC43MDUiLz4KKwkJCQkJPHZhbCBvPSIxOTdjZjgiIHY9IjEyMC40OTIiLz4KKwkJCQkJPHZhbCBvPSIxOThiMGYiIHY9IjExOS45OTYiLz4KKwkJCQkJPHZhbCBvPSIxOTk5MWYiIHY9IjEyMC4yNjUiLz4KKwkJCQkJPHZhbCBvPSIxOWI1NDEiIHY9IjEyMi4yMzIiLz4KKwkJCQkJPHZhbCBvPSIxOWMzNGQiIHY9IjEyMS40OSIvPgorCQkJCQk8dmFsIG89IjE5ZDE1ZSIgdj0iMTIwLjcwNCIvPgorCQkJCQk8dmFsIG89IjE5ZGY4MCIgdj0iMTIwLjYxNCIvPgorCQkJCQk8dmFsIG89IjE5ZWQ5MCIgdj0iMTE5LjgzOSIvPgorCQkJCQk8dmFsIG89IjE5ZWViZSIgdj0iMTE5LjY4NSIvPgorCQkJCQk8dmFsIG89IjE5ZmI4ZSIgdj0iMTE1LjU5MyIvPgorCQkJCQk8dmFsIG89IjFhMDlhMCIgdj0iMTE4Ljg2Ii8+CisJCQkJCTx2YWwgbz0iMWExN2FlIiB2PSIxMTkuOTciLz4KKwkJCQkJPHZhbCBvPSIxYTI1YmUiIHY9IjEyMS4zNjkiLz4KKwkJCQkJPHZhbCBvPSIxYTMzY2QiIHY9IjEyMS4wOTYiLz4KKwkJCQkJPHZhbCBvPSIxYTQxZGQiIHY9IjEyMi40NTEiLz4KKwkJCQkJPHZhbCBvPSIxYTRmZWQiIHY9IjEyNS43NjUiLz4KKwkJCQkJPHZhbCBvPSIxYTVlMDgiIHY9IjEyNi4zMDIiLz4KKwkJCQkJPHZhbCBvPSIxYTZjMDUiIHY9IjEyNC40OTUiLz4KKwkJCQkJPHZhbCBvPSIxYTdhMTUiIHY9IjEyNS42NTkiLz4KKwkJCQkJPHZhbCBvPSIxYTg4MjYiIHY9IjEyNS43NzMiLz4KKwkJCQkJPHZhbCBvPSIxYTk2MzciIHY9IjEyNC40NjQiLz4KKwkJCQkJPHZhbCBvPSIxYWE0NDUiIHY9IjEyMy4xNjciLz4KKwkJCQkJPHZhbCBvPSIxYWIyNTUiIHY9IjEyMS4xMzciLz4KKwkJCQkJPHZhbCBvPSIxYWMwNjUiIHY9IjEyMy42NzciLz4KKwkJCQkJPHZhbCBvPSIxYWNlNzUiIHY9IjEyMy41NjkiLz4KKwkJCQkJPHZhbCBvPSIxYWRjODciIHY9IjEyMi4yNTQiLz4KKwkJCQkJPHZhbCBvPSIxYWVhOTYiIHY9IjEyMS43OTQiLz4KKwkJCQkJPHZhbCBvPSIxYWY4YTciIHY9IjEyMi4wODgiLz4KKwkJCQkJPHZhbCBvPSIxYjA2YjciIHY9IjEyMy44NyIvPgorCQkJCQk8dmFsIG89IjFiMTRjNiIgdj0iMTIzLjU1NiIvPgorCQkJCQk8dmFsIG89IjFjNzQ2MCIgdj0iMTE5LjY4MiIvPgorCQkJCQk8dmFsIG89IjFjODI3MCIgdj0iMTE5LjY3NiIvPgorCQkJCQk8dmFsIG89IjFjOTA3ZSIgdj0iMTE4LjgyMSIvPgorCQkJCQk8dmFsIG89IjFjOWU4ZiIgdj0iMTE5LjgzNiIvPgorCQkJCQk8dmFsIG89IjFjYWNhMiIgdj0iMTIxLjE5MiIvPgorCQkJCQk8dmFsIG89IjFjYmFiMSIgdj0iMTIxLjY4NSIvPgorCQkJCQk8dmFsIG89IjFjYzhjMSIgdj0iMTE3Ljg3NCIvPgorCQkJCQk8dmFsIG89IjFjZDZkMCIgdj0iMTE4Ljc2MiIvPgorCQkJCQk8dmFsIG89IjFjZTRkZSIgdj0iMTIwLjI2MyIvPgorCQkJCQk8dmFsIG89IjFjZjJmMCIgdj0iMTIyLjQ2OCIvPgorCQkJCQk8dmFsIG89IjFkMDEwOSIgdj0iMTI0LjUzNiIvPgorCQkJCQk8dmFsIG89IjFkMGYwNiIgdj0iMTIyLjU5OCIvPgorCQkJCQk8dmFsIG89IjFkMWQxNSIgdj0iMTIzLjIiLz4KKwkJCQkJPHZhbCBvPSIxZDJiMjUiIHY9IjEyMy4yMTgiLz4KKwkJCQkJPHZhbCBvPSIxZDM5MzUiIHY9IjEyMi4yMDIiLz4KKwkJCQkJPHZhbCBvPSIxZDQ3NDUiIHY9IjEyMS40MjQiLz4KKwkJCQkJPHZhbCBvPSIxZDU1NTUiIHY9IjEyMC44ODgiLz4KKwkJCQkJPHZhbCBvPSIxZDYzNjYiIHY9IjEyMi43NDMiLz4KKwkJCQkJPHZhbCBvPSIxZDcxNzUiIHY9IjEyMy4wNzgiLz4KKwkJCQkJPHZhbCBvPSIxZDdmODYiIHY9IjEyMi4yMzciLz4KKwkJCQkJPHZhbCBvPSIxZDhkOTUiIHY9IjEyMC44NTgiLz4KKwkJCQkJPHZhbCBvPSIxZDliYTYiIHY9IjEyMS4yMzEiLz4KKwkJCQkJPHZhbCBvPSIxZGE5YjYiIHY9IjEyMi4xODUiLz4KKwkJCQkJPHZhbCBvPSIxZGI3YzciIHY9IjEyMi42NDgiLz4KKwkJCQkJPHZhbCBvPSIxZGM1ZDUiIHY9IjEyMi45OTIiLz4KKwkJCQkJPHZhbCBvPSIxZGQzZTYiIHY9IjEyMi40ODIiLz4KKwkJCQkJPHZhbCBvPSIxZGUxZjUiIHY9IjExOC43MDciLz4KKwkJCQkJPHZhbCBvPSIxZGYwMDYiIHY9IjExNy4zNjciLz4KKwkJCQkJPHZhbCBvPSIxZGZlMTYiIHY9IjExNS43MTQiLz4KKwkJCQkJPHZhbCBvPSIxZTBjMjYiIHY9IjExNy43NCIvPgorCQkJCQk8dmFsIG89IjFlMWEzNiIgdj0iMTE5LjA0OCIvPgorCQkJCQk8dmFsIG89IjFlMjg0NyIgdj0iMTIwLjE3OSIvPgorCQkJCQk8dmFsIG89IjFlMzY1OSIgdj0iMTE5Ljk0OSIvPgorCQkJCQk8dmFsIG89IjFlNDQ2NyIgdj0iMTIwLjkwNiIvPgorCQkJCQk8dmFsIG89IjFlNTI4MSIgdj0iMTE3LjI1MSIvPgorCQkJCQk8dmFsIG89IjFlNjA4NiIgdj0iMTIwLjExOCIvPgorCQkJCQk8dmFsIG89IjFlNmU5NiIgdj0iMTIxLjUyMSIvPgorCQkJCQk8dmFsIG89IjFlN2NhNiIgdj0iMTIyLjE4OCIvPgorCQkJCQk8dmFsIG89IjFlOGFiNSIgdj0iMTIyLjIxMiIvPgorCQkJCQk8dmFsIG89IjFlOThjNiIgdj0iMTIxLjUzMSIvPgorCQkJCQk8dmFsIG89IjFlYTZkNSIgdj0iMTE5Ljk4MSIvPgorCQkJCQk8dmFsIG89IjFlYjRlNiIgdj0iMTE5Ljk3NyIvPgorCQkJCQk8dmFsIG89IjFlYzJmNiIgdj0iMTIyLjkzOSIvPgorCQkJCQk8dmFsIG89IjFlZDEwNiIgdj0iMTIyLjI4OSIvPgorCQkJCQk8dmFsIG89IjFlZGYxNiIgdj0iMTIyLjA1Ii8+CisJCQkJCTx2YWwgbz0iMWVlZDI2IiB2PSIxMjIuMjcxIi8+CisJCQkJCTx2YWwgbz0iMWVmYjM2IiB2PSIxMjIuODU2Ii8+CisJCQkJCTx2YWwgbz0iMWYwOTQ2IiB2PSIxMjIuNjExIi8+CisJCQkJCTx2YWwgbz0iMWYxNzU2IiB2PSIxMjEuMTQ4Ii8+CisJCQkJCTx2YWwgbz0iMWYyNTY2IiB2PSIxMjAuODY0Ii8+CisJCQkJCTx2YWwgbz0iMWYzMzc2IiB2PSIxMTkuNjA5Ii8+CisJCQkJCTx2YWwgbz0iMWY0MTg3IiB2PSIxMTYuMTAxIi8+CisJCQkJCTx2YWwgbz0iMWY0Zjk2IiB2PSIxMTkuMTY1Ii8+CisJCQkJCTx2YWwgbz0iMWY1ZGE3IiB2PSIxMTkuMjg3Ii8+CisJCQkJCTx2YWwgbz0iMWY2YmI2IiB2PSIxMjAuMjA4Ii8+CisJCQkJCTx2YWwgbz0iMWY3OWM3IiB2PSIxMTguNzc1Ii8+CisJCQkJCTx2YWwgbz0iMWY4N2Q2IiB2PSIxMjIuMjIyIi8+CisJCQkJCTx2YWwgbz0iMWY5NWU3IiB2PSIxMjMuMjg4Ii8+CisJCQkJCTx2YWwgbz0iMWZhNDAxIiB2PSIxMjYuMDI2Ii8+CisJCQkJCTx2YWwgbz0iMWZiMjA0IiB2PSIxMjQuODI4Ii8+CisJCQkJCTx2YWwgbz0iMWZjMDE2IiB2PSIxMjUuNzY5Ii8+CisJCQkJCTx2YWwgbz0iMWZjZTI1IiB2PSIxMjUuMjE4Ii8+CisJCQkJCTx2YWwgbz0iMWZkYzM1IiB2PSIxMjQuNzk1Ii8+CisJCQkJCTx2YWwgbz0iMWZlYTQ1IiB2PSIxMjIuMzkzIi8+CisJCQkJCTx2YWwgbz0iMWZmODU1IiB2PSIxMjAuNTIzIi8+CisJCQkJCTx2YWwgbz0iMjAwNjY1IiB2PSIxMTcuMzE5Ii8+CisJCQkJCTx2YWwgbz0iMjAxNDc1IiB2PSIxMTguNzcyIi8+CisJCQkJCTx2YWwgbz0iMjAyMjg2IiB2PSIxMTguODA4Ii8+CisJCQkJCTx2YWwgbz0iMjAzMDk1IiB2PSIxMTkuNjg2Ii8+CisJCQkJCTx2YWwgbz0iMjAzZWE1IiB2PSIxMTkuOTkiLz4KKwkJCQkJPHZhbCBvPSIyMDRjYjYiIHY9IjEyMi43MDgiLz4KKwkJCQkJPHZhbCBvPSIyMDVhYzYiIHY9IjEyMC43NjIiLz4KKwkJCQkJPHZhbCBvPSIyMDY4ZDYiIHY9IjExOS45MiIvPgorCQkJCQk8dmFsIG89IjIwNzZlNiIgdj0iMTE5LjEyOSIvPgorCQkJCQk8dmFsIG89IjIwODRmNiIgdj0iMTE3LjA5MSIvPgorCQkJCQk8dmFsIG89IjIwOTMwNiIgdj0iMTIxLjIxOSIvPgorCQkJCQk8dmFsIG89IjIwYTExNiIgdj0iMTIwLjI4Ii8+CisJCQkJCTx2YWwgbz0iMjBhZjI2IiB2PSIxMTkuNjkiLz4KKwkJCQkJPHZhbCBvPSIyMGJkMzciIHY9IjEyMC42NzciLz4KKwkJCQkJPHZhbCBvPSIyMGNiNDYiIHY9IjExOC43NTYiLz4KKwkJCQkJPHZhbCBvPSIyMGQ5NTciIHY9IjExOS42MDgiLz4KKwkJCQkJPHZhbCBvPSIyMGU3NjciIHY9IjEyMS4wNTkiLz4KKwkJCQkJPHZhbCBvPSIyMGY1ODEiIHY9IjEyMy41NzMiLz4KKwkJCQkJPHZhbCBvPSIyMTAzODYiIHY9IjEyNS45NzYiLz4KKwkJCQkJPHZhbCBvPSIyMTExOTQiIHY9IjEyMy45MjYiLz4KKwkJCQkJPHZhbCBvPSIyMTFmYTUiIHY9IjEyMy44ODgiLz4KKwkJCQkJPHZhbCBvPSIyMTJkYjUiIHY9IjEyMy4wOCIvPgorCQkJCQk8dmFsIG89IjIxM2JjNSIgdj0iMTIxLjY5Ii8+CisJCQkJCTx2YWwgbz0iMjE0OWQ2IiB2PSIxMTcuOTE2Ii8+CisJCQkJCTx2YWwgbz0iMjE1N2U1IiB2PSIxMTYuMDE0Ii8+CisJCQkJCTx2YWwgbz0iMjE2NWY2IiB2PSIxMjEuOTM1Ii8+CisJCQkJCTx2YWwgbz0iMjE3NDA2IiB2PSIxMTkuNjc1Ii8+CisJCQkJCTx2YWwgbz0iMjE4MjE3IiB2PSIxMTguOCIvPgorCQkJCQk8dmFsIG89IjIxOTAyNiIgdj0iMTE5LjY0OSIvPgorCQkJCQk8dmFsIG89IjIxOWUzOSIgdj0iMTE5LjcxNSIvPgorCQkJCQk8dmFsIG89IjIxYWM0NiIgdj0iMTE4LjYyMiIvPgorCQkJCQk8dmFsIG89IjIxYmE1NyIgdj0iMTE4LjQ1OSIvPgorCQkJCQk8dmFsIG89IjIxYzg2NyIgdj0iMTE3LjMzOSIvPgorCQkJCQk8dmFsIG89IjIxZDY3NyIgdj0iMTIyLjA5NSIvPgorCQkJCQk8dmFsIG89IjIxZTQ4NyIgdj0iMTE5LjU1NiIvPgorCQkJCQk8dmFsIG89IjIxZjI5NiIgdj0iMTE5Ljc2MSIvPgorCQkJCQk8dmFsIG89IjIyMDBhNiIgdj0iMTIwLjUzIi8+CisJCQkJCTx2YWwgbz0iMjIwZWI3IiB2PSIxMjEuNDI4Ii8+CisJCQkJCTx2YWwgbz0iMjIxY2M2IiB2PSIxMTguMDAzIi8+CisJCQkJCTx2YWwgbz0iMjIyYWQ3IiB2PSIxMjAuMjI4Ii8+CisJCQkJCTx2YWwgbz0iMjIzOGU3IiB2PSIxMjMuMzMiLz4KKwkJCQkJPHZhbCBvPSIyMjQ3MDEiIHY9IjEyNS44NjEiLz4KKwkJCQkJPHZhbCBvPSIyMjU1MDUiIHY9IjExOC43ODgiLz4KKwkJCQkJPHZhbCBvPSIyMjYzMTUiIHY9IjExOS4xMDYiLz4KKwkJCQkJPHZhbCBvPSIyMjcxMjUiIHY9IjExOS4xMTYiLz4KKwkJCQkJPHZhbCBvPSIyMjdmMzUiIHY9IjExNi45MDgiLz4KKwkJCQkJPHZhbCBvPSIyMjhkNDUiIHY9IjExNS42NDIiLz4KKwkJCQkJPHZhbCBvPSIyMjliNTQiIHY9IjEyMi4wMTMiLz4KKwkJCQkJPHZhbCBvPSIyMmE5NjUiIHY9IjExOS4yMzQiLz4KKwkJCQkJPHZhbCBvPSIyMmI3NzYiIHY9IjExOS4zMSIvPgorCQkJCQk8dmFsIG89IjIyYzU4NiIgdj0iMTE4LjU2NiIvPgorCQkJCQk8dmFsIG89IjIyZDM5NyIgdj0iMTE4LjI0MyIvPgorCQkJCQk8dmFsIG89IjIyZTFhNiIgdj0iMTE4LjU3OSIvPgorCQkJCQk8dmFsIG89IjIyZWZiNiIgdj0iMTIwLjI4OCIvPgorCQkJCQk8dmFsIG89IjIyZmRjNyIgdj0iMTE5Ljk5NiIvPgorCQkJCQk8dmFsIG89IjIzMGJkNyIgdj0iMTE5LjI0OSIvPgorCQkJCQk8dmFsIG89IjIzMTllNiIgdj0iMTE4Ljg2NiIvPgorCQkJCQk8dmFsIG89IjIzMjdmNiIgdj0iMTE3Ljc0MSIvPgorCQkJCQk8dmFsIG89IjIzMzYxYiIgdj0iMTE4LjU0MyIvPgorCQkJCQk8dmFsIG89IjIzNDQxNiIgdj0iMTE3LjUzOCIvPgorCQkJCQk8dmFsIG89IjIzNTIyNiIgdj0iMTE4LjcwOSIvPgorCQkJCQk8dmFsIG89IjIzNjAzNyIgdj0iMTE5Ljk0Ii8+CisJCQkJCTx2YWwgbz0iMjM2ZTQ2IiB2PSIxMTcuNjY4Ii8+CisJCQkJCTx2YWwgbz0iMjM3YzU3IiB2PSIxMTkuMTU5Ii8+CisJCQkJCTx2YWwgbz0iMjM4YTY2IiB2PSIxMjAuNzcxIi8+CisJCQkJCTx2YWwgbz0iMjM5ODgxIiB2PSIxMjAuMjM0Ii8+CisJCQkJCTx2YWwgbz0iMjNhNjg1IiB2PSIxMjEuNjI0Ii8+CisJCQkJCTx2YWwgbz0iMjNiNDk1IiB2PSIxMjIuMjcyIi8+CisJCQkJCTx2YWwgbz0iMjNjMmE0IiB2PSIxMjIuNDIyIi8+CisJCQkJCTx2YWwgbz0iMjNkMGI1IiB2PSIxMjEuNjg3Ii8+CisJCQkJCTx2YWwgbz0iMjNkZWM0IiB2PSIxMjAuMzYxIi8+CisJCQkJCTx2YWwgbz0iMjNlY2Q1IiB2PSIxMTguNzUxIi8+CisJCQkJCTx2YWwgbz0iMjNmYWU0IiB2PSIxMjAuMDI4Ii8+CisJCQkJCTx2YWwgbz0iMjQwOGY2IiB2PSIxMTcuOTc0Ii8+CisJCQkJCTx2YWwgbz0iMjQxNzA2IiB2PSIxMTcuMzA1Ii8+CisJCQkJCTx2YWwgbz0iMjQyNTE4IiB2PSIxMTcuNzEiLz4KKwkJCQkJPHZhbCBvPSIyNDMzMjUiIHY9IjExOC4xOTMiLz4KKwkJCQkJPHZhbCBvPSIyNDQxMzciIHY9IjExOS41NDIiLz4KKwkJCQkJPHZhbCBvPSIyNDRmNDYiIHY9IjExOC43NDEiLz4KKwkJCQkJPHZhbCBvPSIyNDZiNjYiIHY9IjExOC4yOTUiLz4KKwkJCQkJPHZhbCBvPSIyNDc5NzYiIHY9IjExNy41MzQiLz4KKwkJCQkJPHZhbCBvPSIyNDg3ODYiIHY9IjExNC40NzIiLz4KKwkJCQkJPHZhbCBvPSIyNDk1N2UiIHY9IjExNy4zNTciLz4KKwkJCQkJPHZhbCBvPSIyNGEzOGYiIHY9IjExOC44NTEiLz4KKwkJCQkJPHZhbCBvPSIyNGIxOWMiIHY9IjEyMC4xMzciLz4KKwkJCQkJPHZhbCBvPSIyNGJmYWMiIHY9IjExOS4zNDkiLz4KKwkJCQkJPHZhbCBvPSIyNGNkYmMiIHY9IjEyMy4yMjYiLz4KKwkJCQkJPHZhbCBvPSIyNGRiY2QiIHY9IjEyMi45MjEiLz4KKwkJCQkJPHZhbCBvPSIyNGU5ZTUiIHY9IjEyNC4yNzMiLz4KKwkJCQkJPHZhbCBvPSIyNGY4MDgiIHY9IjEyMy41MTUiLz4KKwkJCQkJPHZhbCBvPSIyNTA2MTYiIHY9IjEyNC4xODIiLz4KKwkJCQkJPHZhbCBvPSIyNTE0MjYiIHY9IjEyNC4yNyIvPgorCQkJCQk8dmFsIG89IjI1MjIzNiIgdj0iMTIyLjgyNyIvPgorCQkJCQk8dmFsIG89IjI1MzA0NyIgdj0iMTIxLjgwMSIvPgorCQkJCQk8dmFsIG89IjI1M2U1NiIgdj0iMTE5LjUxNCIvPgorCQkJCQk8dmFsIG89IjI1NGM2NyIgdj0iMTE4LjkyMiIvPgorCQkJCQk8dmFsIG89IjI1NWE3NiIgdj0iMTE4Ljg2Ii8+CisJCQkJCTx2YWwgbz0iMjU2ODg3IiB2PSIxMTcuMjY0Ii8+CisJCQkJCTx2YWwgbz0iMjU3Njk3IiB2PSIxMTguMDIyIi8+CisJCQkJCTx2YWwgbz0iMjU4NGE4IiB2PSIxMTYuODE5Ii8+CisJCQkJCTx2YWwgbz0iMjU5MmI2IiB2PSIxMTguMzg0Ii8+CisJCQkJCTx2YWwgbz0iMjVhMGM3IiB2PSIxMTkuMjc2Ii8+CisJCQkJCTx2YWwgbz0iMjVhZWQ3IiB2PSIxMTguODEiLz4KKwkJCQkJPHZhbCBvPSIyNWJjZTciIHY9IjExOC42NzYiLz4KKwkJCQkJPHZhbCBvPSIyNWNhZjgiIHY9IjExOC4xMDgiLz4KKwkJCQkJPHZhbCBvPSIyNWQ5MDciIHY9IjExOS42MjUiLz4KKwkJCQkJPHZhbCBvPSIyNWU3MTgiIHY9IjExOS4wNDIiLz4KKwkJCQkJPHZhbCBvPSIyNWY1MjciIHY9IjExOS42MzgiLz4KKwkJCQkJPHZhbCBvPSIyNjAzMzgiIHY9IjEyMC4zNTUiLz4KKwkJCQkJPHZhbCBvPSIyNjExNDkiIHY9IjExOC43MjgiLz4KKwkJCQkJPHZhbCBvPSIyNjFmNTkiIHY9IjExOS43NzciLz4KKwkJCQkJPHZhbCBvPSIyNjJkNjgiIHY9IjEyMi42MjEiLz4KKwkJCQkJPHZhbCBvPSIyNjNiODMiIHY9IjEyMC40OTQiLz4KKwkJCQkJPHZhbCBvPSIyNjQ5ODYiIHY9IjEyMi4zMzUiLz4KKwkJCQkJPHZhbCBvPSIyNjU3OTUiIHY9IjEyMy4wMDEiLz4KKwkJCQkJPHZhbCBvPSIyNjY1YTYiIHY9IjEyMy44MjciLz4KKwkJCQkJPHZhbCBvPSIyNjczYjUiIHY9IjEyMi45MzkiLz4KKwkJCQkJPHZhbCBvPSIyNjgxYzYiIHY9IjEyMi4zOTgiLz4KKwkJCQkJPHZhbCBvPSIyNjhmZDUiIHY9IjEyMS4yMTIiLz4KKwkJCQkJPHZhbCBvPSIyNjlkZTYiIHY9IjEyMC44NDQiLz4KKwkJCQkJPHZhbCBvPSIyNmFiZjYiIHY9IjEyMC4wNTQiLz4KKwkJCQkJPHZhbCBvPSIyNmJhMDYiIHY9IjExOC4yOTciLz4KKwkJCQkJPHZhbCBvPSIyNmM4MTciIHY9IjExNy43OTUiLz4KKwkJCQkJPHZhbCBvPSIyNmQ2MmIiIHY9IjExNy45OTYiLz4KKwkJCQkJPHZhbCBvPSIyNmU0MzYiIHY9IjExOS4yODciLz4KKwkJCQkJPHZhbCBvPSIyNmYyNDciIHY9IjExOC44MTUiLz4KKwkJCQkJPHZhbCBvPSIyNzAwNTciIHY9IjExOC45NTUiLz4KKwkJCQkJPHZhbCBvPSIyNzBlNjciIHY9IjExOC40NDkiLz4KKwkJCQkJPHZhbCBvPSIyNzFjNzciIHY9IjExOS4xNTciLz4KKwkJCQkJPHZhbCBvPSIyNzJhODciIHY9IjEyMC4xMjQiLz4KKwkJCQkJPHZhbCBvPSIyNzM4OTciIHY9IjExOS44NTgiLz4KKwkJCQkJPHZhbCBvPSIyNzQ2YTgiIHY9IjEyMC42NjgiLz4KKwkJCQkJPHZhbCBvPSIyNzU0YjkiIHY9IjEyMS4wNjciLz4KKwkJCQkJPHZhbCBvPSIyNzYyYzciIHY9IjExOC4yNjUiLz4KKwkJCQkJPHZhbCBvPSIyNzcwZDgiIHY9IjEyMC4zMDgiLz4KKwkJCQkJPHZhbCBvPSIyNzdlZTciIHY9IjEyMi44NTEiLz4KKwkJCQk8L3Bhcj4KKwkJCQk8cGFyIG1lbWluZD0iNDQwNjAwIiBoPSIzZGMxYThkZSI+CisJCQkJCTx2YWwgbz0iMCIgdj0iLTEyNzUiLz4KKwkJCQkJPHZhbCBvPSJlMDgiIHY9Ii0xNDgyIi8+CisJCQkJCTx2YWwgbz0iMWMzMiIgdj0iLTE1NjIiLz4KKwkJCQkJPHZhbCBvPSIyYTNjIiB2PSItMTY0MyIvPgorCQkJCQk8dmFsIG89IjM4MzUiIHY9Ii0xNDQ2Ii8+CisJCQkJCTx2YWwgbz0iNDY0NSIgdj0iLTEyNzYiLz4KKwkJCQkJPHZhbCBvPSI1NDU1IiB2PSItMTA0OSIvPgorCQkJCQk8dmFsIG89IjYyNjUiIHY9Ii0xNjk0Ii8+CisJCQkJCTx2YWwgbz0iNzA3NSIgdj0iLTE3NjAiLz4KKwkJCQkJPHZhbCBvPSI3ZTg1IiB2PSItMTY2MiIvPgorCQkJCQk8dmFsIG89IjhjOTYiIHY9Ii0yMDY3Ii8+CisJCQkJCTx2YWwgbz0iOWFhNSIgdj0iLTE5OTIiLz4KKwkJCQkJPHZhbCBvPSJhOGI2IiB2PSItMTkyOCIvPgorCQkJCQk8dmFsIG89ImI2YzUiIHY9Ii0yMDE4Ii8+CisJCQkJCTx2YWwgbz0iYzRkNyIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSJkMzBiIiB2PSItNiIvPgorCQkJCQk8dmFsIG89ImUwZjYiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iZWYwNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImZkMTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMGIyNyIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSIxMTkzNyIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSIxMjc0NiIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSIxMzU1NiIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSIxNDM2NiIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSIxNTE4MSIgdj0iLTgiLz4KKwkJCQkJPHZhbCBvPSIxNWY4NSIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSIxNmQ5NSIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSIxN2JhNCIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSIxODliNSIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSIxOTdjNCIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSIxYTVkNSIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSIxYjNlNiIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSIxYzFmNiIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSIxZDAwNSIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSIxZGUxNSIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSIxZWMyNSIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSIxZmEzNiIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSIyMDg0NSIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSIyMTY1NiIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSIyMjQ2NSIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSIyMzI3NiIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSIyNDA4NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI0ZTk5IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjI1Y2E3IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjI2YWI3IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjI3OGM2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjg2ZDYiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iMjk0ZTYiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iMmEzMDEiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iMmIxMDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyYmYxNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjJjZDI1IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjJkYjM1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMmU5NDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyZjc1NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjMwNTY2IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjMxMzc1IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjMyMTllIiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjMyZjk2IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjMzZGE2IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjM0YmI2IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjM1OWRlIiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjM2N2Q2IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjM3NWU2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMzg0MGUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIzOTIxZSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjNhMDE2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iM2FlMjciIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iM2JjMzYiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iM2NhNDciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIzZDg1NiIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSIzZTY2NyIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSIzZjQ4MSIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI0MDI4NSIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI0MTA5NSIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI0MWVhNSIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI0MmNiNSIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI0M2FjNSIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI0NDhkNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjQ1NmU2IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjQ2NGY1IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjQ4MGZmIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNDhmMGUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI0OWQxZCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjRhYjQ2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNGI5NTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI0Yzc2OSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjRkNTc3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNGUzODciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI0ZjE5NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjRmZmE2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNTBkZDAiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI1MWJjNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjUyOWQ2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNTM3ZTciIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iNTQ2MDAiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iNTU0MDYiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iNTYyMTUiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iNTcwMjYiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iNTdlMzYiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iNThjNDYiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iNTlhNzAiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iNWE4NjciIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iNWI2NzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI1YzQ4NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjVkMjk2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNWUwYTkiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iNWVlYjgiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iNWZjYzYiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iNjBhZDciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI2MThlNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjYyNmY3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNjM1MDciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI2NDMxNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjY1MTI3IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjY1ZjM3IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjY2ZDQ2IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjY3YjU3IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjY4OTY3IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjY5NzgyIiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjZhNTg2IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjZiMzk1IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjZjMWE2IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjZjZmI1IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjZkZGM2IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjZlYmQ2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNmY5ZTYiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iNzA3ZjYiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iNzE2MDciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI3MjQxNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjczMjI3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNzQwMzciIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iNzRlNDciIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iNzVjNTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI3NmE2MyIgdj0iMCIvPgorCQkJCQk8dmFsIG89Ijc3ODczIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNzg2ODAiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI3OTQ4ZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjdhMjlmIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iN2IwYWYiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iN2JlYmYiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iN2NjY2YiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iN2RhZGYiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iN2U4ZmEiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iN2Y3MGEiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iODA1MWEiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iODEzMmEiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iODIxM2EiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iODJmNGEiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iODNkNWEiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iODRiNmEiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI4NTk3YSIgdj0iMCIvPgorCQkJCQk8dmFsIG89Ijg2NzhiIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iODc1OWIiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI4ODNhYyIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI4OTFiYiIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI4OWZjYSIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSI4YWRkYSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjhiYmViIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iOGM5ZmMiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI4ZDgwYiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjhlNjFhIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iOGY0MmEiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI5MDIzYSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjkxMDRhIiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjkxZTVhIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iOTJjNmEiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iOTNhODQiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iOTQ4ODUiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iOTU2OTQiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iOTY0YTUiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iOTcyYjQiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iOTgwYzUiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iOThlZDQiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iOTljZTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI5YWFmNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjliOTA2IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjljNzE2IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjlkNTI2IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjllMzM2IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjlmMTQ1IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjlmZjU2IiB2PSItNyIvPgorCQkJCQk8dmFsIG89ImEwZDY1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYTFiNzciIHY9Ii0xODQ1Ii8+CisJCQkJCTx2YWwgbz0iYTI5ODYiIHY9Ii02MzEiLz4KKwkJCQkJPHZhbCBvPSJhMzc5NSIgdj0iMTU2NCIvPgorCQkJCQk8dmFsIG89ImE0NWE3IiB2PSItNjYiLz4KKwkJCQkJPHZhbCBvPSJhNTNiNiIgdj0iLTM5MyIvPgorCQkJCQk8dmFsIG89ImE2MWM3IiB2PSItNjkxIi8+CisJCQkJCTx2YWwgbz0iYTZmZDYiIHY9Ii04ODMiLz4KKwkJCQkJPHZhbCBvPSJhN2UwMCIgdj0iLTE1NzUiLz4KKwkJCQkJPHZhbCBvPSJhOGMwMCIgdj0iLTIyMDkiLz4KKwkJCQkJPHZhbCBvPSJhOWEwNSIgdj0iMTA5Ii8+CisJCQkJCTx2YWwgbz0iYWE4MTUiIHY9Ii00MjAiLz4KKwkJCQkJPHZhbCBvPSJhYjYyNSIgdj0iLTg1OSIvPgorCQkJCQk8dmFsIG89ImFjNDM1IiB2PSItNjI4Ii8+CisJCQkJCTx2YWwgbz0iYWQyNDUiIHY9IjUxNiIvPgorCQkJCQk8dmFsIG89ImFlMDU1IiB2PSIxODM5Ii8+CisJCQkJCTx2YWwgbz0iYWVlNjUiIHY9IjI5MyIvPgorCQkJCQk8dmFsIG89ImFmYzc1IiB2PSIxMTg1Ii8+CisJCQkJCTx2YWwgbz0iYjBhODUiIHY9IjM5NDYiLz4KKwkJCQkJPHZhbCBvPSJiMjZhNiIgdj0iNDIzMCIvPgorCQkJCQk8dmFsIG89ImIzNGI2IiB2PSIzNjg5Ii8+CisJCQkJCTx2YWwgbz0iYjQyYzYiIHY9IjI0OCIvPgorCQkJCQk8dmFsIG89ImI1MGQ2IiB2PSI0MzAiLz4KKwkJCQkJPHZhbCBvPSJiNWVlNyIgdj0iMTAyNiIvPgorCQkJCQk8dmFsIG89ImI2Y2Y2IiB2PSItNTI2Ii8+CisJCQkJCTx2YWwgbz0iYjdiMDciIHY9Ii0yNTgiLz4KKwkJCQkJPHZhbCBvPSJiODkxNyIgdj0iLTY1Ii8+CisJCQkJCTx2YWwgbz0iYjk3MjgiIHY9Ii00ODkiLz4KKwkJCQkJPHZhbCBvPSJiYTUzNyIgdj0iLTg0MiIvPgorCQkJCQk8dmFsIG89ImJiMzQ3IiB2PSIxMDgyIi8+CisJCQkJCTx2YWwgbz0iYmMxNTciIHY9IjMxMCIvPgorCQkJCQk8dmFsIG89ImJjZjY3IiB2PSItMTExMiIvPgorCQkJCQk8dmFsIG89ImJkZDgxIiB2PSIzNjMyIi8+CisJCQkJCTx2YWwgbz0iYmViODYiIHY9IjUxMyIvPgorCQkJCQk8dmFsIG89ImJmOTk1IiB2PSIyMTQiLz4KKwkJCQkJPHZhbCBvPSJjMDdhNiIgdj0iLTI5MiIvPgorCQkJCQk8dmFsIG89ImMxNWI1IiB2PSItMTI3Ii8+CisJCQkJCTx2YWwgbz0iYzIzYzYiIHY9IjQ5NSIvPgorCQkJCQk8dmFsIG89ImMzMWQ1IiB2PSIxODE1Ii8+CisJCQkJCTx2YWwgbz0iYzNmZTYiIHY9IjgxOCIvPgorCQkJCQk8dmFsIG89ImM0ZGY1IiB2PSIxNTM5Ii8+CisJCQkJCTx2YWwgbz0iYzVjMDYiIHY9IjY4MCIvPgorCQkJCQk8dmFsIG89ImM2YTE2IiB2PSI3MTIiLz4KKwkJCQkJPHZhbCBvPSJjNzgyNiIgdj0iMTI4MCIvPgorCQkJCQk8dmFsIG89ImM4NjM2IiB2PSIzOTciLz4KKwkJCQkJPHZhbCBvPSJjOTQ0NiIgdj0iNDkzIi8+CisJCQkJCTx2YWwgbz0iY2EyNTYiIHY9IjI1MCIvPgorCQkJCQk8dmFsIG89ImNiMDY2IiB2PSI3ODUiLz4KKwkJCQkJPHZhbCBvPSJjYmU3NiIgdj0iLTIwMSIvPgorCQkJCQk8dmFsIG89ImNjYzg3IiB2PSIyMTU2Ii8+CisJCQkJCTx2YWwgbz0iY2RhOTYiIHY9IjI5MzciLz4KKwkJCQkJPHZhbCBvPSJjZThhOCIgdj0iMjEwNyIvPgorCQkJCQk8dmFsIG89ImNmNmI3IiB2PSIyODI0Ii8+CisJCQkJCTx2YWwgbz0iZDA0YzgiIHY9IjIyNjkiLz4KKwkJCQkJPHZhbCBvPSJkMTJkNyIgdj0iMTQ0MSIvPgorCQkJCQk8dmFsIG89ImQyMGU3IiB2PSItMjk3Ii8+CisJCQkJCTx2YWwgbz0iZDJmMDIiIHY9Ii0yMjgwIi8+CisJCQkJCTx2YWwgbz0iZDNkMDUiIHY9Ii0xMTg5Ii8+CisJCQkJCTx2YWwgbz0iZDRiMTUiIHY9Ii05NjQiLz4KKwkJCQkJPHZhbCBvPSJkNTkyNiIgdj0iLTQ0MiIvPgorCQkJCQk8dmFsIG89ImQ2NzM1IiB2PSIyNjEiLz4KKwkJCQkJPHZhbCBvPSJkNzU0NiIgdj0iMTMwOSIvPgorCQkJCQk8dmFsIG89ImQ4MzU1IiB2PSItODQ5Ii8+CisJCQkJCTx2YWwgbz0iZDkxNjYiIHY9IjE3OCIvPgorCQkJCQk8dmFsIG89ImQ5Zjc1IiB2PSIxMTExIi8+CisJCQkJCTx2YWwgbz0iZGFkODciIHY9IjI3NTAiLz4KKwkJCQkJPHZhbCBvPSJkYmI5NyIgdj0iMjc2OSIvPgorCQkJCQk8dmFsIG89ImRjOWE4IiB2PSIyOTczIi8+CisJCQkJCTx2YWwgbz0iZGQ3YjciIHY9IjEzMjciLz4KKwkJCQkJPHZhbCBvPSJkZTVjNiIgdj0iNDU0Ii8+CisJCQkJCTx2YWwgbz0iZGYzZDciIHY9IjE5OSIvPgorCQkJCQk8dmFsIG89ImUwMWQ3IiB2PSIxNjciLz4KKwkJCQkJPHZhbCBvPSJlMGZlNSIgdj0iNTU2Ii8+CisJCQkJCTx2YWwgbz0iZTFkZjUiIHY9IjQxNiIvPgorCQkJCQk8dmFsIG89ImUyYzA0IiB2PSItMzcwIi8+CisJCQkJCTx2YWwgbz0iZTNhMTQiIHY9Ii0xMTU0Ii8+CisJCQkJCTx2YWwgbz0iZTQ4MjQiIHY9IjkzIi8+CisJCQkJCTx2YWwgbz0iZTU2MzQiIHY9Ii04NDMiLz4KKwkJCQkJPHZhbCBvPSJlNjQ0NCIgdj0iMTcxIi8+CisJCQkJCTx2YWwgbz0iZTcyNTUiIHY9Ii02NDYiLz4KKwkJCQkJPHZhbCBvPSJlODA2ZiIgdj0iLTcyMyIvPgorCQkJCQk8dmFsIG89ImU4ZTdmIiB2PSIyNjY1Ii8+CisJCQkJCTx2YWwgbz0iZTljOGUiIHY9IjgzNyIvPgorCQkJCQk8dmFsIG89ImVhYTlmIiB2PSI2OTgiLz4KKwkJCQkJPHZhbCBvPSJlYjhhZSIgdj0iMTA5NyIvPgorCQkJCQk8dmFsIG89ImVjNmJmIiB2PSIyNjQ5Ii8+CisJCQkJCTx2YWwgbz0iZWQ0Y2UiIHY9Ii00OTUiLz4KKwkJCQkJPHZhbCBvPSJlZTJkZiIgdj0iMTE2NSIvPgorCQkJCQk8dmFsIG89ImVmMGVmIiB2PSI1NDIiLz4KKwkJCQkJPHZhbCBvPSJlZmYwMSIgdj0iMTg3MSIvPgorCQkJCQk8dmFsIG89ImYwZDEwIiB2PSI5NzkiLz4KKwkJCQkJPHZhbCBvPSJmMWIyMCIgdj0iMTIxMCIvPgorCQkJCQk8dmFsIG89ImYyOTMwIiB2PSItMzU2Ii8+CisJCQkJCTx2YWwgbz0iZjM3NDAiIHY9IjE2NTQiLz4KKwkJCQkJPHZhbCBvPSJmNDU1MSIgdj0iMTM2OCIvPgorCQkJCQk8dmFsIG89ImY1MzYxIiB2PSIxNDYyIi8+CisJCQkJCTx2YWwgbz0iZjYxNzIiIHY9IjE2MTIiLz4KKwkJCQkJPHZhbCBvPSJmNmY4MCIgdj0iMTMwOSIvPgorCQkJCQk8dmFsIG89ImY3ZDkxIiB2PSIxODg2Ii8+CisJCQkJCTx2YWwgbz0iZjhiYTEiIHY9IjExMzYiLz4KKwkJCQkJPHZhbCBvPSJmOTliMSIgdj0iMTE2OSIvPgorCQkJCQk8dmFsIG89ImZhN2MwIiB2PSIxNDAzIi8+CisJCQkJCTx2YWwgbz0iZmI1ZDEiIHY9IjEzMTYiLz4KKwkJCQkJPHZhbCBvPSJmYzNlMCIgdj0iLTEwNDEiLz4KKwkJCQkJPHZhbCBvPSJmZDFmYiIgdj0iLTExOTAiLz4KKwkJCQkJPHZhbCBvPSJmZTAwYiIgdj0iLTE2MDkiLz4KKwkJCQkJPHZhbCBvPSJmZWUxYyIgdj0iLTE5OSIvPgorCQkJCQk8dmFsIG89ImZmYzJjIiB2PSItMjUyIi8+CisJCQkJCTx2YWwgbz0iMTAwYTNiIiB2PSI1ODUiLz4KKwkJCQkJPHZhbCBvPSIxMDE4NGMiIHY9IjEwNjkiLz4KKwkJCQkJPHZhbCBvPSIxMDI2NWIiIHY9IjE5NzMiLz4KKwkJCQkJPHZhbCBvPSIxMDM0NmMiIHY9IjE4MzEiLz4KKwkJCQkJPHZhbCBvPSIxMDQyN2IiIHY9IjExMjciLz4KKwkJCQkJPHZhbCBvPSIxMDUwOGQiIHY9IjE3NjciLz4KKwkJCQkJPHZhbCBvPSIxMDVlOWQiIHY9IjEzNDMiLz4KKwkJCQkJPHZhbCBvPSIxMDZjYWQiIHY9IjE1NjQiLz4KKwkJCQkJPHZhbCBvPSIxMDdhYmQiIHY9Ijg0OSIvPgorCQkJCQk8dmFsIG89IjEwODhjZCIgdj0iODA1Ii8+CisJCQkJCTx2YWwgbz0iMTA5NmRlIiB2PSIxMDkzIi8+CisJCQkJCTx2YWwgbz0iMTBhNGVkIiB2PSI4ODAiLz4KKwkJCQkJPHZhbCBvPSIxMGIyZmUiIHY9IjEyNTQiLz4KKwkJCQkJPHZhbCBvPSIxMGMxMGQiIHY9IjI2NjQiLz4KKwkJCQkJPHZhbCBvPSIxMGNmMWUiIHY9IjEzNjgiLz4KKwkJCQkJPHZhbCBvPSIxMGRkMmUiIHY9IjEwMDkiLz4KKwkJCQkJPHZhbCBvPSIxMGViNjYiIHY9IjIwOCIvPgorCQkJCQk8dmFsIG89IjEwZjk0ZSIgdj0iMjIiLz4KKwkJCQkJPHZhbCBvPSIxMTA3NWUiIHY9IjExNDIiLz4KKwkJCQkJPHZhbCBvPSIxMTE1NmQiIHY9IjI4NiIvPgorCQkJCQk8dmFsIG89IjExMjM4OCIgdj0iLTExNjgiLz4KKwkJCQkJPHZhbCBvPSIxMTMxODciIHY9IjcxMiIvPgorCQkJCQk8dmFsIG89IjExM2ZiMCIgdj0iMjI3Ii8+CisJCQkJCTx2YWwgbz0iMTE0ZGE2IiB2PSIyMzYiLz4KKwkJCQkJPHZhbCBvPSIxMTViYjYiIHY9IjM3MiIvPgorCQkJCQk8dmFsIG89IjExNjljNiIgdj0iMTQ0MSIvPgorCQkJCQk8dmFsIG89IjExNzdkNiIgdj0iMjAxNSIvPgorCQkJCQk8dmFsIG89IjExODVlOCIgdj0iMTIxMSIvPgorCQkJCQk8dmFsIG89IjExOTNmNyIgdj0iMTI4NCIvPgorCQkJCQk8dmFsIG89IjExYTIwOCIgdj0iMzY5Ii8+CisJCQkJCTx2YWwgbz0iMTFiMDE3IiB2PSItMzEwIi8+CisJCQkJCTx2YWwgbz0iMTFiZTJmIiB2PSItODAyIi8+CisJCQkJCTx2YWwgbz0iMTFjYzM3IiB2PSI3ODEiLz4KKwkJCQkJPHZhbCBvPSIxMWRhNDciIHY9IjQ5MSIvPgorCQkJCQk8dmFsIG89IjExZTg1NyIgdj0iMTAyMyIvPgorCQkJCQk8dmFsIG89IjExZjY2NyIgdj0iNTE2Ii8+CisJCQkJCTx2YWwgbz0iMTIwNTc4IiB2PSIxIi8+CisJCQkJCTx2YWwgbz0iMTIxMzg2IiB2PSIxIi8+CisJCQkJCTx2YWwgbz0iMTIyMTk2IiB2PSIyIi8+CisJCQkJCTx2YWwgbz0iMTIyZmE2IiB2PSIxIi8+CisJCQkJCTx2YWwgbz0iMTIzZGI1IiB2PSIxIi8+CisJCQkJCTx2YWwgbz0iMTI0YmM1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTI1OWQ1IiB2PSIxIi8+CisJCQkJCTx2YWwgbz0iMTI2N2U0IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTI3NjAwIiB2PSItMSIvPgorCQkJCQk8dmFsIG89IjEyODMwNSIgdj0iLTEiLz4KKwkJCQkJPHZhbCBvPSIxMjkxMTUiIHY9Ii0xIi8+CisJCQkJCTx2YWwgbz0iMTI5ZjI1IiB2PSItMSIvPgorCQkJCQk8dmFsIG89IjEyYWQzNSIgdj0iLTEiLz4KKwkJCQkJPHZhbCBvPSIxMmJiNDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMmM5NTQiIHY9IjEiLz4KKwkJCQkJPHZhbCBvPSIxMmQ3NjYiIHY9IjEiLz4KKwkJCQkJPHZhbCBvPSIxMmU1NzUiIHY9IjIiLz4KKwkJCQkJPHZhbCBvPSIxMmYzODYiIHY9IjEiLz4KKwkJCQkJPHZhbCBvPSIxMzAxOTYiIHY9IjEiLz4KKwkJCQkJPHZhbCBvPSIxMzBmYTYiIHY9IjEiLz4KKwkJCQkJPHZhbCBvPSIxMzFkYjciIHY9IjEiLz4KKwkJCQkJPHZhbCBvPSIxMzJiYzUiIHY9IjEiLz4KKwkJCQkJPHZhbCBvPSIxMzM5ZDQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMzQ3ZTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMzU1ZjQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMzY0MDQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMzcyMTQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMzgwMjQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMzhlMzMiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMzljNDQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxM2FhNTQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxM2I4NjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxM2M2N2UiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxM2Q0OGUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxM2UyOWUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxM2YwYWUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxM2ZlYmYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNDBjY2YiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNDFhZGYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNDI4ZWYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNDM2ZmYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNDQ1MGYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNDUzMWYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNDYxMzAiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNDZmNDAiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNDdkNDQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNDhiNTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNDk5NjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNGE3NzUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNGI1ODQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNGMzOTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNGQxYTQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNGRmYjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNGVkYzUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNGZiZDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNTA5ZTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNTE3ZmYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNTI2MDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNTM0MTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNTQyMjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNTUwMzUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNTVlNDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNTZjNTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNTdhNjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNTg4NzUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNTk2ODYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNWE0OTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNWIyYTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNWMwYjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNWNlYzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNWRjZDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNWVhZTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNWY4ZjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNjA3MDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNjE1MTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNjIzMjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNjMxMzciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNjNmNDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNjRkNTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNjViNjciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNjY5ODIiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNjc3ODYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNjg1OTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNjkzYTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNmExYjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNmFmYzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNmJkZDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNmNiZTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNmQ5ZjYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNmU4MDciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNmY2MTYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNzA0MjkiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNzEyMzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNzIwNDciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNzJlNTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNzNjNjciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNzRhNzciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNzU4ODciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxNzY2OTQiIHY9IjIyNzQiLz4KKwkJCQkJPHZhbCBvPSIxNzc0YTMiIHY9IjE3NzUiLz4KKwkJCQkJPHZhbCBvPSIxNzgyYjMiIHY9IjExNTMiLz4KKwkJCQkJPHZhbCBvPSIxNzkwYzUiIHY9Ijc2OSIvPgorCQkJCQk8dmFsIG89IjE3OWVkNCIgdj0iLTg0NiIvPgorCQkJCQk8dmFsIG89IjE3YWNlNCIgdj0iLTIzNjIiLz4KKwkJCQkJPHZhbCBvPSIxN2JhZmQiIHY9Ii0yOTYxIi8+CisJCQkJCTx2YWwgbz0iMTdjOTBmIiB2PSItMjUxOSIvPgorCQkJCQk8dmFsIG89IjE3ZDcxZSIgdj0iLTI0NDciLz4KKwkJCQkJPHZhbCBvPSIxN2U1MmYiIHY9Ii0yODY1Ii8+CisJCQkJCTx2YWwgbz0iMTdmMzNmIiB2PSItMjI3NiIvPgorCQkJCQk8dmFsIG89IjE4MDE0ZiIgdj0iLTEyNTAiLz4KKwkJCQkJPHZhbCBvPSIxODBmNWYiIHY9Ii03MTYiLz4KKwkJCQkJPHZhbCBvPSIxODFkNmUiIHY9Ii0xNDg5Ii8+CisJCQkJCTx2YWwgbz0iMTgyYjdmIiB2PSItMjAwNCIvPgorCQkJCQk8dmFsIG89IjE4Mzk4ZiIgdj0iLTEwNTUiLz4KKwkJCQkJPHZhbCBvPSIxODQ3YTEiIHY9Ii05NzgiLz4KKwkJCQkJPHZhbCBvPSIxODU1YWYiIHY9Ii0xMjY5Ii8+CisJCQkJCTx2YWwgbz0iMTg2M2MwIiB2PSItMzE3MCIvPgorCQkJCQk8dmFsIG89IjE4NzFjZiIgdj0iLTI2NjgiLz4KKwkJCQkJPHZhbCBvPSIxODdmZTAiIHY9Ii0yNTQwIi8+CisJCQkJCTx2YWwgbz0iMTg4ZGVmIiB2PSItMjM3NyIvPgorCQkJCQk8dmFsIG89IjE4OWMwMCIgdj0iLTExMjYiLz4KKwkJCQkJPHZhbCBvPSIxOGI4MGQiIHY9IjEyMTkiLz4KKwkJCQkJPHZhbCBvPSIxOGM2MWMiIHY9Ii0xMDYxIi8+CisJCQkJCTx2YWwgbz0iMThkNDJjIiB2PSItMTUxOSIvPgorCQkJCQk8dmFsIG89IjE4ZTIzYiIgdj0iLTEyODQiLz4KKwkJCQkJPHZhbCBvPSIxOGYwNGIiIHY9Ii0xOTAyIi8+CisJCQkJCTx2YWwgbz0iMThmZTVlIiB2PSItMTYyMyIvPgorCQkJCQk8dmFsIG89IjE5MGM3NiIgdj0iLTc3OCIvPgorCQkJCQk8dmFsIG89IjE5MWE4NiIgdj0iLTE3MzAiLz4KKwkJCQkJPHZhbCBvPSIxOTI4OTYiIHY9Ii0xNzQ1Ii8+CisJCQkJCTx2YWwgbz0iMTkzNmE2IiB2PSItMTg3MiIvPgorCQkJCQk8dmFsIG89IjE5NDRiNyIgdj0iLTEyMDciLz4KKwkJCQkJPHZhbCBvPSIxOTUyYzYiIHY9Ii0yMTEiLz4KKwkJCQkJPHZhbCBvPSIxOTYwZDciIHY9IjE2MTkiLz4KKwkJCQkJPHZhbCBvPSIxOTZlZTYiIHY9Ii03NjQiLz4KKwkJCQkJPHZhbCBvPSIxOTdjZjgiIHY9Ii04MjciLz4KKwkJCQkJPHZhbCBvPSIxOThiMGYiIHY9IjQwIi8+CisJCQkJCTx2YWwgbz0iMTk5OTFmIiB2PSItMTk5Ii8+CisJCQkJCTx2YWwgbz0iMTliNTQxIiB2PSItOTY3Ii8+CisJCQkJCTx2YWwgbz0iMTljMzRkIiB2PSItNjgwIi8+CisJCQkJCTx2YWwgbz0iMTlkMTVlIiB2PSItMzg1Ii8+CisJCQkJCTx2YWwgbz0iMTlkZjgwIiB2PSItMjQxIi8+CisJCQkJCTx2YWwgbz0iMTllZDkwIiB2PSIzNzEiLz4KKwkJCQkJPHZhbCBvPSIxOWVlYmUiIHY9IjQ3MSIvPgorCQkJCQk8dmFsIG89IjE5ZmI4ZSIgdj0iNjEiLz4KKwkJCQkJPHZhbCBvPSIxYTA5YTAiIHY9Ii0yNDQwIi8+CisJCQkJCTx2YWwgbz0iMWExN2FlIiB2PSItMzQ0NyIvPgorCQkJCQk8dmFsIG89IjFhMjViZSIgdj0iLTM4NjIiLz4KKwkJCQkJPHZhbCBvPSIxYTMzY2QiIHY9Ii0xNjU3Ii8+CisJCQkJCTx2YWwgbz0iMWE0MWRkIiB2PSItMjI3MyIvPgorCQkJCQk8dmFsIG89IjFhNGZlZCIgdj0iLTQxMzIiLz4KKwkJCQkJPHZhbCBvPSIxYTVlMDgiIHY9Ii0zNzM1Ii8+CisJCQkJCTx2YWwgbz0iMWE2YzA1IiB2PSItMjY1NSIvPgorCQkJCQk8dmFsIG89IjFhN2ExNSIgdj0iLTMyODYiLz4KKwkJCQkJPHZhbCBvPSIxYTg4MjYiIHY9Ii0zMzc3Ii8+CisJCQkJCTx2YWwgbz0iMWE5NjM3IiB2PSItMjcwNyIvPgorCQkJCQk8dmFsIG89IjFhYTQ0NSIgdj0iLTE5ODAiLz4KKwkJCQkJPHZhbCBvPSIxYWIyNTUiIHY9Ii03OTciLz4KKwkJCQkJPHZhbCBvPSIxYWMwNjUiIHY9Ii0yMDQ2Ii8+CisJCQkJCTx2YWwgbz0iMWFjZTc1IiB2PSItMjc5MyIvPgorCQkJCQk8dmFsIG89IjFhZGM4NyIgdj0iLTE5MzkiLz4KKwkJCQkJPHZhbCBvPSIxYWVhOTYiIHY9Ii0yMDkyIi8+CisJCQkJCTx2YWwgbz0iMWFmOGE3IiB2PSItMjIxMSIvPgorCQkJCQk8dmFsIG89IjFiMDZiNyIgdj0iLTI2NzkiLz4KKwkJCQkJPHZhbCBvPSIxYjE0YzYiIHY9Ii0yNTMwIi8+CisJCQkJCTx2YWwgbz0iMWM3NDYwIiB2PSI0NTMiLz4KKwkJCQkJPHZhbCBvPSIxYzgyNzAiIHY9Ii0xNTciLz4KKwkJCQkJPHZhbCBvPSIxYzkwN2UiIHY9IjExNDMiLz4KKwkJCQkJPHZhbCBvPSIxYzllOGYiIHY9Ii0xNDYiLz4KKwkJCQkJPHZhbCBvPSIxY2FjYTIiIHY9Ii0xMDAyIi8+CisJCQkJCTx2YWwgbz0iMWNiYWIxIiB2PSItMTQwMiIvPgorCQkJCQk8dmFsIG89IjFjYzhjMSIgdj0iMjk0OSIvPgorCQkJCQk8dmFsIG89IjFjZDZkMCIgdj0iMjIyOSIvPgorCQkJCQk8dmFsIG89IjFjZTRkZSIgdj0iMTAyMiIvPgorCQkJCQk8dmFsIG89IjFjZjJmMCIgdj0iLTE2MjgiLz4KKwkJCQkJPHZhbCBvPSIxZDAxMDkiIHY9Ii0xODM1Ii8+CisJCQkJCTx2YWwgbz0iMWQwZjA2IiB2PSItMjExIi8+CisJCQkJCTx2YWwgbz0iMWQxZDE1IiB2PSItNzY3Ii8+CisJCQkJCTx2YWwgbz0iMWQyYjI1IiB2PSItNzkyIi8+CisJCQkJCTx2YWwgbz0iMWQzOTM1IiB2PSIxNzMiLz4KKwkJCQkJPHZhbCBvPSIxZDQ3NDUiIHY9Ijc3NiIvPgorCQkJCQk8dmFsIG89IjFkNTU1NSIgdj0iMTI0OSIvPgorCQkJCQk8dmFsIG89IjFkNjM2NiIgdj0iLTk1NyIvPgorCQkJCQk8dmFsIG89IjFkNzE3NSIgdj0iLTkxMSIvPgorCQkJCQk8dmFsIG89IjFkN2Y4NiIgdj0iLTI0MyIvPgorCQkJCQk8dmFsIG89IjFkOGQ5NSIgdj0iLTY1Ii8+CisJCQkJCTx2YWwgbz0iMWQ5YmE2IiB2PSItMzA4Ii8+CisJCQkJCTx2YWwgbz0iMWRhOWI2IiB2PSItODExIi8+CisJCQkJCTx2YWwgbz0iMWRiN2M3IiB2PSItODA2Ii8+CisJCQkJCTx2YWwgbz0iMWRjNWQ1IiB2PSItOTUyIi8+CisJCQkJCTx2YWwgbz0iMWRkM2U2IiB2PSItNzE2Ii8+CisJCQkJCTx2YWwgbz0iMWRlMWY1IiB2PSItMTYxOCIvPgorCQkJCQk8dmFsIG89IjFkZjAwNiIgdj0iLTE5MTAiLz4KKwkJCQkJPHZhbCBvPSIxZGZlMTYiIHY9Ii0xODA5Ii8+CisJCQkJCTx2YWwgbz0iMWUwYzI2IiB2PSItMjIyNCIvPgorCQkJCQk8dmFsIG89IjFlMWEzNiIgdj0iLTIyNzIiLz4KKwkJCQkJPHZhbCBvPSIxZTI4NDciIHY9Ii0yMzE3Ii8+CisJCQkJCTx2YWwgbz0iMWUzNjU5IiB2PSItMjI4MyIvPgorCQkJCQk8dmFsIG89IjFlNDQ2NyIgdj0iLTIzMzQiLz4KKwkJCQkJPHZhbCBvPSIxZTUyODEiIHY9Ii0xODYwIi8+CisJCQkJCTx2YWwgbz0iMWU2MDg2IiB2PSItMjEzOSIvPgorCQkJCQk8dmFsIG89IjFlNmU5NiIgdj0iLTIyMDYiLz4KKwkJCQkJPHZhbCBvPSIxZTdjYTYiIHY9Ii0yOTYiLz4KKwkJCQkJPHZhbCBvPSIxZThhYjUiIHY9Ii00NDkiLz4KKwkJCQkJPHZhbCBvPSIxZTk4YzYiIHY9Ii0xNDIiLz4KKwkJCQkJPHZhbCBvPSIxZWE2ZDUiIHY9Ii00MjIiLz4KKwkJCQkJPHZhbCBvPSIxZWI0ZTYiIHY9Ii0zNjUiLz4KKwkJCQkJPHZhbCBvPSIxZWMyZjYiIHY9Ii01ODEiLz4KKwkJCQkJPHZhbCBvPSIxZWQxMDYiIHY9Ii0yNjMiLz4KKwkJCQkJPHZhbCBvPSIxZWRmMTYiIHY9Ii0zMjUiLz4KKwkJCQkJPHZhbCBvPSIxZWVkMjYiIHY9Ii0xNDIiLz4KKwkJCQkJPHZhbCBvPSIxZWZiMzYiIHY9Ii0zNTUiLz4KKwkJCQkJPHZhbCBvPSIxZjA5NDYiIHY9Ii0zMTAiLz4KKwkJCQkJPHZhbCBvPSIxZjE3NTYiIHY9IjQ5NiIvPgorCQkJCQk8dmFsIG89IjFmMjU2NiIgdj0iNjYwIi8+CisJCQkJCTx2YWwgbz0iMWYzMzc2IiB2PSIxMjQ2Ii8+CisJCQkJCTx2YWwgbz0iMWY0MTg3IiB2PSIyODg5Ii8+CisJCQkJCTx2YWwgbz0iMWY0Zjk2IiB2PSIxNTMyIi8+CisJCQkJCTx2YWwgbz0iMWY1ZGE3IiB2PSItMTQzIi8+CisJCQkJCTx2YWwgbz0iMWY2YmI2IiB2PSItNTE4Ii8+CisJCQkJCTx2YWwgbz0iMWY3OWM3IiB2PSIyMjUiLz4KKwkJCQkJPHZhbCBvPSIxZjg3ZDYiIHY9Ii0xNjY3Ii8+CisJCQkJCTx2YWwgbz0iMWY5NWU3IiB2PSItMjMzMCIvPgorCQkJCQk8dmFsIG89IjFmYTQwMSIgdj0iLTE3MjciLz4KKwkJCQkJPHZhbCBvPSIxZmIyMDQiIHY9Ii0xNDg5Ii8+CisJCQkJCTx2YWwgbz0iMWZjMDE2IiB2PSItMTUxNSIvPgorCQkJCQk8dmFsIG89IjFmY2UyNSIgdj0iLTQ3NiIvPgorCQkJCQk8dmFsIG89IjFmZGMzNSIgdj0iLTE5MyIvPgorCQkJCQk8dmFsIG89IjFmZWE0NSIgdj0iMTI4Ii8+CisJCQkJCTx2YWwgbz0iMWZmODU1IiB2PSIzNzYiLz4KKwkJCQkJPHZhbCBvPSIyMDA2NjUiIHY9IjI4NzIiLz4KKwkJCQkJPHZhbCBvPSIyMDE0NzUiIHY9IjQwOCIvPgorCQkJCQk8dmFsIG89IjIwMjI4NiIgdj0iMTkyMyIvPgorCQkJCQk8dmFsIG89IjIwMzA5NSIgdj0iMTgzMCIvPgorCQkJCQk8dmFsIG89IjIwM2VhNSIgdj0iMTc5OCIvPgorCQkJCQk8dmFsIG89IjIwNGNiNiIgdj0iMzM0Ii8+CisJCQkJCTx2YWwgbz0iMjA1YWM2IiB2PSIxMjYwIi8+CisJCQkJCTx2YWwgbz0iMjA2OGQ2IiB2PSIxODE1Ii8+CisJCQkJCTx2YWwgbz0iMjA3NmU2IiB2PSIyMjcyIi8+CisJCQkJCTx2YWwgbz0iMjA4NGY2IiB2PSIyNjIiLz4KKwkJCQkJPHZhbCBvPSIyMDkzMDYiIHY9Ii0zODciLz4KKwkJCQkJPHZhbCBvPSIyMGExMTYiIHY9Ii02MTMiLz4KKwkJCQkJPHZhbCBvPSIyMGFmMjYiIHY9Ii0yNTEiLz4KKwkJCQkJPHZhbCBvPSIyMGJkMzciIHY9Ii04ODUiLz4KKwkJCQkJPHZhbCBvPSIyMGNiNDYiIHY9IjU1MSIvPgorCQkJCQk8dmFsIG89IjIwZDk1NyIgdj0iNDgiLz4KKwkJCQkJPHZhbCBvPSIyMGU3NjciIHY9Ii05ODIiLz4KKwkJCQkJPHZhbCBvPSIyMGY1ODEiIHY9Ii0xNjEyIi8+CisJCQkJCTx2YWwgbz0iMjEwMzg2IiB2PSItMTEyNSIvPgorCQkJCQk8dmFsIG89IjIxMTE5NCIgdj0iLTM4MSIvPgorCQkJCQk8dmFsIG89IjIxMWZhNSIgdj0iLTQ0MSIvPgorCQkJCQk8dmFsIG89IjIxMmRiNSIgdj0iNzEiLz4KKwkJCQkJPHZhbCBvPSIyMTNiYzUiIHY9IjEwMjAiLz4KKwkJCQkJPHZhbCBvPSIyMTQ5ZDYiIHY9Ijc2MCIvPgorCQkJCQk8dmFsIG89IjIxNTdlNSIgdj0iLTMxOSIvPgorCQkJCQk8dmFsIG89IjIxNjVmNiIgdj0iLTExNDQiLz4KKwkJCQkJPHZhbCBvPSIyMTc0MDYiIHY9IjMwMiIvPgorCQkJCQk8dmFsIG89IjIxODIxNyIgdj0iLTMxOSIvPgorCQkJCQk8dmFsIG89IjIxOTAyNiIgdj0iLTU4MiIvPgorCQkJCQk8dmFsIG89IjIxOWUzOSIgdj0iNDA4Ii8+CisJCQkJCTx2YWwgbz0iMjFhYzQ2IiB2PSIxMDMxIi8+CisJCQkJCTx2YWwgbz0iMjFiYTU3IiB2PSIxMTM5Ii8+CisJCQkJCTx2YWwgbz0iMjFjODY3IiB2PSIyMDgyIi8+CisJCQkJCTx2YWwgbz0iMjFkNjc3IiB2PSItMTIwMiIvPgorCQkJCQk8dmFsIG89IjIxZTQ4NyIgdj0iNjIyIi8+CisJCQkJCTx2YWwgbz0iMjFmMjk2IiB2PSI0NTYiLz4KKwkJCQkJPHZhbCBvPSIyMjAwYTYiIHY9Ii03MzYiLz4KKwkJCQkJPHZhbCBvPSIyMjBlYjciIHY9Ii04MTgiLz4KKwkJCQkJPHZhbCBvPSIyMjFjYzYiIHY9IjE2ODQiLz4KKwkJCQkJPHZhbCBvPSIyMjJhZDciIHY9IjMwNyIvPgorCQkJCQk8dmFsIG89IjIyMzhlNyIgdj0iLTgwMSIvPgorCQkJCQk8dmFsIG89IjIyNDcwMSIgdj0iLTEyNTYiLz4KKwkJCQkJPHZhbCBvPSIyMjU1MDUiIHY9IjMzMDgiLz4KKwkJCQkJPHZhbCBvPSIyMjYzMTUiIHY9IjUwNiIvPgorCQkJCQk8dmFsIG89IjIyNzEyNSIgdj0iNjM5Ii8+CisJCQkJCTx2YWwgbz0iMjI3ZjM1IiB2PSIxOTYzIi8+CisJCQkJCTx2YWwgbz0iMjI4ZDQ1IiB2PSIyODY3Ii8+CisJCQkJCTx2YWwgbz0iMjI5YjU0IiB2PSItODMxIi8+CisJCQkJCTx2YWwgbz0iMjJhOTY1IiB2PSItMjcwIi8+CisJCQkJCTx2YWwgbz0iMjJiNzc2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjJjNTg2IiB2PSIyMDEwIi8+CisJCQkJCTx2YWwgbz0iMjJkMzk3IiB2PSIzNDA4Ii8+CisJCQkJCTx2YWwgbz0iMjJlMWE2IiB2PSIzMTkwIi8+CisJCQkJCTx2YWwgbz0iMjJlZmI2IiB2PSItMTg3Ii8+CisJCQkJCTx2YWwgbz0iMjJmZGM3IiB2PSItMjI1Ii8+CisJCQkJCTx2YWwgbz0iMjMwYmQ3IiB2PSI1MzEiLz4KKwkJCQkJPHZhbCBvPSIyMzE5ZTYiIHY9Ii04MjMiLz4KKwkJCQkJPHZhbCBvPSIyMzI3ZjYiIHY9IjYyIi8+CisJCQkJCTx2YWwgbz0iMjMzNjFiIiB2PSIxMDc5Ii8+CisJCQkJCTx2YWwgbz0iMjM0NDE2IiB2PSIxNTQ3Ii8+CisJCQkJCTx2YWwgbz0iMjM1MjI2IiB2PSI5MDAiLz4KKwkJCQkJPHZhbCBvPSIyMzYwMzciIHY9IjExMiIvPgorCQkJCQk8dmFsIG89IjIzNmU0NiIgdj0iMTc4MCIvPgorCQkJCQk8dmFsIG89IjIzN2M1NyIgdj0iMTQwNyIvPgorCQkJCQk8dmFsIG89IjIzOGE2NiIgdj0iMjk4Ii8+CisJCQkJCTx2YWwgbz0iMjM5ODgxIiB2PSI1NjUiLz4KKwkJCQkJPHZhbCBvPSIyM2E2ODUiIHY9Ii0zMTEiLz4KKwkJCQkJPHZhbCBvPSIyM2I0OTUiIHY9Ii02NTciLz4KKwkJCQkJPHZhbCBvPSIyM2MyYTQiIHY9IjE2OCIvPgorCQkJCQk8dmFsIG89IjIzZDBiNSIgdj0iNjQ3Ii8+CisJCQkJCTx2YWwgbz0iMjNkZWM0IiB2PSIxNDI3Ii8+CisJCQkJCTx2YWwgbz0iMjNlY2Q1IiB2PSI4MjkiLz4KKwkJCQkJPHZhbCBvPSIyM2ZhZTQiIHY9Ii01Ii8+CisJCQkJCTx2YWwgbz0iMjQwOGY2IiB2PSIxMTk3Ii8+CisJCQkJCTx2YWwgbz0iMjQxNzA2IiB2PSIzNzUxIi8+CisJCQkJCTx2YWwgbz0iMjQyNTE4IiB2PSIyOTkxIi8+CisJCQkJCTx2YWwgbz0iMjQzMzI1IiB2PSIyODAxIi8+CisJCQkJCTx2YWwgbz0iMjQ0MTM3IiB2PSItMTE4OCIvPgorCQkJCQk8dmFsIG89IjI0NGY0NiIgdj0iLTgyOCIvPgorCQkJCQk8dmFsIG89IjI0NmI2NiIgdj0iLTc5OSIvPgorCQkJCQk8dmFsIG89IjI0Nzk3NiIgdj0iNTciLz4KKwkJCQkJPHZhbCBvPSIyNDg3ODYiIHY9IjQ2MDEiLz4KKwkJCQkJPHZhbCBvPSIyNDk1N2UiIHY9IjE5MTEiLz4KKwkJCQkJPHZhbCBvPSIyNGEzOGYiIHY9Ijc5OSIvPgorCQkJCQk8dmFsIG89IjI0YjE5YyIgdj0iLTk3MiIvPgorCQkJCQk8dmFsIG89IjI0YmZhYyIgdj0iLTcwOCIvPgorCQkJCQk8dmFsIG89IjI0Y2RiYyIgdj0iLTc5MCIvPgorCQkJCQk8dmFsIG89IjI0ZGJjZCIgdj0iLTQ5MCIvPgorCQkJCQk8dmFsIG89IjI0ZTllNSIgdj0iLTEzMTYiLz4KKwkJCQkJPHZhbCBvPSIyNGY4MDgiIHY9Ii04MjUiLz4KKwkJCQkJPHZhbCBvPSIyNTA2MTYiIHY9Ii0xMDEyIi8+CisJCQkJCTx2YWwgbz0iMjUxNDI2IiB2PSItMTE3OCIvPgorCQkJCQk8dmFsIG89IjI1MjIzNiIgdj0iLTM1Ii8+CisJCQkJCTx2YWwgbz0iMjUzMDQ3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjUzZTU2IiB2PSIxMzUyIi8+CisJCQkJCTx2YWwgbz0iMjU0YzY3IiB2PSIxMDU5Ii8+CisJCQkJCTx2YWwgbz0iMjU1YTc2IiB2PSIxMjkwIi8+CisJCQkJCTx2YWwgbz0iMjU2ODg3IiB2PSIyMDc5Ii8+CisJCQkJCTx2YWwgbz0iMjU3Njk3IiB2PSIzNjE4Ii8+CisJCQkJCTx2YWwgbz0iMjU4NGE4IiB2PSItNDY4NCIvPgorCQkJCQk8dmFsIG89IjI1OTJiNiIgdj0iLTI0NzAiLz4KKwkJCQkJPHZhbCBvPSIyNWEwYzciIHY9Ii01NTYiLz4KKwkJCQkJPHZhbCBvPSIyNWFlZDciIHY9IjE4OSIvPgorCQkJCQk8dmFsIG89IjI1YmNlNyIgdj0iMjYwIi8+CisJCQkJCTx2YWwgbz0iMjVjYWY4IiB2PSI4MTYiLz4KKwkJCQkJPHZhbCBvPSIyNWQ5MDciIHY9IjI0ODkiLz4KKwkJCQkJPHZhbCBvPSIyNWU3MTgiIHY9IjI3MzIiLz4KKwkJCQkJPHZhbCBvPSIyNWY1MjciIHY9IjIyMzQiLz4KKwkJCQkJPHZhbCBvPSIyNjAzMzgiIHY9IjU3Ii8+CisJCQkJCTx2YWwgbz0iMjYxMTQ5IiB2PSIxMjE5Ii8+CisJCQkJCTx2YWwgbz0iMjYxZjU5IiB2PSI2MzIiLz4KKwkJCQkJPHZhbCBvPSIyNjJkNjgiIHY9Ii0xMzYwIi8+CisJCQkJCTx2YWwgbz0iMjYzYjgzIiB2PSIzOCIvPgorCQkJCQk8dmFsIG89IjI2NDk4NiIgdj0iLTk4MCIvPgorCQkJCQk8dmFsIG89IjI2NTc5NSIgdj0iLTE1MDEiLz4KKwkJCQkJPHZhbCBvPSIyNjY1YTYiIHY9Ii0yMTE5Ii8+CisJCQkJCTx2YWwgbz0iMjY3M2I1IiB2PSItMTYxOCIvPgorCQkJCQk8dmFsIG89IjI2ODFjNiIgdj0iLTEzMTQiLz4KKwkJCQkJPHZhbCBvPSIyNjhmZDUiIHY9Ii00MzIiLz4KKwkJCQkJPHZhbCBvPSIyNjlkZTYiIHY9IjMwOSIvPgorCQkJCQk8dmFsIG89IjI2YWJmNiIgdj0iNjg1Ii8+CisJCQkJCTx2YWwgbz0iMjZiYTA2IiB2PSIxNjkyIi8+CisJCQkJCTx2YWwgbz0iMjZjODE3IiB2PSIxODk5Ii8+CisJCQkJCTx2YWwgbz0iMjZkNjJiIiB2PSIzNjIyIi8+CisJCQkJCTx2YWwgbz0iMjZlNDM2IiB2PSIyNzA5Ii8+CisJCQkJCTx2YWwgbz0iMjZmMjQ3IiB2PSIzMDM3Ii8+CisJCQkJCTx2YWwgbz0iMjcwMDU3IiB2PSIyODk4Ii8+CisJCQkJCTx2YWwgbz0iMjcwZTY3IiB2PSIzMjUxIi8+CisJCQkJCTx2YWwgbz0iMjcxYzc3IiB2PSIxODYiLz4KKwkJCQkJPHZhbCBvPSIyNzJhODciIHY9Ii02MzYiLz4KKwkJCQkJPHZhbCBvPSIyNzM4OTciIHY9Ii00MjEiLz4KKwkJCQkJPHZhbCBvPSIyNzQ2YTgiIHY9Ii03MjkiLz4KKwkJCQkJPHZhbCBvPSIyNzU0YjkiIHY9Ii05NzgiLz4KKwkJCQkJPHZhbCBvPSIyNzYyYzciIHY9IjI2NzAiLz4KKwkJCQkJPHZhbCBvPSIyNzcwZDgiIHY9IjEyNTUiLz4KKwkJCQkJPHZhbCBvPSIyNzdlZTciIHY9Ii00OTYiLz4KKwkJCQk8L3Bhcj4KKwkJCQk8cGFyIG1lbWluZD0iNDI0NjAwIiBoPSIzZGMxYThkZSI+CisJCQkJCTx2YWwgbz0iMCIgdj0iLTQzMTMiLz4KKwkJCQkJPHZhbCBvPSJlMDgiIHY9Ii00MTYzIi8+CisJCQkJCTx2YWwgbz0iMWMzMiIgdj0iLTQxMDIiLz4KKwkJCQkJPHZhbCBvPSIyYTNjIiB2PSItNDA5MSIvPgorCQkJCQk8dmFsIG89IjM4MzUiIHY9Ii0zOTgyIi8+CisJCQkJCTx2YWwgbz0iNDY0NSIgdj0iLTM5MzQiLz4KKwkJCQkJPHZhbCBvPSI1NDU1IiB2PSItNDQzOSIvPgorCQkJCQk8dmFsIG89IjYyNjUiIHY9Ii01MzIzIi8+CisJCQkJCTx2YWwgbz0iNzA3NSIgdj0iLTYyOTgiLz4KKwkJCQkJPHZhbCBvPSI3ZTg1IiB2PSItNzMzMiIvPgorCQkJCQk8dmFsIG89IjhjOTYiIHY9Ii03NTQxIi8+CisJCQkJCTx2YWwgbz0iOWFhNSIgdj0iLTcyNDgiLz4KKwkJCQkJPHZhbCBvPSJhOGI2IiB2PSItNjg2OSIvPgorCQkJCQk8dmFsIG89ImI2YzUiIHY9Ii02NDU0Ii8+CisJCQkJCTx2YWwgbz0iYzRkNyIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSJkMzBiIiB2PSItNyIvPgorCQkJCQk8dmFsIG89ImUwZjYiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iZWYwNiIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSJmZDE3IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjEwYjI3IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjExOTM3IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjEyNzQ2IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjEzNTU2IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjE0MzY2IiB2PSItOSIvPgorCQkJCQk8dmFsIG89IjE1MTgxIiB2PSItOSIvPgorCQkJCQk8dmFsIG89IjE1Zjg1IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjE2ZDk1IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjE3YmE0IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjE4OWI1IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjE5N2M0IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjFhNWQ1IiB2PSItOSIvPgorCQkJCQk8dmFsIG89IjFiM2U2IiB2PSItOSIvPgorCQkJCQk8dmFsIG89IjFjMWY2IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjFkMDA1IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjFkZTE1IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjFlYzI1IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjFmYTM2IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjIwODQ1IiB2PSItOSIvPgorCQkJCQk8dmFsIG89IjIxNjU2IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjIyNDY1IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjIzMjc2IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjI0MDg2IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjI0ZTk5IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjI1Y2E3IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjI2YWI3IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjI3OGM2IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjI4NmQ2IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjI5NGU2IiB2PSItOSIvPgorCQkJCQk8dmFsIG89IjJhMzAxIiB2PSItOSIvPgorCQkJCQk8dmFsIG89IjJiMTA1IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjJiZjE1IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjJjZDI1IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjJkYjM1IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjJlOTQ2IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjJmNzU1IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjMwNTY2IiB2PSItOSIvPgorCQkJCQk8dmFsIG89IjMxMzc1IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjMyMTllIiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjMyZjk2IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjMzZGE2IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjM0YmI2IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjM1OWRlIiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjM2N2Q2IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjM3NWU2IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjM4NDBlIiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjM5MjFlIiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjNhMDE2IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjNhZTI3IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjNiYzM2IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjNjYTQ3IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjNkODU2IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjNlNjY3IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjNmNDgxIiB2PSItOSIvPgorCQkJCQk8dmFsIG89IjQwMjg1IiB2PSItOSIvPgorCQkJCQk8dmFsIG89IjQxMDk1IiB2PSItOSIvPgorCQkJCQk8dmFsIG89IjQxZWE1IiB2PSItOSIvPgorCQkJCQk8dmFsIG89IjQyY2I1IiB2PSItOSIvPgorCQkJCQk8dmFsIG89IjQzYWM1IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjQ0OGQ1IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjQ1NmU2IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjQ2NGY1IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjQ4MGZmIiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjQ4ZjBlIiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjQ5ZDFkIiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjRhYjQ2IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjRiOTU1IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjRjNzY5IiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjRkNTc3IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjRlMzg3IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjRmMTk2IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjRmZmE2IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjUwZGQwIiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjUxYmM2IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjUyOWQ2IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjUzN2U3IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjU0NjAwIiB2PSItOSIvPgorCQkJCQk8dmFsIG89IjU1NDA2IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjU2MjE1IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjU3MDI2IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjU3ZTM2IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjU4YzQ2IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjU5YTcwIiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjVhODY3IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjViNjc2IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjVjNDg3IiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjVkMjk2IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjVlMGE5IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjVlZWI4IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjVmY2M2IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjYwYWQ3IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjYxOGU3IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjYyNmY3IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjYzNTA3IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjY0MzE3IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjY1MTI3IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjY1ZjM3IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjY2ZDQ2IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjY3YjU3IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjY4OTY3IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjY5NzgyIiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjZhNTg2IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjZiMzk1IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjZjMWE2IiB2PSItOSIvPgorCQkJCQk8dmFsIG89IjZjZmI1IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjZkZGM2IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjZlYmQ2IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjZmOWU2IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjcwN2Y2IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjcxNjA3IiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjcyNDE3IiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjczMjI3IiB2PSItNiIvPgorCQkJCQk8dmFsIG89Ijc0MDM3IiB2PSItNyIvPgorCQkJCQk8dmFsIG89Ijc0ZTQ3IiB2PSItNyIvPgorCQkJCQk8dmFsIG89Ijc1YzU3IiB2PSItNyIvPgorCQkJCQk8dmFsIG89Ijc2YTYzIiB2PSItNiIvPgorCQkJCQk8dmFsIG89Ijc3ODczIiB2PSItNyIvPgorCQkJCQk8dmFsIG89Ijc4NjgwIiB2PSItNiIvPgorCQkJCQk8dmFsIG89Ijc5NDhmIiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjdhMjlmIiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjdiMGFmIiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjdiZWJmIiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjdjY2NmIiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjdkYWRmIiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjdlOGZhIiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjdmNzBhIiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjgwNTFhIiB2PSItOSIvPgorCQkJCQk8dmFsIG89IjgxMzJhIiB2PSItOSIvPgorCQkJCQk8dmFsIG89IjgyMTNhIiB2PSItOSIvPgorCQkJCQk8dmFsIG89IjgyZjRhIiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjgzZDVhIiB2PSItOCIvPgorCQkJCQk8dmFsIG89Ijg0YjZhIiB2PSItNyIvPgorCQkJCQk8dmFsIG89Ijg1OTdhIiB2PSItNyIvPgorCQkJCQk8dmFsIG89Ijg2NzhiIiB2PSItNyIvPgorCQkJCQk8dmFsIG89Ijg3NTliIiB2PSItNyIvPgorCQkJCQk8dmFsIG89Ijg4M2FjIiB2PSItNyIvPgorCQkJCQk8dmFsIG89Ijg5MWJiIiB2PSItOCIvPgorCQkJCQk8dmFsIG89Ijg5ZmNhIiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjhhZGRhIiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjhiYmViIiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjhjOWZjIiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjhkODBiIiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjhlNjFhIiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjhmNDJhIiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjkwMjNhIiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjkxMDRhIiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjkxZTVhIiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjkyYzZhIiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjkzYTg0IiB2PSItOSIvPgorCQkJCQk8dmFsIG89Ijk0ODg1IiB2PSItOCIvPgorCQkJCQk8dmFsIG89Ijk1Njk0IiB2PSItOSIvPgorCQkJCQk8dmFsIG89Ijk2NGE1IiB2PSItOSIvPgorCQkJCQk8dmFsIG89Ijk3MmI0IiB2PSItOCIvPgorCQkJCQk8dmFsIG89Ijk4MGM1IiB2PSItOCIvPgorCQkJCQk8dmFsIG89Ijk4ZWQ0IiB2PSItOCIvPgorCQkJCQk8dmFsIG89Ijk5Y2U1IiB2PSItOCIvPgorCQkJCQk8dmFsIG89IjlhYWY1IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjliOTA2IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjljNzE2IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjlkNTI2IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjllMzM2IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjlmMTQ1IiB2PSItNyIvPgorCQkJCQk8dmFsIG89IjlmZjU2IiB2PSItNyIvPgorCQkJCQk8dmFsIG89ImEwZDY1IiB2PSItNyIvPgorCQkJCQk8dmFsIG89ImExYjc3IiB2PSItNjQ2MCIvPgorCQkJCQk8dmFsIG89ImEyOTg2IiB2PSItMzU0NiIvPgorCQkJCQk8dmFsIG89ImEzNzk1IiB2PSItOTg2Ii8+CisJCQkJCTx2YWwgbz0iYTQ1YTciIHY9IjY5NyIvPgorCQkJCQk8dmFsIG89ImE1M2I2IiB2PSI3NzYiLz4KKwkJCQkJPHZhbCBvPSJhNjFjNyIgdj0iOTI1Ii8+CisJCQkJCTx2YWwgbz0iYTZmZDYiIHY9IjEyNSIvPgorCQkJCQk8dmFsIG89ImE3ZTAwIiB2PSI0NTYiLz4KKwkJCQkJPHZhbCBvPSJhOGMwMCIgdj0iOTAzIi8+CisJCQkJCTx2YWwgbz0iYTlhMDUiIHY9IjI3OCIvPgorCQkJCQk8dmFsIG89ImFhODE1IiB2PSIyNyIvPgorCQkJCQk8dmFsIG89ImFiNjI1IiB2PSI0MyIvPgorCQkJCQk8dmFsIG89ImFjNDM1IiB2PSIxNzMiLz4KKwkJCQkJPHZhbCBvPSJhZDI0NSIgdj0iOTQ3Ii8+CisJCQkJCTx2YWwgbz0iYWUwNTUiIHY9IjcyOCIvPgorCQkJCQk8dmFsIG89ImFlZTY1IiB2PSItNDUyIi8+CisJCQkJCTx2YWwgbz0iYWZjNzUiIHY9Ii0xMTciLz4KKwkJCQkJPHZhbCBvPSJiMGE4NSIgdj0iMjMiLz4KKwkJCQkJPHZhbCBvPSJiMjZhNiIgdj0iMTgyIi8+CisJCQkJCTx2YWwgbz0iYjM0YjYiIHY9Ii0xNTIiLz4KKwkJCQkJPHZhbCBvPSJiNDJjNiIgdj0iLTQyMyIvPgorCQkJCQk8dmFsIG89ImI1MGQ2IiB2PSItNzA1Ii8+CisJCQkJCTx2YWwgbz0iYjVlZTciIHY9Ii03OTAiLz4KKwkJCQkJPHZhbCBvPSJiNmNmNiIgdj0iLTE1NzUiLz4KKwkJCQkJPHZhbCBvPSJiN2IwNyIgdj0iLTIwMjciLz4KKwkJCQkJPHZhbCBvPSJiODkxNyIgdj0iLTE3NTciLz4KKwkJCQkJPHZhbCBvPSJiOTcyOCIgdj0iLTE3MjIiLz4KKwkJCQkJPHZhbCBvPSJiYTUzNyIgdj0iLTE5MDEiLz4KKwkJCQkJPHZhbCBvPSJiYjM0NyIgdj0iLTc0MSIvPgorCQkJCQk8dmFsIG89ImJjMTU3IiB2PSItODEyIi8+CisJCQkJCTx2YWwgbz0iYmNmNjciIHY9Ii04OTEiLz4KKwkJCQkJPHZhbCBvPSJiZGQ4MSIgdj0iNjUyIi8+CisJCQkJCTx2YWwgbz0iYmViODYiIHY9IjQxMSIvPgorCQkJCQk8dmFsIG89ImJmOTk1IiB2PSI1MTYiLz4KKwkJCQkJPHZhbCBvPSJjMDdhNiIgdj0iMzk4Ii8+CisJCQkJCTx2YWwgbz0iYzE1YjUiIHY9IjM4MiIvPgorCQkJCQk8dmFsIG89ImMyM2M2IiB2PSI0NzAiLz4KKwkJCQkJPHZhbCBvPSJjMzFkNSIgdj0iNTkxIi8+CisJCQkJCTx2YWwgbz0iYzNmZTYiIHY9IjI2NyIvPgorCQkJCQk8dmFsIG89ImM0ZGY1IiB2PSI3NzAiLz4KKwkJCQkJPHZhbCBvPSJjNWMwNiIgdj0iMTY0Ii8+CisJCQkJCTx2YWwgbz0iYzZhMTYiIHY9IjQzOCIvPgorCQkJCQk8dmFsIG89ImM3ODI2IiB2PSItNDMiLz4KKwkJCQkJPHZhbCBvPSJjODYzNiIgdj0iNzIiLz4KKwkJCQkJPHZhbCBvPSJjOTQ0NiIgdj0iMjQ5Ii8+CisJCQkJCTx2YWwgbz0iY2EyNTYiIHY9IjIwMSIvPgorCQkJCQk8dmFsIG89ImNiMDY2IiB2PSIxMTUiLz4KKwkJCQkJPHZhbCBvPSJjYmU3NiIgdj0iLTQyNSIvPgorCQkJCQk8dmFsIG89ImNjYzg3IiB2PSItMjI5Ii8+CisJCQkJCTx2YWwgbz0iY2RhOTYiIHY9Ii0yODQiLz4KKwkJCQkJPHZhbCBvPSJjZThhOCIgdj0iLTI0NyIvPgorCQkJCQk8dmFsIG89ImNmNmI3IiB2PSItMTM1Ii8+CisJCQkJCTx2YWwgbz0iZDA0YzgiIHY9Ii01NCIvPgorCQkJCQk8dmFsIG89ImQxMmQ3IiB2PSI5NiIvPgorCQkJCQk8dmFsIG89ImQyMGU3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iZDJmMDIiIHY9IjE2Ii8+CisJCQkJCTx2YWwgbz0iZDNkMDUiIHY9IjU5OCIvPgorCQkJCQk8dmFsIG89ImQ0YjE1IiB2PSI3MjEiLz4KKwkJCQkJPHZhbCBvPSJkNTkyNiIgdj0iODE4Ii8+CisJCQkJCTx2YWwgbz0iZDY3MzUiIHY9IjEwNjciLz4KKwkJCQkJPHZhbCBvPSJkNzU0NiIgdj0iMTI0NSIvPgorCQkJCQk8dmFsIG89ImQ4MzU1IiB2PSItMTE3Ii8+CisJCQkJCTx2YWwgbz0iZDkxNjYiIHY9Ii03MjEiLz4KKwkJCQkJPHZhbCBvPSJkOWY3NSIgdj0iLTE1MDQiLz4KKwkJCQkJPHZhbCBvPSJkYWQ4NyIgdj0iLTIwODQiLz4KKwkJCQkJPHZhbCBvPSJkYmI5NyIgdj0iLTI1NTQiLz4KKwkJCQkJPHZhbCBvPSJkYzlhOCIgdj0iLTIzNDUiLz4KKwkJCQkJPHZhbCBvPSJkZDdiNyIgdj0iLTI5MjAiLz4KKwkJCQkJPHZhbCBvPSJkZTVjNiIgdj0iLTI3MTIiLz4KKwkJCQkJPHZhbCBvPSJkZjNkNyIgdj0iLTI4NTgiLz4KKwkJCQkJPHZhbCBvPSJlMDFkNyIgdj0iLTI5MjgiLz4KKwkJCQkJPHZhbCBvPSJlMGZlNSIgdj0iLTI4MDMiLz4KKwkJCQkJPHZhbCBvPSJlMWRmNSIgdj0iLTMwMzIiLz4KKwkJCQkJPHZhbCBvPSJlMmMwNCIgdj0iLTQwMTciLz4KKwkJCQkJPHZhbCBvPSJlM2ExNCIgdj0iLTM5MTgiLz4KKwkJCQkJPHZhbCBvPSJlNDgyNCIgdj0iLTM0MTIiLz4KKwkJCQkJPHZhbCBvPSJlNTYzNCIgdj0iLTM0NDEiLz4KKwkJCQkJPHZhbCBvPSJlNjQ0NCIgdj0iLTI1NjEiLz4KKwkJCQkJPHZhbCBvPSJlNzI1NSIgdj0iLTIxMzkiLz4KKwkJCQkJPHZhbCBvPSJlODA2ZiIgdj0iLTE3NjUiLz4KKwkJCQkJPHZhbCBvPSJlOGU3ZiIgdj0iLTQ2NSIvPgorCQkJCQk8dmFsIG89ImU5YzhlIiB2PSItNzAyIi8+CisJCQkJCTx2YWwgbz0iZWFhOWYiIHY9Ii02NDciLz4KKwkJCQkJPHZhbCBvPSJlYjhhZSIgdj0iLTY3NiIvPgorCQkJCQk8dmFsIG89ImVjNmJmIiB2PSItNTA5Ii8+CisJCQkJCTx2YWwgbz0iZWQ0Y2UiIHY9Ii0yMTUwIi8+CisJCQkJCTx2YWwgbz0iZWUyZGYiIHY9Ii0yMzU1Ii8+CisJCQkJCTx2YWwgbz0iZWYwZWYiIHY9Ii0zMTcxIi8+CisJCQkJCTx2YWwgbz0iZWZmMDEiIHY9Ii00MDMxIi8+CisJCQkJCTx2YWwgbz0iZjBkMTAiIHY9Ii00MzM4Ii8+CisJCQkJCTx2YWwgbz0iZjFiMjAiIHY9Ii00NjUxIi8+CisJCQkJCTx2YWwgbz0iZjI5MzAiIHY9Ii00NjY4Ii8+CisJCQkJCTx2YWwgbz0iZjM3NDAiIHY9Ii00MzQ2Ii8+CisJCQkJCTx2YWwgbz0iZjQ1NTEiIHY9Ii00NTcxIi8+CisJCQkJCTx2YWwgbz0iZjUzNjEiIHY9Ii00OTI5Ii8+CisJCQkJCTx2YWwgbz0iZjYxNzIiIHY9Ii00NjA3Ii8+CisJCQkJCTx2YWwgbz0iZjZmODAiIHY9Ii00ODY2Ii8+CisJCQkJCTx2YWwgbz0iZjdkOTEiIHY9Ii00MzA4Ii8+CisJCQkJCTx2YWwgbz0iZjhiYTEiIHY9Ii0zODk3Ii8+CisJCQkJCTx2YWwgbz0iZjk5YjEiIHY9Ii0zNzg0Ii8+CisJCQkJCTx2YWwgbz0iZmE3YzAiIHY9Ii0yOTg4Ii8+CisJCQkJCTx2YWwgbz0iZmI1ZDEiIHY9Ii0zMDk5Ii8+CisJCQkJCTx2YWwgbz0iZmMzZTAiIHY9Ii0zMzM1Ii8+CisJCQkJCTx2YWwgbz0iZmQxZmIiIHY9Ii0yNjg2Ii8+CisJCQkJCTx2YWwgbz0iZmUwMGIiIHY9Ii0yNTIyIi8+CisJCQkJCTx2YWwgbz0iZmVlMWMiIHY9Ii0yMDc0Ii8+CisJCQkJCTx2YWwgbz0iZmZjMmMiIHY9Ii0xOTg5Ii8+CisJCQkJCTx2YWwgbz0iMTAwYTNiIiB2PSItMTc4OCIvPgorCQkJCQk8dmFsIG89IjEwMTg0YyIgdj0iLTE3OTUiLz4KKwkJCQkJPHZhbCBvPSIxMDI2NWIiIHY9Ii0yMDc1Ii8+CisJCQkJCTx2YWwgbz0iMTAzNDZjIiB2PSItMjY5OCIvPgorCQkJCQk8dmFsIG89IjEwNDI3YiIgdj0iLTM5MzIiLz4KKwkJCQkJPHZhbCBvPSIxMDUwOGQiIHY9Ii00NDA2Ii8+CisJCQkJCTx2YWwgbz0iMTA1ZTlkIiB2PSItNDM2NiIvPgorCQkJCQk8dmFsIG89IjEwNmNhZCIgdj0iLTQ2OTIiLz4KKwkJCQkJPHZhbCBvPSIxMDdhYmQiIHY9Ii00MzAyIi8+CisJCQkJCTx2YWwgbz0iMTA4OGNkIiB2PSItMzkyNyIvPgorCQkJCQk8dmFsIG89IjEwOTZkZSIgdj0iLTQxMDEiLz4KKwkJCQkJPHZhbCBvPSIxMGE0ZWQiIHY9Ii00MTg3Ii8+CisJCQkJCTx2YWwgbz0iMTBiMmZlIiB2PSItNDM0MiIvPgorCQkJCQk8dmFsIG89IjEwYzEwZCIgdj0iLTQxNjIiLz4KKwkJCQkJPHZhbCBvPSIxMGNmMWUiIHY9Ii00NDU2Ii8+CisJCQkJCTx2YWwgbz0iMTBkZDJlIiB2PSItNDEzMiIvPgorCQkJCQk8dmFsIG89IjEwZWI2NiIgdj0iLTQ0OTkiLz4KKwkJCQkJPHZhbCBvPSIxMGY5NGUiIHY9Ii0zODgyIi8+CisJCQkJCTx2YWwgbz0iMTEwNzVlIiB2PSItMzI5NSIvPgorCQkJCQk8dmFsIG89IjExMTU2ZCIgdj0iLTI4NjMiLz4KKwkJCQkJPHZhbCBvPSIxMTIzODgiIHY9Ii0yNjY4Ii8+CisJCQkJCTx2YWwgbz0iMTEzMTg3IiB2PSItMTc3OCIvPgorCQkJCQk8dmFsIG89IjExM2ZiMCIgdj0iLTE4MTAiLz4KKwkJCQkJPHZhbCBvPSIxMTRkYTYiIHY9Ii0xODI5Ii8+CisJCQkJCTx2YWwgbz0iMTE1YmI2IiB2PSItMTgwMCIvPgorCQkJCQk8dmFsIG89IjExNjljNiIgdj0iLTE1OTUiLz4KKwkJCQkJPHZhbCBvPSIxMTc3ZDYiIHY9Ii0yMDUwIi8+CisJCQkJCTx2YWwgbz0iMTE4NWU4IiB2PSItMjk2MSIvPgorCQkJCQk8dmFsIG89IjExOTNmNyIgdj0iLTM2MjciLz4KKwkJCQkJPHZhbCBvPSIxMWEyMDgiIHY9Ii00ODMwIi8+CisJCQkJCTx2YWwgbz0iMTFiMDE3IiB2PSItNDI5NiIvPgorCQkJCQk8dmFsIG89IjExYmUyZiIgdj0iLTUyNTciLz4KKwkJCQkJPHZhbCBvPSIxMWNjMzciIHY9Ii00NDA4Ii8+CisJCQkJCTx2YWwgbz0iMTFkYTQ3IiB2PSItNDMyNiIvPgorCQkJCQk8dmFsIG89IjExZTg1NyIgdj0iLTQ0MjAiLz4KKwkJCQkJPHZhbCBvPSIxMWY2NjciIHY9Ii0zOTUwIi8+CisJCQkJCTx2YWwgbz0iMTIwNTc4IiB2PSItNCIvPgorCQkJCQk8dmFsIG89IjEyMTM4NiIgdj0iLTQiLz4KKwkJCQkJPHZhbCBvPSIxMjIxOTYiIHY9Ii00Ii8+CisJCQkJCTx2YWwgbz0iMTIyZmE2IiB2PSItMyIvPgorCQkJCQk8dmFsIG89IjEyM2RiNSIgdj0iLTMiLz4KKwkJCQkJPHZhbCBvPSIxMjRiYzUiIHY9Ii0zIi8+CisJCQkJCTx2YWwgbz0iMTI1OWQ1IiB2PSItMiIvPgorCQkJCQk8dmFsIG89IjEyNjdlNCIgdj0iLTIiLz4KKwkJCQkJPHZhbCBvPSIxMjc2MDAiIHY9Ii0yIi8+CisJCQkJCTx2YWwgbz0iMTI4MzA1IiB2PSItMiIvPgorCQkJCQk8dmFsIG89IjEyOTExNSIgdj0iLTIiLz4KKwkJCQkJPHZhbCBvPSIxMjlmMjUiIHY9Ii0yIi8+CisJCQkJCTx2YWwgbz0iMTJhZDM1IiB2PSItMiIvPgorCQkJCQk8dmFsIG89IjEyYmI0NSIgdj0iLTEiLz4KKwkJCQkJPHZhbCBvPSIxMmM5NTQiIHY9Ii0yIi8+CisJCQkJCTx2YWwgbz0iMTJkNzY2IiB2PSItMiIvPgorCQkJCQk8dmFsIG89IjEyZTU3NSIgdj0iLTMiLz4KKwkJCQkJPHZhbCBvPSIxMmYzODYiIHY9Ii0yIi8+CisJCQkJCTx2YWwgbz0iMTMwMTk2IiB2PSItNCIvPgorCQkJCQk8dmFsIG89IjEzMGZhNiIgdj0iLTMiLz4KKwkJCQkJPHZhbCBvPSIxMzFkYjciIHY9Ii0zIi8+CisJCQkJCTx2YWwgbz0iMTMyYmM1IiB2PSItMyIvPgorCQkJCQk8dmFsIG89IjEzMzlkNCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEzNDdlNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEzNTVmNCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEzNjQwNCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEzNzIxNCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEzODAyNCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEzOGUzMyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEzOWM0NCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEzYWE1NCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEzYjg2NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEzYzY3ZSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEzZDQ4ZSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEzZTI5ZSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEzZjBhZSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEzZmViZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0MGNjZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0MWFkZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0MjhlZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0MzZmZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0NDUwZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0NTMxZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0NjEzMCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0NmY0MCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0N2Q0NCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0OGI1NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0OTk2NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0YTc3NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0YjU4NCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0YzM5NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0ZDFhNCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0ZGZiNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0ZWRjNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0ZmJkNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1MDllNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1MTdmZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1MjYwNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1MzQxNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1NDIyNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1NTAzNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1NWU0NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1NmM1NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1N2E2NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1ODg3NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1OTY4NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1YTQ5NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1YjJhNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1YzBiNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1Y2VjNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1ZGNkNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1ZWFlNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1ZjhmNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2MDcwNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2MTUxNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2MjMyNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2MzEzNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2M2Y0NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2NGQ1NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2NWI2NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2Njk4MiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2Nzc4NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2ODU5NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2OTNhNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2YTFiNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2YWZjNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2YmRkNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2Y2JlNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2ZDlmNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2ZTgwNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2ZjYxNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE3MDQyOSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE3MTIzNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE3MjA0NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE3MmU1NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE3M2M2NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE3NGE3NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE3NTg4NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE3NjY5NCIgdj0iLTY4NjgiLz4KKwkJCQkJPHZhbCBvPSIxNzc0YTMiIHY9Ii02NzkwIi8+CisJCQkJCTx2YWwgbz0iMTc4MmIzIiB2PSItNzI1MiIvPgorCQkJCQk8dmFsIG89IjE3OTBjNSIgdj0iLTY3MzQiLz4KKwkJCQkJPHZhbCBvPSIxNzllZDQiIHY9Ii02MDMwIi8+CisJCQkJCTx2YWwgbz0iMTdhY2U0IiB2PSItNTg5MiIvPgorCQkJCQk8dmFsIG89IjE3YmFmZCIgdj0iLTYwNjYiLz4KKwkJCQkJPHZhbCBvPSIxN2M5MGYiIHY9Ii01NDg2Ii8+CisJCQkJCTx2YWwgbz0iMTdkNzFlIiB2PSItNTQ0NCIvPgorCQkJCQk8dmFsIG89IjE3ZTUyZiIgdj0iLTUzMzkiLz4KKwkJCQkJPHZhbCBvPSIxN2YzM2YiIHY9Ii00OTgzIi8+CisJCQkJCTx2YWwgbz0iMTgwMTRmIiB2PSItNTE5MCIvPgorCQkJCQk8dmFsIG89IjE4MGY1ZiIgdj0iLTYzMTMiLz4KKwkJCQkJPHZhbCBvPSIxODFkNmUiIHY9Ii02ODM5Ii8+CisJCQkJCTx2YWwgbz0iMTgyYjdmIiB2PSItNzg1MyIvPgorCQkJCQk8dmFsIG89IjE4Mzk4ZiIgdj0iLTEzNTA3Ii8+CisJCQkJCTx2YWwgbz0iMTg0N2ExIiB2PSItMTMzODEiLz4KKwkJCQkJPHZhbCBvPSIxODU1YWYiIHY9Ii0xMjc3OCIvPgorCQkJCQk8dmFsIG89IjE4NjNjMCIgdj0iLTExODkwIi8+CisJCQkJCTx2YWwgbz0iMTg3MWNmIiB2PSItMTIzMzgiLz4KKwkJCQkJPHZhbCBvPSIxODdmZTAiIHY9Ii0xMTc3NCIvPgorCQkJCQk8dmFsIG89IjE4OGRlZiIgdj0iLTEyNjQ5Ii8+CisJCQkJCTx2YWwgbz0iMTg5YzAwIiB2PSItMTE4NDkiLz4KKwkJCQkJPHZhbCBvPSIxOGI4MGQiIHY9Ii03NDcxIi8+CisJCQkJCTx2YWwgbz0iMThjNjFjIiB2PSItODEyNiIvPgorCQkJCQk8dmFsIG89IjE4ZDQyYyIgdj0iLTc2OTYiLz4KKwkJCQkJPHZhbCBvPSIxOGUyM2IiIHY9Ii02NTM4Ii8+CisJCQkJCTx2YWwgbz0iMThmMDRiIiB2PSItNjE3NSIvPgorCQkJCQk8dmFsIG89IjE4ZmU1ZSIgdj0iLTU2NjQiLz4KKwkJCQkJPHZhbCBvPSIxOTBjNzYiIHY9Ii00NDgwIi8+CisJCQkJCTx2YWwgbz0iMTkxYTg2IiB2PSItNDMwMCIvPgorCQkJCQk8dmFsIG89IjE5Mjg5NiIgdj0iLTQyNjMiLz4KKwkJCQkJPHZhbCBvPSIxOTM2YTYiIHY9Ii00MTE5Ii8+CisJCQkJCTx2YWwgbz0iMTk0NGI3IiB2PSItNDEwMyIvPgorCQkJCQk8dmFsIG89IjE5NTJjNiIgdj0iLTQ1MTEiLz4KKwkJCQkJPHZhbCBvPSIxOTYwZDciIHY9Ii01MTM1Ii8+CisJCQkJCTx2YWwgbz0iMTk2ZWU2IiB2PSItNjAzOCIvPgorCQkJCQk8dmFsIG89IjE5N2NmOCIgdj0iLTYzOTIiLz4KKwkJCQkJPHZhbCBvPSIxOThiMGYiIHY9Ii01ODk5Ii8+CisJCQkJCTx2YWwgbz0iMTk5OTFmIiB2PSItNjY5MCIvPgorCQkJCQk8dmFsIG89IjE5YjU0MSIgdj0iLTY2MDMiLz4KKwkJCQkJPHZhbCBvPSIxOWMzNGQiIHY9Ii02MTU5Ii8+CisJCQkJCTx2YWwgbz0iMTlkMTVlIiB2PSItNjEyOCIvPgorCQkJCQk8dmFsIG89IjE5ZGY4MCIgdj0iLTYyMjAiLz4KKwkJCQkJPHZhbCBvPSIxOWVkOTAiIHY9Ii02MDQ3Ii8+CisJCQkJCTx2YWwgbz0iMTllZWJlIiB2PSItNjAwOSIvPgorCQkJCQk8dmFsIG89IjE5ZmI4ZSIgdj0iLTIyOTUiLz4KKwkJCQkJPHZhbCBvPSIxYTA5YTAiIHY9Ii0yNTQzIi8+CisJCQkJCTx2YWwgbz0iMWExN2FlIiB2PSItMzA4NSIvPgorCQkJCQk8dmFsIG89IjFhMjViZSIgdj0iLTMyNjkiLz4KKwkJCQkJPHZhbCBvPSIxYTMzY2QiIHY9Ii0yMjY3Ii8+CisJCQkJCTx2YWwgbz0iMWE0MWRkIiB2PSItMjE1OSIvPgorCQkJCQk8dmFsIG89IjFhNGZlZCIgdj0iLTE1MzIiLz4KKwkJCQkJPHZhbCBvPSIxYTVlMDgiIHY9Ii0xNjc1Ii8+CisJCQkJCTx2YWwgbz0iMWE2YzA1IiB2PSItOTYwIi8+CisJCQkJCTx2YWwgbz0iMWE3YTE1IiB2PSItMTEyMiIvPgorCQkJCQk8dmFsIG89IjFhODgyNiIgdj0iLTEwNjEiLz4KKwkJCQkJPHZhbCBvPSIxYTk2MzciIHY9Ii01MDUiLz4KKwkJCQkJPHZhbCBvPSIxYWE0NDUiIHY9Ii01MzYiLz4KKwkJCQkJPHZhbCBvPSIxYWIyNTUiIHY9Ii05OTEiLz4KKwkJCQkJPHZhbCBvPSIxYWMwNjUiIHY9Ii0xODE4Ii8+CisJCQkJCTx2YWwgbz0iMWFjZTc1IiB2PSItMjU3NCIvPgorCQkJCQk8dmFsIG89IjFhZGM4NyIgdj0iLTI4NDQiLz4KKwkJCQkJPHZhbCBvPSIxYWVhOTYiIHY9Ii0yNjA4Ii8+CisJCQkJCTx2YWwgbz0iMWFmOGE3IiB2PSItMjkyOCIvPgorCQkJCQk8dmFsIG89IjFiMDZiNyIgdj0iLTIxMTIiLz4KKwkJCQkJPHZhbCBvPSIxYjE0YzYiIHY9Ii0yMDc0Ii8+CisJCQkJCTx2YWwgbz0iMWM3NDYwIiB2PSIzNTQiLz4KKwkJCQkJPHZhbCBvPSIxYzgyNzAiIHY9IjQzOCIvPgorCQkJCQk8dmFsIG89IjFjOTA3ZSIgdj0iMzQwOCIvPgorCQkJCQk8dmFsIG89IjFjOWU4ZiIgdj0iMzI2OSIvPgorCQkJCQk8dmFsIG89IjFjYWNhMiIgdj0iMzY1NSIvPgorCQkJCQk8dmFsIG89IjFjYmFiMSIgdj0iMzUyMSIvPgorCQkJCQk8dmFsIG89IjFjYzhjMSIgdj0iNTQzMSIvPgorCQkJCQk8dmFsIG89IjFjZDZkMCIgdj0iNTU2MCIvPgorCQkJCQk8dmFsIG89IjFjZTRkZSIgdj0iNTY2MCIvPgorCQkJCQk8dmFsIG89IjFjZjJmMCIgdj0iNTYyMyIvPgorCQkJCQk8dmFsIG89IjFkMDEwOSIgdj0iNTg5NiIvPgorCQkJCQk8dmFsIG89IjFkMGYwNiIgdj0iNjY1NiIvPgorCQkJCQk8dmFsIG89IjFkMWQxNSIgdj0iNjY0NyIvPgorCQkJCQk8dmFsIG89IjFkMmIyNSIgdj0iNjczMyIvPgorCQkJCQk8dmFsIG89IjFkMzkzNSIgdj0iNjkxNCIvPgorCQkJCQk8dmFsIG89IjFkNDc0NSIgdj0iNjg3MyIvPgorCQkJCQk8dmFsIG89IjFkNTU1NSIgdj0iNjY5MSIvPgorCQkJCQk8dmFsIG89IjFkNjM2NiIgdj0iNTgxNCIvPgorCQkJCQk8dmFsIG89IjFkNzE3NSIgdj0iNTYxNyIvPgorCQkJCQk8dmFsIG89IjFkN2Y4NiIgdj0iNTYwOCIvPgorCQkJCQk8dmFsIG89IjFkOGQ5NSIgdj0iLTMyMzAiLz4KKwkJCQkJPHZhbCBvPSIxZDliYTYiIHY9Ii0zNjU2Ii8+CisJCQkJCTx2YWwgbz0iMWRhOWI2IiB2PSItMzYyMCIvPgorCQkJCQk8dmFsIG89IjFkYjdjNyIgdj0iLTM0NDkiLz4KKwkJCQkJPHZhbCBvPSIxZGM1ZDUiIHY9Ii0zNjAxIi8+CisJCQkJCTx2YWwgbz0iMWRkM2U2IiB2PSItMzczNSIvPgorCQkJCQk8dmFsIG89IjFkZTFmNSIgdj0iLTU5OTYiLz4KKwkJCQkJPHZhbCBvPSIxZGYwMDYiIHY9Ii02NzE4Ii8+CisJCQkJCTx2YWwgbz0iMWRmZTE2IiB2PSItNjU4MyIvPgorCQkJCQk8dmFsIG89IjFlMGMyNiIgdj0iLTY3NjciLz4KKwkJCQkJPHZhbCBvPSIxZTFhMzYiIHY9Ii02ODAwIi8+CisJCQkJCTx2YWwgbz0iMWUyODQ3IiB2PSItNjUyNSIvPgorCQkJCQk8dmFsIG89IjFlMzY1OSIgdj0iLTYxNzAiLz4KKwkJCQkJPHZhbCBvPSIxZTQ0NjciIHY9Ii01Njc2Ii8+CisJCQkJCTx2YWwgbz0iMWU1MjgxIiB2PSItNDkxMSIvPgorCQkJCQk8dmFsIG89IjFlNjA4NiIgdj0iLTQ5MTEiLz4KKwkJCQkJPHZhbCBvPSIxZTZlOTYiIHY9Ii00ODAxIi8+CisJCQkJCTx2YWwgbz0iMWU3Y2E2IiB2PSItMTk4MiIvPgorCQkJCQk8dmFsIG89IjFlOGFiNSIgdj0iLTE4MTAiLz4KKwkJCQkJPHZhbCBvPSIxZTk4YzYiIHY9Ii0xODM0Ii8+CisJCQkJCTx2YWwgbz0iMWVhNmQ1IiB2PSItMjI1NiIvPgorCQkJCQk8dmFsIG89IjFlYjRlNiIgdj0iLTIzMjUiLz4KKwkJCQkJPHZhbCBvPSIxZWMyZjYiIHY9Ii0yNjg0Ii8+CisJCQkJCTx2YWwgbz0iMWVkMTA2IiB2PSItMjY3NSIvPgorCQkJCQk8dmFsIG89IjFlZGYxNiIgdj0iLTI3NzgiLz4KKwkJCQkJPHZhbCBvPSIxZWVkMjYiIHY9Ii0yNjg4Ii8+CisJCQkJCTx2YWwgbz0iMWVmYjM2IiB2PSItMjY1MCIvPgorCQkJCQk8dmFsIG89IjFmMDk0NiIgdj0iLTI1NTciLz4KKwkJCQkJPHZhbCBvPSIxZjE3NTYiIHY9Ii0yMzU1Ii8+CisJCQkJCTx2YWwgbz0iMWYyNTY2IiB2PSItMjMxOCIvPgorCQkJCQk8dmFsIG89IjFmMzM3NiIgdj0iLTI1ODIiLz4KKwkJCQkJPHZhbCBvPSIxZjQxODciIHY9Ii0yODExIi8+CisJCQkJCTx2YWwgbz0iMWY0Zjk2IiB2PSItMzE4MiIvPgorCQkJCQk8dmFsIG89IjFmNWRhNyIgdj0iLTM1NzgiLz4KKwkJCQkJPHZhbCBvPSIxZjZiYjYiIHY9Ii0zNTQ0Ii8+CisJCQkJCTx2YWwgbz0iMWY3OWM3IiB2PSItMzE0OCIvPgorCQkJCQk8dmFsIG89IjFmODdkNiIgdj0iLTMzNDUiLz4KKwkJCQkJPHZhbCBvPSIxZjk1ZTciIHY9Ii0zMTM3Ii8+CisJCQkJCTx2YWwgbz0iMWZhNDAxIiB2PSItMjgwOSIvPgorCQkJCQk8dmFsIG89IjFmYjIwNCIgdj0iLTI1MDEiLz4KKwkJCQkJPHZhbCBvPSIxZmMwMTYiIHY9Ii0yNDkzIi8+CisJCQkJCTx2YWwgbz0iMWZjZTI1IiB2PSItMjE1NyIvPgorCQkJCQk8dmFsIG89IjFmZGMzNSIgdj0iLTIxMzciLz4KKwkJCQkJPHZhbCBvPSIxZmVhNDUiIHY9Ii0yMTU1Ii8+CisJCQkJCTx2YWwgbz0iMWZmODU1IiB2PSItMjQ5OCIvPgorCQkJCQk8dmFsIG89IjIwMDY2NSIgdj0iLTIzNjgiLz4KKwkJCQkJPHZhbCBvPSIyMDE0NzUiIHY9Ii0zNTEzIi8+CisJCQkJCTx2YWwgbz0iMjAyMjg2IiB2PSItNDU2NiIvPgorCQkJCQk8dmFsIG89IjIwMzA5NSIgdj0iLTUzNDUiLz4KKwkJCQkJPHZhbCBvPSIyMDNlYTUiIHY9Ii02MDU3Ii8+CisJCQkJCTx2YWwgbz0iMjA0Y2I2IiB2PSItNTc5OSIvPgorCQkJCQk8dmFsIG89IjIwNWFjNiIgdj0iLTUzNDEiLz4KKwkJCQkJPHZhbCBvPSIyMDY4ZDYiIHY9Ii01Mzk1Ii8+CisJCQkJCTx2YWwgbz0iMjA3NmU2IiB2PSItNTk3OSIvPgorCQkJCQk8dmFsIG89IjIwODRmNiIgdj0iLTYwOTAiLz4KKwkJCQkJPHZhbCBvPSIyMDkzMDYiIHY9Ii02Nzc4Ii8+CisJCQkJCTx2YWwgbz0iMjBhMTE2IiB2PSItNjM3OCIvPgorCQkJCQk8dmFsIG89IjIwYWYyNiIgdj0iLTU0NzMiLz4KKwkJCQkJPHZhbCBvPSIyMGJkMzciIHY9Ii01MzgyIi8+CisJCQkJCTx2YWwgbz0iMjBjYjQ2IiB2PSItNDYwOCIvPgorCQkJCQk8dmFsIG89IjIwZDk1NyIgdj0iLTQzMTYiLz4KKwkJCQkJPHZhbCBvPSIyMGU3NjciIHY9Ii00MDU1Ii8+CisJCQkJCTx2YWwgbz0iMjBmNTgxIiB2PSItMzg2NyIvPgorCQkJCQk8dmFsIG89IjIxMDM4NiIgdj0iLTM0ODIiLz4KKwkJCQkJPHZhbCBvPSIyMTExOTQiIHY9Ii0zMTE2Ii8+CisJCQkJCTx2YWwgbz0iMjExZmE1IiB2PSItMzAxMCIvPgorCQkJCQk8dmFsIG89IjIxMmRiNSIgdj0iLTI5NDQiLz4KKwkJCQkJPHZhbCBvPSIyMTNiYzUiIHY9Ii0yODE5Ii8+CisJCQkJCTx2YWwgbz0iMjE0OWQ2IiB2PSItMzY0NCIvPgorCQkJCQk8dmFsIG89IjIxNTdlNSIgdj0iLTQ0OTkiLz4KKwkJCQkJPHZhbCBvPSIyMTY1ZjYiIHY9Ii01Nzk1Ii8+CisJCQkJCTx2YWwgbz0iMjE3NDA2IiB2PSItNjE5OCIvPgorCQkJCQk8dmFsIG89IjIxODIxNyIgdj0iLTYxNzQiLz4KKwkJCQkJPHZhbCBvPSIyMTkwMjYiIHY9Ii02MTAyIi8+CisJCQkJCTx2YWwgbz0iMjE5ZTM5IiB2PSItNjIxOCIvPgorCQkJCQk8dmFsIG89IjIxYWM0NiIgdj0iLTU4OTgiLz4KKwkJCQkJPHZhbCBvPSIyMWJhNTciIHY9Ii01OTg2Ii8+CisJCQkJCTx2YWwgbz0iMjFjODY3IiB2PSItNTYzMyIvPgorCQkJCQk8dmFsIG89IjIxZDY3NyIgdj0iLTYyMTAiLz4KKwkJCQkJPHZhbCBvPSIyMWU0ODciIHY9Ii01NzgzIi8+CisJCQkJCTx2YWwgbz0iMjFmMjk2IiB2PSItNTcyNiIvPgorCQkJCQk8dmFsIG89IjIyMDBhNiIgdj0iLTU1MzkiLz4KKwkJCQkJPHZhbCBvPSIyMjBlYjciIHY9Ii01NDA4Ii8+CisJCQkJCTx2YWwgbz0iMjIxY2M2IiB2PSItNDYwOCIvPgorCQkJCQk8dmFsIG89IjIyMmFkNyIgdj0iLTM4NzYiLz4KKwkJCQkJPHZhbCBvPSIyMjM4ZTciIHY9Ii0zNjE4Ii8+CisJCQkJCTx2YWwgbz0iMjI0NzAxIiB2PSItMzI5MiIvPgorCQkJCQk8dmFsIG89IjIyNTUwNSIgdj0iLTE2ODUiLz4KKwkJCQkJPHZhbCBvPSIyMjYzMTUiIHY9Ii0yMDcyIi8+CisJCQkJCTx2YWwgbz0iMjI3MTI1IiB2PSItMjA1MCIvPgorCQkJCQk8dmFsIG89IjIyN2YzNSIgdj0iLTE2NzAiLz4KKwkJCQkJPHZhbCBvPSIyMjhkNDUiIHY9Ii0xNzkyIi8+CisJCQkJCTx2YWwgbz0iMjI5YjU0IiB2PSItMzQ4NSIvPgorCQkJCQk8dmFsIG89IjIyYTk2NSIgdj0iLTM5MTEiLz4KKwkJCQkJPHZhbCBvPSIyMmI3NzYiIHY9Ii00NTc4Ii8+CisJCQkJCTx2YWwgbz0iMjJjNTg2IiB2PSItNDc4OCIvPgorCQkJCQk8dmFsIG89IjIyZDM5NyIgdj0iLTQ0NTkiLz4KKwkJCQkJPHZhbCBvPSIyMmUxYTYiIHY9Ii00NjkzIi8+CisJCQkJCTx2YWwgbz0iMjJlZmI2IiB2PSItNDgzMCIvPgorCQkJCQk8dmFsIG89IjIyZmRjNyIgdj0iLTQ2NTIiLz4KKwkJCQkJPHZhbCBvPSIyMzBiZDciIHY9Ii00NDUyIi8+CisJCQkJCTx2YWwgbz0iMjMxOWU2IiB2PSItNTM5NCIvPgorCQkJCQk8dmFsIG89IjIzMjdmNiIgdj0iLTU1MzgiLz4KKwkJCQkJPHZhbCBvPSIyMzM2MWIiIHY9Ii01ODY2Ii8+CisJCQkJCTx2YWwgbz0iMjM0NDE2IiB2PSItNTIyNSIvPgorCQkJCQk8dmFsIG89IjIzNTIyNiIgdj0iLTUxNjIiLz4KKwkJCQkJPHZhbCBvPSIyMzYwMzciIHY9Ii01MjUwIi8+CisJCQkJCTx2YWwgbz0iMjM2ZTQ2IiB2PSItNDM4NCIvPgorCQkJCQk8dmFsIG89IjIzN2M1NyIgdj0iLTQyMTgiLz4KKwkJCQkJPHZhbCBvPSIyMzhhNjYiIHY9Ii00MDE2Ii8+CisJCQkJCTx2YWwgbz0iMjM5ODgxIiB2PSItMzIyMiIvPgorCQkJCQk8dmFsIG89IjIzYTY4NSIgdj0iLTMzMTEiLz4KKwkJCQkJPHZhbCBvPSIyM2I0OTUiIHY9Ii0zMTgzIi8+CisJCQkJCTx2YWwgbz0iMjNjMmE0IiB2PSItMjk3NCIvPgorCQkJCQk8dmFsIG89IjIzZDBiNSIgdj0iLTI5NDUiLz4KKwkJCQkJPHZhbCBvPSIyM2RlYzQiIHY9Ii0yOTMzIi8+CisJCQkJCTx2YWwgbz0iMjNlY2Q1IiB2PSItMzU3MCIvPgorCQkJCQk8dmFsIG89IjIzZmFlNCIgdj0iLTQ1NDUiLz4KKwkJCQkJPHZhbCBvPSIyNDA4ZjYiIHY9Ii01MTE5Ii8+CisJCQkJCTx2YWwgbz0iMjQxNzA2IiB2PSItNTczNyIvPgorCQkJCQk8dmFsIG89IjI0MjUxOCIgdj0iLTY1MTUiLz4KKwkJCQkJPHZhbCBvPSIyNDMzMjUiIHY9Ii02Nzc2Ii8+CisJCQkJCTx2YWwgbz0iMjQ0MTM3IiB2PSItNjc1NSIvPgorCQkJCQk8dmFsIG89IjI0NGY0NiIgdj0iLTYzNjEiLz4KKwkJCQkJPHZhbCBvPSIyNDZiNjYiIHY9Ii02NTQ2Ii8+CisJCQkJCTx2YWwgbz0iMjQ3OTc2IiB2PSItNjI3MyIvPgorCQkJCQk8dmFsIG89IjI0ODc4NiIgdj0iLTU0MDIiLz4KKwkJCQkJPHZhbCBvPSIyNDk1N2UiIHY9Ii01Nzk3Ii8+CisJCQkJCTx2YWwgbz0iMjRhMzhmIiB2PSItNTY0NyIvPgorCQkJCQk8dmFsIG89IjI0YjE5YyIgdj0iLTU3NDciLz4KKwkJCQkJPHZhbCBvPSIyNGJmYWMiIHY9Ii01NDQzIi8+CisJCQkJCTx2YWwgbz0iMjRjZGJjIiB2PSItNTQ0NSIvPgorCQkJCQk8dmFsIG89IjI0ZGJjZCIgdj0iLTQ1NTciLz4KKwkJCQkJPHZhbCBvPSIyNGU5ZTUiIHY9Ii00MDE5Ii8+CisJCQkJCTx2YWwgbz0iMjRmODA4IiB2PSItMzQ4NCIvPgorCQkJCQk8dmFsIG89IjI1MDYxNiIgdj0iLTM2MTYiLz4KKwkJCQkJPHZhbCBvPSIyNTE0MjYiIHY9Ii0zNTU5Ii8+CisJCQkJCTx2YWwgbz0iMjUyMjM2IiB2PSItMzQwOCIvPgorCQkJCQk8dmFsIG89IjI1MzA0NyIgdj0iLTM2MDkiLz4KKwkJCQkJPHZhbCBvPSIyNTNlNTYiIHY9Ii00MDIwIi8+CisJCQkJCTx2YWwgbz0iMjU0YzY3IiB2PSItNDE4MiIvPgorCQkJCQk8dmFsIG89IjI1NWE3NiIgdj0iLTQ5OTciLz4KKwkJCQkJPHZhbCBvPSIyNTY4ODciIHY9Ii01ODEwIi8+CisJCQkJCTx2YWwgbz0iMjU3Njk3IiB2PSItNTU5NSIvPgorCQkJCQk8dmFsIG89IjI1ODRhOCIgdj0iLTE1MjI0Ii8+CisJCQkJCTx2YWwgbz0iMjU5MmI2IiB2PSItODY5NSIvPgorCQkJCQk8dmFsIG89IjI1YTBjNyIgdj0iLTQ1NzUiLz4KKwkJCQkJPHZhbCBvPSIyNWFlZDciIHY9Ii02MzEzIi8+CisJCQkJCTx2YWwgbz0iMjViY2U3IiB2PSItNjEwNCIvPgorCQkJCQk8dmFsIG89IjI1Y2FmOCIgdj0iLTU3NTAiLz4KKwkJCQkJPHZhbCBvPSIyNWQ5MDciIHY9Ii01NzY0Ii8+CisJCQkJCTx2YWwgbz0iMjVlNzE4IiB2PSItNTY0OSIvPgorCQkJCQk8dmFsIG89IjI1ZjUyNyIgdj0iLTUyNDkiLz4KKwkJCQkJPHZhbCBvPSIyNjAzMzgiIHY9Ii01NTYyIi8+CisJCQkJCTx2YWwgbz0iMjYxMTQ5IiB2PSItNDg3NSIvPgorCQkJCQk8dmFsIG89IjI2MWY1OSIgdj0iLTQ2MTkiLz4KKwkJCQkJPHZhbCBvPSIyNjJkNjgiIHY9Ii00NjExIi8+CisJCQkJCTx2YWwgbz0iMjYzYjgzIiB2PSItMzYxOSIvPgorCQkJCQk8dmFsIG89IjI2NDk4NiIgdj0iLTM0NjciLz4KKwkJCQkJPHZhbCBvPSIyNjU3OTUiIHY9Ii0zNTY0Ii8+CisJCQkJCTx2YWwgbz0iMjY2NWE2IiB2PSItMzY3MiIvPgorCQkJCQk8dmFsIG89IjI2NzNiNSIgdj0iLTM2MTQiLz4KKwkJCQkJPHZhbCBvPSIyNjgxYzYiIHY9Ii0zNjIxIi8+CisJCQkJCTx2YWwgbz0iMjY4ZmQ1IiB2PSItMzg2OCIvPgorCQkJCQk8dmFsIG89IjI2OWRlNiIgdj0iLTM5NjkiLz4KKwkJCQkJPHZhbCBvPSIyNmFiZjYiIHY9Ii0zODg2Ii8+CisJCQkJCTx2YWwgbz0iMjZiYTA2IiB2PSItNDM4MSIvPgorCQkJCQk8dmFsIG89IjI2YzgxNyIgdj0iLTQyNzEiLz4KKwkJCQkJPHZhbCBvPSIyNmQ2MmIiIHY9Ii0zOTY3Ii8+CisJCQkJCTx2YWwgbz0iMjZlNDM2IiB2PSItNDAwMiIvPgorCQkJCQk8dmFsIG89IjI2ZjI0NyIgdj0iLTM1NjIiLz4KKwkJCQkJPHZhbCBvPSIyNzAwNTciIHY9Ii0zODc0Ii8+CisJCQkJCTx2YWwgbz0iMjcwZTY3IiB2PSItMzU2MSIvPgorCQkJCQk8dmFsIG89IjI3MWM3NyIgdj0iLTQ2OTAiLz4KKwkJCQkJPHZhbCBvPSIyNzJhODciIHY9Ii01MTk2Ii8+CisJCQkJCTx2YWwgbz0iMjczODk3IiB2PSItNTIxMSIvPgorCQkJCQk8dmFsIG89IjI3NDZhOCIgdj0iLTUwMzciLz4KKwkJCQkJPHZhbCBvPSIyNzU0YjkiIHY9Ii00OTYzIi8+CisJCQkJCTx2YWwgbz0iMjc2MmM3IiB2PSItNDA0OCIvPgorCQkJCQk8dmFsIG89IjI3NzBkOCIgdj0iLTM3MDgiLz4KKwkJCQkJPHZhbCBvPSIyNzdlZTciIHY9Ii0zMjE1Ii8+CisJCQkJPC9wYXI+CisJCQkJPHBhciBtZW1pbmQ9IjQzODIwMCIgaD0iM2RjMWE4ZGUiPgorCQkJCQk8dmFsIG89IjAiIHY9Ii0xMTAzIi8+CisJCQkJCTx2YWwgbz0iZTA4IiB2PSItMTI4NiIvPgorCQkJCQk8dmFsIG89IjFjMzIiIHY9Ii0xMzUxIi8+CisJCQkJCTx2YWwgbz0iMmEzYyIgdj0iLTE0MjciLz4KKwkJCQkJPHZhbCBvPSIzODM1IiB2PSItMTI0NiIvPgorCQkJCQk8dmFsIG89IjQ2NDUiIHY9Ii0xMTAxIi8+CisJCQkJCTx2YWwgbz0iNTQ1NSIgdj0iLTkwOSIvPgorCQkJCQk8dmFsIG89IjYyNjUiIHY9Ii0xNDcyIi8+CisJCQkJCTx2YWwgbz0iNzA3NSIgdj0iLTE1MjMiLz4KKwkJCQkJPHZhbCBvPSI3ZTg1IiB2PSItMTQzNSIvPgorCQkJCQk8dmFsIG89IjhjOTYiIHY9Ii0xNzg0Ii8+CisJCQkJCTx2YWwgbz0iOWFhNSIgdj0iLTE3NTciLz4KKwkJCQkJPHZhbCBvPSJhOGI2IiB2PSItMTY4MiIvPgorCQkJCQk8dmFsIG89ImI2YzUiIHY9Ii0xNzQ1Ii8+CisJCQkJCTx2YWwgbz0iYzRkNyIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSJkMzBiIiB2PSItNiIvPgorCQkJCQk8dmFsIG89ImUwZjYiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iZWYwNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89ImZkMTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMGIyNyIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSIxMTkzNyIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSIxMjc0NiIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSIxMzU1NiIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSIxNDM2NiIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSIxNTE4MSIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSIxNWY4NSIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSIxNmQ5NSIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSIxN2JhNCIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSIxODliNSIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSIxOTdjNCIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSIxYTVkNSIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSIxYjNlNiIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSIxYzFmNiIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSIxZDAwNSIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSIxZGUxNSIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSIxZWMyNSIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSIxZmEzNiIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSIyMDg0NSIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSIyMTY1NiIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSIyMjQ2NSIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSIyMzI3NiIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSIyNDA4NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjI0ZTk5IiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjI1Y2E3IiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjI2YWI3IiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjI3OGM2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjg2ZDYiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iMjk0ZTYiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iMmEzMDEiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iMmIxMDUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyYmYxNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjJjZDI1IiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjJkYjM1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMmU5NDYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIyZjc1NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjMwNTY2IiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjMxMzc1IiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjMyMTllIiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjMyZjk2IiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjMzZGE2IiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjM0YmI2IiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjM1OWRlIiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjM2N2Q2IiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjM3NWU2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMzg0MGUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIzOTIxZSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjNhMDE2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iM2FlMjciIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iM2JjMzYiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iM2NhNDciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIzZDg1NiIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSIzZTY2NyIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSIzZjQ4MSIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSI0MDI4NSIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSI0MTA5NSIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSI0MWVhNSIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSI0MmNiNSIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSI0M2FjNSIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSI0NDhkNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjQ1NmU2IiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjQ2NGY1IiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjQ4MGZmIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNDhmMGUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI0OWQxZCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjRhYjQ2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNGI5NTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI0Yzc2OSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjRkNTc3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNGUzODciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI0ZjE5NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjRmZmE2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNTBkZDAiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI1MWJjNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjUyOWQ2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNTM3ZTciIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iNTQ2MDAiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iNTU0MDYiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iNTYyMTUiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iNTcwMjYiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iNTdlMzYiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iNThjNDYiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iNTlhNzAiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iNWE4NjciIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iNWI2NzYiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI1YzQ4NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjVkMjk2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNWUwYTkiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iNWVlYjgiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iNWZjYzYiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iNjBhZDciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI2MThlNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjYyNmY3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNjM1MDciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI2NDMxNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjY1MTI3IiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjY1ZjM3IiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjY2ZDQ2IiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjY3YjU3IiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjY4OTY3IiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjY5NzgyIiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjZhNTg2IiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjZiMzk1IiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjZjMWE2IiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjZjZmI1IiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjZkZGM2IiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjZlYmQ2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNmY5ZTYiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iNzA3ZjYiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iNzE2MDciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI3MjQxNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjczMjI3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNzQwMzciIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iNzRlNDciIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iNzVjNTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI3NmE2MyIgdj0iMCIvPgorCQkJCQk8dmFsIG89Ijc3ODczIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iNzg2ODAiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI3OTQ4ZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjdhMjlmIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iN2IwYWYiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iN2JlYmYiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iN2NjY2YiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iN2RhZGYiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iN2U4ZmEiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iN2Y3MGEiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iODA1MWEiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iODEzMmEiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iODIxM2EiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iODJmNGEiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iODNkNWEiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iODRiNmEiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI4NTk3YSIgdj0iMCIvPgorCQkJCQk8dmFsIG89Ijg2NzhiIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iODc1OWIiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI4ODNhYyIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSI4OTFiYiIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSI4OWZjYSIgdj0iLTYiLz4KKwkJCQkJPHZhbCBvPSI4YWRkYSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjhiYmViIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iOGM5ZmMiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI4ZDgwYiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjhlNjFhIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iOGY0MmEiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI5MDIzYSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjkxMDRhIiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjkxZTVhIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iOTJjNmEiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iOTNhODQiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iOTQ4ODUiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iOTU2OTQiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iOTY0YTUiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iOTcyYjQiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iOTgwYzUiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iOThlZDQiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iOTljZTUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSI5YWFmNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjliOTA2IiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjljNzE2IiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjlkNTI2IiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjllMzM2IiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjlmMTQ1IiB2PSItNiIvPgorCQkJCQk8dmFsIG89IjlmZjU2IiB2PSItNiIvPgorCQkJCQk8dmFsIG89ImEwZDY1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iYTFiNzciIHY9Ii0xNTkwIi8+CisJCQkJCTx2YWwgbz0iYTI5ODYiIHY9Ii01MDAiLz4KKwkJCQkJPHZhbCBvPSJhMzc5NSIgdj0iMTM3OSIvPgorCQkJCQk8dmFsIG89ImE0NWE3IiB2PSItNDUiLz4KKwkJCQkJPHZhbCBvPSJhNTNiNiIgdj0iLTM0NiIvPgorCQkJCQk8dmFsIG89ImE2MWM3IiB2PSItNTgwIi8+CisJCQkJCTx2YWwgbz0iYTZmZDYiIHY9Ii03NTIiLz4KKwkJCQkJPHZhbCBvPSJhN2UwMCIgdj0iLTEzNjciLz4KKwkJCQkJPHZhbCBvPSJhOGMwMCIgdj0iLTE5MDYiLz4KKwkJCQkJPHZhbCBvPSJhOWEwNSIgdj0iMTAxIi8+CisJCQkJCTx2YWwgbz0iYWE4MTUiIHY9Ii0zNjYiLz4KKwkJCQkJPHZhbCBvPSJhYjYyNSIgdj0iLTc0MCIvPgorCQkJCQk8dmFsIG89ImFjNDM1IiB2PSItNTUwIi8+CisJCQkJCTx2YWwgbz0iYWQyNDUiIHY9IjQzMiIvPgorCQkJCQk8dmFsIG89ImFlMDU1IiB2PSIxNTk1Ii8+CisJCQkJCTx2YWwgbz0iYWVlNjUiIHY9IjI3NSIvPgorCQkJCQk8dmFsIG89ImFmYzc1IiB2PSIxMDE5Ii8+CisJCQkJCTx2YWwgbz0iYjBhODUiIHY9IjM0NDQiLz4KKwkJCQkJPHZhbCBvPSJiMjZhNiIgdj0iMzYyOSIvPgorCQkJCQk8dmFsIG89ImIzNGI2IiB2PSIzMjAzIi8+CisJCQkJCTx2YWwgbz0iYjQyYzYiIHY9IjIxNSIvPgorCQkJCQk8dmFsIG89ImI1MGQ2IiB2PSIzODAiLz4KKwkJCQkJPHZhbCBvPSJiNWVlNyIgdj0iODkwIi8+CisJCQkJCTx2YWwgbz0iYjZjZjYiIHY9Ii00NDYiLz4KKwkJCQkJPHZhbCBvPSJiN2IwNyIgdj0iLTIwMCIvPgorCQkJCQk8dmFsIG89ImI4OTE3IiB2PSItNDQiLz4KKwkJCQkJPHZhbCBvPSJiOTcyOCIgdj0iLTQyNCIvPgorCQkJCQk8dmFsIG89ImJhNTM3IiB2PSItNzE4Ii8+CisJCQkJCTx2YWwgbz0iYmIzNDciIHY9Ijk0NiIvPgorCQkJCQk8dmFsIG89ImJjMTU3IiB2PSIyNzYiLz4KKwkJCQkJPHZhbCBvPSJiY2Y2NyIgdj0iLTk0NCIvPgorCQkJCQk8dmFsIG89ImJkZDgxIiB2PSIzMTI5Ii8+CisJCQkJCTx2YWwgbz0iYmViODYiIHY9IjQ1MyIvPgorCQkJCQk8dmFsIG89ImJmOTk1IiB2PSIxOTQiLz4KKwkJCQkJPHZhbCBvPSJjMDdhNiIgdj0iLTI0NiIvPgorCQkJCQk8dmFsIG89ImMxNWI1IiB2PSItMTIyIi8+CisJCQkJCTx2YWwgbz0iYzIzYzYiIHY9IjQzMCIvPgorCQkJCQk8dmFsIG89ImMzMWQ1IiB2PSIxNTgyIi8+CisJCQkJCTx2YWwgbz0iYzNmZTYiIHY9IjcyMCIvPgorCQkJCQk8dmFsIG89ImM0ZGY1IiB2PSIxMzMzIi8+CisJCQkJCTx2YWwgbz0iYzVjMDYiIHY9IjU4OCIvPgorCQkJCQk8dmFsIG89ImM2YTE2IiB2PSI2NDIiLz4KKwkJCQkJPHZhbCBvPSJjNzgyNiIgdj0iMTA5NiIvPgorCQkJCQk8dmFsIG89ImM4NjM2IiB2PSIzMTMiLz4KKwkJCQkJPHZhbCBvPSJjOTQ0NiIgdj0iMzc0Ii8+CisJCQkJCTx2YWwgbz0iY2EyNTYiIHY9IjIwNCIvPgorCQkJCQk8dmFsIG89ImNiMDY2IiB2PSI2OTIiLz4KKwkJCQkJPHZhbCBvPSJjYmU3NiIgdj0iLTE5NiIvPgorCQkJCQk8dmFsIG89ImNjYzg3IiB2PSIxODg4Ii8+CisJCQkJCTx2YWwgbz0iY2RhOTYiIHY9IjI1MDIiLz4KKwkJCQkJPHZhbCBvPSJjZThhOCIgdj0iMTg0MCIvPgorCQkJCQk8dmFsIG89ImNmNmI3IiB2PSIyNDM3Ii8+CisJCQkJCTx2YWwgbz0iZDA0YzgiIHY9IjE5MzAiLz4KKwkJCQkJPHZhbCBvPSJkMTJkNyIgdj0iMTIxOSIvPgorCQkJCQk8dmFsIG89ImQyMGU3IiB2PSItMjUwIi8+CisJCQkJCTx2YWwgbz0iZDJmMDIiIHY9Ii0xOTcxIi8+CisJCQkJCTx2YWwgbz0iZDNkMDUiIHY9Ii0xMDI5Ii8+CisJCQkJCTx2YWwgbz0iZDRiMTUiIHY9Ii0xMDcyIi8+CisJCQkJCTx2YWwgbz0iZDU5MjYiIHY9Ii0zODgiLz4KKwkJCQkJPHZhbCBvPSJkNjczNSIgdj0iMjI5Ii8+CisJCQkJCTx2YWwgbz0iZDc1NDYiIHY9IjExMzEiLz4KKwkJCQkJPHZhbCBvPSJkODM1NSIgdj0iLTcyNiIvPgorCQkJCQk8dmFsIG89ImQ5MTY2IiB2PSIxNjYiLz4KKwkJCQkJPHZhbCBvPSJkOWY3NSIgdj0iOTY1Ii8+CisJCQkJCTx2YWwgbz0iZGFkODciIHY9IjIzNDEiLz4KKwkJCQkJPHZhbCBvPSJkYmI5NyIgdj0iMjM1NCIvPgorCQkJCQk8dmFsIG89ImRjOWE4IiB2PSIyNTY1Ii8+CisJCQkJCTx2YWwgbz0iZGQ3YjciIHY9IjExMzYiLz4KKwkJCQkJPHZhbCBvPSJkZTVjNiIgdj0iMzY3Ii8+CisJCQkJCTx2YWwgbz0iZGYzZDciIHY9IjE3MyIvPgorCQkJCQk8dmFsIG89ImUwMWQ3IiB2PSIxNTYiLz4KKwkJCQkJPHZhbCBvPSJlMGZlNSIgdj0iNDYwIi8+CisJCQkJCTx2YWwgbz0iZTFkZjUiIHY9IjM1OCIvPgorCQkJCQk8dmFsIG89ImUyYzA0IiB2PSItMzA4Ii8+CisJCQkJCTx2YWwgbz0iZTNhMTQiIHY9Ii0xMDA2Ii8+CisJCQkJCTx2YWwgbz0iZTQ4MjQiIHY9IjkzIi8+CisJCQkJCTx2YWwgbz0iZTU2MzQiIHY9Ii03MjMiLz4KKwkJCQkJPHZhbCBvPSJlNjQ0NCIgdj0iMTQ3Ii8+CisJCQkJCTx2YWwgbz0iZTcyNTUiIHY9Ii01NTEiLz4KKwkJCQkJPHZhbCBvPSJlODA2ZiIgdj0iLTYyNiIvPgorCQkJCQk8dmFsIG89ImU4ZTdmIiB2PSIyMzE2Ii8+CisJCQkJCTx2YWwgbz0iZTljOGUiIHY9IjcxNCIvPgorCQkJCQk8dmFsIG89ImVhYTlmIiB2PSI2MDAiLz4KKwkJCQkJPHZhbCBvPSJlYjhhZSIgdj0iOTUzIi8+CisJCQkJCTx2YWwgbz0iZWM2YmYiIHY9IjIyNjciLz4KKwkJCQkJPHZhbCBvPSJlZDRjZSIgdj0iLTQwMyIvPgorCQkJCQk8dmFsIG89ImVlMmRmIiB2PSI5OTkiLz4KKwkJCQkJPHZhbCBvPSJlZjBlZiIgdj0iNDc1Ii8+CisJCQkJCTx2YWwgbz0iZWZmMDEiIHY9IjE2NjMiLz4KKwkJCQkJPHZhbCBvPSJmMGQxMCIgdj0iODI5Ii8+CisJCQkJCTx2YWwgbz0iZjFiMjAiIHY9IjEwNTUiLz4KKwkJCQkJPHZhbCBvPSJmMjkzMCIgdj0iLTMxNCIvPgorCQkJCQk8dmFsIG89ImYzNzQwIiB2PSIxNDMxIi8+CisJCQkJCTx2YWwgbz0iZjQ1NTEiIHY9IjEyMDEiLz4KKwkJCQkJPHZhbCBvPSJmNTM2MSIgdj0iMTI4MCIvPgorCQkJCQk8dmFsIG89ImY2MTcyIiB2PSIxNDMxIi8+CisJCQkJCTx2YWwgbz0iZjZmODAiIHY9IjExNDUiLz4KKwkJCQkJPHZhbCBvPSJmN2Q5MSIgdj0iMTYzNSIvPgorCQkJCQk8dmFsIG89ImY4YmExIiB2PSI5NTciLz4KKwkJCQkJPHZhbCBvPSJmOTliMSIgdj0iMTAxOSIvPgorCQkJCQk8dmFsIG89ImZhN2MwIiB2PSIxMjE5Ii8+CisJCQkJCTx2YWwgbz0iZmI1ZDEiIHY9IjExNDMiLz4KKwkJCQkJPHZhbCBvPSJmYzNlMCIgdj0iLTg5MyIvPgorCQkJCQk8dmFsIG89ImZkMWZiIiB2PSItMTAxOSIvPgorCQkJCQk8dmFsIG89ImZlMDBiIiB2PSItMTM4OSIvPgorCQkJCQk8dmFsIG89ImZlZTFjIiB2PSItMTgyIi8+CisJCQkJCTx2YWwgbz0iZmZjMmMiIHY9Ii0yMjAiLz4KKwkJCQkJPHZhbCBvPSIxMDBhM2IiIHY9IjUwMiIvPgorCQkJCQk8dmFsIG89IjEwMTg0YyIgdj0iOTQwIi8+CisJCQkJCTx2YWwgbz0iMTAyNjViIiB2PSIxNzE5Ii8+CisJCQkJCTx2YWwgbz0iMTAzNDZjIiB2PSIxNTkyIi8+CisJCQkJCTx2YWwgbz0iMTA0MjdiIiB2PSI5NjAiLz4KKwkJCQkJPHZhbCBvPSIxMDUwOGQiIHY9IjE1MzciLz4KKwkJCQkJPHZhbCBvPSIxMDVlOWQiIHY9IjExNzciLz4KKwkJCQkJPHZhbCBvPSIxMDZjYWQiIHY9IjEzMzciLz4KKwkJCQkJPHZhbCBvPSIxMDdhYmQiIHY9IjczNyIvPgorCQkJCQk8dmFsIG89IjEwODhjZCIgdj0iNzIzIi8+CisJCQkJCTx2YWwgbz0iMTA5NmRlIiB2PSI5MTciLz4KKwkJCQkJPHZhbCBvPSIxMGE0ZWQiIHY9Ijc5NCIvPgorCQkJCQk8dmFsIG89IjEwYjJmZSIgdj0iMTA3NSIvPgorCQkJCQk8dmFsIG89IjEwYzEwZCIgdj0iMjMyOCIvPgorCQkJCQk8dmFsIG89IjEwY2YxZSIgdj0iMTE5MiIvPgorCQkJCQk8dmFsIG89IjEwZGQyZSIgdj0iODY3Ii8+CisJCQkJCTx2YWwgbz0iMTBlYjY2IiB2PSIxODQiLz4KKwkJCQkJPHZhbCBvPSIxMGY5NGUiIHY9IjEyIi8+CisJCQkJCTx2YWwgbz0iMTEwNzVlIiB2PSI5NzgiLz4KKwkJCQkJPHZhbCBvPSIxMTE1NmQiIHY9IjI1NiIvPgorCQkJCQk8dmFsIG89IjExMjM4OCIgdj0iLTEwMDciLz4KKwkJCQkJPHZhbCBvPSIxMTMxODciIHY9IjYxNCIvPgorCQkJCQk8dmFsIG89IjExM2ZiMCIgdj0iMjA1Ii8+CisJCQkJCTx2YWwgbz0iMTE0ZGE2IiB2PSIxOTUiLz4KKwkJCQkJPHZhbCBvPSIxMTViYjYiIHY9IjMxNiIvPgorCQkJCQk8dmFsIG89IjExNjljNiIgdj0iMTI0MSIvPgorCQkJCQk8dmFsIG89IjExNzdkNiIgdj0iMTc0OCIvPgorCQkJCQk8dmFsIG89IjExODVlOCIgdj0iMTA0NiIvPgorCQkJCQk8dmFsIG89IjExOTNmNyIgdj0iMTA5OSIvPgorCQkJCQk8dmFsIG89IjExYTIwOCIgdj0iMzA5Ii8+CisJCQkJCTx2YWwgbz0iMTFiMDE3IiB2PSItMjAyIi8+CisJCQkJCTx2YWwgbz0iMTFiZTJmIiB2PSItNzIyIi8+CisJCQkJCTx2YWwgbz0iMTFjYzM3IiB2PSI2ODAiLz4KKwkJCQkJPHZhbCBvPSIxMWRhNDciIHY9IjQ0MCIvPgorCQkJCQk8dmFsIG89IjExZTg1NyIgdj0iODcwIi8+CisJCQkJCTx2YWwgbz0iMTFmNjY3IiB2PSI0NzUiLz4KKwkJCQkJPHZhbCBvPSIxMjA1NzgiIHY9IjEiLz4KKwkJCQkJPHZhbCBvPSIxMjEzODYiIHY9IjEiLz4KKwkJCQkJPHZhbCBvPSIxMjIxOTYiIHY9IjIiLz4KKwkJCQkJPHZhbCBvPSIxMjJmYTYiIHY9IjEiLz4KKwkJCQkJPHZhbCBvPSIxMjNkYjUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMjRiYzUiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMjU5ZDUiIHY9IjEiLz4KKwkJCQkJPHZhbCBvPSIxMjY3ZTQiIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSIxMjc2MDAiIHY9Ii0xIi8+CisJCQkJCTx2YWwgbz0iMTI4MzA1IiB2PSItMSIvPgorCQkJCQk8dmFsIG89IjEyOTExNSIgdj0iLTEiLz4KKwkJCQkJPHZhbCBvPSIxMjlmMjUiIHY9Ii0xIi8+CisJCQkJCTx2YWwgbz0iMTJhZDM1IiB2PSItMSIvPgorCQkJCQk8dmFsIG89IjEyYmI0NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEyYzk1NCIgdj0iMSIvPgorCQkJCQk8dmFsIG89IjEyZDc2NiIgdj0iMSIvPgorCQkJCQk8dmFsIG89IjEyZTU3NSIgdj0iMSIvPgorCQkJCQk8dmFsIG89IjEyZjM4NiIgdj0iMSIvPgorCQkJCQk8dmFsIG89IjEzMDE5NiIgdj0iMSIvPgorCQkJCQk8dmFsIG89IjEzMGZhNiIgdj0iMSIvPgorCQkJCQk8dmFsIG89IjEzMWRiNyIgdj0iMSIvPgorCQkJCQk8dmFsIG89IjEzMmJjNSIgdj0iMSIvPgorCQkJCQk8dmFsIG89IjEzMzlkNCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEzNDdlNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEzNTVmNCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEzNjQwNCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEzNzIxNCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEzODAyNCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEzOGUzMyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEzOWM0NCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEzYWE1NCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEzYjg2NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEzYzY3ZSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEzZDQ4ZSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEzZTI5ZSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEzZjBhZSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjEzZmViZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0MGNjZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0MWFkZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0MjhlZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0MzZmZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0NDUwZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0NTMxZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0NjEzMCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0NmY0MCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0N2Q0NCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0OGI1NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0OTk2NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0YTc3NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0YjU4NCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0YzM5NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0ZDFhNCIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0ZGZiNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0ZWRjNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE0ZmJkNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1MDllNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1MTdmZiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1MjYwNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1MzQxNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1NDIyNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1NTAzNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1NWU0NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1NmM1NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1N2E2NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1ODg3NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1OTY4NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1YTQ5NSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1YjJhNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1YzBiNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1Y2VjNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1ZGNkNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1ZWFlNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE1ZjhmNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2MDcwNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2MTUxNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2MjMyNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2MzEzNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2M2Y0NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2NGQ1NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2NWI2NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2Njk4MiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2Nzc4NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2ODU5NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2OTNhNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2YTFiNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2YWZjNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2YmRkNSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2Y2JlNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2ZDlmNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2ZTgwNyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE2ZjYxNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE3MDQyOSIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE3MTIzNiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE3MjA0NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE3MmU1NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE3M2M2NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE3NGE3NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE3NTg4NyIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjE3NjY5NCIgdj0iMTk1OSIvPgorCQkJCQk8dmFsIG89IjE3NzRhMyIgdj0iMTUwNiIvPgorCQkJCQk8dmFsIG89IjE3ODJiMyIgdj0iMTAyNyIvPgorCQkJCQk8dmFsIG89IjE3OTBjNSIgdj0iNjc3Ii8+CisJCQkJCTx2YWwgbz0iMTc5ZWQ0IiB2PSItNzU5Ii8+CisJCQkJCTx2YWwgbz0iMTdhY2U0IiB2PSItMjA0MiIvPgorCQkJCQk8dmFsIG89IjE3YmFmZCIgdj0iLTI1NTQiLz4KKwkJCQkJPHZhbCBvPSIxN2M5MGYiIHY9Ii0yMTc4Ii8+CisJCQkJCTx2YWwgbz0iMTdkNzFlIiB2PSItMjEyNiIvPgorCQkJCQk8dmFsIG89IjE3ZTUyZiIgdj0iLTI0ODQiLz4KKwkJCQkJPHZhbCBvPSIxN2YzM2YiIHY9Ii0xOTgwIi8+CisJCQkJCTx2YWwgbz0iMTgwMTRmIiB2PSItMTA3MiIvPgorCQkJCQk8dmFsIG89IjE4MGY1ZiIgdj0iLTUyNCIvPgorCQkJCQk8dmFsIG89IjE4MWQ2ZSIgdj0iLTEzNjYiLz4KKwkJCQkJPHZhbCBvPSIxODJiN2YiIHY9Ii0xNzUzIi8+CisJCQkJCTx2YWwgbz0iMTgzOThmIiB2PSItODkzIi8+CisJCQkJCTx2YWwgbz0iMTg0N2ExIiB2PSItODQ1Ii8+CisJCQkJCTx2YWwgbz0iMTg1NWFmIiB2PSItMTE0OCIvPgorCQkJCQk8dmFsIG89IjE4NjNjMCIgdj0iLTI3MTAiLz4KKwkJCQkJPHZhbCBvPSIxODcxY2YiIHY9Ii0yMjk3Ii8+CisJCQkJCTx2YWwgbz0iMTg3ZmUwIiB2PSItMjIwOCIvPgorCQkJCQk8dmFsIG89IjE4OGRlZiIgdj0iLTIwMzciLz4KKwkJCQkJPHZhbCBvPSIxODljMDAiIHY9Ii05OTciLz4KKwkJCQkJPHZhbCBvPSIxOGI4MGQiIHY9IjEwNDgiLz4KKwkJCQkJPHZhbCBvPSIxOGM2MWMiIHY9Ii05NTUiLz4KKwkJCQkJPHZhbCBvPSIxOGQ0MmMiIHY9Ii0xMzM0Ii8+CisJCQkJCTx2YWwgbz0iMThlMjNiIiB2PSItMTEyMSIvPgorCQkJCQk8dmFsIG89IjE4ZjA0YiIgdj0iLTE2MjUiLz4KKwkJCQkJPHZhbCBvPSIxOGZlNWUiIHY9Ii0xNDE5Ii8+CisJCQkJCTx2YWwgbz0iMTkwYzc2IiB2PSItNjcxIi8+CisJCQkJCTx2YWwgbz0iMTkxYTg2IiB2PSItMTUwMSIvPgorCQkJCQk8dmFsIG89IjE5Mjg5NiIgdj0iLTE1MTEiLz4KKwkJCQkJPHZhbCBvPSIxOTM2YTYiIHY9Ii0xNjE4Ii8+CisJCQkJCTx2YWwgbz0iMTk0NGI3IiB2PSItMTAzNyIvPgorCQkJCQk8dmFsIG89IjE5NTJjNiIgdj0iLTE5MiIvPgorCQkJCQk8dmFsIG89IjE5NjBkNyIgdj0iMTM5NyIvPgorCQkJCQk8dmFsIG89IjE5NmVlNiIgdj0iLTYyNyIvPgorCQkJCQk8dmFsIG89IjE5N2NmOCIgdj0iLTcxMSIvPgorCQkJCQk8dmFsIG89IjE5OGIwZiIgdj0iMjAiLz4KKwkJCQkJPHZhbCBvPSIxOTk5MWYiIHY9Ii0xMzAiLz4KKwkJCQkJPHZhbCBvPSIxOWI1NDEiIHY9Ii04NDMiLz4KKwkJCQkJPHZhbCBvPSIxOWMzNGQiIHY9Ii02NDIiLz4KKwkJCQkJPHZhbCBvPSIxOWQxNWUiIHY9Ii0zMjAiLz4KKwkJCQkJPHZhbCBvPSIxOWRmODAiIHY9Ii0yMTAiLz4KKwkJCQkJPHZhbCBvPSIxOWVkOTAiIHY9IjI5NSIvPgorCQkJCQk8dmFsIG89IjE5ZWViZSIgdj0iNDE3Ii8+CisJCQkJCTx2YWwgbz0iMTlmYjhlIiB2PSIzNyIvPgorCQkJCQk8dmFsIG89IjFhMDlhMCIgdj0iLTIxMDUiLz4KKwkJCQkJPHZhbCBvPSIxYTE3YWUiIHY9Ii0yOTgwIi8+CisJCQkJCTx2YWwgbz0iMWEyNWJlIiB2PSItMzMyOSIvPgorCQkJCQk8dmFsIG89IjFhMzNjZCIgdj0iLTE0MzAiLz4KKwkJCQkJPHZhbCBvPSIxYTQxZGQiIHY9Ii0xOTg2Ii8+CisJCQkJCTx2YWwgbz0iMWE0ZmVkIiB2PSItMzU3MCIvPgorCQkJCQk8dmFsIG89IjFhNWUwOCIgdj0iLTMyMzAiLz4KKwkJCQkJPHZhbCBvPSIxYTZjMDUiIHY9Ii0yMjg4Ii8+CisJCQkJCTx2YWwgbz0iMWE3YTE1IiB2PSItMjg0NiIvPgorCQkJCQk8dmFsIG89IjFhODgyNiIgdj0iLTI5NDYiLz4KKwkJCQkJPHZhbCBvPSIxYTk2MzciIHY9Ii0yMzQyIi8+CisJCQkJCTx2YWwgbz0iMWFhNDQ1IiB2PSItMTcxOSIvPgorCQkJCQk8dmFsIG89IjFhYjI1NSIgdj0iLTY2OCIvPgorCQkJCQk8dmFsIG89IjFhYzA2NSIgdj0iLTE3NjEiLz4KKwkJCQkJPHZhbCBvPSIxYWNlNzUiIHY9Ii0yNDEzIi8+CisJCQkJCTx2YWwgbz0iMWFkYzg3IiB2PSItMTcyNyIvPgorCQkJCQk8dmFsIG89IjFhZWE5NiIgdj0iLTE4MzIiLz4KKwkJCQkJPHZhbCBvPSIxYWY4YTciIHY9Ii0xODg5Ii8+CisJCQkJCTx2YWwgbz0iMWIwNmI3IiB2PSItMjM0NiIvPgorCQkJCQk8dmFsIG89IjFiMTRjNiIgdj0iLTIxNzYiLz4KKwkJCQkJPHZhbCBvPSIxYzc0NjAiIHY9IjM3NCIvPgorCQkJCQk8dmFsIG89IjFjODI3MCIgdj0iLTEzMiIvPgorCQkJCQk8dmFsIG89IjFjOTA3ZSIgdj0iOTkzIi8+CisJCQkJCTx2YWwgbz0iMWM5ZThmIiB2PSItMTUwIi8+CisJCQkJCTx2YWwgbz0iMWNhY2EyIiB2PSItODQzIi8+CisJCQkJCTx2YWwgbz0iMWNiYWIxIiB2PSItMTE5NiIvPgorCQkJCQk8dmFsIG89IjFjYzhjMSIgdj0iMjU3NyIvPgorCQkJCQk8dmFsIG89IjFjZDZkMCIgdj0iMTU4MiIvPgorCQkJCQk8dmFsIG89IjFjZTRkZSIgdj0iOTA5Ii8+CisJCQkJCTx2YWwgbz0iMWNmMmYwIiB2PSItMTQwNSIvPgorCQkJCQk8dmFsIG89IjFkMDEwOSIgdj0iLTE1OTciLz4KKwkJCQkJPHZhbCBvPSIxZDBmMDYiIHY9Ii0xODYiLz4KKwkJCQkJPHZhbCBvPSIxZDFkMTUiIHY9Ii02NTgiLz4KKwkJCQkJPHZhbCBvPSIxZDJiMjUiIHY9Ii02NzkiLz4KKwkJCQkJPHZhbCBvPSIxZDM5MzUiIHY9Ijg5Ii8+CisJCQkJCTx2YWwgbz0iMWQ0NzQ1IiB2PSI2ODAiLz4KKwkJCQkJPHZhbCBvPSIxZDU1NTUiIHY9IjEwOTUiLz4KKwkJCQkJPHZhbCBvPSIxZDYzNjYiIHY9Ii04MzIiLz4KKwkJCQkJPHZhbCBvPSIxZDcxNzUiIHY9Ii03ODUiLz4KKwkJCQkJPHZhbCBvPSIxZDdmODYiIHY9Ii0yMjgiLz4KKwkJCQkJPHZhbCBvPSIxZDhkOTUiIHY9Ii00MCIvPgorCQkJCQk8dmFsIG89IjFkOWJhNiIgdj0iLTI4MCIvPgorCQkJCQk8dmFsIG89IjFkYTliNiIgdj0iLTY5NyIvPgorCQkJCQk8dmFsIG89IjFkYjdjNyIgdj0iLTY5NyIvPgorCQkJCQk8dmFsIG89IjFkYzVkNSIgdj0iLTgxMSIvPgorCQkJCQk8dmFsIG89IjFkZDNlNiIgdj0iLTYyOSIvPgorCQkJCQk8dmFsIG89IjFkZTFmNSIgdj0iLTE0MDgiLz4KKwkJCQkJPHZhbCBvPSIxZGYwMDYiIHY9Ii0xNjY2Ii8+CisJCQkJCTx2YWwgbz0iMWRmZTE2IiB2PSItMTU3NCIvPgorCQkJCQk8dmFsIG89IjFlMGMyNiIgdj0iLTE5MjgiLz4KKwkJCQkJPHZhbCBvPSIxZTFhMzYiIHY9Ii0xOTcwIi8+CisJCQkJCTx2YWwgbz0iMWUyODQ3IiB2PSItMjAxNyIvPgorCQkJCQk8dmFsIG89IjFlMzY1OSIgdj0iLTE5ODQiLz4KKwkJCQkJPHZhbCBvPSIxZTQ0NjciIHY9Ii0yMDA3Ii8+CisJCQkJCTx2YWwgbz0iMWU1MjgxIiB2PSItMTYxMSIvPgorCQkJCQk8dmFsIG89IjFlNjA4NiIgdj0iLTE4NTEiLz4KKwkJCQkJPHZhbCBvPSIxZTZlOTYiIHY9Ii0xOTA4Ii8+CisJCQkJCTx2YWwgbz0iMWU3Y2E2IiB2PSItMjUxIi8+CisJCQkJCTx2YWwgbz0iMWU4YWI1IiB2PSItMzg2Ii8+CisJCQkJCTx2YWwgbz0iMWU5OGM2IiB2PSItMTIxIi8+CisJCQkJCTx2YWwgbz0iMWVhNmQ1IiB2PSItMzY1Ii8+CisJCQkJCTx2YWwgbz0iMWViNGU2IiB2PSItMzEzIi8+CisJCQkJCTx2YWwgbz0iMWVjMmY2IiB2PSItNTA2Ii8+CisJCQkJCTx2YWwgbz0iMWVkMTA2IiB2PSItMjMyIi8+CisJCQkJCTx2YWwgbz0iMWVkZjE2IiB2PSItMjg4Ii8+CisJCQkJCTx2YWwgbz0iMWVlZDI2IiB2PSItMTIxIi8+CisJCQkJCTx2YWwgbz0iMWVmYjM2IiB2PSItMzEwIi8+CisJCQkJCTx2YWwgbz0iMWYwOTQ2IiB2PSItMjQ1Ii8+CisJCQkJCTx2YWwgbz0iMWYxNzU2IiB2PSI0MzkiLz4KKwkJCQkJPHZhbCBvPSIxZjI1NjYiIHY9IjYwOSIvPgorCQkJCQk8dmFsIG89IjFmMzM3NiIgdj0iMTA3OCIvPgorCQkJCQk8dmFsIG89IjFmNDE4NyIgdj0iMjQ5MSIvPgorCQkJCQk8dmFsIG89IjFmNGY5NiIgdj0iMTMyNyIvPgorCQkJCQk8dmFsIG89IjFmNWRhNyIgdj0iLTExNSIvPgorCQkJCQk8dmFsIG89IjFmNmJiNiIgdj0iLTQ0MiIvPgorCQkJCQk8dmFsIG89IjFmNzljNyIgdj0iMjAzIi8+CisJCQkJCTx2YWwgbz0iMWY4N2Q2IiB2PSItMTQzOSIvPgorCQkJCQk8dmFsIG89IjFmOTVlNyIgdj0iLTIwMTkiLz4KKwkJCQkJPHZhbCBvPSIxZmE0MDEiIHY9Ii0xNDkxIi8+CisJCQkJCTx2YWwgbz0iMWZiMjA0IiB2PSItMTI4NSIvPgorCQkJCQk8dmFsIG89IjFmYzAxNiIgdj0iLTEzMDkiLz4KKwkJCQkJPHZhbCBvPSIxZmNlMjUiIHY9Ii00MDkiLz4KKwkJCQkJPHZhbCBvPSIxZmRjMzUiIHY9Ii0xNjIiLz4KKwkJCQkJPHZhbCBvPSIxZmVhNDUiIHY9IjkwIi8+CisJCQkJCTx2YWwgbz0iMWZmODU1IiB2PSIzMTkiLz4KKwkJCQkJPHZhbCBvPSIyMDA2NjUiIHY9IjI0ODMiLz4KKwkJCQkJPHZhbCBvPSIyMDE0NzUiIHY9IjM1NyIvPgorCQkJCQk8dmFsIG89IjIwMjI4NiIgdj0iMTY4MSIvPgorCQkJCQk8dmFsIG89IjIwMzA5NSIgdj0iMTU3MiIvPgorCQkJCQk8dmFsIG89IjIwM2VhNSIgdj0iMTU3NSIvPgorCQkJCQk8dmFsIG89IjIwNGNiNiIgdj0iMzAyIi8+CisJCQkJCTx2YWwgbz0iMjA1YWM2IiB2PSIxMDc2Ii8+CisJCQkJCTx2YWwgbz0iMjA2OGQ2IiB2PSIxNTU1Ii8+CisJCQkJCTx2YWwgbz0iMjA3NmU2IiB2PSIxOTcxIi8+CisJCQkJCTx2YWwgbz0iMjA4NGY2IiB2PSIyMzkiLz4KKwkJCQkJPHZhbCBvPSIyMDkzMDYiIHY9Ii0zNTEiLz4KKwkJCQkJPHZhbCBvPSIyMGExMTYiIHY9Ii01MjciLz4KKwkJCQkJPHZhbCBvPSIyMGFmMjYiIHY9Ii0yMTUiLz4KKwkJCQkJPHZhbCBvPSIyMGJkMzciIHY9Ii03ODIiLz4KKwkJCQkJPHZhbCBvPSIyMGNiNDYiIHY9IjQ1MiIvPgorCQkJCQk8dmFsIG89IjIwZDk1NyIgdj0iNjAiLz4KKwkJCQkJPHZhbCBvPSIyMGU3NjciIHY9Ii04NDgiLz4KKwkJCQkJPHZhbCBvPSIyMGY1ODEiIHY9Ii0xMzgzIi8+CisJCQkJCTx2YWwgbz0iMjEwMzg2IiB2PSItOTg5Ii8+CisJCQkJCTx2YWwgbz0iMjExMTk0IiB2PSItMzI1Ii8+CisJCQkJCTx2YWwgbz0iMjExZmE1IiB2PSItMzgyIi8+CisJCQkJCTx2YWwgbz0iMjEyZGI1IiB2PSI2MCIvPgorCQkJCQk8dmFsIG89IjIxM2JjNSIgdj0iODg0Ii8+CisJCQkJCTx2YWwgbz0iMjE0OWQ2IiB2PSI2NTkiLz4KKwkJCQkJPHZhbCBvPSIyMTU3ZTUiIHY9Ii0yNjQiLz4KKwkJCQkJPHZhbCBvPSIyMTY1ZjYiIHY9Ii05OTAiLz4KKwkJCQkJPHZhbCBvPSIyMTc0MDYiIHY9IjI4OSIvPgorCQkJCQk8dmFsIG89IjIxODIxNyIgdj0iLTI5MiIvPgorCQkJCQk8dmFsIG89IjIxOTAyNiIgdj0iLTU0MiIvPgorCQkJCQk8dmFsIG89IjIxOWUzOSIgdj0iMzY2Ii8+CisJCQkJCTx2YWwgbz0iMjFhYzQ2IiB2PSI5MDkiLz4KKwkJCQkJPHZhbCBvPSIyMWJhNTciIHY9Ijk5MiIvPgorCQkJCQk8dmFsIG89IjIxYzg2NyIgdj0iMTgwOCIvPgorCQkJCQk8dmFsIG89IjIxZDY3NyIgdj0iLTEwNDkiLz4KKwkJCQkJPHZhbCBvPSIyMWU0ODciIHY9IjU0MyIvPgorCQkJCQk8dmFsIG89IjIxZjI5NiIgdj0iMzc3Ii8+CisJCQkJCTx2YWwgbz0iMjIwMGE2IiB2PSItNjE5Ii8+CisJCQkJCTx2YWwgbz0iMjIwZWI3IiB2PSItNzEyIi8+CisJCQkJCTx2YWwgbz0iMjIxY2M2IiB2PSIxNDU5Ii8+CisJCQkJCTx2YWwgbz0iMjIyYWQ3IiB2PSIyNTciLz4KKwkJCQkJPHZhbCBvPSIyMjM4ZTciIHY9Ii02OTYiLz4KKwkJCQkJPHZhbCBvPSIyMjQ3MDEiIHY9Ii0xMDg1Ii8+CisJCQkJCTx2YWwgbz0iMjI1NTA1IiB2PSIyODczIi8+CisJCQkJCTx2YWwgbz0iMjI2MzE1IiB2PSI0MjEiLz4KKwkJCQkJPHZhbCBvPSIyMjcxMjUiIHY9IjU1NyIvPgorCQkJCQk8dmFsIG89IjIyN2YzNSIgdj0iMTY5NiIvPgorCQkJCQk8dmFsIG89IjIyOGQ0NSIgdj0iMjQ4MCIvPgorCQkJCQk8dmFsIG89IjIyOWI1NCIgdj0iLTcwNyIvPgorCQkJCQk8dmFsIG89IjIyYTk2NSIgdj0iLTIzNyIvPgorCQkJCQk8dmFsIG89IjIyYjc3NiIgdj0iMCIvPgorCQkJCQk8dmFsIG89IjIyYzU4NiIgdj0iMTczMCIvPgorCQkJCQk8dmFsIG89IjIyZDM5NyIgdj0iMjk5MCIvPgorCQkJCQk8dmFsIG89IjIyZTFhNiIgdj0iMjc0NiIvPgorCQkJCQk8dmFsIG89IjIyZWZiNiIgdj0iLTE3NCIvPgorCQkJCQk8dmFsIG89IjIyZmRjNyIgdj0iLTE5NCIvPgorCQkJCQk8dmFsIG89IjIzMGJkNyIgdj0iNDg1Ii8+CisJCQkJCTx2YWwgbz0iMjMxOWU2IiB2PSItNzI5Ii8+CisJCQkJCTx2YWwgbz0iMjMyN2Y2IiB2PSI3MCIvPgorCQkJCQk8dmFsIG89IjIzMzYxYiIgdj0iOTA3Ii8+CisJCQkJCTx2YWwgbz0iMjM0NDE2IiB2PSIxMjk3Ii8+CisJCQkJCTx2YWwgbz0iMjM1MjI2IiB2PSI3NzYiLz4KKwkJCQkJPHZhbCBvPSIyMzYwMzciIHY9IjEyMyIvPgorCQkJCQk8dmFsIG89IjIzNmU0NiIgdj0iMTU1NyIvPgorCQkJCQk8dmFsIG89IjIzN2M1NyIgdj0iMTIwOCIvPgorCQkJCQk8dmFsIG89IjIzOGE2NiIgdj0iMjUzIi8+CisJCQkJCTx2YWwgbz0iMjM5ODgxIiB2PSI1MDgiLz4KKwkJCQkJPHZhbCBvPSIyM2E2ODUiIHY9Ii0yNzQiLz4KKwkJCQkJPHZhbCBvPSIyM2I0OTUiIHY9Ii01NzEiLz4KKwkJCQkJPHZhbCBvPSIyM2MyYTQiIHY9IjE0NiIvPgorCQkJCQk8dmFsIG89IjIzZDBiNSIgdj0iNTY3Ii8+CisJCQkJCTx2YWwgbz0iMjNkZWM0IiB2PSIxMjIyIi8+CisJCQkJCTx2YWwgbz0iMjNlY2Q1IiB2PSI3MzMiLz4KKwkJCQkJPHZhbCBvPSIyM2ZhZTQiIHY9IjgiLz4KKwkJCQkJPHZhbCBvPSIyNDA4ZjYiIHY9IjEwNDEiLz4KKwkJCQkJPHZhbCBvPSIyNDE3MDYiIHY9IjMyMjIiLz4KKwkJCQkJPHZhbCBvPSIyNDI1MTgiIHY9IjI1NzYiLz4KKwkJCQkJPHZhbCBvPSIyNDMzMjUiIHY9IjI0MjIiLz4KKwkJCQkJPHZhbCBvPSIyNDQxMzciIHY9Ii0xMDM2Ii8+CisJCQkJCTx2YWwgbz0iMjQ0ZjQ2IiB2PSItNzQ2Ii8+CisJCQkJCTx2YWwgbz0iMjQ2YjY2IiB2PSItNjYxIi8+CisJCQkJCTx2YWwgbz0iMjQ3OTc2IiB2PSI0NSIvPgorCQkJCQk8dmFsIG89IjI0ODc4NiIgdj0iMzk4MyIvPgorCQkJCQk8dmFsIG89IjI0OTU3ZSIgdj0iMTY5NCIvPgorCQkJCQk8dmFsIG89IjI0YTM4ZiIgdj0iNzA5Ii8+CisJCQkJCTx2YWwgbz0iMjRiMTljIiB2PSItODQ0Ii8+CisJCQkJCTx2YWwgbz0iMjRiZmFjIiB2PSItNjA1Ii8+CisJCQkJCTx2YWwgbz0iMjRjZGJjIiB2PSItNjYxIi8+CisJCQkJCTx2YWwgbz0iMjRkYmNkIiB2PSItNDM2Ii8+CisJCQkJCTx2YWwgbz0iMjRlOWU1IiB2PSItMTE1NSIvPgorCQkJCQk8dmFsIG89IjI0ZjgwOCIgdj0iLTcxNiIvPgorCQkJCQk8dmFsIG89IjI1MDYxNiIgdj0iLTg3NyIvPgorCQkJCQk8dmFsIG89IjI1MTQyNiIgdj0iLTEwMjQiLz4KKwkJCQkJPHZhbCBvPSIyNTIyMzYiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iMjUzMDQ3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMjUzZTU2IiB2PSIxMTg1Ii8+CisJCQkJCTx2YWwgbz0iMjU0YzY3IiB2PSI4ODQiLz4KKwkJCQkJPHZhbCBvPSIyNTVhNzYiIHY9IjExMDMiLz4KKwkJCQkJPHZhbCBvPSIyNTY4ODciIHY9IjE3ODkiLz4KKwkJCQkJPHZhbCBvPSIyNTc2OTciIHY9IjMxMzIiLz4KKwkJCQkJPHZhbCBvPSIyNTg0YTgiIHY9Ii00MDMyIi8+CisJCQkJCTx2YWwgbz0iMjU5MmI2IiB2PSItMjExNCIvPgorCQkJCQk8dmFsIG89IjI1YTBjNyIgdj0iLTQ5OCIvPgorCQkJCQk8dmFsIG89IjI1YWVkNyIgdj0iMTc0Ii8+CisJCQkJCTx2YWwgbz0iMjViY2U3IiB2PSIyMTAiLz4KKwkJCQkJPHZhbCBvPSIyNWNhZjgiIHY9IjcxMCIvPgorCQkJCQk8dmFsIG89IjI1ZDkwNyIgdj0iMjEyNyIvPgorCQkJCQk8dmFsIG89IjI1ZTcxOCIgdj0iMjM4NiIvPgorCQkJCQk8dmFsIG89IjI1ZjUyNyIgdj0iMTkxNiIvPgorCQkJCQk8dmFsIG89IjI2MDMzOCIgdj0iNTMiLz4KKwkJCQkJPHZhbCBvPSIyNjExNDkiIHY9IjEwNzAiLz4KKwkJCQkJPHZhbCBvPSIyNjFmNTkiIHY9IjU2NCIvPgorCQkJCQk8dmFsIG89IjI2MmQ2OCIgdj0iLTExODEiLz4KKwkJCQkJPHZhbCBvPSIyNjNiODMiIHY9IjM0Ii8+CisJCQkJCTx2YWwgbz0iMjY0OTg2IiB2PSItODQ3Ii8+CisJCQkJCTx2YWwgbz0iMjY1Nzk1IiB2PSItMTMxOCIvPgorCQkJCQk8dmFsIG89IjI2NjVhNiIgdj0iLTE4NDIiLz4KKwkJCQkJPHZhbCBvPSIyNjczYjUiIHY9Ii0xNDA0Ii8+CisJCQkJCTx2YWwgbz0iMjY4MWM2IiB2PSItMTEyOSIvPgorCQkJCQk8dmFsIG89IjI2OGZkNSIgdj0iLTM3MiIvPgorCQkJCQk8dmFsIG89IjI2OWRlNiIgdj0iMjY5Ii8+CisJCQkJCTx2YWwgbz0iMjZhYmY2IiB2PSI1NzIiLz4KKwkJCQkJPHZhbCBvPSIyNmJhMDYiIHY9IjE0MTMiLz4KKwkJCQkJPHZhbCBvPSIyNmM4MTciIHY9IjE1ODYiLz4KKwkJCQkJPHZhbCBvPSIyNmQ2MmIiIHY9IjMxNjEiLz4KKwkJCQkJPHZhbCBvPSIyNmU0MzYiIHY9IjIzNDciLz4KKwkJCQkJPHZhbCBvPSIyNmYyNDciIHY9IjI2MjciLz4KKwkJCQkJPHZhbCBvPSIyNzAwNTciIHY9IjI1MDIiLz4KKwkJCQkJPHZhbCBvPSIyNzBlNjciIHY9IjI4MTgiLz4KKwkJCQkJPHZhbCBvPSIyNzFjNzciIHY9IjE1OCIvPgorCQkJCQk8dmFsIG89IjI3MmE4NyIgdj0iLTU0NSIvPgorCQkJCQk8dmFsIG89IjI3Mzg5NyIgdj0iLTM3MCIvPgorCQkJCQk8dmFsIG89IjI3NDZhOCIgdj0iLTYyNCIvPgorCQkJCQk8dmFsIG89IjI3NTRiOSIgdj0iLTg0NyIvPgorCQkJCQk8dmFsIG89IjI3NjJjNyIgdj0iMjMxNSIvPgorCQkJCQk8dmFsIG89IjI3NzBkOCIgdj0iMTA5OSIvPgorCQkJCQk8dmFsIG89IjI3N2VlNyIgdj0iLTQxNyIvPgorCQkJCTwvcGFyPgorCQkJCTxwYXIgbWVtaW5kPSI0MjIyMDAiIGg9IjNkYzFhOGRlIj4KKwkJCQkJPHZhbCBvPSIwIiB2PSItNDMwNyIvPgorCQkJCQk8dmFsIG89ImUwOCIgdj0iLTQxNjkiLz4KKwkJCQkJPHZhbCBvPSIxYzMyIiB2PSItNDA5NiIvPgorCQkJCQk8dmFsIG89IjJhM2MiIHY9Ii00MDg3Ii8+CisJCQkJCTx2YWwgbz0iMzgzNSIgdj0iLTM5NjMiLz4KKwkJCQkJPHZhbCBvPSI0NjQ1IiB2PSItMzk2OSIvPgorCQkJCQk8dmFsIG89IjU0NTUiIHY9Ii00NDExIi8+CisJCQkJCTx2YWwgbz0iNjI2NSIgdj0iLTUzNTgiLz4KKwkJCQkJPHZhbCBvPSI3MDc1IiB2PSItNjMxNyIvPgorCQkJCQk8dmFsIG89IjdlODUiIHY9Ii03Mjk4Ii8+CisJCQkJCTx2YWwgbz0iOGM5NiIgdj0iLTc1MTkiLz4KKwkJCQkJPHZhbCBvPSI5YWE1IiB2PSItNzM1MSIvPgorCQkJCQk8dmFsIG89ImE4YjYiIHY9Ii02ODkwIi8+CisJCQkJCTx2YWwgbz0iYjZjNSIgdj0iLTY0NjUiLz4KKwkJCQkJPHZhbCBvPSJjNGQ3IiB2PSItNyIvPgorCQkJCQk8dmFsIG89ImQzMGIiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iZTBmNiIgdj0iLTciLz4KKwkJCQkJPHZhbCBvPSJlZjA2IiB2PSItNyIvPgorCQkJCQk8dmFsIG89ImZkMTciIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iMTBiMjciIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iMTE5MzciIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iMTI3NDYiIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iMTM1NTYiIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iMTQzNjYiIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iMTUxODEiIHY9Ii05Ii8+CisJCQkJCTx2YWwgbz0iMTVmODUiIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iMTZkOTUiIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iMTdiYTQiIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iMTg5YjUiIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iMTk3YzQiIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iMWE1ZDUiIHY9Ii05Ii8+CisJCQkJCTx2YWwgbz0iMWIzZTYiIHY9Ii05Ii8+CisJCQkJCTx2YWwgbz0iMWMxZjYiIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iMWQwMDUiIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iMWRlMTUiIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iMWVjMjUiIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iMWZhMzYiIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iMjA4NDUiIHY9Ii05Ii8+CisJCQkJCTx2YWwgbz0iMjE2NTYiIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iMjI0NjUiIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iMjMyNzYiIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iMjQwODYiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iMjRlOTkiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iMjVjYTciIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iMjZhYjciIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iMjc4YzYiIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iMjg2ZDYiIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iMjk0ZTYiIHY9Ii05Ii8+CisJCQkJCTx2YWwgbz0iMmEzMDEiIHY9Ii05Ii8+CisJCQkJCTx2YWwgbz0iMmIxMDUiIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iMmJmMTUiIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iMmNkMjUiIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iMmRiMzUiIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iMmU5NDYiIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iMmY3NTUiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iMzA1NjYiIHY9Ii05Ii8+CisJCQkJCTx2YWwgbz0iMzEzNzUiIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iMzIxOWUiIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iMzJmOTYiIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iMzNkYTYiIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iMzRiYjYiIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iMzU5ZGUiIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iMzY3ZDYiIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iMzc1ZTYiIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iMzg0MGUiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iMzkyMWUiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iM2EwMTYiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iM2FlMjciIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iM2JjMzYiIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iM2NhNDciIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iM2Q4NTYiIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iM2U2NjciIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iM2Y0ODEiIHY9Ii05Ii8+CisJCQkJCTx2YWwgbz0iNDAyODUiIHY9Ii05Ii8+CisJCQkJCTx2YWwgbz0iNDEwOTUiIHY9Ii05Ii8+CisJCQkJCTx2YWwgbz0iNDFlYTUiIHY9Ii05Ii8+CisJCQkJCTx2YWwgbz0iNDJjYjUiIHY9Ii05Ii8+CisJCQkJCTx2YWwgbz0iNDNhYzUiIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iNDQ4ZDUiIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iNDU2ZTYiIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iNDY0ZjUiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iNDgwZmYiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iNDhmMGUiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iNDlkMWQiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iNGFiNDYiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iNGI5NTUiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iNGM3NjkiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iNGQ1NzciIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iNGUzODciIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iNGYxOTYiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iNGZmYTYiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iNTBkZDAiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iNTFiYzYiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iNTI5ZDYiIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iNTM3ZTciIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iNTQ2MDAiIHY9Ii05Ii8+CisJCQkJCTx2YWwgbz0iNTU0MDYiIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iNTYyMTUiIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iNTcwMjYiIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iNTdlMzYiIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iNThjNDYiIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iNTlhNzAiIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iNWE4NjciIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iNWI2NzYiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iNWM0ODciIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iNWQyOTYiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iNWUwYTkiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iNWVlYjgiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iNWZjYzYiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iNjBhZDciIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iNjE4ZTciIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iNjI2ZjciIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iNjM1MDciIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iNjQzMTciIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iNjUxMjciIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iNjVmMzciIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iNjZkNDYiIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iNjdiNTciIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iNjg5NjciIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iNjk3ODIiIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iNmE1ODYiIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iNmIzOTUiIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iNmMxYTYiIHY9Ii05Ii8+CisJCQkJCTx2YWwgbz0iNmNmYjUiIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iNmRkYzYiIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iNmViZDYiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iNmY5ZTYiIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iNzA3ZjYiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iNzE2MDciIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iNzI0MTciIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iNzMyMjciIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iNzQwMzciIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iNzRlNDciIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iNzVjNTciIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iNzZhNjMiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iNzc4NzMiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iNzg2ODAiIHY9Ii02Ii8+CisJCQkJCTx2YWwgbz0iNzk0OGYiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iN2EyOWYiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iN2IwYWYiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iN2JlYmYiIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iN2NjY2YiIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iN2RhZGYiIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iN2U4ZmEiIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iN2Y3MGEiIHY9Ii05Ii8+CisJCQkJCTx2YWwgbz0iODA1MWEiIHY9Ii05Ii8+CisJCQkJCTx2YWwgbz0iODEzMmEiIHY9Ii05Ii8+CisJCQkJCTx2YWwgbz0iODIxM2EiIHY9Ii05Ii8+CisJCQkJCTx2YWwgbz0iODJmNGEiIHY9Ii05Ii8+CisJCQkJCTx2YWwgbz0iODNkNWEiIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iODRiNmEiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iODU5N2EiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iODY3OGIiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iODc1OWIiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iODgzYWMiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iODkxYmIiIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iODlmY2EiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iOGFkZGEiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iOGJiZWIiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iOGM5ZmMiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iOGQ4MGIiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iOGU2MWEiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iOGY0MmEiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iOTAyM2EiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iOTEwNGEiIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iOTFlNWEiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iOTJjNmEiIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iOTNhODQiIHY9Ii05Ii8+CisJCQkJCTx2YWwgbz0iOTQ4ODUiIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iOTU2OTQiIHY9Ii05Ii8+CisJCQkJCTx2YWwgbz0iOTY0YTUiIHY9Ii05Ii8+CisJCQkJCTx2YWwgbz0iOTcyYjQiIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iOTgwYzUiIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iOThlZDQiIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iOTljZTUiIHY9Ii04Ii8+CisJCQkJCTx2YWwgbz0iOWFhZjUiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iOWI5MDYiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iOWM3MTYiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iOWQ1MjYiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iOWUzMzYiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iOWYxNDUiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iOWZmNTYiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iYTBkNjUiIHY9Ii03Ii8+CisJCQkJCTx2YWwgbz0iYTFiNzciIHY9Ii02MzI0Ii8+CisJCQkJCTx2YWwgbz0iYTI5ODYiIHY9Ii0zNTE2Ii8+CisJCQkJCTx2YWwgbz0iYTM3OTUiIHY9Ii05NjMiLz4KKwkJCQkJPHZhbCBvPSJhNDVhNyIgdj0iNjQ0Ii8+CisJCQkJCTx2YWwgbz0iYTUzYjYiIHY9IjcwMCIvPgorCQkJCQk8dmFsIG89ImE2MWM3IiB2PSI5NDIiLz4KKwkJCQkJPHZhbCBvPSJhNmZkNiIgdj0iOTkiLz4KKwkJCQkJPHZhbCBvPSJhN2UwMCIgdj0iNDY0Ii8+CisJCQkJCTx2YWwgbz0iYThjMDAiIHY9IjkxMiIvPgorCQkJCQk8dmFsIG89ImE5YTA1IiB2PSIyODkiLz4KKwkJCQkJPHZhbCBvPSJhYTgxNSIgdj0iMzIiLz4KKwkJCQkJPHZhbCBvPSJhYjYyNSIgdj0iNDYiLz4KKwkJCQkJPHZhbCBvPSJhYzQzNSIgdj0iMjAwIi8+CisJCQkJCTx2YWwgbz0iYWQyNDUiIHY9IjkyMSIvPgorCQkJCQk8dmFsIG89ImFlMDU1IiB2PSI3NDQiLz4KKwkJCQkJPHZhbCBvPSJhZWU2NSIgdj0iLTU2MSIvPgorCQkJCQk8dmFsIG89ImFmYzc1IiB2PSItNjgiLz4KKwkJCQkJPHZhbCBvPSJiMGE4NSIgdj0iMzEiLz4KKwkJCQkJPHZhbCBvPSJiMjZhNiIgdj0iMTQyIi8+CisJCQkJCTx2YWwgbz0iYjM0YjYiIHY9Ii0xMjMiLz4KKwkJCQkJPHZhbCBvPSJiNDJjNiIgdj0iLTQ1MSIvPgorCQkJCQk8dmFsIG89ImI1MGQ2IiB2PSItNzI5Ii8+CisJCQkJCTx2YWwgbz0iYjVlZTciIHY9Ii03MTIiLz4KKwkJCQkJPHZhbCBvPSJiNmNmNiIgdj0iLTE1ODQiLz4KKwkJCQkJPHZhbCBvPSJiN2IwNyIgdj0iLTE5ODMiLz4KKwkJCQkJPHZhbCBvPSJiODkxNyIgdj0iLTE3NTMiLz4KKwkJCQkJPHZhbCBvPSJiOTcyOCIgdj0iLTE3NTgiLz4KKwkJCQkJPHZhbCBvPSJiYTUzNyIgdj0iLTE4OTEiLz4KKwkJCQkJPHZhbCBvPSJiYjM0NyIgdj0iLTgyNyIvPgorCQkJCQk8dmFsIG89ImJjMTU3IiB2PSItODgyIi8+CisJCQkJCTx2YWwgbz0iYmNmNjciIHY9Ii04OTkiLz4KKwkJCQkJPHZhbCBvPSJiZGQ4MSIgdj0iNjQ0Ii8+CisJCQkJCTx2YWwgbz0iYmViODYiIHY9IjQxNyIvPgorCQkJCQk8dmFsIG89ImJmOTk1IiB2PSI1MjQiLz4KKwkJCQkJPHZhbCBvPSJjMDdhNiIgdj0iNDAwIi8+CisJCQkJCTx2YWwgbz0iYzE1YjUiIHY9IjM3MiIvPgorCQkJCQk8dmFsIG89ImMyM2M2IiB2PSI0ODQiLz4KKwkJCQkJPHZhbCBvPSJjMzFkNSIgdj0iNTkxIi8+CisJCQkJCTx2YWwgbz0iYzNmZTYiIHY9IjMzNiIvPgorCQkJCQk8dmFsIG89ImM0ZGY1IiB2PSI3NDEiLz4KKwkJCQkJPHZhbCBvPSJjNWMwNiIgdj0iMTE0Ii8+CisJCQkJCTx2YWwgbz0iYzZhMTYiIHY9IjUwNyIvPgorCQkJCQk8dmFsIG89ImM3ODI2IiB2PSItNTEiLz4KKwkJCQkJPHZhbCBvPSJjODYzNiIgdj0iMTM2Ii8+CisJCQkJCTx2YWwgbz0iYzk0NDYiIHY9IjMzNCIvPgorCQkJCQk8dmFsIG89ImNhMjU2IiB2PSIyMzUiLz4KKwkJCQkJPHZhbCBvPSJjYjA2NiIgdj0iMTE2Ii8+CisJCQkJCTx2YWwgbz0iY2JlNzYiIHY9Ii00MTciLz4KKwkJCQkJPHZhbCBvPSJjY2M4NyIgdj0iLTIzMiIvPgorCQkJCQk8dmFsIG89ImNkYTk2IiB2PSItMTg0Ii8+CisJCQkJCTx2YWwgbz0iY2U4YTgiIHY9Ii0yMTkiLz4KKwkJCQkJPHZhbCBvPSJjZjZiNyIgdj0iLTEzNCIvPgorCQkJCQk8dmFsIG89ImQwNGM4IiB2PSItNTEiLz4KKwkJCQkJPHZhbCBvPSJkMTJkNyIgdj0iMTQzIi8+CisJCQkJCTx2YWwgbz0iZDIwZTciIHY9IjAiLz4KKwkJCQkJPHZhbCBvPSJkMmYwMiIgdj0iMTEiLz4KKwkJCQkJPHZhbCBvPSJkM2QwNSIgdj0iNjAwIi8+CisJCQkJCTx2YWwgbz0iZDRiMTUiIHY9IjY0NCIvPgorCQkJCQk8dmFsIG89ImQ1OTI2IiB2PSI4MzYiLz4KKwkJCQkJPHZhbCBvPSJkNjczNSIgdj0iMTA2OCIvPgorCQkJCQk8dmFsIG89ImQ3NTQ2IiB2PSIxMjEzIi8+CisJCQkJCTx2YWwgbz0iZDgzNTUiIHY9Ii0xMzUiLz4KKwkJCQkJPHZhbCBvPSJkOTE2NiIgdj0iLTc1NSIvPgorCQkJCQk8dmFsIG89ImQ5Zjc1IiB2PSItMTQ5OCIvPgorCQkJCQk8dmFsIG89ImRhZDg3IiB2PSItMjAxMSIvPgorCQkJCQk8dmFsIG89ImRiYjk3IiB2PSItMjU2MSIvPgorCQkJCQk8dmFsIG89ImRjOWE4IiB2PSItMjMzOCIvPgorCQkJCQk8dmFsIG89ImRkN2I3IiB2PSItMjg5NSIvPgorCQkJCQk8dmFsIG89ImRlNWM2IiB2PSItMjc4MCIvPgorCQkJCQk8dmFsIG89ImRmM2Q3IiB2PSItMjkxMiIvPgorCQkJCQk8dmFsIG89ImUwMWQ3IiB2PSItMjkxMyIvPgorCQkJCQk8dmFsIG89ImUwZmU1IiB2PSItMjgzMiIvPgorCQkJCQk8dmFsIG89ImUxZGY1IiB2PSItMzAxOCIvPgorCQkJCQk8dmFsIG89ImUyYzA0IiB2PSItNDA5OSIvPgorCQkJCQk8dmFsIG89ImUzYTE0IiB2PSItMzk3OSIvPgorCQkJCQk8dmFsIG89ImU0ODI0IiB2PSItMzM3MCIvPgorCQkJCQk8dmFsIG89ImU1NjM0IiB2PSItMzQyOCIvPgorCQkJCQk8dmFsIG89ImU2NDQ0IiB2PSItMjU1MSIvPgorCQkJCQk8dmFsIG89ImU3MjU1IiB2PSItMjE4OSIvPgorCQkJCQk8dmFsIG89ImU4MDZmIiB2PSItMTc1NyIvPgorCQkJCQk8dmFsIG89ImU4ZTdmIiB2PSItNDc3Ii8+CisJCQkJCTx2YWwgbz0iZTljOGUiIHY9Ii03MDkiLz4KKwkJCQkJPHZhbCBvPSJlYWE5ZiIgdj0iLTY1MyIvPgorCQkJCQk8dmFsIG89ImViOGFlIiB2PSItNjUzIi8+CisJCQkJCTx2YWwgbz0iZWM2YmYiIHY9Ii00NjgiLz4KKwkJCQkJPHZhbCBvPSJlZDRjZSIgdj0iLTIxMTIiLz4KKwkJCQkJPHZhbCBvPSJlZTJkZiIgdj0iLTIyMzkiLz4KKwkJCQkJPHZhbCBvPSJlZjBlZiIgdj0iLTMxOTgiLz4KKwkJCQkJPHZhbCBvPSJlZmYwMSIgdj0iLTQwODciLz4KKwkJCQkJPHZhbCBvPSJmMGQxMCIgdj0iLTQzMDgiLz4KKwkJCQkJPHZhbCBvPSJmMWIyMCIgdj0iLTQ1NTAiLz4KKwkJCQkJPHZhbCBvPSJmMjkzMCIgdj0iLTQ2MjgiLz4KKwkJCQkJPHZhbCBvPSJmMzc0MCIgdj0iLTQzMDEiLz4KKwkJCQkJPHZhbCBvPSJmNDU1MSIgdj0iLTQ2MDgiLz4KKwkJCQkJPHZhbCBvPSJmNTM2MSIgdj0iLTQ4NTciLz4KKwkJCQkJPHZhbCBvPSJmNjE3MiIgdj0iLTQ2MTMiLz4KKwkJCQkJPHZhbCBvPSJmNmY4MCIgdj0iLTQ4MTgiLz4KKwkJCQkJPHZhbCBvPSJmN2Q5MSIgdj0iLTQyNDQiLz4KKwkJCQkJPHZhbCBvPSJmOGJhMSIgdj0iLTM5MTUiLz4KKwkJCQkJPHZhbCBvPSJmOTliMSIgdj0iLTM4MDUiLz4KKwkJCQkJPHZhbCBvPSJmYTdjMCIgdj0iLTMwMjUiLz4KKwkJCQkJPHZhbCBvPSJmYjVkMSIgdj0iLTMwMzQiLz4KKwkJCQkJPHZhbCBvPSJmYzNlMCIgdj0iLTMyOTUiLz4KKwkJCQkJPHZhbCBvPSJmZDFmYiIgdj0iLTI2ODAiLz4KKwkJCQkJPHZhbCBvPSJmZTAwYiIgdj0iLTI1MzAiLz4KKwkJCQkJPHZhbCBvPSJmZWUxYyIgdj0iLTIwODMiLz4KKwkJCQkJPHZhbCBvPSJmZmMyYyIgdj0iLTE5ODIiLz4KKwkJCQkJPHZhbCBvPSIxMDBhM2IiIHY9Ii0xNzkwIi8+CisJCQkJCTx2YWwgbz0iMTAxODRjIiB2PSItMTc5MSIvPgorCQkJCQk8dmFsIG89IjEwMjY1YiIgdj0iLTIwNzciLz4KKwkJCQkJPHZhbCBvPSIxMDM0NmMiIHY9Ii0yNzI0Ii8+CisJCQkJCTx2YWwgbz0iMTA0MjdiIiB2PSItNDAxNiIvPgorCQkJCQk8dmFsIG89IjEwNTA4ZCIgdj0iLTQzMjAiLz4KKwkJCQkJPHZhbCBvPSIxMDVlOWQiIHY9Ii00MzM5Ii8+CisJCQkJCTx2YWwgbz0iMTA2Y2FkIiB2PSItNDcyNSIvPgorCQkJCQk8dmFsIG89IjEwN2FiZCIgdj0iLTQzMzgiLz4KKwkJCQkJPHZhbCBvPSIxMDg4Y2QiIHY9Ii0zOTA2Ii8+CisJCQkJCTx2YWwgbz0iMTA5NmRlIiB2PSItNDExOSIvPgorCQkJCQk8dmFsIG89IjEwYTRlZCIgdj0iLTQzMjIiLz4KKwkJCQkJPHZhbCBvPSIxMGIyZmUiIHY9Ii00MzQ1Ii8+CisJCQkJCTx2YWwgbz0iMTBjMTBkIiB2PSItNDE2OSIvPgorCQkJCQk8dmFsIG89IjEwY2YxZSIgdj0iLTQzNTQiLz4KKwkJCQkJPHZhbCBvPSIxMGRkMmUiIHY9Ii00MTYwIi8+CisJCQkJCTx2YWwgbz0iMTBlYjY2IiB2PSItNDQ1MyIvPgorCQkJCQk8dmFsIG89IjEwZjk0ZSIgdj0iLTM4OTUiLz4KKwkJCQkJPHZhbCBvPSIxMTA3NWUiIHY9Ii0zMjgxIi8+CisJCQkJCTx2YWwgbz0iMTExNTZkIiB2PSItMjg2NiIvPgorCQkJCQk8dmFsIG89IjExMjM4OCIgdj0iLTI2NjMiLz4KKwkJCQkJPHZhbCBvPSIxMTMxODciIHY9Ii0xNzk0Ii8+CisJCQkJCTx2YWwgbz0iMTEzZmIwIiB2PSItMTc5NyIvPgorCQkJCQk8dmFsIG89IjExNGRhNiIgdj0iLTE4MjMiLz4KKwkJCQkJPHZhbCBvPSIxMTViYjYiIHY9Ii0xNzgyIi8+CisJCQkJCTx2YWwgbz0iMTE2OWM2IiB2PSItMTU4NSIvPgorCQkJCQk8dmFsIG89IjExNzdkNiIgdj0iLTIwODIiLz4KKwkJCQkJPHZhbCBvPSIxMTg1ZTgiIHY9Ii0yODg1Ii8+CisJCQkJCTx2YWwgbz0iMTE5M2Y3IiB2PSItMzU1OCIvPgorCQkJCQk8dmFsIG89IjExYTIwOCIgdj0iLTQ4MzgiLz4KKwkJCQkJPHZhbCBvPSIxMWIwMTciIHY9Ii00MzIyIi8+CisJCQkJCTx2YWwgbz0iMTFiZTJmIiB2PSItNTM5MyIvPgorCQkJCQk8dmFsIG89IjExY2MzNyIgdj0iLTQ0NTYiLz4KKwkJCQkJPHZhbCBvPSIxMWRhNDciIHY9Ii00Mjc5Ii8+CisJCQkJCTx2YWwgbz0iMTFlODU3IiB2PSItNDM1NCIvPgorCQkJCQk8dmFsIG89IjExZjY2NyIgdj0iLTM5MDAiLz4KKwkJCQkJPHZhbCBvPSIxMjA1NzgiIHY9Ii00Ii8+CisJCQkJCTx2YWwgbz0iMTIxMzg2IiB2PSItNCIvPgorCQkJCQk8dmFsIG89IjEyMjE5NiIgdj0iLTQiLz4KKwkJCQkJPHZhbCBvPSIxMjJmYTYiIHY9Ii0zIi8+CisJCQkJCTx2YWwgbz0iMTIzZGI1IiB2PSItMyIvPgorCQkJCQk8dmFsIG89IjEyNGJjNSIgdj0iLTMiLz4KKwkJCQkJPHZhbCBvPSIxMjU5ZDUiIHY9Ii0yIi8+CisJCQkJCTx2YWwgbz0iMTI2N2U0IiB2PSItMiIvPgorCQkJCQk8dmFsIG89IjEyNzYwMCIgdj0iLTIiLz4KKwkJCQkJPHZhbCBvPSIxMjgzMDUiIHY9Ii0yIi8+CisJCQkJCTx2YWwgbz0iMTI5MTE1IiB2PSItMiIvPgorCQkJCQk8dmFsIG89IjEyOWYyNSIgdj0iLTIiLz4KKwkJCQkJPHZhbCBvPSIxMmFkMzUiIHY9Ii0yIi8+CisJCQkJCTx2YWwgbz0iMTJiYjQ1IiB2PSItMSIvPgorCQkJCQk8dmFsIG89IjEyYzk1NCIgdj0iLTIiLz4KKwkJCQkJPHZhbCBvPSIxMmQ3NjYiIHY9Ii0yIi8+CisJCQkJCTx2YWwgbz0iMTJlNTc1IiB2PSItMyIvPgorCQkJCQk8dmFsIG89IjEyZjM4NiIgdj0iLTIiLz4KKwkJCQkJPHZhbCBvPSIxMzAxOTYiIHY9Ii00Ii8+CisJCQkJCTx2YWwgbz0iMTMwZmE2IiB2PSItMyIvPgorCQkJCQk8dmFsIG89IjEzMWRiNyIgdj0iLTMiLz4KKwkJCQkJPHZhbCBvPSIxMzJiYzUiIHY9Ii0zIi8+CisJCQkJCTx2YWwgbz0iMTMzOWQ0IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTM0N2U1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTM1NWY0IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTM2NDA0IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTM3MjE0IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTM4MDI0IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTM4ZTMzIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTM5YzQ0IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTNhYTU0IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTNiODY1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTNjNjdlIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTNkNDhlIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTNlMjllIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTNmMGFlIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTNmZWJmIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTQwY2NmIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTQxYWRmIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTQyOGVmIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTQzNmZmIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTQ0NTBmIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTQ1MzFmIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTQ2MTMwIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTQ2ZjQwIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTQ3ZDQ0IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTQ4YjU3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTQ5OTY1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTRhNzc1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTRiNTg0IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTRjMzk3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTRkMWE0IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTRkZmI2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTRlZGM1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTRmYmQ1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTUwOWU1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTUxN2ZmIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTUyNjA1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTUzNDE1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTU0MjI1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTU1MDM1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTU1ZTQ1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTU2YzU1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTU3YTY1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTU4ODc1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTU5Njg2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTVhNDk1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTViMmE2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTVjMGI2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTVjZWM2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTVkY2Q1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTVlYWU2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTVmOGY1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTYwNzA2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTYxNTE3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTYyMzI2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTYzMTM3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTYzZjQ2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTY0ZDU3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTY1YjY3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTY2OTgyIiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTY3Nzg2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTY4NTk2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTY5M2E2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTZhMWI1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTZhZmM2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTZiZGQ1IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTZjYmU2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTZkOWY2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTZlODA3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTZmNjE2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTcwNDI5IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTcxMjM2IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTcyMDQ3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTcyZTU3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTczYzY3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTc0YTc3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTc1ODg3IiB2PSIwIi8+CisJCQkJCTx2YWwgbz0iMTc2Njk0IiB2PSItNjg0NCIvPgorCQkJCQk8dmFsIG89IjE3NzRhMyIgdj0iLTY4NDgiLz4KKwkJCQkJPHZhbCBvPSIxNzgyYjMiIHY9Ii03Mjc2Ii8+CisJCQkJCTx2YWwgbz0iMTc5MGM1IiB2PSItNjcxOCIvPgorCQkJCQk8dmFsIG89IjE3OWVkNCIgdj0iLTYwNDQiLz4KKwkJCQkJPHZhbCBvPSIxN2FjZTQiIHY9Ii01ODc5Ii8+CisJCQkJCTx2YWwgbz0iMTdiYWZkIiB2PSItNjA2NyIvPgorCQkJCQk8dmFsIG89IjE3YzkwZiIgdj0iLTU0ODQiLz4KKwkJCQkJPHZhbCBvPSIxN2Q3MWUiIHY9Ii01NDM3Ii8+CisJCQkJCTx2YWwgbz0iMTdlNTJmIiB2PSItNTM0MiIvPgorCQkJCQk8dmFsIG89IjE3ZjMzZiIgdj0iLTQ5ODEiLz4KKwkJCQkJPHZhbCBvPSIxODAxNGYiIHY9Ii01MTkzIi8+CisJCQkJCTx2YWwgbz0iMTgwZjVmIiB2PSItNjMyMSIvPgorCQkJCQk8dmFsIG89IjE4MWQ2ZSIgdj0iLTY5MjMiLz4KKwkJCQkJPHZhbCBvPSIxODJiN2YiIHY9Ii03ODg5Ii8+CisJCQkJCTx2YWwgbz0iMTgzOThmIiB2PSItMTM0NjQiLz4KKwkJCQkJPHZhbCBvPSIxODQ3YTEiIHY9Ii0xMzM1NCIvPgorCQkJCQk8dmFsIG89IjE4NTVhZiIgdj0iLTEyODEzIi8+CisJCQkJCTx2YWwgbz0iMTg2M2MwIiB2PSItMTE5OTYiLz4KKwkJCQkJPHZhbCBvPSIxODcxY2YiIHY9Ii0xMjQzNiIvPgorCQkJCQk8dmFsIG89IjE4N2ZlMCIgdj0iLTExNjU4Ii8+CisJCQkJCTx2YWwgbz0iMTg4ZGVmIiB2PSItMTI1MDgiLz4KKwkJCQkJPHZhbCBvPSIxODljMDAiIHY9Ii0xMTk2NSIvPgorCQkJCQk8dmFsIG89IjE4YjgwZCIgdj0iLTc1NjciLz4KKwkJCQkJPHZhbCBvPSIxOGM2MWMiIHY9Ii04MTAwIi8+CisJCQkJCTx2YWwgbz0iMThkNDJjIiB2PSItNzY3NiIvPgorCQkJCQk8dmFsIG89IjE4ZTIzYiIgdj0iLTY1NjUiLz4KKwkJCQkJPHZhbCBvPSIxOGYwNGIiIHY9Ii02MTY3Ii8+CisJCQkJCTx2YWwgbz0iMThmZTVlIiB2PSItNTY2MCIvPgorCQkJCQk8dmFsIG89IjE5MGM3NiIgdj0iLTQ0NzUiLz4KKwkJCQkJPHZhbCBvPSIxOTFhODYiIHY9Ii00MzA2Ii8+CisJCQkJCTx2YWwgbz0iMTkyODk2IiB2PSItNDI1MiIvPgorCQkJCQk8dmFsIG89IjE5MzZhNiIgdj0iLTQxMjUiLz4KKwkJCQkJPHZhbCBvPSIxOTQ0YjciIHY9Ii00MTI1Ii8+CisJCQkJCTx2YWwgbz0iMTk1MmM2IiB2PSItNDQ5OCIvPgorCQkJCQk8dmFsIG89IjE5NjBkNyIgdj0iLTUxMzciLz4KKwkJCQkJPHZhbCBvPSIxOTZlZTYiIHY9Ii01OTY3Ii8+CisJCQkJCTx2YWwgbz0iMTk3Y2Y4IiB2PSItNjM1NCIvPgorCQkJCQk8dmFsIG89IjE5OGIwZiIgdj0iLTU5NjUiLz4KKwkJCQkJPHZhbCBvPSIxOTk5MWYiIHY9Ii02NjE1Ii8+CisJCQkJCTx2YWwgbz0iMTliNTQxIiB2PSItNjYxOSIvPgorCQkJCQk8dmFsIG89IjE5YzM0ZCIgdj0iLTYxOTkiLz4KKwkJCQkJPHZhbCBvPSIxOWQxNWUiIHY9Ii02MjM1Ii8+CisJCQkJCTx2YWwgbz0iMTlkZjgwIiB2PSItNjMxMyIvPgorCQkJCQk8dmFsIG89IjE5ZWQ5MCIgdj0iLTYwNzkiLz4KKwkJCQkJPHZhbCBvPSIxOWVlYmUiIHY9Ii02MDc1Ii8+CisJCQkJCTx2YWwgbz0iMTlmYjhlIiB2PSItMjM5MCIvPgorCQkJCQk8dmFsIG89IjFhMDlhMCIgdj0iLTI2MDAiLz4KKwkJCQkJPHZhbCBvPSIxYTE3YWUiIHY9Ii0zMDUxIi8+CisJCQkJCTx2YWwgbz0iMWEyNWJlIiB2PSItMzMzOCIvPgorCQkJCQk8dmFsIG89IjFhMzNjZCIgdj0iLTIyMzgiLz4KKwkJCQkJPHZhbCBvPSIxYTQxZGQiIHY9Ii0yMTM3Ii8+CisJCQkJCTx2YWwgbz0iMWE0ZmVkIiB2PSItMTU0NiIvPgorCQkJCQk8dmFsIG89IjFhNWUwOCIgdj0iLTE2NzAiLz4KKwkJCQkJPHZhbCBvPSIxYTZjMDUiIHY9Ii05NjkiLz4KKwkJCQkJPHZhbCBvPSIxYTdhMTUiIHY9Ii0xMTIzIi8+CisJCQkJCTx2YWwgbz0iMWE4ODI2IiB2PSItMTA3MiIvPgorCQkJCQk8dmFsIG89IjFhOTYzNyIgdj0iLTQ4MSIvPgorCQkJCQk8dmFsIG89IjFhYTQ0NSIgdj0iLTUzNyIvPgorCQkJCQk8dmFsIG89IjFhYjI1NSIgdj0iLTk5NSIvPgorCQkJCQk8dmFsIG89IjFhYzA2NSIgdj0iLTE4MTkiLz4KKwkJCQkJPHZhbCBvPSIxYWNlNzUiIHY9Ii0yNjM2Ii8+CisJCQkJCTx2YWwgbz0iMWFkYzg3IiB2PSItMjkyMCIvPgorCQkJCQk8dmFsIG89IjFhZWE5NiIgdj0iLTI1OTQiLz4KKwkJCQkJPHZhbCBvPSIxYWY4YTciIHY9Ii0yODk4Ii8+CisJCQkJCTx2YWwgbz0iMWIwNmI3IiB2PSItMjE3MyIvPgorCQkJCQk8dmFsIG89IjFiMTRjNiIgdj0iLTIwOTIiLz4KKwkJCQkJPHZhbCBvPSIxYzc0NjAiIHY9IjMxMSIvPgorCQkJCQk8dmFsIG89IjFjODI3MCIgdj0iMzk5Ii8+CisJCQkJCTx2YWwgbz0iMWM5MDdlIiB2PSIzNDg2Ii8+CisJCQkJCTx2YWwgbz0iMWM5ZThmIiB2PSIzMzU3Ii8+CisJCQkJCTx2YWwgbz0iMWNhY2EyIiB2PSIzNjcwIi8+CisJCQkJCTx2YWwgbz0iMWNiYWIxIiB2PSIzNTgwIi8+CisJCQkJCTx2YWwgbz0iMWNjOGMxIiB2PSI1Mzk4Ii8+CisJCQkJCTx2YWwgbz0iMWNkNmQwIiB2PSI1NDc4Ii8+CisJCQkJCTx2YWwgbz0iMWNlNGRlIiB2PSI1NjE4Ii8+CisJCQkJCTx2YWwgbz0iMWNmMmYwIiB2PSI1NjU5Ii8+CisJCQkJCTx2YWwgbz0iMWQwMTA5IiB2PSI1OTIzIi8+CisJCQkJCTx2YWwgbz0iMWQwZjA2IiB2PSI2NjUxIi8+CisJCQkJCTx2YWwgbz0iMWQxZDE1IiB2PSI2NjU0Ii8+CisJCQkJCTx2YWwgbz0iMWQyYjI1IiB2PSI2NzEzIi8+CisJCQkJCTx2YWwgbz0iMWQzOTM1IiB2PSI2ODg1Ii8+CisJCQkJCTx2YWwgbz0iMWQ0NzQ1IiB2PSI2ODkzIi8+CisJCQkJCTx2YWwgbz0iMWQ1NTU1IiB2PSI2NzA1Ii8+CisJCQkJCTx2YWwgbz0iMWQ2MzY2IiB2PSI1ODUzIi8+CisJCQkJCTx2YWwgbz0iMWQ3MTc1IiB2PSI1NTQ1Ii8+CisJCQkJCTx2YWwgbz0iMWQ3Zjg2IiB2PSI1NTg5Ii8+CisJCQkJCTx2YWwgbz0iMWQ4ZDk1IiB2PSItMzIxOSIvPgorCQkJCQk8dmFsIG89IjFkOWJhNiIgdj0iLTM2MjAiLz4KKwkJCQkJPHZhbCBvPSIxZGE5YjYiIHY9Ii0zNjIzIi8+CisJCQkJCTx2YWwgbz0iMWRiN2M3IiB2PSItMzQ3MiIvPgorCQkJCQk8dmFsIG89IjFkYzVkNSIgdj0iLTM2MzAiLz4KKwkJCQkJPHZhbCBvPSIxZGQzZTYiIHY9Ii0zNzIzIi8+CisJCQkJCTx2YWwgbz0iMWRlMWY1IiB2PSItNjAzMyIvPgorCQkJCQk8dmFsIG89IjFkZjAwNiIgdj0iLTY3NTIiLz4KKwkJCQkJPHZhbCBvPSIxZGZlMTYiIHY9Ii02NjQ3Ii8+CisJCQkJCTx2YWwgbz0iMWUwYzI2IiB2PSItNjc3OCIvPgorCQkJCQk8dmFsIG89IjFlMWEzNiIgdj0iLTY3OTQiLz4KKwkJCQkJPHZhbCBvPSIxZTI4NDciIHY9Ii02NTkzIi8+CisJCQkJCTx2YWwgbz0iMWUzNjU5IiB2PSItNjEzNiIvPgorCQkJCQk8dmFsIG89IjFlNDQ2NyIgdj0iLTU2NTMiLz4KKwkJCQkJPHZhbCBvPSIxZTUyODEiIHY9Ii00OTEwIi8+CisJCQkJCTx2YWwgbz0iMWU2MDg2IiB2PSItNDkwOCIvPgorCQkJCQk8dmFsIG89IjFlNmU5NiIgdj0iLTQ4MDMiLz4KKwkJCQkJPHZhbCBvPSIxZTdjYTYiIHY9Ii0xOTcwIi8+CisJCQkJCTx2YWwgbz0iMWU4YWI1IiB2PSItMTgyMCIvPgorCQkJCQk8dmFsIG89IjFlOThjNiIgdj0iLTE4MjEiLz4KKwkJCQkJPHZhbCBvPSIxZWE2ZDUiIHY9Ii0yMjcxIi8+CisJCQkJCTx2YWwgbz0iMWViNGU2IiB2PSItMjMzMiIvPgorCQkJCQk8dmFsIG89IjFlYzJmNiIgdj0iLTI2NDYiLz4KKwkJCQkJPHZhbCBvPSIxZWQxMDYiIHY9Ii0yNjQ0Ii8+CisJCQkJCTx2YWwgbz0iMWVkZjE2IiB2PSItMjc0OSIvPgorCQkJCQk8dmFsIG89IjFlZWQyNiIgdj0iLTI3MjgiLz4KKwkJCQkJPHZhbCBvPSIxZWZiMzYiIHY9Ii0yNTg3Ii8+CisJCQkJCTx2YWwgbz0iMWYwOTQ2IiB2PSItMjU0OCIvPgorCQkJCQk8dmFsIG89IjFmMTc1NiIgdj0iLTIzNzciLz4KKwkJCQkJPHZhbCBvPSIxZjI1NjYiIHY9Ii0yMzM5Ii8+CisJCQkJCTx2YWwgbz0iMWYzMzc2IiB2PSItMjU2NiIvPgorCQkJCQk8dmFsIG89IjFmNDE4NyIgdj0iLTI3ODQiLz4KKwkJCQkJPHZhbCBvPSIxZjRmOTYiIHY9Ii0zMTkxIi8+CisJCQkJCTx2YWwgbz0iMWY1ZGE3IiB2PSItMzU4MSIvPgorCQkJCQk8dmFsIG89IjFmNmJiNiIgdj0iLTM1OTEiLz4KKwkJCQkJPHZhbCBvPSIxZjc5YzciIHY9Ii0zMTI0Ii8+CisJCQkJCTx2YWwgbz0iMWY4N2Q2IiB2PSItMzMzNyIvPgorCQkJCQk8dmFsIG89IjFmOTVlNyIgdj0iLTMxNDIiLz4KKwkJCQkJPHZhbCBvPSIxZmE0MDEiIHY9Ii0yODA2Ii8+CisJCQkJCTx2YWwgbz0iMWZiMjA0IiB2PSItMjQ4MCIvPgorCQkJCQk8dmFsIG89IjFmYzAxNiIgdj0iLTI0OTciLz4KKwkJCQkJPHZhbCBvPSIxZmNlMjUiIHY9Ii0yMTcxIi8+CisJCQkJCTx2YWwgbz0iMWZkYzM1IiB2PSItMjEzMyIvPgorCQkJCQk8dmFsIG89IjFmZWE0NSIgdj0iLTIxNTkiLz4KKwkJCQkJPHZhbCBvPSIxZmY4NTUiIHY9Ii0yNTAwIi8+CisJCQkJCTx2YWwgbz0iMjAwNjY1IiB2PSItMjM5NSIvPgorCQkJCQk8dmFsIG89IjIwMTQ3NSIgdj0iLTM0NjkiLz4KKwkJCQkJPHZhbCBvPSIyMDIyODYiIHY9Ii00NTEyIi8+CisJCQkJCTx2YWwgbz0iMjAzMDk1IiB2PSItNTM1NSIvPgorCQkJCQk8dmFsIG89IjIwM2VhNSIgdj0iLTU5MTUiLz4KKwkJCQkJPHZhbCBvPSIyMDRjYjYiIHY9Ii01NzcxIi8+CisJCQkJCTx2YWwgbz0iMjA1YWM2IiB2PSItNTI4NyIvPgorCQkJCQk8dmFsIG89IjIwNjhkNiIgdj0iLTUzODYiLz4KKwkJCQkJPHZhbCBvPSIyMDc2ZTYiIHY9Ii01OTc2Ii8+CisJCQkJCTx2YWwgbz0iMjA4NGY2IiB2PSItNjEwMCIvPgorCQkJCQk8dmFsIG89IjIwOTMwNiIgdj0iLTY3NDIiLz4KKwkJCQkJPHZhbCBvPSIyMGExMTYiIHY9Ii02MzEyIi8+CisJCQkJCTx2YWwgbz0iMjBhZjI2IiB2PSItNTUzMyIvPgorCQkJCQk8dmFsIG89IjIwYmQzNyIgdj0iLTU0NTUiLz4KKwkJCQkJPHZhbCBvPSIyMGNiNDYiIHY9Ii00NjMwIi8+CisJCQkJCTx2YWwgbz0iMjBkOTU3IiB2PSItNDM0OCIvPgorCQkJCQk8dmFsIG89IjIwZTc2NyIgdj0iLTQwNDYiLz4KKwkJCQkJPHZhbCBvPSIyMGY1ODEiIHY9Ii0zODU1Ii8+CisJCQkJCTx2YWwgbz0iMjEwMzg2IiB2PSItMzUxOSIvPgorCQkJCQk8dmFsIG89IjIxMTE5NCIgdj0iLTMxMzEiLz4KKwkJCQkJPHZhbCBvPSIyMTFmYTUiIHY9Ii0zMDE0Ii8+CisJCQkJCTx2YWwgbz0iMjEyZGI1IiB2PSItMjkwNCIvPgorCQkJCQk8dmFsIG89IjIxM2JjNSIgdj0iLTI4MjYiLz4KKwkJCQkJPHZhbCBvPSIyMTQ5ZDYiIHY9Ii0zNjgwIi8+CisJCQkJCTx2YWwgbz0iMjE1N2U1IiB2PSItNDUwNyIvPgorCQkJCQk8dmFsIG89IjIxNjVmNiIgdj0iLTU4NDQiLz4KKwkJCQkJPHZhbCBvPSIyMTc0MDYiIHY9Ii02MTk1Ii8+CisJCQkJCTx2YWwgbz0iMjE4MjE3IiB2PSItNjE2NSIvPgorCQkJCQk8dmFsIG89IjIxOTAyNiIgdj0iLTYxNDIiLz4KKwkJCQkJPHZhbCBvPSIyMTllMzkiIHY9Ii02MjIzIi8+CisJCQkJCTx2YWwgbz0iMjFhYzQ2IiB2PSItNTkzOCIvPgorCQkJCQk8dmFsIG89IjIxYmE1NyIgdj0iLTU5MjYiLz4KKwkJCQkJPHZhbCBvPSIyMWM4NjciIHY9Ii01NTU3Ii8+CisJCQkJCTx2YWwgbz0iMjFkNjc3IiB2PSItNjI0MCIvPgorCQkJCQk8dmFsIG89IjIxZTQ4NyIgdj0iLTU3NTAiLz4KKwkJCQkJPHZhbCBvPSIyMWYyOTYiIHY9Ii01NzcyIi8+CisJCQkJCTx2YWwgbz0iMjIwMGE2IiB2PSItNTQ2OCIvPgorCQkJCQk8dmFsIG89IjIyMGViNyIgdj0iLTUzOTMiLz4KKwkJCQkJPHZhbCBvPSIyMjFjYzYiIHY9Ii00NTQzIi8+CisJCQkJCTx2YWwgbz0iMjIyYWQ3IiB2PSItMzg3NiIvPgorCQkJCQk8dmFsIG89IjIyMzhlNyIgdj0iLTM2MjIiLz4KKwkJCQkJPHZhbCBvPSIyMjQ3MDEiIHY9Ii0zMjkyIi8+CisJCQkJCTx2YWwgbz0iMjI1NTA1IiB2PSItMTY4MSIvPgorCQkJCQk8dmFsIG89IjIyNjMxNSIgdj0iLTIwODIiLz4KKwkJCQkJPHZhbCBvPSIyMjcxMjUiIHY9Ii0yMDQzIi8+CisJCQkJCTx2YWwgbz0iMjI3ZjM1IiB2PSItMTY3NSIvPgorCQkJCQk8dmFsIG89IjIyOGQ0NSIgdj0iLTE3ODUiLz4KKwkJCQkJPHZhbCBvPSIyMjliNTQiIHY9Ii0zNDk0Ii8+CisJCQkJCTx2YWwgbz0iMjJhOTY1IiB2PSItNDA4MCIvPgorCQkJCQk8dmFsIG89IjIyYjc3NiIgdj0iLTQ0NTQiLz4KKwkJCQkJPHZhbCBvPSIyMmM1ODYiIHY9Ii00ODE2Ii8+CisJCQkJCTx2YWwgbz0iMjJkMzk3IiB2PSItNDQwNSIvPgorCQkJCQk8dmFsIG89IjIyZTFhNiIgdj0iLTQ2MjAiLz4KKwkJCQkJPHZhbCBvPSIyMmVmYjYiIHY9Ii00ODIwIi8+CisJCQkJCTx2YWwgbz0iMjJmZGM3IiB2PSItNDY0MyIvPgorCQkJCQk8dmFsIG89IjIzMGJkNyIgdj0iLTQ0MzUiLz4KKwkJCQkJPHZhbCBvPSIyMzE5ZTYiIHY9Ii01Mzk3Ii8+CisJCQkJCTx2YWwgbz0iMjMyN2Y2IiB2PSItNTU1OCIvPgorCQkJCQk8dmFsIG89IjIzMzYxYiIgdj0iLTU4ODMiLz4KKwkJCQkJPHZhbCBvPSIyMzQ0MTYiIHY9Ii01MjA3Ii8+CisJCQkJCTx2YWwgbz0iMjM1MjI2IiB2PSItNTIwMyIvPgorCQkJCQk8dmFsIG89IjIzNjAzNyIgdj0iLTUyNTMiLz4KKwkJCQkJPHZhbCBvPSIyMzZlNDYiIHY9Ii00MzQyIi8+CisJCQkJCTx2YWwgbz0iMjM3YzU3IiB2PSItNDE5NCIvPgorCQkJCQk8dmFsIG89IjIzOGE2NiIgdj0iLTM5OTEiLz4KKwkJCQkJPHZhbCBvPSIyMzk4ODEiIHY9Ii0zMTk1Ii8+CisJCQkJCTx2YWwgbz0iMjNhNjg1IiB2PSItMzMyOCIvPgorCQkJCQk8dmFsIG89IjIzYjQ5NSIgdj0iLTMxOTEiLz4KKwkJCQkJPHZhbCBvPSIyM2MyYTQiIHY9Ii0yOTY2Ii8+CisJCQkJCTx2YWwgbz0iMjNkMGI1IiB2PSItMjk1OSIvPgorCQkJCQk8dmFsIG89IjIzZGVjNCIgdj0iLTI5MTYiLz4KKwkJCQkJPHZhbCBvPSIyM2VjZDUiIHY9Ii0zNjIwIi8+CisJCQkJCTx2YWwgbz0iMjNmYWU0IiB2PSItNDU2MiIvPgorCQkJCQk8dmFsIG89IjI0MDhmNiIgdj0iLTUwMTMiLz4KKwkJCQkJPHZhbCBvPSIyNDE3MDYiIHY9Ii01NzkzIi8+CisJCQkJCTx2YWwgbz0iMjQyNTE4IiB2PSItNjYwNSIvPgorCQkJCQk8dmFsIG89IjI0MzMyNSIgdj0iLTY3ODciLz4KKwkJCQkJPHZhbCBvPSIyNDQxMzciIHY9Ii02NzMyIi8+CisJCQkJCTx2YWwgbz0iMjQ0ZjQ2IiB2PSItNjQzNSIvPgorCQkJCQk8dmFsIG89IjI0NmI2NiIgdj0iLTY0MTUiLz4KKwkJCQkJPHZhbCBvPSIyNDc5NzYiIHY9Ii02MjYxIi8+CisJCQkJCTx2YWwgbz0iMjQ4Nzg2IiB2PSItNTM3MSIvPgorCQkJCQk8dmFsIG89IjI0OTU3ZSIgdj0iLTU3MDMiLz4KKwkJCQkJPHZhbCBvPSIyNGEzOGYiIHY9Ii01NjY4Ii8+CisJCQkJCTx2YWwgbz0iMjRiMTljIiB2PSItNTgxMCIvPgorCQkJCQk8dmFsIG89IjI0YmZhYyIgdj0iLTU0OTUiLz4KKwkJCQkJPHZhbCBvPSIyNGNkYmMiIHY9Ii01MzY4Ii8+CisJCQkJCTx2YWwgbz0iMjRkYmNkIiB2PSItNDUzOSIvPgorCQkJCQk8dmFsIG89IjI0ZTllNSIgdj0iLTQwMDMiLz4KKwkJCQkJPHZhbCBvPSIyNGY4MDgiIHY9Ii0zNDg3Ii8+CisJCQkJCTx2YWwgbz0iMjUwNjE2IiB2PSItMzU5NyIvPgorCQkJCQk8dmFsIG89IjI1MTQyNiIgdj0iLTM1NzUiLz4KKwkJCQkJPHZhbCBvPSIyNTIyMzYiIHY9Ii0zNDIyIi8+CisJCQkJCTx2YWwgbz0iMjUzMDQ3IiB2PSItMzYxMCIvPgorCQkJCQk8dmFsIG89IjI1M2U1NiIgdj0iLTQwNjkiLz4KKwkJCQkJPHZhbCBvPSIyNTRjNjciIHY9Ii00MjA5Ii8+CisJCQkJCTx2YWwgbz0iMjU1YTc2IiB2PSItNDk3NyIvPgorCQkJCQk8dmFsIG89IjI1Njg4NyIgdj0iLTU4NDUiLz4KKwkJCQkJPHZhbCBvPSIyNTc2OTciIHY9Ii01NjYyIi8+CisJCQkJCTx2YWwgbz0iMjU4NGE4IiB2PSItMTUxNTUiLz4KKwkJCQkJPHZhbCBvPSIyNTkyYjYiIHY9Ii04NjIxIi8+CisJCQkJCTx2YWwgbz0iMjVhMGM3IiB2PSItNDYwOSIvPgorCQkJCQk8dmFsIG89IjI1YWVkNyIgdj0iLTYzMjkiLz4KKwkJCQkJPHZhbCBvPSIyNWJjZTciIHY9Ii02MTIwIi8+CisJCQkJCTx2YWwgbz0iMjVjYWY4IiB2PSItNTgxOSIvPgorCQkJCQk8dmFsIG89IjI1ZDkwNyIgdj0iLTU4MDAiLz4KKwkJCQkJPHZhbCBvPSIyNWU3MTgiIHY9Ii01NjI3Ii8+CisJCQkJCTx2YWwgbz0iMjVmNTI3IiB2PSItNTMxOCIvPgorCQkJCQk8dmFsIG89IjI2MDMzOCIgdj0iLTU1NDMiLz4KKwkJCQkJPHZhbCBvPSIyNjExNDkiIHY9Ii00OTE2Ii8+CisJCQkJCTx2YWwgbz0iMjYxZjU5IiB2PSItNDU4OSIvPgorCQkJCQk8dmFsIG89IjI2MmQ2OCIgdj0iLTQ2NzAiLz4KKwkJCQkJPHZhbCBvPSIyNjNiODMiIHY9Ii0zNjk0Ii8+CisJCQkJCTx2YWwgbz0iMjY0OTg2IiB2PSItMzQ5MSIvPgorCQkJCQk8dmFsIG89IjI2NTc5NSIgdj0iLTM1ODIiLz4KKwkJCQkJPHZhbCBvPSIyNjY1YTYiIHY9Ii0zNjgzIi8+CisJCQkJCTx2YWwgbz0iMjY3M2I1IiB2PSItMzYwOCIvPgorCQkJCQk8dmFsIG89IjI2ODFjNiIgdj0iLTM2ODEiLz4KKwkJCQkJPHZhbCBvPSIyNjhmZDUiIHY9Ii0zODUwIi8+CisJCQkJCTx2YWwgbz0iMjY5ZGU2IiB2PSItMzkyMyIvPgorCQkJCQk8dmFsIG89IjI2YWJmNiIgdj0iLTM5NTUiLz4KKwkJCQkJPHZhbCBvPSIyNmJhMDYiIHY9Ii00NDY3Ii8+CisJCQkJCTx2YWwgbz0iMjZjODE3IiB2PSItNDI1NyIvPgorCQkJCQk8dmFsIG89IjI2ZDYyYiIgdj0iLTM5MTUiLz4KKwkJCQkJPHZhbCBvPSIyNmU0MzYiIHY9Ii0zODk3Ii8+CisJCQkJCTx2YWwgbz0iMjZmMjQ3IiB2PSItMzUzMSIvPgorCQkJCQk8dmFsIG89IjI3MDA1NyIgdj0iLTM3OTgiLz4KKwkJCQkJPHZhbCBvPSIyNzBlNjciIHY9Ii0zNjI4Ii8+CisJCQkJCTx2YWwgbz0iMjcxYzc3IiB2PSItNDU0MCIvPgorCQkJCQk8dmFsIG89IjI3MmE4NyIgdj0iLTUxNzEiLz4KKwkJCQkJPHZhbCBvPSIyNzM4OTciIHY9Ii01MDM4Ii8+CisJCQkJCTx2YWwgbz0iMjc0NmE4IiB2PSItNTAyOCIvPgorCQkJCQk8dmFsIG89IjI3NTRiOSIgdj0iLTUwMjkiLz4KKwkJCQkJPHZhbCBvPSIyNzYyYzciIHY9Ii0zOTkzIi8+CisJCQkJCTx2YWwgbz0iMjc3MGQ4IiB2PSItMzU1MSIvPgorCQkJCQk8dmFsIG89IjI3N2VlNyIgdj0iLTMyMDYiLz4KKwkJCQk8L3Bhcj4KKwkJCQk8cGFyIG1lbWluZD0iNjc0NjAxIiBoPSIzZGMxYTdlMCI+CisJCQkJCTx2YWwgbz0iMCIgdj0iMjIxMjM6MTM3Ojg4Ojc2OjEwMzo2OTo4OTo2MDQ3OjY1NzE6MjEzNDo2NDE0OjIyMjM6MjcyNy4yMzE6MTQzNS42NzU6NS45Nzk6MC4wNjc6MDo0MTcxOjQxMDM5OjI5MDUyOjQyMTA0OjEyMjE4OjI0NzIxOjEzNTA0Ojg5NzU6MTExNTM6Mjk5MDo4NjY1Ojk3NTk6MTE3NDIiLz4KKwkJCQk8L3Bhcj4KKwkJCQk8cGFyIG1lbWluZD0iNjczODAxIiBoPSIzZGMxYTdlMCI+CisJCQkJCTx2YWwgbz0iMCIgdj0iMDowOjA6MDowOjA6MDoyNDcyOjIyNTA1OjI1MTYwOjE2NDI1OjMwMDEyOjIzNTE0LjIyOToxMTY3NS4zNjI6OS4yNzI6MC40MTY6MDo2NDkxOjMyMjE6Mjg2Nzo0MjA0OjIyODIyOjMwNDc6NjI2MzoxNTM0Mjo5Nzg1OjMyNDI0OjIzMzQ2OjIxNTc4OjIzNTA4Ii8+CisJCQkJPC9wYXI+CisJCQkJPHBhciBtZW1pbmQ9IjY3MzQwMSIgaD0iM2RjMWE3ZTAiPgorCQkJCQk8dmFsIG89IjAiIHY9IjcyODk4OjE5MToxODg6MTc2OjE3ODoxNzQ6MTgxOjEwNDQxOjE0MDc5OjEzNjA6NDY2Njc6NzQxMzE6ODA5OTYuMTM6NTAzMjQuMzI2OjMyLjE4ODowLjAzODowOjQ0MDI3OjIwMDI4OToxMDkyMTY6NTI0NjE6MTI5NTE6NzU4OTY6NjkxOTY6MTA0ODUyOjExNzAzNjo5NjkwMzoxMjA3MTQ6MTI0MzA4Ojk2MjA3Ii8+CisJCQkJPC9wYXI+CisJCQkJPHBhciBtZW1pbmQ9IjY3MzAwMSIgaD0iM2RjMWE3ZTAiPgorCQkJCQk8dmFsIG89IjAiIHY9IjA6MDowOjA6MDowOjA6MzQ3NjozMjI2OjU1OTc6NDg1MzowOjA6MDowLjAwMTowLjEzNzowOjA6MDowOjA6NTA3MzU6NTkyMDU6MDowOjA6MDowOjA6MCIvPgorCQkJCTwvcGFyPgorCQkJCTxwYXIgbWVtaW5kPSIyNjI3NDYwMSIgaD0iM2RjMWE3ZTAiPgorCQkJCQk8dmFsIG89IjAiIHY9IjA6OjEzMDU6OjI4Njk6OjQ0ODI6OjYwNjY6OjczOTY6Ojg1NzM6OjEwMjYyOjoxMTkyMjo6MTM3NzM6OjE1NDkyOjoxNzUyMjo6MTk1NDQ6OjIxNDUyOjoyMjA3MDo6MjIwNzU6OjIyMDgwOjoyMjA4NDo6MjIwODU6OjIyMDkwOjoyMjA5Nzo6MjIxMDM6OjIyMTA5OjoyMjExNjo6MDo6Njo6MTM6OjIwOjoyNzo6MzI6OjM0Ojo0MTo6NDg6OjU0Ojo2MTo6Njg6Ojc1Ojo4Mjo6ODk6Ojk2OjoxMDM6OjExMDo6MTEwOjoxMTE6OjExNjo6MTE5OjoxMjM6OjEyOSIvPgorCQkJCQk8dmFsIG89IjJhMzAwIiB2PSIwOjo1Ojo1Ojo3OjoxMTo6MTI6OjEyOjoxNzo6MjQ6OjMwOjozNzo6NDQ6OjUxOjo1ODo6NjU6OjY5Ojo3MTo6NzE6OjcxOjo3Mzo6NzU6Ojc2Ojo3Njo6ODE6OjA6OjY6OjEzOjoyMDo6Mjc6OjM0Ojo0MDo6NDQ6OjUwOjo6OjUxOjo1MTo6NTE6OjUxOjo1MTo6NTE6OjUxOjo1MTo6NTE6OjUxOjo1NDo6NjA6OjYzOjo2OTo6MCIvPgorCQkJCQk8dmFsIG89IjU1NDEwIiB2PSI2OjoxMzo6MjA6OjI3OjozNDo6Mzg6OjQ0Ojo0Njo6NDY6OjQ3Ojo1Mjo6NTg6OjY1Ojo2Njo6NjY6OjY3Ojo2OTo6Njk6OjcwOjo3Njo6ODM6Ojg5Ojo5Njo6MDo6NTo6MTI6OjE5OjoyNTo6MzA6OjMxOjozNTo6Mzc6OjM3OjozNzo6Mzc6OjM4Ojo0NDo6NDU6OjQ1Ojo0NTo6NDU6OjQ1Ojo0NTo6NDg6OjUxOjo1Njo6NjI6OjAiLz4KKwkJCQkJPHZhbCBvPSI3ZjcxMCIgdj0iNjo6MTQ6OjIxOjoyODo6MzU6OjQyOjo0Nzo6NTA6OjUwOjo1MDo6NTI6OjU5Ojo2NTo6Njk6OjcyOjo3NDo6NzU6Ojc1Ojo3NTo6NzU6Ojc4Ojo3OTo6ODI6OjA6Ojc6OjE0OjoyMTo6Mjg6OjM0OjozODo6NDQ6OjQ1Ojo0NTo6NDk6OjU2Ojo2Mzo6NzA6Ojc2Ojo4MDo6ODM1OjoxNjc1OjoyMDM4OjoyMDM5OjoyODU2OjozMTU4OjozNjA3Ojo0NDMxOjowIi8+CisJCQkJCTx2YWwgbz0iYTlhMTAiIHY9IjYyOTo6Nzk3OjoxNDU2OjoyMzgyOjoyNDc2OjoyNDc3OjoyODIxOjoyODIxOjoyODIxOjo6OjI4MjE6OjI4MjE6OjI4NTY6OjI4NjU6OjI4NjU6OjMwNDk6OjMyMjM6OjMyNjc6OjM1MzI6OjQzMDQ6OjUxNDc6OjUxNDc6OjU0NDk6OjA6OjEwMTo6MTAyOjoyNTI6OjU5Mjo6NjA1Ojo2MDU6OjYwNTo6NjA1Ojo2MTI6OjYxMjo6NjEyOjo2MTI6OjYxMjo6NjEyOjo2MTI6OjY3OTo6NzY3Ojo3Njc6Ojc2Nzo6NzY3Ojo3Njc6Ojc2Nzo6OTEwOjowOjoxMTU4Ii8+CisJCQkJCTx2YWwgbz0iZDRiMjAiIHY9IjIyODk6OjI3MDE6OjMwNzY6OjMwNzY6OjMzODU6OjM5MDQ6OjM5MDQ6OjM5MDQ6OjM5MDQ6OjM5MDQ6OjM5MDQ6OjM5MDQ6OjM5MDQ6OjM5MDQ6OjM5MDQ6OjM5MTE6OjQwMjM6OjQ1OTk6OjUyMzc6OjU0OTQ6OjU3ODA6OjYwNzI6OjA6OjYyMjo6NjIyOjo2MjI6OjYyMjo6NjIyOjo3MTY6OjgxOTo6ODE5Ojo4MTk6OjgxOTo6ODE5Ojo4MTk6Ojg3MDo6ODcwOjo4NzA6Ojg3MDo6ODcwOjo4NzA6Ojg3MDo6ODcwOjo4NzA6Ojg3MDo6MTAyNDo6MDo6MTEyNyIvPgorCQkJCQk8dmFsIG89ImZlZTIwIiB2PSIxOTU0OjoyMTczOjoyMzc3OjoyMzc3OjoyMzc3OjoyMzc3OjoyMzc3OjoyMzc3OjoyMzgxOjoyMzgxOjoyMzgxOjoyMzgxOjoyMzgxOjoyMzgxOjoyMzgxOjoyMzgxOjoyMzgxOjoyMzgxOjoyMzgxOjoyMzg0OjoyNDAwOjoyNDAwOjowOjoxNjM6OjE2Mzo6MTYzOjoxNjM6OjE2Mzo6MTYzOjoxNjM6OjE2Mzo6MjA0OjozMzA6Ojc1MTo6MTQwMDo6MTQzMzo6MTQzMzo6MTQzMzo6MTQzNS4xOjoxNDM1LjE6OjE0MzUuMTo6MTQzNS4xOjoxNDM1LjE6OjE0MzUuMTQ0OjoxNDM1LjM3NTo6MTQzNS4zODE6OjA6OjEuMTc5Ii8+CisJCQkJCTx2YWwgbz0iMTI5MTIwIiB2PSIyLjQ4Njo6My44Njk6OjUuMjc4Ojo1LjgwOTo6NS44MTE6OjUuODExOjo1LjgxMTo6NS44NDM6OjUuOTY3Ojo1Ljk2ODo6NS45Njg6OjUuOTY4Ojo1Ljk2ODo6NS45Njg6OjUuOTY4Ojo1Ljk2ODo6NS45Njg6OjUuOTY4Ojo1Ljk2ODo6NS45Njg6OjUuOTY5Ojo1Ljk2OTo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MC4wMDE6OjAuMDE0OjowLjAzMjo6MC4wNDo6MC4wNDY6OjAuMDQ5OjowLjA1OjowLjA1OjowLjA1OjowLjA1OjowLjA1OjowLjA1OjowLjA1Mzo6MDo6MC4wMDUiLz4KKwkJCQkJPHZhbCBvPSIxNTM0MjAiIHY9IjAuMDA1OjowLjAwNTo6MC4wMDU6OjAuMDA1OjowLjAwNTo6MC4wMDU6OjAuMDA1OjowLjAwNTo6MC4wMDU6OjAuMDA1OjowLjAwNTo6MC4wMDU6OjAuMDA1OjowLjAwNTo6MC4wMDU6OjAuMDA5OjowLjAwOTo6MC4wMDk6OjAuMDA5OjowLjAwOTo6MC4wMDk6OjAuMDE0OjowOjowLjAwNDo6MC4wMjo6MC4wMzE6OjAuMDQyOjowLjA0NDo6MC4wNDQ6OjAuMDQ0OjowLjA0NDo6MC4wNDQ6OjAuMDQ0OjowLjA0NDo6MC4wNDc6OjAuMDU6OjAuMDUxOjowLjA1NDo6MC4wNTQ6OjAuMDU0OjowOjowOjowOjowOjoxNzU6OjE4Nzg6OjA6OjIzMDMiLz4KKwkJCQkJPHZhbCBvPSIxN2Q3MjAiIHY9IjUwMTY6Ojc4ODk6OjEwODI1OjoxMjc4NTo6MTM0Mjg6OjE0NTY4OjoxNjI4MTo6MTc4NzA6OjE4NzU3OjoxOTY3Mzo6MjIzMTQ6OjI1MzE3OjoyODAxNzo6MzA2MTE6OjMyNTcxOjo6OjMzMDc4OjozMzU3MDo6MzQ4NjU6OjM2MTI0OjozNzY3MDo6Mzk5MDg6OjA6Ojk3ODo6MjU0MDo6NDIzNjo6NTk5Mjo6Njc3Mzo6NjgxODo6NjkxNTo6NzY0Mzo6ODUxMDo6ODYxODo6Ojo5MzU0OjoxMDMzNDo6MTA4NTc6OjExMTkwOjoxMTM4Nzo6MTEzODc6OjEyODE4OjoxNTU0Nzo6MTkwMTE6OjIxMDc3OjoyMjYxMDo6MjU2ODI6OjA6OjI2ODI6OjU3NTc6OjkwOTQiLz4KKwkJCQkJPHZhbCBvPSIxYTk2NDAiIHY9IjEyNDM5OjoxNDgxMDo6MTY0MjY6OjE4MTcyOjoyMDQ2Mjo6MjI4NTE6OjI0OTU3OjoyNjkxMjo6MjkyMDA6OjMxNzg5Ii8+CisJCQkJCTx2YWwgbz0iMWM3NDYwIiB2PSI4MTk3Ojo4MjY0Ojo4MzY1Ojo4MzY1Ojo4OTk2Ojo5OTk2OjoxMDU3MDo6MTA1NzA6OjEwNTcwOjoxMDgwNzo6MDo6Mzg4Ojo3NzY6OjE2NTU6OjIzNzQ6OjIzOTE6OjIzOTE6OjI0Mjk6OjMzMzI6OjM2Nzc6OjM3Njg6OjM4NTE6OjQyOTQ6OjQ5MzA6OjU4NDc6OjY2MjU6Ojc4NTI6Ojk0OTI6OjExMzI4OjoxMzM3Njo6MTU2MjA6OjE3OTQ2OjoyMDE3MDo6MjI0Njk6OjA6OjE5Nzk6OjQxNzk6OjQ4MTc6OjUzMDI6OjU2MTI6OjU4MDI6OjYwNzU6OjY3ODc6OjcxNzI6Ojc0ODk6Ojc2Njg6Ojc4Njc6OjgxODQiLz4KKwkJCQkJPHZhbCBvPSIxZjE3NjAiIHY9IjgyNzA6OjgyNzA6OjgyNzA6OjgyNzA6OjgyNzA6OjgyNzk6Ojg0MjU6Ojg3NjY6OjkyNjE6OjExMzc5OjowOjo5Njc6OjIyMzI6OjMyMjQ6OjM1ODQ6OjM3MDg6OjM3NDI6OjQxOTI6OjQzNzM6OjQzNzk6OjQzNzk6OjQzNzk6OjQzNzk6OjQzNzk6OjQzNzk6OjQ0Njg6OjQ4MTY6OjUxMTE6OjU1MzM6OjYzOTM6OjY3NDA6OjczOTQ6OjczOTQ6Ojc5ODg6OjA6OjE0Nzk6OjI0MDc6OjI5MDc6OjMzNDE6OjMzNDc6OjMzNDc6OjM1MjI6OjQ1MjE6OjQ3MDI6OjUxMDQ6OjUzOTk6OjY1MTE6OjY1MTEiLz4KKwkJCQkJPHZhbCBvPSIyMWJhNjAiIHY9IjY1MTE6OjY1MTE6Ojc1NTQ6OjgwNDY6OjgwNDY6OjgwODQ6Ojg3ODE6Ojk0Mzc6Ojk0Mzc6OjEwMDM0OjowOjoyNTg6OjI1ODo6MjU4OjoyNTg6OjI1ODo6MzAzOjo1NDE6OjEwOTc6OjExMjI6OjExMjI6OjExMjI6OjExMjI6OjEzOTc6OjE0Mjk6OjIwNTI6OjI2Mzg6OjI2Mzg6OjI2Mzg6OjI2Mzg6OjI2Mzg6OjI3Nzk6OjI3Nzk6OjI3Nzk6OjA6OjIxMTo6NzE2Ojo5OTM6Ojk5Mzo6OTkzOjo5OTM6OjEwNTg6OjEwNjA6OjEwNjA6OjEwNjA6OjEwNjA6OjExMjM6OjE2NDAiLz4KKwkJCQkJPHZhbCBvPSIyNDZiNzAiIHY9IjMyODA6OjM5NTI6OjM5NjI6OjM5NjI6OjM5NjI6OjQyOTc6OjU1ODY6OjY5OTg6Ojc5NTY6OjA6OjQ5Mjo6MTU3MDo6MjY4Mzo6MzU4NTo6MzYxNTo6MzYxODo6MzY1OTo6MzY1OTo6MzY1OTo6MzY1OTo6Mzk3Mzo6Njc2Nzo6ODY0NDo6ODcxNzo6ODcxODo6ODcxODo6ODcxODo6ODcxODo6ODcxODo6ODcxODo6ODg5ODo6ODg5ODo6OTIwNTo6MDo6NTAyOjoxODI1OjozNzIyOjo1NzU4Ojo3MjM3Ojo4MTU5Ojo4MjI2Ojo4MjI2Ojo4MjI2Ojo4MjI2Ojo4MjI2Ojo4MjI2Ojo4MjI2Ojo4MjI2Ii8+CisJCQkJCTx2YWwgbz0iMjcwZTcwIiB2PSI4MjI2Ojo4MjQwOjo4NTA0Ojo4OTgwOjo5NDY2OjoxMDMwODo6MTA2NjY6OjEwNjY2OjoxMDczOSIvPgorCQkJCTwvcGFyPgorCQkJCTxwYXIgbWVtaW5kPSIyNjI3MzgwMSIgaD0iM2RjMWE3ZTAiPgorCQkJCQk8dmFsIG89IjAiIHY9IjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjAiLz4KKwkJCQkJPHZhbCBvPSIyYTMwMCIgdj0iMDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6OjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowIi8+CisJCQkJCTx2YWwgbz0iNTU0MTAiIHY9IjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjAiLz4KKwkJCQkJPHZhbCBvPSI3ZjcxMCIgdj0iMDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6NjgwOjoxNzUzOjoyNDM2OjoyNDM5OjoyNDcxOjoyNDcyOjoyNDcyOjowIi8+CisJCQkJCTx2YWwgbz0iYTlhMTAiIHY9IjI3Mzo6MzA0OjozMDQ6OjMwNDo6MzkyOjoxNDY3OjoxOTYxOjoyNzM1Ojo0NTExOjo6OjEyMTE0OjoxNjMzNzo6MTgyNTI6OjE4NDUyOjoxOTA1MTo6MjA3MjQ6OjIxMTE1OjoyMTYxMTo6MjE2MTY6OjIxNjE2OjoyMTY0Nzo6MjI0NjA6OjIyNTA1OjowOjoxNDI4OjoxNzg2OjoxODIxOjoxODIxOjoyMTAwOjozMTE2Ojo0NjA2Ojo1NzAwOjo2MjYzOjo3MjMyOjo4MzIxOjo5MjAyOjo5NzA2OjoxMDEwOTo6MTA1Njc6OjExODI3OjoxMjM1Njo6MTQ4MTg6OjE3NDE2OjoyMDE4Njo6MjI2Mjg6OjI0NDY3OjoyNTE2MDo6MDo6MTYiLz4KKwkJCQkJPHZhbCBvPSJkNGIyMCIgdj0iMTY6OjE2OjoxODo6NzYxOjoyMzE3OjoyMzQ1OjozMDMxOjo1MDEwOjo3NjgxOjoxMDcxOTo6MTM0OTE6OjE0MDc5OjoxNDU0MTo6MTQ3ODg6OjE1MDI4OjoxNTU1MTo6MTYxODI6OjE2MTgyOjoxNjMyNzo6MTYzNTE6OjE2Mzk0OjoxNjQyNDo6MDo6MTI1NDo6MjUyMTo6MzMwNDo6NDIxNDo6NjE4OTo6ODU0Mjo6ODg4NDo6OTcxNDo6MTA5MDc6OjEyNDQ3OjoxMzYwNDo6MTQ0MDc6OjE0OTI4OjoxNjg1NTo6MTgzMjM6OjIwMDE2OjoyMjMwNjo6MjM5NTI6OjI1NTExOjoyNjcwMDo6Mjc4NTg6OjI5NTEyOjozMDAxMjo6MDo6MCIvPgorCQkJCQk8dmFsIG89ImZlZTIwIiB2PSIxNDo6MTQ6OjE2Ojo4NDg6OjI1MTI6OjQxMTQ6OjU1NTY6OjcwNzA6Ojc5Njc6Ojk0MjQ6OjEwODEyOjoxMTcyMjo6MTI4Mjk6OjEzOTUwOjoxNTAzMzo6MTcwOTU6OjE5NDIzOjoyMDY3MDo6MjExMjk6OjIxODI4OjoyMjYwODo6MjM0NDQ6OjA6OjEwMjQ6OjE1MDg6OjE3ODY6OjE5ODU6OjI5NTE6OjQ5MDA6OjY1ODk6OjgwNTM6Ojg4NDk6Ojg5Mjk6Ojg5Mjk6Ojg5Mjk6Ojk1MDI6OjEwMzgwOjoxMTIwMDo6MTE2NjkuNDM6OjExNjcwLjcxNDo6MTE2NzEuNTAxOjoxMTY3My4yMzY6OjExNjc0LjMyNDo6MTE2NzQuNjE2OjoxMTY3NC44ODc6OjExNjc1LjM0NTo6MDo6MCIvPgorCQkJCQk8dmFsIG89IjEyOTEyMCIgdj0iMDo6MDo6MDo6MDo6MC42MzI6OjEuNTc6OjIuNzg3Ojo0LjM4OTo6NS4zNTM6OjYuNjc2Ojo3LjgyNTo6OC40NzM6OjkuMDU5Ojo5LjA3Ojo5LjA4Mzo6OS4xMTM6OjkuMTQ5Ojo5LjE4Njo6OS4yMjI6OjkuMjU0Ojo5LjI2Mzo6OS4yNjc6OjA6OjAuMDU0OjowLjA3ODo6MC4wOTQ6OjAuMTEzOjowLjE0OTo6MC4yOjowLjIyOTo6MC4yMzQ6OjAuMjQxOjowLjI0NDo6MC4yNDU6OjAuMjQ1OjowLjI0NTo6MC4yNDU6OjAuMjQ1OjowLjI0Njo6MC4yNzY6OjAuMzA5OjowLjM0ODo6MC4zODM6OjAuNDA4OjowLjQxNTo6MC40MTY6OjA6OjAuMDIyIi8+CisJCQkJCTx2YWwgbz0iMTUzNDIwIiB2PSIwLjAzMTo6MC4wMzI6OjAuMDMzOjowLjA0NTo6MC4wNzY6OjAuMTo6MC4xMjE6OjAuMTYxOjowLjE5Nzo6MC4yMjc6OjAuMjUyOjowLjI1Nzo6MC4yNjQ6OjAuMjc1OjowLjI5NTo6MC4zMTU6OjAuMzIyOjowLjMyOTo6MC4zMzI6OjAuMzQ4OjowLjM1Nzo6MC4zNTc6OjA6OjA6OjA6OjA6OjA6OjA6OjAuMDE1OjowLjA1MTo6MC4wNjI6OjAuMDY4OjowLjA3OTo6MC4wOTE6OjAuMDk0OjowLjA5NDo6MC4wOTc6OjAuMTA4OjowLjEyNTo6MC4xNjE6OjE0MjU6OjM1NjM6OjUwODc6OjYwODE6OjY0OTE6OjY0OTE6OjA6OjAiLz4KKwkJCQkJPHZhbCBvPSIxN2Q3MjAiIHY9IjA6OjA6OjA6OjA6OjM6OjQ6OjE3OjoxNzo6MTc6OjE3Ojo4Mzo6ODM6OjgzOjo4Mzo6ODM6Ojo6MjgxNTo6MzIyMTo6MzIyMTo6MzIyMTo6MzIyMTo6MzIyMTo6MDo6MDo6MDo6MDo6MDo6MDo6NTAzOjoyMTI0OjoyMTI0OjoyMTM1OjoyMTg3Ojo6OjIyMjA6OjIyMjA6OjIyMjA6OjIyMjA6OjIyMzE6OjI4NTc6OjI4Njc6OjI4Njc6OjI4Njc6OjI4Njc6OjI4Njc6OjI4Njc6OjA6OjA6OjA6OjAiLz4KKwkJCQkJPHZhbCBvPSIxYTk2NDAiIHY9IjA6OjA6OjA6OjA6OjU6OjU6OjU6OjU6OjU6OjUiLz4KKwkJCQkJPHZhbCBvPSIxYzc0NjAiIHY9IjE0MTM5OjoxNDIxODo6MTQ1Mzg6OjE2NDY3OjoxNjQ5Mzo6MTY0OTM6OjE3OTEzOjoyMDM4ODo6MjI1MDM6OjIyODIyOjowOjoyNDI6OjI0Mjo6MjQyOjoyNDI6OjQ3Mzo6MTYxNDo6Mjc4Mzo6Mjc4Mzo6Mjc4NTo6MzA0Mzo6MzA0Njo6MzA0Njo6MzA0Nzo6MzA0Nzo6MzA0Nzo6MzA0Nzo6MzA0Nzo6MzA0Nzo6MzA0Nzo6MzA0Nzo6MzA0Nzo6MzA0Nzo6MzA0Nzo6MDo6MDo6MDo6MTAxOjoxMDE6OjEwMTo6MTU1OjoxNTU6OjE1NTo6MTU1OjoxNTU6OjE1ODo6MTU4OjoxNTgiLz4KKwkJCQkJPHZhbCBvPSIxZjE3NjAiIHY9IjMwMzo6Njg5OjoxMjY3OjozMjkxOjo1MzYyOjo1OTY0Ojo1OTY0Ojo2MjA1Ojo2MjYzOjo2MjYzOjowOjo2Nzo6Nzg6Ojc4Ojo3ODo6OTY6OjI3OTo6MTI1Nzo6MjE2OTo6MzM4Mjo6NTYyODo6NzY5Mjo6OTE0NDo6OTgwMDo6MTE0MTA6OjEzMTkzOjoxMzc3MDo6MTQ1MDA6OjE0NTAyOjoxNDUyNjo6MTQ1Mjg6OjE0NjkzOjoxNTMzNzo6MTUzNDI6OjA6OjA6OjEyODo6MTI4OjoxMjg6OjYzMTo6MTk2MDo6MjgzNDo6Mjg0Nzo6Mjk5NDo6MzQ0NTo6MzQ0NTo6MzQ0NTo6NDAxMCIvPgorCQkJCQk8dmFsIG89IjIxYmE2MCIgdj0iNTMwNDo6NjgwMjo6NzE4ODo6NzMwNDo6Nzc3Nzo6ODExOTo6ODExOTo6ODIzODo6OTczMTo6OTc4NTo6MDo6MzIwMjo6NTEzNzo6NTU5Mzo6NjMwNDo6ODU3Nzo6MTIzMjI6OjEyNTYxOjoxMjU2MTo6MTM5NjA6OjE2NTMzOjoyMDEyNzo6MjI4NDE6OjIyODYzOjoyMzEwNjo6MjMyNDc6OjIzMjQ3OjoyNDk4Nzo6MjY0MDI6OjI3NTkwOjoyODA3NTo6MjkyNjM6OjMxNDM4OjozMjMyNTo6MDo6MTcxOjoxNzE6OjIwMDo6MzQ0OjoxNDc2OjoyNDI1OjozMzg3Ojo0MTQ1Ojo1ODc1Ojo5MjEwOjoxMjI5MTo6MTUxNDQ6OjE1MTQ0Ii8+CisJCQkJCTx2YWwgbz0iMjQ2YjcwIiB2PSIxNTE0NDo6MTUxNDQ6OjE3MjY3OjoyMTg2NDo6MjMyMzI6OjIzMzQ2OjoyMzM0Njo6MjMzNDY6OjIzMzQ2OjowOjo4Njo6ODY6Ojg2Ojo4Njo6MTg4Ojo3MDk6OjEzMzM6OjI1MTE6OjQzMTM6Ojc1OTM6OjEwNDM0OjoxMDQzNDo6MTA0NDM6OjEwNjIyOjoxMDgxMDo6MTEyOTM6OjEyMzAyOjoxNDg1OTo6MTc0NzY6OjE5NTY1OjoxOTc0Mjo6MjEwMzU6OjIxMjM0OjowOjoxMzo6MTM6OjEzOjoxMzo6MTM6OjEzOjoyMTY6OjkyOTo6MjA1ODo6MzcwMDo6NTY5ODo6ODc4Mjo6MTE2OTg6OjE0NjYzIi8+CisJCQkJCTx2YWwgbz0iMjcwZTcwIiB2PSIxNzc2Nzo6MTg1NDY6OjE5MTU1OjoxOTE1NTo6MTkxNTU6OjE5MTU1OjoyMDczMDo6MjMwMTY6OjIzNTA4Ii8+CisJCQkJPC9wYXI+CisJCQkJPHBhciBtZW1pbmQ9IjI2MjczNDAxIiBoPSIzZGMxYTdlMCI+CisJCQkJCTx2YWwgbz0iMCIgdj0iMDo6NDE3Nzo6ODM0ODo6MTI0MjE6OjE2NDY2OjoyMDM4OTo6MjQ1NTA6OjI5NjM4OjozNTM5MDo6NDIzMjk6OjQ5NjA4Ojo1Njk4Mjo6NjQxMTk6OjcwODE5Ojo3MjgyNDo6NzI4MzE6OjcyODM4Ojo3Mjg0NTo6NzI4NTE6OjcyODU5Ojo3Mjg2Njo6NzI4NzM6OjcyODgxOjo3Mjg4OTo6MDo6ODo6MTY6OjI0OjozMjo6NDA6OjQ4Ojo1Njo6NjU6OjczOjo4MTo6ODk6Ojk3OjoxMDU6OjExNDo6MTIyOjoxMzE6OjEzODo6MTQ1OjoxNTI6OjE2MDo6MTY3OjoxNzU6OjE4MyIvPgorCQkJCQk8dmFsIG89IjJhMzAwIiB2PSIwOjo4OjoxNjo6MjM6OjMxOjozOTo6NDc6OjU1Ojo2Mzo6NzE6Ojc5Ojo4Nzo6OTY6OjEwNDo6MTEyOjoxMjA6OjEyODo6MTM1OjoxNDI6OjE1MDo6MTU3OjoxNjU6OjE3Mjo6MTgwOjowOjo4OjoxNzo6MjU6OjM0Ojo0Mzo6NTE6OjU4Ojo2Njo6Ojo3OTo6ODU6OjkyOjo5ODo6MTA1OjoxMTE6OjExNzo6MTI0OjoxMzE6OjEzODo6MTQ1OjoxNTM6OjE2MDo6MTY4OjowIi8+CisJCQkJCTx2YWwgbz0iNTU0MTAiIHY9Ijg6OjE2OjoyNTo6MzM6OjQxOjo0OTo6NTY6OjY0Ojo3MDo6Nzc6Ojg0Ojo5MTo6OTg6OjEwNTo6MTExOjoxMTg6OjEyNTo6MTMyOjoxMzk6OjE0Nzo6MTU0OjoxNjI6OjE3MDo6MDo6Nzo6MTY6OjI0OjozMjo6NDA6OjQ4Ojo1NTo6NjM6OjY5Ojo3Njo6ODI6Ojg5Ojo5Njo6MTAzOjoxMDk6OjExNjo6MTIyOjoxMjg6OjEzNTo6MTQzOjoxNTA6OjE1ODo6MTY2OjowIi8+CisJCQkJCTx2YWwgbz0iN2Y3MTAiIHY9Ijg6OjE3OjoyNTo6MzQ6OjQzOjo1MTo6NTg6OjY2Ojo3Mzo6ODA6Ojg3Ojo5NDo6MTAxOjoxMDg6OjExNTo6MTIyOjoxMjk6OjEzNTo6MTQyOjoxNTA6OjE1Nzo6MTY1OjoxNzI6OjA6Ojg6OjE3OjoyNTo6MzQ6OjQyOjo1MDo6NTg6OjY1Ojo3Mjo6Nzg6Ojg1Ojo5Mjo6MTAwOjoxMDc6OjExNDo6MjU5NTo6NzkxMzo6MTAyOTQ6OjEwNDM5OjoxMDQzOTo6MTA0Mzk6OjEwNDQxOjoxMDQ0MTo6MCIvPgorCQkJCQk8dmFsIG89ImE5YTEwIiB2PSIyOjo0Ojo5Ojo5Ojo5Ojo5Ojo2OTo6MTgxOjoyMzY6Ojo6MzI3Ojo0NjE6OjcyMDo6MTM5Mzo6MjIxNTo6MzA1OTo6NDU5Mzo6NjM0Mjo6ODA0MTo6OTk0NDo6MTE1NjE6OjEyMzE0OjoxMzE2Njo6MDo6NDc6OjQ3Ojo0Nzo6NDc6OjQ3Ojo0Nzo6NDc6OjQ3Ojo0ODo6NTk6Ojg3OjoxMjc6OjEzNDo6MTM1OjoxNDI6OjE4Mjo6NTM3Ojo3Njk6OjEwMDA6OjExNTY6OjEyMDg6OjEyMzA6OjEyNjQ6OjA6OjAiLz4KKwkJCQkJPHZhbCBvPSJkNGIyMCIgdj0iMDo6MDo6MDo6MDo6NTg6OjQ2NDo6MTIxNDo6Mjg2Njo6NTE5NTo6NzY0NDo6MTAxODk6OjEzMTA4OjoxNTkwMjo6MTg3NzM6OjIxNTU3OjoyNDM0NTo6MjgyNzE6OjMyMjY3OjozNjAxMjo6MzkzNjA6OjQyMzUyOjo0NDc4Mjo6MDo6MTIxNTo6MTg3OTo6MjU4MTo6MzIzMjo6MzczMDo6NDYyNzo6Njg0NTo6OTQyNjo6MTMyMTM6OjE3NDYwOjoyMTgxMjo6MjY0MDg6OjMwODc4OjozNTM0Njo6NDAwNjE6OjQ0Nzc2Ojo0OTE0NTo6NTM1MDE6OjU3NTc1Ojo2MTQyOTo6NjQ5Njg6OjY4MDI5Ojo3MTE1NDo6MDo6MjU0MSIvPgorCQkJCQk8dmFsIG89ImZlZTIwIiB2PSI0NzU3Ojo2NzQ5Ojo4NzA3OjoxMDQ0Njo6MTIyOTY6OjE0ODE3OjoxODAyMTo6MjIxOTI6OjI0NzEwOjoyOTIwOTo6MzM3OTk6OjM4MDAwOjo0MjE5OTo6NDYzNzU6OjUwNjgxOjo1NTA2Mjo6NTkzODc6OjYzNjg2Ojo2Nzk3MTo6NzE4ODM6Ojc1Mzc4Ojo3ODI3NDo6MDo6MTk2NTo6Mzc4NTo6NTU4OTo6NzQwODo6OTA0Mjo6MTA3MzU6OjEzMTQzOjoxNjI1NDo6MjA0NzM6OjI1MjEwOjoyOTg5ODo6MzQ5ODk6OjM5MjY1Ojo0MzU0Nzo6NDc2NTk6OjUwMjk4LjgxNjo6NTAzMDIuNzMzOjo1MDMwNi43Mjk6OjUwMzEwLjMyNjo6NTAzMTMuNzgzOjo1MDMxNy4wNjI6OjUwMzIwLjAxNjo6NTAzMjIuMjc3OjowOjoxLjk4NiIvPgorCQkJCQk8dmFsIG89IjEyOTEyMCIgdj0iMy43NDY6OjUuNDI3Ojo3LjExNjo6OC42NDk6OjEwLjIyNTo6MTIuMzc3OjoxNC45NzI6OjE4LjE1NTo6MjEuNTE5OjoyNC4wNzk6OjI2Ljc4OTo6MjkuODcyOjozMi4wMzg6OjMyLjA3NTo6MzIuMDkzOjozMi4xMTo6MzIuMTMyOjozMi4xNDk6OjMyLjE2Mzo6MzIuMTczOjozMi4xODE6OjMyLjE4Mzo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MC4wMDE6OjAuMDA1OjowLjAwODo6MC4wMTI6OjAuMDE0OjowLjAxNDo6MC4wMTQ6OjAuMDE0OjowLjAxNzo6MC4wMjM6OjAuMDI2OjowLjAyOTo6MC4wMzI6OjAuMDM1OjowLjAzODo6MDo6MCIvPgorCQkJCQk8dmFsIG89IjE1MzQyMCIgdj0iMDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MC4wMDQ6OjAuMDEzOjowLjAyMzo6MC4wMzU6OjAuMDM5OjowLjA0OjowLjA0OjowOjowOjowOjowOjowOjowOjowOjowOjowLjAxMTo6MC4wNjQ6OjAuMTg0OjowLjI5OTo6MC40MDM6OjAuNDkxOjowLjU4Nzo6MC42ODQ6OjAuNzc3OjowLjg4Mjo6NDY0OTo6MTEzNjk6OjE4Mzg0OjoyNTUzOTo6MzIwOTg6OjM4MTg5OjowOjo1NjMxIi8+CisJCQkJCTx2YWwgbz0iMTdkNzIwIiB2PSIxMTEzNDo6MTY1ODA6OjIxODE5OjoyNjkzNDo6MzI0NDk6OjM5MDExOjo0NjE2NDo6NTczMjk6OjcwNTM1Ojo4MzU5Mjo6OTYxMTI6OjEwNzkzNDo6MTE5ODM2OjoxMzE4MzY6OjE0MzkzMjo6OjoxNTk5NzI6OjE2NzgzODo6MTc1NzU5OjoxODI5NDA6OjE4OTI2MTo6MTk1MjYwOjowOjo0MzYxOjo4NjM3OjoxMjg0NDo6MTcwMjY6OjIxMjkyOjoyNjE4NTo6MzE1MTQ6OjM3NjI5Ojo0NDE0Nzo6NTAyOTU6Ojo6NjI5NzI6OjY5MTQyOjo3NTQ5MDo6ODE4NzE6Ojg4NDExOjo5MjYzNDo6OTUyNjM6Ojk4MTM2OjoxMDE0OTM6OjEwNDMzODo6MTA2MjY0OjoxMDgwODY6OjA6OjExMTg6OjIxMjU6OjMxNjMiLz4KKwkJCQkJPHZhbCBvPSIxYTk2NDAiIHY9IjM5NzI6OjQ0MjQ6OjUxMTc6OjY2NzA6Ojg2ODI6OjExMjczOjoxNDAzNjo6MTY4MDA6OjE5NTg1OjoyMTY4NyIvPgorCQkJCQk8dmFsIG89IjFjNzQ2MCIgdj0iMTI5NTE6OjEyOTUxOjoxMjk1MTo6MTI5NTE6OjEyOTUxOjoxMjk1MTo6MTI5NTE6OjEyOTUxOjoxMjk1MTo6MTI5NTE6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjIwOTc6OjU2NTg6OjkzMDc6OjEyODM3OjoxNjQzNzo6MjAwNzI6OjI0ODU1OjozMTEyMDo6Mzc4MTM6OjQ0NjM1Ojo1MTUwOTo6NTgyMjQ6OjY0NTE5Ojo3MDQ2MDo6MDo6NDkxMjo6OTc3OTo6MTI0Njg6OjE0Mzc3OjoxNjE5Njo6MTgwOTg6OjIwMzU3OjoyMjkxNjo6MjU1NzI6OjI4MzMzOjozMTA0ODo6MzM2NzM6OjM2MjY4Ii8+CisJCQkJCTx2YWwgbz0iMWYxNzYwIiB2PSIzODc2OTo6NDExOTc6OjQzNjE3Ojo0NjIyMjo6NDkzMDc6OjUyNjk0Ojo1NjIyOTo6NTk1ODY6OjYyNzkwOjo2NjE0Nzo6MDo6MjU2Mzo6NTAxMDo6NzM3Nzo6OTU0Nzo6MTE2NjI6OjEzOTcwOjoxNjcyMjo6MTk4MjA6OjIzNjY4OjoyODQ1NTo6MzQwNzk6OjM5Nzk5Ojo0NTE0ODo6NTA1ODk6OjU2NDQ4Ojo2MjY3NDo6NjkwODQ6Ojc1NTg0Ojo4MTYyOTo6ODcwMDc6OjkyMTkwOjo5NjY2NDo6MTAwOTUzOjowOjozNjg2Ojo2OTgxOjoxMDEwOTo6MTMxNDk6OjE2MDM5OjoxOTE2ODo6MjMxNjQ6OjI4MjYzOjozNDIzODo6NDA0NzM6OjQ2NTkwOjo1MjgyMTo6NTg4NjgiLz4KKwkJCQkJPHZhbCBvPSIyMWJhNjAiIHY9IjY0ODEwOjo3MDYyODo6NzcwMjY6OjgzMTYwOjo4OTAyNzo6OTQ2NzM6OjEwMDE1NTo6MTA1MzgzOjoxMDk2OTE6OjExMzU1OTo6MDo6MTk5Njo6Mzg3Njo6NTk0OTo6Nzk0NTo6OTY3Mzo6MTE1ODM6OjE1MTk3OjoxOTM1NTo6MjM5NTk6OjI4Njg5OjozMzIyOTo6Mzc5ODE6OjQyNzQ1Ojo0NzQ3MDo6NTI2NTY6OjU4MjI4Ojo2Mzc2ODo6NjkzNTM6Ojc0NjM0Ojo3OTg3Mjo6ODQ2OTk6Ojg4OTY2Ojo5MzA5MDo6MDo6MzI3Mjo6NjUxOTo6OTY0Njo6MTI2NjU6OjE1NTI5OjoxODc4NTo6MjI3Njc6OjI3MzYxOjozMzAyNjo6MzkxOTc6OjQ1NjM0Ojo1MjIzMTo6NTg2ODgiLz4KKwkJCQkJPHZhbCBvPSIyNDZiNzAiIHY9IjcxNjIzOjo3Nzg5Nzo6ODM2NjE6Ojg4OTE5Ojo5NDUwOTo6MTAwMjI2OjoxMDYwMDQ6OjExMTUxNzo6MTE2NDk3OjowOjozNTA0Ojo3MTQ3OjoxMDc2MDo6MTQzNDE6OjE3ODIzOjoyMTU2MTo6MjU4NDU6OjMwMzgxOjozNTgyMTo6NDE1Mjk6OjQ4MDI2Ojo1NzMxMDo6NjQ4OTg6OjcwOTI0Ojo3NzE5NTo6ODMxMzU6Ojg5MTA1Ojo5NDkwMDo6MTAwMzIxOjoxMDU2OTg6OjExMTA1Mzo6MTE1NzI3OjoxMjAzMDk6OjA6OjM2MTA6OjcxMjc6OjEwNzc4OjoxNDQyMTo6MTgwMTU6OjIxNzEyOjoyNTU2NDo6Mjk0NTQ6OjMzNTk4OjozNzk0Njo6NDIxMDA6OjQ2MDU0Ojo0OTgyNDo6NTM1MDAiLz4KKwkJCQkJPHZhbCBvPSIyNzBlNzAiIHY9IjU3MDk5Ojo2MTM4NTo6NjYyMjE6OjcxMzUyOjo3NjM4Mjo6ODEzNjg6Ojg1ODI4Ojo4OTY3Nzo6OTMwMzYiLz4KKwkJCQk8L3Bhcj4KKwkJCQk8cGFyIG1lbWluZD0iMjYyNzMwMDEiIGg9IjNkYzFhN2UwIj4KKwkJCQkJPHZhbCBvPSIwIiB2PSIwOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowIi8+CisJCQkJCTx2YWwgbz0iMmEzMDAiIHY9IjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6Ojo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MCIvPgorCQkJCQk8dmFsIG89IjU1NDEwIiB2PSIwOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowIi8+CisJCQkJCTx2YWwgbz0iN2Y3MTAiIHY9IjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjEwOjo1MjE6OjEwMDk6OjE5MTQ6OjIzMjk6OjI4MDQ6OjAiLz4KKwkJCQkJPHZhbCBvPSJhOWExMCIgdj0iMTA3MDo6MTIwNTo6MTI0Mjo6MTM2MTo6MTg3Mzo6MjY4ODo6Mjg4ODo6Mjk2ODo6MzAxMzo6OjozMDkzOjozMTY1OjozMjI2OjozMjI2OjozMjI2OjozMjI2OjozMjI2OjozMjI2OjozMjI2OjozMjI2OjozMjI2OjozMjI2OjozMjI2OjowOjo1MDQ6Ojk3NTo6MTQyMDo6MTc3Njo6MjMwNTo6Mjc5Njo6MzIxMjo6NDAwMjo6NDI1NDo6NDM3Mzo6NDQ5NDo6NDU0OTo6NDc1Mzo6NDk1MDo6NTA4Nzo6NTQ1Mzo6NTQ1Mzo6NTQ1Mzo6NTQ1Mzo6NTQ1NDo6NTQ3Mzo6NTUwOTo6NTU4MTo6MDo6NTgxIi8+CisJCQkJCTx2YWwgbz0iZDRiMjAiIHY9IjEyMzE6OjE5Mjc6OjI3NjA6OjM5MDI6OjQ4NTM6OjQ4NTM6OjQ4NTM6OjQ4NTM6OjQ4NTM6OjQ4NTM6OjQ4NTM6OjQ4NTM6OjQ4NTM6OjQ4NTM6OjQ4NTM6OjQ4NTM6OjQ4NTM6OjQ4NTM6OjQ4NTM6OjQ4NTM6OjQ4NTM6OjQ4NTM6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjAiLz4KKwkJCQkJPHZhbCBvPSJmZWUyMCIgdj0iMDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MCIvPgorCQkJCQk8dmFsIG89IjEyOTEyMCIgdj0iMDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MC4wMTc6OjAuMDMxOjowLjA0ODo6MC4wNjU6OjAuMDg1OjowLjEwNTo6MC4xMTQ6OjAuMTE2OjowLjExNjo6MC4xMTY6OjAuMTE2OjowLjExNjo6MC4xMTc6OjAuMTI6OjAuMTIzOjowLjEyODo6MC4xMzU6OjAuMTM1OjowLjEzNTo6MC4xMzU6OjAuMTM1OjowLjEzNTo6MC4xMzY6OjA6OjAuMDE2Ii8+CisJCQkJCTx2YWwgbz0iMTUzNDIwIiB2PSIwLjAzNjo6MC4wNTQ6OjAuMDc0OjowLjA5Njo6MC4xMTk6OjAuMTM3OjowLjE1Mjo6MC4xNjU6OjAuMTc4OjowLjE5OjowLjIwNDo6MC4yMTY6OjAuMjI4OjowLjIzNzo6MC4yNDk6OjAuMjU2OjowLjI1Njo6MC4yNTY6OjAuMjU2OjowLjI1Njo6MC4yNTY6OjAuMjU3OjowOjowLjAxMjo6MC4wMTg6OjAuMDI6OjAuMDIxOjowLjAyNTo6MC4wMzI6OjAuMDM3OjowLjAzNzo6MC4wMzc6OjAuMDM3OjowLjAzNzo6MC4wMzc6OjAuMDM3OjowLjAzNzo6MC4wMzc6OjAuMDM3OjowLjAzNzo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MCIvPgorCQkJCQk8dmFsIG89IjE3ZDcyMCIgdj0iMDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6OjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjo6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjAiLz4KKwkJCQkJPHZhbCBvPSIxYTk2NDAiIHY9IjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjAiLz4KKwkJCQkJPHZhbCBvPSIxYzc0NjAiIHY9IjkyMDg6Ojk0OTA6OjEyNTc5OjoxNjYzMzo6MjAxNjQ6OjIzODgyOjoyODMzNDo6MzM3MTM6OjM5MjIwOjo0NDkwOTo6MDo6NjU0Mjo6MTMxODA6OjE5ODU1OjoyNjU5NDo6MzM0MzI6OjQwMjgwOjo0Njc3Nzo6NTI1MjQ6OjU3ODc1Ojo1OTIwNTo6NTkyMDU6OjU5MjA1Ojo1OTIwNTo6NTkyMDU6OjU5MjA1Ojo1OTIwNTo6NTkyMDU6OjU5MjA1Ojo1OTIwNTo6NTkyMDU6OjU5MjA1Ojo1OTIwNTo6NTkyMDU6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjAiLz4KKwkJCQkJPHZhbCBvPSIxZjE3NjAiIHY9IjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjAiLz4KKwkJCQkJPHZhbCBvPSIyMWJhNjAiIHY9IjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjAiLz4KKwkJCQkJPHZhbCBvPSIyNDZiNzAiIHY9IjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjAiLz4KKwkJCQkJPHZhbCBvPSIyNzBlNzAiIHY9IjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjAiLz4KKwkJCQk8L3Bhcj4KKwkJCQk8cGFyIG1lbWluZD0iMTMxNDYwMSIgaD0iM2RjMWE3ZTAiPgorCQkJCQk8dmFsIG89IjAiIHY9IjI3MDM3MCIvPgorCQkJCTwvcGFyPgorCQkJCTxwYXIgbWVtaW5kPSIxMzEzODAxIiBoPSIzZGMxYTdlMCI+CisJCQkJCTx2YWwgbz0iMCIgdj0iMzA2NjkzIi8+CisJCQkJPC9wYXI+CisJCQkJPHBhciBtZW1pbmQ9IjEzMTM0MDEiIGg9IjNkYzFhN2UwIj4KKwkJCQkJPHZhbCBvPSIwIiB2PSIxNTc2MTExIi8+CisJCQkJPC9wYXI+CisJCQkJPHBhciBtZW1pbmQ9IjEzMTMwMDEiIGg9IjNkYzFhN2UwIj4KKwkJCQkJPHZhbCBvPSIwIiB2PSIxMjcwOTgiLz4KKwkJCQk8L3Bhcj4KKwkJCQk8cGFyIG1lbWluZD0iNTI1MTQ2MDEiIGg9IjNkYzFhN2UwIj4KKwkJCQkJPHZhbCBvPSIwIiB2PSIwOjoxMzA1OjoyODY5Ojo0NDgyOjo2MDY2Ojo3Mzk2Ojo4NTczOjoxMDI2Mjo6MTE5MjI6OjEzNzczOjoxNTQ5Mjo6MTc1MjI6OjE5NTQ0OjoyMTQ1Mjo6MjIwNzA6OjIyMDc1OjoyMjA4MDo6MjIwODQ6OjIyMDg1OjoyMjA5MDo6MjIwOTc6OjIyMTAzOjoyMjEwOTo6MjIxMTY6OjIyMTIzOjoyMjEyOTo6MjIxMzY6OjIyMTQzOjoyMjE1MDo6MjIxNTY6OjIyMTU4OjoyMjE2Njo6MjIxNzM6OjIyMTgwOjoyMjE4Njo6MjIxOTM6OjIyMjAwOjoyMjIwNzo6MjIyMTQ6OjIyMjIxOjoyMjIyODo6MjIyMzU6OjIyMjM1OjoyMjIzNjo6MjIyNDE6OjIyMjQ0OjoyMjI0Nzo6MjIyNTQiLz4KKwkJCQkJPHZhbCBvPSIyYTMwMCIgdj0iMjIyNjE6OjIyMjY3OjoyMjI2Nzo6MjIyNjk6OjIyMjczOjoyMjI3NDo6MjIyNzQ6OjIyMjgwOjoyMjI4Nzo6MjIyOTQ6OjIyMzAxOjoyMjMwODo6MjIzMTU6OjIyMzIyOjoyMjMyOTo6MjIzMzM6OjIyMzM1OjoyMjMzNTo6MjIzMzU6OjIyMzM2OjoyMjMzODo6MjIzMzk6OjIyMzM5OjoyMjM0NDo6MjIzNTE6OjIyMzU4OjoyMjM2NTo6MjIzNzI6OjIyMzc5OjoyMjM4Njo6MjIzOTE6OjIyMzk1OjoyMjQwMjo6OjoyMjQwNDo6MjI0MDQ6OjIyNDA0OjoyMjQwNDo6MjI0MDQ6OjIyNDA0OjoyMjQwNDo6MjI0MDQ6OjIyNDA0OjoyMjQwNDo6MjI0MDc6OjIyNDEzOjoyMjQxNjo6MjI0MjI6OjIyNDI5Ii8+CisJCQkJCTx2YWwgbz0iNTU0MTAiIHY9IjIyNDM2OjoyMjQ0Mzo6MjI0NTA6OjIyNDU3OjoyMjQ2NDo6MjI0Njg6OjIyNDc1OjoyMjQ3Nzo6MjI0Nzc6OjIyNDc4OjoyMjQ4Mzo6MjI0ODk6OjIyNDk1OjoyMjQ5Nzo6MjI0OTc6OjIyNDk4OjoyMjQ5OTo6MjI0OTk6OjIyNTAwOjoyMjUwNzo6MjI1MTM6OjIyNTIwOjoyMjUyNjo6MjI1MzM6OjIyNTM4OjoyMjU0NTo6MjI1NTI6OjIyNTU5OjoyMjU2NDo6MjI1NjQ6OjIyNTY5OjoyMjU3MTo6MjI1NzI6OjIyNTcyOjoyMjU3Mjo6MjI1NzM6OjIyNTc5OjoyMjU4MDo6MjI1ODA6OjIyNTgwOjoyMjU4MDo6MjI1ODA6OjIyNTgwOjoyMjU4Mzo6MjI1ODU6OjIyNTkwOjoyMjU5Njo6MjI2MDMiLz4KKwkJCQkJPHZhbCBvPSI3ZjcxMCIgdj0iMjI2MTA6OjIyNjE3OjoyMjYyNDo6MjI2MzI6OjIyNjM5OjoyMjY0NTo6MjI2NTA6OjIyNjUzOjoyMjY1Mzo6MjI2NTM6OjIyNjU1OjoyMjY2Mjo6MjI2Njk6OjIyNjcyOjoyMjY3NTo6MjI2Nzc6OjIyNjc4OjoyMjY3ODo6MjI2Nzg6OjIyNjc4OjoyMjY4Mjo6MjI2ODM6OjIyNjg2OjoyMjY5Mzo6MjI3MDE6OjIyNzA4OjoyMjcxNTo6MjI3MjI6OjIyNzI4OjoyMjczMjo6MjI3Mzg6OjIyNzQwOjoyMjc0MDo6MjI3NDQ6OjIyNzUxOjoyMjc1ODo6MjI3NjU6OjIyNzcwOjoyMjc3NTo6MjM1Mjk6OjI0MzcwOjoyNDczMzo6MjQ3MzQ6OjI1NTUxOjoyNTg1Mzo6MjYzMDE6OjI3MTI2OjoyODc0MiIvPgorCQkJCQk8dmFsIG89ImE5YTEwIiB2PSIyOTM3Mjo6Mjk1NDA6OjMwMTk5OjozMTEyNTo6MzEyMTg6OjMxMjE5OjozMTU2NDo6MzE1NjQ6OjMxNTY0Ojo6OjMxNTY0OjozMTU2NDo6MzE1OTk6OjMxNjA3OjozMTYwNzo6MzE3OTI6OjMxOTY1OjozMjAxMDo6MzIyNzQ6OjMzMDQ3OjozMzg5MDo6MzM4OTA6OjM0MTkzOjozNTMxNjo6MzU0MTc6OjM1NDE4OjozNTU2OTo6MzU5MDk6OjM1OTIxOjozNTkyMTo6MzU5MjE6OjM1OTIxOjozNTkyODo6MzU5Mjg6OjM1OTI4OjozNTkyODo6MzU5Mjg6OjM1OTI4OjozNTkyODo6MzU5OTU6OjM2MDgzOjozNjA4Mzo6MzYwODM6OjM2MDgzOjozNjA4Mzo6MzYwODM6OjM2MjI2OjozNzQ1MDo6Mzg2MDkiLz4KKwkJCQkJPHZhbCBvPSJkNGIyMCIgdj0iMzk3NDA6OjQwMTUxOjo0MDUyNzo6NDA1Mjc6OjQwODM2Ojo0MTM1Njo6NDEzNTY6OjQxMzU2Ojo0MTM1Njo6NDEzNTY6OjQxMzU2Ojo0MTM1Njo6NDEzNTY6OjQxMzU2Ojo0MTM1Njo6NDEzNjM6OjQxNDc2Ojo0MjA1MTo6NDI2OTA6OjQyOTQ2Ojo0MzIzMTo6NDM1MjQ6OjQzODY1Ojo0NDQ4ODo6NDQ0ODg6OjQ0NDg4Ojo0NDQ4ODo6NDQ0ODg6OjQ0NTgyOjo0NDY4NTo6NDQ2ODU6OjQ0Njg1Ojo0NDY4NTo6NDQ2ODU6OjQ0Njg1Ojo0NDczNjo6NDQ3MzY6OjQ0NzM2Ojo0NDczNjo6NDQ3MzY6OjQ0NzM2Ojo0NDczNjo6NDQ3MzY6OjQ0NzM2Ojo0NDczNjo6NDQ4OTA6OjQ2MDg5Ojo0NzIxNiIvPgorCQkJCQk8dmFsIG89ImZlZTIwIiB2PSI0ODA0Mzo6NDgyNjI6OjQ4NDY2Ojo0ODQ2Njo6NDg0NjY6OjQ4NDY2Ojo0ODQ2Njo6NDg0NjY6OjQ4NDcxOjo0ODQ3MTo6NDg0NzE6OjQ4NDcxOjo0ODQ3MTo6NDg0NzE6OjQ4NDcxOjo0ODQ3MTo6NDg0NzE6OjQ4NDcxOjo0ODQ3MTo6NDg0NzQ6OjQ4NDkxOjo0ODQ5MTo6NDg4MTY6OjQ4OTgwOjo0ODk4MDo6NDg5ODA6OjQ4OTgwOjo0ODk4MDo6NDg5ODA6OjQ4OTgwOjo0ODk4MDo6NDkwMjI6OjQ5MTQ3Ojo0OTU2OTo6NTAyMTg6OjUwMjUxOjo1MDI1MTo6NTAyNTE6OjUwMjUyLjkxOjo1MDI1Mi45MTo6NTAyNTIuOTE6OjUwMjUyLjkxOjo1MDI1Mi45MTo6NTAyNTIuOTU0Ojo1MDI1My4xODU6OjUwMjUzLjE5Mjo6NTAyNTMuNDg3Ojo1MDI1NC42NjciLz4KKwkJCQkJPHZhbCBvPSIxMjkxMjAiIHY9IjUwMjU1Ljk3Mzo6NTAyNTcuMzU2Ojo1MDI1OC43NjU6OjUwMjU5LjI5Njo6NTAyNTkuMjk5Ojo1MDI1OS4yOTk6OjUwMjU5LjI5OTo6NTAyNTkuMzMyOjo1MDI1OS40NTU6OjUwMjU5LjQ1Njo6NTAyNTkuNDU2Ojo1MDI1OS40NTY6OjUwMjU5LjQ1Njo6NTAyNTkuNDU2Ojo1MDI1OS40NTY6OjUwMjU5LjQ1Njo6NTAyNTkuNDU2Ojo1MDI1OS40NTY6OjUwMjU5LjQ1Njo6NTAyNTkuNDU3Ojo1MDI1OS40NTg6OjUwMjU5LjQ1ODo6NTAyNTkuNDY3Ojo1MDI1OS40Njc6OjUwMjU5LjQ2Nzo6NTAyNTkuNDY3Ojo1MDI1OS40Njc6OjUwMjU5LjQ2Nzo6NTAyNTkuNDY3Ojo1MDI1OS40Njc6OjUwMjU5LjQ2Nzo6NTAyNTkuNDY3Ojo1MDI1OS40Njc6OjUwMjU5LjQ2OTo6NTAyNTkuNDgyOjo1MDI1OS41Ojo1MDI1OS41MDc6OjUwMjU5LjUxMzo6NTAyNTkuNTE2Ojo1MDI1OS41MTc6OjUwMjU5LjUxNzo6NTAyNTkuNTE3Ojo1MDI1OS41MTc6OjUwMjU5LjUxNzo6NTAyNTkuNTE3Ojo1MDI1OS41MjE6OjUwMjU5LjUzNTo6NTAyNTkuNTQiLz4KKwkJCQkJPHZhbCBvPSIxNTM0MjAiIHY9IjUwMjU5LjU0Ojo1MDI1OS41NDo6NTAyNTkuNTQxOjo1MDI1OS41NDE6OjUwMjU5LjU0MTo6NTAyNTkuNTQxOjo1MDI1OS41NDE6OjUwMjU5LjU0MTo6NTAyNTkuNTQxOjo1MDI1OS41NDE6OjUwMjU5LjU0MTo6NTAyNTkuNTQxOjo1MDI1OS41NDE6OjUwMjU5LjU0MTo6NTAyNTkuNTQxOjo1MDI1OS41NDY6OjUwMjU5LjU0Njo6NTAyNTkuNTQ2Ojo1MDI1OS41NDY6OjUwMjU5LjU0Nzo6NTAyNTkuNTQ3Ojo1MDI1OS41NTI6OjUwMjU5LjU1Nzo6NTAyNTkuNTYxOjo1MDI1OS41Nzc6OjUwMjU5LjU4ODo6NTAyNTkuNjo6NTAyNTkuNjAxOjo1MDI1OS42MDE6OjUwMjU5LjYwMTo6NTAyNTkuNjAxOjo1MDI1OS42MDE6OjUwMjU5LjYwMTo6NTAyNTkuNjAxOjo1MDI1OS42MDQ6OjUwMjU5LjYwODo6NTAyNTkuNjA5Ojo1MDI1OS42MTI6OjUwMjU5LjYxMjo6NTAyNTkuNjEyOjo1MDI1ODo6NTAyNTg6OjUwMjU4Ojo1MDI1ODo6NTA0MzQ6OjUyMTM3Ojo1NDQzMTo6NTY3MzQiLz4KKwkJCQkJPHZhbCBvPSIxN2Q3MjAiIHY9IjU5NDQ3Ojo2MjMyMTo6NjUyNTc6OjY3MjE3Ojo2Nzg2MDo6NjkwMDA6OjcwNzEzOjo3MjMwMjo6NzMxODk6Ojc0MTA2Ojo3Njc0Njo6Nzk3NTA6OjgyNDQ5Ojo4NTA0Mzo6ODcwMDM6Ojo6ODc1MTA6Ojg4MDAyOjo4OTI5Nzo6OTA1NTY6OjkyMTAyOjo5NDM0MDo6OTU0NzA6Ojk2NDQ5Ojo5ODAxMTo6OTk3MDc6OjEwMTQ2Mzo6MTAyMjQ0OjoxMDIyODk6OjEwMjM4Njo6MTAzMTE1OjoxMDM5ODM6OjEwNDA5MTo6OjoxMDQ4MjY6OjEwNTgwNjo6MTA2MzMwOjoxMDY2NjI6OjEwNjg1OTo6MTA2ODU5OjoxMDgyOTA6OjExMTAxOTo6MTE0NDgzOjoxMTY1NDk6OjExODA4Mzo6MTIxMTU0OjoxMjQ1MjQ6OjEyNzIwNzo6MTMwMjgyOjoxMzM2MTkiLz4KKwkJCQkJPHZhbCBvPSIxYTk2NDAiIHY9IjEzNjk2Mzo6MTM5MzM1OjoxNDA5NTE6OjE0MjY5ODo6MTQ0OTg4OjoxNDczNzc6OjE0OTQ4Mzo6MTUxNDM4OjoxNTM3MjY6OjE1NjMxNSIvPgorCQkJCQk8dmFsIG89IjFjNzQ2MCIgdj0iMTc0ODI5OjoxNzQ4OTY6OjE3NDk5Njo6MTc0OTk2OjoxNzU2Mjc6OjE3NjYyODo6MTc3MjAxOjoxNzcyMDE6OjE3NzIwMTo6MTc3NDM5OjoxNzg4NDk6OjE3OTIzODo6MTc5NjI2OjoxODA1MDU6OjE4MTIyNDo6MTgxMjQxOjoxODEyNDE6OjE4MTI3OTo6MTgyMTgzOjoxODI1Mjg6OjE4MjYxOTo6MTgyNzAxOjoxODMxNDQ6OjE4Mzc4MDo6MTg0Njk3OjoxODU0NzU6OjE4NjcwMjo6MTg4MzQyOjoxOTAxNzk6OjE5MjIyNjo6MTk0NDcwOjoxOTY3OTY6OjE5OTAyMDo6MjAxMzE5OjoyMDM1NzE6OjIwNTU1MDo6MjA3NzUxOjoyMDgzODk6OjIwODg3Mzo6MjA5MTg0OjoyMDkzNzM6OjIwOTY0Njo6MjEwMzU4OjoyMTA3NDQ6OjIxMTA2MTo6MjExMjQwOjoyMTE0Mzk6OjIxMTc1NiIvPgorCQkJCQk8dmFsIG89IjFmMTc2MCIgdj0iMjExODQzOjoyMTE4NDM6OjIxMTg0Mzo6MjExODQzOjoyMTE4NDM6OjIxMTg1Mjo6MjExOTk4OjoyMTIzMzk6OjIxMjgzMzo6MjE0OTUxOjoyMTcwNzc6OjIxODA0NTo6MjE5MzA5OjoyMjAzMDI6OjIyMDY2Mjo6MjIwNzg2OjoyMjA4MTk6OjIyMTI2OTo6MjIxNDUxOjoyMjE0NTg6OjIyMTQ1ODo6MjIxNDU4OjoyMjE0NTg6OjIyMTQ1ODo6MjIxNDU4OjoyMjE1NDc6OjIyMTg5NTo6MjIyMTg5OjoyMjI2MTE6OjIyMzQ3MTo6MjIzODE4OjoyMjQ0NzI6OjIyNDQ3Mzo6MjI1MDY2OjoyMjYwNTQ6OjIyNzUzMzo6MjI4NDYxOjoyMjg5NjI6OjIyOTM5Njo6MjI5NDAxOjoyMjk0MDE6OjIyOTU3Nzo6MjMwNTc2OjoyMzA3NTg6OjIzMTE1OTo6MjMxNDU0OjoyMzI1NjY6OjIzMjU2NiIvPgorCQkJCQk8dmFsIG89IjIxYmE2MCIgdj0iMjMyNTY2OjoyMzI1NjY6OjIzMzYwOTo6MjM0MTAxOjoyMzQxMDE6OjIzNDEzOTo6MjM0ODM2OjoyMzU0OTI6OjIzNTQ5Mjo6MjM2MDg5OjoyMzcyMDg6OjIzNzQ2Nzo6MjM3NDY3OjoyMzc0Njc6OjIzNzQ2Nzo6MjM3NDY3OjoyMzc1MTE6OjIzNzc0OTo6MjM4MzA2OjoyMzgzMzE6OjIzODMzMTo6MjM4MzMxOjoyMzgzMzE6OjIzODYwNjo6MjM4NjM3OjoyMzkyNjA6OjIzOTg0Njo6MjM5ODQ2OjoyMzk4NDY6OjIzOTg0Njo6MjM5ODQ3OjoyMzk5ODg6OjIzOTk4ODo6MjM5OTg4OjoyNDAyMDA6OjI0MDQxMTo6MjQwOTE2OjoyNDExOTM6OjI0MTE5NDo6MjQxMTk0OjoyNDExOTQ6OjI0MTI2MDo6MjQxMjYyOjoyNDEyNjI6OjI0MTI2Mjo6MjQxMjYyOjoyNDEzMjU6OjI0MTg0MiIvPgorCQkJCQk8dmFsIG89IjI0NmI3MCIgdj0iMjQzNDgyOjoyNDQxNTQ6OjI0NDE2NDo6MjQ0MTY0OjoyNDQxNjQ6OjI0NDQ5OTo6MjQ1Nzg4OjoyNDcyMDA6OjI0ODE1Nzo6MjQ4ODY2OjoyNDkzNTg6OjI1MDQzNjo6MjUxNTQ5OjoyNTI0NTI6OjI1MjQ4Mjo6MjUyNDg0OjoyNTI1MjY6OjI1MjUyNjo6MjUyNTI2OjoyNTI1MjY6OjI1Mjg0MDo6MjU1NjM0OjoyNTc1MTE6OjI1NzU4NDo6MjU3NTg1OjoyNTc1ODU6OjI1NzU4NTo6MjU3NTg1OjoyNTc1ODU6OjI1NzU4NTo6MjU3NzY2OjoyNTc3NjY6OjI1ODA3Mzo6MjU4NjI4OjoyNTkxMzA6OjI2MDQ1NDo6MjYyMzUwOjoyNjQzODc6OjI2NTg2NTo6MjY2Nzg3OjoyNjY4NTQ6OjI2Njg1NDo6MjY2ODU0OjoyNjY4NTQ6OjI2Njg1NDo6MjY2ODU0OjoyNjY4NTQ6OjI2Njg1NCIvPgorCQkJCQk8dmFsIG89IjI3MGU3MCIgdj0iMjY2ODU0OjoyNjY4Njg6OjI2NzEzMjo6MjY3NjA5OjoyNjgwOTU6OjI2ODkzNjo6MjY5Mjk0OjoyNjkyOTQ6OjI2OTM2NyIvPgorCQkJCTwvcGFyPgorCQkJCTxwYXIgbWVtaW5kPSI1MjUxMzgwMSIgaD0iM2RjMWE3ZTAiPgorCQkJCQk8dmFsIG89IjAiIHY9IjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjAiLz4KKwkJCQkJPHZhbCBvPSIyYTMwMCIgdj0iMDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6OjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowIi8+CisJCQkJCTx2YWwgbz0iNTU0MTAiIHY9IjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjAiLz4KKwkJCQkJPHZhbCBvPSI3ZjcxMCIgdj0iMDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6NjgwOjoxNzUzOjoyNDM2OjoyNDM5OjoyNDcxOjoyNDcyOjoyNDcyOjoyNDcyIi8+CisJCQkJCTx2YWwgbz0iYTlhMTAiIHY9IjI3NDU6OjI3NzY6OjI3NzY6OjI3NzY6OjI4NjQ6OjM5Mzk6OjQ0MzQ6OjUyMDc6OjY5ODM6Ojo6MTQ1ODc6OjE4ODA5OjoyMDcyNDo6MjA5MjQ6OjIxNTIzOjoyMzE5Njo6MjM1ODc6OjI0MDg0OjoyNDA4ODo6MjQwODg6OjI0MTE5OjoyNDkzMzo6MjQ5Nzg6OjI0OTc4OjoyNjQwNjo6MjY3NjQ6OjI2Nzk5OjoyNjc5OTo6MjcwNzk6OjI4MDk0OjoyOTU4NDo6MzA2Nzg6OjMxMjQyOjozMjIxMTo6MzMzMDE6OjM0MTgxOjozNDY4NTo6MzUwODg6OjM1NTQ2OjozNjgwNjo6MzczMzY6OjM5Nzk4Ojo0MjM5Njo6NDUxNjY6OjQ3NjA4Ojo0OTQ0Nzo6NTAxMzk6OjUwMTM5Ojo1MDE1NSIvPgorCQkJCQk8dmFsIG89ImQ0YjIwIiB2PSI1MDE1NTo6NTAxNTY6OjUwMTU4Ojo1MDkwMTo6NTI0NTc6OjUyNDg2Ojo1MzE3MTo6NTUxNTE6OjU3ODIxOjo2MDg2MDo6NjM2MzI6OjY0MjIwOjo2NDY4Mjo6NjQ5Mjk6OjY1MTY5Ojo2NTY5Mjo6NjYzMjQ6OjY2MzI0Ojo2NjQ2OTo6NjY0OTI6OjY2NTM1Ojo2NjU2NTo6NjY1NjU6OjY3ODIwOjo2OTA4Nzo6Njk4Njk6OjcwNzgwOjo3Mjc1NTo6NzUxMDc6Ojc1NDQ5Ojo3NjI3OTo6Nzc0NzM6Ojc5MDEzOjo4MDE3MTo6ODA5NzM6OjgxNDk0Ojo4MzQyMTo6ODQ4ODk6Ojg2NTgyOjo4ODg3Mjo6OTA1MTg6OjkyMDc3Ojo5MzI2Njo6OTQ0MjQ6Ojk2MDc5Ojo5NjU3OTo6OTY1Nzk6Ojk2NTc5Ii8+CisJCQkJCTx2YWwgbz0iZmVlMjAiIHY9Ijk2NTk0Ojo5NjU5NDo6OTY1OTY6Ojk3NDI4Ojo5OTA5Mjo6MTAwNjk0OjoxMDIxMzY6OjEwMzY1MTo6MTA0NTQ3OjoxMDYwMDQ6OjEwNzM5Mjo6MTA4MzAyOjoxMDk0MTA6OjExMDUzMDo6MTExNjEzOjoxMTM2NzY6OjExNjAwNTo6MTE3MjUxOjoxMTc3MTE6OjExODQwOTo6MTE5MTg4OjoxMjAwMjQ6OjEyMDA5Mzo6MTIxMTE4OjoxMjE2MDI6OjEyMTg4MDo6MTIyMDc5OjoxMjMwNDQ6OjEyNDk5NDo6MTI2NjgzOjoxMjgxNDg6OjEyODk0NTo6MTI5MDI1OjoxMjkwMjU6OjEyOTAyNTo6MTI5NTk3OjoxMzA0NzU6OjEzMTI5NTo6MTMxNzY0LjMwMzo6MTMxNzY1LjU4ODo6MTMxNzY2LjM3NTo6MTMxNzY4LjExOjoxMzE3NjkuMTk4OjoxMzE3NjkuNDk6OjEzMTc2OS43NjE6OjEzMTc3MC4yMTk6OjEzMTc3MC4yMzY6OjEzMTc3MC4yMzYiLz4KKwkJCQkJPHZhbCBvPSIxMjkxMjAiIHY9IjEzMTc3MC4yMzY6OjEzMTc3MC4yMzY6OjEzMTc3MC4yMzY6OjEzMTc3MC4yMzY6OjEzMTc3MC44Njg6OjEzMTc3MS44MDY6OjEzMTc3My4wMjM6OjEzMTc3NC42MjU6OjEzMTc3NS41ODk6OjEzMTc3Ni45MTI6OjEzMTc3OC4wNjI6OjEzMTc3OC43MDk6OjEzMTc3OS4yOTU6OjEzMTc3OS4zMDY6OjEzMTc3OS4zMTk6OjEzMTc3OS4zNDk6OjEzMTc3OS4zODY6OjEzMTc3OS40MjM6OjEzMTc3OS40NTg6OjEzMTc3OS40OTo6MTMxNzc5LjQ5OTo6MTMxNzc5LjUwMzo6MTMxNzc5LjUwOTo6MTMxNzc5LjU2NDo6MTMxNzc5LjU4Nzo6MTMxNzc5LjYwNDo6MTMxNzc5LjYyMzo6MTMxNzc5LjY1OTo6MTMxNzc5LjcwOTo6MTMxNzc5LjczODo6MTMxNzc5Ljc0NDo6MTMxNzc5Ljc1Mjo6MTMxNzc5Ljc1NTo6MTMxNzc5Ljc1NTo6MTMxNzc5Ljc1NTo6MTMxNzc5Ljc1NTo6MTMxNzc5Ljc1NTo6MTMxNzc5Ljc1NTo6MTMxNzc5Ljc1Njo6MTMxNzc5Ljc4Njo6MTMxNzc5LjgxOTo6MTMxNzc5Ljg1ODo6MTMxNzc5Ljg5Mzo6MTMxNzc5LjkxODo6MTMxNzc5LjkyNjo6MTMxNzc5LjkyNjo6MTMxNzc5LjkyNjo6MTMxNzc5Ljk0OSIvPgorCQkJCQk8dmFsIG89IjE1MzQyMCIgdj0iMTMxNzc5Ljk1ODo6MTMxNzc5Ljk1OTo6MTMxNzc5Ljk2OjoxMzE3NzkuOTcyOjoxMzE3ODAuMDAzOjoxMzE3ODAuMDI3OjoxMzE3ODAuMDQ5OjoxMzE3ODAuMDg5OjoxMzE3ODAuMTI1OjoxMzE3ODAuMTU1OjoxMzE3ODAuMTc5OjoxMzE3ODAuMTg0OjoxMzE3ODAuMTkxOjoxMzE3ODAuMjAyOjoxMzE3ODAuMjIyOjoxMzE3ODAuMjQzOjoxMzE3ODAuMjUxOjoxMzE3ODAuMjU4OjoxMzE3ODAuMjYxOjoxMzE3ODAuMjc3OjoxMzE3ODAuMjg1OjoxMzE3ODAuMjg1OjoxMzE3ODAuMjg4OjoxMzE3ODAuMjg4OjoxMzE3ODAuMjg4OjoxMzE3ODAuMjg4OjoxMzE3ODAuMjg4OjoxMzE3ODAuMjg5OjoxMzE3ODAuMzAzOjoxMzE3ODAuMzQ6OjEzMTc4MC4zNTo6MTMxNzgwLjM1Njo6MTMxNzgwLjM2ODo6MTMxNzgwLjM4MTo6MTMxNzgwLjM4NDo6MTMxNzgwLjM4NDo6MTMxNzgwLjM4Njo6MTMxNzgwLjM5ODo6MTMxNzgwLjQxNTo6MTMxNzgwLjQ1MTo6MTMzMjA1OjoxMzUzNDM6OjEzNjg2Njo6MTM3ODYxOjoxMzgyNzI6OjEzODI3Mjo6MTM4MjcyOjoxMzgyNzIiLz4KKwkJCQkJPHZhbCBvPSIxN2Q3MjAiIHY9IjEzODI3Mjo6MTM4MjcyOjoxMzgyNzI6OjEzODI3Mjo6MTM4Mjc1OjoxMzgyNzc6OjEzODI5MDo6MTM4MjkwOjoxMzgyOTA6OjEzODI5MDo6MTM4MzU1OjoxMzgzNTU6OjEzODM1NTo6MTM4MzU1OjoxMzgzNTU6Ojo6MTQxMDg4OjoxNDE0OTM6OjE0MTQ5Mzo6MTQxNDkzOjoxNDE0OTM6OjE0MTQ5Mzo6MTQxNDkzOjoxNDE0OTM6OjE0MTQ5Mzo6MTQxNDkzOjoxNDE0OTM6OjE0MTQ5Mzo6MTQxOTk3OjoxNDM2MTg6OjE0MzYxODo6MTQzNjI5OjoxNDM2ODE6Ojo6MTQzNzE0OjoxNDM3MTQ6OjE0MzcxNDo6MTQzNzE0OjoxNDM3MjU6OjE0NDM1MTo6MTQ0MzYyOjoxNDQzNjI6OjE0NDM2Mjo6MTQ0MzYyOjoxNDQzNjI6OjE0NDM2Mjo6MTQ0MzYyOjoxNDQzNjI6OjE0NDM2Mjo6MTQ0MzYyIi8+CisJCQkJCTx2YWwgbz0iMWE5NjQwIiB2PSIxNDQzNjI6OjE0NDM2Mjo6MTQ0MzYyOjoxNDQzNjI6OjE0NDM2ODo6MTQ0MzY4OjoxNDQzNjg6OjE0NDM2ODo6MTQ0MzY4OjoxNDQzNjgiLz4KKwkJCQkJPHZhbCBvPSIxYzc0NjAiIHY9IjE2MjcwNzo6MTYyNzg2OjoxNjMxMDc6OjE2NTAzNTo6MTY1MDYyOjoxNjUwNjI6OjE2NjQ4MTo6MTY4OTU2OjoxNzEwNzI6OjE3MTM5MTo6MTcxMzkxOjoxNzE2MzQ6OjE3MTYzNDo6MTcxNjM0OjoxNzE2MzQ6OjE3MTg2NTo6MTczMDA2OjoxNzQxNzU6OjE3NDE3NTo6MTc0MTc3OjoxNzQ0MzU6OjE3NDQzODo6MTc0NDM4OjoxNzQ0Mzk6OjE3NDQzOTo6MTc0NDM5OjoxNzQ0Mzk6OjE3NDQzOTo6MTc0NDM5OjoxNzQ0Mzk6OjE3NDQzOTo6MTc0NDM5OjoxNzQ0Mzk6OjE3NDQzOTo6MTc0NDM5OjoxNzQ0Mzk6OjE3NDQzOTo6MTc0NTQwOjoxNzQ1NDA6OjE3NDU0MDo6MTc0NTk0OjoxNzQ1OTQ6OjE3NDU5NDo6MTc0NTk0OjoxNzQ1OTQ6OjE3NDU5ODo6MTc0NTk4OjoxNzQ1OTgiLz4KKwkJCQkJPHZhbCBvPSIxZjE3NjAiIHY9IjE3NDc0Mjo6MTc1MTI5OjoxNzU3MDY6OjE3NzczMTo6MTc5ODAzOjoxODA0MDU6OjE4MDQwNTo6MTgwNjQ2OjoxODA3MDQ6OjE4MDcwNDo6MTgwNzA0OjoxODA3NzE6OjE4MDc4Mjo6MTgwNzgyOjoxODA3ODI6OjE4MDgwMTo6MTgwOTgzOjoxODE5NjE6OjE4Mjg3Mzo6MTg0MDg2OjoxODYzMzI6OjE4ODM5Njo6MTg5ODQ4OjoxOTA1MDQ6OjE5MjExNDo6MTkzODk3OjoxOTQ0NzQ6OjE5NTIwNDo6MTk1MjA2OjoxOTUyMzA6OjE5NTIzMjo6MTk1Mzk3OjoxOTYwNDE6OjE5NjA0Njo6MTk2MDQ2OjoxOTYwNDY6OjE5NjE3NTo6MTk2MTc1OjoxOTYxNzU6OjE5NjY3ODo6MTk4MDA3OjoxOTg4ODE6OjE5ODg5NTo6MTk5MDQzOjoxOTk0OTQ6OjE5OTQ5NDo6MTk5NDk0OjoyMDAwNTgiLz4KKwkJCQkJPHZhbCBvPSIyMWJhNjAiIHY9IjIwMTM1Mzo6MjAyODUxOjoyMDMyMzc6OjIwMzM1Mzo6MjAzODI1OjoyMDQxNjc6OjIwNDE2Nzo6MjA0Mjg2OjoyMDU3Nzg6OjIwNTgzMzo6MjA1ODMzOjoyMDkwMzY6OjIxMDk3MDo6MjExNDI2OjoyMTIxMzg6OjIxNDQxMDo6MjE4MTU2OjoyMTgzOTU6OjIxODM5NTo6MjE5Nzk1OjoyMjIzNjg6OjIyNTk2Mzo6MjI4Njc2OjoyMjg2OTg6OjIyODk0MTo6MjI5MDgyOjoyMjkwODI6OjIzMDgyMjo6MjMyMjM3OjoyMzM0MjU6OjIzMzkxMDo6MjM1MDk4OjoyMzcyNzM6OjIzODE2MDo6MjM4MjU5OjoyMzg0MzE6OjIzODQzMTo6MjM4NDYwOjoyMzg2MDQ6OjIzOTczNTo6MjQwNjg1OjoyNDE2NDg6OjI0MjQwNjo6MjQ0MTM3OjoyNDc0NzE6OjI1MDU1MTo6MjUzNDA0OjoyNTM0MDQiLz4KKwkJCQkJPHZhbCBvPSIyNDZiNzAiIHY9IjI1MzQwNDo6MjUzNDA0OjoyNTU1Mjc6OjI2MDEyNDo6MjYxNDkyOjoyNjE2MDY6OjI2MTYwNjo6MjYxNjA2OjoyNjE2MDY6OjI2MTYwNjo6MjYxNjkyOjoyNjE2OTI6OjI2MTY5Mjo6MjYxNjkyOjoyNjE3OTQ6OjI2MjMxNTo6MjYyOTM5OjoyNjQxMTg6OjI2NTkyMTo6MjY5MjAwOjoyNzIwNDE6OjI3MjA0MTo6MjcyMDQ5OjoyNzIyMjk6OjI3MjQxNzo6MjcyOTAwOjoyNzM5MDk6OjI3NjQ2Njo6Mjc5MDg0OjoyODExNzM6OjI4MTM0OTo6MjgyNjQyOjoyODI4NDE6OjI4MzE4NTo6MjgzMTk4OjoyODMxOTg6OjI4MzE5ODo6MjgzMTk4OjoyODMxOTg6OjI4MzE5ODo6MjgzNDAyOjoyODQxMTQ6OjI4NTI0NDo6Mjg2ODg2OjoyODg4ODQ6OjI5MTk2ODo6Mjk0ODg0OjoyOTc4NDkiLz4KKwkJCQkJPHZhbCBvPSIyNzBlNzAiIHY9IjMwMDk1NDo6MzAxNzMzOjozMDIzNDE6OjMwMjM0MTo6MzAyMzQxOjozMDIzNDE6OjMwMzkxNTo6MzA2MjAxOjozMDY2OTMiLz4KKwkJCQk8L3Bhcj4KKwkJCQk8cGFyIG1lbWluZD0iNTI1MTM0MDEiIGg9IjNkYzFhN2UwIj4KKwkJCQkJPHZhbCBvPSIwIiB2PSIwOjo0MTc3Ojo4MzQ4OjoxMjQyMTo6MTY0NjY6OjIwMzg5OjoyNDU1MDo6Mjk2Mzg6OjM1MzkwOjo0MjMyOTo6NDk2MDg6OjU2OTgyOjo2NDExOTo6NzA4MTk6OjcyODI0Ojo3MjgzMTo6NzI4Mzg6OjcyODQ1Ojo3Mjg1MTo6NzI4NTk6OjcyODY2Ojo3Mjg3Mzo6NzI4ODE6OjcyODg5Ojo3Mjg5ODo6NzI5MDY6OjcyOTE0Ojo3MjkyMjo6NzI5MzE6OjcyOTM4Ojo3Mjk0Njo6NzI5NTU6OjcyOTYzOjo3Mjk3Mjo6NzI5Nzk6OjcyOTg3Ojo3Mjk5NTo6NzMwMDQ6OjczMDEyOjo3MzAyMTo6NzMwMjk6OjczMDM3Ojo3MzA0NTo6NzMwNTI6OjczMDYwOjo3MzA2Nzo6NzMwNzQ6OjczMDgzIi8+CisJCQkJCTx2YWwgbz0iMmEzMDAiIHY9IjczMDkyOjo3MzEwMDo6NzMxMDg6OjczMTE2Ojo3MzEyNDo6NzMxMzE6OjczMTM5Ojo3MzE0Nzo6NzMxNTU6OjczMTY0Ojo3MzE3Mjo6NzMxODA6OjczMTg5Ojo3MzE5Nzo6NzMyMDU6OjczMjEzOjo3MzIyMTo6NzMyMjg6OjczMjM1Ojo3MzI0Mjo6NzMyNTA6OjczMjU4Ojo3MzI2NTo6NzMyNzM6OjczMjgxOjo3MzI5MDo6NzMyOTg6OjczMzA3Ojo3MzMxNjo6NzMzMjQ6OjczMzMzOjo3MzM0MTo6NzMzNDk6Ojo6NzMzNjI6OjczMzY4Ojo3MzM3NDo6NzMzODE6OjczMzg3Ojo3MzM5NDo6NzM0MDA6OjczNDA3Ojo3MzQxNDo6NzM0MjE6OjczNDI4Ojo3MzQzNjo6NzM0NDM6OjczNDUxOjo3MzQ1OSIvPgorCQkJCQk8dmFsIG89IjU1NDEwIiB2PSI3MzQ2Nzo6NzM0NzY6OjczNDg0Ojo3MzQ5Mjo6NzM1MDE6OjczNTA4Ojo3MzUxNjo6NzM1MjM6OjczNTI5Ojo3MzUzNjo6NzM1NDM6OjczNTUwOjo3MzU1Nzo6NzM1NjQ6OjczNTcxOjo3MzU3ODo6NzM1ODU6OjczNTkyOjo3MzU5OTo6NzM2MDc6OjczNjE0Ojo3MzYyMjo6NzM2MzA6OjczNjM5Ojo3MzY0Nzo6NzM2NTU6OjczNjYzOjo3MzY3Mjo6NzM2ODA6OjczNjg3Ojo3MzY5NDo6NzM3MDI6OjczNzA5Ojo3MzcxNTo6NzM3MjE6OjczNzI4Ojo3MzczNTo6NzM3NDI6OjczNzQ4Ojo3Mzc1NTo6NzM3NjI6OjczNzY5Ojo3Mzc3Njo6NzM3ODM6OjczNzkxOjo3Mzc5ODo6NzM4MDY6OjczODE0Ii8+CisJCQkJCTx2YWwgbz0iN2Y3MTAiIHY9IjczODIzOjo3MzgzMTo6NzM4NDA6OjczODQ5Ojo3Mzg1ODo6NzM4NjY6OjczODc0Ojo3Mzg4MTo6NzM4ODg6OjczODk1Ojo3MzkwMjo6NzM5MDk6OjczOTE3Ojo3MzkyNDo6NzM5MzE6OjczOTM4Ojo3Mzk0NTo6NzM5NTI6OjczOTU5Ojo3Mzk2Njo6NzM5NzM6OjczOTgwOjo3Mzk4ODo6NzM5OTY6Ojc0MDA1Ojo3NDAxNDo6NzQwMjI6Ojc0MDMxOjo3NDAzOTo6NzQwNDc6Ojc0MDU1Ojo3NDA2Mjo6NzQwNjk6Ojc0MDc2Ojo3NDA4NDo6NzQwOTE6Ojc0MDk4Ojo3NDEwNTo6NzQxMTI6Ojc2NTkzOjo4MTkxMjo6ODQyOTM6Ojg0NDM4Ojo4NDQzODo6ODQ0Mzg6Ojg0NDM5Ojo4NDQ0MDo6ODQ0NDAiLz4KKwkJCQkJPHZhbCBvPSJhOWExMCIgdj0iODQ0NDI6Ojg0NDQ1Ojo4NDQ1MDo6ODQ0NTA6Ojg0NDUwOjo4NDQ1MDo6ODQ1MTA6Ojg0NjIyOjo4NDY3Nzo6Ojo4NDc2ODo6ODQ5MDI6Ojg1MTYxOjo4NTgzNDo6ODY2NTY6Ojg3NTAwOjo4OTAzNDo6OTA3ODM6OjkyNDgyOjo5NDM4Njo6OTYwMDM6Ojk2NzU2Ojo5NzYwODo6OTg1MjA6Ojk4NTY4Ojo5ODU2ODo6OTg1Njg6Ojk4NTY4Ojo5ODU2ODo6OTg1Njg6Ojk4NTY5Ojo5ODU2OTo6OTg1NzA6Ojk4NTgxOjo5ODYwOTo6OTg2NDk6Ojk4NjU2Ojo5ODY1Nzo6OTg2NjQ6Ojk4NzA0Ojo5OTA1OTo6OTkyOTE6Ojk5NTIyOjo5OTY3OTo6OTk3MzA6Ojk5NzUyOjo5OTc4Njo6OTk4ODI6Ojk5ODgyIi8+CisJCQkJCTx2YWwgbz0iZDRiMjAiIHY9Ijk5ODgyOjo5OTg4Mjo6OTk4ODI6Ojk5ODgyOjo5OTk0MDo6MTAwMzQ2OjoxMDEwOTY6OjEwMjc0OTo6MTA1MDc4OjoxMDc1Mjc6OjExMDA3Mjo6MTEyOTkxOjoxMTU3ODY6OjExODY1Njo6MTIxNDQxOjoxMjQyMjg6OjEyODE1NDo6MTMyMTQ5OjoxMzU4OTU6OjEzOTI0Mzo6MTQyMjM1OjoxNDQ2NjU6OjE0NjU1MDo6MTQ3NzY2OjoxNDg0MzA6OjE0OTEzMjo6MTQ5NzgzOjoxNTAyODE6OjE1MTE3ODo6MTUzMzk2OjoxNTU5Nzc6OjE1OTc2NDo6MTY0MDExOjoxNjgzNjM6OjE3Mjk1OTo6MTc3NDI5OjoxODE4OTc6OjE4NjYxMjo6MTkxMzI4OjoxOTU2OTc6OjIwMDA1NDo6MjA0MTI3OjoyMDc5ODE6OjIxMTUyMDo6MjE0NTgxOjoyMTc3MDU6OjIyMDY4Mjo6MjIzMjI0Ii8+CisJCQkJCTx2YWwgbz0iZmVlMjAiIHY9IjIyNTQ0MDo6MjI3NDMxOjoyMjkzODk6OjIzMTEyODo6MjMyOTc5OjoyMzU1MDE6OjIzODcwNTo6MjQyODc3OjoyNDUzOTU6OjI0OTg5NDo6MjU0NDg0OjoyNTg2ODU6OjI2Mjg4NDo6MjY3MDU5OjoyNzEzNjU6OjI3NTc0Nzo6MjgwMDcyOjoyODQzNzE6OjI4ODY1Njo6MjkyNTY3OjoyOTYwNjI6OjI5ODk1ODo6MzAxNjc4OjozMDM2NDM6OjMwNTQ2NDo6MzA3MjY4OjozMDkwODc6OjMxMDcyMTo6MzEyNDE0OjozMTQ4MjM6OjMxNzkzMzo6MzIyMTUzOjozMjY4ODk6OjMzMTU3Nzo6MzM2NjY4OjozNDA5NDQ6OjM0NTIyNzo6MzQ5MzM4OjoxNTE5NzguNjk3OjoxNTE5ODIuNjE0OjoxNTE5ODYuNjE6OjE1MTk5MC4yMDc6OjE1MTk5My42NjU6OjE1MTk5Ni45NDM6OjE1MTk5OS44OTc6OjE1MjAwMi4xNTg6OjE1MjAwNC4yMDc6OjE1MjAwNi4xOTQiLz4KKwkJCQkJPHZhbCBvPSIxMjkxMjAiIHY9IjE1MjAwNy45NTQ6OjE1MjAwOS42MzU6OjE1MjAxMS4zMjQ6OjE1MjAxMi44NTc6OjE1MjAxNC40MzM6OjE1MjAxNi41ODY6OjE1MjAxOS4xODE6OjE1MjAyMi4zNjU6OjE1MjAyNS43Mjg6OjE1MjAyOC4yODg6OjE1MjAzMC45OTg6OjE1MjAzNC4wODE6OjE1MjAzNi4yNDc6OjE1MjAzNi4yODQ6OjE1MjAzNi4zMDI6OjE1MjAzNi4zMTk6OjE1MjAzNi4zNDE6OjE1MjAzNi4zNTk6OjE1MjAzNi4zNzI6OjE1MjAzNi4zODM6OjE1MjAzNi4zOTo6MTUyMDM2LjM5Mzo6MTUyMDM2LjM5ODo6MTUyMDM2LjM5ODo6MTUyMDM2LjM5ODo6MTUyMDM2LjM5ODo6MTUyMDM2LjM5ODo6MTUyMDM2LjM5ODo6MTUyMDM2LjM5ODo6MTUyMDM2LjM5ODo6MTUyMDM2LjM5ODo6MTUyMDM2LjM5OTo6MTUyMDM2LjQwNDo6MTUyMDM2LjQwNzo6MTUyMDM2LjQxMjo6MTUyMDM2LjQxNDo6MTUyMDM2LjQxNDo6MTUyMDM2LjQxNDo6MTUyMDM2LjQxNDo6MTUyMDM2LjQxNzo6MTUyMDM2LjQyMjo6MTUyMDM2LjQyNTo6MTUyMDM2LjQyODo6MTUyMDM2LjQzMjo6MTUyMDM2LjQzNTo6MTUyMDM2LjQzNzo6MTUyMDM2LjQzNzo6MTUyMDM2LjQzNyIvPgorCQkJCQk8dmFsIG89IjE1MzQyMCIgdj0iMTUyMDM2LjQzNzo6MTUyMDM2LjQzNzo6MTUyMDM2LjQzNzo6MTUyMDM2LjQzNzo6MTUyMDM2LjQzNzo6MTUyMDM2LjQzNzo6MTUyMDM2LjQzNzo6MTUyMDM2LjQzNzo6MTUyMDM2LjQzNzo6MTUyMDM2LjQzNzo6MTUyMDM2LjQzNzo6MTUyMDM2LjQzNzo6MTUyMDM2LjQzNzo6MTUyMDM2LjQzNzo6MTUyMDM2LjQzNzo6MTUyMDM2LjQ0MTo6MTUyMDM2LjQ1OjoxNTIwMzYuNDY6OjE1MjAzNi40NzI6OjE1MjAzNi40NzY6OjE1MjAzNi40Nzg6OjE1MjAzNi40Nzg6OjE1MjAzNi40Nzg6OjE1MjAzNi40Nzg6OjE1MjAzNi40Nzg6OjE1MjAzNi40Nzg6OjE1MjAzNi40Nzg6OjE1MjAzNi40Nzg6OjE1MjAzNi40Nzg6OjE1MjAzNi40Nzg6OjE1MjAzNi40ODk6OjE1MjAzNi41NDM6OjE1MjAzNi42NjM6OjE1MjAzNi43Nzg6OjE1MjAzNi44ODM6OjE1MjAzNi45NzE6OjE1MjAzNy4wNjY6OjE1MjAzNy4xNjQ6OjE1MjAzNy4yNTc6OjE1MjAzNy4zNjE6OjM1NjY4NTo6MzYzNDA1OjozNzA0MjA6OjM3NzU3NTo6Mzg0MTM0OjozOTAyMjU6OjM5NjA2NDo6NDAxNjk2Ii8+CisJCQkJCTx2YWwgbz0iMTdkNzIwIiB2PSI0MDcxOTg6OjQxMjY0NDo6NDE3ODgzOjo0MjI5OTg6OjQyODUxMzo6NDM1MDc1Ojo0NDIyMjk6OjQ1MzM5NTo6NDY2NjAxOjo0Nzk2NTg6OjQ5MjE3Nzo6NTA0MDAwOjo1MTU5MDE6OjUyNzkwMTo6NTM5OTk3Ojo6OjU1NjAzNjo6NTYzOTAzOjo1NzE4MjM6OjU3OTAwNTo6NTg1MzI2Ojo1OTEzMjU6OjU5NjM1NDo6NjAwNzE1Ojo2MDQ5OTI6OjYwOTE5OTo6NjEzMzgxOjo2MTc2NDY6OjYyMjUzOTo6NjI3ODY4Ojo2MzM5ODM6OjY0MDUwMjo6NjQ2NjUwOjo6OjY1OTMyODo6NjY1NDk4Ojo2NzE4NDU6OjY3ODIyNzo6Njg0NzY2Ojo2ODg5OTA6OjY5MTYxOTo6Njk0NDkyOjo2OTc4NDk6OjcwMDY5NDo6NzAyNjIwOjo3MDQ0NDI6OjcwNTU3Mjo6NzA2NjkxOjo3MDc2OTc6OjcwODczNiIvPgorCQkJCQk8dmFsIG89IjFhOTY0MCIgdj0iNzA5NTQ1Ojo3MDk5OTc6OjcxMDY5MDo6NzEyMjQzOjo3MTQyNTU6OjcxNjg0Nzo6NzE5NjA5Ojo3MjIzNzM6OjcyNTE1ODo6NzI3MjYxIi8+CisJCQkJCTx2YWwgbz0iMWM3NDYwIiB2PSI3NzA5ODg6Ojc3MDk4ODo6NzcwOTg4Ojo3NzA5ODg6Ojc3MDk4ODo6NzcwOTg4Ojo3NzA5ODg6Ojc3MDk4ODo6NzcwOTg4Ojo3NzA5ODg6Ojc3MDk4ODo6NzcwOTg4Ojo3NzA5ODg6Ojc3MDk4ODo6NzcwOTg4Ojo3NzA5ODg6Ojc3MDk4ODo6NzcwOTg4Ojo3NzA5ODg6Ojc3MDk4ODo6NzczMDg2Ojo3NzY2NDc6Ojc4MDI5Njo6NzgzODI2Ojo3ODc0MjY6Ojc5MTA2MTo6Nzk1ODQ0Ojo4MDIxMDk6OjgwODgwMTo6ODE1NjI0Ojo4MjI0OTg6OjgyOTIxMzo6ODM1NTA4Ojo4NDE0NDk6Ojg0Njg4Njo6ODUxNzk4Ojo4NTY2NjU6Ojg1OTM1NDo6ODYxMjYzOjo4NjMwODM6Ojg2NDk4NTo6ODY3MjQ1Ojo4Njk4MDM6Ojg3MjQ2MDo6ODc1MjIxOjo4Nzc5Mzc6Ojg4MDU2MTo6ODgzMTU2Ii8+CisJCQkJCTx2YWwgbz0iMWYxNzYwIiB2PSI4ODU2NTc6Ojg4ODA4NTo6ODkwNTA1Ojo4OTMxMTA6Ojg5NjE5NDo6ODk5NTgxOjo5MDMxMTY6OjkwNjQ3Mzo6OTA5Njc3Ojo5MTMwMzQ6OjkxNjA4Mjo6OTE4NjQ2Ojo5MjEwOTM6OjkyMzQ2MDo6OTI1NjMwOjo5Mjc3NDQ6OjkzMDA1Mzo6OTMyODA2Ojo5MzU5MDQ6OjkzOTc1Mzo6OTQ0NTQwOjo5NTAxNjM6Ojk1NTg4NDo6OTYxMjMzOjo5NjY2NzM6Ojk3MjUzMzo6OTc4NzU4Ojo5ODUxNjg6Ojk5MTY2ODo6OTk3NzEzOjoxMDAzMDkxOjoxMDA4Mjc0OjoxMDEyNzQ5OjoxMDE3MDM4OjoxMDIwOTM3OjoxMDI0NjI0OjoxMDI3OTE5OjoxMDMxMDQ3OjoxMDM0MDg3OjoxMDM2OTc2OjoxMDQwMTA2OjoxMDQ0MTAyOjoxMDQ5MjAxOjoxMDU1MTc3OjoxMDYxNDExOjoxMDY3NTI4OjoxMDczNzU5OjoxMDc5ODA2Ii8+CisJCQkJCTx2YWwgbz0iMjFiYTYwIiB2PSIxMDg1NzQ4OjoxMDkxNTY2OjoxMDk3OTY0OjoxMTA0MDk4OjoxMTA5OTY1OjoxMTE1NjExOjoxMTIxMDkzOjoxMTI2MzIxOjoxMTMwNjMwOjoxMTM0NDk3OjoxMTM3OTczOjoxMTM5OTcwOjoxMTQxODQ5OjoxMTQzOTIzOjoxMTQ1OTE4OjoxMTQ3NjQ3OjoxMTQ5NTU3OjoxMTUzMTcxOjoxMTU3MzI5OjoxMTYxOTM0OjoxMTY2NjY0OjoxMTcxMjA0OjoxMTc1OTU3OjoxMTgwNzIxOjoxMTg1NDQ2OjoxMTkwNjMyOjoxMTk2MjA0OjoxMjAxNzQzOjoxMjA3MzI4OjoxMjEyNjA4OjoxMjE3ODQ3OjoxMjIyNjc0OjoxMjI2OTQyOjoxMjMxMDY2OjoxMjM0ODc4OjoxMjM4MTUxOjoxMjQxMzk4OjoxMjQ0NTI1OjoxMjQ3NTQ0OjoxMjUwNDA4OjoxMjUzNjYzOjoxMjU3NjQ1OjoxMjYyMjM5OjoxMjY3OTA1OjoxMjc0MDc1OjoxMjgwNTEyOjoxMjg3MTA5OjoxMjkzNTY2Ii8+CisJCQkJCTx2YWwgbz0iMjQ2YjcwIiB2PSIxMzA2NTAxOjoxMzEyNzc1OjoxMzE4NTM5OjoxMzIzNzk4OjoxMzI5Mzg3OjoxMzM1MTA1OjoxMzQwODgzOjoxMzQ2Mzk2OjoxMzUxMzc2OjoxMzU1NTk0OjoxMzU5MDk5OjoxMzYyNzQyOjoxMzY2MzU1OjoxMzY5OTM2OjoxMzczNDE4OjoxMzc3MTU2OjoxMzgxNDQwOjoxMzg1OTc2OjoxMzkxNDE2OjoxMzk3MTI0OjoxNDAzNjIyOjoxNDEyOTA1OjoxNDIwNDk0OjoxNDI2NTE5OjoxNDMyNzkxOjoxNDM4NzMxOjoxNDQ0NzAwOjoxNDUwNDk1OjoxNDU1OTE2OjoxNDYxMjkzOjoxNDY2NjQ4OjoxNDcxMzIzOjoxNDc1OTA0OjoxNDc5OTAzOjoxNDgzNTE0OjoxNDg3MDMwOjoxNDkwNjgyOjoxNDk0MzI0OjoxNDk3OTE4OjoxNTAxNjE1OjoxNTA1NDY4OjoxNTA5MzU4OjoxNTEzNTAzOjoxNTE3ODUwOjoxNTIyMDA0OjoxNTI1OTU3OjoxNTI5NzI4OjoxNTMzNDAzIi8+CisJCQkJCTx2YWwgbz0iMjcwZTcwIiB2PSIxNTM3MDAzOjoxNTQxMjg5OjoxNTQ2MTI0OjoxNTUxMjU2OjoxNTU2Mjg2OjoxNTYxMjcyOjoxNTY1NzMxOjoxNTY5NTgxOjoxNTcyOTQwIi8+CisJCQkJPC9wYXI+CisJCQkJPHBhciBtZW1pbmQ9IjUyNTEzMDAxIiBoPSIzZGMxYTdlMCI+CisJCQkJCTx2YWwgbz0iMCIgdj0iMDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MCIvPgorCQkJCQk8dmFsIG89IjJhMzAwIiB2PSIwOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjo6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjAiLz4KKwkJCQkJPHZhbCBvPSI1NTQxMCIgdj0iMDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MCIvPgorCQkJCQk8dmFsIG89IjdmNzEwIiB2PSIwOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjoxMDo6NTIxOjoxMDA5OjoxOTE0OjoyMzI5OjoyODA0OjozNDc2Ii8+CisJCQkJCTx2YWwgbz0iYTlhMTAiIHY9IjQ1NDY6OjQ2ODI6OjQ3MTk6OjQ4Mzg6OjUzNTA6OjYxNjU6OjYzNjU6OjY0NDU6OjY0OTA6Ojo6NjU3MTo6NjY0Mzo6NjcwNDo6NjcwNDo6NjcwNDo6NjcwNDo6NjcwNDo6NjcwNDo6NjcwNDo6NjcwNDo6NjcwNDo6NjcwNDo6NjcwNDo6NjcwNDo6NzIwODo6NzY3OTo6ODEyNDo6ODQ4MDo6OTAxMDo6OTUwMTo6OTkxODo6MTA3MDg6OjEwOTYwOjoxMTA3OTo6MTEyMDA6OjExMjU1OjoxMTQ1OTo6MTE2NTY6OjExNzkzOjoxMjE1OTo6MTIxNTk6OjEyMTU5OjoxMjE1OTo6MTIxNjA6OjEyMTc5OjoxMjIxNTo6MTIyODc6OjEyMzAyOjoxMjg4NCIvPgorCQkJCQk8dmFsIG89ImQ0YjIwIiB2PSIxMzUzMzo6MTQyMzA6OjE1MDYyOjoxNjIwNDo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2Ii8+CisJCQkJCTx2YWwgbz0iZmVlMjAiIHY9IjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTcuNDkyOjoxNzE1Ny40OTI6OjE3MTU3LjQ5Mjo6MTcxNTcuNDkyOjoxNzE1Ny40OTI6OjE3MTU3LjQ5Mjo6MTcxNTcuNDkyOjoxNzE1Ny40OTI6OjE3MTU3LjQ5Mjo6MTcxNTcuNDkyIi8+CisJCQkJCTx2YWwgbz0iMTI5MTIwIiB2PSIxNzE1Ny40OTI6OjE3MTU3LjQ5Mjo6MTcxNTcuNDkyOjoxNzE1Ny40OTI6OjE3MTU3LjQ5Mjo6MTcxNTcuNDkyOjoxNzE1Ny40OTI6OjE3MTU3LjQ5Mjo6MTcxNTcuNDkyOjoxNzE1Ny40OTI6OjE3MTU3LjQ5Mjo6MTcxNTcuNDkyOjoxNzE1Ny40OTI6OjE3MTU3LjQ5Mjo6MTcxNTcuNDkyOjoxNzE1Ny40OTI6OjE3MTU3LjQ5Mjo6MTcxNTcuNDkyOjoxNzE1Ny40OTI6OjE3MTU3LjQ5Mjo6MTcxNTcuNDkyOjoxNzE1Ny40OTI6OjE3MTU3LjQ5Mzo6MTcxNTcuNTExOjoxNzE1Ny41MjU6OjE3MTU3LjU0Mjo6MTcxNTcuNTU4OjoxNzE1Ny41Nzk6OjE3MTU3LjU5OTo6MTcxNTcuNjA4OjoxNzE1Ny42MTE6OjE3MTU3LjYxMjo6MTcxNTcuNjEyOjoxNzE1Ny42MTI6OjE3MTU3LjYxMjo6MTcxNTcuNjEzOjoxNzE1Ny42MTY6OjE3MTU3LjYxODo6MTcxNTcuNjIzOjoxNzE1Ny42MzE6OjE3MTU3LjYzMTo6MTcxNTcuNjMxOjoxNzE1Ny42MzE6OjE3MTU3LjYzMTo6MTcxNTcuNjMxOjoxNzE1Ny42MzE6OjE3MTU3LjYzMjo6MTcxNTcuNjQ5Ii8+CisJCQkJCTx2YWwgbz0iMTUzNDIwIiB2PSIxNzE1Ny42Njk6OjE3MTU3LjY4Njo6MTcxNTcuNzA2OjoxNzE1Ny43Mjg6OjE3MTU3Ljc1Mjo6MTcxNTcuNzcxOjoxNzE1Ny43ODY6OjE3MTU3Ljc5OTo6MTcxNTcuODEyOjoxNzE1Ny44MjQ6OjE3MTU3LjgzODo6MTcxNTcuODU6OjE3MTU3Ljg2MTo6MTcxNTcuODcxOjoxNzE1Ny44ODM6OjE3MTU3Ljg5OjoxNzE1Ny44OTo6MTcxNTcuODk6OjE3MTU3Ljg5OjoxNzE1Ny44OTo6MTcxNTcuODk6OjE3MTU3Ljg5MTo6MTcxNTcuODk5OjoxNzE1Ny45MTE6OjE3MTU3LjkxODo6MTcxNTcuOTI6OjE3MTU3LjkyMTo6MTcxNTcuOTI1OjoxNzE1Ny45MzI6OjE3MTU3LjkzNzo6MTcxNTcuOTM3OjoxNzE1Ny45Mzc6OjE3MTU3LjkzNzo6MTcxNTcuOTM3OjoxNzE1Ny45Mzc6OjE3MTU3LjkzNzo6MTcxNTcuOTM3OjoxNzE1Ny45Mzc6OjE3MTU3LjkzNzo6MTcxNTcuOTM3OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTYiLz4KKwkJCQkJPHZhbCBvPSIxN2Q3MjAiIHY9IjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6Ojo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2Ojo6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2Ii8+CisJCQkJCTx2YWwgbz0iMWE5NjQwIiB2PSIxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1NiIvPgorCQkJCQk8dmFsIG89IjFjNzQ2MCIgdj0iMjYzNjY6OjI2NjQ4OjoyOTczNzo6MzM3OTA6OjM3MzIwOjo0MTAzODo6NDU0OTE6OjUwODcwOjo1NjM3ODo6NjIwNjY6OjY3ODkyOjo3NDQzNTo6ODEwNzM6Ojg3NzQ4Ojo5NDQ4Nzo6MTAxMzI1OjoxMDgxNzM6OjExNDY3MTo6MTIwNDE3OjoxMjU3Njg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5OCIvPgorCQkJCQk8dmFsIG89IjFmMTc2MCIgdj0iMTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5OCIvPgorCQkJCQk8dmFsIG89IjIxYmE2MCIgdj0iMTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5OCIvPgorCQkJCQk8dmFsIG89IjI0NmI3MCIgdj0iMTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5OCIvPgorCQkJCQk8dmFsIG89IjI3MGU3MCIgdj0iMTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5OCIvPgorCQkJCTwvcGFyPgorCQkJCTxwYXIgbWVtaW5kPSIzNDYwMSIgaD0iM2RjMWE3ZTAiPgorCQkJCQk8dmFsIG89IjAiIHY9IjYwOTQ1NjQ6OjYwOTU4Njk6OjYwOTc0MzM6OjYwOTkwNDY6OjYxMDA2MzA6OjYxMDE5NjA6OjYxMDMxMzc6OjYxMDQ4MjY6OjYxMDY0ODc6OjYxMDgzMzg6OjYxMTAwNTc6OjYxMTIwODc6OjYxMTQxMDg6OjYxMTYwMTc6OjYxMTY2MzU6OjYxMTY2NDA6OjYxMTY2NDU6OjYxMTY2NDg6OjYxMTY2NDk6OjYxMTY2NTQ6OjYxMTY2NjE6OjYxMTY2Njc6OjYxMTY2NzQ6OjYxMTY2ODE6OjYxMTY2ODg6OjYxMTY2OTQ6OjYxMTY3MDE6OjYxMTY3MDg6OjYxMTY3MTU6OjYxMTY3MjE6OjYxMTY3MjM6OjYxMTY3MzA6OjYxMTY3Mzg6OjYxMTY3NDU6OjYxMTY3NTE6OjYxMTY3NTc6OjYxMTY3NjQ6OjYxMTY3NzE6OjYxMTY3Nzk6OjYxMTY3ODY6OjYxMTY3OTM6OjYxMTY3OTk6OjYxMTY4MDA6OjYxMTY4MDA6OjYxMTY4MDU6OjYxMTY4MDg6OjYxMTY4MTI6OjYxMTY4MTkiLz4KKwkJCQkJPHZhbCBvPSIyYTMwMCIgdj0iNjExNjgyNjo6NjExNjgzMjo6NjExNjgzMjo6NjExNjgzNDo6NjExNjgzODo6NjExNjgzOTo6NjExNjgzOTo6NjExNjg0NTo6NjExNjg1Mjo6NjExNjg1OTo6NjExNjg2Njo6NjExNjg3Mzo6NjExNjg4MDo6NjExNjg4Nzo6NjExNjg5Mzo6NjExNjg5ODo6NjExNjg5OTo6NjExNjg5OTo6NjExNjg5OTo6NjExNjkwMTo6NjExNjkwMjo6NjExNjkwNDo6NjExNjkwNTo6NjExNjkxMDo6NjExNjkxNzo6NjExNjkyNDo6NjExNjkzMTo6NjExNjkzODo6NjExNjk0NTo6NjExNjk1Mjo6NjExNjk1Nzo6NjExNjk2MTo6NjExNjk2ODo6Ojo2MTE2OTcwOjo2MTE2OTcwOjo2MTE2OTcwOjo2MTE2OTcwOjo2MTE2OTcwOjo2MTE2OTcwOjo2MTE2OTcwOjo2MTE2OTcwOjo2MTE2OTcwOjo2MTE2OTcwOjo2MTE2OTcyOjo2MTE2OTc4Ojo2MTE2OTgwOjo2MTE2OTg3Ojo2MTE2OTk0Ii8+CisJCQkJCTx2YWwgbz0iNTU0MTAiIHY9IjYxMTcwMDE6OjYxMTcwMDg6OjYxMTcwMTU6OjYxMTcwMjI6OjYxMTcwMjk6OjYxMTcwMzM6OjYxMTcwMzk6OjYxMTcwNDI6OjYxMTcwNDI6OjYxMTcwNDQ6OjYxMTcwNDk6OjYxMTcwNTQ6OjYxMTcwNjE6OjYxMTcwNjI6OjYxMTcwNjI6OjYxMTcwNjM6OjYxMTcwNjU6OjYxMTcwNjU6OjYxMTcwNjY6OjYxMTcwNzI6OjYxMTcwNzg6OjYxMTcwODQ6OjYxMTcwOTE6OjYxMTcwOTg6OjYxMTcxMDM6OjYxMTcxMTA6OjYxMTcxMTc6OjYxMTcxMjQ6OjYxMTcxMjk6OjYxMTcxMjk6OjYxMTcxMzQ6OjYxMTcxMzY6OjYxMTcxMzc6OjYxMTcxMzc6OjYxMTcxMzc6OjYxMTcxMzg6OjYxMTcxNDQ6OjYxMTcxNDU6OjYxMTcxNDU6OjYxMTcxNDU6OjYxMTcxNDU6OjYxMTcxNDU6OjYxMTcxNDU6OjYxMTcxNDg6OjYxMTcxNTA6OjYxMTcxNTQ6OjYxMTcxNjA6OjYxMTcxNjciLz4KKwkJCQkJPHZhbCBvPSI3ZjcxMCIgdj0iNjExNzE3NDo6NjExNzE4MTo6NjExNzE4OTo6NjExNzE5Njo6NjExNzIwMzo6NjExNzIxMDo6NjExNzIxNjo6NjExNzIxOTo6NjExNzIyMDo6NjExNzIyMDo6NjExNzIyMjo6NjExNzIyODo6NjExNzIzNTo6NjExNzIzOTo6NjExNzI0MTo6NjExNzI0NDo6NjExNzI0NDo6NjExNzI0NDo6NjExNzI0NDo6NjExNzI0NDo6NjExNzI0Nzo6NjExNzI0ODo6NjExNzI1Mjo6NjExNzI1OTo6NjExNzI2Njo6NjExNzI3Mzo6NjExNzI4MDo6NjExNzI4Nzo6NjExNzI5Mzo6NjExNzI5Nzo6NjExNzMwMzo6NjExNzMwNDo6NjExNzMwNTo6NjExNzMwOTo6NjExNzMxNjo6NjExNzMyMzo6NjExNzMzMDo6NjExNzMzNjo6NjExNzM0MDo6NjExODA5NTo6NjExODkzNjo6NjExOTI5OTo6NjExOTMwMDo6NjEyMDExNzo6NjEyMDQxOTo6NjEyMDg2Nzo6NjEyMTY5Mjo6NjEyMzMwOCIvPgorCQkJCQk8dmFsIG89ImE5YTEwIiB2PSI2MTIzOTM4Ojo2MTI0MTA2Ojo2MTI0NzY1Ojo2MTI1NjkxOjo2MTI1Nzg0Ojo2MTI1Nzg1Ojo2MTI2MTI5Ojo2MTI2MTI5Ojo2MTI2MTI5Ojo6OjYxMjYxMjk6OjYxMjYxMjk6OjYxMjYxNjQ6OjYxMjYxNzM6OjYxMjYxNzM6OjYxMjYzNTg6OjYxMjY1MzE6OjYxMjY1NzY6OjYxMjY4NDA6OjYxMjc2MTI6OjYxMjg0NTU6OjYxMjg0NTU6OjYxMjg3NTc6OjYxMjk4ODA6OjYxMjk5ODE6OjYxMjk5ODM6OjYxMzAxMzM6OjYxMzA0NzM6OjYxMzA0ODU6OjYxMzA0ODU6OjYxMzA0ODU6OjYxMzA0ODU6OjYxMzA0OTM6OjYxMzA0OTM6OjYxMzA0OTM6OjYxMzA0OTM6OjYxMzA0OTM6OjYxMzA0OTM6OjYxMzA0OTM6OjYxMzA1NjE6OjYxMzA2NDk6OjYxMzA2NDk6OjYxMzA2NDk6OjYxMzA2NDk6OjYxMzA2NDk6OjYxMzA2NDk6OjYxMzA3OTI6OjYxMzIwMTY6OjYxMzMxNzUiLz4KKwkJCQkJPHZhbCBvPSJkNGIyMCIgdj0iNjEzNDMwNjo6NjEzNDcxNzo6NjEzNTA5Mzo6NjEzNTA5Mzo6NjEzNTQwMjo6NjEzNTkyMjo6NjEzNTkyMjo6NjEzNTkyMjo6NjEzNTkyMjo6NjEzNTkyMjo6NjEzNTkyMjo6NjEzNTkyMjo6NjEzNTkyMjo6NjEzNTkyMjo6NjEzNTkyMjo6NjEzNTkyOTo6NjEzNjA0MTo6NjEzNjYxNzo6NjEzNzI1Njo6NjEzNzUxMjo6NjEzNzc5Nzo6NjEzODA4OTo6NjEzODQzMTo6NjEzOTA1Mzo6NjEzOTA1Mzo6NjEzOTA1Mzo6NjEzOTA1Mzo6NjEzOTA1Mzo6NjEzOTE0Nzo6NjEzOTI1MTo6NjEzOTI1MTo6NjEzOTI1MTo6NjEzOTI1MTo6NjEzOTI1MTo6NjEzOTI1MTo6NjEzOTMwMjo6NjEzOTMwMjo6NjEzOTMwMjo6NjEzOTMwMjo6NjEzOTMwMjo6NjEzOTMwMjo6NjEzOTMwMjo6NjEzOTMwMjo6NjEzOTMwMjo6NjEzOTMwMjo6NjEzOTQ1Njo6NjE0MDY1NTo6NjE0MTc4MiIvPgorCQkJCQk8dmFsIG89ImZlZTIwIiB2PSI2MTQyNjA5Ojo2MTQyODI4Ojo2MTQzMDMyOjo2MTQzMDMyOjo2MTQzMDMyOjo2MTQzMDMyOjo2MTQzMDMyOjo2MTQzMDMyOjo2MTQzMDM2Ojo2MTQzMDM2Ojo2MTQzMDM2Ojo2MTQzMDM2Ojo2MTQzMDM2Ojo2MTQzMDM2Ojo2MTQzMDM2Ojo2MTQzMDM2Ojo2MTQzMDM2Ojo2MTQzMDM2Ojo2MTQzMDM2Ojo2MTQzMDM5Ojo2MTQzMDU2Ojo2MTQzMDU2Ojo2MTQzMzgyOjo2MTQzNTQ1Ojo2MTQzNTQ1Ojo2MTQzNTQ1Ojo2MTQzNTQ1Ojo2MTQzNTQ1Ojo2MTQzNTQ1Ojo2MTQzNTQ1Ojo2MTQzNTQ1Ojo2MTQzNTg3Ojo2MTQzNzEzOjo2MTQ0MTM1Ojo2MTQ0NzgzOjo2MTQ0ODE2Ojo2MTQ0ODE2Ojo2MTQ0ODE2OjoxNDQ4MTguMjo6MTQ0ODE4LjI6OjE0NDgxOC4yOjoxNDQ4MTguMjo6MTQ0ODE4LjI6OjE0NDgxOC4yNDM6OjE0NDgxOC40NzQ6OjE0NDgxOC40ODo6MTQ0ODE4Ljc3NTo6MTQ0ODE5Ljk1NSIvPgorCQkJCQk8dmFsIG89IjEyOTEyMCIgdj0iMTQ0ODIxLjI2MTo6MTQ0ODIyLjY0NDo6MTQ0ODI0LjA1Mzo6MTQ0ODI0LjU4NDo6MTQ0ODI0LjU4Nzo6MTQ0ODI0LjU4Nzo6MTQ0ODI0LjU4Nzo6MTQ0ODI0LjYyOjoxNDQ4MjQuNzQ0OjoxNDQ4MjQuNzQ2OjoxNDQ4MjQuNzQ2OjoxNDQ4MjQuNzQ2OjoxNDQ4MjQuNzQ2OjoxNDQ4MjQuNzQ2OjoxNDQ4MjQuNzQ2OjoxNDQ4MjQuNzQ2OjoxNDQ4MjQuNzQ2OjoxNDQ4MjQuNzQ2OjoxNDQ4MjQuNzQ2OjoxNDQ4MjQuNzQ2OjoxNDQ4MjQuNzQ2OjoxNDQ4MjQuNzQ2OjoxNDQ4MjQuNzU1OjoxNDQ4MjQuNzU1OjoxNDQ4MjQuNzU1OjoxNDQ4MjQuNzU1OjoxNDQ4MjQuNzU1OjoxNDQ4MjQuNzU1OjoxNDQ4MjQuNzU1OjoxNDQ4MjQuNzU2OjoxNDQ4MjQuNzU2OjoxNDQ4MjQuNzU2OjoxNDQ4MjQuNzU2OjoxNDQ4MjQuNzU3OjoxNDQ4MjQuNzc6OjE0NDgyNC43ODg6OjE0NDgyNC43OTY6OjE0NDgyNC44MDI6OjE0NDgyNC44MDU6OjE0NDgyNC44MDY6OjE0NDgyNC44MDY6OjE0NDgyNC44MDY6OjE0NDgyNC44MDY6OjE0NDgyNC44MDY6OjE0NDgyNC44MDY6OjE0NDgyNC44MDk6OjE0NDgyNC44MjM6OjE0NDgyNC44MjgiLz4KKwkJCQkJPHZhbCBvPSIxNTM0MjAiIHY9IjE0NDgyNC44Mjg6OjE0NDgyNC44Mjg6OjE0NDgyNC44Mjk6OjE0NDgyNC44Mjk6OjE0NDgyNC44Mjk6OjE0NDgyNC44Mjk6OjE0NDgyNC44Mjk6OjE0NDgyNC44Mjk6OjE0NDgyNC44Mjk6OjE0NDgyNC44Mjk6OjE0NDgyNC44Mjk6OjE0NDgyNC44Mjk6OjE0NDgyNC44Mjk6OjE0NDgyNC44Mjk6OjE0NDgyNC44Mjk6OjE0NDgyNC44MzQ6OjE0NDgyNC44MzQ6OjE0NDgyNC44MzQ6OjE0NDgyNC44MzQ6OjE0NDgyNC44MzU6OjE0NDgyNC44MzU6OjE0NDgyNC44NDo6MTQ0ODI0Ljg0NTo6MTQ0ODI0Ljg0OTo6MTQ0ODI0Ljg2NTo6MTQ0ODI0Ljg3Njo6MTQ0ODI0Ljg4ODo6MTQ0ODI0Ljg4OTo6MTQ0ODI0Ljg4OTo6MTQ0ODI0Ljg4OTo6MTQ0ODI0Ljg4OTo6MTQ0ODI0Ljg4OTo6MTQ0ODI0Ljg4OTo6MTQ0ODI0Ljg4OTo6MTQ0ODI0Ljg5Mjo6MTQ0ODI0Ljg5Njo6MTQ0ODI0Ljg5Nzo6MTQ0ODI0Ljk6OjE0NDgyNC45OjoxNDQ4MjQuOTo6NjE0NDgyNDo6NjE0NDgyNDo6NjE0NDgyNDo6NjE0NDgyNDo6NjE0NTAwMDo6NjE0NjcwMjo6NjE0ODk5NTo6NjE1MTI5OCIvPgorCQkJCQk8dmFsIG89IjE3ZDcyMCIgdj0iNjE1NDAxMTo6NjE1Njg4NTo6NjE1OTgyMTo6NjE2MTc4MTo6NjE2MjQyNDo6NjE2MzU2NTo6NjE2NTI3ODo6NjE2Njg2ODo6NjE2Nzc1NTo6NjE2ODY3MTo6NjE3MTMxMjo6NjE3NDMxNTo6NjE3NzAxNDo6NjE3OTYwOTo6NjE4MTU2ODo6Ojo2MTgyMDc2Ojo2MTgyNTY3Ojo2MTgzODYzOjo2MTg1MTIyOjo2MTg2NjY4Ojo2MTg4OTA2Ojo2MTkwMDM3Ojo2MTkxMDE2Ojo2MTkyNTc3Ojo2MTk0Mjc0Ojo2MTk2MDI5Ojo2MTk2ODEwOjo2MTk2ODU1Ojo2MTk2OTUyOjo2MTk3NjgxOjo2MTk4NTQ4Ojo2MTk4NjU3Ojo6OjYxOTkzOTI6OjYyMDAzNzI6OjYyMDA4OTU6OjYyMDEyMjg6OjYyMDE0MjU6OjYyMDE0MjU6OjYyMDI4NTY6OjYyMDU1ODU6OjYyMDkwNDg6OjYyMTExMTU6OjYyMTI2NDg6OjYyMTU3MjA6OjYyMTkwOTA6OjYyMjE3NzM6OjYyMjQ4NDg6OjYyMjgxODUiLz4KKwkJCQkJPHZhbCBvPSIxYTk2NDAiIHY9IjYyMzE1MzA6OjYyMzM5MDE6OjYyMzU1MTc6OjYyMzcyNjQ6OjYyMzk1NTQ6OjYyNDE5NDM6OjYyNDQwNDk6OjYyNDYwMDM6OjYyNDgyOTE6OjYyNTA4ODAiLz4KKwkJCQkJPHZhbCBvPSIxYzc0NjAiIHY9IjYyNjkzOTM6OjYyNjk0NjA6OjYyNjk1NjE6OjYyNjk1NjE6OjYyNzAxOTM6OjYyNzExOTM6OjYyNzE3NjY6OjYyNzE3NjY6OjYyNzE3NjY6OjYyNzIwMDM6OjYyNzM0MTQ6OjYyNzM4MDI6OjYyNzQxOTA6OjYyNzUwNzA6OjYyNzU3ODg6OjYyNzU4MDU6OjYyNzU4MDU6OjYyNzU4NDQ6OjYyNzY3NDc6OjYyNzcwOTM6OjYyNzcxODQ6OjYyNzcyNjc6OjYyNzc3MTA6OjYyNzgzNDY6OjYyNzkyNjI6OjYyODAwNDE6OjYyODEyNjg6OjYyODI5MDg6OjYyODQ3NDQ6OjYyODY3OTI6OjYyODkwMzY6OjYyOTEzNjI6OjYyOTM1ODY6OjYyOTU4ODQ6OjYyOTgxMzY6OjYzMDAxMTU6OjYzMDIzMTY6OjYzMDI5NTQ6OjYzMDM0Mzk6OjYzMDM3NDk6OjYzMDM5Mzg6OjYzMDQyMTI6OjYzMDQ5MjQ6OjYzMDUzMDk6OjYzMDU2MjY6OjYzMDU4MDQ6OjYzMDYwMDQ6OjYzMDYzMjEiLz4KKwkJCQkJPHZhbCBvPSIxZjE3NjAiIHY9IjYzMDY0MDc6OjYzMDY0MDc6OjYzMDY0MDc6OjYzMDY0MDc6OjYzMDY0MDc6OjYzMDY0MTc6OjYzMDY1NjI6OjYzMDY5MDQ6OjYzMDczOTk6OjYzMDk1MTc6OjYzMTE2NDM6OjYzMTI2MTE6OjYzMTM4NzU6OjYzMTQ4Njg6OjYzMTUyMjg6OjYzMTUzNTI6OjYzMTUzODU6OjYzMTU4MzU6OjYzMTYwMTY6OjYzMTYwMjM6OjYzMTYwMjM6OjYzMTYwMjM6OjYzMTYwMjM6OjYzMTYwMjM6OjYzMTYwMjM6OjYzMTYxMTM6OjYzMTY0NjA6OjYzMTY3NTU6OjYzMTcxNzc6OjYzMTgwMzY6OjYzMTgzODM6OjYzMTkwMzg6OjYzMTkwMzg6OjYzMTk2MzI6OjYzMjA2MjA6OjYzMjIwOTk6OjYzMjMwMjc6OjYzMjM1Mjg6OjYzMjM5NjI6OjYzMjM5Njc6OjYzMjM5Njc6OjYzMjQxNDM6OjYzMjUxNDE6OjYzMjUzMjI6OjYzMjU3MjQ6OjYzMjYwMjA6OjYzMjcxMzI6OjYzMjcxMzIiLz4KKwkJCQkJPHZhbCBvPSIyMWJhNjAiIHY9IjYzMjcxMzI6OjYzMjcxMzI6OjYzMjgxNzQ6OjYzMjg2Njc6OjYzMjg2Njc6OjYzMjg3MDU6OjYzMjk0MDI6OjYzMzAwNTg6OjYzMzAwNTg6OjYzMzA2NTU6OjYzMzE3NzQ6OjYzMzIwMzM6OjYzMzIwMzM6OjYzMzIwMzM6OjYzMzIwMzM6OjYzMzIwMzM6OjYzMzIwNzg6OjYzMzIzMTY6OjYzMzI4NzI6OjYzMzI4OTc6OjYzMzI4OTc6OjYzMzI4OTc6OjYzMzI4OTc6OjYzMzMxNzM6OjYzMzMyMDQ6OjYzMzM4Mjc6OjYzMzQ0MTM6OjYzMzQ0MTM6OjYzMzQ0MTM6OjYzMzQ0MTM6OjYzMzQ0MTM6OjYzMzQ1NTQ6OjYzMzQ1NTQ6OjYzMzQ1NTQ6OjYzMzQ3NjU6OjYzMzQ5Nzc6OjYzMzU0ODE6OjYzMzU3NTk6OjYzMzU3NTk6OjYzMzU3NTk6OjYzMzU3NTk6OjYzMzU4MjQ6OjYzMzU4MjY6OjYzMzU4MjY6OjYzMzU4MjY6OjYzMzU4MjY6OjYzMzU4ODk6OjYzMzY0MDciLz4KKwkJCQkJPHZhbCBvPSIyNDZiNzAiIHY9IjYzMzgwNDc6OjYzMzg3MTk6OjYzMzg3Mjk6OjYzMzg3Mjk6OjYzMzg3Mjk6OjYzMzkwNjU6OjYzNDAzNTQ6OjYzNDE3NjY6OjYzNDI3MjM6OjYzNDM0MzI6OjYzNDM5MjQ6OjYzNDUwMDI6OjYzNDYxMTU6OjYzNDcwMTg6OjYzNDcwNDg6OjYzNDcwNTA6OjYzNDcwOTE6OjYzNDcwOTE6OjYzNDcwOTE6OjYzNDcwOTE6OjYzNDc0MDY6OjYzNTAyMDA6OjYzNTIwNzc6OjYzNTIxNTA6OjYzNTIxNTA6OjYzNTIxNTA6OjYzNTIxNTA6OjYzNTIxNTA6OjYzNTIxNTA6OjYzNTIxNTA6OjYzNTIzMzE6OjYzNTIzMzE6OjYzNTI2Mzg6OjYzNTMxOTM6OjYzNTM2OTU6OjYzNTUwMTk6OjYzNTY5MTU6OjYzNTg5NTI6OjYzNjA0MzA6OjYzNjEzNTI6OjYzNjE0MjA6OjYzNjE0MjA6OjYzNjE0MjA6OjYzNjE0MjA6OjYzNjE0MjA6OjYzNjE0MjA6OjYzNjE0MjA6OjYzNjE0MjAiLz4KKwkJCQkJPHZhbCBvPSIyNzBlNzAiIHY9IjYzNjE0MjA6OjYzNjE0MzQ6OjYzNjE2OTg6OjYzNjIxNzQ6OjYzNjI2NjA6OjYzNjM1MDI6OjYzNjM4NjA6OjYzNjM4NjA6OjYzNjM5MzMiLz4KKwkJCQk8L3Bhcj4KKwkJCQk8cGFyIG1lbWluZD0iMzM4MDEiIGg9IjNkYzFhN2UwIj4KKwkJCQkJPHZhbCBvPSIwIiB2PSI4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyIi8+CisJCQkJCTx2YWwgbz0iMmEzMDAiIHY9Ijg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMiIvPgorCQkJCQk8dmFsIG89IjU1NDEwIiB2PSI4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyIi8+CisJCQkJCTx2YWwgbz0iN2Y3MTAiIHY9Ijg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE4MDEwMjo6ODgxODExNzY6Ojg4MTgxODU5Ojo4ODE4MTg2MTo6ODgxODE4OTQ6Ojg4MTgxODk2Ojo4ODE4MTg5Njo6ODgxODE4OTYiLz4KKwkJCQkJPHZhbCBvPSJhOWExMCIgdj0iODgxODIxNjk6Ojg4MTgyMjAwOjo4ODE4MjIwMDo6ODgxODIyMDA6Ojg4MTgyMjg4Ojo4ODE4MzM2Mzo6ODgxODM4NTc6Ojg4MTg0NjMxOjo4ODE4NjQwNzo6Ojo4ODE5NDAxMDo6ODgxOTgyMzM6Ojg4MjAwMTQ4Ojo4ODIwMDM0ODo6ODgyMDA5NDc6Ojg4MjAyNjIwOjo4ODIwMzAxMTo6ODgyMDM1MDc6Ojg4MjAzNTEyOjo4ODIwMzUxMjo6ODgyMDM1NDM6Ojg4MjA0MzU2Ojo4ODIwNDQwMTo6ODgyMDQ0MDE6Ojg4MjA1ODMwOjo4ODIwNjE4ODo6ODgyMDYyMjI6Ojg4MjA2MjIyOjo4ODIwNjUwMjo6ODgyMDc1MTc6Ojg4MjA5MDA4Ojo4ODIxMDEwMjo6ODgyMTA2NjY6Ojg4MjExNjM1Ojo4ODIxMjcyNDo6ODgyMTM2MDQ6Ojg4MjE0MTA4Ojo4ODIxNDUxMjo6ODgyMTQ5Njk6Ojg4MjE2MjI5Ojo4ODIxNjc1OTo6ODgyMTkyMjE6Ojg4MjIxODE4Ojo4ODIyNDU4OTo6ODgyMjcwMzE6Ojg4MjI4ODcwOjo4ODIyOTU2Mzo6ODgyMjk1NjM6Ojg4MjI5NTgwIi8+CisJCQkJCTx2YWwgbz0iZDRiMjAiIHY9Ijg4MjI5NTgwOjo4ODIyOTU4MDo6ODgyMjk1ODI6Ojg4MjMwMzI1Ojo4ODIzMTg4MTo6ODgyMzE5MTA6Ojg4MjMyNTk1Ojo4ODIzNDU3NDo6ODgyMzcyNDU6Ojg4MjQwMjgzOjo4ODI0MzA1Njo6ODgyNDM2NDM6Ojg4MjQ0MTA1Ojo4ODI0NDM1Mjo6ODgyNDQ1OTM6Ojg4MjQ1MTE1Ojo4ODI0NTc0Njo6ODgyNDU3NDY6Ojg4MjQ1ODkxOjo4ODI0NTkxNTo6ODgyNDU5NTk6Ojg4MjQ1OTg4Ojo4ODI0NTk4OTo6ODgyNDcyNDQ6Ojg4MjQ4NTEwOjo4ODI0OTI5Mzo6ODgyNTAyMDM6Ojg4MjUyMTc4Ojo4ODI1NDUzMTo6ODgyNTQ4NzQ6Ojg4MjU1NzA0Ojo4ODI1Njg5ODo6ODgyNTg0Mzg6Ojg4MjU5NTk1Ojo4ODI2MDM5ODo6ODgyNjA5MTk6Ojg4MjYyODQ1Ojo4ODI2NDMxNDo6ODgyNjYwMDY6Ojg4MjY4Mjk3Ojo4ODI2OTk0Mjo6ODgyNzE1MDI6Ojg4MjcyNjkwOjo4ODI3Mzg0OTo6ODgyNzU1MDM6Ojg4Mjc2MDAzOjo4ODI3NjAwMzo6ODgyNzYwMDMiLz4KKwkJCQkJPHZhbCBvPSJmZWUyMCIgdj0iODgyNzYwMTc6Ojg4Mjc2MDE3Ojo4ODI3NjAxOTo6ODgyNzY4NTE6Ojg4Mjc4NTE1Ojo4ODI4MDExODo6ODgyODE1NjA6Ojg4MjgzMDc0Ojo4ODI4Mzk3MTo6ODgyODU0Mjg6Ojg4Mjg2ODE1Ojo4ODI4NzcyNjo6ODgyODg4MzM6Ojg4Mjg5OTUzOjo4ODI5MTAzNzo6ODgyOTMwOTk6Ojg4Mjk1NDI3Ojo4ODI5NjY3NDo6ODgyOTcxMzM6Ojg4Mjk3ODMyOjo4ODI5ODYxMjo6ODgyOTk0NDc6Ojg4Mjk5NTE3Ojo4ODMwMDU0MTo6ODgzMDEwMjU6Ojg4MzAxMzA0Ojo4ODMwMTUwMzo6ODgzMDI0Njg6Ojg4MzA0NDE3Ojo4ODMwNjEwNjo6ODgzMDc1NzE6Ojg4MzA4MzY4Ojo4ODMwODQ0ODo6ODgzMDg0NDg6Ojg4MzA4NDQ4Ojo4ODMwOTAyMTo6ODgzMDk4OTk6Ojg4MzEwNzE5OjoxMTExODguMDE2OjoxMTExODkuMzo6MTExMTkwLjA4ODo6MTExMTkxLjgyMzo6MTExMTkyLjkxOjoxMTExOTMuMjAyOjoxMTExOTMuNDczOjoxMTExOTMuOTMxOjoxMTExOTMuOTQ4OjoxMTExOTMuOTQ4Ii8+CisJCQkJCTx2YWwgbz0iMTI5MTIwIiB2PSIxMTExOTMuOTQ4OjoxMTExOTMuOTQ4OjoxMTExOTMuOTQ4OjoxMTExOTMuOTQ4OjoxMTExOTQuNTg6OjExMTE5NS41MTk6OjExMTE5Ni43MzU6OjExMTE5OC4zMzg6OjExMTE5OS4zMDI6OjExMTIwMC42MjU6OjExMTIwMS43NzU6OjExMTIwMi40MjI6OjExMTIwMy4wMDg6OjExMTIwMy4wMjo6MTExMjAzLjAzMjo6MTExMjAzLjA2Mjo6MTExMjAzLjA5ODo6MTExMjAzLjEzNTo6MTExMjAzLjE3MTo6MTExMjAzLjIwMzo6MTExMjAzLjIxMjo6MTExMjAzLjIxNjo6MTExMjAzLjIyMTo6MTExMjAzLjI3Njo6MTExMjAzLjI5OTo6MTExMjAzLjMxNjo6MTExMjAzLjMzNTo6MTExMjAzLjM3MTo6MTExMjAzLjQyMjo6MTExMjAzLjQ1Mjo6MTExMjAzLjQ1Nzo6MTExMjAzLjQ2NDo6MTExMjAzLjQ2ODo6MTExMjAzLjQ2ODo6MTExMjAzLjQ2ODo6MTExMjAzLjQ2ODo6MTExMjAzLjQ2ODo6MTExMjAzLjQ2ODo6MTExMjAzLjQ2OTo6MTExMjAzLjU6OjExMTIwMy41MzI6OjExMTIwMy41NzE6OjExMTIwMy42MDY6OjExMTIwMy42MzI6OjExMTIwMy42Mzk6OjExMTIwMy42Mzk6OjExMTIwMy42Mzk6OjExMTIwMy42NjEiLz4KKwkJCQkJPHZhbCBvPSIxNTM0MjAiIHY9IjExMTIwMy42NzE6OjExMTIwMy42NzE6OjExMTIwMy42NzI6OjExMTIwMy42ODQ6OjExMTIwMy43MTU6OjExMTIwMy43Mzk6OjExMTIwMy43NjE6OjExMTIwMy44MDE6OjExMTIwMy44Mzc6OjExMTIwMy44Njc6OjExMTIwMy44OTE6OjExMTIwMy44OTc6OjExMTIwMy45MDQ6OjExMTIwMy45MTU6OjExMTIwMy45MzU6OjExMTIwMy45NTU6OjExMTIwMy45NjI6OjExMTIwMy45Njk6OjExMTIwMy45NzI6OjExMTIwMy45ODg6OjExMTIwMy45OTc6OjExMTIwMy45OTc6OjExMTIwNDo6MTExMjA0LjAwMTo6MTExMjA0LjAwMTo6MTExMjA0LjAwMTo6MTExMjA0LjAwMTo6MTExMjA0LjAwMTo6MTExMjA0LjAxNjo6MTExMjA0LjA1Mjo6MTExMjA0LjA2Mzo6MTExMjA0LjA3OjoxMTEyMDQuMDgxOjoxMTEyMDQuMDkzOjoxMTEyMDQuMDk3OjoxMTEyMDQuMDk3OjoxMTEyMDQuMDk5OjoxMTEyMDQuMTE6OjExMTIwNC4xMjg6OjExMTIwNC4xNjQ6Ojg4MzEyNjI4Ojo4ODMxNDc2Nzo6ODgzMTYyOTA6Ojg4MzE3Mjg0Ojo4ODMxNzY5NDo6ODgzMTc2OTQ6Ojg4MzE3Njk0Ojo4ODMxNzY5NCIvPgorCQkJCQk8dmFsIG89IjE3ZDcyMCIgdj0iODgzMTc2OTQ6Ojg4MzE3Njk0Ojo4ODMxNzY5NDo6ODgzMTc2OTQ6Ojg4MzE3Njk4Ojo4ODMxNzcwMDo6ODgzMTc3MTM6Ojg4MzE3NzEzOjo4ODMxNzcxMzo6ODgzMTc3MTM6Ojg4MzE3Nzc4Ojo4ODMxNzc3ODo6ODgzMTc3Nzg6Ojg4MzE3Nzc4Ojo4ODMxNzc3ODo6Ojo4ODMyMDUxMTo6ODgzMjA5MTc6Ojg4MzIwOTE3Ojo4ODMyMDkxNzo6ODgzMjA5MTc6Ojg4MzIwOTE3Ojo4ODMyMDkxNzo6ODgzMjA5MTc6Ojg4MzIwOTE3Ojo4ODMyMDkxNzo6ODgzMjA5MTc6Ojg4MzIwOTE3Ojo4ODMyMTQyMDo6ODgzMjMwNDI6Ojg4MzIzMDQyOjo4ODMyMzA1Mzo6ODgzMjMxMDU6Ojo6ODgzMjMxMzc6Ojg4MzIzMTM3Ojo4ODMyMzEzNzo6ODgzMjMxMzc6Ojg4MzIzMTQ4Ojo4ODMyMzc3NTo6ODgzMjM3ODU6Ojg4MzIzNzg1Ojo4ODMyMzc4NTo6ODgzMjM3ODU6Ojg4MzIzNzg1Ojo4ODMyMzc4NTo6ODgzMjM3ODU6Ojg4MzIzNzg1Ojo4ODMyMzc4NTo6ODgzMjM3ODUiLz4KKwkJCQkJPHZhbCBvPSIxYTk2NDAiIHY9Ijg4MzIzNzg1Ojo4ODMyMzc4NTo6ODgzMjM3ODU6Ojg4MzIzNzg1Ojo4ODMyMzc5MDo6ODgzMjM3OTA6Ojg4MzIzNzkwOjo4ODMyMzc5MDo6ODgzMjM3OTA6Ojg4MzIzNzkwIi8+CisJCQkJCTx2YWwgbz0iMWM3NDYwIiB2PSI4ODM0MjEzMDo6ODgzNDIyMDk6Ojg4MzQyNTI5Ojo4ODM0NDQ1ODo6ODgzNDQ0ODU6Ojg4MzQ0NDg1Ojo4ODM0NTkwNTo6ODgzNDgzNzk6Ojg4MzUwNDk0Ojo4ODM1MDgxMzo6ODgzNTA4MTM6Ojg4MzUxMDU2Ojo4ODM1MTA1Njo6ODgzNTEwNTY6Ojg4MzUxMDU2Ojo4ODM1MTI4Nzo6ODgzNTI0Mjg6Ojg4MzUzNTk4Ojo4ODM1MzU5ODo6ODgzNTM2MDE6Ojg4MzUzODU5Ojo4ODM1Mzg2Mjo6ODgzNTM4NjI6Ojg4MzUzODYzOjo4ODM1Mzg2Mzo6ODgzNTM4NjM6Ojg4MzUzODYzOjo4ODM1Mzg2Mzo6ODgzNTM4NjM6Ojg4MzUzODYzOjo4ODM1Mzg2Mzo6ODgzNTM4NjM6Ojg4MzUzODYzOjo4ODM1Mzg2Mzo6ODgzNTM4NjM6Ojg4MzUzODYzOjo4ODM1Mzg2Mzo6ODgzNTM5NjU6Ojg4MzUzOTY1Ojo4ODM1Mzk2NTo6ODgzNTQwMTg6Ojg4MzU0MDE4Ojo4ODM1NDAxODo6ODgzNTQwMTg6Ojg4MzU0MDE4Ojo4ODM1NDAyMTo6ODgzNTQwMjE6Ojg4MzU0MDIxIi8+CisJCQkJCTx2YWwgbz0iMWYxNzYwIiB2PSI4ODM1NDE2Njo6ODgzNTQ1NTI6Ojg4MzU1MTMwOjo4ODM1NzE1NDo6ODgzNTkyMjY6Ojg4MzU5ODI4Ojo4ODM1OTgyODo6ODgzNjAwNjg6Ojg4MzYwMTI2Ojo4ODM2MDEyNjo6ODgzNjAxMjY6Ojg4MzYwMTk0Ojo4ODM2MDIwNTo6ODgzNjAyMDU6Ojg4MzYwMjA1Ojo4ODM2MDIyMzo6ODgzNjA0MDY6Ojg4MzYxMzg1Ojo4ODM2MjI5Nzo6ODgzNjM1MTE6Ojg4MzY1NzU3Ojo4ODM2NzgyMTo6ODgzNjkyNzM6Ojg4MzY5OTI5Ojo4ODM3MTUzODo6ODgzNzMzMjI6Ojg4MzczODk5Ojo4ODM3NDYyOTo6ODgzNzQ2MzE6Ojg4Mzc0NjU1Ojo4ODM3NDY1Nzo6ODgzNzQ4MjI6Ojg4Mzc1NDY2Ojo4ODM3NTQ3MTo6ODgzNzU0NzE6Ojg4Mzc1NDcxOjo4ODM3NTU5OTo6ODgzNzU1OTk6Ojg4Mzc1NTk5Ojo4ODM3NjEwMjo6ODgzNzc0MzI6Ojg4Mzc4MzA2Ojo4ODM3ODMxOTo6ODgzNzg0Njc6Ojg4Mzc4OTE3Ojo4ODM3ODkxNzo6ODgzNzg5MTg6Ojg4Mzc5NDgyIi8+CisJCQkJCTx2YWwgbz0iMjFiYTYwIiB2PSI4ODM4MDc3Nzo6ODgzODIyNzU6Ojg4MzgyNjYxOjo4ODM4Mjc3Nzo6ODgzODMyNTA6Ojg4MzgzNTkyOjo4ODM4MzU5Mjo6ODgzODM3MTE6Ojg4Mzg1MjAzOjo4ODM4NTI1Nzo6ODgzODUyNTc6Ojg4Mzg4NDU5Ojo4ODM5MDM5NDo6ODgzOTA4NTA6Ojg4MzkxNTYxOjo4ODM5MzgzNDo6ODgzOTc1Nzk6Ojg4Mzk3ODE5Ojo4ODM5NzgxOTo6ODgzOTkyMTg6Ojg4NDAxNzkyOjo4ODQwNTM4Njo6ODg0MDgxMDA6Ojg4NDA4MTIyOjo4ODQwODM2NTo6ODg0MDg1MDU6Ojg4NDA4NTA1Ojo4ODQxMDI0Njo6ODg0MTE2NjA6Ojg4NDEyODQ5Ojo4ODQxMzMzMzo6ODg0MTQ1MjE6Ojg4NDE2Njk2Ojo4ODQxNzU4Mzo6ODg0MTc2ODM6Ojg4NDE3ODU0Ojo4ODQxNzg1NDo6ODg0MTc4ODM6Ojg4NDE4MDI3Ojo4ODQxOTE1OTo6ODg0MjAxMDg6Ojg4NDIxMDcxOjo4ODQyMTgyODo6ODg0MjM1NTk6Ojg4NDI2ODk0Ojo4ODQyOTk3NTo6ODg0MzI4Mjg6Ojg4NDMyODI4Ii8+CisJCQkJCTx2YWwgbz0iMjQ2YjcwIiB2PSI4ODQzMjgyODo6ODg0MzI4Mjg6Ojg4NDM0OTUxOjo4ODQzOTU0ODo6ODg0NDA5MTY6Ojg4NDQxMDMwOjo4ODQ0MTAzMDo6ODg0NDEwMzA6Ojg4NDQxMDMwOjo4ODQ0MTAzMDo6ODg0NDExMTY6Ojg4NDQxMTE2Ojo4ODQ0MTExNjo6ODg0NDExMTY6Ojg4NDQxMjE4Ojo4ODQ0MTczOTo6ODg0NDIzNjM6Ojg4NDQzNTQyOjo4ODQ0NTM0NDo6ODg0NDg2MjQ6Ojg4NDUxNDY0Ojo4ODQ1MTQ2NDo6ODg0NTE0NzM6Ojg4NDUxNjUyOjo4ODQ1MTg0MDo6ODg0NTIzMjM6Ojg4NDUzMzMyOjo4ODQ1NTg4OTo6ODg0NTg1MDc6Ojg4NDYwNTk1Ojo4ODQ2MDc3Mjo6ODg0NjIwNjU6Ojg4NDYyMjY0Ojo4ODQ2MjYwODo6ODg0NjI2MjI6Ojg4NDYyNjIyOjo4ODQ2MjYyMjo6ODg0NjI2MjI6Ojg4NDYyNjIyOjo4ODQ2MjYyMjo6ODg0NjI4MjY6Ojg4NDYzNTM4Ojo4ODQ2NDY2Nzo6ODg0NjYzMTA6Ojg4NDY4MzA5Ojo4ODQ3MTM5Mzo6ODg0NzQzMDg6Ojg4NDc3Mjc0Ii8+CisJCQkJCTx2YWwgbz0iMjcwZTcwIiB2PSI4ODQ4MDM3ODo6ODg0ODExNTc6Ojg4NDgxNzY2Ojo4ODQ4MTc2Njo6ODg0ODE3NjY6Ojg4NDgxNzY2Ojo4ODQ4MzM0MDo6ODg0ODU2MjY6Ojg4NDg2MTE4Ii8+CisJCQkJPC9wYXI+CisJCQkJPHBhciBtZW1pbmQ9IjMzNDAxIiBoPSIzZGMxYTdlMCI+CisJCQkJCTx2YWwgbz0iMCIgdj0iOTQzNzc5NTo6OTQ0MTk3Mjo6OTQ0NjE0NDo6OTQ1MDIxNzo6OTQ1NDI2MTo6OTQ1ODE4NDo6OTQ2MjM0Njo6OTQ2NzQzNDo6OTQ3MzE4Njo6OTQ4MDEyNjo6OTQ4NzQwNDo6OTQ5NDc3OTo6OTUwMTkxNjo6OTUwODYxNTo6OTUxMDYyMTo6OTUxMDYyODo6OTUxMDYzNTo6OTUxMDY0Mjo6OTUxMDY0OTo6OTUxMDY1Njo6OTUxMDY2Mzo6OTUxMDY3MTo6OTUxMDY3ODo6OTUxMDY4Nzo6OTUxMDY5NTo6OTUxMDcwMzo6OTUxMDcxMjo6OTUxMDcyMDo6OTUxMDcyODo6OTUxMDczNjo6OTUxMDc0Mzo6OTUxMDc1MTo6OTUxMDc2MDo6OTUxMDc2ODo6OTUxMDc3Njo6OTUxMDc4NDo6OTUxMDc5Mjo6OTUxMDgwMDo6OTUxMDgwOTo6OTUxMDgxNzo6OTUxMDgyNjo6OTUxMDgzMzo6OTUxMDg0MDo6OTUxMDg0Nzo6OTUxMDg1NTo6OTUxMDg2Mzo6OTUxMDg3MTo6OTUxMDg3OSIvPgorCQkJCQk8dmFsIG89IjJhMzAwIiB2PSI5NTEwODg4Ojo5NTEwODk2Ojo5NTEwOTA0Ojo5NTEwOTEyOjo5NTEwOTIwOjo5NTEwOTI4Ojo5NTEwOTM1Ojo5NTEwOTQ0Ojo5NTEwOTUyOjo5NTEwOTYwOjo5NTEwOTY4Ojo5NTEwOTc2Ojo5NTEwOTg0Ojo5NTEwOTkzOjo5NTExMDAxOjo5NTExMDA5Ojo5NTExMDE2Ojo5NTExMDIzOjo5NTExMDMwOjo5NTExMDM4Ojo5NTExMDQ1Ojo5NTExMDUzOjo5NTExMDYxOjo5NTExMDY5Ojo5NTExMDc4Ojo5NTExMDg2Ojo5NTExMDk1Ojo5NTExMTAzOjo5NTExMTEyOjo5NTExMTIxOjo5NTExMTI5Ojo5NTExMTM3Ojo5NTExMTQ0Ojo6Ojk1MTExNTg6Ojk1MTExNjU6Ojk1MTExNzE6Ojk1MTExNzg6Ojk1MTExODQ6Ojk1MTExOTA6Ojk1MTExOTc6Ojk1MTEyMDM6Ojk1MTEyMDk6Ojk1MTEyMTY6Ojk1MTEyMjM6Ojk1MTEyMzE6Ojk1MTEyMzk6Ojk1MTEyNDc6Ojk1MTEyNTUiLz4KKwkJCQkJPHZhbCBvPSI1NTQxMCIgdj0iOTUxMTI2NDo6OTUxMTI3Mjo6OTUxMTI4MDo6OTUxMTI4OTo6OTUxMTI5Nzo6OTUxMTMwNTo6OTUxMTMxMzo6OTUxMTMyMDo6OTUxMTMyNzo6OTUxMTMzMzo6OTUxMTM0MDo6OTUxMTM0Nzo6OTUxMTM1NDo6OTUxMTM2MTo6OTUxMTM2ODo6OTUxMTM3NTo6OTUxMTM4Mjo6OTUxMTM4OTo6OTUxMTM5Nzo6OTUxMTQwNDo6OTUxMTQxMjo6OTUxMTQxOTo6OTUxMTQyNzo6OTUxMTQzNTo6OTUxMTQ0Mzo6OTUxMTQ1MTo6OTUxMTQ2MDo6OTUxMTQ2ODo6OTUxMTQ3Njo6OTUxMTQ4NDo6OTUxMTQ5Mjo6OTUxMTUwMDo6OTUxMTUwNjo6OTUxMTUxMzo6OTUxMTUxOTo6OTUxMTUyNjo6OTUxMTUzMzo6OTUxMTUzOTo6OTUxMTU0Njo6OTUxMTU1Mzo6OTUxMTU1OTo6OTUxMTU2NTo6OTUxMTU3Mjo6OTUxMTU4MDo6OTUxMTU4Nzo6OTUxMTU5NTo6OTUxMTYwMzo6OTUxMTYxMSIvPgorCQkJCQk8dmFsIG89IjdmNzEwIiB2PSI5NTExNjE5Ojo5NTExNjI4Ojo5NTExNjM3Ojo5NTExNjQ2Ojo5NTExNjU0Ojo5NTExNjYyOjo5NTExNjcwOjo5NTExNjc3Ojo5NTExNjg0Ojo5NTExNjkxOjo5NTExNjk4Ojo5NTExNzA1Ojo5NTExNzEzOjo5NTExNzIwOjo5NTExNzI3Ojo5NTExNzM0Ojo5NTExNzQwOjo5NTExNzQ3Ojo5NTExNzU0Ojo5NTExNzYxOjo5NTExNzY5Ojo5NTExNzc3Ojo5NTExNzg1Ojo5NTExNzk0Ojo5NTExODAzOjo5NTExODExOjo5NTExODIwOjo5NTExODI4Ojo5NTExODM2Ojo5NTExODQ0Ojo5NTExODUyOjo5NTExODU5Ojo5NTExODY2Ojo5NTExODczOjo5NTExODgwOjo5NTExODg4Ojo5NTExODk1Ojo5NTExOTAyOjo5NTExOTA5Ojo5NTE0MzkwOjo5NTE5NzA5Ojo5NTIyMDg5Ojo5NTIyMjM0Ojo5NTIyMjM0Ojo5NTIyMjM0Ojo5NTIyMjM1Ojo5NTIyMjM1Ojo5NTIyMjM1Ii8+CisJCQkJCTx2YWwgbz0iYTlhMTAiIHY9Ijk1MjIyMzc6Ojk1MjIyNDA6Ojk1MjIyNDU6Ojk1MjIyNDU6Ojk1MjIyNDU6Ojk1MjIyNDU6Ojk1MjIzMDU6Ojk1MjI0MTc6Ojk1MjI0NzI6Ojo6OTUyMjU2NDo6OTUyMjY5ODo6OTUyMjk1Nzo6OTUyMzYzMDo6OTUyNDQ1MTo6OTUyNTI5Njo6OTUyNjgzMDo6OTUyODU3OTo6OTUzMDI3OTo6OTUzMjE4Mjo6OTUzMzc5OTo6OTUzNDU1Mjo6OTUzNTQwNDo6OTUzNjMxNzo6OTUzNjM2NDo6OTUzNjM2NDo6OTUzNjM2NDo6OTUzNjM2NDo6OTUzNjM2NDo6OTUzNjM2NDo6OTUzNjM2NTo6OTUzNjM2NTo6OTUzNjM2Njo6OTUzNjM3ODo6OTUzNjQwNTo6OTUzNjQ0NTo6OTUzNjQ1Mjo6OTUzNjQ1NDo6OTUzNjQ2MDo6OTUzNjUwMTo6OTUzNjg1NTo6OTUzNzA4Nzo6OTUzNzMxODo6OTUzNzQ3NDo6OTUzNzUyNTo6OTUzNzU0ODo6OTUzNzU4MTo6OTUzNzY3Nzo6OTUzNzY3OCIvPgorCQkJCQk8dmFsIG89ImQ0YjIwIiB2PSI5NTM3Njc4Ojo5NTM3Njc4Ojo5NTM3Njc4Ojo5NTM3Njc4Ojo5NTM3NzM2Ojo5NTM4MTQzOjo5NTM4ODkzOjo5NTQwNTQ2Ojo5NTQyODc1Ojo5NTQ1MzI0Ojo5NTQ3ODY5Ojo5NTUwNzg4Ojo5NTUzNTgyOjo5NTU2NDUzOjo5NTU5MjM3Ojo5NTYyMDI1Ojo5NTY1OTUxOjo5NTY5OTQ3Ojo5NTczNjkyOjo5NTc3MDQwOjo5NTgwMDMyOjo5NTgyNDYyOjo5NTg0MzQ3Ojo5NTg1NTYyOjo5NTg2MjI2Ojo5NTg2OTI4Ojo5NTg3NTc5Ojo5NTg4MDc3Ojo5NTg4OTc0Ojo5NTkxMTkyOjo5NTkzNzczOjo5NTk3NTYwOjo5NjAxODA4Ojo5NjA2MTYwOjo5NjEwNzU2Ojo5NjE1MjI2Ojo5NjE5Njk0Ojo5NjI0NDA5Ojo5NjI5MTI0Ojo5NjMzNDkzOjo5NjM3ODQ5Ojo5NjQxOTIyOjo5NjQ1Nzc2Ojo5NjQ5MzE2Ojo5NjUyMzc4Ojo5NjU1NTAyOjo5NjU4NDc5Ojo5NjYxMDIxIi8+CisJCQkJCTx2YWwgbz0iZmVlMjAiIHY9Ijk2NjMyMzc6Ojk2NjUyMjg6Ojk2NjcxODc6Ojk2Njg5MjU6Ojk2NzA3NzY6Ojk2NzMyOTc6Ojk2NzY1MDI6Ojk2ODA2NzM6Ojk2ODMxOTE6Ojk2ODc2OTA6Ojk2OTIyNzk6Ojk2OTY0ODE6Ojk3MDA2Nzk6Ojk3MDQ4NTU6Ojk3MDkxNjE6Ojk3MTM1NDI6Ojk3MTc4Njc6Ojk3MjIxNjc6Ojk3MjY0NTE6Ojk3MzAzNjM6Ojk3MzM4NTk6Ojk3MzY3NTQ6Ojk3Mzk0NzU6Ojk3NDE0NDA6Ojk3NDMyNjA6Ojk3NDUwNjQ6Ojk3NDY4ODM6Ojk3NDg1MTc6Ojk3NTAyMTA6Ojk3NTI2MTk6Ojk3NTU3MzA6Ojk3NTk5NDk6Ojk3NjQ2ODY6Ojk3NjkzNzQ6Ojk3NzQ0NjU6Ojk3Nzg3NDE6Ojk3ODMwMjM6Ojk3ODcxMzU6Ojg5Nzc1LjEyMzo6ODk3NzkuMDQ6Ojg5NzgzLjAzNjo6ODk3ODYuNjMzOjo4OTc5MC4wOTE6Ojg5NzkzLjM2OTo6ODk3OTYuMzI0Ojo4OTc5OC41ODU6Ojg5ODAwLjYzNTo6ODk4MDIuNjIxIi8+CisJCQkJCTx2YWwgbz0iMTI5MTIwIiB2PSI4OTgwNC4zODE6Ojg5ODA2LjA2Mzo6ODk4MDcuNzUyOjo4OTgwOS4yODQ6Ojg5ODEwLjg2Ojo4OTgxMy4wMTI6Ojg5ODE1LjYwNzo6ODk4MTguNzk6Ojg5ODIyLjE1NDo6ODk4MjQuNzE0Ojo4OTgyNy40MjU6Ojg5ODMwLjUwODo6ODk4MzIuNjczOjo4OTgzMi43MTo6ODk4MzIuNzI4Ojo4OTgzMi43NDU6Ojg5ODMyLjc2Nzo6ODk4MzIuNzg1Ojo4OTgzMi43OTg6Ojg5ODMyLjgwOTo6ODk4MzIuODE3Ojo4OTgzMi44Mjo6ODk4MzIuODI1Ojo4OTgzMi44MjU6Ojg5ODMyLjgyNTo6ODk4MzIuODI1Ojo4OTgzMi44MjU6Ojg5ODMyLjgyNTo6ODk4MzIuODI1Ojo4OTgzMi44MjU6Ojg5ODMyLjgyNTo6ODk4MzIuODI2Ojo4OTgzMi44MzE6Ojg5ODMyLjgzNDo6ODk4MzIuODM4Ojo4OTgzMi44NDo6ODk4MzIuODQ6Ojg5ODMyLjg0Ojo4OTgzMi44NDo6ODk4MzIuODQzOjo4OTgzMi44NDg6Ojg5ODMyLjg1MTo6ODk4MzIuODU0Ojo4OTgzMi44NTg6Ojg5ODMyLjg2MTo6ODk4MzIuODY0Ojo4OTgzMi44NjQ6Ojg5ODMyLjg2NCIvPgorCQkJCQk8dmFsIG89IjE1MzQyMCIgdj0iODk4MzIuODY0Ojo4OTgzMi44NjQ6Ojg5ODMyLjg2NDo6ODk4MzIuODY0Ojo4OTgzMi44NjQ6Ojg5ODMyLjg2NDo6ODk4MzIuODY0Ojo4OTgzMi44NjQ6Ojg5ODMyLjg2NDo6ODk4MzIuODY0Ojo4OTgzMi44NjQ6Ojg5ODMyLjg2NDo6ODk4MzIuODY0Ojo4OTgzMi44NjQ6Ojg5ODMyLjg2NDo6ODk4MzIuODY4Ojo4OTgzMi44Nzc6Ojg5ODMyLjg4Nzo6ODk4MzIuODk5Ojo4OTgzMi45MDM6Ojg5ODMyLjkwNDo6ODk4MzIuOTA0Ojo4OTgzMi45MDQ6Ojg5ODMyLjkwNDo6ODk4MzIuOTA0Ojo4OTgzMi45MDQ6Ojg5ODMyLjkwNDo6ODk4MzIuOTA0Ojo4OTgzMi45MDQ6Ojg5ODMyLjkwNDo6ODk4MzIuOTE2Ojo4OTgzMi45Nzo6ODk4MzMuMDk6Ojg5ODMzLjIwNDo6ODk4MzMuMzA5Ojo4OTgzMy4zOTc6Ojg5ODMzLjQ5Mjo6ODk4MzMuNTk6Ojg5ODMzLjY4Mzo6ODk4MzMuNzg4Ojo5Nzk0NDgyOjo5ODAxMjAxOjo5ODA4MjE3Ojo5ODE1MzcyOjo5ODIxOTMwOjo5ODI4MDIyOjo5ODMzODYxOjo5ODM5NDkzIi8+CisJCQkJCTx2YWwgbz0iMTdkNzIwIiB2PSI5ODQ0OTk2Ojo5ODUwNDQxOjo5ODU1NjgxOjo5ODYwNzk1Ojo5ODY2MzExOjo5ODcyODczOjo5ODgwMDI3Ojo5ODkxMTkzOjo5OTA0Mzk4Ojo5OTE3NDU0Ojo5OTI5OTc0Ojo5OTQxNzk2Ojo5OTUzNjk4Ojo5OTY1Njk4Ojo5OTc3Nzk0Ojo6Ojk5OTM4MzQ6OjEwMDAxNzAxOjoxMDAwOTYyMTo6MTAwMTY4MDM6OjEwMDIzMTI0OjoxMDAyOTEyMzo6MTAwMzQxNTE6OjEwMDM4NTEzOjoxMDA0Mjc4OTo6MTAwNDY5OTY6OjEwMDUxMTc4OjoxMDA1NTQ0Mzo6MTAwNjAzMzY6OjEwMDY1NjY1OjoxMDA3MTc4MDo6MTAwNzgyOTk6OjEwMDg0NDQ2Ojo6OjEwMDk3MTIzOjoxMDEwMzI5Mzo6MTAxMDk2NDE6OjEwMTE2MDIzOjoxMDEyMjU2Mjo6MTAxMjY3ODU6OjEwMTI5NDE0OjoxMDEzMjI4ODo6MTAxMzU2NDU6OjEwMTM4NDg5OjoxMDE0MDQxNjo6MTAxNDIyMzg6OjEwMTQzMzY4OjoxMDE0NDQ4Nzo6MTAxNDU0OTQ6OjEwMTQ2NTMyIi8+CisJCQkJCTx2YWwgbz0iMWE5NjQwIiB2PSIxMDE0NzM0MTo6MTAxNDc3OTM6OjEwMTQ4NDg2OjoxMDE1MDAzOTo6MTAxNTIwNTE6OjEwMTU0NjQzOjoxMDE1NzQwNjo6MTAxNjAxNzA6OjEwMTYyOTU1OjoxMDE2NTA1OCIvPgorCQkJCQk8dmFsIG89IjFjNzQ2MCIgdj0iMTAyMDg3ODQ6OjEwMjA4Nzg0OjoxMDIwODc4NDo6MTAyMDg3ODQ6OjEwMjA4Nzg0OjoxMDIwODc4NDo6MTAyMDg3ODQ6OjEwMjA4Nzg0OjoxMDIwODc4NDo6MTAyMDg3ODQ6OjEwMjA4Nzg0OjoxMDIwODc4NDo6MTAyMDg3ODQ6OjEwMjA4Nzg0OjoxMDIwODc4NDo6MTAyMDg3ODQ6OjEwMjA4Nzg0OjoxMDIwODc4NDo6MTAyMDg3ODQ6OjEwMjA4Nzg0OjoxMDIxMDg4Mjo6MTAyMTQ0NDQ6OjEwMjE4MDkzOjoxMDIyMTYyMzo6MTAyMjUyMjM6OjEwMjI4ODU4OjoxMDIzMzY0MTo6MTAyMzk5MDY6OjEwMjQ2NTk4OjoxMDI1MzQyMDo6MTAyNjAyOTU6OjEwMjY3MDEwOjoxMDI3MzMwNTo6MTAyNzkyNDU6OjEwMjg0NjgyOjoxMDI4OTU5NDo6MTAyOTQ0NjE6OjEwMjk3MTUwOjoxMDI5OTA2MDo6MTAzMDA4Nzk6OjEwMzAyNzgxOjoxMDMwNTA0MTo6MTAzMDc2MDA6OjEwMzEwMjU2OjoxMDMxMzAxNzo6MTAzMTU3MzI6OjEwMzE4MzU3OjoxMDMyMDk1MiIvPgorCQkJCQk8dmFsIG89IjFmMTc2MCIgdj0iMTAzMjM0NTM6OjEwMzI1ODgxOjoxMDMyODMwMTo6MTAzMzA5MDY6OjEwMzMzOTkxOjoxMDMzNzM3ODo6MTAzNDA5MTM6OjEwMzQ0MjcwOjoxMDM0NzQ3NDo6MTAzNTA4MzE6OjEwMzUzODgwOjoxMDM1NjQ0Mzo6MTAzNTg4OTA6OjEwMzYxMjU3OjoxMDM2MzQyNzo6MTAzNjU1NDI6OjEwMzY3ODUwOjoxMDM3MDYwMjo6MTAzNzM3MDA6OjEwMzc3NTQ4OjoxMDM4MjMzNTo6MTAzODc5NTk6OjEwMzkzNjc5OjoxMDM5OTAyODo6MTA0MDQ0Njk6OjEwNDEwMzI4OjoxMDQxNjU1NDo6MTA0MjI5NjQ6OjEwNDI5NDY0OjoxMDQzNTUxMDo6MTA0NDA4ODc6OjEwNDQ2MDcwOjoxMDQ1MDU0NDo6MTA0NTQ4MzM6OjEwNDU4NzMyOjoxMDQ2MjQxOTo6MTA0NjU3MTQ6OjEwNDY4ODQyOjoxMDQ3MTg4Mjo6MTA0NzQ3NzI6OjEwNDc3OTAxOjoxMDQ4MTg5Nzo6MTA0ODY5OTc6OjEwNDkyOTczOjoxMDQ5OTIwNzo6MTA1MDUzMjQ6OjEwNTExNTU1OjoxMDUxNzYwMiIvPgorCQkJCQk8dmFsIG89IjIxYmE2MCIgdj0iMTA1MjM1NDQ6OjEwNTI5MzYyOjoxMDUzNTc2MDo6MTA1NDE4OTQ6OjEwNTQ3NzYyOjoxMDU1MzQwNzo6MTA1NTg4OTA6OjEwNTY0MTE4OjoxMDU2ODQyNjo6MTA1NzIyOTQ6OjEwNTc1NzcxOjoxMDU3Nzc2Nzo6MTA1Nzk2NDc6OjEwNTgxNzIwOjoxMDU4MzcxNjo6MTA1ODU0NDQ6OjEwNTg3MzU0OjoxMDU5MDk2ODo6MTA1OTUxMjY6OjEwNTk5NzMxOjoxMDYwNDQ2MDo6MTA2MDkwMDA6OjEwNjEzNzUzOjoxMDYxODUxNjo6MTA2MjMyNDE6OjEwNjI4NDI4OjoxMDYzMzk5OTo6MTA2Mzk1Mzk6OjEwNjQ1MTI1OjoxMDY1MDQwNTo6MTA2NTU2NDM6OjEwNjYwNDcxOjoxMDY2NDczODo6MTA2Njg4NjI6OjEwNjcyNjc1OjoxMDY3NTk0Nzo6MTA2NzkxOTU6OjEwNjgyMzIyOjoxMDY4NTM0MDo6MTA2ODgyMDQ6OjEwNjkxNDYwOjoxMDY5NTQ0Mzo6MTA3MDAwMzc6OjEwNzA1NzAyOjoxMDcxMTg3Mzo6MTA3MTgzMDk6OjEwNzI0OTA3OjoxMDczMTM2NCIvPgorCQkJCQk8dmFsIG89IjI0NmI3MCIgdj0iMTA3NDQyOTg6OjEwNzUwNTczOjoxMDc1NjMzNjo6MTA3NjE1OTQ6OjEwNzY3MTg0OjoxMDc3MjkwMTo6MTA3Nzg2Nzk6OjEwNzg0MTkzOjoxMDc4OTE3Mzo6MTA3OTMzOTE6OjEwNzk2ODk1OjoxMDgwMDUzODo6MTA4MDQxNTE6OjEwODA3NzMyOjoxMDgxMTIxNDo6MTA4MTQ5NTI6OjEwODE5MjM2OjoxMDgyMzc3Mjo6MTA4MjkyMTI6OjEwODM0OTIwOjoxMDg0MTQxODo6MTA4NTA3MDE6OjEwODU4Mjg5OjoxMDg2NDMxNTo6MTA4NzA1ODY6OjEwODc2NTI2OjoxMDg4MjQ5Njo6MTA4ODgyOTE6OjEwODkzNzEzOjoxMDg5OTA5MDo6MTA5MDQ0NDQ6OjEwOTA5MTE5OjoxMDkxMzcwMDo6MTA5MTc2OTk6OjEwOTIxMzEwOjoxMDkyNDgyNjo6MTA5Mjg0Nzg6OjEwOTMyMTIxOjoxMDkzNTcxNTo6MTA5Mzk0MTI6OjEwOTQzMjY1OjoxMDk0NzE1NDo6MTA5NTEyOTk6OjEwOTU1NjQ3OjoxMDk1OTgwMjo6MTA5NjM3NTU6OjEwOTY3NTI2OjoxMDk3MTIwMSIvPgorCQkJCQk8dmFsIG89IjI3MGU3MCIgdj0iMTA5NzQ4MDE6OjEwOTc5MDg2OjoxMDk4MzkyMjo6MTA5ODkwNTM6OjEwOTk0MDgzOjoxMDk5OTA2OTo6MTEwMDM1Mjk6OjExMDA3Mzc5OjoxMTAxMDczOCIvPgorCQkJCTwvcGFyPgorCQkJCTxwYXIgbWVtaW5kPSIzMzAwMSIgaD0iM2RjMWE3ZTAiPgorCQkJCQk8dmFsIG89IjAiIHY9IjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzYiLz4KKwkJCQkJPHZhbCBvPSIyYTMwMCIgdj0iMzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2Ii8+CisJCQkJCTx2YWwgbz0iNTU0MTAiIHY9IjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzYiLz4KKwkJCQkJPHZhbCBvPSI3ZjcxMCIgdj0iMzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU4Nzo6Mzg2MTMwOTc6OjM4NjEzNTg1OjozODYxNDQ5MDo6Mzg2MTQ5MDY6OjM4NjE1MzgwOjozODYxNjA1MyIvPgorCQkJCQk8dmFsIG89ImE5YTEwIiB2PSIzODYxNzEyMzo6Mzg2MTcyNTg6OjM4NjE3Mjk2OjozODYxNzQxNDo6Mzg2MTc5MjY6OjM4NjE4NzQxOjozODYxODk0Mjo6Mzg2MTkwMjE6OjM4NjE5MDY2Ojo6OjM4NjE5MTQ3OjozODYxOTIxOTo6Mzg2MTkyODE6OjM4NjE5MjgxOjozODYxOTI4MTo6Mzg2MTkyODE6OjM4NjE5MjgxOjozODYxOTI4MTo6Mzg2MTkyODE6OjM4NjE5MjgxOjozODYxOTI4MTo6Mzg2MTkyODE6OjM4NjE5MjgxOjozODYxOTI4MTo6Mzg2MTk3ODY6OjM4NjIwMjU3OjozODYyMDcwMjo6Mzg2MjEwNTg6OjM4NjIxNTg3OjozODYyMjA3ODo6Mzg2MjI0OTQ6OjM4NjIzMjg0OjozODYyMzUzNjo6Mzg2MjM2NTU6OjM4NjIzNzc2OjozODYyMzgzMTo6Mzg2MjQwMzU6OjM4NjI0MjMyOjozODYyNDM2OTo6Mzg2MjQ3MzU6OjM4NjI0NzM1OjozODYyNDczNTo6Mzg2MjQ3MzU6OjM4NjI0NzM3OjozODYyNDc1NTo6Mzg2MjQ3OTE6OjM4NjI0ODYzOjozODYyNDg3OTo6Mzg2MjU0NjAiLz4KKwkJCQkJPHZhbCBvPSJkNGIyMCIgdj0iMzg2MjYxMTA6OjM4NjI2ODA3OjozODYyNzYzOTo6Mzg2Mjg3ODE6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMiIvPgorCQkJCQk8dmFsIG89ImZlZTIwIiB2PSIzODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjIyOTczNC4zOTg6OjIyOTczNC4zOTg6OjIyOTczNC4zOTg6OjIyOTczNC4zOTg6OjIyOTczNC4zOTg6OjIyOTczNC4zOTg6OjIyOTczNC4zOTg6OjIyOTczNC4zOTg6OjIyOTczNC4zOTg6OjIyOTczNC4zOTgiLz4KKwkJCQkJPHZhbCBvPSIxMjkxMjAiIHY9IjIyOTczNC4zOTg6OjIyOTczNC4zOTg6OjIyOTczNC4zOTg6OjIyOTczNC4zOTg6OjIyOTczNC4zOTg6OjIyOTczNC4zOTg6OjIyOTczNC4zOTg6OjIyOTczNC4zOTg6OjIyOTczNC4zOTg6OjIyOTczNC4zOTg6OjIyOTczNC4zOTg6OjIyOTczNC4zOTg6OjIyOTczNC4zOTg6OjIyOTczNC4zOTg6OjIyOTczNC4zOTg6OjIyOTczNC4zOTg6OjIyOTczNC4zOTg6OjIyOTczNC4zOTg6OjIyOTczNC4zOTg6OjIyOTczNC4zOTg6OjIyOTczNC4zOTg6OjIyOTczNC4zOTg6OjIyOTczNC4zOTk6OjIyOTczNC40MTc6OjIyOTczNC40MzE6OjIyOTczNC40NDg6OjIyOTczNC40NjU6OjIyOTczNC40ODU6OjIyOTczNC41MDU6OjIyOTczNC41MTQ6OjIyOTczNC41MTc6OjIyOTczNC41MTc6OjIyOTczNC41MTc6OjIyOTczNC41MTc6OjIyOTczNC41MTc6OjIyOTczNC41MTg6OjIyOTczNC41MjE6OjIyOTczNC41MjM6OjIyOTczNC41Mjg6OjIyOTczNC41MzY6OjIyOTczNC41MzY6OjIyOTczNC41MzY6OjIyOTczNC41MzY6OjIyOTczNC41MzY6OjIyOTczNC41MzY6OjIyOTczNC41MzY6OjIyOTczNC41Mzc6OjIyOTczNC41NTQiLz4KKwkJCQk8L3Bhcj4KKwkJCTwvZGV2aWNlPgorCQk8L3NlbGVjdD4KKwk8L2RhdGE+Cis8L2VsZWN0cm94bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9ub2VudC9hdHQ1IGIvbGlieG1sMi9yZXN1bHQvbm9lbnQvYXR0NQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NzY4ZTM2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvbm9lbnQvYXR0NQpAQCAtMCwwICsxLDQwIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhRE9DVFlQRSBkb2MgWworPCFBVFRMSVNUIG5vcm1JZCBhdHRyIE5NVE9LRU5TICNJTVBMSUVEPgorXT4KKzxkb2M+CisgIDwhLS0gbm8gbm9ybWFsaXphdGlvbiAtLT4KKyAgPG5vcm0gYXR0cj0iICAgIi8+CisgIDxub3JtIGF0dHI9IiAgIGZvbyBiYXIgICAiLz4KKyAgPG5vcm0gYXR0cj0iICBmb29iYXIiLz4KKyAgPG5vcm0gYXR0cj0iIGZvbyBiYXIgIi8+CisgIDxub3JtIGF0dHI9ImZvb2JhciAgIi8+CisgIDxub3JtIGF0dHI9IiAmYW1wOyAiLz4KKyAgPG5vcm0gYXR0cj0iICAgZm9vJmFtcDtiYXIgICAiLz4KKyAgPG5vcm0gYXR0cj0iICBmb29iYXImYW1wOyIvPgorICA8bm9ybSBhdHRyPSImYW1wO2ZvbyBiYXIgIi8+CisgIDxub3JtIGF0dHI9ImZvb2JhciAgJmFtcDsiLz4KKyAgPG5vcm0gYXR0cj0iICZsdDsgIi8+CisgIDxub3JtIGF0dHI9IiAgIGZvbyZsdDtiYXIgICAiLz4KKyAgPG5vcm0gYXR0cj0iICBmb29iYXImbHQ7Ii8+CisgIDxub3JtIGF0dHI9IiZsdDtmb28gYmFyICIvPgorICA8bm9ybSBhdHRyPSJmb29iYXIgICZsdDsiLz4KKyAgPG5vcm0gYXR0cj0iICAmIzEzOyYjMTA7JiM5OyAiLz4KKyAgPCEtLSBub3JtYWxpemF0aW9uIC0tPgorICA8bm9ybUlkIGF0dHI9IiIvPgorICA8bm9ybUlkIGF0dHI9ImZvbyBiYXIiLz4KKyAgPG5vcm1JZCBhdHRyPSJmb29iYXIiLz4KKyAgPG5vcm1JZCBhdHRyPSJmb28gYmFyIi8+CisgIDxub3JtSWQgYXR0cj0iZm9vYmFyIi8+CisgIDxub3JtSWQgYXR0cj0iJmFtcDsiLz4KKyAgPG5vcm1JZCBhdHRyPSJmb28mYW1wO2JhciIvPgorICA8bm9ybUlkIGF0dHI9ImZvb2JhciZhbXA7Ii8+CisgIDxub3JtSWQgYXR0cj0iJmFtcDtmb28gYmFyIi8+CisgIDxub3JtSWQgYXR0cj0iZm9vYmFyICZhbXA7Ii8+CisgIDxub3JtSWQgYXR0cj0iJmx0OyIvPgorICA8bm9ybUlkIGF0dHI9ImZvbyZsdDtiYXIiLz4KKyAgPG5vcm1JZCBhdHRyPSJmb29iYXImbHQ7Ii8+CisgIDxub3JtSWQgYXR0cj0iJmx0O2ZvbyBiYXIiLz4KKyAgPG5vcm1JZCBhdHRyPSJmb29iYXIgJmx0OyIvPgorICA8bm9ybUlkIGF0dHI9IiYjMTM7JiMxMDsmIzk7Ii8+IDwhLS0gUEJNIHNlcmlhbGl6aW5nIGJhY2sgLS0+Cis8L2RvYz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L25vZW50L2F0dDYgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9hdHQ2Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMzOGU2YjcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9hdHQ2CkBAIC0wLDAgKzEsNiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxJbnZvaWNlIHhtbG5zOmNjdHM9InVybjpvYXNpczpuYW1lczp0Yzp1Ymw6Q29yZUNvbXBvbmVudFBhcmFtZXRlcnM6MS4wOjAuNzAiIHhtbG5zOmNjdD0idXJuOm9hc2lzOm5hbWVzOnRjOnVibDpDb3JlQ29tcG9uZW50VHlwZXM6MS4wOjAuNzAiIHhtbG5zOmNhdD0idXJuOm9hc2lzOm5hbWVzOnRjOnVibDpDb21tb25BZ2dyZWdhdGVUeXBlczoxLjA6MC43MCIgeG1sbnM9InVybjpvYXNpczpuYW1lczp0Yzp1Ymw6SW52b2ljZToxLjA6MC43MCI+CisgICA8Y2F0OlJlZmVyZW5jZWRPcmRlcj4KKyAgICAgIDxjYXQ6U2VsbGVyc09yZGVySUQgc2NoZW1lSUQ9InB2YWx1ZS0mZ3Q7UmVmZXJlbmNlZE9yZGVyLlNlbGxlcnNPcmRlcklELnNjaGVtZUlEIiBzY2hlbWVBZ2VuY3lJRD0icHZhbHVlLSZndDtSZWZlcmVuY2VkT3JkZXIuU2VsbGVyc09yZGVySUQuc2NoZW1lQWdlbmN5SUQiIHNjaGVtZVZlcnNpb25JRD0icHZhbHVlLSZndDtSZWZlcmVuY2VkT3JkZXIuU2VsbGVyc09yZGVySUQuc2NoZW1lVmVyc2lvbklEIiBzY2hlbWVBZ2VuY3lTY2hlbWVJRD0icHZhbHVlLSZndDtSZWZlcmVuY2VkT3JkZXIuU2VsbGVyc09yZGVySUQuc2NoZW1lQWdlbmN5U2NoZW1lSUQiIHNjaGVtZUFnZW5jeVNjaGVtZUFnZW5jeUlEPSJwdmFsdWUtJmd0O1JlZmVyZW5jZWRPcmRlci5TZWxsZXJzT3JkZXJJRC5zY2hlbWVBZ2VuY3lTY2hlbWVBZ2VuY3lJRCIgc2NoZW1lRGF0YVVSST0icHZhbHVlLSZndDtSZWZlcmVuY2VkT3JkZXIuU2VsbGVyc09yZGVySUQuc2NoZW1lRGF0YVVSSSIgc2NoZW1lVVJJPSJwdmFsdWUtJmd0O1JlZmVyZW5jZWRPcmRlci5TZWxsZXJzT3JkZXJJRC5zY2hlbWVVUkkiIFVJRD0icHZhbHVlLSZndDtSZWZlcmVuY2VkT3JkZXIuU2VsbGVyc09yZGVySUQuVUlEIiBVSURSZWY9InB2YWx1ZS0mZ3Q7UmVmZXJlbmNlZE9yZGVyLlNlbGxlcnNPcmRlcklELlVJRFJlZiIgVUlEUmVmcz0icHZhbHVlLSZndDtSZWZlcmVuY2VkT3JkZXIuU2VsbGVyc09yZGVySUQuVUlEUmVmczAiIGxhbmd1YWdlPSJwdmFsdWUtJmd0O1JlZmVyZW5jZWRPcmRlci5TZWxsZXJzT3JkZXJJRC5sYW5ndWFnZSI+cHZhbHVlLSZndDtSZWZlcmVuY2VkT3JkZXIuU2VsbGVyc09yZGVySUQ8L2NhdDpTZWxsZXJzT3JkZXJJRD4KKyAgIDwvY2F0OlJlZmVyZW5jZWRPcmRlcj4KKzwvSW52b2ljZT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L25vZW50L2F0dDcgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9hdHQ3Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE1OGEwNGQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9hdHQ3CkBAIC0wLDAgKzEsMTEgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCFET0NUWVBFIHggWworPCFFTEVNRU5UIHggKHRlc3QpKj4KKzwhRUxFTUVOVCB0ZXN0IEVNUFRZPgorPCFBVFRMSVNUIHRlc3QgYXR0IENEQVRBICJhdHR2YWx1ZSI+Cis8IUVOVElUWSB0ZXN0LmVudCAiPHRlc3QvPiI+CitdPgorPHg+CisgICAgPHRlc3QvPgorICAgIDx0ZXN0Lz4KKzwveD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L25vZW50L2F0dDggYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9hdHQ4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFkODA3YTIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9hdHQ4CkBAIC0wLDAgKzEsMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/PgorPGlubzpyZXNwb25zZSB4bWxuczppbm89Imh0dHA6Ly9uYW1lc3BhY2VzLnNvZnR3YXJlYWcuY29tL3RhbWluby9yZXNwb25zZTIiIHhtbG5zOnhxbD0iaHR0cDovL21ldGFsYWIudW5jLmVkdS94cWwvIiBpbm86c2Vzc2lvbmlkPSI1NTYiIGlubzpzZXNzaW9ua2V5PSIxNTkwNDY5Njc3Ij48eHFsOnF1ZXJ5Pi9ic2s6RG9jUGFydFtAZG9jSWQ9JzIwMDQwMzA4MTUyNjAxMzQ1MjM2JyBhbmQgQGRvY1BhcnRObz0xXTwveHFsOnF1ZXJ5Pjxpbm86bWVzc2FnZSBpbm86cmV0dXJudmFsdWU9IjAiPjxpbm86bWVzc2FnZWxpbmU+WFFMIFJlcXVlc3QgcHJvY2Vzc2luZzwvaW5vOm1lc3NhZ2VsaW5lPjwvaW5vOm1lc3NhZ2U+PHhxbDpyZXN1bHQ+PGJzazpEb2NQYXJ0IHhtbG5zOmJzaz0iaHR0cDovL3d3dy5oZWl0ZWMubmV0L3NhcmE0L3RhbWluby9iYXNrZXQiIGRvY0lkPSIyMDA0MDMwODE1MjYwMTM0NTIzNiIgZG9jUGFydE5vPSIxIiBpbm86aWQ9IjE1MjkwIj48YnNrOkZpbGUgbmFtZT0iNDg5OFdQWkVPMk02NSIgc2l6ZT0iNzUxOTUiPiA8L2JzazpGaWxlPjwvYnNrOkRvY1BhcnQ+PC94cWw6cmVzdWx0Pjxpbm86bWVzc2FnZSBpbm86cmV0dXJudmFsdWU9IjAiPjxpbm86bWVzc2FnZWxpbmU+WFFMIFJlcXVlc3QgcHJvY2Vzc2VkPC9pbm86bWVzc2FnZWxpbmU+PC9pbm86bWVzc2FnZT48L2lubzpyZXNwb25zZT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L25vZW50L2F0dDkgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9hdHQ5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU0OTgyYTIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9hdHQ5CkBAIC0wLDAgKzEsNiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IURPQ1RZUEUgZG9jIFsKKzwhQVRUTElTVCBkb2MgYTEgTk1UT0tFTlMgIjEgMiI+Cis8IUVMRU1FTlQgZG9jICgjUENEQVRBKT4KK10+Cis8ZG9jLz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L25vZW50L2F0dHJpYi54bWwgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9hdHRyaWIueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg5YTFlNTcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9hdHRyaWIueG1sCkBAIC0wLDAgKzEsMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8aXRlbSB0aXRsZT0iSWNyb250aWMuY29tIC0gV2FybmluZzogQnJlYWtkYW5jaW5nIG1pZGdldCB3aXRoIHRvdXJldHRlJ3Mgc3luZHJvbWUgb24tYm9hcmQmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsmI3hBMDsiIHVybD0iaHR0cDovL3d3dy5pY3JvbnRpYy5jb20vIiBmaXJzdF90aW1lPSI5ODUwMzQzMzkiIGxhc3RfdGltZT0iOTg1MDM0MzM5IiB2aXNpdHM9IjEiLz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L25vZW50L2JhZGNvbW1lbnQueG1sIGIvbGlieG1sMi9yZXN1bHQvbm9lbnQvYmFkY29tbWVudC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmIxM2MxMQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L25vZW50L2JhZGNvbW1lbnQueG1sCkBAIC0wLDAgKzEsMTcgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8Zm9vPgorPCEtLSBkZWY9J05ULUNoYXInLS0+PCEtLT5DaGFyPC9udD4qICddXSZndDsnIDxudCBkZWY9J05ULUNoYXInPkNoYXI8L250PiopKQorJ11dJmd0Oyc8L3Jocz4KKzxjb20+Q0RBVEEgc2VjdGlvbnM8L2NvbT4KKzxyaHM+fCAnJmx0OyFET0NUWVBFJyAKKyg8bnQgZGVmPSJOVC1DaGFyIj5DaGFyPC9udD4gLSAoJ1snIHwgJ10nKSkrCisoJ1snIAorPG50IGRlZj0iTlQtc2ltcGxlRFREIj5zaW1wbGVEVEQ8L250PioKKyddJyk/ICcmZ3Q7JzwvcmhzPgorPGNvbT5kb2MgdHlwZSBkZWNsYXJhdGlvbjwvY29tPgorPHByb2QgaWQ9Ik5ULXNpbXBsZURURCI+PGxocz5zaW1wbGVEVEQ8L2xocz4KKzxyaHM+JyZsdDshJmNvbW87JyAKKyg8bnQgZGVmPSdOVC1DaGFyJz5DaGFyPC9udD4qIC0gCisoPG50IGRlZj0nTlQtQ2hhcic+Q2hhcjwvbnQ+KiAnJmNvbWM7JyA8bnQgZGVmPSdOVC1DaGFyJz5DaGFyPC9udD4qKSkKKycmY29tYzsmZ3Q7JzwvcmhzPi0tPgorPC9mb28+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9ub2VudC9iaWdlbnRuYW1lLnhtbCBiL2xpYnhtbDIvcmVzdWx0L25vZW50L2JpZ2VudG5hbWUueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdlN2Q5ZDAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9iaWdlbnRuYW1lLnhtbApAQCAtMCwwICsxLDYgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCFET0NUWVBFIGRvYyBbCis8IUVOVElUWSB2ZXJ5X2JpZ19lbnRpdHlfbmFtZTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5X2VuZF9vZl92ZXJ5X2JpZ19lbnRfbmFtZSAnIlllcyInPgorPCFFTlRJVFkgV2hhdEhlU2FpZCAiSGUgc2FpZCAmdmVyeV9iaWdfZW50aXR5X25hbWUwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OV9lbmRfb2ZfdmVyeV9iaWdfZW50X25hbWU7Ij4KK10+Cis8ZG9jPkhlIHNhaWQgIlllcyI8L2RvYz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L25vZW50L2JpZ25hbWUueG1sIGIvbGlieG1sMi9yZXN1bHQvbm9lbnQvYmlnbmFtZS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODg1ZmQ3YwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L25vZW50L2JpZ25hbWUueG1sCkBAIC0wLDAgKzEsMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8dGhpc19pc19hX3ZlcnlfbGFyZ2VfbmFtZV8wMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OV9lbmRfb2ZfdGhlX3ZlcnlfbGFyZ2VfbmFtZS8+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9ub2VudC9iaWduYW1lMi54bWwgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9iaWduYW1lMi54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTQ4YzM1OQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L25vZW50L2JpZ25hbWUyLnhtbApAQCAtMCwwICsxLDIgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPHRoaXNfaXNfYV92ZXJ5X2xhcmdlX3F1YWxpZmllZF9uYW1lXzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5X2VuZF9vZl9wcmVmaXg6c3RhcnRfbmNfbmFtZV8wMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OV9lbmRfb2ZfdGhlX3ZlcnlfbGFyZ2VfbmFtZSB4bWxuczp0aGlzX2lzX2FfdmVyeV9sYXJnZV9xdWFsaWZpZWRfbmFtZV8wMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OV9lbmRfb2ZfcHJlZml4PSJodHRwOi8vd3d3LmV4YW1wbGUuY29tL3Rlc3Rucy8iLz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L25vZW50L2NkYXRhIGIvbGlieG1sMi9yZXN1bHQvbm9lbnQvY2RhdGEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTgwZWE0NgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L25vZW50L2NkYXRhCkBAIC0wLDAgKzEsNCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8ZG9jPgorPCFbQ0RBVEFbPGdyZWV0aW5nPkhlbGxvLCB3b3JsZCE8L2dyZWV0aW5nPl1dPgorPC9kb2M+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9ub2VudC9jZGF0YTIgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9jZGF0YTIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjRkYjc5MQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L25vZW50L2NkYXRhMgpAQCAtMCwwICsxLDYgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8Y29sbGVjdGlvbj4KKyAgPHRlc3Q+PCFbQ0RBVEFbCisgICAgPCFbQ0RBVEFbYWJjXV1dPl0mZ3Q7PCFbQ0RBVEFbCisgIF1dPjwvdGVzdD4KKzwvY29sbGVjdGlvbj4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L25vZW50L2NvbW1lbnQueG1sIGIvbGlieG1sMi9yZXN1bHQvbm9lbnQvY29tbWVudC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOThjNWVmZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L25vZW50L2NvbW1lbnQueG1sCkBAIC0wLDAgKzEsNiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8ZG9jPgorPCEtLSBkb2N1bWVudCBzdGFydCAtLT4KKzxlbXB0eS8+Cis8IS0tIGRvY3VtZW50IGVuZCAtLT4KKzwvZG9jPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvbm9lbnQvY29tbWVudDIueG1sIGIvbGlieG1sMi9yZXN1bHQvbm9lbnQvY29tbWVudDIueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjllMTIyZWMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9jb21tZW50Mi54bWwKQEAgLTAsMCArMSw2IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhLS0gZG9jdW1lbnQgc3RhcnQgLS0+Cis8ZG9jPgorPGVtcHR5Lz4KKzwvZG9jPgorPCEtLSBkb2N1bWVudCBlbmQgLS0+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9ub2VudC9jb21tZW50My54bWwgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9jb21tZW50My54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzk1ZjY3YwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L25vZW50L2NvbW1lbnQzLnhtbApAQCAtMCwwICsxLDE2NCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/PgorPCEtLSB0ZXN0IG9mIHZlcnkgdmVyeSBsb25nIGNvbW1lbnRzIGFuZCBidWZmZXIgbGltaXRzCiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorLS0+Cis8ZG9jLz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L25vZW50L2NvbW1lbnQ0LnhtbCBiL2xpYnhtbDIvcmVzdWx0L25vZW50L2NvbW1lbnQ0LnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MzI4MmQ4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvbm9lbnQvY29tbWVudDQueG1sCkBAIC0wLDAgKzEsNSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/PgorPCEtLSB0ZXN0IG9mIG5vbiBhc2NpaSBjb21tZW50cyBsaWtlIGzgIGV0IHRy6HMgLS0+Cis8IS0t4CBhbm90aGVyIG9uZSAtLT4KKzwhLS0gYW5vdGhlciBvbmUg4C0tPgorPGRvYy8+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9ub2VudC9jb21tZW50NS54bWwgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9jb21tZW50NS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzk4Zjk3NAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L25vZW50L2NvbW1lbnQ1LnhtbApAQCAtMCwwICsxLDkgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IklTTy04ODU5LTEiPz4KKzwhLS0gdGVzdCBvZiBoeXBoZW4gYW5kIGxpbmUgYnJlYWsgaGFuZGxpbmcKKyAgICAgc29tZSB0ZXh0IC0gaW50ZXJydXB0ZWQgLQorLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLQorICAgICAgICAgICAgICAgICAgICAgIHRoaXMgc2hvdWxkIHN0b3AgaGVyZV4KKworCistLT4KKzxkb2MvPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvbm9lbnQvY29tbWVudDYueG1sIGIvbGlieG1sMi9yZXN1bHQvbm9lbnQvY29tbWVudDYueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNlNjA3NGUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9jb21tZW50Ni54bWwKQEAgLTAsMCArMSwxNCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IS0tCitsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50IGxvbmcgY29tbWVudAorbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQKK2xvbmcgY29tbWVudCBsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50Citsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50IGxvbmcgY29tbWVudAorbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQKK2xvbmcgY29tbWVudCBsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50Citsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50IGxvbmcgY29tbWVudAorLS0+Cis8IURPQ1RZUEUgYSBbCis8IUVMRU1FTlQgYSBFTVBUWT4KK10+Cis8YS8+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9ub2VudC9kYXYxIGIvbGlieG1sMi9yZXN1bHQvbm9lbnQvZGF2MQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYmZkNGM0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvbm9lbnQvZGF2MQpAQCAtMCwwICsxLDI1IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxEOm11bHRpc3RhdHVzIHhtbG5zOkQ9Imh0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8iIHhtbG5zOlI9Imh0dHA6Ly93d3cuZm9vLmJhci9ib3hzY2hlbWEiPgorICA8RDpyZXNwb25zZT4KKyAgICA8RDpwcm9wPgorICAgICAgPFI6YmlnYm94PgorICAgICAgICA8UjpCb3hUeXBlPkJveCB0eXBlIEE8L1I6Qm94VHlwZT4KKyAgICAgIDwvUjpiaWdib3g+CisgICAgICA8UjphdXRob3I+CisgICAgICAgIDxSOk5hbWU+Si5KLiBEaW5nbGVoZWltZXJzY2htaWR0PC9SOk5hbWU+CisgICAgICA8L1I6YXV0aG9yPgorICAgIDwvRDpwcm9wPgorICAgIDxEOnN0YXR1cz5IVFRQLzEuMSAyMDAgT0s8L0Q6c3RhdHVzPgorICA8L0Q6cmVzcG9uc2U+CisgIDxEOnJlc3BvbnNlPgorICAgIDxEOnByb3A+CisgICAgICA8UjpEaW5nQUxpbmcvPgorICAgICAgPFI6UmFuZG9tLz4KKyAgICA8L0Q6cHJvcD4KKyAgICA8RDpzdGF0dXM+SFRUUC8xLjEgNDAzIEZvcmJpZGRlbjwvRDpzdGF0dXM+CisgICAgPEQ6cmVzcG9uc2VkZXNjcmlwdGlvbj4gVGhlIHVzZXIgZG9lcyBub3QgaGF2ZSBhY2Nlc3MgdG8gdGhlIERpbmdBTGluZyBwcm9wZXJ0eS4KKyAgICAgIDwvRDpyZXNwb25zZWRlc2NyaXB0aW9uPgorICA8L0Q6cmVzcG9uc2U+CisgIDxEOnJlc3BvbnNlZGVzY3JpcHRpb24+IFRoZXJlIGhhcyBiZWVuIGFuIGFjY2VzcyB2aW9sYXRpb24gZXJyb3IuCisgPC9EOnJlc3BvbnNlZGVzY3JpcHRpb24+Cis8L0Q6bXVsdGlzdGF0dXM+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9ub2VudC9kYXYxMCBiL2xpYnhtbDIvcmVzdWx0L25vZW50L2RhdjEwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRiMDBkYTQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9kYXYxMApAQCAtMCwwICsxLDQgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPEQ6b3duZXIgeG1sbnM6RD0iaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LyI+CisgIDxEOmhyZWY+aHR0cDovL3d3dy5pY3MudWNpLmVkdS9+ZWp3L2NvbnRhY3QuaHRtbDwvRDpocmVmPgorPC9EOm93bmVyPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvbm9lbnQvZGF2MTEgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9kYXYxMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YWMyM2Q2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvbm9lbnQvZGF2MTEKQEAgLTAsMCArMSwyMSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8RDpwcm9wIHhtbG5zOkQ9Imh0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8iPgorICA8RDpsb2NrZGlzY292ZXJ5PgorICAgIDxEOmFjdGl2ZWxvY2s+CisgICAgICA8RDpsb2NrdHlwZT53cml0ZTwvRDpsb2NrdHlwZT4KKyAgICAgIDxEOmxvY2tzY29wZT5leGNsdXNpdmU8L0Q6bG9ja3Njb3BlPgorICAgICAgPEQ6YWRkbG9ja3MvPgorICAgICAgPEQ6b3duZXI+CisgICAgICAgIDxEOmhyZWY+CisJCWh0dHA6Ly93d3cuaWNzLnVjaS5lZHUvfmVqdy9jb250YWN0Lmh0bWwKKwkJPC9EOmhyZWY+CisgICAgICA8L0Q6b3duZXI+CisgICAgICA8RDp0aW1lb3V0PlNlY29uZC02MDQ4MDA8L0Q6dGltZW91dD4KKyAgICAgIDxEOmxvY2t0b2tlbj4KKyAgICAgICAgPEQ6aHJlZj4KKwkgICBvcGFxdWVsb2NrdG9rZW46eHl6MTIyMzkzNDgxMjMwOTEyYXNkZmEwOXM4ZGYwOXM3ZGYKKwkJPC9EOmhyZWY+CisgICAgICA8L0Q6bG9ja3Rva2VuPgorICAgIDwvRDphY3RpdmVsb2NrPgorICA8L0Q6bG9ja2Rpc2NvdmVyeT4KKzwvRDpwcm9wPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvbm9lbnQvZGF2MTIgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9kYXYxMgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kOGQwM2ZlCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvbm9lbnQvZGF2MTIKQEAgLTAsMCArMSwyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxEOmhyZWYgeG1sbnM6RD0iaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LyI+aHR0cDovL3d3dy5pY3MudWNpLmVkdS9+ZWp3L2NvbnRhY3QuaHRtbDwvRDpocmVmPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvbm9lbnQvZGF2MTMgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9kYXYxMwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNDRhZTM4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvbm9lbnQvZGF2MTMKQEAgLTAsMCArMSwxNiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8RDptdWx0aXN0YXR1cyB4bWxuczpEPSJodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvIj4KKyAgPEQ6cmVzcG9uc2U+CisgICAgPEQ6aHJlZj4KKwkgICBodHRwOi8vd2ViZGF2LnNiLmFvbC5jb20vd29ya3NwYWNlL3dlYmRhdi9wcm9wb3NhbC5kb2MKKyAgICAgIDwvRDpocmVmPgorICAgIDxEOmhyZWY+CisJICAgaHR0cDovL3dlYmRhdi5zYi5hb2wuY29tL3dvcmtzcGFjZS93ZWJkYXYvCisgICAgICA8L0Q6aHJlZj4KKyAgICA8RDpzdGF0dXM+SFRUUC8xLjEgMjAyIEFjY2VwdGVkPC9EOnN0YXR1cz4KKyAgPC9EOnJlc3BvbnNlPgorICA8RDpyZXNwb25zZT4KKyAgICA8RDpocmVmPmh0dHA6Ly9mb28uYmFyL2JsYWg8L0Q6aHJlZj4KKyAgICA8RDpzdGF0dXM+SFRUUC8xLjEgNDAzIEZvcmJpZGRlbjwvRDpzdGF0dXM+CisgIDwvRDpyZXNwb25zZT4KKzwvRDptdWx0aXN0YXR1cz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L25vZW50L2RhdjE1IGIvbGlieG1sMi9yZXN1bHQvbm9lbnQvZGF2MTUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjgwODAyZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L25vZW50L2RhdjE1CkBAIC0wLDAgKzEsMjAgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPEQ6cHJvcCB4bWxuczpEPSJodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvIiB4bWxuczpGPSJodHRwOi8vd3d3LmZvb2NvcnAuY29tL1Byb2plY3QvIj4KKyAgPEQ6U291cmNlPgorICAgIDxEOmxpbms+CisgICAgICA8Rjpwcm9qZmlsZXM+U291cmNlPC9GOnByb2pmaWxlcz4KKyAgICAgIDxEOnNyYz5odHRwOi8vZm9vLmJhci9wcm9ncmFtPC9EOnNyYz4KKyAgICAgIDxEOmRzdD5odHRwOi8vZm9vLmJhci9zcmMvbWFpbi5jPC9EOmRzdD4KKyAgICA8L0Q6bGluaz4KKyAgICA8RDpsaW5rPgorICAgICAgPEY6cHJvamZpbGVzPkxpYnJhcnk8L0Y6cHJvamZpbGVzPgorICAgICAgPEQ6c3JjPmh0dHA6Ly9mb28uYmFyL3Byb2dyYW08L0Q6c3JjPgorICAgICAgPEQ6ZHN0Pmh0dHA6Ly9mb28uYmFyL3NyYy9tYWluLmxpYjwvRDpkc3Q+CisgICAgPC9EOmxpbms+CisgICAgPEQ6bGluaz4KKyAgICAgIDxGOnByb2pmaWxlcz5NYWtlZmlsZTwvRjpwcm9qZmlsZXM+CisgICAgICA8RDpzcmM+aHR0cDovL2Zvby5iYXIvcHJvZ3JhbTwvRDpzcmM+CisgICAgICA8RDpkc3Q+aHR0cDovL2Zvby5iYXIvc3JjL21ha2VmaWxlPC9EOmRzdD4KKyAgICA8L0Q6bGluaz4KKyAgPC9EOlNvdXJjZT4KKzwvRDpwcm9wPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvbm9lbnQvZGF2MTYgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9kYXYxNgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YTdkYzM2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvbm9lbnQvZGF2MTYKQEAgLTAsMCArMSw2IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxEOnByb3BmaW5kIHhtbG5zOkQ9Imh0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8iPgorICA8RDpwcm9wPgorICAgIDxsb2NrZGlzY292ZXJ5Lz4KKyAgPC9EOnByb3A+Cis8L0Q6cHJvcGZpbmQ+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9ub2VudC9kYXYxNyBiL2xpYnhtbDIvcmVzdWx0L25vZW50L2RhdjE3Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjExMzc2NjIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9kYXYxNwpAQCAtMCwwICsxLDIyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxEOm11bHRpc3RhdHVzIHhtbG5zOkQ9Imh0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8iPgorICA8RDpyZXNwb25zZT4KKyAgICA8RDpwcm9wPgorICAgICAgPEQ6bG9ja2Rpc2NvdmVyeT4KKyAgICAgICAgPEQ6YWN0aXZlbG9jaz4KKyAgICAgICAgICA8RDpsb2NrdHlwZT53cml0ZTwvRDpsb2NrdHlwZT4KKyAgICAgICAgICA8RDpsb2Nrc2NvcGU+ZXhjbHVzaXZlPC9EOmxvY2tzY29wZT4KKyAgICAgICAgICA8RDphZGRsb2Nrcz4KKyAgICAgICAgICAgIDxEOmhyZWY+aHR0cDovL2Zvby5jb20vZG9jLzwvRDpocmVmPgorICAgICAgICAgIDwvRDphZGRsb2Nrcz4KKyAgICAgICAgICA8RDpvd25lcj5KYW5lIFNtaXRoPC9EOm93bmVyPgorICAgICAgICAgIDxEOnRpbWVvdXQ+SW5maW5pdGU8L0Q6dGltZW91dD4KKyAgICAgICAgICA8RDpsb2NrdG9rZW4+CisgICAgICAgICAgICA8RDpocmVmPmlhbXVyaTp1bmlxdWUhISEhITwvRDpocmVmPgorICAgICAgICAgIDwvRDpsb2NrdG9rZW4+CisgICAgICAgIDwvRDphY3RpdmVsb2NrPgorICAgICAgPC9EOmxvY2tkaXNjb3Zlcnk+CisgICAgPC9EOnByb3A+CisgICAgPEQ6c3RhdHVzPkhUVFAvMS4xIDIwMCBPSzwvRDpzdGF0dXM+CisgIDwvRDpyZXNwb25zZT4KKzwvRDptdWx0aXN0YXR1cz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L25vZW50L2RhdjE4IGIvbGlieG1sMi9yZXN1bHQvbm9lbnQvZGF2MTgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2RlMWMxOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L25vZW50L2RhdjE4CkBAIC0wLDAgKzEsNiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8RDpwcm9wZmluZCB4bWxuczpEPSJodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvIj4KKyAgPEQ6cHJvcD4KKyAgICA8c3VwcG9ydGVkbG9jay8+CisgIDwvRDpwcm9wPgorPC9EOnByb3BmaW5kPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvbm9lbnQvZGF2MTkgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9kYXYxOQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NTM1ZmZjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvbm9lbnQvZGF2MTkKQEAgLTAsMCArMSwxOCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8RDptdWx0aXN0YXR1cyB4bWxuczpEPSJodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvIj4KKyAgPEQ6cmVzcG9uc2U+CisgICAgPEQ6cHJvcD4KKyAgICAgIDxEOnN1cHBvcnRlZGxvY2s+CisgICAgICAgIDxEOkxvY2tFbnRyeT4KKyAgICAgICAgICA8RDpsb2NrdHlwZT5Xcml0ZTwvRDpsb2NrdHlwZT4KKyAgICAgICAgICA8RDpsb2Nrc2NvcGU+RXhjbHVzaXZlPC9EOmxvY2tzY29wZT4KKyAgICAgICAgPC9EOkxvY2tFbnRyeT4KKyAgICAgICAgPEQ6TG9ja0VudHJ5PgorICAgICAgICAgIDxEOmxvY2t0eXBlPldyaXRlPC9EOmxvY2t0eXBlPgorICAgICAgICAgIDxEOmxvY2tzY29wZT5TaGFyZWQ8L0Q6bG9ja3Njb3BlPgorICAgICAgICA8L0Q6TG9ja0VudHJ5PgorICAgICAgPC9EOnN1cHBvcnRlZGxvY2s+CisgICAgPC9EOnByb3A+CisgICAgPEQ6c3RhdHVzPkhUVFAvMS4xIDIwMCBPSzwvRDpzdGF0dXM+CisgIDwvRDpyZXNwb25zZT4KKzwvRDptdWx0aXN0YXR1cz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L25vZW50L2RhdjIgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9kYXYyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY4MzFiNGIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9kYXYyCkBAIC0wLDAgKzEsMjQgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPFM6bXVsdGlzdGF0dXMgeG1sbnM6Uz0iaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LyIgeG1sbnM6Uj0iaHR0cDovL3d3dy5mb28uYmFyL2JveHNjaGVtYS8iPgorICA8UzpyZXNwb25zZT4KKyAgICA8UzpocmVmPmh0dHA6Ly93d3cuZm9vLmJhci9jb250YWluZXIvPC9TOmhyZWY+CisgICAgPFM6cHJvcD4KKyAgICAgIDxSOmJpZ2JveD4KKyAgICAgICAgPFI6Qm94VHlwZT5Cb3ggdHlwZSBBPC9SOkJveFR5cGU+CisgICAgICA8L1I6YmlnYm94PgorICAgICAgPFI6YXV0aG9yPgorICAgICAgICA8UjpOYW1lPkhhZHJpYW48L1I6TmFtZT4KKyAgICAgIDwvUjphdXRob3I+CisgICAgPC9TOnByb3A+CisgICAgPFM6c3RhdHVzPkhUVFAgMS4xIDIwMCBPSzwvUzpzdGF0dXM+CisgIDwvUzpyZXNwb25zZT4KKyAgPFM6cmVzcG9uc2U+CisgICAgPFM6aHJlZj5odHRwOi8vd3d3LmZvby5iYXIvY29udGFpbmVyL2luZGV4Lmh0bWw8L1M6aHJlZj4KKyAgICA8Uzpwcm9wPgorICAgICAgPFI6YmlnYm94PgorICAgICAgICA8UjpCb3hUeXBlPkJveCB0eXBlIEI8L1I6Qm94VHlwZT4KKyAgICAgIDwvUjpiaWdib3g+CisgICAgPC9TOnByb3A+CisgICAgPFM6c3RhdHVzPkhUVFAgMS4xIDIwMCBPSzwvUzpzdGF0dXM+CisgIDwvUzpyZXNwb25zZT4KKzwvUzptdWx0aXN0YXR1cz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L25vZW50L2RhdjMgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9kYXYzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk4NmIzZmUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9kYXYzCkBAIC0wLDAgKzEsMTggQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPEQ6bXVsdGlzdGF0dXMgeG1sbnM6RD0iaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LyIgeG1sbnM6Uj0iaHR0cDovL3d3dy5mb28uYmFyL2JveHNjaGVtYS8iPgorICA8RDpyZXNwb25zZT4KKyAgICA8RDpocmVmPmh0dHA6Ly93d3cuZm9vLmJhci9jb250YWluZXIvPC9EOmhyZWY+CisgICAgPEQ6cHJvcD4KKyAgICAgIDxSOmJpZ2JveC8+CisgICAgICA8UjphdXRob3IvPgorICAgIDwvRDpwcm9wPgorICAgIDxEOnN0YXR1cz5IVFRQIDEuMSAyMDAgT0s8L0Q6c3RhdHVzPgorICA8L0Q6cmVzcG9uc2U+CisgIDxEOnJlc3BvbnNlPgorICAgIDxEOmhyZWY+aHR0cDovL3d3dy5mb28uYmFyL2NvbnRhaW5lci9pbmRleC5odG1sPC9EOmhyZWY+CisgICAgPEQ6cHJvcD4KKyAgICAgIDxSOmJpZ2JveC8+CisgICAgPC9EOnByb3A+CisgICAgPEQ6c3RhdHVzPkhUVFAgMS4xIDIwMCBPSzwvRDpzdGF0dXM+CisgIDwvRDpyZXNwb25zZT4KKzwvRDptdWx0aXN0YXR1cz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L25vZW50L2RhdjQgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9kYXY0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlhYjdjZWIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9kYXY0CkBAIC0wLDAgKzEsMTYgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPEQ6cHJvcGVydHl1cGRhdGUgeG1sbnM6RD0iaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LyIgeG1sbnM6Wj0iaHR0cDovL3d3dy53My5jb20vc3RhbmRhcmRzL3ozOS41MC8iPgorICA8RDpzZXQ+CisgICAgPEQ6cHJvcD4KKyAgICAgIDxaOmF1dGhvcnM+CisgICAgICAgIDxaOkF1dGhvcj5KaW0gV2hpdGVoZWFkPC9aOkF1dGhvcj4KKyAgICAgICAgPFo6QXV0aG9yPlJveSBGaWVsZGluZzwvWjpBdXRob3I+CisgICAgICA8L1o6YXV0aG9ycz4KKyAgICA8L0Q6cHJvcD4KKyAgPC9EOnNldD4KKyAgPEQ6cmVtb3ZlPgorICAgIDxEOnByb3A+CisgICAgICA8WjpDb3B5cmlnaHQtT3duZXIvPgorICAgIDwvRDpwcm9wPgorICA8L0Q6cmVtb3ZlPgorPC9EOnByb3BlcnR5dXBkYXRlPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvbm9lbnQvZGF2NSBiL2xpYnhtbDIvcmVzdWx0L25vZW50L2RhdjUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjhlYmFiOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L25vZW50L2RhdjUKQEAgLTAsMCArMSwxNyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8RDptdWx0aXN0YXR1cyB4bWxuczpEPSJodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvIiB4bWxuczpaPSJodHRwOi8vd3d3LnczLmNvbS9zdGFuZGFyZHMvejM5LjUwLyI+CisgIDxEOnJlc3BvbnNlPgorICAgIDxEOnByb3A+CisgICAgICA8WjpBdXRob3JzLz4KKyAgICA8L0Q6cHJvcD4KKyAgICA8RDpzdGF0dXM+SFRUUC8xLjEgNDIwIE1ldGhvZCBGYWlsdXJlPC9EOnN0YXR1cz4KKyAgPC9EOnJlc3BvbnNlPgorICA8RDpyZXNwb25zZT4KKyAgICA8RDpwcm9wPgorICAgICAgPFo6Q29weXJpZ2h0LU93bmVyLz4KKyAgICA8L0Q6cHJvcD4KKyAgICA8RDpzdGF0dXM+SFRUUC8xLjEgNDA5IENvbmZsaWN0PC9EOnN0YXR1cz4KKyAgPC9EOnJlc3BvbnNlPgorICA8RDpyZXNwb25zZWRlc2NyaXB0aW9uPiBDb3B5cmlnaHQgT3duZXIgY2FuIG5vdCBiZSBkZWxldGVkIG9yCithbHRlcmVkLjwvRDpyZXNwb25zZWRlc2NyaXB0aW9uPgorPC9EOm11bHRpc3RhdHVzPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvbm9lbnQvZGF2NiBiL2xpYnhtbDIvcmVzdWx0L25vZW50L2RhdjYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2QwZGUyNAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L25vZW50L2RhdjYKQEAgLTAsMCArMSwyMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8RDptdWx0aXN0YXR1cyB4bWxuczpEPSJodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvIj4KKyAgPEQ6cmVzcG9uc2U+CisgICAgPEQ6aHJlZj5odHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vdXNlci95YXJvbmcvZGF2X2RyYWZ0cy8KKyAgICAgIDwvRDpocmVmPgorICAgIDxEOnByb3A+CisgICAgICA8RDpyZXNvdXJjZXR5cGU+CisgICAgICAgIDxEOmNvbGxlY3Rpb24vPgorICAgICAgPC9EOnJlc291cmNldHlwZT4KKyAgICA8L0Q6cHJvcD4KKyAgICA8RDpzdGF0dXM+SFRUUCAxLjEgMjAwIE9LPC9EOnN0YXR1cz4KKyAgPC9EOnJlc3BvbnNlPgorICA8RDpyZXNwb25zZT4KKyAgICA8RDpocmVmPgorICAgICAgaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3VzZXIveWFyb25nL2Rhdl9kcmFmdHMvYmFzZQorICAgICAgPC9EOmhyZWY+CisgICAgPEQ6cHJvcD4KKyAgICAgIDxEOnJlc291cmNldHlwZS8+CisgICAgPC9EOnByb3A+CisgICAgPEQ6c3RhdHVzPkhUVFAgMS4xIDIwMCBPSzwvRDpzdGF0dXM+CisgIDwvRDpyZXNwb25zZT4KKzwvRDptdWx0aXN0YXR1cz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L25vZW50L2RhdjcgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9kYXY3Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVjNGE5NTIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9kYXY3CkBAIC0wLDAgKzEsMTYgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPGQ6bXVsdGlzdGF0dXMgeG1sbnM6ZD0iaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LyI+CisgIDxkOnJlc3BvbnNlPgorICAgIDxkOmhyZWY+aHR0cDovL3d3dy5mb28uYmFyL2NvbnRhaW5lci9yZXNvdXJjZTE8L2Q6aHJlZj4KKyAgICA8ZDpocmVmPmh0dHA6Ly93d3cuZm9vLmJhci9jb250YWluZXIvcmVzb3VyY2UyPC9kOmhyZWY+CisgICAgPGQ6c3RhdHVzPkhUVFAvMS4xIDIwMCBPSzwvZDpzdGF0dXM+CisgIDwvZDpyZXNwb25zZT4KKyAgPGQ6cmVzcG9uc2U+CisgICAgPGQ6aHJlZj5odHRwOi8vd3d3LmZvby5iYXIvY29udGFpbmVyLzwvZDpocmVmPgorICAgIDxkOnN0YXR1cz5IVFRQLzEuMSA0MjAgTWV0aG9kIEZhaWx1cmU8L2Q6c3RhdHVzPgorICA8L2Q6cmVzcG9uc2U+CisgIDxkOnJlc3BvbnNlPgorICAgIDxkOmhyZWY+aHR0cDovL3d3dy5mb28uYmFyL2NvbnRhaW5lci9yZXNvdXJjZTM8L2Q6aHJlZj4KKyAgICA8ZDpzdGF0dXM+SFRUUC8xLjEgNDEyIFByZWNvbmRpdGlvbiBGYWlsZWQ8L2Q6c3RhdHVzPgorICA8L2Q6cmVzcG9uc2U+Cis8L2Q6bXVsdGlzdGF0dXM+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9ub2VudC9kYXY4IGIvbGlieG1sMi9yZXN1bHQvbm9lbnQvZGF2OApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43Zjk5YmFmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvbm9lbnQvZGF2OApAQCAtMCwwICsxLDE0IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxkOm11bHRpc3RhdHVzIHhtbG5zOmQ9Imh0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8iPgorICA8ZDpyZXNwb25zZT4KKyAgICA8ZDpocmVmPmh0dHA6Ly93d3cuZm9vLmJhci9vdGhlcmNvbnRhaW5lci9yZXNvdXJjZTE8L2Q6aHJlZj4KKyAgICA8ZDpocmVmPmh0dHA6Ly93d3cuZm9vLmJhci9vdGhlcmNvbnRhaW5lci9yZXNvdXJjZTI8L2Q6aHJlZj4KKyAgICA8ZDpocmVmPmh0dHA6Ly93d3cuZm9vLmJhci9vdGhlcmNvbnRhaW5lci88L2Q6aHJlZj4KKyAgICA8ZDpocmVmPmh0dHA6Ly93d3cuZm9vLmJhci9vdGhlcmNvbnRhaW5lci9SMi9EMjwvZDpocmVmPgorICAgIDxkOnN0YXR1cz5IVFRQLzEuMSAyMDEgQ3JlYXRlZDwvZDpzdGF0dXM+CisgIDwvZDpyZXNwb25zZT4KKyAgPGQ6cmVzcG9uc2U+CisgICAgPGQ6aHJlZj5odHRwOi8vd3d3LmZvby5iYXIvb3RoZXJjb250YWluZXIvUjIvPC9kOmhyZWY+CisgICAgPGQ6c3RhdHVzPkhUVFAvMS4xIDQxMiBQcmVjb25kaXRpb24gRmFpbGVkPC9kOnN0YXR1cz4KKyAgPC9kOnJlc3BvbnNlPgorPC9kOm11bHRpc3RhdHVzPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvbm9lbnQvZGF2OSBiL2xpYnhtbDIvcmVzdWx0L25vZW50L2RhdjkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGVkNjNiOAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L25vZW50L2RhdjkKQEAgLTAsMCArMSwxOCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8ZDptdWx0aXN0YXR1cyB4bWxuczpkPSJodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvIj4KKyAgPGQ6cmVzcG9uc2U+CisgICAgPGQ6aHJlZj5odHRwOi8vd3d3LmZvby5iYXIvY29udGFpbmVyL3Jlc291cmNlMTwvZDpocmVmPgorICAgIDxkOmhyZWY+aHR0cDovL3d3dy5mb28uYmFyL2NvbnRhaW5lci9yZXNvdXJjZTI8L2Q6aHJlZj4KKyAgICA8ZDpocmVmPmh0dHA6Ly93d3cuZm9vLmJhci9jb250YWluZXIvPC9kOmhyZWY+CisgICAgPGQ6aHJlZj5odHRwOi8vd3d3LmZvby5iYXIvY29udGFpbmVyL0MyL1IyPC9kOmhyZWY+CisgICAgPGQ6c3RhdHVzPkhUVFAvMS4xIDIwMSBDcmVhdGVkPC9kOnN0YXR1cz4KKyAgPC9kOnJlc3BvbnNlPgorICA8ZDpyZXNwb25zZT4KKyAgICA8ZDpocmVmPmh0dHA6Ly93d3cuZm9vLmJhci9jb250YWluZXIvQzI8L2Q6aHJlZj4KKyAgICA8ZDpzdGF0dXM+SFRUUC8xLjEgNDIwIE1ldGhvZCBGYWlsdXJlPC9kOnN0YXR1cz4KKyAgPC9kOnJlc3BvbnNlPgorICA8ZDpyZXNwb25zZT4KKyAgICA8ZDpocmVmPmh0dHA6Ly93d3cuZm9vLmJhci9vdGhlcmNvbnRhaW5lci9DMjwvZDpocmVmPgorICAgIDxkOnN0YXR1cz5IVFRQLzEuMSA0MDkgQ29uZmxpY3Q8L2Q6c3RhdHVzPgorICA8L2Q6cmVzcG9uc2U+Cis8L2Q6bXVsdGlzdGF0dXM+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9ub2VudC9kZWZhdHRyLnhtbCBiL2xpYnhtbDIvcmVzdWx0L25vZW50L2RlZmF0dHIueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBhNGFjMTUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9kZWZhdHRyLnhtbApAQCAtMCwwICsxLDYgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCFET0NUWVBFIGRvYyBbCis8IUVMRU1FTlQgZG9jIEVNUFRZPgorPCFBVFRMSVNUIGRvYyB4bWxucyBDREFUQSAjRklYRUQgImh0dHA6Ly93d3cuZXhhbXBsZS5jb20vIj4KK10+Cis8ZG9jIHhtbG5zPSJodHRwOi8vd3d3LmV4YW1wbGUuY29tLyIvPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvbm9lbnQvZGVmYXR0cjIueG1sIGIvbGlieG1sMi9yZXN1bHQvbm9lbnQvZGVmYXR0cjIueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhkMWZjM2IKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9kZWZhdHRyMi54bWwKQEAgLTAsMCArMSw4IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhRE9DVFlQRSBkb2MgWworPCFFTEVNRU5UIGRvYyBFTVBUWT4KKzwhQVRUTElTVCBkb2MgZGVmYXR0ICgwIHwgMSkgIjAiPgorPCFBVFRMSVNUIGRvYyB4bWxuczp0c3QgQ0RBVEEgI0ZJWEVEICJodHRwOi8vZXhhbXBsZS5vcmciPgorPCFBVFRMSVNUIGRvYyB0c3Q6YXR0ICgwIHwgMSkgIjEiPgorXT4KKzxkb2MgeG1sbnM6dHN0PSJodHRwOi8vZXhhbXBsZS5vcmciIGF0dD0iMSIvPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvbm9lbnQvZGlhMSBiL2xpYnhtbDIvcmVzdWx0L25vZW50L2RpYTEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjA3YmQ3MwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L25vZW50L2RpYTEKQEAgLTAsMCArMSw5OSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8ZGlhOmRpYWdyYW0geG1sbnM6ZGlhPSJodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8iPgorICA8ZGlhOmRpYWdyYW1kYXRhPgorICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9ImJhY2tncm91bmQiPgorICAgICAgPGRpYTpjb2xvciB2YWw9IiNmZmZmZmYiLz4KKyAgICA8L2RpYTphdHRyaWJ1dGU+CisgIDwvZGlhOmRpYWdyYW1kYXRhPgorICA8ZGlhOmxheWVyIG5hbWU9IkJhY2tncm91bmQiIHZpc2libGU9InRydWUiPgorICAgIDxkaWE6b2JqZWN0IHR5cGU9IlN0YW5kYXJkIC0gTGluZSIgdmVyc2lvbj0iMCIgaWQ9Ik8wIj4KKyAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9Im9ial9wb3MiPgorICAgICAgICA8ZGlhOnBvaW50IHZhbD0iMS45NSw2Ljg1Ii8+CisgICAgICA8L2RpYTphdHRyaWJ1dGU+CisgICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJvYmpfYmIiPgorICAgICAgICA8ZGlhOnJlY3RhbmdsZSB2YWw9IjEuOSw2Ljg7MTEsOC41NSIvPgorICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0iY29ubl9lbmRwb2ludHMiPgorICAgICAgICA8ZGlhOnBvaW50IHZhbD0iMS45NSw2Ljg1Ii8+CisgICAgICAgIDxkaWE6cG9pbnQgdmFsPSIxMC45NSw4LjUiLz4KKyAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9ImxpbmVfY29sb3IiPgorICAgICAgICA8ZGlhOmNvbG9yIHZhbD0iIzAwMDAwMCIvPgorICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0ibGluZV93aWR0aCI+CisgICAgICAgIDxkaWE6cmVhbCB2YWw9IjAuMSIvPgorICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0ibGluZV9zdHlsZSI+CisgICAgICAgIDxkaWE6ZW51bSB2YWw9IjAiLz4KKyAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9InN0YXJ0X2Fycm93Ij4KKyAgICAgICAgPGRpYTplbnVtIHZhbD0iMCIvPgorICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0iZW5kX2Fycm93Ij4KKyAgICAgICAgPGRpYTplbnVtIHZhbD0iMCIvPgorICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgICAgPGRpYTpjb25uZWN0aW9ucz4KKyAgICAgICAgPGRpYTpjb25uZWN0aW9uIGhhbmRsZT0iMSIgdG89Ik8yIiBjb25uZWN0aW9uPSIzIi8+CisgICAgICA8L2RpYTpjb25uZWN0aW9ucz4KKyAgICA8L2RpYTpvYmplY3Q+CisgICAgPGRpYTpvYmplY3QgdHlwZT0iU3RhbmRhcmQgLSBUZXh0IiB2ZXJzaW9uPSIwIiBpZD0iTzEiPgorICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0ib2JqX3BvcyI+CisgICAgICAgIDxkaWE6cG9pbnQgdmFsPSI0LjgsNC43NSIvPgorICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0ib2JqX2JiIj4KKyAgICAgICAgPGRpYTpyZWN0YW5nbGUgdmFsPSIyLjU3OSwzLjk2MzU5OzcuMDIxLDQuOTYzNTkiLz4KKyAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9InRleHQiPgorICAgICAgICA8ZGlhOmNvbXBvc2l0ZSB0eXBlPSJ0ZXh0Ij4KKyAgICAgICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJzdHJpbmciPgorICAgICAgICAgICAgPGRpYTpzdHJpbmcgdmFsPSJzZGZzZGZnIi8+CisgICAgICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgICAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9ImZvbnQiPgorICAgICAgICAgICAgPGRpYTpmb250IG5hbWU9IkNvdXJpZXIiLz4KKyAgICAgICAgICA8L2RpYTphdHRyaWJ1dGU+CisgICAgICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0iaGVpZ2h0Ij4KKyAgICAgICAgICAgIDxkaWE6cmVhbCB2YWw9IjEiLz4KKyAgICAgICAgICA8L2RpYTphdHRyaWJ1dGU+CisgICAgICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0icG9zIj4KKyAgICAgICAgICAgIDxkaWE6cG9pbnQgdmFsPSI0LjgsNC43NSIvPgorICAgICAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJjb2xvciI+CisgICAgICAgICAgICA8ZGlhOmNvbG9yIHZhbD0iIzAwMDAwMCIvPgorICAgICAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJhbGlnbm1lbnQiPgorICAgICAgICAgICAgPGRpYTplbnVtIHZhbD0iMSIvPgorICAgICAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgICAgPC9kaWE6Y29tcG9zaXRlPgorICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgIDwvZGlhOm9iamVjdD4KKyAgICA8ZGlhOm9iamVjdCB0eXBlPSJTdGFuZGFyZCAtIEJveCIgdmVyc2lvbj0iMCIgaWQ9Ik8yIj4KKyAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9Im9ial9wb3MiPgorICAgICAgICA8ZGlhOnBvaW50IHZhbD0iMTAuOTUsNy41Ii8+CisgICAgICA8L2RpYTphdHRyaWJ1dGU+CisgICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJvYmpfYmIiPgorICAgICAgICA8ZGlhOnJlY3RhbmdsZSB2YWw9IjEwLjksNy40NTsxMy4wNSw5LjU1Ii8+CisgICAgICA8L2RpYTphdHRyaWJ1dGU+CisgICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJlbGVtX2Nvcm5lciI+CisgICAgICAgIDxkaWE6cG9pbnQgdmFsPSIxMC45NSw3LjUiLz4KKyAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9ImVsZW1fd2lkdGgiPgorICAgICAgICA8ZGlhOnJlYWwgdmFsPSIyLjA1Ii8+CisgICAgICA8L2RpYTphdHRyaWJ1dGU+CisgICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJlbGVtX2hlaWdodCI+CisgICAgICAgIDxkaWE6cmVhbCB2YWw9IjIiLz4KKyAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9ImJvcmRlcl93aWR0aCI+CisgICAgICAgIDxkaWE6cmVhbCB2YWw9IjAuMSIvPgorICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0iYm9yZGVyX2NvbG9yIj4KKyAgICAgICAgPGRpYTpjb2xvciB2YWw9IiMwMDAwMDAiLz4KKyAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9ImlubmVyX2NvbG9yIj4KKyAgICAgICAgPGRpYTpjb2xvciB2YWw9IiNmZmZmZmYiLz4KKyAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9ImxpbmVfc3R5bGUiPgorICAgICAgICA8ZGlhOmVudW0gdmFsPSIwIi8+CisgICAgICA8L2RpYTphdHRyaWJ1dGU+CisgICAgPC9kaWE6b2JqZWN0PgorICA8L2RpYTpsYXllcj4KKzwvZGlhOmRpYWdyYW0+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9ub2VudC9kaWEyIGIvbGlieG1sMi9yZXN1bHQvbm9lbnQvZGlhMgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMDdiZDczCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvbm9lbnQvZGlhMgpAQCAtMCwwICsxLDk5IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxkaWE6ZGlhZ3JhbSB4bWxuczpkaWE9Imh0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLyI+CisgIDxkaWE6ZGlhZ3JhbWRhdGE+CisgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0iYmFja2dyb3VuZCI+CisgICAgICA8ZGlhOmNvbG9yIHZhbD0iI2ZmZmZmZiIvPgorICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgPC9kaWE6ZGlhZ3JhbWRhdGE+CisgIDxkaWE6bGF5ZXIgbmFtZT0iQmFja2dyb3VuZCIgdmlzaWJsZT0idHJ1ZSI+CisgICAgPGRpYTpvYmplY3QgdHlwZT0iU3RhbmRhcmQgLSBMaW5lIiB2ZXJzaW9uPSIwIiBpZD0iTzAiPgorICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0ib2JqX3BvcyI+CisgICAgICAgIDxkaWE6cG9pbnQgdmFsPSIxLjk1LDYuODUiLz4KKyAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9Im9ial9iYiI+CisgICAgICAgIDxkaWE6cmVjdGFuZ2xlIHZhbD0iMS45LDYuODsxMSw4LjU1Ii8+CisgICAgICA8L2RpYTphdHRyaWJ1dGU+CisgICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJjb25uX2VuZHBvaW50cyI+CisgICAgICAgIDxkaWE6cG9pbnQgdmFsPSIxLjk1LDYuODUiLz4KKyAgICAgICAgPGRpYTpwb2ludCB2YWw9IjEwLjk1LDguNSIvPgorICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0ibGluZV9jb2xvciI+CisgICAgICAgIDxkaWE6Y29sb3IgdmFsPSIjMDAwMDAwIi8+CisgICAgICA8L2RpYTphdHRyaWJ1dGU+CisgICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJsaW5lX3dpZHRoIj4KKyAgICAgICAgPGRpYTpyZWFsIHZhbD0iMC4xIi8+CisgICAgICA8L2RpYTphdHRyaWJ1dGU+CisgICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJsaW5lX3N0eWxlIj4KKyAgICAgICAgPGRpYTplbnVtIHZhbD0iMCIvPgorICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0ic3RhcnRfYXJyb3ciPgorICAgICAgICA8ZGlhOmVudW0gdmFsPSIwIi8+CisgICAgICA8L2RpYTphdHRyaWJ1dGU+CisgICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJlbmRfYXJyb3ciPgorICAgICAgICA8ZGlhOmVudW0gdmFsPSIwIi8+CisgICAgICA8L2RpYTphdHRyaWJ1dGU+CisgICAgICA8ZGlhOmNvbm5lY3Rpb25zPgorICAgICAgICA8ZGlhOmNvbm5lY3Rpb24gaGFuZGxlPSIxIiB0bz0iTzIiIGNvbm5lY3Rpb249IjMiLz4KKyAgICAgIDwvZGlhOmNvbm5lY3Rpb25zPgorICAgIDwvZGlhOm9iamVjdD4KKyAgICA8ZGlhOm9iamVjdCB0eXBlPSJTdGFuZGFyZCAtIFRleHQiIHZlcnNpb249IjAiIGlkPSJPMSI+CisgICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJvYmpfcG9zIj4KKyAgICAgICAgPGRpYTpwb2ludCB2YWw9IjQuOCw0Ljc1Ii8+CisgICAgICA8L2RpYTphdHRyaWJ1dGU+CisgICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJvYmpfYmIiPgorICAgICAgICA8ZGlhOnJlY3RhbmdsZSB2YWw9IjIuNTc5LDMuOTYzNTk7Ny4wMjEsNC45NjM1OSIvPgorICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0idGV4dCI+CisgICAgICAgIDxkaWE6Y29tcG9zaXRlIHR5cGU9InRleHQiPgorICAgICAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9InN0cmluZyI+CisgICAgICAgICAgICA8ZGlhOnN0cmluZyB2YWw9InNkZnNkZmciLz4KKyAgICAgICAgICA8L2RpYTphdHRyaWJ1dGU+CisgICAgICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0iZm9udCI+CisgICAgICAgICAgICA8ZGlhOmZvbnQgbmFtZT0iQ291cmllciIvPgorICAgICAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJoZWlnaHQiPgorICAgICAgICAgICAgPGRpYTpyZWFsIHZhbD0iMSIvPgorICAgICAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJwb3MiPgorICAgICAgICAgICAgPGRpYTpwb2ludCB2YWw9IjQuOCw0Ljc1Ii8+CisgICAgICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgICAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9ImNvbG9yIj4KKyAgICAgICAgICAgIDxkaWE6Y29sb3IgdmFsPSIjMDAwMDAwIi8+CisgICAgICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgICAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9ImFsaWdubWVudCI+CisgICAgICAgICAgICA8ZGlhOmVudW0gdmFsPSIxIi8+CisgICAgICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgICAgICA8L2RpYTpjb21wb3NpdGU+CisgICAgICA8L2RpYTphdHRyaWJ1dGU+CisgICAgPC9kaWE6b2JqZWN0PgorICAgIDxkaWE6b2JqZWN0IHR5cGU9IlN0YW5kYXJkIC0gQm94IiB2ZXJzaW9uPSIwIiBpZD0iTzIiPgorICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0ib2JqX3BvcyI+CisgICAgICAgIDxkaWE6cG9pbnQgdmFsPSIxMC45NSw3LjUiLz4KKyAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9Im9ial9iYiI+CisgICAgICAgIDxkaWE6cmVjdGFuZ2xlIHZhbD0iMTAuOSw3LjQ1OzEzLjA1LDkuNTUiLz4KKyAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9ImVsZW1fY29ybmVyIj4KKyAgICAgICAgPGRpYTpwb2ludCB2YWw9IjEwLjk1LDcuNSIvPgorICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0iZWxlbV93aWR0aCI+CisgICAgICAgIDxkaWE6cmVhbCB2YWw9IjIuMDUiLz4KKyAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9ImVsZW1faGVpZ2h0Ij4KKyAgICAgICAgPGRpYTpyZWFsIHZhbD0iMiIvPgorICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0iYm9yZGVyX3dpZHRoIj4KKyAgICAgICAgPGRpYTpyZWFsIHZhbD0iMC4xIi8+CisgICAgICA8L2RpYTphdHRyaWJ1dGU+CisgICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJib3JkZXJfY29sb3IiPgorICAgICAgICA8ZGlhOmNvbG9yIHZhbD0iIzAwMDAwMCIvPgorICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0iaW5uZXJfY29sb3IiPgorICAgICAgICA8ZGlhOmNvbG9yIHZhbD0iI2ZmZmZmZiIvPgorICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0ibGluZV9zdHlsZSI+CisgICAgICAgIDxkaWE6ZW51bSB2YWw9IjAiLz4KKyAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICA8L2RpYTpvYmplY3Q+CisgIDwvZGlhOmxheWVyPgorPC9kaWE6ZGlhZ3JhbT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L25vZW50L2R0ZDEgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9kdGQxCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZiMTFmZmEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9kdGQxCkBAIC0wLDAgKzEsNCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IURPQ1RZUEUgTUVNTyBQVUJMSUMgIi0vL1NHTUxTT1VSQ0UvL0RURCBNRU1PLy9FTiIgImh0dHA6Ly93d3cuc2dtbHNvdXJjZS5jb20vZHRkcy9tZW1vLmR0ZCI+Cis8TUVNTz4KKzwvTUVNTz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L25vZW50L2R0ZDEwIGIvbGlieG1sMi9yZXN1bHQvbm9lbnQvZHRkMTAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGM3ZDVlNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L25vZW50L2R0ZDEwCkBAIC0wLDAgKzEsOSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IURPQ1RZUEUgZG9jIFsKKzwhRUxFTUVOVCBkb2MgKChhIHwgYikrICwgYyAsIGQpKj4KKzwhRUxFTUVOVCBhICgjUENEQVRBKT4KKzwhRUxFTUVOVCBiICgjUENEQVRBKT4KKzwhRUxFTUVOVCBjICgjUENEQVRBKT4KKzwhRUxFTUVOVCBkICgjUENEQVRBKT4KK10+Cis8ZG9jPjxiPlRoaXM8L2I+PGM+IGlzIGE8L2M+PGQ+IHZhbGlkIGRvY3VtZW50PC9kPjwvZG9jPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvbm9lbnQvZHRkMTEgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9kdGQxMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMGRmOGFmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvbm9lbnQvZHRkMTEKQEAgLTAsMCArMSw2IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhRE9DVFlQRSBkb2MgWworPCFFTEVNRU5UIGRvYyAoI1BDREFUQSk+Cis8IUFUVExJU1QgZG9jIHZhbCBDREFUQSAjSU1QTElFRD4KK10+Cis8ZG9jIHZhbD0idjEiLz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L25vZW50L2R0ZDEyIGIvbGlieG1sMi9yZXN1bHQvbm9lbnQvZHRkMTIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjBhZmY4MQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L25vZW50L2R0ZDEyCkBAIC0wLDAgKzEsNiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IURPQ1RZUEUgZG9jIFsKKzwhRU5USVRZIFlOICciWWVzIic+Cis8IUVOVElUWSBXaGF0SGVTYWlkICJIZSBzYWlkICZZTjsiPgorXT4KKzxkb2M+SGUgc2FpZCAiWWVzIjwvZG9jPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvbm9lbnQvZHRkMTMgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9kdGQxMwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yODE0MTQ2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvbm9lbnQvZHRkMTMKQEAgLTAsMCArMSw3IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhLS0gY29tbWVudCBiZWZvcmUgdGhlIERURCAtLT4KKzwhRE9DVFlQRSBkb2MgWworPCFFTEVNRU5UIGRvYyBBTlk+CitdPgorPCEtLSBjb21tZW50IGFmdGVyIHRoZSBEVEQgLS0+Cis8ZG9jLz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L25vZW50L2R0ZDIgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9kdGQyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkyMWZkOTQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9kdGQyCkBAIC0wLDAgKzEsNSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IURPQ1RZUEUgZG9jIFsKKzwhRUxFTUVOVCBkb2MgKCNQQ0RBVEEpPgorXT4KKzxkb2M+VGhpcyBpcyBhIHZhbGlkIGRvY3VtZW50ICE8L2RvYz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L25vZW50L2R0ZDMgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9kdGQzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY2ODFlZjcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9kdGQzCkBAIC0wLDAgKzEsNSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IURPQ1RZUEUgZG9jIFsKKzwhRUxFTUVOVCBkb2MgQU5ZPgorXT4KKzxkb2M+VGhpcyBpcyBhIHZhbGlkIGRvY3VtZW50ICE8L2RvYz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L25vZW50L2R0ZDQgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9kdGQ0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZjZjI0NDQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9kdGQ0CkBAIC0wLDAgKzEsNSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IURPQ1RZUEUgZG9jIFsKKzwhRUxFTUVOVCBkb2MgRU1QVFk+CitdPgorPGRvYy8+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9ub2VudC9kdGQ1IGIvbGlieG1sMi9yZXN1bHQvbm9lbnQvZHRkNQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NDA5ZDUxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvbm9lbnQvZHRkNQpAQCAtMCwwICsxLDcgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCFET0NUWVBFIGRvYyBbCis8IUVMRU1FTlQgZG9jICgjUENEQVRBIHwgYSB8IGIpKj4KKzwhRUxFTUVOVCBhICgjUENEQVRBKT4KKzwhRUxFTUVOVCBiICgjUENEQVRBKT4KK10+Cis8ZG9jPjxhPlRoaXM8L2E+IGlzIGEgPGI+dmFsaWQ8L2I+IGRvY3VtZW50PC9kb2M+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9ub2VudC9kdGQ2IGIvbGlieG1sMi9yZXN1bHQvbm9lbnQvZHRkNgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZDJkOTkzCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvbm9lbnQvZHRkNgpAQCAtMCwwICsxLDcgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCFET0NUWVBFIGRvYyBbCis8IUVMRU1FTlQgZG9jIChhIHwgYikqPgorPCFFTEVNRU5UIGEgKCNQQ0RBVEEpPgorPCFFTEVNRU5UIGIgKCNQQ0RBVEEpPgorXT4KKzxkb2M+PGE+VGhpczwvYT48Yj4gaXMgYSB2YWxpZDwvYj48YT4gZG9jdW1lbnQ8L2E+PC9kb2M+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9ub2VudC9kdGQ3IGIvbGlieG1sMi9yZXN1bHQvbm9lbnQvZHRkNwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYTQwNzVmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvbm9lbnQvZHRkNwpAQCAtMCwwICsxLDcgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCFET0NUWVBFIGRvYyBbCis8IUVMRU1FTlQgZG9jIChhICwgYikqPgorPCFFTEVNRU5UIGEgKCNQQ0RBVEEpPgorPCFFTEVNRU5UIGIgKCNQQ0RBVEEpPgorXT4KKzxkb2M+PGE+VGhpczwvYT48Yj4gaXMgYSB2YWxpZCBkb2N1bWVudDwvYj48L2RvYz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L25vZW50L2R0ZDggYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9kdGQ4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdhNjU1ZjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9kdGQ4CkBAIC0wLDAgKzEsOSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IURPQ1RZUEUgZG9jIFsKKzwhRUxFTUVOVCBkb2MgKChhIHwgYikgLCAoYyB8IGQpKSs+Cis8IUVMRU1FTlQgYSAoI1BDREFUQSk+Cis8IUVMRU1FTlQgYiAoI1BDREFUQSk+Cis8IUVMRU1FTlQgYyAoI1BDREFUQSk+Cis8IUVMRU1FTlQgZCAoI1BDREFUQSk+CitdPgorPGRvYz48Yj5UaGlzPC9iPjxjPiBpcyBhIHZhbGlkIGRvY3VtZW50PC9jPjwvZG9jPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvbm9lbnQvZHRkOSBiL2xpYnhtbDIvcmVzdWx0L25vZW50L2R0ZDkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODljYzFkNAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L25vZW50L2R0ZDkKQEAgLTAsMCArMSw5IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhRE9DVFlQRSBkb2MgWworPCFFTEVNRU5UIGRvYyAoKGEgfCBiIHwgYykgLCBkKT8+Cis8IUVMRU1FTlQgYSAoI1BDREFUQSk+Cis8IUVMRU1FTlQgYiAoI1BDREFUQSk+Cis8IUVMRU1FTlQgYyAoI1BDREFUQSk+Cis8IUVMRU1FTlQgZCAoI1BDREFUQSk+CitdPgorPGRvYz48Yj5UaGlzPC9iPjxkPiBpcyBhIHZhbGlkIGRvY3VtZW50PC9kPjwvZG9jPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvbm9lbnQvZWJjZGljXzU2NjAxMi54bWwgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9lYmNkaWNfNTY2MDEyLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNTNhZGQ1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvbm9lbnQvZWJjZGljXzU2NjAxMi54bWwKQEAgLTAsMCArMSBAQAorTG+nlJNApYWZoomWlX5/8Uvwf0CFlYOWhImVh35/ycLUYPHx9PF/b24lTKOFoqNAgaOjmX5/SuBaf2FuJQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L25vZW50L2VtcHR5Y2RhdGEueG1sIGIvbGlieG1sMi9yZXN1bHQvbm9lbnQvZW1wdHljZGF0YS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmM5ODM4OAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L25vZW50L2VtcHR5Y2RhdGEueG1sCkBAIC0wLDAgKzEsNCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+Cis8IVtDREFUQVtdXT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L25vZW50L2VudDEgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9lbnQxCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE0YmY0MjgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9lbnQxCkBAIC0wLDAgKzEsNyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IURPQ1RZUEUgRVhBTVBMRSBTWVNURU0gImV4YW1wbGUuZHRkIiBbCis8IUVOVElUWSB4bWwgIkV4dGVuc2libGUgTWFya3VwIExhbmd1YWdlIj4KK10+Cis8RVhBTVBMRT4KKyAgICBFeHRlbnNpYmxlIE1hcmt1cCBMYW5ndWFnZQorPC9FWEFNUExFPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvbm9lbnQvZW50MTAgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9lbnQxMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NDZhZmY4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvbm9lbnQvZW50MTAKQEAgLTAsMCArMSwxOCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/PgorPCFET0NUWVBFIHJub2RlIFsKKzwhRUxFTUVOVCBybm9kZSAoZik+Cis8IUVMRU1FTlQgZiAoI1BDREFUQSk+Cis8IUFUVExJU1QgZiBhdHQxIENEQVRBICNGSVhFRCAiSiI+Cis8IUVOVElUWSBmICIKKyAgIDxmPgorICAgaGVsbG8gd29ybGQKKyAgIDwvZj4KKyAgICI+CitdPgorPHJub2RlPgorICAgCisgICA8Zj4KKyAgIGhlbGxvIHdvcmxkCisgICA8L2Y+CisgICAKKzwvcm5vZGU+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9ub2VudC9lbnQxMSBiL2xpYnhtbDIvcmVzdWx0L25vZW50L2VudDExCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUxZTFlMGYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9lbnQxMQpAQCAtMCwwICsxLDYgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8IURPQ1RZUEUgZG9jIFsKKzwhRU5USVRZIG5ld2wgIiYjMTM7Ij4KK10+Cis8ZG9jPgorPC9kb2M+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9ub2VudC9lbnQxMiBiL2xpYnhtbDIvcmVzdWx0L25vZW50L2VudDEyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUzOTgzMTMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9lbnQxMgpAQCAtMCwwICsxLDggQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCFET0NUWVBFIHJvb3QgWworPCFFTlRJVFkgZm9vICJhYmMiPgorPCFFTlRJVFkgYmFyICJkZWYiPgorXT4KKzxyb290IGF0dHJpYnV0ZT0iYWJjIj4KKyAgIDxlbGVtZW50PmRlZjwvZWxlbWVudD4KKzwvcm9vdD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L25vZW50L2VudDEzIGIvbGlieG1sMi9yZXN1bHQvbm9lbnQvZW50MTMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDJiYzA2OQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L25vZW50L2VudDEzCkBAIC0wLDAgKzEsNSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IURPQ1RZUEUgdGVzdCBbCis8IUVOVElUWSBhbXBwcm9ibGVtICImYW1wOyI+CitdPgorPHQgYT0iJmFtcDsiPmE8L3Q+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9ub2VudC9lbnQyIGIvbGlieG1sMi9yZXN1bHQvbm9lbnQvZW50MgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNjQzYWMzCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvbm9lbnQvZW50MgpAQCAtMCwwICsxLDEyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhRE9DVFlQRSBFWEFNUExFIFNZU1RFTSAiZXhhbXBsZS5kdGQiIFsKKzwhRU5USVRZIHhtbCAiRXh0ZW5zaWJsZSBNYXJrdXAgTGFuZ3VhZ2UiPgorPCFFTlRJVFkgdGl0bGUgUFVCTElDICItLy9NWS1USVRMRS8vRlIiICJ0aXRsZS54bWwiPgorPCFFTlRJVFkgaW1hZ2UgU1lTVEVNICJpbWcuZ2lmIiBOREFUQSBHSUY+CitdPgorPEVYQU1QTEU+CisgIAorPHRpdGxlPm15IHRpdGxlPC90aXRsZT4KKworICBUaGlzIHRleHQgaXMgYWJvdXQgWE1MLCB0aGUgRXh0ZW5zaWJsZSBNYXJrdXAgTGFuZ3VhZ2UgYW5kIHRoaXMgaXMgYW4gZW1iZWRkZWQgPElNRyBzcmM9ImltYWdlIi8+Cis8L0VYQU1QTEU+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9ub2VudC9lbnQzIGIvbGlieG1sMi9yZXN1bHQvbm9lbnQvZW50MwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMWMwYjE0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvbm9lbnQvZW50MwpAQCAtMCwwICsxLDcgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCFET0NUWVBFIEVYQU1QTEUgU1lTVEVNICJleGFtcGxlLmR0ZCIgWworPCFFTlRJVFkgeG1sICJFeHRlbnNpYmxlIE1hcmt1cCBMYW5ndWFnZSI+CitdPgorPEVYQU1QTEUgcHJvcDE9ImEmYW1wO2IiIHByb3AyPSJFeHRlbnNpYmxlIE1hcmt1cCBMYW5ndWFnZSI+CisgIFRlc3Qgb2YgZW50aXRpZXMgaW4gYXR0cmlidXRlcy4KKzwvRVhBTVBMRT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L25vZW50L2VudDQgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9lbnQ0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE5MjE5NGMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9lbnQ0CkBAIC0wLDAgKzEsNyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IURPQ1RZUEUgRVhBTVBMRSBTWVNURU0gImV4YW1wbGUuZHRkIiBbCis8IUVOVElUWSB4bWwgIkV4dGVuc2libGUgTWFya3VwIExhbmd1YWdlIj4KK10+Cis8RVhBTVBMRT4KKyAgVGVzdCBvZiAmYW1wO2FtcDsgYmVoYXZpb3VyIGEmYW1wO2IgLgorPC9FWEFNUExFPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvbm9lbnQvZW50NSBiL2xpYnhtbDIvcmVzdWx0L25vZW50L2VudDUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTZlN2UxMAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L25vZW50L2VudDUKQEAgLTAsMCArMSw1IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxFWEFNUExFPgorICAgIFRoaXMgaXMgYW4gaW52ZXJ0ZWQgZXhjbGFtYXRpb24gc2lnbiAmI3hBMTsKKyAgICBUaGlzIGlzIGEgc3BhY2UgICAKKzwvRVhBTVBMRT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L25vZW50L2VudDYgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9lbnQ2Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA0N2Y5YmIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9lbnQ2CkBAIC0wLDAgKzEsOSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IURPQ1RZUEUgZG9jIFsKKzwhRU5USVRZIGx0ICImIzM4OyM2MDsiPgorPCFFTlRJVFkgZ3QgIiYjNjI7Ij4KKzwhRU5USVRZIGFtcCAiJiMzODsjMzg7Ij4KKzwhRU5USVRZIGFwb3MgIiYjMzk7Ij4KKzwhRU5USVRZIHF1b3QgIiYjMzQ7Ij4KK10+Cis8ZG9jLz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L25vZW50L2VudDcgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9lbnQ3Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFjODk1YWYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9lbnQ3CkBAIC0wLDAgKzEsOCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IURPQ1RZUEUgaXRlbSBbCis8IUVOVElUWSAlIHNhbXBsZUVudCAiPCFFTEVNRU5UIGl0ZW0gKHBhcmEpKz4iPgorPCFFTlRJVFkgc2FtcGxlRW50ICJ0aGUgaHlhY2ludGggZ2lybCI+Cis8IUVMRU1FTlQgaXRlbSAocGFyYSkrPgorPCFFTEVNRU5UIHBhcmEgKCNQQ0RBVEEpPgorXT4KKzxpdGVtPjxwYXJhPid0aGV5IGNhbGxlZCBtZSB0aGUgaHlhY2ludGggZ2lybCc8L3BhcmE+PC9pdGVtPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvbm9lbnQvZW50OCBiL2xpYnhtbDIvcmVzdWx0L25vZW50L2VudDgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjc2MjY2YwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L25vZW50L2VudDgKQEAgLTAsMCArMSwxMCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IURPQ1RZUEUgZG9jIFsKKzwhRU5USVRZIHRlc3QxICJ0ZXN0IDEiPgorPCFFTlRJVFkgdGVzdDIgInRlc3QgMiI+CitdPgorPGRvYz4KKyAgIDxDb250ZW50PlJldGVuJiN4RTc7JiN4RTM7bzwvQ29udGVudD4KKyAgIDxDb250ZW50PiZsdDsmZ3Q7PC9Db250ZW50PgorICAgPENvbnRlbnQ+dGVzdCAxdGVzdCAyPC9Db250ZW50PgorPC9kb2M+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9ub2VudC9lbnQ5IGIvbGlieG1sMi9yZXN1bHQvbm9lbnQvZW50OQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iOTMwZTRjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvbm9lbnQvZW50OQpAQCAtMCwwICsxLDYxIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhRE9DVFlQRSBkb2MgWworPCFFTlRJVFkgdGVzdDEgIjxhLz4sPGIvPiw8Yy8+LDxkLz4iPgorXT4KKzxkb2M+CisgICA8ZW50PjxhLz4sPGIvPiw8Yy8+LDxkLz48L2VudD4KKyAgIDxwPiBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtPC9wPgorICAgPHA+IFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW08L3A+CisgICA8cD4gV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8gdHJpZ2dlciB0aGUgcHJvYmxlbTwvcD4KKyAgIDxwPiBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtPC9wPgorICAgPHA+IFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW08L3A+CisgICA8cD4gV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8gdHJpZ2dlciB0aGUgcHJvYmxlbTwvcD4KKyAgIDxwPiBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtPC9wPgorICAgPHA+IFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW08L3A+CisgICA8cD4gV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8gdHJpZ2dlciB0aGUgcHJvYmxlbTwvcD4KKyAgIDxwPiBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtPC9wPgorICAgPHA+IFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW08L3A+CisgICA8cD4gV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8gdHJpZ2dlciB0aGUgcHJvYmxlbTwvcD4KKyAgIDxwPiBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtPC9wPgorICAgPHA+IFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW08L3A+CisgICA8cD4gV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8gdHJpZ2dlciB0aGUgcHJvYmxlbTwvcD4KKyAgIDxwPiBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtPC9wPgorICAgPHA+IFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW08L3A+CisgICA8cD4gV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8gdHJpZ2dlciB0aGUgcHJvYmxlbTwvcD4KKyAgIDxwPiBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtPC9wPgorICAgPHA+IFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW08L3A+CisgICA8cD4gV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8gdHJpZ2dlciB0aGUgcHJvYmxlbTwvcD4KKyAgIDxwPiBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtPC9wPgorICAgPHA+IFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW08L3A+CisgICA8cD4gV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8gdHJpZ2dlciB0aGUgcHJvYmxlbTwvcD4KKyAgIDxwPiBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtPC9wPgorICAgPHA+IFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW08L3A+CisgICA8cD4gV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8gdHJpZ2dlciB0aGUgcHJvYmxlbTwvcD4KKyAgIDxwPiBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtPC9wPgorICAgPHA+IFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW08L3A+CisgICA8cD4gV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8gdHJpZ2dlciB0aGUgcHJvYmxlbTwvcD4KKyAgIDxwPiBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtPC9wPgorICAgPHA+IFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW08L3A+CisgICA8cD4gV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8gdHJpZ2dlciB0aGUgcHJvYmxlbTwvcD4KKyAgIDxwPiBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtPC9wPgorICAgPHA+IFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW08L3A+CisgICA8cD4gV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8gdHJpZ2dlciB0aGUgcHJvYmxlbTwvcD4KKyAgIDxwPiBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtPC9wPgorICAgPHA+IFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW08L3A+CisgICA8cD4gV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8gdHJpZ2dlciB0aGUgcHJvYmxlbTwvcD4KKyAgIDxwPiBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtPC9wPgorICAgPHA+IFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW08L3A+CisgICA8cD4gV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8gdHJpZ2dlciB0aGUgcHJvYmxlbTwvcD4KKyAgIDxwPiBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtPC9wPgorICAgPHA+IFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW08L3A+CisgICA8cD4gV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8gdHJpZ2dlciB0aGUgcHJvYmxlbTwvcD4KKyAgIDxwPiBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtPC9wPgorICAgPHA+IFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW08L3A+CisgICA8cD4gV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8gdHJpZ2dlciB0aGUgcHJvYmxlbTwvcD4KKyAgIDxwPiBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtPC9wPgorICAgPHA+IFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW08L3A+CisgICA8cD4gV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8gdHJpZ2dlciB0aGUgcHJvYmxlbTwvcD4KKyAgIDxwPiBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtPC9wPgorICAgPHA+IFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW08L3A+CisgICA8ZW50PjxhLz4sPGIvPiw8Yy8+LDxkLz48L2VudD4KKzwvZG9jPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvbm9lbnQvZW50XzczODgwNS54bWwgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9lbnRfNzM4ODA1LnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZTQ0YTU1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvbm9lbnQvZW50XzczODgwNS54bWwKQEAgLTAsMCArMSwxNSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/PgorPCFET0NUWVBFIHNvbWVkb2MgWworPCFFTlRJVFkgYSAic29tZXRoaW5nIj4KKzwhRU5USVRZIGIgIiZhOyI+CitdPgorPHNvbWVkb2M+CisKKzxzb21lYmVhY29uIHNvbWVhdHRyaWJ1dGU9InNvbWV0aGluZyIvPgorCitzb21ldGhpbmcgc2hvdWxkIGFwcGVhciBhZnRlciBjb2xvbjogc29tZXRoaW5nCitzb21ldGhpbmcgc2hvdWxkIGFwcGVhciBhZnRlciBjb2xvbjogc29tZXRoaW5nCitzb21ldGhpbmcgc2hvdWxkIGFwcGVhciBhZnRlciBjb2xvbjogc29tZXRoaW5nCitzb21ldGhpbmcgc2hvdWxkIGFwcGVhciBhZnRlciBjb2xvbjogc29tZXRoaW5nCisKKzwvc29tZWRvYz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L25vZW50L2V2ZS54bWwgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9ldmUueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRhYjcyMDgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9ldmUueG1sCkBAIC0wLDAgKzEsNiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzwhRE9DVFlQRSBzcGVjIFBVQkxJQyAiLS8vdGVzdHNwZWMvLyIgImR0ZHMvZXZlLmR0ZCIgWworPCFFTlRJVFkgaXNvNi5kb2MuZGF0ZSAiMjktTWF5LTE5OTkiPgorXT4KKzxzcGVjPgorPC9zcGVjPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvbm9lbnQvaW50c3Vic2V0LnhtbCBiL2xpYnhtbDIvcmVzdWx0L25vZW50L2ludHN1YnNldC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmQ4NTc5NQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L25vZW50L2ludHN1YnNldC54bWwKQEAgLTAsMCArMSw1IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIHN0YW5kYWxvbmU9InllcyI/PgorPCFET0NUWVBFIHJvb3QgWworPCFFTEVNRU5UIHJvb3QgRU1QVFk+Cis8IS0tICAiIC0tPl0+Cis8cm9vdC8+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9ub2VudC9pbnRzdWJzZXQyLnhtbCBiL2xpYnhtbDIvcmVzdWx0L25vZW50L2ludHN1YnNldDIueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIxMDM5NTUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9pbnRzdWJzZXQyLnhtbApAQCAtMCwwICsxLDI1MCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IURPQ1RZUEUga2FuamlkaWMyIFsKKzwhLS0gVmVyc2lvbiAxLjMKKwlUaGlzIGlzIHRoZSBEVEQgb2YgdGhlIFhNTC1mb3JtYXQga2FuamkgZmlsZSBjb21iaW5pbmcgaW5mb3JtYXRpb24gZnJvbQorCXRoZSBLQU5KSURJQyBhbmQgS0FOSkQyMTIgZmlsZXMuIEl0IGlzIGludGVuZGVkIHRvIGJlIGxhcmdlbHkgc2VsZi0KKwlkb2N1bWVudGluZywgd2l0aCBlYWNoIGZpZWxkIGJlaW5nIGFjY29tcGFuaWVkIGJ5IGFuIGV4cGxhbmF0b3J5CisJY29tbWVudC4KKworCVRoZSBmaWxlIGNvdmVycyB0aGUgZm9sbG93aW5nIGthbmppOgorCShhKSB0aGUgNiwzNTUga2FuamkgZnJvbSBKSVMgWCAwMjA4OworCShiKSB0aGUgNSw4MDEga2FuamkgZnJvbSBKSVMgWCAwMjEyOworCShjKSB0aGUgMyw2MjUga2FuamkgZnJvbSBKSVMgWCAwMjEzIGFzIGZvbGxvd3M6CisJCShpKSB0aGUgMiw3NDEga2Fuamkgd2hpY2ggYXJlIGFsc28gaW4gSklTIFggMDIxMiBoYXZlCisJCUpJUyBYIDAyMTMgY29kZS1wb2ludHMgKGt1dGVuKSBhZGRlZCB0byB0aGUgZXhpc3RpbmcgZW50cnk7CisJCShpaSkgdGhlIDg4NCAibmV3IiBrYW5qaSBoYXZlIG5ldyBlbnRyaWVzLgorCisJQXQgdGhlIGVuZCBvZiB0aGUgZXhwbGFuYXRpb24gZm9yIGEgbnVtYmVyIG9mIGZpZWxkcyB0aGVyZSBpcyBhIHRhZworCXdpdGggdGhlIGZvcm1hdCBbTl0uIFRoaXMgaW5kaWNhdGVzIHRoZSBsZWFkaW5nIGxldHRlcihzKSBvZiB0aGUKKwllcXVpdmFsZW50IGZpZWxkIGluIHRoZSBLQU5KSURJQyBhbmQgS0FOSkQyMTIgZmlsZXMuCisKKwlUaGUgS0FOSklESUMgZG9jdW1lbnRhdGlvbiBzaG91bGQgYWxzbyBiZSByZWFkIGZvciBhZGRpdGlvbmFsIAorCWluZm9ybWF0aW9uIGFib3V0IHRoZSBpbmZvcm1hdGlvbiBpbiB0aGUgZmlsZS4KKwktLT48IUVMRU1FTlQga2FuamlkaWMyIChoZWFkZXIgLCBjaGFyYWN0ZXIqKT4KKzwhRUxFTUVOVCBoZWFkZXIgKGZpbGVfdmVyc2lvbiAsIGRhdGFiYXNlX3ZlcnNpb24gLCBkYXRlX29mX2NyZWF0aW9uKT4KKzwhLS0KKwlUaGUgc2luZ2xlIGhlYWRlciBlbGVtZW50IHdpbGwgY29udGFpbiBpZGVudGlmaWNhdGlvbiBpbmZvcm1hdGlvbgorCWFib3V0IHRoZSB2ZXJzaW9uIG9mIHRoZSBmaWxlIAorCS0tPjwhRUxFTUVOVCBmaWxlX3ZlcnNpb24gKCNQQ0RBVEEpPgorPCEtLQorCVRoaXMgZmllbGQgZGVub3RlcyB0aGUgdmVyc2lvbiBvZiBrYW5qaWRpYzIgc3RydWN0dXJlLCBhcyBtb3JlCisJdGhhbiBvbmUgdmVyc2lvbiBtYXkgZXhpc3QuCisJLS0+PCFFTEVNRU5UIGRhdGFiYXNlX3ZlcnNpb24gKCNQQ0RBVEEpPgorPCEtLQorCVRoZSB2ZXJzaW9uIG9mIHRoZSBmaWxlLCBpbiB0aGUgZm9ybWF0IFlZWVktTk4sIHdoZXJlIE5OIHdpbGwgYmUKKwlhIG51bWJlciBzdGFydGluZyB3aXRoIDAxIGZvciB0aGUgZmlyc3QgdmVyc2lvbiByZWxlYXNlZCBpbiBhCisJY2FsZW5kYXIgeWVhciwgdGhlbiBpbmNyZWFzaW5nIGZvciBlYWNoIHZlcnNpb24gaW4gdGhhdCB5ZWFyLgorCS0tPjwhRUxFTUVOVCBkYXRlX29mX2NyZWF0aW9uICgjUENEQVRBKT4KKzwhLS0KKwlUaGUgZGF0ZSB0aGUgZmlsZSB3YXMgY3JlYXRlZCBpbiBpbnRlcm5hdGlvbmFsIGZvcm1hdCAoWVlZWS1NTS1ERCkuCisJLS0+PCFFTEVNRU5UIGNoYXJhY3RlciAobGl0ZXJhbCAsIGNvZGVwb2ludCAsIHJhZGljYWwgLCBtaXNjICwgZGljX251bWJlcj8gLCBxdWVyeV9jb2RlPyAsIHJlYWRpbmdfbWVhbmluZz8gLCBuYW5vcmk/KSo+Cis8IUVMRU1FTlQgbGl0ZXJhbCAoI1BDREFUQSk+Cis8IS0tCisJVGhlIGNoYXJhY3RlciBpdHNlbGYgaW4gVVRGOCBjb2RpbmcuCisJLS0+PCFFTEVNRU5UIGNvZGVwb2ludCAoY3BfdmFsdWUpKz4KKzwhLS0gCisJVGhlIGNvZGVwb2ludCBlbGVtZW50IHN0YXRlcyB0aGUgY29kZSBvZiB0aGUgY2hhcmFjdGVyIGluIHRoZSB2YXJpb3VzCisJY2hhcmFjdGVyIHNldCBzdGFuZGFyZHMuCisJLS0+PCFFTEVNRU5UIGNwX3ZhbHVlICgjUENEQVRBKT4KKzwhLS0gCisJVGhlIGNwX3ZhbHVlIGNvbnRhaW5zIHRoZSBjb2RlcG9pbnQgb2YgdGhlIGNoYXJhY3RlciBpbiBhIHBhcnRpY3VsYXIKKwlzdGFuZGFyZC4gVGhlIHN0YW5kYXJkIHdpbGwgYmUgaWRlbnRpZmllZCBpbiB0aGUgY3BfdHlwZSBhdHRyaWJ1dGUuCisJLS0+PCFBVFRMSVNUIGNwX3ZhbHVlIGNwX3R5cGUgQ0RBVEEgI1JFUVVJUkVEPgorPCEtLSAKKwlUaGUgY3BfdHlwZSBhdHRyaWJ1dGUgc3RhdGVzIHRoZSBjb2Rpbmcgc3RhbmRhcmQgYXBwbHlpbmcgdG8gdGhlCisJZWxlbWVudC4gVGhlIHZhbHVlcyBhc3NpZ25lZCBzbyBmYXIgYXJlOgorCQlqaXMyMDggLSBKSVMgWCAwMjA4LTE5OTcgLSBrdXRlbiBjb2RpbmcgKG5uLW5uKQorCQlqaXMyMTIgLSBKSVMgWCAwMjEyLTE5OTAgLSBrdXRlbiBjb2RpbmcgKG5uLW5uKQorCQlqaXMyMTMgLSBKSVMgWCAwMjEzLTIwMDAgLSBrdXRlbiBjb2RpbmcgKHAtbm4tbm4pCisJCXVjcyAtIFVuaWNvZGUgNC4wIC0gaGV4IGNvZGluZyAoNCBvciA1IGhleGFkZWNpbWFsIGRpZ2l0cykKKwktLT48IUVMRU1FTlQgcmFkaWNhbCAocmFkX3ZhbHVlKSs+Cis8IUVMRU1FTlQgcmFkX3ZhbHVlICgjUENEQVRBKT4KKzwhLS0gCisJVGhlIHJhZGljYWwgbnVtYmVyLCBpbiB0aGUgcmFuZ2UgMSB0byAyMTQuIFRoZSBwYXJ0aWN1bGFyCisJY2xhc3NpZmljYXRpb24gdHlwZSBpcyBzdGF0ZWQgaW4gdGhlIHJhZF90eXBlIGF0dHJpYnV0ZS4KKwktLT48IUFUVExJU1QgcmFkX3ZhbHVlIHJhZF90eXBlIENEQVRBICNSRVFVSVJFRD4KKzwhLS0gCisJVGhlIHJhZF90eXBlIGF0dHJpYnV0ZSBzdGF0ZXMgdGhlIHR5cGUgb2YgcmFkaWNhbCBjbGFzc2lmaWNhdGlvbi4KKwkJY2xhc3NpY2FsIC0gYXMgcmVjb3JkZWQgaW4gdGhlIEthbmdYaSBaaWRpYW4uCisJCW5lbHNvbiAtIGFzIHVzZWQgaW4gdGhlIE5lbHNvbiAiTW9kZXJuIEphcGFuZXNlLUVuZ2xpc2ggCisJCUNoYXJhY3RlciBEaWN0aW9uYXJ5IiAoaS5lLiB0aGUgQ2xhc3NpYywgbm90IHRoZSBOZXcgTmVsc29uKS4KKwkJVGhpcyB3aWxsIG9ubHkgYmUgdXNlZCB3aGVyZSBOZWxzb24gcmVjbGFzc2lmaWVkIHRoZSBrYW5qaS4KKwktLT48IUVMRU1FTlQgbWlzYyAoZ3JhZGU/ICwgc3Ryb2tlX2NvdW50KyAsIHZhcmlhbnQqICwgZnJlcSogLCByYWRfbmFtZSopPgorPCFFTEVNRU5UIGdyYWRlICgjUENEQVRBKT4KKzwhLS0gCisJVGhlIEpvdXlvdSBLYW5qaSBncmFkZSBsZXZlbC4gMSB0aHJvdWdoIDYgaW5kaWNhdGUgdGhlIGdyYWRlIGluIHdoaWNoCisJdGhlIGthbmppIGlzIHRhdWdodCBpbiBKYXBhbmVzZSBzY2hvb2xzLiA4IGluZGljYXRlcyBpdCBpcyBvbmUgb2YgdGhlCisJcmVtYWluaW5nIEpvdXlvdSBLYW5qaSB0byBiZSBsZWFybmVkIGluIGp1bmlvciBoaWdoIHNjaG9vbCwgYW5kIDkgCisJaW5kaWNhdGVzIGl0IGlzIGEgSmlubWVpeW91IChmb3IgdXNlIGluIG5hbWVzKSBrYW5qaS4gW0ddCisJLS0+PCFFTEVNRU5UIHN0cm9rZV9jb3VudCAoI1BDREFUQSk+Cis8IS0tIAorCVRoZSBzdHJva2UgY291bnQgb2YgdGhlIGthbmppLCBpbmNsdWRpbmcgdGhlIHJhZGljYWwuIElmIG1vcmUgdGhhbiAKKwlvbmUsIHRoZSBmaXJzdCBpcyBjb25zaWRlcmVkIHRoZSBhY2NlcHRlZCBjb3VudCwgd2hpbGUgc3Vic2VxdWVudCBvbmVzIAorCWFyZSBjb21tb24gbWlzY291bnRzLiAoU2VlIEFwcGVuZGl4IEUuIG9mIHRoZSBLQU5KSURJQyBkb2N1bWVudGF0aW9uCisJZm9yIHNvbWUgb2YgdGhlIHJ1bGVzIGFwcGxpZWQgd2hlbiBjb3VudGluZyBzdHJva2VzIGluIHNvbWUgb2YgdGhlIAorCXJhZGljYWxzLikgW1NdCisJLS0+PCFFTEVNRU5UIHZhcmlhbnQgKCNQQ0RBVEEpPgorPCEtLSAKKwlBIGNyb3NzLXJlZmVyZW5jZSBjb2RlIHRvIGFub3RoZXIga2FuamksIHVzdWFsbHkgcmVnYXJkZWQgYXMgYSB2YXJpYW50LgorCVRoZSB0eXBlIG9mIGNyb3NzLXJlZmVyZW5jZSBpcyBnaXZlbiBpbiB0aGUgdmFyX3R5cGUgYXR0cmlidXRlLgorCS0tPjwhQVRUTElTVCB2YXJpYW50IHZhcl90eXBlIENEQVRBICNSRVFVSVJFRD4KKzwhLS0gCisJVGhlIHZhcl90eXBlIGF0dHJpYnV0ZSBpbmRpY2F0ZXMgdGhlIHR5cGUgb2YgdmFyaWFudCBjb2RlLiBUaGUgY3VycmVudAorCXZhbHVlcyBhcmU6IAorCQlqaXMyMDggLSBpbiBKSVMgWCAwMjA4IC0ga3V0ZW4gY29kaW5nCisJCWppczIxMiAtIGluIEpJUyBYIDAyMTIgLSBrdXRlbiBjb2RpbmcKKwkJamlzMjEzIC0gaW4gSklTIFggMDIxMyAtIGt1dGVuIGNvZGluZworCQlkZXJvbyAtIERlIFJvbyBudW1iZXIgLSBudW1lcmljCisJCW5qZWNkIC0gSGFscGVybiBOSkVDRCBpbmRleCBudW1iZXIgLSBudW1lcmljCisJCXNfaCAtIFRoZSBLYW5qaSBEaWN0aW9uYXJ5IChTcGFobiAmIEhhZGFtaXR6a3kpIC0gZGVzY3JpcHRvcgorCQluZWxzb24gLSAiQ2xhc3NpYyIgTmVsc29uIC0gbnVtZXJpYworCQlvbmVpbGwgLSBKYXBhbmVzZSBOYW1lcyAoTydOZWlsbCkgLSBudW1lcmljCisJLS0+PCFFTEVNRU5UIGZyZXEgKCNQQ0RBVEEpPgorPCEtLSAKKwlBIGZyZXF1ZW5jeS1vZi11c2UgcmFua2luZy4gVGhlIDIsNTAwIG1vc3QtdXNlZCBjaGFyYWN0ZXJzIGhhdmUgYSAKKwlyYW5raW5nOyB0aG9zZSBjaGFyYWN0ZXJzIHRoYXQgbGFjayB0aGlzIGZpZWxkIGFyZSBub3QgcmFua2VkLiBUaGUgCisJZnJlcXVlbmN5IGlzIGEgbnVtYmVyIGZyb20gMSB0byAyLDUwMCB0aGF0IGV4cHJlc3NlcyB0aGUgcmVsYXRpdmUgCisJZnJlcXVlbmN5IG9mIG9jY3VycmVuY2Ugb2YgYSBjaGFyYWN0ZXIgaW4gbW9kZXJuIEphcGFuZXNlLiBUaGlzIGlzCisJYmFzZWQgb24gYSBzdXJ2ZXkgaW4gbmV3c3BhcGVycywgc28gaXQgaXMgYmlhc3NlZCB0b3dhcmRzIGthbmppCisJdXNlZCBpbiBuZXdzcGFwZXIgYXJ0aWNsZXMuIFRoZSBkaXNjcmltaW5hdGlvbiBiZXR3ZWVuIHRoZSBsZXNzCisJZnJlcXVlbnRseSB1c2VkIGthbmppIGlzIG5vdCBzdHJvbmcuCisJLS0+PCFFTEVNRU5UIHJhZF9uYW1lICgjUENEQVRBKT4KKzwhLS0gCisJV2hlbiB0aGUga2FuamkgaXMgaXRzZWxmIGEgcmFkaWNhbCBhbmQgaGFzIGEgbmFtZSwgdGhpcyBlbGVtZW50CisJY29udGFpbnMgdGhlIG5hbWUgKGluIGhpcmFnYW5hLikgW1QyXQorCS0tPjwhRUxFTUVOVCBkaWNfbnVtYmVyIChkaWNfcmVmKSs+Cis8IS0tIAorCVRoaXMgZWxlbWVudCBjb250YWlucyB0aGUgaW5kZXggbnVtYmVycyBhbmQgc2ltaWxhciB1bnN0cnVjdHVyZWQKKwlpbmZvcm1hdGlvbiBzdWNoIGFzIHBhZ2UgbnVtYmVycyBpbiBhIG51bWJlciBvZiBwdWJsaXNoZWQgZGljdGlvbmFyaWVzLAorCWFuZCBpbnN0cnVjdGlvbmFsIGJvb2tzIG9uIGthbmppLgorCS0tPjwhRUxFTUVOVCBkaWNfcmVmICgjUENEQVRBKT4KKzwhLS0gCisJRWFjaCBkaWNfcmVmIGNvbnRhaW5zIGFuIGluZGV4IG51bWJlci4gVGhlIHBhcnRpY3VsYXIgZGljdGlvbmFyeSwKKwlldGMuIGlzIGRlZmluZWQgYnkgdGhlIGRyX3R5cGUgYXR0cmlidXRlLgorCS0tPjwhQVRUTElTVCBkaWNfcmVmIGRyX3R5cGUgQ0RBVEEgI1JFUVVJUkVEPgorPCEtLSAKKwlUaGUgZHJfdHlwZSBkZWZpbmVzIHRoZSBkaWN0aW9uYXJ5IG9yIHJlZmVyZW5jZSBib29rLCBldGMuIHRvIHdoaWNoCisJZGljX3JlZiBlbGVtZW50IGFwcGxpZXMuIFRoZSBpbml0aWFsIGFsbG9jYXRpb24gaXM6CisJICBuZWxzb25fYyAtICJNb2Rlcm4gUmVhZGVyJ3MgSmFwYW5lc2UtRW5nbGlzaCBDaGFyYWN0ZXIgRGljdGlvbmFyeSIsICAKKwkgIAllZGl0ZWQgYnkgQW5kcmV3IE5lbHNvbiAobm93IHB1Ymxpc2hlZCBhcyB0aGUgIkNsYXNzaWMiIAorCSAgCU5lbHNvbikuCisJICBuZWxzb25fbiAtICJUaGUgTmV3IE5lbHNvbiBKYXBhbmVzZS1FbmdsaXNoIENoYXJhY3RlciBEaWN0aW9uYXJ5IiwgCisJICAJZWRpdGVkIGJ5IEpvaG4gSGFpZy4KKwkgIGhhbHBlcm5fbmplY2QgLSAiTmV3IEphcGFuZXNlLUVuZ2xpc2ggQ2hhcmFjdGVyIERpY3Rpb25hcnkiLCAKKwkgIAllZGl0ZWQgYnkgSmFjayBIYWxwZXJuLgorCSAgaGFscGVybl9ra2xkIC0gIkthbmppIExlYXJuZXJzIERpY3Rpb25hcnkiIChLb2RhbnNoYSkgZWRpdGVkIGJ5IAorCSAgCUphY2sgSGFscGVybi4KKwkgIGhlaXNpZyAtICJSZW1lbWJlcmluZyBUaGUgIEthbmppIiAgYnkgIEphbWVzIEhlaXNpZy4KKwkgIGdha2tlbiAtICJBICBOZXcgRGljdGlvbmFyeSBvZiBLYW5qaSBVc2FnZSIgKEdha2tlbikKKwkgIG9uZWlsbF9uYW1lcyAtICJKYXBhbmVzZSBOYW1lcyIsIGJ5IFAuRy4gTydOZWlsbC4gCisJICBvbmVpbGxfa2sgLSAiRXNzZW50aWFsIEthbmppIiBieSBQLkcuIE8nTmVpbGwuCisJICBtb3JvIC0gIkRhaWthbndhaml0ZW4iIGNvbXBpbGVkIGJ5IE1vcm9oYXNoaS4gRm9yIHNvbWUga2FuamkgdHdvCisJICAJYWRkaXRpb25hbCBhdHRyaWJ1dGVzIGFyZSB1c2VkOiBtX3ZvbDogIHRoZSB2b2x1bWUgb2YgdGhlCisJICAJZGljdGlvbmFyeSBpbiB3aGljaCB0aGUga2FuamkgaXMgZm91bmQsIGFuZCBtX3BhZ2U6IHRoZSBwYWdlCisJICAJbnVtYmVyIGluIHRoZSB2b2x1bWUuCisJICBoZW5zaGFsbCAtICJBIEd1aWRlIFRvIFJlbWVtYmVyaW5nIEphcGFuZXNlIENoYXJhY3RlcnMiIGJ5CisJICAJS2VubmV0aCBHLiAgSGVuc2hhbGwuCisJICBzaF9rayAtICJLYW5qaSBhbmQgS2FuYSIgYnkgU3BhaG4gYW5kIEhhZGFtaXR6a3kuCisJICBzYWthZGUgLSAiQSBHdWlkZSBUbyBSZWFkaW5nIGFuZCBXcml0aW5nIEphcGFuZXNlIiBlZGl0ZWQgYnkKKwkgIAlGbG9yZW5jZSBTYWthZGUuCisJICBoZW5zaGFsbDMgLSAiQSBHdWlkZSBUbyBSZWFkaW5nIGFuZCBXcml0aW5nIEphcGFuZXNlIiAzcmQKKwkJZWRpdGlvbiwgZWRpdGVkIGJ5IEhlbnNoYWxsLCBTZWVsZXkgYW5kIERlIEdyb290LgorCSAgdHV0dF9jYXJkcyAtIFR1dHRsZSBLYW5qaSBDYXJkcywgY29tcGlsZWQgYnkgQWxleGFuZGVyIEthc2suCisJICBjcm93bGV5IC0gIlRoZSBLYW5qaSBXYXkgdG8gSmFwYW5lc2UgTGFuZ3VhZ2UgUG93ZXIiIGJ5CisJICAJRGFsZSBDcm93bGV5LgorCSAga2FuamlfaW5fY29udGV4dCAtICJLYW5qaSBpbiBDb250ZXh0IiBieSBOaXNoaWd1Y2hpIGFuZCBLb25vLgorCSAgYnVzeV9wZW9wbGUgLSAiSmFwYW5lc2UgRm9yIEJ1c3kgUGVvcGxlIiB2b2xzIEktSUlJLCBwdWJsaXNoZWQKKwkJYnkgdGhlIEFKTFQuIFRoZSBjb2RlcyBhcmUgdGhlIHZvbHVtZS5jaGFwdGVyLgorCSAga29kYW5zaGFfY29tcGFjdCAtIHRoZSAiS29kYW5zaGEgQ29tcGFjdCBLYW5qaSBHdWlkZSIuCisJLS0+PCFBVFRMSVNUIGRpY19yZWYgbV92b2wgQ0RBVEEgI0lNUExJRUQ+Cis8IS0tIAorCVNlZSBhYm92ZSB1bmRlciAibW9ybyIuCisJLS0+PCFBVFRMSVNUIGRpY19yZWYgbV9wYWdlIENEQVRBICNJTVBMSUVEPgorPCEtLSAKKwlTZWUgYWJvdmUgdW5kZXIgIm1vcm8iLgorCS0tPjwhRUxFTUVOVCBxdWVyeV9jb2RlIChxX2NvZGUpKz4KKzwhLS0gCisJVGhlc2UgY29kZXMgY29udGFpbiBpbmZvcm1hdGlvbiByZWxhdGluZyB0byB0aGUgZ2x5cGgsIGFuZCBjYW4gYmUgdXNlZAorCWZvciBmaW5kaW5nIGEgcmVxdWlyZWQga2FuamkuIFRoZSB0eXBlIG9mIGNvZGUgaXMgZGVmaW5lZCBieSB0aGUKKwlxY190eXBlIGF0dHJpYnV0ZS4KKwktLT48IUVMRU1FTlQgcV9jb2RlICgjUENEQVRBKT4KKzwhLS0KKwlUaGUgcV9jb2RlIGNvbnRhaW5zIHRoZSBhY3R1YWwgcXVlcnktY29kZSB2YWx1ZSwgYWNjb3JkaW5nIHRvIHRoZQorCXFjX3R5cGUgYXR0cmlidXRlLgorCS0tPjwhQVRUTElTVCBxX2NvZGUgcWNfdHlwZSBDREFUQSAjUkVRVUlSRUQ+Cis8IS0tIAorCVRoZSBxX2NvZGUgYXR0cmlidXRlIGRlZmluZXMgdGhlIHR5cGUgb2YgcXVlcnkgY29kZS4gVGhlIGN1cnJlbnQgdmFsdWVzCisJYXJlOgorCSAgc2tpcCAtICBIYWxwZXJuJ3MgU0tJUCAoU3lzdGVtICBvZiAgS2FuamkgIEluZGV4aW5nICBieSAgUGF0dGVybnMpIAorCSAgCWNvZGUuIFRoZSAgZm9ybWF0IGlzIG4tbm4tbm4uICBTZWUgdGhlIEtBTkpJRElDICBkb2N1bWVudGF0aW9uIAorCSAgCWZvciAgYSBkZXNjcmlwdGlvbiBvZiB0aGUgY29kZSBhbmQgcmVzdHJpY3Rpb25zIG9uICB0aGUgCisJICAJY29tbWVyY2lhbCAgdXNlICBvZiB0aGlzIGRhdGEuIFtQXQorCisJICBzaF9kZXNjIC0gdGhlIGRlc2NyaXB0b3IgY29kZXMgZm9yIFRoZSBLYW5qaSBEaWN0aW9uYXJ5IChUdXR0bGUgCisJICAJMTk5NikgYnkgU3BhaG4gYW5kIEhhZGFtaXR6a3kuIFRoZXkgYXJlIGluIHRoZSBmb3JtIG54bm4ubiwgIAorCSAgCWUuZy4gIDNrMTEuMiwgd2hlcmUgdGhlICBrYW5qaSBoYXMgMyBzdHJva2VzIGluIHRoZSAKKwkgIAlpZGVudGlmeWluZyByYWRpY2FsLCBpdCBpcyByYWRpY2FsICJrIiBpbiB0aGUgU0ggCisJICAJY2xhc3NpZmljYXRpb24gc3lzdGVtLCB0aGVyZSBhcmUgMTEgb3RoZXIgc3Ryb2tlcywgYW5kIGl0IGlzIAorCSAgCXRoZSAybmQga2FuamkgaW4gdGhlIDNrMTEgc2VxdWVuY2UuIChJIGFtIHZlcnkgZ3JhdGVmdWwgdG8gCisJICAJTWFyayBTcGFobiBmb3IgcHJvdmlkaW5nIHRoZSBsaXN0IG9mIHRoZXNlIGRlc2NyaXB0b3IgY29kZXMgCisJICAJZm9yIHRoZSBrYW5qaSBpbiB0aGlzIGZpbGUuKSBbSV0KKwkgIGZvdXJfY29ybmVyIC0gdGhlICJGb3VyIENvcm5lciIgY29kZSBmb3IgdGhlIGthbmppLiBUaGlzIGlzIGEgY29kZSAKKwkgIAlpbnZlbnRlZCBieSBXYW5nIENoZW4gaW4gMTkyOC4gU2VlIHRoZSBLQU5KSURJQyBkb2N1bWVudGF0aW9uIAorCSAgCWZvciAgYW4gb3ZlcnZpZXcgb2YgIHRoZSBGb3VyIENvcm5lciBTeXN0ZW0uIFtRXQorCisJICBkZXJvbyAtIHRoZSBjb2RlcyBkZXZlbG9wZWQgYnkgdGhlIGxhdGUgRmF0aGVyIEpvc2VwaCBEZSBSb28sIGFuZCAKKwkgIAlwdWJsaXNoZWQgaW4gIGhpcyBib29rICIyMDAxIEthbmppIiAoQm9qaW5zaGEpLiBGciBEZSBSb28gCisJICAJZ2F2ZSBoaXMgcGVybWlzc2lvbiBmb3IgdGhlc2UgY29kZXMgdG8gYmUgaW5jbHVkZWQuIFtEUl0KKwkgIG1pc2NsYXNzIC0gYSBwb3NzaWJsZSBtaXNjbGFzc2lmaWNhdGlvbiBvZiB0aGUga2FuamkgYWNjb3JkaW5nCisJCXRvIG9uZSBvZiB0aGUgY29kZSB0eXBlcy4gKFNlZSB0aGUgIloiIGNvZGVzIGluIHRoZSBLQU5KSURJQworCQlkb2N1bWVudGF0aW9uIGZvciBtb3JlIGRldGFpbHMuKQorCSAgCisJLS0+PCFFTEVNRU5UIHJlYWRpbmdfbWVhbmluZyAocm1ncm91cCogLCBuYW5vcmkqKT4KKzwhLS0gCisJVGhlIHJlYWRpbmdzIGZvciB0aGUga2FuamkgaW4gc2V2ZXJhbCBsYW5ndWFnZXMsIGFuZCB0aGUgbWVhbmluZ3MsIGFsc28KKwlpbiBzZXZlcmFsIGxhbmd1YWdlcy4gVGhlIHJlYWRpbmdzIGFuZCBtZWFuaW5ncyBhcmUgZ3JvdXBlZCB0byBlbmFibGUKKwl0aGUgaGFuZGxpbmcgb2YgdGhlIHNpdHVhdGlvbiB3aGVyZSB0aGUgbWVhbmluZyBpcyBkaWZmZXJlbnRpYXRlZCBieSAKKwlyZWFkaW5nLiBbVDFdCisJLS0+PCFFTEVNRU5UIG5hbm9yaSAoI1BDREFUQSk+Cis8IS0tIAorCUphcGFuZXNlIHJlYWRpbmdzIHRoYXQgYXJlIG5vdyBvbmx5IGFzc29jaWF0ZWQgd2l0aCBuYW1lcy4KKwktLT48IUVMRU1FTlQgcm1ncm91cCAocmVhZGluZyogLCBtZWFuaW5nKik+Cis8IUVMRU1FTlQgcmVhZGluZyAoI1BDREFUQSk+Cis8IS0tIAorCVRoZSByZWFkaW5nIGVsZW1lbnQgY29udGFpbnMgdGhlIHJlYWRpbmcgb3IgcHJvbnVuY2lhdGlvbgorCW9mIHRoZSBrYW5qaS4KKwktLT48IUFUVExJU1QgcmVhZGluZyByX3R5cGUgQ0RBVEEgI1JFUVVJUkVEPgorPCEtLSAKKwlUaGUgcl90eXBlIGF0dHJpYnV0ZSBkZWZpbmVzIHRoZSB0eXBlIG9mIHJlYWRpbmcgaW4gdGhlIHJlYWRpbmcKKwllbGVtZW50LiBUaGUgY3VycmVudCB2YWx1ZXMgYXJlOgorCSAgcGlueWluIC0gdGhlIG1vZGVybiBQaW5ZaW4gcm9tYW5pemF0aW9uIG9mIHRoZSBDaGluZXNlIHJlYWRpbmcgCisJICAJb2YgdGhlIGthbmppLiBUaGUgdG9uZXMgYXJlIHJlcHJlc2VudGVkIGJ5IGEgY29uY2x1ZGluZyAKKwkgIAlkaWdpdC4gW1ldCisJICBrb3JlYW5fciAtIHRoZSByb21hbml6ZWQgZm9ybSBvZiB0aGUgS29yZWFuIHJlYWRpbmcocykgb2YgdGhlIAorCSAgCWthbmppLiAgVGhlIHJlYWRpbmdzIGFyZSBpbiB0aGUgKFJlcHVibGljIG9mIEtvcmVhKSBNaW5pc3RyeSAKKwkgIAlvZiBFZHVjYXRpb24gc3R5bGUgb2Ygcm9tYW5pemF0aW9uLiBbV10KKwkgIGtvcmVhbl9oIC0gdGhlIEtvcmVhbiByZWFkaW5nKHMpIG9mIHRoZSBrYW5qaSBpbiBoYW5ndWwuCisJICBqYV9vbiAtIHRoZSAib24iIEphcGFuZXNlIHJlYWRpbmcgb2YgdGhlIGthbmppLCBpbiBrYXRha2FuYS4gQQorCSAgCXNlY29uZCBhdHRyaWJ1dGUgcl9zdGF0dXMsIGlmIHByZXNlbnQsIHdpbGwgaW5kaWNhdGUgd2l0aAorCSAgCWEgdmFsdWUgb2YgImp5IiB3aGV0aGVyIHRoZSByZWFkaW5nIGlzIGFwcHJvdmVkIGZvciBhCisJICAJIkpvdXlvdSBrYW5qaSIuCisJICBqYV9rdW4gLSB0aGUgImt1biIgSmFwYW5lc2UgcmVhZGluZyBvZiB0aGUga2FuamksIGluIGhpcmFnYW5hLiAKKwkgIAlXaGVyZSByZWxldmFudCB0aGUgb2t1cmlnYW5hIGlzIGFsc28gaW5jbHVkZWQgc2VwYXJhdGVkIGJ5IGEgCisJICAJIi4iLiBSZWFkaW5ncyBhc3NvY2lhdGVkIHdpdGggcHJlZml4ZXMgYW5kIHN1ZmZpeGVzIGFyZSAKKwkgIAltYXJrZWQgd2l0aCBhICItIi4gQSBzZWNvbmQgYXR0cmlidXRlIHJfc3RhdHVzLCBpZiBwcmVzZW50LCAKKwkgIAl3aWxsIGluZGljYXRlIHdpdGggYSB2YWx1ZSBvZiAiankiIHdoZXRoZXIgdGhlIHJlYWRpbmcgaXMgCisJICAJYXBwcm92ZWQgZm9yIGEgIkpvdXlvdSBrYW5qaSIuCisJLS0+PCFBVFRMSVNUIHJlYWRpbmcgcl9zdGF0dXMgQ0RBVEEgI0lNUExJRUQ+Cis8IS0tIAorCVNlZSB1bmRlciBqYV9vbiBhbmQgamFfa3VuIGFib3ZlLgorCS0tPjwhRUxFTUVOVCBtZWFuaW5nICgjUENEQVRBKT4KKzwhLS0gCisJVGhlIG1lYW5pbmcgYXNzb2NpYXRlZCB3aXRoIHRoZSBrYW5qaS4KKwktLT48IUFUVExJU1QgbWVhbmluZyBtX2xhbmcgQ0RBVEEgI0lNUExJRUQ+Cis8IS0tIAorCVRoZSBtX2xhbmcgYXR0cmlidXRlIGRlZmluZXMgdGhlIHRhcmdldCBsYW5ndWFnZSBvZiB0aGUgbWVhbmluZy4gSXQgCisJd2lsbCBiZSBjb2RlZCB1c2luZyB0aGUgdHdvLWxldHRlciBsYW5ndWFnZSBjb2RlIGZyb20gdGhlIElTTyA2MzkgCisJc3RhbmRhcmQuIFdoZW4gYWJzZW50LCB0aGUgdmFsdWUgImVuIiAoaS5lLiBFbmdsaXNoKSBpcyBpbXBsaWVkLiBbe31dCisJLS0+XT4KKzxrYW5qaWRpYzI+Cis8L2thbmppZGljMj4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L25vZW50L2lzb2xhdDEgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9pc29sYXQxCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFlNWEwNTkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9pc29sYXQxCkBAIC0wLDAgKzEsMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/PgorPHRy6HM+bOA8L3Ry6HM+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9ub2VudC9pc29sYXQyIGIvbGlieG1sMi9yZXN1bHQvbm9lbnQvaXNvbGF0MgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YzI5MGI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvbm9lbnQvaXNvbGF0MgpAQCAtMCwwICsxLDEwNyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/PgorPHRzdD4KKworICAgICAgIFRoZSBmb2xsb3dpbmcgdGFibGUgZGlzcGxheXMgdGhlIGNoYXJhY3RlcnMgIGluICBJU08gIDg4NTkKKyAgICAgICBMYXRpbi0xLCAgd2hpY2ggYXJlIHByaW50YWJsZSBhbmQgdW5saXN0ZWQgaW4gdGhlIGFzY2lpCisgICAgICAgbWFudWFsIHBhZ2UuCisKKyAgICAgICBPY3QgICBEZWMgICBIZXggICBDaGFyICAgRGVzY3JpcHRpb24KKyAgICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgICAgIDI0MCAgIDE2MCAgIEEwICAgICAgICAgICBOTy1CUkVBSyBTUEFDRQorICAgICAgIDI0MSAgIDE2MSAgIEExICAgICChICAgICBJTlZFUlRFRCBFWENMQU1BVElPTiBNQVJLCisgICAgICAgMjQyICAgMTYyICAgQTIgICAgIKIgICAgIENFTlQgU0lHTgorICAgICAgIDI0MyAgIDE2MyAgIEEzICAgICCjICAgICBQT1VORCBTSUdOCisgICAgICAgMjQ0ICAgMTY0ICAgQTQgICAgIKQgICAgIENVUlJFTkNZIFNJR04KKyAgICAgICAyNDUgICAxNjUgICBBNSAgICAgpSAgICAgWUVOIFNJR04KKyAgICAgICAyNDYgICAxNjYgICBBNiAgICAgpiAgICAgQlJPS0VOIEJBUgorICAgICAgIDI0NyAgIDE2NyAgIEE3ICAgICCnICAgICBTRUNUSU9OIFNJR04KKyAgICAgICAyNTAgICAxNjggICBBOCAgICAgqCAgICAgRElBRVJFU0lTCisgICAgICAgMjUxICAgMTY5ICAgQTkgICAgIKkgICAgIENPUFlSSUdIVCBTSUdOCisgICAgICAgMjUyICAgMTcwICAgQUEgICAgIKogICAgIEZFTUlOSU5FIE9SRElOQUwgSU5ESUNBVE9SCisgICAgICAgMjUzICAgMTcxICAgQUIgICAgIKsgICAgIExFRlQtUE9JTlRJTkcgRE9VQkxFIEFOR0xFIFFVT1RBVElPTiBNQVJLCisgICAgICAgMjU0ICAgMTcyICAgQUMgICAgIKwgICAgIE5PVCBTSUdOCisgICAgICAgMjU1ICAgMTczICAgQUQgICAgIK0gICAgIFNPRlQgSFlQSEVOCisgICAgICAgMjU2ICAgMTc0ICAgQUUgICAgIK4gICAgIFJFR0lTVEVSRUQgU0lHTgorICAgICAgIDI1NyAgIDE3NSAgIEFGICAgICCvICAgICBNQUNST04KKyAgICAgICAyNjAgICAxNzYgICBCMCAgICAgsCAgICAgREVHUkVFIFNJR04KKyAgICAgICAyNjEgICAxNzcgICBCMSAgICAgsSAgICAgUExVUy1NSU5VUyBTSUdOCisgICAgICAgMjYyICAgMTc4ICAgQjIgICAgILIgICAgIFNVUEVSU0NSSVBUIFRXTworICAgICAgIDI2MyAgIDE3OSAgIEIzICAgICCzICAgICBTVVBFUlNDUklQVCBUSFJFRQorICAgICAgIDI2NCAgIDE4MCAgIEI0ICAgICC0ICAgICBBQ1VURSBBQ0NFTlQKKyAgICAgICAyNjUgICAxODEgICBCNSAgICAgtSAgICAgTUlDUk8gU0lHTgorICAgICAgIDI2NiAgIDE4MiAgIEI2ICAgICC2ICAgICBQSUxDUk9XIFNJR04KKyAgICAgICAyNjcgICAxODMgICBCNyAgICAgtyAgICAgTUlERExFIERPVAorICAgICAgIDI3MCAgIDE4NCAgIEI4ICAgICC4ICAgICBDRURJTExBCisgICAgICAgMjcxICAgMTg1ICAgQjkgICAgILkgICAgIFNVUEVSU0NSSVBUIE9ORQorICAgICAgIDI3MiAgIDE4NiAgIEJBICAgICC6ICAgICBNQVNDVUxJTkUgT1JESU5BTCBJTkRJQ0FUT1IKKyAgICAgICAyNzMgICAxODcgICBCQiAgICAguyAgICAgUklHSFQtUE9JTlRJTkcgRE9VQkxFIEFOR0xFIFFVT1RBVElPTiBNQVJLCisgICAgICAgMjc0ICAgMTg4ICAgQkMgICAgILwgICAgIFZVTEdBUiBGUkFDVElPTiBPTkUgUVVBUlRFUgorICAgICAgIDI3NSAgIDE4OSAgIEJEICAgICC9ICAgICBWVUxHQVIgRlJBQ1RJT04gT05FIEhBTEYKKyAgICAgICAyNzYgICAxOTAgICBCRSAgICAgviAgICAgVlVMR0FSIEZSQUNUSU9OIFRIUkVFIFFVQVJURVJTCisgICAgICAgMjc3ICAgMTkxICAgQkYgICAgIL8gICAgIElOVkVSVEVEIFFVRVNUSU9OIE1BUksKKyAgICAgICAzMDAgICAxOTIgICBDMCAgICAgwCAgICAgTEFUSU4gQ0FQSVRBTCBMRVRURVIgQSBXSVRIIEdSQVZFCisgICAgICAgMzAxICAgMTkzICAgQzEgICAgIMEgICAgIExBVElOIENBUElUQUwgTEVUVEVSIEEgV0lUSCBBQ1VURQorICAgICAgIDMwMiAgIDE5NCAgIEMyICAgICDCICAgICBMQVRJTiBDQVBJVEFMIExFVFRFUiBBIFdJVEggQ0lSQ1VNRkxFWAorICAgICAgIDMwMyAgIDE5NSAgIEMzICAgICDDICAgICBMQVRJTiBDQVBJVEFMIExFVFRFUiBBIFdJVEggVElMREUKKyAgICAgICAzMDQgICAxOTYgICBDNCAgICAgxCAgICAgTEFUSU4gQ0FQSVRBTCBMRVRURVIgQSBXSVRIIERJQUVSRVNJUworICAgICAgIDMwNSAgIDE5NyAgIEM1ICAgICDFICAgICBMQVRJTiBDQVBJVEFMIExFVFRFUiBBIFdJVEggUklORyBBQk9WRQorICAgICAgIDMwNiAgIDE5OCAgIEM2ICAgICDGICAgICBMQVRJTiBDQVBJVEFMIExFVFRFUiBBRQorICAgICAgIDMwNyAgIDE5OSAgIEM3ICAgICDHICAgICBMQVRJTiBDQVBJVEFMIExFVFRFUiBDIFdJVEggQ0VESUxMQQorICAgICAgIDMxMCAgIDIwMCAgIEM4ICAgICDIICAgICBMQVRJTiBDQVBJVEFMIExFVFRFUiBFIFdJVEggR1JBVkUKKyAgICAgICAzMTEgICAyMDEgICBDOSAgICAgySAgICAgTEFUSU4gQ0FQSVRBTCBMRVRURVIgRSBXSVRIIEFDVVRFCisgICAgICAgMzEyICAgMjAyICAgQ0EgICAgIMogICAgIExBVElOIENBUElUQUwgTEVUVEVSIEUgV0lUSCBDSVJDVU1GTEVYCisgICAgICAgMzEzICAgMjAzICAgQ0IgICAgIMsgICAgIExBVElOIENBUElUQUwgTEVUVEVSIEUgV0lUSCBESUFFUkVTSVMKKyAgICAgICAzMTQgICAyMDQgICBDQyAgICAgzCAgICAgTEFUSU4gQ0FQSVRBTCBMRVRURVIgSSBXSVRIIEdSQVZFCisgICAgICAgMzE1ICAgMjA1ICAgQ0QgICAgIM0gICAgIExBVElOIENBUElUQUwgTEVUVEVSIEkgV0lUSCBBQ1VURQorICAgICAgIDMxNiAgIDIwNiAgIENFICAgICDOICAgICBMQVRJTiBDQVBJVEFMIExFVFRFUiBJIFdJVEggQ0lSQ1VNRkxFWAorICAgICAgIDMxNyAgIDIwNyAgIENGICAgICDPICAgICBMQVRJTiBDQVBJVEFMIExFVFRFUiBJIFdJVEggRElBRVJFU0lTCisgICAgICAgMzIwICAgMjA4ICAgRDAgICAgINAgICAgIExBVElOIENBUElUQUwgTEVUVEVSIEVUSAorICAgICAgIDMyMSAgIDIwOSAgIEQxICAgICDRICAgICBMQVRJTiBDQVBJVEFMIExFVFRFUiBOIFdJVEggVElMREUKKyAgICAgICAzMjIgICAyMTAgICBEMiAgICAg0iAgICAgTEFUSU4gQ0FQSVRBTCBMRVRURVIgTyBXSVRIIEdSQVZFCisgICAgICAgMzIzICAgMjExICAgRDMgICAgINMgICAgIExBVElOIENBUElUQUwgTEVUVEVSIE8gV0lUSCBBQ1VURQorICAgICAgIDMyNCAgIDIxMiAgIEQ0ICAgICDUICAgICBMQVRJTiBDQVBJVEFMIExFVFRFUiBPIFdJVEggQ0lSQ1VNRkxFWAorICAgICAgIDMyNSAgIDIxMyAgIEQ1ICAgICDVICAgICBMQVRJTiBDQVBJVEFMIExFVFRFUiBPIFdJVEggVElMREUKKyAgICAgICAzMjYgICAyMTQgICBENiAgICAg1iAgICAgTEFUSU4gQ0FQSVRBTCBMRVRURVIgTyBXSVRIIERJQUVSRVNJUworICAgICAgIDMyNyAgIDIxNSAgIEQ3ICAgICDXICAgICBNVUxUSVBMSUNBVElPTiBTSUdOCisgICAgICAgMzMwICAgMjE2ICAgRDggICAgINggICAgIExBVElOIENBUElUQUwgTEVUVEVSIE8gV0lUSCBTVFJPS0UKKyAgICAgICAzMzEgICAyMTcgICBEOSAgICAg2SAgICAgTEFUSU4gQ0FQSVRBTCBMRVRURVIgVSBXSVRIIEdSQVZFCisgICAgICAgMzMyICAgMjE4ICAgREEgICAgINogICAgIExBVElOIENBUElUQUwgTEVUVEVSIFUgV0lUSCBBQ1VURQorICAgICAgIDMzMyAgIDIxOSAgIERCICAgICDbICAgICBMQVRJTiBDQVBJVEFMIExFVFRFUiBVIFdJVEggQ0lSQ1VNRkxFWAorICAgICAgIDMzNCAgIDIyMCAgIERDICAgICDcICAgICBMQVRJTiBDQVBJVEFMIExFVFRFUiBVIFdJVEggRElBRVJFU0lTCisgICAgICAgMzM1ICAgMjIxICAgREQgICAgIN0gICAgIExBVElOIENBUElUQUwgTEVUVEVSIFkgV0lUSCBBQ1VURQorICAgICAgIDMzNiAgIDIyMiAgIERFICAgICDeICAgICBMQVRJTiBDQVBJVEFMIExFVFRFUiBUSE9STgorICAgICAgIDMzNyAgIDIyMyAgIERGICAgICDfICAgICBMQVRJTiBTTUFMTCBMRVRURVIgU0hBUlAgUworICAgICAgIDM0MCAgIDIyNCAgIEUwICAgICDgICAgICBMQVRJTiBTTUFMTCBMRVRURVIgQSBXSVRIIEdSQVZFCisgICAgICAgMzQxICAgMjI1ICAgRTEgICAgIOEgICAgIExBVElOIFNNQUxMIExFVFRFUiBBIFdJVEggQUNVVEUKKyAgICAgICAzNDIgICAyMjYgICBFMiAgICAg4iAgICAgTEFUSU4gU01BTEwgTEVUVEVSIEEgV0lUSCBDSVJDVU1GTEVYCisgICAgICAgMzQzICAgMjI3ICAgRTMgICAgIOMgICAgIExBVElOIFNNQUxMIExFVFRFUiBBIFdJVEggVElMREUKKyAgICAgICAzNDQgICAyMjggICBFNCAgICAg5CAgICAgTEFUSU4gU01BTEwgTEVUVEVSIEEgV0lUSCBESUFFUkVTSVMKKyAgICAgICAzNDUgICAyMjkgICBFNSAgICAg5SAgICAgTEFUSU4gU01BTEwgTEVUVEVSIEEgV0lUSCBSSU5HIEFCT1ZFCisgICAgICAgMzQ2ICAgMjMwICAgRTYgICAgIOYgICAgIExBVElOIFNNQUxMIExFVFRFUiBBRQorICAgICAgIDM0NyAgIDIzMSAgIEU3ICAgICDnICAgICBMQVRJTiBTTUFMTCBMRVRURVIgQyBXSVRIIENFRElMTEEKKyAgICAgICAzNTAgICAyMzIgICBFOCAgICAg6CAgICAgTEFUSU4gU01BTEwgTEVUVEVSIEUgV0lUSCBHUkFWRQorICAgICAgIDM1MSAgIDIzMyAgIEU5ICAgICDpICAgICBMQVRJTiBTTUFMTCBMRVRURVIgRSBXSVRIIEFDVVRFCisgICAgICAgMzUyICAgMjM0ICAgRUEgICAgIOogICAgIExBVElOIFNNQUxMIExFVFRFUiBFIFdJVEggQ0lSQ1VNRkxFWAorICAgICAgIDM1MyAgIDIzNSAgIEVCICAgICDrICAgICBMQVRJTiBTTUFMTCBMRVRURVIgRSBXSVRIIERJQUVSRVNJUworICAgICAgIDM1NCAgIDIzNiAgIEVDICAgICDsICAgICBMQVRJTiBTTUFMTCBMRVRURVIgSSBXSVRIIEdSQVZFCisgICAgICAgMzU1ICAgMjM3ICAgRUQgICAgIO0gICAgIExBVElOIFNNQUxMIExFVFRFUiBJIFdJVEggQUNVVEUKKyAgICAgICAzNTYgICAyMzggICBFRSAgICAg7iAgICAgTEFUSU4gU01BTEwgTEVUVEVSIEkgV0lUSCBDSVJDVU1GTEVYCisgICAgICAgMzU3ICAgMjM5ICAgRUYgICAgIO8gICAgIExBVElOIFNNQUxMIExFVFRFUiBJIFdJVEggRElBRVJFU0lTCisgICAgICAgMzYwICAgMjQwICAgRjAgICAgIPAgICAgIExBVElOIFNNQUxMIExFVFRFUiBFVEgKKyAgICAgICAzNjEgICAyNDEgICBGMSAgICAg8SAgICAgTEFUSU4gU01BTEwgTEVUVEVSIE4gV0lUSCBUSUxERQorICAgICAgIDM2MiAgIDI0MiAgIEYyICAgICDyICAgICBMQVRJTiBTTUFMTCBMRVRURVIgTyBXSVRIIEdSQVZFCisgICAgICAgMzYzICAgMjQzICAgRjMgICAgIPMgICAgIExBVElOIFNNQUxMIExFVFRFUiBPIFdJVEggQUNVVEUKKyAgICAgICAzNjQgICAyNDQgICBGNCAgICAg9CAgICAgTEFUSU4gU01BTEwgTEVUVEVSIE8gV0lUSCBDSVJDVU1GTEVYCisgICAgICAgMzY1ICAgMjQ1ICAgRjUgICAgIPUgICAgIExBVElOIFNNQUxMIExFVFRFUiBPIFdJVEggVElMREUKKyAgICAgICAzNjYgICAyNDYgICBGNiAgICAg9iAgICAgTEFUSU4gU01BTEwgTEVUVEVSIE8gV0lUSCBESUFFUkVTSVMKKyAgICAgICAzNjcgICAyNDcgICBGNyAgICAg9yAgICAgRElWSVNJT04gU0lHTgorICAgICAgIDM3MCAgIDI0OCAgIEY4ICAgICD4ICAgICBMQVRJTiBTTUFMTCBMRVRURVIgTyBXSVRIIFNUUk9LRQorICAgICAgIDM3MSAgIDI0OSAgIEY5ICAgICD5ICAgICBMQVRJTiBTTUFMTCBMRVRURVIgVSBXSVRIIEdSQVZFCisgICAgICAgMzcyICAgMjUwICAgRkEgICAgIPogICAgIExBVElOIFNNQUxMIExFVFRFUiBVIFdJVEggQUNVVEUKKyAgICAgICAzNzMgICAyNTEgICBGQiAgICAg+yAgICAgTEFUSU4gU01BTEwgTEVUVEVSIFUgV0lUSCBDSVJDVU1GTEVYCisgICAgICAgMzc0ICAgMjUyICAgRkMgICAgIPwgICAgIExBVElOIFNNQUxMIExFVFRFUiBVIFdJVEggRElBRVJFU0lTCisgICAgICAgMzc1ICAgMjUzICAgRkQgICAgIP0gICAgIExBVElOIFNNQUxMIExFVFRFUiBZIFdJVEggQUNVVEUKKyAgICAgICAzNzYgICAyNTQgICBGRSAgICAg/iAgICAgTEFUSU4gU01BTEwgTEVUVEVSIFRIT1JOCisgICAgICAgMzc3ICAgMjU1ICAgRkYgICAgIP8gICAgIExBVElOIFNNQUxMIExFVFRFUiBZIFdJVEggRElBRVJFU0lTCisKKzwvdHN0PgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvbm9lbnQvaXNvbGF0MyBiL2xpYnhtbDIvcmVzdWx0L25vZW50L2lzb2xhdDMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWFiZjdiNAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L25vZW50L2lzb2xhdDMKQEAgLTAsMCArMSwxMCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/PgorPHJlYz4KKzxlZz48IVtDREFUQVs8IUVOVElUWSAlIHB1YiAgICAiJiN4Yzk7ZGl0aW9ucyBHYWxsaW1hcmQiID4KKzwhRU5USVRZICAgcmlnaHRzICJBbGwgcmlnaHRzIHJlc2VydmVkIiA+Cis8IUVOVElUWSAgIGJvb2sgICAiTGEgUGVzdGU6IEFsYmVydCBDYW11cywgCismI3hBOTsgMTk0NyAlcHViOy4gJnJpZ2h0czsiID5dXT48L2VnPgordGhlbiB0aGUgcmVwbGFjZW1lbnQgdGV4dCBmb3IgdGhlIGVudGl0eSAiPGNvZGU+Ym9vazwvY29kZT4iIGlzOgorPGVnPkxhIFBlc3RlOiBBbGJlcnQgQ2FtdXMsIAorqSAxOTQ3IMlkaXRpb25zIEdhbGxpbWFyZC4gJmFtcDtyaWdodHM7PC9lZz4KKzwvcmVjPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvbm9lbnQvamFwYW5jcmxmLnhtbCBiL2xpYnhtbDIvcmVzdWx0L25vZW50L2phcGFuY3JsZi54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjBiMzA3YwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L25vZW50L2phcGFuY3JsZi54bWwKQEAgLTAsMCArMSw0IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzzlhaXlipvjg6Hjg4Pjgrvjg7zjgrggeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLmNvcmR5cy5jb20vd2ViYXBwcy8xLjAvYnBtL2M4YzhiODJhLTBhYzAtM2QxOS0wMWUyLWJkYTc0YWY5YjgyNiI+CisJPGM4YzpFbGUgeG1sbnM6YzhjPSJodHRwOi8vc2NoZW1hcy5jb3JkeXMuY29tL3dlYmFwcHMvMS4wL2JwbS9jOGM4YjgyYS0wYWMwLTNkMTktMDFlMi1iZGE3NGFmOWI4MjYiLz4KKzwv5YWl5Yqb44Oh44OD44K744O844K4PgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvbm9lbnQvbnMgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9ucwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NGI5MjdlCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvbm9lbnQvbnMKQEAgLTAsMCArMSw0IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxkaWE6ZGlhZ3JhbSB4bWxuczpkaWE9Imh0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLyI+CisgIDxkaWE6ZGlhZ3JhbWRhdGEgZGlhOnRlc3RhdHRyPSJ0ZXN0Ii8+Cis8L2RpYTpkaWFncmFtPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvbm9lbnQvbnMyIGIvbGlieG1sMi9yZXN1bHQvbm9lbnQvbnMyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI2OWFkODIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9uczIKQEAgLTAsMCArMSwyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxkaWE6ZGlhZ3JhbSB4bWxuczpkaWE9Imh0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLyIgZGlhOnRlc3RhdHRyPSJ0ZXN0Ii8+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9ub2VudC9uczMgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9uczMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjY5YWQ4MgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L25vZW50L25zMwpAQCAtMCwwICsxLDIgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPGRpYTpkaWFncmFtIHhtbG5zOmRpYT0iaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvIiBkaWE6dGVzdGF0dHI9InRlc3QiLz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L25vZW50L25zNCBiL2xpYnhtbDIvcmVzdWx0L25vZW50L25zNApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMzZiZjkyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvbm9lbnQvbnM0CkBAIC0wLDAgKzEsMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8ZGlhZ3JhbSB0ZXN0YXR0cj0idGVzdCIgeG1sOmxhbmc9ImVuIiB4bWw6bGluaz0ic2ltcGxlIiB4bWw6c3BhY2U9InByZXNlcnZlIi8+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9ub2VudC9uczUgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9uczUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGFmZTRlMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L25vZW50L25zNQpAQCAtMCwwICsxLDQgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPGVsZW1lbnQgeG1sbnM6cm5nPSJodHRwOi8vZXhhbXBsZS5vcmcvbnMvMSIgeG1sbnM9Imh0dHA6Ly9leGFtcGxlLm9yZy9ucy8xIiBuYW1lPSJmb28iPgorICA8ZW1wdHkvPgorPC9lbGVtZW50PgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvbm9lbnQvbnM2IGIvbGlieG1sMi9yZXN1bHQvbm9lbnQvbnM2Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM5NzEyNTIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9uczYKQEAgLTAsMCArMSw1IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxyb290PgorICA8Zm9vIHhtbG5zPSJodHRwOi8vYWJjIi8+CisgIDxiYXIvPgorPC9yb290PgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvbm9lbnQvbnM3IGIvbGlieG1sMi9yZXN1bHQvbm9lbnQvbnM3Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI1MDg5ZTEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9uczcKQEAgLTAsMCArMSwyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzx4bWw6dGVzdC8+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9ub2VudC9uc2NsZWFuLnhtbCBiL2xpYnhtbDIvcmVzdWx0L25vZW50L25zY2xlYW4ueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhmMWVhODIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9uc2NsZWFuLnhtbApAQCAtMCwwICsxLDUgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVTLUFTQ0lJIj8+Cis8YXJ0aWNsZSB4bWxucz0idGFnOmZvb2Zvb2Zvb2Zvb2Zvb2Zvb2Zvb2ZvbyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczpkY3Rlcm1zPSJodHRwOi8vcHVybC5vcmcvZGMvdGVybXMvIj4KKzxmb29wOmNvbnRlbnQgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIHhtbG5zOmZvb3A9InRhZzpmb29mb29mb29mb29mb29mb29mb29mb28iPgorPC9mb29wOmNvbnRlbnQ+Cis8L2FydGljbGU+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9ub2VudC9wM3AgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9wM3AKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzFkNTU4NwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L25vZW50L3AzcApAQCAtMCwwICsxLDE5IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxSREY6UkRGIHhtbG5zOnAzcD0iaHR0cDovL3d3dy53My5vcmcvVFIvMTk5OC9XRC1QM1AxMC1zeW50YXgjcHJvcG9zYWwuRFREIiB4bWxuczpSREY9Imh0dHA6Ly93d3cudzMub3JnL1RSL1dELXJkZi1zeW50YXgjIj4KKzxQUk9QIHJlYWxtPSJodHRwOi8vd3d3LkNvb2xDYXRhbG9nLmNvbS9jYXRhbG9ndWUvIiBlbnRpdHk9IkNvb2xDYXRhbG9nIiBhZ3JlZUlEPSI5NGRmMTI5M2EzZTUxOWJiIiBhc3N1cmFuY2U9Imh0dHA6Ly93d3cuVHJ1c3RVcy5vcmciPgorICA8VVNFUz4KKyAgPFNUQVRFTUVOVCBwdXJwPSIyLDMiIHJlY3BudD0iMCIgaWQ9IjAiIGNvbnNxPSJhIHNpdGUgd2l0aCBjbG90aGVzIHlvdSdkIGFwcHJlY2lhdGUuIj4KKyAgICA8V0lUSD48UFJFRklYIG5hbWU9IlVzZXIuIj4KKyAgICAgPFJFRiBuYW1lPSJOYW1lLkZpcnN0Ii8+CisgICAgIDxSRUYgbmFtZT0iQmRhdGUuWWVhciIgb3B0aW9uYWw9IjEiLz4KKyAgICAgPFJFRiBuYW1lPSJHZW5kZXIiLz4KKyAgICA8L1BSRUZJWD48L1dJVEg+CisgIDwvU1RBVEVNRU5UPgorICA8L1VTRVM+CisgIDxVU0VTPgorICA8U1RBVEVNRU5UIGFjdGlvbj0icmVhZCZhbXA7d3JpdGUiIHB1cnA9IjAiIHJlY3BudD0iMCIgaWQ9IjEiPgorICAgIDxSRUYgbmFtZT0iVXNlci5TaGlwcGluZy4iLz4KKyAgPC9TVEFURU1FTlQ+CisgIDwvVVNFUz4KKyAgPERJU0NMT1NVUkUgZGlzY1VSST0iaHR0cDovL3d3dy5Db29sQ2F0YWxvZy5jb20vUHJpdmFjeVByYWN0aWNlLmh0bWwiIGFjY2Vzcz0iMyIgb3RoZXI9IjAsMSIvPgorPC9QUk9QPjwvUkRGOlJERj4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L25vZW50L3BpLnhtbCBiL2xpYnhtbDIvcmVzdWx0L25vZW50L3BpLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40OGM3ZmYwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvbm9lbnQvcGkueG1sCkBAIC0wLDAgKzEsNiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8ZG9jPgorPD9kb2N1bWVudC1zdGFydCBkb2M/PgorPGVtcHR5Lz4KKzw/ZG9jdW1lbnQtZW5kIGRvYz8+Cis8L2RvYz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L25vZW50L3BpMi54bWwgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9waTIueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcxMGQ1MWMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9waTIueG1sCkBAIC0wLDAgKzEsNiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8P2RvY3VtZW50LXN0YXJ0IGRvYz8+Cis8ZG9jPgorPGVtcHR5Lz4KKzwvZG9jPgorPD9kb2N1bWVudC1lbmQgZG9jPz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L25vZW50L3JkZjEgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9yZGYxCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ0NGMzYzYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9yZGYxCkBAIC0wLDAgKzEsODEgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPFJERjpSREYgeG1sbnM6UlBNPSJodHRwOi8vd3d3LnJwbS5vcmcvIiB4bWxuczpSREY9Imh0dHA6Ly93d3cudzMub3JnL1RSL1dELXJkZi1zeW50YXgjIj4KKyAgPFJERjpEZXNjcmlwdGlvbiBIUkVGPSJmdHA6Ly9ydWZ1cy53My5vcmcvbGludXgvcmVkaGF0L3JlZGhhdC01LjEvaTM4Ni9SZWRIYXQvUlBNUy9ycG0tMi41LTIuaTM4Ni5ycG0iPgorICAgIDxSUE06TmFtZT5ycG08L1JQTTpOYW1lPgorICAgIDxSUE06VmVyc2lvbj4yLjU8L1JQTTpWZXJzaW9uPgorICAgIDxSUE06UmVsZWFzZT4yPC9SUE06UmVsZWFzZT4KKyAgICA8UlBNOkFyY2g+aTM4NjwvUlBNOkFyY2g+CisgICAgPFJQTTpPcz5MaW51eDwvUlBNOk9zPgorICAgIDxSUE06RGlzdHJpYnV0aW9uPk1hbmhhdHRhbiA8L1JQTTpEaXN0cmlidXRpb24+CisgICAgPFJQTTpWZW5kb3I+UmVkIEhhdCBTb2Z0d2FyZTwvUlBNOlZlbmRvcj4KKyAgICA8UlBNOlBhY2thZ2VyPlJlZCBIYXQgU29mdHdhcmUgJmx0O2J1Z3NAcmVkaGF0LmNvbSZndDs8L1JQTTpQYWNrYWdlcj4KKyAgICA8UlBNOkdyb3VwPlV0aWxpdGllcy9TeXN0ZW08L1JQTTpHcm91cD4KKyAgICA8UlBNOlN1bW1hcnk+UmVkIEhhdCBQYWNrYWdlIE1hbmFnZXI8L1JQTTpTdW1tYXJ5PgorICAgIDxSUE06RGVzY3JpcHRpb24+UlBNIGlzIGEgcG93ZXJmdWwgcGFja2FnZSBtYW5hZ2VyLCB3aGljaCBjYW4gYmUgdXNlZCB0byBidWlsZCwgaW5zdGFsbCwKK3F1ZXJ5LCB2ZXJpZnksIHVwZGF0ZSwgYW5kIHVuaW5zdGFsbCBpbmRpdmlkdWFsIHNvZnR3YXJlIHBhY2thZ2VzLiBBCitwYWNrYWdlIGNvbnNpc3RzIG9mIGFuIGFyY2hpdmUgb2YgZmlsZXMsIGFuZCBwYWNrYWdlIGluZm9ybWF0aW9uLCBpbmNsdWRpbmcKK25hbWUsIHZlcnNpb24sIGFuZCBkZXNjcmlwdGlvbi48L1JQTTpEZXNjcmlwdGlvbj4KKyAgICA8UlBNOkNvcHlyaWdodD5HUEw8L1JQTTpDb3B5cmlnaHQ+CisgICAgPFJQTTpDaGFuZ2Vsb2c+KiBTdW4gTWF5IDEwIDE5OTggUHJvc3BlY3RvciBTeXN0ZW0gJmx0O2J1Z3NAcmVkaGF0LmNvbSZndDsKKyAgLSB0cmFuc2xhdGlvbnMgbW9kaWZpZWQgZm9yIGRlLCBmciwgdHIKKzwvUlBNOkNoYW5nZWxvZz4KKyAgICA8UlBNOlNvdXJjZXM+cnBtLTIuNS0yLnNyYy5ycG08L1JQTTpTb3VyY2VzPgorICAgIDxSUE06U291cmNlc0Z0cD5mdHA6Ly9mdHAucmVkaGF0LmNvbS9wdWIvcmVkaGF0L3JlZGhhdC01LjEvU1JQTVM8L1JQTTpTb3VyY2VzRnRwPgorICAgIDxSUE06QnVpbGREYXRlPlN1biBNYXkgMTAgMTQ6NTI6MzIgMTk5ODwvUlBNOkJ1aWxkRGF0ZT4KKyAgICA8UlBNOkRhdGU+ODk0ODI2MzUyPC9SUE06RGF0ZT4KKyAgICA8UlBNOlNpemU+ODUwNTk5PC9SUE06U2l6ZT4KKyAgICA8UlBNOkJ1aWxkSG9zdD5wb3JreS5yZWRoYXQuY29tPC9SUE06QnVpbGRIb3N0PgorICAgIDxSUE06UHJvdmlkZXM+CisgICAgICA8UkRGOkJhZz4KKyAgICAgICAgPFJQTTpSZXNvdXJjZT5ycG08L1JQTTpSZXNvdXJjZT4KKyAgICAgIDwvUkRGOkJhZz4KKyAgICA8L1JQTTpQcm92aWRlcz4KKyAgICA8UlBNOlJlcXVpcmVzPgorICAgICAgPFJERjpCYWc+CisgICAgICAgIDxSUE06UmVzb3VyY2U+L2Jpbi9zaDwvUlBNOlJlc291cmNlPgorICAgICAgICA8UlBNOlJlc291cmNlPmxkLWxpbnV4LnNvLjI8L1JQTTpSZXNvdXJjZT4KKyAgICAgICAgPFJQTTpSZXNvdXJjZT5saWJjLnNvLjY8L1JQTTpSZXNvdXJjZT4KKyAgICAgICAgPFJQTTpSZXNvdXJjZT5saWJkYi5zby4yPC9SUE06UmVzb3VyY2U+CisgICAgICAgIDxSUE06UmVzb3VyY2U+bGliei5zby4xPC9SUE06UmVzb3VyY2U+CisgICAgICAgIDxSUE06UmVzb3VyY2U+L2Jpbi9iYXNoPC9SUE06UmVzb3VyY2U+CisgICAgICAgIDxSUE06UmVzb3VyY2U+L2Jpbi9zaDwvUlBNOlJlc291cmNlPgorICAgICAgPC9SREY6QmFnPgorICAgIDwvUlBNOlJlcXVpcmVzPgorICAgIDxSUE06RmlsZXM+L2Jpbi9ycG0KKy91c3IvYmluL2ZpbmQtcHJvdmlkZXMKKy91c3IvYmluL2ZpbmQtcmVxdWlyZXMKKy91c3IvYmluL2dlbmRpZmYKKy91c3IvYmluL3JwbTJjcGlvCisvdXNyL2RvYy9ycG0tMi41CisvdXNyL2RvYy9ycG0tMi41L0NIQU5HRVMKKy91c3IvZG9jL3JwbS0yLjUvUlBNLVBHUC1LRVkKKy91c3IvZG9jL3JwbS0yLjUvYnVpbGRyb290CisvdXNyL2RvYy9ycG0tMi41L2RlcGVuZGVuY2llcworL3Vzci9kb2MvcnBtLTIuNS9mb3JtYXQKKy91c3IvZG9jL3JwbS0yLjUvZ3JvdXBzCisvdXNyL2RvYy9ycG0tMi41L21hY3JvcworL3Vzci9kb2MvcnBtLTIuNS9xdWVyeWZvcm1hdAorL3Vzci9kb2MvcnBtLTIuNS9yZWxvY2F0YWJsZQorL3Vzci9kb2MvcnBtLTIuNS9zaWduYXR1cmVzCisvdXNyL2RvYy9ycG0tMi41L3NwZWMKKy91c3IvZG9jL3JwbS0yLjUvdHJpZ2dlcnMKKy91c3IvbGliL3JwbXBvcHQKKy91c3IvbGliL3JwbXJjCisvdXNyL21hbi9tYW44L3JwbS44CisvdXNyL21hbi9tYW44L3JwbTJjcGlvLjgKKy91c3Ivc2hhcmUvbG9jYWxlL2RlL0xDX01FU1NBR0VTL3JwbS5tbworL3Vzci9zaGFyZS9sb2NhbGUvZnIvTENfTUVTU0FHRVMvcnBtLm1vCisvdXNyL3NoYXJlL2xvY2FsZS9wdC1ici9MQ19NRVNTQUdFUy9ycG0ubW8KKy91c3Ivc2hhcmUvbG9jYWxlL3N2L0xDX01FU1NBR0VTL3JwbS5tbworL3Vzci9zaGFyZS9sb2NhbGUvdHIvTENfTUVTU0FHRVMvcnBtLm1vCisvdXNyL3NyYy9yZWRoYXQKKy91c3Ivc3JjL3JlZGhhdC9CVUlMRAorL3Vzci9zcmMvcmVkaGF0L1JQTVMKKy91c3Ivc3JjL3JlZGhhdC9SUE1TL2kzODYKKy91c3Ivc3JjL3JlZGhhdC9SUE1TL25vYXJjaAorL3Vzci9zcmMvcmVkaGF0L1NPVVJDRVMKKy91c3Ivc3JjL3JlZGhhdC9TUEVDUworL3Vzci9zcmMvcmVkaGF0L1NSUE1TCis8L1JQTTpGaWxlcz4KKyAgPC9SREY6RGVzY3JpcHRpb24+Cis8L1JERjpSREY+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9ub2VudC9yZGYyIGIvbGlieG1sMi9yZXN1bHQvbm9lbnQvcmRmMgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yODQ5NDZiCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvbm9lbnQvcmRmMgpAQCAtMCwwICsxLDE4OTkgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPFJERjpSREYgeG1sbnM6UkRGPSJodHRwOi8vd3d3LnczLm9yZy9UUi9XRC1yZGYtc3ludGF4IyIgeG1sbnM6UlBNPSJodHRwOi8vd3d3LnJwbS5vcmcvIj4KKyAgPFJERjpEZXNjcmlwdGlvbiBhYm91dD0iZnRwOi8vcnVmdXMudzMub3JnL2xpbnV4L2RsZC81LjQvaTM4Ni9SUE1TL2kzODYvbmN1cnNlczQtNC4yLTMuaTM4Ni5ycG0iPgorICAgIDxSUE06TmFtZT5uY3Vyc2VzNDwvUlBNOk5hbWU+CisgICAgPFJQTTpWZXJzaW9uPjQuMjwvUlBNOlZlcnNpb24+CisgICAgPFJQTTpSZWxlYXNlPjM8L1JQTTpSZWxlYXNlPgorICAgIDxSUE06QXJjaD5pMzg2PC9SUE06QXJjaD4KKyAgICA8UlBNOk9zPkxpbnV4PC9SUE06T3M+CisgICAgPFJQTTpEaXN0cmlidXRpb24+RExEPC9SUE06RGlzdHJpYnV0aW9uPgorICAgIDxSUE06VmVuZG9yPmRlbGl4IENvbXB1dGVyIEdtYkg8L1JQTTpWZW5kb3I+CisgICAgPFJQTTpQYWNrYWdlcj5UaWxsIEJ1YmVjayAmbHQ7YnViZWNrQGRlbGl4LmRlJmd0OywgTmdvIFRoYW4gJmx0O3RoYW5AZGVsaXguZGUmZ3Q7PC9SUE06UGFja2FnZXI+CisgICAgPFJQTTpHcm91cD5MaWJyYXJpZXM8L1JQTTpHcm91cD4KKyAgICA8UlBNOlN1bW1hcnk+QmlibGlvdGhlayB6dXIgQW5zdGV1ZXJ1bmcgdm9uIFRlcm1pbmFsczwvUlBNOlN1bW1hcnk+CisgICAgPFJQTTpEZXNjcmlwdGlvbj5EaWVzZSBMaWJyYXJ5IHN0ZWxsdCBkZW0gUHJvZ3JhbW1pZXJlciB2b20gVGVybWluYWwgdW5hYmgmI3hFNDtuZ2lnZQorUm91dGluZW4genVyIEFuc3RldWVydW5nIElocmVzIEJpbGRzY2hpcm1zIHp1ciBWZXJmJiN4RkM7Z3VuZywgZGllCitzcGV6aWVsbCBvcHRpbWllcnQgc2luZC4KK0RpZXNlIFZlcnNpb24gaXN0IGRpZSAnbmV3IGN1cnNlcycgKG5jdXJzZXMpIFZhcmlhbnRlIHVuZCBpc3QgZGVyCithbmVya2FubnRlIEVyc2F0eiBmJiN4RkM7ciBkaWUga2xhc3Npc2NoZSBDdXJzZXMtTGlicmFyeSwgZGllIG5pY2h0IG1laHIKK3dlaXRlcmVudHdpY2tlbHQgd2lyZC48L1JQTTpEZXNjcmlwdGlvbj4KKyAgICA8UlBNOkNvcHlyaWdodD5HUEw8L1JQTTpDb3B5cmlnaHQ+CisgICAgPFJQTTpTb3VyY2VzPm5jdXJzZXM0LTQuMi0zLnNyYy5ycG08L1JQTTpTb3VyY2VzPgorICAgIDxSUE06QnVpbGREYXRlPlR1ZSBNYXkgMTIgMTk6MzA6MjYgMTk5ODwvUlBNOkJ1aWxkRGF0ZT4KKyAgICA8UlBNOkRhdGU+ODk1MDE1ODI2PC9SUE06RGF0ZT4KKyAgICA8UlBNOlNpemU+MTM3MzUxMzwvUlBNOlNpemU+CisgICAgPFJQTTpCdWlsZEhvc3Q+ZXJkYmVlcmUuZGVsaXguZGU8L1JQTTpCdWlsZEhvc3Q+CisgICAgPFJQTTpQcm92aWRlcz4KKyAgICAgIDxSREY6QmFnPgorICAgICAgICA8UlBNOlJlc291cmNlIGhyZWY9Ii4uLy4uLy4uLy4uLy4uL3Jlc291cmNlcy9uY3Vyc2VzNC5yZGYiPm5jdXJzZXM0PC9SUE06UmVzb3VyY2U+CisgICAgICAgIDxSUE06UmVzb3VyY2UgaHJlZj0iLi4vLi4vLi4vLi4vLi4vcmVzb3VyY2VzL2xpYnBhbmVsLnNvLjQucmRmIj5saWJwYW5lbC5zby40PC9SUE06UmVzb3VyY2U+CisgICAgICAgIDxSUE06UmVzb3VyY2UgaHJlZj0iLi4vLi4vLi4vLi4vLi4vcmVzb3VyY2VzL2xpYm5jdXJzZXMuc28uNC5yZGYiPmxpYm5jdXJzZXMuc28uNDwvUlBNOlJlc291cmNlPgorICAgICAgICA8UlBNOlJlc291cmNlIGhyZWY9Ii4uLy4uLy4uLy4uLy4uL3Jlc291cmNlcy9saWJtZW51LnNvLjQucmRmIj5saWJtZW51LnNvLjQ8L1JQTTpSZXNvdXJjZT4KKyAgICAgICAgPFJQTTpSZXNvdXJjZSBocmVmPSIuLi8uLi8uLi8uLi8uLi9yZXNvdXJjZXMvbGliZm9ybS5zby40LnJkZiI+bGliZm9ybS5zby40PC9SUE06UmVzb3VyY2U+CisgICAgICAgIDxSUE06UmVzb3VyY2UgaHJlZj0iLi4vLi4vLi4vLi4vLi4vcmVzb3VyY2VzL25jdXJzZXMucmRmIj5uY3Vyc2VzPC9SUE06UmVzb3VyY2U+CisgICAgICA8L1JERjpCYWc+CisgICAgPC9SUE06UHJvdmlkZXM+CisgICAgPFJQTTpGaWxlcz4vbGliL2xpYm5jdXJzZXMuc28uNAorL2xpYi9saWJuY3Vyc2VzLnNvLjQuMgorL3Vzci9kb2MvbmN1cnNlczQtNC4yLTMKKy91c3IvZG9jL25jdXJzZXM0LTQuMi0zL0FOTk9VTkNFLmd6CisvdXNyL2RvYy9uY3Vyc2VzNC00LjItMy9ORVdTLmd6CisvdXNyL2RvYy9uY3Vyc2VzNC00LjItMy9SRUFETUUuZ3oKKy91c3IvZG9jL25jdXJzZXM0LTQuMi0zL1RPLURPLmd6CisvdXNyL2xpYi9saWJmb3JtLnNvLjQKKy91c3IvbGliL2xpYmZvcm0uc28uNC4yCisvdXNyL2xpYi9saWJtZW51LnNvLjQKKy91c3IvbGliL2xpYm1lbnUuc28uNC4yCisvdXNyL2xpYi9saWJwYW5lbC5zby40CisvdXNyL2xpYi9saWJwYW5lbC5zby40LjIKKy91c3Ivc2hhcmUvbmN1cnNlczQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGFic2V0CisvdXNyL3NoYXJlL25jdXJzZXM0L3RhYnNldC9zdGQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGFic2V0L3N0ZGNydAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90YWJzZXQvdnQxMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGFic2V0L3Z0MzAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvLzEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vMS8xMTc4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvLzEvMTczMC1sbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby8yCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvLzIvMjYyMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby8yLzI2MjEtd2wKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vMi8yNjIxQQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby8yLzI2MjFhCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvLzMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vMy8zODZhdAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby8zLzNiMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby80CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvLzQvNDAyNWV4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvLzQvNDAyN2V4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvLzQvNDQxMC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvLzUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vNS81MDUxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvLzUvNTQxMC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvLzUvNTYyMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby81LzU2MzAtMjQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vNS81NjMwRE1ELTI0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvLzYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vNi82MzAtbG0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vNi82MzBNVEctMjQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vNworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby83LzczME1URy0yNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby83LzczME1URy00MQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby83LzczME1URy00MXIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vNy83MzBNVEdyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvLzcvNzMwTVRHci0yNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby84CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvLzgvODUxMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby85CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvLzkvOTU1LWhiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvLzkvOTU1LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vUAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9QL1AxMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9QL1AxMi1NCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL1AvUDEyLU0tVworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9QL1AxMi1XCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL1AvUDE0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL1AvUDE0LU0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vUC9QMTQtTS1XCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL1AvUDE0LVcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vUC9QNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9QL1A1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL1AvUDcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vUC9QOAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9QL1A4LVcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vUC9QOQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9QL1A5LTgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vUC9QOS04LVcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vUC9QOS1XCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL1gKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vWC9YLWhwdGVybQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYTIxMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2E4MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2E5ODAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYTQwODAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYWEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYWErZGVjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhK3J2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhK3VuaworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FhYS0xOAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FhYS0xOC1ydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FhYS0yMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FhYS0yMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FhYS0yNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FhYS0yNC1ydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FhYS0yNgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FhYS0yOAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FhYS0zMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FhYS0zMC1jdHh0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLTMwLXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLTMwLXJ2LWN0eHQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYWEtMzAtcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FhYS0zMC1zLWN0eHQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYWEtMzAtcy1ydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FhYS0zMC1zLXJ2LWN0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLTM2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLTM2LXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLTQwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLTQwLXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLTQ4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLTQ4LXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLTYwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLTYwLWRlYy1ydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FhYS02MC1ydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FhYS02MC1zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLTYwLXMtcnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYWEtY3R4dAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FhYS1kYgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FhYS1ydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FhYS1ydi1jdHh0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLXJ2LXVuaworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FhYS1zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLXMtY3R4dAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FhYS1zLXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLXMtcnYtY3R4dAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FhYS11bmsKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYXMxOTAxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWJtODAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYm04NQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FibTg1ZQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FibTg1aAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FibTg1aC1vbGQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hY3Q0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWN0NQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FkZHJpbmZvCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWRkczk4MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FkZHN2aWV3cG9pbnQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hZGRzdnA2MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FkbStzZ3IKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hZG0xCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWRtMTEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hZG0xMTc4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWRtMTIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hZG0xYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FkbTIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hZG0yMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FkbTIxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWRtMjIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hZG0zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWRtMzEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hZG0zMS1vbGQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hZG0zNgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FkbTNhCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWRtM2ErCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWRtNDIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hZG00Mi1ucworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FkbTUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hZXBybworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FpeHRlcm0tbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FpeHRlcm0tbS1vbGQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hagorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FqNTEwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWo4MzAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hajgzMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FsdDIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbHQzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWx0NAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FsdDUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbHQ3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWx0N3BjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWx0by1oMTkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbHRvLWhlYXRoCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWx0b2gxOQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FsdG9oZWF0aAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FsdG9zLTIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbHRvcy0zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWx0b3MtNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FsdG9zLTUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbHRvczIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbHRvczMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbHRvczQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbHRvczUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbHRvczcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbHRvczdwYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FtYmFzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW1iYXNzYWRvcgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FtaWdhCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW1pZ2EtaAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FtcDIxOQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FtcDIxOXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbXBleC0yMTkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbXBleC0yMTl3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW1wZXgtMjMyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW1wZXgxNzUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbXBleDE3NS1iCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW1wZXgyMTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbXBleDIxOQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FtcGV4MjE5dworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FtcGV4MjMyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW1wZXgyMzJ3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW1wZXg4MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FubmFyYm9yNDA4MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2Fuc2kKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbnNpLWNvbG9yLTItZW14CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW5zaS1jb2xvci0zLWVteAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2Fuc2ktZW14CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW5zaS1tCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW5zaS1taW5pCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW5zaS1tb25vCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW5zaS1udAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2Fuc2kuc3lzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW5zaS5zeXMtb2xkCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW5zaS5zeXNrCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW5zaTQzbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2Fuc2k3NworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2Fuc2k4MHgyNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2Fuc2k4MHgyNS1tb25vCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW5zaTgweDI1LXJhdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2Fuc2k4MHgzMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2Fuc2k4MHgzMC1tb25vCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW5zaTgweDQzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW5zaTgweDQzLW1vbm8KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbnNpODB4NTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbnNpODB4NTAtbW9ubworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2Fuc2k4MHg2MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2Fuc2k4MHg2MC1tb25vCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW5zaWwKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbnNpbC1tb25vCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW5zaXMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbnNpcy1tb25vCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW5zaXN5c2sKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbnNpdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FwLXZtODAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hcGwKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hcG9sbG8KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hcG9sbG9fMTVQCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXBvbGxvXzE5TAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2Fwb2xsb19jb2xvcgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FwcGxlLTgwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXBwbGUtYWUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hcHBsZS1zb3JvYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FwcGxlLXV0ZXJtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXBwbGUtdXRlcm0tdmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hcHBsZS12aWRleAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FwcGxlLXZpZGV4MgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FwcGxlLXZpZGV4MworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FwcGxlLXZtODAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hcHBsZTJlCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXBwbGUyZS1wCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXBwbGU4MHAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hcHBsZUlJCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXBwbGVJSWMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hcHBsZUlJZQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FwcGxlSUlncworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0Mzg2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXRhcmkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQyMzAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0MjM1MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDQ0MTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ0NDEwLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ0NDEwdjEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ0NDEwdjEtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDQ0MTUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ0NDE1K25sCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NDQxNS1ubAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDQ0MTUtcnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ0NDE1LXJ2LW5sCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NDQxNS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NDQxNS13LW5sCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NDQxNS13LXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NDQxNS13LXJ2LW4KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ0NDE4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NDQxOC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NDQyMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDQ0MjQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ0NDI0LTEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ0NDI0bQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDQ0MjUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ0NDI1LW5sCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NDQyNS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NDQyNgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDUwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDUwNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDUwNS0yNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDUxMGEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ1MTBkCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NTEzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NTMxMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDUzMjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ1NDEwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NTQxMC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NTQxMHYxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NTQxMHYxLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ1NDE4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NTQxOC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NTQyMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDU0MjArbmwKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ1NDIwLW5sCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NTQyMC1ydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDU0MjAtcnYtbmwKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ1NDIwLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ1NDIwLXctbmwKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ1NDIwLXctcnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ1NDIwLXctcnYtbgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDU0MjBfMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDU0MjBfMi13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NTQyNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDU0MjUtbmwKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ1NDI1LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ1NDMwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NTYyMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDU2MjAtMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDU2MjAtMjQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ1NjIwLTM0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NTYyMC1zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NjA1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NjA1LXBjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NjA1LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ2MTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ2MTAtMTAzaworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDYxMC0xMDNrLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ2MTAtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDYxNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDYxNS0xMDNrCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NjE1LTEwM2stdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDYxNS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NjIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NjIwLTEwM2sKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ2MjAtMTAzay13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NjIwLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ2MzAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ2MzAtMjQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ2Mzg2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NzMwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NzMwLTI0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NzMwLTQxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NzMwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDczMHIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ3MzByLTI0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NzMwci00MQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F2YXRhcgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F2YXRhcjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdmF0YXIwKworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F2YXRhcjEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdnQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdnQrcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F2dC1ucworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F2dC1ydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F2dC1ydi1ucworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F2dC1ydi1zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXZ0LXMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdnQtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F2dC13LW5zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXZ0LXctcnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdnQtdy1ydi1ucworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F2dC13LXJ2LXMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdnQtdy1zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXdzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXdzYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9iCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2IvYi0xMjgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYi9iYW50YW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYi9iYXNpYzQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYi9iYXNpcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9iL2JjdDUxMGEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYi9iY3Q1MTBkCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2IvYmVhY29uCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2IvYmVlCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2IvYmVlaGl2ZQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9iL2JlZWhpdmUzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2IvYmVlaGl2ZTQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYi9iZWVoaXZlSUlJbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9iL2JldGVybQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9iL2JnMS4yNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9iL2JnMS4yNW52CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2IvYmcxLjI1cnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYi9iZzIuMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9iL2JnMi4wbnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYi9iZzIuMHJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2IvYmczLjEwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2IvYmczLjEwbnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYi9iZzMuMTBydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9iL2JoM20KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYi9iaDQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYi9iaXRncmFwaAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9iL2JsaXQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYi9ib2JjYXQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYi9ic2RvcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9iL2JzZG9zLWJvbGQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2MxMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jMTAwLTFwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvYzEwMC00cAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2MxMDAtcnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jMTAwLXJ2LTRwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvYzEwNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2MxMDgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jMTA4LTRwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvYzEwOC04cAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2MxMDgtcnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jMTA4LXJ2LTRwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvYzEwOC1ydi04cAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2MxMDgtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2MxMDgtdy04cAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2MzMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jMzAxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvYzMyMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NhMjI4NTEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jYWQ2OC0yCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY2FkNjgtMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NiYmxpdAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NidW5peAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NjaQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NjaTEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jZGM0NTYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jZGM3MjEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jZGM3MjEtZXNjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY2RjNzIxbGwKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jZGM3NTIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jZGM3NTYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jZzc5MDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jZ2MyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY2djMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2Nocm9tYXRpY3MKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jaTg1MTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jaXQtODAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jaXQxMDEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jaXQxMDFlCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY2l0MTAxZS0xMzIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jaXQxMDFlLW4KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jaXQxMDFlLW4xMzIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jaXQxMDFlLXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY2l0NTAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY2l0ODAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jaXRjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY2l0b2gKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jaXRvaC02bHBpCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY2l0b2gtOGxwaQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NpdG9oLWNvbXAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jaXRvaC1lbGl0ZQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NpdG9oLXBpY2EKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jaXRvaC1wcm9wCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY2l0b2gtcHMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb2NvMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvaGVyZW50CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29sb3JfeHRlcm0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb2xvcnNjYW4KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb21tb2RvcmUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25jZXB0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uY2VwdC1hdnQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25jZXB0MTAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uY2VwdDEwMC1ydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbmNlcHQxMDgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25jZXB0MTA4LTRwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uY2VwdDEwOC04cAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbmNlcHQxMDgtdy04CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uY2VwdDEwOC13OHAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25jZXB0MTA4cnY0cAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbnMyNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbnMyNS1pc28tbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbnMyNS1pc284ODU5CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uczI1LWtvaTgtcgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbnMyNS1rb2k4ci1tCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uczI1LW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25zMjVsMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbnMyNWwxLW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25zMjVyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uczI1ci1tCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uczI1dworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbnMzMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbnMzMC1tCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uczQzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uczQzLW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25zNTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25zNTAtaXNvLW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25zNTAtaXNvODg1OQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbnM1MC1rb2k4cgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbnM1MC1rb2k4ci1tCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uczUwLW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25zNTBsMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbnM1MGwxLW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25zNTByCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uczUwci1tCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uczYwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uczYwLWlzbworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbnM2MC1pc28tbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbnM2MC1rb2k4cgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbnM2MC1rb2k4ci1tCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uczYwLW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25zNjBsMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbnM2MGwxLW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25zNjByCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uczYwci1tCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29udGVsMzAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29udGVsMzAxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29udGVsMzIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29udGVsMzIxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29wcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvcHMtMTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb3BzMTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jczEwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY3MxMC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY3Q4MgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2N0ODUwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2N0cm0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jeAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2N4MTAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY3liMTEwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY3liODMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2QxMzIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kODAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kODAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZGF0YWdyYXBoaXgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kYXRhbWVkaWEyNTAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZGF0YXBvaW50CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZGF0YXNwZWVkNDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kZDUwMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kZHIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kZHIzMTgwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZGVjLXZ0MTAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZGVjLXZ0MjIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZGVjLXZ0MzMwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZGVjLXZ0MzQwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZGVjLXZ0NDAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZGVjcHJvCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZGVjd3JpdGVyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZGVsdGEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kZy1hbnNpCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZGcxMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kZzIwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RnMjEwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZGcyMTEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kZzQ1MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RnNDYwLWFuc2kKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kZzYwNTMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kZzYxMzQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kaWFibG8KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kaWFibG8tbG0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kaWFibG8xNjIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZGlhYmxvMTYyMC1tOAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RpYWJsbzE2NDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kaWFibG8xNjQwLWxtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZGlhYmxvMTY0MC1tOAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RpYWJsbzE3MjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kaWFibG8xNzMwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZGlhYmxvMTc0MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RpYWJsbzE3NDAtbG0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kaWFibG80NTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kaWFibG82MzAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kaWFsb2d1ZQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RpYWxvZ3VlODAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kaWdpbG9nCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZGt1NzAwMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RrdTcwMDMtZHVtYgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RtMTUyMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RtMTUyMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RtMjUwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RtMzAyNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RtMzA0NQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RtODAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kbTgwdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RtY2hhdAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RtZAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RtZC0yNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RtZC0zNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RtZDEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kbWR0ODAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kbWR0ODB3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZG10ZXJtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZHAzMzYwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZHA4MjQyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZHM0MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RzNDAtMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2R0LTEwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2R0LTEwMHcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kdDEwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2R0MTAwdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2R0MTEwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZHQ4MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2R0ODAtc2FzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZHQ4MHcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kdGMzMDBzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZHRjMzgyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZHR0ZXJtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZHVtYgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2R3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZHcxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZHcyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZHczCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZHc0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZHdrCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZHdrLXZ0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2UKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZS9lY21hK2NvbG9yCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2UvZWNtYStzZ3IKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZS9lbW90cworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9lL2VtdQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9lL2VudjIzMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9lL2VudmlzaW9uMjMwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2UvZXA0MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9lL2VwNDAwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9lL2VwNDA4MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9lL2VwNDgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZS9lcmdvNDAwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9lL2VzcHJpdAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9lL2VzcHJpdC1hbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9lL2V0ZXJtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2UvZXgxNTUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZS9leGNlbDYyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2UvZXhjZWw2Mi1ydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9lL2V4Y2VsNjItdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9lL2V4Y2VsNjQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZS9leGNlbDY0LXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2UvZXhjZWw2NC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2UvZXhlYzgwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2YKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZi9mMTAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2YvZjEwMC1ydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9mL2YxMTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZi9mMTEwLTE0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2YvZjExMC0xNHcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZi9mMTEwLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZi9mMTcyMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9mL2YxNzIwYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9mL2YyMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZi9mMjAwLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZi9mMjAwdmkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZi9mMjAwdmktdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9mL2ZhbGNvCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2YvZmFsY28tcAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9mL2Zlbml4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2YvZmVuaXh3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2YvZml4dGVybQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9mL2ZvcnR1bmUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZi9mb3MKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZi9mb3gKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZi9mcmVlZG9tCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2YvZnJlZWRvbS1ydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9mL2ZyZWVkb20xMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZi9mcmVlZG9tMTEwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2YvZnJlZWRvbTIwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cvZ2F0b3IKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZy9nYXRvci01MgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2dhdG9yLTUydAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2dhdG9yLXQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZy9naWdpCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cvZ2xhc3N0dHkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZy9nby0yMjUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZy9nbzE0MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2dvMTQwdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2dvMjI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cvZ3JhcGhvcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2dyYXBob3MtMzAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZy9nczU0MzAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZy9nczU0MzAtMjIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZy9nczU0MzAtMjQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZy9nczYzMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZy9nc2kKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZy9ndDEwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2d0MTAwYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2d0NDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZy9ndDQyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cvZ3VydQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2d1cnUrcnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZy9ndXJ1K3MKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZy9ndXJ1K3VuaworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2d1cnUtMjQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZy9ndXJ1LTMzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cvZ3VydS0zMy1ydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2d1cnUtMzMtcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2d1cnUtNDQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZy9ndXJ1LTQ0LXMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZy9ndXJ1LTc2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cvZ3VydS03Ni1scAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2d1cnUtNzYtcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2d1cnUtNzYtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2d1cnUtNzYtdy1zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cvZ3VydS03Ni13bQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2d1cnUtbHAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZy9ndXJ1LW5jdHh0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cvZ3VydS1ydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2d1cnUtcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaC0xMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oLTEwMGJ3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaDEwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2gxMDBidworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2gxOQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2gxOS1hCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaDE5LWIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oMTktYnMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oMTktZworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2gxOS1zbXVsCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaDE5LXUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oMTktdXMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oMTlhCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaDE5ZworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2gxOWsKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oMTlrZXJtaXQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oMTl1cworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2gyOWEta2MtYmMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oMjlhLWtjLXVjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaDI5YS1ua2MtYmMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oMjlhLW5rYy11YworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2g4MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hhODY3NQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hhODY4NgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hhemVsCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaGRzMjAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaGU4MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hlYXRoCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaGVhdGgtMTkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oZWF0aC1hbnNpCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaGVhdGhraXQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oZWF0aGtpdC1hCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaGZ0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaGZ0LWMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oaXJlejEwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hpcmV6MTAwLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9obW9kMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHArYXJyb3dzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHArY29sb3IKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocCtsYWJlbHMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocCtwZmsrYXJyb3dzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHArcGZrK2NyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHArcGZrLWNyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHArcHJpbnRlcgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMTEwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAxNTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDIzNgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjM4MgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjM4MmEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDIzOTIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDIzOTcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDIzOTdhCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjIxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjIxLTQ4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjIxLWEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjEtYmEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjEtZmwKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjEtazQ1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjIxLW5sCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjIxLW50CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjIxLXdsCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjIxQQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyMWEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjFhLWEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjFiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjIxYi1reAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyMWIta3gtcAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyMWItcAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyMWs0NQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyMXAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjFwLWEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjJhCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjIzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjIzYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyNC0xMHAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjRhCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjI0YS0xMHAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjRiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjI0Yi0xMHAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjRiLTEwcC1wCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjI0Yi00cAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyNGItNHAtcAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyNGItcAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyNgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyNi0xMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyNi0xMi1zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjI2LTEyeDQwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjI2LW5zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjI2LXMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjYteDQwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjI2YQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyNnAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjdhCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjI3YS1yZXYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjdjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjJ4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjQwYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjY0MGIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2NDFhCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjQ0YQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjY0NQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjY0NWEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2NDdhCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjQ4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjQ4YQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMzAwaAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwNDUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDcwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwNzAwLXd5CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHA3MDA5MgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwNzAwOTJBCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHA3MDA5MmEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDk4MzcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDk4NDUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDk4NTUwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHA5ODU1MGEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDk4NzIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHA5ODcyMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwYW5zaQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwZXgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocGV4MgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwZ2VuZXJpYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwc3ViCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHB0ZXJtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHR4MTEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oejEwMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oejE0MjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oejE1MDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oejE1MTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oejE1MjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oejE1MjAtbm9lc2MKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oejE1NTIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oejE1NTItcnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oejIwMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2kxMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pMzEwMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2kzMTUxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaTMxNjQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pNDAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJjczIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm0tYXBsCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtLXBjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtLXN5c3RlbTEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm0zMTAxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtMzE1MQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2libTMxNjEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm0zMTYzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtMzE2NAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2libTMyN3gKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm01MDUxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtNTA4MQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2libTUwODEtYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2libTUxNTEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm01MTU0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtNTE1NC1jCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtNjE1MworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2libTYxNTQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm02MTU0LWMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm02MTU1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtODUxMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2libTg1MTMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm04NTE0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtODUxNC1jCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtYWVkCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtYXBhMTYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm1hcGE4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtYXBhOGMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm1hcGE4Yy1jCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtZWdhCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtZWdhLWMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm1tb25vCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtbXBlbAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2libW1wZWwtYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2libXBjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtcGMzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtcGMzcgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2libXBjM3ItbW9ubworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2libXBjeAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2libXZnYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2libXZnYS1jCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJteAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2lmbXIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pbXMtYW5zaQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2ltczk1MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2ltczk1MC1iCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaW1zOTUwLXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaW5mb3RvbgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2ludGVydGVjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaW50ZXJ0dWJlCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaW50ZXJ0dWJlMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2ludGV4dAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2ludGV4dDIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pbnRleHRpaQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2lwcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2lwc2kKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pcTEyMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2lxMTQwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaXJpcy1hbnNpCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaXJpcy1hbnNpLWFwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaXJpcy1jb2xvcgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2lyaXM0MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9qCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2ovamFpeHRlcm0tbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9qL2plcnEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9rL2s0NQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9rL2theXBybworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9rL2theXBybzIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vay9rZXJtaXQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vay9rZXJtaXQtYW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vay9rbG9uZSthY3MKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vay9rbG9uZStjb2xvcgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9rL2tsb25lK2tvaThhY3MKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vay9rbG9uZStzZ3IKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vay9rbG9uZStzZ3ItZHVtYgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9rL2t0NworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9rL2t0N2l4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2sva3Rlcm0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vay9rdG0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9sL2xhMTIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2wvbGF5ZXIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbC9saW51eAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9sL2xpbnV4LWMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbC9saW51eC1jLW5jCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2wvbGludXgta29pOAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9sL2xpbnV4LWtvaThyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2wvbGludXgtbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9sL2xpbnV4LW5pYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9sL2xpc2EKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbC9saXNhdGVybQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9sL2xpc2F0ZXJtLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbC9saXN3YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9sL2xuMDMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbC9sbjAzLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbC9scHIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbC9sdW5hCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2wvbHVuYTY4aworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbTItbmFtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbWFjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbWFjLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9tYWNpbnRvc2gKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9tYWN0ZXJtaW5hbC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbWFpCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbWFzc2NvbXAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9tYXNzY29tcDEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9tYXNzY29tcDIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9tZGwxMTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9tZWdhdGVrCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbWVtaHAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9tZ3IKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9tZ3ItbGludXgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9tZ3Itc3VuCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbWljcm9iCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbWljcm9iZWUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9taWNyb3Rlcm0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9taWNyb3Rlcm01CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbWltZQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21pbWUtM2F4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbWltZS1mYgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21pbWUtaGIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9taW1lMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21pbWUyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbWltZTJhCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbWltZTJhLXMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9taW1lMmEtdgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21pbWUzMTQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9taW1lMzQwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbWltZTNhCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbWltZTNheAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21pbWVpCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbWltZWlpCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbWluaXRlbAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21pbml0ZWwtMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21pbml0ZWwtMi1uYW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9taW5peAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21pbml4LW9sZAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21pbml4LW9sZC1hbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21tMzE0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbW0zNDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9tb2QKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9tb2QyNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21vZGdyYXBoCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbW9kZ3JhcGgyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbW9kZ3JhcGg0OAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21vbm8tZW14CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbXNrMjI3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbXNrMjI3MTQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9tc2syMjdhbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21za2VybWl0MjI3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbXNrZXJtaXQyMjcxNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21za2VybWl0MjI3YW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9tdC03MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL210NDUyMC1ydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL210NzAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25hbnNpLnN5cworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25hbnNpLnN5c2sKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9uYW5zaXN5cworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25hbnNpc3lzaworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25jcjc5MDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9uY3I3OTAwaQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25jcjc5MDBpdgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25jcjc5MDEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9uZWMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9uZWM1NTIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmV3aHAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9uZXdocGtleWJvYXJkCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmV3cworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25ld3MtMjkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9uZXdzLTI5LWV1YworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25ld3MtMjktc2ppcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25ld3MtMzMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9uZXdzLTMzLWV1YworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25ld3MtMzMtc2ppcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25ld3MtNDIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9uZXdzLTQyLWV1YworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25ld3MtNDItc2ppcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25ld3MtYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25ld3MtbworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25ld3Mtb2xkLXVuaworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25ld3MtdW5rCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmV3czI4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmV3czI4LWEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9uZXdzMjkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9uZXdzMzEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9uZXdzMzEtYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25ld3MzMS1vCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmV3czMzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmV3czQwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmV3czQwLWEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9uZXdzNDAtbworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25ld3M0MgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25ld3NjYm0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9uZXdzY2JtLWEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9uZXdzY2JtLW8KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9uZXdzY2JtMzMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9uZXh0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmV4dHNoZWxsCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbm9ydGhzdGFyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbndlNTAxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbndlNTAxLWEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9ud2U1MDEtbworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL253cC01MTEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9ud3AtNTE3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbndwLTUxNy13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbndwMjUxLWEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9ud3AyNTEtbworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL253cDUxMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL253cDUxMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL253cDUxMi1hCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbndwNTEyLW8KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9ud3A1MTMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9ud3A1MTMtYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL253cDUxMy1vCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbndwNTE0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbndwNTE0LWEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9ud3A1MTQtbworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL253cDUxNworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL253cDUxNy13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbndwNTE4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbndwNTE4LWEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9ud3A1MTgtbworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9vCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL28vbzMxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL28vbzQxMTItbmQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vby9vODVoCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL28vb2FibTg1aAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9vL29ibGl0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL28vb2MxMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vby9vY29uY2VwdAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9vL29qZXJxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL28vb2xkaWJtcGMzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL28vb2xkcGMzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL28vb2xkc3VuCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL28vb21yb24KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vby9vcHVzM24xKworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9vL29yaWdpYm1wYzMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vby9vcmlncGMzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL28vb3M5TElJCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL28vb3Nib3JuZQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9vL29zYm9ybmUtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9vL29zYm9ybmUxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL28vb3Nib3JuZTEtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9vL29zZXhlYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9vL290ZWs0MTEyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL28vb3RlazQxMTMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vby9vdGVrNDExNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9vL290ZWs0MTE1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL28vb3dsCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wMTIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wMTItbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3AxMi1tLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wMTItdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3AxNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3AxNC1tCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcDE0LW0tdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3AxNC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcDE5CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcDQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3A3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcDgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wOC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcDhnbAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3A5CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcDktOAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3A5LTgtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3A5LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wYy1jb2hlcmVudAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjLW1pbml4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGMtdmVuaXgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wYzMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wYzMtYm9sZAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjM3IKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wYzNyLW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wYzYzMDBwbHVzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGM3MzAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGNhbnNpCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGNhbnNpLTI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGNhbnNpLTI1LW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wY2Fuc2ktMzMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wY2Fuc2ktMzMtbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjYW5zaS00MworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjYW5zaS00My1tCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGNhbnNpLW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wY2Fuc2ktbW9ubworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjYW5zaTI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGNhbnNpMjVtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGNhbnNpMzMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wY2Fuc2kzM20KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wY2Fuc2k0MworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjY29ucworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjY29uc29sZQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjaXgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wY2tlcm1pdAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3Bja2VybWl0MTIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wY2tlcm1pdDEyMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjcGxvdAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjdnQyNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjdnQyNXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wY3Z0MjgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wY3Z0Mjh3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGN2dDM1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGN2dDM1dworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjdnQ0MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjdnQ0MHcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wY3Z0NDMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wY3Z0NDN3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGN2dDUwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGN2dDUwdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjdnRYWAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjejE5CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGUxMTAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGUxMjAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGUxMjUxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGU1NTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wZTYxMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wZTYzMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wZTYzMTIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wZTcwMDBjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGU3MDAwbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BpbG90CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHJpbnRlcgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3ByaXNtMTIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wcmlzbTEyLW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wcmlzbTEyLW0tdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3ByaXNtMTItdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3ByaXNtMTQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wcmlzbTE0LW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wcmlzbTE0LW0tdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3ByaXNtMTQtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3ByaXNtMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3ByaXNtNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3ByaXNtNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3ByaXNtNworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3ByaXNtOAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3ByaXNtOC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHJpc204Z2wKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wcmlzbTkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wcmlzbTktOAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3ByaXNtOS04LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wcmlzbTktdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BybzM1MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BzMzAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHN0ZXJtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHN0ZXJtLTgweDI0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHN0ZXJtLTkweDI4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHN0ZXJtLTk2eDQ4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHN0ZXJtLWJhc2ljCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHN0ZXJtLWZhc3QKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wc3hfYW5zaQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3B0MTAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHQxMDB3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHQyMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wdDIwMHcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wdDIxMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3B0MjUwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHQyNTB3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHQ1MDUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wdDUwNS0yMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3B0NTA1LTI0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHR5CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3EKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcS9xZGNvbnMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcS9xZHNzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3EvcW54CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3EvcW54NAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9xL3F1bWUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcS9xdW1lNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9xL3F2dDEwMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9xL3F2dDEwMSsKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcS9xdnQxMDFwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3EvcXZ0MTAyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3EvcXZ0MTAzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3EvcXZ0MTAzLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcS9xdnQxMDgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcS9xdnQxMTkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcS9xdnQxMTkrCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3EvcXZ0MTE5Ky0yNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9xL3F2dDExOSstMjUtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9xL3F2dDExOSstdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9xL3F2dDExOS0yNS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3EvcXZ0MTE5LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcS9xdnQxMTlwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3EvcXZ0MTE5cC0yNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9xL3F2dDExOXAtMjUtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9xL3F2dDExOXAtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9xL3F2dDIwMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9xL3F2dDIwMysKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcS9xdnQyMDMtMjUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcS9xdnQyMDMtMjUtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9xL3F2dDIwMy13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3EvcXZ0MjAzLXctYW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9yL3JiY29tbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9yL3JiY29tbS1uYW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vci9yYmNvbW0tdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9yL3JjYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9yL3JlYnVzMzE4MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9yL3JlZ2VudAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9yL3JlZ2VudDEwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9yL3JlZ2VudDIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3IvcmVnZW50MjAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3IvcmVnZW50MjUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vci9yZWdlbnQ0MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9yL3JlZ2VudDQwKworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9yL3JlZ2VudDYwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3IvcnQ2MjIxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3IvcnQ2MjIxLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vci9ydHBjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Ivcnh2dAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9yL3J4dnQtYmFzaWMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3MKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3NiMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3NiMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3NiMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3NiaQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3Nib2JjYXQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zYzQxMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3NjNDE1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc2NhbnNldAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3Njb2Fuc2kKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zY3JlZW4KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zY3JlZW4tdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3NjcmVlbjIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zY3JlZW4zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc2NyZXdwb2ludAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3NjcmhwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc2ltdGVybQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3Nvcm9jCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc29yb2MxMjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zb3JvYzE0MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3NwaW53cml0ZXIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zdDUyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc3VuCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc3VuLTEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zdW4tMTIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zdW4tMTcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zdW4tMjQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zdW4tMzQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zdW4tNDgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zdW4tYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3N1bi1jbWQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zdW4tZQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3N1bi1lLXMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zdW4taWwKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zdW4tbmljCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc3VuLXMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zdW4tcy1lCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc3VuLXNzNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3N1bjEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zdW4yCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc3VuZQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3N1cGVyYmVlCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc3VwZXJiZWUteHNiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc3VwZXJiZWVpYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3N1cGVyYnJhaW4KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zdjgwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc3d0cAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3N5bmVydGVrCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc3luZXJ0ZWszODAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zeXN0ZW0xCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90MTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90MTA2MQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3QxMDYxZgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3QxNgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3QzNzAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdDM4MDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90NjUzeAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RhYgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RhYjEzMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RhYjEzMi0xNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RhYjEzMi1ydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RhYjEzMi13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGFiMTMyLXctcnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90YW5kZW02NTEwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGFuZGVtNjUzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDAxMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RlazQwMTMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0MDE0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDAxNC1zbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RlazQwMTUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0MDE1LXNtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDAyMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RlazQwMjQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0MDI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDAyNS0xNworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RlazQwMjUtMTctd3MKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0MDI1LWNyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDAyNS1leAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RlazQwMjVhCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDAyNWV4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDAyNworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RlazQwMjctZXgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0MTA1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDEwNS0zMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RlazQxMDVhCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDEwNmJybAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RlazQxMDcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0MTA3YnJsCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDEwOQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RlazQxMDlicmwKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0MTEyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDExMi01CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDExMi1uZAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RlazQxMTMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0MTEzLTM0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDExMy1uZAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RlazQxMTQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0MTE1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDEyNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RlazQyMDUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0MjA3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDIwNy1zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDQwNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RlbGVyYXkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWxldGVjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVybWluZXQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZXJtaW5ldDEyMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZXJtaW5ldDMwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RndGVsbmV0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGk3MDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90aTczMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RpNzM1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGk3NDUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90aTgwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RpOTE2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGk5MTYtMTMyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGk5MTYtMjIwLTcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90aTkxNi0yMjAtOAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RpOTE2LTgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90aTkxNi04LTEzMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RpOTI0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGk5MjQtOAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RpOTI0LTh3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGk5MjR3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGk5MjYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90aTkyNi04CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGk5MjgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90aTkyOC04CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGk5MzEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90aV9hbnNpCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdG4xMjAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdG4zMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90cnMxNgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RyczIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90cnM4MElJCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHJzSUkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90cy0xCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHMtMXAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90czEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90czEwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RzMTAwLWN0eHQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90czEwMC1zcAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RzMXAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dDUwNS0yMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R0eTMzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHR5MzUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dHkzNworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R0eTQwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHR5NDMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dHk0NDIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHR5NDQyNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R0eTQ0MjQtMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R0eTQ0MjRtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHR5NDQyNgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R0eTU0MTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dHk1NDEwLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dHk1NDEwdjEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dHk1NDEwdjEtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R0eTU0MjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dHk1NDIwK25sCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHR5NTQyMC1ubAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R0eTU0MjAtcnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dHk1NDIwLXJ2LW5sCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHR5NTQyMC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHR5NTQyMC13LW5sCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHR5NTQyMC13LXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHR5NTQyMC13LXJ2LW4KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dHk1NDI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHR5NTQyNS1ubAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R0eTU0MjUtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R0eTU2MjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dHk1NjIwLTEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dHk1NjIwLTI0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHR5NTYyMC0zNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R0eTU2MjAtcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R0eWRtZAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R2aS0ycAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R2aTgwMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R2aTkwNjUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5MTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5MTArCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHZpOTEyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHZpOTEyLTJwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHZpOTEyYgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R2aTkxMmMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5MTJjYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R2aTkxNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R2aTkyMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R2aTkyMC0ycAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R2aTkyMGIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5MjBjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHZpOTIxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHZpOTI0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHZpOTI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHZpOTI1LWhpCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHZpOTJCCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHZpOTJECisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHZpOTUwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHZpOTUwLTJwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHZpOTUwLTRwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHZpOTUwLXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHZpOTUwLXJ2LTJwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHZpOTUwLXJ2LTRwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHZpOTU1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHZpOTU1LWhiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHZpOTU1LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5NzAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5NzAtMnAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5NzAtdmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmlwdAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby91CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3UvdWx0aW1hMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby91L3VsdGltYUlJCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3UvdW5pdGVybQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby91L3VuaXRlcm00OQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby91L3VuaXhwYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby91L3Vua25vd24KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdS91dHMzMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdjIwMC1uYW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92MzIwbgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3YzMjIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdjU0MTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92YXBwbGUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92YzEwMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3ZjMjAzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdmMzMDMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92YzMwM2EKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92YzQwM2EKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92YzQwNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3ZjNDA0LXMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92YzQxNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3ZjNDE0aAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3ZjNDE1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdmVuaXgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92ZXJzYXRlcm0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92aTIwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3ZpMjAwLWYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92aTIwMC1ydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3ZpMzAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdmkzMDAtb2xkCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Yvdmk1MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3ZpNTAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Yvdmk1MGFkbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3ZpNTUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92aTU1MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3ZpNjAzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Yvdmlld3BvaW50CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Yvdmlld3BvaW50M2ErCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Yvdmlld3BvaW50NjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92aWV3cG9pbnQ5MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Zpc2E1MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Zpc3VhbDYwMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3ZpdHR5CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdmsxMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92cDNhKworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3ZwNjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92cDkwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnJlbW90ZQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3ZzMTAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnMxMDAteDEwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnNjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQtNjEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDEwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MTAwLWFtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQxMDAtYm0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDEwMC1ibS1vCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQxMDAtYm90LXMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDEwMC1uYW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDEwMC1uYW0tdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MTAwLW5hdgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MTAwLW5hdi13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQxMDAtcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MTAwLXMtYm90CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQxMDAtcy10b3AKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDEwMC10b3AtcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MTAwLXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQxMDAtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MTAwLXctYW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDEwMC13LW5hbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MTAwLXctbmF2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQxMDBuYW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDEwMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MTAyLW5zZ3IKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDEwMi13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQxMjUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDEzMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MTMyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQyMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDIwMC1qcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MjAwLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDIyMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MjIwLTgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDIyMC1qcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MjIwLW5hbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MjIwLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDIyMGQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDMwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MzAwLW5hbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MzAwLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDMwMC13LW5hbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MzIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQzMjAtazMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDMyMC1rMzExCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQzMjAtbmFtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQzMjAtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MzIwLXctbmFtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQzMjBuYW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDMzMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MzQwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQ0MDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDQwMC0yNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0NDIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQ0MjBmCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQ0MjBwYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0NDIwcGNkb3MKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDUwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQ1MGgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDUxMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0NTEwcGMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDUxMHBjZG9zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQ1MgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0NTIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQ1MjUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDYxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQ2MS41CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93cmVuCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3JlbncKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93c2lyaXMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eS03NWFwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kxMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTEwMHEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTEyMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MTIwLTI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kxMjAtMjUtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MTIwLXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kxMjAtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MTIwLXctdmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTEyMC13dmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTE1MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MTUwLTI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kxNTAtMjUtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MTUwLXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kxNTAtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MTUwLXctdmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTE2MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MTYwLTI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kxNjAtMjUtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MTYwLTQyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kxNjAtNDItdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MTYwLTQzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kxNjAtNDMtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MTYwLXRlaworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MTYwLXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kxNjAtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MTYwLXctdmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTE2MC13dmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTE4NQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MTg1LTI0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kxODUtdmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTE4NS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kxODUtd3ZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kzMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MzAtbWMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTMwLXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kzMjUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTMyNS0yNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MzI1LTI1dworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MzI1LTQyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kzMjUtNDJ3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kzMjUtNDJ3LXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kzMjUtNDJ3dmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTMyNS00MworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MzI1LTQzdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MzI1LTQzdy12YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MzI1LTQzd3ZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kzMjUtODAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTMyNS12YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MzI1LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTMyNS13LXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kzMjUtd3ZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kzMjV3LTI0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kzNTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTM1MC12YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MzUwLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTM1MC13dmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTM3MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MzcwLTEwMWsKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTM3MC0xMDVrCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kzNzAtRVBDCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kzNzAtbmsKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTM3MC1ydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MzcwLXRlaworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MzcwLXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kzNzAtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MzcwLXd2YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTUwLW1jCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k1MC12YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NTAtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NTAtd3ZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k1MjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTUyMC0yNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NTIwLTM2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k1MjAtMzZwYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NTIwLTM2dworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NTIwLTM2d3BjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k1MjAtNDgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTUyMC00OHBjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k1MjAtNDh3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k1MjAtNDh3cGMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTUyMC1lcGMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTUyMC1lcGMtMjQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTUyMC1lcGMtdmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTUyMC1lcGMtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NTIwLWVwYy13dmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTUyMC12YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NTIwLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTUyMC13dmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTYwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k2MC0yNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NjAtMjUtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NjAtMzE2WAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NjAtNDIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTYwLTQyLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTYwLTQzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k2MC00My13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k2MC12YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NjAtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NjAtdy12YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NjAtd3ZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k3NQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NzUtbWMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTc1LXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k3NS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k3NS13dmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTc1YXAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTg1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k4NS12YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5ODUtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5ODUtd3ZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k5OWd0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k5OWd0LTI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k5OWd0LTI1LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTk5Z3QtdGVrCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k5OWd0LXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k5OWd0LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTk5Z3Qtdy12YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5OTlndC13dmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlLTMyNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UtNzVhcAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UtdnAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMTIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTEyMC0yNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UxMjAtMjUtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UxMjAtdmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMTIwLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMTIwLXd2YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UxNTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMTUwLTI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTE1MC0yNS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTE1MC12YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UxNTAtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UxNTAtdy12YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UxNjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMTYwLTI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTE2MC0yNS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTE2MC00MgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UxNjAtNDItdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UxNjAtNDMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMTYwLTQzLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMTYwLXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTE2MC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTE2MC13dmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMTg1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTE4NS0yNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UxODUtdmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMTg1LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMTg1LXd2YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UzMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UzMC1tYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UzMC12YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UzMjUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMzI1LTI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTMyNS0yNXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMzI1LTQyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTMyNS00MncKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMzI1LTQzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTMyNS00M3cKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMzI1LXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTMyNS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTMyNS13dmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMzUwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTM1MC12YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UzNTAtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UzNTAtd3ZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTM3MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U1MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U1MC1tYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U1MC12YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U1MC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTUwLXd2YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U1MjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlNTIwLTI0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTUyMC0zNgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U1MjAtMzZwYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U1MjAtMzZ3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTUyMC0zNndwYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U1MjAtNDgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlNTIwLTQ4cGMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlNTIwLTQ4dworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U1MjAtNDh3cGMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlNTIwLWVwYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U1MjAtZXBjLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlNTIwLXAtd3ZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTUyMC1wYy0yNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U1MjAtcGMtdmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlNTIwLXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTUyMC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTUyMC13dmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlNjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlNjAtMjUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlNjAtMjUtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U2MC0zMTZYCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTYwLTQyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTYwLTQyLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlNjAtNDMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlNjAtNDMtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U2MC12YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U2MC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTYwLXd2YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U3NQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U3NS1tYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U3NS12YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U3NS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTc1LXd2YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U3NWFwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTg1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTg1LXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTg1LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlODUtd3ZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTk5Z3QKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlOTlndC0yNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U5OWd0LTI1LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlOTlndC12YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U5OWd0LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlOTlndC13dmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8veAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3gxMHRlcm0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8veC94MTcwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3gxNzAwLWxtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3gveDE3MjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8veC94MTc1MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3g2OGsKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8veC94NjhrLWl0ZQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3g4MjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8veC94ZW5peAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3hlcm94CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3gveGVyb3gtbG0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8veC94ZXJveDE3MjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8veC94ZXJveDgyMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3hsODMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8veC94dGFsaworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3h0ZXJtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3gveHRlcm0rc2wKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8veC94dGVybStzbC10d20KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8veC94dGVybS0xNmNvbG9yCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3gveHRlcm0tOGJpdAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3h0ZXJtLWJvbGQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8veC94dGVybS1uaWMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8veC94dGVybS1vbGQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8veC94dGVybS1wY29sb3IKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8veC94dGVybS1yNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3h0ZXJtLXI2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3gveHRlcm0tc3VuCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3gveHRlcm0teGY4Ni12MzIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8veC94dGVybS14Zjg2LXYzMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3h0ZXJtLXhmODYtdjQwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3gveHRlcm0teGkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8veC94dGVybTEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8veC94dGVybXMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8veC94dGVybXMtc3VuCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3gveHdzaAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby96CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3ovei0xMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vei96LTEwMGJ3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3ovejEwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby96L3oxMDBidworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby96L3oxMTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vei96MTEwYncKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vei96MTkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vei96MjkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vei96MjlhCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3ovejI5YS1rYy1iYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby96L3oyOWEta2MtdWMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vei96MjlhLW5rYy1iYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby96L3oyOWEtbmtjLXVjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3ovejI5YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby96L3ozMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby96L3ozNDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vei96MzQwLW5hbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby96L3ozOS1hCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3ovejM5YQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby96L3o1MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby96L3o4MDAxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3ovemVuMzAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vei96ZW41MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby96L3plbjgwMDEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vei96ZW5pdGgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vei96ZW5pdGgyOQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby96L3plbml0aDM5LWEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vei96ZW5pdGgzOS1hbnNpCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3ovenQtMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby96L3p0eAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby96L3p0eC0xLWEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vei96dHgxMQorPC9SUE06RmlsZXM+CisgIDwvUkRGOkRlc2NyaXB0aW9uPgorPC9SREY6UkRGPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvbm9lbnQvc2xhc2hkb3QucmRmIGIvbGlieG1sMi9yZXN1bHQvbm9lbnQvc2xhc2hkb3QucmRmCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMzMDA4YWIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9zbGFzaGRvdC5yZGYKQEAgLTAsMCArMSw2NSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiIHhtbG5zPSJodHRwOi8vbXkubmV0c2NhcGUuY29tL3JkZi9zaW1wbGUvMC45LyI+CisKKyAgPGNoYW5uZWw+CisgICAgPHRpdGxlPlNsYXNoZG90Ok5ld3MgZm9yIE5lcmRzLiBTdHVmZiB0aGF0IE1hdHRlcnMuPC90aXRsZT4KKyAgICA8bGluaz5odHRwOi8vc2xhc2hkb3Qub3JnLzwvbGluaz4KKyAgICA8ZGVzY3JpcHRpb24+TmV3cyBmb3IgTmVyZHMuICBTdHVmZiB0aGF0IE1hdHRlcnM8L2Rlc2NyaXB0aW9uPgorICA8L2NoYW5uZWw+CisKKyAgPGltYWdlPgorICAgIDx0aXRsZT5TbGFzaGRvdDwvdGl0bGU+CisgICAgPHVybD5odHRwOi8vc2xhc2hkb3Qub3JnL2ltYWdlcy9zbGFzaGRvdGxnLmdpZjwvdXJsPgorICAgIDxsaW5rPmh0dHA6Ly9zbGFzaGRvdC5vcmc8L2xpbms+CisgIDwvaW1hZ2U+CisgIAorICA8aXRlbT4KKyAgICA8dGl0bGU+MTAwIE1iaXQvcyBvbiBGaWJyZSB0byB0aGUgaG9tZTwvdGl0bGU+CisgICAgPGxpbms+aHR0cDovL3NsYXNoZG90Lm9yZy9hcnRpY2xlcy85OS8wNi8wNi8xNDQwMjExLnNodG1sPC9saW5rPgorICA8L2l0ZW0+CisgIAorICA8aXRlbT4KKyAgICA8dGl0bGU+R2ltcCAxLjIgUHJldmlldzwvdGl0bGU+CisgICAgPGxpbms+aHR0cDovL3NsYXNoZG90Lm9yZy9hcnRpY2xlcy85OS8wNi8wNi8xNDM4MjQ2LnNodG1sPC9saW5rPgorICA8L2l0ZW0+CisgIAorICA8aXRlbT4KKyAgICA8dGl0bGU+U29ueSdzIEFJQk8gcm9ib3QgU29sZCBPdXQ8L3RpdGxlPgorICAgIDxsaW5rPmh0dHA6Ly9zbGFzaGRvdC5vcmcvYXJ0aWNsZXMvOTkvMDYvMDYvMTQzMjI1Ni5zaHRtbDwvbGluaz4KKyAgPC9pdGVtPgorICAKKyAgPGl0ZW0+CisgICAgPHRpdGxlPkFzayBTbGFzaGRvdDogQW5vdGhlciBXb3JkIGZvciAiSGFja2VyIj88L3RpdGxlPgorICAgIDxsaW5rPmh0dHA6Ly9zbGFzaGRvdC5vcmcvYXNrc2xhc2hkb3QvOTkvMDYvMDUvMTgxNTIyNS5zaHRtbDwvbGluaz4KKyAgPC9pdGVtPgorICAKKyAgPGl0ZW0+CisgICAgPHRpdGxlPkNvcmVsIExpbnV4IEZBUTwvdGl0bGU+CisgICAgPGxpbms+aHR0cDovL3NsYXNoZG90Lm9yZy9hcnRpY2xlcy85OS8wNi8wNS8xODQyMjE4LnNodG1sPC9saW5rPgorICA8L2l0ZW0+CisgIAorICA8aXRlbT4KKyAgICA8dGl0bGU+VXBzaWRlIGRvd25zaWRlcyBNUDMuQ09NLjwvdGl0bGU+CisgICAgPGxpbms+aHR0cDovL3NsYXNoZG90Lm9yZy9hcnRpY2xlcy85OS8wNi8wNS8xNTU4MjEwLnNodG1sPC9saW5rPgorICA8L2l0ZW0+CisgIAorICA8aXRlbT4KKyAgICA8dGl0bGU+MiBUZXJhYml0cyBvZiBCYW5kd2lkdGg8L3RpdGxlPgorICAgIDxsaW5rPmh0dHA6Ly9zbGFzaGRvdC5vcmcvYXJ0aWNsZXMvOTkvMDYvMDUvMTU1NDI1OC5zaHRtbDwvbGluaz4KKyAgPC9pdGVtPgorICAKKyAgPGl0ZW0+CisgICAgPHRpdGxlPlN1cHByZXNzaW9uIG9mIGNvbGQgZnVzaW9uIHJlc2VhcmNoPzwvdGl0bGU+CisgICAgPGxpbms+aHR0cDovL3NsYXNoZG90Lm9yZy9hcnRpY2xlcy85OS8wNi8wNC8yMzEzMjAwLnNodG1sPC9saW5rPgorICA8L2l0ZW0+CisgIAorICA8aXRlbT4KKyAgICA8dGl0bGU+Q2FsaWZvcm5pYSBHb3YuIEhhbHRzIFdhZ2UgSW5mbyBTYWxlPC90aXRsZT4KKyAgICA8bGluaz5odHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzk5LzA2LzA0LzIzNTI1Ni5zaHRtbDwvbGluaz4KKyAgPC9pdGVtPgorICAKKyAgPGl0ZW0+CisgICAgPHRpdGxlPlJlZCBIYXQgQW5ub3VuY2VzIElQTzwvdGl0bGU+CisgICAgPGxpbms+aHR0cDovL3NsYXNoZG90Lm9yZy9hcnRpY2xlcy85OS8wNi8wNC8wODQ5MjA3LnNodG1sPC9saW5rPgorICA8L2l0ZW0+Cis8L3JkZjpSREY+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9ub2VudC9zbGFzaGRvdC54bWwgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9zbGFzaGRvdC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjY0OGQ1ZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L25vZW50L3NsYXNoZG90LnhtbApAQCAtMCwwICsxLDExMyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8dWx0cmFtb2RlPgorIDxzdG9yeT4KKyAgICA8dGl0bGU+MTAwIE1iaXQvcyBvbiBGaWJyZSB0byB0aGUgaG9tZTwvdGl0bGU+CisgICAgPHVybD5odHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzk5LzA2LzA2LzE0NDAyMTEuc2h0bWw8L3VybD4KKyAgICA8dGltZT4xOTk5LTA2LTA2IDE0OjM5OjU5PC90aW1lPgorICAgIDxhdXRob3I+Q21kclRhY288L2F1dGhvcj4KKyAgICA8ZGVwYXJ0bWVudD53b3VsZG4ndC1pdC1iZS1uaWNlPC9kZXBhcnRtZW50PgorICAgIDx0b3BpYz5pbnRlcm5ldDwvdG9waWM+CisgICAgPGNvbW1lbnRzPjIwPC9jb21tZW50cz4KKyAgICA8c2VjdGlvbj5hcnRpY2xlczwvc2VjdGlvbj4KKyAgICA8aW1hZ2U+dG9waWNpbnRlcm5ldC5qcGc8L2ltYWdlPgorICA8L3N0b3J5PgorIDxzdG9yeT4KKyAgICA8dGl0bGU+R2ltcCAxLjIgUHJldmlldzwvdGl0bGU+CisgICAgPHVybD5odHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzk5LzA2LzA2LzE0MzgyNDYuc2h0bWw8L3VybD4KKyAgICA8dGltZT4xOTk5LTA2LTA2IDE0OjM4OjQwPC90aW1lPgorICAgIDxhdXRob3I+Q21kclRhY288L2F1dGhvcj4KKyAgICA8ZGVwYXJ0bWVudD5zdHVmZi10by1yZWFkPC9kZXBhcnRtZW50PgorICAgIDx0b3BpYz5naW1wPC90b3BpYz4KKyAgICA8Y29tbWVudHM+MTI8L2NvbW1lbnRzPgorICAgIDxzZWN0aW9uPmFydGljbGVzPC9zZWN0aW9uPgorICAgIDxpbWFnZT50b3BpY2dpbXAuZ2lmPC9pbWFnZT4KKyAgPC9zdG9yeT4KKyA8c3Rvcnk+CisgICAgPHRpdGxlPlNvbnkncyBBSUJPIHJvYm90IFNvbGQgT3V0PC90aXRsZT4KKyAgICA8dXJsPmh0dHA6Ly9zbGFzaGRvdC5vcmcvYXJ0aWNsZXMvOTkvMDYvMDYvMTQzMjI1Ni5zaHRtbDwvdXJsPgorICAgIDx0aW1lPjE5OTktMDYtMDYgMTQ6MzI6NTE8L3RpbWU+CisgICAgPGF1dGhvcj5DbWRyVGFjbzwvYXV0aG9yPgorICAgIDxkZXBhcnRtZW50PnN0dWZmLXRvLXNlZTwvZGVwYXJ0bWVudD4KKyAgICA8dG9waWM+dGVjaDwvdG9waWM+CisgICAgPGNvbW1lbnRzPjEwPC9jb21tZW50cz4KKyAgICA8c2VjdGlvbj5hcnRpY2xlczwvc2VjdGlvbj4KKyAgICA8aW1hZ2U+dG9waWN0ZWNoMi5qcGc8L2ltYWdlPgorICA8L3N0b3J5PgorIDxzdG9yeT4KKyAgICA8dGl0bGU+QXNrIFNsYXNoZG90OiBBbm90aGVyIFdvcmQgZm9yICJIYWNrZXIiPzwvdGl0bGU+CisgICAgPHVybD5odHRwOi8vc2xhc2hkb3Qub3JnL2Fza3NsYXNoZG90Lzk5LzA2LzA1LzE4MTUyMjUuc2h0bWw8L3VybD4KKyAgICA8dGltZT4xOTk5LTA2LTA1IDIwOjAwOjAwPC90aW1lPgorICAgIDxhdXRob3I+Q2xpZmY8L2F1dGhvcj4KKyAgICA8ZGVwYXJ0bWVudD5oYWNrZXItdnMtY3JhY2tlcjwvZGVwYXJ0bWVudD4KKyAgICA8dG9waWM+bmV3czwvdG9waWM+CisgICAgPGNvbW1lbnRzPjM4NTwvY29tbWVudHM+CisgICAgPHNlY3Rpb24+YXNrc2xhc2hkb3Q8L3NlY3Rpb24+CisgICAgPGltYWdlPnRvcGljbmV3cy5naWY8L2ltYWdlPgorICA8L3N0b3J5PgorIDxzdG9yeT4KKyAgICA8dGl0bGU+Q29yZWwgTGludXggRkFRPC90aXRsZT4KKyAgICA8dXJsPmh0dHA6Ly9zbGFzaGRvdC5vcmcvYXJ0aWNsZXMvOTkvMDYvMDUvMTg0MjIxOC5zaHRtbDwvdXJsPgorICAgIDx0aW1lPjE5OTktMDYtMDUgMTg6NDI6MDY8L3RpbWU+CisgICAgPGF1dGhvcj5DbWRyVGFjbzwvYXV0aG9yPgorICAgIDxkZXBhcnRtZW50PnN0dWZmLXRvLXJlYWQ8L2RlcGFydG1lbnQ+CisgICAgPHRvcGljPmNvcmVsPC90b3BpYz4KKyAgICA8Y29tbWVudHM+MTY0PC9jb21tZW50cz4KKyAgICA8c2VjdGlvbj5hcnRpY2xlczwvc2VjdGlvbj4KKyAgICA8aW1hZ2U+dG9waWNjb3JlbC5naWY8L2ltYWdlPgorICA8L3N0b3J5PgorIDxzdG9yeT4KKyAgICA8dGl0bGU+VXBzaWRlIGRvd25zaWRlcyBNUDMuQ09NLjwvdGl0bGU+CisgICAgPHVybD5odHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzk5LzA2LzA1LzE1NTgyMTAuc2h0bWw8L3VybD4KKyAgICA8dGltZT4xOTk5LTA2LTA1IDE1OjU2OjQ1PC90aW1lPgorICAgIDxhdXRob3I+Q21kclRhY288L2F1dGhvcj4KKyAgICA8ZGVwYXJ0bWVudD5zdHVmZi10by10aGluay1hYm91dDwvZGVwYXJ0bWVudD4KKyAgICA8dG9waWM+bXVzaWM8L3RvcGljPgorICAgIDxjb21tZW50cz40ODwvY29tbWVudHM+CisgICAgPHNlY3Rpb24+YXJ0aWNsZXM8L3NlY3Rpb24+CisgICAgPGltYWdlPnRvcGljbXVzaWMuZ2lmPC9pbWFnZT4KKyAgPC9zdG9yeT4KKyA8c3Rvcnk+CisgICAgPHRpdGxlPjIgVGVyYWJpdHMgb2YgQmFuZHdpZHRoPC90aXRsZT4KKyAgICA8dXJsPmh0dHA6Ly9zbGFzaGRvdC5vcmcvYXJ0aWNsZXMvOTkvMDYvMDUvMTU1NDI1OC5zaHRtbDwvdXJsPgorICAgIDx0aW1lPjE5OTktMDYtMDUgMTU6NTM6NDM8L3RpbWU+CisgICAgPGF1dGhvcj5DbWRyVGFjbzwvYXV0aG9yPgorICAgIDxkZXBhcnRtZW50PmZhc3Rlci1wb3JuPC9kZXBhcnRtZW50PgorICAgIDx0b3BpYz5pbnRlcm5ldDwvdG9waWM+CisgICAgPGNvbW1lbnRzPjY2PC9jb21tZW50cz4KKyAgICA8c2VjdGlvbj5hcnRpY2xlczwvc2VjdGlvbj4KKyAgICA8aW1hZ2U+dG9waWNpbnRlcm5ldC5qcGc8L2ltYWdlPgorICA8L3N0b3J5PgorIDxzdG9yeT4KKyAgICA8dGl0bGU+U3VwcHJlc3Npb24gb2YgY29sZCBmdXNpb24gcmVzZWFyY2g/PC90aXRsZT4KKyAgICA8dXJsPmh0dHA6Ly9zbGFzaGRvdC5vcmcvYXJ0aWNsZXMvOTkvMDYvMDQvMjMxMzIwMC5zaHRtbDwvdXJsPgorICAgIDx0aW1lPjE5OTktMDYtMDQgMjM6MTI6Mjk8L3RpbWU+CisgICAgPGF1dGhvcj5IZW1vczwvYXV0aG9yPgorICAgIDxkZXBhcnRtZW50PnBvc3NpYmx5LXByb2JhYmx5PC9kZXBhcnRtZW50PgorICAgIDx0b3BpYz5zY2llbmNlPC90b3BpYz4KKyAgICA8Y29tbWVudHM+MjE3PC9jb21tZW50cz4KKyAgICA8c2VjdGlvbj5hcnRpY2xlczwvc2VjdGlvbj4KKyAgICA8aW1hZ2U+dG9waWNzY2llbmNlLmdpZjwvaW1hZ2U+CisgIDwvc3Rvcnk+CisgPHN0b3J5PgorICAgIDx0aXRsZT5DYWxpZm9ybmlhIEdvdi4gSGFsdHMgV2FnZSBJbmZvIFNhbGU8L3RpdGxlPgorICAgIDx1cmw+aHR0cDovL3NsYXNoZG90Lm9yZy9hcnRpY2xlcy85OS8wNi8wNC8yMzUyNTYuc2h0bWw8L3VybD4KKyAgICA8dGltZT4xOTk5LTA2LTA0IDIzOjA1OjM0PC90aW1lPgorICAgIDxhdXRob3I+SGVtb3M8L2F1dGhvcj4KKyAgICA8ZGVwYXJ0bWVudD53b28taG9vITwvZGVwYXJ0bWVudD4KKyAgICA8dG9waWM+dXNhPC90b3BpYz4KKyAgICA8Y29tbWVudHM+MTY8L2NvbW1lbnRzPgorICAgIDxzZWN0aW9uPmFydGljbGVzPC9zZWN0aW9uPgorICAgIDxpbWFnZT50b3BpY3VzLmdpZjwvaW1hZ2U+CisgIDwvc3Rvcnk+CisgPHN0b3J5PgorICAgIDx0aXRsZT5SZWQgSGF0IEFubm91bmNlcyBJUE88L3RpdGxlPgorICAgIDx1cmw+aHR0cDovL3NsYXNoZG90Lm9yZy9hcnRpY2xlcy85OS8wNi8wNC8wODQ5MjA3LnNodG1sPC91cmw+CisgICAgPHRpbWU+MTk5OS0wNi0wNCAxOTozMDoxODwvdGltZT4KKyAgICA8YXV0aG9yPkp1c3RpbjwvYXV0aG9yPgorICAgIDxkZXBhcnRtZW50PmRldGFpbHMtc2tldGNoeTwvZGVwYXJ0bWVudD4KKyAgICA8dG9waWM+cmVkaGF0PC90b3BpYz4KKyAgICA8Y29tbWVudHM+MTU1PC9jb21tZW50cz4KKyAgICA8c2VjdGlvbj5hcnRpY2xlczwvc2VjdGlvbj4KKyAgICA8aW1hZ2U+dG9waWNyZWRoYXQuZ2lmPC9pbWFnZT4KKyAgPC9zdG9yeT4KKzwvdWx0cmFtb2RlPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvbm9lbnQvc2xhc2hkb3QxNi54bWwgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9zbGFzaGRvdDE2LnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNmE3ZjJhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvbm9lbnQvc2xhc2hkb3QxNi54bWwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvbm9lbnQvc3ZnMSBiL2xpYnhtbDIvcmVzdWx0L25vZW50L3N2ZzEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzU5YmQ0NQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L25vZW50L3N2ZzEKQEAgLTAsMCArMSwxNjEgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgc3RhbmRhbG9uZT0ieWVzIj8+Cis8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIEFwcmlsIDE5OTkvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHL3N2Zy0xOTk5MDQxMi5kdGQiPgorPHN2ZyB3aWR0aD0iMjQycHgiIGhlaWdodD0iMzgzcHgiPgorPGcgc3R5bGU9InN0cm9rZTogIzAwMDAwMCI+IAorPC9nPiAKKzxnIHN0eWxlPSJmaWxsOiAjZjJjYzk5Ij4gCisgICA8cG9seWxpbmUgdmVydHM9IiA2OSwxOCA4Miw4IDk5LDMgMTE4LDUgMTM1LDEyIDE0OSwyMSAxNTYsMTMgMTY1LDkgMTc3LDEzIDE4MywyOCAxODAsNTAgMTY0LDkxIDE1NSwxMDcgMTU0LDExNCAxNTEsMTIxIDE0MSwxMjcgMTM5LDEzNiAxNTUsMjA2IDE1NywyNTEgMTI2LDM0MiAxMzMsMzU3IDEyOCwzNzYgODMsMzc2IDc1LDM2OCA2NywzNTAgNjEsMzUwIDUzLDM2OSA0LDM2OSAyLDM2MSA1LDM1NCAxMiwzNDIgMTYsMzIxIDQsMjU3IDQsMjQ0IDcsMjE4IDksMTc5IDI2LDEyNyA0Myw5MyAzMiw3NyAzMCw3MCAyNCw2NyAxNiw0OSAxNywzNSAxOCwyMyAzMCwxMiA0MCw3IDUzLDcgNjIsMTIgNjksMTggNjksMTggNjksMTgiLz4gCis8L2c+IAorPGcgc3R5bGU9ImZpbGw6ICNlNWIyN2YiPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cz0iIDE0Miw3OSAxMzYsNzQgMTM4LDgyIDEzMyw3OCAxMzMsODQgMTI3LDc4IDEyOCw4NSAxMjQsODAgMTI1LDg3IDExOSw4MiAxMTksOTAgMTI1LDk5IDEyNSw5NiAxMjgsMTAwIDEyOCw5NCAxMzEsOTggMTMyLDkzIDEzNSw5NyAxMzYsOTMgMTM4LDk3IDEzOSw5NCAxNDEsOTggMTQzLDk0IDE0NCw4NSAxNDIsNzkgMTQyLDc5IDE0Miw3OSIvPiAKKzwvZz4gCis8ZyBzdHlsZT0iZmlsbDogI2ViODA4MCI+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMTI3LDEwMSAxMzIsMTAwIDEzNyw5OSAxNDQsMTAxIDE0MywxMDUgMTM1LDExMCAxMjcsMTAxIDEyNywxMDEgMTI3LDEwMSIvPiAKKzwvZz4gCis8ZyBzdHlsZT0iZmlsbDogI2YyY2M5OSI+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMTc4LDIyOSAxNTcsMjQ4IDEzOSwyOTYgMTI2LDM0OSAxMzcsMzU2IDE1OCwzNTcgMTgzLDM0MiAyMTIsMzMyIDIzNSwyODggMjM1LDI2MSAyMjgsMjUyIDIxMiwyNTAgMTg4LDI1MSAxNzgsMjI5IDE3OCwyMjkgMTc4LDIyOSIvPiAKKzwvZz4gCis8ZyBzdHlsZT0iZmlsbDogIzljODI2YiI+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgNTYsMjI5IDQ4LDI0MSA0OCwyNTAgNTcsMjgxIDYzLDMyNSA3MSwzMzggODEsMzE1IDc2LDMyMSA3OSwzMTEgODMsMzAxIDc1LDMwOCA4MCwyOTggNzMsMzAzIDc2LDI5NiA3MSwyOTggNzQsMjkyIDY5LDI5MyA3NCwyODQgNzgsMjc4IDcxLDI3OCA3NCwyNzQgNjgsMjczIDcwLDI2OCA2NiwyNjcgNjgsMjYxIDYwLDI2NiA2MiwyNTkgNjUsMjUzIDU3LDI1OCA1OSwyNTEgNTUsMjU0IDU1LDI0OCA2MCwyMzcgNTQsMjQwIDU4LDIzNCA1NCwyMzYgNTYsMjI5IDU2LDIyOSA1NiwyMjkiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiA3NCwzNjMgNzksMzY4IDgxLDM2OCA4NSwzNjIgODksMzYzIDkyLDM3MCA5NiwzNzMgMTAxLDM3MiAxMDgsMzYxIDExMCwzNzEgMTEzLDM3MyAxMTYsMzcxIDEyMCwzNTggMTIyLDM2MyAxMjMsMzcxIDEyNiwzNzEgMTI5LDM2NyAxMzIsMzU3IDEzNSwzNjEgMTMwLDM3NiAxMjcsMzc3IDk0LDM3OCA4NCwzNzYgNzYsMzcxIDc0LDM2MyA3NCwzNjMgNzQsMzYzIi8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMjEyLDI1MCAyMTksMjUxIDIyOCwyNTggMjM2LDI3MCAyMzUsMjg3IDIyNSwzMDQgMjA1LDMzMiAxNzcsMzQzIDE3MSwzNTIgMTU4LDM1NyAxNjYsMzUyIDE2OCwzNDYgMTY4LDMzOSAxNjUsMzMzIDE1NSwzMjcgMTU1LDMyMyAxNjEsMzIwIDE2NSwzMTYgMTY5LDMxNiAxNjcsMzEyIDE3MSwzMTMgMTY4LDMwOCAxNzMsMzA5IDE3MCwzMDYgMTc3LDMwNiAxNzUsMzA4IDE3NywzMTEgMTc0LDMxMSAxNzYsMzE2IDE3MSwzMTUgMTc0LDMxOSAxNjgsMzIwIDE2OCwzMjMgMTc1LDMyNyAxNzksMzMyIDE4MywzMjYgMTg0LDMzMiAxODksMzIzIDE5MCwzMjggMTk0LDMyMCAxOTQsMzI1IDE5OSwzMTYgMjAxLDMyMCAyMDQsMzEzIDIwNiwzMTYgMjA4LDMxMCAyMTEsMzA1IDIxOSwyOTggMjI2LDI4OCAyMjksMjc5IDIyOCwyNjYgMjI0LDI1OSAyMTcsMjUzIDIxMiwyNTAgMjEyLDI1MCAyMTIsMjUwIi8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMTUxLDIwNSAxNTEsMjM4IDE0OSwyNTIgMTQxLDI2OCAxMjgsMjgyIDEyMSwzMDEgMTMwLDMwMCAxMjYsMzEzIDExOCwzMjQgMTE2LDMzNyAxMjAsMzQ2IDEzMywzNTIgMTMzLDM0MCAxMzcsMzMzIDE0NSwzMjkgMTU2LDMyNyAxNTMsMzE5IDE1MywyOTEgMTU3LDI3MSAxNzAsMjU5IDE3OCwyNzcgMTkzLDI1MCAxNzQsMjE2IDE1MSwyMDUgMTUxLDIwNSAxNTEsMjA1Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgNzgsMTI3IDkwLDE0MiA5NSwxNTUgMTA4LDE2NCAxMjUsMTY3IDEzOSwxNzUgMTUwLDIwNiAxNTIsMTkxIDE0MSwxNDAgMTIxLDE0OCAxMDAsMTM2IDc4LDEyNyA3OCwxMjcgNzgsMTI3Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMjEsNTggMzUsNjMgMzgsNjggMzIsNjkgNDIsNzQgNDAsNzkgNDcsODAgNTQsODMgNDUsOTQgMzQsODEgMzIsNzMgMjQsNjYgMjEsNTggMjEsNTggMjEsNTgiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiA3MSwzNCA2NywzNCA2NiwyNyA1OSwyNCA1NCwxNyA0OCwxNyAzOSwyMiAzMCwyNiAyOCwzMSAzMSwzOSAzOCw0NiAyOSw0NSAzNiw1NCA0MSw2MSA0MSw3MCA1MCw2OSA1NCw3MSA1NSw1OCA2Nyw1MiA3Niw0MyA3NiwzOSA2OCw0NCA3MSwzNCA3MSwzNCA3MSwzNCIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cz0iIDEzOSw3NCAxNDEsODMgMTQzLDg5IDE0NCwxMDQgMTQ4LDEwNCAxNTUsMTA2IDE1NCw4NiAxNTcsNzcgMTU1LDcyIDE1MCw3NyAxNDQsNzcgMTM5LDc0IDEzOSw3NCAxMzksNzQiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiAxMDUsNDQgMTAyLDUzIDEwOCw1OCAxMTEsNjIgMTEyLDU1IDEwNSw0NCAxMDUsNDQgMTA1LDQ0Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMTQxLDQ4IDE0MSw1NCAxNDQsNTggMTM5LDYyIDEzNyw2NiAxMzYsNTkgMTM3LDUyIDE0MSw0OCAxNDEsNDggMTQxLDQ4Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgOTgsMTM1IDEwNCwxMzAgMTA1LDEzNCAxMDgsMTMyIDEwOCwxMzUgMTEyLDEzNCAxMTMsMTM3IDExNiwxMzYgMTE2LDEzOSAxMTksMTM5IDEyNCwxNDEgMTI4LDE0MCAxMzMsMTM4IDE0MCwxMzMgMTM5LDE0MCAxMjYsMTQ2IDEwNCwxNDQgOTgsMTM1IDk4LDEzNSA5OCwxMzUiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiA5NywxMTYgMTAzLDExOSAxMDMsMTE2IDExMSwxMTggMTE2LDExNyAxMjIsMTE0IDEyNywxMDcgMTM1LDExMSAxNDIsMTA3IDE0MSwxMTQgMTQ1LDExOCAxNDksMTIxIDE0NSwxMjUgMTQwLDEyNCAxMjcsMTIxIDExMywxMjUgMTAwLDEyNCA5NywxMTYgOTcsMTE2IDk3LDExNiIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cz0iIDE0NywzMyAxNTIsMzUgMTU3LDM0IDE1MywzMSAxNjAsMzEgMTU2LDI4IDE2MSwyOCAxNTksMjQgMTYzLDI1IDE2MywyMSAxNjUsMjIgMTcwLDIzIDE2NywxNyAxNzIsMjEgMTc0LDE4IDE3NSwyMyAxNzYsMjIgMTc3LDI4IDE3NywzMyAxNzQsMzcgMTc2LDM5IDE3NCw0NCAxNzEsNDkgMTY4LDUzIDE2NCw1NyAxNTksNjggMTU2LDcwIDE1NCw2MCAxNTAsNTEgMTQ2LDQzIDE0NCwzNSAxNDcsMzMgMTQ3LDMzIDE0NywzMyIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cz0iIDg1LDcyIDg5LDc0IDkzLDc1IDEwMCw3NiAxMDUsNzUgMTAyLDc5IDk0LDc5IDg4LDc2IDg1LDcyIDg1LDcyIDg1LDcyIi8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgODYsMjE0IDc5LDIyMSA3NiwyMzIgODIsMjI1IDc4LDIzOSA4MiwyMzQgNzgsMjQ1IDgxLDI0MyA3OSwyNTUgODQsMjUwIDg0LDI2NyA4NywyNTQgOTAsMjcxIDkwLDI1NyA5NSwyNzEgOTMsMjU2IDk1LDI0OSA5MiwyNTIgOTMsMjQzIDg5LDI1MyA4OSwyNDEgODYsMjUwIDg3LDIzNiA4MywyNDUgODcsMjMxIDgyLDIzMSA5MCwyMTkgODQsMjIxIDg2LDIxNCA4NiwyMTQgODYsMjE0Ii8+IAorPC9nPiAKKzxnIHN0eWxlPSJmaWxsOiAjZmZjYzdmIj4gCisgICA8cG9seWxpbmUgdmVydHM9IiA5Myw2OCA5Niw3MiAxMDAsNzMgMTA2LDcyIDEwOCw2NiAxMDUsNjMgMTAwLDYyIDkzLDY4IDkzLDY4IDkzLDY4Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMTQ0LDY0IDE0Miw2OCAxNDIsNzMgMTQ2LDc0IDE1MCw3MyAxNTQsNjQgMTQ5LDYyIDE0NCw2NCAxNDQsNjQgMTQ0LDY0Ii8+IAorPC9nPiAKKzxnIHN0eWxlPSJmaWxsOiAjOWM4MjZiIj4gCisgICA8cG9seWxpbmUgdmVydHM9IiA1Nyw5MSA0MiwxMTEgNTIsMTA1IDQxLDExNyA1MywxMTIgNDYsMTIwIDUzLDExNiA1MCwxMjQgNTcsMTE5IDU1LDEyNyA2MSwxMjIgNjAsMTMwIDY3LDEyNiA2NiwxMzQgNzEsMTI5IDcyLDEzNiA3NywxMzAgNzYsMTM3IDgwLDEzMyA4MiwxMzggODYsMTM1IDk2LDEzNSA5NCwxMjkgODYsMTI0IDgzLDExNyA3NywxMjMgNzksMTE3IDczLDEyMCA3NSwxMTIgNjgsMTE2IDcxLDExMSA2NSwxMTQgNjksMTA3IDYzLDExMCA2OCwxMDIgNjEsMTA3IDY2LDk4IDYxLDEwMyA2Myw5NyA1Nyw5OSA1Nyw5MSA1Nyw5MSA1Nyw5MSIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cz0iIDgzLDc5IDc2LDc5IDY3LDgyIDc1LDgzIDY1LDg4IDc2LDg3IDY1LDkyIDc2LDkxIDY4LDk2IDc3LDk1IDcwLDk5IDgwLDk4IDcyLDEwNCA4MCwxMDIgNzYsMTA4IDg1LDEwMyA5MiwxMDEgODcsOTggOTMsOTYgODYsOTQgOTEsOTMgODUsOTEgOTMsODkgOTksODkgMTA1LDkzIDEwNyw4NSAxMDIsODIgOTIsODAgODMsNzkgODMsNzkgODMsNzkiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiAxMDksNzcgMTExLDgzIDEwOSw4OSAxMTMsOTQgMTE3LDkwIDExNyw4MSAxMTQsNzggMTA5LDc3IDEwOSw3NyAxMDksNzciLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiAxMjIsMTI4IDEyNywxMjYgMTM0LDEyNyAxMzYsMTI5IDEzNCwxMzAgMTMwLDEyOCAxMjQsMTI5IDEyMiwxMjggMTIyLDEyOCAxMjIsMTI4Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgNzgsMjcgODIsMzIgODAsMzMgODIsMzYgNzgsMzcgODIsNDAgNzgsNDIgODEsNDYgNzYsNDcgNzgsNDkgNzQsNTAgODIsNTIgODcsNTAgODMsNDggOTEsNDYgODYsNDUgOTEsNDIgODgsNDAgOTIsMzcgODYsMzQgOTAsMzEgODYsMjkgODksMjYgNzgsMjcgNzgsMjcgNzgsMjciLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiA4MiwxNyA5MiwyMCA3OSwyMSA5MCwyNSA4MSwyNSA5NCwyOCA5MywyNiAxMDEsMzAgMTAxLDI2IDEwNywzMyAxMDgsMjggMTExLDQwIDExMywzNCAxMTUsNDUgMTE3LDM5IDExOSw1NCAxMjEsNDYgMTI0LDU4IDEyNiw0NyAxMjksNTkgMTMwLDQ5IDEzNCw1OCAxMzMsNDQgMTM3LDQ4IDEzMywzNyAxMzcsNDAgMTMzLDMyIDEyNiwyMCAxMzUsMjYgMTMyLDE5IDEzOCwyMyAxMzUsMTcgMTQyLDE4IDEzMiwxMSAxMTYsNiA5NCw2IDc4LDExIDkyLDEyIDgwLDE0IDkwLDE2IDgyLDE3IDgyLDE3IDgyLDE3Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMTQyLDIzNCAxMzIsMjI3IDEyNCwyMjMgMTE1LDIyMCAxMTAsMjI1IDExOCwyMjQgMTI3LDIyOSAxMzUsMjM2IDEyMiwyMzQgMTE1LDIzNyAxMTMsMjQyIDEyMSwyMzggMTM5LDI0MyAxMjEsMjQ1IDExMSwyNTQgOTUsMjU0IDEwMiwyNDQgMTA0LDIzNSAxMTAsMjI5IDEwMCwyMzEgMTA0LDIyNCAxMTMsMjE2IDEyMiwyMTUgMTMyLDIxNyAxNDEsMjI0IDE0NSwyMzAgMTQ5LDI0MCAxNDIsMjM0IDE0MiwyMzQgMTQyLDIzNCIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cz0iIDExNSwyNTIgMTI1LDI0OCAxMzcsMjQ5IDE0MywyNTggMTM0LDI1NSAxMjUsMjU0IDExNSwyNTIgMTE1LDI1MiAxMTUsMjUyIi8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMTE0LDIxMiAxMzAsMjEzIDE0MCwyMTkgMTQ3LDIyNSAxNDQsMjE0IDEzNywyMDkgMTI4LDIwNyAxMTQsMjEyIDExNCwyMTIgMTE0LDIxMiIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cz0iIDEwMiwyNjMgMTA4LDI1OCAxMTcsMjU3IDEzMSwyNTggMTE2LDI2MCAxMDksMjY1IDEwMiwyNjMgMTAyLDI2MyAxMDIsMjYzIi8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgNTEsMjQxIDM1LDIyNCA0MCwyMzggMjMsMjI0IDMxLDI0MiAxOSwyMzkgMjgsMjQ3IDE3LDI0NiAyNSwyNTAgMzcsMjU0IDM5LDI2MyA0NCwyNzEgNDcsMjk0IDQ4LDMxNyA1MSwzMjggNjAsMzUxIDYwLDMyMyA1MywyNjIgNDcsMjQ2IDUxLDI0MSA1MSwyNDEgNTEsMjQxIi8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMiwzNjQgOSwzNjcgMTQsMzY2IDE4LDM1NSAyMCwzNjQgMjYsMzY2IDMxLDM1NyAzNSwzNjQgMzksMzY0IDQyLDM1NyA0NywzNjMgNTMsMzYwIDU5LDM1NyA1NCwzNjkgNywzNzMgMiwzNjQgMiwzNjQgMiwzNjQiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiA3LDM0OSAxOSwzNDUgMjUsMzM5IDE4LDM0MSAyMywzMzMgMjgsMzI2IDIzLDMyNiAyNywzMjAgMjMsMzE2IDI1LDMxMSAyMCwyOTggMTUsMjc3IDEyLDI2NCA5LDI0OSAxMCwyMjMgMywyNDggNSwyNjEgMTUsMzA3IDE3LDMyNiAxMSwzNDMgNywzNDkgNywzNDkgNywzNDkiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiAxMSwyMjYgMTUsMjMxIDI1LDIzNiAxOCwyMjcgMTEsMjI2IDExLDIyNiAxMSwyMjYiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiAxMywyMTQgMTksMjE3IDMyLDIyNyAyMywyMTQgMTYsMjA4IDE1LDE5MCAyNCwxNDggMzEsMTIxIDI0LDEzNyAxNCwxNzAgOCwxODkgMTMsMjE0IDEzLDIxNCAxMywyMTQiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiAyMDIsMjU0IDE5NSwyNTggMTk5LDI2MCAxOTMsMjYzIDE5NywyNjMgMTkwLDI2OCAxOTYsMjY4IDE5MSwyNzMgMTg4LDI4MiAyMDAsMjcyIDE5NCwyNzIgMjAxLDI2NiAxOTcsMjY1IDIwNCwyNjIgMjAwLDI1OCAyMDQsMjU2IDIwMiwyNTQgMjAyLDI1NCAyMDIsMjU0Ii8+IAorPC9nPiAKKzxnIHN0eWxlPSJmaWxsOiAjODQ1NDMzIj4gCisgICA8cG9seWxpbmUgdmVydHM9IiAxNTEsMjEzIDE2NSwyMTIgMTc5LDIyNSAxODksMjQ2IDE4NywyNjIgMTc5LDI3NSAxNzYsMjYzIDE3NywyNDcgMTcxLDIzMyAxNjMsMjMwIDE2NSwyNTEgMTU3LDI2NCAxNDYsMjk4IDE0NSwzMjEgMTMzLDMyNiAxNDMsMjg1IDE1NCwyNjAgMTUzLDI0MCAxNTEsMjEzIDE1MSwyMTMgMTUxLDIxMyIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cz0iIDkxLDEzMiA5NSwxNDUgOTcsMTU0IDEwNCwxNDggMTA3LDE1NSAxMDksMTUwIDExMSwxNTggMTE1LDE1MiAxMTgsMTU5IDEyMCwxNTMgMTI1LDE2MSAxMjYsMTU1IDEzMywxNjQgMTMyLDE1NCAxMzcsMTYzIDEzNywxNTIgMTQyLDE2MyAxNDcsMTg2IDE1MiwxOTIgMTQ4LDE2NyAxNDEsMTQzIDEyNCwxNDUgMTA1LDE0MyA5MSwxMzIgOTEsMTMyIDkxLDEzMiIvPiAKKzwvZz4gCis8ZyBzdHlsZT0iZmlsbDogIzljODI2YiI+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMzEsNTcgMjMsNTIgMjYsNTEgMjAsNDQgMjMsNDIgMjEsMzYgMjIsMjkgMjUsMjMgMjQsMzIgMzAsNDMgMjYsNDEgMzAsNTAgMjYsNDggMzEsNTcgMzEsNTcgMzEsNTciLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiAxNDcsMjEgMTQ5LDI4IDE1NSwyMSAxNjEsMTYgMTY3LDE0IDE3NSwxNSAxNzMsMTEgMTYxLDkgMTQ3LDIxIDE0NywyMSAxNDcsMjEiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiAxODEsMzkgMTc1LDUxIDE2OSw1NyAxNzEsNjUgMTY1LDY4IDE2NSw3NSAxNjAsNzYgMTYyLDkxIDE3MSw3MSAxODAsNTEgMTgxLDM5IDE4MSwzOSAxODEsMzkiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiAxMzIsMzQ2IDEzOSwzNDggMTQxLDM0NiAxNDIsMzQxIDE0NywzNDIgMTQzLDM1NSAxMzMsMzUwIDEzMiwzNDYgMTMyLDM0NiAxMzIsMzQ2Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMTQ2LDM1NSAxNTEsMzUyIDE1NSwzNDggMTU3LDM0MyAxNjAsMzQ5IDE1MSwzNTYgMTQ3LDM1NyAxNDYsMzU1IDE0NiwzNTUgMTQ2LDM1NSIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cz0iIDk5LDI2NiAxMDAsMjgxIDk0LDMwNSA4NiwzMjIgNzgsMzMyIDcyLDM0NiA3MywzMzEgOTEsMjkxIDk5LDI2NiA5OSwyNjYgOTksMjY2Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMjAsMzQ3IDMyLDM0MiA0NSwzNDAgNTQsMzQ1IDQ1LDM1MCA0MiwzNTMgMzgsMzUwIDMxLDM1MyAyOSwzNTYgMjMsMzUwIDE5LDM1MyAxNSwzNDkgMjAsMzQ3IDIwLDM0NyAyMCwzNDciLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiA3OCwzNDQgODYsMzQ0IDkyLDM0OSA4OCwzNTggODQsMzUyIDc4LDM0NCA3OCwzNDQgNzgsMzQ0Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgOTMsMzQ3IDEwNCwzNDQgMTE3LDM0NSAxMjQsMzU0IDEyMSwzNTcgMTE2LDM1MSAxMTIsMzUxIDEwOCwzNTUgMTAyLDM1MSA5MywzNDcgOTMsMzQ3IDkzLDM0NyIvPiAKKzwvZz4gCis8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMTA1LDEyIDExMSwxOCAxMTMsMjQgMTEzLDI5IDExOSwzNCAxMTYsMjMgMTEyLDE2IDEwNSwxMiAxMDUsMTIgMTA1LDEyIi8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMTIyLDI3IDEyNSwzNCAxMjcsNDMgMTI4LDM0IDEyNSwyOSAxMjIsMjcgMTIyLDI3IDEyMiwyNyIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cz0iIDExNSwxMyAxMjIsMTkgMTIyLDE1IDExMywxMCAxMTUsMTMgMTE1LDEzIDExNSwxMyIvPiAKKzwvZz4gCis8ZyBzdHlsZT0iZmlsbDogI2ZmZTViMiI+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMTE2LDE3MiAxMDcsMTgyIDk4LDE5MyA5OCwxODMgOTAsMTk5IDg5LDE4OSA4NCwyMDcgODgsMjA2IDg3LDIxNSA5NSwyMDYgOTMsMjE5IDkxLDIzMCA5OCwyMTYgOTcsMjI2IDEwNCwyMTQgMTEyLDIwOSAxMDQsMjA4IDExMywyMDIgMTI2LDIwMCAxMzksMjA3IDEzMiwxOTggMTQyLDIwMyAxMzQsMTkyIDE0MiwxOTUgMTM0LDE4NyAxNDAsMTg1IDEzMCwxODEgMTM2LDE3NyAxMjYsMTc3IDEyNSwxNzEgMTE2LDE4MCAxMTYsMTcyIDExNiwxNzIgMTE2LDE3MiIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cz0iIDc0LDIyMCA2NywyMzAgNjcsMjIxIDU5LDIzNSA2MywyMzMgNjAsMjQ4IDcwLDIzMiA2NSwyNDkgNzEsMjQzIDY3LDI1NiA3MywyNTAgNjksMjYyIDczLDI1OSA3MSwyNjcgNzYsMjYyIDcyLDI3MSA3OCwyNzAgNzYsMjc1IDgyLDI3NCA3OCwyOTAgODYsMjc5IDg2LDI4OSA5MiwyNzQgODgsMjc1IDg3LDI2NCA4MiwyNzAgODIsMjU4IDc3LDI1NyA3OCwyNDcgNzMsMjQ2IDc3LDIzMyA3MiwyMzYgNzQsMjIwIDc0LDIyMCA3NCwyMjAiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiAxMzMsMjMwIDE0NywyNDIgMTQ4LDI1MCAxNDUsMjU0IDEzOCwyNDcgMTI5LDI0NiAxNDIsMjQ1IDEzOCwyNDEgMTI4LDIzNyAxMzcsMjM4IDEzMywyMzAgMTMzLDIzMCAxMzMsMjMwIi8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMTMzLDI2MSAxMjUsMjYxIDExNiwyNjMgMTExLDI2NyAxMjUsMjY1IDEzMywyNjEgMTMzLDI2MSAxMzMsMjYxIi8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMTIxLDI3MSAxMDksMjczIDEwMywyNzkgOTksMzA1IDkyLDMxNiA4NSwzMjcgODMsMzM1IDg5LDM0MCA5NywzNDEgOTQsMzM2IDEwMSwzMzYgOTYsMzMxIDEwMywzMzAgOTcsMzI3IDEwOCwzMjUgOTksMzIyIDEwOSwzMjEgMTAwLDMxOCAxMTAsMzE3IDEwNSwzMTQgMTEwLDMxMiAxMDcsMzEwIDExMywzMDggMTA1LDMwNiAxMTQsMzAzIDEwNSwzMDEgMTE1LDI5OCAxMDcsMjk1IDExNSwyOTQgMTA4LDI5MyAxMTcsMjkxIDEwOSwyODkgMTE3LDI4NiAxMDksMjg2IDExOCwyODMgMTEyLDI4MSAxMTgsMjc5IDExNCwyNzggMTE5LDI3NiAxMTUsMjc0IDEyMSwyNzEgMTIxLDI3MSAxMjEsMjcxIi8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgNzksMzY0IDc0LDM1OSA3NCwzNTMgNzYsMzQ3IDgwLDM1MSA4MywzNTYgODIsMzYwIDc5LDM2NCA3OSwzNjQgNzksMzY0Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgOTEsMzYzIDkzLDM1NiA5NywzNTMgMTAzLDM1NSAxMDUsMzYwIDEwMywzNjYgOTksMzcxIDk0LDM2OCA5MSwzNjMgOTEsMzYzIDkxLDM2MyIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cz0iIDExMCwzNTUgMTE0LDM1MyAxMTgsMzU3IDExNywzNjMgMTEzLDM2OSAxMTEsMzYyIDExMCwzNTUgMTEwLDM1NSAxMTAsMzU1Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMTI2LDM1NCAxMjMsMzU4IDEyNCwzNjcgMTI2LDM2OSAxMjksMzYxIDEyOSwzNTcgMTI2LDM1NCAxMjYsMzU0IDEyNiwzNTQiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiAzMCwxNTQgMjQsMTY2IDIwLDE4MiAyMywxOTQgMjksMjA4IDM3LDIxOCA0MSwyMTAgNDEsMjIzIDQ2LDIxNCA0NiwyMjcgNTIsMjE2IDUyLDIyNyA2MSwyMTYgNTksMjI1IDY4LDIxMyA3MywyMTkgNzAsMjA3IDc3LDIxMiA2OSwyMDAgNzcsMjAyIDcwLDE5NCA3OCwxOTcgNjgsMTg3IDc2LDE4MiA2NCwxODIgNTgsMTc1IDU4LDE4NSA1MywxNzcgNTAsMTg2IDQ2LDE3MSA0NCwxODIgMzksMTY3IDM2LDE3MiAzNiwxNjIgMzAsMTY2IDMwLDE1NCAzMCwxNTQgMzAsMTU0Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgNDQsMTMwIDQxLDEzNyA0NSwxMzYgNDMsMTUwIDQ4LDE0MiA0OCwxNTcgNTMsMTUwIDUyLDE2NCA2MCwxNTYgNjEsMTY5IDY0LDE2NSA2NiwxNzUgNzAsMTY3IDc0LDE3NiA3NywxNjggODAsMTgzIDg1LDE3MiA5MCwxODIgOTMsMTc0IDk4LDE4MSA5OSwxNzMgMTA0LDE3NSAxMDUsMTY5IDExNCwxNjggMTAyLDE2MyA5NSwxNTcgOTQsMTY2IDkwLDE1NCA4NywxNjIgODIsMTQ5IDc1LDE1OSA3MiwxNDggNjgsMTU1IDY3LDE0MyA2MiwxNDggNjIsMTM4IDU4LDE0NSA1NiwxMzMgNTIsMTQyIDUyLDEyOCA0OSwxMzQgNDcsMTI1IDQ0LDEzMCA0NCwxMzAgNDQsMTMwIi8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMTMsMjE2IDE5LDIxOSAzNiwyMzEgMjIsMjIzIDE2LDIyMiAyMiwyMjcgMTIsMjI0IDEzLDIyMCAxNiwyMjAgMTMsMjE2IDEzLDIxNiAxMywyMTYiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiAxMCwyMzEgMTQsMjM2IDI1LDIzOSAyNywyMzcgMTksMjM0IDEwLDIzMSAxMCwyMzEgMTAsMjMxIi8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgOSwyNDUgMTQsMjQyIDI1LDI0NSAxMywyNDUgOSwyNDUgOSwyNDUgOSwyNDUiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiAzMywyNTUgMjYsMjUzIDE4LDI1NCAyNSwyNTYgMTgsMjU4IDI3LDI2MCAxOCwyNjMgMjcsMjY1IDE5LDI2NyAyOSwyNzAgMjEsMjcyIDI5LDI3NiAyMSwyNzggMzAsMjgxIDIyLDI4MyAzMSwyODcgMjQsMjg4IDMyLDI5MiAyMywyOTMgMzQsMjk4IDI2LDI5OSAzNywzMDMgMzIsMzA1IDM5LDMwOSAzMywzMDkgMzksMzE0IDM0LDMxNCA0MCwzMTggMzQsMzE3IDQwLDMyMSAzNCwzMjEgNDEsMzI2IDMzLDMyNiA0MCwzMzAgMzMsMzMyIDM5LDMzMyAzMywzMzcgNDIsMzM3IDU0LDM0MSA0OSwzMzcgNTIsMzM1IDQ3LDMzMCA1MCwzMzAgNDUsMzI1IDQ5LDMyNSA0NSwzMjEgNDgsMzIxIDQ1LDMxNiA0NiwzMDYgNDUsMjg2IDQzLDI3NCAzNiwyNjEgMzMsMjU1IDMzLDI1NSAzMywyNTUiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiA3LDM1OCA5LDM1MSAxNCwzNTEgMTcsMzU5IDExLDM2NCA3LDM1OCA3LDM1OCA3LDM1OCIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cz0iIDQ0LDM1NCA0OSwzNTEgNTIsMzU1IDQ5LDM2MSA0NCwzNTQgNDQsMzU0IDQ0LDM1NCIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cz0iIDMyLDM1NyAzNywzNTMgNDAsMzU4IDM2LDM2MSAzMiwzNTcgMzIsMzU3IDMyLDM1NyIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cz0iIDEzOSwzMzQgMTQ1LDMzMCAxNTQsMzMwIDE1OCwzMzQgMTU0LDM0MSAxNTIsMzQ4IDE0NSwzNTAgMTQ5LDM0MCAxNDcsMzM2IDE0MSwzMzkgMTM5LDM0NSAxMzYsMzQyIDEzNiwzMzkgMTM5LDMzNCAxMzksMzM0IDEzOSwzMzQiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiAyMDgsMjU5IDIxNSwyNTkgMjEyLDI1NSAyMjAsMjU5IDIyNCwyNjMgMjI1LDI3NCAyMjQsMjgzIDIyMCwyOTIgMjA4LDMwMCAyMDYsMzA4IDIwMywzMDQgMTk5LDMxNSAxOTcsMzA5IDE5NSwzMTggMTkzLDMxMyAxOTAsMzIyIDE5MCwzMTYgMTg1LDMyNSAxODIsMzE4IDE4MCwzMjUgMTcyLDMyMSAxNzgsMzIwIDE3NiwzMTMgMTg2LDMxMiAxODAsMzA3IDE4OCwzMDcgMTg0LDMwMyAxOTEsMzAyIDE4NiwyOTkgMTk1LDI5NCAxODcsMjkwIDE5NywyODggMTkyLDI4NiAyMDEsMjgzIDE5NCwyODAgMjAzLDI3NyAxOTgsMjc1IDIwNywyNzEgMjAwLDI2OSAyMDksMjY1IDIwNCwyNjUgMjEyLDI2MiAyMDgsMjU5IDIwOCwyNTkgMjA4LDI1OSIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cz0iIDEwNiwxMjYgMTA2LDEzMSAxMDksMTMyIDExMSwxMzQgMTE1LDEzMiAxMTUsMTM1IDExOSwxMzMgMTE4LDEzNyAxMjMsMTM3IDEyOCwxMzcgMTMzLDEzNCAxMzYsMTMwIDEzNiwxMjcgMTMyLDEyNCAxMTgsMTI4IDExMiwxMjggMTA2LDEyNiAxMDYsMTI2IDEwNiwxMjYiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiAxMDcsMTE0IDEwMSwxMTAgOTgsMTAyIDEwNSw5NyAxMTEsOTggMTE5LDEwMiAxMjEsMTA4IDExOCwxMTIgMTEzLDExNSAxMDcsMTE0IDEwNywxMTQgMTA3LDExNCIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cz0iIDE0OCwxMDYgMTQ1LDExMCAxNDYsMTE2IDE1MCwxMTggMTUyLDExMSAxNTEsMTA3IDE0OCwxMDYgMTQ4LDEwNiAxNDgsMTA2Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgODAsNTUgNzAsNTIgNzUsNTggNjMsNTcgNzIsNjEgNTcsNjEgNjcsNjYgNTcsNjcgNjIsNjkgNTQsNzEgNjEsNzMgNTQsNzcgNjMsNzggNTMsODUgNjAsODQgNTYsOTAgNjksODQgNjMsODIgNzUsNzYgNzAsNzUgNzcsNzIgNzIsNzEgNzgsNjkgNzIsNjYgODEsNjcgNzgsNjQgODIsNjMgODAsNjAgODYsNjIgODAsNTUgODAsNTUgODAsNTUiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiA4Nyw1NiA5MSw1MiA5Niw1MCAxMDIsNTYgOTgsNTYgOTIsNjAgODcsNTYgODcsNTYgODcsNTYiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiA4NSw2OCA4OSw3MyA5OCw3NiAxMDYsNzQgOTYsNzMgOTEsNzAgODUsNjggODUsNjggODUsNjgiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiAxMTUsNTcgMTE0LDY0IDExMSw2NCAxMTUsNzUgMTIyLDgxIDEyMiw3NCAxMjYsNzkgMTI2LDc0IDEzMSw3OCAxMzAsNzIgMTMzLDc3IDEzMSw2OCAxMjYsNjEgMTE5LDU3IDExNSw1NyAxMTUsNTcgMTE1LDU3Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMTQ1LDQ4IDE0Myw1MyAxNDcsNTkgMTUxLDU5IDE1MCw1NSAxNDUsNDggMTQ1LDQ4IDE0NSw0OCIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cz0iIDI2LDIyIDM0LDE1IDQzLDEwIDUyLDEwIDU5LDE2IDQ3LDE1IDMyLDIyIDI2LDIyIDI2LDIyIDI2LDIyIi8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMTYwLDE5IDE1MiwyNiAxNDksMzQgMTU0LDMzIDE1MiwzMCAxNTcsMzAgMTU1LDI2IDE1OCwyNyAxNTcsMjMgMTYxLDIzIDE2MCwxOSAxNjAsMTkgMTYwLDE5Ii8+IAorPC9nPiAKKzxnIHN0eWxlPSJmaWxsOiAjMDAwMDAwIj4gCisgICA8cG9seWxpbmUgdmVydHM9IiA5OCwxMTcgMTA1LDEyMiAxMDksMTIyIDEwNSwxMTcgMTEzLDEyMCAxMjEsMTIwIDEzMCwxMTIgMTI4LDEwOCAxMjMsMTAzIDEyMyw5OSAxMjgsMTAxIDEzMiwxMDYgMTM1LDEwOSAxNDIsMTA1IDE0MiwxMDEgMTQ1LDEwMSAxNDUsOTEgMTQ4LDEwMSAxNDUsMTA1IDEzNiwxMTIgMTM1LDExNiAxNDMsMTI0IDE0OCwxMjAgMTUwLDEyMiAxNDIsMTI4IDEzMywxMjIgMTIxLDEyNSAxMTIsMTI2IDEwMywxMjUgMTAwLDEyOSA5NiwxMjQgOTgsMTE3IDk4LDExNyA5OCwxMTciLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiAxNDYsMTE4IDE1MiwxMTggMTUyLDExNSAxNDksMTE1IDE0NiwxMTggMTQ2LDExOCAxNDYsMTE4Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMTQ4LDExMiAxNTQsMTExIDE1NCwxMDkgMTQ5LDEwOSAxNDgsMTEyIDE0OCwxMTIgMTQ4LDExMiIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cz0iIDEwNiwxMTIgMTA4LDExNSAxMTQsMTE2IDExOCwxMTQgMTA2LDExMiAxMDYsMTEyIDEwNiwxMTIiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiAxMDgsMTA4IDExMSwxMTAgMTE2LDExMCAxMTksMTA4IDEwOCwxMDggMTA4LDEwOCAxMDgsMTA4Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMTA2LDEwNCAxMDksMTA1IDExNywxMDYgMTE1LDEwNCAxMDYsMTA0IDEwNiwxMDQgMTA2LDEwNCIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cz0iIDUwLDI1IDQxLDI2IDM0LDMzIDM5LDQzIDQ5LDU4IDM2LDUxIDQ3LDY4IDU1LDY5IDU0LDU5IDYxLDU3IDc0LDQ2IDYwLDUyIDY3LDQyIDU3LDQ4IDYxLDQwIDU0LDQ1IDYwLDM2IDU5LDI5IDQ4LDM4IDUyLDMwIDQ3LDMyIDUwLDI1IDUwLDI1IDUwLDI1Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMTQ3LDM0IDE1Miw0MSAxNTUsNDkgMTYxLDUzIDE1Nyw0NyAxNjQsNDcgMTU4LDQzIDE2OCw0NCAxNTksNDAgMTY0LDM3IDE2OSwzNyAxNjQsMzMgMTY5LDM0IDE2NSwyOCAxNzAsMzAgMTcwLDI1IDE3MywyOSAxNzUsMjcgMTc2LDMyIDE3MywzNiAxNzUsMzkgMTcyLDQyIDE3Miw0NiAxNjgsNDkgMTcwLDU1IDE2Miw1NyAxNTgsNjMgMTU1LDU4IDE1Myw1MCAxNDksNDYgMTQ3LDM0IDE0NywzNCAxNDcsMzQiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiAxNTUsNzEgMTU5LDgwIDE1Nyw5MyAxNTcsMTAyIDE1NSwxMDggMTUwLDEwMSAxNDksOTMgMTU0LDEwMSAxNTIsOTEgMTUxLDgzIDE1NSw3OSAxNTUsNzEgMTU1LDcxIDE1NSw3MSIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cz0iIDExMiw3OCAxMTUsODEgMTE0LDkxIDExMiw4NyAxMTMsODIgMTEyLDc4IDExMiw3OCAxMTIsNzgiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiA3OCwyOCA2NCwxNyA1OCwxMSA0Nyw5IDM2LDEwIDI4LDE2IDIxLDI2IDE4LDQxIDIwLDUxIDIzLDYxIDMzLDY1IDI4LDY4IDM3LDc0IDM2LDgxIDQzLDg3IDQ4LDkwIDQzLDEwMCA0MCw5OCAzOSw5MCAzMSw4MCAzMCw3MiAyMiw3MSAxNyw2MSAxNCw0NiAxNiwyOCAyMywxNyAzMyw5IDQ1LDYgNTQsNiA2NSwxMiA3OCwyOCA3OCwyOCA3OCwyOCIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cz0iIDY3LDE4IDc2LDkgODcsNSAxMDEsMiAxMTgsMyAxMzUsOCAxNDksMjAgMTQ5LDI2IDE0NCwxOSAxMzIsMTIgMTIxLDkgMTA1LDcgODksOCA3NiwxNCA3MCwyMCA2NywxOCA2NywxOCA2NywxOCIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cz0iIDU2LDk4IDQ4LDEwNiA1NiwxMDMgNDcsMTEyIDU2LDExMCA1MiwxMTUgNTcsMTEzIDUyLDEyMSA2MiwxMTUgNTgsMTIzIDY1LDExOSA2MywxMjUgNjksMTIxIDY4LDEyNyA3NCwxMjUgNzQsMTI5IDc5LDEyOCA4MywxMzIgOTQsMTM1IDkzLDEyOSA4NSwxMjcgODEsMTIyIDc2LDEyNiA3NSwxMjEgNzEsMTI0IDcxLDExNyA2NiwxMjEgNjYsMTE3IDYyLDExNyA2NCwxMTIgNjAsMTEzIDYwLDExMCA1NywxMTEgNjEsMTA1IDU3LDEwNyA2MCwxMDEgNTUsMTAyIDU2LDk4IDU2LDk4IDU2LDk4Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMTAxLDEzMiAxMDMsMTM4IDEwNiwxMzQgMTA2LDEzOSAxMTIsMTM2IDExMSwxNDIgMTE1LDEzOSAxMTQsMTQzIDExOSwxNDIgMTI1LDE0NSAxMzEsMTQyIDEzNSwxMzggMTQwLDEzNCAxNDAsMTI5IDE0MywxMzUgMTQ1LDE0OSAxNTAsMTcxIDE0OSwxODQgMTQ1LDE2NSAxNDEsMTUwIDEzNiwxNDcgMTMyLDE1MSAxMzEsMTQ5IDEyNiwxNTIgMTI1LDE1MCAxMjEsMTUyIDExNywxNDggMTExLDE1MiAxMTAsMTQ4IDEwNSwxNDkgMTA0LDE0NSA5OCwxNTAgOTYsMTM4IDk0LDEzMiA5NCwxMzAgOTgsMTMyIDEwMSwxMzIgMTAxLDEzMiAxMDEsMTMyIi8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgNDEsOTQgMzIsMTEwIDIzLDEzMiAxMiwxNjMgNiwxOTAgNywyMTcgNSwyMzYgMywyNDcgOSwyMzAgMTIsMjExIDEyLDE4NSAxOCwxNjAgMjYsMTM0IDM1LDExMCA0Myw5OSA0MSw5NCA0MSw5NCA0MSw5NCIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cz0iIDMyLDI0NiA0MSwyNTAgNTAsMjU3IDUyLDI2NyA1MywyOTUgNTMsMzIzIDU5LDM1MCA1NCwzNjMgNTEsMzY1IDQ0LDM2NiA0MiwzNjAgNDAsMzcyIDU0LDM3MiA1OSwzNjYgNjIsMzUzIDcxLDM1MiA3NSwzMzUgNzMsMzMwIDY2LDMxOCA2OCwzMDIgNjQsMjk0IDY3LDI4OCA2MywyODYgNjMsMjc5IDU5LDI3NSA1OCwyNjcgNTYsMjYyIDUwLDI0NyA0MiwyMzUgNDQsMjQ2IDMyLDIzNiAzNSwyNDQgMzIsMjQ2IDMyLDI0NiAzMiwyNDYiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiAxMzQsMzI0IDE0NiwzMjAgMTU5LDMyMiAxNzMsMzI3IDE3OSwzMzcgMTc5LDM0OSAxNzIsMzU1IDE1OCwzNTcgMTcwLDM1MCAxNzQsMzQzIDE3MCwzMzMgMTYzLDMyOCAxNTIsMzI2IDEzNCwzMjkgMTM0LDMyNCAxMzQsMzI0IDEzNCwzMjQiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiAxNzMsMzM5IDE4MywzMzQgMTg0LDMzOCAxOTEsMzI5IDE5NCwzMzIgMTk5LDMyMyAyMDIsMzI1IDIwNiwzMTggMjA5LDMyMCAyMTMsMzA5IDIyMSwzMDMgMjI4LDI5NiAyMzIsMjg5IDIzNCwyNzkgMjMzLDI2OSAyMzAsMjYyIDIyNSwyNTYgMjE5LDI1MyAyMDgsMjUyIDE5OCwyNTIgMjEwLDI0OSAyMjMsMjUwIDIzMiwyNTcgMjM3LDI2NSAyMzgsMjc3IDIzOCwyOTEgMjMyLDMwNSAyMjEsMzIzIDIxOCwzMzUgMjEyLDM0MiAyMDAsMzQ5IDE3OCwzNDggMTczLDMzOSAxNzMsMzM5IDE3MywzMzkiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiAxNjUsMjk2IDE1OCwzMDEgMTU2LDMxMCAxNTYsMzIzIDE2MiwzMjQgMTU5LDMxOCAxNjIsMzA4IDE2MiwzMDQgMTY1LDI5NiAxNjUsMjk2IDE2NSwyOTYiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiA5OSwyNTIgMTA1LDI0NCAxMDcsMjM0IDExNSwyMjggMTIxLDIyOCAxMzEsMjM1IDEyMiwyMzMgMTEzLDIzNSAxMDksMjQ2IDEyMSwyMzkgMTMzLDI0MyAxMjEsMjQzIDExMCwyNTEgOTksMjUyIDk5LDI1MiA5OSwyNTIiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiAxMTcsMjUyIDEyNCwyNDcgMTM0LDI0OSAxMzYsMjUzIDEyNiwyNTIgMTE3LDI1MiAxMTcsMjUyIDExNywyNTIiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiAxMTcsMjE4IDEzMiwyMjQgMTQ0LDIzMyAxNDAsMjI1IDEzMiwyMTkgMTE3LDIxOCAxMTcsMjE4IDExNywyMTgiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiAxMjIsMjEyIDEzNCwyMTQgMTQzLDIyMSAxNDEsMjEzIDEzMiwyMTAgMTIyLDIxMiAxMjIsMjEyIDEyMiwyMTIiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiA2OSwzNTIgNzAsMzYzIDc2LDM3MyA4NiwzNzggOTcsMzc5IDEwOCwzNzkgMTIwLDM3NyAxMjgsMzc4IDEzMiwzNzMgMTM1LDM2MSAxMzMsMzU4IDEzMiwzNjYgMTI3LDM3NSAxMjEsMzc0IDEyMSwzNjIgMTE5LDM2NyAxMTcsMzc0IDExMCwzNzYgMTEwLDM2MiAxMDcsMzU3IDEwNiwzNzEgMTA0LDM3NSA5NywzNzYgOTAsMzc1IDkwLDM2OCA4NiwzNjIgODMsMzY0IDg2LDM2OSA4NSwzNzMgNzgsMzcwIDczLDM2MiA3MSwzNTEgNjksMzUyIDY5LDM1MiA2OSwzNTIiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiAxMDAsMzYwIDk2LDM2MyA5OSwzNjkgMTAyLDM2NCAxMDAsMzYwIDEwMCwzNjAgMTAwLDM2MCIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cz0iIDExNSwzNjAgMTEyLDM2MyAxMTQsMzY5IDExNywzNjQgMTE1LDM2MCAxMTUsMzYwIDExNSwzNjAiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiAxMjcsMzYyIDEyNSwzNjQgMTI2LDM2OSAxMjgsMzY1IDEyNywzNjIgMTI3LDM2MiAxMjcsMzYyIi8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgNSwyNTUgNywyNzYgMTEsMzA0IDE1LDMyMCAxMywzMzQgNiwzNDggMiwzNTMgMCwzNjMgNSwzNzIgMTIsMzc0IDI1LDM3MiAzOCwzNzIgNDQsMzY5IDQyLDM2NyAzNiwzNjggMzEsMzY5IDMwLDM2MCAyNywzNjggMjAsMzcwIDE2LDM2MSAxNSwzNjggMTAsMzY5IDMsMzY2IDMsMzU5IDYsMzUyIDExLDM0OCAxNywzMzEgMTksMzE2IDEyLDI5MSA5LDI3NCA1LDI1NSA1LDI1NSA1LDI1NSIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cz0iIDEwLDM1OCA3LDM2MiAxMCwzNjYgMTEsMzYyIDEwLDM1OCAxMCwzNTggMTAsMzU4Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMjUsMzU3IDIyLDM2MCAyNCwzNjYgMjcsMzYwIDI1LDM1NyAyNSwzNTcgMjUsMzU3Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMzcsMzU3IDM0LDM2MSAzNiwzNjUgMzgsMzYxIDM3LDM1NyAzNywzNTcgMzcsMzU3Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgNDksMzU2IDQ2LDM1OSA0NywzNjQgNTAsMzYwIDQ5LDM1NiA0OSwzNTYgNDksMzU2Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMTMwLDEwMSAxMzIsMTAyIDEzNSwxMDEgMTM5LDEwMiAxNDMsMTAzIDE0MiwxMDEgMTM3LDEwMCAxMzMsMTAwIDEzMCwxMDEgMTMwLDEwMSAxMzAsMTAxIi8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMTA2LDQ4IDEwNSw1MiAxMDgsNTYgMTA5LDUyIDEwNiw0OCAxMDYsNDggMTA2LDQ4Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMTM5LDUyIDEzOSw1NiAxNDAsNjAgMTQyLDU4IDE0MSw1NiAxMzksNTIgMTM5LDUyIDEzOSw1MiIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cz0iIDI1LDM0OSAyOSwzNTEgMzAsMzU1IDMzLDM1MCAzNywzNDggNDIsMzUxIDQ1LDM0NyA0OSwzNDUgNDQsMzQzIDM2LDM0NSAyNSwzNDkgMjUsMzQ5IDI1LDM0OSIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cz0iIDk4LDM0NyAxMDUsMzUxIDEwNywzNTQgMTA5LDM0OSAxMTUsMzQ5IDEyMCwzNTMgMTE4LDM0OSAxMTMsMzQ2IDEwNCwzNDYgOTgsMzQ3IDk4LDM0NyA5OCwzNDciLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiA4MywzNDggODcsMzUyIDg3LDM1NyA4OSwzNTEgODcsMzQ4IDgzLDM0OCA4MywzNDggODMsMzQ4Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMTU1LDEwNyAxNjMsMTA3IDE3MCwxMDcgMTg2LDEwOCAxNzUsMTA5IDE1NSwxMDkgMTU1LDEwNyAxNTUsMTA3IDE1NSwxMDciLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiAxNTMsMTE0IDE2MiwxMTMgMTc1LDExMiAxOTIsMTE0IDE3MywxMTQgMTU0LDExNSAxNTMsMTE0IDE1MywxMTQgMTUzLDExNCIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cz0iIDE1MiwxMTggMTY0LDEyMCAxODAsMTIzIDE5NywxMjkgMTY5LDEyMyAxNTEsMTIwIDE1MiwxMTggMTUyLDExOCAxNTIsMTE4Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgNjgsMTA5IDg3LDEwNiAxMDcsMTA2IDEwNiwxMDggODgsMTA4IDY4LDEwOSA2OCwxMDkgNjgsMTA5Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMTA1LDExMSA5NSwxMTIgNzksMTE0IDcxLDExNiA4NSwxMTUgMTAyLDExMyAxMDUsMTExIDEwNSwxMTEgMTA1LDExMSIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cz0iIDEwOCwxMDEgOTgsOTkgODcsOTkgNzgsOTkgOTMsMTAwIDEwNSwxMDIgMTA4LDEwMSAxMDgsMTAxIDEwOCwxMDEiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiA4NSw2MyA5MSw2MyA5Nyw2MCAxMDQsNjAgMTA4LDYyIDExMSw2OSAxMTIsNzUgMTEwLDc0IDEwOCw3MSAxMDMsNzMgMTA2LDY5IDEwNSw2NSAxMDMsNjQgMTAzLDY3IDEwMiw3MCA5OSw3MCA5Nyw2NiA5NCw2NyA5Nyw3MiA4OCw2NyA4NCw2NiA4NSw2MyA4NSw2MyA4NSw2MyIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cz0iIDE0MCw3NCAxNDEsNjYgMTQ0LDYxIDE1MCw2MSAxNTYsNjIgMTUzLDcwIDE1MCw3MyAxNTIsNjUgMTUwLDY1IDE1MSw2OCAxNDksNzEgMTQ2LDcxIDE0NCw2NiAxNDMsNzAgMTQzLDc0IDE0MCw3NCAxNDAsNzQgMTQwLDc0Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMTQ2LDIwIDE1NiwxMSAxNjMsOSAxNzIsOSAxNzgsMTQgMTgyLDE4IDE4NCwzMiAxODIsNDIgMTgyLDUyIDE3Nyw1OCAxNzYsNjcgMTcxLDc2IDE2NSw5MCAxNTcsMTA1IDE2MCw5MiAxNjQsODUgMTY4LDc4IDE2Nyw3MyAxNzMsNjYgMTcyLDYyIDE3NSw1OSAxNzQsNTUgMTc3LDUzIDE4MCw0NiAxODEsMjkgMTc5LDIxIDE3MywxMyAxNjYsMTEgMTU5LDEzIDE1MywxOCAxNDgsMjMgMTQ2LDIwIDE0NiwyMCAxNDYsMjAiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiAxNTAsMTg3IDE0OCwyMTEgMTUwLDIzMyAxNTMsMjQ3IDE0OCwyNjcgMTM1LDI4MyAxMjUsMjk5IDEzNiwyOTIgMTMxLDMxMyAxMjIsMzI4IDEyMiwzNDUgMTI5LDM1MiAxMzMsMzU5IDEzMywzNjcgMTM3LDM1OSAxNDgsMzU2IDE0MCwzNTAgMTMxLDM0NyAxMjksMzQwIDEzMiwzMzIgMTQwLDMyOCAxMzcsMzIyIDE0MCwzMDQgMTU0LDI2NSAxNTcsMjQ0IDE1NSwyMjMgMTYxLDIyMCAxNzUsMjI5IDE4NiwyNDcgMTg1LDI2MCAxNzYsMjc1IDE3OCwyODcgMTg1LDI3NyAxODgsMjYxIDE5NiwyNTMgMTg5LDIzNiAxNzQsMjEzIDE1MCwxODcgMTUwLDE4NyAxNTAsMTg3Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMTQ3LDMzOCAxNDIsMzQxIDE0MywzNDUgMTQxLDM1NCAxNDcsMzQzIDE0NywzMzggMTQ3LDMzOCAxNDcsMzM4Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMTU3LDM0MiAxNTYsMzQ5IDE1MCwzNTYgMTU3LDM1MyAxNjMsMzQ2IDE2MiwzNDIgMTU3LDM0MiAxNTcsMzQyIDE1NywzNDIiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiA5OSwyNjUgOTYsMjg0IDkyLDI5OSA3MywzMzkgNzMsMzMzIDg3LDMwMCA5OSwyNjUgOTksMjY1IDk5LDI2NSIvPiAKKzwvZz48L3N2Zz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L25vZW50L3N2ZzIgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9zdmcyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZjMzk5MGMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9zdmcyCkBAIC0wLDAgKzEsNTYgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgc3RhbmRhbG9uZT0ieWVzIj8+Cis8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIEFwcmlsIDE5OTkvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHL3N2Zy0xOTk5MDQxMi5kdGQiPgorPHN2ZyB3aWR0aD0iMjY4cHgiIGhlaWdodD0iMjA3cHgiPgorPGcgc3R5bGU9InN0cm9rZTogIzAwMDAwMCI+IAorICAgPHBhdGggZD0iIE0gMjkgMjggIi8+IAorICAgPHBhdGggZD0iIEwgMTkgNzQgIi8+IAorPC9nPiAKKzxnIHN0eWxlPSJzdHJva2U6ICM4MDAwNDAiPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cz0iIDMyLDEwMCA3Miw1MCA5MCw4MiA3MywxNiAxMjAsNjQgMTUyLDkgMTc3LDEwNyIvPiAKKzwvZz4gCis8ZyBzdHlsZT0ic3Ryb2tlOiAjMDAwMDAwIj4gCis8L2c+IAorPGcgc3R5bGU9InN0cm9rZTogIzAwMDBmZiI+IAorICAgPHJlY3QgeD0iMzAiIHk9IjEwMSIgd2lkdGg9IjUxIiBoZWlnaHQ9IjMzIi8+Cis8L2c+IAorPGcgc3R5bGU9ImZpbGw6ICMwMDAwZmYiPiAKKyAgIDxlbGxpcHNlIGN4PSIxODIiIGN5PSIxMjciIG1ham9yPSIzNyIgbWlub3I9IjMxIiBhbmdsZT0iOTAiLz4KKzwvZz4gCis8ZyBzdHlsZT0iZmlsbDogI2ZmMDAwMCI+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgNzgsMTgwIDc2LDE1MSAxMzEsMTQ5IDEzNiwxODIgMTM1LDE4MiAxMzQsMTgzIDEyNywxODUgMTE3LDE4NiAxMDksMTkyIDEwNCwxOTQgOTgsMTk5IDk2LDIwMCA5NSwyMDEgOTQsMjAyIDkyLDIwMiA4NSwyMDIgNzAsMjAwIDU0LDE5OSA0NywxOTggNDYsMTk3IDQ1LDE5NyAzNywxOTUgMjYsMTkzIDE3LDE4NyA5LDE4MSA4LDE4MSA3LDE3NiA2LDE3NSA2LDE3MyA2LDE3MiA2LDE3MCA4LDE2NCA4LDE2MyA4LDE2MiA5LDE2MiAxMCwxNjIgMTEsMTYyIDEzLDE2MiAyMCwxNjIgMjYsMTYyIDI3LDE2MiAyOCwxNjIgMzAsMTYyIDMwLDE2MyAzMSwxNjMgMzIsMTY0IDM0LDE2NiAzNSwxNjYgMzYsMTY3IDM2LDE2OCAzNywxNjkgMzgsMTY5IDM5LDE2OSA0MSwxNzAgNDMsMTcwIDQ1LDE3MCA0NywxNzAgNDksMTcwIDUwLDE2OCA1MCwxNjEgNTAsMTYwIDUwLDE1OSA0NywxNjIgNzgsMTgwIi8+IAorICAgPGc+CisgICAgIDxkZXNjPiBKYXZhIEZvbnQgZGVmaW5pdGlvbjpEaWFsb2cgMDwvZGVzYz4gCisgICA8L2c+CisgICA8Zz4KKyAgICAgPGRlc2M+IEphdmEgRm9udCBkZWZpbml0aW9uOkhlbHZldGljYSAwPC9kZXNjPiAKKyAgIDwvZz4KKzwvZz4gCis8ZyBzdHlsZT0ic3Ryb2tlOiAjMDAwMDAwIj4gCisgICA8dGV4dCB4PSIxODgiIHk9IjM2Ij50aGlzIGlzIHRleHQ8L3RleHQ+Cis8L2c+IAorPGcgc3R5bGU9InN0cm9rZTogIzAwMDAwMCI+IAorICAgPGc+CisgICAgIDxkZXNjPiBKYXZhIEZvbnQgZGVmaW5pdGlvbjpEaWFsb2cgMDwvZGVzYz4gCisgICA8L2c+CisgICA8Zz4KKyAgICAgPGRlc2M+IEphdmEgRm9udCBkZWZpbml0aW9uOkhlbHZldGljYSA3MDA8L2Rlc2M+IAorICAgPC9nPgorPC9nPiAKKzxnIHN0eWxlPSJzdHJva2U6ICMwMDgwODAiPiAKKyAgIDx0ZXh0IHg9IjE3NiIgeT0iODUiPnNhZGZzYWRmc2FkPC90ZXh0PgorPC9nPiAKKzxnIHN0eWxlPSJzdHJva2U6ICMwMDAwMDAiPiAKKzwvZz4gCis8ZyBzdHlsZT0iZmlsbDogIzgwMDA0MCI+IAorICAgPGVsbGlwc2UgY3g9IjIwOCIgY3k9IjE4MCIgbWFqb3I9IjQ1IiBtaW5vcj0iMzEiIGFuZ2xlPSIwIi8+Cis8L2c+IAorPGcgc3R5bGU9InN0cm9rZTogIzAwMDAwMCI+IAorPC9nPiAKKzxnIHN0eWxlPSJmaWxsOiAjZmZmZmZmIj4gCisgICA8Zz4KKyAgICAgPGRlc2M+IEphdmEgRm9udCBkZWZpbml0aW9uOkRpYWxvZyA3MDA8L2Rlc2M+IAorICAgPC9nPgorICAgPGc+CisgICAgIDxkZXNjPiBKYXZhIEZvbnQgZGVmaW5pdGlvbjpEaWFsb2cgNzAwPC9kZXNjPiAKKyAgIDwvZz4KKzwvZz48L3N2Zz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L25vZW50L3N2ZzMgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9zdmczCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM0OTk0YjgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC9zdmczCkBAIC0wLDAgKzEsNzIzIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxzdmc+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmZmY7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC4xNzIiPgorICA8cGF0aCBkPSJNNzcuNjk2IDI4NC4yODVDNzcuNjk2IDI4NC4yODUgNzcuNzk3IDI4Ni4xNzkgNzYuOTczIDI4Ni4xNkM3Ni4xNDkgMjg2LjE0MSA1OS42OTUgMjM4LjA2NiAzOS4xNjcgMjQwLjMwOUMzOS4xNjcgMjQwLjMwOSA1Ni45NSAyMzIuOTU2IDc3LjY5NiAyODQuMjg1eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZmZjsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjE3MiI+CisgIDxwYXRoIGQ9Ik04MS4yMjYgMjgxLjI2MkM4MS4yMjYgMjgxLjI2MiA4MC42NzcgMjgzLjA3OCA3OS45MDggMjgyLjc3OUM3OS4xNCAyODIuNDgxIDgwLjAyMyAyMzEuNjc1IDU5Ljk1NyAyMjYuODAxQzU5Ljk1NyAyMjYuODAxIDc5LjE4IDIyNS45MzcgODEuMjI2IDI4MS4yNjJ6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmZmOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuMTcyIj4KKyAgPHBhdGggZD0iTTEwOC43MTYgMzIzLjU5QzEwOC43MTYgMzIzLjU5IDExMC4zNTIgMzI0LjU1IDEwOS44ODIgMzI1LjIyN0MxMDkuNDExIDMyNS45MDQgNjAuMjM3IDMxMy4xMDIgNTAuNzgyIDMzMS40NTlDNTAuNzgyIDMzMS40NTkgNTQuNDYxIDMxMi41NzIgMTA4LjcxNiAzMjMuNTl6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmZmOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuMTcyIj4KKyAgPHBhdGggZD0iTTEwNS45MDcgMzMzLjgwMUMxMDUuOTA3IDMzMy44MDEgMTA3Ljc2MyAzMzQuMTk3IDEwNy41MjkgMzM0Ljk4OEMxMDcuMjk2IDMzNS43NzkgNTYuNTkzIDMzOS4xMjEgNTMuNDAzIDM1OS41MjJDNTMuNDAzIDM1OS41MjIgNTAuOTQ1IDM0MC40MzcgMTA1LjkwNyAzMzMuODAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZmZjsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjE3MiI+CisgIDxwYXRoIGQ9Ik0xMDEuNjk2IDMyOC4yNzZDMTAxLjY5NiAzMjguMjc2IDEwMy40NzQgMzI4LjkzOSAxMDMuMTI4IDMyOS42ODdDMTAyLjc4MiAzMzAuNDM1IDUyLjEzNCAzMjYuMzQ2IDQ2LjAwMiAzNDYuMDY0QzQ2LjAwMiAzNDYuMDY0IDQ2LjM1NCAzMjYuODI1IDEwMS42OTYgMzI4LjI3NnoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmZmY7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC4xNzIiPgorICA8cGF0aCBkPSJNOTAuOTkxIDMxMC4wNzJDOTAuOTkxIDMxMC4wNzIgOTIuMjk5IDMxMS40NDYgOTEuNjYgMzExLjk2N0M5MS4wMjEgMzEyLjQ4OCA0Ny4yNzggMjg2LjYzNCAzMy4xMzEgMzAxLjY3NkMzMy4xMzEgMzAxLjY3NiA0MS44NzIgMjg0LjUzMyA5MC45OTEgMzEwLjA3MnoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmZmY7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC4xNzIiPgorICA8cGF0aCBkPSJNODMuNDQ2IDMxNC4yNjNDODMuNDQ2IDMxNC4yNjMgODQuOTAyIDMxNS40OCA4NC4zMjYgMzE2LjA3MUM4My43NSAzMTYuNjYxIDM3LjM2MiAyOTUuOTIyIDI1LjAwOCAzMTIuNDY5QzI1LjAwOCAzMTIuNDY5IDMxLjc1MyAyOTQuNDQ3IDgzLjQ0NiAzMTQuMjYzeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZmZjsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjE3MiI+CisgIDxwYXRoIGQ9Ik04MC44NDYgMzE4LjMzNUM4MC44NDYgMzE4LjMzNSA4Mi40NTQgMzE5LjM0MyA4MS45NjQgMzIwLjAwNkM4MS40NzQgMzIwLjY2OSAzMi42OTIgMzA2LjQ0NiAyMi43MDkgMzI0LjUyMkMyMi43MDkgMzI0LjUyMiAyNi45MzQgMzA1Ljc0OSA4MC44NDYgMzE4LjMzNXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmZmY7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC4xNzIiPgorICA8cGF0aCBkPSJNOTEuNTggMzE4Ljk0OUM5MS41OCAzMTguOTQ5IDkyLjcwMiAzMjAuNDggOTIuMDAxIDMyMC45MTVDOTEuMyAzMjEuMzUgNTEuMjMxIDI5MC4xMDIgMzUuMjczIDMwMy4yMDdDMzUuMjczIDMwMy4yMDcgNDYuMTM4IDI4Ny4zMjYgOTEuNTggMzE4Ljk0OXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmZmY7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC4xNzIiPgorICA8cGF0aCBkPSJNNzEuOCAyOTBDNzEuOCAyOTAgNzIuNCAyOTEuOCA3MS42IDI5MkM3MC44IDI5Mi4yIDQyLjIgMjUwLjIgMjIuOTk5IDI1Ny44QzIyLjk5OSAyNTcuOCAzOC4yIDI0NiA3MS44IDI5MHoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmZmY7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC4xNzIiPgorICA8cGF0aCBkPSJNNzIuNDk1IDI5Ni45NzlDNzIuNDk1IDI5Ni45NzkgNzMuNDcgMjk4LjYwOCA3Mi43MzEgMjk4Ljk3NUM3MS45OTMgMjk5LjM0MyAzNS4wMDggMjY0LjQ5OSAxNy44OTkgMjc2LjA2MUMxNy44OTkgMjc2LjA2MSAzMC4xOTYgMjYxLjI2MSA3Mi40OTUgMjk2Ljk3OXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmZmY7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC4xNzIiPgorICA8cGF0aCBkPSJNNzIuMzggMzAxLjM0OUM3Mi4zOCAzMDEuMzQ5IDczLjUwMiAzMDIuODggNzIuODAxIDMwMy4zMTVDNzIuMSAzMDMuNzQ5IDMyLjAzMSAyNzIuNTAyIDE2LjA3MyAyODUuNjA3QzE2LjA3MyAyODUuNjA3IDI2LjkzOCAyNjkuNzI2IDcyLjM4IDMwMS4zNDl6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmZmOyBzdHJva2U6IzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik03MC4xNyAzMDMuMDY1QzcwLjY3MyAzMDkuMTEzIDcxLjY2MSAzMTUuNjgyIDczLjQgMzE4LjgwMUM3My40IDMxOC44MDEgNjkuOCAzMzEuMjAxIDc4LjYgMzQ0LjQwMUM3OC42IDM0NC40MDEgNzguMiAzNTEuNjAxIDc5LjggMzU0LjgwMUM3OS44IDM1NC44MDEgODMuOCAzNjMuMjAxIDg4LjYgMzY0LjAwMUM5Mi40ODQgMzY0LjY0OCAxMDEuMjA3IDM2Ny43MTcgMTExLjA2OCAzNjkuMTIxQzExMS4wNjggMzY5LjEyMSAxMjguMiAzODMuMjAxIDEyNSAzOTYuMDAxQzEyNSAzOTYuMDAxIDEyNC42IDQxMi40MDEgMTIxIDQxNC4wMDFDMTIxIDQxNC4wMDEgMTMyLjYgNDAyLjgwMSAxMjMgNDE5LjYwMUwxMTguNiA0MzguNDAxQzExOC42IDQzOC40MDEgMTQ0LjIgNDE2LjgwMSAxMjguNiA0MzUuMjAxTDExOC42IDQ2MS4yMDFDMTE4LjYgNDYxLjIwMSAxMzguMiA0NDIuODAxIDEzMSA0NTEuMjAxTDEyNy44IDQ2MC4wMDFDMTI3LjggNDYwLjAwMSAxNzEgNDMyLjgwMSAxNDAuMiA0NjIuNDAxQzE0MC4yIDQ2Mi40MDEgMTQ4LjIgNDU4LjgwMSAxNTIuNiA0NjEuNjAxQzE1Mi42IDQ2MS42MDEgMTU5LjQgNDYwLjQwMSAxNTguNiA0NjIuMDAxQzE1OC42IDQ2Mi4wMDEgMTM3LjggNDcyLjQwMSAxMzQuMiA0OTAuODAxQzEzNC4yIDQ5MC44MDEgMTQyLjYgNDgwLjgwMSAxMzkuNCA0OTEuNjAxTDEzOS44IDUwMy4yMDFDMTM5LjggNTAzLjIwMSAxNDMuOCA0ODEuNjAxIDE0My40IDUxOS4yMDFDMTQzLjQgNTE5LjIwMSAxNjIuNiA1MDEuMjAxIDE1MSA1MjIuMDAxTDE1MSA1MzguODAxQzE1MSA1MzguODAxIDE2Ni4yIDUyMi40MDEgMTU5LjggNTM1LjIwMUMxNTkuOCA1MzUuMjAxIDE2OS44IDUyNi40MDEgMTY1LjggNTQxLjYwMUMxNjUuOCA1NDEuNjAxIDE2NSA1NTIuMDAxIDE2OS40IDU0MC44MDFDMTY5LjQgNTQwLjgwMSAxODUuNCA1MTAuMjAxIDE3OS40IDUzNi40MDFDMTc5LjQgNTM2LjQwMSAxNzguNiA1NTUuNjAxIDE4My40IDU0MC44MDFDMTgzLjQgNTQwLjgwMSAxODMuOCA1NTEuMjAxIDE5MyA1NTguNDAxQzE5MyA1NTguNDAxIDE5MS44IDUwNy42MDEgMjA0LjYgNTQzLjYwMUwyMDguNiA1NjAuMDAxQzIwOC42IDU2MC4wMDEgMjExLjQgNTUwLjgwMSAyMTEgNTQ1LjYwMUMyMTEgNTQ1LjYwMSAyMjUuOCA1MjkuMjAxIDIxOSA1NTMuNjAxQzIxOSA1NTMuNjAxIDIzNC4yIDUzMC44MDEgMjMxIDU0NC4wMDFDMjMxIDU0NC4wMDEgMjIzLjQgNTYwLjAwMSAyMjUgNTY0LjgwMUMyMjUgNTY0LjgwMSAyNDEuOCA1MzAuMDAxIDI0MyA1MjguNDAxQzI0MyA1MjguNDAxIDI0MSA1NzAuODAyIDI1MS44IDUzNC44MDFDMjUxLjggNTM0LjgwMSAyNTcuNCA1NDYuODAxIDI1NC42IDU1MS4yMDFDMjU0LjYgNTUxLjIwMSAyNjIuNiA1NDMuMjAxIDI2MS44IDU0MC4wMDFDMjYxLjggNTQwLjAwMSAyNjYuNCA1MzEuODAxIDI2OS4yIDU0NS40MDFDMjY5LjIgNTQ1LjQwMSAyNzEgNTU0LjgwMSAyNzIuNiA1NTEuNjAxQzI3Mi42IDU1MS42MDEgMjc2LjYgNTc1LjYwMiAyNzcuOCA1NTIuODAxQzI3Ny44IDU1Mi44MDEgMjc5LjQgNTM5LjIwMSAyNzIuMiA1MjcuNjAxQzI3Mi4yIDUyNy42MDEgMjczIDUyNC40MDEgMjcwLjIgNTIwLjQwMUMyNzAuMiA1MjAuNDAxIDI4My44IDU0Mi4wMDEgMjc2LjYgNTEzLjIwMUMyNzYuNiA1MTMuMjAxIDI4Ny44MDEgNTIxLjIwMSAyODkuMDAxIDUyMS4yMDFDMjg5LjAwMSA1MjEuMjAxIDI3NS40IDQ5OC4wMDEgMjg0LjIgNTAyLjgwMUMyODQuMiA1MDIuODAxIDI3OSA0OTIuNDAxIDI5Ny4wMDEgNTA0LjQwMUMyOTcuMDAxIDUwNC40MDEgMjgxIDQ4OC40MDEgMjk4LjYwMSA0OTguMDAxQzI5OC42MDEgNDk4LjAwMSAzMDYuNjAxIDUwNC40MDEgMjk5LjAwMSA0OTQuNDAxQzI5OS4wMDEgNDk0LjQwMSAyODQuNiA0NzguNDAxIDMwNi42MDEgNDk2LjQwMUMzMDYuNjAxIDQ5Ni40MDEgMzE4LjIwMSA1MTIuODAxIDMxOS4wMDEgNTE1LjYwMUMzMTkuMDAxIDUxNS42MDEgMzA5LjAwMSA0ODYuNDAxIDMwNC42MDEgNDgzLjYwMUMzMDQuNjAxIDQ4My42MDEgMzEzLjAwMSA0NDcuMjAxIDM1NC4yMDEgNDYyLjgwMUMzNTQuMjAxIDQ2Mi44MDEgMzYxLjAwMSA0ODAuMDAxIDM2NS40MDEgNDYxLjYwMUMzNjUuNDAxIDQ2MS42MDEgMzc4LjIwMSA0NTUuMjAxIDM4OS40MDEgNDgyLjgwMUMzODkuNDAxIDQ4Mi44MDEgMzkzLjQwMSA0NjkuMjAxIDM5Mi42MDEgNDY2LjQwMUMzOTIuNjAxIDQ2Ni40MDEgMzk5LjQwMSA0NjcuNjAxIDM5OC42MDEgNDY2LjQwMUMzOTguNjAxIDQ2Ni40MDEgNDExLjgwMSA0NzAuODAxIDQxMy4wMDEgNDcwLjAwMUM0MTMuMDAxIDQ3MC4wMDEgNDE5LjgwMSA0NzYuODAxIDQyMC4yMDEgNDczLjIwMUM0MjAuMjAxIDQ3My4yMDEgNDI5LjQwMSA0NzYuMDAxIDQyNy40MDEgNDcyLjQwMUM0MjcuNDAxIDQ3Mi40MDEgNDM2LjIwMSA0ODguMDAxIDQzNi42MDEgNDkxLjYwMUw0MzkuMDAxIDQ3Ny42MDFMNDQxLjAwMSA0ODAuNDAxQzQ0MS4wMDEgNDgwLjQwMSA0NDIuNjAxIDQ3Mi44MDEgNDQxLjgwMSA0NzEuNjAxQzQ0MS4wMDEgNDcwLjQwMSA0NjEuODAxIDQ3OC40MDEgNDY2LjYwMSA0OTkuMjAxTDQ2OC42MDEgNTA3LjYwMUM0NjguNjAxIDUwNy42MDEgNDc0LjYwMSA0OTIuODAxIDQ3My4wMDEgNDg4LjgwMUM0NzMuMDAxIDQ4OC44MDEgNDc4LjIwMSA0ODkuNjAxIDQ3OC42MDEgNDk0LjAwMUM0NzguNjAxIDQ5NC4wMDEgNDgyLjYwMSA0NzAuODAxIDQ3Ny44MDEgNDY0LjgwMUM0NzcuODAxIDQ2NC44MDEgNDgyLjIwMSA0NjQuMDAxIDQ4My40MDEgNDY3LjYwMUw0ODMuNDAxIDQ2MC40MDFDNDgzLjQwMSA0NjAuNDAxIDQ5MC42MDEgNDYxLjIwMSA0OTAuNjAxIDQ1OC44MDFDNDkwLjYwMSA0NTguODAxIDQ5NS4wMDEgNDU0LjgwMSA0OTcuMDAxIDQ1OS42MDFDNDk3LjAwMSA0NTkuNjAxIDQ4NC42MDEgNDI0LjQwMSA1MDMuMDAxIDQ0My42MDFDNTAzLjAwMSA0NDMuNjAxIDUxMC4yMDEgNDU0LjQwMSA1MDYuNjAxIDQzNS42MDFDNTAzLjAwMSA0MTYuODAxIDQ5OS4wMDEgNDE1LjIwMSA1MDMuODAxIDQxNC44MDFDNTAzLjgwMSA0MTQuODAxIDUwNC42MDEgNDExLjIwMSA1MDIuNjAxIDQwOS42MDFDNTAwLjYwMSA0MDguMDAxIDUwMy44MDEgNDA5LjYwMSA1MDMuODAxIDQwOS42MDFDNTAzLjgwMSA0MDkuNjAxIDUwOC42MDEgNDEzLjYwMSA1MDMuNDAxIDM5MS42MDFDNTAzLjQwMSAzOTEuNjAxIDUwOS44MDEgMzkzLjIwMSA0OTcuODAxIDM2NC4wMDFDNDk3LjgwMSAzNjQuMDAxIDUwMC42MDEgMzYxLjYwMSA0OTYuNjAxIDM1My4yMDFDNDk2LjYwMSAzNTMuMjAxIDUwNC42MDEgMzU3LjYwMSA1MDcuNDAxIDM1Ni4wMDFDNTA3LjQwMSAzNTYuMDAxIDUwNy4wMDEgMzU0LjQwMSA1MDMuODAxIDM1MC40MDFDNTAzLjgwMSAzNTAuNDAxIDQ4Mi4yMDEgMjk1LjYgNTAyLjYwMSAzMTcuNjAxQzUwMi42MDEgMzE3LjYwMSA1MTQuNDUxIDMzMS4xNTEgNTA4LjA1MSAzMDguMzUxQzUwOC4wNTEgMzA4LjM1MSA0OTguOTQgMjg0LjM0MSA0OTkuNzE3IDI4MC4wNDVMNzAuMTcgMzAzLjA2NXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNjYzcyMjY7IHN0cm9rZTojMDAwMDAwIj4KKyAgPHBhdGggZD0iTTQ5OS43MTcgMjgwLjI0NUM1MDAuMzQ1IDI4MC40MjYgNTAyLjU1MSAyODEuNTUgNTAzLjgwMSAyODMuMkM1MDMuODAxIDI4My4yIDUxMC42MDEgMjk0IDUwNS40MDEgMjc1LjZDNTA1LjQwMSAyNzUuNiA0OTYuMjAxIDI0Ni44IDUwNS4wMDEgMjU4QzUwNS4wMDEgMjU4IDUxMS4wMDEgMjY1LjIgNTA3LjgwMSAyNTEuNkM1MDMuOTM2IDIzNS4xNzMgNTAxLjQwMSAyMjguOCA1MDEuNDAxIDIyOC44QzUwMS40MDEgMjI4LjggNTEzLjAwMSAyMzMuNiA0ODYuMjAxIDE5NEw0OTUuMDAxIDE5Ny42QzQ5NS4wMDEgMTk3LjYgNDc1LjQwMSAxNTggNDUzLjgwMSAxNTIuOEw0NDUuODAxIDE0Ni44QzQ0NS44MDEgMTQ2LjggNDg0LjIwMSAxMDguOCA0NzEuNDAxIDcyQzQ3MS40MDEgNzIgNDY0LjYwMSA2Ni44IDQ1NS4wMDEgNzZDNDU1LjAwMSA3NiA0NDguNjAxIDgwLjggNDQyLjYwMSA3OS4yQzQ0Mi42MDEgNzkuMiA0MTEuODAxIDgwLjQgNDA5LjgwMSA4MC40QzQwNy44MDEgODAuNCAzNzMuMDAxIDQzLjIgMzA3LjQwMSA2MC44QzMwNy40MDEgNjAuOCAzMDIuMjAxIDYyLjggMjk3LjgwMSA2MS42QzI5Ny44MDEgNjEuNiAyNzkuNCA0NS42IDIzMC42IDY4LjRDMjMwLjYgNjguNCAyMjAuNiA3MC40IDIxOSA3MC40QzIxNy40IDcwLjQgMjE0LjYgNzAuNCAyMDYuNiA3Ni44QzE5OC42IDgzLjIgMTk4LjIgODQgMTk2LjIgODUuNkMxOTYuMiA4NS42IDE3OS44IDk2LjggMTc1IDk3LjZDMTc1IDk3LjYgMTYzLjQgMTA0IDE1OSAxMTRMMTU1LjQgMTE1LjJDMTU1LjQgMTE1LjIgMTUzLjggMTIyLjQgMTUzLjQgMTIzLjZDMTUzLjQgMTIzLjYgMTQ4LjYgMTI3LjIgMTQ3LjggMTMyLjhDMTQ3LjggMTMyLjggMTM5IDEzOC44IDEzOS40IDE0My4yQzEzOS40IDE0My4yIDEzNy44IDE0OC40IDEzNyAxNTMuMkMxMzcgMTUzLjIgMTI5LjggMTU4IDEzMC42IDE2MC44QzEzMC42IDE2MC44IDEyMyAxNzQuOCAxMjQuMiAxODEuNkMxMjQuMiAxODEuNiAxMTcuOCAxODEuMiAxMTUgMTgzLjZDMTE1IDE4My42IDExNC4yIDE4OC40IDExMi42IDE4OC44QzExMi42IDE4OC44IDEwOS44IDE5MCAxMTIuMiAxOTRDMTEyLjIgMTk0IDExMC42IDE5Ni44IDExMC4yIDE5OC40QzExMC4yIDE5OC40IDExMSAyMDEuMiAxMDYuNiAyMDYuOEMxMDYuNiAyMDYuOCAxMDAuMiAyMjUuNiAxMDIuMiAyMzAuOEMxMDIuMiAyMzAuOCAxMDIuNiAyMzUuNiA5OS44IDIzNy4yQzk5LjggMjM3LjIgOTYuMiAyMzYuOCAxMDQuNiAyNDguOEMxMDQuNiAyNDguOCAxMDUuNCAyNTAgMTAyLjIgMjUyLjRDMTAyLjIgMjUyLjQgODUgMjU2IDgyLjYgMjcyLjRDODIuNiAyNzIuNCA2OSAyODcuMiA2OSAyOTIuNEM2OSAyOTQuNzA1IDY5LjI3MSAyOTcuODUyIDY5Ljk3IDMwMi40NjVDNjkuOTcgMzAyLjQ2NSA2OS40IDMxMC44MDEgOTcgMzExLjYwMUMxMjQuNiAzMTIuNDAxIDQ5OS43MTcgMjgwLjI0NSA0OTkuNzE3IDI4MC4yNDV6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjY2M3MjI2Ij4KKyAgPHBhdGggZD0iTTg0LjQgMzAyLjZDNTkuNCAyNjMuMiA3My44IDMxOS42MDEgNzMuOCAzMTkuNjAxQzgyLjYgMzU0LjAwMSAyMTIuMiAzMTYuNDAxIDIxMi4yIDMxNi40MDFDMjEyLjIgMzE2LjQwMSAzODEuMDAxIDI4NiAzOTIuMjAxIDI4MkM0MDMuNDAxIDI3OCA0OTguNjAxIDI4NC40IDQ5OC42MDEgMjg0LjRMNDkzLjAwMSAyNjcuNkM0MjguMjAxIDIyMS4yIDQwOS4wMDEgMjQ0LjQgMzk1LjQwMSAyNDAuNEMzODEuODAxIDIzNi40IDM4NC4yMDEgMjQ2IDM4MS4wMDEgMjQ2LjhDMzc3LjgwMSAyNDcuNiAzMzguNjAxIDIyMi44IDMzMi4yMDEgMjIzLjZDMzI1LjgwMSAyMjQuNCAzMDAuNDU5IDIwMC42NDkgMzE1LjQwMSAyMzIuNEMzMzEuNDAxIDI2Ni40IDI1NyAyNzEuNiAyNDAuMiAyNjAuNEMyMjMuNCAyNDkuMiAyNDcuNCAyNzguOCAyNDcuNCAyNzguOEMyNjUuOCAyOTguOCAyMzEuNCAyODIgMjMxLjQgMjgyQzE5NyAyNjkuMiAxNzMgMjk0LjggMTY5LjggMjk1LjZDMTY2LjYgMjk2LjQgMTYxLjggMjk5LjYgMTYxIDI5My4yQzE2MC4yIDI4Ni44IDE1Mi42OSAyNzAuMDk5IDEyMSAyOTYuNEMxMDEgMzEzLjAwMSA4Ny4yIDI5MSA4Ny4yIDI5MUw4NC40IDMwMi42eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2U4N2YzYSI+CisgIDxwYXRoIGQ9Ik0zMzMuNTEgMjI1LjM0NkMzMjcuMTEgMjI2LjE0NiAzMDEuNzQzIDIwMi40MDcgMzE2LjcxIDIzNC4xNDZDMzMzLjMxIDI2OS4zNDYgMjU4LjMxIDI3My4zNDYgMjQxLjUxIDI2Mi4xNDZDMjI0LjcwOSAyNTAuOTQ2IDI0OC43MSAyODAuNTQ2IDI0OC43MSAyODAuNTQ2QzI2Ny4xMSAzMDAuNTQ2IDIzMi43MDkgMjgzLjc0NiAyMzIuNzA5IDI4My43NDZDMTk4LjMwOSAyNzAuOTQ2IDE3NC4zMDkgMjk2LjU0NiAxNzEuMTA5IDI5Ny4zNDZDMTY3LjkwOSAyOTguMTQ2IDE2My4xMDkgMzAxLjM0NiAxNjIuMzA5IDI5NC45NDZDMTYxLjUwOSAyODguNTQ2IDE1NC4xMyAyNzIuMDEyIDEyMi4zMDkgMjk4LjE0NkMxMDEuMDczIDMxNS40OTIgODcuNTgyIDI5NC4wMzcgODcuNTgyIDI5NC4wMzdMODQuMzgyIDMwNC4xNDZDNTkuMzgyIDI2NC4zNDYgNzQuNDU0IDMyMi42NTUgNzQuNDU0IDMyMi42NTVDODMuMjU1IDM1Ny4wNTYgMjEzLjUwOSAzMTguMTQ2IDIxMy41MDkgMzE4LjE0NkMyMTMuNTA5IDMxOC4xNDYgMzgyLjMxIDI4Ny43NDYgMzkzLjUxIDI4My43NDZDNDA0LjcxIDI3OS43NDYgNDk5LjAzOCAyODYuMDczIDQ5OS4wMzggMjg2LjA3M0w0OTMuNTEgMjY4Ljc2NEM0MjguNzEgMjIyLjM2NCA0MTAuMzEgMjQ2LjE0NiAzOTYuNzEgMjQyLjE0NkMzODMuMTEgMjM4LjE0NiAzODUuNTEgMjQ3Ljc0NiAzODIuMzEgMjQ4LjU0NkMzNzkuMTEgMjQ5LjM0NiAzMzkuOTEgMjI0LjU0NiAzMzMuNTEgMjI1LjM0NnoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNlYThjNGQiPgorICA8cGF0aCBkPSJNMzM0LjgxOSAyMjcuMDkxQzMyOC40MTkgMjI3Ljg5MSAzMDMuNjg1IDIwMy44NjIgMzE4LjAxOSAyMzUuODkxQzMzNC4yMTkgMjcyLjA5MiAyNTkuNjE5IDI3NS4wOTIgMjQyLjgxOSAyNjMuODkyQzIyNi4wMTkgMjUyLjY5MiAyNTAuMDE5IDI4Mi4yOTIgMjUwLjAxOSAyODIuMjkyQzI2OC40MTkgMzAyLjI5MiAyMzQuMDE5IDI4NS40OTIgMjM0LjAxOSAyODUuNDkyQzE5OS42MTkgMjcyLjY5MiAxNzUuNjE4IDI5OC4yOTIgMTcyLjQxOCAyOTkuMDkyQzE2OS4yMTggMjk5Ljg5MiAxNjQuNDE4IDMwMy4wOTIgMTYzLjYxOCAyOTYuNjkyQzE2Mi44MTggMjkwLjI5MiAxNTUuNTcgMjczLjkyNSAxMjMuNjE4IDI5OS44OTJDMTAxLjE0NSAzMTcuOTgzIDg3Ljk2NCAyOTcuMDc0IDg3Ljk2NCAyOTcuMDc0TDg0LjM2NCAzMDUuNjkyQzYwLjU2NCAyNjYuNjkyIDc1LjEwOSAzMjUuNzEgNzUuMTA5IDMyNS43MUM4My45MDkgMzYwLjExIDIxNC44MTkgMzE5Ljg5MiAyMTQuODE5IDMxOS44OTJDMjE0LjgxOSAzMTkuODkyIDM4My42MTkgMjg5LjQ5MiAzOTQuODE5IDI4NS40OTJDNDA2LjAxOSAyODEuNDkyIDQ5OS40NzQgMjg3Ljc0NiA0OTkuNDc0IDI4Ny43NDZMNDk0LjAyIDI2OS45MjhDNDI5LjIxOSAyMjMuNTI4IDQxMS42MTkgMjQ3Ljg5MSAzOTguMDE5IDI0My44OTFDMzg0LjQxOSAyMzkuODkxIDM4Ni44MTkgMjQ5LjQ5MSAzODMuNjE5IDI1MC4yOTJDMzgwLjQxOSAyNTEuMDkyIDM0MS4yMTkgMjI2LjI5MSAzMzQuODE5IDIyNy4wOTF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZWM5OTYxIj4KKyAgPHBhdGggZD0iTTMzNi4xMjggMjI4LjgzN0MzMjkuNzI4IDIyOS42MzcgMzA0Ljk5OSAyMDUuNjA1IDMxOS4zMjggMjM3LjYzN0MzMzYuMTI4IDI3NS4xOTMgMjYwLjM5NCAyNzYuNDgyIDI0NC4xMjggMjY1LjYzN0MyMjcuMzI4IDI1NC40MzcgMjUxLjMyOCAyODQuMDM3IDI1MS4zMjggMjg0LjAzN0MyNjkuNzI4IDMwNC4wMzcgMjM1LjMyOCAyODcuMjM3IDIzNS4zMjggMjg3LjIzN0MyMDAuOTI4IDI3NC40MzcgMTc2LjkyOCAzMDAuMDM3IDE3My43MjggMzAwLjgzN0MxNzAuNTI4IDMwMS42MzcgMTY1LjcyOCAzMDQuODM3IDE2NC45MjggMjk4LjQzN0MxNjQuMTI4IDI5Mi4wMzcgMTU3LjAxMSAyNzUuODM5IDEyNC45MjcgMzAxLjYzN0MxMDEuMjE4IDMyMC40NzQgODguMzQ1IDMwMC4xMSA4OC4zNDUgMzAwLjExTDg0LjM0NSAzMDcuMjM3QzYyLjU0NSAyNzAuNDM3IDc1Ljc2NCAzMjguNzY1IDc1Ljc2NCAzMjguNzY1Qzg0LjU2NCAzNjMuMTY1IDIxNi4xMjggMzIxLjYzNyAyMTYuMTI4IDMyMS42MzdDMjE2LjEyOCAzMjEuNjM3IDM4NC45MjggMjkxLjIzNyAzOTYuMTI5IDI4Ny4yMzdDNDA3LjMyOSAyODMuMjM3IDQ5OS45MTEgMjg5LjQxOSA0OTkuOTExIDI4OS40MTlMNDk0LjUyOSAyNzEuMDkyQzQyOS43MjkgMjI0LjY5MSA0MTIuOTI5IDI0OS42MzcgMzk5LjMyOSAyNDUuNjM3QzM4NS43MjggMjQxLjYzNyAzODguMTI4IDI1MS4yMzcgMzg0LjkyOCAyNTIuMDM3QzM4MS43MjggMjUyLjgzNyAzNDIuNTI4IDIyOC4wMzcgMzM2LjEyOCAyMjguODM3eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2VlYTU3NSI+CisgIDxwYXRoIGQ9Ik0zMzcuNDM4IDIzMC41ODNDMzMxLjAzNyAyMzEuMzgzIDMwNi44MTQgMjA3LjEyOSAzMjAuNjM3IDIzOS4zODNDMzM3LjQzOCAyNzguNTgzIDI2Mi4yMzcgMjc4LjU4MyAyNDUuNDM3IDI2Ny4zODNDMjI4LjYzNyAyNTYuMTgzIDI1Mi42MzcgMjg1Ljc4MyAyNTIuNjM3IDI4NS43ODNDMjcxLjAzNyAzMDUuNzgzIDIzNi42MzcgMjg4Ljk4MyAyMzYuNjM3IDI4OC45ODNDMjAyLjIzNyAyNzYuMTgzIDE3OC4yMzcgMzAxLjc4MyAxNzUuMDM3IDMwMi41ODNDMTcxLjgzNyAzMDMuMzgzIDE2Ny4wMzcgMzA2LjU4MyAxNjYuMjM3IDMwMC4xODNDMTY1LjQzNyAyOTMuNzgzIDE1OC40NTIgMjc3Ljc1MiAxMjYuMjM3IDMwMy4zODNDMTAxLjI5MSAzMjIuOTY1IDg4LjcyNyAzMDMuMTQ2IDg4LjcyNyAzMDMuMTQ2TDg0LjMyNyAzMDguNzgzQzY0LjUyNyAyNzMuOTgyIDc2LjQxOCAzMzEuODE5IDc2LjQxOCAzMzEuODE5Qzg1LjIxOCAzNjYuMjIgMjE3LjQzNyAzMjMuMzgzIDIxNy40MzcgMzIzLjM4M0MyMTcuNDM3IDMyMy4zODMgMzg2LjIzOCAyOTIuOTgzIDM5Ny40MzggMjg4Ljk4M0M0MDguNjM4IDI4NC45ODMgNTAwLjM0NyAyOTEuMDkyIDUwMC4zNDcgMjkxLjA5Mkw0OTUuMDM4IDI3Mi4yNTVDNDMwLjIzOCAyMjUuODU1IDQxNC4yMzggMjUxLjM4MyA0MDAuNjM4IDI0Ny4zODNDMzg3LjAzOCAyNDMuMzgzIDM4OS40MzggMjUyLjk4MyAzODYuMjM4IDI1My43ODNDMzgzLjAzOCAyNTQuNTgzIDM0My44MzggMjI5Ljc4MyAzMzcuNDM4IDIzMC41ODN6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZjFiMjg4Ij4KKyAgPHBhdGggZD0iTTMzOC43NDcgMjMyLjMyOEMzMzIuMzQ3IDIzMy4xMjggMzA2LjM4MyAyMDkuNjc3IDMyMS45NDcgMjQxLjEyOEMzNDEuMTQ3IDI3OS45MjggMjYzLjU0NiAyODAuMzI4IDI0Ni43NDYgMjY5LjEyOEMyMjkuOTQ2IDI1Ny45MjggMjUzLjk0NiAyODcuNTI4IDI1My45NDYgMjg3LjUyOEMyNzIuMzQ2IDMwNy41MjggMjM3Ljk0NiAyOTAuNzI4IDIzNy45NDYgMjkwLjcyOEMyMDMuNTQ2IDI3Ny45MjggMTc5LjU0NiAzMDMuNTI4IDE3Ni4zNDYgMzA0LjMyOEMxNzMuMTQ2IDMwNS4xMjggMTY4LjM0NiAzMDguMzI4IDE2Ny41NDYgMzAxLjkyOEMxNjYuNzQ2IDI5NS41MjggMTU5Ljg5MiAyNzkuNjY1IDEyNy41NDYgMzA1LjEyOEMxMDEuMzY0IDMyNS40NTYgODkuMTA5IDMwNi4xODMgODkuMTA5IDMwNi4xODNMODQuMzA5IDMxMC4zMjhDNjYuMzA5IDI3Ny4xMjggNzcuMDczIDMzNC44NzQgNzcuMDczIDMzNC44NzRDODUuODczIDM2OS4yNzQgMjE4Ljc0NiAzMjUuMTI4IDIxOC43NDYgMzI1LjEyOEMyMTguNzQ2IDMyNS4xMjggMzg3LjU0NyAyOTQuNzI4IDM5OC43NDcgMjkwLjcyOEM0MDkuOTQ3IDI4Ni43MjggNTAwLjc4MyAyOTIuNzY0IDUwMC43ODMgMjkyLjc2NEw0OTUuNTQ3IDI3My40MTlDNDMwLjc0NyAyMjcuMDE5IDQxNS41NDcgMjUzLjEyOCA0MDEuOTQ3IDI0OS4xMjhDMzg4LjM0NyAyNDUuMTI4IDM5MC43NDcgMjU0LjcyOCAzODcuNTQ3IDI1NS41MjhDMzg0LjM0NyAyNTYuMzI4IDM0NS4xNDcgMjMxLjUyOCAzMzguNzQ3IDIzMi4zMjh6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZjNiZjljIj4KKyAgPHBhdGggZD0iTTM0MC4wNTYgMjM0LjA3M0MzMzMuNjU1IDIzNC44NzMgMzA3LjMxMyAyMTEuNjEzIDMyMy4yNTUgMjQyLjg3M0MzNDMuNjU2IDI4Mi44NzQgMjY0Ljg1NSAyODIuMDc0IDI0OC4wNTUgMjcwLjg3NEMyMzEuMjU1IDI1OS42NzQgMjU1LjI1NSAyODkuMjc0IDI1NS4yNTUgMjg5LjI3NEMyNzMuNjU1IDMwOS4yNzQgMjM5LjI1NSAyOTIuNDc0IDIzOS4yNTUgMjkyLjQ3NEMyMDQuODU1IDI3OS42NzQgMTgwLjg1NSAzMDUuMjc0IDE3Ny42NTUgMzA2LjA3NEMxNzQuNDU1IDMwNi44NzQgMTY5LjY1NSAzMTAuMDc0IDE2OC44NTUgMzAzLjY3NEMxNjguMDU1IDI5Ny4yNzQgMTYxLjMzMiAyODEuNTc4IDEyOC44NTUgMzA2Ljg3NEMxMDEuNDM2IDMyNy45NDcgODkuNDkxIDMwOS4yMTkgODkuNDkxIDMwOS4yMTlMODQuMjkxIDMxMS44NzRDNjguMjkxIDI4MS42NzQgNzcuNzI3IDMzNy45MjkgNzcuNzI3IDMzNy45MjlDODYuNTI3IDM3Mi4zMjkgMjIwLjA1NSAzMjYuODc0IDIyMC4wNTUgMzI2Ljg3NEMyMjAuMDU1IDMyNi44NzQgMzg4Ljg1NiAyOTYuNDc0IDQwMC4wNTYgMjkyLjQ3NEM0MTEuMjU2IDI4OC40NzQgNTAxLjIyIDI5NC40MzcgNTAxLjIyIDI5NC40MzdMNDk2LjA1NiAyNzQuNTgzQzQzMS4yNTYgMjI4LjE4MyA0MTYuODU2IDI1NC44NzQgNDAzLjI1NiAyNTAuODc0QzM4OS42NTYgMjQ2Ljg3MyAzOTIuMDU2IDI1Ni40NzQgMzg4Ljg1NiAyNTcuMjc0QzM4NS42NTYgMjU4LjA3NCAzNDYuNDU2IDIzMy4yNzMgMzQwLjA1NiAyMzQuMDczeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2Y1Y2NiMCI+CisgIDxwYXRoIGQ9Ik0zNDEuMzY1IDIzNS44MTlDMzM0Ljk2NSAyMzYuNjE5IDMwNy41MjMgMjEzLjk0NCAzMjQuNTY1IDI0NC42MTlDMzQ2LjU2NSAyODQuMjE5IDI2Ni4xNjQgMjgzLjgxOSAyNDkuMzY0IDI3Mi42MTlDMjMyLjU2NCAyNjEuNDE5IDI1Ni41NjQgMjkxLjAxOSAyNTYuNTY0IDI5MS4wMTlDMjc0Ljk2NCAzMTEuMDE5IDI0MC41NjQgMjk0LjIxOSAyNDAuNTY0IDI5NC4yMTlDMjA2LjE2NCAyODEuNDE5IDE4Mi4xNjQgMzA3LjAxOSAxNzguOTY0IDMwNy44MTlDMTc1Ljc2NCAzMDguNjE5IDE3MC45NjQgMzExLjgxOSAxNzAuMTY0IDMwNS40MTlDMTY5LjM2NCAyOTkuMDE5IDE2Mi43NzMgMjgzLjQ5MiAxMzAuMTY0IDMwOC42MTlDMTAxLjUwOSAzMzAuNDM4IDg5Ljg3MyAzMTIuMjU2IDg5Ljg3MyAzMTIuMjU2TDg0LjI3MyAzMTMuNDE5QzY5Ljg3MiAyODUuMDE5IDc4LjM4MiAzNDAuOTgzIDc4LjM4MiAzNDAuOTgzQzg3LjE4MiAzNzUuMzg0IDIyMS4zNjQgMzI4LjYxOSAyMjEuMzY0IDMyOC42MTlDMjIxLjM2NCAzMjguNjE5IDM5MC4xNjUgMjk4LjIxOSA0MDEuMzY1IDI5NC4yMTlDNDEyLjU2NSAyOTAuMjE5IDUwMS42NTYgMjk2LjExIDUwMS42NTYgMjk2LjExTDQ5Ni41NjUgMjc1Ljc0NkM0MzEuNzY1IDIyOS4zNDYgNDE4LjE2NSAyNTYuNjE5IDQwNC41NjUgMjUyLjYxOUMzOTAuOTY1IDI0OC42MTkgMzkzLjM2NSAyNTguMjE5IDM5MC4xNjUgMjU5LjAxOUMzODYuOTY1IDI1OS44MTkgMzQ3Ljc2NSAyMzUuMDE5IDM0MS4zNjUgMjM1LjgxOXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmOGQ4YzQiPgorICA8cGF0aCBkPSJNMzQyLjY3NCAyMzcuNTY1QzMzNi4yNzQgMjM4LjM2NSAzMDguODMyIDIxNS42ODkgMzI1Ljg3NCAyNDYuMzY1QzM0Ny44NzQgMjg1Ljk2NSAyNjcuNDc0IDI4NS41NjUgMjUwLjY3NCAyNzQuMzY1QzIzMy44NzQgMjYzLjE2NSAyNTcuODc0IDI5Mi43NjUgMjU3Ljg3NCAyOTIuNzY1QzI3Ni4yNzQgMzEyLjc2NSAyNDEuODc0IDI5NS45NjUgMjQxLjg3NCAyOTUuOTY1QzIwNy40NzMgMjgzLjE2NSAxODMuNDczIDMwOC43NjUgMTgwLjI3MyAzMDkuNTY1QzE3Ny4wNzMgMzEwLjM2NSAxNzIuMjczIDMxMy41NjUgMTcxLjQ3MyAzMDcuMTY1QzE3MC42NzMgMzAwLjc2NSAxNjQuMjE0IDI4NS40MDUgMTMxLjQ3MyAzMTAuMzY1QzEwMS41ODIgMzMyLjkyOSA5MC4yNTUgMzE1LjI5MyA5MC4yNTUgMzE1LjI5M0w4NC4yNTUgMzE0Ljk2NUM3MC42NTQgMjg4LjU2NCA3OS4wMzcgMzQ0LjAzOCA3OS4wMzcgMzQ0LjAzOEM4Ny44MzcgMzc4LjQzOCAyMjIuNjczIDMzMC4zNjUgMjIyLjY3MyAzMzAuMzY1QzIyMi42NzMgMzMwLjM2NSAzOTEuNDc0IDI5OS45NjUgNDAyLjY3NCAyOTUuOTY1QzQxMy44NzQgMjkxLjk2NSA1MDIuMDkzIDI5Ny43ODMgNTAyLjA5MyAyOTcuNzgzTDQ5Ny4wNzUgMjc2LjkxQzQzMi4yNzQgMjMwLjUxIDQxOS40NzQgMjU4LjM2NSA0MDUuODc0IDI1NC4zNjVDMzkyLjI3NCAyNTAuMzY1IDM5NC42NzQgMjU5Ljk2NSAzOTEuNDc0IDI2MC43NjVDMzg4LjI3NCAyNjEuNTY1IDM0OS4wNzQgMjM2Ljc2NSAzNDIuNjc0IDIzNy41NjV6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmFlNWQ3Ij4KKyAgPHBhdGggZD0iTTM0My45ODMgMjM5LjMxQzMzNy41ODMgMjQwLjExIDMxMC41MjkgMjE3LjIyMyAzMjcuMTgzIDI0OC4xMUMzNDkuMTgzIDI4OC45MSAyNjguNzgzIDI4Ny4zMSAyNTEuOTgzIDI3Ni4xMUMyMzUuMTgzIDI2NC45MSAyNTkuMTgzIDI5NC41MSAyNTkuMTgzIDI5NC41MUMyNzcuNTgzIDMxNC41MSAyNDMuMTgzIDI5Ny43MSAyNDMuMTgzIDI5Ny43MUMyMDguNzgzIDI4NC45MSAxODQuNzgzIDMxMC41MSAxODEuNTgzIDMxMS4zMUMxNzguMzgyIDMxMi4xMSAxNzMuNTgyIDMxNS4zMSAxNzIuNzgyIDMwOC45MUMxNzEuOTgyIDMwMi41MSAxNjUuNjU0IDI4Ny4zMTggMTMyLjc4MiAzMTIuMTFDMTAxLjY1NSAzMzUuNDIgOTAuNjM3IDMxOC4zMjkgOTAuNjM3IDMxOC4zMjlMODQuMjM2IDMxNi41MUM3MS4yMzYgMjkyLjUxIDc5LjY5MSAzNDcuMDkzIDc5LjY5MSAzNDcuMDkzQzg4LjQ5MSAzODEuNDkzIDIyMy45ODMgMzMyLjExIDIyMy45ODMgMzMyLjExQzIyMy45ODMgMzMyLjExIDM5Mi43ODMgMzAxLjcxIDQwMy45ODMgMjk3LjcxQzQxNS4xODMgMjkzLjcxIDUwMi41MjkgMjk5LjQ1NiA1MDIuNTI5IDI5OS40NTZMNDk3LjU4MyAyNzguMDc0QzQzMi43ODMgMjMxLjY3MyA0MjAuNzgzIDI2MC4xMSA0MDcuMTgzIDI1Ni4xMUMzOTMuNTgzIDI1Mi4xMSAzOTUuOTgzIDI2MS43MSAzOTIuNzgzIDI2Mi41MUMzODkuNTgzIDI2My4zMSAzNTAuMzgzIDIzOC41MSAzNDMuOTgzIDIzOS4zMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmY2YyZWIiPgorICA8cGF0aCBkPSJNMzQ1LjI5MiAyNDEuMDU1QzMzOC44OTIgMjQxLjg1NSAzMTIuOTE3IDIxOC40MTEgMzI4LjQ5MiAyNDkuODU1QzM0OS42OTIgMjkyLjY1NiAyNzAuMDkyIDI4OS4wNTYgMjUzLjI5MiAyNzcuODU2QzIzNi40OTIgMjY2LjY1NiAyNjAuNDkyIDI5Ni4yNTYgMjYwLjQ5MiAyOTYuMjU2QzI3OC44OTIgMzE2LjI1NiAyNDQuNDkyIDI5OS40NTYgMjQ0LjQ5MiAyOTkuNDU2QzIxMC4wOTIgMjg2LjY1NiAxODYuMDkyIDMxMi4yNTYgMTgyLjg5MiAzMTMuMDU2QzE3OS42OTIgMzEzLjg1NiAxNzQuODkyIDMxNy4wNTYgMTc0LjA5MiAzMTAuNjU2QzE3My4yOTIgMzA0LjI1NiAxNjcuMDk1IDI4OS4yMzIgMTM0LjA5MiAzMTMuODU2QzEwMS43MjcgMzM3LjkxMSA5MS4wMTggMzIxLjM2NSA5MS4wMTggMzIxLjM2NUw4NC4yMTggMzE4LjA1NkM3MS40MTggMjk0Ljg1NiA4MC4zNDYgMzUwLjE0NyA4MC4zNDYgMzUwLjE0N0M4OS4xNDYgMzg0LjU0NyAyMjUuMjkyIDMzMy44NTYgMjI1LjI5MiAzMzMuODU2QzIyNS4yOTIgMzMzLjg1NiAzOTQuMDkzIDMwMy40NTYgNDA1LjI5MyAyOTkuNDU2QzQxNi40OTMgMjk1LjQ1NiA1MDIuOTY1IDMwMS4xMjggNTAyLjk2NSAzMDEuMTI4TDQ5OC4wOTMgMjc5LjIzN0M0MzMuMjkyIDIzMi44MzcgNDIyLjA5MyAyNjEuODU2IDQwOC40OTMgMjU3Ljg1NkMzOTQuODkzIDI1My44NTUgMzk3LjI5MyAyNjMuNDU2IDM5NC4wOTMgMjY0LjI1NkMzOTAuODkyIDI2NS4wNTYgMzUxLjY5MiAyNDAuMjU1IDM0NS4yOTIgMjQxLjA1NXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmZmYiPgorICA8cGF0aCBkPSJNODQuMiAzMTkuNjAxQzcxLjQgMjk3LjYgODEgMzUzLjIwMSA4MSAzNTMuMjAxQzg5LjggMzg3LjYwMSAyMjYuNiAzMzUuNjAxIDIyNi42IDMzNS42MDFDMjI2LjYgMzM1LjYwMSAzOTUuNDAxIDMwNS4yIDQwNi42MDEgMzAxLjJDNDE3LjgwMSAyOTcuMiA1MDMuNDAxIDMwMi44IDUwMy40MDEgMzAyLjhMNDk4LjYwMSAyODAuNEM0MzMuODAxIDIzNCA0MjMuNDAxIDI2My42IDQwOS44MDEgMjU5LjZDMzk2LjIwMSAyNTUuNiAzOTguNjAxIDI2NS4yIDM5NS40MDEgMjY2QzM5Mi4yMDEgMjY2LjggMzUzLjAwMSAyNDIgMzQ2LjYwMSAyNDIuOEMzNDAuMjAxIDI0My42IDMxNC45ODEgMjE5Ljc5MyAzMjkuODAxIDI1MS42QzM1Mi4wMjggMjk5LjMwNyAyNjkuMDQxIDI4OS4yMjcgMjU0LjYgMjc5LjZDMjM3LjggMjY4LjQgMjYxLjggMjk4IDI2MS44IDI5OEMyODAuMiAzMTguMDAxIDI0NS44IDMwMS4yIDI0NS44IDMwMS4yQzIxMS40IDI4OC40IDE4Ny40IDMxNC4wMDEgMTg0LjIgMzE0LjgwMUMxODEgMzE1LjYwMSAxNzYuMiAzMTguODAxIDE3NS40IDMxMi40MDFDMTc0LjYgMzA2IDE2OC41MzUgMjkxLjE0NCAxMzUuNCAzMTUuNjAxQzEwMS44IDM0MC40MDEgOTEuNCAzMjQuNDAxIDkxLjQgMzI0LjQwMUw4NC4yIDMxOS42MDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjMDAwMDAwIj4KKyAgPHBhdGggZD0iTTEyNS44IDM0OS42MDFDMTI1LjggMzQ5LjYwMSAxMTguNiAzNjEuMjAxIDEzOS40IDM3NC40MDFDMTM5LjQgMzc0LjQwMSAxNDAuOCAzNzUuODAxIDEyMi44IDM3MS42MDFDMTIyLjggMzcxLjYwMSAxMTYuNiAzNjkuNjAxIDExNSAzNTkuMjAxQzExNSAzNTkuMjAxIDExMC4yIDM1NC44MDEgMTA1LjQgMzQ5LjIwMUMxMDAuNiAzNDMuNjAxIDEyNS44IDM0OS42MDEgMTI1LjggMzQ5LjYwMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNjY2NjY2MiPgorICA8cGF0aCBkPSJNMjY1LjggMzAyQzI2NS44IDMwMiAyODMuNDk4IDMyOC44MjEgMjgyLjkgMzMzLjYwMUMyODEuNiAzNDQuMDAxIDI4MS40IDM1My42MDEgMjg0LjYgMzU3LjYwMUMyODcuODAxIDM2MS42MDEgMjk2LjYwMSAzOTQuODAxIDI5Ni42MDEgMzk0LjgwMUMyOTYuNjAxIDM5NC44MDEgMjk2LjIwMSAzOTYuMDAxIDMwOC42MDEgMzU4LjAwMUMzMDguNjAxIDM1OC4wMDEgMzIwLjIwMSAzNDIuMDAxIDMwMC4yMDEgMzIzLjYwMUMzMDAuMjAxIDMyMy42MDEgMjY1IDI5NC44IDI2NS44IDMwMnoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICMwMDAwMDAiPgorICA8cGF0aCBkPSJNMTQ1LjggMzc2LjQwMUMxNDUuOCAzNzYuNDAxIDE1NyAzODMuNjAxIDE0Mi42IDQxNC44MDFMMTQ5IDQxMi40MDFDMTQ5IDQxMi40MDEgMTQ4LjIgNDIzLjYwMSAxNDUgNDI2LjAwMUwxNTIuMiA0MjIuODAxQzE1Mi4yIDQyMi44MDEgMTU3IDQzMC44MDEgMTUzIDQzNS42MDFDMTUzIDQzNS42MDEgMTY5LjggNDQzLjYwMSAxNjkgNDUwLjAwMUMxNjkgNDUwLjAwMSAxNzUuNCA0NDIuMDAxIDE3MS40IDQzNS42MDFDMTY3LjQgNDI5LjIwMSAxNjAuMiA0MzMuMjAxIDE2MSA0MTQuODAxTDE1Mi4yIDQxOC4wMDFDMTUyLjIgNDE4LjAwMSAxNTcuOCA0MDkuMjAxIDE1Ny44IDQwMi44MDFMMTQ5LjggNDA1LjIwMUMxNDkuOCA0MDUuMjAxIDE2NS4yNjkgMzc4LjYyMyAxNTQuNiAzNzcuMjAxQzE0OC42IDM3Ni40MDEgMTQ1LjggMzc2LjQwMSAxNDUuOCAzNzYuNDAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2NjY2NjYyI+CisgIDxwYXRoIGQ9Ik0xNzguMiAzOTMuMjAxQzE3OC4yIDM5My4yMDEgMTgxIDM4OC44MDEgMTc4LjIgMzg5LjYwMUMxNzUuNCAzOTAuNDAxIDE0NC4yIDQwNS4yMDEgMTM4LjIgNDE0LjgwMUMxMzguMiA0MTQuODAxIDE3Mi42IDM5MC40MDEgMTc4LjIgMzkzLjIwMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNjY2NjY2MiPgorICA8cGF0aCBkPSJNMTg4LjYgNDAxLjIwMUMxODguNiA0MDEuMjAxIDE5MS40IDM5Ni44MDEgMTg4LjYgMzk3LjYwMUMxODUuOCAzOTguNDAxIDE1NC42IDQxMy4yMDEgMTQ4LjYgNDIyLjgwMUMxNDguNiA0MjIuODAxIDE4MyAzOTguNDAxIDE4OC42IDQwMS4yMDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjY2NjY2NjIj4KKyAgPHBhdGggZD0iTTIwMS44IDM4Ni4wMDFDMjAxLjggMzg2LjAwMSAyMDQuNiAzODEuNjAxIDIwMS44IDM4Mi40MDFDMTk5IDM4My4yMDEgMTY3LjggMzk4LjAwMSAxNjEuOCA0MDcuNjAxQzE2MS44IDQwNy42MDEgMTk2LjIgMzgzLjIwMSAyMDEuOCAzODYuMDAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2NjY2NjYyI+CisgIDxwYXRoIGQ9Ik0xNzguNiA0MjkuNjAxQzE3OC42IDQyOS42MDEgMTc4LjYgNDIzLjYwMSAxNzUuOCA0MjQuNDAxQzE3MyA0MjUuMjAxIDEzNyA0NDIuODAxIDEzMSA0NTIuNDAxQzEzMSA0NTIuNDAxIDE3MyA0MjYuODAxIDE3OC42IDQyOS42MDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjY2NjY2NjIj4KKyAgPHBhdGggZD0iTTE3OS44IDQxOC44MDFDMTc5LjggNDE4LjgwMSAxODEgNDE0LjAwMSAxNzguMiA0MTQuODAxQzE3Ni4yIDQxNC44MDEgMTQ5LjggNDI2LjQwMSAxNDMuOCA0MzYuMDAxQzE0My44IDQzNi4wMDEgMTczLjQgNDE0LjQwMSAxNzkuOCA0MTguODAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2NjY2NjYyI+CisgIDxwYXRoIGQ9Ik0xNjUuNCA0NjYuNDAxTDE1NS40IDQ3NC4wMDFDMTU1LjQgNDc0LjAwMSAxNjUuOCA0NjYuNDAxIDE2OS40IDQ2Ny42MDFDMTY5LjQgNDY3LjYwMSAxNjIuNiA0NzguODAxIDE2MS44IDQ4NC4wMDFDMTYxLjggNDg0LjAwMSAxNzIuMiA0NzEuMjAxIDE3Ny44IDQ3MS42MDFDMTc3LjggNDcxLjYwMSAxODUuNCA0NzIuMDAxIDE4NS40IDQ4Mi44MDFDMTg1LjQgNDgyLjgwMSAxOTEgNDcyLjQwMSAxOTQuMiA0NzIuODAxQzE5NC4yIDQ3Mi44MDEgMTk1LjQgNDc5LjIwMSAxOTQuMiA0ODYuMDAxQzE5NC4yIDQ4Ni4wMDEgMTk4LjIgNDc4LjQwMSAyMDIuMiA0ODAuMDAxQzIwMi4yIDQ4MC4wMDEgMjA4LjYgNDc4LjAwMSAyMDcuOCA0ODkuNjAxQzIwNy44IDQ4OS42MDEgMjA3LjggNTAwLjAwMSAyMDcgNTAyLjgwMUMyMDcgNTAyLjgwMSAyMTIuNiA0NzYuNDAxIDIxNSA0NzYuMDAxQzIxNSA0NzYuMDAxIDIyMyA0NzQuODAxIDIyNy44IDQ4My42MDFDMjI3LjggNDgzLjYwMSAyMjMuOCA0NzYuMDAxIDIyOC42IDQ3OC4wMDFDMjI4LjYgNDc4LjAwMSAyMzkuNCA0NzkuNjAxIDI0Mi42IDQ4Ni40MDFDMjQyLjYgNDg2LjQwMSAyMzUuOCA0NzQuNDAxIDI0MS40IDQ3Ny42MDFDMjQxLjQgNDc3LjYwMSAyNDguMiA0NzcuNjAxIDI0OS40IDQ4NC4wMDFDMjQ5LjQgNDg0LjAwMSAyNTcuOCA1MDUuMjAxIDI1OS44IDUwNi44MDFDMjU5LjggNTA2LjgwMSAyNTIuMiA0ODUuMjAxIDI1My44IDQ4NS4yMDFDMjUzLjggNDg1LjIwMSAyNTEuOCA0NzMuMjAxIDI1NyA0ODguMDAxQzI1NyA0ODguMDAxIDI1My44IDQ3NC4wMDEgMjU5LjQgNDc0LjgwMUMyNjUgNDc1LjYwMSAyNjkuNCA0ODUuNjAxIDI3Ny44IDQ4My4yMDFDMjc3LjggNDgzLjIwMSAyODcuNDAxIDQ4OC44MDEgMjg5LjQwMSA0MTkuNjAxTDE2NS40IDQ2Ni40MDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjMDAwMDAwIj4KKyAgPHBhdGggZD0iTTE3MC4yIDM3My42MDFDMTcwLjIgMzczLjYwMSAxODUgMzY3LjYwMSAyMjUgMzczLjYwMUMyMjUgMzczLjYwMSAyMzIuMiAzNzQuMDAxIDIzOSAzNjUuMjAxQzI0NS44IDM1Ni40MDEgMjcyLjYgMzQ5LjIwMSAyNzkgMzUxLjIwMUwyODguNjAxIDM1Ny42MDFMMjg5LjQwMSAzNTguODAxQzI4OS40MDEgMzU4LjgwMSAzMDEuODAxIDM2OS4yMDEgMzAyLjIwMSAzNzYuODAxQzMwMi42MDEgMzg0LjQwMSAyODcuODAxIDQzMi40MDEgMjc4LjIgNDQ4LjQwMUMyNjguNiA0NjQuNDAxIDI1OSA0NzYuODAxIDIzOS44IDQ3NC40MDFDMjM5LjggNDc0LjQwMSAyMTkgNDcwLjQwMSAxOTMuNCA0NzQuNDAxQzE5My40IDQ3NC40MDEgMTY0LjIgNDcyLjgwMSAxNjEuNCA0NjQuODAxQzE1OC42IDQ1Ni44MDEgMTcyLjYgNDQxLjYwMSAxNzIuNiA0NDEuNjAxQzE3Mi42IDQ0MS42MDEgMTc3IDQzMy4yMDEgMTc1LjggNDE4LjgwMUMxNzQuNiA0MDQuNDAxIDE3NSAzNzYuNDAxIDE3MC4yIDM3My42MDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZTU2NjhjIj4KKyAgPHBhdGggZD0iTTE5Mi4yIDM3NS42MDFDMjAwLjYgMzk0LjAwMSAxNzEgNDU5LjIwMSAxNzEgNDU5LjIwMUMxNjkgNDYwLjgwMSAxODMuNjYgNDY2Ljg0NiAxOTMuOCA0NjQuNDAxQzIwNC43NDYgNDYxLjc2MyAyNDUgNDY2LjAwMSAyNDUgNDY2LjAwMUMyNjguNiA0NTAuNDAxIDI4MS40IDQwNi4wMDEgMjgxLjQgNDA2LjAwMUMyODEuNCA0MDYuMDAxIDI5MS44MDEgMzgyLjAwMSAyNzQuMiAzNzguODAxQzI1Ni42IDM3NS42MDEgMTkyLjIgMzc1LjYwMSAxOTIuMiAzNzUuNjAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2IyMzI1OSI+CisgIDxwYXRoIGQ9Ik0xOTAuMTY5IDQwNi40OTdDMTkzLjQ5NSAzOTMuNzA3IDE5NS4wNzkgMzgxLjkwNiAxOTIuMiAzNzUuNjAxQzE5Mi4yIDM3NS42MDEgMjU0LjYgMzgyLjAwMSAyNjUuOCAzNjEuMjAxQzI3MC4wNDEgMzUzLjMyNiAyODQuODAxIDM4NC4wMDEgMjg0LjQgMzkzLjYwMUMyODQuNCAzOTMuNjAxIDIyMS40IDQwOC4wMDEgMjA2LjYgMzk2LjgwMUwxOTAuMTY5IDQwNi40OTd6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjYTUyNjRjIj4KKyAgPHBhdGggZD0iTTE5NC42IDQyMi44MDFDMTk0LjYgNDIyLjgwMSAxOTYuNiA0MzAuMDAxIDE5NC4yIDQzNC4wMDFDMTk0LjIgNDM0LjAwMSAxOTIuNiA0MzQuODAxIDE5MS40IDQzNS4yMDFDMTkxLjQgNDM1LjIwMSAxOTIuNiA0MzguODAxIDE5OC42IDQ0MC40MDFDMTk4LjYgNDQwLjQwMSAyMDAuNiA0NDQuODAxIDIwMyA0NDUuMjAxQzIwNS40IDQ0NS42MDEgMjEwLjIgNDUxLjIwMSAyMTQuMiA0NTAuMDAxQzIxOC4yIDQ0OC44MDEgMjI5LjQgNDQ0LjgwMSAyMjkuNCA0NDQuODAxQzIyOS40IDQ0NC44MDEgMjM1IDQ0MS42MDEgMjQzLjggNDQ1LjIwMUMyNDMuOCA0NDUuMjAxIDI0Ni4xNzUgNDQ0LjM5OSAyNDYuNiA0NDAuNDAxQzI0Ny4xIDQzNS43MDEgMjUwLjIgNDMyLjAwMSAyNTIuMiA0MzAuMDAxQzI1NC4yIDQyOC4wMDEgMjYzLjggNDE1LjIwMSAyNjIuNiA0MTQuODAxQzI2MS40IDQxNC40MDEgMTk0LjYgNDIyLjgwMSAxOTQuNiA0MjIuODAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmNzI3Zjsgc3Ryb2tlOiMwMDAwMDAiPgorICA8cGF0aCBkPSJNMTkwLjIgMzc0LjQwMUMxOTAuMiAzNzQuNDAxIDE4Ny40IDM5Ni44MDEgMTkwLjYgNDA1LjIwMUMxOTMuOCA0MTMuNjAxIDE5MyA0MTUuNjAxIDE5Mi4yIDQxOS42MDFDMTkxLjQgNDIzLjYwMSAxOTUuOCA0MzMuNjAxIDIwMS40IDQzOS42MDFMMjEzLjQgNDQxLjIwMUMyMTMuNCA0NDEuMjAxIDIyOC42IDQzNy42MDEgMjM3LjggNDQwLjQwMUMyMzcuOCA0NDAuNDAxIDI0Ni43OTQgNDQxLjc0NCAyNTAuMiA0MjYuODAxQzI1MC4yIDQyNi44MDEgMjU1IDQyMC40MDEgMjYyLjIgNDE3LjYwMUMyNjkuNCA0MTQuODAxIDI3Ni42IDM3My4yMDEgMjcyLjYgMzY1LjIwMUMyNjguNiAzNTcuMjAxIDI1NC4yIDM1Mi44MDEgMjM4LjIgMzY4LjQwMUMyMjIuMiAzODQuMDAxIDIyMC4yIDM2Ny4yMDEgMTkwLjIgMzc0LjQwMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmY2M7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC41Ij4KKyAgPHBhdGggZD0iTTE5MS44IDQ0OS4yMDFDMTkxLjggNDQ5LjIwMSAxOTEgNDQ3LjIwMSAxODYuNiA0NDYuODAxQzE4Ni42IDQ0Ni44MDEgMTY0LjIgNDQzLjIwMSAxNTUuOCA0MzAuODAxQzE1NS44IDQzMC44MDEgMTQ5IDQyNS4yMDEgMTUzLjQgNDM2LjgwMUMxNTMuNCA0MzYuODAxIDE2My44IDQ1Ny4yMDEgMTcwLjYgNDYwLjAwMUMxNzAuNiA0NjAuMDAxIDE4NyA0NjQuMDAxIDE5MS44IDQ0OS4yMDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjY2MzZjRjIj4KKyAgPHBhdGggZD0iTTI3MS43NDIgMzg1LjIyOUMyNzIuNDAxIDM3Ny4zMjMgMjc0LjM1NCAzNjguNzA5IDI3Mi42IDM2NS4yMDFDMjY2LjE1NCAzNTIuMzA3IDI0OS4xODEgMzU3LjY5NSAyMzguMiAzNjguNDAxQzIyMi4yIDM4NC4wMDEgMjIwLjIgMzY3LjIwMSAxOTAuMiAzNzQuNDAxQzE5MC4yIDM3NC40MDEgMTg4LjQ1NSAzODguMzY0IDE4OS4yOTUgMzk4LjM3NkMxODkuMjk1IDM5OC4zNzYgMjI2LjYgMzg2LjgwMSAyMjcuNCAzOTIuNDAxQzIyNy40IDM5Mi40MDEgMjI5IDM4OS4yMDEgMjM4LjIgMzg5LjIwMUMyNDcuNCAzODkuMjAxIDI3MC4xNDIgMzg4LjAyOSAyNzEuNzQyIDM4NS4yMjl6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJzdHJva2U6I2E1MTkyNjsgc3Ryb2tlLXdpZHRoOjIiPgorICA8cGF0aCBkPSJNMjI4LjYgMzc1LjIwMUMyMjguNiAzNzUuMjAxIDIzMy40IDM4MC4wMDEgMjI5LjggMzg5LjYwMUMyMjkuOCAzODkuNjAxIDIxNS40IDQwNS42MDEgMjE3LjQgNDE5LjYwMSIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZjYzsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjUiPgorICA8cGF0aCBkPSJNMTgwLjYgNDYwLjAwMUMxODAuNiA0NjAuMDAxIDE3Ni4yIDQ0Ny4yMDEgMTg1IDQ1NC4wMDFDMTg1IDQ1NC4wMDEgMTg5LjggNDU2LjAwMSAxODguNiA0NTcuNjAxQzE4Ny40IDQ1OS4yMDEgMTgxLjggNDYzLjIwMSAxODAuNiA0NjAuMDAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZjYzsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjUiPgorICA8cGF0aCBkPSJNMTg1LjY0IDQ2MS4yMDFDMTg1LjY0IDQ2MS4yMDEgMTgyLjEyIDQ1MC45NjEgMTg5LjE2IDQ1Ni40MDFDMTg5LjE2IDQ1Ni40MDEgMTkzLjU4MSA0NTguODQ5IDE5Mi4wNCA0NTkuMjgxQzE4Ny40OCA0NjAuNTYxIDE5Mi4wNCA0NjMuMTIxIDE4NS42NCA0NjEuMjAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZjYzsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjUiPgorICA8cGF0aCBkPSJNMTkwLjQ0IDQ2MS4yMDFDMTkwLjQ0IDQ2MS4yMDEgMTg2LjkyIDQ1MC45NjEgMTkzLjk2IDQ1Ni40MDFDMTkzLjk2IDQ1Ni40MDEgMTk4LjMzNSA0NTguNzExIDE5Ni44NCA0NTkuMjgxQzE5My40OCA0NjAuNTYxIDE5Ni44NCA0NjMuMTIxIDE5MC40NCA0NjEuMjAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZjYzsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjUiPgorICA8cGF0aCBkPSJNMTk3LjA0IDQ2MS40MDFDMTk3LjA0IDQ2MS40MDEgMTkzLjUyIDQ1MS4xNjEgMjAwLjU2IDQ1Ni42MDFDMjAwLjU2IDQ1Ni42MDEgMjA0Ljk0MyA0NTguOTMzIDIwMy40NDEgNDU5LjQ4MUMyMDAuNDggNDYwLjU2MSAyMDMuNDQxIDQ2My4zMjEgMTk3LjA0IDQ2MS40MDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmNjOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuNSI+CisgIDxwYXRoIGQ9Ik0yMDMuNTIgNDYxLjMyMUMyMDMuNTIgNDYxLjMyMSAyMDAgNDUxLjA4MSAyMDcuMDQxIDQ1Ni41MjFDMjA3LjA0MSA0NTYuNTIxIDIxMC44ODEgNDU4LjEyMSAyMDkuOTIxIDQ1OS40MDFDMjA4Ljk2MSA0NjAuNjgxIDIwOS45MjEgNDYzLjI0MSAyMDMuNTIgNDYxLjMyMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmY2M7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC41Ij4KKyAgPHBhdGggZD0iTTIxMC4yIDQ2Mi4wMDFDMjEwLjIgNDYyLjAwMSAyMDUuNCA0NDkuNjAxIDIxNC42IDQ1Ni4wMDFDMjE0LjYgNDU2LjAwMSAyMTkuNCA0NTguMDAxIDIxOC4yIDQ1OS42MDFDMjE3IDQ2MS4yMDEgMjE4LjIgNDY0LjQwMSAyMTAuMiA0NjIuMDAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0ic3Ryb2tlOiNhNTI2NGM7IHN0cm9rZS13aWR0aDoyIj4KKyAgPHBhdGggZD0iTTE4MS44IDQ0NC44MDFDMTgxLjggNDQ0LjgwMSAxOTUgNDQyLjAwMSAyMDEgNDQ1LjIwMUMyMDEgNDQ1LjIwMSAyMDcgNDQ2LjQwMSAyMDguMiA0NDYuMDAxQzIwOS40IDQ0NS42MDEgMjEyLjYgNDQ1LjIwMSAyMTIuNiA0NDUuMjAxIi8+CisgPC9nPgorIDxnIHN0eWxlPSJzdHJva2U6I2E1MjY0Yzsgc3Ryb2tlLXdpZHRoOjIiPgorICA8cGF0aCBkPSJNMjE1LjggNDUzLjYwMUMyMTUuOCA0NTMuNjAxIDIyNy44IDQ0MC4wMDEgMjM5LjggNDQ0LjQwMUMyNDYuODE2IDQ0Ni45NzQgMjQ1LjggNDQzLjYwMSAyNDYuNiA0NDAuODAxQzI0Ny40IDQzOC4wMDEgMjQ3LjYgNDMzLjgwMSAyNTIuNiA0MzAuODAxIi8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmNjOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuNSI+CisgIDxwYXRoIGQ9Ik0yMzMgNDM3LjYwMUMyMzMgNDM3LjYwMSAyMjkgNDI2LjgwMSAyMjYuMiA0MzkuNjAxQzIyMy40IDQ1Mi40MDEgMjIwLjIgNDU2LjAwMSAyMTguNiA0NTguODAxQzIxOC42IDQ1OC44MDEgMjE4LjYgNDY0LjAwMSAyMjcgNDYzLjYwMUMyMjcgNDYzLjYwMSAyMzcuOCA0NjMuMjAxIDIzOC4yIDQ2MC40MDFDMjM4LjYgNDU3LjYwMSAyMzcgNDQ2LjAwMSAyMzMgNDM3LjYwMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9InN0cm9rZTojYTUyNjRjOyBzdHJva2Utd2lkdGg6MiI+CisgIDxwYXRoIGQ9Ik0yNDcgNDQ0LjgwMUMyNDcgNDQ0LjgwMSAyNTAuNiA0NDIuNDAxIDI1MyA0NDMuNjAxIi8+CisgPC9nPgorIDxnIHN0eWxlPSJzdHJva2U6I2E1MjY0Yzsgc3Ryb2tlLXdpZHRoOjIiPgorICA8cGF0aCBkPSJNMjUzLjUgNDI4LjQwMUMyNTMuNSA0MjguNDAxIDI1Ni40IDQyMy41MDEgMjYxLjIgNDIyLjcwMSIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2IyYjJiMiI+CisgIDxwYXRoIGQ9Ik0xNzQuMiA0NjUuMjAxQzE3NC4yIDQ2NS4yMDEgMTkyLjIgNDY4LjQwMSAxOTYuNiA0NjYuODAxQzE5Ni42IDQ2Ni44MDEgMjA1LjQgNDY2LjgwMSAxOTcgNDY4LjgwMUMxOTcgNDY4LjgwMSAxODQuMiA0NjguODAxIDE3Ni4yIDQ2Ny42MDFDMTc2LjIgNDY3LjYwMSAxNjQuNiA0NjIuMDAxIDE3NC4yIDQ2NS4yMDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmNjOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuNSI+CisgIDxwYXRoIGQ9Ik0xODguMiAzNzIuMDAxQzE4OC4yIDM3Mi4wMDEgMjA1LjggMzcyLjAwMSAyMDcuOCAzNzIuODAxQzIwNy44IDM3Mi44MDEgMjE1IDQwMy42MDEgMjExLjQgNDExLjIwMUMyMTEuNCA0MTEuMjAxIDIxMC4yIDQxNC4wMDEgMjA3LjQgNDA4LjQwMUMyMDcuNCA0MDguNDAxIDE4OSAzNzUuNjAxIDE4NS44IDM3My42MDFDMTgyLjYgMzcxLjYwMSAxODcgMzcyLjAwMSAxODguMiAzNzIuMDAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZjYzsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjUiPgorICA8cGF0aCBkPSJNMTExLjEgMzY5LjMwMUMxMTEuMSAzNjkuMzAxIDEyMCAzNzEuMDAxIDEzMi42IDM3My42MDFDMTMyLjYgMzczLjYwMSAxMzcuNCAzOTYuMDAxIDE0MC42IDQwMC44MDFDMTQzLjggNDA1LjYwMSAxNDAuMiA0MDUuNjAxIDEzNi42IDQwMi44MDFDMTMzIDQwMC4wMDEgMTE4LjIgMzg2LjAwMSAxMTYuMiAzODEuNjAxQzExNC4yIDM3Ny4yMDEgMTExLjEgMzY5LjMwMSAxMTEuMSAzNjkuMzAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZjYzsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjUiPgorICA8cGF0aCBkPSJNMTMyLjk2MSAzNzMuODE4QzEzMi45NjEgMzczLjgxOCAxMzguNzYxIDM3NS4zNjYgMTM5Ljc3IDM3Ny41ODFDMTQwLjc3OCAzNzkuNzk1IDEzOC41NjggMzgzLjA5MiAxMzguNTY4IDM4My4wOTJDMTM4LjU2OCAzODMuMDkyIDEzNy41NjggMzg2LjM5NyAxMzYuMzY2IDM4NC4yMzVDMTM1LjE2NCAzODIuMDcyIDEzMi4yOTIgMzc0LjQxMiAxMzIuOTYxIDM3My44MTh6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjMDAwMDAwIj4KKyAgPHBhdGggZD0iTTEzMyAzNzMuNjAxQzEzMyAzNzMuNjAxIDEzNi42IDM3OC44MDEgMTQwLjIgMzc4LjgwMUMxNDMuOCAzNzguODAxIDE0NC4xODIgMzc4LjM4OCAxNDcgMzc5LjAwMUMxNTEuNiAzODAuMDAxIDE1MS4yIDM3OC4wMDEgMTU3LjggMzc5LjIwMUMxNjAuNDQgMzc5LjY4MSAxNjMgMzc4LjgwMSAxNjUuOCAzODAuMDAxQzE2OC42IDM4MS4yMDEgMTcxLjggMzgwLjQwMSAxNzMgMzc4LjQwMUMxNzQuMiAzNzYuNDAxIDE3OSAzNzIuMjAxIDE3OSAzNzIuMjAxQzE3OSAzNzIuMjAxIDE2Ni4yIDM3NC4wMDEgMTYzLjQgMzc0LjgwMUMxNjMuNCAzNzQuODAxIDE0MSAzNzYuMDAxIDEzMyAzNzMuNjAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZjYzsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjUiPgorICA8cGF0aCBkPSJNMTc3LjYgMzczLjgwMUMxNzcuNiAzNzMuODAxIDE3MS4xNSAzNzcuMzAxIDE3MC43NSAzNzkuNzAxQzE3MC4zNSAzODIuMTAxIDE3NiAzODUuODAxIDE3NiAzODUuODAxQzE3NiAzODUuODAxIDE3OC43NSAzOTAuNDAxIDE3OS4zNSAzODguMDAxQzE3OS45NSAzODUuNjAxIDE3OC40IDM3NC4yMDEgMTc3LjYgMzczLjgwMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmY2M7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC41Ij4KKyAgPHBhdGggZD0iTTE0MC4xMTUgMzc5LjI2NUMxNDAuMTE1IDM3OS4yNjUgMTQ3LjEyMiAzOTAuNDUzIDE0Ny4zMzkgMzc5LjI0MkMxNDcuMzM5IDM3OS4yNDIgMTQ3Ljg5NiAzNzcuOTg0IDE0Ni4xMzYgMzc3Ljk2MkMxNDAuMDYxIDM3Ny44ODYgMTQxLjU4MiAzNzMuNzg0IDE0MC4xMTUgMzc5LjI2NXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmY2M7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC41Ij4KKyAgPHBhdGggZD0iTTE0Ny4yOTMgMzc5LjUxNEMxNDcuMjkzIDM3OS41MTQgMTU1LjIxNCAzOTAuNzAxIDE1NC41NzggMzc5LjQyMUMxNTQuNTc4IDM3OS40MjEgMTU0LjU4NSAzNzkuMDg5IDE1Mi44MzIgMzc4LjkzNkMxNDguMDg1IDM3OC41MjIgMTQ4LjQzIDM3NC4wMDQgMTQ3LjI5MyAzNzkuNTE0eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZjYzsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjUiPgorICA8cGF0aCBkPSJNMTU0LjUwNiAzNzkuNTIyQzE1NC41MDYgMzc5LjUyMiAxNjIuNDY2IDM5MC4xNSAxNjEuNzk3IDM4MC40ODRDMTYxLjc5NyAzODAuNDg0IDE2MS45MTYgMzc5LjI1MSAxNjAuMjYyIDM3OC45NUMxNTYuMzcgMzc4LjI0NCAxNTYuMTU5IDM3NC45OTUgMTU0LjUwNiAzNzkuNTIyeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZjYzsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjUiPgorICA8cGF0aCBkPSJNMTYxLjM4MiAzNzkuNjAyQzE2MS4zODIgMzc5LjYwMiAxNjkuMjgyIDM5MS4xNjMgMTY5LjYzIDM4MS4zODJDMTY5LjYzIDM4MS4zODIgMTcxLjI3NCAzODAuMDA0IDE2OS41MjggMzc5Ljc4MkMxNjMuNzEgMzc5LjA0MiAxNjQuNTA4IDM3NC41ODggMTYxLjM4MiAzNzkuNjAyeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2U1ZTViMiI+CisgIDxwYXRoIGQ9Ik0xMjUuMjA4IDM4My4xMzJMMTE3LjU1IDM4MS42MDFDMTE0Ljk1IDM3Ni42MDEgMTEyLjg1IDM3MC40NTEgMTEyLjg1IDM3MC40NTFDMTEyLjg1IDM3MC40NTEgMTE5LjIgMzcxLjQ1MSAxMzEuNyAzNzQuMjUxQzEzMS43IDM3NC4yNTEgMTMyLjU3NiAzNzcuNTY5IDEzNC4wNDggMzgzLjM2NEwxMjUuMjA4IDM4My4xMzJ6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZTVlNWIyIj4KKyAgPHBhdGggZD0iTTE5MC4yNzYgMzc4LjQ3QzE4OC42MSAzNzUuOTY0IDE4Ny4yOTMgMzc0LjIwNiAxODYuNjQzIDM3My44QzE4My42MyAzNzEuOTE3IDE4Ny43NzMgMzcyLjI5NCAxODguOTAyIDM3Mi4yOTRDMTg4LjkwMiAzNzIuMjk0IDIwNS40NzMgMzcyLjI5NCAyMDcuMzU2IDM3My4wNDdDMjA3LjM1NiAzNzMuMDQ3IDIwNy44OCAzNzUuMjg5IDIwOC41NjQgMzc4LjY4QzIwOC41NjQgMzc4LjY4IDE5OC40NzYgMzc2LjY3IDE5MC4yNzYgMzc4LjQ3eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2NjNzIyNiI+CisgIDxwYXRoIGQ9Ik0yNDMuODggMjQwLjMyMUMyNzEuNjAxIDI0NC4yODEgMjk3LjEyMSAyMDguNjQxIDI5OC44ODEgMTk4Ljk2QzMwMC42NDEgMTg5LjI4IDI5MC41MjEgMTc3LjQgMjkwLjUyMSAxNzcuNEMyOTEuODQxIDE3NC4zMiAyODcuMDAxIDE2MC4yNCAyODEuNzIxIDE1MUMyNzYuNDQxIDE0MS43NiAyNjAuNTQgMTQyLjczNCAyNDMgMTQxLjc2QzIyNy4xNiAxNDAuODggMjA4LjY4IDE2NC4yIDIwNy4zNiAxNjUuOTZDMjA2LjA0IDE2Ny43MiAyMTIuMiAyMDYuMDAxIDIxMy41MiAyMTEuNzIxQzIxNC44NCAyMTcuNDQxIDIxMi4yIDI0My44NDEgMjEyLjIgMjQzLjg0MUMyNDYuNDQgMjM0Ljc0MSAyMTYuMTYgMjM2LjM2MSAyNDMuODggMjQwLjMyMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNlYThlNTEiPgorICA8cGF0aCBkPSJNMjA4LjA4OCAxNjYuNjA4QzIwNi43OTIgMTY4LjMzNiAyMTIuODQgMjA1LjkyMSAyMTQuMTM2IDIxMS41MzdDMjE1LjQzMiAyMTcuMTUzIDIxMi44NCAyNDMuMDczIDIxMi44NCAyNDMuMDczQzI0NS41MTIgMjM0LjE5MyAyMTYuNzI4IDIzNS43MjkgMjQzLjk0NCAyMzkuNjE3QzI3MS4xNjEgMjQzLjUwNSAyOTYuMjE3IDIwOC41MTMgMjk3Ljk0NSAxOTkuMDA4QzI5OS42NzMgMTg5LjUwNCAyODkuNzM3IDE3Ny44NCAyODkuNzM3IDE3Ny44NEMyOTEuMDMzIDE3NC44MTYgMjg2LjI4MSAxNjAuOTkyIDI4MS4wOTcgMTUxLjkyQzI3NS45MTMgMTQyLjg0OCAyNjAuMzAyIDE0My44MDUgMjQzLjA4IDE0Mi44NDhDMjI3LjUyOCAxNDEuOTg0IDIwOS4zODQgMTY0Ljg4IDIwOC4wODggMTY2LjYwOHoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNlZmFhN2MiPgorICA8cGF0aCBkPSJNMjA4LjgxNiAxNjcuMjU2QzIwNy41NDQgMTY4Ljk1MiAyMTMuNDggMjA1Ljg0MSAyMTQuNzUyIDIxMS4zNTNDMjE2LjAyNCAyMTYuODY1IDIxMy40OCAyNDIuMzA1IDIxMy40OCAyNDIuMzA1QzI0NC44ODQgMjMzLjE0NSAyMTcuMjk2IDIzNS4wOTcgMjQ0LjAwOCAyMzguOTEzQzI3MC43MjEgMjQyLjcyOSAyOTUuMzEzIDIwOC4zODUgMjk3LjAwOSAxOTkuMDU2QzI5OC43MDUgMTg5LjcyOCAyODguOTUzIDE3OC4yOCAyODguOTUzIDE3OC4yOEMyOTAuMjI1IDE3NS4zMTIgMjg1LjU2MSAxNjEuNzQ0IDI4MC40NzMgMTUyLjg0QzI3NS4zODUgMTQzLjkzNiAyNjAuMDYzIDE0NC44NzUgMjQzLjE2IDE0My45MzZDMjI3Ljg5NiAxNDMuMDg4IDIxMC4wODggMTY1LjU2IDIwOC44MTYgMTY3LjI1NnoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmNGM2YTgiPgorICA8cGF0aCBkPSJNMjA5LjU0NCAxNjcuOTA0QzIwOC4yOTYgMTY5LjU2OCAyMTQuMTIgMjA1Ljc2MSAyMTUuMzY4IDIxMS4xNjlDMjE2LjYxNiAyMTYuNTc3IDIxNC4xMiAyNDEuNTM3IDIxNC4xMiAyNDEuNTM3QzI0My41NTYgMjMyLjQ5NyAyMTcuODY0IDIzNC40NjUgMjQ0LjA3MiAyMzguMjA5QzI3MC4yODEgMjQxLjk1MyAyOTQuNDA5IDIwOC4yNTcgMjk2LjA3MyAxOTkuMTA1QzI5Ny43MzcgMTg5Ljk1MiAyODguMTY5IDE3OC43MiAyODguMTY5IDE3OC43MkMyODkuNDE3IDE3NS44MDggMjg0Ljg0MSAxNjIuNDk2IDI3OS44NDkgMTUzLjc2QzI3NC44NTcgMTQ1LjAyNCAyNTkuODI0IDE0NS45NDUgMjQzLjI0IDE0NS4wMjRDMjI4LjI2NCAxNDQuMTkyIDIxMC43OTIgMTY2LjI0IDIwOS41NDQgMTY3LjkwNHoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmOWUyZDMiPgorICA8cGF0aCBkPSJNMjEwLjI3MiAxNjguNTUyQzIwOS4wNDggMTcwLjE4NCAyMTQuNzYgMjA1LjY4MSAyMTUuOTg0IDIxMC45ODVDMjE3LjIwOCAyMTYuMjg5IDIxNC43NiAyNDAuNzY5IDIxNC43NiAyNDAuNzY5QzI0Mi42MjggMjMxLjg0OSAyMTguNDMyIDIzMy44MzMgMjQ0LjEzNiAyMzcuNTA1QzI2OS44NDEgMjQxLjE3NyAyOTMuNTA1IDIwOC4xMjkgMjk1LjEzNyAxOTkuMTUyQzI5Ni43NjkgMTkwLjE3NiAyODcuMzg1IDE3OS4xNiAyODcuMzg1IDE3OS4xNkMyODguNjA5IDE3Ni4zMDQgMjg0LjEyMSAxNjMuMjQ4IDI3OS4yMjUgMTU0LjY4QzI3NC4zMjkgMTQ2LjExMiAyNTkuNTg1IDE0Ny4wMTUgMjQzLjMyIDE0Ni4xMTJDMjI4LjYzMiAxNDUuMjk2IDIxMS40OTYgMTY2LjkyIDIxMC4yNzIgMTY4LjU1MnoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmZmYiPgorICA8cGF0aCBkPSJNMjQ0LjIgMjM2LjhDMjY5LjQgMjQwLjQgMjkyLjYwMSAyMDggMjk0LjIwMSAxOTkuMkMyOTUuODAxIDE5MC40IDI4Ni42MDEgMTc5LjYgMjg2LjYwMSAxNzkuNkMyODcuODAxIDE3Ni44IDI4My40IDE2NCAyNzguNiAxNTUuNkMyNzMuOCAxNDcuMiAyNTkuMzQ2IDE0OC4wODYgMjQzLjQgMTQ3LjJDMjI5IDE0Ni40IDIxMi4yIDE2Ny42IDIxMSAxNjkuMkMyMDkuOCAxNzAuOCAyMTUuNCAyMDUuNiAyMTYuNiAyMTAuOEMyMTcuOCAyMTYgMjE1LjQgMjQwIDIxNS40IDI0MEMyNDAuOSAyMzEuNCAyMTkgMjMzLjIgMjQ0LjIgMjM2Ljh6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjY2NjY2NjIj4KKyAgPHBhdGggZD0iTTI5MC42MDEgMjAyLjhDMjkwLjYwMSAyMDIuOCAyNjIuOCAyMTAuNCAyNTEuMiAyMDguOEMyNTEuMiAyMDguOCAyMzUuNCAyMDIuMiAyMjYuNiAyMjRDMjI2LjYgMjI0IDIyMyAyMzEuMiAyMjEgMjMzLjJDMjE5IDIzNS4yIDI5MC42MDEgMjAyLjggMjkwLjYwMSAyMDIuOHoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICMwMDAwMDAiPgorICA8cGF0aCBkPSJNMjk0LjQwMSAyMDAuNkMyOTQuNDAxIDIwMC42IDI2NS40IDIxMi44IDI1NS40IDIxMi40QzI1NS40IDIxMi40IDIzOSAyMDcuOCAyMzAuNiAyMjIuNEMyMzAuNiAyMjIuNCAyMjIuMiAyMzEuNiAyMTkgMjMzLjJDMjE5IDIzMy4yIDIxOC42IDIzNC44IDIyNSAyMzAuOEwyMzUuNCAyMzZDMjM1LjQgMjM2IDI1MC4yIDI0NS42IDI1OS44IDIyOS42QzI1OS44IDIyOS42IDI2My44IDIxOC40IDI2My44IDIxNi40QzI2My44IDIxNC40IDI4NSAyMDguOCAyODYuNjAxIDIwOC40QzI4OC4yMDEgMjA4IDI5NC44MDEgMjAzLjggMjk0LjQwMSAyMDAuNnoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICM5OWNjMzIiPgorICA8cGF0aCBkPSJNMjQ3IDIzNi41MTRDMjQwLjEyOCAyMzYuNTE0IDIzMS43NTUgMjMyLjY0OSAyMzEuNzU1IDIyNi40QzIzMS43NTUgMjIwLjE1MiAyNDAuMTI4IDIxMy44ODcgMjQ3IDIxMy44ODdDMjUzLjg3NCAyMTMuODg3IDI1OS40NDYgMjE4Ljk1MiAyNTkuNDQ2IDIyNS4yQzI1OS40NDYgMjMxLjQ0OSAyNTMuODc0IDIzNi41MTQgMjQ3IDIzNi41MTR6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjNjU5OTAwIj4KKyAgPHBhdGggZD0iTTI0My4zNzcgMjE5LjgzQzIzOC41MzEgMjIwLjU1MiAyMzMuNDQyIDIyMi4wNTUgMjMzLjUxNCAyMjEuODM5QzIzNS4wNTQgMjE3LjIyIDI0MS40MTUgMjEzLjg4NyAyNDcgMjEzLjg4N0MyNTEuMjk2IDIxMy44ODcgMjU1LjA4NCAyMTUuODY1IDI1Ny4zMiAyMTguODc1QzI1Ny4zMiAyMTguODc1IDI1Mi4wMDQgMjE4LjU0NSAyNDMuMzc3IDIxOS44M3oiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmZmYiPgorICA8cGF0aCBkPSJNMjU1LjQgMjE5LjZDMjU1LjQgMjE5LjYgMjUxIDIxNi40IDI1MSAyMTguNkMyNTEgMjE4LjYgMjU0LjYgMjIzIDI1NS40IDIxOS42eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0yNDUuNCAyMjcuNzI2QzI0Mi45MDEgMjI3LjcyNiAyNDAuODc1IDIyNS43IDI0MC44NzUgMjIzLjJDMjQwLjg3NSAyMjAuNzAxIDI0Mi45MDEgMjE4LjY3NSAyNDUuNCAyMTguNjc1QzI0Ny45IDIxOC42NzUgMjQ5LjkyNiAyMjAuNzAxIDI0OS45MjYgMjIzLjJDMjQ5LjkyNiAyMjUuNyAyNDcuOSAyMjcuNzI2IDI0NS40IDIyNy43MjZ6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjY2M3MjI2Ij4KKyAgPHBhdGggZD0iTTE0MS40IDIxNC40QzE0MS40IDIxNC40IDEzOC4yIDE5My4yIDE0MC42IDE4OC44QzE0MC42IDE4OC44IDE1MS40IDE3OC44IDE1MSAxNzUuMkMxNTEgMTc1LjIgMTUwLjYgMTU3LjIgMTQ5LjQgMTU2LjRDMTQ4LjIgMTU1LjYgMTQwLjYgMTQ5LjYgMTM0LjYgMTU2QzEzNC42IDE1NiAxMjQuMiAxNzQgMTI1IDE4MC40TDEyNSAxODIuNEMxMjUgMTgyLjQgMTE3LjQgMTgyIDExNS44IDE4NEMxMTUuOCAxODQgMTE0LjYgMTg5LjIgMTEzLjQgMTg5LjZDMTEzLjQgMTg5LjYgMTEwLjYgMTkyIDExMi42IDE5NC44QzExMi42IDE5NC44IDExMC42IDE5Ny4yIDExMSAyMDEuMkwxMTguNiAyMDUuMkMxMTguNiAyMDUuMiAxMjAuNiAyMTkuNiAxMzEuNCAyMjQuOEMxMzYuMjM2IDIyNy4xMjkgMTM5LjQgMjIwLjQgMTQxLjQgMjE0LjR6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmZmIj4KKyAgPHBhdGggZD0iTTE0MC40IDIxMi41NkMxNDAuNCAyMTIuNTYgMTM3LjUyIDE5My40OCAxMzkuNjggMTg5LjUyQzEzOS42OCAxODkuNTIgMTQ5LjQgMTgwLjUyIDE0OS4wNCAxNzcuMjhDMTQ5LjA0IDE3Ny4yOCAxNDguNjggMTYxLjA4IDE0Ny42IDE2MC4zNkMxNDYuNTIgMTU5LjY0IDEzOS42OCAxNTQuMjQgMTM0LjI4IDE2MEMxMzQuMjggMTYwIDEyNC45MiAxNzYuMiAxMjUuNjQgMTgxLjk2TDEyNS42NCAxODMuNzZDMTI1LjY0IDE4My43NiAxMTguOCAxODMuNCAxMTcuMzYgMTg1LjJDMTE3LjM2IDE4NS4yIDExNi4yOCAxODkuODggMTE1LjIgMTkwLjI0QzExNS4yIDE5MC4yNCAxMTIuNjggMTkyLjQgMTE0LjQ4IDE5NC45MkMxMTQuNDggMTk0LjkyIDExMi42OCAxOTcuMDggMTEzLjA0IDIwMC42OEwxMTkuODggMjA0LjI4QzExOS44OCAyMDQuMjggMTIxLjY4IDIxNy4yNCAxMzEuNCAyMjEuOTJDMTM1Ljc1MiAyMjQuMDE1IDEzOC42IDIxNy45NiAxNDAuNCAyMTIuNTZ6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZWI5NTVjIj4KKyAgPHBhdGggZD0iTTE0OC45NSAxNTcuMzlDMTQ3Ljg2IDE1Ni41MyAxNDAuMzcgMTUwLjc2IDEzNC41MiAxNTdDMTM0LjUyIDE1NyAxMjQuMzggMTc0LjU1IDEyNS4xNiAxODAuNzlMMTI1LjE2IDE4Mi43NEMxMjUuMTYgMTgyLjc0IDExNy43NSAxODIuMzUgMTE2LjE5IDE4NC4zQzExNi4xOSAxODQuMyAxMTUuMDIgMTg5LjM3IDExMy44NSAxODkuNzZDMTEzLjg1IDE4OS43NiAxMTEuMTIgMTkyLjEgMTEzLjA3IDE5NC44M0MxMTMuMDcgMTk0LjgzIDExMS4xMiAxOTcuMTcgMTExLjUxIDIwMS4wN0wxMTguOTIgMjA0Ljk3QzExOC45MiAyMDQuOTcgMTIwLjg3IDIxOS4wMSAxMzEuNCAyMjQuMDhDMTM2LjExNCAyMjYuMzUgMTM5LjIgMjE5Ljc5IDE0MS4xNSAyMTMuOTRDMTQxLjE1IDIxMy45NCAxMzguMDMgMTkzLjI3IDE0MC4zNyAxODguOThDMTQwLjM3IDE4OC45OCAxNTAuOSAxNzkuMjMgMTUwLjUxIDE3NS43MkMxNTAuNTEgMTc1LjcyIDE1MC4xMiAxNTguMTcgMTQ4Ljk1IDE1Ny4zOXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmMmI4OTIiPgorICA8cGF0aCBkPSJNMTQ4LjUgMTU4LjM4QzE0Ny41MiAxNTcuNDYgMTQwLjE0IDE1MS45MiAxMzQuNDQgMTU4QzEzNC40NCAxNTggMTI0LjU2IDE3NS4xIDEyNS4zMiAxODEuMThMMTI1LjMyIDE4My4wOEMxMjUuMzIgMTgzLjA4IDExOC4xIDE4Mi43IDExNi41OCAxODQuNkMxMTYuNTggMTg0LjYgMTE1LjQ0IDE4OS41NCAxMTQuMyAxODkuOTJDMTE0LjMgMTg5LjkyIDExMS42NCAxOTIuMiAxMTMuNTQgMTk0Ljg2QzExMy41NCAxOTQuODYgMTExLjY0IDE5Ny4xNCAxMTIuMDIgMjAwLjk0TDExOS4yNCAyMDQuNzRDMTE5LjI0IDIwNC43NCAxMjEuMTQgMjE4LjQyIDEzMS40IDIyMy4zNkMxMzUuOTk0IDIyNS41NzIgMTM5IDIxOS4xOCAxNDAuOSAyMTMuNDhDMTQwLjkgMjEzLjQ4IDEzNy44NiAxOTMuMzQgMTQwLjE0IDE4OS4xNkMxNDAuMTQgMTg5LjE2IDE1MC40IDE3OS42NiAxNTAuMDIgMTc2LjI0QzE1MC4wMiAxNzYuMjQgMTQ5LjY0IDE1OS4xNCAxNDguNSAxNTguMzh6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZjhkY2M4Ij4KKyAgPHBhdGggZD0iTTE0OC4wNSAxNTkuMzdDMTQ3LjE4IDE1OC4zOSAxMzkuOTEgMTUzLjA4IDEzNC4zNiAxNTlDMTM0LjM2IDE1OSAxMjQuNzQgMTc1LjY1IDEyNS40OCAxODEuNTdMMTI1LjQ4IDE4My40MkMxMjUuNDggMTgzLjQyIDExOC40NSAxODMuMDUgMTE2Ljk3IDE4NC45QzExNi45NyAxODQuOSAxMTUuODYgMTg5LjcxIDExNC43NSAxOTAuMDhDMTE0Ljc1IDE5MC4wOCAxMTIuMTYgMTkyLjMgMTE0LjAxIDE5NC44OUMxMTQuMDEgMTk0Ljg5IDExMi4xNiAxOTcuMTEgMTEyLjUzIDIwMC44MUwxMTkuNTYgMjA0LjUxQzExOS41NiAyMDQuNTEgMTIxLjQxIDIxNy44MyAxMzEuNCAyMjIuNjRDMTM1Ljg3MyAyMjQuNzk0IDEzOC44IDIxOC41NyAxNDAuNjUgMjEzLjAyQzE0MC42NSAyMTMuMDIgMTM3LjY5IDE5My40MSAxMzkuOTEgMTg5LjM0QzEzOS45MSAxODkuMzQgMTQ5LjkgMTgwLjA5IDE0OS41MyAxNzYuNzZDMTQ5LjUzIDE3Ni43NiAxNDkuMTYgMTYwLjExIDE0OC4wNSAxNTkuMzd6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmZmIj4KKyAgPHBhdGggZD0iTTE0MC40IDIxMi40NkMxNDAuNCAyMTIuNDYgMTM3LjUyIDE5My40OCAxMzkuNjggMTg5LjUyQzEzOS42OCAxODkuNTIgMTQ5LjQgMTgwLjUyIDE0OS4wNCAxNzcuMjhDMTQ5LjA0IDE3Ny4yOCAxNDguNjggMTYxLjA4IDE0Ny42IDE2MC4zNkMxNDYuODQgMTU5LjMyIDEzOS42OCAxNTQuMjQgMTM0LjI4IDE2MEMxMzQuMjggMTYwIDEyNC45MiAxNzYuMiAxMjUuNjQgMTgxLjk2TDEyNS42NCAxODMuNzZDMTI1LjY0IDE4My43NiAxMTguOCAxODMuNCAxMTcuMzYgMTg1LjJDMTE3LjM2IDE4NS4yIDExNi4yOCAxODkuODggMTE1LjIgMTkwLjI0QzExNS4yIDE5MC4yNCAxMTIuNjggMTkyLjQgMTE0LjQ4IDE5NC45MkMxMTQuNDggMTk0LjkyIDExMi42OCAxOTcuMDggMTEzLjA0IDIwMC42OEwxMTkuODggMjA0LjI4QzExOS44OCAyMDQuMjggMTIxLjY4IDIxNy4yNCAxMzEuNCAyMjEuOTJDMTM1Ljc1MiAyMjQuMDE1IDEzOC42IDIxNy44NiAxNDAuNCAyMTIuNDZ6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjY2NjY2NjIj4KKyAgPHBhdGggZD0iTTEzNy4zIDIwNi4yQzEzNy4zIDIwNi4yIDExNS43IDE5NiAxMTQuOCAxOTUuMkMxMTQuOCAxOTUuMiAxMjMuOSAyMDMuNCAxMjQuNyAyMDMuNEMxMjUuNSAyMDMuNCAxMzcuMyAyMDYuMiAxMzcuMyAyMDYuMnoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICMwMDAwMDAiPgorICA8cGF0aCBkPSJNMTIwLjIgMjAwQzEyMC4yIDIwMCAxMzguNiAyMDMuNiAxMzguNiAyMDhDMTM4LjYgMjEwLjkxMiAxMzguMzU3IDIyNC4zMzEgMTMzIDIyMi44QzEyNC42IDIyMC40IDEyOC4yIDIwNiAxMjAuMiAyMDB6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjOTljYzMyIj4KKyAgPHBhdGggZD0iTTEyOC42IDIwMy44QzEyOC42IDIwMy44IDEzNy41NzggMjA1LjI3NCAxMzguNiAyMDhDMTM5LjIgMjA5LjYgMTM5Ljg2MyAyMTcuOTA4IDEzNC40IDIxOUMxMjkuODQ4IDIxOS45MTEgMTI3LjYxOCAyMDkuNjkgMTI4LjYgMjAzLjh6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjMDAwMDAwIj4KKyAgPHBhdGggZD0iTTIxNC41OTUgMjQ2LjM0OUMyMTQuMDk4IDI0NC42MDcgMjE1LjQwOSAyNDQuNzM4IDIxNy4yIDI0NC4yQzIxOS4yIDI0My42IDIzMS40IDIzOS44IDIzMi4yIDIzNy4yQzIzMyAyMzQuNiAyNDYuMiAyMzkgMjQ2LjIgMjM5QzI0OCAyMzkuOCAyNTIuNCAyNDIuNCAyNTIuNCAyNDIuNEMyNTcuMiAyNDMuNiAyNjMuOCAyNDQgMjYzLjggMjQ0QzI2Ni4yIDI0NSAyNjkuNiAyNDcuOCAyNjkuNiAyNDcuOEMyODQuMiAyNTggMjk2LjYwMSAyNTAuOCAyOTYuNjAxIDI1MC44QzMxNi42MDEgMjQ0LjIgMzEwLjYwMSAyMjcgMzEwLjYwMSAyMjdDMzA3LjYwMSAyMTggMzEwLjgwMSAyMTQuNiAzMTAuODAxIDIxNC42QzMxMS4wMDEgMjEwLjggMzE4LjIwMSAyMTcuMiAzMTguMjAxIDIxNy4yQzMyMC44MDEgMjIxLjQgMzIxLjYwMSAyMjYuNCAzMjEuNjAxIDIyNi40QzMyOS42MDEgMjM3LjYgMzI2LjIwMSAyMTkuOCAzMjYuMjAxIDIxOS44QzMyNi40MDEgMjE4LjggMzIzLjYwMSAyMTUuMiAzMjMuNjAxIDIxNEMzMjMuNjAxIDIxMi44IDMyMS44MDEgMjA5LjQgMzIxLjgwMSAyMDkuNEMzMTguODAxIDIwNiAzMjEuMjAxIDE5OSAzMjEuMjAxIDE5OUMzMjMuMDAxIDE4NS4yIDMyMC44MDEgMTg3IDMyMC44MDEgMTg3QzMxOS42MDEgMTg1LjIgMzEwLjQwMSAxOTUuMiAzMTAuNDAxIDE5NS4yQzMwOC4yMDEgMTk4LjYgMzAyLjIwMSAyMDAuMiAzMDIuMjAxIDIwMC4yQzI5OS40MDEgMjAyIDI5Ni4wMDEgMjAwLjYgMjk2LjAwMSAyMDAuNkMyOTMuNDAxIDIwMC4yIDI4Ny44MDEgMjA3LjIgMjg3LjgwMSAyMDcuMkMyOTAuNjAxIDIwNyAyOTMuMDAxIDIxMS40IDI5NS40MDEgMjExLjZDMjk3LjgwMSAyMTEuOCAyOTkuNjAxIDIwOS4yIDMwMS4yMDEgMjA4LjZDMzAyLjgwMSAyMDggMzA1LjYwMSAyMTMuOCAzMDUuNjAxIDIxMy44QzMwNi4wMDEgMjE2LjQgMzAwLjQwMSAyMjEuMiAzMDAuNDAxIDIyMS4yQzMwMC4wMDEgMjI1LjggMjk4LjQwMSAyMjQuMiAyOTguNDAxIDIyNC4yQzI5NS40MDEgMjIzLjYgMjk0LjIwMSAyMjcuNCAyOTMuMjAxIDIzMkMyOTIuMjAxIDIzNi42IDI4OC4wMDEgMjM3IDI4OC4wMDEgMjM3QzI4Ni40MDEgMjQ0LjQgMjg1LjIgMjQxLjQgMjg1LjIgMjQxLjRDMjg1IDIzNS44IDI3OSAyNDEuNiAyNzkgMjQxLjZDMjc3LjggMjQzLjYgMjczLjIgMjQxLjQgMjczLjIgMjQxLjRDMjY2LjQgMjM5LjQgMjY4LjggMjM3LjQgMjY4LjggMjM3LjRDMjcwLjYgMjM1LjIgMjgxLjggMjM3LjQgMjgxLjggMjM3LjRDMjg0IDIzNS44IDI3NiAyMzEuOCAyNzYgMjMxLjhDMjc1LjQgMjMwIDI3Ni40IDIyNS42IDI3Ni40IDIyNS42QzI3Ny42IDIyMi40IDI4NC40IDIxNi44IDI4NC40IDIxNi44QzI5My44MDEgMjE1LjYgMjkxLjAwMSAyMTQgMjkxLjAwMSAyMTRDMjg0LjgwMSAyMDguOCAyNzkgMjE2LjQgMjc5IDIxNi40QzI3Ni44IDIyMi42IDI1OS40IDIzNy42IDI1OS40IDIzNy42QzI1NC42IDI0MSAyNTcuMiAyMzQuMiAyNTMuMiAyMzcuNkMyNDkuMiAyNDEgMjI4LjYgMjMyIDIyOC42IDIzMkMyMTcuMDM4IDIzMC44MDcgMjE0LjMwNiAyNDYuNTQ5IDIxMC43NzcgMjQzLjQyOUMyMTAuNzc3IDI0My40MjkgMjE2LjE5NSAyNTEuOTQ5IDIxNC41OTUgMjQ2LjM0OXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICMwMDAwMDAiPgorICA8cGF0aCBkPSJNNDA5LjQwMSA4MEM0MDkuNDAxIDgwIDM4My44MDEgODggMzgxLjAwMSAxMDYuOEMzODEuMDAxIDEwNi44IDM3OC42MDEgMTI5LjYgMzk5LjAwMSAxNDcuMkMzOTkuMDAxIDE0Ny4yIDM5OS40MDEgMTUzLjYgNDAxLjQwMSAxNTYuOEM0MDEuNDAxIDE1Ni44IDM5OS44MDEgMTYxLjYgNDE4LjYwMSAxNTRMNDQ1LjgwMSAxNDUuNkM0NDUuODAxIDE0NS42IDQ1Mi4yMDEgMTQzLjIgNDU3LjQwMSAxMzQuNEM0NjIuNjAxIDEyNS42IDQ3Ny44MDEgMTA2LjggNDc0LjIwMSA4MS42QzQ3NC4yMDEgODEuNiA0NzUuNDAxIDcwLjQgNDY5LjQwMSA3MEM0NjkuNDAxIDcwIDQ2MS4wMDEgNjguNCA0NTMuODAxIDc2QzQ1My44MDEgNzYgNDQ3LjAwMSA3OS4yIDQ0NC42MDEgNzguOEw0MDkuNDAxIDgweiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik00NjQuMDIyIDc5LjAxQzQ2NC4wMjIgNzkuMDEgNDY2LjEyMiA3MC4wOCA0NjEuMjgyIDc0LjkyQzQ2MS4yODIgNzQuOTIgNDU0LjI0MiA4MC42NCA0NDYuNzYxIDgwLjY0QzQ0Ni43NjEgODAuNjQgNDMyLjI0MSA4Mi44NCA0MjcuODQxIDk2LjA0QzQyNy44NDEgOTYuMDQgNDIzLjg4MSAxMjIuODggNDMxLjgwMSAxMjguNkM0MzEuODAxIDEyOC42IDQzNi42NDEgMTM2LjA4IDQ0My42ODEgMTI5LjQ4QzQ1MC43MjIgMTIyLjg4IDQ2Ni4yMjIgOTIuNjUgNDY0LjAyMiA3OS4wMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICMzMjMyMzIiPgorICA8cGF0aCBkPSJNNDYzLjY0OCA3OS4zNjhDNDYzLjY0OCA3OS4zNjggNDY1LjczOCA3MC42MjQgNDYwLjk4NiA3NS4zNzZDNDYwLjk4NiA3NS4zNzYgNDU0LjA3NCA4MC45OTIgNDQ2LjcyOSA4MC45OTJDNDQ2LjcyOSA4MC45OTIgNDMyLjQ3MyA4My4xNTIgNDI4LjE1MyA5Ni4xMTJDNDI4LjE1MyA5Ni4xMTIgNDI0LjI2NSAxMjIuNDY0IDQzMi4wNDEgMTI4LjA4QzQzMi4wNDEgMTI4LjA4IDQzNi43OTMgMTM1LjQyNCA0NDMuNzA1IDEyOC45NDRDNDUwLjYxOCAxMjIuNDY0IDQ2NS44MDggOTIuNzYgNDYzLjY0OCA3OS4zNjh6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjNjY2NjY2Ij4KKyAgPHBhdGggZD0iTTQ2My4yNzQgNzkuNzI2QzQ2My4yNzQgNzkuNzI2IDQ2NS4zNTQgNzEuMTY4IDQ2MC42OSA3NS44MzJDNDYwLjY5IDc1LjgzMiA0NTMuOTA2IDgxLjM0NCA0NDYuNjk3IDgxLjM0NEM0NDYuNjk3IDgxLjM0NCA0MzIuNzA1IDgzLjQ2NCA0MjguNDY1IDk2LjE4NEM0MjguNDY1IDk2LjE4NCA0MjQuNjQ5IDEyMi4wNDggNDMyLjI4MSAxMjcuNTZDNDMyLjI4MSAxMjcuNTYgNDM2Ljk0NSAxMzQuNzY4IDQ0My43MjkgMTI4LjQwOEM0NTAuNTE0IDEyMi4wNDggNDY1LjM5NCA5Mi44NyA0NjMuMjc0IDc5LjcyNnoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICM5OTk5OTkiPgorICA8cGF0aCBkPSJNNDYyLjkgODAuMDg0QzQ2Mi45IDgwLjA4NCA0NjQuOTcgNzEuNzEyIDQ2MC4zOTQgNzYuMjg4QzQ2MC4zOTQgNzYuMjg4IDQ1My43MzggODEuNjk2IDQ0Ni42NjUgODEuNjk2QzQ0Ni42NjUgODEuNjk2IDQzMi45MzcgODMuNzc2IDQyOC43NzcgOTYuMjU2QzQyOC43NzcgOTYuMjU2IDQyNS4wMzMgMTIxLjYzMiA0MzIuNTIxIDEyNy4wNEM0MzIuNTIxIDEyNy4wNCA0MzcuMDk3IDEzNC4xMTIgNDQzLjc1MyAxMjcuODcyQzQ1MC40MSAxMjEuNjMyIDQ2NC45OCA5Mi45OCA0NjIuOSA4MC4wODR6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjY2NjY2NjIj4KKyAgPHBhdGggZD0iTTQ2Mi41MjYgODAuNDQyQzQ2Mi41MjYgODAuNDQyIDQ2NC41ODYgNzIuMjU2IDQ2MC4wOTggNzYuNzQ0QzQ2MC4wOTggNzYuNzQ0IDQ1My41NjkgODIuMDQ4IDQ0Ni42MzMgODIuMDQ4QzQ0Ni42MzMgODIuMDQ4IDQzMy4xNjkgODQuMDg4IDQyOS4wODkgOTYuMzI4QzQyOS4wODkgOTYuMzI4IDQyNS40MTcgMTIxLjIxNiA0MzIuNzYxIDEyNi41MkM0MzIuNzYxIDEyNi41MiA0MzcuMjQ5IDEzMy40NTYgNDQzLjc3NyAxMjcuMzM2QzQ1MC4zMDUgMTIxLjIxNiA0NjQuNTY2IDkzLjA5IDQ2Mi41MjYgODAuNDQyeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZmZiI+CisgIDxwYXRoIGQ9Ik00NjIuMTUxIDgwLjhDNDYyLjE1MSA4MC44IDQ2NC4yMDEgNzIuOCA0NTkuODAxIDc3LjJDNDU5LjgwMSA3Ny4yIDQ1My40MDEgODIuNCA0NDYuNjAxIDgyLjRDNDQ2LjYwMSA4Mi40IDQzMy40MDEgODQuNCA0MjkuNDAxIDk2LjRDNDI5LjQwMSA5Ni40IDQyNS44MDEgMTIwLjggNDMzLjAwMSAxMjZDNDMzLjAwMSAxMjYgNDM3LjQwMSAxMzIuOCA0NDMuODAxIDEyNi44QzQ1MC4yMDEgMTIwLjggNDY0LjE1MSA5My4yIDQ2Mi4xNTEgODAuOHoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICM5OTI2MDAiPgorICA8cGF0aCBkPSJNMjUwLjYgMjg0QzI1MC42IDI4NCAyMzAuMiAyNjQuOCAyMjIuMiAyNjRDMjIyLjIgMjY0IDE4Ny44IDI2MCAxNzMgMjc4QzE3MyAyNzggMTkwLjYgMjU3LjYgMjE4LjIgMjYzLjJDMjE4LjIgMjYzLjIgMTk2LjYgMjU4LjggMTg0LjIgMjYyQzE4NC4yIDI2MiAxNjcuNCAyNjIgMTU3LjggMjc2TDE1NSAyODAuOEMxNTUgMjgwLjggMTU5IDI2NiAxNzcuNCAyNjBDMTc3LjQgMjYwIDIwMC4yIDI1NS4yIDIxMSAyNjBDMjExIDI2MCAxODkuNCAyNTMuMiAxNzkuNCAyNTUuMkMxNzkuNCAyNTUuMiAxNDkgMjUyLjggMTM2LjIgMjc5LjJDMTM2LjIgMjc5LjIgMTQwLjIgMjY0LjggMTU1IDI1Ny42QzE1NSAyNTcuNiAxNjguNiAyNDguOCAxODkgMjUxLjZDMTg5IDI1MS42IDIwMy40IDI1NC44IDIwOC42IDI1Ny4yQzIxMy44IDI1OS42IDIxMi42IDI1Ni44IDIwNC4yIDI1MkMyMDQuMiAyNTIgMTk4LjYgMjQyIDE4NC42IDI0Mi40QzE4NC42IDI0Mi40IDE0MS44IDI0NiAxMzEuNCAyNThDMTMxLjQgMjU4IDE0NSAyNDYuOCAxNTUuNCAyNDRDMTU1LjQgMjQ0IDE3Ny44IDIzNiAxODYuMiAyMzYuOEMxODYuMiAyMzYuOCAyMTEgMjM3LjggMjE4LjYgMjMzLjhDMjE4LjYgMjMzLjggMjA3LjQgMjM4LjggMjEwLjYgMjQyQzIxMy44IDI0NS4yIDIyMC42IDI1Mi44IDIyMC42IDI1NEMyMjAuNiAyNTUuMiAyNDQuOCAyNzcuMyAyNDguNCAyODEuN0wyNTAuNiAyODR6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjY2NjY2NjIj4KKyAgPHBhdGggZD0iTTM4OSA0NzhDMzg5IDQ3OCAzNzMuNSA0NDEuNSAzNjEgNDMyQzM2MSA0MzIgMzg3IDQ0OCAzOTAuNSA0NjZDMzkwLjUgNDY2IDM5MC41IDQ3NiAzODkgNDc4eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2NjY2NjYyI+CisgIDxwYXRoIGQ9Ik00MzYgNDg1LjVDNDM2IDQ4NS41IDQwOS41IDQzMC41IDM5MSA0MDYuNUMzOTEgNDA2LjUgNDM0LjUgNDQ0IDQzOS41IDQ3MC41TDQ0MCA0NzZMNDM3IDQ3My41QzQzNyA0NzMuNSA0MzYuNSA0ODIuNSA0MzYgNDg1LjV6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjY2NjY2NjIj4KKyAgPHBhdGggZD0iTTQ5Mi41IDQzN0M0OTIuNSA0MzcgNDMwIDM3Ny41IDQyOC41IDM3NUM0MjguNSAzNzUgNDg5IDQ0MSA0OTIgNDQ4LjVDNDkyIDQ0OC41IDQ5MCA0MzkuNSA0OTIuNSA0Mzd6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjY2NjY2NjIj4KKyAgPHBhdGggZD0iTTMwNCA0ODAuNUMzMDQgNDgwLjUgMzIzLjUgNDI4LjUgMzQyLjUgNDUxQzM0Mi41IDQ1MSAzNTcuNSA0NjEgMzU3IDQ2NEMzNTcgNDY0IDM1MyA0NTcuNSAzMzUgNDU4QzMzNSA0NTggMzE2IDQ1NSAzMDQgNDgwLjV6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjY2NjY2NjIj4KKyAgPHBhdGggZD0iTTQ5NC41IDM1M0M0OTQuNSAzNTMgNDQ5LjUgMzI0LjUgNDQyIDMyM0M0MzAuMTkzIDMyMC42MzkgNDkxLjUgMzUyIDQ5Ni41IDM2Mi41QzQ5Ni41IDM2Mi41IDQ5OC41IDM2MCA0OTQuNSAzNTN6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjMDAwMDAwIj4KKyAgPHBhdGggZD0iTTM0My44MDEgNDU5LjYwMUMzNDMuODAxIDQ1OS42MDEgMzY0LjIwMSA0NTcuNjAxIDM3MS4wMDEgNDUwLjgwMUwzNzUuNDAxIDQ1NC40MDFMMzkzLjAwMSA0MTYuMDAxTDM5Ni42MDEgNDIxLjIwMUMzOTYuNjAxIDQyMS4yMDEgNDExLjAwMSA0MDYuNDAxIDQxMC4yMDEgMzk4LjQwMUM0MDkuNDAxIDM5MC40MDEgNDIzLjAwMSA0MDQuNDAxIDQyMy4wMDEgNDA0LjQwMUM0MjMuMDAxIDQwNC40MDEgNDIyLjIwMSAzOTIuODAxIDQyOS40MDEgMzk5LjYwMUM0MjkuNDAxIDM5OS42MDEgNDI3LjAwMSAzODQuMDAxIDQzNS40MDEgMzkyLjAwMUM0MzUuNDAxIDM5Mi4wMDEgNDI0Ljg2NCAzNjEuODQ0IDQ0Ny40MDEgMzg3LjYwMUM0NTMuMDAxIDM5NC4wMDEgNDQ4LjYwMSAzODcuMjAxIDQ0OC42MDEgMzg3LjIwMUM0NDguNjAxIDM4Ny4yMDEgNDIyLjYwMSAzMzkuMjAxIDQ0NC4yMDEgMzUzLjYwMUM0NDQuMjAxIDM1My42MDEgNDQ2LjIwMSAzMzAuODAxIDQ0NS4wMDEgMzI2LjQwMUM0NDMuODAxIDMyMi4wMDEgNDQxLjgwMSAyOTkuNiA0MzcuMDAxIDI5NC40QzQzMi4yMDEgMjg5LjIgNDM3LjQwMSAyODcuNiA0NDMuMDAxIDI5Mi44QzQ0My4wMDEgMjkyLjggNDMxLjgwMSAyNjguOCA0NDUuMDAxIDI4MC44QzQ0NS4wMDEgMjgwLjggNDQxLjQwMSAyNjUuNiA0MzcuMDAxIDI2Mi44QzQzNy4wMDEgMjYyLjggNDMxLjQwMSAyNDUuNiA0NDYuNjAxIDI1Ni40QzQ0Ni42MDEgMjU2LjQgNDQyLjIwMSAyNDQgNDM5LjAwMSAyNDAuOEM0MzkuMDAxIDI0MC44IDQyNy40MDEgMjEzLjIgNDM0LjYwMSAyMThMNDM5LjAwMSAyMjEuNkM0MzkuMDAxIDIyMS42IDQzMi4yMDEgMjA3LjYgNDM4LjYwMSAyMTJDNDQ1LjAwMSAyMTYuNCA0NDUuMDAxIDIxNiA0NDUuMDAxIDIxNkM0NDUuMDAxIDIxNiA0MjMuODAxIDE4Mi44IDQ0NC4yMDEgMjAwLjRDNDQ0LjIwMSAyMDAuNCA0MzYuMDQyIDE4Ni40ODIgNDMyLjYwMSAxNzkuNkM0MzIuNjAxIDE3OS42IDQxMy44MDEgMTU5LjIgNDI4LjIwMSAxNjUuNkw0MzMuMDAxIDE2Ny4yQzQzMy4wMDEgMTY3LjIgNDI0LjIwMSAxNTcuMiA0MTYuMjAxIDE1NS42QzQwOC4yMDEgMTU0IDQxOC42MDEgMTQ3LjYgNDI1LjAwMSAxNDkuNkM0MzEuNDAxIDE1MS42IDQ0Ny4wMDEgMTU5LjIgNDQ3LjAwMSAxNTkuMkM0NDcuMDAxIDE1OS4yIDQ1OS44MDEgMTc4IDQ2My44MDEgMTc4LjRDNDYzLjgwMSAxNzguNCA0NDMuODAxIDE3MC44IDQ0OS44MDEgMTc4LjhDNDQ5LjgwMSAxNzguOCA0NjQuMjAxIDE5Mi44IDQ1Ny4wMDEgMTkyLjRDNDU3LjAwMSAxOTIuNCA0NTEuMDAxIDE5OS42IDQ1NS44MDEgMjA4LjRDNDU1LjgwMSAyMDguNCA0MzcuMzQyIDE5MC4wMDkgNDUyLjIwMSAyMTUuNkw0NTkuMDAxIDIzMkM0NTkuMDAxIDIzMiA0MzQuNjAxIDIwNy4yIDQ0NS44MDEgMjI5LjJDNDQ1LjgwMSAyMjkuMiA0NjMuMDAxIDI1Mi44IDQ2NS4wMDEgMjUzLjJDNDY3LjAwMSAyNTMuNiA0NzEuNDAxIDI2Mi40IDQ3MS40MDEgMjYyLjRMNDY3LjAwMSAyNjAuNEw0NzIuMjAxIDI2OS4yQzQ3Mi4yMDEgMjY5LjIgNDYxLjAwMSAyNTcuMiA0NjcuMDAxIDI3MC40TDQ3Mi42MDEgMjg0LjhDNDcyLjYwMSAyODQuOCA0NTIuMjAxIDI2Mi44IDQ2NS44MDEgMjkyLjRDNDY1LjgwMSAyOTIuNCA0NDkuNDAxIDI4Ny4yIDQ1OC4yMDEgMzA0LjRDNDU4LjIwMSAzMDQuNCA0NTYuNjAxIDMyMC40MDEgNDU3LjAwMSAzMjUuNjAxQzQ1Ny40MDEgMzMwLjgwMSA0NTguNjAxIDM1OS4yMDEgNDU0LjIwMSAzNjcuMjAxQzQ0OS44MDEgMzc1LjIwMSA0NjAuMjAxIDM5NC40MDEgNDYyLjIwMSAzOTguNDAxQzQ2NC4yMDEgNDAyLjQwMSA0NjcuODAxIDQxMy4yMDEgNDU5LjAwMSA0MDQuMDAxQzQ1MC4yMDEgMzk0LjgwMSA0NTQuNjAxIDQwMC40MDEgNDU2LjYwMSA0MDkuMjAxQzQ1OC42MDEgNDE4LjAwMSA0NjQuNjAxIDQzMy42MDEgNDYzLjgwMSA0MzkuMjAxQzQ2My44MDEgNDM5LjIwMSA0NjIuNjAxIDQ0MC40MDEgNDU5LjQwMSA0MzYuODAxQzQ1OS40MDEgNDM2LjgwMSA0NDQuNjAxIDQxNC4wMDEgNDQ2LjIwMSA0MjguNDAxQzQ0Ni4yMDEgNDI4LjQwMSA0NDUuMDAxIDQzNi40MDEgNDQxLjgwMSA0NDUuMjAxQzQ0MS44MDEgNDQ1LjIwMSA0MzguNjAxIDQ1Ni4wMDEgNDM4LjYwMSA0NDcuMjAxQzQzOC42MDEgNDQ3LjIwMSA0MzUuNDAxIDQzMC40MDEgNDMyLjYwMSA0MzguMDAxQzQyOS44MDEgNDQ1LjYwMSA0MjYuMjAxIDQ1MS42MDEgNDIzLjQwMSA0NTQuMDAxQzQyMC42MDEgNDU2LjQwMSA0MTUuNDAxIDQzMy42MDEgNDE0LjIwMSA0NDQuMDAxQzQxNC4yMDEgNDQ0LjAwMSA0MDIuMjAxIDQzMS42MDEgMzk3LjQwMSA0NDguMDAxTDM4NS44MDEgNDY0LjQwMUMzODUuODAxIDQ2NC40MDEgMzg1LjQwMSA0NTIuMDAxIDM4NC4yMDEgNDU4LjAwMUMzODQuMjAxIDQ1OC4wMDEgMzU0LjIwMSA0NjQuMDAxIDM0My44MDEgNDU5LjYwMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICMwMDAwMDAiPgorICA8cGF0aCBkPSJNMzA5LjQwMSAxMDIuOEMzMDkuNDAxIDEwMi44IDI5Ny44MDEgOTQuOCAyOTMuODAxIDk1LjJDMjg5LjgwMSA5NS42IDMyMS40MDEgODYuNCAzNjIuNjAxIDExNEMzNjIuNjAxIDExNCAzNjcuNDAxIDExNi44IDM3MS4wMDEgMTE2LjRDMzcxLjAwMSAxMTYuNCAzNzQuMjAxIDExOC44IDM3MS40MDEgMTIyLjRDMzcxLjQwMSAxMjIuNCAzNjIuNjAxIDEzMiAzNzMuODAxIDE0My4yQzM3My44MDEgMTQzLjIgMzkyLjIwMSAxNTAgMzg2LjYwMSAxNDEuMkMzODYuNjAxIDE0MS4yIDM5Ny40MDEgMTQ1LjIgMzk5LjgwMSAxNDkuMkM0MDIuMjAxIDE1My4yIDQwMS4wMDEgMTQ5LjIgNDAxLjAwMSAxNDkuMkM0MDEuMDAxIDE0OS4yIDM5NC42MDEgMTQyIDM4OC42MDEgMTM2LjhDMzg4LjYwMSAxMzYuOCAzODMuNDAxIDEzNC44IDM4MC42MDEgMTI2LjRDMzc3LjgwMSAxMTggMzc1LjQwMSAxMDggMzc5LjgwMSAxMDQuOEMzNzkuODAxIDEwNC44IDM3NS44MDEgMTA5LjIgMzc2LjYwMSAxMDUuMkMzNzcuNDAxIDEwMS4yIDM4MS4wMDEgOTcuNiAzODIuNjAxIDk3LjJDMzg0LjIwMSA5Ni44IDQwMC42MDEgODEgNDA3LjQwMSA4MC42QzQwNy40MDEgODAuNiAzOTguMjAxIDgyIDM5NS4yMDEgODFDMzkyLjIwMSA4MCAzNjUuNjAxIDY4LjYgMzU5LjYwMSA2Ny40QzM1OS42MDEgNjcuNCAzNDIuODAxIDYwLjggMzU0LjgwMSA2Mi44QzM1NC44MDEgNjIuOCAzOTAuNjAxIDY2LjYgNDA4LjgwMSA3OS44QzQwOC44MDEgNzkuOCA0MDEuNjAxIDcxLjQgMzgzLjIwMSA2NC40QzM4My4yMDEgNjQuNCAzNjEuMDAxIDUxLjggMzI1LjgwMSA1Ni44QzMyNS44MDEgNTYuOCAzMDguMDAxIDYwIDMwMC4yMDEgNjEuOEMzMDAuMjAxIDYxLjggMjk3LjYwMSA2MS4yIDI5Ny4wMDEgNjAuOEMyOTYuNDAxIDYwLjQgMjg0LjYgNTEuNCAyNTcgNTguNEMyNTcgNTguNCAyNDAgNjMgMjMxLjQgNjcuOEMyMzEuNCA2Ny44IDIxNi4yIDY5IDIxMi42IDcyLjJDMjEyLjYgNzIuMiAxOTQgODYuOCAxOTIgODcuNkMxOTAgODguNCAxNzguNiA5NiAxNzcuOCA5Ni40QzE3Ny44IDk2LjQgMjAyLjQgODkuOCAyMDQuOCA4Ny40QzIwNy4yIDg1IDIyNC42IDgyLjQgMjI3IDgzLjhDMjI5LjQgODUuMiAyMzcuOCA4NC42IDIyOC4yIDg1LjJDMjI4LjIgODUuMiAzMDMuODAxIDEwMCAzMDQuNjAxIDEwMkMzMDUuNDAxIDEwNCAzMDkuNDAxIDEwMi44IDMwOS40MDEgMTAyLjh6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjY2M3MjI2Ij4KKyAgPHBhdGggZD0iTTM4MC44MDEgOTMuNkMzODAuODAxIDkzLjYgMzcwLjYwMSA4Ni4yIDM2OC42MDEgODYuMkMzNjYuNjAxIDg2LjIgMzU0LjIwMSA3NiAzNTAuMDAxIDc2LjRDMzQ1LjgwMSA3Ni44IDMzMy42MDEgNjYuOCAzMDYuMjAxIDc1QzMwNi4yMDEgNzUgMzA1LjYwMSA3MyAzMDkuMjAxIDcyLjJDMzA5LjIwMSA3Mi4yIDMxNS42MDEgNzAgMzE2LjAwMSA2OS40QzMxNi4wMDEgNjkuNCAzMzYuMjAxIDY1LjIgMzQzLjQwMSA2OC44QzM0My40MDEgNjguOCAzNTIuNjAxIDcxLjQgMzU4LjgwMSA3Ny42QzM1OC44MDEgNzcuNiAzNzAuMDAxIDgwLjggMzczLjIwMSA3OS44QzM3My4yMDEgNzkuOCAzODIuMDAxIDgyIDM4Mi40MDEgODMuOEMzODIuNDAxIDgzLjggMzg4LjIwMSA4Ni44IDM4Ni40MDEgODkuNEMzODYuNDAxIDg5LjQgMzg2LjgwMSA5MSAzODAuODAxIDkzLjZ6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjY2M3MjI2Ij4KKyAgPHBhdGggZD0iTTM2OC4zMyA5MS40OTFDMzY5LjEzNyA5Mi4xMjMgMzcwLjE1NiA5Mi4yMjEgMzcwLjc2MSA5My4wM0MzNzAuOTk1IDkzLjM0NCAzNzAuNzA2IDkzLjY3IDM3MC4zOTEgOTMuNzY3QzM2OS4zNDggOTQuMDg0IDM2OC4yOTIgOTMuNTE0IDM2Ny4xNSA5NC4xMDJDMzY2Ljc0OCA5NC4zMDkgMzY2LjEwNiA5NC4xMjcgMzY1LjU1MyA5My45NzhDMzYzLjkyMSA5My41MzcgMzYyLjA5MiA5My41MTIgMzYwLjQwMSA5NC4yQzM1OC40MTYgOTMuMDcxIDM1Ni4wNTYgOTMuNjU1IDM1My45NzUgOTIuNjU0QzM1My45MTcgOTIuNjI3IDM1My42OTUgOTIuOTczIDM1My42MjEgOTIuOTQ2QzM1MC41NzUgOTEuODAxIDM0Ni44MzIgOTIuMDg0IDM0NC40MDEgODkuOEMzNDEuOTczIDg5LjM4OCAzMzkuNjE2IDg4LjkyNiAzMzcuMTg4IDg4LjI0NkMzMzUuMzcgODcuNzM3IDMzMy45NjEgODYuNzQ4IDMzMi4zNDEgODUuOTE2QzMzMC45NjQgODUuMjA4IDMyOS41MDcgODQuNjg2IDMyNy45NzMgODQuMzE0QzMyNi4xMSA4My44NjIgMzI0LjI3OSA4My45NzQgMzIyLjM4NiA4My40NTRDMzIyLjI5MyA4My40MjkgMzIyLjEwMSA4My43NzMgMzIyLjAxOSA4My43NDZDMzIxLjY5NSA4My42MzggMzIxLjQwNSA4My4wNTUgMzIxLjIzNCA4My4xMDhDMzE5LjU1MyA4My42MyAzMTguMDY1IDgyLjY1OCAzMTYuNDAxIDgzQzMxNS4yMjMgODEuNzc2IDMxMy40OTUgODIuMDIxIDMxMS45NDkgODEuNTc5QzMwOC45ODUgODAuNzMxIDMwNS44MzEgODIuMDAxIDMwMi44MDEgODFDMzA2LjkxNCA3OS4xNTggMzExLjYwMSA4MC4zOSAzMTUuNjYzIDc4LjMyMUMzMTcuOTkxIDc3LjEzNSAzMjAuNjUzIDc4LjIzNyAzMjMuMjIzIDc3LjQ3N0MzMjMuNzEgNzcuMzMzIDMyNC40MDEgNzcuMTMxIDMyNC44MDEgNzcuOEMzMjQuOTM1IDc3LjY2NSAzMjUuMTE3IDc3LjQyNiAzMjUuMTc1IDc3LjQ1NEMzMjcuNjI1IDc4LjYxMSAzMjkuOTQgNzkuODg1IDMzMi40MjIgODAuOTUxQzMzMi43NjMgODEuMDk3IDMzMy4yOTUgODAuODY1IDMzMy41NDcgODEuMDY3QzMzNS4wNjcgODIuMjgzIDMzNy4wMSA4Mi4xOCAzMzguNDAxIDgzLjRDMzQwLjA5OSA4Mi44OTggMzQxLjg5MiA4My4yNzggMzQzLjYyMSA4Mi42NTRDMzQzLjY5OCA4Mi42MjcgMzQzLjkzMiA4Mi45NjggMzQzLjk2NSA4Mi45NDZDMzQ1LjA5NSA4Mi4xOTggMzQ2LjI1IDgyLjQ2OSAzNDcuMTQyIDgyLjc3M0MzNDcuNDggODIuODg4IDM0OC4xNDMgODMuMTM1IDM0OC40NDggODMuMjA5QzM0OS41NzQgODMuNDg1IDM1MC40MyA4My45NjUgMzUxLjYwOSA4NC4xNDhDMzUxLjcyMyA4NC4xNjYgMzUxLjkwOCA4My44MjYgMzUxLjk4IDgzLjg1NEMzNTMuMTAzIDg0LjI5MiAzNTQuMTQ1IDg0LjIzNiAzNTQuODAxIDg1LjRDMzU0LjkzNiA4NS4yNjUgMzU1LjEwMSA4NS4wMjcgMzU1LjE4MyA4NS4wNTRDMzU2LjIxIDg1LjM5MiAzNTYuODU5IDg2LjE0NyAzNTcuOTYgODYuMzg4QzM1OC40NDUgODYuNDk0IDM1OS4wNTcgODcuMTIgMzU5LjYzMyA4Ny4yOTZDMzYyLjAyNSA4OC4wMjcgMzYzLjg2OCA4OS41NTYgMzY2LjA2MiA5MC40NTFDMzY2LjgyMSA5MC43NjEgMzY3LjY5NyA5MC45OTUgMzY4LjMzIDkxLjQ5MXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNjYzcyMjYiPgorICA8cGF0aCBkPSJNMjkxLjY5NiA3Ny4yNjFDMjg5LjE3OCA3NS41MzYgMjg2LjgxIDc0LjQzIDI4NC4zNjggNzIuNjQ0QzI4NC4xODcgNzIuNTExIDI4My44MjcgNzIuNjgxIDI4My42MjUgNzIuNTU5QzI4Mi42MTggNzEuOTUgMjgxLjczIDcxLjM2OSAyODAuNzQ4IDcwLjY3M0MyODAuMjA5IDcwLjI5MSAyNzkuMzg4IDcwLjMwMiAyNzguODggNzAuMDQ0QzI3Ni4zMzYgNjguNzUyIDI3My43MDcgNjguMTk0IDI3MS4yIDY3QzI3MS44ODIgNjYuMzYyIDI3My4wMDQgNjYuNjA2IDI3My42IDY1LjhDMjczLjc5NSA2Ni4wOCAyNzQuMDMzIDY2LjM2NCAyNzQuMzg2IDY2LjE3M0MyNzYuMDY0IDY1LjI2OSAyNzcuOTE0IDY1LjExNiAyNzkuNTkgNjUuMjA2QzI4MS4yOTQgNjUuMjk4IDI4My4wMTQgNjUuNjAzIDI4NC43ODkgNjUuODc1QzI4NS4wOTYgNjUuOTIyIDI4NS4yOTUgNjYuNDQ1IDI4NS42MTggNjYuNTQyQzI4Ny44NDYgNjcuMjA1IDI5MC4yMzUgNjYuNjggMjkyLjM1NCA2Ny41MThDMjkzLjk0NSA2OC4xNDcgMjk1LjUxNSA2OC45NyAyOTYuNzU0IDcwLjI0NUMyOTcuMDA2IDcwLjUwNSAyOTYuNjgxIDcwLjgwNiAyOTYuNDAxIDcxQzI5Ni43ODkgNzAuODkxIDI5Ny4wNjIgNzEuMDk3IDI5Ny4xNzMgNzEuNDFDMjk3LjI1NyA3MS42NDkgMjk3LjI1NyA3MS45NTEgMjk3LjE3MyA3Mi4xOUMyOTcuMDYxIDcyLjUwMiAyOTYuNzgyIDcyLjYwMyAyOTYuNDA4IDcyLjY1NEMyOTUuMDAxIDcyLjg0NCAyOTYuNzczIDcxLjQ2NCAyOTYuMDczIDcxLjkxMkMyOTQuOCA3Mi43MjYgMjk1LjU0NiA3NC4xMzIgMjk0LjgwMSA3NS40QzI5NC41MjEgNzUuMjA2IDI5NC4yOTEgNzQuOTg4IDI5NC40MDEgNzQuNkMyOTQuNjM1IDc1LjEyMiAyOTQuMDMzIDc1LjQxMiAyOTMuODY1IDc1LjcyOEMyOTMuNDggNzYuNDUzIDI5Mi41ODEgNzcuODY4IDI5MS42OTYgNzcuMjYxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2NjNzIyNiI+CisgIDxwYXRoIGQ9Ik0yNTkuMTk4IDg0LjYwOUMyNTYuMDQ0IDgzLjgxNSAyNTIuOTk0IDgzLjkzIDI0OS45NzggODIuNjU0QzI0OS45MTEgODIuNjI2IDI0OS42ODggODIuOTczIDI0OS42MjQgODIuOTQ2QzI0OC4yNTggODIuMzUyIDI0Ny4zNCA4MS4zODYgMjQ2LjI2NCA4MC4zNEMyNDUuMzUxIDc5LjQ1MiAyNDMuNjkzIDc5LjgzOSAyNDIuNDE5IDc5LjM1MkMyNDIuMDk1IDc5LjIyOCAyNDEuODkyIDc4LjcxNiAyNDEuNTkxIDc4LjY3N0MyNDAuMzcyIDc4LjUyIDIzOS40NDUgNzcuNTcxIDIzOC40IDc3QzI0MC43MzYgNzYuMjA1IDI0My4xNDcgNzYuMjM2IDI0NS42MDkgNzUuODUyQzI0NS43MjIgNzUuODM0IDI0NS44NjcgNzYuMTU1IDI0NiA3Ni4xNTVDMjQ2LjEzNiA3Ni4xNTUgMjQ2LjI2NiA3NS45MzQgMjQ2LjQgNzUuOEMyNDYuNTk1IDc2LjA4IDI0Ni44OTcgNzYuNDA2IDI0Ny4xNTQgNzYuMTUyQzI0Ny43MDIgNzUuNjEyIDI0OC4yNTggNzUuODAyIDI0OC43OTggNzUuODQyQzI0OC45NDIgNzUuODUyIDI0OS4wNjcgNzYuMTU1IDI0OS4yIDc2LjE1NUMyNDkuMzM2IDc2LjE1NSAyNDkuNDY3IDc1Ljg0NCAyNDkuNiA3NS44NDRDMjQ5LjczNiA3NS44NDUgMjQ5Ljg2NyA3Ni4xNTUgMjUwIDc2LjE1NUMyNTAuMTM2IDc2LjE1NSAyNTAuMjY2IDc1LjkzNCAyNTAuNCA3NS44QzI1MS4wOTIgNzYuNTgyIDI1MS45NzcgNzYuMDI4IDI1Mi43OTkgNzYuMjA3QzI1My44MzcgNzYuNDM0IDI1NC4xMDQgNzcuNTgyIDI1NS4xNzggNzcuODhDMjU5Ljg5MyA3OS4xODQgMjY0LjAzIDgxLjMyOSAyNjguMzkzIDgzLjQxNkMyNjguNyA4My41NjMgMjY4LjkxIDgzLjgxMSAyNjguOCA4NC4yQzI2OS4wNjcgODQuMiAyNjkuMzggODQuMTEyIDI2OS41NyA4NC4yNDRDMjcwLjYyOCA4NC45NzYgMjcxLjY2OSA4NS41MjQgMjcyLjM2NiA4Ni42MjJDMjcyLjU4MiA4Ni45NjEgMjcyLjI1MyA4Ny4zNjggMjcyLjAyIDg3LjMxNkMyNjcuNTkxIDg2LjMyMSAyNjMuNTg1IDg1LjcxMyAyNTkuMTk4IDg0LjYwOXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNjYzcyMjYiPgorICA8cGF0aCBkPSJNMjQ1LjMzOCAxMjguODIxQzI0My43NDYgMTI3LjYwMiAyNDMuMTYyIDEyNS41NzEgMjQyLjAzNCAxMjMuNzc5QzI0MS44MiAxMjMuNDM5IDI0Mi4wOTQgMTIzLjEyNSAyNDIuNDExIDEyMy4wMzZDMjQyLjk3MSAxMjIuODc3IDI0My41MTQgMTIzLjM1NSAyNDMuOTIzIDEyMy41NTdDMjQ1LjY2OCAxMjQuNDE5IDI0Ny4yMDMgMTI1LjY2MSAyNDkuMiAxMjUuOEMyNTEuMTkgMTI4LjAzNCAyNTUuNDUgMTI4LjQxOSAyNTUuNDU3IDEzMS44QzI1NS40NTggMTMyLjY1OSAyNTQuMDMgMTMxLjc0MSAyNTMuNiAxMzIuNkMyNTEuMTQ5IDEzMS41OTcgMjQ4Ljc2IDEzMS43IDI0Ni4zOCAxMzAuMjMzQzI0NS43NjMgMTI5Ljg1MiAyNDYuMDkzIDEyOS4zOTkgMjQ1LjMzOCAxMjguODIxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2NjNzIyNiI+CisgIDxwYXRoIGQ9Ik0yMTcuOCA3Ni4yNDRDMjE3LjkzNSA3Ni4yNDUgMjI0Ljk2NiA3Ni40NzggMjI0Ljk0OSA3Ni41OTJDMjI0LjkwNCA3Ni45MDEgMjE3LjE3NCA3Ny45NSAyMTYuODEgNzcuNzhDMjE2LjY0NiA3Ny43MDQgMjA5LjEzNCA4MC4xMzQgMjA5IDgwQzIwOS4yNjggNzkuODY1IDIxNy41MzQgNzYuMjQ0IDIxNy44IDc2LjI0NHoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICMwMDAwMDAiPgorICA8cGF0aCBkPSJNMjMzLjIgODZDMjMzLjIgODYgMjE4LjQgODcuOCAyMTQgODlDMjA5LjYgOTAuMiAxOTEgOTcuOCAxODggOTkuOEMxODggOTkuOCAxNzQuNiAxMDUuMiAxNTcuNiAxMjUuMkMxNTcuNiAxMjUuMiAxNjUuMiAxMjEuOCAxNjcuNCAxMTlDMTY3LjQgMTE5IDE4MSAxMDYuNCAxODAuOCAxMDlDMTgwLjggMTA5IDE5MyAxMDAuNCAxOTIuNCAxMDIuNkMxOTIuNCAxMDIuNiAyMTYuOCA5MS40IDIxNC44IDk0LjZDMjE0LjggOTQuNiAyMzYuNCA5MCAyMzUuNCA5MkMyMzUuNCA5MiAyNTQuMiA5Ni40IDI1MS40IDk2LjZDMjUxLjQgOTYuNiAyNDUuNiA5Ny44IDI1MiAxMDEuNEMyNTIgMTAxLjQgMjQ4LjYgMTA1LjggMjQzLjIgMTAxLjhDMjM3LjggOTcuOCAyNDAuOCAxMDAgMjM1LjggMTAxQzIzNS44IDEwMSAyMzMuMiAxMDEuOCAyMjguNiA5Ny44QzIyOC42IDk3LjggMjIzIDkzLjIgMjE0LjIgOTYuOEMyMTQuMiA5Ni44IDE4My42IDEwOS40IDE4MS42IDExMEMxODEuNiAxMTAgMTc4IDExMi44IDE3NS42IDExNi40QzE3NS42IDExNi40IDE2OS44IDEyMC44IDE2Ni44IDEyMi4yQzE2Ni44IDEyMi4yIDE1NCAxMzMuOCAxNTIuOCAxMzUuMkMxNTIuOCAxMzUuMiAxNDkuNCAxNDAuNCAxNDguNiAxNDAuOEMxNDguNiAxNDAuOCAxNTUgMTM3IDE1NyAxMzVDMTU3IDEzNSAxNzEgMTI1IDE3Ni40IDEyNC4yQzE3Ni40IDEyNC4yIDE4MC44IDEyMS4yIDE4MS42IDExOS44QzE4MS42IDExOS44IDE5NiAxMTAuNiAyMDAuMiAxMTAuNkMyMDAuMiAxMTAuNiAyMDkuNCAxMTUuOCAyMTEuOCAxMDguOEMyMTEuOCAxMDguOCAyMTcuNiAxMDcgMjIzLjIgMTA4LjJDMjIzLjIgMTA4LjIgMjI2LjQgMTA1LjYgMjI1LjYgMTAzLjRDMjI1LjYgMTAzLjQgMjI3LjIgMTAxLjYgMjI4LjIgMTA1LjRDMjI4LjIgMTA1LjQgMjMxLjYgMTA5IDIzNi40IDEwN0MyMzYuNCAxMDcgMjQwLjQgMTA2LjggMjM4LjQgMTA5LjJDMjM4LjQgMTA5LjIgMjM0IDExMyAyMjIuMiAxMTMuMkMyMjIuMiAxMTMuMiAyMDkuOCAxMTMuOCAxOTMuNCAxMjEuNEMxOTMuNCAxMjEuNCAxNjMuNiAxMzEuOCAxNTQuNCAxNDIuMkMxNTQuNCAxNDIuMiAxNDggMTUxIDE0Mi42IDE1Mi4yQzE0Mi42IDE1Mi4yIDEzNi44IDE1MyAxMzAuOCAxNjAuNEMxMzAuOCAxNjAuNCAxNDAuNiAxNTQuNiAxNDkuNiAxNTQuNkMxNDkuNiAxNTQuNiAxNTMuNiAxNTIuMiAxNDkuOCAxNTUuOEMxNDkuOCAxNTUuOCAxNDYuMiAxNjMuNCAxNDcuOCAxNjguOEMxNDcuOCAxNjguOCAxNDcuMiAxNzQgMTQ2LjQgMTc1LjZDMTQ2LjQgMTc1LjYgMTM4LjYgMTg4LjQgMTM4LjYgMTkwLjhDMTM4LjYgMTkzLjIgMTM5LjggMjAzIDE0MC4yIDIwMy42QzE0MC42IDIwNC4yIDEzOS4yIDIwMiAxNDMgMjA0LjRDMTQ2LjggMjA2LjggMTQ5LjYgMjA4LjQgMTUwLjQgMjExLjJDMTUxLjIgMjE0IDE0OC40IDIwNS44IDE0OC4yIDIwNEMxNDggMjAyLjIgMTQzLjggMTk1IDE0NC42IDE5Mi42QzE0NC42IDE5Mi42IDE0NS42IDE5My42IDE0Ni40IDE5NUMxNDYuNCAxOTUgMTQ1LjggMTk0LjQgMTQ2LjQgMTkwLjhDMTQ2LjQgMTkwLjggMTQ3LjIgMTg1LjYgMTQ4LjYgMTgyLjRDMTUwIDE3OS4yIDE1MiAxNzUuNCAxNTIuNCAxNzQuNkMxNTIuOCAxNzMuOCAxNTIuOCAxNjggMTU0LjIgMTcwLjZMMTU3LjYgMTczLjJDMTU3LjYgMTczLjIgMTU0LjggMTcwLjYgMTU3IDE2OC40QzE1NyAxNjguNCAxNTYgMTYyLjggMTU3LjggMTYwLjJDMTU3LjggMTYwLjIgMTY0LjggMTUxLjggMTY2LjQgMTUwLjhDMTY4IDE0OS44IDE2Ni42IDE1MC4yIDE2Ni42IDE1MC4yQzE2Ni42IDE1MC4yIDE3Mi42IDE0NiAxNjYuOCAxNDcuNkMxNjYuOCAxNDcuNiAxNjIuOCAxNDkuMiAxNTkuOCAxNDkuMkMxNTkuOCAxNDkuMiAxNTIuMiAxNTEuMiAxNTYuMiAxNDdDMTYwLjIgMTQyLjggMTcwLjIgMTM3LjQgMTc0IDEzNy42TDE3NC44IDEzOS4yTDE4NiAxMzYuOEwxODQuOCAxMzcuNkMxODQuOCAxMzcuNiAxODQuNiAxMzcuNCAxODguOCAxMzdDMTkzIDEzNi42IDE5OC44IDEzOCAyMDAuMiAxMzYuMkMyMDEuNiAxMzQuNCAyMDUgMTMzLjQgMjA0LjYgMTM0LjhDMjA0LjIgMTM2LjIgMjA0IDEzOC4yIDIwNCAxMzguMkMyMDQgMTM4LjIgMjA5IDEzMi40IDIwOC40IDEzNC42QzIwNy44IDEzNi44IDE5OS42IDE0MiAxOTguMiAxNDguMkwyMDguNiAxNDBMMjEyLjIgMTM3QzIxMi4yIDEzNyAyMTUuOCAxMzkuMiAyMTYgMTM3LjZDMjE2LjIgMTM2IDIyMC44IDEzMC4yIDIyMiAxMzAuNEMyMjMuMiAxMzAuNiAyMjUuMiAxMjcuOCAyMjUgMTMwLjRDMjI0LjggMTMzIDIzMi40IDEzOC40IDIzMi40IDEzOC40QzIzMi40IDEzOC40IDIzNS42IDEzNi42IDIzNyAxMzhDMjM4LjQgMTM5LjQgMjQyLjYgMTE4LjIgMjQyLjYgMTE4LjJMMjY3LjYgMTA3LjZMMzExLjIwMSAxMDQuMkwyOTQuMjAxIDk3LjRMMjMzLjIgODZ6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJzdHJva2U6IzRjMDAwMDsgc3Ryb2tlLXdpZHRoOjIiPgorICA8cGF0aCBkPSJNMjUxLjQgMjg1QzI1MS40IDI4NSAyMzYuNCAyNjguMiAyMjggMjY1LjZDMjI4IDI2NS42IDIxNC42IDI1OC44IDE5MCAyNjYuNiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0ic3Ryb2tlOiM0YzAwMDA7IHN0cm9rZS13aWR0aDoyIj4KKyAgPHBhdGggZD0iTTIyNC44IDI2NC4yQzIyNC44IDI2NC4yIDE5OS42IDI1Ni4yIDE4NC4yIDI2MC40QzE4NC4yIDI2MC40IDE2NS44IDI2Mi40IDE1Ny40IDI3Ni4yIi8+CisgPC9nPgorIDxnIHN0eWxlPSJzdHJva2U6IzRjMDAwMDsgc3Ryb2tlLXdpZHRoOjIiPgorICA8cGF0aCBkPSJNMjIxLjIgMjYzQzIyMS4yIDI2MyAyMDQuMiAyNTUuOCAxODkuNCAyNTMuNkMxODkuNCAyNTMuNiAxNzIuOCAyNTEgMTU2LjIgMjU4LjJDMTU2LjIgMjU4LjIgMTQ0IDI2NC4yIDEzOC42IDI3NC40Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJzdHJva2U6IzRjMDAwMDsgc3Ryb2tlLXdpZHRoOjIiPgorICA8cGF0aCBkPSJNMjIyLjIgMjYzLjRDMjIyLjIgMjYzLjQgMjA2LjggMjUyLjQgMjA1LjggMjUxQzIwNS44IDI1MSAxOTguOCAyNDAgMTg1LjggMjM5LjZDMTg1LjggMjM5LjYgMTY0LjQgMjQwLjQgMTQ3LjIgMjQ4LjQiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICMwMDAwMDAiPgorICA8cGF0aCBkPSJNMjIwLjg5NSAyNTQuNDA3QzIyMi40MzcgMjU1Ljg3IDI0OS40IDI4NC44IDI0OS40IDI4NC44QzI4NC42IDMyMS40MDEgMjU2LjYgMjg3LjIgMjU2LjYgMjg3LjJDMjQ5IDI4Mi40IDIzOS44IDI2My42IDIzOS44IDI2My42QzIzOC42IDI2MC44IDI1My44IDI3MC44IDI1My44IDI3MC44QzI1Ny44IDI3MS42IDI3MS40IDI5MC44IDI3MS40IDI5MC44QzI2NC42IDI4OC40IDI2OS40IDI5NS42IDI2OS40IDI5NS42QzI3Mi4yIDI5Ny42IDI5Mi42MDEgMzEzLjIwMSAyOTIuNjAxIDMxMy4yMDFDMjk2LjIwMSAzMTcuMjAxIDMwMC4yMDEgMzE4LjgwMSAzMDAuMjAxIDMxOC44MDFDMzE0LjIwMSAzMTMuNjAxIDMwNy44MDEgMzI2LjgwMSAzMDcuODAxIDMyNi44MDFDMzEwLjIwMSAzMzMuNjAxIDMxNS44MDEgMzIyLjAwMSAzMTUuODAxIDMyMi4wMDFDMzI3LjAwMSAzMDUuMiAzMTAuNjAxIDMwNy42MDEgMzEwLjYwMSAzMDcuNjAxQzI4MC42IDMxMC40MDEgMjczLjggMjk0LjQgMjczLjggMjk0LjRDMjcxLjQgMjkyIDI4MC4yIDI5NC40IDI4MC4yIDI5NC40QzI4OC42MDEgMjk2LjQgMjczIDI4MiAyNzMgMjgyQzI3NS40IDI4MiAyODQuNiAyODguOCAyODQuNiAyODguOEMyOTUuMDAxIDI5OCAyOTcuMDAxIDI5NiAyOTcuMDAxIDI5NkMzMTUuMDAxIDI4Ny4yIDMyNS40MDEgMjk0LjggMzI1LjQwMSAyOTQuOEMzMjcuNDAxIDI5Ni40IDMyMS44MDEgMzAzLjIgMzIzLjQwMSAzMDguNDAxQzMyNS4wMDEgMzEzLjYwMSAzMjkuODAxIDMyNi4wMDEgMzI5LjgwMSAzMjYuMDAxQzMyNy40MDEgMzI3LjYwMSAzMjcuODAxIDMzOC40MDEgMzI3LjgwMSAzMzguNDAxQzM0NC42MDEgMzYxLjYwMSAzMzUuMDAxIDM1OS42MDEgMzM1LjAwMSAzNTkuNjAxQzMxOS40MDEgMzU5LjIwMSAzMzQuMjAxIDM2Ni44MDEgMzM0LjIwMSAzNjYuODAxQzMzNy40MDEgMzY4LjgwMSAzNDYuMjAxIDM3Ni4wMDEgMzQ2LjIwMSAzNzYuMDAxQzM0My40MDEgMzc0LjgwMSAzNDEuODAxIDM4MC4wMDEgMzQxLjgwMSAzODAuMDAxQzM0Ni42MDEgMzg0LjAwMSAzNDMuODAxIDM4OC44MDEgMzQzLjgwMSAzODguODAxQzMzNy44MDEgMzkwLjAwMSAzMzYuNjAxIDM5NC4wMDEgMzM2LjYwMSAzOTQuMDAxQzM0My40MDEgNDAyLjAwMSAzMzMuNDAxIDQwMi40MDEgMzMzLjQwMSA0MDIuNDAxQzMzNy4wMDEgNDA2LjgwMSAzMzIuMjAxIDQxOC44MDEgMzMyLjIwMSA0MTguODAxQzMyNy40MDEgNDE4LjgwMSAzMjEuMDAxIDQyNC40MDEgMzIxLjAwMSA0MjQuNDAxQzMyMy40MDEgNDI5LjIwMSAzMTMuMDAxIDQzNC44MDEgMzEzLjAwMSA0MzQuODAxQzMwNC42MDEgNDM2LjQwMSAzMDcuNDAxIDQ0My4yMDEgMzA3LjQwMSA0NDMuMjAxQzI5OS40MDEgNDQ5LjIwMSAyOTcuMDAxIDQ2NS4yMDEgMjk3LjAwMSA0NjUuMjAxQzI5Ni4yMDEgNDc1LjYwMSAyOTMuODAxIDQ3OC44MDEgMjk5LjAwMSA0NzYuODAxQzMwNC4yMDEgNDc0LjgwMSAzMDMuNDAxIDQ2Mi40MDEgMzAzLjQwMSA0NjIuNDAxQzI5OC42MDEgNDQ2LjgwMSAzNDEuNDAxIDQzMC44MDEgMzQxLjQwMSA0MzAuODAxQzM0NS40MDEgNDI5LjIwMSAzNDYuMjAxIDQyNC4wMDEgMzQ2LjIwMSA0MjQuMDAxQzM0OC4yMDEgNDI0LjQwMSAzNTcuMDAxIDQzMi4wMDEgMzU3LjAwMSA0MzIuMDAxQzM2NC42MDEgNDQzLjIwMSAzNjUuMDAxIDQzNC4wMDEgMzY1LjAwMSA0MzQuMDAxQzM2Ni4yMDEgNDMwLjQwMSAzNjQuNjAxIDQyNC40MDEgMzY0LjYwMSA0MjQuNDAxQzM3MC42MDEgNDAyLjgwMSAzNTYuNjAxIDM5Ni40MDEgMzU2LjYwMSAzOTYuNDAxQzM0Ni42MDEgMzYyLjgwMSAzNjAuNjAxIDM3MS4yMDEgMzYwLjYwMSAzNzEuMjAxQzM2My40MDEgMzc2LjgwMSAzNzQuMjAxIDM4Mi4wMDEgMzc0LjIwMSAzODIuMDAxTDM3Ny44MDEgMzc5LjYwMUMzNzYuMjAxIDM3NC44MDEgMzg0LjYwMSAzNjguODAxIDM4NC42MDEgMzY4LjgwMUMzODcuNDAxIDM3NS4yMDEgMzkzLjQwMSAzNjcuMjAxIDM5My40MDEgMzY3LjIwMUMzOTcuMDAxIDM0Mi44MDEgNDA5LjQwMSAzNTcuMjAxIDQwOS40MDEgMzU3LjIwMUM0MTMuNDAxIDM1OC40MDEgNDE0LjYwMSAzNTEuNjAxIDQxNC42MDEgMzUxLjYwMUM0MTguMjAxIDM0MS4yMDEgNDE0LjYwMSAzMjcuNjAxIDQxNC42MDEgMzI3LjYwMUM0MTguMjAxIDMyNy4yMDEgNDI3LjgwMSAzMzMuMjAxIDQyNy44MDEgMzMzLjIwMUM0MzAuNjAxIDMyOS42MDEgNDIxLjQwMSAzMTIuODAxIDQyNS40MDEgMzE1LjIwMUM0MjkuNDAxIDMxNy42MDEgNDMzLjgwMSAzMTkuMjAxIDQzMy44MDEgMzE5LjIwMUM0MzQuNjAxIDMxNy4yMDEgNDI0LjYwMSAzMDQuODAxIDQyNC42MDEgMzA0LjgwMUM0MjAuMjAxIDMwMiA0MTUuMDAxIDI4MS42IDQxNS4wMDEgMjgxLjZDNDIyLjIwMSAyODUuMiA0MTIuMjAxIDI3MCA0MTIuMjAxIDI3MEM0MTIuMjAxIDI2Ni44IDQxOC4yMDEgMjU1LjYgNDE4LjIwMSAyNTUuNkM0MTcuNDAxIDI0OC44IDQxOC4yMDEgMjQ5LjIgNDE4LjIwMSAyNDkuMkM0MjEuMDAxIDI1MC40IDQyOS4wMDEgMjUyIDQyMi4yMDEgMjQ1LjZDNDE1LjQwMSAyMzkuMiA0MjMuMDAxIDIzNC40IDQyMy4wMDEgMjM0LjRDNDI3LjQwMSAyMzEuNiA0MTMuODAxIDIzMiA0MTMuODAxIDIzMkM0MDguNjAxIDIyNy42IDQwOS4wMDEgMjIzLjYgNDA5LjAwMSAyMjMuNkM0MTcuMDAxIDIyNS42IDQwMi42MDEgMjExLjIgNDAwLjIwMSAyMDcuNkMzOTcuODAxIDIwNCA0MDcuNDAxIDE5OC44IDQwNy40MDEgMTk4LjhDNDIwLjYwMSAxOTUuMiA0MDkuMDAxIDE5MiA0MDkuMDAxIDE5MkMzODkuNDAxIDE5Mi40IDQwMC4yMDEgMTgxLjYgNDAwLjIwMSAxODEuNkM0MDYuMjAxIDE4MiA0MDQuNjAxIDE3OS42IDQwNC42MDEgMTc5LjZDMzk5LjQwMSAxNzguNCAzODkuODAxIDE3MiAzODkuODAxIDE3MkMzODUuODAxIDE2OC40IDM4OS40MDEgMTY5LjIgMzg5LjQwMSAxNjkuMkM0MDYuMjAxIDE3MC40IDM3Ny40MDEgMTU5LjIgMzc3LjQwMSAxNTkuMkMzODUuNDAxIDE1OS4yIDM2Ny40MDEgMTQ4LjggMzY3LjQwMSAxNDguOEMzNjUuNDAxIDE0Ny4yIDM2Mi4yMDEgMTM5LjYgMzYyLjIwMSAxMzkuNkMzNTYuMjAxIDEzNC40IDM1MS40MDEgMTI3LjYgMzUxLjQwMSAxMjcuNkMzNTEuMDAxIDEyMy4yIDM0Ni4yMDEgMTE4LjQgMzQ2LjIwMSAxMTguNEMzMzQuNjAxIDEwNC44IDMyOS4wMDEgMTA1LjIgMzI5LjAwMSAxMDUuMkMzMTQuMjAxIDEwMS42IDMwOS4wMDEgMTAyLjQgMzA5LjAwMSAxMDIuNEwyNTYuMiAxMDYuOEMyMjkuOCAxMTkuNiAyMzcuNiAxNDAuNiAyMzcuNiAxNDAuNkMyNDQgMTQ5IDI1My4yIDE0NS4yIDI1My4yIDE0NS4yQzI1Ny44IDEzOSAyNjkuNCAxNDEuMiAyNjkuNCAxNDEuMkMyODkuODAxIDE0NC40IDI4Ny4yMDEgMTQwLjggMjg3LjIwMSAxNDAuOEMyODQuODAxIDEzNi4yIDI2OC42IDEzMCAyNjguNCAxMjkuNEMyNjguMiAxMjguOCAyNTkuNCAxMjUuNCAyNTkuNCAxMjUuNEMyNTYuNCAxMjQuMiAyNTIgMTE1IDI1MiAxMTVDMjQ4LjggMTExLjYgMjY0LjYgMTE3LjQgMjY0LjYgMTE3LjRDMjYzLjQgMTE4LjQgMjcwLjggMTIyLjQgMjcwLjggMTIyLjRDMjg4LjIwMSAxMjEuNCAyOTguODAxIDEzMi4yIDI5OC44MDEgMTMyLjJDMzA5LjYwMSAxNDguOCAzMDkuODAxIDE0MC42IDMwOS44MDEgMTQwLjZDMzEyLjYwMSAxMzEuMiAzMDAuODAxIDExMCAzMDAuODAxIDExMEMzMDEuMjAxIDEwOCAzMDkuNDAxIDExNC42IDMwOS40MDEgMTE0LjZDMzEwLjgwMSAxMTIuNiAzMTEuNjAxIDExOC40IDMxMS42MDEgMTE4LjRDMzExLjgwMSAxMjAuOCAzMTUuNjAxIDEyOC44IDMxNS42MDEgMTI4LjhDMzE4LjQwMSAxNDEuOCAzMjIuMDAxIDEzNC40IDMyMi4wMDEgMTM0LjRMMzI2LjYwMSAxNDMuOEMzMjguMDAxIDE0Ni40IDMyMi4wMDEgMTU0IDMyMi4wMDEgMTU0QzMyMS44MDEgMTU2LjggMzIyLjYwMSAxNTYuNiAzMTcuMDAxIDE2NC4yQzMxMS40MDEgMTcxLjggMzE0LjgwMSAxNzYuMiAzMTQuODAxIDE3Ni4yQzMxMy40MDEgMTgyLjggMzIyLjIwMSAxODIuNCAzMjIuMjAxIDE4Mi40QzMyNC44MDEgMTg0LjYgMzI4LjIwMSAxODQuNiAzMjguMjAxIDE4NC42QzMzMC4wMDEgMTg2LjYgMzMyLjQwMSAxODYgMzMyLjQwMSAxODZDMzM0LjAwMSAxODIuMiAzNDAuMjAxIDE4NC4yIDM0MC4yMDEgMTg0LjJDMzQxLjYwMSAxODEuOCAzNDkuODAxIDE4MS40IDM0OS44MDEgMTgxLjRDMzUwLjgwMSAxNzguOCAzNTEuMjAxIDE3Ny4yIDM1NC42MDEgMTc2LjZDMzU4LjAwMSAxNzYgMzMzLjQwMSAxMzMgMzMzLjQwMSAxMzNDMzM5LjgwMSAxMzIuMiAzMzEuNjAxIDExOS44IDMzMS42MDEgMTE5LjhDMzI5LjQwMSAxMTMuMiAzNDAuODAxIDEyNy44IDM0My4wMDEgMTI5LjJDMzQ1LjIwMSAxMzAuNiAzNDYuMjAxIDEzMi44IDM0NC42MDEgMTMyLjZDMzQzLjAwMSAxMzIuNCAzNDEuMjAxIDEzNC42IDM0Mi42MDEgMTM0LjhDMzQ0LjAwMSAxMzUgMzU3LjAwMSAxNTAgMzYwLjQwMSAxNjAuMkMzNjMuODAxIDE3MC40IDM2OS44MDEgMTc0LjQgMzc2LjAwMSAxODAuNEMzODIuMjAxIDE4Ni40IDM4MS40MDEgMjEwLjYgMzgxLjQwMSAyMTAuNkMzODEuMDAxIDIxOS40IDM4Ny4wMDEgMjMwIDM4Ny4wMDEgMjMwQzM4OS4wMDEgMjMzLjggMzg0LjgwMSAyNTIgMzg0LjgwMSAyNTJDMzgyLjgwMSAyNTQuMiAzODQuMjAxIDI1NSAzODQuMjAxIDI1NUMzODUuMjAxIDI1Ni4yIDM5Mi4wMDEgMjY5LjQgMzkyLjAwMSAyNjkuNEMzOTAuMjAxIDI2OS4yIDM5My44MDEgMjcyLjggMzkzLjgwMSAyNzIuOEMzOTkuMDAxIDI3OC44IDM5Mi42MDEgMjc1LjggMzkyLjYwMSAyNzUuOEMzODYuNjAxIDI3NC4yIDM5My42MDEgMjg0IDM5My42MDEgMjg0QzM5NC44MDEgMjg1LjggMzg1LjgwMSAyODEuMiAzODUuODAxIDI4MS4yQzM3Ni42MDEgMjgwLjYgMzg4LjIwMSAyODcuOCAzODguMjAxIDI4Ny44QzM5Ni44MDEgMjk1IDM4NS40MDEgMjkwLjYgMzg1LjQwMSAyOTAuNkMzODAuODAxIDI4OC44IDM4NC4wMDEgMjk1LjYgMzg0LjAwMSAyOTUuNkMzODcuMjAxIDI5Ny4yIDQwNC40MDEgMzA0LjIgNDA0LjQwMSAzMDQuMkM0MDQuODAxIDMwOC4wMDEgNDAxLjgwMSAzMTMuMDAxIDQwMS44MDEgMzEzLjAwMUM0MDIuMjAxIDMxNy4wMDEgNDAwLjAwMSAzMjAuNDAxIDQwMC4wMDEgMzIwLjQwMUMzOTguODAxIDMyOC42MDEgMzk4LjIwMSAzMjkuNDAxIDM5OC4yMDEgMzI5LjQwMUMzOTQuMDAxIDMyOS42MDEgMzg2LjYwMSAzNDMuNDAxIDM4Ni42MDEgMzQzLjQwMUMzODQuODAxIDM0Ni4wMDEgMzc0LjYwMSAzNTguMDAxIDM3NC42MDEgMzU4LjAwMUMzNzIuNjAxIDM2NS4wMDEgMzU0LjYwMSAzNTcuODAxIDM1NC42MDEgMzU3LjgwMUMzNDguMDAxIDM2MS4yMDEgMzUwLjAwMSAzNTcuODAxIDM1MC4wMDEgMzU3LjgwMUMzNDkuNjAxIDM1NS42MDEgMzU0LjQwMSAzNDkuNjAxIDM1NC40MDEgMzQ5LjYwMUMzNjEuNDAxIDM0Ny4wMDEgMzU4LjgwMSAzMzYuMjAxIDM1OC44MDEgMzM2LjIwMUMzNjIuODAxIDMzNC44MDEgMzUxLjYwMSAzMzIuMDAxIDM1MS44MDEgMzMwLjgwMUMzNTIuMDAxIDMyOS42MDEgMzU3LjgwMSAzMjguMjAxIDM1Ny44MDEgMzI4LjIwMUMzNjUuODAxIDMyNi4yMDEgMzYxLjQwMSAzMjMuODAxIDM2MS40MDEgMzIzLjgwMUMzNjAuODAxIDMxOS44MDEgMzYzLjgwMSAzMTQuMjAxIDM2My44MDEgMzE0LjIwMUMzNzUuNDAxIDMxMy40MDEgMzYzLjgwMSAyOTcuMiAzNjMuODAxIDI5Ny4yQzM1My4wMDEgMjg5LjYgMzUyLjAwMSAyODMuOCAzNTIuMDAxIDI4My44QzM2NC42MDEgMjc1LjYgMzU2LjQwMSAyNjMuMiAzNTYuNjAxIDI1OS42QzM1Ni44MDEgMjU2IDM1OC4wMDEgMjM0LjQgMzU4LjAwMSAyMzQuNEMzNTYuMDAxIDIyOC4yIDM1My4wMDEgMjE0LjYgMzUzLjAwMSAyMTQuNkMzNTUuMjAxIDIwOS40IDM2Mi42MDEgMTk2LjggMzYyLjYwMSAxOTYuOEMzNjUuNDAxIDE5Mi42IDM3NC4yMDEgMTg3LjggMzcyLjAwMSAxODQuOEMzNjkuODAxIDE4MS44IDM2Mi4wMDEgMTgzLjYgMzYyLjAwMSAxODMuNkMzNTQuMjAxIDE4Mi4yIDM1NC44MDEgMTg3LjQgMzU0LjgwMSAxODcuNEMzNTMuMjAxIDE4OC40IDM1Mi40MDEgMTkzLjQgMzUyLjQwMSAxOTMuNEMzNTEuNjggMjAxLjMzMyAzNDIuODAxIDIwNy42IDM0Mi44MDEgMjA3LjZDMzMxLjYwMSAyMTMuOCAzNDAuODAxIDIxNy44IDM0MC44MDEgMjE3LjhDMzQ2LjgwMSAyMjQuNCAzMzcuMDAxIDIyNC42IDMzNy4wMDEgMjI0LjZDMzI2LjAwMSAyMjIuOCAzMzQuMjAxIDIzMyAzMzQuMjAxIDIzM0MzNDUuMDAxIDI0NS44IDM0Mi4wMDEgMjQ4LjYgMzQyLjAwMSAyNDguNkMzMzEuODAxIDI0OS42IDM0NC40MDEgMjU4LjggMzQ0LjQwMSAyNTguOEMzNDQuNDAxIDI1OC44IDM0My42MDEgMjU2LjggMzQzLjgwMSAyNTguNkMzNDQuMDAxIDI2MC40IDM0Ny4wMDEgMjY0LjYgMzQ3LjgwMSAyNjYuNkMzNDguNjAxIDI2OC42IDM0NC42MDEgMjY4LjggMzQ0LjYwMSAyNjguOEMzNDUuMjAxIDI3OC40IDMyOS44MDEgMjc0LjIgMzI5LjgwMSAyNzQuMkMzMjkuODAxIDI3NC4yIDMyOS44MDEgMjc0LjIgMzI4LjIwMSAyNzQuNEMzMjYuNjAxIDI3NC42IDMxNS40MDEgMjczLjggMzA5LjYwMSAyNzEuNkMzMDMuODAxIDI2OS40IDI5Ny4wMDEgMjY5LjQgMjk3LjAwMSAyNjkuNEMyOTcuMDAxIDI2OS40IDI5My4wMDEgMjcxLjIgMjg1LjQgMjcxQzI3Ny44IDI3MC44IDI2OS44IDI3My42IDI2OS44IDI3My42QzI2NS40IDI3My4yIDI3NCAyNjguOCAyNzQuMiAyNjlDMjc0LjQgMjY5LjIgMjgwIDI2My42IDI3MiAyNjQuMkMyNTAuMjAzIDI2NS44MzUgMjM5LjQgMjU1LjYgMjM5LjQgMjU1LjZDMjM3LjQgMjU0LjIgMjM0LjggMjUxLjQgMjM0LjggMjUxLjRDMjI0LjggMjQ5LjQgMjM2LjIgMjYzLjggMjM2LjIgMjYzLjhDMjM3LjQgMjY1LjIgMjM2IDI2Ni4yIDIzNiAyNjYuMkMyMzUuMiAyNjQuNiAyMjcuNCAyNTkuMiAyMjcuNCAyNTkuMkMyMjQuNTg5IDI1OC4yMjcgMjIzLjIyNiAyNTYuODkzIDIyMC44OTUgMjU0LjQwN3oiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICM0YzAwMDAiPgorICA8cGF0aCBkPSJNMTk3IDI0Mi44QzE5NyAyNDIuOCAyMDguNiAyNDguNCAyMTEuMiAyNTEuMkMyMTMuOCAyNTQgMjI3LjggMjY1LjQgMjI3LjggMjY1LjRDMjI3LjggMjY1LjQgMjIyLjQgMjYzLjQgMjE5LjggMjYxLjZDMjE3LjIgMjU5LjggMjA2LjQgMjUxLjYgMjA2LjQgMjUxLjZDMjA2LjQgMjUxLjYgMjAyLjYgMjQ1LjYgMTk3IDI0Mi44eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzk5Y2MzMiI+CisgIDxwYXRoIGQ9Ik0xMzguOTkxIDIxMS42MDNDMTM5LjMyOCAyMTEuNDU1IDEzOC44MDQgMjA4Ljc0MyAxMzguNiAyMDguMkMxMzcuNTc4IDIwNS40NzQgMTI4LjYgMjA0IDEyOC42IDIwNEMxMjguMzczIDIwNS4zNjUgMTI4LjMxOCAyMDYuOTYxIDEyOC40MjQgMjA4LjU5OUMxMjguNDI0IDIwOC41OTkgMTMzLjI5MiAyMTQuMTE4IDEzOC45OTEgMjExLjYwM3oiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICM2NTk5MDAiPgorICA8cGF0aCBkPSJNMTM4Ljk5MSAyMTEuNDAzQzEzOC41NDIgMjExLjU2MSAxMzguOTc2IDIwOC42NjkgMTM4LjggMjA4LjJDMTM3Ljc3OCAyMDUuNDc0IDEyOC42IDIwMy45IDEyOC42IDIwMy45QzEyOC4zNzMgMjA1LjI2NSAxMjguMzE4IDIwNi44NjEgMTI4LjQyNCAyMDguNDk5QzEyOC40MjQgMjA4LjQ5OSAxMzIuNjkyIDIxMy42MTggMTM4Ljk5MSAyMTEuNDAzeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0xMzQuNiAyMTEuNTQ2QzEzMy45NzUgMjExLjU0NiAxMzMuNDY5IDIxMC40MDYgMTMzLjQ2OSAyMDlDMTMzLjQ2OSAyMDcuNTk1IDEzMy45NzUgMjA2LjQ1NSAxMzQuNiAyMDYuNDU1QzEzNS4yMjUgMjA2LjQ1NSAxMzUuNzMyIDIwNy41OTUgMTM1LjczMiAyMDlDMTM1LjczMiAyMTAuNDA2IDEzNS4yMjUgMjExLjU0NiAxMzQuNiAyMTEuNTQ2eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0xMzQuNiAyMDl6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjMDAwMDAwIj4KKyAgPHBhdGggZD0iTTg5IDMwOS42MDFDODkgMzA5LjYwMSA4My40IDMxOS42MDEgMTA4LjIgMzEzLjYwMUMxMDguMiAzMTMuNjAxIDEyMi4yIDMxMi40MDEgMTI0LjYgMzEwLjAwMUMxMjUuOCAzMTAuODAxIDEzNC4xNjYgMzEzLjczNCAxMzcgMzE0LjQwMUMxNDMuOCAzMTYuMDAxIDE1Mi4yIDMwNiAxNTIuMiAzMDZDMTUyLjIgMzA2IDE1Ni44IDI5NS41IDE1OS42IDI5NS41QzE2Mi40IDI5NS41IDE1OS4yIDI5Ny4xIDE1OS4yIDI5Ny4xQzE1OS4yIDI5Ny4xIDE1Mi42IDMwNy4yMDEgMTUzIDMwOC44MDFDMTUzIDMwOC44MDEgMTQ3LjggMzI4LjgwMSAxMzEuOCAzMjkuNjAxQzEzMS44IDMyOS42MDEgMTE1LjY1IDMzMC41NTEgMTE3IDMzNi40MDFDMTE3IDMzNi40MDEgMTI1LjggMzM0LjAwMSAxMjguMiAzMzYuNDAxQzEyOC4yIDMzNi40MDEgMTM5IDMzNi4wMDEgMTMxIDM0Mi40MDFMMTI0LjIgMzU0LjAwMUMxMjQuMiAzNTQuMDAxIDEyNC4zNCAzNTcuOTE5IDExNC4yIDM1NC40MDFDMTA0LjQgMzUxLjAwMSA5NC4xIDMzOC4xMDEgOTQuMSAzMzguMTAxQzk0LjEgMzM4LjEwMSA3OC4xNSAzMjMuNTUxIDg5IDMwOS42MDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZTU5OTk5Ij4KKyAgPHBhdGggZD0iTTg3LjggMzEzLjYwMUM4Ny44IDMxMy42MDEgODUuOCAzMjMuMjAxIDEyMi42IDMxMi44MDFDMTIyLjYgMzEyLjgwMSAxMjcgMzEyLjgwMSAxMjkuNCAzMTMuNjAxQzEzMS44IDMxNC40MDEgMTQzLjggMzE3LjIwMSAxNDUuOCAzMTYuMDAxQzE0NS44IDMxNi4wMDEgMTM4LjYgMzI5LjYwMSAxMjcgMzI4LjAwMUMxMjcgMzI4LjAwMSAxMTMuOCAzMjkuNjAxIDExNC4yIDMzNC40MDFDMTE0LjIgMzM0LjQwMSAxMTguMiAzNDEuNjAxIDEyMyAzNDQuMDAxQzEyMyAzNDQuMDAxIDEyNS44IDM0Ni40MDEgMTI1LjQgMzQ5LjYwMUMxMjUgMzUyLjgwMSAxMjIuMiAzNTQuNDAxIDEyMC4yIDM1NS4yMDFDMTE4LjIgMzU2LjAwMSAxMTUgMzUyLjgwMSAxMTMuNCAzNTIuODAxQzExMS44IDM1Mi44MDEgMTAzLjQgMzQ2LjQwMSA5OSAzNDEuNjAxQzk0LjYgMzM2LjgwMSA4Ni4yIDMyNC44MDEgODYuNiAzMjIuMDAxQzg3IDMxOS4yMDEgODcuOCAzMTMuNjAxIDg3LjggMzEzLjYwMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNiMjY1NjUiPgorICA8cGF0aCBkPSJNOTEgMzMxLjA1MUM5My42IDMzNS4wMDEgOTYuOCAzMzkuMjAxIDk5IDM0MS42MDFDMTAzLjQgMzQ2LjQwMSAxMTEuOCAzNTIuODAxIDExMy40IDM1Mi44MDFDMTE1IDM1Mi44MDEgMTE4LjIgMzU2LjAwMSAxMjAuMiAzNTUuMjAxQzEyMi4yIDM1NC40MDEgMTI1IDM1Mi44MDEgMTI1LjQgMzQ5LjYwMUMxMjUuOCAzNDYuNDAxIDEyMyAzNDQuMDAxIDEyMyAzNDQuMDAxQzExOS45MzQgMzQyLjQ2OCAxMTcuMTk0IDMzOC45NzYgMTE1LjYxNSAzMzYuNjUzQzExNS42MTUgMzM2LjY1MyAxMTUuOCAzMzkuMjAxIDExMC42IDMzOC40MDFDMTA1LjQgMzM3LjYwMSAxMDAuMiAzMzQuODAxIDk4LjYgMzMxLjYwMUM5NyAzMjguNDAxIDk0LjYgMzI2LjAwMSA5Ni4yIDMyOS42MDFDOTcuOCAzMzMuMjAxIDEwMC4yIDMzNi44MDEgMTAxLjggMzM3LjIwMUMxMDMuNCAzMzcuNjAxIDEwMyAzMzguODAxIDEwMC42IDMzOC40MDFDOTguMiAzMzguMDAxIDk1LjQgMzM3LjYwMSA5MSAzMzIuNDAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzk5MjYwMCI+CisgIDxwYXRoIGQ9Ik04OC40IDMxMC4wMDFDODguNCAzMTAuMDAxIDkwLjIgMjk2LjQgOTEuNCAyOTIuNEM5MS40IDI5Mi40IDkwLjYgMjg1LjYgOTMgMjgxLjRDOTUuNCAyNzcuMiA5Ny40IDI3MSAxMDAuNCAyNjUuNkMxMDMuNCAyNjAuMiAxMDMuNiAyNTYuMiAxMDcuNiAyNTQuNkMxMTEuNiAyNTMgMTE3LjYgMjQ0LjQgMTIwLjQgMjQzLjRDMTIzLjIgMjQyLjQgMTIzIDI0My4yIDEyMyAyNDMuMkMxMjMgMjQzLjIgMTI5LjggMjI4LjQgMTQzLjQgMjMyLjRDMTQzLjQgMjMyLjQgMTI3LjIgMjI5LjYgMTQzIDIyMC4yQzE0MyAyMjAuMiAxMzguMiAyMjEuMyAxNDEuNSAyMTQuM0MxNDMuNzAxIDIwOS42MzIgMTQzLjIgMjE2LjQgMTMyLjIgMjI4LjJDMTMyLjIgMjI4LjIgMTI3LjIgMjM2LjggMTIyIDIzOS44QzExNi44IDI0Mi44IDEwNC44IDI0OS44IDEwMy42IDI1My42QzEwMi40IDI1Ny40IDk5LjIgMjYzLjIgOTcuMiAyNjQuOEM5NS4yIDI2Ni40IDkyLjQgMjcwLjYgOTIgMjc0QzkyIDI3NCA5MC44IDI3OCA4OS40IDI3OS4yQzg4IDI4MC40IDg3LjggMjgzLjYgODcuOCAyODUuNkM4Ny44IDI4Ny42IDg1LjggMjkwLjQgODYgMjkyLjhDODYgMjkyLjggODYuOCAzMTEuODAxIDg2LjQgMzEzLjgwMUw4OC40IDMxMC4wMDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmZmIj4KKyAgPHBhdGggZD0iTTc5LjggMzE0LjYwMUM3OS44IDMxNC42MDEgNzcuOCAzMTMuMjAxIDczLjQgMzE5LjIwMUM3My40IDMxOS4yMDEgODAuNyAzNTIuMjAxIDgwLjcgMzUzLjYwMUM4MC43IDM1My42MDEgODEuOCAzNTEuNTAxIDgwLjUgMzQ0LjMwMUM3OS4yIDMzNy4xMDEgNzguMyAzMjQuNDAxIDc4LjMgMzI0LjQwMUw3OS44IDMxNC42MDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjOTkyNjAwIj4KKyAgPHBhdGggZD0iTTEwMS40IDI1NEMxMDEuNCAyNTQgODMuOCAyNTcuMiA4NC4yIDI4Ni40TDgzLjQgMzExLjIwMUM4My40IDMxMS4yMDEgODIuMiAyODUuNiA4MSAyODRDNzkuOCAyODIuNCA4My44IDI3MS4yIDgwLjYgMjc3LjJDODAuNiAyNzcuMiA2Ni42IDI5MS4yIDc0LjYgMzEyLjQwMUM3NC42IDMxMi40MDEgNzYuMSAzMTUuNzAxIDczLjEgMzExLjEwMUM3My4xIDMxMS4xMDEgNjguNSAyOTguNSA2OS42IDI5Mi4xQzY5LjYgMjkyLjEgNjkuOCAyODkuOSA3MS43IDI4Ny4xQzcxLjcgMjg3LjEgODAuMyAyNzUuNCA4MyAyNzMuMUM4MyAyNzMuMSA4NC44IDI1OC43IDEwMC4yIDI1My41QzEwMC4yIDI1My41IDEwNS45IDI1MS4yIDEwMS40IDI1NHoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICMwMDAwMDAiPgorICA8cGF0aCBkPSJNMjQwLjggMTg3LjhDMjQxLjQ2IDE4Ny40NDYgMjQxLjQ1MSAxODYuNDc2IDI0Mi4wMzEgMTg2LjMwM0MyNDMuMTggMTg1Ljk1OSAyNDMuMzQ0IDE4NC44OTIgMjQzLjg2MiAxODQuMTA4QzI0NC43MzUgMTgyLjc4OSAyNDQuOTI4IDE4MS4yNTYgMjQ1LjUxIDE3OS43NjVDMjQ1Ljc4MiAxNzkuMDY1IDI0NS44MDkgMTc4LjExIDI0NS40OTYgMTc3LjQ1QzI0NC4zMjIgMTc0Ljk2OSAyNDMuNjIgMTcyLjUyIDI0Mi4xNzggMTcwLjA5NEMyNDEuOTEgMTY5LjY0NCAyNDEuNjQ4IDE2OC44NSAyNDEuNDQ3IDE2OC4yNTJDMjQwLjk4NCAxNjYuODY4IDIzOS43MjcgMTY1Ljg3NyAyMzguODY3IDE2NC41NTdDMjM4LjU3OSAxNjQuMTE2IDIzOS4xMDQgMTYzLjE5MSAyMzguMzg4IDE2My4xMDdDMjM3LjQ5MSAxNjMuMDAyIDIzNi4wNDIgMTYyLjQyMiAyMzUuODA5IDE2My40NDhDMjM1LjIyMSAxNjYuMDM1IDIzNi4yMzIgMTY4LjU1OCAyMzcuMiAxNzFDMjM2LjQxOCAxNzEuNjkyIDIzNi43NTIgMTcyLjYxMyAyMzYuOTA0IDE3My4zOEMyMzcuNjE0IDE3Ni45ODYgMjM2LjQxNiAxODAuMzM4IDIzNS42NTUgMTgzLjgxMkMyMzUuNjMyIDE4My45MTYgMjM1Ljk3NCAxODQuMTE0IDIzNS45NDYgMTg0LjE3NkMyMzQuNzI0IDE4Ni44NjIgMjMzLjI3MiAxODkuMzA3IDIzMS40NTMgMTkxLjY4OEMyMzAuNjk1IDE5Mi42OCAyMjkuODIzIDE5My41OTYgMjI5LjMyNiAxOTQuNjU5QzIyOC45NTggMTk1LjQ0NiAyMjguNTUgMTk2LjQxMiAyMjguOCAxOTcuNEMyMjUuMzY1IDIwMC4xOCAyMjMuMTE1IDIwNC4wMjUgMjIwLjUwNCAyMDcuODcxQzIyMC4wNDIgMjA4LjU1MSAyMjAuMzMzIDIwOS43NiAyMjAuODg0IDIxMC4wMjlDMjIxLjY5NyAyMTAuNDI3IDIyMi42NTMgMjA5LjQwMyAyMjMuMTIzIDIwOC41NTdDMjIzLjUxMiAyMDcuODU5IDIyMy44NjUgMjA3LjIwOSAyMjQuMzU2IDIwNi41NjZDMjI0LjQ4OSAyMDYuMzkxIDIyNC4zMSAyMDUuOTcyIDIyNC40NDUgMjA1Ljg1MUMyMjcuMDc4IDIwMy41MDQgMjI4Ljc0NyAyMDAuNTY4IDIzMS4yIDE5OC4yQzIzMy4xNSAxOTcuODcxIDIzNC42ODcgMTk2Ljg3MyAyMzYuNDM1IDE5NS44NkMyMzYuNzQzIDE5NS42ODEgMjM3LjI2NyAxOTUuOTMgMjM3LjU1NyAxOTUuNzM1QzIzOS4zMSAxOTQuNTU4IDIzOS4zMDggMTkyLjUyMiAyMzkuNDE0IDE5MC42MTJDMjM5LjQ2NCAxODkuNzI4IDIzOS42NiAxODguNDExIDI0MC44IDE4Ny44eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0yMzEuOTU5IDE4My4zMzRDMjMyLjA4MyAxODMuMjU3IDIzMS45MjggMTgyLjgzNCAyMzIuMDM3IDE4Mi42MThDMjMyLjE5OSAxODIuMjk0IDIzMi42MDIgMTgyLjEwNiAyMzIuNzY0IDE4MS43ODJDMjMyLjg3MyAxODEuNTY2IDIzMi43MSAxODEuMTg2IDIzMi44NDYgMTgxLjA0NEMyMzUuMTc5IDE3OC41OTcgMjM1LjQzNiAxNzUuNTczIDIzNC40IDE3Mi42QzIzNS40MjQgMTcxLjk4IDIzNS40ODUgMTcwLjcxOCAyMzUuMDYgMTY5Ljg3MUMyMzQuMjA3IDE2OC4xNzEgMjM0LjAxNCAxNjYuMjQ1IDIzMy4wMzkgMTY0LjcwMkMyMzIuMjM3IDE2My40MzMgMjMwLjY1OSAxNjIuMTg5IDIyOS4yODggMTYzLjQ5MkMyMjguODY3IDE2My44OTIgMjI4LjU0NiAxNjQuNjc5IDIyOC44MjQgMTY1LjM5MUMyMjguODg4IDE2NS41NTQgMjI5LjE3MyAxNjUuNyAyMjkuMTQ2IDE2NS43ODJDMjI5LjAzOSAxNjYuMTA2IDIyOC40OTMgMTY2LjMzIDIyOC40ODcgMTY2LjYwMkMyMjguNDU3IDE2OC4wOTggMjI3LjUwMyAxNjkuNjA5IDIyOC4xMzMgMTcwLjkzOEMyMjguOTA1IDE3Mi41NjcgMjI5LjcyNCAxNzQuNDI0IDIzMC40IDE3Ni4yQzIyOS4xNjYgMTc4LjMxNiAyMzAuMTk5IDE4MC43NjUgMjI4LjQ0NiAxODIuNjQyQzIyOC4zMSAxODIuNzg4IDIyOC4zMTkgMTgzLjE3NCAyMjguNDQxIDE4My4zNzZDMjI4LjczMyAxODMuODYyIDIyOS4xMzkgMTg0LjI2OCAyMjkuNjI1IDE4NC41NkMyMjkuODI3IDE4NC42ODEgMjMwLjE3NSAxODQuNjgzIDIzMC4zNzUgMTg0LjU1OUMyMzAuOTUzIDE4NC4xOTcgMjMxLjM1MSAxODMuNzEgMjMxLjk1OSAxODMuMzM0eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0yOTQuNzcxIDE3My4wMjNDMjk2LjE2IDE3NC44MTUgMjk2LjQ1IDE3Ny42MSAyOTQuNDAxIDE3OUMyOTQuOTUxIDE4Mi4zMDkgMjk4LjMwMiAxODAuMzMgMzAwLjQwMSAxNzkuOEMzMDAuMjkyIDE3OS40MTIgMzAwLjUxOSAxNzkuMDY4IDMwMC44MDIgMTc5LjA2M0MzMDEuODU5IDE3OS4wNDggMzAyLjUzOSAxNzguMDE2IDMwMy42MDEgMTc4LjJDMzA0LjAzNSAxNzYuNjQzIDMwNS42NzMgMTc1Ljk0MSAzMDYuMzE3IDE3NC41NjFDMzA4LjA0MyAxNzAuODY2IDMwNy40NTIgMTY2LjU5MyAzMDQuODY4IDE2My4zNDdDMzA0LjY2NiAxNjMuMDkzIDMwNC44ODMgMTYyLjU3NiAzMDQuNzU5IDE2Mi4yMTRDMzA0LjAwMyAxNjAuMDAzIDMwMS45MzUgMTU5LjY4OCAzMDAuMDAxIDE1OUMyOTguODI0IDE1NS4xMjUgMjk4LjE2MyAxNTEuMDk0IDI5Ni40MDEgMTQ3LjRDMjk0Ljc4NyAxNDcuMTUgMjk0LjA4OSAxNDUuNDExIDI5Mi43NTIgMTQ0LjY5MUMyOTEuNDE5IDE0My45NzIgMjkwLjg1MSAxNDUuNTUxIDI5MC44OTIgMTQ2LjU5N0MyOTAuODk5IDE0Ni44MDIgMjkxLjM1MSAxNDcuMDI2IDI5MS4xODEgMTQ3LjM5MUMyOTEuMTA1IDE0Ny41NTUgMjkwLjg0NSAxNDcuNjY2IDI5MC44NDUgMTQ3LjhDMjkwLjg0NiAxNDcuOTM1IDI5MS4wNjcgMTQ4LjA2NiAyOTEuMjAxIDE0OC4yQzI5MC4yODMgMTQ5LjAyIDI4OC44NiAxNDkuNDk3IDI4OC41NjUgMTUwLjY0MkMyODcuNjExIDE1NC4zNTIgMjkwLjE4NCAxNTcuNDc3IDI5MS44NTIgMTYwLjY3OEMyOTIuNDQzIDE2MS44MTMgMjkxLjcwNyAxNjMuMDg0IDI5MC45NDcgMTY0LjI5MkMyOTAuNTA5IDE2NC45ODcgMjkwLjYxNyAxNjYuMTE0IDI5MC44OTMgMTY2Ljk3QzI5MS42NDUgMTY5LjMwMSAyOTMuMjM2IDE3MS4wNCAyOTQuNzcxIDE3My4wMjN6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjMDAwMDAwIj4KKyAgPHBhdGggZD0iTTI1Ny42MTEgMTkxLjQwOUMyNTYuMTI0IDE5My4yNiAyNTIuNzEyIDE5NS44MjkgMjU1LjYyOSAxOTcuNzU3QzI1NS44MjMgMTk3Ljg4NiAyNTYuMTkzIDE5Ny44OSAyNTYuMzY2IDE5Ny43NTZDMjU4LjM4NyAxOTYuMTkxIDI2MC4zOSAxOTUuMjg4IDI2Mi44MjYgMTk0LjcwNkMyNjIuOTUgMTk0LjY3NyAyNjMuMjI0IDE5NS4xNDQgMjYzLjU5MyAxOTQuOTgzQzI2NS4yMDYgMTk0LjI4IDI2Ny4yMTYgMTk0LjMzOCAyNjguNCAxOTNDMjcyLjE2NyAxOTMuMjI0IDI3NS43MzIgMTkyLjEwOCAyNzkuMTIzIDE5MC44QzI4MC4yODQgMTkwLjM1MiAyODEuNTU0IDE4OS43OTMgMjgyLjc1NSAxODkuMjkxQzI4NC4xMzEgMTg4LjcxNSAyODUuMzM1IDE4Ny43ODcgMjg2LjQ0NyAxODYuNjQ2QzI4Ni41OCAxODYuNTEgMjg2LjkzNCAxODYuNiAyODcuMjAxIDE4Ni42QzI4Ny4xNjEgMTg1LjczNyAyODguMTIzIDE4NS42MSAyODguMzcgMTg0Ljk4OEMyODguNDYyIDE4NC43NTYgMjg4LjMxMiAxODQuMzYgMjg4LjQ0NSAxODQuMjU4QzI5MC41ODMgMTgyLjYyOCAyOTEuNTAzIDE4MC42MSAyOTAuMzM0IDE3OC4yMzNDMjkwLjA0OSAxNzcuNjU1IDI4OS44IDE3Ny4wMzcgMjg5LjIzNCAxNzYuNTYxQzI4OC4xNDkgMTc1LjY1IDI4Ny4wNDcgMTc2LjUwNCAyODYgMTc2LjJDMjg1Ljg0MSAxNzYuODI4IDI4NS4xMTIgMTc2LjY1NiAyODQuNzI2IDE3Ni44NTRDMjgzLjg2NyAxNzcuMjkzIDI4Mi41MzQgMTc2LjcwOCAyODEuNjc1IDE3Ny4xNDZDMjgwLjMxMyAxNzcuODQxIDI3OS4wNzIgMTc4LjAxIDI3Ny42NSAxNzguMzg3QzI3Ny4zMzggMTc4LjQ2OSAyNzYuNTYgMTc4LjM3MyAyNzYuNCAxNzlDMjc2LjI2NiAxNzguODY2IDI3Ni4xMTggMTc4LjYzMiAyNzYuMDEyIDE3OC42NTRDMjc0LjEwNCAxNzkuMDUgMjcyLjg0NCAxNzkuMjY0IDI3MS41NDMgMTgwLjk1NkMyNzEuNDQgMTgxLjA4OSAyNzAuOTk4IDE4MC45MSAyNzAuODM5IDE4MS4wNDVDMjY5Ljg4MiAxODEuODUzIDI2OS40NzcgMTgzLjA4NyAyNjguMzc2IDE4My43NTlDMjY4LjE3NSAxODMuODgyIDI2Ny44MjMgMTgzLjcxNCAyNjcuNjI5IDE4My44NDNDMjY2Ljk4MyAxODQuMjc0IDI2Ni42MTYgMTg0LjkxNSAyNjUuOTc0IDE4NS4zNjJDMjY1LjY0NSAxODUuNTkxIDI2NS4yNDUgMTg1LjI2NiAyNjUuMjc3IDE4NS4wMUMyNjUuNTIyIDE4My4wNjMgMjY2LjE3NSAxODEuMjc2IDI2NS42IDE3OS40QzI2Ny42NzcgMTc2Ljg4IDI3MC4xOTQgMTc0LjkzMSAyNzIgMTcyLjJDMjcyLjAxNSAxNzAuMDM0IDI3Mi43MDcgMTY3Ljg4OCAyNzIuNTk0IDE2NS44MTFDMjcyLjU4NCAxNjUuNjE4IDI3Mi4yOTYgMTY0Ljg4NSAyNzIuMTcgMTY0LjUzOEMyNzEuODU4IDE2My42ODQgMjcyLjc2NCAxNjIuNjE4IDI3MS45MiAxNjEuODk0QzI3MC41MTYgMTYwLjY5MSAyNjkuMjI0IDE2MS41NjcgMjY4LjQgMTYzQzI2Ni41NjIgMTYzLjM5IDI2NC40OTYgMTY0LjA4MyAyNjIuOTE4IDE2Mi44NDlDMjYxLjkxMSAxNjIuMDYyIDI2MS4zMzMgMTYxLjE1NiAyNjAuNTM0IDE2MC4xQzI1OS41NDkgMTU4Ljc5OCAyNTkuODg0IDE1Ny4zNjIgMjU5Ljk1NCAxNTUuNzk4QzI1OS45NiAxNTUuNjcgMjU5LjY0NSAxNTUuNTM0IDI1OS42NDUgMTU1LjRDMjU5LjY0NiAxNTUuMjY1IDI1OS44NjYgMTU1LjEzNCAyNjAgMTU1QzI1OS4yOTQgMTU0LjM3NCAyNTkuMDE5IDE1My4zMTYgMjU4IDE1M0MyNTguMzA1IDE1MS45MDggMjU3LjYyOSAxNTEuMDI0IDI1Ni43NTggMTUwLjcyMkMyNTQuNzYzIDE1MC4wMzEgMjUzLjA4NiAxNTEuOTQzIDI1MS4xOTQgMTUyLjAxNkMyNTAuNjggMTUyLjAzNSAyNTAuMjEzIDE1MC45OTcgMjQ5LjU2NCAxNTAuNjcyQzI0OS4xMzIgMTUwLjQ1NiAyNDguNDI4IDE1MC40MjMgMjQ4LjA2NiAxNTAuNjg5QzI0Ny4zNzggMTUxLjE5MyAyNDYuNzg5IDE1MS4zMDcgMjQ2LjAzMSAxNTEuNTEyQzI0NC40MTQgMTUxLjk0OCAyNDMuMTM2IDE1My4wNDIgMjQxLjY1NiAxNTMuODk3QzI0MC4xNzEgMTU0Ljc1NCAyMzkuMjE2IDE1Ni4xOTEgMjM4LjEzNiAxNTcuNTExQzIzNy4xOTUgMTU4LjY2MyAyMzcuMDU5IDE2MS4wNzcgMjM4LjQ3OSAxNjEuNTc3QzI0MC4zMjIgMTYyLjIyNyAyNDEuNjI2IDE1OS41MjQgMjQzLjU5MiAxNTkuODVDMjQzLjkwNCAxNTkuOTAxIDI0NC4xMSAxNjAuMjEyIDI0NCAxNjAuNkMyNDQuMzg5IDE2MC43MDkgMjQ0LjYwNyAxNjAuNDggMjQ0LjggMTYwLjJDMjQ1LjY1OCAxNjEuMjE5IDI0Ni44MjIgMTYxLjU1NiAyNDcuNzYgMTYyLjQyOUMyNDguNzMgMTYzLjMzMyAyNTAuNDc2IDE2Mi45MTUgMjUxLjQ5MSAxNjMuOTEyQzI1My4wMiAxNjUuNDE0IDI1Mi40NjEgMTY4LjA5NSAyNTQuNCAxNjkuNEMyNTMuODE0IDE3MC43MTMgMjUzLjIwNyAxNzEuOTkgMjUyLjg3MiAxNzMuNDE3QzI1Mi41OSAxNzQuNjIzIDI1My41ODQgMTc1LjgyIDI1NC43OTUgMTc1LjcyOUMyNTYuMDUzIDE3NS42MzUgMjU2LjMxNSAxNzQuODc2IDI1Ni44IDE3My44QzI1Ny4wNjcgMTc0LjA2NyAyNTcuNTM2IDE3NC4zNjQgMjU3LjQ5NSAxNzQuNThDMjU3LjAzOCAxNzYuOTY3IDI1Ni4wMTEgMTc4Ljk2IDI1NS41NTMgMTgxLjM5MUMyNTUuNDk0IDE4MS43MDggMjU1LjE4OSAxODEuOTEgMjU0LjggMTgxLjhDMjU0LjMzMiAxODUuOTQ5IDI1MC4yOCAxODguMzQzIDI0Ny43MzUgMTkxLjUwOEMyNDcuMzMyIDE5Mi4wMSAyNDcuMzI4IDE5My4yNTkgMjQ3LjczNyAxOTMuNjYyQzI0OS4xNCAxOTUuMDQ5IDI1MS4xIDE5My41MDMgMjUyLjggMTkzQzI1My4wMTMgMTkxLjc5NCAyNTMuODcyIDE5MC44NTIgMjU1LjIwNCAxOTAuOTA4QzI1NS40NiAxOTAuOTE4IDI1NS42OTUgMTkwLjM3NiAyNTYuMDE5IDE5MC4yNDZDMjU2LjM2NyAxOTAuMTA4IDI1Ni44NjkgMTkwLjMzMiAyNTcuMTU1IDE5MC4xMzRDMjU4Ljg4NCAxODguOTM5IDI2MC4yOTIgMTg3LjgzMyAyNjIuMDMgMTg2LjY0NEMyNjIuMjIyIDE4Ni41MTMgMjYyLjU2NiAxODYuNjcyIDI2Mi43ODIgMTg2LjU2NEMyNjMuMTA3IDE4Ni40MDIgMjYzLjI5NCAxODYuMDE1IDI2My42MTcgMTg1LjgzQzI2My45NjUgMTg1LjYzIDI2NC4yMDcgMTg1LjkyIDI2NC40IDE4Ni4yQzI2My43NTQgMTg2LjU0OSAyNjMuNzUgMTg3LjUwNiAyNjMuMTY4IDE4Ny43MDhDMjYyLjM5MyAxODcuOTc2IDI2MS44MzIgMTg4LjQ4OSAyNjEuMTU4IDE4OC45MzZDMjYwLjg2NiAxODkuMTI5IDI2MC4yMDcgMTg4Ljg4MSAyNjAuMTAzIDE4OS4wNkMyNTkuNTA1IDE5MC4wODggMjU4LjMyMSAxOTAuNTI2IDI1Ny42MTEgMTkxLjQwOXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICMwMDAwMDAiPgorICA8cGF0aCBkPSJNMjAyLjIgMTQyQzIwMi4yIDE0MiAxOTIuOTYyIDEzOS4xMjggMTgxLjggMTY0LjhDMTgxLjggMTY0LjggMTc5LjQgMTcwIDE3NyAxNzJDMTc0LjYgMTc0IDE2My40IDE3Ny42IDE2MS40IDE4MS42TDE1MSAxOTcuNkMxNTEgMTk3LjYgMTY1LjggMTgxLjYgMTY5IDE3OS4yQzE2OSAxNzkuMiAxNzcgMTcwLjggMTczLjggMTc3LjZDMTczLjggMTc3LjYgMTU5LjggMTg4LjQgMTYxIDE5Ny42QzE2MSAxOTcuNiAxNTUuNCAyMTIgMTU0LjYgMjE0QzE1NC42IDIxNCAxNzAuNiAxODIgMTczIDE4MC44QzE3NS40IDE3OS42IDE3Ni42IDE3OS42IDE3NS40IDE4My4yQzE3NC4yIDE4Ni44IDE3My44IDIwMy4yIDE3MSAyMDUuMkMxNzEgMjA1LjIgMTc5IDE4NC44IDE3OC4yIDE4MS42QzE3OC4yIDE4MS42IDE4MS40IDE3OCAxODMuOCAxODMuMkwxODIuNiAxOTkuMkwxODcgMjExLjJDMTg3IDIxMS4yIDE4NC42IDIwMCAxODYuMiAxODQuNEMxODYuMiAxODQuNCAxODQuMiAxNzQgMTg4LjIgMTc5LjZDMTkyLjIgMTg1LjIgMjAxLjggMTkxLjIgMjAxLjggMTk2QzIwMS44IDE5NiAxOTYuNiAxNzguNCAxODcuNCAxNzMuNkwxODMuNCAxNzkuNkwxODIuMiAxNzcuNkMxODIuMiAxNzcuNiAxNzguNiAxNzYuOCAxODMgMTcwQzE4Ny40IDE2My4yIDE4NyAxNjIuNCAxODcgMTYyLjRDMTg3IDE2Mi40IDE5My40IDE2OS42IDE5NSAxNjkuNkMxOTUgMTY5LjYgMjA4LjIgMTYyIDIwOS40IDE4Ni40QzIwOS40IDE4Ni40IDIxNi4yIDE3MiAyMDcgMTY1LjJDMjA3IDE2NS4yIDE5Mi4yIDE2My4yIDE5My40IDE1OEwyMDAuNiAxNDUuNkMyMDQuMiAxNDAuNCAyMDIuNiAxNDMuMiAyMDIuNiAxNDMuMnoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICMwMDAwMDAiPgorICA8cGF0aCBkPSJNMTgyLjIgMTU4LjRDMTgyLjIgMTU4LjQgMTY5LjQgMTU4LjQgMTY2LjIgMTYzLjZMMTU5IDE3My4yQzE1OSAxNzMuMiAxNzYuMiAxNjMuMiAxODAuMiAxNjJDMTg0LjIgMTYwLjggMTgyLjIgMTU4LjQgMTgyLjIgMTU4LjR6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjMDAwMDAwIj4KKyAgPHBhdGggZD0iTTE0Mi4yIDE2NC44QzE0Mi4yIDE2NC44IDE0MC4yIDE2NiAxMzkuOCAxNjguOEMxMzkuNCAxNzEuNiAxMzcgMTcyIDEzNy44IDE3NC44QzEzOC42IDE3Ny42IDE0MC42IDE4MCAxNDAuNiAxNzZDMTQwLjYgMTcyIDE0Mi4yIDE3MCAxNDMgMTY4LjhDMTQzLjggMTY3LjYgMTQ1LjQgMTYzLjIgMTQyLjIgMTY0Ljh6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjMDAwMDAwIj4KKyAgPHBhdGggZD0iTTEzMy40IDIyNkMxMzMuNCAyMjYgMTI1IDIyMiAxMjEuOCAyMTguNEMxMTguNiAyMTQuOCAxMTkuMDUyIDIxOS45NjYgMTE0LjIgMjE5LjZDMTA4LjM1MyAyMTkuMTU5IDEwOS40IDIwMy4yIDEwOS40IDIwMy4yTDEwNS40IDIxMC44QzEwNS40IDIxMC44IDEwNC4yIDIyNS4yIDExMi4yIDIyMi44QzExNi4xMDcgMjIxLjYyOCAxMTcuNCAyMjMuMiAxMTUuOCAyMjRDMTE0LjIgMjI0LjggMTIxLjQgMjI1LjIgMTE4LjYgMjI2LjhDMTE1LjggMjI4LjQgMTMwLjIgMjIzLjIgMTI3LjggMjMzLjZMMTMzLjQgMjI2eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0xMjAuOCAyNDAuNEMxMjAuOCAyNDAuNCAxMDUuNCAyNDQuOCAxMDEuOCAyMzUuMkMxMDEuOCAyMzUuMiA5NyAyMzcuNiA5OS4yIDI0MC42QzEwMS40IDI0My42IDEwMi42IDI0NCAxMDIuNiAyNDRDMTAyLjYgMjQ0IDEwOCAyNDUuMiAxMDcuNCAyNDZDMTA2LjggMjQ2LjggMTA0LjQgMjUwLjIgMTA0LjQgMjUwLjJDMTA0LjQgMjUwLjIgMTE0LjYgMjQ0LjIgMTIwLjggMjQwLjR6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmZmIj4KKyAgPHBhdGggZD0iTTM0OS4yMDEgMzE4LjYwMUMzNDguNzc0IDMyMC43MzUgMzQ3LjEwMyAzMjEuNTM2IDM0NS4yMDEgMzIyLjIwMUMzNDMuMjg0IDMyMS4yNDMgMzQwLjY4NiAzMTguMTM3IDMzOC44MDEgMzIwLjIwMUMzMzguMzI3IDMxOS43MjEgMzM3LjU0OCAzMTkuNjYxIDMzNy4yMDQgMzE4Ljk5OUMzMzYuNzM5IDMxOC4xMDEgMzM3LjAxMSAzMTcuMDU1IDMzNi42NjkgMzE2LjI1N0MzMzYuMTI0IDMxNC45ODUgMzM1LjQxNSAzMTMuNjE5IDMzNS42MDEgMzEyLjIwMUMzMzcuNDA3IDMxMS40ODkgMzM4LjAwMiAzMDkuNTgzIDMzNy41MjggMzA3LjgyQzMzNy40NTkgMzA3LjU2MyAzMzcuMDMgMzA3LjM2NiAzMzcuMjMgMzA3LjAxN0MzMzcuNDE2IDMwNi42OTQgMzM3LjczNCAzMDYuNDY3IDMzOC4wMDEgMzA2LjJDMzM3Ljg2NiAzMDYuMzM1IDMzNy43MjEgMzA2LjU2OCAzMzcuNjEgMzA2LjU0OEMzMzcgMzA2LjQ0MiAzMzcuMTI0IDMwNS44MDUgMzM3LjI1NCAzMDUuNDE4QzMzNy44MzkgMzAzLjY3MiAzMzkuODUzIDMwMy40MDggMzQxLjIwMSAzMDQuNkMzNDEuNDU3IDMwNC4wMzUgMzQxLjk2NiAzMDQuMjI5IDM0Mi40MDEgMzA0LjJDMzQyLjM1MSAzMDMuNjIxIDM0Mi43NTkgMzAzLjA5NCAzNDIuOTU3IDMwMi42NzRDMzQzLjQ3NSAzMDEuNTc2IDM0NS4xMDQgMzAyLjY4MiAzNDUuOTAxIDMwMi4wN0MzNDYuOTc3IDMwMS4yNDUgMzQ4LjA0IDMwMC41NDYgMzQ5LjExOCAzMDEuMTQ5QzM1MC45MjcgMzAyLjE2MiAzNTIuNjM2IDMwMy4zNzQgMzUzLjgzNSAzMDUuMTE1QzM1NC40MSAzMDUuOTQ5IDM1NC42NSAzMDcuMjMgMzU0LjU5MiAzMDguMTg4QzM1NC41NTQgMzA4LjgzNSAzNTMuMTczIDMwOC40ODMgMzUyLjgzIDMwOS40MTJDMzUyLjE4NSAzMTEuMTYgMzU0LjAxNiAzMTEuNjc5IDM1NC43NzIgMzEzLjAxN0MzNTQuOTcgMzEzLjM2NiAzNTQuNzA2IDMxMy42NyAzNTQuMzkxIDMxMy43NjhDMzUzLjk4IDMxMy44OTYgMzUzLjE5NiAzMTMuNzA3IDM1My4zMzQgMzE0LjE2QzM1NC4zMDYgMzE3LjM1MyAzNTEuNTUgMzE4LjAzMSAzNDkuMjAxIDMxOC42MDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmZmIj4KKyAgPHBhdGggZD0iTTMzOS42IDMzOC4yMDFDMzM5LjU5MyAzMzYuNDYzIDMzNy45OTIgMzM0LjcwNyAzMzkuMjAxIDMzMy4wMDFDMzM5LjMzNiAzMzMuMTM1IDMzOS40NjcgMzMzLjM1NiAzMzkuNjAxIDMzMy4zNTZDMzM5LjczNiAzMzMuMzU2IDMzOS44NjcgMzMzLjEzNSAzNDAuMDAxIDMzMy4wMDFDMzQxLjQ5NiAzMzUuMjE3IDM0NS4xNDggMzM2LjE0NSAzNDUuMDA2IDMzOC45OTFDMzQ0Ljk4NCAzMzkuNDM4IDM0My44OTcgMzQwLjM1NiAzNDQuODAxIDM0MS4wMDFDMzQyLjk4OCAzNDIuMzQ5IDM0Mi45MzMgMzQ0LjcxOSAzNDIuMDAxIDM0Ni42MDFDMzQwLjc2MyAzNDYuMzE1IDMzOS41NTEgMzQ1Ljk1MiAzMzguNDAxIDM0NS40MDFDMzM4Ljc1MyAzNDMuOTE1IDMzOC42MzYgMzQyLjIzMSAzMzkuNDU2IDM0MC45MTFDMzM5Ljg5IDM0MC4yMTMgMzM5LjYwMyAzMzkuMTM0IDMzOS42IDMzOC4yMDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjY2NjY2NjIj4KKyAgPHBhdGggZD0iTTE3My40IDMyOS4yMDFDMTczLjQgMzI5LjIwMSAxNTYuNTQyIDMzOS4zMzcgMTcwLjYgMzI0LjAwMUMxNzkuNCAzMTQuNDAxIDE4OS40IDMwOC44MDEgMTg5LjQgMzA4LjgwMUMxODkuNCAzMDguODAxIDE5OS44IDMwNC40IDIwMy40IDMwMy4yQzIwNyAzMDIgMjIyLjIgMjk2LjggMjI1LjQgMjk2LjRDMjI4LjYgMjk2IDIzOC4yIDI5MiAyNDUgMjk2QzI1MS44IDMwMCAyNTkuOCAzMDQuNCAyNTkuOCAzMDQuNEMyNTkuOCAzMDQuNCAyNDMuNCAyOTYgMjM5LjggMjk4LjRDMjM2LjIgMzAwLjggMjI5IDMwMC40IDIyMyAzMDMuNkMyMjMgMzAzLjYgMjA4LjIgMzA4LjAwMSAyMDUgMzEwLjAwMUMyMDEuOCAzMTIuMDAxIDE5MS40IDMyMy42MDEgMTg5LjggMzIyLjgwMUMxODguMiAzMjIuMDAxIDE5MC4yIDMyMS42MDEgMTkxLjQgMzE4LjgwMUMxOTIuNiAzMTYuMDAxIDE5MC42IDMxNC40MDEgMTgyLjYgMzIwLjgwMUMxNzQuNiAzMjcuMjAxIDE3My40IDMyOS4yMDEgMTczLjQgMzI5LjIwMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICMwMDAwMDAiPgorICA8cGF0aCBkPSJNMTgwLjgwNSAzMjMuMjM0QzE4MC44MDUgMzIzLjIzNCAxODIuMjE1IDMxMC4xOTQgMTkwLjY5MyAzMTEuODU5QzE5MC42OTMgMzExLjg1OSAxOTguOTE5IDMwNy42ODkgMjAxLjY0MSAzMDUuNzIxQzIwMS42NDEgMzA1LjcyMSAyMDkuNzggMzA0LjAxOSAyMTEuMDkgMzAzLjQwMkMyMjkuNTY5IDI5NC43MDIgMjQ0LjI4OCAyOTkuMjIxIDI0NC44MzUgMjk4LjEwMUMyNDUuMzgxIDI5Ni45ODIgMjY1LjAwNiAzMDQuMDk5IDI2OC42MTUgMzA4LjE4NUMyNjkuMDA2IDMwOC42MjggMjU4LjM4NCAzMDIuNTg4IDI0OC42ODYgMzAwLjY5N0MyNDAuNDEzIDI5OS4wODMgMjE4LjgxMSAzMDAuOTQ0IDIwNy45MDUgMzA2LjQ4QzIwNC45MzIgMzA3Ljk4OSAxOTUuOTg3IDMxMy43NzMgMTkzLjQ1NiAzMTMuNjYyQzE5MC45MjUgMzEzLjU1IDE4MC44MDUgMzIzLjIzNCAxODAuODA1IDMyMy4yMzR6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjY2NjY2NjIj4KKyAgPHBhdGggZD0iTTE3NyAzNDguODAxQzE3NyAzNDguODAxIDE2MS44IDM0Ni40MDEgMTc4LjYgMzQ0LjgwMUMxNzguNiAzNDQuODAxIDE5Ni42IDM0Mi44MDEgMjAwLjYgMzM3LjYwMUMyMDAuNiAzMzcuNjAxIDIxNC4yIDMyOC40MDEgMjE3IDMyOC4wMDFDMjE5LjggMzI3LjYwMSAyNDkuOCAzMjAuNDAxIDI1MC4yIDMxOC4wMDFDMjUwLjYgMzE1LjYwMSAyNTYuMiAzMTUuNjAxIDI1Ny44IDMxNi40MDFDMjU5LjQgMzE3LjIwMSAyNTguNiAzMTguNDAxIDI1NS44IDMxOS4yMDFDMjUzIDMyMC4wMDEgMjIxLjggMzM2LjQwMSAyMTUuNCAzMzcuNjAxQzIwOSAzMzguODAxIDE5Ny40IDM0Ni40MDEgMTkyLjYgMzQ3LjYwMUMxODcuOCAzNDguODAxIDE3NyAzNDguODAxIDE3NyAzNDguODAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0xOTYuNTIgMzQxLjQwM0MxOTYuNTIgMzQxLjQwMyAxODcuOTM4IDM0MC41NzQgMTk2LjUzOSAzMzkuNzU1QzE5Ni41MzkgMzM5Ljc1NSAyMDUuMzU1IDMzNi4zMzEgMjA3LjQwMyAzMzMuNjY4QzIwNy40MDMgMzMzLjY2OCAyMTQuMzY3IDMyOC45NTcgMjE1LjggMzI4Ljc1M0MyMTcuMjM0IDMyOC41NDggMjMxLjE5NCAzMjQuODYxIDIzMS4zOTkgMzIzLjYzM0MyMzEuNjA0IDMyMi40MDQgMjY1LjY3IDMwOS44MjMgMjcwLjA5IDMxMy4wMTNDMjczLjAwMSAzMTUuMTE0IDI2My4xIDMxMy40MzcgMjUzLjQ2NiAzMTcuODQ3QzI1Mi4xMTEgMzE4LjQ2NyAyMTguMjU4IDMzMy4wNTQgMjE0Ljk4MSAzMzMuNjY4QzIxMS43MDQgMzM0LjI4MyAyMDUuNzY1IDMzOC4xNzQgMjAzLjMwNyAzMzguNzg4QzIwMC44NSAzMzkuNDAzIDE5Ni41MiAzNDEuNDAzIDE5Ni41MiAzNDEuNDAzeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0xODguNiAzNDMuNjAxQzE4OC42IDM0My42MDEgMTkzLjggMzQzLjIwMSAxOTIuNiAzNDQuODAxQzE5MS40IDM0Ni40MDEgMTg5IDM0NS42MDEgMTg5IDM0NS42MDFMMTg4LjYgMzQzLjYwMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICMwMDAwMDAiPgorICA8cGF0aCBkPSJNMTgxLjQgMzQ1LjIwMUMxODEuNCAzNDUuMjAxIDE4Ni42IDM0NC44MDEgMTg1LjQgMzQ2LjQwMUMxODQuMiAzNDguMDAxIDE4MS44IDM0Ny4yMDEgMTgxLjggMzQ3LjIwMUwxODEuNCAzNDUuMjAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0xNzEgMzQ2LjgwMUMxNzEgMzQ2LjgwMSAxNzYuMiAzNDYuNDAxIDE3NSAzNDguMDAxQzE3My44IDM0OS42MDEgMTcxLjQgMzQ4LjgwMSAxNzEuNCAzNDguODAxTDE3MSAzNDYuODAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0xNjMuNCAzNDcuNjAxQzE2My40IDM0Ny42MDEgMTY4LjYgMzQ3LjIwMSAxNjcuNCAzNDguODAxQzE2Ni4yIDM1MC40MDEgMTYzLjggMzQ5LjYwMSAxNjMuOCAzNDkuNjAxTDE2My40IDM0Ny42MDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjMDAwMDAwIj4KKyAgPHBhdGggZD0iTTIwMS44IDMwOC4wMDFDMjAxLjggMzA4LjAwMSAyMDYuMiAzMDguMDAxIDIwNSAzMDkuNjAxQzIwMy44IDMxMS4yMDEgMjAwLjYgMzEwLjgwMSAyMDAuNiAzMTAuODAxTDIwMS44IDMwOC4wMDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjMDAwMDAwIj4KKyAgPHBhdGggZD0iTTE5MS44IDMxMy42MDFDMTkxLjggMzEzLjYwMSAxOTguMzA2IDMxMS40NiAxOTUuOCAzMTQuODAxQzE5NC42IDMxNi40MDEgMTkyLjIgMzE1LjYwMSAxOTIuMiAzMTUuNjAxTDE5MS44IDMxMy42MDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjMDAwMDAwIj4KKyAgPHBhdGggZD0iTTE4MC42IDMxOC40MDFDMTgwLjYgMzE4LjQwMSAxODUuOCAzMTguMDAxIDE4NC42IDMxOS42MDFDMTgzLjQgMzIxLjIwMSAxODEgMzIwLjQwMSAxODEgMzIwLjQwMUwxODAuNiAzMTguNDAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0xNzMgMzI0LjQwMUMxNzMgMzI0LjQwMSAxNzguMiAzMjQuMDAxIDE3NyAzMjUuNjAxQzE3NS44IDMyNy4yMDEgMTczLjQgMzI2LjQwMSAxNzMuNCAzMjYuNDAxTDE3MyAzMjQuNDAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0xNjYuMiAzMjkuMjAxQzE2Ni4yIDMyOS4yMDEgMTcxLjQgMzI4LjgwMSAxNzAuMiAzMzAuNDAxQzE2OSAzMzIuMDAxIDE2Ni42IDMzMS4yMDEgMTY2LjYgMzMxLjIwMUwxNjYuMiAzMjkuMjAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0yMDUuMjgyIDMzNS41OThDMjA1LjI4MiAzMzUuNTk4IDIxMi4yMDMgMzM1LjA2NiAyMTAuNjA2IDMzNy4xOTVDMjA5LjAwOSAzMzkuMzI1IDIwNS44MTQgMzM4LjI2IDIwNS44MTQgMzM4LjI2TDIwNS4yODIgMzM1LjU5OHoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICMwMDAwMDAiPgorICA8cGF0aCBkPSJNMjE1LjY4MiAzMzAuNzk4QzIxNS42ODIgMzMwLjc5OCAyMjIuNjAzIDMzMC4yNjYgMjIxLjAwNiAzMzIuMzk1QzIxOS40MDkgMzM0LjUyNSAyMTYuMjE0IDMzMy40NiAyMTYuMjE0IDMzMy40NkwyMTUuNjgyIDMzMC43OTh6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjMDAwMDAwIj4KKyAgPHBhdGggZD0iTTIyNi40ODIgMzI2LjM5OEMyMjYuNDgyIDMyNi4zOTggMjMzLjQwMyAzMjUuODY2IDIzMS44MDYgMzI3Ljk5NUMyMzAuMjA5IDMzMC4xMjUgMjI3LjAxNCAzMjkuMDYgMjI3LjAxNCAzMjkuMDZMMjI2LjQ4MiAzMjYuMzk4eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0yMzYuODgyIDMyMS41OThDMjM2Ljg4MiAzMjEuNTk4IDI0My44MDMgMzIxLjA2NiAyNDIuMjA2IDMyMy4xOTVDMjQwLjYwOSAzMjUuMzI1IDIzNy40MTQgMzI0LjI2IDIzNy40MTQgMzI0LjI2TDIzNi44ODIgMzIxLjU5OHoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICMwMDAwMDAiPgorICA8cGF0aCBkPSJNMjA5LjI4MiAzMDMuNTk4QzIwOS4yODIgMzAzLjU5OCAyMTYuMjAzIDMwMy4wNjYgMjE0LjYwNiAzMDUuMTk1QzIxMy4wMDkgMzA3LjMyNSAyMDkuMDE0IDMwNy4wNiAyMDkuMDE0IDMwNy4wNkwyMDkuMjgyIDMwMy41OTh6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjMDAwMDAwIj4KKyAgPHBhdGggZD0iTTIxOS4yODIgMzAwLjM5OEMyMTkuMjgyIDMwMC4zOTggMjI2LjIwMyAyOTkuODY2IDIyNC42MDYgMzAxLjk5NUMyMjMuMDA5IDMwNC4xMjUgMjE4LjYxNCAzMDMuODYgMjE4LjYxNCAzMDMuODZMMjE5LjI4MiAzMDAuMzk4eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0xOTYuNiAzNDAuNDAxQzE5Ni42IDM0MC40MDEgMjAxLjggMzQwLjAwMSAyMDAuNiAzNDEuNjAxQzE5OS40IDM0My4yMDEgMTk3IDM0Mi40MDEgMTk3IDM0Mi40MDFMMTk2LjYgMzQwLjQwMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICM5OTI2MDAiPgorICA8cGF0aCBkPSJNMTIzLjQgMjQxLjJDMTIzLjQgMjQxLjIgMTE5IDI1MCAxMTguNiAyNTMuMkMxMTguNiAyNTMuMiAxMTkuNCAyNDQuNCAxMjAuNiAyNDIuNEMxMjEuOCAyNDAuNCAxMjMuNCAyNDEuMiAxMjMuNCAyNDEuMnoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICM5OTI2MDAiPgorICA8cGF0aCBkPSJNMTA1IDI1NS4yQzEwNSAyNTUuMiAxMDEuOCAyNjkuNiAxMDIuMiAyNzIuNEMxMDIuMiAyNzIuNCAxMDEgMjYwLjggMTAxLjQgMjU5LjZDMTAxLjggMjU4LjQgMTA1IDI1NS4yIDEwNSAyNTUuMnoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNjY2NjY2MiPgorICA8cGF0aCBkPSJNMTI1LjggMTgwLjZMMTI1LjYgMTgzLjhMMTIzLjQgMTg0QzEyMy40IDE4NCAxMzcuNiAxOTYuNiAxMzguMiAyMDQuMkMxMzguMiAyMDQuMiAxMzkgMTk2IDEyNS44IDE4MC42eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0xMjkuNzg0IDE4MS44NjVDMTI5LjM1MyAxODEuNDQ5IDEyOS41NzIgMTgwLjcwNCAxMjkuMTY0IDE4MC40NDRDMTI4LjM1NSAxNzkuOTI4IDEzMC40NjIgMTc5Ljg3MSAxMzAuMjM0IDE3OS4xNTVDMTI5Ljg1MSAxNzcuOTQ5IDEzMC4wMzggMTc3LjkyOCAxMjkuOTE2IDE3Ni42NTJDMTI5Ljg1OSAxNzYuMDU0IDEzMC40NDcgMTc0LjUxNCAxMzAuODMyIDE3NC4wNzRDMTMyLjI3OCAxNzIuNDIyIDEzMC45NTQgMTY5LjQ5IDEzMi41OTQgMTY3LjkzOUMxMzIuODk4IDE2Ny42NSAxMzMuMjc0IDE2Ny4wOTggMTMzLjU1OSAxNjYuNjhDMTM0LjIxOCAxNjUuNzE3IDEzNS40MDIgMTY1LjIyOSAxMzYuMzUyIDE2NC40MDFDMTM2LjY3IDE2NC4xMjUgMTM2LjQ2OSAxNjMuMjk4IDEzNy4wMzggMTYzLjM5QzEzNy43NTIgMTYzLjUwNSAxMzguOTkzIDE2My4zNzUgMTM4Ljk0OCAxNjQuMjE2QzEzOC44MzUgMTY2LjMzNiAxMzcuNTA2IDE2OC4wNTYgMTM2LjIyNiAxNjkuNzI0QzEzNi42NzcgMTcwLjQyOCAxMzYuMjE5IDE3MS4wNjMgMTM1LjkzNSAxNzEuNjJDMTM0LjYgMTc0LjI0IDEzNC43ODkgMTc3LjA4MSAxMzQuNjE1IDE3OS45MjFDMTM0LjYxIDE4MC4wMDYgMTM0LjMwMyAxODAuMDg0IDEzNC4zMTEgMTgwLjEzN0MxMzQuNjY0IDE4Mi40NzIgMTM1LjI0OCAxODQuNjcxIDEzNi4xMjcgMTg2LjlDMTM2LjQ5MyAxODcuODMgMTM2Ljk2NCAxODguNzI1IDEzNy4xMTQgMTg5LjY1MkMxMzcuMjI1IDE5MC4zMzggMTM3LjMyOCAxOTEuMTcxIDEzNi45MiAxOTEuODc2QzEzOC45NTUgMTk0Ljc2NiAxMzcuNjQ2IDE5Ny40MTcgMTM4LjgxNSAyMDAuOTQ4QzEzOS4wMjIgMjAxLjU3MyAxNDAuNzE0IDIwMy40ODcgMTQwLjI1MSAyMDMuMzI2QzEzNy43MzggMjAyLjQ1NSAxMzcuNjI2IDIwMi4wNTcgMTM3LjQ0OSAyMDEuMzA0QzEzNy4zMDMgMjAwLjY4MSAxMzYuOTczIDE5OS4zMDQgMTM2LjczNiAxOTguNzAyQzEzNi42NzIgMTk4LjUzOCAxMzYuNTAxIDE5Ni42NTQgMTM2LjQyMyAxOTYuNTMyQzEzNC45MSAxOTQuMTUgMTM2LjI2OCAxOTQuMzI2IDEzNC44OTggMTkxLjk2OEMxMzMuNDcgMTkxLjI4OCAxMzIuNTA0IDE5MC4xODQgMTMxLjM4MSAxODkuMDIyQzEzMS4xODMgMTg4LjgxOCAxMzIuMzI2IDE4OC4wOTQgMTMyLjE0NSAxODcuODgxQzEzMS4wNTMgMTg2LjU5MiAxMjkuOSAxODUuODI1IDEzMC4yMzYgMTg0LjMzMkMxMzAuMzkxIDE4My42NDIgMTMwLjUyOCAxODIuNTg1IDEyOS43ODQgMTgxLjg2NXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICMwMDAwMDAiPgorICA8cGF0aCBkPSJNMTI2LjIgMTgzLjZDMTI2LjIgMTgzLjYgMTI2LjYgMTkwLjQgMTI5IDE5MkMxMzEuNCAxOTMuNiAxMzAuMiAxOTIuOCAxMjcgMTkxLjZDMTIzLjggMTkwLjQgMTI1IDE4OS42IDEyNSAxODkuNkMxMjUgMTg5LjYgMTIyLjIgMTkwIDEyNC42IDE5MkMxMjcgMTk0IDEzMC42IDE5Ni40IDEyOSAxOTYuNEMxMjcuNCAxOTYuNCAxMTkuOCAxOTIuNCAxMTkuOCAxODkuNkMxMTkuOCAxODYuOCAxMTguOCAxODIuNyAxMTguOCAxODIuN0MxMTguOCAxODIuNyAxMTkuOSAxODEuOSAxMjQuNyAxODJDMTI0LjcgMTgyIDEyNi4xIDE4Mi43IDEyNi4yIDE4My42eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZmZjsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjEiPgorICA8cGF0aCBkPSJNMTI1LjQgMjAyLjJDMTI1LjQgMjAyLjIgMTE2Ljg4IDE5OS40MDkgOTguNCAyMDIuOEM5OC40IDIwMi44IDEwNy40MzEgMjAwLjcyMiAxMjYuMiAyMDNDMTM2LjUgMjA0LjI1IDEyNS40IDIwMi4yIDEyNS40IDIwMi4yeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZmZjsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjEiPgorICA8cGF0aCBkPSJNMTI3LjQ5OCAyMDIuMTI5QzEyNy40OTggMjAyLjEyOSAxMTkuMjUyIDE5OC42MTEgMTAwLjU0NyAyMDAuMzkyQzEwMC41NDcgMjAwLjM5MiAxMDkuNzI1IDE5OS4xMDMgMTI4LjIyNiAyMDIuOTk1QzEzOC4zOCAyMDUuMTMxIDEyNy40OTggMjAyLjEyOSAxMjcuNDk4IDIwMi4xMjl6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmZmOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuMSI+CisgIDxwYXRoIGQ9Ik0xMjkuMjg2IDIwMi4yMjJDMTI5LjI4NiAyMDIuMjIyIDEyMS4zMjQgMTk4LjEwMSAxMDIuNTM5IDE5OC40ODZDMTAyLjUzOSAxOTguNDg2IDExMS43ODcgMTk3Ljg4MiAxMjkuOTQ4IDIwMy4xNEMxMzkuOTE0IDIwNi4wMjUgMTI5LjI4NiAyMDIuMjIyIDEyOS4yODYgMjAyLjIyMnoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmZmY7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC4xIj4KKyAgPHBhdGggZD0iTTEzMC41NTYgMjAyLjQ0NUMxMzAuNTU2IDIwMi40NDUgMTIzLjczMiAxOTguMTM4IDEwNi44NTggMTk3LjA0QzEwNi44NTggMTk3LjA0IDExNS4xOTcgMTk3LjIxIDEzMS4wNzggMjAzLjMxOUMxMzkuNzk0IDIwNi42NzIgMTMwLjU1NiAyMDIuNDQ1IDEzMC41NTYgMjAyLjQ0NXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmZmY7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC4xIj4KKyAgPHBhdGggZD0iTTI0NS44NCAyMTIuOTYxQzI0NS44NCAyMTIuOTYxIDI0NC45MSAyMTMuNjA1IDI0NS4xMjQgMjEyLjQyNEMyNDUuMzM5IDIxMS4yNDMgMjczLjU0NyAxOTguMDczIDI3Ny4xNjEgMTk4LjMyM0MyNzcuMTYxIDE5OC4zMjMgMjQ2LjkxMyAyMTEuNTI5IDI0NS44NCAyMTIuOTYxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZmZjsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjEiPgorICA8cGF0aCBkPSJNMjQyLjQ0NiAyMTMuNkMyNDIuNDQ2IDIxMy42IDI0MS41NyAyMTQuMzE1IDI0MS42OTEgMjEzLjEyMUMyNDEuODEyIDIxMS45MjcgMjY4Ljg5OSAxOTYuNTgyIDI3Mi41MjEgMTk2LjU0OEMyNzIuNTIxIDE5Ni41NDggMjQzLjQwNCAyMTIuMDg5IDI0Mi40NDYgMjEzLjZ6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmZmOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuMSI+CisgIDxwYXRoIGQ9Ik0yMzkuMTYgMjE0Ljk3NUMyMzkuMTYgMjE0Ljk3NSAyMzguMzMyIDIxNS43NDcgMjM4LjM3NCAyMTQuNTQ3QzIzOC40MTYgMjEzLjM0OCAyNTguMjMzIDE5Ny44NTEgMjY4LjA0NSAxOTUuOTc3QzI2OC4wNDUgMTk1Ljk3NyAyNTAuMDE1IDIwNC4xMDQgMjM5LjE2IDIxNC45NzV6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmZmOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuMSI+CisgIDxwYXRoIGQ9Ik0yMzYuMjg0IDIxNi44MzhDMjM2LjI4NCAyMTYuODM4IDIzNS41MzkgMjE3LjUzMiAyMzUuNTc3IDIxNi40NTNDMjM1LjYxNSAyMTUuMzczIDI1My40NDkgMjAxLjQyNiAyNjIuMjggMTk5Ljc0QzI2Mi4yOCAxOTkuNzQgMjQ2LjA1NCAyMDcuMDU0IDIzNi4yODQgMjE2LjgzOHoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNjY2NjY2MiPgorICA8cGF0aCBkPSJNMjA0LjYgMzY0LjgwMUMyMDQuNiAzNjQuODAxIDE4OS40IDM2Mi40MDEgMjA2LjIgMzYwLjgwMUMyMDYuMiAzNjAuODAxIDIyNC4yIDM1OC44MDEgMjI4LjIgMzUzLjYwMUMyMjguMiAzNTMuNjAxIDI0MS44IDM0NC40MDEgMjQ0LjYgMzQ0LjAwMUMyNDcuNCAzNDMuNjAxIDI2My44IDM0MC4wMDEgMjY0LjIgMzM3LjYwMUMyNjQuNiAzMzUuMjAxIDI3MC42IDMzMi44MDEgMjcyLjIgMzMzLjYwMUMyNzMuOCAzMzQuNDAxIDI3My44IDM0My42MDEgMjcxIDM0NC40MDFDMjY4LjIgMzQ1LjIwMSAyNDkuNCAzNTIuNDAxIDI0MyAzNTMuNjAxQzIzNi42IDM1NC44MDEgMjI1IDM2Mi40MDEgMjIwLjIgMzYzLjYwMUMyMTUuNCAzNjQuODAxIDIwNC42IDM2NC44MDEgMjA0LjYgMzY0LjgwMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICMwMDAwMDAiPgorICA8cGF0aCBkPSJNMjc3LjYgMzI3LjQwMUMyNzcuNiAzMjcuNDAxIDI3NC42IDMyOS4wMDEgMjczLjQgMzMxLjYwMUMyNzMuNCAzMzEuNjAxIDI2NyAzNDIuMjAxIDI1Mi44IDM0NS40MDFDMjUyLjggMzQ1LjQwMSAyMjkuOCAzNTQuNDAxIDIyMiAzNTYuNDAxQzIyMiAzNTYuNDAxIDIwOC42IDM2MS40MDEgMjAxLjIgMzYwLjYwMUMyMDEuMiAzNjAuNjAxIDE5NC4yIDM2MC44MDEgMjAwLjQgMzYyLjQwMUMyMDAuNCAzNjIuNDAxIDIyMC42IDM2MC40MDEgMjI0IDM1OC42MDFDMjI0IDM1OC42MDEgMjM5LjYgMzUzLjQwMSAyNDIuNiAzNTAuODAxQzI0NS42IDM0OC4yMDEgMjYzLjggMzQzLjIwMSAyNjYgMzQxLjIwMUMyNjguMiAzMzkuMjAxIDI3OCAzMzAuODAxIDI3Ny42IDMyNy40MDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjMDAwMDAwIj4KKyAgPHBhdGggZD0iTTIxOC44ODIgMzU4LjkxMUMyMTguODgyIDM1OC45MTEgMjI0LjExMSAzNTguNjg1IDIyMi45NTggMzYwLjIzNEMyMjEuODA1IDM2MS43ODQgMjE5LjM1NyAzNjAuOTEgMjE5LjM1NyAzNjAuOTFMMjE4Ljg4MiAzNTguOTExeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0yMTEuNjggMzYwLjI2M0MyMTEuNjggMzYwLjI2MyAyMTYuOTA4IDM2MC4wMzcgMjE1Ljc1NiAzNjEuNTg2QzIxNC42MDMgMzYzLjEzNiAyMTIuMTU1IDM2Mi4yNjMgMjEyLjE1NSAzNjIuMjYzTDIxMS42OCAzNjAuMjYzeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0yMDEuMjUxIDM2MS41MTFDMjAxLjI1MSAzNjEuNTExIDIwNi40OCAzNjEuMjg0IDIwNS4zMjcgMzYyLjgzNEMyMDQuMTc0IDM2NC4zODMgMjAxLjcyNiAzNjMuNTEgMjAxLjcyNiAzNjMuNTFMMjAxLjI1MSAzNjEuNTExeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0xOTMuNjE3IDM2Mi4wNTVDMTkzLjYxNyAzNjIuMDU1IDE5OC44NDYgMzYxLjgyOSAxOTcuNjkzIDM2My4zNzhDMTk2LjU0IDM2NC45MjggMTk0LjA5MiAzNjQuMDU0IDE5NC4wOTIgMzY0LjA1NEwxOTMuNjE3IDM2Mi4wNTV6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjMDAwMDAwIj4KKyAgPHBhdGggZD0iTTIzNS40MTUgMzUxLjUxM0MyMzUuNDE1IDM1MS41MTMgMjQyLjM3NSAzNTEuMjEyIDI0MC44NCAzNTMuMjc0QzIzOS4zMDYgMzU1LjMzNiAyMzYuMDQ3IDM1NC4xNzQgMjM2LjA0NyAzNTQuMTc0TDIzNS40MTUgMzUxLjUxM3oiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICMwMDAwMDAiPgorICA8cGF0aCBkPSJNMjQ1LjczIDM0Ny4wODhDMjQ1LjczIDM0Ny4wODggMjUxLjY4OSAzNDMuNzg3IDI1MS4xNTUgMzQ4Ljg0OUMyNTAuODg1IDM1MS40MDUgMjQ2LjM2MiAzNDkuNzQ5IDI0Ni4zNjIgMzQ5Ljc0OUwyNDUuNzMgMzQ3LjA4OHoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICMwMDAwMDAiPgorICA8cGF0aCBkPSJNMjU0Ljg2MiAzNDQuMjc0QzI1NC44NjIgMzQ0LjI3NCAyNjIuMDIxIDM0MC41NzMgMjYwLjI4NyAzNDYuMDM1QzI1OS41MDkgMzQ4LjQ4NSAyNTUuNDkzIDM0Ni45MzUgMjU1LjQ5MyAzNDYuOTM1TDI1NC44NjIgMzQ0LjI3NHoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICMwMDAwMDAiPgorICA8cGF0aCBkPSJNMjY0LjM3NiAzMzkuNDQ5QzI2NC4zNzYgMzM5LjQ0OSAyNjguNzM1IDMzNC41NDggMjY5LjgwMSAzNDEuMjFDMjcwLjIwNyAzNDMuNzQ4IDI2NS4wMDggMzQyLjExIDI2NS4wMDggMzQyLjExTDI2NC4zNzYgMzM5LjQ0OXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICMwMDAwMDAiPgorICA8cGF0aCBkPSJNMjI2LjgzNCAzNTUuOTk3QzIyNi44MzQgMzU1Ljk5NyAyMzIuMDYyIDM1NS43NyAyMzAuOTEgMzU3LjMyQzIyOS43NTcgMzU4Ljg2OSAyMjcuMzA4IDM1Ny45OTYgMjI3LjMwOCAzNTcuOTk2TDIyNi44MzQgMzU1Ljk5N3oiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmZmY7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC4xIj4KKyAgPHBhdGggZD0iTTI2Mi40MzQgMjM0LjYwM0MyNjIuNDM0IDIzNC42MDMgMjYxLjcwOCAyMzUuMjY4IDI2MS43MDcgMjM0LjE5N0MyNjEuNzA3IDIzMy4xMjcgMjc5LjE5MSAyMTkuODYzIDI4OC4wMzQgMjE4LjQ3OUMyODguMDM0IDIxOC40NzkgMjcxLjkzNSAyMjUuMjA4IDI2Mi40MzQgMjM0LjYwM3oiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICMwMDAwMDAiPgorICA8cGF0aCBkPSJNMjY1LjQgMjk4LjRDMjY1LjQgMjk4LjQgMjg3LjQwMSAzMjAuODAxIDI5Ni42MDEgMzI0LjQwMUMyOTYuNjAxIDMyNC40MDEgMzA1LjgwMSAzMzUuNjAxIDMwMS44MDEgMzYxLjYwMUMzMDEuODAxIDM2MS42MDEgMjk4LjYwMSAzNjkuMjAxIDI5NS40MDEgMzQ4LjQwMUMyOTUuNDAxIDM0OC40MDEgMjk4LjYwMSAzMjMuMjAxIDI4Ny40MDEgMzM5LjIwMUMyODcuNDAxIDMzOS4yMDEgMjc5IDMyOS4zMDEgMjg1LjQgMzI5LjYwMUMyODUuNCAzMjkuNjAxIDI4OC42MDEgMzMxLjYwMSAyODkuMDAxIDMzMC4wMDFDMjg5LjQwMSAzMjguNDAxIDI4MS40IDMxNC44MDEgMjY0LjIgMzAwLjRDMjQ3IDI4NiAyNjUuNCAyOTguNCAyNjUuNCAyOTguNHoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmZmY7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC4xIj4KKyAgPHBhdGggZD0iTTIwNyAzMzcuMjAxQzIwNyAzMzcuMjAxIDIwNi44IDMzNS40MDEgMjA4LjYgMzM2LjIwMUMyMTAuNCAzMzcuMDAxIDMwNC42MDEgMzQzLjIwMSAzMzYuMjAxIDM2Ny4yMDFDMzM2LjIwMSAzNjcuMjAxIDI5MS4wMDEgMzQ0LjAwMSAyMDcgMzM3LjIwMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmZmY7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC4xIj4KKyAgPHBhdGggZD0iTTIxNy40IDMzMi44MDFDMjE3LjQgMzMyLjgwMSAyMTcuMiAzMzEuMDAxIDIxOSAzMzEuODAxQzIyMC44IDMzMi42MDEgMzU3LjQwMSAzMzEuNjAxIDM4MS4wMDEgMzY0LjAwMUMzODEuMDAxIDM2NC4wMDEgMzU5LjAwMSAzMzguODAxIDIxNy40IDMzMi44MDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmZmOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuMSI+CisgIDxwYXRoIGQ9Ik0yMjkgMzI4LjgwMUMyMjkgMzI4LjgwMSAyMjguOCAzMjcuMDAxIDIzMC42IDMyNy44MDFDMjMyLjQgMzI4LjYwMSA0MDUuODAxIDMxNS42MDEgNDI5LjQwMSAzNDguMDAxQzQyOS40MDEgMzQ4LjAwMSA0MTkuODAxIDMyMi40MDEgMjI5IDMyOC44MDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmZmOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuMSI+CisgIDxwYXRoIGQ9Ik0yMzkgMzI0LjAwMUMyMzkgMzI0LjAwMSAyMzguOCAzMjIuMjAxIDI0MC42IDMyMy4wMDFDMjQyLjQgMzIzLjgwMSAzNjQuNjAxIDI4NS4yIDM4OC4yMDEgMzE3LjYwMUMzODguMjAxIDMxNy42MDEgMzc0LjgwMSAyOTMgMjM5IDMyNC4wMDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmZmOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuMSI+CisgIDxwYXRoIGQ9Ik0xODEgMzQ2LjgwMUMxODEgMzQ2LjgwMSAxODAuOCAzNDUuMDAxIDE4Mi42IDM0NS44MDFDMTg0LjQgMzQ2LjYwMSAyMDIuMiAzNDguODAxIDIwNC4yIDM4Ny42MDFDMjA0LjIgMzg3LjYwMSAxOTcgMzQ1LjYwMSAxODEgMzQ2LjgwMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmZmY7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC4xIj4KKyAgPHBhdGggZD0iTTE3Mi4yIDM0OC40MDFDMTcyLjIgMzQ4LjQwMSAxNzIgMzQ2LjYwMSAxNzMuOCAzNDcuNDAxQzE3NS42IDM0OC4yMDEgMTg5LjggMzQzLjYwMSAxODcgMzgyLjQwMUMxODcgMzgyLjQwMSAxODguMiAzNDcuMjAxIDE3Mi4yIDM0OC40MDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmZmOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuMSI+CisgIDxwYXRoIGQ9Ik0xNjQuMiAzNDguODAxQzE2NC4yIDM0OC44MDEgMTY0IDM0Ny4wMDEgMTY1LjggMzQ3LjgwMUMxNjcuNiAzNDguNjAxIDE4MyAzNDkuMjAxIDE3MC42IDM3MS42MDFDMTcwLjYgMzcxLjYwMSAxODAuMiAzNDcuNjAxIDE2NC4yIDM0OC44MDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmZmOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuMSI+CisgIDxwYXRoIGQ9Ik0yMTEuNTI2IDMwNC40NjVDMjExLjUyNiAzMDQuNDY1IDIxMS4wODIgMzA2LjQ2NCAyMTIuNjMxIDMwNS4yNDdDMjI4LjY5OSAyOTIuNjIyIDI2MS4xNDEgMjMzLjcyIDMxNi44MjYgMjI4LjA4NkMzMTYuODI2IDIyOC4wODYgMjc4LjUxOCAyMTUuOTc2IDIxMS41MjYgMzA0LjQ2NXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmZmY7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC4xIj4KKyAgPHBhdGggZD0iTTIyMi43MjYgMzAyLjY2NUMyMjIuNzI2IDMwMi42NjUgMjIxLjM2MyAzMDEuNDcyIDIyMy4yMzEgMzAwLjg0N0MyMjUuMDk5IDMwMC4yMjIgMzM3LjU0MSAyMjcuNzIgMzc2LjgyNiAyMzUuNjg2QzM3Ni44MjYgMjM1LjY4NiAzNDkuNzE5IDIyOC4xNzYgMjIyLjcyNiAzMDIuNjY1eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZmZjsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjEiPgorICA8cGF0aCBkPSJNMjAxLjg4NSAzMDguNzY3QzIwMS44ODUgMzA4Ljc2NyAyMDEuMzc2IDMxMC4zNjYgMjAzLjA4NyAzMDkuMzlDMjEyLjA2MiAzMDQuMjcgMjE1LjY3NyAyNDcuMDU5IDI1OS4yNTQgMjQ1LjgwNEMyNTkuMjU0IDI0NS44MDQgMjI2Ljg0MyAyMzEuMDkgMjAxLjg4NSAzMDguNzY3eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZmZjsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjEiPgorICA8cGF0aCBkPSJNMTgxLjk2MiAzMTkuNzkzQzE4MS45NjIgMzE5Ljc5MyAxODAuODg1IDMyMS4wNzkgMTgyLjgzOCAzMjAuODI1QzE5My4wODQgMzE5LjQ5MyAyMTQuNDg5IDI3OC4yMjIgMjU4LjkyOCAyODMuMzAxQzI1OC45MjggMjgzLjMwMSAyMjYuOTYyIDI2OC45NTUgMTgxLjk2MiAzMTkuNzkzeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZmZjsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjEiPgorICA8cGF0aCBkPSJNMTkzLjIgMzEzLjY2N0MxOTMuMiAzMTMuNjY3IDE5Mi4zODkgMzE1LjEzNiAxOTQuMjU4IDMxNC41MTFDMjA0LjA1NyAzMTEuMjM3IDIxNy4xNDEgMjY2LjYyNSAyNjEuNzI5IDI2My4wNzhDMjYxLjcyOSAyNjMuMDc4IDIyNy42MDMgMjU1LjEzNSAxOTMuMiAzMTMuNjY3eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZmZjsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjEiPgorICA8cGF0aCBkPSJNMTc0LjkyMiAzMjQuOTEyQzE3NC45MjIgMzI0LjkxMiAxNzQuMDQ5IDMyNS45NTQgMTc1LjYzMSAzMjUuNzQ4QzE4My45MyAzMjQuNjY5IDIwMS4yNjggMjkxLjI0IDIzNy4yNjQgMjk1LjM1NEMyMzcuMjY0IDI5NS4zNTQgMjExLjM3MSAyODMuNzM0IDE3NC45MjIgMzI0LjkxMnoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmZmY7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC4xIj4KKyAgPHBhdGggZD0iTTE2Ny4zMjMgMzMwLjgyMUMxNjcuMzIzIDMzMC44MjEgMTY2LjMxOCAzMzEuODY2IDE2Ny45MDkgMzMxLjc0OEMxNzIuMDc3IDMzMS40MzkgMjAyLjcxNSAyOTguMzYgMjIxLjE4MyAzMTMuODYyQzIyMS4xODMgMzEzLjg2MiAyMDkuMTY4IDI5NS4xMzkgMTY3LjMyMyAzMzAuODIxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZmZjsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjEiPgorICA8cGF0aCBkPSJNMjM2Ljg1NSAyOTguODk4QzIzNi44NTUgMjk4Ljg5OCAyMzUuNjU0IDI5Ny41NDMgMjM3LjU4NiAyOTcuMTU4QzIzOS41MTggMjk2Ljc3NCAzNjAuMjIxIDIzOS4wNjEgMzk4LjE4NCAyNTEuOTI3QzM5OC4xODQgMjUxLjkyNyAzNzIuMjQzIDI0MS4wNTMgMjM2Ljg1NSAyOTguODk4eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZmZjsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjEiPgorICA8cGF0aCBkPSJNMjAzLjQgMzYzLjIwMUMyMDMuNCAzNjMuMjAxIDIwMy4yIDM2MS40MDEgMjA1IDM2Mi4yMDFDMjA2LjggMzYzLjAwMSAyMjIuMiAzNjMuNjAxIDIwOS44IDM4Ni4wMDFDMjA5LjggMzg2LjAwMSAyMTkuNCAzNjIuMDAxIDIwMy40IDM2My4yMDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmZmOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuMSI+CisgIDxwYXRoIGQ9Ik0yMTMuOCAzNjEuNjAxQzIxMy44IDM2MS42MDEgMjEzLjYgMzU5LjgwMSAyMTUuNCAzNjAuNjAxQzIxNy4yIDM2MS40MDEgMjM1IDM2My42MDEgMjM3IDQwMi40MDFDMjM3IDQwMi40MDEgMjI5LjggMzYwLjQwMSAyMTMuOCAzNjEuNjAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZmZjsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjEiPgorICA8cGF0aCBkPSJNMjIwLjYgMzYwLjAwMUMyMjAuNiAzNjAuMDAxIDIyMC40IDM1OC4yMDEgMjIyLjIgMzU5LjAwMUMyMjQgMzU5LjgwMSAyNDguNiAzNjMuMjAxIDI3Mi4yIDM5NS42MDFDMjcyLjIgMzk1LjYwMSAyMzYuNiAzNTguODAxIDIyMC42IDM2MC4wMDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmZmOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuMSI+CisgIDxwYXRoIGQ9Ik0yMjguMjI1IDM1Ny45NzJDMjI4LjIyNSAzNTcuOTcyIDIyNy43ODggMzU2LjIxNCAyMjkuNjc4IDM1Ni43NjhDMjMxLjU2OCAzNTcuMzIyIDI1Mi4wMDIgMzU1LjQyMyAyOTAuMDk5IDM4OS41OTlDMjkwLjA5OSAzODkuNTk5IDI0My45MjQgMzU0LjY1NiAyMjguMjI1IDM1Ny45NzJ6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmZmOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuMSI+CisgIDxwYXRoIGQ9Ik0yMzguNjI1IDM1My41NzJDMjM4LjYyNSAzNTMuNTcyIDIzOC4xODggMzUxLjgxNCAyNDAuMDc4IDM1Mi4zNjhDMjQxLjk2OCAzNTIuOTIyIDI3Ni44MDIgMzU3LjQyMyAzMjguNDk5IDM5Mi4zOTlDMzI4LjQ5OSAzOTIuMzk5IDI1NC4zMjQgMzUwLjI1NiAyMzguNjI1IDM1My41NzJ6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmZmOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuMSI+CisgIDxwYXRoIGQ9Ik0xOTguMiAzNDIuMDAxQzE5OC4yIDM0Mi4wMDEgMTk4IDM0MC4yMDEgMTk5LjggMzQxLjAwMUMyMDEuNiAzNDEuODAxIDI1NSAzNDQuNDAxIDI4NS40IDM3MS4yMDFDMjg1LjQgMzcxLjIwMSAyNTAuNDk5IDM0Ni40MjYgMTk4LjIgMzQyLjAwMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmZmY7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC4xIj4KKyAgPHBhdGggZD0iTTE4OC4yIDM0Ni4wMDFDMTg4LjIgMzQ2LjAwMSAxODggMzQ0LjIwMSAxODkuOCAzNDUuMDAxQzE5MS42IDM0NS44MDEgMjE2LjIgMzQ5LjIwMSAyMzkuOCAzODEuNjAxQzIzOS44IDM4MS42MDEgMjA0LjIgMzQ0LjgwMSAxODguMiAzNDYuMDAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZmZjsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjEiPgorICA8cGF0aCBkPSJNMjQ5LjUwMyAzNDguOTYyQzI0OS41MDMgMzQ4Ljk2MiAyNDguOTM4IDM0Ny4yNDEgMjUwLjg2NCAzNDcuNjU1QzI1Mi43OSAzNDguMDY4IDI4Ny44NiAzNTAuMDA0IDM0MS45ODEgMzgxLjA5OEMzNDEuOTgxIDM4MS4wOTggMjY0LjMxNyAzNDYuNzA0IDI0OS41MDMgMzQ4Ljk2MnoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmZmY7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC4xIj4KKyAgPHBhdGggZD0iTTI1Ny45MDMgMzQ2LjU2MkMyNTcuOTAzIDM0Ni41NjIgMjU3LjMzOCAzNDQuODQxIDI1OS4yNjQgMzQ1LjI1NUMyNjEuMTkgMzQ1LjY2OCAyOTYuMjYgMzQ3LjYwNCAzNTAuMzgxIDM3OC42OThDMzUwLjM4MSAzNzguNjk4IDI3My4zMTcgMzQzLjkwNCAyNTcuOTAzIDM0Ni41NjJ6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmZmOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuMSI+CisgIDxwYXRoIGQ9Ik0yNjcuNTAzIDM0MS41NjJDMjY3LjUwMyAzNDEuNTYyIDI2Ni45MzggMzM5Ljg0MSAyNjguODY0IDM0MC4yNTVDMjcwLjc5IDM0MC42NjggMzEzLjg2IDM0NS4wMDQgNDAzLjU4MiAzNzkuMjk4QzQwMy41ODIgMzc5LjI5OCAyODIuOTE3IDMzOC45MDQgMjY3LjUwMyAzNDEuNTYyeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0xNTYuMiAzNDguNDAxQzE1Ni4yIDM0OC40MDEgMTYxLjQgMzQ4LjAwMSAxNjAuMiAzNDkuNjAxQzE1OSAzNTEuMjAxIDE1Ni42IDM1MC40MDEgMTU2LjYgMzUwLjQwMUwxNTYuMiAzNDguNDAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0xODcgMzYyLjQwMUMxODcgMzYyLjQwMSAxOTIuMiAzNjIuMDAxIDE5MSAzNjMuNjAxQzE4OS44IDM2NS4yMDEgMTg3LjQgMzY0LjQwMSAxODcuNCAzNjQuNDAxTDE4NyAzNjIuNDAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0xNzguMiAzNjIuMDAxQzE3OC4yIDM2Mi4wMDEgMTgzLjQgMzYxLjYwMSAxODIuMiAzNjMuMjAxQzE4MSAzNjQuODAxIDE3OC42IDM2NC4wMDEgMTc4LjYgMzY0LjAwMUwxNzguMiAzNjIuMDAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik04Mi44MzEgMzUwLjE4MkM4Mi44MzEgMzUwLjE4MiA4Ny44NzYgMzUxLjUwNSA4Ni4yMTggMzUyLjYyNEM4NC41NjEgMzUzLjc0NCA4Mi41NTQgMzUyLjIwMiA4Mi41NTQgMzUyLjIwMkw4Mi44MzEgMzUwLjE4MnoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICMwMDAwMDAiPgorICA8cGF0aCBkPSJNODQuODMxIDM0MC41ODJDODQuODMxIDM0MC41ODIgODkuODc2IDM0MS45MDUgODguMjE4IDM0My4wMjRDODYuNTYxIDM0NC4xNDQgODQuNTU0IDM0Mi42MDIgODQuNTU0IDM0Mi42MDJMODQuODMxIDM0MC41ODJ6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjMDAwMDAwIj4KKyAgPHBhdGggZD0iTTc3LjYzMSAzMzYuMTgyQzc3LjYzMSAzMzYuMTgyIDgyLjY3NiAzMzcuNTA1IDgxLjAxOCAzMzguNjI0Qzc5LjM2MSAzMzkuNzQ0IDc3LjM1NCAzMzguMjAyIDc3LjM1NCAzMzguMjAyTDc3LjYzMSAzMzYuMTgyeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2NjY2NjYyI+CisgIDxwYXRoIGQ9Ik0xNTcuNCA0MTEuMjAxQzE1Ny40IDQxMS4yMDEgMTU1LjggNDExLjIwMSAxNTEuOCA0MTMuMjAxQzE0OS44IDQxMy4yMDEgMTM4LjYgNDE2LjgwMSAxMzMgNDI2LjgwMUMxMzMgNDI2LjgwMSAxNDUuNCA0MTcuMjAxIDE1Ny40IDQxMS4yMDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjY2NjY2NjIj4KKyAgPHBhdGggZD0iTTI0NS4xMTYgNTAzLjg0N0MyNDUuMjU3IDUwNC4xMDUgMjQ1LjMxMiA1MDQuNTI1IDI0NS42MDQgNTA0LjU0MkMyNDYuMjYyIDUwNC41ODIgMjQ3LjQ5NSA1MDQuODgzIDI0Ny4zNyA1MDQuMjQ3QzI0Ni41MjIgNDk5Ljk0MSAyNDUuNjQ4IDQ5NS4wMDQgMjQxLjUxNSA0OTMuMTk3QzI0MC44NzYgNDkyLjkxOCAyMzkuNDM0IDQ5My4zMzEgMjM5LjM2IDQ5NC4yMTVDMjM5LjIzMyA0OTUuNzM5IDIzOS4xMTYgNDk3LjA4OCAyMzkuNDI1IDQ5OC41NTRDMjM5LjcyNSA0OTkuOTc1IDI0MS44ODMgNDk5Ljk4NSAyNDIuOCA0OTguNjAxQzI0My43MzYgNTAwLjI3MyAyNDQuMTY4IDUwMi4xMTYgMjQ1LjExNiA1MDMuODQ3eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2NjY2NjYyI+CisgIDxwYXRoIGQ9Ik0yMzQuMDM4IDUwOC41ODFDMjM0Ljc4NiA1MDkuOTk0IDIzNC42NTkgNTExLjg1MyAyMzYuMDc0IDUxMi40MTZDMjM2LjgxNCA1MTIuNzEgMjM4LjY2NCA1MTEuNzM1IDIzOC4yNDYgNTEwLjY2MUMyMzcuNDQ0IDUwOC42IDIzNy4wNTYgNTA2LjM2MSAyMzUuNjY3IDUwNC41NUMyMzUuNDY3IDUwNC4yODggMjM1LjcwNyA1MDMuNzU1IDIzNS41NDcgNTAzLjQyN0MyMzQuOTUzIDUwMi4yMDcgMjMzLjgwOCA1MDEuNDcyIDIzMi40IDUwMS44MDFDMjMxLjI4NSA1MDQuMDA0IDIzMi40MzMgNTA2LjEzMyAyMzMuOTU1IDUwNy44NDJDMjM0LjA5MSA1MDcuOTk0IDIzMy45MjUgNTA4LjM3IDIzNC4wMzggNTA4LjU4MXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNjY2NjY2MiPgorICA8cGF0aCBkPSJNMTk0LjQzNiA1MDMuMzkxQzE5NC4zMjggNTAzLjAxNCAxOTQuMjkgNTAyLjU1MSAxOTQuNDU1IDUwMi4yM0MxOTQuOTg2IDUwMS4xOTcgMTk1Ljc3OSA1MDAuMDc1IDE5NS40NDIgNDk5LjA1M0MxOTUuMDk0IDQ5Ny45OTcgMTkzLjk3OCA0OTguMTc5IDE5My4zMjggNDk4Ljc0OEMxOTIuMTkzIDQ5OS43NDIgMTkyLjE0NCA1MDEuNTY4IDE5MS40NTMgNTAyLjkyN0MxOTEuMjU3IDUwMy4zMTMgMTkxLjMwOCA1MDMuODg2IDE5MC44NjcgNTA0LjI3N0MxOTAuMzkzIDUwNC42OTggMTg5Ljk1MyA1MDYuMjIyIDE5MC4wNDkgNTA2Ljc5M0MxOTAuMTAyIDUwNy4xMDYgMTg5LjkxOSA1MTcuMDE0IDE5MC4xNDEgNTE2Ljc1MUMxOTAuNzYgNTE2LjAxOCAxOTMuODEgNTA2LjI4NCAxOTMuODc5IDUwNS4zOTJDMTkzLjkzNiA1MDQuNjYxIDE5NC42NjggNTA0LjE5NiAxOTQuNDM2IDUwMy4zOTF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjY2NjY2NjIj4KKyAgPHBhdGggZD0iTTE2OC43OTggNDk2LjU5OUMxNzEuNDMyIDQ5NC4xIDE3NC4yMjIgNDkxLjEzOSAxNzMuNzggNDg3LjQyN0MxNzMuNjY0IDQ4Ni40NTEgMTcxLjg4OSA0ODYuOTc4IDE3MS43MDIgNDg3LjgyNEMxNzAuOSA0OTEuNDQ5IDE2OC44NjEgNDk0LjExIDE2Ni4yOTMgNDk2LjUwMkMxNjQuMDk3IDQ5OC41NDkgMTYyLjIzNSA1MDQuODkzIDE2MiA1MDUuNDAxQzE2NS42OTcgNTAwLjE0NSAxNjcuOTU0IDQ5Ny4zOTkgMTY4Ljc5OCA0OTYuNTk5eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2NjY2NjYyI+CisgIDxwYXRoIGQ9Ik0xNTUuMjI0IDQ5MC42MzVDMTU1Ljc0NyA0OTAuMjY1IDE1NS40NDUgNDg5Ljc3NCAxNTUuNjYyIDQ4OS40NDJDMTU2LjYxNSA0ODcuOTg0IDE1Ny45MTYgNDg2LjczOCAxNTcuOTM0IDQ4NUMxNTcuOTM3IDQ4NC43MjMgMTU3LjU1OSA0ODQuNDE0IDE1Ny4yMjQgNDg0LjYzOEMxNTYuOTQ3IDQ4NC44MjIgMTU2LjYwNSA0ODQuOTUyIDE1Ni40OTcgNDg1LjA4MkMxNTQuNDY3IDQ4Ny41MzEgMTUzLjA2NyA0OTAuMjAyIDE1MS42MjQgNDkzLjAxNEMxNTEuNDQxIDQ5My4zNzEgMTUwLjI5NyA0OTcuODYyIDE1MC42MSA0OTcuOTczQzE1MC44NDkgNDk4LjA1OCAxNTIuNTY5IDQ5My44NzcgMTUyLjc3OSA0OTMuNzYzQzE1NC4wNDIgNDkzLjA3NyAxNTQuMDU0IDQ5MS40NjIgMTU1LjIyNCA0OTAuNjM1eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2NjY2NjYyI+CisgIDxwYXRoIGQ9Ik0xNzEuOTU3IDUxMC4xNzlDMTcyLjQwMSA1MDkuMzEgMTczLjk3NyA1MDguMTA4IDE3My44NjQgNTA3LjIxOUMxNzMuNzQ2IDUwNi4yOTEgMTc0LjIxNCA1MDQuODQ4IDE3My4zMDIgNTA1LjUzNkMxNzIuMDQ1IDUwNi40ODQgMTY4LjU5NiA1MDcuODMzIDE2OC4zMjYgNTEzLjY0MUMxNjguMyA1MTQuMjEyIDE3MS4yNzQgNTExLjUxOSAxNzEuOTU3IDUxMC4xNzl6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjY2NjY2NjIj4KKyAgPHBhdGggZD0iTTE4Ni40IDQ5My4wMDFDMTg2LjggNDkyLjMzMyAxODcuNTA4IDQ5Mi44MDYgMTg3Ljk2NyA0OTIuNTQzQzE4OC42MTUgNDkyLjE3MSAxODkuMjI2IDQ5MS42MTMgMTg5LjUxOCA0OTAuOTY0QzE5MC40ODggNDg4LjgxNSAxOTIuMjU3IDQ4Ni45OTUgMTkyLjQgNDg0LjYwMUMxOTAuOTA5IDQ4My4xOTYgMTkwLjIzIDQ4NS4yMzYgMTg5LjYgNDg2LjIwMUMxODguMjc3IDQ4NC41NTQgMTg3LjI3OCA0ODYuNDI4IDE4NS45NzggNDg2Ljk0N0MxODUuOTA4IDQ4Ni45NzUgMTg1LjY5NSA0ODYuNjI4IDE4NS42MiA0ODYuNjU1QzE4NC40NDMgNDg3LjA5NSAxODMuNzYzIDQ4OC4xNzYgMTgyLjc2NSA0ODguOTU3QzE4Mi41OTQgNDg5LjA5MSAxODIuMTg5IDQ4OC45MTEgMTgyLjA0MiA0ODkuMDQ3QzE4MS4zOSA0ODkuNjUgMTgwLjQxNyA0ODkuOTc1IDE4MC4xMzcgNDkwLjY1N0MxNzkuMDI3IDQ5My4zNjQgMTc1Ljg4NyA0OTUuNDU5IDE3NCA1MDMuMDAxQzE3NC4zODEgNTAzLjkxIDE3OC41MTIgNDk2LjM1OSAxNzguOTk5IDQ5NS42NjFDMTc5LjgzNSA0OTQuNDY1IDE3OS45NTMgNDk3LjMyMiAxODEuMjI5IDQ5Ni42NTZDMTgxLjI4IDQ5Ni42MjkgMTgxLjQ2NiA0OTYuODY3IDE4MS42IDQ5Ny4wMDFDMTgxLjc5NCA0OTYuNzIxIDE4Mi4wMTIgNDk2LjQ5MiAxODIuNCA0OTYuNjAxQzE4Mi40IDQ5Ni4yMDEgMTgyLjI2NiA0OTUuNjQ1IDE4Mi40NjcgNDk1LjQ4NkMxODMuNzA0IDQ5NC41MDkgMTgzLjYyIDQ5My40NDEgMTg0LjQgNDkyLjIwMUMxODQuODU4IDQ5Mi45OSAxODUuOTE5IDQ5Mi4yNzEgMTg2LjQgNDkzLjAwMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNjY2NjY2MiPgorICA8cGF0aCBkPSJNMjQ2LjIgNTQ3LjQwMUMyNDYuMiA1NDcuNDAxIDI1My42IDUyNy4wMDEgMjQ5LjIgNTE1LjgwMUMyNDkuMiA1MTUuODAxIDI2MC42IDUzNy40MDEgMjU2IDU0OC42MDFDMjU2IDU0OC42MDEgMjU1LjYgNTM4LjIwMSAyNTEuNiA1MzMuMjAxQzI1MS42IDUzMy4yMDEgMjQ3LjYgNTQ2LjAwMSAyNDYuMiA1NDcuNDAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2NjY2NjYyI+CisgIDxwYXRoIGQ9Ik0yMzEuNCA1NDQuODAxQzIzMS40IDU0NC44MDEgMjM2LjggNTM2LjAwMSAyMjguOCA1MTcuNjAxQzIyOC44IDUxNy42MDEgMjI4IDUzOC4wMDEgMjIxLjIgNTQ5LjAwMUMyMjEuMiA1NDkuMDAxIDIzNS40IDUyOC44MDEgMjMxLjQgNTQ0LjgwMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNjY2NjY2MiPgorICA8cGF0aCBkPSJNMjIxLjQgNTQyLjgwMUMyMjEuNCA1NDIuODAxIDIyMS4yIDUyMi44MDEgMjIxLjYgNTE5LjgwMUMyMjEuNiA1MTkuODAxIDIxNy44IDUzNi40MDEgMjA3LjYgNTQ2LjAwMUMyMDcuNiA1NDYuMDAxIDIyMiA1MzQuMDAxIDIyMS40IDU0Mi44MDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjY2NjY2NjIj4KKyAgPHBhdGggZD0iTTIxMS44IDUxMC44MDFDMjExLjggNTEwLjgwMSAyMTcuOCA1MjQuNDAxIDIwNy44IDU0Mi44MDFDMjA3LjggNTQyLjgwMSAyMTQuMiA1MzAuNjAxIDIwOS40IDUyMy42MDFDMjA5LjQgNTIzLjYwMSAyMTIgNTIwLjIwMSAyMTEuOCA1MTAuODAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2NjY2NjYyI+CisgIDxwYXRoIGQ9Ik0xOTIuNiA1NDIuNDAxQzE5Mi42IDU0Mi40MDEgMTkxLjYgNTI2LjgwMSAxOTMuNCA1MjQuNjAxQzE5My40IDUyNC42MDEgMTkzLjYgNTE4LjIwMSAxOTMuMiA1MTcuMjAxQzE5My4yIDUxNy4yMDEgMTk3LjIgNTExLjAwMSAxOTcuNCA1MTguNDAxQzE5Ny40IDUxOC40MDEgMTk4LjggNTI2LjIwMSAyMDEuNiA1MzAuODAxQzIwMS42IDUzMC44MDEgMjA1LjIgNTM2LjIwMSAyMDUgNTQyLjYwMUMyMDUgNTQyLjYwMSAxOTUgNTEyLjQwMSAxOTIuNiA1NDIuNDAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2NjY2NjYyI+CisgIDxwYXRoIGQ9Ik0xODkgNTE0LjgwMUMxODkgNTE0LjgwMSAxODIuNCA1MjUuNjAxIDE4MC42IDU0NC42MDFDMTgwLjYgNTQ0LjYwMSAxNzkuMiA1MzguNDAxIDE4MyA1MjQuMDAxQzE4MyA1MjQuMDAxIDE4Ny4yIDUwOC42MDEgMTg5IDUxNC44MDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjY2NjY2NjIj4KKyAgPHBhdGggZD0iTTE2Ny4yIDUzNC42MDFDMTY3LjIgNTM0LjYwMSAxNzIuMiA1MjkuMjAxIDE3My42IDUyNC4yMDFDMTczLjYgNTI0LjIwMSAxNzcuMiA1MDguNDAxIDE3MC44IDUxNy4wMDFDMTcwLjggNTE3LjAwMSAxNzEgNTI1LjAwMSAxNjIuOCA1MzIuNDAxQzE2Mi44IDUzMi40MDEgMTY3LjYgNTMwLjAwMSAxNjcuMiA1MzQuNjAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2NjY2NjYyI+CisgIDxwYXRoIGQ9Ik0xNjEuNCA1MjkuNjAxQzE2MS40IDUyOS42MDEgMTY0LjggNTEyLjIwMSAxNjUuNiA1MTEuNDAxQzE2NS42IDUxMS40MDEgMTY3LjQgNTA4LjAwMSAxNjQuNiA1MTEuMjAxQzE2NC42IDUxMS4yMDEgMTU1LjggNTMwLjQwMSAxNTEuOCA1MzcuMDAxQzE1MS44IDUzNy4wMDEgMTU5LjggNTI3LjgwMSAxNjEuNCA1MjkuNjAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2NjY2NjYyI+CisgIDxwYXRoIGQ9Ik0xNTUuNiA1MTMuMDAxQzE1NS42IDUxMy4wMDEgMTY3LjIgNDkwLjYwMSAxNDUuNCA1MTYuNDAxQzE0NS40IDUxNi40MDEgMTU2LjQgNTA2LjYwMSAxNTUuNiA1MTMuMDAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2NjY2NjYyI+CisgIDxwYXRoIGQ9Ik0xNDAuMiA0OTguNDAxQzE0MC4yIDQ5OC40MDEgMTQ1IDQ3OS42MDEgMTQ3LjYgNDc5LjgwMUMxNDcuNiA0NzkuODAxIDE1NS44IDQ3MC44MDEgMTQ5LjIgNDgxLjQwMUMxNDkuMiA0ODEuNDAxIDE0My4yIDQ5MS4wMDEgMTQzLjggNTAwLjgwMUMxNDMuOCA1MDAuODAxIDE0My4yIDQ5MS4yMDEgMTQwLjIgNDk4LjQwMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNjY2NjY2MiPgorICA8cGF0aCBkPSJNNDcwLjUgNDg3QzQ3MC41IDQ4NyA0NTguNSA0NzcgNDU2IDQ3My41QzQ1NiA0NzMuNSA0NjkuNSA0OTIgNDY5LjUgNDk5QzQ2OS41IDQ5OSA0NzIgNDkxLjUgNDcwLjUgNDg3eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2NjY2NjYyI+CisgIDxwYXRoIGQ9Ik00NzYgNDY1QzQ3NiA0NjUgNDU1IDQ1MCA0NTEuNSA0NDIuNUM0NTEuNSA0NDIuNSA0NzggNDcyIDQ3OCA0NzYuNUM0NzggNDc2LjUgNDc4LjUgNDY3LjUgNDc2IDQ2NXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNjY2NjY2MiPgorICA8cGF0aCBkPSJNNDkzIDMxMUM0OTMgMzExIDQ4MSAzMDMgNDc5LjUgMzA1QzQ3OS41IDMwNSA0OTAgMzExLjUgNDkyLjUgMzIwQzQ5Mi41IDMyMCA0OTEgMzExIDQ5MyAzMTF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjY2NjY2NjIj4KKyAgPHBhdGggZD0iTTUwMS41IDM5MS41TDQ4NCAzNzkuNUM0ODQgMzc5LjUgNTAzIDM5Ni41IDUwMy41IDQwMC41TDUwMS41IDM5MS41eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0ic3Ryb2tlOiMwMDAwMDAiPgorICA8cGF0aCBkPSJNMTEwLjc1IDM2OUwxMzIuNzUgMzczLjc1Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJzdHJva2U6IzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0xNjEgNTMxQzE2MSA1MzEgMTYwLjUgNTI3LjUgMTUxLjUgNTM4Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJzdHJva2U6IzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0xNjYuNSA1MzZDMTY2LjUgNTM2IDE2OC41IDUyOS41IDE2MiA1MzQiLz4KKyA8L2c+CisgPGcgc3R5bGU9InN0cm9rZTojMDAwMDAwIj4KKyAgPHBhdGggZD0iTTIyMC41IDU0NC41QzIyMC41IDU0NC41IDIyMiA1MzMuNSAyMTAuNSA1NDYuNSIvPgorIDwvZz4KKzwvc3ZnPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvbm9lbnQvdGl0bGUueG1sIGIvbGlieG1sMi9yZXN1bHQvbm9lbnQvdGl0bGUueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFiM2ZlMDcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC90aXRsZS54bWwKQEAgLTAsMCArMSwyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPHRpdGxlPm15IHRpdGxlPC90aXRsZT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L25vZW50L3RzdGJsYW5rcy54bWwgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC90c3RibGFua3MueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI1NjE4NTkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC90c3RibGFua3MueG1sCkBAIC0wLDAgKzEsMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8YSB0ZXN0PSJwYXNzZWQiPmNvbnRlbnQ8L2E+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9ub2VudC91dGYxNmJlYm9tLnhtbCBiL2xpYnhtbDIvcmVzdWx0L25vZW50L3V0ZjE2YmVib20ueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNiNTQ2NmQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC91dGYxNmJlYm9tLnhtbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9ub2VudC91dGYxNmJvbS54bWwgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC91dGYxNmJvbS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmVhMjk2ZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L25vZW50L3V0ZjE2Ym9tLnhtbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9ub2VudC91dGYxNmxlYm9tLnhtbCBiL2xpYnhtbDIvcmVzdWx0L25vZW50L3V0ZjE2bGVib20ueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkzMzY0MGMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC91dGYxNmxlYm9tLnhtbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9ub2VudC91dGY4Ym9tLnhtbCBiL2xpYnhtbDIvcmVzdWx0L25vZW50L3V0Zjhib20ueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY0ZTUxNjQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC91dGY4Ym9tLnhtbApAQCAtMCwwICsxLDIgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPGZvby8+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9ub2VudC93YXAueG1sIGIvbGlieG1sMi9yZXN1bHQvbm9lbnQvd2FwLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42OTRiNDlmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvbm9lbnQvd2FwLnhtbApAQCAtMCwwICsxLDI0IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhRE9DVFlQRSB3bWwgUFVCTElDICItLy9XQVBGT1JVTS8vRFREIFdNTCAxLjEvL0VOIiAiaHR0cDovL2Rhcmsud2FwaXQuY29tL3Zzd2FwL3Rlc3RzL3dhcC9EVEQvd21sMTEuZHRkIj4KKzwhLS0gKEMpIDE5OTksIDIwMDAgV0FQIEZvcnVtIEx0ZC4gIEFsbCByaWdodHMgcmVzZXJ2ZWQgLS0+Cis8d21sPgorPGNhcmQgaWQ9ImNhcmQxIj4KKzxvbmV2ZW50IHR5cGU9Im9uZW50ZXJmb3J3YXJkIj4KKzxnbyBocmVmPSIvdnN3YXAvcnVuL3Jlc3VsdC5lbWwiPgorICAgICAgICA8cG9zdGZpZWxkIG5hbWU9InZhciIgdmFsdWU9IiR0ZXN0Ii8+CisgICAgICAgIDxwb3N0ZmllbGQgbmFtZT0idiIgdmFsdWU9ImRhcmsiLz4KKyAgICAgICAgPHBvc3RmaWVsZCBuYW1lPSJ0cyIgdmFsdWU9IjAwMDMiLz4KKyAgICAgICAgPHBvc3RmaWVsZCBuYW1lPSJ0cCIgdmFsdWU9IndtbC9zdGF0ZS92YXJpYWJsZXMvcGFyc2luZy8xIi8+CisgICAgICAgIDxwb3N0ZmllbGQgbmFtZT0idGkiIHZhbHVlPSIxIi8+CisgICAgICAgIDxwb3N0ZmllbGQgbmFtZT0iZXhwZWN0ZWQiIHZhbHVlPSJ2YXI6cGFzcyIvPgorPC9nbz4KKzwvb25ldmVudD4KKzxwPklmIGF1dG9tYXRpYyB0ZXN0aW5nIGZhaWxlZCwgc2VsZWN0IDxhbmNob3I+RmFpbGVkPGdvIGhyZWY9Ii92c3dhcC9ydW4vcmVzdWx0LmVtbCI+CisgICAgICAgIDxwb3N0ZmllbGQgbmFtZT0iU1VCTUlUIiB2YWx1ZT0iTm8iLz48cG9zdGZpZWxkIG5hbWU9InYiIHZhbHVlPSJkYXJrIi8+CisgICAgICAgIDxwb3N0ZmllbGQgbmFtZT0idHMiIHZhbHVlPSIwMDAzIi8+CisgICAgICAgIDxwb3N0ZmllbGQgbmFtZT0idHAiIHZhbHVlPSJ3bWwvc3RhdGUvdmFyaWFibGVzL3BhcnNpbmcvMSIvPgorICAgICAgICA8cG9zdGZpZWxkIG5hbWU9InRpIiB2YWx1ZT0iMSIvPgorICAgICAgICA8cG9zdGZpZWxkIG5hbWU9ImV4cGVjdGVkIiB2YWx1ZT0idmFyOnBhc3MiLz48L2dvPjwvYW5jaG9yPi48L3A+Cis8L2NhcmQ+CisKKzwvd21sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvbm9lbnQvd2luYmxhbmtzLnhtbCBiL2xpYnhtbDIvcmVzdWx0L25vZW50L3dpbmJsYW5rcy54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDA0NGFhMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L25vZW50L3dpbmJsYW5rcy54bWwKQEAgLTAsMCArMSw2IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxhPgorICAgIDxCPgorICAgICAgICA8Qy8+ICAgCis8L0I+Cis8L2E+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9ub2VudC93bWwueG1sIGIvbGlieG1sMi9yZXN1bHQvbm9lbnQvd21sLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYTk2NTYyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvbm9lbnQvd21sLnhtbApAQCAtMCwwICsxLDEwIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhRE9DVFlQRSB3bWwgUFVCTElDICItLy9XQVBGT1JVTS8vRFREIFdNTCAxLjEvL0VOIiAiaHR0cDovL3d3dy53YXBmb3J1bS5vcmcvRFREL3dtbF8xLjEueG1sIj4KKzx3bWw+CisgIDxjYXJkIGlkPSJjYXJkMSIgdGl0bGU9IlJ1YnJpcXVlcyA3NTAwOCI+CisJPHA+CisJCTxhIGhyZWY9InJ1Ym1lbnUuYXNwP0NQPTc1MDA4JmFtcDtSQj0wMSI+Q2luJiN4RTk7bWE8L2E+PGJyLz4KKwk8L3A+CisKKzwvY2FyZD4KKzwvd21sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvbm9lbnQveGh0bWwxIGIvbGlieG1sMi9yZXN1bHQvbm9lbnQveGh0bWwxCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZjMDZhOTUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC94aHRtbDEKQEAgLTAsMCArMSwzMCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFN0cmljdC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS1zdHJpY3QuZHRkIj4KKzwhLS0gMy4xLjEgMy8gLS0+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgeG1sOmxhbmc9ImVuIiBsYW5nPSJlbiI+CisgIDxoZWFkPjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgorICAgIDx0aXRsZT5WaXJ0dWFsIExpYnJhcnk8L3RpdGxlPgorICA8L2hlYWQ+CisgIDwhLS0gNC44IC0tPgorICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CisgIC4uLiB1bmVzY2FwZWQgc2NyaXB0ICZsdDsgY29udGVudCAuLi4KKyAgPC9zY3JpcHQ+CisgIDxib2R5PgorICAgIDxwPk1vdmVkIHRvIDxhIGhyZWY9Imh0dHA6Ly9leGFtcGxlLm9yZy8iPmV4YW1wbGUub3JnPC9hPi48L3A+CisgIDwvYm9keT4KKyAgPCEtLSBDMiAtLT4KKyAgPGltZyBzcmM9ImZvby5naWYiIGFsdD0iZm9vIiAvPgorICA8IS0tIEMzIC0tPgorICA8cD48L3A+CisgIDwhLS0gQzcgLS0+CisgIDxwIGxhbmc9ImZyIiB4bWw6bGFuZz0iZnIiPmNvdWNvdTwvcD4KKyAgPHAgeG1sOmxhbmc9ImZyIiBsYW5nPSJmciI+c2FsdXQ8L3A+CisgIDwhLS0gQzggLS0+CisgIDxwIG5hbWU9ImZyYWdpZCIgaWQ9ImZyYWdpZCI+dGVzdDwvcD4KKyAgPCEtLSA0LjUgLS0+CisgIDxkbCBjb21wYWN0PSJjb21wYWN0Ij4KKyAgPGR0PkludGVybmV0IEVuZ2luZWVyaW5nIFRhc2sgRm9yY2U8L2R0PgorICA8ZGQ+QW4gb3JnYW5pemF0aW9uIHdoaWNoIGVzdGFibGlzaGVzIHRlY2huaWNhbCBzdGFuZGFyZHMgZm9yIHRoZSBJbnRlcm5ldDwvZGQ+CisgIDwvZGw+CisKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L25vZW50L3hodG1sY29tcCBiL2xpYnhtbDIvcmVzdWx0L25vZW50L3hodG1sY29tcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40Y2U2MzRjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvbm9lbnQveGh0bWxjb21wCkBAIC0wLDAgKzEsNyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBTdHJpY3QvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+CisgIDxib2R5PgorICAgIDxoMT48YWJicj5hPC9hYmJyPiBiPC9oMT4KKyAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvbm9lbnQveG1sMSBiL2xpYnhtbDIvcmVzdWx0L25vZW50L3htbDEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjM3ZDI2NQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L25vZW50L3htbDEKQEAgLTAsMCArMSw5IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhRE9DVFlQRSB0ZXN0IFsKKzwhRU5USVRZIGV4YW1wbGUgIjxwPkFuIGFtcGVyc2FuZCAoJiMzODsjMzg7KSBtYXkgYmUgZXNjYXBlZAorIG51bWVyaWNhbGx5ICgmIzM4OyMzODsjMzg7KSBvciB3aXRoIGEgZ2VuZXJhbCBlbnRpdHkKKyAgKCZhbXA7YW1wOykuPC9wPiI+CitdPgorPHRlc3Q+PHA+QW4gYW1wZXJzYW5kICgmYW1wOykgbWF5IGJlIGVzY2FwZWQKKyBudW1lcmljYWxseSAoJmFtcDsjMzg7KSBvciB3aXRoIGEgZ2VuZXJhbCBlbnRpdHkKKyAgKCZhbXA7YW1wOykuPC9wPjwvdGVzdD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L25vZW50L3htbDIgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC94bWwyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZjMzk0NTQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9ub2VudC94bWwyCkBAIC0wLDAgKzEsOCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IURPQ1RZUEUgdGVzdCBbCis8IUVMRU1FTlQgdGVzdCAoI1BDREFUQSk+Cis8IUVOVElUWSAlIHh4ICImIzM3O3p6OyI+Cis8IUVOVElUWSAlIHp6ICcmIzYwOyFFTlRJVFkgdHJpY2t5ICJlcnJvci1wcm9uZSIgPic+Cis8IUVOVElUWSB0cmlja3kgImVycm9yLXByb25lIj4KK10+Cis8dGVzdD5UaGlzIHNhbXBsZSBzaG93cyBhIGVycm9yLXByb25lIG1ldGhvZC48L3Rlc3Q+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9ucyBiL2xpYnhtbDIvcmVzdWx0L25zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk0YjkyN2UKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9ucwpAQCAtMCwwICsxLDQgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPGRpYTpkaWFncmFtIHhtbG5zOmRpYT0iaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvIj4KKyAgPGRpYTpkaWFncmFtZGF0YSBkaWE6dGVzdGF0dHI9InRlc3QiLz4KKzwvZGlhOmRpYWdyYW0+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9ucy5yZGUgYi9saWJ4bWwyL3Jlc3VsdC9ucy5yZGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTEzZDEzNQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L25zLnJkZQpAQCAtMCwwICsxLDcgQEAKKzAgMSBkaWE6ZGlhZ3JhbSAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKzEgMSBkaWE6ZGlhZ3JhbWRhdGEgMSAwCisxIDE0ICN0ZXh0IDAgMSAKKworMCAxNSBkaWE6ZGlhZ3JhbSAwIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L25zLnJkciBiL2xpYnhtbDIvcmVzdWx0L25zLnJkcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MTNkMTM1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvbnMucmRyCkBAIC0wLDAgKzEsNyBAQAorMCAxIGRpYTpkaWFncmFtIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSAxIGRpYTpkaWFncmFtZGF0YSAxIDAKKzEgMTQgI3RleHQgMCAxIAorCiswIDE1IGRpYTpkaWFncmFtIDAgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvbnMuc2F4IGIvbGlieG1sMi9yZXN1bHQvbnMuc2F4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ1ZTAwZjcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9ucy5zYXgKQEAgLTAsMCArMSwxMSBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguc3RhcnRFbGVtZW50KGRpYTpkaWFncmFtLCB4bWxuczpkaWE9J2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChkaWE6ZGlhZ3JhbWRhdGEsIGRpYTp0ZXN0YXR0cj0ndGVzdCcpCitTQVguZW5kRWxlbWVudChkaWE6ZGlhZ3JhbWRhdGEpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5lbmRFbGVtZW50KGRpYTpkaWFncmFtKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L25zLnNheDIgYi9saWJ4bWwyL3Jlc3VsdC9ucy5zYXgyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM2MTVkYjMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9ucy5zYXgyCkBAIC0wLDAgKzEsMTEgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLnN0YXJ0RWxlbWVudE5zKGRpYWdyYW0sIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycsIDEsIHhtbG5zOmRpYT0naHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvJywgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMoZGlhZ3JhbWRhdGEsIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycsIDAsIDEsIDAsIGRpYTp0ZXN0YXR0cj0ndGVzdC4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKGRpYWdyYW1kYXRhLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguZW5kRWxlbWVudE5zKGRpYWdyYW0sIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvbnMyIGIvbGlieG1sMi9yZXN1bHQvbnMyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI2OWFkODIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9uczIKQEAgLTAsMCArMSwyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxkaWE6ZGlhZ3JhbSB4bWxuczpkaWE9Imh0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLyIgZGlhOnRlc3RhdHRyPSJ0ZXN0Ii8+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9uczIucmRlIGIvbGlieG1sMi9yZXN1bHQvbnMyLnJkZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41OGNhMGFjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvbnMyLnJkZQpAQCAtMCwwICsxIEBACiswIDEgZGlhOmRpYWdyYW0gMSAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9uczIucmRyIGIvbGlieG1sMi9yZXN1bHQvbnMyLnJkcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41OGNhMGFjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvbnMyLnJkcgpAQCAtMCwwICsxIEBACiswIDEgZGlhOmRpYWdyYW0gMSAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9uczIuc2F4IGIvbGlieG1sMi9yZXN1bHQvbnMyLnNheApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NGEzZmU4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvbnMyLnNheApAQCAtMCwwICsxLDUgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLnN0YXJ0RWxlbWVudChkaWE6ZGlhZ3JhbSwgeG1sbnM6ZGlhPSdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nLCBkaWE6dGVzdGF0dHI9J3Rlc3QnKQorU0FYLmVuZEVsZW1lbnQoZGlhOmRpYWdyYW0pCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvbnMyLnNheDIgYi9saWJ4bWwyL3Jlc3VsdC9uczIuc2F4MgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYzhkNmY0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvbnMyLnNheDIKQEAgLTAsMCArMSw1IEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5zdGFydEVsZW1lbnROcyhkaWFncmFtLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nLCAxLCB4bWxuczpkaWE9J2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycsIDEsIDAsIGRpYTp0ZXN0YXR0cj0ndGVzdC4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKGRpYWdyYW0sIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvbnMzIGIvbGlieG1sMi9yZXN1bHQvbnMzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI2OWFkODIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9uczMKQEAgLTAsMCArMSwyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxkaWE6ZGlhZ3JhbSB4bWxuczpkaWE9Imh0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLyIgZGlhOnRlc3RhdHRyPSJ0ZXN0Ii8+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9uczMucmRlIGIvbGlieG1sMi9yZXN1bHQvbnMzLnJkZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41OGNhMGFjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvbnMzLnJkZQpAQCAtMCwwICsxIEBACiswIDEgZGlhOmRpYWdyYW0gMSAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9uczMucmRyIGIvbGlieG1sMi9yZXN1bHQvbnMzLnJkcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41OGNhMGFjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvbnMzLnJkcgpAQCAtMCwwICsxIEBACiswIDEgZGlhOmRpYWdyYW0gMSAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9uczMuc2F4IGIvbGlieG1sMi9yZXN1bHQvbnMzLnNheApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MjFjN2YwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvbnMzLnNheApAQCAtMCwwICsxLDUgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLnN0YXJ0RWxlbWVudChkaWE6ZGlhZ3JhbSwgZGlhOnRlc3RhdHRyPSd0ZXN0JywgeG1sbnM6ZGlhPSdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nKQorU0FYLmVuZEVsZW1lbnQoZGlhOmRpYWdyYW0pCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvbnMzLnNheDIgYi9saWJ4bWwyL3Jlc3VsdC9uczMuc2F4MgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYzhkNmY0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvbnMzLnNheDIKQEAgLTAsMCArMSw1IEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5zdGFydEVsZW1lbnROcyhkaWFncmFtLCBkaWEsICdodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8nLCAxLCB4bWxuczpkaWE9J2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycsIDEsIDAsIGRpYTp0ZXN0YXR0cj0ndGVzdC4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKGRpYWdyYW0sIGRpYSwgJ2h0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLycpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvbnM0IGIvbGlieG1sMi9yZXN1bHQvbnM0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEzNmJmOTIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9uczQKQEAgLTAsMCArMSwyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxkaWFncmFtIHRlc3RhdHRyPSJ0ZXN0IiB4bWw6bGFuZz0iZW4iIHhtbDpsaW5rPSJzaW1wbGUiIHhtbDpzcGFjZT0icHJlc2VydmUiLz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L25zNC5yZGUgYi9saWJ4bWwyL3Jlc3VsdC9uczQucmRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZmNWRkYTcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9uczQucmRlCkBAIC0wLDAgKzEgQEAKKzAgMSBkaWFncmFtIDEgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvbnM0LnJkciBiL2xpYnhtbDIvcmVzdWx0L25zNC5yZHIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmY1ZGRhNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L25zNC5yZHIKQEAgLTAsMCArMSBAQAorMCAxIGRpYWdyYW0gMSAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9uczQuc2F4IGIvbGlieG1sMi9yZXN1bHQvbnM0LnNheApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NzRiOWEzCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvbnM0LnNheApAQCAtMCwwICsxLDUgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLnN0YXJ0RWxlbWVudChkaWFncmFtLCB0ZXN0YXR0cj0ndGVzdCcsIHhtbDpsYW5nPSdlbicsIHhtbDpsaW5rPSdzaW1wbGUnLCB4bWw6c3BhY2U9J3ByZXNlcnZlJykKK1NBWC5lbmRFbGVtZW50KGRpYWdyYW0pCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvbnM0LnNheDIgYi9saWJ4bWwyL3Jlc3VsdC9uczQuc2F4MgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMzFjYzU2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvbnM0LnNheDIKQEAgLTAsMCArMSw1IEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5zdGFydEVsZW1lbnROcyhkaWFncmFtLCBOVUxMLCBOVUxMLCAwLCA0LCAwLCB0ZXN0YXR0cj0ndGVzdC4uLicsIDQsIHhtbDpsYW5nPSdlbiIgLi4uJywgMiwgeG1sOmxpbms9J3NpbXAuLi4nLCA2LCB4bWw6c3BhY2U9J3ByZXMuLi4nLCA4KQorU0FYLmVuZEVsZW1lbnROcyhkaWFncmFtLCBOVUxMLCBOVUxMKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L25zNSBiL2xpYnhtbDIvcmVzdWx0L25zNQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYWZlNGUyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvbnM1CkBAIC0wLDAgKzEsNCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8ZWxlbWVudCB4bWxuczpybmc9Imh0dHA6Ly9leGFtcGxlLm9yZy9ucy8xIiB4bWxucz0iaHR0cDovL2V4YW1wbGUub3JnL25zLzEiIG5hbWU9ImZvbyI+CisgIDxlbXB0eS8+Cis8L2VsZW1lbnQ+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9uczUucmRlIGIvbGlieG1sMi9yZXN1bHQvbnM1LnJkZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMGNlMTk2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvbnM1LnJkZQpAQCAtMCwwICsxLDcgQEAKKzAgMSBlbGVtZW50IDAgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSAxIGVtcHR5IDEgMAorMSAxNCAjdGV4dCAwIDEgCisKKzAgMTUgZWxlbWVudCAwIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L25zNS5yZHIgYi9saWJ4bWwyL3Jlc3VsdC9uczUucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMwY2UxOTYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9uczUucmRyCkBAIC0wLDAgKzEsNyBAQAorMCAxIGVsZW1lbnQgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDEgZW1wdHkgMSAwCisxIDE0ICN0ZXh0IDAgMSAKKworMCAxNSBlbGVtZW50IDAgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvbnM1LnNheCBiL2xpYnhtbDIvcmVzdWx0L25zNS5zYXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTQ1OGJjYQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L25zNS5zYXgKQEAgLTAsMCArMSwxMSBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguc3RhcnRFbGVtZW50KGVsZW1lbnQsIG5hbWU9J2ZvbycsIHhtbG5zOnJuZz0naHR0cDovL2V4YW1wbGUub3JnL25zLzEnLCB4bWxucz0naHR0cDovL2V4YW1wbGUub3JnL25zLzEnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQoZW1wdHkpCitTQVguZW5kRWxlbWVudChlbXB0eSkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmVuZEVsZW1lbnQoZWxlbWVudCkKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9uczUuc2F4MiBiL2xpYnhtbDIvcmVzdWx0L25zNS5zYXgyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE0MzRkNmIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9uczUuc2F4MgpAQCAtMCwwICsxLDExIEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5zdGFydEVsZW1lbnROcyhlbGVtZW50LCBOVUxMLCAnaHR0cDovL2V4YW1wbGUub3JnL25zLzEnLCAyLCB4bWxuczpybmc9J2h0dHA6Ly9leGFtcGxlLm9yZy9ucy8xJywgeG1sbnM9J2h0dHA6Ly9leGFtcGxlLm9yZy9ucy8xJywgMSwgMCwgbmFtZT0nZm9vIi4uLicsIDMpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKGVtcHR5LCBOVUxMLCAnaHR0cDovL2V4YW1wbGUub3JnL25zLzEnLCAwLCAwLCAwKQorU0FYLmVuZEVsZW1lbnROcyhlbXB0eSwgTlVMTCwgJ2h0dHA6Ly9leGFtcGxlLm9yZy9ucy8xJykKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmVuZEVsZW1lbnROcyhlbGVtZW50LCBOVUxMLCAnaHR0cDovL2V4YW1wbGUub3JnL25zLzEnKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L25zNiBiL2xpYnhtbDIvcmVzdWx0L25zNgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jOTcxMjUyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvbnM2CkBAIC0wLDAgKzEsNSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8cm9vdD4KKyAgPGZvbyB4bWxucz0iaHR0cDovL2FiYyIvPgorICA8YmFyLz4KKzwvcm9vdD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L25zNi5yZGUgYi9saWJ4bWwyL3Jlc3VsdC9uczYucmRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIzYTgwZWMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9uczYucmRlCkBAIC0wLDAgKzEsMTAgQEAKKzAgMSByb290IDAgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSAxIGZvbyAxIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKzEgMSBiYXIgMSAwCisxIDE0ICN0ZXh0IDAgMSAKKworMCAxNSByb290IDAgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvbnM2LnJkciBiL2xpYnhtbDIvcmVzdWx0L25zNi5yZHIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjNhODBlYwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L25zNi5yZHIKQEAgLTAsMCArMSwxMCBAQAorMCAxIHJvb3QgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDEgZm9vIDEgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSAxIGJhciAxIDAKKzEgMTQgI3RleHQgMCAxIAorCiswIDE1IHJvb3QgMCAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9uczYuc2F4IGIvbGlieG1sMi9yZXN1bHQvbnM2LnNheApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMTQwNWIxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvbnM2LnNheApAQCAtMCwwICsxLDE1IEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5zdGFydEVsZW1lbnQocm9vdCkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KGZvbywgeG1sbnM9J2h0dHA6Ly9hYmMnKQorU0FYLmVuZEVsZW1lbnQoZm9vKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQoYmFyKQorU0FYLmVuZEVsZW1lbnQoYmFyKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguZW5kRWxlbWVudChyb290KQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L25zNi5zYXgyIGIvbGlieG1sMi9yZXN1bHQvbnM2LnNheDIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2I1NDU1MgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L25zNi5zYXgyCkBAIC0wLDAgKzEsMTUgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLnN0YXJ0RWxlbWVudE5zKHJvb3QsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKGZvbywgTlVMTCwgJ2h0dHA6Ly9hYmMnLCAxLCB4bWxucz0naHR0cDovL2FiYycsIDAsIDApCitTQVguZW5kRWxlbWVudE5zKGZvbywgTlVMTCwgJ2h0dHA6Ly9hYmMnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhiYXIsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguZW5kRWxlbWVudE5zKGJhciwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmVuZEVsZW1lbnROcyhyb290LCBOVUxMLCBOVUxMKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L25zNyBiL2xpYnhtbDIvcmVzdWx0L25zNwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNTA4OWUxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvbnM3CkBAIC0wLDAgKzEsMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8eG1sOnRlc3QvPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvbnM3LnJkZSBiL2xpYnhtbDIvcmVzdWx0L25zNy5yZGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTZmNTM1MQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L25zNy5yZGUKQEAgLTAsMCArMSBAQAorMCAxIHhtbDp0ZXN0IDEgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvbnM3LnJkciBiL2xpYnhtbDIvcmVzdWx0L25zNy5yZHIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTZmNTM1MQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L25zNy5yZHIKQEAgLTAsMCArMSBAQAorMCAxIHhtbDp0ZXN0IDEgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvbnM3LnNheCBiL2xpYnhtbDIvcmVzdWx0L25zNy5zYXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjAyMGJlOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L25zNy5zYXgKQEAgLTAsMCArMSw1IEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5zdGFydEVsZW1lbnQoeG1sOnRlc3QpCitTQVguZW5kRWxlbWVudCh4bWw6dGVzdCkKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9uczcuc2F4MiBiL2xpYnhtbDIvcmVzdWx0L25zNy5zYXgyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhMmM3MTQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9uczcuc2F4MgpAQCAtMCwwICsxLDUgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLnN0YXJ0RWxlbWVudE5zKHRlc3QsIHhtbCwgJ2h0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZScsIDAsIDAsIDApCitTQVguZW5kRWxlbWVudE5zKHRlc3QsIHhtbCwgJ2h0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZScpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvbnNjbGVhbi54bWwgYi9saWJ4bWwyL3Jlc3VsdC9uc2NsZWFuLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZjFlYTgyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvbnNjbGVhbi54bWwKQEAgLTAsMCArMSw1IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVUy1BU0NJSSI/PgorPGFydGljbGUgeG1sbnM9InRhZzpmb29mb29mb29mb29mb29mb29mb29mb28iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6ZGN0ZXJtcz0iaHR0cDovL3B1cmwub3JnL2RjL3Rlcm1zLyI+Cis8Zm9vcDpjb250ZW50IHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiB4bWxuczpmb29wPSJ0YWc6Zm9vZm9vZm9vZm9vZm9vZm9vZm9vZm9vIj4KKzwvZm9vcDpjb250ZW50PgorPC9hcnRpY2xlPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvbnNjbGVhbi54bWwucmRlIGIvbGlieG1sMi9yZXN1bHQvbnNjbGVhbi54bWwucmRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM2MDY1OTMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9uc2NsZWFuLnhtbC5yZGUKQEAgLTAsMCArMSwxMCBAQAorMCAxIGFydGljbGUgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKworMSAxIGZvb3A6Y29udGVudCAwIDAKKzIgMTQgI3RleHQgMCAxIAorCisxIDE1IGZvb3A6Y29udGVudCAwIDAKKzEgMTQgI3RleHQgMCAxIAorCiswIDE1IGFydGljbGUgMCAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9uc2NsZWFuLnhtbC5yZHIgYi9saWJ4bWwyL3Jlc3VsdC9uc2NsZWFuLnhtbC5yZHIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzYwNjU5MwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L25zY2xlYW4ueG1sLnJkcgpAQCAtMCwwICsxLDEwIEBACiswIDEgYXJ0aWNsZSAwIDAKKzEgMTQgI3RleHQgMCAxIAorCisxIDEgZm9vcDpjb250ZW50IDAgMAorMiAxNCAjdGV4dCAwIDEgCisKKzEgMTUgZm9vcDpjb250ZW50IDAgMAorMSAxNCAjdGV4dCAwIDEgCisKKzAgMTUgYXJ0aWNsZSAwIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L25zY2xlYW4ueG1sLnNheCBiL2xpYnhtbDIvcmVzdWx0L25zY2xlYW4ueG1sLnNheApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMDFhZWFlCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvbnNjbGVhbi54bWwuc2F4CkBAIC0wLDAgKzEsMTMgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLnN0YXJ0RWxlbWVudChhcnRpY2xlLCB4bWxucz0ndGFnOmZvb2Zvb2Zvb2Zvb2Zvb2Zvb2Zvb2ZvbycsIHhtbG5zOmRjPSdodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLycsIHhtbG5zOmRjdGVybXM9J2h0dHA6Ly9wdXJsLm9yZy9kYy90ZXJtcy8nKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguc3RhcnRFbGVtZW50KGZvb3A6Y29udGVudCwgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwnLCB4bWxuczpmb29wPSd0YWc6Zm9vZm9vZm9vZm9vZm9vZm9vZm9vZm9vJykKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmVuZEVsZW1lbnQoZm9vcDpjb250ZW50KQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguZW5kRWxlbWVudChhcnRpY2xlKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L25zY2xlYW4ueG1sLnNheDIgYi9saWJ4bWwyL3Jlc3VsdC9uc2NsZWFuLnhtbC5zYXgyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ0NDNlMmIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9uc2NsZWFuLnhtbC5zYXgyCkBAIC0wLDAgKzEsMTMgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLnN0YXJ0RWxlbWVudE5zKGFydGljbGUsIE5VTEwsICd0YWc6Zm9vZm9vZm9vZm9vZm9vZm9vZm9vZm9vJywgMywgeG1sbnM9J3RhZzpmb29mb29mb29mb29mb29mb29mb29mb28nLCB4bWxuczpkYz0naHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8nLCB4bWxuczpkY3Rlcm1zPSdodHRwOi8vcHVybC5vcmcvZGMvdGVybXMvJywgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudE5zKGNvbnRlbnQsIGZvb3AsICd0YWc6Zm9vZm9vZm9vZm9vZm9vZm9vZm9vZm9vJywgMiwgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwnLCB4bWxuczpmb29wPSd0YWc6Zm9vZm9vZm9vZm9vZm9vZm9vZm9vZm9vJywgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmVuZEVsZW1lbnROcyhjb250ZW50LCBmb29wLCAndGFnOmZvb2Zvb2Zvb2Zvb2Zvb2Zvb2Zvb2ZvbycpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5lbmRFbGVtZW50TnMoYXJ0aWNsZSwgTlVMTCwgJ3RhZzpmb29mb29mb29mb29mb29mb29mb29mb28nKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3AzcCBiL2xpYnhtbDIvcmVzdWx0L3AzcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMWQ1NTg3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcDNwCkBAIC0wLDAgKzEsMTkgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPFJERjpSREYgeG1sbnM6cDNwPSJodHRwOi8vd3d3LnczLm9yZy9UUi8xOTk4L1dELVAzUDEwLXN5bnRheCNwcm9wb3NhbC5EVEQiIHhtbG5zOlJERj0iaHR0cDovL3d3dy53My5vcmcvVFIvV0QtcmRmLXN5bnRheCMiPgorPFBST1AgcmVhbG09Imh0dHA6Ly93d3cuQ29vbENhdGFsb2cuY29tL2NhdGFsb2d1ZS8iIGVudGl0eT0iQ29vbENhdGFsb2ciIGFncmVlSUQ9Ijk0ZGYxMjkzYTNlNTE5YmIiIGFzc3VyYW5jZT0iaHR0cDovL3d3dy5UcnVzdFVzLm9yZyI+CisgIDxVU0VTPgorICA8U1RBVEVNRU5UIHB1cnA9IjIsMyIgcmVjcG50PSIwIiBpZD0iMCIgY29uc3E9ImEgc2l0ZSB3aXRoIGNsb3RoZXMgeW91J2QgYXBwcmVjaWF0ZS4iPgorICAgIDxXSVRIPjxQUkVGSVggbmFtZT0iVXNlci4iPgorICAgICA8UkVGIG5hbWU9Ik5hbWUuRmlyc3QiLz4KKyAgICAgPFJFRiBuYW1lPSJCZGF0ZS5ZZWFyIiBvcHRpb25hbD0iMSIvPgorICAgICA8UkVGIG5hbWU9IkdlbmRlciIvPgorICAgIDwvUFJFRklYPjwvV0lUSD4KKyAgPC9TVEFURU1FTlQ+CisgIDwvVVNFUz4KKyAgPFVTRVM+CisgIDxTVEFURU1FTlQgYWN0aW9uPSJyZWFkJmFtcDt3cml0ZSIgcHVycD0iMCIgcmVjcG50PSIwIiBpZD0iMSI+CisgICAgPFJFRiBuYW1lPSJVc2VyLlNoaXBwaW5nLiIvPgorICA8L1NUQVRFTUVOVD4KKyAgPC9VU0VTPgorICA8RElTQ0xPU1VSRSBkaXNjVVJJPSJodHRwOi8vd3d3LkNvb2xDYXRhbG9nLmNvbS9Qcml2YWN5UHJhY3RpY2UuaHRtbCIgYWNjZXNzPSIzIiBvdGhlcj0iMCwxIi8+Cis8L1BST1A+PC9SREY6UkRGPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcDNwLnJkZSBiL2xpYnhtbDIvcmVzdWx0L3AzcC5yZGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGMwMWY1MAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3AzcC5yZGUKQEAgLTAsMCArMSw1NSBAQAorMCAxIFJERjpSREYgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKworMSAxIFBST1AgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgVVNFUyAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAKKzMgMSBTVEFURU1FTlQgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAKKzQgMSBXSVRIIDAgMAorNSAxIFBSRUZJWCAwIDAKKzYgMTQgI3RleHQgMCAxIAorICAgICAKKzYgMSBSRUYgMSAwCis2IDE0ICN0ZXh0IDAgMSAKKyAgICAgCis2IDEgUkVGIDEgMAorNiAxNCAjdGV4dCAwIDEgCisgICAgIAorNiAxIFJFRiAxIDAKKzYgMTQgI3RleHQgMCAxIAorICAgIAorNSAxNSBQUkVGSVggMCAwCis0IDE1IFdJVEggMCAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgCiszIDE1IFNUQVRFTUVOVCAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAKKzIgMTUgVVNFUyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBVU0VTIDAgMAorMyAxNCAjdGV4dCAwIDEgCisgIAorMyAxIFNUQVRFTUVOVCAwIDAKKzQgMTQgI3RleHQgMCAxIAorICAgIAorNCAxIFJFRiAxIDAKKzQgMTQgI3RleHQgMCAxIAorICAKKzMgMTUgU1RBVEVNRU5UIDAgMAorMyAxNCAjdGV4dCAwIDEgCisgIAorMiAxNSBVU0VTIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIERJU0NMT1NVUkUgMSAwCisyIDE0ICN0ZXh0IDAgMSAKKworMSAxNSBQUk9QIDAgMAorMCAxNSBSREY6UkRGIDAgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcDNwLnJkciBiL2xpYnhtbDIvcmVzdWx0L3AzcC5yZHIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGMwMWY1MAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3AzcC5yZHIKQEAgLTAsMCArMSw1NSBAQAorMCAxIFJERjpSREYgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKworMSAxIFBST1AgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgVVNFUyAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAKKzMgMSBTVEFURU1FTlQgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAKKzQgMSBXSVRIIDAgMAorNSAxIFBSRUZJWCAwIDAKKzYgMTQgI3RleHQgMCAxIAorICAgICAKKzYgMSBSRUYgMSAwCis2IDE0ICN0ZXh0IDAgMSAKKyAgICAgCis2IDEgUkVGIDEgMAorNiAxNCAjdGV4dCAwIDEgCisgICAgIAorNiAxIFJFRiAxIDAKKzYgMTQgI3RleHQgMCAxIAorICAgIAorNSAxNSBQUkVGSVggMCAwCis0IDE1IFdJVEggMCAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgCiszIDE1IFNUQVRFTUVOVCAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAKKzIgMTUgVVNFUyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBVU0VTIDAgMAorMyAxNCAjdGV4dCAwIDEgCisgIAorMyAxIFNUQVRFTUVOVCAwIDAKKzQgMTQgI3RleHQgMCAxIAorICAgIAorNCAxIFJFRiAxIDAKKzQgMTQgI3RleHQgMCAxIAorICAKKzMgMTUgU1RBVEVNRU5UIDAgMAorMyAxNCAjdGV4dCAwIDEgCisgIAorMiAxNSBVU0VTIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIERJU0NMT1NVUkUgMSAwCisyIDE0ICN0ZXh0IDAgMSAKKworMSAxNSBQUk9QIDAgMAorMCAxNSBSREY6UkRGIDAgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcDNwLnNheCBiL2xpYnhtbDIvcmVzdWx0L3AzcC5zYXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTM2NjI5YQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3AzcC5zYXgKQEAgLTAsMCArMSw2MyBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguc3RhcnRFbGVtZW50KFJERjpSREYsIHhtbG5zOnAzcD0naHR0cDovL3d3dy53My5vcmcvVFIvMTk5OC9XRC1QM1AxMC1zeW50YXgjcHJvcG9zYWwuRFREJywgeG1sbnM6UkRGPSdodHRwOi8vd3d3LnczLm9yZy9UUi9XRC1yZGYtc3ludGF4IycpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5zdGFydEVsZW1lbnQoUFJPUCwgcmVhbG09J2h0dHA6Ly93d3cuQ29vbENhdGFsb2cuY29tL2NhdGFsb2d1ZS8nLCBlbnRpdHk9J0Nvb2xDYXRhbG9nJywgYWdyZWVJRD0nOTRkZjEyOTNhM2U1MTliYicsIGFzc3VyYW5jZT0naHR0cDovL3d3dy5UcnVzdFVzLm9yZycpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChVU0VTKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQoU1RBVEVNRU5ULCBwdXJwPScyLDMnLCByZWNwbnQ9JzAnLCBpZD0nMCcsIGNvbnNxPSdhIHNpdGUgd2l0aCBjbG90aGVzIHlvdSdkIGFwcHJlY2lhdGUuJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoV0lUSCkKK1NBWC5zdGFydEVsZW1lbnQoUFJFRklYLCBuYW1lPSdVc2VyLicpCitTQVguY2hhcmFjdGVycygKKyAgICAgLCA2KQorU0FYLnN0YXJ0RWxlbWVudChSRUYsIG5hbWU9J05hbWUuRmlyc3QnKQorU0FYLmVuZEVsZW1lbnQoUkVGKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICwgNikKK1NBWC5zdGFydEVsZW1lbnQoUkVGLCBuYW1lPSdCZGF0ZS5ZZWFyJywgb3B0aW9uYWw9JzEnKQorU0FYLmVuZEVsZW1lbnQoUkVGKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICwgNikKK1NBWC5zdGFydEVsZW1lbnQoUkVGLCBuYW1lPSdHZW5kZXInKQorU0FYLmVuZEVsZW1lbnQoUkVGKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLmVuZEVsZW1lbnQoUFJFRklYKQorU0FYLmVuZEVsZW1lbnQoV0lUSCkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguZW5kRWxlbWVudChTVEFURU1FTlQpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnQoVVNFUykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KFVTRVMpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChTVEFURU1FTlQsIGFjdGlvbj0ncmVhZCYjMzg7d3JpdGUnLCBwdXJwPScwJywgcmVjcG50PScwJywgaWQ9JzEnKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChSRUYsIG5hbWU9J1VzZXIuU2hpcHBpbmcuJykKK1NBWC5lbmRFbGVtZW50KFJFRikKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguZW5kRWxlbWVudChTVEFURU1FTlQpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnQoVVNFUykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KERJU0NMT1NVUkUsIGRpc2NVUkk9J2h0dHA6Ly93d3cuQ29vbENhdGFsb2cuY29tL1ByaXZhY3lQcmFjdGljZS5odG1sJywgYWNjZXNzPSczJywgb3RoZXI9JzAsMScpCitTQVguZW5kRWxlbWVudChESVNDTE9TVVJFKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguZW5kRWxlbWVudChQUk9QKQorU0FYLmVuZEVsZW1lbnQoUkRGOlJERikKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9wM3Auc2F4MiBiL2xpYnhtbDIvcmVzdWx0L3AzcC5zYXgyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2MmFlNmIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9wM3Auc2F4MgpAQCAtMCwwICsxLDY1IEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5zdGFydEVsZW1lbnROcyhSREYsIFJERiwgJ2h0dHA6Ly93d3cudzMub3JnL1RSL1dELXJkZi1zeW50YXgjJywgMiwgeG1sbnM6cDNwPSdodHRwOi8vd3d3LnczLm9yZy9UUi8xOTk4L1dELVAzUDEwLXN5bnRheCNwcm9wb3NhbC5EVEQnLCB4bWxuczpSREY9J2h0dHA6Ly93d3cudzMub3JnL1RSL1dELXJkZi1zeW50YXgjJywgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudE5zKFBST1AsIE5VTEwsIE5VTEwsIDAsIDQsIDAsIHJlYWxtPSdodHRwLi4uJywgMzcsIGVudGl0eT0nQ29vbC4uLicsIDExLCBhZ3JlZUlEPSc5NGRmLi4uJywgMTYsIGFzc3VyYW5jZT0naHR0cC4uLicsIDIyKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhVU0VTLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhTVEFURU1FTlQsIE5VTEwsIE5VTEwsIDAsIDQsIDAsIHB1cnA9JzIsMyIuLi4nLCAzLCByZWNwbnQ9JzAiIGkuLi4nLCAxLCBpZD0nMCIKKyAuLi4nLCAxLCBjb25zcT0nYSBzaS4uLicsIDM3KQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKFdJVEgsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguc3RhcnRFbGVtZW50TnMoUFJFRklYLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBuYW1lPSdVc2VyLi4uJywgNSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAsIDYpCitTQVguc3RhcnRFbGVtZW50TnMoUkVGLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBuYW1lPSdOYW1lLi4uJywgMTApCitTQVguZW5kRWxlbWVudE5zKFJFRiwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAsIDYpCitTQVguc3RhcnRFbGVtZW50TnMoUkVGLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBuYW1lPSdCZGF0Li4uJywgMTAsIG9wdGlvbmFsPScxIi8+Li4uJywgMSkKK1NBWC5lbmRFbGVtZW50TnMoUkVGLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICwgNikKK1NBWC5zdGFydEVsZW1lbnROcyhSRUYsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIG5hbWU9J0dlbmQuLi4nLCA2KQorU0FYLmVuZEVsZW1lbnROcyhSRUYsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguZW5kRWxlbWVudE5zKFBSRUZJWCwgTlVMTCwgTlVMTCkKK1NBWC5lbmRFbGVtZW50TnMoV0lUSCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguZW5kRWxlbWVudE5zKFNUQVRFTUVOVCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguZW5kRWxlbWVudE5zKFVTRVMsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKFVTRVMsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKFNUQVRFTUVOVCwgTlVMTCwgTlVMTCwgMCwgNCwgMCwgYWN0aW9uPSdyZWFkLi4uJywgMTQsIHB1cnA9JzAiIHIuLi4nLCAxLCByZWNwbnQ9JzAiIGkuLi4nLCAxLCBpZD0nMSI+CisuLi4nLCAxKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKFJFRiwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgbmFtZT0nVXNlci4uLicsIDE0KQorU0FYLmVuZEVsZW1lbnROcyhSRUYsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnROcyhTVEFURU1FTlQsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnROcyhVU0VTLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhESVNDTE9TVVJFLCBOVUxMLCBOVUxMLCAwLCAzLCAwLCBkaXNjVVJJPSdodHRwLi4uJywgNDcsIGFjY2Vzcz0nMyIgby4uLicsIDEsIG90aGVyPScwLDEiLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnMoRElTQ0xPU1VSRSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmVuZEVsZW1lbnROcyhQUk9QLCBOVUxMLCBOVUxMKQorU0FYLmVuZEVsZW1lbnROcyhSREYsIFJERiwgJ2h0dHA6Ly93d3cudzMub3JnL1RSL1dELXJkZi1zeW50YXgjJykKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9wYXR0ZXJuL2NvbmogYi9saWJ4bWwyL3Jlc3VsdC9wYXR0ZXJuL2NvbmoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjE2NDUwYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3BhdHRlcm4vY29uagpAQCAtMCwwICsxLDQ3IEBACitOb2RlIC9hIG1hdGNoZXMgcGF0dGVybiBhfGIKK05vZGUgL2EvYiBtYXRjaGVzIHBhdHRlcm4gYXxiCitOb2RlIC9hL2IvY1sxXS9iIG1hdGNoZXMgcGF0dGVybiBhfGIKK05vZGUgL2EvYi9jWzJdL2IgbWF0Y2hlcyBwYXR0ZXJuIGF8YgorTm9kZSAvYS9iL2NbMl0vYy9iIG1hdGNoZXMgcGF0dGVybiBhfGIKK05vZGUgL2EvYy9iIG1hdGNoZXMgcGF0dGVybiBhfGIKK05vZGUgL2EgbWF0Y2hlcyBwYXR0ZXJuIGF8YworTm9kZSAvYS9iL2NbMV0gbWF0Y2hlcyBwYXR0ZXJuIGF8YworTm9kZSAvYS9iL2NbMl0gbWF0Y2hlcyBwYXR0ZXJuIGF8YworTm9kZSAvYS9iL2NbMl0vYyBtYXRjaGVzIHBhdHRlcm4gYXxjCitOb2RlIC9hL2MgbWF0Y2hlcyBwYXR0ZXJuIGF8YworTm9kZSAvYS9iIG1hdGNoZXMgcGF0dGVybiBifGMKK05vZGUgL2EvYi9jWzFdIG1hdGNoZXMgcGF0dGVybiBifGMKK05vZGUgL2EvYi9jWzFdL2IgbWF0Y2hlcyBwYXR0ZXJuIGJ8YworTm9kZSAvYS9iL2NbMl0gbWF0Y2hlcyBwYXR0ZXJuIGJ8YworTm9kZSAvYS9iL2NbMl0vYiBtYXRjaGVzIHBhdHRlcm4gYnxjCitOb2RlIC9hL2IvY1syXS9jIG1hdGNoZXMgcGF0dGVybiBifGMKK05vZGUgL2EvYi9jWzJdL2MvYiBtYXRjaGVzIHBhdHRlcm4gYnxjCitOb2RlIC9hL2MgbWF0Y2hlcyBwYXR0ZXJuIGJ8YworTm9kZSAvYS9jL2IgbWF0Y2hlcyBwYXR0ZXJuIGJ8YworTm9kZSAvYSBtYXRjaGVzIHBhdHRlcm4gYXxifGMKK05vZGUgL2EvYiBtYXRjaGVzIHBhdHRlcm4gYXxifGMKK05vZGUgL2EvYi9jWzFdIG1hdGNoZXMgcGF0dGVybiBhfGJ8YworTm9kZSAvYS9iL2NbMV0vYiBtYXRjaGVzIHBhdHRlcm4gYXxifGMKK05vZGUgL2EvYi9jWzJdIG1hdGNoZXMgcGF0dGVybiBhfGJ8YworTm9kZSAvYS9iL2NbMl0vYiBtYXRjaGVzIHBhdHRlcm4gYXxifGMKK05vZGUgL2EvYi9jWzJdL2MgbWF0Y2hlcyBwYXR0ZXJuIGF8YnxjCitOb2RlIC9hL2IvY1syXS9jL2IgbWF0Y2hlcyBwYXR0ZXJuIGF8YnxjCitOb2RlIC9hL2MgbWF0Y2hlcyBwYXR0ZXJuIGF8YnxjCitOb2RlIC9hL2MvYiBtYXRjaGVzIHBhdHRlcm4gYXxifGMKK05vZGUgL2EgbWF0Y2hlcyBwYXR0ZXJuIC9hfGIKK05vZGUgL2EvYiBtYXRjaGVzIHBhdHRlcm4gL2F8YgorTm9kZSAvYS9iL2NbMV0vYiBtYXRjaGVzIHBhdHRlcm4gL2F8YgorTm9kZSAvYS9iL2NbMl0vYiBtYXRjaGVzIHBhdHRlcm4gL2F8YgorTm9kZSAvYS9iL2NbMl0vYy9iIG1hdGNoZXMgcGF0dGVybiAvYXxiCitOb2RlIC9hL2MvYiBtYXRjaGVzIHBhdHRlcm4gL2F8YgorTm9kZSAvYSBtYXRjaGVzIHBhdHRlcm4gYnwvYQorTm9kZSAvYS9iIG1hdGNoZXMgcGF0dGVybiBifC9hCitOb2RlIC9hL2IvY1sxXS9iIG1hdGNoZXMgcGF0dGVybiBifC9hCitOb2RlIC9hL2IvY1syXS9iIG1hdGNoZXMgcGF0dGVybiBifC9hCitOb2RlIC9hL2IvY1syXS9jL2IgbWF0Y2hlcyBwYXR0ZXJuIGJ8L2EKK05vZGUgL2EvYy9iIG1hdGNoZXMgcGF0dGVybiBifC9hCitOb2RlIC9hL2IvY1sxXSBtYXRjaGVzIHBhdHRlcm4gYS8vY3xiLy9jCitOb2RlIC9hL2IvY1syXSBtYXRjaGVzIHBhdHRlcm4gYS8vY3xiLy9jCitOb2RlIC9hL2IvY1syXS9jIG1hdGNoZXMgcGF0dGVybiBhLy9jfGIvL2MKK05vZGUgL2EvYyBtYXRjaGVzIHBhdHRlcm4gYS8vY3xiLy9jCitOb2RlIC9hIG1hdGNoZXMgcGF0dGVybiBkfGV8ZnxnfGh8YQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcGF0dGVybi9tdWx0aXBsZSBiL2xpYnhtbDIvcmVzdWx0L3BhdHRlcm4vbXVsdGlwbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTEwMzkwZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3BhdHRlcm4vbXVsdGlwbGUKQEAgLTAsMCArMSw5MSBAQAorTm9kZSAvYy9iWzFdL2FbMV0gbWF0Y2hlcyBwYXR0ZXJuIGEKK05vZGUgL2MvYlsxXS9hWzJdIG1hdGNoZXMgcGF0dGVybiBhCitOb2RlIC9jL2MvYi9hWzFdIG1hdGNoZXMgcGF0dGVybiBhCitOb2RlIC9jL2MvYi9hWzJdIG1hdGNoZXMgcGF0dGVybiBhCitOb2RlIC9jL2JbMl0vYVsxXSBtYXRjaGVzIHBhdHRlcm4gYQorTm9kZSAvYy9iWzJdL2FbMl0gbWF0Y2hlcyBwYXR0ZXJuIGEKK05vZGUgL2MvYlsxXSBtYXRjaGVzIHBhdHRlcm4gYgorTm9kZSAvYy9jL2IgbWF0Y2hlcyBwYXR0ZXJuIGIKK05vZGUgL2MvYlsyXSBtYXRjaGVzIHBhdHRlcm4gYgorTm9kZSAvYyBtYXRjaGVzIHBhdHRlcm4gYworTm9kZSAvYy9jIG1hdGNoZXMgcGF0dGVybiBjCitOb2RlIC9jL2JbMV0gbWF0Y2hlcyBwYXR0ZXJuIGMvYgorTm9kZSAvYy9jL2IgbWF0Y2hlcyBwYXR0ZXJuIGMvYgorTm9kZSAvYy9iWzJdIG1hdGNoZXMgcGF0dGVybiBjL2IKK05vZGUgL2MvYlsxXS9hWzFdIG1hdGNoZXMgcGF0dGVybiBiL2EKK05vZGUgL2MvYlsxXS9hWzJdIG1hdGNoZXMgcGF0dGVybiBiL2EKK05vZGUgL2MvYy9iL2FbMV0gbWF0Y2hlcyBwYXR0ZXJuIGIvYQorTm9kZSAvYy9jL2IvYVsyXSBtYXRjaGVzIHBhdHRlcm4gYi9hCitOb2RlIC9jL2JbMl0vYVsxXSBtYXRjaGVzIHBhdHRlcm4gYi9hCitOb2RlIC9jL2JbMl0vYVsyXSBtYXRjaGVzIHBhdHRlcm4gYi9hCitOb2RlIC9jL2JbMV0vYVsxXSBtYXRjaGVzIHBhdHRlcm4gYy9iL2EKK05vZGUgL2MvYlsxXS9hWzJdIG1hdGNoZXMgcGF0dGVybiBjL2IvYQorTm9kZSAvYy9jL2IvYVsxXSBtYXRjaGVzIHBhdHRlcm4gYy9iL2EKK05vZGUgL2MvYy9iL2FbMl0gbWF0Y2hlcyBwYXR0ZXJuIGMvYi9hCitOb2RlIC9jL2JbMl0vYVsxXSBtYXRjaGVzIHBhdHRlcm4gYy9iL2EKK05vZGUgL2MvYlsyXS9hWzJdIG1hdGNoZXMgcGF0dGVybiBjL2IvYQorTm9kZSAvYy9iWzFdL2FbMV0gbWF0Y2hlcyBwYXR0ZXJuIGMvL2EKK05vZGUgL2MvYlsxXS9hWzJdIG1hdGNoZXMgcGF0dGVybiBjLy9hCitOb2RlIC9jL2MvYi9hWzFdIG1hdGNoZXMgcGF0dGVybiBjLy9hCitOb2RlIC9jL2MvYi9hWzJdIG1hdGNoZXMgcGF0dGVybiBjLy9hCitOb2RlIC9jL2JbMl0vYVsxXSBtYXRjaGVzIHBhdHRlcm4gYy8vYQorTm9kZSAvYy9iWzJdL2FbMl0gbWF0Y2hlcyBwYXR0ZXJuIGMvL2EKK05vZGUgL2MvYlsxXSBtYXRjaGVzIHBhdHRlcm4gYy8vYgorTm9kZSAvYy9jL2IgbWF0Y2hlcyBwYXR0ZXJuIGMvL2IKK05vZGUgL2MvYlsyXSBtYXRjaGVzIHBhdHRlcm4gYy8vYgorTm9kZSAvYy9iWzFdL2FbMV0gbWF0Y2hlcyBwYXR0ZXJuIGIvL2EKK05vZGUgL2MvYlsxXS9hWzJdIG1hdGNoZXMgcGF0dGVybiBiLy9hCitOb2RlIC9jL2MvYi9hWzFdIG1hdGNoZXMgcGF0dGVybiBiLy9hCitOb2RlIC9jL2MvYi9hWzJdIG1hdGNoZXMgcGF0dGVybiBiLy9hCitOb2RlIC9jL2JbMl0vYVsxXSBtYXRjaGVzIHBhdHRlcm4gYi8vYQorTm9kZSAvYy9iWzJdL2FbMl0gbWF0Y2hlcyBwYXR0ZXJuIGIvL2EKK05vZGUgL2MvYlsxXS9hWzFdIG1hdGNoZXMgcGF0dGVybiBjLy9iLy9hCitOb2RlIC9jL2JbMV0vYVsyXSBtYXRjaGVzIHBhdHRlcm4gYy8vYi8vYQorTm9kZSAvYy9jL2IvYVsxXSBtYXRjaGVzIHBhdHRlcm4gYy8vYi8vYQorTm9kZSAvYy9jL2IvYVsyXSBtYXRjaGVzIHBhdHRlcm4gYy8vYi8vYQorTm9kZSAvYy9iWzJdL2FbMV0gbWF0Y2hlcyBwYXR0ZXJuIGMvL2IvL2EKK05vZGUgL2MvYlsyXS9hWzJdIG1hdGNoZXMgcGF0dGVybiBjLy9iLy9hCitOb2RlIC9jL2JbMV0vYVsxXSBtYXRjaGVzIHBhdHRlcm4gYy9iLy9hCitOb2RlIC9jL2JbMV0vYVsyXSBtYXRjaGVzIHBhdHRlcm4gYy9iLy9hCitOb2RlIC9jL2MvYi9hWzFdIG1hdGNoZXMgcGF0dGVybiBjL2IvL2EKK05vZGUgL2MvYy9iL2FbMl0gbWF0Y2hlcyBwYXR0ZXJuIGMvYi8vYQorTm9kZSAvYy9iWzJdL2FbMV0gbWF0Y2hlcyBwYXR0ZXJuIGMvYi8vYQorTm9kZSAvYy9iWzJdL2FbMl0gbWF0Y2hlcyBwYXR0ZXJuIGMvYi8vYQorTm9kZSAvYy9iWzFdL2FbMV0gbWF0Y2hlcyBwYXR0ZXJuIGMvL2IvYQorTm9kZSAvYy9iWzFdL2FbMl0gbWF0Y2hlcyBwYXR0ZXJuIGMvL2IvYQorTm9kZSAvYy9jL2IvYVsxXSBtYXRjaGVzIHBhdHRlcm4gYy8vYi9hCitOb2RlIC9jL2MvYi9hWzJdIG1hdGNoZXMgcGF0dGVybiBjLy9iL2EKK05vZGUgL2MvYlsyXS9hWzFdIG1hdGNoZXMgcGF0dGVybiBjLy9iL2EKK05vZGUgL2MvYlsyXS9hWzJdIG1hdGNoZXMgcGF0dGVybiBjLy9iL2EKK05vZGUgL2MgbWF0Y2hlcyBwYXR0ZXJuIC9jCitOb2RlIC9jL2JbMV0gbWF0Y2hlcyBwYXR0ZXJuIC9jL2IKK05vZGUgL2MvYlsyXSBtYXRjaGVzIHBhdHRlcm4gL2MvYgorTm9kZSAvYy9iWzFdL2FbMV0gbWF0Y2hlcyBwYXR0ZXJuIC9jL2IvYQorTm9kZSAvYy9iWzFdL2FbMl0gbWF0Y2hlcyBwYXR0ZXJuIC9jL2IvYQorTm9kZSAvYy9iWzJdL2FbMV0gbWF0Y2hlcyBwYXR0ZXJuIC9jL2IvYQorTm9kZSAvYy9iWzJdL2FbMl0gbWF0Y2hlcyBwYXR0ZXJuIC9jL2IvYQorTm9kZSAvYy9iWzFdL2FbMV0gbWF0Y2hlcyBwYXR0ZXJuIC9jLy9hCitOb2RlIC9jL2JbMV0vYVsyXSBtYXRjaGVzIHBhdHRlcm4gL2MvL2EKK05vZGUgL2MvYy9iL2FbMV0gbWF0Y2hlcyBwYXR0ZXJuIC9jLy9hCitOb2RlIC9jL2MvYi9hWzJdIG1hdGNoZXMgcGF0dGVybiAvYy8vYQorTm9kZSAvYy9iWzJdL2FbMV0gbWF0Y2hlcyBwYXR0ZXJuIC9jLy9hCitOb2RlIC9jL2JbMl0vYVsyXSBtYXRjaGVzIHBhdHRlcm4gL2MvL2EKK05vZGUgL2MvYlsxXSBtYXRjaGVzIHBhdHRlcm4gL2MvL2IKK05vZGUgL2MvYy9iIG1hdGNoZXMgcGF0dGVybiAvYy8vYgorTm9kZSAvYy9iWzJdIG1hdGNoZXMgcGF0dGVybiAvYy8vYgorTm9kZSAvYy9iWzFdL2FbMV0gbWF0Y2hlcyBwYXR0ZXJuIC9jLy9iLy9hCitOb2RlIC9jL2JbMV0vYVsyXSBtYXRjaGVzIHBhdHRlcm4gL2MvL2IvL2EKK05vZGUgL2MvYy9iL2FbMV0gbWF0Y2hlcyBwYXR0ZXJuIC9jLy9iLy9hCitOb2RlIC9jL2MvYi9hWzJdIG1hdGNoZXMgcGF0dGVybiAvYy8vYi8vYQorTm9kZSAvYy9iWzJdL2FbMV0gbWF0Y2hlcyBwYXR0ZXJuIC9jLy9iLy9hCitOb2RlIC9jL2JbMl0vYVsyXSBtYXRjaGVzIHBhdHRlcm4gL2MvL2IvL2EKK05vZGUgL2MvYlsxXS9hWzFdIG1hdGNoZXMgcGF0dGVybiAvYy9iLy9hCitOb2RlIC9jL2JbMV0vYVsyXSBtYXRjaGVzIHBhdHRlcm4gL2MvYi8vYQorTm9kZSAvYy9iWzJdL2FbMV0gbWF0Y2hlcyBwYXR0ZXJuIC9jL2IvL2EKK05vZGUgL2MvYlsyXS9hWzJdIG1hdGNoZXMgcGF0dGVybiAvYy9iLy9hCitOb2RlIC9jL2JbMV0vYVsxXSBtYXRjaGVzIHBhdHRlcm4gL2MvL2IvYQorTm9kZSAvYy9iWzFdL2FbMl0gbWF0Y2hlcyBwYXR0ZXJuIC9jLy9iL2EKK05vZGUgL2MvYy9iL2FbMV0gbWF0Y2hlcyBwYXR0ZXJuIC9jLy9iL2EKK05vZGUgL2MvYy9iL2FbMl0gbWF0Y2hlcyBwYXR0ZXJuIC9jLy9iL2EKK05vZGUgL2MvYlsyXS9hWzFdIG1hdGNoZXMgcGF0dGVybiAvYy8vYi9hCitOb2RlIC9jL2JbMl0vYVsyXSBtYXRjaGVzIHBhdHRlcm4gL2MvL2IvYQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcGF0dGVybi9uYW1lc3BhY2VzIGIvbGlieG1sMi9yZXN1bHQvcGF0dGVybi9uYW1lc3BhY2VzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE1OWY4NDcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9wYXR0ZXJuL25hbWVzcGFjZXMKQEAgLTAsMCArMSwyMCBAQAorTm9kZSAvYSBtYXRjaGVzIHBhdHRlcm4gLy9hCitOb2RlIC9hL2I6Yi9hIG1hdGNoZXMgcGF0dGVybiAvL2EKK05vZGUgL2EvKls0XS9hIG1hdGNoZXMgcGF0dGVybiAvL2EKK05vZGUgL2EvYTphIG1hdGNoZXMgcGF0dGVybiAvL2E6YQorTm9kZSAvYS9iOmIvYS9hOmEgbWF0Y2hlcyBwYXR0ZXJuIC8vYTphCitOb2RlIC9hLypbNF0gbWF0Y2hlcyBwYXR0ZXJuIC8vYTphCitOb2RlIC9hL2M6YSBtYXRjaGVzIHBhdHRlcm4gLy9hOmEKK05vZGUgL2EvYiBtYXRjaGVzIHBhdHRlcm4gLy9iCitOb2RlIC9hL2E6YS9iOmIgbWF0Y2hlcyBwYXR0ZXJuIC8vYjpiCitOb2RlIC9hL2I6YiBtYXRjaGVzIHBhdHRlcm4gLy9iOmIKK05vZGUgL2EvYjpiL2EvYTphL2I6YiBtYXRjaGVzIHBhdHRlcm4gLy9iOmIKK05vZGUgL2EvYjpiL2EgbWF0Y2hlcyBwYXR0ZXJuIC9hLy9hCitOb2RlIC9hLypbNF0vYSBtYXRjaGVzIHBhdHRlcm4gL2EvL2EKK05vZGUgL2EvYiBtYXRjaGVzIHBhdHRlcm4gL2EvYgorTm9kZSAvYS9hOmEgbWF0Y2hlcyBwYXR0ZXJuIC9hL2E6YQorTm9kZSAvYS8qWzRdIG1hdGNoZXMgcGF0dGVybiAvYS9hOmEKK05vZGUgL2EvYzphIG1hdGNoZXMgcGF0dGVybiAvYS9hOmEKK05vZGUgL2EvYTphIG1hdGNoZXMgcGF0dGVybiAvYS9jOmEKK05vZGUgL2EvKls0XSBtYXRjaGVzIHBhdHRlcm4gL2EvYzphCitOb2RlIC9hL2M6YSBtYXRjaGVzIHBhdHRlcm4gL2EvYzphCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9wYXR0ZXJuL3NpbXBsZSBiL2xpYnhtbDIvcmVzdWx0L3BhdHRlcm4vc2ltcGxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU3MTBiNWMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9wYXR0ZXJuL3NpbXBsZQpAQCAtMCwwICsxLDEyIEBACitOb2RlIC9hIG1hdGNoZXMgcGF0dGVybiBhCitOb2RlIC9hL2IgbWF0Y2hlcyBwYXR0ZXJuIGIKK05vZGUgL2EvYiBtYXRjaGVzIHBhdHRlcm4gYgorTm9kZSAvYSBtYXRjaGVzIHBhdHRlcm4gL2EKK05vZGUgL2EvYiBtYXRjaGVzIHBhdHRlcm4gYS9iCitOb2RlIC9hL2IvYyBtYXRjaGVzIHBhdHRlcm4gYS9iL2MKK05vZGUgL2EgbWF0Y2hlcyBwYXR0ZXJuIC8vYQorTm9kZSAvYS9iIG1hdGNoZXMgcGF0dGVybiAvL2IKK05vZGUgL2EvYi9jIG1hdGNoZXMgcGF0dGVybiAvL2MKK05vZGUgL2EvYiBtYXRjaGVzIHBhdHRlcm4gYS8vYgorTm9kZSAvYS9iL2MgbWF0Y2hlcyBwYXR0ZXJuIGEvL2MKK05vZGUgL2EvYi9jIG1hdGNoZXMgcGF0dGVybiBiLy9jCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9waS54bWwgYi9saWJ4bWwyL3Jlc3VsdC9waS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDhjN2ZmMAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3BpLnhtbApAQCAtMCwwICsxLDYgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPGRvYz4KKzw/ZG9jdW1lbnQtc3RhcnQgZG9jPz4KKzxlbXB0eS8+Cis8P2RvY3VtZW50LWVuZCBkb2M/PgorPC9kb2M+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9waS54bWwucmRlIGIvbGlieG1sMi9yZXN1bHQvcGkueG1sLnJkZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZGM4YThkCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcGkueG1sLnJkZQpAQCAtMCwwICsxLDEzIEBACiswIDEgZG9jIDAgMAorMSAxNCAjdGV4dCAwIDEgCisKKzEgNyBkb2N1bWVudC1zdGFydCAwIDEgZG9jCisxIDE0ICN0ZXh0IDAgMSAKKworMSAxIGVtcHR5IDEgMAorMSAxNCAjdGV4dCAwIDEgCisKKzEgNyBkb2N1bWVudC1lbmQgMCAxIGRvYworMSAxNCAjdGV4dCAwIDEgCisKKzAgMTUgZG9jIDAgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcGkueG1sLnJkciBiL2xpYnhtbDIvcmVzdWx0L3BpLnhtbC5yZHIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2RjOGE4ZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3BpLnhtbC5yZHIKQEAgLTAsMCArMSwxMyBAQAorMCAxIGRvYyAwIDAKKzEgMTQgI3RleHQgMCAxIAorCisxIDcgZG9jdW1lbnQtc3RhcnQgMCAxIGRvYworMSAxNCAjdGV4dCAwIDEgCisKKzEgMSBlbXB0eSAxIDAKKzEgMTQgI3RleHQgMCAxIAorCisxIDcgZG9jdW1lbnQtZW5kIDAgMSBkb2MKKzEgMTQgI3RleHQgMCAxIAorCiswIDE1IGRvYyAwIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3BpLnhtbC5zYXggYi9saWJ4bWwyL3Jlc3VsdC9waS54bWwuc2F4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhMWI5YmQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9waS54bWwuc2F4CkBAIC0wLDAgKzEsMTcgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLnN0YXJ0RWxlbWVudChkb2MpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5wcm9jZXNzaW5nSW5zdHJ1Y3Rpb24oZG9jdW1lbnQtc3RhcnQsIGRvYykKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudChlbXB0eSkKK1NBWC5lbmRFbGVtZW50KGVtcHR5KQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVgucHJvY2Vzc2luZ0luc3RydWN0aW9uKGRvY3VtZW50LWVuZCwgZG9jKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguZW5kRWxlbWVudChkb2MpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcGkueG1sLnNheDIgYi9saWJ4bWwyL3Jlc3VsdC9waS54bWwuc2F4MgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNDQ5MGVhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcGkueG1sLnNheDIKQEAgLTAsMCArMSwxNyBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguc3RhcnRFbGVtZW50TnMoZG9jLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVgucHJvY2Vzc2luZ0luc3RydWN0aW9uKGRvY3VtZW50LXN0YXJ0LCBkb2MpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5zdGFydEVsZW1lbnROcyhlbXB0eSwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5lbmRFbGVtZW50TnMoZW1wdHksIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5wcm9jZXNzaW5nSW5zdHJ1Y3Rpb24oZG9jdW1lbnQtZW5kLCBkb2MpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5lbmRFbGVtZW50TnMoZG9jLCBOVUxMLCBOVUxMKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3BpMi54bWwgYi9saWJ4bWwyL3Jlc3VsdC9waTIueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcxMGQ1MWMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9waTIueG1sCkBAIC0wLDAgKzEsNiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8P2RvY3VtZW50LXN0YXJ0IGRvYz8+Cis8ZG9jPgorPGVtcHR5Lz4KKzwvZG9jPgorPD9kb2N1bWVudC1lbmQgZG9jPz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3BpMi54bWwucmRlIGIvbGlieG1sMi9yZXN1bHQvcGkyLnhtbC5yZGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTJiM2I5ZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3BpMi54bWwucmRlCkBAIC0wLDAgKzEsOSBAQAorMCA3IGRvY3VtZW50LXN0YXJ0IDAgMSBkb2MKKzAgMSBkb2MgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKworMSAxIGVtcHR5IDEgMAorMSAxNCAjdGV4dCAwIDEgCisKKzAgMTUgZG9jIDAgMAorMCA3IGRvY3VtZW50LWVuZCAwIDEgZG9jCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9waTIueG1sLnJkciBiL2xpYnhtbDIvcmVzdWx0L3BpMi54bWwucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUyYjNiOWQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9waTIueG1sLnJkcgpAQCAtMCwwICsxLDkgQEAKKzAgNyBkb2N1bWVudC1zdGFydCAwIDEgZG9jCiswIDEgZG9jIDAgMAorMSAxNCAjdGV4dCAwIDEgCisKKzEgMSBlbXB0eSAxIDAKKzEgMTQgI3RleHQgMCAxIAorCiswIDE1IGRvYyAwIDAKKzAgNyBkb2N1bWVudC1lbmQgMCAxIGRvYwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcGkyLnhtbC5zYXggYi9saWJ4bWwyL3Jlc3VsdC9waTIueG1sLnNheApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMTAwYTE3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcGkyLnhtbC5zYXgKQEAgLTAsMCArMSwxMyBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVgucHJvY2Vzc2luZ0luc3RydWN0aW9uKGRvY3VtZW50LXN0YXJ0LCBkb2MpCitTQVguc3RhcnRFbGVtZW50KGRvYykKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudChlbXB0eSkKK1NBWC5lbmRFbGVtZW50KGVtcHR5KQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguZW5kRWxlbWVudChkb2MpCitTQVgucHJvY2Vzc2luZ0luc3RydWN0aW9uKGRvY3VtZW50LWVuZCwgZG9jKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3BpMi54bWwuc2F4MiBiL2xpYnhtbDIvcmVzdWx0L3BpMi54bWwuc2F4MgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZTZjYWFkCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcGkyLnhtbC5zYXgyCkBAIC0wLDAgKzEsMTMgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLnByb2Nlc3NpbmdJbnN0cnVjdGlvbihkb2N1bWVudC1zdGFydCwgZG9jKQorU0FYLnN0YXJ0RWxlbWVudE5zKGRvYywgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudE5zKGVtcHR5LCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmVuZEVsZW1lbnROcyhlbXB0eSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmVuZEVsZW1lbnROcyhkb2MsIE5VTEwsIE5VTEwpCitTQVgucHJvY2Vzc2luZ0luc3RydWN0aW9uKGRvY3VtZW50LWVuZCwgZG9jKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JkZjEgYi9saWJ4bWwyL3Jlc3VsdC9yZGYxCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ0NGMzYzYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZGYxCkBAIC0wLDAgKzEsODEgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPFJERjpSREYgeG1sbnM6UlBNPSJodHRwOi8vd3d3LnJwbS5vcmcvIiB4bWxuczpSREY9Imh0dHA6Ly93d3cudzMub3JnL1RSL1dELXJkZi1zeW50YXgjIj4KKyAgPFJERjpEZXNjcmlwdGlvbiBIUkVGPSJmdHA6Ly9ydWZ1cy53My5vcmcvbGludXgvcmVkaGF0L3JlZGhhdC01LjEvaTM4Ni9SZWRIYXQvUlBNUy9ycG0tMi41LTIuaTM4Ni5ycG0iPgorICAgIDxSUE06TmFtZT5ycG08L1JQTTpOYW1lPgorICAgIDxSUE06VmVyc2lvbj4yLjU8L1JQTTpWZXJzaW9uPgorICAgIDxSUE06UmVsZWFzZT4yPC9SUE06UmVsZWFzZT4KKyAgICA8UlBNOkFyY2g+aTM4NjwvUlBNOkFyY2g+CisgICAgPFJQTTpPcz5MaW51eDwvUlBNOk9zPgorICAgIDxSUE06RGlzdHJpYnV0aW9uPk1hbmhhdHRhbiA8L1JQTTpEaXN0cmlidXRpb24+CisgICAgPFJQTTpWZW5kb3I+UmVkIEhhdCBTb2Z0d2FyZTwvUlBNOlZlbmRvcj4KKyAgICA8UlBNOlBhY2thZ2VyPlJlZCBIYXQgU29mdHdhcmUgJmx0O2J1Z3NAcmVkaGF0LmNvbSZndDs8L1JQTTpQYWNrYWdlcj4KKyAgICA8UlBNOkdyb3VwPlV0aWxpdGllcy9TeXN0ZW08L1JQTTpHcm91cD4KKyAgICA8UlBNOlN1bW1hcnk+UmVkIEhhdCBQYWNrYWdlIE1hbmFnZXI8L1JQTTpTdW1tYXJ5PgorICAgIDxSUE06RGVzY3JpcHRpb24+UlBNIGlzIGEgcG93ZXJmdWwgcGFja2FnZSBtYW5hZ2VyLCB3aGljaCBjYW4gYmUgdXNlZCB0byBidWlsZCwgaW5zdGFsbCwKK3F1ZXJ5LCB2ZXJpZnksIHVwZGF0ZSwgYW5kIHVuaW5zdGFsbCBpbmRpdmlkdWFsIHNvZnR3YXJlIHBhY2thZ2VzLiBBCitwYWNrYWdlIGNvbnNpc3RzIG9mIGFuIGFyY2hpdmUgb2YgZmlsZXMsIGFuZCBwYWNrYWdlIGluZm9ybWF0aW9uLCBpbmNsdWRpbmcKK25hbWUsIHZlcnNpb24sIGFuZCBkZXNjcmlwdGlvbi48L1JQTTpEZXNjcmlwdGlvbj4KKyAgICA8UlBNOkNvcHlyaWdodD5HUEw8L1JQTTpDb3B5cmlnaHQ+CisgICAgPFJQTTpDaGFuZ2Vsb2c+KiBTdW4gTWF5IDEwIDE5OTggUHJvc3BlY3RvciBTeXN0ZW0gJmx0O2J1Z3NAcmVkaGF0LmNvbSZndDsKKyAgLSB0cmFuc2xhdGlvbnMgbW9kaWZpZWQgZm9yIGRlLCBmciwgdHIKKzwvUlBNOkNoYW5nZWxvZz4KKyAgICA8UlBNOlNvdXJjZXM+cnBtLTIuNS0yLnNyYy5ycG08L1JQTTpTb3VyY2VzPgorICAgIDxSUE06U291cmNlc0Z0cD5mdHA6Ly9mdHAucmVkaGF0LmNvbS9wdWIvcmVkaGF0L3JlZGhhdC01LjEvU1JQTVM8L1JQTTpTb3VyY2VzRnRwPgorICAgIDxSUE06QnVpbGREYXRlPlN1biBNYXkgMTAgMTQ6NTI6MzIgMTk5ODwvUlBNOkJ1aWxkRGF0ZT4KKyAgICA8UlBNOkRhdGU+ODk0ODI2MzUyPC9SUE06RGF0ZT4KKyAgICA8UlBNOlNpemU+ODUwNTk5PC9SUE06U2l6ZT4KKyAgICA8UlBNOkJ1aWxkSG9zdD5wb3JreS5yZWRoYXQuY29tPC9SUE06QnVpbGRIb3N0PgorICAgIDxSUE06UHJvdmlkZXM+CisgICAgICA8UkRGOkJhZz4KKyAgICAgICAgPFJQTTpSZXNvdXJjZT5ycG08L1JQTTpSZXNvdXJjZT4KKyAgICAgIDwvUkRGOkJhZz4KKyAgICA8L1JQTTpQcm92aWRlcz4KKyAgICA8UlBNOlJlcXVpcmVzPgorICAgICAgPFJERjpCYWc+CisgICAgICAgIDxSUE06UmVzb3VyY2U+L2Jpbi9zaDwvUlBNOlJlc291cmNlPgorICAgICAgICA8UlBNOlJlc291cmNlPmxkLWxpbnV4LnNvLjI8L1JQTTpSZXNvdXJjZT4KKyAgICAgICAgPFJQTTpSZXNvdXJjZT5saWJjLnNvLjY8L1JQTTpSZXNvdXJjZT4KKyAgICAgICAgPFJQTTpSZXNvdXJjZT5saWJkYi5zby4yPC9SUE06UmVzb3VyY2U+CisgICAgICAgIDxSUE06UmVzb3VyY2U+bGliei5zby4xPC9SUE06UmVzb3VyY2U+CisgICAgICAgIDxSUE06UmVzb3VyY2U+L2Jpbi9iYXNoPC9SUE06UmVzb3VyY2U+CisgICAgICAgIDxSUE06UmVzb3VyY2U+L2Jpbi9zaDwvUlBNOlJlc291cmNlPgorICAgICAgPC9SREY6QmFnPgorICAgIDwvUlBNOlJlcXVpcmVzPgorICAgIDxSUE06RmlsZXM+L2Jpbi9ycG0KKy91c3IvYmluL2ZpbmQtcHJvdmlkZXMKKy91c3IvYmluL2ZpbmQtcmVxdWlyZXMKKy91c3IvYmluL2dlbmRpZmYKKy91c3IvYmluL3JwbTJjcGlvCisvdXNyL2RvYy9ycG0tMi41CisvdXNyL2RvYy9ycG0tMi41L0NIQU5HRVMKKy91c3IvZG9jL3JwbS0yLjUvUlBNLVBHUC1LRVkKKy91c3IvZG9jL3JwbS0yLjUvYnVpbGRyb290CisvdXNyL2RvYy9ycG0tMi41L2RlcGVuZGVuY2llcworL3Vzci9kb2MvcnBtLTIuNS9mb3JtYXQKKy91c3IvZG9jL3JwbS0yLjUvZ3JvdXBzCisvdXNyL2RvYy9ycG0tMi41L21hY3JvcworL3Vzci9kb2MvcnBtLTIuNS9xdWVyeWZvcm1hdAorL3Vzci9kb2MvcnBtLTIuNS9yZWxvY2F0YWJsZQorL3Vzci9kb2MvcnBtLTIuNS9zaWduYXR1cmVzCisvdXNyL2RvYy9ycG0tMi41L3NwZWMKKy91c3IvZG9jL3JwbS0yLjUvdHJpZ2dlcnMKKy91c3IvbGliL3JwbXBvcHQKKy91c3IvbGliL3JwbXJjCisvdXNyL21hbi9tYW44L3JwbS44CisvdXNyL21hbi9tYW44L3JwbTJjcGlvLjgKKy91c3Ivc2hhcmUvbG9jYWxlL2RlL0xDX01FU1NBR0VTL3JwbS5tbworL3Vzci9zaGFyZS9sb2NhbGUvZnIvTENfTUVTU0FHRVMvcnBtLm1vCisvdXNyL3NoYXJlL2xvY2FsZS9wdC1ici9MQ19NRVNTQUdFUy9ycG0ubW8KKy91c3Ivc2hhcmUvbG9jYWxlL3N2L0xDX01FU1NBR0VTL3JwbS5tbworL3Vzci9zaGFyZS9sb2NhbGUvdHIvTENfTUVTU0FHRVMvcnBtLm1vCisvdXNyL3NyYy9yZWRoYXQKKy91c3Ivc3JjL3JlZGhhdC9CVUlMRAorL3Vzci9zcmMvcmVkaGF0L1JQTVMKKy91c3Ivc3JjL3JlZGhhdC9SUE1TL2kzODYKKy91c3Ivc3JjL3JlZGhhdC9SUE1TL25vYXJjaAorL3Vzci9zcmMvcmVkaGF0L1NPVVJDRVMKKy91c3Ivc3JjL3JlZGhhdC9TUEVDUworL3Vzci9zcmMvcmVkaGF0L1NSUE1TCis8L1JQTTpGaWxlcz4KKyAgPC9SREY6RGVzY3JpcHRpb24+Cis8L1JERjpSREY+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZGYxLnJkZSBiL2xpYnhtbDIvcmVzdWx0L3JkZjEucmRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIzNDM5OWMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZGYxLnJkZQpAQCAtMCwwICsxLDIxNCBAQAorMCAxIFJERjpSREYgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDEgUkRGOkRlc2NyaXB0aW9uIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgUlBNOk5hbWUgMCAwCiszIDMgI3RleHQgMCAxIHJwbQorMiAxNSBSUE06TmFtZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIFJQTTpWZXJzaW9uIDAgMAorMyAzICN0ZXh0IDAgMSAyLjUKKzIgMTUgUlBNOlZlcnNpb24gMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBSUE06UmVsZWFzZSAwIDAKKzMgMyAjdGV4dCAwIDEgMgorMiAxNSBSUE06UmVsZWFzZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIFJQTTpBcmNoIDAgMAorMyAzICN0ZXh0IDAgMSBpMzg2CisyIDE1IFJQTTpBcmNoIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgUlBNOk9zIDAgMAorMyAzICN0ZXh0IDAgMSBMaW51eAorMiAxNSBSUE06T3MgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBSUE06RGlzdHJpYnV0aW9uIDAgMAorMyAzICN0ZXh0IDAgMSBNYW5oYXR0YW4gCisyIDE1IFJQTTpEaXN0cmlidXRpb24gMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBSUE06VmVuZG9yIDAgMAorMyAzICN0ZXh0IDAgMSBSZWQgSGF0IFNvZnR3YXJlCisyIDE1IFJQTTpWZW5kb3IgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBSUE06UGFja2FnZXIgMCAwCiszIDMgI3RleHQgMCAxIFJlZCBIYXQgU29mdHdhcmUgPGJ1Z3NAcmVkaGF0LmNvbT4KKzIgMTUgUlBNOlBhY2thZ2VyIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgUlBNOkdyb3VwIDAgMAorMyAzICN0ZXh0IDAgMSBVdGlsaXRpZXMvU3lzdGVtCisyIDE1IFJQTTpHcm91cCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIFJQTTpTdW1tYXJ5IDAgMAorMyAzICN0ZXh0IDAgMSBSZWQgSGF0IFBhY2thZ2UgTWFuYWdlcgorMiAxNSBSUE06U3VtbWFyeSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIFJQTTpEZXNjcmlwdGlvbiAwIDAKKzMgMyAjdGV4dCAwIDEgUlBNIGlzIGEgcG93ZXJmdWwgcGFja2FnZSBtYW5hZ2VyLCB3aGljaCBjYW4gYmUgdXNlZCB0byBidWlsZCwgaW5zdGFsbCwKK3F1ZXJ5LCB2ZXJpZnksIHVwZGF0ZSwgYW5kIHVuaW5zdGFsbCBpbmRpdmlkdWFsIHNvZnR3YXJlIHBhY2thZ2VzLiBBCitwYWNrYWdlIGNvbnNpc3RzIG9mIGFuIGFyY2hpdmUgb2YgZmlsZXMsIGFuZCBwYWNrYWdlIGluZm9ybWF0aW9uLCBpbmNsdWRpbmcKK25hbWUsIHZlcnNpb24sIGFuZCBkZXNjcmlwdGlvbi4KKzIgMTUgUlBNOkRlc2NyaXB0aW9uIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgUlBNOkNvcHlyaWdodCAwIDAKKzMgMyAjdGV4dCAwIDEgR1BMCisyIDE1IFJQTTpDb3B5cmlnaHQgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBSUE06Q2hhbmdlbG9nIDAgMAorMyAzICN0ZXh0IDAgMSAqIFN1biBNYXkgMTAgMTk5OCBQcm9zcGVjdG9yIFN5c3RlbSA8YnVnc0ByZWRoYXQuY29tPgorICAtIHRyYW5zbGF0aW9ucyBtb2RpZmllZCBmb3IgZGUsIGZyLCB0cgorCisyIDE1IFJQTTpDaGFuZ2Vsb2cgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBSUE06U291cmNlcyAwIDAKKzMgMyAjdGV4dCAwIDEgcnBtLTIuNS0yLnNyYy5ycG0KKzIgMTUgUlBNOlNvdXJjZXMgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBSUE06U291cmNlc0Z0cCAwIDAKKzMgMyAjdGV4dCAwIDEgZnRwOi8vZnRwLnJlZGhhdC5jb20vcHViL3JlZGhhdC9yZWRoYXQtNS4xL1NSUE1TCisyIDE1IFJQTTpTb3VyY2VzRnRwIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgUlBNOkJ1aWxkRGF0ZSAwIDAKKzMgMyAjdGV4dCAwIDEgU3VuIE1heSAxMCAxNDo1MjozMiAxOTk4CisyIDE1IFJQTTpCdWlsZERhdGUgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBSUE06RGF0ZSAwIDAKKzMgMyAjdGV4dCAwIDEgODk0ODI2MzUyCisyIDE1IFJQTTpEYXRlIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgUlBNOlNpemUgMCAwCiszIDMgI3RleHQgMCAxIDg1MDU5OQorMiAxNSBSUE06U2l6ZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIFJQTTpCdWlsZEhvc3QgMCAwCiszIDMgI3RleHQgMCAxIHBvcmt5LnJlZGhhdC5jb20KKzIgMTUgUlBNOkJ1aWxkSG9zdCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIFJQTTpQcm92aWRlcyAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDEgUkRGOkJhZyAwIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgICAKKzQgMSBSUE06UmVzb3VyY2UgMCAwCis1IDMgI3RleHQgMCAxIHJwbQorNCAxNSBSUE06UmVzb3VyY2UgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxNSBSREY6QmFnIDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgCisyIDE1IFJQTTpQcm92aWRlcyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIFJQTTpSZXF1aXJlcyAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDEgUkRGOkJhZyAwIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgICAKKzQgMSBSUE06UmVzb3VyY2UgMCAwCis1IDMgI3RleHQgMCAxIC9iaW4vc2gKKzQgMTUgUlBNOlJlc291cmNlIDAgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAgIAorNCAxIFJQTTpSZXNvdXJjZSAwIDAKKzUgMyAjdGV4dCAwIDEgbGQtbGludXguc28uMgorNCAxNSBSUE06UmVzb3VyY2UgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgCis0IDEgUlBNOlJlc291cmNlIDAgMAorNSAzICN0ZXh0IDAgMSBsaWJjLnNvLjYKKzQgMTUgUlBNOlJlc291cmNlIDAgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAgIAorNCAxIFJQTTpSZXNvdXJjZSAwIDAKKzUgMyAjdGV4dCAwIDEgbGliZGIuc28uMgorNCAxNSBSUE06UmVzb3VyY2UgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgCis0IDEgUlBNOlJlc291cmNlIDAgMAorNSAzICN0ZXh0IDAgMSBsaWJ6LnNvLjEKKzQgMTUgUlBNOlJlc291cmNlIDAgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAgIAorNCAxIFJQTTpSZXNvdXJjZSAwIDAKKzUgMyAjdGV4dCAwIDEgL2Jpbi9iYXNoCis0IDE1IFJQTTpSZXNvdXJjZSAwIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgICAKKzQgMSBSUE06UmVzb3VyY2UgMCAwCis1IDMgI3RleHQgMCAxIC9iaW4vc2gKKzQgMTUgUlBNOlJlc291cmNlIDAgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMTUgUkRGOkJhZyAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgIAorMiAxNSBSUE06UmVxdWlyZXMgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBSUE06RmlsZXMgMCAwCiszIDMgI3RleHQgMCAxIC9iaW4vcnBtCisvdXNyL2Jpbi9maW5kLXByb3ZpZGVzCisvdXNyL2Jpbi9maW5kLXJlcXVpcmVzCisvdXNyL2Jpbi9nZW5kaWZmCisvdXNyL2Jpbi9ycG0yY3BpbworL3Vzci9kb2MvcnBtLTIuNQorL3Vzci9kb2MvcnBtLTIuNS9DSEFOR0VTCisvdXNyL2RvYy9ycG0tMi41L1JQTS1QR1AtS0VZCisvdXNyL2RvYy9ycG0tMi41L2J1aWxkcm9vdAorL3Vzci9kb2MvcnBtLTIuNS9kZXBlbmRlbmNpZXMKKy91c3IvZG9jL3JwbS0yLjUvZm9ybWF0CisvdXNyL2RvYy9ycG0tMi41L2dyb3VwcworL3Vzci9kb2MvcnBtLTIuNS9tYWNyb3MKKy91c3IvZG9jL3JwbS0yLjUvcXVlcnlmb3JtYXQKKy91c3IvZG9jL3JwbS0yLjUvcmVsb2NhdGFibGUKKy91c3IvZG9jL3JwbS0yLjUvc2lnbmF0dXJlcworL3Vzci9kb2MvcnBtLTIuNS9zcGVjCisvdXNyL2RvYy9ycG0tMi41L3RyaWdnZXJzCisvdXNyL2xpYi9ycG1wb3B0CisvdXNyL2xpYi9ycG1yYworL3Vzci9tYW4vbWFuOC9ycG0uOAorL3Vzci9tYW4vbWFuOC9ycG0yY3Bpby44CisvdXNyL3NoYXJlL2xvY2FsZS9kZS9MQ19NRVNTQUdFUy9ycG0ubW8KKy91c3Ivc2hhcmUvbG9jYWxlL2ZyL0xDX01FU1NBR0VTL3JwbS5tbworL3Vzci9zaGFyZS9sb2NhbGUvcHQtYnIvTENfTUVTU0FHRVMvcnBtLm1vCisvdXNyL3NoYXJlL2xvY2FsZS9zdi9MQ19NRVNTQUdFUy9ycG0ubW8KKy91c3Ivc2hhcmUvbG9jYWxlL3RyL0xDX01FU1NBR0VTL3JwbS5tbworL3Vzci9zcmMvcmVkaGF0CisvdXNyL3NyYy9yZWRoYXQvQlVJTEQKKy91c3Ivc3JjL3JlZGhhdC9SUE1TCisvdXNyL3NyYy9yZWRoYXQvUlBNUy9pMzg2CisvdXNyL3NyYy9yZWRoYXQvUlBNUy9ub2FyY2gKKy91c3Ivc3JjL3JlZGhhdC9TT1VSQ0VTCisvdXNyL3NyYy9yZWRoYXQvU1BFQ1MKKy91c3Ivc3JjL3JlZGhhdC9TUlBNUworCisyIDE1IFJQTTpGaWxlcyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzEgMTUgUkRGOkRlc2NyaXB0aW9uIDAgMAorMSAxNCAjdGV4dCAwIDEgCisKKzAgMTUgUkRGOlJERiAwIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JkZjEucmRyIGIvbGlieG1sMi9yZXN1bHQvcmRmMS5yZHIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjM0Mzk5YwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JkZjEucmRyCkBAIC0wLDAgKzEsMjE0IEBACiswIDEgUkRGOlJERiAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKzEgMSBSREY6RGVzY3JpcHRpb24gMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBSUE06TmFtZSAwIDAKKzMgMyAjdGV4dCAwIDEgcnBtCisyIDE1IFJQTTpOYW1lIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgUlBNOlZlcnNpb24gMCAwCiszIDMgI3RleHQgMCAxIDIuNQorMiAxNSBSUE06VmVyc2lvbiAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIFJQTTpSZWxlYXNlIDAgMAorMyAzICN0ZXh0IDAgMSAyCisyIDE1IFJQTTpSZWxlYXNlIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgUlBNOkFyY2ggMCAwCiszIDMgI3RleHQgMCAxIGkzODYKKzIgMTUgUlBNOkFyY2ggMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBSUE06T3MgMCAwCiszIDMgI3RleHQgMCAxIExpbnV4CisyIDE1IFJQTTpPcyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIFJQTTpEaXN0cmlidXRpb24gMCAwCiszIDMgI3RleHQgMCAxIE1hbmhhdHRhbiAKKzIgMTUgUlBNOkRpc3RyaWJ1dGlvbiAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIFJQTTpWZW5kb3IgMCAwCiszIDMgI3RleHQgMCAxIFJlZCBIYXQgU29mdHdhcmUKKzIgMTUgUlBNOlZlbmRvciAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIFJQTTpQYWNrYWdlciAwIDAKKzMgMyAjdGV4dCAwIDEgUmVkIEhhdCBTb2Z0d2FyZSA8YnVnc0ByZWRoYXQuY29tPgorMiAxNSBSUE06UGFja2FnZXIgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBSUE06R3JvdXAgMCAwCiszIDMgI3RleHQgMCAxIFV0aWxpdGllcy9TeXN0ZW0KKzIgMTUgUlBNOkdyb3VwIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgUlBNOlN1bW1hcnkgMCAwCiszIDMgI3RleHQgMCAxIFJlZCBIYXQgUGFja2FnZSBNYW5hZ2VyCisyIDE1IFJQTTpTdW1tYXJ5IDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgUlBNOkRlc2NyaXB0aW9uIDAgMAorMyAzICN0ZXh0IDAgMSBSUE0gaXMgYSBwb3dlcmZ1bCBwYWNrYWdlIG1hbmFnZXIsIHdoaWNoIGNhbiBiZSB1c2VkIHRvIGJ1aWxkLCBpbnN0YWxsLAorcXVlcnksIHZlcmlmeSwgdXBkYXRlLCBhbmQgdW5pbnN0YWxsIGluZGl2aWR1YWwgc29mdHdhcmUgcGFja2FnZXMuIEEKK3BhY2thZ2UgY29uc2lzdHMgb2YgYW4gYXJjaGl2ZSBvZiBmaWxlcywgYW5kIHBhY2thZ2UgaW5mb3JtYXRpb24sIGluY2x1ZGluZworbmFtZSwgdmVyc2lvbiwgYW5kIGRlc2NyaXB0aW9uLgorMiAxNSBSUE06RGVzY3JpcHRpb24gMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBSUE06Q29weXJpZ2h0IDAgMAorMyAzICN0ZXh0IDAgMSBHUEwKKzIgMTUgUlBNOkNvcHlyaWdodCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIFJQTTpDaGFuZ2Vsb2cgMCAwCiszIDMgI3RleHQgMCAxICogU3VuIE1heSAxMCAxOTk4IFByb3NwZWN0b3IgU3lzdGVtIDxidWdzQHJlZGhhdC5jb20+CisgIC0gdHJhbnNsYXRpb25zIG1vZGlmaWVkIGZvciBkZSwgZnIsIHRyCisKKzIgMTUgUlBNOkNoYW5nZWxvZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIFJQTTpTb3VyY2VzIDAgMAorMyAzICN0ZXh0IDAgMSBycG0tMi41LTIuc3JjLnJwbQorMiAxNSBSUE06U291cmNlcyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIFJQTTpTb3VyY2VzRnRwIDAgMAorMyAzICN0ZXh0IDAgMSBmdHA6Ly9mdHAucmVkaGF0LmNvbS9wdWIvcmVkaGF0L3JlZGhhdC01LjEvU1JQTVMKKzIgMTUgUlBNOlNvdXJjZXNGdHAgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBSUE06QnVpbGREYXRlIDAgMAorMyAzICN0ZXh0IDAgMSBTdW4gTWF5IDEwIDE0OjUyOjMyIDE5OTgKKzIgMTUgUlBNOkJ1aWxkRGF0ZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIFJQTTpEYXRlIDAgMAorMyAzICN0ZXh0IDAgMSA4OTQ4MjYzNTIKKzIgMTUgUlBNOkRhdGUgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBSUE06U2l6ZSAwIDAKKzMgMyAjdGV4dCAwIDEgODUwNTk5CisyIDE1IFJQTTpTaXplIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgUlBNOkJ1aWxkSG9zdCAwIDAKKzMgMyAjdGV4dCAwIDEgcG9ya3kucmVkaGF0LmNvbQorMiAxNSBSUE06QnVpbGRIb3N0IDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgUlBNOlByb3ZpZGVzIDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMSBSREY6QmFnIDAgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAgIAorNCAxIFJQTTpSZXNvdXJjZSAwIDAKKzUgMyAjdGV4dCAwIDEgcnBtCis0IDE1IFJQTTpSZXNvdXJjZSAwIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDE1IFJERjpCYWcgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMTUgUlBNOlByb3ZpZGVzIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgUlBNOlJlcXVpcmVzIDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMSBSREY6QmFnIDAgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAgIAorNCAxIFJQTTpSZXNvdXJjZSAwIDAKKzUgMyAjdGV4dCAwIDEgL2Jpbi9zaAorNCAxNSBSUE06UmVzb3VyY2UgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgCis0IDEgUlBNOlJlc291cmNlIDAgMAorNSAzICN0ZXh0IDAgMSBsZC1saW51eC5zby4yCis0IDE1IFJQTTpSZXNvdXJjZSAwIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgICAKKzQgMSBSUE06UmVzb3VyY2UgMCAwCis1IDMgI3RleHQgMCAxIGxpYmMuc28uNgorNCAxNSBSUE06UmVzb3VyY2UgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgCis0IDEgUlBNOlJlc291cmNlIDAgMAorNSAzICN0ZXh0IDAgMSBsaWJkYi5zby4yCis0IDE1IFJQTTpSZXNvdXJjZSAwIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgICAKKzQgMSBSUE06UmVzb3VyY2UgMCAwCis1IDMgI3RleHQgMCAxIGxpYnouc28uMQorNCAxNSBSUE06UmVzb3VyY2UgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgCis0IDEgUlBNOlJlc291cmNlIDAgMAorNSAzICN0ZXh0IDAgMSAvYmluL2Jhc2gKKzQgMTUgUlBNOlJlc291cmNlIDAgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAgIAorNCAxIFJQTTpSZXNvdXJjZSAwIDAKKzUgMyAjdGV4dCAwIDEgL2Jpbi9zaAorNCAxNSBSUE06UmVzb3VyY2UgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxNSBSREY6QmFnIDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgCisyIDE1IFJQTTpSZXF1aXJlcyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIFJQTTpGaWxlcyAwIDAKKzMgMyAjdGV4dCAwIDEgL2Jpbi9ycG0KKy91c3IvYmluL2ZpbmQtcHJvdmlkZXMKKy91c3IvYmluL2ZpbmQtcmVxdWlyZXMKKy91c3IvYmluL2dlbmRpZmYKKy91c3IvYmluL3JwbTJjcGlvCisvdXNyL2RvYy9ycG0tMi41CisvdXNyL2RvYy9ycG0tMi41L0NIQU5HRVMKKy91c3IvZG9jL3JwbS0yLjUvUlBNLVBHUC1LRVkKKy91c3IvZG9jL3JwbS0yLjUvYnVpbGRyb290CisvdXNyL2RvYy9ycG0tMi41L2RlcGVuZGVuY2llcworL3Vzci9kb2MvcnBtLTIuNS9mb3JtYXQKKy91c3IvZG9jL3JwbS0yLjUvZ3JvdXBzCisvdXNyL2RvYy9ycG0tMi41L21hY3JvcworL3Vzci9kb2MvcnBtLTIuNS9xdWVyeWZvcm1hdAorL3Vzci9kb2MvcnBtLTIuNS9yZWxvY2F0YWJsZQorL3Vzci9kb2MvcnBtLTIuNS9zaWduYXR1cmVzCisvdXNyL2RvYy9ycG0tMi41L3NwZWMKKy91c3IvZG9jL3JwbS0yLjUvdHJpZ2dlcnMKKy91c3IvbGliL3JwbXBvcHQKKy91c3IvbGliL3JwbXJjCisvdXNyL21hbi9tYW44L3JwbS44CisvdXNyL21hbi9tYW44L3JwbTJjcGlvLjgKKy91c3Ivc2hhcmUvbG9jYWxlL2RlL0xDX01FU1NBR0VTL3JwbS5tbworL3Vzci9zaGFyZS9sb2NhbGUvZnIvTENfTUVTU0FHRVMvcnBtLm1vCisvdXNyL3NoYXJlL2xvY2FsZS9wdC1ici9MQ19NRVNTQUdFUy9ycG0ubW8KKy91c3Ivc2hhcmUvbG9jYWxlL3N2L0xDX01FU1NBR0VTL3JwbS5tbworL3Vzci9zaGFyZS9sb2NhbGUvdHIvTENfTUVTU0FHRVMvcnBtLm1vCisvdXNyL3NyYy9yZWRoYXQKKy91c3Ivc3JjL3JlZGhhdC9CVUlMRAorL3Vzci9zcmMvcmVkaGF0L1JQTVMKKy91c3Ivc3JjL3JlZGhhdC9SUE1TL2kzODYKKy91c3Ivc3JjL3JlZGhhdC9SUE1TL25vYXJjaAorL3Vzci9zcmMvcmVkaGF0L1NPVVJDRVMKKy91c3Ivc3JjL3JlZGhhdC9TUEVDUworL3Vzci9zcmMvcmVkaGF0L1NSUE1TCisKKzIgMTUgUlBNOkZpbGVzIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMSAxNSBSREY6RGVzY3JpcHRpb24gMCAwCisxIDE0ICN0ZXh0IDAgMSAKKworMCAxNSBSREY6UkRGIDAgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmRmMS5zYXggYi9saWJ4bWwyL3Jlc3VsdC9yZGYxLnNheApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMjM1OTczCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmRmMS5zYXgKQEAgLTAsMCArMSwxODYgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLnN0YXJ0RWxlbWVudChSREY6UkRGLCB4bWxuczpSUE09J2h0dHA6Ly93d3cucnBtLm9yZy8nLCB4bWxuczpSREY9J2h0dHA6Ly93d3cudzMub3JnL1RSL1dELXJkZi1zeW50YXgjJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KFJERjpEZXNjcmlwdGlvbiwgSFJFRj0nZnRwOi8vcnVmdXMudzMub3JnL2xpbnV4L3JlZGhhdC9yZWRoYXQtNS4xL2kzODYvUmVkSGF0L1JQTVMvcnBtLTIuNS0yLmkzODYucnBtJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoUlBNOk5hbWUpCitTQVguY2hhcmFjdGVycyhycG0sIDMpCitTQVguZW5kRWxlbWVudChSUE06TmFtZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoUlBNOlZlcnNpb24pCitTQVguY2hhcmFjdGVycygyLjUsIDMpCitTQVguZW5kRWxlbWVudChSUE06VmVyc2lvbikKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoUlBNOlJlbGVhc2UpCitTQVguY2hhcmFjdGVycygyLCAxKQorU0FYLmVuZEVsZW1lbnQoUlBNOlJlbGVhc2UpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KFJQTTpBcmNoKQorU0FYLmNoYXJhY3RlcnMoaTM4NiwgNCkKK1NBWC5lbmRFbGVtZW50KFJQTTpBcmNoKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChSUE06T3MpCitTQVguY2hhcmFjdGVycyhMaW51eCwgNSkKK1NBWC5lbmRFbGVtZW50KFJQTTpPcykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoUlBNOkRpc3RyaWJ1dGlvbikKK1NBWC5jaGFyYWN0ZXJzKE1hbmhhdHRhbiAsIDEwKQorU0FYLmVuZEVsZW1lbnQoUlBNOkRpc3RyaWJ1dGlvbikKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoUlBNOlZlbmRvcikKK1NBWC5jaGFyYWN0ZXJzKFJlZCBIYXQgU29mdHdhcmUsIDE2KQorU0FYLmVuZEVsZW1lbnQoUlBNOlZlbmRvcikKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoUlBNOlBhY2thZ2VyKQorU0FYLmNoYXJhY3RlcnMoUmVkIEhhdCBTb2Z0d2FyZSAsIDE3KQorU0FYLmNoYXJhY3RlcnMoPCwgMSkKK1NBWC5jaGFyYWN0ZXJzKGJ1Z3NAcmVkaGF0LmNvbSwgMTUpCitTQVguY2hhcmFjdGVycyg+LCAxKQorU0FYLmVuZEVsZW1lbnQoUlBNOlBhY2thZ2VyKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChSUE06R3JvdXApCitTQVguY2hhcmFjdGVycyhVdGlsaXRpZXMvU3lzdGVtLCAxNikKK1NBWC5lbmRFbGVtZW50KFJQTTpHcm91cCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoUlBNOlN1bW1hcnkpCitTQVguY2hhcmFjdGVycyhSZWQgSGF0IFBhY2thZ2UgTWFuYWdlciwgMjMpCitTQVguZW5kRWxlbWVudChSUE06U3VtbWFyeSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoUlBNOkRlc2NyaXB0aW9uKQorU0FYLmNoYXJhY3RlcnMoUlBNIGlzIGEgcG93ZXJmdWwgcGFja2FnZSBtYW5hLCAyNDgpCitTQVguZW5kRWxlbWVudChSUE06RGVzY3JpcHRpb24pCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KFJQTTpDb3B5cmlnaHQpCitTQVguY2hhcmFjdGVycyhHUEwsIDMpCitTQVguZW5kRWxlbWVudChSUE06Q29weXJpZ2h0KQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChSUE06Q2hhbmdlbG9nKQorU0FYLmNoYXJhY3RlcnMoKiBTdW4gTWF5IDEwIDE5OTggUHJvc3BlY3RvciBTLCAzNikKK1NBWC5jaGFyYWN0ZXJzKDwsIDEpCitTQVguY2hhcmFjdGVycyhidWdzQHJlZGhhdC5jb20sIDE1KQorU0FYLmNoYXJhY3RlcnMoPiwgMSkKK1NBWC5jaGFyYWN0ZXJzKAorICAtIHRyYW5zbGF0aW9ucyBtb2RpZmllZCBmb3IsIDQyKQorU0FYLmVuZEVsZW1lbnQoUlBNOkNoYW5nZWxvZykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoUlBNOlNvdXJjZXMpCitTQVguY2hhcmFjdGVycyhycG0tMi41LTIuc3JjLnJwbSwgMTcpCitTQVguZW5kRWxlbWVudChSUE06U291cmNlcykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoUlBNOlNvdXJjZXNGdHApCitTQVguY2hhcmFjdGVycyhmdHA6Ly9mdHAucmVkaGF0LmNvbS9wdWIvcmVkaGEsIDQ4KQorU0FYLmVuZEVsZW1lbnQoUlBNOlNvdXJjZXNGdHApCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KFJQTTpCdWlsZERhdGUpCitTQVguY2hhcmFjdGVycyhTdW4gTWF5IDEwIDE0OjUyOjMyIDE5OTgsIDI0KQorU0FYLmVuZEVsZW1lbnQoUlBNOkJ1aWxkRGF0ZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoUlBNOkRhdGUpCitTQVguY2hhcmFjdGVycyg4OTQ4MjYzNTIsIDkpCitTQVguZW5kRWxlbWVudChSUE06RGF0ZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoUlBNOlNpemUpCitTQVguY2hhcmFjdGVycyg4NTA1OTksIDYpCitTQVguZW5kRWxlbWVudChSUE06U2l6ZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoUlBNOkJ1aWxkSG9zdCkKK1NBWC5jaGFyYWN0ZXJzKHBvcmt5LnJlZGhhdC5jb20sIDE2KQorU0FYLmVuZEVsZW1lbnQoUlBNOkJ1aWxkSG9zdCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoUlBNOlByb3ZpZGVzKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguc3RhcnRFbGVtZW50KFJERjpCYWcpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgLCA5KQorU0FYLnN0YXJ0RWxlbWVudChSUE06UmVzb3VyY2UpCitTQVguY2hhcmFjdGVycyhycG0sIDMpCitTQVguZW5kRWxlbWVudChSUE06UmVzb3VyY2UpCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5lbmRFbGVtZW50KFJERjpCYWcpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguZW5kRWxlbWVudChSUE06UHJvdmlkZXMpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KFJQTTpSZXF1aXJlcykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLnN0YXJ0RWxlbWVudChSREY6QmFnKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5zdGFydEVsZW1lbnQoUlBNOlJlc291cmNlKQorU0FYLmNoYXJhY3RlcnMoL2Jpbi9zaCwgNykKK1NBWC5lbmRFbGVtZW50KFJQTTpSZXNvdXJjZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAsIDkpCitTQVguc3RhcnRFbGVtZW50KFJQTTpSZXNvdXJjZSkKK1NBWC5jaGFyYWN0ZXJzKGxkLWxpbnV4LnNvLjIsIDEzKQorU0FYLmVuZEVsZW1lbnQoUlBNOlJlc291cmNlKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5zdGFydEVsZW1lbnQoUlBNOlJlc291cmNlKQorU0FYLmNoYXJhY3RlcnMobGliYy5zby42LCA5KQorU0FYLmVuZEVsZW1lbnQoUlBNOlJlc291cmNlKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5zdGFydEVsZW1lbnQoUlBNOlJlc291cmNlKQorU0FYLmNoYXJhY3RlcnMobGliZGIuc28uMiwgMTApCitTQVguZW5kRWxlbWVudChSUE06UmVzb3VyY2UpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgLCA5KQorU0FYLnN0YXJ0RWxlbWVudChSUE06UmVzb3VyY2UpCitTQVguY2hhcmFjdGVycyhsaWJ6LnNvLjEsIDkpCitTQVguZW5kRWxlbWVudChSUE06UmVzb3VyY2UpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgLCA5KQorU0FYLnN0YXJ0RWxlbWVudChSUE06UmVzb3VyY2UpCitTQVguY2hhcmFjdGVycygvYmluL2Jhc2gsIDkpCitTQVguZW5kRWxlbWVudChSUE06UmVzb3VyY2UpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgLCA5KQorU0FYLnN0YXJ0RWxlbWVudChSUE06UmVzb3VyY2UpCitTQVguY2hhcmFjdGVycygvYmluL3NoLCA3KQorU0FYLmVuZEVsZW1lbnQoUlBNOlJlc291cmNlKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguZW5kRWxlbWVudChSREY6QmFnKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLmVuZEVsZW1lbnQoUlBNOlJlcXVpcmVzKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChSUE06RmlsZXMpCitTQVguY2hhcmFjdGVycygvYmluL3JwbQorL3Vzci9iaW4vZmluZC1wcm92aWRlLCA4ODUpCitTQVguZW5kRWxlbWVudChSUE06RmlsZXMpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnQoUkRGOkRlc2NyaXB0aW9uKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguZW5kRWxlbWVudChSREY6UkRGKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JkZjEuc2F4MiBiL2xpYnhtbDIvcmVzdWx0L3JkZjEuc2F4MgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNDgyMmUxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmRmMS5zYXgyCkBAIC0wLDAgKzEsMTg2IEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5zdGFydEVsZW1lbnROcyhSREYsIFJERiwgJ2h0dHA6Ly93d3cudzMub3JnL1RSL1dELXJkZi1zeW50YXgjJywgMiwgeG1sbnM6UlBNPSdodHRwOi8vd3d3LnJwbS5vcmcvJywgeG1sbnM6UkRGPSdodHRwOi8vd3d3LnczLm9yZy9UUi9XRC1yZGYtc3ludGF4IycsIDAsIDApCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKERlc2NyaXB0aW9uLCBSREYsICdodHRwOi8vd3d3LnczLm9yZy9UUi9XRC1yZGYtc3ludGF4IycsIDAsIDEsIDAsIEhSRUY9J2Z0cDouLi4nLCA3OCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhOYW1lLCBSUE0sICdodHRwOi8vd3d3LnJwbS5vcmcvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKHJwbSwgMykKK1NBWC5lbmRFbGVtZW50TnMoTmFtZSwgUlBNLCAnaHR0cDovL3d3dy5ycG0ub3JnLycpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoVmVyc2lvbiwgUlBNLCAnaHR0cDovL3d3dy5ycG0ub3JnLycsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycygyLjUsIDMpCitTQVguZW5kRWxlbWVudE5zKFZlcnNpb24sIFJQTSwgJ2h0dHA6Ly93d3cucnBtLm9yZy8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKFJlbGVhc2UsIFJQTSwgJ2h0dHA6Ly93d3cucnBtLm9yZy8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoMiwgMSkKK1NBWC5lbmRFbGVtZW50TnMoUmVsZWFzZSwgUlBNLCAnaHR0cDovL3d3dy5ycG0ub3JnLycpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoQXJjaCwgUlBNLCAnaHR0cDovL3d3dy5ycG0ub3JnLycsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhpMzg2LCA0KQorU0FYLmVuZEVsZW1lbnROcyhBcmNoLCBSUE0sICdodHRwOi8vd3d3LnJwbS5vcmcvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhPcywgUlBNLCAnaHR0cDovL3d3dy5ycG0ub3JnLycsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhMaW51eCwgNSkKK1NBWC5lbmRFbGVtZW50TnMoT3MsIFJQTSwgJ2h0dHA6Ly93d3cucnBtLm9yZy8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKERpc3RyaWJ1dGlvbiwgUlBNLCAnaHR0cDovL3d3dy5ycG0ub3JnLycsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhNYW5oYXR0YW4gLCAxMCkKK1NBWC5lbmRFbGVtZW50TnMoRGlzdHJpYnV0aW9uLCBSUE0sICdodHRwOi8vd3d3LnJwbS5vcmcvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhWZW5kb3IsIFJQTSwgJ2h0dHA6Ly93d3cucnBtLm9yZy8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoUmVkIEhhdCBTb2Z0d2FyZSwgMTYpCitTQVguZW5kRWxlbWVudE5zKFZlbmRvciwgUlBNLCAnaHR0cDovL3d3dy5ycG0ub3JnLycpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoUGFja2FnZXIsIFJQTSwgJ2h0dHA6Ly93d3cucnBtLm9yZy8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoUmVkIEhhdCBTb2Z0d2FyZSAsIDE3KQorU0FYLmNoYXJhY3RlcnMoPCwgMSkKK1NBWC5jaGFyYWN0ZXJzKGJ1Z3NAcmVkaGF0LmNvbSwgMTUpCitTQVguY2hhcmFjdGVycyg+LCAxKQorU0FYLmVuZEVsZW1lbnROcyhQYWNrYWdlciwgUlBNLCAnaHR0cDovL3d3dy5ycG0ub3JnLycpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoR3JvdXAsIFJQTSwgJ2h0dHA6Ly93d3cucnBtLm9yZy8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoVXRpbGl0aWVzL1N5c3RlbSwgMTYpCitTQVguZW5kRWxlbWVudE5zKEdyb3VwLCBSUE0sICdodHRwOi8vd3d3LnJwbS5vcmcvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhTdW1tYXJ5LCBSUE0sICdodHRwOi8vd3d3LnJwbS5vcmcvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKFJlZCBIYXQgUGFja2FnZSBNYW5hZ2VyLCAyMykKK1NBWC5lbmRFbGVtZW50TnMoU3VtbWFyeSwgUlBNLCAnaHR0cDovL3d3dy5ycG0ub3JnLycpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoRGVzY3JpcHRpb24sIFJQTSwgJ2h0dHA6Ly93d3cucnBtLm9yZy8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoUlBNIGlzIGEgcG93ZXJmdWwgcGFja2FnZSBtYW5hLCAyNDgpCitTQVguZW5kRWxlbWVudE5zKERlc2NyaXB0aW9uLCBSUE0sICdodHRwOi8vd3d3LnJwbS5vcmcvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhDb3B5cmlnaHQsIFJQTSwgJ2h0dHA6Ly93d3cucnBtLm9yZy8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoR1BMLCAzKQorU0FYLmVuZEVsZW1lbnROcyhDb3B5cmlnaHQsIFJQTSwgJ2h0dHA6Ly93d3cucnBtLm9yZy8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKENoYW5nZWxvZywgUlBNLCAnaHR0cDovL3d3dy5ycG0ub3JnLycsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycygqIFN1biBNYXkgMTAgMTk5OCBQcm9zcGVjdG9yIFMsIDM2KQorU0FYLmNoYXJhY3RlcnMoPCwgMSkKK1NBWC5jaGFyYWN0ZXJzKGJ1Z3NAcmVkaGF0LmNvbSwgMTUpCitTQVguY2hhcmFjdGVycyg+LCAxKQorU0FYLmNoYXJhY3RlcnMoCisgIC0gdHJhbnNsYXRpb25zIG1vZGlmaWVkIGZvciwgNDIpCitTQVguZW5kRWxlbWVudE5zKENoYW5nZWxvZywgUlBNLCAnaHR0cDovL3d3dy5ycG0ub3JnLycpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoU291cmNlcywgUlBNLCAnaHR0cDovL3d3dy5ycG0ub3JnLycsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhycG0tMi41LTIuc3JjLnJwbSwgMTcpCitTQVguZW5kRWxlbWVudE5zKFNvdXJjZXMsIFJQTSwgJ2h0dHA6Ly93d3cucnBtLm9yZy8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKFNvdXJjZXNGdHAsIFJQTSwgJ2h0dHA6Ly93d3cucnBtLm9yZy8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoZnRwOi8vZnRwLnJlZGhhdC5jb20vcHViL3JlZGhhLCA0OCkKK1NBWC5lbmRFbGVtZW50TnMoU291cmNlc0Z0cCwgUlBNLCAnaHR0cDovL3d3dy5ycG0ub3JnLycpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoQnVpbGREYXRlLCBSUE0sICdodHRwOi8vd3d3LnJwbS5vcmcvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKFN1biBNYXkgMTAgMTQ6NTI6MzIgMTk5OCwgMjQpCitTQVguZW5kRWxlbWVudE5zKEJ1aWxkRGF0ZSwgUlBNLCAnaHR0cDovL3d3dy5ycG0ub3JnLycpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoRGF0ZSwgUlBNLCAnaHR0cDovL3d3dy5ycG0ub3JnLycsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyg4OTQ4MjYzNTIsIDkpCitTQVguZW5kRWxlbWVudE5zKERhdGUsIFJQTSwgJ2h0dHA6Ly93d3cucnBtLm9yZy8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKFNpemUsIFJQTSwgJ2h0dHA6Ly93d3cucnBtLm9yZy8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoODUwNTk5LCA2KQorU0FYLmVuZEVsZW1lbnROcyhTaXplLCBSUE0sICdodHRwOi8vd3d3LnJwbS5vcmcvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhCdWlsZEhvc3QsIFJQTSwgJ2h0dHA6Ly93d3cucnBtLm9yZy8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMocG9ya3kucmVkaGF0LmNvbSwgMTYpCitTQVguZW5kRWxlbWVudE5zKEJ1aWxkSG9zdCwgUlBNLCAnaHR0cDovL3d3dy5ycG0ub3JnLycpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoUHJvdmlkZXMsIFJQTSwgJ2h0dHA6Ly93d3cucnBtLm9yZy8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguc3RhcnRFbGVtZW50TnMoQmFnLCBSREYsICdodHRwOi8vd3d3LnczLm9yZy9UUi9XRC1yZGYtc3ludGF4IycsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgLCA5KQorU0FYLnN0YXJ0RWxlbWVudE5zKFJlc291cmNlLCBSUE0sICdodHRwOi8vd3d3LnJwbS5vcmcvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKHJwbSwgMykKK1NBWC5lbmRFbGVtZW50TnMoUmVzb3VyY2UsIFJQTSwgJ2h0dHA6Ly93d3cucnBtLm9yZy8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguZW5kRWxlbWVudE5zKEJhZywgUkRGLCAnaHR0cDovL3d3dy53My5vcmcvVFIvV0QtcmRmLXN5bnRheCMnKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLmVuZEVsZW1lbnROcyhQcm92aWRlcywgUlBNLCAnaHR0cDovL3d3dy5ycG0ub3JnLycpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoUmVxdWlyZXMsIFJQTSwgJ2h0dHA6Ly93d3cucnBtLm9yZy8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguc3RhcnRFbGVtZW50TnMoQmFnLCBSREYsICdodHRwOi8vd3d3LnczLm9yZy9UUi9XRC1yZGYtc3ludGF4IycsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgLCA5KQorU0FYLnN0YXJ0RWxlbWVudE5zKFJlc291cmNlLCBSUE0sICdodHRwOi8vd3d3LnJwbS5vcmcvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKC9iaW4vc2gsIDcpCitTQVguZW5kRWxlbWVudE5zKFJlc291cmNlLCBSUE0sICdodHRwOi8vd3d3LnJwbS5vcmcvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAsIDkpCitTQVguc3RhcnRFbGVtZW50TnMoUmVzb3VyY2UsIFJQTSwgJ2h0dHA6Ly93d3cucnBtLm9yZy8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMobGQtbGludXguc28uMiwgMTMpCitTQVguZW5kRWxlbWVudE5zKFJlc291cmNlLCBSUE0sICdodHRwOi8vd3d3LnJwbS5vcmcvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAsIDkpCitTQVguc3RhcnRFbGVtZW50TnMoUmVzb3VyY2UsIFJQTSwgJ2h0dHA6Ly93d3cucnBtLm9yZy8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMobGliYy5zby42LCA5KQorU0FYLmVuZEVsZW1lbnROcyhSZXNvdXJjZSwgUlBNLCAnaHR0cDovL3d3dy5ycG0ub3JnLycpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgLCA5KQorU0FYLnN0YXJ0RWxlbWVudE5zKFJlc291cmNlLCBSUE0sICdodHRwOi8vd3d3LnJwbS5vcmcvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKGxpYmRiLnNvLjIsIDEwKQorU0FYLmVuZEVsZW1lbnROcyhSZXNvdXJjZSwgUlBNLCAnaHR0cDovL3d3dy5ycG0ub3JnLycpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgLCA5KQorU0FYLnN0YXJ0RWxlbWVudE5zKFJlc291cmNlLCBSUE0sICdodHRwOi8vd3d3LnJwbS5vcmcvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKGxpYnouc28uMSwgOSkKK1NBWC5lbmRFbGVtZW50TnMoUmVzb3VyY2UsIFJQTSwgJ2h0dHA6Ly93d3cucnBtLm9yZy8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5zdGFydEVsZW1lbnROcyhSZXNvdXJjZSwgUlBNLCAnaHR0cDovL3d3dy5ycG0ub3JnLycsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycygvYmluL2Jhc2gsIDkpCitTQVguZW5kRWxlbWVudE5zKFJlc291cmNlLCBSUE0sICdodHRwOi8vd3d3LnJwbS5vcmcvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAsIDkpCitTQVguc3RhcnRFbGVtZW50TnMoUmVzb3VyY2UsIFJQTSwgJ2h0dHA6Ly93d3cucnBtLm9yZy8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoL2Jpbi9zaCwgNykKK1NBWC5lbmRFbGVtZW50TnMoUmVzb3VyY2UsIFJQTSwgJ2h0dHA6Ly93d3cucnBtLm9yZy8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguZW5kRWxlbWVudE5zKEJhZywgUkRGLCAnaHR0cDovL3d3dy53My5vcmcvVFIvV0QtcmRmLXN5bnRheCMnKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLmVuZEVsZW1lbnROcyhSZXF1aXJlcywgUlBNLCAnaHR0cDovL3d3dy5ycG0ub3JnLycpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoRmlsZXMsIFJQTSwgJ2h0dHA6Ly93d3cucnBtLm9yZy8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoL2Jpbi9ycG0KKy91c3IvYmluL2ZpbmQtcHJvdmlkZSwgODg1KQorU0FYLmVuZEVsZW1lbnROcyhGaWxlcywgUlBNLCAnaHR0cDovL3d3dy5ycG0ub3JnLycpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnROcyhEZXNjcmlwdGlvbiwgUkRGLCAnaHR0cDovL3d3dy53My5vcmcvVFIvV0QtcmRmLXN5bnRheCMnKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguZW5kRWxlbWVudE5zKFJERiwgUkRGLCAnaHR0cDovL3d3dy53My5vcmcvVFIvV0QtcmRmLXN5bnRheCMnKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JkZjIgYi9saWJ4bWwyL3Jlc3VsdC9yZGYyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI4NDk0NmIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZGYyCkBAIC0wLDAgKzEsMTg5OSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8UkRGOlJERiB4bWxuczpSREY9Imh0dHA6Ly93d3cudzMub3JnL1RSL1dELXJkZi1zeW50YXgjIiB4bWxuczpSUE09Imh0dHA6Ly93d3cucnBtLm9yZy8iPgorICA8UkRGOkRlc2NyaXB0aW9uIGFib3V0PSJmdHA6Ly9ydWZ1cy53My5vcmcvbGludXgvZGxkLzUuNC9pMzg2L1JQTVMvaTM4Ni9uY3Vyc2VzNC00LjItMy5pMzg2LnJwbSI+CisgICAgPFJQTTpOYW1lPm5jdXJzZXM0PC9SUE06TmFtZT4KKyAgICA8UlBNOlZlcnNpb24+NC4yPC9SUE06VmVyc2lvbj4KKyAgICA8UlBNOlJlbGVhc2U+MzwvUlBNOlJlbGVhc2U+CisgICAgPFJQTTpBcmNoPmkzODY8L1JQTTpBcmNoPgorICAgIDxSUE06T3M+TGludXg8L1JQTTpPcz4KKyAgICA8UlBNOkRpc3RyaWJ1dGlvbj5ETEQ8L1JQTTpEaXN0cmlidXRpb24+CisgICAgPFJQTTpWZW5kb3I+ZGVsaXggQ29tcHV0ZXIgR21iSDwvUlBNOlZlbmRvcj4KKyAgICA8UlBNOlBhY2thZ2VyPlRpbGwgQnViZWNrICZsdDtidWJlY2tAZGVsaXguZGUmZ3Q7LCBOZ28gVGhhbiAmbHQ7dGhhbkBkZWxpeC5kZSZndDs8L1JQTTpQYWNrYWdlcj4KKyAgICA8UlBNOkdyb3VwPkxpYnJhcmllczwvUlBNOkdyb3VwPgorICAgIDxSUE06U3VtbWFyeT5CaWJsaW90aGVrIHp1ciBBbnN0ZXVlcnVuZyB2b24gVGVybWluYWxzPC9SUE06U3VtbWFyeT4KKyAgICA8UlBNOkRlc2NyaXB0aW9uPkRpZXNlIExpYnJhcnkgc3RlbGx0IGRlbSBQcm9ncmFtbWllcmVyIHZvbSBUZXJtaW5hbCB1bmFiaCYjeEU0O25naWdlCitSb3V0aW5lbiB6dXIgQW5zdGV1ZXJ1bmcgSWhyZXMgQmlsZHNjaGlybXMgenVyIFZlcmYmI3hGQztndW5nLCBkaWUKK3NwZXppZWxsIG9wdGltaWVydCBzaW5kLgorRGllc2UgVmVyc2lvbiBpc3QgZGllICduZXcgY3Vyc2VzJyAobmN1cnNlcykgVmFyaWFudGUgdW5kIGlzdCBkZXIKK2FuZXJrYW5udGUgRXJzYXR6IGYmI3hGQztyIGRpZSBrbGFzc2lzY2hlIEN1cnNlcy1MaWJyYXJ5LCBkaWUgbmljaHQgbWVocgord2VpdGVyZW50d2lja2VsdCB3aXJkLjwvUlBNOkRlc2NyaXB0aW9uPgorICAgIDxSUE06Q29weXJpZ2h0PkdQTDwvUlBNOkNvcHlyaWdodD4KKyAgICA8UlBNOlNvdXJjZXM+bmN1cnNlczQtNC4yLTMuc3JjLnJwbTwvUlBNOlNvdXJjZXM+CisgICAgPFJQTTpCdWlsZERhdGU+VHVlIE1heSAxMiAxOTozMDoyNiAxOTk4PC9SUE06QnVpbGREYXRlPgorICAgIDxSUE06RGF0ZT44OTUwMTU4MjY8L1JQTTpEYXRlPgorICAgIDxSUE06U2l6ZT4xMzczNTEzPC9SUE06U2l6ZT4KKyAgICA8UlBNOkJ1aWxkSG9zdD5lcmRiZWVyZS5kZWxpeC5kZTwvUlBNOkJ1aWxkSG9zdD4KKyAgICA8UlBNOlByb3ZpZGVzPgorICAgICAgPFJERjpCYWc+CisgICAgICAgIDxSUE06UmVzb3VyY2UgaHJlZj0iLi4vLi4vLi4vLi4vLi4vcmVzb3VyY2VzL25jdXJzZXM0LnJkZiI+bmN1cnNlczQ8L1JQTTpSZXNvdXJjZT4KKyAgICAgICAgPFJQTTpSZXNvdXJjZSBocmVmPSIuLi8uLi8uLi8uLi8uLi9yZXNvdXJjZXMvbGlicGFuZWwuc28uNC5yZGYiPmxpYnBhbmVsLnNvLjQ8L1JQTTpSZXNvdXJjZT4KKyAgICAgICAgPFJQTTpSZXNvdXJjZSBocmVmPSIuLi8uLi8uLi8uLi8uLi9yZXNvdXJjZXMvbGlibmN1cnNlcy5zby40LnJkZiI+bGlibmN1cnNlcy5zby40PC9SUE06UmVzb3VyY2U+CisgICAgICAgIDxSUE06UmVzb3VyY2UgaHJlZj0iLi4vLi4vLi4vLi4vLi4vcmVzb3VyY2VzL2xpYm1lbnUuc28uNC5yZGYiPmxpYm1lbnUuc28uNDwvUlBNOlJlc291cmNlPgorICAgICAgICA8UlBNOlJlc291cmNlIGhyZWY9Ii4uLy4uLy4uLy4uLy4uL3Jlc291cmNlcy9saWJmb3JtLnNvLjQucmRmIj5saWJmb3JtLnNvLjQ8L1JQTTpSZXNvdXJjZT4KKyAgICAgICAgPFJQTTpSZXNvdXJjZSBocmVmPSIuLi8uLi8uLi8uLi8uLi9yZXNvdXJjZXMvbmN1cnNlcy5yZGYiPm5jdXJzZXM8L1JQTTpSZXNvdXJjZT4KKyAgICAgIDwvUkRGOkJhZz4KKyAgICA8L1JQTTpQcm92aWRlcz4KKyAgICA8UlBNOkZpbGVzPi9saWIvbGlibmN1cnNlcy5zby40CisvbGliL2xpYm5jdXJzZXMuc28uNC4yCisvdXNyL2RvYy9uY3Vyc2VzNC00LjItMworL3Vzci9kb2MvbmN1cnNlczQtNC4yLTMvQU5OT1VOQ0UuZ3oKKy91c3IvZG9jL25jdXJzZXM0LTQuMi0zL05FV1MuZ3oKKy91c3IvZG9jL25jdXJzZXM0LTQuMi0zL1JFQURNRS5negorL3Vzci9kb2MvbmN1cnNlczQtNC4yLTMvVE8tRE8uZ3oKKy91c3IvbGliL2xpYmZvcm0uc28uNAorL3Vzci9saWIvbGliZm9ybS5zby40LjIKKy91c3IvbGliL2xpYm1lbnUuc28uNAorL3Vzci9saWIvbGlibWVudS5zby40LjIKKy91c3IvbGliL2xpYnBhbmVsLnNvLjQKKy91c3IvbGliL2xpYnBhbmVsLnNvLjQuMgorL3Vzci9zaGFyZS9uY3Vyc2VzNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90YWJzZXQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGFic2V0L3N0ZAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90YWJzZXQvc3RkY3J0CisvdXNyL3NoYXJlL25jdXJzZXM0L3RhYnNldC92dDEwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90YWJzZXQvdnQzMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby8xLzExNzgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vMS8xNzMwLWxtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvLzIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vMi8yNjIxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvLzIvMjYyMS13bAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby8yLzI2MjFBCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvLzIvMjYyMWEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby8zLzM4NmF0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvLzMvM2IxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvLzQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vNC80MDI1ZXgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vNC80MDI3ZXgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vNC80NDEwLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby81LzUwNTEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vNS81NDEwLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vNS81NjIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvLzUvNTYzMC0yNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby81LzU2MzBETUQtMjQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vNgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby82LzYzMC1sbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby82LzYzME1URy0yNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby83CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvLzcvNzMwTVRHLTI0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvLzcvNzMwTVRHLTQxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvLzcvNzMwTVRHLTQxcgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby83LzczME1UR3IKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vNy83MzBNVEdyLTI0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvLzgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vOC84NTEwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvLzkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vOS85NTUtaGIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vOS85NTUtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9QCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL1AvUDEyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL1AvUDEyLU0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vUC9QMTItTS1XCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL1AvUDEyLVcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vUC9QMTQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vUC9QMTQtTQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9QL1AxNC1NLVcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vUC9QMTQtVworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9QL1A0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL1AvUDUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vUC9QNworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9QL1A4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL1AvUDgtVworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9QL1A5CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL1AvUDktOAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9QL1A5LTgtVworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9QL1A5LVcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vWAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9YL1gtaHB0ZXJtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hMjEwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYTgwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYTk4MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FhNDA4MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FhYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FhYStkZWMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYWErcnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYWErdW5rCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLTE4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLTE4LXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLTIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLTIyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLTI0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLTI0LXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLTI2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLTI4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLTMwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLTMwLWN0eHQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYWEtMzAtcnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYWEtMzAtcnYtY3R4dAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FhYS0zMC1zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLTMwLXMtY3R4dAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FhYS0zMC1zLXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLTMwLXMtcnYtY3QKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYWEtMzYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYWEtMzYtcnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYWEtNDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYWEtNDAtcnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYWEtNDgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYWEtNDgtcnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYWEtNjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYWEtNjAtZGVjLXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLTYwLXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLTYwLXMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYWEtNjAtcy1ydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FhYS1jdHh0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLWRiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLXJ2LWN0eHQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYWEtcnYtdW5rCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLXMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYWEtcy1jdHh0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLXMtcnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYWEtcy1ydi1jdHh0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLXVuaworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FhczE5MDEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYm04MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FibTg1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWJtODVlCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWJtODVoCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWJtODVoLW9sZAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FjdDQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hY3Q1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWRkcmluZm8KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hZGRzOTgwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWRkc3ZpZXdwb2ludAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FkZHN2cDYwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWRtK3NncgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FkbTEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hZG0xMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FkbTExNzgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hZG0xMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FkbTFhCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWRtMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FkbTIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWRtMjEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hZG0yMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FkbTMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hZG0zMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FkbTMxLW9sZAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FkbTM2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWRtM2EKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hZG0zYSsKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hZG00MgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FkbTQyLW5zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWRtNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FlcHJvCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWl4dGVybS1tCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWl4dGVybS1tLW9sZAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FqCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWo1MTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hajgzMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FqODMyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWx0MgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FsdDMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbHQ0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWx0NQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FsdDcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbHQ3cGMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbHRvLWgxOQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FsdG8taGVhdGgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbHRvaDE5CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWx0b2hlYXRoCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWx0b3MtMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FsdG9zLTMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbHRvcy00CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWx0b3MtNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FsdG9zMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FsdG9zMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FsdG9zNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FsdG9zNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FsdG9zNworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FsdG9zN3BjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW1iYXMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbWJhc3NhZG9yCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW1pZ2EKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbWlnYS1oCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW1wMjE5CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW1wMjE5dworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FtcGV4LTIxOQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FtcGV4LTIxOXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbXBleC0yMzIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbXBleDE3NQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FtcGV4MTc1LWIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbXBleDIxMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FtcGV4MjE5CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW1wZXgyMTl3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW1wZXgyMzIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbXBleDIzMncKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbXBleDgwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW5uYXJib3I0MDgwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW5zaQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2Fuc2ktY29sb3ItMi1lbXgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbnNpLWNvbG9yLTMtZW14CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW5zaS1lbXgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbnNpLW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbnNpLW1pbmkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbnNpLW1vbm8KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbnNpLW50CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW5zaS5zeXMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbnNpLnN5cy1vbGQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbnNpLnN5c2sKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbnNpNDNtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW5zaTc3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW5zaTgweDI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW5zaTgweDI1LW1vbm8KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbnNpODB4MjUtcmF3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW5zaTgweDMwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW5zaTgweDMwLW1vbm8KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbnNpODB4NDMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbnNpODB4NDMtbW9ubworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2Fuc2k4MHg1MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2Fuc2k4MHg1MC1tb25vCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW5zaTgweDYwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW5zaTgweDYwLW1vbm8KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbnNpbAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2Fuc2lsLW1vbm8KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbnNpcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2Fuc2lzLW1vbm8KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbnNpc3lzaworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2Fuc2l3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXAtdm04MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FwbAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2Fwb2xsbworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2Fwb2xsb18xNVAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hcG9sbG9fMTlMCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXBvbGxvX2NvbG9yCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXBwbGUtODAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hcHBsZS1hZQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FwcGxlLXNvcm9jCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXBwbGUtdXRlcm0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hcHBsZS11dGVybS12YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FwcGxlLXZpZGV4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXBwbGUtdmlkZXgyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXBwbGUtdmlkZXgzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXBwbGUtdm04MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FwcGxlMmUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hcHBsZTJlLXAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hcHBsZTgwcAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FwcGxlSUkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hcHBsZUlJYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FwcGxlSUllCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXBwbGVJSWdzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXQzODYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdGFyaQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDIzMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQyMzUwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NDQxMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDQ0MTAtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDQ0MTB2MQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDQ0MTB2MS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NDQxNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDQ0MTUrbmwKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ0NDE1LW5sCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NDQxNS1ydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDQ0MTUtcnYtbmwKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ0NDE1LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ0NDE1LXctbmwKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ0NDE1LXctcnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ0NDE1LXctcnYtbgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDQ0MTgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ0NDE4LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ0NDIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NDQyNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDQ0MjQtMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDQ0MjRtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NDQyNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDQ0MjUtbmwKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ0NDI1LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ0NDI2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NTAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NTA1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NTA1LTI0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NTEwYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDUxMGQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ1MTMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ1MzEwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NTMyMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDU0MTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ1NDEwLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ1NDEwdjEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ1NDEwdjEtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDU0MTgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ1NDE4LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ1NDIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NTQyMCtubAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDU0MjAtbmwKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ1NDIwLXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NTQyMC1ydi1ubAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDU0MjAtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDU0MjAtdy1ubAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDU0MjAtdy1ydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDU0MjAtdy1ydi1uCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NTQyMF8yCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NTQyMF8yLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ1NDI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NTQyNS1ubAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDU0MjUtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDU0MzAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ1NjIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NTYyMC0xCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NTYyMC0yNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDU2MjAtMzQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ1NjIwLXMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ2MDUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ2MDUtcGMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ2MDUtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDYxMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDYxMC0xMDNrCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NjEwLTEwM2stdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDYxMC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NjE1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NjE1LTEwM2sKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ2MTUtMTAzay13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NjE1LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ2MjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ2MjAtMTAzaworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDYyMC0xMDNrLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ2MjAtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDYzMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDYzMC0yNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDYzODYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ3MzAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ3MzAtMjQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ3MzAtNDEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ3MzAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NzMwcgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDczMHItMjQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ3MzByLTQxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXZhdGFyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXZhdGFyMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F2YXRhcjArCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXZhdGFyMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F2dAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F2dCtzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXZ0LW5zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXZ0LXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXZ0LXJ2LW5zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXZ0LXJ2LXMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdnQtcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F2dC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXZ0LXctbnMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdnQtdy1ydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F2dC13LXJ2LW5zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXZ0LXctcnYtcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F2dC13LXMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hd3MKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hd3NjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2IKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYi9iLTEyOAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9iL2JhbnRhbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9iL2Jhc2ljNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9iL2Jhc2lzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2IvYmN0NTEwYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9iL2JjdDUxMGQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYi9iZWFjb24KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYi9iZWUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYi9iZWVoaXZlCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2IvYmVlaGl2ZTMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYi9iZWVoaXZlNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9iL2JlZWhpdmVJSUltCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2IvYmV0ZXJtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2IvYmcxLjI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2IvYmcxLjI1bnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYi9iZzEuMjVydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9iL2JnMi4wCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2IvYmcyLjBudgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9iL2JnMi4wcnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYi9iZzMuMTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYi9iZzMuMTBudgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9iL2JnMy4xMHJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2IvYmgzbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9iL2JoNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9iL2JpdGdyYXBoCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2IvYmxpdAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9iL2JvYmNhdAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9iL2JzZG9zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2IvYnNkb3MtYm9sZAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvYzEwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2MxMDAtMXAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jMTAwLTRwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvYzEwMC1ydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2MxMDAtcnYtNHAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jMTA0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvYzEwOAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2MxMDgtNHAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jMTA4LThwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvYzEwOC1ydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2MxMDgtcnYtNHAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jMTA4LXJ2LThwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvYzEwOC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvYzEwOC13LThwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvYzMwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2MzMDEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jMzIxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY2EyMjg1MQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NhZDY4LTIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jYWQ2OC0zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY2JibGl0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY2J1bml4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY2NpCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY2NpMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NkYzQ1NgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NkYzcyMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NkYzcyMS1lc2MKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jZGM3MjFsbAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NkYzc1MgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NkYzc1NgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NnNzkwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NnYzIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jZ2MzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY2hyb21hdGljcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NpODUxMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NpdC04MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NpdDEwMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NpdDEwMWUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jaXQxMDFlLTEzMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NpdDEwMWUtbgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NpdDEwMWUtbjEzMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NpdDEwMWUtcnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jaXQ1MDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jaXQ4MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NpdGMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jaXRvaAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NpdG9oLTZscGkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jaXRvaC04bHBpCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY2l0b2gtY29tcAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NpdG9oLWVsaXRlCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY2l0b2gtcGljYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NpdG9oLXByb3AKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jaXRvaC1wcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvY28zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29oZXJlbnQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb2xvcl94dGVybQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbG9yc2NhbgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbW1vZG9yZQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbmNlcHQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25jZXB0LWF2dAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbmNlcHQxMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25jZXB0MTAwLXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uY2VwdDEwOAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbmNlcHQxMDgtNHAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25jZXB0MTA4LThwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uY2VwdDEwOC13LTgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25jZXB0MTA4LXc4cAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbmNlcHQxMDhydjRwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uczI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uczI1LWlzby1tCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uczI1LWlzbzg4NTkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25zMjUta29pOC1yCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uczI1LWtvaThyLW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25zMjUtbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbnMyNWwxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uczI1bDEtbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbnMyNXIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25zMjVyLW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25zMjV3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uczMwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uczMwLW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25zNDMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25zNDMtbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbnM1MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbnM1MC1pc28tbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbnM1MC1pc284ODU5CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uczUwLWtvaThyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uczUwLWtvaThyLW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25zNTAtbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbnM1MGwxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uczUwbDEtbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbnM1MHIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25zNTByLW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25zNjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25zNjAtaXNvCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uczYwLWlzby1tCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uczYwLWtvaThyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uczYwLWtvaThyLW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25zNjAtbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbnM2MGwxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uczYwbDEtbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbnM2MHIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25zNjByLW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb250ZWwzMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb250ZWwzMDEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb250ZWwzMjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb250ZWwzMjEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb3BzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29wcy0xMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvcHMxMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NzMTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jczEwLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jdDgyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY3Q4NTAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY3RybQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2N4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY3gxMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jeWIxMTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jeWI4MworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZDEzMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2Q4MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2Q4MDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kYXRhZ3JhcGhpeAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RhdGFtZWRpYTI1MDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kYXRhcG9pbnQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kYXRhc3BlZWQ0MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RkNTAwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RkcgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RkcjMxODAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kZWMtdnQxMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kZWMtdnQyMjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kZWMtdnQzMzAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kZWMtdnQzNDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kZWMtdnQ0MDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kZWNwcm8KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kZWN3cml0ZXIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kZWx0YQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RnLWFuc2kKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kZzEwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RnMjAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZGcyMTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kZzIxMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RnNDUwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZGc0NjAtYW5zaQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RnNjA1MworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RnNjEzNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RpYWJsbworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RpYWJsby1sbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RpYWJsbzE2MjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kaWFibG8xNjIwLW04CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZGlhYmxvMTY0MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RpYWJsbzE2NDAtbG0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kaWFibG8xNjQwLW04CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZGlhYmxvMTcyMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RpYWJsbzE3MzAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kaWFibG8xNzQwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZGlhYmxvMTc0MC1sbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RpYWJsbzQ1MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RpYWJsbzYzMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RpYWxvZ3VlCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZGlhbG9ndWU4MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RpZ2lsb2cKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9ka3U3MDAzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZGt1NzAwMy1kdW1iCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZG0xNTIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZG0xNTIxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZG0yNTAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZG0zMDI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZG0zMDQ1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZG04MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RtODB3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZG1jaGF0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZG1kCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZG1kLTI0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZG1kLTM0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZG1kMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RtZHQ4MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RtZHQ4MHcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kbXRlcm0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kcDMzNjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kcDgyNDIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kczQwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZHM0MC0yCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZHQtMTAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZHQtMTAwdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2R0MTAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZHQxMDB3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZHQxMTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kdDgwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZHQ4MC1zYXMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kdDgwdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2R0YzMwMHMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kdGMzODIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kdHRlcm0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kdW1iCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZHcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kdzEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kdzIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kdzMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kdzQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kd2sKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kd2stdnQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9lL2VjbWErY29sb3IKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZS9lY21hK3NncgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9lL2Vtb3RzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2UvZW11CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2UvZW52MjMwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2UvZW52aXNpb24yMzAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZS9lcDQwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2UvZXA0MDAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2UvZXA0MDgwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2UvZXA0OAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9lL2VyZ280MDAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2UvZXNwcml0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2UvZXNwcml0LWFtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2UvZXRlcm0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZS9leDE1NQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9lL2V4Y2VsNjIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZS9leGNlbDYyLXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2UvZXhjZWw2Mi13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2UvZXhjZWw2NAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9lL2V4Y2VsNjQtcnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZS9leGNlbDY0LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZS9leGVjODAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9mL2YxMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZi9mMTAwLXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2YvZjExMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9mL2YxMTAtMTQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZi9mMTEwLTE0dworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9mL2YxMTAtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9mL2YxNzIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2YvZjE3MjBhCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2YvZjIwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9mL2YyMDAtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9mL2YyMDB2aQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9mL2YyMDB2aS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2YvZmFsY28KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZi9mYWxjby1wCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2YvZmVuaXgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZi9mZW5peHcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZi9maXh0ZXJtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2YvZm9ydHVuZQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9mL2ZvcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9mL2ZveAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9mL2ZyZWVkb20KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZi9mcmVlZG9tLXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2YvZnJlZWRvbTEwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9mL2ZyZWVkb20xMTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZi9mcmVlZG9tMjAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZy9nYXRvcgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2dhdG9yLTUyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cvZ2F0b3ItNTJ0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cvZ2F0b3ItdAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2dpZ2kKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZy9nbGFzc3R0eQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2dvLTIyNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2dvMTQwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cvZ28xNDB3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cvZ28yMjUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZy9ncmFwaG9zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cvZ3JhcGhvcy0zMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2dzNTQzMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2dzNTQzMC0yMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2dzNTQzMC0yNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2dzNjMwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2dzaQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2d0MTAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cvZ3QxMDBhCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cvZ3Q0MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2d0NDIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZy9ndXJ1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cvZ3VydStydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2d1cnUrcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2d1cnUrdW5rCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cvZ3VydS0yNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2d1cnUtMzMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZy9ndXJ1LTMzLXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cvZ3VydS0zMy1zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cvZ3VydS00NAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2d1cnUtNDQtcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2d1cnUtNzYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZy9ndXJ1LTc2LWxwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cvZ3VydS03Ni1zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cvZ3VydS03Ni13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cvZ3VydS03Ni13LXMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZy9ndXJ1LTc2LXdtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cvZ3VydS1scAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2d1cnUtbmN0eHQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZy9ndXJ1LXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cvZ3VydS1zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oLTEwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2gtMTAwYncKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oMTAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaDEwMGJ3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaDE5CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaDE5LWEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oMTktYgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2gxOS1icworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2gxOS1nCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaDE5LXNtdWwKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oMTktdQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2gxOS11cworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2gxOWEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oMTlnCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaDE5aworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2gxOWtlcm1pdAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2gxOXVzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaDI5YS1rYy1iYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2gyOWEta2MtdWMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oMjlhLW5rYy1iYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2gyOWEtbmtjLXVjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaDgwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaGE4Njc1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaGE4Njg2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaGF6ZWwKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oZHMyMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oZTgwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaGVhdGgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oZWF0aC0xOQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hlYXRoLWFuc2kKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oZWF0aGtpdAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hlYXRoa2l0LWEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oZnQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oZnQtYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hpcmV6MTAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaGlyZXoxMDAtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2htb2QxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocCthcnJvd3MKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocCtjb2xvcgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwK2xhYmVscworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwK3BmaythcnJvd3MKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocCtwZmsrY3IKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocCtwZmstY3IKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocCtwcmludGVyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAxMTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDE1MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjM2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyMzgyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyMzgyYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjM5MgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjM5NworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjM5N2EKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjEtNDgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjEtYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyMS1iYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyMS1mbAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyMS1rNDUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjEtbmwKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjEtbnQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjEtd2wKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjFBCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjIxYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyMWEtYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyMWIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjFiLWt4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjIxYi1reC1wCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjIxYi1wCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjIxazQ1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjIxcAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyMXAtYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyMmEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjNhCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjI0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjI0LTEwcAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyNGEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjRhLTEwcAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyNGIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjRiLTEwcAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyNGItMTBwLXAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjRiLTRwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjI0Yi00cC1wCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjI0Yi1wCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjI2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjI2LTEyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjI2LTEyLXMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjYtMTJ4NDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjYtbnMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjYtcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyNi14NDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjZhCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjI2cAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyN2EKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjdhLXJldgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyN2MKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MngKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2NDBhCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjQwYgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjY0MWEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2NDRhCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjQ1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjQ1YQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjY0N2EKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2NDgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2NDhhCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAzMDBoCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHA0NQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwNzAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHA3MDAtd3kKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDcwMDkyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHA3MDA5MkEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDcwMDkyYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwOTgzNworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwOTg0NQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwOTg1NTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDk4NTUwYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwOTg3MjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDk4NzIxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHBhbnNpCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHBleAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwZXgyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHBnZW5lcmljCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHBzdWIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocHRlcm0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9odHgxMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2h6MTAwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2h6MTQyMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2h6MTUwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2h6MTUxMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2h6MTUyMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2h6MTUyMC1ub2VzYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2h6MTU1MgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2h6MTU1Mi1ydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2h6MjAwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaTEwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2kzMTAxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaTMxNTEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pMzE2NAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2k0MDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYmNzMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2libS1hcGwKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm0tcGMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm0tc3lzdGVtMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2libTMxMDEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm0zMTUxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtMzE2MQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2libTMxNjMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm0zMTY0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtMzI3eAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2libTUwNTEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm01MDgxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtNTA4MS1jCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtNTE1MQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2libTUxNTQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm01MTU0LWMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm02MTUzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtNjE1NAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2libTYxNTQtYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2libTYxNTUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm04NTEyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtODUxMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2libTg1MTQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm04NTE0LWMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm1hZWQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm1hcGExNgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2libWFwYTgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm1hcGE4YworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2libWFwYThjLWMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm1lZ2EKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm1lZ2EtYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2libW1vbm8KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm1tcGVsCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtbXBlbC1jCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtcGMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm1wYzMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm1wYzNyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtcGMzci1tb25vCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtcGN4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtdmdhCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtdmdhLWMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm14CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWZtcgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2ltcy1hbnNpCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaW1zOTUwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaW1zOTUwLWIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pbXM5NTAtcnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pbmZvdG9uCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaW50ZXJ0ZWMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pbnRlcnR1YmUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pbnRlcnR1YmUyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaW50ZXh0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaW50ZXh0MgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2ludGV4dGlpCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaXBzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaXBzaQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2lxMTIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaXExNDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pcmlzLWFuc2kKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pcmlzLWFuc2ktYXAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pcmlzLWNvbG9yCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaXJpczQwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2oKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vai9qYWl4dGVybS1tCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2ovamVycQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9rCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2svazQ1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2sva2F5cHJvCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2sva2F5cHJvMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9rL2tlcm1pdAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9rL2tlcm1pdC1hbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9rL2tsb25lK2FjcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9rL2tsb25lK2NvbG9yCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2sva2xvbmUra29pOGFjcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9rL2tsb25lK3NncgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9rL2tsb25lK3Nnci1kdW1iCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2sva3Q3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2sva3Q3aXgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vay9rdGVybQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9rL2t0bQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9sCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2wvbGExMjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbC9sYXllcgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9sL2xpbnV4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2wvbGludXgtYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9sL2xpbnV4LWMtbmMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbC9saW51eC1rb2k4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2wvbGludXgta29pOHIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbC9saW51eC1tCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2wvbGludXgtbmljCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2wvbGlzYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9sL2xpc2F0ZXJtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2wvbGlzYXRlcm0tdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9sL2xpc3diCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2wvbG4wMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9sL2xuMDMtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9sL2xwcgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9sL2x1bmEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbC9sdW5hNjhrCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9tMi1uYW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9tYWMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9tYWMtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21hY2ludG9zaAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21hY3Rlcm1pbmFsLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9tYWkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9tYXNzY29tcAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21hc3Njb21wMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21hc3Njb21wMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21kbDExMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21lZ2F0ZWsKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9tZW1ocAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21ncgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21nci1saW51eAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21nci1zdW4KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9taWNyb2IKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9taWNyb2JlZQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21pY3JvdGVybQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21pY3JvdGVybTUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9taW1lCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbWltZS0zYXgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9taW1lLWZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbWltZS1oYgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21pbWUxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbWltZTIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9taW1lMmEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9taW1lMmEtcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21pbWUyYS12CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbWltZTMxNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21pbWUzNDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9taW1lM2EKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9taW1lM2F4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbWltZWkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9taW1laWkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9taW5pdGVsCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbWluaXRlbC0yCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbWluaXRlbC0yLW5hbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21pbml4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbWluaXgtb2xkCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbWluaXgtb2xkLWFtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbW0zMTQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9tbTM0MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21vZAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21vZDI0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbW9kZ3JhcGgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9tb2RncmFwaDIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9tb2RncmFwaDQ4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbW9uby1lbXgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9tc2syMjcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9tc2syMjcxNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21zazIyN2FtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbXNrZXJtaXQyMjcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9tc2tlcm1pdDIyNzE0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbXNrZXJtaXQyMjdhbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL210LTcwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbXQ0NTIwLXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbXQ3MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmFuc2kuc3lzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmFuc2kuc3lzaworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25hbnNpc3lzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmFuc2lzeXNrCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmNyNzkwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25jcjc5MDBpCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmNyNzkwMGl2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmNyNzkwMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25lYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25lYzU1MjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9uZXdocAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25ld2hwa2V5Ym9hcmQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9uZXdzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmV3cy0yOQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25ld3MtMjktZXVjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmV3cy0yOS1zamlzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmV3cy0zMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25ld3MtMzMtZXVjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmV3cy0zMy1zamlzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmV3cy00MgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25ld3MtNDItZXVjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmV3cy00Mi1zamlzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmV3cy1hCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmV3cy1vCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmV3cy1vbGQtdW5rCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmV3cy11bmsKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9uZXdzMjgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9uZXdzMjgtYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25ld3MyOQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25ld3MzMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25ld3MzMS1hCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmV3czMxLW8KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9uZXdzMzMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9uZXdzNDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9uZXdzNDAtYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25ld3M0MC1vCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmV3czQyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmV3c2NibQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25ld3NjYm0tYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25ld3NjYm0tbworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25ld3NjYm0zMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25leHQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9uZXh0c2hlbGwKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9ub3J0aHN0YXIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9ud2U1MDEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9ud2U1MDEtYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL253ZTUwMS1vCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbndwLTUxMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL253cC01MTcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9ud3AtNTE3LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9ud3AyNTEtYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL253cDI1MS1vCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbndwNTExCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbndwNTEyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbndwNTEyLWEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9ud3A1MTItbworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL253cDUxMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL253cDUxMy1hCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbndwNTEzLW8KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9ud3A1MTQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9ud3A1MTQtYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL253cDUxNC1vCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbndwNTE3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbndwNTE3LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9ud3A1MTgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9ud3A1MTgtYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL253cDUxOC1vCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL28KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vby9vMzEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vby9vNDExMi1uZAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9vL284NWgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vby9vYWJtODVoCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL28vb2JsaXQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vby9vYzEwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9vL29jb25jZXB0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL28vb2plcnEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vby9vbGRpYm1wYzMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vby9vbGRwYzMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vby9vbGRzdW4KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vby9vbXJvbgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9vL29wdXMzbjErCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL28vb3JpZ2libXBjMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9vL29yaWdwYzMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vby9vczlMSUkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vby9vc2Jvcm5lCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL28vb3Nib3JuZS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL28vb3Nib3JuZTEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vby9vc2Jvcm5lMS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL28vb3NleGVjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL28vb3RlazQxMTIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vby9vdGVrNDExMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9vL290ZWs0MTE0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL28vb3RlazQxMTUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vby9vd2wKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3AxMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3AxMi1tCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcDEyLW0tdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3AxMi13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcDE0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcDE0LW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wMTQtbS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcDE0LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wMTkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3A1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcDcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wOAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3A4LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wOGdsCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcDkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wOS04CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcDktOC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcDktdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjLWNvaGVyZW50CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGMtbWluaXgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wYy12ZW5peAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjMy1ib2xkCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGMzcgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjM3ItbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjNjMwMHBsdXMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wYzczMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wY2Fuc2kKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wY2Fuc2ktMjUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wY2Fuc2ktMjUtbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjYW5zaS0zMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjYW5zaS0zMy1tCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGNhbnNpLTQzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGNhbnNpLTQzLW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wY2Fuc2ktbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjYW5zaS1tb25vCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGNhbnNpMjUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wY2Fuc2kyNW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wY2Fuc2kzMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjYW5zaTMzbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjYW5zaTQzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGNjb25zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGNjb25zb2xlCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGNpeAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3Bja2VybWl0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGNrZXJtaXQxMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3Bja2VybWl0MTIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGNwbG90CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGN2dDI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGN2dDI1dworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjdnQyOAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjdnQyOHcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wY3Z0MzUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wY3Z0MzV3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGN2dDQwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGN2dDQwdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjdnQ0MworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjdnQ0M3cKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wY3Z0NTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wY3Z0NTB3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGN2dFhYCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGN6MTkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wZTExMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wZTEyMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wZTEyNTEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wZTU1MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BlNjEwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BlNjMwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BlNjMxMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BlNzAwMGMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wZTcwMDBtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGlsb3QKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wcmludGVyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHJpc20xMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3ByaXNtMTItbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3ByaXNtMTItbS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHJpc20xMi13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHJpc20xNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3ByaXNtMTQtbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3ByaXNtMTQtbS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHJpc20xNC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHJpc20yCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHJpc200CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHJpc201CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHJpc203CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHJpc204CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHJpc204LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wcmlzbThnbAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3ByaXNtOQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3ByaXNtOS04CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHJpc205LTgtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3ByaXNtOS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHJvMzUwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHMzMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wc3Rlcm0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wc3Rlcm0tODB4MjQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wc3Rlcm0tOTB4MjgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wc3Rlcm0tOTZ4NDgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wc3Rlcm0tYmFzaWMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wc3Rlcm0tZmFzdAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BzeF9hbnNpCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHQxMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wdDEwMHcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wdDIwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3B0MjAwdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3B0MjEwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHQyNTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wdDI1MHcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wdDUwNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3B0NTA1LTIyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHQ1MDUtMjQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wdHkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9xL3FkY29ucworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9xL3Fkc3MKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcS9xbngKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcS9xbng0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3EvcXVtZQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9xL3F1bWU1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3EvcXZ0MTAxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3EvcXZ0MTAxKworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9xL3F2dDEwMXAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcS9xdnQxMDIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcS9xdnQxMDMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcS9xdnQxMDMtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9xL3F2dDEwOAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9xL3F2dDExOQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9xL3F2dDExOSsKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcS9xdnQxMTkrLTI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3EvcXZ0MTE5Ky0yNS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3EvcXZ0MTE5Ky13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3EvcXZ0MTE5LTI1LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcS9xdnQxMTktdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9xL3F2dDExOXAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcS9xdnQxMTlwLTI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3EvcXZ0MTE5cC0yNS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3EvcXZ0MTE5cC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3EvcXZ0MjAzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3EvcXZ0MjAzKworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9xL3F2dDIwMy0yNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9xL3F2dDIwMy0yNS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3EvcXZ0MjAzLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcS9xdnQyMDMtdy1hbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9yCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3IvcmJjb21tCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3IvcmJjb21tLW5hbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9yL3JiY29tbS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3IvcmNhCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3IvcmVidXMzMTgwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3IvcmVnZW50CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3IvcmVnZW50MTAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3IvcmVnZW50MjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vci9yZWdlbnQyMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vci9yZWdlbnQyNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9yL3JlZ2VudDQwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3IvcmVnZW50NDArCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3IvcmVnZW50NjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vci9ydDYyMjEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vci9ydDYyMjEtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9yL3J0cGMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vci9yeHZ0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Ivcnh2dC1iYXNpYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3MvcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3M0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc2IxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc2IyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc2IzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc2JpCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc2JvYmNhdAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3NjNDEwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc2M0MTUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zY2Fuc2V0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc2NvYW5zaQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3NjcmVlbgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3NjcmVlbi13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc2NyZWVuMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3NjcmVlbjMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zY3Jld3BvaW50CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc2NyaHAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zaW10ZXJtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc29yb2MKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zb3JvYzEyMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3Nvcm9jMTQwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc3BpbndyaXRlcgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3N0NTIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zdW4KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zdW4tMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3N1bi0xMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3N1bi0xNworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3N1bi0yNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3N1bi0zNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3N1bi00OAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3N1bi1jCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc3VuLWNtZAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3N1bi1lCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc3VuLWUtcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3N1bi1pbAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3N1bi1uaWMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zdW4tcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3N1bi1zLWUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zdW4tc3M1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc3VuMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3N1bjIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zdW5lCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc3VwZXJiZWUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zdXBlcmJlZS14c2IKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zdXBlcmJlZWljCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc3VwZXJicmFpbgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3N2ODAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zd3RwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc3luZXJ0ZWsKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zeW5lcnRlazM4MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3N5c3RlbTEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3QxMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3QxMDYxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdDEwNjFmCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdDE2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdDM3MDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90MzgwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3Q2NTN4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGFiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGFiMTMyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGFiMTMyLTE1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGFiMTMyLXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGFiMTMyLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90YWIxMzItdy1ydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RhbmRlbTY1MTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90YW5kZW02NTMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWsKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0MDEyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDAxMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RlazQwMTQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0MDE0LXNtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDAxNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RlazQwMTUtc20KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0MDIzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDAyNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RlazQwMjUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0MDI1LTE3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDAyNS0xNy13cworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RlazQwMjUtY3IKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0MDI1LWV4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDAyNWEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0MDI1ZXgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0MDI3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDAyNy1leAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RlazQxMDUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0MTA1LTMwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDEwNWEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0MTA2YnJsCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDEwNworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RlazQxMDdicmwKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0MTA5CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDEwOWJybAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RlazQxMTIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0MTEyLTUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0MTEyLW5kCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDExMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RlazQxMTMtMzQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0MTEzLW5kCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDExNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RlazQxMTUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0MTI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDIwNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RlazQyMDcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0MjA3LXMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0NDA0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVsZXJheQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RlbGV0ZWMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZXJtaW5ldAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3Rlcm1pbmV0MTIwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3Rlcm1pbmV0MzAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGd0ZWxuZXQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90aTcwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RpNzMzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGk3MzUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90aTc0NQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RpODAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGk5MTYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90aTkxNi0xMzIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90aTkxNi0yMjAtNworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RpOTE2LTIyMC04CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGk5MTYtOAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RpOTE2LTgtMTMyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGk5MjQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90aTkyNC04CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGk5MjQtOHcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90aTkyNHcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90aTkyNgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RpOTI2LTgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90aTkyOAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RpOTI4LTgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90aTkzMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RpX2Fuc2kKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90bjEyMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90bjMwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RyczE2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHJzMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RyczgwSUkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90cnNJSQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RzLTEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90cy0xcAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RzMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RzMTAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHMxMDAtY3R4dAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RzMTAwLXNwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHMxcAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R0NTA1LTIyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHR5MzMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dHkzNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R0eTM3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHR5NDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dHk0MworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R0eTQ0MjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dHk0NDI0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHR5NDQyNC0xCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHR5NDQyNG0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dHk0NDI2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHR5NTQxMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R0eTU0MTAtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R0eTU0MTB2MQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R0eTU0MTB2MS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHR5NTQyMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R0eTU0MjArbmwKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dHk1NDIwLW5sCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHR5NTQyMC1ydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R0eTU0MjAtcnYtbmwKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dHk1NDIwLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dHk1NDIwLXctbmwKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dHk1NDIwLXctcnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dHk1NDIwLXctcnYtbgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R0eTU0MjUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dHk1NDI1LW5sCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHR5NTQyNS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHR5NTYyMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R0eTU2MjAtMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R0eTU2MjAtMjQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dHk1NjIwLTM0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHR5NTYyMC1zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHR5ZG1kCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHZpLTJwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHZpODAzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHZpOTA2NQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R2aTkxMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R2aTkxMCsKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5MTIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5MTItMnAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5MTJiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHZpOTEyYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R2aTkxMmNjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHZpOTE0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHZpOTIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHZpOTIwLTJwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHZpOTIwYgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R2aTkyMGMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5MjEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5MjQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5MjUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5MjUtaGkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5MkIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5MkQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5NTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5NTAtMnAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5NTAtNHAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5NTAtcnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5NTAtcnYtMnAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5NTAtcnYtNHAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5NTUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5NTUtaGIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5NTUtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R2aTk3MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R2aTk3MC0ycAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R2aTk3MC12YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R2aXB0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3UKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdS91bHRpbWEyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3UvdWx0aW1hSUkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdS91bml0ZXJtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3UvdW5pdGVybTQ5CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3UvdW5peHBjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3UvdW5rbm93bgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby91L3V0czMwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92MjAwLW5hbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3YzMjBuCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdjMyMjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92NTQxMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3ZhcHBsZQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3ZjMTAzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdmMyMDMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92YzMwMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3ZjMzAzYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3ZjNDAzYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3ZjNDA0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdmM0MDQtcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3ZjNDE0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdmM0MTRoCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdmM0MTUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92ZW5peAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3ZlcnNhdGVybQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3ZpMjAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdmkyMDAtZgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3ZpMjAwLXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdmkzMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92aTMwMC1vbGQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92aTUwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Yvdmk1MDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92aTUwYWRtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Yvdmk1NQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3ZpNTUwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Yvdmk2MDMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92aWV3cG9pbnQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92aWV3cG9pbnQzYSsKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92aWV3cG9pbnQ2MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3ZpZXdwb2ludDkwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdmlzYTUwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdmlzdWFsNjAzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Yvdml0dHkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92azEwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3ZwM2ErCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnA2MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3ZwOTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92cmVtb3RlCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnMxMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92czEwMC14MTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92c2MKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dC02MQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MTAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQxMDAtYW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDEwMC1ibQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MTAwLWJtLW8KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDEwMC1ib3QtcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MTAwLW5hbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MTAwLW5hbS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQxMDAtbmF2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQxMDAtbmF2LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDEwMC1zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQxMDAtcy1ib3QKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDEwMC1zLXRvcAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MTAwLXRvcC1zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQxMDAtdmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDEwMC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQxMDAtdy1hbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MTAwLXctbmFtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQxMDAtdy1uYXYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDEwMG5hbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MTAyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQxMDItbnNncgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MTAyLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDEyNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MTMxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQxMzIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDIwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MjAwLWpzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQyMDAtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MjIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQyMjAtOAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MjIwLWpzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQyMjAtbmFtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQyMjAtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MjIwZAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MzAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQzMDAtbmFtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQzMDAtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MzAwLXctbmFtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQzMjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDMyMC1rMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MzIwLWszMTEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDMyMC1uYW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDMyMC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQzMjAtdy1uYW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDMyMG5hbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MzMwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQzNDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDQwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0NDAwLTI0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQ0MjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDQyMGYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDQyMHBjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQ0MjBwY2RvcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0NTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDUwaAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0NTEwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQ1MTBwYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0NTEwcGNkb3MKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDUyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQ1MjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDUyNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0NjEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDYxLjUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3dyZW4KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93cmVudworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3dzaXJpcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5LTc1YXAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTEwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MTAwcQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MTIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kxMjAtMjUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTEyMC0yNS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kxMjAtdmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTEyMC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kxMjAtdy12YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MTIwLXd2YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MTUwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kxNTAtMjUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTE1MC0yNS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kxNTAtdmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTE1MC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kxNTAtdy12YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MTYwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kxNjAtMjUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTE2MC0yNS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kxNjAtNDIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTE2MC00Mi13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kxNjAtNDMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTE2MC00My13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kxNjAtdGVrCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kxNjAtdmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTE2MC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kxNjAtdy12YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MTYwLXd2YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MTg1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kxODUtMjQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTE4NS12YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MTg1LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTE4NS13dmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTMwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kzMC1tYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MzAtdmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTMyNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MzI1LTI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kzMjUtMjV3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kzMjUtNDIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTMyNS00MncKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTMyNS00MnctdmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTMyNS00Mnd2YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MzI1LTQzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kzMjUtNDN3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kzMjUtNDN3LXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kzMjUtNDN3dmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTMyNS04MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MzI1LXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kzMjUtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MzI1LXctdmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTMyNS13dmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTMyNXctMjQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTM1MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MzUwLXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kzNTAtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MzUwLXd2YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MzcwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kzNzAtMTAxaworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MzcwLTEwNWsKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTM3MC1FUEMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTM3MC1uaworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MzcwLXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kzNzAtdGVrCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kzNzAtdmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTM3MC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kzNzAtd3ZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k1MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NTAtbWMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTUwLXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k1MC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k1MC13dmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTUyMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NTIwLTI0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k1MjAtMzYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTUyMC0zNnBjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k1MjAtMzZ3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k1MjAtMzZ3cGMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTUyMC00OAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NTIwLTQ4cGMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTUyMC00OHcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTUyMC00OHdwYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NTIwLWVwYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NTIwLWVwYy0yNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NTIwLWVwYy12YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NTIwLWVwYy13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k1MjAtZXBjLXd2YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NTIwLXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k1MjAtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NTIwLXd2YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTYwLTI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k2MC0yNS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k2MC0zMTZYCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k2MC00MgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NjAtNDItdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NjAtNDMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTYwLTQzLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTYwLXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k2MC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k2MC13LXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k2MC13dmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTc1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k3NS1tYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NzUtdmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTc1LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTc1LXd2YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NzVhcAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5ODUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTg1LXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k4NS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k4NS13dmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTk5Z3QKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTk5Z3QtMjUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTk5Z3QtMjUtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5OTlndC10ZWsKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTk5Z3QtdmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTk5Z3QtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5OTlndC13LXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k5OWd0LXd2YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UtMzI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZS03NWFwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZS12cAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UxMjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMTIwLTI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTEyMC0yNS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTEyMC12YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UxMjAtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UxMjAtd3ZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTE1MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UxNTAtMjUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMTUwLTI1LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMTUwLXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTE1MC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTE1MC13LXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTE2MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UxNjAtMjUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMTYwLTI1LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMTYwLTQyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTE2MC00Mi13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTE2MC00MworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UxNjAtNDMtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UxNjAtdmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMTYwLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMTYwLXd2YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UxODUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMTg1LTI0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTE4NS12YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UxODUtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UxODUtd3ZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTMwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTMwLW1jCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTMwLXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTMyNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UzMjUtMjUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMzI1LTI1dworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UzMjUtNDIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMzI1LTQydworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UzMjUtNDMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMzI1LTQzdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UzMjUtdmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMzI1LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMzI1LXd2YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UzNTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMzUwLXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTM1MC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTM1MC13dmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMzcwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTUwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTUwLW1jCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTUwLXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTUwLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlNTAtd3ZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTUyMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U1MjAtMjQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlNTIwLTM2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTUyMC0zNnBjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTUyMC0zNncKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlNTIwLTM2d3BjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTUyMC00OAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U1MjAtNDhwYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U1MjAtNDh3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTUyMC00OHdwYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U1MjAtZXBjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTUyMC1lcGMtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U1MjAtcC13dmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlNTIwLXBjLTI0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTUyMC1wYy12YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U1MjAtdmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlNTIwLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlNTIwLXd2YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U2MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U2MC0yNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U2MC0yNS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTYwLTMxNlgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlNjAtNDIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlNjAtNDItdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U2MC00MworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U2MC00My13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTYwLXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTYwLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlNjAtd3ZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTc1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTc1LW1jCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTc1LXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTc1LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlNzUtd3ZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTc1YXAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlODUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlODUtdmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlODUtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U4NS13dmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlOTlndAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U5OWd0LTI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTk5Z3QtMjUtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U5OWd0LXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTk5Z3QtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U5OWd0LXd2YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3gveDEwdGVybQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3gxNzAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3gveDE3MDAtbG0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8veC94MTcyMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3gxNzUwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3gveDY4aworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3g2OGstaXRlCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3gveDgyMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3hlbml4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3gveGVyb3gKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8veC94ZXJveC1sbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3hlcm94MTcyMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3hlcm94ODIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3gveGw4MworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3h0YWxrCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3gveHRlcm0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8veC94dGVybStzbAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3h0ZXJtK3NsLXR3bQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3h0ZXJtLTE2Y29sb3IKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8veC94dGVybS04Yml0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3gveHRlcm0tYm9sZAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3h0ZXJtLW5pYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3h0ZXJtLW9sZAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3h0ZXJtLXBjb2xvcgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3h0ZXJtLXI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3gveHRlcm0tcjYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8veC94dGVybS1zdW4KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8veC94dGVybS14Zjg2LXYzMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3h0ZXJtLXhmODYtdjMzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3gveHRlcm0teGY4Ni12NDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8veC94dGVybS14aQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3h0ZXJtMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3h0ZXJtcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3h0ZXJtcy1zdW4KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8veC94d3NoCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3oKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vei96LTEwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby96L3otMTAwYncKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vei96MTAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3ovejEwMGJ3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3ovejExMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby96L3oxMTBidworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby96L3oxOQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby96L3oyOQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby96L3oyOWEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vei96MjlhLWtjLWJjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3ovejI5YS1rYy11YworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby96L3oyOWEtbmtjLWJjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3ovejI5YS1ua2MtdWMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vei96MjliCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3ovejMwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3ovejM0MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby96L3ozNDAtbmFtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3ovejM5LWEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vei96MzlhCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3ovejUwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3ovejgwMDEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vei96ZW4zMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby96L3plbjUwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3ovemVuODAwMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby96L3plbml0aAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby96L3plbml0aDI5CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3ovemVuaXRoMzktYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby96L3plbml0aDM5LWFuc2kKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vei96dC0xCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3ovenR4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3ovenR4LTEtYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby96L3p0eDExCis8L1JQTTpGaWxlcz4KKyAgPC9SREY6RGVzY3JpcHRpb24+Cis8L1JERjpSREY+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZGYyLnJkZSBiL2xpYnhtbDIvcmVzdWx0L3JkZjIucmRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE1ZTVlOTcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZGYyLnJkZQpAQCAtMCwwICsxLDIwMDggQEAKKzAgMSBSREY6UkRGIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSAxIFJERjpEZXNjcmlwdGlvbiAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIFJQTTpOYW1lIDAgMAorMyAzICN0ZXh0IDAgMSBuY3Vyc2VzNAorMiAxNSBSUE06TmFtZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIFJQTTpWZXJzaW9uIDAgMAorMyAzICN0ZXh0IDAgMSA0LjIKKzIgMTUgUlBNOlZlcnNpb24gMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBSUE06UmVsZWFzZSAwIDAKKzMgMyAjdGV4dCAwIDEgMworMiAxNSBSUE06UmVsZWFzZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIFJQTTpBcmNoIDAgMAorMyAzICN0ZXh0IDAgMSBpMzg2CisyIDE1IFJQTTpBcmNoIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgUlBNOk9zIDAgMAorMyAzICN0ZXh0IDAgMSBMaW51eAorMiAxNSBSUE06T3MgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBSUE06RGlzdHJpYnV0aW9uIDAgMAorMyAzICN0ZXh0IDAgMSBETEQKKzIgMTUgUlBNOkRpc3RyaWJ1dGlvbiAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIFJQTTpWZW5kb3IgMCAwCiszIDMgI3RleHQgMCAxIGRlbGl4IENvbXB1dGVyIEdtYkgKKzIgMTUgUlBNOlZlbmRvciAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIFJQTTpQYWNrYWdlciAwIDAKKzMgMyAjdGV4dCAwIDEgVGlsbCBCdWJlY2sgPGJ1YmVja0BkZWxpeC5kZT4sIE5nbyBUaGFuIDx0aGFuQGRlbGl4LmRlPgorMiAxNSBSUE06UGFja2FnZXIgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBSUE06R3JvdXAgMCAwCiszIDMgI3RleHQgMCAxIExpYnJhcmllcworMiAxNSBSUE06R3JvdXAgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBSUE06U3VtbWFyeSAwIDAKKzMgMyAjdGV4dCAwIDEgQmlibGlvdGhlayB6dXIgQW5zdGV1ZXJ1bmcgdm9uIFRlcm1pbmFscworMiAxNSBSUE06U3VtbWFyeSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIFJQTTpEZXNjcmlwdGlvbiAwIDAKKzMgMyAjdGV4dCAwIDEgRGllc2UgTGlicmFyeSBzdGVsbHQgZGVtIFByb2dyYW1taWVyZXIgdm9tIFRlcm1pbmFsIHVuYWJow6RuZ2lnZQorUm91dGluZW4genVyIEFuc3RldWVydW5nIElocmVzIEJpbGRzY2hpcm1zIHp1ciBWZXJmw7xndW5nLCBkaWUKK3NwZXppZWxsIG9wdGltaWVydCBzaW5kLgorRGllc2UgVmVyc2lvbiBpc3QgZGllICduZXcgY3Vyc2VzJyAobmN1cnNlcykgVmFyaWFudGUgdW5kIGlzdCBkZXIKK2FuZXJrYW5udGUgRXJzYXR6IGbDvHIgZGllIGtsYXNzaXNjaGUgQ3Vyc2VzLUxpYnJhcnksIGRpZSBuaWNodCBtZWhyCit3ZWl0ZXJlbnR3aWNrZWx0IHdpcmQuCisyIDE1IFJQTTpEZXNjcmlwdGlvbiAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIFJQTTpDb3B5cmlnaHQgMCAwCiszIDMgI3RleHQgMCAxIEdQTAorMiAxNSBSUE06Q29weXJpZ2h0IDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgUlBNOlNvdXJjZXMgMCAwCiszIDMgI3RleHQgMCAxIG5jdXJzZXM0LTQuMi0zLnNyYy5ycG0KKzIgMTUgUlBNOlNvdXJjZXMgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBSUE06QnVpbGREYXRlIDAgMAorMyAzICN0ZXh0IDAgMSBUdWUgTWF5IDEyIDE5OjMwOjI2IDE5OTgKKzIgMTUgUlBNOkJ1aWxkRGF0ZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIFJQTTpEYXRlIDAgMAorMyAzICN0ZXh0IDAgMSA4OTUwMTU4MjYKKzIgMTUgUlBNOkRhdGUgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBSUE06U2l6ZSAwIDAKKzMgMyAjdGV4dCAwIDEgMTM3MzUxMworMiAxNSBSUE06U2l6ZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIFJQTTpCdWlsZEhvc3QgMCAwCiszIDMgI3RleHQgMCAxIGVyZGJlZXJlLmRlbGl4LmRlCisyIDE1IFJQTTpCdWlsZEhvc3QgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBSUE06UHJvdmlkZXMgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAgIAorMyAxIFJERjpCYWcgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgCis0IDEgUlBNOlJlc291cmNlIDAgMAorNSAzICN0ZXh0IDAgMSBuY3Vyc2VzNAorNCAxNSBSUE06UmVzb3VyY2UgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgCis0IDEgUlBNOlJlc291cmNlIDAgMAorNSAzICN0ZXh0IDAgMSBsaWJwYW5lbC5zby40Cis0IDE1IFJQTTpSZXNvdXJjZSAwIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgICAKKzQgMSBSUE06UmVzb3VyY2UgMCAwCis1IDMgI3RleHQgMCAxIGxpYm5jdXJzZXMuc28uNAorNCAxNSBSUE06UmVzb3VyY2UgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgCis0IDEgUlBNOlJlc291cmNlIDAgMAorNSAzICN0ZXh0IDAgMSBsaWJtZW51LnNvLjQKKzQgMTUgUlBNOlJlc291cmNlIDAgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAgIAorNCAxIFJQTTpSZXNvdXJjZSAwIDAKKzUgMyAjdGV4dCAwIDEgbGliZm9ybS5zby40Cis0IDE1IFJQTTpSZXNvdXJjZSAwIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgICAKKzQgMSBSUE06UmVzb3VyY2UgMCAwCis1IDMgI3RleHQgMCAxIG5jdXJzZXMKKzQgMTUgUlBNOlJlc291cmNlIDAgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMTUgUkRGOkJhZyAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgIAorMiAxNSBSUE06UHJvdmlkZXMgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBSUE06RmlsZXMgMCAwCiszIDMgI3RleHQgMCAxIC9saWIvbGlibmN1cnNlcy5zby40CisvbGliL2xpYm5jdXJzZXMuc28uNC4yCisvdXNyL2RvYy9uY3Vyc2VzNC00LjItMworL3Vzci9kb2MvbmN1cnNlczQtNC4yLTMvQU5OT1VOQ0UuZ3oKKy91c3IvZG9jL25jdXJzZXM0LTQuMi0zL05FV1MuZ3oKKy91c3IvZG9jL25jdXJzZXM0LTQuMi0zL1JFQURNRS5negorL3Vzci9kb2MvbmN1cnNlczQtNC4yLTMvVE8tRE8uZ3oKKy91c3IvbGliL2xpYmZvcm0uc28uNAorL3Vzci9saWIvbGliZm9ybS5zby40LjIKKy91c3IvbGliL2xpYm1lbnUuc28uNAorL3Vzci9saWIvbGlibWVudS5zby40LjIKKy91c3IvbGliL2xpYnBhbmVsLnNvLjQKKy91c3IvbGliL2xpYnBhbmVsLnNvLjQuMgorL3Vzci9zaGFyZS9uY3Vyc2VzNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90YWJzZXQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGFic2V0L3N0ZAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90YWJzZXQvc3RkY3J0CisvdXNyL3NoYXJlL25jdXJzZXM0L3RhYnNldC92dDEwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90YWJzZXQvdnQzMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby8xLzExNzgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vMS8xNzMwLWxtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvLzIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vMi8yNjIxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvLzIvMjYyMS13bAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby8yLzI2MjFBCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvLzIvMjYyMWEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby8zLzM4NmF0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvLzMvM2IxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvLzQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vNC80MDI1ZXgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vNC80MDI3ZXgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vNC80NDEwLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby81LzUwNTEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vNS81NDEwLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vNS81NjIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvLzUvNTYzMC0yNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby81LzU2MzBETUQtMjQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vNgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby82LzYzMC1sbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby82LzYzME1URy0yNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby83CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvLzcvNzMwTVRHLTI0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvLzcvNzMwTVRHLTQxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvLzcvNzMwTVRHLTQxcgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby83LzczME1UR3IKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vNy83MzBNVEdyLTI0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvLzgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vOC84NTEwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvLzkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vOS85NTUtaGIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vOS85NTUtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9QCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL1AvUDEyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL1AvUDEyLU0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vUC9QMTItTS1XCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL1AvUDEyLVcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vUC9QMTQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vUC9QMTQtTQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9QL1AxNC1NLVcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vUC9QMTQtVworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9QL1A0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL1AvUDUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vUC9QNworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9QL1A4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL1AvUDgtVworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9QL1A5CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL1AvUDktOAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9QL1A5LTgtVworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9QL1A5LVcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vWAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9YL1gtaHB0ZXJtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hMjEwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYTgwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYTk4MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FhNDA4MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FhYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FhYStkZWMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYWErcnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYWErdW5rCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLTE4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLTE4LXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLTIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLTIyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLTI0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLTI0LXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLTI2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLTI4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLTMwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLTMwLWN0eHQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYWEtMzAtcnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYWEtMzAtcnYtY3R4dAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FhYS0zMC1zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLTMwLXMtY3R4dAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FhYS0zMC1zLXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLTMwLXMtcnYtY3QKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYWEtMzYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYWEtMzYtcnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYWEtNDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYWEtNDAtcnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYWEtNDgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYWEtNDgtcnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYWEtNjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYWEtNjAtZGVjLXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLTYwLXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLTYwLXMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYWEtNjAtcy1ydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FhYS1jdHh0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLWRiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLXJ2LWN0eHQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYWEtcnYtdW5rCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLXMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYWEtcy1jdHh0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLXMtcnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYWEtcy1ydi1jdHh0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLXVuaworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FhczE5MDEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYm04MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FibTg1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWJtODVlCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWJtODVoCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWJtODVoLW9sZAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FjdDQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hY3Q1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWRkcmluZm8KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hZGRzOTgwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWRkc3ZpZXdwb2ludAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FkZHN2cDYwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWRtK3NncgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FkbTEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hZG0xMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FkbTExNzgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hZG0xMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FkbTFhCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWRtMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FkbTIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWRtMjEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hZG0yMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FkbTMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hZG0zMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FkbTMxLW9sZAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FkbTM2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWRtM2EKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hZG0zYSsKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hZG00MgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FkbTQyLW5zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWRtNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FlcHJvCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWl4dGVybS1tCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWl4dGVybS1tLW9sZAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FqCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWo1MTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hajgzMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FqODMyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWx0MgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FsdDMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbHQ0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWx0NQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FsdDcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbHQ3cGMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbHRvLWgxOQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FsdG8taGVhdGgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbHRvaDE5CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWx0b2hlYXRoCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWx0b3MtMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FsdG9zLTMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbHRvcy00CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWx0b3MtNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FsdG9zMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FsdG9zMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FsdG9zNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FsdG9zNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FsdG9zNworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FsdG9zN3BjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW1iYXMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbWJhc3NhZG9yCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW1pZ2EKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbWlnYS1oCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW1wMjE5CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW1wMjE5dworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FtcGV4LTIxOQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FtcGV4LTIxOXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbXBleC0yMzIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbXBleDE3NQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FtcGV4MTc1LWIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbXBleDIxMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FtcGV4MjE5CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW1wZXgyMTl3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW1wZXgyMzIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbXBleDIzMncKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbXBleDgwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW5uYXJib3I0MDgwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW5zaQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2Fuc2ktY29sb3ItMi1lbXgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbnNpLWNvbG9yLTMtZW14CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW5zaS1lbXgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbnNpLW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbnNpLW1pbmkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbnNpLW1vbm8KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbnNpLW50CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW5zaS5zeXMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbnNpLnN5cy1vbGQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbnNpLnN5c2sKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbnNpNDNtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW5zaTc3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW5zaTgweDI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW5zaTgweDI1LW1vbm8KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbnNpODB4MjUtcmF3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW5zaTgweDMwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW5zaTgweDMwLW1vbm8KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbnNpODB4NDMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbnNpODB4NDMtbW9ubworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2Fuc2k4MHg1MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2Fuc2k4MHg1MC1tb25vCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW5zaTgweDYwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW5zaTgweDYwLW1vbm8KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbnNpbAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2Fuc2lsLW1vbm8KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbnNpcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2Fuc2lzLW1vbm8KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbnNpc3lzaworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2Fuc2l3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXAtdm04MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FwbAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2Fwb2xsbworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2Fwb2xsb18xNVAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hcG9sbG9fMTlMCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXBvbGxvX2NvbG9yCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXBwbGUtODAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hcHBsZS1hZQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FwcGxlLXNvcm9jCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXBwbGUtdXRlcm0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hcHBsZS11dGVybS12YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FwcGxlLXZpZGV4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXBwbGUtdmlkZXgyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXBwbGUtdmlkZXgzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXBwbGUtdm04MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FwcGxlMmUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hcHBsZTJlLXAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hcHBsZTgwcAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FwcGxlSUkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hcHBsZUlJYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FwcGxlSUllCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXBwbGVJSWdzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXQzODYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdGFyaQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDIzMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQyMzUwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NDQxMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDQ0MTAtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDQ0MTB2MQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDQ0MTB2MS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NDQxNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDQ0MTUrbmwKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ0NDE1LW5sCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NDQxNS1ydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDQ0MTUtcnYtbmwKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ0NDE1LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ0NDE1LXctbmwKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ0NDE1LXctcnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ0NDE1LXctcnYtbgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDQ0MTgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ0NDE4LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ0NDIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NDQyNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDQ0MjQtMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDQ0MjRtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NDQyNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDQ0MjUtbmwKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ0NDI1LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ0NDI2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NTAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NTA1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NTA1LTI0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NTEwYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDUxMGQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ1MTMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ1MzEwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NTMyMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDU0MTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ1NDEwLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ1NDEwdjEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ1NDEwdjEtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDU0MTgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ1NDE4LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ1NDIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NTQyMCtubAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDU0MjAtbmwKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ1NDIwLXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NTQyMC1ydi1ubAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDU0MjAtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDU0MjAtdy1ubAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDU0MjAtdy1ydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDU0MjAtdy1ydi1uCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NTQyMF8yCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NTQyMF8yLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ1NDI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NTQyNS1ubAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDU0MjUtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDU0MzAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ1NjIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NTYyMC0xCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NTYyMC0yNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDU2MjAtMzQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ1NjIwLXMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ2MDUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ2MDUtcGMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ2MDUtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDYxMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDYxMC0xMDNrCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NjEwLTEwM2stdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDYxMC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NjE1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NjE1LTEwM2sKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ2MTUtMTAzay13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NjE1LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ2MjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ2MjAtMTAzaworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDYyMC0xMDNrLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ2MjAtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDYzMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDYzMC0yNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDYzODYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ3MzAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ3MzAtMjQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ3MzAtNDEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ3MzAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NzMwcgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDczMHItMjQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ3MzByLTQxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXZhdGFyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXZhdGFyMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F2YXRhcjArCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXZhdGFyMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F2dAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F2dCtzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXZ0LW5zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXZ0LXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXZ0LXJ2LW5zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXZ0LXJ2LXMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdnQtcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F2dC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXZ0LXctbnMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdnQtdy1ydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F2dC13LXJ2LW5zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXZ0LXctcnYtcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F2dC13LXMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hd3MKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hd3NjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2IKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYi9iLTEyOAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9iL2JhbnRhbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9iL2Jhc2ljNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9iL2Jhc2lzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2IvYmN0NTEwYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9iL2JjdDUxMGQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYi9iZWFjb24KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYi9iZWUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYi9iZWVoaXZlCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2IvYmVlaGl2ZTMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYi9iZWVoaXZlNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9iL2JlZWhpdmVJSUltCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2IvYmV0ZXJtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2IvYmcxLjI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2IvYmcxLjI1bnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYi9iZzEuMjVydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9iL2JnMi4wCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2IvYmcyLjBudgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9iL2JnMi4wcnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYi9iZzMuMTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYi9iZzMuMTBudgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9iL2JnMy4xMHJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2IvYmgzbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9iL2JoNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9iL2JpdGdyYXBoCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2IvYmxpdAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9iL2JvYmNhdAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9iL2JzZG9zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2IvYnNkb3MtYm9sZAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvYzEwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2MxMDAtMXAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jMTAwLTRwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvYzEwMC1ydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2MxMDAtcnYtNHAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jMTA0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvYzEwOAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2MxMDgtNHAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jMTA4LThwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvYzEwOC1ydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2MxMDgtcnYtNHAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jMTA4LXJ2LThwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvYzEwOC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvYzEwOC13LThwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvYzMwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2MzMDEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jMzIxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY2EyMjg1MQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NhZDY4LTIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jYWQ2OC0zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY2JibGl0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY2J1bml4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY2NpCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY2NpMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NkYzQ1NgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NkYzcyMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NkYzcyMS1lc2MKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jZGM3MjFsbAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NkYzc1MgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NkYzc1NgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NnNzkwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NnYzIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jZ2MzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY2hyb21hdGljcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NpODUxMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NpdC04MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NpdDEwMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NpdDEwMWUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jaXQxMDFlLTEzMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NpdDEwMWUtbgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NpdDEwMWUtbjEzMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NpdDEwMWUtcnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jaXQ1MDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jaXQ4MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NpdGMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jaXRvaAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NpdG9oLTZscGkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jaXRvaC04bHBpCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY2l0b2gtY29tcAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NpdG9oLWVsaXRlCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY2l0b2gtcGljYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NpdG9oLXByb3AKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jaXRvaC1wcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvY28zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29oZXJlbnQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb2xvcl94dGVybQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbG9yc2NhbgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbW1vZG9yZQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbmNlcHQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25jZXB0LWF2dAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbmNlcHQxMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25jZXB0MTAwLXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uY2VwdDEwOAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbmNlcHQxMDgtNHAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25jZXB0MTA4LThwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uY2VwdDEwOC13LTgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25jZXB0MTA4LXc4cAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbmNlcHQxMDhydjRwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uczI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uczI1LWlzby1tCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uczI1LWlzbzg4NTkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25zMjUta29pOC1yCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uczI1LWtvaThyLW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25zMjUtbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbnMyNWwxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uczI1bDEtbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbnMyNXIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25zMjVyLW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25zMjV3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uczMwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uczMwLW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25zNDMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25zNDMtbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbnM1MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbnM1MC1pc28tbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbnM1MC1pc284ODU5CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uczUwLWtvaThyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uczUwLWtvaThyLW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25zNTAtbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbnM1MGwxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uczUwbDEtbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbnM1MHIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25zNTByLW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25zNjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25zNjAtaXNvCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uczYwLWlzby1tCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uczYwLWtvaThyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uczYwLWtvaThyLW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25zNjAtbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbnM2MGwxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uczYwbDEtbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbnM2MHIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25zNjByLW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb250ZWwzMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb250ZWwzMDEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb250ZWwzMjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb250ZWwzMjEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb3BzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29wcy0xMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvcHMxMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NzMTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jczEwLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jdDgyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY3Q4NTAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY3RybQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2N4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY3gxMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jeWIxMTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jeWI4MworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZDEzMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2Q4MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2Q4MDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kYXRhZ3JhcGhpeAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RhdGFtZWRpYTI1MDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kYXRhcG9pbnQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kYXRhc3BlZWQ0MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RkNTAwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RkcgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RkcjMxODAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kZWMtdnQxMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kZWMtdnQyMjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kZWMtdnQzMzAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kZWMtdnQzNDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kZWMtdnQ0MDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kZWNwcm8KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kZWN3cml0ZXIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kZWx0YQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RnLWFuc2kKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kZzEwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RnMjAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZGcyMTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kZzIxMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RnNDUwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZGc0NjAtYW5zaQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RnNjA1MworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RnNjEzNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RpYWJsbworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RpYWJsby1sbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RpYWJsbzE2MjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kaWFibG8xNjIwLW04CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZGlhYmxvMTY0MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RpYWJsbzE2NDAtbG0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kaWFibG8xNjQwLW04CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZGlhYmxvMTcyMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RpYWJsbzE3MzAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kaWFibG8xNzQwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZGlhYmxvMTc0MC1sbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RpYWJsbzQ1MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RpYWJsbzYzMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RpYWxvZ3VlCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZGlhbG9ndWU4MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RpZ2lsb2cKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9ka3U3MDAzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZGt1NzAwMy1kdW1iCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZG0xNTIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZG0xNTIxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZG0yNTAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZG0zMDI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZG0zMDQ1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZG04MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RtODB3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZG1jaGF0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZG1kCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZG1kLTI0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZG1kLTM0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZG1kMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RtZHQ4MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RtZHQ4MHcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kbXRlcm0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kcDMzNjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kcDgyNDIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kczQwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZHM0MC0yCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZHQtMTAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZHQtMTAwdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2R0MTAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZHQxMDB3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZHQxMTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kdDgwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZHQ4MC1zYXMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kdDgwdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2R0YzMwMHMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kdGMzODIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kdHRlcm0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kdW1iCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZHcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kdzEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kdzIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kdzMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kdzQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kd2sKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kd2stdnQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9lL2VjbWErY29sb3IKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZS9lY21hK3NncgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9lL2Vtb3RzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2UvZW11CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2UvZW52MjMwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2UvZW52aXNpb24yMzAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZS9lcDQwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2UvZXA0MDAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2UvZXA0MDgwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2UvZXA0OAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9lL2VyZ280MDAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2UvZXNwcml0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2UvZXNwcml0LWFtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2UvZXRlcm0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZS9leDE1NQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9lL2V4Y2VsNjIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZS9leGNlbDYyLXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2UvZXhjZWw2Mi13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2UvZXhjZWw2NAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9lL2V4Y2VsNjQtcnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZS9leGNlbDY0LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZS9leGVjODAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9mL2YxMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZi9mMTAwLXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2YvZjExMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9mL2YxMTAtMTQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZi9mMTEwLTE0dworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9mL2YxMTAtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9mL2YxNzIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2YvZjE3MjBhCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2YvZjIwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9mL2YyMDAtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9mL2YyMDB2aQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9mL2YyMDB2aS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2YvZmFsY28KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZi9mYWxjby1wCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2YvZmVuaXgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZi9mZW5peHcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZi9maXh0ZXJtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2YvZm9ydHVuZQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9mL2ZvcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9mL2ZveAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9mL2ZyZWVkb20KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZi9mcmVlZG9tLXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2YvZnJlZWRvbTEwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9mL2ZyZWVkb20xMTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZi9mcmVlZG9tMjAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZy9nYXRvcgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2dhdG9yLTUyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cvZ2F0b3ItNTJ0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cvZ2F0b3ItdAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2dpZ2kKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZy9nbGFzc3R0eQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2dvLTIyNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2dvMTQwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cvZ28xNDB3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cvZ28yMjUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZy9ncmFwaG9zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cvZ3JhcGhvcy0zMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2dzNTQzMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2dzNTQzMC0yMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2dzNTQzMC0yNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2dzNjMwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2dzaQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2d0MTAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cvZ3QxMDBhCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cvZ3Q0MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2d0NDIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZy9ndXJ1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cvZ3VydStydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2d1cnUrcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2d1cnUrdW5rCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cvZ3VydS0yNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2d1cnUtMzMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZy9ndXJ1LTMzLXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cvZ3VydS0zMy1zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cvZ3VydS00NAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2d1cnUtNDQtcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2d1cnUtNzYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZy9ndXJ1LTc2LWxwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cvZ3VydS03Ni1zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cvZ3VydS03Ni13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cvZ3VydS03Ni13LXMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZy9ndXJ1LTc2LXdtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cvZ3VydS1scAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2d1cnUtbmN0eHQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZy9ndXJ1LXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cvZ3VydS1zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oLTEwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2gtMTAwYncKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oMTAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaDEwMGJ3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaDE5CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaDE5LWEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oMTktYgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2gxOS1icworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2gxOS1nCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaDE5LXNtdWwKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oMTktdQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2gxOS11cworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2gxOWEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oMTlnCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaDE5aworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2gxOWtlcm1pdAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2gxOXVzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaDI5YS1rYy1iYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2gyOWEta2MtdWMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oMjlhLW5rYy1iYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2gyOWEtbmtjLXVjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaDgwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaGE4Njc1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaGE4Njg2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaGF6ZWwKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oZHMyMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oZTgwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaGVhdGgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oZWF0aC0xOQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hlYXRoLWFuc2kKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oZWF0aGtpdAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hlYXRoa2l0LWEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oZnQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oZnQtYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hpcmV6MTAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaGlyZXoxMDAtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2htb2QxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocCthcnJvd3MKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocCtjb2xvcgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwK2xhYmVscworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwK3BmaythcnJvd3MKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocCtwZmsrY3IKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocCtwZmstY3IKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocCtwcmludGVyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAxMTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDE1MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjM2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyMzgyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyMzgyYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjM5MgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjM5NworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjM5N2EKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjEtNDgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjEtYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyMS1iYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyMS1mbAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyMS1rNDUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjEtbmwKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjEtbnQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjEtd2wKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjFBCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjIxYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyMWEtYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyMWIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjFiLWt4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjIxYi1reC1wCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjIxYi1wCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjIxazQ1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjIxcAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyMXAtYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyMmEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjNhCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjI0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjI0LTEwcAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyNGEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjRhLTEwcAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyNGIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjRiLTEwcAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyNGItMTBwLXAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjRiLTRwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjI0Yi00cC1wCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjI0Yi1wCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjI2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjI2LTEyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjI2LTEyLXMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjYtMTJ4NDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjYtbnMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjYtcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyNi14NDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjZhCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjI2cAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyN2EKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjdhLXJldgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyN2MKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MngKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2NDBhCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjQwYgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjY0MWEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2NDRhCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjQ1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjQ1YQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjY0N2EKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2NDgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2NDhhCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAzMDBoCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHA0NQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwNzAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHA3MDAtd3kKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDcwMDkyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHA3MDA5MkEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDcwMDkyYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwOTgzNworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwOTg0NQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwOTg1NTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDk4NTUwYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwOTg3MjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDk4NzIxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHBhbnNpCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHBleAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwZXgyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHBnZW5lcmljCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHBzdWIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocHRlcm0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9odHgxMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2h6MTAwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2h6MTQyMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2h6MTUwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2h6MTUxMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2h6MTUyMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2h6MTUyMC1ub2VzYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2h6MTU1MgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2h6MTU1Mi1ydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2h6MjAwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaTEwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2kzMTAxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaTMxNTEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pMzE2NAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2k0MDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYmNzMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2libS1hcGwKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm0tcGMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm0tc3lzdGVtMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2libTMxMDEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm0zMTUxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtMzE2MQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2libTMxNjMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm0zMTY0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtMzI3eAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2libTUwNTEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm01MDgxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtNTA4MS1jCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtNTE1MQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2libTUxNTQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm01MTU0LWMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm02MTUzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtNjE1NAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2libTYxNTQtYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2libTYxNTUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm04NTEyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtODUxMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2libTg1MTQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm04NTE0LWMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm1hZWQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm1hcGExNgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2libWFwYTgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm1hcGE4YworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2libWFwYThjLWMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm1lZ2EKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm1lZ2EtYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2libW1vbm8KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm1tcGVsCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtbXBlbC1jCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtcGMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm1wYzMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm1wYzNyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtcGMzci1tb25vCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtcGN4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtdmdhCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtdmdhLWMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm14CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWZtcgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2ltcy1hbnNpCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaW1zOTUwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaW1zOTUwLWIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pbXM5NTAtcnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pbmZvdG9uCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaW50ZXJ0ZWMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pbnRlcnR1YmUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pbnRlcnR1YmUyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaW50ZXh0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaW50ZXh0MgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2ludGV4dGlpCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaXBzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaXBzaQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2lxMTIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaXExNDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pcmlzLWFuc2kKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pcmlzLWFuc2ktYXAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pcmlzLWNvbG9yCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaXJpczQwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2oKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vai9qYWl4dGVybS1tCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2ovamVycQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9rCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2svazQ1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2sva2F5cHJvCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2sva2F5cHJvMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9rL2tlcm1pdAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9rL2tlcm1pdC1hbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9rL2tsb25lK2FjcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9rL2tsb25lK2NvbG9yCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2sva2xvbmUra29pOGFjcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9rL2tsb25lK3NncgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9rL2tsb25lK3Nnci1kdW1iCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2sva3Q3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2sva3Q3aXgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vay9rdGVybQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9rL2t0bQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9sCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2wvbGExMjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbC9sYXllcgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9sL2xpbnV4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2wvbGludXgtYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9sL2xpbnV4LWMtbmMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbC9saW51eC1rb2k4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2wvbGludXgta29pOHIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbC9saW51eC1tCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2wvbGludXgtbmljCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2wvbGlzYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9sL2xpc2F0ZXJtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2wvbGlzYXRlcm0tdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9sL2xpc3diCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2wvbG4wMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9sL2xuMDMtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9sL2xwcgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9sL2x1bmEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbC9sdW5hNjhrCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9tMi1uYW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9tYWMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9tYWMtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21hY2ludG9zaAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21hY3Rlcm1pbmFsLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9tYWkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9tYXNzY29tcAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21hc3Njb21wMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21hc3Njb21wMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21kbDExMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21lZ2F0ZWsKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9tZW1ocAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21ncgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21nci1saW51eAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21nci1zdW4KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9taWNyb2IKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9taWNyb2JlZQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21pY3JvdGVybQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21pY3JvdGVybTUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9taW1lCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbWltZS0zYXgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9taW1lLWZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbWltZS1oYgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21pbWUxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbWltZTIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9taW1lMmEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9taW1lMmEtcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21pbWUyYS12CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbWltZTMxNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21pbWUzNDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9taW1lM2EKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9taW1lM2F4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbWltZWkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9taW1laWkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9taW5pdGVsCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbWluaXRlbC0yCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbWluaXRlbC0yLW5hbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21pbml4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbWluaXgtb2xkCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbWluaXgtb2xkLWFtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbW0zMTQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9tbTM0MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21vZAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21vZDI0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbW9kZ3JhcGgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9tb2RncmFwaDIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9tb2RncmFwaDQ4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbW9uby1lbXgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9tc2syMjcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9tc2syMjcxNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21zazIyN2FtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbXNrZXJtaXQyMjcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9tc2tlcm1pdDIyNzE0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbXNrZXJtaXQyMjdhbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL210LTcwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbXQ0NTIwLXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbXQ3MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmFuc2kuc3lzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmFuc2kuc3lzaworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25hbnNpc3lzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmFuc2lzeXNrCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmNyNzkwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25jcjc5MDBpCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmNyNzkwMGl2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmNyNzkwMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25lYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25lYzU1MjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9uZXdocAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25ld2hwa2V5Ym9hcmQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9uZXdzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmV3cy0yOQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25ld3MtMjktZXVjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmV3cy0yOS1zamlzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmV3cy0zMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25ld3MtMzMtZXVjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmV3cy0zMy1zamlzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmV3cy00MgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25ld3MtNDItZXVjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmV3cy00Mi1zamlzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmV3cy1hCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmV3cy1vCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmV3cy1vbGQtdW5rCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmV3cy11bmsKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9uZXdzMjgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9uZXdzMjgtYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25ld3MyOQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25ld3MzMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25ld3MzMS1hCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmV3czMxLW8KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9uZXdzMzMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9uZXdzNDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9uZXdzNDAtYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25ld3M0MC1vCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmV3czQyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmV3c2NibQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25ld3NjYm0tYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25ld3NjYm0tbworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25ld3NjYm0zMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25leHQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9uZXh0c2hlbGwKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9ub3J0aHN0YXIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9ud2U1MDEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9ud2U1MDEtYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL253ZTUwMS1vCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbndwLTUxMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL253cC01MTcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9ud3AtNTE3LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9ud3AyNTEtYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL253cDI1MS1vCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbndwNTExCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbndwNTEyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbndwNTEyLWEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9ud3A1MTItbworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL253cDUxMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL253cDUxMy1hCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbndwNTEzLW8KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9ud3A1MTQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9ud3A1MTQtYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL253cDUxNC1vCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbndwNTE3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbndwNTE3LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9ud3A1MTgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9ud3A1MTgtYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL253cDUxOC1vCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL28KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vby9vMzEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vby9vNDExMi1uZAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9vL284NWgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vby9vYWJtODVoCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL28vb2JsaXQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vby9vYzEwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9vL29jb25jZXB0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL28vb2plcnEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vby9vbGRpYm1wYzMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vby9vbGRwYzMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vby9vbGRzdW4KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vby9vbXJvbgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9vL29wdXMzbjErCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL28vb3JpZ2libXBjMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9vL29yaWdwYzMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vby9vczlMSUkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vby9vc2Jvcm5lCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL28vb3Nib3JuZS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL28vb3Nib3JuZTEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vby9vc2Jvcm5lMS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL28vb3NleGVjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL28vb3RlazQxMTIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vby9vdGVrNDExMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9vL290ZWs0MTE0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL28vb3RlazQxMTUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vby9vd2wKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3AxMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3AxMi1tCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcDEyLW0tdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3AxMi13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcDE0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcDE0LW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wMTQtbS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcDE0LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wMTkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3A1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcDcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wOAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3A4LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wOGdsCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcDkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wOS04CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcDktOC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcDktdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjLWNvaGVyZW50CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGMtbWluaXgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wYy12ZW5peAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjMy1ib2xkCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGMzcgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjM3ItbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjNjMwMHBsdXMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wYzczMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wY2Fuc2kKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wY2Fuc2ktMjUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wY2Fuc2ktMjUtbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjYW5zaS0zMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjYW5zaS0zMy1tCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGNhbnNpLTQzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGNhbnNpLTQzLW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wY2Fuc2ktbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjYW5zaS1tb25vCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGNhbnNpMjUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wY2Fuc2kyNW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wY2Fuc2kzMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjYW5zaTMzbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjYW5zaTQzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGNjb25zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGNjb25zb2xlCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGNpeAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3Bja2VybWl0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGNrZXJtaXQxMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3Bja2VybWl0MTIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGNwbG90CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGN2dDI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGN2dDI1dworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjdnQyOAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjdnQyOHcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wY3Z0MzUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wY3Z0MzV3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGN2dDQwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGN2dDQwdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjdnQ0MworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjdnQ0M3cKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wY3Z0NTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wY3Z0NTB3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGN2dFhYCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGN6MTkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wZTExMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wZTEyMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wZTEyNTEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wZTU1MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BlNjEwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BlNjMwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BlNjMxMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BlNzAwMGMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wZTcwMDBtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGlsb3QKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wcmludGVyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHJpc20xMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3ByaXNtMTItbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3ByaXNtMTItbS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHJpc20xMi13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHJpc20xNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3ByaXNtMTQtbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3ByaXNtMTQtbS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHJpc20xNC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHJpc20yCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHJpc200CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHJpc201CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHJpc203CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHJpc204CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHJpc204LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wcmlzbThnbAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3ByaXNtOQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3ByaXNtOS04CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHJpc205LTgtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3ByaXNtOS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHJvMzUwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHMzMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wc3Rlcm0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wc3Rlcm0tODB4MjQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wc3Rlcm0tOTB4MjgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wc3Rlcm0tOTZ4NDgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wc3Rlcm0tYmFzaWMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wc3Rlcm0tZmFzdAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BzeF9hbnNpCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHQxMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wdDEwMHcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wdDIwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3B0MjAwdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3B0MjEwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHQyNTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wdDI1MHcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wdDUwNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3B0NTA1LTIyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHQ1MDUtMjQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wdHkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9xL3FkY29ucworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9xL3Fkc3MKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcS9xbngKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcS9xbng0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3EvcXVtZQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9xL3F1bWU1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3EvcXZ0MTAxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3EvcXZ0MTAxKworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9xL3F2dDEwMXAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcS9xdnQxMDIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcS9xdnQxMDMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcS9xdnQxMDMtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9xL3F2dDEwOAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9xL3F2dDExOQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9xL3F2dDExOSsKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcS9xdnQxMTkrLTI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3EvcXZ0MTE5Ky0yNS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3EvcXZ0MTE5Ky13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3EvcXZ0MTE5LTI1LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcS9xdnQxMTktdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9xL3F2dDExOXAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcS9xdnQxMTlwLTI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3EvcXZ0MTE5cC0yNS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3EvcXZ0MTE5cC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3EvcXZ0MjAzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3EvcXZ0MjAzKworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9xL3F2dDIwMy0yNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9xL3F2dDIwMy0yNS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3EvcXZ0MjAzLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcS9xdnQyMDMtdy1hbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9yCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3IvcmJjb21tCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3IvcmJjb21tLW5hbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9yL3JiY29tbS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3IvcmNhCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3IvcmVidXMzMTgwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3IvcmVnZW50CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3IvcmVnZW50MTAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3IvcmVnZW50MjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vci9yZWdlbnQyMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vci9yZWdlbnQyNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9yL3JlZ2VudDQwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3IvcmVnZW50NDArCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3IvcmVnZW50NjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vci9ydDYyMjEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vci9ydDYyMjEtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9yL3J0cGMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vci9yeHZ0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Ivcnh2dC1iYXNpYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3MvcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3M0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc2IxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc2IyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc2IzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc2JpCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc2JvYmNhdAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3NjNDEwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc2M0MTUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zY2Fuc2V0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc2NvYW5zaQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3NjcmVlbgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3NjcmVlbi13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc2NyZWVuMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3NjcmVlbjMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zY3Jld3BvaW50CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc2NyaHAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zaW10ZXJtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc29yb2MKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zb3JvYzEyMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3Nvcm9jMTQwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc3BpbndyaXRlcgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3N0NTIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zdW4KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zdW4tMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3N1bi0xMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3N1bi0xNworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3N1bi0yNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3N1bi0zNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3N1bi00OAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3N1bi1jCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc3VuLWNtZAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3N1bi1lCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc3VuLWUtcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3N1bi1pbAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3N1bi1uaWMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zdW4tcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3N1bi1zLWUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zdW4tc3M1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc3VuMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3N1bjIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zdW5lCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc3VwZXJiZWUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zdXBlcmJlZS14c2IKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zdXBlcmJlZWljCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc3VwZXJicmFpbgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3N2ODAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zd3RwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc3luZXJ0ZWsKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zeW5lcnRlazM4MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3N5c3RlbTEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3QxMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3QxMDYxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdDEwNjFmCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdDE2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdDM3MDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90MzgwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3Q2NTN4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGFiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGFiMTMyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGFiMTMyLTE1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGFiMTMyLXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGFiMTMyLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90YWIxMzItdy1ydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RhbmRlbTY1MTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90YW5kZW02NTMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWsKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0MDEyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDAxMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RlazQwMTQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0MDE0LXNtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDAxNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RlazQwMTUtc20KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0MDIzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDAyNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RlazQwMjUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0MDI1LTE3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDAyNS0xNy13cworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RlazQwMjUtY3IKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0MDI1LWV4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDAyNWEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0MDI1ZXgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0MDI3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDAyNy1leAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RlazQxMDUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0MTA1LTMwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDEwNWEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0MTA2YnJsCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDEwNworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RlazQxMDdicmwKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0MTA5CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDEwOWJybAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RlazQxMTIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0MTEyLTUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0MTEyLW5kCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDExMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RlazQxMTMtMzQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0MTEzLW5kCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDExNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RlazQxMTUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0MTI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDIwNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RlazQyMDcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0MjA3LXMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0NDA0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVsZXJheQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RlbGV0ZWMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZXJtaW5ldAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3Rlcm1pbmV0MTIwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3Rlcm1pbmV0MzAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGd0ZWxuZXQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90aTcwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RpNzMzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGk3MzUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90aTc0NQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RpODAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGk5MTYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90aTkxNi0xMzIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90aTkxNi0yMjAtNworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RpOTE2LTIyMC04CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGk5MTYtOAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RpOTE2LTgtMTMyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGk5MjQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90aTkyNC04CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGk5MjQtOHcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90aTkyNHcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90aTkyNgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RpOTI2LTgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90aTkyOAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RpOTI4LTgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90aTkzMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RpX2Fuc2kKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90bjEyMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90bjMwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RyczE2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHJzMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RyczgwSUkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90cnNJSQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RzLTEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90cy0xcAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RzMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RzMTAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHMxMDAtY3R4dAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RzMTAwLXNwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHMxcAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R0NTA1LTIyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHR5MzMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dHkzNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R0eTM3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHR5NDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dHk0MworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R0eTQ0MjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dHk0NDI0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHR5NDQyNC0xCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHR5NDQyNG0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dHk0NDI2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHR5NTQxMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R0eTU0MTAtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R0eTU0MTB2MQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R0eTU0MTB2MS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHR5NTQyMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R0eTU0MjArbmwKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dHk1NDIwLW5sCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHR5NTQyMC1ydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R0eTU0MjAtcnYtbmwKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dHk1NDIwLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dHk1NDIwLXctbmwKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dHk1NDIwLXctcnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dHk1NDIwLXctcnYtbgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R0eTU0MjUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dHk1NDI1LW5sCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHR5NTQyNS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHR5NTYyMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R0eTU2MjAtMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R0eTU2MjAtMjQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dHk1NjIwLTM0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHR5NTYyMC1zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHR5ZG1kCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHZpLTJwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHZpODAzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHZpOTA2NQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R2aTkxMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R2aTkxMCsKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5MTIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5MTItMnAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5MTJiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHZpOTEyYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R2aTkxMmNjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHZpOTE0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHZpOTIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHZpOTIwLTJwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHZpOTIwYgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R2aTkyMGMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5MjEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5MjQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5MjUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5MjUtaGkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5MkIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5MkQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5NTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5NTAtMnAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5NTAtNHAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5NTAtcnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5NTAtcnYtMnAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5NTAtcnYtNHAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5NTUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5NTUtaGIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5NTUtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R2aTk3MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R2aTk3MC0ycAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R2aTk3MC12YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R2aXB0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3UKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdS91bHRpbWEyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3UvdWx0aW1hSUkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdS91bml0ZXJtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3UvdW5pdGVybTQ5CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3UvdW5peHBjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3UvdW5rbm93bgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby91L3V0czMwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92MjAwLW5hbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3YzMjBuCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdjMyMjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92NTQxMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3ZhcHBsZQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3ZjMTAzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdmMyMDMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92YzMwMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3ZjMzAzYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3ZjNDAzYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3ZjNDA0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdmM0MDQtcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3ZjNDE0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdmM0MTRoCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdmM0MTUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92ZW5peAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3ZlcnNhdGVybQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3ZpMjAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdmkyMDAtZgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3ZpMjAwLXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdmkzMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92aTMwMC1vbGQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92aTUwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Yvdmk1MDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92aTUwYWRtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Yvdmk1NQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3ZpNTUwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Yvdmk2MDMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92aWV3cG9pbnQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92aWV3cG9pbnQzYSsKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92aWV3cG9pbnQ2MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3ZpZXdwb2ludDkwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdmlzYTUwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdmlzdWFsNjAzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Yvdml0dHkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92azEwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3ZwM2ErCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnA2MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3ZwOTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92cmVtb3RlCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnMxMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92czEwMC14MTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92c2MKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dC02MQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MTAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQxMDAtYW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDEwMC1ibQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MTAwLWJtLW8KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDEwMC1ib3QtcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MTAwLW5hbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MTAwLW5hbS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQxMDAtbmF2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQxMDAtbmF2LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDEwMC1zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQxMDAtcy1ib3QKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDEwMC1zLXRvcAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MTAwLXRvcC1zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQxMDAtdmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDEwMC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQxMDAtdy1hbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MTAwLXctbmFtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQxMDAtdy1uYXYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDEwMG5hbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MTAyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQxMDItbnNncgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MTAyLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDEyNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MTMxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQxMzIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDIwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MjAwLWpzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQyMDAtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MjIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQyMjAtOAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MjIwLWpzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQyMjAtbmFtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQyMjAtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MjIwZAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MzAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQzMDAtbmFtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQzMDAtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MzAwLXctbmFtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQzMjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDMyMC1rMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MzIwLWszMTEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDMyMC1uYW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDMyMC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQzMjAtdy1uYW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDMyMG5hbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MzMwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQzNDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDQwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0NDAwLTI0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQ0MjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDQyMGYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDQyMHBjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQ0MjBwY2RvcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0NTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDUwaAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0NTEwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQ1MTBwYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0NTEwcGNkb3MKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDUyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQ1MjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDUyNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0NjEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDYxLjUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3dyZW4KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93cmVudworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3dzaXJpcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5LTc1YXAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTEwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MTAwcQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MTIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kxMjAtMjUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTEyMC0yNS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kxMjAtdmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTEyMC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kxMjAtdy12YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MTIwLXd2YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MTUwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kxNTAtMjUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTE1MC0yNS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kxNTAtdmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTE1MC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kxNTAtdy12YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MTYwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kxNjAtMjUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTE2MC0yNS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kxNjAtNDIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTE2MC00Mi13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kxNjAtNDMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTE2MC00My13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kxNjAtdGVrCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kxNjAtdmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTE2MC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kxNjAtdy12YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MTYwLXd2YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MTg1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kxODUtMjQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTE4NS12YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MTg1LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTE4NS13dmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTMwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kzMC1tYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MzAtdmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTMyNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MzI1LTI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kzMjUtMjV3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kzMjUtNDIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTMyNS00MncKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTMyNS00MnctdmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTMyNS00Mnd2YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MzI1LTQzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kzMjUtNDN3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kzMjUtNDN3LXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kzMjUtNDN3dmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTMyNS04MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MzI1LXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kzMjUtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MzI1LXctdmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTMyNS13dmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTMyNXctMjQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTM1MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MzUwLXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kzNTAtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MzUwLXd2YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MzcwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kzNzAtMTAxaworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MzcwLTEwNWsKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTM3MC1FUEMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTM3MC1uaworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MzcwLXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kzNzAtdGVrCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kzNzAtdmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTM3MC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kzNzAtd3ZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k1MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NTAtbWMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTUwLXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k1MC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k1MC13dmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTUyMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NTIwLTI0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k1MjAtMzYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTUyMC0zNnBjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k1MjAtMzZ3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k1MjAtMzZ3cGMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTUyMC00OAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NTIwLTQ4cGMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTUyMC00OHcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTUyMC00OHdwYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NTIwLWVwYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NTIwLWVwYy0yNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NTIwLWVwYy12YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NTIwLWVwYy13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k1MjAtZXBjLXd2YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NTIwLXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k1MjAtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NTIwLXd2YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTYwLTI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k2MC0yNS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k2MC0zMTZYCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k2MC00MgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NjAtNDItdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NjAtNDMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTYwLTQzLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTYwLXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k2MC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k2MC13LXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k2MC13dmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTc1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k3NS1tYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NzUtdmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTc1LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTc1LXd2YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NzVhcAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5ODUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTg1LXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k4NS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k4NS13dmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTk5Z3QKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTk5Z3QtMjUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTk5Z3QtMjUtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5OTlndC10ZWsKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTk5Z3QtdmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTk5Z3QtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5OTlndC13LXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k5OWd0LXd2YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UtMzI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZS03NWFwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZS12cAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UxMjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMTIwLTI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTEyMC0yNS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTEyMC12YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UxMjAtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UxMjAtd3ZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTE1MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UxNTAtMjUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMTUwLTI1LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMTUwLXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTE1MC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTE1MC13LXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTE2MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UxNjAtMjUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMTYwLTI1LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMTYwLTQyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTE2MC00Mi13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTE2MC00MworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UxNjAtNDMtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UxNjAtdmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMTYwLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMTYwLXd2YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UxODUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMTg1LTI0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTE4NS12YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UxODUtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UxODUtd3ZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTMwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTMwLW1jCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTMwLXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTMyNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UzMjUtMjUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMzI1LTI1dworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UzMjUtNDIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMzI1LTQydworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UzMjUtNDMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMzI1LTQzdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UzMjUtdmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMzI1LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMzI1LXd2YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UzNTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMzUwLXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTM1MC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTM1MC13dmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMzcwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTUwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTUwLW1jCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTUwLXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTUwLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlNTAtd3ZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTUyMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U1MjAtMjQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlNTIwLTM2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTUyMC0zNnBjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTUyMC0zNncKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlNTIwLTM2d3BjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTUyMC00OAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U1MjAtNDhwYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U1MjAtNDh3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTUyMC00OHdwYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U1MjAtZXBjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTUyMC1lcGMtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U1MjAtcC13dmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlNTIwLXBjLTI0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTUyMC1wYy12YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U1MjAtdmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlNTIwLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlNTIwLXd2YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U2MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U2MC0yNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U2MC0yNS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTYwLTMxNlgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlNjAtNDIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlNjAtNDItdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U2MC00MworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U2MC00My13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTYwLXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTYwLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlNjAtd3ZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTc1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTc1LW1jCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTc1LXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTc1LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlNzUtd3ZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTc1YXAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlODUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlODUtdmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlODUtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U4NS13dmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlOTlndAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U5OWd0LTI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTk5Z3QtMjUtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U5OWd0LXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTk5Z3QtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U5OWd0LXd2YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3gveDEwdGVybQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3gxNzAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3gveDE3MDAtbG0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8veC94MTcyMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3gxNzUwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3gveDY4aworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3g2OGstaXRlCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3gveDgyMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3hlbml4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3gveGVyb3gKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8veC94ZXJveC1sbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3hlcm94MTcyMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3hlcm94ODIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3gveGw4MworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3h0YWxrCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3gveHRlcm0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8veC94dGVybStzbAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3h0ZXJtK3NsLXR3bQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3h0ZXJtLTE2Y29sb3IKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8veC94dGVybS04Yml0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3gveHRlcm0tYm9sZAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3h0ZXJtLW5pYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3h0ZXJtLW9sZAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3h0ZXJtLXBjb2xvcgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3h0ZXJtLXI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3gveHRlcm0tcjYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8veC94dGVybS1zdW4KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8veC94dGVybS14Zjg2LXYzMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3h0ZXJtLXhmODYtdjMzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3gveHRlcm0teGY4Ni12NDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8veC94dGVybS14aQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3h0ZXJtMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3h0ZXJtcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3h0ZXJtcy1zdW4KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8veC94d3NoCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3oKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vei96LTEwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby96L3otMTAwYncKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vei96MTAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3ovejEwMGJ3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3ovejExMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby96L3oxMTBidworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby96L3oxOQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby96L3oyOQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby96L3oyOWEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vei96MjlhLWtjLWJjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3ovejI5YS1rYy11YworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby96L3oyOWEtbmtjLWJjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3ovejI5YS1ua2MtdWMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vei96MjliCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3ovejMwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3ovejM0MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby96L3ozNDAtbmFtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3ovejM5LWEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vei96MzlhCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3ovejUwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3ovejgwMDEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vei96ZW4zMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby96L3plbjUwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3ovemVuODAwMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby96L3plbml0aAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby96L3plbml0aDI5CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3ovemVuaXRoMzktYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby96L3plbml0aDM5LWFuc2kKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vei96dC0xCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3ovenR4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3ovenR4LTEtYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby96L3p0eDExCisKKzIgMTUgUlBNOkZpbGVzIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMSAxNSBSREY6RGVzY3JpcHRpb24gMCAwCisxIDE0ICN0ZXh0IDAgMSAKKworMCAxNSBSREY6UkRGIDAgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmRmMi5yZHIgYi9saWJ4bWwyL3Jlc3VsdC9yZGYyLnJkcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNWU1ZTk3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmRmMi5yZHIKQEAgLTAsMCArMSwyMDA4IEBACiswIDEgUkRGOlJERiAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKzEgMSBSREY6RGVzY3JpcHRpb24gMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBSUE06TmFtZSAwIDAKKzMgMyAjdGV4dCAwIDEgbmN1cnNlczQKKzIgMTUgUlBNOk5hbWUgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBSUE06VmVyc2lvbiAwIDAKKzMgMyAjdGV4dCAwIDEgNC4yCisyIDE1IFJQTTpWZXJzaW9uIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgUlBNOlJlbGVhc2UgMCAwCiszIDMgI3RleHQgMCAxIDMKKzIgMTUgUlBNOlJlbGVhc2UgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBSUE06QXJjaCAwIDAKKzMgMyAjdGV4dCAwIDEgaTM4NgorMiAxNSBSUE06QXJjaCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIFJQTTpPcyAwIDAKKzMgMyAjdGV4dCAwIDEgTGludXgKKzIgMTUgUlBNOk9zIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgUlBNOkRpc3RyaWJ1dGlvbiAwIDAKKzMgMyAjdGV4dCAwIDEgRExECisyIDE1IFJQTTpEaXN0cmlidXRpb24gMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBSUE06VmVuZG9yIDAgMAorMyAzICN0ZXh0IDAgMSBkZWxpeCBDb21wdXRlciBHbWJICisyIDE1IFJQTTpWZW5kb3IgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBSUE06UGFja2FnZXIgMCAwCiszIDMgI3RleHQgMCAxIFRpbGwgQnViZWNrIDxidWJlY2tAZGVsaXguZGU+LCBOZ28gVGhhbiA8dGhhbkBkZWxpeC5kZT4KKzIgMTUgUlBNOlBhY2thZ2VyIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgUlBNOkdyb3VwIDAgMAorMyAzICN0ZXh0IDAgMSBMaWJyYXJpZXMKKzIgMTUgUlBNOkdyb3VwIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgUlBNOlN1bW1hcnkgMCAwCiszIDMgI3RleHQgMCAxIEJpYmxpb3RoZWsgenVyIEFuc3RldWVydW5nIHZvbiBUZXJtaW5hbHMKKzIgMTUgUlBNOlN1bW1hcnkgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBSUE06RGVzY3JpcHRpb24gMCAwCiszIDMgI3RleHQgMCAxIERpZXNlIExpYnJhcnkgc3RlbGx0IGRlbSBQcm9ncmFtbWllcmVyIHZvbSBUZXJtaW5hbCB1bmFiaMOkbmdpZ2UKK1JvdXRpbmVuIHp1ciBBbnN0ZXVlcnVuZyBJaHJlcyBCaWxkc2NoaXJtcyB6dXIgVmVyZsO8Z3VuZywgZGllCitzcGV6aWVsbCBvcHRpbWllcnQgc2luZC4KK0RpZXNlIFZlcnNpb24gaXN0IGRpZSAnbmV3IGN1cnNlcycgKG5jdXJzZXMpIFZhcmlhbnRlIHVuZCBpc3QgZGVyCithbmVya2FubnRlIEVyc2F0eiBmw7xyIGRpZSBrbGFzc2lzY2hlIEN1cnNlcy1MaWJyYXJ5LCBkaWUgbmljaHQgbWVocgord2VpdGVyZW50d2lja2VsdCB3aXJkLgorMiAxNSBSUE06RGVzY3JpcHRpb24gMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBSUE06Q29weXJpZ2h0IDAgMAorMyAzICN0ZXh0IDAgMSBHUEwKKzIgMTUgUlBNOkNvcHlyaWdodCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIFJQTTpTb3VyY2VzIDAgMAorMyAzICN0ZXh0IDAgMSBuY3Vyc2VzNC00LjItMy5zcmMucnBtCisyIDE1IFJQTTpTb3VyY2VzIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgUlBNOkJ1aWxkRGF0ZSAwIDAKKzMgMyAjdGV4dCAwIDEgVHVlIE1heSAxMiAxOTozMDoyNiAxOTk4CisyIDE1IFJQTTpCdWlsZERhdGUgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBSUE06RGF0ZSAwIDAKKzMgMyAjdGV4dCAwIDEgODk1MDE1ODI2CisyIDE1IFJQTTpEYXRlIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgUlBNOlNpemUgMCAwCiszIDMgI3RleHQgMCAxIDEzNzM1MTMKKzIgMTUgUlBNOlNpemUgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBSUE06QnVpbGRIb3N0IDAgMAorMyAzICN0ZXh0IDAgMSBlcmRiZWVyZS5kZWxpeC5kZQorMiAxNSBSUE06QnVpbGRIb3N0IDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgUlBNOlByb3ZpZGVzIDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgICAKKzMgMSBSREY6QmFnIDAgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAgIAorNCAxIFJQTTpSZXNvdXJjZSAwIDAKKzUgMyAjdGV4dCAwIDEgbmN1cnNlczQKKzQgMTUgUlBNOlJlc291cmNlIDAgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAgIAorNCAxIFJQTTpSZXNvdXJjZSAwIDAKKzUgMyAjdGV4dCAwIDEgbGlicGFuZWwuc28uNAorNCAxNSBSUE06UmVzb3VyY2UgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgCis0IDEgUlBNOlJlc291cmNlIDAgMAorNSAzICN0ZXh0IDAgMSBsaWJuY3Vyc2VzLnNvLjQKKzQgMTUgUlBNOlJlc291cmNlIDAgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAgIAorNCAxIFJQTTpSZXNvdXJjZSAwIDAKKzUgMyAjdGV4dCAwIDEgbGlibWVudS5zby40Cis0IDE1IFJQTTpSZXNvdXJjZSAwIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgICAKKzQgMSBSUE06UmVzb3VyY2UgMCAwCis1IDMgI3RleHQgMCAxIGxpYmZvcm0uc28uNAorNCAxNSBSUE06UmVzb3VyY2UgMCAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgCis0IDEgUlBNOlJlc291cmNlIDAgMAorNSAzICN0ZXh0IDAgMSBuY3Vyc2VzCis0IDE1IFJQTTpSZXNvdXJjZSAwIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgCiszIDE1IFJERjpCYWcgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMTUgUlBNOlByb3ZpZGVzIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgUlBNOkZpbGVzIDAgMAorMyAzICN0ZXh0IDAgMSAvbGliL2xpYm5jdXJzZXMuc28uNAorL2xpYi9saWJuY3Vyc2VzLnNvLjQuMgorL3Vzci9kb2MvbmN1cnNlczQtNC4yLTMKKy91c3IvZG9jL25jdXJzZXM0LTQuMi0zL0FOTk9VTkNFLmd6CisvdXNyL2RvYy9uY3Vyc2VzNC00LjItMy9ORVdTLmd6CisvdXNyL2RvYy9uY3Vyc2VzNC00LjItMy9SRUFETUUuZ3oKKy91c3IvZG9jL25jdXJzZXM0LTQuMi0zL1RPLURPLmd6CisvdXNyL2xpYi9saWJmb3JtLnNvLjQKKy91c3IvbGliL2xpYmZvcm0uc28uNC4yCisvdXNyL2xpYi9saWJtZW51LnNvLjQKKy91c3IvbGliL2xpYm1lbnUuc28uNC4yCisvdXNyL2xpYi9saWJwYW5lbC5zby40CisvdXNyL2xpYi9saWJwYW5lbC5zby40LjIKKy91c3Ivc2hhcmUvbmN1cnNlczQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGFic2V0CisvdXNyL3NoYXJlL25jdXJzZXM0L3RhYnNldC9zdGQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGFic2V0L3N0ZGNydAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90YWJzZXQvdnQxMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGFic2V0L3Z0MzAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvLzEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vMS8xMTc4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvLzEvMTczMC1sbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby8yCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvLzIvMjYyMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby8yLzI2MjEtd2wKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vMi8yNjIxQQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby8yLzI2MjFhCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvLzMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vMy8zODZhdAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby8zLzNiMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby80CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvLzQvNDAyNWV4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvLzQvNDAyN2V4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvLzQvNDQxMC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvLzUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vNS81MDUxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvLzUvNTQxMC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvLzUvNTYyMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby81LzU2MzAtMjQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vNS81NjMwRE1ELTI0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvLzYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vNi82MzAtbG0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vNi82MzBNVEctMjQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vNworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby83LzczME1URy0yNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby83LzczME1URy00MQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby83LzczME1URy00MXIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vNy83MzBNVEdyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvLzcvNzMwTVRHci0yNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby84CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvLzgvODUxMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby85CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvLzkvOTU1LWhiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvLzkvOTU1LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vUAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9QL1AxMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9QL1AxMi1NCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL1AvUDEyLU0tVworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9QL1AxMi1XCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL1AvUDE0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL1AvUDE0LU0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vUC9QMTQtTS1XCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL1AvUDE0LVcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vUC9QNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9QL1A1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL1AvUDcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vUC9QOAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9QL1A4LVcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vUC9QOQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9QL1A5LTgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vUC9QOS04LVcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vUC9QOS1XCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL1gKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vWC9YLWhwdGVybQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYTIxMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2E4MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2E5ODAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYTQwODAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYWEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYWErZGVjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhK3J2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhK3VuaworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FhYS0xOAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FhYS0xOC1ydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FhYS0yMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FhYS0yMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FhYS0yNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FhYS0yNC1ydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FhYS0yNgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FhYS0yOAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FhYS0zMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FhYS0zMC1jdHh0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLTMwLXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLTMwLXJ2LWN0eHQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYWEtMzAtcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FhYS0zMC1zLWN0eHQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYWEtMzAtcy1ydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FhYS0zMC1zLXJ2LWN0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLTM2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLTM2LXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLTQwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLTQwLXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLTQ4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLTQ4LXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLTYwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLTYwLWRlYy1ydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FhYS02MC1ydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FhYS02MC1zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLTYwLXMtcnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYWEtY3R4dAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FhYS1kYgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FhYS1ydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FhYS1ydi1jdHh0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLXJ2LXVuaworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FhYS1zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLXMtY3R4dAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FhYS1zLXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLXMtcnYtY3R4dAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FhYS11bmsKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYXMxOTAxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWJtODAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYm04NQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FibTg1ZQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FibTg1aAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FibTg1aC1vbGQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hY3Q0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWN0NQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FkZHJpbmZvCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWRkczk4MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FkZHN2aWV3cG9pbnQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hZGRzdnA2MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FkbStzZ3IKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hZG0xCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWRtMTEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hZG0xMTc4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWRtMTIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hZG0xYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FkbTIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hZG0yMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FkbTIxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWRtMjIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hZG0zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWRtMzEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hZG0zMS1vbGQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hZG0zNgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FkbTNhCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWRtM2ErCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWRtNDIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hZG00Mi1ucworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FkbTUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hZXBybworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FpeHRlcm0tbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FpeHRlcm0tbS1vbGQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hagorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FqNTEwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWo4MzAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hajgzMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FsdDIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbHQzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWx0NAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FsdDUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbHQ3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWx0N3BjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWx0by1oMTkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbHRvLWhlYXRoCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWx0b2gxOQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FsdG9oZWF0aAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FsdG9zLTIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbHRvcy0zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWx0b3MtNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FsdG9zLTUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbHRvczIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbHRvczMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbHRvczQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbHRvczUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbHRvczcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbHRvczdwYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FtYmFzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW1iYXNzYWRvcgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FtaWdhCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW1pZ2EtaAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FtcDIxOQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FtcDIxOXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbXBleC0yMTkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbXBleC0yMTl3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW1wZXgtMjMyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW1wZXgxNzUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbXBleDE3NS1iCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW1wZXgyMTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbXBleDIxOQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FtcGV4MjE5dworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FtcGV4MjMyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW1wZXgyMzJ3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW1wZXg4MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FubmFyYm9yNDA4MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2Fuc2kKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbnNpLWNvbG9yLTItZW14CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW5zaS1jb2xvci0zLWVteAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2Fuc2ktZW14CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW5zaS1tCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW5zaS1taW5pCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW5zaS1tb25vCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW5zaS1udAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2Fuc2kuc3lzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW5zaS5zeXMtb2xkCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW5zaS5zeXNrCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW5zaTQzbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2Fuc2k3NworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2Fuc2k4MHgyNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2Fuc2k4MHgyNS1tb25vCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW5zaTgweDI1LXJhdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2Fuc2k4MHgzMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2Fuc2k4MHgzMC1tb25vCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW5zaTgweDQzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW5zaTgweDQzLW1vbm8KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbnNpODB4NTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbnNpODB4NTAtbW9ubworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2Fuc2k4MHg2MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2Fuc2k4MHg2MC1tb25vCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW5zaWwKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbnNpbC1tb25vCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW5zaXMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbnNpcy1tb25vCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW5zaXN5c2sKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbnNpdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FwLXZtODAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hcGwKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hcG9sbG8KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hcG9sbG9fMTVQCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXBvbGxvXzE5TAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2Fwb2xsb19jb2xvcgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FwcGxlLTgwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXBwbGUtYWUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hcHBsZS1zb3JvYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FwcGxlLXV0ZXJtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXBwbGUtdXRlcm0tdmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hcHBsZS12aWRleAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FwcGxlLXZpZGV4MgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FwcGxlLXZpZGV4MworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FwcGxlLXZtODAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hcHBsZTJlCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXBwbGUyZS1wCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXBwbGU4MHAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hcHBsZUlJCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXBwbGVJSWMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hcHBsZUlJZQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FwcGxlSUlncworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0Mzg2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXRhcmkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQyMzAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0MjM1MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDQ0MTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ0NDEwLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ0NDEwdjEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ0NDEwdjEtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDQ0MTUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ0NDE1K25sCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NDQxNS1ubAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDQ0MTUtcnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ0NDE1LXJ2LW5sCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NDQxNS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NDQxNS13LW5sCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NDQxNS13LXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NDQxNS13LXJ2LW4KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ0NDE4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NDQxOC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NDQyMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDQ0MjQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ0NDI0LTEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ0NDI0bQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDQ0MjUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ0NDI1LW5sCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NDQyNS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NDQyNgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDUwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDUwNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDUwNS0yNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDUxMGEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ1MTBkCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NTEzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NTMxMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDUzMjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ1NDEwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NTQxMC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NTQxMHYxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NTQxMHYxLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ1NDE4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NTQxOC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NTQyMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDU0MjArbmwKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ1NDIwLW5sCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NTQyMC1ydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDU0MjAtcnYtbmwKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ1NDIwLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ1NDIwLXctbmwKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ1NDIwLXctcnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ1NDIwLXctcnYtbgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDU0MjBfMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDU0MjBfMi13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NTQyNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDU0MjUtbmwKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ1NDI1LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ1NDMwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NTYyMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDU2MjAtMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDU2MjAtMjQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ1NjIwLTM0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NTYyMC1zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NjA1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NjA1LXBjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NjA1LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ2MTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ2MTAtMTAzaworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDYxMC0xMDNrLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ2MTAtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDYxNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDYxNS0xMDNrCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NjE1LTEwM2stdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDYxNS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NjIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NjIwLTEwM2sKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ2MjAtMTAzay13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NjIwLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ2MzAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ2MzAtMjQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ2Mzg2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NzMwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NzMwLTI0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NzMwLTQxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NzMwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDczMHIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ3MzByLTI0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NzMwci00MQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F2YXRhcgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F2YXRhcjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdmF0YXIwKworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F2YXRhcjEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdnQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdnQrcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F2dC1ucworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F2dC1ydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F2dC1ydi1ucworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F2dC1ydi1zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXZ0LXMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdnQtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F2dC13LW5zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXZ0LXctcnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdnQtdy1ydi1ucworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F2dC13LXJ2LXMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdnQtdy1zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXdzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXdzYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9iCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2IvYi0xMjgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYi9iYW50YW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYi9iYXNpYzQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYi9iYXNpcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9iL2JjdDUxMGEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYi9iY3Q1MTBkCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2IvYmVhY29uCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2IvYmVlCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2IvYmVlaGl2ZQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9iL2JlZWhpdmUzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2IvYmVlaGl2ZTQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYi9iZWVoaXZlSUlJbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9iL2JldGVybQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9iL2JnMS4yNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9iL2JnMS4yNW52CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2IvYmcxLjI1cnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYi9iZzIuMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9iL2JnMi4wbnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYi9iZzIuMHJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2IvYmczLjEwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2IvYmczLjEwbnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYi9iZzMuMTBydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9iL2JoM20KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYi9iaDQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYi9iaXRncmFwaAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9iL2JsaXQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYi9ib2JjYXQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYi9ic2RvcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9iL2JzZG9zLWJvbGQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2MxMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jMTAwLTFwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvYzEwMC00cAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2MxMDAtcnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jMTAwLXJ2LTRwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvYzEwNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2MxMDgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jMTA4LTRwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvYzEwOC04cAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2MxMDgtcnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jMTA4LXJ2LTRwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvYzEwOC1ydi04cAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2MxMDgtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2MxMDgtdy04cAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2MzMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jMzAxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvYzMyMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NhMjI4NTEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jYWQ2OC0yCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY2FkNjgtMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NiYmxpdAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NidW5peAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NjaQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NjaTEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jZGM0NTYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jZGM3MjEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jZGM3MjEtZXNjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY2RjNzIxbGwKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jZGM3NTIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jZGM3NTYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jZzc5MDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jZ2MyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY2djMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2Nocm9tYXRpY3MKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jaTg1MTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jaXQtODAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jaXQxMDEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jaXQxMDFlCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY2l0MTAxZS0xMzIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jaXQxMDFlLW4KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jaXQxMDFlLW4xMzIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jaXQxMDFlLXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY2l0NTAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY2l0ODAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jaXRjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY2l0b2gKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jaXRvaC02bHBpCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY2l0b2gtOGxwaQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NpdG9oLWNvbXAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jaXRvaC1lbGl0ZQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NpdG9oLXBpY2EKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jaXRvaC1wcm9wCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY2l0b2gtcHMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb2NvMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvaGVyZW50CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29sb3JfeHRlcm0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb2xvcnNjYW4KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb21tb2RvcmUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25jZXB0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uY2VwdC1hdnQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25jZXB0MTAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uY2VwdDEwMC1ydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbmNlcHQxMDgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25jZXB0MTA4LTRwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uY2VwdDEwOC04cAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbmNlcHQxMDgtdy04CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uY2VwdDEwOC13OHAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25jZXB0MTA4cnY0cAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbnMyNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbnMyNS1pc28tbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbnMyNS1pc284ODU5CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uczI1LWtvaTgtcgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbnMyNS1rb2k4ci1tCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uczI1LW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25zMjVsMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbnMyNWwxLW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25zMjVyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uczI1ci1tCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uczI1dworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbnMzMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbnMzMC1tCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uczQzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uczQzLW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25zNTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25zNTAtaXNvLW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25zNTAtaXNvODg1OQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbnM1MC1rb2k4cgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbnM1MC1rb2k4ci1tCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uczUwLW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25zNTBsMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbnM1MGwxLW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25zNTByCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uczUwci1tCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uczYwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uczYwLWlzbworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbnM2MC1pc28tbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbnM2MC1rb2k4cgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbnM2MC1rb2k4ci1tCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uczYwLW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25zNjBsMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbnM2MGwxLW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25zNjByCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uczYwci1tCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29udGVsMzAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29udGVsMzAxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29udGVsMzIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29udGVsMzIxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29wcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvcHMtMTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb3BzMTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jczEwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY3MxMC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY3Q4MgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2N0ODUwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2N0cm0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jeAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2N4MTAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY3liMTEwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY3liODMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2QxMzIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kODAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kODAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZGF0YWdyYXBoaXgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kYXRhbWVkaWEyNTAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZGF0YXBvaW50CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZGF0YXNwZWVkNDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kZDUwMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kZHIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kZHIzMTgwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZGVjLXZ0MTAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZGVjLXZ0MjIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZGVjLXZ0MzMwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZGVjLXZ0MzQwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZGVjLXZ0NDAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZGVjcHJvCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZGVjd3JpdGVyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZGVsdGEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kZy1hbnNpCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZGcxMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kZzIwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RnMjEwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZGcyMTEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kZzQ1MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RnNDYwLWFuc2kKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kZzYwNTMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kZzYxMzQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kaWFibG8KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kaWFibG8tbG0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kaWFibG8xNjIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZGlhYmxvMTYyMC1tOAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RpYWJsbzE2NDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kaWFibG8xNjQwLWxtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZGlhYmxvMTY0MC1tOAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RpYWJsbzE3MjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kaWFibG8xNzMwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZGlhYmxvMTc0MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RpYWJsbzE3NDAtbG0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kaWFibG80NTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kaWFibG82MzAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kaWFsb2d1ZQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RpYWxvZ3VlODAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kaWdpbG9nCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZGt1NzAwMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RrdTcwMDMtZHVtYgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RtMTUyMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RtMTUyMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RtMjUwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RtMzAyNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RtMzA0NQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RtODAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kbTgwdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RtY2hhdAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RtZAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RtZC0yNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RtZC0zNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RtZDEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kbWR0ODAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kbWR0ODB3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZG10ZXJtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZHAzMzYwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZHA4MjQyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZHM0MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RzNDAtMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2R0LTEwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2R0LTEwMHcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kdDEwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2R0MTAwdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2R0MTEwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZHQ4MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2R0ODAtc2FzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZHQ4MHcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kdGMzMDBzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZHRjMzgyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZHR0ZXJtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZHVtYgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2R3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZHcxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZHcyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZHczCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZHc0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZHdrCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZHdrLXZ0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2UKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZS9lY21hK2NvbG9yCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2UvZWNtYStzZ3IKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZS9lbW90cworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9lL2VtdQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9lL2VudjIzMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9lL2VudmlzaW9uMjMwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2UvZXA0MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9lL2VwNDAwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9lL2VwNDA4MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9lL2VwNDgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZS9lcmdvNDAwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9lL2VzcHJpdAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9lL2VzcHJpdC1hbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9lL2V0ZXJtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2UvZXgxNTUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZS9leGNlbDYyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2UvZXhjZWw2Mi1ydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9lL2V4Y2VsNjItdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9lL2V4Y2VsNjQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZS9leGNlbDY0LXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2UvZXhjZWw2NC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2UvZXhlYzgwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2YKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZi9mMTAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2YvZjEwMC1ydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9mL2YxMTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZi9mMTEwLTE0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2YvZjExMC0xNHcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZi9mMTEwLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZi9mMTcyMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9mL2YxNzIwYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9mL2YyMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZi9mMjAwLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZi9mMjAwdmkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZi9mMjAwdmktdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9mL2ZhbGNvCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2YvZmFsY28tcAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9mL2Zlbml4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2YvZmVuaXh3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2YvZml4dGVybQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9mL2ZvcnR1bmUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZi9mb3MKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZi9mb3gKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZi9mcmVlZG9tCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2YvZnJlZWRvbS1ydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9mL2ZyZWVkb20xMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZi9mcmVlZG9tMTEwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2YvZnJlZWRvbTIwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cvZ2F0b3IKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZy9nYXRvci01MgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2dhdG9yLTUydAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2dhdG9yLXQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZy9naWdpCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cvZ2xhc3N0dHkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZy9nby0yMjUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZy9nbzE0MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2dvMTQwdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2dvMjI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cvZ3JhcGhvcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2dyYXBob3MtMzAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZy9nczU0MzAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZy9nczU0MzAtMjIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZy9nczU0MzAtMjQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZy9nczYzMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZy9nc2kKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZy9ndDEwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2d0MTAwYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2d0NDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZy9ndDQyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cvZ3VydQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2d1cnUrcnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZy9ndXJ1K3MKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZy9ndXJ1K3VuaworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2d1cnUtMjQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZy9ndXJ1LTMzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cvZ3VydS0zMy1ydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2d1cnUtMzMtcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2d1cnUtNDQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZy9ndXJ1LTQ0LXMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZy9ndXJ1LTc2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cvZ3VydS03Ni1scAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2d1cnUtNzYtcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2d1cnUtNzYtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2d1cnUtNzYtdy1zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cvZ3VydS03Ni13bQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2d1cnUtbHAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZy9ndXJ1LW5jdHh0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cvZ3VydS1ydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2d1cnUtcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaC0xMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oLTEwMGJ3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaDEwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2gxMDBidworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2gxOQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2gxOS1hCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaDE5LWIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oMTktYnMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oMTktZworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2gxOS1zbXVsCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaDE5LXUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oMTktdXMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oMTlhCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaDE5ZworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2gxOWsKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oMTlrZXJtaXQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oMTl1cworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2gyOWEta2MtYmMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oMjlhLWtjLXVjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaDI5YS1ua2MtYmMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oMjlhLW5rYy11YworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2g4MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hhODY3NQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hhODY4NgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hhemVsCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaGRzMjAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaGU4MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hlYXRoCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaGVhdGgtMTkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oZWF0aC1hbnNpCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaGVhdGhraXQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oZWF0aGtpdC1hCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaGZ0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaGZ0LWMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oaXJlejEwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hpcmV6MTAwLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9obW9kMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHArYXJyb3dzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHArY29sb3IKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocCtsYWJlbHMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocCtwZmsrYXJyb3dzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHArcGZrK2NyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHArcGZrLWNyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHArcHJpbnRlcgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMTEwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAxNTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDIzNgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjM4MgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjM4MmEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDIzOTIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDIzOTcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDIzOTdhCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjIxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjIxLTQ4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjIxLWEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjEtYmEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjEtZmwKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjEtazQ1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjIxLW5sCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjIxLW50CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjIxLXdsCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjIxQQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyMWEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjFhLWEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjFiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjIxYi1reAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyMWIta3gtcAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyMWItcAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyMWs0NQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyMXAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjFwLWEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjJhCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjIzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjIzYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyNC0xMHAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjRhCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjI0YS0xMHAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjRiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjI0Yi0xMHAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjRiLTEwcC1wCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjI0Yi00cAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyNGItNHAtcAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyNGItcAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyNgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyNi0xMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyNi0xMi1zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjI2LTEyeDQwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjI2LW5zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjI2LXMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjYteDQwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjI2YQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyNnAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjdhCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjI3YS1yZXYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjdjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjJ4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjQwYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjY0MGIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2NDFhCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjQ0YQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjY0NQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjY0NWEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2NDdhCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjQ4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjQ4YQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMzAwaAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwNDUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDcwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwNzAwLXd5CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHA3MDA5MgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwNzAwOTJBCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHA3MDA5MmEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDk4MzcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDk4NDUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDk4NTUwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHA5ODU1MGEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDk4NzIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHA5ODcyMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwYW5zaQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwZXgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocGV4MgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwZ2VuZXJpYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwc3ViCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHB0ZXJtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHR4MTEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oejEwMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oejE0MjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oejE1MDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oejE1MTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oejE1MjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oejE1MjAtbm9lc2MKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oejE1NTIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oejE1NTItcnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oejIwMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2kxMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pMzEwMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2kzMTUxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaTMxNjQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pNDAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJjczIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm0tYXBsCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtLXBjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtLXN5c3RlbTEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm0zMTAxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtMzE1MQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2libTMxNjEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm0zMTYzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtMzE2NAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2libTMyN3gKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm01MDUxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtNTA4MQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2libTUwODEtYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2libTUxNTEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm01MTU0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtNTE1NC1jCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtNjE1MworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2libTYxNTQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm02MTU0LWMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm02MTU1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtODUxMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2libTg1MTMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm04NTE0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtODUxNC1jCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtYWVkCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtYXBhMTYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm1hcGE4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtYXBhOGMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm1hcGE4Yy1jCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtZWdhCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtZWdhLWMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm1tb25vCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtbXBlbAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2libW1wZWwtYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2libXBjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtcGMzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtcGMzcgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2libXBjM3ItbW9ubworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2libXBjeAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2libXZnYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2libXZnYS1jCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJteAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2lmbXIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pbXMtYW5zaQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2ltczk1MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2ltczk1MC1iCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaW1zOTUwLXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaW5mb3RvbgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2ludGVydGVjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaW50ZXJ0dWJlCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaW50ZXJ0dWJlMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2ludGV4dAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2ludGV4dDIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pbnRleHRpaQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2lwcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2lwc2kKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pcTEyMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2lxMTQwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaXJpcy1hbnNpCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaXJpcy1hbnNpLWFwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaXJpcy1jb2xvcgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2lyaXM0MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9qCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2ovamFpeHRlcm0tbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9qL2plcnEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9rL2s0NQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9rL2theXBybworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9rL2theXBybzIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vay9rZXJtaXQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vay9rZXJtaXQtYW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vay9rbG9uZSthY3MKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vay9rbG9uZStjb2xvcgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9rL2tsb25lK2tvaThhY3MKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vay9rbG9uZStzZ3IKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vay9rbG9uZStzZ3ItZHVtYgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9rL2t0NworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9rL2t0N2l4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2sva3Rlcm0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vay9rdG0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9sL2xhMTIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2wvbGF5ZXIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbC9saW51eAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9sL2xpbnV4LWMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbC9saW51eC1jLW5jCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2wvbGludXgta29pOAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9sL2xpbnV4LWtvaThyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2wvbGludXgtbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9sL2xpbnV4LW5pYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9sL2xpc2EKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbC9saXNhdGVybQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9sL2xpc2F0ZXJtLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbC9saXN3YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9sL2xuMDMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbC9sbjAzLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbC9scHIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbC9sdW5hCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2wvbHVuYTY4aworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbTItbmFtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbWFjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbWFjLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9tYWNpbnRvc2gKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9tYWN0ZXJtaW5hbC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbWFpCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbWFzc2NvbXAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9tYXNzY29tcDEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9tYXNzY29tcDIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9tZGwxMTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9tZWdhdGVrCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbWVtaHAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9tZ3IKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9tZ3ItbGludXgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9tZ3Itc3VuCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbWljcm9iCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbWljcm9iZWUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9taWNyb3Rlcm0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9taWNyb3Rlcm01CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbWltZQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21pbWUtM2F4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbWltZS1mYgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21pbWUtaGIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9taW1lMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21pbWUyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbWltZTJhCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbWltZTJhLXMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9taW1lMmEtdgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21pbWUzMTQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9taW1lMzQwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbWltZTNhCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbWltZTNheAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21pbWVpCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbWltZWlpCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbWluaXRlbAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21pbml0ZWwtMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21pbml0ZWwtMi1uYW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9taW5peAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21pbml4LW9sZAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21pbml4LW9sZC1hbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21tMzE0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbW0zNDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9tb2QKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9tb2QyNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21vZGdyYXBoCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbW9kZ3JhcGgyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbW9kZ3JhcGg0OAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21vbm8tZW14CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbXNrMjI3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbXNrMjI3MTQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9tc2syMjdhbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21za2VybWl0MjI3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbXNrZXJtaXQyMjcxNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21za2VybWl0MjI3YW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9tdC03MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL210NDUyMC1ydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL210NzAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25hbnNpLnN5cworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25hbnNpLnN5c2sKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9uYW5zaXN5cworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25hbnNpc3lzaworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25jcjc5MDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9uY3I3OTAwaQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25jcjc5MDBpdgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25jcjc5MDEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9uZWMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9uZWM1NTIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmV3aHAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9uZXdocGtleWJvYXJkCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmV3cworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25ld3MtMjkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9uZXdzLTI5LWV1YworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25ld3MtMjktc2ppcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25ld3MtMzMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9uZXdzLTMzLWV1YworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25ld3MtMzMtc2ppcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25ld3MtNDIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9uZXdzLTQyLWV1YworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25ld3MtNDItc2ppcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25ld3MtYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25ld3MtbworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25ld3Mtb2xkLXVuaworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25ld3MtdW5rCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmV3czI4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmV3czI4LWEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9uZXdzMjkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9uZXdzMzEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9uZXdzMzEtYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25ld3MzMS1vCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmV3czMzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmV3czQwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmV3czQwLWEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9uZXdzNDAtbworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25ld3M0MgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25ld3NjYm0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9uZXdzY2JtLWEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9uZXdzY2JtLW8KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9uZXdzY2JtMzMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9uZXh0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmV4dHNoZWxsCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbm9ydGhzdGFyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbndlNTAxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbndlNTAxLWEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9ud2U1MDEtbworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL253cC01MTEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9ud3AtNTE3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbndwLTUxNy13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbndwMjUxLWEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9ud3AyNTEtbworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL253cDUxMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL253cDUxMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL253cDUxMi1hCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbndwNTEyLW8KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9ud3A1MTMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9ud3A1MTMtYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL253cDUxMy1vCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbndwNTE0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbndwNTE0LWEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9ud3A1MTQtbworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL253cDUxNworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL253cDUxNy13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbndwNTE4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbndwNTE4LWEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9ud3A1MTgtbworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9vCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL28vbzMxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL28vbzQxMTItbmQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vby9vODVoCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL28vb2FibTg1aAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9vL29ibGl0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL28vb2MxMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vby9vY29uY2VwdAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9vL29qZXJxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL28vb2xkaWJtcGMzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL28vb2xkcGMzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL28vb2xkc3VuCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL28vb21yb24KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vby9vcHVzM24xKworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9vL29yaWdpYm1wYzMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vby9vcmlncGMzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL28vb3M5TElJCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL28vb3Nib3JuZQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9vL29zYm9ybmUtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9vL29zYm9ybmUxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL28vb3Nib3JuZTEtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9vL29zZXhlYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9vL290ZWs0MTEyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL28vb3RlazQxMTMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vby9vdGVrNDExNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9vL290ZWs0MTE1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL28vb3dsCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wMTIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wMTItbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3AxMi1tLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wMTItdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3AxNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3AxNC1tCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcDE0LW0tdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3AxNC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcDE5CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcDQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3A3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcDgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wOC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcDhnbAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3A5CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcDktOAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3A5LTgtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3A5LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wYy1jb2hlcmVudAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjLW1pbml4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGMtdmVuaXgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wYzMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wYzMtYm9sZAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjM3IKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wYzNyLW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wYzYzMDBwbHVzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGM3MzAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGNhbnNpCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGNhbnNpLTI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGNhbnNpLTI1LW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wY2Fuc2ktMzMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wY2Fuc2ktMzMtbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjYW5zaS00MworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjYW5zaS00My1tCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGNhbnNpLW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wY2Fuc2ktbW9ubworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjYW5zaTI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGNhbnNpMjVtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGNhbnNpMzMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wY2Fuc2kzM20KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wY2Fuc2k0MworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjY29ucworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjY29uc29sZQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjaXgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wY2tlcm1pdAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3Bja2VybWl0MTIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wY2tlcm1pdDEyMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjcGxvdAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjdnQyNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjdnQyNXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wY3Z0MjgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wY3Z0Mjh3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGN2dDM1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGN2dDM1dworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjdnQ0MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjdnQ0MHcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wY3Z0NDMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wY3Z0NDN3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGN2dDUwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGN2dDUwdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjdnRYWAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjejE5CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGUxMTAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGUxMjAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGUxMjUxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGU1NTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wZTYxMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wZTYzMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wZTYzMTIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wZTcwMDBjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGU3MDAwbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BpbG90CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHJpbnRlcgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3ByaXNtMTIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wcmlzbTEyLW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wcmlzbTEyLW0tdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3ByaXNtMTItdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3ByaXNtMTQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wcmlzbTE0LW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wcmlzbTE0LW0tdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3ByaXNtMTQtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3ByaXNtMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3ByaXNtNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3ByaXNtNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3ByaXNtNworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3ByaXNtOAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3ByaXNtOC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHJpc204Z2wKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wcmlzbTkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wcmlzbTktOAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3ByaXNtOS04LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wcmlzbTktdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BybzM1MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BzMzAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHN0ZXJtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHN0ZXJtLTgweDI0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHN0ZXJtLTkweDI4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHN0ZXJtLTk2eDQ4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHN0ZXJtLWJhc2ljCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHN0ZXJtLWZhc3QKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wc3hfYW5zaQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3B0MTAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHQxMDB3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHQyMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wdDIwMHcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wdDIxMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3B0MjUwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHQyNTB3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHQ1MDUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wdDUwNS0yMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3B0NTA1LTI0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHR5CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3EKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcS9xZGNvbnMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcS9xZHNzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3EvcW54CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3EvcW54NAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9xL3F1bWUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcS9xdW1lNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9xL3F2dDEwMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9xL3F2dDEwMSsKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcS9xdnQxMDFwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3EvcXZ0MTAyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3EvcXZ0MTAzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3EvcXZ0MTAzLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcS9xdnQxMDgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcS9xdnQxMTkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcS9xdnQxMTkrCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3EvcXZ0MTE5Ky0yNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9xL3F2dDExOSstMjUtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9xL3F2dDExOSstdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9xL3F2dDExOS0yNS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3EvcXZ0MTE5LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcS9xdnQxMTlwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3EvcXZ0MTE5cC0yNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9xL3F2dDExOXAtMjUtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9xL3F2dDExOXAtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9xL3F2dDIwMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9xL3F2dDIwMysKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcS9xdnQyMDMtMjUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcS9xdnQyMDMtMjUtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9xL3F2dDIwMy13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3EvcXZ0MjAzLXctYW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9yL3JiY29tbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9yL3JiY29tbS1uYW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vci9yYmNvbW0tdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9yL3JjYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9yL3JlYnVzMzE4MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9yL3JlZ2VudAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9yL3JlZ2VudDEwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9yL3JlZ2VudDIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3IvcmVnZW50MjAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3IvcmVnZW50MjUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vci9yZWdlbnQ0MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9yL3JlZ2VudDQwKworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9yL3JlZ2VudDYwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3IvcnQ2MjIxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3IvcnQ2MjIxLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vci9ydHBjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Ivcnh2dAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9yL3J4dnQtYmFzaWMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3MKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3NiMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3NiMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3NiMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3NiaQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3Nib2JjYXQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zYzQxMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3NjNDE1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc2NhbnNldAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3Njb2Fuc2kKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zY3JlZW4KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zY3JlZW4tdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3NjcmVlbjIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zY3JlZW4zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc2NyZXdwb2ludAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3NjcmhwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc2ltdGVybQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3Nvcm9jCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc29yb2MxMjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zb3JvYzE0MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3NwaW53cml0ZXIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zdDUyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc3VuCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc3VuLTEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zdW4tMTIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zdW4tMTcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zdW4tMjQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zdW4tMzQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zdW4tNDgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zdW4tYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3N1bi1jbWQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zdW4tZQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3N1bi1lLXMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zdW4taWwKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zdW4tbmljCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc3VuLXMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zdW4tcy1lCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc3VuLXNzNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3N1bjEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zdW4yCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc3VuZQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3N1cGVyYmVlCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc3VwZXJiZWUteHNiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc3VwZXJiZWVpYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3N1cGVyYnJhaW4KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zdjgwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc3d0cAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3N5bmVydGVrCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc3luZXJ0ZWszODAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zeXN0ZW0xCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90MTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90MTA2MQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3QxMDYxZgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3QxNgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3QzNzAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdDM4MDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90NjUzeAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RhYgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RhYjEzMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RhYjEzMi0xNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RhYjEzMi1ydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RhYjEzMi13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGFiMTMyLXctcnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90YW5kZW02NTEwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGFuZGVtNjUzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDAxMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RlazQwMTMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0MDE0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDAxNC1zbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RlazQwMTUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0MDE1LXNtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDAyMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RlazQwMjQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0MDI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDAyNS0xNworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RlazQwMjUtMTctd3MKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0MDI1LWNyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDAyNS1leAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RlazQwMjVhCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDAyNWV4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDAyNworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RlazQwMjctZXgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0MTA1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDEwNS0zMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RlazQxMDVhCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDEwNmJybAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RlazQxMDcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0MTA3YnJsCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDEwOQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RlazQxMDlicmwKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0MTEyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDExMi01CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDExMi1uZAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RlazQxMTMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0MTEzLTM0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDExMy1uZAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RlazQxMTQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0MTE1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDEyNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RlazQyMDUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0MjA3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDIwNy1zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDQwNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RlbGVyYXkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWxldGVjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVybWluZXQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZXJtaW5ldDEyMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZXJtaW5ldDMwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RndGVsbmV0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGk3MDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90aTczMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RpNzM1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGk3NDUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90aTgwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RpOTE2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGk5MTYtMTMyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGk5MTYtMjIwLTcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90aTkxNi0yMjAtOAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RpOTE2LTgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90aTkxNi04LTEzMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RpOTI0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGk5MjQtOAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RpOTI0LTh3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGk5MjR3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGk5MjYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90aTkyNi04CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGk5MjgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90aTkyOC04CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGk5MzEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90aV9hbnNpCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdG4xMjAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdG4zMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90cnMxNgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RyczIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90cnM4MElJCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHJzSUkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90cy0xCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHMtMXAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90czEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90czEwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RzMTAwLWN0eHQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90czEwMC1zcAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RzMXAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dDUwNS0yMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R0eTMzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHR5MzUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dHkzNworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R0eTQwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHR5NDMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dHk0NDIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHR5NDQyNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R0eTQ0MjQtMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R0eTQ0MjRtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHR5NDQyNgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R0eTU0MTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dHk1NDEwLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dHk1NDEwdjEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dHk1NDEwdjEtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R0eTU0MjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dHk1NDIwK25sCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHR5NTQyMC1ubAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R0eTU0MjAtcnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dHk1NDIwLXJ2LW5sCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHR5NTQyMC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHR5NTQyMC13LW5sCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHR5NTQyMC13LXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHR5NTQyMC13LXJ2LW4KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dHk1NDI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHR5NTQyNS1ubAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R0eTU0MjUtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R0eTU2MjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dHk1NjIwLTEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dHk1NjIwLTI0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHR5NTYyMC0zNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R0eTU2MjAtcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R0eWRtZAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R2aS0ycAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R2aTgwMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R2aTkwNjUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5MTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5MTArCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHZpOTEyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHZpOTEyLTJwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHZpOTEyYgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R2aTkxMmMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5MTJjYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R2aTkxNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R2aTkyMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R2aTkyMC0ycAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R2aTkyMGIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5MjBjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHZpOTIxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHZpOTI0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHZpOTI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHZpOTI1LWhpCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHZpOTJCCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHZpOTJECisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHZpOTUwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHZpOTUwLTJwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHZpOTUwLTRwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHZpOTUwLXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHZpOTUwLXJ2LTJwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHZpOTUwLXJ2LTRwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHZpOTU1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHZpOTU1LWhiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHZpOTU1LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5NzAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5NzAtMnAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5NzAtdmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmlwdAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby91CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3UvdWx0aW1hMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby91L3VsdGltYUlJCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3UvdW5pdGVybQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby91L3VuaXRlcm00OQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby91L3VuaXhwYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby91L3Vua25vd24KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdS91dHMzMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdjIwMC1uYW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92MzIwbgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3YzMjIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdjU0MTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92YXBwbGUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92YzEwMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3ZjMjAzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdmMzMDMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92YzMwM2EKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92YzQwM2EKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92YzQwNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3ZjNDA0LXMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92YzQxNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3ZjNDE0aAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3ZjNDE1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdmVuaXgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92ZXJzYXRlcm0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92aTIwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3ZpMjAwLWYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92aTIwMC1ydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3ZpMzAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdmkzMDAtb2xkCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Yvdmk1MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3ZpNTAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Yvdmk1MGFkbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3ZpNTUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92aTU1MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3ZpNjAzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Yvdmlld3BvaW50CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Yvdmlld3BvaW50M2ErCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Yvdmlld3BvaW50NjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92aWV3cG9pbnQ5MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Zpc2E1MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Zpc3VhbDYwMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3ZpdHR5CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdmsxMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92cDNhKworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3ZwNjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92cDkwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnJlbW90ZQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3ZzMTAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnMxMDAteDEwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnNjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQtNjEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDEwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MTAwLWFtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQxMDAtYm0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDEwMC1ibS1vCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQxMDAtYm90LXMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDEwMC1uYW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDEwMC1uYW0tdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MTAwLW5hdgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MTAwLW5hdi13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQxMDAtcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MTAwLXMtYm90CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQxMDAtcy10b3AKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDEwMC10b3AtcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MTAwLXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQxMDAtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MTAwLXctYW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDEwMC13LW5hbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MTAwLXctbmF2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQxMDBuYW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDEwMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MTAyLW5zZ3IKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDEwMi13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQxMjUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDEzMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MTMyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQyMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDIwMC1qcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MjAwLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDIyMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MjIwLTgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDIyMC1qcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MjIwLW5hbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MjIwLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDIyMGQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDMwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MzAwLW5hbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MzAwLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDMwMC13LW5hbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MzIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQzMjAtazMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDMyMC1rMzExCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQzMjAtbmFtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQzMjAtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MzIwLXctbmFtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQzMjBuYW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDMzMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MzQwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQ0MDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDQwMC0yNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0NDIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQ0MjBmCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQ0MjBwYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0NDIwcGNkb3MKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDUwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQ1MGgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDUxMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0NTEwcGMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDUxMHBjZG9zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQ1MgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0NTIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQ1MjUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDYxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQ2MS41CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93cmVuCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3JlbncKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93c2lyaXMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eS03NWFwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kxMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTEwMHEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTEyMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MTIwLTI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kxMjAtMjUtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MTIwLXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kxMjAtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MTIwLXctdmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTEyMC13dmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTE1MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MTUwLTI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kxNTAtMjUtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MTUwLXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kxNTAtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MTUwLXctdmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTE2MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MTYwLTI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kxNjAtMjUtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MTYwLTQyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kxNjAtNDItdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MTYwLTQzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kxNjAtNDMtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MTYwLXRlaworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MTYwLXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kxNjAtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MTYwLXctdmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTE2MC13dmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTE4NQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MTg1LTI0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kxODUtdmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTE4NS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kxODUtd3ZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kzMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MzAtbWMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTMwLXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kzMjUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTMyNS0yNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MzI1LTI1dworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MzI1LTQyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kzMjUtNDJ3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kzMjUtNDJ3LXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kzMjUtNDJ3dmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTMyNS00MworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MzI1LTQzdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MzI1LTQzdy12YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MzI1LTQzd3ZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kzMjUtODAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTMyNS12YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MzI1LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTMyNS13LXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kzMjUtd3ZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kzMjV3LTI0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kzNTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTM1MC12YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MzUwLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTM1MC13dmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTM3MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MzcwLTEwMWsKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTM3MC0xMDVrCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kzNzAtRVBDCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kzNzAtbmsKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTM3MC1ydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MzcwLXRlaworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MzcwLXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kzNzAtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MzcwLXd2YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTUwLW1jCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k1MC12YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NTAtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NTAtd3ZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k1MjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTUyMC0yNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NTIwLTM2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k1MjAtMzZwYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NTIwLTM2dworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NTIwLTM2d3BjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k1MjAtNDgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTUyMC00OHBjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k1MjAtNDh3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k1MjAtNDh3cGMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTUyMC1lcGMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTUyMC1lcGMtMjQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTUyMC1lcGMtdmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTUyMC1lcGMtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NTIwLWVwYy13dmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTUyMC12YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NTIwLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTUyMC13dmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTYwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k2MC0yNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NjAtMjUtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NjAtMzE2WAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NjAtNDIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTYwLTQyLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTYwLTQzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k2MC00My13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k2MC12YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NjAtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NjAtdy12YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NjAtd3ZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k3NQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NzUtbWMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTc1LXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k3NS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k3NS13dmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTc1YXAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTg1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k4NS12YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5ODUtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5ODUtd3ZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k5OWd0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k5OWd0LTI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k5OWd0LTI1LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTk5Z3QtdGVrCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k5OWd0LXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k5OWd0LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTk5Z3Qtdy12YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5OTlndC13dmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlLTMyNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UtNzVhcAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UtdnAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMTIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTEyMC0yNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UxMjAtMjUtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UxMjAtdmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMTIwLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMTIwLXd2YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UxNTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMTUwLTI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTE1MC0yNS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTE1MC12YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UxNTAtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UxNTAtdy12YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UxNjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMTYwLTI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTE2MC0yNS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTE2MC00MgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UxNjAtNDItdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UxNjAtNDMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMTYwLTQzLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMTYwLXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTE2MC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTE2MC13dmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMTg1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTE4NS0yNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UxODUtdmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMTg1LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMTg1LXd2YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UzMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UzMC1tYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UzMC12YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UzMjUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMzI1LTI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTMyNS0yNXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMzI1LTQyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTMyNS00MncKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMzI1LTQzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTMyNS00M3cKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMzI1LXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTMyNS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTMyNS13dmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMzUwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTM1MC12YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UzNTAtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UzNTAtd3ZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTM3MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U1MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U1MC1tYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U1MC12YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U1MC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTUwLXd2YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U1MjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlNTIwLTI0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTUyMC0zNgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U1MjAtMzZwYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U1MjAtMzZ3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTUyMC0zNndwYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U1MjAtNDgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlNTIwLTQ4cGMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlNTIwLTQ4dworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U1MjAtNDh3cGMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlNTIwLWVwYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U1MjAtZXBjLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlNTIwLXAtd3ZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTUyMC1wYy0yNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U1MjAtcGMtdmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlNTIwLXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTUyMC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTUyMC13dmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlNjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlNjAtMjUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlNjAtMjUtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U2MC0zMTZYCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTYwLTQyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTYwLTQyLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlNjAtNDMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlNjAtNDMtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U2MC12YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U2MC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTYwLXd2YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U3NQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U3NS1tYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U3NS12YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U3NS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTc1LXd2YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U3NWFwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTg1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTg1LXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTg1LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlODUtd3ZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTk5Z3QKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlOTlndC0yNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U5OWd0LTI1LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlOTlndC12YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U5OWd0LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlOTlndC13dmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8veAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3gxMHRlcm0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8veC94MTcwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3gxNzAwLWxtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3gveDE3MjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8veC94MTc1MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3g2OGsKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8veC94NjhrLWl0ZQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3g4MjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8veC94ZW5peAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3hlcm94CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3gveGVyb3gtbG0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8veC94ZXJveDE3MjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8veC94ZXJveDgyMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3hsODMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8veC94dGFsaworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3h0ZXJtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3gveHRlcm0rc2wKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8veC94dGVybStzbC10d20KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8veC94dGVybS0xNmNvbG9yCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3gveHRlcm0tOGJpdAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3h0ZXJtLWJvbGQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8veC94dGVybS1uaWMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8veC94dGVybS1vbGQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8veC94dGVybS1wY29sb3IKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8veC94dGVybS1yNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3h0ZXJtLXI2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3gveHRlcm0tc3VuCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3gveHRlcm0teGY4Ni12MzIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8veC94dGVybS14Zjg2LXYzMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3h0ZXJtLXhmODYtdjQwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3gveHRlcm0teGkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8veC94dGVybTEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8veC94dGVybXMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8veC94dGVybXMtc3VuCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3gveHdzaAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby96CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3ovei0xMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vei96LTEwMGJ3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3ovejEwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby96L3oxMDBidworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby96L3oxMTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vei96MTEwYncKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vei96MTkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vei96MjkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vei96MjlhCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3ovejI5YS1rYy1iYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby96L3oyOWEta2MtdWMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vei96MjlhLW5rYy1iYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby96L3oyOWEtbmtjLXVjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3ovejI5YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby96L3ozMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby96L3ozNDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vei96MzQwLW5hbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby96L3ozOS1hCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3ovejM5YQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby96L3o1MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby96L3o4MDAxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3ovemVuMzAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vei96ZW41MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby96L3plbjgwMDEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vei96ZW5pdGgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vei96ZW5pdGgyOQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby96L3plbml0aDM5LWEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vei96ZW5pdGgzOS1hbnNpCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3ovenQtMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby96L3p0eAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby96L3p0eC0xLWEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vei96dHgxMQorCisyIDE1IFJQTTpGaWxlcyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzEgMTUgUkRGOkRlc2NyaXB0aW9uIDAgMAorMSAxNCAjdGV4dCAwIDEgCisKKzAgMTUgUkRGOlJERiAwIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JkZjIuc2F4IGIvbGlieG1sMi9yZXN1bHQvcmRmMi5zYXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjY2ODZjMQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JkZjIuc2F4CkBAIC0wLDAgKzEsMTkxIEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5zdGFydEVsZW1lbnQoUkRGOlJERiwgeG1sbnM6UkRGPSdodHRwOi8vd3d3LnczLm9yZy9UUi9XRC1yZGYtc3ludGF4IycsIHhtbG5zOlJQTT0naHR0cDovL3d3dy5ycG0ub3JnLycpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChSREY6RGVzY3JpcHRpb24sIGFib3V0PSdmdHA6Ly9ydWZ1cy53My5vcmcvbGludXgvZGxkLzUuNC9pMzg2L1JQTVMvaTM4Ni9uY3Vyc2VzNC00LjItMy5pMzg2LnJwbScpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KFJQTTpOYW1lKQorU0FYLmNoYXJhY3RlcnMobmN1cnNlczQsIDgpCitTQVguZW5kRWxlbWVudChSUE06TmFtZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoUlBNOlZlcnNpb24pCitTQVguY2hhcmFjdGVycyg0LjIsIDMpCitTQVguZW5kRWxlbWVudChSUE06VmVyc2lvbikKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoUlBNOlJlbGVhc2UpCitTQVguY2hhcmFjdGVycygzLCAxKQorU0FYLmVuZEVsZW1lbnQoUlBNOlJlbGVhc2UpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KFJQTTpBcmNoKQorU0FYLmNoYXJhY3RlcnMoaTM4NiwgNCkKK1NBWC5lbmRFbGVtZW50KFJQTTpBcmNoKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChSUE06T3MpCitTQVguY2hhcmFjdGVycyhMaW51eCwgNSkKK1NBWC5lbmRFbGVtZW50KFJQTTpPcykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoUlBNOkRpc3RyaWJ1dGlvbikKK1NBWC5jaGFyYWN0ZXJzKERMRCwgMykKK1NBWC5lbmRFbGVtZW50KFJQTTpEaXN0cmlidXRpb24pCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KFJQTTpWZW5kb3IpCitTQVguY2hhcmFjdGVycyhkZWxpeCBDb21wdXRlciBHbWJILCAxOSkKK1NBWC5lbmRFbGVtZW50KFJQTTpWZW5kb3IpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KFJQTTpQYWNrYWdlcikKK1NBWC5jaGFyYWN0ZXJzKFRpbGwgQnViZWNrICwgMTIpCitTQVguY2hhcmFjdGVycyg8LCAxKQorU0FYLmNoYXJhY3RlcnMoYnViZWNrQGRlbGl4LmRlLCAxNSkKK1NBWC5jaGFyYWN0ZXJzKD4sIDEpCitTQVguY2hhcmFjdGVycygsIE5nbyBUaGFuICwgMTEpCitTQVguY2hhcmFjdGVycyg8LCAxKQorU0FYLmNoYXJhY3RlcnModGhhbkBkZWxpeC5kZSwgMTMpCitTQVguY2hhcmFjdGVycyg+LCAxKQorU0FYLmVuZEVsZW1lbnQoUlBNOlBhY2thZ2VyKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChSUE06R3JvdXApCitTQVguY2hhcmFjdGVycyhMaWJyYXJpZXMsIDkpCitTQVguZW5kRWxlbWVudChSUE06R3JvdXApCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KFJQTTpTdW1tYXJ5KQorU0FYLmNoYXJhY3RlcnMoQmlibGlvdGhlayB6dXIgQW5zdGV1ZXJ1bmcgdm9uLCA0MCkKK1NBWC5lbmRFbGVtZW50KFJQTTpTdW1tYXJ5KQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChSUE06RGVzY3JpcHRpb24pCitTQVguY2hhcmFjdGVycyhEaWVzZSBMaWJyYXJ5IHN0ZWxsdCBkZW0gUHJvZ3IsIDU3KQorU0FYLmNoYXJhY3RlcnMow6QsIDIpCitTQVguY2hhcmFjdGVycyhuZ2lnZQorUm91dGluZW4genVyIEFuc3RldWVydW5nLCA1NykKK1NBWC5jaGFyYWN0ZXJzKMO8LCAyKQorU0FYLmNoYXJhY3RlcnMoZ3VuZywgZGllCitzcGV6aWVsbCBvcHRpbWllcnQgcywgNTcpCitTQVguY2hhcmFjdGVycygnLCAxKQorU0FYLmNoYXJhY3RlcnMobmV3IGN1cnNlcywgMTApCitTQVguY2hhcmFjdGVycygnLCAxKQorU0FYLmNoYXJhY3RlcnMoIChuY3Vyc2VzKSBWYXJpYW50ZSB1bmQgaXN0IGRlLCA1MSkKK1NBWC5jaGFyYWN0ZXJzKMO8LCAyKQorU0FYLmNoYXJhY3RlcnMociBkaWUga2xhc3Npc2NoZSBDdXJzZXMtTGlicmFyLCA3MCkKK1NBWC5lbmRFbGVtZW50KFJQTTpEZXNjcmlwdGlvbikKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoUlBNOkNvcHlyaWdodCkKK1NBWC5jaGFyYWN0ZXJzKEdQTCwgMykKK1NBWC5lbmRFbGVtZW50KFJQTTpDb3B5cmlnaHQpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KFJQTTpTb3VyY2VzKQorU0FYLmNoYXJhY3RlcnMobmN1cnNlczQtNC4yLTMuc3JjLnJwbSwgMjIpCitTQVguZW5kRWxlbWVudChSUE06U291cmNlcykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoUlBNOkJ1aWxkRGF0ZSkKK1NBWC5jaGFyYWN0ZXJzKFR1ZSBNYXkgMTIgMTk6MzA6MjYgMTk5OCwgMjQpCitTQVguZW5kRWxlbWVudChSUE06QnVpbGREYXRlKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChSUE06RGF0ZSkKK1NBWC5jaGFyYWN0ZXJzKDg5NTAxNTgyNiwgOSkKK1NBWC5lbmRFbGVtZW50KFJQTTpEYXRlKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChSUE06U2l6ZSkKK1NBWC5jaGFyYWN0ZXJzKDEzNzM1MTMsIDcpCitTQVguZW5kRWxlbWVudChSUE06U2l6ZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoUlBNOkJ1aWxkSG9zdCkKK1NBWC5jaGFyYWN0ZXJzKGVyZGJlZXJlLmRlbGl4LmRlLCAxNykKK1NBWC5lbmRFbGVtZW50KFJQTTpCdWlsZEhvc3QpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KFJQTTpQcm92aWRlcykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgLCA3KQorU0FYLnN0YXJ0RWxlbWVudChSREY6QmFnKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5zdGFydEVsZW1lbnQoUlBNOlJlc291cmNlLCBocmVmPScuLi8uLi8uLi8uLi8uLi9yZXNvdXJjZXMvbmN1cnNlczQucmRmJykKK1NBWC5jaGFyYWN0ZXJzKG5jdXJzZXM0LCA4KQorU0FYLmVuZEVsZW1lbnQoUlBNOlJlc291cmNlKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5zdGFydEVsZW1lbnQoUlBNOlJlc291cmNlLCBocmVmPScuLi8uLi8uLi8uLi8uLi9yZXNvdXJjZXMvbGlicGFuZWwuc28uNC5yZGYnKQorU0FYLmNoYXJhY3RlcnMobGlicGFuZWwuc28uNCwgMTMpCitTQVguZW5kRWxlbWVudChSUE06UmVzb3VyY2UpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgLCA5KQorU0FYLnN0YXJ0RWxlbWVudChSUE06UmVzb3VyY2UsIGhyZWY9Jy4uLy4uLy4uLy4uLy4uL3Jlc291cmNlcy9saWJuY3Vyc2VzLnNvLjQucmRmJykKK1NBWC5jaGFyYWN0ZXJzKGxpYm5jdXJzZXMuc28uNCwgMTUpCitTQVguZW5kRWxlbWVudChSUE06UmVzb3VyY2UpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgLCA5KQorU0FYLnN0YXJ0RWxlbWVudChSUE06UmVzb3VyY2UsIGhyZWY9Jy4uLy4uLy4uLy4uLy4uL3Jlc291cmNlcy9saWJtZW51LnNvLjQucmRmJykKK1NBWC5jaGFyYWN0ZXJzKGxpYm1lbnUuc28uNCwgMTIpCitTQVguZW5kRWxlbWVudChSUE06UmVzb3VyY2UpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgLCA5KQorU0FYLnN0YXJ0RWxlbWVudChSUE06UmVzb3VyY2UsIGhyZWY9Jy4uLy4uLy4uLy4uLy4uL3Jlc291cmNlcy9saWJmb3JtLnNvLjQucmRmJykKK1NBWC5jaGFyYWN0ZXJzKGxpYmZvcm0uc28uNCwgMTIpCitTQVguZW5kRWxlbWVudChSUE06UmVzb3VyY2UpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgLCA5KQorU0FYLnN0YXJ0RWxlbWVudChSUE06UmVzb3VyY2UsIGhyZWY9Jy4uLy4uLy4uLy4uLy4uL3Jlc291cmNlcy9uY3Vyc2VzLnJkZicpCitTQVguY2hhcmFjdGVycyhuY3Vyc2VzLCA3KQorU0FYLmVuZEVsZW1lbnQoUlBNOlJlc291cmNlKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguZW5kRWxlbWVudChSREY6QmFnKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLmVuZEVsZW1lbnQoUlBNOlByb3ZpZGVzKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChSUE06RmlsZXMpCitTQVguY2hhcmFjdGVycygvbGliL2xpYm5jdXJzZXMuc28uNAorL2xpYi9saWJuLCAyMDA4KQorU0FYLmNoYXJhY3RlcnMoL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL1AvUDE0LCA0MDAwKQorU0FYLmNoYXJhY3RlcnMoZXM0L3Rlcm1pbmZvL2EvYWx0N3BjCisvdXNyL3NoYSwgNDAwMCkKK1NBWC5jaGFyYWN0ZXJzKC9hL2F0dDQ0MTUtdworL3Vzci9zaGFyZS9uY3Vyc2UsIDQwMDApCitTQVguY2hhcmFjdGVycyhzZXM0L3Rlcm1pbmZvL2IvYmVlCisvdXNyL3NoYXJlLCA0MDAwKQorU0FYLmNoYXJhY3RlcnMoci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvLCA0MDAwKQorU0FYLmNoYXJhY3RlcnMoL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kLCA0MDAwKQorU0FYLmNoYXJhY3RlcnMoc3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZy9nLCA0MDAwKQorU0FYLmNoYXJhY3RlcnMoL3Rlcm1pbmZvL2gvaHAyNjI2LTEyeDQwCisvdXNyLywgNDAwMCkKK1NBWC5jaGFyYWN0ZXJzKGUvbmN1cnNlczQvdGVybWluZm8vaS9pbnRlcnR1YiwgNDAwMCkKK1NBWC5jaGFyYWN0ZXJzKHJzZXM0L3Rlcm1pbmZvL20vbXNrZXJtaXQyMjcxNCwgNDAwMCkKK1NBWC5jaGFyYWN0ZXJzKGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3AxMi1tCissIDQwMDApCitTQVguY2hhcmFjdGVycyhwdDEwMHcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVyLCA0MDAwKQorU0FYLmNoYXJhY3RlcnMoc3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zLCA0MDAwKQorU0FYLmNoYXJhY3RlcnModXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvLCA0MDAwKQorU0FYLmNoYXJhY3RlcnMoc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92aTU1LCA0MDAwKQorU0FYLmNoYXJhY3RlcnMoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kxNjAtLCA0MDAwKQorU0FYLmNoYXJhY3RlcnMoL3d5OTlndC12YgorL3Vzci9zaGFyZS9uY3Vyc2VzNCwgNDAwMCkKK1NBWC5jaGFyYWN0ZXJzKC93L3d5c2U5OWd0CisvdXNyL3NoYXJlL25jdXJzZXMsIDI5MDcpCitTQVguZW5kRWxlbWVudChSUE06RmlsZXMpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnQoUkRGOkRlc2NyaXB0aW9uKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguZW5kRWxlbWVudChSREY6UkRGKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JkZjIuc2F4MiBiL2xpYnhtbDIvcmVzdWx0L3JkZjIuc2F4MgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zODgxNzRmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmRmMi5zYXgyCkBAIC0wLDAgKzEsMTkxIEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5zdGFydEVsZW1lbnROcyhSREYsIFJERiwgJ2h0dHA6Ly93d3cudzMub3JnL1RSL1dELXJkZi1zeW50YXgjJywgMiwgeG1sbnM6UkRGPSdodHRwOi8vd3d3LnczLm9yZy9UUi9XRC1yZGYtc3ludGF4IycsIHhtbG5zOlJQTT0naHR0cDovL3d3dy5ycG0ub3JnLycsIDAsIDApCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKERlc2NyaXB0aW9uLCBSREYsICdodHRwOi8vd3d3LnczLm9yZy9UUi9XRC1yZGYtc3ludGF4IycsIDAsIDEsIDAsIGFib3V0PSdmdHA6Li4uJywgNzEpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoTmFtZSwgUlBNLCAnaHR0cDovL3d3dy5ycG0ub3JnLycsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhuY3Vyc2VzNCwgOCkKK1NBWC5lbmRFbGVtZW50TnMoTmFtZSwgUlBNLCAnaHR0cDovL3d3dy5ycG0ub3JnLycpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoVmVyc2lvbiwgUlBNLCAnaHR0cDovL3d3dy5ycG0ub3JnLycsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyg0LjIsIDMpCitTQVguZW5kRWxlbWVudE5zKFZlcnNpb24sIFJQTSwgJ2h0dHA6Ly93d3cucnBtLm9yZy8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKFJlbGVhc2UsIFJQTSwgJ2h0dHA6Ly93d3cucnBtLm9yZy8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoMywgMSkKK1NBWC5lbmRFbGVtZW50TnMoUmVsZWFzZSwgUlBNLCAnaHR0cDovL3d3dy5ycG0ub3JnLycpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoQXJjaCwgUlBNLCAnaHR0cDovL3d3dy5ycG0ub3JnLycsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhpMzg2LCA0KQorU0FYLmVuZEVsZW1lbnROcyhBcmNoLCBSUE0sICdodHRwOi8vd3d3LnJwbS5vcmcvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhPcywgUlBNLCAnaHR0cDovL3d3dy5ycG0ub3JnLycsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhMaW51eCwgNSkKK1NBWC5lbmRFbGVtZW50TnMoT3MsIFJQTSwgJ2h0dHA6Ly93d3cucnBtLm9yZy8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKERpc3RyaWJ1dGlvbiwgUlBNLCAnaHR0cDovL3d3dy5ycG0ub3JnLycsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhETEQsIDMpCitTQVguZW5kRWxlbWVudE5zKERpc3RyaWJ1dGlvbiwgUlBNLCAnaHR0cDovL3d3dy5ycG0ub3JnLycpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoVmVuZG9yLCBSUE0sICdodHRwOi8vd3d3LnJwbS5vcmcvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKGRlbGl4IENvbXB1dGVyIEdtYkgsIDE5KQorU0FYLmVuZEVsZW1lbnROcyhWZW5kb3IsIFJQTSwgJ2h0dHA6Ly93d3cucnBtLm9yZy8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKFBhY2thZ2VyLCBSUE0sICdodHRwOi8vd3d3LnJwbS5vcmcvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKFRpbGwgQnViZWNrICwgMTIpCitTQVguY2hhcmFjdGVycyg8LCAxKQorU0FYLmNoYXJhY3RlcnMoYnViZWNrQGRlbGl4LmRlLCAxNSkKK1NBWC5jaGFyYWN0ZXJzKD4sIDEpCitTQVguY2hhcmFjdGVycygsIE5nbyBUaGFuICwgMTEpCitTQVguY2hhcmFjdGVycyg8LCAxKQorU0FYLmNoYXJhY3RlcnModGhhbkBkZWxpeC5kZSwgMTMpCitTQVguY2hhcmFjdGVycyg+LCAxKQorU0FYLmVuZEVsZW1lbnROcyhQYWNrYWdlciwgUlBNLCAnaHR0cDovL3d3dy5ycG0ub3JnLycpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoR3JvdXAsIFJQTSwgJ2h0dHA6Ly93d3cucnBtLm9yZy8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoTGlicmFyaWVzLCA5KQorU0FYLmVuZEVsZW1lbnROcyhHcm91cCwgUlBNLCAnaHR0cDovL3d3dy5ycG0ub3JnLycpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoU3VtbWFyeSwgUlBNLCAnaHR0cDovL3d3dy5ycG0ub3JnLycsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhCaWJsaW90aGVrIHp1ciBBbnN0ZXVlcnVuZyB2b24sIDQwKQorU0FYLmVuZEVsZW1lbnROcyhTdW1tYXJ5LCBSUE0sICdodHRwOi8vd3d3LnJwbS5vcmcvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhEZXNjcmlwdGlvbiwgUlBNLCAnaHR0cDovL3d3dy5ycG0ub3JnLycsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhEaWVzZSBMaWJyYXJ5IHN0ZWxsdCBkZW0gUHJvZ3IsIDU3KQorU0FYLmNoYXJhY3RlcnMow6QsIDIpCitTQVguY2hhcmFjdGVycyhuZ2lnZQorUm91dGluZW4genVyIEFuc3RldWVydW5nLCA1NykKK1NBWC5jaGFyYWN0ZXJzKMO8LCAyKQorU0FYLmNoYXJhY3RlcnMoZ3VuZywgZGllCitzcGV6aWVsbCBvcHRpbWllcnQgcywgNTcpCitTQVguY2hhcmFjdGVycygnLCAxKQorU0FYLmNoYXJhY3RlcnMobmV3IGN1cnNlcywgMTApCitTQVguY2hhcmFjdGVycygnLCAxKQorU0FYLmNoYXJhY3RlcnMoIChuY3Vyc2VzKSBWYXJpYW50ZSB1bmQgaXN0IGRlLCA1MSkKK1NBWC5jaGFyYWN0ZXJzKMO8LCAyKQorU0FYLmNoYXJhY3RlcnMociBkaWUga2xhc3Npc2NoZSBDdXJzZXMtTGlicmFyLCA3MCkKK1NBWC5lbmRFbGVtZW50TnMoRGVzY3JpcHRpb24sIFJQTSwgJ2h0dHA6Ly93d3cucnBtLm9yZy8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKENvcHlyaWdodCwgUlBNLCAnaHR0cDovL3d3dy5ycG0ub3JnLycsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhHUEwsIDMpCitTQVguZW5kRWxlbWVudE5zKENvcHlyaWdodCwgUlBNLCAnaHR0cDovL3d3dy5ycG0ub3JnLycpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoU291cmNlcywgUlBNLCAnaHR0cDovL3d3dy5ycG0ub3JnLycsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhuY3Vyc2VzNC00LjItMy5zcmMucnBtLCAyMikKK1NBWC5lbmRFbGVtZW50TnMoU291cmNlcywgUlBNLCAnaHR0cDovL3d3dy5ycG0ub3JnLycpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoQnVpbGREYXRlLCBSUE0sICdodHRwOi8vd3d3LnJwbS5vcmcvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKFR1ZSBNYXkgMTIgMTk6MzA6MjYgMTk5OCwgMjQpCitTQVguZW5kRWxlbWVudE5zKEJ1aWxkRGF0ZSwgUlBNLCAnaHR0cDovL3d3dy5ycG0ub3JnLycpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoRGF0ZSwgUlBNLCAnaHR0cDovL3d3dy5ycG0ub3JnLycsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyg4OTUwMTU4MjYsIDkpCitTQVguZW5kRWxlbWVudE5zKERhdGUsIFJQTSwgJ2h0dHA6Ly93d3cucnBtLm9yZy8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKFNpemUsIFJQTSwgJ2h0dHA6Ly93d3cucnBtLm9yZy8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoMTM3MzUxMywgNykKK1NBWC5lbmRFbGVtZW50TnMoU2l6ZSwgUlBNLCAnaHR0cDovL3d3dy5ycG0ub3JnLycpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoQnVpbGRIb3N0LCBSUE0sICdodHRwOi8vd3d3LnJwbS5vcmcvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKGVyZGJlZXJlLmRlbGl4LmRlLCAxNykKK1NBWC5lbmRFbGVtZW50TnMoQnVpbGRIb3N0LCBSUE0sICdodHRwOi8vd3d3LnJwbS5vcmcvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhQcm92aWRlcywgUlBNLCAnaHR0cDovL3d3dy5ycG0ub3JnLycsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycygKKyAgICAgICwgNykKK1NBWC5zdGFydEVsZW1lbnROcyhCYWcsIFJERiwgJ2h0dHA6Ly93d3cudzMub3JnL1RSL1dELXJkZi1zeW50YXgjJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAsIDkpCitTQVguc3RhcnRFbGVtZW50TnMoUmVzb3VyY2UsIFJQTSwgJ2h0dHA6Ly93d3cucnBtLm9yZy8nLCAwLCAxLCAwLCBocmVmPScuLi8uLi4uJywgMzcpCitTQVguY2hhcmFjdGVycyhuY3Vyc2VzNCwgOCkKK1NBWC5lbmRFbGVtZW50TnMoUmVzb3VyY2UsIFJQTSwgJ2h0dHA6Ly93d3cucnBtLm9yZy8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5zdGFydEVsZW1lbnROcyhSZXNvdXJjZSwgUlBNLCAnaHR0cDovL3d3dy5ycG0ub3JnLycsIDAsIDEsIDAsIGhyZWY9Jy4uLy4uLi4nLCA0MikKK1NBWC5jaGFyYWN0ZXJzKGxpYnBhbmVsLnNvLjQsIDEzKQorU0FYLmVuZEVsZW1lbnROcyhSZXNvdXJjZSwgUlBNLCAnaHR0cDovL3d3dy5ycG0ub3JnLycpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgLCA5KQorU0FYLnN0YXJ0RWxlbWVudE5zKFJlc291cmNlLCBSUE0sICdodHRwOi8vd3d3LnJwbS5vcmcvJywgMCwgMSwgMCwgaHJlZj0nLi4vLi4uLicsIDQ0KQorU0FYLmNoYXJhY3RlcnMobGlibmN1cnNlcy5zby40LCAxNSkKK1NBWC5lbmRFbGVtZW50TnMoUmVzb3VyY2UsIFJQTSwgJ2h0dHA6Ly93d3cucnBtLm9yZy8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5zdGFydEVsZW1lbnROcyhSZXNvdXJjZSwgUlBNLCAnaHR0cDovL3d3dy5ycG0ub3JnLycsIDAsIDEsIDAsIGhyZWY9Jy4uLy4uLi4nLCA0MSkKK1NBWC5jaGFyYWN0ZXJzKGxpYm1lbnUuc28uNCwgMTIpCitTQVguZW5kRWxlbWVudE5zKFJlc291cmNlLCBSUE0sICdodHRwOi8vd3d3LnJwbS5vcmcvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAsIDkpCitTQVguc3RhcnRFbGVtZW50TnMoUmVzb3VyY2UsIFJQTSwgJ2h0dHA6Ly93d3cucnBtLm9yZy8nLCAwLCAxLCAwLCBocmVmPScuLi8uLi4uJywgNDEpCitTQVguY2hhcmFjdGVycyhsaWJmb3JtLnNvLjQsIDEyKQorU0FYLmVuZEVsZW1lbnROcyhSZXNvdXJjZSwgUlBNLCAnaHR0cDovL3d3dy5ycG0ub3JnLycpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgLCA5KQorU0FYLnN0YXJ0RWxlbWVudE5zKFJlc291cmNlLCBSUE0sICdodHRwOi8vd3d3LnJwbS5vcmcvJywgMCwgMSwgMCwgaHJlZj0nLi4vLi4uLicsIDM2KQorU0FYLmNoYXJhY3RlcnMobmN1cnNlcywgNykKK1NBWC5lbmRFbGVtZW50TnMoUmVzb3VyY2UsIFJQTSwgJ2h0dHA6Ly93d3cucnBtLm9yZy8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAsIDcpCitTQVguZW5kRWxlbWVudE5zKEJhZywgUkRGLCAnaHR0cDovL3d3dy53My5vcmcvVFIvV0QtcmRmLXN5bnRheCMnKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLmVuZEVsZW1lbnROcyhQcm92aWRlcywgUlBNLCAnaHR0cDovL3d3dy5ycG0ub3JnLycpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoRmlsZXMsIFJQTSwgJ2h0dHA6Ly93d3cucnBtLm9yZy8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoL2xpYi9saWJuY3Vyc2VzLnNvLjQKKy9saWIvbGlibiwgMjAwOCkKK1NBWC5jaGFyYWN0ZXJzKC9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9QL1AxNCwgNDAwMCkKK1NBWC5jaGFyYWN0ZXJzKGVzNC90ZXJtaW5mby9hL2FsdDdwYworL3Vzci9zaGEsIDQwMDApCitTQVguY2hhcmFjdGVycygvYS9hdHQ0NDE1LXcKKy91c3Ivc2hhcmUvbmN1cnNlLCA0MDAwKQorU0FYLmNoYXJhY3RlcnMoc2VzNC90ZXJtaW5mby9iL2JlZQorL3Vzci9zaGFyZSwgNDAwMCkKK1NBWC5jaGFyYWN0ZXJzKHIvc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jbywgNDAwMCkKK1NBWC5jaGFyYWN0ZXJzKC91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZCwgNDAwMCkKK1NBWC5jaGFyYWN0ZXJzKHNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cvZywgNDAwMCkKK1NBWC5jaGFyYWN0ZXJzKC90ZXJtaW5mby9oL2hwMjYyNi0xMng0MAorL3Vzci8sIDQwMDApCitTQVguY2hhcmFjdGVycyhlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaW50ZXJ0dWIsIDQwMDApCitTQVguY2hhcmFjdGVycyhyc2VzNC90ZXJtaW5mby9tL21za2VybWl0MjI3MTQsIDQwMDApCitTQVguY2hhcmFjdGVycyhhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wMTItbQorLCA0MDAwKQorU0FYLmNoYXJhY3RlcnMocHQxMDB3CisvdXNyL3NoYXJlL25jdXJzZXM0L3RlciwgNDAwMCkKK1NBWC5jaGFyYWN0ZXJzKHNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3MvcywgNDAwMCkKK1NBWC5jaGFyYWN0ZXJzKHVzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90LywgNDAwMCkKK1NBWC5jaGFyYWN0ZXJzKHNoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Yvdmk1NSwgNDAwMCkKK1NBWC5jaGFyYWN0ZXJzKGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MTYwLSwgNDAwMCkKK1NBWC5jaGFyYWN0ZXJzKC93eTk5Z3QtdmIKKy91c3Ivc2hhcmUvbmN1cnNlczQsIDQwMDApCitTQVguY2hhcmFjdGVycygvdy93eXNlOTlndAorL3Vzci9zaGFyZS9uY3Vyc2VzLCAyOTA3KQorU0FYLmVuZEVsZW1lbnROcyhGaWxlcywgUlBNLCAnaHR0cDovL3d3dy5ycG0ub3JnLycpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnROcyhEZXNjcmlwdGlvbiwgUkRGLCAnaHR0cDovL3d3dy53My5vcmcvVFIvV0QtcmRmLXN5bnRheCMnKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguZW5kRWxlbWVudE5zKFJERiwgUkRGLCAnaHR0cDovL3d3dy53My5vcmcvVFIvV0QtcmRmLXN5bnRheCMnKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlZ2V4cC9icmFuY2ggYi9saWJ4bWwyL3Jlc3VsdC9yZWdleHAvYnJhbmNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRkNzAzYWMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWdleHAvYnJhbmNoCkBAIC0wLDAgKzEsMTQgQEAKK1JlZ2V4cDogYXxiKGR8ZShnfGh8aSl8Zil8YworYTogT2sKK2M6IE9rCitiZDogT2sKK2JmOiBPaworYmVnOiBPaworYmVoOiBPaworYmVpOiBPaworYjogRmFpbAorYmU6IEZhaWwKK2JpOiBGYWlsCitmOiBGYWlsCithYjogRmFpbAorYWM6IEZhaWwKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlZ2V4cC9idWczMTYzMzggYi9saWJ4bWwyL3Jlc3VsdC9yZWdleHAvYnVnMzE2MzM4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFjZDFhYzAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWdleHAvYnVnMzE2MzM4CkBAIC0wLDAgKzEsMjAgQEAKK1JlZ2V4cDogKCgoQ3xjKSgoW1xzXSpcLT9bMC05XSsoXC5bMC05XSspPygoZXxFKVwtP1swLTldKyk/KXszfSkrW1xzXSopKSsKK0MgNDMzOiBPaworQyA0MzMgMTI6IEZhaWwKK0MgNDMzIDEyMzogT2sKK0MgNDMzIDEyMyA0NTY6IE9rCitDIDcyNC42NCw0MzMuMTIgNzE4LjA4LDQzMy4xMiA3MTEuNTIsNDMzLjEyIDcyNC42NCw0MzMuMTIgNzE4LjA4LDQzMy4xMiA3MTEuNTIsNDMzLjEyIDcyNC42NCw0MzMuMTIgNzE4LjA4LDQzMy4xMiA3MTEuNTIsNDMzLjEyIDcyNC42NCw0MzMuMTIgNzE4LjA4LDQzMy4xMiA3MTEuNTIsNDMzLjEyIDcyNC42NCw0MzMuMTIgNzE4LjA4LDQzMy4xMiA3MTEuNTIsNDMzLjEyIDcyNC42NCw0MzMuMTIgNzE4LjA4LDQzMy4xMiA3MTEuNTIsNDMzLjEyIDcyNC42NCw0MzMuMTIgNzE4LjA4LDQzMy4xMiA3MTEuNTIsNDMzLjEyIDcyNC42NCw0MzMuMTIgNzE4LjA4LDQzMy4xMiA3MTEuNTIsNDMzLjEyIDcyNC42NCw0MzMuMTIgNzE4LjA4LDQzMy4xMiA3MTEuNTIsNDMzLjEyIDcyNC42NCw0MzMuMTIgNzE4LjA4LDQzMy4xMiA3MTEuNTIsNDMzLjEyOiBGYWlsCitSZWdleHA6ICgoKEN8YykoKFtcc10rXC0/WzAtOV0rKFwuWzAtOV0rKT8oKGV8RSlcLT9bMC05XSspPyl7M30pK1tcc10qKSkrCitDIDQzMzogRmFpbAorQyA0MzMgMTI6IEZhaWwKK0MgNDMzIDEyMzogRmFpbAorQyA0MzMgMTIzIDQ1NjogT2sKK0MgNzI0LjY0LDQzMy4xMiA3MTguMDgsNDMzLjEyIDcxMS41Miw0MzMuMTIgNzI0LjY0LDQzMy4xMiA3MTguMDgsNDMzLjEyIDcxMS41Miw0MzMuMTIgNzI0LjY0LDQzMy4xMiA3MTguMDgsNDMzLjEyIDcxMS41Miw0MzMuMTIgNzI0LjY0LDQzMy4xMiA3MTguMDgsNDMzLjEyIDcxMS41Miw0MzMuMTIgNzI0LjY0LDQzMy4xMiA3MTguMDgsNDMzLjEyIDcxMS41Miw0MzMuMTIgNzI0LjY0LDQzMy4xMiA3MTguMDgsNDMzLjEyIDcxMS41Miw0MzMuMTIgNzI0LjY0LDQzMy4xMiA3MTguMDgsNDMzLjEyIDcxMS41Miw0MzMuMTIgNzI0LjY0LDQzMy4xMiA3MTguMDgsNDMzLjEyIDcxMS41Miw0MzMuMTIgNzI0LjY0LDQzMy4xMiA3MTguMDgsNDMzLjEyIDcxMS41Miw0MzMuMTIgNzI0LjY0LDQzMy4xMiA3MTguMDgsNDMzLjEyIDcxMS41Miw0MzMuMTI6IEZhaWwKK1JlZ2V4cDogKCgoQ3xjKSgoW1xzXStcLT9bMC05XSsoXC5bMC05XSspP1tcc10qLFtcc10qXC0/WzAtOV0rKFwuWzAtOV0rKT8pezN9KStbXHNdKikpKworQyA0MzM6IEZhaWwKK0MgNDMzIDEyOiBGYWlsCitDIDQzMyAxMjM6IEZhaWwKK0MgNDMzIDEyMyA0NTY6IEZhaWwKK0MgNzI0LjY0LDQzMy4xMiA3MTguMDgsNDMzLjEyIDcxMS41Miw0MzMuMTIgNzI0LjY0LDQzMy4xMiA3MTguMDgsNDMzLjEyIDcxMS41Miw0MzMuMTIgNzI0LjY0LDQzMy4xMiA3MTguMDgsNDMzLjEyIDcxMS41Miw0MzMuMTIgNzI0LjY0LDQzMy4xMjcxOC4wOCw0MzMuMTIgNzExLjUyLDQzMy4xMiA3MjQuNjQsNDMzLjEyIDcxOC4wOCw0MzMuMTIgNzExLjUyLDQzMy4xMiA3MjQuNjQsNDMzLjEyIDcxOC4wOCw0MzMuMTIgNzExLjUyLDQzMy4xMiA3MjQuNjQsNDMzLjEyIDcxOC4wOCw0MzMuMTIgNzExLjUyLDQzMy4xMiA3MjQuNjQsNDMzLjEyIDcxOC4wOCw0MzMuMTIgNzExLjUyLDQzMy4xMiA3MjQuNjQsNDMzLjEyIDcxOC4wOCw0MzMuMTIgNzExLjUyLDQzMy4xMiA3MjQuNjQsNDMzLjEyIDcxOC4wOCw0MzMuMTIgNzExLjUyLDQzMy4xMjogRmFpbAorUmVnZXhwOiAoKChNfG0pKFtcc10rXC0/WzAtOV0rKFwuWzAtOV0rKT8oKGV8RSlcLT9bMC05XSspP1tcc10qLFtcc10qXC0/WzAtOV0rKFwuWzAtOV0rKT8oKGV8RSlcLT9bMC05XSspPylbXHNdKil8KChMfGwpKFtcc10rXC0/WzAtOV0rKFwuWzAtOV0rKT8oKGV8RSlcLT9bMC05XSspP1tcc10qLFtcc10qXC0/WzAtOV0rKFwuWzAtOV0rKT8oKGV8RSlcLT9bMC05XSspPykrW1xzXSopfCgoSHxoKShbXHNdK1wtP1swLTldKyhcLlswLTldKyk/KChlfEUpXC0/WzAtOV0rKT8pK1tcc10qKXwoKFZ8dikoW1xzXStcLT9bMC05XSsoXC5bMC05XSspPygoZXxFKVwtP1swLTldKyk/KStbXHNdKil8KChDfGMpKChbXHNdK1wtP1swLTldKyhcLlswLTldKyk/KChlfEUpXC0/WzAtOV0rKT9bXHNdKixbXHNdKlwtP1swLTldKyhcLlswLTldKyk/KChlfEUpXC0/WzAtOV0rKT8pezN9KStbXHNdKil8KChRfHEpKChbXHNdK1wtP1swLTldKyhcLlswLTldKyk/KChlfEUpXC0/WzAtOV0rKT9bXHNdKixbXHNdKlwtP1swLTldKyhcLlswLTldKyk/KChlfEUpXC0/WzAtOV0rKT8pezJ9KStbXHNdKil8KChTfHMpKChbXHNdK1wtP1swLTldKyhcLlswLTldKyk/KChlfEUpXC0/WzAtOV0rKT9bXHNdKixbXHNdKlwtP1swLTldKyhcLlswLTldKyk/KChlfEUpXC0/WzAtOV0rKT8pezJ9KStbXHNdKil8KChBfGEpKFtcc10rXC0/WzAtOV0rKFwuWzAtOV0rKT8oKGV8RSlcLT9bMC05XSspP1tcc10qLFtcc10qXC0/WzAtOV0rKFwuWzAtOV0rKT8oKGV8RSlcLT9bMC05XSspP1tcc10qXC0/WzAtOV0rKFwuWzAtOV0rKT8oKGV8RSlcLT9bMC05XSspP1tcc10rWzAtMV1bXHNdK1swLTFdW1xzXStcLT9bMC05XSsoXC5bMC05XSspPygoZXxFKVwtP1swLTldKyk/W1xzXSosW1xzXSpcLT9bMC05XSsoXC5bMC05XSspPygoZXxFKVwtP1swLTldKyk/KStbXHNdKil8KChafHopW1xzXSopKSoKK00gNzI0LjY0LDQzMy4xMiA3MTguMDgsNDMzLjEyIDcxMS41Miw0MzMuMTIgNzI0LjY0LDQzMy4xMiA3MTguMDgsNDMzLjEyIDcxMS41Miw0MzMuMTIgNzI0LjY0LDQzMy4xMiA3MTguMDgsNDMzLjEyIDcxMS41Miw0MzMuMTIgNzI0LjY0LDQzMy4xMiA3MTguMDgsNDMzLjEyIDcxMS41Miw0MzMuMTIgNzI0LjY0LDQzMy4xMiA3MTguMDgsNDMzLjEyIDcxMS41Miw0MzMuMTIgNzI0LjY0LDQzMy4xMiA3MTguMDgsNDMzLjEyIDcxMS41Miw0MzMuMTIgNzI0LjY0LDQzMy4xMiA3MTguMDgsNDMzLjEyIDcxMS41Miw0MzMuMTIgNzI0LjY0LDQzMy4xMiA3MTguMDgsNDMzLjEyIDcxMS41Miw0MzMuMTIgNzI0LjY0LDQzMy4xMiA3MTguMDgsNDMzLjEyIDcxMS41Miw0MzMuMTIgNzI0LjY0LDQzMy4xMiA3MTguMDgsNDMzLjEyIDcxMS41Miw0MzMuMTI6IEZhaWwKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlZ2V4cC9idWc0MjA1OTYgYi9saWJ4bWwyL3Jlc3VsdC9yZWdleHAvYnVnNDIwNTk2Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQyM2IzMDMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWdleHAvYnVnNDIwNTk2CkBAIC0wLDAgKzEsMTAgQEAKK1JlZ2V4cDogKFwrfC0pKDBbMC05XXwxWzAtMV0pCisrMDE6IE9rCistMDE6IE9rCisrMTA6IE9rCistMTA6IE9rCitSZWdleHA6IFsrLV0oMFswLTldfDFbMC0xXSkKKyswMTogT2sKKy0wMTogT2sKKysxMDogT2sKKy0xMDogT2sKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlZ2V4cC9jb250ZW50IGIvbGlieG1sMi9yZXN1bHQvcmVnZXhwL2NvbnRlbnQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjIwZmQ0NwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlZ2V4cC9jb250ZW50CkBAIC0wLDAgKzEsMTIgQEAKK1JlZ2V4cDogKChhfGJ8YylkZWYpCithZGVmOiBPaworYmRlZjogT2sKK2FkZWZnOiBGYWlsCithYWVmOiBGYWlsCitSZWdleHA6ICgoYXxifGN8ZHxlfGYpPyhnfGh8aSkrKGt8bCkqKQorZzogT2sKK2dpOiBPaworZmlsOiBPaworZ2lrbDogT2sKK2NnaGhoaWlsbDogT2sKK2FrOiBGYWlsCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWdleHAvaGFyZCBiL2xpYnhtbDIvcmVzdWx0L3JlZ2V4cC9oYXJkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI4ZDYxNjQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWdleHAvaGFyZApAQCAtMCwwICsxLDEyIEBACitSZWdleHA6ICgoYXxifFxwe05kfSl7MSwyfXxhYWF8YmJiYil7MSwyfQorYmFiOiBPaworYWFjYTogRmFpbAorYWFhYmJiYjogT2sKK2EwYjogT2sKK2FhMGFhYTogRmFpbAorYjBhYWE6IE9rCitSZWdleHA6IChcZHsxLDN9XC4pezN9XGR7MSwzfQorMS4yLjMuNDogT2sKKzEuMjIuMzMzLjQ0OiBPaworMS4yLjM6IEZhaWwKKzEuLjIuMzogRmFpbApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVnZXhwL25jbmFtZSBiL2xpYnhtbDIvcmVzdWx0L3JlZ2V4cC9uY25hbWUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2YxNmQ5NQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlZ2V4cC9uY25hbWUKQEAgLTAsMCArMSw2IEBACitSZWdleHA6IFtcaS1bOl1dW1xjLVs6XV0qCithOiBPaworYWJjOiBPaworYWJjMWQ6IE9rCisxYWM6IEZhaWwKK2ExYjpjOiBGYWlsCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWdleHAvcmFuZ2VzIGIvbGlieG1sMi9yZXN1bHQvcmVnZXhwL3JhbmdlcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40Y2JmMjk4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVnZXhwL3JhbmdlcwpAQCAtMCwwICsxLDE1IEBACitSZWdleHA6IGF7MiwzfQorYTogRmFpbAorYWE6IE9rCithYWE6IE9rCithYWFhOiBGYWlsCitSZWdleHA6IGJhezIsM31jCitiYWM6IEZhaWwKK2JhYWM6IE9rCitiYWFhYzogT2sKK2JhYWFhYzogRmFpbAorUmVnZXhwOiBhKGJ8Yyl7MiwzfWQKK2FiY2Q6IE9rCithY2NjZDogT2sKK2FiZDogRmFpbAorYWNjY2NkOiBGYWlsCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWdleHAvcmFuZ2VzMiBiL2xpYnhtbDIvcmVzdWx0L3JlZ2V4cC9yYW5nZXMyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgzMDU3MzIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWdleHAvcmFuZ2VzMgpAQCAtMCwwICsxLDE0IEBACitSZWdleHA6IChhfGJ7MCwzfSl7MCwxfQorYTogT2sKK2FhOiBGYWlsCitiOiBPaworYmI6IE9rCitiYmI6IE9rCitiYmJiOiBGYWlsCithYjogRmFpbAorYmE6IEZhaWwKK1JlZ2V4cDogKFswLTldezAsM318KFswLTldezB9fFswLTldezAsM30pKXswLDN9CiswOiBPaworMDA6IE9rCisxMjM6IE9rCithYmM6IEZhaWwKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlZ2V4cC94cGF0aCBiL2xpYnhtbDIvcmVzdWx0L3JlZ2V4cC94cGF0aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZjZiMTNjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVnZXhwL3hwYXRoCkBAIC0wLDAgKzEsMzIgQEAKK1JlZ2V4cDogKFwuLy8pPygoKGNoaWxkOjopPygoXGlcYyo6KT8oXGlcYyp8XCopKSl8XC4pKC8oKChjaGlsZDo6KT8oKFxpXGMqOik/KFxpXGMqfFwqKSkpfFwuKSkqKFx8KFwuLy8pPygoKGNoaWxkOjopPygoXGlcYyo6KT8oXGlcYyp8XCopKSl8XC4pKC8oKChjaGlsZDo6KT8oKFxpXGMqOik/KFxpXGMqfFwqKSkpfFwuKSkqKSoKK2E6IE9rCithMTIvYjMxMi9iMzEyL2IzMTIvYjMxMi9iMzEyL2IzMTIvYjMxMi9iMzEyL2IzMTIvYjMxMi9iMzEyL2IzOiBPaworKjogT2sKK2F8YjogT2sKKy4vL2E6YjogT2sKK2EvYi9jOiBPaworYS8qL2I6IE9rCithOiovYjoqL2M6KjogT2sKK2NoaWxkOjphL2NoaWxkOjpiOio6IE9rCitjaGlsZDo6YS9jaGlsZDo6YjoqfGEvKi9ifC4vL2E6YjogT2sKKzE6IEZhaWwKKzFhYjogRmFpbAorYToxOiBPaworQGE6IEZhaWwKK2FuY2VzdG9yOjphOiBPaworUmVnZXhwOiAoXC4vLyk/KCgoY2hpbGQ6Oik/KChbXGktWzpdXVtcYy1bOl1dKjopPyhbXGktWzpdXVtcYy1bOl1dKnxcKikpKXxcLikoLygoKGNoaWxkOjopPygoW1xpLVs6XV1bXGMtWzpdXSo6KT8oW1xpLVs6XV1bXGMtWzpdXSp8XCopKSl8XC4pKSooXHwoXC4vLyk/KCgoY2hpbGQ6Oik/KChbXGktWzpdXVtcYy1bOl1dKjopPyhbXGktWzpdXVtcYy1bOl1dKnxcKikpKXxcLikoLygoKGNoaWxkOjopPygoW1xpLVs6XV1bXGMtWzpdXSo6KT8oW1xpLVs6XV1bXGMtWzpdXSp8XCopKSl8XC4pKSopKgorYTogT2sKK2ExMi9iMzEyL2IzMTIvYjMxMi9iMzEyL2IzMTIvYjMxMi9iMzEyL2IzMTIvYjMxMi9iMzEyL2IzMTIvYjM6IE9rCisqOiBPaworYXxiOiBPaworLi8vYTpiOiBPaworYS9iL2M6IE9rCithLyovYjogT2sKK2E6Ki9iOiovYzoqOiBPaworY2hpbGQ6OmEvY2hpbGQ6OmI6KjogT2sKK2NoaWxkOjphL2NoaWxkOjpiOip8YS8qL2J8Li8vYTpiOiBPaworMTogRmFpbAorMWFiOiBGYWlsCithOjE6IEZhaWwKK0BhOiBGYWlsCithbmNlc3Rvcjo6YTogRmFpbApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy8zMDI4MzZfMCBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvMzAyODM2XzAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvMzAyODM2XzAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvMzAyODM2XzAuZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy8zMDI4MzZfMC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDZhZTQzYwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvMzAyODM2XzAuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nLzMwMjgzNl8wLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvMzAyODM2X2VyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvMzAyODM2X2VycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYWIyZDc4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy8zMDI4MzZfZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nLzMwMjgzNi5ybmcgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nLzMwMjgzNl92YWxpZCBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvMzAyODM2X3ZhbGlkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nLzMwMjgzNl92YWxpZApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy8zMDczNzdfMCBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvMzA3Mzc3XzAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvMzA3Mzc3XzAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvMzA3Mzc3XzAuZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy8zMDczNzdfMC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWY0NjViYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvMzA3Mzc3XzAuZXJyCkBAIC0wLDAgKzEsMiBAQAorLi90ZXN0L3JlbGF4bmcvMzA3Mzc3XzAueG1sOjE6IGVsZW1lbnQgbnVtYmVyOiBSZWxheC1ORyB2YWxpZGl0eSBlcnJvciA6IEVsZW1lbnQgbnVtYmVyIGZhaWxlZCB0byB2YWxpZGF0ZSBhdHRyaWJ1dGVzCisuL3Rlc3QvcmVsYXhuZy8zMDczNzdfMC54bWwgZmFpbHMgdG8gdmFsaWRhdGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvMzA3Mzc3XzEgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nLzMwNzM3N18xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nLzMwNzM3N18xCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nLzMwNzM3N18xLmVyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvMzA3Mzc3XzEuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFiZmI1MzMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nLzMwNzM3N18xLmVycgpAQCAtMCwwICsxLDMgQEAKKy4vdGVzdC9yZWxheG5nLzMwNzM3N18xLnhtbDoxOiBlbGVtZW50IG51bWJlcjogUmVsYXgtTkcgdmFsaWRpdHkgZXJyb3IgOiBFeHRyYSBkYXRhIGluIGxpc3Q6IGEKKy4vdGVzdC9yZWxheG5nLzMwNzM3N18xLnhtbDoxOiBlbGVtZW50IG51bWJlcjogUmVsYXgtTkcgdmFsaWRpdHkgZXJyb3IgOiBFbGVtZW50IG51bWJlciBmYWlsZWQgdG8gdmFsaWRhdGUgYXR0cmlidXRlcworLi90ZXN0L3JlbGF4bmcvMzA3Mzc3XzEueG1sIGZhaWxzIHRvIHZhbGlkYXRlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nLzMwNzM3N18yIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy8zMDczNzdfMgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy8zMDczNzdfMgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy8zMDczNzdfMi5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nLzMwNzM3N18yLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNThlYTQyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy8zMDczNzdfMi5lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3JlbGF4bmcvMzA3Mzc3XzIueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy8zMDczNzdfZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy8zMDczNzdfZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU3MDVlYWIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nLzMwNzM3N19lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3JlbGF4bmcvMzA3Mzc3LnJuZyB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvMzA3Mzc3X3ZhbGlkIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy8zMDczNzdfdmFsaWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvMzA3Mzc3X3ZhbGlkCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nLzQ5MjMxN18wIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy80OTIzMTdfMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy80OTIzMTdfMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy80OTIzMTdfMC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nLzQ5MjMxN18wLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YjhkYjE1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy80OTIzMTdfMC5lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3JlbGF4bmcvNDkyMzE3XzAueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy80OTIzMTdfMSBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvNDkyMzE3XzEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvNDkyMzE3XzEKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvNDkyMzE3XzEuZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy80OTIzMTdfMS5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTc3ZWU3YgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvNDkyMzE3XzEuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nLzQ5MjMxN18xLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvNDkyMzE3XzIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nLzQ5MjMxN18yCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nLzQ5MjMxN18yCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nLzQ5MjMxN18yLmVyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvNDkyMzE3XzIuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU4YjIyZTcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nLzQ5MjMxN18yLmVycgpAQCAtMCwwICsxLDMgQEAKKy4vdGVzdC9yZWxheG5nLzQ5MjMxN18yLnhtbDoyOiBlbGVtZW50IGNoaWxkOiBSZWxheC1ORyB2YWxpZGl0eSBlcnJvciA6IEVsZW1lbnQgY2hpbGQgZmFpbGVkIHRvIHZhbGlkYXRlIGF0dHJpYnV0ZXMKKy4vdGVzdC9yZWxheG5nLzQ5MjMxN18yLnhtbDoxOiBlbGVtZW50IHJvb3Q6IFJlbGF4LU5HIHZhbGlkaXR5IGVycm9yIDogRWxlbWVudCByb290IGZhaWxlZCB0byB2YWxpZGF0ZSBjb250ZW50CisuL3Rlc3QvcmVsYXhuZy80OTIzMTdfMi54bWwgZmFpbHMgdG8gdmFsaWRhdGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvNDkyMzE3X2VyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvNDkyMzE3X2VycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZjA3NTM5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy80OTIzMTdfZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nLzQ5MjMxNy5ybmcgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nLzQ5MjMxN192YWxpZCBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvNDkyMzE3X3ZhbGlkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nLzQ5MjMxN192YWxpZApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy81NTg0NTJfMCBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvNTU4NDUyXzAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvNTU4NDUyXzAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvNTU4NDUyXzAuZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy81NTg0NTJfMC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmVjYzNlOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvNTU4NDUyXzAuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nLzU1ODQ1Ml8wLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvNTU4NDUyXzEgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nLzU1ODQ1Ml8xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nLzU1ODQ1Ml8xCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nLzU1ODQ1Ml8xLmVyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvNTU4NDUyXzEuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFlMjI1YmUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nLzU1ODQ1Ml8xLmVycgpAQCAtMCwwICsxLDIgQEAKKy4vdGVzdC9yZWxheG5nLzU1ODQ1Ml8xLnhtbDoyOiBlbGVtZW50IGRvYzogUmVsYXgtTkcgdmFsaWRpdHkgZXJyb3IgOiBFeHBlY3RpbmcgYW4gZWxlbWVudCAsIGdvdCBub3RoaW5nCisuL3Rlc3QvcmVsYXhuZy81NTg0NTJfMS54bWwgZmFpbHMgdG8gdmFsaWRhdGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvNTU4NDUyXzIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nLzU1ODQ1Ml8yCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nLzU1ODQ1Ml8yCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nLzU1ODQ1Ml8yLmVyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvNTU4NDUyXzIuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ0ODI4N2MKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nLzU1ODQ1Ml8yLmVycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy81NTg0NTJfMi54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nLzU1ODQ1Ml8zIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy81NTg0NTJfMwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy81NTg0NTJfMwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy81NTg0NTJfMy5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nLzU1ODQ1Ml8zLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZDMzY2RiCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy81NTg0NTJfMy5lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3JlbGF4bmcvNTU4NDUyXzMueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy81NTg0NTJfNCBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvNTU4NDUyXzQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvNTU4NDUyXzQKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvNTU4NDUyXzQuZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy81NTg0NTJfNC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjJlMTJmYQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvNTU4NDUyXzQuZXJyCkBAIC0wLDAgKzEsMiBAQAorLi90ZXN0L3JlbGF4bmcvNTU4NDUyXzQueG1sOjY6IGVsZW1lbnQgZWxlbTogUmVsYXgtTkcgdmFsaWRpdHkgZXJyb3IgOiBEaWQgbm90IGV4cGVjdCBlbGVtZW50IGVsZW0gdGhlcmUKKy4vdGVzdC9yZWxheG5nLzU1ODQ1Ml80LnhtbCBmYWlscyB0byB2YWxpZGF0ZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy81NTg0NTJfZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy81NTg0NTJfZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIxNjI4NDYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nLzU1ODQ1Ml9lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3JlbGF4bmcvNTU4NDUyLnJuZyB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvNTU4NDUyX3ZhbGlkIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy81NTg0NTJfdmFsaWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvNTU4NDUyX3ZhbGlkCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nLzU5NTc5Mi1leHRfZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy81OTU3OTItZXh0X2VycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wOTJmZGJkCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy81OTU3OTItZXh0X2VycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy81OTU3OTItZXh0LnJuZyB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvNTk1NzkyLWV4dF92YWxpZCBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvNTk1NzkyLWV4dF92YWxpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy81OTU3OTItZXh0X3ZhbGlkCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nLzU5NTc5Ml8wIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy81OTU3OTJfMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy81OTU3OTJfMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy81OTU3OTJfMC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nLzU5NTc5Ml8wLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYmQ3M2NkCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy81OTU3OTJfMC5lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3JlbGF4bmcvNTk1NzkyXzAueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy81OTU3OTJfZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy81OTU3OTJfZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU5ZjMxOTIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nLzU5NTc5Ml9lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3JlbGF4bmcvNTk1NzkyLnJuZyB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvNTk1NzkyX3ZhbGlkIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy81OTU3OTJfdmFsaWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvNTk1NzkyX3ZhbGlkCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nLzcxMDc0NF8xIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy83MTA3NDRfMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy83MTA3NDRfMQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy83MTA3NDRfMS5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nLzcxMDc0NF8xLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NzQzN2ViCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy83MTA3NDRfMS5lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3JlbGF4bmcvNzEwNzQ0XzEueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy83MTA3NDRfMiBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvNzEwNzQ0XzIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvNzEwNzQ0XzIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvNzEwNzQ0XzIuZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy83MTA3NDRfMi5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWU4ZDhhYwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvNzEwNzQ0XzIuZXJyCkBAIC0wLDAgKzEsMiBAQAorLi90ZXN0L3JlbGF4bmcvNzEwNzQ0XzIueG1sOjM6IGVsZW1lbnQgdGVzdDogUmVsYXgtTkcgdmFsaWRpdHkgZXJyb3IgOiBJbnZhbGlkIGF0dHJpYnV0ZSBmb28gZm9yIGVsZW1lbnQgdGVzdAorLi90ZXN0L3JlbGF4bmcvNzEwNzQ0XzIueG1sIGZhaWxzIHRvIHZhbGlkYXRlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL09wZW5Eb2N1bWVudFN1Yl8wIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9PcGVuRG9jdW1lbnRTdWJfMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9PcGVuRG9jdW1lbnRTdWJfMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9PcGVuRG9jdW1lbnRTdWJfMC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL09wZW5Eb2N1bWVudFN1Yl8wLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMWM2OTE3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9PcGVuRG9jdW1lbnRTdWJfMC5lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3JlbGF4bmcvT3BlbkRvY3VtZW50U3ViXzAueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9PcGVuRG9jdW1lbnRTdWJfZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9PcGVuRG9jdW1lbnRTdWJfZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk0MWQ2YzQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL09wZW5Eb2N1bWVudFN1Yl9lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3JlbGF4bmcvT3BlbkRvY3VtZW50U3ViLnJuZyB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvT3BlbkRvY3VtZW50U3ViX3ZhbGlkIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9PcGVuRG9jdW1lbnRTdWJfdmFsaWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvT3BlbkRvY3VtZW50U3ViX3ZhbGlkCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2FkZHJlc3NCb29rX2VyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvYWRkcmVzc0Jvb2tfZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU4NGQ1NWEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2FkZHJlc3NCb29rX2VycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy9hZGRyZXNzQm9vay5ybmcgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2FkZHJlc3NCb29rX3ZhbGlkIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9hZGRyZXNzQm9va192YWxpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9hZGRyZXNzQm9va192YWxpZApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9jaG9pY2UwXzAgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2Nob2ljZTBfMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9jaG9pY2UwXzAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvY2hvaWNlMF8wLmVyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvY2hvaWNlMF8wLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MTk4ZmE3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9jaG9pY2UwXzAuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nL2Nob2ljZTBfMC54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2Nob2ljZTBfMSBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvY2hvaWNlMF8xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2Nob2ljZTBfMQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9jaG9pY2UwXzEuZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9jaG9pY2UwXzEuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUxMjE0YmEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2Nob2ljZTBfMS5lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3JlbGF4bmcvY2hvaWNlMF8xLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvY2hvaWNlMF8yIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9jaG9pY2UwXzIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvY2hvaWNlMF8yCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2Nob2ljZTBfMi5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2Nob2ljZTBfMi5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTliZDNjYwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvY2hvaWNlMF8yLmVycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy9jaG9pY2UwXzIueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9jaG9pY2UwXzMgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2Nob2ljZTBfMwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9jaG9pY2UwXzMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvY2hvaWNlMF8zLmVyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvY2hvaWNlMF8zLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jODIzNDVmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9jaG9pY2UwXzMuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nL2Nob2ljZTBfMy54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2Nob2ljZTBfNCBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvY2hvaWNlMF80Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2Nob2ljZTBfNApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9jaG9pY2UwXzQuZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9jaG9pY2UwXzQuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRjYTE0NWIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2Nob2ljZTBfNC5lcnIKQEAgLTAsMCArMSwyIEBACisuL3Rlc3QvcmVsYXhuZy9jaG9pY2UwXzQueG1sOjE6IGVsZW1lbnQgZGV2aWNlOiBSZWxheC1ORyB2YWxpZGl0eSBlcnJvciA6IEVsZW1lbnQgZGV2aWNlIGZhaWxlZCB0byB2YWxpZGF0ZSBjb250ZW50CisuL3Rlc3QvcmVsYXhuZy9jaG9pY2UwXzQueG1sIGZhaWxzIHRvIHZhbGlkYXRlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2Nob2ljZTBfNSBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvY2hvaWNlMF81Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2Nob2ljZTBfNQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9jaG9pY2UwXzUuZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9jaG9pY2UwXzUuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE4ZGQxYzkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2Nob2ljZTBfNS5lcnIKQEAgLTAsMCArMSwyIEBACisuL3Rlc3QvcmVsYXhuZy9jaG9pY2UwXzUueG1sOjE6IGVsZW1lbnQgZGV2aWNlOiBSZWxheC1ORyB2YWxpZGl0eSBlcnJvciA6IEVsZW1lbnQgZGV2aWNlIGZhaWxlZCB0byB2YWxpZGF0ZSBjb250ZW50CisuL3Rlc3QvcmVsYXhuZy9jaG9pY2UwXzUueG1sIGZhaWxzIHRvIHZhbGlkYXRlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2Nob2ljZTBfNiBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvY2hvaWNlMF82Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2Nob2ljZTBfNgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9jaG9pY2UwXzYuZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9jaG9pY2UwXzYuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRmYWNiMDMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2Nob2ljZTBfNi5lcnIKQEAgLTAsMCArMSwyIEBACisuL3Rlc3QvcmVsYXhuZy9jaG9pY2UwXzYueG1sOjE6IGVsZW1lbnQgZGV2aWNlOiBSZWxheC1ORyB2YWxpZGl0eSBlcnJvciA6IEVsZW1lbnQgZGV2aWNlIGZhaWxlZCB0byB2YWxpZGF0ZSBjb250ZW50CisuL3Rlc3QvcmVsYXhuZy9jaG9pY2UwXzYueG1sIGZhaWxzIHRvIHZhbGlkYXRlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2Nob2ljZTBfNyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvY2hvaWNlMF83Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2Nob2ljZTBfNwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9jaG9pY2UwXzcuZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9jaG9pY2UwXzcuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg5YjllMzIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2Nob2ljZTBfNy5lcnIKQEAgLTAsMCArMSwzIEBACisuL3Rlc3QvcmVsYXhuZy9jaG9pY2UwXzcueG1sOjE6IGVsZW1lbnQgZGV2aWNlOiBSZWxheC1ORyB2YWxpZGl0eSBlcnJvciA6IERpZCBub3QgZXhwZWN0IGVsZW1lbnQgdW5rbm93bi1lbGVtZW50IHRoZXJlCisuL3Rlc3QvcmVsYXhuZy9jaG9pY2UwXzcueG1sOjE6IGVsZW1lbnQgZGV2aWNlOiBSZWxheC1ORyB2YWxpZGl0eSBlcnJvciA6IEVsZW1lbnQgZGV2aWNlIGZhaWxlZCB0byB2YWxpZGF0ZSBjb250ZW50CisuL3Rlc3QvcmVsYXhuZy9jaG9pY2UwXzcueG1sIGZhaWxzIHRvIHZhbGlkYXRlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2Nob2ljZTBfOCBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvY2hvaWNlMF84Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2Nob2ljZTBfOApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9jaG9pY2UwXzguZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9jaG9pY2UwXzguZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcwOTRlY2MKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2Nob2ljZTBfOC5lcnIKQEAgLTAsMCArMSwzIEBACisuL3Rlc3QvcmVsYXhuZy9jaG9pY2UwXzgueG1sOjE6IGVsZW1lbnQgZGV2aWNlOiBSZWxheC1ORyB2YWxpZGl0eSBlcnJvciA6IERpZCBub3QgZXhwZWN0IGVsZW1lbnQgdW5rbm93bi1lbGVtZW50IHRoZXJlCisuL3Rlc3QvcmVsYXhuZy9jaG9pY2UwXzgueG1sOjE6IGVsZW1lbnQgZGV2aWNlOiBSZWxheC1ORyB2YWxpZGl0eSBlcnJvciA6IEVsZW1lbnQgZGV2aWNlIGZhaWxlZCB0byB2YWxpZGF0ZSBjb250ZW50CisuL3Rlc3QvcmVsYXhuZy9jaG9pY2UwXzgueG1sIGZhaWxzIHRvIHZhbGlkYXRlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2Nob2ljZTBfZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9jaG9pY2UwX2VycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZjEyNDMxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9jaG9pY2UwX2VycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy9jaG9pY2UwLnJuZyB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvY2hvaWNlMF92YWxpZCBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvY2hvaWNlMF92YWxpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9jaG9pY2UwX3ZhbGlkCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2NvbXBhcmUwXzAgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2NvbXBhcmUwXzAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvY29tcGFyZTBfMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9jb21wYXJlMF8wLmVyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvY29tcGFyZTBfMC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTMyOGYyNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvY29tcGFyZTBfMC5lcnIKQEAgLTAsMCArMSwzIEBACisuL3Rlc3QvcmVsYXhuZy9jb21wYXJlMF8wLnhtbDoyOiBlbGVtZW50IG51bWJlcjogUmVsYXgtTkcgdmFsaWRpdHkgZXJyb3IgOiBmYWlsZWQgdG8gY29tcGFyZSB0eXBlIGludGVnZXIKKy4vdGVzdC9yZWxheG5nL2NvbXBhcmUwXzAueG1sOjI6IGVsZW1lbnQgbnVtYmVyOiBSZWxheC1ORyB2YWxpZGl0eSBlcnJvciA6IEVsZW1lbnQgbnVtYmVyIGZhaWxlZCB0byB2YWxpZGF0ZSBhdHRyaWJ1dGVzCisuL3Rlc3QvcmVsYXhuZy9jb21wYXJlMF8wLnhtbCBmYWlscyB0byB2YWxpZGF0ZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9jb21wYXJlMF9lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2NvbXBhcmUwX2VycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NDNkNzM0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9jb21wYXJlMF9lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3JlbGF4bmcvY29tcGFyZTAucm5nIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9jb21wYXJlMF92YWxpZCBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvY29tcGFyZTBfdmFsaWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvY29tcGFyZTBfdmFsaWQKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvY29tcHNfMCBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvY29tcHNfMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9jb21wc18wCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2NvbXBzXzAuZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9jb21wc18wLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZGVmZTYzCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9jb21wc18wLmVycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy9jb21wc18wLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvY29tcHNfZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9jb21wc19lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjdkZDQwMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvY29tcHNfZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nL2NvbXBzLnJuZyB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvY29tcHNfdmFsaWQgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2NvbXBzX3ZhbGlkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2NvbXBzX3ZhbGlkCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2RlbW8yX2VyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvZGVtbzJfZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjliZGFlYjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2RlbW8yX2VycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy9kZW1vMi5ybmcgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2RlbW8yX3ZhbGlkIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9kZW1vMl92YWxpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9kZW1vMl92YWxpZApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9kZW1vM19lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2RlbW8zX2VycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jY2NlZDk4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9kZW1vM19lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3JlbGF4bmcvZGVtbzMucm5nIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9kZW1vM192YWxpZCBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvZGVtbzNfdmFsaWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvZGVtbzNfdmFsaWQKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvZGVtb19lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2RlbW9fZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRmMzk3ZjgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2RlbW9fZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nL2RlbW8ucm5nIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9kZW1vX3ZhbGlkIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9kZW1vX3ZhbGlkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2RlbW9fdmFsaWQKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvZG9jYm9va18wIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9kb2Nib29rXzAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvZG9jYm9va18wCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2RvY2Jvb2tfMC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2RvY2Jvb2tfMC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOThkMTk3MQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvZG9jYm9va18wLmVycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy9kb2Nib29rXzAueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9kb2Nib29rX2VyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvZG9jYm9va19lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODEyNDAxMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvZG9jYm9va19lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3JlbGF4bmcvZG9jYm9vay5ybmcgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2RvY2Jvb2tfdmFsaWQgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2RvY2Jvb2tfdmFsaWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvZG9jYm9va192YWxpZApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9lbXB0eTBfMCBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvZW1wdHkwXzAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvZW1wdHkwXzAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvZW1wdHkwXzAuZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9lbXB0eTBfMC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTdkMGM5ZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvZW1wdHkwXzAuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nL2VtcHR5MF8wLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvZW1wdHkwX2VyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvZW1wdHkwX2VycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNDA2MGNmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9lbXB0eTBfZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nL2VtcHR5MC5ybmcgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2VtcHR5MF92YWxpZCBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvZW1wdHkwX3ZhbGlkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2VtcHR5MF92YWxpZApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9lbXB0eTFfMCBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvZW1wdHkxXzAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvZW1wdHkxXzAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvZW1wdHkxXzAuZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9lbXB0eTFfMC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGMxYTlhZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvZW1wdHkxXzAuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nL2VtcHR5MV8wLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvZW1wdHkxXzEgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2VtcHR5MV8xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2VtcHR5MV8xCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2VtcHR5MV8xLmVyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvZW1wdHkxXzEuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZhNzFiYjAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2VtcHR5MV8xLmVycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy9lbXB0eTFfMS54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2VtcHR5MV9lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2VtcHR5MV9lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjUyZDk1YwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvZW1wdHkxX2VycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy9lbXB0eTEucm5nIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9lbXB0eTFfdmFsaWQgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2VtcHR5MV92YWxpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9lbXB0eTFfdmFsaWQKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvaW5saW5lMl9lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2lubGluZTJfZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAyNzQwOGUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2lubGluZTJfZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nL2lubGluZTIucm5nIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9pbmxpbmUyX3ZhbGlkIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9pbmxpbmUyX3ZhbGlkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2lubGluZTJfdmFsaWQKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvaW5saW5lM19lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2lubGluZTNfZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFjZWNjYjgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2lubGluZTNfZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nL2lubGluZTMucm5nIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9pbmxpbmUzX3ZhbGlkIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9pbmxpbmUzX3ZhbGlkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2lubGluZTNfdmFsaWQKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvaW5saW5lX2VyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvaW5saW5lX2VycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YmEwZTVjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9pbmxpbmVfZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nL2lubGluZS5ybmcgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2lubGluZV92YWxpZCBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvaW5saW5lX3ZhbGlkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2lubGluZV92YWxpZApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9pbnRlcmxlYXZlMF8wX2VyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvaW50ZXJsZWF2ZTBfMF9lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGQ4NjVlYwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvaW50ZXJsZWF2ZTBfMF9lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3JlbGF4bmcvaW50ZXJsZWF2ZTBfMC5ybmcgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2ludGVybGVhdmUwXzBfdmFsaWQgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2ludGVybGVhdmUwXzBfdmFsaWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvaW50ZXJsZWF2ZTBfMF92YWxpZApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9pbnRlcmxlYXZlMV8wX2VyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvaW50ZXJsZWF2ZTFfMF9lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDgwMjM1MgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvaW50ZXJsZWF2ZTFfMF9lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3JlbGF4bmcvaW50ZXJsZWF2ZTFfMC5ybmcgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2ludGVybGVhdmUxXzBfdmFsaWQgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2ludGVybGVhdmUxXzBfdmFsaWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvaW50ZXJsZWF2ZTFfMF92YWxpZApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9saWJ2aXJ0XzAgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2xpYnZpcnRfMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9saWJ2aXJ0XzAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvbGlidmlydF8wLmVyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvbGlidmlydF8wLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yOTUzNWI4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9saWJ2aXJ0XzAuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nL2xpYnZpcnRfMC54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2xpYnZpcnRfZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9saWJ2aXJ0X2VycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YWNmM2VkCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9saWJ2aXJ0X2VycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy9saWJ2aXJ0LnJuZyB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvbGlidmlydF92YWxpZCBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvbGlidmlydF92YWxpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9saWJ2aXJ0X3ZhbGlkCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2xpc3RfMCBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvbGlzdF8wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2xpc3RfMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9saXN0XzAuZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9saXN0XzAuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVjOGNhN2MKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2xpc3RfMC5lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3JlbGF4bmcvbGlzdF8wLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvbGlzdF8xIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9saXN0XzEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvbGlzdF8xCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2xpc3RfMS5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2xpc3RfMS5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2FlMzVhZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvbGlzdF8xLmVycgpAQCAtMCwwICsxLDIgQEAKKy4vdGVzdC9yZWxheG5nL2xpc3RfMS54bWw6MTogZWxlbWVudCBlbGVtMTogUmVsYXgtTkcgdmFsaWRpdHkgZXJyb3IgOiBFbGVtZW50IGVsZW0xIGZhaWxlZCB0byB2YWxpZGF0ZSBhdHRyaWJ1dGVzCisuL3Rlc3QvcmVsYXhuZy9saXN0XzEueG1sIGZhaWxzIHRvIHZhbGlkYXRlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL2xpc3RfZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9saXN0X2VycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NDhlMjFiCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9saXN0X2VycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy9saXN0LnJuZyB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvbGlzdF92YWxpZCBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvbGlzdF92YWxpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9saXN0X3ZhbGlkCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3BhdHRlcm4xX2VyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvcGF0dGVybjFfZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg4NTY0NDYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3BhdHRlcm4xX2VycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy9wYXR0ZXJuMS5ybmcgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3BhdHRlcm4xX3ZhbGlkIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9wYXR0ZXJuMV92YWxpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9wYXR0ZXJuMV92YWxpZApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9wYXR0ZXJuMl9lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3BhdHRlcm4yX2VycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hY2NjYzU1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9wYXR0ZXJuMl9lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3JlbGF4bmcvcGF0dGVybjIucm5nIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9wYXR0ZXJuMl92YWxpZCBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvcGF0dGVybjJfdmFsaWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvcGF0dGVybjJfdmFsaWQKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvcHJvb2ZzeXN0ZW1fZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9wcm9vZnN5c3RlbV9lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWZiY2ZkYwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvcHJvb2ZzeXN0ZW1fZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nL3Byb29mc3lzdGVtLnJuZyB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvcHJvb2ZzeXN0ZW1fdmFsaWQgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3Byb29mc3lzdGVtX3ZhbGlkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3Byb29mc3lzdGVtX3ZhbGlkCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3JuZ2J1Zy0wMDFfZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9ybmdidWctMDAxX2VycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YzMwMTUzCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9ybmdidWctMDAxX2VycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy9ybmdidWctMDAxLnJuZyB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvcm5nYnVnLTAwMV92YWxpZCBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvcm5nYnVnLTAwMV92YWxpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9ybmdidWctMDAxX3ZhbGlkCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3NwZWMxXzEgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3NwZWMxXzEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvc3BlYzFfMQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9zcGVjMV8xLmVyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvc3BlYzFfMS5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWUyMTNhMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvc3BlYzFfMS5lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3JlbGF4bmcvc3BlYzFfMS54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3NwZWMxX2VyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvc3BlYzFfZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg1NTFjMWUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3NwZWMxX2VycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy9zcGVjMS5ybmcgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3NwZWMxX3ZhbGlkIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9zcGVjMV92YWxpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9zcGVjMV92YWxpZApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9zcGVjXzAgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3NwZWNfMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9zcGVjXzAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvc3BlY18wLmVyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvc3BlY18wLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZjMwZThhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9zcGVjXzAuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nL3NwZWNfMC54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3NwZWNfZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9zcGVjX2VycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNzMzNmUxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9zcGVjX2VycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy9zcGVjLnJuZyB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvc3BlY192YWxpZCBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvc3BlY192YWxpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy9zcGVjX3ZhbGlkCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3RhYmxlX2VyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdGFibGVfZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ3ZTc5OTYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3RhYmxlX2VycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy90YWJsZS5ybmcgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3RhYmxlX3ZhbGlkIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90YWJsZV92YWxpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90YWJsZV92YWxpZApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzEwXzEgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTBfMTBfMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzEwXzEKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF8xMF8xLmVyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF8xMF8xLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMzcwZmYyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzEwXzEuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nL3R1dG9yMTBfMTBfMS54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTBfMTBfZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzEwX2VycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNGE1ZjdlCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzEwX2VycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy90dXRvcjEwXzEwLnJuZyB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF8xMF92YWxpZCBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF8xMF92YWxpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzEwX3ZhbGlkCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTBfMV8xIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzFfMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzFfMQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzFfMS5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTBfMV8xLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNjFlMWU4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzFfMS5lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3JlbGF4bmcvdHV0b3IxMF8xXzEueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzFfMiBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF8xXzIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF8xXzIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF8xXzIuZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzFfMi5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjA5MmQ3ZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF8xXzIuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nL3R1dG9yMTBfMV8yLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF8xXzMgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTBfMV8zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTBfMV8zCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTBfMV8zLmVyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF8xXzMuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFjNWI2OGQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTBfMV8zLmVycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy90dXRvcjEwXzFfMy54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTBfMV80IGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzFfNApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzFfNApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzFfNC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTBfMV80LmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MDMwZTE0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzFfNC5lcnIKQEAgLTAsMCArMSwyIEBACisuL3Rlc3QvcmVsYXhuZy90dXRvcjEwXzFfNC54bWw6MTogZWxlbWVudCBmb286IFJlbGF4LU5HIHZhbGlkaXR5IGVycm9yIDogRXhwZWN0aW5nIGEgbmFtZXNwYWNlIGZvciBlbGVtZW50IGZvbworLi90ZXN0L3JlbGF4bmcvdHV0b3IxMF8xXzQueG1sIGZhaWxzIHRvIHZhbGlkYXRlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTBfMV81IGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzFfNQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzFfNQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzFfNS5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTBfMV81LmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYWI4ZDkwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzFfNS5lcnIKQEAgLTAsMCArMSwyIEBACisuL3Rlc3QvcmVsYXhuZy90dXRvcjEwXzFfNS54bWw6MTogZWxlbWVudCBmb286IFJlbGF4LU5HIHZhbGlkaXR5IGVycm9yIDogRWxlbWVudCBmb28gaGFzIHdyb25nIG5hbWVzcGFjZTogZXhwZWN0aW5nIGh0dHA6Ly93d3cuZXhhbXBsZS5jb20KKy4vdGVzdC9yZWxheG5nL3R1dG9yMTBfMV81LnhtbCBmYWlscyB0byB2YWxpZGF0ZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzFfNiBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF8xXzYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF8xXzYKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF8xXzYuZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzFfNi5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2FmZWIxNQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF8xXzYuZXJyCkBAIC0wLDAgKzEsMiBAQAorLi90ZXN0L3JlbGF4bmcvdHV0b3IxMF8xXzYueG1sOjE6IGVsZW1lbnQgZm9vOiBSZWxheC1ORyB2YWxpZGl0eSBlcnJvciA6IEVsZW1lbnQgZm9vIGhhcyB3cm9uZyBuYW1lc3BhY2U6IGV4cGVjdGluZyBodHRwOi8vd3d3LmV4YW1wbGUuY29tCisuL3Rlc3QvcmVsYXhuZy90dXRvcjEwXzFfNi54bWwgZmFpbHMgdG8gdmFsaWRhdGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF8xX2VyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF8xX2VycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NWJlM2JlCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzFfZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nL3R1dG9yMTBfMS5ybmcgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTBfMV92YWxpZCBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF8xX3ZhbGlkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTBfMV92YWxpZApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzJfMSBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF8yXzEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF8yXzEKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF8yXzEuZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzJfMS5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODM2ZGJmNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF8yXzEuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nL3R1dG9yMTBfMl8xLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF8yXzIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTBfMl8yCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTBfMl8yCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTBfMl8yLmVyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF8yXzIuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdlNmNlMzEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTBfMl8yLmVycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy90dXRvcjEwXzJfMi54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTBfMl8zIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzJfMwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzJfMwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzJfMy5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTBfMl8zLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZmYyYTgyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzJfMy5lcnIKQEAgLTAsMCArMSwyIEBACisuL3Rlc3QvcmVsYXhuZy90dXRvcjEwXzJfMy54bWw6MTogZWxlbWVudCBmb286IFJlbGF4LU5HIHZhbGlkaXR5IGVycm9yIDogRXhwZWN0aW5nIG5vIG5hbWVzcGFjZSBmb3IgZWxlbWVudCBmb28KKy4vdGVzdC9yZWxheG5nL3R1dG9yMTBfMl8zLnhtbCBmYWlscyB0byB2YWxpZGF0ZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzJfNCBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF8yXzQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF8yXzQKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF8yXzQuZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzJfNC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDcxNmI5YgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF8yXzQuZXJyCkBAIC0wLDAgKzEsMiBAQAorLi90ZXN0L3JlbGF4bmcvdHV0b3IxMF8yXzQueG1sOjE6IGVsZW1lbnQgZm9vOiBSZWxheC1ORyB2YWxpZGl0eSBlcnJvciA6IEV4cGVjdGluZyBubyBuYW1lc3BhY2UgZm9yIGVsZW1lbnQgZm9vCisuL3Rlc3QvcmVsYXhuZy90dXRvcjEwXzJfNC54bWwgZmFpbHMgdG8gdmFsaWRhdGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF8yX2VyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF8yX2VycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iM2UzMmE2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzJfZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nL3R1dG9yMTBfMi5ybmcgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTBfMl92YWxpZCBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF8yX3ZhbGlkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTBfMl92YWxpZApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzNfMSBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF8zXzEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF8zXzEKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF8zXzEuZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzNfMS5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWY5YTNiMAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF8zXzEuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nL3R1dG9yMTBfM18xLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF8zX2VyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF8zX2VycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYzcxNGFhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzNfZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nL3R1dG9yMTBfMy5ybmcgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTBfM192YWxpZCBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF8zX3ZhbGlkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTBfM192YWxpZApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzRfMSBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF80XzEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF80XzEKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF80XzEuZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzRfMS5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODMzYzVlZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF80XzEuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nL3R1dG9yMTBfNF8xLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF80X2VyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF80X2VycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMjA4MTM3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzRfZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nL3R1dG9yMTBfNC5ybmcgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTBfNF92YWxpZCBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF80X3ZhbGlkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTBfNF92YWxpZApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzVfMSBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF81XzEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF81XzEKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF81XzEuZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzVfMS5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmIwYmQ5NgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF81XzEuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nL3R1dG9yMTBfNV8xLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF81X2VyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF81X2VycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40OTgwOGNmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzVfZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nL3R1dG9yMTBfNS5ybmcgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTBfNV92YWxpZCBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF81X3ZhbGlkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTBfNV92YWxpZApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzZfMSBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF82XzEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF82XzEKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF82XzEuZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzZfMS5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGZlZDhmNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF82XzEuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nL3R1dG9yMTBfNl8xLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF82X2VyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF82X2VycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wOTM2OGMxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzZfZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nL3R1dG9yMTBfNi5ybmcgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTBfNl92YWxpZCBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF82X3ZhbGlkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTBfNl92YWxpZApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzdfMSBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF83XzEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF83XzEKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF83XzEuZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzdfMS5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmJhYWI1MwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF83XzEuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nL3R1dG9yMTBfN18xLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF83XzIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTBfN18yCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTBfN18yCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTBfN18yLmVyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF83XzIuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY2MTg5ODgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTBfN18yLmVycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy90dXRvcjEwXzdfMi54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTBfN18zIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzdfMwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzdfMwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzdfMy5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTBfN18zLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MTNkZmFmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzdfMy5lcnIKQEAgLTAsMCArMSwyIEBACisuL3Rlc3QvcmVsYXhuZy90dXRvcjEwXzdfMy54bWw6MjogZWxlbWVudCBjYXJkOiBSZWxheC1ORyB2YWxpZGl0eSBlcnJvciA6IEVsZW1lbnQgY2FyZCBmYWlsZWQgdG8gdmFsaWRhdGUgYXR0cmlidXRlcworLi90ZXN0L3JlbGF4bmcvdHV0b3IxMF83XzMueG1sIGZhaWxzIHRvIHZhbGlkYXRlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTBfN19lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTBfN19lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDgxYTIzMAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF83X2VycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy90dXRvcjEwXzcucm5nIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzdfdmFsaWQgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTBfN192YWxpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzdfdmFsaWQKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF84XzEgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTBfOF8xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTBfOF8xCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTBfOF8xLmVyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF84XzEuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI0MTIxMDgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTBfOF8xLmVycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy90dXRvcjEwXzhfMS54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTBfOF8yIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzhfMgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzhfMgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzhfMi5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTBfOF8yLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YmVjZjg2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzhfMi5lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3JlbGF4bmcvdHV0b3IxMF84XzIueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzhfMyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF84XzMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF84XzMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF84XzMuZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzhfMy5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWUwZWI1NQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF84XzMuZXJyCkBAIC0wLDAgKzEsMiBAQAorLi90ZXN0L3JlbGF4bmcvdHV0b3IxMF84XzMueG1sOjI6IGVsZW1lbnQgY2FyZDogUmVsYXgtTkcgdmFsaWRpdHkgZXJyb3IgOiBFbGVtZW50IGNhcmQgZmFpbGVkIHRvIHZhbGlkYXRlIGF0dHJpYnV0ZXMKKy4vdGVzdC9yZWxheG5nL3R1dG9yMTBfOF8zLnhtbCBmYWlscyB0byB2YWxpZGF0ZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzhfZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzhfZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFhODY0Y2MKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTBfOF9lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3JlbGF4bmcvdHV0b3IxMF84LnJuZyB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF84X3ZhbGlkIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzhfdmFsaWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF84X3ZhbGlkCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTBfOV8xIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzlfMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzlfMQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzlfMS5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTBfOV8xLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZTgyODg3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzlfMS5lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3JlbGF4bmcvdHV0b3IxMF85XzEueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzlfZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzlfZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk0MjA1OGUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTBfOV9lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3JlbGF4bmcvdHV0b3IxMF85LnJuZyB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF85X3ZhbGlkIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEwXzlfdmFsaWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMF85X3ZhbGlkCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTFfMV8xIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjExXzFfMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjExXzFfMQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjExXzFfMS5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTFfMV8xLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hODI4M2ZhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjExXzFfMS5lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3JlbGF4bmcvdHV0b3IxMV8xXzEueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjExXzFfMiBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMV8xXzIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMV8xXzIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMV8xXzIuZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjExXzFfMi5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzJhNzJmYQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMV8xXzIuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nL3R1dG9yMTFfMV8yLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMV8xXzMgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTFfMV8zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTFfMV8zCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTFfMV8zLmVyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMV8xXzMuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRjMTljYzkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTFfMV8zLmVycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy90dXRvcjExXzFfMy54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTFfMV9lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTFfMV9lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODgzNDdmZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMV8xX2VycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy90dXRvcjExXzEucm5nIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjExXzFfdmFsaWQgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTFfMV92YWxpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjExXzFfdmFsaWQKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMV8yXzEgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTFfMl8xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTFfMl8xCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTFfMl8xLmVyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMV8yXzEuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVlYzYwZWMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTFfMl8xLmVycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy90dXRvcjExXzJfMS54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTFfMl8yIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjExXzJfMgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjExXzJfMgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjExXzJfMi5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTFfMl8yLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMGFiYmEwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjExXzJfMi5lcnIKQEAgLTAsMCArMSwyIEBACisuL3Rlc3QvcmVsYXhuZy90dXRvcjExXzJfMi54bWw6MzogZWxlbWVudCBjYXJkOiBSZWxheC1ORyB2YWxpZGl0eSBlcnJvciA6IEludmFsaWQgYXR0cmlidXRlIGZvbyBmb3IgZWxlbWVudCBjYXJkCisuL3Rlc3QvcmVsYXhuZy90dXRvcjExXzJfMi54bWwgZmFpbHMgdG8gdmFsaWRhdGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMV8yXzMgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTFfMl8zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTFfMl8zCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTFfMl8zLmVyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMV8yXzMuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYwN2VhNzgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTFfMl8zLmVycgpAQCAtMCwwICsxLDIgQEAKKy4vdGVzdC9yZWxheG5nL3R1dG9yMTFfMl8zLnhtbDozOiBlbGVtZW50IGNhcmQ6IFJlbGF4LU5HIHZhbGlkaXR5IGVycm9yIDogSW52YWxpZCBhdHRyaWJ1dGUgYiBmb3IgZWxlbWVudCBjYXJkCisuL3Rlc3QvcmVsYXhuZy90dXRvcjExXzJfMy54bWwgZmFpbHMgdG8gdmFsaWRhdGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMV8yX2VyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMV8yX2VycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMjk0YzEzCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjExXzJfZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nL3R1dG9yMTFfMi5ybmcgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTFfMl92YWxpZCBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMV8yX3ZhbGlkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTFfMl92YWxpZApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjExXzNfMSBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMV8zXzEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMV8zXzEKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMV8zXzEuZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjExXzNfMS5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGU5ZGIzMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMV8zXzEuZXJyCkBAIC0wLDAgKzEsMiBAQAorLi90ZXN0L3JlbGF4bmcvdHV0b3IxMV8zLnJuZzoxOiBlbGVtZW50IGVsZW1lbnQ6IFJlbGF4LU5HIHBhcnNlciBlcnJvciA6IEF0dHJpYnV0ZXMgY29uZmxpY3RzIGluIGdyb3VwCitSZWxheC1ORyBzY2hlbWEgLi90ZXN0L3JlbGF4bmcvdHV0b3IxMV8zLnJuZyBmYWlsZWQgdG8gY29tcGlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjExXzNfZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjExXzNfZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE0ZDlkNDQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTFfM19lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3JlbGF4bmcvdHV0b3IxMV8zLnJuZyB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMV8zX3ZhbGlkIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjExXzNfdmFsaWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMV8zX3ZhbGlkCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTFfNF8xIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjExXzRfMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjExXzRfMQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjExXzRfMS5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTFfNF8xLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNmFlZDVjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjExXzRfMS5lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3JlbGF4bmcvdHV0b3IxMV80XzEueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjExXzRfZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjExXzRfZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYwYTgzMzkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTFfNF9lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3JlbGF4bmcvdHV0b3IxMV80LnJuZyB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMV80X3ZhbGlkIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjExXzRfdmFsaWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMV80X3ZhbGlkCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTJfMV8xIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEyXzFfMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEyXzFfMQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEyXzFfMS5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTJfMV8xLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYWIyMGQzCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEyXzFfMS5lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3JlbGF4bmcvdHV0b3IxMl8xXzEueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEyXzFfZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEyXzFfZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEwMmZiNDEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTJfMV9lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3JlbGF4bmcvdHV0b3IxMl8xLnJuZyB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMl8xX3ZhbGlkIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEyXzFfdmFsaWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxMl8xX3ZhbGlkCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTNfMV8xIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEzXzFfMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEzXzFfMQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEzXzFfMS5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTNfMV8xLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYTNmMmFlCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEzXzFfMS5lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3JlbGF4bmcvdHV0b3IxM18xXzEueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEzXzFfZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEzXzFfZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNjZDExYWQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTNfMV9lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3JlbGF4bmcvdHV0b3IxM18xLnJuZyB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxM18xX3ZhbGlkIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjEzXzFfdmFsaWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxM18xX3ZhbGlkCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTRfMV9lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTRfMV9lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTkxZWMzZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxNF8xX2VycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy90dXRvcjE0XzEucm5nIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjE0XzFfdmFsaWQgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMTRfMV92YWxpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjE0XzFfdmFsaWQKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxXzFfMSBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxXzFfMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjFfMV8xCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMV8xXzEuZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjFfMV8xLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNjc2N2YyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjFfMV8xLmVycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy90dXRvcjFfMV8xLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxXzFfZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjFfMV9lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDdjYmZlOAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxXzFfZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nL3R1dG9yMV8xLnJuZyB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxXzFfdmFsaWQgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMV8xX3ZhbGlkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMV8xX3ZhbGlkCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMV8yXzEgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMV8yXzEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxXzJfMQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjFfMl8xLmVyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxXzJfMS5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmRjMzY5OAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxXzJfMS5lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3JlbGF4bmcvdHV0b3IxXzJfMS54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMV8yX2VyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxXzJfZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk3ZDMyYjIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMV8yX2VycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy90dXRvcjFfMi5ybmcgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMV8yX3ZhbGlkIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjFfMl92YWxpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjFfMl92YWxpZApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjFfM18xIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjFfM18xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMV8zXzEKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxXzNfMS5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMV8zXzEuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjljMTE2ZDgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMV8zXzEuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nL3R1dG9yMV8zXzEueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjFfM19lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMV8zX2VycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40OTQxZjhmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjFfM19lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3JlbGF4bmcvdHV0b3IxXzMucm5nIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjFfM192YWxpZCBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxXzNfdmFsaWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxXzNfdmFsaWQKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxXzRfMSBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxXzRfMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjFfNF8xCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMV80XzEuZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjFfNF8xLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZGMzNWU2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjFfNF8xLmVycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy90dXRvcjFfNF8xLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxXzRfZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjFfNF9lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTFmZDYwYwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxXzRfZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nL3R1dG9yMV80LnJuZyB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IxXzRfdmFsaWQgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMV80X3ZhbGlkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMV80X3ZhbGlkCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMl8xXzEgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMl8xXzEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IyXzFfMQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjJfMV8xLmVyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IyXzFfMS5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWRhNzYzMwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IyXzFfMS5lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3JlbGF4bmcvdHV0b3IyXzFfMS54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMl8xX2VyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IyXzFfZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRmNDc3OGUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMl8xX2VycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy90dXRvcjJfMS5ybmcgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yMl8xX3ZhbGlkIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjJfMV92YWxpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjJfMV92YWxpZApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjNfMV8xIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjNfMV8xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yM18xXzEKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IzXzFfMS5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yM18xXzEuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgxNWYxZjAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yM18xXzEuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nL3R1dG9yM18xXzEueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjNfMV8yIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjNfMV8yCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yM18xXzIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IzXzFfMi5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yM18xXzIuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUxMjY0MzAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yM18xXzIuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nL3R1dG9yM18xXzIueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjNfMV9lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yM18xX2VycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NDllZjlhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjNfMV9lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3JlbGF4bmcvdHV0b3IzXzEucm5nIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjNfMV92YWxpZCBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IzXzFfdmFsaWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IzXzFfdmFsaWQKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IzXzJfMSBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IzXzJfMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjNfMl8xCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yM18yXzEuZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjNfMl8xLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zODAyNTBhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjNfMl8xLmVycgpAQCAtMCwwICsxLDIgQEAKKy4vdGVzdC9yZWxheG5nL3R1dG9yM18yXzEueG1sOjE6IGVsZW1lbnQgZW1haWw6IFJlbGF4LU5HIHZhbGlkaXR5IGVycm9yIDogRGlkIG5vdCBleHBlY3QgZWxlbWVudCBlbWFpbCB0aGVyZQorLi90ZXN0L3JlbGF4bmcvdHV0b3IzXzJfMS54bWwgZmFpbHMgdG8gdmFsaWRhdGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IzXzJfZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjNfMl9lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjZjYjFhZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IzXzJfZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nL3R1dG9yM18yLnJuZyB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IzXzJfdmFsaWQgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yM18yX3ZhbGlkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yM18yX3ZhbGlkCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yM18zXzEgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yM18zXzEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IzXzNfMQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjNfM18xLmVyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IzXzNfMS5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2NkNWUwNQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IzXzNfMS5lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3JlbGF4bmcvdHV0b3IzXzNfMS54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yM18zX2VyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IzXzNfZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkyZTgzYjYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yM18zX2VycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy90dXRvcjNfMy5ybmcgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yM18zX3ZhbGlkIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjNfM192YWxpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjNfM192YWxpZApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjNfNF8xIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjNfNF8xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yM180XzEKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IzXzRfMS5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yM180XzEuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYyOTU2ZjcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yM180XzEuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nL3R1dG9yM180XzEueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjNfNF9lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yM180X2VycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MWVmNDFmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjNfNF9lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3JlbGF4bmcvdHV0b3IzXzQucm5nIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjNfNF92YWxpZCBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IzXzRfdmFsaWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IzXzRfdmFsaWQKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IzXzVfMSBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IzXzVfMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjNfNV8xCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yM181XzEuZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjNfNV8xLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MTViMTYwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjNfNV8xLmVycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy90dXRvcjNfNV8xLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IzXzVfMiBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IzXzVfMgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjNfNV8yCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yM181XzIuZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjNfNV8yLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNmU2NjI3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjNfNV8yLmVycgpAQCAtMCwwICsxLDMgQEAKKy4vdGVzdC9yZWxheG5nL3R1dG9yM181XzIueG1sOjI6IGVsZW1lbnQgZW1haWw6IFJlbGF4LU5HIHZhbGlkaXR5IGVycm9yIDogRXhwZWN0aW5nIGVsZW1lbnQgbmFtZSwgZ290IGVtYWlsCisuL3Rlc3QvcmVsYXhuZy90dXRvcjNfNV8yLnhtbDoyOiBlbGVtZW50IGVtYWlsOiBSZWxheC1ORyB2YWxpZGl0eSBlcnJvciA6IEVsZW1lbnQgY2FyZCBmYWlsZWQgdG8gdmFsaWRhdGUgY29udGVudAorLi90ZXN0L3JlbGF4bmcvdHV0b3IzXzVfMi54bWwgZmFpbHMgdG8gdmFsaWRhdGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IzXzVfZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjNfNV9lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmUzNjg2OAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IzXzVfZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nL3R1dG9yM181LnJuZyB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IzXzVfdmFsaWQgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yM181X3ZhbGlkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yM181X3ZhbGlkCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yM182XzEgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yM182XzEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IzXzZfMQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjNfNl8xLmVyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IzXzZfMS5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmE2NDU2ZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IzXzZfMS5lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3JlbGF4bmcvdHV0b3IzXzZfMS54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yM182X2VyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IzXzZfZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg0NzliZWEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yM182X2VycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy90dXRvcjNfNi5ybmcgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yM182X3ZhbGlkIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjNfNl92YWxpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjNfNl92YWxpZApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjNfN18xIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjNfN18xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yM183XzEKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IzXzdfMS5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yM183XzEuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg4YjIxMzIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yM183XzEuZXJyCkBAIC0wLDAgKzEsMiBAQAorLi90ZXN0L3JlbGF4bmcvdHV0b3IzXzcucm5nOjE6IGVsZW1lbnQgZWxlbWVudDogUmVsYXgtTkcgcGFyc2VyIGVycm9yIDogeG1sUmVsYXhOR1BhcnNlRWxlbWVudDogZWxlbWVudCBoYXMgbm8gY29udGVudAorUmVsYXgtTkcgc2NoZW1hIC4vdGVzdC9yZWxheG5nL3R1dG9yM183LnJuZyBmYWlsZWQgdG8gY29tcGlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjNfN19lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yM183X2VycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNTQ2MTMyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjNfN19lcnIKQEAgLTAsMCArMSw0IEBACisuL3Rlc3QvcmVsYXhuZy90dXRvcjNfNy5ybmc6MTogZWxlbWVudCBlbGVtZW50OiBSZWxheC1ORyB2YWxpZGl0eSBlcnJvciA6IEV4cGVjdGluZyBhbiBlbGVtZW50ICwgZ290IG5vdGhpbmcKKy4vdGVzdC9yZWxheG5nL3R1dG9yM183LnJuZzoxOiBlbGVtZW50IGVsZW1lbnQ6IFJlbGF4LU5HIHZhbGlkaXR5IGVycm9yIDogSW52YWxpZCBzZXF1ZW5jZSBpbiBpbnRlcmxlYXZlCisuL3Rlc3QvcmVsYXhuZy90dXRvcjNfNy5ybmc6MTogZWxlbWVudCBlbGVtZW50OiBSZWxheC1ORyB2YWxpZGl0eSBlcnJvciA6IEVsZW1lbnQgZWxlbWVudCBmYWlsZWQgdG8gdmFsaWRhdGUgY29udGVudAorLi90ZXN0L3JlbGF4bmcvdHV0b3IzXzcucm5nIGZhaWxzIHRvIHZhbGlkYXRlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yM183X3ZhbGlkIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjNfN192YWxpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjNfN192YWxpZApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjNfOF8xIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjNfOF8xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yM184XzEKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IzXzhfMS5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yM184XzEuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg5ODk0YTkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yM184XzEuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nL3R1dG9yM184XzEueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjNfOF9lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yM184X2VycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NGZlNzVkCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjNfOF9lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3JlbGF4bmcvdHV0b3IzXzgucm5nIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjNfOF92YWxpZCBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IzXzhfdmFsaWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IzXzhfdmFsaWQKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IzXzlfMSBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IzXzlfMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjNfOV8xCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yM185XzEuZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjNfOV8xLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZWU1MGMyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjNfOV8xLmVycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy90dXRvcjNfOV8xLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IzXzlfZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjNfOV9lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDU0ZmJlMAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IzXzlfZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nL3R1dG9yM185LnJuZyB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3IzXzlfdmFsaWQgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yM185X3ZhbGlkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yM185X3ZhbGlkCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yNF8xXzEgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yNF8xXzEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I0XzFfMQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjRfMV8xLmVyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I0XzFfMS5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDhmNDM2ZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I0XzFfMS5lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3JlbGF4bmcvdHV0b3I0XzFfMS54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yNF8xX2VyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I0XzFfZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk0ZjAyODkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yNF8xX2VycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy90dXRvcjRfMS5ybmcgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yNF8xX3ZhbGlkIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjRfMV92YWxpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjRfMV92YWxpZApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjRfMl8xIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjRfMl8xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yNF8yXzEKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I0XzJfMS5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yNF8yXzEuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ0NGRjYjgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yNF8yXzEuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nL3R1dG9yNF8yXzEueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjRfMl9lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yNF8yX2VycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MjA4NWQwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjRfMl9lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3JlbGF4bmcvdHV0b3I0XzIucm5nIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjRfMl92YWxpZCBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I0XzJfdmFsaWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I0XzJfdmFsaWQKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I0XzNfMSBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I0XzNfMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjRfM18xCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yNF8zXzEuZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjRfM18xLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZmYzYWZlCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjRfM18xLmVycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy90dXRvcjRfM18xLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I0XzNfMiBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I0XzNfMgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjRfM18yCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yNF8zXzIuZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjRfM18yLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kM2VlZmZkCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjRfM18yLmVycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy90dXRvcjRfM18yLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I0XzNfMyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I0XzNfMwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjRfM18zCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yNF8zXzMuZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjRfM18zLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YWU5ODExCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjRfM18zLmVycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy90dXRvcjRfM18zLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I0XzNfNCBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I0XzNfNApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjRfM180CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yNF8zXzQuZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjRfM180LmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNTUwMDQzCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjRfM180LmVycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy90dXRvcjRfM180LnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I0XzNfNSBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I0XzNfNQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjRfM181CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yNF8zXzUuZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjRfM181LmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZjc2NDgwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjRfM181LmVycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy90dXRvcjRfM181LnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I0XzNfNiBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I0XzNfNgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjRfM182CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yNF8zXzYuZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjRfM182LmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZjgwYTgxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjRfM182LmVycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy90dXRvcjRfM182LnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I0XzNfZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjRfM19lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzRlYjhiMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I0XzNfZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nL3R1dG9yNF8zLnJuZyB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I0XzNfdmFsaWQgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yNF8zX3ZhbGlkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yNF8zX3ZhbGlkCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yNF80XzEgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yNF80XzEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I0XzRfMQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjRfNF8xLmVyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I0XzRfMS5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTk1YmQ2ZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I0XzRfMS5lcnIKQEAgLTAsMCArMSwyIEBACisuL3Rlc3QvcmVsYXhuZy90dXRvcjRfNC5ybmc6MjU6IGVsZW1lbnQgcmVmOiBSZWxheC1ORyBwYXJzZXIgZXJyb3IgOiBEZXRlY3RlZCBhIGN5Y2xlIGluIGlubGluZSByZWZlcmVuY2VzCitSZWxheC1ORyBzY2hlbWEgLi90ZXN0L3JlbGF4bmcvdHV0b3I0XzQucm5nIGZhaWxlZCB0byBjb21waWxlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yNF80X2VyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I0XzRfZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY0MWVlODcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yNF80X2VycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy90dXRvcjRfNC5ybmcgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yNF80X3ZhbGlkIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjRfNF92YWxpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjRfNF92YWxpZApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjVfMV8xIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjVfMV8xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yNV8xXzEKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I1XzFfMS5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yNV8xXzEuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2YzI4NDIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yNV8xXzEuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nL3R1dG9yNV8xXzEueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjVfMV9lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yNV8xX2VycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ODZmZDk4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjVfMV9lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3JlbGF4bmcvdHV0b3I1XzEucm5nIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjVfMV92YWxpZCBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I1XzFfdmFsaWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I1XzFfdmFsaWQKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I1XzJfMSBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I1XzJfMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjVfMl8xCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yNV8yXzEuZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjVfMl8xLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNjRkZjNiCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjVfMl8xLmVycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy90dXRvcjVfMl8xLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I1XzJfZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjVfMl9lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGU4ZjQyMwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I1XzJfZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nL3R1dG9yNV8yLnJuZyB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I1XzJfdmFsaWQgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yNV8yX3ZhbGlkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yNV8yX3ZhbGlkCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yNV8zXzEgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yNV8zXzEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I1XzNfMQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjVfM18xLmVyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I1XzNfMS5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzJmNDM3OQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I1XzNfMS5lcnIKQEAgLTAsMCArMSwyIEBACisuL3Rlc3QvcmVsYXhuZy90dXRvcjVfMy5ybmc6MTogZWxlbWVudCBlbGVtZW50OiBSZWxheC1ORyBwYXJzZXIgZXJyb3IgOiBFbGVtZW50IGJhZCBoYXMgYSBjb250ZW50IHR5cGUgZXJyb3IKK1JlbGF4LU5HIHNjaGVtYSAuL3Rlc3QvcmVsYXhuZy90dXRvcjVfMy5ybmcgZmFpbGVkIHRvIGNvbXBpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I1XzNfZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjVfM19lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjAwYTU0MwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I1XzNfZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nL3R1dG9yNV8zLnJuZyB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I1XzNfdmFsaWQgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yNV8zX3ZhbGlkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yNV8zX3ZhbGlkCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yNV80XzEgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yNV80XzEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I1XzRfMQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjVfNF8xLmVyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I1XzRfMS5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTNhYzliYwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I1XzRfMS5lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3JlbGF4bmcvdHV0b3I1XzRfMS54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yNV80X2VyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I1XzRfZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY2OWI0MWQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yNV80X2VycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy90dXRvcjVfNC5ybmcgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yNV80X3ZhbGlkIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjVfNF92YWxpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjVfNF92YWxpZApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjVfNV9lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yNV81X2VycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZjlmMGY1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjVfNV9lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3JlbGF4bmcvdHV0b3I1XzUucm5nIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjVfNV92YWxpZCBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I1XzVfdmFsaWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I1XzVfdmFsaWQKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I2XzFfMSBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I2XzFfMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjZfMV8xCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yNl8xXzEuZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjZfMV8xLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYzQ0NjYyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjZfMV8xLmVycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy90dXRvcjZfMV8xLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I2XzFfMiBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I2XzFfMgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjZfMV8yCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yNl8xXzIuZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjZfMV8yLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YzcwZmVkCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjZfMV8yLmVycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy90dXRvcjZfMV8yLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I2XzFfMyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I2XzFfMwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjZfMV8zCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yNl8xXzMuZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjZfMV8zLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMGY2ZTdmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjZfMV8zLmVycgpAQCAtMCwwICsxLDIgQEAKKy4vdGVzdC9yZWxheG5nL3R1dG9yNl8xXzMueG1sOjE6IGVsZW1lbnQgY2FyZDogUmVsYXgtTkcgdmFsaWRpdHkgZXJyb3IgOiBFbGVtZW50IGNhcmQgZmFpbGVkIHRvIHZhbGlkYXRlIGF0dHJpYnV0ZXMKKy4vdGVzdC9yZWxheG5nL3R1dG9yNl8xXzMueG1sIGZhaWxzIHRvIHZhbGlkYXRlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yNl8xXzQgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yNl8xXzQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I2XzFfNApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjZfMV80LmVyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I2XzFfNC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDliMjI5MQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I2XzFfNC5lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3JlbGF4bmcvdHV0b3I2XzFfNC54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yNl8xXzUgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yNl8xXzUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I2XzFfNQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjZfMV81LmVyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I2XzFfNS5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjYwMWQ3ZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I2XzFfNS5lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3JlbGF4bmcvdHV0b3I2XzFfNS54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yNl8xX2VyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I2XzFfZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc0NDA4MjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yNl8xX2VycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy90dXRvcjZfMS5ybmcgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yNl8xX3ZhbGlkIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjZfMV92YWxpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjZfMV92YWxpZApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjZfMl8xIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjZfMl8xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yNl8yXzEKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I2XzJfMS5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yNl8yXzEuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQwNzgwN2IKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yNl8yXzEuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nL3R1dG9yNl8yXzEueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjZfMl8yIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjZfMl8yCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yNl8yXzIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I2XzJfMi5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yNl8yXzIuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRmMTAwNzUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yNl8yXzIuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nL3R1dG9yNl8yXzIueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjZfMl8zIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjZfMl8zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yNl8yXzMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I2XzJfMy5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yNl8yXzMuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE3NjAyZDMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yNl8yXzMuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nL3R1dG9yNl8yXzMueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjZfMl80IGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjZfMl80Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yNl8yXzQKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I2XzJfNC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yNl8yXzQuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIyOGFjMjMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yNl8yXzQuZXJyCkBAIC0wLDAgKzEsMyBAQAorLi90ZXN0L3JlbGF4bmcvdHV0b3I2XzJfNC54bWw6NDogZWxlbWVudCBwcmVmZXJyZWRGb3JtYXQ6IFJlbGF4LU5HIHZhbGlkaXR5IGVycm9yIDogRXJyb3IgdmFsaWRhdGluZyB2YWx1ZSAKKy4vdGVzdC9yZWxheG5nL3R1dG9yNl8yXzQueG1sOjQ6IGVsZW1lbnQgcHJlZmVycmVkRm9ybWF0OiBSZWxheC1ORyB2YWxpZGl0eSBlcnJvciA6IEVsZW1lbnQgcHJlZmVycmVkRm9ybWF0IGZhaWxlZCB0byB2YWxpZGF0ZSBjb250ZW50CisuL3Rlc3QvcmVsYXhuZy90dXRvcjZfMl80LnhtbCBmYWlscyB0byB2YWxpZGF0ZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjZfMl9lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yNl8yX2VycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYTc4ZWM5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjZfMl9lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3JlbGF4bmcvdHV0b3I2XzIucm5nIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjZfMl92YWxpZCBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I2XzJfdmFsaWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I2XzJfdmFsaWQKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I2XzNfMSBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I2XzNfMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjZfM18xCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yNl8zXzEuZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjZfM18xLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MWY3MjFhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjZfM18xLmVycgpAQCAtMCwwICsxLDIgQEAKKy4vdGVzdC9yZWxheG5nL3R1dG9yNl8zXzEueG1sOjE6IGVsZW1lbnQgY2FyZDogUmVsYXgtTkcgdmFsaWRpdHkgZXJyb3IgOiBFbGVtZW50IGNhcmQgZmFpbGVkIHRvIHZhbGlkYXRlIGF0dHJpYnV0ZXMKKy4vdGVzdC9yZWxheG5nL3R1dG9yNl8zXzEueG1sIGZhaWxzIHRvIHZhbGlkYXRlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yNl8zX2VyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I2XzNfZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM1ZGJlNTEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yNl8zX2VycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy90dXRvcjZfMy5ybmcgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yNl8zX3ZhbGlkIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjZfM192YWxpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjZfM192YWxpZApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjdfMV8xIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjdfMV8xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yN18xXzEKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I3XzFfMS5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yN18xXzEuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZjYWU1NDgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yN18xXzEuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nL3R1dG9yN18xXzEueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjdfMV8yIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjdfMV8yCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yN18xXzIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I3XzFfMi5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yN18xXzIuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM5NWY0MDcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yN18xXzIuZXJyCkBAIC0wLDAgKzEsNCBAQAorLi90ZXN0L3JlbGF4bmcvdHV0b3I3XzFfMi54bWw6MTogZWxlbWVudCB2ZWN0b3I6IFJlbGF4LU5HIHZhbGlkaXR5IGVycm9yIDogZmFpbGVkIHRvIHZhbGlkYXRlIHR5cGUgZmxvYXQKKy4vdGVzdC9yZWxheG5nL3R1dG9yN18xXzIueG1sOjE6IGVsZW1lbnQgdmVjdG9yOiBSZWxheC1ORyB2YWxpZGl0eSBlcnJvciA6IEVycm9yIHZhbGlkYXRpbmcgbGlzdAorLi90ZXN0L3JlbGF4bmcvdHV0b3I3XzFfMi54bWw6MTogZWxlbWVudCB2ZWN0b3I6IFJlbGF4LU5HIHZhbGlkaXR5IGVycm9yIDogRWxlbWVudCB2ZWN0b3IgZmFpbGVkIHRvIHZhbGlkYXRlIGNvbnRlbnQKKy4vdGVzdC9yZWxheG5nL3R1dG9yN18xXzIueG1sIGZhaWxzIHRvIHZhbGlkYXRlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yN18xXzMgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yN18xXzMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I3XzFfMwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjdfMV8zLmVyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I3XzFfMy5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTBmYjhmOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I3XzFfMy5lcnIKQEAgLTAsMCArMSw0IEBACisuL3Rlc3QvcmVsYXhuZy90dXRvcjdfMV8zLnhtbDoxOiBlbGVtZW50IHZlY3RvcjogUmVsYXgtTkcgdmFsaWRpdHkgZXJyb3IgOiBFeHRyYSBkYXRhIGluIGxpc3Q6IDUuNgorLi90ZXN0L3JlbGF4bmcvdHV0b3I3XzFfMy54bWw6MTogZWxlbWVudCB2ZWN0b3I6IFJlbGF4LU5HIHZhbGlkaXR5IGVycm9yIDogRXJyb3IgdmFsaWRhdGluZyBsaXN0CisuL3Rlc3QvcmVsYXhuZy90dXRvcjdfMV8zLnhtbDoxOiBlbGVtZW50IHZlY3RvcjogUmVsYXgtTkcgdmFsaWRpdHkgZXJyb3IgOiBFbGVtZW50IHZlY3RvciBmYWlsZWQgdG8gdmFsaWRhdGUgY29udGVudAorLi90ZXN0L3JlbGF4bmcvdHV0b3I3XzFfMy54bWwgZmFpbHMgdG8gdmFsaWRhdGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I3XzFfNCBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I3XzFfNApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjdfMV80CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yN18xXzQuZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjdfMV80LmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MWI5ZjU4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjdfMV80LmVycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy90dXRvcjdfMV80LnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I3XzFfZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjdfMV9lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDNkMjczZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I3XzFfZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nL3R1dG9yN18xLnJuZyB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I3XzFfdmFsaWQgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yN18xX3ZhbGlkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yN18xX3ZhbGlkCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yN18yXzEgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yN18yXzEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I3XzJfMQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjdfMl8xLmVyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I3XzJfMS5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODY3MzQ2MgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I3XzJfMS5lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3JlbGF4bmcvdHV0b3I3XzJfMS54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yN18yXzIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yN18yXzIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I3XzJfMgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjdfMl8yLmVyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I3XzJfMi5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDAzY2IzMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I3XzJfMi5lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3JlbGF4bmcvdHV0b3I3XzJfMi54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yN18yXzMgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yN18yXzMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I3XzJfMwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjdfMl8zLmVyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I3XzJfMy5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmFmMTE5MAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I3XzJfMy5lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3JlbGF4bmcvdHV0b3I3XzJfMy54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yN18yXzQgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yN18yXzQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I3XzJfNApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjdfMl80LmVyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I3XzJfNC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjFjMjJhOAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I3XzJfNC5lcnIKQEAgLTAsMCArMSw0IEBACisuL3Rlc3QvcmVsYXhuZy90dXRvcjdfMl80LnhtbDoxOiBlbGVtZW50IHZlY3RvcjogUmVsYXgtTkcgdmFsaWRpdHkgZXJyb3IgOiBmYWlsZWQgdG8gdmFsaWRhdGUgdHlwZSBkb3VibGUKKy4vdGVzdC9yZWxheG5nL3R1dG9yN18yXzQueG1sOjE6IGVsZW1lbnQgdmVjdG9yOiBSZWxheC1ORyB2YWxpZGl0eSBlcnJvciA6IEVycm9yIHZhbGlkYXRpbmcgbGlzdAorLi90ZXN0L3JlbGF4bmcvdHV0b3I3XzJfNC54bWw6MTogZWxlbWVudCB2ZWN0b3I6IFJlbGF4LU5HIHZhbGlkaXR5IGVycm9yIDogRWxlbWVudCB2ZWN0b3IgZmFpbGVkIHRvIHZhbGlkYXRlIGNvbnRlbnQKKy4vdGVzdC9yZWxheG5nL3R1dG9yN18yXzQueG1sIGZhaWxzIHRvIHZhbGlkYXRlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yN18yX2VyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I3XzJfZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNlYzUyNDUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yN18yX2VycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy90dXRvcjdfMi5ybmcgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yN18yX3ZhbGlkIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjdfMl92YWxpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjdfMl92YWxpZApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjdfM18xIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjdfM18xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yN18zXzEKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I3XzNfMS5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yN18zXzEuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUwOTZiNTMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yN18zXzEuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nL3R1dG9yN18zXzEueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjdfM18yIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjdfM18yCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yN18zXzIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I3XzNfMi5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yN18zXzIuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI0ZTM5NGQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yN18zXzIuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nL3R1dG9yN18zXzIueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjdfM18zIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjdfM18zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yN18zXzMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I3XzNfMy5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yN18zXzMuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ5MTk2NzUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yN18zXzMuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nL3R1dG9yN18zXzMueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjdfM180IGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjdfM180Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yN18zXzQKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I3XzNfNC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yN18zXzQuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcwNTMxZTQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yN18zXzQuZXJyCkBAIC0wLDAgKzEsNCBAQAorLi90ZXN0L3JlbGF4bmcvdHV0b3I3XzNfNC54bWw6MTogZWxlbWVudCBwYXRoOiBSZWxheC1ORyB2YWxpZGl0eSBlcnJvciA6IEV4dHJhIGRhdGEgaW4gbGlzdDogNS42CisuL3Rlc3QvcmVsYXhuZy90dXRvcjdfM180LnhtbDoxOiBlbGVtZW50IHBhdGg6IFJlbGF4LU5HIHZhbGlkaXR5IGVycm9yIDogRXJyb3IgdmFsaWRhdGluZyBsaXN0CisuL3Rlc3QvcmVsYXhuZy90dXRvcjdfM180LnhtbDoxOiBlbGVtZW50IHBhdGg6IFJlbGF4LU5HIHZhbGlkaXR5IGVycm9yIDogRWxlbWVudCBwYXRoIGZhaWxlZCB0byB2YWxpZGF0ZSBjb250ZW50CisuL3Rlc3QvcmVsYXhuZy90dXRvcjdfM180LnhtbCBmYWlscyB0byB2YWxpZGF0ZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjdfM181IGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjdfM181Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yN18zXzUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I3XzNfNS5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yN18zXzUuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYwMWE2OGIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yN18zXzUuZXJyCkBAIC0wLDAgKzEsNCBAQAorLi90ZXN0L3JlbGF4bmcvdHV0b3I3XzNfNS54bWw6MTogZWxlbWVudCBwYXRoOiBSZWxheC1ORyB2YWxpZGl0eSBlcnJvciA6IGZhaWxlZCB0byB2YWxpZGF0ZSB0eXBlIGRvdWJsZQorLi90ZXN0L3JlbGF4bmcvdHV0b3I3XzNfNS54bWw6MTogZWxlbWVudCBwYXRoOiBSZWxheC1ORyB2YWxpZGl0eSBlcnJvciA6IEVycm9yIHZhbGlkYXRpbmcgbGlzdAorLi90ZXN0L3JlbGF4bmcvdHV0b3I3XzNfNS54bWw6MTogZWxlbWVudCBwYXRoOiBSZWxheC1ORyB2YWxpZGl0eSBlcnJvciA6IEVsZW1lbnQgcGF0aCBmYWlsZWQgdG8gdmFsaWRhdGUgY29udGVudAorLi90ZXN0L3JlbGF4bmcvdHV0b3I3XzNfNS54bWwgZmFpbHMgdG8gdmFsaWRhdGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I3XzNfZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjdfM19lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWYxYzVhMwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I3XzNfZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nL3R1dG9yN18zLnJuZyB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I3XzNfdmFsaWQgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yN18zX3ZhbGlkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yN18zX3ZhbGlkCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOF8xXzEgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOF8xXzEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I4XzFfMQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjhfMV8xLmVyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I4XzFfMS5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTc4YzM5NgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I4XzFfMS5lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3JlbGF4bmcvdHV0b3I4XzFfMS54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOF8xXzIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOF8xXzIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I4XzFfMgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjhfMV8yLmVyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I4XzFfMi5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTFjMTYxMQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I4XzFfMi5lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3JlbGF4bmcvdHV0b3I4XzFfMi54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOF8xX2VyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I4XzFfZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE0ZjZjZTUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOF8xX2VycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy90dXRvcjhfMS5ybmcgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOF8xX3ZhbGlkIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjhfMV92YWxpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjhfMV92YWxpZApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjhfMl8xIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjhfMl8xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOF8yXzEKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I4XzJfMS5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOF8yXzEuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRjNmIzZDQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOF8yXzEuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nL3R1dG9yOF8yXzEueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjhfMl8yIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjhfMl8yCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOF8yXzIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I4XzJfMi5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOF8yXzIuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdmOTU5YjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOF8yXzIuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nL3R1dG9yOF8yXzIueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjhfMl8zIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjhfMl8zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOF8yXzMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I4XzJfMy5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOF8yXzMuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIxYWJlOTMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOF8yXzMuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nL3R1dG9yOF8yXzMueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjhfMl80IGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjhfMl80Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOF8yXzQKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I4XzJfNC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOF8yXzQuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQwYTA4YjQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOF8yXzQuZXJyCkBAIC0wLDAgKzEsMyBAQAorUmVsYXgtTkcgdmFsaWRpdHkgZXJyb3IgOiBFeHRyYSBlbGVtZW50IHRpdGxlIGluIGludGVybGVhdmUKKy4vdGVzdC9yZWxheG5nL3R1dG9yOF8yXzQueG1sOjU6IGVsZW1lbnQgdGl0bGU6IFJlbGF4LU5HIHZhbGlkaXR5IGVycm9yIDogRWxlbWVudCBoZWFkIGZhaWxlZCB0byB2YWxpZGF0ZSBjb250ZW50CisuL3Rlc3QvcmVsYXhuZy90dXRvcjhfMl80LnhtbCBmYWlscyB0byB2YWxpZGF0ZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjhfMl81IGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjhfMl81Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOF8yXzUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I4XzJfNS5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOF8yXzUuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMyMTVkNzYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOF8yXzUuZXJyCkBAIC0wLDAgKzEsNCBAQAorLi90ZXN0L3JlbGF4bmcvdHV0b3I4XzJfNS54bWw6MTogZWxlbWVudCBoZWFkOiBSZWxheC1ORyB2YWxpZGl0eSBlcnJvciA6IEV4cGVjdGluZyBhbiBlbGVtZW50IHRpdGxlLCBnb3Qgbm90aGluZworLi90ZXN0L3JlbGF4bmcvdHV0b3I4XzJfNS54bWw6MTogZWxlbWVudCBoZWFkOiBSZWxheC1ORyB2YWxpZGl0eSBlcnJvciA6IEludmFsaWQgc2VxdWVuY2UgaW4gaW50ZXJsZWF2ZQorLi90ZXN0L3JlbGF4bmcvdHV0b3I4XzJfNS54bWw6MTogZWxlbWVudCBoZWFkOiBSZWxheC1ORyB2YWxpZGl0eSBlcnJvciA6IEVsZW1lbnQgaGVhZCBmYWlsZWQgdG8gdmFsaWRhdGUgY29udGVudAorLi90ZXN0L3JlbGF4bmcvdHV0b3I4XzJfNS54bWwgZmFpbHMgdG8gdmFsaWRhdGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I4XzJfNiBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I4XzJfNgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjhfMl82CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOF8yXzYuZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjhfMl82LmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iOTU5NzY4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjhfMl82LmVycgpAQCAtMCwwICsxLDMgQEAKK1JlbGF4LU5HIHZhbGlkaXR5IGVycm9yIDogRXh0cmEgZWxlbWVudCBiYXNlIGluIGludGVybGVhdmUKKy4vdGVzdC9yZWxheG5nL3R1dG9yOF8yXzYueG1sOjQ6IGVsZW1lbnQgYmFzZTogUmVsYXgtTkcgdmFsaWRpdHkgZXJyb3IgOiBFbGVtZW50IGhlYWQgZmFpbGVkIHRvIHZhbGlkYXRlIGNvbnRlbnQKKy4vdGVzdC9yZWxheG5nL3R1dG9yOF8yXzYueG1sIGZhaWxzIHRvIHZhbGlkYXRlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOF8yX2VyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I4XzJfZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZhM2RjYjIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOF8yX2VycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy90dXRvcjhfMi5ybmcgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOF8yX3ZhbGlkIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjhfMl92YWxpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjhfMl92YWxpZApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjhfM18xIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjhfM18xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOF8zXzEKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I4XzNfMS5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOF8zXzEuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjliNjM3ZWIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOF8zXzEuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nL3R1dG9yOF8zXzEueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjhfM19lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOF8zX2VycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMWM2MTg0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjhfM19lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3JlbGF4bmcvdHV0b3I4XzMucm5nIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjhfM192YWxpZCBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I4XzNfdmFsaWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I4XzNfdmFsaWQKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I5XzEwXzEgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV8xMF8xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV8xMF8xCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV8xMF8xLmVyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I5XzEwXzEuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdjNjExN2YKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV8xMF8xLmVycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy90dXRvcjlfMTBfMS54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV8xMF9lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV8xMF9lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYThhN2NiNgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I5XzEwX2VycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy90dXRvcjlfMTAucm5nIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjlfMTBfdmFsaWQgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV8xMF92YWxpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjlfMTBfdmFsaWQKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I5XzExXzEgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV8xMV8xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV8xMV8xCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV8xMV8xLmVyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I5XzExXzEuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAyYTFmMmEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV8xMV8xLmVycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy90dXRvcjlfMTFfMS54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV8xMV9lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV8xMV9lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWRkOThiZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I5XzExX2VycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy90dXRvcjlfMTEucm5nIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjlfMTFfdmFsaWQgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV8xMV92YWxpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjlfMTFfdmFsaWQKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I5XzEyXzEgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV8xMl8xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV8xMl8xCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV8xMl8xLmVyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I5XzEyXzEuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA4ZjJhOGEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV8xMl8xLmVycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy90dXRvcjlfMTJfMS54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV8xMl9lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV8xMl9lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODg4MTczMAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I5XzEyX2VycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy90dXRvcjlfMTIucm5nIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjlfMTJfdmFsaWQgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV8xMl92YWxpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjlfMTJfdmFsaWQKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I5XzFfMSBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I5XzFfMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjlfMV8xCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV8xXzEuZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjlfMV8xLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MmQwM2QxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjlfMV8xLmVycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy90dXRvcjlfMV8xLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I5XzFfZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjlfMV9lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjJjNWYzNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I5XzFfZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nL3R1dG9yOV8xLnJuZyB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I5XzFfdmFsaWQgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV8xX3ZhbGlkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV8xX3ZhbGlkCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV8yXzEgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV8yXzEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I5XzJfMQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjlfMl8xLmVyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I5XzJfMS5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmMxNzRmZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I5XzJfMS5lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3JlbGF4bmcvdHV0b3I5XzJfMS54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV8yXzIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV8yXzIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I5XzJfMgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjlfMl8yLmVyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I5XzJfMi5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTA3YWEwZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I5XzJfMi5lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3JlbGF4bmcvdHV0b3I5XzJfMi54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV8yX2VyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I5XzJfZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgzYzM0ZmYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV8yX2VycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy90dXRvcjlfMi5ybmcgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV8yX3ZhbGlkIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjlfMl92YWxpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjlfMl92YWxpZApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjlfM18xIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjlfM18xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV8zXzEKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I5XzNfMS5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV8zXzEuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgwYWMyNGMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV8zXzEuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nL3R1dG9yOV8zXzEueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjlfM18yIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjlfM18yCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV8zXzIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I5XzNfMi5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV8zXzIuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEzNjFjOTMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV8zXzIuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nL3R1dG9yOV8zXzIueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjlfM19lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV8zX2VycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYTgyZjhlCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjlfM19lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3JlbGF4bmcvdHV0b3I5XzMucm5nIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjlfM192YWxpZCBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I5XzNfdmFsaWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I5XzNfdmFsaWQKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I5XzRfMSBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I5XzRfMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjlfNF8xCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV80XzEuZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjlfNF8xLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MTRlYjk4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjlfNF8xLmVycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy90dXRvcjlfNF8xLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I5XzRfMiBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I5XzRfMgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjlfNF8yCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV80XzIuZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjlfNF8yLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYTc4MGRjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjlfNF8yLmVycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy90dXRvcjlfNF8yLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I5XzRfZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjlfNF9lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDJkMDg3ZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I5XzRfZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nL3R1dG9yOV80LnJuZyB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I5XzRfdmFsaWQgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV80X3ZhbGlkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV80X3ZhbGlkCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV81XzEgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV81XzEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I5XzVfMQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjlfNV8xLmVyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I5XzVfMS5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTRmNWQ2YQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I5XzVfMS5lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3JlbGF4bmcvdHV0b3I5XzVfMS54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV81XzIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV81XzIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I5XzVfMgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjlfNV8yLmVyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I5XzVfMi5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTM4NDYxNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I5XzVfMi5lcnIKQEAgLTAsMCArMSwzIEBACisuL3Rlc3QvcmVsYXhuZy90dXRvcjlfNV8yLnhtbDoyOiBlbGVtZW50IGNhcmQ6IFJlbGF4LU5HIHZhbGlkaXR5IGVycm9yIDogSW52YWxpZCBzZXF1ZW5jZSBpbiBpbnRlcmxlYXZlCisuL3Rlc3QvcmVsYXhuZy90dXRvcjlfNV8yLnhtbDoyOiBlbGVtZW50IGNhcmQ6IFJlbGF4LU5HIHZhbGlkaXR5IGVycm9yIDogRWxlbWVudCBjYXJkIGZhaWxlZCB0byB2YWxpZGF0ZSBhdHRyaWJ1dGVzCisuL3Rlc3QvcmVsYXhuZy90dXRvcjlfNV8yLnhtbCBmYWlscyB0byB2YWxpZGF0ZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjlfNV8zIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjlfNV8zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV81XzMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I5XzVfMy5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV81XzMuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRiNWQwYWUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV81XzMuZXJyCkBAIC0wLDAgKzEsMiBAQAorLi90ZXN0L3JlbGF4bmcvdHV0b3I5XzVfMy54bWw6MjogZWxlbWVudCBjYXJkOiBSZWxheC1ORyB2YWxpZGl0eSBlcnJvciA6IEludmFsaWQgYXR0cmlidXRlIGVycm9yIGZvciBlbGVtZW50IGNhcmQKKy4vdGVzdC9yZWxheG5nL3R1dG9yOV81XzMueG1sIGZhaWxzIHRvIHZhbGlkYXRlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV81X2VyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I5XzVfZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2ZGRkN2EKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV81X2VycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy90dXRvcjlfNS5ybmcgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV81X3ZhbGlkIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjlfNV92YWxpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjlfNV92YWxpZApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjlfNi5ybmcgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV82LnJuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xN2U2NDkyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjlfNi5ybmcKQEAgLTAsMCArMSwyNCBAQAorPGdyYW1tYXI+CisKKyAgPHN0YXJ0PgorICAgIDxlbGVtZW50IG5hbWU9ImFkZHJlc3NCb29rIj4KKyAgICAgIDx6ZXJvT3JNb3JlPgorCTxlbGVtZW50IG5hbWU9ImNhcmQiPgorCSAgPHJlZiBuYW1lPSJjYXJkLmF0dGxpc3QiLz4KKwk8L2VsZW1lbnQ+CisgICAgICA8L3plcm9Pck1vcmU+CisgICAgPC9lbGVtZW50PgorICA8L3N0YXJ0PgorCisgIDxkZWZpbmUgbmFtZT0iY2FyZC5hdHRsaXN0Ij4KKyAgICA8Z3JvdXA+CisgICAgICA8YXR0cmlidXRlIG5hbWU9Im5hbWUiPgorCTx0ZXh0Lz4KKyAgICAgIDwvYXR0cmlidXRlPgorICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJlbWFpbCI+CisJPHRleHQvPgorICAgICAgPC9hdHRyaWJ1dGU+CisgICAgPC9ncm91cD4KKyAgPC9kZWZpbmU+CisKKzwvZ3JhbW1hcj4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I5XzZfMSBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I5XzZfMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjlfNl8xCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV82XzEuZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjlfNl8xLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNTcyNGU1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjlfNl8xLmVycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy90dXRvcjlfNl8xLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I5XzZfMiBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I5XzZfMgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjlfNl8yCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV82XzIuZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjlfNl8yLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mN2VjOTdmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjlfNl8yLmVycgpAQCAtMCwwICsxLDIgQEAKKy4vdGVzdC9yZWxheG5nL3R1dG9yOV82XzIueG1sOjI6IGVsZW1lbnQgY2FyZDogUmVsYXgtTkcgdmFsaWRpdHkgZXJyb3IgOiBFbGVtZW50IGNhcmQgZmFpbGVkIHRvIHZhbGlkYXRlIGF0dHJpYnV0ZXMKKy4vdGVzdC9yZWxheG5nL3R1dG9yOV82XzIueG1sIGZhaWxzIHRvIHZhbGlkYXRlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV82XzMgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV82XzMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I5XzZfMwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjlfNl8zLmVyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I5XzZfMy5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWZlNWY1NwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I5XzZfMy5lcnIKQEAgLTAsMCArMSwyIEBACisuL3Rlc3QvcmVsYXhuZy90dXRvcjlfNl8zLnhtbDoyOiBlbGVtZW50IGNhcmQ6IFJlbGF4LU5HIHZhbGlkaXR5IGVycm9yIDogSW52YWxpZCBhdHRyaWJ1dGUgZXJyb3IgZm9yIGVsZW1lbnQgY2FyZAorLi90ZXN0L3JlbGF4bmcvdHV0b3I5XzZfMy54bWwgZmFpbHMgdG8gdmFsaWRhdGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I5XzZfZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjlfNl9lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODk3YTA5MgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I5XzZfZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nL3R1dG9yOV82LnJuZyB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I5XzZfdmFsaWQgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV82X3ZhbGlkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV82X3ZhbGlkCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV83XzEgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV83XzEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I5XzdfMQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjlfN18xLmVyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I5XzdfMS5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDBkMTUwMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I5XzdfMS5lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3JlbGF4bmcvdHV0b3I5XzdfMS54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV83X2VyciBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I5XzdfZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUxNzEzMjAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV83X2VycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy90dXRvcjlfNy5ybmcgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV83X3ZhbGlkIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjlfN192YWxpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjlfN192YWxpZApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjlfOF8xIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjlfOF8xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV84XzEKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I5XzhfMS5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV84XzEuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE4NDlmOGIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV84XzEuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nL3R1dG9yOV84XzEueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjlfOF9lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV84X2VycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MWE5MjZjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjlfOF9lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3JlbGF4bmcvdHV0b3I5Xzgucm5nIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjlfOF92YWxpZCBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I5XzhfdmFsaWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I5XzhfdmFsaWQKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I5XzlfMSBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I5XzlfMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjlfOV8xCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV85XzEuZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjlfOV8xLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kODhmMDFhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjlfOV8xLmVycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy90dXRvcjlfOV8xLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I5XzlfZXJyIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvcjlfOV9lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzRhOTVmZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I5XzlfZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9yZWxheG5nL3R1dG9yOV85LnJuZyB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3I5XzlfdmFsaWQgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV85X3ZhbGlkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yOV85X3ZhbGlkCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yQV9lcnIgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yQV9lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjRhYjg5MgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3JlbGF4bmcvdHV0b3JBX2VycgpAQCAtMCwwICsxIEBACisuL3Rlc3QvcmVsYXhuZy90dXRvckEucm5nIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvckFfdmFsaWQgYi9saWJ4bWwyL3Jlc3VsdC9yZWxheG5nL3R1dG9yQV92YWxpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvcmVsYXhuZy90dXRvckFfdmFsaWQKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvNTcwNzAyXzBfMCBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvNTcwNzAyXzBfMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MTcxNmU3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy81NzA3MDJfMF8wCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzLzU3MDcwMl8wLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvNTcwNzAyXzBfMC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzLzU3MDcwMl8wXzAuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzLzU3MDcwMl8wXzAuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzLzU3OTc0Nl8wXzAgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzLzU3OTc0Nl8wXzAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzlhMjRmMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvNTc5NzQ2XzBfMApAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy81Nzk3NDZfMC54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzLzU3OTc0Nl8wXzAuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy81Nzk3NDZfMF8wLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy81Nzk3NDZfMF8wLmVycgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy81Nzk3NDZfMF8xIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy81Nzk3NDZfMF8xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhlM2QzOWEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzLzU3OTc0Nl8wXzEKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvNTc5NzQ2XzEueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy81Nzk3NDZfMF8xLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvNTc5NzQ2XzBfMS5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvNTc5NzQ2XzBfMS5lcnIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvNTc5NzQ2XzBfMiBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvNTc5NzQ2XzBfMgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMTFlYWYxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy81Nzk3NDZfMF8yCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzLzU3OTc0Nl8yLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvNTc5NzQ2XzBfMi5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzLzU3OTc0Nl8wXzIuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzLzU3OTc0Nl8wXzIuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzLzU3OTc0Nl8wXzMgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzLzU3OTc0Nl8wXzMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2YwNmJjNQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvNTc5NzQ2XzBfMwpAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy81Nzk3NDZfMy54bWwgZmFpbHMgdG8gdmFsaWRhdGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvNTc5NzQ2XzBfMy5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzLzU3OTc0Nl8wXzMuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVlNGMyNWUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzLzU3OTc0Nl8wXzMuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzLzU3OTc0Nl8zLnhtbDo1OiBlbGVtZW50IGN1c3RvbWVyOiBTY2hlbWFzIHZhbGlkaXR5IGVycm9yIDogRWxlbWVudCAnY3VzdG9tZXInOiBUaGlzIGVsZW1lbnQgaXMgbm90IGV4cGVjdGVkLgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy81Nzk3NDZfMF80IGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy81Nzk3NDZfMF80Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ3NjMwMDEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzLzU3OTc0Nl8wXzQKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvNTc5NzQ2XzQueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy81Nzk3NDZfMF80LmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvNTc5NzQ2XzBfNC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvNTc5NzQ2XzBfNC5lcnIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvNTc5NzQ2XzBfNSBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvNTc5NzQ2XzBfNQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MTczOGU0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy81Nzk3NDZfMF81CkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzLzU3OTc0Nl81LnhtbCBmYWlscyB0byB2YWxpZGF0ZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy81Nzk3NDZfMF81LmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvNTc5NzQ2XzBfNS5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWU1NjgwZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvNTc5NzQ2XzBfNS5lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvNTc5NzQ2XzUueG1sOjU6IGVsZW1lbnQgY29tbWVudDogU2NoZW1hcyB2YWxpZGl0eSBlcnJvciA6IEVsZW1lbnQgJ2NvbW1lbnQnOiBUaGlzIGVsZW1lbnQgaXMgbm90IGV4cGVjdGVkLgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy81Nzk3NDZfMV8wIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy81Nzk3NDZfMV8wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM5YTI0ZjIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzLzU3OTc0Nl8xXzAKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvNTc5NzQ2XzAueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy81Nzk3NDZfMV8wLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvNTc5NzQ2XzFfMC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvNTc5NzQ2XzFfMC5lcnIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvNTc5NzQ2XzFfMSBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvNTc5NzQ2XzFfMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZTNkMzlhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy81Nzk3NDZfMV8xCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzLzU3OTc0Nl8xLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvNTc5NzQ2XzFfMS5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzLzU3OTc0Nl8xXzEuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzLzU3OTc0Nl8xXzEuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzLzU3OTc0Nl8xXzIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzLzU3OTc0Nl8xXzIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTExZWFmMQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvNTc5NzQ2XzFfMgpAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy81Nzk3NDZfMi54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzLzU3OTc0Nl8xXzIuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy81Nzk3NDZfMV8yLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy81Nzk3NDZfMV8yLmVycgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy81Nzk3NDZfMV8zIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy81Nzk3NDZfMV8zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNmMDZiYzUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzLzU3OTc0Nl8xXzMKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvNTc5NzQ2XzMueG1sIGZhaWxzIHRvIHZhbGlkYXRlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzLzU3OTc0Nl8xXzMuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy81Nzk3NDZfMV8zLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZTRjMjVlCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy81Nzk3NDZfMV8zLmVycgpAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy81Nzk3NDZfMy54bWw6NTogZWxlbWVudCBjdXN0b21lcjogU2NoZW1hcyB2YWxpZGl0eSBlcnJvciA6IEVsZW1lbnQgJ2N1c3RvbWVyJzogVGhpcyBlbGVtZW50IGlzIG5vdCBleHBlY3RlZC4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvNTc5NzQ2XzFfNCBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvNTc5NzQ2XzFfNApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NzYzMDAxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy81Nzk3NDZfMV80CkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzLzU3OTc0Nl80LnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvNTc5NzQ2XzFfNC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzLzU3OTc0Nl8xXzQuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzLzU3OTc0Nl8xXzQuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzLzU3OTc0Nl8xXzUgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzLzU3OTc0Nl8xXzUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTE3MzhlNAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvNTc5NzQ2XzFfNQpAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy81Nzk3NDZfNS54bWwgZmFpbHMgdG8gdmFsaWRhdGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvNTc5NzQ2XzFfNS5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzLzU3OTc0Nl8xXzUuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFlNTY4MGQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzLzU3OTc0Nl8xXzUuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzLzU3OTc0Nl81LnhtbDo1OiBlbGVtZW50IGNvbW1lbnQ6IFNjaGVtYXMgdmFsaWRpdHkgZXJyb3IgOiBFbGVtZW50ICdjb21tZW50JzogVGhpcyBlbGVtZW50IGlzIG5vdCBleHBlY3RlZC4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvNTgyODg3XzBfMCBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvNTgyODg3XzBfMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YWU4NDgyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy81ODI4ODdfMF8wCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzLzU4Mjg4N18wLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvNTgyODg3XzBfMC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzLzU4Mjg4N18wXzAuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzLzU4Mjg4N18wXzAuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzLzU4MjkwNi0xXzBfMCBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvNTgyOTA2LTFfMF8wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUxYWJiZjUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzLzU4MjkwNi0xXzBfMApAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy81ODI5MDYtMV8wLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvNTgyOTA2LTFfMF8wLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvNTgyOTA2LTFfMF8wLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy81ODI5MDYtMV8wXzAuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzLzU4MjkwNi0yXzBfMCBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvNTgyOTA2LTJfMF8wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzLzU4MjkwNi0yXzBfMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy81ODI5MDYtMl8wXzAuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy81ODI5MDYtMl8wXzAuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMxZjgyMDQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzLzU4MjkwNi0yXzBfMC5lcnIKQEAgLTAsMCArMSBAQAordGVzdC9zY2hlbWFzLzU4MjkwNi0yLXByb2cxLnhzZDo5OiBlbGVtZW50IGluY2x1ZGU6IFNjaGVtYXMgcGFyc2VyIGVycm9yIDogRWxlbWVudCAne2h0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hfWluY2x1ZGUnOiBUaGUgdGFyZ2V0IG5hbWVzcGFjZSAnaHR0cDovL2V4YW1wbGUuY29tL3htbC9Qcm9nMycgb2YgdGhlIGluY2x1ZGVkL3JlZGVmaW5lZCBzY2hlbWEgJ3Rlc3Qvc2NoZW1hcy81ODI5MDYtMi1jb21tb24ueHNkJyBkaWZmZXJzIGZyb20gJ2h0dHA6Ly9leGFtcGxlLmNvbS94bWwvUHJvZzEnIG9mIHRoZSBpbmNsdWRpbmcvcmVkZWZpbmluZyBzY2hlbWEuCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FsbDFfMF8wIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbGwxXzBfMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMjdjZWM3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbGwxXzBfMApAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9hbGwxXzAueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbGwxXzBfMC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FsbDFfMF8wLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbGwxXzBfMC5lcnIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsXzBfMCBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsXzBfMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wOGViMTA4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbGxfMF8wCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL2FsbF8wLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsXzBfMC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FsbF8wXzAuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FsbF8wXzAuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FsbF8wXzEgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FsbF8wXzEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWFmNGExYQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsXzBfMQpAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9hbGxfMS54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FsbF8wXzEuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbGxfMF8xLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbGxfMF8xLmVycgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbGxfMF8yIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbGxfMF8yCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYyYWY5MDEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FsbF8wXzIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvYWxsXzIueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbGxfMF8yLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsXzBfMi5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsXzBfMi5lcnIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsXzBfMyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsXzBfMwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NWEyYTRkCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbGxfMF8zCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL2FsbF8zLnhtbCBmYWlscyB0byB2YWxpZGF0ZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbGxfMF8zLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsXzBfMy5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjkzM2ZiNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsXzBfMy5lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvYWxsXzMueG1sOjE6IGVsZW1lbnQgZG9jOiBTY2hlbWFzIHZhbGlkaXR5IGVycm9yIDogRWxlbWVudCAnZG9jJzogTWlzc2luZyBjaGlsZCBlbGVtZW50KHMpLiBFeHBlY3RlZCBpcyAoIGMgKS4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsXzBfNCBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsXzBfNApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZGQ4ODI0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbGxfMF80CkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL2FsbF80LnhtbCBmYWlscyB0byB2YWxpZGF0ZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbGxfMF80LmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsXzBfNC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjg0NmQxNQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsXzBfNC5lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvYWxsXzQueG1sOjE6IGVsZW1lbnQgZG9jOiBTY2hlbWFzIHZhbGlkaXR5IGVycm9yIDogRWxlbWVudCAnZG9jJzogTWlzc2luZyBjaGlsZCBlbGVtZW50KHMpLiBFeHBlY3RlZCBpcyBvbmUgb2YgKCBhLCBiLCBjICkuCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FsbF8wXzUgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FsbF8wXzUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjkzOWY2NQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsXzBfNQpAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9hbGxfNS54bWwgZmFpbHMgdG8gdmFsaWRhdGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsXzBfNS5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FsbF8wXzUuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ4Y2E5YTcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FsbF8wXzUuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL2FsbF81LnhtbDoxOiBlbGVtZW50IGE6IFNjaGVtYXMgdmFsaWRpdHkgZXJyb3IgOiBFbGVtZW50ICdhJzogVGhpcyBlbGVtZW50IGlzIG5vdCBleHBlY3RlZC4gRXhwZWN0ZWQgaXMgKCBjICkuCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FsbF8wXzYgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FsbF8wXzYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzM3MDVjNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsXzBfNgpAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9hbGxfNi54bWwgZmFpbHMgdG8gdmFsaWRhdGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsXzBfNi5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FsbF8wXzYuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMzMWQ5MWIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FsbF8wXzYuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL2FsbF82LnhtbDoxOiBlbGVtZW50IGRvYzogU2NoZW1hcyB2YWxpZGl0eSBlcnJvciA6IEVsZW1lbnQgJ2RvYyc6IE1pc3NpbmcgY2hpbGQgZWxlbWVudChzKS4gRXhwZWN0ZWQgaXMgb25lIG9mICggYiwgYyApLgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbGxfMF83IGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbGxfMF83Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQxNDRkMmQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FsbF8wXzcKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvYWxsXzcueG1sIGZhaWxzIHRvIHZhbGlkYXRlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FsbF8wXzcuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbGxfMF83LmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNWM1NDI4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbGxfMF83LmVycgpAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9hbGxfNy54bWw6MTogZWxlbWVudCBkb2M6IFNjaGVtYXMgdmFsaWRpdHkgZXJyb3IgOiBFbGVtZW50ICdkb2MnOiBNaXNzaW5nIGNoaWxkIGVsZW1lbnQocykuIEV4cGVjdGVkIGlzICggYyApLgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbGxfMV8wIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbGxfMV8wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA4ZWIxMDgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FsbF8xXzAKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvYWxsXzAueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbGxfMV8wLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsXzFfMC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsXzFfMC5lcnIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsXzFfMSBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsXzFfMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYWY0YTFhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbGxfMV8xCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL2FsbF8xLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsXzFfMS5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FsbF8xXzEuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FsbF8xXzEuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FsbF8xXzIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FsbF8xXzIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjJhZjkwMQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsXzFfMgpAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9hbGxfMi54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FsbF8xXzIuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbGxfMV8yLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbGxfMV8yLmVycgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbGxfMV8zIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbGxfMV8zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU1YTJhNGQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FsbF8xXzMKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvYWxsXzMueG1sIGZhaWxzIHRvIHZhbGlkYXRlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FsbF8xXzMuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbGxfMV8zLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42OTMzZmI3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbGxfMV8zLmVycgpAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9hbGxfMy54bWw6MTogZWxlbWVudCBkb2M6IFNjaGVtYXMgdmFsaWRpdHkgZXJyb3IgOiBFbGVtZW50ICdkb2MnOiBNaXNzaW5nIGNoaWxkIGVsZW1lbnQocykuIEV4cGVjdGVkIGlzICggYyApLgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbGxfMV80IGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbGxfMV80Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJlYjIyYWUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FsbF8xXzQKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvYWxsXzQueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbGxfMV80LmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsXzFfNC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsXzFfNC5lcnIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsXzFfNSBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsXzFfNQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mOTM5ZjY1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbGxfMV81CkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL2FsbF81LnhtbCBmYWlscyB0byB2YWxpZGF0ZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbGxfMV81LmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsXzFfNS5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDhjYTlhNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsXzFfNS5lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvYWxsXzUueG1sOjE6IGVsZW1lbnQgYTogU2NoZW1hcyB2YWxpZGl0eSBlcnJvciA6IEVsZW1lbnQgJ2EnOiBUaGlzIGVsZW1lbnQgaXMgbm90IGV4cGVjdGVkLiBFeHBlY3RlZCBpcyAoIGMgKS4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsXzFfNiBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsXzFfNgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMzcwNWM3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbGxfMV82CkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL2FsbF82LnhtbCBmYWlscyB0byB2YWxpZGF0ZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbGxfMV82LmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsXzFfNi5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzMxZDkxYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsXzFfNi5lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvYWxsXzYueG1sOjE6IGVsZW1lbnQgZG9jOiBTY2hlbWFzIHZhbGlkaXR5IGVycm9yIDogRWxlbWVudCAnZG9jJzogTWlzc2luZyBjaGlsZCBlbGVtZW50KHMpLiBFeHBlY3RlZCBpcyBvbmUgb2YgKCBiLCBjICkuCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FsbF8xXzcgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FsbF8xXzcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDE0NGQyZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsXzFfNwpAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9hbGxfNy54bWwgZmFpbHMgdG8gdmFsaWRhdGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsXzFfNy5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FsbF8xXzcuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ1YzU0MjgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FsbF8xXzcuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL2FsbF83LnhtbDoxOiBlbGVtZW50IGRvYzogU2NoZW1hcyB2YWxpZGl0eSBlcnJvciA6IEVsZW1lbnQgJ2RvYyc6IE1pc3NpbmcgY2hpbGQgZWxlbWVudChzKS4gRXhwZWN0ZWQgaXMgKCBjICkuCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FsbF8yXzAgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FsbF8yXzAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzcwNjZlMAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsXzJfMApAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9hbGxfMC54bWwgZmFpbHMgdG8gdmFsaWRhdGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsXzJfMC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FsbF8yXzAuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZlZjg1OTAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FsbF8yXzAuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL2FsbF8wLnhtbDoxOiBlbGVtZW50IGM6IFNjaGVtYXMgdmFsaWRpdHkgZXJyb3IgOiBFbGVtZW50ICdjJzogVGhpcyBlbGVtZW50IGlzIG5vdCBleHBlY3RlZC4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsXzJfMSBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsXzJfMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYmRhMWZlCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbGxfMl8xCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL2FsbF8xLnhtbCBmYWlscyB0byB2YWxpZGF0ZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbGxfMl8xLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsXzJfMS5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmQ4Y2I0OAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsXzJfMS5lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvYWxsXzEueG1sOjE6IGVsZW1lbnQgYzogU2NoZW1hcyB2YWxpZGl0eSBlcnJvciA6IEVsZW1lbnQgJ2MnOiBUaGlzIGVsZW1lbnQgaXMgbm90IGV4cGVjdGVkLiBFeHBlY3RlZCBpcyAoIGEgKS4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsXzJfMiBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsXzJfMgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yN2RiNjQzCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbGxfMl8yCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL2FsbF8yLnhtbCBmYWlscyB0byB2YWxpZGF0ZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbGxfMl8yLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsXzJfMi5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWYwNDQ2MgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsXzJfMi5lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvYWxsXzIueG1sOjE6IGVsZW1lbnQgYzogU2NoZW1hcyB2YWxpZGl0eSBlcnJvciA6IEVsZW1lbnQgJ2MnOiBUaGlzIGVsZW1lbnQgaXMgbm90IGV4cGVjdGVkLgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbGxfMl8zIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbGxfMl8zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgxODZlODIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FsbF8yXzMKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvYWxsXzMueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbGxfMl8zLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsXzJfMy5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsXzJfMy5lcnIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsXzJfNCBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsXzJfNApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZGQ4ODI0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbGxfMl80CkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL2FsbF80LnhtbCBmYWlscyB0byB2YWxpZGF0ZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbGxfMl80LmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsXzJfNC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzFkY2YxMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsXzJfNC5lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvYWxsXzQueG1sOjE6IGVsZW1lbnQgZG9jOiBTY2hlbWFzIHZhbGlkaXR5IGVycm9yIDogRWxlbWVudCAnZG9jJzogTWlzc2luZyBjaGlsZCBlbGVtZW50KHMpLiBFeHBlY3RlZCBpcyBvbmUgb2YgKCBhLCBiICkuCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FsbF8yXzUgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FsbF8yXzUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjkzOWY2NQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsXzJfNQpAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9hbGxfNS54bWwgZmFpbHMgdG8gdmFsaWRhdGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsXzJfNS5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FsbF8yXzUuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU4NTllYmQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FsbF8yXzUuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL2FsbF81LnhtbDoxOiBlbGVtZW50IGE6IFNjaGVtYXMgdmFsaWRpdHkgZXJyb3IgOiBFbGVtZW50ICdhJzogVGhpcyBlbGVtZW50IGlzIG5vdCBleHBlY3RlZC4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsXzJfNiBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsXzJfNgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNGE5NTk0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbGxfMl82CkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL2FsbF82LnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsXzJfNi5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FsbF8yXzYuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FsbF8yXzYuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FsbF8yXzcgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FsbF8yXzcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmFkNGZjNgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsXzJfNwpAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9hbGxfNy54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FsbF8yXzcuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbGxfMl83LmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbGxfMl83LmVycgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbGxzZ18wXzAgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FsbHNnXzBfMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMDc4ZjA1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbGxzZ18wXzAKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvYWxsc2dfMC54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FsbHNnXzBfMC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FsbHNnXzBfMC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsc2dfMF8wLmVycgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbGxzZ18wXzEgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FsbHNnXzBfMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYjNjZjU4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbGxzZ18wXzEKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvYWxsc2dfMS54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FsbHNnXzBfMS5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FsbHNnXzBfMS5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsc2dfMF8xLmVycgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbGxzZ18wXzIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FsbHNnXzBfMgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYTNkZTUyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbGxzZ18wXzIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvYWxsc2dfMi54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FsbHNnXzBfMi5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FsbHNnXzBfMi5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsc2dfMF8yLmVycgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbGxzZ18wXzMgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FsbHNnXzBfMwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mOTgxNTJiCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbGxzZ18wXzMKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvYWxsc2dfMy54bWwgZmFpbHMgdG8gdmFsaWRhdGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsc2dfMF8zLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsc2dfMF8zLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MjhhMzYwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbGxzZ18wXzMuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL2FsbHNnXzMueG1sOjY6IGVsZW1lbnQgZ20tQi0xOiBTY2hlbWFzIHZhbGlkaXR5IGVycm9yIDogRWxlbWVudCAne3Vybjp0ZXN0OmZvb31nbS1CLTEnOiBUaGlzIGVsZW1lbnQgaXMgbm90IGV4cGVjdGVkLiBFeHBlY3RlZCBpcyBvbmUgb2YgKCB7dXJuOnRlc3Q6Zm9vfWdoLUEsIHt1cm46dGVzdDpmb299Z20tQS0xLCB7dXJuOnRlc3Q6Zm9vfWdtLUEtMiApLgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbGxzZ18wXzQgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FsbHNnXzBfNApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZmU2OWMxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbGxzZ18wXzQKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvYWxsc2dfNC54bWwgZmFpbHMgdG8gdmFsaWRhdGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsc2dfMF80LmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsc2dfMF80LmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNzIyODhkCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbGxzZ18wXzQuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL2FsbHNnXzQueG1sOjY6IGVsZW1lbnQgZ20tQS0xOiBTY2hlbWFzIHZhbGlkaXR5IGVycm9yIDogRWxlbWVudCAne3Vybjp0ZXN0OmZvb31nbS1BLTEnOiBUaGlzIGVsZW1lbnQgaXMgbm90IGV4cGVjdGVkLiBFeHBlY3RlZCBpcyBvbmUgb2YgKCB7dXJuOnRlc3Q6Zm9vfWdoLUIsIHt1cm46dGVzdDpmb299Z20tQi0xLCB7dXJuOnRlc3Q6Zm9vfWdtLUItMiApLgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbGxzZ18wXzUgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FsbHNnXzBfNQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNjg5Y2YwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbGxzZ18wXzUKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvYWxsc2dfNS54bWwgZmFpbHMgdG8gdmFsaWRhdGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsc2dfMF81LmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYWxsc2dfMF81LmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNmExNDQ2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbGxzZ18wXzUuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL2FsbHNnXzUueG1sOjc6IGVsZW1lbnQgZ20tQi0yOiBTY2hlbWFzIHZhbGlkaXR5IGVycm9yIDogRWxlbWVudCAne3Vybjp0ZXN0OmZvb31nbS1CLTInOiBUaGlzIGVsZW1lbnQgaXMgbm90IGV4cGVjdGVkLgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbm5vdC1lcnJfMF8wIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbm5vdC1lcnJfMF8wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2Fubm90LWVycl8wXzAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW5ub3QtZXJyXzBfMC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2Fubm90LWVycl8wXzAuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc4YzBjNzIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2Fubm90LWVycl8wXzAuZXJyCkBAIC0wLDAgKzEsNyBAQAorLi90ZXN0L3NjaGVtYXMvYW5ub3QtZXJyXzAueHNkOjc6IGVsZW1lbnQgYW5ub3RhdGlvbjogU2NoZW1hcyBwYXJzZXIgZXJyb3IgOiBFbGVtZW50ICd7aHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWF9YW5ub3RhdGlvbic6IFRoZSBhdHRyaWJ1dGUgJ2RlYXRoJyBpcyBub3QgYWxsb3dlZC4KKy4vdGVzdC9zY2hlbWFzL2Fubm90LWVycl8wLnhzZDo3OiBlbGVtZW50IGFubm90YXRpb246IFNjaGVtYXMgcGFyc2VyIGVycm9yIDogRWxlbWVudCAne2h0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hfWFubm90YXRpb24nOiBUaGUgY29udGVudCBpcyBub3QgdmFsaWQuIEV4cGVjdGVkIGlzIChhcHBpbmZvIHwgZG9jdW1lbnRhdGlvbikqLgorLi90ZXN0L3NjaGVtYXMvYW5ub3QtZXJyXzAueHNkOjEwOiBlbGVtZW50IGFwcGluZm86IFNjaGVtYXMgcGFyc2VyIGVycm9yIDogRWxlbWVudCAne2h0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hfWFwcGluZm8nOiBUaGUgYXR0cmlidXRlICdpZCcgaXMgbm90IGFsbG93ZWQuCisuL3Rlc3Qvc2NoZW1hcy9hbm5vdC1lcnJfMC54c2Q6MTA6IGVsZW1lbnQgYXBwaW5mbzogU2NoZW1hcyBwYXJzZXIgZXJyb3IgOiBFbGVtZW50ICd7aHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWF9YXBwaW5mbyc6IFRoZSBhdHRyaWJ1dGUgJ2Z1bicgaXMgbm90IGFsbG93ZWQuCisuL3Rlc3Qvc2NoZW1hcy9hbm5vdC1lcnJfMC54c2Q6MTQ6IGVsZW1lbnQgZG9jdW1lbnRhdGlvbjogU2NoZW1hcyBwYXJzZXIgZXJyb3IgOiBFbGVtZW50ICd7aHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWF9ZG9jdW1lbnRhdGlvbic6IFRoZSBhdHRyaWJ1dGUgJ2lkJyBpcyBub3QgYWxsb3dlZC4KKy4vdGVzdC9zY2hlbWFzL2Fubm90LWVycl8wLnhzZDoxNDogZWxlbWVudCBkb2N1bWVudGF0aW9uOiBTY2hlbWFzIHBhcnNlciBlcnJvciA6IEVsZW1lbnQgJ3todHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYX1kb2N1bWVudGF0aW9uJzogVGhlIGF0dHJpYnV0ZSAnbW90aGVycycgaXMgbm90IGFsbG93ZWQuCisuL3Rlc3Qvc2NoZW1hcy9hbm5vdC1lcnJfMC54c2Q6MTQ6IGVsZW1lbnQgZG9jdW1lbnRhdGlvbjogU2NoZW1hcyBwYXJzZXIgZXJyb3IgOiBFbGVtZW50ICd7aHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWF9ZG9jdW1lbnRhdGlvbicsIGF0dHJpYnV0ZSAne2h0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZX1sYW5nJzogJyonIGlzIG5vdCBhIHZhbGlkIHZhbHVlIG9mIHRoZSBhdG9taWMgdHlwZSAneHM6bGFuZ3VhZ2UnLgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnkxXzBfMCBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55MV8wXzAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2VlYzBmYwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55MV8wXzAKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvYW55MV8wLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55MV8wXzAuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnkxXzBfMC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55MV8wXzAuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FueTJfMF8wIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnkyXzBfMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZWY3M2I4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnkyXzBfMApAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9hbnkyXzAueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnkyXzBfMC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FueTJfMF8wLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnkyXzBfMC5lcnIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55M18wXzAgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FueTNfMF8wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU2OGFmNGYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FueTNfMF8wCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL2FueTNfMC54bWwgZmFpbHMgdG8gdmFsaWRhdGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55M18wXzAuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnkzXzBfMC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDljZTU4MQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55M18wXzAuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL2FueTNfMC54bWw6MTI6IGVsZW1lbnQgYmFyLkE6IFNjaGVtYXMgdmFsaWRpdHkgZXJyb3IgOiBFbGVtZW50ICdiYXIuQSc6IFRoaXMgZWxlbWVudCBpcyBub3QgZXhwZWN0ZWQuIEV4cGVjdGVkIGlzICggIyNvdGhlcntodHRwOi8vRk9PfSogKS4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55NF8wXzAgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FueTRfMF8wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQyZWE0NTQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FueTRfMF8wCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL2FueTRfMC54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FueTRfMF8wLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55NF8wXzAuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FueTRfMF8wLmVycgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnk1XzBfMCBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55NV8wXzAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTEwZjhiYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55NV8wXzAKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvYW55NV8wLnhtbCBmYWlscyB0byB2YWxpZGF0ZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnk1XzBfMC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FueTVfMF8wLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNjlmZDU3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnk1XzBfMC5lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvYW55NV8wLnhtbDo2OiBlbGVtZW50IGJvbzogU2NoZW1hcyB2YWxpZGl0eSBlcnJvciA6IEVsZW1lbnQgJ3t1cm46dGVzdDpmb299Ym9vJzogVGhpcyBlbGVtZW50IGlzIG5vdCBleHBlY3RlZC4gRXhwZWN0ZWQgaXMgKCAjI290aGVye3Vybjp0ZXN0OmZvb30qICkuCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FueTVfMF8xIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnk1XzBfMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZTJjNDYxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnk1XzBfMQpAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9hbnk1XzEueG1sIGZhaWxzIHRvIHZhbGlkYXRlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FueTVfMF8xLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55NV8wXzEuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc5ZDdlMzUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FueTVfMF8xLmVycgpAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9hbnk1XzEueG1sOjExOiBlbGVtZW50IGJvbzogU2NoZW1hcyB2YWxpZGl0eSBlcnJvciA6IEVsZW1lbnQgJ3t1cm46dGVzdDpiYXJ9Ym9vJzogVGhpcyBlbGVtZW50IGlzIG5vdCBleHBlY3RlZC4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55NV8wXzIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FueTVfMF8yCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIwNDk0NzgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FueTVfMF8yCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL2FueTVfMi54bWwgZmFpbHMgdG8gdmFsaWRhdGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55NV8wXzIuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnk1XzBfMi5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTViZjRjMAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55NV8wXzIuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL2FueTVfMi54bWw6NzogZWxlbWVudCBib286IFNjaGVtYXMgdmFsaWRpdHkgZXJyb3IgOiBFbGVtZW50ICd7dXJuOnRlc3Q6Zm9vfWJvbyc6IFRoaXMgZWxlbWVudCBpcyBub3QgZXhwZWN0ZWQuCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FueTVfMF8zIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnk1XzBfMwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44Y2ZiOTRlCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnk1XzBfMwpAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9hbnk1XzMueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnk1XzBfMy5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FueTVfMF8zLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnk1XzBfMy5lcnIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55NV8wXzQgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FueTVfMF80Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBhNGJjZTAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FueTVfMF80CkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL2FueTVfNC54bWwgZmFpbHMgdG8gdmFsaWRhdGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55NV8wXzQuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnk1XzBfNC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzRhNmJkYQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55NV8wXzQuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL2FueTVfNC54bWw6MTE6IGVsZW1lbnQgYm9vOiBTY2hlbWFzIHZhbGlkaXR5IGVycm9yIDogRWxlbWVudCAne3Vybjp0ZXN0OmJhcn1ib28nOiBUaGlzIGVsZW1lbnQgaXMgbm90IGV4cGVjdGVkLgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnk1XzBfNSBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55NV8wXzUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmMxNWQyNQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55NV8wXzUKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvYW55NV81LnhtbCBmYWlscyB0byB2YWxpZGF0ZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnk1XzBfNS5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FueTVfMF81LmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNTAxMTNmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnk1XzBfNS5lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvYW55NV81LnhtbDoxMTogZWxlbWVudCBib286IFNjaGVtYXMgdmFsaWRpdHkgZXJyb3IgOiBFbGVtZW50ICd7dXJuOnRlc3Q6Zm9vfWJvbyc6IFRoaXMgZWxlbWVudCBpcyBub3QgZXhwZWN0ZWQuCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FueTVfMF82IGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnk1XzBfNgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jOWRmNTYyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnk1XzBfNgpAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9hbnk1XzYueG1sIGZhaWxzIHRvIHZhbGlkYXRlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FueTVfMF82LmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55NV8wXzYuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI2NGNkNGYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FueTVfMF82LmVycgpAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9hbnk1XzYueG1sOjExOiBlbGVtZW50IGJvbzogU2NoZW1hcyB2YWxpZGl0eSBlcnJvciA6IEVsZW1lbnQgJ3t1cm46dGVzdDpiYXJ9Ym9vJzogVGhpcyBlbGVtZW50IGlzIG5vdCBleHBlY3RlZC4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55NV8xXzAgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FueTVfMV8wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkxMGY4YmIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FueTVfMV8wCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL2FueTVfMC54bWwgZmFpbHMgdG8gdmFsaWRhdGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55NV8xXzAuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnk1XzFfMC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjY5ZmQ1NwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55NV8xXzAuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL2FueTVfMC54bWw6NjogZWxlbWVudCBib286IFNjaGVtYXMgdmFsaWRpdHkgZXJyb3IgOiBFbGVtZW50ICd7dXJuOnRlc3Q6Zm9vfWJvbyc6IFRoaXMgZWxlbWVudCBpcyBub3QgZXhwZWN0ZWQuIEV4cGVjdGVkIGlzICggIyNvdGhlcnt1cm46dGVzdDpmb299KiApLgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnk1XzFfMSBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55NV8xXzEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWUyYzQ2MQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55NV8xXzEKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvYW55NV8xLnhtbCBmYWlscyB0byB2YWxpZGF0ZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnk1XzFfMS5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FueTVfMV8xLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYmZjY2I0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnk1XzFfMS5lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvYW55NV8xLnhtbDoxMTogZWxlbWVudCBib286IFNjaGVtYXMgdmFsaWRpdHkgZXJyb3IgOiBFbGVtZW50ICd7dXJuOnRlc3Q6YmFyfWJvbyc6IFRoaXMgZWxlbWVudCBpcyBub3QgZXhwZWN0ZWQuIEV4cGVjdGVkIGlzICgge3Vybjp0ZXN0OmZvb31ib28gKS4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55NV8xXzIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FueTVfMV8yCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZlYWIyYmIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FueTVfMV8yCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL2FueTVfMi54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FueTVfMV8yLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55NV8xXzIuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FueTVfMV8yLmVycgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnk1XzFfMyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55NV8xXzMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjExNGE2NwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55NV8xXzMKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvYW55NV8zLnhtbCBmYWlscyB0byB2YWxpZGF0ZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnk1XzFfMy5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FueTVfMV8zLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNmMwN2IyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnk1XzFfMy5lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvYW55NV8zLnhtbDo0OiBlbGVtZW50IGZvbzogU2NoZW1hcyB2YWxpZGl0eSBlcnJvciA6IEVsZW1lbnQgJ3t1cm46dGVzdDpmb299Zm9vJzogTWlzc2luZyBjaGlsZCBlbGVtZW50KHMpLgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnk1XzFfNCBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55NV8xXzQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGE0YmNlMAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55NV8xXzQKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvYW55NV80LnhtbCBmYWlscyB0byB2YWxpZGF0ZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnk1XzFfNC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FueTVfMV80LmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZDg5NzczCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnk1XzFfNC5lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvYW55NV80LnhtbDoxMTogZWxlbWVudCBib286IFNjaGVtYXMgdmFsaWRpdHkgZXJyb3IgOiBFbGVtZW50ICd7dXJuOnRlc3Q6YmFyfWJvbyc6IFRoaXMgZWxlbWVudCBpcyBub3QgZXhwZWN0ZWQuIEV4cGVjdGVkIGlzICgge3Vybjp0ZXN0OmZvb31ib28gKS4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55NV8xXzUgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FueTVfMV81Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU1NzNkNDYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FueTVfMV81CkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL2FueTVfNS54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FueTVfMV81LmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55NV8xXzUuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FueTVfMV81LmVycgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnk1XzFfNiBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55NV8xXzYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzlkZjU2MgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55NV8xXzYKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvYW55NV82LnhtbCBmYWlscyB0byB2YWxpZGF0ZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnk1XzFfNi5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FueTVfMV82LmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YzNmMDIwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnk1XzFfNi5lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvYW55NV82LnhtbDoxMTogZWxlbWVudCBib286IFNjaGVtYXMgdmFsaWRpdHkgZXJyb3IgOiBFbGVtZW50ICd7dXJuOnRlc3Q6YmFyfWJvbyc6IFRoaXMgZWxlbWVudCBpcyBub3QgZXhwZWN0ZWQuIEV4cGVjdGVkIGlzICgge3Vybjp0ZXN0OmZvb31ib28gKS4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55Nl8xXzAgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FueTZfMV8wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFiYjQ5M2MKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FueTZfMV8wCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL2FueTZfMC54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FueTZfMV8wLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55Nl8xXzAuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FueTZfMV8wLmVycgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnk2XzJfMCBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55Nl8yXzAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWJiNDkzYwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55Nl8yXzAKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvYW55Nl8wLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55Nl8yXzAuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnk2XzJfMC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55Nl8yXzAuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FueTdfMV8wIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnk3XzFfMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZmQ5ZGNjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnk3XzFfMApAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9hbnk3XzAueG1sIGZhaWxzIHRvIHZhbGlkYXRlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FueTdfMV8wLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55N18xXzAuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE0Mjc0ZjgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FueTdfMV8wLmVycgpAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9hbnk3XzAueG1sOjE4OiBlbGVtZW50IG1vbzogU2NoZW1hcyB2YWxpZGl0eSBlcnJvciA6IEVsZW1lbnQgJ21vbyc6IFRoaXMgZWxlbWVudCBpcyBub3QgZXhwZWN0ZWQuIEV4cGVjdGVkIGlzICggIyNvdGhlcnt1cm46dGVzdDpmb299KiApLgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnk3XzFfMSBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55N18xXzEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmE2ZjVkNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55N18xXzEKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvYW55N18xLnhtbCBmYWlscyB0byB2YWxpZGF0ZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnk3XzFfMS5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FueTdfMV8xLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NzQ1NDY4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnk3XzFfMS5lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvYW55N18xLnhtbDoxNzogZWxlbWVudCBiYXI6IFNjaGVtYXMgdmFsaWRpdHkgZXJyb3IgOiBFbGVtZW50ICd7dXJuOnRlc3Q6Zm9vfWJhcic6IFRoaXMgZWxlbWVudCBpcyBub3QgZXhwZWN0ZWQuIEV4cGVjdGVkIGlzICggIyNvdGhlcnt1cm46dGVzdDpmb299KiApLgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnk3XzFfMiBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55N18xXzIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmYzNWUyZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55N18xXzIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvYW55N18yLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55N18xXzIuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnk3XzFfMi5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55N18xXzIuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FueTdfMl8wIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnk3XzJfMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZmQ5ZGNjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnk3XzJfMApAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9hbnk3XzAueG1sIGZhaWxzIHRvIHZhbGlkYXRlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FueTdfMl8wLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55N18yXzAuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE0Mjc0ZjgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FueTdfMl8wLmVycgpAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9hbnk3XzAueG1sOjE4OiBlbGVtZW50IG1vbzogU2NoZW1hcyB2YWxpZGl0eSBlcnJvciA6IEVsZW1lbnQgJ21vbyc6IFRoaXMgZWxlbWVudCBpcyBub3QgZXhwZWN0ZWQuIEV4cGVjdGVkIGlzICggIyNvdGhlcnt1cm46dGVzdDpmb299KiApLgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnk3XzJfMSBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55N18yXzEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmE2ZjVkNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55N18yXzEKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvYW55N18xLnhtbCBmYWlscyB0byB2YWxpZGF0ZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnk3XzJfMS5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FueTdfMl8xLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NzQ1NDY4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnk3XzJfMS5lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvYW55N18xLnhtbDoxNzogZWxlbWVudCBiYXI6IFNjaGVtYXMgdmFsaWRpdHkgZXJyb3IgOiBFbGVtZW50ICd7dXJuOnRlc3Q6Zm9vfWJhcic6IFRoaXMgZWxlbWVudCBpcyBub3QgZXhwZWN0ZWQuIEV4cGVjdGVkIGlzICggIyNvdGhlcnt1cm46dGVzdDpmb299KiApLgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnk3XzJfMiBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55N18yXzIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmYzNWUyZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55N18yXzIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvYW55N18yLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55N18yXzIuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnk3XzJfMi5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55N18yXzIuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FueThfMV8wIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnk4XzFfMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNWY0ZWQ5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnk4XzFfMApAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9hbnk4XzAueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnk4XzFfMC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FueThfMV8wLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnk4XzFfMC5lcnIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55QXR0ci1kZXJpdmUtZXJyb3JzMV8wXzAgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FueUF0dHItZGVyaXZlLWVycm9yczFfMF8wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ4ZTQ2NWUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FueUF0dHItZGVyaXZlLWVycm9yczFfMF8wCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL2FueUF0dHItZGVyaXZlLWVycm9yczFfMC54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FueUF0dHItZGVyaXZlLWVycm9yczFfMF8wLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55QXR0ci1kZXJpdmUtZXJyb3JzMV8wXzAuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FueUF0dHItZGVyaXZlLWVycm9yczFfMF8wLmVycgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnlBdHRyLWRlcml2ZTFfMF8wIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnlBdHRyLWRlcml2ZTFfMF8wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFkYWUxM2QKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FueUF0dHItZGVyaXZlMV8wXzAKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvYW55QXR0ci1kZXJpdmUxXzAueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnlBdHRyLWRlcml2ZTFfMF8wLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55QXR0ci1kZXJpdmUxXzBfMC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55QXR0ci1kZXJpdmUxXzBfMC5lcnIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55QXR0ci1kZXJpdmUyXzBfMCBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55QXR0ci1kZXJpdmUyXzBfMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kY2NjNmUyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnlBdHRyLWRlcml2ZTJfMF8wCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL2FueUF0dHItZGVyaXZlMl8wLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55QXR0ci1kZXJpdmUyXzBfMC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FueUF0dHItZGVyaXZlMl8wXzAuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FueUF0dHItZGVyaXZlMl8wXzAuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FueUF0dHItcHJvY2Vzc0NvbnRlbnRzLWVycjFfMF8wIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnlBdHRyLXByb2Nlc3NDb250ZW50cy1lcnIxXzBfMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40M2U3N2FhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnlBdHRyLXByb2Nlc3NDb250ZW50cy1lcnIxXzBfMApAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9hbnlBdHRyLXByb2Nlc3NDb250ZW50cy1lcnIxXzAueG1sIGZhaWxzIHRvIHZhbGlkYXRlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FueUF0dHItcHJvY2Vzc0NvbnRlbnRzLWVycjFfMF8wLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55QXR0ci1wcm9jZXNzQ29udGVudHMtZXJyMV8wXzAuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRjNDc2NmIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FueUF0dHItcHJvY2Vzc0NvbnRlbnRzLWVycjFfMF8wLmVycgpAQCAtMCwwICsxLDIgQEAKKy4vdGVzdC9zY2hlbWFzL2FueUF0dHItcHJvY2Vzc0NvbnRlbnRzLWVycjFfMC54bWw6ODogZWxlbWVudCBlbGVtLmxheDogU2NoZW1hcyB2YWxpZGl0eSBlcnJvciA6IEVsZW1lbnQgJ3todHRwOi8vRk9PfWVsZW0ubGF4JywgYXR0cmlidXRlICd7aHR0cDovL0ZPT31iYXInOiAnbyBvJyBpcyBub3QgYSB2YWxpZCB2YWx1ZSBvZiB0aGUgYXRvbWljIHR5cGUgJ3hzOmxhbmd1YWdlJy4KKy4vdGVzdC9zY2hlbWFzL2FueUF0dHItcHJvY2Vzc0NvbnRlbnRzLWVycjFfMC54bWw6OTogZWxlbWVudCBlbGVtLnN0cmljdDogU2NoZW1hcyB2YWxpZGl0eSBlcnJvciA6IEVsZW1lbnQgJ3todHRwOi8vRk9PfWVsZW0uc3RyaWN0JywgYXR0cmlidXRlICd7aHR0cDovL0ZPT31iYXJCJzogTm8gbWF0Y2hpbmcgZ2xvYmFsIGF0dHJpYnV0ZSBkZWNsYXJhdGlvbiBhdmFpbGFibGUsIGJ1dCBkZW1hbmRlZCBieSB0aGUgc3RyaWN0IHdpbGRjYXJkLgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnlBdHRyLXByb2Nlc3NDb250ZW50czFfMF8wIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnlBdHRyLXByb2Nlc3NDb250ZW50czFfMF8wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMwZDBjYzIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FueUF0dHItcHJvY2Vzc0NvbnRlbnRzMV8wXzAKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvYW55QXR0ci1wcm9jZXNzQ29udGVudHMxXzAueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnlBdHRyLXByb2Nlc3NDb250ZW50czFfMF8wLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55QXR0ci1wcm9jZXNzQ29udGVudHMxXzBfMC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55QXR0ci1wcm9jZXNzQ29udGVudHMxXzBfMC5lcnIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55QXR0cjFfMF8wIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnlBdHRyMV8wXzAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGFmYzIzYQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYW55QXR0cjFfMF8wCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL2FueUF0dHIxXzAueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnlBdHRyMV8wXzAuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hbnlBdHRyMV8wXzAuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2FueUF0dHIxXzBfMC5lcnIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYXR0cjBfMF8wIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hdHRyMF8wXzAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDA1NGJlNQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYXR0cjBfMF8wCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL2F0dHIwXzAueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hdHRyMF8wXzAuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hdHRyMF8wXzAuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2F0dHIwXzBfMC5lcnIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYXR0cnVzZV8wXzAgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2F0dHJ1c2VfMF8wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM2NDViYzUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2F0dHJ1c2VfMF8wCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL2F0dHJ1c2VfMF8wLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYXR0cnVzZV8wXzAuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hdHRydXNlXzBfMC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYXR0cnVzZV8wXzAuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2F0dHJ1c2VfMF8xIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hdHRydXNlXzBfMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZDIzZDBiCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hdHRydXNlXzBfMQpAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9hdHRydXNlXzBfMS54bWwgZmFpbHMgdG8gdmFsaWRhdGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYXR0cnVzZV8wXzEuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hdHRydXNlXzBfMS5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWRkNGZiMQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYXR0cnVzZV8wXzEuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL2F0dHJ1c2VfMF8xLnhtbDozOiBlbGVtZW50IGJhckE6IFNjaGVtYXMgdmFsaWRpdHkgZXJyb3IgOiBFbGVtZW50ICdiYXJBJzogVGhlIGF0dHJpYnV0ZSAnYXR0cicgaXMgcmVxdWlyZWQgYnV0IG1pc3NpbmcuCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2F0dHJ1c2VfMF8yIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hdHRydXNlXzBfMgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZWEzMzAxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hdHRydXNlXzBfMgpAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9hdHRydXNlXzBfMi54bWwgZmFpbHMgdG8gdmFsaWRhdGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYXR0cnVzZV8wXzIuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9hdHRydXNlXzBfMi5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDFjZjgyMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYXR0cnVzZV8wXzIuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL2F0dHJ1c2VfMF8yLnhtbDo2OiBlbGVtZW50IGJhckM6IFNjaGVtYXMgdmFsaWRpdHkgZXJyb3IgOiBFbGVtZW50ICdiYXJDJywgYXR0cmlidXRlICdhdHRyJzogVGhlIGF0dHJpYnV0ZSAnYXR0cicgaXMgbm90IGFsbG93ZWQuCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2J1ZzE0MTMxMl8wXzAgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2J1ZzE0MTMxMl8wXzAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDgwNDhhNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYnVnMTQxMzEyXzBfMApAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9idWcxNDEzMTJfMC54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2J1ZzE0MTMxMl8wXzAuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9idWcxNDEzMTJfMF8wLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9idWcxNDEzMTJfMF8wLmVycgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9idWcxNDEzMzNfMF8wIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9idWcxNDEzMzNfMF8wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE4OTY2MGYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2J1ZzE0MTMzM18wXzAKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvYnVnMTQxMzMzXzAueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9idWcxNDEzMzNfMF8wLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYnVnMTQxMzMzXzBfMC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYnVnMTQxMzMzXzBfMC5lcnIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYnVnMTQzOTUxXzBfMCBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYnVnMTQzOTUxXzBfMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZDBlM2U3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9idWcxNDM5NTFfMF8wCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL2J1ZzE0Mzk1MV8wLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYnVnMTQzOTUxXzBfMC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2J1ZzE0Mzk1MV8wXzAuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2J1ZzE0Mzk1MV8wXzAuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2J1ZzE0NTI0Nl8wXzAgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2J1ZzE0NTI0Nl8wXzAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDI4Y2NmNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYnVnMTQ1MjQ2XzBfMApAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9idWcxNDUyNDZfMC54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2J1ZzE0NTI0Nl8wXzAuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9idWcxNDUyNDZfMF8wLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9idWcxNDUyNDZfMF8wLmVycgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9idWcxNTI0NzBfMV8xIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9idWcxNTI0NzBfMV8xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIxNThjYWEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2J1ZzE1MjQ3MF8xXzEKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvYnVnMTUyNDcwXzEueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9idWcxNTI0NzBfMV8xLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYnVnMTUyNDcwXzFfMS5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYnVnMTUyNDcwXzFfMS5lcnIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYnVnMTY3NzU0XzBfMCBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYnVnMTY3NzU0XzBfMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yN2I1MGZjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9idWcxNjc3NTRfMF8wCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL2J1ZzE2Nzc1NF8wLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYnVnMTY3NzU0XzBfMC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2J1ZzE2Nzc1NF8wXzAuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2J1ZzE2Nzc1NF8wXzAuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2J1ZzMwMzU2Nl8xXzEgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2J1ZzMwMzU2Nl8xXzEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODA5MmJmMAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYnVnMzAzNTY2XzFfMQpAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9idWczMDM1NjZfMS54bWwgZmFpbHMgdG8gdmFsaWRhdGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYnVnMzAzNTY2XzFfMS5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2J1ZzMwMzU2Nl8xXzEuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkxNTY5ODEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2J1ZzMwMzU2Nl8xXzEuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL2J1ZzMwMzU2Nl8xLnhtbDo5OiBTY2hlbWFzIHZhbGlkaXR5IGVycm9yIDogRWxlbWVudCAnUGFydCc6IE5vIG1hdGNoIGZvdW5kIGZvciBrZXktc2VxdWVuY2UgWydCJ10gb2Yga2V5cmVmICdQYXJ0UmVmQ291bnRyeUR1bW15Jy4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYnVnMzA2ODA2XzFfMCBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYnVnMzA2ODA2XzFfMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMmNiN2M4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9idWczMDY4MDZfMV8wCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL2J1ZzMwNjgwNl8wLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYnVnMzA2ODA2XzFfMC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2J1ZzMwNjgwNl8xXzAuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2J1ZzMwNjgwNl8xXzAuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2J1ZzMwOTMzOF8xXzAgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2J1ZzMwOTMzOF8xXzAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjUzMzFmMQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYnVnMzA5MzM4XzFfMApAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9idWczMDkzMzhfMC54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2J1ZzMwOTMzOF8xXzAuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9idWczMDkzMzhfMV8wLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9idWczMDkzMzhfMV8wLmVycgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9idWczMTAyNjRfMF8wIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9idWczMTAyNjRfMF8wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUwNzI5M2QKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2J1ZzMxMDI2NF8wXzAKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvYnVnMzEwMjY0XzAueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9idWczMTAyNjRfMF8wLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYnVnMzEwMjY0XzBfMC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYnVnMzEwMjY0XzBfMC5lcnIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYnVnMzEyOTU3XzFfMCBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYnVnMzEyOTU3XzFfMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZWM2MjY5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9idWczMTI5NTdfMV8wCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL2J1ZzMxMjk1N18wLnhtbCBmYWlscyB0byB2YWxpZGF0ZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9idWczMTI5NTdfMV8wLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYnVnMzEyOTU3XzFfMC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDBlNThmZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYnVnMzEyOTU3XzFfMC5lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvYnVnMzEyOTU3XzAueG1sOjEwOiBTY2hlbWFzIHZhbGlkaXR5IGVycm9yIDogRWxlbWVudCAnc2lzdGVyJzogTm8gbWF0Y2ggZm91bmQgZm9yIGtleS1zZXF1ZW5jZSBbJ2FubmllJ10gb2Yga2V5cmVmICdzaWJsaW5nX2tleV9yZWYnLgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9idWczMTM5ODJfMF8wIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9idWczMTM5ODJfMF8wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE5ODU1Y2YKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2J1ZzMxMzk4Ml8wXzAKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvYnVnMzEzOTgyXzAueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9idWczMTM5ODJfMF8wLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYnVnMzEzOTgyXzBfMC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYnVnMzEzOTgyXzBfMC5lcnIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYnVnMzIxNDc1XzFfMCBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYnVnMzIxNDc1XzFfMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mOTQzMDQxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9idWczMjE0NzVfMV8wCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL2J1ZzMyMTQ3NV8wLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYnVnMzIxNDc1XzFfMC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2J1ZzMyMTQ3NV8xXzAuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2J1ZzMyMTQ3NV8xXzAuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2J1ZzMyMjQxMV8xXzAgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2J1ZzMyMjQxMV8xXzAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzk1NjBmYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYnVnMzIyNDExXzFfMApAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9idWczMjI0MTFfMC54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2J1ZzMyMjQxMV8xXzAuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9idWczMjI0MTFfMV8wLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9idWczMjI0MTFfMV8wLmVycgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9idWczMjM1MTBfMV8wIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9idWczMjM1MTBfMV8wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMzM2Q2ODUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2J1ZzMyMzUxMF8xXzAKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvYnVnMzIzNTEwXzAueG1sIGZhaWxzIHRvIHZhbGlkYXRlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2J1ZzMyMzUxMF8xXzAuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9idWczMjM1MTBfMV8wLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNjU1MDcwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9idWczMjM1MTBfMV8wLmVycgpAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9idWczMjM1MTBfMC54bWw6MjogZWxlbWVudCBmb286IFNjaGVtYXMgdmFsaWRpdHkgZXJyb3IgOiBFbGVtZW50ICdmb28nOiBNaXNzaW5nIGNoaWxkIGVsZW1lbnQocykuIEV4cGVjdGVkIGlzICggYmFyICkuCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2J1ZzQ1NTk1M18wXzAgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2J1ZzQ1NTk1M18wXzAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjE3NWQxZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvYnVnNDU1OTUzXzBfMApAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9idWc0NTU5NTNfMC54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2J1ZzQ1NTk1M18wXzAuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9idWc0NTU5NTNfMF8wLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9idWc0NTU5NTNfMF8wLmVycgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9jaGFuZ2Vsb2cwOTNfMV8wIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9jaGFuZ2Vsb2cwOTNfMV8wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEzZjgzZWYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2NoYW5nZWxvZzA5M18xXzAKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvY2hhbmdlbG9nMDkzXzAueG1sIGZhaWxzIHRvIHZhbGlkYXRlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2NoYW5nZWxvZzA5M18xXzAuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9jaGFuZ2Vsb2cwOTNfMV8wLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZjBiMWVjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9jaGFuZ2Vsb2cwOTNfMV8wLmVycgpAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9jaGFuZ2Vsb2cwOTNfMC54bWw6NzogZWxlbWVudCBkZXNjcmlwdGlvbjogU2NoZW1hcyB2YWxpZGl0eSBlcnJvciA6IEVsZW1lbnQgJ3todHRwOi8vd3d3LmJsYWNrcGVybC5jb20vWE1ML0NoYW5nZUxvZ31kZXNjcmlwdGlvbic6IER1cGxpY2F0ZSBrZXktc2VxdWVuY2UgWydQTCddIGluIHVuaXF1ZSBpZGVudGl0eS1jb25zdHJhaW50ICd7aHR0cDovL3d3dy5ibGFja3BlcmwuY29tL1hNTC9DaGFuZ2VMb2d9Y2hhbmdlbG9nRGVzY3JpcHRpb25MYW5nQ29uc3RyYWludCcuCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2Nob2ljZV8wXzAgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2Nob2ljZV8wXzAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWRhMDYyZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvY2hvaWNlXzBfMApAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9jaG9pY2VfMC54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2Nob2ljZV8wXzAuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9jaG9pY2VfMF8wLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9jaG9pY2VfMF8wLmVycgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9jaG9pY2VfMF8xIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9jaG9pY2VfMF8xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU0MzM4ZGUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2Nob2ljZV8wXzEKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvY2hvaWNlXzEueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9jaG9pY2VfMF8xLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvY2hvaWNlXzBfMS5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvY2hvaWNlXzBfMS5lcnIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvY2hvaWNlXzBfMiBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvY2hvaWNlXzBfMgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MDcxMzE1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9jaG9pY2VfMF8yCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL2Nob2ljZV8yLnhtbCBmYWlscyB0byB2YWxpZGF0ZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9jaG9pY2VfMF8yLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvY2hvaWNlXzBfMi5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTE0MTQ0NQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvY2hvaWNlXzBfMi5lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvY2hvaWNlXzIueG1sOjM6IGVsZW1lbnQgYjogU2NoZW1hcyB2YWxpZGl0eSBlcnJvciA6IEVsZW1lbnQgJ2InOiBUaGlzIGVsZW1lbnQgaXMgbm90IGV4cGVjdGVkLgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9jaG9pY2VfMF8zIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9jaG9pY2VfMF8zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJlZjYwNGIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2Nob2ljZV8wXzMKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvY2hvaWNlXzMueG1sIGZhaWxzIHRvIHZhbGlkYXRlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2Nob2ljZV8wXzMuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9jaG9pY2VfMF8zLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lY2U1ZDY5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9jaG9pY2VfMF8zLmVycgpAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9jaG9pY2VfMy54bWw6MzogZWxlbWVudCBhOiBTY2hlbWFzIHZhbGlkaXR5IGVycm9yIDogRWxlbWVudCAnYSc6IFRoaXMgZWxlbWVudCBpcyBub3QgZXhwZWN0ZWQuCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2Nob2ljZV8wXzQgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2Nob2ljZV8wXzQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDY0M2UzYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvY2hvaWNlXzBfNApAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9jaG9pY2VfNC54bWwgZmFpbHMgdG8gdmFsaWRhdGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvY2hvaWNlXzBfNC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2Nob2ljZV8wXzQuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNkM2FmNTkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2Nob2ljZV8wXzQuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL2Nob2ljZV80LnhtbDoxOiBlbGVtZW50IGRvYzogU2NoZW1hcyB2YWxpZGl0eSBlcnJvciA6IEVsZW1lbnQgJ2RvYyc6IE1pc3NpbmcgY2hpbGQgZWxlbWVudChzKS4gRXhwZWN0ZWQgaXMgb25lIG9mICggYSwgYiApLgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9jaG9pY2VfMF81IGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9jaG9pY2VfMF81Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFjYWFkZGQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2Nob2ljZV8wXzUKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvY2hvaWNlXzUueG1sIGZhaWxzIHRvIHZhbGlkYXRlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2Nob2ljZV8wXzUuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9jaG9pY2VfMF81LmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zOWQ0MTNjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9jaG9pY2VfMF81LmVycgpAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9jaG9pY2VfNS54bWw6MzogZWxlbWVudCBiOiBTY2hlbWFzIHZhbGlkaXR5IGVycm9yIDogRWxlbWVudCAnYic6IFRoaXMgZWxlbWVudCBpcyBub3QgZXhwZWN0ZWQuCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2Nob2ljZV8wXzYgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2Nob2ljZV8wXzYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWU0Y2VhZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvY2hvaWNlXzBfNgpAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9jaG9pY2VfNi54bWwgZmFpbHMgdG8gdmFsaWRhdGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvY2hvaWNlXzBfNi5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2Nob2ljZV8wXzYuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQxNGQxZTIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2Nob2ljZV8wXzYuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL2Nob2ljZV82LnhtbDozOiBlbGVtZW50IGI6IFNjaGVtYXMgdmFsaWRpdHkgZXJyb3IgOiBFbGVtZW50ICdiJzogVGhpcyBlbGVtZW50IGlzIG5vdCBleHBlY3RlZC4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvY2hvaWNlXzFfMCBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvY2hvaWNlXzFfMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZGEwNjJlCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9jaG9pY2VfMV8wCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL2Nob2ljZV8wLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvY2hvaWNlXzFfMC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2Nob2ljZV8xXzAuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2Nob2ljZV8xXzAuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2Nob2ljZV8xXzEgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2Nob2ljZV8xXzEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTQzMzhkZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvY2hvaWNlXzFfMQpAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9jaG9pY2VfMS54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2Nob2ljZV8xXzEuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9jaG9pY2VfMV8xLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9jaG9pY2VfMV8xLmVycgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9jaG9pY2VfMV8yIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9jaG9pY2VfMV8yCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQwNzEzMTUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2Nob2ljZV8xXzIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvY2hvaWNlXzIueG1sIGZhaWxzIHRvIHZhbGlkYXRlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2Nob2ljZV8xXzIuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9jaG9pY2VfMV8yLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MTQxNDQ1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9jaG9pY2VfMV8yLmVycgpAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9jaG9pY2VfMi54bWw6MzogZWxlbWVudCBiOiBTY2hlbWFzIHZhbGlkaXR5IGVycm9yIDogRWxlbWVudCAnYic6IFRoaXMgZWxlbWVudCBpcyBub3QgZXhwZWN0ZWQuCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2Nob2ljZV8xXzMgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2Nob2ljZV8xXzMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmVmNjA0YgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvY2hvaWNlXzFfMwpAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9jaG9pY2VfMy54bWwgZmFpbHMgdG8gdmFsaWRhdGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvY2hvaWNlXzFfMy5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2Nob2ljZV8xXzMuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVjZTVkNjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2Nob2ljZV8xXzMuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL2Nob2ljZV8zLnhtbDozOiBlbGVtZW50IGE6IFNjaGVtYXMgdmFsaWRpdHkgZXJyb3IgOiBFbGVtZW50ICdhJzogVGhpcyBlbGVtZW50IGlzIG5vdCBleHBlY3RlZC4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvY2hvaWNlXzFfNCBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvY2hvaWNlXzFfNApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNmIzODI3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9jaG9pY2VfMV80CkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL2Nob2ljZV80LnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvY2hvaWNlXzFfNC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2Nob2ljZV8xXzQuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2Nob2ljZV8xXzQuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2Nob2ljZV8xXzUgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2Nob2ljZV8xXzUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWNhYWRkZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvY2hvaWNlXzFfNQpAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9jaG9pY2VfNS54bWwgZmFpbHMgdG8gdmFsaWRhdGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvY2hvaWNlXzFfNS5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2Nob2ljZV8xXzUuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM5ZDQxM2MKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2Nob2ljZV8xXzUuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL2Nob2ljZV81LnhtbDozOiBlbGVtZW50IGI6IFNjaGVtYXMgdmFsaWRpdHkgZXJyb3IgOiBFbGVtZW50ICdiJzogVGhpcyBlbGVtZW50IGlzIG5vdCBleHBlY3RlZC4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvY2hvaWNlXzFfNiBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvY2hvaWNlXzFfNgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZTRjZWFlCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9jaG9pY2VfMV82CkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL2Nob2ljZV82LnhtbCBmYWlscyB0byB2YWxpZGF0ZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9jaG9pY2VfMV82LmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvY2hvaWNlXzFfNi5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDE0ZDFlMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvY2hvaWNlXzFfNi5lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvY2hvaWNlXzYueG1sOjM6IGVsZW1lbnQgYjogU2NoZW1hcyB2YWxpZGl0eSBlcnJvciA6IEVsZW1lbnQgJ2InOiBUaGlzIGVsZW1lbnQgaXMgbm90IGV4cGVjdGVkLgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9jaG9pY2VfMl8wIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9jaG9pY2VfMl8wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVkYTA2MmUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2Nob2ljZV8yXzAKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvY2hvaWNlXzAueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9jaG9pY2VfMl8wLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvY2hvaWNlXzJfMC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvY2hvaWNlXzJfMC5lcnIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvY2hvaWNlXzJfMSBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvY2hvaWNlXzJfMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNDMzOGRlCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9jaG9pY2VfMl8xCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL2Nob2ljZV8xLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvY2hvaWNlXzJfMS5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2Nob2ljZV8yXzEuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2Nob2ljZV8yXzEuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2Nob2ljZV8yXzIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2Nob2ljZV8yXzIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzU4ZTE1NAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvY2hvaWNlXzJfMgpAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9jaG9pY2VfMi54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2Nob2ljZV8yXzIuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9jaG9pY2VfMl8yLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9jaG9pY2VfMl8yLmVycgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9jaG9pY2VfMl8zIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9jaG9pY2VfMl8zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEwNThmN2UKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2Nob2ljZV8yXzMKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvY2hvaWNlXzMueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9jaG9pY2VfMl8zLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvY2hvaWNlXzJfMy5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvY2hvaWNlXzJfMy5lcnIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvY2hvaWNlXzJfNCBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvY2hvaWNlXzJfNApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNjQzZTNiCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9jaG9pY2VfMl80CkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL2Nob2ljZV80LnhtbCBmYWlscyB0byB2YWxpZGF0ZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9jaG9pY2VfMl80LmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvY2hvaWNlXzJfNC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2QzYWY1OQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvY2hvaWNlXzJfNC5lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvY2hvaWNlXzQueG1sOjE6IGVsZW1lbnQgZG9jOiBTY2hlbWFzIHZhbGlkaXR5IGVycm9yIDogRWxlbWVudCAnZG9jJzogTWlzc2luZyBjaGlsZCBlbGVtZW50KHMpLiBFeHBlY3RlZCBpcyBvbmUgb2YgKCBhLCBiICkuCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2Nob2ljZV8yXzUgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2Nob2ljZV8yXzUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjdlNzliYQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvY2hvaWNlXzJfNQpAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9jaG9pY2VfNS54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2Nob2ljZV8yXzUuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9jaG9pY2VfMl81LmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9jaG9pY2VfMl81LmVycgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9jaG9pY2VfMl82IGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9jaG9pY2VfMl82Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVlNGNlYWUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2Nob2ljZV8yXzYKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvY2hvaWNlXzYueG1sIGZhaWxzIHRvIHZhbGlkYXRlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2Nob2ljZV8yXzYuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9jaG9pY2VfMl82LmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZWY1NmRhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9jaG9pY2VfMl82LmVycgpAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9jaG9pY2VfNi54bWw6NTogZWxlbWVudCBhOiBTY2hlbWFzIHZhbGlkaXR5IGVycm9yIDogRWxlbWVudCAnYSc6IFRoaXMgZWxlbWVudCBpcyBub3QgZXhwZWN0ZWQuCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2NvbXBsZXgtdHlwZS1leHRlbnNpb25fMF8wIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9jb21wbGV4LXR5cGUtZXh0ZW5zaW9uXzBfMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZjE1MjE1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9jb21wbGV4LXR5cGUtZXh0ZW5zaW9uXzBfMApAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9jb21wbGV4LXR5cGUtZXh0ZW5zaW9uXzAueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9jb21wbGV4LXR5cGUtZXh0ZW5zaW9uXzBfMC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2NvbXBsZXgtdHlwZS1leHRlbnNpb25fMF8wLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9jb21wbGV4LXR5cGUtZXh0ZW5zaW9uXzBfMC5lcnIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvY29zLWN0LWV4dGVuZHMtMS0zXzBfMCBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvY29zLWN0LWV4dGVuZHMtMS0zXzBfMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZGQ1YmQ3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9jb3MtY3QtZXh0ZW5kcy0xLTNfMF8wCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL2Nvcy1jdC1leHRlbmRzLTEtM18wLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvY29zLWN0LWV4dGVuZHMtMS0zXzBfMC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2Nvcy1jdC1leHRlbmRzLTEtM18wXzAuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2Nvcy1jdC1leHRlbmRzLTEtM18wXzAuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2Nvcy1zdC1yZXN0cmljdHMtMS0yLWVycl8wXzAgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2Nvcy1zdC1yZXN0cmljdHMtMS0yLWVycl8wXzAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGMzNDI1MwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvY29zLXN0LXJlc3RyaWN0cy0xLTItZXJyXzBfMApAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9jb3Mtc3QtcmVzdHJpY3RzLTEtMi1lcnJfMC54bWwgZmFpbHMgdG8gdmFsaWRhdGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvY29zLXN0LXJlc3RyaWN0cy0xLTItZXJyXzBfMC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2Nvcy1zdC1yZXN0cmljdHMtMS0yLWVycl8wXzAuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNjYzEyYjYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2Nvcy1zdC1yZXN0cmljdHMtMS0yLWVycl8wXzAuZXJyCkBAIC0wLDAgKzEsMiBAQAorLi90ZXN0L3NjaGVtYXMvY29zLXN0LXJlc3RyaWN0cy0xLTItZXJyXzAueG1sOjM6IGVsZW1lbnQgZm9vOiBTY2hlbWFzIHZhbGlkaXR5IGVycm9yIDogRWxlbWVudCAne2h0dHA6Ly9GT099Zm9vJzogW2ZhY2V0ICdsZW5ndGgnXSBUaGUgdmFsdWUgaGFzIGEgbGVuZ3RoIG9mICcyJzsgdGhpcyBkaWZmZXJzIGZyb20gdGhlIGFsbG93ZWQgbGVuZ3RoIG9mICczJy4KKy4vdGVzdC9zY2hlbWFzL2Nvcy1zdC1yZXN0cmljdHMtMS0yLWVycl8wLnhtbDozOiBlbGVtZW50IGZvbzogU2NoZW1hcyB2YWxpZGl0eSBlcnJvciA6IEVsZW1lbnQgJ3todHRwOi8vRk9PfWZvbyc6ICcxIDInIGlzIG5vdCBhIHZhbGlkIHZhbHVlIG9mIHRoZSBsaXN0IHR5cGUgJ3todHRwOi8vRk9PfXR5cGUuQScuCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2N0LXNjLW5vYmFzZV8wXzAgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2N0LXNjLW5vYmFzZV8wXzAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTY4NzEyYQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvY3Qtc2Mtbm9iYXNlXzBfMApAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9jdC1zYy1ub2Jhc2VfMC54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2N0LXNjLW5vYmFzZV8wXzAuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9jdC1zYy1ub2Jhc2VfMF8wLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9jdC1zYy1ub2Jhc2VfMF8wLmVycgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9kYXRlXzBfMCBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvZGF0ZV8wXzAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjU1NGQzMAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvZGF0ZV8wXzAKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvZGF0ZV8wLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvZGF0ZV8wXzAuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9kYXRlXzBfMC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvZGF0ZV8wXzAuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2RlY2ltYWwtMV8xXzAgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2RlY2ltYWwtMV8xXzAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDQxYjMxZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvZGVjaW1hbC0xXzFfMApAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9kZWNpbWFsLTFfMC54bWwgZmFpbHMgdG8gdmFsaWRhdGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvZGVjaW1hbC0xXzFfMC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2RlY2ltYWwtMV8xXzAuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdmNGZhOWMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2RlY2ltYWwtMV8xXzAuZXJyCkBAIC0wLDAgKzEsOCBAQAorLi90ZXN0L3NjaGVtYXMvZGVjaW1hbC0xXzAueG1sOjE2OiBlbGVtZW50IHZhbDogU2NoZW1hcyB2YWxpZGl0eSBlcnJvciA6IEVsZW1lbnQgJ3ZhbCc6ICcuJyBpcyBub3QgYSB2YWxpZCB2YWx1ZSBvZiB0aGUgYXRvbWljIHR5cGUgJ215RGVjaW1hbCcuCisuL3Rlc3Qvc2NoZW1hcy9kZWNpbWFsLTFfMC54bWw6MTc6IGVsZW1lbnQgdmFsOiBTY2hlbWFzIHZhbGlkaXR5IGVycm9yIDogRWxlbWVudCAndmFsJzogJy0nIGlzIG5vdCBhIHZhbGlkIHZhbHVlIG9mIHRoZSBhdG9taWMgdHlwZSAnbXlEZWNpbWFsJy4KKy4vdGVzdC9zY2hlbWFzL2RlY2ltYWwtMV8wLnhtbDoxODogZWxlbWVudCB2YWw6IFNjaGVtYXMgdmFsaWRpdHkgZXJyb3IgOiBFbGVtZW50ICd2YWwnOiAnKycgaXMgbm90IGEgdmFsaWQgdmFsdWUgb2YgdGhlIGF0b21pYyB0eXBlICdteURlY2ltYWwnLgorLi90ZXN0L3NjaGVtYXMvZGVjaW1hbC0xXzAueG1sOjE5OiBlbGVtZW50IHZhbDogU2NoZW1hcyB2YWxpZGl0eSBlcnJvciA6IEVsZW1lbnQgJ3ZhbCc6ICcqJyBpcyBub3QgYSB2YWxpZCB2YWx1ZSBvZiB0aGUgYXRvbWljIHR5cGUgJ215RGVjaW1hbCcuCisuL3Rlc3Qvc2NoZW1hcy9kZWNpbWFsLTFfMC54bWw6MjA6IGVsZW1lbnQgdmFsOiBTY2hlbWFzIHZhbGlkaXR5IGVycm9yIDogRWxlbWVudCAndmFsJzogJy0gMScgaXMgbm90IGEgdmFsaWQgdmFsdWUgb2YgdGhlIGF0b21pYyB0eXBlICdteURlY2ltYWwnLgorLi90ZXN0L3NjaGVtYXMvZGVjaW1hbC0xXzAueG1sOjIxOiBlbGVtZW50IHZhbDogU2NoZW1hcyB2YWxpZGl0eSBlcnJvciA6IEVsZW1lbnQgJ3ZhbCc6ICcrIDEnIGlzIG5vdCBhIHZhbGlkIHZhbHVlIG9mIHRoZSBhdG9taWMgdHlwZSAnbXlEZWNpbWFsJy4KKy4vdGVzdC9zY2hlbWFzL2RlY2ltYWwtMV8wLnhtbDoyMjogZWxlbWVudCB2YWw6IFNjaGVtYXMgdmFsaWRpdHkgZXJyb3IgOiBFbGVtZW50ICd2YWwnOiAnKyAwJyBpcyBub3QgYSB2YWxpZCB2YWx1ZSBvZiB0aGUgYXRvbWljIHR5cGUgJ215RGVjaW1hbCcuCisuL3Rlc3Qvc2NoZW1hcy9kZWNpbWFsLTFfMC54bWw6MjM6IGVsZW1lbnQgdmFsOiBTY2hlbWFzIHZhbGlkaXR5IGVycm9yIDogRWxlbWVudCAndmFsJzogJy0gMCcgaXMgbm90IGEgdmFsaWQgdmFsdWUgb2YgdGhlIGF0b21pYyB0eXBlICdteURlY2ltYWwnLgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9kZWNpbWFsLTJfMV8wIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9kZWNpbWFsLTJfMV8wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY2OGNhOTIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2RlY2ltYWwtMl8xXzAKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvZGVjaW1hbC0yXzAueG1sIGZhaWxzIHRvIHZhbGlkYXRlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2RlY2ltYWwtMl8xXzAuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9kZWNpbWFsLTJfMV8wLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZTY2M2MyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9kZWNpbWFsLTJfMV8wLmVycgpAQCAtMCwwICsxLDQgQEAKKy4vdGVzdC9zY2hlbWFzL2RlY2ltYWwtMl8wLnhtbDoxMjogZWxlbWVudCB2YWw6IFNjaGVtYXMgdmFsaWRpdHkgZXJyb3IgOiBFbGVtZW50ICd2YWwnOiBbZmFjZXQgJ21pbkluY2x1c2l2ZSddIFRoZSB2YWx1ZSAnLTAuMScgaXMgbGVzcyB0aGFuIHRoZSBtaW5pbXVtIHZhbHVlIGFsbG93ZWQgKCcwJykuCisuL3Rlc3Qvc2NoZW1hcy9kZWNpbWFsLTJfMC54bWw6MTI6IGVsZW1lbnQgdmFsOiBTY2hlbWFzIHZhbGlkaXR5IGVycm9yIDogRWxlbWVudCAndmFsJzogJy0wLjEnIGlzIG5vdCBhIHZhbGlkIHZhbHVlIG9mIHRoZSBhdG9taWMgdHlwZSAnbXlEZWNpbWFsJy4KKy4vdGVzdC9zY2hlbWFzL2RlY2ltYWwtMl8wLnhtbDoxMzogZWxlbWVudCB2YWw6IFNjaGVtYXMgdmFsaWRpdHkgZXJyb3IgOiBFbGVtZW50ICd2YWwnOiBbZmFjZXQgJ21pbkluY2x1c2l2ZSddIFRoZSB2YWx1ZSAnLTEnIGlzIGxlc3MgdGhhbiB0aGUgbWluaW11bSB2YWx1ZSBhbGxvd2VkICgnMCcpLgorLi90ZXN0L3NjaGVtYXMvZGVjaW1hbC0yXzAueG1sOjEzOiBlbGVtZW50IHZhbDogU2NoZW1hcyB2YWxpZGl0eSBlcnJvciA6IEVsZW1lbnQgJ3ZhbCc6ICctMScgaXMgbm90IGEgdmFsaWQgdmFsdWUgb2YgdGhlIGF0b21pYyB0eXBlICdteURlY2ltYWwnLgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9kZWNpbWFsLTNfMV8wIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9kZWNpbWFsLTNfMV8wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU2MDE1MzUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2RlY2ltYWwtM18xXzAKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvZGVjaW1hbC0zXzAueG1sIGZhaWxzIHRvIHZhbGlkYXRlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2RlY2ltYWwtM18xXzAuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9kZWNpbWFsLTNfMV8wLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYmE4Y2Y5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9kZWNpbWFsLTNfMV8wLmVycgpAQCAtMCwwICsxLDggQEAKKy4vdGVzdC9zY2hlbWFzL2RlY2ltYWwtM18wLnhtbDoxMjogZWxlbWVudCB2YWw6IFNjaGVtYXMgdmFsaWRpdHkgZXJyb3IgOiBFbGVtZW50ICd2YWwnOiBbZmFjZXQgJ3RvdGFsRGlnaXRzJ10gVGhlIHZhbHVlICcwLjEyMycgaGFzIG1vcmUgZGlnaXRzIHRoYW4gYXJlIGFsbG93ZWQgKCcyJykuCisuL3Rlc3Qvc2NoZW1hcy9kZWNpbWFsLTNfMC54bWw6MTI6IGVsZW1lbnQgdmFsOiBTY2hlbWFzIHZhbGlkaXR5IGVycm9yIDogRWxlbWVudCAndmFsJzogJzAuMTIzJyBpcyBub3QgYSB2YWxpZCB2YWx1ZSBvZiB0aGUgYXRvbWljIHR5cGUgJ215RGVjaW1hbCcuCisuL3Rlc3Qvc2NoZW1hcy9kZWNpbWFsLTNfMC54bWw6MTM6IGVsZW1lbnQgdmFsOiBTY2hlbWFzIHZhbGlkaXR5IGVycm9yIDogRWxlbWVudCAndmFsJzogW2ZhY2V0ICd0b3RhbERpZ2l0cyddIFRoZSB2YWx1ZSAnMC4wMjMnIGhhcyBtb3JlIGRpZ2l0cyB0aGFuIGFyZSBhbGxvd2VkICgnMicpLgorLi90ZXN0L3NjaGVtYXMvZGVjaW1hbC0zXzAueG1sOjEzOiBlbGVtZW50IHZhbDogU2NoZW1hcyB2YWxpZGl0eSBlcnJvciA6IEVsZW1lbnQgJ3ZhbCc6ICcwLjAyMycgaXMgbm90IGEgdmFsaWQgdmFsdWUgb2YgdGhlIGF0b21pYyB0eXBlICdteURlY2ltYWwnLgorLi90ZXN0L3NjaGVtYXMvZGVjaW1hbC0zXzAueG1sOjE0OiBlbGVtZW50IHZhbDogU2NoZW1hcyB2YWxpZGl0eSBlcnJvciA6IEVsZW1lbnQgJ3ZhbCc6IFtmYWNldCAndG90YWxEaWdpdHMnXSBUaGUgdmFsdWUgJzEyMycgaGFzIG1vcmUgZGlnaXRzIHRoYW4gYXJlIGFsbG93ZWQgKCcyJykuCisuL3Rlc3Qvc2NoZW1hcy9kZWNpbWFsLTNfMC54bWw6MTQ6IGVsZW1lbnQgdmFsOiBTY2hlbWFzIHZhbGlkaXR5IGVycm9yIDogRWxlbWVudCAndmFsJzogJzEyMycgaXMgbm90IGEgdmFsaWQgdmFsdWUgb2YgdGhlIGF0b21pYyB0eXBlICdteURlY2ltYWwnLgorLi90ZXN0L3NjaGVtYXMvZGVjaW1hbC0zXzAueG1sOjE1OiBlbGVtZW50IHZhbDogU2NoZW1hcyB2YWxpZGl0eSBlcnJvciA6IEVsZW1lbnQgJ3ZhbCc6IFtmYWNldCAndG90YWxEaWdpdHMnXSBUaGUgdmFsdWUgJzEyLjMnIGhhcyBtb3JlIGRpZ2l0cyB0aGFuIGFyZSBhbGxvd2VkICgnMicpLgorLi90ZXN0L3NjaGVtYXMvZGVjaW1hbC0zXzAueG1sOjE1OiBlbGVtZW50IHZhbDogU2NoZW1hcyB2YWxpZGl0eSBlcnJvciA6IEVsZW1lbnQgJ3ZhbCc6ICcxMi4zJyBpcyBub3QgYSB2YWxpZCB2YWx1ZSBvZiB0aGUgYXRvbWljIHR5cGUgJ215RGVjaW1hbCcuCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2Rlcml2YXRpb24tb2stZXh0ZW5zaW9uLWVycl8wXzAgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2Rlcml2YXRpb24tb2stZXh0ZW5zaW9uLWVycl8wXzAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvZGVyaXZhdGlvbi1vay1leHRlbnNpb24tZXJyXzBfMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9kZXJpdmF0aW9uLW9rLWV4dGVuc2lvbi1lcnJfMF8wLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvZGVyaXZhdGlvbi1vay1leHRlbnNpb24tZXJyXzBfMC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTBmYmE1MgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvZGVyaXZhdGlvbi1vay1leHRlbnNpb24tZXJyXzBfMC5lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvZGVyaXZhdGlvbi1vay1leHRlbnNpb24tZXJyXzAueHNkOjY6IGVsZW1lbnQgY29tcGxleFR5cGU6IFNjaGVtYXMgcGFyc2VyIGVycm9yIDogbG9jYWwgY29tcGxleCB0eXBlOiBEdXBsaWNhdGUgYXR0cmlidXRlIHVzZSAnYmFyQV8xJy4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvZGVyaXZhdGlvbi1vay1leHRlbnNpb25fMF8wIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9kZXJpdmF0aW9uLW9rLWV4dGVuc2lvbl8wXzAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDk0NzM2NQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvZGVyaXZhdGlvbi1vay1leHRlbnNpb25fMF8wCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL2Rlcml2YXRpb24tb2stZXh0ZW5zaW9uXzAueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9kZXJpdmF0aW9uLW9rLWV4dGVuc2lvbl8wXzAuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9kZXJpdmF0aW9uLW9rLWV4dGVuc2lvbl8wXzAuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEzMTQyMzIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2Rlcml2YXRpb24tb2stZXh0ZW5zaW9uXzBfMC5lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvZGVyaXZhdGlvbi1vay1leHRlbnNpb25fMC54c2Q6MTA6IGVsZW1lbnQgYXR0cmlidXRlOiBTY2hlbWFzIHBhcnNlciB3YXJuaW5nIDogRWxlbWVudCAne2h0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hfWF0dHJpYnV0ZSc6IFNraXBwaW5nIGF0dHJpYnV0ZSB1c2UgcHJvaGliaXRpb24sIHNpbmNlIGl0IGlzIHBvaW50bGVzcyB3aGVuIGV4dGVuZGluZyBhIHR5cGUuCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2Rlcml2YXRpb24tb2stcmVzdHJpY3Rpb24tMi0xLTFfMF8wIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9kZXJpdmF0aW9uLW9rLXJlc3RyaWN0aW9uLTItMS0xXzBfMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9kZXJpdmF0aW9uLW9rLXJlc3RyaWN0aW9uLTItMS0xXzBfMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9kZXJpdmF0aW9uLW9rLXJlc3RyaWN0aW9uLTItMS0xXzBfMC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2Rlcml2YXRpb24tb2stcmVzdHJpY3Rpb24tMi0xLTFfMF8wLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZDM4ZGQyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9kZXJpdmF0aW9uLW9rLXJlc3RyaWN0aW9uLTItMS0xXzBfMC5lcnIKQEAgLTAsMCArMSw2IEBACisuL3Rlc3Qvc2NoZW1hcy9kZXJpdmF0aW9uLW9rLXJlc3RyaWN0aW9uLTItMS0xXzAueHNkOjY6IGVsZW1lbnQgY29tcGxleFR5cGU6IFNjaGVtYXMgcGFyc2VyIGVycm9yIDogbG9jYWwgY29tcGxleCB0eXBlLCBhdHRyaWJ1dGUgdXNlICdiYXJCXzEnOiBUaGUgJ29wdGlvbmFsJyBhdHRyaWJ1dGUgdXNlIGlzIGluY29uc2lzdGVudCB3aXRoIHRoZSBjb3JyZXNwb25kaW5nICdyZXF1aXJlZCcgYXR0cmlidXRlIHVzZSBvZiB0aGUgYmFzZSBjb21wbGV4IHR5cGUgZGVmaW5pdGlvbiAne2h0dHA6Ly9GT099dHlwZUEnLgorLi90ZXN0L3NjaGVtYXMvZGVyaXZhdGlvbi1vay1yZXN0cmljdGlvbi0yLTEtMV8wLnhzZDo2OiBlbGVtZW50IGNvbXBsZXhUeXBlOiBTY2hlbWFzIHBhcnNlciBlcnJvciA6IGxvY2FsIGNvbXBsZXggdHlwZSwgYXR0cmlidXRlIHVzZSAnYmFyQ18xJzogTmVpdGhlciBhIG1hdGNoaW5nIGF0dHJpYnV0ZSB1c2UsIG5vciBhIG1hdGNoaW5nIHdpbGRjYXJkIGV4aXN0cyBpbiB0aGUgYmFzZSBjb21wbGV4IHR5cGUgZGVmaW5pdGlvbiAne2h0dHA6Ly9GT099dHlwZUEnLgorLi90ZXN0L3NjaGVtYXMvZGVyaXZhdGlvbi1vay1yZXN0cmljdGlvbi0yLTEtMV8wLnhzZDo2OiBlbGVtZW50IGNvbXBsZXhUeXBlOiBTY2hlbWFzIHBhcnNlciBlcnJvciA6IGxvY2FsIGNvbXBsZXggdHlwZSwgYXR0cmlidXRlIHVzZSAnYmFyQ18yJzogTmVpdGhlciBhIG1hdGNoaW5nIGF0dHJpYnV0ZSB1c2UsIG5vciBhIG1hdGNoaW5nIHdpbGRjYXJkIGV4aXN0cyBpbiB0aGUgYmFzZSBjb21wbGV4IHR5cGUgZGVmaW5pdGlvbiAne2h0dHA6Ly9GT099dHlwZUEnLgorLi90ZXN0L3NjaGVtYXMvZGVyaXZhdGlvbi1vay1yZXN0cmljdGlvbi0yLTEtMV8wLnhzZDo2OiBlbGVtZW50IGNvbXBsZXhUeXBlOiBTY2hlbWFzIHBhcnNlciBlcnJvciA6IGxvY2FsIGNvbXBsZXggdHlwZSwgYXR0cmlidXRlIHVzZSAnYmFyRF8xJzogTmVpdGhlciBhIG1hdGNoaW5nIGF0dHJpYnV0ZSB1c2UsIG5vciBhIG1hdGNoaW5nIHdpbGRjYXJkIGV4aXN0cyBpbiB0aGUgYmFzZSBjb21wbGV4IHR5cGUgZGVmaW5pdGlvbiAne2h0dHA6Ly9GT099dHlwZUEnLgorLi90ZXN0L3NjaGVtYXMvZGVyaXZhdGlvbi1vay1yZXN0cmljdGlvbi0yLTEtMV8wLnhzZDo2OiBlbGVtZW50IGNvbXBsZXhUeXBlOiBTY2hlbWFzIHBhcnNlciBlcnJvciA6IGxvY2FsIGNvbXBsZXggdHlwZSwgYXR0cmlidXRlIHVzZSAnYmFyRF8yJzogTmVpdGhlciBhIG1hdGNoaW5nIGF0dHJpYnV0ZSB1c2UsIG5vciBhIG1hdGNoaW5nIHdpbGRjYXJkIGV4aXN0cyBpbiB0aGUgYmFzZSBjb21wbGV4IHR5cGUgZGVmaW5pdGlvbiAne2h0dHA6Ly9GT099dHlwZUEnLgorLi90ZXN0L3NjaGVtYXMvZGVyaXZhdGlvbi1vay1yZXN0cmljdGlvbi0yLTEtMV8wLnhzZDo2OiBlbGVtZW50IGNvbXBsZXhUeXBlOiBTY2hlbWFzIHBhcnNlciBlcnJvciA6IGxvY2FsIGNvbXBsZXggdHlwZTogQSBtYXRjaGluZyBhdHRyaWJ1dGUgdXNlIGZvciB0aGUgJ3JlcXVpcmVkJyBhdHRyaWJ1dGUgdXNlICdiYXJCXzMnIG9mIHRoZSBiYXNlIGNvbXBsZXggdHlwZSBkZWZpbml0aW9uICd7aHR0cDovL0ZPT310eXBlQScgaXMgbWlzc2luZy4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvZGVyaXZhdGlvbi1vay1yZXN0cmljdGlvbi00LTEtZXJyXzBfMCBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvZGVyaXZhdGlvbi1vay1yZXN0cmljdGlvbi00LTEtZXJyXzBfMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9kZXJpdmF0aW9uLW9rLXJlc3RyaWN0aW9uLTQtMS1lcnJfMF8wCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2Rlcml2YXRpb24tb2stcmVzdHJpY3Rpb24tNC0xLWVycl8wXzAuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9kZXJpdmF0aW9uLW9rLXJlc3RyaWN0aW9uLTQtMS1lcnJfMF8wLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MjI4M2ZiCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9kZXJpdmF0aW9uLW9rLXJlc3RyaWN0aW9uLTQtMS1lcnJfMF8wLmVycgpAQCAtMCwwICsxLDMgQEAKKy4vdGVzdC9zY2hlbWFzL2Rlcml2YXRpb24tb2stcmVzdHJpY3Rpb24tNC0xLWVycl8wLnhzZDozMzogZWxlbWVudCBjb21wbGV4VHlwZTogU2NoZW1hcyBwYXJzZXIgZXJyb3IgOiBjb21wbGV4IHR5cGUgJ3R5cGUuQSc6IFRoZSBjb21wbGV4IHR5cGUgZGVmaW5pdGlvbiBoYXMgYW4gYXR0cmlidXRlIHdpbGRjYXJkLCBidXQgdGhlIGJhc2UgY29tcGxleCB0eXBlIGRlZmluaXRpb24gJ3todHRwOi8vRk9PfWJhc2UudHlwZS5BJyBkb2VzIG5vdCBoYXZlIG9uZS4KKy4vdGVzdC9zY2hlbWFzL2Rlcml2YXRpb24tb2stcmVzdHJpY3Rpb24tNC0xLWVycl8wLnhzZDo0NTogZWxlbWVudCBjb21wbGV4VHlwZTogU2NoZW1hcyBwYXJzZXIgZXJyb3IgOiBjb21wbGV4IHR5cGUgJ3R5cGUuQic6IFRoZSBhdHRyaWJ1dGUgd2lsZGNhcmQgaXMgbm90IGEgdmFsaWQgc3Vic2V0IG9mIHRoZSB3aWxkY2FyZCBpbiB0aGUgYmFzZSBjb21wbGV4IHR5cGUgZGVmaW5pdGlvbiAne2h0dHA6Ly9GT099YmFzZS50eXBlLkInLgorLi90ZXN0L3NjaGVtYXMvZGVyaXZhdGlvbi1vay1yZXN0cmljdGlvbi00LTEtZXJyXzAueHNkOjY1OiBlbGVtZW50IGNvbXBsZXhUeXBlOiBTY2hlbWFzIHBhcnNlciBlcnJvciA6IGNvbXBsZXggdHlwZSAnYmFzZS50eXBlLkMnOiBUaGUge3Byb2Nlc3MgY29udGVudHN9IG9mIHRoZSBhdHRyaWJ1dGUgd2lsZGNhcmQgaXMgd2Vha2VyIHRoYW4gdGhlIG9uZSBpbiB0aGUgYmFzZSBjb21wbGV4IHR5cGUgZGVmaW5pdGlvbiAne2h0dHA6Ly9GT099YmFzZS50eXBlLkMnLgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9kZXJpdmF0aW9uLXJlc3RyaWN0aW9uLWFueUF0dHJfMF8wIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9kZXJpdmF0aW9uLXJlc3RyaWN0aW9uLWFueUF0dHJfMF8wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRlMDQxNzYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2Rlcml2YXRpb24tcmVzdHJpY3Rpb24tYW55QXR0cl8wXzAKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvZGVyaXZhdGlvbi1yZXN0cmljdGlvbi1hbnlBdHRyXzAueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9kZXJpdmF0aW9uLXJlc3RyaWN0aW9uLWFueUF0dHJfMF8wLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvZGVyaXZhdGlvbi1yZXN0cmljdGlvbi1hbnlBdHRyXzBfMC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvZGVyaXZhdGlvbi1yZXN0cmljdGlvbi1hbnlBdHRyXzBfMC5lcnIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvZGV0ZXIwXzBfMCBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvZGV0ZXIwXzBfMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9kZXRlcjBfMF8wCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2RldGVyMF8wXzAuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9kZXRlcjBfMF8wLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMmM4YjRlCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9kZXRlcjBfMF8wLmVycgpAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9kZXRlcjBfMC54c2Q6NjogZWxlbWVudCBjb21wbGV4VHlwZTogU2NoZW1hcyBwYXJzZXIgZXJyb3IgOiBsb2NhbCBjb21wbGV4IHR5cGU6IFRoZSBjb250ZW50IG1vZGVsIGlzIG5vdCBkZXRlcm1pbmlzdC4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvZHVyXzBfMCBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvZHVyXzBfMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YjNhMmM5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9kdXJfMF8wCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL2R1cl8wLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvZHVyXzBfMC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2R1cl8wXzAuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2R1cl8wXzAuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2VsZW0wXzBfMCBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvZWxlbTBfMF8wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBhYjA2YjQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2VsZW0wXzBfMApAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9lbGVtMF8wLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvZWxlbTBfMF8wLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvZWxlbTBfMF8wLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9lbGVtMF8wXzAuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2VsZW1lbnQtZXJyXzBfMCBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvZWxlbWVudC1lcnJfMF8wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2VsZW1lbnQtZXJyXzBfMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9lbGVtZW50LWVycl8wXzAuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9lbGVtZW50LWVycl8wXzAuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcwNTI0ZjYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2VsZW1lbnQtZXJyXzBfMC5lcnIKQEAgLTAsMCArMSwyMCBAQAorLi90ZXN0L3NjaGVtYXMvZWxlbWVudC1lcnJfMC54c2Q6ODogZWxlbWVudCBlbGVtZW50OiBTY2hlbWFzIHBhcnNlciBlcnJvciA6IEVsZW1lbnQgJ3todHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYX1lbGVtZW50JzogVGhlIGF0dHJpYnV0ZSAnbmFtZScgaXMgcmVxdWlyZWQgYnV0IG1pc3NpbmcuCisuL3Rlc3Qvc2NoZW1hcy9lbGVtZW50LWVycl8wLnhzZDoxNDogZWxlbWVudCBlbGVtZW50OiBTY2hlbWFzIHBhcnNlciBlcnJvciA6IEVsZW1lbnQgJ3todHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYX1lbGVtZW50JzogVGhlIGF0dHJpYnV0ZSAncmVmJyBpcyBub3QgYWxsb3dlZC4KKy4vdGVzdC9zY2hlbWFzL2VsZW1lbnQtZXJyXzAueHNkOjE0OiBlbGVtZW50IGVsZW1lbnQ6IFNjaGVtYXMgcGFyc2VyIGVycm9yIDogRWxlbWVudCAne2h0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hfWVsZW1lbnQnOiBUaGUgYXR0cmlidXRlICdtaW5PY2N1cnMnIGlzIG5vdCBhbGxvd2VkLgorLi90ZXN0L3NjaGVtYXMvZWxlbWVudC1lcnJfMC54c2Q6MTQ6IGVsZW1lbnQgZWxlbWVudDogU2NoZW1hcyBwYXJzZXIgZXJyb3IgOiBFbGVtZW50ICd7aHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWF9ZWxlbWVudCc6IFRoZSBhdHRyaWJ1dGUgJ21heE9jY3VycycgaXMgbm90IGFsbG93ZWQuCisuL3Rlc3Qvc2NoZW1hcy9lbGVtZW50LWVycl8wLnhzZDoxNDogZWxlbWVudCBlbGVtZW50OiBTY2hlbWFzIHBhcnNlciBlcnJvciA6IEVsZW1lbnQgJ3todHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYX1lbGVtZW50JzogVGhlIGF0dHJpYnV0ZSAnZm9ybScgaXMgbm90IGFsbG93ZWQuCisuL3Rlc3Qvc2NoZW1hcy9lbGVtZW50LWVycl8wLnhzZDoxNDogZWxlbWVudCBlbGVtZW50OiBTY2hlbWFzIHBhcnNlciBlcnJvciA6IEVsZW1lbnQgJ3todHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYX1lbGVtZW50JywgYXR0cmlidXRlICdmaW5hbCc6IFRoZSB2YWx1ZSAnZmFudGFzeScgaXMgbm90IHZhbGlkLiBFeHBlY3RlZCBpcyAnKCNhbGwgfCBMaXN0IG9mIChleHRlbnNpb24gfCByZXN0cmljdGlvbikpJy4KKy4vdGVzdC9zY2hlbWFzL2VsZW1lbnQtZXJyXzAueHNkOjE0OiBlbGVtZW50IGVsZW1lbnQ6IFNjaGVtYXMgcGFyc2VyIGVycm9yIDogRWxlbWVudCAne2h0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hfWVsZW1lbnQnLCBhdHRyaWJ1dGUgJ2Jsb2NrJzogVGhlIHZhbHVlICdmbHV0ZScgaXMgbm90IHZhbGlkLiBFeHBlY3RlZCBpcyAnKCNhbGwgfCBMaXN0IG9mIChleHRlbnNpb24gfCByZXN0cmljdGlvbiB8IHN1YnN0aXR1dGlvbikpJy4KKy4vdGVzdC9zY2hlbWFzL2VsZW1lbnQtZXJyXzAueHNkOjE0OiBlbGVtZW50IGVsZW1lbnQ6IFNjaGVtYXMgcGFyc2VyIGVycm9yIDogRWxlbWVudCAne2h0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hfWVsZW1lbnQnOiBUaGUgYXR0cmlidXRlcyAnZGVmYXVsdCcgYW5kICdmaXhlZCcgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4KKy4vdGVzdC9zY2hlbWFzL2VsZW1lbnQtZXJyXzAueHNkOjIyOiBlbGVtZW50IGVsZW1lbnQ6IFNjaGVtYXMgcGFyc2VyIGVycm9yIDogRWxlbWVudCAne2h0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hfWVsZW1lbnQnLCBhdHRyaWJ1dGUgJ21pbk9jY3Vycyc6IFRoZSB2YWx1ZSBtdXN0IG5vdCBiZSBncmVhdGVyIHRoYW4gdGhlIHZhbHVlIG9mICdtYXhPY2N1cnMnLgorLi90ZXN0L3NjaGVtYXMvZWxlbWVudC1lcnJfMC54c2Q6MjI6IGVsZW1lbnQgZWxlbWVudDogU2NoZW1hcyBwYXJzZXIgZXJyb3IgOiBFbGVtZW50ICd7aHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWF9ZWxlbWVudCc6IFRoZSBhdHRyaWJ1dGVzICdyZWYnIGFuZCAnbmFtZScgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4KKy4vdGVzdC9zY2hlbWFzL2VsZW1lbnQtZXJyXzAueHNkOjIyOiBlbGVtZW50IGVsZW1lbnQ6IFNjaGVtYXMgcGFyc2VyIGVycm9yIDogRWxlbWVudCAne2h0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hfWVsZW1lbnQnLCBhdHRyaWJ1dGUgJ2Fic3RyYWN0JzogT25seSB0aGUgYXR0cmlidXRlcyAnbWluT2NjdXJzJywgJ21heE9jY3VycycgYW5kICdpZCcgYXJlIGFsbG93ZWQgaW4gYWRkaXRpb24gdG8gJ3JlZicuCisuL3Rlc3Qvc2NoZW1hcy9lbGVtZW50LWVycl8wLnhzZDoyMzogZWxlbWVudCBjb21wbGV4VHlwZTogU2NoZW1hcyBwYXJzZXIgZXJyb3IgOiBFbGVtZW50ICd7aHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWF9ZWxlbWVudCc6IFRoZSBjb250ZW50IGlzIG5vdCB2YWxpZC4gRXhwZWN0ZWQgaXMgKGFubm90YXRpb24/KS4KKy4vdGVzdC9zY2hlbWFzL2VsZW1lbnQtZXJyXzAueHNkOjMwOiBlbGVtZW50IGVsZW1lbnQ6IFNjaGVtYXMgcGFyc2VyIGVycm9yIDogRWxlbWVudCAne2h0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hfWVsZW1lbnQnLCBhdHRyaWJ1dGUgJ21heE9jY3Vycyc6IFRoZSB2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAxLgorLi90ZXN0L3NjaGVtYXMvZWxlbWVudC1lcnJfMC54c2Q6MzA6IGVsZW1lbnQgZWxlbWVudDogU2NoZW1hcyBwYXJzZXIgZXJyb3IgOiBFbGVtZW50ICd7aHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWF9ZWxlbWVudCc6IFRoZSBhdHRyaWJ1dGUgJ2Fic3RyYWN0JyBpcyBub3QgYWxsb3dlZC4KKy4vdGVzdC9zY2hlbWFzL2VsZW1lbnQtZXJyXzAueHNkOjMwOiBlbGVtZW50IGVsZW1lbnQ6IFNjaGVtYXMgcGFyc2VyIGVycm9yIDogRWxlbWVudCAne2h0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hfWVsZW1lbnQnOiBUaGUgYXR0cmlidXRlICdzdWJzdGl0dXRpb25Hcm91cCcgaXMgbm90IGFsbG93ZWQuCisuL3Rlc3Qvc2NoZW1hcy9lbGVtZW50LWVycl8wLnhzZDozMDogZWxlbWVudCBlbGVtZW50OiBTY2hlbWFzIHBhcnNlciBlcnJvciA6IEVsZW1lbnQgJ3todHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYX1lbGVtZW50JzogVGhlIGF0dHJpYnV0ZSAnZmluYWwnIGlzIG5vdCBhbGxvd2VkLgorLi90ZXN0L3NjaGVtYXMvZWxlbWVudC1lcnJfMC54c2Q6MzA6IGVsZW1lbnQgZWxlbWVudDogU2NoZW1hcyBwYXJzZXIgZXJyb3IgOiBFbGVtZW50ICd7aHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWF9ZWxlbWVudCcsIGF0dHJpYnV0ZSAnYmxvY2snOiBUaGUgdmFsdWUgJ2ZsdXRlJyBpcyBub3QgdmFsaWQuIEV4cGVjdGVkIGlzICcoI2FsbCB8IExpc3Qgb2YgKGV4dGVuc2lvbiB8IHJlc3RyaWN0aW9uIHwgc3Vic3RpdHV0aW9uKSknLgorLi90ZXN0L3NjaGVtYXMvZWxlbWVudC1lcnJfMC54c2Q6MzA6IGVsZW1lbnQgZWxlbWVudDogU2NoZW1hcyBwYXJzZXIgZXJyb3IgOiBFbGVtZW50ICd7aHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWF9ZWxlbWVudCc6IFRoZSBhdHRyaWJ1dGVzICdkZWZhdWx0JyBhbmQgJ2ZpeGVkJyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLgorLi90ZXN0L3NjaGVtYXMvZWxlbWVudC1lcnJfMC54c2Q6MzE6IGVsZW1lbnQgY29tcGxleFR5cGU6IFNjaGVtYXMgcGFyc2VyIGVycm9yIDogRWxlbWVudCAne2h0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hfWVsZW1lbnQnOiBUaGUgYXR0cmlidXRlICd0eXBlJyBhbmQgdGhlIDxjb21wbGV4VHlwZT4gY2hpbGQgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4KKy4vdGVzdC9zY2hlbWFzL2VsZW1lbnQtZXJyXzAueHNkOjMyOiBlbGVtZW50IHNpbXBsZVR5cGU6IFNjaGVtYXMgcGFyc2VyIGVycm9yIDogRWxlbWVudCAne2h0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hfWVsZW1lbnQnOiBUaGUgY29udGVudCBpcyBub3QgdmFsaWQuIEV4cGVjdGVkIGlzIChhbm5vdGF0aW9uPywgKChzaW1wbGVUeXBlIHwgY29tcGxleFR5cGUpPywgKHVuaXF1ZSB8IGtleSB8IGtleXJlZikqKSkuCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2VsZW1lbnQtbWlubWF4LWVycl8wXzAgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2VsZW1lbnQtbWlubWF4LWVycl8wXzAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvZWxlbWVudC1taW5tYXgtZXJyXzBfMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9lbGVtZW50LW1pbm1heC1lcnJfMF8wLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvZWxlbWVudC1taW5tYXgtZXJyXzBfMC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTUzZjNkOAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvZWxlbWVudC1taW5tYXgtZXJyXzBfMC5lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvZWxlbWVudC1taW5tYXgtZXJyXzAueHNkOjY6IGVsZW1lbnQgZWxlbWVudDogU2NoZW1hcyBwYXJzZXIgZXJyb3IgOiBFbGVtZW50ICd7aHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWF9ZWxlbWVudCcsIGF0dHJpYnV0ZSAnbWF4T2NjdXJzJzogVGhlIHZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIDEuCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2VtcHR5LXZhbHVlXzFfMCBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvZW1wdHktdmFsdWVfMV8wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU4NjQ1NTcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2VtcHR5LXZhbHVlXzFfMApAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9lbXB0eS12YWx1ZV8wLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvZW1wdHktdmFsdWVfMV8wLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvZW1wdHktdmFsdWVfMV8wLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9lbXB0eS12YWx1ZV8xXzAuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2VtcHR5LXZhbHVlXzFfMSBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvZW1wdHktdmFsdWVfMV8xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJlMmQzMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2VtcHR5LXZhbHVlXzFfMQpAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9lbXB0eS12YWx1ZV8xLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvZW1wdHktdmFsdWVfMV8xLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvZW1wdHktdmFsdWVfMV8xLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9lbXB0eS12YWx1ZV8xXzEuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2VtcHR5XzBfMCBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvZW1wdHlfMF8wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg4ZmM1MmIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2VtcHR5XzBfMApAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9lbXB0eV8wLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvZW1wdHlfMF8wLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvZW1wdHlfMF8wLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9lbXB0eV8wXzAuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2VtcHR5XzFfMCBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvZW1wdHlfMV8wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg4ZmM1MmIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2VtcHR5XzFfMApAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9lbXB0eV8wLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvZW1wdHlfMV8wLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvZW1wdHlfMV8wLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9lbXB0eV8xXzAuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2V4dGVuc2lvbjBfMF8wIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9leHRlbnNpb24wXzBfMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kM2RjYTdiCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9leHRlbnNpb24wXzBfMApAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9leHRlbnNpb24wXzAueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9leHRlbnNpb24wXzBfMC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2V4dGVuc2lvbjBfMF8wLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9leHRlbnNpb24wXzBfMC5lcnIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvZXh0ZW5zaW9uMV8wXzAgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2V4dGVuc2lvbjFfMF8wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIzZGE5ZWEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2V4dGVuc2lvbjFfMF8wCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL2V4dGVuc2lvbjFfMC54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2V4dGVuc2lvbjFfMF8wLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvZXh0ZW5zaW9uMV8wXzAuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2V4dGVuc2lvbjFfMF8wLmVycgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9leHRlbnNpb24xXzBfMSBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvZXh0ZW5zaW9uMV8wXzEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGE0N2I4NgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvZXh0ZW5zaW9uMV8wXzEKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvZXh0ZW5zaW9uMV8xLnhtbCBmYWlscyB0byB2YWxpZGF0ZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9leHRlbnNpb24xXzBfMS5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2V4dGVuc2lvbjFfMF8xLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYjViMDQ3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9leHRlbnNpb24xXzBfMS5lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvZXh0ZW5zaW9uMV8xLnhtbDoxOiBlbGVtZW50IHRpdGxlOiBTY2hlbWFzIHZhbGlkaXR5IGVycm9yIDogRWxlbWVudCAndGl0bGUnLCBhdHRyaWJ1dGUgJ2xhbmd1ZSc6IFRoZSBhdHRyaWJ1dGUgJ2xhbmd1ZScgaXMgbm90IGFsbG93ZWQuCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2V4dGVuc2lvbjFfMF8yIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9leHRlbnNpb24xXzBfMgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYzhlY2NjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9leHRlbnNpb24xXzBfMgpAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9leHRlbnNpb24xXzIueG1sIGZhaWxzIHRvIHZhbGlkYXRlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2V4dGVuc2lvbjFfMF8yLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvZXh0ZW5zaW9uMV8wXzIuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE2MWZlOWUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2V4dGVuc2lvbjFfMF8yLmVycgpAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9leHRlbnNpb24xXzIueG1sOjE6IGVsZW1lbnQgdGl0bGU6IFNjaGVtYXMgdmFsaWRpdHkgZXJyb3IgOiBFbGVtZW50ICd0aXRsZSc6IEVsZW1lbnQgY29udGVudCBpcyBub3QgYWxsb3dlZCwgYmVjYXVzZSB0aGUgY29udGVudCB0eXBlIGlzIGEgc2ltcGxlIHR5cGUgZGVmaW5pdGlvbi4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvZXh0ZW5zaW9uMl8xXzAgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2V4dGVuc2lvbjJfMV8wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg4YzE1YWEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2V4dGVuc2lvbjJfMV8wCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL2V4dGVuc2lvbjJfMC54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2V4dGVuc2lvbjJfMV8wLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvZXh0ZW5zaW9uMl8xXzAuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2V4dGVuc2lvbjJfMV8wLmVycgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9mYWNldC11bmlvblNULWVycjFfMF8wIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9mYWNldC11bmlvblNULWVycjFfMF8wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJhZjgyODAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2ZhY2V0LXVuaW9uU1QtZXJyMV8wXzAKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvZmFjZXQtdW5pb25TVC1lcnIxXzAueG1sIGZhaWxzIHRvIHZhbGlkYXRlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2ZhY2V0LXVuaW9uU1QtZXJyMV8wXzAuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9mYWNldC11bmlvblNULWVycjFfMF8wLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zOTJkYmU1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9mYWNldC11bmlvblNULWVycjFfMF8wLmVycgpAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9mYWNldC11bmlvblNULWVycjFfMC54bWw6MzogZWxlbWVudCBmb286IFNjaGVtYXMgdmFsaWRpdHkgZXJyb3IgOiBFbGVtZW50ICd7aHR0cDovL0ZPT31mb28nOiAndGlueScgaXMgbm90IGEgdmFsaWQgdmFsdWUgb2YgdGhlIHVuaW9uIHR5cGUgJ3todHRwOi8vRk9PfWZvb1R5cGUuQicuCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2ZhY2V0LXdoaXRlU3BhY2VfMF8wIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9mYWNldC13aGl0ZVNwYWNlXzBfMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MzI3NmM2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9mYWNldC13aGl0ZVNwYWNlXzBfMApAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9mYWNldC13aGl0ZVNwYWNlXzAueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9mYWNldC13aGl0ZVNwYWNlXzBfMC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2ZhY2V0LXdoaXRlU3BhY2VfMF8wLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9mYWNldC13aGl0ZVNwYWNlXzBfMC5lcnIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvZ3JvdXAwXzBfMCBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvZ3JvdXAwXzBfMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ODdhNzRhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9ncm91cDBfMF8wCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL2dyb3VwMF8wLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvZ3JvdXAwXzBfMC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2dyb3VwMF8wXzAuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2dyb3VwMF8wXzAuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2hleGJpbmFyeV8wXzAgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2hleGJpbmFyeV8wXzAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzgzYmFiNAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvaGV4YmluYXJ5XzBfMApAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9oZXhiaW5hcnlfMC54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2hleGJpbmFyeV8wXzAuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9oZXhiaW5hcnlfMF8wLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9oZXhiaW5hcnlfMF8wLmVycgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9oZXhiaW5hcnlfMF8xIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9oZXhiaW5hcnlfMF8xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM3YjEwZDEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2hleGJpbmFyeV8wXzEKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvaGV4YmluYXJ5XzEueG1sIGZhaWxzIHRvIHZhbGlkYXRlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2hleGJpbmFyeV8wXzEuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9oZXhiaW5hcnlfMF8xLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYjBjNzRjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9oZXhiaW5hcnlfMF8xLmVycgpAQCAtMCwwICsxLDEwIEBACisuL3Rlc3Qvc2NoZW1hcy9oZXhiaW5hcnlfMS54bWw6NjogZWxlbWVudCBoZXg6IFNjaGVtYXMgdmFsaWRpdHkgZXJyb3IgOiBFbGVtZW50ICdoZXgnOiAnMCcgaXMgbm90IGEgdmFsaWQgdmFsdWUgb2YgdGhlIGF0b21pYyB0eXBlICd4czpoZXhCaW5hcnknLgorLi90ZXN0L3NjaGVtYXMvaGV4YmluYXJ5XzEueG1sOjc6IGVsZW1lbnQgaGV4OiBTY2hlbWFzIHZhbGlkaXR5IGVycm9yIDogRWxlbWVudCAnaGV4JzogJzAxMjM0NTY3ODlBQkNERUZHSCcgaXMgbm90IGEgdmFsaWQgdmFsdWUgb2YgdGhlIGF0b21pYyB0eXBlICd4czpoZXhCaW5hcnknLgorLi90ZXN0L3NjaGVtYXMvaGV4YmluYXJ5XzEueG1sOjg6IGVsZW1lbnQgaGV4OiBTY2hlbWFzIHZhbGlkaXR5IGVycm9yIDogRWxlbWVudCAnaGV4JzogJythYmNkZWYwMTIzNDU2Nzg5JyBpcyBub3QgYSB2YWxpZCB2YWx1ZSBvZiB0aGUgYXRvbWljIHR5cGUgJ3hzOmhleEJpbmFyeScuCisuL3Rlc3Qvc2NoZW1hcy9oZXhiaW5hcnlfMS54bWw6OTogZWxlbWVudCBoZXg6IFNjaGVtYXMgdmFsaWRpdHkgZXJyb3IgOiBFbGVtZW50ICdoZXgnOiAnLTAxMjM0NTY3ODlhYmNkZWYnIGlzIG5vdCBhIHZhbGlkIHZhbHVlIG9mIHRoZSBhdG9taWMgdHlwZSAneHM6aGV4QmluYXJ5Jy4KKy4vdGVzdC9zY2hlbWFzL2hleGJpbmFyeV8xLnhtbDoxMTogZWxlbWVudCBoZXgyOiBTY2hlbWFzIHZhbGlkaXR5IGVycm9yIDogRWxlbWVudCAnaGV4Mic6IFtmYWNldCAnbWF4TGVuZ3RoJ10gVGhlIHZhbHVlIGhhcyBhIGxlbmd0aCBvZiAnOSc7IHRoaXMgZXhjZWVkcyB0aGUgYWxsb3dlZCBtYXhpbXVtIGxlbmd0aCBvZiAnOCcuCisuL3Rlc3Qvc2NoZW1hcy9oZXhiaW5hcnlfMS54bWw6MTE6IGVsZW1lbnQgaGV4MjogU2NoZW1hcyB2YWxpZGl0eSBlcnJvciA6IEVsZW1lbnQgJ2hleDInOiAnMTEyMjMzNDQ1NTY2Nzc4ODk5JyBpcyBub3QgYSB2YWxpZCB2YWx1ZSBvZiB0aGUgbG9jYWwgYXRvbWljIHR5cGUuCisuL3Rlc3Qvc2NoZW1hcy9oZXhiaW5hcnlfMS54bWw6MTM6IGVsZW1lbnQgaGV4MzogU2NoZW1hcyB2YWxpZGl0eSBlcnJvciA6IEVsZW1lbnQgJ2hleDMnOiBbZmFjZXQgJ2xlbmd0aCddIFRoZSB2YWx1ZSBoYXMgYSBsZW5ndGggb2YgJzEnOyB0aGlzIGRpZmZlcnMgZnJvbSB0aGUgYWxsb3dlZCBsZW5ndGggb2YgJzInLgorLi90ZXN0L3NjaGVtYXMvaGV4YmluYXJ5XzEueG1sOjEzOiBlbGVtZW50IGhleDM6IFNjaGVtYXMgdmFsaWRpdHkgZXJyb3IgOiBFbGVtZW50ICdoZXgzJzogJ2FiJyBpcyBub3QgYSB2YWxpZCB2YWx1ZSBvZiB0aGUgbG9jYWwgYXRvbWljIHR5cGUuCisuL3Rlc3Qvc2NoZW1hcy9oZXhiaW5hcnlfMS54bWw6MTQ6IGVsZW1lbnQgaGV4MzogU2NoZW1hcyB2YWxpZGl0eSBlcnJvciA6IEVsZW1lbnQgJ2hleDMnOiBbZmFjZXQgJ2xlbmd0aCddIFRoZSB2YWx1ZSBoYXMgYSBsZW5ndGggb2YgJzMnOyB0aGlzIGRpZmZlcnMgZnJvbSB0aGUgYWxsb3dlZCBsZW5ndGggb2YgJzInLgorLi90ZXN0L3NjaGVtYXMvaGV4YmluYXJ5XzEueG1sOjE0OiBlbGVtZW50IGhleDM6IFNjaGVtYXMgdmFsaWRpdHkgZXJyb3IgOiBFbGVtZW50ICdoZXgzJzogJzAwZmVkYycgaXMgbm90IGEgdmFsaWQgdmFsdWUgb2YgdGhlIGxvY2FsIGF0b21pYyB0eXBlLgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9pZGMta2V5cmVmLWVycjFfMV8wIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9pZGMta2V5cmVmLWVycjFfMV8wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ0MzMzYTkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2lkYy1rZXlyZWYtZXJyMV8xXzAKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvaWRjLWtleXJlZi1lcnIxXzAueG1sIGZhaWxzIHRvIHZhbGlkYXRlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2lkYy1rZXlyZWYtZXJyMV8xXzAuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9pZGMta2V5cmVmLWVycjFfMV8wLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZTljYjIwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9pZGMta2V5cmVmLWVycjFfMV8wLmVycgpAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9pZGMta2V5cmVmLWVycjFfMC54bWw6MTI6IFNjaGVtYXMgdmFsaWRpdHkgZXJyb3IgOiBFbGVtZW50ICd7dXJuOnRlc3Q6Zm9vfVJlZic6IE5vIG1hdGNoIGZvdW5kIGZvciBrZXktc2VxdWVuY2UgWydMNCddIG9mIGtleXJlZiAne3Vybjp0ZXN0OmZvb31MaW5rS2V5UmVmJy4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvaW1wb3J0MF8wXzAgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2ltcG9ydDBfMF8wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEyMzE4MDAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2ltcG9ydDBfMF8wCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL2ltcG9ydDBfMC54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2ltcG9ydDBfMF8wLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvaW1wb3J0MF8wXzAuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2ltcG9ydDBfMF8wLmVycgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9pbXBvcnQxXzBfMCBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvaW1wb3J0MV8wXzAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvaW1wb3J0MV8wXzAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvaW1wb3J0MV8wXzAuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9pbXBvcnQxXzBfMC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTZmNTcyZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvaW1wb3J0MV8wXzAuZXJyCkBAIC0wLDAgKzEsNCBAQAorSS9PIHdhcm5pbmcgOiBmYWlsZWQgdG8gbG9hZCBleHRlcm5hbCBlbnRpdHkgInRlc3Qvc2NoZW1hcy9pbXBvcnQxXzBiYy5pbXAiCisuL3Rlc3Qvc2NoZW1hcy9pbXBvcnQxXzAueHNkOjExOiBlbGVtZW50IGltcG9ydDogU2NoZW1hcyBwYXJzZXIgd2FybmluZyA6IEVsZW1lbnQgJ3todHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYX1pbXBvcnQnOiBGYWlsZWQgdG8gbG9jYXRlIGEgc2NoZW1hIGF0IGxvY2F0aW9uICd0ZXN0L3NjaGVtYXMvaW1wb3J0MV8wYmMuaW1wJy4gU2tpcHBpbmcgdGhlIGltcG9ydC4KKy4vdGVzdC9zY2hlbWFzL2ltcG9ydDFfMC54c2Q6MTY6IGVsZW1lbnQgaW1wb3J0OiBTY2hlbWFzIHBhcnNlciB3YXJuaW5nIDogRWxlbWVudCAne2h0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hfWltcG9ydCc6IFNraXBwaW5nIGltcG9ydCBvZiBzY2hlbWEgbG9jYXRlZCBhdCAndGVzdC9zY2hlbWFzL2ltcG9ydDFfMGIuaW1wJyBmb3IgdGhlIG5hbWVzcGFjZSAnaHR0cDovL0JBUicsIHNpbmNlIHRoaXMgbmFtZXNwYWNlIHdhcyBhbHJlYWR5IGltcG9ydGVkIHdpdGggdGhlIHNjaGVtYSBsb2NhdGVkIGF0ICd0ZXN0L3NjaGVtYXMvaW1wb3J0MV8wLmltcCcuCisuL3Rlc3Qvc2NoZW1hcy9pbXBvcnQxXzAueHNkOjI2OiBlbGVtZW50IGVsZW1lbnQ6IFNjaGVtYXMgcGFyc2VyIGVycm9yIDogRWxlbWVudCAne2h0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hfWVsZW1lbnQnLCBhdHRyaWJ1dGUgJ3JlZic6IFRoZSBRTmFtZSB2YWx1ZSAne2h0dHA6Ly9CQVJ9YmFyLkInIGRvZXMgbm90IHJlc29sdmUgdG8gYShuKSBlbGVtZW50IGRlY2xhcmF0aW9uLgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9pbXBvcnQyXzBfMCBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvaW1wb3J0Ml8wXzAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjk2MGI0OAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvaW1wb3J0Ml8wXzAKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvaW1wb3J0Ml8wLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvaW1wb3J0Ml8wXzAuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9pbXBvcnQyXzBfMC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvaW1wb3J0Ml8wXzAuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2luY2x1ZGUxXzBfMCBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvaW5jbHVkZTFfMF8wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhiYThhMmUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2luY2x1ZGUxXzBfMApAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9pbmNsdWRlMV8wLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvaW5jbHVkZTFfMF8wLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvaW5jbHVkZTFfMF8wLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9pbmNsdWRlMV8wXzAuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2luY2x1ZGUyXzBfMCBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvaW5jbHVkZTJfMF8wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdhZWEyYjAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2luY2x1ZGUyXzBfMApAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9pbmNsdWRlMl8wLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvaW5jbHVkZTJfMF8wLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvaW5jbHVkZTJfMF8wLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9pbmNsdWRlMl8wXzAuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2luY2x1ZGUzXzBfMCBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvaW5jbHVkZTNfMF8wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2luY2x1ZGUzXzBfMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9pbmNsdWRlM18wXzAuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9pbmNsdWRlM18wXzAuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI3YmI1ZDAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2luY2x1ZGUzXzBfMC5lcnIKQEAgLTAsMCArMSBAQAordGVzdC9zY2hlbWFzL2luY2x1ZGUzXzAuaW5jOjQ6IGVsZW1lbnQgZWxlbWVudDogU2NoZW1hcyBwYXJzZXIgZXJyb3IgOiBFbGVtZW50ICd7aHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWF9ZWxlbWVudCc6IEEgZ2xvYmFsIGVsZW1lbnQgZGVjbGFyYXRpb24gJ3todHRwOi8vRk9PfWJhcicgZG9lcyBhbHJlYWR5IGV4aXN0LgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9pdGVtXzBfMCBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvaXRlbV8wXzAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTBmYTU2MQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvaXRlbV8wXzAKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvaXRlbV8wLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvaXRlbV8wXzAuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9pdGVtXzBfMC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvaXRlbV8wXzAuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2l0ZW1fMV8wIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9pdGVtXzFfMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MGZhNTYxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9pdGVtXzFfMApAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9pdGVtXzAueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9pdGVtXzFfMC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2l0ZW1fMV8wLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9pdGVtXzFfMC5lcnIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvbGVuZ3RoMV8wXzAgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2xlbmd0aDFfMF8wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU4Y2JlMjQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2xlbmd0aDFfMF8wCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL2xlbmd0aDFfMC54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2xlbmd0aDFfMF8wLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvbGVuZ3RoMV8wXzAuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2xlbmd0aDFfMF8wLmVycgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9sZW5ndGgyXzBfMCBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvbGVuZ3RoMl8wXzAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGZkMjdkNgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvbGVuZ3RoMl8wXzAKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvbGVuZ3RoMl8wLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvbGVuZ3RoMl8wXzAuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9sZW5ndGgyXzBfMC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvbGVuZ3RoMl8wXzAuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2xlbmd0aDNfMF8wIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9sZW5ndGgzXzBfMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9sZW5ndGgzXzBfMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9sZW5ndGgzXzBfMC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2xlbmd0aDNfMF8wLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NWFmY2Q3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9sZW5ndGgzXzBfMC5lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvbGVuZ3RoM18wLnhzZDo1OiBlbGVtZW50IGVsZW1lbnQ6IFNjaGVtYXMgcGFyc2VyIGVycm9yIDogZWxlbWVudCBkZWNsLiAnc2l6ZScsIGF0dHJpYnV0ZSAndHlwZSc6IFRoZSBRTmFtZSB2YWx1ZSAne2h0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hfW5vbi1wb3NpdGl2ZS1pbnRlZ2VyJyBkb2VzIG5vdCByZXNvbHZlIHRvIGEobikgdHlwZSBkZWZpbml0aW9uLgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9saXN0MF8wXzAgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2xpc3QwXzBfMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zN2EyY2RjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9saXN0MF8wXzAKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvbGlzdDBfMC54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2xpc3QwXzBfMC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2xpc3QwXzBfMC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvbGlzdDBfMF8wLmVycgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9saXN0MF8wXzEgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2xpc3QwXzBfMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYTc1N2Y2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9saXN0MF8wXzEKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvbGlzdDBfMS54bWwgZmFpbHMgdG8gdmFsaWRhdGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvbGlzdDBfMF8xLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvbGlzdDBfMF8xLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YTNiNjNiCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9saXN0MF8wXzEuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL2xpc3QwXzEueG1sOjE6IGVsZW1lbnQgdGVzdDogU2NoZW1hcyB2YWxpZGl0eSBlcnJvciA6IEVsZW1lbnQgJ3Rlc3QnOiBNaXNzaW5nIGNoaWxkIGVsZW1lbnQocykuIEV4cGVjdGVkIGlzICggc3RyaW5nICkuCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2xpc3QwXzBfMiBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvbGlzdDBfMF8yCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBlYzYyMzcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2xpc3QwXzBfMgpAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9saXN0MF8yLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvbGlzdDBfMF8yLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvbGlzdDBfMF8yLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9saXN0MF8wXzIuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2xpc3QwXzFfMCBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvbGlzdDBfMV8wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJjZjk4MDYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2xpc3QwXzFfMApAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9saXN0MF8wLnhtbCBmYWlscyB0byB2YWxpZGF0ZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9saXN0MF8xXzAuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9saXN0MF8xXzAuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBiYzNjOGEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2xpc3QwXzFfMC5lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvbGlzdDBfMC54bWw6NTogZWxlbWVudCBzdHJpbmc6IFNjaGVtYXMgdmFsaWRpdHkgZXJyb3IgOiBFbGVtZW50ICdzdHJpbmcnOiBUaGlzIGVsZW1lbnQgaXMgbm90IGV4cGVjdGVkLgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9saXN0MF8xXzEgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2xpc3QwXzFfMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYTc1N2Y2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9saXN0MF8xXzEKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvbGlzdDBfMS54bWwgZmFpbHMgdG8gdmFsaWRhdGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvbGlzdDBfMV8xLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvbGlzdDBfMV8xLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YTNiNjNiCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9saXN0MF8xXzEuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL2xpc3QwXzEueG1sOjE6IGVsZW1lbnQgdGVzdDogU2NoZW1hcyB2YWxpZGl0eSBlcnJvciA6IEVsZW1lbnQgJ3Rlc3QnOiBNaXNzaW5nIGNoaWxkIGVsZW1lbnQocykuIEV4cGVjdGVkIGlzICggc3RyaW5nICkuCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2xpc3QwXzFfMiBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvbGlzdDBfMV8yCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBlYzYyMzcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL2xpc3QwXzFfMgpAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9saXN0MF8yLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvbGlzdDBfMV8yLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvbGlzdDBfMV8yLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9saXN0MF8xXzIuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL21peGVkMF8wXzAgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL21peGVkMF8wXzAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmQyZjBlZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvbWl4ZWQwXzBfMApAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9taXhlZDBfMC54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL21peGVkMF8wXzAuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9taXhlZDBfMF8wLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9taXhlZDBfMF8wLmVycgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9taXhlZDFfMF8wIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9taXhlZDFfMF8wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU5YTZiMDEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL21peGVkMV8wXzAKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvbWl4ZWQxXzAueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9taXhlZDFfMF8wLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvbWl4ZWQxXzBfMC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvbWl4ZWQxXzBfMC5lcnIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvbnMwXzBfMCBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvbnMwXzBfMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NGQxZDQ0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9uczBfMF8wCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL25zMF8wLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvbnMwXzBfMC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL25zMF8wXzAuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL25zMF8wXzAuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL25zMF8wXzEgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL25zMF8wXzEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjExMDI0OQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvbnMwXzBfMQpAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9uczBfMS54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL25zMF8wXzEuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9uczBfMF8xLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9uczBfMF8xLmVycgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9uczBfMF8yIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9uczBfMF8yCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAzZTg1ZjcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL25zMF8wXzIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvbnMwXzIueG1sIGZhaWxzIHRvIHZhbGlkYXRlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL25zMF8wXzIuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9uczBfMF8yLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNDZhZjI2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9uczBfMF8yLmVycgpAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9uczBfMi54bWw6MTogZWxlbWVudCBmb286IFNjaGVtYXMgdmFsaWRpdHkgZXJyb3IgOiBFbGVtZW50ICdmb28nOiBObyBtYXRjaGluZyBnbG9iYWwgZGVjbGFyYXRpb24gYXZhaWxhYmxlIGZvciB0aGUgdmFsaWRhdGlvbiByb290LgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9uczBfMF8zIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9uczBfMF8zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ3MzIwNmMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL25zMF8wXzMKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvbnMwXzMueG1sIGZhaWxzIHRvIHZhbGlkYXRlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL25zMF8wXzMuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9uczBfMF8zLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZDFjYmQ1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9uczBfMF8zLmVycgpAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9uczBfMy54bWw6MTogZWxlbWVudCBmb286IFNjaGVtYXMgdmFsaWRpdHkgZXJyb3IgOiBFbGVtZW50ICd7aHR0cDovL2V4YW1wbGUuY29tL3hzZC9uc31mb28nLCBhdHRyaWJ1dGUgJ3todHRwOi8vZXhhbXBsZS5jb20veHNkL25zfWlkJzogVGhlIGF0dHJpYnV0ZSAne2h0dHA6Ly9leGFtcGxlLmNvbS94c2QvbnN9aWQnIGlzIG5vdCBhbGxvd2VkLgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9uczBfMF80IGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9uczBfMF80Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYxMGY0NWUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL25zMF8wXzQKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvbnMwXzQueG1sIGZhaWxzIHRvIHZhbGlkYXRlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL25zMF8wXzQuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9uczBfMF80LmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNTEyZThkCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9uczBfMF80LmVycgpAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9uczBfNC54bWw6MjogZWxlbWVudCBmb286IFNjaGVtYXMgdmFsaWRpdHkgZXJyb3IgOiBFbGVtZW50ICd7aHR0cDovL2V4YW1wbGUuY29tL3hzZC9uc31mb28nLCBhdHRyaWJ1dGUgJ3todHRwOi8vZXhhbXBsZS5jb20veHNkL25zfWlkJzogVGhlIGF0dHJpYnV0ZSAne2h0dHA6Ly9leGFtcGxlLmNvbS94c2QvbnN9aWQnIGlzIG5vdCBhbGxvd2VkLgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9uczBfMV8wIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9uczBfMV8wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjliYTA0NzEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL25zMF8xXzAKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvbnMwXzAueG1sIGZhaWxzIHRvIHZhbGlkYXRlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL25zMF8xXzAuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9uczBfMV8wLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMjgyODg4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9uczBfMV8wLmVycgpAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9uczBfMC54bWw6MTogZWxlbWVudCBmb286IFNjaGVtYXMgdmFsaWRpdHkgZXJyb3IgOiBFbGVtZW50ICd7aHR0cDovL2V4YW1wbGUuY29tL3hzZC9uc31mb28nLCBhdHRyaWJ1dGUgJ2lkJzogVGhlIGF0dHJpYnV0ZSAnaWQnIGlzIG5vdCBhbGxvd2VkLgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9uczBfMV8xIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9uczBfMV8xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlmNDY0ZGUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL25zMF8xXzEKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvbnMwXzEueG1sIGZhaWxzIHRvIHZhbGlkYXRlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL25zMF8xXzEuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9uczBfMV8xLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45OWIyODgwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9uczBfMV8xLmVycgpAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9uczBfMS54bWw6MTogZWxlbWVudCBmb286IFNjaGVtYXMgdmFsaWRpdHkgZXJyb3IgOiBFbGVtZW50ICd7aHR0cDovL2V4YW1wbGUuY29tL3hzZC9uc31mb28nLCBhdHRyaWJ1dGUgJ2lkJzogVGhlIGF0dHJpYnV0ZSAnaWQnIGlzIG5vdCBhbGxvd2VkLgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9uczBfMV8yIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9uczBfMV8yCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAzZTg1ZjcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL25zMF8xXzIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvbnMwXzIueG1sIGZhaWxzIHRvIHZhbGlkYXRlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL25zMF8xXzIuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9uczBfMV8yLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNDZhZjI2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9uczBfMV8yLmVycgpAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9uczBfMi54bWw6MTogZWxlbWVudCBmb286IFNjaGVtYXMgdmFsaWRpdHkgZXJyb3IgOiBFbGVtZW50ICdmb28nOiBObyBtYXRjaGluZyBnbG9iYWwgZGVjbGFyYXRpb24gYXZhaWxhYmxlIGZvciB0aGUgdmFsaWRhdGlvbiByb290LgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9uczBfMV8zIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9uczBfMV8zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFmYzg3NzIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL25zMF8xXzMKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvbnMwXzMueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9uczBfMV8zLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvbnMwXzFfMy5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvbnMwXzFfMy5lcnIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvbnMwXzFfNCBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvbnMwXzFfNApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43Mzc0ZWJmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9uczBfMV80CkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL25zMF80LnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvbnMwXzFfNC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL25zMF8xXzQuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL25zMF8xXzQuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL25zMV8wXzAgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL25zMV8wXzAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmZjZmI2YwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvbnMxXzBfMApAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9uczFfMC54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL25zMV8wXzAuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9uczFfMF8wLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9uczFfMF8wLmVycgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9uczJfMF8wIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9uczJfMF8wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIyYzE4MWUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL25zMl8wXzAKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvbnMyXzAueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9uczJfMF8wLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvbnMyXzBfMC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvbnMyXzBfMC5lcnIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvbnZkY3ZlXzBfMCBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvbnZkY3ZlXzBfMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xOGU3YzdjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9udmRjdmVfMF8wCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL252ZGN2ZV8wLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvbnZkY3ZlXzBfMC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL252ZGN2ZV8wXzAuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL252ZGN2ZV8wXzAuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3BvMF8wXzAgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3BvMF8wXzAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTY4N2I5ZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvcG8wXzBfMApAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9wbzBfMC54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3BvMF8wXzAuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9wbzBfMF8wLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9wbzBfMF8wLmVycgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9wbzFfMF8wIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9wbzFfMF8wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJjMjY0Y2UKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3BvMV8wXzAKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvcG8xXzAueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9wbzFfMF8wLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvcG8xXzBfMC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvcG8xXzBfMC5lcnIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvcG9zY2hhcmdycDBfMF8wIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9wb3NjaGFyZ3JwMF8wXzAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGUxNGY0ZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvcG9zY2hhcmdycDBfMF8wCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL3Bvc2NoYXJncnAwXzAueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9wb3NjaGFyZ3JwMF8wXzAuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9wb3NjaGFyZ3JwMF8wXzAuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3Bvc2NoYXJncnAwXzBfMC5lcnIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvcmVnZXhwLWNoYXItcmVmXzBfMCBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvcmVnZXhwLWNoYXItcmVmXzBfMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MGNlYjdmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9yZWdleHAtY2hhci1yZWZfMF8wCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL3JlZ2V4cC1jaGFyLXJlZl8wLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvcmVnZXhwLWNoYXItcmVmXzFfMCBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvcmVnZXhwLWNoYXItcmVmXzFfMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MGNlYjdmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9yZWdleHAtY2hhci1yZWZfMV8wCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL3JlZ2V4cC1jaGFyLXJlZl8wLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvcmVzdHJpY3QtQ1QtYXR0ci1yZWZfMF8wIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9yZXN0cmljdC1DVC1hdHRyLXJlZl8wXzAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzdkYmE3NQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvcmVzdHJpY3QtQ1QtYXR0ci1yZWZfMF8wCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL3Jlc3RyaWN0LUNULWF0dHItcmVmXzAueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9yZXN0cmljdC1DVC1hdHRyLXJlZl8wXzAuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9yZXN0cmljdC1DVC1hdHRyLXJlZl8wXzAuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3Jlc3RyaWN0LUNULWF0dHItcmVmXzBfMC5lcnIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvcmVzdHJpY3Rpb24tYXR0cjFfMF8wIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9yZXN0cmljdGlvbi1hdHRyMV8wXzAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvcmVzdHJpY3Rpb24tYXR0cjFfMF8wCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3Jlc3RyaWN0aW9uLWF0dHIxXzBfMC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3Jlc3RyaWN0aW9uLWF0dHIxXzBfMC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2RmMDAzZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvcmVzdHJpY3Rpb24tYXR0cjFfMF8wLmVycgpAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9yZXN0cmljdGlvbi1hdHRyMV8wLnhzZDo1OiBlbGVtZW50IGNvbXBsZXhUeXBlOiBTY2hlbWFzIHBhcnNlciBlcnJvciA6IGxvY2FsIGNvbXBsZXggdHlwZSwgYXR0cmlidXRlIHVzZSAnYmFyQSc6IFRoZSAnb3B0aW9uYWwnIGF0dHJpYnV0ZSB1c2UgaXMgaW5jb25zaXN0ZW50IHdpdGggdGhlIGNvcnJlc3BvbmRpbmcgJ3JlcXVpcmVkJyBhdHRyaWJ1dGUgdXNlIG9mIHRoZSBiYXNlIGNvbXBsZXggdHlwZSBkZWZpbml0aW9uICd7aHR0cDovL0ZPT310eXBlQScuCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3Jlc3RyaWN0aW9uLWVudW0tMV8xXzAgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3Jlc3RyaWN0aW9uLWVudW0tMV8xXzAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjhlMjZjZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvcmVzdHJpY3Rpb24tZW51bS0xXzFfMApAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9yZXN0cmljdGlvbi1lbnVtLTFfMC54bWwgZmFpbHMgdG8gdmFsaWRhdGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvcmVzdHJpY3Rpb24tZW51bS0xXzFfMC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3Jlc3RyaWN0aW9uLWVudW0tMV8xXzAuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA4NmQyZGUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3Jlc3RyaWN0aW9uLWVudW0tMV8xXzAuZXJyCkBAIC0wLDAgKzEsMiBAQAorLi90ZXN0L3NjaGVtYXMvcmVzdHJpY3Rpb24tZW51bS0xXzAueG1sOjc6IGVsZW1lbnQgZm9vOiBTY2hlbWFzIHZhbGlkaXR5IGVycm9yIDogRWxlbWVudCAnZm9vJzogW2ZhY2V0ICdlbnVtZXJhdGlvbiddIFRoZSB2YWx1ZSAnYycgaXMgbm90IGFuIGVsZW1lbnQgb2YgdGhlIHNldCB7J2EnLCAnYicsICdkJ30uCisuL3Rlc3Qvc2NoZW1hcy9yZXN0cmljdGlvbi1lbnVtLTFfMC54bWw6NzogZWxlbWVudCBmb286IFNjaGVtYXMgdmFsaWRpdHkgZXJyb3IgOiBFbGVtZW50ICdmb28nOiAnYycgaXMgbm90IGEgdmFsaWQgdmFsdWUgb2YgdGhlIGF0b21pYyB0eXBlICdiYXJUeXBlJy4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvcmVzdHJpY3Rpb24wXzBfMCBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvcmVzdHJpY3Rpb24wXzBfMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNmVmMmJjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9yZXN0cmljdGlvbjBfMF8wCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL3Jlc3RyaWN0aW9uMF8wLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvcmVzdHJpY3Rpb24wXzBfMC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3Jlc3RyaWN0aW9uMF8wXzAuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3Jlc3RyaWN0aW9uMF8wXzAuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3NjYy1uby14bWxuc18wXzAgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3NjYy1uby14bWxuc18wXzAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvc2NjLW5vLXhtbG5zXzBfMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9zY2Mtbm8teG1sbnNfMF8wLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvc2NjLW5vLXhtbG5zXzBfMC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWFkMmI2OAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvc2NjLW5vLXhtbG5zXzBfMC5lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvc2NjLW5vLXhtbG5zXzAueHNkOjc6IGVsZW1lbnQgYXR0cmlidXRlOiBTY2hlbWFzIHBhcnNlciBlcnJvciA6IEVsZW1lbnQgJ3todHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYX1hdHRyaWJ1dGUnLCBhdHRyaWJ1dGUgJ25hbWUnOiBUaGUgdmFsdWUgb2YgdGhlIGF0dHJpYnV0ZSBtdXN0IG5vdCBtYXRjaCAneG1sbnMnLgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9zY2Mtbm8teHNpXzBfMCBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvc2NjLW5vLXhzaV8wXzAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvc2NjLW5vLXhzaV8wXzAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvc2NjLW5vLXhzaV8wXzAuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9zY2Mtbm8teHNpXzBfMC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTA0ZTNlNAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvc2NjLW5vLXhzaV8wXzAuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL3NjYy1uby14c2lfMC54c2Q6NzogZWxlbWVudCBhdHRyaWJ1dGU6IFNjaGVtYXMgcGFyc2VyIGVycm9yIDogRWxlbWVudCAne2h0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hfWF0dHJpYnV0ZSc6IFRoZSB0YXJnZXQgbmFtZXNwYWNlIG11c3Qgbm90IG1hdGNoICdodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZScuCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3NlcS1kdWJsLWVsZW0xXzBfMCBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvc2VxLWR1YmwtZWxlbTFfMF8wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ2NmQzYTgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3NlcS1kdWJsLWVsZW0xXzBfMApAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9zZXEtZHVibC1lbGVtMV8wLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvc2VxLWR1YmwtZWxlbTFfMF8wLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvc2VxLWR1YmwtZWxlbTFfMF8wLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9zZXEtZHVibC1lbGVtMV8wXzAuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3NlcTBfMF8wIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9zZXEwXzBfMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNGM4NDMxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9zZXEwXzBfMApAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9zZXEwXzAueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9zZXEwXzBfMC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3NlcTBfMF8wLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9zZXEwXzBfMC5lcnIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvc3JjLWF0dHJpYnV0ZTFfMF8wIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9zcmMtYXR0cmlidXRlMV8wXzAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvc3JjLWF0dHJpYnV0ZTFfMF8wCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3NyYy1hdHRyaWJ1dGUxXzBfMC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3NyYy1hdHRyaWJ1dGUxXzBfMC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzY4ZDk3YwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvc3JjLWF0dHJpYnV0ZTFfMF8wLmVycgpAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9zcmMtYXR0cmlidXRlMV8wLnhzZDo5OiBlbGVtZW50IGF0dHJpYnV0ZTogU2NoZW1hcyBwYXJzZXIgZXJyb3IgOiBFbGVtZW50ICd7aHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWF9YXR0cmlidXRlJzogVGhlIGF0dHJpYnV0ZXMgJ2RlZmF1bHQnIGFuZCAnZml4ZWQnIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3NyYy1hdHRyaWJ1dGUyXzBfMCBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvc3JjLWF0dHJpYnV0ZTJfMF8wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3NyYy1hdHRyaWJ1dGUyXzBfMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9zcmMtYXR0cmlidXRlMl8wXzAuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9zcmMtYXR0cmlidXRlMl8wXzAuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFjNmRmNmYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3NyYy1hdHRyaWJ1dGUyXzBfMC5lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvc3JjLWF0dHJpYnV0ZTJfMC54c2Q6OTogZWxlbWVudCBhdHRyaWJ1dGU6IFNjaGVtYXMgcGFyc2VyIGVycm9yIDogRWxlbWVudCAne2h0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hfWF0dHJpYnV0ZSc6IFRoZSB2YWx1ZSBvZiB0aGUgYXR0cmlidXRlICd1c2UnIG11c3QgYmUgJ29wdGlvbmFsJyBpZiB0aGUgYXR0cmlidXRlICdkZWZhdWx0JyBpcyBwcmVzZW50LgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9zcmMtYXR0cmlidXRlMy0xXzBfMCBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvc3JjLWF0dHJpYnV0ZTMtMV8wXzAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvc3JjLWF0dHJpYnV0ZTMtMV8wXzAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvc3JjLWF0dHJpYnV0ZTMtMV8wXzAuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9zcmMtYXR0cmlidXRlMy0xXzBfMC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzM0NWIzYwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvc3JjLWF0dHJpYnV0ZTMtMV8wXzAuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL3NyYy1hdHRyaWJ1dGUzLTFfMC54c2Q6OTogZWxlbWVudCBhdHRyaWJ1dGU6IFNjaGVtYXMgcGFyc2VyIGVycm9yIDogRWxlbWVudCAne2h0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hfWF0dHJpYnV0ZSc6IFRoZSBhdHRyaWJ1dGUgJ25hbWUnIGlzIG5vdCBhbGxvd2VkLgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9zcmMtYXR0cmlidXRlMy0yLWZvcm1fMF8wIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9zcmMtYXR0cmlidXRlMy0yLWZvcm1fMF8wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3NyYy1hdHRyaWJ1dGUzLTItZm9ybV8wXzAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvc3JjLWF0dHJpYnV0ZTMtMi1mb3JtXzBfMC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3NyYy1hdHRyaWJ1dGUzLTItZm9ybV8wXzAuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFkMzY2N2IKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3NyYy1hdHRyaWJ1dGUzLTItZm9ybV8wXzAuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL3NyYy1hdHRyaWJ1dGUzLTItZm9ybV8wLnhzZDoxMDogZWxlbWVudCBhdHRyaWJ1dGU6IFNjaGVtYXMgcGFyc2VyIGVycm9yIDogRWxlbWVudCAne2h0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hfWF0dHJpYnV0ZSc6IFRoZSBhdHRyaWJ1dGUgJ2Zvcm0nIGlzIG5vdCBhbGxvd2VkLgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9zcmMtYXR0cmlidXRlMy0yLXN0XzBfMCBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvc3JjLWF0dHJpYnV0ZTMtMi1zdF8wXzAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvc3JjLWF0dHJpYnV0ZTMtMi1zdF8wXzAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvc3JjLWF0dHJpYnV0ZTMtMi1zdF8wXzAuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9zcmMtYXR0cmlidXRlMy0yLXN0XzBfMC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWU4NWUwYQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvc3JjLWF0dHJpYnV0ZTMtMi1zdF8wXzAuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL3NyYy1hdHRyaWJ1dGUzLTItc3RfMC54c2Q6MTE6IGVsZW1lbnQgc2ltcGxlVHlwZTogU2NoZW1hcyBwYXJzZXIgZXJyb3IgOiBFbGVtZW50ICd7aHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWF9YXR0cmlidXRlJzogVGhlIGNvbnRlbnQgaXMgbm90IHZhbGlkLiBFeHBlY3RlZCBpcyAoYW5ub3RhdGlvbj8pLgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9zcmMtYXR0cmlidXRlMy0yLXR5cGVfMF8wIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9zcmMtYXR0cmlidXRlMy0yLXR5cGVfMF8wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3NyYy1hdHRyaWJ1dGUzLTItdHlwZV8wXzAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvc3JjLWF0dHJpYnV0ZTMtMi10eXBlXzBfMC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3NyYy1hdHRyaWJ1dGUzLTItdHlwZV8wXzAuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUwMDE2ZDgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3NyYy1hdHRyaWJ1dGUzLTItdHlwZV8wXzAuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL3NyYy1hdHRyaWJ1dGUzLTItdHlwZV8wLnhzZDoxMDogZWxlbWVudCBhdHRyaWJ1dGU6IFNjaGVtYXMgcGFyc2VyIGVycm9yIDogRWxlbWVudCAne2h0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hfWF0dHJpYnV0ZSc6IFRoZSBhdHRyaWJ1dGUgJ3R5cGUnIGlzIG5vdCBhbGxvd2VkLgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9zcmMtYXR0cmlidXRlNF8wXzAgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3NyYy1hdHRyaWJ1dGU0XzBfMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9zcmMtYXR0cmlidXRlNF8wXzAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvc3JjLWF0dHJpYnV0ZTRfMF8wLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvc3JjLWF0dHJpYnV0ZTRfMF8wLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYWM2NzE4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9zcmMtYXR0cmlidXRlNF8wXzAuZXJyCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL3NyYy1hdHRyaWJ1dGU0XzAueHNkOjg6IGVsZW1lbnQgc2ltcGxlVHlwZTogU2NoZW1hcyBwYXJzZXIgZXJyb3IgOiBFbGVtZW50ICd7aHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWF9YXR0cmlidXRlJzogVGhlIGF0dHJpYnV0ZSAndHlwZScgYW5kIHRoZSA8c2ltcGxlVHlwZT4gY2hpbGQgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvc3JjLWVsZW1lbnQxXzBfMCBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvc3JjLWVsZW1lbnQxXzBfMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9zcmMtZWxlbWVudDFfMF8wCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3NyYy1lbGVtZW50MV8wXzAuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9zcmMtZWxlbWVudDFfMF8wLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZDhiMTk4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9zcmMtZWxlbWVudDFfMF8wLmVycgpAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy9zcmMtZWxlbWVudDFfMC54c2Q6NzogZWxlbWVudCBlbGVtZW50OiBTY2hlbWFzIHBhcnNlciBlcnJvciA6IEVsZW1lbnQgJ3todHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYX1lbGVtZW50JzogVGhlIGF0dHJpYnV0ZXMgJ2RlZmF1bHQnIGFuZCAnZml4ZWQnIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3NyYy1lbGVtZW50Mi0xXzBfMCBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvc3JjLWVsZW1lbnQyLTFfMF8wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3NyYy1lbGVtZW50Mi0xXzBfMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9zcmMtZWxlbWVudDItMV8wXzAuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9zcmMtZWxlbWVudDItMV8wXzAuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAxZDg5ZDYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3NyYy1lbGVtZW50Mi0xXzBfMC5lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvc3JjLWVsZW1lbnQyLTFfMC54c2Q6MTI6IGVsZW1lbnQgZWxlbWVudDogU2NoZW1hcyBwYXJzZXIgZXJyb3IgOiBFbGVtZW50ICd7aHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWF9ZWxlbWVudCc6IFRoZSBhdHRyaWJ1dGVzICdyZWYnIGFuZCAnbmFtZScgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvc3JjLWVsZW1lbnQyLTJfMF8wIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9zcmMtZWxlbWVudDItMl8wXzAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvc3JjLWVsZW1lbnQyLTJfMF8wCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3NyYy1lbGVtZW50Mi0yXzBfMC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3NyYy1lbGVtZW50Mi0yXzBfMC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTBjZDc5YQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvc3JjLWVsZW1lbnQyLTJfMF8wLmVycgpAQCAtMCwwICsxLDkgQEAKKy4vdGVzdC9zY2hlbWFzL3NyYy1lbGVtZW50Mi0yXzAueHNkOjE4OiBlbGVtZW50IGVsZW1lbnQ6IFNjaGVtYXMgcGFyc2VyIGVycm9yIDogRWxlbWVudCAne2h0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hfWVsZW1lbnQnLCBhdHRyaWJ1dGUgJ21heE9jY3Vycyc6IFRoZSB2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAxLgorLi90ZXN0L3NjaGVtYXMvc3JjLWVsZW1lbnQyLTJfMC54c2Q6MjM6IGVsZW1lbnQgY29tcGxleFR5cGU6IFNjaGVtYXMgcGFyc2VyIGVycm9yIDogRWxlbWVudCAne2h0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hfWVsZW1lbnQnOiBUaGUgY29udGVudCBpcyBub3QgdmFsaWQuIEV4cGVjdGVkIGlzIChhbm5vdGF0aW9uPykuCisuL3Rlc3Qvc2NoZW1hcy9zcmMtZWxlbWVudDItMl8wLnhzZDoyOTogZWxlbWVudCBzaW1wbGVUeXBlOiBTY2hlbWFzIHBhcnNlciBlcnJvciA6IEVsZW1lbnQgJ3todHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYX1lbGVtZW50JzogVGhlIGNvbnRlbnQgaXMgbm90IHZhbGlkLiBFeHBlY3RlZCBpcyAoYW5ub3RhdGlvbj8pLgorLi90ZXN0L3NjaGVtYXMvc3JjLWVsZW1lbnQyLTJfMC54c2Q6MzY6IGVsZW1lbnQgZWxlbWVudDogU2NoZW1hcyBwYXJzZXIgZXJyb3IgOiBFbGVtZW50ICd7aHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWF9ZWxlbWVudCcsIGF0dHJpYnV0ZSAndHlwZSc6IE9ubHkgdGhlIGF0dHJpYnV0ZXMgJ21pbk9jY3VycycsICdtYXhPY2N1cnMnIGFuZCAnaWQnIGFyZSBhbGxvd2VkIGluIGFkZGl0aW9uIHRvICdyZWYnLgorLi90ZXN0L3NjaGVtYXMvc3JjLWVsZW1lbnQyLTJfMC54c2Q6Mzc6IGVsZW1lbnQgZWxlbWVudDogU2NoZW1hcyBwYXJzZXIgZXJyb3IgOiBFbGVtZW50ICd7aHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWF9ZWxlbWVudCcsIGF0dHJpYnV0ZSAnbmlsbGFibGUnOiBPbmx5IHRoZSBhdHRyaWJ1dGVzICdtaW5PY2N1cnMnLCAnbWF4T2NjdXJzJyBhbmQgJ2lkJyBhcmUgYWxsb3dlZCBpbiBhZGRpdGlvbiB0byAncmVmJy4KKy4vdGVzdC9zY2hlbWFzL3NyYy1lbGVtZW50Mi0yXzAueHNkOjM4OiBlbGVtZW50IGVsZW1lbnQ6IFNjaGVtYXMgcGFyc2VyIGVycm9yIDogRWxlbWVudCAne2h0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hfWVsZW1lbnQnLCBhdHRyaWJ1dGUgJ2RlZmF1bHQnOiBPbmx5IHRoZSBhdHRyaWJ1dGVzICdtaW5PY2N1cnMnLCAnbWF4T2NjdXJzJyBhbmQgJ2lkJyBhcmUgYWxsb3dlZCBpbiBhZGRpdGlvbiB0byAncmVmJy4KKy4vdGVzdC9zY2hlbWFzL3NyYy1lbGVtZW50Mi0yXzAueHNkOjM5OiBlbGVtZW50IGVsZW1lbnQ6IFNjaGVtYXMgcGFyc2VyIGVycm9yIDogRWxlbWVudCAne2h0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hfWVsZW1lbnQnLCBhdHRyaWJ1dGUgJ2ZpeGVkJzogT25seSB0aGUgYXR0cmlidXRlcyAnbWluT2NjdXJzJywgJ21heE9jY3VycycgYW5kICdpZCcgYXJlIGFsbG93ZWQgaW4gYWRkaXRpb24gdG8gJ3JlZicuCisuL3Rlc3Qvc2NoZW1hcy9zcmMtZWxlbWVudDItMl8wLnhzZDo0MDogZWxlbWVudCBlbGVtZW50OiBTY2hlbWFzIHBhcnNlciBlcnJvciA6IEVsZW1lbnQgJ3todHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYX1lbGVtZW50JywgYXR0cmlidXRlICdmb3JtJzogT25seSB0aGUgYXR0cmlidXRlcyAnbWluT2NjdXJzJywgJ21heE9jY3VycycgYW5kICdpZCcgYXJlIGFsbG93ZWQgaW4gYWRkaXRpb24gdG8gJ3JlZicuCisuL3Rlc3Qvc2NoZW1hcy9zcmMtZWxlbWVudDItMl8wLnhzZDo0MTogZWxlbWVudCBlbGVtZW50OiBTY2hlbWFzIHBhcnNlciBlcnJvciA6IEVsZW1lbnQgJ3todHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYX1lbGVtZW50JywgYXR0cmlidXRlICdibG9jayc6IE9ubHkgdGhlIGF0dHJpYnV0ZXMgJ21pbk9jY3VycycsICdtYXhPY2N1cnMnIGFuZCAnaWQnIGFyZSBhbGxvd2VkIGluIGFkZGl0aW9uIHRvICdyZWYnLgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9zcmMtZWxlbWVudDNfMF8wIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy9zcmMtZWxlbWVudDNfMF8wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3NyYy1lbGVtZW50M18wXzAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvc3JjLWVsZW1lbnQzXzBfMC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3NyYy1lbGVtZW50M18wXzAuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI4YmQ4MTcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3NyYy1lbGVtZW50M18wXzAuZXJyCkBAIC0wLDAgKzEsMiBAQAorLi90ZXN0L3NjaGVtYXMvc3JjLWVsZW1lbnQzXzAueHNkOjg6IGVsZW1lbnQgY29tcGxleFR5cGU6IFNjaGVtYXMgcGFyc2VyIGVycm9yIDogRWxlbWVudCAne2h0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hfWVsZW1lbnQnOiBUaGUgYXR0cmlidXRlICd0eXBlJyBhbmQgdGhlIDxjb21wbGV4VHlwZT4gY2hpbGQgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4KKy4vdGVzdC9zY2hlbWFzL3NyYy1lbGVtZW50M18wLnhzZDoxNjogZWxlbWVudCBzaW1wbGVUeXBlOiBTY2hlbWFzIHBhcnNlciBlcnJvciA6IEVsZW1lbnQgJ3todHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYX1lbGVtZW50JzogVGhlIGF0dHJpYnV0ZSAndHlwZScgYW5kIHRoZSA8c2ltcGxlVHlwZT4gY2hpbGQgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvc3Vic3QtZ3JvdXAtMV8wXzEgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3N1YnN0LWdyb3VwLTFfMF8xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA3NzVjZGQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3N1YnN0LWdyb3VwLTFfMF8xCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL3N1YnN0LWdyb3VwLTFfMS54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3N1YnN0LWdyb3VwLTFfMF8xLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvc3Vic3QtZ3JvdXAtMV8wXzEuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3N1YnN0LWdyb3VwLTFfMF8xLmVycgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy91bmlvbjJfMV8xIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy91bmlvbjJfMV8xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBkNGVlMTUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3VuaW9uMl8xXzEKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvdW5pb24yXzEueG1sIGZhaWxzIHRvIHZhbGlkYXRlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3VuaW9uMl8xXzEuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy91bmlvbjJfMV8xLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNjZhZDU5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy91bmlvbjJfMV8xLmVycgpAQCAtMCwwICsxLDMgQEAKKy4vdGVzdC9zY2hlbWFzL3VuaW9uMl8xLnhtbDo0OiBlbGVtZW50IEVMRU1FTlRTOiBTY2hlbWFzIHZhbGlkaXR5IGVycm9yIDogRWxlbWVudCAne3Vybjp0ZXN0OmZvb31FTEVNRU5UUyc6ICcKKwk1CisnIGlzIG5vdCBhIHZhbGlkIHZhbHVlIG9mIHRoZSBsb2NhbCB1bmlvbiB0eXBlLgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy91bmlvbl8wXzAgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3VuaW9uXzBfMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZGJjODYxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy91bmlvbl8wXzAKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvdW5pb25fMF8wLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvdW5pb25fMF8wLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvdW5pb25fMF8wLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy91bmlvbl8wXzAuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3Zkdi1maXJzdDBfMF8wIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy92ZHYtZmlyc3QwXzBfMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZDM5ZWNiCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy92ZHYtZmlyc3QwXzBfMApAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy92ZHYtZmlyc3QwXzAueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy92ZHYtZmlyc3QwXzBfMC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3Zkdi1maXJzdDBfMF8wLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy92ZHYtZmlyc3QwXzBfMC5lcnIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvdmR2LWZpcnN0MV8wXzAgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3Zkdi1maXJzdDFfMF8wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU0ZjRiMTUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3Zkdi1maXJzdDFfMF8wCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL3Zkdi1maXJzdDFfMC54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3Zkdi1maXJzdDFfMF8wLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvdmR2LWZpcnN0MV8wXzAuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3Zkdi1maXJzdDFfMF8wLmVycgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy92ZHYtZmlyc3QyXzBfMCBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvdmR2LWZpcnN0Ml8wXzAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzQzMGVkYQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvdmR2LWZpcnN0Ml8wXzAKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvdmR2LWZpcnN0Ml8wLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvdmR2LWZpcnN0Ml8wXzAuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy92ZHYtZmlyc3QyXzBfMC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvdmR2LWZpcnN0Ml8wXzAuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3Zkdi1maXJzdDNfMF8wIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy92ZHYtZmlyc3QzXzBfMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NDNlM2UxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy92ZHYtZmlyc3QzXzBfMApAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy92ZHYtZmlyc3QzXzAueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy92ZHYtZmlyc3QzXzBfMC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3Zkdi1maXJzdDNfMF8wLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy92ZHYtZmlyc3QzXzBfMC5lcnIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvdmR2LWZpcnN0NF8wXzAgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3Zkdi1maXJzdDRfMF8wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJmYTliMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3Zkdi1maXJzdDRfMF8wCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL3Zkdi1maXJzdDRfMC54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3Zkdi1maXJzdDRfMF8wLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvdmR2LWZpcnN0NF8wXzAuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3Zkdi1maXJzdDRfMF8wLmVycgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy92ZHYtZmlyc3Q0XzBfMSBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvdmR2LWZpcnN0NF8wXzEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTlhN2FjMQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvdmR2LWZpcnN0NF8wXzEKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvdmR2LWZpcnN0NF8xLnhtbCBmYWlscyB0byB2YWxpZGF0ZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy92ZHYtZmlyc3Q0XzBfMS5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3Zkdi1maXJzdDRfMF8xLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYjk2NGIyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy92ZHYtZmlyc3Q0XzBfMS5lcnIKQEAgLTAsMCArMSBAQAorLi90ZXN0L3NjaGVtYXMvdmR2LWZpcnN0NF8xLnhtbDoxNDogZWxlbWVudCBib3JuOiBTY2hlbWFzIHZhbGlkaXR5IGVycm9yIDogRWxlbWVudCAnYm9ybic6ICcxOTZUNi0wOC0yMicgaXMgbm90IGEgdmFsaWQgdmFsdWUgb2YgdGhlIGF0b21pYyB0eXBlICdkYXRlJy4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvdmR2LWZpcnN0NF8wXzIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3Zkdi1maXJzdDRfMF8yCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZiNTliNjcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3Zkdi1maXJzdDRfMF8yCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL3Zkdi1maXJzdDRfMi54bWwgZmFpbHMgdG8gdmFsaWRhdGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvdmR2LWZpcnN0NF8wXzIuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy92ZHYtZmlyc3Q0XzBfMi5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmM2ZTUyZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMvdmR2LWZpcnN0NF8wXzIuZXJyCkBAIC0wLDAgKzEsMiBAQAorLi90ZXN0L3NjaGVtYXMvdmR2LWZpcnN0NF8yLnhtbDoyNDogZWxlbWVudCBib3JuOiBTY2hlbWFzIHZhbGlkaXR5IGVycm9yIDogRWxlbWVudCAnYm9ybic6IFtmYWNldCAncGF0dGVybiddIFRoZSB2YWx1ZSAnMjAwMC0wMS0yMFonIGlzIG5vdCBhY2NlcHRlZCBieSB0aGUgcGF0dGVybiAnW146Wl0qJy4KKy4vdGVzdC9zY2hlbWFzL3Zkdi1maXJzdDRfMi54bWw6MjQ6IGVsZW1lbnQgYm9ybjogU2NoZW1hcyB2YWxpZGl0eSBlcnJvciA6IEVsZW1lbnQgJ2Jvcm4nOiAnMjAwMC0wMS0yMFonIGlzIG5vdCBhIHZhbGlkIHZhbHVlIG9mIHRoZSBhdG9taWMgdHlwZSAnZGF0ZScuCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3Zkdi1maXJzdDVfMF8wIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy92ZHYtZmlyc3Q1XzBfMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZjA5MzE1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy92ZHYtZmlyc3Q1XzBfMApAQCAtMCwwICsxIEBACisuL3Rlc3Qvc2NoZW1hcy92ZHYtZmlyc3Q1XzAueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy92ZHYtZmlyc3Q1XzBfMC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3Zkdi1maXJzdDVfMF8wLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy92ZHYtZmlyc3Q1XzBfMC5lcnIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMveHNkLWxpc3QtaXRlbVR5cGVfMF8wIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy94c2QtbGlzdC1pdGVtVHlwZV8wXzAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWVjZDg4NQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMveHNkLWxpc3QtaXRlbVR5cGVfMF8wCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL3hzZC1saXN0LWl0ZW1UeXBlXzAueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy94c2QtbGlzdC1pdGVtVHlwZV8wXzAuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy94c2QtbGlzdC1pdGVtVHlwZV8wXzAuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3hzZC1saXN0LWl0ZW1UeXBlXzBfMC5lcnIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMveHNkLXNpbXBsZVR5cGUtdmFyaWV0aWVzXzBfMCBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMveHNkLXNpbXBsZVR5cGUtdmFyaWV0aWVzXzBfMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNjY1MDZhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hcy94c2Qtc2ltcGxlVHlwZS12YXJpZXRpZXNfMF8wCkBAIC0wLDAgKzEgQEAKKy4vdGVzdC9zY2hlbWFzL3hzZC1zaW1wbGVUeXBlLXZhcmlldGllc18wLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXMveHNkLXNpbXBsZVR5cGUtdmFyaWV0aWVzXzBfMC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3hzZC1zaW1wbGVUeXBlLXZhcmlldGllc18wXzAuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWFzL3hzZC1zaW1wbGVUeXBlLXZhcmlldGllc18wXzAuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b24xMF8wIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uMTBfMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YWFlNGIxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uMTBfMApAQCAtMCwwICsxLDQgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPEFBQT4KKyAgICAgPEJCQi8+Cis8L0FBQT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjEwXzAuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uMTBfMC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTI0ZWNkOAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjEwXzAuZXJyCkBAIC0wLDAgKzEsNSBAQAorUGF0dGVybjogT3BlbiBtb2RlbAorL0FBQSBsaW5lIDE6ICBDQ0MgZWxlbWVudCBpcyBub3QgcHJlc2VudAorUGF0dGVybjogQ2xvc2VkIG1vZGVsCisvQUFBIGxpbmUgMTogIENDQyBlbGVtZW50IGlzIG5vdCBwcmVzZW50CisuL3Rlc3Qvc2NoZW1hdHJvbi96dm9uMTBfMC54bWwgZmFpbHMgdG8gdmFsaWRhdGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjEwXzEgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b24xMF8xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ4MjM1M2EKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b24xMF8xCkBAIC0wLDAgKzEsNSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8QUFBPgorICAgICA8QkJCLz4KKyAgICAgPERERC8+Cis8L0FBQT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjEwXzEuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uMTBfMS5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWJjMzYxYwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjEwXzEuZXJyCkBAIC0wLDAgKzEsNiBAQAorUGF0dGVybjogT3BlbiBtb2RlbAorL0FBQSBsaW5lIDE6ICBDQ0MgZWxlbWVudCBpcyBub3QgcHJlc2VudAorUGF0dGVybjogQ2xvc2VkIG1vZGVsCisvQUFBIGxpbmUgMTogIENDQyBlbGVtZW50IGlzIG5vdCBwcmVzZW50CisvQUFBIGxpbmUgMTogVGhlcmUgaXMgYW4gZXh0cmEgZWxlbWVudAorLi90ZXN0L3NjaGVtYXRyb24venZvbjEwXzEueG1sIGZhaWxzIHRvIHZhbGlkYXRlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b24xMV8wIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uMTFfMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40OWM4MDA1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uMTFfMApAQCAtMCwwICsxLDQgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPEFBQT4KKyAgICAgPEJCQiBhYWE9IkEiIGJiYj0iQiIvPgorPC9BQUE+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b24xMV8wLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjExXzAuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFiNGFhNzQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b24xMV8wLmVycgpAQCAtMCwwICsxLDIgQEAKK1BhdHRlcm46IEF0dHJpYnV0ZXMgcHJlc2VudAorLi90ZXN0L3NjaGVtYXRyb24venZvbjExXzAueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uMTFfMSBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjExXzEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTUzMjhlMAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjExXzEKQEAgLTAsMCArMSw0IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxBQUE+CisgICAgIDxCQkIgYmJiPSJCIi8+Cis8L0FBQT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjExXzEuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uMTFfMS5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzFhZTI0MwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjExXzEuZXJyCkBAIC0wLDAgKzEsMyBAQAorUGF0dGVybjogQXR0cmlidXRlcyBwcmVzZW50CisvQUFBL0JCQiBsaW5lIDI6IFRoZSBlbGVtZW50IG11c3Qgbm90IGhhdmUgYW4gaXNvbGF0ZWQgYmJiIGF0dHJpYnV0ZQorLi90ZXN0L3NjaGVtYXRyb24venZvbjExXzEueG1sIGZhaWxzIHRvIHZhbGlkYXRlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b24xMV8yIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uMTFfMgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NzNhN2FmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uMTFfMgpAQCAtMCwwICsxLDQgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPEFBQT4KKyAgICAgPEJCQiBhYWE9IkEiLz4KKzwvQUFBPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uMTFfMi5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b24xMV8yLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNTExN2Y3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uMTFfMi5lcnIKQEAgLTAsMCArMSwzIEBACitQYXR0ZXJuOiBBdHRyaWJ1dGVzIHByZXNlbnQKKy9BQUEvQkJCIGxpbmUgMjogVGhlIGVsZW1lbnQgbXVzdCBub3QgaGF2ZSBhbiBpc29sYXRlZCBhYWEgYXR0cmlidXRlCisuL3Rlc3Qvc2NoZW1hdHJvbi96dm9uMTFfMi54bWwgZmFpbHMgdG8gdmFsaWRhdGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjExXzMgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b24xMV8zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlhYWU0YjEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b24xMV8zCkBAIC0wLDAgKzEsNCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8QUFBPgorICAgICA8QkJCLz4KKzwvQUFBPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uMTFfMy5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b24xMV8zLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xODUxN2U1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uMTFfMy5lcnIKQEAgLTAsMCArMSwyIEBACitQYXR0ZXJuOiBBdHRyaWJ1dGVzIHByZXNlbnQKKy4vdGVzdC9zY2hlbWF0cm9uL3p2b24xMV8zLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjEyXzAgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b24xMl8wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcyMjA4MDQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b24xMl8wCkBAIC0wLDAgKzEsNCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8QUFBPgorICAgICA8QkJCIGJiYj0iQyIvPgorPC9BQUE+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b24xMl8wLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjEyXzAuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM3ZTllZDIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b24xMl8wLmVycgpAQCAtMCwwICsxLDMgQEAKK1BhdHRlcm46IE51bWJlciBvZiBjaGFyYWN0ZXJzIGluIGFuIGFiYnJldmlhdGlvbgorL0FBQS9CQkIgbGluZSAyOiBUaGVyZSBpcyBub3QgZW5vdWdoIGxldHRlcnMgaW4gdGhlIGFiYnJldmlhdGlvbgorLi90ZXN0L3NjaGVtYXRyb24venZvbjEyXzAueG1sIGZhaWxzIHRvIHZhbGlkYXRlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b24xMl8xIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uMTJfMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNjJkZTM0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uMTJfMQpAQCAtMCwwICsxLDQgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPEFBQT4KKyAgICAgPEJCQiBiYmI9IkNaIi8+Cis8L0FBQT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjEyXzEuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uMTJfMS5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDg2YzBiZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjEyXzEuZXJyCkBAIC0wLDAgKzEsMiBAQAorUGF0dGVybjogTnVtYmVyIG9mIGNoYXJhY3RlcnMgaW4gYW4gYWJicmV2aWF0aW9uCisuL3Rlc3Qvc2NoZW1hdHJvbi96dm9uMTJfMS54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b24xMl8yIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uMTJfMgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYmJmN2M3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uMTJfMgpAQCAtMCwwICsxLDQgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPEFBQT4KKyAgICAgPEJCQiBiYmI9IkNaQ1oiLz4KKzwvQUFBPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uMTJfMi5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b24xMl8yLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZWRhZjMwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uMTJfMi5lcnIKQEAgLTAsMCArMSwzIEBACitQYXR0ZXJuOiBOdW1iZXIgb2YgY2hhcmFjdGVycyBpbiBhbiBhYmJyZXZpYXRpb24KKy9BQUEvQkJCIGxpbmUgMjogVGhlcmUgaXMgdG9vIG11Y2ggbGV0dGVycyBpbiB0aGUgYWJicmV2aWF0aW9uCisuL3Rlc3Qvc2NoZW1hdHJvbi96dm9uMTJfMi54bWwgZmFpbHMgdG8gdmFsaWRhdGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjEzXzAgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b24xM18wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUxMjk1YzMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b24xM18wCkBAIC0wLDAgKzEsNyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8VG90YWw+CisgICAgIDxQZXJjZW50PjIwPC9QZXJjZW50PgorICAgICA8UGVyY2VudD4zMDwvUGVyY2VudD4KKyAgICAgPFBlcmNlbnQ+MTA8L1BlcmNlbnQ+CisgICAgIDxQZXJjZW50PjUwPC9QZXJjZW50PiAgICAgICAgICAKKzwvVG90YWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b24xM18wLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjEzXzAuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVkOThjYjMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b24xM18wLmVycgpAQCAtMCwwICsxLDMgQEAKK1BhdHRlcm46IFN1bSBlcXVhbHMgMTAwJS4KKy9Ub3RhbCBsaW5lIDE6IFRoZSB2YWx1ZXMgZG8gbm90IHN1bSB0byAxMDAlLiAKKy4vdGVzdC9zY2hlbWF0cm9uL3p2b24xM18wLnhtbCBmYWlscyB0byB2YWxpZGF0ZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uMTNfMSBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjEzXzEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDAxZTkxOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjEzXzEKQEAgLTAsMCArMSw2IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxUb3RhbD4KKyAgICAgPFBlcmNlbnQ+MjA8L1BlcmNlbnQ+CisgICAgIDxQZXJjZW50PjEwPC9QZXJjZW50PgorICAgICA8UGVyY2VudD41MDwvUGVyY2VudD4gICAgICAgICAgCis8L1RvdGFsPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uMTNfMS5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b24xM18xLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMGYwMmMyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uMTNfMS5lcnIKQEAgLTAsMCArMSwzIEBACitQYXR0ZXJuOiBTdW0gZXF1YWxzIDEwMCUuCisvVG90YWwgbGluZSAxOiBUaGUgdmFsdWVzIGRvIG5vdCBzdW0gdG8gMTAwJS4gCisuL3Rlc3Qvc2NoZW1hdHJvbi96dm9uMTNfMS54bWwgZmFpbHMgdG8gdmFsaWRhdGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjEzXzIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b24xM18yCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNiMWRmMmUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b24xM18yCkBAIC0wLDAgKzEsNiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8VG90YWw+CisgICAgIDxQZXJjZW50PjIwPC9QZXJjZW50PgorICAgICA8UGVyY2VudD4zMDwvUGVyY2VudD4KKyAgICAgPFBlcmNlbnQ+NTA8L1BlcmNlbnQ+ICAgICAgICAgIAorPC9Ub3RhbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjEzXzIuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uMTNfMi5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGZhYjYxZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjEzXzIuZXJyCkBAIC0wLDAgKzEsMiBAQAorUGF0dGVybjogU3VtIGVxdWFscyAxMDAlLgorLi90ZXN0L3NjaGVtYXRyb24venZvbjEzXzIueG1sIHZhbGlkYXRlcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uMTRfMCBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjE0XzAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzcyZTBjMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjE0XzAKQEAgLTAsMCArMSwxMyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8QUFBPgorICAgICA8QkJCPgorICAgICAgICAgIDxDQ0MvPgorICAgICA8L0JCQj4KKyAgICAgPENDQy8+CisgICAgIDxEREQ+CisgICAgICAgICAgPENDQy8+CisgICAgICAgICAgPEVFRT4KKyAgICAgICAgICAgICAgIDxDQ0MvPgorICAgICAgICAgIDwvRUVFPgorICAgICA8L0RERD4KKzwvQUFBPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uMTRfMC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b24xNF8wLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MDE1NWRhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uMTRfMC5lcnIKQEAgLTAsMCArMSw0IEBACitQYXR0ZXJuOiBhIGNoaWxkIG9mIHNlbGVjdGVkIGVsZW1lbnRzCisvQUFBL0NDQyBsaW5lIDU6IEVsZW1lbnQgQ0NDIG11c3Qgbm90IGJlIGEgY2hpbGQgb2YgZWxlbWVudCBBQUEgCisvQUFBL0RERC9FRUUvQ0NDIGxpbmUgOTogRWxlbWVudCBDQ0MgbXVzdCBub3QgYmUgYSBjaGlsZCBvZiBlbGVtZW50IEVFRSAKKy4vdGVzdC9zY2hlbWF0cm9uL3p2b24xNF8wLnhtbCBmYWlscyB0byB2YWxpZGF0ZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uMTVfMCBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjE1XzAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTY1MDBmZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjE1XzAKQEAgLTAsMCArMSw1IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxBQUEgbmFtZT0iYWFhIj4KKzxCQkIgaWQ9ImJiYiIvPgorPENDQyBjb2xvcj0iY2NjIi8+Cis8L0FBQT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjE1XzAuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uMTVfMC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTIzNDg4OQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjE1XzAuZXJyCkBAIC0wLDAgKzEsNCBAQAorUGF0dGVybjogaWQgaXMgdGhlIG9ubHkgcGVybWl0ZWQgYXR0cmlidXRlIG5hbWUKKy9BQUEgbGluZSAxOiBBdHRyaWJ1dGUgbmFtZSBpcyBmb3JiaWRkZW4gaW4gZWxlbWVudCBBQUEgCisvQUFBL0NDQyBsaW5lIDM6IEF0dHJpYnV0ZSBjb2xvciBpcyBmb3JiaWRkZW4gaW4gZWxlbWVudCBDQ0MgCisuL3Rlc3Qvc2NoZW1hdHJvbi96dm9uMTVfMC54bWwgZmFpbHMgdG8gdmFsaWRhdGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjFfMCBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjFfMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YWFlNGIxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uMV8wCkBAIC0wLDAgKzEsNCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8QUFBPgorICAgICA8QkJCLz4KKzwvQUFBPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uMV8wLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjFfMC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGQ0MjE4NAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjFfMC5lcnIKQEAgLTAsMCArMSw4IEBACitQYXR0ZXJuOiBQcmludCBib3RoIGNhc2VzCisvQUFBIGxpbmUgMTogQkJCIGVsZW1lbnQgaXMgcHJlc2VudC4KKy9BQUEgbGluZSAxOiBBQUEgbWlzc2VzIGF0dHJpYnV0ZSBuYW1lLgorUGF0dGVybjogUHJpbnQgcG9zaXRpdmUgcmVzdWx0IG9ubHkKKy9BQUEgbGluZSAxOiBCQkIgZWxlbWVudCBpcyBwcmVzZW50LgorUGF0dGVybjogUHJpbnQgbmVnYXRpdmUgcmVzdWx0IG9ubHkKKy9BQUEgbGluZSAxOiBBQUEgbWlzc2VzIGF0dHJpYnV0ZSBuYW1lLgorLi90ZXN0L3NjaGVtYXRyb24venZvbjFfMC54bWwgZmFpbHMgdG8gdmFsaWRhdGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjFfMSBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjFfMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYTA2OTUzCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uMV8xCkBAIC0wLDAgKzEsNCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8QUFBPgorICAgICA8Q0NDLz4KKzwvQUFBPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uMV8xLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjFfMS5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzBlZTg3YQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjFfMS5lcnIKQEAgLTAsMCArMSw4IEBACitQYXR0ZXJuOiBQcmludCBib3RoIGNhc2VzCisvQUFBIGxpbmUgMTogQkJCIGVsZW1lbnQgaXMgbWlzc2luZy4KKy9BQUEgbGluZSAxOiBBQUEgbWlzc2VzIGF0dHJpYnV0ZSBuYW1lLgorUGF0dGVybjogUHJpbnQgcG9zaXRpdmUgcmVzdWx0IG9ubHkKK1BhdHRlcm46IFByaW50IG5lZ2F0aXZlIHJlc3VsdCBvbmx5CisvQUFBIGxpbmUgMTogQkJCIGVsZW1lbnQgaXMgbWlzc2luZy4KKy9BQUEgbGluZSAxOiBBQUEgbWlzc2VzIGF0dHJpYnV0ZSBuYW1lLgorLi90ZXN0L3NjaGVtYXRyb24venZvbjFfMS54bWwgZmFpbHMgdG8gdmFsaWRhdGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjJfMCBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjJfMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42OTViYzhmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uMl8wCkBAIC0wLDAgKzEsNSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8QUFBPgorICAgICA8QkJCPmJiYmI8L0JCQj4KKyAgICAgPENDQz5jY2NjPC9DQ0M+Cis8L0FBQT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjJfMC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b24yXzAuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY0ZTRhN2YKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b24yXzAuZXJyCkBAIC0wLDAgKzEsMiBAQAorUGF0dGVybjogQ2hhcmFjdGVyIEAgZm9yYmlkZGVuCisuL3Rlc3Qvc2NoZW1hdHJvbi96dm9uMl8wLnhtbCB2YWxpZGF0ZXMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjJfMSBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjJfMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYWYyY2QwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uMl8xCkBAIC0wLDAgKzEsNSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8QUFBPgorICAgICA8QkJCPmJiYmJAYmJiLmNvbTwvQkJCPgorICAgICA8Q0NDPmNjY0BjY2MuY29tPC9DQ0M+Cis8L0FBQT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjJfMS5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b24yXzEuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI4ZjNlOTkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b24yXzEuZXJyCkBAIC0wLDAgKzEsNSBAQAorUGF0dGVybjogQ2hhcmFjdGVyIEAgZm9yYmlkZGVuCisvQUFBIGxpbmUgMTogVGV4dCBpbiBlbGVtZW50IEFBQSBtdXN0IG5vdCBjb250YWluIGNoYXJhY3RlciBAIAorL0FBQS9CQkIgbGluZSAyOiBUZXh0IGluIGVsZW1lbnQgQkJCIG11c3Qgbm90IGNvbnRhaW4gY2hhcmFjdGVyIEAgCisvQUFBL0NDQyBsaW5lIDM6IFRleHQgaW4gZWxlbWVudCBDQ0MgbXVzdCBub3QgY29udGFpbiBjaGFyYWN0ZXIgQCAKKy4vdGVzdC9zY2hlbWF0cm9uL3p2b24yXzEueG1sIGZhaWxzIHRvIHZhbGlkYXRlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b24yXzIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b24yXzIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTg1Y2YwYwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjJfMgpAQCAtMCwwICsxLDYgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPEFBQT4KKyAgICAgPEJCQj5iYmJiPC9CQkI+CisgICAgIDxDQ0M+Y2NjYzwvQ0NDPgorICAgICBhYWFAYWFhLm5ldAorPC9BQUE+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b24yXzIuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uMl8yLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MGRjN2NhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uMl8yLmVycgpAQCAtMCwwICsxLDMgQEAKK1BhdHRlcm46IENoYXJhY3RlciBAIGZvcmJpZGRlbgorL0FBQSBsaW5lIDE6IFRleHQgaW4gZWxlbWVudCBBQUEgbXVzdCBub3QgY29udGFpbiBjaGFyYWN0ZXIgQCAKKy4vdGVzdC9zY2hlbWF0cm9uL3p2b24yXzIueG1sIGZhaWxzIHRvIHZhbGlkYXRlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b24zXzAgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b24zXzAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYThhNmVkNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjNfMApAQCAtMCwwICsxLDkgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPEFBQT4KKyAgICAgPEJCQj4KKyAgICAgICAgICA8Q0NDLz4KKyAgICAgICAgICA8Q0NDLz4KKyAgICAgPC9CQkI+CisgICAgIDxDQ0MgbmFtZT0iYzEiLz4KKyAgICAgPENDQyBuYW1lPSJjMiIvPgorPC9BQUE+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b24zXzAuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uM18wLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MTllNzI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uM18wLmVycgpAQCAtMCwwICsxLDYgQEAKK1BhdHRlcm46IEF0dHJpYnV0ZSB0ZXN0CisvQUFBL0JCQi9DQ0NbMV0gbGluZSAzOiBhdHRyaWJ1dGUgbmFtZSBpcyBub3QgcHJlc2VudAorL0FBQS9CQkIvQ0NDWzJdIGxpbmUgNDogYXR0cmlidXRlIG5hbWUgaXMgbm90IHByZXNlbnQKKy9BQUEvQ0NDWzFdIGxpbmUgNjogYXR0cmlidXRlIG5hbWUgaXMgcHJlc2VudAorL0FBQS9DQ0NbMl0gbGluZSA3OiBhdHRyaWJ1dGUgbmFtZSBpcyBwcmVzZW50CisuL3Rlc3Qvc2NoZW1hdHJvbi96dm9uM18wLnhtbCBmYWlscyB0byB2YWxpZGF0ZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uNF8wIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uNF8wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIxZTY5NGUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b240XzAKQEAgLTAsMCArMSw3IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxBQUE+CisgICAgIDxCQkI+CisgICAgICAgICAgPENDQy8+CisgICAgICAgICAgPENDQy8+CisgICAgIDwvQkJCPgorPC9BQUE+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b240XzAuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uNF8wLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YWE2YjJiCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uNF8wLmVycgpAQCAtMCwwICsxLDMgQEAKK1BhdHRlcm46IFJvb3QgdGVzdAorL0FBQSBsaW5lIDE6IFJvb3QgZWxlbWVudCBpcyBBQUEKKy4vdGVzdC9zY2hlbWF0cm9uL3p2b240XzAueG1sIGZhaWxzIHRvIHZhbGlkYXRlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b240XzEgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b240XzEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmIxZmFjYwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjRfMQpAQCAtMCwwICsxLDcgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPFhYWD4KKyAgICAgPEJCQj4KKyAgICAgICAgICA8Q0NDLz4KKyAgICAgICAgICA8Q0NDLz4KKyAgICAgPC9CQkI+Cis8L1hYWD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjRfMS5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b240XzEuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRhZDMyNGYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b240XzEuZXJyCkBAIC0wLDAgKzEsMyBAQAorUGF0dGVybjogUm9vdCB0ZXN0CisvWFhYIGxpbmUgMTogUm9vdCBlbGVtZW50IGlzIFhYWCwgbm90IEFBQSAKKy4vdGVzdC9zY2hlbWF0cm9uL3p2b240XzEueG1sIGZhaWxzIHRvIHZhbGlkYXRlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b241XzAgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b241XzAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDc2MzUwNQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjVfMApAQCAtMCwwICsxLDYgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPEFBQT4KKyAgICAgPEJCQj4KKyAgICAgICAgICA8Q0NDLz4KKyAgICAgPC9CQkI+Cis8L0FBQT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjVfMC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b241XzAuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkxZWY1ZjIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b241XzAuZXJyCkBAIC0wLDAgKzEsNyBAQAorUGF0dGVybjogU2VsZWN0IGVtcHR5IGVsZW1lbnRzIENDQworL0FBQS9CQkIvQ0NDIGxpbmUgMzogU291cmNlIGNvbnRhaW5zIGFuIGVtcHR5IGVsZW1lbnQgQ0NDIAorL0FBQS9CQkIvQ0NDIGxpbmUgMzogWzFdQW4gZWxlbWVudCBDQ0MgZG9lcyBub3QgY29udGFpbiBhbnkgdGV4dAorL0FBQS9CQkIvQ0NDIGxpbmUgMzogWzJdQW4gZWxlbWVudCBDQ0MgZG9lcyBub3QgY29udGFpbiBhbnkgdGV4dAorL0FBQS9CQkIvQ0NDIGxpbmUgMzogWzFdQW4gZWxlbWVudCBDQ0MgZG9lcyBub3QgY29udGFpbiBhbnkgY2hpbGQgZWxlbWVudAorL0FBQS9CQkIvQ0NDIGxpbmUgMzogWzJdQW4gZWxlbWVudCBDQ0MgZG9lcyBub3QgY29udGFpbiBhbnkgY2hpbGQgZWxlbWVudAorLi90ZXN0L3NjaGVtYXRyb24venZvbjVfMC54bWwgZmFpbHMgdG8gdmFsaWRhdGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjVfMSBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjVfMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNzZiNzU2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uNV8xCkBAIC0wLDAgKzEsNiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8QUFBPgorICAgICA8QkJCPgorICAgICAgICAgIDxDQ0M+SSBhbSBDQ0MgZWxlbWVudDwvQ0NDPgorICAgICA8L0JCQj4KKzwvQUFBPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uNV8xLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjVfMS5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjRjZTZkNAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjVfMS5lcnIKQEAgLTAsMCArMSw1IEBACitQYXR0ZXJuOiBTZWxlY3QgZW1wdHkgZWxlbWVudHMgQ0NDCisvQUFBL0JCQi9DQ0MgbGluZSAzOiBTb3VyY2UgY29udGFpbnMgYW4gZW1wdHkgZWxlbWVudCBDQ0MgCisvQUFBL0JCQi9DQ0MgbGluZSAzOiBbMV1BbiBlbGVtZW50IENDQyBkb2VzIG5vdCBjb250YWluIGFueSBjaGlsZCBlbGVtZW50CisvQUFBL0JCQi9DQ0MgbGluZSAzOiBbMl1BbiBlbGVtZW50IENDQyBkb2VzIG5vdCBjb250YWluIGFueSBjaGlsZCBlbGVtZW50CisuL3Rlc3Qvc2NoZW1hdHJvbi96dm9uNV8xLnhtbCBmYWlscyB0byB2YWxpZGF0ZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uNV8yIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uNV8yCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRkYzExZmUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b241XzIKQEAgLTAsMCArMSw4IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxBQUE+CisgICAgIDxCQkI+CisgICAgICAgICAgPENDQz4KKyAgICAgICAgICAgICAgIDxEREQvPgorICAgICAgICAgIDwvQ0NDPgorICAgICA8L0JCQj4KKzwvQUFBPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uNV8yLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjVfMi5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGM2OWU3OQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjVfMi5lcnIKQEAgLTAsMCArMSw1IEBACitQYXR0ZXJuOiBTZWxlY3QgZW1wdHkgZWxlbWVudHMgQ0NDCisvQUFBL0JCQi9DQ0MgbGluZSAzOiBTb3VyY2UgY29udGFpbnMgYW4gZW1wdHkgZWxlbWVudCBDQ0MgCisvQUFBL0JCQi9DQ0MgbGluZSAzOiBbMV1BbiBlbGVtZW50IENDQyBkb2VzIG5vdCBjb250YWluIGFueSB0ZXh0CisvQUFBL0JCQi9DQ0MgbGluZSAzOiBbMl1BbiBlbGVtZW50IENDQyBkb2VzIG5vdCBjb250YWluIGFueSB0ZXh0CisuL3Rlc3Qvc2NoZW1hdHJvbi96dm9uNV8yLnhtbCBmYWlscyB0byB2YWxpZGF0ZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uNl8wIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uNl8wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY1Mzk3NjUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b242XzAKQEAgLTAsMCArMSw0IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxBQUE+CithYWEKKzwvQUFBPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uNl8wLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjZfMC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWNjM2IzNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjZfMC5lcnIKQEAgLTAsMCArMSwzIEBACitQYXR0ZXJuOiBQcmVkZWZpbmVkIHZhbHVlcworL0FBQSBsaW5lIDE6IE8uSy4KKy4vdGVzdC9zY2hlbWF0cm9uL3p2b242XzAueG1sIGZhaWxzIHRvIHZhbGlkYXRlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b242XzEgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b242XzEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTBjMmU3MwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjZfMQpAQCAtMCwwICsxLDQgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPEFBQT4KKyAgICAgICAgICBiYmIKKzwvQUFBPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uNl8xLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjZfMS5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGI3MjhkNAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjZfMS5lcnIKQEAgLTAsMCArMSwzIEBACitQYXR0ZXJuOiBQcmVkZWZpbmVkIHZhbHVlcworL0FBQSBsaW5lIDE6IE8uSy4KKy4vdGVzdC9zY2hlbWF0cm9uL3p2b242XzEueG1sIGZhaWxzIHRvIHZhbGlkYXRlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b242XzIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b242XzIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWRjMjRhOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjZfMgpAQCAtMCwwICsxLDQgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPEFBQT4KKyAgY2NjCis8L0FBQT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjZfMi5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b242XzIuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE4Njg5MzQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b242XzIuZXJyCkBAIC0wLDAgKzEsMyBAQAorUGF0dGVybjogUHJlZGVmaW5lZCB2YWx1ZXMKKy9BQUEgbGluZSAxOiBUaGUgQUFBIHZhbHVlIGlzIG5vdCBwZXJtaXR0ZWQuCisuL3Rlc3Qvc2NoZW1hdHJvbi96dm9uNl8yLnhtbCBmYWlscyB0byB2YWxpZGF0ZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uN18wIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uN18wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY1Mzk3NjUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b243XzAKQEAgLTAsMCArMSw0IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxBQUE+CithYWEKKzwvQUFBPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uN18wLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjdfMC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGY0MjdkNgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjdfMC5lcnIKQEAgLTAsMCArMSwzIEBACitQYXR0ZXJuOiBUZXN0IGludGVnZXIKKy9BQUEgbGluZSAxOiBUaGUgQUFBIHZhbHVlIGlzIG5vdCBhbiBpbnRlZ2VyLgorLi90ZXN0L3NjaGVtYXRyb24venZvbjdfMC54bWwgZmFpbHMgdG8gdmFsaWRhdGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjdfMSBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjdfMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYTQwMDdhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uN18xCkBAIC0wLDAgKzEsNCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8QUFBPgorIDEyLjIzNAorPC9BQUE+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b243XzEuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uN18xLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYTFlMGExCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uN18xLmVycgpAQCAtMCwwICsxLDMgQEAKK1BhdHRlcm46IFRlc3QgaW50ZWdlcgorL0FBQSBsaW5lIDE6IFRoZSBBQUEgdmFsdWUgaXMgbm90IGFuIGludGVnZXIuCisuL3Rlc3Qvc2NoZW1hdHJvbi96dm9uN18xLnhtbCBmYWlscyB0byB2YWxpZGF0ZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uN18yIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uN18yCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhlYjQ1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b243XzIKQEAgLTAsMCArMSw0IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxBQUE+Cis0NQorPC9BQUE+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b243XzIuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uN18yLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYmY4Y2M3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uN18yLmVycgpAQCAtMCwwICsxLDMgQEAKK1BhdHRlcm46IFRlc3QgaW50ZWdlcgorL0FBQSBsaW5lIDE6IE8uSy4KKy4vdGVzdC9zY2hlbWF0cm9uL3p2b243XzIueG1sIGZhaWxzIHRvIHZhbGlkYXRlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b243XzMgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b243XzMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzUwODlkZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjdfMwpAQCAtMCwwICsxLDQgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPEFBQT4KKzAKKzwvQUFBPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uN18zLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjdfMy5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWI0YjU5ZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjdfMy5lcnIKQEAgLTAsMCArMSwzIEBACitQYXR0ZXJuOiBUZXN0IGludGVnZXIKKy9BQUEgbGluZSAxOiBPLksuCisuL3Rlc3Qvc2NoZW1hdHJvbi96dm9uN18zLnhtbCBmYWlscyB0byB2YWxpZGF0ZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uN180IGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uN180Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA3MzllYjQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b243XzQKQEAgLTAsMCArMSw0IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxBQUE+CistNDUKKzwvQUFBPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uN180LmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjdfNC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGUxZWU4OQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjdfNC5lcnIKQEAgLTAsMCArMSwzIEBACitQYXR0ZXJuOiBUZXN0IGludGVnZXIKKy9BQUEgbGluZSAxOiBPLksuCisuL3Rlc3Qvc2NoZW1hdHJvbi96dm9uN180LnhtbCBmYWlscyB0byB2YWxpZGF0ZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uOF8wIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uOF8wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE5MzJjZDAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b244XzAKQEAgLTAsMCArMSw5IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxYWFg+CisgICAgIDxCQkIvPgorICAgICA8QkJCLz4KKyAgICAgPEFBQS8+CisgICAgIDxCQkIvPgorICAgICA8QUFBLz4KKyAgICAgPEFBQS8+Cis8L1hYWD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjhfMC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b244XzAuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA4NWUxZGUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b244XzAuZXJyCkBAIC0wLDAgKzEsMyBAQAorUGF0dGVybjogVGVzdCBjb3VudAorL1hYWCBsaW5lIDE6IE8uSy4KKy4vdGVzdC9zY2hlbWF0cm9uL3p2b244XzAueG1sIGZhaWxzIHRvIHZhbGlkYXRlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b244XzEgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b244XzEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTNlNWNmZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjhfMQpAQCAtMCwwICsxLDggQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPFhYWD4KKyAgICAgPEJCQi8+CisgICAgIDxBQUEvPgorICAgICA8QkJCLz4KKyAgICAgPEFBQS8+CisgICAgIDxBQUEvPgorPC9YWFg+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b244XzEuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uOF8xLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZTA3ZDA1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uOF8xLmVycgpAQCAtMCwwICsxLDMgQEAKK1BhdHRlcm46IFRlc3QgY291bnQKKy9YWFggbGluZSAxOiBTb21lIEJCQiBhcmUgbWlzc2luZworLi90ZXN0L3NjaGVtYXRyb24venZvbjhfMS54bWwgZmFpbHMgdG8gdmFsaWRhdGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjhfMiBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjhfMgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZWVhNzdiCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uOF8yCkBAIC0wLDAgKzEsOCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8WFhYPgorICAgICA8QkJCLz4KKyAgICAgPEJCQi8+CisgICAgIDxBQUEvPgorICAgICA8QkJCLz4KKyAgICAgPEFBQS8+Cis8L1hYWD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjhfMi5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b244XzIuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM3ZTg0MzIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b244XzIuZXJyCkBAIC0wLDAgKzEsMyBAQAorUGF0dGVybjogVGVzdCBjb3VudAorL1hYWCBsaW5lIDE6IFNvbWUgQUFBIGFyZSBtaXNzaW5nCisuL3Rlc3Qvc2NoZW1hdHJvbi96dm9uOF8yLnhtbCBmYWlscyB0byB2YWxpZGF0ZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uOV8wIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uOV8wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFmMjU0ZWMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b245XzAKQEAgLTAsMCArMSw4IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxBQUE+CisgICAgIDxDQ0MvPgorICAgICA8Q0NDLz4KKyAgICAgPEJCQj4KKyAgICAgICAgICA8Q0NDIGlkPSJRMSIvPgorICAgICA8L0JCQj4KKzwvQUFBPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uOV8wLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjlfMC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTM5Y2VlYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjlfMC5lcnIKQEAgLTAsMCArMSwyIEBACitQYXR0ZXJuOiBUZXN0IGF0dHJpYnV0ZQorLi90ZXN0L3NjaGVtYXRyb24venZvbjlfMC54bWwgdmFsaWRhdGVzCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b245XzEgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b245XzEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGRjMGRmNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjlfMQpAQCAtMCwwICsxLDggQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPEFBQT4KKyAgICAgPENDQyBpZD0iUTIiLz4KKyAgICAgPENDQy8+CisgICAgIDxCQkI+CisgICAgICAgICAgPENDQyBpZD0iUTEiLz4KKyAgICAgPC9CQkI+Cis8L0FBQT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjlfMS5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b245XzEuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ0YzZmNjcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b245XzEuZXJyCkBAIC0wLDAgKzEsMyBAQAorUGF0dGVybjogVGVzdCBhdHRyaWJ1dGUKKy9BQUEvQ0NDWzFdIGxpbmUgMjogQXR0cmlidXRlIGlkIGlzIHVzZWQgaW4gd3JvbmcgY29udGV4dAorLi90ZXN0L3NjaGVtYXRyb24venZvbjlfMS54bWwgZmFpbHMgdG8gdmFsaWRhdGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjlfMiBiL2xpYnhtbDIvcmVzdWx0L3NjaGVtYXRyb24venZvbjlfMgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iOTIxOGZjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uOV8yCkBAIC0wLDAgKzEsOCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8QUFBPgorICAgICA8Q0NDLz4KKyAgICAgPENDQy8+CisgICAgIDxCQkI+CisgICAgICAgICAgPENDQy8+CisgICAgIDwvQkJCPgorPC9BQUE+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY2hlbWF0cm9uL3p2b245XzIuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uOV8yLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMGIwODg0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NoZW1hdHJvbi96dm9uOV8yLmVycgpAQCAtMCwwICsxLDMgQEAKK1BhdHRlcm46IFRlc3QgYXR0cmlidXRlCisvQUFBL0JCQi9DQ0MgbGluZSA1OiBBdHRyaWJ1dGUgaWQgaXMgbWlzc2luZworLi90ZXN0L3NjaGVtYXRyb24venZvbjlfMi54bWwgZmFpbHMgdG8gdmFsaWRhdGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjcmlwdHMvYmFzZSBiL2xpYnhtbDIvcmVzdWx0L3NjcmlwdHMvYmFzZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNjQyMzFhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NyaXB0cy9iYXNlCkBAIC0wLDAgKzEsNCBAQAorLyA+IC4vdGVzdC9zY3JpcHRzL2Jhc2UueG1sCisvID4gZSA+IGh0dHA6Ly9leGFtcGxlLmNvbS9iYXNlLworZSA+IGltZyA+IGh0dHA6Ly9leGFtcGxlLmNvbS9iYXNlL2ltYWdlcy8KK2ltZyA+IApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjcmlwdHMvYmFzZS5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY3JpcHRzL2Jhc2UuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY3JpcHRzL2Jhc2UuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY3JpcHRzL2Jhc2UyIGIvbGlieG1sMi9yZXN1bHQvc2NyaXB0cy9iYXNlMgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45M2VkZjM3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NyaXB0cy9iYXNlMgpAQCAtMCwwICsxLDQgQEAKKy8gPiAuL3Rlc3Qvc2NyaXB0cy9iYXNlMi54bWwKKy8gPiBlID4gdGVzdC9zY3JpcHRzL2h0bWwvCitlID4gaW1nID4gdGVzdC9zY3JpcHRzL2ltYWdlcy8KK2ltZyA+IApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjcmlwdHMvYmFzZTIuZXJyIGIvbGlieG1sMi9yZXN1bHQvc2NyaXB0cy9iYXNlMi5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjcmlwdHMvYmFzZTIuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY3JpcHRzL3NldDEgYi9saWJ4bWwyL3Jlc3VsdC9zY3JpcHRzL3NldDEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjRjMmM5YQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjcmlwdHMvc2V0MQpAQCAtMCwwICsxLDMgQEAKKy8gPiAvID4gPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8Yi8+CisvID4gClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NyaXB0cy9zZXQxLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjcmlwdHMvc2V0MS5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjcmlwdHMvc2V0MS5lcnIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjcmlwdHMvc2V0MyBiL2xpYnhtbDIvcmVzdWx0L3NjcmlwdHMvc2V0MwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MTJiMzVmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2NyaXB0cy9zZXQzCkBAIC0wLDAgKzEsMTIgQEAKKy8gPiBhID4gT2JqZWN0IGlzIGEgTm9kZSBTZXQgOgorU2V0IGNvbnRhaW5zIDEgbm9kZXM6CisxICBFTEVNRU5UIGEKKyAgICBkZWZhdWx0IG5hbWVzcGFjZSBocmVmPWJhcgorYSA+IGEgPiBPYmplY3QgaXMgYSBOb2RlIFNldCA6CitTZXQgY29udGFpbnMgMiBub2RlczoKKzEgIEVMRU1FTlQgYQorICAgIGRlZmF1bHQgbmFtZXNwYWNlIGhyZWY9YmFyCisyICBFTEVNRU5UIGIKK2EgPiA8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxhIHhtbG5zPSJiYXIiPjxiLz48L2E+CithID4gClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2NyaXB0cy9zZXQzLmVyciBiL2xpYnhtbDIvcmVzdWx0L3NjcmlwdHMvc2V0My5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMThmMGQ2OQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjcmlwdHMvc2V0My5lcnIKQEAgLTAsMCArMSwzIEBACisuL3Rlc3Qvc2NyaXB0cy9zZXQzLnhtbDoxOiBwYXJzZXIgd2FybmluZyA6IHhtbG5zOiBVUkkgYmFyIGlzIG5vdCBhYnNvbHV0ZQorPGEgeG1sbnM9ImJhciI+Zm9vPC9hPgorICAgICAgICAgICAgICBeCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zY3JpcHRzL3NldDQgYi9saWJ4bWwyL3Jlc3VsdC9zY3JpcHRzL3NldDQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTllOWE1OAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NjcmlwdHMvc2V0NApAQCAtMCwwICsxLDYgQEAKKy8gPiBiID4gYiA+IE9iamVjdCBpcyBhIE5vZGUgU2V0IDoKK1NldCBjb250YWlucyAxIG5vZGVzOgorMSAgRUxFTUVOVCBhOmMKK2IgPiA8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxhIHhtbG5zOmE9ImJhciI+PGIgeG1sbnM6YT0iZm9vIj48YTpjLz48L2I+PC9hPgorYiA+IApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NjcmlwdHMvc2V0NC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC9zY3JpcHRzL3NldDQuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zY3JpcHRzL3NldDQuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zbGFzaGRvdC5yZGYgYi9saWJ4bWwyL3Jlc3VsdC9zbGFzaGRvdC5yZGYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzMwMDhhYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NsYXNoZG90LnJkZgpAQCAtMCwwICsxLDY1IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIgeG1sbnM9Imh0dHA6Ly9teS5uZXRzY2FwZS5jb20vcmRmL3NpbXBsZS8wLjkvIj4KKworICA8Y2hhbm5lbD4KKyAgICA8dGl0bGU+U2xhc2hkb3Q6TmV3cyBmb3IgTmVyZHMuIFN0dWZmIHRoYXQgTWF0dGVycy48L3RpdGxlPgorICAgIDxsaW5rPmh0dHA6Ly9zbGFzaGRvdC5vcmcvPC9saW5rPgorICAgIDxkZXNjcmlwdGlvbj5OZXdzIGZvciBOZXJkcy4gIFN0dWZmIHRoYXQgTWF0dGVyczwvZGVzY3JpcHRpb24+CisgIDwvY2hhbm5lbD4KKworICA8aW1hZ2U+CisgICAgPHRpdGxlPlNsYXNoZG90PC90aXRsZT4KKyAgICA8dXJsPmh0dHA6Ly9zbGFzaGRvdC5vcmcvaW1hZ2VzL3NsYXNoZG90bGcuZ2lmPC91cmw+CisgICAgPGxpbms+aHR0cDovL3NsYXNoZG90Lm9yZzwvbGluaz4KKyAgPC9pbWFnZT4KKyAgCisgIDxpdGVtPgorICAgIDx0aXRsZT4xMDAgTWJpdC9zIG9uIEZpYnJlIHRvIHRoZSBob21lPC90aXRsZT4KKyAgICA8bGluaz5odHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzk5LzA2LzA2LzE0NDAyMTEuc2h0bWw8L2xpbms+CisgIDwvaXRlbT4KKyAgCisgIDxpdGVtPgorICAgIDx0aXRsZT5HaW1wIDEuMiBQcmV2aWV3PC90aXRsZT4KKyAgICA8bGluaz5odHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzk5LzA2LzA2LzE0MzgyNDYuc2h0bWw8L2xpbms+CisgIDwvaXRlbT4KKyAgCisgIDxpdGVtPgorICAgIDx0aXRsZT5Tb255J3MgQUlCTyByb2JvdCBTb2xkIE91dDwvdGl0bGU+CisgICAgPGxpbms+aHR0cDovL3NsYXNoZG90Lm9yZy9hcnRpY2xlcy85OS8wNi8wNi8xNDMyMjU2LnNodG1sPC9saW5rPgorICA8L2l0ZW0+CisgIAorICA8aXRlbT4KKyAgICA8dGl0bGU+QXNrIFNsYXNoZG90OiBBbm90aGVyIFdvcmQgZm9yICJIYWNrZXIiPzwvdGl0bGU+CisgICAgPGxpbms+aHR0cDovL3NsYXNoZG90Lm9yZy9hc2tzbGFzaGRvdC85OS8wNi8wNS8xODE1MjI1LnNodG1sPC9saW5rPgorICA8L2l0ZW0+CisgIAorICA8aXRlbT4KKyAgICA8dGl0bGU+Q29yZWwgTGludXggRkFRPC90aXRsZT4KKyAgICA8bGluaz5odHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzk5LzA2LzA1LzE4NDIyMTguc2h0bWw8L2xpbms+CisgIDwvaXRlbT4KKyAgCisgIDxpdGVtPgorICAgIDx0aXRsZT5VcHNpZGUgZG93bnNpZGVzIE1QMy5DT00uPC90aXRsZT4KKyAgICA8bGluaz5odHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzk5LzA2LzA1LzE1NTgyMTAuc2h0bWw8L2xpbms+CisgIDwvaXRlbT4KKyAgCisgIDxpdGVtPgorICAgIDx0aXRsZT4yIFRlcmFiaXRzIG9mIEJhbmR3aWR0aDwvdGl0bGU+CisgICAgPGxpbms+aHR0cDovL3NsYXNoZG90Lm9yZy9hcnRpY2xlcy85OS8wNi8wNS8xNTU0MjU4LnNodG1sPC9saW5rPgorICA8L2l0ZW0+CisgIAorICA8aXRlbT4KKyAgICA8dGl0bGU+U3VwcHJlc3Npb24gb2YgY29sZCBmdXNpb24gcmVzZWFyY2g/PC90aXRsZT4KKyAgICA8bGluaz5odHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzk5LzA2LzA0LzIzMTMyMDAuc2h0bWw8L2xpbms+CisgIDwvaXRlbT4KKyAgCisgIDxpdGVtPgorICAgIDx0aXRsZT5DYWxpZm9ybmlhIEdvdi4gSGFsdHMgV2FnZSBJbmZvIFNhbGU8L3RpdGxlPgorICAgIDxsaW5rPmh0dHA6Ly9zbGFzaGRvdC5vcmcvYXJ0aWNsZXMvOTkvMDYvMDQvMjM1MjU2LnNodG1sPC9saW5rPgorICA8L2l0ZW0+CisgIAorICA8aXRlbT4KKyAgICA8dGl0bGU+UmVkIEhhdCBBbm5vdW5jZXMgSVBPPC90aXRsZT4KKyAgICA8bGluaz5odHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzk5LzA2LzA0LzA4NDkyMDcuc2h0bWw8L2xpbms+CisgIDwvaXRlbT4KKzwvcmRmOlJERj4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NsYXNoZG90LnJkZi5yZGUgYi9saWJ4bWwyL3Jlc3VsdC9zbGFzaGRvdC5yZGYucmRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZlY2QyNGQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zbGFzaGRvdC5yZGYucmRlCkBAIC0wLDAgKzEsMjE4IEBACiswIDEgcmRmOlJERiAwIDAKKzEgMTQgI3RleHQgMCAxIAorCisgIAorMSAxIGNoYW5uZWwgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSB0aXRsZSAwIDAKKzMgMyAjdGV4dCAwIDEgU2xhc2hkb3Q6TmV3cyBmb3IgTmVyZHMuIFN0dWZmIHRoYXQgTWF0dGVycy4KKzIgMTUgdGl0bGUgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBsaW5rIDAgMAorMyAzICN0ZXh0IDAgMSBodHRwOi8vc2xhc2hkb3Qub3JnLworMiAxNSBsaW5rIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgZGVzY3JpcHRpb24gMCAwCiszIDMgI3RleHQgMCAxIE5ld3MgZm9yIE5lcmRzLiAgU3R1ZmYgdGhhdCBNYXR0ZXJzCisyIDE1IGRlc2NyaXB0aW9uIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMSAxNSBjaGFubmVsIDAgMAorMSAxNCAjdGV4dCAwIDEgCisKKyAgCisxIDEgaW1hZ2UgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSB0aXRsZSAwIDAKKzMgMyAjdGV4dCAwIDEgU2xhc2hkb3QKKzIgMTUgdGl0bGUgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSB1cmwgMCAwCiszIDMgI3RleHQgMCAxIGh0dHA6Ly9zbGFzaGRvdC5vcmcvaW1hZ2VzL3NsYXNoZG90bGcuZ2lmCisyIDE1IHVybCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGxpbmsgMCAwCiszIDMgI3RleHQgMCAxIGh0dHA6Ly9zbGFzaGRvdC5vcmcKKzIgMTUgbGluayAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzEgMTUgaW1hZ2UgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgCisgIAorMSAxIGl0ZW0gMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSB0aXRsZSAwIDAKKzMgMyAjdGV4dCAwIDEgMTAwIE1iaXQvcyBvbiBGaWJyZSB0byB0aGUgaG9tZQorMiAxNSB0aXRsZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGxpbmsgMCAwCiszIDMgI3RleHQgMCAxIGh0dHA6Ly9zbGFzaGRvdC5vcmcvYXJ0aWNsZXMvOTkvMDYvMDYvMTQ0MDIxMS5zaHRtbAorMiAxNSBsaW5rIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMSAxNSBpdGVtIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorICAKKzEgMSBpdGVtIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdGl0bGUgMCAwCiszIDMgI3RleHQgMCAxIEdpbXAgMS4yIFByZXZpZXcKKzIgMTUgdGl0bGUgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBsaW5rIDAgMAorMyAzICN0ZXh0IDAgMSBodHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzk5LzA2LzA2LzE0MzgyNDYuc2h0bWwKKzIgMTUgbGluayAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzEgMTUgaXRlbSAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKyAgCisxIDEgaXRlbSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRpdGxlIDAgMAorMyAzICN0ZXh0IDAgMSBTb255J3MgQUlCTyByb2JvdCBTb2xkIE91dAorMiAxNSB0aXRsZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGxpbmsgMCAwCiszIDMgI3RleHQgMCAxIGh0dHA6Ly9zbGFzaGRvdC5vcmcvYXJ0aWNsZXMvOTkvMDYvMDYvMTQzMjI1Ni5zaHRtbAorMiAxNSBsaW5rIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMSAxNSBpdGVtIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorICAKKzEgMSBpdGVtIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdGl0bGUgMCAwCiszIDMgI3RleHQgMCAxIEFzayBTbGFzaGRvdDogQW5vdGhlciBXb3JkIGZvciAiSGFja2VyIj8KKzIgMTUgdGl0bGUgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBsaW5rIDAgMAorMyAzICN0ZXh0IDAgMSBodHRwOi8vc2xhc2hkb3Qub3JnL2Fza3NsYXNoZG90Lzk5LzA2LzA1LzE4MTUyMjUuc2h0bWwKKzIgMTUgbGluayAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzEgMTUgaXRlbSAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKyAgCisxIDEgaXRlbSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRpdGxlIDAgMAorMyAzICN0ZXh0IDAgMSBDb3JlbCBMaW51eCBGQVEKKzIgMTUgdGl0bGUgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBsaW5rIDAgMAorMyAzICN0ZXh0IDAgMSBodHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzk5LzA2LzA1LzE4NDIyMTguc2h0bWwKKzIgMTUgbGluayAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzEgMTUgaXRlbSAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKyAgCisxIDEgaXRlbSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRpdGxlIDAgMAorMyAzICN0ZXh0IDAgMSBVcHNpZGUgZG93bnNpZGVzIE1QMy5DT00uCisyIDE1IHRpdGxlIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgbGluayAwIDAKKzMgMyAjdGV4dCAwIDEgaHR0cDovL3NsYXNoZG90Lm9yZy9hcnRpY2xlcy85OS8wNi8wNS8xNTU4MjEwLnNodG1sCisyIDE1IGxpbmsgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDE1IGl0ZW0gMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgCisgIAorMSAxIGl0ZW0gMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSB0aXRsZSAwIDAKKzMgMyAjdGV4dCAwIDEgMiBUZXJhYml0cyBvZiBCYW5kd2lkdGgKKzIgMTUgdGl0bGUgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBsaW5rIDAgMAorMyAzICN0ZXh0IDAgMSBodHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzk5LzA2LzA1LzE1NTQyNTguc2h0bWwKKzIgMTUgbGluayAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzEgMTUgaXRlbSAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKyAgCisxIDEgaXRlbSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRpdGxlIDAgMAorMyAzICN0ZXh0IDAgMSBTdXBwcmVzc2lvbiBvZiBjb2xkIGZ1c2lvbiByZXNlYXJjaD8KKzIgMTUgdGl0bGUgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBsaW5rIDAgMAorMyAzICN0ZXh0IDAgMSBodHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzk5LzA2LzA0LzIzMTMyMDAuc2h0bWwKKzIgMTUgbGluayAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzEgMTUgaXRlbSAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKyAgCisxIDEgaXRlbSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRpdGxlIDAgMAorMyAzICN0ZXh0IDAgMSBDYWxpZm9ybmlhIEdvdi4gSGFsdHMgV2FnZSBJbmZvIFNhbGUKKzIgMTUgdGl0bGUgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBsaW5rIDAgMAorMyAzICN0ZXh0IDAgMSBodHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzk5LzA2LzA0LzIzNTI1Ni5zaHRtbAorMiAxNSBsaW5rIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMSAxNSBpdGVtIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorICAKKzEgMSBpdGVtIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdGl0bGUgMCAwCiszIDMgI3RleHQgMCAxIFJlZCBIYXQgQW5ub3VuY2VzIElQTworMiAxNSB0aXRsZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGxpbmsgMCAwCiszIDMgI3RleHQgMCAxIGh0dHA6Ly9zbGFzaGRvdC5vcmcvYXJ0aWNsZXMvOTkvMDYvMDQvMDg0OTIwNy5zaHRtbAorMiAxNSBsaW5rIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMSAxNSBpdGVtIDAgMAorMSAxNCAjdGV4dCAwIDEgCisKKzAgMTUgcmRmOlJERiAwIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NsYXNoZG90LnJkZi5yZHIgYi9saWJ4bWwyL3Jlc3VsdC9zbGFzaGRvdC5yZGYucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZlY2QyNGQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zbGFzaGRvdC5yZGYucmRyCkBAIC0wLDAgKzEsMjE4IEBACiswIDEgcmRmOlJERiAwIDAKKzEgMTQgI3RleHQgMCAxIAorCisgIAorMSAxIGNoYW5uZWwgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSB0aXRsZSAwIDAKKzMgMyAjdGV4dCAwIDEgU2xhc2hkb3Q6TmV3cyBmb3IgTmVyZHMuIFN0dWZmIHRoYXQgTWF0dGVycy4KKzIgMTUgdGl0bGUgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBsaW5rIDAgMAorMyAzICN0ZXh0IDAgMSBodHRwOi8vc2xhc2hkb3Qub3JnLworMiAxNSBsaW5rIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgZGVzY3JpcHRpb24gMCAwCiszIDMgI3RleHQgMCAxIE5ld3MgZm9yIE5lcmRzLiAgU3R1ZmYgdGhhdCBNYXR0ZXJzCisyIDE1IGRlc2NyaXB0aW9uIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMSAxNSBjaGFubmVsIDAgMAorMSAxNCAjdGV4dCAwIDEgCisKKyAgCisxIDEgaW1hZ2UgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSB0aXRsZSAwIDAKKzMgMyAjdGV4dCAwIDEgU2xhc2hkb3QKKzIgMTUgdGl0bGUgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSB1cmwgMCAwCiszIDMgI3RleHQgMCAxIGh0dHA6Ly9zbGFzaGRvdC5vcmcvaW1hZ2VzL3NsYXNoZG90bGcuZ2lmCisyIDE1IHVybCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGxpbmsgMCAwCiszIDMgI3RleHQgMCAxIGh0dHA6Ly9zbGFzaGRvdC5vcmcKKzIgMTUgbGluayAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzEgMTUgaW1hZ2UgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgCisgIAorMSAxIGl0ZW0gMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSB0aXRsZSAwIDAKKzMgMyAjdGV4dCAwIDEgMTAwIE1iaXQvcyBvbiBGaWJyZSB0byB0aGUgaG9tZQorMiAxNSB0aXRsZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGxpbmsgMCAwCiszIDMgI3RleHQgMCAxIGh0dHA6Ly9zbGFzaGRvdC5vcmcvYXJ0aWNsZXMvOTkvMDYvMDYvMTQ0MDIxMS5zaHRtbAorMiAxNSBsaW5rIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMSAxNSBpdGVtIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorICAKKzEgMSBpdGVtIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdGl0bGUgMCAwCiszIDMgI3RleHQgMCAxIEdpbXAgMS4yIFByZXZpZXcKKzIgMTUgdGl0bGUgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBsaW5rIDAgMAorMyAzICN0ZXh0IDAgMSBodHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzk5LzA2LzA2LzE0MzgyNDYuc2h0bWwKKzIgMTUgbGluayAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzEgMTUgaXRlbSAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKyAgCisxIDEgaXRlbSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRpdGxlIDAgMAorMyAzICN0ZXh0IDAgMSBTb255J3MgQUlCTyByb2JvdCBTb2xkIE91dAorMiAxNSB0aXRsZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGxpbmsgMCAwCiszIDMgI3RleHQgMCAxIGh0dHA6Ly9zbGFzaGRvdC5vcmcvYXJ0aWNsZXMvOTkvMDYvMDYvMTQzMjI1Ni5zaHRtbAorMiAxNSBsaW5rIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMSAxNSBpdGVtIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorICAKKzEgMSBpdGVtIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdGl0bGUgMCAwCiszIDMgI3RleHQgMCAxIEFzayBTbGFzaGRvdDogQW5vdGhlciBXb3JkIGZvciAiSGFja2VyIj8KKzIgMTUgdGl0bGUgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBsaW5rIDAgMAorMyAzICN0ZXh0IDAgMSBodHRwOi8vc2xhc2hkb3Qub3JnL2Fza3NsYXNoZG90Lzk5LzA2LzA1LzE4MTUyMjUuc2h0bWwKKzIgMTUgbGluayAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzEgMTUgaXRlbSAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKyAgCisxIDEgaXRlbSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRpdGxlIDAgMAorMyAzICN0ZXh0IDAgMSBDb3JlbCBMaW51eCBGQVEKKzIgMTUgdGl0bGUgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBsaW5rIDAgMAorMyAzICN0ZXh0IDAgMSBodHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzk5LzA2LzA1LzE4NDIyMTguc2h0bWwKKzIgMTUgbGluayAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzEgMTUgaXRlbSAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKyAgCisxIDEgaXRlbSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRpdGxlIDAgMAorMyAzICN0ZXh0IDAgMSBVcHNpZGUgZG93bnNpZGVzIE1QMy5DT00uCisyIDE1IHRpdGxlIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgbGluayAwIDAKKzMgMyAjdGV4dCAwIDEgaHR0cDovL3NsYXNoZG90Lm9yZy9hcnRpY2xlcy85OS8wNi8wNS8xNTU4MjEwLnNodG1sCisyIDE1IGxpbmsgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDE1IGl0ZW0gMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgCisgIAorMSAxIGl0ZW0gMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSB0aXRsZSAwIDAKKzMgMyAjdGV4dCAwIDEgMiBUZXJhYml0cyBvZiBCYW5kd2lkdGgKKzIgMTUgdGl0bGUgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBsaW5rIDAgMAorMyAzICN0ZXh0IDAgMSBodHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzk5LzA2LzA1LzE1NTQyNTguc2h0bWwKKzIgMTUgbGluayAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzEgMTUgaXRlbSAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKyAgCisxIDEgaXRlbSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRpdGxlIDAgMAorMyAzICN0ZXh0IDAgMSBTdXBwcmVzc2lvbiBvZiBjb2xkIGZ1c2lvbiByZXNlYXJjaD8KKzIgMTUgdGl0bGUgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBsaW5rIDAgMAorMyAzICN0ZXh0IDAgMSBodHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzk5LzA2LzA0LzIzMTMyMDAuc2h0bWwKKzIgMTUgbGluayAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzEgMTUgaXRlbSAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKyAgCisxIDEgaXRlbSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRpdGxlIDAgMAorMyAzICN0ZXh0IDAgMSBDYWxpZm9ybmlhIEdvdi4gSGFsdHMgV2FnZSBJbmZvIFNhbGUKKzIgMTUgdGl0bGUgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBsaW5rIDAgMAorMyAzICN0ZXh0IDAgMSBodHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzk5LzA2LzA0LzIzNTI1Ni5zaHRtbAorMiAxNSBsaW5rIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMSAxNSBpdGVtIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorICAKKzEgMSBpdGVtIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdGl0bGUgMCAwCiszIDMgI3RleHQgMCAxIFJlZCBIYXQgQW5ub3VuY2VzIElQTworMiAxNSB0aXRsZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGxpbmsgMCAwCiszIDMgI3RleHQgMCAxIGh0dHA6Ly9zbGFzaGRvdC5vcmcvYXJ0aWNsZXMvOTkvMDYvMDQvMDg0OTIwNy5zaHRtbAorMiAxNSBsaW5rIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMSAxNSBpdGVtIDAgMAorMSAxNCAjdGV4dCAwIDEgCisKKzAgMTUgcmRmOlJERiAwIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NsYXNoZG90LnJkZi5zYXggYi9saWJ4bWwyL3Jlc3VsdC9zbGFzaGRvdC5yZGYuc2F4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZlNTQzNzYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zbGFzaGRvdC5yZGYuc2F4CkBAIC0wLDAgKzEsMjIxIEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5zdGFydEVsZW1lbnQocmRmOlJERiwgeG1sbnM6cmRmPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjJywgeG1sbnM9J2h0dHA6Ly9teS5uZXRzY2FwZS5jb20vcmRmL3NpbXBsZS8wLjkvJykKK1NBWC5jaGFyYWN0ZXJzKAorCisgICwgNCkKK1NBWC5zdGFydEVsZW1lbnQoY2hhbm5lbCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQodGl0bGUpCitTQVguY2hhcmFjdGVycyhTbGFzaGRvdDpOZXdzIGZvciBOZXJkcy4gU3R1ZmYsIDQ0KQorU0FYLmVuZEVsZW1lbnQodGl0bGUpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KGxpbmspCitTQVguY2hhcmFjdGVycyhodHRwOi8vc2xhc2hkb3Qub3JnLywgMjApCitTQVguZW5kRWxlbWVudChsaW5rKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChkZXNjcmlwdGlvbikKK1NBWC5jaGFyYWN0ZXJzKE5ld3MgZm9yIE5lcmRzLiAgU3R1ZmYgdGhhdCBNYSwgMzUpCitTQVguZW5kRWxlbWVudChkZXNjcmlwdGlvbikKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguZW5kRWxlbWVudChjaGFubmVsKQorU0FYLmNoYXJhY3RlcnMoCisKKyAgLCA0KQorU0FYLnN0YXJ0RWxlbWVudChpbWFnZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQodGl0bGUpCitTQVguY2hhcmFjdGVycyhTbGFzaGRvdCwgOCkKK1NBWC5lbmRFbGVtZW50KHRpdGxlKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudCh1cmwpCitTQVguY2hhcmFjdGVycyhodHRwOi8vc2xhc2hkb3Qub3JnL2ltYWdlcy9zbGEsIDQxKQorU0FYLmVuZEVsZW1lbnQodXJsKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChsaW5rKQorU0FYLmNoYXJhY3RlcnMoaHR0cDovL3NsYXNoZG90Lm9yZywgMTkpCitTQVguZW5kRWxlbWVudChsaW5rKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5lbmRFbGVtZW50KGltYWdlKQorU0FYLmNoYXJhY3RlcnMoCisgIAorICAsIDYpCitTQVguc3RhcnRFbGVtZW50KGl0ZW0pCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHRpdGxlKQorU0FYLmNoYXJhY3RlcnMoMTAwIE1iaXQvcyBvbiBGaWJyZSB0byB0aGUgaG9tLCAzMSkKK1NBWC5lbmRFbGVtZW50KHRpdGxlKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChsaW5rKQorU0FYLmNoYXJhY3RlcnMoaHR0cDovL3NsYXNoZG90Lm9yZy9hcnRpY2xlcy85LCA1MSkKK1NBWC5lbmRFbGVtZW50KGxpbmspCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnQoaXRlbSkKK1NBWC5jaGFyYWN0ZXJzKAorICAKKyAgLCA2KQorU0FYLnN0YXJ0RWxlbWVudChpdGVtKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudCh0aXRsZSkKK1NBWC5jaGFyYWN0ZXJzKEdpbXAgMS4yIFByZXZpZXcsIDE2KQorU0FYLmVuZEVsZW1lbnQodGl0bGUpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KGxpbmspCitTQVguY2hhcmFjdGVycyhodHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzksIDUxKQorU0FYLmVuZEVsZW1lbnQobGluaykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguZW5kRWxlbWVudChpdGVtKQorU0FYLmNoYXJhY3RlcnMoCisgIAorICAsIDYpCitTQVguc3RhcnRFbGVtZW50KGl0ZW0pCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHRpdGxlKQorU0FYLmNoYXJhY3RlcnMoU29ueSdzIEFJQk8gcm9ib3QgU29sZCBPdXQsIDI2KQorU0FYLmVuZEVsZW1lbnQodGl0bGUpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KGxpbmspCitTQVguY2hhcmFjdGVycyhodHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzksIDUxKQorU0FYLmVuZEVsZW1lbnQobGluaykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguZW5kRWxlbWVudChpdGVtKQorU0FYLmNoYXJhY3RlcnMoCisgIAorICAsIDYpCitTQVguc3RhcnRFbGVtZW50KGl0ZW0pCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHRpdGxlKQorU0FYLmNoYXJhY3RlcnMoQXNrIFNsYXNoZG90OiBBbm90aGVyIFdvcmQgZm9yLCA0MCkKK1NBWC5lbmRFbGVtZW50KHRpdGxlKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChsaW5rKQorU0FYLmNoYXJhY3RlcnMoaHR0cDovL3NsYXNoZG90Lm9yZy9hc2tzbGFzaGRvLCA1NCkKK1NBWC5lbmRFbGVtZW50KGxpbmspCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnQoaXRlbSkKK1NBWC5jaGFyYWN0ZXJzKAorICAKKyAgLCA2KQorU0FYLnN0YXJ0RWxlbWVudChpdGVtKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudCh0aXRsZSkKK1NBWC5jaGFyYWN0ZXJzKENvcmVsIExpbnV4IEZBUSwgMTUpCitTQVguZW5kRWxlbWVudCh0aXRsZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQobGluaykKK1NBWC5jaGFyYWN0ZXJzKGh0dHA6Ly9zbGFzaGRvdC5vcmcvYXJ0aWNsZXMvOSwgNTEpCitTQVguZW5kRWxlbWVudChsaW5rKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5lbmRFbGVtZW50KGl0ZW0pCitTQVguY2hhcmFjdGVycygKKyAgCisgICwgNikKK1NBWC5zdGFydEVsZW1lbnQoaXRlbSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQodGl0bGUpCitTQVguY2hhcmFjdGVycyhVcHNpZGUgZG93bnNpZGVzIE1QMy5DT00uLCAyNSkKK1NBWC5lbmRFbGVtZW50KHRpdGxlKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChsaW5rKQorU0FYLmNoYXJhY3RlcnMoaHR0cDovL3NsYXNoZG90Lm9yZy9hcnRpY2xlcy85LCA1MSkKK1NBWC5lbmRFbGVtZW50KGxpbmspCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnQoaXRlbSkKK1NBWC5jaGFyYWN0ZXJzKAorICAKKyAgLCA2KQorU0FYLnN0YXJ0RWxlbWVudChpdGVtKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudCh0aXRsZSkKK1NBWC5jaGFyYWN0ZXJzKDIgVGVyYWJpdHMgb2YgQmFuZHdpZHRoLCAyMykKK1NBWC5lbmRFbGVtZW50KHRpdGxlKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChsaW5rKQorU0FYLmNoYXJhY3RlcnMoaHR0cDovL3NsYXNoZG90Lm9yZy9hcnRpY2xlcy85LCA1MSkKK1NBWC5lbmRFbGVtZW50KGxpbmspCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnQoaXRlbSkKK1NBWC5jaGFyYWN0ZXJzKAorICAKKyAgLCA2KQorU0FYLnN0YXJ0RWxlbWVudChpdGVtKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudCh0aXRsZSkKK1NBWC5jaGFyYWN0ZXJzKFN1cHByZXNzaW9uIG9mIGNvbGQgZnVzaW9uIHJlcywgMzYpCitTQVguZW5kRWxlbWVudCh0aXRsZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQobGluaykKK1NBWC5jaGFyYWN0ZXJzKGh0dHA6Ly9zbGFzaGRvdC5vcmcvYXJ0aWNsZXMvOSwgNTEpCitTQVguZW5kRWxlbWVudChsaW5rKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5lbmRFbGVtZW50KGl0ZW0pCitTQVguY2hhcmFjdGVycygKKyAgCisgICwgNikKK1NBWC5zdGFydEVsZW1lbnQoaXRlbSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQodGl0bGUpCitTQVguY2hhcmFjdGVycyhDYWxpZm9ybmlhIEdvdi4gSGFsdHMgV2FnZSBJbmYsIDM2KQorU0FYLmVuZEVsZW1lbnQodGl0bGUpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KGxpbmspCitTQVguY2hhcmFjdGVycyhodHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzksIDUwKQorU0FYLmVuZEVsZW1lbnQobGluaykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguZW5kRWxlbWVudChpdGVtKQorU0FYLmNoYXJhY3RlcnMoCisgIAorICAsIDYpCitTQVguc3RhcnRFbGVtZW50KGl0ZW0pCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHRpdGxlKQorU0FYLmNoYXJhY3RlcnMoUmVkIEhhdCBBbm5vdW5jZXMgSVBPLCAyMSkKK1NBWC5lbmRFbGVtZW50KHRpdGxlKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChsaW5rKQorU0FYLmNoYXJhY3RlcnMoaHR0cDovL3NsYXNoZG90Lm9yZy9hcnRpY2xlcy85LCA1MSkKK1NBWC5lbmRFbGVtZW50KGxpbmspCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnQoaXRlbSkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmVuZEVsZW1lbnQocmRmOlJERikKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zbGFzaGRvdC5yZGYuc2F4MiBiL2xpYnhtbDIvcmVzdWx0L3NsYXNoZG90LnJkZi5zYXgyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM1NjFjZjgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zbGFzaGRvdC5yZGYuc2F4MgpAQCAtMCwwICsxLDIyMSBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguc3RhcnRFbGVtZW50TnMoUkRGLCByZGYsICdodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjJywgMiwgeG1sbnM6cmRmPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjJywgeG1sbnM9J2h0dHA6Ly9teS5uZXRzY2FwZS5jb20vcmRmL3NpbXBsZS8wLjkvJywgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorCisgICwgNCkKK1NBWC5zdGFydEVsZW1lbnROcyhjaGFubmVsLCBOVUxMLCAnaHR0cDovL215Lm5ldHNjYXBlLmNvbS9yZGYvc2ltcGxlLzAuOS8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHRpdGxlLCBOVUxMLCAnaHR0cDovL215Lm5ldHNjYXBlLmNvbS9yZGYvc2ltcGxlLzAuOS8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoU2xhc2hkb3Q6TmV3cyBmb3IgTmVyZHMuIFN0dWZmLCA0NCkKK1NBWC5lbmRFbGVtZW50TnModGl0bGUsIE5VTEwsICdodHRwOi8vbXkubmV0c2NhcGUuY29tL3JkZi9zaW1wbGUvMC45LycpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMobGluaywgTlVMTCwgJ2h0dHA6Ly9teS5uZXRzY2FwZS5jb20vcmRmL3NpbXBsZS8wLjkvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKGh0dHA6Ly9zbGFzaGRvdC5vcmcvLCAyMCkKK1NBWC5lbmRFbGVtZW50TnMobGluaywgTlVMTCwgJ2h0dHA6Ly9teS5uZXRzY2FwZS5jb20vcmRmL3NpbXBsZS8wLjkvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhkZXNjcmlwdGlvbiwgTlVMTCwgJ2h0dHA6Ly9teS5uZXRzY2FwZS5jb20vcmRmL3NpbXBsZS8wLjkvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKE5ld3MgZm9yIE5lcmRzLiAgU3R1ZmYgdGhhdCBNYSwgMzUpCitTQVguZW5kRWxlbWVudE5zKGRlc2NyaXB0aW9uLCBOVUxMLCAnaHR0cDovL215Lm5ldHNjYXBlLmNvbS9yZGYvc2ltcGxlLzAuOS8nKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5lbmRFbGVtZW50TnMoY2hhbm5lbCwgTlVMTCwgJ2h0dHA6Ly9teS5uZXRzY2FwZS5jb20vcmRmL3NpbXBsZS8wLjkvJykKK1NBWC5jaGFyYWN0ZXJzKAorCisgICwgNCkKK1NBWC5zdGFydEVsZW1lbnROcyhpbWFnZSwgTlVMTCwgJ2h0dHA6Ly9teS5uZXRzY2FwZS5jb20vcmRmL3NpbXBsZS8wLjkvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyh0aXRsZSwgTlVMTCwgJ2h0dHA6Ly9teS5uZXRzY2FwZS5jb20vcmRmL3NpbXBsZS8wLjkvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKFNsYXNoZG90LCA4KQorU0FYLmVuZEVsZW1lbnROcyh0aXRsZSwgTlVMTCwgJ2h0dHA6Ly9teS5uZXRzY2FwZS5jb20vcmRmL3NpbXBsZS8wLjkvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyh1cmwsIE5VTEwsICdodHRwOi8vbXkubmV0c2NhcGUuY29tL3JkZi9zaW1wbGUvMC45LycsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhodHRwOi8vc2xhc2hkb3Qub3JnL2ltYWdlcy9zbGEsIDQxKQorU0FYLmVuZEVsZW1lbnROcyh1cmwsIE5VTEwsICdodHRwOi8vbXkubmV0c2NhcGUuY29tL3JkZi9zaW1wbGUvMC45LycpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMobGluaywgTlVMTCwgJ2h0dHA6Ly9teS5uZXRzY2FwZS5jb20vcmRmL3NpbXBsZS8wLjkvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKGh0dHA6Ly9zbGFzaGRvdC5vcmcsIDE5KQorU0FYLmVuZEVsZW1lbnROcyhsaW5rLCBOVUxMLCAnaHR0cDovL215Lm5ldHNjYXBlLmNvbS9yZGYvc2ltcGxlLzAuOS8nKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5lbmRFbGVtZW50TnMoaW1hZ2UsIE5VTEwsICdodHRwOi8vbXkubmV0c2NhcGUuY29tL3JkZi9zaW1wbGUvMC45LycpCitTQVguY2hhcmFjdGVycygKKyAgCisgICwgNikKK1NBWC5zdGFydEVsZW1lbnROcyhpdGVtLCBOVUxMLCAnaHR0cDovL215Lm5ldHNjYXBlLmNvbS9yZGYvc2ltcGxlLzAuOS8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHRpdGxlLCBOVUxMLCAnaHR0cDovL215Lm5ldHNjYXBlLmNvbS9yZGYvc2ltcGxlLzAuOS8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoMTAwIE1iaXQvcyBvbiBGaWJyZSB0byB0aGUgaG9tLCAzMSkKK1NBWC5lbmRFbGVtZW50TnModGl0bGUsIE5VTEwsICdodHRwOi8vbXkubmV0c2NhcGUuY29tL3JkZi9zaW1wbGUvMC45LycpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMobGluaywgTlVMTCwgJ2h0dHA6Ly9teS5uZXRzY2FwZS5jb20vcmRmL3NpbXBsZS8wLjkvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKGh0dHA6Ly9zbGFzaGRvdC5vcmcvYXJ0aWNsZXMvOSwgNTEpCitTQVguZW5kRWxlbWVudE5zKGxpbmssIE5VTEwsICdodHRwOi8vbXkubmV0c2NhcGUuY29tL3JkZi9zaW1wbGUvMC45LycpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnROcyhpdGVtLCBOVUxMLCAnaHR0cDovL215Lm5ldHNjYXBlLmNvbS9yZGYvc2ltcGxlLzAuOS8nKQorU0FYLmNoYXJhY3RlcnMoCisgIAorICAsIDYpCitTQVguc3RhcnRFbGVtZW50TnMoaXRlbSwgTlVMTCwgJ2h0dHA6Ly9teS5uZXRzY2FwZS5jb20vcmRmL3NpbXBsZS8wLjkvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyh0aXRsZSwgTlVMTCwgJ2h0dHA6Ly9teS5uZXRzY2FwZS5jb20vcmRmL3NpbXBsZS8wLjkvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKEdpbXAgMS4yIFByZXZpZXcsIDE2KQorU0FYLmVuZEVsZW1lbnROcyh0aXRsZSwgTlVMTCwgJ2h0dHA6Ly9teS5uZXRzY2FwZS5jb20vcmRmL3NpbXBsZS8wLjkvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhsaW5rLCBOVUxMLCAnaHR0cDovL215Lm5ldHNjYXBlLmNvbS9yZGYvc2ltcGxlLzAuOS8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoaHR0cDovL3NsYXNoZG90Lm9yZy9hcnRpY2xlcy85LCA1MSkKK1NBWC5lbmRFbGVtZW50TnMobGluaywgTlVMTCwgJ2h0dHA6Ly9teS5uZXRzY2FwZS5jb20vcmRmL3NpbXBsZS8wLjkvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguZW5kRWxlbWVudE5zKGl0ZW0sIE5VTEwsICdodHRwOi8vbXkubmV0c2NhcGUuY29tL3JkZi9zaW1wbGUvMC45LycpCitTQVguY2hhcmFjdGVycygKKyAgCisgICwgNikKK1NBWC5zdGFydEVsZW1lbnROcyhpdGVtLCBOVUxMLCAnaHR0cDovL215Lm5ldHNjYXBlLmNvbS9yZGYvc2ltcGxlLzAuOS8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHRpdGxlLCBOVUxMLCAnaHR0cDovL215Lm5ldHNjYXBlLmNvbS9yZGYvc2ltcGxlLzAuOS8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoU29ueSdzIEFJQk8gcm9ib3QgU29sZCBPdXQsIDI2KQorU0FYLmVuZEVsZW1lbnROcyh0aXRsZSwgTlVMTCwgJ2h0dHA6Ly9teS5uZXRzY2FwZS5jb20vcmRmL3NpbXBsZS8wLjkvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhsaW5rLCBOVUxMLCAnaHR0cDovL215Lm5ldHNjYXBlLmNvbS9yZGYvc2ltcGxlLzAuOS8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoaHR0cDovL3NsYXNoZG90Lm9yZy9hcnRpY2xlcy85LCA1MSkKK1NBWC5lbmRFbGVtZW50TnMobGluaywgTlVMTCwgJ2h0dHA6Ly9teS5uZXRzY2FwZS5jb20vcmRmL3NpbXBsZS8wLjkvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguZW5kRWxlbWVudE5zKGl0ZW0sIE5VTEwsICdodHRwOi8vbXkubmV0c2NhcGUuY29tL3JkZi9zaW1wbGUvMC45LycpCitTQVguY2hhcmFjdGVycygKKyAgCisgICwgNikKK1NBWC5zdGFydEVsZW1lbnROcyhpdGVtLCBOVUxMLCAnaHR0cDovL215Lm5ldHNjYXBlLmNvbS9yZGYvc2ltcGxlLzAuOS8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHRpdGxlLCBOVUxMLCAnaHR0cDovL215Lm5ldHNjYXBlLmNvbS9yZGYvc2ltcGxlLzAuOS8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoQXNrIFNsYXNoZG90OiBBbm90aGVyIFdvcmQgZm9yLCA0MCkKK1NBWC5lbmRFbGVtZW50TnModGl0bGUsIE5VTEwsICdodHRwOi8vbXkubmV0c2NhcGUuY29tL3JkZi9zaW1wbGUvMC45LycpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMobGluaywgTlVMTCwgJ2h0dHA6Ly9teS5uZXRzY2FwZS5jb20vcmRmL3NpbXBsZS8wLjkvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKGh0dHA6Ly9zbGFzaGRvdC5vcmcvYXNrc2xhc2hkbywgNTQpCitTQVguZW5kRWxlbWVudE5zKGxpbmssIE5VTEwsICdodHRwOi8vbXkubmV0c2NhcGUuY29tL3JkZi9zaW1wbGUvMC45LycpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnROcyhpdGVtLCBOVUxMLCAnaHR0cDovL215Lm5ldHNjYXBlLmNvbS9yZGYvc2ltcGxlLzAuOS8nKQorU0FYLmNoYXJhY3RlcnMoCisgIAorICAsIDYpCitTQVguc3RhcnRFbGVtZW50TnMoaXRlbSwgTlVMTCwgJ2h0dHA6Ly9teS5uZXRzY2FwZS5jb20vcmRmL3NpbXBsZS8wLjkvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyh0aXRsZSwgTlVMTCwgJ2h0dHA6Ly9teS5uZXRzY2FwZS5jb20vcmRmL3NpbXBsZS8wLjkvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKENvcmVsIExpbnV4IEZBUSwgMTUpCitTQVguZW5kRWxlbWVudE5zKHRpdGxlLCBOVUxMLCAnaHR0cDovL215Lm5ldHNjYXBlLmNvbS9yZGYvc2ltcGxlLzAuOS8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKGxpbmssIE5VTEwsICdodHRwOi8vbXkubmV0c2NhcGUuY29tL3JkZi9zaW1wbGUvMC45LycsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhodHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzksIDUxKQorU0FYLmVuZEVsZW1lbnROcyhsaW5rLCBOVUxMLCAnaHR0cDovL215Lm5ldHNjYXBlLmNvbS9yZGYvc2ltcGxlLzAuOS8nKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5lbmRFbGVtZW50TnMoaXRlbSwgTlVMTCwgJ2h0dHA6Ly9teS5uZXRzY2FwZS5jb20vcmRmL3NpbXBsZS8wLjkvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAKKyAgLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKGl0ZW0sIE5VTEwsICdodHRwOi8vbXkubmV0c2NhcGUuY29tL3JkZi9zaW1wbGUvMC45LycsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnModGl0bGUsIE5VTEwsICdodHRwOi8vbXkubmV0c2NhcGUuY29tL3JkZi9zaW1wbGUvMC45LycsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhVcHNpZGUgZG93bnNpZGVzIE1QMy5DT00uLCAyNSkKK1NBWC5lbmRFbGVtZW50TnModGl0bGUsIE5VTEwsICdodHRwOi8vbXkubmV0c2NhcGUuY29tL3JkZi9zaW1wbGUvMC45LycpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMobGluaywgTlVMTCwgJ2h0dHA6Ly9teS5uZXRzY2FwZS5jb20vcmRmL3NpbXBsZS8wLjkvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKGh0dHA6Ly9zbGFzaGRvdC5vcmcvYXJ0aWNsZXMvOSwgNTEpCitTQVguZW5kRWxlbWVudE5zKGxpbmssIE5VTEwsICdodHRwOi8vbXkubmV0c2NhcGUuY29tL3JkZi9zaW1wbGUvMC45LycpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnROcyhpdGVtLCBOVUxMLCAnaHR0cDovL215Lm5ldHNjYXBlLmNvbS9yZGYvc2ltcGxlLzAuOS8nKQorU0FYLmNoYXJhY3RlcnMoCisgIAorICAsIDYpCitTQVguc3RhcnRFbGVtZW50TnMoaXRlbSwgTlVMTCwgJ2h0dHA6Ly9teS5uZXRzY2FwZS5jb20vcmRmL3NpbXBsZS8wLjkvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyh0aXRsZSwgTlVMTCwgJ2h0dHA6Ly9teS5uZXRzY2FwZS5jb20vcmRmL3NpbXBsZS8wLjkvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKDIgVGVyYWJpdHMgb2YgQmFuZHdpZHRoLCAyMykKK1NBWC5lbmRFbGVtZW50TnModGl0bGUsIE5VTEwsICdodHRwOi8vbXkubmV0c2NhcGUuY29tL3JkZi9zaW1wbGUvMC45LycpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMobGluaywgTlVMTCwgJ2h0dHA6Ly9teS5uZXRzY2FwZS5jb20vcmRmL3NpbXBsZS8wLjkvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKGh0dHA6Ly9zbGFzaGRvdC5vcmcvYXJ0aWNsZXMvOSwgNTEpCitTQVguZW5kRWxlbWVudE5zKGxpbmssIE5VTEwsICdodHRwOi8vbXkubmV0c2NhcGUuY29tL3JkZi9zaW1wbGUvMC45LycpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnROcyhpdGVtLCBOVUxMLCAnaHR0cDovL215Lm5ldHNjYXBlLmNvbS9yZGYvc2ltcGxlLzAuOS8nKQorU0FYLmNoYXJhY3RlcnMoCisgIAorICAsIDYpCitTQVguc3RhcnRFbGVtZW50TnMoaXRlbSwgTlVMTCwgJ2h0dHA6Ly9teS5uZXRzY2FwZS5jb20vcmRmL3NpbXBsZS8wLjkvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyh0aXRsZSwgTlVMTCwgJ2h0dHA6Ly9teS5uZXRzY2FwZS5jb20vcmRmL3NpbXBsZS8wLjkvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKFN1cHByZXNzaW9uIG9mIGNvbGQgZnVzaW9uIHJlcywgMzYpCitTQVguZW5kRWxlbWVudE5zKHRpdGxlLCBOVUxMLCAnaHR0cDovL215Lm5ldHNjYXBlLmNvbS9yZGYvc2ltcGxlLzAuOS8nKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKGxpbmssIE5VTEwsICdodHRwOi8vbXkubmV0c2NhcGUuY29tL3JkZi9zaW1wbGUvMC45LycsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhodHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzksIDUxKQorU0FYLmVuZEVsZW1lbnROcyhsaW5rLCBOVUxMLCAnaHR0cDovL215Lm5ldHNjYXBlLmNvbS9yZGYvc2ltcGxlLzAuOS8nKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5lbmRFbGVtZW50TnMoaXRlbSwgTlVMTCwgJ2h0dHA6Ly9teS5uZXRzY2FwZS5jb20vcmRmL3NpbXBsZS8wLjkvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAKKyAgLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKGl0ZW0sIE5VTEwsICdodHRwOi8vbXkubmV0c2NhcGUuY29tL3JkZi9zaW1wbGUvMC45LycsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnModGl0bGUsIE5VTEwsICdodHRwOi8vbXkubmV0c2NhcGUuY29tL3JkZi9zaW1wbGUvMC45LycsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhDYWxpZm9ybmlhIEdvdi4gSGFsdHMgV2FnZSBJbmYsIDM2KQorU0FYLmVuZEVsZW1lbnROcyh0aXRsZSwgTlVMTCwgJ2h0dHA6Ly9teS5uZXRzY2FwZS5jb20vcmRmL3NpbXBsZS8wLjkvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhsaW5rLCBOVUxMLCAnaHR0cDovL215Lm5ldHNjYXBlLmNvbS9yZGYvc2ltcGxlLzAuOS8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoaHR0cDovL3NsYXNoZG90Lm9yZy9hcnRpY2xlcy85LCA1MCkKK1NBWC5lbmRFbGVtZW50TnMobGluaywgTlVMTCwgJ2h0dHA6Ly9teS5uZXRzY2FwZS5jb20vcmRmL3NpbXBsZS8wLjkvJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguZW5kRWxlbWVudE5zKGl0ZW0sIE5VTEwsICdodHRwOi8vbXkubmV0c2NhcGUuY29tL3JkZi9zaW1wbGUvMC45LycpCitTQVguY2hhcmFjdGVycygKKyAgCisgICwgNikKK1NBWC5zdGFydEVsZW1lbnROcyhpdGVtLCBOVUxMLCAnaHR0cDovL215Lm5ldHNjYXBlLmNvbS9yZGYvc2ltcGxlLzAuOS8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHRpdGxlLCBOVUxMLCAnaHR0cDovL215Lm5ldHNjYXBlLmNvbS9yZGYvc2ltcGxlLzAuOS8nLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoUmVkIEhhdCBBbm5vdW5jZXMgSVBPLCAyMSkKK1NBWC5lbmRFbGVtZW50TnModGl0bGUsIE5VTEwsICdodHRwOi8vbXkubmV0c2NhcGUuY29tL3JkZi9zaW1wbGUvMC45LycpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMobGluaywgTlVMTCwgJ2h0dHA6Ly9teS5uZXRzY2FwZS5jb20vcmRmL3NpbXBsZS8wLjkvJywgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKGh0dHA6Ly9zbGFzaGRvdC5vcmcvYXJ0aWNsZXMvOSwgNTEpCitTQVguZW5kRWxlbWVudE5zKGxpbmssIE5VTEwsICdodHRwOi8vbXkubmV0c2NhcGUuY29tL3JkZi9zaW1wbGUvMC45LycpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnROcyhpdGVtLCBOVUxMLCAnaHR0cDovL215Lm5ldHNjYXBlLmNvbS9yZGYvc2ltcGxlLzAuOS8nKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguZW5kRWxlbWVudE5zKFJERiwgcmRmLCAnaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIycpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2xhc2hkb3QueG1sIGIvbGlieG1sMi9yZXN1bHQvc2xhc2hkb3QueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI2NDhkNWUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zbGFzaGRvdC54bWwKQEAgLTAsMCArMSwxMTMgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPHVsdHJhbW9kZT4KKyA8c3Rvcnk+CisgICAgPHRpdGxlPjEwMCBNYml0L3Mgb24gRmlicmUgdG8gdGhlIGhvbWU8L3RpdGxlPgorICAgIDx1cmw+aHR0cDovL3NsYXNoZG90Lm9yZy9hcnRpY2xlcy85OS8wNi8wNi8xNDQwMjExLnNodG1sPC91cmw+CisgICAgPHRpbWU+MTk5OS0wNi0wNiAxNDozOTo1OTwvdGltZT4KKyAgICA8YXV0aG9yPkNtZHJUYWNvPC9hdXRob3I+CisgICAgPGRlcGFydG1lbnQ+d291bGRuJ3QtaXQtYmUtbmljZTwvZGVwYXJ0bWVudD4KKyAgICA8dG9waWM+aW50ZXJuZXQ8L3RvcGljPgorICAgIDxjb21tZW50cz4yMDwvY29tbWVudHM+CisgICAgPHNlY3Rpb24+YXJ0aWNsZXM8L3NlY3Rpb24+CisgICAgPGltYWdlPnRvcGljaW50ZXJuZXQuanBnPC9pbWFnZT4KKyAgPC9zdG9yeT4KKyA8c3Rvcnk+CisgICAgPHRpdGxlPkdpbXAgMS4yIFByZXZpZXc8L3RpdGxlPgorICAgIDx1cmw+aHR0cDovL3NsYXNoZG90Lm9yZy9hcnRpY2xlcy85OS8wNi8wNi8xNDM4MjQ2LnNodG1sPC91cmw+CisgICAgPHRpbWU+MTk5OS0wNi0wNiAxNDozODo0MDwvdGltZT4KKyAgICA8YXV0aG9yPkNtZHJUYWNvPC9hdXRob3I+CisgICAgPGRlcGFydG1lbnQ+c3R1ZmYtdG8tcmVhZDwvZGVwYXJ0bWVudD4KKyAgICA8dG9waWM+Z2ltcDwvdG9waWM+CisgICAgPGNvbW1lbnRzPjEyPC9jb21tZW50cz4KKyAgICA8c2VjdGlvbj5hcnRpY2xlczwvc2VjdGlvbj4KKyAgICA8aW1hZ2U+dG9waWNnaW1wLmdpZjwvaW1hZ2U+CisgIDwvc3Rvcnk+CisgPHN0b3J5PgorICAgIDx0aXRsZT5Tb255J3MgQUlCTyByb2JvdCBTb2xkIE91dDwvdGl0bGU+CisgICAgPHVybD5odHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzk5LzA2LzA2LzE0MzIyNTYuc2h0bWw8L3VybD4KKyAgICA8dGltZT4xOTk5LTA2LTA2IDE0OjMyOjUxPC90aW1lPgorICAgIDxhdXRob3I+Q21kclRhY288L2F1dGhvcj4KKyAgICA8ZGVwYXJ0bWVudD5zdHVmZi10by1zZWU8L2RlcGFydG1lbnQ+CisgICAgPHRvcGljPnRlY2g8L3RvcGljPgorICAgIDxjb21tZW50cz4xMDwvY29tbWVudHM+CisgICAgPHNlY3Rpb24+YXJ0aWNsZXM8L3NlY3Rpb24+CisgICAgPGltYWdlPnRvcGljdGVjaDIuanBnPC9pbWFnZT4KKyAgPC9zdG9yeT4KKyA8c3Rvcnk+CisgICAgPHRpdGxlPkFzayBTbGFzaGRvdDogQW5vdGhlciBXb3JkIGZvciAiSGFja2VyIj88L3RpdGxlPgorICAgIDx1cmw+aHR0cDovL3NsYXNoZG90Lm9yZy9hc2tzbGFzaGRvdC85OS8wNi8wNS8xODE1MjI1LnNodG1sPC91cmw+CisgICAgPHRpbWU+MTk5OS0wNi0wNSAyMDowMDowMDwvdGltZT4KKyAgICA8YXV0aG9yPkNsaWZmPC9hdXRob3I+CisgICAgPGRlcGFydG1lbnQ+aGFja2VyLXZzLWNyYWNrZXI8L2RlcGFydG1lbnQ+CisgICAgPHRvcGljPm5ld3M8L3RvcGljPgorICAgIDxjb21tZW50cz4zODU8L2NvbW1lbnRzPgorICAgIDxzZWN0aW9uPmFza3NsYXNoZG90PC9zZWN0aW9uPgorICAgIDxpbWFnZT50b3BpY25ld3MuZ2lmPC9pbWFnZT4KKyAgPC9zdG9yeT4KKyA8c3Rvcnk+CisgICAgPHRpdGxlPkNvcmVsIExpbnV4IEZBUTwvdGl0bGU+CisgICAgPHVybD5odHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzk5LzA2LzA1LzE4NDIyMTguc2h0bWw8L3VybD4KKyAgICA8dGltZT4xOTk5LTA2LTA1IDE4OjQyOjA2PC90aW1lPgorICAgIDxhdXRob3I+Q21kclRhY288L2F1dGhvcj4KKyAgICA8ZGVwYXJ0bWVudD5zdHVmZi10by1yZWFkPC9kZXBhcnRtZW50PgorICAgIDx0b3BpYz5jb3JlbDwvdG9waWM+CisgICAgPGNvbW1lbnRzPjE2NDwvY29tbWVudHM+CisgICAgPHNlY3Rpb24+YXJ0aWNsZXM8L3NlY3Rpb24+CisgICAgPGltYWdlPnRvcGljY29yZWwuZ2lmPC9pbWFnZT4KKyAgPC9zdG9yeT4KKyA8c3Rvcnk+CisgICAgPHRpdGxlPlVwc2lkZSBkb3duc2lkZXMgTVAzLkNPTS48L3RpdGxlPgorICAgIDx1cmw+aHR0cDovL3NsYXNoZG90Lm9yZy9hcnRpY2xlcy85OS8wNi8wNS8xNTU4MjEwLnNodG1sPC91cmw+CisgICAgPHRpbWU+MTk5OS0wNi0wNSAxNTo1Njo0NTwvdGltZT4KKyAgICA8YXV0aG9yPkNtZHJUYWNvPC9hdXRob3I+CisgICAgPGRlcGFydG1lbnQ+c3R1ZmYtdG8tdGhpbmstYWJvdXQ8L2RlcGFydG1lbnQ+CisgICAgPHRvcGljPm11c2ljPC90b3BpYz4KKyAgICA8Y29tbWVudHM+NDg8L2NvbW1lbnRzPgorICAgIDxzZWN0aW9uPmFydGljbGVzPC9zZWN0aW9uPgorICAgIDxpbWFnZT50b3BpY211c2ljLmdpZjwvaW1hZ2U+CisgIDwvc3Rvcnk+CisgPHN0b3J5PgorICAgIDx0aXRsZT4yIFRlcmFiaXRzIG9mIEJhbmR3aWR0aDwvdGl0bGU+CisgICAgPHVybD5odHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzk5LzA2LzA1LzE1NTQyNTguc2h0bWw8L3VybD4KKyAgICA8dGltZT4xOTk5LTA2LTA1IDE1OjUzOjQzPC90aW1lPgorICAgIDxhdXRob3I+Q21kclRhY288L2F1dGhvcj4KKyAgICA8ZGVwYXJ0bWVudD5mYXN0ZXItcG9ybjwvZGVwYXJ0bWVudD4KKyAgICA8dG9waWM+aW50ZXJuZXQ8L3RvcGljPgorICAgIDxjb21tZW50cz42NjwvY29tbWVudHM+CisgICAgPHNlY3Rpb24+YXJ0aWNsZXM8L3NlY3Rpb24+CisgICAgPGltYWdlPnRvcGljaW50ZXJuZXQuanBnPC9pbWFnZT4KKyAgPC9zdG9yeT4KKyA8c3Rvcnk+CisgICAgPHRpdGxlPlN1cHByZXNzaW9uIG9mIGNvbGQgZnVzaW9uIHJlc2VhcmNoPzwvdGl0bGU+CisgICAgPHVybD5odHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzk5LzA2LzA0LzIzMTMyMDAuc2h0bWw8L3VybD4KKyAgICA8dGltZT4xOTk5LTA2LTA0IDIzOjEyOjI5PC90aW1lPgorICAgIDxhdXRob3I+SGVtb3M8L2F1dGhvcj4KKyAgICA8ZGVwYXJ0bWVudD5wb3NzaWJseS1wcm9iYWJseTwvZGVwYXJ0bWVudD4KKyAgICA8dG9waWM+c2NpZW5jZTwvdG9waWM+CisgICAgPGNvbW1lbnRzPjIxNzwvY29tbWVudHM+CisgICAgPHNlY3Rpb24+YXJ0aWNsZXM8L3NlY3Rpb24+CisgICAgPGltYWdlPnRvcGljc2NpZW5jZS5naWY8L2ltYWdlPgorICA8L3N0b3J5PgorIDxzdG9yeT4KKyAgICA8dGl0bGU+Q2FsaWZvcm5pYSBHb3YuIEhhbHRzIFdhZ2UgSW5mbyBTYWxlPC90aXRsZT4KKyAgICA8dXJsPmh0dHA6Ly9zbGFzaGRvdC5vcmcvYXJ0aWNsZXMvOTkvMDYvMDQvMjM1MjU2LnNodG1sPC91cmw+CisgICAgPHRpbWU+MTk5OS0wNi0wNCAyMzowNTozNDwvdGltZT4KKyAgICA8YXV0aG9yPkhlbW9zPC9hdXRob3I+CisgICAgPGRlcGFydG1lbnQ+d29vLWhvbyE8L2RlcGFydG1lbnQ+CisgICAgPHRvcGljPnVzYTwvdG9waWM+CisgICAgPGNvbW1lbnRzPjE2PC9jb21tZW50cz4KKyAgICA8c2VjdGlvbj5hcnRpY2xlczwvc2VjdGlvbj4KKyAgICA8aW1hZ2U+dG9waWN1cy5naWY8L2ltYWdlPgorICA8L3N0b3J5PgorIDxzdG9yeT4KKyAgICA8dGl0bGU+UmVkIEhhdCBBbm5vdW5jZXMgSVBPPC90aXRsZT4KKyAgICA8dXJsPmh0dHA6Ly9zbGFzaGRvdC5vcmcvYXJ0aWNsZXMvOTkvMDYvMDQvMDg0OTIwNy5zaHRtbDwvdXJsPgorICAgIDx0aW1lPjE5OTktMDYtMDQgMTk6MzA6MTg8L3RpbWU+CisgICAgPGF1dGhvcj5KdXN0aW48L2F1dGhvcj4KKyAgICA8ZGVwYXJ0bWVudD5kZXRhaWxzLXNrZXRjaHk8L2RlcGFydG1lbnQ+CisgICAgPHRvcGljPnJlZGhhdDwvdG9waWM+CisgICAgPGNvbW1lbnRzPjE1NTwvY29tbWVudHM+CisgICAgPHNlY3Rpb24+YXJ0aWNsZXM8L3NlY3Rpb24+CisgICAgPGltYWdlPnRvcGljcmVkaGF0LmdpZjwvaW1hZ2U+CisgIDwvc3Rvcnk+Cis8L3VsdHJhbW9kZT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NsYXNoZG90LnhtbC5yZGUgYi9saWJ4bWwyL3Jlc3VsdC9zbGFzaGRvdC54bWwucmRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU2YjY4MzYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zbGFzaGRvdC54bWwucmRlCkBAIC0wLDAgKzEsNTE0IEBACiswIDEgdWx0cmFtb2RlIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgc3RvcnkgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSB0aXRsZSAwIDAKKzMgMyAjdGV4dCAwIDEgMTAwIE1iaXQvcyBvbiBGaWJyZSB0byB0aGUgaG9tZQorMiAxNSB0aXRsZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHVybCAwIDAKKzMgMyAjdGV4dCAwIDEgaHR0cDovL3NsYXNoZG90Lm9yZy9hcnRpY2xlcy85OS8wNi8wNi8xNDQwMjExLnNodG1sCisyIDE1IHVybCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRpbWUgMCAwCiszIDMgI3RleHQgMCAxIDE5OTktMDYtMDYgMTQ6Mzk6NTkKKzIgMTUgdGltZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGF1dGhvciAwIDAKKzMgMyAjdGV4dCAwIDEgQ21kclRhY28KKzIgMTUgYXV0aG9yIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgZGVwYXJ0bWVudCAwIDAKKzMgMyAjdGV4dCAwIDEgd291bGRuJ3QtaXQtYmUtbmljZQorMiAxNSBkZXBhcnRtZW50IDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdG9waWMgMCAwCiszIDMgI3RleHQgMCAxIGludGVybmV0CisyIDE1IHRvcGljIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgY29tbWVudHMgMCAwCiszIDMgI3RleHQgMCAxIDIwCisyIDE1IGNvbW1lbnRzIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgc2VjdGlvbiAwIDAKKzMgMyAjdGV4dCAwIDEgYXJ0aWNsZXMKKzIgMTUgc2VjdGlvbiAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGltYWdlIDAgMAorMyAzICN0ZXh0IDAgMSB0b3BpY2ludGVybmV0LmpwZworMiAxNSBpbWFnZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzEgMTUgc3RvcnkgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBzdG9yeSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRpdGxlIDAgMAorMyAzICN0ZXh0IDAgMSBHaW1wIDEuMiBQcmV2aWV3CisyIDE1IHRpdGxlIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdXJsIDAgMAorMyAzICN0ZXh0IDAgMSBodHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzk5LzA2LzA2LzE0MzgyNDYuc2h0bWwKKzIgMTUgdXJsIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdGltZSAwIDAKKzMgMyAjdGV4dCAwIDEgMTk5OS0wNi0wNiAxNDozODo0MAorMiAxNSB0aW1lIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgYXV0aG9yIDAgMAorMyAzICN0ZXh0IDAgMSBDbWRyVGFjbworMiAxNSBhdXRob3IgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBkZXBhcnRtZW50IDAgMAorMyAzICN0ZXh0IDAgMSBzdHVmZi10by1yZWFkCisyIDE1IGRlcGFydG1lbnQgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSB0b3BpYyAwIDAKKzMgMyAjdGV4dCAwIDEgZ2ltcAorMiAxNSB0b3BpYyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGNvbW1lbnRzIDAgMAorMyAzICN0ZXh0IDAgMSAxMgorMiAxNSBjb21tZW50cyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHNlY3Rpb24gMCAwCiszIDMgI3RleHQgMCAxIGFydGljbGVzCisyIDE1IHNlY3Rpb24gMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBpbWFnZSAwIDAKKzMgMyAjdGV4dCAwIDEgdG9waWNnaW1wLmdpZgorMiAxNSBpbWFnZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzEgMTUgc3RvcnkgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBzdG9yeSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRpdGxlIDAgMAorMyAzICN0ZXh0IDAgMSBTb255J3MgQUlCTyByb2JvdCBTb2xkIE91dAorMiAxNSB0aXRsZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHVybCAwIDAKKzMgMyAjdGV4dCAwIDEgaHR0cDovL3NsYXNoZG90Lm9yZy9hcnRpY2xlcy85OS8wNi8wNi8xNDMyMjU2LnNodG1sCisyIDE1IHVybCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRpbWUgMCAwCiszIDMgI3RleHQgMCAxIDE5OTktMDYtMDYgMTQ6MzI6NTEKKzIgMTUgdGltZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGF1dGhvciAwIDAKKzMgMyAjdGV4dCAwIDEgQ21kclRhY28KKzIgMTUgYXV0aG9yIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgZGVwYXJ0bWVudCAwIDAKKzMgMyAjdGV4dCAwIDEgc3R1ZmYtdG8tc2VlCisyIDE1IGRlcGFydG1lbnQgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSB0b3BpYyAwIDAKKzMgMyAjdGV4dCAwIDEgdGVjaAorMiAxNSB0b3BpYyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGNvbW1lbnRzIDAgMAorMyAzICN0ZXh0IDAgMSAxMAorMiAxNSBjb21tZW50cyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHNlY3Rpb24gMCAwCiszIDMgI3RleHQgMCAxIGFydGljbGVzCisyIDE1IHNlY3Rpb24gMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBpbWFnZSAwIDAKKzMgMyAjdGV4dCAwIDEgdG9waWN0ZWNoMi5qcGcKKzIgMTUgaW1hZ2UgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDE1IHN0b3J5IDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgc3RvcnkgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSB0aXRsZSAwIDAKKzMgMyAjdGV4dCAwIDEgQXNrIFNsYXNoZG90OiBBbm90aGVyIFdvcmQgZm9yICJIYWNrZXIiPworMiAxNSB0aXRsZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHVybCAwIDAKKzMgMyAjdGV4dCAwIDEgaHR0cDovL3NsYXNoZG90Lm9yZy9hc2tzbGFzaGRvdC85OS8wNi8wNS8xODE1MjI1LnNodG1sCisyIDE1IHVybCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRpbWUgMCAwCiszIDMgI3RleHQgMCAxIDE5OTktMDYtMDUgMjA6MDA6MDAKKzIgMTUgdGltZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGF1dGhvciAwIDAKKzMgMyAjdGV4dCAwIDEgQ2xpZmYKKzIgMTUgYXV0aG9yIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgZGVwYXJ0bWVudCAwIDAKKzMgMyAjdGV4dCAwIDEgaGFja2VyLXZzLWNyYWNrZXIKKzIgMTUgZGVwYXJ0bWVudCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRvcGljIDAgMAorMyAzICN0ZXh0IDAgMSBuZXdzCisyIDE1IHRvcGljIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgY29tbWVudHMgMCAwCiszIDMgI3RleHQgMCAxIDM4NQorMiAxNSBjb21tZW50cyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHNlY3Rpb24gMCAwCiszIDMgI3RleHQgMCAxIGFza3NsYXNoZG90CisyIDE1IHNlY3Rpb24gMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBpbWFnZSAwIDAKKzMgMyAjdGV4dCAwIDEgdG9waWNuZXdzLmdpZgorMiAxNSBpbWFnZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzEgMTUgc3RvcnkgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBzdG9yeSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRpdGxlIDAgMAorMyAzICN0ZXh0IDAgMSBDb3JlbCBMaW51eCBGQVEKKzIgMTUgdGl0bGUgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSB1cmwgMCAwCiszIDMgI3RleHQgMCAxIGh0dHA6Ly9zbGFzaGRvdC5vcmcvYXJ0aWNsZXMvOTkvMDYvMDUvMTg0MjIxOC5zaHRtbAorMiAxNSB1cmwgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSB0aW1lIDAgMAorMyAzICN0ZXh0IDAgMSAxOTk5LTA2LTA1IDE4OjQyOjA2CisyIDE1IHRpbWUgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBhdXRob3IgMCAwCiszIDMgI3RleHQgMCAxIENtZHJUYWNvCisyIDE1IGF1dGhvciAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGRlcGFydG1lbnQgMCAwCiszIDMgI3RleHQgMCAxIHN0dWZmLXRvLXJlYWQKKzIgMTUgZGVwYXJ0bWVudCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRvcGljIDAgMAorMyAzICN0ZXh0IDAgMSBjb3JlbAorMiAxNSB0b3BpYyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGNvbW1lbnRzIDAgMAorMyAzICN0ZXh0IDAgMSAxNjQKKzIgMTUgY29tbWVudHMgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBzZWN0aW9uIDAgMAorMyAzICN0ZXh0IDAgMSBhcnRpY2xlcworMiAxNSBzZWN0aW9uIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgaW1hZ2UgMCAwCiszIDMgI3RleHQgMCAxIHRvcGljY29yZWwuZ2lmCisyIDE1IGltYWdlIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMSAxNSBzdG9yeSAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIHN0b3J5IDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdGl0bGUgMCAwCiszIDMgI3RleHQgMCAxIFVwc2lkZSBkb3duc2lkZXMgTVAzLkNPTS4KKzIgMTUgdGl0bGUgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSB1cmwgMCAwCiszIDMgI3RleHQgMCAxIGh0dHA6Ly9zbGFzaGRvdC5vcmcvYXJ0aWNsZXMvOTkvMDYvMDUvMTU1ODIxMC5zaHRtbAorMiAxNSB1cmwgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSB0aW1lIDAgMAorMyAzICN0ZXh0IDAgMSAxOTk5LTA2LTA1IDE1OjU2OjQ1CisyIDE1IHRpbWUgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBhdXRob3IgMCAwCiszIDMgI3RleHQgMCAxIENtZHJUYWNvCisyIDE1IGF1dGhvciAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGRlcGFydG1lbnQgMCAwCiszIDMgI3RleHQgMCAxIHN0dWZmLXRvLXRoaW5rLWFib3V0CisyIDE1IGRlcGFydG1lbnQgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSB0b3BpYyAwIDAKKzMgMyAjdGV4dCAwIDEgbXVzaWMKKzIgMTUgdG9waWMgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBjb21tZW50cyAwIDAKKzMgMyAjdGV4dCAwIDEgNDgKKzIgMTUgY29tbWVudHMgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBzZWN0aW9uIDAgMAorMyAzICN0ZXh0IDAgMSBhcnRpY2xlcworMiAxNSBzZWN0aW9uIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgaW1hZ2UgMCAwCiszIDMgI3RleHQgMCAxIHRvcGljbXVzaWMuZ2lmCisyIDE1IGltYWdlIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMSAxNSBzdG9yeSAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIHN0b3J5IDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdGl0bGUgMCAwCiszIDMgI3RleHQgMCAxIDIgVGVyYWJpdHMgb2YgQmFuZHdpZHRoCisyIDE1IHRpdGxlIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdXJsIDAgMAorMyAzICN0ZXh0IDAgMSBodHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzk5LzA2LzA1LzE1NTQyNTguc2h0bWwKKzIgMTUgdXJsIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdGltZSAwIDAKKzMgMyAjdGV4dCAwIDEgMTk5OS0wNi0wNSAxNTo1Mzo0MworMiAxNSB0aW1lIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgYXV0aG9yIDAgMAorMyAzICN0ZXh0IDAgMSBDbWRyVGFjbworMiAxNSBhdXRob3IgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBkZXBhcnRtZW50IDAgMAorMyAzICN0ZXh0IDAgMSBmYXN0ZXItcG9ybgorMiAxNSBkZXBhcnRtZW50IDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdG9waWMgMCAwCiszIDMgI3RleHQgMCAxIGludGVybmV0CisyIDE1IHRvcGljIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgY29tbWVudHMgMCAwCiszIDMgI3RleHQgMCAxIDY2CisyIDE1IGNvbW1lbnRzIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgc2VjdGlvbiAwIDAKKzMgMyAjdGV4dCAwIDEgYXJ0aWNsZXMKKzIgMTUgc2VjdGlvbiAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGltYWdlIDAgMAorMyAzICN0ZXh0IDAgMSB0b3BpY2ludGVybmV0LmpwZworMiAxNSBpbWFnZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzEgMTUgc3RvcnkgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBzdG9yeSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRpdGxlIDAgMAorMyAzICN0ZXh0IDAgMSBTdXBwcmVzc2lvbiBvZiBjb2xkIGZ1c2lvbiByZXNlYXJjaD8KKzIgMTUgdGl0bGUgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSB1cmwgMCAwCiszIDMgI3RleHQgMCAxIGh0dHA6Ly9zbGFzaGRvdC5vcmcvYXJ0aWNsZXMvOTkvMDYvMDQvMjMxMzIwMC5zaHRtbAorMiAxNSB1cmwgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSB0aW1lIDAgMAorMyAzICN0ZXh0IDAgMSAxOTk5LTA2LTA0IDIzOjEyOjI5CisyIDE1IHRpbWUgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBhdXRob3IgMCAwCiszIDMgI3RleHQgMCAxIEhlbW9zCisyIDE1IGF1dGhvciAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGRlcGFydG1lbnQgMCAwCiszIDMgI3RleHQgMCAxIHBvc3NpYmx5LXByb2JhYmx5CisyIDE1IGRlcGFydG1lbnQgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSB0b3BpYyAwIDAKKzMgMyAjdGV4dCAwIDEgc2NpZW5jZQorMiAxNSB0b3BpYyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGNvbW1lbnRzIDAgMAorMyAzICN0ZXh0IDAgMSAyMTcKKzIgMTUgY29tbWVudHMgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBzZWN0aW9uIDAgMAorMyAzICN0ZXh0IDAgMSBhcnRpY2xlcworMiAxNSBzZWN0aW9uIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgaW1hZ2UgMCAwCiszIDMgI3RleHQgMCAxIHRvcGljc2NpZW5jZS5naWYKKzIgMTUgaW1hZ2UgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDE1IHN0b3J5IDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgc3RvcnkgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSB0aXRsZSAwIDAKKzMgMyAjdGV4dCAwIDEgQ2FsaWZvcm5pYSBHb3YuIEhhbHRzIFdhZ2UgSW5mbyBTYWxlCisyIDE1IHRpdGxlIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdXJsIDAgMAorMyAzICN0ZXh0IDAgMSBodHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzk5LzA2LzA0LzIzNTI1Ni5zaHRtbAorMiAxNSB1cmwgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSB0aW1lIDAgMAorMyAzICN0ZXh0IDAgMSAxOTk5LTA2LTA0IDIzOjA1OjM0CisyIDE1IHRpbWUgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBhdXRob3IgMCAwCiszIDMgI3RleHQgMCAxIEhlbW9zCisyIDE1IGF1dGhvciAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGRlcGFydG1lbnQgMCAwCiszIDMgI3RleHQgMCAxIHdvby1ob28hCisyIDE1IGRlcGFydG1lbnQgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSB0b3BpYyAwIDAKKzMgMyAjdGV4dCAwIDEgdXNhCisyIDE1IHRvcGljIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgY29tbWVudHMgMCAwCiszIDMgI3RleHQgMCAxIDE2CisyIDE1IGNvbW1lbnRzIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgc2VjdGlvbiAwIDAKKzMgMyAjdGV4dCAwIDEgYXJ0aWNsZXMKKzIgMTUgc2VjdGlvbiAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGltYWdlIDAgMAorMyAzICN0ZXh0IDAgMSB0b3BpY3VzLmdpZgorMiAxNSBpbWFnZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzEgMTUgc3RvcnkgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBzdG9yeSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRpdGxlIDAgMAorMyAzICN0ZXh0IDAgMSBSZWQgSGF0IEFubm91bmNlcyBJUE8KKzIgMTUgdGl0bGUgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSB1cmwgMCAwCiszIDMgI3RleHQgMCAxIGh0dHA6Ly9zbGFzaGRvdC5vcmcvYXJ0aWNsZXMvOTkvMDYvMDQvMDg0OTIwNy5zaHRtbAorMiAxNSB1cmwgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSB0aW1lIDAgMAorMyAzICN0ZXh0IDAgMSAxOTk5LTA2LTA0IDE5OjMwOjE4CisyIDE1IHRpbWUgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBhdXRob3IgMCAwCiszIDMgI3RleHQgMCAxIEp1c3RpbgorMiAxNSBhdXRob3IgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBkZXBhcnRtZW50IDAgMAorMyAzICN0ZXh0IDAgMSBkZXRhaWxzLXNrZXRjaHkKKzIgMTUgZGVwYXJ0bWVudCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRvcGljIDAgMAorMyAzICN0ZXh0IDAgMSByZWRoYXQKKzIgMTUgdG9waWMgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBjb21tZW50cyAwIDAKKzMgMyAjdGV4dCAwIDEgMTU1CisyIDE1IGNvbW1lbnRzIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgc2VjdGlvbiAwIDAKKzMgMyAjdGV4dCAwIDEgYXJ0aWNsZXMKKzIgMTUgc2VjdGlvbiAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGltYWdlIDAgMAorMyAzICN0ZXh0IDAgMSB0b3BpY3JlZGhhdC5naWYKKzIgMTUgaW1hZ2UgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDE1IHN0b3J5IDAgMAorMSAxNCAjdGV4dCAwIDEgCisKKzAgMTUgdWx0cmFtb2RlIDAgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2xhc2hkb3QueG1sLnJkciBiL2xpYnhtbDIvcmVzdWx0L3NsYXNoZG90LnhtbC5yZHIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTZiNjgzNgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NsYXNoZG90LnhtbC5yZHIKQEAgLTAsMCArMSw1MTQgQEAKKzAgMSB1bHRyYW1vZGUgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBzdG9yeSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRpdGxlIDAgMAorMyAzICN0ZXh0IDAgMSAxMDAgTWJpdC9zIG9uIEZpYnJlIHRvIHRoZSBob21lCisyIDE1IHRpdGxlIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdXJsIDAgMAorMyAzICN0ZXh0IDAgMSBodHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzk5LzA2LzA2LzE0NDAyMTEuc2h0bWwKKzIgMTUgdXJsIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdGltZSAwIDAKKzMgMyAjdGV4dCAwIDEgMTk5OS0wNi0wNiAxNDozOTo1OQorMiAxNSB0aW1lIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgYXV0aG9yIDAgMAorMyAzICN0ZXh0IDAgMSBDbWRyVGFjbworMiAxNSBhdXRob3IgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBkZXBhcnRtZW50IDAgMAorMyAzICN0ZXh0IDAgMSB3b3VsZG4ndC1pdC1iZS1uaWNlCisyIDE1IGRlcGFydG1lbnQgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSB0b3BpYyAwIDAKKzMgMyAjdGV4dCAwIDEgaW50ZXJuZXQKKzIgMTUgdG9waWMgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBjb21tZW50cyAwIDAKKzMgMyAjdGV4dCAwIDEgMjAKKzIgMTUgY29tbWVudHMgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBzZWN0aW9uIDAgMAorMyAzICN0ZXh0IDAgMSBhcnRpY2xlcworMiAxNSBzZWN0aW9uIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgaW1hZ2UgMCAwCiszIDMgI3RleHQgMCAxIHRvcGljaW50ZXJuZXQuanBnCisyIDE1IGltYWdlIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMSAxNSBzdG9yeSAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIHN0b3J5IDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdGl0bGUgMCAwCiszIDMgI3RleHQgMCAxIEdpbXAgMS4yIFByZXZpZXcKKzIgMTUgdGl0bGUgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSB1cmwgMCAwCiszIDMgI3RleHQgMCAxIGh0dHA6Ly9zbGFzaGRvdC5vcmcvYXJ0aWNsZXMvOTkvMDYvMDYvMTQzODI0Ni5zaHRtbAorMiAxNSB1cmwgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSB0aW1lIDAgMAorMyAzICN0ZXh0IDAgMSAxOTk5LTA2LTA2IDE0OjM4OjQwCisyIDE1IHRpbWUgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBhdXRob3IgMCAwCiszIDMgI3RleHQgMCAxIENtZHJUYWNvCisyIDE1IGF1dGhvciAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGRlcGFydG1lbnQgMCAwCiszIDMgI3RleHQgMCAxIHN0dWZmLXRvLXJlYWQKKzIgMTUgZGVwYXJ0bWVudCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRvcGljIDAgMAorMyAzICN0ZXh0IDAgMSBnaW1wCisyIDE1IHRvcGljIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgY29tbWVudHMgMCAwCiszIDMgI3RleHQgMCAxIDEyCisyIDE1IGNvbW1lbnRzIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgc2VjdGlvbiAwIDAKKzMgMyAjdGV4dCAwIDEgYXJ0aWNsZXMKKzIgMTUgc2VjdGlvbiAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGltYWdlIDAgMAorMyAzICN0ZXh0IDAgMSB0b3BpY2dpbXAuZ2lmCisyIDE1IGltYWdlIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMSAxNSBzdG9yeSAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIHN0b3J5IDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdGl0bGUgMCAwCiszIDMgI3RleHQgMCAxIFNvbnkncyBBSUJPIHJvYm90IFNvbGQgT3V0CisyIDE1IHRpdGxlIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdXJsIDAgMAorMyAzICN0ZXh0IDAgMSBodHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzk5LzA2LzA2LzE0MzIyNTYuc2h0bWwKKzIgMTUgdXJsIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdGltZSAwIDAKKzMgMyAjdGV4dCAwIDEgMTk5OS0wNi0wNiAxNDozMjo1MQorMiAxNSB0aW1lIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgYXV0aG9yIDAgMAorMyAzICN0ZXh0IDAgMSBDbWRyVGFjbworMiAxNSBhdXRob3IgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBkZXBhcnRtZW50IDAgMAorMyAzICN0ZXh0IDAgMSBzdHVmZi10by1zZWUKKzIgMTUgZGVwYXJ0bWVudCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRvcGljIDAgMAorMyAzICN0ZXh0IDAgMSB0ZWNoCisyIDE1IHRvcGljIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgY29tbWVudHMgMCAwCiszIDMgI3RleHQgMCAxIDEwCisyIDE1IGNvbW1lbnRzIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgc2VjdGlvbiAwIDAKKzMgMyAjdGV4dCAwIDEgYXJ0aWNsZXMKKzIgMTUgc2VjdGlvbiAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGltYWdlIDAgMAorMyAzICN0ZXh0IDAgMSB0b3BpY3RlY2gyLmpwZworMiAxNSBpbWFnZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzEgMTUgc3RvcnkgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBzdG9yeSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRpdGxlIDAgMAorMyAzICN0ZXh0IDAgMSBBc2sgU2xhc2hkb3Q6IEFub3RoZXIgV29yZCBmb3IgIkhhY2tlciI/CisyIDE1IHRpdGxlIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdXJsIDAgMAorMyAzICN0ZXh0IDAgMSBodHRwOi8vc2xhc2hkb3Qub3JnL2Fza3NsYXNoZG90Lzk5LzA2LzA1LzE4MTUyMjUuc2h0bWwKKzIgMTUgdXJsIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdGltZSAwIDAKKzMgMyAjdGV4dCAwIDEgMTk5OS0wNi0wNSAyMDowMDowMAorMiAxNSB0aW1lIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgYXV0aG9yIDAgMAorMyAzICN0ZXh0IDAgMSBDbGlmZgorMiAxNSBhdXRob3IgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBkZXBhcnRtZW50IDAgMAorMyAzICN0ZXh0IDAgMSBoYWNrZXItdnMtY3JhY2tlcgorMiAxNSBkZXBhcnRtZW50IDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdG9waWMgMCAwCiszIDMgI3RleHQgMCAxIG5ld3MKKzIgMTUgdG9waWMgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBjb21tZW50cyAwIDAKKzMgMyAjdGV4dCAwIDEgMzg1CisyIDE1IGNvbW1lbnRzIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgc2VjdGlvbiAwIDAKKzMgMyAjdGV4dCAwIDEgYXNrc2xhc2hkb3QKKzIgMTUgc2VjdGlvbiAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGltYWdlIDAgMAorMyAzICN0ZXh0IDAgMSB0b3BpY25ld3MuZ2lmCisyIDE1IGltYWdlIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMSAxNSBzdG9yeSAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIHN0b3J5IDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdGl0bGUgMCAwCiszIDMgI3RleHQgMCAxIENvcmVsIExpbnV4IEZBUQorMiAxNSB0aXRsZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHVybCAwIDAKKzMgMyAjdGV4dCAwIDEgaHR0cDovL3NsYXNoZG90Lm9yZy9hcnRpY2xlcy85OS8wNi8wNS8xODQyMjE4LnNodG1sCisyIDE1IHVybCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRpbWUgMCAwCiszIDMgI3RleHQgMCAxIDE5OTktMDYtMDUgMTg6NDI6MDYKKzIgMTUgdGltZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGF1dGhvciAwIDAKKzMgMyAjdGV4dCAwIDEgQ21kclRhY28KKzIgMTUgYXV0aG9yIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgZGVwYXJ0bWVudCAwIDAKKzMgMyAjdGV4dCAwIDEgc3R1ZmYtdG8tcmVhZAorMiAxNSBkZXBhcnRtZW50IDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdG9waWMgMCAwCiszIDMgI3RleHQgMCAxIGNvcmVsCisyIDE1IHRvcGljIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgY29tbWVudHMgMCAwCiszIDMgI3RleHQgMCAxIDE2NAorMiAxNSBjb21tZW50cyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHNlY3Rpb24gMCAwCiszIDMgI3RleHQgMCAxIGFydGljbGVzCisyIDE1IHNlY3Rpb24gMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBpbWFnZSAwIDAKKzMgMyAjdGV4dCAwIDEgdG9waWNjb3JlbC5naWYKKzIgMTUgaW1hZ2UgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDE1IHN0b3J5IDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgc3RvcnkgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSB0aXRsZSAwIDAKKzMgMyAjdGV4dCAwIDEgVXBzaWRlIGRvd25zaWRlcyBNUDMuQ09NLgorMiAxNSB0aXRsZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHVybCAwIDAKKzMgMyAjdGV4dCAwIDEgaHR0cDovL3NsYXNoZG90Lm9yZy9hcnRpY2xlcy85OS8wNi8wNS8xNTU4MjEwLnNodG1sCisyIDE1IHVybCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRpbWUgMCAwCiszIDMgI3RleHQgMCAxIDE5OTktMDYtMDUgMTU6NTY6NDUKKzIgMTUgdGltZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGF1dGhvciAwIDAKKzMgMyAjdGV4dCAwIDEgQ21kclRhY28KKzIgMTUgYXV0aG9yIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgZGVwYXJ0bWVudCAwIDAKKzMgMyAjdGV4dCAwIDEgc3R1ZmYtdG8tdGhpbmstYWJvdXQKKzIgMTUgZGVwYXJ0bWVudCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRvcGljIDAgMAorMyAzICN0ZXh0IDAgMSBtdXNpYworMiAxNSB0b3BpYyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGNvbW1lbnRzIDAgMAorMyAzICN0ZXh0IDAgMSA0OAorMiAxNSBjb21tZW50cyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHNlY3Rpb24gMCAwCiszIDMgI3RleHQgMCAxIGFydGljbGVzCisyIDE1IHNlY3Rpb24gMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBpbWFnZSAwIDAKKzMgMyAjdGV4dCAwIDEgdG9waWNtdXNpYy5naWYKKzIgMTUgaW1hZ2UgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDE1IHN0b3J5IDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgc3RvcnkgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSB0aXRsZSAwIDAKKzMgMyAjdGV4dCAwIDEgMiBUZXJhYml0cyBvZiBCYW5kd2lkdGgKKzIgMTUgdGl0bGUgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSB1cmwgMCAwCiszIDMgI3RleHQgMCAxIGh0dHA6Ly9zbGFzaGRvdC5vcmcvYXJ0aWNsZXMvOTkvMDYvMDUvMTU1NDI1OC5zaHRtbAorMiAxNSB1cmwgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSB0aW1lIDAgMAorMyAzICN0ZXh0IDAgMSAxOTk5LTA2LTA1IDE1OjUzOjQzCisyIDE1IHRpbWUgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBhdXRob3IgMCAwCiszIDMgI3RleHQgMCAxIENtZHJUYWNvCisyIDE1IGF1dGhvciAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGRlcGFydG1lbnQgMCAwCiszIDMgI3RleHQgMCAxIGZhc3Rlci1wb3JuCisyIDE1IGRlcGFydG1lbnQgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSB0b3BpYyAwIDAKKzMgMyAjdGV4dCAwIDEgaW50ZXJuZXQKKzIgMTUgdG9waWMgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBjb21tZW50cyAwIDAKKzMgMyAjdGV4dCAwIDEgNjYKKzIgMTUgY29tbWVudHMgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBzZWN0aW9uIDAgMAorMyAzICN0ZXh0IDAgMSBhcnRpY2xlcworMiAxNSBzZWN0aW9uIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgaW1hZ2UgMCAwCiszIDMgI3RleHQgMCAxIHRvcGljaW50ZXJuZXQuanBnCisyIDE1IGltYWdlIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMSAxNSBzdG9yeSAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIHN0b3J5IDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdGl0bGUgMCAwCiszIDMgI3RleHQgMCAxIFN1cHByZXNzaW9uIG9mIGNvbGQgZnVzaW9uIHJlc2VhcmNoPworMiAxNSB0aXRsZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHVybCAwIDAKKzMgMyAjdGV4dCAwIDEgaHR0cDovL3NsYXNoZG90Lm9yZy9hcnRpY2xlcy85OS8wNi8wNC8yMzEzMjAwLnNodG1sCisyIDE1IHVybCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRpbWUgMCAwCiszIDMgI3RleHQgMCAxIDE5OTktMDYtMDQgMjM6MTI6MjkKKzIgMTUgdGltZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGF1dGhvciAwIDAKKzMgMyAjdGV4dCAwIDEgSGVtb3MKKzIgMTUgYXV0aG9yIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgZGVwYXJ0bWVudCAwIDAKKzMgMyAjdGV4dCAwIDEgcG9zc2libHktcHJvYmFibHkKKzIgMTUgZGVwYXJ0bWVudCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRvcGljIDAgMAorMyAzICN0ZXh0IDAgMSBzY2llbmNlCisyIDE1IHRvcGljIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgY29tbWVudHMgMCAwCiszIDMgI3RleHQgMCAxIDIxNworMiAxNSBjb21tZW50cyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHNlY3Rpb24gMCAwCiszIDMgI3RleHQgMCAxIGFydGljbGVzCisyIDE1IHNlY3Rpb24gMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBpbWFnZSAwIDAKKzMgMyAjdGV4dCAwIDEgdG9waWNzY2llbmNlLmdpZgorMiAxNSBpbWFnZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzEgMTUgc3RvcnkgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBzdG9yeSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRpdGxlIDAgMAorMyAzICN0ZXh0IDAgMSBDYWxpZm9ybmlhIEdvdi4gSGFsdHMgV2FnZSBJbmZvIFNhbGUKKzIgMTUgdGl0bGUgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSB1cmwgMCAwCiszIDMgI3RleHQgMCAxIGh0dHA6Ly9zbGFzaGRvdC5vcmcvYXJ0aWNsZXMvOTkvMDYvMDQvMjM1MjU2LnNodG1sCisyIDE1IHVybCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRpbWUgMCAwCiszIDMgI3RleHQgMCAxIDE5OTktMDYtMDQgMjM6MDU6MzQKKzIgMTUgdGltZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGF1dGhvciAwIDAKKzMgMyAjdGV4dCAwIDEgSGVtb3MKKzIgMTUgYXV0aG9yIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgZGVwYXJ0bWVudCAwIDAKKzMgMyAjdGV4dCAwIDEgd29vLWhvbyEKKzIgMTUgZGVwYXJ0bWVudCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRvcGljIDAgMAorMyAzICN0ZXh0IDAgMSB1c2EKKzIgMTUgdG9waWMgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBjb21tZW50cyAwIDAKKzMgMyAjdGV4dCAwIDEgMTYKKzIgMTUgY29tbWVudHMgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBzZWN0aW9uIDAgMAorMyAzICN0ZXh0IDAgMSBhcnRpY2xlcworMiAxNSBzZWN0aW9uIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgaW1hZ2UgMCAwCiszIDMgI3RleHQgMCAxIHRvcGljdXMuZ2lmCisyIDE1IGltYWdlIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMSAxNSBzdG9yeSAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIHN0b3J5IDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdGl0bGUgMCAwCiszIDMgI3RleHQgMCAxIFJlZCBIYXQgQW5ub3VuY2VzIElQTworMiAxNSB0aXRsZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHVybCAwIDAKKzMgMyAjdGV4dCAwIDEgaHR0cDovL3NsYXNoZG90Lm9yZy9hcnRpY2xlcy85OS8wNi8wNC8wODQ5MjA3LnNodG1sCisyIDE1IHVybCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRpbWUgMCAwCiszIDMgI3RleHQgMCAxIDE5OTktMDYtMDQgMTk6MzA6MTgKKzIgMTUgdGltZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGF1dGhvciAwIDAKKzMgMyAjdGV4dCAwIDEgSnVzdGluCisyIDE1IGF1dGhvciAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGRlcGFydG1lbnQgMCAwCiszIDMgI3RleHQgMCAxIGRldGFpbHMtc2tldGNoeQorMiAxNSBkZXBhcnRtZW50IDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdG9waWMgMCAwCiszIDMgI3RleHQgMCAxIHJlZGhhdAorMiAxNSB0b3BpYyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGNvbW1lbnRzIDAgMAorMyAzICN0ZXh0IDAgMSAxNTUKKzIgMTUgY29tbWVudHMgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBzZWN0aW9uIDAgMAorMyAzICN0ZXh0IDAgMSBhcnRpY2xlcworMiAxNSBzZWN0aW9uIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgaW1hZ2UgMCAwCiszIDMgI3RleHQgMCAxIHRvcGljcmVkaGF0LmdpZgorMiAxNSBpbWFnZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzEgMTUgc3RvcnkgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKworMCAxNSB1bHRyYW1vZGUgMCAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zbGFzaGRvdC54bWwuc2F4IGIvbGlieG1sMi9yZXN1bHQvc2xhc2hkb3QueG1sLnNheApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42M2I1ZjBkCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2xhc2hkb3QueG1sLnNheApAQCAtMCwwICsxLDUxNyBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguc3RhcnRFbGVtZW50KHVsdHJhbW9kZSkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoc3RvcnkpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHRpdGxlKQorU0FYLmNoYXJhY3RlcnMoMTAwIE1iaXQvcyBvbiBGaWJyZSB0byB0aGUgaG9tLCAzMSkKK1NBWC5lbmRFbGVtZW50KHRpdGxlKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudCh1cmwpCitTQVguY2hhcmFjdGVycyhodHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzksIDUxKQorU0FYLmVuZEVsZW1lbnQodXJsKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudCh0aW1lKQorU0FYLmNoYXJhY3RlcnMoMTk5OS0wNi0wNiAxNDozOTo1OSwgMTkpCitTQVguZW5kRWxlbWVudCh0aW1lKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChhdXRob3IpCitTQVguY2hhcmFjdGVycyhDbWRyVGFjbywgOCkKK1NBWC5lbmRFbGVtZW50KGF1dGhvcikKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoZGVwYXJ0bWVudCkKK1NBWC5jaGFyYWN0ZXJzKHdvdWxkbid0LWl0LWJlLW5pY2UsIDE5KQorU0FYLmVuZEVsZW1lbnQoZGVwYXJ0bWVudCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQodG9waWMpCitTQVguY2hhcmFjdGVycyhpbnRlcm5ldCwgOCkKK1NBWC5lbmRFbGVtZW50KHRvcGljKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChjb21tZW50cykKK1NBWC5jaGFyYWN0ZXJzKDIwLCAyKQorU0FYLmVuZEVsZW1lbnQoY29tbWVudHMpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHNlY3Rpb24pCitTQVguY2hhcmFjdGVycyhhcnRpY2xlcywgOCkKK1NBWC5lbmRFbGVtZW50KHNlY3Rpb24pCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KGltYWdlKQorU0FYLmNoYXJhY3RlcnModG9waWNpbnRlcm5ldC5qcGcsIDE3KQorU0FYLmVuZEVsZW1lbnQoaW1hZ2UpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnQoc3RvcnkpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KHN0b3J5KQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudCh0aXRsZSkKK1NBWC5jaGFyYWN0ZXJzKEdpbXAgMS4yIFByZXZpZXcsIDE2KQorU0FYLmVuZEVsZW1lbnQodGl0bGUpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHVybCkKK1NBWC5jaGFyYWN0ZXJzKGh0dHA6Ly9zbGFzaGRvdC5vcmcvYXJ0aWNsZXMvOSwgNTEpCitTQVguZW5kRWxlbWVudCh1cmwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHRpbWUpCitTQVguY2hhcmFjdGVycygxOTk5LTA2LTA2IDE0OjM4OjQwLCAxOSkKK1NBWC5lbmRFbGVtZW50KHRpbWUpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KGF1dGhvcikKK1NBWC5jaGFyYWN0ZXJzKENtZHJUYWNvLCA4KQorU0FYLmVuZEVsZW1lbnQoYXV0aG9yKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChkZXBhcnRtZW50KQorU0FYLmNoYXJhY3RlcnMoc3R1ZmYtdG8tcmVhZCwgMTMpCitTQVguZW5kRWxlbWVudChkZXBhcnRtZW50KQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudCh0b3BpYykKK1NBWC5jaGFyYWN0ZXJzKGdpbXAsIDQpCitTQVguZW5kRWxlbWVudCh0b3BpYykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoY29tbWVudHMpCitTQVguY2hhcmFjdGVycygxMiwgMikKK1NBWC5lbmRFbGVtZW50KGNvbW1lbnRzKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChzZWN0aW9uKQorU0FYLmNoYXJhY3RlcnMoYXJ0aWNsZXMsIDgpCitTQVguZW5kRWxlbWVudChzZWN0aW9uKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChpbWFnZSkKK1NBWC5jaGFyYWN0ZXJzKHRvcGljZ2ltcC5naWYsIDEzKQorU0FYLmVuZEVsZW1lbnQoaW1hZ2UpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnQoc3RvcnkpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KHN0b3J5KQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudCh0aXRsZSkKK1NBWC5jaGFyYWN0ZXJzKFNvbnkncyBBSUJPIHJvYm90IFNvbGQgT3V0LCAyNikKK1NBWC5lbmRFbGVtZW50KHRpdGxlKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudCh1cmwpCitTQVguY2hhcmFjdGVycyhodHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzksIDUxKQorU0FYLmVuZEVsZW1lbnQodXJsKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudCh0aW1lKQorU0FYLmNoYXJhY3RlcnMoMTk5OS0wNi0wNiAxNDozMjo1MSwgMTkpCitTQVguZW5kRWxlbWVudCh0aW1lKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChhdXRob3IpCitTQVguY2hhcmFjdGVycyhDbWRyVGFjbywgOCkKK1NBWC5lbmRFbGVtZW50KGF1dGhvcikKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoZGVwYXJ0bWVudCkKK1NBWC5jaGFyYWN0ZXJzKHN0dWZmLXRvLXNlZSwgMTIpCitTQVguZW5kRWxlbWVudChkZXBhcnRtZW50KQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudCh0b3BpYykKK1NBWC5jaGFyYWN0ZXJzKHRlY2gsIDQpCitTQVguZW5kRWxlbWVudCh0b3BpYykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoY29tbWVudHMpCitTQVguY2hhcmFjdGVycygxMCwgMikKK1NBWC5lbmRFbGVtZW50KGNvbW1lbnRzKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChzZWN0aW9uKQorU0FYLmNoYXJhY3RlcnMoYXJ0aWNsZXMsIDgpCitTQVguZW5kRWxlbWVudChzZWN0aW9uKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChpbWFnZSkKK1NBWC5jaGFyYWN0ZXJzKHRvcGljdGVjaDIuanBnLCAxNCkKK1NBWC5lbmRFbGVtZW50KGltYWdlKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5lbmRFbGVtZW50KHN0b3J5KQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChzdG9yeSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQodGl0bGUpCitTQVguY2hhcmFjdGVycyhBc2sgU2xhc2hkb3Q6IEFub3RoZXIgV29yZCBmb3IsIDQwKQorU0FYLmVuZEVsZW1lbnQodGl0bGUpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHVybCkKK1NBWC5jaGFyYWN0ZXJzKGh0dHA6Ly9zbGFzaGRvdC5vcmcvYXNrc2xhc2hkbywgNTQpCitTQVguZW5kRWxlbWVudCh1cmwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHRpbWUpCitTQVguY2hhcmFjdGVycygxOTk5LTA2LTA1IDIwOjAwOjAwLCAxOSkKK1NBWC5lbmRFbGVtZW50KHRpbWUpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KGF1dGhvcikKK1NBWC5jaGFyYWN0ZXJzKENsaWZmLCA1KQorU0FYLmVuZEVsZW1lbnQoYXV0aG9yKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChkZXBhcnRtZW50KQorU0FYLmNoYXJhY3RlcnMoaGFja2VyLXZzLWNyYWNrZXIsIDE3KQorU0FYLmVuZEVsZW1lbnQoZGVwYXJ0bWVudCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQodG9waWMpCitTQVguY2hhcmFjdGVycyhuZXdzLCA0KQorU0FYLmVuZEVsZW1lbnQodG9waWMpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KGNvbW1lbnRzKQorU0FYLmNoYXJhY3RlcnMoMzg1LCAzKQorU0FYLmVuZEVsZW1lbnQoY29tbWVudHMpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHNlY3Rpb24pCitTQVguY2hhcmFjdGVycyhhc2tzbGFzaGRvdCwgMTEpCitTQVguZW5kRWxlbWVudChzZWN0aW9uKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChpbWFnZSkKK1NBWC5jaGFyYWN0ZXJzKHRvcGljbmV3cy5naWYsIDEzKQorU0FYLmVuZEVsZW1lbnQoaW1hZ2UpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnQoc3RvcnkpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KHN0b3J5KQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudCh0aXRsZSkKK1NBWC5jaGFyYWN0ZXJzKENvcmVsIExpbnV4IEZBUSwgMTUpCitTQVguZW5kRWxlbWVudCh0aXRsZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQodXJsKQorU0FYLmNoYXJhY3RlcnMoaHR0cDovL3NsYXNoZG90Lm9yZy9hcnRpY2xlcy85LCA1MSkKK1NBWC5lbmRFbGVtZW50KHVybCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQodGltZSkKK1NBWC5jaGFyYWN0ZXJzKDE5OTktMDYtMDUgMTg6NDI6MDYsIDE5KQorU0FYLmVuZEVsZW1lbnQodGltZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoYXV0aG9yKQorU0FYLmNoYXJhY3RlcnMoQ21kclRhY28sIDgpCitTQVguZW5kRWxlbWVudChhdXRob3IpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KGRlcGFydG1lbnQpCitTQVguY2hhcmFjdGVycyhzdHVmZi10by1yZWFkLCAxMykKK1NBWC5lbmRFbGVtZW50KGRlcGFydG1lbnQpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHRvcGljKQorU0FYLmNoYXJhY3RlcnMoY29yZWwsIDUpCitTQVguZW5kRWxlbWVudCh0b3BpYykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoY29tbWVudHMpCitTQVguY2hhcmFjdGVycygxNjQsIDMpCitTQVguZW5kRWxlbWVudChjb21tZW50cykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoc2VjdGlvbikKK1NBWC5jaGFyYWN0ZXJzKGFydGljbGVzLCA4KQorU0FYLmVuZEVsZW1lbnQoc2VjdGlvbikKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoaW1hZ2UpCitTQVguY2hhcmFjdGVycyh0b3BpY2NvcmVsLmdpZiwgMTQpCitTQVguZW5kRWxlbWVudChpbWFnZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguZW5kRWxlbWVudChzdG9yeSkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoc3RvcnkpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHRpdGxlKQorU0FYLmNoYXJhY3RlcnMoVXBzaWRlIGRvd25zaWRlcyBNUDMuQ09NLiwgMjUpCitTQVguZW5kRWxlbWVudCh0aXRsZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQodXJsKQorU0FYLmNoYXJhY3RlcnMoaHR0cDovL3NsYXNoZG90Lm9yZy9hcnRpY2xlcy85LCA1MSkKK1NBWC5lbmRFbGVtZW50KHVybCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQodGltZSkKK1NBWC5jaGFyYWN0ZXJzKDE5OTktMDYtMDUgMTU6NTY6NDUsIDE5KQorU0FYLmVuZEVsZW1lbnQodGltZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoYXV0aG9yKQorU0FYLmNoYXJhY3RlcnMoQ21kclRhY28sIDgpCitTQVguZW5kRWxlbWVudChhdXRob3IpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KGRlcGFydG1lbnQpCitTQVguY2hhcmFjdGVycyhzdHVmZi10by10aGluay1hYm91dCwgMjApCitTQVguZW5kRWxlbWVudChkZXBhcnRtZW50KQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudCh0b3BpYykKK1NBWC5jaGFyYWN0ZXJzKG11c2ljLCA1KQorU0FYLmVuZEVsZW1lbnQodG9waWMpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KGNvbW1lbnRzKQorU0FYLmNoYXJhY3RlcnMoNDgsIDIpCitTQVguZW5kRWxlbWVudChjb21tZW50cykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoc2VjdGlvbikKK1NBWC5jaGFyYWN0ZXJzKGFydGljbGVzLCA4KQorU0FYLmVuZEVsZW1lbnQoc2VjdGlvbikKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoaW1hZ2UpCitTQVguY2hhcmFjdGVycyh0b3BpY211c2ljLmdpZiwgMTQpCitTQVguZW5kRWxlbWVudChpbWFnZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguZW5kRWxlbWVudChzdG9yeSkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoc3RvcnkpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHRpdGxlKQorU0FYLmNoYXJhY3RlcnMoMiBUZXJhYml0cyBvZiBCYW5kd2lkdGgsIDIzKQorU0FYLmVuZEVsZW1lbnQodGl0bGUpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHVybCkKK1NBWC5jaGFyYWN0ZXJzKGh0dHA6Ly9zbGFzaGRvdC5vcmcvYXJ0aWNsZXMvOSwgNTEpCitTQVguZW5kRWxlbWVudCh1cmwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHRpbWUpCitTQVguY2hhcmFjdGVycygxOTk5LTA2LTA1IDE1OjUzOjQzLCAxOSkKK1NBWC5lbmRFbGVtZW50KHRpbWUpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KGF1dGhvcikKK1NBWC5jaGFyYWN0ZXJzKENtZHJUYWNvLCA4KQorU0FYLmVuZEVsZW1lbnQoYXV0aG9yKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChkZXBhcnRtZW50KQorU0FYLmNoYXJhY3RlcnMoZmFzdGVyLXBvcm4sIDExKQorU0FYLmVuZEVsZW1lbnQoZGVwYXJ0bWVudCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQodG9waWMpCitTQVguY2hhcmFjdGVycyhpbnRlcm5ldCwgOCkKK1NBWC5lbmRFbGVtZW50KHRvcGljKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChjb21tZW50cykKK1NBWC5jaGFyYWN0ZXJzKDY2LCAyKQorU0FYLmVuZEVsZW1lbnQoY29tbWVudHMpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHNlY3Rpb24pCitTQVguY2hhcmFjdGVycyhhcnRpY2xlcywgOCkKK1NBWC5lbmRFbGVtZW50KHNlY3Rpb24pCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KGltYWdlKQorU0FYLmNoYXJhY3RlcnModG9waWNpbnRlcm5ldC5qcGcsIDE3KQorU0FYLmVuZEVsZW1lbnQoaW1hZ2UpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnQoc3RvcnkpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KHN0b3J5KQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudCh0aXRsZSkKK1NBWC5jaGFyYWN0ZXJzKFN1cHByZXNzaW9uIG9mIGNvbGQgZnVzaW9uIHJlcywgMzYpCitTQVguZW5kRWxlbWVudCh0aXRsZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQodXJsKQorU0FYLmNoYXJhY3RlcnMoaHR0cDovL3NsYXNoZG90Lm9yZy9hcnRpY2xlcy85LCA1MSkKK1NBWC5lbmRFbGVtZW50KHVybCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQodGltZSkKK1NBWC5jaGFyYWN0ZXJzKDE5OTktMDYtMDQgMjM6MTI6MjksIDE5KQorU0FYLmVuZEVsZW1lbnQodGltZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoYXV0aG9yKQorU0FYLmNoYXJhY3RlcnMoSGVtb3MsIDUpCitTQVguZW5kRWxlbWVudChhdXRob3IpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KGRlcGFydG1lbnQpCitTQVguY2hhcmFjdGVycyhwb3NzaWJseS1wcm9iYWJseSwgMTcpCitTQVguZW5kRWxlbWVudChkZXBhcnRtZW50KQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudCh0b3BpYykKK1NBWC5jaGFyYWN0ZXJzKHNjaWVuY2UsIDcpCitTQVguZW5kRWxlbWVudCh0b3BpYykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoY29tbWVudHMpCitTQVguY2hhcmFjdGVycygyMTcsIDMpCitTQVguZW5kRWxlbWVudChjb21tZW50cykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoc2VjdGlvbikKK1NBWC5jaGFyYWN0ZXJzKGFydGljbGVzLCA4KQorU0FYLmVuZEVsZW1lbnQoc2VjdGlvbikKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoaW1hZ2UpCitTQVguY2hhcmFjdGVycyh0b3BpY3NjaWVuY2UuZ2lmLCAxNikKK1NBWC5lbmRFbGVtZW50KGltYWdlKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5lbmRFbGVtZW50KHN0b3J5KQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChzdG9yeSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQodGl0bGUpCitTQVguY2hhcmFjdGVycyhDYWxpZm9ybmlhIEdvdi4gSGFsdHMgV2FnZSBJbmYsIDM2KQorU0FYLmVuZEVsZW1lbnQodGl0bGUpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHVybCkKK1NBWC5jaGFyYWN0ZXJzKGh0dHA6Ly9zbGFzaGRvdC5vcmcvYXJ0aWNsZXMvOSwgNTApCitTQVguZW5kRWxlbWVudCh1cmwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHRpbWUpCitTQVguY2hhcmFjdGVycygxOTk5LTA2LTA0IDIzOjA1OjM0LCAxOSkKK1NBWC5lbmRFbGVtZW50KHRpbWUpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KGF1dGhvcikKK1NBWC5jaGFyYWN0ZXJzKEhlbW9zLCA1KQorU0FYLmVuZEVsZW1lbnQoYXV0aG9yKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChkZXBhcnRtZW50KQorU0FYLmNoYXJhY3RlcnMod29vLWhvbyEsIDgpCitTQVguZW5kRWxlbWVudChkZXBhcnRtZW50KQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudCh0b3BpYykKK1NBWC5jaGFyYWN0ZXJzKHVzYSwgMykKK1NBWC5lbmRFbGVtZW50KHRvcGljKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChjb21tZW50cykKK1NBWC5jaGFyYWN0ZXJzKDE2LCAyKQorU0FYLmVuZEVsZW1lbnQoY29tbWVudHMpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHNlY3Rpb24pCitTQVguY2hhcmFjdGVycyhhcnRpY2xlcywgOCkKK1NBWC5lbmRFbGVtZW50KHNlY3Rpb24pCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KGltYWdlKQorU0FYLmNoYXJhY3RlcnModG9waWN1cy5naWYsIDExKQorU0FYLmVuZEVsZW1lbnQoaW1hZ2UpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnQoc3RvcnkpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KHN0b3J5KQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudCh0aXRsZSkKK1NBWC5jaGFyYWN0ZXJzKFJlZCBIYXQgQW5ub3VuY2VzIElQTywgMjEpCitTQVguZW5kRWxlbWVudCh0aXRsZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQodXJsKQorU0FYLmNoYXJhY3RlcnMoaHR0cDovL3NsYXNoZG90Lm9yZy9hcnRpY2xlcy85LCA1MSkKK1NBWC5lbmRFbGVtZW50KHVybCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQodGltZSkKK1NBWC5jaGFyYWN0ZXJzKDE5OTktMDYtMDQgMTk6MzA6MTgsIDE5KQorU0FYLmVuZEVsZW1lbnQodGltZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoYXV0aG9yKQorU0FYLmNoYXJhY3RlcnMoSnVzdGluLCA2KQorU0FYLmVuZEVsZW1lbnQoYXV0aG9yKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChkZXBhcnRtZW50KQorU0FYLmNoYXJhY3RlcnMoZGV0YWlscy1za2V0Y2h5LCAxNSkKK1NBWC5lbmRFbGVtZW50KGRlcGFydG1lbnQpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHRvcGljKQorU0FYLmNoYXJhY3RlcnMocmVkaGF0LCA2KQorU0FYLmVuZEVsZW1lbnQodG9waWMpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KGNvbW1lbnRzKQorU0FYLmNoYXJhY3RlcnMoMTU1LCAzKQorU0FYLmVuZEVsZW1lbnQoY29tbWVudHMpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHNlY3Rpb24pCitTQVguY2hhcmFjdGVycyhhcnRpY2xlcywgOCkKK1NBWC5lbmRFbGVtZW50KHNlY3Rpb24pCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KGltYWdlKQorU0FYLmNoYXJhY3RlcnModG9waWNyZWRoYXQuZ2lmLCAxNSkKK1NBWC5lbmRFbGVtZW50KGltYWdlKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5lbmRFbGVtZW50KHN0b3J5KQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguZW5kRWxlbWVudCh1bHRyYW1vZGUpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2xhc2hkb3QueG1sLnNheDIgYi9saWJ4bWwyL3Jlc3VsdC9zbGFzaGRvdC54bWwuc2F4MgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZWFkNzBkCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2xhc2hkb3QueG1sLnNheDIKQEAgLTAsMCArMSw1MTcgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLnN0YXJ0RWxlbWVudE5zKHVsdHJhbW9kZSwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhzdG9yeSwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyh0aXRsZSwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKDEwMCBNYml0L3Mgb24gRmlicmUgdG8gdGhlIGhvbSwgMzEpCitTQVguZW5kRWxlbWVudE5zKHRpdGxlLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHVybCwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKGh0dHA6Ly9zbGFzaGRvdC5vcmcvYXJ0aWNsZXMvOSwgNTEpCitTQVguZW5kRWxlbWVudE5zKHVybCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyh0aW1lLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoMTk5OS0wNi0wNiAxNDozOTo1OSwgMTkpCitTQVguZW5kRWxlbWVudE5zKHRpbWUsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoYXV0aG9yLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoQ21kclRhY28sIDgpCitTQVguZW5kRWxlbWVudE5zKGF1dGhvciwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhkZXBhcnRtZW50LCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMod291bGRuJ3QtaXQtYmUtbmljZSwgMTkpCitTQVguZW5kRWxlbWVudE5zKGRlcGFydG1lbnQsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnModG9waWMsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhpbnRlcm5ldCwgOCkKK1NBWC5lbmRFbGVtZW50TnModG9waWMsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoY29tbWVudHMsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycygyMCwgMikKK1NBWC5lbmRFbGVtZW50TnMoY29tbWVudHMsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoc2VjdGlvbiwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKGFydGljbGVzLCA4KQorU0FYLmVuZEVsZW1lbnROcyhzZWN0aW9uLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKGltYWdlLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnModG9waWNpbnRlcm5ldC5qcGcsIDE3KQorU0FYLmVuZEVsZW1lbnROcyhpbWFnZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguZW5kRWxlbWVudE5zKHN0b3J5LCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKHN0b3J5LCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHRpdGxlLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoR2ltcCAxLjIgUHJldmlldywgMTYpCitTQVguZW5kRWxlbWVudE5zKHRpdGxlLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHVybCwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKGh0dHA6Ly9zbGFzaGRvdC5vcmcvYXJ0aWNsZXMvOSwgNTEpCitTQVguZW5kRWxlbWVudE5zKHVybCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyh0aW1lLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoMTk5OS0wNi0wNiAxNDozODo0MCwgMTkpCitTQVguZW5kRWxlbWVudE5zKHRpbWUsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoYXV0aG9yLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoQ21kclRhY28sIDgpCitTQVguZW5kRWxlbWVudE5zKGF1dGhvciwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhkZXBhcnRtZW50LCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoc3R1ZmYtdG8tcmVhZCwgMTMpCitTQVguZW5kRWxlbWVudE5zKGRlcGFydG1lbnQsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnModG9waWMsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhnaW1wLCA0KQorU0FYLmVuZEVsZW1lbnROcyh0b3BpYywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhjb21tZW50cywgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKDEyLCAyKQorU0FYLmVuZEVsZW1lbnROcyhjb21tZW50cywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhzZWN0aW9uLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoYXJ0aWNsZXMsIDgpCitTQVguZW5kRWxlbWVudE5zKHNlY3Rpb24sIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoaW1hZ2UsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyh0b3BpY2dpbXAuZ2lmLCAxMykKK1NBWC5lbmRFbGVtZW50TnMoaW1hZ2UsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnROcyhzdG9yeSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhzdG9yeSwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyh0aXRsZSwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKFNvbnkncyBBSUJPIHJvYm90IFNvbGQgT3V0LCAyNikKK1NBWC5lbmRFbGVtZW50TnModGl0bGUsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnModXJsLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoaHR0cDovL3NsYXNoZG90Lm9yZy9hcnRpY2xlcy85LCA1MSkKK1NBWC5lbmRFbGVtZW50TnModXJsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHRpbWUsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycygxOTk5LTA2LTA2IDE0OjMyOjUxLCAxOSkKK1NBWC5lbmRFbGVtZW50TnModGltZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhhdXRob3IsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhDbWRyVGFjbywgOCkKK1NBWC5lbmRFbGVtZW50TnMoYXV0aG9yLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKGRlcGFydG1lbnQsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhzdHVmZi10by1zZWUsIDEyKQorU0FYLmVuZEVsZW1lbnROcyhkZXBhcnRtZW50LCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHRvcGljLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnModGVjaCwgNCkKK1NBWC5lbmRFbGVtZW50TnModG9waWMsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoY29tbWVudHMsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycygxMCwgMikKK1NBWC5lbmRFbGVtZW50TnMoY29tbWVudHMsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoc2VjdGlvbiwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKGFydGljbGVzLCA4KQorU0FYLmVuZEVsZW1lbnROcyhzZWN0aW9uLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKGltYWdlLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnModG9waWN0ZWNoMi5qcGcsIDE0KQorU0FYLmVuZEVsZW1lbnROcyhpbWFnZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguZW5kRWxlbWVudE5zKHN0b3J5LCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKHN0b3J5LCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHRpdGxlLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoQXNrIFNsYXNoZG90OiBBbm90aGVyIFdvcmQgZm9yLCA0MCkKK1NBWC5lbmRFbGVtZW50TnModGl0bGUsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnModXJsLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoaHR0cDovL3NsYXNoZG90Lm9yZy9hc2tzbGFzaGRvLCA1NCkKK1NBWC5lbmRFbGVtZW50TnModXJsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHRpbWUsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycygxOTk5LTA2LTA1IDIwOjAwOjAwLCAxOSkKK1NBWC5lbmRFbGVtZW50TnModGltZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhhdXRob3IsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhDbGlmZiwgNSkKK1NBWC5lbmRFbGVtZW50TnMoYXV0aG9yLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKGRlcGFydG1lbnQsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhoYWNrZXItdnMtY3JhY2tlciwgMTcpCitTQVguZW5kRWxlbWVudE5zKGRlcGFydG1lbnQsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnModG9waWMsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhuZXdzLCA0KQorU0FYLmVuZEVsZW1lbnROcyh0b3BpYywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhjb21tZW50cywgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKDM4NSwgMykKK1NBWC5lbmRFbGVtZW50TnMoY29tbWVudHMsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoc2VjdGlvbiwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKGFza3NsYXNoZG90LCAxMSkKK1NBWC5lbmRFbGVtZW50TnMoc2VjdGlvbiwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhpbWFnZSwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKHRvcGljbmV3cy5naWYsIDEzKQorU0FYLmVuZEVsZW1lbnROcyhpbWFnZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguZW5kRWxlbWVudE5zKHN0b3J5LCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKHN0b3J5LCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHRpdGxlLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoQ29yZWwgTGludXggRkFRLCAxNSkKK1NBWC5lbmRFbGVtZW50TnModGl0bGUsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnModXJsLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoaHR0cDovL3NsYXNoZG90Lm9yZy9hcnRpY2xlcy85LCA1MSkKK1NBWC5lbmRFbGVtZW50TnModXJsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHRpbWUsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycygxOTk5LTA2LTA1IDE4OjQyOjA2LCAxOSkKK1NBWC5lbmRFbGVtZW50TnModGltZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhhdXRob3IsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhDbWRyVGFjbywgOCkKK1NBWC5lbmRFbGVtZW50TnMoYXV0aG9yLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKGRlcGFydG1lbnQsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhzdHVmZi10by1yZWFkLCAxMykKK1NBWC5lbmRFbGVtZW50TnMoZGVwYXJ0bWVudCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyh0b3BpYywgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKGNvcmVsLCA1KQorU0FYLmVuZEVsZW1lbnROcyh0b3BpYywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhjb21tZW50cywgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKDE2NCwgMykKK1NBWC5lbmRFbGVtZW50TnMoY29tbWVudHMsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoc2VjdGlvbiwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKGFydGljbGVzLCA4KQorU0FYLmVuZEVsZW1lbnROcyhzZWN0aW9uLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKGltYWdlLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnModG9waWNjb3JlbC5naWYsIDE0KQorU0FYLmVuZEVsZW1lbnROcyhpbWFnZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguZW5kRWxlbWVudE5zKHN0b3J5LCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKHN0b3J5LCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHRpdGxlLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoVXBzaWRlIGRvd25zaWRlcyBNUDMuQ09NLiwgMjUpCitTQVguZW5kRWxlbWVudE5zKHRpdGxlLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHVybCwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKGh0dHA6Ly9zbGFzaGRvdC5vcmcvYXJ0aWNsZXMvOSwgNTEpCitTQVguZW5kRWxlbWVudE5zKHVybCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyh0aW1lLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoMTk5OS0wNi0wNSAxNTo1Njo0NSwgMTkpCitTQVguZW5kRWxlbWVudE5zKHRpbWUsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoYXV0aG9yLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoQ21kclRhY28sIDgpCitTQVguZW5kRWxlbWVudE5zKGF1dGhvciwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhkZXBhcnRtZW50LCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoc3R1ZmYtdG8tdGhpbmstYWJvdXQsIDIwKQorU0FYLmVuZEVsZW1lbnROcyhkZXBhcnRtZW50LCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHRvcGljLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMobXVzaWMsIDUpCitTQVguZW5kRWxlbWVudE5zKHRvcGljLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKGNvbW1lbnRzLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoNDgsIDIpCitTQVguZW5kRWxlbWVudE5zKGNvbW1lbnRzLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHNlY3Rpb24sIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhhcnRpY2xlcywgOCkKK1NBWC5lbmRFbGVtZW50TnMoc2VjdGlvbiwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhpbWFnZSwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKHRvcGljbXVzaWMuZ2lmLCAxNCkKK1NBWC5lbmRFbGVtZW50TnMoaW1hZ2UsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnROcyhzdG9yeSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhzdG9yeSwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyh0aXRsZSwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKDIgVGVyYWJpdHMgb2YgQmFuZHdpZHRoLCAyMykKK1NBWC5lbmRFbGVtZW50TnModGl0bGUsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnModXJsLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoaHR0cDovL3NsYXNoZG90Lm9yZy9hcnRpY2xlcy85LCA1MSkKK1NBWC5lbmRFbGVtZW50TnModXJsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHRpbWUsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycygxOTk5LTA2LTA1IDE1OjUzOjQzLCAxOSkKK1NBWC5lbmRFbGVtZW50TnModGltZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhhdXRob3IsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhDbWRyVGFjbywgOCkKK1NBWC5lbmRFbGVtZW50TnMoYXV0aG9yLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKGRlcGFydG1lbnQsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhmYXN0ZXItcG9ybiwgMTEpCitTQVguZW5kRWxlbWVudE5zKGRlcGFydG1lbnQsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnModG9waWMsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhpbnRlcm5ldCwgOCkKK1NBWC5lbmRFbGVtZW50TnModG9waWMsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoY29tbWVudHMsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyg2NiwgMikKK1NBWC5lbmRFbGVtZW50TnMoY29tbWVudHMsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoc2VjdGlvbiwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKGFydGljbGVzLCA4KQorU0FYLmVuZEVsZW1lbnROcyhzZWN0aW9uLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKGltYWdlLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnModG9waWNpbnRlcm5ldC5qcGcsIDE3KQorU0FYLmVuZEVsZW1lbnROcyhpbWFnZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguZW5kRWxlbWVudE5zKHN0b3J5LCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKHN0b3J5LCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHRpdGxlLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoU3VwcHJlc3Npb24gb2YgY29sZCBmdXNpb24gcmVzLCAzNikKK1NBWC5lbmRFbGVtZW50TnModGl0bGUsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnModXJsLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoaHR0cDovL3NsYXNoZG90Lm9yZy9hcnRpY2xlcy85LCA1MSkKK1NBWC5lbmRFbGVtZW50TnModXJsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHRpbWUsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycygxOTk5LTA2LTA0IDIzOjEyOjI5LCAxOSkKK1NBWC5lbmRFbGVtZW50TnModGltZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhhdXRob3IsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhIZW1vcywgNSkKK1NBWC5lbmRFbGVtZW50TnMoYXV0aG9yLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKGRlcGFydG1lbnQsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhwb3NzaWJseS1wcm9iYWJseSwgMTcpCitTQVguZW5kRWxlbWVudE5zKGRlcGFydG1lbnQsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnModG9waWMsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhzY2llbmNlLCA3KQorU0FYLmVuZEVsZW1lbnROcyh0b3BpYywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhjb21tZW50cywgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKDIxNywgMykKK1NBWC5lbmRFbGVtZW50TnMoY29tbWVudHMsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoc2VjdGlvbiwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKGFydGljbGVzLCA4KQorU0FYLmVuZEVsZW1lbnROcyhzZWN0aW9uLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKGltYWdlLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnModG9waWNzY2llbmNlLmdpZiwgMTYpCitTQVguZW5kRWxlbWVudE5zKGltYWdlLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5lbmRFbGVtZW50TnMoc3RvcnksIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoc3RvcnksIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnModGl0bGUsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhDYWxpZm9ybmlhIEdvdi4gSGFsdHMgV2FnZSBJbmYsIDM2KQorU0FYLmVuZEVsZW1lbnROcyh0aXRsZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyh1cmwsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhodHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzksIDUwKQorU0FYLmVuZEVsZW1lbnROcyh1cmwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnModGltZSwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKDE5OTktMDYtMDQgMjM6MDU6MzQsIDE5KQorU0FYLmVuZEVsZW1lbnROcyh0aW1lLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKGF1dGhvciwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKEhlbW9zLCA1KQorU0FYLmVuZEVsZW1lbnROcyhhdXRob3IsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoZGVwYXJ0bWVudCwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKHdvby1ob28hLCA4KQorU0FYLmVuZEVsZW1lbnROcyhkZXBhcnRtZW50LCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHRvcGljLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnModXNhLCAzKQorU0FYLmVuZEVsZW1lbnROcyh0b3BpYywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhjb21tZW50cywgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKDE2LCAyKQorU0FYLmVuZEVsZW1lbnROcyhjb21tZW50cywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhzZWN0aW9uLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoYXJ0aWNsZXMsIDgpCitTQVguZW5kRWxlbWVudE5zKHNlY3Rpb24sIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoaW1hZ2UsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyh0b3BpY3VzLmdpZiwgMTEpCitTQVguZW5kRWxlbWVudE5zKGltYWdlLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5lbmRFbGVtZW50TnMoc3RvcnksIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoc3RvcnksIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnModGl0bGUsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhSZWQgSGF0IEFubm91bmNlcyBJUE8sIDIxKQorU0FYLmVuZEVsZW1lbnROcyh0aXRsZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyh1cmwsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhodHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzksIDUxKQorU0FYLmVuZEVsZW1lbnROcyh1cmwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnModGltZSwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKDE5OTktMDYtMDQgMTk6MzA6MTgsIDE5KQorU0FYLmVuZEVsZW1lbnROcyh0aW1lLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKGF1dGhvciwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKEp1c3RpbiwgNikKK1NBWC5lbmRFbGVtZW50TnMoYXV0aG9yLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKGRlcGFydG1lbnQsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhkZXRhaWxzLXNrZXRjaHksIDE1KQorU0FYLmVuZEVsZW1lbnROcyhkZXBhcnRtZW50LCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHRvcGljLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMocmVkaGF0LCA2KQorU0FYLmVuZEVsZW1lbnROcyh0b3BpYywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhjb21tZW50cywgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKDE1NSwgMykKK1NBWC5lbmRFbGVtZW50TnMoY29tbWVudHMsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoc2VjdGlvbiwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKGFydGljbGVzLCA4KQorU0FYLmVuZEVsZW1lbnROcyhzZWN0aW9uLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKGltYWdlLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnModG9waWNyZWRoYXQuZ2lmLCAxNSkKK1NBWC5lbmRFbGVtZW50TnMoaW1hZ2UsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnROcyhzdG9yeSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmVuZEVsZW1lbnROcyh1bHRyYW1vZGUsIE5VTEwsIE5VTEwpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2xhc2hkb3QxNi54bWwgYi9saWJ4bWwyL3Jlc3VsdC9zbGFzaGRvdDE2LnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNmE3ZjJhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2xhc2hkb3QxNi54bWwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc2xhc2hkb3QxNi54bWwucmRlIGIvbGlieG1sMi9yZXN1bHQvc2xhc2hkb3QxNi54bWwucmRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNiN2E4NmMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zbGFzaGRvdDE2LnhtbC5yZGUKQEAgLTAsMCArMSw3MTggQEAKKzAgMSB1bHRyYW1vZGUgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBzdG9yeSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRpdGxlIDAgMAorMyAzICN0ZXh0IDAgMSAxMDAgTWJpdC9zIG9uIEZpYnJlIHRvIHRoZSBob21lCisyIDE1IHRpdGxlIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdXJsIDAgMAorMyAzICN0ZXh0IDAgMSBodHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzk5LzA2LzA2LzE0NDAyMTEuc2h0bWwKKzIgMTUgdXJsIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdGltZSAwIDAKKzMgMyAjdGV4dCAwIDEgMTk5OS0wNi0wNiAxNDozOTo1OQorMiAxNSB0aW1lIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgYXV0aG9yIDAgMAorMyAzICN0ZXh0IDAgMSBDbWRyVGFjbworMiAxNSBhdXRob3IgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBkZXBhcnRtZW50IDAgMAorMyAzICN0ZXh0IDAgMSB3b3VsZG4ndC1pdC1iZS1uaWNlCisyIDE1IGRlcGFydG1lbnQgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSB0b3BpYyAwIDAKKzMgMyAjdGV4dCAwIDEgaW50ZXJuZXQKKzIgMTUgdG9waWMgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBjb21tZW50cyAwIDAKKzMgMyAjdGV4dCAwIDEgMjAKKzIgMTUgY29tbWVudHMgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBzZWN0aW9uIDAgMAorMyAzICN0ZXh0IDAgMSBhcnRpY2xlcworMiAxNSBzZWN0aW9uIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgaW1hZ2UgMCAwCiszIDMgI3RleHQgMCAxIHRvcGljaW50ZXJuZXQuanBnCisyIDE1IGltYWdlIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMSAxNSBzdG9yeSAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIHN0b3J5IDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdGl0bGUgMCAwCiszIDMgI3RleHQgMCAxIEdpbXAgMS4yIFByZXZpZXcKKzIgMTUgdGl0bGUgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSB1cmwgMCAwCiszIDMgI3RleHQgMCAxIGh0dHA6Ly9zbGFzaGRvdC5vcmcvYXJ0aWNsZXMvOTkvMDYvMDYvMTQzODI0Ni5zaHRtbAorMiAxNSB1cmwgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSB0aW1lIDAgMAorMyAzICN0ZXh0IDAgMSAxOTk5LTA2LTA2IDE0OjM4OjQwCisyIDE1IHRpbWUgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBhdXRob3IgMCAwCiszIDMgI3RleHQgMCAxIENtZHJUYWNvCisyIDE1IGF1dGhvciAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGRlcGFydG1lbnQgMCAwCiszIDMgI3RleHQgMCAxIHN0dWZmLXRvLXJlYWQKKzIgMTUgZGVwYXJ0bWVudCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRvcGljIDAgMAorMyAzICN0ZXh0IDAgMSBnaW1wCisyIDE1IHRvcGljIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgY29tbWVudHMgMCAwCiszIDMgI3RleHQgMCAxIDEyCisyIDE1IGNvbW1lbnRzIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgc2VjdGlvbiAwIDAKKzMgMyAjdGV4dCAwIDEgYXJ0aWNsZXMKKzIgMTUgc2VjdGlvbiAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGltYWdlIDAgMAorMyAzICN0ZXh0IDAgMSB0b3BpY2dpbXAuZ2lmCisyIDE1IGltYWdlIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMSAxNSBzdG9yeSAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIHN0b3J5IDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdGl0bGUgMCAwCiszIDMgI3RleHQgMCAxIFNvbnkncyBBSUJPIHJvYm90IFNvbGQgT3V0CisyIDE1IHRpdGxlIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdXJsIDAgMAorMyAzICN0ZXh0IDAgMSBodHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzk5LzA2LzA2LzE0MzIyNTYuc2h0bWwKKzIgMTUgdXJsIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdGltZSAwIDAKKzMgMyAjdGV4dCAwIDEgMTk5OS0wNi0wNiAxNDozMjo1MQorMiAxNSB0aW1lIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgYXV0aG9yIDAgMAorMyAzICN0ZXh0IDAgMSBDbWRyVGFjbworMiAxNSBhdXRob3IgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBkZXBhcnRtZW50IDAgMAorMyAzICN0ZXh0IDAgMSBzdHVmZi10by1zZWUKKzIgMTUgZGVwYXJ0bWVudCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRvcGljIDAgMAorMyAzICN0ZXh0IDAgMSB0ZWNoCisyIDE1IHRvcGljIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgY29tbWVudHMgMCAwCiszIDMgI3RleHQgMCAxIDEwCisyIDE1IGNvbW1lbnRzIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgc2VjdGlvbiAwIDAKKzMgMyAjdGV4dCAwIDEgYXJ0aWNsZXMKKzIgMTUgc2VjdGlvbiAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGltYWdlIDAgMAorMyAzICN0ZXh0IDAgMSB0b3BpY3RlY2gyLmpwZworMiAxNSBpbWFnZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzEgMTUgc3RvcnkgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBzdG9yeSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRpdGxlIDAgMAorMyAzICN0ZXh0IDAgMSBBc2sgU2xhc2hkb3Q6IEFub3RoZXIgV29yZCBmb3IgIkhhY2tlciI/CisyIDE1IHRpdGxlIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdXJsIDAgMAorMyAzICN0ZXh0IDAgMSBodHRwOi8vc2xhc2hkb3Qub3JnL2Fza3NsYXNoZG90Lzk5LzA2LzA1LzE4MTUyMjUuc2h0bWwKKzIgMTUgdXJsIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdGltZSAwIDAKKzMgMyAjdGV4dCAwIDEgMTk5OS0wNi0wNSAyMDowMDowMAorMiAxNSB0aW1lIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgYXV0aG9yIDAgMAorMyAzICN0ZXh0IDAgMSBDbGlmZgorMiAxNSBhdXRob3IgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBkZXBhcnRtZW50IDAgMAorMyAzICN0ZXh0IDAgMSBoYWNrZXItdnMtY3JhY2tlcgorMiAxNSBkZXBhcnRtZW50IDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdG9waWMgMCAwCiszIDMgI3RleHQgMCAxIG5ld3MKKzIgMTUgdG9waWMgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBjb21tZW50cyAwIDAKKzMgMyAjdGV4dCAwIDEgMzg1CisyIDE1IGNvbW1lbnRzIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgc2VjdGlvbiAwIDAKKzMgMyAjdGV4dCAwIDEgYXNrc2xhc2hkb3QKKzIgMTUgc2VjdGlvbiAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGltYWdlIDAgMAorMyAzICN0ZXh0IDAgMSB0b3BpY25ld3MuZ2lmCisyIDE1IGltYWdlIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMSAxNSBzdG9yeSAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKzEgMSBzdG9yeSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRpdGxlIDAgMAorMyAzICN0ZXh0IDAgMSAxMDAgTWJpdC9zIG9uIEZpYnJlIHRvIHRoZSBob21lCisyIDE1IHRpdGxlIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdXJsIDAgMAorMyAzICN0ZXh0IDAgMSBodHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzk5LzA2LzA2LzE0NDAyMTEuc2h0bWwKKzIgMTUgdXJsIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdGltZSAwIDAKKzMgMyAjdGV4dCAwIDEgMTk5OS0wNi0wNiAxNDozOTo1OQorMiAxNSB0aW1lIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgYXV0aG9yIDAgMAorMyAzICN0ZXh0IDAgMSBDbWRyVGFjbworMiAxNSBhdXRob3IgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBkZXBhcnRtZW50IDAgMAorMyAzICN0ZXh0IDAgMSB3b3VsZG4ndC1pdC1iZS1uaWNlCisyIDE1IGRlcGFydG1lbnQgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSB0b3BpYyAwIDAKKzMgMyAjdGV4dCAwIDEgaW50ZXJuZXQKKzIgMTUgdG9waWMgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBjb21tZW50cyAwIDAKKzMgMyAjdGV4dCAwIDEgMjAKKzIgMTUgY29tbWVudHMgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBzZWN0aW9uIDAgMAorMyAzICN0ZXh0IDAgMSBhcnRpY2xlcworMiAxNSBzZWN0aW9uIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgaW1hZ2UgMCAwCiszIDMgI3RleHQgMCAxIHRvcGljaW50ZXJuZXQuanBnCisyIDE1IGltYWdlIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMSAxNSBzdG9yeSAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIHN0b3J5IDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdGl0bGUgMCAwCiszIDMgI3RleHQgMCAxIEdpbXAgMS4yIFByZXZpZXcKKzIgMTUgdGl0bGUgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSB1cmwgMCAwCiszIDMgI3RleHQgMCAxIGh0dHA6Ly9zbGFzaGRvdC5vcmcvYXJ0aWNsZXMvOTkvMDYvMDYvMTQzODI0Ni5zaHRtbAorMiAxNSB1cmwgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSB0aW1lIDAgMAorMyAzICN0ZXh0IDAgMSAxOTk5LTA2LTA2IDE0OjM4OjQwCisyIDE1IHRpbWUgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBhdXRob3IgMCAwCiszIDMgI3RleHQgMCAxIENtZHJUYWNvCisyIDE1IGF1dGhvciAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGRlcGFydG1lbnQgMCAwCiszIDMgI3RleHQgMCAxIHN0dWZmLXRvLXJlYWQKKzIgMTUgZGVwYXJ0bWVudCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRvcGljIDAgMAorMyAzICN0ZXh0IDAgMSBnaW1wCisyIDE1IHRvcGljIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgY29tbWVudHMgMCAwCiszIDMgI3RleHQgMCAxIDEyCisyIDE1IGNvbW1lbnRzIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgc2VjdGlvbiAwIDAKKzMgMyAjdGV4dCAwIDEgYXJ0aWNsZXMKKzIgMTUgc2VjdGlvbiAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGltYWdlIDAgMAorMyAzICN0ZXh0IDAgMSB0b3BpY2dpbXAuZ2lmCisyIDE1IGltYWdlIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMSAxNSBzdG9yeSAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIHN0b3J5IDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdGl0bGUgMCAwCiszIDMgI3RleHQgMCAxIFNvbnkncyBBSUJPIHJvYm90IFNvbGQgT3V0CisyIDE1IHRpdGxlIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdXJsIDAgMAorMyAzICN0ZXh0IDAgMSBodHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzk5LzA2LzA2LzE0MzIyNTYuc2h0bWwKKzIgMTUgdXJsIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdGltZSAwIDAKKzMgMyAjdGV4dCAwIDEgMTk5OS0wNi0wNiAxNDozMjo1MQorMiAxNSB0aW1lIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgYXV0aG9yIDAgMAorMyAzICN0ZXh0IDAgMSBDbWRyVGFjbworMiAxNSBhdXRob3IgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBkZXBhcnRtZW50IDAgMAorMyAzICN0ZXh0IDAgMSBzdHVmZi10by1zZWUKKzIgMTUgZGVwYXJ0bWVudCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRvcGljIDAgMAorMyAzICN0ZXh0IDAgMSB0ZWNoCisyIDE1IHRvcGljIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgY29tbWVudHMgMCAwCiszIDMgI3RleHQgMCAxIDEwCisyIDE1IGNvbW1lbnRzIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgc2VjdGlvbiAwIDAKKzMgMyAjdGV4dCAwIDEgYXJ0aWNsZXMKKzIgMTUgc2VjdGlvbiAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGltYWdlIDAgMAorMyAzICN0ZXh0IDAgMSB0b3BpY3RlY2gyLmpwZworMiAxNSBpbWFnZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzEgMTUgc3RvcnkgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBzdG9yeSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRpdGxlIDAgMAorMyAzICN0ZXh0IDAgMSBBc2sgU2xhc2hkb3Q6IEFub3RoZXIgV29yZCBmb3IgIkhhY2tlciI/CisyIDE1IHRpdGxlIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdXJsIDAgMAorMyAzICN0ZXh0IDAgMSBodHRwOi8vc2xhc2hkb3Qub3JnL2Fza3NsYXNoZG90Lzk5LzA2LzA1LzE4MTUyMjUuc2h0bWwKKzIgMTUgdXJsIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdGltZSAwIDAKKzMgMyAjdGV4dCAwIDEgMTk5OS0wNi0wNSAyMDowMDowMAorMiAxNSB0aW1lIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgYXV0aG9yIDAgMAorMyAzICN0ZXh0IDAgMSBDbGlmZgorMiAxNSBhdXRob3IgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBkZXBhcnRtZW50IDAgMAorMyAzICN0ZXh0IDAgMSBoYWNrZXItdnMtY3JhY2tlcgorMiAxNSBkZXBhcnRtZW50IDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdG9waWMgMCAwCiszIDMgI3RleHQgMCAxIG5ld3MKKzIgMTUgdG9waWMgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBjb21tZW50cyAwIDAKKzMgMyAjdGV4dCAwIDEgMzg1CisyIDE1IGNvbW1lbnRzIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgc2VjdGlvbiAwIDAKKzMgMyAjdGV4dCAwIDEgYXNrc2xhc2hkb3QKKzIgMTUgc2VjdGlvbiAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGltYWdlIDAgMAorMyAzICN0ZXh0IDAgMSB0b3BpY25ld3MuZ2lmCisyIDE1IGltYWdlIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMSAxNSBzdG9yeSAwIDAKKzEgMTQgI3RleHQgMCAxIAorCisxIDEgc3RvcnkgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSB0aXRsZSAwIDAKKzMgMyAjdGV4dCAwIDEgQ29yZWwgTGludXggRkFRCisyIDE1IHRpdGxlIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdXJsIDAgMAorMyAzICN0ZXh0IDAgMSBodHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzk5LzA2LzA1LzE4NDIyMTguc2h0bWwKKzIgMTUgdXJsIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdGltZSAwIDAKKzMgMyAjdGV4dCAwIDEgMTk5OS0wNi0wNSAxODo0MjowNgorMiAxNSB0aW1lIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgYXV0aG9yIDAgMAorMyAzICN0ZXh0IDAgMSBDbWRyVGFjbworMiAxNSBhdXRob3IgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBkZXBhcnRtZW50IDAgMAorMyAzICN0ZXh0IDAgMSBzdHVmZi10by1yZWFkCisyIDE1IGRlcGFydG1lbnQgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSB0b3BpYyAwIDAKKzMgMyAjdGV4dCAwIDEgY29yZWwKKzIgMTUgdG9waWMgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBjb21tZW50cyAwIDAKKzMgMyAjdGV4dCAwIDEgMTY0CisyIDE1IGNvbW1lbnRzIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgc2VjdGlvbiAwIDAKKzMgMyAjdGV4dCAwIDEgYXJ0aWNsZXMKKzIgMTUgc2VjdGlvbiAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGltYWdlIDAgMAorMyAzICN0ZXh0IDAgMSB0b3BpY2NvcmVsLmdpZgorMiAxNSBpbWFnZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzEgMTUgc3RvcnkgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBzdG9yeSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRpdGxlIDAgMAorMyAzICN0ZXh0IDAgMSBVcHNpZGUgZG93bnNpZGVzIE1QMy5DT00uCisyIDE1IHRpdGxlIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdXJsIDAgMAorMyAzICN0ZXh0IDAgMSBodHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzk5LzA2LzA1LzE1NTgyMTAuc2h0bWwKKzIgMTUgdXJsIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdGltZSAwIDAKKzMgMyAjdGV4dCAwIDEgMTk5OS0wNi0wNSAxNTo1Njo0NQorMiAxNSB0aW1lIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgYXV0aG9yIDAgMAorMyAzICN0ZXh0IDAgMSBDbWRyVGFjbworMiAxNSBhdXRob3IgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBkZXBhcnRtZW50IDAgMAorMyAzICN0ZXh0IDAgMSBzdHVmZi10by10aGluay1hYm91dAorMiAxNSBkZXBhcnRtZW50IDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdG9waWMgMCAwCiszIDMgI3RleHQgMCAxIG11c2ljCisyIDE1IHRvcGljIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgY29tbWVudHMgMCAwCiszIDMgI3RleHQgMCAxIDQ4CisyIDE1IGNvbW1lbnRzIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgc2VjdGlvbiAwIDAKKzMgMyAjdGV4dCAwIDEgYXJ0aWNsZXMKKzIgMTUgc2VjdGlvbiAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGltYWdlIDAgMAorMyAzICN0ZXh0IDAgMSB0b3BpY211c2ljLmdpZgorMiAxNSBpbWFnZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzEgMTUgc3RvcnkgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBzdG9yeSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRpdGxlIDAgMAorMyAzICN0ZXh0IDAgMSAyIFRlcmFiaXRzIG9mIEJhbmR3aWR0aAorMiAxNSB0aXRsZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHVybCAwIDAKKzMgMyAjdGV4dCAwIDEgaHR0cDovL3NsYXNoZG90Lm9yZy9hcnRpY2xlcy85OS8wNi8wNS8xNTU0MjU4LnNodG1sCisyIDE1IHVybCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRpbWUgMCAwCiszIDMgI3RleHQgMCAxIDE5OTktMDYtMDUgMTU6NTM6NDMKKzIgMTUgdGltZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGF1dGhvciAwIDAKKzMgMyAjdGV4dCAwIDEgQ21kclRhY28KKzIgMTUgYXV0aG9yIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgZGVwYXJ0bWVudCAwIDAKKzMgMyAjdGV4dCAwIDEgZmFzdGVyLXBvcm4KKzIgMTUgZGVwYXJ0bWVudCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRvcGljIDAgMAorMyAzICN0ZXh0IDAgMSBpbnRlcm5ldAorMiAxNSB0b3BpYyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGNvbW1lbnRzIDAgMAorMyAzICN0ZXh0IDAgMSA2NgorMiAxNSBjb21tZW50cyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHNlY3Rpb24gMCAwCiszIDMgI3RleHQgMCAxIGFydGljbGVzCisyIDE1IHNlY3Rpb24gMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBpbWFnZSAwIDAKKzMgMyAjdGV4dCAwIDEgdG9waWNpbnRlcm5ldC5qcGcKKzIgMTUgaW1hZ2UgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDE1IHN0b3J5IDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgc3RvcnkgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSB0aXRsZSAwIDAKKzMgMyAjdGV4dCAwIDEgU3VwcHJlc3Npb24gb2YgY29sZCBmdXNpb24gcmVzZWFyY2g/CisyIDE1IHRpdGxlIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdXJsIDAgMAorMyAzICN0ZXh0IDAgMSBodHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzk5LzA2LzA0LzIzMTMyMDAuc2h0bWwKKzIgMTUgdXJsIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdGltZSAwIDAKKzMgMyAjdGV4dCAwIDEgMTk5OS0wNi0wNCAyMzoxMjoyOQorMiAxNSB0aW1lIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgYXV0aG9yIDAgMAorMyAzICN0ZXh0IDAgMSBIZW1vcworMiAxNSBhdXRob3IgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBkZXBhcnRtZW50IDAgMAorMyAzICN0ZXh0IDAgMSBwb3NzaWJseS1wcm9iYWJseQorMiAxNSBkZXBhcnRtZW50IDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdG9waWMgMCAwCiszIDMgI3RleHQgMCAxIHNjaWVuY2UKKzIgMTUgdG9waWMgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBjb21tZW50cyAwIDAKKzMgMyAjdGV4dCAwIDEgMjE3CisyIDE1IGNvbW1lbnRzIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgc2VjdGlvbiAwIDAKKzMgMyAjdGV4dCAwIDEgYXJ0aWNsZXMKKzIgMTUgc2VjdGlvbiAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGltYWdlIDAgMAorMyAzICN0ZXh0IDAgMSB0b3BpY3NjaWVuY2UuZ2lmCisyIDE1IGltYWdlIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMSAxNSBzdG9yeSAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIHN0b3J5IDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdGl0bGUgMCAwCiszIDMgI3RleHQgMCAxIENhbGlmb3JuaWEgR292LiBIYWx0cyBXYWdlIEluZm8gU2FsZQorMiAxNSB0aXRsZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHVybCAwIDAKKzMgMyAjdGV4dCAwIDEgaHR0cDovL3NsYXNoZG90Lm9yZy9hcnRpY2xlcy85OS8wNi8wNC8yMzUyNTYuc2h0bWwKKzIgMTUgdXJsIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdGltZSAwIDAKKzMgMyAjdGV4dCAwIDEgMTk5OS0wNi0wNCAyMzowNTozNAorMiAxNSB0aW1lIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgYXV0aG9yIDAgMAorMyAzICN0ZXh0IDAgMSBIZW1vcworMiAxNSBhdXRob3IgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBkZXBhcnRtZW50IDAgMAorMyAzICN0ZXh0IDAgMSB3b28taG9vIQorMiAxNSBkZXBhcnRtZW50IDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdG9waWMgMCAwCiszIDMgI3RleHQgMCAxIHVzYQorMiAxNSB0b3BpYyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGNvbW1lbnRzIDAgMAorMyAzICN0ZXh0IDAgMSAxNgorMiAxNSBjb21tZW50cyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHNlY3Rpb24gMCAwCiszIDMgI3RleHQgMCAxIGFydGljbGVzCisyIDE1IHNlY3Rpb24gMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBpbWFnZSAwIDAKKzMgMyAjdGV4dCAwIDEgdG9waWN1cy5naWYKKzIgMTUgaW1hZ2UgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDE1IHN0b3J5IDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgc3RvcnkgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSB0aXRsZSAwIDAKKzMgMyAjdGV4dCAwIDEgUmVkIEhhdCBBbm5vdW5jZXMgSVBPCisyIDE1IHRpdGxlIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdXJsIDAgMAorMyAzICN0ZXh0IDAgMSBodHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzk5LzA2LzA0LzA4NDkyMDcuc2h0bWwKKzIgMTUgdXJsIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdGltZSAwIDAKKzMgMyAjdGV4dCAwIDEgMTk5OS0wNi0wNCAxOTozMDoxOAorMiAxNSB0aW1lIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgYXV0aG9yIDAgMAorMyAzICN0ZXh0IDAgMSBKdXN0aW4KKzIgMTUgYXV0aG9yIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgZGVwYXJ0bWVudCAwIDAKKzMgMyAjdGV4dCAwIDEgZGV0YWlscy1za2V0Y2h5CisyIDE1IGRlcGFydG1lbnQgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSB0b3BpYyAwIDAKKzMgMyAjdGV4dCAwIDEgcmVkaGF0CisyIDE1IHRvcGljIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgY29tbWVudHMgMCAwCiszIDMgI3RleHQgMCAxIDE1NQorMiAxNSBjb21tZW50cyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHNlY3Rpb24gMCAwCiszIDMgI3RleHQgMCAxIGFydGljbGVzCisyIDE1IHNlY3Rpb24gMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBpbWFnZSAwIDAKKzMgMyAjdGV4dCAwIDEgdG9waWNyZWRoYXQuZ2lmCisyIDE1IGltYWdlIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMSAxNSBzdG9yeSAwIDAKKzEgMTQgI3RleHQgMCAxIAorCiswIDE1IHVsdHJhbW9kZSAwIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NsYXNoZG90MTYueG1sLnJkciBiL2xpYnhtbDIvcmVzdWx0L3NsYXNoZG90MTYueG1sLnJkcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYjdhODZjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc2xhc2hkb3QxNi54bWwucmRyCkBAIC0wLDAgKzEsNzE4IEBACiswIDEgdWx0cmFtb2RlIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgc3RvcnkgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSB0aXRsZSAwIDAKKzMgMyAjdGV4dCAwIDEgMTAwIE1iaXQvcyBvbiBGaWJyZSB0byB0aGUgaG9tZQorMiAxNSB0aXRsZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHVybCAwIDAKKzMgMyAjdGV4dCAwIDEgaHR0cDovL3NsYXNoZG90Lm9yZy9hcnRpY2xlcy85OS8wNi8wNi8xNDQwMjExLnNodG1sCisyIDE1IHVybCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRpbWUgMCAwCiszIDMgI3RleHQgMCAxIDE5OTktMDYtMDYgMTQ6Mzk6NTkKKzIgMTUgdGltZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGF1dGhvciAwIDAKKzMgMyAjdGV4dCAwIDEgQ21kclRhY28KKzIgMTUgYXV0aG9yIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgZGVwYXJ0bWVudCAwIDAKKzMgMyAjdGV4dCAwIDEgd291bGRuJ3QtaXQtYmUtbmljZQorMiAxNSBkZXBhcnRtZW50IDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdG9waWMgMCAwCiszIDMgI3RleHQgMCAxIGludGVybmV0CisyIDE1IHRvcGljIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgY29tbWVudHMgMCAwCiszIDMgI3RleHQgMCAxIDIwCisyIDE1IGNvbW1lbnRzIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgc2VjdGlvbiAwIDAKKzMgMyAjdGV4dCAwIDEgYXJ0aWNsZXMKKzIgMTUgc2VjdGlvbiAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGltYWdlIDAgMAorMyAzICN0ZXh0IDAgMSB0b3BpY2ludGVybmV0LmpwZworMiAxNSBpbWFnZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzEgMTUgc3RvcnkgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBzdG9yeSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRpdGxlIDAgMAorMyAzICN0ZXh0IDAgMSBHaW1wIDEuMiBQcmV2aWV3CisyIDE1IHRpdGxlIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdXJsIDAgMAorMyAzICN0ZXh0IDAgMSBodHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzk5LzA2LzA2LzE0MzgyNDYuc2h0bWwKKzIgMTUgdXJsIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdGltZSAwIDAKKzMgMyAjdGV4dCAwIDEgMTk5OS0wNi0wNiAxNDozODo0MAorMiAxNSB0aW1lIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgYXV0aG9yIDAgMAorMyAzICN0ZXh0IDAgMSBDbWRyVGFjbworMiAxNSBhdXRob3IgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBkZXBhcnRtZW50IDAgMAorMyAzICN0ZXh0IDAgMSBzdHVmZi10by1yZWFkCisyIDE1IGRlcGFydG1lbnQgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSB0b3BpYyAwIDAKKzMgMyAjdGV4dCAwIDEgZ2ltcAorMiAxNSB0b3BpYyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGNvbW1lbnRzIDAgMAorMyAzICN0ZXh0IDAgMSAxMgorMiAxNSBjb21tZW50cyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHNlY3Rpb24gMCAwCiszIDMgI3RleHQgMCAxIGFydGljbGVzCisyIDE1IHNlY3Rpb24gMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBpbWFnZSAwIDAKKzMgMyAjdGV4dCAwIDEgdG9waWNnaW1wLmdpZgorMiAxNSBpbWFnZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzEgMTUgc3RvcnkgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBzdG9yeSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRpdGxlIDAgMAorMyAzICN0ZXh0IDAgMSBTb255J3MgQUlCTyByb2JvdCBTb2xkIE91dAorMiAxNSB0aXRsZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHVybCAwIDAKKzMgMyAjdGV4dCAwIDEgaHR0cDovL3NsYXNoZG90Lm9yZy9hcnRpY2xlcy85OS8wNi8wNi8xNDMyMjU2LnNodG1sCisyIDE1IHVybCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRpbWUgMCAwCiszIDMgI3RleHQgMCAxIDE5OTktMDYtMDYgMTQ6MzI6NTEKKzIgMTUgdGltZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGF1dGhvciAwIDAKKzMgMyAjdGV4dCAwIDEgQ21kclRhY28KKzIgMTUgYXV0aG9yIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgZGVwYXJ0bWVudCAwIDAKKzMgMyAjdGV4dCAwIDEgc3R1ZmYtdG8tc2VlCisyIDE1IGRlcGFydG1lbnQgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSB0b3BpYyAwIDAKKzMgMyAjdGV4dCAwIDEgdGVjaAorMiAxNSB0b3BpYyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGNvbW1lbnRzIDAgMAorMyAzICN0ZXh0IDAgMSAxMAorMiAxNSBjb21tZW50cyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHNlY3Rpb24gMCAwCiszIDMgI3RleHQgMCAxIGFydGljbGVzCisyIDE1IHNlY3Rpb24gMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBpbWFnZSAwIDAKKzMgMyAjdGV4dCAwIDEgdG9waWN0ZWNoMi5qcGcKKzIgMTUgaW1hZ2UgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDE1IHN0b3J5IDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgc3RvcnkgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSB0aXRsZSAwIDAKKzMgMyAjdGV4dCAwIDEgQXNrIFNsYXNoZG90OiBBbm90aGVyIFdvcmQgZm9yICJIYWNrZXIiPworMiAxNSB0aXRsZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHVybCAwIDAKKzMgMyAjdGV4dCAwIDEgaHR0cDovL3NsYXNoZG90Lm9yZy9hc2tzbGFzaGRvdC85OS8wNi8wNS8xODE1MjI1LnNodG1sCisyIDE1IHVybCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRpbWUgMCAwCiszIDMgI3RleHQgMCAxIDE5OTktMDYtMDUgMjA6MDA6MDAKKzIgMTUgdGltZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGF1dGhvciAwIDAKKzMgMyAjdGV4dCAwIDEgQ2xpZmYKKzIgMTUgYXV0aG9yIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgZGVwYXJ0bWVudCAwIDAKKzMgMyAjdGV4dCAwIDEgaGFja2VyLXZzLWNyYWNrZXIKKzIgMTUgZGVwYXJ0bWVudCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRvcGljIDAgMAorMyAzICN0ZXh0IDAgMSBuZXdzCisyIDE1IHRvcGljIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgY29tbWVudHMgMCAwCiszIDMgI3RleHQgMCAxIDM4NQorMiAxNSBjb21tZW50cyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHNlY3Rpb24gMCAwCiszIDMgI3RleHQgMCAxIGFza3NsYXNoZG90CisyIDE1IHNlY3Rpb24gMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBpbWFnZSAwIDAKKzMgMyAjdGV4dCAwIDEgdG9waWNuZXdzLmdpZgorMiAxNSBpbWFnZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzEgMTUgc3RvcnkgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDEgc3RvcnkgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSB0aXRsZSAwIDAKKzMgMyAjdGV4dCAwIDEgMTAwIE1iaXQvcyBvbiBGaWJyZSB0byB0aGUgaG9tZQorMiAxNSB0aXRsZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHVybCAwIDAKKzMgMyAjdGV4dCAwIDEgaHR0cDovL3NsYXNoZG90Lm9yZy9hcnRpY2xlcy85OS8wNi8wNi8xNDQwMjExLnNodG1sCisyIDE1IHVybCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRpbWUgMCAwCiszIDMgI3RleHQgMCAxIDE5OTktMDYtMDYgMTQ6Mzk6NTkKKzIgMTUgdGltZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGF1dGhvciAwIDAKKzMgMyAjdGV4dCAwIDEgQ21kclRhY28KKzIgMTUgYXV0aG9yIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgZGVwYXJ0bWVudCAwIDAKKzMgMyAjdGV4dCAwIDEgd291bGRuJ3QtaXQtYmUtbmljZQorMiAxNSBkZXBhcnRtZW50IDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdG9waWMgMCAwCiszIDMgI3RleHQgMCAxIGludGVybmV0CisyIDE1IHRvcGljIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgY29tbWVudHMgMCAwCiszIDMgI3RleHQgMCAxIDIwCisyIDE1IGNvbW1lbnRzIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgc2VjdGlvbiAwIDAKKzMgMyAjdGV4dCAwIDEgYXJ0aWNsZXMKKzIgMTUgc2VjdGlvbiAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGltYWdlIDAgMAorMyAzICN0ZXh0IDAgMSB0b3BpY2ludGVybmV0LmpwZworMiAxNSBpbWFnZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzEgMTUgc3RvcnkgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBzdG9yeSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRpdGxlIDAgMAorMyAzICN0ZXh0IDAgMSBHaW1wIDEuMiBQcmV2aWV3CisyIDE1IHRpdGxlIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdXJsIDAgMAorMyAzICN0ZXh0IDAgMSBodHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzk5LzA2LzA2LzE0MzgyNDYuc2h0bWwKKzIgMTUgdXJsIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdGltZSAwIDAKKzMgMyAjdGV4dCAwIDEgMTk5OS0wNi0wNiAxNDozODo0MAorMiAxNSB0aW1lIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgYXV0aG9yIDAgMAorMyAzICN0ZXh0IDAgMSBDbWRyVGFjbworMiAxNSBhdXRob3IgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBkZXBhcnRtZW50IDAgMAorMyAzICN0ZXh0IDAgMSBzdHVmZi10by1yZWFkCisyIDE1IGRlcGFydG1lbnQgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSB0b3BpYyAwIDAKKzMgMyAjdGV4dCAwIDEgZ2ltcAorMiAxNSB0b3BpYyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGNvbW1lbnRzIDAgMAorMyAzICN0ZXh0IDAgMSAxMgorMiAxNSBjb21tZW50cyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHNlY3Rpb24gMCAwCiszIDMgI3RleHQgMCAxIGFydGljbGVzCisyIDE1IHNlY3Rpb24gMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBpbWFnZSAwIDAKKzMgMyAjdGV4dCAwIDEgdG9waWNnaW1wLmdpZgorMiAxNSBpbWFnZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzEgMTUgc3RvcnkgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBzdG9yeSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRpdGxlIDAgMAorMyAzICN0ZXh0IDAgMSBTb255J3MgQUlCTyByb2JvdCBTb2xkIE91dAorMiAxNSB0aXRsZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHVybCAwIDAKKzMgMyAjdGV4dCAwIDEgaHR0cDovL3NsYXNoZG90Lm9yZy9hcnRpY2xlcy85OS8wNi8wNi8xNDMyMjU2LnNodG1sCisyIDE1IHVybCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRpbWUgMCAwCiszIDMgI3RleHQgMCAxIDE5OTktMDYtMDYgMTQ6MzI6NTEKKzIgMTUgdGltZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGF1dGhvciAwIDAKKzMgMyAjdGV4dCAwIDEgQ21kclRhY28KKzIgMTUgYXV0aG9yIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgZGVwYXJ0bWVudCAwIDAKKzMgMyAjdGV4dCAwIDEgc3R1ZmYtdG8tc2VlCisyIDE1IGRlcGFydG1lbnQgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSB0b3BpYyAwIDAKKzMgMyAjdGV4dCAwIDEgdGVjaAorMiAxNSB0b3BpYyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGNvbW1lbnRzIDAgMAorMyAzICN0ZXh0IDAgMSAxMAorMiAxNSBjb21tZW50cyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHNlY3Rpb24gMCAwCiszIDMgI3RleHQgMCAxIGFydGljbGVzCisyIDE1IHNlY3Rpb24gMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBpbWFnZSAwIDAKKzMgMyAjdGV4dCAwIDEgdG9waWN0ZWNoMi5qcGcKKzIgMTUgaW1hZ2UgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDE1IHN0b3J5IDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgc3RvcnkgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSB0aXRsZSAwIDAKKzMgMyAjdGV4dCAwIDEgQXNrIFNsYXNoZG90OiBBbm90aGVyIFdvcmQgZm9yICJIYWNrZXIiPworMiAxNSB0aXRsZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHVybCAwIDAKKzMgMyAjdGV4dCAwIDEgaHR0cDovL3NsYXNoZG90Lm9yZy9hc2tzbGFzaGRvdC85OS8wNi8wNS8xODE1MjI1LnNodG1sCisyIDE1IHVybCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRpbWUgMCAwCiszIDMgI3RleHQgMCAxIDE5OTktMDYtMDUgMjA6MDA6MDAKKzIgMTUgdGltZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGF1dGhvciAwIDAKKzMgMyAjdGV4dCAwIDEgQ2xpZmYKKzIgMTUgYXV0aG9yIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgZGVwYXJ0bWVudCAwIDAKKzMgMyAjdGV4dCAwIDEgaGFja2VyLXZzLWNyYWNrZXIKKzIgMTUgZGVwYXJ0bWVudCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRvcGljIDAgMAorMyAzICN0ZXh0IDAgMSBuZXdzCisyIDE1IHRvcGljIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgY29tbWVudHMgMCAwCiszIDMgI3RleHQgMCAxIDM4NQorMiAxNSBjb21tZW50cyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHNlY3Rpb24gMCAwCiszIDMgI3RleHQgMCAxIGFza3NsYXNoZG90CisyIDE1IHNlY3Rpb24gMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBpbWFnZSAwIDAKKzMgMyAjdGV4dCAwIDEgdG9waWNuZXdzLmdpZgorMiAxNSBpbWFnZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzEgMTUgc3RvcnkgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKworMSAxIHN0b3J5IDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdGl0bGUgMCAwCiszIDMgI3RleHQgMCAxIENvcmVsIExpbnV4IEZBUQorMiAxNSB0aXRsZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHVybCAwIDAKKzMgMyAjdGV4dCAwIDEgaHR0cDovL3NsYXNoZG90Lm9yZy9hcnRpY2xlcy85OS8wNi8wNS8xODQyMjE4LnNodG1sCisyIDE1IHVybCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRpbWUgMCAwCiszIDMgI3RleHQgMCAxIDE5OTktMDYtMDUgMTg6NDI6MDYKKzIgMTUgdGltZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGF1dGhvciAwIDAKKzMgMyAjdGV4dCAwIDEgQ21kclRhY28KKzIgMTUgYXV0aG9yIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgZGVwYXJ0bWVudCAwIDAKKzMgMyAjdGV4dCAwIDEgc3R1ZmYtdG8tcmVhZAorMiAxNSBkZXBhcnRtZW50IDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdG9waWMgMCAwCiszIDMgI3RleHQgMCAxIGNvcmVsCisyIDE1IHRvcGljIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgY29tbWVudHMgMCAwCiszIDMgI3RleHQgMCAxIDE2NAorMiAxNSBjb21tZW50cyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHNlY3Rpb24gMCAwCiszIDMgI3RleHQgMCAxIGFydGljbGVzCisyIDE1IHNlY3Rpb24gMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBpbWFnZSAwIDAKKzMgMyAjdGV4dCAwIDEgdG9waWNjb3JlbC5naWYKKzIgMTUgaW1hZ2UgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDE1IHN0b3J5IDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgc3RvcnkgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSB0aXRsZSAwIDAKKzMgMyAjdGV4dCAwIDEgVXBzaWRlIGRvd25zaWRlcyBNUDMuQ09NLgorMiAxNSB0aXRsZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHVybCAwIDAKKzMgMyAjdGV4dCAwIDEgaHR0cDovL3NsYXNoZG90Lm9yZy9hcnRpY2xlcy85OS8wNi8wNS8xNTU4MjEwLnNodG1sCisyIDE1IHVybCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRpbWUgMCAwCiszIDMgI3RleHQgMCAxIDE5OTktMDYtMDUgMTU6NTY6NDUKKzIgMTUgdGltZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGF1dGhvciAwIDAKKzMgMyAjdGV4dCAwIDEgQ21kclRhY28KKzIgMTUgYXV0aG9yIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgZGVwYXJ0bWVudCAwIDAKKzMgMyAjdGV4dCAwIDEgc3R1ZmYtdG8tdGhpbmstYWJvdXQKKzIgMTUgZGVwYXJ0bWVudCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRvcGljIDAgMAorMyAzICN0ZXh0IDAgMSBtdXNpYworMiAxNSB0b3BpYyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGNvbW1lbnRzIDAgMAorMyAzICN0ZXh0IDAgMSA0OAorMiAxNSBjb21tZW50cyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHNlY3Rpb24gMCAwCiszIDMgI3RleHQgMCAxIGFydGljbGVzCisyIDE1IHNlY3Rpb24gMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBpbWFnZSAwIDAKKzMgMyAjdGV4dCAwIDEgdG9waWNtdXNpYy5naWYKKzIgMTUgaW1hZ2UgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDE1IHN0b3J5IDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgc3RvcnkgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSB0aXRsZSAwIDAKKzMgMyAjdGV4dCAwIDEgMiBUZXJhYml0cyBvZiBCYW5kd2lkdGgKKzIgMTUgdGl0bGUgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSB1cmwgMCAwCiszIDMgI3RleHQgMCAxIGh0dHA6Ly9zbGFzaGRvdC5vcmcvYXJ0aWNsZXMvOTkvMDYvMDUvMTU1NDI1OC5zaHRtbAorMiAxNSB1cmwgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSB0aW1lIDAgMAorMyAzICN0ZXh0IDAgMSAxOTk5LTA2LTA1IDE1OjUzOjQzCisyIDE1IHRpbWUgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBhdXRob3IgMCAwCiszIDMgI3RleHQgMCAxIENtZHJUYWNvCisyIDE1IGF1dGhvciAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGRlcGFydG1lbnQgMCAwCiszIDMgI3RleHQgMCAxIGZhc3Rlci1wb3JuCisyIDE1IGRlcGFydG1lbnQgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSB0b3BpYyAwIDAKKzMgMyAjdGV4dCAwIDEgaW50ZXJuZXQKKzIgMTUgdG9waWMgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBjb21tZW50cyAwIDAKKzMgMyAjdGV4dCAwIDEgNjYKKzIgMTUgY29tbWVudHMgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBzZWN0aW9uIDAgMAorMyAzICN0ZXh0IDAgMSBhcnRpY2xlcworMiAxNSBzZWN0aW9uIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgaW1hZ2UgMCAwCiszIDMgI3RleHQgMCAxIHRvcGljaW50ZXJuZXQuanBnCisyIDE1IGltYWdlIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMSAxNSBzdG9yeSAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIHN0b3J5IDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdGl0bGUgMCAwCiszIDMgI3RleHQgMCAxIFN1cHByZXNzaW9uIG9mIGNvbGQgZnVzaW9uIHJlc2VhcmNoPworMiAxNSB0aXRsZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHVybCAwIDAKKzMgMyAjdGV4dCAwIDEgaHR0cDovL3NsYXNoZG90Lm9yZy9hcnRpY2xlcy85OS8wNi8wNC8yMzEzMjAwLnNodG1sCisyIDE1IHVybCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRpbWUgMCAwCiszIDMgI3RleHQgMCAxIDE5OTktMDYtMDQgMjM6MTI6MjkKKzIgMTUgdGltZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGF1dGhvciAwIDAKKzMgMyAjdGV4dCAwIDEgSGVtb3MKKzIgMTUgYXV0aG9yIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgZGVwYXJ0bWVudCAwIDAKKzMgMyAjdGV4dCAwIDEgcG9zc2libHktcHJvYmFibHkKKzIgMTUgZGVwYXJ0bWVudCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRvcGljIDAgMAorMyAzICN0ZXh0IDAgMSBzY2llbmNlCisyIDE1IHRvcGljIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgY29tbWVudHMgMCAwCiszIDMgI3RleHQgMCAxIDIxNworMiAxNSBjb21tZW50cyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHNlY3Rpb24gMCAwCiszIDMgI3RleHQgMCAxIGFydGljbGVzCisyIDE1IHNlY3Rpb24gMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBpbWFnZSAwIDAKKzMgMyAjdGV4dCAwIDEgdG9waWNzY2llbmNlLmdpZgorMiAxNSBpbWFnZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzEgMTUgc3RvcnkgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBzdG9yeSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRpdGxlIDAgMAorMyAzICN0ZXh0IDAgMSBDYWxpZm9ybmlhIEdvdi4gSGFsdHMgV2FnZSBJbmZvIFNhbGUKKzIgMTUgdGl0bGUgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSB1cmwgMCAwCiszIDMgI3RleHQgMCAxIGh0dHA6Ly9zbGFzaGRvdC5vcmcvYXJ0aWNsZXMvOTkvMDYvMDQvMjM1MjU2LnNodG1sCisyIDE1IHVybCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRpbWUgMCAwCiszIDMgI3RleHQgMCAxIDE5OTktMDYtMDQgMjM6MDU6MzQKKzIgMTUgdGltZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGF1dGhvciAwIDAKKzMgMyAjdGV4dCAwIDEgSGVtb3MKKzIgMTUgYXV0aG9yIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgZGVwYXJ0bWVudCAwIDAKKzMgMyAjdGV4dCAwIDEgd29vLWhvbyEKKzIgMTUgZGVwYXJ0bWVudCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRvcGljIDAgMAorMyAzICN0ZXh0IDAgMSB1c2EKKzIgMTUgdG9waWMgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBjb21tZW50cyAwIDAKKzMgMyAjdGV4dCAwIDEgMTYKKzIgMTUgY29tbWVudHMgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBzZWN0aW9uIDAgMAorMyAzICN0ZXh0IDAgMSBhcnRpY2xlcworMiAxNSBzZWN0aW9uIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgaW1hZ2UgMCAwCiszIDMgI3RleHQgMCAxIHRvcGljdXMuZ2lmCisyIDE1IGltYWdlIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMSAxNSBzdG9yeSAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIHN0b3J5IDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdGl0bGUgMCAwCiszIDMgI3RleHQgMCAxIFJlZCBIYXQgQW5ub3VuY2VzIElQTworMiAxNSB0aXRsZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHVybCAwIDAKKzMgMyAjdGV4dCAwIDEgaHR0cDovL3NsYXNoZG90Lm9yZy9hcnRpY2xlcy85OS8wNi8wNC8wODQ5MjA3LnNodG1sCisyIDE1IHVybCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRpbWUgMCAwCiszIDMgI3RleHQgMCAxIDE5OTktMDYtMDQgMTk6MzA6MTgKKzIgMTUgdGltZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGF1dGhvciAwIDAKKzMgMyAjdGV4dCAwIDEgSnVzdGluCisyIDE1IGF1dGhvciAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGRlcGFydG1lbnQgMCAwCiszIDMgI3RleHQgMCAxIGRldGFpbHMtc2tldGNoeQorMiAxNSBkZXBhcnRtZW50IDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdG9waWMgMCAwCiszIDMgI3RleHQgMCAxIHJlZGhhdAorMiAxNSB0b3BpYyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIGNvbW1lbnRzIDAgMAorMyAzICN0ZXh0IDAgMSAxNTUKKzIgMTUgY29tbWVudHMgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBzZWN0aW9uIDAgMAorMyAzICN0ZXh0IDAgMSBhcnRpY2xlcworMiAxNSBzZWN0aW9uIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgaW1hZ2UgMCAwCiszIDMgI3RleHQgMCAxIHRvcGljcmVkaGF0LmdpZgorMiAxNSBpbWFnZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzEgMTUgc3RvcnkgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKworMCAxNSB1bHRyYW1vZGUgMCAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zbGFzaGRvdDE2LnhtbC5zYXggYi9saWJ4bWwyL3Jlc3VsdC9zbGFzaGRvdDE2LnhtbC5zYXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDdjZmFmMAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3NsYXNoZG90MTYueG1sLnNheApAQCAtMCwwICsxLDcyMSBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguc3RhcnRFbGVtZW50KHVsdHJhbW9kZSkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoc3RvcnkpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHRpdGxlKQorU0FYLmNoYXJhY3RlcnMoMTAwIE1iaXQvcyBvbiBGaWJyZSB0byB0aGUgaG9tLCAzMSkKK1NBWC5lbmRFbGVtZW50KHRpdGxlKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudCh1cmwpCitTQVguY2hhcmFjdGVycyhodHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzksIDUxKQorU0FYLmVuZEVsZW1lbnQodXJsKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudCh0aW1lKQorU0FYLmNoYXJhY3RlcnMoMTk5OS0wNi0wNiAxNDozOTo1OSwgMTkpCitTQVguZW5kRWxlbWVudCh0aW1lKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChhdXRob3IpCitTQVguY2hhcmFjdGVycyhDbWRyVGFjbywgOCkKK1NBWC5lbmRFbGVtZW50KGF1dGhvcikKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoZGVwYXJ0bWVudCkKK1NBWC5jaGFyYWN0ZXJzKHdvdWxkbid0LWl0LWJlLW5pY2UsIDE5KQorU0FYLmVuZEVsZW1lbnQoZGVwYXJ0bWVudCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQodG9waWMpCitTQVguY2hhcmFjdGVycyhpbnRlcm5ldCwgOCkKK1NBWC5lbmRFbGVtZW50KHRvcGljKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChjb21tZW50cykKK1NBWC5jaGFyYWN0ZXJzKDIwLCAyKQorU0FYLmVuZEVsZW1lbnQoY29tbWVudHMpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHNlY3Rpb24pCitTQVguY2hhcmFjdGVycyhhcnRpY2xlcywgOCkKK1NBWC5lbmRFbGVtZW50KHNlY3Rpb24pCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KGltYWdlKQorU0FYLmNoYXJhY3RlcnModG9waWNpbnRlcm5ldC5qcGcsIDE3KQorU0FYLmVuZEVsZW1lbnQoaW1hZ2UpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnQoc3RvcnkpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KHN0b3J5KQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudCh0aXRsZSkKK1NBWC5jaGFyYWN0ZXJzKEdpbXAgMS4yIFByZXZpZXcsIDE2KQorU0FYLmVuZEVsZW1lbnQodGl0bGUpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHVybCkKK1NBWC5jaGFyYWN0ZXJzKGh0dHA6Ly9zbGFzaGRvdC5vcmcvYXJ0aWNsZXMvOSwgNTEpCitTQVguZW5kRWxlbWVudCh1cmwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHRpbWUpCitTQVguY2hhcmFjdGVycygxOTk5LTA2LTA2IDE0OjM4OjQwLCAxOSkKK1NBWC5lbmRFbGVtZW50KHRpbWUpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KGF1dGhvcikKK1NBWC5jaGFyYWN0ZXJzKENtZHJUYWNvLCA4KQorU0FYLmVuZEVsZW1lbnQoYXV0aG9yKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChkZXBhcnRtZW50KQorU0FYLmNoYXJhY3RlcnMoc3R1ZmYtdG8tcmVhZCwgMTMpCitTQVguZW5kRWxlbWVudChkZXBhcnRtZW50KQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudCh0b3BpYykKK1NBWC5jaGFyYWN0ZXJzKGdpbXAsIDQpCitTQVguZW5kRWxlbWVudCh0b3BpYykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoY29tbWVudHMpCitTQVguY2hhcmFjdGVycygxMiwgMikKK1NBWC5lbmRFbGVtZW50KGNvbW1lbnRzKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChzZWN0aW9uKQorU0FYLmNoYXJhY3RlcnMoYXJ0aWNsZXMsIDgpCitTQVguZW5kRWxlbWVudChzZWN0aW9uKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChpbWFnZSkKK1NBWC5jaGFyYWN0ZXJzKHRvcGljZ2ltcC5naWYsIDEzKQorU0FYLmVuZEVsZW1lbnQoaW1hZ2UpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnQoc3RvcnkpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KHN0b3J5KQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudCh0aXRsZSkKK1NBWC5jaGFyYWN0ZXJzKFNvbnkncyBBSUJPIHJvYm90IFNvbGQgT3V0LCAyNikKK1NBWC5lbmRFbGVtZW50KHRpdGxlKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudCh1cmwpCitTQVguY2hhcmFjdGVycyhodHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzksIDUxKQorU0FYLmVuZEVsZW1lbnQodXJsKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudCh0aW1lKQorU0FYLmNoYXJhY3RlcnMoMTk5OS0wNi0wNiAxNDozMjo1MSwgMTkpCitTQVguZW5kRWxlbWVudCh0aW1lKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChhdXRob3IpCitTQVguY2hhcmFjdGVycyhDbWRyVGFjbywgOCkKK1NBWC5lbmRFbGVtZW50KGF1dGhvcikKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoZGVwYXJ0bWVudCkKK1NBWC5jaGFyYWN0ZXJzKHN0dWZmLXRvLXNlZSwgMTIpCitTQVguZW5kRWxlbWVudChkZXBhcnRtZW50KQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudCh0b3BpYykKK1NBWC5jaGFyYWN0ZXJzKHRlY2gsIDQpCitTQVguZW5kRWxlbWVudCh0b3BpYykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoY29tbWVudHMpCitTQVguY2hhcmFjdGVycygxMCwgMikKK1NBWC5lbmRFbGVtZW50KGNvbW1lbnRzKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChzZWN0aW9uKQorU0FYLmNoYXJhY3RlcnMoYXJ0aWNsZXMsIDgpCitTQVguZW5kRWxlbWVudChzZWN0aW9uKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChpbWFnZSkKK1NBWC5jaGFyYWN0ZXJzKHRvcGljdGVjaDIuanBnLCAxNCkKK1NBWC5lbmRFbGVtZW50KGltYWdlKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5lbmRFbGVtZW50KHN0b3J5KQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChzdG9yeSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQodGl0bGUpCitTQVguY2hhcmFjdGVycyhBc2sgU2xhc2hkb3Q6IEFub3RoZXIgV29yZCBmb3IsIDQwKQorU0FYLmVuZEVsZW1lbnQodGl0bGUpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHVybCkKK1NBWC5jaGFyYWN0ZXJzKGh0dHA6Ly9zbGFzaGRvdC5vcmcvYXNrc2xhc2hkbywgNTQpCitTQVguZW5kRWxlbWVudCh1cmwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHRpbWUpCitTQVguY2hhcmFjdGVycygxOTk5LTA2LTA1IDIwOjAwOjAwLCAxOSkKK1NBWC5lbmRFbGVtZW50KHRpbWUpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KGF1dGhvcikKK1NBWC5jaGFyYWN0ZXJzKENsaWZmLCA1KQorU0FYLmVuZEVsZW1lbnQoYXV0aG9yKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChkZXBhcnRtZW50KQorU0FYLmNoYXJhY3RlcnMoaGFja2VyLXZzLWNyYWNrZXIsIDE3KQorU0FYLmVuZEVsZW1lbnQoZGVwYXJ0bWVudCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQodG9waWMpCitTQVguY2hhcmFjdGVycyhuZXdzLCA0KQorU0FYLmVuZEVsZW1lbnQodG9waWMpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KGNvbW1lbnRzKQorU0FYLmNoYXJhY3RlcnMoMzg1LCAzKQorU0FYLmVuZEVsZW1lbnQoY29tbWVudHMpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHNlY3Rpb24pCitTQVguY2hhcmFjdGVycyhhc2tzbGFzaGRvdCwgMTEpCitTQVguZW5kRWxlbWVudChzZWN0aW9uKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChpbWFnZSkKK1NBWC5jaGFyYWN0ZXJzKHRvcGljbmV3cy5naWYsIDEzKQorU0FYLmVuZEVsZW1lbnQoaW1hZ2UpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnQoc3RvcnkpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChzdG9yeSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQodGl0bGUpCitTQVguY2hhcmFjdGVycygxMDAgTWJpdC9zIG9uIEZpYnJlIHRvIHRoZSBob20sIDMxKQorU0FYLmVuZEVsZW1lbnQodGl0bGUpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHVybCkKK1NBWC5jaGFyYWN0ZXJzKGh0dHA6Ly9zbGFzaGRvdC5vcmcvYXJ0aWNsZXMvOSwgNTEpCitTQVguZW5kRWxlbWVudCh1cmwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHRpbWUpCitTQVguY2hhcmFjdGVycygxOTk5LTA2LTA2IDE0OjM5OjU5LCAxOSkKK1NBWC5lbmRFbGVtZW50KHRpbWUpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KGF1dGhvcikKK1NBWC5jaGFyYWN0ZXJzKENtZHJUYWNvLCA4KQorU0FYLmVuZEVsZW1lbnQoYXV0aG9yKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChkZXBhcnRtZW50KQorU0FYLmNoYXJhY3RlcnMod291bGRuJ3QtaXQtYmUtbmljZSwgMTkpCitTQVguZW5kRWxlbWVudChkZXBhcnRtZW50KQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudCh0b3BpYykKK1NBWC5jaGFyYWN0ZXJzKGludGVybmV0LCA4KQorU0FYLmVuZEVsZW1lbnQodG9waWMpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KGNvbW1lbnRzKQorU0FYLmNoYXJhY3RlcnMoMjAsIDIpCitTQVguZW5kRWxlbWVudChjb21tZW50cykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoc2VjdGlvbikKK1NBWC5jaGFyYWN0ZXJzKGFydGljbGVzLCA4KQorU0FYLmVuZEVsZW1lbnQoc2VjdGlvbikKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoaW1hZ2UpCitTQVguY2hhcmFjdGVycyh0b3BpY2ludGVybmV0LmpwZywgMTcpCitTQVguZW5kRWxlbWVudChpbWFnZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguZW5kRWxlbWVudChzdG9yeSkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoc3RvcnkpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHRpdGxlKQorU0FYLmNoYXJhY3RlcnMoR2ltcCAxLjIgUHJldmlldywgMTYpCitTQVguZW5kRWxlbWVudCh0aXRsZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQodXJsKQorU0FYLmNoYXJhY3RlcnMoaHR0cDovL3NsYXNoZG90Lm9yZy9hcnRpY2xlcy85LCA1MSkKK1NBWC5lbmRFbGVtZW50KHVybCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQodGltZSkKK1NBWC5jaGFyYWN0ZXJzKDE5OTktMDYtMDYgMTQ6Mzg6NDAsIDE5KQorU0FYLmVuZEVsZW1lbnQodGltZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoYXV0aG9yKQorU0FYLmNoYXJhY3RlcnMoQ21kclRhY28sIDgpCitTQVguZW5kRWxlbWVudChhdXRob3IpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KGRlcGFydG1lbnQpCitTQVguY2hhcmFjdGVycyhzdHVmZi10by1yZWFkLCAxMykKK1NBWC5lbmRFbGVtZW50KGRlcGFydG1lbnQpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHRvcGljKQorU0FYLmNoYXJhY3RlcnMoZ2ltcCwgNCkKK1NBWC5lbmRFbGVtZW50KHRvcGljKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChjb21tZW50cykKK1NBWC5jaGFyYWN0ZXJzKDEyLCAyKQorU0FYLmVuZEVsZW1lbnQoY29tbWVudHMpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHNlY3Rpb24pCitTQVguY2hhcmFjdGVycyhhcnRpY2xlcywgOCkKK1NBWC5lbmRFbGVtZW50KHNlY3Rpb24pCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KGltYWdlKQorU0FYLmNoYXJhY3RlcnModG9waWNnaW1wLmdpZiwgMTMpCitTQVguZW5kRWxlbWVudChpbWFnZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguZW5kRWxlbWVudChzdG9yeSkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoc3RvcnkpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHRpdGxlKQorU0FYLmNoYXJhY3RlcnMoU29ueSdzIEFJQk8gcm9ib3QgU29sZCBPdXQsIDI2KQorU0FYLmVuZEVsZW1lbnQodGl0bGUpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHVybCkKK1NBWC5jaGFyYWN0ZXJzKGh0dHA6Ly9zbGFzaGRvdC5vcmcvYXJ0aWNsZXMvOSwgNTEpCitTQVguZW5kRWxlbWVudCh1cmwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHRpbWUpCitTQVguY2hhcmFjdGVycygxOTk5LTA2LTA2IDE0OjMyOjUxLCAxOSkKK1NBWC5lbmRFbGVtZW50KHRpbWUpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KGF1dGhvcikKK1NBWC5jaGFyYWN0ZXJzKENtZHJUYWNvLCA4KQorU0FYLmVuZEVsZW1lbnQoYXV0aG9yKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChkZXBhcnRtZW50KQorU0FYLmNoYXJhY3RlcnMoc3R1ZmYtdG8tc2VlLCAxMikKK1NBWC5lbmRFbGVtZW50KGRlcGFydG1lbnQpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHRvcGljKQorU0FYLmNoYXJhY3RlcnModGVjaCwgNCkKK1NBWC5lbmRFbGVtZW50KHRvcGljKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChjb21tZW50cykKK1NBWC5jaGFyYWN0ZXJzKDEwLCAyKQorU0FYLmVuZEVsZW1lbnQoY29tbWVudHMpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHNlY3Rpb24pCitTQVguY2hhcmFjdGVycyhhcnRpY2xlcywgOCkKK1NBWC5lbmRFbGVtZW50KHNlY3Rpb24pCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KGltYWdlKQorU0FYLmNoYXJhY3RlcnModG9waWN0ZWNoMi5qcGcsIDE0KQorU0FYLmVuZEVsZW1lbnQoaW1hZ2UpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnQoc3RvcnkpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KHN0b3J5KQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudCh0aXRsZSkKK1NBWC5jaGFyYWN0ZXJzKEFzayBTbGFzaGRvdDogQW5vdGhlciBXb3JkIGZvciwgNDApCitTQVguZW5kRWxlbWVudCh0aXRsZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQodXJsKQorU0FYLmNoYXJhY3RlcnMoaHR0cDovL3NsYXNoZG90Lm9yZy9hc2tzbGFzaGRvLCA1NCkKK1NBWC5lbmRFbGVtZW50KHVybCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQodGltZSkKK1NBWC5jaGFyYWN0ZXJzKDE5OTktMDYtMDUgMjA6MDA6MDAsIDE5KQorU0FYLmVuZEVsZW1lbnQodGltZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoYXV0aG9yKQorU0FYLmNoYXJhY3RlcnMoQ2xpZmYsIDUpCitTQVguZW5kRWxlbWVudChhdXRob3IpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KGRlcGFydG1lbnQpCitTQVguY2hhcmFjdGVycyhoYWNrZXItdnMtY3JhY2tlciwgMTcpCitTQVguZW5kRWxlbWVudChkZXBhcnRtZW50KQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudCh0b3BpYykKK1NBWC5jaGFyYWN0ZXJzKG5ld3MsIDQpCitTQVguZW5kRWxlbWVudCh0b3BpYykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoY29tbWVudHMpCitTQVguY2hhcmFjdGVycygzODUsIDMpCitTQVguZW5kRWxlbWVudChjb21tZW50cykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoc2VjdGlvbikKK1NBWC5jaGFyYWN0ZXJzKGFza3NsYXNoZG90LCAxMSkKK1NBWC5lbmRFbGVtZW50KHNlY3Rpb24pCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KGltYWdlKQorU0FYLmNoYXJhY3RlcnModG9waWNuZXdzLmdpZiwgMTMpCitTQVguZW5kRWxlbWVudChpbWFnZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguZW5kRWxlbWVudChzdG9yeSkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudChzdG9yeSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQodGl0bGUpCitTQVguY2hhcmFjdGVycyhDb3JlbCBMaW51eCBGQVEsIDE1KQorU0FYLmVuZEVsZW1lbnQodGl0bGUpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHVybCkKK1NBWC5jaGFyYWN0ZXJzKGh0dHA6Ly9zbGFzaGRvdC5vcmcvYXJ0aWNsZXMvOSwgNTEpCitTQVguZW5kRWxlbWVudCh1cmwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHRpbWUpCitTQVguY2hhcmFjdGVycygxOTk5LTA2LTA1IDE4OjQyOjA2LCAxOSkKK1NBWC5lbmRFbGVtZW50KHRpbWUpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KGF1dGhvcikKK1NBWC5jaGFyYWN0ZXJzKENtZHJUYWNvLCA4KQorU0FYLmVuZEVsZW1lbnQoYXV0aG9yKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChkZXBhcnRtZW50KQorU0FYLmNoYXJhY3RlcnMoc3R1ZmYtdG8tcmVhZCwgMTMpCitTQVguZW5kRWxlbWVudChkZXBhcnRtZW50KQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudCh0b3BpYykKK1NBWC5jaGFyYWN0ZXJzKGNvcmVsLCA1KQorU0FYLmVuZEVsZW1lbnQodG9waWMpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KGNvbW1lbnRzKQorU0FYLmNoYXJhY3RlcnMoMTY0LCAzKQorU0FYLmVuZEVsZW1lbnQoY29tbWVudHMpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHNlY3Rpb24pCitTQVguY2hhcmFjdGVycyhhcnRpY2xlcywgOCkKK1NBWC5lbmRFbGVtZW50KHNlY3Rpb24pCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KGltYWdlKQorU0FYLmNoYXJhY3RlcnModG9waWNjb3JlbC5naWYsIDE0KQorU0FYLmVuZEVsZW1lbnQoaW1hZ2UpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnQoc3RvcnkpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KHN0b3J5KQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudCh0aXRsZSkKK1NBWC5jaGFyYWN0ZXJzKFVwc2lkZSBkb3duc2lkZXMgTVAzLkNPTS4sIDI1KQorU0FYLmVuZEVsZW1lbnQodGl0bGUpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHVybCkKK1NBWC5jaGFyYWN0ZXJzKGh0dHA6Ly9zbGFzaGRvdC5vcmcvYXJ0aWNsZXMvOSwgNTEpCitTQVguZW5kRWxlbWVudCh1cmwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHRpbWUpCitTQVguY2hhcmFjdGVycygxOTk5LTA2LTA1IDE1OjU2OjQ1LCAxOSkKK1NBWC5lbmRFbGVtZW50KHRpbWUpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KGF1dGhvcikKK1NBWC5jaGFyYWN0ZXJzKENtZHJUYWNvLCA4KQorU0FYLmVuZEVsZW1lbnQoYXV0aG9yKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChkZXBhcnRtZW50KQorU0FYLmNoYXJhY3RlcnMoc3R1ZmYtdG8tdGhpbmstYWJvdXQsIDIwKQorU0FYLmVuZEVsZW1lbnQoZGVwYXJ0bWVudCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQodG9waWMpCitTQVguY2hhcmFjdGVycyhtdXNpYywgNSkKK1NBWC5lbmRFbGVtZW50KHRvcGljKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChjb21tZW50cykKK1NBWC5jaGFyYWN0ZXJzKDQ4LCAyKQorU0FYLmVuZEVsZW1lbnQoY29tbWVudHMpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHNlY3Rpb24pCitTQVguY2hhcmFjdGVycyhhcnRpY2xlcywgOCkKK1NBWC5lbmRFbGVtZW50KHNlY3Rpb24pCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KGltYWdlKQorU0FYLmNoYXJhY3RlcnModG9waWNtdXNpYy5naWYsIDE0KQorU0FYLmVuZEVsZW1lbnQoaW1hZ2UpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnQoc3RvcnkpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KHN0b3J5KQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudCh0aXRsZSkKK1NBWC5jaGFyYWN0ZXJzKDIgVGVyYWJpdHMgb2YgQmFuZHdpZHRoLCAyMykKK1NBWC5lbmRFbGVtZW50KHRpdGxlKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudCh1cmwpCitTQVguY2hhcmFjdGVycyhodHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzksIDUxKQorU0FYLmVuZEVsZW1lbnQodXJsKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudCh0aW1lKQorU0FYLmNoYXJhY3RlcnMoMTk5OS0wNi0wNSAxNTo1Mzo0MywgMTkpCitTQVguZW5kRWxlbWVudCh0aW1lKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChhdXRob3IpCitTQVguY2hhcmFjdGVycyhDbWRyVGFjbywgOCkKK1NBWC5lbmRFbGVtZW50KGF1dGhvcikKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoZGVwYXJ0bWVudCkKK1NBWC5jaGFyYWN0ZXJzKGZhc3Rlci1wb3JuLCAxMSkKK1NBWC5lbmRFbGVtZW50KGRlcGFydG1lbnQpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHRvcGljKQorU0FYLmNoYXJhY3RlcnMoaW50ZXJuZXQsIDgpCitTQVguZW5kRWxlbWVudCh0b3BpYykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoY29tbWVudHMpCitTQVguY2hhcmFjdGVycyg2NiwgMikKK1NBWC5lbmRFbGVtZW50KGNvbW1lbnRzKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChzZWN0aW9uKQorU0FYLmNoYXJhY3RlcnMoYXJ0aWNsZXMsIDgpCitTQVguZW5kRWxlbWVudChzZWN0aW9uKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChpbWFnZSkKK1NBWC5jaGFyYWN0ZXJzKHRvcGljaW50ZXJuZXQuanBnLCAxNykKK1NBWC5lbmRFbGVtZW50KGltYWdlKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5lbmRFbGVtZW50KHN0b3J5KQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChzdG9yeSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQodGl0bGUpCitTQVguY2hhcmFjdGVycyhTdXBwcmVzc2lvbiBvZiBjb2xkIGZ1c2lvbiByZXMsIDM2KQorU0FYLmVuZEVsZW1lbnQodGl0bGUpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHVybCkKK1NBWC5jaGFyYWN0ZXJzKGh0dHA6Ly9zbGFzaGRvdC5vcmcvYXJ0aWNsZXMvOSwgNTEpCitTQVguZW5kRWxlbWVudCh1cmwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHRpbWUpCitTQVguY2hhcmFjdGVycygxOTk5LTA2LTA0IDIzOjEyOjI5LCAxOSkKK1NBWC5lbmRFbGVtZW50KHRpbWUpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KGF1dGhvcikKK1NBWC5jaGFyYWN0ZXJzKEhlbW9zLCA1KQorU0FYLmVuZEVsZW1lbnQoYXV0aG9yKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChkZXBhcnRtZW50KQorU0FYLmNoYXJhY3RlcnMocG9zc2libHktcHJvYmFibHksIDE3KQorU0FYLmVuZEVsZW1lbnQoZGVwYXJ0bWVudCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQodG9waWMpCitTQVguY2hhcmFjdGVycyhzY2llbmNlLCA3KQorU0FYLmVuZEVsZW1lbnQodG9waWMpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KGNvbW1lbnRzKQorU0FYLmNoYXJhY3RlcnMoMjE3LCAzKQorU0FYLmVuZEVsZW1lbnQoY29tbWVudHMpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHNlY3Rpb24pCitTQVguY2hhcmFjdGVycyhhcnRpY2xlcywgOCkKK1NBWC5lbmRFbGVtZW50KHNlY3Rpb24pCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KGltYWdlKQorU0FYLmNoYXJhY3RlcnModG9waWNzY2llbmNlLmdpZiwgMTYpCitTQVguZW5kRWxlbWVudChpbWFnZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguZW5kRWxlbWVudChzdG9yeSkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoc3RvcnkpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHRpdGxlKQorU0FYLmNoYXJhY3RlcnMoQ2FsaWZvcm5pYSBHb3YuIEhhbHRzIFdhZ2UgSW5mLCAzNikKK1NBWC5lbmRFbGVtZW50KHRpdGxlKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudCh1cmwpCitTQVguY2hhcmFjdGVycyhodHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzksIDUwKQorU0FYLmVuZEVsZW1lbnQodXJsKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudCh0aW1lKQorU0FYLmNoYXJhY3RlcnMoMTk5OS0wNi0wNCAyMzowNTozNCwgMTkpCitTQVguZW5kRWxlbWVudCh0aW1lKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChhdXRob3IpCitTQVguY2hhcmFjdGVycyhIZW1vcywgNSkKK1NBWC5lbmRFbGVtZW50KGF1dGhvcikKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoZGVwYXJ0bWVudCkKK1NBWC5jaGFyYWN0ZXJzKHdvby1ob28hLCA4KQorU0FYLmVuZEVsZW1lbnQoZGVwYXJ0bWVudCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQodG9waWMpCitTQVguY2hhcmFjdGVycyh1c2EsIDMpCitTQVguZW5kRWxlbWVudCh0b3BpYykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoY29tbWVudHMpCitTQVguY2hhcmFjdGVycygxNiwgMikKK1NBWC5lbmRFbGVtZW50KGNvbW1lbnRzKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChzZWN0aW9uKQorU0FYLmNoYXJhY3RlcnMoYXJ0aWNsZXMsIDgpCitTQVguZW5kRWxlbWVudChzZWN0aW9uKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChpbWFnZSkKK1NBWC5jaGFyYWN0ZXJzKHRvcGljdXMuZ2lmLCAxMSkKK1NBWC5lbmRFbGVtZW50KGltYWdlKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5lbmRFbGVtZW50KHN0b3J5KQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChzdG9yeSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQodGl0bGUpCitTQVguY2hhcmFjdGVycyhSZWQgSGF0IEFubm91bmNlcyBJUE8sIDIxKQorU0FYLmVuZEVsZW1lbnQodGl0bGUpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHVybCkKK1NBWC5jaGFyYWN0ZXJzKGh0dHA6Ly9zbGFzaGRvdC5vcmcvYXJ0aWNsZXMvOSwgNTEpCitTQVguZW5kRWxlbWVudCh1cmwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHRpbWUpCitTQVguY2hhcmFjdGVycygxOTk5LTA2LTA0IDE5OjMwOjE4LCAxOSkKK1NBWC5lbmRFbGVtZW50KHRpbWUpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KGF1dGhvcikKK1NBWC5jaGFyYWN0ZXJzKEp1c3RpbiwgNikKK1NBWC5lbmRFbGVtZW50KGF1dGhvcikKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoZGVwYXJ0bWVudCkKK1NBWC5jaGFyYWN0ZXJzKGRldGFpbHMtc2tldGNoeSwgMTUpCitTQVguZW5kRWxlbWVudChkZXBhcnRtZW50KQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudCh0b3BpYykKK1NBWC5jaGFyYWN0ZXJzKHJlZGhhdCwgNikKK1NBWC5lbmRFbGVtZW50KHRvcGljKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChjb21tZW50cykKK1NBWC5jaGFyYWN0ZXJzKDE1NSwgMykKK1NBWC5lbmRFbGVtZW50KGNvbW1lbnRzKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChzZWN0aW9uKQorU0FYLmNoYXJhY3RlcnMoYXJ0aWNsZXMsIDgpCitTQVguZW5kRWxlbWVudChzZWN0aW9uKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChpbWFnZSkKK1NBWC5jaGFyYWN0ZXJzKHRvcGljcmVkaGF0LmdpZiwgMTUpCitTQVguZW5kRWxlbWVudChpbWFnZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguZW5kRWxlbWVudChzdG9yeSkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmVuZEVsZW1lbnQodWx0cmFtb2RlKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3NsYXNoZG90MTYueG1sLnNheDIgYi9saWJ4bWwyL3Jlc3VsdC9zbGFzaGRvdDE2LnhtbC5zYXgyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc4NWU2OTkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zbGFzaGRvdDE2LnhtbC5zYXgyCkBAIC0wLDAgKzEsNzIxIEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5zdGFydEVsZW1lbnROcyh1bHRyYW1vZGUsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoc3RvcnksIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnModGl0bGUsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycygxMDAgTWJpdC9zIG9uIEZpYnJlIHRvIHRoZSBob20sIDMxKQorU0FYLmVuZEVsZW1lbnROcyh0aXRsZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyh1cmwsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhodHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzksIDUxKQorU0FYLmVuZEVsZW1lbnROcyh1cmwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnModGltZSwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKDE5OTktMDYtMDYgMTQ6Mzk6NTksIDE5KQorU0FYLmVuZEVsZW1lbnROcyh0aW1lLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKGF1dGhvciwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKENtZHJUYWNvLCA4KQorU0FYLmVuZEVsZW1lbnROcyhhdXRob3IsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoZGVwYXJ0bWVudCwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKHdvdWxkbid0LWl0LWJlLW5pY2UsIDE5KQorU0FYLmVuZEVsZW1lbnROcyhkZXBhcnRtZW50LCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHRvcGljLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoaW50ZXJuZXQsIDgpCitTQVguZW5kRWxlbWVudE5zKHRvcGljLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKGNvbW1lbnRzLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoMjAsIDIpCitTQVguZW5kRWxlbWVudE5zKGNvbW1lbnRzLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHNlY3Rpb24sIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhhcnRpY2xlcywgOCkKK1NBWC5lbmRFbGVtZW50TnMoc2VjdGlvbiwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhpbWFnZSwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKHRvcGljaW50ZXJuZXQuanBnLCAxNykKK1NBWC5lbmRFbGVtZW50TnMoaW1hZ2UsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnROcyhzdG9yeSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhzdG9yeSwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyh0aXRsZSwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKEdpbXAgMS4yIFByZXZpZXcsIDE2KQorU0FYLmVuZEVsZW1lbnROcyh0aXRsZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyh1cmwsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhodHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzksIDUxKQorU0FYLmVuZEVsZW1lbnROcyh1cmwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnModGltZSwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKDE5OTktMDYtMDYgMTQ6Mzg6NDAsIDE5KQorU0FYLmVuZEVsZW1lbnROcyh0aW1lLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKGF1dGhvciwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKENtZHJUYWNvLCA4KQorU0FYLmVuZEVsZW1lbnROcyhhdXRob3IsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoZGVwYXJ0bWVudCwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKHN0dWZmLXRvLXJlYWQsIDEzKQorU0FYLmVuZEVsZW1lbnROcyhkZXBhcnRtZW50LCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHRvcGljLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoZ2ltcCwgNCkKK1NBWC5lbmRFbGVtZW50TnModG9waWMsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoY29tbWVudHMsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycygxMiwgMikKK1NBWC5lbmRFbGVtZW50TnMoY29tbWVudHMsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoc2VjdGlvbiwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKGFydGljbGVzLCA4KQorU0FYLmVuZEVsZW1lbnROcyhzZWN0aW9uLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKGltYWdlLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnModG9waWNnaW1wLmdpZiwgMTMpCitTQVguZW5kRWxlbWVudE5zKGltYWdlLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5lbmRFbGVtZW50TnMoc3RvcnksIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoc3RvcnksIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnModGl0bGUsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhTb255J3MgQUlCTyByb2JvdCBTb2xkIE91dCwgMjYpCitTQVguZW5kRWxlbWVudE5zKHRpdGxlLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHVybCwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKGh0dHA6Ly9zbGFzaGRvdC5vcmcvYXJ0aWNsZXMvOSwgNTEpCitTQVguZW5kRWxlbWVudE5zKHVybCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyh0aW1lLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoMTk5OS0wNi0wNiAxNDozMjo1MSwgMTkpCitTQVguZW5kRWxlbWVudE5zKHRpbWUsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoYXV0aG9yLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoQ21kclRhY28sIDgpCitTQVguZW5kRWxlbWVudE5zKGF1dGhvciwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhkZXBhcnRtZW50LCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoc3R1ZmYtdG8tc2VlLCAxMikKK1NBWC5lbmRFbGVtZW50TnMoZGVwYXJ0bWVudCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyh0b3BpYywgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKHRlY2gsIDQpCitTQVguZW5kRWxlbWVudE5zKHRvcGljLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKGNvbW1lbnRzLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoMTAsIDIpCitTQVguZW5kRWxlbWVudE5zKGNvbW1lbnRzLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHNlY3Rpb24sIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhhcnRpY2xlcywgOCkKK1NBWC5lbmRFbGVtZW50TnMoc2VjdGlvbiwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhpbWFnZSwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKHRvcGljdGVjaDIuanBnLCAxNCkKK1NBWC5lbmRFbGVtZW50TnMoaW1hZ2UsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnROcyhzdG9yeSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhzdG9yeSwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyh0aXRsZSwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKEFzayBTbGFzaGRvdDogQW5vdGhlciBXb3JkIGZvciwgNDApCitTQVguZW5kRWxlbWVudE5zKHRpdGxlLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHVybCwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKGh0dHA6Ly9zbGFzaGRvdC5vcmcvYXNrc2xhc2hkbywgNTQpCitTQVguZW5kRWxlbWVudE5zKHVybCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyh0aW1lLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoMTk5OS0wNi0wNSAyMDowMDowMCwgMTkpCitTQVguZW5kRWxlbWVudE5zKHRpbWUsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoYXV0aG9yLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoQ2xpZmYsIDUpCitTQVguZW5kRWxlbWVudE5zKGF1dGhvciwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhkZXBhcnRtZW50LCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoaGFja2VyLXZzLWNyYWNrZXIsIDE3KQorU0FYLmVuZEVsZW1lbnROcyhkZXBhcnRtZW50LCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHRvcGljLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMobmV3cywgNCkKK1NBWC5lbmRFbGVtZW50TnModG9waWMsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoY29tbWVudHMsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycygzODUsIDMpCitTQVguZW5kRWxlbWVudE5zKGNvbW1lbnRzLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHNlY3Rpb24sIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhhc2tzbGFzaGRvdCwgMTEpCitTQVguZW5kRWxlbWVudE5zKHNlY3Rpb24sIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoaW1hZ2UsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyh0b3BpY25ld3MuZ2lmLCAxMykKK1NBWC5lbmRFbGVtZW50TnMoaW1hZ2UsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnROcyhzdG9yeSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMoc3RvcnksIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnModGl0bGUsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycygxMDAgTWJpdC9zIG9uIEZpYnJlIHRvIHRoZSBob20sIDMxKQorU0FYLmVuZEVsZW1lbnROcyh0aXRsZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyh1cmwsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhodHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzksIDUxKQorU0FYLmVuZEVsZW1lbnROcyh1cmwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnModGltZSwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKDE5OTktMDYtMDYgMTQ6Mzk6NTksIDE5KQorU0FYLmVuZEVsZW1lbnROcyh0aW1lLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKGF1dGhvciwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKENtZHJUYWNvLCA4KQorU0FYLmVuZEVsZW1lbnROcyhhdXRob3IsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoZGVwYXJ0bWVudCwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKHdvdWxkbid0LWl0LWJlLW5pY2UsIDE5KQorU0FYLmVuZEVsZW1lbnROcyhkZXBhcnRtZW50LCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHRvcGljLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoaW50ZXJuZXQsIDgpCitTQVguZW5kRWxlbWVudE5zKHRvcGljLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKGNvbW1lbnRzLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoMjAsIDIpCitTQVguZW5kRWxlbWVudE5zKGNvbW1lbnRzLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHNlY3Rpb24sIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhhcnRpY2xlcywgOCkKK1NBWC5lbmRFbGVtZW50TnMoc2VjdGlvbiwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhpbWFnZSwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKHRvcGljaW50ZXJuZXQuanBnLCAxNykKK1NBWC5lbmRFbGVtZW50TnMoaW1hZ2UsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnROcyhzdG9yeSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhzdG9yeSwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyh0aXRsZSwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKEdpbXAgMS4yIFByZXZpZXcsIDE2KQorU0FYLmVuZEVsZW1lbnROcyh0aXRsZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyh1cmwsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhodHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzksIDUxKQorU0FYLmVuZEVsZW1lbnROcyh1cmwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnModGltZSwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKDE5OTktMDYtMDYgMTQ6Mzg6NDAsIDE5KQorU0FYLmVuZEVsZW1lbnROcyh0aW1lLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKGF1dGhvciwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKENtZHJUYWNvLCA4KQorU0FYLmVuZEVsZW1lbnROcyhhdXRob3IsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoZGVwYXJ0bWVudCwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKHN0dWZmLXRvLXJlYWQsIDEzKQorU0FYLmVuZEVsZW1lbnROcyhkZXBhcnRtZW50LCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHRvcGljLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoZ2ltcCwgNCkKK1NBWC5lbmRFbGVtZW50TnModG9waWMsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoY29tbWVudHMsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycygxMiwgMikKK1NBWC5lbmRFbGVtZW50TnMoY29tbWVudHMsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoc2VjdGlvbiwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKGFydGljbGVzLCA4KQorU0FYLmVuZEVsZW1lbnROcyhzZWN0aW9uLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKGltYWdlLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnModG9waWNnaW1wLmdpZiwgMTMpCitTQVguZW5kRWxlbWVudE5zKGltYWdlLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5lbmRFbGVtZW50TnMoc3RvcnksIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoc3RvcnksIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnModGl0bGUsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhTb255J3MgQUlCTyByb2JvdCBTb2xkIE91dCwgMjYpCitTQVguZW5kRWxlbWVudE5zKHRpdGxlLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHVybCwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKGh0dHA6Ly9zbGFzaGRvdC5vcmcvYXJ0aWNsZXMvOSwgNTEpCitTQVguZW5kRWxlbWVudE5zKHVybCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyh0aW1lLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoMTk5OS0wNi0wNiAxNDozMjo1MSwgMTkpCitTQVguZW5kRWxlbWVudE5zKHRpbWUsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoYXV0aG9yLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoQ21kclRhY28sIDgpCitTQVguZW5kRWxlbWVudE5zKGF1dGhvciwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhkZXBhcnRtZW50LCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoc3R1ZmYtdG8tc2VlLCAxMikKK1NBWC5lbmRFbGVtZW50TnMoZGVwYXJ0bWVudCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyh0b3BpYywgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKHRlY2gsIDQpCitTQVguZW5kRWxlbWVudE5zKHRvcGljLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKGNvbW1lbnRzLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoMTAsIDIpCitTQVguZW5kRWxlbWVudE5zKGNvbW1lbnRzLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHNlY3Rpb24sIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhhcnRpY2xlcywgOCkKK1NBWC5lbmRFbGVtZW50TnMoc2VjdGlvbiwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhpbWFnZSwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKHRvcGljdGVjaDIuanBnLCAxNCkKK1NBWC5lbmRFbGVtZW50TnMoaW1hZ2UsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnROcyhzdG9yeSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhzdG9yeSwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyh0aXRsZSwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKEFzayBTbGFzaGRvdDogQW5vdGhlciBXb3JkIGZvciwgNDApCitTQVguZW5kRWxlbWVudE5zKHRpdGxlLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHVybCwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKGh0dHA6Ly9zbGFzaGRvdC5vcmcvYXNrc2xhc2hkbywgNTQpCitTQVguZW5kRWxlbWVudE5zKHVybCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyh0aW1lLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoMTk5OS0wNi0wNSAyMDowMDowMCwgMTkpCitTQVguZW5kRWxlbWVudE5zKHRpbWUsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoYXV0aG9yLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoQ2xpZmYsIDUpCitTQVguZW5kRWxlbWVudE5zKGF1dGhvciwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhkZXBhcnRtZW50LCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoaGFja2VyLXZzLWNyYWNrZXIsIDE3KQorU0FYLmVuZEVsZW1lbnROcyhkZXBhcnRtZW50LCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHRvcGljLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMobmV3cywgNCkKK1NBWC5lbmRFbGVtZW50TnModG9waWMsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoY29tbWVudHMsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycygzODUsIDMpCitTQVguZW5kRWxlbWVudE5zKGNvbW1lbnRzLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHNlY3Rpb24sIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhhc2tzbGFzaGRvdCwgMTEpCitTQVguZW5kRWxlbWVudE5zKHNlY3Rpb24sIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoaW1hZ2UsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyh0b3BpY25ld3MuZ2lmLCAxMykKK1NBWC5lbmRFbGVtZW50TnMoaW1hZ2UsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnROcyhzdG9yeSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudE5zKHN0b3J5LCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHRpdGxlLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoQ29yZWwgTGludXggRkFRLCAxNSkKK1NBWC5lbmRFbGVtZW50TnModGl0bGUsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnModXJsLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoaHR0cDovL3NsYXNoZG90Lm9yZy9hcnRpY2xlcy85LCA1MSkKK1NBWC5lbmRFbGVtZW50TnModXJsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHRpbWUsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycygxOTk5LTA2LTA1IDE4OjQyOjA2LCAxOSkKK1NBWC5lbmRFbGVtZW50TnModGltZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhhdXRob3IsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhDbWRyVGFjbywgOCkKK1NBWC5lbmRFbGVtZW50TnMoYXV0aG9yLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKGRlcGFydG1lbnQsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhzdHVmZi10by1yZWFkLCAxMykKK1NBWC5lbmRFbGVtZW50TnMoZGVwYXJ0bWVudCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyh0b3BpYywgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKGNvcmVsLCA1KQorU0FYLmVuZEVsZW1lbnROcyh0b3BpYywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhjb21tZW50cywgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKDE2NCwgMykKK1NBWC5lbmRFbGVtZW50TnMoY29tbWVudHMsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoc2VjdGlvbiwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKGFydGljbGVzLCA4KQorU0FYLmVuZEVsZW1lbnROcyhzZWN0aW9uLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKGltYWdlLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnModG9waWNjb3JlbC5naWYsIDE0KQorU0FYLmVuZEVsZW1lbnROcyhpbWFnZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguZW5kRWxlbWVudE5zKHN0b3J5LCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKHN0b3J5LCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHRpdGxlLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoVXBzaWRlIGRvd25zaWRlcyBNUDMuQ09NLiwgMjUpCitTQVguZW5kRWxlbWVudE5zKHRpdGxlLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHVybCwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKGh0dHA6Ly9zbGFzaGRvdC5vcmcvYXJ0aWNsZXMvOSwgNTEpCitTQVguZW5kRWxlbWVudE5zKHVybCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyh0aW1lLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoMTk5OS0wNi0wNSAxNTo1Njo0NSwgMTkpCitTQVguZW5kRWxlbWVudE5zKHRpbWUsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoYXV0aG9yLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoQ21kclRhY28sIDgpCitTQVguZW5kRWxlbWVudE5zKGF1dGhvciwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhkZXBhcnRtZW50LCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoc3R1ZmYtdG8tdGhpbmstYWJvdXQsIDIwKQorU0FYLmVuZEVsZW1lbnROcyhkZXBhcnRtZW50LCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHRvcGljLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMobXVzaWMsIDUpCitTQVguZW5kRWxlbWVudE5zKHRvcGljLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKGNvbW1lbnRzLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoNDgsIDIpCitTQVguZW5kRWxlbWVudE5zKGNvbW1lbnRzLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHNlY3Rpb24sIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhhcnRpY2xlcywgOCkKK1NBWC5lbmRFbGVtZW50TnMoc2VjdGlvbiwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhpbWFnZSwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKHRvcGljbXVzaWMuZ2lmLCAxNCkKK1NBWC5lbmRFbGVtZW50TnMoaW1hZ2UsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnROcyhzdG9yeSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhzdG9yeSwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyh0aXRsZSwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKDIgVGVyYWJpdHMgb2YgQmFuZHdpZHRoLCAyMykKK1NBWC5lbmRFbGVtZW50TnModGl0bGUsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnModXJsLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoaHR0cDovL3NsYXNoZG90Lm9yZy9hcnRpY2xlcy85LCA1MSkKK1NBWC5lbmRFbGVtZW50TnModXJsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHRpbWUsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycygxOTk5LTA2LTA1IDE1OjUzOjQzLCAxOSkKK1NBWC5lbmRFbGVtZW50TnModGltZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhhdXRob3IsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhDbWRyVGFjbywgOCkKK1NBWC5lbmRFbGVtZW50TnMoYXV0aG9yLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKGRlcGFydG1lbnQsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhmYXN0ZXItcG9ybiwgMTEpCitTQVguZW5kRWxlbWVudE5zKGRlcGFydG1lbnQsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnModG9waWMsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhpbnRlcm5ldCwgOCkKK1NBWC5lbmRFbGVtZW50TnModG9waWMsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoY29tbWVudHMsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyg2NiwgMikKK1NBWC5lbmRFbGVtZW50TnMoY29tbWVudHMsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoc2VjdGlvbiwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKGFydGljbGVzLCA4KQorU0FYLmVuZEVsZW1lbnROcyhzZWN0aW9uLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKGltYWdlLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnModG9waWNpbnRlcm5ldC5qcGcsIDE3KQorU0FYLmVuZEVsZW1lbnROcyhpbWFnZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguZW5kRWxlbWVudE5zKHN0b3J5LCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKHN0b3J5LCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHRpdGxlLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoU3VwcHJlc3Npb24gb2YgY29sZCBmdXNpb24gcmVzLCAzNikKK1NBWC5lbmRFbGVtZW50TnModGl0bGUsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnModXJsLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoaHR0cDovL3NsYXNoZG90Lm9yZy9hcnRpY2xlcy85LCA1MSkKK1NBWC5lbmRFbGVtZW50TnModXJsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHRpbWUsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycygxOTk5LTA2LTA0IDIzOjEyOjI5LCAxOSkKK1NBWC5lbmRFbGVtZW50TnModGltZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhhdXRob3IsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhIZW1vcywgNSkKK1NBWC5lbmRFbGVtZW50TnMoYXV0aG9yLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKGRlcGFydG1lbnQsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhwb3NzaWJseS1wcm9iYWJseSwgMTcpCitTQVguZW5kRWxlbWVudE5zKGRlcGFydG1lbnQsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnModG9waWMsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhzY2llbmNlLCA3KQorU0FYLmVuZEVsZW1lbnROcyh0b3BpYywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhjb21tZW50cywgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKDIxNywgMykKK1NBWC5lbmRFbGVtZW50TnMoY29tbWVudHMsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoc2VjdGlvbiwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKGFydGljbGVzLCA4KQorU0FYLmVuZEVsZW1lbnROcyhzZWN0aW9uLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKGltYWdlLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnModG9waWNzY2llbmNlLmdpZiwgMTYpCitTQVguZW5kRWxlbWVudE5zKGltYWdlLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5lbmRFbGVtZW50TnMoc3RvcnksIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoc3RvcnksIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnModGl0bGUsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhDYWxpZm9ybmlhIEdvdi4gSGFsdHMgV2FnZSBJbmYsIDM2KQorU0FYLmVuZEVsZW1lbnROcyh0aXRsZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyh1cmwsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhodHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzksIDUwKQorU0FYLmVuZEVsZW1lbnROcyh1cmwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnModGltZSwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKDE5OTktMDYtMDQgMjM6MDU6MzQsIDE5KQorU0FYLmVuZEVsZW1lbnROcyh0aW1lLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKGF1dGhvciwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKEhlbW9zLCA1KQorU0FYLmVuZEVsZW1lbnROcyhhdXRob3IsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoZGVwYXJ0bWVudCwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKHdvby1ob28hLCA4KQorU0FYLmVuZEVsZW1lbnROcyhkZXBhcnRtZW50LCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHRvcGljLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnModXNhLCAzKQorU0FYLmVuZEVsZW1lbnROcyh0b3BpYywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhjb21tZW50cywgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKDE2LCAyKQorU0FYLmVuZEVsZW1lbnROcyhjb21tZW50cywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhzZWN0aW9uLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoYXJ0aWNsZXMsIDgpCitTQVguZW5kRWxlbWVudE5zKHNlY3Rpb24sIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoaW1hZ2UsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyh0b3BpY3VzLmdpZiwgMTEpCitTQVguZW5kRWxlbWVudE5zKGltYWdlLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5lbmRFbGVtZW50TnMoc3RvcnksIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoc3RvcnksIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnModGl0bGUsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhSZWQgSGF0IEFubm91bmNlcyBJUE8sIDIxKQorU0FYLmVuZEVsZW1lbnROcyh0aXRsZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyh1cmwsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhodHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzksIDUxKQorU0FYLmVuZEVsZW1lbnROcyh1cmwsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnModGltZSwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKDE5OTktMDYtMDQgMTk6MzA6MTgsIDE5KQorU0FYLmVuZEVsZW1lbnROcyh0aW1lLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKGF1dGhvciwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKEp1c3RpbiwgNikKK1NBWC5lbmRFbGVtZW50TnMoYXV0aG9yLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKGRlcGFydG1lbnQsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhkZXRhaWxzLXNrZXRjaHksIDE1KQorU0FYLmVuZEVsZW1lbnROcyhkZXBhcnRtZW50LCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHRvcGljLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMocmVkaGF0LCA2KQorU0FYLmVuZEVsZW1lbnROcyh0b3BpYywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhjb21tZW50cywgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKDE1NSwgMykKK1NBWC5lbmRFbGVtZW50TnMoY29tbWVudHMsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoc2VjdGlvbiwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKGFydGljbGVzLCA4KQorU0FYLmVuZEVsZW1lbnROcyhzZWN0aW9uLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKGltYWdlLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnModG9waWNyZWRoYXQuZ2lmLCAxNSkKK1NBWC5lbmRFbGVtZW50TnMoaW1hZ2UsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnROcyhzdG9yeSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmVuZEVsZW1lbnROcyh1bHRyYW1vZGUsIE5VTEwsIE5VTEwpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc3ZnMSBiL2xpYnhtbDIvcmVzdWx0L3N2ZzEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzU5YmQ0NQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3N2ZzEKQEAgLTAsMCArMSwxNjEgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgc3RhbmRhbG9uZT0ieWVzIj8+Cis8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIEFwcmlsIDE5OTkvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHL3N2Zy0xOTk5MDQxMi5kdGQiPgorPHN2ZyB3aWR0aD0iMjQycHgiIGhlaWdodD0iMzgzcHgiPgorPGcgc3R5bGU9InN0cm9rZTogIzAwMDAwMCI+IAorPC9nPiAKKzxnIHN0eWxlPSJmaWxsOiAjZjJjYzk5Ij4gCisgICA8cG9seWxpbmUgdmVydHM9IiA2OSwxOCA4Miw4IDk5LDMgMTE4LDUgMTM1LDEyIDE0OSwyMSAxNTYsMTMgMTY1LDkgMTc3LDEzIDE4MywyOCAxODAsNTAgMTY0LDkxIDE1NSwxMDcgMTU0LDExNCAxNTEsMTIxIDE0MSwxMjcgMTM5LDEzNiAxNTUsMjA2IDE1NywyNTEgMTI2LDM0MiAxMzMsMzU3IDEyOCwzNzYgODMsMzc2IDc1LDM2OCA2NywzNTAgNjEsMzUwIDUzLDM2OSA0LDM2OSAyLDM2MSA1LDM1NCAxMiwzNDIgMTYsMzIxIDQsMjU3IDQsMjQ0IDcsMjE4IDksMTc5IDI2LDEyNyA0Myw5MyAzMiw3NyAzMCw3MCAyNCw2NyAxNiw0OSAxNywzNSAxOCwyMyAzMCwxMiA0MCw3IDUzLDcgNjIsMTIgNjksMTggNjksMTggNjksMTgiLz4gCis8L2c+IAorPGcgc3R5bGU9ImZpbGw6ICNlNWIyN2YiPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cz0iIDE0Miw3OSAxMzYsNzQgMTM4LDgyIDEzMyw3OCAxMzMsODQgMTI3LDc4IDEyOCw4NSAxMjQsODAgMTI1LDg3IDExOSw4MiAxMTksOTAgMTI1LDk5IDEyNSw5NiAxMjgsMTAwIDEyOCw5NCAxMzEsOTggMTMyLDkzIDEzNSw5NyAxMzYsOTMgMTM4LDk3IDEzOSw5NCAxNDEsOTggMTQzLDk0IDE0NCw4NSAxNDIsNzkgMTQyLDc5IDE0Miw3OSIvPiAKKzwvZz4gCis8ZyBzdHlsZT0iZmlsbDogI2ViODA4MCI+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMTI3LDEwMSAxMzIsMTAwIDEzNyw5OSAxNDQsMTAxIDE0MywxMDUgMTM1LDExMCAxMjcsMTAxIDEyNywxMDEgMTI3LDEwMSIvPiAKKzwvZz4gCis8ZyBzdHlsZT0iZmlsbDogI2YyY2M5OSI+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMTc4LDIyOSAxNTcsMjQ4IDEzOSwyOTYgMTI2LDM0OSAxMzcsMzU2IDE1OCwzNTcgMTgzLDM0MiAyMTIsMzMyIDIzNSwyODggMjM1LDI2MSAyMjgsMjUyIDIxMiwyNTAgMTg4LDI1MSAxNzgsMjI5IDE3OCwyMjkgMTc4LDIyOSIvPiAKKzwvZz4gCis8ZyBzdHlsZT0iZmlsbDogIzljODI2YiI+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgNTYsMjI5IDQ4LDI0MSA0OCwyNTAgNTcsMjgxIDYzLDMyNSA3MSwzMzggODEsMzE1IDc2LDMyMSA3OSwzMTEgODMsMzAxIDc1LDMwOCA4MCwyOTggNzMsMzAzIDc2LDI5NiA3MSwyOTggNzQsMjkyIDY5LDI5MyA3NCwyODQgNzgsMjc4IDcxLDI3OCA3NCwyNzQgNjgsMjczIDcwLDI2OCA2NiwyNjcgNjgsMjYxIDYwLDI2NiA2MiwyNTkgNjUsMjUzIDU3LDI1OCA1OSwyNTEgNTUsMjU0IDU1LDI0OCA2MCwyMzcgNTQsMjQwIDU4LDIzNCA1NCwyMzYgNTYsMjI5IDU2LDIyOSA1NiwyMjkiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiA3NCwzNjMgNzksMzY4IDgxLDM2OCA4NSwzNjIgODksMzYzIDkyLDM3MCA5NiwzNzMgMTAxLDM3MiAxMDgsMzYxIDExMCwzNzEgMTEzLDM3MyAxMTYsMzcxIDEyMCwzNTggMTIyLDM2MyAxMjMsMzcxIDEyNiwzNzEgMTI5LDM2NyAxMzIsMzU3IDEzNSwzNjEgMTMwLDM3NiAxMjcsMzc3IDk0LDM3OCA4NCwzNzYgNzYsMzcxIDc0LDM2MyA3NCwzNjMgNzQsMzYzIi8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMjEyLDI1MCAyMTksMjUxIDIyOCwyNTggMjM2LDI3MCAyMzUsMjg3IDIyNSwzMDQgMjA1LDMzMiAxNzcsMzQzIDE3MSwzNTIgMTU4LDM1NyAxNjYsMzUyIDE2OCwzNDYgMTY4LDMzOSAxNjUsMzMzIDE1NSwzMjcgMTU1LDMyMyAxNjEsMzIwIDE2NSwzMTYgMTY5LDMxNiAxNjcsMzEyIDE3MSwzMTMgMTY4LDMwOCAxNzMsMzA5IDE3MCwzMDYgMTc3LDMwNiAxNzUsMzA4IDE3NywzMTEgMTc0LDMxMSAxNzYsMzE2IDE3MSwzMTUgMTc0LDMxOSAxNjgsMzIwIDE2OCwzMjMgMTc1LDMyNyAxNzksMzMyIDE4MywzMjYgMTg0LDMzMiAxODksMzIzIDE5MCwzMjggMTk0LDMyMCAxOTQsMzI1IDE5OSwzMTYgMjAxLDMyMCAyMDQsMzEzIDIwNiwzMTYgMjA4LDMxMCAyMTEsMzA1IDIxOSwyOTggMjI2LDI4OCAyMjksMjc5IDIyOCwyNjYgMjI0LDI1OSAyMTcsMjUzIDIxMiwyNTAgMjEyLDI1MCAyMTIsMjUwIi8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMTUxLDIwNSAxNTEsMjM4IDE0OSwyNTIgMTQxLDI2OCAxMjgsMjgyIDEyMSwzMDEgMTMwLDMwMCAxMjYsMzEzIDExOCwzMjQgMTE2LDMzNyAxMjAsMzQ2IDEzMywzNTIgMTMzLDM0MCAxMzcsMzMzIDE0NSwzMjkgMTU2LDMyNyAxNTMsMzE5IDE1MywyOTEgMTU3LDI3MSAxNzAsMjU5IDE3OCwyNzcgMTkzLDI1MCAxNzQsMjE2IDE1MSwyMDUgMTUxLDIwNSAxNTEsMjA1Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgNzgsMTI3IDkwLDE0MiA5NSwxNTUgMTA4LDE2NCAxMjUsMTY3IDEzOSwxNzUgMTUwLDIwNiAxNTIsMTkxIDE0MSwxNDAgMTIxLDE0OCAxMDAsMTM2IDc4LDEyNyA3OCwxMjcgNzgsMTI3Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMjEsNTggMzUsNjMgMzgsNjggMzIsNjkgNDIsNzQgNDAsNzkgNDcsODAgNTQsODMgNDUsOTQgMzQsODEgMzIsNzMgMjQsNjYgMjEsNTggMjEsNTggMjEsNTgiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiA3MSwzNCA2NywzNCA2NiwyNyA1OSwyNCA1NCwxNyA0OCwxNyAzOSwyMiAzMCwyNiAyOCwzMSAzMSwzOSAzOCw0NiAyOSw0NSAzNiw1NCA0MSw2MSA0MSw3MCA1MCw2OSA1NCw3MSA1NSw1OCA2Nyw1MiA3Niw0MyA3NiwzOSA2OCw0NCA3MSwzNCA3MSwzNCA3MSwzNCIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cz0iIDEzOSw3NCAxNDEsODMgMTQzLDg5IDE0NCwxMDQgMTQ4LDEwNCAxNTUsMTA2IDE1NCw4NiAxNTcsNzcgMTU1LDcyIDE1MCw3NyAxNDQsNzcgMTM5LDc0IDEzOSw3NCAxMzksNzQiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiAxMDUsNDQgMTAyLDUzIDEwOCw1OCAxMTEsNjIgMTEyLDU1IDEwNSw0NCAxMDUsNDQgMTA1LDQ0Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMTQxLDQ4IDE0MSw1NCAxNDQsNTggMTM5LDYyIDEzNyw2NiAxMzYsNTkgMTM3LDUyIDE0MSw0OCAxNDEsNDggMTQxLDQ4Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgOTgsMTM1IDEwNCwxMzAgMTA1LDEzNCAxMDgsMTMyIDEwOCwxMzUgMTEyLDEzNCAxMTMsMTM3IDExNiwxMzYgMTE2LDEzOSAxMTksMTM5IDEyNCwxNDEgMTI4LDE0MCAxMzMsMTM4IDE0MCwxMzMgMTM5LDE0MCAxMjYsMTQ2IDEwNCwxNDQgOTgsMTM1IDk4LDEzNSA5OCwxMzUiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiA5NywxMTYgMTAzLDExOSAxMDMsMTE2IDExMSwxMTggMTE2LDExNyAxMjIsMTE0IDEyNywxMDcgMTM1LDExMSAxNDIsMTA3IDE0MSwxMTQgMTQ1LDExOCAxNDksMTIxIDE0NSwxMjUgMTQwLDEyNCAxMjcsMTIxIDExMywxMjUgMTAwLDEyNCA5NywxMTYgOTcsMTE2IDk3LDExNiIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cz0iIDE0NywzMyAxNTIsMzUgMTU3LDM0IDE1MywzMSAxNjAsMzEgMTU2LDI4IDE2MSwyOCAxNTksMjQgMTYzLDI1IDE2MywyMSAxNjUsMjIgMTcwLDIzIDE2NywxNyAxNzIsMjEgMTc0LDE4IDE3NSwyMyAxNzYsMjIgMTc3LDI4IDE3NywzMyAxNzQsMzcgMTc2LDM5IDE3NCw0NCAxNzEsNDkgMTY4LDUzIDE2NCw1NyAxNTksNjggMTU2LDcwIDE1NCw2MCAxNTAsNTEgMTQ2LDQzIDE0NCwzNSAxNDcsMzMgMTQ3LDMzIDE0NywzMyIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cz0iIDg1LDcyIDg5LDc0IDkzLDc1IDEwMCw3NiAxMDUsNzUgMTAyLDc5IDk0LDc5IDg4LDc2IDg1LDcyIDg1LDcyIDg1LDcyIi8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgODYsMjE0IDc5LDIyMSA3NiwyMzIgODIsMjI1IDc4LDIzOSA4MiwyMzQgNzgsMjQ1IDgxLDI0MyA3OSwyNTUgODQsMjUwIDg0LDI2NyA4NywyNTQgOTAsMjcxIDkwLDI1NyA5NSwyNzEgOTMsMjU2IDk1LDI0OSA5MiwyNTIgOTMsMjQzIDg5LDI1MyA4OSwyNDEgODYsMjUwIDg3LDIzNiA4MywyNDUgODcsMjMxIDgyLDIzMSA5MCwyMTkgODQsMjIxIDg2LDIxNCA4NiwyMTQgODYsMjE0Ii8+IAorPC9nPiAKKzxnIHN0eWxlPSJmaWxsOiAjZmZjYzdmIj4gCisgICA8cG9seWxpbmUgdmVydHM9IiA5Myw2OCA5Niw3MiAxMDAsNzMgMTA2LDcyIDEwOCw2NiAxMDUsNjMgMTAwLDYyIDkzLDY4IDkzLDY4IDkzLDY4Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMTQ0LDY0IDE0Miw2OCAxNDIsNzMgMTQ2LDc0IDE1MCw3MyAxNTQsNjQgMTQ5LDYyIDE0NCw2NCAxNDQsNjQgMTQ0LDY0Ii8+IAorPC9nPiAKKzxnIHN0eWxlPSJmaWxsOiAjOWM4MjZiIj4gCisgICA8cG9seWxpbmUgdmVydHM9IiA1Nyw5MSA0MiwxMTEgNTIsMTA1IDQxLDExNyA1MywxMTIgNDYsMTIwIDUzLDExNiA1MCwxMjQgNTcsMTE5IDU1LDEyNyA2MSwxMjIgNjAsMTMwIDY3LDEyNiA2NiwxMzQgNzEsMTI5IDcyLDEzNiA3NywxMzAgNzYsMTM3IDgwLDEzMyA4MiwxMzggODYsMTM1IDk2LDEzNSA5NCwxMjkgODYsMTI0IDgzLDExNyA3NywxMjMgNzksMTE3IDczLDEyMCA3NSwxMTIgNjgsMTE2IDcxLDExMSA2NSwxMTQgNjksMTA3IDYzLDExMCA2OCwxMDIgNjEsMTA3IDY2LDk4IDYxLDEwMyA2Myw5NyA1Nyw5OSA1Nyw5MSA1Nyw5MSA1Nyw5MSIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cz0iIDgzLDc5IDc2LDc5IDY3LDgyIDc1LDgzIDY1LDg4IDc2LDg3IDY1LDkyIDc2LDkxIDY4LDk2IDc3LDk1IDcwLDk5IDgwLDk4IDcyLDEwNCA4MCwxMDIgNzYsMTA4IDg1LDEwMyA5MiwxMDEgODcsOTggOTMsOTYgODYsOTQgOTEsOTMgODUsOTEgOTMsODkgOTksODkgMTA1LDkzIDEwNyw4NSAxMDIsODIgOTIsODAgODMsNzkgODMsNzkgODMsNzkiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiAxMDksNzcgMTExLDgzIDEwOSw4OSAxMTMsOTQgMTE3LDkwIDExNyw4MSAxMTQsNzggMTA5LDc3IDEwOSw3NyAxMDksNzciLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiAxMjIsMTI4IDEyNywxMjYgMTM0LDEyNyAxMzYsMTI5IDEzNCwxMzAgMTMwLDEyOCAxMjQsMTI5IDEyMiwxMjggMTIyLDEyOCAxMjIsMTI4Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgNzgsMjcgODIsMzIgODAsMzMgODIsMzYgNzgsMzcgODIsNDAgNzgsNDIgODEsNDYgNzYsNDcgNzgsNDkgNzQsNTAgODIsNTIgODcsNTAgODMsNDggOTEsNDYgODYsNDUgOTEsNDIgODgsNDAgOTIsMzcgODYsMzQgOTAsMzEgODYsMjkgODksMjYgNzgsMjcgNzgsMjcgNzgsMjciLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiA4MiwxNyA5MiwyMCA3OSwyMSA5MCwyNSA4MSwyNSA5NCwyOCA5MywyNiAxMDEsMzAgMTAxLDI2IDEwNywzMyAxMDgsMjggMTExLDQwIDExMywzNCAxMTUsNDUgMTE3LDM5IDExOSw1NCAxMjEsNDYgMTI0LDU4IDEyNiw0NyAxMjksNTkgMTMwLDQ5IDEzNCw1OCAxMzMsNDQgMTM3LDQ4IDEzMywzNyAxMzcsNDAgMTMzLDMyIDEyNiwyMCAxMzUsMjYgMTMyLDE5IDEzOCwyMyAxMzUsMTcgMTQyLDE4IDEzMiwxMSAxMTYsNiA5NCw2IDc4LDExIDkyLDEyIDgwLDE0IDkwLDE2IDgyLDE3IDgyLDE3IDgyLDE3Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMTQyLDIzNCAxMzIsMjI3IDEyNCwyMjMgMTE1LDIyMCAxMTAsMjI1IDExOCwyMjQgMTI3LDIyOSAxMzUsMjM2IDEyMiwyMzQgMTE1LDIzNyAxMTMsMjQyIDEyMSwyMzggMTM5LDI0MyAxMjEsMjQ1IDExMSwyNTQgOTUsMjU0IDEwMiwyNDQgMTA0LDIzNSAxMTAsMjI5IDEwMCwyMzEgMTA0LDIyNCAxMTMsMjE2IDEyMiwyMTUgMTMyLDIxNyAxNDEsMjI0IDE0NSwyMzAgMTQ5LDI0MCAxNDIsMjM0IDE0MiwyMzQgMTQyLDIzNCIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cz0iIDExNSwyNTIgMTI1LDI0OCAxMzcsMjQ5IDE0MywyNTggMTM0LDI1NSAxMjUsMjU0IDExNSwyNTIgMTE1LDI1MiAxMTUsMjUyIi8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMTE0LDIxMiAxMzAsMjEzIDE0MCwyMTkgMTQ3LDIyNSAxNDQsMjE0IDEzNywyMDkgMTI4LDIwNyAxMTQsMjEyIDExNCwyMTIgMTE0LDIxMiIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cz0iIDEwMiwyNjMgMTA4LDI1OCAxMTcsMjU3IDEzMSwyNTggMTE2LDI2MCAxMDksMjY1IDEwMiwyNjMgMTAyLDI2MyAxMDIsMjYzIi8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgNTEsMjQxIDM1LDIyNCA0MCwyMzggMjMsMjI0IDMxLDI0MiAxOSwyMzkgMjgsMjQ3IDE3LDI0NiAyNSwyNTAgMzcsMjU0IDM5LDI2MyA0NCwyNzEgNDcsMjk0IDQ4LDMxNyA1MSwzMjggNjAsMzUxIDYwLDMyMyA1MywyNjIgNDcsMjQ2IDUxLDI0MSA1MSwyNDEgNTEsMjQxIi8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMiwzNjQgOSwzNjcgMTQsMzY2IDE4LDM1NSAyMCwzNjQgMjYsMzY2IDMxLDM1NyAzNSwzNjQgMzksMzY0IDQyLDM1NyA0NywzNjMgNTMsMzYwIDU5LDM1NyA1NCwzNjkgNywzNzMgMiwzNjQgMiwzNjQgMiwzNjQiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiA3LDM0OSAxOSwzNDUgMjUsMzM5IDE4LDM0MSAyMywzMzMgMjgsMzI2IDIzLDMyNiAyNywzMjAgMjMsMzE2IDI1LDMxMSAyMCwyOTggMTUsMjc3IDEyLDI2NCA5LDI0OSAxMCwyMjMgMywyNDggNSwyNjEgMTUsMzA3IDE3LDMyNiAxMSwzNDMgNywzNDkgNywzNDkgNywzNDkiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiAxMSwyMjYgMTUsMjMxIDI1LDIzNiAxOCwyMjcgMTEsMjI2IDExLDIyNiAxMSwyMjYiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiAxMywyMTQgMTksMjE3IDMyLDIyNyAyMywyMTQgMTYsMjA4IDE1LDE5MCAyNCwxNDggMzEsMTIxIDI0LDEzNyAxNCwxNzAgOCwxODkgMTMsMjE0IDEzLDIxNCAxMywyMTQiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiAyMDIsMjU0IDE5NSwyNTggMTk5LDI2MCAxOTMsMjYzIDE5NywyNjMgMTkwLDI2OCAxOTYsMjY4IDE5MSwyNzMgMTg4LDI4MiAyMDAsMjcyIDE5NCwyNzIgMjAxLDI2NiAxOTcsMjY1IDIwNCwyNjIgMjAwLDI1OCAyMDQsMjU2IDIwMiwyNTQgMjAyLDI1NCAyMDIsMjU0Ii8+IAorPC9nPiAKKzxnIHN0eWxlPSJmaWxsOiAjODQ1NDMzIj4gCisgICA8cG9seWxpbmUgdmVydHM9IiAxNTEsMjEzIDE2NSwyMTIgMTc5LDIyNSAxODksMjQ2IDE4NywyNjIgMTc5LDI3NSAxNzYsMjYzIDE3NywyNDcgMTcxLDIzMyAxNjMsMjMwIDE2NSwyNTEgMTU3LDI2NCAxNDYsMjk4IDE0NSwzMjEgMTMzLDMyNiAxNDMsMjg1IDE1NCwyNjAgMTUzLDI0MCAxNTEsMjEzIDE1MSwyMTMgMTUxLDIxMyIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cz0iIDkxLDEzMiA5NSwxNDUgOTcsMTU0IDEwNCwxNDggMTA3LDE1NSAxMDksMTUwIDExMSwxNTggMTE1LDE1MiAxMTgsMTU5IDEyMCwxNTMgMTI1LDE2MSAxMjYsMTU1IDEzMywxNjQgMTMyLDE1NCAxMzcsMTYzIDEzNywxNTIgMTQyLDE2MyAxNDcsMTg2IDE1MiwxOTIgMTQ4LDE2NyAxNDEsMTQzIDEyNCwxNDUgMTA1LDE0MyA5MSwxMzIgOTEsMTMyIDkxLDEzMiIvPiAKKzwvZz4gCis8ZyBzdHlsZT0iZmlsbDogIzljODI2YiI+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMzEsNTcgMjMsNTIgMjYsNTEgMjAsNDQgMjMsNDIgMjEsMzYgMjIsMjkgMjUsMjMgMjQsMzIgMzAsNDMgMjYsNDEgMzAsNTAgMjYsNDggMzEsNTcgMzEsNTcgMzEsNTciLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiAxNDcsMjEgMTQ5LDI4IDE1NSwyMSAxNjEsMTYgMTY3LDE0IDE3NSwxNSAxNzMsMTEgMTYxLDkgMTQ3LDIxIDE0NywyMSAxNDcsMjEiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiAxODEsMzkgMTc1LDUxIDE2OSw1NyAxNzEsNjUgMTY1LDY4IDE2NSw3NSAxNjAsNzYgMTYyLDkxIDE3MSw3MSAxODAsNTEgMTgxLDM5IDE4MSwzOSAxODEsMzkiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiAxMzIsMzQ2IDEzOSwzNDggMTQxLDM0NiAxNDIsMzQxIDE0NywzNDIgMTQzLDM1NSAxMzMsMzUwIDEzMiwzNDYgMTMyLDM0NiAxMzIsMzQ2Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMTQ2LDM1NSAxNTEsMzUyIDE1NSwzNDggMTU3LDM0MyAxNjAsMzQ5IDE1MSwzNTYgMTQ3LDM1NyAxNDYsMzU1IDE0NiwzNTUgMTQ2LDM1NSIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cz0iIDk5LDI2NiAxMDAsMjgxIDk0LDMwNSA4NiwzMjIgNzgsMzMyIDcyLDM0NiA3MywzMzEgOTEsMjkxIDk5LDI2NiA5OSwyNjYgOTksMjY2Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMjAsMzQ3IDMyLDM0MiA0NSwzNDAgNTQsMzQ1IDQ1LDM1MCA0MiwzNTMgMzgsMzUwIDMxLDM1MyAyOSwzNTYgMjMsMzUwIDE5LDM1MyAxNSwzNDkgMjAsMzQ3IDIwLDM0NyAyMCwzNDciLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiA3OCwzNDQgODYsMzQ0IDkyLDM0OSA4OCwzNTggODQsMzUyIDc4LDM0NCA3OCwzNDQgNzgsMzQ0Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgOTMsMzQ3IDEwNCwzNDQgMTE3LDM0NSAxMjQsMzU0IDEyMSwzNTcgMTE2LDM1MSAxMTIsMzUxIDEwOCwzNTUgMTAyLDM1MSA5MywzNDcgOTMsMzQ3IDkzLDM0NyIvPiAKKzwvZz4gCis8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMTA1LDEyIDExMSwxOCAxMTMsMjQgMTEzLDI5IDExOSwzNCAxMTYsMjMgMTEyLDE2IDEwNSwxMiAxMDUsMTIgMTA1LDEyIi8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMTIyLDI3IDEyNSwzNCAxMjcsNDMgMTI4LDM0IDEyNSwyOSAxMjIsMjcgMTIyLDI3IDEyMiwyNyIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cz0iIDExNSwxMyAxMjIsMTkgMTIyLDE1IDExMywxMCAxMTUsMTMgMTE1LDEzIDExNSwxMyIvPiAKKzwvZz4gCis8ZyBzdHlsZT0iZmlsbDogI2ZmZTViMiI+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMTE2LDE3MiAxMDcsMTgyIDk4LDE5MyA5OCwxODMgOTAsMTk5IDg5LDE4OSA4NCwyMDcgODgsMjA2IDg3LDIxNSA5NSwyMDYgOTMsMjE5IDkxLDIzMCA5OCwyMTYgOTcsMjI2IDEwNCwyMTQgMTEyLDIwOSAxMDQsMjA4IDExMywyMDIgMTI2LDIwMCAxMzksMjA3IDEzMiwxOTggMTQyLDIwMyAxMzQsMTkyIDE0MiwxOTUgMTM0LDE4NyAxNDAsMTg1IDEzMCwxODEgMTM2LDE3NyAxMjYsMTc3IDEyNSwxNzEgMTE2LDE4MCAxMTYsMTcyIDExNiwxNzIgMTE2LDE3MiIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cz0iIDc0LDIyMCA2NywyMzAgNjcsMjIxIDU5LDIzNSA2MywyMzMgNjAsMjQ4IDcwLDIzMiA2NSwyNDkgNzEsMjQzIDY3LDI1NiA3MywyNTAgNjksMjYyIDczLDI1OSA3MSwyNjcgNzYsMjYyIDcyLDI3MSA3OCwyNzAgNzYsMjc1IDgyLDI3NCA3OCwyOTAgODYsMjc5IDg2LDI4OSA5MiwyNzQgODgsMjc1IDg3LDI2NCA4MiwyNzAgODIsMjU4IDc3LDI1NyA3OCwyNDcgNzMsMjQ2IDc3LDIzMyA3MiwyMzYgNzQsMjIwIDc0LDIyMCA3NCwyMjAiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiAxMzMsMjMwIDE0NywyNDIgMTQ4LDI1MCAxNDUsMjU0IDEzOCwyNDcgMTI5LDI0NiAxNDIsMjQ1IDEzOCwyNDEgMTI4LDIzNyAxMzcsMjM4IDEzMywyMzAgMTMzLDIzMCAxMzMsMjMwIi8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMTMzLDI2MSAxMjUsMjYxIDExNiwyNjMgMTExLDI2NyAxMjUsMjY1IDEzMywyNjEgMTMzLDI2MSAxMzMsMjYxIi8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMTIxLDI3MSAxMDksMjczIDEwMywyNzkgOTksMzA1IDkyLDMxNiA4NSwzMjcgODMsMzM1IDg5LDM0MCA5NywzNDEgOTQsMzM2IDEwMSwzMzYgOTYsMzMxIDEwMywzMzAgOTcsMzI3IDEwOCwzMjUgOTksMzIyIDEwOSwzMjEgMTAwLDMxOCAxMTAsMzE3IDEwNSwzMTQgMTEwLDMxMiAxMDcsMzEwIDExMywzMDggMTA1LDMwNiAxMTQsMzAzIDEwNSwzMDEgMTE1LDI5OCAxMDcsMjk1IDExNSwyOTQgMTA4LDI5MyAxMTcsMjkxIDEwOSwyODkgMTE3LDI4NiAxMDksMjg2IDExOCwyODMgMTEyLDI4MSAxMTgsMjc5IDExNCwyNzggMTE5LDI3NiAxMTUsMjc0IDEyMSwyNzEgMTIxLDI3MSAxMjEsMjcxIi8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgNzksMzY0IDc0LDM1OSA3NCwzNTMgNzYsMzQ3IDgwLDM1MSA4MywzNTYgODIsMzYwIDc5LDM2NCA3OSwzNjQgNzksMzY0Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgOTEsMzYzIDkzLDM1NiA5NywzNTMgMTAzLDM1NSAxMDUsMzYwIDEwMywzNjYgOTksMzcxIDk0LDM2OCA5MSwzNjMgOTEsMzYzIDkxLDM2MyIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cz0iIDExMCwzNTUgMTE0LDM1MyAxMTgsMzU3IDExNywzNjMgMTEzLDM2OSAxMTEsMzYyIDExMCwzNTUgMTEwLDM1NSAxMTAsMzU1Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMTI2LDM1NCAxMjMsMzU4IDEyNCwzNjcgMTI2LDM2OSAxMjksMzYxIDEyOSwzNTcgMTI2LDM1NCAxMjYsMzU0IDEyNiwzNTQiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiAzMCwxNTQgMjQsMTY2IDIwLDE4MiAyMywxOTQgMjksMjA4IDM3LDIxOCA0MSwyMTAgNDEsMjIzIDQ2LDIxNCA0NiwyMjcgNTIsMjE2IDUyLDIyNyA2MSwyMTYgNTksMjI1IDY4LDIxMyA3MywyMTkgNzAsMjA3IDc3LDIxMiA2OSwyMDAgNzcsMjAyIDcwLDE5NCA3OCwxOTcgNjgsMTg3IDc2LDE4MiA2NCwxODIgNTgsMTc1IDU4LDE4NSA1MywxNzcgNTAsMTg2IDQ2LDE3MSA0NCwxODIgMzksMTY3IDM2LDE3MiAzNiwxNjIgMzAsMTY2IDMwLDE1NCAzMCwxNTQgMzAsMTU0Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgNDQsMTMwIDQxLDEzNyA0NSwxMzYgNDMsMTUwIDQ4LDE0MiA0OCwxNTcgNTMsMTUwIDUyLDE2NCA2MCwxNTYgNjEsMTY5IDY0LDE2NSA2NiwxNzUgNzAsMTY3IDc0LDE3NiA3NywxNjggODAsMTgzIDg1LDE3MiA5MCwxODIgOTMsMTc0IDk4LDE4MSA5OSwxNzMgMTA0LDE3NSAxMDUsMTY5IDExNCwxNjggMTAyLDE2MyA5NSwxNTcgOTQsMTY2IDkwLDE1NCA4NywxNjIgODIsMTQ5IDc1LDE1OSA3MiwxNDggNjgsMTU1IDY3LDE0MyA2MiwxNDggNjIsMTM4IDU4LDE0NSA1NiwxMzMgNTIsMTQyIDUyLDEyOCA0OSwxMzQgNDcsMTI1IDQ0LDEzMCA0NCwxMzAgNDQsMTMwIi8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMTMsMjE2IDE5LDIxOSAzNiwyMzEgMjIsMjIzIDE2LDIyMiAyMiwyMjcgMTIsMjI0IDEzLDIyMCAxNiwyMjAgMTMsMjE2IDEzLDIxNiAxMywyMTYiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiAxMCwyMzEgMTQsMjM2IDI1LDIzOSAyNywyMzcgMTksMjM0IDEwLDIzMSAxMCwyMzEgMTAsMjMxIi8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgOSwyNDUgMTQsMjQyIDI1LDI0NSAxMywyNDUgOSwyNDUgOSwyNDUgOSwyNDUiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiAzMywyNTUgMjYsMjUzIDE4LDI1NCAyNSwyNTYgMTgsMjU4IDI3LDI2MCAxOCwyNjMgMjcsMjY1IDE5LDI2NyAyOSwyNzAgMjEsMjcyIDI5LDI3NiAyMSwyNzggMzAsMjgxIDIyLDI4MyAzMSwyODcgMjQsMjg4IDMyLDI5MiAyMywyOTMgMzQsMjk4IDI2LDI5OSAzNywzMDMgMzIsMzA1IDM5LDMwOSAzMywzMDkgMzksMzE0IDM0LDMxNCA0MCwzMTggMzQsMzE3IDQwLDMyMSAzNCwzMjEgNDEsMzI2IDMzLDMyNiA0MCwzMzAgMzMsMzMyIDM5LDMzMyAzMywzMzcgNDIsMzM3IDU0LDM0MSA0OSwzMzcgNTIsMzM1IDQ3LDMzMCA1MCwzMzAgNDUsMzI1IDQ5LDMyNSA0NSwzMjEgNDgsMzIxIDQ1LDMxNiA0NiwzMDYgNDUsMjg2IDQzLDI3NCAzNiwyNjEgMzMsMjU1IDMzLDI1NSAzMywyNTUiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiA3LDM1OCA5LDM1MSAxNCwzNTEgMTcsMzU5IDExLDM2NCA3LDM1OCA3LDM1OCA3LDM1OCIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cz0iIDQ0LDM1NCA0OSwzNTEgNTIsMzU1IDQ5LDM2MSA0NCwzNTQgNDQsMzU0IDQ0LDM1NCIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cz0iIDMyLDM1NyAzNywzNTMgNDAsMzU4IDM2LDM2MSAzMiwzNTcgMzIsMzU3IDMyLDM1NyIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cz0iIDEzOSwzMzQgMTQ1LDMzMCAxNTQsMzMwIDE1OCwzMzQgMTU0LDM0MSAxNTIsMzQ4IDE0NSwzNTAgMTQ5LDM0MCAxNDcsMzM2IDE0MSwzMzkgMTM5LDM0NSAxMzYsMzQyIDEzNiwzMzkgMTM5LDMzNCAxMzksMzM0IDEzOSwzMzQiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiAyMDgsMjU5IDIxNSwyNTkgMjEyLDI1NSAyMjAsMjU5IDIyNCwyNjMgMjI1LDI3NCAyMjQsMjgzIDIyMCwyOTIgMjA4LDMwMCAyMDYsMzA4IDIwMywzMDQgMTk5LDMxNSAxOTcsMzA5IDE5NSwzMTggMTkzLDMxMyAxOTAsMzIyIDE5MCwzMTYgMTg1LDMyNSAxODIsMzE4IDE4MCwzMjUgMTcyLDMyMSAxNzgsMzIwIDE3NiwzMTMgMTg2LDMxMiAxODAsMzA3IDE4OCwzMDcgMTg0LDMwMyAxOTEsMzAyIDE4NiwyOTkgMTk1LDI5NCAxODcsMjkwIDE5NywyODggMTkyLDI4NiAyMDEsMjgzIDE5NCwyODAgMjAzLDI3NyAxOTgsMjc1IDIwNywyNzEgMjAwLDI2OSAyMDksMjY1IDIwNCwyNjUgMjEyLDI2MiAyMDgsMjU5IDIwOCwyNTkgMjA4LDI1OSIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cz0iIDEwNiwxMjYgMTA2LDEzMSAxMDksMTMyIDExMSwxMzQgMTE1LDEzMiAxMTUsMTM1IDExOSwxMzMgMTE4LDEzNyAxMjMsMTM3IDEyOCwxMzcgMTMzLDEzNCAxMzYsMTMwIDEzNiwxMjcgMTMyLDEyNCAxMTgsMTI4IDExMiwxMjggMTA2LDEyNiAxMDYsMTI2IDEwNiwxMjYiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiAxMDcsMTE0IDEwMSwxMTAgOTgsMTAyIDEwNSw5NyAxMTEsOTggMTE5LDEwMiAxMjEsMTA4IDExOCwxMTIgMTEzLDExNSAxMDcsMTE0IDEwNywxMTQgMTA3LDExNCIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cz0iIDE0OCwxMDYgMTQ1LDExMCAxNDYsMTE2IDE1MCwxMTggMTUyLDExMSAxNTEsMTA3IDE0OCwxMDYgMTQ4LDEwNiAxNDgsMTA2Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgODAsNTUgNzAsNTIgNzUsNTggNjMsNTcgNzIsNjEgNTcsNjEgNjcsNjYgNTcsNjcgNjIsNjkgNTQsNzEgNjEsNzMgNTQsNzcgNjMsNzggNTMsODUgNjAsODQgNTYsOTAgNjksODQgNjMsODIgNzUsNzYgNzAsNzUgNzcsNzIgNzIsNzEgNzgsNjkgNzIsNjYgODEsNjcgNzgsNjQgODIsNjMgODAsNjAgODYsNjIgODAsNTUgODAsNTUgODAsNTUiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiA4Nyw1NiA5MSw1MiA5Niw1MCAxMDIsNTYgOTgsNTYgOTIsNjAgODcsNTYgODcsNTYgODcsNTYiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiA4NSw2OCA4OSw3MyA5OCw3NiAxMDYsNzQgOTYsNzMgOTEsNzAgODUsNjggODUsNjggODUsNjgiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiAxMTUsNTcgMTE0LDY0IDExMSw2NCAxMTUsNzUgMTIyLDgxIDEyMiw3NCAxMjYsNzkgMTI2LDc0IDEzMSw3OCAxMzAsNzIgMTMzLDc3IDEzMSw2OCAxMjYsNjEgMTE5LDU3IDExNSw1NyAxMTUsNTcgMTE1LDU3Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMTQ1LDQ4IDE0Myw1MyAxNDcsNTkgMTUxLDU5IDE1MCw1NSAxNDUsNDggMTQ1LDQ4IDE0NSw0OCIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cz0iIDI2LDIyIDM0LDE1IDQzLDEwIDUyLDEwIDU5LDE2IDQ3LDE1IDMyLDIyIDI2LDIyIDI2LDIyIDI2LDIyIi8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMTYwLDE5IDE1MiwyNiAxNDksMzQgMTU0LDMzIDE1MiwzMCAxNTcsMzAgMTU1LDI2IDE1OCwyNyAxNTcsMjMgMTYxLDIzIDE2MCwxOSAxNjAsMTkgMTYwLDE5Ii8+IAorPC9nPiAKKzxnIHN0eWxlPSJmaWxsOiAjMDAwMDAwIj4gCisgICA8cG9seWxpbmUgdmVydHM9IiA5OCwxMTcgMTA1LDEyMiAxMDksMTIyIDEwNSwxMTcgMTEzLDEyMCAxMjEsMTIwIDEzMCwxMTIgMTI4LDEwOCAxMjMsMTAzIDEyMyw5OSAxMjgsMTAxIDEzMiwxMDYgMTM1LDEwOSAxNDIsMTA1IDE0MiwxMDEgMTQ1LDEwMSAxNDUsOTEgMTQ4LDEwMSAxNDUsMTA1IDEzNiwxMTIgMTM1LDExNiAxNDMsMTI0IDE0OCwxMjAgMTUwLDEyMiAxNDIsMTI4IDEzMywxMjIgMTIxLDEyNSAxMTIsMTI2IDEwMywxMjUgMTAwLDEyOSA5NiwxMjQgOTgsMTE3IDk4LDExNyA5OCwxMTciLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiAxNDYsMTE4IDE1MiwxMTggMTUyLDExNSAxNDksMTE1IDE0NiwxMTggMTQ2LDExOCAxNDYsMTE4Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMTQ4LDExMiAxNTQsMTExIDE1NCwxMDkgMTQ5LDEwOSAxNDgsMTEyIDE0OCwxMTIgMTQ4LDExMiIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cz0iIDEwNiwxMTIgMTA4LDExNSAxMTQsMTE2IDExOCwxMTQgMTA2LDExMiAxMDYsMTEyIDEwNiwxMTIiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiAxMDgsMTA4IDExMSwxMTAgMTE2LDExMCAxMTksMTA4IDEwOCwxMDggMTA4LDEwOCAxMDgsMTA4Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMTA2LDEwNCAxMDksMTA1IDExNywxMDYgMTE1LDEwNCAxMDYsMTA0IDEwNiwxMDQgMTA2LDEwNCIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cz0iIDUwLDI1IDQxLDI2IDM0LDMzIDM5LDQzIDQ5LDU4IDM2LDUxIDQ3LDY4IDU1LDY5IDU0LDU5IDYxLDU3IDc0LDQ2IDYwLDUyIDY3LDQyIDU3LDQ4IDYxLDQwIDU0LDQ1IDYwLDM2IDU5LDI5IDQ4LDM4IDUyLDMwIDQ3LDMyIDUwLDI1IDUwLDI1IDUwLDI1Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMTQ3LDM0IDE1Miw0MSAxNTUsNDkgMTYxLDUzIDE1Nyw0NyAxNjQsNDcgMTU4LDQzIDE2OCw0NCAxNTksNDAgMTY0LDM3IDE2OSwzNyAxNjQsMzMgMTY5LDM0IDE2NSwyOCAxNzAsMzAgMTcwLDI1IDE3MywyOSAxNzUsMjcgMTc2LDMyIDE3MywzNiAxNzUsMzkgMTcyLDQyIDE3Miw0NiAxNjgsNDkgMTcwLDU1IDE2Miw1NyAxNTgsNjMgMTU1LDU4IDE1Myw1MCAxNDksNDYgMTQ3LDM0IDE0NywzNCAxNDcsMzQiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiAxNTUsNzEgMTU5LDgwIDE1Nyw5MyAxNTcsMTAyIDE1NSwxMDggMTUwLDEwMSAxNDksOTMgMTU0LDEwMSAxNTIsOTEgMTUxLDgzIDE1NSw3OSAxNTUsNzEgMTU1LDcxIDE1NSw3MSIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cz0iIDExMiw3OCAxMTUsODEgMTE0LDkxIDExMiw4NyAxMTMsODIgMTEyLDc4IDExMiw3OCAxMTIsNzgiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiA3OCwyOCA2NCwxNyA1OCwxMSA0Nyw5IDM2LDEwIDI4LDE2IDIxLDI2IDE4LDQxIDIwLDUxIDIzLDYxIDMzLDY1IDI4LDY4IDM3LDc0IDM2LDgxIDQzLDg3IDQ4LDkwIDQzLDEwMCA0MCw5OCAzOSw5MCAzMSw4MCAzMCw3MiAyMiw3MSAxNyw2MSAxNCw0NiAxNiwyOCAyMywxNyAzMyw5IDQ1LDYgNTQsNiA2NSwxMiA3OCwyOCA3OCwyOCA3OCwyOCIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cz0iIDY3LDE4IDc2LDkgODcsNSAxMDEsMiAxMTgsMyAxMzUsOCAxNDksMjAgMTQ5LDI2IDE0NCwxOSAxMzIsMTIgMTIxLDkgMTA1LDcgODksOCA3NiwxNCA3MCwyMCA2NywxOCA2NywxOCA2NywxOCIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cz0iIDU2LDk4IDQ4LDEwNiA1NiwxMDMgNDcsMTEyIDU2LDExMCA1MiwxMTUgNTcsMTEzIDUyLDEyMSA2MiwxMTUgNTgsMTIzIDY1LDExOSA2MywxMjUgNjksMTIxIDY4LDEyNyA3NCwxMjUgNzQsMTI5IDc5LDEyOCA4MywxMzIgOTQsMTM1IDkzLDEyOSA4NSwxMjcgODEsMTIyIDc2LDEyNiA3NSwxMjEgNzEsMTI0IDcxLDExNyA2NiwxMjEgNjYsMTE3IDYyLDExNyA2NCwxMTIgNjAsMTEzIDYwLDExMCA1NywxMTEgNjEsMTA1IDU3LDEwNyA2MCwxMDEgNTUsMTAyIDU2LDk4IDU2LDk4IDU2LDk4Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMTAxLDEzMiAxMDMsMTM4IDEwNiwxMzQgMTA2LDEzOSAxMTIsMTM2IDExMSwxNDIgMTE1LDEzOSAxMTQsMTQzIDExOSwxNDIgMTI1LDE0NSAxMzEsMTQyIDEzNSwxMzggMTQwLDEzNCAxNDAsMTI5IDE0MywxMzUgMTQ1LDE0OSAxNTAsMTcxIDE0OSwxODQgMTQ1LDE2NSAxNDEsMTUwIDEzNiwxNDcgMTMyLDE1MSAxMzEsMTQ5IDEyNiwxNTIgMTI1LDE1MCAxMjEsMTUyIDExNywxNDggMTExLDE1MiAxMTAsMTQ4IDEwNSwxNDkgMTA0LDE0NSA5OCwxNTAgOTYsMTM4IDk0LDEzMiA5NCwxMzAgOTgsMTMyIDEwMSwxMzIgMTAxLDEzMiAxMDEsMTMyIi8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgNDEsOTQgMzIsMTEwIDIzLDEzMiAxMiwxNjMgNiwxOTAgNywyMTcgNSwyMzYgMywyNDcgOSwyMzAgMTIsMjExIDEyLDE4NSAxOCwxNjAgMjYsMTM0IDM1LDExMCA0Myw5OSA0MSw5NCA0MSw5NCA0MSw5NCIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cz0iIDMyLDI0NiA0MSwyNTAgNTAsMjU3IDUyLDI2NyA1MywyOTUgNTMsMzIzIDU5LDM1MCA1NCwzNjMgNTEsMzY1IDQ0LDM2NiA0MiwzNjAgNDAsMzcyIDU0LDM3MiA1OSwzNjYgNjIsMzUzIDcxLDM1MiA3NSwzMzUgNzMsMzMwIDY2LDMxOCA2OCwzMDIgNjQsMjk0IDY3LDI4OCA2MywyODYgNjMsMjc5IDU5LDI3NSA1OCwyNjcgNTYsMjYyIDUwLDI0NyA0MiwyMzUgNDQsMjQ2IDMyLDIzNiAzNSwyNDQgMzIsMjQ2IDMyLDI0NiAzMiwyNDYiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiAxMzQsMzI0IDE0NiwzMjAgMTU5LDMyMiAxNzMsMzI3IDE3OSwzMzcgMTc5LDM0OSAxNzIsMzU1IDE1OCwzNTcgMTcwLDM1MCAxNzQsMzQzIDE3MCwzMzMgMTYzLDMyOCAxNTIsMzI2IDEzNCwzMjkgMTM0LDMyNCAxMzQsMzI0IDEzNCwzMjQiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiAxNzMsMzM5IDE4MywzMzQgMTg0LDMzOCAxOTEsMzI5IDE5NCwzMzIgMTk5LDMyMyAyMDIsMzI1IDIwNiwzMTggMjA5LDMyMCAyMTMsMzA5IDIyMSwzMDMgMjI4LDI5NiAyMzIsMjg5IDIzNCwyNzkgMjMzLDI2OSAyMzAsMjYyIDIyNSwyNTYgMjE5LDI1MyAyMDgsMjUyIDE5OCwyNTIgMjEwLDI0OSAyMjMsMjUwIDIzMiwyNTcgMjM3LDI2NSAyMzgsMjc3IDIzOCwyOTEgMjMyLDMwNSAyMjEsMzIzIDIxOCwzMzUgMjEyLDM0MiAyMDAsMzQ5IDE3OCwzNDggMTczLDMzOSAxNzMsMzM5IDE3MywzMzkiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiAxNjUsMjk2IDE1OCwzMDEgMTU2LDMxMCAxNTYsMzIzIDE2MiwzMjQgMTU5LDMxOCAxNjIsMzA4IDE2MiwzMDQgMTY1LDI5NiAxNjUsMjk2IDE2NSwyOTYiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiA5OSwyNTIgMTA1LDI0NCAxMDcsMjM0IDExNSwyMjggMTIxLDIyOCAxMzEsMjM1IDEyMiwyMzMgMTEzLDIzNSAxMDksMjQ2IDEyMSwyMzkgMTMzLDI0MyAxMjEsMjQzIDExMCwyNTEgOTksMjUyIDk5LDI1MiA5OSwyNTIiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiAxMTcsMjUyIDEyNCwyNDcgMTM0LDI0OSAxMzYsMjUzIDEyNiwyNTIgMTE3LDI1MiAxMTcsMjUyIDExNywyNTIiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiAxMTcsMjE4IDEzMiwyMjQgMTQ0LDIzMyAxNDAsMjI1IDEzMiwyMTkgMTE3LDIxOCAxMTcsMjE4IDExNywyMTgiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiAxMjIsMjEyIDEzNCwyMTQgMTQzLDIyMSAxNDEsMjEzIDEzMiwyMTAgMTIyLDIxMiAxMjIsMjEyIDEyMiwyMTIiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiA2OSwzNTIgNzAsMzYzIDc2LDM3MyA4NiwzNzggOTcsMzc5IDEwOCwzNzkgMTIwLDM3NyAxMjgsMzc4IDEzMiwzNzMgMTM1LDM2MSAxMzMsMzU4IDEzMiwzNjYgMTI3LDM3NSAxMjEsMzc0IDEyMSwzNjIgMTE5LDM2NyAxMTcsMzc0IDExMCwzNzYgMTEwLDM2MiAxMDcsMzU3IDEwNiwzNzEgMTA0LDM3NSA5NywzNzYgOTAsMzc1IDkwLDM2OCA4NiwzNjIgODMsMzY0IDg2LDM2OSA4NSwzNzMgNzgsMzcwIDczLDM2MiA3MSwzNTEgNjksMzUyIDY5LDM1MiA2OSwzNTIiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiAxMDAsMzYwIDk2LDM2MyA5OSwzNjkgMTAyLDM2NCAxMDAsMzYwIDEwMCwzNjAgMTAwLDM2MCIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cz0iIDExNSwzNjAgMTEyLDM2MyAxMTQsMzY5IDExNywzNjQgMTE1LDM2MCAxMTUsMzYwIDExNSwzNjAiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiAxMjcsMzYyIDEyNSwzNjQgMTI2LDM2OSAxMjgsMzY1IDEyNywzNjIgMTI3LDM2MiAxMjcsMzYyIi8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgNSwyNTUgNywyNzYgMTEsMzA0IDE1LDMyMCAxMywzMzQgNiwzNDggMiwzNTMgMCwzNjMgNSwzNzIgMTIsMzc0IDI1LDM3MiAzOCwzNzIgNDQsMzY5IDQyLDM2NyAzNiwzNjggMzEsMzY5IDMwLDM2MCAyNywzNjggMjAsMzcwIDE2LDM2MSAxNSwzNjggMTAsMzY5IDMsMzY2IDMsMzU5IDYsMzUyIDExLDM0OCAxNywzMzEgMTksMzE2IDEyLDI5MSA5LDI3NCA1LDI1NSA1LDI1NSA1LDI1NSIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cz0iIDEwLDM1OCA3LDM2MiAxMCwzNjYgMTEsMzYyIDEwLDM1OCAxMCwzNTggMTAsMzU4Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMjUsMzU3IDIyLDM2MCAyNCwzNjYgMjcsMzYwIDI1LDM1NyAyNSwzNTcgMjUsMzU3Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMzcsMzU3IDM0LDM2MSAzNiwzNjUgMzgsMzYxIDM3LDM1NyAzNywzNTcgMzcsMzU3Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgNDksMzU2IDQ2LDM1OSA0NywzNjQgNTAsMzYwIDQ5LDM1NiA0OSwzNTYgNDksMzU2Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMTMwLDEwMSAxMzIsMTAyIDEzNSwxMDEgMTM5LDEwMiAxNDMsMTAzIDE0MiwxMDEgMTM3LDEwMCAxMzMsMTAwIDEzMCwxMDEgMTMwLDEwMSAxMzAsMTAxIi8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMTA2LDQ4IDEwNSw1MiAxMDgsNTYgMTA5LDUyIDEwNiw0OCAxMDYsNDggMTA2LDQ4Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMTM5LDUyIDEzOSw1NiAxNDAsNjAgMTQyLDU4IDE0MSw1NiAxMzksNTIgMTM5LDUyIDEzOSw1MiIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cz0iIDI1LDM0OSAyOSwzNTEgMzAsMzU1IDMzLDM1MCAzNywzNDggNDIsMzUxIDQ1LDM0NyA0OSwzNDUgNDQsMzQzIDM2LDM0NSAyNSwzNDkgMjUsMzQ5IDI1LDM0OSIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cz0iIDk4LDM0NyAxMDUsMzUxIDEwNywzNTQgMTA5LDM0OSAxMTUsMzQ5IDEyMCwzNTMgMTE4LDM0OSAxMTMsMzQ2IDEwNCwzNDYgOTgsMzQ3IDk4LDM0NyA5OCwzNDciLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiA4MywzNDggODcsMzUyIDg3LDM1NyA4OSwzNTEgODcsMzQ4IDgzLDM0OCA4MywzNDggODMsMzQ4Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMTU1LDEwNyAxNjMsMTA3IDE3MCwxMDcgMTg2LDEwOCAxNzUsMTA5IDE1NSwxMDkgMTU1LDEwNyAxNTUsMTA3IDE1NSwxMDciLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiAxNTMsMTE0IDE2MiwxMTMgMTc1LDExMiAxOTIsMTE0IDE3MywxMTQgMTU0LDExNSAxNTMsMTE0IDE1MywxMTQgMTUzLDExNCIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cz0iIDE1MiwxMTggMTY0LDEyMCAxODAsMTIzIDE5NywxMjkgMTY5LDEyMyAxNTEsMTIwIDE1MiwxMTggMTUyLDExOCAxNTIsMTE4Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgNjgsMTA5IDg3LDEwNiAxMDcsMTA2IDEwNiwxMDggODgsMTA4IDY4LDEwOSA2OCwxMDkgNjgsMTA5Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMTA1LDExMSA5NSwxMTIgNzksMTE0IDcxLDExNiA4NSwxMTUgMTAyLDExMyAxMDUsMTExIDEwNSwxMTEgMTA1LDExMSIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cz0iIDEwOCwxMDEgOTgsOTkgODcsOTkgNzgsOTkgOTMsMTAwIDEwNSwxMDIgMTA4LDEwMSAxMDgsMTAxIDEwOCwxMDEiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiA4NSw2MyA5MSw2MyA5Nyw2MCAxMDQsNjAgMTA4LDYyIDExMSw2OSAxMTIsNzUgMTEwLDc0IDEwOCw3MSAxMDMsNzMgMTA2LDY5IDEwNSw2NSAxMDMsNjQgMTAzLDY3IDEwMiw3MCA5OSw3MCA5Nyw2NiA5NCw2NyA5Nyw3MiA4OCw2NyA4NCw2NiA4NSw2MyA4NSw2MyA4NSw2MyIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cz0iIDE0MCw3NCAxNDEsNjYgMTQ0LDYxIDE1MCw2MSAxNTYsNjIgMTUzLDcwIDE1MCw3MyAxNTIsNjUgMTUwLDY1IDE1MSw2OCAxNDksNzEgMTQ2LDcxIDE0NCw2NiAxNDMsNzAgMTQzLDc0IDE0MCw3NCAxNDAsNzQgMTQwLDc0Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMTQ2LDIwIDE1NiwxMSAxNjMsOSAxNzIsOSAxNzgsMTQgMTgyLDE4IDE4NCwzMiAxODIsNDIgMTgyLDUyIDE3Nyw1OCAxNzYsNjcgMTcxLDc2IDE2NSw5MCAxNTcsMTA1IDE2MCw5MiAxNjQsODUgMTY4LDc4IDE2Nyw3MyAxNzMsNjYgMTcyLDYyIDE3NSw1OSAxNzQsNTUgMTc3LDUzIDE4MCw0NiAxODEsMjkgMTc5LDIxIDE3MywxMyAxNjYsMTEgMTU5LDEzIDE1MywxOCAxNDgsMjMgMTQ2LDIwIDE0NiwyMCAxNDYsMjAiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiAxNTAsMTg3IDE0OCwyMTEgMTUwLDIzMyAxNTMsMjQ3IDE0OCwyNjcgMTM1LDI4MyAxMjUsMjk5IDEzNiwyOTIgMTMxLDMxMyAxMjIsMzI4IDEyMiwzNDUgMTI5LDM1MiAxMzMsMzU5IDEzMywzNjcgMTM3LDM1OSAxNDgsMzU2IDE0MCwzNTAgMTMxLDM0NyAxMjksMzQwIDEzMiwzMzIgMTQwLDMyOCAxMzcsMzIyIDE0MCwzMDQgMTU0LDI2NSAxNTcsMjQ0IDE1NSwyMjMgMTYxLDIyMCAxNzUsMjI5IDE4NiwyNDcgMTg1LDI2MCAxNzYsMjc1IDE3OCwyODcgMTg1LDI3NyAxODgsMjYxIDE5NiwyNTMgMTg5LDIzNiAxNzQsMjEzIDE1MCwxODcgMTUwLDE4NyAxNTAsMTg3Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMTQ3LDMzOCAxNDIsMzQxIDE0MywzNDUgMTQxLDM1NCAxNDcsMzQzIDE0NywzMzggMTQ3LDMzOCAxNDcsMzM4Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgMTU3LDM0MiAxNTYsMzQ5IDE1MCwzNTYgMTU3LDM1MyAxNjMsMzQ2IDE2MiwzNDIgMTU3LDM0MiAxNTcsMzQyIDE1NywzNDIiLz4gCisgICA8cG9seWxpbmUgdmVydHM9IiA5OSwyNjUgOTYsMjg0IDkyLDI5OSA3MywzMzkgNzMsMzMzIDg3LDMwMCA5OSwyNjUgOTksMjY1IDk5LDI2NSIvPiAKKzwvZz48L3N2Zz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3N2ZzEucmRlIGIvbGlieG1sMi9yZXN1bHQvc3ZnMS5yZGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTE0OTdkMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3N2ZzEucmRlCkBAIC0wLDAgKzEsNDc3IEBACiswIDEwIHN2ZyAwIDAKKzAgMSBzdmcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKworMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAgCisKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxICAKKworMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKworMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgIAorCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAgCisKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxICAKKworMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKworMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgIAorCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKworMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgIAorCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxICAKKworMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKworMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgIAorCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxICAKKworMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxICAKKworMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxICAKKworMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxICAKKworMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisKKzEgMTUgZyAwIDAKKzAgMTUgc3ZnIDAgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc3ZnMS5yZHIgYi9saWJ4bWwyL3Jlc3VsdC9zdmcxLnJkcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MTQ5N2QyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc3ZnMS5yZHIKQEAgLTAsMCArMSw0NzcgQEAKKzAgMTAgc3ZnIDAgMAorMCAxIHN2ZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxICAKKworMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgIAorCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAgCisKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxICAKKworMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKworMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgIAorCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAgCisKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAgCisKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKworMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgIAorCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAgCisKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKworMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgIAorCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKworMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgIAorCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKworMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgIAorCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKworMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgIAorCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwb2x5bGluZSAxIDAKKzIgMTQgI3RleHQgMCAxICAKKworMSAxNSBnIDAgMAorMCAxNSBzdmcgMCAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zdmcxLnNheCBiL2xpYnhtbDIvcmVzdWx0L3N2ZzEuc2F4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIwOWYwMWYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zdmcxLnNheApAQCAtMCwwICsxLDYxMyBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguaW50ZXJuYWxTdWJzZXQoc3ZnLCAtLy9XM0MvL0RURCBTVkcgQXByaWwgMTk5OS8vRU4sIGh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy9zdmctMTk5OTA0MTIuZHRkKQorU0FYLmV4dGVybmFsU3Vic2V0KHN2ZywgLS8vVzNDLy9EVEQgU1ZHIEFwcmlsIDE5OTkvL0VOLCBodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvc3ZnLTE5OTkwNDEyLmR0ZCkKK1NBWC5zdGFydEVsZW1lbnQoc3ZnLCB3aWR0aD0nMjQycHgnLCBoZWlnaHQ9JzM4M3B4JykKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nc3Ryb2tlOiAjMDAwMDAwJykKK1NBWC5jaGFyYWN0ZXJzKCAKKywgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycyggCissIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjZjJjYzk5JykKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQocG9seWxpbmUsIHZlcnRzPScgNjksMTggODIsOCA5OSwzIDExOCw1IDEzNSwxMiAxNDksMjEgMTU2LDEzIDE2NSw5IDE3NywxMyAxODMsMjggMTgwLDUwIDE2NCw5MSAxNTUsMTA3IDE1NCwxMTQgMTUxLDEyMSAxNDEsMTI3IDEzOSwxMzYgMTU1LDIwNiAxNTcsMjUxIDEyNiwzNDIgMTMzLDM1NyAxMjgsMzc2IDgzLDM3NiA3NSwzNjggNjcsMzUwIDYxLDM1MCA1MywzNjkgNCwzNjkgMiwzNjEgNSwzNTQgMTIsMzQyIDE2LDMyMSA0LDI1NyA0LDI0NCA3LDIxOCA5LDE3OSAyNiwxMjcgNDMsOTMgMzIsNzcgMzAsNzAgMjQsNjcgMTYsNDkgMTcsMzUgMTgsMjMgMzAsMTIgNDAsNyA1Myw3IDYyLDEyIDY5LDE4IDY5LDE4IDY5LDE4JykKK1NBWC5lbmRFbGVtZW50KHBvbHlsaW5lKQorU0FYLmNoYXJhY3RlcnMoIAorLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKCAKKywgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICNlNWIyN2YnKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChwb2x5bGluZSwgdmVydHM9JyAxNDIsNzkgMTM2LDc0IDEzOCw4MiAxMzMsNzggMTMzLDg0IDEyNyw3OCAxMjgsODUgMTI0LDgwIDEyNSw4NyAxMTksODIgMTE5LDkwIDEyNSw5OSAxMjUsOTYgMTI4LDEwMCAxMjgsOTQgMTMxLDk4IDEzMiw5MyAxMzUsOTcgMTM2LDkzIDEzOCw5NyAxMzksOTQgMTQxLDk4IDE0Myw5NCAxNDQsODUgMTQyLDc5IDE0Miw3OSAxNDIsNzknKQorU0FYLmVuZEVsZW1lbnQocG9seWxpbmUpCitTQVguY2hhcmFjdGVycyggCissIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoIAorLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogI2ViODA4MCcpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHBvbHlsaW5lLCB2ZXJ0cz0nIDEyNywxMDEgMTMyLDEwMCAxMzcsOTkgMTQ0LDEwMSAxNDMsMTA1IDEzNSwxMTAgMTI3LDEwMSAxMjcsMTAxIDEyNywxMDEnKQorU0FYLmVuZEVsZW1lbnQocG9seWxpbmUpCitTQVguY2hhcmFjdGVycyggCissIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoIAorLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogI2YyY2M5OScpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHBvbHlsaW5lLCB2ZXJ0cz0nIDE3OCwyMjkgMTU3LDI0OCAxMzksMjk2IDEyNiwzNDkgMTM3LDM1NiAxNTgsMzU3IDE4MywzNDIgMjEyLDMzMiAyMzUsMjg4IDIzNSwyNjEgMjI4LDI1MiAyMTIsMjUwIDE4OCwyNTEgMTc4LDIyOSAxNzgsMjI5IDE3OCwyMjknKQorU0FYLmVuZEVsZW1lbnQocG9seWxpbmUpCitTQVguY2hhcmFjdGVycyggCissIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoIAorLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogIzljODI2YicpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHBvbHlsaW5lLCB2ZXJ0cz0nIDU2LDIyOSA0OCwyNDEgNDgsMjUwIDU3LDI4MSA2MywzMjUgNzEsMzM4IDgxLDMxNSA3NiwzMjEgNzksMzExIDgzLDMwMSA3NSwzMDggODAsMjk4IDczLDMwMyA3NiwyOTYgNzEsMjk4IDc0LDI5MiA2OSwyOTMgNzQsMjg0IDc4LDI3OCA3MSwyNzggNzQsMjc0IDY4LDI3MyA3MCwyNjggNjYsMjY3IDY4LDI2MSA2MCwyNjYgNjIsMjU5IDY1LDI1MyA1NywyNTggNTksMjUxIDU1LDI1NCA1NSwyNDggNjAsMjM3IDU0LDI0MCA1OCwyMzQgNTQsMjM2IDU2LDIyOSA1NiwyMjkgNTYsMjI5JykKK1NBWC5lbmRFbGVtZW50KHBvbHlsaW5lKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChwb2x5bGluZSwgdmVydHM9JyA3NCwzNjMgNzksMzY4IDgxLDM2OCA4NSwzNjIgODksMzYzIDkyLDM3MCA5NiwzNzMgMTAxLDM3MiAxMDgsMzYxIDExMCwzNzEgMTEzLDM3MyAxMTYsMzcxIDEyMCwzNTggMTIyLDM2MyAxMjMsMzcxIDEyNiwzNzEgMTI5LDM2NyAxMzIsMzU3IDEzNSwzNjEgMTMwLDM3NiAxMjcsMzc3IDk0LDM3OCA4NCwzNzYgNzYsMzcxIDc0LDM2MyA3NCwzNjMgNzQsMzYzJykKK1NBWC5lbmRFbGVtZW50KHBvbHlsaW5lKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChwb2x5bGluZSwgdmVydHM9JyAyMTIsMjUwIDIxOSwyNTEgMjI4LDI1OCAyMzYsMjcwIDIzNSwyODcgMjI1LDMwNCAyMDUsMzMyIDE3NywzNDMgMTcxLDM1MiAxNTgsMzU3IDE2NiwzNTIgMTY4LDM0NiAxNjgsMzM5IDE2NSwzMzMgMTU1LDMyNyAxNTUsMzIzIDE2MSwzMjAgMTY1LDMxNiAxNjksMzE2IDE2NywzMTIgMTcxLDMxMyAxNjgsMzA4IDE3MywzMDkgMTcwLDMwNiAxNzcsMzA2IDE3NSwzMDggMTc3LDMxMSAxNzQsMzExIDE3NiwzMTYgMTcxLDMxNSAxNzQsMzE5IDE2OCwzMjAgMTY4LDMyMyAxNzUsMzI3IDE3OSwzMzIgMTgzLDMyNiAxODQsMzMyIDE4OSwzMjMgMTkwLDMyOCAxOTQsMzIwIDE5NCwzMjUgMTk5LDMxNiAyMDEsMzIwIDIwNCwzMTMgMjA2LDMxNiAyMDgsMzEwIDIxMSwzMDUgMjE5LDI5OCAyMjYsMjg4IDIyOSwyNzkgMjI4LDI2NiAyMjQsMjU5IDIxNywyNTMgMjEyLDI1MCAyMTIsMjUwIDIxMiwyNTAnKQorU0FYLmVuZEVsZW1lbnQocG9seWxpbmUpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHBvbHlsaW5lLCB2ZXJ0cz0nIDE1MSwyMDUgMTUxLDIzOCAxNDksMjUyIDE0MSwyNjggMTI4LDI4MiAxMjEsMzAxIDEzMCwzMDAgMTI2LDMxMyAxMTgsMzI0IDExNiwzMzcgMTIwLDM0NiAxMzMsMzUyIDEzMywzNDAgMTM3LDMzMyAxNDUsMzI5IDE1NiwzMjcgMTUzLDMxOSAxNTMsMjkxIDE1NywyNzEgMTcwLDI1OSAxNzgsMjc3IDE5MywyNTAgMTc0LDIxNiAxNTEsMjA1IDE1MSwyMDUgMTUxLDIwNScpCitTQVguZW5kRWxlbWVudChwb2x5bGluZSkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQocG9seWxpbmUsIHZlcnRzPScgNzgsMTI3IDkwLDE0MiA5NSwxNTUgMTA4LDE2NCAxMjUsMTY3IDEzOSwxNzUgMTUwLDIwNiAxNTIsMTkxIDE0MSwxNDAgMTIxLDE0OCAxMDAsMTM2IDc4LDEyNyA3OCwxMjcgNzgsMTI3JykKK1NBWC5lbmRFbGVtZW50KHBvbHlsaW5lKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChwb2x5bGluZSwgdmVydHM9JyAyMSw1OCAzNSw2MyAzOCw2OCAzMiw2OSA0Miw3NCA0MCw3OSA0Nyw4MCA1NCw4MyA0NSw5NCAzNCw4MSAzMiw3MyAyNCw2NiAyMSw1OCAyMSw1OCAyMSw1OCcpCitTQVguZW5kRWxlbWVudChwb2x5bGluZSkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQocG9seWxpbmUsIHZlcnRzPScgNzEsMzQgNjcsMzQgNjYsMjcgNTksMjQgNTQsMTcgNDgsMTcgMzksMjIgMzAsMjYgMjgsMzEgMzEsMzkgMzgsNDYgMjksNDUgMzYsNTQgNDEsNjEgNDEsNzAgNTAsNjkgNTQsNzEgNTUsNTggNjcsNTIgNzYsNDMgNzYsMzkgNjgsNDQgNzEsMzQgNzEsMzQgNzEsMzQnKQorU0FYLmVuZEVsZW1lbnQocG9seWxpbmUpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHBvbHlsaW5lLCB2ZXJ0cz0nIDEzOSw3NCAxNDEsODMgMTQzLDg5IDE0NCwxMDQgMTQ4LDEwNCAxNTUsMTA2IDE1NCw4NiAxNTcsNzcgMTU1LDcyIDE1MCw3NyAxNDQsNzcgMTM5LDc0IDEzOSw3NCAxMzksNzQnKQorU0FYLmVuZEVsZW1lbnQocG9seWxpbmUpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHBvbHlsaW5lLCB2ZXJ0cz0nIDEwNSw0NCAxMDIsNTMgMTA4LDU4IDExMSw2MiAxMTIsNTUgMTA1LDQ0IDEwNSw0NCAxMDUsNDQnKQorU0FYLmVuZEVsZW1lbnQocG9seWxpbmUpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHBvbHlsaW5lLCB2ZXJ0cz0nIDE0MSw0OCAxNDEsNTQgMTQ0LDU4IDEzOSw2MiAxMzcsNjYgMTM2LDU5IDEzNyw1MiAxNDEsNDggMTQxLDQ4IDE0MSw0OCcpCitTQVguZW5kRWxlbWVudChwb2x5bGluZSkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQocG9seWxpbmUsIHZlcnRzPScgOTgsMTM1IDEwNCwxMzAgMTA1LDEzNCAxMDgsMTMyIDEwOCwxMzUgMTEyLDEzNCAxMTMsMTM3IDExNiwxMzYgMTE2LDEzOSAxMTksMTM5IDEyNCwxNDEgMTI4LDE0MCAxMzMsMTM4IDE0MCwxMzMgMTM5LDE0MCAxMjYsMTQ2IDEwNCwxNDQgOTgsMTM1IDk4LDEzNSA5OCwxMzUnKQorU0FYLmVuZEVsZW1lbnQocG9seWxpbmUpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHBvbHlsaW5lLCB2ZXJ0cz0nIDk3LDExNiAxMDMsMTE5IDEwMywxMTYgMTExLDExOCAxMTYsMTE3IDEyMiwxMTQgMTI3LDEwNyAxMzUsMTExIDE0MiwxMDcgMTQxLDExNCAxNDUsMTE4IDE0OSwxMjEgMTQ1LDEyNSAxNDAsMTI0IDEyNywxMjEgMTEzLDEyNSAxMDAsMTI0IDk3LDExNiA5NywxMTYgOTcsMTE2JykKK1NBWC5lbmRFbGVtZW50KHBvbHlsaW5lKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChwb2x5bGluZSwgdmVydHM9JyAxNDcsMzMgMTUyLDM1IDE1NywzNCAxNTMsMzEgMTYwLDMxIDE1NiwyOCAxNjEsMjggMTU5LDI0IDE2MywyNSAxNjMsMjEgMTY1LDIyIDE3MCwyMyAxNjcsMTcgMTcyLDIxIDE3NCwxOCAxNzUsMjMgMTc2LDIyIDE3NywyOCAxNzcsMzMgMTc0LDM3IDE3NiwzOSAxNzQsNDQgMTcxLDQ5IDE2OCw1MyAxNjQsNTcgMTU5LDY4IDE1Niw3MCAxNTQsNjAgMTUwLDUxIDE0Niw0MyAxNDQsMzUgMTQ3LDMzIDE0NywzMyAxNDcsMzMnKQorU0FYLmVuZEVsZW1lbnQocG9seWxpbmUpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHBvbHlsaW5lLCB2ZXJ0cz0nIDg1LDcyIDg5LDc0IDkzLDc1IDEwMCw3NiAxMDUsNzUgMTAyLDc5IDk0LDc5IDg4LDc2IDg1LDcyIDg1LDcyIDg1LDcyJykKK1NBWC5lbmRFbGVtZW50KHBvbHlsaW5lKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChwb2x5bGluZSwgdmVydHM9JyA4NiwyMTQgNzksMjIxIDc2LDIzMiA4MiwyMjUgNzgsMjM5IDgyLDIzNCA3OCwyNDUgODEsMjQzIDc5LDI1NSA4NCwyNTAgODQsMjY3IDg3LDI1NCA5MCwyNzEgOTAsMjU3IDk1LDI3MSA5MywyNTYgOTUsMjQ5IDkyLDI1MiA5MywyNDMgODksMjUzIDg5LDI0MSA4NiwyNTAgODcsMjM2IDgzLDI0NSA4NywyMzEgODIsMjMxIDkwLDIxOSA4NCwyMjEgODYsMjE0IDg2LDIxNCA4NiwyMTQnKQorU0FYLmVuZEVsZW1lbnQocG9seWxpbmUpCitTQVguY2hhcmFjdGVycyggCissIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoIAorLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogI2ZmY2M3ZicpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHBvbHlsaW5lLCB2ZXJ0cz0nIDkzLDY4IDk2LDcyIDEwMCw3MyAxMDYsNzIgMTA4LDY2IDEwNSw2MyAxMDAsNjIgOTMsNjggOTMsNjggOTMsNjgnKQorU0FYLmVuZEVsZW1lbnQocG9seWxpbmUpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHBvbHlsaW5lLCB2ZXJ0cz0nIDE0NCw2NCAxNDIsNjggMTQyLDczIDE0Niw3NCAxNTAsNzMgMTU0LDY0IDE0OSw2MiAxNDQsNjQgMTQ0LDY0IDE0NCw2NCcpCitTQVguZW5kRWxlbWVudChwb2x5bGluZSkKK1NBWC5jaGFyYWN0ZXJzKCAKKywgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycyggCissIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjOWM4MjZiJykKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQocG9seWxpbmUsIHZlcnRzPScgNTcsOTEgNDIsMTExIDUyLDEwNSA0MSwxMTcgNTMsMTEyIDQ2LDEyMCA1MywxMTYgNTAsMTI0IDU3LDExOSA1NSwxMjcgNjEsMTIyIDYwLDEzMCA2NywxMjYgNjYsMTM0IDcxLDEyOSA3MiwxMzYgNzcsMTMwIDc2LDEzNyA4MCwxMzMgODIsMTM4IDg2LDEzNSA5NiwxMzUgOTQsMTI5IDg2LDEyNCA4MywxMTcgNzcsMTIzIDc5LDExNyA3MywxMjAgNzUsMTEyIDY4LDExNiA3MSwxMTEgNjUsMTE0IDY5LDEwNyA2MywxMTAgNjgsMTAyIDYxLDEwNyA2Niw5OCA2MSwxMDMgNjMsOTcgNTcsOTkgNTcsOTEgNTcsOTEgNTcsOTEnKQorU0FYLmVuZEVsZW1lbnQocG9seWxpbmUpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHBvbHlsaW5lLCB2ZXJ0cz0nIDgzLDc5IDc2LDc5IDY3LDgyIDc1LDgzIDY1LDg4IDc2LDg3IDY1LDkyIDc2LDkxIDY4LDk2IDc3LDk1IDcwLDk5IDgwLDk4IDcyLDEwNCA4MCwxMDIgNzYsMTA4IDg1LDEwMyA5MiwxMDEgODcsOTggOTMsOTYgODYsOTQgOTEsOTMgODUsOTEgOTMsODkgOTksODkgMTA1LDkzIDEwNyw4NSAxMDIsODIgOTIsODAgODMsNzkgODMsNzkgODMsNzknKQorU0FYLmVuZEVsZW1lbnQocG9seWxpbmUpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHBvbHlsaW5lLCB2ZXJ0cz0nIDEwOSw3NyAxMTEsODMgMTA5LDg5IDExMyw5NCAxMTcsOTAgMTE3LDgxIDExNCw3OCAxMDksNzcgMTA5LDc3IDEwOSw3NycpCitTQVguZW5kRWxlbWVudChwb2x5bGluZSkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQocG9seWxpbmUsIHZlcnRzPScgMTIyLDEyOCAxMjcsMTI2IDEzNCwxMjcgMTM2LDEyOSAxMzQsMTMwIDEzMCwxMjggMTI0LDEyOSAxMjIsMTI4IDEyMiwxMjggMTIyLDEyOCcpCitTQVguZW5kRWxlbWVudChwb2x5bGluZSkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQocG9seWxpbmUsIHZlcnRzPScgNzgsMjcgODIsMzIgODAsMzMgODIsMzYgNzgsMzcgODIsNDAgNzgsNDIgODEsNDYgNzYsNDcgNzgsNDkgNzQsNTAgODIsNTIgODcsNTAgODMsNDggOTEsNDYgODYsNDUgOTEsNDIgODgsNDAgOTIsMzcgODYsMzQgOTAsMzEgODYsMjkgODksMjYgNzgsMjcgNzgsMjcgNzgsMjcnKQorU0FYLmVuZEVsZW1lbnQocG9seWxpbmUpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHBvbHlsaW5lLCB2ZXJ0cz0nIDgyLDE3IDkyLDIwIDc5LDIxIDkwLDI1IDgxLDI1IDk0LDI4IDkzLDI2IDEwMSwzMCAxMDEsMjYgMTA3LDMzIDEwOCwyOCAxMTEsNDAgMTEzLDM0IDExNSw0NSAxMTcsMzkgMTE5LDU0IDEyMSw0NiAxMjQsNTggMTI2LDQ3IDEyOSw1OSAxMzAsNDkgMTM0LDU4IDEzMyw0NCAxMzcsNDggMTMzLDM3IDEzNyw0MCAxMzMsMzIgMTI2LDIwIDEzNSwyNiAxMzIsMTkgMTM4LDIzIDEzNSwxNyAxNDIsMTggMTMyLDExIDExNiw2IDk0LDYgNzgsMTEgOTIsMTIgODAsMTQgOTAsMTYgODIsMTcgODIsMTcgODIsMTcnKQorU0FYLmVuZEVsZW1lbnQocG9seWxpbmUpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHBvbHlsaW5lLCB2ZXJ0cz0nIDE0MiwyMzQgMTMyLDIyNyAxMjQsMjIzIDExNSwyMjAgMTEwLDIyNSAxMTgsMjI0IDEyNywyMjkgMTM1LDIzNiAxMjIsMjM0IDExNSwyMzcgMTEzLDI0MiAxMjEsMjM4IDEzOSwyNDMgMTIxLDI0NSAxMTEsMjU0IDk1LDI1NCAxMDIsMjQ0IDEwNCwyMzUgMTEwLDIyOSAxMDAsMjMxIDEwNCwyMjQgMTEzLDIxNiAxMjIsMjE1IDEzMiwyMTcgMTQxLDIyNCAxNDUsMjMwIDE0OSwyNDAgMTQyLDIzNCAxNDIsMjM0IDE0MiwyMzQnKQorU0FYLmVuZEVsZW1lbnQocG9seWxpbmUpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHBvbHlsaW5lLCB2ZXJ0cz0nIDExNSwyNTIgMTI1LDI0OCAxMzcsMjQ5IDE0MywyNTggMTM0LDI1NSAxMjUsMjU0IDExNSwyNTIgMTE1LDI1MiAxMTUsMjUyJykKK1NBWC5lbmRFbGVtZW50KHBvbHlsaW5lKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChwb2x5bGluZSwgdmVydHM9JyAxMTQsMjEyIDEzMCwyMTMgMTQwLDIxOSAxNDcsMjI1IDE0NCwyMTQgMTM3LDIwOSAxMjgsMjA3IDExNCwyMTIgMTE0LDIxMiAxMTQsMjEyJykKK1NBWC5lbmRFbGVtZW50KHBvbHlsaW5lKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChwb2x5bGluZSwgdmVydHM9JyAxMDIsMjYzIDEwOCwyNTggMTE3LDI1NyAxMzEsMjU4IDExNiwyNjAgMTA5LDI2NSAxMDIsMjYzIDEwMiwyNjMgMTAyLDI2MycpCitTQVguZW5kRWxlbWVudChwb2x5bGluZSkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQocG9seWxpbmUsIHZlcnRzPScgNTEsMjQxIDM1LDIyNCA0MCwyMzggMjMsMjI0IDMxLDI0MiAxOSwyMzkgMjgsMjQ3IDE3LDI0NiAyNSwyNTAgMzcsMjU0IDM5LDI2MyA0NCwyNzEgNDcsMjk0IDQ4LDMxNyA1MSwzMjggNjAsMzUxIDYwLDMyMyA1MywyNjIgNDcsMjQ2IDUxLDI0MSA1MSwyNDEgNTEsMjQxJykKK1NBWC5lbmRFbGVtZW50KHBvbHlsaW5lKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChwb2x5bGluZSwgdmVydHM9JyAyLDM2NCA5LDM2NyAxNCwzNjYgMTgsMzU1IDIwLDM2NCAyNiwzNjYgMzEsMzU3IDM1LDM2NCAzOSwzNjQgNDIsMzU3IDQ3LDM2MyA1MywzNjAgNTksMzU3IDU0LDM2OSA3LDM3MyAyLDM2NCAyLDM2NCAyLDM2NCcpCitTQVguZW5kRWxlbWVudChwb2x5bGluZSkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQocG9seWxpbmUsIHZlcnRzPScgNywzNDkgMTksMzQ1IDI1LDMzOSAxOCwzNDEgMjMsMzMzIDI4LDMyNiAyMywzMjYgMjcsMzIwIDIzLDMxNiAyNSwzMTEgMjAsMjk4IDE1LDI3NyAxMiwyNjQgOSwyNDkgMTAsMjIzIDMsMjQ4IDUsMjYxIDE1LDMwNyAxNywzMjYgMTEsMzQzIDcsMzQ5IDcsMzQ5IDcsMzQ5JykKK1NBWC5lbmRFbGVtZW50KHBvbHlsaW5lKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChwb2x5bGluZSwgdmVydHM9JyAxMSwyMjYgMTUsMjMxIDI1LDIzNiAxOCwyMjcgMTEsMjI2IDExLDIyNiAxMSwyMjYnKQorU0FYLmVuZEVsZW1lbnQocG9seWxpbmUpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHBvbHlsaW5lLCB2ZXJ0cz0nIDEzLDIxNCAxOSwyMTcgMzIsMjI3IDIzLDIxNCAxNiwyMDggMTUsMTkwIDI0LDE0OCAzMSwxMjEgMjQsMTM3IDE0LDE3MCA4LDE4OSAxMywyMTQgMTMsMjE0IDEzLDIxNCcpCitTQVguZW5kRWxlbWVudChwb2x5bGluZSkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQocG9seWxpbmUsIHZlcnRzPScgMjAyLDI1NCAxOTUsMjU4IDE5OSwyNjAgMTkzLDI2MyAxOTcsMjYzIDE5MCwyNjggMTk2LDI2OCAxOTEsMjczIDE4OCwyODIgMjAwLDI3MiAxOTQsMjcyIDIwMSwyNjYgMTk3LDI2NSAyMDQsMjYyIDIwMCwyNTggMjA0LDI1NiAyMDIsMjU0IDIwMiwyNTQgMjAyLDI1NCcpCitTQVguZW5kRWxlbWVudChwb2x5bGluZSkKK1NBWC5jaGFyYWN0ZXJzKCAKKywgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycyggCissIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjODQ1NDMzJykKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQocG9seWxpbmUsIHZlcnRzPScgMTUxLDIxMyAxNjUsMjEyIDE3OSwyMjUgMTg5LDI0NiAxODcsMjYyIDE3OSwyNzUgMTc2LDI2MyAxNzcsMjQ3IDE3MSwyMzMgMTYzLDIzMCAxNjUsMjUxIDE1NywyNjQgMTQ2LDI5OCAxNDUsMzIxIDEzMywzMjYgMTQzLDI4NSAxNTQsMjYwIDE1MywyNDAgMTUxLDIxMyAxNTEsMjEzIDE1MSwyMTMnKQorU0FYLmVuZEVsZW1lbnQocG9seWxpbmUpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHBvbHlsaW5lLCB2ZXJ0cz0nIDkxLDEzMiA5NSwxNDUgOTcsMTU0IDEwNCwxNDggMTA3LDE1NSAxMDksMTUwIDExMSwxNTggMTE1LDE1MiAxMTgsMTU5IDEyMCwxNTMgMTI1LDE2MSAxMjYsMTU1IDEzMywxNjQgMTMyLDE1NCAxMzcsMTYzIDEzNywxNTIgMTQyLDE2MyAxNDcsMTg2IDE1MiwxOTIgMTQ4LDE2NyAxNDEsMTQzIDEyNCwxNDUgMTA1LDE0MyA5MSwxMzIgOTEsMTMyIDkxLDEzMicpCitTQVguZW5kRWxlbWVudChwb2x5bGluZSkKK1NBWC5jaGFyYWN0ZXJzKCAKKywgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycyggCissIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjOWM4MjZiJykKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQocG9seWxpbmUsIHZlcnRzPScgMzEsNTcgMjMsNTIgMjYsNTEgMjAsNDQgMjMsNDIgMjEsMzYgMjIsMjkgMjUsMjMgMjQsMzIgMzAsNDMgMjYsNDEgMzAsNTAgMjYsNDggMzEsNTcgMzEsNTcgMzEsNTcnKQorU0FYLmVuZEVsZW1lbnQocG9seWxpbmUpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHBvbHlsaW5lLCB2ZXJ0cz0nIDE0NywyMSAxNDksMjggMTU1LDIxIDE2MSwxNiAxNjcsMTQgMTc1LDE1IDE3MywxMSAxNjEsOSAxNDcsMjEgMTQ3LDIxIDE0NywyMScpCitTQVguZW5kRWxlbWVudChwb2x5bGluZSkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQocG9seWxpbmUsIHZlcnRzPScgMTgxLDM5IDE3NSw1MSAxNjksNTcgMTcxLDY1IDE2NSw2OCAxNjUsNzUgMTYwLDc2IDE2Miw5MSAxNzEsNzEgMTgwLDUxIDE4MSwzOSAxODEsMzkgMTgxLDM5JykKK1NBWC5lbmRFbGVtZW50KHBvbHlsaW5lKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChwb2x5bGluZSwgdmVydHM9JyAxMzIsMzQ2IDEzOSwzNDggMTQxLDM0NiAxNDIsMzQxIDE0NywzNDIgMTQzLDM1NSAxMzMsMzUwIDEzMiwzNDYgMTMyLDM0NiAxMzIsMzQ2JykKK1NBWC5lbmRFbGVtZW50KHBvbHlsaW5lKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChwb2x5bGluZSwgdmVydHM9JyAxNDYsMzU1IDE1MSwzNTIgMTU1LDM0OCAxNTcsMzQzIDE2MCwzNDkgMTUxLDM1NiAxNDcsMzU3IDE0NiwzNTUgMTQ2LDM1NSAxNDYsMzU1JykKK1NBWC5lbmRFbGVtZW50KHBvbHlsaW5lKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChwb2x5bGluZSwgdmVydHM9JyA5OSwyNjYgMTAwLDI4MSA5NCwzMDUgODYsMzIyIDc4LDMzMiA3MiwzNDYgNzMsMzMxIDkxLDI5MSA5OSwyNjYgOTksMjY2IDk5LDI2NicpCitTQVguZW5kRWxlbWVudChwb2x5bGluZSkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQocG9seWxpbmUsIHZlcnRzPScgMjAsMzQ3IDMyLDM0MiA0NSwzNDAgNTQsMzQ1IDQ1LDM1MCA0MiwzNTMgMzgsMzUwIDMxLDM1MyAyOSwzNTYgMjMsMzUwIDE5LDM1MyAxNSwzNDkgMjAsMzQ3IDIwLDM0NyAyMCwzNDcnKQorU0FYLmVuZEVsZW1lbnQocG9seWxpbmUpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHBvbHlsaW5lLCB2ZXJ0cz0nIDc4LDM0NCA4NiwzNDQgOTIsMzQ5IDg4LDM1OCA4NCwzNTIgNzgsMzQ0IDc4LDM0NCA3OCwzNDQnKQorU0FYLmVuZEVsZW1lbnQocG9seWxpbmUpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHBvbHlsaW5lLCB2ZXJ0cz0nIDkzLDM0NyAxMDQsMzQ0IDExNywzNDUgMTI0LDM1NCAxMjEsMzU3IDExNiwzNTEgMTEyLDM1MSAxMDgsMzU1IDEwMiwzNTEgOTMsMzQ3IDkzLDM0NyA5MywzNDcnKQorU0FYLmVuZEVsZW1lbnQocG9seWxpbmUpCitTQVguY2hhcmFjdGVycyggCissIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoIAorLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogIzAwMDAwMCcpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHBvbHlsaW5lLCB2ZXJ0cz0nIDEwNSwxMiAxMTEsMTggMTEzLDI0IDExMywyOSAxMTksMzQgMTE2LDIzIDExMiwxNiAxMDUsMTIgMTA1LDEyIDEwNSwxMicpCitTQVguZW5kRWxlbWVudChwb2x5bGluZSkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQocG9seWxpbmUsIHZlcnRzPScgMTIyLDI3IDEyNSwzNCAxMjcsNDMgMTI4LDM0IDEyNSwyOSAxMjIsMjcgMTIyLDI3IDEyMiwyNycpCitTQVguZW5kRWxlbWVudChwb2x5bGluZSkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQocG9seWxpbmUsIHZlcnRzPScgMTE1LDEzIDEyMiwxOSAxMjIsMTUgMTEzLDEwIDExNSwxMyAxMTUsMTMgMTE1LDEzJykKK1NBWC5lbmRFbGVtZW50KHBvbHlsaW5lKQorU0FYLmNoYXJhY3RlcnMoIAorLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKCAKKywgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICNmZmU1YjInKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChwb2x5bGluZSwgdmVydHM9JyAxMTYsMTcyIDEwNywxODIgOTgsMTkzIDk4LDE4MyA5MCwxOTkgODksMTg5IDg0LDIwNyA4OCwyMDYgODcsMjE1IDk1LDIwNiA5MywyMTkgOTEsMjMwIDk4LDIxNiA5NywyMjYgMTA0LDIxNCAxMTIsMjA5IDEwNCwyMDggMTEzLDIwMiAxMjYsMjAwIDEzOSwyMDcgMTMyLDE5OCAxNDIsMjAzIDEzNCwxOTIgMTQyLDE5NSAxMzQsMTg3IDE0MCwxODUgMTMwLDE4MSAxMzYsMTc3IDEyNiwxNzcgMTI1LDE3MSAxMTYsMTgwIDExNiwxNzIgMTE2LDE3MiAxMTYsMTcyJykKK1NBWC5lbmRFbGVtZW50KHBvbHlsaW5lKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChwb2x5bGluZSwgdmVydHM9JyA3NCwyMjAgNjcsMjMwIDY3LDIyMSA1OSwyMzUgNjMsMjMzIDYwLDI0OCA3MCwyMzIgNjUsMjQ5IDcxLDI0MyA2NywyNTYgNzMsMjUwIDY5LDI2MiA3MywyNTkgNzEsMjY3IDc2LDI2MiA3MiwyNzEgNzgsMjcwIDc2LDI3NSA4MiwyNzQgNzgsMjkwIDg2LDI3OSA4NiwyODkgOTIsMjc0IDg4LDI3NSA4NywyNjQgODIsMjcwIDgyLDI1OCA3NywyNTcgNzgsMjQ3IDczLDI0NiA3NywyMzMgNzIsMjM2IDc0LDIyMCA3NCwyMjAgNzQsMjIwJykKK1NBWC5lbmRFbGVtZW50KHBvbHlsaW5lKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChwb2x5bGluZSwgdmVydHM9JyAxMzMsMjMwIDE0NywyNDIgMTQ4LDI1MCAxNDUsMjU0IDEzOCwyNDcgMTI5LDI0NiAxNDIsMjQ1IDEzOCwyNDEgMTI4LDIzNyAxMzcsMjM4IDEzMywyMzAgMTMzLDIzMCAxMzMsMjMwJykKK1NBWC5lbmRFbGVtZW50KHBvbHlsaW5lKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChwb2x5bGluZSwgdmVydHM9JyAxMzMsMjYxIDEyNSwyNjEgMTE2LDI2MyAxMTEsMjY3IDEyNSwyNjUgMTMzLDI2MSAxMzMsMjYxIDEzMywyNjEnKQorU0FYLmVuZEVsZW1lbnQocG9seWxpbmUpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHBvbHlsaW5lLCB2ZXJ0cz0nIDEyMSwyNzEgMTA5LDI3MyAxMDMsMjc5IDk5LDMwNSA5MiwzMTYgODUsMzI3IDgzLDMzNSA4OSwzNDAgOTcsMzQxIDk0LDMzNiAxMDEsMzM2IDk2LDMzMSAxMDMsMzMwIDk3LDMyNyAxMDgsMzI1IDk5LDMyMiAxMDksMzIxIDEwMCwzMTggMTEwLDMxNyAxMDUsMzE0IDExMCwzMTIgMTA3LDMxMCAxMTMsMzA4IDEwNSwzMDYgMTE0LDMwMyAxMDUsMzAxIDExNSwyOTggMTA3LDI5NSAxMTUsMjk0IDEwOCwyOTMgMTE3LDI5MSAxMDksMjg5IDExNywyODYgMTA5LDI4NiAxMTgsMjgzIDExMiwyODEgMTE4LDI3OSAxMTQsMjc4IDExOSwyNzYgMTE1LDI3NCAxMjEsMjcxIDEyMSwyNzEgMTIxLDI3MScpCitTQVguZW5kRWxlbWVudChwb2x5bGluZSkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQocG9seWxpbmUsIHZlcnRzPScgNzksMzY0IDc0LDM1OSA3NCwzNTMgNzYsMzQ3IDgwLDM1MSA4MywzNTYgODIsMzYwIDc5LDM2NCA3OSwzNjQgNzksMzY0JykKK1NBWC5lbmRFbGVtZW50KHBvbHlsaW5lKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChwb2x5bGluZSwgdmVydHM9JyA5MSwzNjMgOTMsMzU2IDk3LDM1MyAxMDMsMzU1IDEwNSwzNjAgMTAzLDM2NiA5OSwzNzEgOTQsMzY4IDkxLDM2MyA5MSwzNjMgOTEsMzYzJykKK1NBWC5lbmRFbGVtZW50KHBvbHlsaW5lKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChwb2x5bGluZSwgdmVydHM9JyAxMTAsMzU1IDExNCwzNTMgMTE4LDM1NyAxMTcsMzYzIDExMywzNjkgMTExLDM2MiAxMTAsMzU1IDExMCwzNTUgMTEwLDM1NScpCitTQVguZW5kRWxlbWVudChwb2x5bGluZSkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQocG9seWxpbmUsIHZlcnRzPScgMTI2LDM1NCAxMjMsMzU4IDEyNCwzNjcgMTI2LDM2OSAxMjksMzYxIDEyOSwzNTcgMTI2LDM1NCAxMjYsMzU0IDEyNiwzNTQnKQorU0FYLmVuZEVsZW1lbnQocG9seWxpbmUpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHBvbHlsaW5lLCB2ZXJ0cz0nIDMwLDE1NCAyNCwxNjYgMjAsMTgyIDIzLDE5NCAyOSwyMDggMzcsMjE4IDQxLDIxMCA0MSwyMjMgNDYsMjE0IDQ2LDIyNyA1MiwyMTYgNTIsMjI3IDYxLDIxNiA1OSwyMjUgNjgsMjEzIDczLDIxOSA3MCwyMDcgNzcsMjEyIDY5LDIwMCA3NywyMDIgNzAsMTk0IDc4LDE5NyA2OCwxODcgNzYsMTgyIDY0LDE4MiA1OCwxNzUgNTgsMTg1IDUzLDE3NyA1MCwxODYgNDYsMTcxIDQ0LDE4MiAzOSwxNjcgMzYsMTcyIDM2LDE2MiAzMCwxNjYgMzAsMTU0IDMwLDE1NCAzMCwxNTQnKQorU0FYLmVuZEVsZW1lbnQocG9seWxpbmUpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHBvbHlsaW5lLCB2ZXJ0cz0nIDQ0LDEzMCA0MSwxMzcgNDUsMTM2IDQzLDE1MCA0OCwxNDIgNDgsMTU3IDUzLDE1MCA1MiwxNjQgNjAsMTU2IDYxLDE2OSA2NCwxNjUgNjYsMTc1IDcwLDE2NyA3NCwxNzYgNzcsMTY4IDgwLDE4MyA4NSwxNzIgOTAsMTgyIDkzLDE3NCA5OCwxODEgOTksMTczIDEwNCwxNzUgMTA1LDE2OSAxMTQsMTY4IDEwMiwxNjMgOTUsMTU3IDk0LDE2NiA5MCwxNTQgODcsMTYyIDgyLDE0OSA3NSwxNTkgNzIsMTQ4IDY4LDE1NSA2NywxNDMgNjIsMTQ4IDYyLDEzOCA1OCwxNDUgNTYsMTMzIDUyLDE0MiA1MiwxMjggNDksMTM0IDQ3LDEyNSA0NCwxMzAgNDQsMTMwIDQ0LDEzMCcpCitTQVguZW5kRWxlbWVudChwb2x5bGluZSkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQocG9seWxpbmUsIHZlcnRzPScgMTMsMjE2IDE5LDIxOSAzNiwyMzEgMjIsMjIzIDE2LDIyMiAyMiwyMjcgMTIsMjI0IDEzLDIyMCAxNiwyMjAgMTMsMjE2IDEzLDIxNiAxMywyMTYnKQorU0FYLmVuZEVsZW1lbnQocG9seWxpbmUpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHBvbHlsaW5lLCB2ZXJ0cz0nIDEwLDIzMSAxNCwyMzYgMjUsMjM5IDI3LDIzNyAxOSwyMzQgMTAsMjMxIDEwLDIzMSAxMCwyMzEnKQorU0FYLmVuZEVsZW1lbnQocG9seWxpbmUpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHBvbHlsaW5lLCB2ZXJ0cz0nIDksMjQ1IDE0LDI0MiAyNSwyNDUgMTMsMjQ1IDksMjQ1IDksMjQ1IDksMjQ1JykKK1NBWC5lbmRFbGVtZW50KHBvbHlsaW5lKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChwb2x5bGluZSwgdmVydHM9JyAzMywyNTUgMjYsMjUzIDE4LDI1NCAyNSwyNTYgMTgsMjU4IDI3LDI2MCAxOCwyNjMgMjcsMjY1IDE5LDI2NyAyOSwyNzAgMjEsMjcyIDI5LDI3NiAyMSwyNzggMzAsMjgxIDIyLDI4MyAzMSwyODcgMjQsMjg4IDMyLDI5MiAyMywyOTMgMzQsMjk4IDI2LDI5OSAzNywzMDMgMzIsMzA1IDM5LDMwOSAzMywzMDkgMzksMzE0IDM0LDMxNCA0MCwzMTggMzQsMzE3IDQwLDMyMSAzNCwzMjEgNDEsMzI2IDMzLDMyNiA0MCwzMzAgMzMsMzMyIDM5LDMzMyAzMywzMzcgNDIsMzM3IDU0LDM0MSA0OSwzMzcgNTIsMzM1IDQ3LDMzMCA1MCwzMzAgNDUsMzI1IDQ5LDMyNSA0NSwzMjEgNDgsMzIxIDQ1LDMxNiA0NiwzMDYgNDUsMjg2IDQzLDI3NCAzNiwyNjEgMzMsMjU1IDMzLDI1NSAzMywyNTUnKQorU0FYLmVuZEVsZW1lbnQocG9seWxpbmUpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHBvbHlsaW5lLCB2ZXJ0cz0nIDcsMzU4IDksMzUxIDE0LDM1MSAxNywzNTkgMTEsMzY0IDcsMzU4IDcsMzU4IDcsMzU4JykKK1NBWC5lbmRFbGVtZW50KHBvbHlsaW5lKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChwb2x5bGluZSwgdmVydHM9JyA0NCwzNTQgNDksMzUxIDUyLDM1NSA0OSwzNjEgNDQsMzU0IDQ0LDM1NCA0NCwzNTQnKQorU0FYLmVuZEVsZW1lbnQocG9seWxpbmUpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHBvbHlsaW5lLCB2ZXJ0cz0nIDMyLDM1NyAzNywzNTMgNDAsMzU4IDM2LDM2MSAzMiwzNTcgMzIsMzU3IDMyLDM1NycpCitTQVguZW5kRWxlbWVudChwb2x5bGluZSkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQocG9seWxpbmUsIHZlcnRzPScgMTM5LDMzNCAxNDUsMzMwIDE1NCwzMzAgMTU4LDMzNCAxNTQsMzQxIDE1MiwzNDggMTQ1LDM1MCAxNDksMzQwIDE0NywzMzYgMTQxLDMzOSAxMzksMzQ1IDEzNiwzNDIgMTM2LDMzOSAxMzksMzM0IDEzOSwzMzQgMTM5LDMzNCcpCitTQVguZW5kRWxlbWVudChwb2x5bGluZSkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQocG9seWxpbmUsIHZlcnRzPScgMjA4LDI1OSAyMTUsMjU5IDIxMiwyNTUgMjIwLDI1OSAyMjQsMjYzIDIyNSwyNzQgMjI0LDI4MyAyMjAsMjkyIDIwOCwzMDAgMjA2LDMwOCAyMDMsMzA0IDE5OSwzMTUgMTk3LDMwOSAxOTUsMzE4IDE5MywzMTMgMTkwLDMyMiAxOTAsMzE2IDE4NSwzMjUgMTgyLDMxOCAxODAsMzI1IDE3MiwzMjEgMTc4LDMyMCAxNzYsMzEzIDE4NiwzMTIgMTgwLDMwNyAxODgsMzA3IDE4NCwzMDMgMTkxLDMwMiAxODYsMjk5IDE5NSwyOTQgMTg3LDI5MCAxOTcsMjg4IDE5MiwyODYgMjAxLDI4MyAxOTQsMjgwIDIwMywyNzcgMTk4LDI3NSAyMDcsMjcxIDIwMCwyNjkgMjA5LDI2NSAyMDQsMjY1IDIxMiwyNjIgMjA4LDI1OSAyMDgsMjU5IDIwOCwyNTknKQorU0FYLmVuZEVsZW1lbnQocG9seWxpbmUpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHBvbHlsaW5lLCB2ZXJ0cz0nIDEwNiwxMjYgMTA2LDEzMSAxMDksMTMyIDExMSwxMzQgMTE1LDEzMiAxMTUsMTM1IDExOSwxMzMgMTE4LDEzNyAxMjMsMTM3IDEyOCwxMzcgMTMzLDEzNCAxMzYsMTMwIDEzNiwxMjcgMTMyLDEyNCAxMTgsMTI4IDExMiwxMjggMTA2LDEyNiAxMDYsMTI2IDEwNiwxMjYnKQorU0FYLmVuZEVsZW1lbnQocG9seWxpbmUpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHBvbHlsaW5lLCB2ZXJ0cz0nIDEwNywxMTQgMTAxLDExMCA5OCwxMDIgMTA1LDk3IDExMSw5OCAxMTksMTAyIDEyMSwxMDggMTE4LDExMiAxMTMsMTE1IDEwNywxMTQgMTA3LDExNCAxMDcsMTE0JykKK1NBWC5lbmRFbGVtZW50KHBvbHlsaW5lKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChwb2x5bGluZSwgdmVydHM9JyAxNDgsMTA2IDE0NSwxMTAgMTQ2LDExNiAxNTAsMTE4IDE1MiwxMTEgMTUxLDEwNyAxNDgsMTA2IDE0OCwxMDYgMTQ4LDEwNicpCitTQVguZW5kRWxlbWVudChwb2x5bGluZSkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQocG9seWxpbmUsIHZlcnRzPScgODAsNTUgNzAsNTIgNzUsNTggNjMsNTcgNzIsNjEgNTcsNjEgNjcsNjYgNTcsNjcgNjIsNjkgNTQsNzEgNjEsNzMgNTQsNzcgNjMsNzggNTMsODUgNjAsODQgNTYsOTAgNjksODQgNjMsODIgNzUsNzYgNzAsNzUgNzcsNzIgNzIsNzEgNzgsNjkgNzIsNjYgODEsNjcgNzgsNjQgODIsNjMgODAsNjAgODYsNjIgODAsNTUgODAsNTUgODAsNTUnKQorU0FYLmVuZEVsZW1lbnQocG9seWxpbmUpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHBvbHlsaW5lLCB2ZXJ0cz0nIDg3LDU2IDkxLDUyIDk2LDUwIDEwMiw1NiA5OCw1NiA5Miw2MCA4Nyw1NiA4Nyw1NiA4Nyw1NicpCitTQVguZW5kRWxlbWVudChwb2x5bGluZSkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQocG9seWxpbmUsIHZlcnRzPScgODUsNjggODksNzMgOTgsNzYgMTA2LDc0IDk2LDczIDkxLDcwIDg1LDY4IDg1LDY4IDg1LDY4JykKK1NBWC5lbmRFbGVtZW50KHBvbHlsaW5lKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChwb2x5bGluZSwgdmVydHM9JyAxMTUsNTcgMTE0LDY0IDExMSw2NCAxMTUsNzUgMTIyLDgxIDEyMiw3NCAxMjYsNzkgMTI2LDc0IDEzMSw3OCAxMzAsNzIgMTMzLDc3IDEzMSw2OCAxMjYsNjEgMTE5LDU3IDExNSw1NyAxMTUsNTcgMTE1LDU3JykKK1NBWC5lbmRFbGVtZW50KHBvbHlsaW5lKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChwb2x5bGluZSwgdmVydHM9JyAxNDUsNDggMTQzLDUzIDE0Nyw1OSAxNTEsNTkgMTUwLDU1IDE0NSw0OCAxNDUsNDggMTQ1LDQ4JykKK1NBWC5lbmRFbGVtZW50KHBvbHlsaW5lKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChwb2x5bGluZSwgdmVydHM9JyAyNiwyMiAzNCwxNSA0MywxMCA1MiwxMCA1OSwxNiA0NywxNSAzMiwyMiAyNiwyMiAyNiwyMiAyNiwyMicpCitTQVguZW5kRWxlbWVudChwb2x5bGluZSkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQocG9seWxpbmUsIHZlcnRzPScgMTYwLDE5IDE1MiwyNiAxNDksMzQgMTU0LDMzIDE1MiwzMCAxNTcsMzAgMTU1LDI2IDE1OCwyNyAxNTcsMjMgMTYxLDIzIDE2MCwxOSAxNjAsMTkgMTYwLDE5JykKK1NBWC5lbmRFbGVtZW50KHBvbHlsaW5lKQorU0FYLmNoYXJhY3RlcnMoIAorLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKCAKKywgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICMwMDAwMDAnKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChwb2x5bGluZSwgdmVydHM9JyA5OCwxMTcgMTA1LDEyMiAxMDksMTIyIDEwNSwxMTcgMTEzLDEyMCAxMjEsMTIwIDEzMCwxMTIgMTI4LDEwOCAxMjMsMTAzIDEyMyw5OSAxMjgsMTAxIDEzMiwxMDYgMTM1LDEwOSAxNDIsMTA1IDE0MiwxMDEgMTQ1LDEwMSAxNDUsOTEgMTQ4LDEwMSAxNDUsMTA1IDEzNiwxMTIgMTM1LDExNiAxNDMsMTI0IDE0OCwxMjAgMTUwLDEyMiAxNDIsMTI4IDEzMywxMjIgMTIxLDEyNSAxMTIsMTI2IDEwMywxMjUgMTAwLDEyOSA5NiwxMjQgOTgsMTE3IDk4LDExNyA5OCwxMTcnKQorU0FYLmVuZEVsZW1lbnQocG9seWxpbmUpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHBvbHlsaW5lLCB2ZXJ0cz0nIDE0NiwxMTggMTUyLDExOCAxNTIsMTE1IDE0OSwxMTUgMTQ2LDExOCAxNDYsMTE4IDE0NiwxMTgnKQorU0FYLmVuZEVsZW1lbnQocG9seWxpbmUpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHBvbHlsaW5lLCB2ZXJ0cz0nIDE0OCwxMTIgMTU0LDExMSAxNTQsMTA5IDE0OSwxMDkgMTQ4LDExMiAxNDgsMTEyIDE0OCwxMTInKQorU0FYLmVuZEVsZW1lbnQocG9seWxpbmUpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHBvbHlsaW5lLCB2ZXJ0cz0nIDEwNiwxMTIgMTA4LDExNSAxMTQsMTE2IDExOCwxMTQgMTA2LDExMiAxMDYsMTEyIDEwNiwxMTInKQorU0FYLmVuZEVsZW1lbnQocG9seWxpbmUpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHBvbHlsaW5lLCB2ZXJ0cz0nIDEwOCwxMDggMTExLDExMCAxMTYsMTEwIDExOSwxMDggMTA4LDEwOCAxMDgsMTA4IDEwOCwxMDgnKQorU0FYLmVuZEVsZW1lbnQocG9seWxpbmUpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHBvbHlsaW5lLCB2ZXJ0cz0nIDEwNiwxMDQgMTA5LDEwNSAxMTcsMTA2IDExNSwxMDQgMTA2LDEwNCAxMDYsMTA0IDEwNiwxMDQnKQorU0FYLmVuZEVsZW1lbnQocG9seWxpbmUpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHBvbHlsaW5lLCB2ZXJ0cz0nIDUwLDI1IDQxLDI2IDM0LDMzIDM5LDQzIDQ5LDU4IDM2LDUxIDQ3LDY4IDU1LDY5IDU0LDU5IDYxLDU3IDc0LDQ2IDYwLDUyIDY3LDQyIDU3LDQ4IDYxLDQwIDU0LDQ1IDYwLDM2IDU5LDI5IDQ4LDM4IDUyLDMwIDQ3LDMyIDUwLDI1IDUwLDI1IDUwLDI1JykKK1NBWC5lbmRFbGVtZW50KHBvbHlsaW5lKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChwb2x5bGluZSwgdmVydHM9JyAxNDcsMzQgMTUyLDQxIDE1NSw0OSAxNjEsNTMgMTU3LDQ3IDE2NCw0NyAxNTgsNDMgMTY4LDQ0IDE1OSw0MCAxNjQsMzcgMTY5LDM3IDE2NCwzMyAxNjksMzQgMTY1LDI4IDE3MCwzMCAxNzAsMjUgMTczLDI5IDE3NSwyNyAxNzYsMzIgMTczLDM2IDE3NSwzOSAxNzIsNDIgMTcyLDQ2IDE2OCw0OSAxNzAsNTUgMTYyLDU3IDE1OCw2MyAxNTUsNTggMTUzLDUwIDE0OSw0NiAxNDcsMzQgMTQ3LDM0IDE0NywzNCcpCitTQVguZW5kRWxlbWVudChwb2x5bGluZSkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQocG9seWxpbmUsIHZlcnRzPScgMTU1LDcxIDE1OSw4MCAxNTcsOTMgMTU3LDEwMiAxNTUsMTA4IDE1MCwxMDEgMTQ5LDkzIDE1NCwxMDEgMTUyLDkxIDE1MSw4MyAxNTUsNzkgMTU1LDcxIDE1NSw3MSAxNTUsNzEnKQorU0FYLmVuZEVsZW1lbnQocG9seWxpbmUpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHBvbHlsaW5lLCB2ZXJ0cz0nIDExMiw3OCAxMTUsODEgMTE0LDkxIDExMiw4NyAxMTMsODIgMTEyLDc4IDExMiw3OCAxMTIsNzgnKQorU0FYLmVuZEVsZW1lbnQocG9seWxpbmUpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHBvbHlsaW5lLCB2ZXJ0cz0nIDc4LDI4IDY0LDE3IDU4LDExIDQ3LDkgMzYsMTAgMjgsMTYgMjEsMjYgMTgsNDEgMjAsNTEgMjMsNjEgMzMsNjUgMjgsNjggMzcsNzQgMzYsODEgNDMsODcgNDgsOTAgNDMsMTAwIDQwLDk4IDM5LDkwIDMxLDgwIDMwLDcyIDIyLDcxIDE3LDYxIDE0LDQ2IDE2LDI4IDIzLDE3IDMzLDkgNDUsNiA1NCw2IDY1LDEyIDc4LDI4IDc4LDI4IDc4LDI4JykKK1NBWC5lbmRFbGVtZW50KHBvbHlsaW5lKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChwb2x5bGluZSwgdmVydHM9JyA2NywxOCA3Niw5IDg3LDUgMTAxLDIgMTE4LDMgMTM1LDggMTQ5LDIwIDE0OSwyNiAxNDQsMTkgMTMyLDEyIDEyMSw5IDEwNSw3IDg5LDggNzYsMTQgNzAsMjAgNjcsMTggNjcsMTggNjcsMTgnKQorU0FYLmVuZEVsZW1lbnQocG9seWxpbmUpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHBvbHlsaW5lLCB2ZXJ0cz0nIDU2LDk4IDQ4LDEwNiA1NiwxMDMgNDcsMTEyIDU2LDExMCA1MiwxMTUgNTcsMTEzIDUyLDEyMSA2MiwxMTUgNTgsMTIzIDY1LDExOSA2MywxMjUgNjksMTIxIDY4LDEyNyA3NCwxMjUgNzQsMTI5IDc5LDEyOCA4MywxMzIgOTQsMTM1IDkzLDEyOSA4NSwxMjcgODEsMTIyIDc2LDEyNiA3NSwxMjEgNzEsMTI0IDcxLDExNyA2NiwxMjEgNjYsMTE3IDYyLDExNyA2NCwxMTIgNjAsMTEzIDYwLDExMCA1NywxMTEgNjEsMTA1IDU3LDEwNyA2MCwxMDEgNTUsMTAyIDU2LDk4IDU2LDk4IDU2LDk4JykKK1NBWC5lbmRFbGVtZW50KHBvbHlsaW5lKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChwb2x5bGluZSwgdmVydHM9JyAxMDEsMTMyIDEwMywxMzggMTA2LDEzNCAxMDYsMTM5IDExMiwxMzYgMTExLDE0MiAxMTUsMTM5IDExNCwxNDMgMTE5LDE0MiAxMjUsMTQ1IDEzMSwxNDIgMTM1LDEzOCAxNDAsMTM0IDE0MCwxMjkgMTQzLDEzNSAxNDUsMTQ5IDE1MCwxNzEgMTQ5LDE4NCAxNDUsMTY1IDE0MSwxNTAgMTM2LDE0NyAxMzIsMTUxIDEzMSwxNDkgMTI2LDE1MiAxMjUsMTUwIDEyMSwxNTIgMTE3LDE0OCAxMTEsMTUyIDExMCwxNDggMTA1LDE0OSAxMDQsMTQ1IDk4LDE1MCA5NiwxMzggOTQsMTMyIDk0LDEzMCA5OCwxMzIgMTAxLDEzMiAxMDEsMTMyIDEwMSwxMzInKQorU0FYLmVuZEVsZW1lbnQocG9seWxpbmUpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHBvbHlsaW5lLCB2ZXJ0cz0nIDQxLDk0IDMyLDExMCAyMywxMzIgMTIsMTYzIDYsMTkwIDcsMjE3IDUsMjM2IDMsMjQ3IDksMjMwIDEyLDIxMSAxMiwxODUgMTgsMTYwIDI2LDEzNCAzNSwxMTAgNDMsOTkgNDEsOTQgNDEsOTQgNDEsOTQnKQorU0FYLmVuZEVsZW1lbnQocG9seWxpbmUpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHBvbHlsaW5lLCB2ZXJ0cz0nIDMyLDI0NiA0MSwyNTAgNTAsMjU3IDUyLDI2NyA1MywyOTUgNTMsMzIzIDU5LDM1MCA1NCwzNjMgNTEsMzY1IDQ0LDM2NiA0MiwzNjAgNDAsMzcyIDU0LDM3MiA1OSwzNjYgNjIsMzUzIDcxLDM1MiA3NSwzMzUgNzMsMzMwIDY2LDMxOCA2OCwzMDIgNjQsMjk0IDY3LDI4OCA2MywyODYgNjMsMjc5IDU5LDI3NSA1OCwyNjcgNTYsMjYyIDUwLDI0NyA0MiwyMzUgNDQsMjQ2IDMyLDIzNiAzNSwyNDQgMzIsMjQ2IDMyLDI0NiAzMiwyNDYnKQorU0FYLmVuZEVsZW1lbnQocG9seWxpbmUpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHBvbHlsaW5lLCB2ZXJ0cz0nIDEzNCwzMjQgMTQ2LDMyMCAxNTksMzIyIDE3MywzMjcgMTc5LDMzNyAxNzksMzQ5IDE3MiwzNTUgMTU4LDM1NyAxNzAsMzUwIDE3NCwzNDMgMTcwLDMzMyAxNjMsMzI4IDE1MiwzMjYgMTM0LDMyOSAxMzQsMzI0IDEzNCwzMjQgMTM0LDMyNCcpCitTQVguZW5kRWxlbWVudChwb2x5bGluZSkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQocG9seWxpbmUsIHZlcnRzPScgMTczLDMzOSAxODMsMzM0IDE4NCwzMzggMTkxLDMyOSAxOTQsMzMyIDE5OSwzMjMgMjAyLDMyNSAyMDYsMzE4IDIwOSwzMjAgMjEzLDMwOSAyMjEsMzAzIDIyOCwyOTYgMjMyLDI4OSAyMzQsMjc5IDIzMywyNjkgMjMwLDI2MiAyMjUsMjU2IDIxOSwyNTMgMjA4LDI1MiAxOTgsMjUyIDIxMCwyNDkgMjIzLDI1MCAyMzIsMjU3IDIzNywyNjUgMjM4LDI3NyAyMzgsMjkxIDIzMiwzMDUgMjIxLDMyMyAyMTgsMzM1IDIxMiwzNDIgMjAwLDM0OSAxNzgsMzQ4IDE3MywzMzkgMTczLDMzOSAxNzMsMzM5JykKK1NBWC5lbmRFbGVtZW50KHBvbHlsaW5lKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChwb2x5bGluZSwgdmVydHM9JyAxNjUsMjk2IDE1OCwzMDEgMTU2LDMxMCAxNTYsMzIzIDE2MiwzMjQgMTU5LDMxOCAxNjIsMzA4IDE2MiwzMDQgMTY1LDI5NiAxNjUsMjk2IDE2NSwyOTYnKQorU0FYLmVuZEVsZW1lbnQocG9seWxpbmUpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHBvbHlsaW5lLCB2ZXJ0cz0nIDk5LDI1MiAxMDUsMjQ0IDEwNywyMzQgMTE1LDIyOCAxMjEsMjI4IDEzMSwyMzUgMTIyLDIzMyAxMTMsMjM1IDEwOSwyNDYgMTIxLDIzOSAxMzMsMjQzIDEyMSwyNDMgMTEwLDI1MSA5OSwyNTIgOTksMjUyIDk5LDI1MicpCitTQVguZW5kRWxlbWVudChwb2x5bGluZSkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQocG9seWxpbmUsIHZlcnRzPScgMTE3LDI1MiAxMjQsMjQ3IDEzNCwyNDkgMTM2LDI1MyAxMjYsMjUyIDExNywyNTIgMTE3LDI1MiAxMTcsMjUyJykKK1NBWC5lbmRFbGVtZW50KHBvbHlsaW5lKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChwb2x5bGluZSwgdmVydHM9JyAxMTcsMjE4IDEzMiwyMjQgMTQ0LDIzMyAxNDAsMjI1IDEzMiwyMTkgMTE3LDIxOCAxMTcsMjE4IDExNywyMTgnKQorU0FYLmVuZEVsZW1lbnQocG9seWxpbmUpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHBvbHlsaW5lLCB2ZXJ0cz0nIDEyMiwyMTIgMTM0LDIxNCAxNDMsMjIxIDE0MSwyMTMgMTMyLDIxMCAxMjIsMjEyIDEyMiwyMTIgMTIyLDIxMicpCitTQVguZW5kRWxlbWVudChwb2x5bGluZSkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQocG9seWxpbmUsIHZlcnRzPScgNjksMzUyIDcwLDM2MyA3NiwzNzMgODYsMzc4IDk3LDM3OSAxMDgsMzc5IDEyMCwzNzcgMTI4LDM3OCAxMzIsMzczIDEzNSwzNjEgMTMzLDM1OCAxMzIsMzY2IDEyNywzNzUgMTIxLDM3NCAxMjEsMzYyIDExOSwzNjcgMTE3LDM3NCAxMTAsMzc2IDExMCwzNjIgMTA3LDM1NyAxMDYsMzcxIDEwNCwzNzUgOTcsMzc2IDkwLDM3NSA5MCwzNjggODYsMzYyIDgzLDM2NCA4NiwzNjkgODUsMzczIDc4LDM3MCA3MywzNjIgNzEsMzUxIDY5LDM1MiA2OSwzNTIgNjksMzUyJykKK1NBWC5lbmRFbGVtZW50KHBvbHlsaW5lKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChwb2x5bGluZSwgdmVydHM9JyAxMDAsMzYwIDk2LDM2MyA5OSwzNjkgMTAyLDM2NCAxMDAsMzYwIDEwMCwzNjAgMTAwLDM2MCcpCitTQVguZW5kRWxlbWVudChwb2x5bGluZSkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQocG9seWxpbmUsIHZlcnRzPScgMTE1LDM2MCAxMTIsMzYzIDExNCwzNjkgMTE3LDM2NCAxMTUsMzYwIDExNSwzNjAgMTE1LDM2MCcpCitTQVguZW5kRWxlbWVudChwb2x5bGluZSkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQocG9seWxpbmUsIHZlcnRzPScgMTI3LDM2MiAxMjUsMzY0IDEyNiwzNjkgMTI4LDM2NSAxMjcsMzYyIDEyNywzNjIgMTI3LDM2MicpCitTQVguZW5kRWxlbWVudChwb2x5bGluZSkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQocG9seWxpbmUsIHZlcnRzPScgNSwyNTUgNywyNzYgMTEsMzA0IDE1LDMyMCAxMywzMzQgNiwzNDggMiwzNTMgMCwzNjMgNSwzNzIgMTIsMzc0IDI1LDM3MiAzOCwzNzIgNDQsMzY5IDQyLDM2NyAzNiwzNjggMzEsMzY5IDMwLDM2MCAyNywzNjggMjAsMzcwIDE2LDM2MSAxNSwzNjggMTAsMzY5IDMsMzY2IDMsMzU5IDYsMzUyIDExLDM0OCAxNywzMzEgMTksMzE2IDEyLDI5MSA5LDI3NCA1LDI1NSA1LDI1NSA1LDI1NScpCitTQVguZW5kRWxlbWVudChwb2x5bGluZSkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQocG9seWxpbmUsIHZlcnRzPScgMTAsMzU4IDcsMzYyIDEwLDM2NiAxMSwzNjIgMTAsMzU4IDEwLDM1OCAxMCwzNTgnKQorU0FYLmVuZEVsZW1lbnQocG9seWxpbmUpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHBvbHlsaW5lLCB2ZXJ0cz0nIDI1LDM1NyAyMiwzNjAgMjQsMzY2IDI3LDM2MCAyNSwzNTcgMjUsMzU3IDI1LDM1NycpCitTQVguZW5kRWxlbWVudChwb2x5bGluZSkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQocG9seWxpbmUsIHZlcnRzPScgMzcsMzU3IDM0LDM2MSAzNiwzNjUgMzgsMzYxIDM3LDM1NyAzNywzNTcgMzcsMzU3JykKK1NBWC5lbmRFbGVtZW50KHBvbHlsaW5lKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChwb2x5bGluZSwgdmVydHM9JyA0OSwzNTYgNDYsMzU5IDQ3LDM2NCA1MCwzNjAgNDksMzU2IDQ5LDM1NiA0OSwzNTYnKQorU0FYLmVuZEVsZW1lbnQocG9seWxpbmUpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHBvbHlsaW5lLCB2ZXJ0cz0nIDEzMCwxMDEgMTMyLDEwMiAxMzUsMTAxIDEzOSwxMDIgMTQzLDEwMyAxNDIsMTAxIDEzNywxMDAgMTMzLDEwMCAxMzAsMTAxIDEzMCwxMDEgMTMwLDEwMScpCitTQVguZW5kRWxlbWVudChwb2x5bGluZSkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQocG9seWxpbmUsIHZlcnRzPScgMTA2LDQ4IDEwNSw1MiAxMDgsNTYgMTA5LDUyIDEwNiw0OCAxMDYsNDggMTA2LDQ4JykKK1NBWC5lbmRFbGVtZW50KHBvbHlsaW5lKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChwb2x5bGluZSwgdmVydHM9JyAxMzksNTIgMTM5LDU2IDE0MCw2MCAxNDIsNTggMTQxLDU2IDEzOSw1MiAxMzksNTIgMTM5LDUyJykKK1NBWC5lbmRFbGVtZW50KHBvbHlsaW5lKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChwb2x5bGluZSwgdmVydHM9JyAyNSwzNDkgMjksMzUxIDMwLDM1NSAzMywzNTAgMzcsMzQ4IDQyLDM1MSA0NSwzNDcgNDksMzQ1IDQ0LDM0MyAzNiwzNDUgMjUsMzQ5IDI1LDM0OSAyNSwzNDknKQorU0FYLmVuZEVsZW1lbnQocG9seWxpbmUpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHBvbHlsaW5lLCB2ZXJ0cz0nIDk4LDM0NyAxMDUsMzUxIDEwNywzNTQgMTA5LDM0OSAxMTUsMzQ5IDEyMCwzNTMgMTE4LDM0OSAxMTMsMzQ2IDEwNCwzNDYgOTgsMzQ3IDk4LDM0NyA5OCwzNDcnKQorU0FYLmVuZEVsZW1lbnQocG9seWxpbmUpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHBvbHlsaW5lLCB2ZXJ0cz0nIDgzLDM0OCA4NywzNTIgODcsMzU3IDg5LDM1MSA4NywzNDggODMsMzQ4IDgzLDM0OCA4MywzNDgnKQorU0FYLmVuZEVsZW1lbnQocG9seWxpbmUpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHBvbHlsaW5lLCB2ZXJ0cz0nIDE1NSwxMDcgMTYzLDEwNyAxNzAsMTA3IDE4NiwxMDggMTc1LDEwOSAxNTUsMTA5IDE1NSwxMDcgMTU1LDEwNyAxNTUsMTA3JykKK1NBWC5lbmRFbGVtZW50KHBvbHlsaW5lKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChwb2x5bGluZSwgdmVydHM9JyAxNTMsMTE0IDE2MiwxMTMgMTc1LDExMiAxOTIsMTE0IDE3MywxMTQgMTU0LDExNSAxNTMsMTE0IDE1MywxMTQgMTUzLDExNCcpCitTQVguZW5kRWxlbWVudChwb2x5bGluZSkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQocG9seWxpbmUsIHZlcnRzPScgMTUyLDExOCAxNjQsMTIwIDE4MCwxMjMgMTk3LDEyOSAxNjksMTIzIDE1MSwxMjAgMTUyLDExOCAxNTIsMTE4IDE1MiwxMTgnKQorU0FYLmVuZEVsZW1lbnQocG9seWxpbmUpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHBvbHlsaW5lLCB2ZXJ0cz0nIDY4LDEwOSA4NywxMDYgMTA3LDEwNiAxMDYsMTA4IDg4LDEwOCA2OCwxMDkgNjgsMTA5IDY4LDEwOScpCitTQVguZW5kRWxlbWVudChwb2x5bGluZSkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQocG9seWxpbmUsIHZlcnRzPScgMTA1LDExMSA5NSwxMTIgNzksMTE0IDcxLDExNiA4NSwxMTUgMTAyLDExMyAxMDUsMTExIDEwNSwxMTEgMTA1LDExMScpCitTQVguZW5kRWxlbWVudChwb2x5bGluZSkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQocG9seWxpbmUsIHZlcnRzPScgMTA4LDEwMSA5OCw5OSA4Nyw5OSA3OCw5OSA5MywxMDAgMTA1LDEwMiAxMDgsMTAxIDEwOCwxMDEgMTA4LDEwMScpCitTQVguZW5kRWxlbWVudChwb2x5bGluZSkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQocG9seWxpbmUsIHZlcnRzPScgODUsNjMgOTEsNjMgOTcsNjAgMTA0LDYwIDEwOCw2MiAxMTEsNjkgMTEyLDc1IDExMCw3NCAxMDgsNzEgMTAzLDczIDEwNiw2OSAxMDUsNjUgMTAzLDY0IDEwMyw2NyAxMDIsNzAgOTksNzAgOTcsNjYgOTQsNjcgOTcsNzIgODgsNjcgODQsNjYgODUsNjMgODUsNjMgODUsNjMnKQorU0FYLmVuZEVsZW1lbnQocG9seWxpbmUpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHBvbHlsaW5lLCB2ZXJ0cz0nIDE0MCw3NCAxNDEsNjYgMTQ0LDYxIDE1MCw2MSAxNTYsNjIgMTUzLDcwIDE1MCw3MyAxNTIsNjUgMTUwLDY1IDE1MSw2OCAxNDksNzEgMTQ2LDcxIDE0NCw2NiAxNDMsNzAgMTQzLDc0IDE0MCw3NCAxNDAsNzQgMTQwLDc0JykKK1NBWC5lbmRFbGVtZW50KHBvbHlsaW5lKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChwb2x5bGluZSwgdmVydHM9JyAxNDYsMjAgMTU2LDExIDE2Myw5IDE3Miw5IDE3OCwxNCAxODIsMTggMTg0LDMyIDE4Miw0MiAxODIsNTIgMTc3LDU4IDE3Niw2NyAxNzEsNzYgMTY1LDkwIDE1NywxMDUgMTYwLDkyIDE2NCw4NSAxNjgsNzggMTY3LDczIDE3Myw2NiAxNzIsNjIgMTc1LDU5IDE3NCw1NSAxNzcsNTMgMTgwLDQ2IDE4MSwyOSAxNzksMjEgMTczLDEzIDE2NiwxMSAxNTksMTMgMTUzLDE4IDE0OCwyMyAxNDYsMjAgMTQ2LDIwIDE0NiwyMCcpCitTQVguZW5kRWxlbWVudChwb2x5bGluZSkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQocG9seWxpbmUsIHZlcnRzPScgMTUwLDE4NyAxNDgsMjExIDE1MCwyMzMgMTUzLDI0NyAxNDgsMjY3IDEzNSwyODMgMTI1LDI5OSAxMzYsMjkyIDEzMSwzMTMgMTIyLDMyOCAxMjIsMzQ1IDEyOSwzNTIgMTMzLDM1OSAxMzMsMzY3IDEzNywzNTkgMTQ4LDM1NiAxNDAsMzUwIDEzMSwzNDcgMTI5LDM0MCAxMzIsMzMyIDE0MCwzMjggMTM3LDMyMiAxNDAsMzA0IDE1NCwyNjUgMTU3LDI0NCAxNTUsMjIzIDE2MSwyMjAgMTc1LDIyOSAxODYsMjQ3IDE4NSwyNjAgMTc2LDI3NSAxNzgsMjg3IDE4NSwyNzcgMTg4LDI2MSAxOTYsMjUzIDE4OSwyMzYgMTc0LDIxMyAxNTAsMTg3IDE1MCwxODcgMTUwLDE4NycpCitTQVguZW5kRWxlbWVudChwb2x5bGluZSkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQocG9seWxpbmUsIHZlcnRzPScgMTQ3LDMzOCAxNDIsMzQxIDE0MywzNDUgMTQxLDM1NCAxNDcsMzQzIDE0NywzMzggMTQ3LDMzOCAxNDcsMzM4JykKK1NBWC5lbmRFbGVtZW50KHBvbHlsaW5lKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChwb2x5bGluZSwgdmVydHM9JyAxNTcsMzQyIDE1NiwzNDkgMTUwLDM1NiAxNTcsMzUzIDE2MywzNDYgMTYyLDM0MiAxNTcsMzQyIDE1NywzNDIgMTU3LDM0MicpCitTQVguZW5kRWxlbWVudChwb2x5bGluZSkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQocG9seWxpbmUsIHZlcnRzPScgOTksMjY1IDk2LDI4NCA5MiwyOTkgNzMsMzM5IDczLDMzMyA4NywzMDAgOTksMjY1IDk5LDI2NSA5OSwyNjUnKQorU0FYLmVuZEVsZW1lbnQocG9seWxpbmUpCitTQVguY2hhcmFjdGVycyggCissIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmVuZEVsZW1lbnQoc3ZnKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3N2ZzEuc2F4MiBiL2xpYnhtbDIvcmVzdWx0L3N2ZzEuc2F4MgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YjgxNDU5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc3ZnMS5zYXgyCkBAIC0wLDAgKzEsNjEzIEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5pbnRlcm5hbFN1YnNldChzdmcsIC0vL1czQy8vRFREIFNWRyBBcHJpbCAxOTk5Ly9FTiwgaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHL3N2Zy0xOTk5MDQxMi5kdGQpCitTQVguZXh0ZXJuYWxTdWJzZXQoc3ZnLCAtLy9XM0MvL0RURCBTVkcgQXByaWwgMTk5OS8vRU4sIGh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy9zdmctMTk5OTA0MTIuZHRkKQorU0FYLnN0YXJ0RWxlbWVudE5zKHN2ZywgTlVMTCwgTlVMTCwgMCwgMiwgMCwgd2lkdGg9JzI0MnAuLi4nLCA1LCBoZWlnaHQ9JzM4M3AuLi4nLCA1KQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J3N0cm8uLi4nLCAxNSkKK1NBWC5jaGFyYWN0ZXJzKCAKKywgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKCAKKywgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDEzKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCB2ZXJ0cz0nIDY5LC4uLicsIDMzNykKK1NBWC5lbmRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycyggCissIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycyggCissIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCAxMykKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgdmVydHM9JyAxNDIuLi4nLCAxOTApCitTQVguZW5kRWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoIAorLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoIAorLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgMTMpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHZlcnRzPScgMTI3Li4uJywgNzEpCitTQVguZW5kRWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoIAorLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoIAorLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgMTMpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHZlcnRzPScgMTc4Li4uJywgMTI4KQorU0FYLmVuZEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKCAKKywgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKCAKKywgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDEzKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCB2ZXJ0cz0nIDU2LC4uLicsIDI3MykKK1NBWC5lbmRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHZlcnRzPScgNzQsLi4uJywgMjAzKQorU0FYLmVuZEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgdmVydHM9JyAyMTIuLi4nLCA0NDgpCitTQVguZW5kRWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCB2ZXJ0cz0nIDE1MS4uLicsIDIwOCkKK1NBWC5lbmRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHZlcnRzPScgNzgsLi4uJywgMTA2KQorU0FYLmVuZEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgdmVydHM9JyAyMSwuLi4nLCA5MCkKK1NBWC5lbmRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHZlcnRzPScgNzEsLi4uJywgMTUwKQorU0FYLmVuZEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgdmVydHM9JyAxMzkuLi4nLCAxMDEpCitTQVguZW5kRWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCB2ZXJ0cz0nIDEwNS4uLicsIDU2KQorU0FYLmVuZEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgdmVydHM9JyAxNDEuLi4nLCA3MCkKK1NBWC5lbmRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHZlcnRzPScgOTgsLi4uJywgMTU2KQorU0FYLmVuZEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgdmVydHM9JyA5NywuLi4nLCAxNTYpCitTQVguZW5kRWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCB2ZXJ0cz0nIDE0Ny4uLicsIDIzOCkKK1NBWC5lbmRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHZlcnRzPScgODUsLi4uJywgNjkpCitTQVguZW5kRWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCB2ZXJ0cz0nIDg2LC4uLicsIDIxNykKK1NBWC5lbmRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycyggCissIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycyggCissIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCAxMykKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgdmVydHM9JyA5MywuLi4nLCA2NSkKK1NBWC5lbmRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHZlcnRzPScgMTQ0Li4uJywgNzApCitTQVguZW5kRWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoIAorLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoIAorLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgMTMpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHZlcnRzPScgNTcsLi4uJywgMjk0KQorU0FYLmVuZEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgdmVydHM9JyA4MywuLi4nLCAxOTQpCitTQVguZW5kRWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCB2ZXJ0cz0nIDEwOS4uLicsIDcwKQorU0FYLmVuZEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgdmVydHM9JyAxMjIuLi4nLCA4MCkKK1NBWC5lbmRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHZlcnRzPScgNzgsLi4uJywgMTU2KQorU0FYLmVuZEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgdmVydHM9JyA4MiwuLi4nLCAyODQpCitTQVguZW5kRWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCB2ZXJ0cz0nIDE0Mi4uLicsIDIzOSkKK1NBWC5lbmRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHZlcnRzPScgMTE1Li4uJywgNzIpCitTQVguZW5kRWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCB2ZXJ0cz0nIDExNC4uLicsIDgwKQorU0FYLmVuZEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgdmVydHM9JyAxMDIuLi4nLCA3MikKK1NBWC5lbmRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHZlcnRzPScgNTEsLi4uJywgMTU0KQorU0FYLmVuZEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgdmVydHM9JyAyLDMuLi4nLCAxMjApCitTQVguZW5kRWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCB2ZXJ0cz0nIDcsMy4uLicsIDE1NCkKK1NBWC5lbmRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHZlcnRzPScgMTEsLi4uJywgNDkpCitTQVguZW5kRWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCB2ZXJ0cz0nIDEzLC4uLicsIDk3KQorU0FYLmVuZEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgdmVydHM9JyAyMDIuLi4nLCAxNTIpCitTQVguZW5kRWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoIAorLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoIAorLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgMTMpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHZlcnRzPScgMTUxLi4uJywgMTY4KQorU0FYLmVuZEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgdmVydHM9JyA5MSwuLi4nLCAyMDIpCitTQVguZW5kRWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoIAorLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoIAorLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgMTMpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHZlcnRzPScgMzEsLi4uJywgOTYpCitTQVguZW5kRWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCB2ZXJ0cz0nIDE0Ny4uLicsIDc2KQorU0FYLmVuZEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgdmVydHM9JyAxODEuLi4nLCA5MSkKK1NBWC5lbmRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHZlcnRzPScgMTMyLi4uJywgODApCitTQVguZW5kRWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCB2ZXJ0cz0nIDE0Ni4uLicsIDgwKQorU0FYLmVuZEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgdmVydHM9JyA5OSwuLi4nLCA3OCkKK1NBWC5lbmRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHZlcnRzPScgMjAsLi4uJywgMTA1KQorU0FYLmVuZEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgdmVydHM9JyA3OCwuLi4nLCA1NikKK1NBWC5lbmRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHZlcnRzPScgOTMsLi4uJywgOTIpCitTQVguZW5kRWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoIAorLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoIAorLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgMTMpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHZlcnRzPScgMTA1Li4uJywgNzApCitTQVguZW5kRWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCB2ZXJ0cz0nIDEyMi4uLicsIDU2KQorU0FYLmVuZEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgdmVydHM9JyAxMTUuLi4nLCA0OSkKK1NBWC5lbmRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycyggCissIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycyggCissIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCAxMykKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgdmVydHM9JyAxMTYuLi4nLCAyNjApCitTQVguZW5kRWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCB2ZXJ0cz0nIDc0LC4uLicsIDI0NSkKK1NBWC5lbmRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHZlcnRzPScgMTMzLi4uJywgMTA0KQorU0FYLmVuZEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgdmVydHM9JyAxMzMuLi4nLCA2NCkKK1NBWC5lbmRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHZlcnRzPScgMTIxLi4uJywgMzM0KQorU0FYLmVuZEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgdmVydHM9JyA3OSwuLi4nLCA3MCkKK1NBWC5lbmRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHZlcnRzPScgOTEsLi4uJywgODApCitTQVguZW5kRWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCB2ZXJ0cz0nIDExMC4uLicsIDcyKQorU0FYLmVuZEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgdmVydHM9JyAxMjYuLi4nLCA3MikKK1NBWC5lbmRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHZlcnRzPScgMzAsLi4uJywgMjY2KQorU0FYLmVuZEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgdmVydHM9JyA0NCwuLi4nLCAzMTkpCitTQVguZW5kRWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCB2ZXJ0cz0nIDEzLC4uLicsIDg0KQorU0FYLmVuZEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgdmVydHM9JyAxMCwuLi4nLCA1NikKK1NBWC5lbmRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHZlcnRzPScgOSwyLi4uJywgNDUpCitTQVguZW5kRWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCB2ZXJ0cz0nIDMzLC4uLicsIDM4NSkKK1NBWC5lbmRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHZlcnRzPScgNywzLi4uJywgNTEpCitTQVguZW5kRWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCB2ZXJ0cz0nIDQ0LC4uLicsIDQ5KQorU0FYLmVuZEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgdmVydHM9JyAzMiwuLi4nLCA0OSkKK1NBWC5lbmRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHZlcnRzPScgMTM5Li4uJywgMTI4KQorU0FYLmVuZEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgdmVydHM9JyAyMDguLi4nLCAzNjApCitTQVguZW5kRWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCB2ZXJ0cz0nIDEwNi4uLicsIDE1MikKK1NBWC5lbmRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHZlcnRzPScgMTA3Li4uJywgOTMpCitTQVguZW5kRWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCB2ZXJ0cz0nIDE0OC4uLicsIDcyKQorU0FYLmVuZEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgdmVydHM9JyA4MCwuLi4nLCAxOTIpCitTQVguZW5kRWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCB2ZXJ0cz0nIDg3LC4uLicsIDU1KQorU0FYLmVuZEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgdmVydHM9JyA4NSwuLi4nLCA1NSkKK1NBWC5lbmRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHZlcnRzPScgMTE1Li4uJywgMTE5KQorU0FYLmVuZEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgdmVydHM9JyAxNDUuLi4nLCA1NikKK1NBWC5lbmRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHZlcnRzPScgMjYsLi4uJywgNjApCitTQVguZW5kRWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCB2ZXJ0cz0nIDE2MC4uLicsIDkxKQorU0FYLmVuZEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKCAKKywgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKCAKKywgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDEzKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCB2ZXJ0cz0nIDk4LC4uLicsIDI2NSkKK1NBWC5lbmRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHZlcnRzPScgMTQ2Li4uJywgNTYpCitTQVguZW5kRWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCB2ZXJ0cz0nIDE0OC4uLicsIDU2KQorU0FYLmVuZEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgdmVydHM9JyAxMDYuLi4nLCA1NikKK1NBWC5lbmRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHZlcnRzPScgMTA4Li4uJywgNTYpCitTQVguZW5kRWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCB2ZXJ0cz0nIDEwNi4uLicsIDU2KQorU0FYLmVuZEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgdmVydHM9JyA1MCwuLi4nLCAxNDQpCitTQVguZW5kRWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCB2ZXJ0cz0nIDE0Ny4uLicsIDIzMSkKK1NBWC5lbmRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHZlcnRzPScgMTU1Li4uJywgMTAyKQorU0FYLmVuZEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgdmVydHM9JyAxMTIuLi4nLCA1NikKK1NBWC5lbmRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHZlcnRzPScgNzgsLi4uJywgMTk1KQorU0FYLmVuZEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgdmVydHM9JyA2NywuLi4nLCAxMDkpCitTQVguZW5kRWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCB2ZXJ0cz0nIDU2LC4uLicsIDI3NikKK1NBWC5lbmRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHZlcnRzPScgMTAxLi4uJywgMzA3KQorU0FYLmVuZEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgdmVydHM9JyA0MSwuLi4nLCAxMTYpCitTQVguZW5kRWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCB2ZXJ0cz0nIDMyLC4uLicsIDI0NSkKK1NBWC5lbmRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHZlcnRzPScgMTM0Li4uJywgMTM2KQorU0FYLmVuZEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgdmVydHM9JyAxNzMuLi4nLCAyODApCitTQVguZW5kRWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCB2ZXJ0cz0nIDE2NS4uLicsIDg4KQorU0FYLmVuZEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgdmVydHM9JyA5OSwuLi4nLCAxMjQpCitTQVguZW5kRWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCB2ZXJ0cz0nIDExNy4uLicsIDY0KQorU0FYLmVuZEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgdmVydHM9JyAxMTcuLi4nLCA2NCkKK1NBWC5lbmRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHZlcnRzPScgMTIyLi4uJywgNjQpCitTQVguZW5kRWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCB2ZXJ0cz0nIDY5LC4uLicsIDI2MikKK1NBWC5lbmRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHZlcnRzPScgMTAwLi4uJywgNTQpCitTQVguZW5kRWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCB2ZXJ0cz0nIDExNS4uLicsIDU2KQorU0FYLmVuZEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgdmVydHM9JyAxMjcuLi4nLCA1NikKK1NBWC5lbmRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHZlcnRzPScgNSwyLi4uJywgMjE4KQorU0FYLmVuZEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgdmVydHM9JyAxMCwuLi4nLCA0OCkKK1NBWC5lbmRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHZlcnRzPScgMjUsLi4uJywgNDkpCitTQVguZW5kRWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCB2ZXJ0cz0nIDM3LC4uLicsIDQ5KQorU0FYLmVuZEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgdmVydHM9JyA0OSwuLi4nLCA0OSkKK1NBWC5lbmRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHZlcnRzPScgMTMwLi4uJywgODgpCitTQVguZW5kRWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCB2ZXJ0cz0nIDEwNi4uLicsIDQ5KQorU0FYLmVuZEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgdmVydHM9JyAxMzkuLi4nLCA1NikKK1NBWC5lbmRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHZlcnRzPScgMjUsLi4uJywgOTEpCitTQVguZW5kRWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCB2ZXJ0cz0nIDk4LC4uLicsIDkyKQorU0FYLmVuZEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgdmVydHM9JyA4MywuLi4nLCA1NikKK1NBWC5lbmRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHZlcnRzPScgMTU1Li4uJywgNzIpCitTQVguZW5kRWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCB2ZXJ0cz0nIDE1My4uLicsIDcyKQorU0FYLmVuZEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgdmVydHM9JyAxNTIuLi4nLCA3MikKK1NBWC5lbmRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHZlcnRzPScgNjgsLi4uJywgNTgpCitTQVguZW5kRWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCB2ZXJ0cz0nIDEwNS4uLicsIDY4KQorU0FYLmVuZEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgdmVydHM9JyAxMDguLi4nLCA2NSkKK1NBWC5lbmRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHZlcnRzPScgODUsLi4uJywgMTU2KQorU0FYLmVuZEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgdmVydHM9JyAxNDAuLi4nLCAxMjYpCitTQVguZW5kRWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCB2ZXJ0cz0nIDE0Ni4uLicsIDIzNykKK1NBWC5lbmRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHZlcnRzPScgMTUwLi4uJywgMzIwKQorU0FYLmVuZEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgdmVydHM9JyAxNDcuLi4nLCA2NCkKK1NBWC5lbmRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHZlcnRzPScgMTU3Li4uJywgNzIpCitTQVguZW5kRWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHBvbHlsaW5lLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCB2ZXJ0cz0nIDk5LC4uLicsIDYzKQorU0FYLmVuZEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKCAKKywgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5lbmRFbGVtZW50TnMoc3ZnLCBOVUxMLCBOVUxMKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3N2ZzIgYi9saWJ4bWwyL3Jlc3VsdC9zdmcyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZjMzk5MGMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zdmcyCkBAIC0wLDAgKzEsNTYgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgc3RhbmRhbG9uZT0ieWVzIj8+Cis8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIEFwcmlsIDE5OTkvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHL3N2Zy0xOTk5MDQxMi5kdGQiPgorPHN2ZyB3aWR0aD0iMjY4cHgiIGhlaWdodD0iMjA3cHgiPgorPGcgc3R5bGU9InN0cm9rZTogIzAwMDAwMCI+IAorICAgPHBhdGggZD0iIE0gMjkgMjggIi8+IAorICAgPHBhdGggZD0iIEwgMTkgNzQgIi8+IAorPC9nPiAKKzxnIHN0eWxlPSJzdHJva2U6ICM4MDAwNDAiPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cz0iIDMyLDEwMCA3Miw1MCA5MCw4MiA3MywxNiAxMjAsNjQgMTUyLDkgMTc3LDEwNyIvPiAKKzwvZz4gCis8ZyBzdHlsZT0ic3Ryb2tlOiAjMDAwMDAwIj4gCis8L2c+IAorPGcgc3R5bGU9InN0cm9rZTogIzAwMDBmZiI+IAorICAgPHJlY3QgeD0iMzAiIHk9IjEwMSIgd2lkdGg9IjUxIiBoZWlnaHQ9IjMzIi8+Cis8L2c+IAorPGcgc3R5bGU9ImZpbGw6ICMwMDAwZmYiPiAKKyAgIDxlbGxpcHNlIGN4PSIxODIiIGN5PSIxMjciIG1ham9yPSIzNyIgbWlub3I9IjMxIiBhbmdsZT0iOTAiLz4KKzwvZz4gCis8ZyBzdHlsZT0iZmlsbDogI2ZmMDAwMCI+IAorICAgPHBvbHlsaW5lIHZlcnRzPSIgNzgsMTgwIDc2LDE1MSAxMzEsMTQ5IDEzNiwxODIgMTM1LDE4MiAxMzQsMTgzIDEyNywxODUgMTE3LDE4NiAxMDksMTkyIDEwNCwxOTQgOTgsMTk5IDk2LDIwMCA5NSwyMDEgOTQsMjAyIDkyLDIwMiA4NSwyMDIgNzAsMjAwIDU0LDE5OSA0NywxOTggNDYsMTk3IDQ1LDE5NyAzNywxOTUgMjYsMTkzIDE3LDE4NyA5LDE4MSA4LDE4MSA3LDE3NiA2LDE3NSA2LDE3MyA2LDE3MiA2LDE3MCA4LDE2NCA4LDE2MyA4LDE2MiA5LDE2MiAxMCwxNjIgMTEsMTYyIDEzLDE2MiAyMCwxNjIgMjYsMTYyIDI3LDE2MiAyOCwxNjIgMzAsMTYyIDMwLDE2MyAzMSwxNjMgMzIsMTY0IDM0LDE2NiAzNSwxNjYgMzYsMTY3IDM2LDE2OCAzNywxNjkgMzgsMTY5IDM5LDE2OSA0MSwxNzAgNDMsMTcwIDQ1LDE3MCA0NywxNzAgNDksMTcwIDUwLDE2OCA1MCwxNjEgNTAsMTYwIDUwLDE1OSA0NywxNjIgNzgsMTgwIi8+IAorICAgPGc+CisgICAgIDxkZXNjPiBKYXZhIEZvbnQgZGVmaW5pdGlvbjpEaWFsb2cgMDwvZGVzYz4gCisgICA8L2c+CisgICA8Zz4KKyAgICAgPGRlc2M+IEphdmEgRm9udCBkZWZpbml0aW9uOkhlbHZldGljYSAwPC9kZXNjPiAKKyAgIDwvZz4KKzwvZz4gCis8ZyBzdHlsZT0ic3Ryb2tlOiAjMDAwMDAwIj4gCisgICA8dGV4dCB4PSIxODgiIHk9IjM2Ij50aGlzIGlzIHRleHQ8L3RleHQ+Cis8L2c+IAorPGcgc3R5bGU9InN0cm9rZTogIzAwMDAwMCI+IAorICAgPGc+CisgICAgIDxkZXNjPiBKYXZhIEZvbnQgZGVmaW5pdGlvbjpEaWFsb2cgMDwvZGVzYz4gCisgICA8L2c+CisgICA8Zz4KKyAgICAgPGRlc2M+IEphdmEgRm9udCBkZWZpbml0aW9uOkhlbHZldGljYSA3MDA8L2Rlc2M+IAorICAgPC9nPgorPC9nPiAKKzxnIHN0eWxlPSJzdHJva2U6ICMwMDgwODAiPiAKKyAgIDx0ZXh0IHg9IjE3NiIgeT0iODUiPnNhZGZzYWRmc2FkPC90ZXh0PgorPC9nPiAKKzxnIHN0eWxlPSJzdHJva2U6ICMwMDAwMDAiPiAKKzwvZz4gCis8ZyBzdHlsZT0iZmlsbDogIzgwMDA0MCI+IAorICAgPGVsbGlwc2UgY3g9IjIwOCIgY3k9IjE4MCIgbWFqb3I9IjQ1IiBtaW5vcj0iMzEiIGFuZ2xlPSIwIi8+Cis8L2c+IAorPGcgc3R5bGU9InN0cm9rZTogIzAwMDAwMCI+IAorPC9nPiAKKzxnIHN0eWxlPSJmaWxsOiAjZmZmZmZmIj4gCisgICA8Zz4KKyAgICAgPGRlc2M+IEphdmEgRm9udCBkZWZpbml0aW9uOkRpYWxvZyA3MDA8L2Rlc2M+IAorICAgPC9nPgorICAgPGc+CisgICAgIDxkZXNjPiBKYXZhIEZvbnQgZGVmaW5pdGlvbjpEaWFsb2cgNzAwPC9kZXNjPiAKKyAgIDwvZz4KKzwvZz48L3N2Zz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3N2ZzIucmRlIGIvbGlieG1sMi9yZXN1bHQvc3ZnMi5yZGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWVhYjE1MgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3N2ZzIucmRlCkBAIC0wLDAgKzEsMTc4IEBACiswIDEwIHN2ZyAwIDAKKzAgMSBzdmcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKworMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxICAKKworMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgIAorCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAgCisKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgIAorCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAgCisKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcmVjdCAxIDAKKzIgMTQgI3RleHQgMCAxIAorCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAgCisKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgZWxsaXBzZSAxIDAKKzIgMTQgI3RleHQgMCAxIAorCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAgCisKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBnIDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgIAorMyAxIGRlc2MgMCAwCis0IDMgI3RleHQgMCAxICBKYXZhIEZvbnQgZGVmaW5pdGlvbjpEaWFsb2cgMAorMyAxNSBkZXNjIDAgMAorMyAxNCAjdGV4dCAwIDEgIAorICAgCisyIDE1IGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgIAorMiAxIGcgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAgCiszIDEgZGVzYyAwIDAKKzQgMyAjdGV4dCAwIDEgIEphdmEgRm9udCBkZWZpbml0aW9uOkhlbHZldGljYSAwCiszIDE1IGRlc2MgMCAwCiszIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMTUgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAgCisKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgdGV4dCAwIDAKKzMgMyAjdGV4dCAwIDEgdGhpcyBpcyB0ZXh0CisyIDE1IHRleHQgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKworMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgIAorCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIGcgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAgCiszIDEgZGVzYyAwIDAKKzQgMyAjdGV4dCAwIDEgIEphdmEgRm9udCBkZWZpbml0aW9uOkRpYWxvZyAwCiszIDE1IGRlc2MgMCAwCiszIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMTUgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgCisyIDEgZyAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgICAKKzMgMSBkZXNjIDAgMAorNCAzICN0ZXh0IDAgMSAgSmF2YSBGb250IGRlZmluaXRpb246SGVsdmV0aWNhIDcwMAorMyAxNSBkZXNjIDAgMAorMyAxNCAjdGV4dCAwIDEgIAorICAgCisyIDE1IGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKworMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgIAorCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHRleHQgMCAwCiszIDMgI3RleHQgMCAxIHNhZGZzYWRmc2FkCisyIDE1IHRleHQgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKworMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgIAorCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxICAKKworMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgIAorCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIGVsbGlwc2UgMSAwCisyIDE0ICN0ZXh0IDAgMSAKKworMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgIAorCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxICAKKworMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgIAorCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIGcgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAgCiszIDEgZGVzYyAwIDAKKzQgMyAjdGV4dCAwIDEgIEphdmEgRm9udCBkZWZpbml0aW9uOkRpYWxvZyA3MDAKKzMgMTUgZGVzYyAwIDAKKzMgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxNSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAKKzIgMSBnIDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgIAorMyAxIGRlc2MgMCAwCis0IDMgI3RleHQgMCAxICBKYXZhIEZvbnQgZGVmaW5pdGlvbjpEaWFsb2cgNzAwCiszIDE1IGRlc2MgMCAwCiszIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMTUgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorCisxIDE1IGcgMCAwCiswIDE1IHN2ZyAwIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3N2ZzIucmRyIGIvbGlieG1sMi9yZXN1bHQvc3ZnMi5yZHIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWVhYjE1MgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3N2ZzIucmRyCkBAIC0wLDAgKzEsMTc4IEBACiswIDEwIHN2ZyAwIDAKKzAgMSBzdmcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKworMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxICAKKworMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgIAorCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHBvbHlsaW5lIDEgMAorMiAxNCAjdGV4dCAwIDEgIAorCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAgCisKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgIAorCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAgCisKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcmVjdCAxIDAKKzIgMTQgI3RleHQgMCAxIAorCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAgCisKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgZWxsaXBzZSAxIDAKKzIgMTQgI3RleHQgMCAxIAorCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAgCisKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgcG9seWxpbmUgMSAwCisyIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMSBnIDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgIAorMyAxIGRlc2MgMCAwCis0IDMgI3RleHQgMCAxICBKYXZhIEZvbnQgZGVmaW5pdGlvbjpEaWFsb2cgMAorMyAxNSBkZXNjIDAgMAorMyAxNCAjdGV4dCAwIDEgIAorICAgCisyIDE1IGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgIAorMiAxIGcgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAgCiszIDEgZGVzYyAwIDAKKzQgMyAjdGV4dCAwIDEgIEphdmEgRm9udCBkZWZpbml0aW9uOkhlbHZldGljYSAwCiszIDE1IGRlc2MgMCAwCiszIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMTUgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAgCisKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgIAorICAgCisyIDEgdGV4dCAwIDAKKzMgMyAjdGV4dCAwIDEgdGhpcyBpcyB0ZXh0CisyIDE1IHRleHQgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKworMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgIAorCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIGcgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAgCiszIDEgZGVzYyAwIDAKKzQgMyAjdGV4dCAwIDEgIEphdmEgRm9udCBkZWZpbml0aW9uOkRpYWxvZyAwCiszIDE1IGRlc2MgMCAwCiszIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMTUgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgCisyIDEgZyAwIDAKKzMgMTQgI3RleHQgMCAxIAorICAgICAKKzMgMSBkZXNjIDAgMAorNCAzICN0ZXh0IDAgMSAgSmF2YSBGb250IGRlZmluaXRpb246SGVsdmV0aWNhIDcwMAorMyAxNSBkZXNjIDAgMAorMyAxNCAjdGV4dCAwIDEgIAorICAgCisyIDE1IGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKworMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgIAorCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIHRleHQgMCAwCiszIDMgI3RleHQgMCAxIHNhZGZzYWRmc2FkCisyIDE1IHRleHQgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKworMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgIAorCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxICAKKworMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgIAorCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIGVsbGlwc2UgMSAwCisyIDE0ICN0ZXh0IDAgMSAKKworMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgIAorCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxICAKKworMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgIAorCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxIGcgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKyAgICAgCiszIDEgZGVzYyAwIDAKKzQgMyAjdGV4dCAwIDEgIEphdmEgRm9udCBkZWZpbml0aW9uOkRpYWxvZyA3MDAKKzMgMTUgZGVzYyAwIDAKKzMgMTQgI3RleHQgMCAxICAKKyAgIAorMiAxNSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAKKzIgMSBnIDAgMAorMyAxNCAjdGV4dCAwIDEgCisgICAgIAorMyAxIGRlc2MgMCAwCis0IDMgI3RleHQgMCAxICBKYXZhIEZvbnQgZGVmaW5pdGlvbjpEaWFsb2cgNzAwCiszIDE1IGRlc2MgMCAwCiszIDE0ICN0ZXh0IDAgMSAgCisgICAKKzIgMTUgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorCisxIDE1IGcgMCAwCiswIDE1IHN2ZyAwIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3N2ZzIuc2F4IGIvbGlieG1sMi9yZXN1bHQvc3ZnMi5zYXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDEzNDU0NQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3N2ZzIuc2F4CkBAIC0wLDAgKzEsMTg5IEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5pbnRlcm5hbFN1YnNldChzdmcsIC0vL1czQy8vRFREIFNWRyBBcHJpbCAxOTk5Ly9FTiwgaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHL3N2Zy0xOTk5MDQxMi5kdGQpCitTQVguZXh0ZXJuYWxTdWJzZXQoc3ZnLCAtLy9XM0MvL0RURCBTVkcgQXByaWwgMTk5OS8vRU4sIGh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy9zdmctMTk5OTA0MTIuZHRkKQorU0FYLnN0YXJ0RWxlbWVudChzdmcsIHdpZHRoPScyNjhweCcsIGhlaWdodD0nMjA3cHgnKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdzdHJva2U6ICMwMDAwMDAnKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPScgTSAyOSAyOCAnKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nIEwgMTkgNzQgJykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycyggCissIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoIAorLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nc3Ryb2tlOiAjODAwMDQwJykKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQocG9seWxpbmUsIHZlcnRzPScgMzIsMTAwIDcyLDUwIDkwLDgyIDczLDE2IDEyMCw2NCAxNTIsOSAxNzcsMTA3JykKK1NBWC5lbmRFbGVtZW50KHBvbHlsaW5lKQorU0FYLmNoYXJhY3RlcnMoIAorLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKCAKKywgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J3N0cm9rZTogIzAwMDAwMCcpCitTQVguY2hhcmFjdGVycyggCissIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoIAorLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nc3Ryb2tlOiAjMDAwMGZmJykKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQocmVjdCwgeD0nMzAnLCB5PScxMDEnLCB3aWR0aD0nNTEnLCBoZWlnaHQ9JzMzJykKK1NBWC5lbmRFbGVtZW50KHJlY3QpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycyggCissIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjMDAwMGZmJykKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoZWxsaXBzZSwgY3g9JzE4MicsIGN5PScxMjcnLCBtYWpvcj0nMzcnLCBtaW5vcj0nMzEnLCBhbmdsZT0nOTAnKQorU0FYLmVuZEVsZW1lbnQoZWxsaXBzZSkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKCAKKywgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICNmZjAwMDAnKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChwb2x5bGluZSwgdmVydHM9JyA3OCwxODAgNzYsMTUxIDEzMSwxNDkgMTM2LDE4MiAxMzUsMTgyIDEzNCwxODMgMTI3LDE4NSAxMTcsMTg2IDEwOSwxOTIgMTA0LDE5NCA5OCwxOTkgOTYsMjAwIDk1LDIwMSA5NCwyMDIgOTIsMjAyIDg1LDIwMiA3MCwyMDAgNTQsMTk5IDQ3LDE5OCA0NiwxOTcgNDUsMTk3IDM3LDE5NSAyNiwxOTMgMTcsMTg3IDksMTgxIDgsMTgxIDcsMTc2IDYsMTc1IDYsMTczIDYsMTcyIDYsMTcwIDgsMTY0IDgsMTYzIDgsMTYyIDksMTYyIDEwLDE2MiAxMSwxNjIgMTMsMTYyIDIwLDE2MiAyNiwxNjIgMjcsMTYyIDI4LDE2MiAzMCwxNjIgMzAsMTYzIDMxLDE2MyAzMiwxNjQgMzQsMTY2IDM1LDE2NiAzNiwxNjcgMzYsMTY4IDM3LDE2OSAzOCwxNjkgMzksMTY5IDQxLDE3MCA0MywxNzAgNDUsMTcwIDQ3LDE3MCA0OSwxNzAgNTAsMTY4IDUwLDE2MSA1MCwxNjAgNTAsMTU5IDQ3LDE2MiA3OCwxODAnKQorU0FYLmVuZEVsZW1lbnQocG9seWxpbmUpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAgICAgLCA2KQorU0FYLnN0YXJ0RWxlbWVudChkZXNjKQorU0FYLmNoYXJhY3RlcnMoIEphdmEgRm9udCBkZWZpbml0aW9uOkRpYWxvZyAwLCAzMCkKK1NBWC5lbmRFbGVtZW50KGRlc2MpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgICAsIDQpCitTQVguc3RhcnRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAgICAgLCA2KQorU0FYLnN0YXJ0RWxlbWVudChkZXNjKQorU0FYLmNoYXJhY3RlcnMoIEphdmEgRm9udCBkZWZpbml0aW9uOkhlbHZldGljLCAzMykKK1NBWC5lbmRFbGVtZW50KGRlc2MpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoIAorLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nc3Ryb2tlOiAjMDAwMDAwJykKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQodGV4dCwgeD0nMTg4JywgeT0nMzYnKQorU0FYLmNoYXJhY3RlcnModGhpcyBpcyB0ZXh0LCAxMikKK1NBWC5lbmRFbGVtZW50KHRleHQpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycyggCissIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdzdHJva2U6ICMwMDAwMDAnKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICwgNikKK1NBWC5zdGFydEVsZW1lbnQoZGVzYykKK1NBWC5jaGFyYWN0ZXJzKCBKYXZhIEZvbnQgZGVmaW5pdGlvbjpEaWFsb2cgMCwgMzApCitTQVguZW5kRWxlbWVudChkZXNjKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICAgLCA0KQorU0FYLnN0YXJ0RWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICwgNikKK1NBWC5zdGFydEVsZW1lbnQoZGVzYykKK1NBWC5jaGFyYWN0ZXJzKCBKYXZhIEZvbnQgZGVmaW5pdGlvbjpIZWx2ZXRpYywgMzUpCitTQVguZW5kRWxlbWVudChkZXNjKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKCAKKywgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J3N0cm9rZTogIzAwODA4MCcpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50KHRleHQsIHg9JzE3NicsIHk9Jzg1JykKK1NBWC5jaGFyYWN0ZXJzKHNhZGZzYWRmc2FkLCAxMSkKK1NBWC5lbmRFbGVtZW50KHRleHQpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycyggCissIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdzdHJva2U6ICMwMDAwMDAnKQorU0FYLmNoYXJhY3RlcnMoIAorLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKCAKKywgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICM4MDAwNDAnKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChlbGxpcHNlLCBjeD0nMjA4JywgY3k9JzE4MCcsIG1ham9yPSc0NScsIG1pbm9yPSczMScsIGFuZ2xlPScwJykKK1NBWC5lbmRFbGVtZW50KGVsbGlwc2UpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycyggCissIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdzdHJva2U6ICMwMDAwMDAnKQorU0FYLmNoYXJhY3RlcnMoIAorLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKCAKKywgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICNmZmZmZmYnKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICwgNikKK1NBWC5zdGFydEVsZW1lbnQoZGVzYykKK1NBWC5jaGFyYWN0ZXJzKCBKYXZhIEZvbnQgZGVmaW5pdGlvbjpEaWFsb2cgNywgMzIpCitTQVguZW5kRWxlbWVudChkZXNjKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICAgLCA0KQorU0FYLnN0YXJ0RWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICwgNikKK1NBWC5zdGFydEVsZW1lbnQoZGVzYykKK1NBWC5jaGFyYWN0ZXJzKCBKYXZhIEZvbnQgZGVmaW5pdGlvbjpEaWFsb2cgNywgMzIpCitTQVguZW5kRWxlbWVudChkZXNjKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5lbmRFbGVtZW50KHN2ZykKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zdmcyLnNheDIgYi9saWJ4bWwyL3Jlc3VsdC9zdmcyLnNheDIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWI3Mzk5MgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3N2ZzIuc2F4MgpAQCAtMCwwICsxLDE4OSBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguaW50ZXJuYWxTdWJzZXQoc3ZnLCAtLy9XM0MvL0RURCBTVkcgQXByaWwgMTk5OS8vRU4sIGh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy9zdmctMTk5OTA0MTIuZHRkKQorU0FYLmV4dGVybmFsU3Vic2V0KHN2ZywgLS8vVzNDLy9EVEQgU1ZHIEFwcmlsIDE5OTkvL0VOLCBodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvc3ZnLTE5OTkwNDEyLmR0ZCkKK1NBWC5zdGFydEVsZW1lbnROcyhzdmcsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIHdpZHRoPScyNjhwLi4uJywgNSwgaGVpZ2h0PScyMDdwLi4uJywgNSkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdzdHJvLi4uJywgMTUpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nIE0gMi4uLicsIDkpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nIEwgMS4uLicsIDkpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycyggCissIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycyggCissIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J3N0cm8uLi4nLCAxNSkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgdmVydHM9JyAzMiwuLi4nLCA0NikKK1NBWC5lbmRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycyggCissIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycyggCissIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J3N0cm8uLi4nLCAxNSkKK1NBWC5jaGFyYWN0ZXJzKCAKKywgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKCAKKywgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nc3Ryby4uLicsIDE1KQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKHJlY3QsIE5VTEwsIE5VTEwsIDAsIDQsIDAsIHg9JzMwIiAuLi4nLCAyLCB5PScxMDEiLi4uJywgMywgd2lkdGg9JzUxIiAuLi4nLCAyLCBoZWlnaHQ9JzMzIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyhyZWN0LCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycyggCissIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCAxMykKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhlbGxpcHNlLCBOVUxMLCBOVUxMLCAwLCA1LCAwLCBjeD0nMTgyIi4uLicsIDMsIGN5PScxMjciLi4uJywgMywgbWFqb3I9JzM3IiAuLi4nLCAyLCBtaW5vcj0nMzEiIC4uLicsIDIsIGFuZ2xlPSc5MCIvLi4uJywgMikKK1NBWC5lbmRFbGVtZW50TnMoZWxsaXBzZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoIAorLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgMTMpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMocG9seWxpbmUsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHZlcnRzPScgNzgsLi4uJywgNDQ1KQorU0FYLmVuZEVsZW1lbnROcyhwb2x5bGluZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICwgNikKK1NBWC5zdGFydEVsZW1lbnROcyhkZXNjLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoIEphdmEgRm9udCBkZWZpbml0aW9uOkRpYWxvZyAwLCAzMCkKK1NBWC5lbmRFbGVtZW50TnMoZGVzYywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgLCA0KQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycygKKyAgICAgLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKGRlc2MsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyggSmF2YSBGb250IGRlZmluaXRpb246SGVsdmV0aWMsIDMzKQorU0FYLmVuZEVsZW1lbnROcyhkZXNjLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycyggCissIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J3N0cm8uLi4nLCAxNSkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyh0ZXh0LCBOVUxMLCBOVUxMLCAwLCAyLCAwLCB4PScxODgiLi4uJywgMywgeT0nMzYiIC4uLicsIDIpCitTQVguY2hhcmFjdGVycyh0aGlzIGlzIHRleHQsIDEyKQorU0FYLmVuZEVsZW1lbnROcyh0ZXh0LCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycyggCissIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J3N0cm8uLi4nLCAxNSkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICwgNikKK1NBWC5zdGFydEVsZW1lbnROcyhkZXNjLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoIEphdmEgRm9udCBkZWZpbml0aW9uOkRpYWxvZyAwLCAzMCkKK1NBWC5lbmRFbGVtZW50TnMoZGVzYywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgLCA0KQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycygKKyAgICAgLCA2KQorU0FYLnN0YXJ0RWxlbWVudE5zKGRlc2MsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyggSmF2YSBGb250IGRlZmluaXRpb246SGVsdmV0aWMsIDM1KQorU0FYLmVuZEVsZW1lbnROcyhkZXNjLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoIAorICAgLCA1KQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycyggCissIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J3N0cm8uLi4nLCAxNSkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyh0ZXh0LCBOVUxMLCBOVUxMLCAwLCAyLCAwLCB4PScxNzYiLi4uJywgMywgeT0nODUiIC4uLicsIDIpCitTQVguY2hhcmFjdGVycyhzYWRmc2FkZnNhZCwgMTEpCitTQVguZW5kRWxlbWVudE5zKHRleHQsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKCAKKywgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nc3Ryby4uLicsIDE1KQorU0FYLmNoYXJhY3RlcnMoIAorLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoIAorLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgMTMpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoZWxsaXBzZSwgTlVMTCwgTlVMTCwgMCwgNSwgMCwgY3g9JzIwOCIuLi4nLCAzLCBjeT0nMTgwIi4uLicsIDMsIG1ham9yPSc0NSIgLi4uJywgMiwgbWlub3I9JzMxIiAuLi4nLCAyLCBhbmdsZT0nMCIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKGVsbGlwc2UsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKCAKKywgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nc3Ryby4uLicsIDE1KQorU0FYLmNoYXJhY3RlcnMoIAorLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoIAorLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgMTMpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAsIDYpCitTQVguc3RhcnRFbGVtZW50TnMoZGVzYywgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKCBKYXZhIEZvbnQgZGVmaW5pdGlvbjpEaWFsb2cgNywgMzIpCitTQVguZW5kRWxlbWVudE5zKGRlc2MsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycyggCisgICAsIDUpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICwgNCkKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICwgNikKK1NBWC5zdGFydEVsZW1lbnROcyhkZXNjLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoIEphdmEgRm9udCBkZWZpbml0aW9uOkRpYWxvZyA3LCAzMikKK1NBWC5lbmRFbGVtZW50TnMoZGVzYywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKCAKKyAgICwgNSkKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmVuZEVsZW1lbnROcyhzdmcsIE5VTEwsIE5VTEwpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvc3ZnMyBiL2xpYnhtbDIvcmVzdWx0L3N2ZzMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzQ5OTRiOAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3N2ZzMKQEAgLTAsMCArMSw3MjMgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPHN2Zz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZmZjsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjE3MiI+CisgIDxwYXRoIGQ9Ik03Ny42OTYgMjg0LjI4NUM3Ny42OTYgMjg0LjI4NSA3Ny43OTcgMjg2LjE3OSA3Ni45NzMgMjg2LjE2Qzc2LjE0OSAyODYuMTQxIDU5LjY5NSAyMzguMDY2IDM5LjE2NyAyNDAuMzA5QzM5LjE2NyAyNDAuMzA5IDU2Ljk1IDIzMi45NTYgNzcuNjk2IDI4NC4yODV6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmZmOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuMTcyIj4KKyAgPHBhdGggZD0iTTgxLjIyNiAyODEuMjYyQzgxLjIyNiAyODEuMjYyIDgwLjY3NyAyODMuMDc4IDc5LjkwOCAyODIuNzc5Qzc5LjE0IDI4Mi40ODEgODAuMDIzIDIzMS42NzUgNTkuOTU3IDIyNi44MDFDNTkuOTU3IDIyNi44MDEgNzkuMTggMjI1LjkzNyA4MS4yMjYgMjgxLjI2MnoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmZmY7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC4xNzIiPgorICA8cGF0aCBkPSJNMTA4LjcxNiAzMjMuNTlDMTA4LjcxNiAzMjMuNTkgMTEwLjM1MiAzMjQuNTUgMTA5Ljg4MiAzMjUuMjI3QzEwOS40MTEgMzI1LjkwNCA2MC4yMzcgMzEzLjEwMiA1MC43ODIgMzMxLjQ1OUM1MC43ODIgMzMxLjQ1OSA1NC40NjEgMzEyLjU3MiAxMDguNzE2IDMyMy41OXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmZmY7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC4xNzIiPgorICA8cGF0aCBkPSJNMTA1LjkwNyAzMzMuODAxQzEwNS45MDcgMzMzLjgwMSAxMDcuNzYzIDMzNC4xOTcgMTA3LjUyOSAzMzQuOTg4QzEwNy4yOTYgMzM1Ljc3OSA1Ni41OTMgMzM5LjEyMSA1My40MDMgMzU5LjUyMkM1My40MDMgMzU5LjUyMiA1MC45NDUgMzQwLjQzNyAxMDUuOTA3IDMzMy44MDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmZmOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuMTcyIj4KKyAgPHBhdGggZD0iTTEwMS42OTYgMzI4LjI3NkMxMDEuNjk2IDMyOC4yNzYgMTAzLjQ3NCAzMjguOTM5IDEwMy4xMjggMzI5LjY4N0MxMDIuNzgyIDMzMC40MzUgNTIuMTM0IDMyNi4zNDYgNDYuMDAyIDM0Ni4wNjRDNDYuMDAyIDM0Ni4wNjQgNDYuMzU0IDMyNi44MjUgMTAxLjY5NiAzMjguMjc2eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZmZjsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjE3MiI+CisgIDxwYXRoIGQ9Ik05MC45OTEgMzEwLjA3MkM5MC45OTEgMzEwLjA3MiA5Mi4yOTkgMzExLjQ0NiA5MS42NiAzMTEuOTY3QzkxLjAyMSAzMTIuNDg4IDQ3LjI3OCAyODYuNjM0IDMzLjEzMSAzMDEuNjc2QzMzLjEzMSAzMDEuNjc2IDQxLjg3MiAyODQuNTMzIDkwLjk5MSAzMTAuMDcyeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZmZjsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjE3MiI+CisgIDxwYXRoIGQ9Ik04My40NDYgMzE0LjI2M0M4My40NDYgMzE0LjI2MyA4NC45MDIgMzE1LjQ4IDg0LjMyNiAzMTYuMDcxQzgzLjc1IDMxNi42NjEgMzcuMzYyIDI5NS45MjIgMjUuMDA4IDMxMi40NjlDMjUuMDA4IDMxMi40NjkgMzEuNzUzIDI5NC40NDcgODMuNDQ2IDMxNC4yNjN6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmZmOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuMTcyIj4KKyAgPHBhdGggZD0iTTgwLjg0NiAzMTguMzM1QzgwLjg0NiAzMTguMzM1IDgyLjQ1NCAzMTkuMzQzIDgxLjk2NCAzMjAuMDA2QzgxLjQ3NCAzMjAuNjY5IDMyLjY5MiAzMDYuNDQ2IDIyLjcwOSAzMjQuNTIyQzIyLjcwOSAzMjQuNTIyIDI2LjkzNCAzMDUuNzQ5IDgwLjg0NiAzMTguMzM1eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZmZjsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjE3MiI+CisgIDxwYXRoIGQ9Ik05MS41OCAzMTguOTQ5QzkxLjU4IDMxOC45NDkgOTIuNzAyIDMyMC40OCA5Mi4wMDEgMzIwLjkxNUM5MS4zIDMyMS4zNSA1MS4yMzEgMjkwLjEwMiAzNS4yNzMgMzAzLjIwN0MzNS4yNzMgMzAzLjIwNyA0Ni4xMzggMjg3LjMyNiA5MS41OCAzMTguOTQ5eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZmZjsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjE3MiI+CisgIDxwYXRoIGQ9Ik03MS44IDI5MEM3MS44IDI5MCA3Mi40IDI5MS44IDcxLjYgMjkyQzcwLjggMjkyLjIgNDIuMiAyNTAuMiAyMi45OTkgMjU3LjhDMjIuOTk5IDI1Ny44IDM4LjIgMjQ2IDcxLjggMjkweiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZmZjsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjE3MiI+CisgIDxwYXRoIGQ9Ik03Mi40OTUgMjk2Ljk3OUM3Mi40OTUgMjk2Ljk3OSA3My40NyAyOTguNjA4IDcyLjczMSAyOTguOTc1QzcxLjk5MyAyOTkuMzQzIDM1LjAwOCAyNjQuNDk5IDE3Ljg5OSAyNzYuMDYxQzE3Ljg5OSAyNzYuMDYxIDMwLjE5NiAyNjEuMjYxIDcyLjQ5NSAyOTYuOTc5eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZmZjsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjE3MiI+CisgIDxwYXRoIGQ9Ik03Mi4zOCAzMDEuMzQ5QzcyLjM4IDMwMS4zNDkgNzMuNTAyIDMwMi44OCA3Mi44MDEgMzAzLjMxNUM3Mi4xIDMwMy43NDkgMzIuMDMxIDI3Mi41MDIgMTYuMDczIDI4NS42MDdDMTYuMDczIDI4NS42MDcgMjYuOTM4IDI2OS43MjYgNzIuMzggMzAxLjM0OXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmZmY7IHN0cm9rZTojMDAwMDAwIj4KKyAgPHBhdGggZD0iTTcwLjE3IDMwMy4wNjVDNzAuNjczIDMwOS4xMTMgNzEuNjYxIDMxNS42ODIgNzMuNCAzMTguODAxQzczLjQgMzE4LjgwMSA2OS44IDMzMS4yMDEgNzguNiAzNDQuNDAxQzc4LjYgMzQ0LjQwMSA3OC4yIDM1MS42MDEgNzkuOCAzNTQuODAxQzc5LjggMzU0LjgwMSA4My44IDM2My4yMDEgODguNiAzNjQuMDAxQzkyLjQ4NCAzNjQuNjQ4IDEwMS4yMDcgMzY3LjcxNyAxMTEuMDY4IDM2OS4xMjFDMTExLjA2OCAzNjkuMTIxIDEyOC4yIDM4My4yMDEgMTI1IDM5Ni4wMDFDMTI1IDM5Ni4wMDEgMTI0LjYgNDEyLjQwMSAxMjEgNDE0LjAwMUMxMjEgNDE0LjAwMSAxMzIuNiA0MDIuODAxIDEyMyA0MTkuNjAxTDExOC42IDQzOC40MDFDMTE4LjYgNDM4LjQwMSAxNDQuMiA0MTYuODAxIDEyOC42IDQzNS4yMDFMMTE4LjYgNDYxLjIwMUMxMTguNiA0NjEuMjAxIDEzOC4yIDQ0Mi44MDEgMTMxIDQ1MS4yMDFMMTI3LjggNDYwLjAwMUMxMjcuOCA0NjAuMDAxIDE3MSA0MzIuODAxIDE0MC4yIDQ2Mi40MDFDMTQwLjIgNDYyLjQwMSAxNDguMiA0NTguODAxIDE1Mi42IDQ2MS42MDFDMTUyLjYgNDYxLjYwMSAxNTkuNCA0NjAuNDAxIDE1OC42IDQ2Mi4wMDFDMTU4LjYgNDYyLjAwMSAxMzcuOCA0NzIuNDAxIDEzNC4yIDQ5MC44MDFDMTM0LjIgNDkwLjgwMSAxNDIuNiA0ODAuODAxIDEzOS40IDQ5MS42MDFMMTM5LjggNTAzLjIwMUMxMzkuOCA1MDMuMjAxIDE0My44IDQ4MS42MDEgMTQzLjQgNTE5LjIwMUMxNDMuNCA1MTkuMjAxIDE2Mi42IDUwMS4yMDEgMTUxIDUyMi4wMDFMMTUxIDUzOC44MDFDMTUxIDUzOC44MDEgMTY2LjIgNTIyLjQwMSAxNTkuOCA1MzUuMjAxQzE1OS44IDUzNS4yMDEgMTY5LjggNTI2LjQwMSAxNjUuOCA1NDEuNjAxQzE2NS44IDU0MS42MDEgMTY1IDU1Mi4wMDEgMTY5LjQgNTQwLjgwMUMxNjkuNCA1NDAuODAxIDE4NS40IDUxMC4yMDEgMTc5LjQgNTM2LjQwMUMxNzkuNCA1MzYuNDAxIDE3OC42IDU1NS42MDEgMTgzLjQgNTQwLjgwMUMxODMuNCA1NDAuODAxIDE4My44IDU1MS4yMDEgMTkzIDU1OC40MDFDMTkzIDU1OC40MDEgMTkxLjggNTA3LjYwMSAyMDQuNiA1NDMuNjAxTDIwOC42IDU2MC4wMDFDMjA4LjYgNTYwLjAwMSAyMTEuNCA1NTAuODAxIDIxMSA1NDUuNjAxQzIxMSA1NDUuNjAxIDIyNS44IDUyOS4yMDEgMjE5IDU1My42MDFDMjE5IDU1My42MDEgMjM0LjIgNTMwLjgwMSAyMzEgNTQ0LjAwMUMyMzEgNTQ0LjAwMSAyMjMuNCA1NjAuMDAxIDIyNSA1NjQuODAxQzIyNSA1NjQuODAxIDI0MS44IDUzMC4wMDEgMjQzIDUyOC40MDFDMjQzIDUyOC40MDEgMjQxIDU3MC44MDIgMjUxLjggNTM0LjgwMUMyNTEuOCA1MzQuODAxIDI1Ny40IDU0Ni44MDEgMjU0LjYgNTUxLjIwMUMyNTQuNiA1NTEuMjAxIDI2Mi42IDU0My4yMDEgMjYxLjggNTQwLjAwMUMyNjEuOCA1NDAuMDAxIDI2Ni40IDUzMS44MDEgMjY5LjIgNTQ1LjQwMUMyNjkuMiA1NDUuNDAxIDI3MSA1NTQuODAxIDI3Mi42IDU1MS42MDFDMjcyLjYgNTUxLjYwMSAyNzYuNiA1NzUuNjAyIDI3Ny44IDU1Mi44MDFDMjc3LjggNTUyLjgwMSAyNzkuNCA1MzkuMjAxIDI3Mi4yIDUyNy42MDFDMjcyLjIgNTI3LjYwMSAyNzMgNTI0LjQwMSAyNzAuMiA1MjAuNDAxQzI3MC4yIDUyMC40MDEgMjgzLjggNTQyLjAwMSAyNzYuNiA1MTMuMjAxQzI3Ni42IDUxMy4yMDEgMjg3LjgwMSA1MjEuMjAxIDI4OS4wMDEgNTIxLjIwMUMyODkuMDAxIDUyMS4yMDEgMjc1LjQgNDk4LjAwMSAyODQuMiA1MDIuODAxQzI4NC4yIDUwMi44MDEgMjc5IDQ5Mi40MDEgMjk3LjAwMSA1MDQuNDAxQzI5Ny4wMDEgNTA0LjQwMSAyODEgNDg4LjQwMSAyOTguNjAxIDQ5OC4wMDFDMjk4LjYwMSA0OTguMDAxIDMwNi42MDEgNTA0LjQwMSAyOTkuMDAxIDQ5NC40MDFDMjk5LjAwMSA0OTQuNDAxIDI4NC42IDQ3OC40MDEgMzA2LjYwMSA0OTYuNDAxQzMwNi42MDEgNDk2LjQwMSAzMTguMjAxIDUxMi44MDEgMzE5LjAwMSA1MTUuNjAxQzMxOS4wMDEgNTE1LjYwMSAzMDkuMDAxIDQ4Ni40MDEgMzA0LjYwMSA0ODMuNjAxQzMwNC42MDEgNDgzLjYwMSAzMTMuMDAxIDQ0Ny4yMDEgMzU0LjIwMSA0NjIuODAxQzM1NC4yMDEgNDYyLjgwMSAzNjEuMDAxIDQ4MC4wMDEgMzY1LjQwMSA0NjEuNjAxQzM2NS40MDEgNDYxLjYwMSAzNzguMjAxIDQ1NS4yMDEgMzg5LjQwMSA0ODIuODAxQzM4OS40MDEgNDgyLjgwMSAzOTMuNDAxIDQ2OS4yMDEgMzkyLjYwMSA0NjYuNDAxQzM5Mi42MDEgNDY2LjQwMSAzOTkuNDAxIDQ2Ny42MDEgMzk4LjYwMSA0NjYuNDAxQzM5OC42MDEgNDY2LjQwMSA0MTEuODAxIDQ3MC44MDEgNDEzLjAwMSA0NzAuMDAxQzQxMy4wMDEgNDcwLjAwMSA0MTkuODAxIDQ3Ni44MDEgNDIwLjIwMSA0NzMuMjAxQzQyMC4yMDEgNDczLjIwMSA0MjkuNDAxIDQ3Ni4wMDEgNDI3LjQwMSA0NzIuNDAxQzQyNy40MDEgNDcyLjQwMSA0MzYuMjAxIDQ4OC4wMDEgNDM2LjYwMSA0OTEuNjAxTDQzOS4wMDEgNDc3LjYwMUw0NDEuMDAxIDQ4MC40MDFDNDQxLjAwMSA0ODAuNDAxIDQ0Mi42MDEgNDcyLjgwMSA0NDEuODAxIDQ3MS42MDFDNDQxLjAwMSA0NzAuNDAxIDQ2MS44MDEgNDc4LjQwMSA0NjYuNjAxIDQ5OS4yMDFMNDY4LjYwMSA1MDcuNjAxQzQ2OC42MDEgNTA3LjYwMSA0NzQuNjAxIDQ5Mi44MDEgNDczLjAwMSA0ODguODAxQzQ3My4wMDEgNDg4LjgwMSA0NzguMjAxIDQ4OS42MDEgNDc4LjYwMSA0OTQuMDAxQzQ3OC42MDEgNDk0LjAwMSA0ODIuNjAxIDQ3MC44MDEgNDc3LjgwMSA0NjQuODAxQzQ3Ny44MDEgNDY0LjgwMSA0ODIuMjAxIDQ2NC4wMDEgNDgzLjQwMSA0NjcuNjAxTDQ4My40MDEgNDYwLjQwMUM0ODMuNDAxIDQ2MC40MDEgNDkwLjYwMSA0NjEuMjAxIDQ5MC42MDEgNDU4LjgwMUM0OTAuNjAxIDQ1OC44MDEgNDk1LjAwMSA0NTQuODAxIDQ5Ny4wMDEgNDU5LjYwMUM0OTcuMDAxIDQ1OS42MDEgNDg0LjYwMSA0MjQuNDAxIDUwMy4wMDEgNDQzLjYwMUM1MDMuMDAxIDQ0My42MDEgNTEwLjIwMSA0NTQuNDAxIDUwNi42MDEgNDM1LjYwMUM1MDMuMDAxIDQxNi44MDEgNDk5LjAwMSA0MTUuMjAxIDUwMy44MDEgNDE0LjgwMUM1MDMuODAxIDQxNC44MDEgNTA0LjYwMSA0MTEuMjAxIDUwMi42MDEgNDA5LjYwMUM1MDAuNjAxIDQwOC4wMDEgNTAzLjgwMSA0MDkuNjAxIDUwMy44MDEgNDA5LjYwMUM1MDMuODAxIDQwOS42MDEgNTA4LjYwMSA0MTMuNjAxIDUwMy40MDEgMzkxLjYwMUM1MDMuNDAxIDM5MS42MDEgNTA5LjgwMSAzOTMuMjAxIDQ5Ny44MDEgMzY0LjAwMUM0OTcuODAxIDM2NC4wMDEgNTAwLjYwMSAzNjEuNjAxIDQ5Ni42MDEgMzUzLjIwMUM0OTYuNjAxIDM1My4yMDEgNTA0LjYwMSAzNTcuNjAxIDUwNy40MDEgMzU2LjAwMUM1MDcuNDAxIDM1Ni4wMDEgNTA3LjAwMSAzNTQuNDAxIDUwMy44MDEgMzUwLjQwMUM1MDMuODAxIDM1MC40MDEgNDgyLjIwMSAyOTUuNiA1MDIuNjAxIDMxNy42MDFDNTAyLjYwMSAzMTcuNjAxIDUxNC40NTEgMzMxLjE1MSA1MDguMDUxIDMwOC4zNTFDNTA4LjA1MSAzMDguMzUxIDQ5OC45NCAyODQuMzQxIDQ5OS43MTcgMjgwLjA0NUw3MC4xNyAzMDMuMDY1eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2NjNzIyNjsgc3Ryb2tlOiMwMDAwMDAiPgorICA8cGF0aCBkPSJNNDk5LjcxNyAyODAuMjQ1QzUwMC4zNDUgMjgwLjQyNiA1MDIuNTUxIDI4MS41NSA1MDMuODAxIDI4My4yQzUwMy44MDEgMjgzLjIgNTEwLjYwMSAyOTQgNTA1LjQwMSAyNzUuNkM1MDUuNDAxIDI3NS42IDQ5Ni4yMDEgMjQ2LjggNTA1LjAwMSAyNThDNTA1LjAwMSAyNTggNTExLjAwMSAyNjUuMiA1MDcuODAxIDI1MS42QzUwMy45MzYgMjM1LjE3MyA1MDEuNDAxIDIyOC44IDUwMS40MDEgMjI4LjhDNTAxLjQwMSAyMjguOCA1MTMuMDAxIDIzMy42IDQ4Ni4yMDEgMTk0TDQ5NS4wMDEgMTk3LjZDNDk1LjAwMSAxOTcuNiA0NzUuNDAxIDE1OCA0NTMuODAxIDE1Mi44TDQ0NS44MDEgMTQ2LjhDNDQ1LjgwMSAxNDYuOCA0ODQuMjAxIDEwOC44IDQ3MS40MDEgNzJDNDcxLjQwMSA3MiA0NjQuNjAxIDY2LjggNDU1LjAwMSA3NkM0NTUuMDAxIDc2IDQ0OC42MDEgODAuOCA0NDIuNjAxIDc5LjJDNDQyLjYwMSA3OS4yIDQxMS44MDEgODAuNCA0MDkuODAxIDgwLjRDNDA3LjgwMSA4MC40IDM3My4wMDEgNDMuMiAzMDcuNDAxIDYwLjhDMzA3LjQwMSA2MC44IDMwMi4yMDEgNjIuOCAyOTcuODAxIDYxLjZDMjk3LjgwMSA2MS42IDI3OS40IDQ1LjYgMjMwLjYgNjguNEMyMzAuNiA2OC40IDIyMC42IDcwLjQgMjE5IDcwLjRDMjE3LjQgNzAuNCAyMTQuNiA3MC40IDIwNi42IDc2LjhDMTk4LjYgODMuMiAxOTguMiA4NCAxOTYuMiA4NS42QzE5Ni4yIDg1LjYgMTc5LjggOTYuOCAxNzUgOTcuNkMxNzUgOTcuNiAxNjMuNCAxMDQgMTU5IDExNEwxNTUuNCAxMTUuMkMxNTUuNCAxMTUuMiAxNTMuOCAxMjIuNCAxNTMuNCAxMjMuNkMxNTMuNCAxMjMuNiAxNDguNiAxMjcuMiAxNDcuOCAxMzIuOEMxNDcuOCAxMzIuOCAxMzkgMTM4LjggMTM5LjQgMTQzLjJDMTM5LjQgMTQzLjIgMTM3LjggMTQ4LjQgMTM3IDE1My4yQzEzNyAxNTMuMiAxMjkuOCAxNTggMTMwLjYgMTYwLjhDMTMwLjYgMTYwLjggMTIzIDE3NC44IDEyNC4yIDE4MS42QzEyNC4yIDE4MS42IDExNy44IDE4MS4yIDExNSAxODMuNkMxMTUgMTgzLjYgMTE0LjIgMTg4LjQgMTEyLjYgMTg4LjhDMTEyLjYgMTg4LjggMTA5LjggMTkwIDExMi4yIDE5NEMxMTIuMiAxOTQgMTEwLjYgMTk2LjggMTEwLjIgMTk4LjRDMTEwLjIgMTk4LjQgMTExIDIwMS4yIDEwNi42IDIwNi44QzEwNi42IDIwNi44IDEwMC4yIDIyNS42IDEwMi4yIDIzMC44QzEwMi4yIDIzMC44IDEwMi42IDIzNS42IDk5LjggMjM3LjJDOTkuOCAyMzcuMiA5Ni4yIDIzNi44IDEwNC42IDI0OC44QzEwNC42IDI0OC44IDEwNS40IDI1MCAxMDIuMiAyNTIuNEMxMDIuMiAyNTIuNCA4NSAyNTYgODIuNiAyNzIuNEM4Mi42IDI3Mi40IDY5IDI4Ny4yIDY5IDI5Mi40QzY5IDI5NC43MDUgNjkuMjcxIDI5Ny44NTIgNjkuOTcgMzAyLjQ2NUM2OS45NyAzMDIuNDY1IDY5LjQgMzEwLjgwMSA5NyAzMTEuNjAxQzEyNC42IDMxMi40MDEgNDk5LjcxNyAyODAuMjQ1IDQ5OS43MTcgMjgwLjI0NXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNjYzcyMjYiPgorICA8cGF0aCBkPSJNODQuNCAzMDIuNkM1OS40IDI2My4yIDczLjggMzE5LjYwMSA3My44IDMxOS42MDFDODIuNiAzNTQuMDAxIDIxMi4yIDMxNi40MDEgMjEyLjIgMzE2LjQwMUMyMTIuMiAzMTYuNDAxIDM4MS4wMDEgMjg2IDM5Mi4yMDEgMjgyQzQwMy40MDEgMjc4IDQ5OC42MDEgMjg0LjQgNDk4LjYwMSAyODQuNEw0OTMuMDAxIDI2Ny42QzQyOC4yMDEgMjIxLjIgNDA5LjAwMSAyNDQuNCAzOTUuNDAxIDI0MC40QzM4MS44MDEgMjM2LjQgMzg0LjIwMSAyNDYgMzgxLjAwMSAyNDYuOEMzNzcuODAxIDI0Ny42IDMzOC42MDEgMjIyLjggMzMyLjIwMSAyMjMuNkMzMjUuODAxIDIyNC40IDMwMC40NTkgMjAwLjY0OSAzMTUuNDAxIDIzMi40QzMzMS40MDEgMjY2LjQgMjU3IDI3MS42IDI0MC4yIDI2MC40QzIyMy40IDI0OS4yIDI0Ny40IDI3OC44IDI0Ny40IDI3OC44QzI2NS44IDI5OC44IDIzMS40IDI4MiAyMzEuNCAyODJDMTk3IDI2OS4yIDE3MyAyOTQuOCAxNjkuOCAyOTUuNkMxNjYuNiAyOTYuNCAxNjEuOCAyOTkuNiAxNjEgMjkzLjJDMTYwLjIgMjg2LjggMTUyLjY5IDI3MC4wOTkgMTIxIDI5Ni40QzEwMSAzMTMuMDAxIDg3LjIgMjkxIDg3LjIgMjkxTDg0LjQgMzAyLjZ6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZTg3ZjNhIj4KKyAgPHBhdGggZD0iTTMzMy41MSAyMjUuMzQ2QzMyNy4xMSAyMjYuMTQ2IDMwMS43NDMgMjAyLjQwNyAzMTYuNzEgMjM0LjE0NkMzMzMuMzEgMjY5LjM0NiAyNTguMzEgMjczLjM0NiAyNDEuNTEgMjYyLjE0NkMyMjQuNzA5IDI1MC45NDYgMjQ4LjcxIDI4MC41NDYgMjQ4LjcxIDI4MC41NDZDMjY3LjExIDMwMC41NDYgMjMyLjcwOSAyODMuNzQ2IDIzMi43MDkgMjgzLjc0NkMxOTguMzA5IDI3MC45NDYgMTc0LjMwOSAyOTYuNTQ2IDE3MS4xMDkgMjk3LjM0NkMxNjcuOTA5IDI5OC4xNDYgMTYzLjEwOSAzMDEuMzQ2IDE2Mi4zMDkgMjk0Ljk0NkMxNjEuNTA5IDI4OC41NDYgMTU0LjEzIDI3Mi4wMTIgMTIyLjMwOSAyOTguMTQ2QzEwMS4wNzMgMzE1LjQ5MiA4Ny41ODIgMjk0LjAzNyA4Ny41ODIgMjk0LjAzN0w4NC4zODIgMzA0LjE0NkM1OS4zODIgMjY0LjM0NiA3NC40NTQgMzIyLjY1NSA3NC40NTQgMzIyLjY1NUM4My4yNTUgMzU3LjA1NiAyMTMuNTA5IDMxOC4xNDYgMjEzLjUwOSAzMTguMTQ2QzIxMy41MDkgMzE4LjE0NiAzODIuMzEgMjg3Ljc0NiAzOTMuNTEgMjgzLjc0NkM0MDQuNzEgMjc5Ljc0NiA0OTkuMDM4IDI4Ni4wNzMgNDk5LjAzOCAyODYuMDczTDQ5My41MSAyNjguNzY0QzQyOC43MSAyMjIuMzY0IDQxMC4zMSAyNDYuMTQ2IDM5Ni43MSAyNDIuMTQ2QzM4My4xMSAyMzguMTQ2IDM4NS41MSAyNDcuNzQ2IDM4Mi4zMSAyNDguNTQ2QzM3OS4xMSAyNDkuMzQ2IDMzOS45MSAyMjQuNTQ2IDMzMy41MSAyMjUuMzQ2eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2VhOGM0ZCI+CisgIDxwYXRoIGQ9Ik0zMzQuODE5IDIyNy4wOTFDMzI4LjQxOSAyMjcuODkxIDMwMy42ODUgMjAzLjg2MiAzMTguMDE5IDIzNS44OTFDMzM0LjIxOSAyNzIuMDkyIDI1OS42MTkgMjc1LjA5MiAyNDIuODE5IDI2My44OTJDMjI2LjAxOSAyNTIuNjkyIDI1MC4wMTkgMjgyLjI5MiAyNTAuMDE5IDI4Mi4yOTJDMjY4LjQxOSAzMDIuMjkyIDIzNC4wMTkgMjg1LjQ5MiAyMzQuMDE5IDI4NS40OTJDMTk5LjYxOSAyNzIuNjkyIDE3NS42MTggMjk4LjI5MiAxNzIuNDE4IDI5OS4wOTJDMTY5LjIxOCAyOTkuODkyIDE2NC40MTggMzAzLjA5MiAxNjMuNjE4IDI5Ni42OTJDMTYyLjgxOCAyOTAuMjkyIDE1NS41NyAyNzMuOTI1IDEyMy42MTggMjk5Ljg5MkMxMDEuMTQ1IDMxNy45ODMgODcuOTY0IDI5Ny4wNzQgODcuOTY0IDI5Ny4wNzRMODQuMzY0IDMwNS42OTJDNjAuNTY0IDI2Ni42OTIgNzUuMTA5IDMyNS43MSA3NS4xMDkgMzI1LjcxQzgzLjkwOSAzNjAuMTEgMjE0LjgxOSAzMTkuODkyIDIxNC44MTkgMzE5Ljg5MkMyMTQuODE5IDMxOS44OTIgMzgzLjYxOSAyODkuNDkyIDM5NC44MTkgMjg1LjQ5MkM0MDYuMDE5IDI4MS40OTIgNDk5LjQ3NCAyODcuNzQ2IDQ5OS40NzQgMjg3Ljc0Nkw0OTQuMDIgMjY5LjkyOEM0MjkuMjE5IDIyMy41MjggNDExLjYxOSAyNDcuODkxIDM5OC4wMTkgMjQzLjg5MUMzODQuNDE5IDIzOS44OTEgMzg2LjgxOSAyNDkuNDkxIDM4My42MTkgMjUwLjI5MkMzODAuNDE5IDI1MS4wOTIgMzQxLjIxOSAyMjYuMjkxIDMzNC44MTkgMjI3LjA5MXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNlYzk5NjEiPgorICA8cGF0aCBkPSJNMzM2LjEyOCAyMjguODM3QzMyOS43MjggMjI5LjYzNyAzMDQuOTk5IDIwNS42MDUgMzE5LjMyOCAyMzcuNjM3QzMzNi4xMjggMjc1LjE5MyAyNjAuMzk0IDI3Ni40ODIgMjQ0LjEyOCAyNjUuNjM3QzIyNy4zMjggMjU0LjQzNyAyNTEuMzI4IDI4NC4wMzcgMjUxLjMyOCAyODQuMDM3QzI2OS43MjggMzA0LjAzNyAyMzUuMzI4IDI4Ny4yMzcgMjM1LjMyOCAyODcuMjM3QzIwMC45MjggMjc0LjQzNyAxNzYuOTI4IDMwMC4wMzcgMTczLjcyOCAzMDAuODM3QzE3MC41MjggMzAxLjYzNyAxNjUuNzI4IDMwNC44MzcgMTY0LjkyOCAyOTguNDM3QzE2NC4xMjggMjkyLjAzNyAxNTcuMDExIDI3NS44MzkgMTI0LjkyNyAzMDEuNjM3QzEwMS4yMTggMzIwLjQ3NCA4OC4zNDUgMzAwLjExIDg4LjM0NSAzMDAuMTFMODQuMzQ1IDMwNy4yMzdDNjIuNTQ1IDI3MC40MzcgNzUuNzY0IDMyOC43NjUgNzUuNzY0IDMyOC43NjVDODQuNTY0IDM2My4xNjUgMjE2LjEyOCAzMjEuNjM3IDIxNi4xMjggMzIxLjYzN0MyMTYuMTI4IDMyMS42MzcgMzg0LjkyOCAyOTEuMjM3IDM5Ni4xMjkgMjg3LjIzN0M0MDcuMzI5IDI4My4yMzcgNDk5LjkxMSAyODkuNDE5IDQ5OS45MTEgMjg5LjQxOUw0OTQuNTI5IDI3MS4wOTJDNDI5LjcyOSAyMjQuNjkxIDQxMi45MjkgMjQ5LjYzNyAzOTkuMzI5IDI0NS42MzdDMzg1LjcyOCAyNDEuNjM3IDM4OC4xMjggMjUxLjIzNyAzODQuOTI4IDI1Mi4wMzdDMzgxLjcyOCAyNTIuODM3IDM0Mi41MjggMjI4LjAzNyAzMzYuMTI4IDIyOC44Mzd6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZWVhNTc1Ij4KKyAgPHBhdGggZD0iTTMzNy40MzggMjMwLjU4M0MzMzEuMDM3IDIzMS4zODMgMzA2LjgxNCAyMDcuMTI5IDMyMC42MzcgMjM5LjM4M0MzMzcuNDM4IDI3OC41ODMgMjYyLjIzNyAyNzguNTgzIDI0NS40MzcgMjY3LjM4M0MyMjguNjM3IDI1Ni4xODMgMjUyLjYzNyAyODUuNzgzIDI1Mi42MzcgMjg1Ljc4M0MyNzEuMDM3IDMwNS43ODMgMjM2LjYzNyAyODguOTgzIDIzNi42MzcgMjg4Ljk4M0MyMDIuMjM3IDI3Ni4xODMgMTc4LjIzNyAzMDEuNzgzIDE3NS4wMzcgMzAyLjU4M0MxNzEuODM3IDMwMy4zODMgMTY3LjAzNyAzMDYuNTgzIDE2Ni4yMzcgMzAwLjE4M0MxNjUuNDM3IDI5My43ODMgMTU4LjQ1MiAyNzcuNzUyIDEyNi4yMzcgMzAzLjM4M0MxMDEuMjkxIDMyMi45NjUgODguNzI3IDMwMy4xNDYgODguNzI3IDMwMy4xNDZMODQuMzI3IDMwOC43ODNDNjQuNTI3IDI3My45ODIgNzYuNDE4IDMzMS44MTkgNzYuNDE4IDMzMS44MTlDODUuMjE4IDM2Ni4yMiAyMTcuNDM3IDMyMy4zODMgMjE3LjQzNyAzMjMuMzgzQzIxNy40MzcgMzIzLjM4MyAzODYuMjM4IDI5Mi45ODMgMzk3LjQzOCAyODguOTgzQzQwOC42MzggMjg0Ljk4MyA1MDAuMzQ3IDI5MS4wOTIgNTAwLjM0NyAyOTEuMDkyTDQ5NS4wMzggMjcyLjI1NUM0MzAuMjM4IDIyNS44NTUgNDE0LjIzOCAyNTEuMzgzIDQwMC42MzggMjQ3LjM4M0MzODcuMDM4IDI0My4zODMgMzg5LjQzOCAyNTIuOTgzIDM4Ni4yMzggMjUzLjc4M0MzODMuMDM4IDI1NC41ODMgMzQzLjgzOCAyMjkuNzgzIDMzNy40MzggMjMwLjU4M3oiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmMWIyODgiPgorICA8cGF0aCBkPSJNMzM4Ljc0NyAyMzIuMzI4QzMzMi4zNDcgMjMzLjEyOCAzMDYuMzgzIDIwOS42NzcgMzIxLjk0NyAyNDEuMTI4QzM0MS4xNDcgMjc5LjkyOCAyNjMuNTQ2IDI4MC4zMjggMjQ2Ljc0NiAyNjkuMTI4QzIyOS45NDYgMjU3LjkyOCAyNTMuOTQ2IDI4Ny41MjggMjUzLjk0NiAyODcuNTI4QzI3Mi4zNDYgMzA3LjUyOCAyMzcuOTQ2IDI5MC43MjggMjM3Ljk0NiAyOTAuNzI4QzIwMy41NDYgMjc3LjkyOCAxNzkuNTQ2IDMwMy41MjggMTc2LjM0NiAzMDQuMzI4QzE3My4xNDYgMzA1LjEyOCAxNjguMzQ2IDMwOC4zMjggMTY3LjU0NiAzMDEuOTI4QzE2Ni43NDYgMjk1LjUyOCAxNTkuODkyIDI3OS42NjUgMTI3LjU0NiAzMDUuMTI4QzEwMS4zNjQgMzI1LjQ1NiA4OS4xMDkgMzA2LjE4MyA4OS4xMDkgMzA2LjE4M0w4NC4zMDkgMzEwLjMyOEM2Ni4zMDkgMjc3LjEyOCA3Ny4wNzMgMzM0Ljg3NCA3Ny4wNzMgMzM0Ljg3NEM4NS44NzMgMzY5LjI3NCAyMTguNzQ2IDMyNS4xMjggMjE4Ljc0NiAzMjUuMTI4QzIxOC43NDYgMzI1LjEyOCAzODcuNTQ3IDI5NC43MjggMzk4Ljc0NyAyOTAuNzI4QzQwOS45NDcgMjg2LjcyOCA1MDAuNzgzIDI5Mi43NjQgNTAwLjc4MyAyOTIuNzY0TDQ5NS41NDcgMjczLjQxOUM0MzAuNzQ3IDIyNy4wMTkgNDE1LjU0NyAyNTMuMTI4IDQwMS45NDcgMjQ5LjEyOEMzODguMzQ3IDI0NS4xMjggMzkwLjc0NyAyNTQuNzI4IDM4Ny41NDcgMjU1LjUyOEMzODQuMzQ3IDI1Ni4zMjggMzQ1LjE0NyAyMzEuNTI4IDMzOC43NDcgMjMyLjMyOHoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmM2JmOWMiPgorICA8cGF0aCBkPSJNMzQwLjA1NiAyMzQuMDczQzMzMy42NTUgMjM0Ljg3MyAzMDcuMzEzIDIxMS42MTMgMzIzLjI1NSAyNDIuODczQzM0My42NTYgMjgyLjg3NCAyNjQuODU1IDI4Mi4wNzQgMjQ4LjA1NSAyNzAuODc0QzIzMS4yNTUgMjU5LjY3NCAyNTUuMjU1IDI4OS4yNzQgMjU1LjI1NSAyODkuMjc0QzI3My42NTUgMzA5LjI3NCAyMzkuMjU1IDI5Mi40NzQgMjM5LjI1NSAyOTIuNDc0QzIwNC44NTUgMjc5LjY3NCAxODAuODU1IDMwNS4yNzQgMTc3LjY1NSAzMDYuMDc0QzE3NC40NTUgMzA2Ljg3NCAxNjkuNjU1IDMxMC4wNzQgMTY4Ljg1NSAzMDMuNjc0QzE2OC4wNTUgMjk3LjI3NCAxNjEuMzMyIDI4MS41NzggMTI4Ljg1NSAzMDYuODc0QzEwMS40MzYgMzI3Ljk0NyA4OS40OTEgMzA5LjIxOSA4OS40OTEgMzA5LjIxOUw4NC4yOTEgMzExLjg3NEM2OC4yOTEgMjgxLjY3NCA3Ny43MjcgMzM3LjkyOSA3Ny43MjcgMzM3LjkyOUM4Ni41MjcgMzcyLjMyOSAyMjAuMDU1IDMyNi44NzQgMjIwLjA1NSAzMjYuODc0QzIyMC4wNTUgMzI2Ljg3NCAzODguODU2IDI5Ni40NzQgNDAwLjA1NiAyOTIuNDc0QzQxMS4yNTYgMjg4LjQ3NCA1MDEuMjIgMjk0LjQzNyA1MDEuMjIgMjk0LjQzN0w0OTYuMDU2IDI3NC41ODNDNDMxLjI1NiAyMjguMTgzIDQxNi44NTYgMjU0Ljg3NCA0MDMuMjU2IDI1MC44NzRDMzg5LjY1NiAyNDYuODczIDM5Mi4wNTYgMjU2LjQ3NCAzODguODU2IDI1Ny4yNzRDMzg1LjY1NiAyNTguMDc0IDM0Ni40NTYgMjMzLjI3MyAzNDAuMDU2IDIzNC4wNzN6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZjVjY2IwIj4KKyAgPHBhdGggZD0iTTM0MS4zNjUgMjM1LjgxOUMzMzQuOTY1IDIzNi42MTkgMzA3LjUyMyAyMTMuOTQ0IDMyNC41NjUgMjQ0LjYxOUMzNDYuNTY1IDI4NC4yMTkgMjY2LjE2NCAyODMuODE5IDI0OS4zNjQgMjcyLjYxOUMyMzIuNTY0IDI2MS40MTkgMjU2LjU2NCAyOTEuMDE5IDI1Ni41NjQgMjkxLjAxOUMyNzQuOTY0IDMxMS4wMTkgMjQwLjU2NCAyOTQuMjE5IDI0MC41NjQgMjk0LjIxOUMyMDYuMTY0IDI4MS40MTkgMTgyLjE2NCAzMDcuMDE5IDE3OC45NjQgMzA3LjgxOUMxNzUuNzY0IDMwOC42MTkgMTcwLjk2NCAzMTEuODE5IDE3MC4xNjQgMzA1LjQxOUMxNjkuMzY0IDI5OS4wMTkgMTYyLjc3MyAyODMuNDkyIDEzMC4xNjQgMzA4LjYxOUMxMDEuNTA5IDMzMC40MzggODkuODczIDMxMi4yNTYgODkuODczIDMxMi4yNTZMODQuMjczIDMxMy40MTlDNjkuODcyIDI4NS4wMTkgNzguMzgyIDM0MC45ODMgNzguMzgyIDM0MC45ODNDODcuMTgyIDM3NS4zODQgMjIxLjM2NCAzMjguNjE5IDIyMS4zNjQgMzI4LjYxOUMyMjEuMzY0IDMyOC42MTkgMzkwLjE2NSAyOTguMjE5IDQwMS4zNjUgMjk0LjIxOUM0MTIuNTY1IDI5MC4yMTkgNTAxLjY1NiAyOTYuMTEgNTAxLjY1NiAyOTYuMTFMNDk2LjU2NSAyNzUuNzQ2QzQzMS43NjUgMjI5LjM0NiA0MTguMTY1IDI1Ni42MTkgNDA0LjU2NSAyNTIuNjE5QzM5MC45NjUgMjQ4LjYxOSAzOTMuMzY1IDI1OC4yMTkgMzkwLjE2NSAyNTkuMDE5QzM4Ni45NjUgMjU5LjgxOSAzNDcuNzY1IDIzNS4wMTkgMzQxLjM2NSAyMzUuODE5eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2Y4ZDhjNCI+CisgIDxwYXRoIGQ9Ik0zNDIuNjc0IDIzNy41NjVDMzM2LjI3NCAyMzguMzY1IDMwOC44MzIgMjE1LjY4OSAzMjUuODc0IDI0Ni4zNjVDMzQ3Ljg3NCAyODUuOTY1IDI2Ny40NzQgMjg1LjU2NSAyNTAuNjc0IDI3NC4zNjVDMjMzLjg3NCAyNjMuMTY1IDI1Ny44NzQgMjkyLjc2NSAyNTcuODc0IDI5Mi43NjVDMjc2LjI3NCAzMTIuNzY1IDI0MS44NzQgMjk1Ljk2NSAyNDEuODc0IDI5NS45NjVDMjA3LjQ3MyAyODMuMTY1IDE4My40NzMgMzA4Ljc2NSAxODAuMjczIDMwOS41NjVDMTc3LjA3MyAzMTAuMzY1IDE3Mi4yNzMgMzEzLjU2NSAxNzEuNDczIDMwNy4xNjVDMTcwLjY3MyAzMDAuNzY1IDE2NC4yMTQgMjg1LjQwNSAxMzEuNDczIDMxMC4zNjVDMTAxLjU4MiAzMzIuOTI5IDkwLjI1NSAzMTUuMjkzIDkwLjI1NSAzMTUuMjkzTDg0LjI1NSAzMTQuOTY1QzcwLjY1NCAyODguNTY0IDc5LjAzNyAzNDQuMDM4IDc5LjAzNyAzNDQuMDM4Qzg3LjgzNyAzNzguNDM4IDIyMi42NzMgMzMwLjM2NSAyMjIuNjczIDMzMC4zNjVDMjIyLjY3MyAzMzAuMzY1IDM5MS40NzQgMjk5Ljk2NSA0MDIuNjc0IDI5NS45NjVDNDEzLjg3NCAyOTEuOTY1IDUwMi4wOTMgMjk3Ljc4MyA1MDIuMDkzIDI5Ny43ODNMNDk3LjA3NSAyNzYuOTFDNDMyLjI3NCAyMzAuNTEgNDE5LjQ3NCAyNTguMzY1IDQwNS44NzQgMjU0LjM2NUMzOTIuMjc0IDI1MC4zNjUgMzk0LjY3NCAyNTkuOTY1IDM5MS40NzQgMjYwLjc2NUMzODguMjc0IDI2MS41NjUgMzQ5LjA3NCAyMzYuNzY1IDM0Mi42NzQgMjM3LjU2NXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmYWU1ZDciPgorICA8cGF0aCBkPSJNMzQzLjk4MyAyMzkuMzFDMzM3LjU4MyAyNDAuMTEgMzEwLjUyOSAyMTcuMjIzIDMyNy4xODMgMjQ4LjExQzM0OS4xODMgMjg4LjkxIDI2OC43ODMgMjg3LjMxIDI1MS45ODMgMjc2LjExQzIzNS4xODMgMjY0LjkxIDI1OS4xODMgMjk0LjUxIDI1OS4xODMgMjk0LjUxQzI3Ny41ODMgMzE0LjUxIDI0My4xODMgMjk3LjcxIDI0My4xODMgMjk3LjcxQzIwOC43ODMgMjg0LjkxIDE4NC43ODMgMzEwLjUxIDE4MS41ODMgMzExLjMxQzE3OC4zODIgMzEyLjExIDE3My41ODIgMzE1LjMxIDE3Mi43ODIgMzA4LjkxQzE3MS45ODIgMzAyLjUxIDE2NS42NTQgMjg3LjMxOCAxMzIuNzgyIDMxMi4xMUMxMDEuNjU1IDMzNS40MiA5MC42MzcgMzE4LjMyOSA5MC42MzcgMzE4LjMyOUw4NC4yMzYgMzE2LjUxQzcxLjIzNiAyOTIuNTEgNzkuNjkxIDM0Ny4wOTMgNzkuNjkxIDM0Ny4wOTNDODguNDkxIDM4MS40OTMgMjIzLjk4MyAzMzIuMTEgMjIzLjk4MyAzMzIuMTFDMjIzLjk4MyAzMzIuMTEgMzkyLjc4MyAzMDEuNzEgNDAzLjk4MyAyOTcuNzFDNDE1LjE4MyAyOTMuNzEgNTAyLjUyOSAyOTkuNDU2IDUwMi41MjkgMjk5LjQ1Nkw0OTcuNTgzIDI3OC4wNzRDNDMyLjc4MyAyMzEuNjczIDQyMC43ODMgMjYwLjExIDQwNy4xODMgMjU2LjExQzM5My41ODMgMjUyLjExIDM5NS45ODMgMjYxLjcxIDM5Mi43ODMgMjYyLjUxQzM4OS41ODMgMjYzLjMxIDM1MC4zODMgMjM4LjUxIDM0My45ODMgMjM5LjMxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZjZjJlYiI+CisgIDxwYXRoIGQ9Ik0zNDUuMjkyIDI0MS4wNTVDMzM4Ljg5MiAyNDEuODU1IDMxMi45MTcgMjE4LjQxMSAzMjguNDkyIDI0OS44NTVDMzQ5LjY5MiAyOTIuNjU2IDI3MC4wOTIgMjg5LjA1NiAyNTMuMjkyIDI3Ny44NTZDMjM2LjQ5MiAyNjYuNjU2IDI2MC40OTIgMjk2LjI1NiAyNjAuNDkyIDI5Ni4yNTZDMjc4Ljg5MiAzMTYuMjU2IDI0NC40OTIgMjk5LjQ1NiAyNDQuNDkyIDI5OS40NTZDMjEwLjA5MiAyODYuNjU2IDE4Ni4wOTIgMzEyLjI1NiAxODIuODkyIDMxMy4wNTZDMTc5LjY5MiAzMTMuODU2IDE3NC44OTIgMzE3LjA1NiAxNzQuMDkyIDMxMC42NTZDMTczLjI5MiAzMDQuMjU2IDE2Ny4wOTUgMjg5LjIzMiAxMzQuMDkyIDMxMy44NTZDMTAxLjcyNyAzMzcuOTExIDkxLjAxOCAzMjEuMzY1IDkxLjAxOCAzMjEuMzY1TDg0LjIxOCAzMTguMDU2QzcxLjQxOCAyOTQuODU2IDgwLjM0NiAzNTAuMTQ3IDgwLjM0NiAzNTAuMTQ3Qzg5LjE0NiAzODQuNTQ3IDIyNS4yOTIgMzMzLjg1NiAyMjUuMjkyIDMzMy44NTZDMjI1LjI5MiAzMzMuODU2IDM5NC4wOTMgMzAzLjQ1NiA0MDUuMjkzIDI5OS40NTZDNDE2LjQ5MyAyOTUuNDU2IDUwMi45NjUgMzAxLjEyOCA1MDIuOTY1IDMwMS4xMjhMNDk4LjA5MyAyNzkuMjM3QzQzMy4yOTIgMjMyLjgzNyA0MjIuMDkzIDI2MS44NTYgNDA4LjQ5MyAyNTcuODU2QzM5NC44OTMgMjUzLjg1NSAzOTcuMjkzIDI2My40NTYgMzk0LjA5MyAyNjQuMjU2QzM5MC44OTIgMjY1LjA1NiAzNTEuNjkyIDI0MC4yNTUgMzQ1LjI5MiAyNDEuMDU1eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZmZiI+CisgIDxwYXRoIGQ9Ik04NC4yIDMxOS42MDFDNzEuNCAyOTcuNiA4MSAzNTMuMjAxIDgxIDM1My4yMDFDODkuOCAzODcuNjAxIDIyNi42IDMzNS42MDEgMjI2LjYgMzM1LjYwMUMyMjYuNiAzMzUuNjAxIDM5NS40MDEgMzA1LjIgNDA2LjYwMSAzMDEuMkM0MTcuODAxIDI5Ny4yIDUwMy40MDEgMzAyLjggNTAzLjQwMSAzMDIuOEw0OTguNjAxIDI4MC40QzQzMy44MDEgMjM0IDQyMy40MDEgMjYzLjYgNDA5LjgwMSAyNTkuNkMzOTYuMjAxIDI1NS42IDM5OC42MDEgMjY1LjIgMzk1LjQwMSAyNjZDMzkyLjIwMSAyNjYuOCAzNTMuMDAxIDI0MiAzNDYuNjAxIDI0Mi44QzM0MC4yMDEgMjQzLjYgMzE0Ljk4MSAyMTkuNzkzIDMyOS44MDEgMjUxLjZDMzUyLjAyOCAyOTkuMzA3IDI2OS4wNDEgMjg5LjIyNyAyNTQuNiAyNzkuNkMyMzcuOCAyNjguNCAyNjEuOCAyOTggMjYxLjggMjk4QzI4MC4yIDMxOC4wMDEgMjQ1LjggMzAxLjIgMjQ1LjggMzAxLjJDMjExLjQgMjg4LjQgMTg3LjQgMzE0LjAwMSAxODQuMiAzMTQuODAxQzE4MSAzMTUuNjAxIDE3Ni4yIDMxOC44MDEgMTc1LjQgMzEyLjQwMUMxNzQuNiAzMDYgMTY4LjUzNSAyOTEuMTQ0IDEzNS40IDMxNS42MDFDMTAxLjggMzQwLjQwMSA5MS40IDMyNC40MDEgOTEuNCAzMjQuNDAxTDg0LjIgMzE5LjYwMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICMwMDAwMDAiPgorICA8cGF0aCBkPSJNMTI1LjggMzQ5LjYwMUMxMjUuOCAzNDkuNjAxIDExOC42IDM2MS4yMDEgMTM5LjQgMzc0LjQwMUMxMzkuNCAzNzQuNDAxIDE0MC44IDM3NS44MDEgMTIyLjggMzcxLjYwMUMxMjIuOCAzNzEuNjAxIDExNi42IDM2OS42MDEgMTE1IDM1OS4yMDFDMTE1IDM1OS4yMDEgMTEwLjIgMzU0LjgwMSAxMDUuNCAzNDkuMjAxQzEwMC42IDM0My42MDEgMTI1LjggMzQ5LjYwMSAxMjUuOCAzNDkuNjAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2NjY2NjYyI+CisgIDxwYXRoIGQ9Ik0yNjUuOCAzMDJDMjY1LjggMzAyIDI4My40OTggMzI4LjgyMSAyODIuOSAzMzMuNjAxQzI4MS42IDM0NC4wMDEgMjgxLjQgMzUzLjYwMSAyODQuNiAzNTcuNjAxQzI4Ny44MDEgMzYxLjYwMSAyOTYuNjAxIDM5NC44MDEgMjk2LjYwMSAzOTQuODAxQzI5Ni42MDEgMzk0LjgwMSAyOTYuMjAxIDM5Ni4wMDEgMzA4LjYwMSAzNTguMDAxQzMwOC42MDEgMzU4LjAwMSAzMjAuMjAxIDM0Mi4wMDEgMzAwLjIwMSAzMjMuNjAxQzMwMC4yMDEgMzIzLjYwMSAyNjUgMjk0LjggMjY1LjggMzAyeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0xNDUuOCAzNzYuNDAxQzE0NS44IDM3Ni40MDEgMTU3IDM4My42MDEgMTQyLjYgNDE0LjgwMUwxNDkgNDEyLjQwMUMxNDkgNDEyLjQwMSAxNDguMiA0MjMuNjAxIDE0NSA0MjYuMDAxTDE1Mi4yIDQyMi44MDFDMTUyLjIgNDIyLjgwMSAxNTcgNDMwLjgwMSAxNTMgNDM1LjYwMUMxNTMgNDM1LjYwMSAxNjkuOCA0NDMuNjAxIDE2OSA0NTAuMDAxQzE2OSA0NTAuMDAxIDE3NS40IDQ0Mi4wMDEgMTcxLjQgNDM1LjYwMUMxNjcuNCA0MjkuMjAxIDE2MC4yIDQzMy4yMDEgMTYxIDQxNC44MDFMMTUyLjIgNDE4LjAwMUMxNTIuMiA0MTguMDAxIDE1Ny44IDQwOS4yMDEgMTU3LjggNDAyLjgwMUwxNDkuOCA0MDUuMjAxQzE0OS44IDQwNS4yMDEgMTY1LjI2OSAzNzguNjIzIDE1NC42IDM3Ny4yMDFDMTQ4LjYgMzc2LjQwMSAxNDUuOCAzNzYuNDAxIDE0NS44IDM3Ni40MDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjY2NjY2NjIj4KKyAgPHBhdGggZD0iTTE3OC4yIDM5My4yMDFDMTc4LjIgMzkzLjIwMSAxODEgMzg4LjgwMSAxNzguMiAzODkuNjAxQzE3NS40IDM5MC40MDEgMTQ0LjIgNDA1LjIwMSAxMzguMiA0MTQuODAxQzEzOC4yIDQxNC44MDEgMTcyLjYgMzkwLjQwMSAxNzguMiAzOTMuMjAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2NjY2NjYyI+CisgIDxwYXRoIGQ9Ik0xODguNiA0MDEuMjAxQzE4OC42IDQwMS4yMDEgMTkxLjQgMzk2LjgwMSAxODguNiAzOTcuNjAxQzE4NS44IDM5OC40MDEgMTU0LjYgNDEzLjIwMSAxNDguNiA0MjIuODAxQzE0OC42IDQyMi44MDEgMTgzIDM5OC40MDEgMTg4LjYgNDAxLjIwMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNjY2NjY2MiPgorICA8cGF0aCBkPSJNMjAxLjggMzg2LjAwMUMyMDEuOCAzODYuMDAxIDIwNC42IDM4MS42MDEgMjAxLjggMzgyLjQwMUMxOTkgMzgzLjIwMSAxNjcuOCAzOTguMDAxIDE2MS44IDQwNy42MDFDMTYxLjggNDA3LjYwMSAxOTYuMiAzODMuMjAxIDIwMS44IDM4Ni4wMDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjY2NjY2NjIj4KKyAgPHBhdGggZD0iTTE3OC42IDQyOS42MDFDMTc4LjYgNDI5LjYwMSAxNzguNiA0MjMuNjAxIDE3NS44IDQyNC40MDFDMTczIDQyNS4yMDEgMTM3IDQ0Mi44MDEgMTMxIDQ1Mi40MDFDMTMxIDQ1Mi40MDEgMTczIDQyNi44MDEgMTc4LjYgNDI5LjYwMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNjY2NjY2MiPgorICA8cGF0aCBkPSJNMTc5LjggNDE4LjgwMUMxNzkuOCA0MTguODAxIDE4MSA0MTQuMDAxIDE3OC4yIDQxNC44MDFDMTc2LjIgNDE0LjgwMSAxNDkuOCA0MjYuNDAxIDE0My44IDQzNi4wMDFDMTQzLjggNDM2LjAwMSAxNzMuNCA0MTQuNDAxIDE3OS44IDQxOC44MDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjY2NjY2NjIj4KKyAgPHBhdGggZD0iTTE2NS40IDQ2Ni40MDFMMTU1LjQgNDc0LjAwMUMxNTUuNCA0NzQuMDAxIDE2NS44IDQ2Ni40MDEgMTY5LjQgNDY3LjYwMUMxNjkuNCA0NjcuNjAxIDE2Mi42IDQ3OC44MDEgMTYxLjggNDg0LjAwMUMxNjEuOCA0ODQuMDAxIDE3Mi4yIDQ3MS4yMDEgMTc3LjggNDcxLjYwMUMxNzcuOCA0NzEuNjAxIDE4NS40IDQ3Mi4wMDEgMTg1LjQgNDgyLjgwMUMxODUuNCA0ODIuODAxIDE5MSA0NzIuNDAxIDE5NC4yIDQ3Mi44MDFDMTk0LjIgNDcyLjgwMSAxOTUuNCA0NzkuMjAxIDE5NC4yIDQ4Ni4wMDFDMTk0LjIgNDg2LjAwMSAxOTguMiA0NzguNDAxIDIwMi4yIDQ4MC4wMDFDMjAyLjIgNDgwLjAwMSAyMDguNiA0NzguMDAxIDIwNy44IDQ4OS42MDFDMjA3LjggNDg5LjYwMSAyMDcuOCA1MDAuMDAxIDIwNyA1MDIuODAxQzIwNyA1MDIuODAxIDIxMi42IDQ3Ni40MDEgMjE1IDQ3Ni4wMDFDMjE1IDQ3Ni4wMDEgMjIzIDQ3NC44MDEgMjI3LjggNDgzLjYwMUMyMjcuOCA0ODMuNjAxIDIyMy44IDQ3Ni4wMDEgMjI4LjYgNDc4LjAwMUMyMjguNiA0NzguMDAxIDIzOS40IDQ3OS42MDEgMjQyLjYgNDg2LjQwMUMyNDIuNiA0ODYuNDAxIDIzNS44IDQ3NC40MDEgMjQxLjQgNDc3LjYwMUMyNDEuNCA0NzcuNjAxIDI0OC4yIDQ3Ny42MDEgMjQ5LjQgNDg0LjAwMUMyNDkuNCA0ODQuMDAxIDI1Ny44IDUwNS4yMDEgMjU5LjggNTA2LjgwMUMyNTkuOCA1MDYuODAxIDI1Mi4yIDQ4NS4yMDEgMjUzLjggNDg1LjIwMUMyNTMuOCA0ODUuMjAxIDI1MS44IDQ3My4yMDEgMjU3IDQ4OC4wMDFDMjU3IDQ4OC4wMDEgMjUzLjggNDc0LjAwMSAyNTkuNCA0NzQuODAxQzI2NSA0NzUuNjAxIDI2OS40IDQ4NS42MDEgMjc3LjggNDgzLjIwMUMyNzcuOCA0ODMuMjAxIDI4Ny40MDEgNDg4LjgwMSAyODkuNDAxIDQxOS42MDFMMTY1LjQgNDY2LjQwMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICMwMDAwMDAiPgorICA8cGF0aCBkPSJNMTcwLjIgMzczLjYwMUMxNzAuMiAzNzMuNjAxIDE4NSAzNjcuNjAxIDIyNSAzNzMuNjAxQzIyNSAzNzMuNjAxIDIzMi4yIDM3NC4wMDEgMjM5IDM2NS4yMDFDMjQ1LjggMzU2LjQwMSAyNzIuNiAzNDkuMjAxIDI3OSAzNTEuMjAxTDI4OC42MDEgMzU3LjYwMUwyODkuNDAxIDM1OC44MDFDMjg5LjQwMSAzNTguODAxIDMwMS44MDEgMzY5LjIwMSAzMDIuMjAxIDM3Ni44MDFDMzAyLjYwMSAzODQuNDAxIDI4Ny44MDEgNDMyLjQwMSAyNzguMiA0NDguNDAxQzI2OC42IDQ2NC40MDEgMjU5IDQ3Ni44MDEgMjM5LjggNDc0LjQwMUMyMzkuOCA0NzQuNDAxIDIxOSA0NzAuNDAxIDE5My40IDQ3NC40MDFDMTkzLjQgNDc0LjQwMSAxNjQuMiA0NzIuODAxIDE2MS40IDQ2NC44MDFDMTU4LjYgNDU2LjgwMSAxNzIuNiA0NDEuNjAxIDE3Mi42IDQ0MS42MDFDMTcyLjYgNDQxLjYwMSAxNzcgNDMzLjIwMSAxNzUuOCA0MTguODAxQzE3NC42IDQwNC40MDEgMTc1IDM3Ni40MDEgMTcwLjIgMzczLjYwMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNlNTY2OGMiPgorICA8cGF0aCBkPSJNMTkyLjIgMzc1LjYwMUMyMDAuNiAzOTQuMDAxIDE3MSA0NTkuMjAxIDE3MSA0NTkuMjAxQzE2OSA0NjAuODAxIDE4My42NiA0NjYuODQ2IDE5My44IDQ2NC40MDFDMjA0Ljc0NiA0NjEuNzYzIDI0NSA0NjYuMDAxIDI0NSA0NjYuMDAxQzI2OC42IDQ1MC40MDEgMjgxLjQgNDA2LjAwMSAyODEuNCA0MDYuMDAxQzI4MS40IDQwNi4wMDEgMjkxLjgwMSAzODIuMDAxIDI3NC4yIDM3OC44MDFDMjU2LjYgMzc1LjYwMSAxOTIuMiAzNzUuNjAxIDE5Mi4yIDM3NS42MDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjYjIzMjU5Ij4KKyAgPHBhdGggZD0iTTE5MC4xNjkgNDA2LjQ5N0MxOTMuNDk1IDM5My43MDcgMTk1LjA3OSAzODEuOTA2IDE5Mi4yIDM3NS42MDFDMTkyLjIgMzc1LjYwMSAyNTQuNiAzODIuMDAxIDI2NS44IDM2MS4yMDFDMjcwLjA0MSAzNTMuMzI2IDI4NC44MDEgMzg0LjAwMSAyODQuNCAzOTMuNjAxQzI4NC40IDM5My42MDEgMjIxLjQgNDA4LjAwMSAyMDYuNiAzOTYuODAxTDE5MC4xNjkgNDA2LjQ5N3oiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNhNTI2NGMiPgorICA8cGF0aCBkPSJNMTk0LjYgNDIyLjgwMUMxOTQuNiA0MjIuODAxIDE5Ni42IDQzMC4wMDEgMTk0LjIgNDM0LjAwMUMxOTQuMiA0MzQuMDAxIDE5Mi42IDQzNC44MDEgMTkxLjQgNDM1LjIwMUMxOTEuNCA0MzUuMjAxIDE5Mi42IDQzOC44MDEgMTk4LjYgNDQwLjQwMUMxOTguNiA0NDAuNDAxIDIwMC42IDQ0NC44MDEgMjAzIDQ0NS4yMDFDMjA1LjQgNDQ1LjYwMSAyMTAuMiA0NTEuMjAxIDIxNC4yIDQ1MC4wMDFDMjE4LjIgNDQ4LjgwMSAyMjkuNCA0NDQuODAxIDIyOS40IDQ0NC44MDFDMjI5LjQgNDQ0LjgwMSAyMzUgNDQxLjYwMSAyNDMuOCA0NDUuMjAxQzI0My44IDQ0NS4yMDEgMjQ2LjE3NSA0NDQuMzk5IDI0Ni42IDQ0MC40MDFDMjQ3LjEgNDM1LjcwMSAyNTAuMiA0MzIuMDAxIDI1Mi4yIDQzMC4wMDFDMjU0LjIgNDI4LjAwMSAyNjMuOCA0MTUuMjAxIDI2Mi42IDQxNC44MDFDMjYxLjQgNDE0LjQwMSAxOTQuNiA0MjIuODAxIDE5NC42IDQyMi44MDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmY3MjdmOyBzdHJva2U6IzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0xOTAuMiAzNzQuNDAxQzE5MC4yIDM3NC40MDEgMTg3LjQgMzk2LjgwMSAxOTAuNiA0MDUuMjAxQzE5My44IDQxMy42MDEgMTkzIDQxNS42MDEgMTkyLjIgNDE5LjYwMUMxOTEuNCA0MjMuNjAxIDE5NS44IDQzMy42MDEgMjAxLjQgNDM5LjYwMUwyMTMuNCA0NDEuMjAxQzIxMy40IDQ0MS4yMDEgMjI4LjYgNDM3LjYwMSAyMzcuOCA0NDAuNDAxQzIzNy44IDQ0MC40MDEgMjQ2Ljc5NCA0NDEuNzQ0IDI1MC4yIDQyNi44MDFDMjUwLjIgNDI2LjgwMSAyNTUgNDIwLjQwMSAyNjIuMiA0MTcuNjAxQzI2OS40IDQxNC44MDEgMjc2LjYgMzczLjIwMSAyNzIuNiAzNjUuMjAxQzI2OC42IDM1Ny4yMDEgMjU0LjIgMzUyLjgwMSAyMzguMiAzNjguNDAxQzIyMi4yIDM4NC4wMDEgMjIwLjIgMzY3LjIwMSAxOTAuMiAzNzQuNDAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZjYzsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjUiPgorICA8cGF0aCBkPSJNMTkxLjggNDQ5LjIwMUMxOTEuOCA0NDkuMjAxIDE5MSA0NDcuMjAxIDE4Ni42IDQ0Ni44MDFDMTg2LjYgNDQ2LjgwMSAxNjQuMiA0NDMuMjAxIDE1NS44IDQzMC44MDFDMTU1LjggNDMwLjgwMSAxNDkgNDI1LjIwMSAxNTMuNCA0MzYuODAxQzE1My40IDQzNi44MDEgMTYzLjggNDU3LjIwMSAxNzAuNiA0NjAuMDAxQzE3MC42IDQ2MC4wMDEgMTg3IDQ2NC4wMDEgMTkxLjggNDQ5LjIwMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNjYzNmNGMiPgorICA8cGF0aCBkPSJNMjcxLjc0MiAzODUuMjI5QzI3Mi40MDEgMzc3LjMyMyAyNzQuMzU0IDM2OC43MDkgMjcyLjYgMzY1LjIwMUMyNjYuMTU0IDM1Mi4zMDcgMjQ5LjE4MSAzNTcuNjk1IDIzOC4yIDM2OC40MDFDMjIyLjIgMzg0LjAwMSAyMjAuMiAzNjcuMjAxIDE5MC4yIDM3NC40MDFDMTkwLjIgMzc0LjQwMSAxODguNDU1IDM4OC4zNjQgMTg5LjI5NSAzOTguMzc2QzE4OS4yOTUgMzk4LjM3NiAyMjYuNiAzODYuODAxIDIyNy40IDM5Mi40MDFDMjI3LjQgMzkyLjQwMSAyMjkgMzg5LjIwMSAyMzguMiAzODkuMjAxQzI0Ny40IDM4OS4yMDEgMjcwLjE0MiAzODguMDI5IDI3MS43NDIgMzg1LjIyOXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9InN0cm9rZTojYTUxOTI2OyBzdHJva2Utd2lkdGg6MiI+CisgIDxwYXRoIGQ9Ik0yMjguNiAzNzUuMjAxQzIyOC42IDM3NS4yMDEgMjMzLjQgMzgwLjAwMSAyMjkuOCAzODkuNjAxQzIyOS44IDM4OS42MDEgMjE1LjQgNDA1LjYwMSAyMTcuNCA0MTkuNjAxIi8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmNjOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuNSI+CisgIDxwYXRoIGQ9Ik0xODAuNiA0NjAuMDAxQzE4MC42IDQ2MC4wMDEgMTc2LjIgNDQ3LjIwMSAxODUgNDU0LjAwMUMxODUgNDU0LjAwMSAxODkuOCA0NTYuMDAxIDE4OC42IDQ1Ny42MDFDMTg3LjQgNDU5LjIwMSAxODEuOCA0NjMuMjAxIDE4MC42IDQ2MC4wMDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmNjOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuNSI+CisgIDxwYXRoIGQ9Ik0xODUuNjQgNDYxLjIwMUMxODUuNjQgNDYxLjIwMSAxODIuMTIgNDUwLjk2MSAxODkuMTYgNDU2LjQwMUMxODkuMTYgNDU2LjQwMSAxOTMuNTgxIDQ1OC44NDkgMTkyLjA0IDQ1OS4yODFDMTg3LjQ4IDQ2MC41NjEgMTkyLjA0IDQ2My4xMjEgMTg1LjY0IDQ2MS4yMDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmNjOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuNSI+CisgIDxwYXRoIGQ9Ik0xOTAuNDQgNDYxLjIwMUMxOTAuNDQgNDYxLjIwMSAxODYuOTIgNDUwLjk2MSAxOTMuOTYgNDU2LjQwMUMxOTMuOTYgNDU2LjQwMSAxOTguMzM1IDQ1OC43MTEgMTk2Ljg0IDQ1OS4yODFDMTkzLjQ4IDQ2MC41NjEgMTk2Ljg0IDQ2My4xMjEgMTkwLjQ0IDQ2MS4yMDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmNjOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuNSI+CisgIDxwYXRoIGQ9Ik0xOTcuMDQgNDYxLjQwMUMxOTcuMDQgNDYxLjQwMSAxOTMuNTIgNDUxLjE2MSAyMDAuNTYgNDU2LjYwMUMyMDAuNTYgNDU2LjYwMSAyMDQuOTQzIDQ1OC45MzMgMjAzLjQ0MSA0NTkuNDgxQzIwMC40OCA0NjAuNTYxIDIwMy40NDEgNDYzLjMyMSAxOTcuMDQgNDYxLjQwMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmY2M7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC41Ij4KKyAgPHBhdGggZD0iTTIwMy41MiA0NjEuMzIxQzIwMy41MiA0NjEuMzIxIDIwMCA0NTEuMDgxIDIwNy4wNDEgNDU2LjUyMUMyMDcuMDQxIDQ1Ni41MjEgMjEwLjg4MSA0NTguMTIxIDIwOS45MjEgNDU5LjQwMUMyMDguOTYxIDQ2MC42ODEgMjA5LjkyMSA0NjMuMjQxIDIwMy41MiA0NjEuMzIxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZjYzsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjUiPgorICA8cGF0aCBkPSJNMjEwLjIgNDYyLjAwMUMyMTAuMiA0NjIuMDAxIDIwNS40IDQ0OS42MDEgMjE0LjYgNDU2LjAwMUMyMTQuNiA0NTYuMDAxIDIxOS40IDQ1OC4wMDEgMjE4LjIgNDU5LjYwMUMyMTcgNDYxLjIwMSAyMTguMiA0NjQuNDAxIDIxMC4yIDQ2Mi4wMDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJzdHJva2U6I2E1MjY0Yzsgc3Ryb2tlLXdpZHRoOjIiPgorICA8cGF0aCBkPSJNMTgxLjggNDQ0LjgwMUMxODEuOCA0NDQuODAxIDE5NSA0NDIuMDAxIDIwMSA0NDUuMjAxQzIwMSA0NDUuMjAxIDIwNyA0NDYuNDAxIDIwOC4yIDQ0Ni4wMDFDMjA5LjQgNDQ1LjYwMSAyMTIuNiA0NDUuMjAxIDIxMi42IDQ0NS4yMDEiLz4KKyA8L2c+CisgPGcgc3R5bGU9InN0cm9rZTojYTUyNjRjOyBzdHJva2Utd2lkdGg6MiI+CisgIDxwYXRoIGQ9Ik0yMTUuOCA0NTMuNjAxQzIxNS44IDQ1My42MDEgMjI3LjggNDQwLjAwMSAyMzkuOCA0NDQuNDAxQzI0Ni44MTYgNDQ2Ljk3NCAyNDUuOCA0NDMuNjAxIDI0Ni42IDQ0MC44MDFDMjQ3LjQgNDM4LjAwMSAyNDcuNiA0MzMuODAxIDI1Mi42IDQzMC44MDEiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmY2M7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC41Ij4KKyAgPHBhdGggZD0iTTIzMyA0MzcuNjAxQzIzMyA0MzcuNjAxIDIyOSA0MjYuODAxIDIyNi4yIDQzOS42MDFDMjIzLjQgNDUyLjQwMSAyMjAuMiA0NTYuMDAxIDIxOC42IDQ1OC44MDFDMjE4LjYgNDU4LjgwMSAyMTguNiA0NjQuMDAxIDIyNyA0NjMuNjAxQzIyNyA0NjMuNjAxIDIzNy44IDQ2My4yMDEgMjM4LjIgNDYwLjQwMUMyMzguNiA0NTcuNjAxIDIzNyA0NDYuMDAxIDIzMyA0MzcuNjAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0ic3Ryb2tlOiNhNTI2NGM7IHN0cm9rZS13aWR0aDoyIj4KKyAgPHBhdGggZD0iTTI0NyA0NDQuODAxQzI0NyA0NDQuODAxIDI1MC42IDQ0Mi40MDEgMjUzIDQ0My42MDEiLz4KKyA8L2c+CisgPGcgc3R5bGU9InN0cm9rZTojYTUyNjRjOyBzdHJva2Utd2lkdGg6MiI+CisgIDxwYXRoIGQ9Ik0yNTMuNSA0MjguNDAxQzI1My41IDQyOC40MDEgMjU2LjQgNDIzLjUwMSAyNjEuMiA0MjIuNzAxIi8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjYjJiMmIyIj4KKyAgPHBhdGggZD0iTTE3NC4yIDQ2NS4yMDFDMTc0LjIgNDY1LjIwMSAxOTIuMiA0NjguNDAxIDE5Ni42IDQ2Ni44MDFDMTk2LjYgNDY2LjgwMSAyMDUuNCA0NjYuODAxIDE5NyA0NjguODAxQzE5NyA0NjguODAxIDE4NC4yIDQ2OC44MDEgMTc2LjIgNDY3LjYwMUMxNzYuMiA0NjcuNjAxIDE2NC42IDQ2Mi4wMDEgMTc0LjIgNDY1LjIwMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmY2M7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC41Ij4KKyAgPHBhdGggZD0iTTE4OC4yIDM3Mi4wMDFDMTg4LjIgMzcyLjAwMSAyMDUuOCAzNzIuMDAxIDIwNy44IDM3Mi44MDFDMjA3LjggMzcyLjgwMSAyMTUgNDAzLjYwMSAyMTEuNCA0MTEuMjAxQzIxMS40IDQxMS4yMDEgMjEwLjIgNDE0LjAwMSAyMDcuNCA0MDguNDAxQzIwNy40IDQwOC40MDEgMTg5IDM3NS42MDEgMTg1LjggMzczLjYwMUMxODIuNiAzNzEuNjAxIDE4NyAzNzIuMDAxIDE4OC4yIDM3Mi4wMDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmNjOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuNSI+CisgIDxwYXRoIGQ9Ik0xMTEuMSAzNjkuMzAxQzExMS4xIDM2OS4zMDEgMTIwIDM3MS4wMDEgMTMyLjYgMzczLjYwMUMxMzIuNiAzNzMuNjAxIDEzNy40IDM5Ni4wMDEgMTQwLjYgNDAwLjgwMUMxNDMuOCA0MDUuNjAxIDE0MC4yIDQwNS42MDEgMTM2LjYgNDAyLjgwMUMxMzMgNDAwLjAwMSAxMTguMiAzODYuMDAxIDExNi4yIDM4MS42MDFDMTE0LjIgMzc3LjIwMSAxMTEuMSAzNjkuMzAxIDExMS4xIDM2OS4zMDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmNjOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuNSI+CisgIDxwYXRoIGQ9Ik0xMzIuOTYxIDM3My44MThDMTMyLjk2MSAzNzMuODE4IDEzOC43NjEgMzc1LjM2NiAxMzkuNzcgMzc3LjU4MUMxNDAuNzc4IDM3OS43OTUgMTM4LjU2OCAzODMuMDkyIDEzOC41NjggMzgzLjA5MkMxMzguNTY4IDM4My4wOTIgMTM3LjU2OCAzODYuMzk3IDEzNi4zNjYgMzg0LjIzNUMxMzUuMTY0IDM4Mi4wNzIgMTMyLjI5MiAzNzQuNDEyIDEzMi45NjEgMzczLjgxOHoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICMwMDAwMDAiPgorICA8cGF0aCBkPSJNMTMzIDM3My42MDFDMTMzIDM3My42MDEgMTM2LjYgMzc4LjgwMSAxNDAuMiAzNzguODAxQzE0My44IDM3OC44MDEgMTQ0LjE4MiAzNzguMzg4IDE0NyAzNzkuMDAxQzE1MS42IDM4MC4wMDEgMTUxLjIgMzc4LjAwMSAxNTcuOCAzNzkuMjAxQzE2MC40NCAzNzkuNjgxIDE2MyAzNzguODAxIDE2NS44IDM4MC4wMDFDMTY4LjYgMzgxLjIwMSAxNzEuOCAzODAuNDAxIDE3MyAzNzguNDAxQzE3NC4yIDM3Ni40MDEgMTc5IDM3Mi4yMDEgMTc5IDM3Mi4yMDFDMTc5IDM3Mi4yMDEgMTY2LjIgMzc0LjAwMSAxNjMuNCAzNzQuODAxQzE2My40IDM3NC44MDEgMTQxIDM3Ni4wMDEgMTMzIDM3My42MDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmNjOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuNSI+CisgIDxwYXRoIGQ9Ik0xNzcuNiAzNzMuODAxQzE3Ny42IDM3My44MDEgMTcxLjE1IDM3Ny4zMDEgMTcwLjc1IDM3OS43MDFDMTcwLjM1IDM4Mi4xMDEgMTc2IDM4NS44MDEgMTc2IDM4NS44MDFDMTc2IDM4NS44MDEgMTc4Ljc1IDM5MC40MDEgMTc5LjM1IDM4OC4wMDFDMTc5Ljk1IDM4NS42MDEgMTc4LjQgMzc0LjIwMSAxNzcuNiAzNzMuODAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZjYzsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjUiPgorICA8cGF0aCBkPSJNMTQwLjExNSAzNzkuMjY1QzE0MC4xMTUgMzc5LjI2NSAxNDcuMTIyIDM5MC40NTMgMTQ3LjMzOSAzNzkuMjQyQzE0Ny4zMzkgMzc5LjI0MiAxNDcuODk2IDM3Ny45ODQgMTQ2LjEzNiAzNzcuOTYyQzE0MC4wNjEgMzc3Ljg4NiAxNDEuNTgyIDM3My43ODQgMTQwLjExNSAzNzkuMjY1eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZjYzsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjUiPgorICA8cGF0aCBkPSJNMTQ3LjI5MyAzNzkuNTE0QzE0Ny4yOTMgMzc5LjUxNCAxNTUuMjE0IDM5MC43MDEgMTU0LjU3OCAzNzkuNDIxQzE1NC41NzggMzc5LjQyMSAxNTQuNTg1IDM3OS4wODkgMTUyLjgzMiAzNzguOTM2QzE0OC4wODUgMzc4LjUyMiAxNDguNDMgMzc0LjAwNCAxNDcuMjkzIDM3OS41MTR6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmNjOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuNSI+CisgIDxwYXRoIGQ9Ik0xNTQuNTA2IDM3OS41MjJDMTU0LjUwNiAzNzkuNTIyIDE2Mi40NjYgMzkwLjE1IDE2MS43OTcgMzgwLjQ4NEMxNjEuNzk3IDM4MC40ODQgMTYxLjkxNiAzNzkuMjUxIDE2MC4yNjIgMzc4Ljk1QzE1Ni4zNyAzNzguMjQ0IDE1Ni4xNTkgMzc0Ljk5NSAxNTQuNTA2IDM3OS41MjJ6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmNjOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuNSI+CisgIDxwYXRoIGQ9Ik0xNjEuMzgyIDM3OS42MDJDMTYxLjM4MiAzNzkuNjAyIDE2OS4yODIgMzkxLjE2MyAxNjkuNjMgMzgxLjM4MkMxNjkuNjMgMzgxLjM4MiAxNzEuMjc0IDM4MC4wMDQgMTY5LjUyOCAzNzkuNzgyQzE2My43MSAzNzkuMDQyIDE2NC41MDggMzc0LjU4OCAxNjEuMzgyIDM3OS42MDJ6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZTVlNWIyIj4KKyAgPHBhdGggZD0iTTEyNS4yMDggMzgzLjEzMkwxMTcuNTUgMzgxLjYwMUMxMTQuOTUgMzc2LjYwMSAxMTIuODUgMzcwLjQ1MSAxMTIuODUgMzcwLjQ1MUMxMTIuODUgMzcwLjQ1MSAxMTkuMiAzNzEuNDUxIDEzMS43IDM3NC4yNTFDMTMxLjcgMzc0LjI1MSAxMzIuNTc2IDM3Ny41NjkgMTM0LjA0OCAzODMuMzY0TDEyNS4yMDggMzgzLjEzMnoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNlNWU1YjIiPgorICA8cGF0aCBkPSJNMTkwLjI3NiAzNzguNDdDMTg4LjYxIDM3NS45NjQgMTg3LjI5MyAzNzQuMjA2IDE4Ni42NDMgMzczLjhDMTgzLjYzIDM3MS45MTcgMTg3Ljc3MyAzNzIuMjk0IDE4OC45MDIgMzcyLjI5NEMxODguOTAyIDM3Mi4yOTQgMjA1LjQ3MyAzNzIuMjk0IDIwNy4zNTYgMzczLjA0N0MyMDcuMzU2IDM3My4wNDcgMjA3Ljg4IDM3NS4yODkgMjA4LjU2NCAzNzguNjhDMjA4LjU2NCAzNzguNjggMTk4LjQ3NiAzNzYuNjcgMTkwLjI3NiAzNzguNDd6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjY2M3MjI2Ij4KKyAgPHBhdGggZD0iTTI0My44OCAyNDAuMzIxQzI3MS42MDEgMjQ0LjI4MSAyOTcuMTIxIDIwOC42NDEgMjk4Ljg4MSAxOTguOTZDMzAwLjY0MSAxODkuMjggMjkwLjUyMSAxNzcuNCAyOTAuNTIxIDE3Ny40QzI5MS44NDEgMTc0LjMyIDI4Ny4wMDEgMTYwLjI0IDI4MS43MjEgMTUxQzI3Ni40NDEgMTQxLjc2IDI2MC41NCAxNDIuNzM0IDI0MyAxNDEuNzZDMjI3LjE2IDE0MC44OCAyMDguNjggMTY0LjIgMjA3LjM2IDE2NS45NkMyMDYuMDQgMTY3LjcyIDIxMi4yIDIwNi4wMDEgMjEzLjUyIDIxMS43MjFDMjE0Ljg0IDIxNy40NDEgMjEyLjIgMjQzLjg0MSAyMTIuMiAyNDMuODQxQzI0Ni40NCAyMzQuNzQxIDIxNi4xNiAyMzYuMzYxIDI0My44OCAyNDAuMzIxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2VhOGU1MSI+CisgIDxwYXRoIGQ9Ik0yMDguMDg4IDE2Ni42MDhDMjA2Ljc5MiAxNjguMzM2IDIxMi44NCAyMDUuOTIxIDIxNC4xMzYgMjExLjUzN0MyMTUuNDMyIDIxNy4xNTMgMjEyLjg0IDI0My4wNzMgMjEyLjg0IDI0My4wNzNDMjQ1LjUxMiAyMzQuMTkzIDIxNi43MjggMjM1LjcyOSAyNDMuOTQ0IDIzOS42MTdDMjcxLjE2MSAyNDMuNTA1IDI5Ni4yMTcgMjA4LjUxMyAyOTcuOTQ1IDE5OS4wMDhDMjk5LjY3MyAxODkuNTA0IDI4OS43MzcgMTc3Ljg0IDI4OS43MzcgMTc3Ljg0QzI5MS4wMzMgMTc0LjgxNiAyODYuMjgxIDE2MC45OTIgMjgxLjA5NyAxNTEuOTJDMjc1LjkxMyAxNDIuODQ4IDI2MC4zMDIgMTQzLjgwNSAyNDMuMDggMTQyLjg0OEMyMjcuNTI4IDE0MS45ODQgMjA5LjM4NCAxNjQuODggMjA4LjA4OCAxNjYuNjA4eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2VmYWE3YyI+CisgIDxwYXRoIGQ9Ik0yMDguODE2IDE2Ny4yNTZDMjA3LjU0NCAxNjguOTUyIDIxMy40OCAyMDUuODQxIDIxNC43NTIgMjExLjM1M0MyMTYuMDI0IDIxNi44NjUgMjEzLjQ4IDI0Mi4zMDUgMjEzLjQ4IDI0Mi4zMDVDMjQ0Ljg4NCAyMzMuMTQ1IDIxNy4yOTYgMjM1LjA5NyAyNDQuMDA4IDIzOC45MTNDMjcwLjcyMSAyNDIuNzI5IDI5NS4zMTMgMjA4LjM4NSAyOTcuMDA5IDE5OS4wNTZDMjk4LjcwNSAxODkuNzI4IDI4OC45NTMgMTc4LjI4IDI4OC45NTMgMTc4LjI4QzI5MC4yMjUgMTc1LjMxMiAyODUuNTYxIDE2MS43NDQgMjgwLjQ3MyAxNTIuODRDMjc1LjM4NSAxNDMuOTM2IDI2MC4wNjMgMTQ0Ljg3NSAyNDMuMTYgMTQzLjkzNkMyMjcuODk2IDE0My4wODggMjEwLjA4OCAxNjUuNTYgMjA4LjgxNiAxNjcuMjU2eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2Y0YzZhOCI+CisgIDxwYXRoIGQ9Ik0yMDkuNTQ0IDE2Ny45MDRDMjA4LjI5NiAxNjkuNTY4IDIxNC4xMiAyMDUuNzYxIDIxNS4zNjggMjExLjE2OUMyMTYuNjE2IDIxNi41NzcgMjE0LjEyIDI0MS41MzcgMjE0LjEyIDI0MS41MzdDMjQzLjU1NiAyMzIuNDk3IDIxNy44NjQgMjM0LjQ2NSAyNDQuMDcyIDIzOC4yMDlDMjcwLjI4MSAyNDEuOTUzIDI5NC40MDkgMjA4LjI1NyAyOTYuMDczIDE5OS4xMDVDMjk3LjczNyAxODkuOTUyIDI4OC4xNjkgMTc4LjcyIDI4OC4xNjkgMTc4LjcyQzI4OS40MTcgMTc1LjgwOCAyODQuODQxIDE2Mi40OTYgMjc5Ljg0OSAxNTMuNzZDMjc0Ljg1NyAxNDUuMDI0IDI1OS44MjQgMTQ1Ljk0NSAyNDMuMjQgMTQ1LjAyNEMyMjguMjY0IDE0NC4xOTIgMjEwLjc5MiAxNjYuMjQgMjA5LjU0NCAxNjcuOTA0eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2Y5ZTJkMyI+CisgIDxwYXRoIGQ9Ik0yMTAuMjcyIDE2OC41NTJDMjA5LjA0OCAxNzAuMTg0IDIxNC43NiAyMDUuNjgxIDIxNS45ODQgMjEwLjk4NUMyMTcuMjA4IDIxNi4yODkgMjE0Ljc2IDI0MC43NjkgMjE0Ljc2IDI0MC43NjlDMjQyLjYyOCAyMzEuODQ5IDIxOC40MzIgMjMzLjgzMyAyNDQuMTM2IDIzNy41MDVDMjY5Ljg0MSAyNDEuMTc3IDI5My41MDUgMjA4LjEyOSAyOTUuMTM3IDE5OS4xNTJDMjk2Ljc2OSAxOTAuMTc2IDI4Ny4zODUgMTc5LjE2IDI4Ny4zODUgMTc5LjE2QzI4OC42MDkgMTc2LjMwNCAyODQuMTIxIDE2My4yNDggMjc5LjIyNSAxNTQuNjhDMjc0LjMyOSAxNDYuMTEyIDI1OS41ODUgMTQ3LjAxNSAyNDMuMzIgMTQ2LjExMkMyMjguNjMyIDE0NS4yOTYgMjExLjQ5NiAxNjYuOTIgMjEwLjI3MiAxNjguNTUyeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZmZiI+CisgIDxwYXRoIGQ9Ik0yNDQuMiAyMzYuOEMyNjkuNCAyNDAuNCAyOTIuNjAxIDIwOCAyOTQuMjAxIDE5OS4yQzI5NS44MDEgMTkwLjQgMjg2LjYwMSAxNzkuNiAyODYuNjAxIDE3OS42QzI4Ny44MDEgMTc2LjggMjgzLjQgMTY0IDI3OC42IDE1NS42QzI3My44IDE0Ny4yIDI1OS4zNDYgMTQ4LjA4NiAyNDMuNCAxNDcuMkMyMjkgMTQ2LjQgMjEyLjIgMTY3LjYgMjExIDE2OS4yQzIwOS44IDE3MC44IDIxNS40IDIwNS42IDIxNi42IDIxMC44QzIxNy44IDIxNiAyMTUuNCAyNDAgMjE1LjQgMjQwQzI0MC45IDIzMS40IDIxOSAyMzMuMiAyNDQuMiAyMzYuOHoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNjY2NjY2MiPgorICA8cGF0aCBkPSJNMjkwLjYwMSAyMDIuOEMyOTAuNjAxIDIwMi44IDI2Mi44IDIxMC40IDI1MS4yIDIwOC44QzI1MS4yIDIwOC44IDIzNS40IDIwMi4yIDIyNi42IDIyNEMyMjYuNiAyMjQgMjIzIDIzMS4yIDIyMSAyMzMuMkMyMTkgMjM1LjIgMjkwLjYwMSAyMDIuOCAyOTAuNjAxIDIwMi44eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0yOTQuNDAxIDIwMC42QzI5NC40MDEgMjAwLjYgMjY1LjQgMjEyLjggMjU1LjQgMjEyLjRDMjU1LjQgMjEyLjQgMjM5IDIwNy44IDIzMC42IDIyMi40QzIzMC42IDIyMi40IDIyMi4yIDIzMS42IDIxOSAyMzMuMkMyMTkgMjMzLjIgMjE4LjYgMjM0LjggMjI1IDIzMC44TDIzNS40IDIzNkMyMzUuNCAyMzYgMjUwLjIgMjQ1LjYgMjU5LjggMjI5LjZDMjU5LjggMjI5LjYgMjYzLjggMjE4LjQgMjYzLjggMjE2LjRDMjYzLjggMjE0LjQgMjg1IDIwOC44IDI4Ni42MDEgMjA4LjRDMjg4LjIwMSAyMDggMjk0LjgwMSAyMDMuOCAyOTQuNDAxIDIwMC42eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzk5Y2MzMiI+CisgIDxwYXRoIGQ9Ik0yNDcgMjM2LjUxNEMyNDAuMTI4IDIzNi41MTQgMjMxLjc1NSAyMzIuNjQ5IDIzMS43NTUgMjI2LjRDMjMxLjc1NSAyMjAuMTUyIDI0MC4xMjggMjEzLjg4NyAyNDcgMjEzLjg4N0MyNTMuODc0IDIxMy44ODcgMjU5LjQ0NiAyMTguOTUyIDI1OS40NDYgMjI1LjJDMjU5LjQ0NiAyMzEuNDQ5IDI1My44NzQgMjM2LjUxNCAyNDcgMjM2LjUxNHoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICM2NTk5MDAiPgorICA8cGF0aCBkPSJNMjQzLjM3NyAyMTkuODNDMjM4LjUzMSAyMjAuNTUyIDIzMy40NDIgMjIyLjA1NSAyMzMuNTE0IDIyMS44MzlDMjM1LjA1NCAyMTcuMjIgMjQxLjQxNSAyMTMuODg3IDI0NyAyMTMuODg3QzI1MS4yOTYgMjEzLjg4NyAyNTUuMDg0IDIxNS44NjUgMjU3LjMyIDIxOC44NzVDMjU3LjMyIDIxOC44NzUgMjUyLjAwNCAyMTguNTQ1IDI0My4zNzcgMjE5LjgzeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZmZiI+CisgIDxwYXRoIGQ9Ik0yNTUuNCAyMTkuNkMyNTUuNCAyMTkuNiAyNTEgMjE2LjQgMjUxIDIxOC42QzI1MSAyMTguNiAyNTQuNiAyMjMgMjU1LjQgMjE5LjZ6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjMDAwMDAwIj4KKyAgPHBhdGggZD0iTTI0NS40IDIyNy43MjZDMjQyLjkwMSAyMjcuNzI2IDI0MC44NzUgMjI1LjcgMjQwLjg3NSAyMjMuMkMyNDAuODc1IDIyMC43MDEgMjQyLjkwMSAyMTguNjc1IDI0NS40IDIxOC42NzVDMjQ3LjkgMjE4LjY3NSAyNDkuOTI2IDIyMC43MDEgMjQ5LjkyNiAyMjMuMkMyNDkuOTI2IDIyNS43IDI0Ny45IDIyNy43MjYgMjQ1LjQgMjI3LjcyNnoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNjYzcyMjYiPgorICA8cGF0aCBkPSJNMTQxLjQgMjE0LjRDMTQxLjQgMjE0LjQgMTM4LjIgMTkzLjIgMTQwLjYgMTg4LjhDMTQwLjYgMTg4LjggMTUxLjQgMTc4LjggMTUxIDE3NS4yQzE1MSAxNzUuMiAxNTAuNiAxNTcuMiAxNDkuNCAxNTYuNEMxNDguMiAxNTUuNiAxNDAuNiAxNDkuNiAxMzQuNiAxNTZDMTM0LjYgMTU2IDEyNC4yIDE3NCAxMjUgMTgwLjRMMTI1IDE4Mi40QzEyNSAxODIuNCAxMTcuNCAxODIgMTE1LjggMTg0QzExNS44IDE4NCAxMTQuNiAxODkuMiAxMTMuNCAxODkuNkMxMTMuNCAxODkuNiAxMTAuNiAxOTIgMTEyLjYgMTk0LjhDMTEyLjYgMTk0LjggMTEwLjYgMTk3LjIgMTExIDIwMS4yTDExOC42IDIwNS4yQzExOC42IDIwNS4yIDEyMC42IDIxOS42IDEzMS40IDIyNC44QzEzNi4yMzYgMjI3LjEyOSAxMzkuNCAyMjAuNCAxNDEuNCAyMTQuNHoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmZmYiPgorICA8cGF0aCBkPSJNMTQwLjQgMjEyLjU2QzE0MC40IDIxMi41NiAxMzcuNTIgMTkzLjQ4IDEzOS42OCAxODkuNTJDMTM5LjY4IDE4OS41MiAxNDkuNCAxODAuNTIgMTQ5LjA0IDE3Ny4yOEMxNDkuMDQgMTc3LjI4IDE0OC42OCAxNjEuMDggMTQ3LjYgMTYwLjM2QzE0Ni41MiAxNTkuNjQgMTM5LjY4IDE1NC4yNCAxMzQuMjggMTYwQzEzNC4yOCAxNjAgMTI0LjkyIDE3Ni4yIDEyNS42NCAxODEuOTZMMTI1LjY0IDE4My43NkMxMjUuNjQgMTgzLjc2IDExOC44IDE4My40IDExNy4zNiAxODUuMkMxMTcuMzYgMTg1LjIgMTE2LjI4IDE4OS44OCAxMTUuMiAxOTAuMjRDMTE1LjIgMTkwLjI0IDExMi42OCAxOTIuNCAxMTQuNDggMTk0LjkyQzExNC40OCAxOTQuOTIgMTEyLjY4IDE5Ny4wOCAxMTMuMDQgMjAwLjY4TDExOS44OCAyMDQuMjhDMTE5Ljg4IDIwNC4yOCAxMjEuNjggMjE3LjI0IDEzMS40IDIyMS45MkMxMzUuNzUyIDIyNC4wMTUgMTM4LjYgMjE3Ljk2IDE0MC40IDIxMi41NnoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNlYjk1NWMiPgorICA8cGF0aCBkPSJNMTQ4Ljk1IDE1Ny4zOUMxNDcuODYgMTU2LjUzIDE0MC4zNyAxNTAuNzYgMTM0LjUyIDE1N0MxMzQuNTIgMTU3IDEyNC4zOCAxNzQuNTUgMTI1LjE2IDE4MC43OUwxMjUuMTYgMTgyLjc0QzEyNS4xNiAxODIuNzQgMTE3Ljc1IDE4Mi4zNSAxMTYuMTkgMTg0LjNDMTE2LjE5IDE4NC4zIDExNS4wMiAxODkuMzcgMTEzLjg1IDE4OS43NkMxMTMuODUgMTg5Ljc2IDExMS4xMiAxOTIuMSAxMTMuMDcgMTk0LjgzQzExMy4wNyAxOTQuODMgMTExLjEyIDE5Ny4xNyAxMTEuNTEgMjAxLjA3TDExOC45MiAyMDQuOTdDMTE4LjkyIDIwNC45NyAxMjAuODcgMjE5LjAxIDEzMS40IDIyNC4wOEMxMzYuMTE0IDIyNi4zNSAxMzkuMiAyMTkuNzkgMTQxLjE1IDIxMy45NEMxNDEuMTUgMjEzLjk0IDEzOC4wMyAxOTMuMjcgMTQwLjM3IDE4OC45OEMxNDAuMzcgMTg4Ljk4IDE1MC45IDE3OS4yMyAxNTAuNTEgMTc1LjcyQzE1MC41MSAxNzUuNzIgMTUwLjEyIDE1OC4xNyAxNDguOTUgMTU3LjM5eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2YyYjg5MiI+CisgIDxwYXRoIGQ9Ik0xNDguNSAxNTguMzhDMTQ3LjUyIDE1Ny40NiAxNDAuMTQgMTUxLjkyIDEzNC40NCAxNThDMTM0LjQ0IDE1OCAxMjQuNTYgMTc1LjEgMTI1LjMyIDE4MS4xOEwxMjUuMzIgMTgzLjA4QzEyNS4zMiAxODMuMDggMTE4LjEgMTgyLjcgMTE2LjU4IDE4NC42QzExNi41OCAxODQuNiAxMTUuNDQgMTg5LjU0IDExNC4zIDE4OS45MkMxMTQuMyAxODkuOTIgMTExLjY0IDE5Mi4yIDExMy41NCAxOTQuODZDMTEzLjU0IDE5NC44NiAxMTEuNjQgMTk3LjE0IDExMi4wMiAyMDAuOTRMMTE5LjI0IDIwNC43NEMxMTkuMjQgMjA0Ljc0IDEyMS4xNCAyMTguNDIgMTMxLjQgMjIzLjM2QzEzNS45OTQgMjI1LjU3MiAxMzkgMjE5LjE4IDE0MC45IDIxMy40OEMxNDAuOSAyMTMuNDggMTM3Ljg2IDE5My4zNCAxNDAuMTQgMTg5LjE2QzE0MC4xNCAxODkuMTYgMTUwLjQgMTc5LjY2IDE1MC4wMiAxNzYuMjRDMTUwLjAyIDE3Ni4yNCAxNDkuNjQgMTU5LjE0IDE0OC41IDE1OC4zOHoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmOGRjYzgiPgorICA8cGF0aCBkPSJNMTQ4LjA1IDE1OS4zN0MxNDcuMTggMTU4LjM5IDEzOS45MSAxNTMuMDggMTM0LjM2IDE1OUMxMzQuMzYgMTU5IDEyNC43NCAxNzUuNjUgMTI1LjQ4IDE4MS41N0wxMjUuNDggMTgzLjQyQzEyNS40OCAxODMuNDIgMTE4LjQ1IDE4My4wNSAxMTYuOTcgMTg0LjlDMTE2Ljk3IDE4NC45IDExNS44NiAxODkuNzEgMTE0Ljc1IDE5MC4wOEMxMTQuNzUgMTkwLjA4IDExMi4xNiAxOTIuMyAxMTQuMDEgMTk0Ljg5QzExNC4wMSAxOTQuODkgMTEyLjE2IDE5Ny4xMSAxMTIuNTMgMjAwLjgxTDExOS41NiAyMDQuNTFDMTE5LjU2IDIwNC41MSAxMjEuNDEgMjE3LjgzIDEzMS40IDIyMi42NEMxMzUuODczIDIyNC43OTQgMTM4LjggMjE4LjU3IDE0MC42NSAyMTMuMDJDMTQwLjY1IDIxMy4wMiAxMzcuNjkgMTkzLjQxIDEzOS45MSAxODkuMzRDMTM5LjkxIDE4OS4zNCAxNDkuOSAxODAuMDkgMTQ5LjUzIDE3Ni43NkMxNDkuNTMgMTc2Ljc2IDE0OS4xNiAxNjAuMTEgMTQ4LjA1IDE1OS4zN3oiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmZmYiPgorICA8cGF0aCBkPSJNMTQwLjQgMjEyLjQ2QzE0MC40IDIxMi40NiAxMzcuNTIgMTkzLjQ4IDEzOS42OCAxODkuNTJDMTM5LjY4IDE4OS41MiAxNDkuNCAxODAuNTIgMTQ5LjA0IDE3Ny4yOEMxNDkuMDQgMTc3LjI4IDE0OC42OCAxNjEuMDggMTQ3LjYgMTYwLjM2QzE0Ni44NCAxNTkuMzIgMTM5LjY4IDE1NC4yNCAxMzQuMjggMTYwQzEzNC4yOCAxNjAgMTI0LjkyIDE3Ni4yIDEyNS42NCAxODEuOTZMMTI1LjY0IDE4My43NkMxMjUuNjQgMTgzLjc2IDExOC44IDE4My40IDExNy4zNiAxODUuMkMxMTcuMzYgMTg1LjIgMTE2LjI4IDE4OS44OCAxMTUuMiAxOTAuMjRDMTE1LjIgMTkwLjI0IDExMi42OCAxOTIuNCAxMTQuNDggMTk0LjkyQzExNC40OCAxOTQuOTIgMTEyLjY4IDE5Ny4wOCAxMTMuMDQgMjAwLjY4TDExOS44OCAyMDQuMjhDMTE5Ljg4IDIwNC4yOCAxMjEuNjggMjE3LjI0IDEzMS40IDIyMS45MkMxMzUuNzUyIDIyNC4wMTUgMTM4LjYgMjE3Ljg2IDE0MC40IDIxMi40NnoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNjY2NjY2MiPgorICA8cGF0aCBkPSJNMTM3LjMgMjA2LjJDMTM3LjMgMjA2LjIgMTE1LjcgMTk2IDExNC44IDE5NS4yQzExNC44IDE5NS4yIDEyMy45IDIwMy40IDEyNC43IDIwMy40QzEyNS41IDIwMy40IDEzNy4zIDIwNi4yIDEzNy4zIDIwNi4yeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0xMjAuMiAyMDBDMTIwLjIgMjAwIDEzOC42IDIwMy42IDEzOC42IDIwOEMxMzguNiAyMTAuOTEyIDEzOC4zNTcgMjI0LjMzMSAxMzMgMjIyLjhDMTI0LjYgMjIwLjQgMTI4LjIgMjA2IDEyMC4yIDIwMHoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICM5OWNjMzIiPgorICA8cGF0aCBkPSJNMTI4LjYgMjAzLjhDMTI4LjYgMjAzLjggMTM3LjU3OCAyMDUuMjc0IDEzOC42IDIwOEMxMzkuMiAyMDkuNiAxMzkuODYzIDIxNy45MDggMTM0LjQgMjE5QzEyOS44NDggMjE5LjkxMSAxMjcuNjE4IDIwOS42OSAxMjguNiAyMDMuOHoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICMwMDAwMDAiPgorICA8cGF0aCBkPSJNMjE0LjU5NSAyNDYuMzQ5QzIxNC4wOTggMjQ0LjYwNyAyMTUuNDA5IDI0NC43MzggMjE3LjIgMjQ0LjJDMjE5LjIgMjQzLjYgMjMxLjQgMjM5LjggMjMyLjIgMjM3LjJDMjMzIDIzNC42IDI0Ni4yIDIzOSAyNDYuMiAyMzlDMjQ4IDIzOS44IDI1Mi40IDI0Mi40IDI1Mi40IDI0Mi40QzI1Ny4yIDI0My42IDI2My44IDI0NCAyNjMuOCAyNDRDMjY2LjIgMjQ1IDI2OS42IDI0Ny44IDI2OS42IDI0Ny44QzI4NC4yIDI1OCAyOTYuNjAxIDI1MC44IDI5Ni42MDEgMjUwLjhDMzE2LjYwMSAyNDQuMiAzMTAuNjAxIDIyNyAzMTAuNjAxIDIyN0MzMDcuNjAxIDIxOCAzMTAuODAxIDIxNC42IDMxMC44MDEgMjE0LjZDMzExLjAwMSAyMTAuOCAzMTguMjAxIDIxNy4yIDMxOC4yMDEgMjE3LjJDMzIwLjgwMSAyMjEuNCAzMjEuNjAxIDIyNi40IDMyMS42MDEgMjI2LjRDMzI5LjYwMSAyMzcuNiAzMjYuMjAxIDIxOS44IDMyNi4yMDEgMjE5LjhDMzI2LjQwMSAyMTguOCAzMjMuNjAxIDIxNS4yIDMyMy42MDEgMjE0QzMyMy42MDEgMjEyLjggMzIxLjgwMSAyMDkuNCAzMjEuODAxIDIwOS40QzMxOC44MDEgMjA2IDMyMS4yMDEgMTk5IDMyMS4yMDEgMTk5QzMyMy4wMDEgMTg1LjIgMzIwLjgwMSAxODcgMzIwLjgwMSAxODdDMzE5LjYwMSAxODUuMiAzMTAuNDAxIDE5NS4yIDMxMC40MDEgMTk1LjJDMzA4LjIwMSAxOTguNiAzMDIuMjAxIDIwMC4yIDMwMi4yMDEgMjAwLjJDMjk5LjQwMSAyMDIgMjk2LjAwMSAyMDAuNiAyOTYuMDAxIDIwMC42QzI5My40MDEgMjAwLjIgMjg3LjgwMSAyMDcuMiAyODcuODAxIDIwNy4yQzI5MC42MDEgMjA3IDI5My4wMDEgMjExLjQgMjk1LjQwMSAyMTEuNkMyOTcuODAxIDIxMS44IDI5OS42MDEgMjA5LjIgMzAxLjIwMSAyMDguNkMzMDIuODAxIDIwOCAzMDUuNjAxIDIxMy44IDMwNS42MDEgMjEzLjhDMzA2LjAwMSAyMTYuNCAzMDAuNDAxIDIyMS4yIDMwMC40MDEgMjIxLjJDMzAwLjAwMSAyMjUuOCAyOTguNDAxIDIyNC4yIDI5OC40MDEgMjI0LjJDMjk1LjQwMSAyMjMuNiAyOTQuMjAxIDIyNy40IDI5My4yMDEgMjMyQzI5Mi4yMDEgMjM2LjYgMjg4LjAwMSAyMzcgMjg4LjAwMSAyMzdDMjg2LjQwMSAyNDQuNCAyODUuMiAyNDEuNCAyODUuMiAyNDEuNEMyODUgMjM1LjggMjc5IDI0MS42IDI3OSAyNDEuNkMyNzcuOCAyNDMuNiAyNzMuMiAyNDEuNCAyNzMuMiAyNDEuNEMyNjYuNCAyMzkuNCAyNjguOCAyMzcuNCAyNjguOCAyMzcuNEMyNzAuNiAyMzUuMiAyODEuOCAyMzcuNCAyODEuOCAyMzcuNEMyODQgMjM1LjggMjc2IDIzMS44IDI3NiAyMzEuOEMyNzUuNCAyMzAgMjc2LjQgMjI1LjYgMjc2LjQgMjI1LjZDMjc3LjYgMjIyLjQgMjg0LjQgMjE2LjggMjg0LjQgMjE2LjhDMjkzLjgwMSAyMTUuNiAyOTEuMDAxIDIxNCAyOTEuMDAxIDIxNEMyODQuODAxIDIwOC44IDI3OSAyMTYuNCAyNzkgMjE2LjRDMjc2LjggMjIyLjYgMjU5LjQgMjM3LjYgMjU5LjQgMjM3LjZDMjU0LjYgMjQxIDI1Ny4yIDIzNC4yIDI1My4yIDIzNy42QzI0OS4yIDI0MSAyMjguNiAyMzIgMjI4LjYgMjMyQzIxNy4wMzggMjMwLjgwNyAyMTQuMzA2IDI0Ni41NDkgMjEwLjc3NyAyNDMuNDI5QzIxMC43NzcgMjQzLjQyOSAyMTYuMTk1IDI1MS45NDkgMjE0LjU5NSAyNDYuMzQ5eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik00MDkuNDAxIDgwQzQwOS40MDEgODAgMzgzLjgwMSA4OCAzODEuMDAxIDEwNi44QzM4MS4wMDEgMTA2LjggMzc4LjYwMSAxMjkuNiAzOTkuMDAxIDE0Ny4yQzM5OS4wMDEgMTQ3LjIgMzk5LjQwMSAxNTMuNiA0MDEuNDAxIDE1Ni44QzQwMS40MDEgMTU2LjggMzk5LjgwMSAxNjEuNiA0MTguNjAxIDE1NEw0NDUuODAxIDE0NS42QzQ0NS44MDEgMTQ1LjYgNDUyLjIwMSAxNDMuMiA0NTcuNDAxIDEzNC40QzQ2Mi42MDEgMTI1LjYgNDc3LjgwMSAxMDYuOCA0NzQuMjAxIDgxLjZDNDc0LjIwMSA4MS42IDQ3NS40MDEgNzAuNCA0NjkuNDAxIDcwQzQ2OS40MDEgNzAgNDYxLjAwMSA2OC40IDQ1My44MDEgNzZDNDUzLjgwMSA3NiA0NDcuMDAxIDc5LjIgNDQ0LjYwMSA3OC44TDQwOS40MDEgODB6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjMDAwMDAwIj4KKyAgPHBhdGggZD0iTTQ2NC4wMjIgNzkuMDFDNDY0LjAyMiA3OS4wMSA0NjYuMTIyIDcwLjA4IDQ2MS4yODIgNzQuOTJDNDYxLjI4MiA3NC45MiA0NTQuMjQyIDgwLjY0IDQ0Ni43NjEgODAuNjRDNDQ2Ljc2MSA4MC42NCA0MzIuMjQxIDgyLjg0IDQyNy44NDEgOTYuMDRDNDI3Ljg0MSA5Ni4wNCA0MjMuODgxIDEyMi44OCA0MzEuODAxIDEyOC42QzQzMS44MDEgMTI4LjYgNDM2LjY0MSAxMzYuMDggNDQzLjY4MSAxMjkuNDhDNDUwLjcyMiAxMjIuODggNDY2LjIyMiA5Mi42NSA0NjQuMDIyIDc5LjAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzMyMzIzMiI+CisgIDxwYXRoIGQ9Ik00NjMuNjQ4IDc5LjM2OEM0NjMuNjQ4IDc5LjM2OCA0NjUuNzM4IDcwLjYyNCA0NjAuOTg2IDc1LjM3NkM0NjAuOTg2IDc1LjM3NiA0NTQuMDc0IDgwLjk5MiA0NDYuNzI5IDgwLjk5MkM0NDYuNzI5IDgwLjk5MiA0MzIuNDczIDgzLjE1MiA0MjguMTUzIDk2LjExMkM0MjguMTUzIDk2LjExMiA0MjQuMjY1IDEyMi40NjQgNDMyLjA0MSAxMjguMDhDNDMyLjA0MSAxMjguMDggNDM2Ljc5MyAxMzUuNDI0IDQ0My43MDUgMTI4Ljk0NEM0NTAuNjE4IDEyMi40NjQgNDY1LjgwOCA5Mi43NiA0NjMuNjQ4IDc5LjM2OHoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICM2NjY2NjYiPgorICA8cGF0aCBkPSJNNDYzLjI3NCA3OS43MjZDNDYzLjI3NCA3OS43MjYgNDY1LjM1NCA3MS4xNjggNDYwLjY5IDc1LjgzMkM0NjAuNjkgNzUuODMyIDQ1My45MDYgODEuMzQ0IDQ0Ni42OTcgODEuMzQ0QzQ0Ni42OTcgODEuMzQ0IDQzMi43MDUgODMuNDY0IDQyOC40NjUgOTYuMTg0QzQyOC40NjUgOTYuMTg0IDQyNC42NDkgMTIyLjA0OCA0MzIuMjgxIDEyNy41NkM0MzIuMjgxIDEyNy41NiA0MzYuOTQ1IDEzNC43NjggNDQzLjcyOSAxMjguNDA4QzQ1MC41MTQgMTIyLjA0OCA0NjUuMzk0IDkyLjg3IDQ2My4yNzQgNzkuNzI2eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzk5OTk5OSI+CisgIDxwYXRoIGQ9Ik00NjIuOSA4MC4wODRDNDYyLjkgODAuMDg0IDQ2NC45NyA3MS43MTIgNDYwLjM5NCA3Ni4yODhDNDYwLjM5NCA3Ni4yODggNDUzLjczOCA4MS42OTYgNDQ2LjY2NSA4MS42OTZDNDQ2LjY2NSA4MS42OTYgNDMyLjkzNyA4My43NzYgNDI4Ljc3NyA5Ni4yNTZDNDI4Ljc3NyA5Ni4yNTYgNDI1LjAzMyAxMjEuNjMyIDQzMi41MjEgMTI3LjA0QzQzMi41MjEgMTI3LjA0IDQzNy4wOTcgMTM0LjExMiA0NDMuNzUzIDEyNy44NzJDNDUwLjQxIDEyMS42MzIgNDY0Ljk4IDkyLjk4IDQ2Mi45IDgwLjA4NHoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNjY2NjY2MiPgorICA8cGF0aCBkPSJNNDYyLjUyNiA4MC40NDJDNDYyLjUyNiA4MC40NDIgNDY0LjU4NiA3Mi4yNTYgNDYwLjA5OCA3Ni43NDRDNDYwLjA5OCA3Ni43NDQgNDUzLjU2OSA4Mi4wNDggNDQ2LjYzMyA4Mi4wNDhDNDQ2LjYzMyA4Mi4wNDggNDMzLjE2OSA4NC4wODggNDI5LjA4OSA5Ni4zMjhDNDI5LjA4OSA5Ni4zMjggNDI1LjQxNyAxMjEuMjE2IDQzMi43NjEgMTI2LjUyQzQzMi43NjEgMTI2LjUyIDQzNy4yNDkgMTMzLjQ1NiA0NDMuNzc3IDEyNy4zMzZDNDUwLjMwNSAxMjEuMjE2IDQ2NC41NjYgOTMuMDkgNDYyLjUyNiA4MC40NDJ6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmZmIj4KKyAgPHBhdGggZD0iTTQ2Mi4xNTEgODAuOEM0NjIuMTUxIDgwLjggNDY0LjIwMSA3Mi44IDQ1OS44MDEgNzcuMkM0NTkuODAxIDc3LjIgNDUzLjQwMSA4Mi40IDQ0Ni42MDEgODIuNEM0NDYuNjAxIDgyLjQgNDMzLjQwMSA4NC40IDQyOS40MDEgOTYuNEM0MjkuNDAxIDk2LjQgNDI1LjgwMSAxMjAuOCA0MzMuMDAxIDEyNkM0MzMuMDAxIDEyNiA0MzcuNDAxIDEzMi44IDQ0My44MDEgMTI2LjhDNDUwLjIwMSAxMjAuOCA0NjQuMTUxIDkzLjIgNDYyLjE1MSA4MC44eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzk5MjYwMCI+CisgIDxwYXRoIGQ9Ik0yNTAuNiAyODRDMjUwLjYgMjg0IDIzMC4yIDI2NC44IDIyMi4yIDI2NEMyMjIuMiAyNjQgMTg3LjggMjYwIDE3MyAyNzhDMTczIDI3OCAxOTAuNiAyNTcuNiAyMTguMiAyNjMuMkMyMTguMiAyNjMuMiAxOTYuNiAyNTguOCAxODQuMiAyNjJDMTg0LjIgMjYyIDE2Ny40IDI2MiAxNTcuOCAyNzZMMTU1IDI4MC44QzE1NSAyODAuOCAxNTkgMjY2IDE3Ny40IDI2MEMxNzcuNCAyNjAgMjAwLjIgMjU1LjIgMjExIDI2MEMyMTEgMjYwIDE4OS40IDI1My4yIDE3OS40IDI1NS4yQzE3OS40IDI1NS4yIDE0OSAyNTIuOCAxMzYuMiAyNzkuMkMxMzYuMiAyNzkuMiAxNDAuMiAyNjQuOCAxNTUgMjU3LjZDMTU1IDI1Ny42IDE2OC42IDI0OC44IDE4OSAyNTEuNkMxODkgMjUxLjYgMjAzLjQgMjU0LjggMjA4LjYgMjU3LjJDMjEzLjggMjU5LjYgMjEyLjYgMjU2LjggMjA0LjIgMjUyQzIwNC4yIDI1MiAxOTguNiAyNDIgMTg0LjYgMjQyLjRDMTg0LjYgMjQyLjQgMTQxLjggMjQ2IDEzMS40IDI1OEMxMzEuNCAyNTggMTQ1IDI0Ni44IDE1NS40IDI0NEMxNTUuNCAyNDQgMTc3LjggMjM2IDE4Ni4yIDIzNi44QzE4Ni4yIDIzNi44IDIxMSAyMzcuOCAyMTguNiAyMzMuOEMyMTguNiAyMzMuOCAyMDcuNCAyMzguOCAyMTAuNiAyNDJDMjEzLjggMjQ1LjIgMjIwLjYgMjUyLjggMjIwLjYgMjU0QzIyMC42IDI1NS4yIDI0NC44IDI3Ny4zIDI0OC40IDI4MS43TDI1MC42IDI4NHoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNjY2NjY2MiPgorICA8cGF0aCBkPSJNMzg5IDQ3OEMzODkgNDc4IDM3My41IDQ0MS41IDM2MSA0MzJDMzYxIDQzMiAzODcgNDQ4IDM5MC41IDQ2NkMzOTAuNSA0NjYgMzkwLjUgNDc2IDM4OSA0Nzh6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjY2NjY2NjIj4KKyAgPHBhdGggZD0iTTQzNiA0ODUuNUM0MzYgNDg1LjUgNDA5LjUgNDMwLjUgMzkxIDQwNi41QzM5MSA0MDYuNSA0MzQuNSA0NDQgNDM5LjUgNDcwLjVMNDQwIDQ3Nkw0MzcgNDczLjVDNDM3IDQ3My41IDQzNi41IDQ4Mi41IDQzNiA0ODUuNXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNjY2NjY2MiPgorICA8cGF0aCBkPSJNNDkyLjUgNDM3QzQ5Mi41IDQzNyA0MzAgMzc3LjUgNDI4LjUgMzc1QzQyOC41IDM3NSA0ODkgNDQxIDQ5MiA0NDguNUM0OTIgNDQ4LjUgNDkwIDQzOS41IDQ5Mi41IDQzN3oiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNjY2NjY2MiPgorICA8cGF0aCBkPSJNMzA0IDQ4MC41QzMwNCA0ODAuNSAzMjMuNSA0MjguNSAzNDIuNSA0NTFDMzQyLjUgNDUxIDM1Ny41IDQ2MSAzNTcgNDY0QzM1NyA0NjQgMzUzIDQ1Ny41IDMzNSA0NThDMzM1IDQ1OCAzMTYgNDU1IDMwNCA0ODAuNXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNjY2NjY2MiPgorICA8cGF0aCBkPSJNNDk0LjUgMzUzQzQ5NC41IDM1MyA0NDkuNSAzMjQuNSA0NDIgMzIzQzQzMC4xOTMgMzIwLjYzOSA0OTEuNSAzNTIgNDk2LjUgMzYyLjVDNDk2LjUgMzYyLjUgNDk4LjUgMzYwIDQ5NC41IDM1M3oiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICMwMDAwMDAiPgorICA8cGF0aCBkPSJNMzQzLjgwMSA0NTkuNjAxQzM0My44MDEgNDU5LjYwMSAzNjQuMjAxIDQ1Ny42MDEgMzcxLjAwMSA0NTAuODAxTDM3NS40MDEgNDU0LjQwMUwzOTMuMDAxIDQxNi4wMDFMMzk2LjYwMSA0MjEuMjAxQzM5Ni42MDEgNDIxLjIwMSA0MTEuMDAxIDQwNi40MDEgNDEwLjIwMSAzOTguNDAxQzQwOS40MDEgMzkwLjQwMSA0MjMuMDAxIDQwNC40MDEgNDIzLjAwMSA0MDQuNDAxQzQyMy4wMDEgNDA0LjQwMSA0MjIuMjAxIDM5Mi44MDEgNDI5LjQwMSAzOTkuNjAxQzQyOS40MDEgMzk5LjYwMSA0MjcuMDAxIDM4NC4wMDEgNDM1LjQwMSAzOTIuMDAxQzQzNS40MDEgMzkyLjAwMSA0MjQuODY0IDM2MS44NDQgNDQ3LjQwMSAzODcuNjAxQzQ1My4wMDEgMzk0LjAwMSA0NDguNjAxIDM4Ny4yMDEgNDQ4LjYwMSAzODcuMjAxQzQ0OC42MDEgMzg3LjIwMSA0MjIuNjAxIDMzOS4yMDEgNDQ0LjIwMSAzNTMuNjAxQzQ0NC4yMDEgMzUzLjYwMSA0NDYuMjAxIDMzMC44MDEgNDQ1LjAwMSAzMjYuNDAxQzQ0My44MDEgMzIyLjAwMSA0NDEuODAxIDI5OS42IDQzNy4wMDEgMjk0LjRDNDMyLjIwMSAyODkuMiA0MzcuNDAxIDI4Ny42IDQ0My4wMDEgMjkyLjhDNDQzLjAwMSAyOTIuOCA0MzEuODAxIDI2OC44IDQ0NS4wMDEgMjgwLjhDNDQ1LjAwMSAyODAuOCA0NDEuNDAxIDI2NS42IDQzNy4wMDEgMjYyLjhDNDM3LjAwMSAyNjIuOCA0MzEuNDAxIDI0NS42IDQ0Ni42MDEgMjU2LjRDNDQ2LjYwMSAyNTYuNCA0NDIuMjAxIDI0NCA0MzkuMDAxIDI0MC44QzQzOS4wMDEgMjQwLjggNDI3LjQwMSAyMTMuMiA0MzQuNjAxIDIxOEw0MzkuMDAxIDIyMS42QzQzOS4wMDEgMjIxLjYgNDMyLjIwMSAyMDcuNiA0MzguNjAxIDIxMkM0NDUuMDAxIDIxNi40IDQ0NS4wMDEgMjE2IDQ0NS4wMDEgMjE2QzQ0NS4wMDEgMjE2IDQyMy44MDEgMTgyLjggNDQ0LjIwMSAyMDAuNEM0NDQuMjAxIDIwMC40IDQzNi4wNDIgMTg2LjQ4MiA0MzIuNjAxIDE3OS42QzQzMi42MDEgMTc5LjYgNDEzLjgwMSAxNTkuMiA0MjguMjAxIDE2NS42TDQzMy4wMDEgMTY3LjJDNDMzLjAwMSAxNjcuMiA0MjQuMjAxIDE1Ny4yIDQxNi4yMDEgMTU1LjZDNDA4LjIwMSAxNTQgNDE4LjYwMSAxNDcuNiA0MjUuMDAxIDE0OS42QzQzMS40MDEgMTUxLjYgNDQ3LjAwMSAxNTkuMiA0NDcuMDAxIDE1OS4yQzQ0Ny4wMDEgMTU5LjIgNDU5LjgwMSAxNzggNDYzLjgwMSAxNzguNEM0NjMuODAxIDE3OC40IDQ0My44MDEgMTcwLjggNDQ5LjgwMSAxNzguOEM0NDkuODAxIDE3OC44IDQ2NC4yMDEgMTkyLjggNDU3LjAwMSAxOTIuNEM0NTcuMDAxIDE5Mi40IDQ1MS4wMDEgMTk5LjYgNDU1LjgwMSAyMDguNEM0NTUuODAxIDIwOC40IDQzNy4zNDIgMTkwLjAwOSA0NTIuMjAxIDIxNS42TDQ1OS4wMDEgMjMyQzQ1OS4wMDEgMjMyIDQzNC42MDEgMjA3LjIgNDQ1LjgwMSAyMjkuMkM0NDUuODAxIDIyOS4yIDQ2My4wMDEgMjUyLjggNDY1LjAwMSAyNTMuMkM0NjcuMDAxIDI1My42IDQ3MS40MDEgMjYyLjQgNDcxLjQwMSAyNjIuNEw0NjcuMDAxIDI2MC40TDQ3Mi4yMDEgMjY5LjJDNDcyLjIwMSAyNjkuMiA0NjEuMDAxIDI1Ny4yIDQ2Ny4wMDEgMjcwLjRMNDcyLjYwMSAyODQuOEM0NzIuNjAxIDI4NC44IDQ1Mi4yMDEgMjYyLjggNDY1LjgwMSAyOTIuNEM0NjUuODAxIDI5Mi40IDQ0OS40MDEgMjg3LjIgNDU4LjIwMSAzMDQuNEM0NTguMjAxIDMwNC40IDQ1Ni42MDEgMzIwLjQwMSA0NTcuMDAxIDMyNS42MDFDNDU3LjQwMSAzMzAuODAxIDQ1OC42MDEgMzU5LjIwMSA0NTQuMjAxIDM2Ny4yMDFDNDQ5LjgwMSAzNzUuMjAxIDQ2MC4yMDEgMzk0LjQwMSA0NjIuMjAxIDM5OC40MDFDNDY0LjIwMSA0MDIuNDAxIDQ2Ny44MDEgNDEzLjIwMSA0NTkuMDAxIDQwNC4wMDFDNDUwLjIwMSAzOTQuODAxIDQ1NC42MDEgNDAwLjQwMSA0NTYuNjAxIDQwOS4yMDFDNDU4LjYwMSA0MTguMDAxIDQ2NC42MDEgNDMzLjYwMSA0NjMuODAxIDQzOS4yMDFDNDYzLjgwMSA0MzkuMjAxIDQ2Mi42MDEgNDQwLjQwMSA0NTkuNDAxIDQzNi44MDFDNDU5LjQwMSA0MzYuODAxIDQ0NC42MDEgNDE0LjAwMSA0NDYuMjAxIDQyOC40MDFDNDQ2LjIwMSA0MjguNDAxIDQ0NS4wMDEgNDM2LjQwMSA0NDEuODAxIDQ0NS4yMDFDNDQxLjgwMSA0NDUuMjAxIDQzOC42MDEgNDU2LjAwMSA0MzguNjAxIDQ0Ny4yMDFDNDM4LjYwMSA0NDcuMjAxIDQzNS40MDEgNDMwLjQwMSA0MzIuNjAxIDQzOC4wMDFDNDI5LjgwMSA0NDUuNjAxIDQyNi4yMDEgNDUxLjYwMSA0MjMuNDAxIDQ1NC4wMDFDNDIwLjYwMSA0NTYuNDAxIDQxNS40MDEgNDMzLjYwMSA0MTQuMjAxIDQ0NC4wMDFDNDE0LjIwMSA0NDQuMDAxIDQwMi4yMDEgNDMxLjYwMSAzOTcuNDAxIDQ0OC4wMDFMMzg1LjgwMSA0NjQuNDAxQzM4NS44MDEgNDY0LjQwMSAzODUuNDAxIDQ1Mi4wMDEgMzg0LjIwMSA0NTguMDAxQzM4NC4yMDEgNDU4LjAwMSAzNTQuMjAxIDQ2NC4wMDEgMzQzLjgwMSA0NTkuNjAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0zMDkuNDAxIDEwMi44QzMwOS40MDEgMTAyLjggMjk3LjgwMSA5NC44IDI5My44MDEgOTUuMkMyODkuODAxIDk1LjYgMzIxLjQwMSA4Ni40IDM2Mi42MDEgMTE0QzM2Mi42MDEgMTE0IDM2Ny40MDEgMTE2LjggMzcxLjAwMSAxMTYuNEMzNzEuMDAxIDExNi40IDM3NC4yMDEgMTE4LjggMzcxLjQwMSAxMjIuNEMzNzEuNDAxIDEyMi40IDM2Mi42MDEgMTMyIDM3My44MDEgMTQzLjJDMzczLjgwMSAxNDMuMiAzOTIuMjAxIDE1MCAzODYuNjAxIDE0MS4yQzM4Ni42MDEgMTQxLjIgMzk3LjQwMSAxNDUuMiAzOTkuODAxIDE0OS4yQzQwMi4yMDEgMTUzLjIgNDAxLjAwMSAxNDkuMiA0MDEuMDAxIDE0OS4yQzQwMS4wMDEgMTQ5LjIgMzk0LjYwMSAxNDIgMzg4LjYwMSAxMzYuOEMzODguNjAxIDEzNi44IDM4My40MDEgMTM0LjggMzgwLjYwMSAxMjYuNEMzNzcuODAxIDExOCAzNzUuNDAxIDEwOCAzNzkuODAxIDEwNC44QzM3OS44MDEgMTA0LjggMzc1LjgwMSAxMDkuMiAzNzYuNjAxIDEwNS4yQzM3Ny40MDEgMTAxLjIgMzgxLjAwMSA5Ny42IDM4Mi42MDEgOTcuMkMzODQuMjAxIDk2LjggNDAwLjYwMSA4MSA0MDcuNDAxIDgwLjZDNDA3LjQwMSA4MC42IDM5OC4yMDEgODIgMzk1LjIwMSA4MUMzOTIuMjAxIDgwIDM2NS42MDEgNjguNiAzNTkuNjAxIDY3LjRDMzU5LjYwMSA2Ny40IDM0Mi44MDEgNjAuOCAzNTQuODAxIDYyLjhDMzU0LjgwMSA2Mi44IDM5MC42MDEgNjYuNiA0MDguODAxIDc5LjhDNDA4LjgwMSA3OS44IDQwMS42MDEgNzEuNCAzODMuMjAxIDY0LjRDMzgzLjIwMSA2NC40IDM2MS4wMDEgNTEuOCAzMjUuODAxIDU2LjhDMzI1LjgwMSA1Ni44IDMwOC4wMDEgNjAgMzAwLjIwMSA2MS44QzMwMC4yMDEgNjEuOCAyOTcuNjAxIDYxLjIgMjk3LjAwMSA2MC44QzI5Ni40MDEgNjAuNCAyODQuNiA1MS40IDI1NyA1OC40QzI1NyA1OC40IDI0MCA2MyAyMzEuNCA2Ny44QzIzMS40IDY3LjggMjE2LjIgNjkgMjEyLjYgNzIuMkMyMTIuNiA3Mi4yIDE5NCA4Ni44IDE5MiA4Ny42QzE5MCA4OC40IDE3OC42IDk2IDE3Ny44IDk2LjRDMTc3LjggOTYuNCAyMDIuNCA4OS44IDIwNC44IDg3LjRDMjA3LjIgODUgMjI0LjYgODIuNCAyMjcgODMuOEMyMjkuNCA4NS4yIDIzNy44IDg0LjYgMjI4LjIgODUuMkMyMjguMiA4NS4yIDMwMy44MDEgMTAwIDMwNC42MDEgMTAyQzMwNS40MDEgMTA0IDMwOS40MDEgMTAyLjggMzA5LjQwMSAxMDIuOHoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNjYzcyMjYiPgorICA8cGF0aCBkPSJNMzgwLjgwMSA5My42QzM4MC44MDEgOTMuNiAzNzAuNjAxIDg2LjIgMzY4LjYwMSA4Ni4yQzM2Ni42MDEgODYuMiAzNTQuMjAxIDc2IDM1MC4wMDEgNzYuNEMzNDUuODAxIDc2LjggMzMzLjYwMSA2Ni44IDMwNi4yMDEgNzVDMzA2LjIwMSA3NSAzMDUuNjAxIDczIDMwOS4yMDEgNzIuMkMzMDkuMjAxIDcyLjIgMzE1LjYwMSA3MCAzMTYuMDAxIDY5LjRDMzE2LjAwMSA2OS40IDMzNi4yMDEgNjUuMiAzNDMuNDAxIDY4LjhDMzQzLjQwMSA2OC44IDM1Mi42MDEgNzEuNCAzNTguODAxIDc3LjZDMzU4LjgwMSA3Ny42IDM3MC4wMDEgODAuOCAzNzMuMjAxIDc5LjhDMzczLjIwMSA3OS44IDM4Mi4wMDEgODIgMzgyLjQwMSA4My44QzM4Mi40MDEgODMuOCAzODguMjAxIDg2LjggMzg2LjQwMSA4OS40QzM4Ni40MDEgODkuNCAzODYuODAxIDkxIDM4MC44MDEgOTMuNnoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNjYzcyMjYiPgorICA8cGF0aCBkPSJNMzY4LjMzIDkxLjQ5MUMzNjkuMTM3IDkyLjEyMyAzNzAuMTU2IDkyLjIyMSAzNzAuNzYxIDkzLjAzQzM3MC45OTUgOTMuMzQ0IDM3MC43MDYgOTMuNjcgMzcwLjM5MSA5My43NjdDMzY5LjM0OCA5NC4wODQgMzY4LjI5MiA5My41MTQgMzY3LjE1IDk0LjEwMkMzNjYuNzQ4IDk0LjMwOSAzNjYuMTA2IDk0LjEyNyAzNjUuNTUzIDkzLjk3OEMzNjMuOTIxIDkzLjUzNyAzNjIuMDkyIDkzLjUxMiAzNjAuNDAxIDk0LjJDMzU4LjQxNiA5My4wNzEgMzU2LjA1NiA5My42NTUgMzUzLjk3NSA5Mi42NTRDMzUzLjkxNyA5Mi42MjcgMzUzLjY5NSA5Mi45NzMgMzUzLjYyMSA5Mi45NDZDMzUwLjU3NSA5MS44MDEgMzQ2LjgzMiA5Mi4wODQgMzQ0LjQwMSA4OS44QzM0MS45NzMgODkuMzg4IDMzOS42MTYgODguOTI2IDMzNy4xODggODguMjQ2QzMzNS4zNyA4Ny43MzcgMzMzLjk2MSA4Ni43NDggMzMyLjM0MSA4NS45MTZDMzMwLjk2NCA4NS4yMDggMzI5LjUwNyA4NC42ODYgMzI3Ljk3MyA4NC4zMTRDMzI2LjExIDgzLjg2MiAzMjQuMjc5IDgzLjk3NCAzMjIuMzg2IDgzLjQ1NEMzMjIuMjkzIDgzLjQyOSAzMjIuMTAxIDgzLjc3MyAzMjIuMDE5IDgzLjc0NkMzMjEuNjk1IDgzLjYzOCAzMjEuNDA1IDgzLjA1NSAzMjEuMjM0IDgzLjEwOEMzMTkuNTUzIDgzLjYzIDMxOC4wNjUgODIuNjU4IDMxNi40MDEgODNDMzE1LjIyMyA4MS43NzYgMzEzLjQ5NSA4Mi4wMjEgMzExLjk0OSA4MS41NzlDMzA4Ljk4NSA4MC43MzEgMzA1LjgzMSA4Mi4wMDEgMzAyLjgwMSA4MUMzMDYuOTE0IDc5LjE1OCAzMTEuNjAxIDgwLjM5IDMxNS42NjMgNzguMzIxQzMxNy45OTEgNzcuMTM1IDMyMC42NTMgNzguMjM3IDMyMy4yMjMgNzcuNDc3QzMyMy43MSA3Ny4zMzMgMzI0LjQwMSA3Ny4xMzEgMzI0LjgwMSA3Ny44QzMyNC45MzUgNzcuNjY1IDMyNS4xMTcgNzcuNDI2IDMyNS4xNzUgNzcuNDU0QzMyNy42MjUgNzguNjExIDMyOS45NCA3OS44ODUgMzMyLjQyMiA4MC45NTFDMzMyLjc2MyA4MS4wOTcgMzMzLjI5NSA4MC44NjUgMzMzLjU0NyA4MS4wNjdDMzM1LjA2NyA4Mi4yODMgMzM3LjAxIDgyLjE4IDMzOC40MDEgODMuNEMzNDAuMDk5IDgyLjg5OCAzNDEuODkyIDgzLjI3OCAzNDMuNjIxIDgyLjY1NEMzNDMuNjk4IDgyLjYyNyAzNDMuOTMyIDgyLjk2OCAzNDMuOTY1IDgyLjk0NkMzNDUuMDk1IDgyLjE5OCAzNDYuMjUgODIuNDY5IDM0Ny4xNDIgODIuNzczQzM0Ny40OCA4Mi44ODggMzQ4LjE0MyA4My4xMzUgMzQ4LjQ0OCA4My4yMDlDMzQ5LjU3NCA4My40ODUgMzUwLjQzIDgzLjk2NSAzNTEuNjA5IDg0LjE0OEMzNTEuNzIzIDg0LjE2NiAzNTEuOTA4IDgzLjgyNiAzNTEuOTggODMuODU0QzM1My4xMDMgODQuMjkyIDM1NC4xNDUgODQuMjM2IDM1NC44MDEgODUuNEMzNTQuOTM2IDg1LjI2NSAzNTUuMTAxIDg1LjAyNyAzNTUuMTgzIDg1LjA1NEMzNTYuMjEgODUuMzkyIDM1Ni44NTkgODYuMTQ3IDM1Ny45NiA4Ni4zODhDMzU4LjQ0NSA4Ni40OTQgMzU5LjA1NyA4Ny4xMiAzNTkuNjMzIDg3LjI5NkMzNjIuMDI1IDg4LjAyNyAzNjMuODY4IDg5LjU1NiAzNjYuMDYyIDkwLjQ1MUMzNjYuODIxIDkwLjc2MSAzNjcuNjk3IDkwLjk5NSAzNjguMzMgOTEuNDkxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2NjNzIyNiI+CisgIDxwYXRoIGQ9Ik0yOTEuNjk2IDc3LjI2MUMyODkuMTc4IDc1LjUzNiAyODYuODEgNzQuNDMgMjg0LjM2OCA3Mi42NDRDMjg0LjE4NyA3Mi41MTEgMjgzLjgyNyA3Mi42ODEgMjgzLjYyNSA3Mi41NTlDMjgyLjYxOCA3MS45NSAyODEuNzMgNzEuMzY5IDI4MC43NDggNzAuNjczQzI4MC4yMDkgNzAuMjkxIDI3OS4zODggNzAuMzAyIDI3OC44OCA3MC4wNDRDMjc2LjMzNiA2OC43NTIgMjczLjcwNyA2OC4xOTQgMjcxLjIgNjdDMjcxLjg4MiA2Ni4zNjIgMjczLjAwNCA2Ni42MDYgMjczLjYgNjUuOEMyNzMuNzk1IDY2LjA4IDI3NC4wMzMgNjYuMzY0IDI3NC4zODYgNjYuMTczQzI3Ni4wNjQgNjUuMjY5IDI3Ny45MTQgNjUuMTE2IDI3OS41OSA2NS4yMDZDMjgxLjI5NCA2NS4yOTggMjgzLjAxNCA2NS42MDMgMjg0Ljc4OSA2NS44NzVDMjg1LjA5NiA2NS45MjIgMjg1LjI5NSA2Ni40NDUgMjg1LjYxOCA2Ni41NDJDMjg3Ljg0NiA2Ny4yMDUgMjkwLjIzNSA2Ni42OCAyOTIuMzU0IDY3LjUxOEMyOTMuOTQ1IDY4LjE0NyAyOTUuNTE1IDY4Ljk3IDI5Ni43NTQgNzAuMjQ1QzI5Ny4wMDYgNzAuNTA1IDI5Ni42ODEgNzAuODA2IDI5Ni40MDEgNzFDMjk2Ljc4OSA3MC44OTEgMjk3LjA2MiA3MS4wOTcgMjk3LjE3MyA3MS40MUMyOTcuMjU3IDcxLjY0OSAyOTcuMjU3IDcxLjk1MSAyOTcuMTczIDcyLjE5QzI5Ny4wNjEgNzIuNTAyIDI5Ni43ODIgNzIuNjAzIDI5Ni40MDggNzIuNjU0QzI5NS4wMDEgNzIuODQ0IDI5Ni43NzMgNzEuNDY0IDI5Ni4wNzMgNzEuOTEyQzI5NC44IDcyLjcyNiAyOTUuNTQ2IDc0LjEzMiAyOTQuODAxIDc1LjRDMjk0LjUyMSA3NS4yMDYgMjk0LjI5MSA3NC45ODggMjk0LjQwMSA3NC42QzI5NC42MzUgNzUuMTIyIDI5NC4wMzMgNzUuNDEyIDI5My44NjUgNzUuNzI4QzI5My40OCA3Ni40NTMgMjkyLjU4MSA3Ny44NjggMjkxLjY5NiA3Ny4yNjF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjY2M3MjI2Ij4KKyAgPHBhdGggZD0iTTI1OS4xOTggODQuNjA5QzI1Ni4wNDQgODMuODE1IDI1Mi45OTQgODMuOTMgMjQ5Ljk3OCA4Mi42NTRDMjQ5LjkxMSA4Mi42MjYgMjQ5LjY4OCA4Mi45NzMgMjQ5LjYyNCA4Mi45NDZDMjQ4LjI1OCA4Mi4zNTIgMjQ3LjM0IDgxLjM4NiAyNDYuMjY0IDgwLjM0QzI0NS4zNTEgNzkuNDUyIDI0My42OTMgNzkuODM5IDI0Mi40MTkgNzkuMzUyQzI0Mi4wOTUgNzkuMjI4IDI0MS44OTIgNzguNzE2IDI0MS41OTEgNzguNjc3QzI0MC4zNzIgNzguNTIgMjM5LjQ0NSA3Ny41NzEgMjM4LjQgNzdDMjQwLjczNiA3Ni4yMDUgMjQzLjE0NyA3Ni4yMzYgMjQ1LjYwOSA3NS44NTJDMjQ1LjcyMiA3NS44MzQgMjQ1Ljg2NyA3Ni4xNTUgMjQ2IDc2LjE1NUMyNDYuMTM2IDc2LjE1NSAyNDYuMjY2IDc1LjkzNCAyNDYuNCA3NS44QzI0Ni41OTUgNzYuMDggMjQ2Ljg5NyA3Ni40MDYgMjQ3LjE1NCA3Ni4xNTJDMjQ3LjcwMiA3NS42MTIgMjQ4LjI1OCA3NS44MDIgMjQ4Ljc5OCA3NS44NDJDMjQ4Ljk0MiA3NS44NTIgMjQ5LjA2NyA3Ni4xNTUgMjQ5LjIgNzYuMTU1QzI0OS4zMzYgNzYuMTU1IDI0OS40NjcgNzUuODQ0IDI0OS42IDc1Ljg0NEMyNDkuNzM2IDc1Ljg0NSAyNDkuODY3IDc2LjE1NSAyNTAgNzYuMTU1QzI1MC4xMzYgNzYuMTU1IDI1MC4yNjYgNzUuOTM0IDI1MC40IDc1LjhDMjUxLjA5MiA3Ni41ODIgMjUxLjk3NyA3Ni4wMjggMjUyLjc5OSA3Ni4yMDdDMjUzLjgzNyA3Ni40MzQgMjU0LjEwNCA3Ny41ODIgMjU1LjE3OCA3Ny44OEMyNTkuODkzIDc5LjE4NCAyNjQuMDMgODEuMzI5IDI2OC4zOTMgODMuNDE2QzI2OC43IDgzLjU2MyAyNjguOTEgODMuODExIDI2OC44IDg0LjJDMjY5LjA2NyA4NC4yIDI2OS4zOCA4NC4xMTIgMjY5LjU3IDg0LjI0NEMyNzAuNjI4IDg0Ljk3NiAyNzEuNjY5IDg1LjUyNCAyNzIuMzY2IDg2LjYyMkMyNzIuNTgyIDg2Ljk2MSAyNzIuMjUzIDg3LjM2OCAyNzIuMDIgODcuMzE2QzI2Ny41OTEgODYuMzIxIDI2My41ODUgODUuNzEzIDI1OS4xOTggODQuNjA5eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2NjNzIyNiI+CisgIDxwYXRoIGQ9Ik0yNDUuMzM4IDEyOC44MjFDMjQzLjc0NiAxMjcuNjAyIDI0My4xNjIgMTI1LjU3MSAyNDIuMDM0IDEyMy43NzlDMjQxLjgyIDEyMy40MzkgMjQyLjA5NCAxMjMuMTI1IDI0Mi40MTEgMTIzLjAzNkMyNDIuOTcxIDEyMi44NzcgMjQzLjUxNCAxMjMuMzU1IDI0My45MjMgMTIzLjU1N0MyNDUuNjY4IDEyNC40MTkgMjQ3LjIwMyAxMjUuNjYxIDI0OS4yIDEyNS44QzI1MS4xOSAxMjguMDM0IDI1NS40NSAxMjguNDE5IDI1NS40NTcgMTMxLjhDMjU1LjQ1OCAxMzIuNjU5IDI1NC4wMyAxMzEuNzQxIDI1My42IDEzMi42QzI1MS4xNDkgMTMxLjU5NyAyNDguNzYgMTMxLjcgMjQ2LjM4IDEzMC4yMzNDMjQ1Ljc2MyAxMjkuODUyIDI0Ni4wOTMgMTI5LjM5OSAyNDUuMzM4IDEyOC44MjF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjY2M3MjI2Ij4KKyAgPHBhdGggZD0iTTIxNy44IDc2LjI0NEMyMTcuOTM1IDc2LjI0NSAyMjQuOTY2IDc2LjQ3OCAyMjQuOTQ5IDc2LjU5MkMyMjQuOTA0IDc2LjkwMSAyMTcuMTc0IDc3Ljk1IDIxNi44MSA3Ny43OEMyMTYuNjQ2IDc3LjcwNCAyMDkuMTM0IDgwLjEzNCAyMDkgODBDMjA5LjI2OCA3OS44NjUgMjE3LjUzNCA3Ni4yNDQgMjE3LjggNzYuMjQ0eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0yMzMuMiA4NkMyMzMuMiA4NiAyMTguNCA4Ny44IDIxNCA4OUMyMDkuNiA5MC4yIDE5MSA5Ny44IDE4OCA5OS44QzE4OCA5OS44IDE3NC42IDEwNS4yIDE1Ny42IDEyNS4yQzE1Ny42IDEyNS4yIDE2NS4yIDEyMS44IDE2Ny40IDExOUMxNjcuNCAxMTkgMTgxIDEwNi40IDE4MC44IDEwOUMxODAuOCAxMDkgMTkzIDEwMC40IDE5Mi40IDEwMi42QzE5Mi40IDEwMi42IDIxNi44IDkxLjQgMjE0LjggOTQuNkMyMTQuOCA5NC42IDIzNi40IDkwIDIzNS40IDkyQzIzNS40IDkyIDI1NC4yIDk2LjQgMjUxLjQgOTYuNkMyNTEuNCA5Ni42IDI0NS42IDk3LjggMjUyIDEwMS40QzI1MiAxMDEuNCAyNDguNiAxMDUuOCAyNDMuMiAxMDEuOEMyMzcuOCA5Ny44IDI0MC44IDEwMCAyMzUuOCAxMDFDMjM1LjggMTAxIDIzMy4yIDEwMS44IDIyOC42IDk3LjhDMjI4LjYgOTcuOCAyMjMgOTMuMiAyMTQuMiA5Ni44QzIxNC4yIDk2LjggMTgzLjYgMTA5LjQgMTgxLjYgMTEwQzE4MS42IDExMCAxNzggMTEyLjggMTc1LjYgMTE2LjRDMTc1LjYgMTE2LjQgMTY5LjggMTIwLjggMTY2LjggMTIyLjJDMTY2LjggMTIyLjIgMTU0IDEzMy44IDE1Mi44IDEzNS4yQzE1Mi44IDEzNS4yIDE0OS40IDE0MC40IDE0OC42IDE0MC44QzE0OC42IDE0MC44IDE1NSAxMzcgMTU3IDEzNUMxNTcgMTM1IDE3MSAxMjUgMTc2LjQgMTI0LjJDMTc2LjQgMTI0LjIgMTgwLjggMTIxLjIgMTgxLjYgMTE5LjhDMTgxLjYgMTE5LjggMTk2IDExMC42IDIwMC4yIDExMC42QzIwMC4yIDExMC42IDIwOS40IDExNS44IDIxMS44IDEwOC44QzIxMS44IDEwOC44IDIxNy42IDEwNyAyMjMuMiAxMDguMkMyMjMuMiAxMDguMiAyMjYuNCAxMDUuNiAyMjUuNiAxMDMuNEMyMjUuNiAxMDMuNCAyMjcuMiAxMDEuNiAyMjguMiAxMDUuNEMyMjguMiAxMDUuNCAyMzEuNiAxMDkgMjM2LjQgMTA3QzIzNi40IDEwNyAyNDAuNCAxMDYuOCAyMzguNCAxMDkuMkMyMzguNCAxMDkuMiAyMzQgMTEzIDIyMi4yIDExMy4yQzIyMi4yIDExMy4yIDIwOS44IDExMy44IDE5My40IDEyMS40QzE5My40IDEyMS40IDE2My42IDEzMS44IDE1NC40IDE0Mi4yQzE1NC40IDE0Mi4yIDE0OCAxNTEgMTQyLjYgMTUyLjJDMTQyLjYgMTUyLjIgMTM2LjggMTUzIDEzMC44IDE2MC40QzEzMC44IDE2MC40IDE0MC42IDE1NC42IDE0OS42IDE1NC42QzE0OS42IDE1NC42IDE1My42IDE1Mi4yIDE0OS44IDE1NS44QzE0OS44IDE1NS44IDE0Ni4yIDE2My40IDE0Ny44IDE2OC44QzE0Ny44IDE2OC44IDE0Ny4yIDE3NCAxNDYuNCAxNzUuNkMxNDYuNCAxNzUuNiAxMzguNiAxODguNCAxMzguNiAxOTAuOEMxMzguNiAxOTMuMiAxMzkuOCAyMDMgMTQwLjIgMjAzLjZDMTQwLjYgMjA0LjIgMTM5LjIgMjAyIDE0MyAyMDQuNEMxNDYuOCAyMDYuOCAxNDkuNiAyMDguNCAxNTAuNCAyMTEuMkMxNTEuMiAyMTQgMTQ4LjQgMjA1LjggMTQ4LjIgMjA0QzE0OCAyMDIuMiAxNDMuOCAxOTUgMTQ0LjYgMTkyLjZDMTQ0LjYgMTkyLjYgMTQ1LjYgMTkzLjYgMTQ2LjQgMTk1QzE0Ni40IDE5NSAxNDUuOCAxOTQuNCAxNDYuNCAxOTAuOEMxNDYuNCAxOTAuOCAxNDcuMiAxODUuNiAxNDguNiAxODIuNEMxNTAgMTc5LjIgMTUyIDE3NS40IDE1Mi40IDE3NC42QzE1Mi44IDE3My44IDE1Mi44IDE2OCAxNTQuMiAxNzAuNkwxNTcuNiAxNzMuMkMxNTcuNiAxNzMuMiAxNTQuOCAxNzAuNiAxNTcgMTY4LjRDMTU3IDE2OC40IDE1NiAxNjIuOCAxNTcuOCAxNjAuMkMxNTcuOCAxNjAuMiAxNjQuOCAxNTEuOCAxNjYuNCAxNTAuOEMxNjggMTQ5LjggMTY2LjYgMTUwLjIgMTY2LjYgMTUwLjJDMTY2LjYgMTUwLjIgMTcyLjYgMTQ2IDE2Ni44IDE0Ny42QzE2Ni44IDE0Ny42IDE2Mi44IDE0OS4yIDE1OS44IDE0OS4yQzE1OS44IDE0OS4yIDE1Mi4yIDE1MS4yIDE1Ni4yIDE0N0MxNjAuMiAxNDIuOCAxNzAuMiAxMzcuNCAxNzQgMTM3LjZMMTc0LjggMTM5LjJMMTg2IDEzNi44TDE4NC44IDEzNy42QzE4NC44IDEzNy42IDE4NC42IDEzNy40IDE4OC44IDEzN0MxOTMgMTM2LjYgMTk4LjggMTM4IDIwMC4yIDEzNi4yQzIwMS42IDEzNC40IDIwNSAxMzMuNCAyMDQuNiAxMzQuOEMyMDQuMiAxMzYuMiAyMDQgMTM4LjIgMjA0IDEzOC4yQzIwNCAxMzguMiAyMDkgMTMyLjQgMjA4LjQgMTM0LjZDMjA3LjggMTM2LjggMTk5LjYgMTQyIDE5OC4yIDE0OC4yTDIwOC42IDE0MEwyMTIuMiAxMzdDMjEyLjIgMTM3IDIxNS44IDEzOS4yIDIxNiAxMzcuNkMyMTYuMiAxMzYgMjIwLjggMTMwLjIgMjIyIDEzMC40QzIyMy4yIDEzMC42IDIyNS4yIDEyNy44IDIyNSAxMzAuNEMyMjQuOCAxMzMgMjMyLjQgMTM4LjQgMjMyLjQgMTM4LjRDMjMyLjQgMTM4LjQgMjM1LjYgMTM2LjYgMjM3IDEzOEMyMzguNCAxMzkuNCAyNDIuNiAxMTguMiAyNDIuNiAxMTguMkwyNjcuNiAxMDcuNkwzMTEuMjAxIDEwNC4yTDI5NC4yMDEgOTcuNEwyMzMuMiA4NnoiLz4KKyA8L2c+CisgPGcgc3R5bGU9InN0cm9rZTojNGMwMDAwOyBzdHJva2Utd2lkdGg6MiI+CisgIDxwYXRoIGQ9Ik0yNTEuNCAyODVDMjUxLjQgMjg1IDIzNi40IDI2OC4yIDIyOCAyNjUuNkMyMjggMjY1LjYgMjE0LjYgMjU4LjggMTkwIDI2Ni42Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJzdHJva2U6IzRjMDAwMDsgc3Ryb2tlLXdpZHRoOjIiPgorICA8cGF0aCBkPSJNMjI0LjggMjY0LjJDMjI0LjggMjY0LjIgMTk5LjYgMjU2LjIgMTg0LjIgMjYwLjRDMTg0LjIgMjYwLjQgMTY1LjggMjYyLjQgMTU3LjQgMjc2LjIiLz4KKyA8L2c+CisgPGcgc3R5bGU9InN0cm9rZTojNGMwMDAwOyBzdHJva2Utd2lkdGg6MiI+CisgIDxwYXRoIGQ9Ik0yMjEuMiAyNjNDMjIxLjIgMjYzIDIwNC4yIDI1NS44IDE4OS40IDI1My42QzE4OS40IDI1My42IDE3Mi44IDI1MSAxNTYuMiAyNTguMkMxNTYuMiAyNTguMiAxNDQgMjY0LjIgMTM4LjYgMjc0LjQiLz4KKyA8L2c+CisgPGcgc3R5bGU9InN0cm9rZTojNGMwMDAwOyBzdHJva2Utd2lkdGg6MiI+CisgIDxwYXRoIGQ9Ik0yMjIuMiAyNjMuNEMyMjIuMiAyNjMuNCAyMDYuOCAyNTIuNCAyMDUuOCAyNTFDMjA1LjggMjUxIDE5OC44IDI0MCAxODUuOCAyMzkuNkMxODUuOCAyMzkuNiAxNjQuNCAyNDAuNCAxNDcuMiAyNDguNCIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0yMjAuODk1IDI1NC40MDdDMjIyLjQzNyAyNTUuODcgMjQ5LjQgMjg0LjggMjQ5LjQgMjg0LjhDMjg0LjYgMzIxLjQwMSAyNTYuNiAyODcuMiAyNTYuNiAyODcuMkMyNDkgMjgyLjQgMjM5LjggMjYzLjYgMjM5LjggMjYzLjZDMjM4LjYgMjYwLjggMjUzLjggMjcwLjggMjUzLjggMjcwLjhDMjU3LjggMjcxLjYgMjcxLjQgMjkwLjggMjcxLjQgMjkwLjhDMjY0LjYgMjg4LjQgMjY5LjQgMjk1LjYgMjY5LjQgMjk1LjZDMjcyLjIgMjk3LjYgMjkyLjYwMSAzMTMuMjAxIDI5Mi42MDEgMzEzLjIwMUMyOTYuMjAxIDMxNy4yMDEgMzAwLjIwMSAzMTguODAxIDMwMC4yMDEgMzE4LjgwMUMzMTQuMjAxIDMxMy42MDEgMzA3LjgwMSAzMjYuODAxIDMwNy44MDEgMzI2LjgwMUMzMTAuMjAxIDMzMy42MDEgMzE1LjgwMSAzMjIuMDAxIDMxNS44MDEgMzIyLjAwMUMzMjcuMDAxIDMwNS4yIDMxMC42MDEgMzA3LjYwMSAzMTAuNjAxIDMwNy42MDFDMjgwLjYgMzEwLjQwMSAyNzMuOCAyOTQuNCAyNzMuOCAyOTQuNEMyNzEuNCAyOTIgMjgwLjIgMjk0LjQgMjgwLjIgMjk0LjRDMjg4LjYwMSAyOTYuNCAyNzMgMjgyIDI3MyAyODJDMjc1LjQgMjgyIDI4NC42IDI4OC44IDI4NC42IDI4OC44QzI5NS4wMDEgMjk4IDI5Ny4wMDEgMjk2IDI5Ny4wMDEgMjk2QzMxNS4wMDEgMjg3LjIgMzI1LjQwMSAyOTQuOCAzMjUuNDAxIDI5NC44QzMyNy40MDEgMjk2LjQgMzIxLjgwMSAzMDMuMiAzMjMuNDAxIDMwOC40MDFDMzI1LjAwMSAzMTMuNjAxIDMyOS44MDEgMzI2LjAwMSAzMjkuODAxIDMyNi4wMDFDMzI3LjQwMSAzMjcuNjAxIDMyNy44MDEgMzM4LjQwMSAzMjcuODAxIDMzOC40MDFDMzQ0LjYwMSAzNjEuNjAxIDMzNS4wMDEgMzU5LjYwMSAzMzUuMDAxIDM1OS42MDFDMzE5LjQwMSAzNTkuMjAxIDMzNC4yMDEgMzY2LjgwMSAzMzQuMjAxIDM2Ni44MDFDMzM3LjQwMSAzNjguODAxIDM0Ni4yMDEgMzc2LjAwMSAzNDYuMjAxIDM3Ni4wMDFDMzQzLjQwMSAzNzQuODAxIDM0MS44MDEgMzgwLjAwMSAzNDEuODAxIDM4MC4wMDFDMzQ2LjYwMSAzODQuMDAxIDM0My44MDEgMzg4LjgwMSAzNDMuODAxIDM4OC44MDFDMzM3LjgwMSAzOTAuMDAxIDMzNi42MDEgMzk0LjAwMSAzMzYuNjAxIDM5NC4wMDFDMzQzLjQwMSA0MDIuMDAxIDMzMy40MDEgNDAyLjQwMSAzMzMuNDAxIDQwMi40MDFDMzM3LjAwMSA0MDYuODAxIDMzMi4yMDEgNDE4LjgwMSAzMzIuMjAxIDQxOC44MDFDMzI3LjQwMSA0MTguODAxIDMyMS4wMDEgNDI0LjQwMSAzMjEuMDAxIDQyNC40MDFDMzIzLjQwMSA0MjkuMjAxIDMxMy4wMDEgNDM0LjgwMSAzMTMuMDAxIDQzNC44MDFDMzA0LjYwMSA0MzYuNDAxIDMwNy40MDEgNDQzLjIwMSAzMDcuNDAxIDQ0My4yMDFDMjk5LjQwMSA0NDkuMjAxIDI5Ny4wMDEgNDY1LjIwMSAyOTcuMDAxIDQ2NS4yMDFDMjk2LjIwMSA0NzUuNjAxIDI5My44MDEgNDc4LjgwMSAyOTkuMDAxIDQ3Ni44MDFDMzA0LjIwMSA0NzQuODAxIDMwMy40MDEgNDYyLjQwMSAzMDMuNDAxIDQ2Mi40MDFDMjk4LjYwMSA0NDYuODAxIDM0MS40MDEgNDMwLjgwMSAzNDEuNDAxIDQzMC44MDFDMzQ1LjQwMSA0MjkuMjAxIDM0Ni4yMDEgNDI0LjAwMSAzNDYuMjAxIDQyNC4wMDFDMzQ4LjIwMSA0MjQuNDAxIDM1Ny4wMDEgNDMyLjAwMSAzNTcuMDAxIDQzMi4wMDFDMzY0LjYwMSA0NDMuMjAxIDM2NS4wMDEgNDM0LjAwMSAzNjUuMDAxIDQzNC4wMDFDMzY2LjIwMSA0MzAuNDAxIDM2NC42MDEgNDI0LjQwMSAzNjQuNjAxIDQyNC40MDFDMzcwLjYwMSA0MDIuODAxIDM1Ni42MDEgMzk2LjQwMSAzNTYuNjAxIDM5Ni40MDFDMzQ2LjYwMSAzNjIuODAxIDM2MC42MDEgMzcxLjIwMSAzNjAuNjAxIDM3MS4yMDFDMzYzLjQwMSAzNzYuODAxIDM3NC4yMDEgMzgyLjAwMSAzNzQuMjAxIDM4Mi4wMDFMMzc3LjgwMSAzNzkuNjAxQzM3Ni4yMDEgMzc0LjgwMSAzODQuNjAxIDM2OC44MDEgMzg0LjYwMSAzNjguODAxQzM4Ny40MDEgMzc1LjIwMSAzOTMuNDAxIDM2Ny4yMDEgMzkzLjQwMSAzNjcuMjAxQzM5Ny4wMDEgMzQyLjgwMSA0MDkuNDAxIDM1Ny4yMDEgNDA5LjQwMSAzNTcuMjAxQzQxMy40MDEgMzU4LjQwMSA0MTQuNjAxIDM1MS42MDEgNDE0LjYwMSAzNTEuNjAxQzQxOC4yMDEgMzQxLjIwMSA0MTQuNjAxIDMyNy42MDEgNDE0LjYwMSAzMjcuNjAxQzQxOC4yMDEgMzI3LjIwMSA0MjcuODAxIDMzMy4yMDEgNDI3LjgwMSAzMzMuMjAxQzQzMC42MDEgMzI5LjYwMSA0MjEuNDAxIDMxMi44MDEgNDI1LjQwMSAzMTUuMjAxQzQyOS40MDEgMzE3LjYwMSA0MzMuODAxIDMxOS4yMDEgNDMzLjgwMSAzMTkuMjAxQzQzNC42MDEgMzE3LjIwMSA0MjQuNjAxIDMwNC44MDEgNDI0LjYwMSAzMDQuODAxQzQyMC4yMDEgMzAyIDQxNS4wMDEgMjgxLjYgNDE1LjAwMSAyODEuNkM0MjIuMjAxIDI4NS4yIDQxMi4yMDEgMjcwIDQxMi4yMDEgMjcwQzQxMi4yMDEgMjY2LjggNDE4LjIwMSAyNTUuNiA0MTguMjAxIDI1NS42QzQxNy40MDEgMjQ4LjggNDE4LjIwMSAyNDkuMiA0MTguMjAxIDI0OS4yQzQyMS4wMDEgMjUwLjQgNDI5LjAwMSAyNTIgNDIyLjIwMSAyNDUuNkM0MTUuNDAxIDIzOS4yIDQyMy4wMDEgMjM0LjQgNDIzLjAwMSAyMzQuNEM0MjcuNDAxIDIzMS42IDQxMy44MDEgMjMyIDQxMy44MDEgMjMyQzQwOC42MDEgMjI3LjYgNDA5LjAwMSAyMjMuNiA0MDkuMDAxIDIyMy42QzQxNy4wMDEgMjI1LjYgNDAyLjYwMSAyMTEuMiA0MDAuMjAxIDIwNy42QzM5Ny44MDEgMjA0IDQwNy40MDEgMTk4LjggNDA3LjQwMSAxOTguOEM0MjAuNjAxIDE5NS4yIDQwOS4wMDEgMTkyIDQwOS4wMDEgMTkyQzM4OS40MDEgMTkyLjQgNDAwLjIwMSAxODEuNiA0MDAuMjAxIDE4MS42QzQwNi4yMDEgMTgyIDQwNC42MDEgMTc5LjYgNDA0LjYwMSAxNzkuNkMzOTkuNDAxIDE3OC40IDM4OS44MDEgMTcyIDM4OS44MDEgMTcyQzM4NS44MDEgMTY4LjQgMzg5LjQwMSAxNjkuMiAzODkuNDAxIDE2OS4yQzQwNi4yMDEgMTcwLjQgMzc3LjQwMSAxNTkuMiAzNzcuNDAxIDE1OS4yQzM4NS40MDEgMTU5LjIgMzY3LjQwMSAxNDguOCAzNjcuNDAxIDE0OC44QzM2NS40MDEgMTQ3LjIgMzYyLjIwMSAxMzkuNiAzNjIuMjAxIDEzOS42QzM1Ni4yMDEgMTM0LjQgMzUxLjQwMSAxMjcuNiAzNTEuNDAxIDEyNy42QzM1MS4wMDEgMTIzLjIgMzQ2LjIwMSAxMTguNCAzNDYuMjAxIDExOC40QzMzNC42MDEgMTA0LjggMzI5LjAwMSAxMDUuMiAzMjkuMDAxIDEwNS4yQzMxNC4yMDEgMTAxLjYgMzA5LjAwMSAxMDIuNCAzMDkuMDAxIDEwMi40TDI1Ni4yIDEwNi44QzIyOS44IDExOS42IDIzNy42IDE0MC42IDIzNy42IDE0MC42QzI0NCAxNDkgMjUzLjIgMTQ1LjIgMjUzLjIgMTQ1LjJDMjU3LjggMTM5IDI2OS40IDE0MS4yIDI2OS40IDE0MS4yQzI4OS44MDEgMTQ0LjQgMjg3LjIwMSAxNDAuOCAyODcuMjAxIDE0MC44QzI4NC44MDEgMTM2LjIgMjY4LjYgMTMwIDI2OC40IDEyOS40QzI2OC4yIDEyOC44IDI1OS40IDEyNS40IDI1OS40IDEyNS40QzI1Ni40IDEyNC4yIDI1MiAxMTUgMjUyIDExNUMyNDguOCAxMTEuNiAyNjQuNiAxMTcuNCAyNjQuNiAxMTcuNEMyNjMuNCAxMTguNCAyNzAuOCAxMjIuNCAyNzAuOCAxMjIuNEMyODguMjAxIDEyMS40IDI5OC44MDEgMTMyLjIgMjk4LjgwMSAxMzIuMkMzMDkuNjAxIDE0OC44IDMwOS44MDEgMTQwLjYgMzA5LjgwMSAxNDAuNkMzMTIuNjAxIDEzMS4yIDMwMC44MDEgMTEwIDMwMC44MDEgMTEwQzMwMS4yMDEgMTA4IDMwOS40MDEgMTE0LjYgMzA5LjQwMSAxMTQuNkMzMTAuODAxIDExMi42IDMxMS42MDEgMTE4LjQgMzExLjYwMSAxMTguNEMzMTEuODAxIDEyMC44IDMxNS42MDEgMTI4LjggMzE1LjYwMSAxMjguOEMzMTguNDAxIDE0MS44IDMyMi4wMDEgMTM0LjQgMzIyLjAwMSAxMzQuNEwzMjYuNjAxIDE0My44QzMyOC4wMDEgMTQ2LjQgMzIyLjAwMSAxNTQgMzIyLjAwMSAxNTRDMzIxLjgwMSAxNTYuOCAzMjIuNjAxIDE1Ni42IDMxNy4wMDEgMTY0LjJDMzExLjQwMSAxNzEuOCAzMTQuODAxIDE3Ni4yIDMxNC44MDEgMTc2LjJDMzEzLjQwMSAxODIuOCAzMjIuMjAxIDE4Mi40IDMyMi4yMDEgMTgyLjRDMzI0LjgwMSAxODQuNiAzMjguMjAxIDE4NC42IDMyOC4yMDEgMTg0LjZDMzMwLjAwMSAxODYuNiAzMzIuNDAxIDE4NiAzMzIuNDAxIDE4NkMzMzQuMDAxIDE4Mi4yIDM0MC4yMDEgMTg0LjIgMzQwLjIwMSAxODQuMkMzNDEuNjAxIDE4MS44IDM0OS44MDEgMTgxLjQgMzQ5LjgwMSAxODEuNEMzNTAuODAxIDE3OC44IDM1MS4yMDEgMTc3LjIgMzU0LjYwMSAxNzYuNkMzNTguMDAxIDE3NiAzMzMuNDAxIDEzMyAzMzMuNDAxIDEzM0MzMzkuODAxIDEzMi4yIDMzMS42MDEgMTE5LjggMzMxLjYwMSAxMTkuOEMzMjkuNDAxIDExMy4yIDM0MC44MDEgMTI3LjggMzQzLjAwMSAxMjkuMkMzNDUuMjAxIDEzMC42IDM0Ni4yMDEgMTMyLjggMzQ0LjYwMSAxMzIuNkMzNDMuMDAxIDEzMi40IDM0MS4yMDEgMTM0LjYgMzQyLjYwMSAxMzQuOEMzNDQuMDAxIDEzNSAzNTcuMDAxIDE1MCAzNjAuNDAxIDE2MC4yQzM2My44MDEgMTcwLjQgMzY5LjgwMSAxNzQuNCAzNzYuMDAxIDE4MC40QzM4Mi4yMDEgMTg2LjQgMzgxLjQwMSAyMTAuNiAzODEuNDAxIDIxMC42QzM4MS4wMDEgMjE5LjQgMzg3LjAwMSAyMzAgMzg3LjAwMSAyMzBDMzg5LjAwMSAyMzMuOCAzODQuODAxIDI1MiAzODQuODAxIDI1MkMzODIuODAxIDI1NC4yIDM4NC4yMDEgMjU1IDM4NC4yMDEgMjU1QzM4NS4yMDEgMjU2LjIgMzkyLjAwMSAyNjkuNCAzOTIuMDAxIDI2OS40QzM5MC4yMDEgMjY5LjIgMzkzLjgwMSAyNzIuOCAzOTMuODAxIDI3Mi44QzM5OS4wMDEgMjc4LjggMzkyLjYwMSAyNzUuOCAzOTIuNjAxIDI3NS44QzM4Ni42MDEgMjc0LjIgMzkzLjYwMSAyODQgMzkzLjYwMSAyODRDMzk0LjgwMSAyODUuOCAzODUuODAxIDI4MS4yIDM4NS44MDEgMjgxLjJDMzc2LjYwMSAyODAuNiAzODguMjAxIDI4Ny44IDM4OC4yMDEgMjg3LjhDMzk2LjgwMSAyOTUgMzg1LjQwMSAyOTAuNiAzODUuNDAxIDI5MC42QzM4MC44MDEgMjg4LjggMzg0LjAwMSAyOTUuNiAzODQuMDAxIDI5NS42QzM4Ny4yMDEgMjk3LjIgNDA0LjQwMSAzMDQuMiA0MDQuNDAxIDMwNC4yQzQwNC44MDEgMzA4LjAwMSA0MDEuODAxIDMxMy4wMDEgNDAxLjgwMSAzMTMuMDAxQzQwMi4yMDEgMzE3LjAwMSA0MDAuMDAxIDMyMC40MDEgNDAwLjAwMSAzMjAuNDAxQzM5OC44MDEgMzI4LjYwMSAzOTguMjAxIDMyOS40MDEgMzk4LjIwMSAzMjkuNDAxQzM5NC4wMDEgMzI5LjYwMSAzODYuNjAxIDM0My40MDEgMzg2LjYwMSAzNDMuNDAxQzM4NC44MDEgMzQ2LjAwMSAzNzQuNjAxIDM1OC4wMDEgMzc0LjYwMSAzNTguMDAxQzM3Mi42MDEgMzY1LjAwMSAzNTQuNjAxIDM1Ny44MDEgMzU0LjYwMSAzNTcuODAxQzM0OC4wMDEgMzYxLjIwMSAzNTAuMDAxIDM1Ny44MDEgMzUwLjAwMSAzNTcuODAxQzM0OS42MDEgMzU1LjYwMSAzNTQuNDAxIDM0OS42MDEgMzU0LjQwMSAzNDkuNjAxQzM2MS40MDEgMzQ3LjAwMSAzNTguODAxIDMzNi4yMDEgMzU4LjgwMSAzMzYuMjAxQzM2Mi44MDEgMzM0LjgwMSAzNTEuNjAxIDMzMi4wMDEgMzUxLjgwMSAzMzAuODAxQzM1Mi4wMDEgMzI5LjYwMSAzNTcuODAxIDMyOC4yMDEgMzU3LjgwMSAzMjguMjAxQzM2NS44MDEgMzI2LjIwMSAzNjEuNDAxIDMyMy44MDEgMzYxLjQwMSAzMjMuODAxQzM2MC44MDEgMzE5LjgwMSAzNjMuODAxIDMxNC4yMDEgMzYzLjgwMSAzMTQuMjAxQzM3NS40MDEgMzEzLjQwMSAzNjMuODAxIDI5Ny4yIDM2My44MDEgMjk3LjJDMzUzLjAwMSAyODkuNiAzNTIuMDAxIDI4My44IDM1Mi4wMDEgMjgzLjhDMzY0LjYwMSAyNzUuNiAzNTYuNDAxIDI2My4yIDM1Ni42MDEgMjU5LjZDMzU2LjgwMSAyNTYgMzU4LjAwMSAyMzQuNCAzNTguMDAxIDIzNC40QzM1Ni4wMDEgMjI4LjIgMzUzLjAwMSAyMTQuNiAzNTMuMDAxIDIxNC42QzM1NS4yMDEgMjA5LjQgMzYyLjYwMSAxOTYuOCAzNjIuNjAxIDE5Ni44QzM2NS40MDEgMTkyLjYgMzc0LjIwMSAxODcuOCAzNzIuMDAxIDE4NC44QzM2OS44MDEgMTgxLjggMzYyLjAwMSAxODMuNiAzNjIuMDAxIDE4My42QzM1NC4yMDEgMTgyLjIgMzU0LjgwMSAxODcuNCAzNTQuODAxIDE4Ny40QzM1My4yMDEgMTg4LjQgMzUyLjQwMSAxOTMuNCAzNTIuNDAxIDE5My40QzM1MS42OCAyMDEuMzMzIDM0Mi44MDEgMjA3LjYgMzQyLjgwMSAyMDcuNkMzMzEuNjAxIDIxMy44IDM0MC44MDEgMjE3LjggMzQwLjgwMSAyMTcuOEMzNDYuODAxIDIyNC40IDMzNy4wMDEgMjI0LjYgMzM3LjAwMSAyMjQuNkMzMjYuMDAxIDIyMi44IDMzNC4yMDEgMjMzIDMzNC4yMDEgMjMzQzM0NS4wMDEgMjQ1LjggMzQyLjAwMSAyNDguNiAzNDIuMDAxIDI0OC42QzMzMS44MDEgMjQ5LjYgMzQ0LjQwMSAyNTguOCAzNDQuNDAxIDI1OC44QzM0NC40MDEgMjU4LjggMzQzLjYwMSAyNTYuOCAzNDMuODAxIDI1OC42QzM0NC4wMDEgMjYwLjQgMzQ3LjAwMSAyNjQuNiAzNDcuODAxIDI2Ni42QzM0OC42MDEgMjY4LjYgMzQ0LjYwMSAyNjguOCAzNDQuNjAxIDI2OC44QzM0NS4yMDEgMjc4LjQgMzI5LjgwMSAyNzQuMiAzMjkuODAxIDI3NC4yQzMyOS44MDEgMjc0LjIgMzI5LjgwMSAyNzQuMiAzMjguMjAxIDI3NC40QzMyNi42MDEgMjc0LjYgMzE1LjQwMSAyNzMuOCAzMDkuNjAxIDI3MS42QzMwMy44MDEgMjY5LjQgMjk3LjAwMSAyNjkuNCAyOTcuMDAxIDI2OS40QzI5Ny4wMDEgMjY5LjQgMjkzLjAwMSAyNzEuMiAyODUuNCAyNzFDMjc3LjggMjcwLjggMjY5LjggMjczLjYgMjY5LjggMjczLjZDMjY1LjQgMjczLjIgMjc0IDI2OC44IDI3NC4yIDI2OUMyNzQuNCAyNjkuMiAyODAgMjYzLjYgMjcyIDI2NC4yQzI1MC4yMDMgMjY1LjgzNSAyMzkuNCAyNTUuNiAyMzkuNCAyNTUuNkMyMzcuNCAyNTQuMiAyMzQuOCAyNTEuNCAyMzQuOCAyNTEuNEMyMjQuOCAyNDkuNCAyMzYuMiAyNjMuOCAyMzYuMiAyNjMuOEMyMzcuNCAyNjUuMiAyMzYgMjY2LjIgMjM2IDI2Ni4yQzIzNS4yIDI2NC42IDIyNy40IDI1OS4yIDIyNy40IDI1OS4yQzIyNC41ODkgMjU4LjIyNyAyMjMuMjI2IDI1Ni44OTMgMjIwLjg5NSAyNTQuNDA3eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzRjMDAwMCI+CisgIDxwYXRoIGQ9Ik0xOTcgMjQyLjhDMTk3IDI0Mi44IDIwOC42IDI0OC40IDIxMS4yIDI1MS4yQzIxMy44IDI1NCAyMjcuOCAyNjUuNCAyMjcuOCAyNjUuNEMyMjcuOCAyNjUuNCAyMjIuNCAyNjMuNCAyMTkuOCAyNjEuNkMyMTcuMiAyNTkuOCAyMDYuNCAyNTEuNiAyMDYuNCAyNTEuNkMyMDYuNCAyNTEuNiAyMDIuNiAyNDUuNiAxOTcgMjQyLjh6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjOTljYzMyIj4KKyAgPHBhdGggZD0iTTEzOC45OTEgMjExLjYwM0MxMzkuMzI4IDIxMS40NTUgMTM4LjgwNCAyMDguNzQzIDEzOC42IDIwOC4yQzEzNy41NzggMjA1LjQ3NCAxMjguNiAyMDQgMTI4LjYgMjA0QzEyOC4zNzMgMjA1LjM2NSAxMjguMzE4IDIwNi45NjEgMTI4LjQyNCAyMDguNTk5QzEyOC40MjQgMjA4LjU5OSAxMzMuMjkyIDIxNC4xMTggMTM4Ljk5MSAyMTEuNjAzeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzY1OTkwMCI+CisgIDxwYXRoIGQ9Ik0xMzguOTkxIDIxMS40MDNDMTM4LjU0MiAyMTEuNTYxIDEzOC45NzYgMjA4LjY2OSAxMzguOCAyMDguMkMxMzcuNzc4IDIwNS40NzQgMTI4LjYgMjAzLjkgMTI4LjYgMjAzLjlDMTI4LjM3MyAyMDUuMjY1IDEyOC4zMTggMjA2Ljg2MSAxMjguNDI0IDIwOC40OTlDMTI4LjQyNCAyMDguNDk5IDEzMi42OTIgMjEzLjYxOCAxMzguOTkxIDIxMS40MDN6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjMDAwMDAwIj4KKyAgPHBhdGggZD0iTTEzNC42IDIxMS41NDZDMTMzLjk3NSAyMTEuNTQ2IDEzMy40NjkgMjEwLjQwNiAxMzMuNDY5IDIwOUMxMzMuNDY5IDIwNy41OTUgMTMzLjk3NSAyMDYuNDU1IDEzNC42IDIwNi40NTVDMTM1LjIyNSAyMDYuNDU1IDEzNS43MzIgMjA3LjU5NSAxMzUuNzMyIDIwOUMxMzUuNzMyIDIxMC40MDYgMTM1LjIyNSAyMTEuNTQ2IDEzNC42IDIxMS41NDZ6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjMDAwMDAwIj4KKyAgPHBhdGggZD0iTTEzNC42IDIwOXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICMwMDAwMDAiPgorICA8cGF0aCBkPSJNODkgMzA5LjYwMUM4OSAzMDkuNjAxIDgzLjQgMzE5LjYwMSAxMDguMiAzMTMuNjAxQzEwOC4yIDMxMy42MDEgMTIyLjIgMzEyLjQwMSAxMjQuNiAzMTAuMDAxQzEyNS44IDMxMC44MDEgMTM0LjE2NiAzMTMuNzM0IDEzNyAzMTQuNDAxQzE0My44IDMxNi4wMDEgMTUyLjIgMzA2IDE1Mi4yIDMwNkMxNTIuMiAzMDYgMTU2LjggMjk1LjUgMTU5LjYgMjk1LjVDMTYyLjQgMjk1LjUgMTU5LjIgMjk3LjEgMTU5LjIgMjk3LjFDMTU5LjIgMjk3LjEgMTUyLjYgMzA3LjIwMSAxNTMgMzA4LjgwMUMxNTMgMzA4LjgwMSAxNDcuOCAzMjguODAxIDEzMS44IDMyOS42MDFDMTMxLjggMzI5LjYwMSAxMTUuNjUgMzMwLjU1MSAxMTcgMzM2LjQwMUMxMTcgMzM2LjQwMSAxMjUuOCAzMzQuMDAxIDEyOC4yIDMzNi40MDFDMTI4LjIgMzM2LjQwMSAxMzkgMzM2LjAwMSAxMzEgMzQyLjQwMUwxMjQuMiAzNTQuMDAxQzEyNC4yIDM1NC4wMDEgMTI0LjM0IDM1Ny45MTkgMTE0LjIgMzU0LjQwMUMxMDQuNCAzNTEuMDAxIDk0LjEgMzM4LjEwMSA5NC4xIDMzOC4xMDFDOTQuMSAzMzguMTAxIDc4LjE1IDMyMy41NTEgODkgMzA5LjYwMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNlNTk5OTkiPgorICA8cGF0aCBkPSJNODcuOCAzMTMuNjAxQzg3LjggMzEzLjYwMSA4NS44IDMyMy4yMDEgMTIyLjYgMzEyLjgwMUMxMjIuNiAzMTIuODAxIDEyNyAzMTIuODAxIDEyOS40IDMxMy42MDFDMTMxLjggMzE0LjQwMSAxNDMuOCAzMTcuMjAxIDE0NS44IDMxNi4wMDFDMTQ1LjggMzE2LjAwMSAxMzguNiAzMjkuNjAxIDEyNyAzMjguMDAxQzEyNyAzMjguMDAxIDExMy44IDMyOS42MDEgMTE0LjIgMzM0LjQwMUMxMTQuMiAzMzQuNDAxIDExOC4yIDM0MS42MDEgMTIzIDM0NC4wMDFDMTIzIDM0NC4wMDEgMTI1LjggMzQ2LjQwMSAxMjUuNCAzNDkuNjAxQzEyNSAzNTIuODAxIDEyMi4yIDM1NC40MDEgMTIwLjIgMzU1LjIwMUMxMTguMiAzNTYuMDAxIDExNSAzNTIuODAxIDExMy40IDM1Mi44MDFDMTExLjggMzUyLjgwMSAxMDMuNCAzNDYuNDAxIDk5IDM0MS42MDFDOTQuNiAzMzYuODAxIDg2LjIgMzI0LjgwMSA4Ni42IDMyMi4wMDFDODcgMzE5LjIwMSA4Ny44IDMxMy42MDEgODcuOCAzMTMuNjAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2IyNjU2NSI+CisgIDxwYXRoIGQ9Ik05MSAzMzEuMDUxQzkzLjYgMzM1LjAwMSA5Ni44IDMzOS4yMDEgOTkgMzQxLjYwMUMxMDMuNCAzNDYuNDAxIDExMS44IDM1Mi44MDEgMTEzLjQgMzUyLjgwMUMxMTUgMzUyLjgwMSAxMTguMiAzNTYuMDAxIDEyMC4yIDM1NS4yMDFDMTIyLjIgMzU0LjQwMSAxMjUgMzUyLjgwMSAxMjUuNCAzNDkuNjAxQzEyNS44IDM0Ni40MDEgMTIzIDM0NC4wMDEgMTIzIDM0NC4wMDFDMTE5LjkzNCAzNDIuNDY4IDExNy4xOTQgMzM4Ljk3NiAxMTUuNjE1IDMzNi42NTNDMTE1LjYxNSAzMzYuNjUzIDExNS44IDMzOS4yMDEgMTEwLjYgMzM4LjQwMUMxMDUuNCAzMzcuNjAxIDEwMC4yIDMzNC44MDEgOTguNiAzMzEuNjAxQzk3IDMyOC40MDEgOTQuNiAzMjYuMDAxIDk2LjIgMzI5LjYwMUM5Ny44IDMzMy4yMDEgMTAwLjIgMzM2LjgwMSAxMDEuOCAzMzcuMjAxQzEwMy40IDMzNy42MDEgMTAzIDMzOC44MDEgMTAwLjYgMzM4LjQwMUM5OC4yIDMzOC4wMDEgOTUuNCAzMzcuNjAxIDkxIDMzMi40MDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjOTkyNjAwIj4KKyAgPHBhdGggZD0iTTg4LjQgMzEwLjAwMUM4OC40IDMxMC4wMDEgOTAuMiAyOTYuNCA5MS40IDI5Mi40QzkxLjQgMjkyLjQgOTAuNiAyODUuNiA5MyAyODEuNEM5NS40IDI3Ny4yIDk3LjQgMjcxIDEwMC40IDI2NS42QzEwMy40IDI2MC4yIDEwMy42IDI1Ni4yIDEwNy42IDI1NC42QzExMS42IDI1MyAxMTcuNiAyNDQuNCAxMjAuNCAyNDMuNEMxMjMuMiAyNDIuNCAxMjMgMjQzLjIgMTIzIDI0My4yQzEyMyAyNDMuMiAxMjkuOCAyMjguNCAxNDMuNCAyMzIuNEMxNDMuNCAyMzIuNCAxMjcuMiAyMjkuNiAxNDMgMjIwLjJDMTQzIDIyMC4yIDEzOC4yIDIyMS4zIDE0MS41IDIxNC4zQzE0My43MDEgMjA5LjYzMiAxNDMuMiAyMTYuNCAxMzIuMiAyMjguMkMxMzIuMiAyMjguMiAxMjcuMiAyMzYuOCAxMjIgMjM5LjhDMTE2LjggMjQyLjggMTA0LjggMjQ5LjggMTAzLjYgMjUzLjZDMTAyLjQgMjU3LjQgOTkuMiAyNjMuMiA5Ny4yIDI2NC44Qzk1LjIgMjY2LjQgOTIuNCAyNzAuNiA5MiAyNzRDOTIgMjc0IDkwLjggMjc4IDg5LjQgMjc5LjJDODggMjgwLjQgODcuOCAyODMuNiA4Ny44IDI4NS42Qzg3LjggMjg3LjYgODUuOCAyOTAuNCA4NiAyOTIuOEM4NiAyOTIuOCA4Ni44IDMxMS44MDEgODYuNCAzMTMuODAxTDg4LjQgMzEwLjAwMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmZmYiPgorICA8cGF0aCBkPSJNNzkuOCAzMTQuNjAxQzc5LjggMzE0LjYwMSA3Ny44IDMxMy4yMDEgNzMuNCAzMTkuMjAxQzczLjQgMzE5LjIwMSA4MC43IDM1Mi4yMDEgODAuNyAzNTMuNjAxQzgwLjcgMzUzLjYwMSA4MS44IDM1MS41MDEgODAuNSAzNDQuMzAxQzc5LjIgMzM3LjEwMSA3OC4zIDMyNC40MDEgNzguMyAzMjQuNDAxTDc5LjggMzE0LjYwMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICM5OTI2MDAiPgorICA8cGF0aCBkPSJNMTAxLjQgMjU0QzEwMS40IDI1NCA4My44IDI1Ny4yIDg0LjIgMjg2LjRMODMuNCAzMTEuMjAxQzgzLjQgMzExLjIwMSA4Mi4yIDI4NS42IDgxIDI4NEM3OS44IDI4Mi40IDgzLjggMjcxLjIgODAuNiAyNzcuMkM4MC42IDI3Ny4yIDY2LjYgMjkxLjIgNzQuNiAzMTIuNDAxQzc0LjYgMzEyLjQwMSA3Ni4xIDMxNS43MDEgNzMuMSAzMTEuMTAxQzczLjEgMzExLjEwMSA2OC41IDI5OC41IDY5LjYgMjkyLjFDNjkuNiAyOTIuMSA2OS44IDI4OS45IDcxLjcgMjg3LjFDNzEuNyAyODcuMSA4MC4zIDI3NS40IDgzIDI3My4xQzgzIDI3My4xIDg0LjggMjU4LjcgMTAwLjIgMjUzLjVDMTAwLjIgMjUzLjUgMTA1LjkgMjUxLjIgMTAxLjQgMjU0eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0yNDAuOCAxODcuOEMyNDEuNDYgMTg3LjQ0NiAyNDEuNDUxIDE4Ni40NzYgMjQyLjAzMSAxODYuMzAzQzI0My4xOCAxODUuOTU5IDI0My4zNDQgMTg0Ljg5MiAyNDMuODYyIDE4NC4xMDhDMjQ0LjczNSAxODIuNzg5IDI0NC45MjggMTgxLjI1NiAyNDUuNTEgMTc5Ljc2NUMyNDUuNzgyIDE3OS4wNjUgMjQ1LjgwOSAxNzguMTEgMjQ1LjQ5NiAxNzcuNDVDMjQ0LjMyMiAxNzQuOTY5IDI0My42MiAxNzIuNTIgMjQyLjE3OCAxNzAuMDk0QzI0MS45MSAxNjkuNjQ0IDI0MS42NDggMTY4Ljg1IDI0MS40NDcgMTY4LjI1MkMyNDAuOTg0IDE2Ni44NjggMjM5LjcyNyAxNjUuODc3IDIzOC44NjcgMTY0LjU1N0MyMzguNTc5IDE2NC4xMTYgMjM5LjEwNCAxNjMuMTkxIDIzOC4zODggMTYzLjEwN0MyMzcuNDkxIDE2My4wMDIgMjM2LjA0MiAxNjIuNDIyIDIzNS44MDkgMTYzLjQ0OEMyMzUuMjIxIDE2Ni4wMzUgMjM2LjIzMiAxNjguNTU4IDIzNy4yIDE3MUMyMzYuNDE4IDE3MS42OTIgMjM2Ljc1MiAxNzIuNjEzIDIzNi45MDQgMTczLjM4QzIzNy42MTQgMTc2Ljk4NiAyMzYuNDE2IDE4MC4zMzggMjM1LjY1NSAxODMuODEyQzIzNS42MzIgMTgzLjkxNiAyMzUuOTc0IDE4NC4xMTQgMjM1Ljk0NiAxODQuMTc2QzIzNC43MjQgMTg2Ljg2MiAyMzMuMjcyIDE4OS4zMDcgMjMxLjQ1MyAxOTEuNjg4QzIzMC42OTUgMTkyLjY4IDIyOS44MjMgMTkzLjU5NiAyMjkuMzI2IDE5NC42NTlDMjI4Ljk1OCAxOTUuNDQ2IDIyOC41NSAxOTYuNDEyIDIyOC44IDE5Ny40QzIyNS4zNjUgMjAwLjE4IDIyMy4xMTUgMjA0LjAyNSAyMjAuNTA0IDIwNy44NzFDMjIwLjA0MiAyMDguNTUxIDIyMC4zMzMgMjA5Ljc2IDIyMC44ODQgMjEwLjAyOUMyMjEuNjk3IDIxMC40MjcgMjIyLjY1MyAyMDkuNDAzIDIyMy4xMjMgMjA4LjU1N0MyMjMuNTEyIDIwNy44NTkgMjIzLjg2NSAyMDcuMjA5IDIyNC4zNTYgMjA2LjU2NkMyMjQuNDg5IDIwNi4zOTEgMjI0LjMxIDIwNS45NzIgMjI0LjQ0NSAyMDUuODUxQzIyNy4wNzggMjAzLjUwNCAyMjguNzQ3IDIwMC41NjggMjMxLjIgMTk4LjJDMjMzLjE1IDE5Ny44NzEgMjM0LjY4NyAxOTYuODczIDIzNi40MzUgMTk1Ljg2QzIzNi43NDMgMTk1LjY4MSAyMzcuMjY3IDE5NS45MyAyMzcuNTU3IDE5NS43MzVDMjM5LjMxIDE5NC41NTggMjM5LjMwOCAxOTIuNTIyIDIzOS40MTQgMTkwLjYxMkMyMzkuNDY0IDE4OS43MjggMjM5LjY2IDE4OC40MTEgMjQwLjggMTg3Ljh6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjMDAwMDAwIj4KKyAgPHBhdGggZD0iTTIzMS45NTkgMTgzLjMzNEMyMzIuMDgzIDE4My4yNTcgMjMxLjkyOCAxODIuODM0IDIzMi4wMzcgMTgyLjYxOEMyMzIuMTk5IDE4Mi4yOTQgMjMyLjYwMiAxODIuMTA2IDIzMi43NjQgMTgxLjc4MkMyMzIuODczIDE4MS41NjYgMjMyLjcxIDE4MS4xODYgMjMyLjg0NiAxODEuMDQ0QzIzNS4xNzkgMTc4LjU5NyAyMzUuNDM2IDE3NS41NzMgMjM0LjQgMTcyLjZDMjM1LjQyNCAxNzEuOTggMjM1LjQ4NSAxNzAuNzE4IDIzNS4wNiAxNjkuODcxQzIzNC4yMDcgMTY4LjE3MSAyMzQuMDE0IDE2Ni4yNDUgMjMzLjAzOSAxNjQuNzAyQzIzMi4yMzcgMTYzLjQzMyAyMzAuNjU5IDE2Mi4xODkgMjI5LjI4OCAxNjMuNDkyQzIyOC44NjcgMTYzLjg5MiAyMjguNTQ2IDE2NC42NzkgMjI4LjgyNCAxNjUuMzkxQzIyOC44ODggMTY1LjU1NCAyMjkuMTczIDE2NS43IDIyOS4xNDYgMTY1Ljc4MkMyMjkuMDM5IDE2Ni4xMDYgMjI4LjQ5MyAxNjYuMzMgMjI4LjQ4NyAxNjYuNjAyQzIyOC40NTcgMTY4LjA5OCAyMjcuNTAzIDE2OS42MDkgMjI4LjEzMyAxNzAuOTM4QzIyOC45MDUgMTcyLjU2NyAyMjkuNzI0IDE3NC40MjQgMjMwLjQgMTc2LjJDMjI5LjE2NiAxNzguMzE2IDIzMC4xOTkgMTgwLjc2NSAyMjguNDQ2IDE4Mi42NDJDMjI4LjMxIDE4Mi43ODggMjI4LjMxOSAxODMuMTc0IDIyOC40NDEgMTgzLjM3NkMyMjguNzMzIDE4My44NjIgMjI5LjEzOSAxODQuMjY4IDIyOS42MjUgMTg0LjU2QzIyOS44MjcgMTg0LjY4MSAyMzAuMTc1IDE4NC42ODMgMjMwLjM3NSAxODQuNTU5QzIzMC45NTMgMTg0LjE5NyAyMzEuMzUxIDE4My43MSAyMzEuOTU5IDE4My4zMzR6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjMDAwMDAwIj4KKyAgPHBhdGggZD0iTTI5NC43NzEgMTczLjAyM0MyOTYuMTYgMTc0LjgxNSAyOTYuNDUgMTc3LjYxIDI5NC40MDEgMTc5QzI5NC45NTEgMTgyLjMwOSAyOTguMzAyIDE4MC4zMyAzMDAuNDAxIDE3OS44QzMwMC4yOTIgMTc5LjQxMiAzMDAuNTE5IDE3OS4wNjggMzAwLjgwMiAxNzkuMDYzQzMwMS44NTkgMTc5LjA0OCAzMDIuNTM5IDE3OC4wMTYgMzAzLjYwMSAxNzguMkMzMDQuMDM1IDE3Ni42NDMgMzA1LjY3MyAxNzUuOTQxIDMwNi4zMTcgMTc0LjU2MUMzMDguMDQzIDE3MC44NjYgMzA3LjQ1MiAxNjYuNTkzIDMwNC44NjggMTYzLjM0N0MzMDQuNjY2IDE2My4wOTMgMzA0Ljg4MyAxNjIuNTc2IDMwNC43NTkgMTYyLjIxNEMzMDQuMDAzIDE2MC4wMDMgMzAxLjkzNSAxNTkuNjg4IDMwMC4wMDEgMTU5QzI5OC44MjQgMTU1LjEyNSAyOTguMTYzIDE1MS4wOTQgMjk2LjQwMSAxNDcuNEMyOTQuNzg3IDE0Ny4xNSAyOTQuMDg5IDE0NS40MTEgMjkyLjc1MiAxNDQuNjkxQzI5MS40MTkgMTQzLjk3MiAyOTAuODUxIDE0NS41NTEgMjkwLjg5MiAxNDYuNTk3QzI5MC44OTkgMTQ2LjgwMiAyOTEuMzUxIDE0Ny4wMjYgMjkxLjE4MSAxNDcuMzkxQzI5MS4xMDUgMTQ3LjU1NSAyOTAuODQ1IDE0Ny42NjYgMjkwLjg0NSAxNDcuOEMyOTAuODQ2IDE0Ny45MzUgMjkxLjA2NyAxNDguMDY2IDI5MS4yMDEgMTQ4LjJDMjkwLjI4MyAxNDkuMDIgMjg4Ljg2IDE0OS40OTcgMjg4LjU2NSAxNTAuNjQyQzI4Ny42MTEgMTU0LjM1MiAyOTAuMTg0IDE1Ny40NzcgMjkxLjg1MiAxNjAuNjc4QzI5Mi40NDMgMTYxLjgxMyAyOTEuNzA3IDE2My4wODQgMjkwLjk0NyAxNjQuMjkyQzI5MC41MDkgMTY0Ljk4NyAyOTAuNjE3IDE2Ni4xMTQgMjkwLjg5MyAxNjYuOTdDMjkxLjY0NSAxNjkuMzAxIDI5My4yMzYgMTcxLjA0IDI5NC43NzEgMTczLjAyM3oiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICMwMDAwMDAiPgorICA8cGF0aCBkPSJNMjU3LjYxMSAxOTEuNDA5QzI1Ni4xMjQgMTkzLjI2IDI1Mi43MTIgMTk1LjgyOSAyNTUuNjI5IDE5Ny43NTdDMjU1LjgyMyAxOTcuODg2IDI1Ni4xOTMgMTk3Ljg5IDI1Ni4zNjYgMTk3Ljc1NkMyNTguMzg3IDE5Ni4xOTEgMjYwLjM5IDE5NS4yODggMjYyLjgyNiAxOTQuNzA2QzI2Mi45NSAxOTQuNjc3IDI2My4yMjQgMTk1LjE0NCAyNjMuNTkzIDE5NC45ODNDMjY1LjIwNiAxOTQuMjggMjY3LjIxNiAxOTQuMzM4IDI2OC40IDE5M0MyNzIuMTY3IDE5My4yMjQgMjc1LjczMiAxOTIuMTA4IDI3OS4xMjMgMTkwLjhDMjgwLjI4NCAxOTAuMzUyIDI4MS41NTQgMTg5Ljc5MyAyODIuNzU1IDE4OS4yOTFDMjg0LjEzMSAxODguNzE1IDI4NS4zMzUgMTg3Ljc4NyAyODYuNDQ3IDE4Ni42NDZDMjg2LjU4IDE4Ni41MSAyODYuOTM0IDE4Ni42IDI4Ny4yMDEgMTg2LjZDMjg3LjE2MSAxODUuNzM3IDI4OC4xMjMgMTg1LjYxIDI4OC4zNyAxODQuOTg4QzI4OC40NjIgMTg0Ljc1NiAyODguMzEyIDE4NC4zNiAyODguNDQ1IDE4NC4yNThDMjkwLjU4MyAxODIuNjI4IDI5MS41MDMgMTgwLjYxIDI5MC4zMzQgMTc4LjIzM0MyOTAuMDQ5IDE3Ny42NTUgMjg5LjggMTc3LjAzNyAyODkuMjM0IDE3Ni41NjFDMjg4LjE0OSAxNzUuNjUgMjg3LjA0NyAxNzYuNTA0IDI4NiAxNzYuMkMyODUuODQxIDE3Ni44MjggMjg1LjExMiAxNzYuNjU2IDI4NC43MjYgMTc2Ljg1NEMyODMuODY3IDE3Ny4yOTMgMjgyLjUzNCAxNzYuNzA4IDI4MS42NzUgMTc3LjE0NkMyODAuMzEzIDE3Ny44NDEgMjc5LjA3MiAxNzguMDEgMjc3LjY1IDE3OC4zODdDMjc3LjMzOCAxNzguNDY5IDI3Ni41NiAxNzguMzczIDI3Ni40IDE3OUMyNzYuMjY2IDE3OC44NjYgMjc2LjExOCAxNzguNjMyIDI3Ni4wMTIgMTc4LjY1NEMyNzQuMTA0IDE3OS4wNSAyNzIuODQ0IDE3OS4yNjQgMjcxLjU0MyAxODAuOTU2QzI3MS40NCAxODEuMDg5IDI3MC45OTggMTgwLjkxIDI3MC44MzkgMTgxLjA0NUMyNjkuODgyIDE4MS44NTMgMjY5LjQ3NyAxODMuMDg3IDI2OC4zNzYgMTgzLjc1OUMyNjguMTc1IDE4My44ODIgMjY3LjgyMyAxODMuNzE0IDI2Ny42MjkgMTgzLjg0M0MyNjYuOTgzIDE4NC4yNzQgMjY2LjYxNiAxODQuOTE1IDI2NS45NzQgMTg1LjM2MkMyNjUuNjQ1IDE4NS41OTEgMjY1LjI0NSAxODUuMjY2IDI2NS4yNzcgMTg1LjAxQzI2NS41MjIgMTgzLjA2MyAyNjYuMTc1IDE4MS4yNzYgMjY1LjYgMTc5LjRDMjY3LjY3NyAxNzYuODggMjcwLjE5NCAxNzQuOTMxIDI3MiAxNzIuMkMyNzIuMDE1IDE3MC4wMzQgMjcyLjcwNyAxNjcuODg4IDI3Mi41OTQgMTY1LjgxMUMyNzIuNTg0IDE2NS42MTggMjcyLjI5NiAxNjQuODg1IDI3Mi4xNyAxNjQuNTM4QzI3MS44NTggMTYzLjY4NCAyNzIuNzY0IDE2Mi42MTggMjcxLjkyIDE2MS44OTRDMjcwLjUxNiAxNjAuNjkxIDI2OS4yMjQgMTYxLjU2NyAyNjguNCAxNjNDMjY2LjU2MiAxNjMuMzkgMjY0LjQ5NiAxNjQuMDgzIDI2Mi45MTggMTYyLjg0OUMyNjEuOTExIDE2Mi4wNjIgMjYxLjMzMyAxNjEuMTU2IDI2MC41MzQgMTYwLjFDMjU5LjU0OSAxNTguNzk4IDI1OS44ODQgMTU3LjM2MiAyNTkuOTU0IDE1NS43OThDMjU5Ljk2IDE1NS42NyAyNTkuNjQ1IDE1NS41MzQgMjU5LjY0NSAxNTUuNEMyNTkuNjQ2IDE1NS4yNjUgMjU5Ljg2NiAxNTUuMTM0IDI2MCAxNTVDMjU5LjI5NCAxNTQuMzc0IDI1OS4wMTkgMTUzLjMxNiAyNTggMTUzQzI1OC4zMDUgMTUxLjkwOCAyNTcuNjI5IDE1MS4wMjQgMjU2Ljc1OCAxNTAuNzIyQzI1NC43NjMgMTUwLjAzMSAyNTMuMDg2IDE1MS45NDMgMjUxLjE5NCAxNTIuMDE2QzI1MC42OCAxNTIuMDM1IDI1MC4yMTMgMTUwLjk5NyAyNDkuNTY0IDE1MC42NzJDMjQ5LjEzMiAxNTAuNDU2IDI0OC40MjggMTUwLjQyMyAyNDguMDY2IDE1MC42ODlDMjQ3LjM3OCAxNTEuMTkzIDI0Ni43ODkgMTUxLjMwNyAyNDYuMDMxIDE1MS41MTJDMjQ0LjQxNCAxNTEuOTQ4IDI0My4xMzYgMTUzLjA0MiAyNDEuNjU2IDE1My44OTdDMjQwLjE3MSAxNTQuNzU0IDIzOS4yMTYgMTU2LjE5MSAyMzguMTM2IDE1Ny41MTFDMjM3LjE5NSAxNTguNjYzIDIzNy4wNTkgMTYxLjA3NyAyMzguNDc5IDE2MS41NzdDMjQwLjMyMiAxNjIuMjI3IDI0MS42MjYgMTU5LjUyNCAyNDMuNTkyIDE1OS44NUMyNDMuOTA0IDE1OS45MDEgMjQ0LjExIDE2MC4yMTIgMjQ0IDE2MC42QzI0NC4zODkgMTYwLjcwOSAyNDQuNjA3IDE2MC40OCAyNDQuOCAxNjAuMkMyNDUuNjU4IDE2MS4yMTkgMjQ2LjgyMiAxNjEuNTU2IDI0Ny43NiAxNjIuNDI5QzI0OC43MyAxNjMuMzMzIDI1MC40NzYgMTYyLjkxNSAyNTEuNDkxIDE2My45MTJDMjUzLjAyIDE2NS40MTQgMjUyLjQ2MSAxNjguMDk1IDI1NC40IDE2OS40QzI1My44MTQgMTcwLjcxMyAyNTMuMjA3IDE3MS45OSAyNTIuODcyIDE3My40MTdDMjUyLjU5IDE3NC42MjMgMjUzLjU4NCAxNzUuODIgMjU0Ljc5NSAxNzUuNzI5QzI1Ni4wNTMgMTc1LjYzNSAyNTYuMzE1IDE3NC44NzYgMjU2LjggMTczLjhDMjU3LjA2NyAxNzQuMDY3IDI1Ny41MzYgMTc0LjM2NCAyNTcuNDk1IDE3NC41OEMyNTcuMDM4IDE3Ni45NjcgMjU2LjAxMSAxNzguOTYgMjU1LjU1MyAxODEuMzkxQzI1NS40OTQgMTgxLjcwOCAyNTUuMTg5IDE4MS45MSAyNTQuOCAxODEuOEMyNTQuMzMyIDE4NS45NDkgMjUwLjI4IDE4OC4zNDMgMjQ3LjczNSAxOTEuNTA4QzI0Ny4zMzIgMTkyLjAxIDI0Ny4zMjggMTkzLjI1OSAyNDcuNzM3IDE5My42NjJDMjQ5LjE0IDE5NS4wNDkgMjUxLjEgMTkzLjUwMyAyNTIuOCAxOTNDMjUzLjAxMyAxOTEuNzk0IDI1My44NzIgMTkwLjg1MiAyNTUuMjA0IDE5MC45MDhDMjU1LjQ2IDE5MC45MTggMjU1LjY5NSAxOTAuMzc2IDI1Ni4wMTkgMTkwLjI0NkMyNTYuMzY3IDE5MC4xMDggMjU2Ljg2OSAxOTAuMzMyIDI1Ny4xNTUgMTkwLjEzNEMyNTguODg0IDE4OC45MzkgMjYwLjI5MiAxODcuODMzIDI2Mi4wMyAxODYuNjQ0QzI2Mi4yMjIgMTg2LjUxMyAyNjIuNTY2IDE4Ni42NzIgMjYyLjc4MiAxODYuNTY0QzI2My4xMDcgMTg2LjQwMiAyNjMuMjk0IDE4Ni4wMTUgMjYzLjYxNyAxODUuODNDMjYzLjk2NSAxODUuNjMgMjY0LjIwNyAxODUuOTIgMjY0LjQgMTg2LjJDMjYzLjc1NCAxODYuNTQ5IDI2My43NSAxODcuNTA2IDI2My4xNjggMTg3LjcwOEMyNjIuMzkzIDE4Ny45NzYgMjYxLjgzMiAxODguNDg5IDI2MS4xNTggMTg4LjkzNkMyNjAuODY2IDE4OS4xMjkgMjYwLjIwNyAxODguODgxIDI2MC4xMDMgMTg5LjA2QzI1OS41MDUgMTkwLjA4OCAyNTguMzIxIDE5MC41MjYgMjU3LjYxMSAxOTEuNDA5eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0yMDIuMiAxNDJDMjAyLjIgMTQyIDE5Mi45NjIgMTM5LjEyOCAxODEuOCAxNjQuOEMxODEuOCAxNjQuOCAxNzkuNCAxNzAgMTc3IDE3MkMxNzQuNiAxNzQgMTYzLjQgMTc3LjYgMTYxLjQgMTgxLjZMMTUxIDE5Ny42QzE1MSAxOTcuNiAxNjUuOCAxODEuNiAxNjkgMTc5LjJDMTY5IDE3OS4yIDE3NyAxNzAuOCAxNzMuOCAxNzcuNkMxNzMuOCAxNzcuNiAxNTkuOCAxODguNCAxNjEgMTk3LjZDMTYxIDE5Ny42IDE1NS40IDIxMiAxNTQuNiAyMTRDMTU0LjYgMjE0IDE3MC42IDE4MiAxNzMgMTgwLjhDMTc1LjQgMTc5LjYgMTc2LjYgMTc5LjYgMTc1LjQgMTgzLjJDMTc0LjIgMTg2LjggMTczLjggMjAzLjIgMTcxIDIwNS4yQzE3MSAyMDUuMiAxNzkgMTg0LjggMTc4LjIgMTgxLjZDMTc4LjIgMTgxLjYgMTgxLjQgMTc4IDE4My44IDE4My4yTDE4Mi42IDE5OS4yTDE4NyAyMTEuMkMxODcgMjExLjIgMTg0LjYgMjAwIDE4Ni4yIDE4NC40QzE4Ni4yIDE4NC40IDE4NC4yIDE3NCAxODguMiAxNzkuNkMxOTIuMiAxODUuMiAyMDEuOCAxOTEuMiAyMDEuOCAxOTZDMjAxLjggMTk2IDE5Ni42IDE3OC40IDE4Ny40IDE3My42TDE4My40IDE3OS42TDE4Mi4yIDE3Ny42QzE4Mi4yIDE3Ny42IDE3OC42IDE3Ni44IDE4MyAxNzBDMTg3LjQgMTYzLjIgMTg3IDE2Mi40IDE4NyAxNjIuNEMxODcgMTYyLjQgMTkzLjQgMTY5LjYgMTk1IDE2OS42QzE5NSAxNjkuNiAyMDguMiAxNjIgMjA5LjQgMTg2LjRDMjA5LjQgMTg2LjQgMjE2LjIgMTcyIDIwNyAxNjUuMkMyMDcgMTY1LjIgMTkyLjIgMTYzLjIgMTkzLjQgMTU4TDIwMC42IDE0NS42QzIwNC4yIDE0MC40IDIwMi42IDE0My4yIDIwMi42IDE0My4yeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0xODIuMiAxNTguNEMxODIuMiAxNTguNCAxNjkuNCAxNTguNCAxNjYuMiAxNjMuNkwxNTkgMTczLjJDMTU5IDE3My4yIDE3Ni4yIDE2My4yIDE4MC4yIDE2MkMxODQuMiAxNjAuOCAxODIuMiAxNTguNCAxODIuMiAxNTguNHoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICMwMDAwMDAiPgorICA8cGF0aCBkPSJNMTQyLjIgMTY0LjhDMTQyLjIgMTY0LjggMTQwLjIgMTY2IDEzOS44IDE2OC44QzEzOS40IDE3MS42IDEzNyAxNzIgMTM3LjggMTc0LjhDMTM4LjYgMTc3LjYgMTQwLjYgMTgwIDE0MC42IDE3NkMxNDAuNiAxNzIgMTQyLjIgMTcwIDE0MyAxNjguOEMxNDMuOCAxNjcuNiAxNDUuNCAxNjMuMiAxNDIuMiAxNjQuOHoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICMwMDAwMDAiPgorICA8cGF0aCBkPSJNMTMzLjQgMjI2QzEzMy40IDIyNiAxMjUgMjIyIDEyMS44IDIxOC40QzExOC42IDIxNC44IDExOS4wNTIgMjE5Ljk2NiAxMTQuMiAyMTkuNkMxMDguMzUzIDIxOS4xNTkgMTA5LjQgMjAzLjIgMTA5LjQgMjAzLjJMMTA1LjQgMjEwLjhDMTA1LjQgMjEwLjggMTA0LjIgMjI1LjIgMTEyLjIgMjIyLjhDMTE2LjEwNyAyMjEuNjI4IDExNy40IDIyMy4yIDExNS44IDIyNEMxMTQuMiAyMjQuOCAxMjEuNCAyMjUuMiAxMTguNiAyMjYuOEMxMTUuOCAyMjguNCAxMzAuMiAyMjMuMiAxMjcuOCAyMzMuNkwxMzMuNCAyMjZ6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjMDAwMDAwIj4KKyAgPHBhdGggZD0iTTEyMC44IDI0MC40QzEyMC44IDI0MC40IDEwNS40IDI0NC44IDEwMS44IDIzNS4yQzEwMS44IDIzNS4yIDk3IDIzNy42IDk5LjIgMjQwLjZDMTAxLjQgMjQzLjYgMTAyLjYgMjQ0IDEwMi42IDI0NEMxMDIuNiAyNDQgMTA4IDI0NS4yIDEwNy40IDI0NkMxMDYuOCAyNDYuOCAxMDQuNCAyNTAuMiAxMDQuNCAyNTAuMkMxMDQuNCAyNTAuMiAxMTQuNiAyNDQuMiAxMjAuOCAyNDAuNHoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmZmYiPgorICA8cGF0aCBkPSJNMzQ5LjIwMSAzMTguNjAxQzM0OC43NzQgMzIwLjczNSAzNDcuMTAzIDMyMS41MzYgMzQ1LjIwMSAzMjIuMjAxQzM0My4yODQgMzIxLjI0MyAzNDAuNjg2IDMxOC4xMzcgMzM4LjgwMSAzMjAuMjAxQzMzOC4zMjcgMzE5LjcyMSAzMzcuNTQ4IDMxOS42NjEgMzM3LjIwNCAzMTguOTk5QzMzNi43MzkgMzE4LjEwMSAzMzcuMDExIDMxNy4wNTUgMzM2LjY2OSAzMTYuMjU3QzMzNi4xMjQgMzE0Ljk4NSAzMzUuNDE1IDMxMy42MTkgMzM1LjYwMSAzMTIuMjAxQzMzNy40MDcgMzExLjQ4OSAzMzguMDAyIDMwOS41ODMgMzM3LjUyOCAzMDcuODJDMzM3LjQ1OSAzMDcuNTYzIDMzNy4wMyAzMDcuMzY2IDMzNy4yMyAzMDcuMDE3QzMzNy40MTYgMzA2LjY5NCAzMzcuNzM0IDMwNi40NjcgMzM4LjAwMSAzMDYuMkMzMzcuODY2IDMwNi4zMzUgMzM3LjcyMSAzMDYuNTY4IDMzNy42MSAzMDYuNTQ4QzMzNyAzMDYuNDQyIDMzNy4xMjQgMzA1LjgwNSAzMzcuMjU0IDMwNS40MThDMzM3LjgzOSAzMDMuNjcyIDMzOS44NTMgMzAzLjQwOCAzNDEuMjAxIDMwNC42QzM0MS40NTcgMzA0LjAzNSAzNDEuOTY2IDMwNC4yMjkgMzQyLjQwMSAzMDQuMkMzNDIuMzUxIDMwMy42MjEgMzQyLjc1OSAzMDMuMDk0IDM0Mi45NTcgMzAyLjY3NEMzNDMuNDc1IDMwMS41NzYgMzQ1LjEwNCAzMDIuNjgyIDM0NS45MDEgMzAyLjA3QzM0Ni45NzcgMzAxLjI0NSAzNDguMDQgMzAwLjU0NiAzNDkuMTE4IDMwMS4xNDlDMzUwLjkyNyAzMDIuMTYyIDM1Mi42MzYgMzAzLjM3NCAzNTMuODM1IDMwNS4xMTVDMzU0LjQxIDMwNS45NDkgMzU0LjY1IDMwNy4yMyAzNTQuNTkyIDMwOC4xODhDMzU0LjU1NCAzMDguODM1IDM1My4xNzMgMzA4LjQ4MyAzNTIuODMgMzA5LjQxMkMzNTIuMTg1IDMxMS4xNiAzNTQuMDE2IDMxMS42NzkgMzU0Ljc3MiAzMTMuMDE3QzM1NC45NyAzMTMuMzY2IDM1NC43MDYgMzEzLjY3IDM1NC4zOTEgMzEzLjc2OEMzNTMuOTggMzEzLjg5NiAzNTMuMTk2IDMxMy43MDcgMzUzLjMzNCAzMTQuMTZDMzU0LjMwNiAzMTcuMzUzIDM1MS41NSAzMTguMDMxIDM0OS4yMDEgMzE4LjYwMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmZmYiPgorICA8cGF0aCBkPSJNMzM5LjYgMzM4LjIwMUMzMzkuNTkzIDMzNi40NjMgMzM3Ljk5MiAzMzQuNzA3IDMzOS4yMDEgMzMzLjAwMUMzMzkuMzM2IDMzMy4xMzUgMzM5LjQ2NyAzMzMuMzU2IDMzOS42MDEgMzMzLjM1NkMzMzkuNzM2IDMzMy4zNTYgMzM5Ljg2NyAzMzMuMTM1IDM0MC4wMDEgMzMzLjAwMUMzNDEuNDk2IDMzNS4yMTcgMzQ1LjE0OCAzMzYuMTQ1IDM0NS4wMDYgMzM4Ljk5MUMzNDQuOTg0IDMzOS40MzggMzQzLjg5NyAzNDAuMzU2IDM0NC44MDEgMzQxLjAwMUMzNDIuOTg4IDM0Mi4zNDkgMzQyLjkzMyAzNDQuNzE5IDM0Mi4wMDEgMzQ2LjYwMUMzNDAuNzYzIDM0Ni4zMTUgMzM5LjU1MSAzNDUuOTUyIDMzOC40MDEgMzQ1LjQwMUMzMzguNzUzIDM0My45MTUgMzM4LjYzNiAzNDIuMjMxIDMzOS40NTYgMzQwLjkxMUMzMzkuODkgMzQwLjIxMyAzMzkuNjAzIDMzOS4xMzQgMzM5LjYgMzM4LjIwMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNjY2NjY2MiPgorICA8cGF0aCBkPSJNMTczLjQgMzI5LjIwMUMxNzMuNCAzMjkuMjAxIDE1Ni41NDIgMzM5LjMzNyAxNzAuNiAzMjQuMDAxQzE3OS40IDMxNC40MDEgMTg5LjQgMzA4LjgwMSAxODkuNCAzMDguODAxQzE4OS40IDMwOC44MDEgMTk5LjggMzA0LjQgMjAzLjQgMzAzLjJDMjA3IDMwMiAyMjIuMiAyOTYuOCAyMjUuNCAyOTYuNEMyMjguNiAyOTYgMjM4LjIgMjkyIDI0NSAyOTZDMjUxLjggMzAwIDI1OS44IDMwNC40IDI1OS44IDMwNC40QzI1OS44IDMwNC40IDI0My40IDI5NiAyMzkuOCAyOTguNEMyMzYuMiAzMDAuOCAyMjkgMzAwLjQgMjIzIDMwMy42QzIyMyAzMDMuNiAyMDguMiAzMDguMDAxIDIwNSAzMTAuMDAxQzIwMS44IDMxMi4wMDEgMTkxLjQgMzIzLjYwMSAxODkuOCAzMjIuODAxQzE4OC4yIDMyMi4wMDEgMTkwLjIgMzIxLjYwMSAxOTEuNCAzMTguODAxQzE5Mi42IDMxNi4wMDEgMTkwLjYgMzE0LjQwMSAxODIuNiAzMjAuODAxQzE3NC42IDMyNy4yMDEgMTczLjQgMzI5LjIwMSAxNzMuNCAzMjkuMjAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0xODAuODA1IDMyMy4yMzRDMTgwLjgwNSAzMjMuMjM0IDE4Mi4yMTUgMzEwLjE5NCAxOTAuNjkzIDMxMS44NTlDMTkwLjY5MyAzMTEuODU5IDE5OC45MTkgMzA3LjY4OSAyMDEuNjQxIDMwNS43MjFDMjAxLjY0MSAzMDUuNzIxIDIwOS43OCAzMDQuMDE5IDIxMS4wOSAzMDMuNDAyQzIyOS41NjkgMjk0LjcwMiAyNDQuMjg4IDI5OS4yMjEgMjQ0LjgzNSAyOTguMTAxQzI0NS4zODEgMjk2Ljk4MiAyNjUuMDA2IDMwNC4wOTkgMjY4LjYxNSAzMDguMTg1QzI2OS4wMDYgMzA4LjYyOCAyNTguMzg0IDMwMi41ODggMjQ4LjY4NiAzMDAuNjk3QzI0MC40MTMgMjk5LjA4MyAyMTguODExIDMwMC45NDQgMjA3LjkwNSAzMDYuNDhDMjA0LjkzMiAzMDcuOTg5IDE5NS45ODcgMzEzLjc3MyAxOTMuNDU2IDMxMy42NjJDMTkwLjkyNSAzMTMuNTUgMTgwLjgwNSAzMjMuMjM0IDE4MC44MDUgMzIzLjIzNHoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNjY2NjY2MiPgorICA8cGF0aCBkPSJNMTc3IDM0OC44MDFDMTc3IDM0OC44MDEgMTYxLjggMzQ2LjQwMSAxNzguNiAzNDQuODAxQzE3OC42IDM0NC44MDEgMTk2LjYgMzQyLjgwMSAyMDAuNiAzMzcuNjAxQzIwMC42IDMzNy42MDEgMjE0LjIgMzI4LjQwMSAyMTcgMzI4LjAwMUMyMTkuOCAzMjcuNjAxIDI0OS44IDMyMC40MDEgMjUwLjIgMzE4LjAwMUMyNTAuNiAzMTUuNjAxIDI1Ni4yIDMxNS42MDEgMjU3LjggMzE2LjQwMUMyNTkuNCAzMTcuMjAxIDI1OC42IDMxOC40MDEgMjU1LjggMzE5LjIwMUMyNTMgMzIwLjAwMSAyMjEuOCAzMzYuNDAxIDIxNS40IDMzNy42MDFDMjA5IDMzOC44MDEgMTk3LjQgMzQ2LjQwMSAxOTIuNiAzNDcuNjAxQzE4Ny44IDM0OC44MDEgMTc3IDM0OC44MDEgMTc3IDM0OC44MDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjMDAwMDAwIj4KKyAgPHBhdGggZD0iTTE5Ni41MiAzNDEuNDAzQzE5Ni41MiAzNDEuNDAzIDE4Ny45MzggMzQwLjU3NCAxOTYuNTM5IDMzOS43NTVDMTk2LjUzOSAzMzkuNzU1IDIwNS4zNTUgMzM2LjMzMSAyMDcuNDAzIDMzMy42NjhDMjA3LjQwMyAzMzMuNjY4IDIxNC4zNjcgMzI4Ljk1NyAyMTUuOCAzMjguNzUzQzIxNy4yMzQgMzI4LjU0OCAyMzEuMTk0IDMyNC44NjEgMjMxLjM5OSAzMjMuNjMzQzIzMS42MDQgMzIyLjQwNCAyNjUuNjcgMzA5LjgyMyAyNzAuMDkgMzEzLjAxM0MyNzMuMDAxIDMxNS4xMTQgMjYzLjEgMzEzLjQzNyAyNTMuNDY2IDMxNy44NDdDMjUyLjExMSAzMTguNDY3IDIxOC4yNTggMzMzLjA1NCAyMTQuOTgxIDMzMy42NjhDMjExLjcwNCAzMzQuMjgzIDIwNS43NjUgMzM4LjE3NCAyMDMuMzA3IDMzOC43ODhDMjAwLjg1IDMzOS40MDMgMTk2LjUyIDM0MS40MDMgMTk2LjUyIDM0MS40MDN6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjMDAwMDAwIj4KKyAgPHBhdGggZD0iTTE4OC42IDM0My42MDFDMTg4LjYgMzQzLjYwMSAxOTMuOCAzNDMuMjAxIDE5Mi42IDM0NC44MDFDMTkxLjQgMzQ2LjQwMSAxODkgMzQ1LjYwMSAxODkgMzQ1LjYwMUwxODguNiAzNDMuNjAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0xODEuNCAzNDUuMjAxQzE4MS40IDM0NS4yMDEgMTg2LjYgMzQ0LjgwMSAxODUuNCAzNDYuNDAxQzE4NC4yIDM0OC4wMDEgMTgxLjggMzQ3LjIwMSAxODEuOCAzNDcuMjAxTDE4MS40IDM0NS4yMDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjMDAwMDAwIj4KKyAgPHBhdGggZD0iTTE3MSAzNDYuODAxQzE3MSAzNDYuODAxIDE3Ni4yIDM0Ni40MDEgMTc1IDM0OC4wMDFDMTczLjggMzQ5LjYwMSAxNzEuNCAzNDguODAxIDE3MS40IDM0OC44MDFMMTcxIDM0Ni44MDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjMDAwMDAwIj4KKyAgPHBhdGggZD0iTTE2My40IDM0Ny42MDFDMTYzLjQgMzQ3LjYwMSAxNjguNiAzNDcuMjAxIDE2Ny40IDM0OC44MDFDMTY2LjIgMzUwLjQwMSAxNjMuOCAzNDkuNjAxIDE2My44IDM0OS42MDFMMTYzLjQgMzQ3LjYwMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICMwMDAwMDAiPgorICA8cGF0aCBkPSJNMjAxLjggMzA4LjAwMUMyMDEuOCAzMDguMDAxIDIwNi4yIDMwOC4wMDEgMjA1IDMwOS42MDFDMjAzLjggMzExLjIwMSAyMDAuNiAzMTAuODAxIDIwMC42IDMxMC44MDFMMjAxLjggMzA4LjAwMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICMwMDAwMDAiPgorICA8cGF0aCBkPSJNMTkxLjggMzEzLjYwMUMxOTEuOCAzMTMuNjAxIDE5OC4zMDYgMzExLjQ2IDE5NS44IDMxNC44MDFDMTk0LjYgMzE2LjQwMSAxOTIuMiAzMTUuNjAxIDE5Mi4yIDMxNS42MDFMMTkxLjggMzEzLjYwMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICMwMDAwMDAiPgorICA8cGF0aCBkPSJNMTgwLjYgMzE4LjQwMUMxODAuNiAzMTguNDAxIDE4NS44IDMxOC4wMDEgMTg0LjYgMzE5LjYwMUMxODMuNCAzMjEuMjAxIDE4MSAzMjAuNDAxIDE4MSAzMjAuNDAxTDE4MC42IDMxOC40MDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjMDAwMDAwIj4KKyAgPHBhdGggZD0iTTE3MyAzMjQuNDAxQzE3MyAzMjQuNDAxIDE3OC4yIDMyNC4wMDEgMTc3IDMyNS42MDFDMTc1LjggMzI3LjIwMSAxNzMuNCAzMjYuNDAxIDE3My40IDMyNi40MDFMMTczIDMyNC40MDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjMDAwMDAwIj4KKyAgPHBhdGggZD0iTTE2Ni4yIDMyOS4yMDFDMTY2LjIgMzI5LjIwMSAxNzEuNCAzMjguODAxIDE3MC4yIDMzMC40MDFDMTY5IDMzMi4wMDEgMTY2LjYgMzMxLjIwMSAxNjYuNiAzMzEuMjAxTDE2Ni4yIDMyOS4yMDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjMDAwMDAwIj4KKyAgPHBhdGggZD0iTTIwNS4yODIgMzM1LjU5OEMyMDUuMjgyIDMzNS41OTggMjEyLjIwMyAzMzUuMDY2IDIxMC42MDYgMzM3LjE5NUMyMDkuMDA5IDMzOS4zMjUgMjA1LjgxNCAzMzguMjYgMjA1LjgxNCAzMzguMjZMMjA1LjI4MiAzMzUuNTk4eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0yMTUuNjgyIDMzMC43OThDMjE1LjY4MiAzMzAuNzk4IDIyMi42MDMgMzMwLjI2NiAyMjEuMDA2IDMzMi4zOTVDMjE5LjQwOSAzMzQuNTI1IDIxNi4yMTQgMzMzLjQ2IDIxNi4yMTQgMzMzLjQ2TDIxNS42ODIgMzMwLjc5OHoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICMwMDAwMDAiPgorICA8cGF0aCBkPSJNMjI2LjQ4MiAzMjYuMzk4QzIyNi40ODIgMzI2LjM5OCAyMzMuNDAzIDMyNS44NjYgMjMxLjgwNiAzMjcuOTk1QzIzMC4yMDkgMzMwLjEyNSAyMjcuMDE0IDMyOS4wNiAyMjcuMDE0IDMyOS4wNkwyMjYuNDgyIDMyNi4zOTh6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjMDAwMDAwIj4KKyAgPHBhdGggZD0iTTIzNi44ODIgMzIxLjU5OEMyMzYuODgyIDMyMS41OTggMjQzLjgwMyAzMjEuMDY2IDI0Mi4yMDYgMzIzLjE5NUMyNDAuNjA5IDMyNS4zMjUgMjM3LjQxNCAzMjQuMjYgMjM3LjQxNCAzMjQuMjZMMjM2Ljg4MiAzMjEuNTk4eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0yMDkuMjgyIDMwMy41OThDMjA5LjI4MiAzMDMuNTk4IDIxNi4yMDMgMzAzLjA2NiAyMTQuNjA2IDMwNS4xOTVDMjEzLjAwOSAzMDcuMzI1IDIwOS4wMTQgMzA3LjA2IDIwOS4wMTQgMzA3LjA2TDIwOS4yODIgMzAzLjU5OHoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICMwMDAwMDAiPgorICA8cGF0aCBkPSJNMjE5LjI4MiAzMDAuMzk4QzIxOS4yODIgMzAwLjM5OCAyMjYuMjAzIDI5OS44NjYgMjI0LjYwNiAzMDEuOTk1QzIyMy4wMDkgMzA0LjEyNSAyMTguNjE0IDMwMy44NiAyMTguNjE0IDMwMy44NkwyMTkuMjgyIDMwMC4zOTh6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjMDAwMDAwIj4KKyAgPHBhdGggZD0iTTE5Ni42IDM0MC40MDFDMTk2LjYgMzQwLjQwMSAyMDEuOCAzNDAuMDAxIDIwMC42IDM0MS42MDFDMTk5LjQgMzQzLjIwMSAxOTcgMzQyLjQwMSAxOTcgMzQyLjQwMUwxOTYuNiAzNDAuNDAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzk5MjYwMCI+CisgIDxwYXRoIGQ9Ik0xMjMuNCAyNDEuMkMxMjMuNCAyNDEuMiAxMTkgMjUwIDExOC42IDI1My4yQzExOC42IDI1My4yIDExOS40IDI0NC40IDEyMC42IDI0Mi40QzEyMS44IDI0MC40IDEyMy40IDI0MS4yIDEyMy40IDI0MS4yeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzk5MjYwMCI+CisgIDxwYXRoIGQ9Ik0xMDUgMjU1LjJDMTA1IDI1NS4yIDEwMS44IDI2OS42IDEwMi4yIDI3Mi40QzEwMi4yIDI3Mi40IDEwMSAyNjAuOCAxMDEuNCAyNTkuNkMxMDEuOCAyNTguNCAxMDUgMjU1LjIgMTA1IDI1NS4yeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2NjY2NjYyI+CisgIDxwYXRoIGQ9Ik0xMjUuOCAxODAuNkwxMjUuNiAxODMuOEwxMjMuNCAxODRDMTIzLjQgMTg0IDEzNy42IDE5Ni42IDEzOC4yIDIwNC4yQzEzOC4yIDIwNC4yIDEzOSAxOTYgMTI1LjggMTgwLjZ6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjMDAwMDAwIj4KKyAgPHBhdGggZD0iTTEyOS43ODQgMTgxLjg2NUMxMjkuMzUzIDE4MS40NDkgMTI5LjU3MiAxODAuNzA0IDEyOS4xNjQgMTgwLjQ0NEMxMjguMzU1IDE3OS45MjggMTMwLjQ2MiAxNzkuODcxIDEzMC4yMzQgMTc5LjE1NUMxMjkuODUxIDE3Ny45NDkgMTMwLjAzOCAxNzcuOTI4IDEyOS45MTYgMTc2LjY1MkMxMjkuODU5IDE3Ni4wNTQgMTMwLjQ0NyAxNzQuNTE0IDEzMC44MzIgMTc0LjA3NEMxMzIuMjc4IDE3Mi40MjIgMTMwLjk1NCAxNjkuNDkgMTMyLjU5NCAxNjcuOTM5QzEzMi44OTggMTY3LjY1IDEzMy4yNzQgMTY3LjA5OCAxMzMuNTU5IDE2Ni42OEMxMzQuMjE4IDE2NS43MTcgMTM1LjQwMiAxNjUuMjI5IDEzNi4zNTIgMTY0LjQwMUMxMzYuNjcgMTY0LjEyNSAxMzYuNDY5IDE2My4yOTggMTM3LjAzOCAxNjMuMzlDMTM3Ljc1MiAxNjMuNTA1IDEzOC45OTMgMTYzLjM3NSAxMzguOTQ4IDE2NC4yMTZDMTM4LjgzNSAxNjYuMzM2IDEzNy41MDYgMTY4LjA1NiAxMzYuMjI2IDE2OS43MjRDMTM2LjY3NyAxNzAuNDI4IDEzNi4yMTkgMTcxLjA2MyAxMzUuOTM1IDE3MS42MkMxMzQuNiAxNzQuMjQgMTM0Ljc4OSAxNzcuMDgxIDEzNC42MTUgMTc5LjkyMUMxMzQuNjEgMTgwLjAwNiAxMzQuMzAzIDE4MC4wODQgMTM0LjMxMSAxODAuMTM3QzEzNC42NjQgMTgyLjQ3MiAxMzUuMjQ4IDE4NC42NzEgMTM2LjEyNyAxODYuOUMxMzYuNDkzIDE4Ny44MyAxMzYuOTY0IDE4OC43MjUgMTM3LjExNCAxODkuNjUyQzEzNy4yMjUgMTkwLjMzOCAxMzcuMzI4IDE5MS4xNzEgMTM2LjkyIDE5MS44NzZDMTM4Ljk1NSAxOTQuNzY2IDEzNy42NDYgMTk3LjQxNyAxMzguODE1IDIwMC45NDhDMTM5LjAyMiAyMDEuNTczIDE0MC43MTQgMjAzLjQ4NyAxNDAuMjUxIDIwMy4zMjZDMTM3LjczOCAyMDIuNDU1IDEzNy42MjYgMjAyLjA1NyAxMzcuNDQ5IDIwMS4zMDRDMTM3LjMwMyAyMDAuNjgxIDEzNi45NzMgMTk5LjMwNCAxMzYuNzM2IDE5OC43MDJDMTM2LjY3MiAxOTguNTM4IDEzNi41MDEgMTk2LjY1NCAxMzYuNDIzIDE5Ni41MzJDMTM0LjkxIDE5NC4xNSAxMzYuMjY4IDE5NC4zMjYgMTM0Ljg5OCAxOTEuOTY4QzEzMy40NyAxOTEuMjg4IDEzMi41MDQgMTkwLjE4NCAxMzEuMzgxIDE4OS4wMjJDMTMxLjE4MyAxODguODE4IDEzMi4zMjYgMTg4LjA5NCAxMzIuMTQ1IDE4Ny44ODFDMTMxLjA1MyAxODYuNTkyIDEyOS45IDE4NS44MjUgMTMwLjIzNiAxODQuMzMyQzEzMC4zOTEgMTgzLjY0MiAxMzAuNTI4IDE4Mi41ODUgMTI5Ljc4NCAxODEuODY1eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0xMjYuMiAxODMuNkMxMjYuMiAxODMuNiAxMjYuNiAxOTAuNCAxMjkgMTkyQzEzMS40IDE5My42IDEzMC4yIDE5Mi44IDEyNyAxOTEuNkMxMjMuOCAxOTAuNCAxMjUgMTg5LjYgMTI1IDE4OS42QzEyNSAxODkuNiAxMjIuMiAxOTAgMTI0LjYgMTkyQzEyNyAxOTQgMTMwLjYgMTk2LjQgMTI5IDE5Ni40QzEyNy40IDE5Ni40IDExOS44IDE5Mi40IDExOS44IDE4OS42QzExOS44IDE4Ni44IDExOC44IDE4Mi43IDExOC44IDE4Mi43QzExOC44IDE4Mi43IDExOS45IDE4MS45IDEyNC43IDE4MkMxMjQuNyAxODIgMTI2LjEgMTgyLjcgMTI2LjIgMTgzLjZ6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmZmOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuMSI+CisgIDxwYXRoIGQ9Ik0xMjUuNCAyMDIuMkMxMjUuNCAyMDIuMiAxMTYuODggMTk5LjQwOSA5OC40IDIwMi44Qzk4LjQgMjAyLjggMTA3LjQzMSAyMDAuNzIyIDEyNi4yIDIwM0MxMzYuNSAyMDQuMjUgMTI1LjQgMjAyLjIgMTI1LjQgMjAyLjJ6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmZmOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuMSI+CisgIDxwYXRoIGQ9Ik0xMjcuNDk4IDIwMi4xMjlDMTI3LjQ5OCAyMDIuMTI5IDExOS4yNTIgMTk4LjYxMSAxMDAuNTQ3IDIwMC4zOTJDMTAwLjU0NyAyMDAuMzkyIDEwOS43MjUgMTk5LjEwMyAxMjguMjI2IDIwMi45OTVDMTM4LjM4IDIwNS4xMzEgMTI3LjQ5OCAyMDIuMTI5IDEyNy40OTggMjAyLjEyOXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmZmY7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC4xIj4KKyAgPHBhdGggZD0iTTEyOS4yODYgMjAyLjIyMkMxMjkuMjg2IDIwMi4yMjIgMTIxLjMyNCAxOTguMTAxIDEwMi41MzkgMTk4LjQ4NkMxMDIuNTM5IDE5OC40ODYgMTExLjc4NyAxOTcuODgyIDEyOS45NDggMjAzLjE0QzEzOS45MTQgMjA2LjAyNSAxMjkuMjg2IDIwMi4yMjIgMTI5LjI4NiAyMDIuMjIyeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZmZjsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjEiPgorICA8cGF0aCBkPSJNMTMwLjU1NiAyMDIuNDQ1QzEzMC41NTYgMjAyLjQ0NSAxMjMuNzMyIDE5OC4xMzggMTA2Ljg1OCAxOTcuMDRDMTA2Ljg1OCAxOTcuMDQgMTE1LjE5NyAxOTcuMjEgMTMxLjA3OCAyMDMuMzE5QzEzOS43OTQgMjA2LjY3MiAxMzAuNTU2IDIwMi40NDUgMTMwLjU1NiAyMDIuNDQ1eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZmZjsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjEiPgorICA8cGF0aCBkPSJNMjQ1Ljg0IDIxMi45NjFDMjQ1Ljg0IDIxMi45NjEgMjQ0LjkxIDIxMy42MDUgMjQ1LjEyNCAyMTIuNDI0QzI0NS4zMzkgMjExLjI0MyAyNzMuNTQ3IDE5OC4wNzMgMjc3LjE2MSAxOTguMzIzQzI3Ny4xNjEgMTk4LjMyMyAyNDYuOTEzIDIxMS41MjkgMjQ1Ljg0IDIxMi45NjF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmZmOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuMSI+CisgIDxwYXRoIGQ9Ik0yNDIuNDQ2IDIxMy42QzI0Mi40NDYgMjEzLjYgMjQxLjU3IDIxNC4zMTUgMjQxLjY5MSAyMTMuMTIxQzI0MS44MTIgMjExLjkyNyAyNjguODk5IDE5Ni41ODIgMjcyLjUyMSAxOTYuNTQ4QzI3Mi41MjEgMTk2LjU0OCAyNDMuNDA0IDIxMi4wODkgMjQyLjQ0NiAyMTMuNnoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmZmY7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC4xIj4KKyAgPHBhdGggZD0iTTIzOS4xNiAyMTQuOTc1QzIzOS4xNiAyMTQuOTc1IDIzOC4zMzIgMjE1Ljc0NyAyMzguMzc0IDIxNC41NDdDMjM4LjQxNiAyMTMuMzQ4IDI1OC4yMzMgMTk3Ljg1MSAyNjguMDQ1IDE5NS45NzdDMjY4LjA0NSAxOTUuOTc3IDI1MC4wMTUgMjA0LjEwNCAyMzkuMTYgMjE0Ljk3NXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmZmY7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC4xIj4KKyAgPHBhdGggZD0iTTIzNi4yODQgMjE2LjgzOEMyMzYuMjg0IDIxNi44MzggMjM1LjUzOSAyMTcuNTMyIDIzNS41NzcgMjE2LjQ1M0MyMzUuNjE1IDIxNS4zNzMgMjUzLjQ0OSAyMDEuNDI2IDI2Mi4yOCAxOTkuNzRDMjYyLjI4IDE5OS43NCAyNDYuMDU0IDIwNy4wNTQgMjM2LjI4NCAyMTYuODM4eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2NjY2NjYyI+CisgIDxwYXRoIGQ9Ik0yMDQuNiAzNjQuODAxQzIwNC42IDM2NC44MDEgMTg5LjQgMzYyLjQwMSAyMDYuMiAzNjAuODAxQzIwNi4yIDM2MC44MDEgMjI0LjIgMzU4LjgwMSAyMjguMiAzNTMuNjAxQzIyOC4yIDM1My42MDEgMjQxLjggMzQ0LjQwMSAyNDQuNiAzNDQuMDAxQzI0Ny40IDM0My42MDEgMjYzLjggMzQwLjAwMSAyNjQuMiAzMzcuNjAxQzI2NC42IDMzNS4yMDEgMjcwLjYgMzMyLjgwMSAyNzIuMiAzMzMuNjAxQzI3My44IDMzNC40MDEgMjczLjggMzQzLjYwMSAyNzEgMzQ0LjQwMUMyNjguMiAzNDUuMjAxIDI0OS40IDM1Mi40MDEgMjQzIDM1My42MDFDMjM2LjYgMzU0LjgwMSAyMjUgMzYyLjQwMSAyMjAuMiAzNjMuNjAxQzIxNS40IDM2NC44MDEgMjA0LjYgMzY0LjgwMSAyMDQuNiAzNjQuODAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0yNzcuNiAzMjcuNDAxQzI3Ny42IDMyNy40MDEgMjc0LjYgMzI5LjAwMSAyNzMuNCAzMzEuNjAxQzI3My40IDMzMS42MDEgMjY3IDM0Mi4yMDEgMjUyLjggMzQ1LjQwMUMyNTIuOCAzNDUuNDAxIDIyOS44IDM1NC40MDEgMjIyIDM1Ni40MDFDMjIyIDM1Ni40MDEgMjA4LjYgMzYxLjQwMSAyMDEuMiAzNjAuNjAxQzIwMS4yIDM2MC42MDEgMTk0LjIgMzYwLjgwMSAyMDAuNCAzNjIuNDAxQzIwMC40IDM2Mi40MDEgMjIwLjYgMzYwLjQwMSAyMjQgMzU4LjYwMUMyMjQgMzU4LjYwMSAyMzkuNiAzNTMuNDAxIDI0Mi42IDM1MC44MDFDMjQ1LjYgMzQ4LjIwMSAyNjMuOCAzNDMuMjAxIDI2NiAzNDEuMjAxQzI2OC4yIDMzOS4yMDEgMjc4IDMzMC44MDEgMjc3LjYgMzI3LjQwMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICMwMDAwMDAiPgorICA8cGF0aCBkPSJNMjE4Ljg4MiAzNTguOTExQzIxOC44ODIgMzU4LjkxMSAyMjQuMTExIDM1OC42ODUgMjIyLjk1OCAzNjAuMjM0QzIyMS44MDUgMzYxLjc4NCAyMTkuMzU3IDM2MC45MSAyMTkuMzU3IDM2MC45MUwyMTguODgyIDM1OC45MTF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjMDAwMDAwIj4KKyAgPHBhdGggZD0iTTIxMS42OCAzNjAuMjYzQzIxMS42OCAzNjAuMjYzIDIxNi45MDggMzYwLjAzNyAyMTUuNzU2IDM2MS41ODZDMjE0LjYwMyAzNjMuMTM2IDIxMi4xNTUgMzYyLjI2MyAyMTIuMTU1IDM2Mi4yNjNMMjExLjY4IDM2MC4yNjN6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjMDAwMDAwIj4KKyAgPHBhdGggZD0iTTIwMS4yNTEgMzYxLjUxMUMyMDEuMjUxIDM2MS41MTEgMjA2LjQ4IDM2MS4yODQgMjA1LjMyNyAzNjIuODM0QzIwNC4xNzQgMzY0LjM4MyAyMDEuNzI2IDM2My41MSAyMDEuNzI2IDM2My41MUwyMDEuMjUxIDM2MS41MTF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjMDAwMDAwIj4KKyAgPHBhdGggZD0iTTE5My42MTcgMzYyLjA1NUMxOTMuNjE3IDM2Mi4wNTUgMTk4Ljg0NiAzNjEuODI5IDE5Ny42OTMgMzYzLjM3OEMxOTYuNTQgMzY0LjkyOCAxOTQuMDkyIDM2NC4wNTQgMTk0LjA5MiAzNjQuMDU0TDE5My42MTcgMzYyLjA1NXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICMwMDAwMDAiPgorICA8cGF0aCBkPSJNMjM1LjQxNSAzNTEuNTEzQzIzNS40MTUgMzUxLjUxMyAyNDIuMzc1IDM1MS4yMTIgMjQwLjg0IDM1My4yNzRDMjM5LjMwNiAzNTUuMzM2IDIzNi4wNDcgMzU0LjE3NCAyMzYuMDQ3IDM1NC4xNzRMMjM1LjQxNSAzNTEuNTEzeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0yNDUuNzMgMzQ3LjA4OEMyNDUuNzMgMzQ3LjA4OCAyNTEuNjg5IDM0My43ODcgMjUxLjE1NSAzNDguODQ5QzI1MC44ODUgMzUxLjQwNSAyNDYuMzYyIDM0OS43NDkgMjQ2LjM2MiAzNDkuNzQ5TDI0NS43MyAzNDcuMDg4eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0yNTQuODYyIDM0NC4yNzRDMjU0Ljg2MiAzNDQuMjc0IDI2Mi4wMjEgMzQwLjU3MyAyNjAuMjg3IDM0Ni4wMzVDMjU5LjUwOSAzNDguNDg1IDI1NS40OTMgMzQ2LjkzNSAyNTUuNDkzIDM0Ni45MzVMMjU0Ljg2MiAzNDQuMjc0eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0yNjQuMzc2IDMzOS40NDlDMjY0LjM3NiAzMzkuNDQ5IDI2OC43MzUgMzM0LjU0OCAyNjkuODAxIDM0MS4yMUMyNzAuMjA3IDM0My43NDggMjY1LjAwOCAzNDIuMTEgMjY1LjAwOCAzNDIuMTFMMjY0LjM3NiAzMzkuNDQ5eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0yMjYuODM0IDM1NS45OTdDMjI2LjgzNCAzNTUuOTk3IDIzMi4wNjIgMzU1Ljc3IDIzMC45MSAzNTcuMzJDMjI5Ljc1NyAzNTguODY5IDIyNy4zMDggMzU3Ljk5NiAyMjcuMzA4IDM1Ny45OTZMMjI2LjgzNCAzNTUuOTk3eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZmZjsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjEiPgorICA8cGF0aCBkPSJNMjYyLjQzNCAyMzQuNjAzQzI2Mi40MzQgMjM0LjYwMyAyNjEuNzA4IDIzNS4yNjggMjYxLjcwNyAyMzQuMTk3QzI2MS43MDcgMjMzLjEyNyAyNzkuMTkxIDIxOS44NjMgMjg4LjAzNCAyMTguNDc5QzI4OC4wMzQgMjE4LjQ3OSAyNzEuOTM1IDIyNS4yMDggMjYyLjQzNCAyMzQuNjAzeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0yNjUuNCAyOTguNEMyNjUuNCAyOTguNCAyODcuNDAxIDMyMC44MDEgMjk2LjYwMSAzMjQuNDAxQzI5Ni42MDEgMzI0LjQwMSAzMDUuODAxIDMzNS42MDEgMzAxLjgwMSAzNjEuNjAxQzMwMS44MDEgMzYxLjYwMSAyOTguNjAxIDM2OS4yMDEgMjk1LjQwMSAzNDguNDAxQzI5NS40MDEgMzQ4LjQwMSAyOTguNjAxIDMyMy4yMDEgMjg3LjQwMSAzMzkuMjAxQzI4Ny40MDEgMzM5LjIwMSAyNzkgMzI5LjMwMSAyODUuNCAzMjkuNjAxQzI4NS40IDMyOS42MDEgMjg4LjYwMSAzMzEuNjAxIDI4OS4wMDEgMzMwLjAwMUMyODkuNDAxIDMyOC40MDEgMjgxLjQgMzE0LjgwMSAyNjQuMiAzMDAuNEMyNDcgMjg2IDI2NS40IDI5OC40IDI2NS40IDI5OC40eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZmZjsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjEiPgorICA8cGF0aCBkPSJNMjA3IDMzNy4yMDFDMjA3IDMzNy4yMDEgMjA2LjggMzM1LjQwMSAyMDguNiAzMzYuMjAxQzIxMC40IDMzNy4wMDEgMzA0LjYwMSAzNDMuMjAxIDMzNi4yMDEgMzY3LjIwMUMzMzYuMjAxIDM2Ny4yMDEgMjkxLjAwMSAzNDQuMDAxIDIwNyAzMzcuMjAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZmZjsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjEiPgorICA8cGF0aCBkPSJNMjE3LjQgMzMyLjgwMUMyMTcuNCAzMzIuODAxIDIxNy4yIDMzMS4wMDEgMjE5IDMzMS44MDFDMjIwLjggMzMyLjYwMSAzNTcuNDAxIDMzMS42MDEgMzgxLjAwMSAzNjQuMDAxQzM4MS4wMDEgMzY0LjAwMSAzNTkuMDAxIDMzOC44MDEgMjE3LjQgMzMyLjgwMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmZmY7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC4xIj4KKyAgPHBhdGggZD0iTTIyOSAzMjguODAxQzIyOSAzMjguODAxIDIyOC44IDMyNy4wMDEgMjMwLjYgMzI3LjgwMUMyMzIuNCAzMjguNjAxIDQwNS44MDEgMzE1LjYwMSA0MjkuNDAxIDM0OC4wMDFDNDI5LjQwMSAzNDguMDAxIDQxOS44MDEgMzIyLjQwMSAyMjkgMzI4LjgwMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmZmY7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC4xIj4KKyAgPHBhdGggZD0iTTIzOSAzMjQuMDAxQzIzOSAzMjQuMDAxIDIzOC44IDMyMi4yMDEgMjQwLjYgMzIzLjAwMUMyNDIuNCAzMjMuODAxIDM2NC42MDEgMjg1LjIgMzg4LjIwMSAzMTcuNjAxQzM4OC4yMDEgMzE3LjYwMSAzNzQuODAxIDI5MyAyMzkgMzI0LjAwMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmZmY7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC4xIj4KKyAgPHBhdGggZD0iTTE4MSAzNDYuODAxQzE4MSAzNDYuODAxIDE4MC44IDM0NS4wMDEgMTgyLjYgMzQ1LjgwMUMxODQuNCAzNDYuNjAxIDIwMi4yIDM0OC44MDEgMjA0LjIgMzg3LjYwMUMyMDQuMiAzODcuNjAxIDE5NyAzNDUuNjAxIDE4MSAzNDYuODAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZmZjsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjEiPgorICA8cGF0aCBkPSJNMTcyLjIgMzQ4LjQwMUMxNzIuMiAzNDguNDAxIDE3MiAzNDYuNjAxIDE3My44IDM0Ny40MDFDMTc1LjYgMzQ4LjIwMSAxODkuOCAzNDMuNjAxIDE4NyAzODIuNDAxQzE4NyAzODIuNDAxIDE4OC4yIDM0Ny4yMDEgMTcyLjIgMzQ4LjQwMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmZmY7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC4xIj4KKyAgPHBhdGggZD0iTTE2NC4yIDM0OC44MDFDMTY0LjIgMzQ4LjgwMSAxNjQgMzQ3LjAwMSAxNjUuOCAzNDcuODAxQzE2Ny42IDM0OC42MDEgMTgzIDM0OS4yMDEgMTcwLjYgMzcxLjYwMUMxNzAuNiAzNzEuNjAxIDE4MC4yIDM0Ny42MDEgMTY0LjIgMzQ4LjgwMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmZmY7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC4xIj4KKyAgPHBhdGggZD0iTTIxMS41MjYgMzA0LjQ2NUMyMTEuNTI2IDMwNC40NjUgMjExLjA4MiAzMDYuNDY0IDIxMi42MzEgMzA1LjI0N0MyMjguNjk5IDI5Mi42MjIgMjYxLjE0MSAyMzMuNzIgMzE2LjgyNiAyMjguMDg2QzMxNi44MjYgMjI4LjA4NiAyNzguNTE4IDIxNS45NzYgMjExLjUyNiAzMDQuNDY1eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZmZjsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjEiPgorICA8cGF0aCBkPSJNMjIyLjcyNiAzMDIuNjY1QzIyMi43MjYgMzAyLjY2NSAyMjEuMzYzIDMwMS40NzIgMjIzLjIzMSAzMDAuODQ3QzIyNS4wOTkgMzAwLjIyMiAzMzcuNTQxIDIyNy43MiAzNzYuODI2IDIzNS42ODZDMzc2LjgyNiAyMzUuNjg2IDM0OS43MTkgMjI4LjE3NiAyMjIuNzI2IDMwMi42NjV6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmZmOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuMSI+CisgIDxwYXRoIGQ9Ik0yMDEuODg1IDMwOC43NjdDMjAxLjg4NSAzMDguNzY3IDIwMS4zNzYgMzEwLjM2NiAyMDMuMDg3IDMwOS4zOUMyMTIuMDYyIDMwNC4yNyAyMTUuNjc3IDI0Ny4wNTkgMjU5LjI1NCAyNDUuODA0QzI1OS4yNTQgMjQ1LjgwNCAyMjYuODQzIDIzMS4wOSAyMDEuODg1IDMwOC43Njd6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmZmOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuMSI+CisgIDxwYXRoIGQ9Ik0xODEuOTYyIDMxOS43OTNDMTgxLjk2MiAzMTkuNzkzIDE4MC44ODUgMzIxLjA3OSAxODIuODM4IDMyMC44MjVDMTkzLjA4NCAzMTkuNDkzIDIxNC40ODkgMjc4LjIyMiAyNTguOTI4IDI4My4zMDFDMjU4LjkyOCAyODMuMzAxIDIyNi45NjIgMjY4Ljk1NSAxODEuOTYyIDMxOS43OTN6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmZmOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuMSI+CisgIDxwYXRoIGQ9Ik0xOTMuMiAzMTMuNjY3QzE5My4yIDMxMy42NjcgMTkyLjM4OSAzMTUuMTM2IDE5NC4yNTggMzE0LjUxMUMyMDQuMDU3IDMxMS4yMzcgMjE3LjE0MSAyNjYuNjI1IDI2MS43MjkgMjYzLjA3OEMyNjEuNzI5IDI2My4wNzggMjI3LjYwMyAyNTUuMTM1IDE5My4yIDMxMy42Njd6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmZmOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuMSI+CisgIDxwYXRoIGQ9Ik0xNzQuOTIyIDMyNC45MTJDMTc0LjkyMiAzMjQuOTEyIDE3NC4wNDkgMzI1Ljk1NCAxNzUuNjMxIDMyNS43NDhDMTgzLjkzIDMyNC42NjkgMjAxLjI2OCAyOTEuMjQgMjM3LjI2NCAyOTUuMzU0QzIzNy4yNjQgMjk1LjM1NCAyMTEuMzcxIDI4My43MzQgMTc0LjkyMiAzMjQuOTEyeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZmZjsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjEiPgorICA8cGF0aCBkPSJNMTY3LjMyMyAzMzAuODIxQzE2Ny4zMjMgMzMwLjgyMSAxNjYuMzE4IDMzMS44NjYgMTY3LjkwOSAzMzEuNzQ4QzE3Mi4wNzcgMzMxLjQzOSAyMDIuNzE1IDI5OC4zNiAyMjEuMTgzIDMxMy44NjJDMjIxLjE4MyAzMTMuODYyIDIwOS4xNjggMjk1LjEzOSAxNjcuMzIzIDMzMC44MjF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmZmOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuMSI+CisgIDxwYXRoIGQ9Ik0yMzYuODU1IDI5OC44OThDMjM2Ljg1NSAyOTguODk4IDIzNS42NTQgMjk3LjU0MyAyMzcuNTg2IDI5Ny4xNThDMjM5LjUxOCAyOTYuNzc0IDM2MC4yMjEgMjM5LjA2MSAzOTguMTg0IDI1MS45MjdDMzk4LjE4NCAyNTEuOTI3IDM3Mi4yNDMgMjQxLjA1MyAyMzYuODU1IDI5OC44OTh6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmZmOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuMSI+CisgIDxwYXRoIGQ9Ik0yMDMuNCAzNjMuMjAxQzIwMy40IDM2My4yMDEgMjAzLjIgMzYxLjQwMSAyMDUgMzYyLjIwMUMyMDYuOCAzNjMuMDAxIDIyMi4yIDM2My42MDEgMjA5LjggMzg2LjAwMUMyMDkuOCAzODYuMDAxIDIxOS40IDM2Mi4wMDEgMjAzLjQgMzYzLjIwMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmZmY7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC4xIj4KKyAgPHBhdGggZD0iTTIxMy44IDM2MS42MDFDMjEzLjggMzYxLjYwMSAyMTMuNiAzNTkuODAxIDIxNS40IDM2MC42MDFDMjE3LjIgMzYxLjQwMSAyMzUgMzYzLjYwMSAyMzcgNDAyLjQwMUMyMzcgNDAyLjQwMSAyMjkuOCAzNjAuNDAxIDIxMy44IDM2MS42MDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmZmOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuMSI+CisgIDxwYXRoIGQ9Ik0yMjAuNiAzNjAuMDAxQzIyMC42IDM2MC4wMDEgMjIwLjQgMzU4LjIwMSAyMjIuMiAzNTkuMDAxQzIyNCAzNTkuODAxIDI0OC42IDM2My4yMDEgMjcyLjIgMzk1LjYwMUMyNzIuMiAzOTUuNjAxIDIzNi42IDM1OC44MDEgMjIwLjYgMzYwLjAwMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmZmY7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC4xIj4KKyAgPHBhdGggZD0iTTIyOC4yMjUgMzU3Ljk3MkMyMjguMjI1IDM1Ny45NzIgMjI3Ljc4OCAzNTYuMjE0IDIyOS42NzggMzU2Ljc2OEMyMzEuNTY4IDM1Ny4zMjIgMjUyLjAwMiAzNTUuNDIzIDI5MC4wOTkgMzg5LjU5OUMyOTAuMDk5IDM4OS41OTkgMjQzLjkyNCAzNTQuNjU2IDIyOC4yMjUgMzU3Ljk3MnoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmZmY7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC4xIj4KKyAgPHBhdGggZD0iTTIzOC42MjUgMzUzLjU3MkMyMzguNjI1IDM1My41NzIgMjM4LjE4OCAzNTEuODE0IDI0MC4wNzggMzUyLjM2OEMyNDEuOTY4IDM1Mi45MjIgMjc2LjgwMiAzNTcuNDIzIDMyOC40OTkgMzkyLjM5OUMzMjguNDk5IDM5Mi4zOTkgMjU0LjMyNCAzNTAuMjU2IDIzOC42MjUgMzUzLjU3MnoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmZmY7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC4xIj4KKyAgPHBhdGggZD0iTTE5OC4yIDM0Mi4wMDFDMTk4LjIgMzQyLjAwMSAxOTggMzQwLjIwMSAxOTkuOCAzNDEuMDAxQzIwMS42IDM0MS44MDEgMjU1IDM0NC40MDEgMjg1LjQgMzcxLjIwMUMyODUuNCAzNzEuMjAxIDI1MC40OTkgMzQ2LjQyNiAxOTguMiAzNDIuMDAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZmZjsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjEiPgorICA8cGF0aCBkPSJNMTg4LjIgMzQ2LjAwMUMxODguMiAzNDYuMDAxIDE4OCAzNDQuMjAxIDE4OS44IDM0NS4wMDFDMTkxLjYgMzQ1LjgwMSAyMTYuMiAzNDkuMjAxIDIzOS44IDM4MS42MDFDMjM5LjggMzgxLjYwMSAyMDQuMiAzNDQuODAxIDE4OC4yIDM0Ni4wMDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmZmOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuMSI+CisgIDxwYXRoIGQ9Ik0yNDkuNTAzIDM0OC45NjJDMjQ5LjUwMyAzNDguOTYyIDI0OC45MzggMzQ3LjI0MSAyNTAuODY0IDM0Ny42NTVDMjUyLjc5IDM0OC4wNjggMjg3Ljg2IDM1MC4wMDQgMzQxLjk4MSAzODEuMDk4QzM0MS45ODEgMzgxLjA5OCAyNjQuMzE3IDM0Ni43MDQgMjQ5LjUwMyAzNDguOTYyeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZmZjsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjEiPgorICA8cGF0aCBkPSJNMjU3LjkwMyAzNDYuNTYyQzI1Ny45MDMgMzQ2LjU2MiAyNTcuMzM4IDM0NC44NDEgMjU5LjI2NCAzNDUuMjU1QzI2MS4xOSAzNDUuNjY4IDI5Ni4yNiAzNDcuNjA0IDM1MC4zODEgMzc4LjY5OEMzNTAuMzgxIDM3OC42OTggMjczLjMxNyAzNDMuOTA0IDI1Ny45MDMgMzQ2LjU2MnoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmZmY7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC4xIj4KKyAgPHBhdGggZD0iTTI2Ny41MDMgMzQxLjU2MkMyNjcuNTAzIDM0MS41NjIgMjY2LjkzOCAzMzkuODQxIDI2OC44NjQgMzQwLjI1NUMyNzAuNzkgMzQwLjY2OCAzMTMuODYgMzQ1LjAwNCA0MDMuNTgyIDM3OS4yOThDNDAzLjU4MiAzNzkuMjk4IDI4Mi45MTcgMzM4LjkwNCAyNjcuNTAzIDM0MS41NjJ6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjMDAwMDAwIj4KKyAgPHBhdGggZD0iTTE1Ni4yIDM0OC40MDFDMTU2LjIgMzQ4LjQwMSAxNjEuNCAzNDguMDAxIDE2MC4yIDM0OS42MDFDMTU5IDM1MS4yMDEgMTU2LjYgMzUwLjQwMSAxNTYuNiAzNTAuNDAxTDE1Ni4yIDM0OC40MDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjMDAwMDAwIj4KKyAgPHBhdGggZD0iTTE4NyAzNjIuNDAxQzE4NyAzNjIuNDAxIDE5Mi4yIDM2Mi4wMDEgMTkxIDM2My42MDFDMTg5LjggMzY1LjIwMSAxODcuNCAzNjQuNDAxIDE4Ny40IDM2NC40MDFMMTg3IDM2Mi40MDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjMDAwMDAwIj4KKyAgPHBhdGggZD0iTTE3OC4yIDM2Mi4wMDFDMTc4LjIgMzYyLjAwMSAxODMuNCAzNjEuNjAxIDE4Mi4yIDM2My4yMDFDMTgxIDM2NC44MDEgMTc4LjYgMzY0LjAwMSAxNzguNiAzNjQuMDAxTDE3OC4yIDM2Mi4wMDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjMDAwMDAwIj4KKyAgPHBhdGggZD0iTTgyLjgzMSAzNTAuMTgyQzgyLjgzMSAzNTAuMTgyIDg3Ljg3NiAzNTEuNTA1IDg2LjIxOCAzNTIuNjI0Qzg0LjU2MSAzNTMuNzQ0IDgyLjU1NCAzNTIuMjAyIDgyLjU1NCAzNTIuMjAyTDgyLjgzMSAzNTAuMTgyeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik04NC44MzEgMzQwLjU4MkM4NC44MzEgMzQwLjU4MiA4OS44NzYgMzQxLjkwNSA4OC4yMTggMzQzLjAyNEM4Ni41NjEgMzQ0LjE0NCA4NC41NTQgMzQyLjYwMiA4NC41NTQgMzQyLjYwMkw4NC44MzEgMzQwLjU4MnoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICMwMDAwMDAiPgorICA8cGF0aCBkPSJNNzcuNjMxIDMzNi4xODJDNzcuNjMxIDMzNi4xODIgODIuNjc2IDMzNy41MDUgODEuMDE4IDMzOC42MjRDNzkuMzYxIDMzOS43NDQgNzcuMzU0IDMzOC4yMDIgNzcuMzU0IDMzOC4yMDJMNzcuNjMxIDMzNi4xODJ6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjY2NjY2NjIj4KKyAgPHBhdGggZD0iTTE1Ny40IDQxMS4yMDFDMTU3LjQgNDExLjIwMSAxNTUuOCA0MTEuMjAxIDE1MS44IDQxMy4yMDFDMTQ5LjggNDEzLjIwMSAxMzguNiA0MTYuODAxIDEzMyA0MjYuODAxQzEzMyA0MjYuODAxIDE0NS40IDQxNy4yMDEgMTU3LjQgNDExLjIwMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNjY2NjY2MiPgorICA8cGF0aCBkPSJNMjQ1LjExNiA1MDMuODQ3QzI0NS4yNTcgNTA0LjEwNSAyNDUuMzEyIDUwNC41MjUgMjQ1LjYwNCA1MDQuNTQyQzI0Ni4yNjIgNTA0LjU4MiAyNDcuNDk1IDUwNC44ODMgMjQ3LjM3IDUwNC4yNDdDMjQ2LjUyMiA0OTkuOTQxIDI0NS42NDggNDk1LjAwNCAyNDEuNTE1IDQ5My4xOTdDMjQwLjg3NiA0OTIuOTE4IDIzOS40MzQgNDkzLjMzMSAyMzkuMzYgNDk0LjIxNUMyMzkuMjMzIDQ5NS43MzkgMjM5LjExNiA0OTcuMDg4IDIzOS40MjUgNDk4LjU1NEMyMzkuNzI1IDQ5OS45NzUgMjQxLjg4MyA0OTkuOTg1IDI0Mi44IDQ5OC42MDFDMjQzLjczNiA1MDAuMjczIDI0NC4xNjggNTAyLjExNiAyNDUuMTE2IDUwMy44NDd6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjY2NjY2NjIj4KKyAgPHBhdGggZD0iTTIzNC4wMzggNTA4LjU4MUMyMzQuNzg2IDUwOS45OTQgMjM0LjY1OSA1MTEuODUzIDIzNi4wNzQgNTEyLjQxNkMyMzYuODE0IDUxMi43MSAyMzguNjY0IDUxMS43MzUgMjM4LjI0NiA1MTAuNjYxQzIzNy40NDQgNTA4LjYgMjM3LjA1NiA1MDYuMzYxIDIzNS42NjcgNTA0LjU1QzIzNS40NjcgNTA0LjI4OCAyMzUuNzA3IDUwMy43NTUgMjM1LjU0NyA1MDMuNDI3QzIzNC45NTMgNTAyLjIwNyAyMzMuODA4IDUwMS40NzIgMjMyLjQgNTAxLjgwMUMyMzEuMjg1IDUwNC4wMDQgMjMyLjQzMyA1MDYuMTMzIDIzMy45NTUgNTA3Ljg0MkMyMzQuMDkxIDUwNy45OTQgMjMzLjkyNSA1MDguMzcgMjM0LjAzOCA1MDguNTgxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2NjY2NjYyI+CisgIDxwYXRoIGQ9Ik0xOTQuNDM2IDUwMy4zOTFDMTk0LjMyOCA1MDMuMDE0IDE5NC4yOSA1MDIuNTUxIDE5NC40NTUgNTAyLjIzQzE5NC45ODYgNTAxLjE5NyAxOTUuNzc5IDUwMC4wNzUgMTk1LjQ0MiA0OTkuMDUzQzE5NS4wOTQgNDk3Ljk5NyAxOTMuOTc4IDQ5OC4xNzkgMTkzLjMyOCA0OTguNzQ4QzE5Mi4xOTMgNDk5Ljc0MiAxOTIuMTQ0IDUwMS41NjggMTkxLjQ1MyA1MDIuOTI3QzE5MS4yNTcgNTAzLjMxMyAxOTEuMzA4IDUwMy44ODYgMTkwLjg2NyA1MDQuMjc3QzE5MC4zOTMgNTA0LjY5OCAxODkuOTUzIDUwNi4yMjIgMTkwLjA0OSA1MDYuNzkzQzE5MC4xMDIgNTA3LjEwNiAxODkuOTE5IDUxNy4wMTQgMTkwLjE0MSA1MTYuNzUxQzE5MC43NiA1MTYuMDE4IDE5My44MSA1MDYuMjg0IDE5My44NzkgNTA1LjM5MkMxOTMuOTM2IDUwNC42NjEgMTk0LjY2OCA1MDQuMTk2IDE5NC40MzYgNTAzLjM5MXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNjY2NjY2MiPgorICA8cGF0aCBkPSJNMTY4Ljc5OCA0OTYuNTk5QzE3MS40MzIgNDk0LjEgMTc0LjIyMiA0OTEuMTM5IDE3My43OCA0ODcuNDI3QzE3My42NjQgNDg2LjQ1MSAxNzEuODg5IDQ4Ni45NzggMTcxLjcwMiA0ODcuODI0QzE3MC45IDQ5MS40NDkgMTY4Ljg2MSA0OTQuMTEgMTY2LjI5MyA0OTYuNTAyQzE2NC4wOTcgNDk4LjU0OSAxNjIuMjM1IDUwNC44OTMgMTYyIDUwNS40MDFDMTY1LjY5NyA1MDAuMTQ1IDE2Ny45NTQgNDk3LjM5OSAxNjguNzk4IDQ5Ni41OTl6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjY2NjY2NjIj4KKyAgPHBhdGggZD0iTTE1NS4yMjQgNDkwLjYzNUMxNTUuNzQ3IDQ5MC4yNjUgMTU1LjQ0NSA0ODkuNzc0IDE1NS42NjIgNDg5LjQ0MkMxNTYuNjE1IDQ4Ny45ODQgMTU3LjkxNiA0ODYuNzM4IDE1Ny45MzQgNDg1QzE1Ny45MzcgNDg0LjcyMyAxNTcuNTU5IDQ4NC40MTQgMTU3LjIyNCA0ODQuNjM4QzE1Ni45NDcgNDg0LjgyMiAxNTYuNjA1IDQ4NC45NTIgMTU2LjQ5NyA0ODUuMDgyQzE1NC40NjcgNDg3LjUzMSAxNTMuMDY3IDQ5MC4yMDIgMTUxLjYyNCA0OTMuMDE0QzE1MS40NDEgNDkzLjM3MSAxNTAuMjk3IDQ5Ny44NjIgMTUwLjYxIDQ5Ny45NzNDMTUwLjg0OSA0OTguMDU4IDE1Mi41NjkgNDkzLjg3NyAxNTIuNzc5IDQ5My43NjNDMTU0LjA0MiA0OTMuMDc3IDE1NC4wNTQgNDkxLjQ2MiAxNTUuMjI0IDQ5MC42MzV6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjY2NjY2NjIj4KKyAgPHBhdGggZD0iTTE3MS45NTcgNTEwLjE3OUMxNzIuNDAxIDUwOS4zMSAxNzMuOTc3IDUwOC4xMDggMTczLjg2NCA1MDcuMjE5QzE3My43NDYgNTA2LjI5MSAxNzQuMjE0IDUwNC44NDggMTczLjMwMiA1MDUuNTM2QzE3Mi4wNDUgNTA2LjQ4NCAxNjguNTk2IDUwNy44MzMgMTY4LjMyNiA1MTMuNjQxQzE2OC4zIDUxNC4yMTIgMTcxLjI3NCA1MTEuNTE5IDE3MS45NTcgNTEwLjE3OXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNjY2NjY2MiPgorICA8cGF0aCBkPSJNMTg2LjQgNDkzLjAwMUMxODYuOCA0OTIuMzMzIDE4Ny41MDggNDkyLjgwNiAxODcuOTY3IDQ5Mi41NDNDMTg4LjYxNSA0OTIuMTcxIDE4OS4yMjYgNDkxLjYxMyAxODkuNTE4IDQ5MC45NjRDMTkwLjQ4OCA0ODguODE1IDE5Mi4yNTcgNDg2Ljk5NSAxOTIuNCA0ODQuNjAxQzE5MC45MDkgNDgzLjE5NiAxOTAuMjMgNDg1LjIzNiAxODkuNiA0ODYuMjAxQzE4OC4yNzcgNDg0LjU1NCAxODcuMjc4IDQ4Ni40MjggMTg1Ljk3OCA0ODYuOTQ3QzE4NS45MDggNDg2Ljk3NSAxODUuNjk1IDQ4Ni42MjggMTg1LjYyIDQ4Ni42NTVDMTg0LjQ0MyA0ODcuMDk1IDE4My43NjMgNDg4LjE3NiAxODIuNzY1IDQ4OC45NTdDMTgyLjU5NCA0ODkuMDkxIDE4Mi4xODkgNDg4LjkxMSAxODIuMDQyIDQ4OS4wNDdDMTgxLjM5IDQ4OS42NSAxODAuNDE3IDQ4OS45NzUgMTgwLjEzNyA0OTAuNjU3QzE3OS4wMjcgNDkzLjM2NCAxNzUuODg3IDQ5NS40NTkgMTc0IDUwMy4wMDFDMTc0LjM4MSA1MDMuOTEgMTc4LjUxMiA0OTYuMzU5IDE3OC45OTkgNDk1LjY2MUMxNzkuODM1IDQ5NC40NjUgMTc5Ljk1MyA0OTcuMzIyIDE4MS4yMjkgNDk2LjY1NkMxODEuMjggNDk2LjYyOSAxODEuNDY2IDQ5Ni44NjcgMTgxLjYgNDk3LjAwMUMxODEuNzk0IDQ5Ni43MjEgMTgyLjAxMiA0OTYuNDkyIDE4Mi40IDQ5Ni42MDFDMTgyLjQgNDk2LjIwMSAxODIuMjY2IDQ5NS42NDUgMTgyLjQ2NyA0OTUuNDg2QzE4My43MDQgNDk0LjUwOSAxODMuNjIgNDkzLjQ0MSAxODQuNCA0OTIuMjAxQzE4NC44NTggNDkyLjk5IDE4NS45MTkgNDkyLjI3MSAxODYuNCA0OTMuMDAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2NjY2NjYyI+CisgIDxwYXRoIGQ9Ik0yNDYuMiA1NDcuNDAxQzI0Ni4yIDU0Ny40MDEgMjUzLjYgNTI3LjAwMSAyNDkuMiA1MTUuODAxQzI0OS4yIDUxNS44MDEgMjYwLjYgNTM3LjQwMSAyNTYgNTQ4LjYwMUMyNTYgNTQ4LjYwMSAyNTUuNiA1MzguMjAxIDI1MS42IDUzMy4yMDFDMjUxLjYgNTMzLjIwMSAyNDcuNiA1NDYuMDAxIDI0Ni4yIDU0Ny40MDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjY2NjY2NjIj4KKyAgPHBhdGggZD0iTTIzMS40IDU0NC44MDFDMjMxLjQgNTQ0LjgwMSAyMzYuOCA1MzYuMDAxIDIyOC44IDUxNy42MDFDMjI4LjggNTE3LjYwMSAyMjggNTM4LjAwMSAyMjEuMiA1NDkuMDAxQzIyMS4yIDU0OS4wMDEgMjM1LjQgNTI4LjgwMSAyMzEuNCA1NDQuODAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2NjY2NjYyI+CisgIDxwYXRoIGQ9Ik0yMjEuNCA1NDIuODAxQzIyMS40IDU0Mi44MDEgMjIxLjIgNTIyLjgwMSAyMjEuNiA1MTkuODAxQzIyMS42IDUxOS44MDEgMjE3LjggNTM2LjQwMSAyMDcuNiA1NDYuMDAxQzIwNy42IDU0Ni4wMDEgMjIyIDUzNC4wMDEgMjIxLjQgNTQyLjgwMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNjY2NjY2MiPgorICA8cGF0aCBkPSJNMjExLjggNTEwLjgwMUMyMTEuOCA1MTAuODAxIDIxNy44IDUyNC40MDEgMjA3LjggNTQyLjgwMUMyMDcuOCA1NDIuODAxIDIxNC4yIDUzMC42MDEgMjA5LjQgNTIzLjYwMUMyMDkuNCA1MjMuNjAxIDIxMiA1MjAuMjAxIDIxMS44IDUxMC44MDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjY2NjY2NjIj4KKyAgPHBhdGggZD0iTTE5Mi42IDU0Mi40MDFDMTkyLjYgNTQyLjQwMSAxOTEuNiA1MjYuODAxIDE5My40IDUyNC42MDFDMTkzLjQgNTI0LjYwMSAxOTMuNiA1MTguMjAxIDE5My4yIDUxNy4yMDFDMTkzLjIgNTE3LjIwMSAxOTcuMiA1MTEuMDAxIDE5Ny40IDUxOC40MDFDMTk3LjQgNTE4LjQwMSAxOTguOCA1MjYuMjAxIDIwMS42IDUzMC44MDFDMjAxLjYgNTMwLjgwMSAyMDUuMiA1MzYuMjAxIDIwNSA1NDIuNjAxQzIwNSA1NDIuNjAxIDE5NSA1MTIuNDAxIDE5Mi42IDU0Mi40MDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjY2NjY2NjIj4KKyAgPHBhdGggZD0iTTE4OSA1MTQuODAxQzE4OSA1MTQuODAxIDE4Mi40IDUyNS42MDEgMTgwLjYgNTQ0LjYwMUMxODAuNiA1NDQuNjAxIDE3OS4yIDUzOC40MDEgMTgzIDUyNC4wMDFDMTgzIDUyNC4wMDEgMTg3LjIgNTA4LjYwMSAxODkgNTE0LjgwMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNjY2NjY2MiPgorICA8cGF0aCBkPSJNMTY3LjIgNTM0LjYwMUMxNjcuMiA1MzQuNjAxIDE3Mi4yIDUyOS4yMDEgMTczLjYgNTI0LjIwMUMxNzMuNiA1MjQuMjAxIDE3Ny4yIDUwOC40MDEgMTcwLjggNTE3LjAwMUMxNzAuOCA1MTcuMDAxIDE3MSA1MjUuMDAxIDE2Mi44IDUzMi40MDFDMTYyLjggNTMyLjQwMSAxNjcuNiA1MzAuMDAxIDE2Ny4yIDUzNC42MDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjY2NjY2NjIj4KKyAgPHBhdGggZD0iTTE2MS40IDUyOS42MDFDMTYxLjQgNTI5LjYwMSAxNjQuOCA1MTIuMjAxIDE2NS42IDUxMS40MDFDMTY1LjYgNTExLjQwMSAxNjcuNCA1MDguMDAxIDE2NC42IDUxMS4yMDFDMTY0LjYgNTExLjIwMSAxNTUuOCA1MzAuNDAxIDE1MS44IDUzNy4wMDFDMTUxLjggNTM3LjAwMSAxNTkuOCA1MjcuODAxIDE2MS40IDUyOS42MDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjY2NjY2NjIj4KKyAgPHBhdGggZD0iTTE1NS42IDUxMy4wMDFDMTU1LjYgNTEzLjAwMSAxNjcuMiA0OTAuNjAxIDE0NS40IDUxNi40MDFDMTQ1LjQgNTE2LjQwMSAxNTYuNCA1MDYuNjAxIDE1NS42IDUxMy4wMDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjY2NjY2NjIj4KKyAgPHBhdGggZD0iTTE0MC4yIDQ5OC40MDFDMTQwLjIgNDk4LjQwMSAxNDUgNDc5LjYwMSAxNDcuNiA0NzkuODAxQzE0Ny42IDQ3OS44MDEgMTU1LjggNDcwLjgwMSAxNDkuMiA0ODEuNDAxQzE0OS4yIDQ4MS40MDEgMTQzLjIgNDkxLjAwMSAxNDMuOCA1MDAuODAxQzE0My44IDUwMC44MDEgMTQzLjIgNDkxLjIwMSAxNDAuMiA0OTguNDAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2NjY2NjYyI+CisgIDxwYXRoIGQ9Ik00NzAuNSA0ODdDNDcwLjUgNDg3IDQ1OC41IDQ3NyA0NTYgNDczLjVDNDU2IDQ3My41IDQ2OS41IDQ5MiA0NjkuNSA0OTlDNDY5LjUgNDk5IDQ3MiA0OTEuNSA0NzAuNSA0ODd6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjY2NjY2NjIj4KKyAgPHBhdGggZD0iTTQ3NiA0NjVDNDc2IDQ2NSA0NTUgNDUwIDQ1MS41IDQ0Mi41QzQ1MS41IDQ0Mi41IDQ3OCA0NzIgNDc4IDQ3Ni41QzQ3OCA0NzYuNSA0NzguNSA0NjcuNSA0NzYgNDY1eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2NjY2NjYyI+CisgIDxwYXRoIGQ9Ik00OTMgMzExQzQ5MyAzMTEgNDgxIDMwMyA0NzkuNSAzMDVDNDc5LjUgMzA1IDQ5MCAzMTEuNSA0OTIuNSAzMjBDNDkyLjUgMzIwIDQ5MSAzMTEgNDkzIDMxMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNjY2NjY2MiPgorICA8cGF0aCBkPSJNNTAxLjUgMzkxLjVMNDg0IDM3OS41QzQ4NCAzNzkuNSA1MDMgMzk2LjUgNTAzLjUgNDAwLjVMNTAxLjUgMzkxLjV6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJzdHJva2U6IzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0xMTAuNzUgMzY5TDEzMi43NSAzNzMuNzUiLz4KKyA8L2c+CisgPGcgc3R5bGU9InN0cm9rZTojMDAwMDAwIj4KKyAgPHBhdGggZD0iTTE2MSA1MzFDMTYxIDUzMSAxNjAuNSA1MjcuNSAxNTEuNSA1MzgiLz4KKyA8L2c+CisgPGcgc3R5bGU9InN0cm9rZTojMDAwMDAwIj4KKyAgPHBhdGggZD0iTTE2Ni41IDUzNkMxNjYuNSA1MzYgMTY4LjUgNTI5LjUgMTYyIDUzNCIvPgorIDwvZz4KKyA8ZyBzdHlsZT0ic3Ryb2tlOiMwMDAwMDAiPgorICA8cGF0aCBkPSJNMjIwLjUgNTQ0LjVDMjIwLjUgNTQ0LjUgMjIyIDUzMy41IDIxMC41IDU0Ni41Ii8+CisgPC9nPgorPC9zdmc+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zdmczLnJkZSBiL2xpYnhtbDIvcmVzdWx0L3N2ZzMucmRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU0NjQyYTkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zdmczLnJkZQpAQCAtMCwwICsxLDIxNjQgQEAKKzAgMSBzdmcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKworMCAxNSBzdmcgMCAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zdmczLnJkciBiL2xpYnhtbDIvcmVzdWx0L3N2ZzMucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU0NjQyYTkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zdmczLnJkcgpAQCAtMCwwICsxLDIxNjQgQEAKKzAgMSBzdmcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMSBnIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIHBhdGggMSAwCisyIDE0ICN0ZXh0IDAgMSAKKyAKKzEgMTUgZyAwIDAKKzEgMTQgI3RleHQgMCAxIAorIAorMSAxIGcgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisyIDEgcGF0aCAxIDAKKzIgMTQgI3RleHQgMCAxIAorIAorMSAxNSBnIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgCisxIDEgZyAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBwYXRoIDEgMAorMiAxNCAjdGV4dCAwIDEgCisgCisxIDE1IGcgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKworMCAxNSBzdmcgMCAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC9zdmczLnNheCBiL2xpYnhtbDIvcmVzdWx0L3N2ZzMuc2F4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNiYjNkYTMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC9zdmczLnNheApAQCAtMCwwICsxLDI0MDcgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLnN0YXJ0RWxlbWVudChzdmcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjZmZmZmZmOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuMTcyJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J003Ny42OTYgMjg0LjI4NUM3Ny42OTYgMjg0LjI4NSA3Ny43OTcgMjg2LjE3OSA3Ni45NzMgMjg2LjE2Qzc2LjE0OSAyODYuMTQxIDU5LjY5NSAyMzguMDY2IDM5LjE2NyAyNDAuMzA5QzM5LjE2NyAyNDAuMzA5IDU2Ljk1IDIzMi45NTYgNzcuNjk2IDI4NC4yODV6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogI2ZmZmZmZjsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjE3MicpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNODEuMjI2IDI4MS4yNjJDODEuMjI2IDI4MS4yNjIgODAuNjc3IDI4My4wNzggNzkuOTA4IDI4Mi43NzlDNzkuMTQgMjgyLjQ4MSA4MC4wMjMgMjMxLjY3NSA1OS45NTcgMjI2LjgwMUM1OS45NTcgMjI2LjgwMSA3OS4xOCAyMjUuOTM3IDgxLjIyNiAyODEuMjYyeicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICNmZmZmZmY7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC4xNzInKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTEwOC43MTYgMzIzLjU5QzEwOC43MTYgMzIzLjU5IDExMC4zNTIgMzI0LjU1IDEwOS44ODIgMzI1LjIyN0MxMDkuNDExIDMyNS45MDQgNjAuMjM3IDMxMy4xMDIgNTAuNzgyIDMzMS40NTlDNTAuNzgyIDMzMS40NTkgNTQuNDYxIDMxMi41NzIgMTA4LjcxNiAzMjMuNTl6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogI2ZmZmZmZjsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjE3MicpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMTA1LjkwNyAzMzMuODAxQzEwNS45MDcgMzMzLjgwMSAxMDcuNzYzIDMzNC4xOTcgMTA3LjUyOSAzMzQuOTg4QzEwNy4yOTYgMzM1Ljc3OSA1Ni41OTMgMzM5LjEyMSA1My40MDMgMzU5LjUyMkM1My40MDMgMzU5LjUyMiA1MC45NDUgMzQwLjQzNyAxMDUuOTA3IDMzMy44MDF6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogI2ZmZmZmZjsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjE3MicpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMTAxLjY5NiAzMjguMjc2QzEwMS42OTYgMzI4LjI3NiAxMDMuNDc0IDMyOC45MzkgMTAzLjEyOCAzMjkuNjg3QzEwMi43ODIgMzMwLjQzNSA1Mi4xMzQgMzI2LjM0NiA0Ni4wMDIgMzQ2LjA2NEM0Ni4wMDIgMzQ2LjA2NCA0Ni4zNTQgMzI2LjgyNSAxMDEuNjk2IDMyOC4yNzZ6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogI2ZmZmZmZjsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjE3MicpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNOTAuOTkxIDMxMC4wNzJDOTAuOTkxIDMxMC4wNzIgOTIuMjk5IDMxMS40NDYgOTEuNjYgMzExLjk2N0M5MS4wMjEgMzEyLjQ4OCA0Ny4yNzggMjg2LjYzNCAzMy4xMzEgMzAxLjY3NkMzMy4xMzEgMzAxLjY3NiA0MS44NzIgMjg0LjUzMyA5MC45OTEgMzEwLjA3MnonKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjZmZmZmZmOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuMTcyJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J004My40NDYgMzE0LjI2M0M4My40NDYgMzE0LjI2MyA4NC45MDIgMzE1LjQ4IDg0LjMyNiAzMTYuMDcxQzgzLjc1IDMxNi42NjEgMzcuMzYyIDI5NS45MjIgMjUuMDA4IDMxMi40NjlDMjUuMDA4IDMxMi40NjkgMzEuNzUzIDI5NC40NDcgODMuNDQ2IDMxNC4yNjN6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogI2ZmZmZmZjsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjE3MicpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNODAuODQ2IDMxOC4zMzVDODAuODQ2IDMxOC4zMzUgODIuNDU0IDMxOS4zNDMgODEuOTY0IDMyMC4wMDZDODEuNDc0IDMyMC42NjkgMzIuNjkyIDMwNi40NDYgMjIuNzA5IDMyNC41MjJDMjIuNzA5IDMyNC41MjIgMjYuOTM0IDMwNS43NDkgODAuODQ2IDMxOC4zMzV6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogI2ZmZmZmZjsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjE3MicpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNOTEuNTggMzE4Ljk0OUM5MS41OCAzMTguOTQ5IDkyLjcwMiAzMjAuNDggOTIuMDAxIDMyMC45MTVDOTEuMyAzMjEuMzUgNTEuMjMxIDI5MC4xMDIgMzUuMjczIDMwMy4yMDdDMzUuMjczIDMwMy4yMDcgNDYuMTM4IDI4Ny4zMjYgOTEuNTggMzE4Ljk0OXonKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjZmZmZmZmOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuMTcyJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J003MS44IDI5MEM3MS44IDI5MCA3Mi40IDI5MS44IDcxLjYgMjkyQzcwLjggMjkyLjIgNDIuMiAyNTAuMiAyMi45OTkgMjU3LjhDMjIuOTk5IDI1Ny44IDM4LjIgMjQ2IDcxLjggMjkweicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICNmZmZmZmY7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC4xNzInKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTcyLjQ5NSAyOTYuOTc5QzcyLjQ5NSAyOTYuOTc5IDczLjQ3IDI5OC42MDggNzIuNzMxIDI5OC45NzVDNzEuOTkzIDI5OS4zNDMgMzUuMDA4IDI2NC40OTkgMTcuODk5IDI3Ni4wNjFDMTcuODk5IDI3Ni4wNjEgMzAuMTk2IDI2MS4yNjEgNzIuNDk1IDI5Ni45Nzl6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogI2ZmZmZmZjsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjE3MicpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNNzIuMzggMzAxLjM0OUM3Mi4zOCAzMDEuMzQ5IDczLjUwMiAzMDIuODggNzIuODAxIDMwMy4zMTVDNzIuMSAzMDMuNzQ5IDMyLjAzMSAyNzIuNTAyIDE2LjA3MyAyODUuNjA3QzE2LjA3MyAyODUuNjA3IDI2LjkzOCAyNjkuNzI2IDcyLjM4IDMwMS4zNDl6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogI2ZmZmZmZjsgc3Ryb2tlOiMwMDAwMDAnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTcwLjE3IDMwMy4wNjVDNzAuNjczIDMwOS4xMTMgNzEuNjYxIDMxNS42ODIgNzMuNCAzMTguODAxQzczLjQgMzE4LjgwMSA2OS44IDMzMS4yMDEgNzguNiAzNDQuNDAxQzc4LjYgMzQ0LjQwMSA3OC4yIDM1MS42MDEgNzkuOCAzNTQuODAxQzc5LjggMzU0LjgwMSA4My44IDM2My4yMDEgODguNiAzNjQuMDAxQzkyLjQ4NCAzNjQuNjQ4IDEwMS4yMDcgMzY3LjcxNyAxMTEuMDY4IDM2OS4xMjFDMTExLjA2OCAzNjkuMTIxIDEyOC4yIDM4My4yMDEgMTI1IDM5Ni4wMDFDMTI1IDM5Ni4wMDEgMTI0LjYgNDEyLjQwMSAxMjEgNDE0LjAwMUMxMjEgNDE0LjAwMSAxMzIuNiA0MDIuODAxIDEyMyA0MTkuNjAxTDExOC42IDQzOC40MDFDMTE4LjYgNDM4LjQwMSAxNDQuMiA0MTYuODAxIDEyOC42IDQzNS4yMDFMMTE4LjYgNDYxLjIwMUMxMTguNiA0NjEuMjAxIDEzOC4yIDQ0Mi44MDEgMTMxIDQ1MS4yMDFMMTI3LjggNDYwLjAwMUMxMjcuOCA0NjAuMDAxIDE3MSA0MzIuODAxIDE0MC4yIDQ2Mi40MDFDMTQwLjIgNDYyLjQwMSAxNDguMiA0NTguODAxIDE1Mi42IDQ2MS42MDFDMTUyLjYgNDYxLjYwMSAxNTkuNCA0NjAuNDAxIDE1OC42IDQ2Mi4wMDFDMTU4LjYgNDYyLjAwMSAxMzcuOCA0NzIuNDAxIDEzNC4yIDQ5MC44MDFDMTM0LjIgNDkwLjgwMSAxNDIuNiA0ODAuODAxIDEzOS40IDQ5MS42MDFMMTM5LjggNTAzLjIwMUMxMzkuOCA1MDMuMjAxIDE0My44IDQ4MS42MDEgMTQzLjQgNTE5LjIwMUMxNDMuNCA1MTkuMjAxIDE2Mi42IDUwMS4yMDEgMTUxIDUyMi4wMDFMMTUxIDUzOC44MDFDMTUxIDUzOC44MDEgMTY2LjIgNTIyLjQwMSAxNTkuOCA1MzUuMjAxQzE1OS44IDUzNS4yMDEgMTY5LjggNTI2LjQwMSAxNjUuOCA1NDEuNjAxQzE2NS44IDU0MS42MDEgMTY1IDU1Mi4wMDEgMTY5LjQgNTQwLjgwMUMxNjkuNCA1NDAuODAxIDE4NS40IDUxMC4yMDEgMTc5LjQgNTM2LjQwMUMxNzkuNCA1MzYuNDAxIDE3OC42IDU1NS42MDEgMTgzLjQgNTQwLjgwMUMxODMuNCA1NDAuODAxIDE4My44IDU1MS4yMDEgMTkzIDU1OC40MDFDMTkzIDU1OC40MDEgMTkxLjggNTA3LjYwMSAyMDQuNiA1NDMuNjAxTDIwOC42IDU2MC4wMDFDMjA4LjYgNTYwLjAwMSAyMTEuNCA1NTAuODAxIDIxMSA1NDUuNjAxQzIxMSA1NDUuNjAxIDIyNS44IDUyOS4yMDEgMjE5IDU1My42MDFDMjE5IDU1My42MDEgMjM0LjIgNTMwLjgwMSAyMzEgNTQ0LjAwMUMyMzEgNTQ0LjAwMSAyMjMuNCA1NjAuMDAxIDIyNSA1NjQuODAxQzIyNSA1NjQuODAxIDI0MS44IDUzMC4wMDEgMjQzIDUyOC40MDFDMjQzIDUyOC40MDEgMjQxIDU3MC44MDIgMjUxLjggNTM0LjgwMUMyNTEuOCA1MzQuODAxIDI1Ny40IDU0Ni44MDEgMjU0LjYgNTUxLjIwMUMyNTQuNiA1NTEuMjAxIDI2Mi42IDU0My4yMDEgMjYxLjggNTQwLjAwMUMyNjEuOCA1NDAuMDAxIDI2Ni40IDUzMS44MDEgMjY5LjIgNTQ1LjQwMUMyNjkuMiA1NDUuNDAxIDI3MSA1NTQuODAxIDI3Mi42IDU1MS42MDFDMjcyLjYgNTUxLjYwMSAyNzYuNiA1NzUuNjAyIDI3Ny44IDU1Mi44MDFDMjc3LjggNTUyLjgwMSAyNzkuNCA1MzkuMjAxIDI3Mi4yIDUyNy42MDFDMjcyLjIgNTI3LjYwMSAyNzMgNTI0LjQwMSAyNzAuMiA1MjAuNDAxQzI3MC4yIDUyMC40MDEgMjgzLjggNTQyLjAwMSAyNzYuNiA1MTMuMjAxQzI3Ni42IDUxMy4yMDEgMjg3LjgwMSA1MjEuMjAxIDI4OS4wMDEgNTIxLjIwMUMyODkuMDAxIDUyMS4yMDEgMjc1LjQgNDk4LjAwMSAyODQuMiA1MDIuODAxQzI4NC4yIDUwMi44MDEgMjc5IDQ5Mi40MDEgMjk3LjAwMSA1MDQuNDAxQzI5Ny4wMDEgNTA0LjQwMSAyODEgNDg4LjQwMSAyOTguNjAxIDQ5OC4wMDFDMjk4LjYwMSA0OTguMDAxIDMwNi42MDEgNTA0LjQwMSAyOTkuMDAxIDQ5NC40MDFDMjk5LjAwMSA0OTQuNDAxIDI4NC42IDQ3OC40MDEgMzA2LjYwMSA0OTYuNDAxQzMwNi42MDEgNDk2LjQwMSAzMTguMjAxIDUxMi44MDEgMzE5LjAwMSA1MTUuNjAxQzMxOS4wMDEgNTE1LjYwMSAzMDkuMDAxIDQ4Ni40MDEgMzA0LjYwMSA0ODMuNjAxQzMwNC42MDEgNDgzLjYwMSAzMTMuMDAxIDQ0Ny4yMDEgMzU0LjIwMSA0NjIuODAxQzM1NC4yMDEgNDYyLjgwMSAzNjEuMDAxIDQ4MC4wMDEgMzY1LjQwMSA0NjEuNjAxQzM2NS40MDEgNDYxLjYwMSAzNzguMjAxIDQ1NS4yMDEgMzg5LjQwMSA0ODIuODAxQzM4OS40MDEgNDgyLjgwMSAzOTMuNDAxIDQ2OS4yMDEgMzkyLjYwMSA0NjYuNDAxQzM5Mi42MDEgNDY2LjQwMSAzOTkuNDAxIDQ2Ny42MDEgMzk4LjYwMSA0NjYuNDAxQzM5OC42MDEgNDY2LjQwMSA0MTEuODAxIDQ3MC44MDEgNDEzLjAwMSA0NzAuMDAxQzQxMy4wMDEgNDcwLjAwMSA0MTkuODAxIDQ3Ni44MDEgNDIwLjIwMSA0NzMuMjAxQzQyMC4yMDEgNDczLjIwMSA0MjkuNDAxIDQ3Ni4wMDEgNDI3LjQwMSA0NzIuNDAxQzQyNy40MDEgNDcyLjQwMSA0MzYuMjAxIDQ4OC4wMDEgNDM2LjYwMSA0OTEuNjAxTDQzOS4wMDEgNDc3LjYwMUw0NDEuMDAxIDQ4MC40MDFDNDQxLjAwMSA0ODAuNDAxIDQ0Mi42MDEgNDcyLjgwMSA0NDEuODAxIDQ3MS42MDFDNDQxLjAwMSA0NzAuNDAxIDQ2MS44MDEgNDc4LjQwMSA0NjYuNjAxIDQ5OS4yMDFMNDY4LjYwMSA1MDcuNjAxQzQ2OC42MDEgNTA3LjYwMSA0NzQuNjAxIDQ5Mi44MDEgNDczLjAwMSA0ODguODAxQzQ3My4wMDEgNDg4LjgwMSA0NzguMjAxIDQ4OS42MDEgNDc4LjYwMSA0OTQuMDAxQzQ3OC42MDEgNDk0LjAwMSA0ODIuNjAxIDQ3MC44MDEgNDc3LjgwMSA0NjQuODAxQzQ3Ny44MDEgNDY0LjgwMSA0ODIuMjAxIDQ2NC4wMDEgNDgzLjQwMSA0NjcuNjAxTDQ4My40MDEgNDYwLjQwMUM0ODMuNDAxIDQ2MC40MDEgNDkwLjYwMSA0NjEuMjAxIDQ5MC42MDEgNDU4LjgwMUM0OTAuNjAxIDQ1OC44MDEgNDk1LjAwMSA0NTQuODAxIDQ5Ny4wMDEgNDU5LjYwMUM0OTcuMDAxIDQ1OS42MDEgNDg0LjYwMSA0MjQuNDAxIDUwMy4wMDEgNDQzLjYwMUM1MDMuMDAxIDQ0My42MDEgNTEwLjIwMSA0NTQuNDAxIDUwNi42MDEgNDM1LjYwMUM1MDMuMDAxIDQxNi44MDEgNDk5LjAwMSA0MTUuMjAxIDUwMy44MDEgNDE0LjgwMUM1MDMuODAxIDQxNC44MDEgNTA0LjYwMSA0MTEuMjAxIDUwMi42MDEgNDA5LjYwMUM1MDAuNjAxIDQwOC4wMDEgNTAzLjgwMSA0MDkuNjAxIDUwMy44MDEgNDA5LjYwMUM1MDMuODAxIDQwOS42MDEgNTA4LjYwMSA0MTMuNjAxIDUwMy40MDEgMzkxLjYwMUM1MDMuNDAxIDM5MS42MDEgNTA5LjgwMSAzOTMuMjAxIDQ5Ny44MDEgMzY0LjAwMUM0OTcuODAxIDM2NC4wMDEgNTAwLjYwMSAzNjEuNjAxIDQ5Ni42MDEgMzUzLjIwMUM0OTYuNjAxIDM1My4yMDEgNTA0LjYwMSAzNTcuNjAxIDUwNy40MDEgMzU2LjAwMUM1MDcuNDAxIDM1Ni4wMDEgNTA3LjAwMSAzNTQuNDAxIDUwMy44MDEgMzUwLjQwMUM1MDMuODAxIDM1MC40MDEgNDgyLjIwMSAyOTUuNiA1MDIuNjAxIDMxNy42MDFDNTAyLjYwMSAzMTcuNjAxIDUxNC40NTEgMzMxLjE1MSA1MDguMDUxIDMwOC4zNTFDNTA4LjA1MSAzMDguMzUxIDQ5OC45NCAyODQuMzQxIDQ5OS43MTcgMjgwLjA0NUw3MC4xNyAzMDMuMDY1eicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICNjYzcyMjY7IHN0cm9rZTojMDAwMDAwJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J000OTkuNzE3IDI4MC4yNDVDNTAwLjM0NSAyODAuNDI2IDUwMi41NTEgMjgxLjU1IDUwMy44MDEgMjgzLjJDNTAzLjgwMSAyODMuMiA1MTAuNjAxIDI5NCA1MDUuNDAxIDI3NS42QzUwNS40MDEgMjc1LjYgNDk2LjIwMSAyNDYuOCA1MDUuMDAxIDI1OEM1MDUuMDAxIDI1OCA1MTEuMDAxIDI2NS4yIDUwNy44MDEgMjUxLjZDNTAzLjkzNiAyMzUuMTczIDUwMS40MDEgMjI4LjggNTAxLjQwMSAyMjguOEM1MDEuNDAxIDIyOC44IDUxMy4wMDEgMjMzLjYgNDg2LjIwMSAxOTRMNDk1LjAwMSAxOTcuNkM0OTUuMDAxIDE5Ny42IDQ3NS40MDEgMTU4IDQ1My44MDEgMTUyLjhMNDQ1LjgwMSAxNDYuOEM0NDUuODAxIDE0Ni44IDQ4NC4yMDEgMTA4LjggNDcxLjQwMSA3MkM0NzEuNDAxIDcyIDQ2NC42MDEgNjYuOCA0NTUuMDAxIDc2QzQ1NS4wMDEgNzYgNDQ4LjYwMSA4MC44IDQ0Mi42MDEgNzkuMkM0NDIuNjAxIDc5LjIgNDExLjgwMSA4MC40IDQwOS44MDEgODAuNEM0MDcuODAxIDgwLjQgMzczLjAwMSA0My4yIDMwNy40MDEgNjAuOEMzMDcuNDAxIDYwLjggMzAyLjIwMSA2Mi44IDI5Ny44MDEgNjEuNkMyOTcuODAxIDYxLjYgMjc5LjQgNDUuNiAyMzAuNiA2OC40QzIzMC42IDY4LjQgMjIwLjYgNzAuNCAyMTkgNzAuNEMyMTcuNCA3MC40IDIxNC42IDcwLjQgMjA2LjYgNzYuOEMxOTguNiA4My4yIDE5OC4yIDg0IDE5Ni4yIDg1LjZDMTk2LjIgODUuNiAxNzkuOCA5Ni44IDE3NSA5Ny42QzE3NSA5Ny42IDE2My40IDEwNCAxNTkgMTE0TDE1NS40IDExNS4yQzE1NS40IDExNS4yIDE1My44IDEyMi40IDE1My40IDEyMy42QzE1My40IDEyMy42IDE0OC42IDEyNy4yIDE0Ny44IDEzMi44QzE0Ny44IDEzMi44IDEzOSAxMzguOCAxMzkuNCAxNDMuMkMxMzkuNCAxNDMuMiAxMzcuOCAxNDguNCAxMzcgMTUzLjJDMTM3IDE1My4yIDEyOS44IDE1OCAxMzAuNiAxNjAuOEMxMzAuNiAxNjAuOCAxMjMgMTc0LjggMTI0LjIgMTgxLjZDMTI0LjIgMTgxLjYgMTE3LjggMTgxLjIgMTE1IDE4My42QzExNSAxODMuNiAxMTQuMiAxODguNCAxMTIuNiAxODguOEMxMTIuNiAxODguOCAxMDkuOCAxOTAgMTEyLjIgMTk0QzExMi4yIDE5NCAxMTAuNiAxOTYuOCAxMTAuMiAxOTguNEMxMTAuMiAxOTguNCAxMTEgMjAxLjIgMTA2LjYgMjA2LjhDMTA2LjYgMjA2LjggMTAwLjIgMjI1LjYgMTAyLjIgMjMwLjhDMTAyLjIgMjMwLjggMTAyLjYgMjM1LjYgOTkuOCAyMzcuMkM5OS44IDIzNy4yIDk2LjIgMjM2LjggMTA0LjYgMjQ4LjhDMTA0LjYgMjQ4LjggMTA1LjQgMjUwIDEwMi4yIDI1Mi40QzEwMi4yIDI1Mi40IDg1IDI1NiA4Mi42IDI3Mi40QzgyLjYgMjcyLjQgNjkgMjg3LjIgNjkgMjkyLjRDNjkgMjk0LjcwNSA2OS4yNzEgMjk3Ljg1MiA2OS45NyAzMDIuNDY1QzY5Ljk3IDMwMi40NjUgNjkuNCAzMTAuODAxIDk3IDMxMS42MDFDMTI0LjYgMzEyLjQwMSA0OTkuNzE3IDI4MC4yNDUgNDk5LjcxNyAyODAuMjQ1eicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICNjYzcyMjYnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTg0LjQgMzAyLjZDNTkuNCAyNjMuMiA3My44IDMxOS42MDEgNzMuOCAzMTkuNjAxQzgyLjYgMzU0LjAwMSAyMTIuMiAzMTYuNDAxIDIxMi4yIDMxNi40MDFDMjEyLjIgMzE2LjQwMSAzODEuMDAxIDI4NiAzOTIuMjAxIDI4MkM0MDMuNDAxIDI3OCA0OTguNjAxIDI4NC40IDQ5OC42MDEgMjg0LjRMNDkzLjAwMSAyNjcuNkM0MjguMjAxIDIyMS4yIDQwOS4wMDEgMjQ0LjQgMzk1LjQwMSAyNDAuNEMzODEuODAxIDIzNi40IDM4NC4yMDEgMjQ2IDM4MS4wMDEgMjQ2LjhDMzc3LjgwMSAyNDcuNiAzMzguNjAxIDIyMi44IDMzMi4yMDEgMjIzLjZDMzI1LjgwMSAyMjQuNCAzMDAuNDU5IDIwMC42NDkgMzE1LjQwMSAyMzIuNEMzMzEuNDAxIDI2Ni40IDI1NyAyNzEuNiAyNDAuMiAyNjAuNEMyMjMuNCAyNDkuMiAyNDcuNCAyNzguOCAyNDcuNCAyNzguOEMyNjUuOCAyOTguOCAyMzEuNCAyODIgMjMxLjQgMjgyQzE5NyAyNjkuMiAxNzMgMjk0LjggMTY5LjggMjk1LjZDMTY2LjYgMjk2LjQgMTYxLjggMjk5LjYgMTYxIDI5My4yQzE2MC4yIDI4Ni44IDE1Mi42OSAyNzAuMDk5IDEyMSAyOTYuNEMxMDEgMzEzLjAwMSA4Ny4yIDI5MSA4Ny4yIDI5MUw4NC40IDMwMi42eicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICNlODdmM2EnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTMzMy41MSAyMjUuMzQ2QzMyNy4xMSAyMjYuMTQ2IDMwMS43NDMgMjAyLjQwNyAzMTYuNzEgMjM0LjE0NkMzMzMuMzEgMjY5LjM0NiAyNTguMzEgMjczLjM0NiAyNDEuNTEgMjYyLjE0NkMyMjQuNzA5IDI1MC45NDYgMjQ4LjcxIDI4MC41NDYgMjQ4LjcxIDI4MC41NDZDMjY3LjExIDMwMC41NDYgMjMyLjcwOSAyODMuNzQ2IDIzMi43MDkgMjgzLjc0NkMxOTguMzA5IDI3MC45NDYgMTc0LjMwOSAyOTYuNTQ2IDE3MS4xMDkgMjk3LjM0NkMxNjcuOTA5IDI5OC4xNDYgMTYzLjEwOSAzMDEuMzQ2IDE2Mi4zMDkgMjk0Ljk0NkMxNjEuNTA5IDI4OC41NDYgMTU0LjEzIDI3Mi4wMTIgMTIyLjMwOSAyOTguMTQ2QzEwMS4wNzMgMzE1LjQ5MiA4Ny41ODIgMjk0LjAzNyA4Ny41ODIgMjk0LjAzN0w4NC4zODIgMzA0LjE0NkM1OS4zODIgMjY0LjM0NiA3NC40NTQgMzIyLjY1NSA3NC40NTQgMzIyLjY1NUM4My4yNTUgMzU3LjA1NiAyMTMuNTA5IDMxOC4xNDYgMjEzLjUwOSAzMTguMTQ2QzIxMy41MDkgMzE4LjE0NiAzODIuMzEgMjg3Ljc0NiAzOTMuNTEgMjgzLjc0NkM0MDQuNzEgMjc5Ljc0NiA0OTkuMDM4IDI4Ni4wNzMgNDk5LjAzOCAyODYuMDczTDQ5My41MSAyNjguNzY0QzQyOC43MSAyMjIuMzY0IDQxMC4zMSAyNDYuMTQ2IDM5Ni43MSAyNDIuMTQ2QzM4My4xMSAyMzguMTQ2IDM4NS41MSAyNDcuNzQ2IDM4Mi4zMSAyNDguNTQ2QzM3OS4xMSAyNDkuMzQ2IDMzOS45MSAyMjQuNTQ2IDMzMy41MSAyMjUuMzQ2eicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICNlYThjNGQnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTMzNC44MTkgMjI3LjA5MUMzMjguNDE5IDIyNy44OTEgMzAzLjY4NSAyMDMuODYyIDMxOC4wMTkgMjM1Ljg5MUMzMzQuMjE5IDI3Mi4wOTIgMjU5LjYxOSAyNzUuMDkyIDI0Mi44MTkgMjYzLjg5MkMyMjYuMDE5IDI1Mi42OTIgMjUwLjAxOSAyODIuMjkyIDI1MC4wMTkgMjgyLjI5MkMyNjguNDE5IDMwMi4yOTIgMjM0LjAxOSAyODUuNDkyIDIzNC4wMTkgMjg1LjQ5MkMxOTkuNjE5IDI3Mi42OTIgMTc1LjYxOCAyOTguMjkyIDE3Mi40MTggMjk5LjA5MkMxNjkuMjE4IDI5OS44OTIgMTY0LjQxOCAzMDMuMDkyIDE2My42MTggMjk2LjY5MkMxNjIuODE4IDI5MC4yOTIgMTU1LjU3IDI3My45MjUgMTIzLjYxOCAyOTkuODkyQzEwMS4xNDUgMzE3Ljk4MyA4Ny45NjQgMjk3LjA3NCA4Ny45NjQgMjk3LjA3NEw4NC4zNjQgMzA1LjY5MkM2MC41NjQgMjY2LjY5MiA3NS4xMDkgMzI1LjcxIDc1LjEwOSAzMjUuNzFDODMuOTA5IDM2MC4xMSAyMTQuODE5IDMxOS44OTIgMjE0LjgxOSAzMTkuODkyQzIxNC44MTkgMzE5Ljg5MiAzODMuNjE5IDI4OS40OTIgMzk0LjgxOSAyODUuNDkyQzQwNi4wMTkgMjgxLjQ5MiA0OTkuNDc0IDI4Ny43NDYgNDk5LjQ3NCAyODcuNzQ2TDQ5NC4wMiAyNjkuOTI4QzQyOS4yMTkgMjIzLjUyOCA0MTEuNjE5IDI0Ny44OTEgMzk4LjAxOSAyNDMuODkxQzM4NC40MTkgMjM5Ljg5MSAzODYuODE5IDI0OS40OTEgMzgzLjYxOSAyNTAuMjkyQzM4MC40MTkgMjUxLjA5MiAzNDEuMjE5IDIyNi4yOTEgMzM0LjgxOSAyMjcuMDkxeicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICNlYzk5NjEnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTMzNi4xMjggMjI4LjgzN0MzMjkuNzI4IDIyOS42MzcgMzA0Ljk5OSAyMDUuNjA1IDMxOS4zMjggMjM3LjYzN0MzMzYuMTI4IDI3NS4xOTMgMjYwLjM5NCAyNzYuNDgyIDI0NC4xMjggMjY1LjYzN0MyMjcuMzI4IDI1NC40MzcgMjUxLjMyOCAyODQuMDM3IDI1MS4zMjggMjg0LjAzN0MyNjkuNzI4IDMwNC4wMzcgMjM1LjMyOCAyODcuMjM3IDIzNS4zMjggMjg3LjIzN0MyMDAuOTI4IDI3NC40MzcgMTc2LjkyOCAzMDAuMDM3IDE3My43MjggMzAwLjgzN0MxNzAuNTI4IDMwMS42MzcgMTY1LjcyOCAzMDQuODM3IDE2NC45MjggMjk4LjQzN0MxNjQuMTI4IDI5Mi4wMzcgMTU3LjAxMSAyNzUuODM5IDEyNC45MjcgMzAxLjYzN0MxMDEuMjE4IDMyMC40NzQgODguMzQ1IDMwMC4xMSA4OC4zNDUgMzAwLjExTDg0LjM0NSAzMDcuMjM3QzYyLjU0NSAyNzAuNDM3IDc1Ljc2NCAzMjguNzY1IDc1Ljc2NCAzMjguNzY1Qzg0LjU2NCAzNjMuMTY1IDIxNi4xMjggMzIxLjYzNyAyMTYuMTI4IDMyMS42MzdDMjE2LjEyOCAzMjEuNjM3IDM4NC45MjggMjkxLjIzNyAzOTYuMTI5IDI4Ny4yMzdDNDA3LjMyOSAyODMuMjM3IDQ5OS45MTEgMjg5LjQxOSA0OTkuOTExIDI4OS40MTlMNDk0LjUyOSAyNzEuMDkyQzQyOS43MjkgMjI0LjY5MSA0MTIuOTI5IDI0OS42MzcgMzk5LjMyOSAyNDUuNjM3QzM4NS43MjggMjQxLjYzNyAzODguMTI4IDI1MS4yMzcgMzg0LjkyOCAyNTIuMDM3QzM4MS43MjggMjUyLjgzNyAzNDIuNTI4IDIyOC4wMzcgMzM2LjEyOCAyMjguODM3eicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICNlZWE1NzUnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTMzNy40MzggMjMwLjU4M0MzMzEuMDM3IDIzMS4zODMgMzA2LjgxNCAyMDcuMTI5IDMyMC42MzcgMjM5LjM4M0MzMzcuNDM4IDI3OC41ODMgMjYyLjIzNyAyNzguNTgzIDI0NS40MzcgMjY3LjM4M0MyMjguNjM3IDI1Ni4xODMgMjUyLjYzNyAyODUuNzgzIDI1Mi42MzcgMjg1Ljc4M0MyNzEuMDM3IDMwNS43ODMgMjM2LjYzNyAyODguOTgzIDIzNi42MzcgMjg4Ljk4M0MyMDIuMjM3IDI3Ni4xODMgMTc4LjIzNyAzMDEuNzgzIDE3NS4wMzcgMzAyLjU4M0MxNzEuODM3IDMwMy4zODMgMTY3LjAzNyAzMDYuNTgzIDE2Ni4yMzcgMzAwLjE4M0MxNjUuNDM3IDI5My43ODMgMTU4LjQ1MiAyNzcuNzUyIDEyNi4yMzcgMzAzLjM4M0MxMDEuMjkxIDMyMi45NjUgODguNzI3IDMwMy4xNDYgODguNzI3IDMwMy4xNDZMODQuMzI3IDMwOC43ODNDNjQuNTI3IDI3My45ODIgNzYuNDE4IDMzMS44MTkgNzYuNDE4IDMzMS44MTlDODUuMjE4IDM2Ni4yMiAyMTcuNDM3IDMyMy4zODMgMjE3LjQzNyAzMjMuMzgzQzIxNy40MzcgMzIzLjM4MyAzODYuMjM4IDI5Mi45ODMgMzk3LjQzOCAyODguOTgzQzQwOC42MzggMjg0Ljk4MyA1MDAuMzQ3IDI5MS4wOTIgNTAwLjM0NyAyOTEuMDkyTDQ5NS4wMzggMjcyLjI1NUM0MzAuMjM4IDIyNS44NTUgNDE0LjIzOCAyNTEuMzgzIDQwMC42MzggMjQ3LjM4M0MzODcuMDM4IDI0My4zODMgMzg5LjQzOCAyNTIuOTgzIDM4Ni4yMzggMjUzLjc4M0MzODMuMDM4IDI1NC41ODMgMzQzLjgzOCAyMjkuNzgzIDMzNy40MzggMjMwLjU4M3onKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjZjFiMjg4JykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J00zMzguNzQ3IDIzMi4zMjhDMzMyLjM0NyAyMzMuMTI4IDMwNi4zODMgMjA5LjY3NyAzMjEuOTQ3IDI0MS4xMjhDMzQxLjE0NyAyNzkuOTI4IDI2My41NDYgMjgwLjMyOCAyNDYuNzQ2IDI2OS4xMjhDMjI5Ljk0NiAyNTcuOTI4IDI1My45NDYgMjg3LjUyOCAyNTMuOTQ2IDI4Ny41MjhDMjcyLjM0NiAzMDcuNTI4IDIzNy45NDYgMjkwLjcyOCAyMzcuOTQ2IDI5MC43MjhDMjAzLjU0NiAyNzcuOTI4IDE3OS41NDYgMzAzLjUyOCAxNzYuMzQ2IDMwNC4zMjhDMTczLjE0NiAzMDUuMTI4IDE2OC4zNDYgMzA4LjMyOCAxNjcuNTQ2IDMwMS45MjhDMTY2Ljc0NiAyOTUuNTI4IDE1OS44OTIgMjc5LjY2NSAxMjcuNTQ2IDMwNS4xMjhDMTAxLjM2NCAzMjUuNDU2IDg5LjEwOSAzMDYuMTgzIDg5LjEwOSAzMDYuMTgzTDg0LjMwOSAzMTAuMzI4QzY2LjMwOSAyNzcuMTI4IDc3LjA3MyAzMzQuODc0IDc3LjA3MyAzMzQuODc0Qzg1Ljg3MyAzNjkuMjc0IDIxOC43NDYgMzI1LjEyOCAyMTguNzQ2IDMyNS4xMjhDMjE4Ljc0NiAzMjUuMTI4IDM4Ny41NDcgMjk0LjcyOCAzOTguNzQ3IDI5MC43MjhDNDA5Ljk0NyAyODYuNzI4IDUwMC43ODMgMjkyLjc2NCA1MDAuNzgzIDI5Mi43NjRMNDk1LjU0NyAyNzMuNDE5QzQzMC43NDcgMjI3LjAxOSA0MTUuNTQ3IDI1My4xMjggNDAxLjk0NyAyNDkuMTI4QzM4OC4zNDcgMjQ1LjEyOCAzOTAuNzQ3IDI1NC43MjggMzg3LjU0NyAyNTUuNTI4QzM4NC4zNDcgMjU2LjMyOCAzNDUuMTQ3IDIzMS41MjggMzM4Ljc0NyAyMzIuMzI4eicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICNmM2JmOWMnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTM0MC4wNTYgMjM0LjA3M0MzMzMuNjU1IDIzNC44NzMgMzA3LjMxMyAyMTEuNjEzIDMyMy4yNTUgMjQyLjg3M0MzNDMuNjU2IDI4Mi44NzQgMjY0Ljg1NSAyODIuMDc0IDI0OC4wNTUgMjcwLjg3NEMyMzEuMjU1IDI1OS42NzQgMjU1LjI1NSAyODkuMjc0IDI1NS4yNTUgMjg5LjI3NEMyNzMuNjU1IDMwOS4yNzQgMjM5LjI1NSAyOTIuNDc0IDIzOS4yNTUgMjkyLjQ3NEMyMDQuODU1IDI3OS42NzQgMTgwLjg1NSAzMDUuMjc0IDE3Ny42NTUgMzA2LjA3NEMxNzQuNDU1IDMwNi44NzQgMTY5LjY1NSAzMTAuMDc0IDE2OC44NTUgMzAzLjY3NEMxNjguMDU1IDI5Ny4yNzQgMTYxLjMzMiAyODEuNTc4IDEyOC44NTUgMzA2Ljg3NEMxMDEuNDM2IDMyNy45NDcgODkuNDkxIDMwOS4yMTkgODkuNDkxIDMwOS4yMTlMODQuMjkxIDMxMS44NzRDNjguMjkxIDI4MS42NzQgNzcuNzI3IDMzNy45MjkgNzcuNzI3IDMzNy45MjlDODYuNTI3IDM3Mi4zMjkgMjIwLjA1NSAzMjYuODc0IDIyMC4wNTUgMzI2Ljg3NEMyMjAuMDU1IDMyNi44NzQgMzg4Ljg1NiAyOTYuNDc0IDQwMC4wNTYgMjkyLjQ3NEM0MTEuMjU2IDI4OC40NzQgNTAxLjIyIDI5NC40MzcgNTAxLjIyIDI5NC40MzdMNDk2LjA1NiAyNzQuNTgzQzQzMS4yNTYgMjI4LjE4MyA0MTYuODU2IDI1NC44NzQgNDAzLjI1NiAyNTAuODc0QzM4OS42NTYgMjQ2Ljg3MyAzOTIuMDU2IDI1Ni40NzQgMzg4Ljg1NiAyNTcuMjc0QzM4NS42NTYgMjU4LjA3NCAzNDYuNDU2IDIzMy4yNzMgMzQwLjA1NiAyMzQuMDczeicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICNmNWNjYjAnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTM0MS4zNjUgMjM1LjgxOUMzMzQuOTY1IDIzNi42MTkgMzA3LjUyMyAyMTMuOTQ0IDMyNC41NjUgMjQ0LjYxOUMzNDYuNTY1IDI4NC4yMTkgMjY2LjE2NCAyODMuODE5IDI0OS4zNjQgMjcyLjYxOUMyMzIuNTY0IDI2MS40MTkgMjU2LjU2NCAyOTEuMDE5IDI1Ni41NjQgMjkxLjAxOUMyNzQuOTY0IDMxMS4wMTkgMjQwLjU2NCAyOTQuMjE5IDI0MC41NjQgMjk0LjIxOUMyMDYuMTY0IDI4MS40MTkgMTgyLjE2NCAzMDcuMDE5IDE3OC45NjQgMzA3LjgxOUMxNzUuNzY0IDMwOC42MTkgMTcwLjk2NCAzMTEuODE5IDE3MC4xNjQgMzA1LjQxOUMxNjkuMzY0IDI5OS4wMTkgMTYyLjc3MyAyODMuNDkyIDEzMC4xNjQgMzA4LjYxOUMxMDEuNTA5IDMzMC40MzggODkuODczIDMxMi4yNTYgODkuODczIDMxMi4yNTZMODQuMjczIDMxMy40MTlDNjkuODcyIDI4NS4wMTkgNzguMzgyIDM0MC45ODMgNzguMzgyIDM0MC45ODNDODcuMTgyIDM3NS4zODQgMjIxLjM2NCAzMjguNjE5IDIyMS4zNjQgMzI4LjYxOUMyMjEuMzY0IDMyOC42MTkgMzkwLjE2NSAyOTguMjE5IDQwMS4zNjUgMjk0LjIxOUM0MTIuNTY1IDI5MC4yMTkgNTAxLjY1NiAyOTYuMTEgNTAxLjY1NiAyOTYuMTFMNDk2LjU2NSAyNzUuNzQ2QzQzMS43NjUgMjI5LjM0NiA0MTguMTY1IDI1Ni42MTkgNDA0LjU2NSAyNTIuNjE5QzM5MC45NjUgMjQ4LjYxOSAzOTMuMzY1IDI1OC4yMTkgMzkwLjE2NSAyNTkuMDE5QzM4Ni45NjUgMjU5LjgxOSAzNDcuNzY1IDIzNS4wMTkgMzQxLjM2NSAyMzUuODE5eicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICNmOGQ4YzQnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTM0Mi42NzQgMjM3LjU2NUMzMzYuMjc0IDIzOC4zNjUgMzA4LjgzMiAyMTUuNjg5IDMyNS44NzQgMjQ2LjM2NUMzNDcuODc0IDI4NS45NjUgMjY3LjQ3NCAyODUuNTY1IDI1MC42NzQgMjc0LjM2NUMyMzMuODc0IDI2My4xNjUgMjU3Ljg3NCAyOTIuNzY1IDI1Ny44NzQgMjkyLjc2NUMyNzYuMjc0IDMxMi43NjUgMjQxLjg3NCAyOTUuOTY1IDI0MS44NzQgMjk1Ljk2NUMyMDcuNDczIDI4My4xNjUgMTgzLjQ3MyAzMDguNzY1IDE4MC4yNzMgMzA5LjU2NUMxNzcuMDczIDMxMC4zNjUgMTcyLjI3MyAzMTMuNTY1IDE3MS40NzMgMzA3LjE2NUMxNzAuNjczIDMwMC43NjUgMTY0LjIxNCAyODUuNDA1IDEzMS40NzMgMzEwLjM2NUMxMDEuNTgyIDMzMi45MjkgOTAuMjU1IDMxNS4yOTMgOTAuMjU1IDMxNS4yOTNMODQuMjU1IDMxNC45NjVDNzAuNjU0IDI4OC41NjQgNzkuMDM3IDM0NC4wMzggNzkuMDM3IDM0NC4wMzhDODcuODM3IDM3OC40MzggMjIyLjY3MyAzMzAuMzY1IDIyMi42NzMgMzMwLjM2NUMyMjIuNjczIDMzMC4zNjUgMzkxLjQ3NCAyOTkuOTY1IDQwMi42NzQgMjk1Ljk2NUM0MTMuODc0IDI5MS45NjUgNTAyLjA5MyAyOTcuNzgzIDUwMi4wOTMgMjk3Ljc4M0w0OTcuMDc1IDI3Ni45MUM0MzIuMjc0IDIzMC41MSA0MTkuNDc0IDI1OC4zNjUgNDA1Ljg3NCAyNTQuMzY1QzM5Mi4yNzQgMjUwLjM2NSAzOTQuNjc0IDI1OS45NjUgMzkxLjQ3NCAyNjAuNzY1QzM4OC4yNzQgMjYxLjU2NSAzNDkuMDc0IDIzNi43NjUgMzQyLjY3NCAyMzcuNTY1eicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICNmYWU1ZDcnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTM0My45ODMgMjM5LjMxQzMzNy41ODMgMjQwLjExIDMxMC41MjkgMjE3LjIyMyAzMjcuMTgzIDI0OC4xMUMzNDkuMTgzIDI4OC45MSAyNjguNzgzIDI4Ny4zMSAyNTEuOTgzIDI3Ni4xMUMyMzUuMTgzIDI2NC45MSAyNTkuMTgzIDI5NC41MSAyNTkuMTgzIDI5NC41MUMyNzcuNTgzIDMxNC41MSAyNDMuMTgzIDI5Ny43MSAyNDMuMTgzIDI5Ny43MUMyMDguNzgzIDI4NC45MSAxODQuNzgzIDMxMC41MSAxODEuNTgzIDMxMS4zMUMxNzguMzgyIDMxMi4xMSAxNzMuNTgyIDMxNS4zMSAxNzIuNzgyIDMwOC45MUMxNzEuOTgyIDMwMi41MSAxNjUuNjU0IDI4Ny4zMTggMTMyLjc4MiAzMTIuMTFDMTAxLjY1NSAzMzUuNDIgOTAuNjM3IDMxOC4zMjkgOTAuNjM3IDMxOC4zMjlMODQuMjM2IDMxNi41MUM3MS4yMzYgMjkyLjUxIDc5LjY5MSAzNDcuMDkzIDc5LjY5MSAzNDcuMDkzQzg4LjQ5MSAzODEuNDkzIDIyMy45ODMgMzMyLjExIDIyMy45ODMgMzMyLjExQzIyMy45ODMgMzMyLjExIDM5Mi43ODMgMzAxLjcxIDQwMy45ODMgMjk3LjcxQzQxNS4xODMgMjkzLjcxIDUwMi41MjkgMjk5LjQ1NiA1MDIuNTI5IDI5OS40NTZMNDk3LjU4MyAyNzguMDc0QzQzMi43ODMgMjMxLjY3MyA0MjAuNzgzIDI2MC4xMSA0MDcuMTgzIDI1Ni4xMUMzOTMuNTgzIDI1Mi4xMSAzOTUuOTgzIDI2MS43MSAzOTIuNzgzIDI2Mi41MUMzODkuNTgzIDI2My4zMSAzNTAuMzgzIDIzOC41MSAzNDMuOTgzIDIzOS4zMXonKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjZmNmMmViJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J00zNDUuMjkyIDI0MS4wNTVDMzM4Ljg5MiAyNDEuODU1IDMxMi45MTcgMjE4LjQxMSAzMjguNDkyIDI0OS44NTVDMzQ5LjY5MiAyOTIuNjU2IDI3MC4wOTIgMjg5LjA1NiAyNTMuMjkyIDI3Ny44NTZDMjM2LjQ5MiAyNjYuNjU2IDI2MC40OTIgMjk2LjI1NiAyNjAuNDkyIDI5Ni4yNTZDMjc4Ljg5MiAzMTYuMjU2IDI0NC40OTIgMjk5LjQ1NiAyNDQuNDkyIDI5OS40NTZDMjEwLjA5MiAyODYuNjU2IDE4Ni4wOTIgMzEyLjI1NiAxODIuODkyIDMxMy4wNTZDMTc5LjY5MiAzMTMuODU2IDE3NC44OTIgMzE3LjA1NiAxNzQuMDkyIDMxMC42NTZDMTczLjI5MiAzMDQuMjU2IDE2Ny4wOTUgMjg5LjIzMiAxMzQuMDkyIDMxMy44NTZDMTAxLjcyNyAzMzcuOTExIDkxLjAxOCAzMjEuMzY1IDkxLjAxOCAzMjEuMzY1TDg0LjIxOCAzMTguMDU2QzcxLjQxOCAyOTQuODU2IDgwLjM0NiAzNTAuMTQ3IDgwLjM0NiAzNTAuMTQ3Qzg5LjE0NiAzODQuNTQ3IDIyNS4yOTIgMzMzLjg1NiAyMjUuMjkyIDMzMy44NTZDMjI1LjI5MiAzMzMuODU2IDM5NC4wOTMgMzAzLjQ1NiA0MDUuMjkzIDI5OS40NTZDNDE2LjQ5MyAyOTUuNDU2IDUwMi45NjUgMzAxLjEyOCA1MDIuOTY1IDMwMS4xMjhMNDk4LjA5MyAyNzkuMjM3QzQzMy4yOTIgMjMyLjgzNyA0MjIuMDkzIDI2MS44NTYgNDA4LjQ5MyAyNTcuODU2QzM5NC44OTMgMjUzLjg1NSAzOTcuMjkzIDI2My40NTYgMzk0LjA5MyAyNjQuMjU2QzM5MC44OTIgMjY1LjA1NiAzNTEuNjkyIDI0MC4yNTUgMzQ1LjI5MiAyNDEuMDU1eicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICNmZmZmZmYnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTg0LjIgMzE5LjYwMUM3MS40IDI5Ny42IDgxIDM1My4yMDEgODEgMzUzLjIwMUM4OS44IDM4Ny42MDEgMjI2LjYgMzM1LjYwMSAyMjYuNiAzMzUuNjAxQzIyNi42IDMzNS42MDEgMzk1LjQwMSAzMDUuMiA0MDYuNjAxIDMwMS4yQzQxNy44MDEgMjk3LjIgNTAzLjQwMSAzMDIuOCA1MDMuNDAxIDMwMi44TDQ5OC42MDEgMjgwLjRDNDMzLjgwMSAyMzQgNDIzLjQwMSAyNjMuNiA0MDkuODAxIDI1OS42QzM5Ni4yMDEgMjU1LjYgMzk4LjYwMSAyNjUuMiAzOTUuNDAxIDI2NkMzOTIuMjAxIDI2Ni44IDM1My4wMDEgMjQyIDM0Ni42MDEgMjQyLjhDMzQwLjIwMSAyNDMuNiAzMTQuOTgxIDIxOS43OTMgMzI5LjgwMSAyNTEuNkMzNTIuMDI4IDI5OS4zMDcgMjY5LjA0MSAyODkuMjI3IDI1NC42IDI3OS42QzIzNy44IDI2OC40IDI2MS44IDI5OCAyNjEuOCAyOThDMjgwLjIgMzE4LjAwMSAyNDUuOCAzMDEuMiAyNDUuOCAzMDEuMkMyMTEuNCAyODguNCAxODcuNCAzMTQuMDAxIDE4NC4yIDMxNC44MDFDMTgxIDMxNS42MDEgMTc2LjIgMzE4LjgwMSAxNzUuNCAzMTIuNDAxQzE3NC42IDMwNiAxNjguNTM1IDI5MS4xNDQgMTM1LjQgMzE1LjYwMUMxMDEuOCAzNDAuNDAxIDkxLjQgMzI0LjQwMSA5MS40IDMyNC40MDFMODQuMiAzMTkuNjAxeicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICMwMDAwMDAnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTEyNS44IDM0OS42MDFDMTI1LjggMzQ5LjYwMSAxMTguNiAzNjEuMjAxIDEzOS40IDM3NC40MDFDMTM5LjQgMzc0LjQwMSAxNDAuOCAzNzUuODAxIDEyMi44IDM3MS42MDFDMTIyLjggMzcxLjYwMSAxMTYuNiAzNjkuNjAxIDExNSAzNTkuMjAxQzExNSAzNTkuMjAxIDExMC4yIDM1NC44MDEgMTA1LjQgMzQ5LjIwMUMxMDAuNiAzNDMuNjAxIDEyNS44IDM0OS42MDEgMTI1LjggMzQ5LjYwMXonKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjY2NjY2NjJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J00yNjUuOCAzMDJDMjY1LjggMzAyIDI4My40OTggMzI4LjgyMSAyODIuOSAzMzMuNjAxQzI4MS42IDM0NC4wMDEgMjgxLjQgMzUzLjYwMSAyODQuNiAzNTcuNjAxQzI4Ny44MDEgMzYxLjYwMSAyOTYuNjAxIDM5NC44MDEgMjk2LjYwMSAzOTQuODAxQzI5Ni42MDEgMzk0LjgwMSAyOTYuMjAxIDM5Ni4wMDEgMzA4LjYwMSAzNTguMDAxQzMwOC42MDEgMzU4LjAwMSAzMjAuMjAxIDM0Mi4wMDEgMzAwLjIwMSAzMjMuNjAxQzMwMC4yMDEgMzIzLjYwMSAyNjUgMjk0LjggMjY1LjggMzAyeicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICMwMDAwMDAnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTE0NS44IDM3Ni40MDFDMTQ1LjggMzc2LjQwMSAxNTcgMzgzLjYwMSAxNDIuNiA0MTQuODAxTDE0OSA0MTIuNDAxQzE0OSA0MTIuNDAxIDE0OC4yIDQyMy42MDEgMTQ1IDQyNi4wMDFMMTUyLjIgNDIyLjgwMUMxNTIuMiA0MjIuODAxIDE1NyA0MzAuODAxIDE1MyA0MzUuNjAxQzE1MyA0MzUuNjAxIDE2OS44IDQ0My42MDEgMTY5IDQ1MC4wMDFDMTY5IDQ1MC4wMDEgMTc1LjQgNDQyLjAwMSAxNzEuNCA0MzUuNjAxQzE2Ny40IDQyOS4yMDEgMTYwLjIgNDMzLjIwMSAxNjEgNDE0LjgwMUwxNTIuMiA0MTguMDAxQzE1Mi4yIDQxOC4wMDEgMTU3LjggNDA5LjIwMSAxNTcuOCA0MDIuODAxTDE0OS44IDQwNS4yMDFDMTQ5LjggNDA1LjIwMSAxNjUuMjY5IDM3OC42MjMgMTU0LjYgMzc3LjIwMUMxNDguNiAzNzYuNDAxIDE0NS44IDM3Ni40MDEgMTQ1LjggMzc2LjQwMXonKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjY2NjY2NjJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J00xNzguMiAzOTMuMjAxQzE3OC4yIDM5My4yMDEgMTgxIDM4OC44MDEgMTc4LjIgMzg5LjYwMUMxNzUuNCAzOTAuNDAxIDE0NC4yIDQwNS4yMDEgMTM4LjIgNDE0LjgwMUMxMzguMiA0MTQuODAxIDE3Mi42IDM5MC40MDEgMTc4LjIgMzkzLjIwMXonKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjY2NjY2NjJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J00xODguNiA0MDEuMjAxQzE4OC42IDQwMS4yMDEgMTkxLjQgMzk2LjgwMSAxODguNiAzOTcuNjAxQzE4NS44IDM5OC40MDEgMTU0LjYgNDEzLjIwMSAxNDguNiA0MjIuODAxQzE0OC42IDQyMi44MDEgMTgzIDM5OC40MDEgMTg4LjYgNDAxLjIwMXonKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjY2NjY2NjJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J00yMDEuOCAzODYuMDAxQzIwMS44IDM4Ni4wMDEgMjA0LjYgMzgxLjYwMSAyMDEuOCAzODIuNDAxQzE5OSAzODMuMjAxIDE2Ny44IDM5OC4wMDEgMTYxLjggNDA3LjYwMUMxNjEuOCA0MDcuNjAxIDE5Ni4yIDM4My4yMDEgMjAxLjggMzg2LjAwMXonKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjY2NjY2NjJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J00xNzguNiA0MjkuNjAxQzE3OC42IDQyOS42MDEgMTc4LjYgNDIzLjYwMSAxNzUuOCA0MjQuNDAxQzE3MyA0MjUuMjAxIDEzNyA0NDIuODAxIDEzMSA0NTIuNDAxQzEzMSA0NTIuNDAxIDE3MyA0MjYuODAxIDE3OC42IDQyOS42MDF6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogI2NjY2NjYycpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMTc5LjggNDE4LjgwMUMxNzkuOCA0MTguODAxIDE4MSA0MTQuMDAxIDE3OC4yIDQxNC44MDFDMTc2LjIgNDE0LjgwMSAxNDkuOCA0MjYuNDAxIDE0My44IDQzNi4wMDFDMTQzLjggNDM2LjAwMSAxNzMuNCA0MTQuNDAxIDE3OS44IDQxOC44MDF6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogI2NjY2NjYycpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMTY1LjQgNDY2LjQwMUwxNTUuNCA0NzQuMDAxQzE1NS40IDQ3NC4wMDEgMTY1LjggNDY2LjQwMSAxNjkuNCA0NjcuNjAxQzE2OS40IDQ2Ny42MDEgMTYyLjYgNDc4LjgwMSAxNjEuOCA0ODQuMDAxQzE2MS44IDQ4NC4wMDEgMTcyLjIgNDcxLjIwMSAxNzcuOCA0NzEuNjAxQzE3Ny44IDQ3MS42MDEgMTg1LjQgNDcyLjAwMSAxODUuNCA0ODIuODAxQzE4NS40IDQ4Mi44MDEgMTkxIDQ3Mi40MDEgMTk0LjIgNDcyLjgwMUMxOTQuMiA0NzIuODAxIDE5NS40IDQ3OS4yMDEgMTk0LjIgNDg2LjAwMUMxOTQuMiA0ODYuMDAxIDE5OC4yIDQ3OC40MDEgMjAyLjIgNDgwLjAwMUMyMDIuMiA0ODAuMDAxIDIwOC42IDQ3OC4wMDEgMjA3LjggNDg5LjYwMUMyMDcuOCA0ODkuNjAxIDIwNy44IDUwMC4wMDEgMjA3IDUwMi44MDFDMjA3IDUwMi44MDEgMjEyLjYgNDc2LjQwMSAyMTUgNDc2LjAwMUMyMTUgNDc2LjAwMSAyMjMgNDc0LjgwMSAyMjcuOCA0ODMuNjAxQzIyNy44IDQ4My42MDEgMjIzLjggNDc2LjAwMSAyMjguNiA0NzguMDAxQzIyOC42IDQ3OC4wMDEgMjM5LjQgNDc5LjYwMSAyNDIuNiA0ODYuNDAxQzI0Mi42IDQ4Ni40MDEgMjM1LjggNDc0LjQwMSAyNDEuNCA0NzcuNjAxQzI0MS40IDQ3Ny42MDEgMjQ4LjIgNDc3LjYwMSAyNDkuNCA0ODQuMDAxQzI0OS40IDQ4NC4wMDEgMjU3LjggNTA1LjIwMSAyNTkuOCA1MDYuODAxQzI1OS44IDUwNi44MDEgMjUyLjIgNDg1LjIwMSAyNTMuOCA0ODUuMjAxQzI1My44IDQ4NS4yMDEgMjUxLjggNDczLjIwMSAyNTcgNDg4LjAwMUMyNTcgNDg4LjAwMSAyNTMuOCA0NzQuMDAxIDI1OS40IDQ3NC44MDFDMjY1IDQ3NS42MDEgMjY5LjQgNDg1LjYwMSAyNzcuOCA0ODMuMjAxQzI3Ny44IDQ4My4yMDEgMjg3LjQwMSA0ODguODAxIDI4OS40MDEgNDE5LjYwMUwxNjUuNCA0NjYuNDAxeicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICMwMDAwMDAnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTE3MC4yIDM3My42MDFDMTcwLjIgMzczLjYwMSAxODUgMzY3LjYwMSAyMjUgMzczLjYwMUMyMjUgMzczLjYwMSAyMzIuMiAzNzQuMDAxIDIzOSAzNjUuMjAxQzI0NS44IDM1Ni40MDEgMjcyLjYgMzQ5LjIwMSAyNzkgMzUxLjIwMUwyODguNjAxIDM1Ny42MDFMMjg5LjQwMSAzNTguODAxQzI4OS40MDEgMzU4LjgwMSAzMDEuODAxIDM2OS4yMDEgMzAyLjIwMSAzNzYuODAxQzMwMi42MDEgMzg0LjQwMSAyODcuODAxIDQzMi40MDEgMjc4LjIgNDQ4LjQwMUMyNjguNiA0NjQuNDAxIDI1OSA0NzYuODAxIDIzOS44IDQ3NC40MDFDMjM5LjggNDc0LjQwMSAyMTkgNDcwLjQwMSAxOTMuNCA0NzQuNDAxQzE5My40IDQ3NC40MDEgMTY0LjIgNDcyLjgwMSAxNjEuNCA0NjQuODAxQzE1OC42IDQ1Ni44MDEgMTcyLjYgNDQxLjYwMSAxNzIuNiA0NDEuNjAxQzE3Mi42IDQ0MS42MDEgMTc3IDQzMy4yMDEgMTc1LjggNDE4LjgwMUMxNzQuNiA0MDQuNDAxIDE3NSAzNzYuNDAxIDE3MC4yIDM3My42MDF6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogI2U1NjY4YycpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMTkyLjIgMzc1LjYwMUMyMDAuNiAzOTQuMDAxIDE3MSA0NTkuMjAxIDE3MSA0NTkuMjAxQzE2OSA0NjAuODAxIDE4My42NiA0NjYuODQ2IDE5My44IDQ2NC40MDFDMjA0Ljc0NiA0NjEuNzYzIDI0NSA0NjYuMDAxIDI0NSA0NjYuMDAxQzI2OC42IDQ1MC40MDEgMjgxLjQgNDA2LjAwMSAyODEuNCA0MDYuMDAxQzI4MS40IDQwNi4wMDEgMjkxLjgwMSAzODIuMDAxIDI3NC4yIDM3OC44MDFDMjU2LjYgMzc1LjYwMSAxOTIuMiAzNzUuNjAxIDE5Mi4yIDM3NS42MDF6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogI2IyMzI1OScpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMTkwLjE2OSA0MDYuNDk3QzE5My40OTUgMzkzLjcwNyAxOTUuMDc5IDM4MS45MDYgMTkyLjIgMzc1LjYwMUMxOTIuMiAzNzUuNjAxIDI1NC42IDM4Mi4wMDEgMjY1LjggMzYxLjIwMUMyNzAuMDQxIDM1My4zMjYgMjg0LjgwMSAzODQuMDAxIDI4NC40IDM5My42MDFDMjg0LjQgMzkzLjYwMSAyMjEuNCA0MDguMDAxIDIwNi42IDM5Ni44MDFMMTkwLjE2OSA0MDYuNDk3eicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICNhNTI2NGMnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTE5NC42IDQyMi44MDFDMTk0LjYgNDIyLjgwMSAxOTYuNiA0MzAuMDAxIDE5NC4yIDQzNC4wMDFDMTk0LjIgNDM0LjAwMSAxOTIuNiA0MzQuODAxIDE5MS40IDQzNS4yMDFDMTkxLjQgNDM1LjIwMSAxOTIuNiA0MzguODAxIDE5OC42IDQ0MC40MDFDMTk4LjYgNDQwLjQwMSAyMDAuNiA0NDQuODAxIDIwMyA0NDUuMjAxQzIwNS40IDQ0NS42MDEgMjEwLjIgNDUxLjIwMSAyMTQuMiA0NTAuMDAxQzIxOC4yIDQ0OC44MDEgMjI5LjQgNDQ0LjgwMSAyMjkuNCA0NDQuODAxQzIyOS40IDQ0NC44MDEgMjM1IDQ0MS42MDEgMjQzLjggNDQ1LjIwMUMyNDMuOCA0NDUuMjAxIDI0Ni4xNzUgNDQ0LjM5OSAyNDYuNiA0NDAuNDAxQzI0Ny4xIDQzNS43MDEgMjUwLjIgNDMyLjAwMSAyNTIuMiA0MzAuMDAxQzI1NC4yIDQyOC4wMDEgMjYzLjggNDE1LjIwMSAyNjIuNiA0MTQuODAxQzI2MS40IDQxNC40MDEgMTk0LjYgNDIyLjgwMSAxOTQuNiA0MjIuODAxeicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICNmZjcyN2Y7IHN0cm9rZTojMDAwMDAwJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J00xOTAuMiAzNzQuNDAxQzE5MC4yIDM3NC40MDEgMTg3LjQgMzk2LjgwMSAxOTAuNiA0MDUuMjAxQzE5My44IDQxMy42MDEgMTkzIDQxNS42MDEgMTkyLjIgNDE5LjYwMUMxOTEuNCA0MjMuNjAxIDE5NS44IDQzMy42MDEgMjAxLjQgNDM5LjYwMUwyMTMuNCA0NDEuMjAxQzIxMy40IDQ0MS4yMDEgMjI4LjYgNDM3LjYwMSAyMzcuOCA0NDAuNDAxQzIzNy44IDQ0MC40MDEgMjQ2Ljc5NCA0NDEuNzQ0IDI1MC4yIDQyNi44MDFDMjUwLjIgNDI2LjgwMSAyNTUgNDIwLjQwMSAyNjIuMiA0MTcuNjAxQzI2OS40IDQxNC44MDEgMjc2LjYgMzczLjIwMSAyNzIuNiAzNjUuMjAxQzI2OC42IDM1Ny4yMDEgMjU0LjIgMzUyLjgwMSAyMzguMiAzNjguNDAxQzIyMi4yIDM4NC4wMDEgMjIwLjIgMzY3LjIwMSAxOTAuMiAzNzQuNDAxeicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICNmZmZmY2M7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC41JykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J00xOTEuOCA0NDkuMjAxQzE5MS44IDQ0OS4yMDEgMTkxIDQ0Ny4yMDEgMTg2LjYgNDQ2LjgwMUMxODYuNiA0NDYuODAxIDE2NC4yIDQ0My4yMDEgMTU1LjggNDMwLjgwMUMxNTUuOCA0MzAuODAxIDE0OSA0MjUuMjAxIDE1My40IDQzNi44MDFDMTUzLjQgNDM2LjgwMSAxNjMuOCA0NTcuMjAxIDE3MC42IDQ2MC4wMDFDMTcwLjYgNDYwLjAwMSAxODcgNDY0LjAwMSAxOTEuOCA0NDkuMjAxeicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICNjYzNmNGMnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTI3MS43NDIgMzg1LjIyOUMyNzIuNDAxIDM3Ny4zMjMgMjc0LjM1NCAzNjguNzA5IDI3Mi42IDM2NS4yMDFDMjY2LjE1NCAzNTIuMzA3IDI0OS4xODEgMzU3LjY5NSAyMzguMiAzNjguNDAxQzIyMi4yIDM4NC4wMDEgMjIwLjIgMzY3LjIwMSAxOTAuMiAzNzQuNDAxQzE5MC4yIDM3NC40MDEgMTg4LjQ1NSAzODguMzY0IDE4OS4yOTUgMzk4LjM3NkMxODkuMjk1IDM5OC4zNzYgMjI2LjYgMzg2LjgwMSAyMjcuNCAzOTIuNDAxQzIyNy40IDM5Mi40MDEgMjI5IDM4OS4yMDEgMjM4LjIgMzg5LjIwMUMyNDcuNCAzODkuMjAxIDI3MC4xNDIgMzg4LjAyOSAyNzEuNzQyIDM4NS4yMjl6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nc3Ryb2tlOiNhNTE5MjY7IHN0cm9rZS13aWR0aDoyJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J00yMjguNiAzNzUuMjAxQzIyOC42IDM3NS4yMDEgMjMzLjQgMzgwLjAwMSAyMjkuOCAzODkuNjAxQzIyOS44IDM4OS42MDEgMjE1LjQgNDA1LjYwMSAyMTcuNCA0MTkuNjAxJykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogI2ZmZmZjYzsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjUnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTE4MC42IDQ2MC4wMDFDMTgwLjYgNDYwLjAwMSAxNzYuMiA0NDcuMjAxIDE4NSA0NTQuMDAxQzE4NSA0NTQuMDAxIDE4OS44IDQ1Ni4wMDEgMTg4LjYgNDU3LjYwMUMxODcuNCA0NTkuMjAxIDE4MS44IDQ2My4yMDEgMTgwLjYgNDYwLjAwMXonKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjZmZmZmNjOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuNScpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMTg1LjY0IDQ2MS4yMDFDMTg1LjY0IDQ2MS4yMDEgMTgyLjEyIDQ1MC45NjEgMTg5LjE2IDQ1Ni40MDFDMTg5LjE2IDQ1Ni40MDEgMTkzLjU4MSA0NTguODQ5IDE5Mi4wNCA0NTkuMjgxQzE4Ny40OCA0NjAuNTYxIDE5Mi4wNCA0NjMuMTIxIDE4NS42NCA0NjEuMjAxeicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICNmZmZmY2M7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC41JykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J00xOTAuNDQgNDYxLjIwMUMxOTAuNDQgNDYxLjIwMSAxODYuOTIgNDUwLjk2MSAxOTMuOTYgNDU2LjQwMUMxOTMuOTYgNDU2LjQwMSAxOTguMzM1IDQ1OC43MTEgMTk2Ljg0IDQ1OS4yODFDMTkzLjQ4IDQ2MC41NjEgMTk2Ljg0IDQ2My4xMjEgMTkwLjQ0IDQ2MS4yMDF6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogI2ZmZmZjYzsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjUnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTE5Ny4wNCA0NjEuNDAxQzE5Ny4wNCA0NjEuNDAxIDE5My41MiA0NTEuMTYxIDIwMC41NiA0NTYuNjAxQzIwMC41NiA0NTYuNjAxIDIwNC45NDMgNDU4LjkzMyAyMDMuNDQxIDQ1OS40ODFDMjAwLjQ4IDQ2MC41NjEgMjAzLjQ0MSA0NjMuMzIxIDE5Ny4wNCA0NjEuNDAxeicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICNmZmZmY2M7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC41JykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J00yMDMuNTIgNDYxLjMyMUMyMDMuNTIgNDYxLjMyMSAyMDAgNDUxLjA4MSAyMDcuMDQxIDQ1Ni41MjFDMjA3LjA0MSA0NTYuNTIxIDIxMC44ODEgNDU4LjEyMSAyMDkuOTIxIDQ1OS40MDFDMjA4Ljk2MSA0NjAuNjgxIDIwOS45MjEgNDYzLjI0MSAyMDMuNTIgNDYxLjMyMXonKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjZmZmZmNjOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuNScpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMjEwLjIgNDYyLjAwMUMyMTAuMiA0NjIuMDAxIDIwNS40IDQ0OS42MDEgMjE0LjYgNDU2LjAwMUMyMTQuNiA0NTYuMDAxIDIxOS40IDQ1OC4wMDEgMjE4LjIgNDU5LjYwMUMyMTcgNDYxLjIwMSAyMTguMiA0NjQuNDAxIDIxMC4yIDQ2Mi4wMDF6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nc3Ryb2tlOiNhNTI2NGM7IHN0cm9rZS13aWR0aDoyJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J00xODEuOCA0NDQuODAxQzE4MS44IDQ0NC44MDEgMTk1IDQ0Mi4wMDEgMjAxIDQ0NS4yMDFDMjAxIDQ0NS4yMDEgMjA3IDQ0Ni40MDEgMjA4LjIgNDQ2LjAwMUMyMDkuNCA0NDUuNjAxIDIxMi42IDQ0NS4yMDEgMjEyLjYgNDQ1LjIwMScpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J3N0cm9rZTojYTUyNjRjOyBzdHJva2Utd2lkdGg6MicpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMjE1LjggNDUzLjYwMUMyMTUuOCA0NTMuNjAxIDIyNy44IDQ0MC4wMDEgMjM5LjggNDQ0LjQwMUMyNDYuODE2IDQ0Ni45NzQgMjQ1LjggNDQzLjYwMSAyNDYuNiA0NDAuODAxQzI0Ny40IDQzOC4wMDEgMjQ3LjYgNDMzLjgwMSAyNTIuNiA0MzAuODAxJykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogI2ZmZmZjYzsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjUnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTIzMyA0MzcuNjAxQzIzMyA0MzcuNjAxIDIyOSA0MjYuODAxIDIyNi4yIDQzOS42MDFDMjIzLjQgNDUyLjQwMSAyMjAuMiA0NTYuMDAxIDIxOC42IDQ1OC44MDFDMjE4LjYgNDU4LjgwMSAyMTguNiA0NjQuMDAxIDIyNyA0NjMuNjAxQzIyNyA0NjMuNjAxIDIzNy44IDQ2My4yMDEgMjM4LjIgNDYwLjQwMUMyMzguNiA0NTcuNjAxIDIzNyA0NDYuMDAxIDIzMyA0MzcuNjAxeicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J3N0cm9rZTojYTUyNjRjOyBzdHJva2Utd2lkdGg6MicpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMjQ3IDQ0NC44MDFDMjQ3IDQ0NC44MDEgMjUwLjYgNDQyLjQwMSAyNTMgNDQzLjYwMScpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J3N0cm9rZTojYTUyNjRjOyBzdHJva2Utd2lkdGg6MicpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMjUzLjUgNDI4LjQwMUMyNTMuNSA0MjguNDAxIDI1Ni40IDQyMy41MDEgMjYxLjIgNDIyLjcwMScpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICNiMmIyYjInKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTE3NC4yIDQ2NS4yMDFDMTc0LjIgNDY1LjIwMSAxOTIuMiA0NjguNDAxIDE5Ni42IDQ2Ni44MDFDMTk2LjYgNDY2LjgwMSAyMDUuNCA0NjYuODAxIDE5NyA0NjguODAxQzE5NyA0NjguODAxIDE4NC4yIDQ2OC44MDEgMTc2LjIgNDY3LjYwMUMxNzYuMiA0NjcuNjAxIDE2NC42IDQ2Mi4wMDEgMTc0LjIgNDY1LjIwMXonKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjZmZmZmNjOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuNScpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMTg4LjIgMzcyLjAwMUMxODguMiAzNzIuMDAxIDIwNS44IDM3Mi4wMDEgMjA3LjggMzcyLjgwMUMyMDcuOCAzNzIuODAxIDIxNSA0MDMuNjAxIDIxMS40IDQxMS4yMDFDMjExLjQgNDExLjIwMSAyMTAuMiA0MTQuMDAxIDIwNy40IDQwOC40MDFDMjA3LjQgNDA4LjQwMSAxODkgMzc1LjYwMSAxODUuOCAzNzMuNjAxQzE4Mi42IDM3MS42MDEgMTg3IDM3Mi4wMDEgMTg4LjIgMzcyLjAwMXonKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjZmZmZmNjOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuNScpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMTExLjEgMzY5LjMwMUMxMTEuMSAzNjkuMzAxIDEyMCAzNzEuMDAxIDEzMi42IDM3My42MDFDMTMyLjYgMzczLjYwMSAxMzcuNCAzOTYuMDAxIDE0MC42IDQwMC44MDFDMTQzLjggNDA1LjYwMSAxNDAuMiA0MDUuNjAxIDEzNi42IDQwMi44MDFDMTMzIDQwMC4wMDEgMTE4LjIgMzg2LjAwMSAxMTYuMiAzODEuNjAxQzExNC4yIDM3Ny4yMDEgMTExLjEgMzY5LjMwMSAxMTEuMSAzNjkuMzAxeicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICNmZmZmY2M7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC41JykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J00xMzIuOTYxIDM3My44MThDMTMyLjk2MSAzNzMuODE4IDEzOC43NjEgMzc1LjM2NiAxMzkuNzcgMzc3LjU4MUMxNDAuNzc4IDM3OS43OTUgMTM4LjU2OCAzODMuMDkyIDEzOC41NjggMzgzLjA5MkMxMzguNTY4IDM4My4wOTIgMTM3LjU2OCAzODYuMzk3IDEzNi4zNjYgMzg0LjIzNUMxMzUuMTY0IDM4Mi4wNzIgMTMyLjI5MiAzNzQuNDEyIDEzMi45NjEgMzczLjgxOHonKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjMDAwMDAwJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J00xMzMgMzczLjYwMUMxMzMgMzczLjYwMSAxMzYuNiAzNzguODAxIDE0MC4yIDM3OC44MDFDMTQzLjggMzc4LjgwMSAxNDQuMTgyIDM3OC4zODggMTQ3IDM3OS4wMDFDMTUxLjYgMzgwLjAwMSAxNTEuMiAzNzguMDAxIDE1Ny44IDM3OS4yMDFDMTYwLjQ0IDM3OS42ODEgMTYzIDM3OC44MDEgMTY1LjggMzgwLjAwMUMxNjguNiAzODEuMjAxIDE3MS44IDM4MC40MDEgMTczIDM3OC40MDFDMTc0LjIgMzc2LjQwMSAxNzkgMzcyLjIwMSAxNzkgMzcyLjIwMUMxNzkgMzcyLjIwMSAxNjYuMiAzNzQuMDAxIDE2My40IDM3NC44MDFDMTYzLjQgMzc0LjgwMSAxNDEgMzc2LjAwMSAxMzMgMzczLjYwMXonKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjZmZmZmNjOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuNScpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMTc3LjYgMzczLjgwMUMxNzcuNiAzNzMuODAxIDE3MS4xNSAzNzcuMzAxIDE3MC43NSAzNzkuNzAxQzE3MC4zNSAzODIuMTAxIDE3NiAzODUuODAxIDE3NiAzODUuODAxQzE3NiAzODUuODAxIDE3OC43NSAzOTAuNDAxIDE3OS4zNSAzODguMDAxQzE3OS45NSAzODUuNjAxIDE3OC40IDM3NC4yMDEgMTc3LjYgMzczLjgwMXonKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjZmZmZmNjOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuNScpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMTQwLjExNSAzNzkuMjY1QzE0MC4xMTUgMzc5LjI2NSAxNDcuMTIyIDM5MC40NTMgMTQ3LjMzOSAzNzkuMjQyQzE0Ny4zMzkgMzc5LjI0MiAxNDcuODk2IDM3Ny45ODQgMTQ2LjEzNiAzNzcuOTYyQzE0MC4wNjEgMzc3Ljg4NiAxNDEuNTgyIDM3My43ODQgMTQwLjExNSAzNzkuMjY1eicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICNmZmZmY2M7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC41JykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J00xNDcuMjkzIDM3OS41MTRDMTQ3LjI5MyAzNzkuNTE0IDE1NS4yMTQgMzkwLjcwMSAxNTQuNTc4IDM3OS40MjFDMTU0LjU3OCAzNzkuNDIxIDE1NC41ODUgMzc5LjA4OSAxNTIuODMyIDM3OC45MzZDMTQ4LjA4NSAzNzguNTIyIDE0OC40MyAzNzQuMDA0IDE0Ny4yOTMgMzc5LjUxNHonKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjZmZmZmNjOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuNScpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMTU0LjUwNiAzNzkuNTIyQzE1NC41MDYgMzc5LjUyMiAxNjIuNDY2IDM5MC4xNSAxNjEuNzk3IDM4MC40ODRDMTYxLjc5NyAzODAuNDg0IDE2MS45MTYgMzc5LjI1MSAxNjAuMjYyIDM3OC45NUMxNTYuMzcgMzc4LjI0NCAxNTYuMTU5IDM3NC45OTUgMTU0LjUwNiAzNzkuNTIyeicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICNmZmZmY2M7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC41JykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J00xNjEuMzgyIDM3OS42MDJDMTYxLjM4MiAzNzkuNjAyIDE2OS4yODIgMzkxLjE2MyAxNjkuNjMgMzgxLjM4MkMxNjkuNjMgMzgxLjM4MiAxNzEuMjc0IDM4MC4wMDQgMTY5LjUyOCAzNzkuNzgyQzE2My43MSAzNzkuMDQyIDE2NC41MDggMzc0LjU4OCAxNjEuMzgyIDM3OS42MDJ6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogI2U1ZTViMicpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMTI1LjIwOCAzODMuMTMyTDExNy41NSAzODEuNjAxQzExNC45NSAzNzYuNjAxIDExMi44NSAzNzAuNDUxIDExMi44NSAzNzAuNDUxQzExMi44NSAzNzAuNDUxIDExOS4yIDM3MS40NTEgMTMxLjcgMzc0LjI1MUMxMzEuNyAzNzQuMjUxIDEzMi41NzYgMzc3LjU2OSAxMzQuMDQ4IDM4My4zNjRMMTI1LjIwOCAzODMuMTMyeicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICNlNWU1YjInKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTE5MC4yNzYgMzc4LjQ3QzE4OC42MSAzNzUuOTY0IDE4Ny4yOTMgMzc0LjIwNiAxODYuNjQzIDM3My44QzE4My42MyAzNzEuOTE3IDE4Ny43NzMgMzcyLjI5NCAxODguOTAyIDM3Mi4yOTRDMTg4LjkwMiAzNzIuMjk0IDIwNS40NzMgMzcyLjI5NCAyMDcuMzU2IDM3My4wNDdDMjA3LjM1NiAzNzMuMDQ3IDIwNy44OCAzNzUuMjg5IDIwOC41NjQgMzc4LjY4QzIwOC41NjQgMzc4LjY4IDE5OC40NzYgMzc2LjY3IDE5MC4yNzYgMzc4LjQ3eicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICNjYzcyMjYnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTI0My44OCAyNDAuMzIxQzI3MS42MDEgMjQ0LjI4MSAyOTcuMTIxIDIwOC42NDEgMjk4Ljg4MSAxOTguOTZDMzAwLjY0MSAxODkuMjggMjkwLjUyMSAxNzcuNCAyOTAuNTIxIDE3Ny40QzI5MS44NDEgMTc0LjMyIDI4Ny4wMDEgMTYwLjI0IDI4MS43MjEgMTUxQzI3Ni40NDEgMTQxLjc2IDI2MC41NCAxNDIuNzM0IDI0MyAxNDEuNzZDMjI3LjE2IDE0MC44OCAyMDguNjggMTY0LjIgMjA3LjM2IDE2NS45NkMyMDYuMDQgMTY3LjcyIDIxMi4yIDIwNi4wMDEgMjEzLjUyIDIxMS43MjFDMjE0Ljg0IDIxNy40NDEgMjEyLjIgMjQzLjg0MSAyMTIuMiAyNDMuODQxQzI0Ni40NCAyMzQuNzQxIDIxNi4xNiAyMzYuMzYxIDI0My44OCAyNDAuMzIxeicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICNlYThlNTEnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTIwOC4wODggMTY2LjYwOEMyMDYuNzkyIDE2OC4zMzYgMjEyLjg0IDIwNS45MjEgMjE0LjEzNiAyMTEuNTM3QzIxNS40MzIgMjE3LjE1MyAyMTIuODQgMjQzLjA3MyAyMTIuODQgMjQzLjA3M0MyNDUuNTEyIDIzNC4xOTMgMjE2LjcyOCAyMzUuNzI5IDI0My45NDQgMjM5LjYxN0MyNzEuMTYxIDI0My41MDUgMjk2LjIxNyAyMDguNTEzIDI5Ny45NDUgMTk5LjAwOEMyOTkuNjczIDE4OS41MDQgMjg5LjczNyAxNzcuODQgMjg5LjczNyAxNzcuODRDMjkxLjAzMyAxNzQuODE2IDI4Ni4yODEgMTYwLjk5MiAyODEuMDk3IDE1MS45MkMyNzUuOTEzIDE0Mi44NDggMjYwLjMwMiAxNDMuODA1IDI0My4wOCAxNDIuODQ4QzIyNy41MjggMTQxLjk4NCAyMDkuMzg0IDE2NC44OCAyMDguMDg4IDE2Ni42MDh6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogI2VmYWE3YycpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMjA4LjgxNiAxNjcuMjU2QzIwNy41NDQgMTY4Ljk1MiAyMTMuNDggMjA1Ljg0MSAyMTQuNzUyIDIxMS4zNTNDMjE2LjAyNCAyMTYuODY1IDIxMy40OCAyNDIuMzA1IDIxMy40OCAyNDIuMzA1QzI0NC44ODQgMjMzLjE0NSAyMTcuMjk2IDIzNS4wOTcgMjQ0LjAwOCAyMzguOTEzQzI3MC43MjEgMjQyLjcyOSAyOTUuMzEzIDIwOC4zODUgMjk3LjAwOSAxOTkuMDU2QzI5OC43MDUgMTg5LjcyOCAyODguOTUzIDE3OC4yOCAyODguOTUzIDE3OC4yOEMyOTAuMjI1IDE3NS4zMTIgMjg1LjU2MSAxNjEuNzQ0IDI4MC40NzMgMTUyLjg0QzI3NS4zODUgMTQzLjkzNiAyNjAuMDYzIDE0NC44NzUgMjQzLjE2IDE0My45MzZDMjI3Ljg5NiAxNDMuMDg4IDIxMC4wODggMTY1LjU2IDIwOC44MTYgMTY3LjI1NnonKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjZjRjNmE4JykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J00yMDkuNTQ0IDE2Ny45MDRDMjA4LjI5NiAxNjkuNTY4IDIxNC4xMiAyMDUuNzYxIDIxNS4zNjggMjExLjE2OUMyMTYuNjE2IDIxNi41NzcgMjE0LjEyIDI0MS41MzcgMjE0LjEyIDI0MS41MzdDMjQzLjU1NiAyMzIuNDk3IDIxNy44NjQgMjM0LjQ2NSAyNDQuMDcyIDIzOC4yMDlDMjcwLjI4MSAyNDEuOTUzIDI5NC40MDkgMjA4LjI1NyAyOTYuMDczIDE5OS4xMDVDMjk3LjczNyAxODkuOTUyIDI4OC4xNjkgMTc4LjcyIDI4OC4xNjkgMTc4LjcyQzI4OS40MTcgMTc1LjgwOCAyODQuODQxIDE2Mi40OTYgMjc5Ljg0OSAxNTMuNzZDMjc0Ljg1NyAxNDUuMDI0IDI1OS44MjQgMTQ1Ljk0NSAyNDMuMjQgMTQ1LjAyNEMyMjguMjY0IDE0NC4xOTIgMjEwLjc5MiAxNjYuMjQgMjA5LjU0NCAxNjcuOTA0eicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICNmOWUyZDMnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTIxMC4yNzIgMTY4LjU1MkMyMDkuMDQ4IDE3MC4xODQgMjE0Ljc2IDIwNS42ODEgMjE1Ljk4NCAyMTAuOTg1QzIxNy4yMDggMjE2LjI4OSAyMTQuNzYgMjQwLjc2OSAyMTQuNzYgMjQwLjc2OUMyNDIuNjI4IDIzMS44NDkgMjE4LjQzMiAyMzMuODMzIDI0NC4xMzYgMjM3LjUwNUMyNjkuODQxIDI0MS4xNzcgMjkzLjUwNSAyMDguMTI5IDI5NS4xMzcgMTk5LjE1MkMyOTYuNzY5IDE5MC4xNzYgMjg3LjM4NSAxNzkuMTYgMjg3LjM4NSAxNzkuMTZDMjg4LjYwOSAxNzYuMzA0IDI4NC4xMjEgMTYzLjI0OCAyNzkuMjI1IDE1NC42OEMyNzQuMzI5IDE0Ni4xMTIgMjU5LjU4NSAxNDcuMDE1IDI0My4zMiAxNDYuMTEyQzIyOC42MzIgMTQ1LjI5NiAyMTEuNDk2IDE2Ni45MiAyMTAuMjcyIDE2OC41NTJ6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogI2ZmZmZmZicpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMjQ0LjIgMjM2LjhDMjY5LjQgMjQwLjQgMjkyLjYwMSAyMDggMjk0LjIwMSAxOTkuMkMyOTUuODAxIDE5MC40IDI4Ni42MDEgMTc5LjYgMjg2LjYwMSAxNzkuNkMyODcuODAxIDE3Ni44IDI4My40IDE2NCAyNzguNiAxNTUuNkMyNzMuOCAxNDcuMiAyNTkuMzQ2IDE0OC4wODYgMjQzLjQgMTQ3LjJDMjI5IDE0Ni40IDIxMi4yIDE2Ny42IDIxMSAxNjkuMkMyMDkuOCAxNzAuOCAyMTUuNCAyMDUuNiAyMTYuNiAyMTAuOEMyMTcuOCAyMTYgMjE1LjQgMjQwIDIxNS40IDI0MEMyNDAuOSAyMzEuNCAyMTkgMjMzLjIgMjQ0LjIgMjM2Ljh6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogI2NjY2NjYycpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMjkwLjYwMSAyMDIuOEMyOTAuNjAxIDIwMi44IDI2Mi44IDIxMC40IDI1MS4yIDIwOC44QzI1MS4yIDIwOC44IDIzNS40IDIwMi4yIDIyNi42IDIyNEMyMjYuNiAyMjQgMjIzIDIzMS4yIDIyMSAyMzMuMkMyMTkgMjM1LjIgMjkwLjYwMSAyMDIuOCAyOTAuNjAxIDIwMi44eicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICMwMDAwMDAnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTI5NC40MDEgMjAwLjZDMjk0LjQwMSAyMDAuNiAyNjUuNCAyMTIuOCAyNTUuNCAyMTIuNEMyNTUuNCAyMTIuNCAyMzkgMjA3LjggMjMwLjYgMjIyLjRDMjMwLjYgMjIyLjQgMjIyLjIgMjMxLjYgMjE5IDIzMy4yQzIxOSAyMzMuMiAyMTguNiAyMzQuOCAyMjUgMjMwLjhMMjM1LjQgMjM2QzIzNS40IDIzNiAyNTAuMiAyNDUuNiAyNTkuOCAyMjkuNkMyNTkuOCAyMjkuNiAyNjMuOCAyMTguNCAyNjMuOCAyMTYuNEMyNjMuOCAyMTQuNCAyODUgMjA4LjggMjg2LjYwMSAyMDguNEMyODguMjAxIDIwOCAyOTQuODAxIDIwMy44IDI5NC40MDEgMjAwLjZ6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogIzk5Y2MzMicpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMjQ3IDIzNi41MTRDMjQwLjEyOCAyMzYuNTE0IDIzMS43NTUgMjMyLjY0OSAyMzEuNzU1IDIyNi40QzIzMS43NTUgMjIwLjE1MiAyNDAuMTI4IDIxMy44ODcgMjQ3IDIxMy44ODdDMjUzLjg3NCAyMTMuODg3IDI1OS40NDYgMjE4Ljk1MiAyNTkuNDQ2IDIyNS4yQzI1OS40NDYgMjMxLjQ0OSAyNTMuODc0IDIzNi41MTQgMjQ3IDIzNi41MTR6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogIzY1OTkwMCcpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMjQzLjM3NyAyMTkuODNDMjM4LjUzMSAyMjAuNTUyIDIzMy40NDIgMjIyLjA1NSAyMzMuNTE0IDIyMS44MzlDMjM1LjA1NCAyMTcuMjIgMjQxLjQxNSAyMTMuODg3IDI0NyAyMTMuODg3QzI1MS4yOTYgMjEzLjg4NyAyNTUuMDg0IDIxNS44NjUgMjU3LjMyIDIxOC44NzVDMjU3LjMyIDIxOC44NzUgMjUyLjAwNCAyMTguNTQ1IDI0My4zNzcgMjE5LjgzeicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICNmZmZmZmYnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTI1NS40IDIxOS42QzI1NS40IDIxOS42IDI1MSAyMTYuNCAyNTEgMjE4LjZDMjUxIDIxOC42IDI1NC42IDIyMyAyNTUuNCAyMTkuNnonKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjMDAwMDAwJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J00yNDUuNCAyMjcuNzI2QzI0Mi45MDEgMjI3LjcyNiAyNDAuODc1IDIyNS43IDI0MC44NzUgMjIzLjJDMjQwLjg3NSAyMjAuNzAxIDI0Mi45MDEgMjE4LjY3NSAyNDUuNCAyMTguNjc1QzI0Ny45IDIxOC42NzUgMjQ5LjkyNiAyMjAuNzAxIDI0OS45MjYgMjIzLjJDMjQ5LjkyNiAyMjUuNyAyNDcuOSAyMjcuNzI2IDI0NS40IDIyNy43MjZ6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogI2NjNzIyNicpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMTQxLjQgMjE0LjRDMTQxLjQgMjE0LjQgMTM4LjIgMTkzLjIgMTQwLjYgMTg4LjhDMTQwLjYgMTg4LjggMTUxLjQgMTc4LjggMTUxIDE3NS4yQzE1MSAxNzUuMiAxNTAuNiAxNTcuMiAxNDkuNCAxNTYuNEMxNDguMiAxNTUuNiAxNDAuNiAxNDkuNiAxMzQuNiAxNTZDMTM0LjYgMTU2IDEyNC4yIDE3NCAxMjUgMTgwLjRMMTI1IDE4Mi40QzEyNSAxODIuNCAxMTcuNCAxODIgMTE1LjggMTg0QzExNS44IDE4NCAxMTQuNiAxODkuMiAxMTMuNCAxODkuNkMxMTMuNCAxODkuNiAxMTAuNiAxOTIgMTEyLjYgMTk0LjhDMTEyLjYgMTk0LjggMTEwLjYgMTk3LjIgMTExIDIwMS4yTDExOC42IDIwNS4yQzExOC42IDIwNS4yIDEyMC42IDIxOS42IDEzMS40IDIyNC44QzEzNi4yMzYgMjI3LjEyOSAxMzkuNCAyMjAuNCAxNDEuNCAyMTQuNHonKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjZmZmZmZmJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J00xNDAuNCAyMTIuNTZDMTQwLjQgMjEyLjU2IDEzNy41MiAxOTMuNDggMTM5LjY4IDE4OS41MkMxMzkuNjggMTg5LjUyIDE0OS40IDE4MC41MiAxNDkuMDQgMTc3LjI4QzE0OS4wNCAxNzcuMjggMTQ4LjY4IDE2MS4wOCAxNDcuNiAxNjAuMzZDMTQ2LjUyIDE1OS42NCAxMzkuNjggMTU0LjI0IDEzNC4yOCAxNjBDMTM0LjI4IDE2MCAxMjQuOTIgMTc2LjIgMTI1LjY0IDE4MS45NkwxMjUuNjQgMTgzLjc2QzEyNS42NCAxODMuNzYgMTE4LjggMTgzLjQgMTE3LjM2IDE4NS4yQzExNy4zNiAxODUuMiAxMTYuMjggMTg5Ljg4IDExNS4yIDE5MC4yNEMxMTUuMiAxOTAuMjQgMTEyLjY4IDE5Mi40IDExNC40OCAxOTQuOTJDMTE0LjQ4IDE5NC45MiAxMTIuNjggMTk3LjA4IDExMy4wNCAyMDAuNjhMMTE5Ljg4IDIwNC4yOEMxMTkuODggMjA0LjI4IDEyMS42OCAyMTcuMjQgMTMxLjQgMjIxLjkyQzEzNS43NTIgMjI0LjAxNSAxMzguNiAyMTcuOTYgMTQwLjQgMjEyLjU2eicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICNlYjk1NWMnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTE0OC45NSAxNTcuMzlDMTQ3Ljg2IDE1Ni41MyAxNDAuMzcgMTUwLjc2IDEzNC41MiAxNTdDMTM0LjUyIDE1NyAxMjQuMzggMTc0LjU1IDEyNS4xNiAxODAuNzlMMTI1LjE2IDE4Mi43NEMxMjUuMTYgMTgyLjc0IDExNy43NSAxODIuMzUgMTE2LjE5IDE4NC4zQzExNi4xOSAxODQuMyAxMTUuMDIgMTg5LjM3IDExMy44NSAxODkuNzZDMTEzLjg1IDE4OS43NiAxMTEuMTIgMTkyLjEgMTEzLjA3IDE5NC44M0MxMTMuMDcgMTk0LjgzIDExMS4xMiAxOTcuMTcgMTExLjUxIDIwMS4wN0wxMTguOTIgMjA0Ljk3QzExOC45MiAyMDQuOTcgMTIwLjg3IDIxOS4wMSAxMzEuNCAyMjQuMDhDMTM2LjExNCAyMjYuMzUgMTM5LjIgMjE5Ljc5IDE0MS4xNSAyMTMuOTRDMTQxLjE1IDIxMy45NCAxMzguMDMgMTkzLjI3IDE0MC4zNyAxODguOThDMTQwLjM3IDE4OC45OCAxNTAuOSAxNzkuMjMgMTUwLjUxIDE3NS43MkMxNTAuNTEgMTc1LjcyIDE1MC4xMiAxNTguMTcgMTQ4Ljk1IDE1Ny4zOXonKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjZjJiODkyJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J00xNDguNSAxNTguMzhDMTQ3LjUyIDE1Ny40NiAxNDAuMTQgMTUxLjkyIDEzNC40NCAxNThDMTM0LjQ0IDE1OCAxMjQuNTYgMTc1LjEgMTI1LjMyIDE4MS4xOEwxMjUuMzIgMTgzLjA4QzEyNS4zMiAxODMuMDggMTE4LjEgMTgyLjcgMTE2LjU4IDE4NC42QzExNi41OCAxODQuNiAxMTUuNDQgMTg5LjU0IDExNC4zIDE4OS45MkMxMTQuMyAxODkuOTIgMTExLjY0IDE5Mi4yIDExMy41NCAxOTQuODZDMTEzLjU0IDE5NC44NiAxMTEuNjQgMTk3LjE0IDExMi4wMiAyMDAuOTRMMTE5LjI0IDIwNC43NEMxMTkuMjQgMjA0Ljc0IDEyMS4xNCAyMTguNDIgMTMxLjQgMjIzLjM2QzEzNS45OTQgMjI1LjU3MiAxMzkgMjE5LjE4IDE0MC45IDIxMy40OEMxNDAuOSAyMTMuNDggMTM3Ljg2IDE5My4zNCAxNDAuMTQgMTg5LjE2QzE0MC4xNCAxODkuMTYgMTUwLjQgMTc5LjY2IDE1MC4wMiAxNzYuMjRDMTUwLjAyIDE3Ni4yNCAxNDkuNjQgMTU5LjE0IDE0OC41IDE1OC4zOHonKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjZjhkY2M4JykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J00xNDguMDUgMTU5LjM3QzE0Ny4xOCAxNTguMzkgMTM5LjkxIDE1My4wOCAxMzQuMzYgMTU5QzEzNC4zNiAxNTkgMTI0Ljc0IDE3NS42NSAxMjUuNDggMTgxLjU3TDEyNS40OCAxODMuNDJDMTI1LjQ4IDE4My40MiAxMTguNDUgMTgzLjA1IDExNi45NyAxODQuOUMxMTYuOTcgMTg0LjkgMTE1Ljg2IDE4OS43MSAxMTQuNzUgMTkwLjA4QzExNC43NSAxOTAuMDggMTEyLjE2IDE5Mi4zIDExNC4wMSAxOTQuODlDMTE0LjAxIDE5NC44OSAxMTIuMTYgMTk3LjExIDExMi41MyAyMDAuODFMMTE5LjU2IDIwNC41MUMxMTkuNTYgMjA0LjUxIDEyMS40MSAyMTcuODMgMTMxLjQgMjIyLjY0QzEzNS44NzMgMjI0Ljc5NCAxMzguOCAyMTguNTcgMTQwLjY1IDIxMy4wMkMxNDAuNjUgMjEzLjAyIDEzNy42OSAxOTMuNDEgMTM5LjkxIDE4OS4zNEMxMzkuOTEgMTg5LjM0IDE0OS45IDE4MC4wOSAxNDkuNTMgMTc2Ljc2QzE0OS41MyAxNzYuNzYgMTQ5LjE2IDE2MC4xMSAxNDguMDUgMTU5LjM3eicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICNmZmZmZmYnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTE0MC40IDIxMi40NkMxNDAuNCAyMTIuNDYgMTM3LjUyIDE5My40OCAxMzkuNjggMTg5LjUyQzEzOS42OCAxODkuNTIgMTQ5LjQgMTgwLjUyIDE0OS4wNCAxNzcuMjhDMTQ5LjA0IDE3Ny4yOCAxNDguNjggMTYxLjA4IDE0Ny42IDE2MC4zNkMxNDYuODQgMTU5LjMyIDEzOS42OCAxNTQuMjQgMTM0LjI4IDE2MEMxMzQuMjggMTYwIDEyNC45MiAxNzYuMiAxMjUuNjQgMTgxLjk2TDEyNS42NCAxODMuNzZDMTI1LjY0IDE4My43NiAxMTguOCAxODMuNCAxMTcuMzYgMTg1LjJDMTE3LjM2IDE4NS4yIDExNi4yOCAxODkuODggMTE1LjIgMTkwLjI0QzExNS4yIDE5MC4yNCAxMTIuNjggMTkyLjQgMTE0LjQ4IDE5NC45MkMxMTQuNDggMTk0LjkyIDExMi42OCAxOTcuMDggMTEzLjA0IDIwMC42OEwxMTkuODggMjA0LjI4QzExOS44OCAyMDQuMjggMTIxLjY4IDIxNy4yNCAxMzEuNCAyMjEuOTJDMTM1Ljc1MiAyMjQuMDE1IDEzOC42IDIxNy44NiAxNDAuNCAyMTIuNDZ6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogI2NjY2NjYycpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMTM3LjMgMjA2LjJDMTM3LjMgMjA2LjIgMTE1LjcgMTk2IDExNC44IDE5NS4yQzExNC44IDE5NS4yIDEyMy45IDIwMy40IDEyNC43IDIwMy40QzEyNS41IDIwMy40IDEzNy4zIDIwNi4yIDEzNy4zIDIwNi4yeicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICMwMDAwMDAnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTEyMC4yIDIwMEMxMjAuMiAyMDAgMTM4LjYgMjAzLjYgMTM4LjYgMjA4QzEzOC42IDIxMC45MTIgMTM4LjM1NyAyMjQuMzMxIDEzMyAyMjIuOEMxMjQuNiAyMjAuNCAxMjguMiAyMDYgMTIwLjIgMjAweicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICM5OWNjMzInKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTEyOC42IDIwMy44QzEyOC42IDIwMy44IDEzNy41NzggMjA1LjI3NCAxMzguNiAyMDhDMTM5LjIgMjA5LjYgMTM5Ljg2MyAyMTcuOTA4IDEzNC40IDIxOUMxMjkuODQ4IDIxOS45MTEgMTI3LjYxOCAyMDkuNjkgMTI4LjYgMjAzLjh6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogIzAwMDAwMCcpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMjE0LjU5NSAyNDYuMzQ5QzIxNC4wOTggMjQ0LjYwNyAyMTUuNDA5IDI0NC43MzggMjE3LjIgMjQ0LjJDMjE5LjIgMjQzLjYgMjMxLjQgMjM5LjggMjMyLjIgMjM3LjJDMjMzIDIzNC42IDI0Ni4yIDIzOSAyNDYuMiAyMzlDMjQ4IDIzOS44IDI1Mi40IDI0Mi40IDI1Mi40IDI0Mi40QzI1Ny4yIDI0My42IDI2My44IDI0NCAyNjMuOCAyNDRDMjY2LjIgMjQ1IDI2OS42IDI0Ny44IDI2OS42IDI0Ny44QzI4NC4yIDI1OCAyOTYuNjAxIDI1MC44IDI5Ni42MDEgMjUwLjhDMzE2LjYwMSAyNDQuMiAzMTAuNjAxIDIyNyAzMTAuNjAxIDIyN0MzMDcuNjAxIDIxOCAzMTAuODAxIDIxNC42IDMxMC44MDEgMjE0LjZDMzExLjAwMSAyMTAuOCAzMTguMjAxIDIxNy4yIDMxOC4yMDEgMjE3LjJDMzIwLjgwMSAyMjEuNCAzMjEuNjAxIDIyNi40IDMyMS42MDEgMjI2LjRDMzI5LjYwMSAyMzcuNiAzMjYuMjAxIDIxOS44IDMyNi4yMDEgMjE5LjhDMzI2LjQwMSAyMTguOCAzMjMuNjAxIDIxNS4yIDMyMy42MDEgMjE0QzMyMy42MDEgMjEyLjggMzIxLjgwMSAyMDkuNCAzMjEuODAxIDIwOS40QzMxOC44MDEgMjA2IDMyMS4yMDEgMTk5IDMyMS4yMDEgMTk5QzMyMy4wMDEgMTg1LjIgMzIwLjgwMSAxODcgMzIwLjgwMSAxODdDMzE5LjYwMSAxODUuMiAzMTAuNDAxIDE5NS4yIDMxMC40MDEgMTk1LjJDMzA4LjIwMSAxOTguNiAzMDIuMjAxIDIwMC4yIDMwMi4yMDEgMjAwLjJDMjk5LjQwMSAyMDIgMjk2LjAwMSAyMDAuNiAyOTYuMDAxIDIwMC42QzI5My40MDEgMjAwLjIgMjg3LjgwMSAyMDcuMiAyODcuODAxIDIwNy4yQzI5MC42MDEgMjA3IDI5My4wMDEgMjExLjQgMjk1LjQwMSAyMTEuNkMyOTcuODAxIDIxMS44IDI5OS42MDEgMjA5LjIgMzAxLjIwMSAyMDguNkMzMDIuODAxIDIwOCAzMDUuNjAxIDIxMy44IDMwNS42MDEgMjEzLjhDMzA2LjAwMSAyMTYuNCAzMDAuNDAxIDIyMS4yIDMwMC40MDEgMjIxLjJDMzAwLjAwMSAyMjUuOCAyOTguNDAxIDIyNC4yIDI5OC40MDEgMjI0LjJDMjk1LjQwMSAyMjMuNiAyOTQuMjAxIDIyNy40IDI5My4yMDEgMjMyQzI5Mi4yMDEgMjM2LjYgMjg4LjAwMSAyMzcgMjg4LjAwMSAyMzdDMjg2LjQwMSAyNDQuNCAyODUuMiAyNDEuNCAyODUuMiAyNDEuNEMyODUgMjM1LjggMjc5IDI0MS42IDI3OSAyNDEuNkMyNzcuOCAyNDMuNiAyNzMuMiAyNDEuNCAyNzMuMiAyNDEuNEMyNjYuNCAyMzkuNCAyNjguOCAyMzcuNCAyNjguOCAyMzcuNEMyNzAuNiAyMzUuMiAyODEuOCAyMzcuNCAyODEuOCAyMzcuNEMyODQgMjM1LjggMjc2IDIzMS44IDI3NiAyMzEuOEMyNzUuNCAyMzAgMjc2LjQgMjI1LjYgMjc2LjQgMjI1LjZDMjc3LjYgMjIyLjQgMjg0LjQgMjE2LjggMjg0LjQgMjE2LjhDMjkzLjgwMSAyMTUuNiAyOTEuMDAxIDIxNCAyOTEuMDAxIDIxNEMyODQuODAxIDIwOC44IDI3OSAyMTYuNCAyNzkgMjE2LjRDMjc2LjggMjIyLjYgMjU5LjQgMjM3LjYgMjU5LjQgMjM3LjZDMjU0LjYgMjQxIDI1Ny4yIDIzNC4yIDI1My4yIDIzNy42QzI0OS4yIDI0MSAyMjguNiAyMzIgMjI4LjYgMjMyQzIxNy4wMzggMjMwLjgwNyAyMTQuMzA2IDI0Ni41NDkgMjEwLjc3NyAyNDMuNDI5QzIxMC43NzcgMjQzLjQyOSAyMTYuMTk1IDI1MS45NDkgMjE0LjU5NSAyNDYuMzQ5eicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICMwMDAwMDAnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTQwOS40MDEgODBDNDA5LjQwMSA4MCAzODMuODAxIDg4IDM4MS4wMDEgMTA2LjhDMzgxLjAwMSAxMDYuOCAzNzguNjAxIDEyOS42IDM5OS4wMDEgMTQ3LjJDMzk5LjAwMSAxNDcuMiAzOTkuNDAxIDE1My42IDQwMS40MDEgMTU2LjhDNDAxLjQwMSAxNTYuOCAzOTkuODAxIDE2MS42IDQxOC42MDEgMTU0TDQ0NS44MDEgMTQ1LjZDNDQ1LjgwMSAxNDUuNiA0NTIuMjAxIDE0My4yIDQ1Ny40MDEgMTM0LjRDNDYyLjYwMSAxMjUuNiA0NzcuODAxIDEwNi44IDQ3NC4yMDEgODEuNkM0NzQuMjAxIDgxLjYgNDc1LjQwMSA3MC40IDQ2OS40MDEgNzBDNDY5LjQwMSA3MCA0NjEuMDAxIDY4LjQgNDUzLjgwMSA3NkM0NTMuODAxIDc2IDQ0Ny4wMDEgNzkuMiA0NDQuNjAxIDc4LjhMNDA5LjQwMSA4MHonKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjMDAwMDAwJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J000NjQuMDIyIDc5LjAxQzQ2NC4wMjIgNzkuMDEgNDY2LjEyMiA3MC4wOCA0NjEuMjgyIDc0LjkyQzQ2MS4yODIgNzQuOTIgNDU0LjI0MiA4MC42NCA0NDYuNzYxIDgwLjY0QzQ0Ni43NjEgODAuNjQgNDMyLjI0MSA4Mi44NCA0MjcuODQxIDk2LjA0QzQyNy44NDEgOTYuMDQgNDIzLjg4MSAxMjIuODggNDMxLjgwMSAxMjguNkM0MzEuODAxIDEyOC42IDQzNi42NDEgMTM2LjA4IDQ0My42ODEgMTI5LjQ4QzQ1MC43MjIgMTIyLjg4IDQ2Ni4yMjIgOTIuNjUgNDY0LjAyMiA3OS4wMXonKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjMzIzMjMyJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J000NjMuNjQ4IDc5LjM2OEM0NjMuNjQ4IDc5LjM2OCA0NjUuNzM4IDcwLjYyNCA0NjAuOTg2IDc1LjM3NkM0NjAuOTg2IDc1LjM3NiA0NTQuMDc0IDgwLjk5MiA0NDYuNzI5IDgwLjk5MkM0NDYuNzI5IDgwLjk5MiA0MzIuNDczIDgzLjE1MiA0MjguMTUzIDk2LjExMkM0MjguMTUzIDk2LjExMiA0MjQuMjY1IDEyMi40NjQgNDMyLjA0MSAxMjguMDhDNDMyLjA0MSAxMjguMDggNDM2Ljc5MyAxMzUuNDI0IDQ0My43MDUgMTI4Ljk0NEM0NTAuNjE4IDEyMi40NjQgNDY1LjgwOCA5Mi43NiA0NjMuNjQ4IDc5LjM2OHonKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjNjY2NjY2JykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J000NjMuMjc0IDc5LjcyNkM0NjMuMjc0IDc5LjcyNiA0NjUuMzU0IDcxLjE2OCA0NjAuNjkgNzUuODMyQzQ2MC42OSA3NS44MzIgNDUzLjkwNiA4MS4zNDQgNDQ2LjY5NyA4MS4zNDRDNDQ2LjY5NyA4MS4zNDQgNDMyLjcwNSA4My40NjQgNDI4LjQ2NSA5Ni4xODRDNDI4LjQ2NSA5Ni4xODQgNDI0LjY0OSAxMjIuMDQ4IDQzMi4yODEgMTI3LjU2QzQzMi4yODEgMTI3LjU2IDQzNi45NDUgMTM0Ljc2OCA0NDMuNzI5IDEyOC40MDhDNDUwLjUxNCAxMjIuMDQ4IDQ2NS4zOTQgOTIuODcgNDYzLjI3NCA3OS43MjZ6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogIzk5OTk5OScpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNNDYyLjkgODAuMDg0QzQ2Mi45IDgwLjA4NCA0NjQuOTcgNzEuNzEyIDQ2MC4zOTQgNzYuMjg4QzQ2MC4zOTQgNzYuMjg4IDQ1My43MzggODEuNjk2IDQ0Ni42NjUgODEuNjk2QzQ0Ni42NjUgODEuNjk2IDQzMi45MzcgODMuNzc2IDQyOC43NzcgOTYuMjU2QzQyOC43NzcgOTYuMjU2IDQyNS4wMzMgMTIxLjYzMiA0MzIuNTIxIDEyNy4wNEM0MzIuNTIxIDEyNy4wNCA0MzcuMDk3IDEzNC4xMTIgNDQzLjc1MyAxMjcuODcyQzQ1MC40MSAxMjEuNjMyIDQ2NC45OCA5Mi45OCA0NjIuOSA4MC4wODR6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogI2NjY2NjYycpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNNDYyLjUyNiA4MC40NDJDNDYyLjUyNiA4MC40NDIgNDY0LjU4NiA3Mi4yNTYgNDYwLjA5OCA3Ni43NDRDNDYwLjA5OCA3Ni43NDQgNDUzLjU2OSA4Mi4wNDggNDQ2LjYzMyA4Mi4wNDhDNDQ2LjYzMyA4Mi4wNDggNDMzLjE2OSA4NC4wODggNDI5LjA4OSA5Ni4zMjhDNDI5LjA4OSA5Ni4zMjggNDI1LjQxNyAxMjEuMjE2IDQzMi43NjEgMTI2LjUyQzQzMi43NjEgMTI2LjUyIDQzNy4yNDkgMTMzLjQ1NiA0NDMuNzc3IDEyNy4zMzZDNDUwLjMwNSAxMjEuMjE2IDQ2NC41NjYgOTMuMDkgNDYyLjUyNiA4MC40NDJ6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogI2ZmZmZmZicpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNNDYyLjE1MSA4MC44QzQ2Mi4xNTEgODAuOCA0NjQuMjAxIDcyLjggNDU5LjgwMSA3Ny4yQzQ1OS44MDEgNzcuMiA0NTMuNDAxIDgyLjQgNDQ2LjYwMSA4Mi40QzQ0Ni42MDEgODIuNCA0MzMuNDAxIDg0LjQgNDI5LjQwMSA5Ni40QzQyOS40MDEgOTYuNCA0MjUuODAxIDEyMC44IDQzMy4wMDEgMTI2QzQzMy4wMDEgMTI2IDQzNy40MDEgMTMyLjggNDQzLjgwMSAxMjYuOEM0NTAuMjAxIDEyMC44IDQ2NC4xNTEgOTMuMiA0NjIuMTUxIDgwLjh6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogIzk5MjYwMCcpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMjUwLjYgMjg0QzI1MC42IDI4NCAyMzAuMiAyNjQuOCAyMjIuMiAyNjRDMjIyLjIgMjY0IDE4Ny44IDI2MCAxNzMgMjc4QzE3MyAyNzggMTkwLjYgMjU3LjYgMjE4LjIgMjYzLjJDMjE4LjIgMjYzLjIgMTk2LjYgMjU4LjggMTg0LjIgMjYyQzE4NC4yIDI2MiAxNjcuNCAyNjIgMTU3LjggMjc2TDE1NSAyODAuOEMxNTUgMjgwLjggMTU5IDI2NiAxNzcuNCAyNjBDMTc3LjQgMjYwIDIwMC4yIDI1NS4yIDIxMSAyNjBDMjExIDI2MCAxODkuNCAyNTMuMiAxNzkuNCAyNTUuMkMxNzkuNCAyNTUuMiAxNDkgMjUyLjggMTM2LjIgMjc5LjJDMTM2LjIgMjc5LjIgMTQwLjIgMjY0LjggMTU1IDI1Ny42QzE1NSAyNTcuNiAxNjguNiAyNDguOCAxODkgMjUxLjZDMTg5IDI1MS42IDIwMy40IDI1NC44IDIwOC42IDI1Ny4yQzIxMy44IDI1OS42IDIxMi42IDI1Ni44IDIwNC4yIDI1MkMyMDQuMiAyNTIgMTk4LjYgMjQyIDE4NC42IDI0Mi40QzE4NC42IDI0Mi40IDE0MS44IDI0NiAxMzEuNCAyNThDMTMxLjQgMjU4IDE0NSAyNDYuOCAxNTUuNCAyNDRDMTU1LjQgMjQ0IDE3Ny44IDIzNiAxODYuMiAyMzYuOEMxODYuMiAyMzYuOCAyMTEgMjM3LjggMjE4LjYgMjMzLjhDMjE4LjYgMjMzLjggMjA3LjQgMjM4LjggMjEwLjYgMjQyQzIxMy44IDI0NS4yIDIyMC42IDI1Mi44IDIyMC42IDI1NEMyMjAuNiAyNTUuMiAyNDQuOCAyNzcuMyAyNDguNCAyODEuN0wyNTAuNiAyODR6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogI2NjY2NjYycpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMzg5IDQ3OEMzODkgNDc4IDM3My41IDQ0MS41IDM2MSA0MzJDMzYxIDQzMiAzODcgNDQ4IDM5MC41IDQ2NkMzOTAuNSA0NjYgMzkwLjUgNDc2IDM4OSA0Nzh6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogI2NjY2NjYycpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNNDM2IDQ4NS41QzQzNiA0ODUuNSA0MDkuNSA0MzAuNSAzOTEgNDA2LjVDMzkxIDQwNi41IDQzNC41IDQ0NCA0MzkuNSA0NzAuNUw0NDAgNDc2TDQzNyA0NzMuNUM0MzcgNDczLjUgNDM2LjUgNDgyLjUgNDM2IDQ4NS41eicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICNjY2NjY2MnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTQ5Mi41IDQzN0M0OTIuNSA0MzcgNDMwIDM3Ny41IDQyOC41IDM3NUM0MjguNSAzNzUgNDg5IDQ0MSA0OTIgNDQ4LjVDNDkyIDQ0OC41IDQ5MCA0MzkuNSA0OTIuNSA0Mzd6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogI2NjY2NjYycpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMzA0IDQ4MC41QzMwNCA0ODAuNSAzMjMuNSA0MjguNSAzNDIuNSA0NTFDMzQyLjUgNDUxIDM1Ny41IDQ2MSAzNTcgNDY0QzM1NyA0NjQgMzUzIDQ1Ny41IDMzNSA0NThDMzM1IDQ1OCAzMTYgNDU1IDMwNCA0ODAuNXonKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjY2NjY2NjJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J000OTQuNSAzNTNDNDk0LjUgMzUzIDQ0OS41IDMyNC41IDQ0MiAzMjNDNDMwLjE5MyAzMjAuNjM5IDQ5MS41IDM1MiA0OTYuNSAzNjIuNUM0OTYuNSAzNjIuNSA0OTguNSAzNjAgNDk0LjUgMzUzeicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICMwMDAwMDAnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTM0My44MDEgNDU5LjYwMUMzNDMuODAxIDQ1OS42MDEgMzY0LjIwMSA0NTcuNjAxIDM3MS4wMDEgNDUwLjgwMUwzNzUuNDAxIDQ1NC40MDFMMzkzLjAwMSA0MTYuMDAxTDM5Ni42MDEgNDIxLjIwMUMzOTYuNjAxIDQyMS4yMDEgNDExLjAwMSA0MDYuNDAxIDQxMC4yMDEgMzk4LjQwMUM0MDkuNDAxIDM5MC40MDEgNDIzLjAwMSA0MDQuNDAxIDQyMy4wMDEgNDA0LjQwMUM0MjMuMDAxIDQwNC40MDEgNDIyLjIwMSAzOTIuODAxIDQyOS40MDEgMzk5LjYwMUM0MjkuNDAxIDM5OS42MDEgNDI3LjAwMSAzODQuMDAxIDQzNS40MDEgMzkyLjAwMUM0MzUuNDAxIDM5Mi4wMDEgNDI0Ljg2NCAzNjEuODQ0IDQ0Ny40MDEgMzg3LjYwMUM0NTMuMDAxIDM5NC4wMDEgNDQ4LjYwMSAzODcuMjAxIDQ0OC42MDEgMzg3LjIwMUM0NDguNjAxIDM4Ny4yMDEgNDIyLjYwMSAzMzkuMjAxIDQ0NC4yMDEgMzUzLjYwMUM0NDQuMjAxIDM1My42MDEgNDQ2LjIwMSAzMzAuODAxIDQ0NS4wMDEgMzI2LjQwMUM0NDMuODAxIDMyMi4wMDEgNDQxLjgwMSAyOTkuNiA0MzcuMDAxIDI5NC40QzQzMi4yMDEgMjg5LjIgNDM3LjQwMSAyODcuNiA0NDMuMDAxIDI5Mi44QzQ0My4wMDEgMjkyLjggNDMxLjgwMSAyNjguOCA0NDUuMDAxIDI4MC44QzQ0NS4wMDEgMjgwLjggNDQxLjQwMSAyNjUuNiA0MzcuMDAxIDI2Mi44QzQzNy4wMDEgMjYyLjggNDMxLjQwMSAyNDUuNiA0NDYuNjAxIDI1Ni40QzQ0Ni42MDEgMjU2LjQgNDQyLjIwMSAyNDQgNDM5LjAwMSAyNDAuOEM0MzkuMDAxIDI0MC44IDQyNy40MDEgMjEzLjIgNDM0LjYwMSAyMThMNDM5LjAwMSAyMjEuNkM0MzkuMDAxIDIyMS42IDQzMi4yMDEgMjA3LjYgNDM4LjYwMSAyMTJDNDQ1LjAwMSAyMTYuNCA0NDUuMDAxIDIxNiA0NDUuMDAxIDIxNkM0NDUuMDAxIDIxNiA0MjMuODAxIDE4Mi44IDQ0NC4yMDEgMjAwLjRDNDQ0LjIwMSAyMDAuNCA0MzYuMDQyIDE4Ni40ODIgNDMyLjYwMSAxNzkuNkM0MzIuNjAxIDE3OS42IDQxMy44MDEgMTU5LjIgNDI4LjIwMSAxNjUuNkw0MzMuMDAxIDE2Ny4yQzQzMy4wMDEgMTY3LjIgNDI0LjIwMSAxNTcuMiA0MTYuMjAxIDE1NS42QzQwOC4yMDEgMTU0IDQxOC42MDEgMTQ3LjYgNDI1LjAwMSAxNDkuNkM0MzEuNDAxIDE1MS42IDQ0Ny4wMDEgMTU5LjIgNDQ3LjAwMSAxNTkuMkM0NDcuMDAxIDE1OS4yIDQ1OS44MDEgMTc4IDQ2My44MDEgMTc4LjRDNDYzLjgwMSAxNzguNCA0NDMuODAxIDE3MC44IDQ0OS44MDEgMTc4LjhDNDQ5LjgwMSAxNzguOCA0NjQuMjAxIDE5Mi44IDQ1Ny4wMDEgMTkyLjRDNDU3LjAwMSAxOTIuNCA0NTEuMDAxIDE5OS42IDQ1NS44MDEgMjA4LjRDNDU1LjgwMSAyMDguNCA0MzcuMzQyIDE5MC4wMDkgNDUyLjIwMSAyMTUuNkw0NTkuMDAxIDIzMkM0NTkuMDAxIDIzMiA0MzQuNjAxIDIwNy4yIDQ0NS44MDEgMjI5LjJDNDQ1LjgwMSAyMjkuMiA0NjMuMDAxIDI1Mi44IDQ2NS4wMDEgMjUzLjJDNDY3LjAwMSAyNTMuNiA0NzEuNDAxIDI2Mi40IDQ3MS40MDEgMjYyLjRMNDY3LjAwMSAyNjAuNEw0NzIuMjAxIDI2OS4yQzQ3Mi4yMDEgMjY5LjIgNDYxLjAwMSAyNTcuMiA0NjcuMDAxIDI3MC40TDQ3Mi42MDEgMjg0LjhDNDcyLjYwMSAyODQuOCA0NTIuMjAxIDI2Mi44IDQ2NS44MDEgMjkyLjRDNDY1LjgwMSAyOTIuNCA0NDkuNDAxIDI4Ny4yIDQ1OC4yMDEgMzA0LjRDNDU4LjIwMSAzMDQuNCA0NTYuNjAxIDMyMC40MDEgNDU3LjAwMSAzMjUuNjAxQzQ1Ny40MDEgMzMwLjgwMSA0NTguNjAxIDM1OS4yMDEgNDU0LjIwMSAzNjcuMjAxQzQ0OS44MDEgMzc1LjIwMSA0NjAuMjAxIDM5NC40MDEgNDYyLjIwMSAzOTguNDAxQzQ2NC4yMDEgNDAyLjQwMSA0NjcuODAxIDQxMy4yMDEgNDU5LjAwMSA0MDQuMDAxQzQ1MC4yMDEgMzk0LjgwMSA0NTQuNjAxIDQwMC40MDEgNDU2LjYwMSA0MDkuMjAxQzQ1OC42MDEgNDE4LjAwMSA0NjQuNjAxIDQzMy42MDEgNDYzLjgwMSA0MzkuMjAxQzQ2My44MDEgNDM5LjIwMSA0NjIuNjAxIDQ0MC40MDEgNDU5LjQwMSA0MzYuODAxQzQ1OS40MDEgNDM2LjgwMSA0NDQuNjAxIDQxNC4wMDEgNDQ2LjIwMSA0MjguNDAxQzQ0Ni4yMDEgNDI4LjQwMSA0NDUuMDAxIDQzNi40MDEgNDQxLjgwMSA0NDUuMjAxQzQ0MS44MDEgNDQ1LjIwMSA0MzguNjAxIDQ1Ni4wMDEgNDM4LjYwMSA0NDcuMjAxQzQzOC42MDEgNDQ3LjIwMSA0MzUuNDAxIDQzMC40MDEgNDMyLjYwMSA0MzguMDAxQzQyOS44MDEgNDQ1LjYwMSA0MjYuMjAxIDQ1MS42MDEgNDIzLjQwMSA0NTQuMDAxQzQyMC42MDEgNDU2LjQwMSA0MTUuNDAxIDQzMy42MDEgNDE0LjIwMSA0NDQuMDAxQzQxNC4yMDEgNDQ0LjAwMSA0MDIuMjAxIDQzMS42MDEgMzk3LjQwMSA0NDguMDAxTDM4NS44MDEgNDY0LjQwMUMzODUuODAxIDQ2NC40MDEgMzg1LjQwMSA0NTIuMDAxIDM4NC4yMDEgNDU4LjAwMUMzODQuMjAxIDQ1OC4wMDEgMzU0LjIwMSA0NjQuMDAxIDM0My44MDEgNDU5LjYwMXonKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjMDAwMDAwJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J00zMDkuNDAxIDEwMi44QzMwOS40MDEgMTAyLjggMjk3LjgwMSA5NC44IDI5My44MDEgOTUuMkMyODkuODAxIDk1LjYgMzIxLjQwMSA4Ni40IDM2Mi42MDEgMTE0QzM2Mi42MDEgMTE0IDM2Ny40MDEgMTE2LjggMzcxLjAwMSAxMTYuNEMzNzEuMDAxIDExNi40IDM3NC4yMDEgMTE4LjggMzcxLjQwMSAxMjIuNEMzNzEuNDAxIDEyMi40IDM2Mi42MDEgMTMyIDM3My44MDEgMTQzLjJDMzczLjgwMSAxNDMuMiAzOTIuMjAxIDE1MCAzODYuNjAxIDE0MS4yQzM4Ni42MDEgMTQxLjIgMzk3LjQwMSAxNDUuMiAzOTkuODAxIDE0OS4yQzQwMi4yMDEgMTUzLjIgNDAxLjAwMSAxNDkuMiA0MDEuMDAxIDE0OS4yQzQwMS4wMDEgMTQ5LjIgMzk0LjYwMSAxNDIgMzg4LjYwMSAxMzYuOEMzODguNjAxIDEzNi44IDM4My40MDEgMTM0LjggMzgwLjYwMSAxMjYuNEMzNzcuODAxIDExOCAzNzUuNDAxIDEwOCAzNzkuODAxIDEwNC44QzM3OS44MDEgMTA0LjggMzc1LjgwMSAxMDkuMiAzNzYuNjAxIDEwNS4yQzM3Ny40MDEgMTAxLjIgMzgxLjAwMSA5Ny42IDM4Mi42MDEgOTcuMkMzODQuMjAxIDk2LjggNDAwLjYwMSA4MSA0MDcuNDAxIDgwLjZDNDA3LjQwMSA4MC42IDM5OC4yMDEgODIgMzk1LjIwMSA4MUMzOTIuMjAxIDgwIDM2NS42MDEgNjguNiAzNTkuNjAxIDY3LjRDMzU5LjYwMSA2Ny40IDM0Mi44MDEgNjAuOCAzNTQuODAxIDYyLjhDMzU0LjgwMSA2Mi44IDM5MC42MDEgNjYuNiA0MDguODAxIDc5LjhDNDA4LjgwMSA3OS44IDQwMS42MDEgNzEuNCAzODMuMjAxIDY0LjRDMzgzLjIwMSA2NC40IDM2MS4wMDEgNTEuOCAzMjUuODAxIDU2LjhDMzI1LjgwMSA1Ni44IDMwOC4wMDEgNjAgMzAwLjIwMSA2MS44QzMwMC4yMDEgNjEuOCAyOTcuNjAxIDYxLjIgMjk3LjAwMSA2MC44QzI5Ni40MDEgNjAuNCAyODQuNiA1MS40IDI1NyA1OC40QzI1NyA1OC40IDI0MCA2MyAyMzEuNCA2Ny44QzIzMS40IDY3LjggMjE2LjIgNjkgMjEyLjYgNzIuMkMyMTIuNiA3Mi4yIDE5NCA4Ni44IDE5MiA4Ny42QzE5MCA4OC40IDE3OC42IDk2IDE3Ny44IDk2LjRDMTc3LjggOTYuNCAyMDIuNCA4OS44IDIwNC44IDg3LjRDMjA3LjIgODUgMjI0LjYgODIuNCAyMjcgODMuOEMyMjkuNCA4NS4yIDIzNy44IDg0LjYgMjI4LjIgODUuMkMyMjguMiA4NS4yIDMwMy44MDEgMTAwIDMwNC42MDEgMTAyQzMwNS40MDEgMTA0IDMwOS40MDEgMTAyLjggMzA5LjQwMSAxMDIuOHonKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjY2M3MjI2JykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J00zODAuODAxIDkzLjZDMzgwLjgwMSA5My42IDM3MC42MDEgODYuMiAzNjguNjAxIDg2LjJDMzY2LjYwMSA4Ni4yIDM1NC4yMDEgNzYgMzUwLjAwMSA3Ni40QzM0NS44MDEgNzYuOCAzMzMuNjAxIDY2LjggMzA2LjIwMSA3NUMzMDYuMjAxIDc1IDMwNS42MDEgNzMgMzA5LjIwMSA3Mi4yQzMwOS4yMDEgNzIuMiAzMTUuNjAxIDcwIDMxNi4wMDEgNjkuNEMzMTYuMDAxIDY5LjQgMzM2LjIwMSA2NS4yIDM0My40MDEgNjguOEMzNDMuNDAxIDY4LjggMzUyLjYwMSA3MS40IDM1OC44MDEgNzcuNkMzNTguODAxIDc3LjYgMzcwLjAwMSA4MC44IDM3My4yMDEgNzkuOEMzNzMuMjAxIDc5LjggMzgyLjAwMSA4MiAzODIuNDAxIDgzLjhDMzgyLjQwMSA4My44IDM4OC4yMDEgODYuOCAzODYuNDAxIDg5LjRDMzg2LjQwMSA4OS40IDM4Ni44MDEgOTEgMzgwLjgwMSA5My42eicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICNjYzcyMjYnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTM2OC4zMyA5MS40OTFDMzY5LjEzNyA5Mi4xMjMgMzcwLjE1NiA5Mi4yMjEgMzcwLjc2MSA5My4wM0MzNzAuOTk1IDkzLjM0NCAzNzAuNzA2IDkzLjY3IDM3MC4zOTEgOTMuNzY3QzM2OS4zNDggOTQuMDg0IDM2OC4yOTIgOTMuNTE0IDM2Ny4xNSA5NC4xMDJDMzY2Ljc0OCA5NC4zMDkgMzY2LjEwNiA5NC4xMjcgMzY1LjU1MyA5My45NzhDMzYzLjkyMSA5My41MzcgMzYyLjA5MiA5My41MTIgMzYwLjQwMSA5NC4yQzM1OC40MTYgOTMuMDcxIDM1Ni4wNTYgOTMuNjU1IDM1My45NzUgOTIuNjU0QzM1My45MTcgOTIuNjI3IDM1My42OTUgOTIuOTczIDM1My42MjEgOTIuOTQ2QzM1MC41NzUgOTEuODAxIDM0Ni44MzIgOTIuMDg0IDM0NC40MDEgODkuOEMzNDEuOTczIDg5LjM4OCAzMzkuNjE2IDg4LjkyNiAzMzcuMTg4IDg4LjI0NkMzMzUuMzcgODcuNzM3IDMzMy45NjEgODYuNzQ4IDMzMi4zNDEgODUuOTE2QzMzMC45NjQgODUuMjA4IDMyOS41MDcgODQuNjg2IDMyNy45NzMgODQuMzE0QzMyNi4xMSA4My44NjIgMzI0LjI3OSA4My45NzQgMzIyLjM4NiA4My40NTRDMzIyLjI5MyA4My40MjkgMzIyLjEwMSA4My43NzMgMzIyLjAxOSA4My43NDZDMzIxLjY5NSA4My42MzggMzIxLjQwNSA4My4wNTUgMzIxLjIzNCA4My4xMDhDMzE5LjU1MyA4My42MyAzMTguMDY1IDgyLjY1OCAzMTYuNDAxIDgzQzMxNS4yMjMgODEuNzc2IDMxMy40OTUgODIuMDIxIDMxMS45NDkgODEuNTc5QzMwOC45ODUgODAuNzMxIDMwNS44MzEgODIuMDAxIDMwMi44MDEgODFDMzA2LjkxNCA3OS4xNTggMzExLjYwMSA4MC4zOSAzMTUuNjYzIDc4LjMyMUMzMTcuOTkxIDc3LjEzNSAzMjAuNjUzIDc4LjIzNyAzMjMuMjIzIDc3LjQ3N0MzMjMuNzEgNzcuMzMzIDMyNC40MDEgNzcuMTMxIDMyNC44MDEgNzcuOEMzMjQuOTM1IDc3LjY2NSAzMjUuMTE3IDc3LjQyNiAzMjUuMTc1IDc3LjQ1NEMzMjcuNjI1IDc4LjYxMSAzMjkuOTQgNzkuODg1IDMzMi40MjIgODAuOTUxQzMzMi43NjMgODEuMDk3IDMzMy4yOTUgODAuODY1IDMzMy41NDcgODEuMDY3QzMzNS4wNjcgODIuMjgzIDMzNy4wMSA4Mi4xOCAzMzguNDAxIDgzLjRDMzQwLjA5OSA4Mi44OTggMzQxLjg5MiA4My4yNzggMzQzLjYyMSA4Mi42NTRDMzQzLjY5OCA4Mi42MjcgMzQzLjkzMiA4Mi45NjggMzQzLjk2NSA4Mi45NDZDMzQ1LjA5NSA4Mi4xOTggMzQ2LjI1IDgyLjQ2OSAzNDcuMTQyIDgyLjc3M0MzNDcuNDggODIuODg4IDM0OC4xNDMgODMuMTM1IDM0OC40NDggODMuMjA5QzM0OS41NzQgODMuNDg1IDM1MC40MyA4My45NjUgMzUxLjYwOSA4NC4xNDhDMzUxLjcyMyA4NC4xNjYgMzUxLjkwOCA4My44MjYgMzUxLjk4IDgzLjg1NEMzNTMuMTAzIDg0LjI5MiAzNTQuMTQ1IDg0LjIzNiAzNTQuODAxIDg1LjRDMzU0LjkzNiA4NS4yNjUgMzU1LjEwMSA4NS4wMjcgMzU1LjE4MyA4NS4wNTRDMzU2LjIxIDg1LjM5MiAzNTYuODU5IDg2LjE0NyAzNTcuOTYgODYuMzg4QzM1OC40NDUgODYuNDk0IDM1OS4wNTcgODcuMTIgMzU5LjYzMyA4Ny4yOTZDMzYyLjAyNSA4OC4wMjcgMzYzLjg2OCA4OS41NTYgMzY2LjA2MiA5MC40NTFDMzY2LjgyMSA5MC43NjEgMzY3LjY5NyA5MC45OTUgMzY4LjMzIDkxLjQ5MXonKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjY2M3MjI2JykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J00yOTEuNjk2IDc3LjI2MUMyODkuMTc4IDc1LjUzNiAyODYuODEgNzQuNDMgMjg0LjM2OCA3Mi42NDRDMjg0LjE4NyA3Mi41MTEgMjgzLjgyNyA3Mi42ODEgMjgzLjYyNSA3Mi41NTlDMjgyLjYxOCA3MS45NSAyODEuNzMgNzEuMzY5IDI4MC43NDggNzAuNjczQzI4MC4yMDkgNzAuMjkxIDI3OS4zODggNzAuMzAyIDI3OC44OCA3MC4wNDRDMjc2LjMzNiA2OC43NTIgMjczLjcwNyA2OC4xOTQgMjcxLjIgNjdDMjcxLjg4MiA2Ni4zNjIgMjczLjAwNCA2Ni42MDYgMjczLjYgNjUuOEMyNzMuNzk1IDY2LjA4IDI3NC4wMzMgNjYuMzY0IDI3NC4zODYgNjYuMTczQzI3Ni4wNjQgNjUuMjY5IDI3Ny45MTQgNjUuMTE2IDI3OS41OSA2NS4yMDZDMjgxLjI5NCA2NS4yOTggMjgzLjAxNCA2NS42MDMgMjg0Ljc4OSA2NS44NzVDMjg1LjA5NiA2NS45MjIgMjg1LjI5NSA2Ni40NDUgMjg1LjYxOCA2Ni41NDJDMjg3Ljg0NiA2Ny4yMDUgMjkwLjIzNSA2Ni42OCAyOTIuMzU0IDY3LjUxOEMyOTMuOTQ1IDY4LjE0NyAyOTUuNTE1IDY4Ljk3IDI5Ni43NTQgNzAuMjQ1QzI5Ny4wMDYgNzAuNTA1IDI5Ni42ODEgNzAuODA2IDI5Ni40MDEgNzFDMjk2Ljc4OSA3MC44OTEgMjk3LjA2MiA3MS4wOTcgMjk3LjE3MyA3MS40MUMyOTcuMjU3IDcxLjY0OSAyOTcuMjU3IDcxLjk1MSAyOTcuMTczIDcyLjE5QzI5Ny4wNjEgNzIuNTAyIDI5Ni43ODIgNzIuNjAzIDI5Ni40MDggNzIuNjU0QzI5NS4wMDEgNzIuODQ0IDI5Ni43NzMgNzEuNDY0IDI5Ni4wNzMgNzEuOTEyQzI5NC44IDcyLjcyNiAyOTUuNTQ2IDc0LjEzMiAyOTQuODAxIDc1LjRDMjk0LjUyMSA3NS4yMDYgMjk0LjI5MSA3NC45ODggMjk0LjQwMSA3NC42QzI5NC42MzUgNzUuMTIyIDI5NC4wMzMgNzUuNDEyIDI5My44NjUgNzUuNzI4QzI5My40OCA3Ni40NTMgMjkyLjU4MSA3Ny44NjggMjkxLjY5NiA3Ny4yNjF6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogI2NjNzIyNicpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMjU5LjE5OCA4NC42MDlDMjU2LjA0NCA4My44MTUgMjUyLjk5NCA4My45MyAyNDkuOTc4IDgyLjY1NEMyNDkuOTExIDgyLjYyNiAyNDkuNjg4IDgyLjk3MyAyNDkuNjI0IDgyLjk0NkMyNDguMjU4IDgyLjM1MiAyNDcuMzQgODEuMzg2IDI0Ni4yNjQgODAuMzRDMjQ1LjM1MSA3OS40NTIgMjQzLjY5MyA3OS44MzkgMjQyLjQxOSA3OS4zNTJDMjQyLjA5NSA3OS4yMjggMjQxLjg5MiA3OC43MTYgMjQxLjU5MSA3OC42NzdDMjQwLjM3MiA3OC41MiAyMzkuNDQ1IDc3LjU3MSAyMzguNCA3N0MyNDAuNzM2IDc2LjIwNSAyNDMuMTQ3IDc2LjIzNiAyNDUuNjA5IDc1Ljg1MkMyNDUuNzIyIDc1LjgzNCAyNDUuODY3IDc2LjE1NSAyNDYgNzYuMTU1QzI0Ni4xMzYgNzYuMTU1IDI0Ni4yNjYgNzUuOTM0IDI0Ni40IDc1LjhDMjQ2LjU5NSA3Ni4wOCAyNDYuODk3IDc2LjQwNiAyNDcuMTU0IDc2LjE1MkMyNDcuNzAyIDc1LjYxMiAyNDguMjU4IDc1LjgwMiAyNDguNzk4IDc1Ljg0MkMyNDguOTQyIDc1Ljg1MiAyNDkuMDY3IDc2LjE1NSAyNDkuMiA3Ni4xNTVDMjQ5LjMzNiA3Ni4xNTUgMjQ5LjQ2NyA3NS44NDQgMjQ5LjYgNzUuODQ0QzI0OS43MzYgNzUuODQ1IDI0OS44NjcgNzYuMTU1IDI1MCA3Ni4xNTVDMjUwLjEzNiA3Ni4xNTUgMjUwLjI2NiA3NS45MzQgMjUwLjQgNzUuOEMyNTEuMDkyIDc2LjU4MiAyNTEuOTc3IDc2LjAyOCAyNTIuNzk5IDc2LjIwN0MyNTMuODM3IDc2LjQzNCAyNTQuMTA0IDc3LjU4MiAyNTUuMTc4IDc3Ljg4QzI1OS44OTMgNzkuMTg0IDI2NC4wMyA4MS4zMjkgMjY4LjM5MyA4My40MTZDMjY4LjcgODMuNTYzIDI2OC45MSA4My44MTEgMjY4LjggODQuMkMyNjkuMDY3IDg0LjIgMjY5LjM4IDg0LjExMiAyNjkuNTcgODQuMjQ0QzI3MC42MjggODQuOTc2IDI3MS42NjkgODUuNTI0IDI3Mi4zNjYgODYuNjIyQzI3Mi41ODIgODYuOTYxIDI3Mi4yNTMgODcuMzY4IDI3Mi4wMiA4Ny4zMTZDMjY3LjU5MSA4Ni4zMjEgMjYzLjU4NSA4NS43MTMgMjU5LjE5OCA4NC42MDl6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogI2NjNzIyNicpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMjQ1LjMzOCAxMjguODIxQzI0My43NDYgMTI3LjYwMiAyNDMuMTYyIDEyNS41NzEgMjQyLjAzNCAxMjMuNzc5QzI0MS44MiAxMjMuNDM5IDI0Mi4wOTQgMTIzLjEyNSAyNDIuNDExIDEyMy4wMzZDMjQyLjk3MSAxMjIuODc3IDI0My41MTQgMTIzLjM1NSAyNDMuOTIzIDEyMy41NTdDMjQ1LjY2OCAxMjQuNDE5IDI0Ny4yMDMgMTI1LjY2MSAyNDkuMiAxMjUuOEMyNTEuMTkgMTI4LjAzNCAyNTUuNDUgMTI4LjQxOSAyNTUuNDU3IDEzMS44QzI1NS40NTggMTMyLjY1OSAyNTQuMDMgMTMxLjc0MSAyNTMuNiAxMzIuNkMyNTEuMTQ5IDEzMS41OTcgMjQ4Ljc2IDEzMS43IDI0Ni4zOCAxMzAuMjMzQzI0NS43NjMgMTI5Ljg1MiAyNDYuMDkzIDEyOS4zOTkgMjQ1LjMzOCAxMjguODIxeicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICNjYzcyMjYnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTIxNy44IDc2LjI0NEMyMTcuOTM1IDc2LjI0NSAyMjQuOTY2IDc2LjQ3OCAyMjQuOTQ5IDc2LjU5MkMyMjQuOTA0IDc2LjkwMSAyMTcuMTc0IDc3Ljk1IDIxNi44MSA3Ny43OEMyMTYuNjQ2IDc3LjcwNCAyMDkuMTM0IDgwLjEzNCAyMDkgODBDMjA5LjI2OCA3OS44NjUgMjE3LjUzNCA3Ni4yNDQgMjE3LjggNzYuMjQ0eicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICMwMDAwMDAnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTIzMy4yIDg2QzIzMy4yIDg2IDIxOC40IDg3LjggMjE0IDg5QzIwOS42IDkwLjIgMTkxIDk3LjggMTg4IDk5LjhDMTg4IDk5LjggMTc0LjYgMTA1LjIgMTU3LjYgMTI1LjJDMTU3LjYgMTI1LjIgMTY1LjIgMTIxLjggMTY3LjQgMTE5QzE2Ny40IDExOSAxODEgMTA2LjQgMTgwLjggMTA5QzE4MC44IDEwOSAxOTMgMTAwLjQgMTkyLjQgMTAyLjZDMTkyLjQgMTAyLjYgMjE2LjggOTEuNCAyMTQuOCA5NC42QzIxNC44IDk0LjYgMjM2LjQgOTAgMjM1LjQgOTJDMjM1LjQgOTIgMjU0LjIgOTYuNCAyNTEuNCA5Ni42QzI1MS40IDk2LjYgMjQ1LjYgOTcuOCAyNTIgMTAxLjRDMjUyIDEwMS40IDI0OC42IDEwNS44IDI0My4yIDEwMS44QzIzNy44IDk3LjggMjQwLjggMTAwIDIzNS44IDEwMUMyMzUuOCAxMDEgMjMzLjIgMTAxLjggMjI4LjYgOTcuOEMyMjguNiA5Ny44IDIyMyA5My4yIDIxNC4yIDk2LjhDMjE0LjIgOTYuOCAxODMuNiAxMDkuNCAxODEuNiAxMTBDMTgxLjYgMTEwIDE3OCAxMTIuOCAxNzUuNiAxMTYuNEMxNzUuNiAxMTYuNCAxNjkuOCAxMjAuOCAxNjYuOCAxMjIuMkMxNjYuOCAxMjIuMiAxNTQgMTMzLjggMTUyLjggMTM1LjJDMTUyLjggMTM1LjIgMTQ5LjQgMTQwLjQgMTQ4LjYgMTQwLjhDMTQ4LjYgMTQwLjggMTU1IDEzNyAxNTcgMTM1QzE1NyAxMzUgMTcxIDEyNSAxNzYuNCAxMjQuMkMxNzYuNCAxMjQuMiAxODAuOCAxMjEuMiAxODEuNiAxMTkuOEMxODEuNiAxMTkuOCAxOTYgMTEwLjYgMjAwLjIgMTEwLjZDMjAwLjIgMTEwLjYgMjA5LjQgMTE1LjggMjExLjggMTA4LjhDMjExLjggMTA4LjggMjE3LjYgMTA3IDIyMy4yIDEwOC4yQzIyMy4yIDEwOC4yIDIyNi40IDEwNS42IDIyNS42IDEwMy40QzIyNS42IDEwMy40IDIyNy4yIDEwMS42IDIyOC4yIDEwNS40QzIyOC4yIDEwNS40IDIzMS42IDEwOSAyMzYuNCAxMDdDMjM2LjQgMTA3IDI0MC40IDEwNi44IDIzOC40IDEwOS4yQzIzOC40IDEwOS4yIDIzNCAxMTMgMjIyLjIgMTEzLjJDMjIyLjIgMTEzLjIgMjA5LjggMTEzLjggMTkzLjQgMTIxLjRDMTkzLjQgMTIxLjQgMTYzLjYgMTMxLjggMTU0LjQgMTQyLjJDMTU0LjQgMTQyLjIgMTQ4IDE1MSAxNDIuNiAxNTIuMkMxNDIuNiAxNTIuMiAxMzYuOCAxNTMgMTMwLjggMTYwLjRDMTMwLjggMTYwLjQgMTQwLjYgMTU0LjYgMTQ5LjYgMTU0LjZDMTQ5LjYgMTU0LjYgMTUzLjYgMTUyLjIgMTQ5LjggMTU1LjhDMTQ5LjggMTU1LjggMTQ2LjIgMTYzLjQgMTQ3LjggMTY4LjhDMTQ3LjggMTY4LjggMTQ3LjIgMTc0IDE0Ni40IDE3NS42QzE0Ni40IDE3NS42IDEzOC42IDE4OC40IDEzOC42IDE5MC44QzEzOC42IDE5My4yIDEzOS44IDIwMyAxNDAuMiAyMDMuNkMxNDAuNiAyMDQuMiAxMzkuMiAyMDIgMTQzIDIwNC40QzE0Ni44IDIwNi44IDE0OS42IDIwOC40IDE1MC40IDIxMS4yQzE1MS4yIDIxNCAxNDguNCAyMDUuOCAxNDguMiAyMDRDMTQ4IDIwMi4yIDE0My44IDE5NSAxNDQuNiAxOTIuNkMxNDQuNiAxOTIuNiAxNDUuNiAxOTMuNiAxNDYuNCAxOTVDMTQ2LjQgMTk1IDE0NS44IDE5NC40IDE0Ni40IDE5MC44QzE0Ni40IDE5MC44IDE0Ny4yIDE4NS42IDE0OC42IDE4Mi40QzE1MCAxNzkuMiAxNTIgMTc1LjQgMTUyLjQgMTc0LjZDMTUyLjggMTczLjggMTUyLjggMTY4IDE1NC4yIDE3MC42TDE1Ny42IDE3My4yQzE1Ny42IDE3My4yIDE1NC44IDE3MC42IDE1NyAxNjguNEMxNTcgMTY4LjQgMTU2IDE2Mi44IDE1Ny44IDE2MC4yQzE1Ny44IDE2MC4yIDE2NC44IDE1MS44IDE2Ni40IDE1MC44QzE2OCAxNDkuOCAxNjYuNiAxNTAuMiAxNjYuNiAxNTAuMkMxNjYuNiAxNTAuMiAxNzIuNiAxNDYgMTY2LjggMTQ3LjZDMTY2LjggMTQ3LjYgMTYyLjggMTQ5LjIgMTU5LjggMTQ5LjJDMTU5LjggMTQ5LjIgMTUyLjIgMTUxLjIgMTU2LjIgMTQ3QzE2MC4yIDE0Mi44IDE3MC4yIDEzNy40IDE3NCAxMzcuNkwxNzQuOCAxMzkuMkwxODYgMTM2LjhMMTg0LjggMTM3LjZDMTg0LjggMTM3LjYgMTg0LjYgMTM3LjQgMTg4LjggMTM3QzE5MyAxMzYuNiAxOTguOCAxMzggMjAwLjIgMTM2LjJDMjAxLjYgMTM0LjQgMjA1IDEzMy40IDIwNC42IDEzNC44QzIwNC4yIDEzNi4yIDIwNCAxMzguMiAyMDQgMTM4LjJDMjA0IDEzOC4yIDIwOSAxMzIuNCAyMDguNCAxMzQuNkMyMDcuOCAxMzYuOCAxOTkuNiAxNDIgMTk4LjIgMTQ4LjJMMjA4LjYgMTQwTDIxMi4yIDEzN0MyMTIuMiAxMzcgMjE1LjggMTM5LjIgMjE2IDEzNy42QzIxNi4yIDEzNiAyMjAuOCAxMzAuMiAyMjIgMTMwLjRDMjIzLjIgMTMwLjYgMjI1LjIgMTI3LjggMjI1IDEzMC40QzIyNC44IDEzMyAyMzIuNCAxMzguNCAyMzIuNCAxMzguNEMyMzIuNCAxMzguNCAyMzUuNiAxMzYuNiAyMzcgMTM4QzIzOC40IDEzOS40IDI0Mi42IDExOC4yIDI0Mi42IDExOC4yTDI2Ny42IDEwNy42TDMxMS4yMDEgMTA0LjJMMjk0LjIwMSA5Ny40TDIzMy4yIDg2eicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J3N0cm9rZTojNGMwMDAwOyBzdHJva2Utd2lkdGg6MicpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMjUxLjQgMjg1QzI1MS40IDI4NSAyMzYuNCAyNjguMiAyMjggMjY1LjZDMjI4IDI2NS42IDIxNC42IDI1OC44IDE5MCAyNjYuNicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J3N0cm9rZTojNGMwMDAwOyBzdHJva2Utd2lkdGg6MicpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMjI0LjggMjY0LjJDMjI0LjggMjY0LjIgMTk5LjYgMjU2LjIgMTg0LjIgMjYwLjRDMTg0LjIgMjYwLjQgMTY1LjggMjYyLjQgMTU3LjQgMjc2LjInKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdzdHJva2U6IzRjMDAwMDsgc3Ryb2tlLXdpZHRoOjInKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTIyMS4yIDI2M0MyMjEuMiAyNjMgMjA0LjIgMjU1LjggMTg5LjQgMjUzLjZDMTg5LjQgMjUzLjYgMTcyLjggMjUxIDE1Ni4yIDI1OC4yQzE1Ni4yIDI1OC4yIDE0NCAyNjQuMiAxMzguNiAyNzQuNCcpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J3N0cm9rZTojNGMwMDAwOyBzdHJva2Utd2lkdGg6MicpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMjIyLjIgMjYzLjRDMjIyLjIgMjYzLjQgMjA2LjggMjUyLjQgMjA1LjggMjUxQzIwNS44IDI1MSAxOTguOCAyNDAgMTg1LjggMjM5LjZDMTg1LjggMjM5LjYgMTY0LjQgMjQwLjQgMTQ3LjIgMjQ4LjQnKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjMDAwMDAwJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J00yMjAuODk1IDI1NC40MDdDMjIyLjQzNyAyNTUuODcgMjQ5LjQgMjg0LjggMjQ5LjQgMjg0LjhDMjg0LjYgMzIxLjQwMSAyNTYuNiAyODcuMiAyNTYuNiAyODcuMkMyNDkgMjgyLjQgMjM5LjggMjYzLjYgMjM5LjggMjYzLjZDMjM4LjYgMjYwLjggMjUzLjggMjcwLjggMjUzLjggMjcwLjhDMjU3LjggMjcxLjYgMjcxLjQgMjkwLjggMjcxLjQgMjkwLjhDMjY0LjYgMjg4LjQgMjY5LjQgMjk1LjYgMjY5LjQgMjk1LjZDMjcyLjIgMjk3LjYgMjkyLjYwMSAzMTMuMjAxIDI5Mi42MDEgMzEzLjIwMUMyOTYuMjAxIDMxNy4yMDEgMzAwLjIwMSAzMTguODAxIDMwMC4yMDEgMzE4LjgwMUMzMTQuMjAxIDMxMy42MDEgMzA3LjgwMSAzMjYuODAxIDMwNy44MDEgMzI2LjgwMUMzMTAuMjAxIDMzMy42MDEgMzE1LjgwMSAzMjIuMDAxIDMxNS44MDEgMzIyLjAwMUMzMjcuMDAxIDMwNS4yIDMxMC42MDEgMzA3LjYwMSAzMTAuNjAxIDMwNy42MDFDMjgwLjYgMzEwLjQwMSAyNzMuOCAyOTQuNCAyNzMuOCAyOTQuNEMyNzEuNCAyOTIgMjgwLjIgMjk0LjQgMjgwLjIgMjk0LjRDMjg4LjYwMSAyOTYuNCAyNzMgMjgyIDI3MyAyODJDMjc1LjQgMjgyIDI4NC42IDI4OC44IDI4NC42IDI4OC44QzI5NS4wMDEgMjk4IDI5Ny4wMDEgMjk2IDI5Ny4wMDEgMjk2QzMxNS4wMDEgMjg3LjIgMzI1LjQwMSAyOTQuOCAzMjUuNDAxIDI5NC44QzMyNy40MDEgMjk2LjQgMzIxLjgwMSAzMDMuMiAzMjMuNDAxIDMwOC40MDFDMzI1LjAwMSAzMTMuNjAxIDMyOS44MDEgMzI2LjAwMSAzMjkuODAxIDMyNi4wMDFDMzI3LjQwMSAzMjcuNjAxIDMyNy44MDEgMzM4LjQwMSAzMjcuODAxIDMzOC40MDFDMzQ0LjYwMSAzNjEuNjAxIDMzNS4wMDEgMzU5LjYwMSAzMzUuMDAxIDM1OS42MDFDMzE5LjQwMSAzNTkuMjAxIDMzNC4yMDEgMzY2LjgwMSAzMzQuMjAxIDM2Ni44MDFDMzM3LjQwMSAzNjguODAxIDM0Ni4yMDEgMzc2LjAwMSAzNDYuMjAxIDM3Ni4wMDFDMzQzLjQwMSAzNzQuODAxIDM0MS44MDEgMzgwLjAwMSAzNDEuODAxIDM4MC4wMDFDMzQ2LjYwMSAzODQuMDAxIDM0My44MDEgMzg4LjgwMSAzNDMuODAxIDM4OC44MDFDMzM3LjgwMSAzOTAuMDAxIDMzNi42MDEgMzk0LjAwMSAzMzYuNjAxIDM5NC4wMDFDMzQzLjQwMSA0MDIuMDAxIDMzMy40MDEgNDAyLjQwMSAzMzMuNDAxIDQwMi40MDFDMzM3LjAwMSA0MDYuODAxIDMzMi4yMDEgNDE4LjgwMSAzMzIuMjAxIDQxOC44MDFDMzI3LjQwMSA0MTguODAxIDMyMS4wMDEgNDI0LjQwMSAzMjEuMDAxIDQyNC40MDFDMzIzLjQwMSA0MjkuMjAxIDMxMy4wMDEgNDM0LjgwMSAzMTMuMDAxIDQzNC44MDFDMzA0LjYwMSA0MzYuNDAxIDMwNy40MDEgNDQzLjIwMSAzMDcuNDAxIDQ0My4yMDFDMjk5LjQwMSA0NDkuMjAxIDI5Ny4wMDEgNDY1LjIwMSAyOTcuMDAxIDQ2NS4yMDFDMjk2LjIwMSA0NzUuNjAxIDI5My44MDEgNDc4LjgwMSAyOTkuMDAxIDQ3Ni44MDFDMzA0LjIwMSA0NzQuODAxIDMwMy40MDEgNDYyLjQwMSAzMDMuNDAxIDQ2Mi40MDFDMjk4LjYwMSA0NDYuODAxIDM0MS40MDEgNDMwLjgwMSAzNDEuNDAxIDQzMC44MDFDMzQ1LjQwMSA0MjkuMjAxIDM0Ni4yMDEgNDI0LjAwMSAzNDYuMjAxIDQyNC4wMDFDMzQ4LjIwMSA0MjQuNDAxIDM1Ny4wMDEgNDMyLjAwMSAzNTcuMDAxIDQzMi4wMDFDMzY0LjYwMSA0NDMuMjAxIDM2NS4wMDEgNDM0LjAwMSAzNjUuMDAxIDQzNC4wMDFDMzY2LjIwMSA0MzAuNDAxIDM2NC42MDEgNDI0LjQwMSAzNjQuNjAxIDQyNC40MDFDMzcwLjYwMSA0MDIuODAxIDM1Ni42MDEgMzk2LjQwMSAzNTYuNjAxIDM5Ni40MDFDMzQ2LjYwMSAzNjIuODAxIDM2MC42MDEgMzcxLjIwMSAzNjAuNjAxIDM3MS4yMDFDMzYzLjQwMSAzNzYuODAxIDM3NC4yMDEgMzgyLjAwMSAzNzQuMjAxIDM4Mi4wMDFMMzc3LjgwMSAzNzkuNjAxQzM3Ni4yMDEgMzc0LjgwMSAzODQuNjAxIDM2OC44MDEgMzg0LjYwMSAzNjguODAxQzM4Ny40MDEgMzc1LjIwMSAzOTMuNDAxIDM2Ny4yMDEgMzkzLjQwMSAzNjcuMjAxQzM5Ny4wMDEgMzQyLjgwMSA0MDkuNDAxIDM1Ny4yMDEgNDA5LjQwMSAzNTcuMjAxQzQxMy40MDEgMzU4LjQwMSA0MTQuNjAxIDM1MS42MDEgNDE0LjYwMSAzNTEuNjAxQzQxOC4yMDEgMzQxLjIwMSA0MTQuNjAxIDMyNy42MDEgNDE0LjYwMSAzMjcuNjAxQzQxOC4yMDEgMzI3LjIwMSA0MjcuODAxIDMzMy4yMDEgNDI3LjgwMSAzMzMuMjAxQzQzMC42MDEgMzI5LjYwMSA0MjEuNDAxIDMxMi44MDEgNDI1LjQwMSAzMTUuMjAxQzQyOS40MDEgMzE3LjYwMSA0MzMuODAxIDMxOS4yMDEgNDMzLjgwMSAzMTkuMjAxQzQzNC42MDEgMzE3LjIwMSA0MjQuNjAxIDMwNC44MDEgNDI0LjYwMSAzMDQuODAxQzQyMC4yMDEgMzAyIDQxNS4wMDEgMjgxLjYgNDE1LjAwMSAyODEuNkM0MjIuMjAxIDI4NS4yIDQxMi4yMDEgMjcwIDQxMi4yMDEgMjcwQzQxMi4yMDEgMjY2LjggNDE4LjIwMSAyNTUuNiA0MTguMjAxIDI1NS42QzQxNy40MDEgMjQ4LjggNDE4LjIwMSAyNDkuMiA0MTguMjAxIDI0OS4yQzQyMS4wMDEgMjUwLjQgNDI5LjAwMSAyNTIgNDIyLjIwMSAyNDUuNkM0MTUuNDAxIDIzOS4yIDQyMy4wMDEgMjM0LjQgNDIzLjAwMSAyMzQuNEM0MjcuNDAxIDIzMS42IDQxMy44MDEgMjMyIDQxMy44MDEgMjMyQzQwOC42MDEgMjI3LjYgNDA5LjAwMSAyMjMuNiA0MDkuMDAxIDIyMy42QzQxNy4wMDEgMjI1LjYgNDAyLjYwMSAyMTEuMiA0MDAuMjAxIDIwNy42QzM5Ny44MDEgMjA0IDQwNy40MDEgMTk4LjggNDA3LjQwMSAxOTguOEM0MjAuNjAxIDE5NS4yIDQwOS4wMDEgMTkyIDQwOS4wMDEgMTkyQzM4OS40MDEgMTkyLjQgNDAwLjIwMSAxODEuNiA0MDAuMjAxIDE4MS42QzQwNi4yMDEgMTgyIDQwNC42MDEgMTc5LjYgNDA0LjYwMSAxNzkuNkMzOTkuNDAxIDE3OC40IDM4OS44MDEgMTcyIDM4OS44MDEgMTcyQzM4NS44MDEgMTY4LjQgMzg5LjQwMSAxNjkuMiAzODkuNDAxIDE2OS4yQzQwNi4yMDEgMTcwLjQgMzc3LjQwMSAxNTkuMiAzNzcuNDAxIDE1OS4yQzM4NS40MDEgMTU5LjIgMzY3LjQwMSAxNDguOCAzNjcuNDAxIDE0OC44QzM2NS40MDEgMTQ3LjIgMzYyLjIwMSAxMzkuNiAzNjIuMjAxIDEzOS42QzM1Ni4yMDEgMTM0LjQgMzUxLjQwMSAxMjcuNiAzNTEuNDAxIDEyNy42QzM1MS4wMDEgMTIzLjIgMzQ2LjIwMSAxMTguNCAzNDYuMjAxIDExOC40QzMzNC42MDEgMTA0LjggMzI5LjAwMSAxMDUuMiAzMjkuMDAxIDEwNS4yQzMxNC4yMDEgMTAxLjYgMzA5LjAwMSAxMDIuNCAzMDkuMDAxIDEwMi40TDI1Ni4yIDEwNi44QzIyOS44IDExOS42IDIzNy42IDE0MC42IDIzNy42IDE0MC42QzI0NCAxNDkgMjUzLjIgMTQ1LjIgMjUzLjIgMTQ1LjJDMjU3LjggMTM5IDI2OS40IDE0MS4yIDI2OS40IDE0MS4yQzI4OS44MDEgMTQ0LjQgMjg3LjIwMSAxNDAuOCAyODcuMjAxIDE0MC44QzI4NC44MDEgMTM2LjIgMjY4LjYgMTMwIDI2OC40IDEyOS40QzI2OC4yIDEyOC44IDI1OS40IDEyNS40IDI1OS40IDEyNS40QzI1Ni40IDEyNC4yIDI1MiAxMTUgMjUyIDExNUMyNDguOCAxMTEuNiAyNjQuNiAxMTcuNCAyNjQuNiAxMTcuNEMyNjMuNCAxMTguNCAyNzAuOCAxMjIuNCAyNzAuOCAxMjIuNEMyODguMjAxIDEyMS40IDI5OC44MDEgMTMyLjIgMjk4LjgwMSAxMzIuMkMzMDkuNjAxIDE0OC44IDMwOS44MDEgMTQwLjYgMzA5LjgwMSAxNDAuNkMzMTIuNjAxIDEzMS4yIDMwMC44MDEgMTEwIDMwMC44MDEgMTEwQzMwMS4yMDEgMTA4IDMwOS40MDEgMTE0LjYgMzA5LjQwMSAxMTQuNkMzMTAuODAxIDExMi42IDMxMS42MDEgMTE4LjQgMzExLjYwMSAxMTguNEMzMTEuODAxIDEyMC44IDMxNS42MDEgMTI4LjggMzE1LjYwMSAxMjguOEMzMTguNDAxIDE0MS44IDMyMi4wMDEgMTM0LjQgMzIyLjAwMSAxMzQuNEwzMjYuNjAxIDE0My44QzMyOC4wMDEgMTQ2LjQgMzIyLjAwMSAxNTQgMzIyLjAwMSAxNTRDMzIxLjgwMSAxNTYuOCAzMjIuNjAxIDE1Ni42IDMxNy4wMDEgMTY0LjJDMzExLjQwMSAxNzEuOCAzMTQuODAxIDE3Ni4yIDMxNC44MDEgMTc2LjJDMzEzLjQwMSAxODIuOCAzMjIuMjAxIDE4Mi40IDMyMi4yMDEgMTgyLjRDMzI0LjgwMSAxODQuNiAzMjguMjAxIDE4NC42IDMyOC4yMDEgMTg0LjZDMzMwLjAwMSAxODYuNiAzMzIuNDAxIDE4NiAzMzIuNDAxIDE4NkMzMzQuMDAxIDE4Mi4yIDM0MC4yMDEgMTg0LjIgMzQwLjIwMSAxODQuMkMzNDEuNjAxIDE4MS44IDM0OS44MDEgMTgxLjQgMzQ5LjgwMSAxODEuNEMzNTAuODAxIDE3OC44IDM1MS4yMDEgMTc3LjIgMzU0LjYwMSAxNzYuNkMzNTguMDAxIDE3NiAzMzMuNDAxIDEzMyAzMzMuNDAxIDEzM0MzMzkuODAxIDEzMi4yIDMzMS42MDEgMTE5LjggMzMxLjYwMSAxMTkuOEMzMjkuNDAxIDExMy4yIDM0MC44MDEgMTI3LjggMzQzLjAwMSAxMjkuMkMzNDUuMjAxIDEzMC42IDM0Ni4yMDEgMTMyLjggMzQ0LjYwMSAxMzIuNkMzNDMuMDAxIDEzMi40IDM0MS4yMDEgMTM0LjYgMzQyLjYwMSAxMzQuOEMzNDQuMDAxIDEzNSAzNTcuMDAxIDE1MCAzNjAuNDAxIDE2MC4yQzM2My44MDEgMTcwLjQgMzY5LjgwMSAxNzQuNCAzNzYuMDAxIDE4MC40QzM4Mi4yMDEgMTg2LjQgMzgxLjQwMSAyMTAuNiAzODEuNDAxIDIxMC42QzM4MS4wMDEgMjE5LjQgMzg3LjAwMSAyMzAgMzg3LjAwMSAyMzBDMzg5LjAwMSAyMzMuOCAzODQuODAxIDI1MiAzODQuODAxIDI1MkMzODIuODAxIDI1NC4yIDM4NC4yMDEgMjU1IDM4NC4yMDEgMjU1QzM4NS4yMDEgMjU2LjIgMzkyLjAwMSAyNjkuNCAzOTIuMDAxIDI2OS40QzM5MC4yMDEgMjY5LjIgMzkzLjgwMSAyNzIuOCAzOTMuODAxIDI3Mi44QzM5OS4wMDEgMjc4LjggMzkyLjYwMSAyNzUuOCAzOTIuNjAxIDI3NS44QzM4Ni42MDEgMjc0LjIgMzkzLjYwMSAyODQgMzkzLjYwMSAyODRDMzk0LjgwMSAyODUuOCAzODUuODAxIDI4MS4yIDM4NS44MDEgMjgxLjJDMzc2LjYwMSAyODAuNiAzODguMjAxIDI4Ny44IDM4OC4yMDEgMjg3LjhDMzk2LjgwMSAyOTUgMzg1LjQwMSAyOTAuNiAzODUuNDAxIDI5MC42QzM4MC44MDEgMjg4LjggMzg0LjAwMSAyOTUuNiAzODQuMDAxIDI5NS42QzM4Ny4yMDEgMjk3LjIgNDA0LjQwMSAzMDQuMiA0MDQuNDAxIDMwNC4yQzQwNC44MDEgMzA4LjAwMSA0MDEuODAxIDMxMy4wMDEgNDAxLjgwMSAzMTMuMDAxQzQwMi4yMDEgMzE3LjAwMSA0MDAuMDAxIDMyMC40MDEgNDAwLjAwMSAzMjAuNDAxQzM5OC44MDEgMzI4LjYwMSAzOTguMjAxIDMyOS40MDEgMzk4LjIwMSAzMjkuNDAxQzM5NC4wMDEgMzI5LjYwMSAzODYuNjAxIDM0My40MDEgMzg2LjYwMSAzNDMuNDAxQzM4NC44MDEgMzQ2LjAwMSAzNzQuNjAxIDM1OC4wMDEgMzc0LjYwMSAzNTguMDAxQzM3Mi42MDEgMzY1LjAwMSAzNTQuNjAxIDM1Ny44MDEgMzU0LjYwMSAzNTcuODAxQzM0OC4wMDEgMzYxLjIwMSAzNTAuMDAxIDM1Ny44MDEgMzUwLjAwMSAzNTcuODAxQzM0OS42MDEgMzU1LjYwMSAzNTQuNDAxIDM0OS42MDEgMzU0LjQwMSAzNDkuNjAxQzM2MS40MDEgMzQ3LjAwMSAzNTguODAxIDMzNi4yMDEgMzU4LjgwMSAzMzYuMjAxQzM2Mi44MDEgMzM0LjgwMSAzNTEuNjAxIDMzMi4wMDEgMzUxLjgwMSAzMzAuODAxQzM1Mi4wMDEgMzI5LjYwMSAzNTcuODAxIDMyOC4yMDEgMzU3LjgwMSAzMjguMjAxQzM2NS44MDEgMzI2LjIwMSAzNjEuNDAxIDMyMy44MDEgMzYxLjQwMSAzMjMuODAxQzM2MC44MDEgMzE5LjgwMSAzNjMuODAxIDMxNC4yMDEgMzYzLjgwMSAzMTQuMjAxQzM3NS40MDEgMzEzLjQwMSAzNjMuODAxIDI5Ny4yIDM2My44MDEgMjk3LjJDMzUzLjAwMSAyODkuNiAzNTIuMDAxIDI4My44IDM1Mi4wMDEgMjgzLjhDMzY0LjYwMSAyNzUuNiAzNTYuNDAxIDI2My4yIDM1Ni42MDEgMjU5LjZDMzU2LjgwMSAyNTYgMzU4LjAwMSAyMzQuNCAzNTguMDAxIDIzNC40QzM1Ni4wMDEgMjI4LjIgMzUzLjAwMSAyMTQuNiAzNTMuMDAxIDIxNC42QzM1NS4yMDEgMjA5LjQgMzYyLjYwMSAxOTYuOCAzNjIuNjAxIDE5Ni44QzM2NS40MDEgMTkyLjYgMzc0LjIwMSAxODcuOCAzNzIuMDAxIDE4NC44QzM2OS44MDEgMTgxLjggMzYyLjAwMSAxODMuNiAzNjIuMDAxIDE4My42QzM1NC4yMDEgMTgyLjIgMzU0LjgwMSAxODcuNCAzNTQuODAxIDE4Ny40QzM1My4yMDEgMTg4LjQgMzUyLjQwMSAxOTMuNCAzNTIuNDAxIDE5My40QzM1MS42OCAyMDEuMzMzIDM0Mi44MDEgMjA3LjYgMzQyLjgwMSAyMDcuNkMzMzEuNjAxIDIxMy44IDM0MC44MDEgMjE3LjggMzQwLjgwMSAyMTcuOEMzNDYuODAxIDIyNC40IDMzNy4wMDEgMjI0LjYgMzM3LjAwMSAyMjQuNkMzMjYuMDAxIDIyMi44IDMzNC4yMDEgMjMzIDMzNC4yMDEgMjMzQzM0NS4wMDEgMjQ1LjggMzQyLjAwMSAyNDguNiAzNDIuMDAxIDI0OC42QzMzMS44MDEgMjQ5LjYgMzQ0LjQwMSAyNTguOCAzNDQuNDAxIDI1OC44QzM0NC40MDEgMjU4LjggMzQzLjYwMSAyNTYuOCAzNDMuODAxIDI1OC42QzM0NC4wMDEgMjYwLjQgMzQ3LjAwMSAyNjQuNiAzNDcuODAxIDI2Ni42QzM0OC42MDEgMjY4LjYgMzQ0LjYwMSAyNjguOCAzNDQuNjAxIDI2OC44QzM0NS4yMDEgMjc4LjQgMzI5LjgwMSAyNzQuMiAzMjkuODAxIDI3NC4yQzMyOS44MDEgMjc0LjIgMzI5LjgwMSAyNzQuMiAzMjguMjAxIDI3NC40QzMyNi42MDEgMjc0LjYgMzE1LjQwMSAyNzMuOCAzMDkuNjAxIDI3MS42QzMwMy44MDEgMjY5LjQgMjk3LjAwMSAyNjkuNCAyOTcuMDAxIDI2OS40QzI5Ny4wMDEgMjY5LjQgMjkzLjAwMSAyNzEuMiAyODUuNCAyNzFDMjc3LjggMjcwLjggMjY5LjggMjczLjYgMjY5LjggMjczLjZDMjY1LjQgMjczLjIgMjc0IDI2OC44IDI3NC4yIDI2OUMyNzQuNCAyNjkuMiAyODAgMjYzLjYgMjcyIDI2NC4yQzI1MC4yMDMgMjY1LjgzNSAyMzkuNCAyNTUuNiAyMzkuNCAyNTUuNkMyMzcuNCAyNTQuMiAyMzQuOCAyNTEuNCAyMzQuOCAyNTEuNEMyMjQuOCAyNDkuNCAyMzYuMiAyNjMuOCAyMzYuMiAyNjMuOEMyMzcuNCAyNjUuMiAyMzYgMjY2LjIgMjM2IDI2Ni4yQzIzNS4yIDI2NC42IDIyNy40IDI1OS4yIDIyNy40IDI1OS4yQzIyNC41ODkgMjU4LjIyNyAyMjMuMjI2IDI1Ni44OTMgMjIwLjg5NSAyNTQuNDA3eicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICM0YzAwMDAnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTE5NyAyNDIuOEMxOTcgMjQyLjggMjA4LjYgMjQ4LjQgMjExLjIgMjUxLjJDMjEzLjggMjU0IDIyNy44IDI2NS40IDIyNy44IDI2NS40QzIyNy44IDI2NS40IDIyMi40IDI2My40IDIxOS44IDI2MS42QzIxNy4yIDI1OS44IDIwNi40IDI1MS42IDIwNi40IDI1MS42QzIwNi40IDI1MS42IDIwMi42IDI0NS42IDE5NyAyNDIuOHonKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjOTljYzMyJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J00xMzguOTkxIDIxMS42MDNDMTM5LjMyOCAyMTEuNDU1IDEzOC44MDQgMjA4Ljc0MyAxMzguNiAyMDguMkMxMzcuNTc4IDIwNS40NzQgMTI4LjYgMjA0IDEyOC42IDIwNEMxMjguMzczIDIwNS4zNjUgMTI4LjMxOCAyMDYuOTYxIDEyOC40MjQgMjA4LjU5OUMxMjguNDI0IDIwOC41OTkgMTMzLjI5MiAyMTQuMTE4IDEzOC45OTEgMjExLjYwM3onKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjNjU5OTAwJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J00xMzguOTkxIDIxMS40MDNDMTM4LjU0MiAyMTEuNTYxIDEzOC45NzYgMjA4LjY2OSAxMzguOCAyMDguMkMxMzcuNzc4IDIwNS40NzQgMTI4LjYgMjAzLjkgMTI4LjYgMjAzLjlDMTI4LjM3MyAyMDUuMjY1IDEyOC4zMTggMjA2Ljg2MSAxMjguNDI0IDIwOC40OTlDMTI4LjQyNCAyMDguNDk5IDEzMi42OTIgMjEzLjYxOCAxMzguOTkxIDIxMS40MDN6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogIzAwMDAwMCcpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMTM0LjYgMjExLjU0NkMxMzMuOTc1IDIxMS41NDYgMTMzLjQ2OSAyMTAuNDA2IDEzMy40NjkgMjA5QzEzMy40NjkgMjA3LjU5NSAxMzMuOTc1IDIwNi40NTUgMTM0LjYgMjA2LjQ1NUMxMzUuMjI1IDIwNi40NTUgMTM1LjczMiAyMDcuNTk1IDEzNS43MzIgMjA5QzEzNS43MzIgMjEwLjQwNiAxMzUuMjI1IDIxMS41NDYgMTM0LjYgMjExLjU0NnonKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjMDAwMDAwJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J00xMzQuNiAyMDl6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogIzAwMDAwMCcpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNODkgMzA5LjYwMUM4OSAzMDkuNjAxIDgzLjQgMzE5LjYwMSAxMDguMiAzMTMuNjAxQzEwOC4yIDMxMy42MDEgMTIyLjIgMzEyLjQwMSAxMjQuNiAzMTAuMDAxQzEyNS44IDMxMC44MDEgMTM0LjE2NiAzMTMuNzM0IDEzNyAzMTQuNDAxQzE0My44IDMxNi4wMDEgMTUyLjIgMzA2IDE1Mi4yIDMwNkMxNTIuMiAzMDYgMTU2LjggMjk1LjUgMTU5LjYgMjk1LjVDMTYyLjQgMjk1LjUgMTU5LjIgMjk3LjEgMTU5LjIgMjk3LjFDMTU5LjIgMjk3LjEgMTUyLjYgMzA3LjIwMSAxNTMgMzA4LjgwMUMxNTMgMzA4LjgwMSAxNDcuOCAzMjguODAxIDEzMS44IDMyOS42MDFDMTMxLjggMzI5LjYwMSAxMTUuNjUgMzMwLjU1MSAxMTcgMzM2LjQwMUMxMTcgMzM2LjQwMSAxMjUuOCAzMzQuMDAxIDEyOC4yIDMzNi40MDFDMTI4LjIgMzM2LjQwMSAxMzkgMzM2LjAwMSAxMzEgMzQyLjQwMUwxMjQuMiAzNTQuMDAxQzEyNC4yIDM1NC4wMDEgMTI0LjM0IDM1Ny45MTkgMTE0LjIgMzU0LjQwMUMxMDQuNCAzNTEuMDAxIDk0LjEgMzM4LjEwMSA5NC4xIDMzOC4xMDFDOTQuMSAzMzguMTAxIDc4LjE1IDMyMy41NTEgODkgMzA5LjYwMXonKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjZTU5OTk5JykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J004Ny44IDMxMy42MDFDODcuOCAzMTMuNjAxIDg1LjggMzIzLjIwMSAxMjIuNiAzMTIuODAxQzEyMi42IDMxMi44MDEgMTI3IDMxMi44MDEgMTI5LjQgMzEzLjYwMUMxMzEuOCAzMTQuNDAxIDE0My44IDMxNy4yMDEgMTQ1LjggMzE2LjAwMUMxNDUuOCAzMTYuMDAxIDEzOC42IDMyOS42MDEgMTI3IDMyOC4wMDFDMTI3IDMyOC4wMDEgMTEzLjggMzI5LjYwMSAxMTQuMiAzMzQuNDAxQzExNC4yIDMzNC40MDEgMTE4LjIgMzQxLjYwMSAxMjMgMzQ0LjAwMUMxMjMgMzQ0LjAwMSAxMjUuOCAzNDYuNDAxIDEyNS40IDM0OS42MDFDMTI1IDM1Mi44MDEgMTIyLjIgMzU0LjQwMSAxMjAuMiAzNTUuMjAxQzExOC4yIDM1Ni4wMDEgMTE1IDM1Mi44MDEgMTEzLjQgMzUyLjgwMUMxMTEuOCAzNTIuODAxIDEwMy40IDM0Ni40MDEgOTkgMzQxLjYwMUM5NC42IDMzNi44MDEgODYuMiAzMjQuODAxIDg2LjYgMzIyLjAwMUM4NyAzMTkuMjAxIDg3LjggMzEzLjYwMSA4Ny44IDMxMy42MDF6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogI2IyNjU2NScpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNOTEgMzMxLjA1MUM5My42IDMzNS4wMDEgOTYuOCAzMzkuMjAxIDk5IDM0MS42MDFDMTAzLjQgMzQ2LjQwMSAxMTEuOCAzNTIuODAxIDExMy40IDM1Mi44MDFDMTE1IDM1Mi44MDEgMTE4LjIgMzU2LjAwMSAxMjAuMiAzNTUuMjAxQzEyMi4yIDM1NC40MDEgMTI1IDM1Mi44MDEgMTI1LjQgMzQ5LjYwMUMxMjUuOCAzNDYuNDAxIDEyMyAzNDQuMDAxIDEyMyAzNDQuMDAxQzExOS45MzQgMzQyLjQ2OCAxMTcuMTk0IDMzOC45NzYgMTE1LjYxNSAzMzYuNjUzQzExNS42MTUgMzM2LjY1MyAxMTUuOCAzMzkuMjAxIDExMC42IDMzOC40MDFDMTA1LjQgMzM3LjYwMSAxMDAuMiAzMzQuODAxIDk4LjYgMzMxLjYwMUM5NyAzMjguNDAxIDk0LjYgMzI2LjAwMSA5Ni4yIDMyOS42MDFDOTcuOCAzMzMuMjAxIDEwMC4yIDMzNi44MDEgMTAxLjggMzM3LjIwMUMxMDMuNCAzMzcuNjAxIDEwMyAzMzguODAxIDEwMC42IDMzOC40MDFDOTguMiAzMzguMDAxIDk1LjQgMzM3LjYwMSA5MSAzMzIuNDAxeicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICM5OTI2MDAnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTg4LjQgMzEwLjAwMUM4OC40IDMxMC4wMDEgOTAuMiAyOTYuNCA5MS40IDI5Mi40QzkxLjQgMjkyLjQgOTAuNiAyODUuNiA5MyAyODEuNEM5NS40IDI3Ny4yIDk3LjQgMjcxIDEwMC40IDI2NS42QzEwMy40IDI2MC4yIDEwMy42IDI1Ni4yIDEwNy42IDI1NC42QzExMS42IDI1MyAxMTcuNiAyNDQuNCAxMjAuNCAyNDMuNEMxMjMuMiAyNDIuNCAxMjMgMjQzLjIgMTIzIDI0My4yQzEyMyAyNDMuMiAxMjkuOCAyMjguNCAxNDMuNCAyMzIuNEMxNDMuNCAyMzIuNCAxMjcuMiAyMjkuNiAxNDMgMjIwLjJDMTQzIDIyMC4yIDEzOC4yIDIyMS4zIDE0MS41IDIxNC4zQzE0My43MDEgMjA5LjYzMiAxNDMuMiAyMTYuNCAxMzIuMiAyMjguMkMxMzIuMiAyMjguMiAxMjcuMiAyMzYuOCAxMjIgMjM5LjhDMTE2LjggMjQyLjggMTA0LjggMjQ5LjggMTAzLjYgMjUzLjZDMTAyLjQgMjU3LjQgOTkuMiAyNjMuMiA5Ny4yIDI2NC44Qzk1LjIgMjY2LjQgOTIuNCAyNzAuNiA5MiAyNzRDOTIgMjc0IDkwLjggMjc4IDg5LjQgMjc5LjJDODggMjgwLjQgODcuOCAyODMuNiA4Ny44IDI4NS42Qzg3LjggMjg3LjYgODUuOCAyOTAuNCA4NiAyOTIuOEM4NiAyOTIuOCA4Ni44IDMxMS44MDEgODYuNCAzMTMuODAxTDg4LjQgMzEwLjAwMXonKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjZmZmZmZmJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J003OS44IDMxNC42MDFDNzkuOCAzMTQuNjAxIDc3LjggMzEzLjIwMSA3My40IDMxOS4yMDFDNzMuNCAzMTkuMjAxIDgwLjcgMzUyLjIwMSA4MC43IDM1My42MDFDODAuNyAzNTMuNjAxIDgxLjggMzUxLjUwMSA4MC41IDM0NC4zMDFDNzkuMiAzMzcuMTAxIDc4LjMgMzI0LjQwMSA3OC4zIDMyNC40MDFMNzkuOCAzMTQuNjAxeicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICM5OTI2MDAnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTEwMS40IDI1NEMxMDEuNCAyNTQgODMuOCAyNTcuMiA4NC4yIDI4Ni40TDgzLjQgMzExLjIwMUM4My40IDMxMS4yMDEgODIuMiAyODUuNiA4MSAyODRDNzkuOCAyODIuNCA4My44IDI3MS4yIDgwLjYgMjc3LjJDODAuNiAyNzcuMiA2Ni42IDI5MS4yIDc0LjYgMzEyLjQwMUM3NC42IDMxMi40MDEgNzYuMSAzMTUuNzAxIDczLjEgMzExLjEwMUM3My4xIDMxMS4xMDEgNjguNSAyOTguNSA2OS42IDI5Mi4xQzY5LjYgMjkyLjEgNjkuOCAyODkuOSA3MS43IDI4Ny4xQzcxLjcgMjg3LjEgODAuMyAyNzUuNCA4MyAyNzMuMUM4MyAyNzMuMSA4NC44IDI1OC43IDEwMC4yIDI1My41QzEwMC4yIDI1My41IDEwNS45IDI1MS4yIDEwMS40IDI1NHonKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjMDAwMDAwJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J00yNDAuOCAxODcuOEMyNDEuNDYgMTg3LjQ0NiAyNDEuNDUxIDE4Ni40NzYgMjQyLjAzMSAxODYuMzAzQzI0My4xOCAxODUuOTU5IDI0My4zNDQgMTg0Ljg5MiAyNDMuODYyIDE4NC4xMDhDMjQ0LjczNSAxODIuNzg5IDI0NC45MjggMTgxLjI1NiAyNDUuNTEgMTc5Ljc2NUMyNDUuNzgyIDE3OS4wNjUgMjQ1LjgwOSAxNzguMTEgMjQ1LjQ5NiAxNzcuNDVDMjQ0LjMyMiAxNzQuOTY5IDI0My42MiAxNzIuNTIgMjQyLjE3OCAxNzAuMDk0QzI0MS45MSAxNjkuNjQ0IDI0MS42NDggMTY4Ljg1IDI0MS40NDcgMTY4LjI1MkMyNDAuOTg0IDE2Ni44NjggMjM5LjcyNyAxNjUuODc3IDIzOC44NjcgMTY0LjU1N0MyMzguNTc5IDE2NC4xMTYgMjM5LjEwNCAxNjMuMTkxIDIzOC4zODggMTYzLjEwN0MyMzcuNDkxIDE2My4wMDIgMjM2LjA0MiAxNjIuNDIyIDIzNS44MDkgMTYzLjQ0OEMyMzUuMjIxIDE2Ni4wMzUgMjM2LjIzMiAxNjguNTU4IDIzNy4yIDE3MUMyMzYuNDE4IDE3MS42OTIgMjM2Ljc1MiAxNzIuNjEzIDIzNi45MDQgMTczLjM4QzIzNy42MTQgMTc2Ljk4NiAyMzYuNDE2IDE4MC4zMzggMjM1LjY1NSAxODMuODEyQzIzNS42MzIgMTgzLjkxNiAyMzUuOTc0IDE4NC4xMTQgMjM1Ljk0NiAxODQuMTc2QzIzNC43MjQgMTg2Ljg2MiAyMzMuMjcyIDE4OS4zMDcgMjMxLjQ1MyAxOTEuNjg4QzIzMC42OTUgMTkyLjY4IDIyOS44MjMgMTkzLjU5NiAyMjkuMzI2IDE5NC42NTlDMjI4Ljk1OCAxOTUuNDQ2IDIyOC41NSAxOTYuNDEyIDIyOC44IDE5Ny40QzIyNS4zNjUgMjAwLjE4IDIyMy4xMTUgMjA0LjAyNSAyMjAuNTA0IDIwNy44NzFDMjIwLjA0MiAyMDguNTUxIDIyMC4zMzMgMjA5Ljc2IDIyMC44ODQgMjEwLjAyOUMyMjEuNjk3IDIxMC40MjcgMjIyLjY1MyAyMDkuNDAzIDIyMy4xMjMgMjA4LjU1N0MyMjMuNTEyIDIwNy44NTkgMjIzLjg2NSAyMDcuMjA5IDIyNC4zNTYgMjA2LjU2NkMyMjQuNDg5IDIwNi4zOTEgMjI0LjMxIDIwNS45NzIgMjI0LjQ0NSAyMDUuODUxQzIyNy4wNzggMjAzLjUwNCAyMjguNzQ3IDIwMC41NjggMjMxLjIgMTk4LjJDMjMzLjE1IDE5Ny44NzEgMjM0LjY4NyAxOTYuODczIDIzNi40MzUgMTk1Ljg2QzIzNi43NDMgMTk1LjY4MSAyMzcuMjY3IDE5NS45MyAyMzcuNTU3IDE5NS43MzVDMjM5LjMxIDE5NC41NTggMjM5LjMwOCAxOTIuNTIyIDIzOS40MTQgMTkwLjYxMkMyMzkuNDY0IDE4OS43MjggMjM5LjY2IDE4OC40MTEgMjQwLjggMTg3Ljh6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogIzAwMDAwMCcpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMjMxLjk1OSAxODMuMzM0QzIzMi4wODMgMTgzLjI1NyAyMzEuOTI4IDE4Mi44MzQgMjMyLjAzNyAxODIuNjE4QzIzMi4xOTkgMTgyLjI5NCAyMzIuNjAyIDE4Mi4xMDYgMjMyLjc2NCAxODEuNzgyQzIzMi44NzMgMTgxLjU2NiAyMzIuNzEgMTgxLjE4NiAyMzIuODQ2IDE4MS4wNDRDMjM1LjE3OSAxNzguNTk3IDIzNS40MzYgMTc1LjU3MyAyMzQuNCAxNzIuNkMyMzUuNDI0IDE3MS45OCAyMzUuNDg1IDE3MC43MTggMjM1LjA2IDE2OS44NzFDMjM0LjIwNyAxNjguMTcxIDIzNC4wMTQgMTY2LjI0NSAyMzMuMDM5IDE2NC43MDJDMjMyLjIzNyAxNjMuNDMzIDIzMC42NTkgMTYyLjE4OSAyMjkuMjg4IDE2My40OTJDMjI4Ljg2NyAxNjMuODkyIDIyOC41NDYgMTY0LjY3OSAyMjguODI0IDE2NS4zOTFDMjI4Ljg4OCAxNjUuNTU0IDIyOS4xNzMgMTY1LjcgMjI5LjE0NiAxNjUuNzgyQzIyOS4wMzkgMTY2LjEwNiAyMjguNDkzIDE2Ni4zMyAyMjguNDg3IDE2Ni42MDJDMjI4LjQ1NyAxNjguMDk4IDIyNy41MDMgMTY5LjYwOSAyMjguMTMzIDE3MC45MzhDMjI4LjkwNSAxNzIuNTY3IDIyOS43MjQgMTc0LjQyNCAyMzAuNCAxNzYuMkMyMjkuMTY2IDE3OC4zMTYgMjMwLjE5OSAxODAuNzY1IDIyOC40NDYgMTgyLjY0MkMyMjguMzEgMTgyLjc4OCAyMjguMzE5IDE4My4xNzQgMjI4LjQ0MSAxODMuMzc2QzIyOC43MzMgMTgzLjg2MiAyMjkuMTM5IDE4NC4yNjggMjI5LjYyNSAxODQuNTZDMjI5LjgyNyAxODQuNjgxIDIzMC4xNzUgMTg0LjY4MyAyMzAuMzc1IDE4NC41NTlDMjMwLjk1MyAxODQuMTk3IDIzMS4zNTEgMTgzLjcxIDIzMS45NTkgMTgzLjMzNHonKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjMDAwMDAwJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J00yOTQuNzcxIDE3My4wMjNDMjk2LjE2IDE3NC44MTUgMjk2LjQ1IDE3Ny42MSAyOTQuNDAxIDE3OUMyOTQuOTUxIDE4Mi4zMDkgMjk4LjMwMiAxODAuMzMgMzAwLjQwMSAxNzkuOEMzMDAuMjkyIDE3OS40MTIgMzAwLjUxOSAxNzkuMDY4IDMwMC44MDIgMTc5LjA2M0MzMDEuODU5IDE3OS4wNDggMzAyLjUzOSAxNzguMDE2IDMwMy42MDEgMTc4LjJDMzA0LjAzNSAxNzYuNjQzIDMwNS42NzMgMTc1Ljk0MSAzMDYuMzE3IDE3NC41NjFDMzA4LjA0MyAxNzAuODY2IDMwNy40NTIgMTY2LjU5MyAzMDQuODY4IDE2My4zNDdDMzA0LjY2NiAxNjMuMDkzIDMwNC44ODMgMTYyLjU3NiAzMDQuNzU5IDE2Mi4yMTRDMzA0LjAwMyAxNjAuMDAzIDMwMS45MzUgMTU5LjY4OCAzMDAuMDAxIDE1OUMyOTguODI0IDE1NS4xMjUgMjk4LjE2MyAxNTEuMDk0IDI5Ni40MDEgMTQ3LjRDMjk0Ljc4NyAxNDcuMTUgMjk0LjA4OSAxNDUuNDExIDI5Mi43NTIgMTQ0LjY5MUMyOTEuNDE5IDE0My45NzIgMjkwLjg1MSAxNDUuNTUxIDI5MC44OTIgMTQ2LjU5N0MyOTAuODk5IDE0Ni44MDIgMjkxLjM1MSAxNDcuMDI2IDI5MS4xODEgMTQ3LjM5MUMyOTEuMTA1IDE0Ny41NTUgMjkwLjg0NSAxNDcuNjY2IDI5MC44NDUgMTQ3LjhDMjkwLjg0NiAxNDcuOTM1IDI5MS4wNjcgMTQ4LjA2NiAyOTEuMjAxIDE0OC4yQzI5MC4yODMgMTQ5LjAyIDI4OC44NiAxNDkuNDk3IDI4OC41NjUgMTUwLjY0MkMyODcuNjExIDE1NC4zNTIgMjkwLjE4NCAxNTcuNDc3IDI5MS44NTIgMTYwLjY3OEMyOTIuNDQzIDE2MS44MTMgMjkxLjcwNyAxNjMuMDg0IDI5MC45NDcgMTY0LjI5MkMyOTAuNTA5IDE2NC45ODcgMjkwLjYxNyAxNjYuMTE0IDI5MC44OTMgMTY2Ljk3QzI5MS42NDUgMTY5LjMwMSAyOTMuMjM2IDE3MS4wNCAyOTQuNzcxIDE3My4wMjN6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogIzAwMDAwMCcpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMjU3LjYxMSAxOTEuNDA5QzI1Ni4xMjQgMTkzLjI2IDI1Mi43MTIgMTk1LjgyOSAyNTUuNjI5IDE5Ny43NTdDMjU1LjgyMyAxOTcuODg2IDI1Ni4xOTMgMTk3Ljg5IDI1Ni4zNjYgMTk3Ljc1NkMyNTguMzg3IDE5Ni4xOTEgMjYwLjM5IDE5NS4yODggMjYyLjgyNiAxOTQuNzA2QzI2Mi45NSAxOTQuNjc3IDI2My4yMjQgMTk1LjE0NCAyNjMuNTkzIDE5NC45ODNDMjY1LjIwNiAxOTQuMjggMjY3LjIxNiAxOTQuMzM4IDI2OC40IDE5M0MyNzIuMTY3IDE5My4yMjQgMjc1LjczMiAxOTIuMTA4IDI3OS4xMjMgMTkwLjhDMjgwLjI4NCAxOTAuMzUyIDI4MS41NTQgMTg5Ljc5MyAyODIuNzU1IDE4OS4yOTFDMjg0LjEzMSAxODguNzE1IDI4NS4zMzUgMTg3Ljc4NyAyODYuNDQ3IDE4Ni42NDZDMjg2LjU4IDE4Ni41MSAyODYuOTM0IDE4Ni42IDI4Ny4yMDEgMTg2LjZDMjg3LjE2MSAxODUuNzM3IDI4OC4xMjMgMTg1LjYxIDI4OC4zNyAxODQuOTg4QzI4OC40NjIgMTg0Ljc1NiAyODguMzEyIDE4NC4zNiAyODguNDQ1IDE4NC4yNThDMjkwLjU4MyAxODIuNjI4IDI5MS41MDMgMTgwLjYxIDI5MC4zMzQgMTc4LjIzM0MyOTAuMDQ5IDE3Ny42NTUgMjg5LjggMTc3LjAzNyAyODkuMjM0IDE3Ni41NjFDMjg4LjE0OSAxNzUuNjUgMjg3LjA0NyAxNzYuNTA0IDI4NiAxNzYuMkMyODUuODQxIDE3Ni44MjggMjg1LjExMiAxNzYuNjU2IDI4NC43MjYgMTc2Ljg1NEMyODMuODY3IDE3Ny4yOTMgMjgyLjUzNCAxNzYuNzA4IDI4MS42NzUgMTc3LjE0NkMyODAuMzEzIDE3Ny44NDEgMjc5LjA3MiAxNzguMDEgMjc3LjY1IDE3OC4zODdDMjc3LjMzOCAxNzguNDY5IDI3Ni41NiAxNzguMzczIDI3Ni40IDE3OUMyNzYuMjY2IDE3OC44NjYgMjc2LjExOCAxNzguNjMyIDI3Ni4wMTIgMTc4LjY1NEMyNzQuMTA0IDE3OS4wNSAyNzIuODQ0IDE3OS4yNjQgMjcxLjU0MyAxODAuOTU2QzI3MS40NCAxODEuMDg5IDI3MC45OTggMTgwLjkxIDI3MC44MzkgMTgxLjA0NUMyNjkuODgyIDE4MS44NTMgMjY5LjQ3NyAxODMuMDg3IDI2OC4zNzYgMTgzLjc1OUMyNjguMTc1IDE4My44ODIgMjY3LjgyMyAxODMuNzE0IDI2Ny42MjkgMTgzLjg0M0MyNjYuOTgzIDE4NC4yNzQgMjY2LjYxNiAxODQuOTE1IDI2NS45NzQgMTg1LjM2MkMyNjUuNjQ1IDE4NS41OTEgMjY1LjI0NSAxODUuMjY2IDI2NS4yNzcgMTg1LjAxQzI2NS41MjIgMTgzLjA2MyAyNjYuMTc1IDE4MS4yNzYgMjY1LjYgMTc5LjRDMjY3LjY3NyAxNzYuODggMjcwLjE5NCAxNzQuOTMxIDI3MiAxNzIuMkMyNzIuMDE1IDE3MC4wMzQgMjcyLjcwNyAxNjcuODg4IDI3Mi41OTQgMTY1LjgxMUMyNzIuNTg0IDE2NS42MTggMjcyLjI5NiAxNjQuODg1IDI3Mi4xNyAxNjQuNTM4QzI3MS44NTggMTYzLjY4NCAyNzIuNzY0IDE2Mi42MTggMjcxLjkyIDE2MS44OTRDMjcwLjUxNiAxNjAuNjkxIDI2OS4yMjQgMTYxLjU2NyAyNjguNCAxNjNDMjY2LjU2MiAxNjMuMzkgMjY0LjQ5NiAxNjQuMDgzIDI2Mi45MTggMTYyLjg0OUMyNjEuOTExIDE2Mi4wNjIgMjYxLjMzMyAxNjEuMTU2IDI2MC41MzQgMTYwLjFDMjU5LjU0OSAxNTguNzk4IDI1OS44ODQgMTU3LjM2MiAyNTkuOTU0IDE1NS43OThDMjU5Ljk2IDE1NS42NyAyNTkuNjQ1IDE1NS41MzQgMjU5LjY0NSAxNTUuNEMyNTkuNjQ2IDE1NS4yNjUgMjU5Ljg2NiAxNTUuMTM0IDI2MCAxNTVDMjU5LjI5NCAxNTQuMzc0IDI1OS4wMTkgMTUzLjMxNiAyNTggMTUzQzI1OC4zMDUgMTUxLjkwOCAyNTcuNjI5IDE1MS4wMjQgMjU2Ljc1OCAxNTAuNzIyQzI1NC43NjMgMTUwLjAzMSAyNTMuMDg2IDE1MS45NDMgMjUxLjE5NCAxNTIuMDE2QzI1MC42OCAxNTIuMDM1IDI1MC4yMTMgMTUwLjk5NyAyNDkuNTY0IDE1MC42NzJDMjQ5LjEzMiAxNTAuNDU2IDI0OC40MjggMTUwLjQyMyAyNDguMDY2IDE1MC42ODlDMjQ3LjM3OCAxNTEuMTkzIDI0Ni43ODkgMTUxLjMwNyAyNDYuMDMxIDE1MS41MTJDMjQ0LjQxNCAxNTEuOTQ4IDI0My4xMzYgMTUzLjA0MiAyNDEuNjU2IDE1My44OTdDMjQwLjE3MSAxNTQuNzU0IDIzOS4yMTYgMTU2LjE5MSAyMzguMTM2IDE1Ny41MTFDMjM3LjE5NSAxNTguNjYzIDIzNy4wNTkgMTYxLjA3NyAyMzguNDc5IDE2MS41NzdDMjQwLjMyMiAxNjIuMjI3IDI0MS42MjYgMTU5LjUyNCAyNDMuNTkyIDE1OS44NUMyNDMuOTA0IDE1OS45MDEgMjQ0LjExIDE2MC4yMTIgMjQ0IDE2MC42QzI0NC4zODkgMTYwLjcwOSAyNDQuNjA3IDE2MC40OCAyNDQuOCAxNjAuMkMyNDUuNjU4IDE2MS4yMTkgMjQ2LjgyMiAxNjEuNTU2IDI0Ny43NiAxNjIuNDI5QzI0OC43MyAxNjMuMzMzIDI1MC40NzYgMTYyLjkxNSAyNTEuNDkxIDE2My45MTJDMjUzLjAyIDE2NS40MTQgMjUyLjQ2MSAxNjguMDk1IDI1NC40IDE2OS40QzI1My44MTQgMTcwLjcxMyAyNTMuMjA3IDE3MS45OSAyNTIuODcyIDE3My40MTdDMjUyLjU5IDE3NC42MjMgMjUzLjU4NCAxNzUuODIgMjU0Ljc5NSAxNzUuNzI5QzI1Ni4wNTMgMTc1LjYzNSAyNTYuMzE1IDE3NC44NzYgMjU2LjggMTczLjhDMjU3LjA2NyAxNzQuMDY3IDI1Ny41MzYgMTc0LjM2NCAyNTcuNDk1IDE3NC41OEMyNTcuMDM4IDE3Ni45NjcgMjU2LjAxMSAxNzguOTYgMjU1LjU1MyAxODEuMzkxQzI1NS40OTQgMTgxLjcwOCAyNTUuMTg5IDE4MS45MSAyNTQuOCAxODEuOEMyNTQuMzMyIDE4NS45NDkgMjUwLjI4IDE4OC4zNDMgMjQ3LjczNSAxOTEuNTA4QzI0Ny4zMzIgMTkyLjAxIDI0Ny4zMjggMTkzLjI1OSAyNDcuNzM3IDE5My42NjJDMjQ5LjE0IDE5NS4wNDkgMjUxLjEgMTkzLjUwMyAyNTIuOCAxOTNDMjUzLjAxMyAxOTEuNzk0IDI1My44NzIgMTkwLjg1MiAyNTUuMjA0IDE5MC45MDhDMjU1LjQ2IDE5MC45MTggMjU1LjY5NSAxOTAuMzc2IDI1Ni4wMTkgMTkwLjI0NkMyNTYuMzY3IDE5MC4xMDggMjU2Ljg2OSAxOTAuMzMyIDI1Ny4xNTUgMTkwLjEzNEMyNTguODg0IDE4OC45MzkgMjYwLjI5MiAxODcuODMzIDI2Mi4wMyAxODYuNjQ0QzI2Mi4yMjIgMTg2LjUxMyAyNjIuNTY2IDE4Ni42NzIgMjYyLjc4MiAxODYuNTY0QzI2My4xMDcgMTg2LjQwMiAyNjMuMjk0IDE4Ni4wMTUgMjYzLjYxNyAxODUuODNDMjYzLjk2NSAxODUuNjMgMjY0LjIwNyAxODUuOTIgMjY0LjQgMTg2LjJDMjYzLjc1NCAxODYuNTQ5IDI2My43NSAxODcuNTA2IDI2My4xNjggMTg3LjcwOEMyNjIuMzkzIDE4Ny45NzYgMjYxLjgzMiAxODguNDg5IDI2MS4xNTggMTg4LjkzNkMyNjAuODY2IDE4OS4xMjkgMjYwLjIwNyAxODguODgxIDI2MC4xMDMgMTg5LjA2QzI1OS41MDUgMTkwLjA4OCAyNTguMzIxIDE5MC41MjYgMjU3LjYxMSAxOTEuNDA5eicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICMwMDAwMDAnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTIwMi4yIDE0MkMyMDIuMiAxNDIgMTkyLjk2MiAxMzkuMTI4IDE4MS44IDE2NC44QzE4MS44IDE2NC44IDE3OS40IDE3MCAxNzcgMTcyQzE3NC42IDE3NCAxNjMuNCAxNzcuNiAxNjEuNCAxODEuNkwxNTEgMTk3LjZDMTUxIDE5Ny42IDE2NS44IDE4MS42IDE2OSAxNzkuMkMxNjkgMTc5LjIgMTc3IDE3MC44IDE3My44IDE3Ny42QzE3My44IDE3Ny42IDE1OS44IDE4OC40IDE2MSAxOTcuNkMxNjEgMTk3LjYgMTU1LjQgMjEyIDE1NC42IDIxNEMxNTQuNiAyMTQgMTcwLjYgMTgyIDE3MyAxODAuOEMxNzUuNCAxNzkuNiAxNzYuNiAxNzkuNiAxNzUuNCAxODMuMkMxNzQuMiAxODYuOCAxNzMuOCAyMDMuMiAxNzEgMjA1LjJDMTcxIDIwNS4yIDE3OSAxODQuOCAxNzguMiAxODEuNkMxNzguMiAxODEuNiAxODEuNCAxNzggMTgzLjggMTgzLjJMMTgyLjYgMTk5LjJMMTg3IDIxMS4yQzE4NyAyMTEuMiAxODQuNiAyMDAgMTg2LjIgMTg0LjRDMTg2LjIgMTg0LjQgMTg0LjIgMTc0IDE4OC4yIDE3OS42QzE5Mi4yIDE4NS4yIDIwMS44IDE5MS4yIDIwMS44IDE5NkMyMDEuOCAxOTYgMTk2LjYgMTc4LjQgMTg3LjQgMTczLjZMMTgzLjQgMTc5LjZMMTgyLjIgMTc3LjZDMTgyLjIgMTc3LjYgMTc4LjYgMTc2LjggMTgzIDE3MEMxODcuNCAxNjMuMiAxODcgMTYyLjQgMTg3IDE2Mi40QzE4NyAxNjIuNCAxOTMuNCAxNjkuNiAxOTUgMTY5LjZDMTk1IDE2OS42IDIwOC4yIDE2MiAyMDkuNCAxODYuNEMyMDkuNCAxODYuNCAyMTYuMiAxNzIgMjA3IDE2NS4yQzIwNyAxNjUuMiAxOTIuMiAxNjMuMiAxOTMuNCAxNThMMjAwLjYgMTQ1LjZDMjA0LjIgMTQwLjQgMjAyLjYgMTQzLjIgMjAyLjYgMTQzLjJ6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogIzAwMDAwMCcpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMTgyLjIgMTU4LjRDMTgyLjIgMTU4LjQgMTY5LjQgMTU4LjQgMTY2LjIgMTYzLjZMMTU5IDE3My4yQzE1OSAxNzMuMiAxNzYuMiAxNjMuMiAxODAuMiAxNjJDMTg0LjIgMTYwLjggMTgyLjIgMTU4LjQgMTgyLjIgMTU4LjR6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogIzAwMDAwMCcpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMTQyLjIgMTY0LjhDMTQyLjIgMTY0LjggMTQwLjIgMTY2IDEzOS44IDE2OC44QzEzOS40IDE3MS42IDEzNyAxNzIgMTM3LjggMTc0LjhDMTM4LjYgMTc3LjYgMTQwLjYgMTgwIDE0MC42IDE3NkMxNDAuNiAxNzIgMTQyLjIgMTcwIDE0MyAxNjguOEMxNDMuOCAxNjcuNiAxNDUuNCAxNjMuMiAxNDIuMiAxNjQuOHonKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjMDAwMDAwJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J00xMzMuNCAyMjZDMTMzLjQgMjI2IDEyNSAyMjIgMTIxLjggMjE4LjRDMTE4LjYgMjE0LjggMTE5LjA1MiAyMTkuOTY2IDExNC4yIDIxOS42QzEwOC4zNTMgMjE5LjE1OSAxMDkuNCAyMDMuMiAxMDkuNCAyMDMuMkwxMDUuNCAyMTAuOEMxMDUuNCAyMTAuOCAxMDQuMiAyMjUuMiAxMTIuMiAyMjIuOEMxMTYuMTA3IDIyMS42MjggMTE3LjQgMjIzLjIgMTE1LjggMjI0QzExNC4yIDIyNC44IDEyMS40IDIyNS4yIDExOC42IDIyNi44QzExNS44IDIyOC40IDEzMC4yIDIyMy4yIDEyNy44IDIzMy42TDEzMy40IDIyNnonKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjMDAwMDAwJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J00xMjAuOCAyNDAuNEMxMjAuOCAyNDAuNCAxMDUuNCAyNDQuOCAxMDEuOCAyMzUuMkMxMDEuOCAyMzUuMiA5NyAyMzcuNiA5OS4yIDI0MC42QzEwMS40IDI0My42IDEwMi42IDI0NCAxMDIuNiAyNDRDMTAyLjYgMjQ0IDEwOCAyNDUuMiAxMDcuNCAyNDZDMTA2LjggMjQ2LjggMTA0LjQgMjUwLjIgMTA0LjQgMjUwLjJDMTA0LjQgMjUwLjIgMTE0LjYgMjQ0LjIgMTIwLjggMjQwLjR6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogI2ZmZmZmZicpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMzQ5LjIwMSAzMTguNjAxQzM0OC43NzQgMzIwLjczNSAzNDcuMTAzIDMyMS41MzYgMzQ1LjIwMSAzMjIuMjAxQzM0My4yODQgMzIxLjI0MyAzNDAuNjg2IDMxOC4xMzcgMzM4LjgwMSAzMjAuMjAxQzMzOC4zMjcgMzE5LjcyMSAzMzcuNTQ4IDMxOS42NjEgMzM3LjIwNCAzMTguOTk5QzMzNi43MzkgMzE4LjEwMSAzMzcuMDExIDMxNy4wNTUgMzM2LjY2OSAzMTYuMjU3QzMzNi4xMjQgMzE0Ljk4NSAzMzUuNDE1IDMxMy42MTkgMzM1LjYwMSAzMTIuMjAxQzMzNy40MDcgMzExLjQ4OSAzMzguMDAyIDMwOS41ODMgMzM3LjUyOCAzMDcuODJDMzM3LjQ1OSAzMDcuNTYzIDMzNy4wMyAzMDcuMzY2IDMzNy4yMyAzMDcuMDE3QzMzNy40MTYgMzA2LjY5NCAzMzcuNzM0IDMwNi40NjcgMzM4LjAwMSAzMDYuMkMzMzcuODY2IDMwNi4zMzUgMzM3LjcyMSAzMDYuNTY4IDMzNy42MSAzMDYuNTQ4QzMzNyAzMDYuNDQyIDMzNy4xMjQgMzA1LjgwNSAzMzcuMjU0IDMwNS40MThDMzM3LjgzOSAzMDMuNjcyIDMzOS44NTMgMzAzLjQwOCAzNDEuMjAxIDMwNC42QzM0MS40NTcgMzA0LjAzNSAzNDEuOTY2IDMwNC4yMjkgMzQyLjQwMSAzMDQuMkMzNDIuMzUxIDMwMy42MjEgMzQyLjc1OSAzMDMuMDk0IDM0Mi45NTcgMzAyLjY3NEMzNDMuNDc1IDMwMS41NzYgMzQ1LjEwNCAzMDIuNjgyIDM0NS45MDEgMzAyLjA3QzM0Ni45NzcgMzAxLjI0NSAzNDguMDQgMzAwLjU0NiAzNDkuMTE4IDMwMS4xNDlDMzUwLjkyNyAzMDIuMTYyIDM1Mi42MzYgMzAzLjM3NCAzNTMuODM1IDMwNS4xMTVDMzU0LjQxIDMwNS45NDkgMzU0LjY1IDMwNy4yMyAzNTQuNTkyIDMwOC4xODhDMzU0LjU1NCAzMDguODM1IDM1My4xNzMgMzA4LjQ4MyAzNTIuODMgMzA5LjQxMkMzNTIuMTg1IDMxMS4xNiAzNTQuMDE2IDMxMS42NzkgMzU0Ljc3MiAzMTMuMDE3QzM1NC45NyAzMTMuMzY2IDM1NC43MDYgMzEzLjY3IDM1NC4zOTEgMzEzLjc2OEMzNTMuOTggMzEzLjg5NiAzNTMuMTk2IDMxMy43MDcgMzUzLjMzNCAzMTQuMTZDMzU0LjMwNiAzMTcuMzUzIDM1MS41NSAzMTguMDMxIDM0OS4yMDEgMzE4LjYwMXonKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjZmZmZmZmJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J00zMzkuNiAzMzguMjAxQzMzOS41OTMgMzM2LjQ2MyAzMzcuOTkyIDMzNC43MDcgMzM5LjIwMSAzMzMuMDAxQzMzOS4zMzYgMzMzLjEzNSAzMzkuNDY3IDMzMy4zNTYgMzM5LjYwMSAzMzMuMzU2QzMzOS43MzYgMzMzLjM1NiAzMzkuODY3IDMzMy4xMzUgMzQwLjAwMSAzMzMuMDAxQzM0MS40OTYgMzM1LjIxNyAzNDUuMTQ4IDMzNi4xNDUgMzQ1LjAwNiAzMzguOTkxQzM0NC45ODQgMzM5LjQzOCAzNDMuODk3IDM0MC4zNTYgMzQ0LjgwMSAzNDEuMDAxQzM0Mi45ODggMzQyLjM0OSAzNDIuOTMzIDM0NC43MTkgMzQyLjAwMSAzNDYuNjAxQzM0MC43NjMgMzQ2LjMxNSAzMzkuNTUxIDM0NS45NTIgMzM4LjQwMSAzNDUuNDAxQzMzOC43NTMgMzQzLjkxNSAzMzguNjM2IDM0Mi4yMzEgMzM5LjQ1NiAzNDAuOTExQzMzOS44OSAzNDAuMjEzIDMzOS42MDMgMzM5LjEzNCAzMzkuNiAzMzguMjAxeicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICNjY2NjY2MnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTE3My40IDMyOS4yMDFDMTczLjQgMzI5LjIwMSAxNTYuNTQyIDMzOS4zMzcgMTcwLjYgMzI0LjAwMUMxNzkuNCAzMTQuNDAxIDE4OS40IDMwOC44MDEgMTg5LjQgMzA4LjgwMUMxODkuNCAzMDguODAxIDE5OS44IDMwNC40IDIwMy40IDMwMy4yQzIwNyAzMDIgMjIyLjIgMjk2LjggMjI1LjQgMjk2LjRDMjI4LjYgMjk2IDIzOC4yIDI5MiAyNDUgMjk2QzI1MS44IDMwMCAyNTkuOCAzMDQuNCAyNTkuOCAzMDQuNEMyNTkuOCAzMDQuNCAyNDMuNCAyOTYgMjM5LjggMjk4LjRDMjM2LjIgMzAwLjggMjI5IDMwMC40IDIyMyAzMDMuNkMyMjMgMzAzLjYgMjA4LjIgMzA4LjAwMSAyMDUgMzEwLjAwMUMyMDEuOCAzMTIuMDAxIDE5MS40IDMyMy42MDEgMTg5LjggMzIyLjgwMUMxODguMiAzMjIuMDAxIDE5MC4yIDMyMS42MDEgMTkxLjQgMzE4LjgwMUMxOTIuNiAzMTYuMDAxIDE5MC42IDMxNC40MDEgMTgyLjYgMzIwLjgwMUMxNzQuNiAzMjcuMjAxIDE3My40IDMyOS4yMDEgMTczLjQgMzI5LjIwMXonKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjMDAwMDAwJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J00xODAuODA1IDMyMy4yMzRDMTgwLjgwNSAzMjMuMjM0IDE4Mi4yMTUgMzEwLjE5NCAxOTAuNjkzIDMxMS44NTlDMTkwLjY5MyAzMTEuODU5IDE5OC45MTkgMzA3LjY4OSAyMDEuNjQxIDMwNS43MjFDMjAxLjY0MSAzMDUuNzIxIDIwOS43OCAzMDQuMDE5IDIxMS4wOSAzMDMuNDAyQzIyOS41NjkgMjk0LjcwMiAyNDQuMjg4IDI5OS4yMjEgMjQ0LjgzNSAyOTguMTAxQzI0NS4zODEgMjk2Ljk4MiAyNjUuMDA2IDMwNC4wOTkgMjY4LjYxNSAzMDguMTg1QzI2OS4wMDYgMzA4LjYyOCAyNTguMzg0IDMwMi41ODggMjQ4LjY4NiAzMDAuNjk3QzI0MC40MTMgMjk5LjA4MyAyMTguODExIDMwMC45NDQgMjA3LjkwNSAzMDYuNDhDMjA0LjkzMiAzMDcuOTg5IDE5NS45ODcgMzEzLjc3MyAxOTMuNDU2IDMxMy42NjJDMTkwLjkyNSAzMTMuNTUgMTgwLjgwNSAzMjMuMjM0IDE4MC44MDUgMzIzLjIzNHonKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjY2NjY2NjJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J00xNzcgMzQ4LjgwMUMxNzcgMzQ4LjgwMSAxNjEuOCAzNDYuNDAxIDE3OC42IDM0NC44MDFDMTc4LjYgMzQ0LjgwMSAxOTYuNiAzNDIuODAxIDIwMC42IDMzNy42MDFDMjAwLjYgMzM3LjYwMSAyMTQuMiAzMjguNDAxIDIxNyAzMjguMDAxQzIxOS44IDMyNy42MDEgMjQ5LjggMzIwLjQwMSAyNTAuMiAzMTguMDAxQzI1MC42IDMxNS42MDEgMjU2LjIgMzE1LjYwMSAyNTcuOCAzMTYuNDAxQzI1OS40IDMxNy4yMDEgMjU4LjYgMzE4LjQwMSAyNTUuOCAzMTkuMjAxQzI1MyAzMjAuMDAxIDIyMS44IDMzNi40MDEgMjE1LjQgMzM3LjYwMUMyMDkgMzM4LjgwMSAxOTcuNCAzNDYuNDAxIDE5Mi42IDM0Ny42MDFDMTg3LjggMzQ4LjgwMSAxNzcgMzQ4LjgwMSAxNzcgMzQ4LjgwMXonKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjMDAwMDAwJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J00xOTYuNTIgMzQxLjQwM0MxOTYuNTIgMzQxLjQwMyAxODcuOTM4IDM0MC41NzQgMTk2LjUzOSAzMzkuNzU1QzE5Ni41MzkgMzM5Ljc1NSAyMDUuMzU1IDMzNi4zMzEgMjA3LjQwMyAzMzMuNjY4QzIwNy40MDMgMzMzLjY2OCAyMTQuMzY3IDMyOC45NTcgMjE1LjggMzI4Ljc1M0MyMTcuMjM0IDMyOC41NDggMjMxLjE5NCAzMjQuODYxIDIzMS4zOTkgMzIzLjYzM0MyMzEuNjA0IDMyMi40MDQgMjY1LjY3IDMwOS44MjMgMjcwLjA5IDMxMy4wMTNDMjczLjAwMSAzMTUuMTE0IDI2My4xIDMxMy40MzcgMjUzLjQ2NiAzMTcuODQ3QzI1Mi4xMTEgMzE4LjQ2NyAyMTguMjU4IDMzMy4wNTQgMjE0Ljk4MSAzMzMuNjY4QzIxMS43MDQgMzM0LjI4MyAyMDUuNzY1IDMzOC4xNzQgMjAzLjMwNyAzMzguNzg4QzIwMC44NSAzMzkuNDAzIDE5Ni41MiAzNDEuNDAzIDE5Ni41MiAzNDEuNDAzeicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICMwMDAwMDAnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTE4OC42IDM0My42MDFDMTg4LjYgMzQzLjYwMSAxOTMuOCAzNDMuMjAxIDE5Mi42IDM0NC44MDFDMTkxLjQgMzQ2LjQwMSAxODkgMzQ1LjYwMSAxODkgMzQ1LjYwMUwxODguNiAzNDMuNjAxeicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICMwMDAwMDAnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTE4MS40IDM0NS4yMDFDMTgxLjQgMzQ1LjIwMSAxODYuNiAzNDQuODAxIDE4NS40IDM0Ni40MDFDMTg0LjIgMzQ4LjAwMSAxODEuOCAzNDcuMjAxIDE4MS44IDM0Ny4yMDFMMTgxLjQgMzQ1LjIwMXonKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjMDAwMDAwJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J00xNzEgMzQ2LjgwMUMxNzEgMzQ2LjgwMSAxNzYuMiAzNDYuNDAxIDE3NSAzNDguMDAxQzE3My44IDM0OS42MDEgMTcxLjQgMzQ4LjgwMSAxNzEuNCAzNDguODAxTDE3MSAzNDYuODAxeicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICMwMDAwMDAnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTE2My40IDM0Ny42MDFDMTYzLjQgMzQ3LjYwMSAxNjguNiAzNDcuMjAxIDE2Ny40IDM0OC44MDFDMTY2LjIgMzUwLjQwMSAxNjMuOCAzNDkuNjAxIDE2My44IDM0OS42MDFMMTYzLjQgMzQ3LjYwMXonKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjMDAwMDAwJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J00yMDEuOCAzMDguMDAxQzIwMS44IDMwOC4wMDEgMjA2LjIgMzA4LjAwMSAyMDUgMzA5LjYwMUMyMDMuOCAzMTEuMjAxIDIwMC42IDMxMC44MDEgMjAwLjYgMzEwLjgwMUwyMDEuOCAzMDguMDAxeicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICMwMDAwMDAnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTE5MS44IDMxMy42MDFDMTkxLjggMzEzLjYwMSAxOTguMzA2IDMxMS40NiAxOTUuOCAzMTQuODAxQzE5NC42IDMxNi40MDEgMTkyLjIgMzE1LjYwMSAxOTIuMiAzMTUuNjAxTDE5MS44IDMxMy42MDF6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogIzAwMDAwMCcpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMTgwLjYgMzE4LjQwMUMxODAuNiAzMTguNDAxIDE4NS44IDMxOC4wMDEgMTg0LjYgMzE5LjYwMUMxODMuNCAzMjEuMjAxIDE4MSAzMjAuNDAxIDE4MSAzMjAuNDAxTDE4MC42IDMxOC40MDF6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogIzAwMDAwMCcpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMTczIDMyNC40MDFDMTczIDMyNC40MDEgMTc4LjIgMzI0LjAwMSAxNzcgMzI1LjYwMUMxNzUuOCAzMjcuMjAxIDE3My40IDMyNi40MDEgMTczLjQgMzI2LjQwMUwxNzMgMzI0LjQwMXonKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjMDAwMDAwJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J00xNjYuMiAzMjkuMjAxQzE2Ni4yIDMyOS4yMDEgMTcxLjQgMzI4LjgwMSAxNzAuMiAzMzAuNDAxQzE2OSAzMzIuMDAxIDE2Ni42IDMzMS4yMDEgMTY2LjYgMzMxLjIwMUwxNjYuMiAzMjkuMjAxeicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICMwMDAwMDAnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTIwNS4yODIgMzM1LjU5OEMyMDUuMjgyIDMzNS41OTggMjEyLjIwMyAzMzUuMDY2IDIxMC42MDYgMzM3LjE5NUMyMDkuMDA5IDMzOS4zMjUgMjA1LjgxNCAzMzguMjYgMjA1LjgxNCAzMzguMjZMMjA1LjI4MiAzMzUuNTk4eicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICMwMDAwMDAnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTIxNS42ODIgMzMwLjc5OEMyMTUuNjgyIDMzMC43OTggMjIyLjYwMyAzMzAuMjY2IDIyMS4wMDYgMzMyLjM5NUMyMTkuNDA5IDMzNC41MjUgMjE2LjIxNCAzMzMuNDYgMjE2LjIxNCAzMzMuNDZMMjE1LjY4MiAzMzAuNzk4eicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICMwMDAwMDAnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTIyNi40ODIgMzI2LjM5OEMyMjYuNDgyIDMyNi4zOTggMjMzLjQwMyAzMjUuODY2IDIzMS44MDYgMzI3Ljk5NUMyMzAuMjA5IDMzMC4xMjUgMjI3LjAxNCAzMjkuMDYgMjI3LjAxNCAzMjkuMDZMMjI2LjQ4MiAzMjYuMzk4eicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICMwMDAwMDAnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTIzNi44ODIgMzIxLjU5OEMyMzYuODgyIDMyMS41OTggMjQzLjgwMyAzMjEuMDY2IDI0Mi4yMDYgMzIzLjE5NUMyNDAuNjA5IDMyNS4zMjUgMjM3LjQxNCAzMjQuMjYgMjM3LjQxNCAzMjQuMjZMMjM2Ljg4MiAzMjEuNTk4eicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICMwMDAwMDAnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTIwOS4yODIgMzAzLjU5OEMyMDkuMjgyIDMwMy41OTggMjE2LjIwMyAzMDMuMDY2IDIxNC42MDYgMzA1LjE5NUMyMTMuMDA5IDMwNy4zMjUgMjA5LjAxNCAzMDcuMDYgMjA5LjAxNCAzMDcuMDZMMjA5LjI4MiAzMDMuNTk4eicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICMwMDAwMDAnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTIxOS4yODIgMzAwLjM5OEMyMTkuMjgyIDMwMC4zOTggMjI2LjIwMyAyOTkuODY2IDIyNC42MDYgMzAxLjk5NUMyMjMuMDA5IDMwNC4xMjUgMjE4LjYxNCAzMDMuODYgMjE4LjYxNCAzMDMuODZMMjE5LjI4MiAzMDAuMzk4eicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICMwMDAwMDAnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTE5Ni42IDM0MC40MDFDMTk2LjYgMzQwLjQwMSAyMDEuOCAzNDAuMDAxIDIwMC42IDM0MS42MDFDMTk5LjQgMzQzLjIwMSAxOTcgMzQyLjQwMSAxOTcgMzQyLjQwMUwxOTYuNiAzNDAuNDAxeicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICM5OTI2MDAnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTEyMy40IDI0MS4yQzEyMy40IDI0MS4yIDExOSAyNTAgMTE4LjYgMjUzLjJDMTE4LjYgMjUzLjIgMTE5LjQgMjQ0LjQgMTIwLjYgMjQyLjRDMTIxLjggMjQwLjQgMTIzLjQgMjQxLjIgMTIzLjQgMjQxLjJ6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogIzk5MjYwMCcpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMTA1IDI1NS4yQzEwNSAyNTUuMiAxMDEuOCAyNjkuNiAxMDIuMiAyNzIuNEMxMDIuMiAyNzIuNCAxMDEgMjYwLjggMTAxLjQgMjU5LjZDMTAxLjggMjU4LjQgMTA1IDI1NS4yIDEwNSAyNTUuMnonKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjY2NjY2NjJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J00xMjUuOCAxODAuNkwxMjUuNiAxODMuOEwxMjMuNCAxODRDMTIzLjQgMTg0IDEzNy42IDE5Ni42IDEzOC4yIDIwNC4yQzEzOC4yIDIwNC4yIDEzOSAxOTYgMTI1LjggMTgwLjZ6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogIzAwMDAwMCcpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMTI5Ljc4NCAxODEuODY1QzEyOS4zNTMgMTgxLjQ0OSAxMjkuNTcyIDE4MC43MDQgMTI5LjE2NCAxODAuNDQ0QzEyOC4zNTUgMTc5LjkyOCAxMzAuNDYyIDE3OS44NzEgMTMwLjIzNCAxNzkuMTU1QzEyOS44NTEgMTc3Ljk0OSAxMzAuMDM4IDE3Ny45MjggMTI5LjkxNiAxNzYuNjUyQzEyOS44NTkgMTc2LjA1NCAxMzAuNDQ3IDE3NC41MTQgMTMwLjgzMiAxNzQuMDc0QzEzMi4yNzggMTcyLjQyMiAxMzAuOTU0IDE2OS40OSAxMzIuNTk0IDE2Ny45MzlDMTMyLjg5OCAxNjcuNjUgMTMzLjI3NCAxNjcuMDk4IDEzMy41NTkgMTY2LjY4QzEzNC4yMTggMTY1LjcxNyAxMzUuNDAyIDE2NS4yMjkgMTM2LjM1MiAxNjQuNDAxQzEzNi42NyAxNjQuMTI1IDEzNi40NjkgMTYzLjI5OCAxMzcuMDM4IDE2My4zOUMxMzcuNzUyIDE2My41MDUgMTM4Ljk5MyAxNjMuMzc1IDEzOC45NDggMTY0LjIxNkMxMzguODM1IDE2Ni4zMzYgMTM3LjUwNiAxNjguMDU2IDEzNi4yMjYgMTY5LjcyNEMxMzYuNjc3IDE3MC40MjggMTM2LjIxOSAxNzEuMDYzIDEzNS45MzUgMTcxLjYyQzEzNC42IDE3NC4yNCAxMzQuNzg5IDE3Ny4wODEgMTM0LjYxNSAxNzkuOTIxQzEzNC42MSAxODAuMDA2IDEzNC4zMDMgMTgwLjA4NCAxMzQuMzExIDE4MC4xMzdDMTM0LjY2NCAxODIuNDcyIDEzNS4yNDggMTg0LjY3MSAxMzYuMTI3IDE4Ni45QzEzNi40OTMgMTg3LjgzIDEzNi45NjQgMTg4LjcyNSAxMzcuMTE0IDE4OS42NTJDMTM3LjIyNSAxOTAuMzM4IDEzNy4zMjggMTkxLjE3MSAxMzYuOTIgMTkxLjg3NkMxMzguOTU1IDE5NC43NjYgMTM3LjY0NiAxOTcuNDE3IDEzOC44MTUgMjAwLjk0OEMxMzkuMDIyIDIwMS41NzMgMTQwLjcxNCAyMDMuNDg3IDE0MC4yNTEgMjAzLjMyNkMxMzcuNzM4IDIwMi40NTUgMTM3LjYyNiAyMDIuMDU3IDEzNy40NDkgMjAxLjMwNEMxMzcuMzAzIDIwMC42ODEgMTM2Ljk3MyAxOTkuMzA0IDEzNi43MzYgMTk4LjcwMkMxMzYuNjcyIDE5OC41MzggMTM2LjUwMSAxOTYuNjU0IDEzNi40MjMgMTk2LjUzMkMxMzQuOTEgMTk0LjE1IDEzNi4yNjggMTk0LjMyNiAxMzQuODk4IDE5MS45NjhDMTMzLjQ3IDE5MS4yODggMTMyLjUwNCAxOTAuMTg0IDEzMS4zODEgMTg5LjAyMkMxMzEuMTgzIDE4OC44MTggMTMyLjMyNiAxODguMDk0IDEzMi4xNDUgMTg3Ljg4MUMxMzEuMDUzIDE4Ni41OTIgMTI5LjkgMTg1LjgyNSAxMzAuMjM2IDE4NC4zMzJDMTMwLjM5MSAxODMuNjQyIDEzMC41MjggMTgyLjU4NSAxMjkuNzg0IDE4MS44NjV6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogIzAwMDAwMCcpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMTI2LjIgMTgzLjZDMTI2LjIgMTgzLjYgMTI2LjYgMTkwLjQgMTI5IDE5MkMxMzEuNCAxOTMuNiAxMzAuMiAxOTIuOCAxMjcgMTkxLjZDMTIzLjggMTkwLjQgMTI1IDE4OS42IDEyNSAxODkuNkMxMjUgMTg5LjYgMTIyLjIgMTkwIDEyNC42IDE5MkMxMjcgMTk0IDEzMC42IDE5Ni40IDEyOSAxOTYuNEMxMjcuNCAxOTYuNCAxMTkuOCAxOTIuNCAxMTkuOCAxODkuNkMxMTkuOCAxODYuOCAxMTguOCAxODIuNyAxMTguOCAxODIuN0MxMTguOCAxODIuNyAxMTkuOSAxODEuOSAxMjQuNyAxODJDMTI0LjcgMTgyIDEyNi4xIDE4Mi43IDEyNi4yIDE4My42eicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICNmZmZmZmY7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC4xJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J00xMjUuNCAyMDIuMkMxMjUuNCAyMDIuMiAxMTYuODggMTk5LjQwOSA5OC40IDIwMi44Qzk4LjQgMjAyLjggMTA3LjQzMSAyMDAuNzIyIDEyNi4yIDIwM0MxMzYuNSAyMDQuMjUgMTI1LjQgMjAyLjIgMTI1LjQgMjAyLjJ6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogI2ZmZmZmZjsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjEnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTEyNy40OTggMjAyLjEyOUMxMjcuNDk4IDIwMi4xMjkgMTE5LjI1MiAxOTguNjExIDEwMC41NDcgMjAwLjM5MkMxMDAuNTQ3IDIwMC4zOTIgMTA5LjcyNSAxOTkuMTAzIDEyOC4yMjYgMjAyLjk5NUMxMzguMzggMjA1LjEzMSAxMjcuNDk4IDIwMi4xMjkgMTI3LjQ5OCAyMDIuMTI5eicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICNmZmZmZmY7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC4xJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J00xMjkuMjg2IDIwMi4yMjJDMTI5LjI4NiAyMDIuMjIyIDEyMS4zMjQgMTk4LjEwMSAxMDIuNTM5IDE5OC40ODZDMTAyLjUzOSAxOTguNDg2IDExMS43ODcgMTk3Ljg4MiAxMjkuOTQ4IDIwMy4xNEMxMzkuOTE0IDIwNi4wMjUgMTI5LjI4NiAyMDIuMjIyIDEyOS4yODYgMjAyLjIyMnonKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjZmZmZmZmOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuMScpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMTMwLjU1NiAyMDIuNDQ1QzEzMC41NTYgMjAyLjQ0NSAxMjMuNzMyIDE5OC4xMzggMTA2Ljg1OCAxOTcuMDRDMTA2Ljg1OCAxOTcuMDQgMTE1LjE5NyAxOTcuMjEgMTMxLjA3OCAyMDMuMzE5QzEzOS43OTQgMjA2LjY3MiAxMzAuNTU2IDIwMi40NDUgMTMwLjU1NiAyMDIuNDQ1eicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICNmZmZmZmY7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC4xJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J00yNDUuODQgMjEyLjk2MUMyNDUuODQgMjEyLjk2MSAyNDQuOTEgMjEzLjYwNSAyNDUuMTI0IDIxMi40MjRDMjQ1LjMzOSAyMTEuMjQzIDI3My41NDcgMTk4LjA3MyAyNzcuMTYxIDE5OC4zMjNDMjc3LjE2MSAxOTguMzIzIDI0Ni45MTMgMjExLjUyOSAyNDUuODQgMjEyLjk2MXonKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjZmZmZmZmOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuMScpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMjQyLjQ0NiAyMTMuNkMyNDIuNDQ2IDIxMy42IDI0MS41NyAyMTQuMzE1IDI0MS42OTEgMjEzLjEyMUMyNDEuODEyIDIxMS45MjcgMjY4Ljg5OSAxOTYuNTgyIDI3Mi41MjEgMTk2LjU0OEMyNzIuNTIxIDE5Ni41NDggMjQzLjQwNCAyMTIuMDg5IDI0Mi40NDYgMjEzLjZ6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogI2ZmZmZmZjsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjEnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTIzOS4xNiAyMTQuOTc1QzIzOS4xNiAyMTQuOTc1IDIzOC4zMzIgMjE1Ljc0NyAyMzguMzc0IDIxNC41NDdDMjM4LjQxNiAyMTMuMzQ4IDI1OC4yMzMgMTk3Ljg1MSAyNjguMDQ1IDE5NS45NzdDMjY4LjA0NSAxOTUuOTc3IDI1MC4wMTUgMjA0LjEwNCAyMzkuMTYgMjE0Ljk3NXonKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjZmZmZmZmOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuMScpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMjM2LjI4NCAyMTYuODM4QzIzNi4yODQgMjE2LjgzOCAyMzUuNTM5IDIxNy41MzIgMjM1LjU3NyAyMTYuNDUzQzIzNS42MTUgMjE1LjM3MyAyNTMuNDQ5IDIwMS40MjYgMjYyLjI4IDE5OS43NEMyNjIuMjggMTk5Ljc0IDI0Ni4wNTQgMjA3LjA1NCAyMzYuMjg0IDIxNi44Mzh6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogI2NjY2NjYycpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMjA0LjYgMzY0LjgwMUMyMDQuNiAzNjQuODAxIDE4OS40IDM2Mi40MDEgMjA2LjIgMzYwLjgwMUMyMDYuMiAzNjAuODAxIDIyNC4yIDM1OC44MDEgMjI4LjIgMzUzLjYwMUMyMjguMiAzNTMuNjAxIDI0MS44IDM0NC40MDEgMjQ0LjYgMzQ0LjAwMUMyNDcuNCAzNDMuNjAxIDI2My44IDM0MC4wMDEgMjY0LjIgMzM3LjYwMUMyNjQuNiAzMzUuMjAxIDI3MC42IDMzMi44MDEgMjcyLjIgMzMzLjYwMUMyNzMuOCAzMzQuNDAxIDI3My44IDM0My42MDEgMjcxIDM0NC40MDFDMjY4LjIgMzQ1LjIwMSAyNDkuNCAzNTIuNDAxIDI0MyAzNTMuNjAxQzIzNi42IDM1NC44MDEgMjI1IDM2Mi40MDEgMjIwLjIgMzYzLjYwMUMyMTUuNCAzNjQuODAxIDIwNC42IDM2NC44MDEgMjA0LjYgMzY0LjgwMXonKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjMDAwMDAwJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J00yNzcuNiAzMjcuNDAxQzI3Ny42IDMyNy40MDEgMjc0LjYgMzI5LjAwMSAyNzMuNCAzMzEuNjAxQzI3My40IDMzMS42MDEgMjY3IDM0Mi4yMDEgMjUyLjggMzQ1LjQwMUMyNTIuOCAzNDUuNDAxIDIyOS44IDM1NC40MDEgMjIyIDM1Ni40MDFDMjIyIDM1Ni40MDEgMjA4LjYgMzYxLjQwMSAyMDEuMiAzNjAuNjAxQzIwMS4yIDM2MC42MDEgMTk0LjIgMzYwLjgwMSAyMDAuNCAzNjIuNDAxQzIwMC40IDM2Mi40MDEgMjIwLjYgMzYwLjQwMSAyMjQgMzU4LjYwMUMyMjQgMzU4LjYwMSAyMzkuNiAzNTMuNDAxIDI0Mi42IDM1MC44MDFDMjQ1LjYgMzQ4LjIwMSAyNjMuOCAzNDMuMjAxIDI2NiAzNDEuMjAxQzI2OC4yIDMzOS4yMDEgMjc4IDMzMC44MDEgMjc3LjYgMzI3LjQwMXonKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjMDAwMDAwJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J00yMTguODgyIDM1OC45MTFDMjE4Ljg4MiAzNTguOTExIDIyNC4xMTEgMzU4LjY4NSAyMjIuOTU4IDM2MC4yMzRDMjIxLjgwNSAzNjEuNzg0IDIxOS4zNTcgMzYwLjkxIDIxOS4zNTcgMzYwLjkxTDIxOC44ODIgMzU4LjkxMXonKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjMDAwMDAwJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J00yMTEuNjggMzYwLjI2M0MyMTEuNjggMzYwLjI2MyAyMTYuOTA4IDM2MC4wMzcgMjE1Ljc1NiAzNjEuNTg2QzIxNC42MDMgMzYzLjEzNiAyMTIuMTU1IDM2Mi4yNjMgMjEyLjE1NSAzNjIuMjYzTDIxMS42OCAzNjAuMjYzeicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICMwMDAwMDAnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTIwMS4yNTEgMzYxLjUxMUMyMDEuMjUxIDM2MS41MTEgMjA2LjQ4IDM2MS4yODQgMjA1LjMyNyAzNjIuODM0QzIwNC4xNzQgMzY0LjM4MyAyMDEuNzI2IDM2My41MSAyMDEuNzI2IDM2My41MUwyMDEuMjUxIDM2MS41MTF6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogIzAwMDAwMCcpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMTkzLjYxNyAzNjIuMDU1QzE5My42MTcgMzYyLjA1NSAxOTguODQ2IDM2MS44MjkgMTk3LjY5MyAzNjMuMzc4QzE5Ni41NCAzNjQuOTI4IDE5NC4wOTIgMzY0LjA1NCAxOTQuMDkyIDM2NC4wNTRMMTkzLjYxNyAzNjIuMDU1eicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICMwMDAwMDAnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTIzNS40MTUgMzUxLjUxM0MyMzUuNDE1IDM1MS41MTMgMjQyLjM3NSAzNTEuMjEyIDI0MC44NCAzNTMuMjc0QzIzOS4zMDYgMzU1LjMzNiAyMzYuMDQ3IDM1NC4xNzQgMjM2LjA0NyAzNTQuMTc0TDIzNS40MTUgMzUxLjUxM3onKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjMDAwMDAwJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J00yNDUuNzMgMzQ3LjA4OEMyNDUuNzMgMzQ3LjA4OCAyNTEuNjg5IDM0My43ODcgMjUxLjE1NSAzNDguODQ5QzI1MC44ODUgMzUxLjQwNSAyNDYuMzYyIDM0OS43NDkgMjQ2LjM2MiAzNDkuNzQ5TDI0NS43MyAzNDcuMDg4eicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICMwMDAwMDAnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTI1NC44NjIgMzQ0LjI3NEMyNTQuODYyIDM0NC4yNzQgMjYyLjAyMSAzNDAuNTczIDI2MC4yODcgMzQ2LjAzNUMyNTkuNTA5IDM0OC40ODUgMjU1LjQ5MyAzNDYuOTM1IDI1NS40OTMgMzQ2LjkzNUwyNTQuODYyIDM0NC4yNzR6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogIzAwMDAwMCcpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMjY0LjM3NiAzMzkuNDQ5QzI2NC4zNzYgMzM5LjQ0OSAyNjguNzM1IDMzNC41NDggMjY5LjgwMSAzNDEuMjFDMjcwLjIwNyAzNDMuNzQ4IDI2NS4wMDggMzQyLjExIDI2NS4wMDggMzQyLjExTDI2NC4zNzYgMzM5LjQ0OXonKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjMDAwMDAwJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J00yMjYuODM0IDM1NS45OTdDMjI2LjgzNCAzNTUuOTk3IDIzMi4wNjIgMzU1Ljc3IDIzMC45MSAzNTcuMzJDMjI5Ljc1NyAzNTguODY5IDIyNy4zMDggMzU3Ljk5NiAyMjcuMzA4IDM1Ny45OTZMMjI2LjgzNCAzNTUuOTk3eicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICNmZmZmZmY7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC4xJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J00yNjIuNDM0IDIzNC42MDNDMjYyLjQzNCAyMzQuNjAzIDI2MS43MDggMjM1LjI2OCAyNjEuNzA3IDIzNC4xOTdDMjYxLjcwNyAyMzMuMTI3IDI3OS4xOTEgMjE5Ljg2MyAyODguMDM0IDIxOC40NzlDMjg4LjAzNCAyMTguNDc5IDI3MS45MzUgMjI1LjIwOCAyNjIuNDM0IDIzNC42MDN6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogIzAwMDAwMCcpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMjY1LjQgMjk4LjRDMjY1LjQgMjk4LjQgMjg3LjQwMSAzMjAuODAxIDI5Ni42MDEgMzI0LjQwMUMyOTYuNjAxIDMyNC40MDEgMzA1LjgwMSAzMzUuNjAxIDMwMS44MDEgMzYxLjYwMUMzMDEuODAxIDM2MS42MDEgMjk4LjYwMSAzNjkuMjAxIDI5NS40MDEgMzQ4LjQwMUMyOTUuNDAxIDM0OC40MDEgMjk4LjYwMSAzMjMuMjAxIDI4Ny40MDEgMzM5LjIwMUMyODcuNDAxIDMzOS4yMDEgMjc5IDMyOS4zMDEgMjg1LjQgMzI5LjYwMUMyODUuNCAzMjkuNjAxIDI4OC42MDEgMzMxLjYwMSAyODkuMDAxIDMzMC4wMDFDMjg5LjQwMSAzMjguNDAxIDI4MS40IDMxNC44MDEgMjY0LjIgMzAwLjRDMjQ3IDI4NiAyNjUuNCAyOTguNCAyNjUuNCAyOTguNHonKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjZmZmZmZmOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuMScpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMjA3IDMzNy4yMDFDMjA3IDMzNy4yMDEgMjA2LjggMzM1LjQwMSAyMDguNiAzMzYuMjAxQzIxMC40IDMzNy4wMDEgMzA0LjYwMSAzNDMuMjAxIDMzNi4yMDEgMzY3LjIwMUMzMzYuMjAxIDM2Ny4yMDEgMjkxLjAwMSAzNDQuMDAxIDIwNyAzMzcuMjAxeicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICNmZmZmZmY7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC4xJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J00yMTcuNCAzMzIuODAxQzIxNy40IDMzMi44MDEgMjE3LjIgMzMxLjAwMSAyMTkgMzMxLjgwMUMyMjAuOCAzMzIuNjAxIDM1Ny40MDEgMzMxLjYwMSAzODEuMDAxIDM2NC4wMDFDMzgxLjAwMSAzNjQuMDAxIDM1OS4wMDEgMzM4LjgwMSAyMTcuNCAzMzIuODAxeicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICNmZmZmZmY7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC4xJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J00yMjkgMzI4LjgwMUMyMjkgMzI4LjgwMSAyMjguOCAzMjcuMDAxIDIzMC42IDMyNy44MDFDMjMyLjQgMzI4LjYwMSA0MDUuODAxIDMxNS42MDEgNDI5LjQwMSAzNDguMDAxQzQyOS40MDEgMzQ4LjAwMSA0MTkuODAxIDMyMi40MDEgMjI5IDMyOC44MDF6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogI2ZmZmZmZjsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjEnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTIzOSAzMjQuMDAxQzIzOSAzMjQuMDAxIDIzOC44IDMyMi4yMDEgMjQwLjYgMzIzLjAwMUMyNDIuNCAzMjMuODAxIDM2NC42MDEgMjg1LjIgMzg4LjIwMSAzMTcuNjAxQzM4OC4yMDEgMzE3LjYwMSAzNzQuODAxIDI5MyAyMzkgMzI0LjAwMXonKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjZmZmZmZmOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuMScpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMTgxIDM0Ni44MDFDMTgxIDM0Ni44MDEgMTgwLjggMzQ1LjAwMSAxODIuNiAzNDUuODAxQzE4NC40IDM0Ni42MDEgMjAyLjIgMzQ4LjgwMSAyMDQuMiAzODcuNjAxQzIwNC4yIDM4Ny42MDEgMTk3IDM0NS42MDEgMTgxIDM0Ni44MDF6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogI2ZmZmZmZjsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjEnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTE3Mi4yIDM0OC40MDFDMTcyLjIgMzQ4LjQwMSAxNzIgMzQ2LjYwMSAxNzMuOCAzNDcuNDAxQzE3NS42IDM0OC4yMDEgMTg5LjggMzQzLjYwMSAxODcgMzgyLjQwMUMxODcgMzgyLjQwMSAxODguMiAzNDcuMjAxIDE3Mi4yIDM0OC40MDF6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogI2ZmZmZmZjsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjEnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTE2NC4yIDM0OC44MDFDMTY0LjIgMzQ4LjgwMSAxNjQgMzQ3LjAwMSAxNjUuOCAzNDcuODAxQzE2Ny42IDM0OC42MDEgMTgzIDM0OS4yMDEgMTcwLjYgMzcxLjYwMUMxNzAuNiAzNzEuNjAxIDE4MC4yIDM0Ny42MDEgMTY0LjIgMzQ4LjgwMXonKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjZmZmZmZmOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuMScpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMjExLjUyNiAzMDQuNDY1QzIxMS41MjYgMzA0LjQ2NSAyMTEuMDgyIDMwNi40NjQgMjEyLjYzMSAzMDUuMjQ3QzIyOC42OTkgMjkyLjYyMiAyNjEuMTQxIDIzMy43MiAzMTYuODI2IDIyOC4wODZDMzE2LjgyNiAyMjguMDg2IDI3OC41MTggMjE1Ljk3NiAyMTEuNTI2IDMwNC40NjV6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogI2ZmZmZmZjsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjEnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTIyMi43MjYgMzAyLjY2NUMyMjIuNzI2IDMwMi42NjUgMjIxLjM2MyAzMDEuNDcyIDIyMy4yMzEgMzAwLjg0N0MyMjUuMDk5IDMwMC4yMjIgMzM3LjU0MSAyMjcuNzIgMzc2LjgyNiAyMzUuNjg2QzM3Ni44MjYgMjM1LjY4NiAzNDkuNzE5IDIyOC4xNzYgMjIyLjcyNiAzMDIuNjY1eicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICNmZmZmZmY7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC4xJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J00yMDEuODg1IDMwOC43NjdDMjAxLjg4NSAzMDguNzY3IDIwMS4zNzYgMzEwLjM2NiAyMDMuMDg3IDMwOS4zOUMyMTIuMDYyIDMwNC4yNyAyMTUuNjc3IDI0Ny4wNTkgMjU5LjI1NCAyNDUuODA0QzI1OS4yNTQgMjQ1LjgwNCAyMjYuODQzIDIzMS4wOSAyMDEuODg1IDMwOC43Njd6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogI2ZmZmZmZjsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjEnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTE4MS45NjIgMzE5Ljc5M0MxODEuOTYyIDMxOS43OTMgMTgwLjg4NSAzMjEuMDc5IDE4Mi44MzggMzIwLjgyNUMxOTMuMDg0IDMxOS40OTMgMjE0LjQ4OSAyNzguMjIyIDI1OC45MjggMjgzLjMwMUMyNTguOTI4IDI4My4zMDEgMjI2Ljk2MiAyNjguOTU1IDE4MS45NjIgMzE5Ljc5M3onKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjZmZmZmZmOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuMScpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMTkzLjIgMzEzLjY2N0MxOTMuMiAzMTMuNjY3IDE5Mi4zODkgMzE1LjEzNiAxOTQuMjU4IDMxNC41MTFDMjA0LjA1NyAzMTEuMjM3IDIxNy4xNDEgMjY2LjYyNSAyNjEuNzI5IDI2My4wNzhDMjYxLjcyOSAyNjMuMDc4IDIyNy42MDMgMjU1LjEzNSAxOTMuMiAzMTMuNjY3eicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICNmZmZmZmY7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC4xJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J00xNzQuOTIyIDMyNC45MTJDMTc0LjkyMiAzMjQuOTEyIDE3NC4wNDkgMzI1Ljk1NCAxNzUuNjMxIDMyNS43NDhDMTgzLjkzIDMyNC42NjkgMjAxLjI2OCAyOTEuMjQgMjM3LjI2NCAyOTUuMzU0QzIzNy4yNjQgMjk1LjM1NCAyMTEuMzcxIDI4My43MzQgMTc0LjkyMiAzMjQuOTEyeicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICNmZmZmZmY7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC4xJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J00xNjcuMzIzIDMzMC44MjFDMTY3LjMyMyAzMzAuODIxIDE2Ni4zMTggMzMxLjg2NiAxNjcuOTA5IDMzMS43NDhDMTcyLjA3NyAzMzEuNDM5IDIwMi43MTUgMjk4LjM2IDIyMS4xODMgMzEzLjg2MkMyMjEuMTgzIDMxMy44NjIgMjA5LjE2OCAyOTUuMTM5IDE2Ny4zMjMgMzMwLjgyMXonKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjZmZmZmZmOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuMScpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMjM2Ljg1NSAyOTguODk4QzIzNi44NTUgMjk4Ljg5OCAyMzUuNjU0IDI5Ny41NDMgMjM3LjU4NiAyOTcuMTU4QzIzOS41MTggMjk2Ljc3NCAzNjAuMjIxIDIzOS4wNjEgMzk4LjE4NCAyNTEuOTI3QzM5OC4xODQgMjUxLjkyNyAzNzIuMjQzIDI0MS4wNTMgMjM2Ljg1NSAyOTguODk4eicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICNmZmZmZmY7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC4xJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J00yMDMuNCAzNjMuMjAxQzIwMy40IDM2My4yMDEgMjAzLjIgMzYxLjQwMSAyMDUgMzYyLjIwMUMyMDYuOCAzNjMuMDAxIDIyMi4yIDM2My42MDEgMjA5LjggMzg2LjAwMUMyMDkuOCAzODYuMDAxIDIxOS40IDM2Mi4wMDEgMjAzLjQgMzYzLjIwMXonKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjZmZmZmZmOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuMScpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMjEzLjggMzYxLjYwMUMyMTMuOCAzNjEuNjAxIDIxMy42IDM1OS44MDEgMjE1LjQgMzYwLjYwMUMyMTcuMiAzNjEuNDAxIDIzNSAzNjMuNjAxIDIzNyA0MDIuNDAxQzIzNyA0MDIuNDAxIDIyOS44IDM2MC40MDEgMjEzLjggMzYxLjYwMXonKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjZmZmZmZmOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuMScpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMjIwLjYgMzYwLjAwMUMyMjAuNiAzNjAuMDAxIDIyMC40IDM1OC4yMDEgMjIyLjIgMzU5LjAwMUMyMjQgMzU5LjgwMSAyNDguNiAzNjMuMjAxIDI3Mi4yIDM5NS42MDFDMjcyLjIgMzk1LjYwMSAyMzYuNiAzNTguODAxIDIyMC42IDM2MC4wMDF6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogI2ZmZmZmZjsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjEnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTIyOC4yMjUgMzU3Ljk3MkMyMjguMjI1IDM1Ny45NzIgMjI3Ljc4OCAzNTYuMjE0IDIyOS42NzggMzU2Ljc2OEMyMzEuNTY4IDM1Ny4zMjIgMjUyLjAwMiAzNTUuNDIzIDI5MC4wOTkgMzg5LjU5OUMyOTAuMDk5IDM4OS41OTkgMjQzLjkyNCAzNTQuNjU2IDIyOC4yMjUgMzU3Ljk3MnonKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjZmZmZmZmOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuMScpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMjM4LjYyNSAzNTMuNTcyQzIzOC42MjUgMzUzLjU3MiAyMzguMTg4IDM1MS44MTQgMjQwLjA3OCAzNTIuMzY4QzI0MS45NjggMzUyLjkyMiAyNzYuODAyIDM1Ny40MjMgMzI4LjQ5OSAzOTIuMzk5QzMyOC40OTkgMzkyLjM5OSAyNTQuMzI0IDM1MC4yNTYgMjM4LjYyNSAzNTMuNTcyeicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICNmZmZmZmY7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC4xJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J00xOTguMiAzNDIuMDAxQzE5OC4yIDM0Mi4wMDEgMTk4IDM0MC4yMDEgMTk5LjggMzQxLjAwMUMyMDEuNiAzNDEuODAxIDI1NSAzNDQuNDAxIDI4NS40IDM3MS4yMDFDMjg1LjQgMzcxLjIwMSAyNTAuNDk5IDM0Ni40MjYgMTk4LjIgMzQyLjAwMXonKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjZmZmZmZmOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuMScpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMTg4LjIgMzQ2LjAwMUMxODguMiAzNDYuMDAxIDE4OCAzNDQuMjAxIDE4OS44IDM0NS4wMDFDMTkxLjYgMzQ1LjgwMSAyMTYuMiAzNDkuMjAxIDIzOS44IDM4MS42MDFDMjM5LjggMzgxLjYwMSAyMDQuMiAzNDQuODAxIDE4OC4yIDM0Ni4wMDF6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogI2ZmZmZmZjsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjEnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTI0OS41MDMgMzQ4Ljk2MkMyNDkuNTAzIDM0OC45NjIgMjQ4LjkzOCAzNDcuMjQxIDI1MC44NjQgMzQ3LjY1NUMyNTIuNzkgMzQ4LjA2OCAyODcuODYgMzUwLjAwNCAzNDEuOTgxIDM4MS4wOThDMzQxLjk4MSAzODEuMDk4IDI2NC4zMTcgMzQ2LjcwNCAyNDkuNTAzIDM0OC45NjJ6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogI2ZmZmZmZjsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjEnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTI1Ny45MDMgMzQ2LjU2MkMyNTcuOTAzIDM0Ni41NjIgMjU3LjMzOCAzNDQuODQxIDI1OS4yNjQgMzQ1LjI1NUMyNjEuMTkgMzQ1LjY2OCAyOTYuMjYgMzQ3LjYwNCAzNTAuMzgxIDM3OC42OThDMzUwLjM4MSAzNzguNjk4IDI3My4zMTcgMzQzLjkwNCAyNTcuOTAzIDM0Ni41NjJ6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogI2ZmZmZmZjsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjEnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTI2Ny41MDMgMzQxLjU2MkMyNjcuNTAzIDM0MS41NjIgMjY2LjkzOCAzMzkuODQxIDI2OC44NjQgMzQwLjI1NUMyNzAuNzkgMzQwLjY2OCAzMTMuODYgMzQ1LjAwNCA0MDMuNTgyIDM3OS4yOThDNDAzLjU4MiAzNzkuMjk4IDI4Mi45MTcgMzM4LjkwNCAyNjcuNTAzIDM0MS41NjJ6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogIzAwMDAwMCcpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMTU2LjIgMzQ4LjQwMUMxNTYuMiAzNDguNDAxIDE2MS40IDM0OC4wMDEgMTYwLjIgMzQ5LjYwMUMxNTkgMzUxLjIwMSAxNTYuNiAzNTAuNDAxIDE1Ni42IDM1MC40MDFMMTU2LjIgMzQ4LjQwMXonKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjMDAwMDAwJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J00xODcgMzYyLjQwMUMxODcgMzYyLjQwMSAxOTIuMiAzNjIuMDAxIDE5MSAzNjMuNjAxQzE4OS44IDM2NS4yMDEgMTg3LjQgMzY0LjQwMSAxODcuNCAzNjQuNDAxTDE4NyAzNjIuNDAxeicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICMwMDAwMDAnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTE3OC4yIDM2Mi4wMDFDMTc4LjIgMzYyLjAwMSAxODMuNCAzNjEuNjAxIDE4Mi4yIDM2My4yMDFDMTgxIDM2NC44MDEgMTc4LjYgMzY0LjAwMSAxNzguNiAzNjQuMDAxTDE3OC4yIDM2Mi4wMDF6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogIzAwMDAwMCcpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNODIuODMxIDM1MC4xODJDODIuODMxIDM1MC4xODIgODcuODc2IDM1MS41MDUgODYuMjE4IDM1Mi42MjRDODQuNTYxIDM1My43NDQgODIuNTU0IDM1Mi4yMDIgODIuNTU0IDM1Mi4yMDJMODIuODMxIDM1MC4xODJ6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogIzAwMDAwMCcpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNODQuODMxIDM0MC41ODJDODQuODMxIDM0MC41ODIgODkuODc2IDM0MS45MDUgODguMjE4IDM0My4wMjRDODYuNTYxIDM0NC4xNDQgODQuNTU0IDM0Mi42MDIgODQuNTU0IDM0Mi42MDJMODQuODMxIDM0MC41ODJ6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogIzAwMDAwMCcpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNNzcuNjMxIDMzNi4xODJDNzcuNjMxIDMzNi4xODIgODIuNjc2IDMzNy41MDUgODEuMDE4IDMzOC42MjRDNzkuMzYxIDMzOS43NDQgNzcuMzU0IDMzOC4yMDIgNzcuMzU0IDMzOC4yMDJMNzcuNjMxIDMzNi4xODJ6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogI2NjY2NjYycpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMTU3LjQgNDExLjIwMUMxNTcuNCA0MTEuMjAxIDE1NS44IDQxMS4yMDEgMTUxLjggNDEzLjIwMUMxNDkuOCA0MTMuMjAxIDEzOC42IDQxNi44MDEgMTMzIDQyNi44MDFDMTMzIDQyNi44MDEgMTQ1LjQgNDE3LjIwMSAxNTcuNCA0MTEuMjAxeicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICNjY2NjY2MnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTI0NS4xMTYgNTAzLjg0N0MyNDUuMjU3IDUwNC4xMDUgMjQ1LjMxMiA1MDQuNTI1IDI0NS42MDQgNTA0LjU0MkMyNDYuMjYyIDUwNC41ODIgMjQ3LjQ5NSA1MDQuODgzIDI0Ny4zNyA1MDQuMjQ3QzI0Ni41MjIgNDk5Ljk0MSAyNDUuNjQ4IDQ5NS4wMDQgMjQxLjUxNSA0OTMuMTk3QzI0MC44NzYgNDkyLjkxOCAyMzkuNDM0IDQ5My4zMzEgMjM5LjM2IDQ5NC4yMTVDMjM5LjIzMyA0OTUuNzM5IDIzOS4xMTYgNDk3LjA4OCAyMzkuNDI1IDQ5OC41NTRDMjM5LjcyNSA0OTkuOTc1IDI0MS44ODMgNDk5Ljk4NSAyNDIuOCA0OTguNjAxQzI0My43MzYgNTAwLjI3MyAyNDQuMTY4IDUwMi4xMTYgMjQ1LjExNiA1MDMuODQ3eicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICNjY2NjY2MnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTIzNC4wMzggNTA4LjU4MUMyMzQuNzg2IDUwOS45OTQgMjM0LjY1OSA1MTEuODUzIDIzNi4wNzQgNTEyLjQxNkMyMzYuODE0IDUxMi43MSAyMzguNjY0IDUxMS43MzUgMjM4LjI0NiA1MTAuNjYxQzIzNy40NDQgNTA4LjYgMjM3LjA1NiA1MDYuMzYxIDIzNS42NjcgNTA0LjU1QzIzNS40NjcgNTA0LjI4OCAyMzUuNzA3IDUwMy43NTUgMjM1LjU0NyA1MDMuNDI3QzIzNC45NTMgNTAyLjIwNyAyMzMuODA4IDUwMS40NzIgMjMyLjQgNTAxLjgwMUMyMzEuMjg1IDUwNC4wMDQgMjMyLjQzMyA1MDYuMTMzIDIzMy45NTUgNTA3Ljg0MkMyMzQuMDkxIDUwNy45OTQgMjMzLjkyNSA1MDguMzcgMjM0LjAzOCA1MDguNTgxeicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICNjY2NjY2MnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTE5NC40MzYgNTAzLjM5MUMxOTQuMzI4IDUwMy4wMTQgMTk0LjI5IDUwMi41NTEgMTk0LjQ1NSA1MDIuMjNDMTk0Ljk4NiA1MDEuMTk3IDE5NS43NzkgNTAwLjA3NSAxOTUuNDQyIDQ5OS4wNTNDMTk1LjA5NCA0OTcuOTk3IDE5My45NzggNDk4LjE3OSAxOTMuMzI4IDQ5OC43NDhDMTkyLjE5MyA0OTkuNzQyIDE5Mi4xNDQgNTAxLjU2OCAxOTEuNDUzIDUwMi45MjdDMTkxLjI1NyA1MDMuMzEzIDE5MS4zMDggNTAzLjg4NiAxOTAuODY3IDUwNC4yNzdDMTkwLjM5MyA1MDQuNjk4IDE4OS45NTMgNTA2LjIyMiAxOTAuMDQ5IDUwNi43OTNDMTkwLjEwMiA1MDcuMTA2IDE4OS45MTkgNTE3LjAxNCAxOTAuMTQxIDUxNi43NTFDMTkwLjc2IDUxNi4wMTggMTkzLjgxIDUwNi4yODQgMTkzLjg3OSA1MDUuMzkyQzE5My45MzYgNTA0LjY2MSAxOTQuNjY4IDUwNC4xOTYgMTk0LjQzNiA1MDMuMzkxeicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICNjY2NjY2MnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTE2OC43OTggNDk2LjU5OUMxNzEuNDMyIDQ5NC4xIDE3NC4yMjIgNDkxLjEzOSAxNzMuNzggNDg3LjQyN0MxNzMuNjY0IDQ4Ni40NTEgMTcxLjg4OSA0ODYuOTc4IDE3MS43MDIgNDg3LjgyNEMxNzAuOSA0OTEuNDQ5IDE2OC44NjEgNDk0LjExIDE2Ni4yOTMgNDk2LjUwMkMxNjQuMDk3IDQ5OC41NDkgMTYyLjIzNSA1MDQuODkzIDE2MiA1MDUuNDAxQzE2NS42OTcgNTAwLjE0NSAxNjcuOTU0IDQ5Ny4zOTkgMTY4Ljc5OCA0OTYuNTk5eicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICNjY2NjY2MnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTE1NS4yMjQgNDkwLjYzNUMxNTUuNzQ3IDQ5MC4yNjUgMTU1LjQ0NSA0ODkuNzc0IDE1NS42NjIgNDg5LjQ0MkMxNTYuNjE1IDQ4Ny45ODQgMTU3LjkxNiA0ODYuNzM4IDE1Ny45MzQgNDg1QzE1Ny45MzcgNDg0LjcyMyAxNTcuNTU5IDQ4NC40MTQgMTU3LjIyNCA0ODQuNjM4QzE1Ni45NDcgNDg0LjgyMiAxNTYuNjA1IDQ4NC45NTIgMTU2LjQ5NyA0ODUuMDgyQzE1NC40NjcgNDg3LjUzMSAxNTMuMDY3IDQ5MC4yMDIgMTUxLjYyNCA0OTMuMDE0QzE1MS40NDEgNDkzLjM3MSAxNTAuMjk3IDQ5Ny44NjIgMTUwLjYxIDQ5Ny45NzNDMTUwLjg0OSA0OTguMDU4IDE1Mi41NjkgNDkzLjg3NyAxNTIuNzc5IDQ5My43NjNDMTU0LjA0MiA0OTMuMDc3IDE1NC4wNTQgNDkxLjQ2MiAxNTUuMjI0IDQ5MC42MzV6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogI2NjY2NjYycpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMTcxLjk1NyA1MTAuMTc5QzE3Mi40MDEgNTA5LjMxIDE3My45NzcgNTA4LjEwOCAxNzMuODY0IDUwNy4yMTlDMTczLjc0NiA1MDYuMjkxIDE3NC4yMTQgNTA0Ljg0OCAxNzMuMzAyIDUwNS41MzZDMTcyLjA0NSA1MDYuNDg0IDE2OC41OTYgNTA3LjgzMyAxNjguMzI2IDUxMy42NDFDMTY4LjMgNTE0LjIxMiAxNzEuMjc0IDUxMS41MTkgMTcxLjk1NyA1MTAuMTc5eicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICNjY2NjY2MnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTE4Ni40IDQ5My4wMDFDMTg2LjggNDkyLjMzMyAxODcuNTA4IDQ5Mi44MDYgMTg3Ljk2NyA0OTIuNTQzQzE4OC42MTUgNDkyLjE3MSAxODkuMjI2IDQ5MS42MTMgMTg5LjUxOCA0OTAuOTY0QzE5MC40ODggNDg4LjgxNSAxOTIuMjU3IDQ4Ni45OTUgMTkyLjQgNDg0LjYwMUMxOTAuOTA5IDQ4My4xOTYgMTkwLjIzIDQ4NS4yMzYgMTg5LjYgNDg2LjIwMUMxODguMjc3IDQ4NC41NTQgMTg3LjI3OCA0ODYuNDI4IDE4NS45NzggNDg2Ljk0N0MxODUuOTA4IDQ4Ni45NzUgMTg1LjY5NSA0ODYuNjI4IDE4NS42MiA0ODYuNjU1QzE4NC40NDMgNDg3LjA5NSAxODMuNzYzIDQ4OC4xNzYgMTgyLjc2NSA0ODguOTU3QzE4Mi41OTQgNDg5LjA5MSAxODIuMTg5IDQ4OC45MTEgMTgyLjA0MiA0ODkuMDQ3QzE4MS4zOSA0ODkuNjUgMTgwLjQxNyA0ODkuOTc1IDE4MC4xMzcgNDkwLjY1N0MxNzkuMDI3IDQ5My4zNjQgMTc1Ljg4NyA0OTUuNDU5IDE3NCA1MDMuMDAxQzE3NC4zODEgNTAzLjkxIDE3OC41MTIgNDk2LjM1OSAxNzguOTk5IDQ5NS42NjFDMTc5LjgzNSA0OTQuNDY1IDE3OS45NTMgNDk3LjMyMiAxODEuMjI5IDQ5Ni42NTZDMTgxLjI4IDQ5Ni42MjkgMTgxLjQ2NiA0OTYuODY3IDE4MS42IDQ5Ny4wMDFDMTgxLjc5NCA0OTYuNzIxIDE4Mi4wMTIgNDk2LjQ5MiAxODIuNCA0OTYuNjAxQzE4Mi40IDQ5Ni4yMDEgMTgyLjI2NiA0OTUuNjQ1IDE4Mi40NjcgNDk1LjQ4NkMxODMuNzA0IDQ5NC41MDkgMTgzLjYyIDQ5My40NDEgMTg0LjQgNDkyLjIwMUMxODQuODU4IDQ5Mi45OSAxODUuOTE5IDQ5Mi4yNzEgMTg2LjQgNDkzLjAwMXonKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjY2NjY2NjJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J00yNDYuMiA1NDcuNDAxQzI0Ni4yIDU0Ny40MDEgMjUzLjYgNTI3LjAwMSAyNDkuMiA1MTUuODAxQzI0OS4yIDUxNS44MDEgMjYwLjYgNTM3LjQwMSAyNTYgNTQ4LjYwMUMyNTYgNTQ4LjYwMSAyNTUuNiA1MzguMjAxIDI1MS42IDUzMy4yMDFDMjUxLjYgNTMzLjIwMSAyNDcuNiA1NDYuMDAxIDI0Ni4yIDU0Ny40MDF6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogI2NjY2NjYycpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMjMxLjQgNTQ0LjgwMUMyMzEuNCA1NDQuODAxIDIzNi44IDUzNi4wMDEgMjI4LjggNTE3LjYwMUMyMjguOCA1MTcuNjAxIDIyOCA1MzguMDAxIDIyMS4yIDU0OS4wMDFDMjIxLjIgNTQ5LjAwMSAyMzUuNCA1MjguODAxIDIzMS40IDU0NC44MDF6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogI2NjY2NjYycpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMjIxLjQgNTQyLjgwMUMyMjEuNCA1NDIuODAxIDIyMS4yIDUyMi44MDEgMjIxLjYgNTE5LjgwMUMyMjEuNiA1MTkuODAxIDIxNy44IDUzNi40MDEgMjA3LjYgNTQ2LjAwMUMyMDcuNiA1NDYuMDAxIDIyMiA1MzQuMDAxIDIyMS40IDU0Mi44MDF6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogI2NjY2NjYycpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMjExLjggNTEwLjgwMUMyMTEuOCA1MTAuODAxIDIxNy44IDUyNC40MDEgMjA3LjggNTQyLjgwMUMyMDcuOCA1NDIuODAxIDIxNC4yIDUzMC42MDEgMjA5LjQgNTIzLjYwMUMyMDkuNCA1MjMuNjAxIDIxMiA1MjAuMjAxIDIxMS44IDUxMC44MDF6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogI2NjY2NjYycpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMTkyLjYgNTQyLjQwMUMxOTIuNiA1NDIuNDAxIDE5MS42IDUyNi44MDEgMTkzLjQgNTI0LjYwMUMxOTMuNCA1MjQuNjAxIDE5My42IDUxOC4yMDEgMTkzLjIgNTE3LjIwMUMxOTMuMiA1MTcuMjAxIDE5Ny4yIDUxMS4wMDEgMTk3LjQgNTE4LjQwMUMxOTcuNCA1MTguNDAxIDE5OC44IDUyNi4yMDEgMjAxLjYgNTMwLjgwMUMyMDEuNiA1MzAuODAxIDIwNS4yIDUzNi4yMDEgMjA1IDU0Mi42MDFDMjA1IDU0Mi42MDEgMTk1IDUxMi40MDEgMTkyLjYgNTQyLjQwMXonKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjY2NjY2NjJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J00xODkgNTE0LjgwMUMxODkgNTE0LjgwMSAxODIuNCA1MjUuNjAxIDE4MC42IDU0NC42MDFDMTgwLjYgNTQ0LjYwMSAxNzkuMiA1MzguNDAxIDE4MyA1MjQuMDAxQzE4MyA1MjQuMDAxIDE4Ny4yIDUwOC42MDEgMTg5IDUxNC44MDF6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogI2NjY2NjYycpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMTY3LjIgNTM0LjYwMUMxNjcuMiA1MzQuNjAxIDE3Mi4yIDUyOS4yMDEgMTczLjYgNTI0LjIwMUMxNzMuNiA1MjQuMjAxIDE3Ny4yIDUwOC40MDEgMTcwLjggNTE3LjAwMUMxNzAuOCA1MTcuMDAxIDE3MSA1MjUuMDAxIDE2Mi44IDUzMi40MDFDMTYyLjggNTMyLjQwMSAxNjcuNiA1MzAuMDAxIDE2Ny4yIDUzNC42MDF6JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nZmlsbDogI2NjY2NjYycpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMTYxLjQgNTI5LjYwMUMxNjEuNCA1MjkuNjAxIDE2NC44IDUxMi4yMDEgMTY1LjYgNTExLjQwMUMxNjUuNiA1MTEuNDAxIDE2Ny40IDUwOC4wMDEgMTY0LjYgNTExLjIwMUMxNjQuNiA1MTEuMjAxIDE1NS44IDUzMC40MDEgMTUxLjggNTM3LjAwMUMxNTEuOCA1MzcuMDAxIDE1OS44IDUyNy44MDEgMTYxLjQgNTI5LjYwMXonKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjY2NjY2NjJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J00xNTUuNiA1MTMuMDAxQzE1NS42IDUxMy4wMDEgMTY3LjIgNDkwLjYwMSAxNDUuNCA1MTYuNDAxQzE0NS40IDUxNi40MDEgMTU2LjQgNTA2LjYwMSAxNTUuNiA1MTMuMDAxeicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICNjY2NjY2MnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTE0MC4yIDQ5OC40MDFDMTQwLjIgNDk4LjQwMSAxNDUgNDc5LjYwMSAxNDcuNiA0NzkuODAxQzE0Ny42IDQ3OS44MDEgMTU1LjggNDcwLjgwMSAxNDkuMiA0ODEuNDAxQzE0OS4yIDQ4MS40MDEgMTQzLjIgNDkxLjAwMSAxNDMuOCA1MDAuODAxQzE0My44IDUwMC44MDEgMTQzLjIgNDkxLjIwMSAxNDAuMiA0OTguNDAxeicpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnQoZywgc3R5bGU9J2ZpbGw6ICNjY2NjY2MnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTQ3MC41IDQ4N0M0NzAuNSA0ODcgNDU4LjUgNDc3IDQ1NiA0NzMuNUM0NTYgNDczLjUgNDY5LjUgNDkyIDQ2OS41IDQ5OUM0NjkuNSA0OTkgNDcyIDQ5MS41IDQ3MC41IDQ4N3onKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjY2NjY2NjJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J000NzYgNDY1QzQ3NiA0NjUgNDU1IDQ1MCA0NTEuNSA0NDIuNUM0NTEuNSA0NDIuNSA0NzggNDcyIDQ3OCA0NzYuNUM0NzggNDc2LjUgNDc4LjUgNDY3LjUgNDc2IDQ2NXonKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjY2NjY2NjJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J000OTMgMzExQzQ5MyAzMTEgNDgxIDMwMyA0NzkuNSAzMDVDNDc5LjUgMzA1IDQ5MCAzMTEuNSA0OTIuNSAzMjBDNDkyLjUgMzIwIDQ5MSAzMTEgNDkzIDMxMXonKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdmaWxsOiAjY2NjY2NjJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHBhdGgsIGQ9J001MDEuNSAzOTEuNUw0ODQgMzc5LjVDNDg0IDM3OS41IDUwMyAzOTYuNSA1MDMuNSA0MDAuNUw1MDEuNSAzOTEuNXonKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdzdHJva2U6IzAwMDAwMCcpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMTEwLjc1IDM2OUwxMzIuNzUgMzczLjc1JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nc3Ryb2tlOiMwMDAwMDAnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTE2MSA1MzFDMTYxIDUzMSAxNjAuNSA1MjcuNSAxNTEuNSA1MzgnKQorU0FYLmVuZEVsZW1lbnQocGF0aCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50KGcpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50KGcsIHN0eWxlPSdzdHJva2U6IzAwMDAwMCcpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwYXRoLCBkPSdNMTY2LjUgNTM2QzE2Ni41IDUzNiAxNjguNSA1MjkuNSAxNjIgNTM0JykKK1NBWC5lbmRFbGVtZW50KHBhdGgpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudChnKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudChnLCBzdHlsZT0nc3Ryb2tlOiMwMDAwMDAnKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocGF0aCwgZD0nTTIyMC41IDU0NC41QzIyMC41IDU0NC41IDIyMiA1MzMuNSAyMTAuNSA1NDYuNScpCitTQVguZW5kRWxlbWVudChwYXRoKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnQoZykKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmVuZEVsZW1lbnQoc3ZnKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3N2ZzMuc2F4MiBiL2xpYnhtbDIvcmVzdWx0L3N2ZzMuc2F4MgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNjNkZmYwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvc3ZnMy5zYXgyCkBAIC0wLDAgKzEsMjQwNyBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguc3RhcnRFbGVtZW50TnMoc3ZnLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgNDkpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J003Ny4uLi4nLCAxNDkpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCA0OSkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTgxLi4uLicsIDE0OSkKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDQ5KQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMTA4Li4uJywgMTUzKQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgNDkpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00xMDUuLi4nLCAxNTcpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCA0OSkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTEwMS4uLicsIDE1NykKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDQ5KQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNOTAuLi4uJywgMTUwKQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgNDkpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J004My4uLi4nLCAxNDkpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCA0OSkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTgwLi4uLicsIDE1MSkKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDQ5KQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNOTEuLi4uJywgMTQ0KQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgNDkpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J003MS4uLi4nLCAxMDUpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCA0OSkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTcyLi4uLicsIDE1MCkKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDQ5KQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNNzIuLi4uJywgMTQ1KQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgMjkpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J003MC4uLi4nLCAzNTIzKQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgMjkpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J000OTkuLi4nLCAxNDU4KQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgMTMpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J004NC4uLi4nLCA1OTgpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCAxMykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTMzMy4uLicsIDczOSkKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDEzKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMzM0Li4uJywgNzU3KQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgMTMpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00zMzYuLi4nLCA3NjApCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCAxMykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTMzNy4uLicsIDc2MSkKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDEzKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMzM4Li4uJywgNzYyKQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgMTMpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00zNDAuLi4nLCA3NjApCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCAxMykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTM0MS4uLicsIDc2MCkKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDEzKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMzQyLi4uJywgNzYwKQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgMTMpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00zNDMuLi4nLCA3MjUpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCAxMykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTM0NS4uLicsIDc2MikKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDEzKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNODQuLi4uJywgNjM3KQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgMTMpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00xMjUuLi4nLCAyMjEpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCAxMykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTI2NS4uLicsIDI3MykKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDEzKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMTQ1Li4uJywgNDMxKQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgMTMpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00xNzguLi4nLCAxMzkpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCAxMykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTE4OC4uLicsIDEzOSkKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDEzKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMjAxLi4uJywgMTM5KQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgMTMpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00xNzguLi4nLCAxMzEpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCAxMykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTE3OS4uLicsIDEzOSkKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDEzKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMTY1Li4uJywgOTExKQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgMTMpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00xNzAuLi4nLCA1MDEpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCAxMykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTE5Mi4uLicsIDI2MikKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDEzKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMTkwLi4uJywgMjA5KQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgMTMpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00xOTQuLi4nLCA0NzUpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCAyOSkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTE5MC4uLicsIDQwNSkKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDQ3KQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMTkxLi4uJywgMjE5KQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgMTMpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00yNzEuLi4nLCAzMjcpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J3N0cm8uLi4nLCAzMCkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTIyOC4uLicsIDk4KQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgNDcpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00xODAuLi4nLCAxMzcpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCA0NykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTE4NS4uLicsIDE1MikKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDQ3KQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMTkwLi4uJywgMTUyKQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgNDcpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00xOTcuLi4nLCAxNTQpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCA0NykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTIwMy4uLicsIDE1NCkKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDQ3KQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMjEwLi4uJywgMTM5KQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdzdHJvLi4uJywgMzApCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00xODEuLi4nLCAxMzIpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J3N0cm8uLi4nLCAzMCkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTIxNS4uLicsIDE0MikKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDQ3KQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMjMzLi4uJywgMjExKQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdzdHJvLi4uJywgMzApCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00yNDcuLi4nLCA1MCkKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nc3Ryby4uLicsIDMwKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMjUzLi4uJywgNTYpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCAxMykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTE3NC4uLicsIDE3OSkKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDQ3KQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMTg4Li4uJywgMjE5KQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgNDcpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00xMTEuLi4nLCAyMjEpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCA0NykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTEzMi4uLicsIDIwOCkKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDEzKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMTMzLi4uJywgMzM0KQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgNDcpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00xNzcuLi4nLCAxODMpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCA0NykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTE0MC4uLicsIDE2MSkKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDQ3KQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMTQ3Li4uJywgMTYwKQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgNDcpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00xNTQuLi4nLCAxNTgpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCA0NykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTE2MS4uLicsIDE1OCkKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDEzKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMTI1Li4uJywgMTgyKQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgMTMpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00xOTAuLi4nLCAyNDcpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCAxMykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTI0My4uLicsIDM2MSkKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDEzKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMjA4Li4uJywgMzkzKQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgMTMpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00yMDguLi4nLCAzOTMpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCAxMykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTIwOS4uLicsIDM5MykKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDEzKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMjEwLi4uJywgMzkzKQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgMTMpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00yNDQuLi4nLCAzMDEpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCAxMykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTI5MC4uLicsIDE1NSkKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDEzKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMjk0Li4uJywgMzA5KQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgMTMpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00yNDcuLi4nLCAxOTMpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCAxMykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTI0My4uLicsIDIwMCkKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDEzKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMjU1Li4uJywgNzcpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCAxMykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTI0NS4uLicsIDE5MSkKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDEzKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMTQxLi4uJywgNDExKQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgMTMpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00xNDAuLi4nLCA0ODYpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCAxMykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTE0OC4uLicsIDQ5NCkKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDEzKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMTQ4Li4uJywgNDg0KQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgMTMpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00xNDguLi4nLCA0OTUpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCAxMykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTE0MC4uLicsIDQ4NikKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDEzKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMTM3Li4uJywgMTE5KQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgMTMpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00xMjAuLi4nLCAxMTUpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCAxMykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTEyOC4uLicsIDEzMikKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDEzKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMjE0Li4uJywgMTYxOSkKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDEzKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNNDA5Li4uJywgMzg5KQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgMTMpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J000NjQuLi4nLCAyNzEpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCAxMykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTQ2My4uLicsIDI4OSkKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDEzKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNNDYzLi4uJywgMjg3KQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgMTMpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J000NjIuLi4nLCAyODApCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCAxMykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTQ2Mi4uLicsIDI4OSkKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDEzKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNNDYyLi4uJywgMjUwKQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgMTMpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00yNTAuLi4nLCA3MDkpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCAxMykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTM4OS4uLicsIDkxKQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgMTMpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J000MzYuLi4nLCAxMjUpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCAxMykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTQ5Mi4uLicsIDk5KQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgMTMpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00zMDQuLi4nLCAxMjMpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCAxMykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTQ5NC4uLicsIDExMSkKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDEzKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMzQzLi4uJywgMjQ0MSkKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDEzKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMzA5Li4uJywgMTIwMSkKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDEzKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMzgwLi4uJywgNDI5KQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgMTMpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00zNjguLi4nLCAxNTk4KQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgMTMpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00yOTEuLi4nLCA5MjkpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCAxMykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTI1OS4uLicsIDEwMDYpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCAxMykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTI0NS4uLicsIDM4MykKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDEzKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMjE3Li4uJywgMTgxKQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgMTMpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00yMzMuLi4nLCAyNDI1KQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdzdHJvLi4uJywgMzApCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00yNTEuLi4nLCA3NCkKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nc3Ryby4uLicsIDMwKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMjI0Li4uJywgODQpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J3N0cm8uLi4nLCAzMCkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTIyMS4uLicsIDExMikKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nc3Ryby4uLicsIDMwKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMjIyLi4uJywgMTE0KQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgMTMpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00yMjAuLi4nLCA2OTkzKQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgMTMpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00xOTcuLi4nLCAxODUpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCAxMykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTEzOC4uLicsIDE5MykKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDEzKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMTM4Li4uJywgMTk3KQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgMTMpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00xMzQuLi4nLCAxOTUpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCAxMykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTEzNC4uLicsIDExKQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgMTMpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J004OSAuLi4nLCA1NzApCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCAxMykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTg3Li4uLicsIDQ5MSkKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDEzKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNOTEgLi4uJywgNDk3KQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgMTMpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J004OC4uLi4nLCA2MjYpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCAxMykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTc5Li4uLicsIDE4MykKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDEzKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMTAxLi4uJywgMzU5KQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgMTMpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00yNDAuLi4nLCAxMjIzKQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgMTMpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00yMzEuLi4nLCA4MTYpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCAxMykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTI5NC4uLicsIDkwMikKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDEzKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMjU3Li4uJywgMzI4MSkKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDEzKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMjAyLi4uJywgODM3KQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgMTMpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00xODIuLi4nLCAxMjcpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCAxMykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTE0Mi4uLicsIDE3NykKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDEzKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMTMzLi4uJywgMjg5KQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgMTMpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00xMjAuLi4nLCAyMTUpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCAxMykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTM0OS4uLicsIDEwNDcpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCAxMykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTMzOS4uLicsIDQ0NCkKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDEzKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMTczLi4uJywgNTAzKQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgMTMpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00xODAuLi4nLCA0NDUpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCAxMykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTE3Ny4uLicsIDM3OSkKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDEzKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMTk2Li4uJywgNDM4KQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgMTMpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00xODguLi4nLCAxMDkpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCAxMykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTE4MS4uLicsIDExMykKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDEzKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMTcxLi4uJywgMTA1KQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgMTMpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00xNjMuLi4nLCAxMTMpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCAxMykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTIwMS4uLicsIDExMSkKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDEzKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMTkxLi4uJywgMTE0KQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgMTMpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00xODAuLi4nLCAxMDkpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCAxMykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTE3My4uLicsIDEwNSkKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDEzKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMTY2Li4uJywgMTExKQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgMTMpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00yMDUuLi4nLCAxMjcpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCAxMykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTIxNS4uLicsIDEyNykKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDEzKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMjI2Li4uJywgMTI3KQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgMTMpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00yMzYuLi4nLCAxMjcpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCAxMykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTIwOS4uLicsIDEyNykKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDEzKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMjE5Li4uJywgMTI3KQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgMTMpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00xOTYuLi4nLCAxMDkpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCAxMykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTEyMy4uLicsIDExNykKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDEzKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMTA1Li4uJywgMTExKQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgMTMpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00xMjUuLi4nLCAxMDEpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCAxMykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTEyOS4uLicsIDEyNDYpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCAxMykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTEyNi4uLicsIDMxMSkKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDQ3KQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMTI1Li4uJywgMTI1KQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgNDcpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00xMjcuLi4nLCAxNjApCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCA0NykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTEyOS4uLicsIDE2MCkKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDQ3KQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMTMwLi4uJywgMTU4KQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgNDcpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00yNDUuLi4nLCAxNTcpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCA0NykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTI0Mi4uLicsIDE1NCkKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDQ3KQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMjM5Li4uJywgMTU4KQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgNDcpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00yMzYuLi4nLCAxNTcpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCAxMykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTIwNC4uLicsIDM4NykKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDEzKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMjc3Li4uJywgMzc5KQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgMTMpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00yMTguLi4nLCAxMjcpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCAxMykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTIxMS4uLicsIDEyNikKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDEzKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMjAxLi4uJywgMTI2KQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgMTMpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00xOTMuLi4nLCAxMjgpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCAxMykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTIzNS4uLicsIDEyOCkKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDEzKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMjQ1Li4uJywgMTI2KQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgMTMpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00yNTQuLi4nLCAxMjkpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCAxMykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTI2NC4uLicsIDEyNikKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDEzKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMjI2Li4uJywgMTI2KQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgNDcpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00yNjIuLi4nLCAxNjEpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCAxMykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTI2NS4uLicsIDM2MykKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDQ3KQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMjA3Li4uJywgMTQzKQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgNDcpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00yMTcuLi4nLCAxNDcpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCA0NykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTIyOS4uLicsIDE0MykKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDQ3KQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMjM5Li4uJywgMTM3KQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgNDcpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00xODEuLi4nLCAxMzMpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCA0NykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTE3Mi4uLicsIDEzNSkKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDQ3KQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMTY0Li4uJywgMTM3KQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgNDcpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00yMTEuLi4nLCAxNjApCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCA0NykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTIyMi4uLicsIDE2MCkKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDQ3KQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMjAxLi4uJywgMTU4KQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgNDcpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00xODEuLi4nLCAxNjEpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCA0NykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTE5My4uLicsIDE1NSkKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDQ3KQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMTc0Li4uJywgMTU5KQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgNDcpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00xNjcuLi4nLCAxNjApCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCA0NykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTIzNi4uLicsIDE2MSkKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDQ3KQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMjAzLi4uJywgMTM5KQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgNDcpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00yMTMuLi4nLCAxMzUpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCA0NykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTIyMC4uLicsIDEzOSkKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDQ3KQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMjI4Li4uJywgMTYxKQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgNDcpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00yMzguLi4nLCAxNjEpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCA0NykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTE5OC4uLicsIDEzOSkKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDQ3KQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMTg4Li4uJywgMTM5KQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgNDcpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00yNDkuLi4nLCAxNTkpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCA0NykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTI1Ny4uLicsIDE1OSkKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDQ3KQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMjY3Li4uJywgMTU5KQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgMTMpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00xNTYuLi4nLCAxMTEpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCAxMykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTE4Ny4uLicsIDEwNSkKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDEzKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMTc4Li4uJywgMTExKQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgMTMpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J004Mi4uLi4nLCAxMjEpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCAxMykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTg0Li4uLicsIDEyMSkKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDEzKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNNzcuLi4uJywgMTIxKQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgMTMpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00xNTcuLi4nLCAxMzcpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCAxMykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTI0NS4uLicsIDM0OSkKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDEzKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMjM0Li4uJywgMzQ2KQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgMTMpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00xOTQuLi4nLCA0NDUpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCAxMykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTE2OC4uLicsIDI0NykKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDEzKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMTU1Li4uJywgMzk2KQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgMTMpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00xNzEuLi4nLCAyMDYpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCAxMykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTE4Ni4uLicsIDgwMykKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDEzKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMjQ2Li4uJywgMTc5KQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgMTMpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00yMzEuLi4nLCAxMzkpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCAxMykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTIyMS4uLicsIDEzOSkKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDEzKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMjExLi4uJywgMTM5KQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgMTMpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00xOTIuLi4nLCAyNjEpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCAxMykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTE4OS4uLicsIDEzMSkKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDEzKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMTY3Li4uJywgMTgxKQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgMTMpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00xNjEuLi4nLCAxODMpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCAxMykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTE1NS4uLicsIDk5KQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgMTMpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00xNDAuLi4nLCAxODEpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCAxMykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTQ3MC4uLicsIDEwMSkKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nZmlsbC4uLicsIDEzKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNNDc2Li4uJywgOTcpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J2ZpbGwuLi4nLCAxMykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTQ5My4uLicsIDkxKQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdmaWxsLi4uJywgMTMpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J001MDEuLi4nLCA2NykKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nc3Ryby4uLicsIDE0KQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMTEwLi4uJywgMjUpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguc3RhcnRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCwgMCwgMSwgMCwgc3R5bGU9J3N0cm8uLi4nLCAxNCkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgZD0nTTE2MS4uLicsIDM4KQorU0FYLmVuZEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLmVuZEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgLCAyKQorU0FYLnN0YXJ0RWxlbWVudE5zKGcsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHN0eWxlPSdzdHJvLi4uJywgMTQpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGQ9J00xNjYuLi4nLCA0MCkKK1NBWC5lbmRFbGVtZW50TnMocGF0aCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5lbmRFbGVtZW50TnMoZywgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICwgMikKK1NBWC5zdGFydEVsZW1lbnROcyhnLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBzdHlsZT0nc3Ryby4uLicsIDE0KQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhwYXRoLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBkPSdNMjIwLi4uJywgNDYpCitTQVguZW5kRWxlbWVudE5zKHBhdGgsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAsIDIpCitTQVguZW5kRWxlbWVudE5zKGcsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5lbmRFbGVtZW50TnMoc3ZnLCBOVUxMLCBOVUxMKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3RpdGxlLnhtbCBiL2xpYnhtbDIvcmVzdWx0L3RpdGxlLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYjNmZTA3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvdGl0bGUueG1sCkBAIC0wLDAgKzEsMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzx0aXRsZT5teSB0aXRsZTwvdGl0bGU+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC90aXRsZS54bWwucmRlIGIvbGlieG1sMi9yZXN1bHQvdGl0bGUueG1sLnJkZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMGQyYmUwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvdGl0bGUueG1sLnJkZQpAQCAtMCwwICsxLDMgQEAKKzAgMSB0aXRsZSAwIDAKKzEgMyAjdGV4dCAwIDEgbXkgdGl0bGUKKzAgMTUgdGl0bGUgMCAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC90aXRsZS54bWwucmRyIGIvbGlieG1sMi9yZXN1bHQvdGl0bGUueG1sLnJkcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMGQyYmUwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvdGl0bGUueG1sLnJkcgpAQCAtMCwwICsxLDMgQEAKKzAgMSB0aXRsZSAwIDAKKzEgMyAjdGV4dCAwIDEgbXkgdGl0bGUKKzAgMTUgdGl0bGUgMCAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC90aXRsZS54bWwuc2F4IGIvbGlieG1sMi9yZXN1bHQvdGl0bGUueG1sLnNheApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYWY3MWU5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvdGl0bGUueG1sLnNheApAQCAtMCwwICsxLDYgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLnN0YXJ0RWxlbWVudCh0aXRsZSkKK1NBWC5jaGFyYWN0ZXJzKG15IHRpdGxlLCA4KQorU0FYLmVuZEVsZW1lbnQodGl0bGUpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvdGl0bGUueG1sLnNheDIgYi9saWJ4bWwyL3Jlc3VsdC90aXRsZS54bWwuc2F4MgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZmE0ZmE5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvdGl0bGUueG1sLnNheDIKQEAgLTAsMCArMSw2IEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5zdGFydEVsZW1lbnROcyh0aXRsZSwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKG15IHRpdGxlLCA4KQorU0FYLmVuZEVsZW1lbnROcyh0aXRsZSwgTlVMTCwgTlVMTCkKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC90c3RibGFua3MueG1sIGIvbGlieG1sMi9yZXN1bHQvdHN0YmxhbmtzLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNTYxODU5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvdHN0YmxhbmtzLnhtbApAQCAtMCwwICsxLDIgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPGEgdGVzdD0icGFzc2VkIj5jb250ZW50PC9hPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvdHN0YmxhbmtzLnhtbC5yZGUgYi9saWJ4bWwyL3Jlc3VsdC90c3RibGFua3MueG1sLnJkZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZDJlNWZhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvdHN0YmxhbmtzLnhtbC5yZGUKQEAgLTAsMCArMSwzIEBACiswIDEgYSAwIDAKKzEgMyAjdGV4dCAwIDEgY29udGVudAorMCAxNSBhIDAgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvdHN0YmxhbmtzLnhtbC5yZHIgYi9saWJ4bWwyL3Jlc3VsdC90c3RibGFua3MueG1sLnJkcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZDJlNWZhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvdHN0YmxhbmtzLnhtbC5yZHIKQEAgLTAsMCArMSwzIEBACiswIDEgYSAwIDAKKzEgMyAjdGV4dCAwIDEgY29udGVudAorMCAxNSBhIDAgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvdHN0YmxhbmtzLnhtbC5zYXggYi9saWJ4bWwyL3Jlc3VsdC90c3RibGFua3MueG1sLnNheApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMWY3YjhiCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvdHN0YmxhbmtzLnhtbC5zYXgKQEAgLTAsMCArMSw2IEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5zdGFydEVsZW1lbnQoYSwgdGVzdD0ncGFzc2VkJykKK1NBWC5jaGFyYWN0ZXJzKGNvbnRlbnQsIDcpCitTQVguZW5kRWxlbWVudChhKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3RzdGJsYW5rcy54bWwuc2F4MiBiL2xpYnhtbDIvcmVzdWx0L3RzdGJsYW5rcy54bWwuc2F4MgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NTU2M2E0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvdHN0YmxhbmtzLnhtbC5zYXgyCkBAIC0wLDAgKzEsNiBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguc3RhcnRFbGVtZW50TnMoYSwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgdGVzdD0ncGFzcy4uLicsIDYpCitTQVguY2hhcmFjdGVycyhjb250ZW50LCA3KQorU0FYLmVuZEVsZW1lbnROcyhhLCBOVUxMLCBOVUxMKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3V0ZjE2YmVib20ueG1sIGIvbGlieG1sMi9yZXN1bHQvdXRmMTZiZWJvbS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2I1NDY2ZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3V0ZjE2YmVib20ueG1sCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3V0ZjE2YmVib20ueG1sLnJkZSBiL2xpYnhtbDIvcmVzdWx0L3V0ZjE2YmVib20ueG1sLnJkZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNjkzMzhhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvdXRmMTZiZWJvbS54bWwucmRlCkBAIC0wLDAgKzEsNCBAQAorMCA4ICNjb21tZW50IDAgMSAgVGhpcyBmaWxlIGlzIGVuY29kZWQgaW4gVVRGLTE2QkUgCiswIDEgcmVwb3NpdG9yeSAwIDAKKzEgMSBuYW1lc3BhY2UgMSAwCiswIDE1IHJlcG9zaXRvcnkgMCAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC91dGYxNmJlYm9tLnhtbC5yZHIgYi9saWJ4bWwyL3Jlc3VsdC91dGYxNmJlYm9tLnhtbC5yZHIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjY5MzM4YQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3V0ZjE2YmVib20ueG1sLnJkcgpAQCAtMCwwICsxLDQgQEAKKzAgOCAjY29tbWVudCAwIDEgIFRoaXMgZmlsZSBpcyBlbmNvZGVkIGluIFVURi0xNkJFIAorMCAxIHJlcG9zaXRvcnkgMCAwCisxIDEgbmFtZXNwYWNlIDEgMAorMCAxNSByZXBvc2l0b3J5IDAgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvdXRmMTZiZWJvbS54bWwuc2F4IGIvbGlieG1sMi9yZXN1bHQvdXRmMTZiZWJvbS54bWwuc2F4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjViNzRhNmQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC91dGYxNmJlYm9tLnhtbC5zYXgKQEAgLTAsMCArMSw4IEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5jb21tZW50KCBUaGlzIGZpbGUgaXMgZW5jb2RlZCBpbiBVVEYtMTZCRSApCitTQVguc3RhcnRFbGVtZW50KHJlcG9zaXRvcnksIHJlcG9zaXRyb3lfaWQ9J3Rlc3QnKQorU0FYLnN0YXJ0RWxlbWVudChuYW1lc3BhY2UsIG5hbWU9J3Rlc3QnKQorU0FYLmVuZEVsZW1lbnQobmFtZXNwYWNlKQorU0FYLmVuZEVsZW1lbnQocmVwb3NpdG9yeSkKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC91dGYxNmJlYm9tLnhtbC5zYXgyIGIvbGlieG1sMi9yZXN1bHQvdXRmMTZiZWJvbS54bWwuc2F4MgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MzI2ODkwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvdXRmMTZiZWJvbS54bWwuc2F4MgpAQCAtMCwwICsxLDggQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLmNvbW1lbnQoIFRoaXMgZmlsZSBpcyBlbmNvZGVkIGluIFVURi0xNkJFICkKK1NBWC5zdGFydEVsZW1lbnROcyhyZXBvc2l0b3J5LCBOVUxMLCBOVUxMLCAwLCAxLCAwLCByZXBvc2l0cm95X2lkPSd0ZXN0Li4uJywgNCkKK1NBWC5zdGFydEVsZW1lbnROcyhuYW1lc3BhY2UsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIG5hbWU9J3Rlc3QuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyhuYW1lc3BhY2UsIE5VTEwsIE5VTEwpCitTQVguZW5kRWxlbWVudE5zKHJlcG9zaXRvcnksIE5VTEwsIE5VTEwpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvdXRmMTZib20ueG1sIGIvbGlieG1sMi9yZXN1bHQvdXRmMTZib20ueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZlYTI5NmUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC91dGYxNmJvbS54bWwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvdXRmMTZib20ueG1sLnJkZSBiL2xpYnhtbDIvcmVzdWx0L3V0ZjE2Ym9tLnhtbC5yZGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGZiODRjNgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3V0ZjE2Ym9tLnhtbC5yZGUKQEAgLTAsMCArMSwzIEBACiswIDEgcmVwb3NpdG9yeSAwIDAKKzEgMSBuYW1lc3BhY2UgMSAwCiswIDE1IHJlcG9zaXRvcnkgMCAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC91dGYxNmJvbS54bWwucmRyIGIvbGlieG1sMi9yZXN1bHQvdXRmMTZib20ueG1sLnJkcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZmI4NGM2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvdXRmMTZib20ueG1sLnJkcgpAQCAtMCwwICsxLDMgQEAKKzAgMSByZXBvc2l0b3J5IDAgMAorMSAxIG5hbWVzcGFjZSAxIDAKKzAgMTUgcmVwb3NpdG9yeSAwIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3V0ZjE2Ym9tLnhtbC5zYXggYi9saWJ4bWwyL3Jlc3VsdC91dGYxNmJvbS54bWwuc2F4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJkOTM4NmUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC91dGYxNmJvbS54bWwuc2F4CkBAIC0wLDAgKzEsNyBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguc3RhcnRFbGVtZW50KHJlcG9zaXRvcnksIHJlcG9zaXRyb3lfaWQ9J3Rlc3QnKQorU0FYLnN0YXJ0RWxlbWVudChuYW1lc3BhY2UsIG5hbWU9J3Rlc3QnKQorU0FYLmVuZEVsZW1lbnQobmFtZXNwYWNlKQorU0FYLmVuZEVsZW1lbnQocmVwb3NpdG9yeSkKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC91dGYxNmJvbS54bWwuc2F4MiBiL2xpYnhtbDIvcmVzdWx0L3V0ZjE2Ym9tLnhtbC5zYXgyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJiMmRiMTUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC91dGYxNmJvbS54bWwuc2F4MgpAQCAtMCwwICsxLDcgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLnN0YXJ0RWxlbWVudE5zKHJlcG9zaXRvcnksIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHJlcG9zaXRyb3lfaWQ9J3Rlc3QuLi4nLCA0KQorU0FYLnN0YXJ0RWxlbWVudE5zKG5hbWVzcGFjZSwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgbmFtZT0ndGVzdC4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKG5hbWVzcGFjZSwgTlVMTCwgTlVMTCkKK1NBWC5lbmRFbGVtZW50TnMocmVwb3NpdG9yeSwgTlVMTCwgTlVMTCkKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC91dGYxNmxlYm9tLnhtbCBiL2xpYnhtbDIvcmVzdWx0L3V0ZjE2bGVib20ueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkzMzY0MGMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC91dGYxNmxlYm9tLnhtbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC91dGYxNmxlYm9tLnhtbC5yZGUgYi9saWJ4bWwyL3Jlc3VsdC91dGYxNmxlYm9tLnhtbC5yZGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzJhOTFlNAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3V0ZjE2bGVib20ueG1sLnJkZQpAQCAtMCwwICsxLDQgQEAKKzAgOCAjY29tbWVudCAwIDEgIFRoaXMgZmlsZSBpcyBlbmNvZGVkIGluIFVURi0xNkxFIAorMCAxIHJlcG9zaXRvcnkgMCAwCisxIDEgbmFtZXNwYWNlIDEgMAorMCAxNSByZXBvc2l0b3J5IDAgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvdXRmMTZsZWJvbS54bWwucmRyIGIvbGlieG1sMi9yZXN1bHQvdXRmMTZsZWJvbS54bWwucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMyYTkxZTQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC91dGYxNmxlYm9tLnhtbC5yZHIKQEAgLTAsMCArMSw0IEBACiswIDggI2NvbW1lbnQgMCAxICBUaGlzIGZpbGUgaXMgZW5jb2RlZCBpbiBVVEYtMTZMRSAKKzAgMSByZXBvc2l0b3J5IDAgMAorMSAxIG5hbWVzcGFjZSAxIDAKKzAgMTUgcmVwb3NpdG9yeSAwIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3V0ZjE2bGVib20ueG1sLnNheCBiL2xpYnhtbDIvcmVzdWx0L3V0ZjE2bGVib20ueG1sLnNheApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjk5NjMxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvdXRmMTZsZWJvbS54bWwuc2F4CkBAIC0wLDAgKzEsOCBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguY29tbWVudCggVGhpcyBmaWxlIGlzIGVuY29kZWQgaW4gVVRGLTE2TEUgKQorU0FYLnN0YXJ0RWxlbWVudChyZXBvc2l0b3J5LCByZXBvc2l0cm95X2lkPSd0ZXN0JykKK1NBWC5zdGFydEVsZW1lbnQobmFtZXNwYWNlLCBuYW1lPSd0ZXN0JykKK1NBWC5lbmRFbGVtZW50KG5hbWVzcGFjZSkKK1NBWC5lbmRFbGVtZW50KHJlcG9zaXRvcnkpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvdXRmMTZsZWJvbS54bWwuc2F4MiBiL2xpYnhtbDIvcmVzdWx0L3V0ZjE2bGVib20ueG1sLnNheDIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2I2MjM0NgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3V0ZjE2bGVib20ueG1sLnNheDIKQEAgLTAsMCArMSw4IEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5jb21tZW50KCBUaGlzIGZpbGUgaXMgZW5jb2RlZCBpbiBVVEYtMTZMRSApCitTQVguc3RhcnRFbGVtZW50TnMocmVwb3NpdG9yeSwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgcmVwb3NpdHJveV9pZD0ndGVzdC4uLicsIDQpCitTQVguc3RhcnRFbGVtZW50TnMobmFtZXNwYWNlLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBuYW1lPSd0ZXN0Li4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnMobmFtZXNwYWNlLCBOVUxMLCBOVUxMKQorU0FYLmVuZEVsZW1lbnROcyhyZXBvc2l0b3J5LCBOVUxMLCBOVUxMKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3V0Zjhib20ueG1sIGIvbGlieG1sMi9yZXN1bHQvdXRmOGJvbS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjRlNTE2NAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3V0Zjhib20ueG1sCkBAIC0wLDAgKzEsMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8Zm9vLz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3V0Zjhib20ueG1sLnJkZSBiL2xpYnhtbDIvcmVzdWx0L3V0Zjhib20ueG1sLnJkZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NWFkMjExCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvdXRmOGJvbS54bWwucmRlCkBAIC0wLDAgKzEgQEAKKzAgMSBmb28gMSAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC91dGY4Ym9tLnhtbC5yZHIgYi9saWJ4bWwyL3Jlc3VsdC91dGY4Ym9tLnhtbC5yZHIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTVhZDIxMQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3V0Zjhib20ueG1sLnJkcgpAQCAtMCwwICsxIEBACiswIDEgZm9vIDEgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvdXRmOGJvbS54bWwuc2F4IGIvbGlieG1sMi9yZXN1bHQvdXRmOGJvbS54bWwuc2F4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc5MmViOTQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC91dGY4Ym9tLnhtbC5zYXgKQEAgLTAsMCArMSw1IEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5zdGFydEVsZW1lbnQoZm9vKQorU0FYLmVuZEVsZW1lbnQoZm9vKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3V0Zjhib20ueG1sLnNheDIgYi9saWJ4bWwyL3Jlc3VsdC91dGY4Ym9tLnhtbC5zYXgyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNmN2YyMGYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC91dGY4Ym9tLnhtbC5zYXgyCkBAIC0wLDAgKzEsNSBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguc3RhcnRFbGVtZW50TnMoZm9vLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmVuZEVsZW1lbnROcyhmb28sIE5VTEwsIE5VTEwpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvdmFsaWQvMTI3NzcyLnhtbCBiL2xpYnhtbDIvcmVzdWx0L3ZhbGlkLzEyNzc3Mi54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzFlMTI4ZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3ZhbGlkLzEyNzc3Mi54bWwKQEAgLTAsMCArMSw1IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhRE9DVFlQRSBhIFNZU1RFTSAiZHRkcy8xMjc3NzIuZHRkIj4KKzxhPgorICA8YiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeGxpbms6aHJlZj0iaHR0cDovL2Zha2V1cmwubmV0Ij5iIHRleHQ8L2I+Cis8L2E+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC92YWxpZC8xMjc3NzIueG1sLmVyciBiL2xpYnhtbDIvcmVzdWx0L3ZhbGlkLzEyNzc3Mi54bWwuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC92YWxpZC8xMjc3NzIueG1sLmVycgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvdmFsaWQvMTI3NzcyLnhtbC5lcnIucmRyIGIvbGlieG1sMi9yZXN1bHQvdmFsaWQvMTI3NzcyLnhtbC5lcnIucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC92YWxpZC8xMjc3NzIueG1sLmVyci5yZHIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3ZhbGlkLzY5NDIyOC54bWwgYi9saWJ4bWwyL3Jlc3VsdC92YWxpZC82OTQyMjgueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA1N2M5MjYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC92YWxpZC82OTQyMjgueG1sCkBAIC0wLDAgKzEsNSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhRE9DVFlQRSByb290IFNZU1RFTSAiZHRkcy82OTQyMjguZHRkIj4KKzxyb290PgorICAmZW50aXR5OworPC9yb290PgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvdmFsaWQvNjk0MjI4LnhtbC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC92YWxpZC82OTQyMjgueG1sLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvdmFsaWQvNjk0MjI4LnhtbC5lcnIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3ZhbGlkLzY5NDIyOC54bWwuZXJyLnJkciBiL2xpYnhtbDIvcmVzdWx0L3ZhbGlkLzY5NDIyOC54bWwuZXJyLnJkcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvdmFsaWQvNjk0MjI4LnhtbC5lcnIucmRyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC92YWxpZC9SRUMteG1sLTE5OTgwMjEwLnhtbCBiL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL1JFQy14bWwtMTk5ODAyMTAueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYzMWU5NjMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC92YWxpZC9SRUMteG1sLTE5OTgwMjEwLnhtbApAQCAtMCwwICsxLDQxNTQgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IklTTy04ODU5LTEiIHN0YW5kYWxvbmU9Im5vIj8+Cis8IURPQ1RZUEUgc3BlYyBTWVNURU0gImR0ZHMvc3BlYy5kdGQiIFsKKzwhLS0gTEFTVCBUT1VDSEVEIEJZOiBUaW0gQnJheSwgOCBGZWJydWFyeSAxOTk3IC0tPjwhLS0gVGhlIHdvcmRzICdGSU5BTCBFRElUJyBpbiBjb21tZW50cyBtYXJrIHBsYWNlcyB3aGVyZSBjaGFuZ2VzCituZWVkIHRvIGJlIG1hZGUgYWZ0ZXIgYXBwcm92YWwgb2YgdGhlIGRvY3VtZW50IGJ5IHRoZSBFUkIsIGJlZm9yZQorcHVibGljYXRpb24uICAtLT48IUVOVElUWSBYTUwudmVyc2lvbiAiMS4wIj4KKzwhRU5USVRZIGRvYy5kYXRlICIxMCBGZWJydWFyeSAxOTk4Ij4KKzwhRU5USVRZIGlzbzYuZG9jLmRhdGUgIjE5OTgwMjEwIj4KKzwhRU5USVRZIHczYy5kb2MuZGF0ZSAiMDItRmViLTE5OTgiPgorPCFFTlRJVFkgZHJhZnQuZGF5ICIxMCI+Cis8IUVOVElUWSBkcmFmdC5tb250aCAiRmVicnVhcnkiPgorPCFFTlRJVFkgZHJhZnQueWVhciAiMTk5OCI+Cis8IUVOVElUWSBXZWJTR01MICJXZWJTR01MIEFkYXB0YXRpb25zIEFubmV4IHRvIElTTyA4ODc5Ij4KKzwhRU5USVRZIGx0ICI8Ij4KKzwhRU5USVRZIGd0ICI+Ij4KKzwhRU5USVRZIHhtbHBpbyAiJyZsdDs/eG1sJyI+Cis8IUVOVElUWSBwaWMgIic/PiciPgorPCFFTlRJVFkgYnIgIlxuIj4KKzwhRU5USVRZIGNlbGxiYWNrICIjYzBkOWMwIj4KKzwhRU5USVRZIG1kYXNoICItLSI+Cis8IS0tICYjeDIwMTQsIGJ1dCBuc2dtbHMgZG9lc24ndCBncm9rIGhleCAtLT48IUVOVElUWSBjb20gIi0tIj4KKzwhRU5USVRZIGNvbW8gIi0tIj4KKzwhRU5USVRZIGNvbWMgIi0tIj4KKzwhRU5USVRZIGhjcm8gIiZhbXA7I3giPgorPCEtLSA8IUVOVElUWSBuYnNwICKgIj4gLS0+PCFFTlRJVFkgbmJzcCAiJiMxNjA7Ij4KKzwhRU5USVRZIG1hZ2ljZW50cyAiPGNvZGU+YW1wPC9jb2RlPiwKKzxjb2RlPmx0PC9jb2RlPiwKKzxjb2RlPmd0PC9jb2RlPiwKKzxjb2RlPmFwb3M8L2NvZGU+LAorPGNvZGU+cXVvdDwvY29kZT4iPgorPCEtLSBhdWRpZW5jZSBhbmQgZGlzdHJpYnV0aW9uIHN0YXR1czogIGZvciB1c2UgYXQgcHVibGljYXRpb24gdGltZSAtLT48IUVOVElUWSBkb2MuYXVkaWVuY2UgInB1YmxpYyByZXZpZXcgYW5kIGRpc2N1c3Npb24iPgorPCFFTlRJVFkgZG9jLmRpc3RyaWJ1dGlvbiAibWF5IGJlIGRpc3RyaWJ1dGVkIGZyZWVseSwgYXMgbG9uZyBhcworYWxsIHRleHQgYW5kIGxlZ2FsIG5vdGljZXMgcmVtYWluIGludGFjdCI+CitdPgorPCEtLSBmb3IgUGFub3JhbWEgKi0tPgorPD9WRVJCQVRJTSAiZWciID8+Cis8c3BlYz4KKzxoZWFkZXI+Cis8dGl0bGU+RXh0ZW5zaWJsZSBNYXJrdXAgTGFuZ3VhZ2UgKFhNTCkgMS4wPC90aXRsZT4KKzx2ZXJzaW9uLz4KKzx3M2MtZGVzaWduYXRpb24+UkVDLXhtbC0maXNvNi5kb2MuZGF0ZTs8L3czYy1kZXNpZ25hdGlvbj4KKzx3M2MtZG9jdHlwZT5XM0MgUmVjb21tZW5kYXRpb248L3czYy1kb2N0eXBlPgorPHB1YmRhdGU+PGRheT4mZHJhZnQuZGF5OzwvZGF5Pjxtb250aD4mZHJhZnQubW9udGg7PC9tb250aD48eWVhcj4mZHJhZnQueWVhcjs8L3llYXI+PC9wdWJkYXRlPgorCis8cHVibG9jPgorPGxvYyBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi8xOTk4L1JFQy14bWwtJmlzbzYuZG9jLmRhdGU7Ij4KK2h0dHA6Ly93d3cudzMub3JnL1RSLzE5OTgvUkVDLXhtbC0maXNvNi5kb2MuZGF0ZTs8L2xvYz4KKzxsb2MgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvMTk5OC9SRUMteG1sLSZpc282LmRvYy5kYXRlOy54bWwiPgoraHR0cDovL3d3dy53My5vcmcvVFIvMTk5OC9SRUMteG1sLSZpc282LmRvYy5kYXRlOy54bWw8L2xvYz4KKzxsb2MgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvMTk5OC9SRUMteG1sLSZpc282LmRvYy5kYXRlOy5odG1sIj4KK2h0dHA6Ly93d3cudzMub3JnL1RSLzE5OTgvUkVDLXhtbC0maXNvNi5kb2MuZGF0ZTsuaHRtbDwvbG9jPgorPGxvYyBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi8xOTk4L1JFQy14bWwtJmlzbzYuZG9jLmRhdGU7LnBkZiI+CitodHRwOi8vd3d3LnczLm9yZy9UUi8xOTk4L1JFQy14bWwtJmlzbzYuZG9jLmRhdGU7LnBkZjwvbG9jPgorPGxvYyBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi8xOTk4L1JFQy14bWwtJmlzbzYuZG9jLmRhdGU7LnBzIj4KK2h0dHA6Ly93d3cudzMub3JnL1RSLzE5OTgvUkVDLXhtbC0maXNvNi5kb2MuZGF0ZTsucHM8L2xvYz4KKzwvcHVibG9jPgorPGxhdGVzdGxvYz4KKzxsb2MgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLXhtbCI+CitodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMteG1sPC9sb2M+Cis8L2xhdGVzdGxvYz4KKzxwcmV2bG9jcz4KKzxsb2MgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvUFIteG1sLTk3MTIwOCI+CitodHRwOi8vd3d3LnczLm9yZy9UUi9QUi14bWwtOTcxMjA4PC9sb2M+Cis8IS0tCis8bG9jICBocmVmPSdodHRwOi8vd3d3LnczLm9yZy9UUi9XRC14bWwtOTYxMTE0Jz4KK2h0dHA6Ly93d3cudzMub3JnL1RSL1dELXhtbC05NjExMTQ8L2xvYz4KKzxsb2MgIGhyZWY9J2h0dHA6Ly93d3cudzMub3JnL1RSL1dELXhtbC1sYW5nLTk3MDMzMSc+CitodHRwOi8vd3d3LnczLm9yZy9UUi9XRC14bWwtbGFuZy05NzAzMzE8L2xvYz4KKzxsb2MgIGhyZWY9J2h0dHA6Ly93d3cudzMub3JnL1RSL1dELXhtbC1sYW5nLTk3MDYzMCc+CitodHRwOi8vd3d3LnczLm9yZy9UUi9XRC14bWwtbGFuZy05NzA2MzA8L2xvYz4KKzxsb2MgIGhyZWY9J2h0dHA6Ly93d3cudzMub3JnL1RSL1dELXhtbC05NzA4MDcnPgoraHR0cDovL3d3dy53My5vcmcvVFIvV0QteG1sLTk3MDgwNzwvbG9jPgorPGxvYyAgaHJlZj0naHR0cDovL3d3dy53My5vcmcvVFIvV0QteG1sLTk3MTExNyc+CitodHRwOi8vd3d3LnczLm9yZy9UUi9XRC14bWwtOTcxMTE3PC9sb2M+LS0+Cis8L3ByZXZsb2NzPgorPGF1dGhsaXN0PgorPGF1dGhvcj48bmFtZT5UaW0gQnJheTwvbmFtZT4KKzxhZmZpbGlhdGlvbj5UZXh0dWFsaXR5IGFuZCBOZXRzY2FwZTwvYWZmaWxpYXRpb24+Cis8ZW1haWwgaHJlZj0ibWFpbHRvOnRicmF5QHRleHR1YWxpdHkuY29tIj50YnJheUB0ZXh0dWFsaXR5LmNvbTwvZW1haWw+PC9hdXRob3I+Cis8YXV0aG9yPjxuYW1lPkplYW4gUGFvbGk8L25hbWU+Cis8YWZmaWxpYXRpb24+TWljcm9zb2Z0PC9hZmZpbGlhdGlvbj4KKzxlbWFpbCBocmVmPSJtYWlsdG86amVhbnBhQG1pY3Jvc29mdC5jb20iPmplYW5wYUBtaWNyb3NvZnQuY29tPC9lbWFpbD48L2F1dGhvcj4KKzxhdXRob3I+PG5hbWU+Qy4gTS4gU3BlcmJlcmctTWNRdWVlbjwvbmFtZT4KKzxhZmZpbGlhdGlvbj5Vbml2ZXJzaXR5IG9mIElsbGlub2lzIGF0IENoaWNhZ288L2FmZmlsaWF0aW9uPgorPGVtYWlsIGhyZWY9Im1haWx0bzpjbXNtY3FAdWljLmVkdSI+Y21zbWNxQHVpYy5lZHU8L2VtYWlsPjwvYXV0aG9yPgorPC9hdXRobGlzdD4KKzxhYnN0cmFjdD4KKzxwPlRoZSBFeHRlbnNpYmxlIE1hcmt1cCBMYW5ndWFnZSAoWE1MKSBpcyBhIHN1YnNldCBvZgorU0dNTCB0aGF0IGlzIGNvbXBsZXRlbHkgZGVzY3JpYmVkIGluIHRoaXMgZG9jdW1lbnQuIEl0cyBnb2FsIGlzIHRvCitlbmFibGUgZ2VuZXJpYyBTR01MIHRvIGJlIHNlcnZlZCwgcmVjZWl2ZWQsIGFuZCBwcm9jZXNzZWQgb24gdGhlIFdlYgoraW4gdGhlIHdheSB0aGF0IGlzIG5vdyBwb3NzaWJsZSB3aXRoIEhUTUwuIFhNTCBoYXMgYmVlbiBkZXNpZ25lZCBmb3IKK2Vhc2Ugb2YgaW1wbGVtZW50YXRpb24gYW5kIGZvciBpbnRlcm9wZXJhYmlsaXR5IHdpdGggYm90aCBTR01MIGFuZAorSFRNTC48L3A+Cis8L2Fic3RyYWN0PgorPHN0YXR1cz4KKzxwPlRoaXMgZG9jdW1lbnQgaGFzIGJlZW4gcmV2aWV3ZWQgYnkgVzNDIE1lbWJlcnMgYW5kCitvdGhlciBpbnRlcmVzdGVkIHBhcnRpZXMgYW5kIGhhcyBiZWVuIGVuZG9yc2VkIGJ5IHRoZQorRGlyZWN0b3IgYXMgYSBXM0MgUmVjb21tZW5kYXRpb24uIEl0IGlzIGEgc3RhYmxlCitkb2N1bWVudCBhbmQgbWF5IGJlIHVzZWQgYXMgcmVmZXJlbmNlIG1hdGVyaWFsIG9yIGNpdGVkCithcyBhIG5vcm1hdGl2ZSByZWZlcmVuY2UgZnJvbSBhbm90aGVyIGRvY3VtZW50LiBXM0Mncworcm9sZSBpbiBtYWtpbmcgdGhlIFJlY29tbWVuZGF0aW9uIGlzIHRvIGRyYXcgYXR0ZW50aW9uCit0byB0aGUgc3BlY2lmaWNhdGlvbiBhbmQgdG8gcHJvbW90ZSBpdHMgd2lkZXNwcmVhZAorZGVwbG95bWVudC4gVGhpcyBlbmhhbmNlcyB0aGUgZnVuY3Rpb25hbGl0eSBhbmQKK2ludGVyb3BlcmFiaWxpdHkgb2YgdGhlIFdlYi48L3A+Cis8cD4KK1RoaXMgZG9jdW1lbnQgc3BlY2lmaWVzIGEgc3ludGF4IGNyZWF0ZWQgYnkgc3Vic2V0dGluZyBhbiBleGlzdGluZywKK3dpZGVseSB1c2VkIGludGVybmF0aW9uYWwgdGV4dCBwcm9jZXNzaW5nIHN0YW5kYXJkIChTdGFuZGFyZAorR2VuZXJhbGl6ZWQgTWFya3VwIExhbmd1YWdlLCBJU08gODg3OToxOTg2KEUpIGFzIGFtZW5kZWQgYW5kCitjb3JyZWN0ZWQpIGZvciB1c2Ugb24gdGhlIFdvcmxkIFdpZGUgV2ViLiAgSXQgaXMgYSBwcm9kdWN0IG9mIHRoZSBXM0MKK1hNTCBBY3Rpdml0eSwgZGV0YWlscyBvZiB3aGljaCBjYW4gYmUgZm91bmQgYXQgPGxvYyBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9YTUwiPmh0dHA6Ly93d3cudzMub3JnL1hNTDwvbG9jPi4gIEEgbGlzdCBvZgorY3VycmVudCBXM0MgUmVjb21tZW5kYXRpb25zIGFuZCBvdGhlciB0ZWNobmljYWwgZG9jdW1lbnRzIGNhbiBiZSBmb3VuZAorYXQgPGxvYyBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUiI+aHR0cDovL3d3dy53My5vcmcvVFI8L2xvYz4uCis8L3A+Cis8cD5UaGlzIHNwZWNpZmljYXRpb24gdXNlcyB0aGUgdGVybSBVUkksIHdoaWNoIGlzIGRlZmluZWQgYnkgPGJpYnJlZiByZWY9IkJlcm5lcnMtTGVlIi8+LCBhIHdvcmsgaW4gcHJvZ3Jlc3MgZXhwZWN0ZWQgdG8gdXBkYXRlIDxiaWJyZWYgcmVmPSJSRkMxNzM4Ii8+IGFuZCA8YmlicmVmIHJlZj0iUkZDMTgwOCIvPi4gCis8L3A+Cis8cD5UaGUgbGlzdCBvZiBrbm93biBlcnJvcnMgaW4gdGhpcyBzcGVjaWZpY2F0aW9uIGlzIAorYXZhaWxhYmxlIGF0IAorPGxvYyBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9YTUwveG1sLTE5OTgwMjEwLWVycmF0YSI+aHR0cDovL3d3dy53My5vcmcvWE1ML3htbC0xOTk4MDIxMC1lcnJhdGE8L2xvYz4uPC9wPgorPHA+UGxlYXNlIHJlcG9ydCBlcnJvcnMgaW4gdGhpcyBkb2N1bWVudCB0byAKKzxsb2MgaHJlZj0ibWFpbHRvOnhtbC1lZGl0b3JAdzMub3JnIj54bWwtZWRpdG9yQHczLm9yZzwvbG9jPi4KKzwvcD4KKzwvc3RhdHVzPgorCisKKzxwdWJzdG10PgorPHA+Q2hpY2FnbywgVmFuY291dmVyLCBNb3VudGFpbiBWaWV3LCBldCBhbC46CitXb3JsZC1XaWRlIFdlYiBDb25zb3J0aXVtLCBYTUwgV29ya2luZyBHcm91cCwgMTk5NiwgMTk5Ny48L3A+Cis8L3B1YnN0bXQ+Cis8c291cmNlZGVzYz4KKzxwPkNyZWF0ZWQgaW4gZWxlY3Ryb25pYyBmb3JtLjwvcD4KKzwvc291cmNlZGVzYz4KKzxsYW5ndXNhZ2U+Cis8bGFuZ3VhZ2UgaWQ9IkVOIj5FbmdsaXNoPC9sYW5ndWFnZT4KKzxsYW5ndWFnZSBpZD0iZWJuZiI+RXh0ZW5kZWQgQmFja3VzLU5hdXIgRm9ybSAoZm9ybWFsIGdyYW1tYXIpPC9sYW5ndWFnZT4KKzwvbGFuZ3VzYWdlPgorPHJldmlzaW9uZGVzYz4KKzxzbGlzdD4KKzxzaXRlbT4xOTk3LTEyLTAzIDogQ01TTWNRIDogeWV0IGZ1cnRoZXIgY2hhbmdlczwvc2l0ZW0+Cis8c2l0ZW0+MTk5Ny0xMi0wMiA6IFRCIDogZnVydGhlciBjaGFuZ2VzIChzZWUgVEIgdG8gWE1MIFdHLAorMiBEZWNlbWJlciAxOTk3KTwvc2l0ZW0+Cis8c2l0ZW0+MTk5Ny0xMi0wMiA6IENNU01jUSA6IGRlYWwgd2l0aCBhcyBtYW55IGNvcnJlY3Rpb25zIGFuZAorY29tbWVudHMgZnJvbSB0aGUgcHJvb2ZyZWFkZXJzIGFzIHBvc3NpYmxlOgorZW50aWZ5IGhhcmQtY29kZWQgZG9jdW1lbnQgZGF0ZSBpbiBwdWJkYXRlIGVsZW1lbnQsCitjaGFuZ2UgZXhwYW5zaW9uIG9mIGVudGl0eSBXZWJTR01MLAordXBkYXRlIHN0YXR1cyBkZXNjcmlwdGlvbiBhcyBwZXIgRGFuIENvbm5vbGx5IChhbSBub3Qgc3VyZQorYWJvdXQgcmVmZXJuZWNlIHRvIEJlcm5lcnMtTGVlIGV0IGFsLiksCithZGQgJ1RoZScgdG8gYWJzdHJhY3QgYXMgcGVyIFdHIGRlY2lzaW9uLAorbW92ZSBSZWxhdGlvbnNoaXAgdG8gRXhpc3RpbmcgU3RhbmRhcmRzIHRvIGJhY2sgbWF0dGVyIGFuZAorY29tYmluZSB3aXRoIFJlZmVyZW5jZXMsCityZS1vcmRlciBiYWNrIG1hdHRlciBzbyBub3JtYXRpdmUgYXBwZW5kaWNlcyBjb21lIGZpcnN0LAorcmUtdGFnIGJhY2sgbWF0dGVyIHNvIGluZm9ybWF0aXZlIGFwcGVuZGljZXMgYXJlIHRhZ2dlZCBpbmZvcm1kaXYxLAorcmVtb3ZlIFhYWCBYWFggZnJvbSBsaXN0IG9mICdub3JtYXRpdmUnIHNwZWNzIGluIHByb3NlLAorbW92ZSBzb21lIHJlZmVyZW5jZXMgZnJvbSBPdGhlciBSZWZlcmVuY2VzIHRvIE5vcm1hdGl2ZSBSZWZlcmVuY2VzLAorYWRkIFJGQyAxNzM4LCAxODA4LCBhbmQgMjE0MSB0byBPdGhlciBSZWZlcmVuY2VzICh0aGV5IGFyZSBub3QKK25vcm1hdGl2ZSBzaW5jZSB3ZSBkbyBub3QgcmVxdWlyZSB0aGUgcHJvY2Vzc29yIHRvIGVuZm9yY2UgYW55IAorcnVsZXMgYmFzZWQgb24gdGhlbSksCithZGQgcmVmZXJlbmNlIHRvICdGaWVsZGluZyBkcmFmdCcgKEJlcm5lcnMtTGVlIGV0IGFsLiksCittb3ZlIG5vdGF0aW9uIHNlY3Rpb24gdG8gZW5kIG9mIGJvZHksCitkcm9wIFVSSWNoYXIgbm9uLXRlcm1pbmFsIGFuZCB1c2UgU2tpcExpdCBpbnN0ZWFkLAorbG9zZSBzdHJheSByZWZlcmVuY2UgdG8gZGVmdW5jdCBub250ZXJtaW5hbCAnbWFya3VwZGVjbHMnLAorbW92ZSByZWZlcmVuY2UgdG8gQWhvIGV0IGFsLiBpbnRvIGFwcGVuZGl4IChUaW0ncyByaWdodCksCithZGQgcHJvc2Ugbm90ZSBzYXlpbmcgdGhhdCBoYXNoIG1hcmtzIGFuZCBmcmFnbWVudCBpZGVudGlmaWVycyBhcmUKK05PVCBwYXJ0IG9mIHRoZSBVUkkgZm9ybWFsbHkgc3BlYWtpbmcsIGFuZCBhcmUgTk9UIGxlZ2FsIGluIAorc3lzdGVtIGlkZW50aWZpZXJzIChwcm9jZXNzb3IgJ21heScgc2lnbmFsIGFuIGVycm9yKS4KK1dvcmsgdGhyb3VnaDoKK1RpbSBCcmF5IHJlYWN0aW5nIHRvIEphbWVzIENsYXJrLAorVGltIEJyYXkgb24gaGlzIG93biwKK0V2ZSBNYWxlciwKKworTk9UIERPTkUgWUVUOgorY2hhbmdlIGJpbmFyeSAvIHRleHQgdG8gdW5wYXJzZWQgLyBwYXJzZWQuCitoYW5kbGUgSmFtZXMncyBzdWdnZXN0aW9uIGFib3V0ICZsdDsgaW4gYXR0cml1YnRlIHZhbHVlcwordXBwZXJjYXNlIGhleCBjaGFyYWN0ZXJzLAorbmFtZWNoYXIgbGlzdCwKKzwvc2l0ZW0+Cis8c2l0ZW0+MTk5Ny0xMi0wMSA6IEpCIDogYWRkIHNvbWUgY29sdW1uLXdpZHRoIHBhcmFtZXRlcnM8L3NpdGVtPgorPHNpdGVtPjE5OTctMTItMDEgOiBDTVNNY1EgOiBiZWdpbiByb3VuZCBvZiBjaGFuZ2VzIHRvIGluY29ycG9yYXRlCityZWNlbnQgV0cgZGVjaXNpb25zIGFuZCBvdGhlciBjb3JyZWN0aW9uczoKK2JpbmRpbmcgc291cmNlcyBvZiBjaGFyYWN0ZXIgZW5jb2RpbmcgaW5mbyAoMjcgQXVnIC8gMyBTZXB0KSwKK2NvcnJlY3Qgd29yZGluZyBvZiBGYXVzdCBxdW90YXRpb24gKHJlc3RvcmUgZHJvcHBlZCBsaW5lKSwKK2Ryb3AgU0REIGZyb20gRW5jb2RpbmdEZWNsLAorY2hhbmdlIHRleHQgYXQgdmVyc2lvbiBudW1iZXIgMS4wLAorZHJvcCBtaXNsZWFkaW5nICh3cm9uZyEpIHNlbnRlbmNlIGFib3V0IGlnbm9yYWJsZXMgYW5kIGV4dGVuZGVycywKK21vZGlmeSBkZWZpbml0aW9uIG9mIFBDRGF0YSB0byBtYWtlIGJhciBvbiBtc2MgZ3JhbW1hdGljYWwsCitjaGFuZ2UgZ3JhbW1hcidzIGhhbmRsaW5nIG9mIGludGVybmFsIHN1YnNldCAoZHJvcCBub24tdGVybWluYWwgbWFya3VwZGVjbHMpLAorY2hhbmdlIGRlZmluaXRpb24gb2YgaW5jbHVkZVNlY3QgdG8gYWxsb3cgY29uZGl0aW9uYWwgc2VjdGlvbnMsCithZGQgaW50ZWdyYWwtZGVjbGFyYXRpb24gY29uc3RyYWludCBvbiBpbnRlcm5hbCBzdWJzZXQsCitkcm9wIG1pc2xlYWRpbmcgLyBkYW5nZXJvdXMgc2VudGVuY2UgYWJvdXQgcmVsYXRpb25zaGlwIG9mCitlbnRpdGllcyB3aXRoIHN5c3RlbSBzdG9yYWdlIG9iamVjdHMsCitjaGFuZ2UgdGFibGUgYm9keSB0YWcgdG8gaHRib2R5IGFzIHBlciBFTSBjaGFuZ2UgdG8gRFRELAorYWRkIHJ1bGUgYWJvdXQgc3BhY2Ugbm9ybWFsaXphdGlvbiBpbiBwdWJsaWMgaWRlbnRpZmllcnMsCithZGQgZGVzY3JpcHRpb24gb2YgaG93IHRvIGdlbmVyYXRlIG91ciBuYW1lLXNwYWNlIHJ1bGVzIGZyb20gCitVbmljb2RlIGNoYXJhY3RlciBkYXRhYmFzZSAobmVlZHMgZnVydGhlciB3b3JrISkuCis8L3NpdGVtPgorPHNpdGVtPjE5OTctMTAtMDggOiBUQiA6IFJlbW92ZWQgJS1jb25zdHJ1Y3RzIGFnYWluLCBuZXcgcnVsZXMKK2ZvciBQRSBhcHBlYXJhbmNlLjwvc2l0ZW0+Cis8c2l0ZW0+MTk5Ny0xMC0wMSA6IFRCIDogQ2FzZS1zZW5zaXRpdmUgbWFya3VwOyBjbGVhbmVkIHVwCitlbGVtZW50LXR5cGUgZGVmcywgbG90c2EgbGl0dGxlIGVkaXRzIGZvciBzdHlsZTwvc2l0ZW0+Cis8c2l0ZW0+MTk5Ny0wOS0yNSA6IFRCIDogQ2hhbmdlIHRvIGVsbSdzIG5ldyBEVEQsIHdpdGgKK3N1YnN0YW50aWFsIGRldGFpbCBjbGVhbnVwIGFzIGEgc2lkZS1lZmZlY3Q8L3NpdGVtPgorPHNpdGVtPjE5OTctMDctMjQgOiBDTVNNY1EgOiBjb3JyZWN0IGVycm9yIChsb3N0ICopIGluIGRlZmluaXRpb24gCitvZiBpZ25vcmVTZWN0Q29udGVudHMgKHRoYW5rcyB0byBNYWtvdG8gTXVyYXRhKTwvc2l0ZW0+Cis8c2l0ZW0+QWxsb3cgYWxsIGVtcHR5IGVsZW1lbnRzIHRvIGhhdmUgZW5kLXRhZ3MsIGNvbnNpc3RlbnQgd2l0aAorU0dNTCBUQyAoYXMgcGVyIEpKQykuPC9zaXRlbT4KKzxzaXRlbT4xOTk3LTA3LTIzIDogQ01TTWNRIDogcHJlLWVtcHRpdmUgc3RyaWtlIG9uIHBlbmRpbmcgY29ycmVjdGlvbnM6CitpbnRyb2R1Y2UgdGhlIHRlcm0gJ2VtcHR5LWVsZW1lbnQgdGFnJywgbm90ZSB0aGF0IGFsbCBlbXB0eSBlbGVtZW50cworbWF5IHVzZSBpdCwgYW5kIGVsZW1lbnRzIGRlY2xhcmVkIEVNUFRZIG11c3QgdXNlIGl0LgorQWRkIFdGQyByZXF1aXJpbmcgZW5jb2RpbmcgZGVjbCB0byBjb21lIGZpcnN0IGluIGFuIGVudGl0eS4KK1JlZGVmaW5lIG5vdGF0aW9ucyB0byBwb2ludCB0byBQSXMgYXMgd2VsbCBhcyBiaW5hcnkgZW50aXRpZXMuCitDaGFuZ2UgYXV0b2RldGVjdGlvbiB0YWJsZSBieSByZW1vdmluZyBieXRlcyAzIGFuZCA0IGZyb20gCitleGFtcGxlcyB3aXRoIEJ5dGUgT3JkZXIgTWFyay4KK0FkZCBjb250ZW50IG1vZGVsIGFzIGEgdGVybSBhbmQgY2xhcmlmeSB0aGF0IGl0IGFwcGxpZXMgdG8gYm90aAorbWl4ZWQgYW5kIGVsZW1lbnQgY29udGVudC4KKzwvc2l0ZW0+Cis8c2l0ZW0+MTk5Ny0wNi0zMCA6IENNU01jUSA6IGNoYW5nZSBkYXRlLCBzb21lIGNvc21ldGljIGNoYW5nZXMsCitjaGFuZ2VzIHRvIHByb2R1Y3Rpb25zIGZvciBjaG9pY2UsIHNlcSwgTWl4ZWQsIE5vdGF0aW9uVHlwZSwKK0VudW1lcmF0aW9uLiAgRm9sbG93IEphbWVzIENsYXJrJ3Mgc3VnZ2VzdGlvbiBhbmQgcHJvaGliaXQgCitjb25kaXRpb25hbCBzZWN0aW9ucyBpbiBpbnRlcm5hbCBzdWJzZXQuICBUTyBETzogIHNpbXBsaWZ5Citwcm9kdWN0aW9uIGZvciBpZ25vcmVkIHNlY3Rpb25zIGFzIGEgcmVzdWx0LCBzaW5jZSB3ZSBkb24ndCAKK25lZWQgdG8gd29ycnkgYWJvdXQgcGFyc2VycyB3aGljaCBkb24ndCBleHBhbmQgUEVyZWZzIGZpbmRpbmcKK2EgY29uZGl0aW9uYWwgc2VjdGlvbi48L3NpdGVtPgorPHNpdGVtPjE5OTctMDYtMjkgOiBUQiA6IHZhcmlvdXMgZWRpdHM8L3NpdGVtPgorPHNpdGVtPjE5OTctMDYtMjkgOiBDTVNNY1EgOiBmdXJ0aGVyIGNoYW5nZXM6CitTdXBwcmVzcyBvbGQgRklOQUwgRURJVCBjb21tZW50cyBhbmQgc29tZSBkZWFkIG1hdGVyaWFsLgorUmV2aXNlIG9jY3VycmVuY2VzIG9mICUgaW4gZ3JhbW1hciB0byBleHBsb2l0IEhlbnJ5IFRob21wc29uJ3MgcHVuLAorZXNwZWNpYWxseSBtYXJrdXBkZWNsIGFuZCBhdHRkZWYuCitSZW1vdmUgUk1EIHJlcXVpcmVtZW50IHJlbGF0aW5nIHRvIGVsZW1lbnQgY29udGVudCAoPykuCis8L3NpdGVtPgorPHNpdGVtPjE5OTctMDYtMjggOiBDTVNNY1EgOiBWYXJpb3VzIGNoYW5nZXMgZm9yIDEgSnVseSBkcmFmdDoKK0FkZCB0ZXh0IGZvciBkcmFjb25pYW4gZXJyb3IgaGFuZGxpbmcgKGludHJvZHVjZQordGhlIHRlcm0gRmF0YWwgRXJyb3IpLgorUkUgZGVsZXRhIGVzdCAoY2hhbmdpbmcgd29yZGluZyBmcm9tIAorb3JpZ2luYWwgYW5ub3VuY2VtZW50IHRvIHJlc3RyaWN0IHRoZSByZXF1aXJlbWVudCB0byB2YWxpZGF0aW5nCitwYXJzZXJzKS4KK1RhZyBkZWZpbml0aW9uIG9mIHZhbGlkYXRpbmcgcHJvY2Vzc29yIGFuZCBsaW5rIHRvIGl0LgorQWRkIGNvbG9uIGFzIG5hbWUgY2hhcmFjdGVyLgorQ2hhbmdlIGRlZiBvZiAlb3BlcmF0b3IuCitDaGFuZ2Ugc3RhbmRhcmQgZGVmaW5pdGlvbnMgb2YgbHQsIGd0LCBhbXAuCitTdHJpcCBsZWFkaW5nIHplcm9zIGZyb20gI3gwMG5uIGZvcm1zLjwvc2l0ZW0+Cis8c2l0ZW0+MTk5Ny0wNC0wMiA6IENNU01jUSA6IGZpbmFsIGNvcnJlY3Rpb25zIG9mIGVkaXRvcmlhbCBlcnJvcnMKK2ZvdW5kIGluIGxhc3QgbmlnaHQncyBwcm9vZnJlYWRpbmcuICBSZXZlcnNlIGNvdXJzZSBvbmNlIG1vcmUgb24KK3dlbGwtZm9ybWVkOiAgIFdlYnN0ZXIncyBTZWNvbmQgaHlwaGVuYXRlcyBpdCwgYW5kIHRoYXQncyBlbm91Z2gKK2ZvciBtZS48L3NpdGVtPgorPHNpdGVtPjE5OTctMDQtMDEgOiBDTVNNY1EgOiBjb3JyZWN0aW9ucyBmcm9tIEpKQywgRU0sIEhULCBhbmQgc2VsZjwvc2l0ZW0+Cis8c2l0ZW0+MTk5Ny0wMy0zMSA6IFRpbSBCcmF5IDogbWFueSBjaGFuZ2VzPC9zaXRlbT4KKzxzaXRlbT4xOTk3LTAzLTI5IDogQ01TTWNRIDogc29tZSBIZW5yeSBUaG9tcHNvbiAob24gZW50aXR5IGhhbmRsaW5nKSwKK3NvbWUgQ2hhcmxlcyBHb2xkZmFyYiwgc29tZSBFUkIgZGVjaXNpb25zIChQRSBoYW5kbGluZyBpbiBtaXNjZWxsYW5lb3VzCitkZWNsYXJhdGlvbnMuICBDaGFuZ2VkIElkZW50IGVsZW1lbnQgdG8gYWNjZXB0IGRlZiBhdHRyaWJ1dGUuCitBbGxvdyBub3JtYWxpemF0aW9uIG9mIFVuaWNvZGUgY2hhcmFjdGVycy4gIG1vdmUgZGVmIG9mIHN5c3RlbWxpdGVyYWwKK2ludG8gc2VjdGlvbiBvbiBsaXRlcmFscy48L3NpdGVtPgorPHNpdGVtPjE5OTctMDMtMjggOiBDTVNNY1EgOiBtYWtlIGFzIG1hbnkgY29ycmVjdGlvbnMgYXMgcG9zc2libGUsIGZyb20KK1RlcnJ5IEFsbGVuLCBOb3JiZXJ0IE1pa3VsYSwgSmFtZXMgQ2xhcmssIEpvbiBCb3NhaywgSGVucnkgVGhvbXBzb24sCitQYXVsIEdyb3NzbywgYW5kIHNlbGYuICBBbW9uZyBvdGhlciB0aGluZ3M6ICBnaXZlIGluIG9uICJ3ZWxsIGZvcm1lZCIKKyhUZXJyeSBpcyByaWdodCksIHRlbnRhdGl2ZWx5IHJlbmFtZSBRdW90ZWRDRGF0YSBhcyBBdHRWYWx1ZQorYW5kIExpdGVyYWwgYXMgRW50aXR5VmFsdWUgdG8gYmUgbW9yZSBpbmZvcm1hdGl2ZSwgc2luY2UgYXR0cmlidXRlCit2YWx1ZXMgYXJlIHRoZSA8ZW1waD5vbmx5PC9lbXBoPiBwbGFjZSBRdW90ZWRDRGF0YSB3YXMgdXNlZCwgYW5kCit2aWNlIHZlcnNhIGZvciBlbnRpdHkgdGV4dCBhbmQgTGl0ZXJhbC4gKEknZCBjYWxsIGl0IEVudGl0eSBUZXh0LCAKK2J1dCA4ODc5IHVzZXMgdGhhdCBuYW1lIGZvciBib3RoIGludGVybmFsIGFuZCBleHRlcm5hbCBlbnRpdGllcy4pPC9zaXRlbT4KKzxzaXRlbT4xOTk3LTAzLTI2IDogQ01TTWNRIDogcmVzeW5jaCB0aGUgdHdvIGZvcmtzIG9mIHRoaXMgZHJhZnQsIHJlYXBwbHkKK215IGNoYW5nZXMgZGF0ZWQgMDMtMjAgYW5kIDAzLTIxLiAgTm9ybWFsaXplIG9sZCAnbWF5IG5vdCcgdG8gJ211c3Qgbm90JworZXhjZXB0IGluIHRoZSBvbmUgY2FzZSB3aGVyZSBpdCBtZWFudCAnbWF5IG9yIG1heSBub3QnLjwvc2l0ZW0+Cis8c2l0ZW0+MTk5Ny0wMy0yMSA6IFRCIDogbWFzc2l2ZSBjaGFuZ2VzIG9uIHBsYW5lIGZsaWdodCBmcm9tIENoaWNhZ28KK3RvIFZhbmNvdXZlcjwvc2l0ZW0+Cis8c2l0ZW0+MTk5Ny0wMy0yMSA6IENNU01jUSA6IGNvcnJlY3QgYXMgbWFueSByZXBvcnRlZCBlcnJvcnMgYXMgcG9zc2libGUuCis8L3NpdGVtPgorPHNpdGVtPjE5OTctMDMtMjAgOiBDTVNNY1EgOiBjb3JyZWN0IHR5cG9zIGxpc3RlZCBpbiBDTVNNY1EgaGFuZCBjb3B5IG9mIHNwZWMuPC9zaXRlbT4KKzxzaXRlbT4xOTk3LTAzLTIwIDogQ01TTWNRIDogY29zbWV0aWMgY2hhbmdlcyBwcmVwYXJhdG9yeSB0byByZXZpc2lvbiBmb3IKK1dXVyBjb25mZXJlbmNlIEFwcmlsIDE5OTc6ICByZXN0b3JlIHNvbWUgb2YgdGhlIGludGVybmFsIGVudGl0eSAKK3JlZmVyZW5jZXMgKGUuZy4gdG8gZG9jZGF0ZSwgZXRjLiksIGNoYW5nZSBjaGFyYWN0ZXIgeEEwIHRvICZhbXA7bmJzcDsKK2FuZCBkZWZpbmUgbmJzcCBhcyAmYW1wOyMxNjA7LCBhbmQgcmVmaWxsIGEgbG90IG9mIHBhcmFncmFwaHMgZm9yCitsZWdpYmlsaXR5Ljwvc2l0ZW0+Cis8c2l0ZW0+MTk5Ni0xMS0xMiA6IENNU01jUSA6IHJldmlzZSB1c2luZyBUaW0ncyBlZGl0czoKK0FkZCBsaXN0IHR5cGUgb2YgTlVNQkVSRUQgYW5kIGNoYW5nZSBtb3N0IGxpc3RzIGVpdGhlciB0bworQlVMTEVUUyBvciB0byBOVU1CRVJFRC4KK1N1cHByZXNzIFF1b3RlZE5hbWVzLCBOYW1lcyAobm90IHVzZWQpLgorQ29ycmVjdCB0cml2aWFsLWdyYW1tYXIgZG9jIHR5cGUgZGVjbC4KK1JlbmFtZSAnbWFya2VkIHNlY3Rpb24nIGFzICdDREFUQSBzZWN0aW9uJyBwYXNzaW0uCitBbHNvIGVkaXRzIGZyb20gSmFtZXMgQ2xhcms6CitEZWZpbmUgdGhlIHNldCBvZiBjaGFyYWN0ZXJzIGZyb20gd2hpY2ggW15hYmNdIHN1YnRyYWN0cy4KK0NoYXJyZWYgc2hvdWxkIHVzZSBqdXN0IFswLTldIG5vdCBEaWdpdC4KK0xvY2F0aW9uIGluZm8gbmVlZHMgY2xlYW5lciB0cmVhdG1lbnQ6ICByZW1vdmU/ICAoRVJCCitxdWVzdGlvbikuCitPbmUgZXhhbXBsZSBvZiBhIFBJIGhhcyB3cm9uZyBwaWMuCitDbGFyaWZ5IGRpc2N1c3Npb24gb2YgZW5jb2RpbmcgbmFtZXMuCitFbmNvZGluZyBmYWlsdXJlIHNob3VsZCBsZWFkIHRvIHVuc3BlY2lmaWVkIHJlc3VsdHM7IGRvbid0CitwcmVzY3JpYmUgZXJyb3IgcmVjb3ZlcnkuCitEb24ndCByZXF1aXJlIGV4cG9zdXJlIG9mIGVudGl0eSBib3VuZGFyaWVzLgorSWdub3JlIHdoaXRlIHNwYWNlIGluIGVsZW1lbnQgY29udGVudC4KK1Jlc2VydmUgZW50aXR5IG5hbWVzIG9mIHRoZSBmb3JtIHUtTk5OTi4KK0NsYXJpZnkgcmVsYXRpdmUgVVJMcy4KK0FuZCBzb21lIG9mIG15IG93bjoKK0NvcnJlY3QgcHJvZHVjdGlvbnMgZm9yIGNvbnRlbnQgbW9kZWw6ICBtb2RlbCBjYW5ub3QKK2NvbnNpc3Qgb2YgYSBuYW1lLCBzbyAiZWxlbWVudHMgOjo9IGNwIiBpcyBubyBnb29kLgorPC9zaXRlbT4KKzxzaXRlbT4xOTk2LTExLTExIDogQ01TTWNRIDogcmV2aXNlIGZvciBzdHlsZS4KK0FkZCBuZXcgcmhzIHRvIGVudGl0eSBkZWNsYXJhdGlvbiwgZm9yIHBhcmFtZXRlciBlbnRpdGllcy48L3NpdGVtPgorPHNpdGVtPjE5OTYtMTEtMTAgOiBDTVNNY1EgOiByZXZpc2UgZm9yIHN0eWxlLgorRml4IC8gY29tcGxldGUgc2VjdGlvbiBvbiBuYW1lcywgY2hhcmFjdGVycy4KK0FkZCBzZWN0aW9ucyBvbiBwYXJhbWV0ZXIgZW50aXRpZXMsIGNvbmRpdGlvbmFsIHNlY3Rpb25zLgorU3RpbGwgdG8gZG86ICBBZGQgY29tcGF0aWJpbGl0eSBub3RlIG9uIGRldGVybWluaXN0aWMgY29udGVudCBtb2RlbHMuCitGaW5pc2ggc3R5bGlzdGljIHJldmlzaW9uLjwvc2l0ZW0+Cis8c2l0ZW0+MTk5Ni0xMC0zMSA6IFRCIDogQWRkIEVudGl0eSBIYW5kbGluZyBzZWN0aW9uPC9zaXRlbT4KKzxzaXRlbT4xOTk2LTEwLTMwIDogVEIgOiBDbGVhbiB1cCB0ZXJtICZhbXA7IHRlcm1kZWYuICBTbGlwIGluCitFUkIgZGVjaXNpb24gcmUgRU1QVFkuPC9zaXRlbT4KKzxzaXRlbT4xOTk2LTEwLTI4IDogVEIgOiBDaGFuZ2UgRFRELiAgSW1wbGVtZW50IHNvbWUgb2YgTWljaGFlbCdzCitzdWdnZXN0aW9ucy4gIENoYW5nZSBjb21tZW50cyBiYWNrIHRvIC8vLiAgSW50cm9kdWNlIGxhbmd1YWdlIGZvcgorWE1MIG5hbWVzcGFjZSByZXNlcnZhdGlvbi4gIEFkZCBzZWN0aW9uIG9uIHdoaXRlLXNwYWNlIGhhbmRsaW5nLgorTG90cyBtb3JlIGNsZWFudXAuPC9zaXRlbT4KKzxzaXRlbT4xOTk2LTEwLTI0IDogQ01TTWNRIDogcXVpY2sgdHdlYWtzLCBpbXBsZW1lbnQgc29tZSBFUkIKK2RlY2lzaW9ucy4gIENoYXJhY3RlcnMgYXJlIG5vdCBpbnRlZ2Vycy4gIENvbW1lbnRzIGFyZSAvKiAqLyBub3QgLy8uCitBZGQgYmlibGlvZ3JhcGhpYyByZWZzIHRvIDEwNjQ2LCBIeVRpbWUsIFVuaWNvZGUuCitSZW5hbWUgb2xkIENkYXRhIGFzIE1zRGF0YSBzaW5jZSBpdCdzIDxlbXBoPm9ubHk8L2VtcGg+IHNlZW4KK2luIG1hcmtlZCBzZWN0aW9ucy4gIENhbGwgdGhlbSBhdHRyaWJ1dGUtdmFsdWUgcGFpcnMgbm90CituYW1lLXZhbHVlIHBhaXJzLCBleGNlcHQgb25jZS4gIEludGVybmFsIHN1YnNldCBpcyBvcHRpb25hbCwgbmVlZHMKKyc/Jy4gIEltcGxpZWQgYXR0cmlidXRlcyBzaG91bGQgYmUgc2lnbmFsZWQgdG8gdGhlIGFwcCwgbm90CitoYXZlIHZhbHVlcyBzdXBwbGllZCBieSBwcm9jZXNzb3IuPC9zaXRlbT4KKzxzaXRlbT4xOTk2LTEwLTE2IDogVEIgOiB0cmFjayBkb3duICZhbXA7IGV4Y2lzZSBhbGwgRFNEIHJlZmVyZW5jZXM7CitpbnRyb2R1Y2Ugc29tZSBFQk5GIGZvciBlbnRpdHkgZGVjbGFyYXRpb25zLjwvc2l0ZW0+Cis8c2l0ZW0+MTk5Ni0xMC0/PyA6IFRCIDogY29uc2lzdGVuY3kgY2hlY2ssIGZpeCB1cCBzY3JhcHMgc28KK3RoZXkgYWxsIHBhcnNlLCBnZXQgZm9ybWF0dGVyIHdvcmtpbmcsIGNvcnJlY3QgYSBmZXcgcHJvZHVjdGlvbnMuPC9zaXRlbT4KKzxzaXRlbT4xOTk2LTEwLTEwLzExIDogQ01TTWNRIDogdmFyaW91cyBtYWludGVuYW5jZSwgc3R5bGlzdGljLCBhbmQKK29yZ2FuaXphdGlvbmFsIGNoYW5nZXM6CitSZXBsYWNlIGEgZmV3IGxpdGVyYWxzIHdpdGggeG1scGlvIGFuZAorcGljIGVudGl0aWVzLCB0byBtYWtlIHRoZW0gY29uc2lzdGVudCBhbmQgZW5zdXJlIHdlIGNhbiBjaGFuZ2UgcGljCityZWxpYWJseSB3aGVuIHRoZSBFUkIgdm90ZXMuCitEcm9wIHBhcmFncmFwaCBvbiByZWNvZ25pemVycyBmcm9tIG5vdGF0aW9uIHNlY3Rpb24uCitBZGQgbWF0Y2gsIGV4YWN0IG1hdGNoIHRvIHRlcm1pbm9sb2d5LgorTW92ZSBvbGQgMi4yIFhNTCBQcm9jZXNzb3JzIGFuZCBBcHBzIGludG8gaW50cm8uCitNZW50aW9uIGNvbW1lbnRzLCBQSXMsIGFuZCBtYXJrZWQgc2VjdGlvbnMgaW4gZGlzY3Vzc2lvbiBvZgorZGVsaW1pdGVyIGVzY2FwaW5nLgorU3RyZWFtbGluZSBkaXNjdXNzaW9uIG9mIGRvY3R5cGUgZGVjbCBzeW50YXguCitEcm9wIG9sZCBzZWN0aW9uIG9mICdQSSBzeW50YXgnIGZvciBkb2N0eXBlIGRlY2wsIGFuZCBhZGQKK3NlY3Rpb24gb24gcGFydGlhbC1EVEQgc3VtbWFyeSBQSXMgdG8gZW5kIG9mIExvZ2ljYWwgU3RydWN0dXJlcworc2VjdGlvbi4KK1JldmlzZSBEU0Qgc3ludGF4IHNlY3Rpb24gdG8gdXNlIFRpbSdzIHN1YnNldC1pbi1hLVBJCittZWNoYW5pc20uPC9zaXRlbT4KKzxzaXRlbT4xOTk2LTEwLTEwIDogVEIgOiBlbGltaW5hdGUgbmFtZSByZWNvZ25pemVycyAoYW5kIG1vcmU/KTwvc2l0ZW0+Cis8c2l0ZW0+MTk5Ni0xMC0wOSA6IENNU01jUSA6IHJldmlzZSBmb3Igc3R5bGUsIGNvbnNpc3RlbmN5IHRocm91Z2ggMi4zCisoQ2hhcmFjdGVycyk8L3NpdGVtPgorPHNpdGVtPjE5OTYtMTAtMDkgOiBDTVNNY1EgOiByZS11bml0ZSBldmVyeXRoaW5nIGZvciBjb252ZW5pZW5jZSwKK2F0IGxlYXN0IHRlbXBvcmFyaWx5LCBhbmQgcmV2aXNlIHF1aWNrbHk8L3NpdGVtPgorPHNpdGVtPjE5OTYtMTAtMDggOiBUQiA6IGZpcnN0IG1ham9yIGhvbW9nZW5pemF0aW9uIHBhc3M8L3NpdGVtPgorPHNpdGVtPjE5OTYtMTAtMDggOiBUQiA6IHR1cm4gImN1cnJlbnQiIGF0dHJpYnV0ZSBvbiBkaXYgdHlwZSBpbnRvIAorQ0RBVEE8L3NpdGVtPgorPHNpdGVtPjE5OTYtMTAtMDIgOiBUQiA6IHJlbW91bGQgaW50byBza2VsZXRvbiArIGVudGl0aWVzPC9zaXRlbT4KKzxzaXRlbT4xOTk2LTA5LTMwIDogQ01TTWNRIDogYWRkIGEgZmV3IG1vcmUgc2VjdGlvbnMgcHJpb3IgdG8gZXhjaGFuZ2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoIFRpbS48L3NpdGVtPgorPHNpdGVtPjE5OTYtMDktMjAgOiBDTVNNY1EgOiBmaW5pc2ggdHJhbnNjcmliaW5nIG5vdGVzLjwvc2l0ZW0+Cis8c2l0ZW0+MTk5Ni0wOS0xOSA6IENNU01jUSA6IGJlZ2luIHRyYW5zY3JpYmluZyBub3RlcyBmb3IgZHJhZnQuPC9zaXRlbT4KKzxzaXRlbT4xOTk2LTA5LTEzIDogQ01TTWNRIDogbWFkZSBvdXRsaW5lIGZyb20gbm90ZXMgb2YgMDktMDYsCitkbyBzb21lIGhvdXNla2VlcGluZzwvc2l0ZW0+Cis8L3NsaXN0PgorPC9yZXZpc2lvbmRlc2M+Cis8L2hlYWRlcj4KKzxib2R5PiAKKzxkaXYxIGlkPSJzZWMtaW50cm8iPgorPGhlYWQ+SW50cm9kdWN0aW9uPC9oZWFkPgorPHA+RXh0ZW5zaWJsZSBNYXJrdXAgTGFuZ3VhZ2UsIGFiYnJldmlhdGVkIFhNTCwgZGVzY3JpYmVzIGEgY2xhc3Mgb2YKK2RhdGEgb2JqZWN0cyBjYWxsZWQgPHRlcm1yZWYgZGVmPSJkdC14bWwtZG9jIj5YTUwgZG9jdW1lbnRzPC90ZXJtcmVmPiBhbmQKK3BhcnRpYWxseSBkZXNjcmliZXMgdGhlIGJlaGF2aW9yIG9mIAorY29tcHV0ZXIgcHJvZ3JhbXMgd2hpY2ggcHJvY2VzcyB0aGVtLiBYTUwgaXMgYW4gYXBwbGljYXRpb24gcHJvZmlsZSBvcgorcmVzdHJpY3RlZCBmb3JtIG9mIFNHTUwsIHRoZSBTdGFuZGFyZCBHZW5lcmFsaXplZCBNYXJrdXAgCitMYW5ndWFnZSA8YmlicmVmIHJlZj0iSVNPODg3OSIvPi4KK0J5IGNvbnN0cnVjdGlvbiwgWE1MIGRvY3VtZW50cyAKK2FyZSBjb25mb3JtaW5nIFNHTUwgZG9jdW1lbnRzLgorPC9wPgorPHA+WE1MIGRvY3VtZW50cyBhcmUgbWFkZSB1cCBvZiBzdG9yYWdlIHVuaXRzIGNhbGxlZCA8dGVybXJlZiBkZWY9ImR0LWVudGl0eSI+ZW50aXRpZXM8L3Rlcm1yZWY+LCB3aGljaCBjb250YWluIGVpdGhlciBwYXJzZWQKK29yIHVucGFyc2VkIGRhdGEuCitQYXJzZWQgZGF0YSBpcyBtYWRlIHVwIG9mIDx0ZXJtcmVmIGRlZj0iZHQtY2hhcmFjdGVyIj5jaGFyYWN0ZXJzPC90ZXJtcmVmPiwKK3NvbWUgCitvZiB3aGljaCBmb3JtIDx0ZXJtcmVmIGRlZj0iZHQtY2hhcmRhdGEiPmNoYXJhY3RlciBkYXRhPC90ZXJtcmVmPiwgCithbmQgc29tZSBvZiB3aGljaCBmb3JtIDx0ZXJtcmVmIGRlZj0iZHQtbWFya3VwIj5tYXJrdXA8L3Rlcm1yZWY+LgorTWFya3VwIGVuY29kZXMgYSBkZXNjcmlwdGlvbiBvZiB0aGUgZG9jdW1lbnQncyBzdG9yYWdlIGxheW91dCBhbmQKK2xvZ2ljYWwgc3RydWN0dXJlLiBYTUwgcHJvdmlkZXMgYSBtZWNoYW5pc20gdG8gaW1wb3NlIGNvbnN0cmFpbnRzIG9uCit0aGUgc3RvcmFnZSBsYXlvdXQgYW5kIGxvZ2ljYWwgc3RydWN0dXJlLjwvcD4KKzxwPjx0ZXJtZGVmIGlkPSJkdC14bWwtcHJvYyIgdGVybT0iWE1MIFByb2Nlc3NvciI+QSBzb2Z0d2FyZSBtb2R1bGUKK2NhbGxlZCBhbiA8dGVybT5YTUwgcHJvY2Vzc29yPC90ZXJtPiBpcyB1c2VkIHRvIHJlYWQgWE1MIGRvY3VtZW50cworYW5kIHByb3ZpZGUgYWNjZXNzIHRvIHRoZWlyIGNvbnRlbnQgYW5kIHN0cnVjdHVyZS48L3Rlcm1kZWY+IDx0ZXJtZGVmIGlkPSJkdC1hcHAiIHRlcm09IkFwcGxpY2F0aW9uIj5JdCBpcyBhc3N1bWVkIHRoYXQgYW4gWE1MIHByb2Nlc3NvciBpcworZG9pbmcgaXRzIHdvcmsgb24gYmVoYWxmIG9mIGFub3RoZXIgbW9kdWxlLCBjYWxsZWQgdGhlCis8dGVybT5hcHBsaWNhdGlvbjwvdGVybT4uPC90ZXJtZGVmPiBUaGlzIHNwZWNpZmljYXRpb24gZGVzY3JpYmVzIHRoZQorcmVxdWlyZWQgYmVoYXZpb3Igb2YgYW4gWE1MIHByb2Nlc3NvciBpbiB0ZXJtcyBvZiBob3cgaXQgbXVzdCByZWFkIFhNTAorZGF0YSBhbmQgdGhlIGluZm9ybWF0aW9uIGl0IG11c3QgcHJvdmlkZSB0byB0aGUgYXBwbGljYXRpb24uPC9wPgorIAorPGRpdjIgaWQ9InNlYy1vcmlnaW4tZ29hbHMiPgorPGhlYWQ+T3JpZ2luIGFuZCBHb2FsczwvaGVhZD4KKzxwPlhNTCB3YXMgZGV2ZWxvcGVkIGJ5IGFuIFhNTCBXb3JraW5nIEdyb3VwIChvcmlnaW5hbGx5IGtub3duIGFzIHRoZQorU0dNTCBFZGl0b3JpYWwgUmV2aWV3IEJvYXJkKSBmb3JtZWQgdW5kZXIgdGhlIGF1c3BpY2VzIG9mIHRoZSBXb3JsZAorV2lkZSBXZWIgQ29uc29ydGl1bSAoVzNDKSBpbiAxOTk2LgorSXQgd2FzIGNoYWlyZWQgYnkgSm9uIEJvc2FrIG9mIFN1bgorTWljcm9zeXN0ZW1zIHdpdGggdGhlIGFjdGl2ZSBwYXJ0aWNpcGF0aW9uIG9mIGFuIFhNTCBTcGVjaWFsCitJbnRlcmVzdCBHcm91cCAocHJldmlvdXNseSBrbm93biBhcyB0aGUgU0dNTCBXb3JraW5nIEdyb3VwKSBhbHNvCitvcmdhbml6ZWQgYnkgdGhlIFczQy4gVGhlIG1lbWJlcnNoaXAgb2YgdGhlIFhNTCBXb3JraW5nIEdyb3VwIGlzIGdpdmVuCitpbiBhbiBhcHBlbmRpeC4gRGFuIENvbm5vbGx5IHNlcnZlZCBhcyB0aGUgV0cncyBjb250YWN0IHdpdGggdGhlIFczQy4KKzwvcD4KKzxwPlRoZSBkZXNpZ24gZ29hbHMgZm9yIFhNTCBhcmU6PG9saXN0PgorPGl0ZW0+PHA+WE1MIHNoYWxsIGJlIHN0cmFpZ2h0Zm9yd2FyZGx5IHVzYWJsZSBvdmVyIHRoZQorSW50ZXJuZXQuPC9wPjwvaXRlbT4KKzxpdGVtPjxwPlhNTCBzaGFsbCBzdXBwb3J0IGEgd2lkZSB2YXJpZXR5IG9mIGFwcGxpY2F0aW9ucy48L3A+PC9pdGVtPgorPGl0ZW0+PHA+WE1MIHNoYWxsIGJlIGNvbXBhdGlibGUgd2l0aCBTR01MLjwvcD48L2l0ZW0+Cis8aXRlbT48cD5JdCBzaGFsbCBiZSBlYXN5IHRvIHdyaXRlIHByb2dyYW1zIHdoaWNoIHByb2Nlc3MgWE1MCitkb2N1bWVudHMuPC9wPjwvaXRlbT4KKzxpdGVtPjxwPlRoZSBudW1iZXIgb2Ygb3B0aW9uYWwgZmVhdHVyZXMgaW4gWE1MIGlzIHRvIGJlIGtlcHQgdG8gdGhlCithYnNvbHV0ZSBtaW5pbXVtLCBpZGVhbGx5IHplcm8uPC9wPjwvaXRlbT4KKzxpdGVtPjxwPlhNTCBkb2N1bWVudHMgc2hvdWxkIGJlIGh1bWFuLWxlZ2libGUgYW5kIHJlYXNvbmFibHkKK2NsZWFyLjwvcD48L2l0ZW0+Cis8aXRlbT48cD5UaGUgWE1MIGRlc2lnbiBzaG91bGQgYmUgcHJlcGFyZWQgcXVpY2tseS48L3A+PC9pdGVtPgorPGl0ZW0+PHA+VGhlIGRlc2lnbiBvZiBYTUwgc2hhbGwgYmUgZm9ybWFsIGFuZCBjb25jaXNlLjwvcD48L2l0ZW0+Cis8aXRlbT48cD5YTUwgZG9jdW1lbnRzIHNoYWxsIGJlIGVhc3kgdG8gY3JlYXRlLjwvcD48L2l0ZW0+Cis8aXRlbT48cD5UZXJzZW5lc3MgaW4gWE1MIG1hcmt1cCBpcyBvZiBtaW5pbWFsIGltcG9ydGFuY2UuPC9wPjwvaXRlbT48L29saXN0PgorPC9wPgorPHA+VGhpcyBzcGVjaWZpY2F0aW9uLCAKK3RvZ2V0aGVyIHdpdGggYXNzb2NpYXRlZCBzdGFuZGFyZHMKKyhVbmljb2RlIGFuZCBJU08vSUVDIDEwNjQ2IGZvciBjaGFyYWN0ZXJzLAorSW50ZXJuZXQgUkZDIDE3NjYgZm9yIGxhbmd1YWdlIGlkZW50aWZpY2F0aW9uIHRhZ3MsIAorSVNPIDYzOSBmb3IgbGFuZ3VhZ2UgbmFtZSBjb2RlcywgYW5kIAorSVNPIDMxNjYgZm9yIGNvdW50cnkgbmFtZSBjb2RlcyksCitwcm92aWRlcyBhbGwgdGhlIGluZm9ybWF0aW9uIG5lY2Vzc2FyeSB0byB1bmRlcnN0YW5kIAorWE1MIFZlcnNpb24gJlhNTC52ZXJzaW9uOworYW5kIGNvbnN0cnVjdCBjb21wdXRlciBwcm9ncmFtcyB0byBwcm9jZXNzIGl0LjwvcD4KKzxwPlRoaXMgdmVyc2lvbiBvZiB0aGUgWE1MIHNwZWNpZmljYXRpb24KKzwhLS0gaXMgZm9yICZkb2MuYXVkaWVuY2U7Li0tPgorJmRvYy5kaXN0cmlidXRpb247LjwvcD4KKworPC9kaXYyPgorIAorCisKKyAKKzxkaXYyIGlkPSJzZWMtdGVybWlub2xvZ3kiPgorPGhlYWQ+VGVybWlub2xvZ3k8L2hlYWQ+CisgCis8cD5UaGUgdGVybWlub2xvZ3kgdXNlZCB0byBkZXNjcmliZSBYTUwgZG9jdW1lbnRzIGlzIGRlZmluZWQgaW4gdGhlIGJvZHkgb2YKK3RoaXMgc3BlY2lmaWNhdGlvbi4KK1RoZSB0ZXJtcyBkZWZpbmVkIGluIHRoZSBmb2xsb3dpbmcgbGlzdCBhcmUgdXNlZCBpbiBidWlsZGluZyB0aG9zZQorZGVmaW5pdGlvbnMgYW5kIGluIGRlc2NyaWJpbmcgdGhlIGFjdGlvbnMgb2YgYW4gWE1MIHByb2Nlc3NvcjoKKzxnbGlzdD4KKzxnaXRlbT4KKzxsYWJlbD5tYXk8L2xhYmVsPgorPGRlZj48cD48dGVybWRlZiBpZD0iZHQtbWF5IiB0ZXJtPSJNYXkiPkNvbmZvcm1pbmcgZG9jdW1lbnRzIGFuZCBYTUwKK3Byb2Nlc3NvcnMgYXJlIHBlcm1pdHRlZCB0byBidXQgbmVlZCBub3QgYmVoYXZlIGFzCitkZXNjcmliZWQuPC90ZXJtZGVmPjwvcD48L2RlZj4KKzwvZ2l0ZW0+Cis8Z2l0ZW0+Cis8bGFiZWw+bXVzdDwvbGFiZWw+Cis8ZGVmPjxwPkNvbmZvcm1pbmcgZG9jdW1lbnRzIGFuZCBYTUwgcHJvY2Vzc29ycyAKK2FyZSByZXF1aXJlZCB0byBiZWhhdmUgYXMgZGVzY3JpYmVkOyBvdGhlcndpc2UgdGhleSBhcmUgaW4gZXJyb3IuCis8IS0tIGRvIE5PVCBjaGFuZ2UgdGhpcyEgdGhpcyBpcyB3aGF0IGRlZmluZXMgYSB2aW9sYXRpb24gb2YKK2EgJ211c3QnIGNsYXVzZSBhcyAnYW4gZXJyb3InLiAtTVNNIC0tPgorPC9wPjwvZGVmPgorPC9naXRlbT4KKzxnaXRlbT4KKzxsYWJlbD5lcnJvcjwvbGFiZWw+Cis8ZGVmPjxwPjx0ZXJtZGVmIGlkPSJkdC1lcnJvciIgdGVybT0iRXJyb3IiPkEgdmlvbGF0aW9uIG9mIHRoZSBydWxlcyBvZiB0aGlzCitzcGVjaWZpY2F0aW9uOyByZXN1bHRzIGFyZQordW5kZWZpbmVkLiAgQ29uZm9ybWluZyBzb2Z0d2FyZSBtYXkgZGV0ZWN0IGFuZCByZXBvcnQgYW4gZXJyb3IgYW5kIG1heQorcmVjb3ZlciBmcm9tIGl0LjwvdGVybWRlZj48L3A+PC9kZWY+Cis8L2dpdGVtPgorPGdpdGVtPgorPGxhYmVsPmZhdGFsIGVycm9yPC9sYWJlbD4KKzxkZWY+PHA+PHRlcm1kZWYgaWQ9ImR0LWZhdGFsIiB0ZXJtPSJGYXRhbCBFcnJvciI+QW4gZXJyb3IKK3doaWNoIGEgY29uZm9ybWluZyA8dGVybXJlZiBkZWY9ImR0LXhtbC1wcm9jIj5YTUwgcHJvY2Vzc29yPC90ZXJtcmVmPgorbXVzdCBkZXRlY3QgYW5kIHJlcG9ydCB0byB0aGUgYXBwbGljYXRpb24uCitBZnRlciBlbmNvdW50ZXJpbmcgYSBmYXRhbCBlcnJvciwgdGhlCitwcm9jZXNzb3IgbWF5IGNvbnRpbnVlCitwcm9jZXNzaW5nIHRoZSBkYXRhIHRvIHNlYXJjaCBmb3IgZnVydGhlciBlcnJvcnMgYW5kIG1heSByZXBvcnQgc3VjaAorZXJyb3JzIHRvIHRoZSBhcHBsaWNhdGlvbi4gIEluIG9yZGVyIHRvIHN1cHBvcnQgY29ycmVjdGlvbiBvZiBlcnJvcnMsCit0aGUgcHJvY2Vzc29yIG1heSBtYWtlIHVucHJvY2Vzc2VkIGRhdGEgZnJvbSB0aGUgZG9jdW1lbnQgKHdpdGgKK2ludGVybWluZ2xlZCBjaGFyYWN0ZXIgZGF0YSBhbmQgbWFya3VwKSBhdmFpbGFibGUgdG8gdGhlIGFwcGxpY2F0aW9uLgorT25jZSBhIGZhdGFsIGVycm9yIGlzIGRldGVjdGVkLCBob3dldmVyLCB0aGUgcHJvY2Vzc29yIG11c3Qgbm90Citjb250aW51ZSBub3JtYWwgcHJvY2Vzc2luZyAoaS5lLiwgaXQgbXVzdCBub3QKK2NvbnRpbnVlIHRvIHBhc3MgY2hhcmFjdGVyIGRhdGEgYW5kIGluZm9ybWF0aW9uIGFib3V0IHRoZSBkb2N1bWVudCdzCitsb2dpY2FsIHN0cnVjdHVyZSB0byB0aGUgYXBwbGljYXRpb24gaW4gdGhlIG5vcm1hbCB3YXkpLgorPC90ZXJtZGVmPjwvcD48L2RlZj4KKzwvZ2l0ZW0+Cis8Z2l0ZW0+Cis8bGFiZWw+YXQgdXNlciBvcHRpb248L2xhYmVsPgorPGRlZj48cD5Db25mb3JtaW5nIHNvZnR3YXJlIG1heSBvciBtdXN0IChkZXBlbmRpbmcgb24gdGhlIG1vZGFsIHZlcmIgaW4gdGhlCitzZW50ZW5jZSkgYmVoYXZlIGFzIGRlc2NyaWJlZDsgaWYgaXQgZG9lcywgaXQgbXVzdAorcHJvdmlkZSB1c2VycyBhIG1lYW5zIHRvIGVuYWJsZSBvciBkaXNhYmxlIHRoZSBiZWhhdmlvcgorZGVzY3JpYmVkLjwvcD48L2RlZj4KKzwvZ2l0ZW0+Cis8Z2l0ZW0+Cis8bGFiZWw+dmFsaWRpdHkgY29uc3RyYWludDwvbGFiZWw+Cis8ZGVmPjxwPkEgcnVsZSB3aGljaCBhcHBsaWVzIHRvIGFsbCAKKzx0ZXJtcmVmIGRlZj0iZHQtdmFsaWQiPnZhbGlkPC90ZXJtcmVmPiBYTUwgZG9jdW1lbnRzLgorVmlvbGF0aW9ucyBvZiB2YWxpZGl0eSBjb25zdHJhaW50cyBhcmUgZXJyb3JzOyB0aGV5IG11c3QsIGF0IHVzZXIgb3B0aW9uLCAKK2JlIHJlcG9ydGVkIGJ5IAorPHRlcm1yZWYgZGVmPSJkdC12YWxpZGF0aW5nIj52YWxpZGF0aW5nIFhNTCBwcm9jZXNzb3JzPC90ZXJtcmVmPi48L3A+PC9kZWY+Cis8L2dpdGVtPgorPGdpdGVtPgorPGxhYmVsPndlbGwtZm9ybWVkbmVzcyBjb25zdHJhaW50PC9sYWJlbD4KKzxkZWY+PHA+QSBydWxlIHdoaWNoIGFwcGxpZXMgdG8gYWxsIDx0ZXJtcmVmIGRlZj0iZHQtd2VsbGZvcm1lZCI+d2VsbC1mb3JtZWQ8L3Rlcm1yZWY+IFhNTCBkb2N1bWVudHMuCitWaW9sYXRpb25zIG9mIHdlbGwtZm9ybWVkbmVzcyBjb25zdHJhaW50cyBhcmUgCis8dGVybXJlZiBkZWY9ImR0LWZhdGFsIj5mYXRhbCBlcnJvcnM8L3Rlcm1yZWY+LjwvcD48L2RlZj4KKzwvZ2l0ZW0+CisKKzxnaXRlbT4KKzxsYWJlbD5tYXRjaDwvbGFiZWw+Cis8ZGVmPjxwPjx0ZXJtZGVmIGlkPSJkdC1tYXRjaCIgdGVybT0ibWF0Y2giPihPZiBzdHJpbmdzIG9yIG5hbWVzOikgCitUd28gc3RyaW5ncyBvciBuYW1lcyBiZWluZyBjb21wYXJlZCBtdXN0IGJlIGlkZW50aWNhbC4KK0NoYXJhY3RlcnMgd2l0aCBtdWx0aXBsZSBwb3NzaWJsZSByZXByZXNlbnRhdGlvbnMgaW4gSVNPL0lFQyAxMDY0NiAoZS5nLgorY2hhcmFjdGVycyB3aXRoIAorYm90aCBwcmVjb21wb3NlZCBhbmQgYmFzZStkaWFjcml0aWMgZm9ybXMpIG1hdGNoIG9ubHkgaWYgdGhleSBoYXZlIHRoZQorc2FtZSByZXByZXNlbnRhdGlvbiBpbiBib3RoIHN0cmluZ3MuCitBdCB1c2VyIG9wdGlvbiwgcHJvY2Vzc29ycyBtYXkgbm9ybWFsaXplIHN1Y2ggY2hhcmFjdGVycyB0bworc29tZSBjYW5vbmljYWwgZm9ybS4KK05vIGNhc2UgZm9sZGluZyBpcyBwZXJmb3JtZWQuIAorKE9mIHN0cmluZ3MgYW5kIHJ1bGVzIGluIHRoZSBncmFtbWFyOikgIAorQSBzdHJpbmcgbWF0Y2hlcyBhIGdyYW1tYXRpY2FsIHByb2R1Y3Rpb24gaWYgaXQgYmVsb25ncyB0byB0aGUKK2xhbmd1YWdlIGdlbmVyYXRlZCBieSB0aGF0IHByb2R1Y3Rpb24uCisoT2YgY29udGVudCBhbmQgY29udGVudCBtb2RlbHM6KQorQW4gZWxlbWVudCBtYXRjaGVzIGl0cyBkZWNsYXJhdGlvbiB3aGVuIGl0IGNvbmZvcm1zCitpbiB0aGUgZmFzaGlvbiBkZXNjcmliZWQgaW4gdGhlIGNvbnN0cmFpbnQKKzxzcGVjcmVmIHJlZj0iZWxlbWVudHZhbGlkIi8+LgorPC90ZXJtZGVmPgorPC9wPjwvZGVmPgorPC9naXRlbT4KKzxnaXRlbT4KKzxsYWJlbD5mb3IgY29tcGF0aWJpbGl0eTwvbGFiZWw+Cis8ZGVmPjxwPjx0ZXJtZGVmIGlkPSJkdC1jb21wYXQiIHRlcm09IkZvciBDb21wYXRpYmlsaXR5Ij5BIGZlYXR1cmUgb2YKK1hNTCBpbmNsdWRlZCBzb2xlbHkgdG8gZW5zdXJlIHRoYXQgWE1MIHJlbWFpbnMgY29tcGF0aWJsZSB3aXRoIFNHTUwuCis8L3Rlcm1kZWY+PC9wPjwvZGVmPgorPC9naXRlbT4KKzxnaXRlbT4KKzxsYWJlbD5mb3IgaW50ZXJvcGVyYWJpbGl0eTwvbGFiZWw+Cis8ZGVmPjxwPjx0ZXJtZGVmIGlkPSJkdC1pbnRlcm9wIiB0ZXJtPSJGb3IgaW50ZXJvcGVyYWJpbGl0eSI+QQorbm9uLWJpbmRpbmcgcmVjb21tZW5kYXRpb24gaW5jbHVkZWQgdG8gaW5jcmVhc2UgdGhlIGNoYW5jZXMgdGhhdCBYTUwKK2RvY3VtZW50cyBjYW4gYmUgcHJvY2Vzc2VkIGJ5IHRoZSBleGlzdGluZyBpbnN0YWxsZWQgYmFzZSBvZiBTR01MCitwcm9jZXNzb3JzIHdoaWNoIHByZWRhdGUgdGhlCismV2ViU0dNTDsuPC90ZXJtZGVmPjwvcD48L2RlZj4KKzwvZ2l0ZW0+Cis8L2dsaXN0PgorPC9wPgorPC9kaXYyPgorCisgCis8L2RpdjE+Cis8IS0tICZEb2NzOyAtLT4KKyAKKzxkaXYxIGlkPSJzZWMtZG9jdW1lbnRzIj4KKzxoZWFkPkRvY3VtZW50czwvaGVhZD4KKyAKKzxwPjx0ZXJtZGVmIGlkPSJkdC14bWwtZG9jIiB0ZXJtPSJYTUwgRG9jdW1lbnQiPgorQSBkYXRhIG9iamVjdCBpcyBhbgorPHRlcm0+WE1MIGRvY3VtZW50PC90ZXJtPiBpZiBpdCBpcworPHRlcm1yZWYgZGVmPSJkdC13ZWxsZm9ybWVkIj53ZWxsLWZvcm1lZDwvdGVybXJlZj4sIGFzCitkZWZpbmVkIGluIHRoaXMgc3BlY2lmaWNhdGlvbi4KK0Egd2VsbC1mb3JtZWQgWE1MIGRvY3VtZW50IG1heSBpbiBhZGRpdGlvbiBiZQorPHRlcm1yZWYgZGVmPSJkdC12YWxpZCI+dmFsaWQ8L3Rlcm1yZWY+IGlmIGl0IG1lZXRzIGNlcnRhaW4gZnVydGhlciAKK2NvbnN0cmFpbnRzLjwvdGVybWRlZj48L3A+CisgCis8cD5FYWNoIFhNTCBkb2N1bWVudCBoYXMgYm90aCBhIGxvZ2ljYWwgYW5kIGEgcGh5c2ljYWwgc3RydWN0dXJlLgorUGh5c2ljYWxseSwgdGhlIGRvY3VtZW50IGlzIGNvbXBvc2VkIG9mIHVuaXRzIGNhbGxlZCA8dGVybXJlZiBkZWY9ImR0LWVudGl0eSI+ZW50aXRpZXM8L3Rlcm1yZWY+LiAgQW4gZW50aXR5IG1heSA8dGVybXJlZiBkZWY9ImR0LWVudHJlZiI+cmVmZXI8L3Rlcm1yZWY+IHRvIG90aGVyIGVudGl0aWVzIHRvIGNhdXNlIHRoZWlyCitpbmNsdXNpb24gaW4gdGhlIGRvY3VtZW50LiBBIGRvY3VtZW50IGJlZ2lucyBpbiBhICJyb290IiAgb3IgPHRlcm1yZWYgZGVmPSJkdC1kb2NlbnQiPmRvY3VtZW50IGVudGl0eTwvdGVybXJlZj4uCitMb2dpY2FsbHksIHRoZSBkb2N1bWVudCBpcyBjb21wb3NlZCBvZiBkZWNsYXJhdGlvbnMsIGVsZW1lbnRzLCAKK2NvbW1lbnRzLAorY2hhcmFjdGVyIHJlZmVyZW5jZXMsIGFuZAorcHJvY2Vzc2luZworaW5zdHJ1Y3Rpb25zLCBhbGwgb2Ygd2hpY2ggYXJlIGluZGljYXRlZCBpbiB0aGUgZG9jdW1lbnQgYnkgZXhwbGljaXQKK21hcmt1cC4KK1RoZSBsb2dpY2FsIGFuZCBwaHlzaWNhbCBzdHJ1Y3R1cmVzIG11c3QgbmVzdCBwcm9wZXJseSwgYXMgZGVzY3JpYmVkICAKK2luIDxzcGVjcmVmIHJlZj0id2YtZW50aXRpZXMiLz4uCis8L3A+CisgCis8ZGl2MiBpZD0ic2VjLXdlbGwtZm9ybWVkIj4KKzxoZWFkPldlbGwtRm9ybWVkIFhNTCBEb2N1bWVudHM8L2hlYWQ+CisgCis8cD48dGVybWRlZiBpZD0iZHQtd2VsbGZvcm1lZCIgdGVybT0iV2VsbC1Gb3JtZWQiPgorQSB0ZXh0dWFsIG9iamVjdCBpcyAKK2Egd2VsbC1mb3JtZWQgWE1MIGRvY3VtZW50IGlmOjwvdGVybWRlZj4KKzxvbGlzdD4KKzxpdGVtPjxwPlRha2VuIGFzIGEgd2hvbGUsIGl0CittYXRjaGVzIHRoZSBwcm9kdWN0aW9uIGxhYmVsZWQgPG50IGRlZj0iTlQtZG9jdW1lbnQiPmRvY3VtZW50PC9udD4uPC9wPjwvaXRlbT4KKzxpdGVtPjxwPkl0CittZWV0cyBhbGwgdGhlIHdlbGwtZm9ybWVkbmVzcyBjb25zdHJhaW50cyBnaXZlbiBpbiB0aGlzIHNwZWNpZmljYXRpb24uPC9wPgorPC9pdGVtPgorPGl0ZW0+PHA+RWFjaCBvZiB0aGUgPHRlcm1yZWYgZGVmPSJkdC1wYXJzZWRlbnQiPnBhcnNlZCBlbnRpdGllczwvdGVybXJlZj4gCit3aGljaCBpcyByZWZlcmVuY2VkIGRpcmVjdGx5IG9yIGluZGlyZWN0bHkgd2l0aGluIHRoZSBkb2N1bWVudCBpcworPHRpdGxlcmVmIGhyZWY9IndmLWVudGl0aWVzIj53ZWxsLWZvcm1lZDwvdGl0bGVyZWY+LjwvcD48L2l0ZW0+Cis8L29saXN0PjwvcD4KKzxwPgorPHNjcmFwIGxhbmc9ImVibmYiIGlkPSJkb2N1bWVudCI+Cis8aGVhZD5Eb2N1bWVudDwvaGVhZD4KKzxwcm9kIGlkPSJOVC1kb2N1bWVudCI+PGxocz5kb2N1bWVudDwvbGhzPgorPHJocz48bnQgZGVmPSJOVC1wcm9sb2ciPnByb2xvZzwvbnQ+IAorPG50IGRlZj0iTlQtZWxlbWVudCI+ZWxlbWVudDwvbnQ+IAorPG50IGRlZj0iTlQtTWlzYyI+TWlzYzwvbnQ+KjwvcmhzPjwvcHJvZD4KKzwvc2NyYXA+Cis8L3A+Cis8cD5NYXRjaGluZyB0aGUgPG50IGRlZj0iTlQtZG9jdW1lbnQiPmRvY3VtZW50PC9udD4gcHJvZHVjdGlvbiAKK2ltcGxpZXMgdGhhdDoKKzxvbGlzdD4KKzxpdGVtPjxwPkl0IGNvbnRhaW5zIG9uZSBvciBtb3JlCis8dGVybXJlZiBkZWY9ImR0LWVsZW1lbnQiPmVsZW1lbnRzPC90ZXJtcmVmPi48L3A+Cis8L2l0ZW0+Cis8IS0tKiBOLkIuIHNvbWUgcmVhZGVycyAobm90YWJseSBKQykgZmluZCB0aGUgZm9sbG93aW5nCitwYXJhZ3JhcGggYXdrd2FyZCBhbmQgcmVkdW5kYW50LiAgSSBhZ3JlZSBpdCdzIGxvZ2ljYWxseSByZWR1bmRhbnQ6CitpdCAqc2F5cyogaXQgaXMgc3VtbWFyaXppbmcgdGhlIGxvZ2ljYWwgaW1wbGljYXRpb25zIG9mCittYXRjaGluZyB0aGUgZ3JhbW1hciwgYW5kIHRoYXQgbWVhbnMgYnkgZGVmaW5pdGlvbiBpdCdzCitsb2dpY2FsbHkgcmVkdW5kYW50LiAgSSBkb24ndCB0aGluayBpdCdzIHJoZXRvcmljYWxseQorcmVkdW5kYW50IG9yIHVubmVjZXNzYXJ5LCB0aG91Z2gsIHNvIEknbSBrZWVwaW5nIGl0LiAgSXQKK2NvdWxkIGhvd2V2ZXIgdXNlIHNvbWUgcmVjYXN0aW5nIHdoZW4gdGhlIGVkaXRvcnMgYXJlIGZlZWxpbmcKK3N0cm9uZ2VyLiAtTVNNICotLT4KKzxpdGVtPjxwPjx0ZXJtZGVmIGlkPSJkdC1yb290IiB0ZXJtPSJSb290IEVsZW1lbnQiPlRoZXJlIGlzICBleGFjdGx5CitvbmUgZWxlbWVudCwgY2FsbGVkIHRoZSA8dGVybT5yb290PC90ZXJtPiwgb3IgZG9jdW1lbnQgZWxlbWVudCwgIG5vCitwYXJ0IG9mIHdoaWNoIGFwcGVhcnMgaW4gdGhlIDx0ZXJtcmVmIGRlZj0iZHQtY29udGVudCI+Y29udGVudDwvdGVybXJlZj4gb2YgYW55IG90aGVyIGVsZW1lbnQuPC90ZXJtZGVmPgorRm9yIGFsbCBvdGhlciBlbGVtZW50cywgaWYgdGhlIHN0YXJ0LXRhZyBpcyBpbiB0aGUgY29udGVudCBvZiBhbm90aGVyCitlbGVtZW50LCB0aGUgZW5kLXRhZyBpcyBpbiB0aGUgY29udGVudCBvZiB0aGUgc2FtZSBlbGVtZW50LiAgTW9yZQorc2ltcGx5IHN0YXRlZCwgdGhlIGVsZW1lbnRzLCBkZWxpbWl0ZWQgYnkgc3RhcnQtIGFuZCBlbmQtdGFncywgbmVzdAorcHJvcGVybHkgd2l0aGluIGVhY2ggb3RoZXIuCis8L3A+PC9pdGVtPgorPC9vbGlzdD4KKzwvcD4KKzxwPjx0ZXJtZGVmIGlkPSJkdC1wYXJlbnRjaGlsZCIgdGVybT0iUGFyZW50L0NoaWxkIj5BcyBhIGNvbnNlcXVlbmNlIAorb2YgdGhpcywKK2ZvciBlYWNoIG5vbi1yb290IGVsZW1lbnQKKzxjb2RlPkM8L2NvZGU+IGluIHRoZSBkb2N1bWVudCwgdGhlcmUgaXMgb25lIG90aGVyIGVsZW1lbnQgPGNvZGU+UDwvY29kZT4KK2luIHRoZSBkb2N1bWVudCBzdWNoIHRoYXQgCis8Y29kZT5DPC9jb2RlPiBpcyBpbiB0aGUgY29udGVudCBvZiA8Y29kZT5QPC9jb2RlPiwgYnV0IGlzIG5vdCBpbgordGhlIGNvbnRlbnQgb2YgYW55IG90aGVyIGVsZW1lbnQgdGhhdCBpcyBpbiB0aGUgY29udGVudCBvZgorPGNvZGU+UDwvY29kZT4uICAKKzxjb2RlPlA8L2NvZGU+IGlzIHJlZmVycmVkIHRvIGFzIHRoZQorPHRlcm0+cGFyZW50PC90ZXJtPiBvZiA8Y29kZT5DPC9jb2RlPiwgYW5kIDxjb2RlPkM8L2NvZGU+IGFzIGEKKzx0ZXJtPmNoaWxkPC90ZXJtPiBvZiA8Y29kZT5QPC9jb2RlPi48L3Rlcm1kZWY+PC9wPjwvZGl2Mj4KKyAKKzxkaXYyIGlkPSJjaGFyc2V0cyI+Cis8aGVhZD5DaGFyYWN0ZXJzPC9oZWFkPgorIAorPHA+PHRlcm1kZWYgaWQ9ImR0LXRleHQiIHRlcm09IlRleHQiPkEgcGFyc2VkIGVudGl0eSBjb250YWlucworPHRlcm0+dGV4dDwvdGVybT4sIGEgc2VxdWVuY2Ugb2YgCis8dGVybXJlZiBkZWY9ImR0LWNoYXJhY3RlciI+Y2hhcmFjdGVyczwvdGVybXJlZj4sIAord2hpY2ggbWF5IHJlcHJlc2VudCBtYXJrdXAgb3IgY2hhcmFjdGVyIGRhdGEuPC90ZXJtZGVmPiAKKzx0ZXJtZGVmIGlkPSJkdC1jaGFyYWN0ZXIiIHRlcm09IkNoYXJhY3RlciI+QSA8dGVybT5jaGFyYWN0ZXI8L3Rlcm0+IAoraXMgYW4gYXRvbWljIHVuaXQgb2YgdGV4dCBhcyBzcGVjaWZpZWQgYnkKK0lTTy9JRUMgMTA2NDYgPGJpYnJlZiByZWY9IklTTzEwNjQ2Ii8+LgorTGVnYWwgY2hhcmFjdGVycyBhcmUgdGFiLCBjYXJyaWFnZSByZXR1cm4sIGxpbmUgZmVlZCwgYW5kIHRoZSBsZWdhbAorZ3JhcGhpYyBjaGFyYWN0ZXJzIG9mIFVuaWNvZGUgYW5kIElTTy9JRUMgMTA2NDYuCitUaGUgdXNlIG9mICJjb21wYXRpYmlsaXR5IGNoYXJhY3RlcnMiLCBhcyBkZWZpbmVkIGluIHNlY3Rpb24gNi44CitvZiA8YmlicmVmIHJlZj0iVW5pY29kZSIvPiwgaXMgZGlzY291cmFnZWQuCis8L3Rlcm1kZWY+IAorPHNjcmFwIGxhbmc9ImVibmYiIGlkPSJjaGFyMzIiPgorPGhlYWQ+Q2hhcmFjdGVyIFJhbmdlPC9oZWFkPgorPHByb2Rncm91cCBwY3cyPSI0IiBwY3c0PSIxNy41IiBwY3c1PSIxMSI+Cis8cHJvZCBpZD0iTlQtQ2hhciI+PGxocz5DaGFyPC9saHM+IAorPHJocz4jeDkgfCAjeEEgfCAjeEQgfCBbI3gyMC0jeEQ3RkZdIHwgWyN4RTAwMC0jeEZGRkRdIAorfCBbI3gxMDAwMC0jeDEwRkZGRl08L3Jocz4gCis8Y29tPmFueSBVbmljb2RlIGNoYXJhY3RlciwgZXhjbHVkaW5nIHRoZQorc3Vycm9nYXRlIGJsb2NrcywgRkZGRSwgYW5kIEZGRkYuPC9jb20+IDwvcHJvZD4KKzwvcHJvZGdyb3VwPgorPC9zY3JhcD4KKzwvcD4KKworPHA+VGhlIG1lY2hhbmlzbSBmb3IgZW5jb2RpbmcgY2hhcmFjdGVyIGNvZGUgcG9pbnRzIGludG8gYml0IHBhdHRlcm5zIG1heQordmFyeSBmcm9tIGVudGl0eSB0byBlbnRpdHkuIEFsbCBYTUwgcHJvY2Vzc29ycyBtdXN0IGFjY2VwdCB0aGUgVVRGLTgKK2FuZCBVVEYtMTYgZW5jb2RpbmdzIG9mIDEwNjQ2OyB0aGUgbWVjaGFuaXNtcyBmb3Igc2lnbmFsaW5nIHdoaWNoIG9mCit0aGUgdHdvIGlzIGluIHVzZSwgb3IgZm9yIGJyaW5naW5nIG90aGVyIGVuY29kaW5ncyBpbnRvIHBsYXksIGFyZQorZGlzY3Vzc2VkIGxhdGVyLCBpbiA8c3BlY3JlZiByZWY9ImNoYXJlbmNvZGluZyIvPi4KKzwvcD4KKzwhLS0KKzxwPlJlZ2FyZGxlc3Mgb2YgdGhlIHNwZWNpZmljIGVuY29kaW5nIHVzZWQsIGFueSBjaGFyYWN0ZXIgaW4gdGhlIElTTy9JRUMKKzEwNjQ2IGNoYXJhY3RlciBzZXQgbWF5IGJlIHJlZmVycmVkIHRvIGJ5IHRoZSBkZWNpbWFsIG9yIGhleGFkZWNpbWFsCitlcXVpdmFsZW50IG9mIGl0cyAKK1VDUy00IGNvZGUgdmFsdWUuCis8L3A+LS0+Cis8L2RpdjI+CisgCis8ZGl2MiBpZD0ic2VjLWNvbW1vbi1zeW4iPgorPGhlYWQ+Q29tbW9uIFN5bnRhY3RpYyBDb25zdHJ1Y3RzPC9oZWFkPgorIAorPHA+VGhpcyBzZWN0aW9uIGRlZmluZXMgc29tZSBzeW1ib2xzIHVzZWQgd2lkZWx5IGluIHRoZSBncmFtbWFyLjwvcD4KKzxwPjxudCBkZWY9Ik5ULVMiPlM8L250PiAod2hpdGUgc3BhY2UpIGNvbnNpc3RzIG9mIG9uZSBvciBtb3JlIHNwYWNlICgjeDIwKQorY2hhcmFjdGVycywgY2FycmlhZ2UgcmV0dXJucywgbGluZSBmZWVkcywgb3IgdGFicy4KKworPHNjcmFwIGxhbmc9ImVibmYiIGlkPSJ3aGl0ZSI+Cis8aGVhZD5XaGl0ZSBTcGFjZTwvaGVhZD4KKzxwcm9kZ3JvdXAgcGN3Mj0iNCIgcGN3ND0iMTcuNSIgcGN3NT0iMTEiPgorPHByb2QgaWQ9Ik5ULVMiPjxsaHM+UzwvbGhzPgorPHJocz4oI3gyMCB8ICN4OSB8ICN4RCB8ICN4QSkrPC9yaHM+Cis8L3Byb2Q+Cis8L3Byb2Rncm91cD4KKzwvc2NyYXA+PC9wPgorPHA+Q2hhcmFjdGVycyBhcmUgY2xhc3NpZmllZCBmb3IgY29udmVuaWVuY2UgYXMgbGV0dGVycywgZGlnaXRzLCBvciBvdGhlcgorY2hhcmFjdGVycy4gIExldHRlcnMgY29uc2lzdCBvZiBhbiBhbHBoYWJldGljIG9yIHN5bGxhYmljIAorYmFzZSBjaGFyYWN0ZXIgcG9zc2libHkKK2ZvbGxvd2VkIGJ5IG9uZSBvciBtb3JlIGNvbWJpbmluZyBjaGFyYWN0ZXJzLCBvciBvZiBhbiBpZGVvZ3JhcGhpYworY2hhcmFjdGVyLiAgCitGdWxsIGRlZmluaXRpb25zIG9mIHRoZSBzcGVjaWZpYyBjaGFyYWN0ZXJzIGluIGVhY2ggY2xhc3MKK2FyZSBnaXZlbiBpbiA8c3BlY3JlZiByZWY9IkNoYXJDbGFzc2VzIi8+LjwvcD4KKzxwPjx0ZXJtZGVmIGlkPSJkdC1uYW1lIiB0ZXJtPSJOYW1lIj5BIDx0ZXJtPk5hbWU8L3Rlcm0+IGlzIGEgdG9rZW4KK2JlZ2lubmluZyB3aXRoIGEgbGV0dGVyIG9yIG9uZSBvZiBhIGZldyBwdW5jdHVhdGlvbiBjaGFyYWN0ZXJzLCBhbmQgY29udGludWluZword2l0aCBsZXR0ZXJzLCBkaWdpdHMsIGh5cGhlbnMsIHVuZGVyc2NvcmVzLCBjb2xvbnMsIG9yIGZ1bGwgc3RvcHMsIHRvZ2V0aGVyCitrbm93biBhcyBuYW1lIGNoYXJhY3RlcnMuPC90ZXJtZGVmPgorTmFtZXMgYmVnaW5uaW5nIHdpdGggdGhlIHN0cmluZyAiPGNvZGU+eG1sPC9jb2RlPiIsIG9yIGFueSBzdHJpbmcKK3doaWNoIHdvdWxkIG1hdGNoIDxjb2RlPigoJ1gnfCd4JykgKCdNJ3wnbScpICgnTCd8J2wnKSk8L2NvZGU+LCBhcmUKK3Jlc2VydmVkIGZvciBzdGFuZGFyZGl6YXRpb24gaW4gdGhpcyBvciBmdXR1cmUgdmVyc2lvbnMgb2YgdGhpcworc3BlY2lmaWNhdGlvbi4KKzwvcD4KKzxub3RlPgorPHA+VGhlIGNvbG9uIGNoYXJhY3RlciB3aXRoaW4gWE1MIG5hbWVzIGlzIHJlc2VydmVkIGZvciBleHBlcmltZW50YXRpb24gd2l0aAorbmFtZSBzcGFjZXMuICAKK0l0cyBtZWFuaW5nIGlzIGV4cGVjdGVkIHRvIGJlCitzdGFuZGFyZGl6ZWQgYXQgc29tZSBmdXR1cmUgcG9pbnQsIGF0IHdoaWNoIHBvaW50IHRob3NlIGRvY3VtZW50cyAKK3VzaW5nIHRoZSBjb2xvbiBmb3IgZXhwZXJpbWVudGFsIHB1cnBvc2VzIG1heSBuZWVkIHRvIGJlIHVwZGF0ZWQuCisoVGhlcmUgaXMgbm8gZ3VhcmFudGVlIHRoYXQgYW55IG5hbWUtc3BhY2UgbWVjaGFuaXNtCithZG9wdGVkIGZvciBYTUwgd2lsbCBpbiBmYWN0IHVzZSB0aGUgY29sb24gYXMgYSBuYW1lLXNwYWNlIGRlbGltaXRlci4pCitJbiBwcmFjdGljZSwgdGhpcyBtZWFucyB0aGF0IGF1dGhvcnMgc2hvdWxkIG5vdCB1c2UgdGhlIGNvbG9uIGluIFhNTAorbmFtZXMgZXhjZXB0IGFzIHBhcnQgb2YgbmFtZS1zcGFjZSBleHBlcmltZW50cywgYnV0IHRoYXQgWE1MIHByb2Nlc3NvcnMKK3Nob3VsZCBhY2NlcHQgdGhlIGNvbG9uIGFzIGEgbmFtZSBjaGFyYWN0ZXIuPC9wPgorPC9ub3RlPgorPHA+QW4KKzxudCBkZWY9Ik5ULU5tdG9rZW4iPk5tdG9rZW48L250PiAobmFtZSB0b2tlbikgaXMgYW55IG1peHR1cmUgb2YKK25hbWUgY2hhcmFjdGVycy4KKzxzY3JhcCBsYW5nPSJlYm5mIj4KKzxoZWFkPk5hbWVzIGFuZCBUb2tlbnM8L2hlYWQ+Cis8cHJvZCBpZD0iTlQtTmFtZUNoYXIiPjxsaHM+TmFtZUNoYXI8L2xocz4KKzxyaHM+PG50IGRlZj0iTlQtTGV0dGVyIj5MZXR0ZXI8L250PiAKK3wgPG50IGRlZj0iTlQtRGlnaXQiPkRpZ2l0PC9udD4gCit8ICcuJyB8ICctJyB8ICdfJyB8ICc6JworfCA8bnQgZGVmPSJOVC1Db21iaW5pbmdDaGFyIj5Db21iaW5pbmdDaGFyPC9udD4gCit8IDxudCBkZWY9Ik5ULUV4dGVuZGVyIj5FeHRlbmRlcjwvbnQ+PC9yaHM+Cis8L3Byb2Q+Cis8cHJvZCBpZD0iTlQtTmFtZSI+PGxocz5OYW1lPC9saHM+Cis8cmhzPig8bnQgZGVmPSJOVC1MZXR0ZXIiPkxldHRlcjwvbnQ+IHwgJ18nIHwgJzonKQorKDxudCBkZWY9Ik5ULU5hbWVDaGFyIj5OYW1lQ2hhcjwvbnQ+KSo8L3Jocz48L3Byb2Q+Cis8cHJvZCBpZD0iTlQtTmFtZXMiPjxsaHM+TmFtZXM8L2xocz4KKzxyaHM+PG50IGRlZj0iTlQtTmFtZSI+TmFtZTwvbnQ+IAorKDxudCBkZWY9Ik5ULVMiPlM8L250PiA8bnQgZGVmPSJOVC1OYW1lIj5OYW1lPC9udD4pKjwvcmhzPjwvcHJvZD4KKzxwcm9kIGlkPSJOVC1ObXRva2VuIj48bGhzPk5tdG9rZW48L2xocz4KKzxyaHM+KDxudCBkZWY9Ik5ULU5hbWVDaGFyIj5OYW1lQ2hhcjwvbnQ+KSs8L3Jocz48L3Byb2Q+Cis8cHJvZCBpZD0iTlQtTm10b2tlbnMiPjxsaHM+Tm10b2tlbnM8L2xocz4KKzxyaHM+PG50IGRlZj0iTlQtTm10b2tlbiI+Tm10b2tlbjwvbnQ+ICg8bnQgZGVmPSJOVC1TIj5TPC9udD4gPG50IGRlZj0iTlQtTm10b2tlbiI+Tm10b2tlbjwvbnQ+KSo8L3Jocz48L3Byb2Q+Cis8L3NjcmFwPgorPC9wPgorPHA+TGl0ZXJhbCBkYXRhIGlzIGFueSBxdW90ZWQgc3RyaW5nIG5vdCBjb250YWluaW5nCit0aGUgcXVvdGF0aW9uIG1hcmsgdXNlZCBhcyBhIGRlbGltaXRlciBmb3IgdGhhdCBzdHJpbmcuCitMaXRlcmFscyBhcmUgdXNlZAorZm9yIHNwZWNpZnlpbmcgdGhlIGNvbnRlbnQgb2YgaW50ZXJuYWwgZW50aXRpZXMKKyg8bnQgZGVmPSJOVC1FbnRpdHlWYWx1ZSI+RW50aXR5VmFsdWU8L250PiksCit0aGUgdmFsdWVzIG9mIGF0dHJpYnV0ZXMgKDxudCBkZWY9Ik5ULUF0dFZhbHVlIj5BdHRWYWx1ZTwvbnQ+KSwgCithbmQgZXh0ZXJuYWwgaWRlbnRpZmllcnMgCisoPG50IGRlZj0iTlQtU3lzdGVtTGl0ZXJhbCI+U3lzdGVtTGl0ZXJhbDwvbnQ+KS4gIAorTm90ZSB0aGF0IGEgPG50IGRlZj0iTlQtU3lzdGVtTGl0ZXJhbCI+U3lzdGVtTGl0ZXJhbDwvbnQ+CitjYW4gYmUgcGFyc2VkIHdpdGhvdXQgc2Nhbm5pbmcgZm9yIG1hcmt1cC4KKzxzY3JhcCBsYW5nPSJlYm5mIj4KKzxoZWFkPkxpdGVyYWxzPC9oZWFkPgorPHByb2QgaWQ9Ik5ULUVudGl0eVZhbHVlIj48bGhzPkVudGl0eVZhbHVlPC9saHM+Cis8cmhzPiciJyAKKyhbXiUmYW1wOyJdIAorfCA8bnQgZGVmPSJOVC1QRVJlZmVyZW5jZSI+UEVSZWZlcmVuY2U8L250PiAKK3wgPG50IGRlZj0iTlQtUmVmZXJlbmNlIj5SZWZlcmVuY2U8L250PikqCisnIicgCis8L3Jocz4KKzxyaHM+fCZuYnNwOyAKKyInIiAKKyhbXiUmYW1wOyddIAorfCA8bnQgZGVmPSJOVC1QRVJlZmVyZW5jZSI+UEVSZWZlcmVuY2U8L250PiAKK3wgPG50IGRlZj0iTlQtUmVmZXJlbmNlIj5SZWZlcmVuY2U8L250PikqIAorIiciPC9yaHM+Cis8L3Byb2Q+Cis8cHJvZCBpZD0iTlQtQXR0VmFsdWUiPjxsaHM+QXR0VmFsdWU8L2xocz4KKzxyaHM+JyInIAorKFteJmx0OyZhbXA7Il0gCit8IDxudCBkZWY9Ik5ULVJlZmVyZW5jZSI+UmVmZXJlbmNlPC9udD4pKiAKKyciJyAKKzwvcmhzPgorPHJocz58Jm5ic3A7IAorIiciIAorKFteJmx0OyZhbXA7J10gCit8IDxudCBkZWY9Ik5ULVJlZmVyZW5jZSI+UmVmZXJlbmNlPC9udD4pKiAKKyInIjwvcmhzPgorPC9wcm9kPgorPHByb2QgaWQ9Ik5ULVN5c3RlbUxpdGVyYWwiPjxsaHM+U3lzdGVtTGl0ZXJhbDwvbGhzPgorPHJocz4oJyInIFteIl0qICciJykgfCZuYnNwOygiJyIgW14nXSogIiciKQorPC9yaHM+Cis8L3Byb2Q+Cis8cHJvZCBpZD0iTlQtUHViaWRMaXRlcmFsIj48bGhzPlB1YmlkTGl0ZXJhbDwvbGhzPgorPHJocz4nIicgPG50IGRlZj0iTlQtUHViaWRDaGFyIj5QdWJpZENoYXI8L250PiogCisnIicgCit8ICInIiAoPG50IGRlZj0iTlQtUHViaWRDaGFyIj5QdWJpZENoYXI8L250PiAtICInIikqICInIjwvcmhzPgorPC9wcm9kPgorPHByb2QgaWQ9Ik5ULVB1YmlkQ2hhciI+PGxocz5QdWJpZENoYXI8L2xocz4KKzxyaHM+I3gyMCB8ICN4RCB8ICN4QSAKK3wmbmJzcDtbYS16QS1aMC05XQorfCZuYnNwO1stJygpKywuLzo9PzshKiNAJF8lXTwvcmhzPgorPC9wcm9kPgorPC9zY3JhcD4KKzwvcD4KKworPC9kaXYyPgorCis8ZGl2MiBpZD0ic3ludGF4Ij4KKzxoZWFkPkNoYXJhY3RlciBEYXRhIGFuZCBNYXJrdXA8L2hlYWQ+CisgCis8cD48dGVybXJlZiBkZWY9ImR0LXRleHQiPlRleHQ8L3Rlcm1yZWY+IGNvbnNpc3RzIG9mIGludGVybWluZ2xlZCAKKzx0ZXJtcmVmIGRlZj0iZHQtY2hhcmRhdGEiPmNoYXJhY3RlcgorZGF0YTwvdGVybXJlZj4gYW5kIG1hcmt1cC4KKzx0ZXJtZGVmIGlkPSJkdC1tYXJrdXAiIHRlcm09Ik1hcmt1cCI+PHRlcm0+TWFya3VwPC90ZXJtPiB0YWtlcyB0aGUgZm9ybSBvZgorPHRlcm1yZWYgZGVmPSJkdC1zdGFnIj5zdGFydC10YWdzPC90ZXJtcmVmPiwKKzx0ZXJtcmVmIGRlZj0iZHQtZXRhZyI+ZW5kLXRhZ3M8L3Rlcm1yZWY+LAorPHRlcm1yZWYgZGVmPSJkdC1lbXB0eSI+ZW1wdHktZWxlbWVudCB0YWdzPC90ZXJtcmVmPiwKKzx0ZXJtcmVmIGRlZj0iZHQtZW50cmVmIj5lbnRpdHkgcmVmZXJlbmNlczwvdGVybXJlZj4sCis8dGVybXJlZiBkZWY9ImR0LWNoYXJyZWYiPmNoYXJhY3RlciByZWZlcmVuY2VzPC90ZXJtcmVmPiwKKzx0ZXJtcmVmIGRlZj0iZHQtY29tbWVudCI+Y29tbWVudHM8L3Rlcm1yZWY+LAorPHRlcm1yZWYgZGVmPSJkdC1jZHNlY3Rpb24iPkNEQVRBIHNlY3Rpb248L3Rlcm1yZWY+IGRlbGltaXRlcnMsCis8dGVybXJlZiBkZWY9ImR0LWRvY3R5cGUiPmRvY3VtZW50IHR5cGUgZGVjbGFyYXRpb25zPC90ZXJtcmVmPiwgYW5kCis8dGVybXJlZiBkZWY9ImR0LXBpIj5wcm9jZXNzaW5nIGluc3RydWN0aW9uczwvdGVybXJlZj4uCis8L3Rlcm1kZWY+Cis8L3A+Cis8cD48dGVybWRlZiBpZD0iZHQtY2hhcmRhdGEiIHRlcm09IkNoYXJhY3RlciBEYXRhIj5BbGwgdGV4dCB0aGF0IGlzIG5vdCBtYXJrdXAKK2NvbnN0aXR1dGVzIHRoZSA8dGVybT5jaGFyYWN0ZXIgZGF0YTwvdGVybT4gb2YKK3RoZSBkb2N1bWVudC48L3Rlcm1kZWY+PC9wPgorPHA+VGhlIGFtcGVyc2FuZCBjaGFyYWN0ZXIgKCZhbXA7KSBhbmQgdGhlIGxlZnQgYW5nbGUgYnJhY2tldCAoJmx0OykKK21heSBhcHBlYXIgaW4gdGhlaXIgbGl0ZXJhbCBmb3JtIDxlbXBoPm9ubHk8L2VtcGg+IHdoZW4gdXNlZCBhcyBtYXJrdXAKK2RlbGltaXRlcnMsIG9yIHdpdGhpbiBhIDx0ZXJtcmVmIGRlZj0iZHQtY29tbWVudCI+Y29tbWVudDwvdGVybXJlZj4sIGEKKzx0ZXJtcmVmIGRlZj0iZHQtcGkiPnByb2Nlc3NpbmcgaW5zdHJ1Y3Rpb248L3Rlcm1yZWY+LCAKK29yIGEgPHRlcm1yZWYgZGVmPSJkdC1jZHNlY3Rpb24iPkNEQVRBIHNlY3Rpb248L3Rlcm1yZWY+LiAgCisKK1RoZXkgYXJlIGFsc28gbGVnYWwgd2l0aGluIHRoZSA8dGVybXJlZiBkZWY9ImR0LWxpdGVudHZhbCI+bGl0ZXJhbCBlbnRpdHkKK3ZhbHVlPC90ZXJtcmVmPiBvZiBhbiBpbnRlcm5hbCBlbnRpdHkgZGVjbGFyYXRpb247IHNlZQorPHNwZWNyZWYgcmVmPSJ3Zi1lbnRpdGllcyIvPi4KKzwhLS0gRklOQUwgRURJVDogIHJlc3RvcmUgaW50ZXJuYWwgZW50aXR5IGRlY2wgb3IgbGVhdmUgaXQgb3V0LiAtLT4KK0lmIHRoZXkgYXJlIG5lZWRlZCBlbHNld2hlcmUsCit0aGV5IG11c3QgYmUgPHRlcm1yZWYgZGVmPSJkdC1lc2NhcGUiPmVzY2FwZWQ8L3Rlcm1yZWY+Cit1c2luZyBlaXRoZXIgPHRlcm1yZWYgZGVmPSJkdC1jaGFycmVmIj5udW1lcmljIGNoYXJhY3RlciByZWZlcmVuY2VzPC90ZXJtcmVmPgorb3IgdGhlIHN0cmluZ3MKKyI8Y29kZT4mYW1wO2FtcDs8L2NvZGU+IiBhbmQgIjxjb2RlPiZhbXA7bHQ7PC9jb2RlPiIgcmVzcGVjdGl2ZWx5LiAKK1RoZSByaWdodCBhbmdsZQorYnJhY2tldCAoJmd0OykgbWF5IGJlIHJlcHJlc2VudGVkIHVzaW5nIHRoZSBzdHJpbmcKKyI8Y29kZT4mYW1wO2d0OzwvY29kZT4iLCBhbmQgbXVzdCwgPHRlcm1yZWYgZGVmPSJkdC1jb21wYXQiPmZvcgorY29tcGF0aWJpbGl0eTwvdGVybXJlZj4sIAorYmUgZXNjYXBlZCB1c2luZworIjxjb2RlPiZhbXA7Z3Q7PC9jb2RlPiIgb3IgYSBjaGFyYWN0ZXIgcmVmZXJlbmNlIAord2hlbiBpdCBhcHBlYXJzIGluIHRoZSBzdHJpbmcKKyI8Y29kZT5dXSZndDs8L2NvZGU+IgoraW4gY29udGVudCwgCit3aGVuIHRoYXQgc3RyaW5nIGlzIG5vdCBtYXJraW5nIHRoZSBlbmQgb2YgCithIDx0ZXJtcmVmIGRlZj0iZHQtY2RzZWN0aW9uIj5DREFUQSBzZWN0aW9uPC90ZXJtcmVmPi4gCis8L3A+Cis8cD4KK0luIHRoZSBjb250ZW50IG9mIGVsZW1lbnRzLCBjaGFyYWN0ZXIgZGF0YSAKK2lzIGFueSBzdHJpbmcgb2YgY2hhcmFjdGVycyB3aGljaCBkb2VzCitub3QgY29udGFpbiB0aGUgc3RhcnQtZGVsaW1pdGVyIG9mIGFueSBtYXJrdXAuICAKK0luIGEgQ0RBVEEgc2VjdGlvbiwgY2hhcmFjdGVyIGRhdGEKK2lzIGFueSBzdHJpbmcgb2YgY2hhcmFjdGVycyBub3QgaW5jbHVkaW5nIHRoZSBDREFUQS1zZWN0aW9uLWNsb3NlCitkZWxpbWl0ZXIsICI8Y29kZT5dXSZndDs8L2NvZGU+Ii48L3A+Cis8cD4KK1RvIGFsbG93IGF0dHJpYnV0ZSB2YWx1ZXMgdG8gY29udGFpbiBib3RoIHNpbmdsZSBhbmQgZG91YmxlIHF1b3RlcywgdGhlCithcG9zdHJvcGhlIG9yIHNpbmdsZS1xdW90ZSBjaGFyYWN0ZXIgKCcpIG1heSBiZSByZXByZXNlbnRlZCBhcworIjxjb2RlPiZhbXA7YXBvczs8L2NvZGU+IiwgYW5kIHRoZSBkb3VibGUtcXVvdGUgY2hhcmFjdGVyICgiKSBhcworIjxjb2RlPiZhbXA7cXVvdDs8L2NvZGU+Ii4KKzxzY3JhcCBsYW5nPSJlYm5mIj4KKzxoZWFkPkNoYXJhY3RlciBEYXRhPC9oZWFkPgorPHByb2QgaWQ9Ik5ULUNoYXJEYXRhIj4KKzxsaHM+Q2hhckRhdGE8L2xocz4KKzxyaHM+W14mbHQ7JmFtcDtdKiAtIChbXiZsdDsmYW1wO10qICddXSZndDsnIFteJmx0OyZhbXA7XSopPC9yaHM+Cis8L3Byb2Q+Cis8L3NjcmFwPgorPC9wPgorPC9kaXYyPgorIAorPGRpdjIgaWQ9InNlYy1jb21tZW50cyI+Cis8aGVhZD5Db21tZW50czwvaGVhZD4KKyAKKzxwPjx0ZXJtZGVmIGlkPSJkdC1jb21tZW50IiB0ZXJtPSJDb21tZW50Ij48dGVybT5Db21tZW50czwvdGVybT4gbWF5IAorYXBwZWFyIGFueXdoZXJlIGluIGEgZG9jdW1lbnQgb3V0c2lkZSBvdGhlciAKKzx0ZXJtcmVmIGRlZj0iZHQtbWFya3VwIj5tYXJrdXA8L3Rlcm1yZWY+OyBpbiBhZGRpdGlvbiwKK3RoZXkgbWF5IGFwcGVhciB3aXRoaW4gdGhlIGRvY3VtZW50IHR5cGUgZGVjbGFyYXRpb24KK2F0IHBsYWNlcyBhbGxvd2VkIGJ5IHRoZSBncmFtbWFyLgorVGhleSBhcmUgbm90IHBhcnQgb2YgdGhlIGRvY3VtZW50J3MgPHRlcm1yZWYgZGVmPSJkdC1jaGFyZGF0YSI+Y2hhcmFjdGVyCitkYXRhPC90ZXJtcmVmPjsgYW4gWE1MCitwcm9jZXNzb3IgbWF5LCBidXQgbmVlZCBub3QsIG1ha2UgaXQgcG9zc2libGUgZm9yIGFuIGFwcGxpY2F0aW9uIHRvCityZXRyaWV2ZSB0aGUgdGV4dCBvZiBjb21tZW50cy4KKzx0ZXJtcmVmIGRlZj0iZHQtY29tcGF0Ij5Gb3IgY29tcGF0aWJpbGl0eTwvdGVybXJlZj4sIHRoZSBzdHJpbmcKKyI8Y29kZT4tLTwvY29kZT4iIChkb3VibGUtaHlwaGVuKSBtdXN0IG5vdCBvY2N1ciB3aXRoaW4KK2NvbW1lbnRzLgorPHNjcmFwIGxhbmc9ImVibmYiPgorPGhlYWQ+Q29tbWVudHM8L2hlYWQ+Cis8cHJvZCBpZD0iTlQtQ29tbWVudCI+PGxocz5Db21tZW50PC9saHM+Cis8cmhzPicmbHQ7IS0tJworKCg8bnQgZGVmPSJOVC1DaGFyIj5DaGFyPC9udD4gLSAnLScpIAorfCAoJy0nICg8bnQgZGVmPSJOVC1DaGFyIj5DaGFyPC9udD4gLSAnLScpKSkqIAorJy0tJmd0Oyc8L3Jocz4KKzwvcHJvZD4KKzwvc2NyYXA+Cis8L3Rlcm1kZWY+PC9wPgorPHA+QW4gZXhhbXBsZSBvZiBhIGNvbW1lbnQ6Cis8ZWc+Jmx0OyEmY29tbzsgZGVjbGFyYXRpb25zIGZvciAmbHQ7aGVhZCZndDsgJmFtcDsgJmx0O2JvZHkmZ3Q7ICZjb21jOyZndDs8L2VnPgorPC9wPgorPC9kaXYyPgorIAorPGRpdjIgaWQ9InNlYy1waSI+Cis8aGVhZD5Qcm9jZXNzaW5nIEluc3RydWN0aW9uczwvaGVhZD4KKyAKKzxwPjx0ZXJtZGVmIGlkPSJkdC1waSIgdGVybT0iUHJvY2Vzc2luZyBpbnN0cnVjdGlvbiI+PHRlcm0+UHJvY2Vzc2luZworaW5zdHJ1Y3Rpb25zPC90ZXJtPiAoUElzKSBhbGxvdyBkb2N1bWVudHMgdG8gY29udGFpbiBpbnN0cnVjdGlvbnMKK2ZvciBhcHBsaWNhdGlvbnMuCisgCis8c2NyYXAgbGFuZz0iZWJuZiI+Cis8aGVhZD5Qcm9jZXNzaW5nIEluc3RydWN0aW9uczwvaGVhZD4KKzxwcm9kIGlkPSJOVC1QSSI+PGxocz5QSTwvbGhzPgorPHJocz4nJmx0Oz8nIDxudCBkZWY9Ik5ULVBJVGFyZ2V0Ij5QSVRhcmdldDwvbnQ+IAorKDxudCBkZWY9Ik5ULVMiPlM8L250PiAKKyg8bnQgZGVmPSJOVC1DaGFyIj5DaGFyPC9udD4qIC0gCisoPG50IGRlZj0iTlQtQ2hhciI+Q2hhcjwvbnQ+KiAmcGljOyA8bnQgZGVmPSJOVC1DaGFyIj5DaGFyPC9udD4qKSkpPworJnBpYzs8L3Jocz48L3Byb2Q+Cis8cHJvZCBpZD0iTlQtUElUYXJnZXQiPjxsaHM+UElUYXJnZXQ8L2xocz4KKzxyaHM+PG50IGRlZj0iTlQtTmFtZSI+TmFtZTwvbnQ+IC0gCisoKCdYJyB8ICd4JykgKCdNJyB8ICdtJykgKCdMJyB8ICdsJykpPC9yaHM+Cis8L3Byb2Q+Cis8L3NjcmFwPjwvdGVybWRlZj4KK1BJcyBhcmUgbm90IHBhcnQgb2YgdGhlIGRvY3VtZW50J3MgPHRlcm1yZWYgZGVmPSJkdC1jaGFyZGF0YSI+Y2hhcmFjdGVyCitkYXRhPC90ZXJtcmVmPiwgYnV0IG11c3QgYmUgcGFzc2VkIHRocm91Z2ggdG8gdGhlIGFwcGxpY2F0aW9uLiBUaGUKK1BJIGJlZ2lucyB3aXRoIGEgdGFyZ2V0ICg8bnQgZGVmPSJOVC1QSVRhcmdldCI+UElUYXJnZXQ8L250PikgdXNlZAordG8gaWRlbnRpZnkgdGhlIGFwcGxpY2F0aW9uIHRvIHdoaWNoIHRoZSBpbnN0cnVjdGlvbiBpcyBkaXJlY3RlZC4gIAorVGhlIHRhcmdldCBuYW1lcyAiPGNvZGU+WE1MPC9jb2RlPiIsICI8Y29kZT54bWw8L2NvZGU+IiwgYW5kIHNvIG9uIGFyZQorcmVzZXJ2ZWQgZm9yIHN0YW5kYXJkaXphdGlvbiBpbiB0aGlzIG9yIGZ1dHVyZSB2ZXJzaW9ucyBvZiB0aGlzCitzcGVjaWZpY2F0aW9uLgorVGhlIAorWE1MIDx0ZXJtcmVmIGRlZj0iZHQtbm90YXRpb24iPk5vdGF0aW9uPC90ZXJtcmVmPiBtZWNoYW5pc20KK21heSBiZSB1c2VkIGZvcgorZm9ybWFsIGRlY2xhcmF0aW9uIG9mIFBJIHRhcmdldHMuCis8L3A+Cis8L2RpdjI+CisgCis8ZGl2MiBpZD0ic2VjLWNkYXRhLXNlY3QiPgorPGhlYWQ+Q0RBVEEgU2VjdGlvbnM8L2hlYWQ+CisgCis8cD48dGVybWRlZiBpZD0iZHQtY2RzZWN0aW9uIiB0ZXJtPSJDREFUQSBTZWN0aW9uIj48dGVybT5DREFUQSBzZWN0aW9uczwvdGVybT4KK21heSBvY2N1ciAKK2FueXdoZXJlIGNoYXJhY3RlciBkYXRhIG1heSBvY2N1cjsgdGhleSBhcmUKK3VzZWQgdG8gZXNjYXBlIGJsb2NrcyBvZiB0ZXh0IGNvbnRhaW5pbmcgY2hhcmFjdGVycyB3aGljaCB3b3VsZAorb3RoZXJ3aXNlIGJlIHJlY29nbml6ZWQgYXMgbWFya3VwLiAgQ0RBVEEgc2VjdGlvbnMgYmVnaW4gd2l0aCB0aGUKK3N0cmluZyAiPGNvZGU+Jmx0OyFbQ0RBVEFbPC9jb2RlPiIgYW5kIGVuZCB3aXRoIHRoZSBzdHJpbmcKKyI8Y29kZT5dXSZndDs8L2NvZGU+IjoKKzxzY3JhcCBsYW5nPSJlYm5mIj4KKzxoZWFkPkNEQVRBIFNlY3Rpb25zPC9oZWFkPgorPHByb2QgaWQ9Ik5ULUNEU2VjdCI+PGxocz5DRFNlY3Q8L2xocz4KKzxyaHM+PG50IGRlZj0iTlQtQ0RTdGFydCI+Q0RTdGFydDwvbnQ+IAorPG50IGRlZj0iTlQtQ0RhdGEiPkNEYXRhPC9udD4gCis8bnQgZGVmPSJOVC1DREVuZCI+Q0RFbmQ8L250PjwvcmhzPjwvcHJvZD4KKzxwcm9kIGlkPSJOVC1DRFN0YXJ0Ij48bGhzPkNEU3RhcnQ8L2xocz4KKzxyaHM+JyZsdDshW0NEQVRBWyc8L3Jocz4KKzwvcHJvZD4KKzxwcm9kIGlkPSJOVC1DRGF0YSI+PGxocz5DRGF0YTwvbGhzPgorPHJocz4oPG50IGRlZj0iTlQtQ2hhciI+Q2hhcjwvbnQ+KiAtIAorKDxudCBkZWY9Ik5ULUNoYXIiPkNoYXI8L250PiogJ11dJmd0OycgPG50IGRlZj0iTlQtQ2hhciI+Q2hhcjwvbnQ+KikpCis8L3Jocz4KKzwvcHJvZD4KKzxwcm9kIGlkPSJOVC1DREVuZCI+PGxocz5DREVuZDwvbGhzPgorPHJocz4nXV0mZ3Q7JzwvcmhzPgorPC9wcm9kPgorPC9zY3JhcD4KKworV2l0aGluIGEgQ0RBVEEgc2VjdGlvbiwgb25seSB0aGUgPG50IGRlZj0iTlQtQ0RFbmQiPkNERW5kPC9udD4gc3RyaW5nIGlzCityZWNvZ25pemVkIGFzIG1hcmt1cCwgc28gdGhhdCBsZWZ0IGFuZ2xlIGJyYWNrZXRzIGFuZCBhbXBlcnNhbmRzIG1heSBvY2N1ciBpbgordGhlaXIgbGl0ZXJhbCBmb3JtOyB0aGV5IG5lZWQgbm90IChhbmQgY2Fubm90KSBiZSBlc2NhcGVkIHVzaW5nCisiPGNvZGU+JmFtcDtsdDs8L2NvZGU+IiBhbmQgIjxjb2RlPiZhbXA7YW1wOzwvY29kZT4iLiAgQ0RBVEEgc2VjdGlvbnMKK2Nhbm5vdCBuZXN0LjwvdGVybWRlZj4KKzwvcD4KKworPHA+QW4gZXhhbXBsZSBvZiBhIENEQVRBIHNlY3Rpb24sIGluIHdoaWNoICI8Y29kZT4mbHQ7Z3JlZXRpbmcmZ3Q7PC9jb2RlPiIgYW5kIAorIjxjb2RlPiZsdDsvZ3JlZXRpbmcmZ3Q7PC9jb2RlPiIKK2FyZSByZWNvZ25pemVkIGFzIDx0ZXJtcmVmIGRlZj0iZHQtY2hhcmRhdGEiPmNoYXJhY3RlciBkYXRhPC90ZXJtcmVmPiwgbm90Cis8dGVybXJlZiBkZWY9ImR0LW1hcmt1cCI+bWFya3VwPC90ZXJtcmVmPjoKKzxlZz4mbHQ7IVtDREFUQVsmbHQ7Z3JlZXRpbmcmZ3Q7SGVsbG8sIHdvcmxkISZsdDsvZ3JlZXRpbmcmZ3Q7XV0mZ3Q7PC9lZz4KKzwvcD4KKzwvZGl2Mj4KKyAKKzxkaXYyIGlkPSJzZWMtcHJvbG9nLWR0ZCI+Cis8aGVhZD5Qcm9sb2cgYW5kIERvY3VtZW50IFR5cGUgRGVjbGFyYXRpb248L2hlYWQ+CisgCis8cD48dGVybWRlZiBpZD0iZHQteG1sZGVjbCIgdGVybT0iWE1MIERlY2xhcmF0aW9uIj5YTUwgZG9jdW1lbnRzIAorbWF5LCBhbmQgc2hvdWxkLCAKK2JlZ2luIHdpdGggYW4gPHRlcm0+WE1MIGRlY2xhcmF0aW9uPC90ZXJtPiB3aGljaCBzcGVjaWZpZXMKK3RoZSB2ZXJzaW9uIG9mCitYTUwgYmVpbmcgdXNlZC48L3Rlcm1kZWY+CitGb3IgZXhhbXBsZSwgdGhlIGZvbGxvd2luZyBpcyBhIGNvbXBsZXRlIFhNTCBkb2N1bWVudCwgPHRlcm1yZWYgZGVmPSJkdC13ZWxsZm9ybWVkIj53ZWxsLWZvcm1lZDwvdGVybXJlZj4gYnV0IG5vdAorPHRlcm1yZWYgZGVmPSJkdC12YWxpZCI+dmFsaWQ8L3Rlcm1yZWY+OgorPGVnPjwhW0NEQVRBWzw/eG1sIHZlcnNpb249IjEuMCI/PgorPGdyZWV0aW5nPkhlbGxvLCB3b3JsZCE8L2dyZWV0aW5nPgorXV0+PC9lZz4KK2FuZCBzbyBpcyB0aGlzOgorPGVnPjwhW0NEQVRBWzxncmVldGluZz5IZWxsbywgd29ybGQhPC9ncmVldGluZz4KK11dPjwvZWc+Cis8L3A+CisKKzxwPlRoZSB2ZXJzaW9uIG51bWJlciAiPGNvZGU+MS4wPC9jb2RlPiIgc2hvdWxkIGJlIHVzZWQgdG8gaW5kaWNhdGUKK2NvbmZvcm1hbmNlIHRvIHRoaXMgdmVyc2lvbiBvZiB0aGlzIHNwZWNpZmljYXRpb247IGl0IGlzIGFuIGVycm9yCitmb3IgYSBkb2N1bWVudCB0byB1c2UgdGhlIHZhbHVlICI8Y29kZT4xLjA8L2NvZGU+IiAKK2lmIGl0IGRvZXMgbm90IGNvbmZvcm0gdG8gdGhpcyB2ZXJzaW9uIG9mIHRoaXMgc3BlY2lmaWNhdGlvbi4KK0l0IGlzIHRoZSBpbnRlbnQKK29mIHRoZSBYTUwgd29ya2luZyBncm91cCB0byBnaXZlIGxhdGVyIHZlcnNpb25zIG9mIHRoaXMgc3BlY2lmaWNhdGlvbgorbnVtYmVycyBvdGhlciB0aGFuICI8Y29kZT4xLjA8L2NvZGU+IiwgYnV0IHRoaXMgaW50ZW50IGRvZXMgbm90CitpbmRpY2F0ZSBhCitjb21taXRtZW50IHRvIHByb2R1Y2UgYW55IGZ1dHVyZSB2ZXJzaW9ucyBvZiBYTUwsIG5vciBpZiBhbnkgYXJlIHByb2R1Y2VkLCB0bwordXNlIGFueSBwYXJ0aWN1bGFyIG51bWJlcmluZyBzY2hlbWUuCitTaW5jZSBmdXR1cmUgdmVyc2lvbnMgYXJlIG5vdCBydWxlZCBvdXQsIHRoaXMgY29uc3RydWN0IGlzIHByb3ZpZGVkIAorYXMgYSBtZWFucyB0byBhbGxvdyB0aGUgcG9zc2liaWxpdHkgb2YgYXV0b21hdGljIHZlcnNpb24gcmVjb2duaXRpb24sIHNob3VsZAoraXQgYmVjb21lIG5lY2Vzc2FyeS4KK1Byb2Nlc3NvcnMgbWF5IHNpZ25hbCBhbiBlcnJvciBpZiB0aGV5IHJlY2VpdmUgZG9jdW1lbnRzIGxhYmVsZWQgd2l0aCAKK3ZlcnNpb25zIHRoZXkgZG8gbm90IHN1cHBvcnQuIAorPC9wPgorPHA+VGhlIGZ1bmN0aW9uIG9mIHRoZSBtYXJrdXAgaW4gYW4gWE1MIGRvY3VtZW50IGlzIHRvIGRlc2NyaWJlIGl0cworc3RvcmFnZSBhbmQgbG9naWNhbCBzdHJ1Y3R1cmUgYW5kIHRvIGFzc29jaWF0ZSBhdHRyaWJ1dGUtdmFsdWUgcGFpcnMKK3dpdGggaXRzIGxvZ2ljYWwgc3RydWN0dXJlcy4gIFhNTCBwcm92aWRlcyBhIG1lY2hhbmlzbSwgdGhlIDx0ZXJtcmVmIGRlZj0iZHQtZG9jdHlwZSI+ZG9jdW1lbnQgdHlwZSBkZWNsYXJhdGlvbjwvdGVybXJlZj4sIHRvIGRlZmluZQorY29uc3RyYWludHMgb24gdGhlIGxvZ2ljYWwgc3RydWN0dXJlIGFuZCB0byBzdXBwb3J0IHRoZSB1c2Ugb2YKK3ByZWRlZmluZWQgc3RvcmFnZSB1bml0cy4KKworPHRlcm1kZWYgaWQ9ImR0LXZhbGlkIiB0ZXJtPSJWYWxpZGl0eSI+QW4gWE1MIGRvY3VtZW50IGlzIAorPHRlcm0+dmFsaWQ8L3Rlcm0+IGlmIGl0IGhhcyBhbiBhc3NvY2lhdGVkIGRvY3VtZW50IHR5cGUKK2RlY2xhcmF0aW9uIGFuZCBpZiB0aGUgZG9jdW1lbnQKK2NvbXBsaWVzIHdpdGggdGhlIGNvbnN0cmFpbnRzIGV4cHJlc3NlZCBpbiBpdC48L3Rlcm1kZWY+PC9wPgorPHA+VGhlIGRvY3VtZW50IHR5cGUgZGVjbGFyYXRpb24gbXVzdCBhcHBlYXIgYmVmb3JlCit0aGUgZmlyc3QgPHRlcm1yZWYgZGVmPSJkdC1lbGVtZW50Ij5lbGVtZW50PC90ZXJtcmVmPiBpbiB0aGUgZG9jdW1lbnQuCis8c2NyYXAgbGFuZz0iZWJuZiIgaWQ9InhtbGRvYyI+Cis8aGVhZD5Qcm9sb2c8L2hlYWQ+Cis8cHJvZGdyb3VwIHBjdzI9IjYiIHBjdzQ9IjE3LjUiIHBjdzU9IjkiPgorPHByb2QgaWQ9Ik5ULXByb2xvZyI+PGxocz5wcm9sb2c8L2xocz4KKzxyaHM+PG50IGRlZj0iTlQtWE1MRGVjbCI+WE1MRGVjbDwvbnQ+PyAKKzxudCBkZWY9Ik5ULU1pc2MiPk1pc2M8L250PiogCisoPG50IGRlZj0iTlQtZG9jdHlwZWRlY2wiPmRvY3R5cGVkZWNsPC9udD4gCis8bnQgZGVmPSJOVC1NaXNjIj5NaXNjPC9udD4qKT88L3Jocz48L3Byb2Q+Cis8cHJvZCBpZD0iTlQtWE1MRGVjbCI+PGxocz5YTUxEZWNsPC9saHM+Cis8cmhzPiZ4bWxwaW87IAorPG50IGRlZj0iTlQtVmVyc2lvbkluZm8iPlZlcnNpb25JbmZvPC9udD4gCis8bnQgZGVmPSJOVC1FbmNvZGluZ0RlY2wiPkVuY29kaW5nRGVjbDwvbnQ+PyAKKzxudCBkZWY9Ik5ULVNERGVjbCI+U0REZWNsPC9udD4/IAorPG50IGRlZj0iTlQtUyI+UzwvbnQ+PyAKKyZwaWM7PC9yaHM+Cis8L3Byb2Q+Cis8cHJvZCBpZD0iTlQtVmVyc2lvbkluZm8iPjxsaHM+VmVyc2lvbkluZm88L2xocz4KKzxyaHM+PG50IGRlZj0iTlQtUyI+UzwvbnQ+ICd2ZXJzaW9uJyA8bnQgZGVmPSJOVC1FcSI+RXE8L250PiAKKygnIDxudCBkZWY9Ik5ULVZlcnNpb25OdW0iPlZlcnNpb25OdW08L250PiAnIAorfCAiIDxudCBkZWY9Ik5ULVZlcnNpb25OdW0iPlZlcnNpb25OdW08L250PiAiKTwvcmhzPgorPC9wcm9kPgorPHByb2QgaWQ9Ik5ULUVxIj48bGhzPkVxPC9saHM+Cis8cmhzPjxudCBkZWY9Ik5ULVMiPlM8L250Pj8gJz0nIDxudCBkZWY9Ik5ULVMiPlM8L250Pj88L3Jocz48L3Byb2Q+Cis8cHJvZCBpZD0iTlQtVmVyc2lvbk51bSI+Cis8bGhzPlZlcnNpb25OdW08L2xocz4KKzxyaHM+KFthLXpBLVowLTlfLjpdIHwgJy0nKSs8L3Jocz4KKzwvcHJvZD4KKzxwcm9kIGlkPSJOVC1NaXNjIj48bGhzPk1pc2M8L2xocz4KKzxyaHM+PG50IGRlZj0iTlQtQ29tbWVudCI+Q29tbWVudDwvbnQ+IHwgPG50IGRlZj0iTlQtUEkiPlBJPC9udD4gfCAKKzxudCBkZWY9Ik5ULVMiPlM8L250PjwvcmhzPjwvcHJvZD4KKzwvcHJvZGdyb3VwPgorPC9zY3JhcD48L3A+CisKKzxwPjx0ZXJtZGVmIGlkPSJkdC1kb2N0eXBlIiB0ZXJtPSJEb2N1bWVudCBUeXBlIERlY2xhcmF0aW9uIj5UaGUgWE1MCis8dGVybT5kb2N1bWVudCB0eXBlIGRlY2xhcmF0aW9uPC90ZXJtPiAKK2NvbnRhaW5zIG9yIHBvaW50cyB0byAKKzx0ZXJtcmVmIGRlZj0iZHQtbWFya3VwZGVjbCI+bWFya3VwIGRlY2xhcmF0aW9uczwvdGVybXJlZj4gCit0aGF0IHByb3ZpZGUgYSBncmFtbWFyIGZvciBhCitjbGFzcyBvZiBkb2N1bWVudHMuICAKK1RoaXMgZ3JhbW1hciBpcyBrbm93biBhcyBhIGRvY3VtZW50IHR5cGUgZGVmaW5pdGlvbiwKK29yIDx0ZXJtPkRURDwvdGVybT4uICAKK1RoZSBkb2N1bWVudCB0eXBlIGRlY2xhcmF0aW9uIGNhbiBwb2ludCB0byBhbiBleHRlcm5hbCBzdWJzZXQgKGEKK3NwZWNpYWwga2luZCBvZiAKKzx0ZXJtcmVmIGRlZj0iZHQtZXh0ZW50Ij5leHRlcm5hbCBlbnRpdHk8L3Rlcm1yZWY+KSBjb250YWluaW5nIG1hcmt1cAorZGVjbGFyYXRpb25zLCBvciBjYW4gCitjb250YWluIHRoZSBtYXJrdXAgZGVjbGFyYXRpb25zIGRpcmVjdGx5IGluIGFuIGludGVybmFsIHN1YnNldCwgb3IgY2FuIGRvCitib3RoLiAgIAorVGhlIERURCBmb3IgYSBkb2N1bWVudCBjb25zaXN0cyBvZiBib3RoIHN1YnNldHMgdGFrZW4KK3RvZ2V0aGVyLjwvdGVybWRlZj4KKzwvcD4KKzxwPjx0ZXJtZGVmIGlkPSJkdC1tYXJrdXBkZWNsIiB0ZXJtPSJtYXJrdXAgZGVjbGFyYXRpb24iPgorQSA8dGVybT5tYXJrdXAgZGVjbGFyYXRpb248L3Rlcm0+IGlzIAorYW4gPHRlcm1yZWYgZGVmPSJkdC1lbGRlY2wiPmVsZW1lbnQgdHlwZSBkZWNsYXJhdGlvbjwvdGVybXJlZj4sIAorYW4gPHRlcm1yZWYgZGVmPSJkdC1hdHRkZWNsIj5hdHRyaWJ1dGUtbGlzdCBkZWNsYXJhdGlvbjwvdGVybXJlZj4sIAorYW4gPHRlcm1yZWYgZGVmPSJkdC1lbnRkZWNsIj5lbnRpdHkgZGVjbGFyYXRpb248L3Rlcm1yZWY+LCBvcgorYSA8dGVybXJlZiBkZWY9ImR0LW5vdGRlY2wiPm5vdGF0aW9uIGRlY2xhcmF0aW9uPC90ZXJtcmVmPi4KKzwvdGVybWRlZj4KK1RoZXNlIGRlY2xhcmF0aW9ucyBtYXkgYmUgY29udGFpbmVkIGluIHdob2xlIG9yIGluIHBhcnQKK3dpdGhpbiA8dGVybXJlZiBkZWY9ImR0LVBFIj5wYXJhbWV0ZXIgZW50aXRpZXM8L3Rlcm1yZWY+LAorYXMgZGVzY3JpYmVkIGluIHRoZSB3ZWxsLWZvcm1lZG5lc3MgYW5kIHZhbGlkaXR5IGNvbnN0cmFpbnRzIGJlbG93LgorRm9yIGZ1bGxlciBpbmZvcm1hdGlvbiwgc2VlCis8c3BlY3JlZiByZWY9InNlYy1waHlzaWNhbC1zdHJ1Y3QiLz4uPC9wPgorPHNjcmFwIGxhbmc9ImVibmYiIGlkPSJkdGQiPgorPGhlYWQ+RG9jdW1lbnQgVHlwZSBEZWZpbml0aW9uPC9oZWFkPgorPHByb2Rncm91cCBwY3cyPSI2IiBwY3c0PSIxNy41IiBwY3c1PSI5Ij4KKzxwcm9kIGlkPSJOVC1kb2N0eXBlZGVjbCI+PGxocz5kb2N0eXBlZGVjbDwvbGhzPgorPHJocz4nJmx0OyFET0NUWVBFJyA8bnQgZGVmPSJOVC1TIj5TPC9udD4gCis8bnQgZGVmPSJOVC1OYW1lIj5OYW1lPC9udD4gKDxudCBkZWY9Ik5ULVMiPlM8L250PiAKKzxudCBkZWY9Ik5ULUV4dGVybmFsSUQiPkV4dGVybmFsSUQ8L250Pik/IAorPG50IGRlZj0iTlQtUyI+UzwvbnQ+PyAoJ1snIAorKDxudCBkZWY9Ik5ULW1hcmt1cGRlY2wiPm1hcmt1cGRlY2w8L250PiAKK3wgPG50IGRlZj0iTlQtUEVSZWZlcmVuY2UiPlBFUmVmZXJlbmNlPC9udD4gCit8IDxudCBkZWY9Ik5ULVMiPlM8L250PikqCisnXScgCis8bnQgZGVmPSJOVC1TIj5TPC9udD4/KT8gJyZndDsnPC9yaHM+Cis8dmMgZGVmPSJ2Yy1yb290dHlwZSIvPgorPC9wcm9kPgorPHByb2QgaWQ9Ik5ULW1hcmt1cGRlY2wiPjxsaHM+bWFya3VwZGVjbDwvbGhzPgorPHJocz48bnQgZGVmPSJOVC1lbGVtZW50ZGVjbCI+ZWxlbWVudGRlY2w8L250PiAKK3wgPG50IGRlZj0iTlQtQXR0bGlzdERlY2wiPkF0dGxpc3REZWNsPC9udD4gCit8IDxudCBkZWY9Ik5ULUVudGl0eURlY2wiPkVudGl0eURlY2w8L250PiAKK3wgPG50IGRlZj0iTlQtTm90YXRpb25EZWNsIj5Ob3RhdGlvbkRlY2w8L250PiAKK3wgPG50IGRlZj0iTlQtUEkiPlBJPC9udD4gCit8IDxudCBkZWY9Ik5ULUNvbW1lbnQiPkNvbW1lbnQ8L250PgorPC9yaHM+Cis8dmMgZGVmPSJ2Yy1QRWluTWFya3VwRGVjbCIvPgorPHdmYyBkZWY9IndmYy1QRWluSW50ZXJuYWxTdWJzZXQiLz4KKzwvcHJvZD4KKworPC9wcm9kZ3JvdXA+Cis8L3NjcmFwPgorCis8cD5UaGUgbWFya3VwIGRlY2xhcmF0aW9ucyBtYXkgYmUgbWFkZSB1cCBpbiB3aG9sZSBvciBpbiBwYXJ0IG9mCit0aGUgPHRlcm1yZWYgZGVmPSJkdC1yZXBsdGV4dCI+cmVwbGFjZW1lbnQgdGV4dDwvdGVybXJlZj4gb2YgCis8dGVybXJlZiBkZWY9ImR0LVBFIj5wYXJhbWV0ZXIgZW50aXRpZXM8L3Rlcm1yZWY+LgorVGhlIHByb2R1Y3Rpb25zIGxhdGVyIGluIHRoaXMgc3BlY2lmaWNhdGlvbiBmb3IKK2luZGl2aWR1YWwgbm9udGVybWluYWxzICg8bnQgZGVmPSJOVC1lbGVtZW50ZGVjbCI+ZWxlbWVudGRlY2w8L250PiwKKzxudCBkZWY9Ik5ULUF0dGxpc3REZWNsIj5BdHRsaXN0RGVjbDwvbnQ+LCBhbmQgc28gb24pIGRlc2NyaWJlIAordGhlIGRlY2xhcmF0aW9ucyA8ZW1waD5hZnRlcjwvZW1waD4gYWxsIHRoZSBwYXJhbWV0ZXIgZW50aXRpZXMgaGF2ZSBiZWVuIAorPHRlcm1yZWYgZGVmPSJkdC1pbmNsdWRlIj5pbmNsdWRlZDwvdGVybXJlZj4uPC9wPgorCis8dmNub3RlIGlkPSJ2Yy1yb290dHlwZSI+Cis8aGVhZD5Sb290IEVsZW1lbnQgVHlwZTwvaGVhZD4KKzxwPgorVGhlIDxudCBkZWY9Ik5ULU5hbWUiPk5hbWU8L250PiBpbiB0aGUgZG9jdW1lbnQgdHlwZSBkZWNsYXJhdGlvbiBtdXN0CittYXRjaCB0aGUgZWxlbWVudCB0eXBlIG9mIHRoZSA8dGVybXJlZiBkZWY9ImR0LXJvb3QiPnJvb3QgZWxlbWVudDwvdGVybXJlZj4uCis8L3A+Cis8L3Zjbm90ZT4KKworPHZjbm90ZSBpZD0idmMtUEVpbk1hcmt1cERlY2wiPgorPGhlYWQ+UHJvcGVyIERlY2xhcmF0aW9uL1BFIE5lc3Rpbmc8L2hlYWQ+Cis8cD5QYXJhbWV0ZXItZW50aXR5IAorPHRlcm1yZWYgZGVmPSJkdC1yZXBsdGV4dCI+cmVwbGFjZW1lbnQgdGV4dDwvdGVybXJlZj4gbXVzdCBiZSBwcm9wZXJseSBuZXN0ZWQKK3dpdGggbWFya3VwIGRlY2xhcmF0aW9ucy4gCitUaGF0IGlzIHRvIHNheSwgaWYgZWl0aGVyIHRoZSBmaXJzdCBjaGFyYWN0ZXIKK29yIHRoZSBsYXN0IGNoYXJhY3RlciBvZiBhIG1hcmt1cAorZGVjbGFyYXRpb24gKDxudCBkZWY9Ik5ULW1hcmt1cGRlY2wiPm1hcmt1cGRlY2w8L250PiBhYm92ZSkKK2lzIGNvbnRhaW5lZCBpbiB0aGUgcmVwbGFjZW1lbnQgdGV4dCBmb3IgYSAKKzx0ZXJtcmVmIGRlZj0iZHQtUEVSZWYiPnBhcmFtZXRlci1lbnRpdHkgcmVmZXJlbmNlPC90ZXJtcmVmPiwKK2JvdGggbXVzdCBiZSBjb250YWluZWQgaW4gdGhlIHNhbWUgcmVwbGFjZW1lbnQgdGV4dC48L3A+Cis8L3Zjbm90ZT4KKzx3ZmNub3RlIGlkPSJ3ZmMtUEVpbkludGVybmFsU3Vic2V0Ij4KKzxoZWFkPlBFcyBpbiBJbnRlcm5hbCBTdWJzZXQ8L2hlYWQ+Cis8cD5JbiB0aGUgaW50ZXJuYWwgRFREIHN1YnNldCwgCis8dGVybXJlZiBkZWY9ImR0LVBFUmVmIj5wYXJhbWV0ZXItZW50aXR5IHJlZmVyZW5jZXM8L3Rlcm1yZWY+CitjYW4gb2NjdXIgb25seSB3aGVyZSBtYXJrdXAgZGVjbGFyYXRpb25zIGNhbiBvY2N1ciwgbm90Cit3aXRoaW4gbWFya3VwIGRlY2xhcmF0aW9ucy4gIChUaGlzIGRvZXMgbm90IGFwcGx5IHRvCityZWZlcmVuY2VzIHRoYXQgb2NjdXIgaW4KK2V4dGVybmFsIHBhcmFtZXRlciBlbnRpdGllcyBvciB0byB0aGUgZXh0ZXJuYWwgc3Vic2V0LikKKzwvcD4KKzwvd2Zjbm90ZT4KKzxwPgorTGlrZSB0aGUgaW50ZXJuYWwgc3Vic2V0LCB0aGUgZXh0ZXJuYWwgc3Vic2V0IGFuZCAKK2FueSBleHRlcm5hbCBwYXJhbWV0ZXIgZW50aXRpZXMgcmVmZXJyZWQgdG8gaW4gdGhlIERURCAKK211c3QgY29uc2lzdCBvZiBhIHNlcmllcyBvZiBjb21wbGV0ZSBtYXJrdXAgZGVjbGFyYXRpb25zIG9mIHRoZSB0eXBlcyAKK2FsbG93ZWQgYnkgdGhlIG5vbi10ZXJtaW5hbCBzeW1ib2wKKzxudCBkZWY9Ik5ULW1hcmt1cGRlY2wiPm1hcmt1cGRlY2w8L250PiwgaW50ZXJzcGVyc2VkIHdpdGggd2hpdGUgc3BhY2UKK29yIDx0ZXJtcmVmIGRlZj0iZHQtUEVSZWYiPnBhcmFtZXRlci1lbnRpdHkgcmVmZXJlbmNlczwvdGVybXJlZj4uCitIb3dldmVyLCBwb3J0aW9ucyBvZiB0aGUgY29udGVudHMKK29mIHRoZSAKK2V4dGVybmFsIHN1YnNldCBvciBvZiBleHRlcm5hbCBwYXJhbWV0ZXIgZW50aXRpZXMgbWF5IGNvbmRpdGlvbmFsbHkgYmUgaWdub3JlZAorYnkgdXNpbmcgCit0aGUgPHRlcm1yZWYgZGVmPSJkdC1jb25kLXNlY3Rpb24iPmNvbmRpdGlvbmFsIHNlY3Rpb248L3Rlcm1yZWY+Citjb25zdHJ1Y3Q7IHRoaXMgaXMgbm90IGFsbG93ZWQgaW4gdGhlIGludGVybmFsIHN1YnNldC4KKworPHNjcmFwIGlkPSJleHQtU3Vic2V0Ij4KKzxoZWFkPkV4dGVybmFsIFN1YnNldDwvaGVhZD4KKzxwcm9kZ3JvdXAgcGN3Mj0iNiIgcGN3ND0iMTcuNSIgcGN3NT0iOSI+Cis8cHJvZCBpZD0iTlQtZXh0U3Vic2V0Ij48bGhzPmV4dFN1YnNldDwvbGhzPgorPHJocz48bnQgZGVmPSJOVC1UZXh0RGVjbCI+VGV4dERlY2w8L250Pj8KKzxudCBkZWY9Ik5ULWV4dFN1YnNldERlY2wiPmV4dFN1YnNldERlY2w8L250PjwvcmhzPjwvcHJvZD4KKzxwcm9kIGlkPSJOVC1leHRTdWJzZXREZWNsIj48bGhzPmV4dFN1YnNldERlY2w8L2xocz4KKzxyaHM+KAorPG50IGRlZj0iTlQtbWFya3VwZGVjbCI+bWFya3VwZGVjbDwvbnQ+IAorfCA8bnQgZGVmPSJOVC1jb25kaXRpb25hbFNlY3QiPmNvbmRpdGlvbmFsU2VjdDwvbnQ+IAorfCA8bnQgZGVmPSJOVC1QRVJlZmVyZW5jZSI+UEVSZWZlcmVuY2U8L250PiAKK3wgPG50IGRlZj0iTlQtUyI+UzwvbnQ+CispKjwvcmhzPgorPC9wcm9kPgorPC9wcm9kZ3JvdXA+Cis8L3NjcmFwPjwvcD4KKzxwPlRoZSBleHRlcm5hbCBzdWJzZXQgYW5kIGV4dGVybmFsIHBhcmFtZXRlciBlbnRpdGllcyBhbHNvIGRpZmZlciAKK2Zyb20gdGhlIGludGVybmFsIHN1YnNldCBpbiB0aGF0IGluIHRoZW0sCis8dGVybXJlZiBkZWY9ImR0LVBFUmVmIj5wYXJhbWV0ZXItZW50aXR5IHJlZmVyZW5jZXM8L3Rlcm1yZWY+CithcmUgcGVybWl0dGVkIDxlbXBoPndpdGhpbjwvZW1waD4gbWFya3VwIGRlY2xhcmF0aW9ucywKK25vdCBvbmx5IDxlbXBoPmJldHdlZW48L2VtcGg+IG1hcmt1cCBkZWNsYXJhdGlvbnMuPC9wPgorPHA+QW4gZXhhbXBsZSBvZiBhbiBYTUwgZG9jdW1lbnQgd2l0aCBhIGRvY3VtZW50IHR5cGUgZGVjbGFyYXRpb246Cis8ZWc+PCFbQ0RBVEFbPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IURPQ1RZUEUgZ3JlZXRpbmcgU1lTVEVNICJoZWxsby5kdGQiPgorPGdyZWV0aW5nPkhlbGxvLCB3b3JsZCE8L2dyZWV0aW5nPgorXV0+PC9lZz4KK1RoZSA8dGVybXJlZiBkZWY9ImR0LXN5c2lkIj5zeXN0ZW0gaWRlbnRpZmllcjwvdGVybXJlZj4gCisiPGNvZGU+aGVsbG8uZHRkPC9jb2RlPiIgZ2l2ZXMgdGhlIFVSSSBvZiBhIERURCBmb3IgdGhlIGRvY3VtZW50LjwvcD4KKzxwPlRoZSBkZWNsYXJhdGlvbnMgY2FuIGFsc28gYmUgZ2l2ZW4gbG9jYWxseSwgYXMgaW4gdGhpcyAKK2V4YW1wbGU6Cis8ZWc+PCFbQ0RBVEFbPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiID8+Cis8IURPQ1RZUEUgZ3JlZXRpbmcgWworICA8IUVMRU1FTlQgZ3JlZXRpbmcgKCNQQ0RBVEEpPgorXT4KKzxncmVldGluZz5IZWxsbywgd29ybGQhPC9ncmVldGluZz4KK11dPjwvZWc+CitJZiBib3RoIHRoZSBleHRlcm5hbCBhbmQgaW50ZXJuYWwgc3Vic2V0cyBhcmUgdXNlZCwgdGhlIAoraW50ZXJuYWwgc3Vic2V0IGlzIGNvbnNpZGVyZWQgdG8gb2NjdXIgYmVmb3JlIHRoZSBleHRlcm5hbCBzdWJzZXQuCis8IS0tICdpcyBjb25zaWRlcmVkIHRvJz8gYm9vLiB3aGF6emF0IG1lYW4/IC0tPgorVGhpcyBoYXMgdGhlIGVmZmVjdCB0aGF0IGVudGl0eSBhbmQgYXR0cmlidXRlLWxpc3QgZGVjbGFyYXRpb25zIGluIHRoZQoraW50ZXJuYWwgc3Vic2V0IHRha2UgcHJlY2VkZW5jZSBvdmVyIHRob3NlIGluIHRoZSBleHRlcm5hbCBzdWJzZXQuCis8L3A+Cis8L2RpdjI+CisgCis8ZGl2MiBpZD0ic2VjLXJtZCI+Cis8aGVhZD5TdGFuZGFsb25lIERvY3VtZW50IERlY2xhcmF0aW9uPC9oZWFkPgorPHA+TWFya3VwIGRlY2xhcmF0aW9ucyBjYW4gYWZmZWN0IHRoZSBjb250ZW50IG9mIHRoZSBkb2N1bWVudCwKK2FzIHBhc3NlZCBmcm9tIGFuIDx0ZXJtcmVmIGRlZj0iZHQteG1sLXByb2MiPlhNTCBwcm9jZXNzb3I8L3Rlcm1yZWY+IAordG8gYW4gYXBwbGljYXRpb247IGV4YW1wbGVzIGFyZSBhdHRyaWJ1dGUgZGVmYXVsdHMgYW5kIGVudGl0eQorZGVjbGFyYXRpb25zLgorVGhlIHN0YW5kYWxvbmUgZG9jdW1lbnQgZGVjbGFyYXRpb24sCit3aGljaCBtYXkgYXBwZWFyIGFzIGEgY29tcG9uZW50IG9mIHRoZSBYTUwgZGVjbGFyYXRpb24sIHNpZ25hbHMKK3doZXRoZXIgb3Igbm90IHRoZXJlIGFyZSBzdWNoIGRlY2xhcmF0aW9ucyB3aGljaCBhcHBlYXIgZXh0ZXJuYWwgdG8gCit0aGUgPHRlcm1yZWYgZGVmPSJkdC1kb2NlbnQiPmRvY3VtZW50IGVudGl0eTwvdGVybXJlZj4uCis8c2NyYXAgbGFuZz0iZWJuZiIgaWQ9ImZ1bGxkdGQiPgorPGhlYWQ+U3RhbmRhbG9uZSBEb2N1bWVudCBEZWNsYXJhdGlvbjwvaGVhZD4KKzxwcm9kZ3JvdXAgcGN3Mj0iNCIgcGN3ND0iMTkuNSIgcGN3NT0iOSI+Cis8cHJvZCBpZD0iTlQtU0REZWNsIj48bGhzPlNERGVjbDwvbGhzPgorPHJocz4KKzxudCBkZWY9Ik5ULVMiPlM8L250PiAKKydzdGFuZGFsb25lJyA8bnQgZGVmPSJOVC1FcSI+RXE8L250PiAKKygoIiciICgneWVzJyB8ICdubycpICInIikgfCAoJyInICgneWVzJyB8ICdubycpICciJykpCis8L3Jocz4KKzx2YyBkZWY9InZjLWNoZWNrLXJtZCIvPjwvcHJvZD4KKzwvcHJvZGdyb3VwPgorPC9zY3JhcD48L3A+Cis8cD4KK0luIGEgc3RhbmRhbG9uZSBkb2N1bWVudCBkZWNsYXJhdGlvbiwgdGhlIHZhbHVlICI8Y29kZT55ZXM8L2NvZGU+IiBpbmRpY2F0ZXMKK3RoYXQgdGhlcmUgCithcmUgbm8gbWFya3VwIGRlY2xhcmF0aW9ucyBleHRlcm5hbCB0byB0aGUgPHRlcm1yZWYgZGVmPSJkdC1kb2NlbnQiPmRvY3VtZW50CitlbnRpdHk8L3Rlcm1yZWY+IChlaXRoZXIgaW4gdGhlIERURCBleHRlcm5hbCBzdWJzZXQsIG9yIGluIGFuCitleHRlcm5hbCBwYXJhbWV0ZXIgZW50aXR5IHJlZmVyZW5jZWQgZnJvbSB0aGUgaW50ZXJuYWwgc3Vic2V0KQord2hpY2ggYWZmZWN0IHRoZSBpbmZvcm1hdGlvbiBwYXNzZWQgZnJvbSB0aGUgWE1MIHByb2Nlc3NvciB0bwordGhlIGFwcGxpY2F0aW9uLiAgCitUaGUgdmFsdWUgIjxjb2RlPm5vPC9jb2RlPiIgaW5kaWNhdGVzIHRoYXQgdGhlcmUgYXJlIG9yIG1heSBiZSBzdWNoCitleHRlcm5hbCBtYXJrdXAgZGVjbGFyYXRpb25zLgorTm90ZSB0aGF0IHRoZSBzdGFuZGFsb25lIGRvY3VtZW50IGRlY2xhcmF0aW9uIG9ubHkgCitkZW5vdGVzIHRoZSBwcmVzZW5jZSBvZiBleHRlcm5hbCA8ZW1waD5kZWNsYXJhdGlvbnM8L2VtcGg+OyB0aGUgcHJlc2VuY2UsIGluIGEKK2RvY3VtZW50LCBvZiAKK3JlZmVyZW5jZXMgdG8gZXh0ZXJuYWwgPGVtcGg+ZW50aXRpZXM8L2VtcGg+LCB3aGVuIHRob3NlIGVudGl0aWVzIGFyZQoraW50ZXJuYWxseSBkZWNsYXJlZCwgCitkb2VzIG5vdCBjaGFuZ2UgaXRzIHN0YW5kYWxvbmUgc3RhdHVzLjwvcD4KKzxwPklmIHRoZXJlIGFyZSBubyBleHRlcm5hbCBtYXJrdXAgZGVjbGFyYXRpb25zLCB0aGUgc3RhbmRhbG9uZSBkb2N1bWVudAorZGVjbGFyYXRpb24gaGFzIG5vIG1lYW5pbmcuIAorSWYgdGhlcmUgYXJlIGV4dGVybmFsIG1hcmt1cCBkZWNsYXJhdGlvbnMgYnV0IHRoZXJlIGlzIG5vIHN0YW5kYWxvbmUKK2RvY3VtZW50IGRlY2xhcmF0aW9uLCB0aGUgdmFsdWUgIjxjb2RlPm5vPC9jb2RlPiIgaXMgYXNzdW1lZC48L3A+Cis8cD5BbnkgWE1MIGRvY3VtZW50IGZvciB3aGljaCA8Y29kZT5zdGFuZGFsb25lPSJubyI8L2NvZGU+IGhvbGRzIGNhbiAKK2JlIGNvbnZlcnRlZCBhbGdvcml0aG1pY2FsbHkgdG8gYSBzdGFuZGFsb25lIGRvY3VtZW50LCAKK3doaWNoIG1heSBiZSBkZXNpcmFibGUgZm9yIHNvbWUgbmV0d29yayBkZWxpdmVyeSBhcHBsaWNhdGlvbnMuPC9wPgorPHZjbm90ZSBpZD0idmMtY2hlY2stcm1kIj4KKzxoZWFkPlN0YW5kYWxvbmUgRG9jdW1lbnQgRGVjbGFyYXRpb248L2hlYWQ+Cis8cD5UaGUgc3RhbmRhbG9uZSBkb2N1bWVudCBkZWNsYXJhdGlvbiBtdXN0IGhhdmUKK3RoZSB2YWx1ZSAiPGNvZGU+bm88L2NvZGU+IiBpZiBhbnkgZXh0ZXJuYWwgbWFya3VwIGRlY2xhcmF0aW9ucworY29udGFpbiBkZWNsYXJhdGlvbnMgb2Y6PC9wPjx1bGlzdD4KKzxpdGVtPjxwPmF0dHJpYnV0ZXMgd2l0aCA8dGVybXJlZiBkZWY9ImR0LWRlZmF1bHQiPmRlZmF1bHQ8L3Rlcm1yZWY+IHZhbHVlcywgaWYKK2VsZW1lbnRzIHRvIHdoaWNoCit0aGVzZSBhdHRyaWJ1dGVzIGFwcGx5IGFwcGVhciBpbiB0aGUgZG9jdW1lbnQgd2l0aG91dAorc3BlY2lmaWNhdGlvbnMgb2YgdmFsdWVzIGZvciB0aGVzZSBhdHRyaWJ1dGVzLCBvcjwvcD48L2l0ZW0+Cis8aXRlbT48cD5lbnRpdGllcyAob3RoZXIgdGhhbiAmbWFnaWNlbnRzOyksIAoraWYgPHRlcm1yZWYgZGVmPSJkdC1lbnRyZWYiPnJlZmVyZW5jZXM8L3Rlcm1yZWY+IHRvIHRob3NlCitlbnRpdGllcyBhcHBlYXIgaW4gdGhlIGRvY3VtZW50LCBvcjwvcD4KKzwvaXRlbT4KKzxpdGVtPjxwPmF0dHJpYnV0ZXMgd2l0aCB2YWx1ZXMgc3ViamVjdCB0bworPHRpdGxlcmVmIGhyZWY9IkFWTm9ybWFsaXplIj5ub3JtYWxpemF0aW9uPC90aXRsZXJlZj4sIHdoZXJlIHRoZQorYXR0cmlidXRlIGFwcGVhcnMgaW4gdGhlIGRvY3VtZW50IHdpdGggYSB2YWx1ZSB3aGljaCB3aWxsCitjaGFuZ2UgYXMgYSByZXN1bHQgb2Ygbm9ybWFsaXphdGlvbiwgb3I8L3A+Cis8L2l0ZW0+Cis8aXRlbT4KKzxwPmVsZW1lbnQgdHlwZXMgd2l0aCA8dGVybXJlZiBkZWY9ImR0LWVsZW1jb250ZW50Ij5lbGVtZW50IGNvbnRlbnQ8L3Rlcm1yZWY+LCAKK2lmIHdoaXRlIHNwYWNlIG9jY3VycworZGlyZWN0bHkgd2l0aGluIGFueSBpbnN0YW5jZSBvZiB0aG9zZSB0eXBlcy4KKzwvcD48L2l0ZW0+Cis8L3VsaXN0PgorCis8L3Zjbm90ZT4KKzxwPkFuIGV4YW1wbGUgWE1MIGRlY2xhcmF0aW9uIHdpdGggYSBzdGFuZGFsb25lIGRvY3VtZW50IGRlY2xhcmF0aW9uOjxlZz4mbHQ7P3htbCB2ZXJzaW9uPSImWE1MLnZlcnNpb247IiBzdGFuZGFsb25lPSd5ZXMnPyZndDs8L2VnPjwvcD4KKzwvZGl2Mj4KKzxkaXYyIGlkPSJzZWMtd2hpdGUtc3BhY2UiPgorPGhlYWQ+V2hpdGUgU3BhY2UgSGFuZGxpbmc8L2hlYWQ+CisKKzxwPkluIGVkaXRpbmcgWE1MIGRvY3VtZW50cywgaXQgaXMgb2Z0ZW4gY29udmVuaWVudCB0byB1c2UgIndoaXRlIHNwYWNlIgorKHNwYWNlcywgdGFicywgYW5kIGJsYW5rIGxpbmVzLCBkZW5vdGVkIGJ5IHRoZSBub250ZXJtaW5hbCAKKzxudCBkZWY9Ik5ULVMiPlM8L250PiBpbiB0aGlzIHNwZWNpZmljYXRpb24pIHRvCitzZXQgYXBhcnQgdGhlIG1hcmt1cCBmb3IgZ3JlYXRlciByZWFkYWJpbGl0eS4gIFN1Y2ggd2hpdGUgc3BhY2UgaXMgdHlwaWNhbGx5Citub3QgaW50ZW5kZWQgZm9yIGluY2x1c2lvbiBpbiB0aGUgZGVsaXZlcmVkIHZlcnNpb24gb2YgdGhlIGRvY3VtZW50LgorT24gdGhlIG90aGVyIGhhbmQsICJzaWduaWZpY2FudCIgd2hpdGUgc3BhY2UgdGhhdCBzaG91bGQgYmUgcHJlc2VydmVkIGluIHRoZQorZGVsaXZlcmVkIHZlcnNpb24gaXMgY29tbW9uLCBmb3IgZXhhbXBsZSBpbiBwb2V0cnkgYW5kCitzb3VyY2UgY29kZS48L3A+Cis8cD5BbiA8dGVybXJlZiBkZWY9ImR0LXhtbC1wcm9jIj5YTUwgcHJvY2Vzc29yPC90ZXJtcmVmPiAKK211c3QgYWx3YXlzIHBhc3MgYWxsIGNoYXJhY3RlcnMgaW4gYSBkb2N1bWVudCB0aGF0IGFyZSBub3QKK21hcmt1cCB0aHJvdWdoIHRvIHRoZSBhcHBsaWNhdGlvbi4gICBBIDx0ZXJtcmVmIGRlZj0iZHQtdmFsaWRhdGluZyI+Cit2YWxpZGF0aW5nIFhNTCBwcm9jZXNzb3I8L3Rlcm1yZWY+IG11c3QgYWxzbyBpbmZvcm0gdGhlIGFwcGxpY2F0aW9uCit3aGljaCAgb2YgdGhlc2UgY2hhcmFjdGVycyBjb25zdGl0dXRlIHdoaXRlIHNwYWNlIGFwcGVhcmluZworaW4gPHRlcm1yZWYgZGVmPSJkdC1lbGVtY29udGVudCI+ZWxlbWVudCBjb250ZW50PC90ZXJtcmVmPi4KKzwvcD4KKzxwPkEgc3BlY2lhbCA8dGVybXJlZiBkZWY9ImR0LWF0dHIiPmF0dHJpYnV0ZTwvdGVybXJlZj4gCituYW1lZCA8a3c+eG1sOnNwYWNlPC9rdz4gbWF5IGJlIGF0dGFjaGVkIHRvIGFuIGVsZW1lbnQKK3RvIHNpZ25hbCBhbiBpbnRlbnRpb24gdGhhdCBpbiB0aGF0IGVsZW1lbnQsCit3aGl0ZSBzcGFjZSBzaG91bGQgYmUgcHJlc2VydmVkIGJ5IGFwcGxpY2F0aW9ucy4KK0luIHZhbGlkIGRvY3VtZW50cywgdGhpcyBhdHRyaWJ1dGUsIGxpa2UgYW55IG90aGVyLCBtdXN0IGJlIAorPHRlcm1yZWYgZGVmPSJkdC1hdHRkZWNsIj5kZWNsYXJlZDwvdGVybXJlZj4gaWYgaXQgaXMgdXNlZC4KK1doZW4gZGVjbGFyZWQsIGl0IG11c3QgYmUgZ2l2ZW4gYXMgYW4gCis8dGVybXJlZiBkZWY9ImR0LWVudW1lcmF0ZWQiPmVudW1lcmF0ZWQgdHlwZTwvdGVybXJlZj4gd2hvc2Ugb25seQorcG9zc2libGUgdmFsdWVzIGFyZSAiPGNvZGU+ZGVmYXVsdDwvY29kZT4iIGFuZCAiPGNvZGU+cHJlc2VydmU8L2NvZGU+Ii4KK0ZvciBleGFtcGxlOjxlZz48IVtDREFUQVsgICAgPCFBVFRMSVNUIHBvZW0gICB4bWw6c3BhY2UgKGRlZmF1bHR8cHJlc2VydmUpICdwcmVzZXJ2ZSc+XV0+PC9lZz48L3A+Cis8cD5UaGUgdmFsdWUgIjxjb2RlPmRlZmF1bHQ8L2NvZGU+IiBzaWduYWxzIHRoYXQgYXBwbGljYXRpb25zJworZGVmYXVsdCB3aGl0ZS1zcGFjZSBwcm9jZXNzaW5nIG1vZGVzIGFyZSBhY2NlcHRhYmxlIGZvciB0aGlzIGVsZW1lbnQ7IHRoZQordmFsdWUgIjxjb2RlPnByZXNlcnZlPC9jb2RlPiIgaW5kaWNhdGVzIHRoZSBpbnRlbnQgdGhhdCBhcHBsaWNhdGlvbnMgcHJlc2VydmUKK2FsbCB0aGUgd2hpdGUgc3BhY2UuCitUaGlzIGRlY2xhcmVkIGludGVudCBpcyBjb25zaWRlcmVkIHRvIGFwcGx5IHRvIGFsbCBlbGVtZW50cyB3aXRoaW4gdGhlIGNvbnRlbnQKK29mIHRoZSBlbGVtZW50IHdoZXJlIGl0IGlzIHNwZWNpZmllZCwgdW5sZXNzIG92ZXJyaWRlbiB3aXRoIGFub3RoZXIgaW5zdGFuY2UKK29mIHRoZSA8a3c+eG1sOnNwYWNlPC9rdz4gYXR0cmlidXRlLgorPC9wPgorPHA+VGhlIDx0ZXJtcmVmIGRlZj0iZHQtcm9vdCI+cm9vdCBlbGVtZW50PC90ZXJtcmVmPiBvZiBhbnkgZG9jdW1lbnQKK2lzIGNvbnNpZGVyZWQgdG8gaGF2ZSBzaWduYWxlZCBubyBpbnRlbnRpb25zIGFzIHJlZ2FyZHMgYXBwbGljYXRpb24gc3BhY2UKK2hhbmRsaW5nLCB1bmxlc3MgaXQgcHJvdmlkZXMgYSB2YWx1ZSBmb3IgCit0aGlzIGF0dHJpYnV0ZSBvciB0aGUgYXR0cmlidXRlIGlzIGRlY2xhcmVkIHdpdGggYSBkZWZhdWx0IHZhbHVlLgorPC9wPgorCis8L2RpdjI+Cis8ZGl2MiBpZD0ic2VjLWxpbmUtZW5kcyI+Cis8aGVhZD5FbmQtb2YtTGluZSBIYW5kbGluZzwvaGVhZD4KKzxwPlhNTCA8dGVybXJlZiBkZWY9ImR0LXBhcnNlZGVudCI+cGFyc2VkIGVudGl0aWVzPC90ZXJtcmVmPiBhcmUgb2Z0ZW4gc3RvcmVkIGluCitjb21wdXRlciBmaWxlcyB3aGljaCwgZm9yIGVkaXRpbmcgY29udmVuaWVuY2UsIGFyZSBvcmdhbml6ZWQgaW50byBsaW5lcy4KK1RoZXNlIGxpbmVzIGFyZSB0eXBpY2FsbHkgc2VwYXJhdGVkIGJ5IHNvbWUgY29tYmluYXRpb24gb2YgdGhlIGNoYXJhY3RlcnMKK2NhcnJpYWdlLXJldHVybiAoI3hEKSBhbmQgbGluZS1mZWVkICgjeEEpLjwvcD4KKzxwPlRvIHNpbXBsaWZ5IHRoZSB0YXNrcyBvZiA8dGVybXJlZiBkZWY9ImR0LWFwcCI+YXBwbGljYXRpb25zPC90ZXJtcmVmPiwKK3doZXJldmVyIGFuIGV4dGVybmFsIHBhcnNlZCBlbnRpdHkgb3IgdGhlIGxpdGVyYWwgZW50aXR5IHZhbHVlCitvZiBhbiBpbnRlcm5hbCBwYXJzZWQgZW50aXR5IGNvbnRhaW5zIGVpdGhlciB0aGUgbGl0ZXJhbCAKK3R3by1jaGFyYWN0ZXIgc2VxdWVuY2UgIiN4RCN4QSIgb3IgYSBzdGFuZGFsb25lIGxpdGVyYWwKKyN4RCwgYW4gPHRlcm1yZWYgZGVmPSJkdC14bWwtcHJvYyI+WE1MIHByb2Nlc3NvcjwvdGVybXJlZj4gbXVzdCAKK3Bhc3MgdG8gdGhlIGFwcGxpY2F0aW9uIHRoZSBzaW5nbGUgY2hhcmFjdGVyICN4QS4KKyhUaGlzIGJlaGF2aW9yIGNhbiAKK2NvbnZlbmllbnRseSBiZSBwcm9kdWNlZCBieSBub3JtYWxpemluZyBhbGwgCitsaW5lIGJyZWFrcyB0byAjeEEgb24gaW5wdXQsIGJlZm9yZSBwYXJzaW5nLikKKzwvcD4KKzwvZGl2Mj4KKzxkaXYyIGlkPSJzZWMtbGFuZy10YWciPgorPGhlYWQ+TGFuZ3VhZ2UgSWRlbnRpZmljYXRpb248L2hlYWQ+Cis8cD5JbiBkb2N1bWVudCBwcm9jZXNzaW5nLCBpdCBpcyBvZnRlbiB1c2VmdWwgdG8KK2lkZW50aWZ5IHRoZSBuYXR1cmFsIG9yIGZvcm1hbCBsYW5ndWFnZSAKK2luIHdoaWNoIHRoZSBjb250ZW50IGlzIAord3JpdHRlbi4KK0Egc3BlY2lhbCA8dGVybXJlZiBkZWY9ImR0LWF0dHIiPmF0dHJpYnV0ZTwvdGVybXJlZj4gbmFtZWQKKzxrdz54bWw6bGFuZzwva3c+IG1heSBiZSBpbnNlcnRlZCBpbgorZG9jdW1lbnRzIHRvIHNwZWNpZnkgdGhlIAorbGFuZ3VhZ2UgdXNlZCBpbiB0aGUgY29udGVudHMgYW5kIGF0dHJpYnV0ZSB2YWx1ZXMgCitvZiBhbnkgZWxlbWVudCBpbiBhbiBYTUwgZG9jdW1lbnQuCitJbiB2YWxpZCBkb2N1bWVudHMsIHRoaXMgYXR0cmlidXRlLCBsaWtlIGFueSBvdGhlciwgbXVzdCBiZSAKKzx0ZXJtcmVmIGRlZj0iZHQtYXR0ZGVjbCI+ZGVjbGFyZWQ8L3Rlcm1yZWY+IGlmIGl0IGlzIHVzZWQuCitUaGUgdmFsdWVzIG9mIHRoZSBhdHRyaWJ1dGUgYXJlIGxhbmd1YWdlIGlkZW50aWZpZXJzIGFzIGRlZmluZWQKK2J5IDxiaWJyZWYgcmVmPSJSRkMxNzY2Ii8+LCAiVGFncyBmb3IgdGhlIElkZW50aWZpY2F0aW9uIG9mIExhbmd1YWdlcyI6Cis8c2NyYXAgbGFuZz0iZWJuZiI+Cis8aGVhZD5MYW5ndWFnZSBJZGVudGlmaWNhdGlvbjwvaGVhZD4KKzxwcm9kIGlkPSJOVC1MYW5ndWFnZUlEIj48bGhzPkxhbmd1YWdlSUQ8L2xocz4KKzxyaHM+PG50IGRlZj0iTlQtTGFuZ2NvZGUiPkxhbmdjb2RlPC9udD4gCisoJy0nIDxudCBkZWY9Ik5ULVN1YmNvZGUiPlN1YmNvZGU8L250PikqPC9yaHM+PC9wcm9kPgorPHByb2QgaWQ9Ik5ULUxhbmdjb2RlIj48bGhzPkxhbmdjb2RlPC9saHM+Cis8cmhzPjxudCBkZWY9Ik5ULUlTTzYzOUNvZGUiPklTTzYzOUNvZGU8L250PiB8IAorPG50IGRlZj0iTlQtSWFuYUNvZGUiPklhbmFDb2RlPC9udD4gfCAKKzxudCBkZWY9Ik5ULVVzZXJDb2RlIj5Vc2VyQ29kZTwvbnQ+PC9yaHM+Cis8L3Byb2Q+Cis8cHJvZCBpZD0iTlQtSVNPNjM5Q29kZSI+PGxocz5JU082MzlDb2RlPC9saHM+Cis8cmhzPihbYS16XSB8IFtBLVpdKSAoW2Etel0gfCBbQS1aXSk8L3Jocz48L3Byb2Q+Cis8cHJvZCBpZD0iTlQtSWFuYUNvZGUiPjxsaHM+SWFuYUNvZGU8L2xocz4KKzxyaHM+KCdpJyB8ICdJJykgJy0nIChbYS16XSB8IFtBLVpdKSs8L3Jocz48L3Byb2Q+Cis8cHJvZCBpZD0iTlQtVXNlckNvZGUiPjxsaHM+VXNlckNvZGU8L2xocz4KKzxyaHM+KCd4JyB8ICdYJykgJy0nIChbYS16XSB8IFtBLVpdKSs8L3Jocz48L3Byb2Q+Cis8cHJvZCBpZD0iTlQtU3ViY29kZSI+PGxocz5TdWJjb2RlPC9saHM+Cis8cmhzPihbYS16XSB8IFtBLVpdKSs8L3Jocz48L3Byb2Q+Cis8L3NjcmFwPgorVGhlIDxudCBkZWY9Ik5ULUxhbmdjb2RlIj5MYW5nY29kZTwvbnQ+IG1heSBiZSBhbnkgb2YgdGhlIGZvbGxvd2luZzoKKzx1bGlzdD4KKzxpdGVtPjxwPmEgdHdvLWxldHRlciBsYW5ndWFnZSBjb2RlIGFzIGRlZmluZWQgYnkgCis8YmlicmVmIHJlZj0iSVNPNjM5Ii8+LCAiQ29kZXMKK2ZvciB0aGUgcmVwcmVzZW50YXRpb24gb2YgbmFtZXMgb2YgbGFuZ3VhZ2VzIjwvcD48L2l0ZW0+Cis8aXRlbT48cD5hIGxhbmd1YWdlIGlkZW50aWZpZXIgcmVnaXN0ZXJlZCB3aXRoIHRoZSBJbnRlcm5ldAorQXNzaWduZWQgTnVtYmVycyBBdXRob3JpdHkgPGJpYnJlZiByZWY9IklBTkEiLz47IHRoZXNlIGJlZ2luIHdpdGggdGhlIAorcHJlZml4ICI8Y29kZT5pLTwvY29kZT4iIChvciAiPGNvZGU+SS08L2NvZGU+Iik8L3A+PC9pdGVtPgorPGl0ZW0+PHA+YSBsYW5ndWFnZSBpZGVudGlmaWVyIGFzc2lnbmVkIGJ5IHRoZSB1c2VyLCBvciBhZ3JlZWQgb24KK2JldHdlZW4gcGFydGllcyBpbiBwcml2YXRlIHVzZTsgdGhlc2UgbXVzdCBiZWdpbiB3aXRoIHRoZQorcHJlZml4ICI8Y29kZT54LTwvY29kZT4iIG9yICI8Y29kZT5YLTwvY29kZT4iIGluIG9yZGVyIHRvIGVuc3VyZSB0aGF0IHRoZXkgZG8gbm90IGNvbmZsaWN0IAord2l0aCBuYW1lcyBsYXRlciBzdGFuZGFyZGl6ZWQgb3IgcmVnaXN0ZXJlZCB3aXRoIElBTkE8L3A+PC9pdGVtPgorPC91bGlzdD48L3A+Cis8cD5UaGVyZSBtYXkgYmUgYW55IG51bWJlciBvZiA8bnQgZGVmPSJOVC1TdWJjb2RlIj5TdWJjb2RlPC9udD4gc2VnbWVudHM7IGlmCit0aGUgZmlyc3QgCitzdWJjb2RlIHNlZ21lbnQgZXhpc3RzIGFuZCB0aGUgU3ViY29kZSBjb25zaXN0cyBvZiB0d28gCitsZXR0ZXJzLCB0aGVuIGl0IG11c3QgYmUgYSBjb3VudHJ5IGNvZGUgZnJvbSAKKzxiaWJyZWYgcmVmPSJJU08zMTY2Ii8+LCAiQ29kZXMgCitmb3IgdGhlIHJlcHJlc2VudGF0aW9uIG9mIG5hbWVzIG9mIGNvdW50cmllcy4iCitJZiB0aGUgZmlyc3QgCitzdWJjb2RlIGNvbnNpc3RzIG9mIG1vcmUgdGhhbiB0d28gbGV0dGVycywgaXQgbXVzdCBiZQorYSBzdWJjb2RlIGZvciB0aGUgbGFuZ3VhZ2UgaW4gcXVlc3Rpb24gcmVnaXN0ZXJlZCB3aXRoIElBTkEsCit1bmxlc3MgdGhlIDxudCBkZWY9Ik5ULUxhbmdjb2RlIj5MYW5nY29kZTwvbnQ+IGJlZ2lucyB3aXRoIHRoZSBwcmVmaXggCisiPGNvZGU+eC08L2NvZGU+IiBvcgorIjxjb2RlPlgtPC9jb2RlPiIuIDwvcD4KKzxwPkl0IGlzIGN1c3RvbWFyeSB0byBnaXZlIHRoZSBsYW5ndWFnZSBjb2RlIGluIGxvd2VyIGNhc2UsIGFuZAordGhlIGNvdW50cnkgY29kZSAoaWYgYW55KSBpbiB1cHBlciBjYXNlLgorTm90ZSB0aGF0IHRoZXNlIHZhbHVlcywgdW5saWtlIG90aGVyIG5hbWVzIGluIFhNTCBkb2N1bWVudHMsCithcmUgY2FzZSBpbnNlbnNpdGl2ZS48L3A+Cis8cD5Gb3IgZXhhbXBsZToKKzxlZz48IVtDREFUQVs8cCB4bWw6bGFuZz0iZW4iPlRoZSBxdWljayBicm93biBmb3gganVtcHMgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPHAgeG1sOmxhbmc9ImVuLUdCIj5XaGF0IGNvbG91ciBpcyBpdD88L3A+Cis8cCB4bWw6bGFuZz0iZW4tVVMiPldoYXQgY29sb3IgaXMgaXQ/PC9wPgorPHNwIHdobz0iRmF1c3QiIGRlc2M9J2xlaXNlJyB4bWw6bGFuZz0iZGUiPgorICA8bD5IYWJlIG51biwgYWNoISBQaGlsb3NvcGhpZSw8L2w+CisgIDxsPkp1cmlzdGVyZWksIHVuZCBNZWRpemluPC9sPgorICA8bD51bmQgbGVpZGVyIGF1Y2ggVGhlb2xvZ2llPC9sPgorICA8bD5kdXJjaGF1cyBzdHVkaWVydCBtaXQgaGVp32VtIEJlbfxoJ24uPC9sPgorICA8L3NwPl1dPjwvZWc+PC9wPgorPCEtLTxwPlRoZSB4bWw6bGFuZyB2YWx1ZSBpcyBjb25zaWRlcmVkIHRvIGFwcGx5IGJvdGggdG8gdGhlIGNvbnRlbnRzIG9mIGFuCitlbGVtZW50IGFuZCAKKyh1bmxlc3Mgb3RoZXJ3aXNlIHZpYSBhdHRyaWJ1dGUgZGVmYXVsdCB2YWx1ZXMpIHRvIHRoZQordmFsdWVzIG9mIGFsbCBvZiBpdHMgYXR0cmlidXRlcyB3aXRoIGZyZWUtdGV4dCAoQ0RBVEEpIHZhbHVlcy4gIC0tPgorPHA+VGhlIGludGVudCBkZWNsYXJlZCB3aXRoIDxrdz54bWw6bGFuZzwva3c+IGlzIGNvbnNpZGVyZWQgdG8gYXBwbHkgdG8KK2FsbCBhdHRyaWJ1dGVzIGFuZCBjb250ZW50IG9mIHRoZSBlbGVtZW50IHdoZXJlIGl0IGlzIHNwZWNpZmllZCwKK3VubGVzcyBvdmVycmlkZGVuIHdpdGggYW4gaW5zdGFuY2Ugb2YgPGt3PnhtbDpsYW5nPC9rdz4KK29uIGFub3RoZXIgZWxlbWVudCB3aXRoaW4gdGhhdCBjb250ZW50LjwvcD4KKzwhLS0KK0lmIG5vCit2YWx1ZSBpcyBzcGVjaWZpZWQgZm9yIHhtbDpsYW5nIG9uIGFuIGVsZW1lbnQsIGFuZCBubyBkZWZhdWx0IHZhbHVlIGlzCitkZWZpbmVkIGZvciBpdCBpbiB0aGUgRFRELCB0aGVuIHRoZSB4bWw6bGFuZyBhdHRyaWJ1dGUgb2YgYW55IGVsZW1lbnQKK3Rha2VzIHRoZSBzYW1lIHZhbHVlIGl0IGhhcyBpbiB0aGUgcGFyZW50IGVsZW1lbnQsIGlmIGFueS4gIFRoZSB0d28KK3RlY2huaWNhbCB0ZXJtcyBpbiB0aGUgZm9sbG93aW5nIGV4YW1wbGUgYm90aCBoYXZlIHRoZSBzYW1lIGVmZmVjdGl2ZQordmFsdWUgZm9yIHhtbDpsYW5nOgorCisgIDxwIHhtbDpsYW5nPSJlbiI+SGVyZSB0aGUga2V5d29yZHMgYXJlCisgIDx0ZXJtIHhtbDpsYW5nPSJlbiI+c2hpZnQ8L3Rlcm0+IGFuZAorICA8dGVybT5yZWR1Y2U8L3Rlcm0+LiAuLi48L3A+CisKK1RoZSBhcHBsaWNhdGlvbiwgbm90IHRoZSBYTUwgcHJvY2Vzc29yLCBpcyByZXNwb25zaWJsZSBmb3IgdGhpcyAnCitpbmhlcml0YW5jZScgb2YgYXR0cmlidXRlIHZhbHVlcy4KKy0tPgorPHA+QSBzaW1wbGUgZGVjbGFyYXRpb24gZm9yIDxrdz54bWw6bGFuZzwva3c+IG1pZ2h0IHRha2UKK3RoZSBmb3JtCis8ZWc+eG1sOmxhbmcgIE5NVE9LRU4gICNJTVBMSUVEPC9lZz4KK2J1dCBzcGVjaWZpYyBkZWZhdWx0IHZhbHVlcyBtYXkgYWxzbyBiZSBnaXZlbiwgaWYgYXBwcm9wcmlhdGUuICBJbiBhCitjb2xsZWN0aW9uIG9mIEZyZW5jaCBwb2VtcyBmb3IgRW5nbGlzaCBzdHVkZW50cywgd2l0aCBnbG9zc2VzIGFuZAorbm90ZXMgaW4gRW5nbGlzaCwgdGhlIHhtbDpsYW5nIGF0dHJpYnV0ZSBtaWdodCBiZSBkZWNsYXJlZCB0aGlzIHdheToKKzxlZz48IVtDREFUQVsgICAgPCFBVFRMSVNUIHBvZW0gICB4bWw6bGFuZyBOTVRPS0VOICdmcic+CisgICAgPCFBVFRMSVNUIGdsb3NzICB4bWw6bGFuZyBOTVRPS0VOICdlbic+CisgICAgPCFBVFRMSVNUIG5vdGUgICB4bWw6bGFuZyBOTVRPS0VOICdlbic+XV0+PC9lZz4KKzwvcD4KKworPC9kaXYyPgorPC9kaXYxPgorPCEtLSAmRWxlbWVudHM7IC0tPgorIAorPGRpdjEgaWQ9InNlYy1sb2dpY2FsLXN0cnVjdCI+Cis8aGVhZD5Mb2dpY2FsIFN0cnVjdHVyZXM8L2hlYWQ+CisgCis8cD48dGVybWRlZiBpZD0iZHQtZWxlbWVudCIgdGVybT0iRWxlbWVudCI+RWFjaCA8dGVybXJlZiBkZWY9ImR0LXhtbC1kb2MiPlhNTCBkb2N1bWVudDwvdGVybXJlZj4gY29udGFpbnMgb25lIG9yIG1vcmUKKzx0ZXJtPmVsZW1lbnRzPC90ZXJtPiwgdGhlIGJvdW5kYXJpZXMgb2Ygd2hpY2ggYXJlIAorZWl0aGVyIGRlbGltaXRlZCBieSA8dGVybXJlZiBkZWY9ImR0LXN0YWciPnN0YXJ0LXRhZ3M8L3Rlcm1yZWY+IAorYW5kIDx0ZXJtcmVmIGRlZj0iZHQtZXRhZyI+ZW5kLXRhZ3M8L3Rlcm1yZWY+LCBvciwgZm9yIDx0ZXJtcmVmIGRlZj0iZHQtZW1wdHkiPmVtcHR5PC90ZXJtcmVmPiBlbGVtZW50cywgYnkgYW4gPHRlcm1yZWYgZGVmPSJkdC1lZXRhZyI+ZW1wdHktZWxlbWVudCB0YWc8L3Rlcm1yZWY+LiBFYWNoIGVsZW1lbnQgaGFzIGEgdHlwZSwKK2lkZW50aWZpZWQgYnkgbmFtZSwgc29tZXRpbWVzIGNhbGxlZCBpdHMgImdlbmVyaWMKK2lkZW50aWZpZXIiIChHSSksIGFuZCBtYXkgaGF2ZSBhIHNldCBvZgorYXR0cmlidXRlIHNwZWNpZmljYXRpb25zLjwvdGVybWRlZj4gIEVhY2ggYXR0cmlidXRlIHNwZWNpZmljYXRpb24gCitoYXMgYSA8dGVybXJlZiBkZWY9ImR0LWF0dHJuYW1lIj5uYW1lPC90ZXJtcmVmPiBhbmQgYSA8dGVybXJlZiBkZWY9ImR0LWF0dHJ2YWwiPnZhbHVlPC90ZXJtcmVmPi4KKzwvcD4KKzxzY3JhcCBsYW5nPSJlYm5mIj48aGVhZD5FbGVtZW50PC9oZWFkPgorPHByb2QgaWQ9Ik5ULWVsZW1lbnQiPjxsaHM+ZWxlbWVudDwvbGhzPgorPHJocz48bnQgZGVmPSJOVC1FbXB0eUVsZW1UYWciPkVtcHR5RWxlbVRhZzwvbnQ+PC9yaHM+Cis8cmhzPnwgPG50IGRlZj0iTlQtU1RhZyI+U1RhZzwvbnQ+IDxudCBkZWY9Ik5ULWNvbnRlbnQiPmNvbnRlbnQ8L250PiAKKzxudCBkZWY9Ik5ULUVUYWciPkVUYWc8L250PjwvcmhzPgorPHdmYyBkZWY9IkdJTWF0Y2giLz4KKzx2YyBkZWY9ImVsZW1lbnR2YWxpZCIvPgorPC9wcm9kPgorPC9zY3JhcD4KKzxwPlRoaXMgc3BlY2lmaWNhdGlvbiBkb2VzIG5vdCBjb25zdHJhaW4gdGhlIHNlbWFudGljcywgdXNlLCBvciAoYmV5b25kCitzeW50YXgpIG5hbWVzIG9mIHRoZSBlbGVtZW50IHR5cGVzIGFuZCBhdHRyaWJ1dGVzLCBleGNlcHQgdGhhdCBuYW1lcworYmVnaW5uaW5nIHdpdGggYSBtYXRjaCB0byA8Y29kZT4oKCdYJ3wneCcpKCdNJ3wnbScpKCdMJ3wnbCcpKTwvY29kZT4KK2FyZSByZXNlcnZlZCBmb3Igc3RhbmRhcmRpemF0aW9uIGluIHRoaXMgb3IgZnV0dXJlIHZlcnNpb25zIG9mIHRoaXMKK3NwZWNpZmljYXRpb24uCis8L3A+Cis8d2Zjbm90ZSBpZD0iR0lNYXRjaCI+Cis8aGVhZD5FbGVtZW50IFR5cGUgTWF0Y2g8L2hlYWQ+Cis8cD4KK1RoZSA8bnQgZGVmPSJOVC1OYW1lIj5OYW1lPC9udD4gaW4gYW4gZWxlbWVudCdzIGVuZC10YWcgbXVzdCBtYXRjaCAKK3RoZSBlbGVtZW50IHR5cGUgaW4KK3RoZSBzdGFydC10YWcuCis8L3A+Cis8L3dmY25vdGU+Cis8dmNub3RlIGlkPSJlbGVtZW50dmFsaWQiPgorPGhlYWQ+RWxlbWVudCBWYWxpZDwvaGVhZD4KKzxwPkFuIGVsZW1lbnQgaXMKK3ZhbGlkIGlmCit0aGVyZSBpcyBhIGRlY2xhcmF0aW9uIG1hdGNoaW5nIAorPG50IGRlZj0iTlQtZWxlbWVudGRlY2wiPmVsZW1lbnRkZWNsPC9udD4gd2hlcmUgdGhlCis8bnQgZGVmPSJOVC1OYW1lIj5OYW1lPC9udD4gbWF0Y2hlcyB0aGUgZWxlbWVudCB0eXBlLCBhbmQKK29uZSBvZiB0aGUgZm9sbG93aW5nIGhvbGRzOjwvcD4KKzxvbGlzdD4KKzxpdGVtPjxwPlRoZSBkZWNsYXJhdGlvbiBtYXRjaGVzIDxrdz5FTVBUWTwva3c+IGFuZCB0aGUgZWxlbWVudCBoYXMgbm8gCis8dGVybXJlZiBkZWY9ImR0LWNvbnRlbnQiPmNvbnRlbnQ8L3Rlcm1yZWY+LjwvcD48L2l0ZW0+Cis8aXRlbT48cD5UaGUgZGVjbGFyYXRpb24gbWF0Y2hlcyA8bnQgZGVmPSJOVC1jaGlsZHJlbiI+Y2hpbGRyZW48L250PiBhbmQKK3RoZSBzZXF1ZW5jZSBvZiAKKzx0ZXJtcmVmIGRlZj0iZHQtcGFyZW50Y2hpbGQiPmNoaWxkIGVsZW1lbnRzPC90ZXJtcmVmPgorYmVsb25ncyB0byB0aGUgbGFuZ3VhZ2UgZ2VuZXJhdGVkIGJ5IHRoZSByZWd1bGFyIGV4cHJlc3Npb24gaW4KK3RoZSBjb250ZW50IG1vZGVsLCB3aXRoIG9wdGlvbmFsIHdoaXRlIHNwYWNlIChjaGFyYWN0ZXJzIAorbWF0Y2hpbmcgdGhlIG5vbnRlcm1pbmFsIDxudCBkZWY9Ik5ULVMiPlM8L250PikgYmV0d2VlbiBlYWNoIHBhaXIKK29mIGNoaWxkIGVsZW1lbnRzLjwvcD48L2l0ZW0+Cis8aXRlbT48cD5UaGUgZGVjbGFyYXRpb24gbWF0Y2hlcyA8bnQgZGVmPSJOVC1NaXhlZCI+TWl4ZWQ8L250PiBhbmQgCit0aGUgY29udGVudCBjb25zaXN0cyBvZiA8dGVybXJlZiBkZWY9ImR0LWNoYXJkYXRhIj5jaGFyYWN0ZXIgCitkYXRhPC90ZXJtcmVmPiBhbmQgPHRlcm1yZWYgZGVmPSJkdC1wYXJlbnRjaGlsZCI+Y2hpbGQgZWxlbWVudHM8L3Rlcm1yZWY+Cit3aG9zZSB0eXBlcyBtYXRjaCBuYW1lcyBpbiB0aGUgY29udGVudCBtb2RlbC48L3A+PC9pdGVtPgorPGl0ZW0+PHA+VGhlIGRlY2xhcmF0aW9uIG1hdGNoZXMgPGt3PkFOWTwva3c+LCBhbmQgdGhlIHR5cGVzCitvZiBhbnkgPHRlcm1yZWYgZGVmPSJkdC1wYXJlbnRjaGlsZCI+Y2hpbGQgZWxlbWVudHM8L3Rlcm1yZWY+IGhhdmUKK2JlZW4gZGVjbGFyZWQuPC9wPjwvaXRlbT4KKzwvb2xpc3Q+Cis8L3Zjbm90ZT4KKworPGRpdjIgaWQ9InNlYy1zdGFydHRhZ3MiPgorPGhlYWQ+U3RhcnQtVGFncywgRW5kLVRhZ3MsIGFuZCBFbXB0eS1FbGVtZW50IFRhZ3M8L2hlYWQ+CisgCis8cD48dGVybWRlZiBpZD0iZHQtc3RhZyIgdGVybT0iU3RhcnQtVGFnIj5UaGUgYmVnaW5uaW5nIG9mIGV2ZXJ5Citub24tZW1wdHkgWE1MIGVsZW1lbnQgaXMgbWFya2VkIGJ5IGEgPHRlcm0+c3RhcnQtdGFnPC90ZXJtPi4KKzxzY3JhcCBsYW5nPSJlYm5mIj4KKzxoZWFkPlN0YXJ0LXRhZzwvaGVhZD4KKzxwcm9kZ3JvdXAgcGN3Mj0iNiIgcGN3ND0iMTUiIHBjdzU9IjExLjUiPgorPHByb2QgaWQ9Ik5ULVNUYWciPjxsaHM+U1RhZzwvbGhzPgorPHJocz4nJmx0OycgPG50IGRlZj0iTlQtTmFtZSI+TmFtZTwvbnQ+IAorKDxudCBkZWY9Ik5ULVMiPlM8L250PiA8bnQgZGVmPSJOVC1BdHRyaWJ1dGUiPkF0dHJpYnV0ZTwvbnQ+KSogCis8bnQgZGVmPSJOVC1TIj5TPC9udD4/ICcmZ3Q7JzwvcmhzPgorPHdmYyBkZWY9InVuaXFhdHRzcGVjIi8+Cis8L3Byb2Q+Cis8cHJvZCBpZD0iTlQtQXR0cmlidXRlIj48bGhzPkF0dHJpYnV0ZTwvbGhzPgorPHJocz48bnQgZGVmPSJOVC1OYW1lIj5OYW1lPC9udD4gPG50IGRlZj0iTlQtRXEiPkVxPC9udD4gCis8bnQgZGVmPSJOVC1BdHRWYWx1ZSI+QXR0VmFsdWU8L250PjwvcmhzPgorPHZjIGRlZj0iVmFsdWVUeXBlIi8+Cis8d2ZjIGRlZj0iTm9FeHRlcm5hbFJlZnMiLz4KKzx3ZmMgZGVmPSJDbGVhbkF0dHJWYWxzIi8+PC9wcm9kPgorPC9wcm9kZ3JvdXA+Cis8L3NjcmFwPgorVGhlIDxudCBkZWY9Ik5ULU5hbWUiPk5hbWU8L250PiBpbgordGhlIHN0YXJ0LSBhbmQgZW5kLXRhZ3MgZ2l2ZXMgdGhlIAorZWxlbWVudCdzIDx0ZXJtPnR5cGU8L3Rlcm0+LjwvdGVybWRlZj4KKzx0ZXJtZGVmIGlkPSJkdC1hdHRyIiB0ZXJtPSJBdHRyaWJ1dGUiPgorVGhlIDxudCBkZWY9Ik5ULU5hbWUiPk5hbWU8L250Pi08bnQgZGVmPSJOVC1BdHRWYWx1ZSI+QXR0VmFsdWU8L250PiBwYWlycyBhcmUKK3JlZmVycmVkIHRvIGFzIAordGhlIDx0ZXJtPmF0dHJpYnV0ZSBzcGVjaWZpY2F0aW9uczwvdGVybT4gb2YgdGhlIGVsZW1lbnQ8L3Rlcm1kZWY+LAorPHRlcm1kZWYgaWQ9ImR0LWF0dHJuYW1lIiB0ZXJtPSJBdHRyaWJ1dGUgTmFtZSI+d2l0aCB0aGUgCis8bnQgZGVmPSJOVC1OYW1lIj5OYW1lPC9udD4gaW4gZWFjaCBwYWlyCityZWZlcnJlZCB0byBhcyB0aGUgPHRlcm0+YXR0cmlidXRlIG5hbWU8L3Rlcm0+PC90ZXJtZGVmPiBhbmQKKzx0ZXJtZGVmIGlkPSJkdC1hdHRydmFsIiB0ZXJtPSJBdHRyaWJ1dGUgVmFsdWUiPnRoZSBjb250ZW50IG9mIHRoZQorPG50IGRlZj0iTlQtQXR0VmFsdWUiPkF0dFZhbHVlPC9udD4gKHRoZSB0ZXh0IGJldHdlZW4gdGhlCis8Y29kZT4nPC9jb2RlPiBvciA8Y29kZT4iPC9jb2RlPiBkZWxpbWl0ZXJzKQorYXMgdGhlIDx0ZXJtPmF0dHJpYnV0ZSB2YWx1ZTwvdGVybT4uPC90ZXJtZGVmPgorPC9wPgorPHdmY25vdGUgaWQ9InVuaXFhdHRzcGVjIj4KKzxoZWFkPlVuaXF1ZSBBdHQgU3BlYzwvaGVhZD4KKzxwPgorTm8gYXR0cmlidXRlIG5hbWUgbWF5IGFwcGVhciBtb3JlIHRoYW4gb25jZSBpbiB0aGUgc2FtZSBzdGFydC10YWcKK29yIGVtcHR5LWVsZW1lbnQgdGFnLgorPC9wPgorPC93ZmNub3RlPgorPHZjbm90ZSBpZD0iVmFsdWVUeXBlIj4KKzxoZWFkPkF0dHJpYnV0ZSBWYWx1ZSBUeXBlPC9oZWFkPgorPHA+CitUaGUgYXR0cmlidXRlIG11c3QgaGF2ZSBiZWVuIGRlY2xhcmVkOyB0aGUgdmFsdWUgbXVzdCBiZSBvZiB0aGUgdHlwZSAKK2RlY2xhcmVkIGZvciBpdC4KKyhGb3IgYXR0cmlidXRlIHR5cGVzLCBzZWUgPHNwZWNyZWYgcmVmPSJhdHRkZWNscyIvPi4pCis8L3A+Cis8L3Zjbm90ZT4KKzx3ZmNub3RlIGlkPSJOb0V4dGVybmFsUmVmcyI+Cis8aGVhZD5ObyBFeHRlcm5hbCBFbnRpdHkgUmVmZXJlbmNlczwvaGVhZD4KKzxwPgorQXR0cmlidXRlIHZhbHVlcyBjYW5ub3QgY29udGFpbiBkaXJlY3Qgb3IgaW5kaXJlY3QgZW50aXR5IHJlZmVyZW5jZXMgCit0byBleHRlcm5hbCBlbnRpdGllcy4KKzwvcD4KKzwvd2Zjbm90ZT4KKzx3ZmNub3RlIGlkPSJDbGVhbkF0dHJWYWxzIj4KKzxoZWFkPk5vIDxjb2RlPiZsdDs8L2NvZGU+IGluIEF0dHJpYnV0ZSBWYWx1ZXM8L2hlYWQ+Cis8cD5UaGUgPHRlcm1yZWYgZGVmPSJkdC1yZXBsdGV4dCI+cmVwbGFjZW1lbnQgdGV4dDwvdGVybXJlZj4gb2YgYW55IGVudGl0eQorcmVmZXJyZWQgdG8gZGlyZWN0bHkgb3IgaW5kaXJlY3RseSBpbiBhbiBhdHRyaWJ1dGUKK3ZhbHVlIChvdGhlciB0aGFuICI8Y29kZT4mYW1wO2x0OzwvY29kZT4iKSBtdXN0IG5vdCBjb250YWluCithIDxjb2RlPiZsdDs8L2NvZGU+LgorPC9wPjwvd2Zjbm90ZT4KKzxwPkFuIGV4YW1wbGUgb2YgYSBzdGFydC10YWc6Cis8ZWc+Jmx0O3Rlcm1kZWYgaWQ9ImR0LWRvZyIgdGVybT0iZG9nIiZndDs8L2VnPjwvcD4KKzxwPjx0ZXJtZGVmIGlkPSJkdC1ldGFnIiB0ZXJtPSJFbmQgVGFnIj5UaGUgZW5kIG9mIGV2ZXJ5IGVsZW1lbnQgCit0aGF0IGJlZ2lucyB3aXRoIGEgc3RhcnQtdGFnIG11c3QKK2JlIG1hcmtlZCBieSBhbiA8dGVybT5lbmQtdGFnPC90ZXJtPgorY29udGFpbmluZyBhIG5hbWUgdGhhdCBlY2hvZXMgdGhlIGVsZW1lbnQncyB0eXBlIGFzIGdpdmVuIGluIHRoZQorc3RhcnQtdGFnOgorPHNjcmFwIGxhbmc9ImVibmYiPgorPGhlYWQ+RW5kLXRhZzwvaGVhZD4KKzxwcm9kZ3JvdXAgcGN3Mj0iNiIgcGN3ND0iMTUiIHBjdzU9IjExLjUiPgorPHByb2QgaWQ9Ik5ULUVUYWciPjxsaHM+RVRhZzwvbGhzPgorPHJocz4nJmx0Oy8nIDxudCBkZWY9Ik5ULU5hbWUiPk5hbWU8L250PiAKKzxudCBkZWY9Ik5ULVMiPlM8L250Pj8gJyZndDsnPC9yaHM+PC9wcm9kPgorPC9wcm9kZ3JvdXA+Cis8L3NjcmFwPgorPC90ZXJtZGVmPjwvcD4KKzxwPkFuIGV4YW1wbGUgb2YgYW4gZW5kLXRhZzo8ZWc+Jmx0Oy90ZXJtZGVmJmd0OzwvZWc+PC9wPgorPHA+PHRlcm1kZWYgaWQ9ImR0LWNvbnRlbnQiIHRlcm09IkNvbnRlbnQiPlRoZSAKKzx0ZXJtcmVmIGRlZj0iZHQtdGV4dCI+dGV4dDwvdGVybXJlZj4gYmV0d2VlbiB0aGUgc3RhcnQtdGFnIGFuZAorZW5kLXRhZyBpcyBjYWxsZWQgdGhlIGVsZW1lbnQncworPHRlcm0+Y29udGVudDwvdGVybT46Cis8c2NyYXAgbGFuZz0iZWJuZiI+Cis8aGVhZD5Db250ZW50IG9mIEVsZW1lbnRzPC9oZWFkPgorPHByb2Rncm91cCBwY3cyPSI2IiBwY3c0PSIxNSIgcGN3NT0iMTEuNSI+Cis8cHJvZCBpZD0iTlQtY29udGVudCI+PGxocz5jb250ZW50PC9saHM+Cis8cmhzPig8bnQgZGVmPSJOVC1lbGVtZW50Ij5lbGVtZW50PC9udD4gfCA8bnQgZGVmPSJOVC1DaGFyRGF0YSI+Q2hhckRhdGE8L250PiAKK3wgPG50IGRlZj0iTlQtUmVmZXJlbmNlIj5SZWZlcmVuY2U8L250PiB8IDxudCBkZWY9Ik5ULUNEU2VjdCI+Q0RTZWN0PC9udD4gCit8IDxudCBkZWY9Ik5ULVBJIj5QSTwvbnQ+IHwgPG50IGRlZj0iTlQtQ29tbWVudCI+Q29tbWVudDwvbnQ+KSo8L3Jocz4KKzwvcHJvZD4KKzwvcHJvZGdyb3VwPgorPC9zY3JhcD4KKzwvdGVybWRlZj48L3A+Cis8cD48dGVybWRlZiBpZD0iZHQtZW1wdHkiIHRlcm09IkVtcHR5Ij5JZiBhbiBlbGVtZW50IGlzIDx0ZXJtPmVtcHR5PC90ZXJtPiwKK2l0IG11c3QgYmUgcmVwcmVzZW50ZWQgZWl0aGVyIGJ5IGEgc3RhcnQtdGFnIGltbWVkaWF0ZWx5IGZvbGxvd2VkCitieSBhbiBlbmQtdGFnIG9yIGJ5IGFuIGVtcHR5LWVsZW1lbnQgdGFnLjwvdGVybWRlZj4KKzx0ZXJtZGVmIGlkPSJkdC1lZXRhZyIgdGVybT0iZW1wdHktZWxlbWVudCB0YWciPkFuIAorPHRlcm0+ZW1wdHktZWxlbWVudCB0YWc8L3Rlcm0+IHRha2VzIGEgc3BlY2lhbCBmb3JtOgorPHNjcmFwIGxhbmc9ImVibmYiPgorPGhlYWQ+VGFncyBmb3IgRW1wdHkgRWxlbWVudHM8L2hlYWQ+Cis8cHJvZGdyb3VwIHBjdzI9IjYiIHBjdzQ9IjE1IiBwY3c1PSIxMS41Ij4KKzxwcm9kIGlkPSJOVC1FbXB0eUVsZW1UYWciPjxsaHM+RW1wdHlFbGVtVGFnPC9saHM+Cis8cmhzPicmbHQ7JyA8bnQgZGVmPSJOVC1OYW1lIj5OYW1lPC9udD4gKDxudCBkZWY9Ik5ULVMiPlM8L250PiAKKzxudCBkZWY9Ik5ULUF0dHJpYnV0ZSI+QXR0cmlidXRlPC9udD4pKiA8bnQgZGVmPSJOVC1TIj5TPC9udD4/IAorJy8mZ3Q7JzwvcmhzPgorPHdmYyBkZWY9InVuaXFhdHRzcGVjIi8+Cis8L3Byb2Q+Cis8L3Byb2Rncm91cD4KKzwvc2NyYXA+Cis8L3Rlcm1kZWY+PC9wPgorPHA+RW1wdHktZWxlbWVudCB0YWdzIG1heSBiZSB1c2VkIGZvciBhbnkgZWxlbWVudCB3aGljaCBoYXMgbm8KK2NvbnRlbnQsIHdoZXRoZXIgb3Igbm90IGl0IGlzIGRlY2xhcmVkIHVzaW5nIHRoZSBrZXl3b3JkCis8a3c+RU1QVFk8L2t3Pi4KKzx0ZXJtcmVmIGRlZj0iZHQtaW50ZXJvcCI+Rm9yIGludGVyb3BlcmFiaWxpdHk8L3Rlcm1yZWY+LCB0aGUgZW1wdHktZWxlbWVudAordGFnIG11c3QgYmUgdXNlZCwgYW5kIGNhbiBvbmx5IGJlIHVzZWQsIGZvciBlbGVtZW50cyB3aGljaCBhcmUKKzx0ZXJtcmVmIGRlZj0iZHQtZWxkZWNsIj5kZWNsYXJlZDwvdGVybXJlZj4gPGt3PkVNUFRZPC9rdz4uPC9wPgorPHA+RXhhbXBsZXMgb2YgZW1wdHkgZWxlbWVudHM6Cis8ZWc+Jmx0O0lNRyBhbGlnbj0ibGVmdCIKKyBzcmM9Imh0dHA6Ly93d3cudzMub3JnL0ljb25zL1dXVy93M2NfaG9tZSIgLyZndDsKKyZsdDticiZndDsmbHQ7L2JyJmd0OworJmx0O2JyLyZndDs8L2VnPjwvcD4KKzwvZGl2Mj4KKyAKKzxkaXYyIGlkPSJlbGVtZGVjbHMiPgorPGhlYWQ+RWxlbWVudCBUeXBlIERlY2xhcmF0aW9uczwvaGVhZD4KKyAKKzxwPlRoZSA8dGVybXJlZiBkZWY9ImR0LWVsZW1lbnQiPmVsZW1lbnQ8L3Rlcm1yZWY+IHN0cnVjdHVyZSBvZiBhbgorPHRlcm1yZWYgZGVmPSJkdC14bWwtZG9jIj5YTUwgZG9jdW1lbnQ8L3Rlcm1yZWY+IG1heSwgZm9yIAorPHRlcm1yZWYgZGVmPSJkdC12YWxpZCI+dmFsaWRhdGlvbjwvdGVybXJlZj4gcHVycG9zZXMsIAorYmUgY29uc3RyYWluZWQKK3VzaW5nIGVsZW1lbnQgdHlwZSBhbmQgYXR0cmlidXRlLWxpc3QgZGVjbGFyYXRpb25zLgorQW4gZWxlbWVudCB0eXBlIGRlY2xhcmF0aW9uIGNvbnN0cmFpbnMgdGhlIGVsZW1lbnQncworPHRlcm1yZWYgZGVmPSJkdC1jb250ZW50Ij5jb250ZW50PC90ZXJtcmVmPi4KKzwvcD4KKworPHA+RWxlbWVudCB0eXBlIGRlY2xhcmF0aW9ucyBvZnRlbiBjb25zdHJhaW4gd2hpY2ggZWxlbWVudCB0eXBlcyBjYW4KK2FwcGVhciBhcyA8dGVybXJlZiBkZWY9ImR0LXBhcmVudGNoaWxkIj5jaGlsZHJlbjwvdGVybXJlZj4gb2YgdGhlIGVsZW1lbnQuCitBdCB1c2VyIG9wdGlvbiwgYW4gWE1MIHByb2Nlc3NvciBtYXkgaXNzdWUgYSB3YXJuaW5nCit3aGVuIGEgZGVjbGFyYXRpb24gbWVudGlvbnMgYW4gZWxlbWVudCB0eXBlIGZvciB3aGljaCBubyBkZWNsYXJhdGlvbgoraXMgcHJvdmlkZWQsIGJ1dCB0aGlzIGlzIG5vdCBhbiBlcnJvci48L3A+Cis8cD48dGVybWRlZiBpZD0iZHQtZWxkZWNsIiB0ZXJtPSJFbGVtZW50IFR5cGUgZGVjbGFyYXRpb24iPkFuIDx0ZXJtPmVsZW1lbnQKK3R5cGUgZGVjbGFyYXRpb248L3Rlcm0+IHRha2VzIHRoZSBmb3JtOgorPHNjcmFwIGxhbmc9ImVibmYiPgorPGhlYWQ+RWxlbWVudCBUeXBlIERlY2xhcmF0aW9uPC9oZWFkPgorPHByb2Rncm91cCBwY3cyPSI1LjUiIHBjdzQ9IjE4IiBwY3c1PSI5Ij4KKzxwcm9kIGlkPSJOVC1lbGVtZW50ZGVjbCI+PGxocz5lbGVtZW50ZGVjbDwvbGhzPgorPHJocz4nJmx0OyFFTEVNRU5UJyA8bnQgZGVmPSJOVC1TIj5TPC9udD4gCis8bnQgZGVmPSJOVC1OYW1lIj5OYW1lPC9udD4gCis8bnQgZGVmPSJOVC1TIj5TPC9udD4gCis8bnQgZGVmPSJOVC1jb250ZW50c3BlYyI+Y29udGVudHNwZWM8L250PgorPG50IGRlZj0iTlQtUyI+UzwvbnQ+PyAnJmd0Oyc8L3Jocz4KKzx2YyBkZWY9IkVEVW5pcXVlIi8+PC9wcm9kPgorPHByb2QgaWQ9Ik5ULWNvbnRlbnRzcGVjIj48bGhzPmNvbnRlbnRzcGVjPC9saHM+Cis8cmhzPidFTVBUWScgCit8ICdBTlknIAorfCA8bnQgZGVmPSJOVC1NaXhlZCI+TWl4ZWQ8L250PiAKK3wgPG50IGRlZj0iTlQtY2hpbGRyZW4iPmNoaWxkcmVuPC9udD4KKzwvcmhzPgorPC9wcm9kPgorPC9wcm9kZ3JvdXA+Cis8L3NjcmFwPgord2hlcmUgdGhlIDxudCBkZWY9Ik5ULU5hbWUiPk5hbWU8L250PiBnaXZlcyB0aGUgZWxlbWVudCB0eXBlIAorYmVpbmcgZGVjbGFyZWQuPC90ZXJtZGVmPgorPC9wPgorCis8dmNub3RlIGlkPSJFRFVuaXF1ZSI+Cis8aGVhZD5VbmlxdWUgRWxlbWVudCBUeXBlIERlY2xhcmF0aW9uPC9oZWFkPgorPHA+CitObyBlbGVtZW50IHR5cGUgbWF5IGJlIGRlY2xhcmVkIG1vcmUgdGhhbiBvbmNlLgorPC9wPgorPC92Y25vdGU+CisKKzxwPkV4YW1wbGVzIG9mIGVsZW1lbnQgdHlwZSBkZWNsYXJhdGlvbnM6Cis8ZWc+Jmx0OyFFTEVNRU5UIGJyIEVNUFRZJmd0OworJmx0OyFFTEVNRU5UIHAgKCNQQ0RBVEF8ZW1waCkqICZndDsKKyZsdDshRUxFTUVOVCAlbmFtZS5wYXJhOyAlY29udGVudC5wYXJhOyAmZ3Q7CismbHQ7IUVMRU1FTlQgY29udGFpbmVyIEFOWSZndDs8L2VnPjwvcD4KKyAKKzxkaXYzIGlkPSJzZWMtZWxlbWVudC1jb250ZW50Ij4KKzxoZWFkPkVsZW1lbnQgQ29udGVudDwvaGVhZD4KKyAKKzxwPjx0ZXJtZGVmIGlkPSJkdC1lbGVtY29udGVudCIgdGVybT0iRWxlbWVudCBjb250ZW50Ij5BbiBlbGVtZW50IDx0ZXJtcmVmIGRlZj0iZHQtc3RhZyI+dHlwZTwvdGVybXJlZj4gaGFzCis8dGVybT5lbGVtZW50IGNvbnRlbnQ8L3Rlcm0+IHdoZW4gZWxlbWVudHMgb2YgdGhhdAordHlwZSBtdXN0IGNvbnRhaW4gb25seSA8dGVybXJlZiBkZWY9ImR0LXBhcmVudGNoaWxkIj5jaGlsZDwvdGVybXJlZj4gCitlbGVtZW50cyAobm8gY2hhcmFjdGVyIGRhdGEpLCBvcHRpb25hbGx5IHNlcGFyYXRlZCBieSAKK3doaXRlIHNwYWNlIChjaGFyYWN0ZXJzIG1hdGNoaW5nIHRoZSBub250ZXJtaW5hbCAKKzxudCBkZWY9Ik5ULVMiPlM8L250PikuCis8L3Rlcm1kZWY+CitJbiB0aGlzIGNhc2UsIHRoZQorY29uc3RyYWludCBpbmNsdWRlcyBhIGNvbnRlbnQgbW9kZWwsIGEgc2ltcGxlIGdyYW1tYXIgZ292ZXJuaW5nCit0aGUgYWxsb3dlZCB0eXBlcyBvZiB0aGUgY2hpbGQKK2VsZW1lbnRzIGFuZCB0aGUgb3JkZXIgaW4gd2hpY2ggdGhleSBhcmUgYWxsb3dlZCB0byBhcHBlYXIuICAKK1RoZSBncmFtbWFyIGlzIGJ1aWx0IG9uCitjb250ZW50IHBhcnRpY2xlcyAoPG50IGRlZj0iTlQtY3AiPmNwPC9udD5zKSwgd2hpY2ggY29uc2lzdCBvZiBuYW1lcywgCitjaG9pY2UgbGlzdHMgb2YgY29udGVudCBwYXJ0aWNsZXMsIG9yCitzZXF1ZW5jZSBsaXN0cyBvZiBjb250ZW50IHBhcnRpY2xlczoKKzxzY3JhcCBsYW5nPSJlYm5mIj4KKzxoZWFkPkVsZW1lbnQtY29udGVudCBNb2RlbHM8L2hlYWQ+Cis8cHJvZGdyb3VwIHBjdzI9IjUuNSIgcGN3ND0iMTYiIHBjdzU9IjExIj4KKzxwcm9kIGlkPSJOVC1jaGlsZHJlbiI+PGxocz5jaGlsZHJlbjwvbGhzPgorPHJocz4oPG50IGRlZj0iTlQtY2hvaWNlIj5jaG9pY2U8L250PiAKK3wgPG50IGRlZj0iTlQtc2VxIj5zZXE8L250PikgCisoJz8nIHwgJyonIHwgJysnKT88L3Jocz48L3Byb2Q+Cis8cHJvZCBpZD0iTlQtY3AiPjxsaHM+Y3A8L2xocz4KKzxyaHM+KDxudCBkZWY9Ik5ULU5hbWUiPk5hbWU8L250PiAKK3wgPG50IGRlZj0iTlQtY2hvaWNlIj5jaG9pY2U8L250PiAKK3wgPG50IGRlZj0iTlQtc2VxIj5zZXE8L250PikgCisoJz8nIHwgJyonIHwgJysnKT88L3Jocz48L3Byb2Q+Cis8cHJvZCBpZD0iTlQtY2hvaWNlIj48bGhzPmNob2ljZTwvbGhzPgorPHJocz4nKCcgPG50IGRlZj0iTlQtUyI+UzwvbnQ+PyBjcCAKKyggPG50IGRlZj0iTlQtUyI+UzwvbnQ+PyAnfCcgPG50IGRlZj0iTlQtUyI+UzwvbnQ+PyA8bnQgZGVmPSJOVC1jcCI+Y3A8L250PiApKgorPG50IGRlZj0iTlQtUyI+UzwvbnQ+PyAnKSc8L3Jocz4KKzx2YyBkZWY9InZjLVBFaW5Hcm91cCIvPjwvcHJvZD4KKzxwcm9kIGlkPSJOVC1zZXEiPjxsaHM+c2VxPC9saHM+Cis8cmhzPicoJyA8bnQgZGVmPSJOVC1TIj5TPC9udD4/IGNwIAorKCA8bnQgZGVmPSJOVC1TIj5TPC9udD4/ICcsJyA8bnQgZGVmPSJOVC1TIj5TPC9udD4/IDxudCBkZWY9Ik5ULWNwIj5jcDwvbnQ+ICkqCis8bnQgZGVmPSJOVC1TIj5TPC9udD4/ICcpJzwvcmhzPgorPHZjIGRlZj0idmMtUEVpbkdyb3VwIi8+PC9wcm9kPgorCis8L3Byb2Rncm91cD4KKzwvc2NyYXA+Cit3aGVyZSBlYWNoIDxudCBkZWY9Ik5ULU5hbWUiPk5hbWU8L250PiBpcyB0aGUgdHlwZSBvZiBhbiBlbGVtZW50IHdoaWNoIG1heQorYXBwZWFyIGFzIGEgPHRlcm1yZWYgZGVmPSJkdC1wYXJlbnRjaGlsZCI+Y2hpbGQ8L3Rlcm1yZWY+LiAgCitBbnkgY29udGVudAorcGFydGljbGUgaW4gYSBjaG9pY2UgbGlzdCBtYXkgYXBwZWFyIGluIHRoZSA8dGVybXJlZiBkZWY9ImR0LWVsZW1jb250ZW50Ij5lbGVtZW50IGNvbnRlbnQ8L3Rlcm1yZWY+IGF0IHRoZSBsb2NhdGlvbiB3aGVyZQordGhlIGNob2ljZSBsaXN0IGFwcGVhcnMgaW4gdGhlIGdyYW1tYXI7Citjb250ZW50IHBhcnRpY2xlcyBvY2N1cnJpbmcgaW4gYSBzZXF1ZW5jZSBsaXN0IG11c3QgZWFjaAorYXBwZWFyIGluIHRoZSA8dGVybXJlZiBkZWY9ImR0LWVsZW1jb250ZW50Ij5lbGVtZW50IGNvbnRlbnQ8L3Rlcm1yZWY+IGluIHRoZQorb3JkZXIgZ2l2ZW4gaW4gdGhlIGxpc3QuICAKK1RoZSBvcHRpb25hbCBjaGFyYWN0ZXIgZm9sbG93aW5nIGEgbmFtZSBvciBsaXN0IGdvdmVybnMKK3doZXRoZXIgdGhlIGVsZW1lbnQgb3IgdGhlIGNvbnRlbnQgcGFydGljbGVzIGluIHRoZSBsaXN0IG1heSBvY2N1ciBvbmUKK29yIG1vcmUgKDxjb2RlPis8L2NvZGU+KSwgemVybyBvciBtb3JlICg8Y29kZT4qPC9jb2RlPiksIG9yIHplcm8gb3IgCitvbmUgdGltZXMgKDxjb2RlPj88L2NvZGU+KS4gIAorVGhlIGFic2VuY2Ugb2Ygc3VjaCBhbiBvcGVyYXRvciBtZWFucyB0aGF0IHRoZSBlbGVtZW50IG9yIGNvbnRlbnQgcGFydGljbGUKK211c3QgYXBwZWFyIGV4YWN0bHkgb25jZS4KK1RoaXMgc3ludGF4CithbmQgbWVhbmluZyBhcmUgaWRlbnRpY2FsIHRvIHRob3NlIHVzZWQgaW4gdGhlIHByb2R1Y3Rpb25zIGluIHRoaXMKK3NwZWNpZmljYXRpb24uPC9wPgorPHA+CitUaGUgY29udGVudCBvZiBhbiBlbGVtZW50IG1hdGNoZXMgYSBjb250ZW50IG1vZGVsIGlmIGFuZCBvbmx5IGlmIGl0IGlzCitwb3NzaWJsZSB0byB0cmFjZSBvdXQgYSBwYXRoIHRocm91Z2ggdGhlIGNvbnRlbnQgbW9kZWwsIG9iZXlpbmcgdGhlCitzZXF1ZW5jZSwgY2hvaWNlLCBhbmQgcmVwZXRpdGlvbiBvcGVyYXRvcnMgYW5kIG1hdGNoaW5nIGVhY2ggZWxlbWVudCBpbgordGhlIGNvbnRlbnQgYWdhaW5zdCBhbiBlbGVtZW50IHR5cGUgaW4gdGhlIGNvbnRlbnQgbW9kZWwuICA8dGVybXJlZiBkZWY9ImR0LWNvbXBhdCI+Rm9yIGNvbXBhdGliaWxpdHk8L3Rlcm1yZWY+LCBpdCBpcyBhbiBlcnJvcgoraWYgYW4gZWxlbWVudCBpbiB0aGUgZG9jdW1lbnQgY2FuCittYXRjaCBtb3JlIHRoYW4gb25lIG9jY3VycmVuY2Ugb2YgYW4gZWxlbWVudCB0eXBlIGluIHRoZSBjb250ZW50IG1vZGVsLgorRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSA8c3BlY3JlZiByZWY9ImRldGVybWluaXNtIi8+LgorPCEtLSBhcHBlbmRpeCA8c3BlY3JlZiByZWY9ImRldGVybWluaXNtIi8+LiAtLT4KKzwhLS0gYXBwZW5kaXggb24gZGV0ZXJtaW5pc3RpYyBjb250ZW50IG1vZGVscy4gLS0+Cis8L3A+Cis8dmNub3RlIGlkPSJ2Yy1QRWluR3JvdXAiPgorPGhlYWQ+UHJvcGVyIEdyb3VwL1BFIE5lc3Rpbmc8L2hlYWQ+Cis8cD5QYXJhbWV0ZXItZW50aXR5IAorPHRlcm1yZWYgZGVmPSJkdC1yZXBsdGV4dCI+cmVwbGFjZW1lbnQgdGV4dDwvdGVybXJlZj4gbXVzdCBiZSBwcm9wZXJseSBuZXN0ZWQKK3dpdGggcGFyZW50aGV0aXplZCBncm91cHMuCitUaGF0IGlzIHRvIHNheSwgaWYgZWl0aGVyIG9mIHRoZSBvcGVuaW5nIG9yIGNsb3NpbmcgcGFyZW50aGVzZXMKK2luIGEgPG50IGRlZj0iTlQtY2hvaWNlIj5jaG9pY2U8L250PiwgPG50IGRlZj0iTlQtc2VxIj5zZXE8L250Piwgb3IKKzxudCBkZWY9Ik5ULU1peGVkIj5NaXhlZDwvbnQ+IGNvbnN0cnVjdCAKK2lzIGNvbnRhaW5lZCBpbiB0aGUgcmVwbGFjZW1lbnQgdGV4dCBmb3IgYSAKKzx0ZXJtcmVmIGRlZj0iZHQtUEVSZWYiPnBhcmFtZXRlciBlbnRpdHk8L3Rlcm1yZWY+LAorYm90aCBtdXN0IGJlIGNvbnRhaW5lZCBpbiB0aGUgc2FtZSByZXBsYWNlbWVudCB0ZXh0LjwvcD4KKzxwPjx0ZXJtcmVmIGRlZj0iZHQtaW50ZXJvcCI+Rm9yIGludGVyb3BlcmFiaWxpdHk8L3Rlcm1yZWY+LCAKK2lmIGEgcGFyYW1ldGVyLWVudGl0eSByZWZlcmVuY2UgYXBwZWFycyBpbiBhIAorPG50IGRlZj0iTlQtY2hvaWNlIj5jaG9pY2U8L250PiwgPG50IGRlZj0iTlQtc2VxIj5zZXE8L250Piwgb3IKKzxudCBkZWY9Ik5ULU1peGVkIj5NaXhlZDwvbnQ+IGNvbnN0cnVjdCwgaXRzIHJlcGxhY2VtZW50IHRleHQKK3Nob3VsZCBub3QgYmUgZW1wdHksIGFuZCAKK25laXRoZXIgdGhlIGZpcnN0IG5vciBsYXN0IG5vbi1ibGFuaworY2hhcmFjdGVyIG9mIHRoZSByZXBsYWNlbWVudCB0ZXh0IHNob3VsZCBiZSBhIGNvbm5lY3RvciAKKyg8Y29kZT58PC9jb2RlPiBvciA8Y29kZT4sPC9jb2RlPikuCis8L3A+Cis8L3Zjbm90ZT4KKzxwPkV4YW1wbGVzIG9mIGVsZW1lbnQtY29udGVudCBtb2RlbHM6Cis8ZWc+Jmx0OyFFTEVNRU5UIHNwZWMgKGZyb250LCBib2R5LCBiYWNrPykmZ3Q7CismbHQ7IUVMRU1FTlQgZGl2MSAoaGVhZCwgKHAgfCBsaXN0IHwgbm90ZSkqLCBkaXYyKikmZ3Q7CismbHQ7IUVMRU1FTlQgZGljdGlvbmFyeS1ib2R5ICglZGl2Lm1peDsgfCAlZGljdC5taXg7KSomZ3Q7PC9lZz48L3A+Cis8L2RpdjM+CisKKzxkaXYzIGlkPSJzZWMtbWl4ZWQtY29udGVudCI+Cis8aGVhZD5NaXhlZCBDb250ZW50PC9oZWFkPgorIAorPHA+PHRlcm1kZWYgaWQ9ImR0LW1peGVkIiB0ZXJtPSJNaXhlZCBDb250ZW50Ij5BbiBlbGVtZW50IAorPHRlcm1yZWYgZGVmPSJkdC1zdGFnIj50eXBlPC90ZXJtcmVmPiBoYXMgCis8dGVybT5taXhlZCBjb250ZW50PC90ZXJtPiB3aGVuIGVsZW1lbnRzIG9mIHRoYXQgdHlwZSBtYXkgY29udGFpbgorY2hhcmFjdGVyIGRhdGEsIG9wdGlvbmFsbHkgaW50ZXJzcGVyc2VkIHdpdGgKKzx0ZXJtcmVmIGRlZj0iZHQtcGFyZW50Y2hpbGQiPmNoaWxkPC90ZXJtcmVmPiBlbGVtZW50cy48L3Rlcm1kZWY+CitJbiB0aGlzIGNhc2UsIHRoZSB0eXBlcyBvZiB0aGUgY2hpbGQgZWxlbWVudHMKK21heSBiZSBjb25zdHJhaW5lZCwgYnV0IG5vdCB0aGVpciBvcmRlciBvciB0aGVpciBudW1iZXIgb2Ygb2NjdXJyZW5jZXM6Cis8c2NyYXAgbGFuZz0iZWJuZiI+Cis8aGVhZD5NaXhlZC1jb250ZW50IERlY2xhcmF0aW9uPC9oZWFkPgorPHByb2Rncm91cCBwY3cyPSI1LjUiIHBjdzQ9IjE2IiBwY3c1PSIxMSI+Cis8cHJvZCBpZD0iTlQtTWl4ZWQiPjxsaHM+TWl4ZWQ8L2xocz4KKzxyaHM+JygnIDxudCBkZWY9Ik5ULVMiPlM8L250Pj8gCisnI1BDREFUQScKKyg8bnQgZGVmPSJOVC1TIj5TPC9udD4/IAorJ3wnIAorPG50IGRlZj0iTlQtUyI+UzwvbnQ+PyAKKzxudCBkZWY9Ik5ULU5hbWUiPk5hbWU8L250PikqIAorPG50IGRlZj0iTlQtUyI+UzwvbnQ+PyAKKycpKicgPC9yaHM+Cis8cmhzPnwgJygnIDxudCBkZWY9Ik5ULVMiPlM8L250Pj8gJyNQQ0RBVEEnIDxudCBkZWY9Ik5ULVMiPlM8L250Pj8gJyknCis8L3Jocz48dmMgZGVmPSJ2Yy1QRWluR3JvdXAiLz4KKzx2YyBkZWY9InZjLU1peGVkQ2hpbGRyZW5VbmlxdWUiLz4KKzwvcHJvZD4KKworPC9wcm9kZ3JvdXA+Cis8L3NjcmFwPgord2hlcmUgdGhlIDxudCBkZWY9Ik5ULU5hbWUiPk5hbWU8L250PnMgZ2l2ZSB0aGUgdHlwZXMgb2YgZWxlbWVudHMKK3RoYXQgbWF5IGFwcGVhciBhcyBjaGlsZHJlbi4KKzwvcD4KKzx2Y25vdGUgaWQ9InZjLU1peGVkQ2hpbGRyZW5VbmlxdWUiPgorPGhlYWQ+Tm8gRHVwbGljYXRlIFR5cGVzPC9oZWFkPgorPHA+VGhlIHNhbWUgbmFtZSBtdXN0IG5vdCBhcHBlYXIgbW9yZSB0aGFuIG9uY2UgaW4gYSBzaW5nbGUgbWl4ZWQtY29udGVudAorZGVjbGFyYXRpb24uCis8L3A+PC92Y25vdGU+Cis8cD5FeGFtcGxlcyBvZiBtaXhlZCBjb250ZW50IGRlY2xhcmF0aW9uczoKKzxlZz4mbHQ7IUVMRU1FTlQgcCAoI1BDREFUQXxhfHVsfGJ8aXxlbSkqJmd0OworJmx0OyFFTEVNRU5UIHAgKCNQQ0RBVEEgfCAlZm9udDsgfCAlcGhyYXNlOyB8ICVzcGVjaWFsOyB8ICVmb3JtOykqICZndDsKKyZsdDshRUxFTUVOVCBiICgjUENEQVRBKSZndDs8L2VnPjwvcD4KKzwvZGl2Mz4KKzwvZGl2Mj4KKyAKKzxkaXYyIGlkPSJhdHRkZWNscyI+Cis8aGVhZD5BdHRyaWJ1dGUtTGlzdCBEZWNsYXJhdGlvbnM8L2hlYWQ+CisgCis8cD48dGVybXJlZiBkZWY9ImR0LWF0dHIiPkF0dHJpYnV0ZXM8L3Rlcm1yZWY+IGFyZSB1c2VkIHRvIGFzc29jaWF0ZQorbmFtZS12YWx1ZSBwYWlycyB3aXRoIDx0ZXJtcmVmIGRlZj0iZHQtZWxlbWVudCI+ZWxlbWVudHM8L3Rlcm1yZWY+LgorQXR0cmlidXRlIHNwZWNpZmljYXRpb25zIG1heSBhcHBlYXIgb25seSB3aXRoaW4gPHRlcm1yZWYgZGVmPSJkdC1zdGFnIj5zdGFydC10YWdzPC90ZXJtcmVmPgorYW5kIDx0ZXJtcmVmIGRlZj0iZHQtZWV0YWciPmVtcHR5LWVsZW1lbnQgdGFnczwvdGVybXJlZj47IAordGh1cywgdGhlIHByb2R1Y3Rpb25zIHVzZWQgdG8KK3JlY29nbml6ZSB0aGVtIGFwcGVhciBpbiA8c3BlY3JlZiByZWY9InNlYy1zdGFydHRhZ3MiLz4uICAKK0F0dHJpYnV0ZS1saXN0CitkZWNsYXJhdGlvbnMgbWF5IGJlIHVzZWQ6Cis8dWxpc3Q+Cis8aXRlbT48cD5UbyBkZWZpbmUgdGhlIHNldCBvZiBhdHRyaWJ1dGVzIHBlcnRhaW5pbmcgdG8gYSBnaXZlbgorZWxlbWVudCB0eXBlLjwvcD48L2l0ZW0+Cis8aXRlbT48cD5UbyBlc3RhYmxpc2ggdHlwZSBjb25zdHJhaW50cyBmb3IgdGhlc2UKK2F0dHJpYnV0ZXMuPC9wPjwvaXRlbT4KKzxpdGVtPjxwPlRvIHByb3ZpZGUgPHRlcm1yZWYgZGVmPSJkdC1kZWZhdWx0Ij5kZWZhdWx0IHZhbHVlczwvdGVybXJlZj4KK2ZvciBhdHRyaWJ1dGVzLjwvcD48L2l0ZW0+Cis8L3VsaXN0PgorPC9wPgorPHA+PHRlcm1kZWYgaWQ9ImR0LWF0dGRlY2wiIHRlcm09IkF0dHJpYnV0ZS1MaXN0IERlY2xhcmF0aW9uIj4KKzx0ZXJtPkF0dHJpYnV0ZS1saXN0IGRlY2xhcmF0aW9uczwvdGVybT4gc3BlY2lmeSB0aGUgbmFtZSwgZGF0YSB0eXBlLCBhbmQgZGVmYXVsdAordmFsdWUgKGlmIGFueSkgb2YgZWFjaCBhdHRyaWJ1dGUgYXNzb2NpYXRlZCB3aXRoIGEgZ2l2ZW4gZWxlbWVudCB0eXBlOgorPHNjcmFwIGxhbmc9ImVibmYiPgorPGhlYWQ+QXR0cmlidXRlLWxpc3QgRGVjbGFyYXRpb248L2hlYWQ+Cis8cHJvZCBpZD0iTlQtQXR0bGlzdERlY2wiPjxsaHM+QXR0bGlzdERlY2w8L2xocz4KKzxyaHM+JyZsdDshQVRUTElTVCcgPG50IGRlZj0iTlQtUyI+UzwvbnQ+IAorPG50IGRlZj0iTlQtTmFtZSI+TmFtZTwvbnQ+IAorPG50IGRlZj0iTlQtQXR0RGVmIj5BdHREZWY8L250PioKKzxudCBkZWY9Ik5ULVMiPlM8L250Pj8gJyZndDsnPC9yaHM+Cis8L3Byb2Q+Cis8cHJvZCBpZD0iTlQtQXR0RGVmIj48bGhzPkF0dERlZjwvbGhzPgorPHJocz48bnQgZGVmPSJOVC1TIj5TPC9udD4gPG50IGRlZj0iTlQtTmFtZSI+TmFtZTwvbnQ+IAorPG50IGRlZj0iTlQtUyI+UzwvbnQ+IDxudCBkZWY9Ik5ULUF0dFR5cGUiPkF0dFR5cGU8L250PiAKKzxudCBkZWY9Ik5ULVMiPlM8L250PiA8bnQgZGVmPSJOVC1EZWZhdWx0RGVjbCI+RGVmYXVsdERlY2w8L250PjwvcmhzPgorPC9wcm9kPgorPC9zY3JhcD4KK1RoZSA8bnQgZGVmPSJOVC1OYW1lIj5OYW1lPC9udD4gaW4gdGhlCis8bnQgZGVmPSJOVC1BdHRsaXN0RGVjbCI+QXR0bGlzdERlY2w8L250PiBydWxlIGlzIHRoZSB0eXBlIG9mIGFuIGVsZW1lbnQuICBBdAordXNlciBvcHRpb24sIGFuIFhNTCBwcm9jZXNzb3IgbWF5IGlzc3VlIGEgd2FybmluZyBpZiBhdHRyaWJ1dGVzIGFyZQorZGVjbGFyZWQgZm9yIGFuIGVsZW1lbnQgdHlwZSBub3QgaXRzZWxmIGRlY2xhcmVkLCBidXQgdGhpcyBpcyBub3QgYW4KK2Vycm9yLiAgVGhlIDxudCBkZWY9Ik5ULU5hbWUiPk5hbWU8L250PiBpbiB0aGUgCis8bnQgZGVmPSJOVC1BdHREZWYiPkF0dERlZjwvbnQ+IHJ1bGUgaXMKK3RoZSBuYW1lIG9mIHRoZSBhdHRyaWJ1dGUuPC90ZXJtZGVmPjwvcD4KKzxwPgorV2hlbiBtb3JlIHRoYW4gb25lIDxudCBkZWY9Ik5ULUF0dGxpc3REZWNsIj5BdHRsaXN0RGVjbDwvbnQ+IGlzIHByb3ZpZGVkIGZvciBhCitnaXZlbiBlbGVtZW50IHR5cGUsIHRoZSBjb250ZW50cyBvZiBhbGwgdGhvc2UgcHJvdmlkZWQgYXJlIG1lcmdlZC4gIFdoZW4KK21vcmUgdGhhbiBvbmUgZGVmaW5pdGlvbiBpcyBwcm92aWRlZCBmb3IgdGhlIHNhbWUgYXR0cmlidXRlIG9mIGEKK2dpdmVuIGVsZW1lbnQgdHlwZSwgdGhlIGZpcnN0IGRlY2xhcmF0aW9uIGlzIGJpbmRpbmcgYW5kIGxhdGVyCitkZWNsYXJhdGlvbnMgYXJlIGlnbm9yZWQuICAKKzx0ZXJtcmVmIGRlZj0iZHQtaW50ZXJvcCI+Rm9yIGludGVyb3BlcmFiaWxpdHksPC90ZXJtcmVmPiB3cml0ZXJzIG9mIERURHMKK21heSBjaG9vc2UgdG8gcHJvdmlkZSBhdCBtb3N0IG9uZSBhdHRyaWJ1dGUtbGlzdCBkZWNsYXJhdGlvbgorZm9yIGEgZ2l2ZW4gZWxlbWVudCB0eXBlLCBhdCBtb3N0IG9uZSBhdHRyaWJ1dGUgZGVmaW5pdGlvbgorZm9yIGEgZ2l2ZW4gYXR0cmlidXRlIG5hbWUsIGFuZCBhdCBsZWFzdCBvbmUgYXR0cmlidXRlIGRlZmluaXRpb24KK2luIGVhY2ggYXR0cmlidXRlLWxpc3QgZGVjbGFyYXRpb24uCitGb3IgaW50ZXJvcGVyYWJpbGl0eSwgYW4gWE1MIHByb2Nlc3NvciBtYXkgYXQgdXNlciBvcHRpb24KK2lzc3VlIGEgd2FybmluZyB3aGVuIG1vcmUgdGhhbiBvbmUgYXR0cmlidXRlLWxpc3QgZGVjbGFyYXRpb24gaXMKK3Byb3ZpZGVkIGZvciBhIGdpdmVuIGVsZW1lbnQgdHlwZSwgb3IgbW9yZSB0aGFuIG9uZSBhdHRyaWJ1dGUgZGVmaW5pdGlvbgoraXMgcHJvdmlkZWQgCitmb3IgYSBnaXZlbiBhdHRyaWJ1dGUsIGJ1dCB0aGlzIGlzIG5vdCBhbiBlcnJvci4KKzwvcD4KKworPGRpdjMgaWQ9InNlYy1hdHRyaWJ1dGUtdHlwZXMiPgorPGhlYWQ+QXR0cmlidXRlIFR5cGVzPC9oZWFkPgorIAorPHA+WE1MIGF0dHJpYnV0ZSB0eXBlcyBhcmUgb2YgdGhyZWUga2luZHM6ICBhIHN0cmluZyB0eXBlLCBhCitzZXQgb2YgdG9rZW5pemVkIHR5cGVzLCBhbmQgZW51bWVyYXRlZCB0eXBlcy4gIFRoZSBzdHJpbmcgdHlwZSBtYXkgdGFrZQorYW55IGxpdGVyYWwgc3RyaW5nIGFzIGEgdmFsdWU7IHRoZSB0b2tlbml6ZWQgdHlwZXMgaGF2ZSB2YXJ5aW5nIGxleGljYWwKK2FuZCBzZW1hbnRpYyBjb25zdHJhaW50cywgYXMgbm90ZWQ6Cis8c2NyYXAgbGFuZz0iZWJuZiI+Cis8aGVhZD5BdHRyaWJ1dGUgVHlwZXM8L2hlYWQ+Cis8cHJvZGdyb3VwIHBjdzQ9IjE0IiBwY3c1PSIxMS41Ij4KKzxwcm9kIGlkPSJOVC1BdHRUeXBlIj48bGhzPkF0dFR5cGU8L2xocz4KKzxyaHM+PG50IGRlZj0iTlQtU3RyaW5nVHlwZSI+U3RyaW5nVHlwZTwvbnQ+IAorfCA8bnQgZGVmPSJOVC1Ub2tlbml6ZWRUeXBlIj5Ub2tlbml6ZWRUeXBlPC9udD4gCit8IDxudCBkZWY9Ik5ULUVudW1lcmF0ZWRUeXBlIj5FbnVtZXJhdGVkVHlwZTwvbnQ+Cis8L3Jocz4KKzwvcHJvZD4KKzxwcm9kIGlkPSJOVC1TdHJpbmdUeXBlIj48bGhzPlN0cmluZ1R5cGU8L2xocz4KKzxyaHM+J0NEQVRBJzwvcmhzPgorPC9wcm9kPgorPHByb2QgaWQ9Ik5ULVRva2VuaXplZFR5cGUiPjxsaHM+VG9rZW5pemVkVHlwZTwvbGhzPgorPHJocz4nSUQnPC9yaHM+Cis8dmMgZGVmPSJpZCIvPgorPHZjIGRlZj0ib25lLWlkLXBlci1lbCIvPgorPHZjIGRlZj0iaWQtZGVmYXVsdCIvPgorPHJocz58ICdJRFJFRic8L3Jocz4KKzx2YyBkZWY9ImlkcmVmIi8+Cis8cmhzPnwgJ0lEUkVGUyc8L3Jocz4KKzx2YyBkZWY9ImlkcmVmIi8+Cis8cmhzPnwgJ0VOVElUWSc8L3Jocz4KKzx2YyBkZWY9ImVudG5hbWUiLz4KKzxyaHM+fCAnRU5USVRJRVMnPC9yaHM+Cis8dmMgZGVmPSJlbnRuYW1lIi8+Cis8cmhzPnwgJ05NVE9LRU4nPC9yaHM+Cis8dmMgZGVmPSJubXRvayIvPgorPHJocz58ICdOTVRPS0VOUyc8L3Jocz4KKzx2YyBkZWY9Im5tdG9rIi8+PC9wcm9kPgorPC9wcm9kZ3JvdXA+Cis8L3NjcmFwPgorPC9wPgorPHZjbm90ZSBpZD0iaWQiPgorPGhlYWQ+SUQ8L2hlYWQ+Cis8cD4KK1ZhbHVlcyBvZiB0eXBlIDxrdz5JRDwva3c+IG11c3QgbWF0Y2ggdGhlIAorPG50IGRlZj0iTlQtTmFtZSI+TmFtZTwvbnQ+IHByb2R1Y3Rpb24uICAKK0EgbmFtZSBtdXN0IG5vdCBhcHBlYXIgbW9yZSB0aGFuIG9uY2UgaW4KK2FuIFhNTCBkb2N1bWVudCBhcyBhIHZhbHVlIG9mIHRoaXMgdHlwZTsgaS5lLiwgSUQgdmFsdWVzIG11c3QgdW5pcXVlbHkKK2lkZW50aWZ5IHRoZSBlbGVtZW50cyB3aGljaCBiZWFyIHRoZW0uICAgCis8L3A+Cis8L3Zjbm90ZT4KKzx2Y25vdGUgaWQ9Im9uZS1pZC1wZXItZWwiPgorPGhlYWQ+T25lIElEIHBlciBFbGVtZW50IFR5cGU8L2hlYWQ+Cis8cD5ObyBlbGVtZW50IHR5cGUgbWF5IGhhdmUgbW9yZSB0aGFuIG9uZSBJRCBhdHRyaWJ1dGUgc3BlY2lmaWVkLjwvcD4KKzwvdmNub3RlPgorPHZjbm90ZSBpZD0iaWQtZGVmYXVsdCI+Cis8aGVhZD5JRCBBdHRyaWJ1dGUgRGVmYXVsdDwvaGVhZD4KKzxwPkFuIElEIGF0dHJpYnV0ZSBtdXN0IGhhdmUgYSBkZWNsYXJlZCBkZWZhdWx0IG9mIDxrdz4jSU1QTElFRDwva3c+IG9yCis8a3c+I1JFUVVJUkVEPC9rdz4uPC9wPgorPC92Y25vdGU+Cis8dmNub3RlIGlkPSJpZHJlZiI+Cis8aGVhZD5JRFJFRjwvaGVhZD4KKzxwPgorVmFsdWVzIG9mIHR5cGUgPGt3PklEUkVGPC9rdz4gbXVzdCBtYXRjaAordGhlIDxudCBkZWY9Ik5ULU5hbWUiPk5hbWU8L250PiBwcm9kdWN0aW9uLCBhbmQKK3ZhbHVlcyBvZiB0eXBlIDxrdz5JRFJFRlM8L2t3PiBtdXN0IG1hdGNoCis8bnQgZGVmPSJOVC1OYW1lcyI+TmFtZXM8L250PjsgCitlYWNoIDxudCBkZWY9Ik5ULU5hbWUiPk5hbWU8L250PiBtdXN0IG1hdGNoIHRoZSB2YWx1ZSBvZiBhbiBJRCBhdHRyaWJ1dGUgb24gCitzb21lIGVsZW1lbnQgaW4gdGhlIFhNTCBkb2N1bWVudDsgaS5lLiA8a3c+SURSRUY8L2t3PiB2YWx1ZXMgbXVzdCAKK21hdGNoIHRoZSB2YWx1ZSBvZiBzb21lIElEIGF0dHJpYnV0ZS4gCis8L3A+Cis8L3Zjbm90ZT4KKzx2Y25vdGUgaWQ9ImVudG5hbWUiPgorPGhlYWQ+RW50aXR5IE5hbWU8L2hlYWQ+Cis8cD4KK1ZhbHVlcyBvZiB0eXBlIDxrdz5FTlRJVFk8L2t3PiAKK211c3QgbWF0Y2ggdGhlIDxudCBkZWY9Ik5ULU5hbWUiPk5hbWU8L250PiBwcm9kdWN0aW9uLAordmFsdWVzIG9mIHR5cGUgPGt3PkVOVElUSUVTPC9rdz4gbXVzdCBtYXRjaAorPG50IGRlZj0iTlQtTmFtZXMiPk5hbWVzPC9udD47CitlYWNoIDxudCBkZWY9Ik5ULU5hbWUiPk5hbWU8L250PiBtdXN0IAorbWF0Y2ggdGhlCituYW1lIG9mIGFuIDx0ZXJtcmVmIGRlZj0iZHQtdW5wYXJzZWQiPnVucGFyc2VkIGVudGl0eTwvdGVybXJlZj4gZGVjbGFyZWQgaW4gdGhlCis8dGVybXJlZiBkZWY9ImR0LWRvY3R5cGUiPkRURDwvdGVybXJlZj4uCis8L3A+Cis8L3Zjbm90ZT4KKzx2Y25vdGUgaWQ9Im5tdG9rIj4KKzxoZWFkPk5hbWUgVG9rZW48L2hlYWQ+Cis8cD4KK1ZhbHVlcyBvZiB0eXBlIDxrdz5OTVRPS0VOPC9rdz4gbXVzdCBtYXRjaCB0aGUKKzxudCBkZWY9Ik5ULU5tdG9rZW4iPk5tdG9rZW48L250PiBwcm9kdWN0aW9uOwordmFsdWVzIG9mIHR5cGUgPGt3Pk5NVE9LRU5TPC9rdz4gbXVzdCAKK21hdGNoIDx0ZXJtcmVmIGRlZj0iTlQtTm10b2tlbnMiPk5tdG9rZW5zPC90ZXJtcmVmPi4KKzwvcD4KKzwvdmNub3RlPgorPCEtLSB3aHk/Cis8cD5UaGUgWE1MIHByb2Nlc3NvciBtdXN0IG5vcm1hbGl6ZSBhdHRyaWJ1dGUgdmFsdWVzIGJlZm9yZQorcGFzc2luZyB0aGVtIHRvIHRoZSBhcHBsaWNhdGlvbiwgYXMgZGVzY3JpYmVkIGluIAorPHNwZWNyZWYgcmVmPSJBVk5vcm1hbGl6ZSIvPi48L3A+LS0+Cis8cD48dGVybWRlZiBpZD0iZHQtZW51bWVyYXRlZCIgdGVybT0iRW51bWVyYXRlZCBBdHRyaWJ1dGUgVmFsdWVzIj48dGVybT5FbnVtZXJhdGVkIGF0dHJpYnV0ZXM8L3Rlcm0+IGNhbiB0YWtlIG9uZSAKK29mIGEgbGlzdCBvZiB2YWx1ZXMgcHJvdmlkZWQgaW4gdGhlIGRlY2xhcmF0aW9uPC90ZXJtZGVmPi4gVGhlcmUgYXJlIHR3bwora2luZHMgb2YgZW51bWVyYXRlZCB0eXBlczoKKzxzY3JhcCBsYW5nPSJlYm5mIj4KKzxoZWFkPkVudW1lcmF0ZWQgQXR0cmlidXRlIFR5cGVzPC9oZWFkPgorPHByb2QgaWQ9Ik5ULUVudW1lcmF0ZWRUeXBlIj48bGhzPkVudW1lcmF0ZWRUeXBlPC9saHM+IAorPHJocz48bnQgZGVmPSJOVC1Ob3RhdGlvblR5cGUiPk5vdGF0aW9uVHlwZTwvbnQ+IAorfCA8bnQgZGVmPSJOVC1FbnVtZXJhdGlvbiI+RW51bWVyYXRpb248L250PgorPC9yaHM+PC9wcm9kPgorPHByb2QgaWQ9Ik5ULU5vdGF0aW9uVHlwZSI+PGxocz5Ob3RhdGlvblR5cGU8L2xocz4gCis8cmhzPidOT1RBVElPTicgCis8bnQgZGVmPSJOVC1TIj5TPC9udD4gCisnKCcgCis8bnQgZGVmPSJOVC1TIj5TPC9udD4/ICAKKzxudCBkZWY9Ik5ULU5hbWUiPk5hbWU8L250PiAKKyg8bnQgZGVmPSJOVC1TIj5TPC9udD4/ICd8JyA8bnQgZGVmPSJOVC1TIj5TPC9udD4/ICAKKzxudCBkZWY9Ik5ULU5hbWUiPk5hbWU8L250PikqCis8bnQgZGVmPSJOVC1TIj5TPC9udD4/ICcpJworPC9yaHM+Cis8dmMgZGVmPSJub3RhdG4iLz48L3Byb2Q+Cis8cHJvZCBpZD0iTlQtRW51bWVyYXRpb24iPjxsaHM+RW51bWVyYXRpb248L2xocz4gCis8cmhzPicoJyA8bnQgZGVmPSJOVC1TIj5TPC9udD4/Cis8bnQgZGVmPSJOVC1ObXRva2VuIj5ObXRva2VuPC9udD4gCisoPG50IGRlZj0iTlQtUyI+UzwvbnQ+PyAnfCcgCis8bnQgZGVmPSJOVC1TIj5TPC9udD4/ICAKKzxudCBkZWY9Ik5ULU5tdG9rZW4iPk5tdG9rZW48L250PikqIAorPG50IGRlZj0iTlQtUyI+UzwvbnQ+PyAKKycpJzwvcmhzPiAKKzx2YyBkZWY9ImVudW0iLz48L3Byb2Q+Cis8L3NjcmFwPgorQSA8a3c+Tk9UQVRJT048L2t3PiBhdHRyaWJ1dGUgaWRlbnRpZmllcyBhIAorPHRlcm1yZWYgZGVmPSJkdC1ub3RhdGlvbiI+bm90YXRpb248L3Rlcm1yZWY+LCBkZWNsYXJlZCBpbiB0aGUgCitEVEQgd2l0aCBhc3NvY2lhdGVkIHN5c3RlbSBhbmQvb3IgcHVibGljIGlkZW50aWZpZXJzLCB0bworYmUgdXNlZCBpbiBpbnRlcnByZXRpbmcgdGhlIGVsZW1lbnQgdG8gd2hpY2ggdGhlIGF0dHJpYnV0ZQoraXMgYXR0YWNoZWQuCis8L3A+CisKKzx2Y25vdGUgaWQ9Im5vdGF0biI+Cis8aGVhZD5Ob3RhdGlvbiBBdHRyaWJ1dGVzPC9oZWFkPgorPHA+CitWYWx1ZXMgb2YgdGhpcyB0eXBlIG11c3QgbWF0Y2gKK29uZSBvZiB0aGUgPHRpdGxlcmVmIGhyZWY9Ik5vdGF0aW9ucyI+bm90YXRpb248L3RpdGxlcmVmPiBuYW1lcyBpbmNsdWRlZCBpbgordGhlIGRlY2xhcmF0aW9uOyBhbGwgbm90YXRpb24gbmFtZXMgaW4gdGhlIGRlY2xhcmF0aW9uIG11c3QKK2JlIGRlY2xhcmVkLgorPC9wPgorPC92Y25vdGU+Cis8dmNub3RlIGlkPSJlbnVtIj4KKzxoZWFkPkVudW1lcmF0aW9uPC9oZWFkPgorPHA+CitWYWx1ZXMgb2YgdGhpcyB0eXBlCittdXN0IG1hdGNoIG9uZSBvZiB0aGUgPG50IGRlZj0iTlQtTm10b2tlbiI+Tm10b2tlbjwvbnQ+IHRva2VucyBpbiB0aGUKK2RlY2xhcmF0aW9uLiAKKzwvcD4KKzwvdmNub3RlPgorPHA+PHRlcm1yZWYgZGVmPSJkdC1pbnRlcm9wIj5Gb3IgaW50ZXJvcGVyYWJpbGl0eSw8L3Rlcm1yZWY+IHRoZSBzYW1lCis8bnQgZGVmPSJOVC1ObXRva2VuIj5ObXRva2VuPC9udD4gc2hvdWxkIG5vdCBvY2N1ciBtb3JlIHRoYW4gb25jZSBpbiB0aGUKK2VudW1lcmF0ZWQgYXR0cmlidXRlIHR5cGVzIG9mIGEgc2luZ2xlIGVsZW1lbnQgdHlwZS4KKzwvcD4KKzwvZGl2Mz4KKworPGRpdjMgaWQ9InNlYy1hdHRyLWRlZmF1bHRzIj4KKzxoZWFkPkF0dHJpYnV0ZSBEZWZhdWx0czwvaGVhZD4KKyAKKzxwPkFuIDx0ZXJtcmVmIGRlZj0iZHQtYXR0ZGVjbCI+YXR0cmlidXRlIGRlY2xhcmF0aW9uPC90ZXJtcmVmPiBwcm92aWRlcworaW5mb3JtYXRpb24gb24gd2hldGhlcgordGhlIGF0dHJpYnV0ZSdzIHByZXNlbmNlIGlzIHJlcXVpcmVkLCBhbmQgaWYgbm90LCBob3cgYW4gWE1MIHByb2Nlc3NvciBzaG91bGQKK3JlYWN0IGlmIGEgZGVjbGFyZWQgYXR0cmlidXRlIGlzIGFic2VudCBpbiBhIGRvY3VtZW50LgorPHNjcmFwIGxhbmc9ImVibmYiPgorPGhlYWQ+QXR0cmlidXRlIERlZmF1bHRzPC9oZWFkPgorPHByb2Rncm91cCBwY3c0PSIxNCIgcGN3NT0iMTEuNSI+Cis8cHJvZCBpZD0iTlQtRGVmYXVsdERlY2wiPjxsaHM+RGVmYXVsdERlY2w8L2xocz4KKzxyaHM+JyNSRVFVSVJFRCcgCit8Jm5ic3A7JyNJTVBMSUVEJyA8L3Jocz4KKzxyaHM+fCAoKCcjRklYRUQnIFMpPyA8bnQgZGVmPSJOVC1BdHRWYWx1ZSI+QXR0VmFsdWU8L250Pik8L3Jocz4KKzx2YyBkZWY9IlJlcXVpcmVkQXR0ciIvPgorPHZjIGRlZj0iZGVmYXR0cnZhbGlkIi8+Cis8d2ZjIGRlZj0iQ2xlYW5BdHRyVmFscyIvPgorPHZjIGRlZj0iRml4ZWRBdHRyIi8+Cis8L3Byb2Q+Cis8L3Byb2Rncm91cD4KKzwvc2NyYXA+CisKKzwvcD4KKzxwPkluIGFuIGF0dHJpYnV0ZSBkZWNsYXJhdGlvbiwgPGt3PiNSRVFVSVJFRDwva3c+IG1lYW5zIHRoYXQgdGhlCithdHRyaWJ1dGUgbXVzdCBhbHdheXMgYmUgcHJvdmlkZWQsIDxrdz4jSU1QTElFRDwva3c+IHRoYXQgbm8gZGVmYXVsdCAKK3ZhbHVlIGlzIHByb3ZpZGVkLgorPCEtLSBub3QgYW55IG1vcmUhIQorPGt3PiNJTVBMSUVEPC9rdz4gbWVhbnMgdGhhdCBpZiB0aGUgYXR0cmlidXRlIGlzIG9taXR0ZWQKK2Zyb20gYW4gZWxlbWVudCBvZiB0aGlzIHR5cGUsCit0aGUgWE1MIHByb2Nlc3NvciBtdXN0IGluZm9ybSB0aGUgYXBwbGljYXRpb24KK3RoYXQgbm8gdmFsdWUgd2FzIHNwZWNpZmllZDsgbm8gY29uc3RyYWludCBpcyBwbGFjZWQgb24gdGhlIGJlaGF2aW9yCitvZiB0aGUgYXBwbGljYXRpb24uIC0tPgorPHRlcm1kZWYgaWQ9ImR0LWRlZmF1bHQiIHRlcm09IkF0dHJpYnV0ZSBEZWZhdWx0Ij5JZiB0aGUgCitkZWNsYXJhdGlvbgoraXMgbmVpdGhlciA8a3c+I1JFUVVJUkVEPC9rdz4gbm9yIDxrdz4jSU1QTElFRDwva3c+LCB0aGVuIHRoZQorPG50IGRlZj0iTlQtQXR0VmFsdWUiPkF0dFZhbHVlPC9udD4gdmFsdWUgY29udGFpbnMgdGhlIGRlY2xhcmVkCis8dGVybT5kZWZhdWx0PC90ZXJtPiB2YWx1ZTsgdGhlIDxrdz4jRklYRUQ8L2t3PiBrZXl3b3JkIHN0YXRlcyB0aGF0Cit0aGUgYXR0cmlidXRlIG11c3QgYWx3YXlzIGhhdmUgdGhlIGRlZmF1bHQgdmFsdWUuCitJZiBhIGRlZmF1bHQgdmFsdWUKK2lzIGRlY2xhcmVkLCB3aGVuIGFuIFhNTCBwcm9jZXNzb3IgZW5jb3VudGVycyBhbiBvbWl0dGVkIGF0dHJpYnV0ZSwgaXQKK2lzIHRvIGJlaGF2ZSBhcyB0aG91Z2ggdGhlIGF0dHJpYnV0ZSB3ZXJlIHByZXNlbnQgd2l0aCAKK3RoZSBkZWNsYXJlZCBkZWZhdWx0IHZhbHVlLjwvdGVybWRlZj48L3A+Cis8dmNub3RlIGlkPSJSZXF1aXJlZEF0dHIiPgorPGhlYWQ+UmVxdWlyZWQgQXR0cmlidXRlPC9oZWFkPgorPHA+SWYgdGhlIGRlZmF1bHQgZGVjbGFyYXRpb24gaXMgdGhlIGtleXdvcmQgPGt3PiNSRVFVSVJFRDwva3c+LCB0aGVuCit0aGUgYXR0cmlidXRlIG11c3QgYmUgc3BlY2lmaWVkIGZvcgorYWxsIGVsZW1lbnRzIG9mIHRoZSB0eXBlIGluIHRoZSBhdHRyaWJ1dGUtbGlzdCBkZWNsYXJhdGlvbi4KKzwvcD48L3Zjbm90ZT4KKzx2Y25vdGUgaWQ9ImRlZmF0dHJ2YWxpZCI+Cis8aGVhZD5BdHRyaWJ1dGUgRGVmYXVsdCBMZWdhbDwvaGVhZD4KKzxwPgorVGhlIGRlY2xhcmVkCitkZWZhdWx0IHZhbHVlIG11c3QgbWVldCB0aGUgbGV4aWNhbCBjb25zdHJhaW50cyBvZiB0aGUgZGVjbGFyZWQgYXR0cmlidXRlIHR5cGUuCis8L3A+Cis8L3Zjbm90ZT4KKzx2Y25vdGUgaWQ9IkZpeGVkQXR0ciI+Cis8aGVhZD5GaXhlZCBBdHRyaWJ1dGUgRGVmYXVsdDwvaGVhZD4KKzxwPklmIGFuIGF0dHJpYnV0ZSBoYXMgYSBkZWZhdWx0IHZhbHVlIGRlY2xhcmVkIHdpdGggdGhlIAorPGt3PiNGSVhFRDwva3c+IGtleXdvcmQsIGluc3RhbmNlcyBvZiB0aGF0IGF0dHJpYnV0ZSBtdXN0CittYXRjaCB0aGUgZGVmYXVsdCB2YWx1ZS4KKzwvcD48L3Zjbm90ZT4KKworPHA+RXhhbXBsZXMgb2YgYXR0cmlidXRlLWxpc3QgZGVjbGFyYXRpb25zOgorPGVnPiZsdDshQVRUTElTVCB0ZXJtZGVmCisgICAgICAgICAgaWQgICAgICBJRCAgICAgICNSRVFVSVJFRAorICAgICAgICAgIG5hbWUgICAgQ0RBVEEgICAjSU1QTElFRCZndDsKKyZsdDshQVRUTElTVCBsaXN0CisgICAgICAgICAgdHlwZSAgICAoYnVsbGV0c3xvcmRlcmVkfGdsb3NzYXJ5KSAgIm9yZGVyZWQiJmd0OworJmx0OyFBVFRMSVNUIGZvcm0KKyAgICAgICAgICBtZXRob2QgIENEQVRBICAgI0ZJWEVEICJQT1NUIiZndDs8L2VnPjwvcD4KKzwvZGl2Mz4KKzxkaXYzIGlkPSJBVk5vcm1hbGl6ZSI+Cis8aGVhZD5BdHRyaWJ1dGUtVmFsdWUgTm9ybWFsaXphdGlvbjwvaGVhZD4KKzxwPkJlZm9yZSB0aGUgdmFsdWUgb2YgYW4gYXR0cmlidXRlIGlzIHBhc3NlZCB0byB0aGUgYXBwbGljYXRpb24KK29yIGNoZWNrZWQgZm9yIHZhbGlkaXR5LCB0aGUKK1hNTCBwcm9jZXNzb3IgbXVzdCBub3JtYWxpemUgaXQgYXMgZm9sbG93czoKKzx1bGlzdD4KKzxpdGVtPjxwPmEgY2hhcmFjdGVyIHJlZmVyZW5jZSBpcyBwcm9jZXNzZWQgYnkgYXBwZW5kaW5nIHRoZSByZWZlcmVuY2VkICAgIAorY2hhcmFjdGVyIHRvIHRoZSBhdHRyaWJ1dGUgdmFsdWU8L3A+PC9pdGVtPgorPGl0ZW0+PHA+YW4gZW50aXR5IHJlZmVyZW5jZSBpcyBwcm9jZXNzZWQgYnkgcmVjdXJzaXZlbHkgcHJvY2Vzc2luZyB0aGUKK3JlcGxhY2VtZW50IHRleHQgb2YgdGhlIGVudGl0eTwvcD48L2l0ZW0+Cis8aXRlbT48cD5hIHdoaXRlc3BhY2UgY2hhcmFjdGVyICgjeDIwLCAjeEQsICN4QSwgI3g5KSBpcyBwcm9jZXNzZWQgYnkKK2FwcGVuZGluZyAjeDIwIHRvIHRoZSBub3JtYWxpemVkIHZhbHVlLCBleGNlcHQgdGhhdCBvbmx5IGEgc2luZ2xlICN4MjAKK2lzIGFwcGVuZGVkIGZvciBhICIjeEQjeEEiIHNlcXVlbmNlIHRoYXQgaXMgcGFydCBvZiBhbiBleHRlcm5hbAorcGFyc2VkIGVudGl0eSBvciB0aGUgbGl0ZXJhbCBlbnRpdHkgdmFsdWUgb2YgYW4gaW50ZXJuYWwgcGFyc2VkCitlbnRpdHk8L3A+PC9pdGVtPgorPGl0ZW0+PHA+b3RoZXIgY2hhcmFjdGVycyBhcmUgcHJvY2Vzc2VkIGJ5IGFwcGVuZGluZyB0aGVtIHRvIHRoZSBub3JtYWxpemVkCit2YWx1ZTwvcD4KKzwvaXRlbT48L3VsaXN0PgorPC9wPgorPHA+SWYgdGhlIGRlY2xhcmVkIHZhbHVlIGlzIG5vdCBDREFUQSwgdGhlbiB0aGUgWE1MIHByb2Nlc3NvciBtdXN0CitmdXJ0aGVyIHByb2Nlc3MgdGhlIG5vcm1hbGl6ZWQgYXR0cmlidXRlIHZhbHVlIGJ5IGRpc2NhcmRpbmcgYW55CitsZWFkaW5nIGFuZCB0cmFpbGluZyBzcGFjZSAoI3gyMCkgY2hhcmFjdGVycywgYW5kIGJ5IHJlcGxhY2luZworc2VxdWVuY2VzIG9mIHNwYWNlICgjeDIwKSBjaGFyYWN0ZXJzIGJ5IGEgc2luZ2xlIHNwYWNlICgjeDIwKQorY2hhcmFjdGVyLjwvcD4KKzxwPgorQWxsIGF0dHJpYnV0ZXMgZm9yIHdoaWNoIG5vIGRlY2xhcmF0aW9uIGhhcyBiZWVuIHJlYWQgc2hvdWxkIGJlIHRyZWF0ZWQKK2J5IGEgbm9uLXZhbGlkYXRpbmcgcGFyc2VyIGFzIGlmIGRlY2xhcmVkCis8a3c+Q0RBVEE8L2t3Pi4KKzwvcD4KKzwvZGl2Mz4KKzwvZGl2Mj4KKzxkaXYyIGlkPSJzZWMtY29uZGl0aW9uLXNlY3QiPgorPGhlYWQ+Q29uZGl0aW9uYWwgU2VjdGlvbnM8L2hlYWQ+Cis8cD48dGVybWRlZiBpZD0iZHQtY29uZC1zZWN0aW9uIiB0ZXJtPSJjb25kaXRpb25hbCBzZWN0aW9uIj4KKzx0ZXJtPkNvbmRpdGlvbmFsIHNlY3Rpb25zPC90ZXJtPiBhcmUgcG9ydGlvbnMgb2YgdGhlCis8dGVybXJlZiBkZWY9ImR0LWRvY3R5cGUiPmRvY3VtZW50IHR5cGUgZGVjbGFyYXRpb24gZXh0ZXJuYWwgc3Vic2V0PC90ZXJtcmVmPgord2hpY2ggYXJlIAoraW5jbHVkZWQgaW4sIG9yIGV4Y2x1ZGVkIGZyb20sIHRoZSBsb2dpY2FsIHN0cnVjdHVyZSBvZiB0aGUgRFREIGJhc2VkIG9uCit0aGUga2V5d29yZCB3aGljaCBnb3Zlcm5zIHRoZW0uPC90ZXJtZGVmPgorPHNjcmFwIGxhbmc9ImVibmYiPgorPGhlYWQ+Q29uZGl0aW9uYWwgU2VjdGlvbjwvaGVhZD4KKzxwcm9kZ3JvdXAgcGN3Mj0iOSIgcGN3ND0iMTQuNSI+Cis8cHJvZCBpZD0iTlQtY29uZGl0aW9uYWxTZWN0Ij48bGhzPmNvbmRpdGlvbmFsU2VjdDwvbGhzPgorPHJocz48bnQgZGVmPSJOVC1pbmNsdWRlU2VjdCI+aW5jbHVkZVNlY3Q8L250PgorfCA8bnQgZGVmPSJOVC1pZ25vcmVTZWN0Ij5pZ25vcmVTZWN0PC9udD4KKzwvcmhzPgorPC9wcm9kPgorPHByb2QgaWQ9Ik5ULWluY2x1ZGVTZWN0Ij48bGhzPmluY2x1ZGVTZWN0PC9saHM+Cis8cmhzPicmbHQ7IVsnIFM/ICdJTkNMVURFJyBTPyAnWycgCisKKzxudCBkZWY9Ik5ULWV4dFN1YnNldERlY2wiPmV4dFN1YnNldERlY2w8L250PgorJ11dJmd0OycKKzwvcmhzPgorPC9wcm9kPgorPHByb2QgaWQ9Ik5ULWlnbm9yZVNlY3QiPjxsaHM+aWdub3JlU2VjdDwvbGhzPgorPHJocz4nJmx0OyFbJyBTPyAnSUdOT1JFJyBTPyAnWycgCis8bnQgZGVmPSJOVC1pZ25vcmVTZWN0Q29udGVudHMiPmlnbm9yZVNlY3RDb250ZW50czwvbnQ+KgorJ11dJmd0Oyc8L3Jocz4KKzwvcHJvZD4KKworPHByb2QgaWQ9Ik5ULWlnbm9yZVNlY3RDb250ZW50cyI+PGxocz5pZ25vcmVTZWN0Q29udGVudHM8L2xocz4KKzxyaHM+PG50IGRlZj0iTlQtSWdub3JlIj5JZ25vcmU8L250PgorKCcmbHQ7IVsnIDxudCBkZWY9Ik5ULWlnbm9yZVNlY3RDb250ZW50cyI+aWdub3JlU2VjdENvbnRlbnRzPC9udD4gJ11dJmd0OycgCis8bnQgZGVmPSJOVC1JZ25vcmUiPklnbm9yZTwvbnQ+KSo8L3Jocz48L3Byb2Q+Cis8cHJvZCBpZD0iTlQtSWdub3JlIj48bGhzPklnbm9yZTwvbGhzPgorPHJocz48bnQgZGVmPSJOVC1DaGFyIj5DaGFyPC9udD4qIC0gCisoPG50IGRlZj0iTlQtQ2hhciI+Q2hhcjwvbnQ+KiAoJyZsdDshWycgfCAnXV0mZ3Q7JykgCis8bnQgZGVmPSJOVC1DaGFyIj5DaGFyPC9udD4qKQorPC9yaHM+PC9wcm9kPgorCis8L3Byb2Rncm91cD4KKzwvc2NyYXA+Cis8L3A+Cis8cD5MaWtlIHRoZSBpbnRlcm5hbCBhbmQgZXh0ZXJuYWwgRFREIHN1YnNldHMsIGEgY29uZGl0aW9uYWwgc2VjdGlvbgorbWF5IGNvbnRhaW4gb25lIG9yIG1vcmUgY29tcGxldGUgZGVjbGFyYXRpb25zLAorY29tbWVudHMsIHByb2Nlc3NpbmcgaW5zdHJ1Y3Rpb25zLCAKK29yIG5lc3RlZCBjb25kaXRpb25hbCBzZWN0aW9ucywgaW50ZXJtaW5nbGVkIHdpdGggd2hpdGUgc3BhY2UuCis8L3A+Cis8cD5JZiB0aGUga2V5d29yZCBvZiB0aGUKK2NvbmRpdGlvbmFsIHNlY3Rpb24gaXMgPGt3PklOQ0xVREU8L2t3PiwgdGhlbiB0aGUgY29udGVudHMgb2YgdGhlIGNvbmRpdGlvbmFsCitzZWN0aW9uIGFyZSBwYXJ0IG9mIHRoZSBEVEQuCitJZiB0aGUga2V5d29yZCBvZiB0aGUgY29uZGl0aW9uYWwKK3NlY3Rpb24gaXMgPGt3PklHTk9SRTwva3c+LCB0aGVuIHRoZSBjb250ZW50cyBvZiB0aGUgY29uZGl0aW9uYWwgc2VjdGlvbiBhcmUKK25vdCBsb2dpY2FsbHkgcGFydCBvZiB0aGUgRFRELgorTm90ZSB0aGF0IGZvciByZWxpYWJsZSBwYXJzaW5nLCB0aGUgY29udGVudHMgb2YgZXZlbiBpZ25vcmVkCitjb25kaXRpb25hbCBzZWN0aW9ucyBtdXN0IGJlIHJlYWQgaW4gb3JkZXIgdG8KK2RldGVjdCBuZXN0ZWQgY29uZGl0aW9uYWwgc2VjdGlvbnMgYW5kIGVuc3VyZSB0aGF0IHRoZSBlbmQgb2YgdGhlCitvdXRlcm1vc3QgKGlnbm9yZWQpIGNvbmRpdGlvbmFsIHNlY3Rpb24gaXMgcHJvcGVybHkgZGV0ZWN0ZWQuCitJZiBhIGNvbmRpdGlvbmFsIHNlY3Rpb24gd2l0aCBhCitrZXl3b3JkIG9mIDxrdz5JTkNMVURFPC9rdz4gb2NjdXJzIHdpdGhpbiBhIGxhcmdlciBjb25kaXRpb25hbAorc2VjdGlvbiB3aXRoIGEga2V5d29yZCBvZiA8a3c+SUdOT1JFPC9rdz4sIGJvdGggdGhlIG91dGVyIGFuZCB0aGUKK2lubmVyIGNvbmRpdGlvbmFsIHNlY3Rpb25zIGFyZSBpZ25vcmVkLjwvcD4KKzxwPklmIHRoZSBrZXl3b3JkIG9mIHRoZSBjb25kaXRpb25hbCBzZWN0aW9uIGlzIGEgCitwYXJhbWV0ZXItZW50aXR5IHJlZmVyZW5jZSwgdGhlIHBhcmFtZXRlciBlbnRpdHkgbXVzdCBiZSByZXBsYWNlZCBieSBpdHMKK2NvbnRlbnQgYmVmb3JlIHRoZSBwcm9jZXNzb3IgZGVjaWRlcyB3aGV0aGVyIHRvCitpbmNsdWRlIG9yIGlnbm9yZSB0aGUgY29uZGl0aW9uYWwgc2VjdGlvbi48L3A+Cis8cD5BbiBleGFtcGxlOgorPGVnPiZsdDshRU5USVRZICUgZHJhZnQgJ0lOQ0xVREUnICZndDsKKyZsdDshRU5USVRZICUgZmluYWwgJ0lHTk9SRScgJmd0OworIAorJmx0OyFbJWRyYWZ0O1sKKyZsdDshRUxFTUVOVCBib29rIChjb21tZW50cyosIHRpdGxlLCBib2R5LCBzdXBwbGVtZW50cz8pJmd0OworXV0mZ3Q7CismbHQ7IVslZmluYWw7WworJmx0OyFFTEVNRU5UIGJvb2sgKHRpdGxlLCBib2R5LCBzdXBwbGVtZW50cz8pJmd0OworXV0mZ3Q7Cis8L2VnPgorPC9wPgorPC9kaXYyPgorCisKKzwhLS0gCis8ZGl2MiBpZD0nc2VjLXBhc3MtdG8tYXBwJz4KKzxoZWFkPlhNTCBQcm9jZXNzb3IgVHJlYXRtZW50IG9mIExvZ2ljYWwgU3RydWN0dXJlPC9oZWFkPgorPHA+V2hlbiBhbiBYTUwgcHJvY2Vzc29yIGVuY291bnRlcnMgYSBzdGFydC10YWcsIGl0IG11c3QgbWFrZQorYXQgbGVhc3QgdGhlIGZvbGxvd2luZyBpbmZvcm1hdGlvbiBhdmFpbGFibGUgdG8gdGhlIGFwcGxpY2F0aW9uOgorPHVsaXN0PgorPGl0ZW0+Cis8cD50aGUgZWxlbWVudCB0eXBlJ3MgZ2VuZXJpYyBpZGVudGlmaWVyPC9wPgorPC9pdGVtPgorPGl0ZW0+Cis8cD50aGUgbmFtZXMgb2YgYXR0cmlidXRlcyBrbm93biB0byBhcHBseSB0byB0aGlzIGVsZW1lbnQgdHlwZQorKHZhbGlkYXRpbmcgcHJvY2Vzc29ycyBtdXN0IG1ha2UgYXZhaWxhYmxlIG5hbWVzIG9mIGFsbCBhdHRyaWJ1dGVzCitkZWNsYXJlZCBmb3IgdGhlIGVsZW1lbnQgdHlwZTsgbm9uLXZhbGlkYXRpbmcgcHJvY2Vzc29ycyBtdXN0CittYWtlIGF2YWlsYWJsZSBhdCBsZWFzdCB0aGUgbmFtZXMgb2YgdGhlIGF0dHJpYnV0ZXMgZm9yIHdoaWNoCit2YWx1ZXMgYXJlIHNwZWNpZmllZC4KKzwvcD4KKzwvaXRlbT4KKzwvdWxpc3Q+Cis8L3A+Cis8L2RpdjI+CistLT4gCisKKzwvZGl2MT4KKzwhLS0gJkVudGl0aWVzOyAtLT4KKyAKKzxkaXYxIGlkPSJzZWMtcGh5c2ljYWwtc3RydWN0Ij4KKzxoZWFkPlBoeXNpY2FsIFN0cnVjdHVyZXM8L2hlYWQ+CisgCis8cD48dGVybWRlZiBpZD0iZHQtZW50aXR5IiB0ZXJtPSJFbnRpdHkiPkFuIFhNTCBkb2N1bWVudCBtYXkgY29uc2lzdAorb2Ygb25lIG9yIG1hbnkgc3RvcmFnZSB1bml0cy4gICBUaGVzZSBhcmUgY2FsbGVkCis8dGVybT5lbnRpdGllczwvdGVybT47IHRoZXkgYWxsIGhhdmUgPHRlcm0+Y29udGVudDwvdGVybT4gYW5kIGFyZSBhbGwKKyhleGNlcHQgZm9yIHRoZSBkb2N1bWVudCBlbnRpdHksIHNlZSBiZWxvdywgYW5kIAordGhlIDx0ZXJtcmVmIGRlZj0iZHQtZG9jdHlwZSI+ZXh0ZXJuYWwgRFREIHN1YnNldDwvdGVybXJlZj4pIAoraWRlbnRpZmllZCBieSA8dGVybT5uYW1lPC90ZXJtPi4KKzwvdGVybWRlZj4KK0VhY2ggWE1MIGRvY3VtZW50IGhhcyBvbmUgZW50aXR5CitjYWxsZWQgdGhlIDx0ZXJtcmVmIGRlZj0iZHQtZG9jZW50Ij5kb2N1bWVudCBlbnRpdHk8L3Rlcm1yZWY+LCB3aGljaCBzZXJ2ZXMKK2FzIHRoZSBzdGFydGluZyBwb2ludCBmb3IgdGhlIDx0ZXJtcmVmIGRlZj0iZHQteG1sLXByb2MiPlhNTAorcHJvY2Vzc29yPC90ZXJtcmVmPiBhbmQgbWF5IGNvbnRhaW4gdGhlIHdob2xlIGRvY3VtZW50LjwvcD4KKzxwPkVudGl0aWVzIG1heSBiZSBlaXRoZXIgcGFyc2VkIG9yIHVucGFyc2VkLgorPHRlcm1kZWYgaWQ9ImR0LXBhcnNlZGVudCIgdGVybT0iVGV4dCBFbnRpdHkiPkEgPHRlcm0+cGFyc2VkIGVudGl0eSdzPC90ZXJtPgorY29udGVudHMgYXJlIHJlZmVycmVkIHRvIGFzIGl0cyAKKzx0ZXJtcmVmIGRlZj0iZHQtcmVwbHRleHQiPnJlcGxhY2VtZW50IHRleHQ8L3Rlcm1yZWY+OwordGhpcyA8dGVybXJlZiBkZWY9ImR0LXRleHQiPnRleHQ8L3Rlcm1yZWY+IGlzIGNvbnNpZGVyZWQgYW4KK2ludGVncmFsIHBhcnQgb2YgdGhlIGRvY3VtZW50LjwvdGVybWRlZj48L3A+CisKKzxwPjx0ZXJtZGVmIGlkPSJkdC11bnBhcnNlZCIgdGVybT0iVW5wYXJzZWQgRW50aXR5Ij5BbiAKKzx0ZXJtPnVucGFyc2VkIGVudGl0eTwvdGVybT4gCitpcyBhIHJlc291cmNlIHdob3NlIGNvbnRlbnRzIG1heSBvciBtYXkgbm90IGJlCis8dGVybXJlZiBkZWY9ImR0LXRleHQiPnRleHQ8L3Rlcm1yZWY+LCBhbmQgaWYgdGV4dCwgbWF5IG5vdCBiZSBYTUwuCitFYWNoIHVucGFyc2VkIGVudGl0eQoraGFzIGFuIGFzc29jaWF0ZWQgPHRlcm1yZWYgZGVmPSJkdC1ub3RhdGlvbiI+bm90YXRpb248L3Rlcm1yZWY+LCBpZGVudGlmaWVkIGJ5IG5hbWUuCitCZXlvbmQgYSByZXF1aXJlbWVudAordGhhdCBhbiBYTUwgcHJvY2Vzc29yIG1ha2UgdGhlIGlkZW50aWZpZXJzIGZvciB0aGUgZW50aXR5IGFuZCAKK25vdGF0aW9uIGF2YWlsYWJsZSB0byB0aGUgYXBwbGljYXRpb24sCitYTUwgcGxhY2VzIG5vIGNvbnN0cmFpbnRzIG9uIHRoZSBjb250ZW50cyBvZiB1bnBhcnNlZCBlbnRpdGllcy48L3Rlcm1kZWY+IAorPC9wPgorPHA+CitQYXJzZWQgZW50aXRpZXMgYXJlIGludm9rZWQgYnkgbmFtZSB1c2luZyBlbnRpdHkgcmVmZXJlbmNlczsKK3VucGFyc2VkIGVudGl0aWVzIGJ5IG5hbWUsIGdpdmVuIGluIHRoZSB2YWx1ZSBvZiA8a3c+RU5USVRZPC9rdz4KK29yIDxrdz5FTlRJVElFUzwva3c+CithdHRyaWJ1dGVzLjwvcD4KKzxwPjx0ZXJtZGVmIGlkPSJnZW4tZW50aXR5IiB0ZXJtPSJnZW5lcmFsIGVudGl0eSI+PHRlcm0+R2VuZXJhbCBlbnRpdGllczwvdGVybT4KK2FyZSBlbnRpdGllcyBmb3IgdXNlIHdpdGhpbiB0aGUgZG9jdW1lbnQgY29udGVudC4KK0luIHRoaXMgc3BlY2lmaWNhdGlvbiwgZ2VuZXJhbCBlbnRpdGllcyBhcmUgc29tZXRpbWVzIHJlZmVycmVkIAordG8gd2l0aCB0aGUgdW5xdWFsaWZpZWQgdGVybSA8ZW1waD5lbnRpdHk8L2VtcGg+IHdoZW4gdGhpcyBsZWFkcwordG8gbm8gYW1iaWd1aXR5LjwvdGVybWRlZj4gCis8dGVybWRlZiBpZD0iZHQtUEUiIHRlcm09IlBhcmFtZXRlciBlbnRpdHkiPlBhcmFtZXRlciBlbnRpdGllcyAKK2FyZSBwYXJzZWQgZW50aXRpZXMgZm9yIHVzZSB3aXRoaW4gdGhlIERURC48L3Rlcm1kZWY+CitUaGVzZSB0d28gdHlwZXMgb2YgZW50aXRpZXMgdXNlIGRpZmZlcmVudCBmb3JtcyBvZiByZWZlcmVuY2UgYW5kCithcmUgcmVjb2duaXplZCBpbiBkaWZmZXJlbnQgY29udGV4dHMuCitGdXJ0aGVybW9yZSwgdGhleSBvY2N1cHkgZGlmZmVyZW50IG5hbWVzcGFjZXM7IGEgcGFyYW1ldGVyIGVudGl0eSBhbmQKK2EgZ2VuZXJhbCBlbnRpdHkgd2l0aCB0aGUgc2FtZSBuYW1lIGFyZSB0d28gZGlzdGluY3QgZW50aXRpZXMuCis8L3A+CisKKzxkaXYyIGlkPSJzZWMtcmVmZXJlbmNlcyI+Cis8aGVhZD5DaGFyYWN0ZXIgYW5kIEVudGl0eSBSZWZlcmVuY2VzPC9oZWFkPgorPHA+PHRlcm1kZWYgaWQ9ImR0LWNoYXJyZWYiIHRlcm09IkNoYXJhY3RlciBSZWZlcmVuY2UiPgorQSA8dGVybT5jaGFyYWN0ZXIgcmVmZXJlbmNlPC90ZXJtPiByZWZlcnMgdG8gYSBzcGVjaWZpYyBjaGFyYWN0ZXIgaW4gdGhlCitJU08vSUVDIDEwNjQ2IGNoYXJhY3RlciBzZXQsIGZvciBleGFtcGxlIG9uZSBub3QgZGlyZWN0bHkgYWNjZXNzaWJsZSBmcm9tCithdmFpbGFibGUgaW5wdXQgZGV2aWNlcy4KKzxzY3JhcCBsYW5nPSJlYm5mIj4KKzxoZWFkPkNoYXJhY3RlciBSZWZlcmVuY2U8L2hlYWQ+Cis8cHJvZCBpZD0iTlQtQ2hhclJlZiI+PGxocz5DaGFyUmVmPC9saHM+Cis8cmhzPicmYW1wOyMnIFswLTldKyAnOycgPC9yaHM+Cis8cmhzPnwgJyZoY3JvOycgWzAtOWEtZkEtRl0rICc7JzwvcmhzPgorPHdmYyBkZWY9IndmLUxlZ2FsY2hhciIvPgorPC9wcm9kPgorPC9zY3JhcD4KKzx3ZmNub3RlIGlkPSJ3Zi1MZWdhbGNoYXIiPgorPGhlYWQ+TGVnYWwgQ2hhcmFjdGVyPC9oZWFkPgorPHA+Q2hhcmFjdGVycyByZWZlcnJlZCB0byB1c2luZyBjaGFyYWN0ZXIgcmVmZXJlbmNlcyBtdXN0CittYXRjaCB0aGUgcHJvZHVjdGlvbiBmb3IKKzx0ZXJtcmVmIGRlZj0iTlQtQ2hhciI+Q2hhcjwvdGVybXJlZj4uPC9wPgorPC93ZmNub3RlPgorSWYgdGhlIGNoYXJhY3RlciByZWZlcmVuY2UgYmVnaW5zIHdpdGggIjxjb2RlPiZhbXA7I3g8L2NvZGU+IiwgdGhlIGRpZ2l0cyBhbmQKK2xldHRlcnMgdXAgdG8gdGhlIHRlcm1pbmF0aW5nIDxjb2RlPjs8L2NvZGU+IHByb3ZpZGUgYSBoZXhhZGVjaW1hbAorcmVwcmVzZW50YXRpb24gb2YgdGhlIGNoYXJhY3RlcidzIGNvZGUgcG9pbnQgaW4gSVNPL0lFQyAxMDY0Ni4KK0lmIGl0IGJlZ2lucyBqdXN0IHdpdGggIjxjb2RlPiZhbXA7IzwvY29kZT4iLCB0aGUgZGlnaXRzIHVwIHRvIHRoZSB0ZXJtaW5hdGluZworPGNvZGU+OzwvY29kZT4gcHJvdmlkZSBhIGRlY2ltYWwgcmVwcmVzZW50YXRpb24gb2YgdGhlIGNoYXJhY3RlcidzIAorY29kZSBwb2ludC4KKzwvdGVybWRlZj4KKzwvcD4KKzxwPjx0ZXJtZGVmIGlkPSJkdC1lbnRyZWYiIHRlcm09IkVudGl0eSBSZWZlcmVuY2UiPkFuIDx0ZXJtPmVudGl0eQorcmVmZXJlbmNlPC90ZXJtPiByZWZlcnMgdG8gdGhlIGNvbnRlbnQgb2YgYSBuYW1lZCBlbnRpdHkuPC90ZXJtZGVmPgorPHRlcm1kZWYgaWQ9ImR0LUdFUmVmIiB0ZXJtPSJHZW5lcmFsIEVudGl0eSBSZWZlcmVuY2UiPlJlZmVyZW5jZXMgdG8gCitwYXJzZWQgZ2VuZXJhbCBlbnRpdGllcwordXNlIGFtcGVyc2FuZCAoPGNvZGU+JmFtcDs8L2NvZGU+KSBhbmQgc2VtaWNvbG9uICg8Y29kZT47PC9jb2RlPikgYXMKK2RlbGltaXRlcnMuPC90ZXJtZGVmPgorPHRlcm1kZWYgaWQ9ImR0LVBFUmVmIiB0ZXJtPSJQYXJhbWV0ZXItZW50aXR5IHJlZmVyZW5jZSI+Cis8dGVybT5QYXJhbWV0ZXItZW50aXR5IHJlZmVyZW5jZXM8L3Rlcm0+IHVzZSBwZXJjZW50LXNpZ24gKDxjb2RlPiU8L2NvZGU+KSBhbmQKK3NlbWljb2xvbiAKKyg8Y29kZT47PC9jb2RlPikgYXMgZGVsaW1pdGVycy48L3Rlcm1kZWY+Cis8L3A+Cis8c2NyYXAgbGFuZz0iZWJuZiI+Cis8aGVhZD5FbnRpdHkgUmVmZXJlbmNlPC9oZWFkPgorPHByb2QgaWQ9Ik5ULVJlZmVyZW5jZSI+PGxocz5SZWZlcmVuY2U8L2xocz4KKzxyaHM+PG50IGRlZj0iTlQtRW50aXR5UmVmIj5FbnRpdHlSZWY8L250PiAKK3wgPG50IGRlZj0iTlQtQ2hhclJlZiI+Q2hhclJlZjwvbnQ+PC9yaHM+PC9wcm9kPgorPHByb2QgaWQ9Ik5ULUVudGl0eVJlZiI+PGxocz5FbnRpdHlSZWY8L2xocz4KKzxyaHM+JyZhbXA7JyA8bnQgZGVmPSJOVC1OYW1lIj5OYW1lPC9udD4gJzsnPC9yaHM+Cis8d2ZjIGRlZj0id2YtZW50ZGVjbGFyZWQiLz4KKzx2YyBkZWY9InZjLWVudGRlY2xhcmVkIi8+Cis8d2ZjIGRlZj0idGV4dGVudCIvPgorPHdmYyBkZWY9Im5vcmVjdXJzaW9uIi8+Cis8L3Byb2Q+Cis8cHJvZCBpZD0iTlQtUEVSZWZlcmVuY2UiPjxsaHM+UEVSZWZlcmVuY2U8L2xocz4KKzxyaHM+JyUnIDxudCBkZWY9Ik5ULU5hbWUiPk5hbWU8L250PiAnOyc8L3Jocz4KKzx2YyBkZWY9InZjLWVudGRlY2xhcmVkIi8+Cis8d2ZjIGRlZj0ibm9yZWN1cnNpb24iLz4KKzx3ZmMgZGVmPSJpbmR0ZCIvPgorPC9wcm9kPgorPC9zY3JhcD4KKworPHdmY25vdGUgaWQ9IndmLWVudGRlY2xhcmVkIj4KKzxoZWFkPkVudGl0eSBEZWNsYXJlZDwvaGVhZD4KKzxwPkluIGEgZG9jdW1lbnQgd2l0aG91dCBhbnkgRFRELCBhIGRvY3VtZW50IHdpdGggb25seSBhbiBpbnRlcm5hbAorRFREIHN1YnNldCB3aGljaCBjb250YWlucyBubyBwYXJhbWV0ZXIgZW50aXR5IHJlZmVyZW5jZXMsIG9yIGEgZG9jdW1lbnQgd2l0aAorIjxjb2RlPnN0YW5kYWxvbmU9J3llcyc8L2NvZGU+IiwgCit0aGUgPG50IGRlZj0iTlQtTmFtZSI+TmFtZTwvbnQ+IGdpdmVuIGluIHRoZSBlbnRpdHkgcmVmZXJlbmNlIG11c3QgCis8dGVybXJlZiBkZWY9ImR0LW1hdGNoIj5tYXRjaDwvdGVybXJlZj4gdGhhdCBpbiBhbiAKKzx0aXRsZXJlZiBocmVmPSJzZWMtZW50aXR5LWRlY2wiPmVudGl0eSBkZWNsYXJhdGlvbjwvdGl0bGVyZWY+LCBleGNlcHQgdGhhdAord2VsbC1mb3JtZWQgZG9jdW1lbnRzIG5lZWQgbm90IGRlY2xhcmUgCithbnkgb2YgdGhlIGZvbGxvd2luZyBlbnRpdGllczogJm1hZ2ljZW50czsuICAKK1RoZSBkZWNsYXJhdGlvbiBvZiBhIHBhcmFtZXRlciBlbnRpdHkgbXVzdCBwcmVjZWRlIGFueSByZWZlcmVuY2UgdG8gaXQuCitTaW1pbGFybHksIHRoZSBkZWNsYXJhdGlvbiBvZiBhIGdlbmVyYWwgZW50aXR5IG11c3QgcHJlY2VkZSBhbnkKK3JlZmVyZW5jZSB0byBpdCB3aGljaCBhcHBlYXJzIGluIGEgZGVmYXVsdCB2YWx1ZSBpbiBhbiBhdHRyaWJ1dGUtbGlzdAorZGVjbGFyYXRpb24uPC9wPgorPHA+Tm90ZSB0aGF0IGlmIGVudGl0aWVzIGFyZSBkZWNsYXJlZCBpbiB0aGUgZXh0ZXJuYWwgc3Vic2V0IG9yIGluIAorZXh0ZXJuYWwgcGFyYW1ldGVyIGVudGl0aWVzLCBhIG5vbi12YWxpZGF0aW5nIHByb2Nlc3NvciBpcyAKKzx0aXRsZXJlZiBocmVmPSJpbmNsdWRlLWlmLXZhbGlkIj5ub3Qgb2JsaWdhdGVkIHRvPC90aXRsZXJlZj4gcmVhZAorYW5kIHByb2Nlc3MgdGhlaXIgZGVjbGFyYXRpb25zOyBmb3Igc3VjaCBkb2N1bWVudHMsIHRoZSBydWxlIHRoYXQKK2FuIGVudGl0eSBtdXN0IGJlIGRlY2xhcmVkIGlzIGEgd2VsbC1mb3JtZWRuZXNzIGNvbnN0cmFpbnQgb25seQoraWYgPHRpdGxlcmVmIGhyZWY9InNlYy1ybWQiPnN0YW5kYWxvbmU9J3llcyc8L3RpdGxlcmVmPi48L3A+Cis8L3dmY25vdGU+Cis8dmNub3RlIGlkPSJ2Yy1lbnRkZWNsYXJlZCI+Cis8aGVhZD5FbnRpdHkgRGVjbGFyZWQ8L2hlYWQ+Cis8cD5JbiBhIGRvY3VtZW50IHdpdGggYW4gZXh0ZXJuYWwgc3Vic2V0IG9yIGV4dGVybmFsIHBhcmFtZXRlcgorZW50aXRpZXMgd2l0aCAiPGNvZGU+c3RhbmRhbG9uZT0nbm8nPC9jb2RlPiIsCit0aGUgPG50IGRlZj0iTlQtTmFtZSI+TmFtZTwvbnQ+IGdpdmVuIGluIHRoZSBlbnRpdHkgcmVmZXJlbmNlIG11c3QgPHRlcm1yZWYgZGVmPSJkdC1tYXRjaCI+bWF0Y2g8L3Rlcm1yZWY+IHRoYXQgaW4gYW4gCis8dGl0bGVyZWYgaHJlZj0ic2VjLWVudGl0eS1kZWNsIj5lbnRpdHkgZGVjbGFyYXRpb248L3RpdGxlcmVmPi4KK0ZvciBpbnRlcm9wZXJhYmlsaXR5LCB2YWxpZCBkb2N1bWVudHMgc2hvdWxkIGRlY2xhcmUgdGhlIGVudGl0aWVzIAorJm1hZ2ljZW50czssIGluIHRoZSBmb3JtCitzcGVjaWZpZWQgaW4gPHNwZWNyZWYgcmVmPSJzZWMtcHJlZGVmaW5lZC1lbnQiLz4uCitUaGUgZGVjbGFyYXRpb24gb2YgYSBwYXJhbWV0ZXIgZW50aXR5IG11c3QgcHJlY2VkZSBhbnkgcmVmZXJlbmNlIHRvIGl0LgorU2ltaWxhcmx5LCB0aGUgZGVjbGFyYXRpb24gb2YgYSBnZW5lcmFsIGVudGl0eSBtdXN0IHByZWNlZGUgYW55CityZWZlcmVuY2UgdG8gaXQgd2hpY2ggYXBwZWFycyBpbiBhIGRlZmF1bHQgdmFsdWUgaW4gYW4gYXR0cmlidXRlLWxpc3QKK2RlY2xhcmF0aW9uLjwvcD4KKzwvdmNub3RlPgorPCEtLSBGSU5BTCBFRElUOiAgaXMgdGhpcyBkdXBsaWNhdGlvbiB0b28gY2x1bXN5PyAtLT4KKzx3ZmNub3RlIGlkPSJ0ZXh0ZW50Ij4KKzxoZWFkPlBhcnNlZCBFbnRpdHk8L2hlYWQ+Cis8cD4KK0FuIGVudGl0eSByZWZlcmVuY2UgbXVzdCBub3QgY29udGFpbiB0aGUgbmFtZSBvZiBhbiA8dGVybXJlZiBkZWY9ImR0LXVucGFyc2VkIj51bnBhcnNlZCBlbnRpdHk8L3Rlcm1yZWY+LiBVbnBhcnNlZCBlbnRpdGllcyBtYXkgYmUgcmVmZXJyZWQKK3RvIG9ubHkgaW4gPHRlcm1yZWYgZGVmPSJkdC1hdHRydmFsIj5hdHRyaWJ1dGUgdmFsdWVzPC90ZXJtcmVmPiBkZWNsYXJlZCB0bworYmUgb2YgdHlwZSA8a3c+RU5USVRZPC9rdz4gb3IgPGt3PkVOVElUSUVTPC9rdz4uCis8L3A+Cis8L3dmY25vdGU+Cis8d2Zjbm90ZSBpZD0ibm9yZWN1cnNpb24iPgorPGhlYWQ+Tm8gUmVjdXJzaW9uPC9oZWFkPgorPHA+CitBIHBhcnNlZCBlbnRpdHkgbXVzdCBub3QgY29udGFpbiBhIHJlY3Vyc2l2ZSByZWZlcmVuY2UgdG8gaXRzZWxmLAorZWl0aGVyIGRpcmVjdGx5IG9yIGluZGlyZWN0bHkuCis8L3A+Cis8L3dmY25vdGU+Cis8d2Zjbm90ZSBpZD0iaW5kdGQiPgorPGhlYWQ+SW4gRFREPC9oZWFkPgorPHA+CitQYXJhbWV0ZXItZW50aXR5IHJlZmVyZW5jZXMgbWF5IG9ubHkgYXBwZWFyIGluIHRoZSAKKzx0ZXJtcmVmIGRlZj0iZHQtZG9jdHlwZSI+RFREPC90ZXJtcmVmPi4KKzwvcD4KKzwvd2Zjbm90ZT4KKzxwPkV4YW1wbGVzIG9mIGNoYXJhY3RlciBhbmQgZW50aXR5IHJlZmVyZW5jZXM6Cis8ZWc+VHlwZSAmbHQ7a2V5Jmd0O2xlc3MtdGhhbiZsdDsva2V5Jmd0OyAoJmhjcm87M0M7KSB0byBzYXZlIG9wdGlvbnMuCitUaGlzIGRvY3VtZW50IHdhcyBwcmVwYXJlZCBvbiAmYW1wO2RvY2RhdGU7IGFuZAoraXMgY2xhc3NpZmllZCAmYW1wO3NlY3VyaXR5LWxldmVsOy48L2VnPjwvcD4KKzxwPkV4YW1wbGUgb2YgYSBwYXJhbWV0ZXItZW50aXR5IHJlZmVyZW5jZToKKzxlZz48IVtDREFUQVs8IS0tIGRlY2xhcmUgdGhlIHBhcmFtZXRlciBlbnRpdHkgIklTT0xhdDIiLi4uIC0tPgorPCFFTlRJVFkgJSBJU09MYXQyCisgICAgICAgICBTWVNURU0gImh0dHA6Ly93d3cueG1sLmNvbS9pc28vaXNvbGF0Mi14bWwuZW50aXRpZXMiID4KKzwhLS0gLi4uIG5vdyByZWZlcmVuY2UgaXQuIC0tPgorJUlTT0xhdDI7XV0+PC9lZz48L3A+Cis8L2RpdjI+CisgCis8ZGl2MiBpZD0ic2VjLWVudGl0eS1kZWNsIj4KKzxoZWFkPkVudGl0eSBEZWNsYXJhdGlvbnM8L2hlYWQ+CisgCis8cD48dGVybWRlZiBpZD0iZHQtZW50ZGVjbCIgdGVybT0iZW50aXR5IGRlY2xhcmF0aW9uIj4KK0VudGl0aWVzIGFyZSBkZWNsYXJlZCB0aHVzOgorPHNjcmFwIGxhbmc9ImVibmYiPgorPGhlYWQ+RW50aXR5IERlY2xhcmF0aW9uPC9oZWFkPgorPHByb2Rncm91cCBwY3cyPSI1IiBwY3c0PSIxOC41Ij4KKzxwcm9kIGlkPSJOVC1FbnRpdHlEZWNsIj48bGhzPkVudGl0eURlY2w8L2xocz4KKzxyaHM+PG50IGRlZj0iTlQtR0VEZWNsIj5HRURlY2w8L250PjwhLS08L3Jocz48Y29tPkdlbmVyYWwgZW50aXRpZXM8L2NvbT4KKzxyaHM+LS0+IHwgPG50IGRlZj0iTlQtUEVEZWNsIj5QRURlY2w8L250PjwvcmhzPgorPCEtLTxjb20+UGFyYW1ldGVyIGVudGl0aWVzPC9jb20+LS0+Cis8L3Byb2Q+Cis8cHJvZCBpZD0iTlQtR0VEZWNsIj48bGhzPkdFRGVjbDwvbGhzPgorPHJocz4nJmx0OyFFTlRJVFknIDxudCBkZWY9Ik5ULVMiPlM8L250PiA8bnQgZGVmPSJOVC1OYW1lIj5OYW1lPC9udD4gCis8bnQgZGVmPSJOVC1TIj5TPC9udD4gPG50IGRlZj0iTlQtRW50aXR5RGVmIj5FbnRpdHlEZWY8L250PiAKKzxudCBkZWY9Ik5ULVMiPlM8L250Pj8gJyZndDsnPC9yaHM+Cis8L3Byb2Q+Cis8cHJvZCBpZD0iTlQtUEVEZWNsIj48bGhzPlBFRGVjbDwvbGhzPgorPHJocz4nJmx0OyFFTlRJVFknIDxudCBkZWY9Ik5ULVMiPlM8L250PiAnJScgPG50IGRlZj0iTlQtUyI+UzwvbnQ+IAorPG50IGRlZj0iTlQtTmFtZSI+TmFtZTwvbnQ+IDxudCBkZWY9Ik5ULVMiPlM8L250PiAKKzxudCBkZWY9Ik5ULVBFRGVmIj5QRURlZjwvbnQ+IDxudCBkZWY9Ik5ULVMiPlM8L250Pj8gJyZndDsnPC9yaHM+Cis8IS0tPGNvbT5QYXJhbWV0ZXIgZW50aXRpZXM8L2NvbT4tLT4KKzwvcHJvZD4KKzxwcm9kIGlkPSJOVC1FbnRpdHlEZWYiPjxsaHM+RW50aXR5RGVmPC9saHM+Cis8cmhzPjxudCBkZWY9Ik5ULUVudGl0eVZhbHVlIj5FbnRpdHlWYWx1ZTwvbnQ+Cis8IS0tPC9yaHM+Cis8cmhzPi0tPnwgKDxudCBkZWY9Ik5ULUV4dGVybmFsSUQiPkV4dGVybmFsSUQ8L250PiAKKzxudCBkZWY9Ik5ULU5EYXRhRGVjbCI+TkRhdGFEZWNsPC9udD4/KTwvcmhzPgorPCEtLSA8bnQgZGVmPSdOVC1FeHRlcm5hbERlZic+RXh0ZXJuYWxEZWY8L250PjwvcmhzPiAtLT4KKzwvcHJvZD4KKzwhLS0gRklOQUwgRURJVDogd2hhdCBoYXBwZW5lZCB0byBXRnMgaGVyZT8gLS0+Cis8cHJvZCBpZD0iTlQtUEVEZWYiPjxsaHM+UEVEZWY8L2xocz4KKzxyaHM+PG50IGRlZj0iTlQtRW50aXR5VmFsdWUiPkVudGl0eVZhbHVlPC9udD4gCit8IDxudCBkZWY9Ik5ULUV4dGVybmFsSUQiPkV4dGVybmFsSUQ8L250PjwvcmhzPjwvcHJvZD4KKzwvcHJvZGdyb3VwPgorPC9zY3JhcD4KK1RoZSA8bnQgZGVmPSJOVC1OYW1lIj5OYW1lPC9udD4gaWRlbnRpZmllcyB0aGUgZW50aXR5IGluIGFuCis8dGVybXJlZiBkZWY9ImR0LWVudHJlZiI+ZW50aXR5IHJlZmVyZW5jZTwvdGVybXJlZj4gb3IsIGluIHRoZSBjYXNlIG9mIGFuCit1bnBhcnNlZCBlbnRpdHksIGluIHRoZSB2YWx1ZSBvZiBhbiA8a3c+RU5USVRZPC9rdz4gb3IgPGt3PkVOVElUSUVTPC9rdz4KK2F0dHJpYnV0ZS4KK0lmIHRoZSBzYW1lIGVudGl0eSBpcyBkZWNsYXJlZCBtb3JlIHRoYW4gb25jZSwgdGhlIGZpcnN0IGRlY2xhcmF0aW9uCitlbmNvdW50ZXJlZCBpcyBiaW5kaW5nOyBhdCB1c2VyIG9wdGlvbiwgYW4gWE1MIHByb2Nlc3NvciBtYXkgaXNzdWUgYQord2FybmluZyBpZiBlbnRpdGllcyBhcmUgZGVjbGFyZWQgbXVsdGlwbGUgdGltZXMuPC90ZXJtZGVmPgorPC9wPgorCis8ZGl2MyBpZD0ic2VjLWludGVybmFsLWVudCI+Cis8aGVhZD5JbnRlcm5hbCBFbnRpdGllczwvaGVhZD4KKyAKKzxwPjx0ZXJtZGVmIGlkPSJkdC1pbnRlcm5lbnQiIHRlcm09IkludGVybmFsIEVudGl0eSBSZXBsYWNlbWVudCBUZXh0Ij5JZiAKK3RoZSBlbnRpdHkgZGVmaW5pdGlvbiBpcyBhbiAKKzxudCBkZWY9Ik5ULUVudGl0eVZhbHVlIj5FbnRpdHlWYWx1ZTwvbnQ+LCAgCit0aGUgZGVmaW5lZCBlbnRpdHkgaXMgY2FsbGVkIGFuIDx0ZXJtPmludGVybmFsIGVudGl0eTwvdGVybT4uICAKK1RoZXJlIGlzIG5vIHNlcGFyYXRlIHBoeXNpY2FsCitzdG9yYWdlIG9iamVjdCwgYW5kIHRoZSBjb250ZW50IG9mIHRoZSBlbnRpdHkgaXMgZ2l2ZW4gaW4gdGhlCitkZWNsYXJhdGlvbi4gPC90ZXJtZGVmPgorTm90ZSB0aGF0IHNvbWUgcHJvY2Vzc2luZyBvZiBlbnRpdHkgYW5kIGNoYXJhY3RlciByZWZlcmVuY2VzIGluIHRoZQorPHRlcm1yZWYgZGVmPSJkdC1saXRlbnR2YWwiPmxpdGVyYWwgZW50aXR5IHZhbHVlPC90ZXJtcmVmPiBtYXkgYmUgcmVxdWlyZWQgdG8KK3Byb2R1Y2UgdGhlIGNvcnJlY3QgPHRlcm1yZWYgZGVmPSJkdC1yZXBsdGV4dCI+cmVwbGFjZW1lbnQgCit0ZXh0PC90ZXJtcmVmPjogc2VlIDxzcGVjcmVmIHJlZj0iaW50ZXJuLXJlcGxhY2VtZW50Ii8+LgorPC9wPgorPHA+QW4gaW50ZXJuYWwgZW50aXR5IGlzIGEgPHRlcm1yZWYgZGVmPSJkdC1wYXJzZWRlbnQiPnBhcnNlZAorZW50aXR5PC90ZXJtcmVmPi48L3A+Cis8cD5FeGFtcGxlIG9mIGFuIGludGVybmFsIGVudGl0eSBkZWNsYXJhdGlvbjoKKzxlZz4mbHQ7IUVOVElUWSBQdWItU3RhdHVzICJUaGlzIGlzIGEgcHJlLXJlbGVhc2Ugb2YgdGhlCisgc3BlY2lmaWNhdGlvbi4iJmd0OzwvZWc+PC9wPgorPC9kaXYzPgorIAorPGRpdjMgaWQ9InNlYy1leHRlcm5hbC1lbnQiPgorPGhlYWQ+RXh0ZXJuYWwgRW50aXRpZXM8L2hlYWQ+CisgCis8cD48dGVybWRlZiBpZD0iZHQtZXh0ZW50IiB0ZXJtPSJFeHRlcm5hbCBFbnRpdHkiPklmIHRoZSBlbnRpdHkgaXMgbm90CitpbnRlcm5hbCwgaXQgaXMgYW4gPHRlcm0+ZXh0ZXJuYWwKK2VudGl0eTwvdGVybT4sIGRlY2xhcmVkIGFzIGZvbGxvd3M6Cis8c2NyYXAgbGFuZz0iZWJuZiI+Cis8aGVhZD5FeHRlcm5hbCBFbnRpdHkgRGVjbGFyYXRpb248L2hlYWQ+Cis8IS0tCis8cHJvZCBpZD0nTlQtRXh0ZXJuYWxEZWYnPjxsaHM+RXh0ZXJuYWxEZWY8L2xocz4KKzxyaHM+PC9wcm9kPiAtLT4KKzxwcm9kIGlkPSJOVC1FeHRlcm5hbElEIj48bGhzPkV4dGVybmFsSUQ8L2xocz4KKzxyaHM+J1NZU1RFTScgPG50IGRlZj0iTlQtUyI+UzwvbnQ+IAorPG50IGRlZj0iTlQtU3lzdGVtTGl0ZXJhbCI+U3lzdGVtTGl0ZXJhbDwvbnQ+PC9yaHM+Cis8cmhzPnwgJ1BVQkxJQycgPG50IGRlZj0iTlQtUyI+UzwvbnQ+IAorPG50IGRlZj0iTlQtUHViaWRMaXRlcmFsIj5QdWJpZExpdGVyYWw8L250PiAKKzxudCBkZWY9Ik5ULVMiPlM8L250PiAKKzxudCBkZWY9Ik5ULVN5c3RlbUxpdGVyYWwiPlN5c3RlbUxpdGVyYWw8L250PgorPC9yaHM+Cis8L3Byb2Q+Cis8cHJvZCBpZD0iTlQtTkRhdGFEZWNsIj48bGhzPk5EYXRhRGVjbDwvbGhzPgorPHJocz48bnQgZGVmPSJOVC1TIj5TPC9udD4gJ05EQVRBJyA8bnQgZGVmPSJOVC1TIj5TPC9udD4gCis8bnQgZGVmPSJOVC1OYW1lIj5OYW1lPC9udD48L3Jocz4KKzx2YyBkZWY9Im5vdC1kZWNsYXJlZCIvPjwvcHJvZD4KKzwvc2NyYXA+CitJZiB0aGUgPG50IGRlZj0iTlQtTkRhdGFEZWNsIj5ORGF0YURlY2w8L250PiBpcyBwcmVzZW50LCB0aGlzIGlzIGEKK2dlbmVyYWwgPHRlcm1yZWYgZGVmPSJkdC11bnBhcnNlZCI+dW5wYXJzZWQKK2VudGl0eTwvdGVybXJlZj47IG90aGVyd2lzZSBpdCBpcyBhIHBhcnNlZCBlbnRpdHkuPC90ZXJtZGVmPjwvcD4KKzx2Y25vdGUgaWQ9Im5vdC1kZWNsYXJlZCI+Cis8aGVhZD5Ob3RhdGlvbiBEZWNsYXJlZDwvaGVhZD4KKzxwPgorVGhlIDxudCBkZWY9Ik5ULU5hbWUiPk5hbWU8L250PiBtdXN0IG1hdGNoIHRoZSBkZWNsYXJlZCBuYW1lIG9mIGEKKzx0ZXJtcmVmIGRlZj0iZHQtbm90YXRpb24iPm5vdGF0aW9uPC90ZXJtcmVmPi4KKzwvcD4KKzwvdmNub3RlPgorPHA+PHRlcm1kZWYgaWQ9ImR0LXN5c2lkIiB0ZXJtPSJTeXN0ZW0gSWRlbnRpZmllciI+VGhlCis8bnQgZGVmPSJOVC1TeXN0ZW1MaXRlcmFsIj5TeXN0ZW1MaXRlcmFsPC9udD4gCitpcyBjYWxsZWQgdGhlIGVudGl0eSdzIDx0ZXJtPnN5c3RlbSBpZGVudGlmaWVyPC90ZXJtPi4gSXQgaXMgYSBVUkksCit3aGljaCBtYXkgYmUgdXNlZCB0byByZXRyaWV2ZSB0aGUgZW50aXR5LjwvdGVybWRlZj4KK05vdGUgdGhhdCB0aGUgaGFzaCBtYXJrICg8Y29kZT4jPC9jb2RlPikgYW5kIGZyYWdtZW50IGlkZW50aWZpZXIgCitmcmVxdWVudGx5IHVzZWQgd2l0aCBVUklzIGFyZSBub3QsIGZvcm1hbGx5LCBwYXJ0IG9mIHRoZSBVUkkgaXRzZWxmOyAKK2FuIFhNTCBwcm9jZXNzb3IgbWF5IHNpZ25hbCBhbiBlcnJvciBpZiBhIGZyYWdtZW50IGlkZW50aWZpZXIgaXMgCitnaXZlbiBhcyBwYXJ0IG9mIGEgc3lzdGVtIGlkZW50aWZpZXIuCitVbmxlc3Mgb3RoZXJ3aXNlIHByb3ZpZGVkIGJ5IGluZm9ybWF0aW9uIG91dHNpZGUgdGhlIHNjb3BlIG9mIHRoaXMKK3NwZWNpZmljYXRpb24gKGUuZy4gYSBzcGVjaWFsIFhNTCBlbGVtZW50IHR5cGUgZGVmaW5lZCBieSBhIHBhcnRpY3VsYXIKK0RURCwgb3IgYSBwcm9jZXNzaW5nIGluc3RydWN0aW9uIGRlZmluZWQgYnkgYSBwYXJ0aWN1bGFyIGFwcGxpY2F0aW9uCitzcGVjaWZpY2F0aW9uKSwgcmVsYXRpdmUgVVJJcyBhcmUgcmVsYXRpdmUgdG8gdGhlIGxvY2F0aW9uIG9mIHRoZQorcmVzb3VyY2Ugd2l0aGluIHdoaWNoIHRoZSBlbnRpdHkgZGVjbGFyYXRpb24gb2NjdXJzLgorQSBVUkkgbWlnaHQgdGh1cyBiZSByZWxhdGl2ZSB0byB0aGUgCis8dGVybXJlZiBkZWY9ImR0LWRvY2VudCI+ZG9jdW1lbnQgZW50aXR5PC90ZXJtcmVmPiwgdG8gdGhlIGVudGl0eQorY29udGFpbmluZyB0aGUgPHRlcm1yZWYgZGVmPSJkdC1kb2N0eXBlIj5leHRlcm5hbCBEVEQgc3Vic2V0PC90ZXJtcmVmPiwgCitvciB0byBzb21lIG90aGVyIDx0ZXJtcmVmIGRlZj0iZHQtZXh0ZW50Ij5leHRlcm5hbCBwYXJhbWV0ZXIgZW50aXR5PC90ZXJtcmVmPi4KKzwvcD4KKzxwPkFuIFhNTCBwcm9jZXNzb3Igc2hvdWxkIGhhbmRsZSBhIG5vbi1BU0NJSSBjaGFyYWN0ZXIgaW4gYSBVUkkgYnkKK3JlcHJlc2VudGluZyB0aGUgY2hhcmFjdGVyIGluIFVURi04IGFzIG9uZSBvciBtb3JlIGJ5dGVzLCBhbmQgdGhlbiAKK2VzY2FwaW5nIHRoZXNlIGJ5dGVzIHdpdGggdGhlIFVSSSBlc2NhcGluZyBtZWNoYW5pc20gKGkuZS4sIGJ5Citjb252ZXJ0aW5nIGVhY2ggYnl0ZSB0byAlSEgsIHdoZXJlIEhIIGlzIHRoZSBoZXhhZGVjaW1hbCBub3RhdGlvbiBvZiB0aGUKK2J5dGUgdmFsdWUpLjwvcD4KKzxwPjx0ZXJtZGVmIGlkPSJkdC1wdWJpZCIgdGVybT0iUHVibGljIGlkZW50aWZpZXIiPgorSW4gYWRkaXRpb24gdG8gYSBzeXN0ZW0gaWRlbnRpZmllciwgYW4gZXh0ZXJuYWwgaWRlbnRpZmllciBtYXkKK2luY2x1ZGUgYSA8dGVybT5wdWJsaWMgaWRlbnRpZmllcjwvdGVybT4uPC90ZXJtZGVmPiAgCitBbiBYTUwgcHJvY2Vzc29yIGF0dGVtcHRpbmcgdG8gcmV0cmlldmUgdGhlIGVudGl0eSdzIGNvbnRlbnQgbWF5IHVzZSB0aGUgcHVibGljCitpZGVudGlmaWVyIHRvIHRyeSB0byBnZW5lcmF0ZSBhbiBhbHRlcm5hdGl2ZSBVUkkuICBJZiB0aGUgcHJvY2Vzc29yCitpcyB1bmFibGUgdG8gZG8gc28sIGl0IG11c3QgdXNlIHRoZSBVUkkgc3BlY2lmaWVkIGluIHRoZSBzeXN0ZW0KK2xpdGVyYWwuICBCZWZvcmUgYSBtYXRjaCBpcyBhdHRlbXB0ZWQsIGFsbCBzdHJpbmdzCitvZiB3aGl0ZSBzcGFjZSBpbiB0aGUgcHVibGljIGlkZW50aWZpZXIgbXVzdCBiZSBub3JtYWxpemVkIHRvIHNpbmdsZSBzcGFjZSBjaGFyYWN0ZXJzICgjeDIwKSwKK2FuZCBsZWFkaW5nIGFuZCB0cmFpbGluZyB3aGl0ZSBzcGFjZSBtdXN0IGJlIHJlbW92ZWQuPC9wPgorPHA+RXhhbXBsZXMgb2YgZXh0ZXJuYWwgZW50aXR5IGRlY2xhcmF0aW9uczoKKzxlZz4mbHQ7IUVOVElUWSBvcGVuLWhhdGNoCisgICAgICAgICBTWVNURU0gImh0dHA6Ly93d3cudGV4dHVhbGl0eS5jb20vYm9pbGVycGxhdGUvT3BlbkhhdGNoLnhtbCImZ3Q7CismbHQ7IUVOVElUWSBvcGVuLWhhdGNoCisgICAgICAgICBQVUJMSUMgIi0vL1RleHR1YWxpdHkvL1RFWFQgU3RhbmRhcmQgb3Blbi1oYXRjaCBib2lsZXJwbGF0ZS8vRU4iCisgICAgICAgICAiaHR0cDovL3d3dy50ZXh0dWFsaXR5LmNvbS9ib2lsZXJwbGF0ZS9PcGVuSGF0Y2gueG1sIiZndDsKKyZsdDshRU5USVRZIGhhdGNoLXBpYworICAgICAgICAgU1lTVEVNICIuLi9ncmFmaXgvT3BlbkhhdGNoLmdpZiIKKyAgICAgICAgIE5EQVRBIGdpZiAmZ3Q7PC9lZz48L3A+Cis8L2RpdjM+CisgCis8L2RpdjI+CisKKzxkaXYyIGlkPSJUZXh0RW50aXRpZXMiPgorPGhlYWQ+UGFyc2VkIEVudGl0aWVzPC9oZWFkPgorPGRpdjMgaWQ9InNlYy1UZXh0RGVjbCI+Cis8aGVhZD5UaGUgVGV4dCBEZWNsYXJhdGlvbjwvaGVhZD4KKzxwPkV4dGVybmFsIHBhcnNlZCBlbnRpdGllcyBtYXkgZWFjaCBiZWdpbiB3aXRoIGEgPHRlcm0+dGV4dAorZGVjbGFyYXRpb248L3Rlcm0+LiAKKzxzY3JhcCBsYW5nPSJlYm5mIj4KKzxoZWFkPlRleHQgRGVjbGFyYXRpb248L2hlYWQ+Cis8cHJvZGdyb3VwIHBjdzQ9IjEyLjUiIHBjdzU9IjEzIj4KKzxwcm9kIGlkPSJOVC1UZXh0RGVjbCI+PGxocz5UZXh0RGVjbDwvbGhzPgorPHJocz4meG1scGlvOyAKKzxudCBkZWY9Ik5ULVZlcnNpb25JbmZvIj5WZXJzaW9uSW5mbzwvbnQ+PworPG50IGRlZj0iTlQtRW5jb2RpbmdEZWNsIj5FbmNvZGluZ0RlY2w8L250PgorPG50IGRlZj0iTlQtUyI+UzwvbnQ+PyAmcGljOzwvcmhzPgorPC9wcm9kPgorPC9wcm9kZ3JvdXA+Cis8L3NjcmFwPgorPC9wPgorPHA+VGhlIHRleHQgZGVjbGFyYXRpb24gbXVzdCBiZSBwcm92aWRlZCBsaXRlcmFsbHksIG5vdAorYnkgcmVmZXJlbmNlIHRvIGEgcGFyc2VkIGVudGl0eS4KK05vIHRleHQgZGVjbGFyYXRpb24gbWF5IGFwcGVhciBhdCBhbnkgcG9zaXRpb24gb3RoZXIgdGhhbiB0aGUgYmVnaW5uaW5nIG9mCithbiBleHRlcm5hbCBwYXJzZWQgZW50aXR5LjwvcD4KKzwvZGl2Mz4KKzxkaXYzIGlkPSJ3Zi1lbnRpdGllcyI+Cis8aGVhZD5XZWxsLUZvcm1lZCBQYXJzZWQgRW50aXRpZXM8L2hlYWQ+Cis8cD5UaGUgZG9jdW1lbnQgZW50aXR5IGlzIHdlbGwtZm9ybWVkIGlmIGl0IG1hdGNoZXMgdGhlIHByb2R1Y3Rpb24gbGFiZWxlZAorPG50IGRlZj0iTlQtZG9jdW1lbnQiPmRvY3VtZW50PC9udD4uCitBbiBleHRlcm5hbCBnZW5lcmFsIAorcGFyc2VkIGVudGl0eSBpcyB3ZWxsLWZvcm1lZCBpZiBpdCBtYXRjaGVzIHRoZSBwcm9kdWN0aW9uIGxhYmVsZWQKKzxudCBkZWY9Ik5ULWV4dFBhcnNlZEVudCI+ZXh0UGFyc2VkRW50PC9udD4uCitBbiBleHRlcm5hbCBwYXJhbWV0ZXIKK2VudGl0eSBpcyB3ZWxsLWZvcm1lZCBpZiBpdCBtYXRjaGVzIHRoZSBwcm9kdWN0aW9uIGxhYmVsZWQKKzxudCBkZWY9Ik5ULWV4dFBFIj5leHRQRTwvbnQ+LgorPHNjcmFwIGxhbmc9ImVibmYiPgorPGhlYWQ+V2VsbC1Gb3JtZWQgRXh0ZXJuYWwgUGFyc2VkIEVudGl0eTwvaGVhZD4KKzxwcm9kIGlkPSJOVC1leHRQYXJzZWRFbnQiPjxsaHM+ZXh0UGFyc2VkRW50PC9saHM+Cis8cmhzPjxudCBkZWY9Ik5ULVRleHREZWNsIj5UZXh0RGVjbDwvbnQ+PyAKKzxudCBkZWY9Ik5ULWNvbnRlbnQiPmNvbnRlbnQ8L250PjwvcmhzPgorPC9wcm9kPgorPHByb2QgaWQ9Ik5ULWV4dFBFIj48bGhzPmV4dFBFPC9saHM+Cis8cmhzPjxudCBkZWY9Ik5ULVRleHREZWNsIj5UZXh0RGVjbDwvbnQ+PyAKKzxudCBkZWY9Ik5ULWV4dFN1YnNldERlY2wiPmV4dFN1YnNldERlY2w8L250PjwvcmhzPgorPC9wcm9kPgorPC9zY3JhcD4KK0FuIGludGVybmFsIGdlbmVyYWwgcGFyc2VkIGVudGl0eSBpcyB3ZWxsLWZvcm1lZCBpZiBpdHMgcmVwbGFjZW1lbnQgdGV4dCAKK21hdGNoZXMgdGhlIHByb2R1Y3Rpb24gbGFiZWxlZAorPG50IGRlZj0iTlQtY29udGVudCI+Y29udGVudDwvbnQ+LgorQWxsIGludGVybmFsIHBhcmFtZXRlciBlbnRpdGllcyBhcmUgd2VsbC1mb3JtZWQgYnkgZGVmaW5pdGlvbi4KKzwvcD4KKzxwPkEgY29uc2VxdWVuY2Ugb2Ygd2VsbC1mb3JtZWRuZXNzIGluIGVudGl0aWVzIGlzIHRoYXQgdGhlIGxvZ2ljYWwgCithbmQgcGh5c2ljYWwgc3RydWN0dXJlcyBpbiBhbiBYTUwgZG9jdW1lbnQgYXJlIHByb3Blcmx5IG5lc3RlZDsgbm8gCis8dGVybXJlZiBkZWY9ImR0LXN0YWciPnN0YXJ0LXRhZzwvdGVybXJlZj4sCis8dGVybXJlZiBkZWY9ImR0LWV0YWciPmVuZC10YWc8L3Rlcm1yZWY+LAorPHRlcm1yZWYgZGVmPSJkdC1lbXB0eSI+ZW1wdHktZWxlbWVudCB0YWc8L3Rlcm1yZWY+LAorPHRlcm1yZWYgZGVmPSJkdC1lbGVtZW50Ij5lbGVtZW50PC90ZXJtcmVmPiwgCis8dGVybXJlZiBkZWY9ImR0LWNvbW1lbnQiPmNvbW1lbnQ8L3Rlcm1yZWY+LCAKKzx0ZXJtcmVmIGRlZj0iZHQtcGkiPnByb2Nlc3NpbmcgaW5zdHJ1Y3Rpb248L3Rlcm1yZWY+LCAKKzx0ZXJtcmVmIGRlZj0iZHQtY2hhcnJlZiI+Y2hhcmFjdGVyCityZWZlcmVuY2U8L3Rlcm1yZWY+LCBvcgorPHRlcm1yZWYgZGVmPSJkdC1lbnRyZWYiPmVudGl0eSByZWZlcmVuY2U8L3Rlcm1yZWY+IAorY2FuIGJlZ2luIGluIG9uZSBlbnRpdHkgYW5kIGVuZCBpbiBhbm90aGVyLjwvcD4KKzwvZGl2Mz4KKzxkaXYzIGlkPSJjaGFyZW5jb2RpbmciPgorPGhlYWQ+Q2hhcmFjdGVyIEVuY29kaW5nIGluIEVudGl0aWVzPC9oZWFkPgorIAorPHA+RWFjaCBleHRlcm5hbCBwYXJzZWQgZW50aXR5IGluIGFuIFhNTCBkb2N1bWVudCBtYXkgdXNlIGEgZGlmZmVyZW50CitlbmNvZGluZyBmb3IgaXRzIGNoYXJhY3RlcnMuIEFsbCBYTUwgcHJvY2Vzc29ycyBtdXN0IGJlIGFibGUgdG8gcmVhZAorZW50aXRpZXMgaW4gZWl0aGVyIFVURi04IG9yIFVURi0xNi4gCisKKzwvcD4KKzxwPkVudGl0aWVzIGVuY29kZWQgaW4gVVRGLTE2IG11c3QKK2JlZ2luIHdpdGggdGhlIEJ5dGUgT3JkZXIgTWFyayBkZXNjcmliZWQgYnkgSVNPL0lFQyAxMDY0NiBBbm5leCBFIGFuZAorVW5pY29kZSBBcHBlbmRpeCBCICh0aGUgWkVSTyBXSURUSCBOTy1CUkVBSyBTUEFDRSBjaGFyYWN0ZXIsICN4RkVGRikuCitUaGlzIGlzIGFuIGVuY29kaW5nIHNpZ25hdHVyZSwgbm90IHBhcnQgb2YgZWl0aGVyIHRoZSBtYXJrdXAgb3IgdGhlCitjaGFyYWN0ZXIgZGF0YSBvZiB0aGUgWE1MIGRvY3VtZW50LgorWE1MIHByb2Nlc3NvcnMgbXVzdCBiZSBhYmxlIHRvIHVzZSB0aGlzIGNoYXJhY3RlciB0bworZGlmZmVyZW50aWF0ZSBiZXR3ZWVuIFVURi04IGFuZCBVVEYtMTYgZW5jb2RlZCBkb2N1bWVudHMuPC9wPgorPHA+QWx0aG91Z2ggYW4gWE1MIHByb2Nlc3NvciBpcyByZXF1aXJlZCB0byByZWFkIG9ubHkgZW50aXRpZXMgaW4KK3RoZSBVVEYtOCBhbmQgVVRGLTE2IGVuY29kaW5ncywgaXQgaXMgcmVjb2duaXplZCB0aGF0IG90aGVyIGVuY29kaW5ncyBhcmUKK3VzZWQgYXJvdW5kIHRoZSB3b3JsZCwgYW5kIGl0IG1heSBiZSBkZXNpcmVkIGZvciBYTUwgcHJvY2Vzc29ycwordG8gcmVhZCBlbnRpdGllcyB0aGF0IHVzZSB0aGVtLgorUGFyc2VkIGVudGl0aWVzIHdoaWNoIGFyZSBzdG9yZWQgaW4gYW4gZW5jb2Rpbmcgb3RoZXIgdGhhbgorVVRGLTggb3IgVVRGLTE2IG11c3QgYmVnaW4gd2l0aCBhIDx0aXRsZXJlZiBocmVmPSJUZXh0RGVjbCI+dGV4dAorZGVjbGFyYXRpb248L3RpdGxlcmVmPiBjb250YWluaW5nIGFuIGVuY29kaW5nIGRlY2xhcmF0aW9uOgorPHNjcmFwIGxhbmc9ImVibmYiPgorPGhlYWQ+RW5jb2RpbmcgRGVjbGFyYXRpb248L2hlYWQ+Cis8cHJvZCBpZD0iTlQtRW5jb2RpbmdEZWNsIj48bGhzPkVuY29kaW5nRGVjbDwvbGhzPgorPHJocz48bnQgZGVmPSJOVC1TIj5TPC9udD4KKydlbmNvZGluZycgPG50IGRlZj0iTlQtRXEiPkVxPC9udD4gCisoJyInIDxudCBkZWY9Ik5ULUVuY05hbWUiPkVuY05hbWU8L250PiAnIicgfCAKKyInIiA8bnQgZGVmPSJOVC1FbmNOYW1lIj5FbmNOYW1lPC9udD4gIiciICkKKzwvcmhzPgorPC9wcm9kPgorPHByb2QgaWQ9Ik5ULUVuY05hbWUiPjxsaHM+RW5jTmFtZTwvbGhzPgorPHJocz5bQS1aYS16XSAoW0EtWmEtejAtOS5fXSB8ICctJykqPC9yaHM+Cis8Y29tPkVuY29kaW5nIG5hbWUgY29udGFpbnMgb25seSBMYXRpbiBjaGFyYWN0ZXJzPC9jb20+Cis8L3Byb2Q+Cis8L3NjcmFwPgorSW4gdGhlIDx0ZXJtcmVmIGRlZj0iZHQtZG9jZW50Ij5kb2N1bWVudCBlbnRpdHk8L3Rlcm1yZWY+LCB0aGUgZW5jb2RpbmcKK2RlY2xhcmF0aW9uIGlzIHBhcnQgb2YgdGhlIDx0ZXJtcmVmIGRlZj0iZHQteG1sZGVjbCI+WE1MIGRlY2xhcmF0aW9uPC90ZXJtcmVmPi4KK1RoZSA8bnQgZGVmPSJOVC1FbmNOYW1lIj5FbmNOYW1lPC9udD4gaXMgdGhlIG5hbWUgb2YgdGhlIGVuY29kaW5nIHVzZWQuCis8L3A+Cis8IS0tIEZJTkFMIEVESVQ6ICBjaGVjayBuYW1lIG9mIElBTkEgYW5kIGNoYXJzZXQgbmFtZXMgLS0+Cis8cD5JbiBhbiBlbmNvZGluZyBkZWNsYXJhdGlvbiwgdGhlIHZhbHVlcworIjxjb2RlPlVURi04PC9jb2RlPiIsCisiPGNvZGU+VVRGLTE2PC9jb2RlPiIsCisiPGNvZGU+SVNPLTEwNjQ2LVVDUy0yPC9jb2RlPiIsIGFuZAorIjxjb2RlPklTTy0xMDY0Ni1VQ1MtNDwvY29kZT4iIHNob3VsZCBiZSAKK3VzZWQgZm9yIHRoZSB2YXJpb3VzIGVuY29kaW5ncyBhbmQgdHJhbnNmb3JtYXRpb25zIG9mIFVuaWNvZGUgLworSVNPL0lFQyAxMDY0NiwgdGhlIHZhbHVlcworIjxjb2RlPklTTy04ODU5LTE8L2NvZGU+IiwKKyI8Y29kZT5JU08tODg1OS0yPC9jb2RlPiIsIC4uLgorIjxjb2RlPklTTy04ODU5LTk8L2NvZGU+IiBzaG91bGQgYmUgdXNlZCBmb3IgdGhlIHBhcnRzIG9mIElTTyA4ODU5LCBhbmQKK3RoZSB2YWx1ZXMKKyI8Y29kZT5JU08tMjAyMi1KUDwvY29kZT4iLAorIjxjb2RlPlNoaWZ0X0pJUzwvY29kZT4iLCBhbmQKKyI8Y29kZT5FVUMtSlA8L2NvZGU+Igorc2hvdWxkIGJlIHVzZWQgZm9yIHRoZSB2YXJpb3VzIGVuY29kZWQgZm9ybXMgb2YgSklTIFgtMDIwOC0xOTk3LiAgWE1MCitwcm9jZXNzb3JzIG1heSByZWNvZ25pemUgb3RoZXIgZW5jb2RpbmdzOyBpdCBpcyByZWNvbW1lbmRlZCB0aGF0CitjaGFyYWN0ZXIgZW5jb2RpbmdzIHJlZ2lzdGVyZWQgKGFzIDxlbXBoPmNoYXJzZXQ8L2VtcGg+cykgCit3aXRoIHRoZSBJbnRlcm5ldCBBc3NpZ25lZCBOdW1iZXJzCitBdXRob3JpdHkgPGJpYnJlZiByZWY9IklBTkEiLz4sIG90aGVyIHRoYW4gdGhvc2UganVzdCBsaXN0ZWQsIHNob3VsZCBiZQorcmVmZXJyZWQgdG8KK3VzaW5nIHRoZWlyIHJlZ2lzdGVyZWQgbmFtZXMuCitOb3RlIHRoYXQgdGhlc2UgcmVnaXN0ZXJlZCBuYW1lcyBhcmUgZGVmaW5lZCB0byBiZSAKK2Nhc2UtaW5zZW5zaXRpdmUsIHNvIHByb2Nlc3NvcnMgd2lzaGluZyB0byBtYXRjaCBhZ2FpbnN0IHRoZW0gCitzaG91bGQgZG8gc28gaW4gYSBjYXNlLWluc2Vuc2l0aXZlCit3YXkuPC9wPgorPHA+SW4gdGhlIGFic2VuY2Ugb2YgaW5mb3JtYXRpb24gcHJvdmlkZWQgYnkgYW4gZXh0ZXJuYWwKK3RyYW5zcG9ydCBwcm90b2NvbCAoZS5nLiBIVFRQIG9yIE1JTUUpLCAKK2l0IGlzIGFuIDx0ZXJtcmVmIGRlZj0iZHQtZXJyb3IiPmVycm9yPC90ZXJtcmVmPiBmb3IgYW4gZW50aXR5IGluY2x1ZGluZworYW4gZW5jb2RpbmcgZGVjbGFyYXRpb24gdG8gYmUgcHJlc2VudGVkIHRvIHRoZSBYTUwgcHJvY2Vzc29yIAoraW4gYW4gZW5jb2Rpbmcgb3RoZXIgdGhhbiB0aGF0IG5hbWVkIGluIHRoZSBkZWNsYXJhdGlvbiwgCitmb3IgYW4gZW5jb2RpbmcgZGVjbGFyYXRpb24gdG8gb2NjdXIgb3RoZXIgdGhhbiBhdCB0aGUgYmVnaW5uaW5nIAorb2YgYW4gZXh0ZXJuYWwgZW50aXR5LCBvciBmb3IKK2FuIGVudGl0eSB3aGljaCBiZWdpbnMgd2l0aCBuZWl0aGVyIGEgQnl0ZSBPcmRlciBNYXJrIG5vciBhbiBlbmNvZGluZworZGVjbGFyYXRpb24gdG8gdXNlIGFuIGVuY29kaW5nIG90aGVyIHRoYW4gVVRGLTguCitOb3RlIHRoYXQgc2luY2UgQVNDSUkKK2lzIGEgc3Vic2V0IG9mIFVURi04LCBvcmRpbmFyeSBBU0NJSSBlbnRpdGllcyBkbyBub3Qgc3RyaWN0bHkgbmVlZAorYW4gZW5jb2RpbmcgZGVjbGFyYXRpb24uPC9wPgorCis8cD5JdCBpcyBhIDx0ZXJtcmVmIGRlZj0iZHQtZmF0YWwiPmZhdGFsIGVycm9yPC90ZXJtcmVmPiB3aGVuIGFuIFhNTCBwcm9jZXNzb3IKK2VuY291bnRlcnMgYW4gZW50aXR5IHdpdGggYW4gZW5jb2RpbmcgdGhhdCBpdCBpcyB1bmFibGUgdG8gcHJvY2Vzcy48L3A+Cis8cD5FeGFtcGxlcyBvZiBlbmNvZGluZyBkZWNsYXJhdGlvbnM6Cis8ZWc+Jmx0Oz94bWwgZW5jb2Rpbmc9J1VURi04Jz8mZ3Q7CismbHQ7P3htbCBlbmNvZGluZz0nRVVDLUpQJz8mZ3Q7PC9lZz48L3A+Cis8L2RpdjM+Cis8L2RpdjI+Cis8ZGl2MiBpZD0iZW50cHJvYyI+Cis8aGVhZD5YTUwgUHJvY2Vzc29yIFRyZWF0bWVudCBvZiBFbnRpdGllcyBhbmQgUmVmZXJlbmNlczwvaGVhZD4KKzxwPlRoZSB0YWJsZSBiZWxvdyBzdW1tYXJpemVzIHRoZSBjb250ZXh0cyBpbiB3aGljaCBjaGFyYWN0ZXIgcmVmZXJlbmNlcywKK2VudGl0eSByZWZlcmVuY2VzLCBhbmQgaW52b2NhdGlvbnMgb2YgdW5wYXJzZWQgZW50aXRpZXMgbWlnaHQgYXBwZWFyIGFuZCB0aGUKK3JlcXVpcmVkIGJlaGF2aW9yIG9mIGFuIDx0ZXJtcmVmIGRlZj0iZHQteG1sLXByb2MiPlhNTCBwcm9jZXNzb3I8L3Rlcm1yZWY+IGluCitlYWNoIGNhc2UuICAKK1RoZSBsYWJlbHMgaW4gdGhlIGxlZnRtb3N0IGNvbHVtbiBkZXNjcmliZSB0aGUgcmVjb2duaXRpb24gY29udGV4dDoKKzxnbGlzdD4KKzxnaXRlbT48bGFiZWw+UmVmZXJlbmNlIGluIENvbnRlbnQ8L2xhYmVsPgorPGRlZj48cD5hcyBhIHJlZmVyZW5jZQorYW55d2hlcmUgYWZ0ZXIgdGhlIDx0ZXJtcmVmIGRlZj0iZHQtc3RhZyI+c3RhcnQtdGFnPC90ZXJtcmVmPiBhbmQKK2JlZm9yZSB0aGUgPHRlcm1yZWYgZGVmPSJkdC1ldGFnIj5lbmQtdGFnPC90ZXJtcmVmPiBvZiBhbiBlbGVtZW50OyBjb3JyZXNwb25kcwordG8gdGhlIG5vbnRlcm1pbmFsIDxudCBkZWY9Ik5ULWNvbnRlbnQiPmNvbnRlbnQ8L250Pi48L3A+PC9kZWY+Cis8L2dpdGVtPgorPGdpdGVtPgorPGxhYmVsPlJlZmVyZW5jZSBpbiBBdHRyaWJ1dGUgVmFsdWU8L2xhYmVsPgorPGRlZj48cD5hcyBhIHJlZmVyZW5jZSB3aXRoaW4gZWl0aGVyIHRoZSB2YWx1ZSBvZiBhbiBhdHRyaWJ1dGUgaW4gYSAKKzx0ZXJtcmVmIGRlZj0iZHQtc3RhZyI+c3RhcnQtdGFnPC90ZXJtcmVmPiwgb3IgYSBkZWZhdWx0Cit2YWx1ZSBpbiBhbiA8dGVybXJlZiBkZWY9ImR0LWF0dGRlY2wiPmF0dHJpYnV0ZSBkZWNsYXJhdGlvbjwvdGVybXJlZj47Citjb3JyZXNwb25kcyB0byB0aGUgbm9udGVybWluYWwKKzxudCBkZWY9Ik5ULUF0dFZhbHVlIj5BdHRWYWx1ZTwvbnQ+LjwvcD48L2RlZj48L2dpdGVtPgorPGdpdGVtPgorPGxhYmVsPk9jY3VycyBhcyBBdHRyaWJ1dGUgVmFsdWU8L2xhYmVsPgorPGRlZj48cD5hcyBhIDxudCBkZWY9Ik5ULU5hbWUiPk5hbWU8L250Piwgbm90IGEgcmVmZXJlbmNlLCBhcHBlYXJpbmcgZWl0aGVyIGFzCit0aGUgdmFsdWUgb2YgYW4gCithdHRyaWJ1dGUgd2hpY2ggaGFzIGJlZW4gZGVjbGFyZWQgYXMgdHlwZSA8a3c+RU5USVRZPC9rdz4sIG9yIGFzIG9uZSBvZgordGhlIHNwYWNlLXNlcGFyYXRlZCB0b2tlbnMgaW4gdGhlIHZhbHVlIG9mIGFuIGF0dHJpYnV0ZSB3aGljaCBoYXMgYmVlbgorZGVjbGFyZWQgYXMgdHlwZSA8a3c+RU5USVRJRVM8L2t3Pi48L3A+Cis8L2RlZj48L2dpdGVtPgorPGdpdGVtPjxsYWJlbD5SZWZlcmVuY2UgaW4gRW50aXR5IFZhbHVlPC9sYWJlbD4KKzxkZWY+PHA+YXMgYSByZWZlcmVuY2UKK3dpdGhpbiBhIHBhcmFtZXRlciBvciBpbnRlcm5hbCBlbnRpdHkncyAKKzx0ZXJtcmVmIGRlZj0iZHQtbGl0ZW50dmFsIj5saXRlcmFsIGVudGl0eSB2YWx1ZTwvdGVybXJlZj4gaW4KK3RoZSBlbnRpdHkncyBkZWNsYXJhdGlvbjsgY29ycmVzcG9uZHMgdG8gdGhlIG5vbnRlcm1pbmFsIAorPG50IGRlZj0iTlQtRW50aXR5VmFsdWUiPkVudGl0eVZhbHVlPC9udD4uPC9wPjwvZGVmPjwvZ2l0ZW0+Cis8Z2l0ZW0+PGxhYmVsPlJlZmVyZW5jZSBpbiBEVEQ8L2xhYmVsPgorPGRlZj48cD5hcyBhIHJlZmVyZW5jZSB3aXRoaW4gZWl0aGVyIHRoZSBpbnRlcm5hbCBvciBleHRlcm5hbCBzdWJzZXRzIG9mIHRoZSAKKzx0ZXJtcmVmIGRlZj0iZHQtZG9jdHlwZSI+RFREPC90ZXJtcmVmPiwgYnV0IG91dHNpZGUKK29mIGFuIDxudCBkZWY9Ik5ULUVudGl0eVZhbHVlIj5FbnRpdHlWYWx1ZTwvbnQ+IG9yCis8bnQgZGVmPSJOVC1BdHRWYWx1ZSI+QXR0VmFsdWU8L250Pi48L3A+PC9kZWY+Cis8L2dpdGVtPgorPC9nbGlzdD48L3A+Cis8aHRhYmxlIGJvcmRlcj0iMSIgY2VsbHBhZGRpbmc9IjciIGFsaWduPSJjZW50ZXIiPgorPGh0Ym9keT4KKzx0cj48dGQgYmdjb2xvcj0iJmNlbGxiYWNrOyIgcm93c3Bhbj0iMiIgY29sc3Bhbj0iMSIvPgorPHRkIGJnY29sb3I9IiZjZWxsYmFjazsiIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0iYm90dG9tIiBjb2xzcGFuPSI0Ij5FbnRpdHkgVHlwZTwvdGQ+Cis8dGQgYmdjb2xvcj0iJmNlbGxiYWNrOyIgcm93c3Bhbj0iMiIgYWxpZ249ImNlbnRlciI+Q2hhcmFjdGVyPC90ZD4KKzwvdHI+Cis8dHIgYWxpZ249ImNlbnRlciIgdmFsaWduPSJib3R0b20iPgorPHRkIGJnY29sb3I9IiZjZWxsYmFjazsiPlBhcmFtZXRlcjwvdGQ+Cis8dGQgYmdjb2xvcj0iJmNlbGxiYWNrOyI+SW50ZXJuYWwKK0dlbmVyYWw8L3RkPgorPHRkIGJnY29sb3I9IiZjZWxsYmFjazsiPkV4dGVybmFsIFBhcnNlZAorR2VuZXJhbDwvdGQ+Cis8dGQgYmdjb2xvcj0iJmNlbGxiYWNrOyI+VW5wYXJzZWQ8L3RkPgorPC90cj4KKzx0ciBhbGlnbj0iY2VudGVyIiB2YWxpZ249Im1pZGRsZSI+CisKKzx0ZCBiZ2NvbG9yPSImY2VsbGJhY2s7IiBhbGlnbj0icmlnaHQiPlJlZmVyZW5jZQoraW4gQ29udGVudDwvdGQ+Cis8dGQgYmdjb2xvcj0iJmNlbGxiYWNrOyI+PHRpdGxlcmVmIGhyZWY9Im5vdC1yZWNvZ25pemVkIj5Ob3QgcmVjb2duaXplZDwvdGl0bGVyZWY+PC90ZD4KKzx0ZCBiZ2NvbG9yPSImY2VsbGJhY2s7Ij48dGl0bGVyZWYgaHJlZj0iaW5jbHVkZWQiPkluY2x1ZGVkPC90aXRsZXJlZj48L3RkPgorPHRkIGJnY29sb3I9IiZjZWxsYmFjazsiPjx0aXRsZXJlZiBocmVmPSJpbmNsdWRlLWlmLXZhbGlkIj5JbmNsdWRlZCBpZiB2YWxpZGF0aW5nPC90aXRsZXJlZj48L3RkPgorPHRkIGJnY29sb3I9IiZjZWxsYmFjazsiPjx0aXRsZXJlZiBocmVmPSJmb3JiaWRkZW4iPkZvcmJpZGRlbjwvdGl0bGVyZWY+PC90ZD4KKzx0ZCBiZ2NvbG9yPSImY2VsbGJhY2s7Ij48dGl0bGVyZWYgaHJlZj0iaW5jbHVkZWQiPkluY2x1ZGVkPC90aXRsZXJlZj48L3RkPgorPC90cj4KKzx0ciBhbGlnbj0iY2VudGVyIiB2YWxpZ249Im1pZGRsZSI+Cis8dGQgYmdjb2xvcj0iJmNlbGxiYWNrOyIgYWxpZ249InJpZ2h0Ij5SZWZlcmVuY2UKK2luIEF0dHJpYnV0ZSBWYWx1ZTwvdGQ+Cis8dGQgYmdjb2xvcj0iJmNlbGxiYWNrOyI+PHRpdGxlcmVmIGhyZWY9Im5vdC1yZWNvZ25pemVkIj5Ob3QgcmVjb2duaXplZDwvdGl0bGVyZWY+PC90ZD4KKzx0ZCBiZ2NvbG9yPSImY2VsbGJhY2s7Ij48dGl0bGVyZWYgaHJlZj0iaW5saXRlcmFsIj5JbmNsdWRlZCBpbiBsaXRlcmFsPC90aXRsZXJlZj48L3RkPgorPHRkIGJnY29sb3I9IiZjZWxsYmFjazsiPjx0aXRsZXJlZiBocmVmPSJmb3JiaWRkZW4iPkZvcmJpZGRlbjwvdGl0bGVyZWY+PC90ZD4KKzx0ZCBiZ2NvbG9yPSImY2VsbGJhY2s7Ij48dGl0bGVyZWYgaHJlZj0iZm9yYmlkZGVuIj5Gb3JiaWRkZW48L3RpdGxlcmVmPjwvdGQ+Cis8dGQgYmdjb2xvcj0iJmNlbGxiYWNrOyI+PHRpdGxlcmVmIGhyZWY9ImluY2x1ZGVkIj5JbmNsdWRlZDwvdGl0bGVyZWY+PC90ZD4KKzwvdHI+Cis8dHIgYWxpZ249ImNlbnRlciIgdmFsaWduPSJtaWRkbGUiPgorPHRkIGJnY29sb3I9IiZjZWxsYmFjazsiIGFsaWduPSJyaWdodCI+T2NjdXJzIGFzCitBdHRyaWJ1dGUgVmFsdWU8L3RkPgorPHRkIGJnY29sb3I9IiZjZWxsYmFjazsiPjx0aXRsZXJlZiBocmVmPSJub3QtcmVjb2duaXplZCI+Tm90IHJlY29nbml6ZWQ8L3RpdGxlcmVmPjwvdGQ+Cis8dGQgYmdjb2xvcj0iJmNlbGxiYWNrOyI+PHRpdGxlcmVmIGhyZWY9Im5vdC1yZWNvZ25pemVkIj5Gb3JiaWRkZW48L3RpdGxlcmVmPjwvdGQ+Cis8dGQgYmdjb2xvcj0iJmNlbGxiYWNrOyI+PHRpdGxlcmVmIGhyZWY9Im5vdC1yZWNvZ25pemVkIj5Gb3JiaWRkZW48L3RpdGxlcmVmPjwvdGQ+Cis8dGQgYmdjb2xvcj0iJmNlbGxiYWNrOyI+PHRpdGxlcmVmIGhyZWY9Im5vdGlmeSI+Tm90aWZ5PC90aXRsZXJlZj48L3RkPgorPHRkIGJnY29sb3I9IiZjZWxsYmFjazsiPjx0aXRsZXJlZiBocmVmPSJub3QgcmVjb2duaXplZCI+Tm90IHJlY29nbml6ZWQ8L3RpdGxlcmVmPjwvdGQ+Cis8L3RyPgorPHRyIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0ibWlkZGxlIj4KKzx0ZCBiZ2NvbG9yPSImY2VsbGJhY2s7IiBhbGlnbj0icmlnaHQiPlJlZmVyZW5jZQoraW4gRW50aXR5VmFsdWU8L3RkPgorPHRkIGJnY29sb3I9IiZjZWxsYmFjazsiPjx0aXRsZXJlZiBocmVmPSJpbmxpdGVyYWwiPkluY2x1ZGVkIGluIGxpdGVyYWw8L3RpdGxlcmVmPjwvdGQ+Cis8dGQgYmdjb2xvcj0iJmNlbGxiYWNrOyI+PHRpdGxlcmVmIGhyZWY9ImJ5cGFzcyI+QnlwYXNzZWQ8L3RpdGxlcmVmPjwvdGQ+Cis8dGQgYmdjb2xvcj0iJmNlbGxiYWNrOyI+PHRpdGxlcmVmIGhyZWY9ImJ5cGFzcyI+QnlwYXNzZWQ8L3RpdGxlcmVmPjwvdGQ+Cis8dGQgYmdjb2xvcj0iJmNlbGxiYWNrOyI+PHRpdGxlcmVmIGhyZWY9ImZvcmJpZGRlbiI+Rm9yYmlkZGVuPC90aXRsZXJlZj48L3RkPgorPHRkIGJnY29sb3I9IiZjZWxsYmFjazsiPjx0aXRsZXJlZiBocmVmPSJpbmNsdWRlZCI+SW5jbHVkZWQ8L3RpdGxlcmVmPjwvdGQ+Cis8L3RyPgorPHRyIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0ibWlkZGxlIj4KKzx0ZCBiZ2NvbG9yPSImY2VsbGJhY2s7IiBhbGlnbj0icmlnaHQiPlJlZmVyZW5jZQoraW4gRFREPC90ZD4KKzx0ZCBiZ2NvbG9yPSImY2VsbGJhY2s7Ij48dGl0bGVyZWYgaHJlZj0iYXMtUEUiPkluY2x1ZGVkIGFzIFBFPC90aXRsZXJlZj48L3RkPgorPHRkIGJnY29sb3I9IiZjZWxsYmFjazsiPjx0aXRsZXJlZiBocmVmPSJmb3JiaWRkZW4iPkZvcmJpZGRlbjwvdGl0bGVyZWY+PC90ZD4KKzx0ZCBiZ2NvbG9yPSImY2VsbGJhY2s7Ij48dGl0bGVyZWYgaHJlZj0iZm9yYmlkZGVuIj5Gb3JiaWRkZW48L3RpdGxlcmVmPjwvdGQ+Cis8dGQgYmdjb2xvcj0iJmNlbGxiYWNrOyI+PHRpdGxlcmVmIGhyZWY9ImZvcmJpZGRlbiI+Rm9yYmlkZGVuPC90aXRsZXJlZj48L3RkPgorPHRkIGJnY29sb3I9IiZjZWxsYmFjazsiPjx0aXRsZXJlZiBocmVmPSJmb3JiaWRkZW4iPkZvcmJpZGRlbjwvdGl0bGVyZWY+PC90ZD4KKzwvdHI+Cis8L2h0Ym9keT4KKzwvaHRhYmxlPgorPGRpdjMgaWQ9Im5vdC1yZWNvZ25pemVkIj4KKzxoZWFkPk5vdCBSZWNvZ25pemVkPC9oZWFkPgorPHA+T3V0c2lkZSB0aGUgRFRELCB0aGUgPGNvZGU+JTwvY29kZT4gY2hhcmFjdGVyIGhhcyBubworc3BlY2lhbCBzaWduaWZpY2FuY2U7IHRodXMsIHdoYXQgd291bGQgYmUgcGFyYW1ldGVyIGVudGl0eSByZWZlcmVuY2VzIGluIHRoZQorRFREIGFyZSBub3QgcmVjb2duaXplZCBhcyBtYXJrdXAgaW4gPG50IGRlZj0iTlQtY29udGVudCI+Y29udGVudDwvbnQ+LgorU2ltaWxhcmx5LCB0aGUgbmFtZXMgb2YgdW5wYXJzZWQgZW50aXRpZXMgYXJlIG5vdCByZWNvZ25pemVkIGV4Y2VwdAord2hlbiB0aGV5IGFwcGVhciBpbiB0aGUgdmFsdWUgb2YgYW4gYXBwcm9wcmlhdGVseSBkZWNsYXJlZCBhdHRyaWJ1dGUuCis8L3A+Cis8L2RpdjM+Cis8ZGl2MyBpZD0iaW5jbHVkZWQiPgorPGhlYWQ+SW5jbHVkZWQ8L2hlYWQ+Cis8cD48dGVybWRlZiBpZD0iZHQtaW5jbHVkZSIgdGVybT0iSW5jbHVkZSI+QW4gZW50aXR5IGlzIAorPHRlcm0+aW5jbHVkZWQ8L3Rlcm0+IHdoZW4gaXRzIAorPHRlcm1yZWYgZGVmPSJkdC1yZXBsdGV4dCI+cmVwbGFjZW1lbnQgdGV4dDwvdGVybXJlZj4gaXMgcmV0cmlldmVkIAorYW5kIHByb2Nlc3NlZCwgaW4gcGxhY2Ugb2YgdGhlIHJlZmVyZW5jZSBpdHNlbGYsCithcyB0aG91Z2ggaXQgd2VyZSBwYXJ0IG9mIHRoZSBkb2N1bWVudCBhdCB0aGUgbG9jYXRpb24gdGhlCityZWZlcmVuY2Ugd2FzIHJlY29nbml6ZWQuCitUaGUgcmVwbGFjZW1lbnQgdGV4dCBtYXkgY29udGFpbiBib3RoIAorPHRlcm1yZWYgZGVmPSJkdC1jaGFyZGF0YSI+Y2hhcmFjdGVyIGRhdGE8L3Rlcm1yZWY+CithbmQgKGV4Y2VwdCBmb3IgcGFyYW1ldGVyIGVudGl0aWVzKSA8dGVybXJlZiBkZWY9ImR0LW1hcmt1cCI+bWFya3VwPC90ZXJtcmVmPiwKK3doaWNoIG11c3QgYmUgcmVjb2duaXplZCBpbgordGhlIHVzdWFsIHdheSwgZXhjZXB0IHRoYXQgdGhlIHJlcGxhY2VtZW50IHRleHQgb2YgZW50aXRpZXMgdXNlZCB0byBlc2NhcGUKK21hcmt1cCBkZWxpbWl0ZXJzICh0aGUgZW50aXRpZXMgJm1hZ2ljZW50czspIGlzIGFsd2F5cyB0cmVhdGVkIGFzCitkYXRhLiAgKFRoZSBzdHJpbmcgIjxjb2RlPkFUJmFtcDthbXA7VDs8L2NvZGU+IiBleHBhbmRzIHRvCisiPGNvZGU+QVQmYW1wO1Q7PC9jb2RlPiIgYW5kIHRoZSByZW1haW5pbmcgYW1wZXJzYW5kIGlzIG5vdCByZWNvZ25pemVkCithcyBhbiBlbnRpdHktcmVmZXJlbmNlIGRlbGltaXRlci4pIAorQSBjaGFyYWN0ZXIgcmVmZXJlbmNlIGlzIDx0ZXJtPmluY2x1ZGVkPC90ZXJtPiB3aGVuIHRoZSBpbmRpY2F0ZWQKK2NoYXJhY3RlciBpcyBwcm9jZXNzZWQgaW4gcGxhY2Ugb2YgdGhlIHJlZmVyZW5jZSBpdHNlbGYuCis8L3Rlcm1kZWY+PC9wPgorPC9kaXYzPgorPGRpdjMgaWQ9ImluY2x1ZGUtaWYtdmFsaWQiPgorPGhlYWQ+SW5jbHVkZWQgSWYgVmFsaWRhdGluZzwvaGVhZD4KKzxwPldoZW4gYW4gWE1MIHByb2Nlc3NvciByZWNvZ25pemVzIGEgcmVmZXJlbmNlIHRvIGEgcGFyc2VkIGVudGl0eSwgaW4gb3JkZXIKK3RvIDx0ZXJtcmVmIGRlZj0iZHQtdmFsaWQiPnZhbGlkYXRlPC90ZXJtcmVmPgordGhlIGRvY3VtZW50LCB0aGUgcHJvY2Vzc29yIG11c3QgCis8dGVybXJlZiBkZWY9ImR0LWluY2x1ZGUiPmluY2x1ZGU8L3Rlcm1yZWY+IGl0cworcmVwbGFjZW1lbnQgdGV4dC4KK0lmIHRoZSBlbnRpdHkgaXMgZXh0ZXJuYWwsIGFuZCB0aGUgcHJvY2Vzc29yIGlzIG5vdAorYXR0ZW1wdGluZyB0byB2YWxpZGF0ZSB0aGUgWE1MIGRvY3VtZW50LCB0aGUKK3Byb2Nlc3NvciA8dGVybXJlZiBkZWY9ImR0LW1heSI+bWF5PC90ZXJtcmVmPiwgYnV0IG5lZWQgbm90LCAKK2luY2x1ZGUgdGhlIGVudGl0eSdzIHJlcGxhY2VtZW50IHRleHQuCitJZiBhIG5vbi12YWxpZGF0aW5nIHBhcnNlciBkb2VzIG5vdCBpbmNsdWRlIHRoZSByZXBsYWNlbWVudCB0ZXh0LAoraXQgbXVzdCBpbmZvcm0gdGhlIGFwcGxpY2F0aW9uIHRoYXQgaXQgcmVjb2duaXplZCwgYnV0IGRpZCBub3QKK3JlYWQsIHRoZSBlbnRpdHkuPC9wPgorPHA+VGhpcyBydWxlIGlzIGJhc2VkIG9uIHRoZSByZWNvZ25pdGlvbiB0aGF0IHRoZSBhdXRvbWF0aWMgaW5jbHVzaW9uCitwcm92aWRlZCBieSB0aGUgU0dNTCBhbmQgWE1MIGVudGl0eSBtZWNoYW5pc20sIHByaW1hcmlseSBkZXNpZ25lZAordG8gc3VwcG9ydCBtb2R1bGFyaXR5IGluIGF1dGhvcmluZywgaXMgbm90IG5lY2Vzc2FyaWx5IAorYXBwcm9wcmlhdGUgZm9yIG90aGVyIGFwcGxpY2F0aW9ucywgaW4gcGFydGljdWxhciBkb2N1bWVudCBicm93c2luZy4KK0Jyb3dzZXJzLCBmb3IgZXhhbXBsZSwgd2hlbiBlbmNvdW50ZXJpbmcgYW4gZXh0ZXJuYWwgcGFyc2VkIGVudGl0eSByZWZlcmVuY2UsCittaWdodCBjaG9vc2UgdG8gcHJvdmlkZSBhIHZpc3VhbCBpbmRpY2F0aW9uIG9mIHRoZSBlbnRpdHkncworcHJlc2VuY2UgYW5kIHJldHJpZXZlIGl0IGZvciBkaXNwbGF5IG9ubHkgb24gZGVtYW5kLgorPC9wPgorPC9kaXYzPgorPGRpdjMgaWQ9ImZvcmJpZGRlbiI+Cis8aGVhZD5Gb3JiaWRkZW48L2hlYWQ+Cis8cD5UaGUgZm9sbG93aW5nIGFyZSBmb3JiaWRkZW4sIGFuZCBjb25zdGl0dXRlCis8dGVybXJlZiBkZWY9ImR0LWZhdGFsIj5mYXRhbDwvdGVybXJlZj4gZXJyb3JzOgorPHVsaXN0PgorPGl0ZW0+PHA+dGhlIGFwcGVhcmFuY2Ugb2YgYSByZWZlcmVuY2UgdG8gYW4KKzx0ZXJtcmVmIGRlZj0iZHQtdW5wYXJzZWQiPnVucGFyc2VkIGVudGl0eTwvdGVybXJlZj4uCis8L3A+PC9pdGVtPgorPGl0ZW0+PHA+dGhlIGFwcGVhcmFuY2Ugb2YgYW55IGNoYXJhY3RlciBvciBnZW5lcmFsLWVudGl0eSByZWZlcmVuY2UgaW4gdGhlCitEVEQgZXhjZXB0IHdpdGhpbiBhbiA8bnQgZGVmPSJOVC1FbnRpdHlWYWx1ZSI+RW50aXR5VmFsdWU8L250PiBvciAKKzxudCBkZWY9Ik5ULUF0dFZhbHVlIj5BdHRWYWx1ZTwvbnQ+LjwvcD48L2l0ZW0+Cis8aXRlbT48cD5hIHJlZmVyZW5jZSB0byBhbiBleHRlcm5hbCBlbnRpdHkgaW4gYW4gYXR0cmlidXRlIHZhbHVlLjwvcD4KKzwvaXRlbT4KKzwvdWxpc3Q+Cis8L3A+Cis8L2RpdjM+Cis8ZGl2MyBpZD0iaW5saXRlcmFsIj4KKzxoZWFkPkluY2x1ZGVkIGluIExpdGVyYWw8L2hlYWQ+Cis8cD5XaGVuIGFuIDx0ZXJtcmVmIGRlZj0iZHQtZW50cmVmIj5lbnRpdHkgcmVmZXJlbmNlPC90ZXJtcmVmPiBhcHBlYXJzIGluIGFuCithdHRyaWJ1dGUgdmFsdWUsIG9yIGEgcGFyYW1ldGVyIGVudGl0eSByZWZlcmVuY2UgYXBwZWFycyBpbiBhIGxpdGVyYWwgZW50aXR5Cit2YWx1ZSwgaXRzIDx0ZXJtcmVmIGRlZj0iZHQtcmVwbHRleHQiPnJlcGxhY2VtZW50IHRleHQ8L3Rlcm1yZWY+IGlzCitwcm9jZXNzZWQgaW4gcGxhY2Ugb2YgdGhlIHJlZmVyZW5jZSBpdHNlbGYgYXMgdGhvdWdoIGl0Cit3ZXJlIHBhcnQgb2YgdGhlIGRvY3VtZW50IGF0IHRoZSBsb2NhdGlvbiB0aGUgcmVmZXJlbmNlIHdhcyByZWNvZ25pemVkLAorZXhjZXB0IHRoYXQgYSBzaW5nbGUgb3IgZG91YmxlIHF1b3RlIGNoYXJhY3RlciBpbiB0aGUgcmVwbGFjZW1lbnQgdGV4dAoraXMgYWx3YXlzIHRyZWF0ZWQgYXMgYSBub3JtYWwgZGF0YSBjaGFyYWN0ZXIgYW5kIHdpbGwgbm90IHRlcm1pbmF0ZSB0aGUKK2xpdGVyYWwuIAorRm9yIGV4YW1wbGUsIHRoaXMgaXMgd2VsbC1mb3JtZWQ6Cis8ZWc+PCFbQ0RBVEFbPCFFTlRJVFkgJSBZTiAnIlllcyInID4KKzwhRU5USVRZIFdoYXRIZVNhaWQgIkhlIHNhaWQgJllOOyIgPl1dPjwvZWc+Cit3aGlsZSB0aGlzIGlzIG5vdDoKKzxlZz4mbHQ7IUVOVElUWSBFbmRBdHRyICIyNyciICZndDsKKyZsdDtlbGVtZW50IGF0dHJpYnV0ZT0nYS0mYW1wO0VuZEF0dHI7Jmd0OzwvZWc+Cis8L3A+PC9kaXYzPgorPGRpdjMgaWQ9Im5vdGlmeSI+Cis8aGVhZD5Ob3RpZnk8L2hlYWQ+Cis8cD5XaGVuIHRoZSBuYW1lIG9mIGFuIDx0ZXJtcmVmIGRlZj0iZHQtdW5wYXJzZWQiPnVucGFyc2VkCitlbnRpdHk8L3Rlcm1yZWY+IGFwcGVhcnMgYXMgYSB0b2tlbiBpbiB0aGUKK3ZhbHVlIG9mIGFuIGF0dHJpYnV0ZSBvZiBkZWNsYXJlZCB0eXBlIDxrdz5FTlRJVFk8L2t3PiBvciA8a3c+RU5USVRJRVM8L2t3PiwKK2EgdmFsaWRhdGluZyBwcm9jZXNzb3IgbXVzdCBpbmZvcm0gdGhlCithcHBsaWNhdGlvbiBvZiB0aGUgPHRlcm1yZWYgZGVmPSJkdC1zeXNpZCI+c3lzdGVtPC90ZXJtcmVmPiAKK2FuZCA8dGVybXJlZiBkZWY9ImR0LXB1YmlkIj5wdWJsaWM8L3Rlcm1yZWY+IChpZiBhbnkpCitpZGVudGlmaWVycyBmb3IgYm90aCB0aGUgZW50aXR5IGFuZCBpdHMgYXNzb2NpYXRlZAorPHRlcm1yZWYgZGVmPSJkdC1ub3RhdGlvbiI+bm90YXRpb248L3Rlcm1yZWY+LjwvcD4KKzwvZGl2Mz4KKzxkaXYzIGlkPSJieXBhc3MiPgorPGhlYWQ+QnlwYXNzZWQ8L2hlYWQ+Cis8cD5XaGVuIGEgZ2VuZXJhbCBlbnRpdHkgcmVmZXJlbmNlIGFwcGVhcnMgaW4gdGhlCis8bnQgZGVmPSJOVC1FbnRpdHlWYWx1ZSI+RW50aXR5VmFsdWU8L250PiBpbiBhbiBlbnRpdHkgZGVjbGFyYXRpb24sCitpdCBpcyBieXBhc3NlZCBhbmQgbGVmdCBhcyBpcy48L3A+Cis8L2RpdjM+Cis8ZGl2MyBpZD0iYXMtUEUiPgorPGhlYWQ+SW5jbHVkZWQgYXMgUEU8L2hlYWQ+Cis8cD5KdXN0IGFzIHdpdGggZXh0ZXJuYWwgcGFyc2VkIGVudGl0aWVzLCBwYXJhbWV0ZXIgZW50aXRpZXMKK25lZWQgb25seSBiZSA8dGl0bGVyZWYgaHJlZj0iaW5jbHVkZS1pZi12YWxpZCI+aW5jbHVkZWQgaWYKK3ZhbGlkYXRpbmc8L3RpdGxlcmVmPi4gCitXaGVuIGEgcGFyYW1ldGVyLWVudGl0eSByZWZlcmVuY2UgaXMgcmVjb2duaXplZCBpbiB0aGUgRFRECithbmQgaW5jbHVkZWQsIGl0cyAKKzx0ZXJtcmVmIGRlZj0iZHQtcmVwbHRleHQiPnJlcGxhY2VtZW50Cit0ZXh0PC90ZXJtcmVmPiBpcyBlbmxhcmdlZCBieSB0aGUgYXR0YWNobWVudCBvZiBvbmUgbGVhZGluZyBhbmQgb25lIGZvbGxvd2luZworc3BhY2UgKCN4MjApIGNoYXJhY3RlcjsgdGhlIGludGVudCBpcyB0byBjb25zdHJhaW4gdGhlIHJlcGxhY2VtZW50Cit0ZXh0IG9mIHBhcmFtZXRlciAKK2VudGl0aWVzIHRvIGNvbnRhaW4gYW4gaW50ZWdyYWwgbnVtYmVyIG9mIGdyYW1tYXRpY2FsIHRva2VucyBpbiB0aGUgRFRELgorPC9wPgorPC9kaXYzPgorCis8L2RpdjI+Cis8ZGl2MiBpZD0iaW50ZXJuLXJlcGxhY2VtZW50Ij4KKzxoZWFkPkNvbnN0cnVjdGlvbiBvZiBJbnRlcm5hbCBFbnRpdHkgUmVwbGFjZW1lbnQgVGV4dDwvaGVhZD4KKzxwPkluIGRpc2N1c3NpbmcgdGhlIHRyZWF0bWVudAorb2YgaW50ZXJuYWwgZW50aXRpZXMsIGl0IGlzICAKK3VzZWZ1bCB0byBkaXN0aW5ndWlzaCB0d28gZm9ybXMgb2YgdGhlIGVudGl0eSdzIHZhbHVlLgorPHRlcm1kZWYgaWQ9ImR0LWxpdGVudHZhbCIgdGVybT0iTGl0ZXJhbCBFbnRpdHkgVmFsdWUiPlRoZSA8dGVybT5saXRlcmFsCitlbnRpdHkgdmFsdWU8L3Rlcm0+IGlzIHRoZSBxdW90ZWQgc3RyaW5nIGFjdHVhbGx5CitwcmVzZW50IGluIHRoZSBlbnRpdHkgZGVjbGFyYXRpb24sIGNvcnJlc3BvbmRpbmcgdG8gdGhlCitub24tdGVybWluYWwgPG50IGRlZj0iTlQtRW50aXR5VmFsdWUiPkVudGl0eVZhbHVlPC9udD4uPC90ZXJtZGVmPgorPHRlcm1kZWYgaWQ9ImR0LXJlcGx0ZXh0IiB0ZXJtPSJSZXBsYWNlbWVudCBUZXh0Ij5UaGUgPHRlcm0+cmVwbGFjZW1lbnQKK3RleHQ8L3Rlcm0+IGlzIHRoZSBjb250ZW50IG9mIHRoZSBlbnRpdHksIGFmdGVyCityZXBsYWNlbWVudCBvZiBjaGFyYWN0ZXIgcmVmZXJlbmNlcyBhbmQgcGFyYW1ldGVyLWVudGl0eQorcmVmZXJlbmNlcy4KKzwvdGVybWRlZj48L3A+CisKKzxwPlRoZSBsaXRlcmFsIGVudGl0eSB2YWx1ZSAKK2FzIGdpdmVuIGluIGFuIGludGVybmFsIGVudGl0eSBkZWNsYXJhdGlvbgorKDxudCBkZWY9Ik5ULUVudGl0eVZhbHVlIj5FbnRpdHlWYWx1ZTwvbnQ+KSBtYXkgY29udGFpbiBjaGFyYWN0ZXIsCitwYXJhbWV0ZXItZW50aXR5LCBhbmQgZ2VuZXJhbC1lbnRpdHkgcmVmZXJlbmNlcy4KK1N1Y2ggcmVmZXJlbmNlcyBtdXN0IGJlIGNvbnRhaW5lZCBlbnRpcmVseSB3aXRoaW4gdGhlCitsaXRlcmFsIGVudGl0eSB2YWx1ZS4KK1RoZSBhY3R1YWwgcmVwbGFjZW1lbnQgdGV4dCB0aGF0IGlzIAorPHRlcm1yZWYgZGVmPSJkdC1pbmNsdWRlIj5pbmNsdWRlZDwvdGVybXJlZj4gYXMgZGVzY3JpYmVkIGFib3ZlCittdXN0IGNvbnRhaW4gdGhlIDxlbXBoPnJlcGxhY2VtZW50IHRleHQ8L2VtcGg+IG9mIGFueSAKK3BhcmFtZXRlciBlbnRpdGllcyByZWZlcnJlZCB0bywgYW5kIG11c3QgY29udGFpbiB0aGUgY2hhcmFjdGVyCityZWZlcnJlZCB0bywgaW4gcGxhY2Ugb2YgYW55IGNoYXJhY3RlciByZWZlcmVuY2VzIGluIHRoZQorbGl0ZXJhbCBlbnRpdHkgdmFsdWU7IGhvd2V2ZXIsCitnZW5lcmFsLWVudGl0eSByZWZlcmVuY2VzIG11c3QgYmUgbGVmdCBhcy1pcywgdW5leHBhbmRlZC4KK0ZvciBleGFtcGxlLCBnaXZlbiB0aGUgZm9sbG93aW5nIGRlY2xhcmF0aW9uczoKKworPGVnPjwhW0NEQVRBWzwhRU5USVRZICUgcHViICAgICImI3hjOTtkaXRpb25zIEdhbGxpbWFyZCIgPgorPCFFTlRJVFkgICByaWdodHMgIkFsbCByaWdodHMgcmVzZXJ2ZWQiID4KKzwhRU5USVRZICAgYm9vayAgICJMYSBQZXN0ZTogQWxiZXJ0IENhbXVzLCAKKyYjeEE5OyAxOTQ3ICVwdWI7LiAmcmlnaHRzOyIgPl1dPjwvZWc+Cit0aGVuIHRoZSByZXBsYWNlbWVudCB0ZXh0IGZvciB0aGUgZW50aXR5ICI8Y29kZT5ib29rPC9jb2RlPiIgaXM6Cis8ZWc+TGEgUGVzdGU6IEFsYmVydCBDYW11cywgCiupIDE5NDcgyWRpdGlvbnMgR2FsbGltYXJkLiAmYW1wO3JpZ2h0czs8L2VnPgorVGhlIGdlbmVyYWwtZW50aXR5IHJlZmVyZW5jZSAiPGNvZGU+JmFtcDtyaWdodHM7PC9jb2RlPiIgd291bGQgYmUgZXhwYW5kZWQKK3Nob3VsZCB0aGUgcmVmZXJlbmNlICI8Y29kZT4mYW1wO2Jvb2s7PC9jb2RlPiIgYXBwZWFyIGluIHRoZSBkb2N1bWVudCdzCitjb250ZW50IG9yIGFuIGF0dHJpYnV0ZSB2YWx1ZS48L3A+Cis8cD5UaGVzZSBzaW1wbGUgcnVsZXMgbWF5IGhhdmUgY29tcGxleCBpbnRlcmFjdGlvbnM7IGZvciBhIGRldGFpbGVkCitkaXNjdXNzaW9uIG9mIGEgZGlmZmljdWx0IGV4YW1wbGUsIHNlZQorPHNwZWNyZWYgcmVmPSJzZWMtZW50ZXhwYW5kIi8+LgorPC9wPgorCis8L2RpdjI+Cis8ZGl2MiBpZD0ic2VjLXByZWRlZmluZWQtZW50Ij4KKzxoZWFkPlByZWRlZmluZWQgRW50aXRpZXM8L2hlYWQ+Cis8cD48dGVybWRlZiBpZD0iZHQtZXNjYXBlIiB0ZXJtPSJlc2NhcGUiPkVudGl0eSBhbmQgY2hhcmFjdGVyCityZWZlcmVuY2VzIGNhbiBib3RoIGJlIHVzZWQgdG8gPHRlcm0+ZXNjYXBlPC90ZXJtPiB0aGUgbGVmdCBhbmdsZSBicmFja2V0LAorYW1wZXJzYW5kLCBhbmQgb3RoZXIgZGVsaW1pdGVycy4gICBBIHNldCBvZiBnZW5lcmFsIGVudGl0aWVzCisoJm1hZ2ljZW50czspIGlzIHNwZWNpZmllZCBmb3IgdGhpcyBwdXJwb3NlLgorTnVtZXJpYyBjaGFyYWN0ZXIgcmVmZXJlbmNlcyBtYXkgYWxzbyBiZSB1c2VkOyB0aGV5IGFyZQorZXhwYW5kZWQgaW1tZWRpYXRlbHkgd2hlbiByZWNvZ25pemVkIGFuZCBtdXN0IGJlIHRyZWF0ZWQgYXMKK2NoYXJhY3RlciBkYXRhLCBzbyB0aGUgbnVtZXJpYyBjaGFyYWN0ZXIgcmVmZXJlbmNlcworIjxjb2RlPiZhbXA7IzYwOzwvY29kZT4iIGFuZCAiPGNvZGU+JmFtcDsjMzg7PC9jb2RlPiIgbWF5IGJlIHVzZWQgdG8gCitlc2NhcGUgPGNvZGU+Jmx0OzwvY29kZT4gYW5kIDxjb2RlPiZhbXA7PC9jb2RlPiB3aGVuIHRoZXkgb2NjdXIKK2luIGNoYXJhY3RlciBkYXRhLjwvdGVybWRlZj48L3A+Cis8cD5BbGwgWE1MIHByb2Nlc3NvcnMgbXVzdCByZWNvZ25pemUgdGhlc2UgZW50aXRpZXMgd2hldGhlciB0aGV5CithcmUgZGVjbGFyZWQgb3Igbm90LiAgCis8dGVybXJlZiBkZWY9ImR0LWludGVyb3AiPkZvciBpbnRlcm9wZXJhYmlsaXR5PC90ZXJtcmVmPiwKK3ZhbGlkIFhNTCBkb2N1bWVudHMgc2hvdWxkIGRlY2xhcmUgdGhlc2UKK2VudGl0aWVzLCBsaWtlIGFueSBvdGhlcnMsIGJlZm9yZSB1c2luZyB0aGVtLgorSWYgdGhlIGVudGl0aWVzIGluIHF1ZXN0aW9uIGFyZSBkZWNsYXJlZCwgdGhleSBtdXN0IGJlIGRlY2xhcmVkCithcyBpbnRlcm5hbCBlbnRpdGllcyB3aG9zZSByZXBsYWNlbWVudCB0ZXh0IGlzIHRoZSBzaW5nbGUKK2NoYXJhY3RlciBiZWluZyBlc2NhcGVkIG9yIGEgY2hhcmFjdGVyIHJlZmVyZW5jZSB0bwordGhhdCBjaGFyYWN0ZXIsIGFzIHNob3duIGJlbG93LgorPGVnPjwhW0NEQVRBWzwhRU5USVRZIGx0ICAgICAiJiMzODsjNjA7Ij4gCis8IUVOVElUWSBndCAgICAgIiYjNjI7Ij4gCis8IUVOVElUWSBhbXAgICAgIiYjMzg7IzM4OyI+IAorPCFFTlRJVFkgYXBvcyAgICImIzM5OyI+IAorPCFFTlRJVFkgcXVvdCAgICImIzM0OyI+IAorXV0+PC9lZz4KK05vdGUgdGhhdCB0aGUgPGNvZGU+Jmx0OzwvY29kZT4gYW5kIDxjb2RlPiZhbXA7PC9jb2RlPiBjaGFyYWN0ZXJzCitpbiB0aGUgZGVjbGFyYXRpb25zIG9mICI8Y29kZT5sdDwvY29kZT4iIGFuZCAiPGNvZGU+YW1wPC9jb2RlPiIKK2FyZSBkb3VibHkgZXNjYXBlZCB0byBtZWV0IHRoZSByZXF1aXJlbWVudCB0aGF0IGVudGl0eSByZXBsYWNlbWVudAorYmUgd2VsbC1mb3JtZWQuCis8L3A+Cis8L2RpdjI+CisKKzxkaXYyIGlkPSJOb3RhdGlvbnMiPgorPGhlYWQ+Tm90YXRpb24gRGVjbGFyYXRpb25zPC9oZWFkPgorIAorPHA+PHRlcm1kZWYgaWQ9ImR0LW5vdGF0aW9uIiB0ZXJtPSJOb3RhdGlvbiI+PHRlcm0+Tm90YXRpb25zPC90ZXJtPiBpZGVudGlmeSBieQorbmFtZSB0aGUgZm9ybWF0IG9mIDx0ZXJtcmVmIGRlZj0iZHQtZXh0ZW50Ij51bnBhcnNlZAorZW50aXRpZXM8L3Rlcm1yZWY+LCB0aGUKK2Zvcm1hdCBvZiBlbGVtZW50cyB3aGljaCBiZWFyIGEgbm90YXRpb24gYXR0cmlidXRlLCAKK29yIHRoZSBhcHBsaWNhdGlvbiB0byB3aGljaCAgCithIDx0ZXJtcmVmIGRlZj0iZHQtcGkiPnByb2Nlc3NpbmcgaW5zdHJ1Y3Rpb248L3Rlcm1yZWY+IGlzCithZGRyZXNzZWQuPC90ZXJtZGVmPjwvcD4KKzxwPjx0ZXJtZGVmIGlkPSJkdC1ub3RkZWNsIiB0ZXJtPSJOb3RhdGlvbiBEZWNsYXJhdGlvbiI+Cis8dGVybT5Ob3RhdGlvbiBkZWNsYXJhdGlvbnM8L3Rlcm0+Citwcm92aWRlIGEgbmFtZSBmb3IgdGhlIG5vdGF0aW9uLCBmb3IgdXNlIGluCitlbnRpdHkgYW5kIGF0dHJpYnV0ZS1saXN0IGRlY2xhcmF0aW9ucyBhbmQgaW4gYXR0cmlidXRlIHNwZWNpZmljYXRpb25zLAorYW5kIGFuIGV4dGVybmFsIGlkZW50aWZpZXIgZm9yIHRoZSBub3RhdGlvbiB3aGljaCBtYXkgYWxsb3cgYW4gWE1MCitwcm9jZXNzb3Igb3IgaXRzIGNsaWVudCBhcHBsaWNhdGlvbiB0byBsb2NhdGUgYSBoZWxwZXIgYXBwbGljYXRpb24KK2NhcGFibGUgb2YgcHJvY2Vzc2luZyBkYXRhIGluIHRoZSBnaXZlbiBub3RhdGlvbi4KKzxzY3JhcCBsYW5nPSJlYm5mIj4KKzxoZWFkPk5vdGF0aW9uIERlY2xhcmF0aW9uczwvaGVhZD4KKzxwcm9kIGlkPSJOVC1Ob3RhdGlvbkRlY2wiPjxsaHM+Tm90YXRpb25EZWNsPC9saHM+Cis8cmhzPicmbHQ7IU5PVEFUSU9OJyA8bnQgZGVmPSJOVC1TIj5TPC9udD4gPG50IGRlZj0iTlQtTmFtZSI+TmFtZTwvbnQ+IAorPG50IGRlZj0iTlQtUyI+UzwvbnQ+IAorKDxudCBkZWY9Ik5ULUV4dGVybmFsSUQiPkV4dGVybmFsSUQ8L250PiB8IAorPG50IGRlZj0iTlQtUHVibGljSUQiPlB1YmxpY0lEPC9udD4pCis8bnQgZGVmPSJOVC1TIj5TPC9udD4/ICcmZ3Q7JzwvcmhzPjwvcHJvZD4KKzxwcm9kIGlkPSJOVC1QdWJsaWNJRCI+PGxocz5QdWJsaWNJRDwvbGhzPgorPHJocz4nUFVCTElDJyA8bnQgZGVmPSJOVC1TIj5TPC9udD4gCis8bnQgZGVmPSJOVC1QdWJpZExpdGVyYWwiPlB1YmlkTGl0ZXJhbDwvbnQ+IAorPC9yaHM+PC9wcm9kPgorPC9zY3JhcD4KKzwvdGVybWRlZj48L3A+Cis8cD5YTUwgcHJvY2Vzc29ycyBtdXN0IHByb3ZpZGUgYXBwbGljYXRpb25zIHdpdGggdGhlIG5hbWUgYW5kIGV4dGVybmFsCitpZGVudGlmaWVyKHMpIG9mIGFueSBub3RhdGlvbiBkZWNsYXJlZCBhbmQgcmVmZXJyZWQgdG8gaW4gYW4gYXR0cmlidXRlCit2YWx1ZSwgYXR0cmlidXRlIGRlZmluaXRpb24sIG9yIGVudGl0eSBkZWNsYXJhdGlvbi4gIFRoZXkgbWF5CithZGRpdGlvbmFsbHkgcmVzb2x2ZSB0aGUgZXh0ZXJuYWwgaWRlbnRpZmllciBpbnRvIHRoZQorPHRlcm1yZWYgZGVmPSJkdC1zeXNpZCI+c3lzdGVtIGlkZW50aWZpZXI8L3Rlcm1yZWY+LAorZmlsZSBuYW1lLCBvciBvdGhlciBpbmZvcm1hdGlvbiBuZWVkZWQgdG8gYWxsb3cgdGhlCithcHBsaWNhdGlvbiB0byBjYWxsIGEgcHJvY2Vzc29yIGZvciBkYXRhIGluIHRoZSBub3RhdGlvbiBkZXNjcmliZWQuICAoSXQKK2lzIG5vdCBhbiBlcnJvciwgaG93ZXZlciwgZm9yIFhNTCBkb2N1bWVudHMgdG8gZGVjbGFyZSBhbmQgcmVmZXIgdG8KK25vdGF0aW9ucyBmb3Igd2hpY2ggbm90YXRpb24tc3BlY2lmaWMgYXBwbGljYXRpb25zIGFyZSBub3QgYXZhaWxhYmxlIG9uCit0aGUgc3lzdGVtIHdoZXJlIHRoZSBYTUwgcHJvY2Vzc29yIG9yIGFwcGxpY2F0aW9uIGlzIHJ1bm5pbmcuKTwvcD4KKzwvZGl2Mj4KKworIAorPGRpdjIgaWQ9InNlYy1kb2MtZW50aXR5Ij4KKzxoZWFkPkRvY3VtZW50IEVudGl0eTwvaGVhZD4KKyAKKzxwPjx0ZXJtZGVmIGlkPSJkdC1kb2NlbnQiIHRlcm09IkRvY3VtZW50IEVudGl0eSI+VGhlIDx0ZXJtPmRvY3VtZW50CitlbnRpdHk8L3Rlcm0+IHNlcnZlcyBhcyB0aGUgcm9vdCBvZiB0aGUgZW50aXR5Cit0cmVlIGFuZCBhIHN0YXJ0aW5nLXBvaW50IGZvciBhbiA8dGVybXJlZiBkZWY9ImR0LXhtbC1wcm9jIj5YTUwKK3Byb2Nlc3NvcjwvdGVybXJlZj4uPC90ZXJtZGVmPgorVGhpcyBzcGVjaWZpY2F0aW9uIGRvZXMKK25vdCBzcGVjaWZ5IGhvdyB0aGUgZG9jdW1lbnQgZW50aXR5IGlzIHRvIGJlIGxvY2F0ZWQgYnkgYW4gWE1MCitwcm9jZXNzb3I7IHVubGlrZSBvdGhlciBlbnRpdGllcywgdGhlIGRvY3VtZW50IGVudGl0eSBoYXMgbm8gbmFtZSBhbmQgbWlnaHQKK3dlbGwgYXBwZWFyIG9uIGEgcHJvY2Vzc29yIGlucHV0IHN0cmVhbSAKK3dpdGhvdXQgYW55IGlkZW50aWZpY2F0aW9uIGF0IGFsbC48L3A+Cis8L2RpdjI+CisKKworPC9kaXYxPgorPCEtLSAmQ29uZm9ybWFuY2U7IC0tPgorIAorPGRpdjEgaWQ9InNlYy1jb25mb3JtYW5jZSI+Cis8aGVhZD5Db25mb3JtYW5jZTwvaGVhZD4KKyAKKzxkaXYyIGlkPSJwcm9jLXR5cGVzIj4KKzxoZWFkPlZhbGlkYXRpbmcgYW5kIE5vbi1WYWxpZGF0aW5nIFByb2Nlc3NvcnM8L2hlYWQ+Cis8cD5Db25mb3JtaW5nIDx0ZXJtcmVmIGRlZj0iZHQteG1sLXByb2MiPlhNTCBwcm9jZXNzb3JzPC90ZXJtcmVmPiBmYWxsIGludG8gdHdvCitjbGFzc2VzOiB2YWxpZGF0aW5nIGFuZCBub24tdmFsaWRhdGluZy48L3A+Cis8cD5WYWxpZGF0aW5nIGFuZCBub24tdmFsaWRhdGluZyBwcm9jZXNzb3JzIGFsaWtlIG11c3QgcmVwb3J0Cit2aW9sYXRpb25zIG9mIHRoaXMgc3BlY2lmaWNhdGlvbidzIHdlbGwtZm9ybWVkbmVzcyBjb25zdHJhaW50cworaW4gdGhlIGNvbnRlbnQgb2YgdGhlCis8dGVybXJlZiBkZWY9ImR0LWRvY2VudCI+ZG9jdW1lbnQgZW50aXR5PC90ZXJtcmVmPiBhbmQgYW55IAorb3RoZXIgPHRlcm1yZWYgZGVmPSJkdC1wYXJzZWRlbnQiPnBhcnNlZCBlbnRpdGllczwvdGVybXJlZj4gdGhhdCAKK3RoZXkgcmVhZC48L3A+Cis8cD48dGVybWRlZiBpZD0iZHQtdmFsaWRhdGluZyIgdGVybT0iVmFsaWRhdGluZyBQcm9jZXNzb3IiPgorPHRlcm0+VmFsaWRhdGluZyBwcm9jZXNzb3JzPC90ZXJtPiBtdXN0IHJlcG9ydAordmlvbGF0aW9ucyBvZiB0aGUgY29uc3RyYWludHMgZXhwcmVzc2VkIGJ5IHRoZSBkZWNsYXJhdGlvbnMgaW4gdGhlCis8dGVybXJlZiBkZWY9ImR0LWRvY3R5cGUiPkRURDwvdGVybXJlZj4sIGFuZAorZmFpbHVyZXMgdG8gZnVsZmlsbCB0aGUgdmFsaWRpdHkgY29uc3RyYWludHMgZ2l2ZW4KK2luIHRoaXMgc3BlY2lmaWNhdGlvbi4KKzwvdGVybWRlZj4KK1RvIGFjY29tcGxpc2ggdGhpcywgdmFsaWRhdGluZyBYTUwgcHJvY2Vzc29ycyBtdXN0IHJlYWQgYW5kIHByb2Nlc3MgdGhlIGVudGlyZQorRFREIGFuZCBhbGwgZXh0ZXJuYWwgcGFyc2VkIGVudGl0aWVzIHJlZmVyZW5jZWQgaW4gdGhlIGRvY3VtZW50LgorPC9wPgorPHA+Tm9uLXZhbGlkYXRpbmcgcHJvY2Vzc29ycyBhcmUgcmVxdWlyZWQgdG8gY2hlY2sgb25seSB0aGUgCis8dGVybXJlZiBkZWY9ImR0LWRvY2VudCI+ZG9jdW1lbnQgZW50aXR5PC90ZXJtcmVmPiwgaW5jbHVkaW5nCit0aGUgZW50aXJlIGludGVybmFsIERURCBzdWJzZXQsIGZvciB3ZWxsLWZvcm1lZG5lc3MuCis8dGVybWRlZiBpZD0iZHQtdXNlLW1kZWNsIiB0ZXJtPSJQcm9jZXNzIERlY2xhcmF0aW9ucyI+CitXaGlsZSB0aGV5IGFyZSBub3QgcmVxdWlyZWQgdG8gY2hlY2sgdGhlIGRvY3VtZW50IGZvciB2YWxpZGl0eSwKK3RoZXkgYXJlIHJlcXVpcmVkIHRvIAorPHRlcm0+cHJvY2VzczwvdGVybT4gYWxsIHRoZSBkZWNsYXJhdGlvbnMgdGhleSByZWFkIGluIHRoZQoraW50ZXJuYWwgRFREIHN1YnNldCBhbmQgaW4gYW55IHBhcmFtZXRlciBlbnRpdHkgdGhhdCB0aGV5CityZWFkLCB1cCB0byB0aGUgZmlyc3QgcmVmZXJlbmNlCit0byBhIHBhcmFtZXRlciBlbnRpdHkgdGhhdCB0aGV5IGRvIDxlbXBoPm5vdDwvZW1waD4gcmVhZDsgdGhhdCBpcyB0byAKK3NheSwgdGhleSBtdXN0Cit1c2UgdGhlIGluZm9ybWF0aW9uIGluIHRob3NlIGRlY2xhcmF0aW9ucyB0bworPHRpdGxlcmVmIGhyZWY9IkFWTm9ybWFsaXplIj5ub3JtYWxpemU8L3RpdGxlcmVmPiBhdHRyaWJ1dGUgdmFsdWVzLAorPHRpdGxlcmVmIGhyZWY9ImluY2x1ZGVkIj5pbmNsdWRlPC90aXRsZXJlZj4gdGhlIHJlcGxhY2VtZW50IHRleHQgb2YgCitpbnRlcm5hbCBlbnRpdGllcywgYW5kIHN1cHBseSAKKzx0aXRsZXJlZiBocmVmPSJzZWMtYXR0ci1kZWZhdWx0cyI+ZGVmYXVsdCBhdHRyaWJ1dGUgdmFsdWVzPC90aXRsZXJlZj4uCis8L3Rlcm1kZWY+CitUaGV5IG11c3Qgbm90IDx0ZXJtcmVmIGRlZj0iZHQtdXNlLW1kZWNsIj5wcm9jZXNzPC90ZXJtcmVmPgorPHRlcm1yZWYgZGVmPSJkdC1lbnRkZWNsIj5lbnRpdHkgZGVjbGFyYXRpb25zPC90ZXJtcmVmPiBvciAKKzx0ZXJtcmVmIGRlZj0iZHQtYXR0ZGVjbCI+YXR0cmlidXRlLWxpc3QgZGVjbGFyYXRpb25zPC90ZXJtcmVmPiAKK2VuY291bnRlcmVkIGFmdGVyIGEgcmVmZXJlbmNlIHRvIGEgcGFyYW1ldGVyIGVudGl0eSB0aGF0IGlzIG5vdAorcmVhZCwgc2luY2UgdGhlIGVudGl0eSBtYXkgaGF2ZSBjb250YWluZWQgb3ZlcnJpZGluZyBkZWNsYXJhdGlvbnMuCis8L3A+Cis8L2RpdjI+Cis8ZGl2MiBpZD0ic2FmZS1iZWhhdmlvciI+Cis8aGVhZD5Vc2luZyBYTUwgUHJvY2Vzc29yczwvaGVhZD4KKzxwPlRoZSBiZWhhdmlvciBvZiBhIHZhbGlkYXRpbmcgWE1MIHByb2Nlc3NvciBpcyBoaWdobHkgcHJlZGljdGFibGU7IGl0CittdXN0IHJlYWQgZXZlcnkgcGllY2Ugb2YgYSBkb2N1bWVudCBhbmQgcmVwb3J0IGFsbCB3ZWxsLWZvcm1lZG5lc3MgYW5kCit2YWxpZGl0eSB2aW9sYXRpb25zLgorTGVzcyBpcyByZXF1aXJlZCBvZiBhIG5vbi12YWxpZGF0aW5nIHByb2Nlc3NvcjsgaXQgbmVlZCBub3QgcmVhZCBhbnkKK3BhcnQgb2YgdGhlIGRvY3VtZW50IG90aGVyIHRoYW4gdGhlIGRvY3VtZW50IGVudGl0eS4KK1RoaXMgaGFzIHR3byBlZmZlY3RzIHRoYXQgbWF5IGJlIGltcG9ydGFudCB0byB1c2VycyBvZiBYTUwgcHJvY2Vzc29yczoKKzx1bGlzdD4KKzxpdGVtPjxwPkNlcnRhaW4gd2VsbC1mb3JtZWRuZXNzIGVycm9ycywgc3BlY2lmaWNhbGx5IHRob3NlIHRoYXQgcmVxdWlyZQorcmVhZGluZyBleHRlcm5hbCBlbnRpdGllcywgbWF5IG5vdCBiZSBkZXRlY3RlZCBieSBhIG5vbi12YWxpZGF0aW5nIHByb2Nlc3Nvci4KK0V4YW1wbGVzIGluY2x1ZGUgdGhlIGNvbnN0cmFpbnRzIGVudGl0bGVkIAorPHRpdGxlcmVmIGhyZWY9IndmLWVudGRlY2xhcmVkIj5FbnRpdHkgRGVjbGFyZWQ8L3RpdGxlcmVmPiwgCis8dGl0bGVyZWYgaHJlZj0id2YtdGV4dGVudCI+UGFyc2VkIEVudGl0eTwvdGl0bGVyZWY+LCBhbmQKKzx0aXRsZXJlZiBocmVmPSJ3Zi1ub3JlY3Vyc2lvbiI+Tm8gUmVjdXJzaW9uPC90aXRsZXJlZj4sIGFzIHdlbGwKK2FzIHNvbWUgb2YgdGhlIGNhc2VzIGRlc2NyaWJlZCBhcworPHRpdGxlcmVmIGhyZWY9ImZvcmJpZGRlbiI+Zm9yYmlkZGVuPC90aXRsZXJlZj4gaW4gCis8c3BlY3JlZiByZWY9ImVudHByb2MiLz4uPC9wPjwvaXRlbT4KKzxpdGVtPjxwPlRoZSBpbmZvcm1hdGlvbiBwYXNzZWQgZnJvbSB0aGUgcHJvY2Vzc29yIHRvIHRoZSBhcHBsaWNhdGlvbiBtYXkKK3ZhcnksIGRlcGVuZGluZyBvbiB3aGV0aGVyIHRoZSBwcm9jZXNzb3IgcmVhZHMKK3BhcmFtZXRlciBhbmQgZXh0ZXJuYWwgZW50aXRpZXMuCitGb3IgZXhhbXBsZSwgYSBub24tdmFsaWRhdGluZyBwcm9jZXNzb3IgbWF5IG5vdCAKKzx0aXRsZXJlZiBocmVmPSJBVk5vcm1hbGl6ZSI+bm9ybWFsaXplPC90aXRsZXJlZj4gYXR0cmlidXRlIHZhbHVlcywKKzx0aXRsZXJlZiBocmVmPSJpbmNsdWRlZCI+aW5jbHVkZTwvdGl0bGVyZWY+IHRoZSByZXBsYWNlbWVudCB0ZXh0IG9mIAoraW50ZXJuYWwgZW50aXRpZXMsIG9yIHN1cHBseSAKKzx0aXRsZXJlZiBocmVmPSJzZWMtYXR0ci1kZWZhdWx0cyI+ZGVmYXVsdCBhdHRyaWJ1dGUgdmFsdWVzPC90aXRsZXJlZj4sCit3aGVyZSBkb2luZyBzbyBkZXBlbmRzIG9uIGhhdmluZyByZWFkIGRlY2xhcmF0aW9ucyBpbiAKK2V4dGVybmFsIG9yIHBhcmFtZXRlciBlbnRpdGllcy48L3A+PC9pdGVtPgorPC91bGlzdD4KKzwvcD4KKzxwPkZvciBtYXhpbXVtIHJlbGlhYmlsaXR5IGluIGludGVyb3BlcmF0aW5nIGJldHdlZW4gZGlmZmVyZW50IFhNTAorcHJvY2Vzc29ycywgYXBwbGljYXRpb25zIHdoaWNoIHVzZSBub24tdmFsaWRhdGluZyBwcm9jZXNzb3JzIHNob3VsZCBub3QgCityZWx5IG9uIGFueSBiZWhhdmlvcnMgbm90IHJlcXVpcmVkIG9mIHN1Y2ggcHJvY2Vzc29ycy4KK0FwcGxpY2F0aW9ucyB3aGljaCByZXF1aXJlIGZhY2lsaXRpZXMgc3VjaCBhcyB0aGUgdXNlIG9mIGRlZmF1bHQKK2F0dHJpYnV0ZXMgb3IgaW50ZXJuYWwgZW50aXRpZXMgd2hpY2ggYXJlIGRlY2xhcmVkIGluIGV4dGVybmFsCitlbnRpdGllcyBzaG91bGQgdXNlIHZhbGlkYXRpbmcgWE1MIHByb2Nlc3NvcnMuPC9wPgorPC9kaXYyPgorPC9kaXYxPgorCis8ZGl2MSBpZD0ic2VjLW5vdGF0aW9uIj4KKzxoZWFkPk5vdGF0aW9uPC9oZWFkPgorIAorPHA+VGhlIGZvcm1hbCBncmFtbWFyIG9mIFhNTCBpcyBnaXZlbiBpbiB0aGlzIHNwZWNpZmljYXRpb24gdXNpbmcgYSBzaW1wbGUKK0V4dGVuZGVkIEJhY2t1cy1OYXVyIEZvcm0gKEVCTkYpIG5vdGF0aW9uLiAgRWFjaCBydWxlIGluIHRoZSBncmFtbWFyIGRlZmluZXMKK29uZSBzeW1ib2wsIGluIHRoZSBmb3JtCis8ZWc+c3ltYm9sIDo6PSBleHByZXNzaW9uPC9lZz48L3A+Cis8cD5TeW1ib2xzIGFyZSB3cml0dGVuIHdpdGggYW4gaW5pdGlhbCBjYXBpdGFsIGxldHRlciBpZiB0aGV5IGFyZQorZGVmaW5lZCBieSBhIHJlZ3VsYXIgZXhwcmVzc2lvbiwgb3Igd2l0aCBhbiBpbml0aWFsIGxvd2VyIGNhc2UgbGV0dGVyIAorb3RoZXJ3aXNlLgorTGl0ZXJhbCBzdHJpbmdzIGFyZSBxdW90ZWQuCisKKzwvcD4KKworPHA+V2l0aGluIHRoZSBleHByZXNzaW9uIG9uIHRoZSByaWdodC1oYW5kIHNpZGUgb2YgYSBydWxlLCB0aGUgZm9sbG93aW5nCitleHByZXNzaW9ucyBhcmUgdXNlZCB0byBtYXRjaCBzdHJpbmdzIG9mIG9uZSBvciBtb3JlIGNoYXJhY3RlcnM6Cis8Z2xpc3Q+Cis8Z2l0ZW0+Cis8bGFiZWw+PGNvZGU+I3hOPC9jb2RlPjwvbGFiZWw+Cis8ZGVmPjxwPndoZXJlIDxjb2RlPk48L2NvZGU+IGlzIGEgaGV4YWRlY2ltYWwgaW50ZWdlciwgdGhlCitleHByZXNzaW9uIG1hdGNoZXMgdGhlIGNoYXJhY3RlciBpbiBJU08vSUVDIDEwNjQ2IHdob3NlIGNhbm9uaWNhbAorKFVDUy00KSAKK2NvZGUgdmFsdWUsIHdoZW4gaW50ZXJwcmV0ZWQgYXMgYW4gdW5zaWduZWQgYmluYXJ5IG51bWJlciwgaGFzCit0aGUgdmFsdWUgaW5kaWNhdGVkLiAgVGhlIG51bWJlciBvZiBsZWFkaW5nIHplcm9zIGluIHRoZQorPGNvZGU+I3hOPC9jb2RlPiBmb3JtIGlzIGluc2lnbmlmaWNhbnQ7IHRoZSBudW1iZXIgb2YgbGVhZGluZworemVyb3MgaW4gdGhlIGNvcnJlc3BvbmRpbmcgY29kZSB2YWx1ZSAKK2lzIGdvdmVybmVkIGJ5IHRoZSBjaGFyYWN0ZXIKK2VuY29kaW5nIGluIHVzZSBhbmQgaXMgbm90IHNpZ25pZmljYW50IGZvciBYTUwuPC9wPjwvZGVmPgorPC9naXRlbT4KKzxnaXRlbT4KKzxsYWJlbD48Y29kZT5bYS16QS1aXTwvY29kZT4sIDxjb2RlPlsjeE4tI3hOXTwvY29kZT48L2xhYmVsPgorPGRlZj48cD5tYXRjaGVzIGFueSA8dGVybXJlZiBkZWY9ImR0LWNoYXJhY3RlciI+Y2hhcmFjdGVyPC90ZXJtcmVmPiAKK3dpdGggYSB2YWx1ZSBpbiB0aGUgcmFuZ2UocykgaW5kaWNhdGVkIChpbmNsdXNpdmUpLjwvcD48L2RlZj4KKzwvZ2l0ZW0+Cis8Z2l0ZW0+Cis8bGFiZWw+PGNvZGU+W15hLXpdPC9jb2RlPiwgPGNvZGU+W14jeE4tI3hOXTwvY29kZT48L2xhYmVsPgorPGRlZj48cD5tYXRjaGVzIGFueSA8dGVybXJlZiBkZWY9ImR0LWNoYXJhY3RlciI+Y2hhcmFjdGVyPC90ZXJtcmVmPiAKK3dpdGggYSB2YWx1ZSA8ZW1waD5vdXRzaWRlPC9lbXBoPiB0aGUKK3JhbmdlIGluZGljYXRlZC48L3A+PC9kZWY+Cis8L2dpdGVtPgorPGdpdGVtPgorPGxhYmVsPjxjb2RlPlteYWJjXTwvY29kZT4sIDxjb2RlPlteI3hOI3hOI3hOXTwvY29kZT48L2xhYmVsPgorPGRlZj48cD5tYXRjaGVzIGFueSA8dGVybXJlZiBkZWY9ImR0LWNoYXJhY3RlciI+Y2hhcmFjdGVyPC90ZXJtcmVmPgord2l0aCBhIHZhbHVlIG5vdCBhbW9uZyB0aGUgY2hhcmFjdGVycyBnaXZlbi48L3A+PC9kZWY+Cis8L2dpdGVtPgorPGdpdGVtPgorPGxhYmVsPjxjb2RlPiJzdHJpbmciPC9jb2RlPjwvbGFiZWw+Cis8ZGVmPjxwPm1hdGNoZXMgYSBsaXRlcmFsIHN0cmluZyA8dGVybXJlZiBkZWY9ImR0LW1hdGNoIj5tYXRjaGluZzwvdGVybXJlZj4KK3RoYXQgZ2l2ZW4gaW5zaWRlIHRoZSBkb3VibGUgcXVvdGVzLjwvcD48L2RlZj4KKzwvZ2l0ZW0+Cis8Z2l0ZW0+Cis8bGFiZWw+PGNvZGU+J3N0cmluZyc8L2NvZGU+PC9sYWJlbD4KKzxkZWY+PHA+bWF0Y2hlcyBhIGxpdGVyYWwgc3RyaW5nIDx0ZXJtcmVmIGRlZj0iZHQtbWF0Y2giPm1hdGNoaW5nPC90ZXJtcmVmPgordGhhdCBnaXZlbiBpbnNpZGUgdGhlIHNpbmdsZSBxdW90ZXMuPC9wPjwvZGVmPgorPC9naXRlbT4KKzwvZ2xpc3Q+CitUaGVzZSBzeW1ib2xzIG1heSBiZSBjb21iaW5lZCB0byBtYXRjaCBtb3JlIGNvbXBsZXggcGF0dGVybnMgYXMgZm9sbG93cywKK3doZXJlIDxjb2RlPkE8L2NvZGU+IGFuZCA8Y29kZT5CPC9jb2RlPiByZXByZXNlbnQgc2ltcGxlIGV4cHJlc3Npb25zOgorPGdsaXN0PgorPGdpdGVtPgorPGxhYmVsPig8Y29kZT5leHByZXNzaW9uPC9jb2RlPik8L2xhYmVsPgorPGRlZj48cD48Y29kZT5leHByZXNzaW9uPC9jb2RlPiBpcyB0cmVhdGVkIGFzIGEgdW5pdCAKK2FuZCBtYXkgYmUgY29tYmluZWQgYXMgZGVzY3JpYmVkIGluIHRoaXMgbGlzdC48L3A+PC9kZWY+Cis8L2dpdGVtPgorPGdpdGVtPgorPGxhYmVsPjxjb2RlPkE/PC9jb2RlPjwvbGFiZWw+Cis8ZGVmPjxwPm1hdGNoZXMgPGNvZGU+QTwvY29kZT4gb3Igbm90aGluZzsgb3B0aW9uYWwgPGNvZGU+QTwvY29kZT4uPC9wPjwvZGVmPgorPC9naXRlbT4KKzxnaXRlbT4KKzxsYWJlbD48Y29kZT5BIEI8L2NvZGU+PC9sYWJlbD4KKzxkZWY+PHA+bWF0Y2hlcyA8Y29kZT5BPC9jb2RlPiBmb2xsb3dlZCBieSA8Y29kZT5CPC9jb2RlPi48L3A+PC9kZWY+Cis8L2dpdGVtPgorPGdpdGVtPgorPGxhYmVsPjxjb2RlPkEgfCBCPC9jb2RlPjwvbGFiZWw+Cis8ZGVmPjxwPm1hdGNoZXMgPGNvZGU+QTwvY29kZT4gb3IgPGNvZGU+QjwvY29kZT4gYnV0IG5vdCBib3RoLjwvcD48L2RlZj4KKzwvZ2l0ZW0+Cis8Z2l0ZW0+Cis8bGFiZWw+PGNvZGU+QSAtIEI8L2NvZGU+PC9sYWJlbD4KKzxkZWY+PHA+bWF0Y2hlcyBhbnkgc3RyaW5nIHRoYXQgbWF0Y2hlcyA8Y29kZT5BPC9jb2RlPiBidXQgZG9lcyBub3QgbWF0Y2gKKzxjb2RlPkI8L2NvZGU+LgorPC9wPjwvZGVmPgorPC9naXRlbT4KKzxnaXRlbT4KKzxsYWJlbD48Y29kZT5BKzwvY29kZT48L2xhYmVsPgorPGRlZj48cD5tYXRjaGVzIG9uZSBvciBtb3JlIG9jY3VycmVuY2VzIG9mIDxjb2RlPkE8L2NvZGU+LjwvcD48L2RlZj4KKzwvZ2l0ZW0+Cis8Z2l0ZW0+Cis8bGFiZWw+PGNvZGU+QSo8L2NvZGU+PC9sYWJlbD4KKzxkZWY+PHA+bWF0Y2hlcyB6ZXJvIG9yIG1vcmUgb2NjdXJyZW5jZXMgb2YgPGNvZGU+QTwvY29kZT4uPC9wPjwvZGVmPgorPC9naXRlbT4KKworPC9nbGlzdD4KK090aGVyIG5vdGF0aW9ucyB1c2VkIGluIHRoZSBwcm9kdWN0aW9ucyBhcmU6Cis8Z2xpc3Q+Cis8Z2l0ZW0+Cis8bGFiZWw+PGNvZGU+LyogLi4uICovPC9jb2RlPjwvbGFiZWw+Cis8ZGVmPjxwPmNvbW1lbnQuPC9wPjwvZGVmPgorPC9naXRlbT4KKzxnaXRlbT4KKzxsYWJlbD48Y29kZT5bIHdmYzogLi4uIF08L2NvZGU+PC9sYWJlbD4KKzxkZWY+PHA+d2VsbC1mb3JtZWRuZXNzIGNvbnN0cmFpbnQ7IHRoaXMgaWRlbnRpZmllcyBieSBuYW1lIGEgCitjb25zdHJhaW50IG9uIAorPHRlcm1yZWYgZGVmPSJkdC13ZWxsZm9ybWVkIj53ZWxsLWZvcm1lZDwvdGVybXJlZj4gZG9jdW1lbnRzCithc3NvY2lhdGVkIHdpdGggYSBwcm9kdWN0aW9uLjwvcD48L2RlZj4KKzwvZ2l0ZW0+Cis8Z2l0ZW0+Cis8bGFiZWw+PGNvZGU+WyB2YzogLi4uIF08L2NvZGU+PC9sYWJlbD4KKzxkZWY+PHA+dmFsaWRpdHkgY29uc3RyYWludDsgdGhpcyBpZGVudGlmaWVzIGJ5IG5hbWUgYSBjb25zdHJhaW50IG9uCis8dGVybXJlZiBkZWY9ImR0LXZhbGlkIj52YWxpZDwvdGVybXJlZj4gZG9jdW1lbnRzIGFzc29jaWF0ZWQgd2l0aAorYSBwcm9kdWN0aW9uLjwvcD48L2RlZj4KKzwvZ2l0ZW0+Cis8L2dsaXN0PgorPC9wPjwvZGl2MT4KKworPC9ib2R5PgorPGJhY2s+Cis8IS0tICZTR01MOyAtLT4KKyAKKworPCEtLSAmQmlibGlvOyAtLT4KKzxkaXYxIGlkPSJzZWMtYmlibGlvZ3JhcGh5Ij4KKworPGhlYWQ+UmVmZXJlbmNlczwvaGVhZD4KKzxkaXYyIGlkPSJzZWMtZXhpc3Rpbmctc3RkcyI+Cis8aGVhZD5Ob3JtYXRpdmUgUmVmZXJlbmNlczwvaGVhZD4KKworPGJsaXN0PgorPGJpYmwgaWQ9IklBTkEiIGtleT0iSUFOQSI+CisoSW50ZXJuZXQgQXNzaWduZWQgTnVtYmVycyBBdXRob3JpdHkpIDxlbXBoPk9mZmljaWFsIE5hbWVzIGZvciAKK0NoYXJhY3RlciBTZXRzPC9lbXBoPiwKK2VkLiBLZWxkIFNpbW9uc2VuIGV0IGFsLgorU2VlIDxsb2MgaHJlZj0iZnRwOi8vZnRwLmlzaS5lZHUvaW4tbm90ZXMvaWFuYS9hc3NpZ25tZW50cy9jaGFyYWN0ZXItc2V0cyI+ZnRwOi8vZnRwLmlzaS5lZHUvaW4tbm90ZXMvaWFuYS9hc3NpZ25tZW50cy9jaGFyYWN0ZXItc2V0czwvbG9jPi4KKzwvYmlibD4KKworPGJpYmwgaWQ9IlJGQzE3NjYiIGtleT0iSUVURiBSRkMgMTc2NiI+CitJRVRGIChJbnRlcm5ldCBFbmdpbmVlcmluZyBUYXNrIEZvcmNlKS4KKzxlbXBoPlJGQyAxNzY2OiAgVGFncyBmb3IgdGhlIElkZW50aWZpY2F0aW9uIG9mIExhbmd1YWdlczwvZW1waD4sCitlZC4gSC4gQWx2ZXN0cmFuZC4KKzE5OTUuCis8L2JpYmw+CisKKzxiaWJsIGlkPSJJU082MzkiIGtleT0iSVNPIDYzOSI+CisoSW50ZXJuYXRpb25hbCBPcmdhbml6YXRpb24gZm9yIFN0YW5kYXJkaXphdGlvbikuCis8ZW1waD5JU08gNjM5OjE5ODggKEUpLgorQ29kZSBmb3IgdGhlIHJlcHJlc2VudGF0aW9uIG9mIG5hbWVzIG9mIGxhbmd1YWdlcy48L2VtcGg+CitbR2VuZXZhXTogIEludGVybmF0aW9uYWwgT3JnYW5pemF0aW9uIGZvcgorU3RhbmRhcmRpemF0aW9uLCAxOTg4LjwvYmlibD4KKworPGJpYmwgaWQ9IklTTzMxNjYiIGtleT0iSVNPIDMxNjYiPgorKEludGVybmF0aW9uYWwgT3JnYW5pemF0aW9uIGZvciBTdGFuZGFyZGl6YXRpb24pLgorPGVtcGg+SVNPIDMxNjYtMToxOTk3IChFKS4KK0NvZGVzIGZvciB0aGUgcmVwcmVzZW50YXRpb24gb2YgbmFtZXMgb2YgY291bnRyaWVzIGFuZCB0aGVpciBzdWJkaXZpc2lvbnMgCismbWRhc2g7IFBhcnQgMTogQ291bnRyeSBjb2RlczwvZW1waD4KK1tHZW5ldmFdOiAgSW50ZXJuYXRpb25hbCBPcmdhbml6YXRpb24gZm9yCitTdGFuZGFyZGl6YXRpb24sIDE5OTcuPC9iaWJsPgorCis8YmlibCBpZD0iSVNPMTA2NDYiIGtleT0iSVNPL0lFQyAxMDY0NiI+SVNPCisoSW50ZXJuYXRpb25hbCBPcmdhbml6YXRpb24gZm9yIFN0YW5kYXJkaXphdGlvbikuCis8ZW1waD5JU08vSUVDIDEwNjQ2LTE5OTMgKEUpLiAgSW5mb3JtYXRpb24gdGVjaG5vbG9neSAmbWRhc2g7IFVuaXZlcnNhbAorTXVsdGlwbGUtT2N0ZXQgQ29kZWQgQ2hhcmFjdGVyIFNldCAoVUNTKSAmbWRhc2g7IFBhcnQgMToKK0FyY2hpdGVjdHVyZSBhbmQgQmFzaWMgTXVsdGlsaW5ndWFsIFBsYW5lLjwvZW1waD4KK1tHZW5ldmFdOiAgSW50ZXJuYXRpb25hbCBPcmdhbml6YXRpb24gZm9yCitTdGFuZGFyZGl6YXRpb24sIDE5OTMgKHBsdXMgYW1lbmRtZW50cyBBTSAxIHRocm91Z2ggQU0gNykuCis8L2JpYmw+CisKKzxiaWJsIGlkPSJVbmljb2RlIiBrZXk9IlVuaWNvZGUiPlRoZSBVbmljb2RlIENvbnNvcnRpdW0uCis8ZW1waD5UaGUgVW5pY29kZSBTdGFuZGFyZCwgVmVyc2lvbiAyLjAuPC9lbXBoPgorUmVhZGluZywgTWFzcy46ICBBZGRpc29uLVdlc2xleSBEZXZlbG9wZXJzIFByZXNzLCAxOTk2LjwvYmlibD4KKworPC9ibGlzdD4KKworPC9kaXYyPgorCis8ZGl2Mj48aGVhZD5PdGhlciBSZWZlcmVuY2VzPC9oZWFkPiAKKworPGJsaXN0PgorCis8YmlibCBpZD0iQWhvIiBrZXk9IkFoby9VbGxtYW4iPkFobywgQWxmcmVkIFYuLCAKK1JhdmkgU2V0aGksIGFuZCBKZWZmcmV5IEQuIFVsbG1hbi4KKzxlbXBoPkNvbXBpbGVyczogIFByaW5jaXBsZXMsIFRlY2huaXF1ZXMsIGFuZCBUb29sczwvZW1waD4uCitSZWFkaW5nOiAgQWRkaXNvbi1XZXNsZXksIDE5ODYsIHJwdC4gY29yci4gMTk4OC48L2JpYmw+CisKKzxiaWJsIGlkPSJCZXJuZXJzLUxlZSIgeG1sLWxpbms9InNpbXBsZSIga2V5PSJCZXJuZXJzLUxlZSBldCBhbC4iPgorQmVybmVycy1MZWUsIFQuLCBSLiBGaWVsZGluZywgYW5kIEwuIE1hc2ludGVyLgorPGVtcGg+VW5pZm9ybSBSZXNvdXJjZSBJZGVudGlmaWVycyAoVVJJKTogIEdlbmVyaWMgU3ludGF4IGFuZAorU2VtYW50aWNzPC9lbXBoPi4KKzE5OTcuCisoV29yayBpbiBwcm9ncmVzczsgc2VlIHVwZGF0ZXMgdG8gUkZDMTczOC4pPC9iaWJsPgorCis8YmlibCBpZD0iQUJLIiBrZXk9IkJy/GdnZW1hbm4tS2xlaW4iPkJy/GdnZW1hbm4tS2xlaW4sIEFubmUuCis8ZW1waD5SZWd1bGFyIEV4cHJlc3Npb25zIGludG8gRmluaXRlIEF1dG9tYXRhPC9lbXBoPi4KK0V4dGVuZGVkIGFic3RyYWN0IGluIEkuIFNpbW9uLCBIcnNnLiwgTEFUSU4gMTk5MiwgCitTLiA5Ny05OC4gU3ByaW5nZXItVmVybGFnLCBCZXJsaW4gMTk5Mi4gCitGdWxsIFZlcnNpb24gaW4gVGhlb3JldGljYWwgQ29tcHV0ZXIgU2NpZW5jZSAxMjA6IDE5Ny0yMTMsIDE5OTMuCisKKzwvYmlibD4KKworPGJpYmwgaWQ9IkFCS0RXIiBrZXk9IkJy/GdnZW1hbm4tS2xlaW4gYW5kIFdvb2QiPkJy/GdnZW1hbm4tS2xlaW4sIEFubmUsCithbmQgRGVyaWNrIFdvb2QuCis8ZW1waD5EZXRlcm1pbmlzdGljIFJlZ3VsYXIgTGFuZ3VhZ2VzPC9lbXBoPi4KK1VuaXZlcnNpdOR0IEZyZWlidXJnLCBJbnN0aXR1dCBm/HIgSW5mb3JtYXRpaywKK0JlcmljaHQgMzgsIE9rdG9iZXIgMTk5MS4KKzwvYmlibD4KKworPGJpYmwgaWQ9IkNsYXJrIiBrZXk9IkNsYXJrIj5KYW1lcyBDbGFyay4KK0NvbXBhcmlzb24gb2YgU0dNTCBhbmQgWE1MLiBTZWUKKzxsb2MgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvTk9URS1zZ21sLXhtbC05NzEyMTUiPmh0dHA6Ly93d3cudzMub3JnL1RSL05PVEUtc2dtbC14bWwtOTcxMjE1PC9sb2M+LgorPC9iaWJsPgorPGJpYmwgaWQ9IlJGQzE3MzgiIHhtbC1saW5rPSJzaW1wbGUiIGtleT0iSUVURiBSRkMxNzM4Ij4KK0lFVEYgKEludGVybmV0IEVuZ2luZWVyaW5nIFRhc2sgRm9yY2UpLgorPGVtcGg+UkZDIDE3Mzg6ICBVbmlmb3JtIFJlc291cmNlIExvY2F0b3JzIChVUkwpPC9lbXBoPiwgCitlZC4gVC4gQmVybmVycy1MZWUsIEwuIE1hc2ludGVyLCBNLiBNY0NhaGlsbC4KKzE5OTQuCis8L2JpYmw+CisKKzxiaWJsIGlkPSJSRkMxODA4IiB4bWwtbGluaz0ic2ltcGxlIiBrZXk9IklFVEYgUkZDMTgwOCI+CitJRVRGIChJbnRlcm5ldCBFbmdpbmVlcmluZyBUYXNrIEZvcmNlKS4KKzxlbXBoPlJGQyAxODA4OiAgUmVsYXRpdmUgVW5pZm9ybSBSZXNvdXJjZSBMb2NhdG9yczwvZW1waD4sIAorZWQuIFIuIEZpZWxkaW5nLgorMTk5NS4KKzwvYmlibD4KKworPGJpYmwgaWQ9IlJGQzIxNDEiIHhtbC1saW5rPSJzaW1wbGUiIGtleT0iSUVURiBSRkMyMTQxIj4KK0lFVEYgKEludGVybmV0IEVuZ2luZWVyaW5nIFRhc2sgRm9yY2UpLgorPGVtcGg+UkZDIDIxNDE6ICBVUk4gU3ludGF4PC9lbXBoPiwgCitlZC4gUi4gTW9hdHMuCisxOTk3LgorPC9iaWJsPgorCis8YmlibCBpZD0iSVNPODg3OSIga2V5PSJJU08gODg3OSI+SVNPCisoSW50ZXJuYXRpb25hbCBPcmdhbml6YXRpb24gZm9yIFN0YW5kYXJkaXphdGlvbikuCis8ZW1waD5JU08gODg3OToxOTg2KEUpLiAgSW5mb3JtYXRpb24gcHJvY2Vzc2luZyAmbWRhc2g7IFRleHQgYW5kIE9mZmljZQorU3lzdGVtcyAmbWRhc2g7IFN0YW5kYXJkIEdlbmVyYWxpemVkIE1hcmt1cCBMYW5ndWFnZSAoU0dNTCkuPC9lbXBoPiAgRmlyc3QKK2VkaXRpb24gJm1kYXNoOyAxOTg2LTEwLTE1LiAgW0dlbmV2YV06ICBJbnRlcm5hdGlvbmFsIE9yZ2FuaXphdGlvbiBmb3IKK1N0YW5kYXJkaXphdGlvbiwgMTk4Ni4KKzwvYmlibD4KKworCis8YmlibCBpZD0iSVNPMTA3NDQiIGtleT0iSVNPL0lFQyAxMDc0NCI+SVNPCisoSW50ZXJuYXRpb25hbCBPcmdhbml6YXRpb24gZm9yIFN0YW5kYXJkaXphdGlvbikuCis8ZW1waD5JU08vSUVDIDEwNzQ0LTE5OTIgKEUpLiAgSW5mb3JtYXRpb24gdGVjaG5vbG9neSAmbWRhc2g7CitIeXBlcm1lZGlhL1RpbWUtYmFzZWQgU3RydWN0dXJpbmcgTGFuZ3VhZ2UgKEh5VGltZSkuCis8L2VtcGg+CitbR2VuZXZhXTogIEludGVybmF0aW9uYWwgT3JnYW5pemF0aW9uIGZvcgorU3RhbmRhcmRpemF0aW9uLCAxOTkyLgorPGVtcGg+RXh0ZW5kZWQgRmFjaWxpdGllcyBBbm5leGUuPC9lbXBoPgorW0dlbmV2YV06ICBJbnRlcm5hdGlvbmFsIE9yZ2FuaXphdGlvbiBmb3IKK1N0YW5kYXJkaXphdGlvbiwgMTk5Ni4gCis8L2JpYmw+CisKKworCis8L2JsaXN0PgorPC9kaXYyPgorPC9kaXYxPgorPGRpdjEgaWQ9IkNoYXJDbGFzc2VzIj4KKzxoZWFkPkNoYXJhY3RlciBDbGFzc2VzPC9oZWFkPgorPHA+Rm9sbG93aW5nIHRoZSBjaGFyYWN0ZXJpc3RpY3MgZGVmaW5lZCBpbiB0aGUgVW5pY29kZSBzdGFuZGFyZCwKK2NoYXJhY3RlcnMgYXJlIGNsYXNzZWQgYXMgYmFzZSBjaGFyYWN0ZXJzIChhbW9uZyBvdGhlcnMsIHRoZXNlCitjb250YWluIHRoZSBhbHBoYWJldGljIGNoYXJhY3RlcnMgb2YgdGhlIExhdGluIGFscGhhYmV0LCB3aXRob3V0CitkaWFjcml0aWNzKSwgaWRlb2dyYXBoaWMgY2hhcmFjdGVycywgYW5kIGNvbWJpbmluZyBjaGFyYWN0ZXJzIChhbW9uZworb3RoZXJzLCB0aGlzIGNsYXNzIGNvbnRhaW5zIG1vc3QgZGlhY3JpdGljcyk7IHRoZXNlIGNsYXNzZXMgY29tYmluZQordG8gZm9ybSB0aGUgY2xhc3Mgb2YgbGV0dGVycy4gIERpZ2l0cyBhbmQgZXh0ZW5kZXJzIGFyZQorYWxzbyBkaXN0aW5ndWlzaGVkLgorPHNjcmFwIGxhbmc9ImVibmYiIGlkPSJDSEFSQUNURVJTIj4KKzxoZWFkPkNoYXJhY3RlcnM8L2hlYWQ+Cis8cHJvZGdyb3VwIHBjdzM9IjMiIHBjdzQ9IjE1Ij4KKzxwcm9kIGlkPSJOVC1MZXR0ZXIiPjxsaHM+TGV0dGVyPC9saHM+Cis8cmhzPjxudCBkZWY9Ik5ULUJhc2VDaGFyIj5CYXNlQ2hhcjwvbnQ+IAorfCA8bnQgZGVmPSJOVC1JZGVvZ3JhcGhpYyI+SWRlb2dyYXBoaWM8L250PjwvcmhzPiA8L3Byb2Q+Cis8cHJvZCBpZD0iTlQtQmFzZUNoYXIiPjxsaHM+QmFzZUNoYXI8L2xocz4KKzxyaHM+WyN4MDA0MS0jeDAwNUFdCit8Jm5ic3A7WyN4MDA2MS0jeDAwN0FdCit8Jm5ic3A7WyN4MDBDMC0jeDAwRDZdCit8Jm5ic3A7WyN4MDBEOC0jeDAwRjZdCit8Jm5ic3A7WyN4MDBGOC0jeDAwRkZdCit8Jm5ic3A7WyN4MDEwMC0jeDAxMzFdCit8Jm5ic3A7WyN4MDEzNC0jeDAxM0VdCit8Jm5ic3A7WyN4MDE0MS0jeDAxNDhdCit8Jm5ic3A7WyN4MDE0QS0jeDAxN0VdCit8Jm5ic3A7WyN4MDE4MC0jeDAxQzNdCit8Jm5ic3A7WyN4MDFDRC0jeDAxRjBdCit8Jm5ic3A7WyN4MDFGNC0jeDAxRjVdCit8Jm5ic3A7WyN4MDFGQS0jeDAyMTddCit8Jm5ic3A7WyN4MDI1MC0jeDAyQThdCit8Jm5ic3A7WyN4MDJCQi0jeDAyQzFdCit8Jm5ic3A7I3gwMzg2Cit8Jm5ic3A7WyN4MDM4OC0jeDAzOEFdCit8Jm5ic3A7I3gwMzhDCit8Jm5ic3A7WyN4MDM4RS0jeDAzQTFdCit8Jm5ic3A7WyN4MDNBMy0jeDAzQ0VdCit8Jm5ic3A7WyN4MDNEMC0jeDAzRDZdCit8Jm5ic3A7I3gwM0RBCit8Jm5ic3A7I3gwM0RDCit8Jm5ic3A7I3gwM0RFCit8Jm5ic3A7I3gwM0UwCit8Jm5ic3A7WyN4MDNFMi0jeDAzRjNdCit8Jm5ic3A7WyN4MDQwMS0jeDA0MENdCit8Jm5ic3A7WyN4MDQwRS0jeDA0NEZdCit8Jm5ic3A7WyN4MDQ1MS0jeDA0NUNdCit8Jm5ic3A7WyN4MDQ1RS0jeDA0ODFdCit8Jm5ic3A7WyN4MDQ5MC0jeDA0QzRdCit8Jm5ic3A7WyN4MDRDNy0jeDA0QzhdCit8Jm5ic3A7WyN4MDRDQi0jeDA0Q0NdCit8Jm5ic3A7WyN4MDREMC0jeDA0RUJdCit8Jm5ic3A7WyN4MDRFRS0jeDA0RjVdCit8Jm5ic3A7WyN4MDRGOC0jeDA0RjldCit8Jm5ic3A7WyN4MDUzMS0jeDA1NTZdCit8Jm5ic3A7I3gwNTU5Cit8Jm5ic3A7WyN4MDU2MS0jeDA1ODZdCit8Jm5ic3A7WyN4MDVEMC0jeDA1RUFdCit8Jm5ic3A7WyN4MDVGMC0jeDA1RjJdCit8Jm5ic3A7WyN4MDYyMS0jeDA2M0FdCit8Jm5ic3A7WyN4MDY0MS0jeDA2NEFdCit8Jm5ic3A7WyN4MDY3MS0jeDA2QjddCit8Jm5ic3A7WyN4MDZCQS0jeDA2QkVdCit8Jm5ic3A7WyN4MDZDMC0jeDA2Q0VdCit8Jm5ic3A7WyN4MDZEMC0jeDA2RDNdCit8Jm5ic3A7I3gwNkQ1Cit8Jm5ic3A7WyN4MDZFNS0jeDA2RTZdCit8Jm5ic3A7WyN4MDkwNS0jeDA5MzldCit8Jm5ic3A7I3gwOTNECit8Jm5ic3A7WyN4MDk1OC0jeDA5NjFdCit8Jm5ic3A7WyN4MDk4NS0jeDA5OENdCit8Jm5ic3A7WyN4MDk4Ri0jeDA5OTBdCit8Jm5ic3A7WyN4MDk5My0jeDA5QThdCit8Jm5ic3A7WyN4MDlBQS0jeDA5QjBdCit8Jm5ic3A7I3gwOUIyCit8Jm5ic3A7WyN4MDlCNi0jeDA5QjldCit8Jm5ic3A7WyN4MDlEQy0jeDA5RERdCit8Jm5ic3A7WyN4MDlERi0jeDA5RTFdCit8Jm5ic3A7WyN4MDlGMC0jeDA5RjFdCit8Jm5ic3A7WyN4MEEwNS0jeDBBMEFdCit8Jm5ic3A7WyN4MEEwRi0jeDBBMTBdCit8Jm5ic3A7WyN4MEExMy0jeDBBMjhdCit8Jm5ic3A7WyN4MEEyQS0jeDBBMzBdCit8Jm5ic3A7WyN4MEEzMi0jeDBBMzNdCit8Jm5ic3A7WyN4MEEzNS0jeDBBMzZdCit8Jm5ic3A7WyN4MEEzOC0jeDBBMzldCit8Jm5ic3A7WyN4MEE1OS0jeDBBNUNdCit8Jm5ic3A7I3gwQTVFCit8Jm5ic3A7WyN4MEE3Mi0jeDBBNzRdCit8Jm5ic3A7WyN4MEE4NS0jeDBBOEJdCit8Jm5ic3A7I3gwQThECit8Jm5ic3A7WyN4MEE4Ri0jeDBBOTFdCit8Jm5ic3A7WyN4MEE5My0jeDBBQThdCit8Jm5ic3A7WyN4MEFBQS0jeDBBQjBdCit8Jm5ic3A7WyN4MEFCMi0jeDBBQjNdCit8Jm5ic3A7WyN4MEFCNS0jeDBBQjldCit8Jm5ic3A7I3gwQUJECit8Jm5ic3A7I3gwQUUwCit8Jm5ic3A7WyN4MEIwNS0jeDBCMENdCit8Jm5ic3A7WyN4MEIwRi0jeDBCMTBdCit8Jm5ic3A7WyN4MEIxMy0jeDBCMjhdCit8Jm5ic3A7WyN4MEIyQS0jeDBCMzBdCit8Jm5ic3A7WyN4MEIzMi0jeDBCMzNdCit8Jm5ic3A7WyN4MEIzNi0jeDBCMzldCit8Jm5ic3A7I3gwQjNECit8Jm5ic3A7WyN4MEI1Qy0jeDBCNURdCit8Jm5ic3A7WyN4MEI1Ri0jeDBCNjFdCit8Jm5ic3A7WyN4MEI4NS0jeDBCOEFdCit8Jm5ic3A7WyN4MEI4RS0jeDBCOTBdCit8Jm5ic3A7WyN4MEI5Mi0jeDBCOTVdCit8Jm5ic3A7WyN4MEI5OS0jeDBCOUFdCit8Jm5ic3A7I3gwQjlDCit8Jm5ic3A7WyN4MEI5RS0jeDBCOUZdCit8Jm5ic3A7WyN4MEJBMy0jeDBCQTRdCit8Jm5ic3A7WyN4MEJBOC0jeDBCQUFdCit8Jm5ic3A7WyN4MEJBRS0jeDBCQjVdCit8Jm5ic3A7WyN4MEJCNy0jeDBCQjldCit8Jm5ic3A7WyN4MEMwNS0jeDBDMENdCit8Jm5ic3A7WyN4MEMwRS0jeDBDMTBdCit8Jm5ic3A7WyN4MEMxMi0jeDBDMjhdCit8Jm5ic3A7WyN4MEMyQS0jeDBDMzNdCit8Jm5ic3A7WyN4MEMzNS0jeDBDMzldCit8Jm5ic3A7WyN4MEM2MC0jeDBDNjFdCit8Jm5ic3A7WyN4MEM4NS0jeDBDOENdCit8Jm5ic3A7WyN4MEM4RS0jeDBDOTBdCit8Jm5ic3A7WyN4MEM5Mi0jeDBDQThdCit8Jm5ic3A7WyN4MENBQS0jeDBDQjNdCit8Jm5ic3A7WyN4MENCNS0jeDBDQjldCit8Jm5ic3A7I3gwQ0RFCit8Jm5ic3A7WyN4MENFMC0jeDBDRTFdCit8Jm5ic3A7WyN4MEQwNS0jeDBEMENdCit8Jm5ic3A7WyN4MEQwRS0jeDBEMTBdCit8Jm5ic3A7WyN4MEQxMi0jeDBEMjhdCit8Jm5ic3A7WyN4MEQyQS0jeDBEMzldCit8Jm5ic3A7WyN4MEQ2MC0jeDBENjFdCit8Jm5ic3A7WyN4MEUwMS0jeDBFMkVdCit8Jm5ic3A7I3gwRTMwCit8Jm5ic3A7WyN4MEUzMi0jeDBFMzNdCit8Jm5ic3A7WyN4MEU0MC0jeDBFNDVdCit8Jm5ic3A7WyN4MEU4MS0jeDBFODJdCit8Jm5ic3A7I3gwRTg0Cit8Jm5ic3A7WyN4MEU4Ny0jeDBFODhdCit8Jm5ic3A7I3gwRThBCit8Jm5ic3A7I3gwRThECit8Jm5ic3A7WyN4MEU5NC0jeDBFOTddCit8Jm5ic3A7WyN4MEU5OS0jeDBFOUZdCit8Jm5ic3A7WyN4MEVBMS0jeDBFQTNdCit8Jm5ic3A7I3gwRUE1Cit8Jm5ic3A7I3gwRUE3Cit8Jm5ic3A7WyN4MEVBQS0jeDBFQUJdCit8Jm5ic3A7WyN4MEVBRC0jeDBFQUVdCit8Jm5ic3A7I3gwRUIwCit8Jm5ic3A7WyN4MEVCMi0jeDBFQjNdCit8Jm5ic3A7I3gwRUJECit8Jm5ic3A7WyN4MEVDMC0jeDBFQzRdCit8Jm5ic3A7WyN4MEY0MC0jeDBGNDddCit8Jm5ic3A7WyN4MEY0OS0jeDBGNjldCit8Jm5ic3A7WyN4MTBBMC0jeDEwQzVdCit8Jm5ic3A7WyN4MTBEMC0jeDEwRjZdCit8Jm5ic3A7I3gxMTAwCit8Jm5ic3A7WyN4MTEwMi0jeDExMDNdCit8Jm5ic3A7WyN4MTEwNS0jeDExMDddCit8Jm5ic3A7I3gxMTA5Cit8Jm5ic3A7WyN4MTEwQi0jeDExMENdCit8Jm5ic3A7WyN4MTEwRS0jeDExMTJdCit8Jm5ic3A7I3gxMTNDCit8Jm5ic3A7I3gxMTNFCit8Jm5ic3A7I3gxMTQwCit8Jm5ic3A7I3gxMTRDCit8Jm5ic3A7I3gxMTRFCit8Jm5ic3A7I3gxMTUwCit8Jm5ic3A7WyN4MTE1NC0jeDExNTVdCit8Jm5ic3A7I3gxMTU5Cit8Jm5ic3A7WyN4MTE1Ri0jeDExNjFdCit8Jm5ic3A7I3gxMTYzCit8Jm5ic3A7I3gxMTY1Cit8Jm5ic3A7I3gxMTY3Cit8Jm5ic3A7I3gxMTY5Cit8Jm5ic3A7WyN4MTE2RC0jeDExNkVdCit8Jm5ic3A7WyN4MTE3Mi0jeDExNzNdCit8Jm5ic3A7I3gxMTc1Cit8Jm5ic3A7I3gxMTlFCit8Jm5ic3A7I3gxMUE4Cit8Jm5ic3A7I3gxMUFCCit8Jm5ic3A7WyN4MTFBRS0jeDExQUZdCit8Jm5ic3A7WyN4MTFCNy0jeDExQjhdCit8Jm5ic3A7I3gxMUJBCit8Jm5ic3A7WyN4MTFCQy0jeDExQzJdCit8Jm5ic3A7I3gxMUVCCit8Jm5ic3A7I3gxMUYwCit8Jm5ic3A7I3gxMUY5Cit8Jm5ic3A7WyN4MUUwMC0jeDFFOUJdCit8Jm5ic3A7WyN4MUVBMC0jeDFFRjldCit8Jm5ic3A7WyN4MUYwMC0jeDFGMTVdCit8Jm5ic3A7WyN4MUYxOC0jeDFGMURdCit8Jm5ic3A7WyN4MUYyMC0jeDFGNDVdCit8Jm5ic3A7WyN4MUY0OC0jeDFGNERdCit8Jm5ic3A7WyN4MUY1MC0jeDFGNTddCit8Jm5ic3A7I3gxRjU5Cit8Jm5ic3A7I3gxRjVCCit8Jm5ic3A7I3gxRjVECit8Jm5ic3A7WyN4MUY1Ri0jeDFGN0RdCit8Jm5ic3A7WyN4MUY4MC0jeDFGQjRdCit8Jm5ic3A7WyN4MUZCNi0jeDFGQkNdCit8Jm5ic3A7I3gxRkJFCit8Jm5ic3A7WyN4MUZDMi0jeDFGQzRdCit8Jm5ic3A7WyN4MUZDNi0jeDFGQ0NdCit8Jm5ic3A7WyN4MUZEMC0jeDFGRDNdCit8Jm5ic3A7WyN4MUZENi0jeDFGREJdCit8Jm5ic3A7WyN4MUZFMC0jeDFGRUNdCit8Jm5ic3A7WyN4MUZGMi0jeDFGRjRdCit8Jm5ic3A7WyN4MUZGNi0jeDFGRkNdCit8Jm5ic3A7I3gyMTI2Cit8Jm5ic3A7WyN4MjEyQS0jeDIxMkJdCit8Jm5ic3A7I3gyMTJFCit8Jm5ic3A7WyN4MjE4MC0jeDIxODJdCit8Jm5ic3A7WyN4MzA0MS0jeDMwOTRdCit8Jm5ic3A7WyN4MzBBMS0jeDMwRkFdCit8Jm5ic3A7WyN4MzEwNS0jeDMxMkNdCit8Jm5ic3A7WyN4QUMwMC0jeEQ3QTNdCis8L3Jocz48L3Byb2Q+Cis8cHJvZCBpZD0iTlQtSWRlb2dyYXBoaWMiPjxsaHM+SWRlb2dyYXBoaWM8L2xocz4KKzxyaHM+WyN4NEUwMC0jeDlGQTVdCit8Jm5ic3A7I3gzMDA3Cit8Jm5ic3A7WyN4MzAyMS0jeDMwMjldCis8L3Jocz48L3Byb2Q+Cis8cHJvZCBpZD0iTlQtQ29tYmluaW5nQ2hhciI+PGxocz5Db21iaW5pbmdDaGFyPC9saHM+Cis8cmhzPlsjeDAzMDAtI3gwMzQ1XQorfCZuYnNwO1sjeDAzNjAtI3gwMzYxXQorfCZuYnNwO1sjeDA0ODMtI3gwNDg2XQorfCZuYnNwO1sjeDA1OTEtI3gwNUExXQorfCZuYnNwO1sjeDA1QTMtI3gwNUI5XQorfCZuYnNwO1sjeDA1QkItI3gwNUJEXQorfCZuYnNwOyN4MDVCRgorfCZuYnNwO1sjeDA1QzEtI3gwNUMyXQorfCZuYnNwOyN4MDVDNAorfCZuYnNwO1sjeDA2NEItI3gwNjUyXQorfCZuYnNwOyN4MDY3MAorfCZuYnNwO1sjeDA2RDYtI3gwNkRDXQorfCZuYnNwO1sjeDA2REQtI3gwNkRGXQorfCZuYnNwO1sjeDA2RTAtI3gwNkU0XQorfCZuYnNwO1sjeDA2RTctI3gwNkU4XQorfCZuYnNwO1sjeDA2RUEtI3gwNkVEXQorfCZuYnNwO1sjeDA5MDEtI3gwOTAzXQorfCZuYnNwOyN4MDkzQworfCZuYnNwO1sjeDA5M0UtI3gwOTRDXQorfCZuYnNwOyN4MDk0RAorfCZuYnNwO1sjeDA5NTEtI3gwOTU0XQorfCZuYnNwO1sjeDA5NjItI3gwOTYzXQorfCZuYnNwO1sjeDA5ODEtI3gwOTgzXQorfCZuYnNwOyN4MDlCQworfCZuYnNwOyN4MDlCRQorfCZuYnNwOyN4MDlCRgorfCZuYnNwO1sjeDA5QzAtI3gwOUM0XQorfCZuYnNwO1sjeDA5QzctI3gwOUM4XQorfCZuYnNwO1sjeDA5Q0ItI3gwOUNEXQorfCZuYnNwOyN4MDlENworfCZuYnNwO1sjeDA5RTItI3gwOUUzXQorfCZuYnNwOyN4MEEwMgorfCZuYnNwOyN4MEEzQworfCZuYnNwOyN4MEEzRQorfCZuYnNwOyN4MEEzRgorfCZuYnNwO1sjeDBBNDAtI3gwQTQyXQorfCZuYnNwO1sjeDBBNDctI3gwQTQ4XQorfCZuYnNwO1sjeDBBNEItI3gwQTREXQorfCZuYnNwO1sjeDBBNzAtI3gwQTcxXQorfCZuYnNwO1sjeDBBODEtI3gwQTgzXQorfCZuYnNwOyN4MEFCQworfCZuYnNwO1sjeDBBQkUtI3gwQUM1XQorfCZuYnNwO1sjeDBBQzctI3gwQUM5XQorfCZuYnNwO1sjeDBBQ0ItI3gwQUNEXQorfCZuYnNwO1sjeDBCMDEtI3gwQjAzXQorfCZuYnNwOyN4MEIzQworfCZuYnNwO1sjeDBCM0UtI3gwQjQzXQorfCZuYnNwO1sjeDBCNDctI3gwQjQ4XQorfCZuYnNwO1sjeDBCNEItI3gwQjREXQorfCZuYnNwO1sjeDBCNTYtI3gwQjU3XQorfCZuYnNwO1sjeDBCODItI3gwQjgzXQorfCZuYnNwO1sjeDBCQkUtI3gwQkMyXQorfCZuYnNwO1sjeDBCQzYtI3gwQkM4XQorfCZuYnNwO1sjeDBCQ0EtI3gwQkNEXQorfCZuYnNwOyN4MEJENworfCZuYnNwO1sjeDBDMDEtI3gwQzAzXQorfCZuYnNwO1sjeDBDM0UtI3gwQzQ0XQorfCZuYnNwO1sjeDBDNDYtI3gwQzQ4XQorfCZuYnNwO1sjeDBDNEEtI3gwQzREXQorfCZuYnNwO1sjeDBDNTUtI3gwQzU2XQorfCZuYnNwO1sjeDBDODItI3gwQzgzXQorfCZuYnNwO1sjeDBDQkUtI3gwQ0M0XQorfCZuYnNwO1sjeDBDQzYtI3gwQ0M4XQorfCZuYnNwO1sjeDBDQ0EtI3gwQ0NEXQorfCZuYnNwO1sjeDBDRDUtI3gwQ0Q2XQorfCZuYnNwO1sjeDBEMDItI3gwRDAzXQorfCZuYnNwO1sjeDBEM0UtI3gwRDQzXQorfCZuYnNwO1sjeDBENDYtI3gwRDQ4XQorfCZuYnNwO1sjeDBENEEtI3gwRDREXQorfCZuYnNwOyN4MEQ1NworfCZuYnNwOyN4MEUzMQorfCZuYnNwO1sjeDBFMzQtI3gwRTNBXQorfCZuYnNwO1sjeDBFNDctI3gwRTRFXQorfCZuYnNwOyN4MEVCMQorfCZuYnNwO1sjeDBFQjQtI3gwRUI5XQorfCZuYnNwO1sjeDBFQkItI3gwRUJDXQorfCZuYnNwO1sjeDBFQzgtI3gwRUNEXQorfCZuYnNwO1sjeDBGMTgtI3gwRjE5XQorfCZuYnNwOyN4MEYzNQorfCZuYnNwOyN4MEYzNworfCZuYnNwOyN4MEYzOQorfCZuYnNwOyN4MEYzRQorfCZuYnNwOyN4MEYzRgorfCZuYnNwO1sjeDBGNzEtI3gwRjg0XQorfCZuYnNwO1sjeDBGODYtI3gwRjhCXQorfCZuYnNwO1sjeDBGOTAtI3gwRjk1XQorfCZuYnNwOyN4MEY5NworfCZuYnNwO1sjeDBGOTktI3gwRkFEXQorfCZuYnNwO1sjeDBGQjEtI3gwRkI3XQorfCZuYnNwOyN4MEZCOQorfCZuYnNwO1sjeDIwRDAtI3gyMERDXQorfCZuYnNwOyN4MjBFMQorfCZuYnNwO1sjeDMwMkEtI3gzMDJGXQorfCZuYnNwOyN4MzA5OQorfCZuYnNwOyN4MzA5QQorPC9yaHM+PC9wcm9kPgorPHByb2QgaWQ9Ik5ULURpZ2l0Ij48bGhzPkRpZ2l0PC9saHM+Cis8cmhzPlsjeDAwMzAtI3gwMDM5XQorfCZuYnNwO1sjeDA2NjAtI3gwNjY5XQorfCZuYnNwO1sjeDA2RjAtI3gwNkY5XQorfCZuYnNwO1sjeDA5NjYtI3gwOTZGXQorfCZuYnNwO1sjeDA5RTYtI3gwOUVGXQorfCZuYnNwO1sjeDBBNjYtI3gwQTZGXQorfCZuYnNwO1sjeDBBRTYtI3gwQUVGXQorfCZuYnNwO1sjeDBCNjYtI3gwQjZGXQorfCZuYnNwO1sjeDBCRTctI3gwQkVGXQorfCZuYnNwO1sjeDBDNjYtI3gwQzZGXQorfCZuYnNwO1sjeDBDRTYtI3gwQ0VGXQorfCZuYnNwO1sjeDBENjYtI3gwRDZGXQorfCZuYnNwO1sjeDBFNTAtI3gwRTU5XQorfCZuYnNwO1sjeDBFRDAtI3gwRUQ5XQorfCZuYnNwO1sjeDBGMjAtI3gwRjI5XQorPC9yaHM+PC9wcm9kPgorPHByb2QgaWQ9Ik5ULUV4dGVuZGVyIj48bGhzPkV4dGVuZGVyPC9saHM+Cis8cmhzPiN4MDBCNworfCZuYnNwOyN4MDJEMAorfCZuYnNwOyN4MDJEMQorfCZuYnNwOyN4MDM4NworfCZuYnNwOyN4MDY0MAorfCZuYnNwOyN4MEU0NgorfCZuYnNwOyN4MEVDNgorfCZuYnNwOyN4MzAwNQorfCZuYnNwO1sjeDMwMzEtI3gzMDM1XQorfCZuYnNwO1sjeDMwOUQtI3gzMDlFXQorfCZuYnNwO1sjeDMwRkMtI3gzMEZFXQorPC9yaHM+PC9wcm9kPgorCis8L3Byb2Rncm91cD4KKzwvc2NyYXA+Cis8L3A+Cis8cD5UaGUgY2hhcmFjdGVyIGNsYXNzZXMgZGVmaW5lZCBoZXJlIGNhbiBiZSBkZXJpdmVkIGZyb20gdGhlCitVbmljb2RlIGNoYXJhY3RlciBkYXRhYmFzZSBhcyBmb2xsb3dzOgorPHVsaXN0PgorPGl0ZW0+Cis8cD5OYW1lIHN0YXJ0IGNoYXJhY3RlcnMgbXVzdCBoYXZlIG9uZSBvZiB0aGUgY2F0ZWdvcmllcyBMbCwgTHUsCitMbywgTHQsIE5sLjwvcD4KKzwvaXRlbT4KKzxpdGVtPgorPHA+TmFtZSBjaGFyYWN0ZXJzIG90aGVyIHRoYW4gTmFtZS1zdGFydCBjaGFyYWN0ZXJzIAorbXVzdCBoYXZlIG9uZSBvZiB0aGUgY2F0ZWdvcmllcyBNYywgTWUsIE1uLCBMbSwgb3IgTmQuPC9wPgorPC9pdGVtPgorPGl0ZW0+Cis8cD5DaGFyYWN0ZXJzIGluIHRoZSBjb21wYXRpYmlsaXR5IGFyZWEgKGkuZS4gd2l0aCBjaGFyYWN0ZXIgY29kZQorZ3JlYXRlciB0aGFuICN4RjkwMCBhbmQgbGVzcyB0aGFuICN4RkZGRSkgYXJlIG5vdCBhbGxvd2VkIGluIFhNTAorbmFtZXMuPC9wPgorPC9pdGVtPgorPGl0ZW0+Cis8cD5DaGFyYWN0ZXJzIHdoaWNoIGhhdmUgYSBmb250IG9yIGNvbXBhdGliaWxpdHkgZGVjb21wb3NpdGlvbiAoaS5lLiB0aG9zZQord2l0aCBhICJjb21wYXRpYmlsaXR5IGZvcm1hdHRpbmcgdGFnIiBpbiBmaWVsZCA1IG9mIHRoZSBkYXRhYmFzZSAtLQorbWFya2VkIGJ5IGZpZWxkIDUgYmVnaW5uaW5nIHdpdGggYSAiJmx0OyIpIGFyZSBub3QgYWxsb3dlZC48L3A+Cis8L2l0ZW0+Cis8aXRlbT4KKzxwPlRoZSBmb2xsb3dpbmcgY2hhcmFjdGVycyBhcmUgdHJlYXRlZCBhcyBuYW1lLXN0YXJ0IGNoYXJhY3RlcnMKK3JhdGhlciB0aGFuIG5hbWUgY2hhcmFjdGVycywgYmVjYXVzZSB0aGUgcHJvcGVydHkgZmlsZSBjbGFzc2lmaWVzCit0aGVtIGFzIEFscGhhYmV0aWM6ICBbI3gwMkJCLSN4MDJDMV0sICN4MDU1OSwgI3gwNkU1LCAjeDA2RTYuPC9wPgorPC9pdGVtPgorPGl0ZW0+Cis8cD5DaGFyYWN0ZXJzICN4MjBERC0jeDIwRTAgYXJlIGV4Y2x1ZGVkIChpbiBhY2NvcmRhbmNlIHdpdGggCitVbmljb2RlLCBzZWN0aW9uIDUuMTQpLjwvcD4KKzwvaXRlbT4KKzxpdGVtPgorPHA+Q2hhcmFjdGVyICN4MDBCNyBpcyBjbGFzc2lmaWVkIGFzIGFuIGV4dGVuZGVyLCBiZWNhdXNlIHRoZQorcHJvcGVydHkgbGlzdCBzbyBpZGVudGlmaWVzIGl0LjwvcD4KKzwvaXRlbT4KKzxpdGVtPgorPHA+Q2hhcmFjdGVyICN4MDM4NyBpcyBhZGRlZCBhcyBhIG5hbWUgY2hhcmFjdGVyLCBiZWNhdXNlICN4MDBCNworaXMgaXRzIGNhbm9uaWNhbCBlcXVpdmFsZW50LjwvcD4KKzwvaXRlbT4KKzxpdGVtPgorPHA+Q2hhcmFjdGVycyAnOicgYW5kICdfJyBhcmUgYWxsb3dlZCBhcyBuYW1lLXN0YXJ0IGNoYXJhY3RlcnMuPC9wPgorPC9pdGVtPgorPGl0ZW0+Cis8cD5DaGFyYWN0ZXJzICctJyBhbmQgJy4nIGFyZSBhbGxvd2VkIGFzIG5hbWUgY2hhcmFjdGVycy48L3A+Cis8L2l0ZW0+Cis8L3VsaXN0PgorPC9wPgorPC9kaXYxPgorPGluZm9ybS1kaXYxIGlkPSJzZWMteG1sLWFuZC1zZ21sIj4KKzxoZWFkPlhNTCBhbmQgU0dNTDwvaGVhZD4KKyAKKzxwPlhNTCBpcyBkZXNpZ25lZCB0byBiZSBhIHN1YnNldCBvZiBTR01MLCBpbiB0aGF0IGV2ZXJ5Cis8dGVybXJlZiBkZWY9ImR0LXZhbGlkIj52YWxpZDwvdGVybXJlZj4gWE1MIGRvY3VtZW50IHNob3VsZCBhbHNvIGJlIGEKK2NvbmZvcm1hbnQgU0dNTCBkb2N1bWVudC4KK0ZvciBhIGRldGFpbGVkIGNvbXBhcmlzb24gb2YgdGhlIGFkZGl0aW9uYWwgcmVzdHJpY3Rpb25zIHRoYXQgWE1MIHBsYWNlcyBvbgorZG9jdW1lbnRzIGJleW9uZCB0aG9zZSBvZiBTR01MLCBzZWUgPGJpYnJlZiByZWY9IkNsYXJrIi8+LgorPC9wPgorPC9pbmZvcm0tZGl2MT4KKzxpbmZvcm0tZGl2MSBpZD0ic2VjLWVudGV4cGFuZCI+Cis8aGVhZD5FeHBhbnNpb24gb2YgRW50aXR5IGFuZCBDaGFyYWN0ZXIgUmVmZXJlbmNlczwvaGVhZD4KKzxwPlRoaXMgYXBwZW5kaXggY29udGFpbnMgc29tZSBleGFtcGxlcyBpbGx1c3RyYXRpbmcgdGhlCitzZXF1ZW5jZSBvZiBlbnRpdHktIGFuZCBjaGFyYWN0ZXItcmVmZXJlbmNlIHJlY29nbml0aW9uIGFuZAorZXhwYW5zaW9uLCBhcyBzcGVjaWZpZWQgaW4gPHNwZWNyZWYgcmVmPSJlbnRwcm9jIi8+LjwvcD4KKzxwPgorSWYgdGhlIERURCBjb250YWlucyB0aGUgZGVjbGFyYXRpb24gCis8ZWc+PCFbQ0RBVEFbPCFFTlRJVFkgZXhhbXBsZSAiPHA+QW4gYW1wZXJzYW5kICgmIzM4OyMzODspIG1heSBiZSBlc2NhcGVkCitudW1lcmljYWxseSAoJiMzODsjMzg7IzM4Oykgb3Igd2l0aCBhIGdlbmVyYWwgZW50aXR5CisoJmFtcDthbXA7KS48L3A+IiA+CitdXT48L2VnPgordGhlbiB0aGUgWE1MIHByb2Nlc3NvciB3aWxsIHJlY29nbml6ZSB0aGUgY2hhcmFjdGVyIHJlZmVyZW5jZXMgCit3aGVuIGl0IHBhcnNlcyB0aGUgZW50aXR5IGRlY2xhcmF0aW9uLCBhbmQgcmVzb2x2ZSB0aGVtIGJlZm9yZSAKK3N0b3JpbmcgdGhlIGZvbGxvd2luZyBzdHJpbmcgYXMgdGhlCit2YWx1ZSBvZiB0aGUgZW50aXR5ICI8Y29kZT5leGFtcGxlPC9jb2RlPiI6Cis8ZWc+PCFbQ0RBVEFbPHA+QW4gYW1wZXJzYW5kICgmIzM4OykgbWF5IGJlIGVzY2FwZWQKK251bWVyaWNhbGx5ICgmIzM4OyMzODspIG9yIHdpdGggYSBnZW5lcmFsIGVudGl0eQorKCZhbXA7YW1wOykuPC9wPgorXV0+PC9lZz4KK0EgcmVmZXJlbmNlIGluIHRoZSBkb2N1bWVudCB0byAiPGNvZGU+JmFtcDtleGFtcGxlOzwvY29kZT4iIAord2lsbCBjYXVzZSB0aGUgdGV4dCB0byBiZSByZXBhcnNlZCwgYXQgd2hpY2ggdGltZSB0aGUgCitzdGFydC0gYW5kIGVuZC10YWdzIG9mIHRoZSAiPGNvZGU+cDwvY29kZT4iIGVsZW1lbnQgd2lsbCBiZSByZWNvZ25pemVkIAorYW5kIHRoZSB0aHJlZSByZWZlcmVuY2VzIHdpbGwgYmUgcmVjb2duaXplZCBhbmQgZXhwYW5kZWQsIAorcmVzdWx0aW5nIGluIGEgIjxjb2RlPnA8L2NvZGU+IiBlbGVtZW50IHdpdGggdGhlIGZvbGxvd2luZyBjb250ZW50CisoYWxsIGRhdGEsIG5vIGRlbGltaXRlcnMgb3IgbWFya3VwKToKKzxlZz48IVtDREFUQVtBbiBhbXBlcnNhbmQgKCYpIG1heSBiZSBlc2NhcGVkCitudW1lcmljYWxseSAoJiMzODspIG9yIHdpdGggYSBnZW5lcmFsIGVudGl0eQorKCZhbXA7KS4KK11dPjwvZWc+Cis8L3A+Cis8cD5BIG1vcmUgY29tcGxleCBleGFtcGxlIHdpbGwgaWxsdXN0cmF0ZSB0aGUgcnVsZXMgYW5kIHRoZWlyCitlZmZlY3RzIGZ1bGx5LiAgSW4gdGhlIGZvbGxvd2luZyBleGFtcGxlLCB0aGUgbGluZSBudW1iZXJzIGFyZQorc29sZWx5IGZvciByZWZlcmVuY2UuCis8ZWc+PCFbQ0RBVEFbMSA8P3htbCB2ZXJzaW9uPScxLjAnPz4KKzIgPCFET0NUWVBFIHRlc3QgWworMyA8IUVMRU1FTlQgdGVzdCAoI1BDREFUQSkgPgorNCA8IUVOVElUWSAlIHh4ICcmIzM3O3p6Oyc+Cis1IDwhRU5USVRZICUgenogJyYjNjA7IUVOVElUWSB0cmlja3kgImVycm9yLXByb25lIiA+JyA+Cis2ICV4eDsKKzcgXT4KKzggPHRlc3Q+VGhpcyBzYW1wbGUgc2hvd3MgYSAmdHJpY2t5OyBtZXRob2QuPC90ZXN0PgorXV0+PC9lZz4KK1RoaXMgcHJvZHVjZXMgdGhlIGZvbGxvd2luZzoKKzx1bGlzdCBzcGFjaW5nPSJjb21wYWN0Ij4KKzxpdGVtPjxwPmluIGxpbmUgNCwgdGhlIHJlZmVyZW5jZSB0byBjaGFyYWN0ZXIgMzcgaXMgZXhwYW5kZWQgaW1tZWRpYXRlbHksCithbmQgdGhlIHBhcmFtZXRlciBlbnRpdHkgIjxjb2RlPnh4PC9jb2RlPiIgaXMgc3RvcmVkIGluIHRoZSBzeW1ib2wKK3RhYmxlIHdpdGggdGhlIHZhbHVlICI8Y29kZT4leno7PC9jb2RlPiIuICBTaW5jZSB0aGUgcmVwbGFjZW1lbnQgdGV4dAoraXMgbm90IHJlc2Nhbm5lZCwgdGhlIHJlZmVyZW5jZSB0byBwYXJhbWV0ZXIgZW50aXR5ICI8Y29kZT56ejwvY29kZT4iCitpcyBub3QgcmVjb2duaXplZC4gIChBbmQgaXQgd291bGQgYmUgYW4gZXJyb3IgaWYgaXQgd2VyZSwgc2luY2UKKyI8Y29kZT56ejwvY29kZT4iIGlzIG5vdCB5ZXQgZGVjbGFyZWQuKTwvcD48L2l0ZW0+Cis8aXRlbT48cD5pbiBsaW5lIDUsIHRoZSBjaGFyYWN0ZXIgcmVmZXJlbmNlICI8Y29kZT4mYW1wOyM2MDs8L2NvZGU+IiBpcworZXhwYW5kZWQgaW1tZWRpYXRlbHkgYW5kIHRoZSBwYXJhbWV0ZXIgZW50aXR5ICI8Y29kZT56ejwvY29kZT4iIGlzCitzdG9yZWQgd2l0aCB0aGUgcmVwbGFjZW1lbnQgdGV4dCAKKyI8Y29kZT4mbHQ7IUVOVElUWSB0cmlja3kgImVycm9yLXByb25lIiAmZ3Q7PC9jb2RlPiIsCit3aGljaCBpcyBhIHdlbGwtZm9ybWVkIGVudGl0eSBkZWNsYXJhdGlvbi48L3A+PC9pdGVtPgorPGl0ZW0+PHA+aW4gbGluZSA2LCB0aGUgcmVmZXJlbmNlIHRvICI8Y29kZT54eDwvY29kZT4iIGlzIHJlY29nbml6ZWQsCithbmQgdGhlIHJlcGxhY2VtZW50IHRleHQgb2YgIjxjb2RlPnh4PC9jb2RlPiIgKG5hbWVseSAKKyI8Y29kZT4leno7PC9jb2RlPiIpIGlzIHBhcnNlZC4gIFRoZSByZWZlcmVuY2UgdG8gIjxjb2RlPnp6PC9jb2RlPiIKK2lzIHJlY29nbml6ZWQgaW4gaXRzIHR1cm4sIGFuZCBpdHMgcmVwbGFjZW1lbnQgdGV4dCAKKygiPGNvZGU+Jmx0OyFFTlRJVFkgdHJpY2t5ICJlcnJvci1wcm9uZSIgJmd0OzwvY29kZT4iKSBpcyBwYXJzZWQuCitUaGUgZ2VuZXJhbCBlbnRpdHkgIjxjb2RlPnRyaWNreTwvY29kZT4iIGhhcyBub3cgYmVlbgorZGVjbGFyZWQsIHdpdGggdGhlIHJlcGxhY2VtZW50IHRleHQgIjxjb2RlPmVycm9yLXByb25lPC9jb2RlPiIuPC9wPjwvaXRlbT4KKzxpdGVtPjxwPgoraW4gbGluZSA4LCB0aGUgcmVmZXJlbmNlIHRvIHRoZSBnZW5lcmFsIGVudGl0eSAiPGNvZGU+dHJpY2t5PC9jb2RlPiIgaXMKK3JlY29nbml6ZWQsIGFuZCBpdCBpcyBleHBhbmRlZCwgc28gdGhlIGZ1bGwgY29udGVudCBvZiB0aGUKKyI8Y29kZT50ZXN0PC9jb2RlPiIgZWxlbWVudCBpcyB0aGUgc2VsZi1kZXNjcmliaW5nIChhbmQgdW5ncmFtbWF0aWNhbCkgc3RyaW5nCis8ZW1waD5UaGlzIHNhbXBsZSBzaG93cyBhIGVycm9yLXByb25lIG1ldGhvZC48L2VtcGg+Cis8L3A+PC9pdGVtPgorPC91bGlzdD4KKzwvcD4KKzwvaW5mb3JtLWRpdjE+IAorPGluZm9ybS1kaXYxIGlkPSJkZXRlcm1pbmlzbSI+Cis8aGVhZD5EZXRlcm1pbmlzdGljIENvbnRlbnQgTW9kZWxzPC9oZWFkPgorPHA+PHRlcm1yZWYgZGVmPSJkdC1jb21wYXQiPkZvciBjb21wYXRpYmlsaXR5PC90ZXJtcmVmPiwgaXQgaXMKK3JlcXVpcmVkCit0aGF0IGNvbnRlbnQgbW9kZWxzIGluIGVsZW1lbnQgdHlwZSBkZWNsYXJhdGlvbnMgYmUgZGV0ZXJtaW5pc3RpYy4gIAorPC9wPgorPCEtLSBGSU5BTCBFRElUOiAgV2ViU0dNTCBhbGxvd3MgYW1iaWd1aXR5PyAtLT4KKzxwPlNHTUwKK3JlcXVpcmVzIGRldGVybWluaXN0aWMgY29udGVudCBtb2RlbHMgKGl0IGNhbGxzIHRoZW0KKyJ1bmFtYmlndW91cyIpOyBYTUwgcHJvY2Vzc29ycyBidWlsdCB1c2luZyBTR01MIHN5c3RlbXMgbWF5CitmbGFnIG5vbi1kZXRlcm1pbmlzdGljIGNvbnRlbnQgbW9kZWxzIGFzIGVycm9ycy48L3A+Cis8cD5Gb3IgZXhhbXBsZSwgdGhlIGNvbnRlbnQgbW9kZWwgPGNvZGU+KChiLCBjKSB8IChiLCBkKSk8L2NvZGU+IGlzCitub24tZGV0ZXJtaW5pc3RpYywgYmVjYXVzZSBnaXZlbiBhbiBpbml0aWFsIDxjb2RlPmI8L2NvZGU+IHRoZSBwYXJzZXIKK2Nhbm5vdCBrbm93IHdoaWNoIDxjb2RlPmI8L2NvZGU+IGluIHRoZSBtb2RlbCBpcyBiZWluZyBtYXRjaGVkIHdpdGhvdXQKK2xvb2tpbmcgYWhlYWQgdG8gc2VlIHdoaWNoIGVsZW1lbnQgZm9sbG93cyB0aGUgPGNvZGU+YjwvY29kZT4uCitJbiB0aGlzIGNhc2UsIHRoZSB0d28gcmVmZXJlbmNlcyB0bworPGNvZGU+YjwvY29kZT4gY2FuIGJlIGNvbGxhcHNlZCAKK2ludG8gYSBzaW5nbGUgcmVmZXJlbmNlLCBtYWtpbmcgdGhlIG1vZGVsIHJlYWQKKzxjb2RlPihiLCAoYyB8IGQpKTwvY29kZT4uICBBbiBpbml0aWFsIDxjb2RlPmI8L2NvZGU+IG5vdyBjbGVhcmx5CittYXRjaGVzIG9ubHkgYSBzaW5nbGUgbmFtZSBpbiB0aGUgY29udGVudCBtb2RlbC4gIFRoZSBwYXJzZXIgZG9lc24ndAorbmVlZCB0byBsb29rIGFoZWFkIHRvIHNlZSB3aGF0IGZvbGxvd3M7IGVpdGhlciA8Y29kZT5jPC9jb2RlPiBvcgorPGNvZGU+ZDwvY29kZT4gd291bGQgYmUgYWNjZXB0ZWQuPC9wPgorPHA+TW9yZSBmb3JtYWxseTogIGEgZmluaXRlIHN0YXRlIGF1dG9tYXRvbiBtYXkgYmUgY29uc3RydWN0ZWQgZnJvbSB0aGUKK2NvbnRlbnQgbW9kZWwgdXNpbmcgdGhlIHN0YW5kYXJkIGFsZ29yaXRobXMsIGUuZy4gYWxnb3JpdGhtIDMuNSAKK2luIHNlY3Rpb24gMy45CitvZiBBaG8sIFNldGhpLCBhbmQgVWxsbWFuIDxiaWJyZWYgcmVmPSJBaG8iLz4uCitJbiBtYW55IHN1Y2ggYWxnb3JpdGhtcywgYSBmb2xsb3cgc2V0IGlzIGNvbnN0cnVjdGVkIGZvciBlYWNoIAorcG9zaXRpb24gaW4gdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiAoaS5lLiwgZWFjaCBsZWFmIAorbm9kZSBpbiB0aGUgCitzeW50YXggdHJlZSBmb3IgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbik7CitpZiBhbnkgcG9zaXRpb24gaGFzIGEgZm9sbG93IHNldCBpbiB3aGljaCAKK21vcmUgdGhhbiBvbmUgZm9sbG93aW5nIHBvc2l0aW9uIGlzIAorbGFiZWxlZCB3aXRoIHRoZSBzYW1lIGVsZW1lbnQgdHlwZSBuYW1lLCAKK3RoZW4gdGhlIGNvbnRlbnQgbW9kZWwgaXMgaW4gZXJyb3IKK2FuZCBtYXkgYmUgcmVwb3J0ZWQgYXMgYW4gZXJyb3IuCis8L3A+Cis8cD5BbGdvcml0aG1zIGV4aXN0IHdoaWNoIGFsbG93IG1hbnkgYnV0IG5vdCBhbGwgbm9uLWRldGVybWluaXN0aWMKK2NvbnRlbnQgbW9kZWxzIHRvIGJlIHJlZHVjZWQgYXV0b21hdGljYWxseSB0byBlcXVpdmFsZW50IGRldGVybWluaXN0aWMKK21vZGVsczsgc2VlIEJy/GdnZW1hbm4tS2xlaW4gMTk5MSA8YmlicmVmIHJlZj0iQUJLIi8+LjwvcD4KKzwvaW5mb3JtLWRpdjE+Cis8aW5mb3JtLWRpdjEgaWQ9InNlYy1ndWVzc2luZyI+Cis8aGVhZD5BdXRvZGV0ZWN0aW9uIG9mIENoYXJhY3RlciBFbmNvZGluZ3M8L2hlYWQ+Cis8cD5UaGUgWE1MIGVuY29kaW5nIGRlY2xhcmF0aW9uIGZ1bmN0aW9ucyBhcyBhbiBpbnRlcm5hbCBsYWJlbCBvbiBlYWNoCitlbnRpdHksIGluZGljYXRpbmcgd2hpY2ggY2hhcmFjdGVyIGVuY29kaW5nIGlzIGluIHVzZS4gIEJlZm9yZSBhbiBYTUwKK3Byb2Nlc3NvciBjYW4gcmVhZCB0aGUgaW50ZXJuYWwgbGFiZWwsIGhvd2V2ZXIsIGl0IGFwcGFyZW50bHkgaGFzIHRvCitrbm93IHdoYXQgY2hhcmFjdGVyIGVuY29kaW5nIGlzIGluIHVzZSZtZGFzaDt3aGljaCBpcyB3aGF0IHRoZSBpbnRlcm5hbCBsYWJlbAoraXMgdHJ5aW5nIHRvIGluZGljYXRlLiAgSW4gdGhlIGdlbmVyYWwgY2FzZSwgdGhpcyBpcyBhIGhvcGVsZXNzCitzaXR1YXRpb24uIEl0IGlzIG5vdCBlbnRpcmVseSBob3BlbGVzcyBpbiBYTUwsIGhvd2V2ZXIsIGJlY2F1c2UgWE1MCitsaW1pdHMgdGhlIGdlbmVyYWwgY2FzZSBpbiB0d28gd2F5czogIGVhY2ggaW1wbGVtZW50YXRpb24gaXMgYXNzdW1lZAordG8gc3VwcG9ydCBvbmx5IGEgIGZpbml0ZSBzZXQgb2YgY2hhcmFjdGVyIGVuY29kaW5ncywgYW5kIHRoZSBYTUwKK2VuY29kaW5nIGRlY2xhcmF0aW9uIGlzIHJlc3RyaWN0ZWQgaW4gcG9zaXRpb24gYW5kIGNvbnRlbnQgaW4gb3JkZXIgdG8KK21ha2UgaXQgZmVhc2libGUgdG8gYXV0b2RldGVjdCB0aGUgY2hhcmFjdGVyIGVuY29kaW5nIGluIHVzZSBpbiBlYWNoCitlbnRpdHkgaW4gbm9ybWFsIGNhc2VzLiAgQWxzbywgaW4gbWFueSBjYXNlcyBvdGhlciBzb3VyY2VzIG9mIGluZm9ybWF0aW9uCithcmUgYXZhaWxhYmxlIGluIGFkZGl0aW9uIHRvIHRoZSBYTUwgZGF0YSBzdHJlYW0gaXRzZWxmLiAgCitUd28gY2FzZXMgbWF5IGJlIGRpc3Rpbmd1aXNoZWQsIAorZGVwZW5kaW5nIG9uIHdoZXRoZXIgdGhlIFhNTCBlbnRpdHkgaXMgcHJlc2VudGVkIHRvIHRoZQorcHJvY2Vzc29yIHdpdGhvdXQsIG9yIHdpdGgsIGFueSBhY2NvbXBhbnlpbmcKKyhleHRlcm5hbCkgaW5mb3JtYXRpb24uICBXZSBjb25zaWRlciB0aGUgZmlyc3QgY2FzZSBmaXJzdC4KKzwvcD4KKzxwPgorQmVjYXVzZSBlYWNoIFhNTCBlbnRpdHkgbm90IGluIFVURi04IG9yIFVURi0xNiBmb3JtYXQgPGVtcGg+bXVzdDwvZW1waD4KK2JlZ2luIHdpdGggYW4gWE1MIGVuY29kaW5nIGRlY2xhcmF0aW9uLCBpbiB3aGljaCB0aGUgZmlyc3QgIGNoYXJhY3RlcnMKK211c3QgYmUgJzxjb2RlPiZsdDs/eG1sPC9jb2RlPicsIGFueSBjb25mb3JtaW5nIHByb2Nlc3NvciBjYW4gZGV0ZWN0LAorYWZ0ZXIgdHdvIHRvIGZvdXIgb2N0ZXRzIG9mIGlucHV0LCB3aGljaCBvZiB0aGUgZm9sbG93aW5nIGNhc2VzIGFwcGx5LiAKK0luIHJlYWRpbmcgdGhpcyBsaXN0LCBpdCBtYXkgaGVscCB0byBrbm93IHRoYXQgaW4gVUNTLTQsICcmbHQ7JyBpcworIjxjb2RlPiN4MDAwMDAwM0M8L2NvZGU+IiBhbmQgJz8nIGlzICI8Y29kZT4jeDAwMDAwMDNGPC9jb2RlPiIsIGFuZCB0aGUgQnl0ZQorT3JkZXIgTWFyayByZXF1aXJlZCBvZiBVVEYtMTYgZGF0YSBzdHJlYW1zIGlzICI8Y29kZT4jeEZFRkY8L2NvZGU+Ii48L3A+Cis8cD4KKzx1bGlzdD4KKzxpdGVtPgorPHA+PGNvZGU+MDAgMDAgMDAgM0M8L2NvZGU+OiBVQ1MtNCwgYmlnLWVuZGlhbiBtYWNoaW5lICgxMjM0IG9yZGVyKTwvcD4KKzwvaXRlbT4KKzxpdGVtPgorPHA+PGNvZGU+M0MgMDAgMDAgMDA8L2NvZGU+OiBVQ1MtNCwgbGl0dGxlLWVuZGlhbiBtYWNoaW5lICg0MzIxIG9yZGVyKTwvcD4KKzwvaXRlbT4KKzxpdGVtPgorPHA+PGNvZGU+MDAgMDAgM0MgMDA8L2NvZGU+OiBVQ1MtNCwgdW51c3VhbCBvY3RldCBvcmRlciAoMjE0Myk8L3A+Cis8L2l0ZW0+Cis8aXRlbT4KKzxwPjxjb2RlPjAwIDNDIDAwIDAwPC9jb2RlPjogVUNTLTQsIHVudXN1YWwgb2N0ZXQgb3JkZXIgKDM0MTIpPC9wPgorPC9pdGVtPgorPGl0ZW0+Cis8cD48Y29kZT5GRSBGRjwvY29kZT46IFVURi0xNiwgYmlnLWVuZGlhbjwvcD4KKzwvaXRlbT4KKzxpdGVtPgorPHA+PGNvZGU+RkYgRkU8L2NvZGU+OiBVVEYtMTYsIGxpdHRsZS1lbmRpYW48L3A+Cis8L2l0ZW0+Cis8aXRlbT4KKzxwPjxjb2RlPjAwIDNDIDAwIDNGPC9jb2RlPjogVVRGLTE2LCBiaWctZW5kaWFuLCBubyBCeXRlIE9yZGVyIE1hcmsKKyhhbmQgdGh1cywgc3RyaWN0bHkgc3BlYWtpbmcsIGluIGVycm9yKTwvcD4KKzwvaXRlbT4KKzxpdGVtPgorPHA+PGNvZGU+M0MgMDAgM0YgMDA8L2NvZGU+OiBVVEYtMTYsIGxpdHRsZS1lbmRpYW4sIG5vIEJ5dGUgT3JkZXIgTWFyaworKGFuZCB0aHVzLCBzdHJpY3RseSBzcGVha2luZywgaW4gZXJyb3IpPC9wPgorPC9pdGVtPgorPGl0ZW0+Cis8cD48Y29kZT4zQyAzRiA3OCA2RDwvY29kZT46IFVURi04LCBJU08gNjQ2LCBBU0NJSSwgc29tZSBwYXJ0IG9mIElTTyA4ODU5LCAKK1NoaWZ0LUpJUywgRVVDLCBvciBhbnkgb3RoZXIgNy1iaXQsIDgtYml0LCBvciBtaXhlZC13aWR0aCBlbmNvZGluZword2hpY2ggZW5zdXJlcyB0aGF0IHRoZSBjaGFyYWN0ZXJzIG9mIEFTQ0lJIGhhdmUgdGhlaXIgbm9ybWFsIHBvc2l0aW9ucywKK3dpZHRoLAorYW5kIHZhbHVlczsgdGhlIGFjdHVhbCBlbmNvZGluZyBkZWNsYXJhdGlvbiBtdXN0IGJlIHJlYWQgdG8gCitkZXRlY3Qgd2hpY2ggb2YgdGhlc2UgYXBwbGllcywgYnV0IHNpbmNlIGFsbCBvZiB0aGVzZSBlbmNvZGluZ3MKK3VzZSB0aGUgc2FtZSBiaXQgcGF0dGVybnMgZm9yIHRoZSBBU0NJSSBjaGFyYWN0ZXJzLCB0aGUgZW5jb2RpbmcgCitkZWNsYXJhdGlvbiBpdHNlbGYgbWF5IGJlIHJlYWQgcmVsaWFibHkKKzwvcD4KKzwvaXRlbT4KKzxpdGVtPgorPHA+PGNvZGU+NEMgNkYgQTcgOTQ8L2NvZGU+OiBFQkNESUMgKGluIHNvbWUgZmxhdm9yOyB0aGUgZnVsbAorZW5jb2RpbmcgZGVjbGFyYXRpb24gbXVzdCBiZSByZWFkIHRvIHRlbGwgd2hpY2ggY29kZSBwYWdlIGlzIGluIAordXNlKTwvcD4KKzwvaXRlbT4KKzxpdGVtPgorPHA+b3RoZXI6IFVURi04IHdpdGhvdXQgYW4gZW5jb2RpbmcgZGVjbGFyYXRpb24sIG9yIGVsc2UgCit0aGUgZGF0YSBzdHJlYW0gaXMgY29ycnVwdCwgZnJhZ21lbnRhcnksIG9yIGVuY2xvc2VkIGluCithIHdyYXBwZXIgb2Ygc29tZSBraW5kPC9wPgorPC9pdGVtPgorPC91bGlzdD4KKzwvcD4KKzxwPgorVGhpcyBsZXZlbCBvZiBhdXRvZGV0ZWN0aW9uIGlzIGVub3VnaCB0byByZWFkIHRoZSBYTUwgZW5jb2RpbmcKK2RlY2xhcmF0aW9uIGFuZCBwYXJzZSB0aGUgY2hhcmFjdGVyLWVuY29kaW5nIGlkZW50aWZpZXIsIHdoaWNoIGlzCitzdGlsbCBuZWNlc3NhcnkgdG8gZGlzdGluZ3Vpc2ggdGhlIGluZGl2aWR1YWwgbWVtYmVycyBvZiBlYWNoIGZhbWlseQorb2YgZW5jb2RpbmdzIChlLmcuIHRvIHRlbGwgIFVURi04IGZyb20gODg1OSwgYW5kIHRoZSBwYXJ0cyBvZiA4ODU5Citmcm9tIGVhY2ggb3RoZXIsIG9yIHRvIGRpc3Rpbmd1aXNoIHRoZSBzcGVjaWZpYyBFQkNESUMgY29kZSBwYWdlIGluCit1c2UsIGFuZCBzbyBvbikuCis8L3A+Cis8cD4KK0JlY2F1c2UgdGhlIGNvbnRlbnRzIG9mIHRoZSBlbmNvZGluZyBkZWNsYXJhdGlvbiBhcmUgcmVzdHJpY3RlZCB0bworQVNDSUkgY2hhcmFjdGVycywgYSBwcm9jZXNzb3IgY2FuIHJlbGlhYmx5IHJlYWQgdGhlIGVudGlyZSBlbmNvZGluZworZGVjbGFyYXRpb24gYXMgc29vbiBhcyBpdCBoYXMgZGV0ZWN0ZWQgd2hpY2ggZmFtaWx5IG9mIGVuY29kaW5ncyBpcyBpbgordXNlLiAgU2luY2UgaW4gcHJhY3RpY2UsIGFsbCB3aWRlbHkgdXNlZCBjaGFyYWN0ZXIgZW5jb2RpbmdzIGZhbGwgaW50bworb25lIG9mIHRoZSBjYXRlZ29yaWVzIGFib3ZlLCB0aGUgWE1MIGVuY29kaW5nIGRlY2xhcmF0aW9uIGFsbG93cworcmVhc29uYWJseSByZWxpYWJsZSBpbi1iYW5kIGxhYmVsaW5nIG9mIGNoYXJhY3RlciBlbmNvZGluZ3MsIGV2ZW4gd2hlbgorZXh0ZXJuYWwgc291cmNlcyBvZiBpbmZvcm1hdGlvbiBhdCB0aGUgb3BlcmF0aW5nLXN5c3RlbSBvcgordHJhbnNwb3J0LXByb3RvY29sIGxldmVsIGFyZSB1bnJlbGlhYmxlLgorPC9wPgorPHA+CitPbmNlIHRoZSBwcm9jZXNzb3IgaGFzIGRldGVjdGVkIHRoZSBjaGFyYWN0ZXIgZW5jb2RpbmcgaW4gdXNlLCBpdCBjYW4KK2FjdCBhcHByb3ByaWF0ZWx5LCB3aGV0aGVyIGJ5IGludm9raW5nIGEgc2VwYXJhdGUgaW5wdXQgcm91dGluZSBmb3IKK2VhY2ggY2FzZSwgb3IgYnkgY2FsbGluZyB0aGUgcHJvcGVyIGNvbnZlcnNpb24gZnVuY3Rpb24gb24gZWFjaAorY2hhcmFjdGVyIG9mIGlucHV0LiAKKzwvcD4KKzxwPgorTGlrZSBhbnkgc2VsZi1sYWJlbGluZyBzeXN0ZW0sIHRoZSBYTUwgZW5jb2RpbmcgZGVjbGFyYXRpb24gd2lsbCBub3QKK3dvcmsgaWYgYW55IHNvZnR3YXJlIGNoYW5nZXMgdGhlIGVudGl0eSdzIGNoYXJhY3RlciBzZXQgb3IgZW5jb2RpbmcKK3dpdGhvdXQgdXBkYXRpbmcgdGhlIGVuY29kaW5nIGRlY2xhcmF0aW9uLiAgSW1wbGVtZW50b3JzIG9mCitjaGFyYWN0ZXItZW5jb2Rpbmcgcm91dGluZXMgc2hvdWxkIGJlIGNhcmVmdWwgdG8gZW5zdXJlIHRoZSBhY2N1cmFjeQorb2YgdGhlIGludGVybmFsIGFuZCBleHRlcm5hbCBpbmZvcm1hdGlvbiB1c2VkIHRvIGxhYmVsIHRoZSBlbnRpdHkuCis8L3A+Cis8cD5UaGUgc2Vjb25kIHBvc3NpYmxlIGNhc2Ugb2NjdXJzIHdoZW4gdGhlIFhNTCBlbnRpdHkgaXMgYWNjb21wYW5pZWQKK2J5IGVuY29kaW5nIGluZm9ybWF0aW9uLCBhcyBpbiBzb21lIGZpbGUgc3lzdGVtcyBhbmQgc29tZSBuZXR3b3JrCitwcm90b2NvbHMuCitXaGVuIG11bHRpcGxlIHNvdXJjZXMgb2YgaW5mb3JtYXRpb24gYXJlIGF2YWlsYWJsZSwKKwordGhlaXIgcmVsYXRpdmUKK3ByaW9yaXR5IGFuZCB0aGUgcHJlZmVycmVkIG1ldGhvZCBvZiBoYW5kbGluZyBjb25mbGljdCBzaG91bGQgYmUKK3NwZWNpZmllZCBhcyBwYXJ0IG9mIHRoZSBoaWdoZXItbGV2ZWwgcHJvdG9jb2wgdXNlZCB0byBkZWxpdmVyIFhNTC4KK1J1bGVzIGZvciB0aGUgcmVsYXRpdmUgcHJpb3JpdHkgb2YgdGhlIGludGVybmFsIGxhYmVsIGFuZCB0aGUKK01JTUUtdHlwZSBsYWJlbCBpbiBhbiBleHRlcm5hbCBoZWFkZXIsIGZvciBleGFtcGxlLCBzaG91bGQgYmUgcGFydCBvZiB0aGUKK1JGQyBkb2N1bWVudCBkZWZpbmluZyB0aGUgdGV4dC94bWwgYW5kIGFwcGxpY2F0aW9uL3htbCBNSU1FIHR5cGVzLiBJbgordGhlIGludGVyZXN0cyBvZiBpbnRlcm9wZXJhYmlsaXR5LCBob3dldmVyLCB0aGUgZm9sbG93aW5nIHJ1bGVzCithcmUgcmVjb21tZW5kZWQuCis8dWxpc3Q+Cis8aXRlbT48cD5JZiBhbiBYTUwgZW50aXR5IGlzIGluIGEgZmlsZSwgdGhlIEJ5dGUtT3JkZXIgTWFyaworYW5kIGVuY29kaW5nLWRlY2xhcmF0aW9uIFBJIGFyZSB1c2VkIChpZiBwcmVzZW50KSB0byBkZXRlcm1pbmUgdGhlCitjaGFyYWN0ZXIgZW5jb2RpbmcuICBBbGwgb3RoZXIgaGV1cmlzdGljcyBhbmQgc291cmNlcyBvZiBpbmZvcm1hdGlvbgorYXJlIHNvbGVseSBmb3IgZXJyb3IgcmVjb3ZlcnkuCis8L3A+PC9pdGVtPgorPGl0ZW0+PHA+SWYgYW4gWE1MIGVudGl0eSBpcyBkZWxpdmVyZWQgd2l0aCBhCitNSU1FIHR5cGUgb2YgdGV4dC94bWwsIHRoZW4gdGhlIDxjb2RlPmNoYXJzZXQ8L2NvZGU+IHBhcmFtZXRlcgorb24gdGhlIE1JTUUgdHlwZSBkZXRlcm1pbmVzIHRoZQorY2hhcmFjdGVyIGVuY29kaW5nIG1ldGhvZDsgYWxsIG90aGVyIGhldXJpc3RpY3MgYW5kIHNvdXJjZXMgb2YKK2luZm9ybWF0aW9uIGFyZSBzb2xlbHkgZm9yIGVycm9yIHJlY292ZXJ5LgorPC9wPjwvaXRlbT4KKzxpdGVtPjxwPklmIGFuIFhNTCBlbnRpdHkgaXMgZGVsaXZlcmVkIAord2l0aCBhCitNSU1FIHR5cGUgb2YgYXBwbGljYXRpb24veG1sLCB0aGVuIHRoZSBCeXRlLU9yZGVyIE1hcmsgYW5kCitlbmNvZGluZy1kZWNsYXJhdGlvbiBQSSBhcmUgdXNlZCAoaWYgcHJlc2VudCkgdG8gZGV0ZXJtaW5lIHRoZQorY2hhcmFjdGVyIGVuY29kaW5nLiAgQWxsIG90aGVyIGhldXJpc3RpY3MgYW5kIHNvdXJjZXMgb2YKK2luZm9ybWF0aW9uIGFyZSBzb2xlbHkgZm9yIGVycm9yIHJlY292ZXJ5LgorPC9wPjwvaXRlbT4KKzwvdWxpc3Q+CitUaGVzZSBydWxlcyBhcHBseSBvbmx5IGluIHRoZSBhYnNlbmNlIG9mIHByb3RvY29sLWxldmVsIGRvY3VtZW50YXRpb247CitpbiBwYXJ0aWN1bGFyLCB3aGVuIHRoZSBNSU1FIHR5cGVzIHRleHQveG1sIGFuZCBhcHBsaWNhdGlvbi94bWwgYXJlCitkZWZpbmVkLCB0aGUgcmVjb21tZW5kYXRpb25zIG9mIHRoZSByZWxldmFudCBSRkMgd2lsbCBzdXBlcnNlZGUKK3RoZXNlIHJ1bGVzLgorPC9wPgorCis8L2luZm9ybS1kaXYxPgorCis8aW5mb3JtLWRpdjEgaWQ9InNlYy14bWwtd2ciPgorPGhlYWQ+VzNDIFhNTCBXb3JraW5nIEdyb3VwPC9oZWFkPgorIAorPHA+VGhpcyBzcGVjaWZpY2F0aW9uIHdhcyBwcmVwYXJlZCBhbmQgYXBwcm92ZWQgZm9yIHB1YmxpY2F0aW9uIGJ5IHRoZQorVzNDIFhNTCBXb3JraW5nIEdyb3VwIChXRykuICBXRyBhcHByb3ZhbCBvZiB0aGlzIHNwZWNpZmljYXRpb24gZG9lcworbm90IG5lY2Vzc2FyaWx5IGltcGx5IHRoYXQgYWxsIFdHIG1lbWJlcnMgdm90ZWQgZm9yIGl0cyBhcHByb3ZhbC4gIAorVGhlIGN1cnJlbnQgYW5kIGZvcm1lciBtZW1iZXJzIG9mIHRoZSBYTUwgV0cgYXJlOjwvcD4KKyAKKzxvcmdsaXN0PgorPG1lbWJlcj48bmFtZT5Kb24gQm9zYWssIFN1bjwvbmFtZT48cm9sZT5DaGFpcjwvcm9sZT48L21lbWJlcj4KKzxtZW1iZXI+PG5hbWU+SmFtZXMgQ2xhcms8L25hbWU+PHJvbGU+VGVjaG5pY2FsIExlYWQ8L3JvbGU+PC9tZW1iZXI+Cis8bWVtYmVyPjxuYW1lPlRpbSBCcmF5LCBUZXh0dWFsaXR5IGFuZCBOZXRzY2FwZTwvbmFtZT48cm9sZT5YTUwgQ28tZWRpdG9yPC9yb2xlPjwvbWVtYmVyPgorPG1lbWJlcj48bmFtZT5KZWFuIFBhb2xpLCBNaWNyb3NvZnQ8L25hbWU+PHJvbGU+WE1MIENvLWVkaXRvcjwvcm9sZT48L21lbWJlcj4KKzxtZW1iZXI+PG5hbWU+Qy4gTS4gU3BlcmJlcmctTWNRdWVlbiwgVS4gb2YgSWxsLjwvbmFtZT48cm9sZT5YTUwKK0NvLWVkaXRvcjwvcm9sZT48L21lbWJlcj4KKzxtZW1iZXI+PG5hbWU+RGFuIENvbm5vbGx5LCBXM0M8L25hbWU+PHJvbGU+VzNDIExpYWlzb248L3JvbGU+PC9tZW1iZXI+Cis8bWVtYmVyPjxuYW1lPlBhdWxhIEFuZ2Vyc3RlaW4sIFRleGNlbDwvbmFtZT48L21lbWJlcj4KKzxtZW1iZXI+PG5hbWU+U3RldmUgRGVSb3NlLCBJTlNPPC9uYW1lPjwvbWVtYmVyPgorPG1lbWJlcj48bmFtZT5EYXZlIEhvbGxhbmRlciwgSFA8L25hbWU+PC9tZW1iZXI+Cis8bWVtYmVyPjxuYW1lPkVsaW90IEtpbWJlciwgSVNPR0VOPC9uYW1lPjwvbWVtYmVyPgorPG1lbWJlcj48bmFtZT5FdmUgTWFsZXIsIEFyYm9yVGV4dDwvbmFtZT48L21lbWJlcj4KKzxtZW1iZXI+PG5hbWU+VG9tIE1hZ2xpZXJ5LCBOQ1NBPC9uYW1lPjwvbWVtYmVyPgorPG1lbWJlcj48bmFtZT5NdXJyYXkgTWFsb25leSwgTXV6bW8gYW5kIEdyaWY8L25hbWU+PC9tZW1iZXI+Cis8bWVtYmVyPjxuYW1lPk1ha290byBNdXJhdGEsIEZ1amkgWGVyb3ggSW5mb3JtYXRpb24gU3lzdGVtczwvbmFtZT48L21lbWJlcj4KKzxtZW1iZXI+PG5hbWU+Sm9lbCBOYXZhLCBBZG9iZTwvbmFtZT48L21lbWJlcj4KKzxtZW1iZXI+PG5hbWU+Q29ubGV0aCBPJ0Nvbm5lbGwsIFZpZ25ldHRlPC9uYW1lPjwvbWVtYmVyPgorPG1lbWJlcj48bmFtZT5QZXRlciBTaGFycGUsIFNvZnRRdWFkPC9uYW1lPjwvbWVtYmVyPgorPG1lbWJlcj48bmFtZT5Kb2huIFRpZ3VlLCBEYXRhQ2hhbm5lbDwvbmFtZT48L21lbWJlcj4KKzwvb3JnbGlzdD4KKworPC9pbmZvcm0tZGl2MT4KKzwvYmFjaz4KKzwvc3BlYz4KKzwhLS0gS2VlcCB0aGlzIGNvbW1lbnQgYXQgdGhlIGVuZCBvZiB0aGUgZmlsZQorTG9jYWwgdmFyaWFibGVzOgorbW9kZTogc2dtbAorc2dtbC1kZWZhdWx0LWR0ZC1maWxlOiJ+L3NnbWwvc3BlYy5jZWQiCitzZ21sLW9taXR0YWc6dAorc2dtbC1zaG9ydHRhZzp0CitFbmQ6CistLT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL1JFQy14bWwtMTk5ODAyMTAueG1sLmVyciBiL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL1JFQy14bWwtMTk5ODAyMTAueG1sLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvdmFsaWQvUkVDLXhtbC0xOTk4MDIxMC54bWwuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC92YWxpZC9SRUMteG1sLTE5OTgwMjEwLnhtbC5lcnIucmRyIGIvbGlieG1sMi9yZXN1bHQvdmFsaWQvUkVDLXhtbC0xOTk4MDIxMC54bWwuZXJyLnJkcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvdmFsaWQvUkVDLXhtbC0xOTk4MDIxMC54bWwuZXJyLnJkcgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvdmFsaWQvVVRGMTZFbnRpdHkueG1sIGIvbGlieG1sMi9yZXN1bHQvdmFsaWQvVVRGMTZFbnRpdHkueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYzY2JiYTIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC92YWxpZC9VVEYxNkVudGl0eS54bWwKQEAgLTAsMCArMSw4IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhRE9DVFlQRSBmb28gWworPCFFTEVNRU5UIGZvbyAocm9vdCkqPgorPCFFTEVNRU5UIHJvb3QgRU1QVFk+Cis8IUVOVElUWSB1dGYxNmIgU1lTVEVNICJkdGRzL3V0ZjE2Yi5lbnQiPgorPCFFTlRJVFkgdXRmMTZsIFNZU1RFTSAiZHRkcy91dGYxNmwuZW50Ij4KK10+Cis8Zm9vPiAmdXRmMTZiOyAmdXRmMTZsOyA8L2Zvbz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL1VURjE2RW50aXR5LnhtbC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC92YWxpZC9VVEYxNkVudGl0eS54bWwuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC92YWxpZC9VVEYxNkVudGl0eS54bWwuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC92YWxpZC9VVEYxNkVudGl0eS54bWwuZXJyLnJkciBiL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL1VURjE2RW50aXR5LnhtbC5lcnIucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC92YWxpZC9VVEYxNkVudGl0eS54bWwuZXJyLnJkcgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvdmFsaWQvZGlhLnhtbCBiL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL2RpYS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDFlMzI1MwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL2RpYS54bWwKQEAgLTAsMCArMSwxMzkgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCFET0NUWVBFIGRpYTpkaWFncmFtIFsKKzwhRUxFTUVOVCBkaWE6ZGlhZ3JhbSAoZGlhOmRpYWdyYW1kYXRhICwgZGlhOmxheWVyKik+Cis8IUFUVExJU1QgZGlhOmRpYWdyYW0geG1sbnM6ZGlhIENEQVRBICNGSVhFRCAiaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvIj4KKzwhRUxFTUVOVCBkaWE6ZGlhZ3JhbWRhdGEgKGRpYTphdHRyaWJ1dGUpKj4KKzwhRUxFTUVOVCBkaWE6bGF5ZXIgKGRpYTpvYmplY3QgfCBkaWE6Z3JvdXApKj4KKzwhQVRUTElTVCBkaWE6bGF5ZXIgZGlhOm5hbWUgQ0RBVEEgI1JFUVVJUkVEPgorPCFBVFRMSVNUIGRpYTpsYXllciBkaWE6dmlzaWJsZSAodHJ1ZSB8IGZhbHNlKSAjUkVRVUlSRUQ+Cis8IUVMRU1FTlQgZGlhOm9iamVjdCAoZGlhOmF0dHJpYnV0ZSogLCBkaWE6Y29ubmVjdGlvbnM/KT4KKzwhQVRUTElTVCBkaWE6b2JqZWN0IGRpYTp0eXBlIENEQVRBICNSRVFVSVJFRD4KKzwhQVRUTElTVCBkaWE6b2JqZWN0IGRpYTp2ZXJzaW9uIE5NVE9LRU4gI1JFUVVJUkVEPgorPCFBVFRMSVNUIGRpYTpvYmplY3QgZGlhOmlkIElEICNSRVFVSVJFRD4KKzwhRUxFTUVOVCBkaWE6Y29ubmVjdGlvbnMgKGRpYTpjb25uZWN0aW9uKSo+Cis8IUVMRU1FTlQgZGlhOmNvbm5lY3Rpb24gRU1QVFk+Cis8IUFUVExJU1QgZGlhOmNvbm5lY3Rpb24gZGlhOmhhbmRsZSBOTVRPS0VOICNSRVFVSVJFRD4KKzwhQVRUTElTVCBkaWE6Y29ubmVjdGlvbiBkaWE6dG8gSURSRUYgI1JFUVVJUkVEPgorPCFBVFRMSVNUIGRpYTpjb25uZWN0aW9uIGRpYTpjb25uZWN0aW9uIE5NVE9LRU4gI1JFUVVJUkVEPgorPCFFTEVNRU5UIGRpYTpncm91cCAoZGlhOm9iamVjdCB8IGRpYTpncm91cCkqPgorPCFFTEVNRU5UIGRpYTphdHRyaWJ1dGUgKGRpYTpjb21wb3NpdGUgfCBkaWE6aW50IHwgZGlhOmVudW0gfCBkaWE6cmVhbCB8IGRpYTpib29sZWFuIHwgZGlhOmNvbG9yIHwgZGlhOnBvaW50IHwgZGlhOnJlY3RhbmdsZSB8IGRpYTpzdHJpbmcgfCBkaWE6Zm9udCkqPgorPCFBVFRMSVNUIGRpYTphdHRyaWJ1dGUgZGlhOm5hbWUgQ0RBVEEgI1JFUVVJUkVEPgorPCFFTEVNRU5UIGRpYTpjb21wb3NpdGUgKGRpYTphdHRyaWJ1dGUpKj4KKzwhQVRUTElTVCBkaWE6Y29tcG9zaXRlIGRpYTp0eXBlIENEQVRBICNJTVBMSUVEPgorPCFFTEVNRU5UIGRpYTppbnQgRU1QVFk+Cis8IUFUVExJU1QgZGlhOmludCBkaWE6dmFsIE5NVE9LRU4gI1JFUVVJUkVEPgorPCFFTEVNRU5UIGRpYTplbnVtIEVNUFRZPgorPCFBVFRMSVNUIGRpYTplbnVtIGRpYTp2YWwgTk1UT0tFTiAjUkVRVUlSRUQ+Cis8IUVMRU1FTlQgZGlhOnJlYWwgRU1QVFk+Cis8IUFUVExJU1QgZGlhOnJlYWwgZGlhOnZhbCBDREFUQSAjUkVRVUlSRUQ+Cis8IUVMRU1FTlQgZGlhOmJvb2xlYW4gRU1QVFk+Cis8IUFUVExJU1QgZGlhOmJvb2xlYW4gZGlhOnZhbCAodHJ1ZSB8IGZhbHNlKSAjUkVRVUlSRUQ+Cis8IUVMRU1FTlQgZGlhOmNvbG9yIEVNUFRZPgorPCFBVFRMSVNUIGRpYTpjb2xvciBkaWE6dmFsIENEQVRBICNSRVFVSVJFRD4KKzwhRUxFTUVOVCBkaWE6cG9pbnQgRU1QVFk+Cis8IUFUVExJU1QgZGlhOnBvaW50IGRpYTp2YWwgQ0RBVEEgI1JFUVVJUkVEPgorPCFFTEVNRU5UIGRpYTpyZWN0YW5nbGUgRU1QVFk+Cis8IUFUVExJU1QgZGlhOnJlY3RhbmdsZSBkaWE6dmFsIENEQVRBICNSRVFVSVJFRD4KKzwhRUxFTUVOVCBkaWE6c3RyaW5nIEVNUFRZPgorPCFBVFRMSVNUIGRpYTpzdHJpbmcgZGlhOnZhbCBDREFUQSAjSU1QTElFRD4KKzwhRUxFTUVOVCBkaWE6Zm9udCBFTVBUWT4KKzwhQVRUTElTVCBkaWE6Zm9udCBkaWE6bmFtZSBDREFUQSAjUkVRVUlSRUQ+CitdPgorPGRpYTpkaWFncmFtIHhtbG5zOmRpYT0iaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvIj4KKyAgPGRpYTpkaWFncmFtZGF0YT4KKyAgICA8ZGlhOmF0dHJpYnV0ZSBkaWE6bmFtZT0iYmFja2dyb3VuZCI+CisgICAgICA8ZGlhOmNvbG9yIGRpYTp2YWw9IiNmZmZmZmYiLz4KKyAgICA8L2RpYTphdHRyaWJ1dGU+CisgIDwvZGlhOmRpYWdyYW1kYXRhPgorICA8ZGlhOmxheWVyIGRpYTpuYW1lPSJCYWNrZ3JvdW5kIiBkaWE6dmlzaWJsZT0idHJ1ZSI+CisgICAgPGRpYTpvYmplY3QgZGlhOnR5cGU9IlN0YW5kYXJkIC0gTGluZSIgZGlhOnZlcnNpb249IjAiIGRpYTppZD0iTzAiPgorICAgICAgPGRpYTphdHRyaWJ1dGUgZGlhOm5hbWU9Im9ial9wb3MiPgorICAgICAgICA8ZGlhOnBvaW50IGRpYTp2YWw9IjEuOTUsNi44NSIvPgorICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgICAgPGRpYTphdHRyaWJ1dGUgZGlhOm5hbWU9Im9ial9iYiI+CisgICAgICAgIDxkaWE6cmVjdGFuZ2xlIGRpYTp2YWw9IjEuOSw2Ljg7MTEsOC41NSIvPgorICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgICAgPGRpYTphdHRyaWJ1dGUgZGlhOm5hbWU9ImNvbm5fZW5kcG9pbnRzIj4KKyAgICAgICAgPGRpYTpwb2ludCBkaWE6dmFsPSIxLjk1LDYuODUiLz4KKyAgICAgICAgPGRpYTpwb2ludCBkaWE6dmFsPSIxMC45NSw4LjUiLz4KKyAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgIDxkaWE6YXR0cmlidXRlIGRpYTpuYW1lPSJsaW5lX2NvbG9yIj4KKyAgICAgICAgPGRpYTpjb2xvciBkaWE6dmFsPSIjMDAwMDAwIi8+CisgICAgICA8L2RpYTphdHRyaWJ1dGU+CisgICAgICA8ZGlhOmF0dHJpYnV0ZSBkaWE6bmFtZT0ibGluZV93aWR0aCI+CisgICAgICAgIDxkaWE6cmVhbCBkaWE6dmFsPSIwLjEiLz4KKyAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgIDxkaWE6YXR0cmlidXRlIGRpYTpuYW1lPSJsaW5lX3N0eWxlIj4KKyAgICAgICAgPGRpYTplbnVtIGRpYTp2YWw9IjAiLz4KKyAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgIDxkaWE6YXR0cmlidXRlIGRpYTpuYW1lPSJzdGFydF9hcnJvdyI+CisgICAgICAgIDxkaWE6ZW51bSBkaWE6dmFsPSIwIi8+CisgICAgICA8L2RpYTphdHRyaWJ1dGU+CisgICAgICA8ZGlhOmF0dHJpYnV0ZSBkaWE6bmFtZT0iZW5kX2Fycm93Ij4KKyAgICAgICAgPGRpYTplbnVtIGRpYTp2YWw9IjAiLz4KKyAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgIDxkaWE6Y29ubmVjdGlvbnM+CisgICAgICAgIDxkaWE6Y29ubmVjdGlvbiBkaWE6aGFuZGxlPSIxIiBkaWE6dG89Ik8yIiBkaWE6Y29ubmVjdGlvbj0iMyIvPgorICAgICAgPC9kaWE6Y29ubmVjdGlvbnM+CisgICAgPC9kaWE6b2JqZWN0PgorICAgIDxkaWE6b2JqZWN0IGRpYTp0eXBlPSJTdGFuZGFyZCAtIFRleHQiIGRpYTp2ZXJzaW9uPSIwIiBkaWE6aWQ9Ik8xIj4KKyAgICAgIDxkaWE6YXR0cmlidXRlIGRpYTpuYW1lPSJvYmpfcG9zIj4KKyAgICAgICAgPGRpYTpwb2ludCBkaWE6dmFsPSI0LjgsNC43NSIvPgorICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgICAgPGRpYTphdHRyaWJ1dGUgZGlhOm5hbWU9Im9ial9iYiI+CisgICAgICAgIDxkaWE6cmVjdGFuZ2xlIGRpYTp2YWw9IjIuNTc5LDMuOTYzNTk7Ny4wMjEsNC45NjM1OSIvPgorICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgICAgPGRpYTphdHRyaWJ1dGUgZGlhOm5hbWU9InRleHQiPgorICAgICAgICA8ZGlhOmNvbXBvc2l0ZSBkaWE6dHlwZT0idGV4dCI+CisgICAgICAgICAgPGRpYTphdHRyaWJ1dGUgZGlhOm5hbWU9InN0cmluZyI+CisgICAgICAgICAgICA8ZGlhOnN0cmluZyBkaWE6dmFsPSJzZGZzZGZnIi8+CisgICAgICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgICAgICAgIDxkaWE6YXR0cmlidXRlIGRpYTpuYW1lPSJmb250Ij4KKyAgICAgICAgICAgIDxkaWE6Zm9udCBkaWE6bmFtZT0iQ291cmllciIvPgorICAgICAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgICAgICA8ZGlhOmF0dHJpYnV0ZSBkaWE6bmFtZT0iaGVpZ2h0Ij4KKyAgICAgICAgICAgIDxkaWE6cmVhbCBkaWE6dmFsPSIxIi8+CisgICAgICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgICAgICAgIDxkaWE6YXR0cmlidXRlIGRpYTpuYW1lPSJwb3MiPgorICAgICAgICAgICAgPGRpYTpwb2ludCBkaWE6dmFsPSI0LjgsNC43NSIvPgorICAgICAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgICAgICA8ZGlhOmF0dHJpYnV0ZSBkaWE6bmFtZT0iY29sb3IiPgorICAgICAgICAgICAgPGRpYTpjb2xvciBkaWE6dmFsPSIjMDAwMDAwIi8+CisgICAgICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgICAgICAgIDxkaWE6YXR0cmlidXRlIGRpYTpuYW1lPSJhbGlnbm1lbnQiPgorICAgICAgICAgICAgPGRpYTplbnVtIGRpYTp2YWw9IjEiLz4KKyAgICAgICAgICA8L2RpYTphdHRyaWJ1dGU+CisgICAgICAgIDwvZGlhOmNvbXBvc2l0ZT4KKyAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICA8L2RpYTpvYmplY3Q+CisgICAgPGRpYTpvYmplY3QgZGlhOnR5cGU9IlN0YW5kYXJkIC0gQm94IiBkaWE6dmVyc2lvbj0iMCIgZGlhOmlkPSJPMiI+CisgICAgICA8ZGlhOmF0dHJpYnV0ZSBkaWE6bmFtZT0ib2JqX3BvcyI+CisgICAgICAgIDxkaWE6cG9pbnQgZGlhOnZhbD0iMTAuOTUsNy41Ii8+CisgICAgICA8L2RpYTphdHRyaWJ1dGU+CisgICAgICA8ZGlhOmF0dHJpYnV0ZSBkaWE6bmFtZT0ib2JqX2JiIj4KKyAgICAgICAgPGRpYTpyZWN0YW5nbGUgZGlhOnZhbD0iMTAuOSw3LjQ1OzEzLjA1LDkuNTUiLz4KKyAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgIDxkaWE6YXR0cmlidXRlIGRpYTpuYW1lPSJlbGVtX2Nvcm5lciI+CisgICAgICAgIDxkaWE6cG9pbnQgZGlhOnZhbD0iMTAuOTUsNy41Ii8+CisgICAgICA8L2RpYTphdHRyaWJ1dGU+CisgICAgICA8ZGlhOmF0dHJpYnV0ZSBkaWE6bmFtZT0iZWxlbV93aWR0aCI+CisgICAgICAgIDxkaWE6cmVhbCBkaWE6dmFsPSIyLjA1Ii8+CisgICAgICA8L2RpYTphdHRyaWJ1dGU+CisgICAgICA8ZGlhOmF0dHJpYnV0ZSBkaWE6bmFtZT0iZWxlbV9oZWlnaHQiPgorICAgICAgICA8ZGlhOnJlYWwgZGlhOnZhbD0iMiIvPgorICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgICAgPGRpYTphdHRyaWJ1dGUgZGlhOm5hbWU9ImJvcmRlcl93aWR0aCI+CisgICAgICAgIDxkaWE6cmVhbCBkaWE6dmFsPSIwLjEiLz4KKyAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgIDxkaWE6YXR0cmlidXRlIGRpYTpuYW1lPSJib3JkZXJfY29sb3IiPgorICAgICAgICA8ZGlhOmNvbG9yIGRpYTp2YWw9IiMwMDAwMDAiLz4KKyAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgIDxkaWE6YXR0cmlidXRlIGRpYTpuYW1lPSJpbm5lcl9jb2xvciI+CisgICAgICAgIDxkaWE6Y29sb3IgZGlhOnZhbD0iI2ZmZmZmZiIvPgorICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgICAgPGRpYTphdHRyaWJ1dGUgZGlhOm5hbWU9ImxpbmVfc3R5bGUiPgorICAgICAgICA8ZGlhOmVudW0gZGlhOnZhbD0iMCIvPgorICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgIDwvZGlhOm9iamVjdD4KKyAgPC9kaWE6bGF5ZXI+Cis8L2RpYTpkaWFncmFtPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvdmFsaWQvZGlhLnhtbC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC92YWxpZC9kaWEueG1sLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvdmFsaWQvZGlhLnhtbC5lcnIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL2RpYS54bWwuZXJyLnJkciBiL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL2RpYS54bWwuZXJyLnJkcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvdmFsaWQvZGlhLnhtbC5lcnIucmRyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC92YWxpZC9pZDEueG1sIGIvbGlieG1sMi9yZXN1bHQvdmFsaWQvaWQxLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZjBiOWY3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvdmFsaWQvaWQxLnhtbApAQCAtMCwwICsxLDEzIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhRE9DVFlQRSBkb2MgWworPCFFTEVNRU5UIGRvYyAoc3JjIHwgZGVzdCkqPgorPCFFTEVNRU5UIHNyYyBFTVBUWT4KKzwhRUxFTUVOVCBkZXN0IEVNUFRZPgorPCFBVFRMSVNUIHNyYyByZWYgSURSRUYgI0lNUExJRUQ+Cis8IUFUVExJU1QgZGVzdCBpZCBJRCAjSU1QTElFRD4KK10+Cis8ZG9jPgorICA8c3JjIHJlZj0iZm9vIi8+CisgIDxkZXN0IGlkPSJmb28iLz4KKyAgPHNyYyByZWY9ImZvbyIvPgorPC9kb2M+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC92YWxpZC9pZDEueG1sLmVyciBiL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL2lkMS54bWwuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC92YWxpZC9pZDEueG1sLmVycgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvdmFsaWQvaWQxLnhtbC5lcnIucmRyIGIvbGlieG1sMi9yZXN1bHQvdmFsaWQvaWQxLnhtbC5lcnIucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC92YWxpZC9pZDEueG1sLmVyci5yZHIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL2lkMi54bWwgYi9saWJ4bWwyL3Jlc3VsdC92YWxpZC9pZDIueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBjZWY0YTYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC92YWxpZC9pZDIueG1sCkBAIC0wLDAgKzEsMTQgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCFET0NUWVBFIGRvYyBbCis8IUVMRU1FTlQgZG9jIChzcmMgfCBkZXN0KSo+Cis8IUVMRU1FTlQgc3JjIEVNUFRZPgorPCFFTEVNRU5UIGRlc3QgRU1QVFk+Cis8IUFUVExJU1Qgc3JjIHJlZiBJRFJFRiAjSU1QTElFRD4KKzwhQVRUTElTVCBkZXN0IGlkIElEICNJTVBMSUVEPgorPCFFTlRJVFkgZGVzdCAiPGRlc3QgaWQ9J2ZvbycvPiI+CitdPgorPGRvYz4KKyAgPHNyYyByZWY9ImZvbyIvPgorICAmZGVzdDsKKyAgPHNyYyByZWY9ImZvbyIvPgorPC9kb2M+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC92YWxpZC9pZDIueG1sLmVyciBiL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL2lkMi54bWwuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC92YWxpZC9pZDIueG1sLmVycgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvdmFsaWQvaWQyLnhtbC5lcnIucmRyIGIvbGlieG1sMi9yZXN1bHQvdmFsaWQvaWQyLnhtbC5lcnIucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC92YWxpZC9pZDIueG1sLmVyci5yZHIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL2lkMy54bWwgYi9saWJ4bWwyL3Jlc3VsdC92YWxpZC9pZDMueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYyMzYwM2MKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC92YWxpZC9pZDMueG1sCkBAIC0wLDAgKzEsMTQgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCFET0NUWVBFIGRvYyBbCis8IUVMRU1FTlQgZG9jIChzcmMgfCBkZXN0KSo+Cis8IUVMRU1FTlQgc3JjIEVNUFRZPgorPCFFTEVNRU5UIGRlc3QgRU1QVFk+Cis8IUFUVExJU1Qgc3JjIHJlZiBJRFJFRiAjSU1QTElFRD4KKzwhQVRUTElTVCBkZXN0IGlkIElEICNJTVBMSUVEPgorPCFFTlRJVFkgZGVzdCBTWVNURU0gImR0ZHMvZGVzdGZvby5lbnQiPgorXT4KKzxkb2M+CisgIDxzcmMgcmVmPSJmb28iLz4KKyAgJmRlc3Q7CisgIDxzcmMgcmVmPSJmb28iLz4KKzwvZG9jPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvdmFsaWQvaWQzLnhtbC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC92YWxpZC9pZDMueG1sLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvdmFsaWQvaWQzLnhtbC5lcnIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL2lkMy54bWwuZXJyLnJkciBiL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL2lkMy54bWwuZXJyLnJkcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvdmFsaWQvaWQzLnhtbC5lcnIucmRyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC92YWxpZC9pbmRleC54bWwgYi9saWJ4bWwyL3Jlc3VsdC92YWxpZC9pbmRleC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzM0ZmE0ZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL2luZGV4LnhtbApAQCAtMCwwICsxLDgwOCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/PgorPCFET0NUWVBFIE5ld3NNTCBQVUJMSUMgInVybjpuZXdzbWw6aXB0Yy5vcmc6MjAwMDEwMDY6TmV3c01MdjEuMDoxIiAiZHRkcy9OZXdzTUx2MS4wLmR0ZCIgWworPCFFTlRJVFkgJSBuaXRmIFNZU1RFTSAiZHRkcy9uaXRmLTItNS5kdGQiPgorPCEtLQorCU5ld3MgSW5kdXN0cnkgVGV4dCBGb3JtYXQKKwlEb2N1bWVudCBUeXBlIERlZmluaXRpb24gLSBWZXJzaW9uIDIuNQorCWh0dHA6Ly93d3cubml0Zi5vcmcvCisKKwlDb3B5cmlnaHQgKGMpIDIwMDAuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisJSW50ZXJuYXRpb25hbCBQcmVzcyBUZWxlY29tbXVuaWNhdGlvbnMgQ291bmNpbAorCWh0dHA6Ly93d3cuaXB0Yy5vcmcKKwkJCisJTGFzdCBjaGFuZ2VkOiA5IEF1Z3VzdCAyMDAwICB3Yi9rci9haworCQorCUZvciB0aGUgbGlzdCBvZiBtb2RpZmljYXRpb25zIGZyb20gcHJldmlvdXMgcmVsZWFzZXMsIHNlZToKKwkJaHR0cDovL3d3dy5uaXRmLm9yZy9yZWNlbnQtbW9kaWZpY2F0aW9ucy5odG1sIAorCisJRm9yIHRoZSBsaXN0IG9mIHByb3Bvc2VkIG1vZGlmaWNhdGlvbnMsIHNlZToKKwkJaHR0cDovL3d3dy5uaXRmLm9yZy9wcm9wb3NlZC1jaGFuZ2VzLmh0bWwgCistLT48IUVOVElUWSAlIGVucmljaGVkLXRleHQgIgorCSNQQ0RBVEEKKwl8IGNocm9uCisJfCBjb3B5cml0ZQorCXwgZXZlbnQKKwl8IGZ1bmN0aW9uCisJfCBsb2NhdGlvbgorCXwgbW9uZXkKKwl8IG51bQorCXwgb2JqZWN0LnRpdGxlCisJfCBvcmcKKwl8IHBlcnNvbgorCXwgcG9zdGFkZHIKKwl8IHZpcnRsb2MKKwl8IGEKKwl8IGJyCisJfCBlbQorCXwgbGFuZworCXwgcHJvbm91bmNlCisJfCBxCisJIj4KKzwhRU5USVRZICUgYmxvY2suaGVhZCAiZGF0ZWxpbmU/LCBjb3B5cml0ZT8sIGFic3RyYWN0PyI+Cis8IUVOVElUWSAlIGJsb2NrLmNvbnRlbnQgInAgfCBobDIgfCB0YWJsZSB8IG1lZGlhIHwgb2wgfCB1bCB8IGRsIHwgYnEgfCBmbiB8IG5vdGUgfCBwcmUgfCBociI+Cis8IUVOVElUWSAlIGJsb2NrLmVuZCAiZGF0YXNvdXJjZT8iPgorPCFFTlRJVFkgJSBnbG9iYWwtYXR0cmlidXRlcyAiCisJaWQgCUlEIAkJCQkJCSNJTVBMSUVECisJIj4KKzwhRU5USVRZICUgY29tbW9uLWF0dHJpYnV0ZXMgIgorCSVnbG9iYWwtYXR0cmlidXRlczsKKwljbGFzcyAJTk1UT0tFTlMgCQkJCQkjSU1QTElFRAorCXN0eWxlIAlDREFUQSAJCQkJCQkjSU1QTElFRAorCWxhbmcgCU5NVE9LRU4gCQkJCQkjSU1QTElFRAorCWRpciAJKGx0ciB8IHJ0bCkgCQkJCQkjSU1QTElFRAorCSI+Cis8IUVOVElUWSAlIGNlbGwuYWxpZ24gIgorCWFsaWduIAkobGVmdCB8IGNlbnRlciB8IHJpZ2h0IHwganVzdGlmeSB8IGNoYXIpIAkjSU1QTElFRAorCWNoYXIgCUNEQVRBIAkJCQkJCSNJTVBMSUVECisJY2hhcm9mZiBDREFUQSAJCQkJCQkjSU1QTElFRAorCSI+Cis8IUVOVElUWSAlIGNlbGwudmFsaWduICIKKwl2YWxpZ24gCSh0b3AgfCBtaWRkbGUgfCBib3R0b20gfCBiYXNlbGluZSkgCQkjSU1QTElFRAorCSI+Cis8IUVOVElUWSAlIHVybC5saW5rICIKKwltZCAJQ0RBVEEgCQkJCQkJI0lNUExJRUQKKwkiPgorPCFFTlRJVFkgJSBib29sZWFuICIodHJ1ZSB8IGZhbHNlKSI+Cis8IUVMRU1FTlQgbml0ZiAoaGVhZCAsIGJvZHkpPgorPCFBVFRMSVNUIG5pdGYgaWQgSUQgI0lNUExJRUQ+Cis8IUFUVExJU1Qgbml0ZiB1bm8gQ0RBVEEgI0lNUExJRUQ+Cis8IUFUVExJU1Qgbml0ZiB2ZXJzaW9uIENEQVRBICNGSVhFRCAiLS8vSVBUQy1OQUEvL0RURCBOSVRGLVhNTCAyLjEvL0VOIj4KKzwhQVRUTElTVCBuaXRmIGNoYW5nZS5kYXRlIENEQVRBICNGSVhFRCAiNCBKdWx5IDIwMDAiPgorPCFBVFRMSVNUIG5pdGYgY2hhbmdlLnRpbWUgQ0RBVEEgI0ZJWEVEICIxOTAwIj4KKzwhQVRUTElTVCBuaXRmIGJhc2VsYW5nIENEQVRBICNJTVBMSUVEPgorPCFBVFRMSVNUIG5pdGYgY2xhc3MgTk1UT0tFTlMgI0lNUExJRUQ+Cis8IUVMRU1FTlQgaGVhZCAodGl0bGU/ICwgbWV0YSogLCB0b2JqZWN0PyAsIGlpbT8gLCBkb2NkYXRhPyAsIHB1YmRhdGEqICwgcmV2aXNpb24taGlzdG9yeSopPgorPCFBVFRMSVNUIGhlYWQgaWQgSUQgI0lNUExJRUQ+Cis8IUVMRU1FTlQgdGl0bGUgKCNQQ0RBVEEpPgorPCFBVFRMSVNUIHRpdGxlIGlkIElEICNJTVBMSUVEPgorPCFBVFRMSVNUIHRpdGxlIHR5cGUgKG1haW4gfCBzdWJ0aXRsZSB8IHBhcnR0aXRsZSB8IGFsdGVybmF0ZSB8IGFiYnJldiB8IG90aGVyKSAjSU1QTElFRD4KKzwhRUxFTUVOVCBtZXRhIEVNUFRZPgorPCFBVFRMSVNUIG1ldGEgaWQgSUQgI0lNUExJRUQ+Cis8IUFUVExJU1QgbWV0YSBodHRwLWVxdWl2IE5NVE9LRU4gI0lNUExJRUQ+Cis8IUFUVExJU1QgbWV0YSBuYW1lIE5NVE9LRU4gI0lNUExJRUQ+Cis8IUFUVExJU1QgbWV0YSBjb250ZW50IENEQVRBICNSRVFVSVJFRD4KKzwhRUxFTUVOVCB0b2JqZWN0ICh0b2JqZWN0LnByb3BlcnR5KiAsIHRvYmplY3Quc3ViamVjdCopPgorPCFBVFRMSVNUIHRvYmplY3QgaWQgSUQgI0lNUExJRUQ+Cis8IUFUVExJU1QgdG9iamVjdCB0b2JqZWN0LnR5cGUgQ0RBVEEgIm5ld3MiPgorPCFFTEVNRU5UIHRvYmplY3QucHJvcGVydHkgRU1QVFk+Cis8IUFUVExJU1QgdG9iamVjdC5wcm9wZXJ0eSBpZCBJRCAjSU1QTElFRD4KKzwhQVRUTElTVCB0b2JqZWN0LnByb3BlcnR5IHRvYmplY3QucHJvcGVydHkudHlwZSBDREFUQSAiY3VycmVudCI+Cis8IUVMRU1FTlQgdG9iamVjdC5zdWJqZWN0IEVNUFRZPgorPCFBVFRMSVNUIHRvYmplY3Quc3ViamVjdCBpZCBJRCAjSU1QTElFRD4KKzwhQVRUTElTVCB0b2JqZWN0LnN1YmplY3QgdG9iamVjdC5zdWJqZWN0LmlwciBDREFUQSAiSVBUQyI+Cis8IUFUVExJU1QgdG9iamVjdC5zdWJqZWN0IHRvYmplY3Quc3ViamVjdC5yZWZudW0gTk1UT0tFTiAjUkVRVUlSRUQ+Cis8IUFUVExJU1QgdG9iamVjdC5zdWJqZWN0IHRvYmplY3Quc3ViamVjdC5jb2RlIENEQVRBICNJTVBMSUVEPgorPCFBVFRMSVNUIHRvYmplY3Quc3ViamVjdCB0b2JqZWN0LnN1YmplY3QudHlwZSBDREFUQSAjSU1QTElFRD4KKzwhQVRUTElTVCB0b2JqZWN0LnN1YmplY3QgdG9iamVjdC5zdWJqZWN0Lm1hdHRlciBDREFUQSAjSU1QTElFRD4KKzwhQVRUTElTVCB0b2JqZWN0LnN1YmplY3QgdG9iamVjdC5zdWJqZWN0LmRldGFpbCBDREFUQSAjSU1QTElFRD4KKzwhRUxFTUVOVCBpaW0gKGRzKSo+Cis8IUFUVExJU1QgaWltIGlkIElEICNJTVBMSUVEPgorPCFBVFRMSVNUIGlpbSB2ZXIgTk1UT0tFTiAjSU1QTElFRD4KKzwhRUxFTUVOVCBkcyBFTVBUWT4KKzwhQVRUTElTVCBkcyBpZCBJRCAjSU1QTElFRD4KKzwhQVRUTElTVCBkcyBudW0gTk1UT0tFTiAjUkVRVUlSRUQ+Cis8IUFUVExJU1QgZHMgdmFsdWUgQ0RBVEEgI0lNUExJRUQ+Cis8IUVMRU1FTlQgZG9jZGF0YSAoY29ycmVjdGlvbiB8IGV2bG9jIHwgZG9jLWlkIHwgZGVsLWxpc3QgfCB1cmdlbmN5IHwgZml4dHVyZSB8IGRhdGUuaXNzdWUgfCBkYXRlLnJlbGVhc2UgfCBkYXRlLmV4cGlyZSB8IGRvYy1zY29wZSB8IHNlcmllcyB8IGVkLW1zZyB8IGR1LWtleSB8IGRvYy5jb3B5cmlnaHQgfCBkb2MucmlnaHRzIHwga2V5LWxpc3QpKj4KKzwhQVRUTElTVCBkb2NkYXRhIGlkIElEICNJTVBMSUVEPgorPCFFTEVNRU5UIGNvcnJlY3Rpb24gRU1QVFk+Cis8IUFUVExJU1QgY29ycmVjdGlvbiBpZCBJRCAjSU1QTElFRD4KKzwhQVRUTElTVCBjb3JyZWN0aW9uIGluZm8gQ0RBVEEgI0lNUExJRUQ+Cis8IUFUVExJU1QgY29ycmVjdGlvbiBpZC1zdHJpbmcgQ0RBVEEgI0lNUExJRUQ+Cis8IUFUVExJU1QgY29ycmVjdGlvbiByZWctc3JjIENEQVRBICNJTVBMSUVEPgorPCFFTEVNRU5UIGV2bG9jIEVNUFRZPgorPCFBVFRMSVNUIGV2bG9jIGlkIElEICNJTVBMSUVEPgorPCFBVFRMSVNUIGV2bG9jIGlzby1jYyBDREFUQSAjSU1QTElFRD4KKzwhQVRUTElTVCBldmxvYyBzdGF0ZS1wcm92IENEQVRBICNJTVBMSUVEPgorPCFBVFRMSVNUIGV2bG9jIGNvdW50eS1kaXN0IENEQVRBICNJTVBMSUVEPgorPCFBVFRMSVNUIGV2bG9jIGNpdHkgQ0RBVEEgI0lNUExJRUQ+Cis8IUVMRU1FTlQgZG9jLWlkIEVNUFRZPgorPCFBVFRMSVNUIGRvYy1pZCBpZCBJRCAjSU1QTElFRD4KKzwhQVRUTElTVCBkb2MtaWQgcmVnc3JjIENEQVRBICNJTVBMSUVEPgorPCFBVFRMSVNUIGRvYy1pZCBpZC1zdHJpbmcgQ0RBVEEgI0lNUExJRUQ+Cis8IUVMRU1FTlQgZGVsLWxpc3QgKGZyb20tc3JjKSo+Cis8IUFUVExJU1QgZGVsLWxpc3QgaWQgSUQgI0lNUExJRUQ+Cis8IUVMRU1FTlQgZnJvbS1zcmMgRU1QVFk+Cis8IUFUVExJU1QgZnJvbS1zcmMgaWQgSUQgI0lNUExJRUQ+Cis8IUFUVExJU1QgZnJvbS1zcmMgc3JjLW5hbWUgQ0RBVEEgI0lNUExJRUQ+Cis8IUFUVExJU1QgZnJvbS1zcmMgbGV2ZWwtbnVtYmVyIENEQVRBICNJTVBMSUVEPgorPCFFTEVNRU5UIHVyZ2VuY3kgRU1QVFk+Cis8IUFUVExJU1QgdXJnZW5jeSBpZCBJRCAjSU1QTElFRD4KKzwhQVRUTElTVCB1cmdlbmN5IGVkLXVyZyBOTVRPS0VOICNJTVBMSUVEPgorPCFFTEVNRU5UIGZpeHR1cmUgRU1QVFk+Cis8IUFUVExJU1QgZml4dHVyZSBpZCBJRCAjSU1QTElFRD4KKzwhQVRUTElTVCBmaXh0dXJlIGZpeC1pZCBDREFUQSAjSU1QTElFRD4KKzwhRUxFTUVOVCBkYXRlLmlzc3VlIEVNUFRZPgorPCFBVFRMSVNUIGRhdGUuaXNzdWUgaWQgSUQgI0lNUExJRUQ+Cis8IUFUVExJU1QgZGF0ZS5pc3N1ZSBub3JtIENEQVRBICNJTVBMSUVEPgorPCFFTEVNRU5UIGRhdGUucmVsZWFzZSBFTVBUWT4KKzwhQVRUTElTVCBkYXRlLnJlbGVhc2UgaWQgSUQgI0lNUExJRUQ+Cis8IUFUVExJU1QgZGF0ZS5yZWxlYXNlIG5vcm0gQ0RBVEEgI0lNUExJRUQ+Cis8IUVMRU1FTlQgZGF0ZS5leHBpcmUgRU1QVFk+Cis8IUFUVExJU1QgZGF0ZS5leHBpcmUgaWQgSUQgI0lNUExJRUQ+Cis8IUFUVExJU1QgZGF0ZS5leHBpcmUgbm9ybSBDREFUQSAjSU1QTElFRD4KKzwhRUxFTUVOVCBkb2Mtc2NvcGUgRU1QVFk+Cis8IUFUVExJU1QgZG9jLXNjb3BlIGlkIElEICNJTVBMSUVEPgorPCFBVFRMSVNUIGRvYy1zY29wZSBzY29wZSBDREFUQSAjSU1QTElFRD4KKzwhRUxFTUVOVCBzZXJpZXMgRU1QVFk+Cis8IUFUVExJU1Qgc2VyaWVzIGlkIElEICNJTVBMSUVEPgorPCFBVFRMSVNUIHNlcmllcyBzZXJpZXMubmFtZSBDREFUQSAjSU1QTElFRD4KKzwhQVRUTElTVCBzZXJpZXMgc2VyaWVzLnBhcnQgTk1UT0tFTiAiMCI+Cis8IUFUVExJU1Qgc2VyaWVzIHNlcmllcy50b3RhbHBhcnQgTk1UT0tFTiAiMCI+Cis8IUVMRU1FTlQgZWQtbXNnIEVNUFRZPgorPCFBVFRMSVNUIGVkLW1zZyBpZCBJRCAjSU1QTElFRD4KKzwhQVRUTElTVCBlZC1tc2cgbXNnLXR5cGUgQ0RBVEEgI0lNUExJRUQ+Cis8IUFUVExJU1QgZWQtbXNnIGluZm8gQ0RBVEEgI0lNUExJRUQ+Cis8IUVMRU1FTlQgZHUta2V5IEVNUFRZPgorPCFBVFRMSVNUIGR1LWtleSBpZCBJRCAjSU1QTElFRD4KKzwhQVRUTElTVCBkdS1rZXkgZ2VuZXJhdGlvbiBOTVRPS0VOICNJTVBMSUVEPgorPCFBVFRMSVNUIGR1LWtleSBwYXJ0IE5NVE9LRU4gI0lNUExJRUQ+Cis8IUFUVExJU1QgZHUta2V5IHZlcnNpb24gTk1UT0tFTiAjSU1QTElFRD4KKzwhQVRUTElTVCBkdS1rZXkga2V5IENEQVRBICNJTVBMSUVEPgorPCFFTEVNRU5UIGRvYy5jb3B5cmlnaHQgRU1QVFk+Cis8IUFUVExJU1QgZG9jLmNvcHlyaWdodCBpZCBJRCAjSU1QTElFRD4KKzwhQVRUTElTVCBkb2MuY29weXJpZ2h0IHllYXIgTk1UT0tFTiAjSU1QTElFRD4KKzwhQVRUTElTVCBkb2MuY29weXJpZ2h0IGhvbGRlciBDREFUQSAjSU1QTElFRD4KKzwhRUxFTUVOVCBkb2MucmlnaHRzIEVNUFRZPgorPCFBVFRMSVNUIGRvYy5yaWdodHMgaWQgSUQgI0lNUExJRUQ+Cis8IUFUVExJU1QgZG9jLnJpZ2h0cyBvd25lciBDREFUQSAjSU1QTElFRD4KKzwhQVRUTElTVCBkb2MucmlnaHRzIHN0YXJ0ZGF0ZSBDREFUQSAjSU1QTElFRD4KKzwhQVRUTElTVCBkb2MucmlnaHRzIGVuZGRhdGUgQ0RBVEEgI0lNUExJRUQ+Cis8IUFUVExJU1QgZG9jLnJpZ2h0cyBhZ2VudCBDREFUQSAjSU1QTElFRD4KKzwhQVRUTElTVCBkb2MucmlnaHRzIGdlb2dyYXBoeSBDREFUQSAjSU1QTElFRD4KKzwhQVRUTElTVCBkb2MucmlnaHRzIGxvY2F0aW9uLWNvZGUgQ0RBVEEgI0lNUExJRUQ+Cis8IUFUVExJU1QgZG9jLnJpZ2h0cyBjb2RlLXNvdXJjZSBDREFUQSAjSU1QTElFRD4KKzwhQVRUTElTVCBkb2MucmlnaHRzIHR5cGUgQ0RBVEEgI0lNUExJRUQ+Cis8IUFUVExJU1QgZG9jLnJpZ2h0cyBsaW1pdGF0aW9ucyBDREFUQSAjSU1QTElFRD4KKzwhRUxFTUVOVCBrZXktbGlzdCAoa2V5d29yZCkqPgorPCFBVFRMSVNUIGtleS1saXN0IGlkIElEICNJTVBMSUVEPgorPCFFTEVNRU5UIGtleXdvcmQgRU1QVFk+Cis8IUFUVExJU1Qga2V5d29yZCBpZCBJRCAjSU1QTElFRD4KKzwhQVRUTElTVCBrZXl3b3JkIGtleSBDREFUQSAjSU1QTElFRD4KKzwhRUxFTUVOVCBwdWJkYXRhIEVNUFRZPgorPCFBVFRMSVNUIHB1YmRhdGEgaWQgSUQgI0lNUExJRUQ+Cis8IUFUVExJU1QgcHViZGF0YSB0eXBlIChwcmludCB8IGF1ZGlvIHwgdmlkZW8gfCB3ZWIgfCBhcHBsaWFuY2UgfCBvdGhlcikgI0lNUExJRUQ+Cis8IUFUVExJU1QgcHViZGF0YSBpdGVtLWxlbmd0aCBDREFUQSAjSU1QTElFRD4KKzwhQVRUTElTVCBwdWJkYXRhIHVuaXQtb2YtbWVhc3VyZSAod29yZCB8IGNoYXJhY3RlciB8IGJ5dGUgfCBpbmNoIHwgcGljYSB8IGNtIHwgaG91ciB8IG1pbnV0ZSB8IHNlY29uZCB8IG90aGVyKSAjSU1QTElFRD4KKzwhQVRUTElTVCBwdWJkYXRhIGRhdGUucHVibGljYXRpb24gQ0RBVEEgI0lNUExJRUQ+Cis8IUFUVExJU1QgcHViZGF0YSBuYW1lIENEQVRBICNJTVBMSUVEPgorPCFBVFRMSVNUIHB1YmRhdGEgaXNzbiBDREFUQSAjSU1QTElFRD4KKzwhQVRUTElTVCBwdWJkYXRhIHZvbHVtZSBDREFUQSAjSU1QTElFRD4KKzwhQVRUTElTVCBwdWJkYXRhIG51bWJlciBDREFUQSAjSU1QTElFRD4KKzwhQVRUTElTVCBwdWJkYXRhIGlzc3VlIENEQVRBICNJTVBMSUVEPgorPCFBVFRMSVNUIHB1YmRhdGEgZWRpdGlvbi5uYW1lIENEQVRBICNJTVBMSUVEPgorPCFBVFRMSVNUIHB1YmRhdGEgZWRpdGlvbi5hcmVhIENEQVRBICNJTVBMSUVEPgorPCFBVFRMSVNUIHB1YmRhdGEgcG9zaXRpb24uc2VjdGlvbiBDREFUQSAjSU1QTElFRD4KKzwhQVRUTElTVCBwdWJkYXRhIHBvc2l0aW9uLnNlcXVlbmNlIENEQVRBICNJTVBMSUVEPgorPCFBVFRMSVNUIHB1YmRhdGEgZXgtcmVmIENEQVRBICNJTVBMSUVEPgorPCFFTEVNRU5UIHJldmlzaW9uLWhpc3RvcnkgRU1QVFk+Cis8IUFUVExJU1QgcmV2aXNpb24taGlzdG9yeSBpZCBJRCAjSU1QTElFRD4KKzwhQVRUTElTVCByZXZpc2lvbi1oaXN0b3J5IG5hbWUgQ0RBVEEgI0lNUExJRUQ+Cis8IUFUVExJU1QgcmV2aXNpb24taGlzdG9yeSBmdW5jdGlvbiAod3JpdGVyLWF1dGhvciB8IGVkaXRvciB8IHByb2R1Y2VyIHwgYXJjaGl2aXN0IHwgdmlkZW9ncmFwaGVyIHwgZ3JhcGhpYy1hcnRpc3QgfCBwaG90b2dyYXBoZXIgfCBzdGF0aXN0aWNpYW4gfCBvdGhlcikgI0lNUExJRUQ+Cis8IUFUVExJU1QgcmV2aXNpb24taGlzdG9yeSBub3JtIENEQVRBICNJTVBMSUVEPgorPCFBVFRMSVNUIHJldmlzaW9uLWhpc3RvcnkgY29tbWVudCBDREFUQSAjSU1QTElFRD4KKzwhRUxFTUVOVCBib2R5IChib2R5LmhlYWQ/ICwgYm9keS5jb250ZW50KiAsIGJvZHkuZW5kPyk+Cis8IUFUVExJU1QgYm9keSBpZCBJRCAjSU1QTElFRD4KKzwhQVRUTElTVCBib2R5IGNsYXNzIE5NVE9LRU5TICNJTVBMSUVEPgorPCFBVFRMSVNUIGJvZHkgc3R5bGUgQ0RBVEEgI0lNUExJRUQ+Cis8IUFUVExJU1QgYm9keSBsYW5nIE5NVE9LRU4gI0lNUExJRUQ+Cis8IUFUVExJU1QgYm9keSBkaXIgKGx0ciB8IHJ0bCkgI0lNUExJRUQ+Cis8IUFUVExJU1QgYm9keSBiYWNrZ3JvdW5kIENEQVRBICNJTVBMSUVEPgorPCFFTEVNRU5UIGJvZHkuaGVhZCAoaGVkbGluZT8gLCBub3RlKiAsIHJpZ2h0cz8gLCBieWxpbmUqICwgZGlzdHJpYnV0b3I/ICwgZGF0ZWxpbmUqICwgYWJzdHJhY3Q/ICwgc2VyaWVzPyk+Cis8IUFUVExJU1QgYm9keS5oZWFkIGlkIElEICNJTVBMSUVEPgorPCFFTEVNRU5UIGhlZGxpbmUgKGhsMSAsIGhsMiopPgorPCFBVFRMSVNUIGhlZGxpbmUgaWQgSUQgI0lNUExJRUQ+Cis8IUVMRU1FTlQgaGwxICgjUENEQVRBIHwgY2hyb24gfCBjb3B5cml0ZSB8IGV2ZW50IHwgZnVuY3Rpb24gfCBsb2NhdGlvbiB8IG1vbmV5IHwgbnVtIHwgb2JqZWN0LnRpdGxlIHwgb3JnIHwgcGVyc29uIHwgcG9zdGFkZHIgfCB2aXJ0bG9jIHwgYSB8IGJyIHwgZW0gfCBsYW5nIHwgcHJvbm91bmNlIHwgcSkqPgorPCFBVFRMSVNUIGhsMSBpZCBJRCAjSU1QTElFRD4KKzwhQVRUTElTVCBobDEgY2xhc3MgTk1UT0tFTlMgI0lNUExJRUQ+Cis8IUFUVExJU1QgaGwxIHN0eWxlIENEQVRBICNJTVBMSUVEPgorPCFBVFRMSVNUIGhsMSBsYW5nIE5NVE9LRU4gI0lNUExJRUQ+Cis8IUFUVExJU1QgaGwxIGRpciAobHRyIHwgcnRsKSAjSU1QTElFRD4KKzwhRUxFTUVOVCBobDIgKCNQQ0RBVEEgfCBjaHJvbiB8IGNvcHlyaXRlIHwgZXZlbnQgfCBmdW5jdGlvbiB8IGxvY2F0aW9uIHwgbW9uZXkgfCBudW0gfCBvYmplY3QudGl0bGUgfCBvcmcgfCBwZXJzb24gfCBwb3N0YWRkciB8IHZpcnRsb2MgfCBhIHwgYnIgfCBlbSB8IGxhbmcgfCBwcm9ub3VuY2UgfCBxKSo+Cis8IUFUVExJU1QgaGwyIGlkIElEICNJTVBMSUVEPgorPCFBVFRMSVNUIGhsMiBjbGFzcyBOTVRPS0VOUyAjSU1QTElFRD4KKzwhQVRUTElTVCBobDIgc3R5bGUgQ0RBVEEgI0lNUExJRUQ+Cis8IUFUVExJU1QgaGwyIGxhbmcgTk1UT0tFTiAjSU1QTElFRD4KKzwhQVRUTElTVCBobDIgZGlyIChsdHIgfCBydGwpICNJTVBMSUVEPgorPCFFTEVNRU5UIG5vdGUgKGJvZHkuY29udGVudCkrPgorPCFBVFRMSVNUIG5vdGUgaWQgSUQgI0lNUExJRUQ+Cis8IUFUVExJU1Qgbm90ZSBjbGFzcyBOTVRPS0VOUyAjSU1QTElFRD4KKzwhQVRUTElTVCBub3RlIHN0eWxlIENEQVRBICNJTVBMSUVEPgorPCFBVFRMSVNUIG5vdGUgbGFuZyBOTVRPS0VOICNJTVBMSUVEPgorPCFBVFRMSVNUIG5vdGUgZGlyIChsdHIgfCBydGwpICNJTVBMSUVEPgorPCFBVFRMSVNUIG5vdGUgbm90ZWNsYXNzIChjcHlydCB8IGVuZCB8IGhkIHwgZWRpdG9yc25vdGUgfCB0cmFkZW1rIHwgdW5kZWYpICNJTVBMSUVEPgorPCFBVFRMSVNUIG5vdGUgdHlwZSAoc3RkIHwgcGEgfCBucGEpICJzdGQiPgorPCFBVFRMSVNUIG5vdGUgc3JjIENEQVRBICNJTVBMSUVEPgorPCFBVFRMSVNUIG5vdGUgbWQgQ0RBVEEgI0lNUExJRUQ+Cis8IUVMRU1FTlQgcmlnaHRzICgjUENEQVRBIHwgcmlnaHRzLm93bmVyIHwgcmlnaHRzLnN0YXJ0ZGF0ZSB8IHJpZ2h0cy5lbmRkYXRlIHwgcmlnaHRzLmFnZW50IHwgcmlnaHRzLmdlb2dyYXBoeSB8IHJpZ2h0cy50eXBlIHwgcmlnaHRzLmxpbWl0YXRpb25zKSo+Cis8IUFUVExJU1QgcmlnaHRzIGlkIElEICNJTVBMSUVEPgorPCFFTEVNRU5UIHJpZ2h0cy5vd25lciAoI1BDREFUQSk+Cis8IUFUVExJU1QgcmlnaHRzLm93bmVyIGlkIElEICNJTVBMSUVEPgorPCFBVFRMSVNUIHJpZ2h0cy5vd25lciBjb250YWN0IENEQVRBICNJTVBMSUVEPgorPCFFTEVNRU5UIHJpZ2h0cy5zdGFydGRhdGUgKCNQQ0RBVEEpPgorPCFBVFRMSVNUIHJpZ2h0cy5zdGFydGRhdGUgaWQgSUQgI0lNUExJRUQ+Cis8IUFUVExJU1QgcmlnaHRzLnN0YXJ0ZGF0ZSBub3JtIENEQVRBICNJTVBMSUVEPgorPCFFTEVNRU5UIHJpZ2h0cy5lbmRkYXRlICgjUENEQVRBKT4KKzwhQVRUTElTVCByaWdodHMuZW5kZGF0ZSBpZCBJRCAjSU1QTElFRD4KKzwhQVRUTElTVCByaWdodHMuZW5kZGF0ZSBub3JtIENEQVRBICNJTVBMSUVEPgorPCFFTEVNRU5UIHJpZ2h0cy5hZ2VudCAoI1BDREFUQSk+Cis8IUFUVExJU1QgcmlnaHRzLmFnZW50IGlkIElEICNJTVBMSUVEPgorPCFBVFRMSVNUIHJpZ2h0cy5hZ2VudCBjb250YWN0IENEQVRBICNJTVBMSUVEPgorPCFFTEVNRU5UIHJpZ2h0cy5nZW9ncmFwaHkgKCNQQ0RBVEEpPgorPCFBVFRMSVNUIHJpZ2h0cy5nZW9ncmFwaHkgaWQgSUQgI0lNUExJRUQ+Cis8IUFUVExJU1QgcmlnaHRzLmdlb2dyYXBoeSBsb2NhdGlvbi1jb2RlIENEQVRBICNJTVBMSUVEPgorPCFBVFRMSVNUIHJpZ2h0cy5nZW9ncmFwaHkgY29kZS1zb3VyY2UgQ0RBVEEgI0lNUExJRUQ+Cis8IUVMRU1FTlQgcmlnaHRzLnR5cGUgKCNQQ0RBVEEpPgorPCFBVFRMSVNUIHJpZ2h0cy50eXBlIGlkIElEICNJTVBMSUVEPgorPCFFTEVNRU5UIHJpZ2h0cy5saW1pdGF0aW9ucyAoI1BDREFUQSk+Cis8IUFUVExJU1QgcmlnaHRzLmxpbWl0YXRpb25zIGlkIElEICNJTVBMSUVEPgorPCFFTEVNRU5UIGJ5bGluZSAoI1BDREFUQSB8IHBlcnNvbiB8IGJ5dHRsIHwgbG9jYXRpb24gfCB2aXJ0bG9jKSo+Cis8IUFUVExJU1QgYnlsaW5lIGlkIElEICNJTVBMSUVEPgorPCFFTEVNRU5UIGJ5dHRsICgjUENEQVRBIHwgb3JnKSo+Cis8IUFUVExJU1QgYnl0dGwgaWQgSUQgI0lNUExJRUQ+Cis8IUVMRU1FTlQgZGlzdHJpYnV0b3IgKCNQQ0RBVEEgfCBvcmcpKj4KKzwhQVRUTElTVCBkaXN0cmlidXRvciBpZCBJRCAjSU1QTElFRD4KKzwhRUxFTUVOVCBkYXRlbGluZSAoI1BDREFUQSB8IGxvY2F0aW9uIHwgc3RvcnkuZGF0ZSkqPgorPCFBVFRMSVNUIGRhdGVsaW5lIGlkIElEICNJTVBMSUVEPgorPCFBVFRMSVNUIGRhdGVsaW5lIGNsYXNzIE5NVE9LRU5TICNJTVBMSUVEPgorPCFBVFRMSVNUIGRhdGVsaW5lIHN0eWxlIENEQVRBICNJTVBMSUVEPgorPCFBVFRMSVNUIGRhdGVsaW5lIGxhbmcgTk1UT0tFTiAjSU1QTElFRD4KKzwhQVRUTElTVCBkYXRlbGluZSBkaXIgKGx0ciB8IHJ0bCkgI0lNUExJRUQ+Cis8IUVMRU1FTlQgc3RvcnkuZGF0ZSAoI1BDREFUQSk+Cis8IUFUVExJU1Qgc3RvcnkuZGF0ZSBpZCBJRCAjSU1QTElFRD4KKzwhQVRUTElTVCBzdG9yeS5kYXRlIG5vcm0gQ0RBVEEgI0lNUExJRUQ+Cis8IUVMRU1FTlQgYWJzdHJhY3QgKHAgfCBobDIgfCB0YWJsZSB8IG1lZGlhIHwgb2wgfCB1bCB8IGRsIHwgYnEgfCBmbiB8IG5vdGUgfCBwcmUgfCBocikrPgorPCFBVFRMSVNUIGFic3RyYWN0IGlkIElEICNJTVBMSUVEPgorPCFFTEVNRU5UIGNvcHlyaXRlICgjUENEQVRBIHwgY29weXJpdGUueWVhciB8IGNvcHlyaXRlLmhvbGRlcikqPgorPCFBVFRMSVNUIGNvcHlyaXRlIGlkIElEICNJTVBMSUVEPgorPCFFTEVNRU5UIGNvcHlyaXRlLnllYXIgKCNQQ0RBVEEpPgorPCFBVFRMSVNUIGNvcHlyaXRlLnllYXIgaWQgSUQgI0lNUExJRUQ+Cis8IUVMRU1FTlQgY29weXJpdGUuaG9sZGVyICgjUENEQVRBKT4KKzwhQVRUTElTVCBjb3B5cml0ZS5ob2xkZXIgaWQgSUQgI0lNUExJRUQ+Cis8IUVMRU1FTlQgYm9keS5jb250ZW50IChibG9jayB8IHAgfCBobDIgfCB0YWJsZSB8IG1lZGlhIHwgb2wgfCB1bCB8IGRsIHwgYnEgfCBmbiB8IG5vdGUgfCBwcmUgfCBocikqPgorPCFBVFRMSVNUIGJvZHkuY29udGVudCBpZCBJRCAjSU1QTElFRD4KKzwhRUxFTUVOVCBibG9jayAoKGRhdGVsaW5lPyAsIGNvcHlyaXRlPyAsIGFic3RyYWN0Pyk/ICwgKHAgfCBobDIgfCB0YWJsZSB8IG1lZGlhIHwgb2wgfCB1bCB8IGRsIHwgYnEgfCBmbiB8IG5vdGUgfCBwcmUgfCBocikqICwgZGF0YXNvdXJjZT8pPgorPCFBVFRMSVNUIGJsb2NrIGlkIElEICNJTVBMSUVEPgorPCFBVFRMSVNUIGJsb2NrIGNsYXNzIE5NVE9LRU5TICNJTVBMSUVEPgorPCFBVFRMSVNUIGJsb2NrIHN0eWxlIENEQVRBICNJTVBMSUVEPgorPCFBVFRMSVNUIGJsb2NrIGxhbmcgTk1UT0tFTiAjSU1QTElFRD4KKzwhQVRUTElTVCBibG9jayBkaXIgKGx0ciB8IHJ0bCkgI0lNUExJRUQ+Cis8IUVMRU1FTlQgcCAoI1BDREFUQSB8IGNocm9uIHwgY29weXJpdGUgfCBldmVudCB8IGZ1bmN0aW9uIHwgbG9jYXRpb24gfCBtb25leSB8IG51bSB8IG9iamVjdC50aXRsZSB8IG9yZyB8IHBlcnNvbiB8IHBvc3RhZGRyIHwgdmlydGxvYyB8IGEgfCBiciB8IGVtIHwgbGFuZyB8IHByb25vdW5jZSB8IHEpKj4KKzwhQVRUTElTVCBwIGlkIElEICNJTVBMSUVEPgorPCFBVFRMSVNUIHAgY2xhc3MgTk1UT0tFTlMgI0lNUExJRUQ+Cis8IUFUVExJU1QgcCBzdHlsZSBDREFUQSAjSU1QTElFRD4KKzwhQVRUTElTVCBwIGxhbmcgTk1UT0tFTiAjSU1QTElFRD4KKzwhQVRUTElTVCBwIGRpciAobHRyIHwgcnRsKSAjSU1QTElFRD4KKzwhQVRUTElTVCBwIGxlZGUgKHRydWUgfCBmYWxzZSkgI0lNUExJRUQ+Cis8IUFUVExJU1QgcCBzdW1tYXJ5ICh0cnVlIHwgZmFsc2UpICNJTVBMSUVEPgorPCFBVFRMSVNUIHAgb3B0aW9uYWwtdGV4dCAodHJ1ZSB8IGZhbHNlKSAjSU1QTElFRD4KKzwhRUxFTUVOVCB0YWJsZSAoY2FwdGlvbj8gLCAoY29sKiB8IGNvbGdyb3VwKikgLCB0aGVhZD8gLCB0Zm9vdD8gLCB0Ym9keSspPgorPCFBVFRMSVNUIHRhYmxlIGlkIElEICNJTVBMSUVEPgorPCFBVFRMSVNUIHRhYmxlIGNsYXNzIE5NVE9LRU5TICNJTVBMSUVEPgorPCFBVFRMSVNUIHRhYmxlIHN0eWxlIENEQVRBICNJTVBMSUVEPgorPCFBVFRMSVNUIHRhYmxlIGxhbmcgTk1UT0tFTiAjSU1QTElFRD4KKzwhQVRUTElTVCB0YWJsZSBkaXIgKGx0ciB8IHJ0bCkgI0lNUExJRUQ+Cis8IUFUVExJU1QgdGFibGUgdGFibGV0eXBlIEVOVElUWSAjSU1QTElFRD4KKzwhQVRUTElTVCB0YWJsZSBhbGlnbiAobGVmdCB8IGNlbnRlciB8IHJpZ2h0KSAjSU1QTElFRD4KKzwhQVRUTElTVCB0YWJsZSB3aWR0aCBDREFUQSAjSU1QTElFRD4KKzwhQVRUTElTVCB0YWJsZSBjb2xzIE5NVE9LRU4gI0lNUExJRUQ+Cis8IUFUVExJU1QgdGFibGUgYm9yZGVyIENEQVRBICNJTVBMSUVEPgorPCFBVFRMSVNUIHRhYmxlIGZyYW1lICh2b2lkIHwgYWJvdmUgfCBiZWxvdyB8IGhzaWRlcyB8IGxocyB8IHJocyB8IHZzaWRlcyB8IGJveCB8IGJvcmRlcikgI0lNUExJRUQ+Cis8IUFUVExJU1QgdGFibGUgcnVsZXMgKG5vbmUgfCBiYXNpYyB8IHJvd3MgfCBjb2xzIHwgYWxsKSAjSU1QTElFRD4KKzwhQVRUTElTVCB0YWJsZSBjZWxsc3BhY2luZyBDREFUQSAjSU1QTElFRD4KKzwhQVRUTElTVCB0YWJsZSBjZWxscGFkZGluZyBDREFUQSAjSU1QTElFRD4KKzwhQVRUTElTVCB0YWJsZSB0YWJsZS5mbXQgQ0RBVEEgI0lNUExJRUQ+Cis8IUFUVExJU1QgdGFibGUgdGFibGUuZG9tYWluIENEQVRBICNJTVBMSUVEPgorPCFBVFRMSVNUIHRhYmxlIHRhYmxlLmluc3QgQ0RBVEEgI0lNUExJRUQ+Cis8IUVMRU1FTlQgbWVkaWEgKG1lZGlhLW1ldGFkYXRhKiAsIG1lZGlhLXJlZmVyZW5jZSAsIG1lZGlhLW9iamVjdD8gLCBtZWRpYS1jYXB0aW9uKiAsIG1lZGlhLXByb2R1Y2VyPyk+Cis8IUFUVExJU1QgbWVkaWEgaWQgSUQgI0lNUExJRUQ+Cis8IUFUVExJU1QgbWVkaWEgY2xhc3MgTk1UT0tFTlMgI0lNUExJRUQ+Cis8IUFUVExJU1QgbWVkaWEgc3R5bGUgQ0RBVEEgI0lNUExJRUQ+Cis8IUFUVExJU1QgbWVkaWEgbGFuZyBOTVRPS0VOICNJTVBMSUVEPgorPCFBVFRMSVNUIG1lZGlhIGRpciAobHRyIHwgcnRsKSAjSU1QTElFRD4KKzwhQVRUTElTVCBtZWRpYSBtZWRpYS10eXBlICh0ZXh0IHwgYXVkaW8gfCBpbWFnZSB8IHZpZGVvIHwgZGF0YSB8IGFwcGxpY2F0aW9uIHwgb3RoZXIpICNSRVFVSVJFRD4KKzwhRUxFTUVOVCBtZWRpYS1yZWZlcmVuY2UgKCNQQ0RBVEEpPgorPCFBVFRMSVNUIG1lZGlhLXJlZmVyZW5jZSBpZCBJRCAjSU1QTElFRD4KKzwhQVRUTElTVCBtZWRpYS1yZWZlcmVuY2UgY2xhc3MgTk1UT0tFTlMgI0lNUExJRUQ+Cis8IUFUVExJU1QgbWVkaWEtcmVmZXJlbmNlIHN0eWxlIENEQVRBICNJTVBMSUVEPgorPCFBVFRMSVNUIG1lZGlhLXJlZmVyZW5jZSBsYW5nIE5NVE9LRU4gI0lNUExJRUQ+Cis8IUFUVExJU1QgbWVkaWEtcmVmZXJlbmNlIGRpciAobHRyIHwgcnRsKSAjSU1QTElFRD4KKzwhQVRUTElTVCBtZWRpYS1yZWZlcmVuY2UgZGF0YS1sb2NhdGlvbiBDREFUQSAjUkVRVUlSRUQ+Cis8IUFUVExJU1QgbWVkaWEtcmVmZXJlbmNlIG5hbWUgQ0RBVEEgI0lNUExJRUQ+Cis8IUFUVExJU1QgbWVkaWEtcmVmZXJlbmNlIHNvdXJjZSBDREFUQSAjSU1QTElFRD4KKzwhQVRUTElTVCBtZWRpYS1yZWZlcmVuY2UgbWltZS10eXBlIENEQVRBICNSRVFVSVJFRD4KKzwhQVRUTElTVCBtZWRpYS1yZWZlcmVuY2UgY29kaW5nIENEQVRBICNJTVBMSUVEPgorPCFBVFRMSVNUIG1lZGlhLXJlZmVyZW5jZSB0aW1lIENEQVRBICNJTVBMSUVEPgorPCFBVFRMSVNUIG1lZGlhLXJlZmVyZW5jZSB0aW1lLXVuaXQtb2YtbWVhc3VyZSBDREFUQSAjSU1QTElFRD4KKzwhQVRUTElTVCBtZWRpYS1yZWZlcmVuY2Ugb3V0Y3VlIENEQVRBICNJTVBMSUVEPgorPCFBVFRMSVNUIG1lZGlhLXJlZmVyZW5jZSBzb3VyY2UtY3JlZGl0IENEQVRBICNJTVBMSUVEPgorPCFBVFRMSVNUIG1lZGlhLXJlZmVyZW5jZSBjb3B5cmlnaHQgQ0RBVEEgI0lNUExJRUQ+Cis8IUFUVExJU1QgbWVkaWEtcmVmZXJlbmNlIGFsdGVybmF0ZS10ZXh0IENEQVRBICNJTVBMSUVEPgorPCFBVFRMSVNUIG1lZGlhLXJlZmVyZW5jZSBoZWlnaHQgTk1UT0tFTiAjSU1QTElFRD4KKzwhQVRUTElTVCBtZWRpYS1yZWZlcmVuY2Ugd2lkdGggTk1UT0tFTiAjSU1QTElFRD4KKzwhQVRUTElTVCBtZWRpYS1yZWZlcmVuY2UgdW5pdHMgKHBpeGVscykgInBpeGVscyI+Cis8IUFUVExJU1QgbWVkaWEtcmVmZXJlbmNlIGltYWdlbWFwIENEQVRBICNJTVBMSUVEPgorPCFBVFRMSVNUIG1lZGlhLXJlZmVyZW5jZSBub2Zsb3cgKG5vZmxvdykgI0lNUExJRUQ+Cis8IUVMRU1FTlQgbWVkaWEtbWV0YWRhdGEgRU1QVFk+Cis8IUFUVExJU1QgbWVkaWEtbWV0YWRhdGEgaWQgSUQgI0lNUExJRUQ+Cis8IUFUVExJU1QgbWVkaWEtbWV0YWRhdGEgY2xhc3MgTk1UT0tFTlMgI0lNUExJRUQ+Cis8IUFUVExJU1QgbWVkaWEtbWV0YWRhdGEgc3R5bGUgQ0RBVEEgI0lNUExJRUQ+Cis8IUFUVExJU1QgbWVkaWEtbWV0YWRhdGEgbGFuZyBOTVRPS0VOICNJTVBMSUVEPgorPCFBVFRMSVNUIG1lZGlhLW1ldGFkYXRhIGRpciAobHRyIHwgcnRsKSAjSU1QTElFRD4KKzwhQVRUTElTVCBtZWRpYS1tZXRhZGF0YSBuYW1lIENEQVRBICNSRVFVSVJFRD4KKzwhQVRUTElTVCBtZWRpYS1tZXRhZGF0YSB2YWx1ZSBDREFUQSAjSU1QTElFRD4KKzwhRUxFTUVOVCBtZWRpYS1vYmplY3QgKCNQQ0RBVEEpPgorPCFBVFRMSVNUIG1lZGlhLW9iamVjdCBpZCBJRCAjSU1QTElFRD4KKzwhQVRUTElTVCBtZWRpYS1vYmplY3QgY2xhc3MgTk1UT0tFTlMgI0lNUExJRUQ+Cis8IUFUVExJU1QgbWVkaWEtb2JqZWN0IHN0eWxlIENEQVRBICNJTVBMSUVEPgorPCFBVFRMSVNUIG1lZGlhLW9iamVjdCBsYW5nIE5NVE9LRU4gI0lNUExJRUQ+Cis8IUFUVExJU1QgbWVkaWEtb2JqZWN0IGRpciAobHRyIHwgcnRsKSAjSU1QTElFRD4KKzwhQVRUTElTVCBtZWRpYS1vYmplY3QgZW5jb2RpbmcgQ0RBVEEgI1JFUVVJUkVEPgorPCFFTEVNRU5UIG1lZGlhLWNhcHRpb24gKCNQQ0RBVEEgfCBjaHJvbiB8IGNvcHlyaXRlIHwgZXZlbnQgfCBmdW5jdGlvbiB8IGxvY2F0aW9uIHwgbW9uZXkgfCBudW0gfCBvYmplY3QudGl0bGUgfCBvcmcgfCBwZXJzb24gfCBwb3N0YWRkciB8IHZpcnRsb2MgfCBhIHwgYnIgfCBlbSB8IGxhbmcgfCBwcm9ub3VuY2UgfCBxIHwgcCB8IGhsMiB8IHRhYmxlIHwgbWVkaWEgfCBvbCB8IHVsIHwgZGwgfCBicSB8IGZuIHwgbm90ZSB8IHByZSB8IGhyKSo+Cis8IUFUVExJU1QgbWVkaWEtY2FwdGlvbiBpZCBJRCAjSU1QTElFRD4KKzwhQVRUTElTVCBtZWRpYS1jYXB0aW9uIGNsYXNzIE5NVE9LRU5TICNJTVBMSUVEPgorPCFBVFRMSVNUIG1lZGlhLWNhcHRpb24gc3R5bGUgQ0RBVEEgI0lNUExJRUQ+Cis8IUFUVExJU1QgbWVkaWEtY2FwdGlvbiBsYW5nIE5NVE9LRU4gI0lNUExJRUQ+Cis8IUFUVExJU1QgbWVkaWEtY2FwdGlvbiBkaXIgKGx0ciB8IHJ0bCkgI0lNUExJRUQ+Cis8IUVMRU1FTlQgbWVkaWEtcHJvZHVjZXIgKCNQQ0RBVEEgfCBjaHJvbiB8IGNvcHlyaXRlIHwgZXZlbnQgfCBmdW5jdGlvbiB8IGxvY2F0aW9uIHwgbW9uZXkgfCBudW0gfCBvYmplY3QudGl0bGUgfCBvcmcgfCBwZXJzb24gfCBwb3N0YWRkciB8IHZpcnRsb2MgfCBhIHwgYnIgfCBlbSB8IGxhbmcgfCBwcm9ub3VuY2UgfCBxKSo+Cis8IUFUVExJU1QgbWVkaWEtcHJvZHVjZXIgaWQgSUQgI0lNUExJRUQ+Cis8IUFUVExJU1QgbWVkaWEtcHJvZHVjZXIgY2xhc3MgTk1UT0tFTlMgI0lNUExJRUQ+Cis8IUFUVExJU1QgbWVkaWEtcHJvZHVjZXIgc3R5bGUgQ0RBVEEgI0lNUExJRUQ+Cis8IUFUVExJU1QgbWVkaWEtcHJvZHVjZXIgbGFuZyBOTVRPS0VOICNJTVBMSUVEPgorPCFBVFRMSVNUIG1lZGlhLXByb2R1Y2VyIGRpciAobHRyIHwgcnRsKSAjSU1QTElFRD4KKzwhRUxFTUVOVCBvbCAobGkpKz4KKzwhQVRUTElTVCBvbCBpZCBJRCAjSU1QTElFRD4KKzwhQVRUTElTVCBvbCBjbGFzcyBOTVRPS0VOUyAjSU1QTElFRD4KKzwhQVRUTElTVCBvbCBzdHlsZSBDREFUQSAjSU1QTElFRD4KKzwhQVRUTElTVCBvbCBsYW5nIE5NVE9LRU4gI0lNUExJRUQ+Cis8IUFUVExJU1Qgb2wgZGlyIChsdHIgfCBydGwpICNJTVBMSUVEPgorPCFBVFRMSVNUIG9sIGNvbnRpbnVlIChjb250aW51ZSkgI0lNUExJRUQ+Cis8IUFUVExJU1Qgb2wgc2VxbnVtIE5NVE9LRU4gI0lNUExJRUQ+Cis8IUFUVExJU1Qgb2wgY29tcGFjdCAoY29tcGFjdCkgI0lNUExJRUQ+Cis8IUVMRU1FTlQgdWwgKGxpKSs+Cis8IUFUVExJU1QgdWwgaWQgSUQgI0lNUExJRUQ+Cis8IUFUVExJU1QgdWwgY2xhc3MgTk1UT0tFTlMgI0lNUExJRUQ+Cis8IUFUVExJU1QgdWwgc3R5bGUgQ0RBVEEgI0lNUExJRUQ+Cis8IUFUVExJU1QgdWwgbGFuZyBOTVRPS0VOICNJTVBMSUVEPgorPCFBVFRMSVNUIHVsIGRpciAobHRyIHwgcnRsKSAjSU1QTElFRD4KKzwhQVRUTElTVCB1bCB3cmFwICh2ZXJ0IHwgaG9yaXogfCBub25lKSAibm9uZSI+Cis8IUFUVExJU1QgdWwgcGxhaW4gKHBsYWluKSAjSU1QTElFRD4KKzwhQVRUTElTVCB1bCBkaW5nYmF0IEVOVElUWSAjSU1QTElFRD4KKzwhQVRUTElTVCB1bCBzcmMgQ0RBVEEgI0lNUExJRUQ+Cis8IUFUVExJU1QgdWwgbWQgQ0RBVEEgI0lNUExJRUQ+Cis8IUFUVExJU1QgdWwgY29tcGFjdCAoY29tcGFjdCkgI0lNUExJRUQ+Cis8IUVMRU1FTlQgbGkgKCNQQ0RBVEEgfCBjaHJvbiB8IGNvcHlyaXRlIHwgZXZlbnQgfCBmdW5jdGlvbiB8IGxvY2F0aW9uIHwgbW9uZXkgfCBudW0gfCBvYmplY3QudGl0bGUgfCBvcmcgfCBwZXJzb24gfCBwb3N0YWRkciB8IHZpcnRsb2MgfCBhIHwgYnIgfCBlbSB8IGxhbmcgfCBwcm9ub3VuY2UgfCBxIHwgcCB8IGhsMiB8IHRhYmxlIHwgbWVkaWEgfCBvbCB8IHVsIHwgZGwgfCBicSB8IGZuIHwgbm90ZSB8IHByZSB8IGhyKSo+Cis8IUFUVExJU1QgbGkgaWQgSUQgI0lNUExJRUQ+Cis8IUFUVExJU1QgbGkgY2xhc3MgTk1UT0tFTlMgI0lNUExJRUQ+Cis8IUFUVExJU1QgbGkgc3R5bGUgQ0RBVEEgI0lNUExJRUQ+Cis8IUFUVExJU1QgbGkgbGFuZyBOTVRPS0VOICNJTVBMSUVEPgorPCFBVFRMSVNUIGxpIGRpciAobHRyIHwgcnRsKSAjSU1QTElFRD4KKzwhQVRUTElTVCBsaSBkaW5nYmF0IEVOVElUWSAjSU1QTElFRD4KKzwhQVRUTElTVCBsaSBzcmMgQ0RBVEEgI0lNUExJRUQ+Cis8IUFUVExJU1QgbGkgbWQgQ0RBVEEgI0lNUExJRUQ+Cis8IUFUVExJU1QgbGkgc2tpcCBOTVRPS0VOICIwIj4KKzwhRUxFTUVOVCBkbCAoZHQgfCBkZCkrPgorPCFBVFRMSVNUIGRsIGlkIElEICNJTVBMSUVEPgorPCFBVFRMSVNUIGRsIGNsYXNzIE5NVE9LRU5TICNJTVBMSUVEPgorPCFBVFRMSVNUIGRsIHN0eWxlIENEQVRBICNJTVBMSUVEPgorPCFBVFRMSVNUIGRsIGxhbmcgTk1UT0tFTiAjSU1QTElFRD4KKzwhQVRUTElTVCBkbCBkaXIgKGx0ciB8IHJ0bCkgI0lNUExJRUQ+Cis8IUVMRU1FTlQgZHQgKCNQQ0RBVEEgfCBjaHJvbiB8IGNvcHlyaXRlIHwgZXZlbnQgfCBmdW5jdGlvbiB8IGxvY2F0aW9uIHwgbW9uZXkgfCBudW0gfCBvYmplY3QudGl0bGUgfCBvcmcgfCBwZXJzb24gfCBwb3N0YWRkciB8IHZpcnRsb2MgfCBhIHwgYnIgfCBlbSB8IGxhbmcgfCBwcm9ub3VuY2UgfCBxKSo+Cis8IUFUVExJU1QgZHQgaWQgSUQgI0lNUExJRUQ+Cis8IUFUVExJU1QgZHQgY2xhc3MgTk1UT0tFTlMgI0lNUExJRUQ+Cis8IUFUVExJU1QgZHQgc3R5bGUgQ0RBVEEgI0lNUExJRUQ+Cis8IUFUVExJU1QgZHQgbGFuZyBOTVRPS0VOICNJTVBMSUVEPgorPCFBVFRMSVNUIGR0IGRpciAobHRyIHwgcnRsKSAjSU1QTElFRD4KKzwhRUxFTUVOVCBkZCAoYmxvY2spKj4KKzwhQVRUTElTVCBkZCBpZCBJRCAjSU1QTElFRD4KKzwhQVRUTElTVCBkZCBjbGFzcyBOTVRPS0VOUyAjSU1QTElFRD4KKzwhQVRUTElTVCBkZCBzdHlsZSBDREFUQSAjSU1QTElFRD4KKzwhQVRUTElTVCBkZCBsYW5nIE5NVE9LRU4gI0lNUExJRUQ+Cis8IUFUVExJU1QgZGQgZGlyIChsdHIgfCBydGwpICNJTVBMSUVEPgorPCFFTEVNRU5UIGJxIChibG9jaysgLCBjcmVkaXQ/KSo+Cis8IUFUVExJU1QgYnEgaWQgSUQgI0lNUExJRUQ+Cis8IUFUVExJU1QgYnEgY2xhc3MgTk1UT0tFTlMgI0lNUExJRUQ+Cis8IUFUVExJU1QgYnEgc3R5bGUgQ0RBVEEgI0lNUExJRUQ+Cis8IUFUVExJU1QgYnEgbGFuZyBOTVRPS0VOICNJTVBMSUVEPgorPCFBVFRMSVNUIGJxIGRpciAobHRyIHwgcnRsKSAjSU1QTElFRD4KKzwhQVRUTElTVCBicSBub3dyYXAgKG5vd3JhcCkgI0lNUExJRUQ+Cis8IUFUVExJU1QgYnEgcXVvdGUtc291cmNlIENEQVRBICNJTVBMSUVEPgorPCFFTEVNRU5UIGNyZWRpdCAoI1BDREFUQSB8IGNocm9uIHwgY29weXJpdGUgfCBldmVudCB8IGZ1bmN0aW9uIHwgbG9jYXRpb24gfCBtb25leSB8IG51bSB8IG9iamVjdC50aXRsZSB8IG9yZyB8IHBlcnNvbiB8IHBvc3RhZGRyIHwgdmlydGxvYyB8IGEgfCBiciB8IGVtIHwgbGFuZyB8IHByb25vdW5jZSB8IHEpKj4KKzwhQVRUTElTVCBjcmVkaXQgaWQgSUQgI0lNUExJRUQ+Cis8IUFUVExJU1QgY3JlZGl0IGNsYXNzIE5NVE9LRU5TICNJTVBMSUVEPgorPCFBVFRMSVNUIGNyZWRpdCBzdHlsZSBDREFUQSAjSU1QTElFRD4KKzwhQVRUTElTVCBjcmVkaXQgbGFuZyBOTVRPS0VOICNJTVBMSUVEPgorPCFBVFRMSVNUIGNyZWRpdCBkaXIgKGx0ciB8IHJ0bCkgI0lNUExJRUQ+Cis8IUVMRU1FTlQgZm4gKGJvZHkuY29udGVudCkrPgorPCFBVFRMSVNUIGZuIGlkIElEICNJTVBMSUVEPgorPCFBVFRMSVNUIGZuIGNsYXNzIE5NVE9LRU5TICNJTVBMSUVEPgorPCFBVFRMSVNUIGZuIHN0eWxlIENEQVRBICNJTVBMSUVEPgorPCFBVFRMSVNUIGZuIGxhbmcgTk1UT0tFTiAjSU1QTElFRD4KKzwhQVRUTElTVCBmbiBkaXIgKGx0ciB8IHJ0bCkgI0lNUExJRUQ+Cis8IUVMRU1FTlQgcHJlICgjUENEQVRBKT4KKzwhQVRUTElTVCBwcmUgaWQgSUQgI0lNUExJRUQ+Cis8IUVMRU1FTlQgaHIgRU1QVFk+Cis8IUFUVExJU1QgaHIgaWQgSUQgI0lNUExJRUQ+Cis8IUFUVExJU1QgaHIgc3JjIENEQVRBICNJTVBMSUVEPgorPCFFTEVNRU5UIGRhdGFzb3VyY2UgKCNQQ0RBVEEpPgorPCFBVFRMSVNUIGRhdGFzb3VyY2UgaWQgSUQgI0lNUExJRUQ+Cis8IUVMRU1FTlQgY2FwdGlvbiAoI1BDREFUQSB8IGNocm9uIHwgY29weXJpdGUgfCBldmVudCB8IGZ1bmN0aW9uIHwgbG9jYXRpb24gfCBtb25leSB8IG51bSB8IG9iamVjdC50aXRsZSB8IG9yZyB8IHBlcnNvbiB8IHBvc3RhZGRyIHwgdmlydGxvYyB8IGEgfCBiciB8IGVtIHwgbGFuZyB8IHByb25vdW5jZSB8IHEgfCBwIHwgaGwyIHwgdGFibGUgfCBtZWRpYSB8IG9sIHwgdWwgfCBkbCB8IGJxIHwgZm4gfCBub3RlIHwgcHJlIHwgaHIpKj4KKzwhQVRUTElTVCBjYXB0aW9uIGlkIElEICNJTVBMSUVEPgorPCFBVFRMSVNUIGNhcHRpb24gY2xhc3MgTk1UT0tFTlMgI0lNUExJRUQ+Cis8IUFUVExJU1QgY2FwdGlvbiBzdHlsZSBDREFUQSAjSU1QTElFRD4KKzwhQVRUTElTVCBjYXB0aW9uIGxhbmcgTk1UT0tFTiAjSU1QTElFRD4KKzwhQVRUTElTVCBjYXB0aW9uIGRpciAobHRyIHwgcnRsKSAjSU1QTElFRD4KKzwhQVRUTElTVCBjYXB0aW9uIGFsaWduICh0b3AgfCBib3R0b20gfCBsZWZ0IHwgcmlnaHQpICNJTVBMSUVEPgorPCFFTEVNRU5UIGNvbCBFTVBUWT4KKzwhQVRUTElTVCBjb2wgaWQgSUQgI0lNUExJRUQ+Cis8IUFUVExJU1QgY29sIGNsYXNzIE5NVE9LRU5TICNJTVBMSUVEPgorPCFBVFRMSVNUIGNvbCBzdHlsZSBDREFUQSAjSU1QTElFRD4KKzwhQVRUTElTVCBjb2wgbGFuZyBOTVRPS0VOICNJTVBMSUVEPgorPCFBVFRMSVNUIGNvbCBkaXIgKGx0ciB8IHJ0bCkgI0lNUExJRUQ+Cis8IUFUVExJU1QgY29sIHNwYW4gTk1UT0tFTiAiMSI+Cis8IUFUVExJU1QgY29sIHdpZHRoIENEQVRBICNJTVBMSUVEPgorPCFBVFRMSVNUIGNvbCBhbGlnbiAobGVmdCB8IGNlbnRlciB8IHJpZ2h0IHwganVzdGlmeSB8IGNoYXIpICNJTVBMSUVEPgorPCFBVFRMSVNUIGNvbCBjaGFyIENEQVRBICNJTVBMSUVEPgorPCFBVFRMSVNUIGNvbCBjaGFyb2ZmIENEQVRBICNJTVBMSUVEPgorPCFBVFRMSVNUIGNvbCB2YWxpZ24gKHRvcCB8IG1pZGRsZSB8IGJvdHRvbSB8IGJhc2VsaW5lKSAjSU1QTElFRD4KKzwhRUxFTUVOVCBjb2xncm91cCAoY29sKSs+Cis8IUFUVExJU1QgY29sZ3JvdXAgaWQgSUQgI0lNUExJRUQ+Cis8IUFUVExJU1QgY29sZ3JvdXAgY2xhc3MgTk1UT0tFTlMgI0lNUExJRUQ+Cis8IUFUVExJU1QgY29sZ3JvdXAgc3R5bGUgQ0RBVEEgI0lNUExJRUQ+Cis8IUFUVExJU1QgY29sZ3JvdXAgbGFuZyBOTVRPS0VOICNJTVBMSUVEPgorPCFBVFRMSVNUIGNvbGdyb3VwIGRpciAobHRyIHwgcnRsKSAjSU1QTElFRD4KKzwhQVRUTElTVCBjb2xncm91cCBhbGlnbiAobGVmdCB8IGNlbnRlciB8IHJpZ2h0IHwganVzdGlmeSB8IGNoYXIpICNJTVBMSUVEPgorPCFBVFRMSVNUIGNvbGdyb3VwIGNoYXIgQ0RBVEEgI0lNUExJRUQ+Cis8IUFUVExJU1QgY29sZ3JvdXAgY2hhcm9mZiBDREFUQSAjSU1QTElFRD4KKzwhQVRUTElTVCBjb2xncm91cCB2YWxpZ24gKHRvcCB8IG1pZGRsZSB8IGJvdHRvbSB8IGJhc2VsaW5lKSAjSU1QTElFRD4KKzwhRUxFTUVOVCB0aGVhZCAodHIpKz4KKzwhQVRUTElTVCB0aGVhZCBpZCBJRCAjSU1QTElFRD4KKzwhQVRUTElTVCB0aGVhZCBjbGFzcyBOTVRPS0VOUyAjSU1QTElFRD4KKzwhQVRUTElTVCB0aGVhZCBzdHlsZSBDREFUQSAjSU1QTElFRD4KKzwhQVRUTElTVCB0aGVhZCBsYW5nIE5NVE9LRU4gI0lNUExJRUQ+Cis8IUFUVExJU1QgdGhlYWQgZGlyIChsdHIgfCBydGwpICNJTVBMSUVEPgorPCFBVFRMSVNUIHRoZWFkIGFsaWduIChsZWZ0IHwgY2VudGVyIHwgcmlnaHQgfCBqdXN0aWZ5IHwgY2hhcikgI0lNUExJRUQ+Cis8IUFUVExJU1QgdGhlYWQgY2hhciBDREFUQSAjSU1QTElFRD4KKzwhQVRUTElTVCB0aGVhZCBjaGFyb2ZmIENEQVRBICNJTVBMSUVEPgorPCFBVFRMSVNUIHRoZWFkIHZhbGlnbiAodG9wIHwgbWlkZGxlIHwgYm90dG9tIHwgYmFzZWxpbmUpICNJTVBMSUVEPgorPCFFTEVNRU5UIHRib2R5ICh0cikrPgorPCFBVFRMSVNUIHRib2R5IGlkIElEICNJTVBMSUVEPgorPCFBVFRMSVNUIHRib2R5IGNsYXNzIE5NVE9LRU5TICNJTVBMSUVEPgorPCFBVFRMSVNUIHRib2R5IHN0eWxlIENEQVRBICNJTVBMSUVEPgorPCFBVFRMSVNUIHRib2R5IGxhbmcgTk1UT0tFTiAjSU1QTElFRD4KKzwhQVRUTElTVCB0Ym9keSBkaXIgKGx0ciB8IHJ0bCkgI0lNUExJRUQ+Cis8IUFUVExJU1QgdGJvZHkgYWxpZ24gKGxlZnQgfCBjZW50ZXIgfCByaWdodCB8IGp1c3RpZnkgfCBjaGFyKSAjSU1QTElFRD4KKzwhQVRUTElTVCB0Ym9keSBjaGFyIENEQVRBICNJTVBMSUVEPgorPCFBVFRMSVNUIHRib2R5IGNoYXJvZmYgQ0RBVEEgI0lNUExJRUQ+Cis8IUFUVExJU1QgdGJvZHkgdmFsaWduICh0b3AgfCBtaWRkbGUgfCBib3R0b20gfCBiYXNlbGluZSkgI0lNUExJRUQ+Cis8IUVMRU1FTlQgdGZvb3QgKHRyKSs+Cis8IUFUVExJU1QgdGZvb3QgaWQgSUQgI0lNUExJRUQ+Cis8IUFUVExJU1QgdGZvb3QgY2xhc3MgTk1UT0tFTlMgI0lNUExJRUQ+Cis8IUFUVExJU1QgdGZvb3Qgc3R5bGUgQ0RBVEEgI0lNUExJRUQ+Cis8IUFUVExJU1QgdGZvb3QgbGFuZyBOTVRPS0VOICNJTVBMSUVEPgorPCFBVFRMSVNUIHRmb290IGRpciAobHRyIHwgcnRsKSAjSU1QTElFRD4KKzwhQVRUTElTVCB0Zm9vdCBhbGlnbiAobGVmdCB8IGNlbnRlciB8IHJpZ2h0IHwganVzdGlmeSB8IGNoYXIpICNJTVBMSUVEPgorPCFBVFRMSVNUIHRmb290IGNoYXIgQ0RBVEEgI0lNUExJRUQ+Cis8IUFUVExJU1QgdGZvb3QgY2hhcm9mZiBDREFUQSAjSU1QTElFRD4KKzwhQVRUTElTVCB0Zm9vdCB2YWxpZ24gKHRvcCB8IG1pZGRsZSB8IGJvdHRvbSB8IGJhc2VsaW5lKSAjSU1QTElFRD4KKzwhRUxFTUVOVCB0ciAodGggfCB0ZCkrPgorPCFBVFRMSVNUIHRyIGlkIElEICNJTVBMSUVEPgorPCFBVFRMSVNUIHRyIGNsYXNzIE5NVE9LRU5TICNJTVBMSUVEPgorPCFBVFRMSVNUIHRyIHN0eWxlIENEQVRBICNJTVBMSUVEPgorPCFBVFRMSVNUIHRyIGxhbmcgTk1UT0tFTiAjSU1QTElFRD4KKzwhQVRUTElTVCB0ciBkaXIgKGx0ciB8IHJ0bCkgI0lNUExJRUQ+Cis8IUFUVExJU1QgdHIgYWxpZ24gKGxlZnQgfCBjZW50ZXIgfCByaWdodCB8IGp1c3RpZnkgfCBjaGFyKSAjSU1QTElFRD4KKzwhQVRUTElTVCB0ciBjaGFyIENEQVRBICNJTVBMSUVEPgorPCFBVFRMSVNUIHRyIGNoYXJvZmYgQ0RBVEEgI0lNUExJRUQ+Cis8IUFUVExJU1QgdHIgdmFsaWduICh0b3AgfCBtaWRkbGUgfCBib3R0b20gfCBiYXNlbGluZSkgI0lNUExJRUQ+Cis8IUVMRU1FTlQgdGggKCNQQ0RBVEEgfCBjaHJvbiB8IGNvcHlyaXRlIHwgZXZlbnQgfCBmdW5jdGlvbiB8IGxvY2F0aW9uIHwgbW9uZXkgfCBudW0gfCBvYmplY3QudGl0bGUgfCBvcmcgfCBwZXJzb24gfCBwb3N0YWRkciB8IHZpcnRsb2MgfCBhIHwgYnIgfCBlbSB8IGxhbmcgfCBwcm9ub3VuY2UgfCBxIHwgcCB8IGhsMiB8IHRhYmxlIHwgbWVkaWEgfCBvbCB8IHVsIHwgZGwgfCBicSB8IGZuIHwgbm90ZSB8IHByZSB8IGhyKSo+Cis8IUFUVExJU1QgdGggaWQgSUQgI0lNUExJRUQ+Cis8IUFUVExJU1QgdGggY2xhc3MgTk1UT0tFTlMgI0lNUExJRUQ+Cis8IUFUVExJU1QgdGggc3R5bGUgQ0RBVEEgI0lNUExJRUQ+Cis8IUFUVExJU1QgdGggbGFuZyBOTVRPS0VOICNJTVBMSUVEPgorPCFBVFRMSVNUIHRoIGRpciAobHRyIHwgcnRsKSAjSU1QTElFRD4KKzwhQVRUTElTVCB0aCBheGlzIENEQVRBICNJTVBMSUVEPgorPCFBVFRMSVNUIHRoIGF4ZXMgQ0RBVEEgI0lNUExJRUQ+Cis8IUFUVExJU1QgdGggbm93cmFwIChub3dyYXApICNJTVBMSUVEPgorPCFBVFRMSVNUIHRoIHJvd3NwYW4gTk1UT0tFTiAiMSI+Cis8IUFUVExJU1QgdGggY29sc3BhbiBOTVRPS0VOICIxIj4KKzwhQVRUTElTVCB0aCBhbGlnbiAobGVmdCB8IGNlbnRlciB8IHJpZ2h0IHwganVzdGlmeSB8IGNoYXIpICNJTVBMSUVEPgorPCFBVFRMSVNUIHRoIGNoYXIgQ0RBVEEgI0lNUExJRUQ+Cis8IUFUVExJU1QgdGggY2hhcm9mZiBDREFUQSAjSU1QTElFRD4KKzwhQVRUTElTVCB0aCB2YWxpZ24gKHRvcCB8IG1pZGRsZSB8IGJvdHRvbSB8IGJhc2VsaW5lKSAjSU1QTElFRD4KKzwhRUxFTUVOVCB0ZCAoI1BDREFUQSB8IGNocm9uIHwgY29weXJpdGUgfCBldmVudCB8IGZ1bmN0aW9uIHwgbG9jYXRpb24gfCBtb25leSB8IG51bSB8IG9iamVjdC50aXRsZSB8IG9yZyB8IHBlcnNvbiB8IHBvc3RhZGRyIHwgdmlydGxvYyB8IGEgfCBiciB8IGVtIHwgbGFuZyB8IHByb25vdW5jZSB8IHEgfCBwIHwgaGwyIHwgdGFibGUgfCBtZWRpYSB8IG9sIHwgdWwgfCBkbCB8IGJxIHwgZm4gfCBub3RlIHwgcHJlIHwgaHIpKj4KKzwhQVRUTElTVCB0ZCBpZCBJRCAjSU1QTElFRD4KKzwhQVRUTElTVCB0ZCBjbGFzcyBOTVRPS0VOUyAjSU1QTElFRD4KKzwhQVRUTElTVCB0ZCBzdHlsZSBDREFUQSAjSU1QTElFRD4KKzwhQVRUTElTVCB0ZCBsYW5nIE5NVE9LRU4gI0lNUExJRUQ+Cis8IUFUVExJU1QgdGQgZGlyIChsdHIgfCBydGwpICNJTVBMSUVEPgorPCFBVFRMSVNUIHRkIGF4aXMgQ0RBVEEgI0lNUExJRUQ+Cis8IUFUVExJU1QgdGQgYXhlcyBDREFUQSAjSU1QTElFRD4KKzwhQVRUTElTVCB0ZCBub3dyYXAgKG5vd3JhcCkgI0lNUExJRUQ+Cis8IUFUVExJU1QgdGQgcm93c3BhbiBOTVRPS0VOICIxIj4KKzwhQVRUTElTVCB0ZCBjb2xzcGFuIE5NVE9LRU4gIjEiPgorPCFBVFRMSVNUIHRkIGFsaWduIChsZWZ0IHwgY2VudGVyIHwgcmlnaHQgfCBqdXN0aWZ5IHwgY2hhcikgI0lNUExJRUQ+Cis8IUFUVExJU1QgdGQgY2hhciBDREFUQSAjSU1QTElFRD4KKzwhQVRUTElTVCB0ZCBjaGFyb2ZmIENEQVRBICNJTVBMSUVEPgorPCFBVFRMSVNUIHRkIHZhbGlnbiAodG9wIHwgbWlkZGxlIHwgYm90dG9tIHwgYmFzZWxpbmUpICNJTVBMSUVEPgorPCFFTEVNRU5UIGNocm9uICgjUENEQVRBKT4KKzwhQVRUTElTVCBjaHJvbiBpZCBJRCAjSU1QTElFRD4KKzwhQVRUTElTVCBjaHJvbiBub3JtIENEQVRBICNJTVBMSUVEPgorPCFFTEVNRU5UIGV2ZW50ICgjUENEQVRBIHwgYWx0LWNvZGUpKj4KKzwhQVRUTElTVCBldmVudCBpZCBJRCAjSU1QTElFRD4KKzwhQVRUTElTVCBldmVudCBzdGFydC1kYXRlIENEQVRBICNJTVBMSUVEPgorPCFBVFRMSVNUIGV2ZW50IGVuZC1kYXRlIENEQVRBICNJTVBMSUVEPgorPCFBVFRMSVNUIGV2ZW50IGlkc3JjIENEQVRBICNSRVFVSVJFRD4KKzwhQVRUTElTVCBldmVudCB2YWx1ZSBDREFUQSAjUkVRVUlSRUQ+Cis8IUVMRU1FTlQgZnVuY3Rpb24gKCNQQ0RBVEEgfCBhbHQtY29kZSkqPgorPCFBVFRMSVNUIGZ1bmN0aW9uIGlkIElEICNJTVBMSUVEPgorPCFBVFRMSVNUIGZ1bmN0aW9uIGlkc3JjIENEQVRBICNSRVFVSVJFRD4KKzwhQVRUTElTVCBmdW5jdGlvbiB2YWx1ZSBDREFUQSAjUkVRVUlSRUQ+Cis8IUVMRU1FTlQgbG9jYXRpb24gKCNQQ0RBVEEgfCBzdWJsb2NhdGlvbiB8IGNpdHkgfCBzdGF0ZSB8IHJlZ2lvbiB8IGNvdW50cnkgfCBhbHQtY29kZSkqPgorPCFBVFRMSVNUIGxvY2F0aW9uIGlkIElEICNJTVBMSUVEPgorPCFBVFRMSVNUIGxvY2F0aW9uIGxvY2F0aW9uLWNvZGUgQ0RBVEEgI0lNUExJRUQ+Cis8IUFUVExJU1QgbG9jYXRpb24gY29kZS1zb3VyY2UgQ0RBVEEgI0lNUExJRUQ+Cis8IUVMRU1FTlQgc3VibG9jYXRpb24gKCNQQ0RBVEEgfCBhbHQtY29kZSkqPgorPCFBVFRMSVNUIHN1YmxvY2F0aW9uIGlkIElEICNJTVBMSUVEPgorPCFBVFRMSVNUIHN1YmxvY2F0aW9uIGxvY2F0aW9uLWNvZGUgQ0RBVEEgI0lNUExJRUQ+Cis8IUFUVExJU1Qgc3VibG9jYXRpb24gY29kZS1zb3VyY2UgQ0RBVEEgI0lNUExJRUQ+Cis8IUVMRU1FTlQgY2l0eSAoI1BDREFUQSB8IGFsdC1jb2RlKSo+Cis8IUFUVExJU1QgY2l0eSBpZCBJRCAjSU1QTElFRD4KKzwhQVRUTElTVCBjaXR5IGNpdHktY29kZSBDREFUQSAjSU1QTElFRD4KKzwhQVRUTElTVCBjaXR5IGNvZGUtc291cmNlIENEQVRBICNJTVBMSUVEPgorPCFFTEVNRU5UIHN0YXRlICgjUENEQVRBIHwgYWx0LWNvZGUpKj4KKzwhQVRUTElTVCBzdGF0ZSBpZCBJRCAjSU1QTElFRD4KKzwhQVRUTElTVCBzdGF0ZSBzdGF0ZS1jb2RlIENEQVRBICNJTVBMSUVEPgorPCFBVFRMSVNUIHN0YXRlIGNvZGUtc291cmNlIENEQVRBICNJTVBMSUVEPgorPCFFTEVNRU5UIHJlZ2lvbiAoI1BDREFUQSB8IGFsdC1jb2RlKSo+Cis8IUFUVExJU1QgcmVnaW9uIGlkIElEICNJTVBMSUVEPgorPCFBVFRMSVNUIHJlZ2lvbiByZWdpb24tY29kZSBDREFUQSAjSU1QTElFRD4KKzwhQVRUTElTVCByZWdpb24gY29kZS1zb3VyY2UgQ0RBVEEgI0lNUExJRUQ+Cis8IUVMRU1FTlQgY291bnRyeSAoI1BDREFUQSB8IGFsdC1jb2RlKSo+Cis8IUFUVExJU1QgY291bnRyeSBpZCBJRCAjSU1QTElFRD4KKzwhQVRUTElTVCBjb3VudHJ5IGlzby1jYyBDREFUQSAjSU1QTElFRD4KKzwhRUxFTUVOVCBtb25leSAoI1BDREFUQSk+Cis8IUFUVExJU1QgbW9uZXkgaWQgSUQgI0lNUExJRUQ+Cis8IUFUVExJU1QgbW9uZXkgdW5pdCBDREFUQSAjSU1QTElFRD4KKzwhQVRUTElTVCBtb25leSBkYXRlIENEQVRBICNJTVBMSUVEPgorPCFFTEVNRU5UIG51bSAoI1BDREFUQSB8IGZyYWMgfCBzdWIgfCBzdXApKj4KKzwhQVRUTElTVCBudW0gaWQgSUQgI0lNUExJRUQ+Cis8IUFUVExJU1QgbnVtIHVuaXRzIENEQVRBICNJTVBMSUVEPgorPCFBVFRMSVNUIG51bSBkZWNpbWFsLWNoIENEQVRBICNJTVBMSUVEPgorPCFBVFRMSVNUIG51bSB0aG91c2FuZHMtY2ggQ0RBVEEgI0lNUExJRUQ+Cis8IUVMRU1FTlQgZnJhYyAobnVtZXIgLCBmcmFjLXNlcD8gLCBkZW5vbSk+Cis8IUFUVExJU1QgZnJhYyBpZCBJRCAjSU1QTElFRD4KKzwhRUxFTUVOVCBudW1lciAoI1BDREFUQSk+Cis8IUFUVExJU1QgbnVtZXIgaWQgSUQgI0lNUExJRUQ+Cis8IUVMRU1FTlQgZnJhYy1zZXAgKCNQQ0RBVEEpPgorPCFBVFRMSVNUIGZyYWMtc2VwIGlkIElEICNJTVBMSUVEPgorPCFFTEVNRU5UIGRlbm9tICgjUENEQVRBKT4KKzwhQVRUTElTVCBkZW5vbSBpZCBJRCAjSU1QTElFRD4KKzwhRUxFTUVOVCBzdWIgKCNQQ0RBVEEpPgorPCFBVFRMSVNUIHN1YiBpZCBJRCAjSU1QTElFRD4KKzwhQVRUTElTVCBzdWIgY2xhc3MgTk1UT0tFTlMgI0lNUExJRUQ+Cis8IUFUVExJU1Qgc3ViIHN0eWxlIENEQVRBICNJTVBMSUVEPgorPCFBVFRMSVNUIHN1YiBsYW5nIE5NVE9LRU4gI0lNUExJRUQ+Cis8IUFUVExJU1Qgc3ViIGRpciAobHRyIHwgcnRsKSAjSU1QTElFRD4KKzwhRUxFTUVOVCBzdXAgKCNQQ0RBVEEpPgorPCFBVFRMSVNUIHN1cCBpZCBJRCAjSU1QTElFRD4KKzwhQVRUTElTVCBzdXAgY2xhc3MgTk1UT0tFTlMgI0lNUExJRUQ+Cis8IUFUVExJU1Qgc3VwIHN0eWxlIENEQVRBICNJTVBMSUVEPgorPCFBVFRMSVNUIHN1cCBsYW5nIE5NVE9LRU4gI0lNUExJRUQ+Cis8IUFUVExJU1Qgc3VwIGRpciAobHRyIHwgcnRsKSAjSU1QTElFRD4KKzwhRUxFTUVOVCBvYmplY3QudGl0bGUgKCNQQ0RBVEEgfCBhbHQtY29kZSkqPgorPCFBVFRMSVNUIG9iamVjdC50aXRsZSBpZCBJRCAjSU1QTElFRD4KKzwhQVRUTElTVCBvYmplY3QudGl0bGUgY2xhc3MgTk1UT0tFTlMgI0lNUExJRUQ+Cis8IUFUVExJU1Qgb2JqZWN0LnRpdGxlIHN0eWxlIENEQVRBICNJTVBMSUVEPgorPCFBVFRMSVNUIG9iamVjdC50aXRsZSBsYW5nIE5NVE9LRU4gI0lNUExJRUQ+Cis8IUFUVExJU1Qgb2JqZWN0LnRpdGxlIGRpciAobHRyIHwgcnRsKSAjSU1QTElFRD4KKzwhQVRUTElTVCBvYmplY3QudGl0bGUgaWRzcmMgQ0RBVEEgI1JFUVVJUkVEPgorPCFBVFRMSVNUIG9iamVjdC50aXRsZSB2YWx1ZSBDREFUQSAjUkVRVUlSRUQ+Cis8IUVMRU1FTlQgb3JnICgjUENEQVRBIHwgYWx0LWNvZGUpKj4KKzwhQVRUTElTVCBvcmcgaWQgSUQgI0lNUExJRUQ+Cis8IUFUVExJU1Qgb3JnIGlkc3JjIENEQVRBICNSRVFVSVJFRD4KKzwhQVRUTElTVCBvcmcgdmFsdWUgQ0RBVEEgI1JFUVVJUkVEPgorPCFFTEVNRU5UIGFsdC1jb2RlIEVNUFRZPgorPCFBVFRMSVNUIGFsdC1jb2RlIGlkIElEICNJTVBMSUVEPgorPCFBVFRMSVNUIGFsdC1jb2RlIGlkc3JjIENEQVRBICNSRVFVSVJFRD4KKzwhQVRUTElTVCBhbHQtY29kZSB2YWx1ZSBDREFUQSAjUkVRVUlSRUQ+Cis8IUVMRU1FTlQgcGVyc29uICgjUENEQVRBIHwgbmFtZS5naXZlbiB8IG5hbWUuZmFtaWx5IHwgZnVuY3Rpb24gfCBhbHQtY29kZSkqPgorPCFBVFRMSVNUIHBlcnNvbiBpZCBJRCAjSU1QTElFRD4KKzwhQVRUTElTVCBwZXJzb24gaWRzcmMgQ0RBVEEgI1JFUVVJUkVEPgorPCFBVFRMSVNUIHBlcnNvbiB2YWx1ZSBDREFUQSAjUkVRVUlSRUQ+Cis8IUVMRU1FTlQgbmFtZS5naXZlbiAoI1BDREFUQSk+Cis8IUFUVExJU1QgbmFtZS5naXZlbiBpZCBJRCAjSU1QTElFRD4KKzwhRUxFTUVOVCBuYW1lLmZhbWlseSAoI1BDREFUQSk+Cis8IUFUVExJU1QgbmFtZS5mYW1pbHkgaWQgSUQgI0lNUExJRUQ+Cis8IUVMRU1FTlQgcG9zdGFkZHIgKGFkZHJlc3NlZSAsIGRlbGl2ZXJ5LnBvaW50PyAsIChwb3N0Y29kZSB8IGRlbGl2ZXJ5Lm9mZmljZSB8IHJlZ2lvbiB8IGNvdW50cnkpKik+Cis8IUFUVExJU1QgcG9zdGFkZHIgaWQgSUQgI0lNUExJRUQ+Cis8IUVMRU1FTlQgdmlydGxvYyAoI1BDREFUQSB8IGFsdC1jb2RlKSo+Cis8IUFUVExJU1QgdmlydGxvYyBpZCBJRCAjSU1QTElFRD4KKzwhQVRUTElTVCB2aXJ0bG9jIGlkc3JjIENEQVRBICNSRVFVSVJFRD4KKzwhQVRUTElTVCB2aXJ0bG9jIHZhbHVlIENEQVRBICNSRVFVSVJFRD4KKzwhRUxFTUVOVCBhICgjUENEQVRBIHwgY2hyb24gfCBjb3B5cml0ZSB8IGV2ZW50IHwgZnVuY3Rpb24gfCBsb2NhdGlvbiB8IG1vbmV5IHwgbnVtIHwgb2JqZWN0LnRpdGxlIHwgb3JnIHwgcGVyc29uIHwgcG9zdGFkZHIgfCB2aXJ0bG9jIHwgYSB8IGJyIHwgZW0gfCBsYW5nIHwgcHJvbm91bmNlIHwgcSkqPgorPCFBVFRMSVNUIGEgaWQgSUQgI0lNUExJRUQ+Cis8IUFUVExJU1QgYSBjbGFzcyBOTVRPS0VOUyAjSU1QTElFRD4KKzwhQVRUTElTVCBhIHN0eWxlIENEQVRBICNJTVBMSUVEPgorPCFBVFRMSVNUIGEgbGFuZyBOTVRPS0VOICNJTVBMSUVEPgorPCFBVFRMSVNUIGEgZGlyIChsdHIgfCBydGwpICNJTVBMSUVEPgorPCFBVFRMSVNUIGEgaHJlZiBDREFUQSAjSU1QTElFRD4KKzwhQVRUTElTVCBhIG5hbWUgQ0RBVEEgI0lNUExJRUQ+Cis8IUFUVExJU1QgYSBtZCBDREFUQSAjSU1QTElFRD4KKzwhQVRUTElTVCBhIHJlbCBOTVRPS0VOICNJTVBMSUVEPgorPCFBVFRMSVNUIGEgcmV2IE5NVE9LRU4gI0lNUExJRUQ+Cis8IUFUVExJU1QgYSB0aXRsZSBDREFUQSAjSU1QTElFRD4KKzwhQVRUTElTVCBhIG1ldGhvZHMgTk1UT0tFTlMgI0lNUExJRUQ+Cis8IUVMRU1FTlQgYnIgRU1QVFk+Cis8IUFUVExJU1QgYnIgaWQgSUQgI0lNUExJRUQ+Cis8IUVMRU1FTlQgZW0gKCNQQ0RBVEEgfCBjaHJvbiB8IGNvcHlyaXRlIHwgZXZlbnQgfCBmdW5jdGlvbiB8IGxvY2F0aW9uIHwgbW9uZXkgfCBudW0gfCBvYmplY3QudGl0bGUgfCBvcmcgfCBwZXJzb24gfCBwb3N0YWRkciB8IHZpcnRsb2MgfCBhIHwgYnIgfCBlbSB8IGxhbmcgfCBwcm9ub3VuY2UgfCBxKSo+Cis8IUFUVExJU1QgZW0gaWQgSUQgI0lNUExJRUQ+Cis8IUFUVExJU1QgZW0gY2xhc3MgTk1UT0tFTlMgI0lNUExJRUQ+Cis8IUFUVExJU1QgZW0gc3R5bGUgQ0RBVEEgI0lNUExJRUQ+Cis8IUFUVExJU1QgZW0gbGFuZyBOTVRPS0VOICNJTVBMSUVEPgorPCFBVFRMSVNUIGVtIGRpciAobHRyIHwgcnRsKSAjSU1QTElFRD4KKzwhRUxFTUVOVCBsYW5nICgjUENEQVRBIHwgY2hyb24gfCBjb3B5cml0ZSB8IGV2ZW50IHwgZnVuY3Rpb24gfCBsb2NhdGlvbiB8IG1vbmV5IHwgbnVtIHwgb2JqZWN0LnRpdGxlIHwgb3JnIHwgcGVyc29uIHwgcG9zdGFkZHIgfCB2aXJ0bG9jIHwgYSB8IGJyIHwgZW0gfCBsYW5nIHwgcHJvbm91bmNlIHwgcSkqPgorPCFBVFRMSVNUIGxhbmcgaWQgSUQgI0lNUExJRUQ+Cis8IUFUVExJU1QgbGFuZyBjbGFzcyBOTVRPS0VOUyAjSU1QTElFRD4KKzwhQVRUTElTVCBsYW5nIHN0eWxlIENEQVRBICNJTVBMSUVEPgorPCFBVFRMSVNUIGxhbmcgbGFuZyBOTVRPS0VOICNJTVBMSUVEPgorPCFBVFRMSVNUIGxhbmcgZGlyIChsdHIgfCBydGwpICNJTVBMSUVEPgorPCFFTEVNRU5UIHByb25vdW5jZSAoI1BDREFUQSB8IGNocm9uIHwgY29weXJpdGUgfCBldmVudCB8IGZ1bmN0aW9uIHwgbG9jYXRpb24gfCBtb25leSB8IG51bSB8IG9iamVjdC50aXRsZSB8IG9yZyB8IHBlcnNvbiB8IHBvc3RhZGRyIHwgdmlydGxvYyB8IGEgfCBiciB8IGVtIHwgbGFuZyB8IHByb25vdW5jZSB8IHEpKj4KKzwhQVRUTElTVCBwcm9ub3VuY2UgaWQgSUQgI0lNUExJRUQ+Cis8IUFUVExJU1QgcHJvbm91bmNlIGd1aWRlIENEQVRBICNJTVBMSUVEPgorPCFBVFRMSVNUIHByb25vdW5jZSBwaG9uZXRpYyBDREFUQSAjSU1QTElFRD4KKzwhRUxFTUVOVCBxICgjUENEQVRBIHwgY2hyb24gfCBjb3B5cml0ZSB8IGV2ZW50IHwgZnVuY3Rpb24gfCBsb2NhdGlvbiB8IG1vbmV5IHwgbnVtIHwgb2JqZWN0LnRpdGxlIHwgb3JnIHwgcGVyc29uIHwgcG9zdGFkZHIgfCB2aXJ0bG9jIHwgYSB8IGJyIHwgZW0gfCBsYW5nIHwgcHJvbm91bmNlIHwgcSkqPgorPCFBVFRMSVNUIHEgaWQgSUQgI0lNUExJRUQ+Cis8IUFUVExJU1QgcSBjbGFzcyBOTVRPS0VOUyAjSU1QTElFRD4KKzwhQVRUTElTVCBxIHN0eWxlIENEQVRBICNJTVBMSUVEPgorPCFBVFRMSVNUIHEgbGFuZyBOTVRPS0VOICNJTVBMSUVEPgorPCFBVFRMSVNUIHEgZGlyIChsdHIgfCBydGwpICNJTVBMSUVEPgorPCFBVFRMSVNUIHEgcXVvdGUtc291cmNlIENEQVRBICNJTVBMSUVEPgorPCFFTEVNRU5UIGFkZHJlc3NlZSAocGVyc29uICwgZnVuY3Rpb24/ICwgY2FyZS5vZj8pPgorPCFBVFRMSVNUIGFkZHJlc3NlZSBpZCBJRCAjSU1QTElFRD4KKzwhRUxFTUVOVCBjYXJlLm9mICgjUENEQVRBKT4KKzwhQVRUTElTVCBjYXJlLm9mIGlkIElEICNJTVBMSUVEPgorPCFFTEVNRU5UIGRlbGl2ZXJ5LnBvaW50ICgjUENEQVRBIHwgYnIpKj4KKzwhQVRUTElTVCBkZWxpdmVyeS5wb2ludCBpZCBJRCAjSU1QTElFRD4KKzwhQVRUTElTVCBkZWxpdmVyeS5wb2ludCBwb2ludC1jb2RlIENEQVRBICNJTVBMSUVEPgorPCFBVFRMSVNUIGRlbGl2ZXJ5LnBvaW50IGNvZGUtc291cmNlIENEQVRBICNJTVBMSUVEPgorPCFFTEVNRU5UIHBvc3Rjb2RlICgjUENEQVRBKT4KKzwhQVRUTElTVCBwb3N0Y29kZSBpZCBJRCAjSU1QTElFRD4KKzwhQVRUTElTVCBwb3N0Y29kZSBjb2RlLXNvdXJjZSBDREFUQSAjSU1QTElFRD4KKzwhRUxFTUVOVCBkZWxpdmVyeS5vZmZpY2UgKCNQQ0RBVEEgfCBicikqPgorPCFBVFRMSVNUIGRlbGl2ZXJ5Lm9mZmljZSBpZCBJRCAjSU1QTElFRD4KKzwhQVRUTElTVCBkZWxpdmVyeS5vZmZpY2Ugb2ZmaWNlLWNvZGUgQ0RBVEEgI0lNUExJRUQ+Cis8IUFUVExJU1QgZGVsaXZlcnkub2ZmaWNlIGNvZGUtc291cmNlIENEQVRBICNJTVBMSUVEPgorPCFFTEVNRU5UIGJvZHkuZW5kICh0YWdsaW5lPyAsIGJpYmxpb2dyYXBoeT8pPgorPCFBVFRMSVNUIGJvZHkuZW5kIGlkIElEICNJTVBMSUVEPgorPCFFTEVNRU5UIHRhZ2xpbmUgKCNQQ0RBVEEgfCBjaHJvbiB8IGNvcHlyaXRlIHwgZXZlbnQgfCBmdW5jdGlvbiB8IGxvY2F0aW9uIHwgbW9uZXkgfCBudW0gfCBvYmplY3QudGl0bGUgfCBvcmcgfCBwZXJzb24gfCBwb3N0YWRkciB8IHZpcnRsb2MgfCBhIHwgYnIgfCBlbSB8IGxhbmcgfCBwcm9ub3VuY2UgfCBxKSo+Cis8IUFUVExJU1QgdGFnbGluZSBpZCBJRCAjSU1QTElFRD4KKzwhQVRUTElTVCB0YWdsaW5lIHR5cGUgKHN0ZCB8IHBhIHwgbnBhKSAic3RkIj4KKzwhRUxFTUVOVCBiaWJsaW9ncmFwaHkgKCNQQ0RBVEEpPgorPCFBVFRMSVNUIGJpYmxpb2dyYXBoeSBpZCBJRCAjSU1QTElFRD4KK10+Cis8TmV3c01MPgorICA8Q2F0YWxvZyBIcmVmPSJodHRwOi8vd3d3LmFmcC5jb20vZHRkL0FGUENhdGFsb2cueG1sIi8+CisgIDxOZXdzRW52ZWxvcGU+CisgICAgPERhdGVBbmRUaW1lPjIwMDExMDIyVDE1NDUwOFo8L0RhdGVBbmRUaW1lPgorICA8L05ld3NFbnZlbG9wZT4KKyAgPE5ld3NJdGVtPgorICAgIDxJZGVudGlmaWNhdGlvbj4KKyAgICAgIDxOZXdzSWRlbnRpZmllcj4KKyAgICAgICAgPFByb3ZpZGVySWQ+YWZwLmNvbTwvUHJvdmlkZXJJZD4KKyAgICAgICAgPERhdGVJZD4yMDAxMTAyMjwvRGF0ZUlkPgorICAgICAgICA8TmV3c0l0ZW1JZD5tbWQtLWRldXRzY2gtLWpvdXJuYWwtLXNwbzwvTmV3c0l0ZW1JZD4KKyAgICAgICAgPFJldmlzaW9uSWQgUHJldmlvdXNSZXZpc2lvbj0iMCIgVXBkYXRlPSJOIj4xPC9SZXZpc2lvbklkPgorICAgICAgICA8UHVibGljSWRlbnRpZmllcj51cm46TmV3c01MOmFmcC5jb206MjAwMTEwMjI6bW1kLS1kZXV0c2NoLS1qb3VybmFsLS1zcG86MTwvUHVibGljSWRlbnRpZmllcj4KKyAgICAgIDwvTmV3c0lkZW50aWZpZXI+CisgICAgICA8TmFtZUxhYmVsPkhJTlRFUkdSVU5EPC9OYW1lTGFiZWw+CisgICAgPC9JZGVudGlmaWNhdGlvbj4KKyAgICA8TmV3c01hbmFnZW1lbnQ+CisgICAgICA8TmV3c0l0ZW1UeXBlIEZvcm1hbE5hbWU9Ik5ld3MiLz4KKyAgICAgIDxGaXJzdENyZWF0ZWQ+MjAwMTEwMjJUMTU0NTA4WjwvRmlyc3RDcmVhdGVkPgorICAgICAgPFRoaXNSZXZpc2lvbkNyZWF0ZWQ+MjAwMTEwMjJUMTU0NTA4WjwvVGhpc1JldmlzaW9uQ3JlYXRlZD4KKyAgICAgIDxTdGF0dXMgRm9ybWFsTmFtZT0iVXNhYmxlIi8+CisgICAgPC9OZXdzTWFuYWdlbWVudD4KKyAgICA8TmV3c0NvbXBvbmVudD4KKyAgICAgIDxBZG1pbmlzdHJhdGl2ZU1ldGFkYXRhPgorICAgICAgICA8UHJvdmlkZXI+CisgICAgICAgICAgPFBhcnR5IEZvcm1hbE5hbWU9IkFGUCIvPgorICAgICAgICA8L1Byb3ZpZGVyPgorICAgICAgPC9BZG1pbmlzdHJhdGl2ZU1ldGFkYXRhPgorICAgICAgPERlc2NyaXB0aXZlTWV0YWRhdGE+CisgICAgICAgIDxMYW5ndWFnZSBGb3JtYWxOYW1lPSJkZSIvPiAKKyAgICAgIDwvRGVzY3JpcHRpdmVNZXRhZGF0YT4KKyAgICAgIDxOZXdzQ29tcG9uZW50PgorICAgICAgICA8TmV3c0xpbmVzPgorICAgICAgICAgIDxIZWFkTGluZT5CZXJsaW5lciBTUEQgZvxocnQgR2VzcHLkY2hlIG1pdCBGRFAgdW5kIEdy/G5lbjwvSGVhZExpbmU+CisgICAgICAgIDwvTmV3c0xpbmVzPgorICAgICAgICA8TmV3c0l0ZW1SZWYgTmV3c0l0ZW09IjAxMTAyMjE1NDQ1MC5zcTgwYnA5aC54bWwiLz4KKyAgICAgIDwvTmV3c0NvbXBvbmVudD4KKyAgICAgIDxOZXdzQ29tcG9uZW50PgorICAgICAgICA8TmV3c0xpbmVzPgorICAgICAgICAgIDxIZWFkTGluZT5JTkZPR1JBRklLOiBEYXMgQmVybGluZXIgV2FobGVyZ2VibmlzPC9IZWFkTGluZT4KKyAgICAgICAgPC9OZXdzTGluZXM+CisgICAgICAgIDxOZXdzSXRlbVJlZiBOZXdzSXRlbT0iMDExMDIyMTEzMDMyLnJlbW8wMG03LnhtbCIvPgorICAgICAgPC9OZXdzQ29tcG9uZW50PgorICAgICAgPE5ld3NDb21wb25lbnQ+CisgICAgICAgIDxOZXdzTGluZXM+CisgICAgICAgICAgPEhlYWRMaW5lPlNjaHdpZXJpZ2UgS29hbGl0aW9uc3ZlcmhhbmRsdW5nZW4gaW4gQmVybGluPC9IZWFkTGluZT4KKyAgICAgICAgPC9OZXdzTGluZXM+CisgICAgICAgIDxOZXdzSXRlbVJlZiBOZXdzSXRlbT0iMDExMDIyMTI0MzE0LjlodjJrb3prLnhtbCIvPgorICAgICAgPC9OZXdzQ29tcG9uZW50PgorICAgICAgPE5ld3NDb21wb25lbnQ+CisgICAgICAgIDxOZXdzTGluZXM+CisgICAgICAgICAgPEhlYWRMaW5lPkRpZSBMaWVibGluZ3NmYXJiZW4gZGVzIEthbnpsZXJzIHNpbmQgUm90IEdlbGIgR3L8bjwvSGVhZExpbmU+CisgICAgICAgIDwvTmV3c0xpbmVzPgorICAgICAgICA8TmV3c0l0ZW1SZWYgTmV3c0l0ZW09IjAxMTAyMjEzNDU0MS5jbW1hb2ltNy54bWwiLz4KKyAgICAgIDwvTmV3c0NvbXBvbmVudD4KKyAgICAgIDxOZXdzQ29tcG9uZW50PgorICAgICAgICA8TmV3c0xpbmVzPgorICAgICAgICAgIDxIZWFkTGluZT5JTkZPR1JBRklLOiBXZW4gd+RobHQgV293ZXJlaXQ/PC9IZWFkTGluZT4KKyAgICAgICAgPC9OZXdzTGluZXM+CisgICAgICAgIDxOZXdzSXRlbVJlZiBOZXdzSXRlbT0iMDExMDIyMTIyNTQ1LmhsM3oyYXM2LnhtbCIvPgorICAgICAgPC9OZXdzQ29tcG9uZW50PgorICAgICAgPE5ld3NDb21wb25lbnQ+CisgICAgICAgIDxOZXdzTGluZXM+CisgICAgICAgICAgPEhlYWRMaW5lPkNEVSBpc3QgYXVjaCBpbiBrb21tdW5hbGVuIFJhdGjkdXNlcm4gZGVyIFZlcmxpZXJlcjwvSGVhZExpbmU+CisgICAgICAgIDwvTmV3c0xpbmVzPgorICAgICAgICA8TmV3c0l0ZW1SZWYgTmV3c0l0ZW09IjAxMTAyMjEyMDIwNS5iOHN5a2Z2dS54bWwiLz4KKyAgICAgIDwvTmV3c0NvbXBvbmVudD4KKyAgICAgIDxOZXdzQ29tcG9uZW50PgorICAgICAgICA8TmV3c0xpbmVzPgorICAgICAgICAgIDxIZWFkTGluZT5HdXRlcyBBYnNjaG5laWRlbiBkZXIgUERTIGhhdCB2ZXJzY2hpZWRlbmUgR3L8bmRlPC9IZWFkTGluZT4KKyAgICAgICAgPC9OZXdzTGluZXM+CisgICAgICAgIDxOZXdzSXRlbVJlZiBOZXdzSXRlbT0iMDExMDIyMTM0MTU5LmFndm5lMDQ4LnhtbCIvPgorICAgICAgPC9OZXdzQ29tcG9uZW50PgorICAgICAgPE5ld3NDb21wb25lbnQ+CisgICAgICAgIDxOZXdzTGluZXM+CisgICAgICAgICAgPEhlYWRMaW5lPkFucyBSZWdpZXJlbiBoYXQgc2ljaCBLbGF1cyBXb3dlcmVpdCBnZXf2aG50PC9IZWFkTGluZT4KKyAgICAgICAgPC9OZXdzTGluZXM+CisgICAgICAgIDxOZXdzSXRlbVJlZiBOZXdzSXRlbT0iMDExMDIxMTYxMDMxLjFvcTdxeXViLnhtbCIvPgorICAgICAgPC9OZXdzQ29tcG9uZW50PgorICAgICAgPE5ld3NDb21wb25lbnQ+CisgICAgICAgIDxOZXdzTGluZXM+CisgICAgICAgICAgPEhlYWRMaW5lPlN0ZWZmZWwgYnJhY2h0ZSBDRFUgbmljaHQgYXVmIEVyZm9sZ3NrdXJzPC9IZWFkTGluZT4KKyAgICAgICAgPC9OZXdzTGluZXM+CisgICAgICAgIDxOZXdzSXRlbVJlZiBOZXdzSXRlbT0iMDExMDIxMTY1MDA3Lmt0OXFvZzltLnhtbCIvPgorICAgICAgPC9OZXdzQ29tcG9uZW50PgorICAgICAgPE5ld3NDb21wb25lbnQ+CisgICAgICAgIDxOZXdzTGluZXM+CisgICAgICAgICAgPEhlYWRMaW5lPlNpYnlsbCBLbG90ejogVm9sbGJsdXRwb2xpdGlrZXJpbiBtaXQgIkJlcmxpbmVyIFNjaG5hdXplIjwvSGVhZExpbmU+CisgICAgICAgIDwvTmV3c0xpbmVzPgorICAgICAgICA8TmV3c0l0ZW1SZWYgTmV3c0l0ZW09IjAxMTAyMTE4NDY1OC5sY3RldmVzdC54bWwiLz4KKyAgICAgIDwvTmV3c0NvbXBvbmVudD4KKyAgICAgIDxOZXdzQ29tcG9uZW50PgorICAgICAgICA8TmV3c0xpbmVzPgorICAgICAgICAgIDxIZWFkTGluZT5NaXQgR3lzaSBtdXNzIHdlaXRlciBnZXJlY2huZXQgd2VyZGVuPC9IZWFkTGluZT4KKyAgICAgICAgPC9OZXdzTGluZXM+CisgICAgICAgIDxOZXdzSXRlbVJlZiBOZXdzSXRlbT0iMDExMDIxMTgwNDQxLjZ0cHZneDB5LnhtbCIvPgorICAgICAgPC9OZXdzQ29tcG9uZW50PgorICAgICAgPE5ld3NDb21wb25lbnQ+CisgICAgICAgIDxOZXdzTGluZXM+CisgICAgICAgICAgPEhlYWRMaW5lPlJleHJvZHQgLSBkYXMgU3RlaGF1Zm3kbm5jaGVuIGRlciBCZXJsaW5lciBGRFA8L0hlYWRMaW5lPgorICAgICAgICA8L05ld3NMaW5lcz4KKyAgICAgICAgPE5ld3NJdGVtUmVmIE5ld3NJdGVtPSIwMTEwMjExNjU1NTguZ3Vqcno1OW0ueG1sIi8+CisgICAgICA8L05ld3NDb21wb25lbnQ+CisgICAgPC9OZXdzQ29tcG9uZW50PgorICA8L05ld3NJdGVtPgorPC9OZXdzTUw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC92YWxpZC9pbmRleC54bWwuZXJyIGIvbGlieG1sMi9yZXN1bHQvdmFsaWQvaW5kZXgueG1sLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvdmFsaWQvaW5kZXgueG1sLmVycgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvdmFsaWQvaW5kZXgueG1sLmVyci5yZHIgYi9saWJ4bWwyL3Jlc3VsdC92YWxpZC9pbmRleC54bWwuZXJyLnJkcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvdmFsaWQvaW5kZXgueG1sLmVyci5yZHIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL21peGVkX25zLnhtbCBiL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL21peGVkX25zLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kOGFlZGI4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvdmFsaWQvbWl4ZWRfbnMueG1sCkBAIC0wLDAgKzEsMTYgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCFET0NUWVBFIGEgWworPCFFTEVNRU5UIGEgKCNQQ0RBVEEgfCBiIHwgczpiKSo+Cis8IUFUVExJU1QgYSB4bWxuczpzIENEQVRBICNJTVBMSUVEPgorPCFFTEVNRU5UIGIgRU1QVFk+Cis8IUFUVExJU1QgYiB4bWxuczpzIENEQVRBICNJTVBMSUVEPgorPCFFTEVNRU5UIHM6YiBFTVBUWT4KKzwhQVRUTElTVCBzOmIgeG1sbnM6cyBDREFUQSAjSU1QTElFRD4KK10+Cis8YSB4bWxuczpzPSJodHRwOi8vc29tZS50ZXN0Lm5zL2EiPgorICBTb21lIHRleHQuCisJPGIvPgorICBTb21lIHRleHQuCisJPHM6Yi8+CisgIFNvbWUgdGV4dC4KKzwvYT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL21peGVkX25zLnhtbC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC92YWxpZC9taXhlZF9ucy54bWwuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC92YWxpZC9taXhlZF9ucy54bWwuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC92YWxpZC9taXhlZF9ucy54bWwuZXJyLnJkciBiL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL21peGVkX25zLnhtbC5lcnIucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC92YWxpZC9taXhlZF9ucy54bWwuZXJyLnJkcgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvdmFsaWQvbm90ZXMueG1sIGIvbGlieG1sMi9yZXN1bHQvdmFsaWQvbm90ZXMueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZhYjNhYTMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC92YWxpZC9ub3Rlcy54bWwKQEAgLTAsMCArMSwzIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPCFET0NUWVBFIG5vdGVzIFNZU1RFTSAiZHRkcy9ub3Rlcy5kdGQiPgorPHBmeDpub3RlcyB4bWxuczpwZng9Imh0dHA6Ly9uYW1lc3BhY2UvdXJpL2hlcmUiPjxub3RlLz48cGZ4Om5vdGUvPjwvcGZ4Om5vdGVzPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvdmFsaWQvbm90ZXMueG1sLmVyciBiL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL25vdGVzLnhtbC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL25vdGVzLnhtbC5lcnIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL25vdGVzLnhtbC5lcnIucmRyIGIvbGlieG1sMi9yZXN1bHQvdmFsaWQvbm90ZXMueG1sLmVyci5yZHIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL25vdGVzLnhtbC5lcnIucmRyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC92YWxpZC9ucy54bWwgYi9saWJ4bWwyL3Jlc3VsdC92YWxpZC9ucy54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGRhZGU4NgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL25zLnhtbApAQCAtMCwwICsxLDcgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCFET0NUWVBFIGE6b3V0ZXIgWworPCFFTEVNRU5UIGE6b3V0ZXIgRU1QVFk+Cis8IUFUVExJU1QgYTpvdXRlciB4bWxuczphIENEQVRBICNGSVhFRCAidXJuOm5hbWVzcGFjZSI+Cis8IUFUVExJU1QgYTpvdXRlciB4bWxuczpiIENEQVRBICNGSVhFRCAidXJuOm5hbWVzcGFjZWIiPgorXT4KKzxhOm91dGVyIHhtbG5zOmE9InVybjpuYW1lc3BhY2UiIHhtbG5zOmI9InVybjpuYW1lc3BhY2ViIi8+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC92YWxpZC9ucy54bWwuZXJyIGIvbGlieG1sMi9yZXN1bHQvdmFsaWQvbnMueG1sLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvdmFsaWQvbnMueG1sLmVycgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvdmFsaWQvbnMueG1sLmVyci5yZHIgYi9saWJ4bWwyL3Jlc3VsdC92YWxpZC9ucy54bWwuZXJyLnJkcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvdmFsaWQvbnMueG1sLmVyci5yZHIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL25zMi54bWwgYi9saWJ4bWwyL3Jlc3VsdC92YWxpZC9uczIueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE0YzMwYTgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC92YWxpZC9uczIueG1sCkBAIC0wLDAgKzEsMTEgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCFET0NUWVBFIGE6b3V0ZXIgWworPCFFTEVNRU5UIGE6b3V0ZXIgKGE6aW5uZXIpPgorPCFBVFRMSVNUIGE6b3V0ZXIgeG1sbnM6YSBDREFUQSAjRklYRUQgInVybjpuYW1lc3BhY2UiPgorPCFFTEVNRU5UIGE6aW5uZXIgRU1QVFk+Cis8IUFUVExJU1QgYTppbm5lciB4bWxuczphIENEQVRBICNGSVhFRCAidXJuOm5hbWVzcGFjZSI+Cis8IUFUVExJU1QgYTppbm5lciBhdHRyIENEQVRBICNGSVhFRCAieWVzIj4KK10+Cis8YTpvdXRlciB4bWxuczphPSJ1cm46bmFtZXNwYWNlIj4KKyAgPGE6aW5uZXIvPgorPC9hOm91dGVyPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvdmFsaWQvbnMyLnhtbC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC92YWxpZC9uczIueG1sLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvdmFsaWQvbnMyLnhtbC5lcnIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL25zMi54bWwuZXJyLnJkciBiL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL25zMi54bWwuZXJyLnJkcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvdmFsaWQvbnMyLnhtbC5lcnIucmRyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC92YWxpZC9vYmplZG5hdmthLnhtbCBiL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL29iamVkbmF2a2EueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIwZmZkOTIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC92YWxpZC9vYmplZG5hdmthLnhtbApAQCAtMCwwICsxLDM5IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCFET0NUWVBFIG9iamVkbmF2a2EgU1lTVEVNICJkdGRzL29iamVkbmF2a2EuZHRkIj4KKzxvYmplZG5hdmthPgorICAgIDxBZERvcnXEjWVuaT4KKyAgICAgICAgPEptw6lubz5KYW4gTm92w6FrPC9KbcOpbm8+CisgICAgICAgIDxVbGljZT5CxJtsZWhyYWRza8OhIDE0NzwvVWxpY2U+CisgICAgICAgIDxNxJtzdG8+UHJhaGEgMjwvTcSbc3RvPgorICAgICAgICA8UFPEjD4xMjAwMDwvUFPEjD4KKyAgICA8L0FkRG9ydcSNZW5pPgorICAgIDxBZMOaxI10b3ZhY8OtPgorICAgICAgICA8Sm3DqW5vPlBldHJhIE5vdsOha292w6E8L0ptw6lubz4KKyAgICAgICAgPFVsaWNlPkFuZ2xpY2vDoSAxNTwvVWxpY2U+CisgICAgICAgIDxNxJtzdG8+UHJhaGEgMjwvTcSbc3RvPgorICAgICAgICA8UFPEjD4xMjAwMDwvUFPEjD4KKyAgICA8L0Fkw5rEjXRvdmFjw60+CisgICAgPFpwxa9zb2JEb3ByYXZ5PkRQRDwvWnDFr3NvYkRvcHJhdnk+CisgICAgPFpwxa9zb2JQbGF0Ynk+ZG9iw61ya2E8L1pwxa9zb2JQbGF0Ynk+CisgICAgPERhdHVtUMWZaWpldMOtPjIwMDQtMTEtMTQ8L0RhdHVtUMWZaWpldMOtPgorICAgIDxEYXR1bURvcnXEjWVuw60+MjAwNC0xMS0xOTwvRGF0dW1Eb3J1xI1lbsOtPgorICAgIDxPYnNhaE9iamVkbsOhdmt5PgorICAgICAgICA8WmJvxb7DrT4KKyAgICAgICAgICAgIDxLw7NkPjJONy01MTY8L0vDs2Q+CisgICAgICAgICAgICA8TsOhemV2PlNla2HEjWthIG5hIHRyw6F2dTwvTsOhemV2PgorICAgICAgICAgICAgPFBvxI1ldCBqZWRub3RrYT0ia3MiPjE8L1BvxI1ldD4KKyAgICAgICAgICAgIDxDZW5hPjI5OTk8L0NlbmE+CisgICAgICAgICAgICA8UG9waXM+aHR0cDovL2V4YW1wbGUub3JnL3Nla2Fja2EuaHRtbDwvUG9waXM+CisgICAgICAgIDwvWmJvxb7DrT4KKyAgICAgICAgPFpib8W+w60+CisgICAgICAgICAgICA8S8OzZD5RM1ktMTE2PC9Lw7NkPgorICAgICAgICAgICAgPE7DoXpldj5UcmF2bsOtIHNlbWVubzwvTsOhemV2PgorICAgICAgICAgICAgPFBvxI1ldCBqZWRub3RrYT0ia2ciPjIuNTwvUG/EjWV0PgorICAgICAgICAgICAgPENlbmE+MTI3LjUwPC9DZW5hPgorICAgICAgICA8L1pib8W+w60+CisgICAgPC9PYnNhaE9iamVkbsOhdmt5PgorICAgIDxLb21lbnTDocWZPgorICAgICAgICA8xZjDoWRrYT5PIGRvZMOhdmt1IG3DoW0gesOhamVtIHBvdXplIHYgcMWZw61wYWTEmywgxb5lIHNlIGplZG7DoSBvIHRyw6F2dSB2IG9kcsWvZMSbIGtvbm9ww60uPC/FmMOhZGthPgorICAgICAgICA8xZjDoWRrYT5Ew6FsZSBqc2VtIHNlIGNodMSbbCB6ZXB0YXQsIHpkYSBqZSBkb3ByYXZhIHpkYXJtYS48L8WYw6Fka2E+CisgICAgPC9Lb21lbnTDocWZPgorPC9vYmplZG5hdmthPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvdmFsaWQvb2JqZWRuYXZrYS54bWwuZXJyIGIvbGlieG1sMi9yZXN1bHQvdmFsaWQvb2JqZWRuYXZrYS54bWwuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC92YWxpZC9vYmplZG5hdmthLnhtbC5lcnIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL29iamVkbmF2a2EueG1sLmVyci5yZHIgYi9saWJ4bWwyL3Jlc3VsdC92YWxpZC9vYmplZG5hdmthLnhtbC5lcnIucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC92YWxpZC9vYmplZG5hdmthLnhtbC5lcnIucmRyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC92YWxpZC9yc3MueG1sIGIvbGlieG1sMi9yZXN1bHQvdmFsaWQvcnNzLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NDJmYjgwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvdmFsaWQvcnNzLnhtbApAQCAtMCwwICsxLDE2OSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/PgorPCFET0NUWVBFIHJzcyBbCis8IS0tCisKKyAgUmljaCBTaXRlIFN1bW1hcnkgKFJTUykgMC45MSBvZmZpY2lhbCBEVEQsIHByb3Bvc2VkLgorICAKKyAgUlNTIGlzIGFuIFhNTCB2b2NhYnVsYXJ5IGZvciBkZXNjcmliaW5nCisgIG1ldGFkYXRhIGFib3V0IHdlYnNpdGVzLCBhbmQgZW5hYmxpbmcgdGhlIGRpc3BsYXkgb2YKKyAgImNoYW5uZWxzIiBvbiB0aGUgIk15IE5ldHNjYXBlIiB3ZWJzaXRlLgorICAKKyAgUlNTIEluZm8gY2FuIGJlIGZvdW5kIGF0IGh0dHA6Ly9teS5uZXRzY2FwZS5jb20vcHVibGlzaC8KKyAgWE1MIEluZm8gY2FuIGJlIGZvdW5kIGF0IGh0dHA6Ly93d3cudzMub3JnL1hNTC8gCisgIAorICBjb3B5cmlnaHQgTmV0c2NhcGUgQ29tbXVuaWNhdGlvbnMsIDE5OTkKKworICBEYW4gTGliYnkgLSBkYW5kYUBuZXRzY2FwZS5jb20KKyAgCisgIEJhc2VkIG9uIFJTUyBEVEQgb3JpZ2luYWxseSBjcmVhdGVkIGJ5CisgIExhcnMgTWFyaXVzIEdhcnNob2wgLSBsYXJzZ2FAaWZpLnVpby5uby4KKyAgCistLT48IUVMRU1FTlQgcnNzIChjaGFubmVsKT4KKzwhQVRUTElTVCByc3MgdmVyc2lvbiBDREFUQSAjUkVRVUlSRUQ+Cis8IS0tIG11c3QgYmUgIjAuOTEiPiAtLT48IUVMRU1FTlQgY2hhbm5lbCAodGl0bGUgfCBkZXNjcmlwdGlvbiB8IGxpbmsgfCBsYW5ndWFnZSB8IGl0ZW0rIHwgcmF0aW5nIHwgaW1hZ2UgfCB0ZXh0aW5wdXQgfCBjb3B5cmlnaHQgfCBwdWJEYXRlIHwgbGFzdEJ1aWxkRGF0ZSB8IGRvY3MgfCBtYW5hZ2luZ0VkaXRvciB8IHdlYk1hc3RlciB8IHNraXBIb3VycyB8IHNraXBEYXlzKSo+Cis8IUVMRU1FTlQgdGl0bGUgKCNQQ0RBVEEpPgorPCFFTEVNRU5UIGRlc2NyaXB0aW9uICgjUENEQVRBKT4KKzwhRUxFTUVOVCBsaW5rICgjUENEQVRBKT4KKzwhRUxFTUVOVCBpbWFnZSAodGl0bGUgfCB1cmwgfCBsaW5rIHwgd2lkdGggfCBoZWlnaHQgfCBkZXNjcmlwdGlvbikqPgorPCFFTEVNRU5UIHVybCAoI1BDREFUQSk+Cis8IUVMRU1FTlQgaXRlbSAodGl0bGUgfCBsaW5rIHwgZGVzY3JpcHRpb24pKj4KKzwhRUxFTUVOVCB0ZXh0aW5wdXQgKHRpdGxlIHwgZGVzY3JpcHRpb24gfCBuYW1lIHwgbGluaykqPgorPCFFTEVNRU5UIG5hbWUgKCNQQ0RBVEEpPgorPCFFTEVNRU5UIHJhdGluZyAoI1BDREFUQSk+Cis8IUVMRU1FTlQgbGFuZ3VhZ2UgKCNQQ0RBVEEpPgorPCFFTEVNRU5UIHdpZHRoICgjUENEQVRBKT4KKzwhRUxFTUVOVCBoZWlnaHQgKCNQQ0RBVEEpPgorPCFFTEVNRU5UIGNvcHlyaWdodCAoI1BDREFUQSk+Cis8IUVMRU1FTlQgcHViRGF0ZSAoI1BDREFUQSk+Cis8IUVMRU1FTlQgbGFzdEJ1aWxkRGF0ZSAoI1BDREFUQSk+Cis8IUVMRU1FTlQgZG9jcyAoI1BDREFUQSk+Cis8IUVMRU1FTlQgbWFuYWdpbmdFZGl0b3IgKCNQQ0RBVEEpPgorPCFFTEVNRU5UIHdlYk1hc3RlciAoI1BDREFUQSk+Cis8IUVMRU1FTlQgaG91ciAoI1BDREFUQSk+Cis8IUVMRU1FTlQgZGF5ICgjUENEQVRBKT4KKzwhRUxFTUVOVCBza2lwSG91cnMgKGhvdXIpKz4KKzwhRUxFTUVOVCBza2lwRGF5cyAoZGF5KSs+Cis8IS0tCisgICAgIENvcGllZCBmcm9tIEhUTUwgMy4yIERURCwgd2l0aCBtb2RpZmljYXRpb25zIChyZW1vdmVkIENEQVRBKQorICAgICBodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtaHRtbDMyLmh0bWwjZHRkCisgICAgID09PT09PT09PT09PT09PSBCRUdJTiA9PT09PT09PT09PT09PT09PT09CistLT48IS0tIAorICAgICBDaGFyYWN0ZXIgRW50aXRpZXMgZm9yIElTTyBMYXRpbi0xCisgICAgIAorICAgICAoQykgSW50ZXJuYXRpb25hbCBPcmdhbml6YXRpb24gZm9yIFN0YW5kYXJkaXphdGlvbiAxOTg2CisgICAgIFBlcm1pc3Npb24gdG8gY29weSBpbiBhbnkgZm9ybSBpcyBncmFudGVkIGZvciB1c2Ugd2l0aAorICAgICBjb25mb3JtaW5nIFNHTUwgc3lzdGVtcyBhbmQgYXBwbGljYXRpb25zIGFzIGRlZmluZWQgaW4KKyAgICAgSVNPIDg4NzksIHByb3ZpZGVkIHRoaXMgbm90aWNlIGlzIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMuCisgICAgIFRoaXMgaGFzIGJlZW4gZXh0ZW5kZWQgZm9yIHVzZSB3aXRoIEhUTUwgdG8gY292ZXIgdGhlIGZ1bGwKKyAgICAgc2V0IG9mIGNvZGVzIGluIHRoZSByYW5nZSAxNjAtMjU1IGRlY2ltYWwuCistLT48IS0tIENoYXJhY3RlciBlbnRpdHkgc2V0LiBUeXBpY2FsIGludm9jYXRpb246CisgICAgIDwhRU5USVRZICUgSVNPbGF0MSBQVUJMSUMKKyAgICAgICAiSVNPIDg4NzktMTk4Ni8vRU5USVRJRVMgQWRkZWQgTGF0aW4gMS8vRU4vL0hUTUwiPgorICAgICAlSVNPbGF0MTsKKy0tPjwhRU5USVRZIG5ic3AgIiYjMTYwOyI+Cis8IS0tIG5vLWJyZWFrIHNwYWNlIC0tPjwhRU5USVRZIGlleGNsICImIzE2MTsiPgorPCEtLSBpbnZlcnRlZCBleGNsYW1hdGlvbiBtYXJrIC0tPjwhRU5USVRZIGNlbnQgIiYjMTYyOyI+Cis8IS0tIGNlbnQgc2lnbiAtLT48IUVOVElUWSBwb3VuZCAiJiMxNjM7Ij4KKzwhLS0gcG91bmQgc3Rlcmxpbmcgc2lnbiAtLT48IUVOVElUWSBjdXJyZW4gIiYjMTY0OyI+Cis8IS0tIGdlbmVyYWwgY3VycmVuY3kgc2lnbiAtLT48IUVOVElUWSB5ZW4gIiYjMTY1OyI+Cis8IS0tIHllbiBzaWduIC0tPjwhRU5USVRZIGJydmJhciAiJiMxNjY7Ij4KKzwhLS0gYnJva2VuICh2ZXJ0aWNhbCkgYmFyIC0tPjwhRU5USVRZIHNlY3QgIiYjMTY3OyI+Cis8IS0tIHNlY3Rpb24gc2lnbiAtLT48IUVOVElUWSB1bWwgIiYjMTY4OyI+Cis8IS0tIHVtbGF1dCAoZGllcmVzaXMpIC0tPjwhRU5USVRZIGNvcHkgIiYjMTY5OyI+Cis8IS0tIGNvcHlyaWdodCBzaWduIC0tPjwhRU5USVRZIG9yZGYgIiYjMTcwOyI+Cis8IS0tIG9yZGluYWwgaW5kaWNhdG9yLCBmZW1pbmluZSAtLT48IUVOVElUWSBsYXF1byAiJiMxNzE7Ij4KKzwhLS0gYW5nbGUgcXVvdGF0aW9uIG1hcmssIGxlZnQgLS0+PCFFTlRJVFkgbm90ICImIzE3MjsiPgorPCEtLSBub3Qgc2lnbiAtLT48IUVOVElUWSBzaHkgIiYjMTczOyI+Cis8IS0tIHNvZnQgaHlwaGVuIC0tPjwhRU5USVRZIHJlZyAiJiMxNzQ7Ij4KKzwhLS0gcmVnaXN0ZXJlZCBzaWduIC0tPjwhRU5USVRZIG1hY3IgIiYjMTc1OyI+Cis8IS0tIG1hY3JvbiAtLT48IUVOVElUWSBkZWcgIiYjMTc2OyI+Cis8IS0tIGRlZ3JlZSBzaWduIC0tPjwhRU5USVRZIHBsdXNtbiAiJiMxNzc7Ij4KKzwhLS0gcGx1cy1vci1taW51cyBzaWduIC0tPjwhRU5USVRZIHN1cDIgIiYjMTc4OyI+Cis8IS0tIHN1cGVyc2NyaXB0IHR3byAtLT48IUVOVElUWSBzdXAzICImIzE3OTsiPgorPCEtLSBzdXBlcnNjcmlwdCB0aHJlZSAtLT48IUVOVElUWSBhY3V0ZSAiJiMxODA7Ij4KKzwhLS0gYWN1dGUgYWNjZW50IC0tPjwhRU5USVRZIG1pY3JvICImIzE4MTsiPgorPCEtLSBtaWNybyBzaWduIC0tPjwhRU5USVRZIHBhcmEgIiYjMTgyOyI+Cis8IS0tIHBpbGNyb3cgKHBhcmFncmFwaCBzaWduKSAtLT48IUVOVElUWSBtaWRkb3QgIiYjMTgzOyI+Cis8IS0tIG1pZGRsZSBkb3QgLS0+PCFFTlRJVFkgY2VkaWwgIiYjMTg0OyI+Cis8IS0tIGNlZGlsbGEgLS0+PCFFTlRJVFkgc3VwMSAiJiMxODU7Ij4KKzwhLS0gc3VwZXJzY3JpcHQgb25lIC0tPjwhRU5USVRZIG9yZG0gIiYjMTg2OyI+Cis8IS0tIG9yZGluYWwgaW5kaWNhdG9yLCBtYXNjdWxpbmUgLS0+PCFFTlRJVFkgcmFxdW8gIiYjMTg3OyI+Cis8IS0tIGFuZ2xlIHF1b3RhdGlvbiBtYXJrLCByaWdodCAtLT48IUVOVElUWSBmcmFjMTQgIiYjMTg4OyI+Cis8IS0tIGZyYWN0aW9uIG9uZS1xdWFydGVyIC0tPjwhRU5USVRZIGZyYWMxMiAiJiMxODk7Ij4KKzwhLS0gZnJhY3Rpb24gb25lLWhhbGYgLS0+PCFFTlRJVFkgZnJhYzM0ICImIzE5MDsiPgorPCEtLSBmcmFjdGlvbiB0aHJlZS1xdWFydGVycyAtLT48IUVOVElUWSBpcXVlc3QgIiYjMTkxOyI+Cis8IS0tIGludmVydGVkIHF1ZXN0aW9uIG1hcmsgLS0+PCFFTlRJVFkgQWdyYXZlICImIzE5MjsiPgorPCEtLSBjYXBpdGFsIEEsIGdyYXZlIGFjY2VudCAtLT48IUVOVElUWSBBYWN1dGUgIiYjMTkzOyI+Cis8IS0tIGNhcGl0YWwgQSwgYWN1dGUgYWNjZW50IC0tPjwhRU5USVRZIEFjaXJjICImIzE5NDsiPgorPCEtLSBjYXBpdGFsIEEsIGNpcmN1bWZsZXggYWNjZW50IC0tPjwhRU5USVRZIEF0aWxkZSAiJiMxOTU7Ij4KKzwhLS0gY2FwaXRhbCBBLCB0aWxkZSAtLT48IUVOVElUWSBBdW1sICImIzE5NjsiPgorPCEtLSBjYXBpdGFsIEEsIGRpZXJlc2lzIG9yIHVtbGF1dCBtYXJrIC0tPjwhRU5USVRZIEFyaW5nICImIzE5NzsiPgorPCEtLSBjYXBpdGFsIEEsIHJpbmcgLS0+PCFFTlRJVFkgQUVsaWcgIiYjMTk4OyI+Cis8IS0tIGNhcGl0YWwgQUUgZGlwaHRob25nIChsaWdhdHVyZSkgLS0+PCFFTlRJVFkgQ2NlZGlsICImIzE5OTsiPgorPCEtLSBjYXBpdGFsIEMsIGNlZGlsbGEgLS0+PCFFTlRJVFkgRWdyYXZlICImIzIwMDsiPgorPCEtLSBjYXBpdGFsIEUsIGdyYXZlIGFjY2VudCAtLT48IUVOVElUWSBFYWN1dGUgIiYjMjAxOyI+Cis8IS0tIGNhcGl0YWwgRSwgYWN1dGUgYWNjZW50IC0tPjwhRU5USVRZIEVjaXJjICImIzIwMjsiPgorPCEtLSBjYXBpdGFsIEUsIGNpcmN1bWZsZXggYWNjZW50IC0tPjwhRU5USVRZIEV1bWwgIiYjMjAzOyI+Cis8IS0tIGNhcGl0YWwgRSwgZGllcmVzaXMgb3IgdW1sYXV0IG1hcmsgLS0+PCFFTlRJVFkgSWdyYXZlICImIzIwNDsiPgorPCEtLSBjYXBpdGFsIEksIGdyYXZlIGFjY2VudCAtLT48IUVOVElUWSBJYWN1dGUgIiYjMjA1OyI+Cis8IS0tIGNhcGl0YWwgSSwgYWN1dGUgYWNjZW50IC0tPjwhRU5USVRZIEljaXJjICImIzIwNjsiPgorPCEtLSBjYXBpdGFsIEksIGNpcmN1bWZsZXggYWNjZW50IC0tPjwhRU5USVRZIEl1bWwgIiYjMjA3OyI+Cis8IS0tIGNhcGl0YWwgSSwgZGllcmVzaXMgb3IgdW1sYXV0IG1hcmsgLS0+PCFFTlRJVFkgRVRIICImIzIwODsiPgorPCEtLSBjYXBpdGFsIEV0aCwgSWNlbGFuZGljIC0tPjwhRU5USVRZIE50aWxkZSAiJiMyMDk7Ij4KKzwhLS0gY2FwaXRhbCBOLCB0aWxkZSAtLT48IUVOVElUWSBPZ3JhdmUgIiYjMjEwOyI+Cis8IS0tIGNhcGl0YWwgTywgZ3JhdmUgYWNjZW50IC0tPjwhRU5USVRZIE9hY3V0ZSAiJiMyMTE7Ij4KKzwhLS0gY2FwaXRhbCBPLCBhY3V0ZSBhY2NlbnQgLS0+PCFFTlRJVFkgT2NpcmMgIiYjMjEyOyI+Cis8IS0tIGNhcGl0YWwgTywgY2lyY3VtZmxleCBhY2NlbnQgLS0+PCFFTlRJVFkgT3RpbGRlICImIzIxMzsiPgorPCEtLSBjYXBpdGFsIE8sIHRpbGRlIC0tPjwhRU5USVRZIE91bWwgIiYjMjE0OyI+Cis8IS0tIGNhcGl0YWwgTywgZGllcmVzaXMgb3IgdW1sYXV0IG1hcmsgLS0+PCFFTlRJVFkgdGltZXMgIiYjMjE1OyI+Cis8IS0tIG11bHRpcGx5IHNpZ24gLS0+PCFFTlRJVFkgT3NsYXNoICImIzIxNjsiPgorPCEtLSBjYXBpdGFsIE8sIHNsYXNoIC0tPjwhRU5USVRZIFVncmF2ZSAiJiMyMTc7Ij4KKzwhLS0gY2FwaXRhbCBVLCBncmF2ZSBhY2NlbnQgLS0+PCFFTlRJVFkgVWFjdXRlICImIzIxODsiPgorPCEtLSBjYXBpdGFsIFUsIGFjdXRlIGFjY2VudCAtLT48IUVOVElUWSBVY2lyYyAiJiMyMTk7Ij4KKzwhLS0gY2FwaXRhbCBVLCBjaXJjdW1mbGV4IGFjY2VudCAtLT48IUVOVElUWSBVdW1sICImIzIyMDsiPgorPCEtLSBjYXBpdGFsIFUsIGRpZXJlc2lzIG9yIHVtbGF1dCBtYXJrIC0tPjwhRU5USVRZIFlhY3V0ZSAiJiMyMjE7Ij4KKzwhLS0gY2FwaXRhbCBZLCBhY3V0ZSBhY2NlbnQgLS0+PCFFTlRJVFkgVEhPUk4gIiYjMjIyOyI+Cis8IS0tIGNhcGl0YWwgVEhPUk4sIEljZWxhbmRpYyAtLT48IUVOVElUWSBzemxpZyAiJiMyMjM7Ij4KKzwhLS0gc21hbGwgc2hhcnAgcywgR2VybWFuIChzeiBsaWdhdHVyZSkgLS0+PCFFTlRJVFkgYWdyYXZlICImIzIyNDsiPgorPCEtLSBzbWFsbCBhLCBncmF2ZSBhY2NlbnQgLS0+PCFFTlRJVFkgYWFjdXRlICImIzIyNTsiPgorPCEtLSBzbWFsbCBhLCBhY3V0ZSBhY2NlbnQgLS0+PCFFTlRJVFkgYWNpcmMgIiYjMjI2OyI+Cis8IS0tIHNtYWxsIGEsIGNpcmN1bWZsZXggYWNjZW50IC0tPjwhRU5USVRZIGF0aWxkZSAiJiMyMjc7Ij4KKzwhLS0gc21hbGwgYSwgdGlsZGUgLS0+PCFFTlRJVFkgYXVtbCAiJiMyMjg7Ij4KKzwhLS0gc21hbGwgYSwgZGllcmVzaXMgb3IgdW1sYXV0IG1hcmsgLS0+PCFFTlRJVFkgYXJpbmcgIiYjMjI5OyI+Cis8IS0tIHNtYWxsIGEsIHJpbmcgLS0+PCFFTlRJVFkgYWVsaWcgIiYjMjMwOyI+Cis8IS0tIHNtYWxsIGFlIGRpcGh0aG9uZyAobGlnYXR1cmUpIC0tPjwhRU5USVRZIGNjZWRpbCAiJiMyMzE7Ij4KKzwhLS0gc21hbGwgYywgY2VkaWxsYSAtLT48IUVOVElUWSBlZ3JhdmUgIiYjMjMyOyI+Cis8IS0tIHNtYWxsIGUsIGdyYXZlIGFjY2VudCAtLT48IUVOVElUWSBlYWN1dGUgIiYjMjMzOyI+Cis8IS0tIHNtYWxsIGUsIGFjdXRlIGFjY2VudCAtLT48IUVOVElUWSBlY2lyYyAiJiMyMzQ7Ij4KKzwhLS0gc21hbGwgZSwgY2lyY3VtZmxleCBhY2NlbnQgLS0+PCFFTlRJVFkgZXVtbCAiJiMyMzU7Ij4KKzwhLS0gc21hbGwgZSwgZGllcmVzaXMgb3IgdW1sYXV0IG1hcmsgLS0+PCFFTlRJVFkgaWdyYXZlICImIzIzNjsiPgorPCEtLSBzbWFsbCBpLCBncmF2ZSBhY2NlbnQgLS0+PCFFTlRJVFkgaWFjdXRlICImIzIzNzsiPgorPCEtLSBzbWFsbCBpLCBhY3V0ZSBhY2NlbnQgLS0+PCFFTlRJVFkgaWNpcmMgIiYjMjM4OyI+Cis8IS0tIHNtYWxsIGksIGNpcmN1bWZsZXggYWNjZW50IC0tPjwhRU5USVRZIGl1bWwgIiYjMjM5OyI+Cis8IS0tIHNtYWxsIGksIGRpZXJlc2lzIG9yIHVtbGF1dCBtYXJrIC0tPjwhRU5USVRZIGV0aCAiJiMyNDA7Ij4KKzwhLS0gc21hbGwgZXRoLCBJY2VsYW5kaWMgLS0+PCFFTlRJVFkgbnRpbGRlICImIzI0MTsiPgorPCEtLSBzbWFsbCBuLCB0aWxkZSAtLT48IUVOVElUWSBvZ3JhdmUgIiYjMjQyOyI+Cis8IS0tIHNtYWxsIG8sIGdyYXZlIGFjY2VudCAtLT48IUVOVElUWSBvYWN1dGUgIiYjMjQzOyI+Cis8IS0tIHNtYWxsIG8sIGFjdXRlIGFjY2VudCAtLT48IUVOVElUWSBvY2lyYyAiJiMyNDQ7Ij4KKzwhLS0gc21hbGwgbywgY2lyY3VtZmxleCBhY2NlbnQgLS0+PCFFTlRJVFkgb3RpbGRlICImIzI0NTsiPgorPCEtLSBzbWFsbCBvLCB0aWxkZSAtLT48IUVOVElUWSBvdW1sICImIzI0NjsiPgorPCEtLSBzbWFsbCBvLCBkaWVyZXNpcyBvciB1bWxhdXQgbWFyayAtLT48IUVOVElUWSBkaXZpZGUgIiYjMjQ3OyI+Cis8IS0tIGRpdmlkZSBzaWduIC0tPjwhRU5USVRZIG9zbGFzaCAiJiMyNDg7Ij4KKzwhLS0gc21hbGwgbywgc2xhc2ggLS0+PCFFTlRJVFkgdWdyYXZlICImIzI0OTsiPgorPCEtLSBzbWFsbCB1LCBncmF2ZSBhY2NlbnQgLS0+PCFFTlRJVFkgdWFjdXRlICImIzI1MDsiPgorPCEtLSBzbWFsbCB1LCBhY3V0ZSBhY2NlbnQgLS0+PCFFTlRJVFkgdWNpcmMgIiYjMjUxOyI+Cis8IS0tIHNtYWxsIHUsIGNpcmN1bWZsZXggYWNjZW50IC0tPjwhRU5USVRZIHV1bWwgIiYjMjUyOyI+Cis8IS0tIHNtYWxsIHUsIGRpZXJlc2lzIG9yIHVtbGF1dCBtYXJrIC0tPjwhRU5USVRZIHlhY3V0ZSAiJiMyNTM7Ij4KKzwhLS0gc21hbGwgeSwgYWN1dGUgYWNjZW50IC0tPjwhRU5USVRZIHRob3JuICImIzI1NDsiPgorPCEtLSBzbWFsbCB0aG9ybiwgSWNlbGFuZGljIC0tPjwhRU5USVRZIHl1bWwgIiYjMjU1OyI+Cis8IS0tIHNtYWxsIHksIGRpZXJlc2lzIG9yIHVtbGF1dCBtYXJrIC0tPjwhLS0KKyAgICAgQ29waWVkIGZyb20gSFRNTCAzLjIgRFRELCB3aXRoIG1vZGlmaWNhdGlvbnMgKHJlbW92ZWQgQ0RBVEEpCisgICAgIGh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy1odG1sMzIuaHRtbCNkdGQKKyAgICAgPT09PT09PT09PT09PT09PT0gRU5EID09PT09PT09PT09PT09PT09PT0KKy0tPl0+Cis8cnNzPgorPGNoYW5uZWw+Cis8aW1hZ2UvPgorPHRpdGxlPlBQPC90aXRsZT4KKzwvY2hhbm5lbD4KKzwvcnNzPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvdmFsaWQvcnNzLnhtbC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC92YWxpZC9yc3MueG1sLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZWM3YzllCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvdmFsaWQvcnNzLnhtbC5lcnIKQEAgLTAsMCArMSwzIEBACisuL3Rlc3QvdmFsaWQvcnNzLnhtbDoxNzc6IGVsZW1lbnQgcnNzOiB2YWxpZGl0eSBlcnJvciA6IEVsZW1lbnQgcnNzIGRvZXMgbm90IGNhcnJ5IGF0dHJpYnV0ZSB2ZXJzaW9uCis8L3Jzcz4KKyAgICAgIF4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL3Jzcy54bWwuZXJyLnJkciBiL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL3Jzcy54bWwuZXJyLnJkcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZWM3YzllCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvdmFsaWQvcnNzLnhtbC5lcnIucmRyCkBAIC0wLDAgKzEsMyBAQAorLi90ZXN0L3ZhbGlkL3Jzcy54bWw6MTc3OiBlbGVtZW50IHJzczogdmFsaWRpdHkgZXJyb3IgOiBFbGVtZW50IHJzcyBkb2VzIG5vdCBjYXJyeSBhdHRyaWJ1dGUgdmVyc2lvbgorPC9yc3M+CisgICAgICBeCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC92YWxpZC90MTAueG1sIGIvbGlieG1sMi9yZXN1bHQvdmFsaWQvdDEwLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNjBmMmY5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvdmFsaWQvdDEwLnhtbApAQCAtMCwwICsxLDEyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIHN0YW5kYWxvbmU9InllcyI/PgorPCFET0NUWVBFIHJvb3QgWworPCFFTEVNRU5UIHJvb3QgKGNvbnQxICwgKGNvbnQxICwgY29udDI/KSspPgorPCFFTEVNRU5UIGNvbnQxIEVNUFRZPgorPCFFTEVNRU5UIGNvbnQyIEVNUFRZPgorXT4KKzxyb290PgorICA8Y29udDEvPgorICA8Y29udDEvPgorICA8Y29udDEvPgorICA8Y29udDEvPgorPC9yb290PgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvdmFsaWQvdDEwLnhtbC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC92YWxpZC90MTAueG1sLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvdmFsaWQvdDEwLnhtbC5lcnIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL3QxMC54bWwuZXJyLnJkciBiL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL3QxMC54bWwuZXJyLnJkcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvdmFsaWQvdDEwLnhtbC5lcnIucmRyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC92YWxpZC90MTEueG1sIGIvbGlieG1sMi9yZXN1bHQvdmFsaWQvdDExLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kODcxNzg3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvdmFsaWQvdDExLnhtbApAQCAtMCwwICsxLDMgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCFET0NUWVBFIHJvb3QgU1lTVEVNICJkdGRzL2V4dGVybmFsLmVudCI+Cis8cm9vdD4mcGVJbkNkYXRhOzwvcm9vdD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL3QxMS54bWwuZXJyIGIvbGlieG1sMi9yZXN1bHQvdmFsaWQvdDExLnhtbC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL3QxMS54bWwuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC92YWxpZC90MTEueG1sLmVyci5yZHIgYi9saWJ4bWwyL3Jlc3VsdC92YWxpZC90MTEueG1sLmVyci5yZHIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL3QxMS54bWwuZXJyLnJkcgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvdmFsaWQvdDQuZHRkIGIvbGlieG1sMi9yZXN1bHQvdmFsaWQvdDQuZHRkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC92YWxpZC90NC5kdGQKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL3Q0LmR0ZC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC92YWxpZC90NC5kdGQuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIzYTMyNTgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC92YWxpZC90NC5kdGQuZXJyCkBAIC0wLDAgKzEsNiBAQAorLi90ZXN0L3ZhbGlkL3Q0LmR0ZDoxOiBwYXJzZXIgZXJyb3IgOiBTdGFydFRhZzogaW52YWxpZCBlbGVtZW50IG5hbWUKKzwhRU5USVRZICUgcGVyY2VudCAiJiN4MjU7Ij4KKyBeCisuL3Rlc3QvdmFsaWQvdDQuZHRkOjE6IHBhcnNlciBlcnJvciA6IEV4dHJhIGNvbnRlbnQgYXQgdGhlIGVuZCBvZiB0aGUgZG9jdW1lbnQKKzwhRU5USVRZICUgcGVyY2VudCAiJiN4MjU7Ij4KKyBeCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC92YWxpZC90NC5kdGQuZXJyLnJkciBiL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL3Q0LmR0ZC5lcnIucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIzYTMyNTgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC92YWxpZC90NC5kdGQuZXJyLnJkcgpAQCAtMCwwICsxLDYgQEAKKy4vdGVzdC92YWxpZC90NC5kdGQ6MTogcGFyc2VyIGVycm9yIDogU3RhcnRUYWc6IGludmFsaWQgZWxlbWVudCBuYW1lCis8IUVOVElUWSAlIHBlcmNlbnQgIiYjeDI1OyI+CisgXgorLi90ZXN0L3ZhbGlkL3Q0LmR0ZDoxOiBwYXJzZXIgZXJyb3IgOiBFeHRyYSBjb250ZW50IGF0IHRoZSBlbmQgb2YgdGhlIGRvY3VtZW50Cis8IUVOVElUWSAlIHBlcmNlbnQgIiYjeDI1OyI+CisgXgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvdmFsaWQvdDQueG1sIGIvbGlieG1sMi9yZXN1bHQvdmFsaWQvdDQueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMxOThmNzYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC92YWxpZC90NC54bWwKQEAgLTAsMCArMSwzIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhRE9DVFlQRSByb290IFNZU1RFTSAidDQuZHRkIj4KKzxyb290PiZhYmM7PC9yb290PgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvdmFsaWQvdDQueG1sLmVyciBiL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL3Q0LnhtbC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL3Q0LnhtbC5lcnIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL3Q0LnhtbC5lcnIucmRyIGIvbGlieG1sMi9yZXN1bHQvdmFsaWQvdDQueG1sLmVyci5yZHIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL3Q0LnhtbC5lcnIucmRyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC92YWxpZC90NGEuZHRkIGIvbGlieG1sMi9yZXN1bHQvdmFsaWQvdDRhLmR0ZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvdmFsaWQvdDRhLmR0ZApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvdmFsaWQvdDRhLmR0ZC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC92YWxpZC90NGEuZHRkLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40OGNkZDVmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvdmFsaWQvdDRhLmR0ZC5lcnIKQEAgLTAsMCArMSw2IEBACisuL3Rlc3QvdmFsaWQvdDRhLmR0ZDoxOiBwYXJzZXIgZXJyb3IgOiBTdGFydFRhZzogaW52YWxpZCBlbGVtZW50IG5hbWUKKzwhRU5USVRZICUgcGVyY2VudCAiJiN4MjU7Ij4KKyBeCisuL3Rlc3QvdmFsaWQvdDRhLmR0ZDoxOiBwYXJzZXIgZXJyb3IgOiBFeHRyYSBjb250ZW50IGF0IHRoZSBlbmQgb2YgdGhlIGRvY3VtZW50Cis8IUVOVElUWSAlIHBlcmNlbnQgIiYjeDI1OyI+CisgXgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvdmFsaWQvdDRhLmR0ZC5lcnIucmRyIGIvbGlieG1sMi9yZXN1bHQvdmFsaWQvdDRhLmR0ZC5lcnIucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ4Y2RkNWYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC92YWxpZC90NGEuZHRkLmVyci5yZHIKQEAgLTAsMCArMSw2IEBACisuL3Rlc3QvdmFsaWQvdDRhLmR0ZDoxOiBwYXJzZXIgZXJyb3IgOiBTdGFydFRhZzogaW52YWxpZCBlbGVtZW50IG5hbWUKKzwhRU5USVRZICUgcGVyY2VudCAiJiN4MjU7Ij4KKyBeCisuL3Rlc3QvdmFsaWQvdDRhLmR0ZDoxOiBwYXJzZXIgZXJyb3IgOiBFeHRyYSBjb250ZW50IGF0IHRoZSBlbmQgb2YgdGhlIGRvY3VtZW50Cis8IUVOVElUWSAlIHBlcmNlbnQgIiYjeDI1OyI+CisgXgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvdmFsaWQvdDRhLnhtbCBiL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL3Q0YS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzdlODBmNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL3Q0YS54bWwKQEAgLTAsMCArMSwzIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhRE9DVFlQRSByb290IFNZU1RFTSAidDRhLmR0ZCI+Cis8cm9vdD4mYWJjOzwvcm9vdD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL3Q0YS54bWwuZXJyIGIvbGlieG1sMi9yZXN1bHQvdmFsaWQvdDRhLnhtbC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL3Q0YS54bWwuZXJyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC92YWxpZC90NGEueG1sLmVyci5yZHIgYi9saWJ4bWwyL3Jlc3VsdC92YWxpZC90NGEueG1sLmVyci5yZHIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL3Q0YS54bWwuZXJyLnJkcgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvdmFsaWQvdDYuZHRkIGIvbGlieG1sMi9yZXN1bHQvdmFsaWQvdDYuZHRkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC92YWxpZC90Ni5kdGQKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL3Q2LmR0ZC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC92YWxpZC90Ni5kdGQuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZlODRkNjgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC92YWxpZC90Ni5kdGQuZXJyCkBAIC0wLDAgKzEsNiBAQAorLi90ZXN0L3ZhbGlkL3Q2LmR0ZDoxOiBwYXJzZXIgZXJyb3IgOiBTdGFydFRhZzogaW52YWxpZCBlbGVtZW50IG5hbWUKKzwhRU5USVRZICUgeGRlZiAiZGVmIj4KKyBeCisuL3Rlc3QvdmFsaWQvdDYuZHRkOjE6IHBhcnNlciBlcnJvciA6IEV4dHJhIGNvbnRlbnQgYXQgdGhlIGVuZCBvZiB0aGUgZG9jdW1lbnQKKzwhRU5USVRZICUgeGRlZiAiZGVmIj4KKyBeCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC92YWxpZC90Ni5kdGQuZXJyLnJkciBiL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL3Q2LmR0ZC5lcnIucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZlODRkNjgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC92YWxpZC90Ni5kdGQuZXJyLnJkcgpAQCAtMCwwICsxLDYgQEAKKy4vdGVzdC92YWxpZC90Ni5kdGQ6MTogcGFyc2VyIGVycm9yIDogU3RhcnRUYWc6IGludmFsaWQgZWxlbWVudCBuYW1lCis8IUVOVElUWSAlIHhkZWYgImRlZiI+CisgXgorLi90ZXN0L3ZhbGlkL3Q2LmR0ZDoxOiBwYXJzZXIgZXJyb3IgOiBFeHRyYSBjb250ZW50IGF0IHRoZSBlbmQgb2YgdGhlIGRvY3VtZW50Cis8IUVOVElUWSAlIHhkZWYgImRlZiI+CisgXgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvdmFsaWQvdDYueG1sIGIvbGlieG1sMi9yZXN1bHQvdmFsaWQvdDYueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIzZjJkMjUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC92YWxpZC90Ni54bWwKQEAgLTAsMCArMSwzIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhRE9DVFlQRSByb290IFNZU1RFTSAidDYuZHRkIj4KKzxyb290PiZhYmM7PC9yb290PgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvdmFsaWQvdDYueG1sLmVyciBiL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL3Q2LnhtbC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL3Q2LnhtbC5lcnIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL3Q2LnhtbC5lcnIucmRyIGIvbGlieG1sMi9yZXN1bHQvdmFsaWQvdDYueG1sLmVyci5yZHIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL3Q2LnhtbC5lcnIucmRyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC92YWxpZC90OC54bWwgYi9saWJ4bWwyL3Jlc3VsdC92YWxpZC90OC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL3Q4LnhtbApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvdmFsaWQvdDgueG1sLmVyciBiL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL3Q4LnhtbC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDc5NTc4OAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL3Q4LnhtbC5lcnIKQEAgLTAsMCArMSwxOSBAQAorRW50aXR5OiBsaW5lIDE6IHBhcnNlciBlcnJvciA6IGludGVybmFsIGVycm9yOiB4bWxQYXJzZUludGVybmFsU3Vic2V0OiBlcnJvciBkZXRlY3RlZCBpbiBNYXJrdXAgZGVjbGFyYXRpb24KKworICVkZWZyb290OyAKKyAgICAgICAgICBeCitFbnRpdHk6IGxpbmUgMTogCismbHQ7IUVMRU1FTlQgcm9vdCAobWlkZGxlKSA+CiteCitFbnRpdHk6IGxpbmUgMTogcGFyc2VyIGVycm9yIDogRE9DVFlQRSBpbXByb3Blcmx5IHRlcm1pbmF0ZWQKKyAlZGVmcm9vdDsgCisgICAgICAgICAgXgorRW50aXR5OiBsaW5lIDE6IAorJmx0OyFFTEVNRU5UIHJvb3QgKG1pZGRsZSkgPgorXgorRW50aXR5OiBsaW5lIDE6IHBhcnNlciBlcnJvciA6IFN0YXJ0IHRhZyBleHBlY3RlZCwgJzwnIG5vdCBmb3VuZAorICVkZWZyb290OyAKKyAgICAgICAgICBeCitFbnRpdHk6IGxpbmUgMTogCismbHQ7IUVMRU1FTlQgcm9vdCAobWlkZGxlKSA+CisgXgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvdmFsaWQvdDgueG1sLmVyci5yZHIgYi9saWJ4bWwyL3Jlc3VsdC92YWxpZC90OC54bWwuZXJyLnJkcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMTk4YTE2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvdmFsaWQvdDgueG1sLmVyci5yZHIKQEAgLTAsMCArMSwxNCBAQAorRW50aXR5OiBsaW5lIDE6IHBhcnNlciBlcnJvciA6IGludGVybmFsIGVycm9yOiB4bWxQYXJzZUludGVybmFsU3Vic2V0OiBlcnJvciBkZXRlY3RlZCBpbiBNYXJrdXAgZGVjbGFyYXRpb24KKworICVkZWZyb290OyAKKyAgICAgICAgICBeCitFbnRpdHk6IGxpbmUgMTogCismbHQ7IUVMRU1FTlQgcm9vdCAobWlkZGxlKSA+CiteCitFbnRpdHk6IGxpbmUgMTogcGFyc2VyIGVycm9yIDogRE9DVFlQRSBpbXByb3Blcmx5IHRlcm1pbmF0ZWQKKyAlZGVmcm9vdDsgCisgICAgICAgICAgXgorRW50aXR5OiBsaW5lIDE6IAorJmx0OyFFTEVNRU5UIHJvb3QgKG1pZGRsZSkgPgorXgorLi90ZXN0L3ZhbGlkL3Q4LnhtbCA6IGZhaWxlZCB0byBwYXJzZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvdmFsaWQvdDhhLnhtbCBiL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL3Q4YS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL3Q4YS54bWwKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL3Q4YS54bWwuZXJyIGIvbGlieG1sMi9yZXN1bHQvdmFsaWQvdDhhLnhtbC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDc5NTc4OAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL3Q4YS54bWwuZXJyCkBAIC0wLDAgKzEsMTkgQEAKK0VudGl0eTogbGluZSAxOiBwYXJzZXIgZXJyb3IgOiBpbnRlcm5hbCBlcnJvcjogeG1sUGFyc2VJbnRlcm5hbFN1YnNldDogZXJyb3IgZGV0ZWN0ZWQgaW4gTWFya3VwIGRlY2xhcmF0aW9uCisKKyAlZGVmcm9vdDsgCisgICAgICAgICAgXgorRW50aXR5OiBsaW5lIDE6IAorJmx0OyFFTEVNRU5UIHJvb3QgKG1pZGRsZSkgPgorXgorRW50aXR5OiBsaW5lIDE6IHBhcnNlciBlcnJvciA6IERPQ1RZUEUgaW1wcm9wZXJseSB0ZXJtaW5hdGVkCisgJWRlZnJvb3Q7IAorICAgICAgICAgIF4KK0VudGl0eTogbGluZSAxOiAKKyZsdDshRUxFTUVOVCByb290IChtaWRkbGUpID4KK14KK0VudGl0eTogbGluZSAxOiBwYXJzZXIgZXJyb3IgOiBTdGFydCB0YWcgZXhwZWN0ZWQsICc8JyBub3QgZm91bmQKKyAlZGVmcm9vdDsgCisgICAgICAgICAgXgorRW50aXR5OiBsaW5lIDE6IAorJmx0OyFFTEVNRU5UIHJvb3QgKG1pZGRsZSkgPgorIF4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL3Q4YS54bWwuZXJyLnJkciBiL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL3Q4YS54bWwuZXJyLnJkcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNmJkY2JlCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvdmFsaWQvdDhhLnhtbC5lcnIucmRyCkBAIC0wLDAgKzEsMTQgQEAKK0VudGl0eTogbGluZSAxOiBwYXJzZXIgZXJyb3IgOiBpbnRlcm5hbCBlcnJvcjogeG1sUGFyc2VJbnRlcm5hbFN1YnNldDogZXJyb3IgZGV0ZWN0ZWQgaW4gTWFya3VwIGRlY2xhcmF0aW9uCisKKyAlZGVmcm9vdDsgCisgICAgICAgICAgXgorRW50aXR5OiBsaW5lIDE6IAorJmx0OyFFTEVNRU5UIHJvb3QgKG1pZGRsZSkgPgorXgorRW50aXR5OiBsaW5lIDE6IHBhcnNlciBlcnJvciA6IERPQ1RZUEUgaW1wcm9wZXJseSB0ZXJtaW5hdGVkCisgJWRlZnJvb3Q7IAorICAgICAgICAgIF4KK0VudGl0eTogbGluZSAxOiAKKyZsdDshRUxFTUVOVCByb290IChtaWRkbGUpID4KK14KKy4vdGVzdC92YWxpZC90OGEueG1sIDogZmFpbGVkIHRvIHBhcnNlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC92YWxpZC90OS54bWwgYi9saWJ4bWwyL3Jlc3VsdC92YWxpZC90OS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjk1MGIxNAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL3Q5LnhtbApAQCAtMCwwICsxLDEwIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhRE9DVFlQRSByb290IFsKKzwhRU5USVRZICUgZGVmdGVzdCAiJiM2MDshRUxFTUVOVCB0ZXN0ICgjUENEQVRBKSA+Ij4KKzwhRU5USVRZICUgZGVmbWlkZGxlICImIzYwOyFFTEVNRU5UIG1pZGRsZSAodGVzdCkgPiI+Cis8IUVOVElUWSAlIGRlZnJvb3QgIiYjNjA7IUVMRU1FTlQgcm9vdCAobWlkZGxlKSA+Ij4KKzwhRUxFTUVOVCByb290IChtaWRkbGUpPgorPCFFTEVNRU5UIG1pZGRsZSAodGVzdCk+Cis8IUVMRU1FTlQgdGVzdCAoI1BDREFUQSk+CitdPgorPHJvb3Q+PG1pZGRsZT48dGVzdD5zYW1wbGU8L3Rlc3Q+PC9taWRkbGU+PC9yb290PgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvdmFsaWQvdDkueG1sLmVyciBiL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL3Q5LnhtbC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL3Q5LnhtbC5lcnIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL3Q5LnhtbC5lcnIucmRyIGIvbGlieG1sMi9yZXN1bHQvdmFsaWQvdDkueG1sLmVyci5yZHIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL3Q5LnhtbC5lcnIucmRyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC92YWxpZC90OWEueG1sIGIvbGlieG1sMi9yZXN1bHQvdmFsaWQvdDlhLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42OTUwYjE0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvdmFsaWQvdDlhLnhtbApAQCAtMCwwICsxLDEwIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhRE9DVFlQRSByb290IFsKKzwhRU5USVRZICUgZGVmdGVzdCAiJiM2MDshRUxFTUVOVCB0ZXN0ICgjUENEQVRBKSA+Ij4KKzwhRU5USVRZICUgZGVmbWlkZGxlICImIzYwOyFFTEVNRU5UIG1pZGRsZSAodGVzdCkgPiI+Cis8IUVOVElUWSAlIGRlZnJvb3QgIiYjNjA7IUVMRU1FTlQgcm9vdCAobWlkZGxlKSA+Ij4KKzwhRUxFTUVOVCByb290IChtaWRkbGUpPgorPCFFTEVNRU5UIG1pZGRsZSAodGVzdCk+Cis8IUVMRU1FTlQgdGVzdCAoI1BDREFUQSk+CitdPgorPHJvb3Q+PG1pZGRsZT48dGVzdD5zYW1wbGU8L3Rlc3Q+PC9taWRkbGU+PC9yb290PgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvdmFsaWQvdDlhLnhtbC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC92YWxpZC90OWEueG1sLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvdmFsaWQvdDlhLnhtbC5lcnIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL3Q5YS54bWwuZXJyLnJkciBiL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL3Q5YS54bWwuZXJyLnJkcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvdmFsaWQvdDlhLnhtbC5lcnIucmRyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC92YWxpZC94aHRtbDEueGh0bWwgYi9saWJ4bWwyL3Jlc3VsdC92YWxpZC94aHRtbDEueGh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTA3MjA5YgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL3hodG1sMS54aHRtbApAQCAtMCwwICsxLDE0NTMgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIgImR0ZHMveGh0bWwxLXN0cmljdC5kdGQiPgorPD94bWwtc3R5bGVzaGVldCBocmVmPSJXM0MtUFIuY3NzIiB0eXBlPSJ0ZXh0L2NzcyI/PgorPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIGxhbmc9ImVuIiB4bWw6bGFuZz0iZW4iPgorPGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+Cis8dGl0bGU+WEhUTUwgMS4wOiBUaGUgRXh0ZW5zaWJsZSBIeXBlclRleHQgTWFya3VwCitMYW5ndWFnZTwvdGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9IlczQy1QUi5jc3MiIHR5cGU9InRleHQvY3NzIiAvPgorPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK3NwYW4udGVybSB7IGZvbnQtc3R5bGU6IGl0YWxpYzsgY29sb3I6IHJnYigwLCAwLCAxOTIpIH0KK2NvZGUgeworCWNvbG9yOiBncmVlbjsKKwlmb250LWZhbWlseTogbW9ub3NwYWNlOworCWZvbnQtd2VpZ2h0OiBib2xkOworfQorCitjb2RlLmdyZWVubW9ubyB7CisJY29sb3I6IGdyZWVuOworCWZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CisJZm9udC13ZWlnaHQ6IGJvbGQ7Cit9CisuZ29vZCB7CisJYm9yZGVyOiBzb2xpZCBncmVlbjsKKwlib3JkZXItd2lkdGg6IDJweDsKKwljb2xvcjogZ3JlZW47CisJZm9udC13ZWlnaHQ6IGJvbGQ7CisJbWFyZ2luLXJpZ2h0OiA1JTsKKwltYXJnaW4tbGVmdDogMDsKK30KKy5iYWQgIHsKKwlib3JkZXI6IHNvbGlkIHJlZDsKKwlib3JkZXItd2lkdGg6IDJweDsKKwltYXJnaW4tbGVmdDogMDsKKwltYXJnaW4tcmlnaHQ6IDUlOworCWNvbG9yOiByZ2IoMTkyLCAxMDEsIDEwMSk7Cit9CisKK2ltZyB7CisJY29sb3I6IHdoaXRlOworCWJvcmRlcjogbm9uZTsKK30KKworZGl2Lm5hdmJhciB7IHRleHQtYWxpZ246IGNlbnRlcjsgfQorZGl2LmNvbnRlbnRzIHsKKwliYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjA0LDIwNCwyNTUpOworCXBhZGRpbmc6IDAuNWVtOworCWJvcmRlcjogbm9uZTsKKwltYXJnaW4tcmlnaHQ6IDUlOworfQorLnRvY2xpbmUgeyBsaXN0LXN0eWxlOiBub25lOyB9Cit0YWJsZS5leGNlcHRpb25zIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwyNTUsMTUzKTsgfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBjbGFzcz0ibmF2YmFyIj4KKyAgPGEgaHJlZj0iI3RvYyI+dGFibGUgb2YgY29udGVudHM8L2E+IAorICA8aHIgLz4KKzwvZGl2PgorPGRpdiBjbGFzcz0iaGVhZCI+PHA+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvIj48aW1nIGNsYXNzPSJoZWFkIiBzcmM9InczY19ob21lLmdpZiIgYWx0PSJXM0MiIC8+PC9hPjwvcD4KKworPGgxIGNsYXNzPSJoZWFkIj48YSBuYW1lPSJ0aXRsZSIgaWQ9InRpdGxlIj5YSFRNTDwvYT48c3VwPiYjeDIxMjI7PC9zdXA+IDEuMDoKK1RoZSBFeHRlbnNpYmxlIEh5cGVyVGV4dCBNYXJrdXAgTGFuZ3VhZ2U8L2gxPgorCis8aDI+QSBSZWZvcm11bGF0aW9uIG9mIEhUTUwgNC4wIGluIFhNTCAxLjA8L2gyPgorCis8aDM+VzNDIFByb3Bvc2VkIFJlY29tbWVuZGF0aW9uIDEwIERlY2VtYmVyIDE5OTk8L2gzPgorCis8ZGw+Cis8ZHQ+VGhpcyB2ZXJzaW9uOjwvZHQ+CisKKzxkZD48YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi8xOTk5L1BSLXhodG1sMS0xOTk5MTIxMCI+CitodHRwOi8vd3d3LnczLm9yZy9UUi8xOTk5L1BSLXhodG1sMS0xOTk5MTIxMDwvYT4gPGJyIC8+CisoPGEgaHJlZj0ieGh0bWwxLnBzIj5Qb3N0c2NyaXB0IHZlcnNpb248L2E+LAorPGEgaHJlZj0ieGh0bWwxLnBkZiI+UERGIHZlcnNpb248L2E+LAorPGEgaHJlZj0ieGh0bWwxLnppcCI+WklQIGFyY2hpdmU8L2E+LCBvcgorPGEgaHJlZj0ieGh0bWwxLnRneiI+R3ppcCdkIFRBUiBhcmNoaXZlPC9hPikKKzwvZGQ+CisKKzxkdD5MYXRlc3QgdmVyc2lvbjo8L2R0PgorCis8ZGQ+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxIj4KK2h0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMTwvYT48L2RkPgorCis8ZHQ+UHJldmlvdXMgdmVyc2lvbnM6PC9kdD4KKworPGRkPjxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSLzE5OTkvV0QteGh0bWwxLTE5OTkxMTI0Ij4KK2h0dHA6Ly93d3cudzMub3JnL1RSLzE5OTkvV0QteGh0bWwxLTE5OTkxMTI0PC9hPjwvZGQ+Cis8ZGQ+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvMTk5OS9QUi14aHRtbDEtMTk5OTA4MjQiPgoraHR0cDovL3d3dy53My5vcmcvVFIvMTk5OS9QUi14aHRtbDEtMTk5OTA4MjQ8L2E+PC9kZD4KKworPGR0PkF1dGhvcnM6PC9kdD4KKworPGRkPlNlZSA8YSBocmVmPSIjYWNrcyI+YWNrbm93bGVkZ2VtZW50czwvYT4uPC9kZD4KKzwvZGw+CisKKzxwIGNsYXNzPSJjb3B5cmlnaHQiPjxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL0NvbnNvcnRpdW0vTGVnYWwvaXByLW5vdGljZSNDb3B5cmlnaHQiPgorQ29weXJpZ2h0PC9hPiAmY29weTsgMTk5OSA8YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy8iPlczQzwvYT48c3VwPiZyZWc7PC9zdXA+CisoPGEgaHJlZj0iaHR0cDovL3d3dy5sY3MubWl0LmVkdS8iPk1JVDwvYT4sIDxhIGhyZWY9Imh0dHA6Ly93d3cuaW5yaWEuZnIvIj5JTlJJQTwvYT4sIDxhIGhyZWY9Imh0dHA6Ly93d3cua2Vpby5hYy5qcC8iPktlaW88L2E+KSwgQWxsIFJpZ2h0cyBSZXNlcnZlZC4gPGFiYnIgdGl0bGU9IldvcmxkIFdpZGUgV2ViIENvbnNvcnRpdW0iPlczQzwvYWJicj4gPGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvQ29uc29ydGl1bS9MZWdhbC9pcHItbm90aWNlI0xlZ2FsX0Rpc2NsYWltZXIiPgorbGlhYmlsaXR5PC9hPiwgPGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvQ29uc29ydGl1bS9MZWdhbC9pcHItbm90aWNlI1czQ19UcmFkZW1hcmtzIj4KK3RyYWRlbWFyazwvYT4sIDxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL0NvbnNvcnRpdW0vTGVnYWwvY29weXJpZ2h0LWRvY3VtZW50cyI+ZG9jdW1lbnQKK3VzZTwvYT4gYW5kIDxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL0NvbnNvcnRpdW0vTGVnYWwvY29weXJpZ2h0LXNvZnR3YXJlIj5zb2Z0d2FyZQorbGljZW5zaW5nPC9hPiBydWxlcyBhcHBseS48L3A+Cis8aHIgLz4KKzwvZGl2PgorCis8aDIgY2xhc3M9Im5vdG9jIj5BYnN0cmFjdDwvaDI+CisKKzxwPlRoaXMgc3BlY2lmaWNhdGlvbiBkZWZpbmVzIDxhYmJyIHRpdGxlPSJFeHRlbnNpYmxlIEh5cGVydGV4dCBNYXJrdXAgTGFuZ3VhZ2UiPlhIVE1MPC9hYmJyPiAxLjAsIGEgcmVmb3JtdWxhdGlvbiBvZiBIVE1MCis0LjAgYXMgYW4gWE1MIDEuMCBhcHBsaWNhdGlvbiwgYW5kIHRocmVlIDxhYmJyIHRpdGxlPSJEb2N1bWVudCBUeXBlIERlZmluaXRpb24iPkRURHM8L2FiYnI+IGNvcnJlc3BvbmRpbmcgdG8KK3RoZSBvbmVzIGRlZmluZWQgYnkgSFRNTCA0LjAuIFRoZSBzZW1hbnRpY3Mgb2YgdGhlIGVsZW1lbnRzIGFuZAordGhlaXIgYXR0cmlidXRlcyBhcmUgZGVmaW5lZCBpbiB0aGUgVzNDIFJlY29tbWVuZGF0aW9uIGZvciBIVE1MCis0LjAuIFRoZXNlIHNlbWFudGljcyBwcm92aWRlIHRoZSBmb3VuZGF0aW9uIGZvciBmdXR1cmUKK2V4dGVuc2liaWxpdHkgb2YgWEhUTUwuIENvbXBhdGliaWxpdHkgd2l0aCBleGlzdGluZyBIVE1MIHVzZXIKK2FnZW50cyBpcyBwb3NzaWJsZSBieSBmb2xsb3dpbmcgYSBzbWFsbCBzZXQgb2YgZ3VpZGVsaW5lcy48L3A+CisKKzxoMj5TdGF0dXMgb2YgdGhpcyBkb2N1bWVudDwvaDI+CisKKzxwPjxlbT5UaGlzIHNlY3Rpb24gZGVzY3JpYmVzIHRoZSBzdGF0dXMgb2YgdGhpcyBkb2N1bWVudCBhdCB0aGUgdGltZQorb2YgaXRzIHB1YmxpY2F0aW9uLiBPdGhlciBkb2N1bWVudHMgbWF5IHN1cGVyc2VkZSB0aGlzIGRvY3VtZW50LiBUaGUKK2xhdGVzdCBzdGF0dXMgb2YgdGhpcyBkb2N1bWVudCBzZXJpZXMgaXMgbWFpbnRhaW5lZCBhdCB0aGUgVzNDLjwvZW0+PC9wPgorCis8cD5UaGlzIHNwZWNpZmljYXRpb24gaXMgYSBQcm9wb3NlZCBSZWNvbW1lbmRhdGlvbiBvZiB0aGUgSFRNTCBXb3JraW5nIEdyb3VwLiBJdCBpcyAKK2EgcmV2aXNpb24gb2YgdGhlIFByb3Bvc2VkIFJlY29tbWVuZGF0aW9uIGRhdGVkIDxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSLzE5OTkvUFIteGh0bWwxLTE5OTkwODI0LyI+MjQgQXVndXN0CisxOTk5PC9hPiBpbmNvcnBvcmF0aW5nIGNoYW5nZXMgYXMgYSByZXN1bHQgb2YgY29tbWVudHMgZnJvbSB0aGUgUHJvcG9zZWQKK1JlY29tbWVuZGF0aW9uIHJldmlldywgYW5kIAorY29tbWVudHMgYW5kIGZ1cnRoZXIgZGVsaWJlcmF0aW9ucyBvZiB0aGUgVzNDIEhUTUwgV29ya2luZyBHcm91cC4gQSAKKzxhIGhyZWY9InhodG1sMS1kaWZmLTE5OTkxMjEwLmh0bWwiPmRpZmYtbWFya2VkIHZlcnNpb248L2E+IGZyb20gdGhlIHByZXZpb3VzCitwcm9wb3NlZCByZWNvbW1lbmRhdGlvbiBpcyBhdmFpbGFibGUgZm9yIGNvbXBhcmlzb24gcHVycG9zZXMuPC9wPgorCis8cD5PbiAxMCBEZWNlbWJlciAxOTk5LCB0aGlzIGRvY3VtZW50IGVudGVycyBhCis8YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9Db25zb3J0aXVtL1Byb2Nlc3MvI1JlY3NQUiI+CitQcm9wb3NlZCBSZWNvbW1lbmRhdGlvbjwvYT4gcmV2aWV3IHBlcmlvZC4gRnJvbSB0aGF0IGRhdGUgdW50aWwgOCBKYW51YXJ5CisyMDAwLAorVzNDIEFkdmlzb3J5IENvbW1pdHRlZSByZXByZXNlbnRhdGl2ZXMgYXJlIGVuY291cmFnZWQKK3RvIHJldmlldyB0aGlzIHNwZWNpZmljYXRpb24gYW5kIHJldHVybiBjb21tZW50cyBpbiB0aGVpciBjb21wbGV0ZWQKK2JhbGxvdHMgdG8gdzNjLWh0bWwtcmV2aWV3QHczLm9yZy4gUGxlYXNlIHNlbmQgYW55IGNvbW1lbnRzIG9mIGEKK2NvbmZpZGVudGlhbCBuYXR1cmUgaW4gc2VwYXJhdGUgZW1haWwgdG8gdzN0LWh0bWxAdzMub3JnLCB3aGljaCBpcwordmlzaWJsZSB0byB0aGUgVGVhbSBvbmx5LjwvcD4KKworPHA+Tm8gc29vbmVyIHRoYW4gMTQgZGF5cyBhZnRlciB0aGUgZW5kIG9mIHRoZSByZXZpZXcgcGVyaW9kLCB0aGUKK0RpcmVjdG9yIHdpbGwgYW5ub3VuY2UgdGhlIGRvY3VtZW50J3MgZGlzcG9zaXRpb246IGl0IG1heSBiZWNvbWUgYSBXM0MKK1JlY29tbWVuZGF0aW9uIChwb3NzaWJseSB3aXRoIG1pbm9yIGNoYW5nZXMpLCBpdCBtYXkgcmV2ZXJ0IHRvIFdvcmtpbmcKK0RyYWZ0IHN0YXR1cywgb3IgaXQgbWF5IGJlIGRyb3BwZWQgYXMgYSBXM0Mgd29yayBpdGVtLjwvcD4KKworPHA+UHVibGljYXRpb24gYXMgYSBQcm9wb3NlZCBSZWNvbW1lbmRhdGlvbiBkb2VzIG5vdCBpbXBseSBlbmRvcnNlbWVudAorYnkgdGhlIFczQyBtZW1iZXJzaGlwLiAgVGhpcyBpcyBzdGlsbCBhIGRyYWZ0IGRvY3VtZW50IGFuZCBtYXkgYmUKK3VwZGF0ZWQsIHJlcGxhY2VkIG9yIG9ic29sZXRlZCBieSBvdGhlciBkb2N1bWVudHMgYXQgYW55IHRpbWUuIEl0IGlzCitpbmFwcHJvcHJpYXRlIHRvIGNpdGUgVzNDIFByb3Bvc2VkIFJlY29tbWVuZGF0aW9uIGFzIG90aGVyIHRoYW4gIndvcmsKK2luIHByb2dyZXNzLiI8L3A+CisKKzxwPlRoaXMgZG9jdW1lbnQgaGFzIGJlZW4gcHJvZHVjZWQgYXMgcGFydCBvZiB0aGUgPGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvTWFya1VwLyI+VzNDIEhUTUwgQWN0aXZpdHk8L2E+LiBUaGUgZ29hbHMgb2YKK3RoZSA8YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9NYXJrVXAvR3JvdXAvIj5IVE1MIFdvcmtpbmcKK0dyb3VwPC9hPiA8aT4oPGEgaHJlZj0iaHR0cDovL2NnaS53My5vcmcvTWVtYmVyQWNjZXNzLyI+bWVtYmVycworb25seTwvYT4pPC9pPiBhcmUgZGlzY3Vzc2VkIGluIHRoZSA8YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9NYXJrVXAvR3JvdXAvSFRNTGNoYXJ0ZXIiPkhUTUwgV29ya2luZyBHcm91cAorY2hhcnRlcjwvYT4gPGk+KDxhIGhyZWY9Imh0dHA6Ly9jZ2kudzMub3JnL01lbWJlckFjY2Vzcy8iPm1lbWJlcnMKK29ubHk8L2E+KTwvaT4uPC9wPgorCis8cD5BIGxpc3Qgb2YgY3VycmVudCBXM0MgUmVjb21tZW5kYXRpb25zIGFuZCBvdGhlciB0ZWNobmljYWwgZG9jdW1lbnRzCitjYW4gYmUgZm91bmQgYXQgPGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIiPmh0dHA6Ly93d3cudzMub3JnL1RSPC9hPi48L3A+CisKKzxwPlB1YmxpYyBkaXNjdXNzaW9uIG9uIDxhYmJyIHRpdGxlPSJIeXBlclRleHQgTWFya3VwIExhbmd1YWdlIj5IVE1MPC9hYmJyPiBmZWF0dXJlcyB0YWtlcyBwbGFjZSBvbiB0aGUgbWFpbGluZyBsaXN0IDxhIGhyZWY9Im1haWx0bzp3d3ctaHRtbEB3My5vcmciPiB3d3ctaHRtbEB3My5vcmc8L2E+ICg8YSBocmVmPSJodHRwOi8vbGlzdHMudzMub3JnL0FyY2hpdmVzL1B1YmxpYy93d3ctaHRtbC8iPmFyY2hpdmU8L2E+KS4gVGhlIFczQworc3RhZmYgY29udGFjdCBmb3Igd29yayBvbiBIVE1MIGlzIDxhIGhyZWY9Im1haWx0bzpkc3JAdzMub3JnIj5EYXZlCitSYWdnZXR0PC9hPi48L3A+CisKKzxwPlBsZWFzZSByZXBvcnQgZXJyb3JzIGluIHRoaXMgZG9jdW1lbnQgdG8gPGEgaHJlZj0ibWFpbHRvOnd3dy1odG1sLWVkaXRvckB3My5vcmciPnd3dy1odG1sLWVkaXRvckB3My5vcmc8L2E+LjwvcD4KKworPHA+VGhlIGxpc3Qgb2Yga25vd24gZXJyb3JzIGluIHRoaXMgc3BlY2lmaWNhdGlvbiBpcyBhdmFpbGFibGUgYXQgPGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8xMi9QUi14aHRtbDEtMTk5OTEyMTAtZXJyYXRhIj5odHRwOi8vd3d3LnczLm9yZy8xOTk5LzEyL1BSLXhodG1sMS0xOTk5MTIxMC1lcnJhdGE8L2E+LjwvcD4KKworPGgyIGNsYXNzPSJub3RvYyI+PGEgaWQ9InRvYyIgbmFtZT0idG9jIj5Db250ZW50czwvYT48L2gyPgorCis8ZGl2IGNsYXNzPSJjb250ZW50cyI+Cis8dWwgY2xhc3M9InRvYyI+Cis8bGkgY2xhc3M9InRvY2xpbmUiPjEuIDxhIGhyZWY9IiN4aHRtbCI+V2hhdCBpcyBYSFRNTD88L2E+IAorCis8dWwgY2xhc3M9InRvYyI+Cis8bGkgY2xhc3M9InRvY2xpbmUiPjEuMSA8YSBocmVmPSIjaHRtbDQiPldoYXQgaXMgSFRNTCA0LjA/PC9hPjwvbGk+CisKKzxsaSBjbGFzcz0idG9jbGluZSI+MS4yIDxhIGhyZWY9IiN4bWwiPldoYXQgaXMgWE1MPzwvYT48L2xpPgorCis8bGkgY2xhc3M9InRvY2xpbmUiPjEuMyA8YSBocmVmPSIjd2h5Ij5XaHkgdGhlIG5lZWQgZm9yIFhIVE1MPzwvYT48L2xpPgorPC91bD4KKzwvbGk+CisKKzxsaSBjbGFzcz0idG9jbGluZSI+Mi4gPGEgaHJlZj0iI2RlZnMiPkRlZmluaXRpb25zPC9hPiAKKworPHVsIGNsYXNzPSJ0b2MiPgorPGxpIGNsYXNzPSJ0b2NsaW5lIj4yLjEgPGEgaHJlZj0iI3Rlcm1zIj5UZXJtaW5vbG9neTwvYT48L2xpPgorCis8bGkgY2xhc3M9InRvY2xpbmUiPjIuMiA8YSBocmVmPSIjZ2VuZXJhbCI+R2VuZXJhbCBUZXJtczwvYT48L2xpPgorPC91bD4KKzwvbGk+CisKKzxsaSBjbGFzcz0idG9jbGluZSI+My4gPGEgaHJlZj0iI25vcm1hdGl2ZSI+Tm9ybWF0aXZlIERlZmluaXRpb24gb2YgWEhUTUwgMS4wPC9hPgorCisKKzx1bCBjbGFzcz0idG9jIj4KKzxsaSBjbGFzcz0idG9jbGluZSI+My4xIDxhIGhyZWY9IiNkb2Njb25mIj5Eb2N1bWVudCBDb25mb3JtYW5jZTwvYT48L2xpPgorCis8bGkgY2xhc3M9InRvY2xpbmUiPjMuMiA8YSBocmVmPSIjdWFjb25mIj5Vc2VyIEFnZW50IENvbmZvcm1hbmNlPC9hPjwvbGk+Cis8L3VsPgorPC9saT4KKworPGxpIGNsYXNzPSJ0b2NsaW5lIj40LiA8YSBocmVmPSIjZGlmZnMiPkRpZmZlcmVuY2VzIHdpdGggSFRNTCA0LjA8L2E+IAorCis8L2xpPgorCis8bGkgY2xhc3M9InRvY2xpbmUiPjUuIDxhIGhyZWY9IiNpc3N1ZXMiPkNvbXBhdGliaWxpdHkgSXNzdWVzPC9hPiAKKworPHVsIGNsYXNzPSJ0b2MiPgorPGxpIGNsYXNzPSJ0b2NsaW5lIj41LjEgPGEgaHJlZj0iI21lZGlhIj5JbnRlcm5ldCBNZWRpYSBUeXBlczwvYT48L2xpPgorPC91bD4KKzwvbGk+CisKKzxsaSBjbGFzcz0idG9jbGluZSI+Ni4gPGEgaHJlZj0iI2Z1dHVyZSI+RnV0dXJlIERpcmVjdGlvbnM8L2E+IAorCis8dWwgY2xhc3M9InRvYyI+Cis8bGkgY2xhc3M9InRvY2xpbmUiPjYuMSA8YSBocmVmPSIjbW9kcyI+TW9kdWxhcml6aW5nIEhUTUw8L2E+PC9saT4KKworPGxpIGNsYXNzPSJ0b2NsaW5lIj42LjIgPGEgaHJlZj0iI2V4dGVuc2lvbnMiPlN1YnNldHMgYW5kIEV4dGVuc2liaWxpdHk8L2E+PC9saT4KKworPGxpIGNsYXNzPSJ0b2NsaW5lIj42LjMgPGEgaHJlZj0iI3Byb2ZpbGVzIj5Eb2N1bWVudCBQcm9maWxlczwvYT48L2xpPgorPC91bD4KKzwvbGk+CisKKzxsaSBjbGFzcz0idG9jbGluZSI+PGEgaHJlZj0iI2R0ZHMiPkFwcGVuZGl4IEEuIERURHM8L2E+PC9saT4KKworPGxpIGNsYXNzPSJ0b2NsaW5lIj48YSBocmVmPSIjcHJvaGliaXRpb25zIj5BcHBlbmRpeCBCLiBFbGVtZW50CitQcm9oaWJpdGlvbnM8L2E+PC9saT4KKworPGxpIGNsYXNzPSJ0b2NsaW5lIj48YSBocmVmPSIjZ3VpZGVsaW5lcyI+QXBwZW5kaXggQy4gSFRNTCBDb21wYXRpYmlsaXR5IEd1aWRlbGluZXM8L2E+PC9saT4KKworPGxpIGNsYXNzPSJ0b2NsaW5lIj48YSBocmVmPSIjYWNrcyI+QXBwZW5kaXggRC4gQWNrbm93bGVkZ2VtZW50czwvYT48L2xpPgorCis8bGkgY2xhc3M9InRvY2xpbmUiPjxhIGhyZWY9IiNyZWZzIj5BcHBlbmRpeCBFLiBSZWZlcmVuY2VzPC9hPjwvbGk+Cis8L3VsPgorPC9kaXY+CisKKzwhLS1PZGRQYWdlLS0+Cis8aDE+PGEgbmFtZT0ieGh0bWwiIGlkPSJ4aHRtbCI+MS4gV2hhdCBpcyBYSFRNTD88L2E+PC9oMT4KKworPHA+WEhUTUwgaXMgYSBmYW1pbHkgb2YgY3VycmVudCBhbmQgZnV0dXJlIGRvY3VtZW50IHR5cGVzIGFuZCBtb2R1bGVzIHRoYXQKK3JlcHJvZHVjZSwgc3Vic2V0LCBhbmQgZXh0ZW5kIEhUTUwgNC4wIDxhIGhyZWY9IiNyZWYtaHRtbDQiPltIVE1MXTwvYT4uIFhIVE1MIGZhbWlseSBkb2N1bWVudCB0eXBlcyBhcmUgPGFiYnIgdGl0bGU9IkV4dGVuc2libGUgTWFya3VwIExhbmd1YWdlIj5YTUw8L2FiYnI+IGJhc2VkLAorYW5kIHVsdGltYXRlbHkgYXJlIGRlc2lnbmVkIHRvIHdvcmsgaW4gY29uanVuY3Rpb24gd2l0aCBYTUwtYmFzZWQgdXNlciBhZ2VudHMuCitUaGUgZGV0YWlscyBvZiB0aGlzIGZhbWlseSBhbmQgaXRzIGV2b2x1dGlvbiBhcmUKK2Rpc2N1c3NlZCBpbiBtb3JlIGRldGFpbCBpbiB0aGUgc2VjdGlvbiBvbiA8YSBocmVmPSIjZnV0dXJlIj5GdXR1cmUKK0RpcmVjdGlvbnM8L2E+LiA8L3A+CisKKzxwPlhIVE1MIDEuMCAodGhpcyBzcGVjaWZpY2F0aW9uKSBpcyB0aGUgZmlyc3QgZG9jdW1lbnQgdHlwZSBpbiB0aGUgWEhUTUwKK2ZhbWlseS4gSXQgaXMgYSByZWZvcm11bGF0aW9uIG9mIHRoZSB0aHJlZSBIVE1MIDQuMCBkb2N1bWVudCB0eXBlcyBhcworYXBwbGljYXRpb25zIG9mIFhNTCAxLjAgPGEgaHJlZj0iI3JlZi14bWwiPiBbWE1MXTwvYT4uIEl0IGlzIGludGVuZGVkCit0byBiZSB1c2VkIGFzIGEgbGFuZ3VhZ2UgZm9yIGNvbnRlbnQgdGhhdCBpcyBib3RoIFhNTC1jb25mb3JtaW5nIGFuZCwgaWYgc29tZQorc2ltcGxlIDxhIGhyZWY9IiNndWlkZWxpbmVzIj5ndWlkZWxpbmVzPC9hPiBhcmUgZm9sbG93ZWQsIAorb3BlcmF0ZXMgaW4gSFRNTCA0LjAgY29uZm9ybWluZyB1c2VyIGFnZW50cy4gRGV2ZWxvcGVycyB3aG8gbWlncmF0ZQordGhlaXIgY29udGVudCB0byBYSFRNTCAxLjAgd2lsbCByZWFsaXplIHRoZSBmb2xsb3dpbmcgYmVuZWZpdHM6PC9wPgorCis8dWw+Cis8bGk+WEhUTUwgZG9jdW1lbnRzIGFyZSBYTUwgY29uZm9ybWluZy4gQXMgc3VjaCwgdGhleSBhcmUgcmVhZGlseSB2aWV3ZWQsCitlZGl0ZWQsIGFuZCB2YWxpZGF0ZWQgd2l0aCBzdGFuZGFyZCBYTUwgdG9vbHMuPC9saT4KKzxsaT5YSFRNTCBkb2N1bWVudHMgY2FuIGJlIHdyaXR0ZW4gdG8KK3RvIG9wZXJhdGUgYXMgd2VsbCBvciBiZXR0ZXIgdGhhbiB0aGV5IGRpZCBiZWZvcmUgaW4gZXhpc3RpbmcKK0hUTUwgNC4wLWNvbmZvcm1pbmcgdXNlciBhZ2VudHMgYXMgd2VsbCBhcyBpbiBuZXcsIFhIVE1MIDEuMCBjb25mb3JtaW5nIHVzZXIKK2FnZW50cy48L2xpPgorPGxpPlhIVE1MIGRvY3VtZW50cyBjYW4gdXRpbGl6ZSBhcHBsaWNhdGlvbnMgKGUuZy4gc2NyaXB0cyBhbmQgYXBwbGV0cykgdGhhdCByZWx5Cit1cG9uIGVpdGhlciB0aGUgSFRNTCBEb2N1bWVudCBPYmplY3QgTW9kZWwgb3IgdGhlIFhNTCBEb2N1bWVudCBPYmplY3QgTW9kZWwgPGEgaHJlZj0iI3JlZi1kb20iPltET01dPC9hPi48L2xpPgorPGxpPkFzIHRoZSBYSFRNTCBmYW1pbHkgZXZvbHZlcywgZG9jdW1lbnRzIGNvbmZvcm1pbmcgdG8gWEhUTUwgMS4wIHdpbGwgYmUgbW9yZQorbGlrZWx5IHRvIGludGVyb3BlcmF0ZSB3aXRoaW4gYW5kIGFtb25nIHZhcmlvdXMgWEhUTUwgZW52aXJvbm1lbnRzLjwvbGk+Cis8L3VsPgorCis8cD5UaGUgWEhUTUwgZmFtaWx5IGlzIHRoZSBuZXh0IHN0ZXAgaW4gdGhlIGV2b2x1dGlvbiBvZiB0aGUgSW50ZXJuZXQuIEJ5CittaWdyYXRpbmcgdG8gWEhUTUwgdG9kYXksIGNvbnRlbnQgZGV2ZWxvcGVycyBjYW4gZW50ZXIgdGhlIFhNTCB3b3JsZCB3aXRoIGFsbAorb2YgaXRzIGF0dGVuZGFudCBiZW5lZml0cywgd2hpbGUgc3RpbGwgcmVtYWluaW5nIGNvbmZpZGVudCBpbiB0aGVpcgorY29udGVudCdzIGJhY2t3YXJkIGFuZCBmdXR1cmUgY29tcGF0aWJpbGl0eS48L3A+CisKKzxoMj48YSBuYW1lPSJodG1sNCIgaWQ9Imh0bWw0Ij4xLjEgV2hhdCBpcyBIVE1MIDQuMD88L2E+PC9oMj4KKworPHA+SFRNTCA0LjAgPGEgaHJlZj0iI3JlZi1odG1sNCI+W0hUTUxdPC9hPiBpcyBhbiA8YWJiciB0aXRsZT0iU3RhbmRhcmQgR2VuZXJhbGl6ZWQgTWFya3VwIExhbmd1YWdlIj5TR01MPC9hYmJyPiAoU3RhbmRhcmQKK0dlbmVyYWxpemVkIE1hcmt1cCBMYW5ndWFnZSkgYXBwbGljYXRpb24gY29uZm9ybWluZyB0bworSW50ZXJuYXRpb25hbCBTdGFuZGFyZCA8YWJiciB0aXRsZT0iT3JnYW5pemF0aW9uIGZvciBJbnRlcm5hdGlvbmFsIFN0YW5kYXJkaXphdGlvbiI+SVNPPC9hYmJyPiA4ODc5LCBhbmQgaXMgd2lkZWx5IHJlZ2FyZGVkIGFzIHRoZQorc3RhbmRhcmQgcHVibGlzaGluZyBsYW5ndWFnZSBvZiB0aGUgV29ybGQgV2lkZSBXZWIuPC9wPgorCis8cD5TR01MIGlzIGEgbGFuZ3VhZ2UgZm9yIGRlc2NyaWJpbmcgbWFya3VwIGxhbmd1YWdlcywKK3BhcnRpY3VsYXJseSB0aG9zZSB1c2VkIGluIGVsZWN0cm9uaWMgZG9jdW1lbnQgZXhjaGFuZ2UsIGRvY3VtZW50CittYW5hZ2VtZW50LCBhbmQgZG9jdW1lbnQgcHVibGlzaGluZy4gSFRNTCBpcyBhbiBleGFtcGxlIG9mIGEKK2xhbmd1YWdlIGRlZmluZWQgaW4gU0dNTC48L3A+CisKKzxwPlNHTUwgaGFzIGJlZW4gYXJvdW5kIHNpbmNlIHRoZSBtaWRkbGUgMTk4MCdzIGFuZCBoYXMgcmVtYWluZWQKK3F1aXRlIHN0YWJsZS4gTXVjaCBvZiB0aGlzIHN0YWJpbGl0eSBzdGVtcyBmcm9tIHRoZSBmYWN0IHRoYXQgdGhlCitsYW5ndWFnZSBpcyBib3RoIGZlYXR1cmUtcmljaCBhbmQgZmxleGlibGUuIFRoaXMgZmxleGliaWxpdHksCitob3dldmVyLCBjb21lcyBhdCBhIHByaWNlLCBhbmQgdGhhdCBwcmljZSBpcyBhIGxldmVsIG9mCitjb21wbGV4aXR5IHRoYXQgaGFzIGluaGliaXRlZCBpdHMgYWRvcHRpb24gaW4gYSBkaXZlcnNpdHkgb2YKK2Vudmlyb25tZW50cywgaW5jbHVkaW5nIHRoZSBXb3JsZCBXaWRlIFdlYi48L3A+CisKKzxwPkhUTUwsIGFzIG9yaWdpbmFsbHkgY29uY2VpdmVkLCB3YXMgdG8gYmUgYSBsYW5ndWFnZSBmb3IgdGhlCitleGNoYW5nZSBvZiBzY2llbnRpZmljIGFuZCBvdGhlciB0ZWNobmljYWwgZG9jdW1lbnRzLCBzdWl0YWJsZQorZm9yIHVzZSBieSBub24tZG9jdW1lbnQgc3BlY2lhbGlzdHMuIEhUTUwgYWRkcmVzc2VkIHRoZSBwcm9ibGVtCitvZiBTR01MIGNvbXBsZXhpdHkgYnkgc3BlY2lmeWluZyBhIHNtYWxsIHNldCBvZiBzdHJ1Y3R1cmFsIGFuZAorc2VtYW50aWMgdGFncyBzdWl0YWJsZSBmb3IgYXV0aG9yaW5nIHJlbGF0aXZlbHkgc2ltcGxlIGRvY3VtZW50cy4KK0luIGFkZGl0aW9uIHRvIHNpbXBsaWZ5aW5nIHRoZSBkb2N1bWVudCBzdHJ1Y3R1cmUsIEhUTUwgYWRkZWQKK3N1cHBvcnQgZm9yIGh5cGVydGV4dC4gTXVsdGltZWRpYSBjYXBhYmlsaXRpZXMgd2VyZSBhZGRlZAorbGF0ZXIuPC9wPgorCis8cD5JbiBhIHJlbWFya2FibHkgc2hvcnQgc3BhY2Ugb2YgdGltZSwgSFRNTCBiZWNhbWUgd2lsZGx5Citwb3B1bGFyIGFuZCByYXBpZGx5IG91dGdyZXcgaXRzIG9yaWdpbmFsIHB1cnBvc2UuIFNpbmNlIEhUTUwncworaW5jZXB0aW9uLCB0aGVyZSBoYXMgYmVlbiByYXBpZCBpbnZlbnRpb24gb2YgbmV3IGVsZW1lbnRzIGZvciB1c2UKK3dpdGhpbiBIVE1MIChhcyBhIHN0YW5kYXJkKSBhbmQgZm9yIGFkYXB0aW5nIEhUTUwgdG8gdmVydGljYWwsCitoaWdobHkgc3BlY2lhbGl6ZWQsIG1hcmtldHMuIFRoaXMgcGxldGhvcmEgb2YgbmV3IGVsZW1lbnRzIGhhcworbGVkIHRvIGNvbXBhdGliaWxpdHkgcHJvYmxlbXMgZm9yIGRvY3VtZW50cyBhY3Jvc3MgZGlmZmVyZW50CitwbGF0Zm9ybXMuPC9wPgorCis8cD5BcyB0aGUgaGV0ZXJvZ2VuZWl0eSBvZiBib3RoIHNvZnR3YXJlIGFuZCBwbGF0Zm9ybXMgcmFwaWRseQorcHJvbGlmZXJhdGUsIGl0IGlzIGNsZWFyIHRoYXQgdGhlIHN1aXRhYmlsaXR5IG9mICdjbGFzc2ljJyBIVE1MCis0LjAgZm9yIHVzZSBvbiB0aGVzZSBwbGF0Zm9ybXMgaXMgc29tZXdoYXQgbGltaXRlZC48L3A+CisKKzxoMj48YSBuYW1lPSJ4bWwiIGlkPSJ4bWwiPjEuMiBXaGF0IGlzIFhNTD88L2E+PC9oMj4KKworPHA+WE1MPHN1cD4mI3gyMTIyOzwvc3VwPiBpcyB0aGUgc2hvcnRoYW5kIGZvciBFeHRlbnNpYmxlIE1hcmt1cAorTGFuZ3VhZ2UsIGFuZCBpcyBhbiBhY3JvbnltIG9mIEV4dGVuc2libGUgTWFya3VwIExhbmd1YWdlIDxhIGhyZWY9IiNyZWYteG1sIj5bWE1MXTwvYT4uPC9wPgorCis8cD5YTUwgd2FzIGNvbmNlaXZlZCBhcyBhIG1lYW5zIG9mIHJlZ2FpbmluZyB0aGUgcG93ZXIgYW5kCitmbGV4aWJpbGl0eSBvZiBTR01MIHdpdGhvdXQgbW9zdCBvZiBpdHMgY29tcGxleGl0eS4gQWx0aG91Z2ggYQorcmVzdHJpY3RlZCBmb3JtIG9mIFNHTUwsIFhNTCBub25ldGhlbGVzcyBwcmVzZXJ2ZXMgbW9zdCBvZiBTR01MJ3MKK3Bvd2VyIGFuZCByaWNobmVzcywgYW5kIHlldCBzdGlsbCByZXRhaW5zIGFsbCBvZiBTR01MJ3MgY29tbW9ubHkKK3VzZWQgZmVhdHVyZXMuPC9wPgorCis8cD5XaGlsZSByZXRhaW5pbmcgdGhlc2UgYmVuZWZpY2lhbCBmZWF0dXJlcywgWE1MIHJlbW92ZXMgbWFueSBvZgordGhlIG1vcmUgY29tcGxleCBmZWF0dXJlcyBvZiBTR01MIHRoYXQgbWFrZSB0aGUgYXV0aG9yaW5nIGFuZAorZGVzaWduIG9mIHN1aXRhYmxlIHNvZnR3YXJlIGJvdGggZGlmZmljdWx0IGFuZCBjb3N0bHkuPC9wPgorCis8aDI+PGEgbmFtZT0id2h5IiBpZD0id2h5Ij4xLjMgV2h5IHRoZSBuZWVkIGZvciBYSFRNTD88L2E+PC9oMj4KKworPHA+VGhlIGJlbmVmaXRzIG9mIG1pZ3JhdGluZyB0byBYSFRNTCAxLjAgYXJlIGRlc2NyaWJlZCBhYm92ZS4gU29tZSBvZiB0aGUKK2JlbmVmaXRzIG9mIG1pZ3JhdGluZyB0byBYSFRNTCBpbiBnZW5lcmFsIGFyZTo8L3A+CisKKzx1bD4KKzxsaT5Eb2N1bWVudCBkZXZlbG9wZXJzIGFuZCB1c2VyIGFnZW50IGRlc2lnbmVycyBhcmUgY29uc3RhbnRseQorZGlzY292ZXJpbmcgbmV3IHdheXMgdG8gZXhwcmVzcyB0aGVpciBpZGVhcyB0aHJvdWdoIG5ldyBtYXJrdXAuIEluIFhNTCwgaXQgaXMKK3JlbGF0aXZlbHkgZWFzeSB0byBpbnRyb2R1Y2UgbmV3IGVsZW1lbnRzIG9yIGFkZGl0aW9uYWwgZWxlbWVudAorYXR0cmlidXRlcy4gIFRoZSBYSFRNTCBmYW1pbHkgaXMgZGVzaWduZWQgdG8gYWNjb21tb2RhdGUgdGhlc2UgZXh0ZW5zaW9ucwordGhyb3VnaCBYSFRNTCBtb2R1bGVzIGFuZCB0ZWNobmlxdWVzIGZvciBkZXZlbG9waW5nIG5ldyBYSFRNTC1jb25mb3JtaW5nCittb2R1bGVzIChkZXNjcmliZWQgaW4gdGhlIGZvcnRoY29taW5nIFhIVE1MIE1vZHVsYXJpemF0aW9uIHNwZWNpZmljYXRpb24pLgorVGhlc2UgbW9kdWxlcyB3aWxsIHBlcm1pdCB0aGUgY29tYmluYXRpb24gb2YgZXhpc3RpbmcgYW5kCituZXcgZmVhdHVyZSBzZXRzIHdoZW4gZGV2ZWxvcGluZyBjb250ZW50IGFuZCB3aGVuIGRlc2lnbmluZyBuZXcgdXNlcgorYWdlbnRzLjwvbGk+CisKKzxsaT5BbHRlcm5hdGUgd2F5cyBvZiBhY2Nlc3NpbmcgdGhlIEludGVybmV0IGFyZSBjb25zdGFudGx5IGJlaW5nCitpbnRyb2R1Y2VkLiAgU29tZSBlc3RpbWF0ZXMgaW5kaWNhdGUgdGhhdCBieSB0aGUgeWVhciAyMDAyLCA3NSUgb2YKK0ludGVybmV0IGRvY3VtZW50IHZpZXdpbmcgd2lsbCBiZSBjYXJyaWVkIG91dCBvbiB0aGVzZSBhbHRlcm5hdGUKK3BsYXRmb3Jtcy4gIFRoZSBYSFRNTCBmYW1pbHkgaXMgZGVzaWduZWQgd2l0aCBnZW5lcmFsIHVzZXIgYWdlbnQKK2ludGVyb3BlcmFiaWxpdHkgaW4gbWluZC4gVGhyb3VnaCBhIG5ldyB1c2VyIGFnZW50IGFuZCBkb2N1bWVudCBwcm9maWxpbmcKK21lY2hhbmlzbSwgc2VydmVycywgcHJveGllcywgYW5kIHVzZXIgYWdlbnRzIHdpbGwgYmUgYWJsZSB0byBwZXJmb3JtCitiZXN0IGVmZm9ydCBjb250ZW50IHRyYW5zZm9ybWF0aW9uLiBVbHRpbWF0ZWx5LCBpdCB3aWxsIGJlIHBvc3NpYmxlIHRvCitkZXZlbG9wIFhIVE1MLWNvbmZvcm1pbmcgY29udGVudCB0aGF0IGlzIHVzYWJsZSBieSBhbnkgWEhUTUwtY29uZm9ybWluZwordXNlciBhZ2VudC48L2xpPgorCis8L3VsPgorPCEtLU9kZFBhZ2UtLT4KKzxoMT48YSBuYW1lPSJkZWZzIiBpZD0iZGVmcyI+Mi4gRGVmaW5pdGlvbnM8L2E+PC9oMT4KKworPGgyPjxhIG5hbWU9InRlcm1zIiBpZD0idGVybXMiPjIuMSBUZXJtaW5vbG9neTwvYT48L2gyPgorCis8cD5UaGUgZm9sbG93aW5nIHRlcm1zIGFyZSB1c2VkIGluIHRoaXMgc3BlY2lmaWNhdGlvbi4gVGhlc2UKK3Rlcm1zIGV4dGVuZCB0aGUgZGVmaW5pdGlvbnMgaW4gPGEgaHJlZj0iI3JlZi1yZmMyMTE5Ij4KK1tSRkMyMTE5XTwvYT4gaW4gd2F5cyBiYXNlZCB1cG9uIHNpbWlsYXIgZGVmaW5pdGlvbnMgaW4gSVNPLzxhYmJyIHRpdGxlPSJJbnRlcm5hdGlvbmFsIEVsZWN0cm8tdGVjaG5pY2FsIENvbW1pc3Npb24iPklFQzwvYWJicj4KKzk5NDUtMToxOTkwIDxhIGhyZWY9IiNyZWYtcG9zaXgiPltQT1NJWC4xXTwvYT46PC9wPgorCis8ZGw+Cis8ZHQ+SW1wbGVtZW50YXRpb24tZGVmaW5lZDwvZHQ+CisKKzxkZD5BIHZhbHVlIG9yIGJlaGF2aW9yIGlzIGltcGxlbWVudGF0aW9uLWRlZmluZWQgd2hlbiBpdCBpcyBsZWZ0Cit0byB0aGUgaW1wbGVtZW50YXRpb24gdG8gZGVmaW5lIFthbmQgZG9jdW1lbnRdIHRoZSBjb3JyZXNwb25kaW5nCityZXF1aXJlbWVudHMgZm9yIGNvcnJlY3QgZG9jdW1lbnQgY29uc3RydWN0aW9uLjwvZGQ+CisKKzxkdD5NYXk8L2R0PgorCis8ZGQ+V2l0aCByZXNwZWN0IHRvIGltcGxlbWVudGF0aW9ucywgdGhlIHdvcmQgIm1heSIgaXMgdG8gYmUKK2ludGVycHJldGVkIGFzIGFuIG9wdGlvbmFsIGZlYXR1cmUgdGhhdCBpcyBub3QgcmVxdWlyZWQgaW4gdGhpcworc3BlY2lmaWNhdGlvbiBidXQgY2FuIGJlIHByb3ZpZGVkLiBXaXRoIHJlc3BlY3QgdG8gPGEgaHJlZj0iI2RvY2NvbmYiPkRvY3VtZW50IENvbmZvcm1hbmNlPC9hPiwgdGhlIHdvcmQgIm1heSIgbWVhbnMgdGhhdAordGhlIG9wdGlvbmFsIGZlYXR1cmUgbXVzdCBub3QgYmUgdXNlZC4gVGhlIHRlcm0gIm9wdGlvbmFsIiBoYXMKK3RoZSBzYW1lIGRlZmluaXRpb24gYXMgIm1heSIuPC9kZD4KKworPGR0Pk11c3Q8L2R0PgorCis8ZGQ+SW4gdGhpcyBzcGVjaWZpY2F0aW9uLCB0aGUgd29yZCAibXVzdCIgaXMgdG8gYmUgaW50ZXJwcmV0ZWQKK2FzIGEgbWFuZGF0b3J5IHJlcXVpcmVtZW50IG9uIHRoZSBpbXBsZW1lbnRhdGlvbiBvciBvbiBTdHJpY3RseQorQ29uZm9ybWluZyBYSFRNTCBEb2N1bWVudHMsIGRlcGVuZGluZyB1cG9uIHRoZSBjb250ZXh0LiBUaGUgdGVybQorInNoYWxsIiBoYXMgdGhlIHNhbWUgZGVmaW5pdGlvbiBhcyAibXVzdCIuPC9kZD4KKworPGR0PlJlc2VydmVkPC9kdD4KKworPGRkPkEgdmFsdWUgb3IgYmVoYXZpb3IgaXMgdW5zcGVjaWZpZWQsIGJ1dCBpdCBpcyBub3QgYWxsb3dlZCB0bworYmUgdXNlZCBieSBDb25mb3JtaW5nIERvY3VtZW50cyBub3IgdG8gYmUgc3VwcG9ydGVkIGJ5IGEKK0NvbmZvcm1pbmcgVXNlciBBZ2VudHMuPC9kZD4KKworPGR0PlNob3VsZDwvZHQ+CisKKzxkZD5XaXRoIHJlc3BlY3QgdG8gaW1wbGVtZW50YXRpb25zLCB0aGUgd29yZCAic2hvdWxkIiBpcyB0byBiZQoraW50ZXJwcmV0ZWQgYXMgYW4gaW1wbGVtZW50YXRpb24gcmVjb21tZW5kYXRpb24sIGJ1dCBub3QgYQorcmVxdWlyZW1lbnQuIFdpdGggcmVzcGVjdCB0byBkb2N1bWVudHMsIHRoZSB3b3JkICJzaG91bGQiIGlzIHRvCitiZSBpbnRlcnByZXRlZCBhcyByZWNvbW1lbmRlZCBwcm9ncmFtbWluZyBwcmFjdGljZSBmb3IgZG9jdW1lbnRzCithbmQgYSByZXF1aXJlbWVudCBmb3IgU3RyaWN0bHkgQ29uZm9ybWluZyBYSFRNTCBEb2N1bWVudHMuPC9kZD4KKworPGR0PlN1cHBvcnRlZDwvZHQ+CisKKzxkZD5DZXJ0YWluIGZhY2lsaXRpZXMgaW4gdGhpcyBzcGVjaWZpY2F0aW9uIGFyZSBvcHRpb25hbC4gSWYgYQorZmFjaWxpdHkgaXMgc3VwcG9ydGVkLCBpdCBiZWhhdmVzIGFzIHNwZWNpZmllZCBieSB0aGlzCitzcGVjaWZpY2F0aW9uLjwvZGQ+CisKKzxkdD5VbnNwZWNpZmllZDwvZHQ+CisKKzxkZD5XaGVuIGEgdmFsdWUgb3IgYmVoYXZpb3IgaXMgdW5zcGVjaWZpZWQsIHRoZSBzcGVjaWZpY2F0aW9uCitkZWZpbmVzIG5vIHBvcnRhYmlsaXR5IHJlcXVpcmVtZW50cyBmb3IgYSBmYWNpbGl0eSBvbiBhbgoraW1wbGVtZW50YXRpb24gZXZlbiB3aGVuIGZhY2VkIHdpdGggYSBkb2N1bWVudCB0aGF0IHVzZXMgdGhlCitmYWNpbGl0eS4gQSBkb2N1bWVudCB0aGF0IHJlcXVpcmVzIHNwZWNpZmljIGJlaGF2aW9yIGluIHN1Y2ggYW4KK2luc3RhbmNlLCByYXRoZXIgdGhhbiB0b2xlcmF0aW5nIGFueSBiZWhhdmlvciB3aGVuIHVzaW5nIHRoYXQKK2ZhY2lsaXR5LCBpcyBub3QgYSBTdHJpY3RseSBDb25mb3JtaW5nIFhIVE1MIERvY3VtZW50LjwvZGQ+Cis8L2RsPgorCis8aDI+PGEgbmFtZT0iZ2VuZXJhbCIgaWQ9ImdlbmVyYWwiPjIuMiBHZW5lcmFsIFRlcm1zPC9hPjwvaDI+CisKKzxkbD4KKzxkdD5BdHRyaWJ1dGU8L2R0PgorCis8ZGQ+QW4gYXR0cmlidXRlIGlzIGEgcGFyYW1ldGVyIHRvIGFuIGVsZW1lbnQgZGVjbGFyZWQgaW4gdGhlCitEVEQuIEFuIGF0dHJpYnV0ZSdzIHR5cGUgYW5kIHZhbHVlIHJhbmdlLCBpbmNsdWRpbmcgYSBwb3NzaWJsZQorZGVmYXVsdCB2YWx1ZSwgYXJlIGRlZmluZWQgaW4gdGhlIERURC48L2RkPgorCis8ZHQ+RFREPC9kdD4KKworPGRkPkEgRFRELCBvciBkb2N1bWVudCB0eXBlIGRlZmluaXRpb24sIGlzIGEgY29sbGVjdGlvbiBvZiBYTUwKK2RlY2xhcmF0aW9ucyB0aGF0LCBhcyBhIGNvbGxlY3Rpb24sIGRlZmluZXMgdGhlIGxlZ2FsIHN0cnVjdHVyZSwKKzxzcGFuIGNsYXNzPSJ0ZXJtIj5lbGVtZW50czwvc3Bhbj4sIGFuZCA8c3BhbiBjbGFzcz0idGVybSI+CithdHRyaWJ1dGVzPC9zcGFuPiB0aGF0IGFyZSBhdmFpbGFibGUgZm9yIHVzZSBpbiBhIGRvY3VtZW50IHRoYXQKK2NvbXBsaWVzIHRvIHRoZSBEVEQuPC9kZD4KKworPGR0PkRvY3VtZW50PC9kdD4KKworPGRkPkEgZG9jdW1lbnQgaXMgYSBzdHJlYW0gb2YgZGF0YSB0aGF0LCBhZnRlciBiZWluZyBjb21iaW5lZAord2l0aCBhbnkgb3RoZXIgc3RyZWFtcyBpdCByZWZlcmVuY2VzLCBpcyBzdHJ1Y3R1cmVkIHN1Y2ggdGhhdCBpdAoraG9sZHMgaW5mb3JtYXRpb24gY29udGFpbmVkIHdpdGhpbiA8c3BhbiBjbGFzcz0idGVybSI+CitlbGVtZW50czwvc3Bhbj4gdGhhdCBhcmUgb3JnYW5pemVkIGFzIGRlZmluZWQgaW4gdGhlIGFzc29jaWF0ZWQKKzxzcGFuIGNsYXNzPSJ0ZXJtIj5EVEQ8L3NwYW4+LiBTZWUgPGEgaHJlZj0iI2RvY2NvbmYiPkRvY3VtZW50CitDb25mb3JtYW5jZTwvYT4gZm9yIG1vcmUgaW5mb3JtYXRpb24uPC9kZD4KKworPGR0PkVsZW1lbnQ8L2R0PgorCis8ZGQ+QW4gZWxlbWVudCBpcyBhIGRvY3VtZW50IHN0cnVjdHVyaW5nIHVuaXQgZGVjbGFyZWQgaW4gdGhlCis8c3BhbiBjbGFzcz0idGVybSI+RFREPC9zcGFuPi4gVGhlIGVsZW1lbnQncyBjb250ZW50IG1vZGVsIGlzCitkZWZpbmVkIGluIHRoZSA8c3BhbiBjbGFzcz0idGVybSI+RFREPC9zcGFuPiwgYW5kIGFkZGl0aW9uYWwKK3NlbWFudGljcyBtYXkgYmUgZGVmaW5lZCBpbiB0aGUgcHJvc2UgZGVzY3JpcHRpb24gb2YgdGhlCitlbGVtZW50LjwvZGQ+CisKKzxkdD48YSBuYW1lPSJmYWNpbGl0aWVzIiBpZD0iZmFjaWxpdGllcyI+RmFjaWxpdGllczwvYT48L2R0PgorCis8ZGQ+RnVuY3Rpb25hbGl0eSBpbmNsdWRlcyA8c3BhbiBjbGFzcz0idGVybSI+ZWxlbWVudHM8L3NwYW4+LAorPHNwYW4gY2xhc3M9InRlcm0iPmF0dHJpYnV0ZXM8L3NwYW4+LCBhbmQgdGhlIHNlbWFudGljcworYXNzb2NpYXRlZCB3aXRoIHRob3NlIDxzcGFuIGNsYXNzPSJ0ZXJtIj5lbGVtZW50czwvc3Bhbj4gYW5kCis8c3BhbiBjbGFzcz0idGVybSI+YXR0cmlidXRlczwvc3Bhbj4uIEFuIGltcGxlbWVudGF0aW9uCitzdXBwb3J0aW5nIHRoYXQgZnVuY3Rpb25hbGl0eSBpcyBzYWlkIHRvIHByb3ZpZGUgdGhlIG5lY2Vzc2FyeQorZmFjaWxpdGllcy48L2RkPgorCis8ZHQ+SW1wbGVtZW50YXRpb248L2R0PgorCis8ZGQ+QW4gaW1wbGVtZW50YXRpb24gaXMgYSBzeXN0ZW0gdGhhdCBwcm92aWRlcyBjb2xsZWN0aW9uIG9mCis8c3BhbiBjbGFzcz0idGVybSI+ZmFjaWxpdGllczwvc3Bhbj4gYW5kIHNlcnZpY2VzIHRoYXQgc3VwcG9ydHMKK3RoaXMgc3BlY2lmaWNhdGlvbi4gU2VlIDxhIGhyZWY9IiN1YWNvbmYiPlVzZXIgQWdlbnQKK0NvbmZvcm1hbmNlPC9hPiBmb3IgbW9yZSBpbmZvcm1hdGlvbi48L2RkPgorCis8ZHQ+UGFyc2luZzwvZHQ+CisKKzxkZD5QYXJzaW5nIGlzIHRoZSBhY3Qgd2hlcmVieSBhIDxzcGFuIGNsYXNzPSJ0ZXJtIj4KK2RvY3VtZW50PC9zcGFuPiBpcyBzY2FubmVkLCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZCB3aXRoaW4KK3RoZSA8c3BhbiBjbGFzcz0idGVybSI+ZG9jdW1lbnQ8L3NwYW4+IGlzIGZpbHRlcmVkIGludG8gdGhlCitjb250ZXh0IG9mIHRoZSA8c3BhbiBjbGFzcz0idGVybSI+ZWxlbWVudHM8L3NwYW4+IGluIHdoaWNoIHRoZQoraW5mb3JtYXRpb24gaXMgc3RydWN0dXJlZC48L2RkPgorCis8ZHQ+UmVuZGVyaW5nPC9kdD4KKworPGRkPlJlbmRlcmluZyBpcyB0aGUgYWN0IHdoZXJlYnkgdGhlIGluZm9ybWF0aW9uIGluIGEgPHNwYW4gY2xhc3M9InRlcm0iPmRvY3VtZW50PC9zcGFuPiBpcyBwcmVzZW50ZWQuIFRoaXMgcHJlc2VudGF0aW9uIGlzCitkb25lIGluIHRoZSBmb3JtIG1vc3QgYXBwcm9wcmlhdGUgdG8gdGhlIGVudmlyb25tZW50IChlLmcuCithdXJhbGx5LCB2aXN1YWxseSwgaW4gcHJpbnQpLjwvZGQ+CisKKzxkdD5Vc2VyIEFnZW50PC9kdD4KKworPGRkPkEgdXNlciBhZ2VudCBpcyBhbiA8c3BhbiBjbGFzcz0idGVybSI+aW1wbGVtZW50YXRpb248L3NwYW4+Cit0aGF0IHJldHJpZXZlcyBhbmQgcHJvY2Vzc2VzIFhIVE1MIGRvY3VtZW50cy4gU2VlIDxhIGhyZWY9IiN1YWNvbmYiPlVzZXIgQWdlbnQgQ29uZm9ybWFuY2U8L2E+IGZvciBtb3JlIGluZm9ybWF0aW9uLjwvZGQ+CisKKzxkdD5WYWxpZGF0aW9uPC9kdD4KKworPGRkPlZhbGlkYXRpb24gaXMgYSBwcm9jZXNzIHdoZXJlYnkgPHNwYW4gY2xhc3M9InRlcm0iPgorZG9jdW1lbnRzPC9zcGFuPiBhcmUgdmVyaWZpZWQgYWdhaW5zdCB0aGUgYXNzb2NpYXRlZCA8c3BhbiBjbGFzcz0idGVybSI+RFREPC9zcGFuPiwgZW5zdXJpbmcgdGhhdCB0aGUgc3RydWN0dXJlLCB1c2Ugb2YgPHNwYW4gY2xhc3M9InRlcm0iPmVsZW1lbnRzPC9zcGFuPiwgYW5kIHVzZSBvZiA8c3BhbiBjbGFzcz0idGVybSI+CithdHRyaWJ1dGVzPC9zcGFuPiBhcmUgY29uc2lzdGVudCB3aXRoIHRoZSBkZWZpbml0aW9ucyBpbiB0aGUKKzxzcGFuIGNsYXNzPSJ0ZXJtIj5EVEQ8L3NwYW4+LjwvZGQ+CisKKzxkdD48YSBuYW1lPSJ3ZWxsZm9ybWVkIiBpZD0id2VsbGZvcm1lZCI+V2VsbC1mb3JtZWQ8L2E+PC9kdD4KKworPGRkPkEgPHNwYW4gY2xhc3M9InRlcm0iPmRvY3VtZW50PC9zcGFuPiBpcyB3ZWxsLWZvcm1lZCB3aGVuIGl0CitpcyBzdHJ1Y3R1cmVkIGFjY29yZGluZyB0byB0aGUgcnVsZXMgZGVmaW5lZCBpbiA8YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMteG1sI3NlYy13ZWxsLWZvcm1lZCI+U2VjdGlvbiAyLjE8L2E+IG9mCit0aGUgWE1MIDEuMCBSZWNvbW1lbmRhdGlvbiA8YSBocmVmPSIjcmVmLXhtbCI+W1hNTF08L2E+LgorQmFzaWNhbGx5LCB0aGlzIGRlZmluaXRpb24gc3RhdGVzIHRoYXQgZWxlbWVudHMsIGRlbGltaXRlZCBieQordGhlaXIgc3RhcnQgYW5kIGVuZCB0YWdzLCBhcmUgbmVzdGVkIHByb3Blcmx5IHdpdGhpbiBvbmUKK2Fub3RoZXIuPC9kZD4KKzwvZGw+CisKKzwhLS1PZGRQYWdlLS0+Cis8aDE+PGEgbmFtZT0ibm9ybWF0aXZlIiBpZD0ibm9ybWF0aXZlIj4zLiBOb3JtYXRpdmUgRGVmaW5pdGlvbiBvZgorWEhUTUwgMS4wPC9hPjwvaDE+CisKKzxoMj48YSBuYW1lPSJkb2Njb25mIiBpZD0iZG9jY29uZiI+My4xIERvY3VtZW50CitDb25mb3JtYW5jZTwvYT48L2gyPgorCis8cD5UaGlzIHZlcnNpb24gb2YgWEhUTUwgcHJvdmlkZXMgYSBkZWZpbml0aW9uIG9mIHN0cmljdGx5Citjb25mb3JtaW5nIFhIVE1MIGRvY3VtZW50cywgd2hpY2ggYXJlIHJlc3RyaWN0ZWQgdG8gdGFncyBhbmQKK2F0dHJpYnV0ZXMgZnJvbSB0aGUgWEhUTUwgbmFtZXNwYWNlLiBTZWUgPGEgaHJlZj0iI3dlbGwtZm9ybWVkIj5TZWN0aW9uIDMuMS4yPC9hPiBmb3IgaW5mb3JtYXRpb24gb24gdXNpbmcgWEhUTUwKK3dpdGggb3RoZXIgbmFtZXNwYWNlcywgZm9yIGluc3RhbmNlLCB0byBpbmNsdWRlIG1ldGFkYXRhCitleHByZXNzZWQgaW4gPGFiYnIgdGl0bGU9IlJlc291cmNlIERlc2NyaXB0aW9uIEZvcm1hdCI+UkRGPC9hYmJyPiB3aXRoaW4gWEhUTUwgZG9jdW1lbnRzLjwvcD4KKworPGgzPjxhIG5hbWU9InN0cmljdCIgaWQ9InN0cmljdCI+My4xLjEgU3RyaWN0bHkgQ29uZm9ybWluZworRG9jdW1lbnRzPC9hPjwvaDM+CisKKzxwPkEgU3RyaWN0bHkgQ29uZm9ybWluZyBYSFRNTCBEb2N1bWVudCBpcyBhIGRvY3VtZW50IHRoYXQKK3JlcXVpcmVzIG9ubHkgdGhlIGZhY2lsaXRpZXMgZGVzY3JpYmVkIGFzIG1hbmRhdG9yeSBpbiB0aGlzCitzcGVjaWZpY2F0aW9uLiBTdWNoIGEgZG9jdW1lbnQgbXVzdCBtZWV0IGFsbCBvZiB0aGUgZm9sbG93aW5nCitjcml0ZXJpYTo8L3A+CisKKzxvbD4KKzxsaT4KKzxwPkl0IG11c3QgdmFsaWRhdGUgYWdhaW5zdCBvbmUgb2YgdGhlIHRocmVlIERURHMgZm91bmQgaW4gPGEgaHJlZj0iI2R0ZHMiPkFwcGVuZGl4JiN4QTA7QTwvYT4uPC9wPgorPC9saT4KKworPGxpPgorPHA+VGhlIHJvb3QgZWxlbWVudCBvZiB0aGUgZG9jdW1lbnQgbXVzdCBiZSA8Y29kZT4KKyZsdDtodG1sJmd0OzwvY29kZT4uPC9wPgorPC9saT4KKworPGxpPgorPHA+VGhlIHJvb3QgZWxlbWVudCBvZiB0aGUgZG9jdW1lbnQgbXVzdCBkZXNpZ25hdGUgdGhlIFhIVE1MCituYW1lc3BhY2UgdXNpbmcgdGhlIDxjb2RlPnhtbG5zPC9jb2RlPiBhdHRyaWJ1dGUgPGEgaHJlZj0iI3JlZi14bWxucyI+W1hNTE5BTUVTXTwvYT4uIFRoZSBuYW1lc3BhY2UgZm9yIFhIVE1MIGlzCitkZWZpbmVkIHRvIGJlIAorPGNvZGU+aHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbDwvY29kZT4uPC9wPgorPC9saT4KKworPGxpPgorPHA+VGhlcmUgbXVzdCBiZSBhIERPQ1RZUEUgZGVjbGFyYXRpb24gaW4gdGhlIGRvY3VtZW50IHByaW9yIHRvCit0aGUgcm9vdCBlbGVtZW50LiBUaGUgcHVibGljIGlkZW50aWZpZXIgaW5jbHVkZWQgaW4KK3RoZSBET0NUWVBFIGRlY2xhcmF0aW9uIG11c3QgcmVmZXJlbmNlIG9uZSBvZiB0aGUgdGhyZWUgRFREcworZm91bmQgaW4gPGEgaHJlZj0iI2R0ZHMiPkFwcGVuZGl4JiN4QTA7QTwvYT4gdXNpbmcgdGhlIHJlc3BlY3RpdmUKK0Zvcm1hbCBQdWJsaWMgSWRlbnRpZmllci4gVGhlIHN5c3RlbSBpZGVudGlmaWVyIG1heSBiZSBjaGFuZ2VkIHRvIHJlZmxlY3QKK2xvY2FsIHN5c3RlbSBjb252ZW50aW9ucy48L3A+CisKKzxwcmU+CismbHQ7IURPQ1RZUEUgaHRtbCAKKyAgICAgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIKKyAgICAgImh0dHA6Ly93d3cudzMub3JnL1RSLzE5OTkvUFIteGh0bWwxLTE5OTkxMjEwL0RURC94aHRtbDEtc3RyaWN0LmR0ZCZndDsKKworJmx0OyFET0NUWVBFIGh0bWwgCisgICAgIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iCisgICAgICJodHRwOi8vd3d3LnczLm9yZy9UUi8xOTk5L1BSLXhodG1sMS0xOTk5MTIxMC9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQmZ3Q7CisKKyZsdDshRE9DVFlQRSBodG1sIAorICAgICBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBGcmFtZXNldC8vRU4iCisgICAgICJodHRwOi8vd3d3LnczLm9yZy9UUi8xOTk5L1BSLXhodG1sMS0xOTk5MTIxMC9EVEQveGh0bWwxLWZyYW1lc2V0LmR0ZCZndDsKKzwvcHJlPgorPC9saT4KKzwvb2w+CisKKzxwPkhlcmUgaXMgYW4gZXhhbXBsZSBvZiBhIG1pbmltYWwgWEhUTUwgZG9jdW1lbnQuPC9wPgorCis8ZGl2IGNsYXNzPSJnb29kIj4KKzxwcmU+CismbHQ7P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Jmd0OworJmx0OyFET0NUWVBFIGh0bWwgCisgICAgIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFN0cmljdC8vRU4iCisgICAgImh0dHA6Ly93d3cudzMub3JnL1RSLzE5OTkvUFIteGh0bWwxLTE5OTkxMjEwL0RURC94aHRtbDEtc3RyaWN0LmR0ZCImZ3Q7CismbHQ7aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgeG1sOmxhbmc9ImVuIiBsYW5nPSJlbiImZ3Q7CisgICZsdDtoZWFkJmd0OworICAgICZsdDt0aXRsZSZndDtWaXJ0dWFsIExpYnJhcnkmbHQ7L3RpdGxlJmd0OworICAmbHQ7L2hlYWQmZ3Q7CisgICZsdDtib2R5Jmd0OworICAgICZsdDtwJmd0O01vdmVkIHRvICZsdDthIGhyZWY9Imh0dHA6Ly92bGliLm9yZy8iJmd0O3ZsaWIub3JnJmx0Oy9hJmd0Oy4mbHQ7L3AmZ3Q7CisgICZsdDsvYm9keSZndDsKKyZsdDsvaHRtbCZndDs8L3ByZT4KKzwvZGl2PgorCis8cD5Ob3RlIHRoYXQgaW4gdGhpcyBleGFtcGxlLCB0aGUgWE1MIGRlY2xhcmF0aW9uIGlzIGluY2x1ZGVkLiBBbiBYTUwKK2RlY2xhcmF0aW9uIGxpa2UgdGhlIG9uZSBhYm92ZSBpcworbm90IHJlcXVpcmVkIGluIGFsbCBYTUwgZG9jdW1lbnRzLiBYSFRNTCBkb2N1bWVudCBhdXRob3JzIGFyZSBzdHJvbmdseSBlbmNvdXJhZ2VkIHRvIHVzZSBYTUwgZGVjbGFyYXRpb25zIGluIGFsbCB0aGVpciBkb2N1bWVudHMuIFN1Y2ggYSBkZWNsYXJhdGlvbiBpcyByZXF1aXJlZAord2hlbiB0aGUgY2hhcmFjdGVyIGVuY29kaW5nIG9mIHRoZSBkb2N1bWVudCBpcyBvdGhlciB0aGFuIHRoZSBkZWZhdWx0IFVURi04IG9yCitVVEYtMTYuPC9wPgorCis8aDM+PGEgbmFtZT0id2VsbC1mb3JtZWQiIGlkPSJ3ZWxsLWZvcm1lZCI+My4xLjIgVXNpbmcgWEhUTUwgd2l0aAorb3RoZXIgbmFtZXNwYWNlczwvYT48L2gzPgorCis8cD5UaGUgWEhUTUwgbmFtZXNwYWNlIG1heSBiZSB1c2VkIHdpdGggb3RoZXIgWE1MIG5hbWVzcGFjZXMKK2FzIHBlciA8YSBocmVmPSIjcmVmLXhtbG5zIj5bWE1MTkFNRVNdPC9hPiwgYWx0aG91Z2ggc3VjaAorZG9jdW1lbnRzIGFyZSBub3Qgc3RyaWN0bHkgY29uZm9ybWluZyBYSFRNTCAxLjAgZG9jdW1lbnRzIGFzCitkZWZpbmVkIGFib3ZlLiBGdXR1cmUgd29yayBieSBXM0Mgd2lsbCBhZGRyZXNzIHdheXMgdG8gc3BlY2lmeQorY29uZm9ybWFuY2UgZm9yIGRvY3VtZW50cyBpbnZvbHZpbmcgbXVsdGlwbGUgbmFtZXNwYWNlcy48L3A+CisKKzxwPlRoZSBmb2xsb3dpbmcgZXhhbXBsZSBzaG93cyB0aGUgd2F5IGluIHdoaWNoIFhIVE1MIDEuMCBjb3VsZAorYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSBNYXRoTUwgUmVjb21tZW5kYXRpb246PC9wPgorCis8ZGl2IGNsYXNzPSJnb29kIj4KKzxwcmU+CismbHQ7aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgeG1sOmxhbmc9ImVuIiBsYW5nPSJlbiImZ3Q7CisgICZsdDtoZWFkJmd0OworICAgICZsdDt0aXRsZSZndDtBIE1hdGggRXhhbXBsZSZsdDsvdGl0bGUmZ3Q7CisgICZsdDsvaGVhZCZndDsKKyAgJmx0O2JvZHkmZ3Q7CisgICAgJmx0O3AmZ3Q7VGhlIGZvbGxvd2luZyBpcyBNYXRoTUwgbWFya3VwOiZsdDsvcCZndDsKKyAgICAmbHQ7bWF0aCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTCImZ3Q7CisgICAgICAmbHQ7YXBwbHkmZ3Q7ICZsdDtsb2cvJmd0OworICAgICAgICAmbHQ7bG9nYmFzZSZndDsKKyAgICAgICAgICAmbHQ7Y24mZ3Q7IDMgJmx0Oy9jbiZndDsKKyAgICAgICAgJmx0Oy9sb2diYXNlJmd0OworICAgICAgICAmbHQ7Y2kmZ3Q7IHggJmx0Oy9jaSZndDsKKyAgICAgICZsdDsvYXBwbHkmZ3Q7CisgICAgJmx0Oy9tYXRoJmd0OworICAmbHQ7L2JvZHkmZ3Q7CismbHQ7L2h0bWwmZ3Q7Cis8L3ByZT4KKzwvZGl2PgorCis8cD5UaGUgZm9sbG93aW5nIGV4YW1wbGUgc2hvd3MgdGhlIHdheSBpbiB3aGljaCBYSFRNTCAxLjAgbWFya3VwCitjb3VsZCBiZSBpbmNvcnBvcmF0ZWQgaW50byBhbm90aGVyIFhNTCBuYW1lc3BhY2U6PC9wPgorCis8ZGl2IGNsYXNzPSJnb29kIj4KKzxwcmU+CismbHQ7P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Jmd0OworJmx0OyEtLSBpbml0aWFsbHksIHRoZSBkZWZhdWx0IG5hbWVzcGFjZSBpcyAiYm9va3MiIC0tJmd0OworJmx0O2Jvb2sgeG1sbnM9J3Vybjpsb2MuZ292OmJvb2tzJworICAgIHhtbG5zOmlzYm49J3VybjpJU0JOOjAtMzk1LTM2MzQxLTYnIHhtbDpsYW5nPSJlbiIgbGFuZz0iZW4iJmd0OworICAmbHQ7dGl0bGUmZ3Q7Q2hlYXBlciBieSB0aGUgRG96ZW4mbHQ7L3RpdGxlJmd0OworICAmbHQ7aXNibjpudW1iZXImZ3Q7MTU2ODQ5MTM3OSZsdDsvaXNibjpudW1iZXImZ3Q7CisgICZsdDtub3RlcyZndDsKKyAgICAmbHQ7IS0tIG1ha2UgSFRNTCB0aGUgZGVmYXVsdCBuYW1lc3BhY2UgZm9yIGEgaHlwZXJ0ZXh0IGNvbW1lbnRhcnkgLS0mZ3Q7CisgICAgJmx0O3AgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwnJmd0OworICAgICAgICBUaGlzIGlzIGFsc28gYXZhaWxhYmxlICZsdDthIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnLyImZ3Q7b25saW5lJmx0Oy9hJmd0Oy4KKyAgICAmbHQ7L3AmZ3Q7CisgICZsdDsvbm90ZXMmZ3Q7CismbHQ7L2Jvb2smZ3Q7Cis8L3ByZT4KKzwvZGl2PgorCis8aDI+PGEgbmFtZT0idWFjb25mIiBpZD0idWFjb25mIj4zLjIgVXNlciBBZ2VudAorQ29uZm9ybWFuY2U8L2E+PC9oMj4KKworPHA+QSBjb25mb3JtaW5nIHVzZXIgYWdlbnQgbXVzdCBtZWV0IGFsbCBvZiB0aGUgZm9sbG93aW5nCitjcml0ZXJpYTo8L3A+CisKKzxvbD4KKzxsaT5JbiBvcmRlciB0byBiZSBjb25zaXN0ZW50IHdpdGggdGhlIFhNTCAxLjAgUmVjb21tZW5kYXRpb24gPGEgaHJlZj0iI3JlZi14bWwiPltYTUxdPC9hPiwgdGhlIHVzZXIgYWdlbnQgbXVzdCBwYXJzZSBhbmQgZXZhbHVhdGUKK2FuIFhIVE1MIGRvY3VtZW50IGZvciB3ZWxsLWZvcm1lZG5lc3MuIElmIHRoZSB1c2VyIGFnZW50IGNsYWltcwordG8gYmUgYSB2YWxpZGF0aW5nIHVzZXIgYWdlbnQsIGl0IG11c3QgYWxzbyB2YWxpZGF0ZSBkb2N1bWVudHMKK2FnYWluc3QgdGhlaXIgcmVmZXJlbmNlZCBEVERzIGFjY29yZGluZyB0byA8YSBocmVmPSIjcmVmLXhtbCI+CitbWE1MXTwvYT4uPC9saT4KKworPGxpPldoZW4gdGhlIHVzZXIgYWdlbnQgY2xhaW1zIHRvIHN1cHBvcnQgPGEgaHJlZj0iI2ZhY2lsaXRpZXMiPgorZmFjaWxpdGllczwvYT4gZGVmaW5lZCB3aXRoaW4gdGhpcyBzcGVjaWZpY2F0aW9uIG9yIHJlcXVpcmVkIGJ5Cit0aGlzIHNwZWNpZmljYXRpb24gdGhyb3VnaCBub3JtYXRpdmUgcmVmZXJlbmNlLCBpdCBtdXN0IGRvIHNvIGluCit3YXlzIGNvbnNpc3RlbnQgd2l0aCB0aGUgZmFjaWxpdGllcycgZGVmaW5pdGlvbi48L2xpPgorCis8bGk+V2hlbiBhIHVzZXIgYWdlbnQgcHJvY2Vzc2VzIGFuIFhIVE1MIGRvY3VtZW50IGFzIGdlbmVyaWMgWE1MLAoraXQgc2hhbGwgb25seSByZWNvZ25pemUgYXR0cmlidXRlcyBvZiB0eXBlCis8Y29kZT5JRDwvY29kZT4gKGUuZy4gdGhlIDxjb2RlPmlkPC9jb2RlPiBhdHRyaWJ1dGUgb24gbW9zdCBYSFRNTCBlbGVtZW50cykKK2FzIGZyYWdtZW50IGlkZW50aWZpZXJzLjwvbGk+CisKKzxsaT5JZiBhIHVzZXIgYWdlbnQgZW5jb3VudGVycyBhbiBlbGVtZW50IGl0IGRvZXMgbm90IHJlY29nbml6ZSwKK2l0IG11c3QgcmVuZGVyIHRoZSBlbGVtZW50J3MgY29udGVudC48L2xpPgorCis8bGk+SWYgYSB1c2VyIGFnZW50IGVuY291bnRlcnMgYW4gYXR0cmlidXRlIGl0IGRvZXMgbm90CityZWNvZ25pemUsIGl0IG11c3QgaWdub3JlIHRoZSBlbnRpcmUgYXR0cmlidXRlIHNwZWNpZmljYXRpb24KKyhpLmUuLCB0aGUgYXR0cmlidXRlIGFuZCBpdHMgdmFsdWUpLjwvbGk+CisKKzxsaT5JZiBhIHVzZXIgYWdlbnQgZW5jb3VudGVycyBhbiBhdHRyaWJ1dGUgdmFsdWUgaXQgZG9lc24ndAorcmVjb2duaXplLCBpdCBtdXN0IHVzZSB0aGUgZGVmYXVsdCBhdHRyaWJ1dGUgdmFsdWUuPC9saT4KKworPGxpPklmIGl0IGVuY291bnRlcnMgYW4gZW50aXR5IHJlZmVyZW5jZSAob3RoZXIgdGhhbiBvbmUKK29mIHRoZSBwcmVkZWZpbmVkIGVudGl0aWVzKSBmb3Igd2hpY2ggdGhlIFVzZXIgQWdlbnQgaGFzIAorcHJvY2Vzc2VkIG5vIGRlY2xhcmF0aW9uICh3aGljaCBjb3VsZCBoYXBwZW4gaWYgdGhlIGRlY2xhcmF0aW9uCitpcyBpbiB0aGUgZXh0ZXJuYWwgc3Vic2V0IHdoaWNoIHRoZSBVc2VyIEFnZW50IGhhc24ndCByZWFkKSwgdGhlIGVudGl0eSAKK3JlZmVyZW5jZSBzaG91bGQgYmUgcmVuZGVyZWQgYXMgdGhlIGNoYXJhY3RlcnMgKHN0YXJ0aW5nCit3aXRoIHRoZSBhbXBlcnNhbmQgYW5kIGVuZGluZyB3aXRoIHRoZSBzZW1pLWNvbG9uKSB0aGF0CittYWtlIHVwIHRoZSBlbnRpdHkgcmVmZXJlbmNlLjwvbGk+CisKKzxsaT5XaGVuIHJlbmRlcmluZyBjb250ZW50LCBVc2VyIEFnZW50cyB0aGF0IGVuY291bnRlciAKK2NoYXJhY3RlcnMgb3IgY2hhcmFjdGVyIGVudGl0eSByZWZlcmVuY2VzIHRoYXQgYXJlIHJlY29nbml6ZWQgYnV0IG5vdCByZW5kZXJhYmxlIHNob3VsZCBkaXNwbGF5IHRoZSBkb2N1bWVudCBpbiBzdWNoIGEgd2F5IHRoYXQgaXQgaXMgb2J2aW91cyB0byB0aGUgdXNlciB0aGF0IG5vcm1hbCByZW5kZXJpbmcgaGFzIG5vdCB0YWtlbiBwbGFjZS48L2xpPgorCis8bGk+CitUaGUgZm9sbG93aW5nIGNoYXJhY3RlcnMgYXJlIGRlZmluZWQgaW4gW1hNTF0gYXMgd2hpdGVzcGFjZSBjaGFyYWN0ZXJzOgorCis8dWw+Cis8bGk+U3BhY2UgKCZhbXA7I3gwMDIwOyk8L2xpPgorPGxpPlRhYiAoJmFtcDsjeDAwMDk7KTwvbGk+Cis8bGk+Q2FycmlhZ2UgcmV0dXJuICgmYW1wOyN4MDAwRDspPC9saT4KKzxsaT5MaW5lIGZlZWQgKCZhbXA7I3gwMDBBOyk8L2xpPgorPC91bD4KKworPHA+CitUaGUgWE1MIHByb2Nlc3NvciBub3JtYWxpemVzIGRpZmZlcmVudCBzeXN0ZW0ncyBsaW5lIGVuZCBjb2RlcyBpbnRvIG9uZQorc2luZ2xlIGxpbmUtZmVlZCBjaGFyYWN0ZXIsIHRoYXQgaXMgcGFzc2VkIHVwIHRvIHRoZSBhcHBsaWNhdGlvbi4gVGhlIFhIVE1MCit1c2VyIGFnZW50IGluIGFkZGl0aW9uLCBtdXN0IHRyZWF0IHRoZSBmb2xsb3dpbmcgY2hhcmFjdGVycyBhcyB3aGl0ZXNwYWNlOgorPC9wPgorCis8dWw+Cis8bGk+Rm9ybSBmZWVkICgmYW1wOyN4MDAwQzspPC9saT4KKzxsaT5aZXJvLXdpZHRoIHNwYWNlICgmYW1wOyN4MjAwQjspPC9saT4KKzwvdWw+CisKKzxwPgorSW4gZWxlbWVudHMgd2hlcmUgdGhlICd4bWw6c3BhY2UnIGF0dHJpYnV0ZSBpcyBzZXQgdG8gJ3ByZXNlcnZlJywgdGhlIHVzZXIKK2FnZW50IG11c3QgbGVhdmUgYWxsIHdoaXRlc3BhY2UgY2hhcmFjdGVycyBpbnRhY3QgKHdpdGggdGhlIGV4Y2VwdGlvbiBvZgorbGVhZGluZyBhbmQgdHJhaWxpbmcgd2hpdGVzcGFjZSBjaGFyYWN0ZXJzLCB3aGljaCBzaG91bGQgYmUgcmVtb3ZlZCkuCitPdGhlcndpc2UsIHdoaXRlc3BhY2UKK2lzIGhhbmRsZWQgYWNjb3JkaW5nIHRvIHRoZSBmb2xsb3dpbmcgcnVsZXM6Cis8L3A+CisKKzx1bD4KKzxsaT4KK0FsbCB3aGl0ZXNwYWNlIHN1cnJvdW5kaW5nIGJsb2NrIGVsZW1lbnRzIHNob3VsZCBiZSByZW1vdmVkLgorPC9saT4KKzxsaT4KK0NvbW1lbnRzIGFyZSByZW1vdmVkIGVudGlyZWx5IGFuZCBkbyBub3QgYWZmZWN0IHdoaXRlc3BhY2UgaGFuZGxpbmcuIE9uZQord2hpdGVzcGFjZSBjaGFyYWN0ZXIgb24gZWl0aGVyIHNpZGUgb2YgYSBjb21tZW50IGlzIHRyZWF0ZWQgYXMgdHdvIHdoaXRlCitzcGFjZSBjaGFyYWN0ZXJzLgorPC9saT4KKzxsaT4KK0xlYWRpbmcgYW5kIHRyYWlsaW5nIHdoaXRlc3BhY2UgaW5zaWRlIGEgYmxvY2sgZWxlbWVudCBtdXN0IGJlIHJlbW92ZWQuCis8L2xpPgorPGxpPkxpbmUgZmVlZCBjaGFyYWN0ZXJzIHdpdGhpbiBhIGJsb2NrIGVsZW1lbnQgbXVzdCBiZSBjb252ZXJ0ZWQgaW50byBhCitzcGFjZSAoZXhjZXB0IHdoZW4gdGhlICd4bWw6c3BhY2UnIGF0dHJpYnV0ZSBpcyBzZXQgdG8gJ3ByZXNlcnZlJykuCis8L2xpPgorPGxpPgorQSBzZXF1ZW5jZSBvZiB3aGl0ZSBzcGFjZSBjaGFyYWN0ZXJzIG11c3QgYmUgcmVkdWNlZCB0byBhIHNpbmdsZSBzcGFjZQorY2hhcmFjdGVyIChleGNlcHQgd2hlbiB0aGUgJ3htbDpzcGFjZScgYXR0cmlidXRlIGlzIHNldCB0byAncHJlc2VydmUnKS4KKzwvbGk+Cis8bGk+CitXaXRoIHJlZ2FyZCB0byByZW5kaXRpb24sCit0aGUgVXNlciBBZ2VudCBzaG91bGQgcmVuZGVyIHRoZSBjb250ZW50IGluIGEKK21hbm5lciBhcHByb3ByaWF0ZSB0byB0aGUgbGFuZ3VhZ2UgaW4gd2hpY2ggdGhlIGNvbnRlbnQgaXMgd3JpdHRlbi4KK0luIGxhbmd1YWdlcyB3aG9zZSBwcmltYXJ5IHNjcmlwdCBpcyBMYXRpbmF0ZSwgdGhlIEFTQ0lJIHNwYWNlCitjaGFyYWN0ZXIgaXMgdHlwaWNhbGx5IHVzZWQgdG8gZW5jb2RlIGJvdGggZ3JhbW1hdGljYWwgd29yZCBib3VuZGFyaWVzIGFuZAordHlwb2dyYXBoaWMgd2hpdGVzcGFjZTsgaW4gbGFuZ3VhZ2VzIHdob3NlIHNjcmlwdCBpcyByZWxhdGVkIHRvIE5hZ2FyaQorKGUuZy4sIFNhbnNrcml0LCBUaGFpLCBldGMuKSwgZ3JhbW1hdGljYWwgYm91bmRhcmllcyBtYXkgYmUgZW5jb2RlZCB1c2luZwordGhlIFpXICdzcGFjZScgY2hhcmFjdGVyLCBidXQgd2lsbCBub3QgdHlwaWNhbGx5IGJlIHJlcHJlc2VudGVkIGJ5Cit0eXBvZ3JhcGhpYyB3aGl0ZXNwYWNlIGluIHJlbmRlcmVkIG91dHB1dDsgbGFuZ3VhZ2VzIHVzaW5nIEFyYWJpZm9ybSBzY3JpcHRzCittYXkgZW5jb2RlIHR5cG9ncmFwaGljIHdoaXRlc3BhY2UgdXNpbmcgYSBzcGFjZSBjaGFyYWN0ZXIsIGJ1dCBtYXkgYWxzbyB1c2UKK3RoZSBaVyBzcGFjZSBjaGFyYWN0ZXIgdG8gZGVsaW1pdCAnaW50ZXJuYWwnIGdyYW1tYXRpY2FsIGJvdW5kYXJpZXMgKHdoYXQKK2xvb2sgbGlrZSB3b3JkcyBpbiBBcmFiaWMgdG8gYW4gRW5nbGlzaCBleWUgZnJlcXVlbnRseSBlbmNvZGUgc2V2ZXJhbCB3b3JkcywKK2UuZy4gJ2tpdEFidWh1bScgPSAna2l0QWJ1LWh1bScgPSAnYm9vayB0aGVtJyA9PSB0aGVpciBib29rKTsgYW5kIGxhbmd1YWdlcworaW4gdGhlIENoaW5lc2Ugc2NyaXB0IHRyYWRpdGlvbiB0eXBpY2FsbHkgbmVpdGhlciBlbmNvZGUgc3VjaCBkZWxpbWl0ZXJzIG5vcgordXNlIHR5cG9ncmFwaGljIHdoaXRlc3BhY2UgaW4gdGhpcyB3YXkuIAorPC9saT4KKzwvdWw+CisKKzxwPldoaXRlc3BhY2UgaW4gYXR0cmlidXRlIHZhbHVlcyBpcyBwcm9jZXNzZWQgYWNjb3JkaW5nIHRvIDxhIGhyZWY9IiNyZWYteG1sIj5bWE1MXTwvYT4uPC9wPgorPC9saT4KKzwvb2w+CisKKzwhLS1PZGRQYWdlLS0+Cis8aDE+PGEgbmFtZT0iZGlmZnMiIGlkPSJkaWZmcyI+NC4gRGlmZmVyZW5jZXMgd2l0aCBIVE1MCis0LjA8L2E+PC9oMT4KKworPHA+RHVlIHRvIHRoZSBmYWN0IHRoYXQgWEhUTUwgaXMgYW4gWE1MIGFwcGxpY2F0aW9uLCBjZXJ0YWluCitwcmFjdGljZXMgdGhhdCB3ZXJlIHBlcmZlY3RseSBsZWdhbCBpbiBTR01MLWJhc2VkIEhUTUwgNC4wIDxhIGhyZWY9IiNyZWYtaHRtbDQiPltIVE1MXTwvYT4gbXVzdCBiZSBjaGFuZ2VkLjwvcD4KKworPGgyPjxhIG5hbWU9ImgtNC4xIiBpZD0iaC00LjEiPjQuMSBEb2N1bWVudHMgbXVzdCBiZQord2VsbC1mb3JtZWQ8L2E+PC9oMj4KKworPHA+PGEgaHJlZj0iI3dlbGxmb3JtZWQiPldlbGwtZm9ybWVkbmVzczwvYT4gaXMgYSBuZXcgY29uY2VwdAoraW50cm9kdWNlZCBieSA8YSBocmVmPSIjcmVmLXhtbCI+W1hNTF08L2E+LiBFc3NlbnRpYWxseSB0aGlzCittZWFucyB0aGF0IGFsbCBlbGVtZW50cyBtdXN0IGVpdGhlciBoYXZlIGNsb3NpbmcgdGFncyBvciBiZQord3JpdHRlbiBpbiBhIHNwZWNpYWwgZm9ybSAoYXMgZGVzY3JpYmVkIGJlbG93KSwgYW5kIHRoYXQgYWxsIHRoZQorZWxlbWVudHMgbXVzdCBuZXN0LjwvcD4KKworPHA+QWx0aG91Z2ggb3ZlcmxhcHBpbmcgaXMgaWxsZWdhbCBpbiBTR01MLCBpdCB3YXMgd2lkZWx5Cit0b2xlcmF0ZWQgaW4gZXhpc3RpbmcgYnJvd3NlcnMuPC9wPgorCis8ZGl2IGNsYXNzPSJnb29kIj4KKzxwPjxzdHJvbmc+PGVtPkNPUlJFQ1Q6IG5lc3RlZCBlbGVtZW50cy48L2VtPjwvc3Ryb25nPjwvcD4KKworPHA+Jmx0O3AmZ3Q7aGVyZSBpcyBhbiBlbXBoYXNpemVkCismbHQ7ZW0mZ3Q7cGFyYWdyYXBoJmx0Oy9lbSZndDsuJmx0Oy9wJmd0OzwvcD4KKzwvZGl2PgorCis8ZGl2IGNsYXNzPSJiYWQiPgorPHA+PHN0cm9uZz48ZW0+SU5DT1JSRUNUOiBvdmVybGFwcGluZyBlbGVtZW50czwvZW0+PC9zdHJvbmc+PC9wPgorCis8cD4mbHQ7cCZndDtoZXJlIGlzIGFuIGVtcGhhc2l6ZWQKKyZsdDtlbSZndDtwYXJhZ3JhcGguJmx0Oy9wJmd0OyZsdDsvZW0mZ3Q7PC9wPgorPC9kaXY+CisKKzxoMj48YSBuYW1lPSJoLTQuMiIgaWQ9ImgtNC4yIj40LjIgRWxlbWVudCBhbmQgYXR0cmlidXRlCituYW1lcyBtdXN0IGJlIGluIGxvd2VyIGNhc2U8L2E+PC9oMj4KKworPHA+WEhUTUwgZG9jdW1lbnRzIG11c3QgdXNlIGxvd2VyIGNhc2UgZm9yIGFsbCBIVE1MIGVsZW1lbnQgYW5kCithdHRyaWJ1dGUgbmFtZXMuIFRoaXMgZGlmZmVyZW5jZSBpcyBuZWNlc3NhcnkgYmVjYXVzZSBYTUwgaXMKK2Nhc2Utc2Vuc2l0aXZlIGUuZy4gJmx0O2xpJmd0OyBhbmQgJmx0O0xJJmd0OyBhcmUgZGlmZmVyZW50Cit0YWdzLjwvcD4KKworPGgyPjxhIG5hbWU9ImgtNC4zIiBpZD0iaC00LjMiPjQuMyBGb3Igbm9uLWVtcHR5IGVsZW1lbnRzLAorZW5kIHRhZ3MgYXJlIHJlcXVpcmVkPC9hPjwvaDI+CisKKzxwPkluIFNHTUwtYmFzZWQgSFRNTCA0LjAgY2VydGFpbiBlbGVtZW50cyB3ZXJlIHBlcm1pdHRlZCB0byBvbWl0Cit0aGUgZW5kIHRhZzsgd2l0aCB0aGUgZWxlbWVudHMgdGhhdCBmb2xsb3dlZCBpbXBseWluZyBjbG9zdXJlLgorVGhpcyBvbWlzc2lvbiBpcyBub3QgcGVybWl0dGVkIGluIFhNTC1iYXNlZCBYSFRNTC4gQWxsIGVsZW1lbnRzCitvdGhlciB0aGFuIHRob3NlIGRlY2xhcmVkIGluIHRoZSBEVEQgYXMgPGNvZGU+RU1QVFk8L2NvZGU+IG11c3QKK2hhdmUgYW4gZW5kIHRhZy48L3A+CisKKzxkaXYgY2xhc3M9Imdvb2QiPgorPHA+PHN0cm9uZz48ZW0+Q09SUkVDVDogdGVybWluYXRlZCBlbGVtZW50czwvZW0+PC9zdHJvbmc+PC9wPgorCis8cD4mbHQ7cCZndDtoZXJlIGlzIGEgcGFyYWdyYXBoLiZsdDsvcCZndDsmbHQ7cCZndDtoZXJlIGlzCithbm90aGVyIHBhcmFncmFwaC4mbHQ7L3AmZ3Q7PC9wPgorPC9kaXY+CisKKzxkaXYgY2xhc3M9ImJhZCI+Cis8cD48c3Ryb25nPjxlbT5JTkNPUlJFQ1Q6IHVudGVybWluYXRlZCBlbGVtZW50czwvZW0+PC9zdHJvbmc+PC9wPgorCis8cD4mbHQ7cCZndDtoZXJlIGlzIGEgcGFyYWdyYXBoLiZsdDtwJmd0O2hlcmUgaXMgYW5vdGhlcgorcGFyYWdyYXBoLjwvcD4KKzwvZGl2PgorCis8aDI+PGEgbmFtZT0iaC00LjQiIGlkPSJoLTQuNCI+NC40IEF0dHJpYnV0ZSB2YWx1ZXMgbXVzdAorYWx3YXlzIGJlIHF1b3RlZDwvYT48L2gyPgorCis8cD5BbGwgYXR0cmlidXRlIHZhbHVlcyBtdXN0IGJlIHF1b3RlZCwgZXZlbiB0aG9zZSB3aGljaCBhcHBlYXIKK3RvIGJlIG51bWVyaWMuPC9wPgorCis8ZGl2IGNsYXNzPSJnb29kIj4KKzxwPjxzdHJvbmc+PGVtPkNPUlJFQ1Q6IHF1b3RlZCBhdHRyaWJ1dGUgdmFsdWVzPC9lbT48L3N0cm9uZz48L3A+CisKKzxwPiZsdDt0YWJsZSByb3dzPSIzIiZndDs8L3A+Cis8L2Rpdj4KKworPGRpdiBjbGFzcz0iYmFkIj4KKzxwPjxzdHJvbmc+PGVtPklOQ09SUkVDVDogdW5xdW90ZWQgYXR0cmlidXRlIHZhbHVlczwvZW0+PC9zdHJvbmc+PC9wPgorCis8cD4mbHQ7dGFibGUgcm93cz0zJmd0OzwvcD4KKzwvZGl2PgorCis8aDI+PGEgbmFtZT0iaC00LjUiIGlkPSJoLTQuNSI+NC41IEF0dHJpYnV0ZQorTWluaW1pemF0aW9uPC9hPjwvaDI+CisKKzxwPlhNTCBkb2VzIG5vdCBzdXBwb3J0IGF0dHJpYnV0ZSBtaW5pbWl6YXRpb24uIEF0dHJpYnV0ZS12YWx1ZQorcGFpcnMgbXVzdCBiZSB3cml0dGVuIGluIGZ1bGwuIEF0dHJpYnV0ZSBuYW1lcyBzdWNoIGFzIDxjb2RlPgorY29tcGFjdDwvY29kZT4gYW5kIDxjb2RlPmNoZWNrZWQ8L2NvZGU+IGNhbm5vdCBvY2N1ciBpbiBlbGVtZW50cword2l0aG91dCB0aGVpciB2YWx1ZSBiZWluZyBzcGVjaWZpZWQuPC9wPgorCis8ZGl2IGNsYXNzPSJnb29kIj4KKzxwPjxzdHJvbmc+PGVtPkNPUlJFQ1Q6IHVubWluaW1pemVkIGF0dHJpYnV0ZXM8L2VtPjwvc3Ryb25nPjwvcD4KKworPHA+Jmx0O2RsIGNvbXBhY3Q9ImNvbXBhY3QiJmd0OzwvcD4KKzwvZGl2PgorCis8ZGl2IGNsYXNzPSJiYWQiPgorPHA+PHN0cm9uZz48ZW0+SU5DT1JSRUNUOiBtaW5pbWl6ZWQgYXR0cmlidXRlczwvZW0+PC9zdHJvbmc+PC9wPgorCis8cD4mbHQ7ZGwgY29tcGFjdCZndDs8L3A+Cis8L2Rpdj4KKworPGgyPjxhIG5hbWU9ImgtNC42IiBpZD0iaC00LjYiPjQuNiBFbXB0eSBFbGVtZW50czwvYT48L2gyPgorCis8cD5FbXB0eSBlbGVtZW50cyBtdXN0IGVpdGhlciBoYXZlIGFuIGVuZCB0YWcgb3IgdGhlIHN0YXJ0IHRhZyBtdXN0IGVuZCB3aXRoIDxjb2RlPi8mZ3Q7PC9jb2RlPi4gRm9yIGluc3RhbmNlLAorPGNvZGU+Jmx0O2JyLyZndDs8L2NvZGU+IG9yIDxjb2RlPiZsdDtociZndDsmbHQ7L2hyJmd0OzwvY29kZT4uIFNlZSA8YSBocmVmPSIjZ3VpZGVsaW5lcyI+SFRNTCBDb21wYXRpYmlsaXR5IEd1aWRlbGluZXM8L2E+IGZvciBpbmZvcm1hdGlvbiBvbiB3YXlzIHRvCitlbnN1cmUgdGhpcyBpcyBiYWNrd2FyZCBjb21wYXRpYmxlIHdpdGggSFRNTCA0LjAgdXNlciBhZ2VudHMuPC9wPgorCis8ZGl2IGNsYXNzPSJnb29kIj4KKzxwPjxzdHJvbmc+PGVtPkNPUlJFQ1Q6IHRlcm1pbmF0ZWQgZW1wdHkgdGFnczwvZW0+PC9zdHJvbmc+PC9wPgorCis8cD4mbHQ7YnIvJmd0OyZsdDtoci8mZ3Q7PC9wPgorPC9kaXY+CisKKzxkaXYgY2xhc3M9ImJhZCI+Cis8cD48c3Ryb25nPjxlbT5JTkNPUlJFQ1Q6IHVudGVybWluYXRlZCBlbXB0eSB0YWdzPC9lbT48L3N0cm9uZz48L3A+CisKKzxwPiZsdDticiZndDsmbHQ7aHImZ3Q7PC9wPgorPC9kaXY+CisKKzxoMj48YSBuYW1lPSJoLTQuNyIgaWQ9ImgtNC43Ij40LjcgV2hpdGVzcGFjZSBoYW5kbGluZyBpbgorYXR0cmlidXRlIHZhbHVlczwvYT48L2gyPgorCis8cD5JbiBhdHRyaWJ1dGUgdmFsdWVzLCB1c2VyIGFnZW50cyB3aWxsIHN0cmlwIGxlYWRpbmcgYW5kCit0cmFpbGluZyB3aGl0ZXNwYWNlIGZyb20gYXR0cmlidXRlIHZhbHVlcyBhbmQgbWFwIHNlcXVlbmNlcworb2Ygb25lIG9yIG1vcmUgd2hpdGVzcGFjZSBjaGFyYWN0ZXJzIChpbmNsdWRpbmcgbGluZSBicmVha3MpIHRvCithIHNpbmdsZSBpbnRlci13b3JkIHNwYWNlIChhbiBBU0NJSSBzcGFjZSBjaGFyYWN0ZXIgZm9yIHdlc3Rlcm4KK3NjcmlwdHMpLiBTZWUgPGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLXhtbCNBVk5vcm1hbGl6ZSI+CitTZWN0aW9uIDMuMy4zPC9hPiBvZiA8YSBocmVmPSIjcmVmLXhtbCI+W1hNTF08L2E+LjwvcD4KKworPGgyPjxhIG5hbWU9ImgtNC44IiBpZD0iaC00LjgiPjQuOCBTY3JpcHQgYW5kIFN0eWxlCitlbGVtZW50czwvYT48L2gyPgorCis8cD5JbiBYSFRNTCwgdGhlIHNjcmlwdCBhbmQgc3R5bGUgZWxlbWVudHMgYXJlIGRlY2xhcmVkIGFzIGhhdmluZworPGNvZGU+I1BDREFUQTwvY29kZT4gY29udGVudC4gQXMgYSByZXN1bHQsIDxjb2RlPiZsdDs8L2NvZGU+IGFuZAorPGNvZGU+JmFtcDs8L2NvZGU+IHdpbGwgYmUgdHJlYXRlZCBhcyB0aGUgc3RhcnQgb2YgbWFya3VwLCBhbmQKK2VudGl0aWVzIHN1Y2ggYXMgPGNvZGU+JmFtcDtsdDs8L2NvZGU+IGFuZCA8Y29kZT4mYW1wO2FtcDs8L2NvZGU+Cit3aWxsIGJlIHJlY29nbml6ZWQgYXMgZW50aXR5IHJlZmVyZW5jZXMgYnkgdGhlIFhNTCBwcm9jZXNzb3IgdG8KKzxjb2RlPiZsdDs8L2NvZGU+IGFuZCA8Y29kZT4mYW1wOzwvY29kZT4gcmVzcGVjdGl2ZWx5LiBXcmFwcGluZwordGhlIGNvbnRlbnQgb2YgdGhlIHNjcmlwdCBvciBzdHlsZSBlbGVtZW50IHdpdGhpbiBhIDxjb2RlPgorQ0RBVEE8L2NvZGU+IG1hcmtlZCBzZWN0aW9uIGF2b2lkcyB0aGUgZXhwYW5zaW9uIG9mIHRoZXNlCitlbnRpdGllcy48L3A+CisKKzxkaXYgY2xhc3M9Imdvb2QiPgorPHByZT4KKyZsdDtzY3JpcHQmZ3Q7CisgJmx0OyFbQ0RBVEFbCisgLi4uIHVuZXNjYXBlZCBzY3JpcHQgY29udGVudCAuLi4KKyBdXSZndDsKKyAmbHQ7L3NjcmlwdCZndDsKKzwvcHJlPgorPC9kaXY+CisKKzxwPjxjb2RlPkNEQVRBPC9jb2RlPiBzZWN0aW9ucyBhcmUgcmVjb2duaXplZCBieSB0aGUgWE1MCitwcm9jZXNzb3IgYW5kIGFwcGVhciBhcyBub2RlcyBpbiB0aGUgRG9jdW1lbnQgT2JqZWN0IE1vZGVsLCBzZWUKKzxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy1ET00tTGV2ZWwtMS9sZXZlbC1vbmUtY29yZS5odG1sI0lELUUwNjdENTk3Ij4KK1NlY3Rpb24gMS4zPC9hPiBvZiB0aGUgRE9NIExldmVsIDEgUmVjb21tZW5kYXRpb24gPGEgaHJlZj0iI3JlZi1kb20iPltET01dPC9hPi48L3A+CisKKzxwPkFuIGFsdGVybmF0aXZlIGlzIHRvIHVzZSBleHRlcm5hbCBzY3JpcHQgYW5kIHN0eWxlCitkb2N1bWVudHMuPC9wPgorCis8aDI+PGEgbmFtZT0iaC00LjkiIGlkPSJoLTQuOSI+NC45IFNHTUwgZXhjbHVzaW9uczwvYT48L2gyPgorCis8cD5TR01MIGdpdmVzIHRoZSB3cml0ZXIgb2YgYSBEVEQgdGhlIGFiaWxpdHkgdG8gZXhjbHVkZSBzcGVjaWZpYworZWxlbWVudHMgZnJvbSBiZWluZyBjb250YWluZWQgd2l0aGluIGFuIGVsZW1lbnQuIFN1Y2gKK3Byb2hpYml0aW9ucyAoY2FsbGVkICJleGNsdXNpb25zIikgYXJlIG5vdCBwb3NzaWJsZSBpbiBYTUwuPC9wPgorCis8cD5Gb3IgZXhhbXBsZSwgdGhlIEhUTUwgNC4wIFN0cmljdCBEVEQgZm9yYmlkcyB0aGUgbmVzdGluZyBvZiBhbgorJzxjb2RlPmE8L2NvZGU+JyBlbGVtZW50IHdpdGhpbiBhbm90aGVyICc8Y29kZT5hPC9jb2RlPicgZWxlbWVudAordG8gYW55IGRlc2NlbmRhbnQgZGVwdGguIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBzcGVsbCBvdXQgc3VjaAorcHJvaGliaXRpb25zIGluIFhNTC4gRXZlbiB0aG91Z2ggdGhlc2UgcHJvaGliaXRpb25zIGNhbm5vdCBiZQorZGVmaW5lZCBpbiB0aGUgRFRELCBjZXJ0YWluIGVsZW1lbnRzIHNob3VsZCBub3QgYmUgbmVzdGVkLiBBCitzdW1tYXJ5IG9mIHN1Y2ggZWxlbWVudHMgYW5kIHRoZSBlbGVtZW50cyB0aGF0IHNob3VsZCBub3QgYmUKK25lc3RlZCBpbiB0aGVtIGlzIGZvdW5kIGluIHRoZSBub3JtYXRpdmUgPGEgaHJlZj0iI3Byb2hpYml0aW9ucyI+CitBcHBlbmRpeCYjeEEwO0I8L2E+LjwvcD4KKworPGgyPjxhIG5hbWU9ImgtNC4xMCIgaWQ9ImgtNC4xMCI+NC4xMCBUaGUgZWxlbWVudHMgd2l0aCAnaWQnIGFuZCAnbmFtZScKK2F0dHJpYnV0ZXM8L2E+PC9oMj4KKworPHA+SFRNTCA0LjAgZGVmaW5lZCB0aGUgPGNvZGU+bmFtZTwvY29kZT4gYXR0cmlidXRlIGZvciB0aGUgZWxlbWVudHMKKzxjb2RlPmE8L2NvZGU+LAorPGNvZGU+YXBwbGV0PC9jb2RlPiwgPGNvZGU+ZnJhbWU8L2NvZGU+LAorPGNvZGU+aWZyYW1lPC9jb2RlPiwgPGNvZGU+aW1nPC9jb2RlPiwgYW5kIDxjb2RlPm1hcDwvY29kZT4uCitIVE1MIDQuMCBhbHNvIGludHJvZHVjZWQKK3RoZSA8Y29kZT5pZDwvY29kZT4gYXR0cmlidXRlLiBCb3RoIG9mIHRoZXNlIGF0dHJpYnV0ZXMgYXJlIGRlc2lnbmVkIHRvIGJlCit1c2VkIGFzIGZyYWdtZW50IGlkZW50aWZpZXJzLjwvcD4KKzxwPkluIFhNTCwgZnJhZ21lbnQgaWRlbnRpZmllcnMgYXJlIG9mIHR5cGUgPGNvZGU+SUQ8L2NvZGU+LCBhbmQKK3RoZXJlIGNhbiBvbmx5IGJlIGEgc2luZ2xlIGF0dHJpYnV0ZSBvZiB0eXBlIDxjb2RlPklEPC9jb2RlPiBwZXIgZWxlbWVudC4KK1RoZXJlZm9yZSwgaW4gWEhUTUwgMS4wIHRoZSA8Y29kZT5pZDwvY29kZT4KK2F0dHJpYnV0ZSBpcyBkZWZpbmVkIHRvIGJlIG9mIHR5cGUgPGNvZGU+SUQ8L2NvZGU+LiBJbiBvcmRlciB0bworZW5zdXJlIHRoYXQgWEhUTUwgMS4wIGRvY3VtZW50cyBhcmUgd2VsbC1zdHJ1Y3R1cmVkIFhNTCBkb2N1bWVudHMsIFhIVE1MIDEuMAorZG9jdW1lbnRzIE1VU1QgdXNlIHRoZSA8Y29kZT5pZDwvY29kZT4gYXR0cmlidXRlIHdoZW4gZGVmaW5pbmcgZnJhZ21lbnQKK2lkZW50aWZpZXJzLCBldmVuIG9uIGVsZW1lbnRzIHRoYXQgaGlzdG9yaWNhbGx5IGhhdmUgYWxzbyBoYWQgYQorPGNvZGU+bmFtZTwvY29kZT4gYXR0cmlidXRlLgorU2VlIHRoZSA8YSBocmVmPSIjZ3VpZGVsaW5lcyI+SFRNTCBDb21wYXRpYmlsaXR5CitHdWlkZWxpbmVzPC9hPiBmb3IgaW5mb3JtYXRpb24gb24gZW5zdXJpbmcgc3VjaCBhbmNob3JzIGFyZSBiYWNrd2FyZHMKK2NvbXBhdGlibGUgd2hlbiBzZXJ2aW5nIFhIVE1MIGRvY3VtZW50cyBhcyBtZWRpYSB0eXBlIDxjb2RlPnRleHQvaHRtbDwvY29kZT4uCis8L3A+Cis8cD5Ob3RlIHRoYXQgaW4gWEhUTUwgMS4wLCB0aGUgPGNvZGU+bmFtZTwvY29kZT4gYXR0cmlidXRlIG9mIHRoZXNlCitlbGVtZW50cyBpcyBmb3JtYWxseSBkZXByZWNhdGVkLCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIGEKK3N1YnNlcXVlbnQgdmVyc2lvbiBvZiBYSFRNTC48L3A+CisKKzwhLS1PZGRQYWdlLS0+Cis8aDE+PGEgbmFtZT0iaXNzdWVzIiBpZD0iaXNzdWVzIj41LiBDb21wYXRpYmlsaXR5IElzc3VlczwvYT48L2gxPgorCis8cD5BbHRob3VnaCB0aGVyZSBpcyBubyByZXF1aXJlbWVudCBmb3IgWEhUTUwgMS4wIGRvY3VtZW50cyB0byBiZQorY29tcGF0aWJsZSB3aXRoIGV4aXN0aW5nIHVzZXIgYWdlbnRzLCBpbiBwcmFjdGljZSB0aGlzIGlzIGVhc3kgdG8KK2FjY29tcGxpc2guIEd1aWRlbGluZXMgZm9yIGNyZWF0aW5nIGNvbXBhdGlibGUgZG9jdW1lbnRzIGNhbiBiZQorZm91bmQgaW4gPGEgaHJlZj0iI2d1aWRlbGluZXMiPkFwcGVuZGl4JiN4QTA7QzwvYT4uPC9wPgorCis8aDI+PGEgbmFtZT0ibWVkaWEiIGlkPSJtZWRpYSI+NS4xIEludGVybmV0IE1lZGlhIFR5cGU8L2E+PC9oMj4KKzxwPkFzIG9mIHRoZSBwdWJsaWNhdGlvbiBvZiB0aGlzIHJlY29tbWVuZGF0aW9uLCB0aGUgZ2VuZXJhbAorcmVjb21tZW5kZWQgTUlNRSBsYWJlbGluZyBmb3IgWE1MLWJhc2VkIGFwcGxpY2F0aW9ucworaGFzIHlldCB0byBiZSByZXNvbHZlZC48L3A+CisKKzxwPkhvd2V2ZXIsIFhIVE1MIERvY3VtZW50cyB3aGljaCBmb2xsb3cgdGhlIGd1aWRlbGluZXMgc2V0IGZvcnRoCitpbiA8YSBocmVmPSIjZ3VpZGVsaW5lcyI+QXBwZW5kaXggQzwvYT4sICJIVE1MIENvbXBhdGliaWxpdHkgR3VpZGVsaW5lcyIgbWF5IGJlCitsYWJlbGVkIHdpdGggdGhlIEludGVybmV0IE1lZGlhIFR5cGUgInRleHQvaHRtbCIsIGFzIHRoZXkKK2FyZSBjb21wYXRpYmxlIHdpdGggbW9zdCBIVE1MIGJyb3dzZXJzLiBUaGlzIGRvY3VtZW50CittYWtlcyBubyByZWNvbW1lbmRhdGlvbiBhYm91dCBNSU1FIGxhYmVsaW5nIG9mIG90aGVyCitYSFRNTCBkb2N1bWVudHMuPC9wPgorCis8IS0tT2RkUGFnZS0tPgorPGgxPjxhIG5hbWU9ImZ1dHVyZSIgaWQ9ImZ1dHVyZSI+Ni4gRnV0dXJlIERpcmVjdGlvbnM8L2E+PC9oMT4KKworPHA+WEhUTUwgMS4wIHByb3ZpZGVzIHRoZSBiYXNpcyBmb3IgYSBmYW1pbHkgb2YgZG9jdW1lbnQgdHlwZXMKK3RoYXQgd2lsbCBleHRlbmQgYW5kIHN1YnNldCBYSFRNTCwgaW4gb3JkZXIgdG8gc3VwcG9ydCBhIHdpZGUKK3JhbmdlIG9mIG5ldyBkZXZpY2VzIGFuZCBhcHBsaWNhdGlvbnMsIGJ5IGRlZmluaW5nIG1vZHVsZXMgYW5kCitzcGVjaWZ5aW5nIGEgbWVjaGFuaXNtIGZvciBjb21iaW5pbmcgdGhlc2UgbW9kdWxlcy4gVGhpcworbWVjaGFuaXNtIHdpbGwgZW5hYmxlIHRoZSBleHRlbnNpb24gYW5kIHN1Yi1zZXR0aW5nIG9mIFhIVE1MIDEuMAoraW4gYSB1bmlmb3JtIHdheSB0aHJvdWdoIHRoZSBkZWZpbml0aW9uIG9mIG5ldyBtb2R1bGVzLjwvcD4KKworPGgyPjxhIG5hbWU9Im1vZHMiIGlkPSJtb2RzIj42LjEgTW9kdWxhcml6aW5nIEhUTUw8L2E+PC9oMj4KKworPHA+QXMgdGhlIHVzZSBvZiBYSFRNTCBtb3ZlcyBmcm9tIHRoZSB0cmFkaXRpb25hbCBkZXNrdG9wIHVzZXIKK2FnZW50cyB0byBvdGhlciBwbGF0Zm9ybXMsIGl0IGlzIGNsZWFyIHRoYXQgbm90IGFsbCBvZiB0aGUgWEhUTUwKK2VsZW1lbnRzIHdpbGwgYmUgcmVxdWlyZWQgb24gYWxsIHBsYXRmb3Jtcy4gRm9yIGV4YW1wbGUgYSBoYW5kCitoZWxkIGRldmljZSBvciBhIGNlbGwtcGhvbmUgbWF5IG9ubHkgc3VwcG9ydCBhIHN1YnNldCBvZiBYSFRNTAorZWxlbWVudHMuPC9wPgorCis8cD5UaGUgcHJvY2VzcyBvZiBtb2R1bGFyaXphdGlvbiBicmVha3MgWEhUTUwgdXAgaW50byBhIHNlcmllcyBvZgorc21hbGxlciBlbGVtZW50IHNldHMuIFRoZXNlIGVsZW1lbnRzIGNhbiB0aGVuIGJlIHJlY29tYmluZWQgdG8KK21lZXQgdGhlIG5lZWRzIG9mIGRpZmZlcmVudCBjb21tdW5pdGllcy48L3A+CisKKzxwPlRoZXNlIG1vZHVsZXMgd2lsbCBiZSBkZWZpbmVkIGluIGEgbGF0ZXIgVzNDIGRvY3VtZW50LjwvcD4KKworPGgyPjxhIG5hbWU9ImV4dGVuc2lvbnMiIGlkPSJleHRlbnNpb25zIj42LjIgU3Vic2V0cyBhbmQKK0V4dGVuc2liaWxpdHk8L2E+PC9oMj4KKworPHA+TW9kdWxhcml6YXRpb24gYnJpbmdzIHdpdGggaXQgc2V2ZXJhbCBhZHZhbnRhZ2VzOjwvcD4KKworPHVsPgorPGxpPgorPHA+SXQgcHJvdmlkZXMgYSBmb3JtYWwgbWVjaGFuaXNtIGZvciBzdWItc2V0dGluZyBYSFRNTC48L3A+Cis8L2xpPgorCis8bGk+Cis8cD5JdCBwcm92aWRlcyBhIGZvcm1hbCBtZWNoYW5pc20gZm9yIGV4dGVuZGluZyBYSFRNTC48L3A+Cis8L2xpPgorCis8bGk+Cis8cD5JdCBzaW1wbGlmaWVzIHRoZSB0cmFuc2Zvcm1hdGlvbiBiZXR3ZWVuIGRvY3VtZW50IHR5cGVzLjwvcD4KKzwvbGk+CisKKzxsaT4KKzxwPkl0IHByb21vdGVzIHRoZSByZXVzZSBvZiBtb2R1bGVzIGluIG5ldyBkb2N1bWVudCB0eXBlcy48L3A+Cis8L2xpPgorPC91bD4KKworPGgyPjxhIG5hbWU9InByb2ZpbGVzIiBpZD0icHJvZmlsZXMiPjYuMyBEb2N1bWVudAorUHJvZmlsZXM8L2E+PC9oMj4KKworPHA+QSBkb2N1bWVudCBwcm9maWxlIHNwZWNpZmllcyB0aGUgc3ludGF4IGFuZCBzZW1hbnRpY3Mgb2YgYSBzZXQKK29mIGRvY3VtZW50cy4gQ29uZm9ybWFuY2UgdG8gYSBkb2N1bWVudCBwcm9maWxlIHByb3ZpZGVzIGEgYmFzaXMKK2ZvciBpbnRlcm9wZXJhYmlsaXR5IGd1YXJhbnRlZXMuIFRoZSBkb2N1bWVudCBwcm9maWxlIHNwZWNpZmllcwordGhlIGZhY2lsaXRpZXMgcmVxdWlyZWQgdG8gcHJvY2VzcyBkb2N1bWVudHMgb2YgdGhhdCB0eXBlLCBlLmcuCit3aGljaCBpbWFnZSBmb3JtYXRzIGNhbiBiZSB1c2VkLCBsZXZlbHMgb2Ygc2NyaXB0aW5nLCBzdHlsZSBzaGVldAorc3VwcG9ydCwgYW5kIHNvIG9uLjwvcD4KKworPHA+Rm9yIHByb2R1Y3QgZGVzaWduZXJzIHRoaXMgZW5hYmxlcyB2YXJpb3VzIGdyb3VwcyB0byBkZWZpbmUKK3RoZWlyIG93biBzdGFuZGFyZCBwcm9maWxlLjwvcD4KKworPHA+Rm9yIGF1dGhvcnMgdGhpcyB3aWxsIG9idmlhdGUgdGhlIG5lZWQgdG8gd3JpdGUgc2V2ZXJhbAorZGlmZmVyZW50IHZlcnNpb25zIG9mIGRvY3VtZW50cyBmb3IgZGlmZmVyZW50IGNsaWVudHMuPC9wPgorCis8cD5Gb3Igc3BlY2lhbCBncm91cHMgc3VjaCBhcyBjaGVtaXN0cywgbWVkaWNhbCBkb2N0b3JzLCBvcgorbWF0aGVtYXRpY2lhbnMgdGhpcyBhbGxvd3MgYSBzcGVjaWFsIHByb2ZpbGUgdG8gYmUgYnVpbHQgdXNpbmcKK3N0YW5kYXJkIEhUTUwgZWxlbWVudHMgcGx1cyBhIGdyb3VwIG9mIGVsZW1lbnRzIGdlYXJlZCB0byB0aGUKK3NwZWNpYWxpc3QncyBuZWVkcy48L3A+CisKKzwhLS1PZGRQYWdlLS0+Cis8aDE+PGEgbmFtZT0iYXBwZW5kaWNlcyIgaWQ9ImFwcGVuZGljZXMiPjwvYT4KKzxhIG5hbWU9ImR0ZHMiIGlkPSJkdGRzIj5BcHBlbmRpeCBBLiBEVERzPC9hPjwvaDE+CisKKzxwPjxiPlRoaXMgYXBwZW5kaXggaXMgbm9ybWF0aXZlLjwvYj48L3A+CisKKzxwPlRoZXNlIERURHMgYW5kIGVudGl0eSBzZXRzIGZvcm0gYSBub3JtYXRpdmUgcGFydCBvZiB0aGlzCitzcGVjaWZpY2F0aW9uLiBUaGUgY29tcGxldGUgc2V0IG9mIERURCBmaWxlcyB0b2dldGhlciB3aXRoIGFuIFhNTAorZGVjbGFyYXRpb24gYW5kIFNHTUwgT3BlbiBDYXRhbG9nIGlzIGluY2x1ZGVkIGluIHRoZSA8YSBocmVmPSJ4aHRtbDEuemlwIj56aXAgZmlsZTwvYT4gZm9yIHRoaXMgc3BlY2lmaWNhdGlvbi48L3A+CisKKzxoMj48YSBuYW1lPSJoLUExIiBpZD0iaC1BMSI+QS4xIERvY3VtZW50IFR5cGUKK0RlZmluaXRpb25zPC9hPjwvaDI+CisKKzxwPlRoZXNlIERURHMgYXBwcm94aW1hdGUgdGhlIEhUTUwgNC4wIERURHMuIEl0IGlzIGxpa2VseSB0aGF0Cit3aGVuIHRoZSBEVERzIGFyZSBtb2R1bGFyaXplZCwgYSBtZXRob2Qgb2YgRFREIGNvbnN0cnVjdGlvbiB3aWxsCitiZSBlbXBsb3llZCB0aGF0IGNvcnJlc3BvbmRzIG1vcmUgY2xvc2VseSB0byBIVE1MIDQuMC48L3A+CisKKzx1bD4KKzxsaT4KKzxwPjxhIGhyZWY9IkRURC94aHRtbDEtc3RyaWN0LmR0ZCIgdHlwZT0idGV4dC9wbGFpbiI+CitYSFRNTC0xLjAtU3RyaWN0PC9hPjwvcD4KKzwvbGk+CisKKzxsaT4KKzxwPjxhIGhyZWY9IkRURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCIgdHlwZT0idGV4dC9wbGFpbiI+CitYSFRNTC0xLjAtVHJhbnNpdGlvbmFsPC9hPjwvcD4KKzwvbGk+CisKKzxsaT4KKzxwPjxhIGhyZWY9IkRURC94aHRtbDEtZnJhbWVzZXQuZHRkIiB0eXBlPSJ0ZXh0L3BsYWluIj4KK1hIVE1MLTEuMC1GcmFtZXNldDwvYT48L3A+Cis8L2xpPgorPC91bD4KKworPGgyPjxhIG5hbWU9ImgtQTIiIGlkPSJoLUEyIj5BLjIgRW50aXR5IFNldHM8L2E+PC9oMj4KKworPHA+VGhlIFhIVE1MIGVudGl0eSBzZXRzIGFyZSB0aGUgc2FtZSBhcyBmb3IgSFRNTCA0LjAsIGJ1dCBoYXZlCitiZWVuIG1vZGlmaWVkIHRvIGJlIHZhbGlkIFhNTCAxLjAgZW50aXR5IGRlY2xhcmF0aW9ucy4gTm90ZSB0aGUKK2VudGl0eSBmb3IgdGhlIEV1cm8gY3VycmVuY3kgc2lnbiAoPGNvZGU+JmFtcDtldXJvOzwvY29kZT4gb3IKKzxjb2RlPiZhbXA7IzgzNjQ7PC9jb2RlPiBvciA8Y29kZT4mYW1wOyN4MjBBQzs8L2NvZGU+KSBpcyBkZWZpbmVkCithcyBwYXJ0IG9mIHRoZSBzcGVjaWFsIGNoYXJhY3RlcnMuPC9wPgorCis8dWw+Cis8bGk+Cis8cD48YSBocmVmPSJEVEQveGh0bWwtbGF0MS5lbnQiPkxhdGluLTEgY2hhcmFjdGVyczwvYT48L3A+Cis8L2xpPgorCis8bGk+Cis8cD48YSBocmVmPSJEVEQveGh0bWwtc3BlY2lhbC5lbnQiPlNwZWNpYWwgY2hhcmFjdGVyczwvYT48L3A+Cis8L2xpPgorCis8bGk+Cis8cD48YSBocmVmPSJEVEQveGh0bWwtc3ltYm9sLmVudCI+U3ltYm9sczwvYT48L3A+Cis8L2xpPgorPC91bD4KKworPCEtLU9kZFBhZ2UtLT4KKzxoMT48YSBuYW1lPSJwcm9oaWJpdGlvbnMiIGlkPSJwcm9oaWJpdGlvbnMiPkFwcGVuZGl4IEIuIEVsZW1lbnQKK1Byb2hpYml0aW9uczwvYT48L2gxPgorCis8cD48Yj5UaGlzIGFwcGVuZGl4IGlzIG5vcm1hdGl2ZS48L2I+PC9wPgorCis8cD5UaGUgZm9sbG93aW5nIGVsZW1lbnRzIGhhdmUgcHJvaGliaXRpb25zIG9uIHdoaWNoIGVsZW1lbnRzCit0aGV5IGNhbiBjb250YWluIChzZWUgPGEgaHJlZj0iI2gtNC45Ij5TZWN0aW9uIDQuOTwvYT4pLiBUaGlzCitwcm9oaWJpdGlvbiBhcHBsaWVzIHRvIGFsbCBkZXB0aHMgb2YgbmVzdGluZywgaS5lLiBpdCBjb250YWlucworYWxsIHRoZSBkZXNjZW5kYW50IGVsZW1lbnRzLjwvcD4KKworPGRsPjxkdD48Y29kZSBjbGFzcz0idGFnIj5hPC9jb2RlPjwvZHQ+Cis8ZGQ+CitjYW5ub3QgY29udGFpbiBvdGhlciA8Y29kZT5hPC9jb2RlPiBlbGVtZW50cy48L2RkPgorPGR0Pjxjb2RlIGNsYXNzPSJ0YWciPnByZTwvY29kZT48L2R0PgorPGRkPmNhbm5vdCBjb250YWluIHRoZSA8Y29kZT5pbWc8L2NvZGU+LCA8Y29kZT5vYmplY3Q8L2NvZGU+LAorPGNvZGU+YmlnPC9jb2RlPiwgPGNvZGU+c21hbGw8L2NvZGU+LCA8Y29kZT5zdWI8L2NvZGU+LCBvciA8Y29kZT4KK3N1cDwvY29kZT4gZWxlbWVudHMuPC9kZD4KKworPGR0Pjxjb2RlIGNsYXNzPSJ0YWciPmJ1dHRvbjwvY29kZT48L2R0PgorPGRkPmNhbm5vdCBjb250YWluIHRoZSA8Y29kZT5pbnB1dDwvY29kZT4sIDxjb2RlPnNlbGVjdDwvY29kZT4sCis8Y29kZT50ZXh0YXJlYTwvY29kZT4sIDxjb2RlPmxhYmVsPC9jb2RlPiwgPGNvZGU+YnV0dG9uPC9jb2RlPiwKKzxjb2RlPmZvcm08L2NvZGU+LCA8Y29kZT5maWVsZHNldDwvY29kZT4sIDxjb2RlPmlmcmFtZTwvY29kZT4gb3IKKzxjb2RlPmlzaW5kZXg8L2NvZGU+IGVsZW1lbnRzLjwvZGQ+Cis8ZHQ+PGNvZGUgY2xhc3M9InRhZyI+bGFiZWw8L2NvZGU+PC9kdD4KKzxkZD5jYW5ub3QgY29udGFpbiBvdGhlciA8Y29kZSBjbGFzcz0idGFnIj5sYWJlbDwvY29kZT4gZWxlbWVudHMuPC9kZD4KKzxkdD48Y29kZSBjbGFzcz0idGFnIj5mb3JtPC9jb2RlPjwvZHQ+Cis8ZGQ+Y2Fubm90IGNvbnRhaW4gb3RoZXIgPGNvZGU+Zm9ybTwvY29kZT4gZWxlbWVudHMuPC9kZD4KKzwvZGw+CisKKzwhLS1PZGRQYWdlLS0+Cis8aDE+PGEgbmFtZT0iZ3VpZGVsaW5lcyIgaWQ9Imd1aWRlbGluZXMiPkFwcGVuZGl4IEMuCitIVE1MIENvbXBhdGliaWxpdHkgR3VpZGVsaW5lczwvYT48L2gxPgorCis8cD48Yj5UaGlzIGFwcGVuZGl4IGlzIGluZm9ybWF0aXZlLjwvYj48L3A+CisKKzxwPlRoaXMgYXBwZW5kaXggc3VtbWFyaXplcyBkZXNpZ24gZ3VpZGVsaW5lcyBmb3IgYXV0aG9ycyB3aG8KK3dpc2ggdGhlaXIgWEhUTUwgZG9jdW1lbnRzIHRvIHJlbmRlciBvbiBleGlzdGluZyBIVE1MIHVzZXIKK2FnZW50cy48L3A+CisKKzxoMj5DLjEgUHJvY2Vzc2luZyBJbnN0cnVjdGlvbnM8L2gyPgorPHA+QmUgYXdhcmUgdGhhdCBwcm9jZXNzaW5nIGluc3RydWN0aW9ucyBhcmUgcmVuZGVyZWQgb24gc29tZQordXNlciBhZ2VudHMuIEhvd2V2ZXIsIGFsc28gbm90ZSB0aGF0IHdoZW4gdGhlIFhNTCBkZWNsYXJhdGlvbiBpcyBub3QgaW5jbHVkZWQKK2luIGEgZG9jdW1lbnQsIHRoZSBkb2N1bWVudCBjYW4gb25seSB1c2UgdGhlIGRlZmF1bHQgY2hhcmFjdGVyIGVuY29kaW5ncyBVVEYtOAorb3IgVVRGLTE2LjwvcD4KKworPGgyPkMuMiBFbXB0eSBFbGVtZW50czwvaDI+Cis8cD5JbmNsdWRlIGEgc3BhY2UgYmVmb3JlIHRoZSB0cmFpbGluZyA8Y29kZT4vPC9jb2RlPiBhbmQgPGNvZGU+CismZ3Q7PC9jb2RlPiBvZiBlbXB0eSBlbGVtZW50cywgZS5nLiA8Y29kZSBjbGFzcz0iZ3JlZW5tb25vIj4KKyZsdDticiYjeEEwOy8mZ3Q7PC9jb2RlPiwgPGNvZGUgY2xhc3M9ImdyZWVubW9ubyI+CismbHQ7aHImI3hBMDsvJmd0OzwvY29kZT4gYW5kIDxjb2RlIGNsYXNzPSJncmVlbm1vbm8iPiZsdDtpbWcKK3NyYz0ia2FyZW4uanBnIiBhbHQ9IkthcmVuIiYjeEEwOy8mZ3Q7PC9jb2RlPi4gQWxzbywgdXNlIHRoZQorbWluaW1pemVkIHRhZyBzeW50YXggZm9yIGVtcHR5IGVsZW1lbnRzLCBlLmcuIDxjb2RlIGNsYXNzPSJncmVlbm1vbm8iPiZsdDticiAvJmd0OzwvY29kZT4sIGFzIHRoZSBhbHRlcm5hdGl2ZSBzeW50YXggPGNvZGUgY2xhc3M9ImdyZWVubW9ubyI+Jmx0O2JyJmd0OyZsdDsvYnImZ3Q7PC9jb2RlPiBhbGxvd2VkIGJ5IFhNTAorZ2l2ZXMgdW5jZXJ0YWluIHJlc3VsdHMgaW4gbWFueSBleGlzdGluZyB1c2VyIGFnZW50cy48L3A+CisKKzxoMj5DLjMgRWxlbWVudCBNaW5pbWl6YXRpb24gYW5kIEVtcHR5IEVsZW1lbnQgQ29udGVudDwvaDI+Cis8cD5HaXZlbiBhbiBlbXB0eSBpbnN0YW5jZSBvZiBhbiBlbGVtZW50IHdob3NlIGNvbnRlbnQgbW9kZWwgaXMKK25vdCA8Y29kZT5FTVBUWTwvY29kZT4gKGZvciBleGFtcGxlLCBhbiBlbXB0eSB0aXRsZSBvciBwYXJhZ3JhcGgpCitkbyBub3QgdXNlIHRoZSBtaW5pbWl6ZWQgZm9ybSAoZS5nLiB1c2UgPGNvZGUgY2xhc3M9ImdyZWVubW9ubyI+CismbHQ7cCZndDsgJmx0Oy9wJmd0OzwvY29kZT4gYW5kIG5vdCA8Y29kZSBjbGFzcz0iZ3JlZW5tb25vIj4KKyZsdDtwJiN4QTA7LyZndDs8L2NvZGU+KS48L3A+CisKKzxoMj5DLjQgRW1iZWRkZWQgU3R5bGUgU2hlZXRzIGFuZCBTY3JpcHRzPC9oMj4KKzxwPlVzZSBleHRlcm5hbCBzdHlsZSBzaGVldHMgaWYgeW91ciBzdHlsZSBzaGVldCB1c2VzIDxjb2RlPgorJmx0OzwvY29kZT4gb3IgPGNvZGU+JmFtcDs8L2NvZGU+IG9yIDxjb2RlPl1dJmd0OzwvY29kZT4gb3IgPGNvZGU+LS08L2NvZGU+LiBVc2UKK2V4dGVybmFsIHNjcmlwdHMgaWYgeW91ciBzY3JpcHQgdXNlcyA8Y29kZT4mbHQ7PC9jb2RlPiBvciA8Y29kZT4KKyZhbXA7PC9jb2RlPiBvciA8Y29kZT5dXSZndDs8L2NvZGU+IG9yIDxjb2RlPi0tPC9jb2RlPi4gTm90ZSB0aGF0IFhNTCBwYXJzZXJzCithcmUgcGVybWl0dGVkIHRvIHNpbGVudGx5IHJlbW92ZSB0aGUgY29udGVudHMgb2YgY29tbWVudHMuIFRoZXJlZm9yZSwgdGhlIGhpc3RvcmljYWwKK3ByYWN0aWNlIG9mICJoaWRpbmciIHNjcmlwdHMgYW5kIHN0eWxlIHNoZWV0cyB3aXRoaW4gY29tbWVudHMgdG8gbWFrZSB0aGUKK2RvY3VtZW50cyBiYWNrd2FyZCBjb21wYXRpYmxlIGlzIGxpa2VseSB0byBub3Qgd29yayBhcyBleHBlY3RlZCBpbiBYTUwtYmFzZWQKK2ltcGxlbWVudGF0aW9ucy48L3A+CisKKzxoMj5DLjUgTGluZSBCcmVha3Mgd2l0aGluIEF0dHJpYnV0ZSBWYWx1ZXM8L2gyPgorPHA+QXZvaWQgbGluZSBicmVha3MgYW5kIG11bHRpcGxlIHdoaXRlc3BhY2UgY2hhcmFjdGVycyB3aXRoaW4KK2F0dHJpYnV0ZSB2YWx1ZXMuIFRoZXNlIGFyZSBoYW5kbGVkIGluY29uc2lzdGVudGx5IGJ5IHVzZXIKK2FnZW50cy48L3A+CisKKzxoMj5DLjYgSXNpbmRleDwvaDI+Cis8cD5Eb24ndCBpbmNsdWRlIG1vcmUgdGhhbiBvbmUgPGNvZGU+aXNpbmRleDwvY29kZT4gZWxlbWVudCBpbgordGhlIGRvY3VtZW50IDxjb2RlPmhlYWQ8L2NvZGU+LiBUaGUgPGNvZGU+aXNpbmRleDwvY29kZT4gZWxlbWVudAoraXMgZGVwcmVjYXRlZCBpbiBmYXZvciBvZiB0aGUgPGNvZGU+aW5wdXQ8L2NvZGU+IGVsZW1lbnQuPC9wPgorCis8aDI+Qy43IFRoZSA8Y29kZT5sYW5nPC9jb2RlPiBhbmQgPGNvZGU+eG1sOmxhbmc8L2NvZGU+IEF0dHJpYnV0ZXM8L2gyPgorPHA+VXNlIGJvdGggdGhlIDxjb2RlPmxhbmc8L2NvZGU+IGFuZCA8Y29kZT54bWw6bGFuZzwvY29kZT4KK2F0dHJpYnV0ZXMgd2hlbiBzcGVjaWZ5aW5nIHRoZSBsYW5ndWFnZSBvZiBhbiBlbGVtZW50LiBUaGUgdmFsdWUKK29mIHRoZSA8Y29kZT54bWw6bGFuZzwvY29kZT4gYXR0cmlidXRlIHRha2VzIHByZWNlZGVuY2UuPC9wPgorCis8aDI+Qy44IEZyYWdtZW50IElkZW50aWZpZXJzPC9oMj4KKzxwPkluIFhNTCwgPGFiYnIgdGl0bGU9IlVuaWZvcm0gUmVzb3VyY2UgSWRlbnRpZmllcnMiPlVSSXM8L2FiYnI+IFs8YSBocmVmPSIjcmVmLXJmYzIzOTYiPlJGQzIzOTY8L2E+XSB0aGF0IGVuZCB3aXRoIGZyYWdtZW50IGlkZW50aWZpZXJzIG9mIHRoZSBmb3JtCis8Y29kZT4iI2ZvbyI8L2NvZGU+IGRvIG5vdCByZWZlciB0byBlbGVtZW50cyB3aXRoIGFuIGF0dHJpYnV0ZQorPGNvZGU+bmFtZT0iZm9vIjwvY29kZT47IHJhdGhlciwgdGhleSByZWZlciB0byBlbGVtZW50cyB3aXRoIGFuCithdHRyaWJ1dGUgZGVmaW5lZCB0byBiZSBvZiB0eXBlIDxjb2RlPklEPC9jb2RlPiwgZS5nLiwgdGhlIDxjb2RlPgoraWQ8L2NvZGU+IGF0dHJpYnV0ZSBpbiBIVE1MIDQuMC4gTWFueSBleGlzdGluZyBIVE1MIGNsaWVudHMgZG9uJ3QKK3N1cHBvcnQgdGhlIHVzZSBvZiA8Y29kZT5JRDwvY29kZT4tdHlwZSBhdHRyaWJ1dGVzIGluIHRoaXMgd2F5LAorc28gaWRlbnRpY2FsIHZhbHVlcyBtYXkgYmUgc3VwcGxpZWQgZm9yIGJvdGggb2YgdGhlc2UgYXR0cmlidXRlcyB0byBlbnN1cmUKK21heGltdW0gZm9yd2FyZCBhbmQgYmFja3dhcmQgY29tcGF0aWJpbGl0eSAoZS5nLiwgPGNvZGUgY2xhc3M9ImdyZWVubW9ubyI+Jmx0O2EgaWQ9ImZvbyIgbmFtZT0iZm9vIiZndDsuLi4mbHQ7L2EmZ3Q7PC9jb2RlPikuPC9wPgorCis8cD5GdXJ0aGVyLCBzaW5jZSB0aGUgc2V0IG9mCitsZWdhbCB2YWx1ZXMgZm9yIGF0dHJpYnV0ZXMgb2YgdHlwZSA8Y29kZT5JRDwvY29kZT4gaXMgbXVjaCBzbWFsbGVyIHRoYW4KK2ZvciB0aG9zZSBvZiB0eXBlIDxjb2RlPkNEQVRBPC9jb2RlPiwgdGhlIHR5cGUgb2YgdGhlIDxjb2RlPm5hbWU8L2NvZGU+CithdHRyaWJ1dGUgaGFzIGJlZW4gY2hhbmdlZCB0byA8Y29kZT5OTVRPS0VOPC9jb2RlPi4gVGhpcyBhdHRyaWJ1dGUgaXMgCitjb25zdHJhaW5lZCBzdWNoIHRoYXQgaXQgY2FuIG9ubHkgaGF2ZSB0aGUgc2FtZSB2YWx1ZXMgYXMgdHlwZQorPGNvZGU+SUQ8L2NvZGU+LCBvciBhcyB0aGUgPGNvZGU+TmFtZTwvY29kZT4gcHJvZHVjdGlvbiBpbiBYTUwgMS4wIFNlY3Rpb24KKzIuNSwgcHJvZHVjdGlvbiA1LiBVbmZvcnR1bmF0ZWx5LCB0aGlzIGNvbnN0cmFpbnQgY2Fubm90IGJlIGV4cHJlc3NlZCBpbiB0aGUKK1hIVE1MIDEuMCBEVERzLiAgQmVjYXVzZSBvZiB0aGlzIGNoYW5nZSwgY2FyZSBtdXN0IGJlIHRha2VuIHdoZW4KK2NvbnZlcnRpbmcgZXhpc3RpbmcgSFRNTCBkb2N1bWVudHMuIFRoZSB2YWx1ZXMgb2YgdGhlc2UgYXR0cmlidXRlcworbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBkb2N1bWVudCwgdmFsaWQsIGFuZCBhbnkgcmVmZXJlbmNlcyB0byB0aGVzZSAKK2ZyYWdtZW50IGlkZW50aWZpZXJzIChib3RoCitpbnRlcm5hbCBhbmQgZXh0ZXJuYWwpIG11c3QgYmUgdXBkYXRlZCBzaG91bGQgdGhlIHZhbHVlcyBiZSBjaGFuZ2VkIGR1cmluZworY29udmVyc2lvbi48L3A+Cis8cD5GaW5hbGx5LCBub3RlIHRoYXQgWEhUTUwgMS4wIGhhcyBkZXByZWNhdGVkIHRoZQorPGNvZGU+bmFtZTwvY29kZT4gYXR0cmlidXRlIG9mIHRoZSA8Y29kZT5hPC9jb2RlPiwgPGNvZGU+YXBwbGV0PC9jb2RlPiwgPGNvZGU+ZnJhbWU8L2NvZGU+LCA8Y29kZT5pZnJhbWU8L2NvZGU+LCA8Y29kZT5pbWc8L2NvZGU+LCBhbmQgPGNvZGU+bWFwPC9jb2RlPgorZWxlbWVudHMsIGFuZCBpdCB3aWxsIGJlCityZW1vdmVkIGZyb20gWEhUTUwgaW4gc3Vic2VxdWVudCB2ZXJzaW9ucy48L3A+CisKKzxoMj5DLjkgQ2hhcmFjdGVyIEVuY29kaW5nPC9oMj4KKzxwPlRvIHNwZWNpZnkgYSBjaGFyYWN0ZXIgZW5jb2RpbmcgaW4gdGhlIGRvY3VtZW50LCB1c2UgYm90aCB0aGUKK2VuY29kaW5nIGF0dHJpYnV0ZSBzcGVjaWZpY2F0aW9uIG9uIHRoZSB4bWwgZGVjbGFyYXRpb24gKGUuZy4KKzxjb2RlIGNsYXNzPSJncmVlbm1vbm8iPiZsdDs/eG1sIHZlcnNpb249IjEuMCIKK2VuY29kaW5nPSJFVUMtSlAiPyZndDs8L2NvZGU+KSBhbmQgYSBtZXRhIGh0dHAtZXF1aXYgc3RhdGVtZW50CisoZS5nLiA8Y29kZSBjbGFzcz0iZ3JlZW5tb25vIj4mbHQ7bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LXR5cGUiCitjb250ZW50PSd0ZXh0L2h0bWw7IGNoYXJzZXQ9IkVVQy1KUCInJiN4QTA7LyZndDs8L2NvZGU+KS4gVGhlCit2YWx1ZSBvZiB0aGUgZW5jb2RpbmcgYXR0cmlidXRlIG9mIHRoZSB4bWwgcHJvY2Vzc2luZyBpbnN0cnVjdGlvbgordGFrZXMgcHJlY2VkZW5jZS48L3A+CisKKzxoMj5DLjEwIEJvb2xlYW4gQXR0cmlidXRlczwvaDI+Cis8cD5Tb21lIEhUTUwgdXNlciBhZ2VudHMgYXJlIHVuYWJsZSB0byBpbnRlcnByZXQgYm9vbGVhbgorYXR0cmlidXRlcyB3aGVuIHRoZXNlIGFwcGVhciBpbiB0aGVpciBmdWxsIChub24tbWluaW1pemVkKSBmb3JtLAorYXMgcmVxdWlyZWQgYnkgWE1MIDEuMC4gTm90ZSB0aGlzIHByb2JsZW0gZG9lc24ndCBlZmZlY3QgdXNlcgorYWdlbnRzIGNvbXBsaWFudCB3aXRoIEhUTUwgNC4wLiBUaGUgZm9sbG93aW5nIGF0dHJpYnV0ZXMgYXJlCitpbnZvbHZlZDogPGNvZGU+Y29tcGFjdDwvY29kZT4sIDxjb2RlPm5vd3JhcDwvY29kZT4sIDxjb2RlPgoraXNtYXA8L2NvZGU+LCA8Y29kZT5kZWNsYXJlPC9jb2RlPiwgPGNvZGU+bm9zaGFkZTwvY29kZT4sIDxjb2RlPgorY2hlY2tlZDwvY29kZT4sIDxjb2RlPmRpc2FibGVkPC9jb2RlPiwgPGNvZGU+cmVhZG9ubHk8L2NvZGU+LAorPGNvZGU+bXVsdGlwbGU8L2NvZGU+LCA8Y29kZT5zZWxlY3RlZDwvY29kZT4sIDxjb2RlPgorbm9yZXNpemU8L2NvZGU+LCA8Y29kZT5kZWZlcjwvY29kZT4uPC9wPgorCis8aDI+Qy4xMSBEb2N1bWVudCBPYmplY3QgTW9kZWwgYW5kIFhIVE1MPC9oMj4KKzxwPgorVGhlIERvY3VtZW50IE9iamVjdCBNb2RlbCBsZXZlbCAxIFJlY29tbWVuZGF0aW9uIFs8YSBocmVmPSIjcmVmLWRvbSI+RE9NPC9hPl0KK2RlZmluZXMgZG9jdW1lbnQgb2JqZWN0IG1vZGVsIGludGVyZmFjZXMgZm9yIFhNTCBhbmQgSFRNTCA0LjAuIFRoZSBIVE1MIDQuMAorZG9jdW1lbnQgb2JqZWN0IG1vZGVsIHNwZWNpZmllcyB0aGF0IEhUTUwgZWxlbWVudCBhbmQgYXR0cmlidXRlIG5hbWVzIGFyZQorcmV0dXJuZWQgaW4gdXBwZXItY2FzZS4gVGhlIFhNTCBkb2N1bWVudCBvYmplY3QgbW9kZWwgc3BlY2lmaWVzIHRoYXQgCitlbGVtZW50IGFuZCBhdHRyaWJ1dGUgbmFtZXMgYXJlIHJldHVybmVkIGluIHRoZSBjYXNlIHRoZXkgYXJlIHNwZWNpZmllZC4gSW4KK1hIVE1MIDEuMCwgZWxlbWVudHMgYW5kIGF0dHJpYnV0ZXMgYXJlIHNwZWNpZmllZCBpbiBsb3dlci1jYXNlLiBUaGlzIGFwcGFyZW50IGRpZmZlcmVuY2UgY2FuIGJlCithZGRyZXNzZWQgaW4gdHdvIHdheXM6Cis8L3A+Cis8b2w+Cis8bGk+QXBwbGljYXRpb25zIHRoYXQgYWNjZXNzIFhIVE1MIGRvY3VtZW50cyBzZXJ2ZWQgYXMgSW50ZXJuZXQgbWVkaWEgdHlwZQorPGNvZGU+dGV4dC9odG1sPC9jb2RlPgordmlhIHRoZSA8YWJiciB0aXRsZT0iRG9jdW1lbnQgT2JqZWN0IE1vZGVsIj5ET008L2FiYnI+IGNhbiB1c2UgdGhlIEhUTUwgRE9NLAorYW5kIGNhbiByZWx5IHVwb24gZWxlbWVudCBhbmQgYXR0cmlidXRlIG5hbWVzIGJlaW5nIHJldHVybmVkIGluCit1cHBlci1jYXNlIGZyb20gdGhvc2UgaW50ZXJmYWNlcy48L2xpPgorPGxpPkFwcGxpY2F0aW9ucyB0aGF0IGFjY2VzcyBYSFRNTCBkb2N1bWVudHMgc2VydmVkIGFzIEludGVybmV0IG1lZGlhIHR5cGVzCis8Y29kZT50ZXh0L3htbDwvY29kZT4gb3IgPGNvZGU+YXBwbGljYXRpb24veG1sPC9jb2RlPgorY2FuIGFsc28gdXNlIHRoZSBYTUwgRE9NLiBFbGVtZW50cyBhbmQgYXR0cmlidXRlcyB3aWxsIGJlIHJldHVybmVkIGluIGxvd2VyLWNhc2UuCitBbHNvLCBzb21lIFhIVE1MIGVsZW1lbnRzIG1heSBvciBtYXkKK25vdCBhcHBlYXIKK2luIHRoZSBvYmplY3QgdHJlZSBiZWNhdXNlIHRoZXkgYXJlIG9wdGlvbmFsIGluIHRoZSBjb250ZW50IG1vZGVsCisoZS5nLiB0aGUgPGNvZGU+dGJvZHk8L2NvZGU+IGVsZW1lbnQgd2l0aGluCis8Y29kZT50YWJsZTwvY29kZT4pLiAgVGhpcyBvY2N1cnMgYmVjYXVzZSBpbiBIVE1MIDQuMCBzb21lIGVsZW1lbnRzIHdlcmUKK3Blcm1pdHRlZCB0byBiZSBtaW5pbWl6ZWQgc3VjaCB0aGF0IHRoZWlyIHN0YXJ0IGFuZCBlbmQgdGFncyBhcmUgYm90aCBvbWl0dGVkCisoYW4gU0dNTCBmZWF0dXJlKS4KK1RoaXMgaXMgbm90IHBvc3NpYmxlIGluIFhNTC4gUmF0aGVyIHRoYW4gcmVxdWlyZSBkb2N1bWVudCBhdXRob3JzIHRvIGluc2VydAorZXh0cmFuZW91cyBlbGVtZW50cywgWEhUTUwgaGFzIG1hZGUgdGhlIGVsZW1lbnRzIG9wdGlvbmFsLiAKK0FwcGxpY2F0aW9ucyBuZWVkIHRvIGFkYXB0IHRvIHRoaXMKK2FjY29yZGluZ2x5LjwvbGk+Cis8L29sPgorCis8aDI+Qy4xMiBVc2luZyBBbXBlcnNhbmRzIGluIEF0dHJpYnV0ZSBWYWx1ZXM8L2gyPgorPHA+CitXaGVuIGFuIGF0dHJpYnV0ZSB2YWx1ZSBjb250YWlucyBhbiBhbXBlcnNhbmQsIGl0IG11c3QgYmUgZXhwcmVzc2VkIGFzIGEgY2hhcmFjdGVyCitlbnRpdHkgcmVmZXJlbmNlCisoZS5nLiAiPGNvZGU+JmFtcDthbXA7PC9jb2RlPiIpLiBGb3IgZXhhbXBsZSwgd2hlbiB0aGUKKzxjb2RlPmhyZWY8L2NvZGU+IGF0dHJpYnV0ZQorb2YgdGhlIDxjb2RlPmE8L2NvZGU+IGVsZW1lbnQgcmVmZXJzIHRvIGEKK0NHSSBzY3JpcHQgdGhhdCB0YWtlcyBwYXJhbWV0ZXJzLCBpdCBtdXN0IGJlIGV4cHJlc3NlZCBhcworPGNvZGU+aHR0cDovL215LnNpdGUuZG9tL2NnaS1iaW4vbXlzY3JpcHQucGw/Y2xhc3M9Z3Vlc3QmYW1wO2FtcDtuYW1lPXVzZXI8L2NvZGU+CityYXRoZXIgdGhhbiBhcworPGNvZGU+aHR0cDovL215LnNpdGUuZG9tL2NnaS1iaW4vbXlzY3JpcHQucGw/Y2xhc3M9Z3Vlc3QmYW1wO25hbWU9dXNlcjwvY29kZT4uCis8L3A+CisKKzxoMj5DLjEzIENhc2NhZGluZyBTdHlsZSBTaGVldHMgKENTUykgYW5kIFhIVE1MPC9oMj4KKworPHA+VGhlIENhc2NhZGluZyBTdHlsZSBTaGVldHMgbGV2ZWwgMiBSZWNvbW1lbmRhdGlvbiBbPGEgaHJlZj0iI3JlZi1jc3MyIj5DU1MyPC9hPl0gZGVmaW5lcyBzdHlsZQorcHJvcGVydGllcyB3aGljaCBhcmUgYXBwbGllZCB0byB0aGUgcGFyc2UgdHJlZSBvZiB0aGUgSFRNTCBvciBYTUwKK2RvY3VtZW50LiAgRGlmZmVyZW5jZXMgaW4gcGFyc2luZyB3aWxsIHByb2R1Y2UgZGlmZmVyZW50IHZpc3VhbCBvcgorYXVyYWwgcmVzdWx0cywgZGVwZW5kaW5nIG9uIHRoZSBzZWxlY3RvcnMgdXNlZC4gVGhlIGZvbGxvd2luZyBoaW50cword2lsbCByZWR1Y2UgdGhpcyBlZmZlY3QgZm9yIGRvY3VtZW50cyB3aGljaCBhcmUgc2VydmVkIHdpdGhvdXQKK21vZGlmaWNhdGlvbiBhcyBib3RoIG1lZGlhIHR5cGVzOjwvcD4KKworPG9sPgorPGxpPgorQ1NTIHN0eWxlIHNoZWV0cyBmb3IgWEhUTUwgc2hvdWxkIHVzZSBsb3dlciBjYXNlIGVsZW1lbnQgYW5kCithdHRyaWJ1dGUgbmFtZXMuPC9saT4KKworCis8bGk+SW4gdGFibGVzLCB0aGUgdGJvZHkgZWxlbWVudCB3aWxsIGJlIGluZmVycmVkIGJ5IHRoZSBwYXJzZXIgb2YgYW4KK0hUTUwgdXNlciBhZ2VudCwgYnV0IG5vdCBieSB0aGUgcGFyc2VyIG9mIGFuIFhNTCB1c2VyIGFnZW50LiBUaGVyZWZvcmUKK3lvdSBzaG91bGQgYWx3YXlzIGV4cGxpY2l0ZWx5IGFkZCBhIHRib2R5IGVsZW1lbnQgaWYgaXQgaXMgcmVmZXJyZWQgdG8KK2luIGEgQ1NTIHNlbGVjdG9yLjwvbGk+CisKKzxsaT5XaXRoaW4gdGhlIFhIVE1MIG5hbWUgc3BhY2UsIHVzZXIgYWdlbnRzIGFyZSBleHBlY3RlZCB0bworcmVjb2duaXplIHRoZSAiaWQiIGF0dHJpYnV0ZSBhcyBhbiBhdHRyaWJ1dGUgb2YgdHlwZSBJRC4KK1RoZXJlZm9yZSwgc3R5bGUgc2hlZXRzIHNob3VsZCBiZSBhYmxlIHRvIGNvbnRpbnVlIHVzaW5nIHRoZQorc2hvcnRoYW5kICIjIiBzZWxlY3RvciBzeW50YXggZXZlbiBpZiB0aGUgdXNlciBhZ2VudCBkb2VzIG5vdCByZWFkCit0aGUgRFRELjwvbGk+CisKKzxsaT5XaXRoaW4gdGhlIFhIVE1MIG5hbWUgc3BhY2UsIHVzZXIgYWdlbnRzIGFyZSBleHBlY3RlZCB0bworcmVjb2duaXplIHRoZSAiY2xhc3MiIGF0dHJpYnV0ZS4gVGhlcmVmb3JlLCBzdHlsZSBzaGVldHMgc2hvdWxkIGJlCithYmxlIHRvIGNvbnRpbnVlIHVzaW5nIHRoZSBzaG9ydGhhbmQgIi4iIHNlbGVjdG9yIHN5bnRheC48L2xpPgorCis8bGk+CitDU1MgZGVmaW5lcyBkaWZmZXJlbnQgY29uZm9ybWFuY2UgcnVsZXMgZm9yIEhUTUwgYW5kIFhNTCBkb2N1bWVudHM7CitiZSBhd2FyZSB0aGF0IHRoZSBIVE1MIHJ1bGVzIGFwcGx5IHRvIFhIVE1MIGRvY3VtZW50cyBkZWxpdmVyZWQgYXMKK0hUTUwgYW5kIHRoZSBYTUwgcnVsZXMgYXBwbHkgdG8gWEhUTUwgZG9jdW1lbnRzIGRlbGl2ZXJlZCBhcyBYTUwuPC9saT4KKzwvb2w+Cis8IS0tT2RkUGFnZS0tPgorPGgxPjxhIG5hbWU9ImFja3MiIGlkPSJhY2tzIj5BcHBlbmRpeCBELgorQWNrbm93bGVkZ2VtZW50czwvYT48L2gxPgorCis8cD48Yj5UaGlzIGFwcGVuZGl4IGlzIGluZm9ybWF0aXZlLjwvYj48L3A+CisKKzxwPlRoaXMgc3BlY2lmaWNhdGlvbiB3YXMgd3JpdHRlbiB3aXRoIHRoZSBwYXJ0aWNpcGF0aW9uIG9mIHRoZQorbWVtYmVycyBvZiB0aGUgVzNDIEhUTUwgd29ya2luZyBncm91cDo8L3A+CisKKzxkbD4KKzxkZD5TdGV2ZW4gUGVtYmVydG9uLCBDV0kgKEhUTUwgV29ya2luZyBHcm91cCBDaGFpcik8YnIgLz4KK011cnJheSBBbHRoZWltLCBTdW4gTWljcm9zeXN0ZW1zPGJyIC8+CitEYW5pZWwgQXVzdGluLCBDTkVUOiBUaGUgQ29tcHV0ZXIgTmV0d29yazxiciAvPgorRnJhbmsgQm91bXBocmV5LCBIVE1MIFdyaXRlcnMgR3VpbGQ8YnIgLz4KK0pvaG4gQnVyZ2VyLCBNaXRyZTxiciAvPgorQW5kcmV3IFcuIERvbm9obywgSUJNPGJyIC8+CitTYW0gRG9vbGV5LCBJQk08YnIgLz4KK0tsYXVzIEhvZnJpY2h0ZXIsIEdNRDxiciAvPgorUGhpbGlwcCBIb3NjaGthLCBXM0M8YnIgLz4KK01hc2F5YXN1IElzaGlrYXdhLCBXM0M8YnIgLz4KK1dhcm5lciB0ZW4gS2F0ZSwgUGhpbGlwcyBFbGVjdHJvbmljczxiciAvPgorUGV0ZXIgS2luZywgUGhvbmUuY29tPGJyIC8+CitQYXVsYSBLbGFudGUsIEpldEZvcm08YnIgLz4KK1NoaW4naWNoaSBNYXRzdWksIFczQy9QYW5hc29uaWM8YnIgLz4KK1NoYW5lIE1jQ2Fycm9uLCBBcHBsaWVkIFRlc3RpbmcgYW5kIFRlY2hub2xvZ3kgKFRoZSBPcGVuIEdyb3VwIHRocm91Z2ggQXVndXN0CisxOTk5KTxiciAvPgorQW5uIE5hdmFycm8sIEhUTUwgV3JpdGVycyBHdWlsZDxiciAvPgorWmFjaCBOaWVzLCBRdWFyazxiciAvPgorRGF2ZSBSYWdnZXR0LCBXM0MvSFAgKFczQyBsZWFkIGZvciBIVE1MKTxiciAvPgorUGF0cmljayBTY2htaXR6LCBNaWNyb3NvZnQ8YnIgLz4KK1NlYmFzdGlhbiBTY2huaXR6ZW5iYXVtZXIsIFN0YWNrIE92ZXJmbG93PGJyIC8+CitDaHJpcyBXaWxzb24sIE1pY3Jvc29mdDxiciAvPgorVGVkIFd1Z29mc2tpLCBHYXRld2F5IDIwMDA8YnIgLz4KK0RhbiBaaWdtb25kLCBXZWJUViBOZXR3b3JrczwvZGQ+Cis8L2RsPgorCis8IS0tT2RkUGFnZS0tPgorPGgxPjxhIG5hbWU9InJlZnMiIGlkPSJyZWZzIj5BcHBlbmRpeCBFLiBSZWZlcmVuY2VzPC9hPjwvaDE+CisKKzxwPjxiPlRoaXMgYXBwZW5kaXggaXMgaW5mb3JtYXRpdmUuPC9iPjwvcD4KKworPGRsPgorCis8ZHQ+PGEgbmFtZT0icmVmLWNzczIiIGlkPSJyZWYtY3NzMiI+PGI+W0NTUzJdPC9iPjwvYT48L2R0PgorCis8ZGQ+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLUNTUzIiPiJDYXNjYWRpbmcgU3R5bGUgU2hlZXRzLCBsZXZlbCAyIChDU1MyKSBTcGVjaWZpY2F0aW9uIjwvYT4sIEIuCitCb3MsIEguIFcuIExpZSwgQy4gTGlsbGV5LCBJLiBKYWNvYnMsIDEyIE1heSAxOTk4LjxiciAvPgorQXZhaWxhYmxlIGF0OiA8YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtQ1NTMiI+CitodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtQ1NTMjwvYT48L2RkPgorCis8ZHQ+PGEgbmFtZT0icmVmLWRvbSIgaWQ9InJlZi1kb20iPjxiPltET01dPC9iPjwvYT48L2R0PgorCis8ZGQ+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLURPTS1MZXZlbC0xIj4iRG9jdW1lbnQgT2JqZWN0IE1vZGVsIChET00pIExldmVsIDEgU3BlY2lmaWNhdGlvbiI8L2E+LCBMYXVyZW4KK1dvb2QgPGk+ZXQgYWwuPC9pPiwgMSBPY3RvYmVyIDE5OTguPGJyIC8+CitBdmFpbGFibGUgYXQ6IDxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy1ET00tTGV2ZWwtMSI+CitodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtRE9NLUxldmVsLTE8L2E+PC9kZD4KKworPGR0PjxhIG5hbWU9InJlZi1odG1sNCIgaWQ9InJlZi1odG1sNCI+PGI+W0hUTUxdPC9iPjwvYT48L2R0PgorCis8ZGQ+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvMTk5OS9QUi1odG1sNDAtMTk5OTA4MjQiPiJIVE1MIDQuMDEgU3BlY2lmaWNhdGlvbiI8L2E+LCBELiBSYWdnZXR0LCBBLiBMZSYjeEEwO0hvcnMsIEkuCitKYWNvYnMsIDI0IEF1Z3VzdCAxOTk5LjxiciAvPgorQXZhaWxhYmxlIGF0OiA8YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi8xOTk5L1BSLWh0bWw0MC0xOTk5MDgyNCI+CitodHRwOi8vd3d3LnczLm9yZy9UUi8xOTk5L1BSLWh0bWw0MC0xOTk5MDgyNDwvYT48L2RkPgorCis8ZHQ+PGEgbmFtZT0icmVmLXBvc2l4IiBpZD0icmVmLXBvc2l4Ij48Yj5bUE9TSVguMV08L2I+PC9hPjwvZHQ+CisKKzxkZD4iSVNPL0lFQyA5OTQ1LTE6MTk5MCBJbmZvcm1hdGlvbiBUZWNobm9sb2d5IC0gUG9ydGFibGUKK09wZXJhdGluZyBTeXN0ZW0gSW50ZXJmYWNlIChQT1NJWCkgLSBQYXJ0IDE6IFN5c3RlbSBBcHBsaWNhdGlvbgorUHJvZ3JhbSBJbnRlcmZhY2UgKEFQSSkgW0MgTGFuZ3VhZ2VdIiwgSW5zdGl0dXRlIG9mIEVsZWN0cmljYWwKK2FuZCBFbGVjdHJvbmljcyBFbmdpbmVlcnMsIEluYywgMTk5MC48L2RkPgorCis8ZHQ+PGEgbmFtZT0icmVmLXJmYzIwNDYiIGlkPSJyZWYtcmZjMjA0NiI+PGI+CitbUkZDMjA0Nl08L2I+PC9hPjwvZHQ+CisKKzxkZD48YSBocmVmPSJodHRwOi8vd3d3LmlldGYub3JnL3JmYy9yZmMyMDQ2LnR4dCI+IlJGQzIwNDY6IE11bHRpcHVycG9zZSBJbnRlcm5ldCBNYWlsIEV4dGVuc2lvbnMgKE1JTUUpIFBhcnQKK1R3bzogTWVkaWEgVHlwZXMiPC9hPiwgTi4gRnJlZWQgYW5kIE4uIEJvcmVuc3RlaW4sIE5vdmVtYmVyCisxOTk2LjxiciAvPgorQXZhaWxhYmxlIGF0IDxhIGhyZWY9Imh0dHA6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzIwNDYudHh0Ij4KK2h0dHA6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzIwNDYudHh0PC9hPi4gTm90ZSB0aGF0IHRoaXMgUkZDCitvYnNvbGV0ZXMgUkZDMTUyMSwgUkZDMTUyMiwgYW5kIFJGQzE1OTAuPC9kZD4KKworPGR0PjxhIG5hbWU9InJlZi1yZmMyMTE5IiBpZD0icmVmLXJmYzIxMTkiPjxiPgorW1JGQzIxMTldPC9iPjwvYT48L2R0PgorCis8ZGQ+PGEgaHJlZj0iaHR0cDovL3d3dy5pZXRmLm9yZy9yZmMvcmZjMjExOS50eHQiPiJSRkMyMTE5OiBLZXkgd29yZHMgZm9yIHVzZSBpbiBSRkNzIHRvIEluZGljYXRlIFJlcXVpcmVtZW50CitMZXZlbHMiPC9hPiwgUy4gQnJhZG5lciwgTWFyY2ggMTk5Ny48YnIgLz4KK0F2YWlsYWJsZSBhdDogPGEgaHJlZj0iaHR0cDovL3d3dy5pZXRmLm9yZy9yZmMvcmZjMjExOS50eHQiPgoraHR0cDovL3d3dy5pZXRmLm9yZy9yZmMvcmZjMjExOS50eHQ8L2E+PC9kZD4KKworPGR0PjxhIG5hbWU9InJlZi1yZmMyMzc2IiBpZD0icmVmLXJmYzIzNzYiPjxiPgorW1JGQzIzNzZdPC9iPjwvYT48L2R0PgorCis8ZGQ+PGEgaHJlZj0iaHR0cDovL3d3dy5pZXRmLm9yZy9yZmMvcmZjMjM3Ni50eHQiPiJSRkMyMzc2OiBYTUwgTWVkaWEgVHlwZXMiPC9hPiwgRS4gV2hpdGVoZWFkLCBNLiBNdXJhdGEsIEp1bHkKKzE5OTguPGJyIC8+CitBdmFpbGFibGUgYXQ6IDxhIGhyZWY9Imh0dHA6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzIzNzYudHh0Ij4KK2h0dHA6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzIzNzYudHh0PC9hPjwvZGQ+CisKKzxkdD48YSBuYW1lPSJyZWYtcmZjMjM5NiIgaWQ9InJlZi1yZmMyMzk2Ij48Yj4KK1tSRkMyMzk2XTwvYj48L2E+PC9kdD4KKworPGRkPjxhIGhyZWY9Imh0dHA6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzIzOTYudHh0Ij4iUkZDMjM5NjogVW5pZm9ybSBSZXNvdXJjZSBJZGVudGlmaWVycyAoVVJJKTogR2VuZXJpYworU3ludGF4IjwvYT4sIFQuIEJlcm5lcnMtTGVlLCBSLiBGaWVsZGluZywgTC4gTWFzaW50ZXIsIEF1Z3VzdAorMTk5OC48YnIgLz4KK1RoaXMgZG9jdW1lbnQgdXBkYXRlcyBSRkMxNzM4IGFuZCBSRkMxODA4LjxiciAvPgorQXZhaWxhYmxlIGF0OiA8YSBocmVmPSJodHRwOi8vd3d3LmlldGYub3JnL3JmYy9yZmMyMzk2LnR4dCI+CitodHRwOi8vd3d3LmlldGYub3JnL3JmYy9yZmMyMzk2LnR4dDwvYT48L2RkPgorCis8ZHQ+PGEgbmFtZT0icmVmLXhtbCIgaWQ9InJlZi14bWwiPjxiPltYTUxdPC9iPjwvYT48L2R0PgorCis8ZGQ+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLXhtbCI+IkV4dGVuc2libGUgTWFya3VwIExhbmd1YWdlIChYTUwpIDEuMCBTcGVjaWZpY2F0aW9uIjwvYT4sIFQuCitCcmF5LCBKLiBQYW9saSwgQy4gTS4gU3BlcmJlcmctTWNRdWVlbiwgMTAgRmVicnVhcnkgMTk5OC48YnIgLz4KK0F2YWlsYWJsZSBhdDogPGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLXhtbCI+CitodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMteG1sPC9hPjwvZGQ+CisKKzxkdD48YSBuYW1lPSJyZWYteG1sbnMiIGlkPSJyZWYteG1sbnMiPjxiPltYTUxOQU1FU108L2I+PC9hPjwvZHQ+CisKKzxkZD48YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMteG1sLW5hbWVzIj4iTmFtZXNwYWNlcyBpbiBYTUwiPC9hPiwgVC4gQnJheSwgRC4gSG9sbGFuZGVyLCBBLiBMYXltYW4sIDE0CitKYW51YXJ5IDE5OTkuPGJyIC8+CitYTUwgbmFtZXNwYWNlcyBwcm92aWRlIGEgc2ltcGxlIG1ldGhvZCBmb3IgcXVhbGlmeWluZyBuYW1lcyB1c2VkCitpbiBYTUwgZG9jdW1lbnRzIGJ5IGFzc29jaWF0aW5nIHRoZW0gd2l0aCBuYW1lc3BhY2VzIGlkZW50aWZpZWQKK2J5IFVSSS48YnIgLz4KK0F2YWlsYWJsZSBhdDogPGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLXhtbC1uYW1lcyI+CitodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMteG1sLW5hbWVzPC9hPjwvZGQ+CisKKzwvZGw+Cis8cD48YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9XQUkvV0NBRzFBQUEtQ29uZm9ybWFuY2UiIHRpdGxlPSJFeHBsYW5hdGlvbiBvZiBMZXZlbCBUcmlwbGUtQSBDb25mb3JtYW5jZSI+Cis8aW1nIGhlaWdodD0iMzIiIHdpZHRoPSI4OCIgc3JjPSJ3Y2FnMUFBQS5naWYiIGFsdD0iTGV2ZWwgVHJpcGxlLUEgY29uZm9ybWFuY2UgaWNvbiwgVzNDLVdBSSBXZWIgQ29udGVudCBBY2Nlc3NpYmlsaXR5IEd1aWRlbGluZXMgMS4wIiAvPjwvYT48L3A+Cis8ZGl2IGNsYXNzPSJuYXZiYXIiPgorICA8aHIgLz4KKyAgPGEgaHJlZj0iI3RvYyI+dGFibGUgb2YgY29udGVudHM8L2E+IAorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC92YWxpZC94aHRtbDEueGh0bWwuZXJyIGIvbGlieG1sMi9yZXN1bHQvdmFsaWQveGh0bWwxLnhodG1sLmVycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvdmFsaWQveGh0bWwxLnhodG1sLmVycgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvdmFsaWQveGh0bWwxLnhodG1sLmVyci5yZHIgYi9saWJ4bWwyL3Jlc3VsdC92YWxpZC94aHRtbDEueGh0bWwuZXJyLnJkcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvdmFsaWQveGh0bWwxLnhodG1sLmVyci5yZHIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL3hsaW5rLnhtbCBiL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL3hsaW5rLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YjM1YTBmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvdmFsaWQveGxpbmsueG1sCkBAIC0wLDAgKzEsNTI1IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPCFET0NUWVBFIHNwZWMgUFVCTElDICItLy9XM0MvL0RURCBTcGVjaWZpY2F0aW9uOjoxOTk5MDIwNS8vRU4iICJkdGRzL3htbHNwZWMuZHRkIiBbCis8IUVOVElUWSBkb2MtdHlwZSAiV0QiPgorPCFFTlRJVFkgaXNvNi5kb2MuZGF0ZSAiMjktTWF5LTE5OTkiPgorXT4KKzwhLS1BcmJvclRleHQsIEluYy4sIDE5ODgtMTk5OCwgdi40MDAyLS0+Cis8P1B1YiBVRFQgX2Jvb2ttYXJrIF90YXJnZXQ/PgorPD9QdWIgSW5jPz4KKzw/eG1sLXN0eWxlc2hlZXQgaHJlZj0iZmlsZTovLy9DfC9Qcm9ncmFtJTIwRmlsZXMvU29mdFF1YWQvWE1ldGFMJTIwMS9kaXNwbGF5L3htbHNwZWMuY3NzIgordHlwZT0idGV4dC9jc3MiPz4KKzxzcGVjPgorCis8IS0tIExhc3QgZWRpdGVkOiAyNyBNYXkgMTk5OSBieSBiZW50IC0tPgorPGhlYWRlcj48P1B1YiBEdGw/PgorCTx0aXRsZT5YTUwgTGlua2luZyBMYW5ndWFnZSAoWExpbmspPC90aXRsZT4KKwk8dmVyc2lvbj5WZXJzaW9uIDEuMDwvdmVyc2lvbj4KKwk8dzNjLWRlc2lnbmF0aW9uPjwhLS0gJmRvYy10eXBlOy0maXNvNi5kb2MuZGF0ZTsgLS0+IFdELXhsaW5rLTE5OTkwNTI3PC93M2MtZGVzaWduYXRpb24+CisJPHczYy1kb2N0eXBlPldvcmxkIFdpZGUgV2ViIENvbnNvcnRpdW0gV29ya2luZyBEcmFmdDwvdzNjLWRvY3R5cGU+CisJPHB1YmRhdGU+PGRheT4yOTwvZGF5Pjxtb250aD5NYXk8L21vbnRoPjx5ZWFyPjE5OTk8L3llYXI+PC9wdWJkYXRlPgorCTxub3RpY2U+CisJPHA+VGhpcyBkcmFmdCBpcyBmb3IgcHVibGljIGRpc2N1c3Npb24uPC9wPgorCTwvbm90aWNlPgorCTxwdWJsb2M+PGxvYyBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9YTUwvR3JvdXAvMTk5OS8wNS9XRC14bGluay1jdXJyZW50Ij5odHRwOi8vd3d3LnczLm9yZy9YTUwvR3JvdXAvMTk5OS8wNS9XRC14bGluay1jdXJyZW50PC9sb2M+PC9wdWJsb2M+CisJPHByZXZsb2NzPgorCTwhLS1DaGVjazogd2FzIGl0IGFjdHVhbGx5IEF1Z3VzdD8tLT4KKwk8bG9jIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1hNTC9Hcm91cC8xOTk5LzA1L1dELXhsaW5rLTE5OTkwNTI3Ij5odHRwOi8vd3d3LnczLm9yZy9YTUwvR3JvdXAvMTk5OS8wNS9XRC14bGluay0xOTk5MDUyNzwvbG9jPgorCTxsb2MgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvWE1ML0dyb3VwLzE5OTkvMDUvV0QteGxpbmstMTk5OTA1MDUiPmh0dHA6Ly93d3cudzMub3JnL1hNTC9Hcm91cC8xOTk5LzA1L1dELXhsaW5rLTE5OTkwNTA1PC9sb2M+CisJPGxvYyBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi8xOTk4L1dELXhsaW5rLTE5OTgwMzAzIj5odHRwOi8vd3d3LnczLm9yZy9UUi8xOTk4L1dELXhsaW5rLTE5OTgwMzAzPC9sb2M+CisJPGxvYyBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9XRC14bWwtbGluay05NzA2MzAiPmh0dHA6Ly93d3cudzMub3JnL1RSL1dELXhtbC1saW5rLTk3MDYzMDwvbG9jPjwvcHJldmxvY3M+CisKKwk8YXV0aGxpc3Q+CisJCTwhLS1VcGRhdGVkIGF1dGhvciBocmVmcyAgZG9yY2hhcmQtLT4KKwkJPCEtLSBVcGRhdGUgU3RldmUncyBlbWFpbCAtIGJlbnQgLS0+IAorCQk8YXV0aG9yPgorCQkJPG5hbWU+U3RldmUgRGVSb3NlPC9uYW1lPgorCQkJPGFmZmlsaWF0aW9uPkluc28gQ29ycC4gYW5kIEJyb3duIFVuaXZlcnNpdHk8L2FmZmlsaWF0aW9uPgorCQkJPGVtYWlsIGhyZWY9Im1haWx0bzpTdGV2ZW5fRGVSb3NlQEJyb3duLmVkdSI+U3RldmVuX0RlUm9zZUBCcm93bi5lZHU8L2VtYWlsPgorCQk8L2F1dGhvcj4KKwkJPGF1dGhvcj4KKwkJCTxuYW1lPkRhdmlkIE9yY2hhcmQ8L25hbWU+CisJCQk8YWZmaWxpYXRpb24+SUJNIENvcnAuPC9hZmZpbGlhdGlvbj4KKwkJCTxlbWFpbCBocmVmPSJtYWlsdG86ZG9yY2hhcmRAY2EuaWJtLmNvbSI+ZG9yY2hhcmRAY2EuaWJtLmNvbTwvZW1haWw+CisJCTwvYXV0aG9yPgorCQk8YXV0aG9yPgorCQkJPG5hbWU+QmVuIFRyYWZmb3JkPC9uYW1lPgorCQkJPGFmZmlsaWF0aW9uPkludml0ZWQgRXhwZXJ0PC9hZmZpbGlhdGlvbj4KKwkJCTxlbWFpbCBocmVmPSJtYWlsdG86YmVudEBleGVtcGxhcnkubmV0Ij5iZW50QGV4ZW1wbGFyeS5uZXQ8L2VtYWlsPgorCQk8L2F1dGhvcj4KKwkJPCEtLSBJIHN1Z2dlc3Qgd2UgbW92ZSBFdmUgYW5kIFRpbSBkb3duIHRvIHRoZSBBY2tub3dsZWRnZW1lbnRzIHNlY3Rpb24uIFdlCisJCWFsc28gb3VnaHQgdG8gYWRkIEdhYmUgQmVnZWQtRG92IHRoZXJlLCBhcyB3ZWxsLiBiZW50CisJCWhvdyBzaGFsbCB3ZSBjaXRlIFRpbT8gc2pkIFdoYXQgYWJvdXQgd2l0aCBhbiBBY2tub3dsZWRnbWVudHMgc2VjdGlvbj8KKwkJLWVsbSA8QVVUSE9SPiA8TkFNRT5UaW0gQnJheTwvTkFNRT4gPEFGRklMSUFUSU9OPlRleHR1YWxpdHk8L0FGRklMSUFUSU9OPgorCQk8RU1BSUw+dGJyYXlAdGV4dHVhbGl0eS5jb208L0VNQUlMPiA8L0FVVEhPUj4tLT4KKwk8L2F1dGhsaXN0PgorCisJPHN0YXR1cz4KKwkJPHA+VGhpcyBpcyBhIFczQyBXb3JraW5nIERyYWZ0IGZvciByZXZpZXcgYnkgVzNDIG1lbWJlcnMgYW5kIG90aGVyIGludGVyZXN0ZWQgcGFydGllcy4gSXQgaXMgYSBkcmFmdCBkb2N1bWVudCBhbmQgbWF5IGJlIHVwZGF0ZWQsIHJlcGxhY2VkLCBvciBvYnNvbGV0ZWQgYnkgb3RoZXIgZG9jdW1lbnRzIGF0IGFueSB0aW1lLiBJdCBpcyBpbmFwcHJvcHJpYXRlIHRvIHVzZSBXM0MgV29ya2luZyBEcmFmdHMgYXMgcmVmZXJlbmNlIG1hdGVyaWFsIG9yIHRvIGNpdGUgdGhlbSBhcyBvdGhlciB0aGFuICJ3b3JrIGluIHByb2dyZXNzIi4gQSBsaXN0IG9mIGN1cnJlbnQgVzNDIHdvcmtpbmcgZHJhZnRzIGNhbiBiZSBmb3VuZCBhdCA8bG9jIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSIj5odHRwOi8vd3d3LnczLm9yZy9UUjwvbG9jPi48L3A+CisJCTxwPjxlbXBoPk5vdGU6PC9lbXBoPiBTaW5jZSB3b3JraW5nIGRyYWZ0cyBhcmUgc3ViamVjdCB0byBmcmVxdWVudCBjaGFuZ2UsIHlvdSBhcmUgYWR2aXNlZCB0byByZWZlcmVuY2UgdGhlIGFib3ZlIFVSSSwgcmF0aGVyIHRoYW4gdGhlIFVSSXMgZm9yIHdvcmtpbmcgZHJhZnRzIHRoZW1zZWx2ZXMuIFNvbWUgb2YgdGhlIHdvcmsgcmVtYWluaW5nIGlzIGRlc2NyaWJlZCBpbiA8c3BlY3JlZiByZWY9InVuZmluaXNoZWQiLz4uIDwvcD4KKwkJPHA+VGhpcyB3b3JrIGlzIHBhcnQgb2YgdGhlIFczQyBYTUwgQWN0aXZpdHkgKGZvciBjdXJyZW50IHN0YXR1cywgc2VlIDxsb2MgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvTWFya1VwL1NHTUwvQWN0aXZpdHkiPmh0dHA6Ly93d3cudzMub3JnL1hNTC9BY3Rpdml0eSAJCSAgPC9sb2M+KS4gRm9yIGluZm9ybWF0aW9uIGFib3V0IHRoZSBYUG9pbnRlciBsYW5ndWFnZSB3aGljaCBpcyBleHBlY3RlZCB0byBiZSB1c2VkIHdpdGggWExpbmssIHNlZSA8bG9jIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL01hcmtVcC9TR01ML0FjdGl2aXR5Ij5odHRwOi8vd3d3LnczLm9yZy9UUi9XRC14cHRyPC9sb2M+LgorCQk8L3A+CisJCTxwPlNlZSA8bG9jIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL05PVEUteGxpbmstcHJpbmNpcGxlcyI+aHR0cDovL3d3dy53My5vcmcvVFIvTk9URS14bGluay1wcmluY2lwbGVzIDwvbG9jPiBmb3IgYWRkaXRpb25hbCBiYWNrZ3JvdW5kIG9uIHRoZSBkZXNpZ24gcHJpbmNpcGxlcyBpbmZvcm1pbmcgWExpbmsuPC9wPgorCQk8cD5BbHNvIHNlZSA8bG9jIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL05PVEUteGxpbmstcmVxLyI+aHR0cDovL3d3dy53My5vcmcvVFIvTk9URS14bGluay1yZXEvPC9sb2M+IGZvciB0aGUgWExpbmsgcmVxdWlyZW1lbnRzIHRoYXQgdGhpcyBkb2N1bWVudCBhdHRlbXB0cyB0byBzYXRpc2Z5LjwvcD4KKwk8L3N0YXR1cz4KKworCTxhYnN0cmFjdD4KKwkJPCEtLSBlZGl0ZWQgdGhlIGFic3RyYWN0IGZvciBmdXJ0aGVyIGNsYXJpdHkgLSBiZW50IC0tPgorCQk8cD5UaGlzIHNwZWNpZmljYXRpb24gZGVmaW5lcyBjb25zdHJ1Y3RzIHRoYXQgbWF5IGJlIGluc2VydGVkIGludG8gWE1MIERURHMsIHNjaGVtYXMgYW5kIGRvY3VtZW50IGluc3RhbmNlcyB0byBkZXNjcmliZSBsaW5rcyBiZXR3ZWVuIG9iamVjdHMuIEl0IHVzZXMgWE1MIHN5bnRheCB0byBjcmVhdGUgc3RydWN0dXJlcyB0aGF0IGNhbiBkZXNjcmliZSB0aGUgc2ltcGxlIHVuaWRpcmVjdGlvbmFsIGh5cGVybGlua3Mgb2YgdG9kYXkncyBIVE1MIGFzIHdlbGwgYXMgbW9yZSBzb3BoaXN0aWNhdGVkIGxpbmtzLjwvcD4KKwk8L2Fic3RyYWN0PgorCisJPHB1YnN0bXQ+CisJCTxwPkJ1cmxpbmd0b24sIFNlZWtvbmssIGV0IGFsLjogV29ybGQtV2lkZSBXZWIgQ29uc29ydGl1bSwgWE1MIFdvcmtpbmcgR3JvdXAsIDE5OTguPC9wPgorCTwvcHVic3RtdD4KKworCTxzb3VyY2VkZXNjPgorCQk8cD5DcmVhdGVkIGluIGVsZWN0cm9uaWMgZm9ybS48L3A+CisJPC9zb3VyY2VkZXNjPgorCisJPGxhbmd1c2FnZT4KKwkJPGxhbmd1YWdlIGlkPSJlbiI+RW5nbGlzaDwvbGFuZ3VhZ2U+CisJCTxsYW5ndWFnZSBpZD0iZWJuZiI+RXh0ZW5kZWQgQmFja3VzLU5hdXIgRm9ybSAoZm9ybWFsIGdyYW1tYXIpPC9sYW5ndWFnZT4KKwk8L2xhbmd1c2FnZT4KKworCTxyZXZpc2lvbmRlc2M+CisJCTxzbGlzdD4KKwkJCTxzaXRlbT4xOTk3LTAxLTE1IDogU2tlbGV0b24gZHJhZnQgYnkgVEI8L3NpdGVtPgorCQkJPHNpdGVtPjE5OTctMDEtMjQgOiBGbGVzaGVkIG91dCBieSBzamQ8L3NpdGVtPgorCQkJPHNpdGVtPjE5OTctMDQtMDggOiBTdWJzdGFudGl2ZSBkcmFmdDwvc2l0ZW0+CisJCQk8c2l0ZW0+MTk5Ny0wNi0zMCA6IFB1YmxpYyBkcmFmdDwvc2l0ZW0+CisJCQk8c2l0ZW0+MTk5Ny0wOC0wMSA6IFB1YmxpYyBkcmFmdDwvc2l0ZW0+CisJCQk8c2l0ZW0+MTk5Ny0wOC0wNSA6IFByb3NlL29yZ2FuaXphdGlvbiB3b3JrIGJ5IHNqZDwvc2l0ZW0+CisJCQk8c2l0ZW0+MTk5Ny0xMC0xNDogQ29uZm9ybWFuY2UgYW5kIGRlc2lnbiBwcmluY2lwbGVzOyBhIGJpdCBvZiBjbGVhbnVwIGJ5IGVsbTwvc2l0ZW0+CisJCQk8c2l0ZW0+MTk5Ny0xMS0wNzogVXBkYXRlIGZvciBlZGl0b3JpYWwgaXNzdWVzIHBlciBpc3N1ZXMgZG9jLCBieSBzamQuPC9zaXRlbT4KKwkJCTxzaXRlbT4xOTk3LTEyLTAxOiBVcGRhdGUgZm9yIGVkaXRvcmlhbCBpc3N1ZXMgcGVyIGlzc3VlcyBkb2MgaW4gcHJlcGFyYXRpb24gZm9yIEYyRiBtZWV0aW5nLCBieSBzamQuPC9zaXRlbT4KKwkJCTxzaXRlbT4xOTk4LTAxLTEzOiBFZGl0b3JpYWwgY2xlYW51cCwgYWRkaXRpb24gb2YgbmV3IGRlc2lnbiBwcmluY2lwbGVzLCBieSBlbG0uPC9zaXRlbT4KKwkJCTxzaXRlbT4xOTk4LTAyLTI3OiBTcGxpdHRpbmcgb3V0IG9mIFhMaW5rIGFuZCBYUG9pbnRlciwgYnkgZWxtLjwvc2l0ZW0+CisJCQk8c2l0ZW0+MTk5OC0wMy0wMzogTW92ZWQgbW9zdCBvZiB0aGUgWFBvaW50ZXIgbG9jYXRvciBzdHVmZiBoZXJlLiBlbG08L3NpdGVtPgorCQkJPHNpdGVtPjE5OTktMDQtMjQ6IEVkaXRvcmlhbCByZXdyaXRlcyB0byByZXByZXNlbnQgbmV3IGlkZWFzIG9uIFhMaW5rLCBlc3BlY2lhbGx5IHRoZSBpbmNsdXNpb24gb2YgYXJjcy4gYmVudDwvc2l0ZW0+CisJCQk8c2l0ZW0+MTk5OS0wNS0wNTogUHJvc2Uvb3JnYW5pemF0aW9uIHdvcmsgYnkgZG9yY2hhcmQuIE1vdmVkIG11Y2ggb2YgdGhlIHNlbWFudGljcyBzZWN0aW9uIGFyb3VuZCwgZnJvbTogbG9jYXRvcnMsIGxpbmsgc2VtYW50aWNzLCByZW1vdGUgcmVzb3VyY2Ugc2VtYW50aWNzLCBsb2NhbCByZXNvdXJjZSBzZW1hbnRpY3M7IHRvOiByZXNvdXJjZSBzZW1hbnRpY3MsIGxvY2F0b3JzLCBiZWhhdmlvciBzZW1hbnRpY3MsIGxpbmsgc2VtYW50aWNzLCBhcmMgc2VtYW50aWNzPC9zaXRlbT4KKwkJCTxzaXRlbT4xOTk5LTA1LTEyOiBQcm9zZS9vcmdhbml6YXRpb24gd29yay4gUmUtb3JnYW5pemVkIHNvbWUgb2YgdGhlIHNlY3Rpb25zLCByZW1vdmVkIFhNTCBjb25zdHJ1Y3RzIGZyb20gdGhlIGRvY3VtZW50LCBhZGRlZCBkZXNjcmlwdGl2ZSBwcm9zZSwgZWRpdGVkIGRvY3VtZW50IHRleHQgZm9yIGNsYXJpdHkuIFJld3JvdGUgdGhlIGxpbmsgcmVjb2duaXRpb24gc2VjdGlvbi4gYmVudDwvc2l0ZW0+CisJCQk8c2l0ZW0+MTk5OS0wNS0xNzogRnVydGhlciBwcm9zZSB3b3JrLiBBZGRlZCBub24tbm9ybWF0aXZlIGV4YW1wbGVzLiBDbGFyaWZpZWQgYXJjcy4gYmVudDwvc2l0ZW0+CisJCQk8c2l0ZW0+MTk5OS0wNS0yMzogRWRpdGVkIGZvciBncmFtbWFyIGFuZCBjbGFyaXR5LiBiZW50PC9zaXRlbT4KKwkJCTxzaXRlbT4xOTk5LTA1LTI3OiBGaW5hbCBvbmNlLW92ZXIgYmVmb3JlIHNlbmRpbmcgdG8gZ3JvdXAuIEZpeGVkIHNqZCdzIGVtYWlsIGFkZHJlc3MuIGJlbnQ8L3NpdGVtPgorCQk8L3NsaXN0PgorCTwvcmV2aXNpb25kZXNjPgorPC9oZWFkZXI+CisKKzxib2R5PgorCTxkaXYxPjw/UHViIER0bD8+CisJCTxoZWFkPkludHJvZHVjdGlvbjwvaGVhZD4KKwkJPHA+VGhpcyBzcGVjaWZpY2F0aW9uIGRlZmluZXMgY29uc3RydWN0cyB0aGF0IG1heSBiZSBpbnNlcnRlZCBpbnRvIFhNTCBEVERzLCBzY2hlbWFzLCBhbmQgZG9jdW1lbnQgaW5zdGFuY2VzIHRvIGRlc2NyaWJlIGxpbmtzIGJldHdlZW4gb2JqZWN0cy4gQSA8dGVybXJlZiBkZWY9ImR0LWxpbmsiPmxpbms8L3Rlcm1yZWY+LCBhcyB0aGUgdGVybSBpcyB1c2VkIGhlcmUsIGlzIGFuIGV4cGxpY2l0IHJlbGF0aW9uc2hpcCBiZXR3ZWVuIHR3byBvciBtb3JlIGRhdGEgb2JqZWN0cyBvciBwb3J0aW9ucyBvZiBkYXRhIG9iamVjdHMuIFRoaXMgc3BlY2lmaWNhdGlvbiBpcyBjb25jZXJuZWQgd2l0aCB0aGUgc3ludGF4IHVzZWQgdG8gYXNzZXJ0IGxpbmsgZXhpc3RlbmNlIGFuZCBkZXNjcmliZSBsaW5rIGNoYXJhY3RlcmlzdGljcy4gSW1wbGljaXQgKHVuYXNzZXJ0ZWQpIHJlbGF0aW9uc2hpcHMsIGZvciBleGFtcGxlIHRoYXQgb2Ygb25lIHdvcmQgdG8gdGhlIG5leHQgb3IgdGhhdCBvZiBhIHdvcmQgaW4gYSB0ZXh0IHRvIGl0cyBlbnRyeSBpbiBhbiBvbi1saW5lIGRpY3Rpb25hcnkgYXJlIG9idmlvdXNseSBpbXBvcnRhbnQsIGJ1dCBvdXRzaWRlIGl0cyBzY29wZS48L3A+CisJCTxwPkxpbmtzIGFyZSBhc3NlcnRlZCBieSA8eHRlcm1yZWYgaHJlZj0iV0QteG1sLWxhbmcuaHRtbCNkdC1lbGVtZW50Ij5lbGVtZW50cyA8L3h0ZXJtcmVmPiBjb250YWluZWQgaW4gPHh0ZXJtcmVmIGhyZWY9IldELXhtbC1sYW5nLmh0bWwjZHQteG1sLWRvYyI+WE1MIGRvY3VtZW50IGluc3RhbmNlczwveHRlcm1yZWY+LiBUaGUgc2ltcGxlc3QgY2FzZSBpcyB2ZXJ5IGxpa2UgYW4gSFRNTCA8Y29kZT5BPC9jb2RlPiBsaW5rLCBhbmQgaGFzIHRoZXNlIGNoYXJhY3RlcmlzdGljczoKKwkJCTx1bGlzdD4KKwkJCQk8aXRlbT48cD5UaGUgbGluayBpcyBleHByZXNzZWQgYXQgb25lIG9mIGl0cyBlbmRzIChzaW1pbGFyIHRvIHRoZSA8Y29kZT5BPC9jb2RlPiBlbGVtZW50IGluIHNvbWUgZG9jdW1lbnQpPC9wPjwvaXRlbT4KKwkJCQk8aXRlbT48cD5Vc2VycyBjYW4gb25seSBpbml0aWF0ZSB0cmF2ZWwgZnJvbSB0aGF0IGVuZCB0byB0aGUgb3RoZXI8L3A+PC9pdGVtPgorCQkJCTxpdGVtPjxwPlRoZSBsaW5rJ3MgZWZmZWN0IG9uIHdpbmRvd3MsIGZyYW1lcywgZ28tYmFjayBsaXN0cywgc3R5bGVzaGVldHMgaW4gdXNlLCBhbmQgc28gb24gaXMgbWFpbmx5IGRldGVybWluZWQgYnkgYnJvd3NlcnMsIG5vdCBieSB0aGUgbGluayBpdHNlbGYuIEZvciBleGFtcGxlLCB0cmF2ZXJhbCBvZiA8Y29kZT5BPC9jb2RlPiBsaW5rcyBub3JtYWxseSByZXBsYWNlcyB0aGUgY3VycmVudCB2aWV3LCBwZXJoYXBzIHdpdGggYSB1c2VyIG9wdGlvbiB0byBvcGVuIGEgbmV3IHdpbmRvdy48L3A+PC9pdGVtPgorCQkJCTxpdGVtPjxwPlRoZSBsaW5rIGdvZXMgdG8gb25seSBvbmUgZGVzdGluYXRpb24gKGFsdGhvdWdoIGEgc2VydmVyIG1heSBoYXZlIGdyZWF0IGZyZWVkb20gaW4gZmluZGluZyBvciBkeW5hbWljYWxseSBjcmVhdGluZyB0aGF0IGRlc3RpbmF0aW9uKS48L3A+PC9pdGVtPgorCQkJPC91bGlzdD4KKwkJPC9wPgorCQk8cD5XaGlsZSB0aGlzIHNldCBvZiBjaGFyYWN0ZXJpc3RpY3MgaXMgYWxyZWFkeSB2ZXJ5IHBvd2VyZnVsIGFuZCBvYnZpb3VzbHkgaGFzIHByb3ZlbiBpdHNlbGYgaGlnaGx5IHVzZWZ1bCBhbmQgZWZmZWN0aXZlLCBlYWNoIG9mIHRoZXNlIGFzc3VtcHRpb25zIGFsc28gbGltaXRzIHRoZSByYW5nZSBvZiBoeXBlcnRleHQgZnVuY3Rpb25hbGl0eS4gVGhlIGxpbmtpbmcgbW9kZWwgZGVmaW5lZCBoZXJlIHByb3ZpZGVzIHdheXMgdG8gY3JlYXRlIGxpbmtzIHRoYXQgZ28gYmV5b25kIGVhY2ggb2YgdGhlc2Ugc3BlY2lmaWMgY2hhcmFjdGVyaXN0aWNzLCB0aHVzIHByb3ZpZGluZyBmZWF0dXJlcyBwcmV2aW91c2x5IGF2YWlsYWJsZSBtb3N0bHkgaW4gZGVkaWNhdGVkIGh5cGVybWVkaWEgc3lzdGVtcy4KKwkJPC9wPgorCis8ZGl2Mj4KKwk8aGVhZD5PcmlnaW4gYW5kIEdvYWxzPC9oZWFkPgorCTxwPkZvbGxvd2luZyBpcyBhIHN1bW1hcnkgb2YgdGhlIGRlc2lnbiBwcmluY2lwbGVzIGdvdmVybmluZyBYTGluazoKKwkJPG9saXN0PgorCQkJPGl0ZW0+PHA+WExpbmsgbXVzdCBiZSBzdHJhaWdodGZvcndhcmRseSB1c2FibGUgb3ZlciB0aGUgSW50ZXJuZXQuIDwvcD48L2l0ZW0+CisJCQk8aXRlbT48cD5YTGluayBtdXN0IGJlIHVzYWJsZSBieSBhIHdpZGUgdmFyaWV0eSBvZiBsaW5rIHVzYWdlIGRvbWFpbnMgYW5kIGNsYXNzZXMgb2YgbGlua2luZyBhcHBsaWNhdGlvbiBzb2Z0d2FyZS48L3A+PC9pdGVtPgorCQkJPGl0ZW0+PHA+WExpbmsgbXVzdCBzdXBwb3J0IEhUTUwgNC4wIGxpbmtpbmcgY29uc3RydWN0cy48L3A+PC9pdGVtPgorCQkJPGl0ZW0+PHA+VGhlIFhMaW5rIGV4cHJlc3Npb24gbGFuZ3VhZ2UgbXVzdCBiZSBYTUwuPC9wPjwvaXRlbT4KKwkJCTxpdGVtPjxwPlRoZSBYTGluayBkZXNpZ24gbXVzdCBiZSBmb3JtYWwsIGNvbmNpc2UsIGFuZCBpbGx1c3RyYXRpdmUuPC9wPjwvaXRlbT4KKwkJCTxpdGVtPjxwPlhMaW5rcyBtdXN0IGJlIGh1bWFuLXJlYWRhYmxlIGFuZCBodW1hbi13cml0YWJsZS48L3A+PC9pdGVtPgorCQkJPGl0ZW0+PHA+WExpbmtzIG1heSByZXNpZGUgd2l0aGluIG9yIG91dHNpZGUgdGhlIGRvY3VtZW50cyBpbiB3aGljaCB0aGUKKwkJCXBhcnRpY2lwYXRpbmcgcmVzb3VyY2VzIHJlc2lkZS4gPC9wPjwvaXRlbT4KKwkJCTxpdGVtPjxwPlhMaW5rIG11c3QgcmVwcmVzZW50IHRoZSBhYnN0cmFjdCBzdHJ1Y3R1cmUgYW5kIHNpZ25pZmljYW5jZSBvZiBsaW5rcy48L3A+PC9pdGVtPgorCQkJPGl0ZW0+PHA+WExpbmsgbXVzdCBiZSBmZWFzaWJsZSB0byBpbXBsZW1lbnQuPC9wPjwvaXRlbT4KKwkJCTxpdGVtPjxwPlhMaW5rIG11c3QgYmUgaW5mb3JtZWQgYnkga25vd2xlZGdlIG9mIGVzdGFibGlzaGVkIGh5cGVybWVkaWEgc3lzdGVtcyBhbmQgc3RhbmRhcmRzLjwvcD48L2l0ZW0+CisJCTwvb2xpc3Q+CisJPC9wPgorPC9kaXYyPgorPCEtLUNoYW5nZWQgdGhlIGxpc3Qgb2YgcmVxdWlyZW1lbnRzIHRvIHJlZmxlY3QgY3VycmVudCBYTGluayByZXF1aXJlbWVudHMKK2RvY3VtZW50LiBiZW50LS0+CisKKzxkaXYyPgorCTxoZWFkPlJlbGF0aW9uc2hpcCB0byBFeGlzdGluZyBTdGFuZGFyZHM8L2hlYWQ+CisJPHA+VGhyZWUgc3RhbmRhcmRzIGhhdmUgYmVlbiBlc3BlY2lhbGx5IGluZmx1ZW50aWFsOgorCQk8dWxpc3Q+CisJCQk8aXRlbT48cD48ZW1waD5IVE1MOjwvZW1waD4gRGVmaW5lcyBzZXZlcmFsIFNHTUwgZWxlbWVudCB0eXBlcyB0aGF0IHJlcHJlc2VudCBsaW5rcy48L3A+PC9pdGVtPgorCQkJPGl0ZW0+PHA+PGVtcGg+SHlUaW1lOjwvZW1waD4gRGVmaW5lcyBpbmxpbmUgYW5kIG91dC1vZi1saW5lIGxpbmsgc3RydWN0dXJlcyBhbmQgc29tZSBzZW1hbnRpYyBmZWF0dXJlcywgaW5jbHVkaW5nIHRyYXZlcnNhbCBjb250cm9sIGFuZCBwcmVzZW50YXRpb24gb2Ygb2JqZWN0cy4gPCEtLUNoYW5nZWQgZnJvbSAicGxhY2VtZW50IG9mIG9iamVjdHMgaW50byBhIGRpc3BsYXkgb3Igb3RoZXIgc3BhY2UiIC1lbG0tLT4KKwkJCTwvcD48L2l0ZW0+CisJCQk8aXRlbT48cD48ZW1waD5UZXh0IEVuY29kaW5nIEluaXRpYXRpdmUgR3VpZGVsaW5lcyAoVEVJIFAzKTo8L2VtcGg+IFByb3ZpZGVzIHN0cnVjdHVyZXMgZm9yIGNyZWF0aW5nIGxpbmtzLCBhZ2dyZWdhdGUgb2JqZWN0cywgYW5kIGxpbmsgY29sbGVjdGlvbnMgb3V0IG9mIHRoZW0uPC9wPjwvaXRlbT4KKwkJPC91bGlzdD4KKwk8L3A+CisJPHA+TWFueSBvdGhlciBsaW5raW5nIHN5c3RlbXMgaGF2ZSBhbHNvIGluZm9ybWVkIHRoaXMgZGVzaWduLCBlc3BlY2lhbGx5IERleHRlciwgRlJFU1MsIE1pY3JvQ29zbSwgYW5kIEludGVyTWVkaWEuPC9wPgorPC9kaXYyPgorCis8ZGl2Mj4KKwk8aGVhZD5UZXJtaW5vbG9neTwvaGVhZD4KKwk8cD5UaGUgZm9sbG93aW5nIGJhc2ljIHRlcm1zIGFwcGx5IGluIHRoaXMgZG9jdW1lbnQuIDwhLS08SU1HCisJU1JDPSJsb2NhbDovLy4vbGlua2RpYWcuZ2lmIj4oZmlndXJlIHRvIGJlIGluc2VydGVkKS0tPgorCQk8Z2xpc3Q+CisJCQk8Z2l0ZW0+CisJCQk8bGFiZWw+PHRlcm1kZWYgaWQ9ImR0LWFyYyIgdGVybT0iQXJjIj5hcmM8L3Rlcm1kZWY+PC9sYWJlbD4KKwkJCTxkZWY+PHA+QSBzeW1ib2xpYyByZXByZXNlbnRhdGlvbiBvZiB0cmF2ZXJzYWwgYmVoYXZpb3IgaW4gbGlua3MsIGVzcGVjaWFsbHkgdGhlIGRpcmVjdGlvbiwgY29udGV4dCBhbmQgdGltaW5nIG9mIHRyYXZlcnNhbC48L3A+PC9kZWY+CisJCQk8L2dpdGVtPgorCQkJPGdpdGVtPgorCQkJCTxsYWJlbD48dGVybWRlZiBpZD0iZHQtZWx0cmVlIiB0ZXJtPSJFbGVtZW50IFRyZWUiPmVsZW1lbnQgdHJlZTwvdGVybWRlZj48L2xhYmVsPgorCQkJCTxkZWY+PHA+QSByZXByZXNlbnRhdGlvbiBvZiB0aGUgcmVsZXZhbnQgc3RydWN0dXJlIHNwZWNpZmllZCBieSB0aGUgdGFncyBhbmQgYXR0cmlidXRlcyBpbiBhbiBYTUwgZG9jdW1lbnQsIGJhc2VkIG9uICJncm92ZXMiIGFzIGRlZmluZWQgaW4gdGhlIElTTyBEU1NTTCBzdGFuZGFyZC4gPC9wPjwvZGVmPgorCQkJPC9naXRlbT4KKwkJCTxnaXRlbT4KKwkJCQk8bGFiZWw+PHRlcm1kZWYgaWQ9ImR0LWlubGluZSIgdGVybT0iSW4tTGluZSBMaW5rIj5pbmxpbmUgbGluazwvdGVybWRlZj48L2xhYmVsPgorCQkJCTxkZWY+PHA+QWJzdHJhY3RseSwgYSA8dGVybXJlZiBkZWY9ImR0LWxpbmsiPmxpbms8L3Rlcm1yZWY+IHdoaWNoIHNlcnZlcyBhcyBvbmUgb2YgaXRzIG93biA8dGVybXJlZiBkZWY9ImR0LXJlc291cmNlIj5yZXNvdXJjZXM8L3Rlcm1yZWY+LiBDb25jcmV0ZWx5LCBhIGxpbmsgd2hlcmUgdGhlIGNvbnRlbnQgb2YgdGhlIDx0ZXJtcmVmIGRlZj0iZHQtbGlua2VsIj5saW5raW5nCWVsZW1lbnQ8L3Rlcm1yZWY+IHNlcnZlcyBhcyBhIDx0ZXJtcmVmIGRlZj0iZHQtcGFydGljaXAtcmVzb3VyY2UiPnBhcnRpY2lwYXRpbmcgcmVzb3VyY2U8L3Rlcm1yZWY+LgorCQkJCUhUTUwgPGNvZGU+QTwvY29kZT4sIEh5VGltZSA8Y29kZT5jbGluazwvY29kZT4sIGFuZCBURUkJPGNvZGU+WFJFRjwvY29kZT4KKwkJCQlhcmUgYWxsIGlubGluZSBsaW5rcy48L3A+PC9kZWY+CisJCQk8L2dpdGVtPgorCQkJPGdpdGVtPgorCQkJCTxsYWJlbD48dGVybWRlZiBpZD0iZHQtbGluayIgdGVybT0iTGluayI+bGluazwvdGVybWRlZj48L2xhYmVsPgorCQkJCTxkZWY+PHA+QW4gZXhwbGljaXQgcmVsYXRpb25zaGlwIGJldHdlZW4gdHdvIG9yIG1vcmUgZGF0YSBvYmplY3RzIG9yIHBvcnRpb25zIG9mIGRhdGEgb2JqZWN0cy48L3A+PC9kZWY+CisJCQk8L2dpdGVtPgorCQkJPGdpdGVtPgorCQkJCTxsYWJlbD48dGVybWRlZiBpZD0iZHQtbGlua2VsIiB0ZXJtPSJMaW5raW5nIEVsZW1lbnQiPmxpbmtpbmcgZWxlbWVudCA8L3Rlcm1kZWY+PC9sYWJlbD4KKwkJCQk8ZGVmPjxwPkFuIDx4dGVybXJlZiBocmVmPSJXRC14bWwtbGFuZy5odG1sI2R0LWVsZW1lbnQiPmVsZW1lbnQ8L3h0ZXJtcmVmPiB0aGF0IGFzc2VydHMgdGhlIGV4aXN0ZW5jZSBhbmQgZGVzY3JpYmVzIHRoZSBjaGFyYWN0ZXJpc3RpY3Mgb2YgYSA8dGVybXJlZiBkZWY9ImR0LWxpbmsiPiBsaW5rPC90ZXJtcmVmPi48L3A+PC9kZWY+CisJCQk8L2dpdGVtPgorCQkJPGdpdGVtPgorCQkJCTxsYWJlbD48dGVybWRlZiBpZD0iZHQtbG9jYWwtcmVzb3VyY2UiIHRlcm09IkxvY2FsIFJlc291cmNlIj5sb2NhbCByZXNvdXJjZTwvdGVybWRlZj48L2xhYmVsPgorCQkJCTxkZWY+PHA+VGhlIGNvbnRlbnQgb2YgYW4gPHRlcm1yZWYgZGVmPSJkdC1pbmxpbmUiPmlubGluZTwvdGVybXJlZj5saW5raW5nIGVsZW1lbnQuIE5vdGUgdGhhdCB0aGUgY29udGVudCBvZiB0aGUgbGlua2luZyBlbGVtZW50IGNvdWxkIGJlIGV4cGxpY2l0bHkgcG9pbnRlZCB0byBieSBtZWFucyBvZiBhIHJlZ3VsYXIgPHRlcm1yZWYgZGVmPSJkdC1sb2NhdG9yIj5sb2NhdG9yPC90ZXJtcmVmPiBpbiB0aGUgc2FtZSBsaW5raW5nIGVsZW1lbnQsIGluIHdoaWNoIGNhc2UgdGhlIHJlc291cmNlIGlzIGNvbnNpZGVyZWQgPHRlcm1yZWYgZGVmPSJkdC1yZW1vdGUtcmVzb3VyY2UiPiByZW1vdGU8L3Rlcm1yZWY+LCBub3QgbG9jYWwuPC9wPjwvZGVmPgorCQkJPC9naXRlbT4KKwkJCTxnaXRlbT4KKwkJCQk8bGFiZWw+PHRlcm1kZWYgaWQ9ImR0LWxvY2F0b3IiIHRlcm09IkxvY2F0b3IiPmxvY2F0b3I8L3Rlcm1kZWY+IDwvbGFiZWw+CisJCQkJPGRlZj48cD5EYXRhLCBwcm92aWRlZCBhcyBwYXJ0IG9mIGEgbGluaywgd2hpY2ggaWRlbnRpZmllcyBhCisJCQkJPHRlcm1yZWYgZGVmPSJkdC1yZXNvdXJjZSI+cmVzb3VyY2U8L3Rlcm1yZWY+LjwvcD48L2RlZj4KKwkJCTwvZ2l0ZW0+CisJCQk8Z2l0ZW0+CisJCQkJPGxhYmVsPjx0ZXJtZGVmIGlkPSJkdC1tdWx0aWRpciIgdGVybT0iTXVsdGktRGlyZWN0aW9uYWwgTGluayI+bXVsdGlkaXJlY3Rpb25hbCBsaW5rPC90ZXJtZGVmPjwvbGFiZWw+CisJCQkJPGRlZj48cD5BIDx0ZXJtcmVmIGRlZj0iZHQtbGluayI+bGluazwvdGVybXJlZj4gd2hvc2UgPHRlcm1yZWYgZGVmPSJkdC10cmF2ZXJzYWwiPiB0cmF2ZXJzYWw8L3Rlcm1yZWY+IGNhbiBiZSBpbml0aWF0ZWQgZnJvbSBtb3JlIHRoYW4gb25lIG9mIGl0cyA8dGVybXJlZiBkZWY9ImR0LXBhcnRpY2lwLXJlc291cmNlIj4gcGFydGljaXBhdGluZyByZXNvdXJjZXM8L3Rlcm1yZWY+LiBOb3RlIHRoYXQgYmVpbmcgYWJsZSB0byAiZ28gYmFjayIgYWZ0ZXIgZm9sbG93aW5nIGEgb25lLWRpcmVjdGlvbmFsIGxpbmsgZG9lcyBub3QgbWFrZSB0aGUgbGluayBtdWx0aWRpcmVjdGlvbmFsLjwvcD48L2RlZj4KKwkJCTwvZ2l0ZW0+CisJCQk8Z2l0ZW0+CisJCQkJPGxhYmVsPjx0ZXJtZGVmIGlkPSJkdC1vdXRvZmxpbmUiIHRlcm09Ik91dC1vZi1saW5lIExpbmsiPm91dC1vZi1saW5lIGxpbms8L3Rlcm1kZWY+PC9sYWJlbD4KKwkJCQk8ZGVmPjxwPkEgPHRlcm1yZWYgZGVmPSJkdC1saW5rIj5saW5rPC90ZXJtcmVmPiB3aG9zZSBjb250ZW50IGRvZXMgbm90IHNlcnZlIGFzIG9uZSBvZiB0aGUgbGluaydzIDx0ZXJtcmVmIGRlZj0iZHQtcGFydGljaXAtcmVzb3VyY2UiPnBhcnRpY2lwYXRpbmcgcmVzb3VyY2VzIDwvdGVybXJlZj4uIFN1Y2ggbGlua3MgCQkJCQkJcHJlc3VwcG9zZSBhIG5vdGlvbiBsaWtlIDx0ZXJtcmVmIGRlZj0iZHQteGxnIj5leHRlbmRlZCBsaW5rIGdyb3VwczwvdGVybXJlZj4sIHdoaWNoIGluc3RydWN0IGFwcGxpY2F0aW9uIHNvZnR3YXJlIHdoZXJlIHRvIGxvb2sgZm9yIGxpbmtzLiBPdXQtb2YtbGluZSBsaW5rcyBhcmUgZ2VuZXJhbGx5IHJlcXVpcmVkIGZvciBzdXBwb3J0aW5nIG11bHRpZGlyZWN0aW9uYWwgPHRlcm1yZWYgZGVmPSJkdC10cmF2ZXJzYWwiPnRyYXZlcnNhbDwvdGVybXJlZj4gYW5kIGZvciBhbGxvd2luZyByZWFkLW9ubHkgcmVzb3VyY2VzIHRvIGhhdmUgb3V0Z29pbmcgbGlua3MuPC9wPjwvZGVmPgorCQkJPC9naXRlbT4KKwkJCTxnaXRlbT4KKwkJCQk8bGFiZWw+PHRlcm1kZWYgaWQ9ImR0LXBhcnNlZHEiIHRlcm09IlBhcnNlZCI+cGFyc2VkPC90ZXJtZGVmPjwvbGFiZWw+IDxkZWY+PHA+SW4gdGhlIGNvbnRleHQgb2YgbGluayBiZWhhdmlvciwgYSBwYXJzZWQgbGluayBpcyBhbnkgbGluawkJCXdob3NlIGNvbnRlbnQgaXMgdHJhbnNjbHVkZWQgaW50byB0aGUgZG9jdW1lbnQgd2hlcmUgdGhlIGxpbmsgb3JpZ2luYXRlZC4gVGhlCXVzZSBvZiB0aGUgdGVybSAicGFyc2VkIiBkaXJlY3RseSByZWZlcnMgdG8gdGhlIGNvbmNlcHQgaW4gWE1MIG9mIGEKKwkJCQlwYXJzZWQgZW50aXR5LjwvcD48L2RlZj4KKwkJCTwvZ2l0ZW0+CisJCQk8Z2l0ZW0+CisJCQkJPGxhYmVsPjx0ZXJtZGVmIGlkPSJkdC1wYXJ0aWNpcC1yZXNvdXJjZSIgdGVybT0iUGFydGljaXBhdGluZyBSZXNvdXJjZSI+IHBhcnRpY2lwYXRpbmcgcmVzb3VyY2U8L3Rlcm1kZWY+PC9sYWJlbD4KKwkJCQk8ZGVmPjxwPkEgPHRlcm1yZWYgZGVmPSJkdC1yZXNvdXJjZSI+cmVzb3VyY2U8L3Rlcm1yZWY+IHRoYXQgYmVsb25ncyB0byBhIGxpbmsuIEFsbCByZXNvdXJjZXMgYXJlIHBvdGVudGlhbCBjb250cmlidXRvcnMgdG8gYSBsaW5rOyBwYXJ0aWNpcGF0aW5nCXJlc291cmNlcyBhcmUgdGhlIGFjdHVhbCBjb250cmlidXRvcnMgdG8gYSBwYXJ0aWN1bGFyIGxpbmsuPC9wPjwvZGVmPgorCQkJPC9naXRlbT4KKwkJCTxnaXRlbT4KKwkJCQk8bGFiZWw+PHRlcm1kZWYgaWQ9ImR0LXJlbW90ZS1yZXNvdXJjZSIgdGVybT0iUmVtb3RlIFJlc291cmNlIj5yZW1vdGUgcmVzb3VyY2U8L3Rlcm1kZWY+PC9sYWJlbD4KKwkJCQk8ZGVmPjxwPkFueSBwYXJ0aWNpcGF0aW5nIHJlc291cmNlIG9mIGEgbGluayB0aGF0IGlzIHBvaW50ZWQgdG8gd2l0aCBhIGxvY2F0b3IuIDwvcD48L2RlZj4KKwkJCTwvZ2l0ZW0+CisJCQk8Z2l0ZW0+CisJCQkJPGxhYmVsPjx0ZXJtZGVmIGlkPSJkdC1yZXNvdXJjZSIgdGVybT0iUmVzb3VyY2UiPnJlc291cmNlPC90ZXJtZGVmPjwvbGFiZWw+CisJCQkJPGRlZj48cD5JbiB0aGUgYWJzdHJhY3Qgc2Vuc2UsIGFuIGFkZHJlc3NhYmxlIHVuaXQgb2YgaW5mb3JtYXRpb24gb3Igc2VydmljZSB0aGF0IGlzIHBhcnRpY2lwYXRpbmcgaW4gYSA8dGVybXJlZiBkZWY9ImR0LWxpbmsiPmxpbms8L3Rlcm1yZWY+LiBFeGFtcGxlcyBpbmNsdWRlIGZpbGVzLCBpbWFnZXMsIGRvY3VtZW50cywgcHJvZ3JhbXMsIGFuZCBxdWVyeSByZXN1bHRzLiBDb25jcmV0ZWx5LCBhbnl0aGluZyByZWFjaGFibGUgYnkgdGhlIHVzZSBvZiBhIDx0ZXJtcmVmIGRlZj0iZHQtbG9jYXRvciI+bG9jYXRvcjwvdGVybXJlZj4gaW4gc29tZSA8dGVybXJlZiBkZWY9ImR0LWxpbmtlbCI+bGlua2luZwllbGVtZW50PC90ZXJtcmVmPi4gTm90ZSB0aGF0IHRoaXMgdGVybSBhbmQgaXRzIGRlZmluaXRpb24gYXJlIHRha2VuIGZyb20gdGhlIGJhc2ljIHNwZWNpZmljYXRpb25zIGdvdmVybmluZyB0aGUgV29ybGQgV2lkZSBXZWIuIDwhLS1Kb2VsIG5vdGVzOiBuZWVkIGxpbmsgaGVyZS4gYmVudCBhc2tzOiBBIGxpbms/LS0+CisJCQkJIDwvcD48L2RlZj4KKwkJCTwvZ2l0ZW0+CisJCQk8Z2l0ZW0+CisJCQkJPGxhYmVsPjx0ZXJtZGVmIGlkPSJkdC1zdWJyZXNvdXJjZSIgdGVybT0ic3ViLVJlc291cmNlIj5zdWItcmVzb3VyY2U8L3Rlcm1kZWY+PC9sYWJlbD4KKwkJCQk8ZGVmPjxwPkEgcG9ydGlvbiBvZiBhIHJlc291cmNlLCBwb2ludGVkIHRvIGFzIHRoZSBwcmVjaXNlCWRlc3RpbmF0aW9uIG9mIGEgbGluay4gQXMgb25lIGV4YW1wbGUsIGEgbGluayBtaWdodCBzcGVjaWZ5IHRoYXQgYW4gZW50aXJlCWRvY3VtZW50IGJlIHJldHJpZXZlZCBhbmQgZGlzcGxheWVkLCBidXQgdGhhdCBzb21lIHNwZWNpZmljIHBhcnQocykgb2YgaXQgaXMgdGhlIHNwZWNpZmljIGxpbmtlZCBkYXRhLCB0byBiZSB0cmVhdGVkIGluIGFuIGFwcGxpY2F0aW9uLWFwcHJvcHJpYXRlIG1hbm5lciBzdWNoIGFzIGluZGljYXRpb24gYnkgaGlnaGxpZ2h0aW5nLCBzY3JvbGxpbmcsIGV0Yy48L3A+PC9kZWY+CisJCQk8L2dpdGVtPgorCQkJPGdpdGVtPgorCQkJCTxsYWJlbD48dGVybWRlZiBpZD0iZHQtdHJhdmVyc2FsIiB0ZXJtPSJUcmF2ZXJzYWwiPnRyYXZlcnNhbDwvdGVybWRlZj48L2xhYmVsPgorCQkJCTxkZWY+PHA+VGhlIGFjdGlvbiBvZiB1c2luZyBhIDx0ZXJtcmVmIGRlZj0iZHQtbGluayI+bGluazwvdGVybXJlZj47IHRoYXQgaXMsIG9mIGFjY2Vzc2luZyBhIDx0ZXJtcmVmIGRlZj0iZHQtcmVzb3VyY2UiPnJlc291cmNlPC90ZXJtcmVmPi4gVHJhdmVyc2FsIG1heSBiZSBpbml0aWF0ZWQgYnkgYSB1c2VyIGFjdGlvbiAoZm9yIGV4YW1wbGUsIGNsaWNraW5nIG9uIHRoZSBkaXNwbGF5ZWQgY29udGVudCBvZiBhIDx0ZXJtcmVmIGRlZj0iZHQtbGlua2VsIj5saW5raW5nIGVsZW1lbnQ8L3Rlcm1yZWY+KSBvciBvY2N1ciB1bmRlciBwcm9ncmFtIGNvbnRyb2wuPC9wPjwvZGVmPgorCQkJPC9naXRlbT4KKwkJPC9nbGlzdD4KKwk8L3A+Cis8L2RpdjI+CisKKzxkaXYyPgorCTxoZWFkPk5vdGF0aW9uPC9oZWFkPgorCTxwPlRoZSBmb3JtYWwgZ3JhbW1hciBmb3IgPHRlcm1yZWYgZGVmPSJkdC1sb2NhdG9yIj5sb2NhdG9yczwvdGVybXJlZj4gaXMgZ2l2ZW4gdXNpbmcgYSBzaW1wbGUgRXh0ZW5kZWQgQmFja3VzLU5hdXIgRm9ybSAoRUJORikgbG9jYXRpb24sIGFzIGRlc2NyaWJlZCBpbiA8eHNwZWNyZWYgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLXhtbCNzZWMtbm90YXRpb24iPnRoZSBYTUwgc3BlY2lmaWNhdGlvbjwveHNwZWNyZWY+LjwvcD4KKwk8IS0tIGZpeGVkIGxpbmsgdG8gWE1MIHNwZWMgLSBiZW50IC0tPgorPC9kaXYyPgorPC9kaXYxPgorCis8ZGl2MSBpZD0iYWRkcmVzc2luZyI+PD9QdWIgRHRsPz4KKwk8aGVhZD5Mb2NhdG9yIFN5bnRheDwvaGVhZD4KKwk8cD5UaGUgbG9jYXRvciBmb3IgYSA8dGVybXJlZiBkZWY9ImR0LXJlc291cmNlIj5yZXNvdXJjZTwvdGVybXJlZj4gaXMgdHlwaWNhbGx5IHByb3ZpZGVkIGJ5IG1lYW5zIG9mIGEgVW5pZm9ybSBSZXNvdXJjZSBJZGVudGlmaWVyLCBvciBVUkkuIFhQb2ludGVycyBjYW4gYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSBVUkkgc3RydWN0dXJlLCBhcyBmcmFnbWVudCBpZGVudGlmaWVycywgdG8gc3BlY2lmeSBhIG1vcmUgcHJlY2lzZSBzdWItcmVzb3VyY2UuIDwvcD4KKwk8IS0tIFJlbW92ZWQgdGhlIGRpc2N1c3Npb24gb2YgcXVlcmllcyBmcm9tIHRoZSBwcmV2aW91cyBwYXJhZ3JhcGgsIGR1ZSB0byBjb250ZW50aW9uIHdpdGhpbiB0aGUgV0cuIGJlbnQgLS0+CisJPHA+QSBsb2NhdG9yIGdlbmVyYWxseSBjb250YWlucyBhIFVSSSwgYXMgZGVzY3JpYmVkIGluIElFVEYgUkZDcyA8YmlicmVmIHJlZj0icmZjMTczOCIvPiBhbmQgPGJpYnJlZiByZWY9InJmYzE4MDgiLz4uIEFzIHRoZXNlIFJGQ3Mgc3RhdGUsIHRoZSBVUkkgbWF5IGluY2x1ZGUgYSB0cmFpbGluZyA8ZW1waD5xdWVyeTwvZW1waD4gKG1hcmtlZCBieSBhIGxlYWRpbmcgIjxjb2RlPj88L2NvZGU+IiksIGFuZCBiZSBmb2xsb3dlZCBieSBhICI8Y29kZT4jPC9jb2RlPiIgYW5kIGEgPGVtcGg+ZnJhZ21lbnQgaWRlbnRpZmllcjwvZW1waD4sIHdpdGggdGhlIHF1ZXJ5IGludGVycHJldGVkIGJ5IHRoZSBob3N0IHByb3ZpZGluZyB0aGUgaW5kaWNhdGVkIHJlc291cmNlLCBhbmQgdGhlIGludGVycHJldGF0aW9uIG9mIHRoZSBmcmFnbWVudCBpZGVudGlmaWVyIGRlcGVuZGVudCBvbiB0aGUgZGF0YSB0eXBlIG9mIHRoZSBpbmRpY2F0ZWQgcmVzb3VyY2UuPC9wPgorCTwhLS1JcyB0aGVyZSBzb21lIHJlc3RyaWN0aW9uIG9uIFVSTnMgaGF2aW5nIHF1ZXJpZXMgYW5kL29yIGZyYWdtZW50IGlkZW50aWZpZXJzPyAgU2luY2UgdGhlc2UgUkZDcyBkb24ndCBtZW50aW9uIFVSSXMgZXhwbGljaXRseSwgc2hvdWxkIHRoZSB3b3JkaW5nIGhlcmUgbGVhZCBmcm9tIFVSTHMgdG8gVVJJcyBtb3JlIGV4cGxpY2l0bHk/IC1lbG0tLT4KKwk8cD5JbiBvcmRlciB0byBsb2NhdGUgWE1MIGRvY3VtZW50cyBhbmQgcG9ydGlvbnMgb2YgZG9jdW1lbnRzLCBhIGxvY2F0b3IgdmFsdWUgbWF5IGNvbnRhaW4gZWl0aGVyIGEgPHh0ZXJtcmVmIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL0FkZHJlc3NpbmcvcmZjMTczOC50eHQiPiBVUkk8L3h0ZXJtcmVmPiBvciBhIGZyYWdtZW50IGlkZW50aWZpZXIsIG9yIGJvdGguIEFueSBmcmFnbWVudCBpZGVudGlmaWVyIGZvciBwb2ludGluZyBpbnRvIFhNTCBtdXN0IGJlIGFuIDx4dGVybXJlZiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9XRC14cHRyI2R0LXhwb2ludGVyIj4gWFBvaW50ZXI8L3h0ZXJtcmVmPi48L3A+CisJPHA+U3BlY2lhbCBzeW50YXggbWF5IGJlIHVzZWQgdG8gcmVxdWVzdCB0aGUgdXNlIG9mIHBhcnRpY3VsYXIgcHJvY2Vzc2luZyBtb2RlbHMgaW4gYWNjZXNzaW5nIHRoZSBsb2NhdG9yJ3MgcmVzb3VyY2UuIFRoaXMgaXMgZGVzaWduZWQgdG8gcmVmbGVjdCB0aGUgcmVhbGl0aWVzIG9mIG5ldHdvcmsgb3BlcmF0aW9uLCB3aGVyZSBpdCBtYXkgb3IgbWF5IG5vdCBiZSBkZXNpcmFibGUgdG8gZXhlcmNpc2UgZmluZSBjb250cm9sIG92ZXIgdGhlIGRpc3RyaWJ1dGlvbiBvZiB3b3JrIGJldHdlZW4gbG9jYWwgYW5kIHJlbW90ZSBwcm9jZXNzb3JzLiAKKwkJPHNjcmFwIGlkPSJsb2NhdG9yIiBsYW5nPSJlYm5mIj4KKwkJCTxoZWFkPkxvY2F0b3I8L2hlYWQ+CisJCQk8cHJvZCBpZD0ibnQtbG9jYXRvciI+CisJCQkJPGxocz5Mb2NhdG9yPC9saHM+CisJCQkJPHJocz48bnQgZGVmPSJudC11cmkiPlVSSTwvbnQ+PC9yaHM+CisJCQkJPHJocz58IDxudCBkZWY9Im50LWNvbm5lY3RvciI+Q29ubmVjdG9yPC9udD4gKDx4bnQgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvV0QteHB0ciI+WFBvaW50ZXI8L3hudD4gfCA8eG50IGhyZWY9IldELXhtbC1sYW5nLmh0bWwjTlQtTmFtZSI+TmFtZTwveG50Pik8L3Jocz4KKwkJCQk8cmhzPnwgPG50IGRlZj0ibnQtdXJpIj5VUkk8L250PiA8bnQgZGVmPSJudC1jb25uZWN0b3IiPkNvbm5lY3RvcjwvbnQ+ICg8eG50IGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL1dELXhwdHIiPlhQb2ludGVyPC94bnQ+IHwgPHhudCBocmVmPSJXRC14bWwtbGFuZy5odG1sI05ULU5hbWUiPk5hbWU8L3hudD4pPC9yaHM+CisJCQk8L3Byb2Q+CisJCQk8cHJvZCBpZD0ibnQtY29ubmVjdG9yIj4KKwkJCQk8bGhzPkNvbm5lY3RvcjwvbGhzPjxyaHM+JyMnIHwgJ3wnPC9yaHM+CisJCQk8L3Byb2Q+CisJCQk8cHJvZCBpZD0ibnQtdXJpIj4KKwkJCQk8bGhzPlVSSTwvbGhzPjxyaHM+PHhudCBocmVmPSJXRC14bWwtbGFuZy5odG1sI05ULVVSTGNoYXIiPlVSSWNoYXIqPC94bnQ+PC9yaHM+CisJCQk8L3Byb2Q+CisJCTwvc2NyYXA+CisJPC9wPgorCTxwPjx0ZXJtZGVmIGlkPSJkdC1kZXNpZ25hdGVkIiB0ZXJtPSJEZXNpZ25hdGVkIFJlc291cmNlIj5JbiB0aGlzIGRpc2N1c3Npb24sIHRoZSB0ZXJtIDx0ZXJtPmRlc2lnbmF0ZWQgcmVzb3VyY2U8L3Rlcm0+IHJlZmVycyB0byB0aGUgcmVzb3VyY2Ugd2hpY2ggYW4gZW50aXJlIGxvY2F0b3Igc2VydmVzIHRvIGxvY2F0ZS48L3Rlcm1kZWY+IFRoZSBmb2xsb3dpbmcgcnVsZXMgYXBwbHk6CisJCTx1bGlzdD4KKwkJCTxpdGVtPgorCQkJCTxwPjx0ZXJtZGVmIGlkPSJkdC1jb250YWluaW5nLXJlc291cmNlIiB0ZXJtPSJDb250YWluaW5nIFJlc291cmNlIj4JCSAgVGhlIFVSSSwgaWYgcHJvdmlkZWQsIGxvY2F0ZXMgYSByZXNvdXJjZSBjYWxsZWQgdGhlIDx0ZXJtPmNvbnRhaW5pbmcgcmVzb3VyY2U8L3Rlcm0+LjwvdGVybWRlZj48L3A+CisJCQk8L2l0ZW0+CisJCQk8aXRlbT4KKwkJCQk8cD5JZiB0aGUgVVJJIGlzIG5vdCBwcm92aWRlZCwgdGhlIGNvbnRhaW5pbmcgcmVzb3VyY2UgaXMgY29uc2lkZXJlZCB0byBiZSB0aGUgZG9jdW1lbnQgaW4gd2hpY2ggdGhlIGxpbmtpbmcgZWxlbWVudCBpcyBjb250YWluZWQuIAorCQkJCTwvcD48L2l0ZW0+CisJCQk8aXRlbT4KKwkJCQk8cD48dGVybWRlZiBpZD0iZHQtc3ViLXJlc291cmNlIiB0ZXJtPSJTdWItUmVzb3VyY2UiPklmIGFuIFhQb2ludGVyCQkJCSAgaXMgcHJvdmlkZWQsIHRoZSBkZXNpZ25hdGVkIHJlc291cmNlIGlzIGEgPHRlcm0+c3ViLXJlc291cmNlPC90ZXJtPgorCQkJCW9mIHRoZSBjb250YWluaW5nIHJlc291cmNlOyBvdGhlcndpc2UgdGhlIGRlc2lnbmF0ZWQgcmVzb3VyY2UgaXMgdGhlCisJCQkJY29udGFpbmluZyByZXNvdXJjZS48L3Rlcm1kZWY+PC9wPgorCQkJPC9pdGVtPgorCQkJPCEtLUlzIHRoaXMgbm93IGluY29ycmVjdCwgZ2l2ZW4gdGhlIG5hdHVyZSBvZiB0aGUgc3dpdGNoIGZyb20gaGVyZSgpIHRvIG9yaWdpbigpPyAtZWxtIAorCQkJT3ksIHllcywgaSB0aGluayBzby4gaXQgd2lsbCByZXF1aXJlIHNvbWUgZnVuIHdvcmRpbmcsIHRob3VnaCwgc28gaSBoYXZlbid0IGZpeGVkIGl0IHlldCBoZXJlIC1zamQtLT4KKwkJCTxpdGVtPgorCQkJCTxwPklmIHRoZSA8bnQgZGVmPSJudC1jb25uZWN0b3IiPkNvbm5lY3RvcjwvbnQ+IGlzIGZvbGxvd2VkIGRpcmVjdGx5IGJ5IGEgPHhudCBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMteG1sI05ULU5hbWUiPk5hbWU8L3hudD4sIHRoZSA8eG50IGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy14bWwjTlQtTmFtZSI+TmFtZTwveG50PiBpcyBzaG9ydGhhbmQgZm9yIHRoZSBYUG9pbnRlciI8Y29kZT5pZChOYW1lKTwvY29kZT4iOyB0aGF0IGlzLCB0aGUgc3ViLXJlc291cmNlIGlzIHRoZSBlbGVtZW50IGluIHRoZSBjb250YWluaW5nIHJlc291cmNlIHRoYXQgaGFzIGFuIFhNTCA8eHRlcm1yZWYgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLXhtbCNzZWMtYXR0cnR5cGVzIj5JRCBhdHRyaWJ1dGU8L3h0ZXJtcmVmPiB3aG9zZSB2YWx1ZSA8eHRlcm1yZWYgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLXhtbCNkdC1tYXRjaCI+bWF0Y2hlczwveHRlcm1yZWY+IHRoZSAJCQkJICA8eG50IGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy14bWwjTlQtTmFtZSI+TmFtZTwveG50Pi4gVGhpcyBzaG9ydGhhbmQgaXMgdG8gZW5jb3VyYWdlIHVzZSBvZiB0aGUgcm9idXN0IDxjb2RlPmlkPC9jb2RlPiBhZGRyZXNzaW5nIG1vZGUuPC9wPgorCQkJPC9pdGVtPgorCQkJPCEtLSBmaXhlZCBsaW5rcyB0byB0aGUgWE1MIHJlY29tbWVuZGF0aW9uIC0gYmVudCAtLT4KKwkJCTxpdGVtPgorCQkJCTxwPklmIHRoZSBjb25uZWN0b3IgaXMgIjxjb2RlPiM8L2NvZGU+IiwgdGhpcyBzaWduYWxzIGFuIGludGVudCB0aGF0IHRoZSBjb250YWluaW5nIHJlc291cmNlIGlzIHRvIGJlIGZldGNoZWQgYXMgYSB3aG9sZSBmcm9tIHRoZSBob3N0IHRoYXQgcHJvdmlkZXMgaXQsIGFuZCB0aGF0IHRoZSBYUG9pbnRlciBwcm9jZXNzaW5nIHRvIGV4dHJhY3QgdGhlIHN1Yi1yZXNvdXJjZQorCQkJCWlzIHRvIGJlIHBlcmZvcm1lZCBvbiB0aGUgY2xpZW50LCB0aGF0IGlzIHRvIHNheSBvbiB0aGUgc2FtZSBzeXN0ZW0gd2hlcmUgdGhlIGxpbmtpbmcgZWxlbWVudCBpcyByZWNvZ25pemVkIGFuZCBwcm9jZXNzZWQuPC9wPgorCQkJPC9pdGVtPgorCQkJPGl0ZW0+CisJCQkJPHA+SWYgdGhlIGNvbm5lY3RvciBpcyAiPGNvZGU+fDwvY29kZT4iLCBubyBpbnRlbnQgaXMgc2lnbmFsZWQgYXMgdG8gd2hhdCBwcm9jZXNzaW5nIG1vZGVsIGlzIHRvIGJlIHVzZWQgdG8gZ28gYWJvdXQgYWNjZXNzaW5nIHRoZSBkZXNpZ25hdGVkIHJlc291cmNlLjwvcD4KKwkJCTwvaXRlbT4KKwkJPC91bGlzdD4KKwk8L3A+CisJPHA+Tm90ZSB0aGF0IHRoZSBkZWZpbml0aW9uIG9mIGEgVVJJIGluY2x1ZGVzIGFuIG9wdGlvbmFsIHF1ZXJ5IGNvbXBvbmVudC4gPC9wPgorCTxwPkluIHRoZSBjYXNlIHdoZXJlIHRoZSBVUkkgY29udGFpbnMgYSBxdWVyeSAodG8gYmUgaW50ZXJwcmV0ZWQgYnkgdGhlIHNlcnZlciksIGluZm9ybWF0aW9uIHByb3ZpZGVycyBhbmQgYXV0aG9ycyBvZiBzZXJ2ZXIgc29mdHdhcmUgYXJlIHVyZ2VkIHRvIHVzZSBxdWVyaWVzIGFzIGZvbGxvd3M6IAorCQk8c2NyYXAgaWQ9InF1ZXJ5c3ludGF4IiBsYW5nPSJlYm5mIj4KKwkJCTxoZWFkPlF1ZXJ5PC9oZWFkPgorCQkJPHByb2QgaWQ9Im50LXF1ZXJ5Ij4KKwkJCQk8bGhzPlF1ZXJ5PC9saHM+PHJocz4nWE1MLVhQVFI9JyAoPHhudCBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9XRC14cHRyIj4gWFBvaW50ZXI8L3hudD4gfCA8eG50IGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy14bWwjTlQtTmFtZSI+TmFtZTwveG50Pik8L3Jocz4KKwkJCTwvcHJvZD4KKwkJPC9zY3JhcD4KKwk8L3A+CisJPCEtLSBmaXhlZCBsaW5rIHRvIFhNTCByZWNvbW1lbmRhdGlvbiAtIGJlbnQgLS0+Cis8L2RpdjE+CisKKzxkaXYxPjw/UHViIER0bD8+CisJPGhlYWQ+TGluayBSZWNvZ25pdGlvbjwvaGVhZD4KKwk8cD5UaGUgZXhpc3RlbmNlIG9mIGEgPHRlcm1yZWYgZGVmPSJkdC1saW5rIj5saW5rPC90ZXJtcmVmPiBpcyBhc3NlcnRlZCBieSBhIDx0ZXJtcmVmIGRlZj0iZHQtbGlua2VsIj5saW5raW5nIGVsZW1lbnQ8L3Rlcm1yZWY+LiBMaW5raW5nIGVsZW1lbnRzIG11c3QgYmUgcmVjb2duaXplZCByZWxpYWJseSBieSBhcHBsaWNhdGlvbiBzb2Z0d2FyZSBpbiBvcmRlciB0byBwcm92aWRlIGFwcHJvcHJpYXRlIGRpc3BsYXkgYW5kIGJlaGF2aW9yLiBUaGVyZSBhcmUgc2V2ZXJhbCB3YXlzIGxpbmsgcmVjb2duaXRpb24gY291bGQgYmUgYWNjb21wbGlzaGVkOiBmb3IgZXhhbXBsZSwgcmVzZXJ2aW5nIGVsZW1lbnQgdHlwZSBuYW1lcywgcmVzZXJ2aW5nIGF0dHJpYnV0ZXMgbmFtZXMsIGxlYXZpbmcgdGhlIG1hdHRlciBvZiByZWNvZ25pdGlvbiBlbnRpcmVseSB1cCB0byBzdHlsZXNoZWV0cyBhbmQgYXBwbGljYXRpb24gc29mdHdhcmUsIG9yIHVzaW5nIHRoZSBYTGluayA8eHRlcm1yZWYgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLXhtbC1uYW1lcy8iPm5hbWVzcGFjZTwveHRlcm1yZWY+IHRvIHNwZWNpZnkgZWxlbWVudCBuYW1lcyBhbmQgYXR0cmlidXRlIG5hbWVzIHRoYXQgd291bGQgYmUgcmVjb2duaXplZCBieSBuYW1lc3BhY2UgYW5kIFhMaW5rLWF3YXJlIHByb2Nlc3NvcnMuIFVzaW5nIGVsZW1lbnQgYW5kIGF0dHJpYnV0ZSBuYW1lcyB3aXRoaW4gdGhlIFhMaW5rIG5hbWVzcGFjZSBwcm92aWRlcyBhIGJhbGFuY2UgYmV0d2VlbiBnaXZpbmcgdXNlcnMgY29udHJvbCBvZiB0aGVpciBvd24gbWFya3VwIGxhbmd1YWdlIGRlc2lnbiBhbmQga2VlcGluZyB0aGUgaWRlbnRpZmljYXRpb24gb2YgbGlua2luZyBlbGVtZW50cyBzaW1wbGUgYW5kIHVuYW1iaWd1b3VzLjwvcD4KKwk8cD5UaGUgdHdvIGFwcHJvYWNoZXMgdG8gaWRlbnRpZnlpbmcgbGlua2luZyBlbGVtZW50cyBhcmUgcmVsYXRpdmVseSBzaW1wbGUgdG8gaW1wbGVtZW50LiBGb3IgZXhhbXBsZSwgaGVyZSdzIGhvdyB0aGUgSFRNTCA8Y29kZT5BPC9jb2RlPiBlbGVtZW50IHdvdWxkIGJlIGRlY2xhcmVkIHVzaW5nIGF0dHJpYnV0ZXMgd2l0aGluIHRoZSBYTGluayBuYW1lc3BhY2UsIGFuZCB0aGVuIGhvdyBhbiBlbGVtZW50IHdpdGhpbiB0aGUgWExpbmsgbmFtZXNwYWNlIG1pZ2h0IGRvIHRoZSBzYW1lOgorCQk8ZWc+Jmx0O0EgeGxpbms6dHlwZT0ic2ltcGxlIiB4bGluazpocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi93ZC14bGluay8iCit4bGluazp0aXRsZT0iVGhlIFhsaW5rIFdvcmtpbmcgRHJhZnQiJmd0O1RoZSBYTGluayBXb3JraW5nIERyYWZ0LiZsdDsvQSZndDs8L2VnPgorCQk8ZWc+Jmx0O3hsaW5rOnNpbXBsZSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi93ZC14bGluay8iCit0aXRsZT0iVGhlIFhMaW5rIFdvcmtpbmcgRHJhZnQiJmd0O1RoZSBYTGluayBXb3JraW5nIERyYWZ0Jmx0Oy94bGluazpzaW1wbGUmZ3Q7PC9lZz4KKwlBbnkgYXJiaXRyYXJ5IGVsZW1lbnQgY2FuIGJlIG1hZGUgaW50byBhbiBYTGluayBieSB1c2luZyB0aGUgPGNvZGU+eGxpbms6dHlwZTwvY29kZT4gYXR0cmlidXRlLiBBbmQsIG9mIGNvdXJzZSwgdGhlIGV4cGxpY2l0IFhMaW5rIGVsZW1lbnRzIG1heSBiZSB1c2VkLCBhcyB3ZWxsLiBUaGlzIGRvY3VtZW50IHdpbGwgZ28gb24gdG8gZGVzY3JpYmUgdGhlIGxpbmtpbmcgYXR0cmlidXRlcyB0aGF0IGFyZSBhc3NvY2lhdGVkIHdpdGggbGlua2luZyBlbGVtZW50cy4gSXQgbWF5IGJlIGFzc3VtZWQgYnkgdGhlIHJlYWRlciB0aGF0IHRoZXNlIGF0dHJpYnV0ZXMgd291bGQgcmVxdWlyZSB0aGUgPGNvZGU+eGxpbms8L2NvZGU+IG5hbWVzcGFjZSBwcmVmaXggaWYgdGhleSBleGlzdGVkIHdpdGhpbiBhbiBhcmJpdHJhcnkgZWxlbWVudCwgb3IgdGhhdCB0aGV5IG1heSBiZSB1c2VkIGRpcmVjdGx5IGlmIHRoZXkgZXhpc3Qgd2l0aGluIGFuIGV4cGxpY2l0IFhsaW5rIGVsZW1lbnQuPC9wPgorCQk8IS0tIGhlYXZpbHkgbW9kaWZpZWQgdGhpcyBzZWN0aW9uIHRvIGFjY29tb2RhdGUgbmFtZXNwYWNlLWF3YXJlIGxpbmsgcmVjb2duaXRpb24gLSBiZW50IC0tPgorPC9kaXYxPgorCis8IS0tIFJld3JvdGUgdGhpcyBlbnRpcmUgc2VjdGlvbi4gLSBiZW50IC0tPgorPGRpdjE+CisJPGhlYWQ+TGlua2luZyBBdHRyaWJ1dGVzPC9oZWFkPgorCTxwPlhMaW5rIGhhcyBzZXZlcmFsIGF0dHJpYnV0ZXMgYXNzb2NpYXRlZCB3aXRoIHRoZSB2YXJpZXR5IG9mIGxpbmtzIGl0IG1heSByZXByZXNlbnQuIFRoZXNlIGF0dHJpYnV0ZXMgZGVmaW5lIGZvdXIgbWFpbiBjb25jZXB0czogbG9jYXRvcnMsIGFyY3MsIGJlaGF2aW9ycywgYW5kIHNlbWFudGljcy4gPGVtcGg+TG9jYXRvcnM8L2VtcGg+IGRlZmluZSB3aGVyZSB0aGUgYWN0dWFsIHJlc291cmNlIGlzIGxvY2F0ZWQuIDxlbXBoPkFyY3M8L2VtcGg+IGRlZmluZSB0aGUgdHJhdmVyc2FsIG9mIGxpbmtzLiBXaGVyZSBkb2VzIHRoZSBsaW5rIGNvbWUgZnJvbT8gV2hlcmUgZG9lcyBpdCBnbyB0bz8gQWxsIHRoaXMgaW5mb3JtYXRpb24gY2FuIGJlIHN0b3JlZCBpbiB0aGUgYXJjIGF0dHJpYnV0ZXMuIDxlbXBoPkJlaGF2aW9yczwvZW1waD4gZGVmaW5lIGhvdyB0aGUgbGluayBpcyBhY3RpdmF0ZWQsIGFuZCB3aGF0IHRoZSBhcHBsaWNhdGlvbiBzaG91bGQgZG8gd2l0aCB0aGUgcmVzb3VyY2UgYmVpbmcgbGlua2VkIHRvLiA8ZW1waD5TZW1hbnRpY3M8L2VtcGg+IGRlZmluZSB1c2VmdWwgaW5mb3JtYXRpb24gdGhhdCB0aGUgYXBwbGljYXRpb24gbWF5IHVzZSwgYW5kIGVuYWJsZXMgdGhlIGxpbmsgZm9yIHN1Y2ggc3BlY2FsaXplZCB0YXJnZXRzIGFzIGNvbnN0cmljdGVkIGRldmljZXMgYW5kIGFjY2Vzc2liaWxpdHkgc29mdHdhcmUuPC9wPgorCQorCTxkaXYyIGlkPSJsaW5rLWxvY2F0b3JzIj4KKwkJPGhlYWQ+TG9jYXRvciBBdHRyaWJ1dGVzPC9oZWFkPgorCQk8cD5UaGUgb25seSBsb2NhdG9yIGF0dHJpYnV0ZSBhdCB0aGlzIHRpbWUgaXMgPGNvZGU+aHJlZjwvY29kZT4uIFRoaXMgYXR0cmlidXRlIG11c3QgY29udGFpbiBlaXRoZXIgYSBzdHJpbmcgaW4gdGhlIGZvcm0gb2YgYSBVUkkgdGhhdCBkZWZpbmVzIHRoZSByZW1vdGUgcmVzb3VyY2UgYmVpbmcgbGlua2VkIHRvLCBhIHN0cmluZyBjb250YWluaW5nIGEgZnJhZ21lbnQgaWRlbnRpZmllciB0aGF0IGxpbmtzIHRvIGEgbG9jYWwgcmVzb3VyY2UsIG9yIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBVUkkgd2l0aCBhIGZyYWdtZW50IGlkZW50aWZpZXIgY29uY2FjZW5hdGVkIG9udG8gaXQuPC9wPgorCTwvZGl2Mj4KKworCTxkaXYyIGlkPSJsaW5rLWFyY3MiPgorCQk8aGVhZD5BcmMgQXR0cmlidXRlczwvaGVhZD4KKwkJPHA+QXJjcyBjb250YWluIHR3byBhdHRyaWJ1dGVzLCA8Y29kZT5mcm9tPC9jb2RlPiBhbmQgPGNvZGU+dG88L2NvZGU+LiBUaGUgPGNvZGU+ZnJvbTwvY29kZT4gYXR0cmlidXRlIG1heSBjb250YWluIGEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIGNvbnRlbnQgb2YgYSA8Y29kZT5yb2xlPC9jb2RlPiBhdHRyaWJ1dGUgZnJvbSB0aGUgcmVzb3VyY2UgYmVpbmcgbGlua2VkIGZyb20uIFRoZSBwdXJwb3NlIG9mIHRoZSA8Y29kZT5mcm9tPC9jb2RlPiBhdHRyaWJ1dGUgaXMgdG8gZGVmaW5lIHdoZXJlIHRoaXMgbGluayBpcyBiZWluZyBhY3R1YXRlZCBmcm9tLjwvcD4KKwkJPHA+VGhlIDxjb2RlPnRvPC9jb2RlPiBhdHRyaWJ1dGUgbWF5IGNvbnRhaW4gYSBzdHJpbmcgY29udGFpbmluZyB0aGUgY29udGVudCBvZiBhIDxjb2RlPnJvbGU8L2NvZGU+IGF0dHJpYnV0ZSBmcm9tIHRoZSByZXNvdXJjZSBiZWluZyBsaW5rZWQgdG8uIFRoZSBwdXJwb3NlIG9mIHRoZSA8Y29kZT50bzwvY29kZT4gYXR0cmlidXRlIGlzIHRvIGRlZmluZSB3aGVyZSB0aGlzIGxpbmsgdHJhdmVyc2VzIHRvLjwvcD4KKwkJPHA+VGhlIGFwcGxpY2F0aW9uIG1heSB1c2UgdGhpcyBpbmZvcm1hdGlvbiBpbiBhIG51bWJlciBvZiB3YXlzLCBlc3BlY2lhbGx5IGluIGEgY29tcGxleCBoeXBlcnRleHQgc3lzdGVtLCBidXQgaXQgaXMgbWFpbmx5IHVzZWZ1bCBpbiBwcm92aWRpbmcgY29udGV4dCBmb3IgYXBwbGljYXRpb24gYmVoYXZpb3IuPC9wPgorCQk8IS0tIEknbSBhdCBhIGxvc3MgYXMgdG8gaG93IHRvIGRlc2NyaWJlIGFyY3MgbW9yZSBjbGVhcmx5IHRoYW4gdGhpcy4gSSBkb24ndCB3YW50IHRvIGRldm9sdmUgaW50byBkaXNjdXNzaW9ucyBvZiBkaXJlY3RlZCBncmFwaHMgYW5kIG4tYXJ5IGxpbmtzLiAtYmVudCAtLT4KKwk8L2RpdjI+CisKKwk8ZGl2MiBpZD0ibGluay1iZWhhdmlvcnMiPgorCQk8aGVhZD5CZWhhdmlvciBBdHRyaWJ1dGVzPC9oZWFkPgorCQk8cD5UaGVyZSBhcmUgdHdvIGF0dHJpYnV0ZXMgYXNzb2NpYXRlZCB3aXRoIGJlaGF2aW9yOiA8Y29kZT5zaG93PC9jb2RlPiBhbmQgPGNvZGU+YWN0dWF0ZTwvY29kZT4uIFRoZSA8Y29kZT5zaG93PC9jb2RlPiBhdHRyaWJ1dGUgZGVmaW5lcyBob3cgdGhlIHJlbW90ZSByZXNvdXJjZSBpcyB0byBiZSByZXZlYWxlZCB0byB0aGUgdXNlci4gSXQgaGFzIHRocmVlIG9wdGlvbnM6IDxjb2RlPm5ldzwvY29kZT4sIDxjb2RlPnBhcnNlZDwvY29kZT4sIGFuZCA8Y29kZT5yZXBsYWNlPC9jb2RlPi4gVGhlIDxjb2RlPm5ldzwvY29kZT4gb3B0aW9uIGluZGljYXRlcyB0aGF0IHRoZSByZW1vdGUgcmVzb3VyY2Ugc2hvdWxkIGJlIHNob3duIGluIGEgbmV3IHdpbmRvdyAob3Igb3RoZXIgZGV2aWNlIGNvbnRleHQpIHdpdGhvdXQgcmVwbGFjaW5nIHRoZSBwcmV2aW91cyBjb250ZW50LiBUaGUgPGNvZGU+cGFyc2VkPC9jb2RlPiBvcHRpb24sIHJlbGF0aW5nIGRpcmVjdGx5IHRvIHRoZSBYTUwgY29uY2VwdCBvZiBhIHBhcnNlZCBlbnRpdHksIGluZGljYXRlcyB0aGF0IHRoZSBjb250ZW50IHNob3VsZCBiZSBpbnRlZ3JhdGVkIGludG8gdGhlIGRvY3VtZW50IGZyb20gd2hpY2ggdGhlIGxpbmsgd2FzIGFjdHVhdGVkLiBUaGUgPGNvZGU+cmVwbGFjZTwvY29kZT4gb3B0aW9uIGlzIHRoZSBvbmUgbW9zdCBjb21tb25seSBzZWVuIG9uIHRoZSBXb3JsZCBXaWRlIFdlYiwgd2hlcmUgdGhlIGRvY3VtZW50IGJlaW5nIGxpbmtlZCBmcm9tIGlzIGVudGlyZWx5IHJlcGxhY2VkIGJ5IHRoZSBvYmplY3QgYmVpbmcgbGlua2VkIHRvLjwvcD4KKwkJPHA+VGhlIDxjb2RlPmFjdHVhdGU8L2NvZGU+IGF0dHJpYnV0ZSBkZWZpbmVzIGhvdyB0aGUgbGluayBpcyBpbml0aWF0ZWQuIEl0IGhhcyB0d28gb3B0aW9uczogPGNvZGU+dXNlcjwvY29kZT4gYW5kIDxjb2RlPmF1dG88L2NvZGU+LiBUaGUgPGNvZGU+dXNlcjwvY29kZT4gb3B0aW9uIGluZGljYXRlcyB0aGF0IHRoZSBsaW5rIG11c3QgYmUgaW5pdGlhdGVkIGJ5IHNvbWUgc29ydCBvZiBodW1hbi1pbml0aWF0ZWQgc2VsZWN0aW9uLCBzdWNoIGFzIGNsaWNraW5nIG9uIGFuIEhUTUwgYW5jaG9yLiBUaGUgPGNvZGU+YXV0bzwvY29kZT4gb3B0aW9uIGluZGljYXRlcyB0aGF0IHRoZSBsaW5rIGlzIGF1dG9tYXRpY2FsbHkgaW5pdGlhdGVkIHdoZW4gdGhlIGFwcGxpY2F0aW9uIGRlZW1zIHRoYXQgdGhlIHVzZXIgaGFzIHJlYWNoZWQgdGhlIGxpbmsuIEl0IHRoZW4gZm9sbG93cyB0aGUgYmVoYXZpb3Igc2V0IG91dCBpbiB0aGUgPGNvZGU+c2hvdzwvY29kZT4gb3B0aW9uLjwvcD4KKwkJPCEtLSBTb21ldGhpbmcgc2hvdWxkIGJlIHB1dCBoZXJlIGluIHRlcm1zIG9mIGFuIGV4YW1wbGUuIElkZWE6ICJBIiBsaW5rIHZlcnN1cyBhdXRvbWF0aWNhbGx5IHVwZGF0aW5nIGVuY3ljbG9wZWRpYS4gLWJlbnQgLS0+CisJPC9kaXYyPgorCisJPGRpdjIgaWQ9Imxpbmstc2VtYW50aWNzIj4KKwkJPGhlYWQ+U2VtYW50aWMgQXR0cmlidXRlczwvaGVhZD4KKwkJPHA+VGhlcmUgYXJlIHR3byBhdHRyaWJ1dGVzIGFzc29jaWF0ZWQgd2l0aCBzZW1hbnRpY3MsIDxjb2RlPnJvbGU8L2NvZGU+IGFuZCA8Y29kZT50aXRsZTwvY29kZT4uIFRoZSA8Y29kZT5yb2xlPC9jb2RlPiBhdHRyaWJ1dGUgaXMgYSBnZW5lcmljIHN0cmluZyB1c2VkIHRvIGRlc2NyaWJlIHRoZSBmdW5jdGlvbiBvZiB0aGUgbGluaydzIGNvbnRlbnQuIEZvciBleGFtcGxlLCBhIHBvZW0gbWlnaHQgaGF2ZSBhIGxpbmsgd2l0aCBhIDxjb2RlPnJvbGU9InN0YW56YSI8L2NvZGU+LiBUaGUgPGNvZGU+cm9sZTwvY29kZT4gaXMgYWxzbyB1c2VkIGFzIGFuIGlkZW50aWZpZXIgZm9yIHRoZSA8Y29kZT5mcm9tPC9jb2RlPiBhbmQgPGNvZGU+dG88L2NvZGU+IGF0dHJpYnV0ZXMgb2YgYXJjcy48L3A+CisJCTxwPlRoZSA8Y29kZT50aXRsZTwvY29kZT4gYXR0cmlidXRlIGlzIGRlc2lnbmVkIHRvIHByb3ZpZGUgaHVtYW4tcmVhZGFibGUgdGV4dCBkZXNjcmliaW5nIHRoZSBsaW5rLiBJdCBpcyB2ZXJ5IHVzZWZ1bCBmb3IgdGhvc2Ugd2hvIGhhdmUgdGV4dC1iYXNlZCBhcHBsaWNhdGlvbnMsIHdoZXRoZXIgdGhhdCBiZSBkdWUgdG8gYSBjb25zdHJpY3RlZCBkZXZpY2UgdGhhdCBjYW5ub3QgZGlzcGxheSB0aGUgbGluaydzIGNvbnRlbnQsIG9yIGlmIGl0J3MgYmVpbmcgcmVhZCBieSBhbiBhcHBsaWNhdGlvbiB0byBhIHZpc3VhbGx5LWltcGFpcmVkIHVzZXIsIG9yIGlmIGl0J3MgYmVpbmcgdXNlZCB0byBjcmVhdGUgYSB0YWJsZSBvZiBsaW5rcy4gVGhlIDxjb2RlPnRpdGxlPC9jb2RlPiBhdHRyaWJ1dGUgY29udGFpbnMgYSBzaW1wbGUsIGRlc2NyaXB0aXZlIHN0cmluZy48L3A+CisJPC9kaXYyPgorPC9kaXYxPgorCis8ZGl2MSBpZD0ibGlua2luZy1lbGVtZW50cyI+CisJPGhlYWQ+TGlua2luZyBFbGVtZW50czwvaGVhZD4KKwk8cD5UaGVyZSBhcmUgc2V2ZXJhbCBraW5kcyBvZiBsaW5raW5nIGVsZW1lbnRzIGluIFhMaW5rOiA8Y29kZT5zaW1wbGU8L2NvZGU+IGxpbmtzLCA8Y29kZT5sb2NhdG9yczwvY29kZT4sIDxjb2RlPmFyY3M8L2NvZGU+LCBhbmQgPGNvZGU+ZXh0ZW5kZWQ8L2NvZGU+IGxpbmtzLiBUaGVzZSBlbGVtZW50cyBtYXkgYmUgaW5zdGFudGlhdGVkIHZpYSBlbGVtZW50IGRlY2xhcmF0aW9ucyBmcm9tIHRoZSBYTGluayBuYW1lc3BhY2UsIG9yIHRoZXkgbWF5IGJlIGluc3RhbnRpYXRlZCB2aWEgYXR0cmlidXRlIGRlY2xhcmF0aW9ucyBmcm9tIHRoZSBYTGluayBuYW1lc3BhY2UuIEJvdGgga2luZHMgb2YgaW5zdGFudGlhdGlvbiBhcmUgZGVzY3JpYmVkIGluIHRoZSBkZWZpbml0aW9uIG9mIGVhY2ggbGlua2luZyBlbGVtZW50LjwvcD4KKwk8cD5UaGUgPGNvZGU+c2ltcGxlPC9jb2RlPiBsaW5rIGlzIHVzZWQgdG8gZGVjbGFyZSBhIGxpbmsgdGhhdCBhcHByb3hpbWF0ZXMgdGhlIGZ1bmN0aW9uYWxpdHkgb2YgdGhlIEhUTUwgPGNvZGU+QTwvY29kZT4gZWxlbWVudC4gSXQgaGFzLCBob3dldmVyLCBhIGZldyBhZGRlZCBmZWF0dXJlcyB0byBpbmNyZWFzZSBpdHMgdmFsdWUsIGluY2x1ZGluZyB0aGUgcG90ZW50aWFsIGRlY2xhcmF0aW9uIG9mIHNlbWFudGljcyBhbmQgYmVoYXZpb3IuIFRoZSA8Y29kZT5sb2NhdG9yPC9jb2RlPiBlbGVtZW50cyBhcmUgdXNlZCB0byBkZWZpbmUgdGhlIHJlc291cmNlIGJlaW5nIGxpbmtlZCB0by4gU29tZSBsaW5rcyBtYXkgY29udGFpbiBtdWx0aXBsZSBsb2NhdG9ycywgcmVwcmVzZW50aW5nIGEgY2hvaWNlIG9mIHBvdGVudGlhbCBsaW5rcyB0byBiZSB0cmF2ZXJzZWQuIFRoZSA8Y29kZT5hcmNzPC9jb2RlPiBhcmUgdXNlZCB0byBkZWZpbmUgdGhlIHRyYXZlcnNhbCBzZW1hbnRpY3Mgb2YgdGhlIGxpbmsuIEZpbmFsbHksIGFuIDxjb2RlPmV4dGVuZGVkPC9jb2RlPiBsaW5raW5nIGVsZW1lbnQgZGlmZmVycyBmcm9tIGEgc2ltcGxlIGxpbmsgaW4gdGhhdCBpdCBjYW4gY29ubmVjdCBhbnkgbnVtYmVyIG9mIHJlc291cmNlcywgbm90IGp1c3Qgb25lIGxvY2FsIHJlc291cmNlIChvcHRpb25hbGx5KSBhbmQgb25lIHJlbW90ZSByZXNvdXJjZSwgYW5kIGluIHRoYXQgZXh0ZW5kZWQgbGlua3MgYXJlIG1vcmUgb2Z0ZW4gb3V0LW9mLWxpbmUgdGhhbiBzaW1wbGUgbGlua3MuPC9wPgorCis8ZGl2MiBpZD0ic2ltcGxlLWxpbmtzIj4KKwk8aGVhZD5TaW1wbGUgTGlua3M8L2hlYWQ+CisJPHAgaWQ9ImR0LXNpbXBsZWxpbmsiPjx0ZXJtZGVmIGlkPSJkdC1zaW1wbGVsaW5lIiB0ZXJtPSJTaW1wbGUgTGluayI+PHRlcm0+U2ltcGxlIGxpbmtzPC90ZXJtPiBjYW4gYmUgdXNlZCBmb3IgcHVycG9zZXMgdGhhdCBhcHByb3hpbWF0ZSB0aGUgZnVuY3Rpb25hbGl0eSBvZiBhIGJhc2ljIEhUTUwgPGNvZGU+QTwvY29kZT4gbGluaywgYnV0IHRoZXkgY2FuIGFsc28gc3VwcG9ydCBhIGxpbWl0ZWQgYW1vdW50IG9mIGFkZGl0aW9uYWwgZnVuY3Rpb25hbGl0eS4gU2ltcGxlIGxpbmtzIGhhdmUgb25seSBvbmUgbG9jYXRvciBhbmQgdGh1cywgZm9yIGNvbnZlbmllbmNlLCBjb21iaW5lIHRoZSBmdW5jdGlvbnMgb2YgYSBsaW5raW5nIGVsZW1lbnQgYW5kIGEgbG9jYXRvciBpbnRvIGEgc2luZ2xlIGVsZW1lbnQuPC90ZXJtZGVmPiBBcyBhIHJlc3VsdCBvZiB0aGlzIGNvbWJpbmF0aW9uLCB0aGUgc2ltcGxlIGxpbmtpbmcgZWxlbWVudCBvZmZlcnMgYm90aCBhIGxvY2F0b3IgYXR0cmlidXRlIGFuZCBhbGwgdGhlIGJlaGF2aW9yIGFuZCBzZW1hbnRpYyBhdHRyaWJ1dGVzLjwvcD4KKwk8cD5UaGUgZm9sbG93aW5nIGFyZSB0d28gZXhhbXBsZXMgb2YgbGlua2luZyBlbGVtZW50cywgZWFjaCBzaG93aW5nIGFsbCB0aGUgcG9zc2libGUgYXR0cmlidXRlcyB0aGF0IGNhbiBiZSBhc3NvY2lhdGVkIHdpdGggYSBzaW1wbGUgbGluay4gSGVyZSBpcyB0aGUgZXhwbGljaXQgWExpbmsgc2ltcGxlIGxpbmtpbmcgZWxlbWVudC4KKwk8ZWc+Jmx0OyFFTEVNRU5UIHhsaW5rOnNpbXBsZSBBTlkmZ3Q7CismbHQ7IUFUVExJU1QgeGxpbms6c2xpbmsKKyAgICBocmVmICAgICAgICAgICBDREFUQSAgICAJCQkJI1JFUVVJUkVECisgICAgcm9sZSAgICAgICAgICAgQ0RBVEEgICAgCQkJCSNJTVBMSUVECisgICAgdGl0bGUgICAgICAgICAgQ0RBVEEgICAgCQkJCSNJTVBMSUVECisgICAgc2hvdyAgICAgICAgICAgKG5ld3xwYXJzZWR8cmVwbGFjZSkgIAkicmVwbGFjZSIKKyAgICBhY3R1YXRlICAgICAgICAodXNlcnxhdXRvKSAJCQkJInVzZXIiCismZ3Q7PC9lZz4KKwlBbmQgaGVyZSBpcyBob3cgdG8gbWFrZSBhbiBhcmJpdHJhcnkgZWxlbWVudCBpbnRvIGEgc2ltcGxlIGxpbmsuCisJPGVnPiZsdDshRUxFTUVOVCB4bGluazpzaW1wbGUgQU5ZJmd0OworJmx0OyFBVFRMSVNUIGZvbworCXhsaW5rOnR5cGUgICAgIChzaW1wbGV8ZXh0ZW5kZWR8bG9jYXRvcnxhcmMpICNGSVhFRCAic2ltcGxlIgkJCisgICAgeGxpbms6aHJlZiAgICAgQ0RBVEEgICAgCQkJCSNSRVFVSVJFRAorICAgIHhsaW5rOnJvbGUgICAgIENEQVRBICAgIAkJCQkjSU1QTElFRAorICAgIHhsaW5rOnRpdGxlICAgIENEQVRBICAgIAkJCQkjSU1QTElFRAorICAgIHhsaW5rOnNob3cgICAgIChuZXd8cGFyc2VkfHJlcGxhY2UpICAJInJlcGxhY2UiCisgICAgeGxpbms6YWN0dWF0ZSAgKHVzZXJ8YXV0bykgCQkJCSJ1c2VyIgorJmd0OzwvZWc+CisJSGVyZSBpcyBob3cgdGhlIGZpcnN0IGV4YW1wbGUgbWlnaHQgbG9vayBpbiBhIGRvY3VtZW50OgorPGVnPiZsdDt4bGluazpzaW1wbGUgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvd2QteGxpbmsiIHJvbGU9IndvcmtpbmcgZHJhZnQiIAorCXRpdGxlPSJUaGUgWExpbmsgV29ya2luZyBEcmFmdCIgc2hvdz0icmVwbGFjZSIgYWN0dWF0ZT0idXNlciImZ3Q7CitUaGUgWExpbmsgV29ya2luZyBEcmFmdC4mbHQ7L3hsaW5rOnNpbXBsZSZndDs8L2VnPgorPGVnPiZsdDtmb28geGxpbms6aHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvd2QteGxpbmsiIHhsaW5rOnJvbGU9IndvcmtpbmcgZHJhZnQiCisJeGxpbms6dGl0bGU9IlRoZSBYTGluayBXb3JraW5nIERyYWZ0IiB4bGluazpzaG93PSJuZXciIHhsaW5rOmFjdHVhdGU9InVzZXIiJmd0OworVGhlIFhMaW5rIFdvcmtpbmcgRHJhZnQuJmx0Oy9mb28mZ3Q7PC9lZz4KKwlBbHRlcm5hdGVseSwgYSBzaW1wbGUgbGluayBjb3VsZCBiZSBhcyB0ZXJzZSBhcyB0aGlzOgorPGVnPiZsdDtmb28geGxpbms6aHJlZj0iI3N0YW56YTEiJmd0O1RoZSBGaXJzdCBTdGFuemEuJmx0Oy9mb28mZ3Q7PC9lZz4KKwk8L3A+CisJPHA+CisJVGhlcmUgYXJlIG5vIGNvbnN0cmFpbnRzIG9uIHRoZSBjb250ZW50cyBvZiBhIHNpbXBsZSBsaW5raW5nIGVsZW1lbnQuIEluCisJdGhlIHNhbXBsZSBkZWNsYXJhdGlvbiBhYm92ZSwgaXQgaXMgZ2l2ZW4gYSBjb250ZW50IG1vZGVsIG9mIDxjb2RlPkFOWTwvY29kZT4KKwl0byBpbGx1c3RyYXRlIHRoYXQgYW55IGNvbnRlbnQgbW9kZWwgb3IgZGVjbGFyZWQgY29udGVudCBpcyBhY2NlcHRhYmxlLiBJbgorCWEgdmFsaWQgZG9jdW1lbnQsIGV2ZXJ5IGVsZW1lbnQgdGhhdCBpcyBzaWduaWZpY2FudCB0byBYTGluayBtdXN0IHN0aWxsIGNvbmZvcm0KKwl0byB0aGUgY29uc3RyYWludHMgZXhwcmVzc2VkIGluIGl0cyBnb3Zlcm5pbmcgRFRELjwvcD4KKwk8cD5Ob3RlIHRoYXQgaXQgaXMgbWVhbmluZ2Z1bCB0byBoYXZlIGFuIG91dC1vZi1saW5lIHNpbXBsZSBsaW5rLCBhbHRob3VnaAorCXN1Y2ggbGlua3MgYXJlIHVuY29tbW9uLiBUaGV5IGFyZSBjYWxsZWQgIm9uZS1lbmRlZCIgYW5kIGFyZSB0eXBpY2FsbHkgdXNlZAorCXRvIGFzc29jaWF0ZSBkaXNjcmV0ZSBzZW1hbnRpYyBwcm9wZXJ0aWVzIHdpdGggbG9jYXRpb25zLiBUaGUgcHJvcGVydGllcyBtaWdodAorCWJlIGV4cHJlc3NlZCBieSBhdHRyaWJ1dGVzIG9uIHRoZSBsaW5rLCB0aGUgbGluaydzIGVsZW1lbnQgdHlwZSBuYW1lLCBvciBpbgorCXNvbWUgb3RoZXIgd2F5LCBhbmQgYXJlIG5vdCBjb25zaWRlcmVkIGZ1bGwtZmxlZGdlZCByZXNvdXJjZXMgb2YgdGhlIGxpbmsuCisJTW9zdCBvdXQtb2YtbGluZSBsaW5rcyBhcmUgZXh0ZW5kZWQgbGlua3MsIGFzIHRoZXNlIGhhdmUgYSBmYXIgd2lkZXIgcmFuZ2UKKwlvZiB1c2VzLjwvcD4KKzwvZGl2Mj4KKworPGRpdjIgaWQ9ImV4dGVuZGVkLWxpbmsiPgorPGhlYWQ+RXh0ZW5kZWQgTGlua3M8L2hlYWQ+CisJPHA+PHRlcm1kZWYgaWQ9ImR0LWV4dGVuZGVkbGluayIgdGVybT0iRXh0ZW5kZWQgTGluayI+QW4gPHRlcm0+ZXh0ZW5kZWQgbGluazwvdGVybT4gZGlmZmVycyBmcm9tIGEgc2ltcGxlIGxpbmsgaW4gdGhhdCBpdCBjYW4gY29ubmVjdCBhbnkgbnVtYmVyIG9mIHJlc291cmNlcywgbm90IGp1c3Qgb25lIGxvY2FsIHJlc291cmNlIChvcHRpb25hbGx5KSBhbmQgb25lIHJlbW90ZSByZXNvdXJjZSwgYW5kIGluIHRoYXQgZXh0ZW5kZWQgbGlua3MgYXJlIG1vcmUgb2Z0ZW4gb3V0LW9mLWxpbmUgdGhhbiBzaW1wbGUgbGlua3MuPC90ZXJtZGVmPjwvcD4KKwk8cD5UaGVzZSBhZGRpdGlvbmFsIGNhcGFiaWxpdGllcyBvZiBleHRlbmRlZCBsaW5rcyBhcmUgcmVxdWlyZWQgZm9yOiAgCisJCTx1bGlzdD4KKwkJCTxpdGVtPgorCQkJCTxwPkVuYWJsaW5nIG91dGdvaW5nIGxpbmtzIGluIGRvY3VtZW50cyB0aGF0IGNhbm5vdCBiZSBtb2RpZmllZCB0byBhZGQgYW4gaW5saW5lIGxpbms8L3A+CisJCQk8L2l0ZW0+CisJCQk8aXRlbT4KKwkJCQk8cD5DcmVhdGluZyBsaW5rcyB0byBhbmQgZnJvbSByZXNvdXJjZXMgaW4gZm9ybWF0cyB3aXRoIG5vIG5hdGl2ZSBzdXBwb3J0IGZvciBlbWJlZGRlZCBsaW5rcyAoc3VjaCBhcyBtb3N0IG11bHRpbWVkaWEgZm9ybWF0cyk8L3A+CisJCQk8L2l0ZW0+CisJCQk8aXRlbT4KKwkJCQk8cD5BcHBseWluZyBhbmQgZmlsdGVyaW5nIHNldHMgb2YgcmVsZXZhbnQgbGlua3Mgb24gZGVtYW5kPC9wPgorCQkJPC9pdGVtPgorCQkJPGl0ZW0+PHA+RW5hYmxpbmcgb3RoZXIgYWR2YW5jZWQgaHlwZXJtZWRpYSBjYXBhYmlsaXRpZXM8L3A+PC9pdGVtPgorCQk8L3VsaXN0PgorCTwvcD4KKwk8cD5BcHBsaWNhdGlvbiBzb2Z0d2FyZSBtaWdodCBiZSBleHBlY3RlZCB0byBwcm92aWRlIHRyYXZlcnNhbCBhbW9uZyBhbGwgb2YgYSBsaW5rJ3MgcGFydGljaXBhdGluZyByZXNvdXJjZXMgKHN1YmplY3QgdG8gc2VtYW50aWMgY29uc3RyYWludHMgb3V0c2lkZSB0aGUgc2NvcGUgb2YgdGhpcyBzcGVjaWZpY2F0aW9uKSBhbmQgdG8gc2lnbmFsIHRoZSBmYWN0IHRoYXQgYSBnaXZlbiByZXNvdXJjZSBvciBzdWItcmVzb3VyY2UgcGFydGljaXBhdGVzIGluIG9uZSBvciBtb3JlIGxpbmtzIHdoZW4gaXQgaXMgZGlzcGxheWVkIChldmVuIHRob3VnaCB0aGVyZSBpcyBubyBtYXJrdXAgYXQgZXhhY3RseSB0aGF0IHBvaW50IHRvIHNpZ25hbCBpdCkuPC9wPgorCTxwPkEgbGlua2luZyBlbGVtZW50IGZvciBhbiBleHRlbmRlZCBsaW5rIGNvbnRhaW5zIGEgc2VyaWVzIG9mIDx4dGVybXJlZiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMteG1sLyNkdC1wYXJlbnRjaGlsZCI+Y2hpbGQgZWxlbWVudHM8L3h0ZXJtcmVmPiB0aGF0IHNlcnZlIGFzIGxvY2F0b3JzIGFuZCBhcmNzLiBCZWNhdXNlIGFuIGV4dGVuZGVkIGxpbmsgY2FuIGhhdmUgbW9yZSB0aGFuIG9uZSByZW1vdGUgcmVzb3VyY2UsIGl0IHNlcGFyYXRlcyBvdXQgbGlua2luZyBpdHNlbGYgZnJvbSB0aGUgbWVjaGFuaXNtcyB1c2VkIHRvIGxvY2F0ZSBlYWNoIHJlc291cmNlICh3aGVyZWFzIGEgc2ltcGxlIGxpbmsgY29tYmluZXMgdGhlIHR3bykuPC9wPgorCTxwPlRoZSA8Y29kZT54bGluazp0eXBlPC9jb2RlPiBhdHRyaWJ1dGUgdmFsdWUgZm9yIGFuIGV4dGVuZGVkIGxpbmsgbXVzdCBiZSA8Y29kZT4gZXh0ZW5kZWQ8L2NvZGU+LCBpZiB0aGUgbGluayBpcyBiZWluZyBpbnN0YW50aWF0ZWQgb24gYW4gYXJiaXRyYXJ5IGVsZW1lbnQuIE5vdGUgdGhhdCBleHRlbmRlZCBsaW5rcyBpbnRyb2R1Y2UgdmFyaWFudHMgb2YgdGhlIDxjb2RlPnNob3c8L2NvZGU+IGFuZCA8Y29kZT5hY3R1YXRlPC9jb2RlPiBiZWhhdmlvciBhdHRyaWJ1dGVzLiBUaGVzZSBhdHRyaWJ1dGVzLCB0aGUgPGNvZGU+c2hvd2RlZmF1bHQ8L2NvZGU+IGFuZCA8Y29kZT5hY3R1YXRlZGVmYXVsdDwvY29kZT4gZGVmaW5lIHRoZSBzYW1lIGJlaGF2aW9yIGFzIHRoZWlyIGNvdW50ZXJwYXJ0cy4gSG93ZXZlciwgaW4gdGhpcyBjYXNlLCB0aGV5IGFyZSBjb25zaWRlcmVkIHRvIGRlZmluZSB0aGUgZGVmYXVsdCBiZWhhdmlvciBmb3IgYWxsIHRoZSBsaW5raW5nIGVsZW1lbnRzIHRoYXQgdGhleSBjb250YWluLjwvcD4KKwk8cD5Ib3dldmVyLCB3aGVuIGEgbGlua2luZyBlbGVtZW50IHdpdGhpbiBhbiBleHRlbmRlZCBsaW5rIGhhcyBhIDxjb2RlPnNob3c8L2NvZGU+IG9yIDxjb2RlPmFjdHVhdGU8L2NvZGU+IGF0dHJpYnV0ZSBvZiBpdHMgb3duLCB0aGF0IGF0dHJpYnV0ZSBvdmVycmlkZXMgdGhlIGRlZmF1bHRzIHNldCBvbiB0aGUgZXh0ZW5kZWQgbGlua2luZyBlbGVtZW50LjwvcD4KKwk8cD5UaGUgZXh0ZW5kZWQgbGlua2luZyBlbGVtZW50IGl0c2VsZiByZXRhaW5zIHRob3NlIGF0dHJpYnV0ZXMgcmVsZXZhbnQgdG8gdGhlIGxpbmsgYXMgYSB3aG9sZSwgYW5kIHRvIGl0cyBsb2NhbCByZXNvdXJjZSBpZiBhbnkuIEZvbGxvd2luZyBhcmUgdHdvIHNhbXBsZSBkZWNsYXJhdGlvbiBmb3IgYW4gZXh0ZW5kZWQgbGluay4gVGhlIGZpcnN0IGlzIGFuIGV4YW1wbGUgb2YgdGhlIGV4cGxpY2l0IFhMaW5rIGV4dGVuZGVkIGxpbms6CisJCis8ZWc+Jmx0OyFFTEVNRU5UIHhsaW5rOmV4dGVuZGVkICgoeGxpbms6YXJjIHwgeGxpbms6bG9jYXRvcikqKSZndDsKKyZsdDshQVRUTElTVCB4bGluazpleHRlbmRlZAorCXJvbGUgICAgICAgICAgIENEQVRBICAgIAkJCQkjSU1QTElFRAorCXRpdGxlICAgICAgICAgIENEQVRBICAgIAkJCQkjSU1QTElFRAorCXNob3dkZWZhdWx0ICAgIChuZXd8cGFyc2VkfHJlcGxhY2UpICAgIAkjSU1QTElFRCAKKyAgICBhY3R1YXRlZGVmYXVsdCAodXNlcnxhdXRvKSAJCQkJI0lNUExJRUQgJmd0OzwvZWc+CisKKwlUaGUgc2Vjb25kIGlzIGFuIGV4YW1wbGUgb2YgYW4gYXJiaXRyYXJ5IGVsZW1lbnQgYmVpbmcgdXNlZCBhbiBleHRlbmRlZCBsaW5rOgorCis8ZWc+Jmx0OyFFTEVNRU5UIGZvbyAoKHhsaW5rOmFyYyB8IHhsaW5rOmxvY2F0b3IpKikmZ3Q7CismbHQ7IUFUVExJU1QgZm9vCisJeGxpbms6dHlwZSAgICAgCShzaW1wbGV8ZXh0ZW5kZWR8bG9jYXRvcnxhcmMpIAkjRklYRUQgImV4dGVuZGVkIgorCXhsaW5rOnJvbGUgICAgICAgICAgIENEQVRBICAgIAkJCQkJI0lNUExJRUQKKwl4bGluazp0aXRsZSAgICAgICAgICBDREFUQSAgICAJCQkJCSNJTVBMSUVECisJeGxpbms6c2hvd2RlZmF1bHQgICAgKG5ld3xwYXJzZWR8cmVwbGFjZSkgICAgCSNJTVBMSUVEIAorICAgIHhsaW5rOmFjdHVhdGVkZWZhdWx0ICh1c2VyfGF1dG8pIAkJCQkjSU1QTElFRCAmZ3Q7PC9lZz4KKworCVRoZSBmb2xsb3dpbmcgdHdvIGV4YW1wbGVzIGRlbW9uc3RyYXRlIGhvdyBlYWNoIG9mIHRoZSBhYm92ZSBtaWdodCBhcHBlYXIgd2l0aGluIGEgZG9jdW1lbnQgaW5zdGFuY2UuIE5vdGUgdGhhdCB0aGUgY29udGVudCBvZiB0aGVzZSBleGFtcGxlcyB3b3VsZCBiZSBvdGhlciBlbGVtZW50cy4gRm9yIGJyZXZpdHkncyBzYWtlLCB0aGV5J3ZlIGJlZW4gbGVmdCBibGFuay4gVGhlIGZpcnN0IGV4YW1wbGUgc2hvd3MgaG93IHRoZSBsaW5rIG1pZ2h0IGFwcGVhciwgdXNpbmcgYW4gZXhwbGljaXQgWExpbmsgZXh0ZW5kZWQgbGluazoKKworPGVnPiZsdDt4bGluazpleHRlbmRlZCByb2xlPSJhZGRyZXNzIGJvb2siIHRpdGxlPSJCZW4ncyBBZGRyZXNzIEJvb2siIHNob3dkZWZhdWx0PSJyZXBsYWNlIiBhY3R1YXRlZGVmYXVsdD0idXNlciImZ3Q7IC4uLiAmbHQ7L3hsaW5rOmV4dGVuZGVkJmd0OzwvZWc+CisKKwlBbmQgdGhlIHNlY29uZCBzaG93cyBob3cgdGhlIGxpbmsgbWlnaHQgYXBwZWFyLCB1c2luZyBhbiBhcmJpdHJhcnkgZWxlbWVudDoKKworPGVnPiZsdDtmb28geGxpbms6dHlwZT0iZXh0ZW5kZWQiIHhsaW5rOnJvbGU9ImFkZHJlc3MgYm9vayIgeGxpbms6dGl0bGU9IkJlbidzIEFkZHJlc3MgQm9vayIgeGxpbms6c2hvd2RlZmF1bHQ9InJlcGxhY2UiIHhsaW5rOmFjdHVhdGVkZWZhdWx0PSJ1c2VyIiZndDsgLi4uICZsdDsvZm9vJmd0OzwvZWc+CisJPC9wPgorCis8L2RpdjI+CisKKzxkaXYyIGlkPSJ4bGluay1hcmNzIj4KKwk8aGVhZD5BcmMgRWxlbWVudHM8L2hlYWQ+CisJPHA+PHRlcm1kZWYgaWQ9ImR0LWFyYyIgdGVybT0iQXJjIj5BbiA8dGVybT5hcmM8L3Rlcm0+IGlzIGNvbnRhaW5lZCB3aXRoaW4gYW4gZXh0ZW5kZWQgbGluayBmb3IgdGhlIHB1cnBvc2Ugb2YgZGVmaW5pbmcgdHJhdmVyc2FsIGJlaGF2aW9yLjwvdGVybWRlZj4gTW9yZSB0aGFuIG9uZSBhcmMgbWF5IGJlIGFzc29jaWF0ZWQgd2l0aCBhIGxpbmsuIE90aGVyd2lzZSwgYXJjIGVsZW1lbnRzIGZ1bmN0aW9uIGV4YWN0bHkgYXMgdGhlIGFyYyBhdHRyaWJ1dGVzIG1pZ2h0IGxlYWQgb24gdG8gZXhwZWN0LjwvcD4KKwk8IS0tIE1vcmUgaGVyZT8gLWJlbnQgLS0+Cis8L2RpdjI+CisKKzwvZGl2MT4KKzxkaXYxPgorPGhlYWQ+Q29uZm9ybWFuY2U8L2hlYWQ+Cis8cD5BbiBlbGVtZW50IGNvbmZvcm1zIHRvIFhMaW5rIGlmOiAgPG9saXN0PgorPGl0ZW0+PHA+VGhlIGVsZW1lbnQgaGFzIGFuIDxjb2RlPnhtbDpsaW5rPC9jb2RlPiBhdHRyaWJ1dGUgd2hvc2UgdmFsdWUgaXMKK29uZSBvZiB0aGUgYXR0cmlidXRlIHZhbHVlcyBwcmVzY3JpYmVkIGJ5IHRoaXMgc3BlY2lmaWNhdGlvbiwgYW5kPC9wPjwvaXRlbT4KKzxpdGVtPjxwPnRoZSBlbGVtZW50IGFuZCBhbGwgb2YgaXRzIGF0dHJpYnV0ZXMgYW5kIGNvbnRlbnQgYWRoZXJlIHRvIHRoZQorc3ludGFjdGljCityZXF1aXJlbWVudHMgaW1wb3NlZCBieSB0aGUgY2hvc2VuIDxjb2RlPnhtbDpsaW5rPC9jb2RlPiBhdHRyaWJ1dGUgdmFsdWUsCithcyBwcmVzY3JpYmVkIGluIHRoaXMgc3BlY2lmaWNhdGlvbi48L3A+PC9pdGVtPgorPC9vbGlzdD48L3A+Cis8cD5Ob3RlIHRoYXQgY29uZm9ybWFuY2UgaXMgYXNzZXNzZWQgYXQgdGhlIGxldmVsIG9mIGluZGl2aWR1YWwgZWxlbWVudHMsCityYXRoZXIgdGhhbiB3aG9sZSBYTUwgZG9jdW1lbnRzLCBiZWNhdXNlIFhMaW5rIGFuZCBub24tWExpbmsgbGlua2luZyBtZWNoYW5pc21zCittYXkgYmUgdXNlZCBzaWRlIGJ5IHNpZGUgaW4gYW55IG9uZSBkb2N1bWVudC48L3A+Cis8cD5BbiBhcHBsaWNhdGlvbiBjb25mb3JtcyB0byBYTGluayBpZiBpdCBpbnRlcnByZXRzIFhMaW5rLWNvbmZvcm1pbmcgZWxlbWVudHMKK2FjY29yZGluZyB0byBhbGwgcmVxdWlyZWQgc2VtYW50aWNzIHByZXNjcmliZWQgYnkgdGhpcyBzcGVjaWZpY2F0aW9uIGFuZCwKK2ZvciBhbnkgb3B0aW9uYWwgc2VtYW50aWNzIGl0IGNob29zZXMgdG8gc3VwcG9ydCwgc3VwcG9ydHMgdGhlbSBpbiB0aGUgd2F5CitwcmVzY3JpYmVkLiA8IS0tSWYvd2hlbiB3ZSBzcGxpdCBvdXQgdGhlIFhMaW5rZnVuY3Rpb25hbGl0eQorKGUuZy4gaW5saW5lIGxpbmtzIGFuZCBvdXQtb2YtbGluZSBsaW5rcyksIHRoZQorY29uZm9ybWFuY2UgbGFuZ3VhZ2Ugd2lsbCBoYXZlIHRvIGFkZHJlc3MgdGhlIGRpZmZlcmVudAorbGV2ZWxzIG9mIHN1cHBvcnQuIC1lbG0tLT4gPC9wPgorPC9kaXYxPgorPC9ib2R5PjxiYWNrPgorPGRpdjEgaWQ9InVuZmluaXNoZWQiPgorPGhlYWQ+VW5maW5pc2hlZCBXb3JrPC9oZWFkPgorPGRpdjI+Cis8aGVhZD5TdHJ1Y3R1cmVkIFRpdGxlczwvaGVhZD4KKzxwPlRoZSBzaW1wbGUgdGl0bGUgbWVjaGFuaXNtIGRlc2NyaWJlZCBpbiB0aGlzIGRyYWZ0IGlzIGluc3VmZmljaWVudCB0byBjb3BlCit3aXRoIGludGVybmF0aW9uYWxpemF0aW9uIG9yIHRoZSB1c2Ugb2YgbXVsdGltZWRpYSBpbiBsaW5rIHRpdGxlcy4gQSBmdXR1cmUKK3ZlcnNpb24gd2lsbCBwcm92aWRlIGEgbWVjaGFuaXNtIGZvciB0aGUgdXNlIG9mIHN0cnVjdHVyZWQgbGluayB0aXRsZXMuPC9wPgorPC9kaXYyPgorPC9kaXYxPgorPGRpdjE+Cis8aGVhZD5SZWZlcmVuY2VzPC9oZWFkPgorPGJsaXN0PgorPGJpYmwgaWQ9InhwdHIiIGtleT0iWFBUUiI+RXZlIE1hbGVyIGFuZCBTdGV2ZSBEZVJvc2UsIGVkaXRvcnMuIDx0aXRsZXJlZj4KK1hNTCBQb2ludGVyIExhbmd1YWdlIChYUG9pbnRlcikgVjEuMDwvdGl0bGVyZWY+LiBBcmJvclRleHQsIEluc28sIGFuZCBCcm93bgorVW5pdmVyc2l0eS4gQnVybGluZ3RvbiwgU2Vla29uaywgZXQgYWwuOiBXb3JsZCBXaWRlIFdlYiBDb25zb3J0aXVtLCAxOTk4LgorKFNlZSA8bG9jIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL1dELXhwdHIiPmh0dHA6Ly93d3cudzMub3JnL1RSL1dELXhwdHIKKyA8L2xvYz4uKTwvYmlibD4KKzxiaWJsIGlkPSJpc28xMDc0NCIga2V5PSJJU08vSUVDIDEwNzQ0Ij5JU08gKEludGVybmF0aW9uYWwgT3JnYW5pemF0aW9uIGZvcgorU3RhbmRhcmRpemF0aW9uKS4gPHRpdGxlcmVmPklTTy9JRUMgMTA3NDQtMTk5MiAoRSkuIEluZm9ybWF0aW9uIHRlY2hub2xvZ3kKKy0gSHlwZXJtZWRpYS9UaW1lLWJhc2VkIFN0cnVjdHVyaW5nIExhbmd1YWdlIChIeVRpbWUpLjwvdGl0bGVyZWY+IFtHZW5ldmFdOgorSW50ZXJuYXRpb25hbCBPcmdhbml6YXRpb24gZm9yIFN0YW5kYXJkaXphdGlvbiwgMTk5Mi4gPHRpdGxlcmVmPkV4dGVuZGVkCitGYWNpbGl0aWVzCitBbm5leC48L3RpdGxlcmVmPiBbR2VuZXZhXTogSW50ZXJuYXRpb25hbCBPcmdhbml6YXRpb24gZm9yIFN0YW5kYXJkaXphdGlvbiwKKzE5OTYuIChTZWUgIDxsb2MgaHJlZj0iaHR0cDovL3d3dy5vcm5sLmdvdi9zZ21sL3dnOC9oeXRpbWUvaHRtbC9pczEwNzQ0ci5odG1sIj5odHRwOi8vd3d3Lm9ybmwuZ28KK3Yvc2dtbC93ZzgvaHl0aW1lL2h0bWwvaXMxMDc0NHIuaHRtbCA8L2xvYz4gPCEtLXAgbS1yIHNheXMgdGhpcyBsaW5rIGlzCiticm9rZW4uIGVsbSAtLT4gKS48L2JpYmw+Cis8YmlibCBpZD0icmZjMTczOCIga2V5PSJJRVRGIFJGQyAxNzM4Ij5JRVRGIChJbnRlcm5ldCBFbmdpbmVlcmluZyBUYXNrCitGb3JjZSkuIDx0aXRsZXJlZj4KK1JGQyAxNzM4OiBVbmlmb3JtIFJlc291cmNlIExvY2F0b3JzPC90aXRsZXJlZj4uIDE5OTEuIChTZWUgIDxsb2MgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvQWRkcmVzc2luZy9yZmMxNzM4LnR4dCI+CitodHRwOi8vd3d3LnczLm9yZy9BZGRyZXNzaW5nL3JmYzE3MzgudHh0PC9sb2M+KS48L2JpYmw+Cis8YmlibCBpZD0icmZjMTgwOCIga2V5PSJJRVRGIFJGQyAxODA4Ij5JRVRGIChJbnRlcm5ldCBFbmdpbmVlcmluZyBUYXNrCitGb3JjZSkuIDx0aXRsZXJlZj4KK1JGQyAxODA4OiBSZWxhdGl2ZSBVbmlmb3JtIFJlc291cmNlIExvY2F0b3JzPC90aXRsZXJlZj4uIDE5OTUuIChTZWUgIDxsb2MgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvQWRkcmVzc2luZy9yZmMxODA4LnR4dCI+aHR0cDovL3d3dy53My5vcmcvQWRkcmVzc2luZy9yZmMKKzE4MDgudHh0IDwvbG9jPikuPC9iaWJsPgorPGJpYmwgaWQ9InRlaSIga2V5PSJURUkiPkMuIE0uIFNwZXJiZXJnLU1jUXVlZW4gYW5kIExvdSBCdXJuYXJkLCBlZGl0b3JzLgorPHRpdGxlcmVmPgorR3VpZGVsaW5lcyBmb3IgRWxlY3Ryb25pYyBUZXh0IEVuY29kaW5nIGFuZCBJbnRlcmNoYW5nZTwvdGl0bGVyZWY+LiBBc3NvY2lhdGlvbgorZm9yIENvbXB1dGVycyBhbmQgdGhlIEh1bWFuaXRpZXMgKEFDSCksIEFzc29jaWF0aW9uIGZvciBDb21wdXRhdGlvbmFsCitMaW5ndWlzdGljcworKEFDTCksIGFuZCBBc3NvY2lhdGlvbiBmb3IgTGl0ZXJhcnkgYW5kIExpbmd1aXN0aWMgQ29tcHV0aW5nIChBTExDKS4gQ2hpY2FnbywKK094Zm9yZDogVGV4dCBFbmNvZGluZyBJbml0aWF0aXZlLCAxOTk0LiA8IS0tIGFkZCBjaXRlIHRvIERPTSB3b3JrIC0tPiA8L2JpYmw+Cis8YmlibCBpZD0iY2h1bSIga2V5PSJDSFVNIj5dU3RldmVuIEouIERlUm9zZSBhbmQgRGF2aWQgRy4gRHVyYW5kLiAxOTk1LiAiVGhlCitURUkgSHlwZXJ0ZXh0IEd1aWRlbGluZXMuIiBJbiA8dGl0bGVyZWY+Q29tcHV0aW5nIGFuZCB0aGUgSHVtYW5pdGllcworPC90aXRsZXJlZj4yOSgzKS4KK1JlcHJpbnRlZCBpbiA8dGl0bGVyZWY+VGV4dCBFbmNvZGluZyBJbml0aWF0aXZlOiBCYWNrZ3JvdW5kIGFuZAorQ29udGV4dDwvdGl0bGVyZWY+LAorZWQuIE5hbmN5IElkZSBhbmQgSmVhbiByb25pcyA8IS0tIGZpeCB0aGlzIG5hbWUgLS0+LCBJU0JOIDAtNzkyMy0zNzA0LTIuIDwvYmlibD4KKzwvYmxpc3Q+PC9kaXYxPgorPC9iYWNrPjwvc3BlYz4KKzw/UHViICowMDAwMDUyNTc1Pz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL3hsaW5rLnhtbC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC92YWxpZC94bGluay54bWwuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMwZWVhN2MKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC92YWxpZC94bGluay54bWwuZXJyCkBAIC0wLDAgKzEsNCBAQAorLi90ZXN0L3ZhbGlkL3hsaW5rLnhtbDo0NTA6IGVsZW1lbnQgdGVybWRlZjogdmFsaWRpdHkgZXJyb3IgOiBJRCBkdC1hcmMgYWxyZWFkeSBkZWZpbmVkCisJPHA+PHRlcm1kZWYgaWQ9ImR0LWFyYyIgdGVybT0iQXJjIj5BbiA8dGVybT5hcmM8L3Rlcm0+IGlzIGNvbnRhaW5lZCB3aXRoaW4gYW4gZQorCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCisuL3Rlc3QvdmFsaWQveGxpbmsueG1sOjE5OTogZWxlbWVudCB0ZXJtcmVmOiB2YWxpZGl0eSBlcnJvciA6IElEUkVGIGF0dHJpYnV0ZSBkZWYgcmVmZXJlbmNlcyBhbiB1bmtub3duIElEICJkdC14bGciCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC92YWxpZC94bGluay54bWwuZXJyLnJkciBiL2xpYnhtbDIvcmVzdWx0L3ZhbGlkL3hsaW5rLnhtbC5lcnIucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM4NTk0ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC92YWxpZC94bGluay54bWwuZXJyLnJkcgpAQCAtMCwwICsxLDQgQEAKKy4vdGVzdC92YWxpZC94bGluay54bWw6NDUwOiBlbGVtZW50IHRlcm1kZWY6IHZhbGlkaXR5IGVycm9yIDogSUQgZHQtYXJjIGFscmVhZHkgZGVmaW5lZAorCTxwPjx0ZXJtZGVmIGlkPSJkdC1hcmMiIHRlcm09IkFyYyI+QW4gPHRlcgorCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCit2YWxpZGl0eSBlcnJvciA6IGF0dHJpYnV0ZSBkZWYgbGluZSAxOTkgcmVmZXJlbmNlcyBhbiB1bmtub3duIElEICJkdC14bGciCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC93YXAueG1sIGIvbGlieG1sMi9yZXN1bHQvd2FwLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42OTRiNDlmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvd2FwLnhtbApAQCAtMCwwICsxLDI0IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhRE9DVFlQRSB3bWwgUFVCTElDICItLy9XQVBGT1JVTS8vRFREIFdNTCAxLjEvL0VOIiAiaHR0cDovL2Rhcmsud2FwaXQuY29tL3Zzd2FwL3Rlc3RzL3dhcC9EVEQvd21sMTEuZHRkIj4KKzwhLS0gKEMpIDE5OTksIDIwMDAgV0FQIEZvcnVtIEx0ZC4gIEFsbCByaWdodHMgcmVzZXJ2ZWQgLS0+Cis8d21sPgorPGNhcmQgaWQ9ImNhcmQxIj4KKzxvbmV2ZW50IHR5cGU9Im9uZW50ZXJmb3J3YXJkIj4KKzxnbyBocmVmPSIvdnN3YXAvcnVuL3Jlc3VsdC5lbWwiPgorICAgICAgICA8cG9zdGZpZWxkIG5hbWU9InZhciIgdmFsdWU9IiR0ZXN0Ii8+CisgICAgICAgIDxwb3N0ZmllbGQgbmFtZT0idiIgdmFsdWU9ImRhcmsiLz4KKyAgICAgICAgPHBvc3RmaWVsZCBuYW1lPSJ0cyIgdmFsdWU9IjAwMDMiLz4KKyAgICAgICAgPHBvc3RmaWVsZCBuYW1lPSJ0cCIgdmFsdWU9IndtbC9zdGF0ZS92YXJpYWJsZXMvcGFyc2luZy8xIi8+CisgICAgICAgIDxwb3N0ZmllbGQgbmFtZT0idGkiIHZhbHVlPSIxIi8+CisgICAgICAgIDxwb3N0ZmllbGQgbmFtZT0iZXhwZWN0ZWQiIHZhbHVlPSJ2YXI6cGFzcyIvPgorPC9nbz4KKzwvb25ldmVudD4KKzxwPklmIGF1dG9tYXRpYyB0ZXN0aW5nIGZhaWxlZCwgc2VsZWN0IDxhbmNob3I+RmFpbGVkPGdvIGhyZWY9Ii92c3dhcC9ydW4vcmVzdWx0LmVtbCI+CisgICAgICAgIDxwb3N0ZmllbGQgbmFtZT0iU1VCTUlUIiB2YWx1ZT0iTm8iLz48cG9zdGZpZWxkIG5hbWU9InYiIHZhbHVlPSJkYXJrIi8+CisgICAgICAgIDxwb3N0ZmllbGQgbmFtZT0idHMiIHZhbHVlPSIwMDAzIi8+CisgICAgICAgIDxwb3N0ZmllbGQgbmFtZT0idHAiIHZhbHVlPSJ3bWwvc3RhdGUvdmFyaWFibGVzL3BhcnNpbmcvMSIvPgorICAgICAgICA8cG9zdGZpZWxkIG5hbWU9InRpIiB2YWx1ZT0iMSIvPgorICAgICAgICA8cG9zdGZpZWxkIG5hbWU9ImV4cGVjdGVkIiB2YWx1ZT0idmFyOnBhc3MiLz48L2dvPjwvYW5jaG9yPi48L3A+Cis8L2NhcmQ+CisKKzwvd21sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvd2FwLnhtbC5yZGUgYi9saWJ4bWwyL3Jlc3VsdC93YXAueG1sLnJkZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ODY3MzgyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvd2FwLnhtbC5yZGUKQEAgLTAsMCArMSw3MCBAQAorMCAxMCB3bWwgMCAwCiswIDggI2NvbW1lbnQgMCAxICAoQykgMTk5OSwgMjAwMCBXQVAgRm9ydW0gTHRkLiAgQWxsIHJpZ2h0cyByZXNlcnZlZCAKKzAgMSB3bWwgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKworMSAxIGNhcmQgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKworMiAxIG9uZXZlbnQgMCAwCiszIDE0ICN0ZXh0IDAgMSAKKworMyAxIGdvIDAgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAgIAorNCAxIHBvc3RmaWVsZCAxIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgICAKKzQgMSBwb3N0ZmllbGQgMSAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgCis0IDEgcG9zdGZpZWxkIDEgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAgIAorNCAxIHBvc3RmaWVsZCAxIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgICAKKzQgMSBwb3N0ZmllbGQgMSAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgCis0IDEgcG9zdGZpZWxkIDEgMAorNCAxNCAjdGV4dCAwIDEgCisKKzMgMTUgZ28gMCAwCiszIDE0ICN0ZXh0IDAgMSAKKworMiAxNSBvbmV2ZW50IDAgMAorMiAxNCAjdGV4dCAwIDEgCisKKzIgMSBwIDAgMAorMyAzICN0ZXh0IDAgMSBJZiBhdXRvbWF0aWMgdGVzdGluZyBmYWlsZWQsIHNlbGVjdCAKKzMgMSBhbmNob3IgMCAwCis0IDMgI3RleHQgMCAxIEZhaWxlZAorNCAxIGdvIDAgMAorNSAxNCAjdGV4dCAwIDEgCisgICAgICAgIAorNSAxIHBvc3RmaWVsZCAxIDAKKzUgMSBwb3N0ZmllbGQgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgCis1IDEgcG9zdGZpZWxkIDEgMAorNSAxNCAjdGV4dCAwIDEgCisgICAgICAgIAorNSAxIHBvc3RmaWVsZCAxIDAKKzUgMTQgI3RleHQgMCAxIAorICAgICAgICAKKzUgMSBwb3N0ZmllbGQgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgCis1IDEgcG9zdGZpZWxkIDEgMAorNCAxNSBnbyAwIDAKKzMgMTUgYW5jaG9yIDAgMAorMyAzICN0ZXh0IDAgMSAuCisyIDE1IHAgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKworMSAxNSBjYXJkIDAgMAorMSAxNCAjdGV4dCAwIDEgCisKKworMCAxNSB3bWwgMCAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC93YXAueG1sLnJkciBiL2xpYnhtbDIvcmVzdWx0L3dhcC54bWwucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY4NjczODIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC93YXAueG1sLnJkcgpAQCAtMCwwICsxLDcwIEBACiswIDEwIHdtbCAwIDAKKzAgOCAjY29tbWVudCAwIDEgIChDKSAxOTk5LCAyMDAwIFdBUCBGb3J1bSBMdGQuICBBbGwgcmlnaHRzIHJlc2VydmVkIAorMCAxIHdtbCAwIDAKKzEgMTQgI3RleHQgMCAxIAorCisxIDEgY2FyZCAwIDAKKzIgMTQgI3RleHQgMCAxIAorCisyIDEgb25ldmVudCAwIDAKKzMgMTQgI3RleHQgMCAxIAorCiszIDEgZ28gMCAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgCis0IDEgcG9zdGZpZWxkIDEgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAgIAorNCAxIHBvc3RmaWVsZCAxIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgICAKKzQgMSBwb3N0ZmllbGQgMSAwCis0IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgCis0IDEgcG9zdGZpZWxkIDEgMAorNCAxNCAjdGV4dCAwIDEgCisgICAgICAgIAorNCAxIHBvc3RmaWVsZCAxIDAKKzQgMTQgI3RleHQgMCAxIAorICAgICAgICAKKzQgMSBwb3N0ZmllbGQgMSAwCis0IDE0ICN0ZXh0IDAgMSAKKworMyAxNSBnbyAwIDAKKzMgMTQgI3RleHQgMCAxIAorCisyIDE1IG9uZXZlbnQgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKworMiAxIHAgMCAwCiszIDMgI3RleHQgMCAxIElmIGF1dG9tYXRpYyB0ZXN0aW5nIGZhaWxlZCwgc2VsZWN0IAorMyAxIGFuY2hvciAwIDAKKzQgMyAjdGV4dCAwIDEgRmFpbGVkCis0IDEgZ28gMCAwCis1IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgCis1IDEgcG9zdGZpZWxkIDEgMAorNSAxIHBvc3RmaWVsZCAxIDAKKzUgMTQgI3RleHQgMCAxIAorICAgICAgICAKKzUgMSBwb3N0ZmllbGQgMSAwCis1IDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgCis1IDEgcG9zdGZpZWxkIDEgMAorNSAxNCAjdGV4dCAwIDEgCisgICAgICAgIAorNSAxIHBvc3RmaWVsZCAxIDAKKzUgMTQgI3RleHQgMCAxIAorICAgICAgICAKKzUgMSBwb3N0ZmllbGQgMSAwCis0IDE1IGdvIDAgMAorMyAxNSBhbmNob3IgMCAwCiszIDMgI3RleHQgMCAxIC4KKzIgMTUgcCAwIDAKKzIgMTQgI3RleHQgMCAxIAorCisxIDE1IGNhcmQgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKworCiswIDE1IHdtbCAwIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3dhcC54bWwuc2F4IGIvbGlieG1sMi9yZXN1bHQvd2FwLnhtbC5zYXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2E4OWU3MAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3dhcC54bWwuc2F4CkBAIC0wLDAgKzEsODYgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLmludGVybmFsU3Vic2V0KHdtbCwgLS8vV0FQRk9SVU0vL0RURCBXTUwgMS4xLy9FTiwgaHR0cDovL2Rhcmsud2FwaXQuY29tL3Zzd2FwL3Rlc3RzL3dhcC9EVEQvd21sMTEuZHRkKQorU0FYLmV4dGVybmFsU3Vic2V0KHdtbCwgLS8vV0FQRk9SVU0vL0RURCBXTUwgMS4xLy9FTiwgaHR0cDovL2Rhcmsud2FwaXQuY29tL3Zzd2FwL3Rlc3RzL3dhcC9EVEQvd21sMTEuZHRkKQorU0FYLmNvbW1lbnQoIChDKSAxOTk5LCAyMDAwIFdBUCBGb3J1bSBMdGQuICBBbGwgcmlnaHRzIHJlc2VydmVkICkKK1NBWC5zdGFydEVsZW1lbnQod21sKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguc3RhcnRFbGVtZW50KGNhcmQsIGlkPSdjYXJkMScpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5zdGFydEVsZW1lbnQob25ldmVudCwgdHlwZT0nb25lbnRlcmZvcndhcmQnKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguc3RhcnRFbGVtZW50KGdvLCBocmVmPScvdnN3YXAvcnVuL3Jlc3VsdC5lbWwnKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5zdGFydEVsZW1lbnQocG9zdGZpZWxkLCBuYW1lPSd2YXInLCB2YWx1ZT0nJHRlc3QnKQorU0FYLmVuZEVsZW1lbnQocG9zdGZpZWxkKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5zdGFydEVsZW1lbnQocG9zdGZpZWxkLCBuYW1lPSd2JywgdmFsdWU9J2RhcmsnKQorU0FYLmVuZEVsZW1lbnQocG9zdGZpZWxkKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5zdGFydEVsZW1lbnQocG9zdGZpZWxkLCBuYW1lPSd0cycsIHZhbHVlPScwMDAzJykKK1NBWC5lbmRFbGVtZW50KHBvc3RmaWVsZCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAsIDkpCitTQVguc3RhcnRFbGVtZW50KHBvc3RmaWVsZCwgbmFtZT0ndHAnLCB2YWx1ZT0nd21sL3N0YXRlL3ZhcmlhYmxlcy9wYXJzaW5nLzEnKQorU0FYLmVuZEVsZW1lbnQocG9zdGZpZWxkKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5zdGFydEVsZW1lbnQocG9zdGZpZWxkLCBuYW1lPSd0aScsIHZhbHVlPScxJykKK1NBWC5lbmRFbGVtZW50KHBvc3RmaWVsZCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAsIDkpCitTQVguc3RhcnRFbGVtZW50KHBvc3RmaWVsZCwgbmFtZT0nZXhwZWN0ZWQnLCB2YWx1ZT0ndmFyOnBhc3MnKQorU0FYLmVuZEVsZW1lbnQocG9zdGZpZWxkKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguZW5kRWxlbWVudChnbykKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmVuZEVsZW1lbnQob25ldmVudCkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoSWYgYXV0b21hdGljIHRlc3RpbmcgZmFpbGVkLCBzLCAzNikKK1NBWC5zdGFydEVsZW1lbnQoYW5jaG9yKQorU0FYLmNoYXJhY3RlcnMoRmFpbGVkLCA2KQorU0FYLnN0YXJ0RWxlbWVudChnbywgaHJlZj0nL3Zzd2FwL3J1bi9yZXN1bHQuZW1sJykKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAsIDkpCitTQVguc3RhcnRFbGVtZW50KHBvc3RmaWVsZCwgbmFtZT0nU1VCTUlUJywgdmFsdWU9J05vJykKK1NBWC5lbmRFbGVtZW50KHBvc3RmaWVsZCkKK1NBWC5zdGFydEVsZW1lbnQocG9zdGZpZWxkLCBuYW1lPSd2JywgdmFsdWU9J2RhcmsnKQorU0FYLmVuZEVsZW1lbnQocG9zdGZpZWxkKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5zdGFydEVsZW1lbnQocG9zdGZpZWxkLCBuYW1lPSd0cycsIHZhbHVlPScwMDAzJykKK1NBWC5lbmRFbGVtZW50KHBvc3RmaWVsZCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAsIDkpCitTQVguc3RhcnRFbGVtZW50KHBvc3RmaWVsZCwgbmFtZT0ndHAnLCB2YWx1ZT0nd21sL3N0YXRlL3ZhcmlhYmxlcy9wYXJzaW5nLzEnKQorU0FYLmVuZEVsZW1lbnQocG9zdGZpZWxkKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5zdGFydEVsZW1lbnQocG9zdGZpZWxkLCBuYW1lPSd0aScsIHZhbHVlPScxJykKK1NBWC5lbmRFbGVtZW50KHBvc3RmaWVsZCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAsIDkpCitTQVguc3RhcnRFbGVtZW50KHBvc3RmaWVsZCwgbmFtZT0nZXhwZWN0ZWQnLCB2YWx1ZT0ndmFyOnBhc3MnKQorU0FYLmVuZEVsZW1lbnQocG9zdGZpZWxkKQorU0FYLmVuZEVsZW1lbnQoZ28pCitTQVguZW5kRWxlbWVudChhbmNob3IpCitTQVguY2hhcmFjdGVycyguLCAxKQorU0FYLmVuZEVsZW1lbnQocCkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmVuZEVsZW1lbnQoY2FyZCkKK1NBWC5jaGFyYWN0ZXJzKAorCissIDIpCitTQVguZW5kRWxlbWVudCh3bWwpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvd2FwLnhtbC5zYXgyIGIvbGlieG1sMi9yZXN1bHQvd2FwLnhtbC5zYXgyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZkNDBiMjUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC93YXAueG1sLnNheDIKQEAgLTAsMCArMSw4NyBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguaW50ZXJuYWxTdWJzZXQod21sLCAtLy9XQVBGT1JVTS8vRFREIFdNTCAxLjEvL0VOLCBodHRwOi8vZGFyay53YXBpdC5jb20vdnN3YXAvdGVzdHMvd2FwL0RURC93bWwxMS5kdGQpCitTQVguZXh0ZXJuYWxTdWJzZXQod21sLCAtLy9XQVBGT1JVTS8vRFREIFdNTCAxLjEvL0VOLCBodHRwOi8vZGFyay53YXBpdC5jb20vdnN3YXAvdGVzdHMvd2FwL0RURC93bWwxMS5kdGQpCitTQVguY29tbWVudCggKEMpIDE5OTksIDIwMDAgV0FQIEZvcnVtIEx0ZC4gIEFsbCByaWdodHMgcmVzZXJ2ZWQgKQorU0FYLnN0YXJ0RWxlbWVudE5zKHdtbCwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudE5zKGNhcmQsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGlkPSdjYXJkLi4uJywgNSkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudE5zKG9uZXZlbnQsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHR5cGU9J29uZW4uLi4nLCAxNCkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLnN0YXJ0RWxlbWVudE5zKGdvLCBOVUxMLCBOVUxMLCAwLCAxLCAwLCBocmVmPScvdnN3Li4uJywgMjEpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgLCA5KQorU0FYLnN0YXJ0RWxlbWVudE5zKHBvc3RmaWVsZCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbmFtZT0ndmFyIi4uLicsIDMsIHZhbHVlPSckdGVzLi4uJywgNSkKK1NBWC5lbmRFbGVtZW50TnMocG9zdGZpZWxkLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5zdGFydEVsZW1lbnROcyhwb3N0ZmllbGQsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG5hbWU9J3YiIHYuLi4nLCAxLCB2YWx1ZT0nZGFyay4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHBvc3RmaWVsZCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAsIDkpCitTQVguc3RhcnRFbGVtZW50TnMocG9zdGZpZWxkLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBuYW1lPSd0cyIgLi4uJywgMiwgdmFsdWU9JzAwMDMuLi4nLCA0KQorU0FYLmVuZEVsZW1lbnROcyhwb3N0ZmllbGQsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgLCA5KQorU0FYLnN0YXJ0RWxlbWVudE5zKHBvc3RmaWVsZCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbmFtZT0ndHAiIC4uLicsIDIsIHZhbHVlPSd3bWwvLi4uJywgMjkpCitTQVguZW5kRWxlbWVudE5zKHBvc3RmaWVsZCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAsIDkpCitTQVguc3RhcnRFbGVtZW50TnMocG9zdGZpZWxkLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBuYW1lPSd0aSIgLi4uJywgMiwgdmFsdWU9JzEiLz4uLi4nLCAxKQorU0FYLmVuZEVsZW1lbnROcyhwb3N0ZmllbGQsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgICAgICAgLCA5KQorU0FYLnN0YXJ0RWxlbWVudE5zKHBvc3RmaWVsZCwgTlVMTCwgTlVMTCwgMCwgMiwgMCwgbmFtZT0nZXhwZS4uLicsIDgsIHZhbHVlPSd2YXI6Li4uJywgOCkKK1NBWC5lbmRFbGVtZW50TnMocG9zdGZpZWxkLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguZW5kRWxlbWVudE5zKGdvLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguZW5kRWxlbWVudE5zKG9uZXZlbnQsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5zdGFydEVsZW1lbnROcyhwLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoSWYgYXV0b21hdGljIHRlc3RpbmcgZmFpbGVkLCBzLCAzNikKK1NBWC5zdGFydEVsZW1lbnROcyhhbmNob3IsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhGYWlsZWQsIDYpCitTQVguc3RhcnRFbGVtZW50TnMoZ28sIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGhyZWY9Jy92c3cuLi4nLCAyMSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAsIDkpCitTQVguc3RhcnRFbGVtZW50TnMocG9zdGZpZWxkLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBuYW1lPSdTVUJNLi4uJywgNiwgdmFsdWU9J05vIi8uLi4nLCAyKQorU0FYLmVuZEVsZW1lbnROcyhwb3N0ZmllbGQsIE5VTEwsIE5VTEwpCitTQVguc3RhcnRFbGVtZW50TnMocG9zdGZpZWxkLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBuYW1lPSd2Igordi4uLicsIDEsIHZhbHVlPSdkYXJrLi4uJywgNCkKK1NBWC5lbmRFbGVtZW50TnMocG9zdGZpZWxkLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5zdGFydEVsZW1lbnROcyhwb3N0ZmllbGQsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG5hbWU9J3RzIiAuLi4nLCAyLCB2YWx1ZT0nMDAwMy4uLicsIDQpCitTQVguZW5kRWxlbWVudE5zKHBvc3RmaWVsZCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAsIDkpCitTQVguc3RhcnRFbGVtZW50TnMocG9zdGZpZWxkLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBuYW1lPSd0cCIgLi4uJywgMiwgdmFsdWU9J3dtbC8uLi4nLCAyOSkKK1NBWC5lbmRFbGVtZW50TnMocG9zdGZpZWxkLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5zdGFydEVsZW1lbnROcyhwb3N0ZmllbGQsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIG5hbWU9J3RpIiAuLi4nLCAyLCB2YWx1ZT0nMSIvPi4uLicsIDEpCitTQVguZW5kRWxlbWVudE5zKHBvc3RmaWVsZCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICAgICAsIDkpCitTQVguc3RhcnRFbGVtZW50TnMocG9zdGZpZWxkLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBuYW1lPSdleHBlLi4uJywgOCwgdmFsdWU9J3ZhcjouLi4nLCA4KQorU0FYLmVuZEVsZW1lbnROcyhwb3N0ZmllbGQsIE5VTEwsIE5VTEwpCitTQVguZW5kRWxlbWVudE5zKGdvLCBOVUxMLCBOVUxMKQorU0FYLmVuZEVsZW1lbnROcyhhbmNob3IsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycyguLCAxKQorU0FYLmVuZEVsZW1lbnROcyhwLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguZW5kRWxlbWVudE5zKGNhcmQsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKworLCAyKQorU0FYLmVuZEVsZW1lbnROcyh3bWwsIE5VTEwsIE5VTEwpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvd2luYmxhbmtzLnhtbCBiL2xpYnhtbDIvcmVzdWx0L3dpbmJsYW5rcy54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDA0NGFhMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3dpbmJsYW5rcy54bWwKQEAgLTAsMCArMSw2IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxhPgorICAgIDxCPgorICAgICAgICA8Qy8+ICAgCis8L0I+Cis8L2E+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC93aW5ibGFua3MueG1sLnJkZSBiL2xpYnhtbDIvcmVzdWx0L3dpbmJsYW5rcy54bWwucmRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJmNmE1ZDMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC93aW5ibGFua3MueG1sLnJkZQpAQCAtMCwwICsxLDEzIEBACiswIDEgYSAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAgIAorMSAxIEIgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAgICAgCisyIDEgQyAxIDAKKzIgMTQgI3RleHQgMCAxICAgIAorCisxIDE1IEIgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKworMCAxNSBhIDAgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvd2luYmxhbmtzLnhtbC5yZHIgYi9saWJ4bWwyL3Jlc3VsdC93aW5ibGFua3MueG1sLnJkcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZjZhNWQzCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvd2luYmxhbmtzLnhtbC5yZHIKQEAgLTAsMCArMSwxMyBAQAorMCAxIGEgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzEgMSBCIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgICAgIAorMiAxIEMgMSAwCisyIDE0ICN0ZXh0IDAgMSAgICAKKworMSAxNSBCIDAgMAorMSAxNCAjdGV4dCAwIDEgCisKKzAgMTUgYSAwIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3dpbmJsYW5rcy54bWwuc2F4IGIvbGlieG1sMi9yZXN1bHQvd2luYmxhbmtzLnhtbC5zYXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzJlMzlkNQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3dpbmJsYW5rcy54bWwuc2F4CkBAIC0wLDAgKzEsMTggQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLnN0YXJ0RWxlbWVudChhKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChCKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5zdGFydEVsZW1lbnQoQykKK1NBWC5lbmRFbGVtZW50KEMpCitTQVguY2hhcmFjdGVycyggICAsIDMpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5lbmRFbGVtZW50KEIpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5lbmRFbGVtZW50KGEpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvd2luYmxhbmtzLnhtbC5zYXgyIGIvbGlieG1sMi9yZXN1bHQvd2luYmxhbmtzLnhtbC5zYXgyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZlOWQ2OTMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC93aW5ibGFua3MueG1sLnNheDIKQEAgLTAsMCArMSwxOCBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguc3RhcnRFbGVtZW50TnMoYSwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhCLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCisgICAgICAgICwgOSkKK1NBWC5zdGFydEVsZW1lbnROcyhDLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmVuZEVsZW1lbnROcyhDLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoICAgLCAzKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguZW5kRWxlbWVudE5zKEIsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKywgMSkKK1NBWC5lbmRFbGVtZW50TnMoYSwgTlVMTCwgTlVMTCkKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC93bWwueG1sIGIvbGlieG1sMi9yZXN1bHQvd21sLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYTk2NTYyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvd21sLnhtbApAQCAtMCwwICsxLDEwIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhRE9DVFlQRSB3bWwgUFVCTElDICItLy9XQVBGT1JVTS8vRFREIFdNTCAxLjEvL0VOIiAiaHR0cDovL3d3dy53YXBmb3J1bS5vcmcvRFREL3dtbF8xLjEueG1sIj4KKzx3bWw+CisgIDxjYXJkIGlkPSJjYXJkMSIgdGl0bGU9IlJ1YnJpcXVlcyA3NTAwOCI+CisJPHA+CisJCTxhIGhyZWY9InJ1Ym1lbnUuYXNwP0NQPTc1MDA4JmFtcDtSQj0wMSI+Q2luJiN4RTk7bWE8L2E+PGJyLz4KKwk8L3A+CisKKzwvY2FyZD4KKzwvd21sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvd21sLnhtbC5yZGUgYi9saWJ4bWwyL3Jlc3VsdC93bWwueG1sLnJkZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYmIyOGQ0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvd21sLnhtbC5yZGUKQEAgLTAsMCArMSwyNCBAQAorMCAxMCB3bWwgMCAwCiswIDEgd21sIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSAxIGNhcmQgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKwkKKzIgMSBwIDAgMAorMyAxNCAjdGV4dCAwIDEgCisJCQorMyAxIGEgMCAwCis0IDMgI3RleHQgMCAxIENpbsOpbWEKKzMgMTUgYSAwIDAKKzMgMSBiciAxIDAKKzMgMTQgI3RleHQgMCAxIAorCQorMiAxNSBwIDAgMAorMiAxNCAjdGV4dCAwIDEgCisKKworMSAxNSBjYXJkIDAgMAorMSAxNCAjdGV4dCAwIDEgCisKKzAgMTUgd21sIDAgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvd21sLnhtbC5yZHIgYi9saWJ4bWwyL3Jlc3VsdC93bWwueG1sLnJkcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYmIyOGQ0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvd21sLnhtbC5yZHIKQEAgLTAsMCArMSwyNCBAQAorMCAxMCB3bWwgMCAwCiswIDEgd21sIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSAxIGNhcmQgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKwkKKzIgMSBwIDAgMAorMyAxNCAjdGV4dCAwIDEgCisJCQorMyAxIGEgMCAwCis0IDMgI3RleHQgMCAxIENpbsOpbWEKKzMgMTUgYSAwIDAKKzMgMSBiciAxIDAKKzMgMTQgI3RleHQgMCAxIAorCQorMiAxNSBwIDAgMAorMiAxNCAjdGV4dCAwIDEgCisKKworMSAxNSBjYXJkIDAgMAorMSAxNCAjdGV4dCAwIDEgCisKKzAgMTUgd21sIDAgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvd21sLnhtbC5zYXggYi9saWJ4bWwyL3Jlc3VsdC93bWwueG1sLnNheApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40Njk1OWJiCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQvd21sLnhtbC5zYXgKQEAgLTAsMCArMSwzMSBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguaW50ZXJuYWxTdWJzZXQod21sLCAtLy9XQVBGT1JVTS8vRFREIFdNTCAxLjEvL0VOLCBodHRwOi8vd3d3LndhcGZvcnVtLm9yZy9EVEQvd21sXzEuMS54bWwpCitTQVguZXh0ZXJuYWxTdWJzZXQod21sLCAtLy9XQVBGT1JVTS8vRFREIFdNTCAxLjEvL0VOLCBodHRwOi8vd3d3LndhcGZvcnVtLm9yZy9EVEQvd21sXzEuMS54bWwpCitTQVguc3RhcnRFbGVtZW50KHdtbCkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KGNhcmQsIGlkPSdjYXJkMScsIHRpdGxlPSdSdWJyaXF1ZXMgNzUwMDgnKQorU0FYLmNoYXJhY3RlcnMoCisJLCAyKQorU0FYLnN0YXJ0RWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoCisJCSwgMykKK1NBWC5zdGFydEVsZW1lbnQoYSwgaHJlZj0ncnVibWVudS5hc3A/Q1A9NzUwMDgmIzM4O1JCPTAxJykKK1NBWC5jaGFyYWN0ZXJzKENpbiwgMykKK1NBWC5jaGFyYWN0ZXJzKMOpLCAyKQorU0FYLmNoYXJhY3RlcnMobWEsIDIpCitTQVguZW5kRWxlbWVudChhKQorU0FYLnN0YXJ0RWxlbWVudChicikKK1NBWC5lbmRFbGVtZW50KGJyKQorU0FYLmNoYXJhY3RlcnMoCisJLCAyKQorU0FYLmVuZEVsZW1lbnQocCkKK1NBWC5jaGFyYWN0ZXJzKAorCissIDIpCitTQVguZW5kRWxlbWVudChjYXJkKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguZW5kRWxlbWVudCh3bWwpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQvd21sLnhtbC5zYXgyIGIvbGlieG1sMi9yZXN1bHQvd21sLnhtbC5zYXgyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJjODYxNDkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC93bWwueG1sLnNheDIKQEAgLTAsMCArMSwzMSBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguaW50ZXJuYWxTdWJzZXQod21sLCAtLy9XQVBGT1JVTS8vRFREIFdNTCAxLjEvL0VOLCBodHRwOi8vd3d3LndhcGZvcnVtLm9yZy9EVEQvd21sXzEuMS54bWwpCitTQVguZXh0ZXJuYWxTdWJzZXQod21sLCAtLy9XQVBGT1JVTS8vRFREIFdNTCAxLjEvL0VOLCBodHRwOi8vd3d3LndhcGZvcnVtLm9yZy9EVEQvd21sXzEuMS54bWwpCitTQVguc3RhcnRFbGVtZW50TnMod21sLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhjYXJkLCBOVUxMLCBOVUxMLCAwLCAyLCAwLCBpZD0nY2FyZC4uLicsIDUsIHRpdGxlPSdSdWJyLi4uJywgMTUpCitTQVguY2hhcmFjdGVycygKKwksIDIpCitTQVguc3RhcnRFbGVtZW50TnMocCwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorCQksIDMpCitTQVguc3RhcnRFbGVtZW50TnMoYSwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgaHJlZj0ncnVibS4uLicsIDMwKQorU0FYLmNoYXJhY3RlcnMoQ2luLCAzKQorU0FYLmNoYXJhY3RlcnMow6ksIDIpCitTQVguY2hhcmFjdGVycyhtYSwgMikKK1NBWC5lbmRFbGVtZW50TnMoYSwgTlVMTCwgTlVMTCkKK1NBWC5zdGFydEVsZW1lbnROcyhiciwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5lbmRFbGVtZW50TnMoYnIsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKwksIDIpCitTQVguZW5kRWxlbWVudE5zKHAsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKworLCAyKQorU0FYLmVuZEVsZW1lbnROcyhjYXJkLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCissIDEpCitTQVguZW5kRWxlbWVudE5zKHdtbCwgTlVMTCwgTlVMTCkKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC94aHRtbDEgYi9saWJ4bWwyL3Jlc3VsdC94aHRtbDEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmMwNmE5NQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3hodG1sMQpAQCAtMCwwICsxLDMwIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXN0cmljdC5kdGQiPgorPCEtLSAzLjEuMSAzLyAtLT4KKzxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiB4bWw6bGFuZz0iZW4iIGxhbmc9ImVuIj4KKyAgPGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+CisgICAgPHRpdGxlPlZpcnR1YWwgTGlicmFyeTwvdGl0bGU+CisgIDwvaGVhZD4KKyAgPCEtLSA0LjggLS0+CisgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKyAgLi4uIHVuZXNjYXBlZCBzY3JpcHQgJmx0OyBjb250ZW50IC4uLgorICA8L3NjcmlwdD4KKyAgPGJvZHk+CisgICAgPHA+TW92ZWQgdG8gPGEgaHJlZj0iaHR0cDovL2V4YW1wbGUub3JnLyI+ZXhhbXBsZS5vcmc8L2E+LjwvcD4KKyAgPC9ib2R5PgorICA8IS0tIEMyIC0tPgorICA8aW1nIHNyYz0iZm9vLmdpZiIgYWx0PSJmb28iIC8+CisgIDwhLS0gQzMgLS0+CisgIDxwPjwvcD4KKyAgPCEtLSBDNyAtLT4KKyAgPHAgbGFuZz0iZnIiIHhtbDpsYW5nPSJmciI+Y291Y291PC9wPgorICA8cCB4bWw6bGFuZz0iZnIiIGxhbmc9ImZyIj5zYWx1dDwvcD4KKyAgPCEtLSBDOCAtLT4KKyAgPHAgbmFtZT0iZnJhZ2lkIiBpZD0iZnJhZ2lkIj50ZXN0PC9wPgorICA8IS0tIDQuNSAtLT4KKyAgPGRsIGNvbXBhY3Q9ImNvbXBhY3QiPgorICA8ZHQ+SW50ZXJuZXQgRW5naW5lZXJpbmcgVGFzayBGb3JjZTwvZHQ+CisgIDxkZD5BbiBvcmdhbml6YXRpb24gd2hpY2ggZXN0YWJsaXNoZXMgdGVjaG5pY2FsIHN0YW5kYXJkcyBmb3IgdGhlIEludGVybmV0PC9kZD4KKyAgPC9kbD4KKworPC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQveGh0bWwxLnJkZSBiL2xpYnhtbDIvcmVzdWx0L3hodG1sMS5yZGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGQyY2MyNAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3hodG1sMS5yZGUKQEAgLTAsMCArMSw5NSBAQAorMCAxMCBodG1sIDAgMAorMCA4ICNjb21tZW50IDAgMSAgMy4xLjEgMy8gCiswIDEgaHRtbCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKzEgMSBoZWFkIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgICAgCisyIDEgdGl0bGUgMCAwCiszIDMgI3RleHQgMCAxIFZpcnR1YWwgTGlicmFyeQorMiAxNSB0aXRsZSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzEgMTUgaGVhZCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKzEgOCAjY29tbWVudCAwIDEgIDQuOCAKKzEgMTQgI3RleHQgMCAxIAorICAKKzEgMSBzY3JpcHQgMCAwCisyIDMgI3RleHQgMCAxIAorICAuLi4gdW5lc2NhcGVkIHNjcmlwdCA8IGNvbnRlbnQgLi4uCisgIAorMSAxNSBzY3JpcHQgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDEgYm9keSAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHAgMCAwCiszIDMgI3RleHQgMCAxIE1vdmVkIHRvIAorMyAxIGEgMCAwCis0IDMgI3RleHQgMCAxIGV4YW1wbGUub3JnCiszIDE1IGEgMCAwCiszIDMgI3RleHQgMCAxIC4KKzIgMTUgcCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzEgMTUgYm9keSAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKzEgOCAjY29tbWVudCAwIDEgIEMyIAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSAxIGltZyAxIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKzEgOCAjY29tbWVudCAwIDEgIEMzIAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSAxIHAgMSAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDggI2NvbW1lbnQgMCAxICBDNyAKKzEgMTQgI3RleHQgMCAxIAorICAKKzEgMSBwIDAgMAorMiAzICN0ZXh0IDAgMSBjb3Vjb3UKKzEgMTUgcCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKzEgMSBwIDAgMAorMiAzICN0ZXh0IDAgMSBzYWx1dAorMSAxNSBwIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSA4ICNjb21tZW50IDAgMSAgQzggCisxIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDEgcCAwIDAKKzIgMyAjdGV4dCAwIDEgdGVzdAorMSAxNSBwIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSA4ICNjb21tZW50IDAgMSAgNC41IAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSAxIGRsIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIGR0IDAgMAorMyAzICN0ZXh0IDAgMSBJbnRlcm5ldCBFbmdpbmVlcmluZyBUYXNrIEZvcmNlCisyIDE1IGR0IDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMiAxIGRkIDAgMAorMyAzICN0ZXh0IDAgMSBBbiBvcmdhbml6YXRpb24gd2hpY2ggZXN0YWJsaXNoZXMgdGVjaG5pY2FsIHN0YW5kYXJkcyBmb3IgdGhlIEludGVybmV0CisyIDE1IGRkIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMSAxNSBkbCAwIDAKKzEgMTQgI3RleHQgMCAxIAorCisKKzAgMTUgaHRtbCAwIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3hodG1sMS5yZHIgYi9saWJ4bWwyL3Jlc3VsdC94aHRtbDEucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRkMmNjMjQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC94aHRtbDEucmRyCkBAIC0wLDAgKzEsOTUgQEAKKzAgMTAgaHRtbCAwIDAKKzAgOCAjY29tbWVudCAwIDEgIDMuMS4xIDMvIAorMCAxIGh0bWwgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDEgaGVhZCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAgIAorMiAxIHRpdGxlIDAgMAorMyAzICN0ZXh0IDAgMSBWaXJ0dWFsIExpYnJhcnkKKzIgMTUgdGl0bGUgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDE1IGhlYWQgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDggI2NvbW1lbnQgMCAxICA0LjggCisxIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDEgc2NyaXB0IDAgMAorMiAzICN0ZXh0IDAgMSAKKyAgLi4uIHVuZXNjYXBlZCBzY3JpcHQgPCBjb250ZW50IC4uLgorICAKKzEgMTUgc2NyaXB0IDAgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSAxIGJvZHkgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBwIDAgMAorMyAzICN0ZXh0IDAgMSBNb3ZlZCB0byAKKzMgMSBhIDAgMAorNCAzICN0ZXh0IDAgMSBleGFtcGxlLm9yZworMyAxNSBhIDAgMAorMyAzICN0ZXh0IDAgMSAuCisyIDE1IHAgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDE1IGJvZHkgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDggI2NvbW1lbnQgMCAxICBDMiAKKzEgMTQgI3RleHQgMCAxIAorICAKKzEgMSBpbWcgMSAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDggI2NvbW1lbnQgMCAxICBDMyAKKzEgMTQgI3RleHQgMCAxIAorICAKKzEgMSBwIDEgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSA4ICNjb21tZW50IDAgMSAgQzcgCisxIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDEgcCAwIDAKKzIgMyAjdGV4dCAwIDEgY291Y291CisxIDE1IHAgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKyAgCisxIDEgcCAwIDAKKzIgMyAjdGV4dCAwIDEgc2FsdXQKKzEgMTUgcCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKzEgOCAjY29tbWVudCAwIDEgIEM4IAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSAxIHAgMCAwCisyIDMgI3RleHQgMCAxIHRlc3QKKzEgMTUgcCAwIDAKKzEgMTQgI3RleHQgMCAxIAorICAKKzEgOCAjY29tbWVudCAwIDEgIDQuNSAKKzEgMTQgI3RleHQgMCAxIAorICAKKzEgMSBkbCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBkdCAwIDAKKzMgMyAjdGV4dCAwIDEgSW50ZXJuZXQgRW5naW5lZXJpbmcgVGFzayBGb3JjZQorMiAxNSBkdCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzIgMSBkZCAwIDAKKzMgMyAjdGV4dCAwIDEgQW4gb3JnYW5pemF0aW9uIHdoaWNoIGVzdGFibGlzaGVzIHRlY2huaWNhbCBzdGFuZGFyZHMgZm9yIHRoZSBJbnRlcm5ldAorMiAxNSBkZCAwIDAKKzIgMTQgI3RleHQgMCAxIAorICAKKzEgMTUgZGwgMCAwCisxIDE0ICN0ZXh0IDAgMSAKKworCiswIDE1IGh0bWwgMCAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC94aHRtbDEuc2F4IGIvbGlieG1sMi9yZXN1bHQveGh0bWwxLnNheApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MjRmYTM4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQveGh0bWwxLnNheApAQCAtMCwwICsxLDEwMyBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguaW50ZXJuYWxTdWJzZXQoaHRtbCwgLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFN0cmljdC8vRU4sIGh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXN0cmljdC5kdGQpCitTQVguZXh0ZXJuYWxTdWJzZXQoaHRtbCwgLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFN0cmljdC8vRU4sIGh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXN0cmljdC5kdGQpCitTQVguY29tbWVudCggMy4xLjEgMy8gKQorU0FYLnN0YXJ0RWxlbWVudChodG1sLCB4bWw6bGFuZz0nZW4nLCBsYW5nPSdlbicpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChoZWFkKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudCh0aXRsZSkKK1NBWC5jaGFyYWN0ZXJzKFZpcnR1YWwgTGlicmFyeSwgMTUpCitTQVguZW5kRWxlbWVudCh0aXRsZSkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguZW5kRWxlbWVudChoZWFkKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5jb21tZW50KCA0LjggKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQoc2NyaXB0LCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnKQorU0FYLmNoYXJhY3RlcnMoCisgIC4uLiB1bmVzY2FwZWQgc2NyaXB0ICwgMjQpCitTQVguY2hhcmFjdGVycyg8LCAxKQorU0FYLmNoYXJhY3RlcnMoIGNvbnRlbnQgLi4uCisgICwgMTUpCitTQVguZW5kRWxlbWVudChzY3JpcHQpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChib2R5KQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoTW92ZWQgdG8gLCA5KQorU0FYLnN0YXJ0RWxlbWVudChhLCBocmVmPSdodHRwOi8vZXhhbXBsZS5vcmcvJykKK1NBWC5jaGFyYWN0ZXJzKGV4YW1wbGUub3JnLCAxMSkKK1NBWC5lbmRFbGVtZW50KGEpCitTQVguY2hhcmFjdGVycyguLCAxKQorU0FYLmVuZEVsZW1lbnQocCkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguZW5kRWxlbWVudChib2R5KQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5jb21tZW50KCBDMiApCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChpbWcsIHNyYz0nZm9vLmdpZicsIGFsdD0nZm9vJykKK1NBWC5lbmRFbGVtZW50KGltZykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguY29tbWVudCggQzMgKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQocCkKK1NBWC5lbmRFbGVtZW50KHApCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmNvbW1lbnQoIEM3ICkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KHAsIGxhbmc9J2ZyJykKK1NBWC5jaGFyYWN0ZXJzKGNvdWNvdSwgNikKK1NBWC5lbmRFbGVtZW50KHApCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwLCB4bWw6bGFuZz0nZnInKQorU0FYLmNoYXJhY3RlcnMoc2FsdXQsIDUpCitTQVguZW5kRWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5jb21tZW50KCBDOCApCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChwLCBuYW1lPSdmcmFnaWQnKQorU0FYLmNoYXJhY3RlcnModGVzdCwgNCkKK1NBWC5lbmRFbGVtZW50KHApCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmNvbW1lbnQoIDQuNSApCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudChkbCwgY29tcGFjdD0nJykKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50KGR0KQorU0FYLmNoYXJhY3RlcnMoSW50ZXJuZXQgRW5naW5lZXJpbmcgVGFzayBGb3JjLCAzMSkKK1NBWC5lbmRFbGVtZW50KGR0KQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQoZGQpCitTQVguY2hhcmFjdGVycyhBbiBvcmdhbml6YXRpb24gd2hpY2ggZXN0YWJsaXMsIDcwKQorU0FYLmVuZEVsZW1lbnQoZGQpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnQoZGwpCitTQVguY2hhcmFjdGVycygKKworLCAyKQorU0FYLmVuZEVsZW1lbnQoaHRtbCkKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC94aHRtbDEuc2F4MiBiL2xpYnhtbDIvcmVzdWx0L3hodG1sMS5zYXgyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OTUyYzgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC94aHRtbDEuc2F4MgpAQCAtMCwwICsxLDEwNCBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguaW50ZXJuYWxTdWJzZXQoaHRtbCwgLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFN0cmljdC8vRU4sIGh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXN0cmljdC5kdGQpCitTQVguZXh0ZXJuYWxTdWJzZXQoaHRtbCwgLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFN0cmljdC8vRU4sIGh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXN0cmljdC5kdGQpCitTQVguY29tbWVudCggMy4xLjEgMy8gKQorU0FYLnN0YXJ0RWxlbWVudE5zKGh0bWwsIE5VTEwsIE5VTEwsIDAsIDIsIDAsIHhtbDpsYW5nPSdlbiIgLi4uJywgMiwgbGFuZz0nZW4iPi4uLicsIDIpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKGhlYWQsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycygKKyAgICAsIDUpCitTQVguc3RhcnRFbGVtZW50TnModGl0bGUsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhWaXJ0dWFsIExpYnJhcnksIDE1KQorU0FYLmVuZEVsZW1lbnROcyh0aXRsZSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguZW5kRWxlbWVudE5zKGhlYWQsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmNvbW1lbnQoIDQuOCApCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHNjcmlwdCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgdHlwZT0ndGV4dC4uLicsIDE1KQorU0FYLmNoYXJhY3RlcnMoCisgIC4uLiB1bmVzY2FwZWQgc2NyaXB0ICwgMjQpCitTQVguY2hhcmFjdGVycyg8LCAxKQorU0FYLmNoYXJhY3RlcnMoIGNvbnRlbnQgLi4uCisgICwgMTUpCitTQVguZW5kRWxlbWVudE5zKHNjcmlwdCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMoYm9keSwgTlVMTCwgTlVMTCwgMCwgMCwgMCkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnROcyhwLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoTW92ZWQgdG8gLCA5KQorU0FYLnN0YXJ0RWxlbWVudE5zKGEsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGhyZWY9J2h0dHAuLi4nLCAxOSkKK1NBWC5jaGFyYWN0ZXJzKGV4YW1wbGUub3JnLCAxMSkKK1NBWC5lbmRFbGVtZW50TnMoYSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKC4sIDEpCitTQVguZW5kRWxlbWVudE5zKHAsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnROcyhib2R5LCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5jb21tZW50KCBDMiApCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKGltZywgTlVMTCwgTlVMTCwgMCwgMiwgMCwgc3JjPSdmb28uLi4uJywgNywgYWx0PSdmb28iLi4uJywgMykKK1NBWC5lbmRFbGVtZW50TnMoaW1nLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5jb21tZW50KCBDMyApCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHAsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguZW5kRWxlbWVudE5zKHAsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmNvbW1lbnQoIEM3ICkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMocCwgTlVMTCwgTlVMTCwgMCwgMSwgMCwgbGFuZz0nZnIiPi4uLicsIDIpCitTQVguY2hhcmFjdGVycyhjb3Vjb3UsIDYpCitTQVguZW5kRWxlbWVudE5zKHAsIE5VTEwsIE5VTEwpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHAsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIHhtbDpsYW5nPSdmciI+Li4uJywgMikKK1NBWC5jaGFyYWN0ZXJzKHNhbHV0LCA1KQorU0FYLmVuZEVsZW1lbnROcyhwLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5jb21tZW50KCBDOCApCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLnN0YXJ0RWxlbWVudE5zKHAsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIG5hbWU9J2ZyYWcuLi4nLCA2KQorU0FYLmNoYXJhY3RlcnModGVzdCwgNCkKK1NBWC5lbmRFbGVtZW50TnMocCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguY29tbWVudCggNC41ICkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMoZGwsIE5VTEwsIE5VTEwsIDAsIDEsIDAsIGNvbXBhY3Q9JyI+CisgLi4uJywgMCkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMoZHQsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhJbnRlcm5ldCBFbmdpbmVlcmluZyBUYXNrIEZvcmMsIDMxKQorU0FYLmVuZEVsZW1lbnROcyhkdCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguc3RhcnRFbGVtZW50TnMoZGQsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhBbiBvcmdhbml6YXRpb24gd2hpY2ggZXN0YWJsaXMsIDcwKQorU0FYLmVuZEVsZW1lbnROcyhkZCwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorICAsIDMpCitTQVguZW5kRWxlbWVudE5zKGRsLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisKKywgMikKK1NBWC5lbmRFbGVtZW50TnMoaHRtbCwgTlVMTCwgTlVMTCkKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC94aHRtbGNvbXAgYi9saWJ4bWwyL3Jlc3VsdC94aHRtbGNvbXAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGNlNjM0YwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3hodG1sY29tcApAQCAtMCwwICsxLDcgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXN0cmljdC5kdGQiPgorPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPgorICA8Ym9keT4KKyAgICA8aDE+PGFiYnI+YTwvYWJicj4gYjwvaDE+CisgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3hodG1sY29tcC5yZGUgYi9saWJ4bWwyL3Jlc3VsdC94aHRtbGNvbXAucmRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk3NTE3YjcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC94aHRtbGNvbXAucmRlCkBAIC0wLDAgKzEsMTkgQEAKKzAgMTAgaHRtbCAwIDAKKzAgMSBodG1sIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSAxIGJvZHkgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBoMSAwIDAKKzMgMSBhYmJyIDAgMAorNCAzICN0ZXh0IDAgMSBhCiszIDE1IGFiYnIgMCAwCiszIDMgI3RleHQgMCAxICBiCisyIDE1IGgxIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMSAxNSBib2R5IDAgMAorMSAxNCAjdGV4dCAwIDEgCisKKzAgMTUgaHRtbCAwIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3hodG1sY29tcC5yZHIgYi9saWJ4bWwyL3Jlc3VsdC94aHRtbGNvbXAucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk3NTE3YjcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC94aHRtbGNvbXAucmRyCkBAIC0wLDAgKzEsMTkgQEAKKzAgMTAgaHRtbCAwIDAKKzAgMSBodG1sIDAgMAorMSAxNCAjdGV4dCAwIDEgCisgIAorMSAxIGJvZHkgMCAwCisyIDE0ICN0ZXh0IDAgMSAKKyAgICAKKzIgMSBoMSAwIDAKKzMgMSBhYmJyIDAgMAorNCAzICN0ZXh0IDAgMSBhCiszIDE1IGFiYnIgMCAwCiszIDMgI3RleHQgMCAxICBiCisyIDE1IGgxIDAgMAorMiAxNCAjdGV4dCAwIDEgCisgIAorMSAxNSBib2R5IDAgMAorMSAxNCAjdGV4dCAwIDEgCisKKzAgMTUgaHRtbCAwIDAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3hodG1sY29tcC5zYXggYi9saWJ4bWwyL3Jlc3VsdC94aHRtbGNvbXAuc2F4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE3YTBkNjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC94aHRtbGNvbXAuc2F4CkBAIC0wLDAgKzEsMjMgQEAKK1NBWC5zZXREb2N1bWVudExvY2F0b3IoKQorU0FYLnN0YXJ0RG9jdW1lbnQoKQorU0FYLmludGVybmFsU3Vic2V0KGh0bWwsIC0vL1czQy8vRFREIFhIVE1MIDEuMCBTdHJpY3QvL0VOLCBodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS1zdHJpY3QuZHRkKQorU0FYLmV4dGVybmFsU3Vic2V0KGh0bWwsIC0vL1czQy8vRFREIFhIVE1MIDEuMCBTdHJpY3QvL0VOLCBodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS1zdHJpY3QuZHRkKQorU0FYLnN0YXJ0RWxlbWVudChodG1sKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnQoYm9keSkKK1NBWC5jaGFyYWN0ZXJzKAorICAgICwgNSkKK1NBWC5zdGFydEVsZW1lbnQoaDEpCitTQVguc3RhcnRFbGVtZW50KGFiYnIpCitTQVguY2hhcmFjdGVycyhhLCAxKQorU0FYLmVuZEVsZW1lbnQoYWJicikKK1NBWC5jaGFyYWN0ZXJzKCBiLCAyKQorU0FYLmVuZEVsZW1lbnQoaDEpCitTQVguY2hhcmFjdGVycygKKyAgLCAzKQorU0FYLmVuZEVsZW1lbnQoYm9keSkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmVuZEVsZW1lbnQoaHRtbCkKK1NBWC5lbmREb2N1bWVudCgpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC94aHRtbGNvbXAuc2F4MiBiL2xpYnhtbDIvcmVzdWx0L3hodG1sY29tcC5zYXgyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA4NWI3NzAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC94aHRtbGNvbXAuc2F4MgpAQCAtMCwwICsxLDIzIEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5pbnRlcm5hbFN1YnNldChodG1sLCAtLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiwgaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCkKK1NBWC5leHRlcm5hbFN1YnNldChodG1sLCAtLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiwgaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCkKK1NBWC5zdGFydEVsZW1lbnROcyhodG1sLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5zdGFydEVsZW1lbnROcyhib2R5LCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmNoYXJhY3RlcnMoCisgICAgLCA1KQorU0FYLnN0YXJ0RWxlbWVudE5zKGgxLCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLnN0YXJ0RWxlbWVudE5zKGFiYnIsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhhLCAxKQorU0FYLmVuZEVsZW1lbnROcyhhYmJyLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoIGIsIDIpCitTQVguZW5kRWxlbWVudE5zKGgxLCBOVUxMLCBOVUxMKQorU0FYLmNoYXJhY3RlcnMoCisgICwgMykKK1NBWC5lbmRFbGVtZW50TnMoYm9keSwgTlVMTCwgTlVMTCkKK1NBWC5jaGFyYWN0ZXJzKAorLCAxKQorU0FYLmVuZEVsZW1lbnROcyhodG1sLCBOVUxMLCBOVUxMKQorU0FYLmVuZERvY3VtZW50KCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3htbDEgYi9saWJ4bWwyL3Jlc3VsdC94bWwxCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQzMmY1NmMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC94bWwxCkBAIC0wLDAgKzEsNyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IURPQ1RZUEUgdGVzdCBbCis8IUVOVElUWSBleGFtcGxlICI8cD5BbiBhbXBlcnNhbmQgKCYjMzg7IzM4OykgbWF5IGJlIGVzY2FwZWQKKyBudW1lcmljYWxseSAoJiMzODsjMzg7IzM4Oykgb3Igd2l0aCBhIGdlbmVyYWwgZW50aXR5CisgICgmYW1wO2FtcDspLjwvcD4iPgorXT4KKzx0ZXN0PiZleGFtcGxlOzwvdGVzdD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3htbDEucmRlIGIvbGlieG1sMi9yZXN1bHQveG1sMS5yZGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWNkNjE1NAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3htbDEucmRlCkBAIC0wLDAgKzEsOCBAQAorMCAxMCB0ZXN0IDAgMAorMCAxIHRlc3QgMCAwCisxIDEgcCAwIDAKKzIgMyAjdGV4dCAwIDEgQW4gYW1wZXJzYW5kICgmKSBtYXkgYmUgZXNjYXBlZAorIG51bWVyaWNhbGx5ICgmIzM4Oykgb3Igd2l0aCBhIGdlbmVyYWwgZW50aXR5CisgICgmYW1wOykuCisxIDE1IHAgMCAwCiswIDE1IHRlc3QgMCAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC94bWwxLnJkciBiL2xpYnhtbDIvcmVzdWx0L3htbDEucmRyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjljOWI5NDMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC94bWwxLnJkcgpAQCAtMCwwICsxLDQgQEAKKzAgMTAgdGVzdCAwIDAKKzAgMSB0ZXN0IDAgMAorMSA1IGV4YW1wbGUgMCAwCiswIDE1IHRlc3QgMCAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC94bWwxLnNheCBiL2xpYnhtbDIvcmVzdWx0L3htbDEuc2F4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEzZjg4MWIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC94bWwxLnNheApAQCAtMCwwICsxLDIzIEBACitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5pbnRlcm5hbFN1YnNldCh0ZXN0LCAsICkKK1NBWC5lbnRpdHlEZWNsKGV4YW1wbGUsIDEsIChudWxsKSwgKG51bGwpLCA8cD5BbiBhbXBlcnNhbmQgKCYjMzg7KSBtYXkgYmUgZXNjYXBlZAorIG51bWVyaWNhbGx5ICgmIzM4OyMzODspIG9yIHdpdGggYSBnZW5lcmFsIGVudGl0eQorICAoJmFtcDthbXA7KS48L3A+KQorU0FYLmdldEVudGl0eShleGFtcGxlKQorU0FYLmV4dGVybmFsU3Vic2V0KHRlc3QsICwgKQorU0FYLnN0YXJ0RWxlbWVudCh0ZXN0KQorU0FYLmdldEVudGl0eShleGFtcGxlKQorU0FYLnN0YXJ0RWxlbWVudChwKQorU0FYLmNoYXJhY3RlcnMoQW4gYW1wZXJzYW5kICgsIDE0KQorU0FYLmNoYXJhY3RlcnMoJiwgMSkKK1NBWC5jaGFyYWN0ZXJzKCkgbWF5IGJlIGVzY2FwZWQKKyBudW1lcmljYWxseSAsIDMxKQorU0FYLmNoYXJhY3RlcnMoJiwgMSkKK1NBWC5jaGFyYWN0ZXJzKCMzODspIG9yIHdpdGggYSBnZW5lcmFsIGVudGl0eSwgMzQpCitTQVguY2hhcmFjdGVycygmLCAxKQorU0FYLmNoYXJhY3RlcnMoYW1wOykuLCA2KQorU0FYLmVuZEVsZW1lbnQocCkKK1NBWC5yZWZlcmVuY2UoZXhhbXBsZSkKK1NBWC5lbmRFbGVtZW50KHRlc3QpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQveG1sMS5zYXgyIGIvbGlieG1sMi9yZXN1bHQveG1sMS5zYXgyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdiMjIwZjIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC94bWwxLnNheDIKQEAgLTAsMCArMSwyMyBAQAorU0FYLnNldERvY3VtZW50TG9jYXRvcigpCitTQVguc3RhcnREb2N1bWVudCgpCitTQVguaW50ZXJuYWxTdWJzZXQodGVzdCwgLCApCitTQVguZW50aXR5RGVjbChleGFtcGxlLCAxLCAobnVsbCksIChudWxsKSwgPHA+QW4gYW1wZXJzYW5kICgmIzM4OykgbWF5IGJlIGVzY2FwZWQKKyBudW1lcmljYWxseSAoJiMzODsjMzg7KSBvciB3aXRoIGEgZ2VuZXJhbCBlbnRpdHkKKyAgKCZhbXA7YW1wOykuPC9wPikKK1NBWC5nZXRFbnRpdHkoZXhhbXBsZSkKK1NBWC5leHRlcm5hbFN1YnNldCh0ZXN0LCAsICkKK1NBWC5zdGFydEVsZW1lbnROcyh0ZXN0LCBOVUxMLCBOVUxMLCAwLCAwLCAwKQorU0FYLmdldEVudGl0eShleGFtcGxlKQorU0FYLnN0YXJ0RWxlbWVudE5zKHAsIE5VTEwsIE5VTEwsIDAsIDAsIDApCitTQVguY2hhcmFjdGVycyhBbiBhbXBlcnNhbmQgKCwgMTQpCitTQVguY2hhcmFjdGVycygmLCAxKQorU0FYLmNoYXJhY3RlcnMoKSBtYXkgYmUgZXNjYXBlZAorIG51bWVyaWNhbGx5ICwgMzEpCitTQVguY2hhcmFjdGVycygmLCAxKQorU0FYLmNoYXJhY3RlcnMoIzM4Oykgb3Igd2l0aCBhIGdlbmVyYWwgZW50aXR5LCAzNCkKK1NBWC5jaGFyYWN0ZXJzKCYsIDEpCitTQVguY2hhcmFjdGVycyhhbXA7KS4sIDYpCitTQVguZW5kRWxlbWVudE5zKHAsIE5VTEwsIE5VTEwpCitTQVgucmVmZXJlbmNlKGV4YW1wbGUpCitTQVguZW5kRWxlbWVudE5zKHRlc3QsIE5VTEwsIE5VTEwpCitTQVguZW5kRG9jdW1lbnQoKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQveG1sMiBiL2xpYnhtbDIvcmVzdWx0L3htbDIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjI2YjM1OAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3htbDIKQEAgLTAsMCArMSw4IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhRE9DVFlQRSB0ZXN0IFsKKzwhRUxFTUVOVCB0ZXN0ICgjUENEQVRBKT4KKzwhRU5USVRZICUgeHggIiYjMzc7eno7Ij4KKzwhRU5USVRZICUgenogJyYjNjA7IUVOVElUWSB0cmlja3kgImVycm9yLXByb25lIiA+Jz4KKzwhRU5USVRZIHRyaWNreSAiZXJyb3ItcHJvbmUiPgorXT4KKzx0ZXN0PlRoaXMgc2FtcGxlIHNob3dzIGEgJnRyaWNreTsgbWV0aG9kLjwvdGVzdD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3htbDIucmRlIGIvbGlieG1sMi9yZXN1bHQveG1sMi5yZGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2ZkZjIxNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3htbDIucmRlCkBAIC0wLDAgKzEsNCBAQAorMCAxMCB0ZXN0IDAgMAorMCAxIHRlc3QgMCAwCisxIDMgI3RleHQgMCAxIFRoaXMgc2FtcGxlIHNob3dzIGEgZXJyb3ItcHJvbmUgbWV0aG9kLgorMCAxNSB0ZXN0IDAgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQveG1sMi5yZHIgYi9saWJ4bWwyL3Jlc3VsdC94bWwyLnJkcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNWRjZTJhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQveG1sMi5yZHIKQEAgLTAsMCArMSw2IEBACiswIDEwIHRlc3QgMCAwCiswIDEgdGVzdCAwIDAKKzEgMyAjdGV4dCAwIDEgVGhpcyBzYW1wbGUgc2hvd3MgYSAKKzEgNSB0cmlja3kgMCAwCisxIDMgI3RleHQgMCAxICBtZXRob2QuCiswIDE1IHRlc3QgMCAwCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC94bWwyLnNheCBiL2xpYnhtbDIvcmVzdWx0L3htbDIuc2F4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE0MWFjY2QKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC94bWwyLnNheApAQCAtMCwwICsxLDE4IEBACit4bWxTQVhVc2VyUGFyc2VGaWxlIHJldHVybmVkIGVycm9yIDI3CitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5pbnRlcm5hbFN1YnNldCh0ZXN0LCAsICkKK1NBWC5lbGVtZW50RGVjbCh0ZXN0LCAzLCAuLi4pCitTQVguZW50aXR5RGVjbCh4eCwgNCwgKG51bGwpLCAobnVsbCksICV6ejspCitTQVguZ2V0UGFyYW1ldGVyRW50aXR5KHh4KQorU0FYLmVudGl0eURlY2woenosIDQsIChudWxsKSwgKG51bGwpLCA8IUVOVElUWSB0cmlja3kgImVycm9yLXByb25lIiA+KQorU0FYLmdldFBhcmFtZXRlckVudGl0eSh6eikKK1NBWC5nZXRQYXJhbWV0ZXJFbnRpdHkoeHgpCitTQVguZXJyb3I6IFBFUmVmZXJlbmNlOiAleHg7IG5vdCBmb3VuZAorU0FYLmNoYXJhY3RlcnMoVGhpcyBzYW1wbGUgc2hvd3MgYSAsIDIwKQorU0FYLmdldEVudGl0eSh0cmlja3kpCitTQVguZXJyb3I6IEVudGl0eSAndHJpY2t5JyBub3QgZGVmaW5lZAorU0FYLnJlZmVyZW5jZSh0cmlja3kpCitTQVguY2hhcmFjdGVycyggbWV0aG9kLiwgOCkKK1NBWC5lbmREb2N1bWVudCgpCit4bWxTQVhVc2VyUGFyc2VGaWxlIHJldHVybmVkIGVycm9yIDI3CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC94bWwyLnNheDIgYi9saWJ4bWwyL3Jlc3VsdC94bWwyLnNheDIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTQxYWNjZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3htbDIuc2F4MgpAQCAtMCwwICsxLDE4IEBACit4bWxTQVhVc2VyUGFyc2VGaWxlIHJldHVybmVkIGVycm9yIDI3CitTQVguc2V0RG9jdW1lbnRMb2NhdG9yKCkKK1NBWC5zdGFydERvY3VtZW50KCkKK1NBWC5pbnRlcm5hbFN1YnNldCh0ZXN0LCAsICkKK1NBWC5lbGVtZW50RGVjbCh0ZXN0LCAzLCAuLi4pCitTQVguZW50aXR5RGVjbCh4eCwgNCwgKG51bGwpLCAobnVsbCksICV6ejspCitTQVguZ2V0UGFyYW1ldGVyRW50aXR5KHh4KQorU0FYLmVudGl0eURlY2woenosIDQsIChudWxsKSwgKG51bGwpLCA8IUVOVElUWSB0cmlja3kgImVycm9yLXByb25lIiA+KQorU0FYLmdldFBhcmFtZXRlckVudGl0eSh6eikKK1NBWC5nZXRQYXJhbWV0ZXJFbnRpdHkoeHgpCitTQVguZXJyb3I6IFBFUmVmZXJlbmNlOiAleHg7IG5vdCBmb3VuZAorU0FYLmNoYXJhY3RlcnMoVGhpcyBzYW1wbGUgc2hvd3MgYSAsIDIwKQorU0FYLmdldEVudGl0eSh0cmlja3kpCitTQVguZXJyb3I6IEVudGl0eSAndHJpY2t5JyBub3QgZGVmaW5lZAorU0FYLnJlZmVyZW5jZSh0cmlja3kpCitTQVguY2hhcmFjdGVycyggbWV0aG9kLiwgOCkKK1NBWC5lbmREb2N1bWVudCgpCit4bWxTQVhVc2VyUGFyc2VGaWxlIHJldHVybmVkIGVycm9yIDI3CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC94bWxpZC9pZF9lcnIxLnhtbCBiL2xpYnhtbDIvcmVzdWx0L3htbGlkL2lkX2VycjEueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJlNDdhZmQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC94bWxpZC9pZF9lcnIxLnhtbApAQCAtMCwwICsxLDIgQEAKK09iamVjdCBpcyBhIE5vZGUgU2V0IDoKK1NldCBjb250YWlucyAwIG5vZGVzOgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQveG1saWQvaWRfZXJyMS54bWwuZXJyIGIvbGlieG1sMi9yZXN1bHQveG1saWQvaWRfZXJyMS54bWwuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjllZmViNDcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC94bWxpZC9pZF9lcnIxLnhtbC5lcnIKQEAgLTAsMCArMSwzIEBACisuL3Rlc3QveG1saWQvaWRfZXJyMS54bWw6MTogdmFsaWRpdHkgZXJyb3IgOiB4bWw6aWQgOiBhdHRyaWJ1dGUgdmFsdWUgMGJhciBpcyBub3QgYW4gTkNOYW1lCis8Zm9vIHhtbDppZD0iMGJhciIvPgorICAgICAgICAgICAgICAgICAgXgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQveG1saWQvaWRfZXJyMi54bWwgYi9saWJ4bWwyL3Jlc3VsdC94bWxpZC9pZF9lcnIyLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zM2VlODk2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9yZXN1bHQveG1saWQvaWRfZXJyMi54bWwKQEAgLTAsMCArMSw2IEBACitPYmplY3QgaXMgYSBOb2RlIFNldCA6CitTZXQgY29udGFpbnMgMSBub2RlczoKKzEgIEVMRU1FTlQgZm9vCisgICAgQVRUUklCVVRFIGlkCisgICAgICBURVhUCisgICAgICAgIGNvbnRlbnQ9YmFyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC94bWxpZC9pZF9lcnIyLnhtbC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC94bWxpZC9pZF9lcnIyLnhtbC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWU5NzRkNAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3htbGlkL2lkX2VycjIueG1sLmVycgpAQCAtMCwwICsxLDMgQEAKKy4vdGVzdC94bWxpZC9pZF9lcnIyLnhtbDozOiB2YWxpZGl0eSBlcnJvciA6IHhtbDppZCA6IGF0dHJpYnV0ZSB0eXBlIHNob3VsZCBiZSBJRAorPCFBVFRMSVNUIGZvbyB4bWw6aWQgQ0RBVEEgI0lNUExJRUQ+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3htbGlkL2lkX3RzdDEueG1sIGIvbGlieG1sMi9yZXN1bHQveG1saWQvaWRfdHN0MS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzNlZTg5NgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3htbGlkL2lkX3RzdDEueG1sCkBAIC0wLDAgKzEsNiBAQAorT2JqZWN0IGlzIGEgTm9kZSBTZXQgOgorU2V0IGNvbnRhaW5zIDEgbm9kZXM6CisxICBFTEVNRU5UIGZvbworICAgIEFUVFJJQlVURSBpZAorICAgICAgVEVYVAorICAgICAgICBjb250ZW50PWJhcgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQveG1saWQvaWRfdHN0MS54bWwuZXJyIGIvbGlieG1sMi9yZXN1bHQveG1saWQvaWRfdHN0MS54bWwuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC94bWxpZC9pZF90c3QxLnhtbC5lcnIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3htbGlkL2lkX3RzdDIueG1sIGIvbGlieG1sMi9yZXN1bHQveG1saWQvaWRfdHN0Mi54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODU2YTMyMAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3htbGlkL2lkX3RzdDIueG1sCkBAIC0wLDAgKzEsNiBAQAorT2JqZWN0IGlzIGEgTm9kZSBTZXQgOgorU2V0IGNvbnRhaW5zIDEgbm9kZXM6CisxICBFTEVNRU5UIG46Zm9vCisgICAgQVRUUklCVVRFIGlkCisgICAgICBURVhUCisgICAgICAgIGNvbnRlbnQ9YmFyCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC94bWxpZC9pZF90c3QyLnhtbC5lcnIgYi9saWJ4bWwyL3Jlc3VsdC94bWxpZC9pZF90c3QyLnhtbC5lcnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzkwZDQ4ZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3htbGlkL2lkX3RzdDIueG1sLmVycgpAQCAtMCwwICsxLDMgQEAKKy4vdGVzdC94bWxpZC9pZF90c3QyLnhtbDoxOiBuYW1lc3BhY2UgZXJyb3IgOiBOYW1lc3BhY2UgcHJlZml4IG4gb24gZm9vIGlzIG5vdCBkZWZpbmVkCis8bjpmb28geG1sOmlkPSJiYXIiLz4KKyAgICAgICAgICAgICAgICAgICBeCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Jlc3VsdC94bWxpZC9pZF90c3QzLnhtbCBiL2xpYnhtbDIvcmVzdWx0L3htbGlkL2lkX3RzdDMueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZkODg2NWMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC94bWxpZC9pZF90c3QzLnhtbApAQCAtMCwwICsxLDYgQEAKK09iamVjdCBpcyBhIE5vZGUgU2V0IDoKK1NldCBjb250YWlucyAxIG5vZGVzOgorMSAgRUxFTUVOVCBmOm86bworICAgIEFUVFJJQlVURSBpZAorICAgICAgVEVYVAorICAgICAgICBjb250ZW50PWJhcgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQveG1saWQvaWRfdHN0My54bWwuZXJyIGIvbGlieG1sMi9yZXN1bHQveG1saWQvaWRfdHN0My54bWwuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdhYTNlMWMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC94bWxpZC9pZF90c3QzLnhtbC5lcnIKQEAgLTAsMCArMSw2IEBACisuL3Rlc3QveG1saWQvaWRfdHN0My54bWw6MTogbmFtZXNwYWNlIGVycm9yIDogRmFpbGVkIHRvIHBhcnNlIFFOYW1lICdmOm86JworPGY6bzpvIHhtbDppZD0iYmFyIi8+CisgICAgXgorLi90ZXN0L3htbGlkL2lkX3RzdDMueG1sOjE6IG5hbWVzcGFjZSBlcnJvciA6IE5hbWVzcGFjZSBwcmVmaXggZiBvbiBvOm8gaXMgbm90IGRlZmluZWQKKzxmOm86byB4bWw6aWQ9ImJhciIvPgorICAgICAgICAgICAgICAgICAgIF4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvcmVzdWx0L3htbGlkL2lkX3RzdDQueG1sIGIvbGlieG1sMi9yZXN1bHQveG1saWQvaWRfdHN0NC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzNlZTg5NgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcmVzdWx0L3htbGlkL2lkX3RzdDQueG1sCkBAIC0wLDAgKzEsNiBAQAorT2JqZWN0IGlzIGEgTm9kZSBTZXQgOgorU2V0IGNvbnRhaW5zIDEgbm9kZXM6CisxICBFTEVNRU5UIGZvbworICAgIEFUVFJJQlVURSBpZAorICAgICAgVEVYVAorICAgICAgICBjb250ZW50PWJhcgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9yZXN1bHQveG1saWQvaWRfdHN0NC54bWwuZXJyIGIvbGlieG1sMi9yZXN1bHQveG1saWQvaWRfdHN0NC54bWwuZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM2Yzc4YzgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Jlc3VsdC94bWxpZC9pZF90c3Q0LnhtbC5lcnIKQEAgLTAsMCArMSwzIEBACisuL3Rlc3QveG1saWQvaWRfdHN0NC54bWw6MzogZWxlbWVudCBlcnI6IHZhbGlkaXR5IGVycm9yIDogSUQgYmFyIGFscmVhZHkgZGVmaW5lZAorPGVyciB4bWw6aWQ9ImJhciIvPgorICAgICAgICAgICAgICAgICBeCmRpZmYgLS1naXQgYS9saWJ4bWwyL3JuZ3BhcnNlci5jIGIvbGlieG1sMi9ybmdwYXJzZXIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjgxZTBjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9ybmdwYXJzZXIuYwpAQCAtMCwwICsxLDE1OTUgQEAKKy8qKgorICogcm5ncGFyc2VyLmM6IHBhcnNlciBmb3IgdGhlIFJlbGF4LU5HIGNvbXBhY3Qgc3ludGF4LgorICoKKyAqIEJhc2VkIG9uOgorICogICBSRUxBWCBORyBDb21wYWN0IFN5bnRheAorICogICBDb21taXR0ZWUgU3BlY2lmaWNhdGlvbiAyMSBOb3ZlbWJlciAyMDAyCisgKiAgIGh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvY29tbWl0dGVlcy9yZWxheC1uZy9jb21wYWN0LTIwMDIxMTIxLmh0bWwKKyAqCisgKiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisgKgorICogRGFuaWVsIFZlaWxsYXJkIDx2ZWlsbGFyZEByZWRoYXQuY29tPgorICovCisKKyNpbmNsdWRlIDxzdHJpbmcuaD4KKworI2luY2x1ZGUgPGxpYnhtbC9wYXJzZXIuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvcGFyc2VySW50ZXJuYWxzLmg+CisjaW5jbHVkZSA8bGlieG1sL3JlbGF4bmcuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvZGljdC5oPgorCisjZGVmaW5lIFRPRE8JCQkJCQkJCVwKKyAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwJCQkJXAorCSAgICAiVW5pbXBsZW1lbnRlZCBibG9jayBhdCAlczolZFxuIiwJCQkJXAorICAgICAgICAgICAgX19GSUxFX18sIF9fTElORV9fKTsKKworI2RlZmluZSBNQVhfVE9LRU4gMTAKKwordHlwZWRlZiBlbnVtIHsKKyAgICBDUk5HX05PTkUgPSAwLAorICAgIENSTkdfT1AgPSAxLAorICAgIENSTkdfS0VZV09SRCwKKyAgICBDUk5HX0lERU5USUZJRVIsCisgICAgQ1JOR19MSVRFUkFMX1NFR01FTlQsCisgICAgQ1JOR19DTkFNRSwKKyAgICBDUk5HX1FOQU1FLAorICAgIENSTkdfTlNOQU1FLAorICAgIENSTkdfRE9DVU1FTlRBVElPTgorfSB4bWxDUk5HVG9rVHlwZTsKKwordHlwZWRlZiBlbnVtIHsKKyAgICBDUk5HX09LQVkgPSAwLAorICAgIENSTkdfTUVNT1JZX0VSUk9SLAorICAgIENSTkdfSU5WQUxJRF9DSEFSX0VSUk9SLAorICAgIENSTkdfRU5EX0VSUk9SLAorICAgIENSTkdfRU5DT0RJTkdfRVJST1IKK30geG1sQ1JOR0Vycm9yOworCit0eXBlZGVmIGVudW0geworICAgIFhNTF9DUk5HX0VSUk9SID0gLTEsCisgICAgWE1MX0NSTkdfT0sgPSAwLAorICAgIFhNTF9DUk5HX0VPRiA9IDEKK30geG1sQ1JlbGF4TkdQYXJzZXJTdGF0ZTsKKwordHlwZWRlZiBzdHJ1Y3QgX3Rva2VuIF90b2tlbjsKK3R5cGVkZWYgX3Rva2VuICp0b2tlblB0cjsKK3N0cnVjdCBfdG9rZW4geworICAgIHhtbENSTkdUb2tUeXBlIHRva3R5cGU7CisgICAgaW50IHRva2xlbjsKKyAgICBjb25zdCB4bWxDaGFyICp0b2tlbjsKKyAgICBjb25zdCB4bWxDaGFyICpwcmVmaXg7Cit9OworCit0eXBlZGVmIHN0cnVjdCBfeG1sQ1JlbGF4TkdQYXJzZXJDdHh0IHhtbENSZWxheE5HUGFyc2VyQ3R4dDsKK3R5cGVkZWYgeG1sQ1JlbGF4TkdQYXJzZXJDdHh0ICp4bWxDUmVsYXhOR1BhcnNlckN0eHRQdHI7CitzdHJ1Y3QgX3htbENSZWxheE5HUGFyc2VyQ3R4dCB7CisgICAgdm9pZCAqdXNlckRhdGE7CQkJLyogdXNlciBzcGVjaWZpYyBkYXRhIGJsb2NrICovCisgICAgeG1sUmVsYXhOR1ZhbGlkaXR5RXJyb3JGdW5jIGVycm9yOwkvKiB0aGUgY2FsbGJhY2sgaW4gY2FzZSBvZiBlcnJvcnMgKi8KKyAgICB4bWxSZWxheE5HVmFsaWRpdHlXYXJuaW5nRnVuYyB3YXJuaW5nOy8qIHRoZSBjYWxsYmFjayBpbiBjYXNlIG9mIHdhcm5pbmcgKi8KKyAgICB4bWxSZWxheE5HVmFsaWRFcnIgZXJyOworCisgICAgY29uc3QgeG1sQ2hhciAqY29tcGFjdDsKKyAgICBjb25zdCB4bWxDaGFyICplbmQ7CisgICAgY29uc3QgeG1sQ2hhciAqY3VyOworICAgIGludCBpc0VsZW07CisgICAgaW50IGxpbmVubzsKKyAgICBjb25zdCB4bWxDaGFyICpsaW5lc3RhcnQ7CisgICAgY29uc3QgY2hhciAqZmlsZW5hbWU7CisKKyAgICBpbnQgIG5iVG9rZW5zOworICAgIGludCAgZmlyc3RUb2tlbjsKKyAgICBfdG9rZW4gdG9rZW5zW01BWF9UT0tFTl07CisgICAgaW50ICB0b3RhbFRva2VuOworCisgICAgeG1sQ1JlbGF4TkdQYXJzZXJTdGF0ZSBzdGF0ZTsKKworICAgIGludCAgICAgICAgICAgIG5iRXJyb3JzOworCisgICAgeG1sRG9jUHRyICAgICAgcmVzOwkJCS8qIHRoZSByZXN1bHQgKi8KKyAgICB4bWxOb2RlUHRyICAgICBpbnM7CQkJLyogdGhlIGN1cnJlbnQgaW5zZXJ0aW9uIG5vZGUgKi8KKworICAgIHhtbE5zUHRyICAgICAgIG5zRGVmOworICAgIHRva2VuUHRyIHRva2VuOworCisgICAgeG1sSGFzaFRhYmxlUHRyIG5hbWVzcGFjZXM7CisgICAgeG1sSGFzaFRhYmxlUHRyIGRhdGF0eXBlczsKKworICAgIC8qCisgICAgICogZGljdGlvbm5hcnkgYW5kIGtleXdvcmRzCisgICAgICovCisgICAgeG1sRGljdFB0ciAgICAgZGljdDsKKyAgICBjb25zdCB4bWxDaGFyICprZXlfYXR0cmlidXRlOworICAgIGNvbnN0IHhtbENoYXIgKmtleV9kZWZhdWx0OworICAgIGNvbnN0IHhtbENoYXIgKmtleV9kYXRhdHlwZXM7CisgICAgY29uc3QgeG1sQ2hhciAqa2V5X2RpdjsKKyAgICBjb25zdCB4bWxDaGFyICprZXlfZWxlbWVudDsKKyAgICBjb25zdCB4bWxDaGFyICprZXlfZW1wdHk7CisgICAgY29uc3QgeG1sQ2hhciAqa2V5X2V4dGVybmFsOworICAgIGNvbnN0IHhtbENoYXIgKmtleV9ncmFtbWFyOworICAgIGNvbnN0IHhtbENoYXIgKmtleV9pbmNsdWRlOworICAgIGNvbnN0IHhtbENoYXIgKmtleV9pbmhlcml0OworICAgIGNvbnN0IHhtbENoYXIgKmtleV9saXN0OworICAgIGNvbnN0IHhtbENoYXIgKmtleV9taXhlZDsKKyAgICBjb25zdCB4bWxDaGFyICprZXlfbmFtZXNwYWNlOworICAgIGNvbnN0IHhtbENoYXIgKmtleV9ub3RBbGxvd2VkOworICAgIGNvbnN0IHhtbENoYXIgKmtleV9wYXJlbnQ7CisgICAgY29uc3QgeG1sQ2hhciAqa2V5X3N0YXJ0OworICAgIGNvbnN0IHhtbENoYXIgKmtleV9zdHJpbmc7CisgICAgY29uc3QgeG1sQ2hhciAqa2V5X3RleHQ7CisgICAgY29uc3QgeG1sQ2hhciAqa2V5X3Rva2VuOworICAgIGNvbnN0IHhtbENoYXIgKmtleV9lcXVhbDsKKyAgICBjb25zdCB4bWxDaGFyICprZXlfb3JlcXVhbDsKKyAgICBjb25zdCB4bWxDaGFyICprZXlfYW5kZXF1YWw7CisgICAgY29uc3QgeG1sQ2hhciAqa2V5X2NvbWJpbmU7CisgICAgY29uc3QgeG1sQ2hhciAqa2V5X29yOworICAgIGNvbnN0IHhtbENoYXIgKmtleV9jb21tYTsKKyAgICBjb25zdCB4bWxDaGFyICprZXlfYW5kOworICAgIGNvbnN0IHhtbENoYXIgKmtleV9jaG9pY2U7CisgICAgY29uc3QgeG1sQ2hhciAqa2V5X2dyb3VwOworICAgIGNvbnN0IHhtbENoYXIgKmtleV9pbnRlcmxlYXZlOworICAgIGNvbnN0IHhtbENoYXIgKmtleV9yZWY7CisgICAgY29uc3QgeG1sQ2hhciAqa2V5X2RlZmluZTsKKworICAgIC8qIHJlc3VsdHMgKi8KKyAgICB4bWxEb2NQdHIgZG9jOwkvKiB0aGUgcmVzdWx0aW5nIGRvYyAqLworICAgIHhtbE5vZGVQdHIgaW5zZXJ0OwkvKiB0aGUgaW5zZXJ0aW9uIHBvaW50ICovCisgICAgeG1sQXR0clB0ciBhdHRyczsgICAvKiBwZW5kaW5nIGF0dHJpYnV0ZXMgKi8KK307CisKK3N0YXRpYyBjb25zdCB4bWxDaGFyICp4bWxDUmVsYXhOR0luaGVyaXQgPSBCQURfQ0FTVCAiSW5oZXJpdCBzdHJpbmciOworc3RhdGljIGNvbnN0IHhtbENoYXIgKnhtbENSZWxheE5HRGVmYXVsdCA9IEJBRF9DQVNUICJEZWZhdWx0IHN0cmluZyI7CisKKyNkZWZpbmUgQ1VSX0NIQVIobCkgeG1sWFBhdGhDdXJyZW50Q2hhcihjdHh0LCAmbCkKKy8qKgorICogSVNfQkxBTks6CisgKiBAYzogIGFuIFVOSUNPREUgdmFsdWUgKGludCkKKyAqCisgKiBNYWNybyB0byBjaGVjayB0aGUgZm9sbG93aW5nIHByb2R1Y3Rpb24gaW4gdGhlIFhNTCBzcGVjOgorICoKKyAqIFszXSBTIDo6PSAoI3gyMCB8ICN4OSB8ICN4RCB8ICN4QSkrCisgKi8KKyNpZm5kZWYgSVNfQkxBTksKKyNkZWZpbmUgSVNfQkxBTksoYykgKCgoYykgPT0gMHgyMCkgfHwgKChjKSA9PSAweDA5KSB8fCAoKGMpID09IDB4QSkgfHwJXAorICAgICAgICAgICAgICAgICAgICAgKChjKSA9PSAweDBEKSkKKyNlbmRpZgorI2RlZmluZSBJU19TRVBBUkFUT1IoYykgKCgoYykgPT0gMHgyMCkgfHwgKChjKSA9PSAweDA5KSB8fCAoKGMpID09IDB4QSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgKChjKSA9PSAweDBEKSB8fCAoYyA9PSAnIycpKQorCisjZGVmaW5lIENSTkdfRVJST1IwKFgpCQkJCQkJCVwKKyAgICB7IHhtbENSTkdFcnIoY3R4dCwgWCwgTlVMTCk7IHJldHVybigwKTsgfQorI2RlZmluZSBDUk5HX0VSUk9SKFgpCQkJCQkJCVwKKyAgICB7IHhtbENSTkdFcnIoY3R4dCwgWCwgTlVMTCk7IH0KKworI2RlZmluZSBDUk5HX01FTV9FUlJPUjAoKQkJCQkJCVwKKyAgICB7IHhtbENSTkdFcnIoY3R4dCwgQ1JOR19NRU1PUllfRVJST1IsIE5VTEwpOyByZXR1cm4oMCk7IH0KKyNkZWZpbmUgQ1JOR19NRU1fRVJST1IoKQkJCQkJCVwKKyAgICB7IHhtbENSTkdFcnIoY3R4dCwgQ1JOR19NRU1PUllfRVJST1IsIE5VTEwpOyB9CisKKyNkZWZpbmUgRVJST1Ioc3RyKSB4bWxDUk5HRXJyKGN0eHQsIDAsIHN0cik7CisKK3N0YXRpYyB2b2lkCit4bWxDUk5HRXJyKHhtbENSZWxheE5HUGFyc2VyQ3R4dFB0ciBjdHh0LCBpbnQgZXJyX25vLCBjb25zdCBjaGFyICplcnJfbXNnKSB7CisgICAgY29uc3QgeG1sQ2hhciAqY3VyOworICAgIHhtbENoYXIgYnVmZmVyWzE1MF07CisgICAgaW50IGksIGw7CisKKyAgICBpZiAoY3R4dCAhPSBOVUxMKSB7CisgICAgICAgIGlmIChjdHh0LT5maWxlbmFtZSAhPSBOVUxMKQorCSAgICBmcHJpbnRmKHN0ZGVyciwgIiVzOiVkICIsIGN0eHQtPmZpbGVuYW1lLCBjdHh0LT5saW5lbm8pOworICAgIH0KKyAgICBpZiAoZXJyX21zZyAhPSBOVUxMKSB7CisJZnByaW50ZihzdGRlcnIsICJlcnJvcjogJXNcbiIsIGVycl9tc2cpOworICAgIH0gZWxzZSBpZiAoZXJyX25vICE9IDApCisJZnByaW50ZihzdGRlcnIsICJlcnJvciAlZFxuIiwgZXJyX25vKTsKKyAgICBjdXIgPSBjdHh0LT5jdXI7CisgICAgd2hpbGUgKCgqY3VyICE9ICdcbicpICYmICgqY3VyICE9ICdccicpICYmIChjdHh0LT5jdXIgLSBjdXIgPCA4MCkpIGN1ci0tOworICAgIGwgPSBjdHh0LT5jdXIgLSBjdXI7CisgICAgY3VyKys7CisgICAgZm9yIChpID0gMDsgaSA8IDEwMDtpKyspIHsKKyAgICAgICAgaWYgKCgqY3VyID09ICdcbicpIHx8ICgqY3VyID09ICdccicpKSBicmVhazsKKyAgICAgICAgYnVmZmVyW2ldID0gKmN1cisrOworICAgIH0KKyAgICBidWZmZXJbaV0gPSAwOworICAgIGZwcmludGYoc3RkZXJyLCAiJXNcbiIsIGJ1ZmZlcik7CisgICAgZm9yIChpID0gMDsgaSA8IGw7aSsrKSBidWZmZXJbaV0gPSAnICc7CisgICAgYnVmZmVyW2krK10gPSAnXic7CisgICAgYnVmZmVyW2krK10gPSAwOworICAgIGZwcmludGYoc3RkZXJyLCAiJXNcbiIsIGJ1ZmZlcik7Cit9CisKKy8qKgorICogSVNfT1AKKyAqIEBjOiAgYW4gVU5JQ09ERSB2YWx1ZSAoaW50KQorICoKKyAqIE1hY3JvIHRvIGNoZWNrIGZvciBvcGVyYXRvciB2YWx1ZQorICovCisjaWZuZGVmIElTX09QCisjZGVmaW5lIElTX09QKGMpICgoKGMpID09ICcsJykgfHwgKChjKSA9PSAnJicpIHx8ICgoYykgPT0gJ3wnKSB8fAlcCisJCSAgKChjKSA9PSAnPycpIHx8ICgoYykgPT0gJy0nKSB8fCAoKGMpID09ICcqJykgfHwJXAorCQkgICgoYykgPT0gJ3snKSB8fCAoKGMpID09ICd9JykgfHwgKChjKSA9PSAnKCcpIHx8CVwKKwkJICAoKGMpID09ICcpJykgfHwgKChjKSA9PSAnKycpIHx8ICgoYykgPT0gJz0nKSB8fAlcCisJCSAgKChjKSA9PSAnOicpKQorI2VuZGlmCisKK3N0YXRpYyBpbnQKK3htbENSTkdJc0tleXdvcmQoeG1sQ1JlbGF4TkdQYXJzZXJDdHh0UHRyIGN0eHQsIGNvbnN0IHhtbENoYXIgKnN0cikgeworICAgIGlmICgoc3RyID09IGN0eHQtPmtleV9hdHRyaWJ1dGUpIHx8CisgICAgICAgIChzdHIgPT0gY3R4dC0+a2V5X2RlZmF1bHQpIHx8CisgICAgICAgIChzdHIgPT0gY3R4dC0+a2V5X2RhdGF0eXBlcykgfHwKKyAgICAgICAgKHN0ciA9PSBjdHh0LT5rZXlfZGl2KSB8fAorICAgICAgICAoc3RyID09IGN0eHQtPmtleV9lbGVtZW50KSB8fAorICAgICAgICAoc3RyID09IGN0eHQtPmtleV9lbXB0eSkgfHwKKyAgICAgICAgKHN0ciA9PSBjdHh0LT5rZXlfZXh0ZXJuYWwpIHx8CisgICAgICAgIChzdHIgPT0gY3R4dC0+a2V5X2dyYW1tYXIpIHx8CisgICAgICAgIChzdHIgPT0gY3R4dC0+a2V5X2luY2x1ZGUpIHx8CisgICAgICAgIChzdHIgPT0gY3R4dC0+a2V5X2luaGVyaXQpIHx8CisgICAgICAgIChzdHIgPT0gY3R4dC0+a2V5X2xpc3QpIHx8CisgICAgICAgIChzdHIgPT0gY3R4dC0+a2V5X21peGVkKSB8fAorICAgICAgICAoc3RyID09IGN0eHQtPmtleV9uYW1lc3BhY2UpIHx8CisgICAgICAgIChzdHIgPT0gY3R4dC0+a2V5X25vdEFsbG93ZWQpIHx8CisgICAgICAgIChzdHIgPT0gY3R4dC0+a2V5X3BhcmVudCkgfHwKKyAgICAgICAgKHN0ciA9PSBjdHh0LT5rZXlfc3RhcnQpIHx8CisgICAgICAgIChzdHIgPT0gY3R4dC0+a2V5X3N0cmluZykgfHwKKyAgICAgICAgKHN0ciA9PSBjdHh0LT5rZXlfdGV4dCkgfHwKKyAgICAgICAgKHN0ciA9PSBjdHh0LT5rZXlfdG9rZW4pKQorCXJldHVybigxKTsKKyAgICByZXR1cm4oMCk7CisKK30KKworLyoKKyAqIHhtbENSTkdOZXh0VG9rZW46CisgKiBjdHh0OiAgYSBjb21wYWN0IFJORyBwYXJzZXIgY29udGV4dAorICoKKyAqIFNjYW4gdGhlIHNjaGVtYSB0byBnZXQgdGhlIG5leHQgdG9rZW4KKyAqCisgKiBSZXR1cm4gMCBpZiBzdWNjZXNzIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KKworc3RhdGljIGludAoreG1sQ1JOR05leHRUb2tlbih4bWxDUmVsYXhOR1BhcnNlckN0eHRQdHIgY3R4dCkgeworICAgIGNvbnN0IHhtbENoYXIgKmN1cjsKKyAgICB0b2tlblB0ciB0b2tlbjsKKworICAgIGlmIChjdHh0ID09IE5VTEwpIHJldHVybigtMSk7CisgICAgaWYgKGN0eHQtPm5iVG9rZW5zID49IE1BWF9UT0tFTikgcmV0dXJuKC0xKTsKKyAgICB0b2tlbiA9ICYoY3R4dC0+dG9rZW5zWyhjdHh0LT5maXJzdFRva2VuICsgY3R4dC0+bmJUb2tlbnMpICUgTUFYX1RPS0VOXSk7CisgICAgdG9rZW4tPnRva3R5cGUgPSBDUk5HX05PTkU7CisKKyAgICBpZiAoY3R4dC0+Y3VyID09IE5VTEwpIHsKKyAgICAgICAgY3R4dC0+Y3VyID0gY3R4dC0+Y29tcGFjdDsKKyAgICB9CityZXRyeToKKyAgICBpZiAoY3R4dC0+Y3VyID49IGN0eHQtPmVuZCkgeworCWN0eHQtPnN0YXRlID0gWE1MX0NSTkdfRU9GOworCXJldHVybigtMSk7CisgICAgfQorICAgIHdoaWxlICgoY3R4dC0+Y3VyIDwgY3R4dC0+ZW5kKSAmJgorICAgICAgICAgICAoSVNfQkxBTksoKmN0eHQtPmN1cikpKSBjdHh0LT5jdXIrKzsKKyAgICBpZiAoY3R4dC0+Y3VyID49IGN0eHQtPmVuZCkgeworCWN0eHQtPnN0YXRlID0gWE1MX0NSTkdfRU9GOworCXJldHVybigtMSk7CisgICAgfQorICAgIGlmICgqY3R4dC0+Y3VyID09ICcjJykgeworICAgICAgICBjdXIgPSBjdHh0LT5jdXI7CisJY3VyKys7CisJd2hpbGUgKChjdXIgPCBjdHh0LT5lbmQpICYmICgqY3VyICE9ICdcbicpICYmICgqY3VyICE9ICdccicpKQorCSAgICBjdXIrKzsKKyAgICAgICAgY3R4dC0+Y3VyID0gY3VyOworCWdvdG8gcmV0cnk7CisgICAgfSBlbHNlIGlmICgqY3R4dC0+Y3VyID09ICciJykgeworICAgICAgICAvKiBzdHJpbmcsIGNoZWNrIGZvciAnIiIiJyAqLworCWN0eHQtPmN1cisrOworCWlmIChjdHh0LT5jdXIgPj0gY3R4dC0+ZW5kKSBnb3RvIGVvZjsKKwljdXIgPSBjdHh0LT5jdXI7CisgICAgICAgIGlmICgoY3R4dC0+ZW5kIC0gY3R4dC0+ZW5kID4gMikgJiYKKwkgICAgKCpjdXIgPT0gJyInKSAmJiAoY3VyWzFdID09ICciJykpIHsKKwkgICAgVE9ETworCX0gZWxzZSB7CisJICAgIHdoaWxlICgoY3VyIDwgY3R4dC0+ZW5kKSAmJiAoKmN1ciAhPSAnIicpKSBjdXIrKzsKKwkgICAgaWYgKGN1ciA+PSBjdHh0LT5lbmQpIGdvdG8gZW9mOworCSAgICB0b2tlbi0+dG9rbGVuID0gY3VyIC0gY3R4dC0+Y3VyOworCSAgICB0b2tlbi0+dG9rZW4gPSB4bWxEaWN0TG9va3VwKGN0eHQtPmRpY3QsIGN0eHQtPmN1ciwgdG9rZW4tPnRva2xlbik7CisJICAgIHRva2VuLT50b2t0eXBlID0gQ1JOR19MSVRFUkFMX1NFR01FTlQ7CisJICAgIHRva2VuLT5wcmVmaXggPSBOVUxMOworCSAgICBjdXIrKzsKKwkgICAgY3R4dC0+Y3VyID0gY3VyOworCX0KKyAgICB9IGVsc2UgaWYgKCpjdHh0LT5jdXIgPT0gJ1wnJykgeworICAgICAgICAvKiBzdHJpbmcsIGNoZWNrIGZvciAiJycnIiAqLworCVRPRE8KKyAgICB9IGVsc2UgaWYgKChJU19PUCgqY3R4dC0+Y3VyKSkgfHwgKCpjdHh0LT5jdXIgPT0gJzonKSkgeworICAgICAgICBjdXIgPSBjdHh0LT5jdXI7CisJY3VyKys7CisJaWYgKChjdXIgPCBjdHh0LT5lbmQpICYmCisJICAgICgoKCpjdXIgPT0gJz0nKSAmJgorCSAgICAgICgoKmN0eHQtPmN1ciA9PSAnfCcpIHx8ICgqY3R4dC0+Y3VyID09ICcmJykpKSB8fAorCSAgICAgKCgqY3VyID09ICcqJykgJiYgKCpjdHh0LT5jdXIgPT0gJzonKSkpKSB7CisJICAgIHRva2VuLT50b2tsZW4gPSAyOworCX0gZWxzZSB7CisJICAgIHRva2VuLT50b2tsZW4gPSAxOworCX0KKwl0b2tlbi0+dG9rZW4gPSB4bWxEaWN0TG9va3VwKGN0eHQtPmRpY3QsIGN0eHQtPmN1ciwgdG9rZW4tPnRva2xlbik7CisJdG9rZW4tPnRva3R5cGUgPSBDUk5HX09QOworCXRva2VuLT5wcmVmaXggPSBOVUxMOworCWN0eHQtPmN1ciArPSB0b2tlbi0+dG9rbGVuOworICAgIH0gZWxzZSB7CisgICAgICAgIGludCBlc2NhcGUgPSAwOworCisgICAgICAgIGN1ciA9IGN0eHQtPmN1cjsKKyAgICAgICAgaWYgKCpjdXIgPT0gJ1xcJykgeworCSAgICBlc2NhcGUgPSAxOworCSAgICBjdXIrKzsKKwkgICAgY3R4dC0+Y3VyKys7CisJfQorCXdoaWxlICgoY3VyIDwgY3R4dC0+ZW5kKSAmJgorCSAgICAgICAoIShJU19TRVBBUkFUT1IoKmN1cikpKSAmJiAoIShJU19PUCgqY3VyKSkpKSBjdXIrKzsKKworCXRva2VuLT50b2tsZW4gPSBjdXIgLSBjdHh0LT5jdXI7CisJdG9rZW4tPnRva2VuID0geG1sRGljdExvb2t1cChjdHh0LT5kaWN0LCBjdHh0LT5jdXIsIHRva2VuLT50b2tsZW4pOworCXRva2VuLT5wcmVmaXggPSBOVUxMOworCWN0eHQtPmN1ciA9IGN1cjsKKwlpZiAoKGVzY2FwZSA9PSAwKSAmJiAoeG1sQ1JOR0lzS2V5d29yZChjdHh0LCB0b2tlbi0+dG9rZW4pKSkKKwkgICAgdG9rZW4tPnRva3R5cGUgPSBDUk5HX0tFWVdPUkQ7CisJZWxzZSB7CisJICAgIHRva2VuLT50b2t0eXBlID0gQ1JOR19JREVOVElGSUVSOworCX0KKwlpZiAoKmN0eHQtPmN1ciA9PSAnOicpIHsKKwkgICAgY3R4dC0+Y3VyKys7CisJICAgIGlmICgqY3R4dC0+Y3VyID09ICcqJykgeworCQljdHh0LT5jdXIrKzsKKwkJdG9rZW4tPnRva3R5cGUgPSBDUk5HX05TTkFNRTsKKwkgICAgfSBlbHNlIHsKKwkgICAgICAgIGN1ciA9IGN0eHQtPmN1cjsKKwkJd2hpbGUgKChjdXIgPCBjdHh0LT5lbmQpICYmCisJCSAgICAgICAoIShJU19TRVBBUkFUT1IoKmN1cikpKSAmJiAoIShJU19PUCgqY3VyKSkpKSBjdXIrKzsKKwkJdG9rZW4tPnByZWZpeCA9IHRva2VuLT50b2tlbjsKKwkJdG9rZW4tPnRva2xlbiA9IGN1ciAtIGN0eHQtPmN1cjsKKwkJdG9rZW4tPnRva2VuID0geG1sRGljdExvb2t1cChjdHh0LT5kaWN0LCBjdHh0LT5jdXIsCisJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9rZW4tPnRva2xlbik7CisJCWN0eHQtPmN1ciA9IGN1cjsKKwkJaWYgKHhtbFZhbGlkYXRlTkNOYW1lKHRva2VuLT50b2tlbiwgMCkgPT0gMCkKKwkJICAgIHRva2VuLT50b2t0eXBlID0gQ1JOR19RTkFNRTsKKwkJZWxzZSB7CisJCSAgICBUT0RPIC8qIHNvdW5kcyBsaWtlIGFuIGVycm9yICEgKi8KKwkJICAgIHRva2VuLT50b2t0eXBlID0gQ1JOR19JREVOVElGSUVSOworCQl9CisJICAgIH0KKwl9CisgICAgfQorICAgIGN0eHQtPm5iVG9rZW5zKys7CisgICAgcmV0dXJuKDApOworZW9mOgorICAgIGN0eHQtPnN0YXRlID0gWE1MX0NSTkdfRU9GOworICAgIENSTkdfRVJST1IoQ1JOR19FTkRfRVJST1IpOworICAgIHJldHVybigtMSk7Cit9CisKKy8qKgorICogeG1sUGFyc2VDUk5HR2V0VG9rZW46CisgKiBAY3R4dDogYSBjb21wYWN0IFJORyBwYXJzZXIgY29udGV4dAorICogQG5vOiB0aGUgbnVtYmVyIG9mIHRoZSB0b2tlbiBmcm9tIDEgZm9yIHRoZSBmaXJzdCBvbmUKKyAqICAgICAgYW5kIDIsIDMgLi4uIGZvciByZWFkLWFoZWFkCisgKgorICogVG9rZW4gcmVhZGluZyBpbnRlcmZhY2UKKyAqCisgKiByZXR1cm5zIGEgcG9pbnRlciB0byB0aGUgbmV3IHRva2VuLCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3Igb3IgRU9GCisgKi8KK3N0YXRpYyB0b2tlblB0cgoreG1sUGFyc2VDUk5HR2V0VG9rZW4oeG1sQ1JlbGF4TkdQYXJzZXJDdHh0UHRyIGN0eHQsIGludCBubykgeworICAgIHRva2VuUHRyIHJldDsKKyAgICBpbnQgcmVzOworCisgICAgaWYgKChubyA8PSAwKSB8fCAobm8gPj0gTUFYX1RPS0VOKSkgcmV0dXJuKE5VTEwpOworICAgIG5vLS07CisgICAgd2hpbGUgKGN0eHQtPm5iVG9rZW5zIDw9IG5vKSB7CisgICAgICAgIHJlcyA9IHhtbENSTkdOZXh0VG9rZW4oY3R4dCk7CisJaWYgKHJlcyA8IDApCisJICAgIHJldHVybihOVUxMKTsKKyAgICB9CisgICAgcmV0ID0gJihjdHh0LT50b2tlbnNbKGN0eHQtPmZpcnN0VG9rZW4gKyBubykgJSBNQVhfVE9LRU5dKTsKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxQYXJzZUNSTkdEcm9wVG9rZW5zOgorICogQGN0eHQ6IGEgY29tcGFjdCBSTkcgcGFyc2VyIGNvbnRleHQKKyAqIEBucjogdGhlIG51bWJlciBvZiB0b2tlbiBtYXJrZWQgYXMgcmVhZAorICoKKyAqIG1hcmsgYSBudW1iZXIgb2YgdG9rZW4gYXMgcmVhZCBhbmQgY29uc3VtZWQuCisgKgorICogUmV0dXJucyAtMSBpbiBjYXNlIG9mIGVycm9yIGFuZCAwIG90aGVyd2lzZQorICovCitzdGF0aWMgaW50Cit4bWxQYXJzZUNSTkdEcm9wVG9rZW5zKHhtbENSZWxheE5HUGFyc2VyQ3R4dFB0ciBjdHh0LCBpbnQgbnIpIHsKKyAgICBpZiAoKG5yIDw9IDApIHx8IChuciA+PSBNQVhfVE9LRU4pKSByZXR1cm4oLTEpOworICAgIHdoaWxlICgoY3R4dC0+bmJUb2tlbnMgPjApICYmIChuciA+IDApKSB7CisgICAgICAgIGN0eHQtPmZpcnN0VG9rZW4rKzsKKwluci0tOworCWN0eHQtPm5iVG9rZW5zLS07CisJY3R4dC0+dG90YWxUb2tlbisrOworCWlmIChjdHh0LT50b3RhbFRva2VuID09IDM4NCkKKwkgICAgZnByaW50ZihzdGRlcnIsICJmb3VuZFxuIik7CisgICAgfQorICAgIGN0eHQtPmZpcnN0VG9rZW4gPSBjdHh0LT5maXJzdFRva2VuICUgTUFYX1RPS0VOOworICAgIHJldHVybigwKTsKK30KKworc3RhdGljIHZvaWQKK3htbFBhcnNlQ1JOR1Rva2VuaXplKHhtbENSZWxheE5HUGFyc2VyQ3R4dFB0ciBjdHh0KSB7CisgICAgdG9rZW5QdHIgdG9rZW47CisKKyAgICB0b2tlbiA9IHhtbFBhcnNlQ1JOR0dldFRva2VuKGN0eHQsIDEpOworICAgIHdoaWxlICh0b2tlbiAhPSBOVUxMKSB7CisgICAgICAgIHN3aXRjaCAodG9rZW4tPnRva3R5cGUpIHsKKyAgICAgICAgICAgIGNhc2UgQ1JOR19OT05FOiBwcmludGYoIm5vbmUiKTsgYnJlYWs7CisgICAgICAgICAgICBjYXNlIENSTkdfT1A6IHByaW50Zigib3AiKTsgYnJlYWs7CisgICAgICAgICAgICBjYXNlIENSTkdfS0VZV09SRDogcHJpbnRmKCJrZXl3b3JkIik7IGJyZWFrOworICAgICAgICAgICAgY2FzZSBDUk5HX0lERU5USUZJRVI6IHByaW50ZigiaWRlbnRpZmllciIpOyBicmVhazsKKyAgICAgICAgICAgIGNhc2UgQ1JOR19MSVRFUkFMX1NFR01FTlQ6IHByaW50ZigibGl0ZXJhbCIpOyBicmVhazsKKyAgICAgICAgICAgIGNhc2UgQ1JOR19DTkFNRTogcHJpbnRmKCJjbmFtZSIpOyBicmVhazsKKyAgICAgICAgICAgIGNhc2UgQ1JOR19RTkFNRTogcHJpbnRmKCJxbmFtZSIpOyBicmVhazsKKyAgICAgICAgICAgIGNhc2UgQ1JOR19OU05BTUU6IHByaW50ZigibnNuYW1lIik7IGJyZWFrOworICAgICAgICAgICAgY2FzZSBDUk5HX0RPQ1VNRU5UQVRJT046IHByaW50ZigiZG9jIik7IGJyZWFrOworCX0KKyAgICAgICAgcHJpbnRmKCI6JXNcbiIsIHRva2VuLT50b2tlbik7CisJeG1sUGFyc2VDUk5HRHJvcFRva2VucyhjdHh0LCAxKTsKKwl0b2tlbiA9IHhtbFBhcnNlQ1JOR0dldFRva2VuKGN0eHQsIDEpOworICAgIH0KK30KKworLyoqCisgKiB4bWxQYXJzZUNSTkdfYXR0cmlidXRlOgorICogQGN0eHQ6IGEgY29tcGFjdCBSTkcgcGFyc2VyIGNvbnRleHQKKyAqIEBuYW1lOiB0aGUgYXR0cmlidXRlIG5hbWUKKyAqIEBuczogdGhlIGF0dHJpYnV0ZSBuYW1lc3BhY2UKKyAqIEB2YWx1ZTogdGhlIGF0dHJpYnV0ZSB2YWx1ZQorICoKKyAqIGltcGxlbWVudHMgYXR0cmlidXRlIG9mIHRoZSBSRUxBWCBORyBDb21wYWN0IFN5bnRheCBBcHBlbmRpeCBBCisgKgorICogUmV0dXJucyAwIGluIGNhc2Ugb2Ygc3VjY2VzcyBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvcgorICovCitzdGF0aWMgaW50Cit4bWxQYXJzZUNSTkdfYXR0cmlidXRlKHhtbENSZWxheE5HUGFyc2VyQ3R4dFB0ciBjdHh0LAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICpuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICB4bWxOc1B0ciBucywKKwkJICAgICAgIGNvbnN0IHhtbENoYXIgKnZhbHVlKQoreworICAgIHhtbEF0dHJQdHIgYXR0cjsKKworICAgIGF0dHIgPSB4bWxOZXdOc1Byb3BFYXROYW1lKE5VTEwsIG5zLCAoeG1sQ2hhciAqKSBuYW1lLCB2YWx1ZSk7CisgICAgaWYgKGF0dHIgPT0gTlVMTCkgQ1JOR19NRU1fRVJST1IwKCk7CisgICAgYXR0ci0+bmV4dCA9IGN0eHQtPmF0dHJzOworICAgIGlmIChjdHh0LT5hdHRycyAhPSBOVUxMKQorICAgICAgICBjdHh0LT5hdHRycy0+cHJldiA9IGF0dHI7CisgICAgY3R4dC0+YXR0cnMgPSBhdHRyOworICAgIHJldHVybigwKTsKK30KKworLyoqCisgKiB4bWxQYXJzZUNSTkdfYmluZFByZWZpeDoKKyAqIEBjdHh0OiBhIGNvbXBhY3QgUk5HIHBhcnNlciBjb250ZXh0CisgKiBAcHJlZml4OiB0aGUgbmFtZXNwYWNlIHByZWZpeCBvciBOVUxMCisgKiBAbmFtZXNwYWNlOiB0aGUgbmFtZXNwYWNlIG5hbWUKKyAqCisgKiBpbXBsZW1lbnRzIGJpbmRQcmVmaXggb2YgdGhlIFJFTEFYIE5HIENvbXBhY3QgU3ludGF4IEFwcGVuZGl4IEEKKyAqCisgKiBSZXR1cm5zIDAgaW4gY2FzZSBvZiBzdWNjZXNzIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3N0YXRpYyBpbnQKK3htbFBhcnNlQ1JOR19iaW5kUHJlZml4KHhtbENSZWxheE5HUGFyc2VyQ3R4dFB0ciBjdHh0LAorICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqcHJlZml4LAorCQkJY29uc3QgeG1sQ2hhciAqbmFtZXNwYWNlKQoreworICAgIGludCByZXQ7CisKKyAgICBpZiAoKHByZWZpeCAhPSBOVUxMKSAmJiAoeG1sU3RyRXF1YWwocHJlZml4LCBCQURfQ0FTVCAieG1sIikpICAmJgorICAgICAgICAoIXhtbFN0ckVxdWFsKG5hbWVzcGFjZSwgWE1MX1hNTF9OQU1FU1BBQ0UpKSkgeworCUVSUk9SKCJUaGUgXCJ4bWxcIiBwcmVmaXggbXVzdCBiZSBib3VuZCB0byBcImh0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZVwiIik7CisJcmV0dXJuKC0xKTsKKyAgICB9IGVsc2UgaWYgKCh4bWxTdHJFcXVhbChuYW1lc3BhY2UsIFhNTF9YTUxfTkFNRVNQQUNFKSkgJiYKKyAgICAgICAgICAgICAgICgheG1sU3RyRXF1YWwocHJlZml4LCBCQURfQ0FTVCAieG1sIikpKSB7CisJRVJST1IoIlRoZSBcImh0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZVwiIG5hbWUgbXVzdCBiZSBib3VuZCB0byBcInhtbFwiIHByZWZpeCIpOworCXJldHVybigtMSk7CisgICAgfQorICAgIGlmIChjdHh0LT5uYW1lc3BhY2VzID09IE5VTEwpCisgICAgICAgIGN0eHQtPm5hbWVzcGFjZXMgPSB4bWxIYXNoQ3JlYXRlKDEwKTsKKyAgICBpZiAoY3R4dC0+bmFtZXNwYWNlcyA9PSBOVUxMKSB7CisgICAgICAgIEVSUk9SKCJGYWlsZWQgdG8gY3JlYXRlIG5hbWVzcGFjZSBoYXNoIHRhYmxlIik7CisJcmV0dXJuKC0xKTsKKyAgICB9CisgICAgaWYgKHByZWZpeCA9PSBOVUxMKQorICAgICAgICByZXQgPSB4bWxIYXNoQWRkRW50cnkoY3R4dC0+bmFtZXNwYWNlcywgeG1sQ1JlbGF4TkdEZWZhdWx0LAorCSAgICAgICAgICAgICAgICAgICAgICAodm9pZCAqKSBuYW1lc3BhY2UpOworICAgIGVsc2UKKyAgICAgICAgcmV0ID0geG1sSGFzaEFkZEVudHJ5KGN0eHQtPm5hbWVzcGFjZXMsIHByZWZpeCwKKwkgICAgICAgICAgICAgICAgICAgICAgKHZvaWQgKikgbmFtZXNwYWNlKTsKKyAgICBpZiAocmV0IDwgMCkgeworICAgICAgICBpZiAocHJlZml4ID09IE5VTEwpIHsKKwkgICAgRVJST1IoIlJlZGVmaW5pdGlvbiBvZiBkZWZhdWx0IG5hbWVzcGFjZSIpOworCX0gZWxzZSB7CisJICAgIEVSUk9SKCJSZWRlZmluaXRpb24gb2YgbmFtZXNwYWNlIik7CisJfQorCXJldHVybigtMSk7CisgICAgfQorCisgICAgcmV0dXJuKDApOworfQorCisvKioKKyAqIHhtbFBhcnNlQ1JOR19iaW5kRGF0YXR5cGVQcmVmaXg6CisgKiBAY3R4dDogYSBjb21wYWN0IFJORyBwYXJzZXIgY29udGV4dAorICogQHByZWZpeDogdGhlIGRhdGF0eXBlIHByZWZpeAorICogQG5hbWVzcGFjZTogdGhlIGRhdGF0eXBlIGlkZW50aWZpZXIKKyAqCisgKiBpbXBsZW1lbnRzIGJpbmREYXRhdHlwZVByZWZpeCBvZiB0aGUgUkVMQVggTkcgQ29tcGFjdCBTeW50YXggQXBwZW5kaXggQQorICoKKyAqIFJldHVybnMgMCBpbiBjYXNlIG9mIHN1Y2Nlc3MgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworc3RhdGljIGludAoreG1sUGFyc2VDUk5HX2JpbmREYXRhdHlwZVByZWZpeCh4bWxDUmVsYXhOR1BhcnNlckN0eHRQdHIgY3R4dCBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICpwcmVmaXgsCisJCQkgICAgICAgIGNvbnN0IHhtbENoYXIgKm5hbWVzcGFjZSkKK3sKKyAgICBpbnQgcmV0OworCisgICAgaWYgKChwcmVmaXggIT0gTlVMTCkgJiYgKHhtbFN0ckVxdWFsKHByZWZpeCwgQkFEX0NBU1QgInhzZCIpKSAgJiYKKyAgICAgICAgKCF4bWxTdHJFcXVhbChuYW1lc3BhY2UsCisJCSAgQkFEX0NBU1QgImh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyIpKSkgeworCUVSUk9SKCJUaGUgXCJ4c2RcIiBwcmVmaXggbXVzdCBiZSBib3VuZCB0byBcImh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlc1wiIik7CisJcmV0dXJuKC0xKTsKKyAgICB9CisgICAgaWYgKGN0eHQtPmRhdGF0eXBlcyA9PSBOVUxMKQorICAgICAgICBjdHh0LT5kYXRhdHlwZXMgPSB4bWxIYXNoQ3JlYXRlKDEwKTsKKyAgICBpZiAoY3R4dC0+ZGF0YXR5cGVzID09IE5VTEwpIHsKKyAgICAgICAgRVJST1IoIkZhaWxlZCB0byBjcmVhdGUgbmFtZXNwYWNlIGhhc2ggdGFibGUiKTsKKwlyZXR1cm4oLTEpOworICAgIH0KKyAgICByZXQgPSB4bWxIYXNoQWRkRW50cnkoY3R4dC0+ZGF0YXR5cGVzLCBwcmVmaXgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICh2b2lkICopIG5hbWVzcGFjZSk7CisgICAgaWYgKHJldCA8IDApIHsKKwlFUlJPUigiUmVkZWZpbml0aW9uIG9mIGRhdGF0eXBlIik7CisJcmV0dXJuKC0xKTsKKyAgICB9CisgICAgcmV0dXJuKDApOworfQorCisvKioKKyAqIHhtbFBhcnNlQ1JOR19sb29rdXBQcmVmaXg6CisgKiBAY3R4dDogYSBjb21wYWN0IFJORyBwYXJzZXIgY29udGV4dAorICogQHByZWZpeDogdGhlIG5hbWVzcGFjZSBwcmVmaXggb3IgTlVMTAorICoKKyAqIGltcGxlbWVudHMgbG9va3VwUHJlZml4IG9mIHRoZSBSRUxBWCBORyBDb21wYWN0IFN5bnRheCBBcHBlbmRpeCBBCisgKgorICogUmV0dXJucyB0aGUgcHJlZml4IGluIGNhc2Ugb2Ygc3VjY2VzcyBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworc3RhdGljIGNvbnN0IHhtbENoYXIgKgoreG1sUGFyc2VDUk5HX2xvb2t1cFByZWZpeCh4bWxDUmVsYXhOR1BhcnNlckN0eHRQdHIgY3R4dCBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqcHJlZml4KQoreworICAgIGNvbnN0IHhtbENoYXIgKnJldDsKKworICAgIGlmIChwcmVmaXggPT0gTlVMTCkKKyAgICAgICAgcmV0ID0geG1sSGFzaExvb2t1cChjdHh0LT5uYW1lc3BhY2VzLCB4bWxDUmVsYXhOR0RlZmF1bHQpOworICAgIGVsc2UKKyAgICAgICAgcmV0ID0geG1sSGFzaExvb2t1cChjdHh0LT5uYW1lc3BhY2VzLCBwcmVmaXgpOworICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbFBhcnNlQ1JOR19sb29rdXBEYXRhdHlwZVByZWZpeDoKKyAqIEBjdHh0OiBhIGNvbXBhY3QgUk5HIHBhcnNlciBjb250ZXh0CisgKiBAcHJlZml4OiB0aGUgbmFtZXNwYWNlIHByZWZpeCBvciBOVUxMCisgKgorICogaW1wbGVtZW50cyBsb29rdXBEYXRhdHlwZVByZWZpeCBvZiB0aGUgUkVMQVggTkcgQ29tcGFjdCBTeW50YXggQXBwZW5kaXggQQorICoKKyAqIFJldHVybnMgdGhlIHByZWZpeCBpbiBjYXNlIG9mIHN1Y2Nlc3Mgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3N0YXRpYyBjb25zdCB4bWxDaGFyICoKK3htbFBhcnNlQ1JOR19sb29rdXBEYXRhdHlwZVByZWZpeCh4bWxDUmVsYXhOR1BhcnNlckN0eHRQdHIgY3R4dCBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqcHJlZml4KQoreworICAgIGNvbnN0IHhtbENoYXIgKnJldDsKKyAgICByZXQgPSB4bWxIYXNoTG9va3VwKGN0eHQtPmRhdGF0eXBlcywgcHJlZml4KTsKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxQYXJzZUNSTkdfZGF0YXR5cGVBdHRyaWJ1dGVzOgorICogQGN0eHQ6IGEgY29tcGFjdCBSTkcgcGFyc2VyIGNvbnRleHQKKyAqIEBwcmVmaXg6IHRoZSBuYW1lc3BhY2UgcHJlZml4IG9yIE5VTEwKKyAqCisgKiBpbXBsZW1lbnRzIGxvb2t1cFByZWZpeCBvZiB0aGUgUkVMQVggTkcgQ29tcGFjdCBTeW50YXggQXBwZW5kaXggQQorICoKKyAqIFJldHVybnMgdGhlIHByZWZpeCBpbiBjYXNlIG9mIHN1Y2Nlc3Mgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3N0YXRpYyB4bWxBdHRyUHRyCit4bWxQYXJzZUNSTkdfZGF0YXR5cGVBdHRyaWJ1dGVzKHhtbENSZWxheE5HUGFyc2VyQ3R4dFB0ciBjdHh0IEFUVFJJQlVURV9VTlVTRUQsCisgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICpsaWJyYXJ5LCBjb25zdCB4bWxDaGFyICp0eXBlKQoreworICAgIHhtbEF0dHJQdHIgbGliLCB0eXA7CisKKyAgICBsaWIgPSB4bWxOZXdOc1Byb3AoTlVMTCwgTlVMTCwgQkFEX0NBU1QgImRhdGF0eXBlTGlicmFyeSIsIGxpYnJhcnkpOworICAgIGlmIChsaWIgPT0gTlVMTCkgeworICAgICAgICBDUk5HX01FTV9FUlJPUigpOworCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgdHlwID0geG1sTmV3TnNQcm9wKE5VTEwsIE5VTEwsIEJBRF9DQVNUICJ0eXBlIiwgdHlwZSk7CisgICAgaWYgKHR5cCA9PSBOVUxMKSB7CisgICAgICAgIENSTkdfTUVNX0VSUk9SKCk7CisJcmV0dXJuKGxpYik7CisgICAgfQorICAgIGxpYi0+bmV4dCA9IHR5cDsKKworICAgIHJldHVybihsaWIpOworfQorCisvKioKKyAqIHhtbFBhcnNlQ1JOR19YWFg6CisgKiBAY3R4dDogYSBjb21wYWN0IFJORyBwYXJzZXIgY29udGV4dAorICoKKyAqIFBhcnNlIFhYWCBvZiB0aGUgUkVMQVggTkcgQ29tcGFjdCBTeW50YXggQXBwZW5kaXggQQorICoKKyAqIFJldHVybnMgMCBpbiBjYXNlIG9mIHN1Y2Nlc3MgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworc3RhdGljIGludAoreG1sUGFyc2VDUk5HX1hYWCh4bWxDUmVsYXhOR1BhcnNlckN0eHRQdHIgY3R4dCBBVFRSSUJVVEVfVU5VU0VEKQoreworICAgIHJldHVybigwKTsKK30KKworc3RhdGljIGludCB4bWxQYXJzZUNSTkdfcGF0dGVybih4bWxDUmVsYXhOR1BhcnNlckN0eHRQdHIgY3R4dCk7CitzdGF0aWMgaW50IHhtbFBhcnNlQ1JOR19uYW1lQ2xhc3MoeG1sQ1JlbGF4TkdQYXJzZXJDdHh0UHRyIGN0eHQpOworCisvKioKKyAqIHhtbFBhcnNlQ1JOR19wYXJhbXM6CisgKiBAY3R4dDogYSBjb21wYWN0IFJORyBwYXJzZXIgY29udGV4dAorICoKKyAqIFBhcnNlIHBhcmFtcyBvZiB0aGUgUkVMQVggTkcgQ29tcGFjdCBTeW50YXggQXBwZW5kaXggQQorICoKKyAqIFJldHVybnMgMCBpbiBjYXNlIG9mIHN1Y2Nlc3MgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworc3RhdGljIGludAoreG1sUGFyc2VDUk5HX3BhcmFtcyh4bWxDUmVsYXhOR1BhcnNlckN0eHRQdHIgY3R4dCBBVFRSSUJVVEVfVU5VU0VEKQoreworICAgIFRPRE8KKyAgICByZXR1cm4oMCk7Cit9CisKKy8qKgorICogeG1sUGFyc2VDUk5HX2V4Y2VwdE5hbWVDbGFzczoKKyAqIEBjdHh0OiBhIGNvbXBhY3QgUk5HIHBhcnNlciBjb250ZXh0CisgKgorICogUGFyc2UgZXhjZXB0TmFtZUNsYXNzIG9mIHRoZSBSRUxBWCBORyBDb21wYWN0IFN5bnRheCBBcHBlbmRpeCBBCisgKgorICogUmV0dXJucyAwIGluIGNhc2Ugb2Ygc3VjY2VzcyBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvcgorICovCitzdGF0aWMgaW50Cit4bWxQYXJzZUNSTkdfZXhjZXB0TmFtZUNsYXNzKHhtbENSZWxheE5HUGFyc2VyQ3R4dFB0ciBjdHh0IEFUVFJJQlVURV9VTlVTRUQpCit7CisgICAgdG9rZW5QdHIgdG9rZW47CisgICAgeG1sTm9kZVB0ciBpbnNlcnQgPSBjdHh0LT5pbnNlcnQsIGN1cjsKKworICAgIHRva2VuID0geG1sUGFyc2VDUk5HR2V0VG9rZW4oY3R4dCwgMSk7CisgICAgaWYgKCh0b2tlbi0+dG9rdHlwZSA9PSBDUk5HX09QKSAmJgorICAgICAgICAodG9rZW4tPnRva2VuWzBdID09ICctJykgJiYgKHRva2VuLT50b2tlblsxXSA9PSAwKSkgeworCXhtbFBhcnNlQ1JOR0Ryb3BUb2tlbnMoY3R4dCwgMSk7CisJY3VyID0geG1sTmV3Tm9kZShOVUxMLCBCQURfQ0FTVCAiZXhjZXB0Iik7CisJaWYgKGN1ciA9PSBOVUxMKSBDUk5HX01FTV9FUlJPUjAoKTsKKwlpZiAoY3R4dC0+aW5zZXJ0ICE9IE5VTEwpCisJICAgIHhtbEFkZENoaWxkKGN0eHQtPmluc2VydCwgY3VyKTsKKwljdHh0LT5pbnNlcnQgPSBjdXI7CisJeG1sUGFyc2VDUk5HX25hbWVDbGFzcyhjdHh0KTsKKyAgICB9CisgICAgY3R4dC0+aW5zZXJ0ID0gaW5zZXJ0OworICAgIHJldHVybigwKTsKK30KKworLyoqCisgKiB4bWxQYXJzZUNSTkdfaW5uZXJOYW1lQ2xhc3M6CisgKiBAY3R4dDogYSBjb21wYWN0IFJORyBwYXJzZXIgY29udGV4dAorICoKKyAqIFBhcnNlIGlubmVyTmFtZUNsYXNzIG9mIHRoZSBSRUxBWCBORyBDb21wYWN0IFN5bnRheCBBcHBlbmRpeCBBCisgKgorICogUmV0dXJucyAwIGluIGNhc2Ugb2Ygc3VjY2VzcyBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvcgorICovCitzdGF0aWMgaW50Cit4bWxQYXJzZUNSTkdfaW5uZXJOYW1lQ2xhc3MoeG1sQ1JlbGF4TkdQYXJzZXJDdHh0UHRyIGN0eHQpCit7CisgICAgdG9rZW5QdHIgdG9rZW47CisgICAgeG1sTm9kZVB0ciBjdXI7CisKKyAgICB0b2tlbiA9IHhtbFBhcnNlQ1JOR0dldFRva2VuKGN0eHQsIDEpOworICAgIGlmICh0b2tlbi0+dG9rdHlwZSA9PSBDUk5HX09QKSB7CisgICAgICAgIGlmICgodG9rZW4tPnRva2VuWzBdID09ICcoJykgJiYgKHRva2VuLT50b2tlblsxXSA9PSAwKSkgeworCSAgICB4bWxQYXJzZUNSTkdEcm9wVG9rZW5zKGN0eHQsIDEpOworCSAgICB4bWxQYXJzZUNSTkdfbmFtZUNsYXNzKGN0eHQpOworCSAgICB0b2tlbiA9IHhtbFBhcnNlQ1JOR0dldFRva2VuKGN0eHQsIDEpOworCSAgICBpZiAoKHRva2VuLT50b2t0eXBlICE9IENSTkdfT1ApIHx8CisJICAgICAgICAodG9rZW4tPnRva2VuWzBdICE9ICcpJykgfHwgKHRva2VuLT50b2tlblsxXSAhPSAwKSkgeworCQlFUlJPUigiRXhwZWN0aW5nIFwiKVwiIGhlcmUiKTsKKwkgICAgfQorCSAgICB4bWxQYXJzZUNSTkdEcm9wVG9rZW5zKGN0eHQsIDEpOworCX0gZWxzZSBpZiAoKHRva2VuLT50b2tlblswXSA9PSAnKicpICYmICh0b2tlbi0+dG9rZW5bMV0gPT0gMCkpIHsKKwkgICAgeG1sUGFyc2VDUk5HRHJvcFRva2VucyhjdHh0LCAxKTsKKwkgICAgY3VyID0geG1sTmV3Tm9kZShOVUxMLCBCQURfQ0FTVCAiYW55TmFtZSIpOworCSAgICBpZiAoY3VyID09IE5VTEwpIENSTkdfTUVNX0VSUk9SMCgpOworCSAgICBpZiAoY3R4dC0+aW5zZXJ0ICE9IE5VTEwpCisJCXhtbEFkZENoaWxkKGN0eHQtPmluc2VydCwgY3VyKTsKKwkgICAgY3R4dC0+aW5zZXJ0ID0gY3VyOworCSAgICB4bWxQYXJzZUNSTkdfZXhjZXB0TmFtZUNsYXNzKGN0eHQpOworCX0gZWxzZSB7CisJICAgIFRPRE8KKwl9CisgICAgfSBlbHNlIGlmICgodG9rZW4tPnRva3R5cGUgPT0gQ1JOR19JREVOVElGSUVSKSB8fAorICAgICAgICAgICAgICAgKHRva2VuLT50b2t0eXBlID09IENSTkdfS0VZV09SRCkpIHsKKwljdXIgPSB4bWxOZXdOb2RlKE5VTEwsIEJBRF9DQVNUICJuYW1lIik7CisJaWYgKGN1ciA9PSBOVUxMKSBDUk5HX01FTV9FUlJPUjAoKTsKKwlpZiAoY3R4dC0+aXNFbGVtKSB7CisJICAgIHhtbFNldFByb3AoY3VyLCBCQURfQ0FTVCAibnMiLAorCSAgICAgICAgICAgICAgIHhtbFBhcnNlQ1JOR19sb29rdXBQcmVmaXgoY3R4dCwgTlVMTCkpOworCX0gZWxzZSB7CisJICAgIHhtbFNldFByb3AoY3VyLCBCQURfQ0FTVCAibnMiLCBCQURfQ0FTVCAiIik7CisJfQorCXhtbE5vZGVBZGRDb250ZW50KGN1ciwgdG9rZW4tPnRva2VuKTsKKwlpZiAoY3R4dC0+aW5zZXJ0ICE9IE5VTEwpCisJICAgIHhtbEFkZENoaWxkKGN0eHQtPmluc2VydCwgY3VyKTsKKwljdHh0LT5pbnNlcnQgPSBjdXI7CisJeG1sUGFyc2VDUk5HRHJvcFRva2VucyhjdHh0LCAxKTsKKyAgICB9IGVsc2UgaWYgKHRva2VuLT50b2t0eXBlID09IENSTkdfQ05BTUUpIHsKKyAgICAgICAgVE9ETworICAgIH0gZWxzZSBpZiAodG9rZW4tPnRva3R5cGUgPT0gQ1JOR19OU05BTUUpIHsKKwljdXIgPSB4bWxOZXdOb2RlKE5VTEwsIEJBRF9DQVNUICJuc05hbWUiKTsKKwlpZiAoY3VyID09IE5VTEwpIENSTkdfTUVNX0VSUk9SMCgpOworICAgICAgICB4bWxTZXRQcm9wKGN1ciwgQkFEX0NBU1QgIm5zIiwKKwkgICAgICAgICAgIHhtbFBhcnNlQ1JOR19sb29rdXBQcmVmaXgoY3R4dCwgdG9rZW4tPnRva2VuKSk7CisJaWYgKGN0eHQtPmluc2VydCAhPSBOVUxMKQorCSAgICB4bWxBZGRDaGlsZChjdHh0LT5pbnNlcnQsIGN1cik7CisJY3R4dC0+aW5zZXJ0ID0gY3VyOworCXhtbFBhcnNlQ1JOR0Ryb3BUb2tlbnMoY3R4dCwgMSk7CisJeG1sUGFyc2VDUk5HX2V4Y2VwdE5hbWVDbGFzcyhjdHh0KTsKKyAgICB9IGVsc2UgeworICAgICAgICBUT0RPIC8qIHByb2JhYmx5IGFuIGVycm9yICovCisgICAgfQorCisgICAgcmV0dXJuKDApOworfQorCisvKioKKyAqIHhtbFBhcnNlQ1JOR19uYW1lQ2xhc3M6CisgKiBAY3R4dDogYSBjb21wYWN0IFJORyBwYXJzZXIgY29udGV4dAorICoKKyAqIFBhcnNlIG5hbWVDbGFzcyBvZiB0aGUgUkVMQVggTkcgQ29tcGFjdCBTeW50YXggQXBwZW5kaXggQQorICoKKyAqIFJldHVybnMgMCBpbiBjYXNlIG9mIHN1Y2Nlc3MgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworc3RhdGljIGludAoreG1sUGFyc2VDUk5HX25hbWVDbGFzcyh4bWxDUmVsYXhOR1BhcnNlckN0eHRQdHIgY3R4dCkKK3sKKyAgICB0b2tlblB0ciB0b2tlbjsKKyAgICB4bWxOb2RlUHRyIGluc2VydCA9IGN0eHQtPmluc2VydCwgbGFzdCwgY2hvaWNlOworCisgICAgY3R4dC0+aW5zZXJ0ID0gTlVMTDsKKyAgICB4bWxQYXJzZUNSTkdfaW5uZXJOYW1lQ2xhc3MoY3R4dCk7CisgICAgbGFzdCA9IGN0eHQtPmluc2VydDsKKyAgICB0b2tlbiA9IHhtbFBhcnNlQ1JOR0dldFRva2VuKGN0eHQsIDEpOworICAgIHdoaWxlICgodG9rZW4tPnRva3R5cGUgPT0gQ1JOR19PUCkgJiYKKyAgICAgICAgKHRva2VuLT50b2tlblswXSA9PSAnfCcpICYmICh0b2tlbi0+dG9rZW5bMV0gPT0gMCkpIHsKKwljaG9pY2UgPSB4bWxOZXdOb2RlRWF0TmFtZShOVUxMLCAoeG1sQ2hhciAqKSBjdHh0LT5rZXlfY2hvaWNlKTsKKwl4bWxQYXJzZUNSTkdEcm9wVG9rZW5zKGN0eHQsIDEpOworCWlmIChjaG9pY2UgPT0gTlVMTCkgQ1JOR19NRU1fRVJST1IwKCk7CisJY3R4dC0+aW5zZXJ0ID0gTlVMTDsKKwl4bWxQYXJzZUNSTkdfaW5uZXJOYW1lQ2xhc3MoY3R4dCk7CisJeG1sQWRkQ2hpbGQoY2hvaWNlLCBsYXN0KTsKKwl4bWxBZGRDaGlsZChjaG9pY2UsIGN0eHQtPmluc2VydCk7CisJbGFzdCA9IGNob2ljZTsKKwl0b2tlbiA9IHhtbFBhcnNlQ1JOR0dldFRva2VuKGN0eHQsIDEpOworICAgIH0KKyAgICB4bWxBZGRDaGlsZChpbnNlcnQsIGxhc3QpOworCisgICAgY3R4dC0+aW5zZXJ0ID0gaW5zZXJ0OworICAgIHJldHVybigwKTsKK30KKworLyoqCisgKiB4bWxQYXJzZUNSTkdfcGF0dGVybkJsb2NrOgorICogQGN0eHQ6IGEgY29tcGFjdCBSTkcgcGFyc2VyIGNvbnRleHQKKyAqCisgKiBQYXJzZSBhIHBhdHRlcm4gYmxvY2sgb2YgdGhlIFJFTEFYIE5HIENvbXBhY3QgU3ludGF4IEFwcGVuZGl4IEEKKyAqCisgKiBSZXR1cm5zIDAgaW4gY2FzZSBvZiBzdWNjZXNzIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3N0YXRpYyBpbnQKK3htbFBhcnNlQ1JOR19wYXR0ZXJuQmxvY2soeG1sQ1JlbGF4TkdQYXJzZXJDdHh0UHRyIGN0eHQpCit7CisgICAgdG9rZW5QdHIgdG9rZW47CisKKyAgICB0b2tlbiA9IHhtbFBhcnNlQ1JOR0dldFRva2VuKGN0eHQsIDEpOworICAgIGlmICgodG9rZW4tPnRva3R5cGUgIT0gQ1JOR19PUCkgfHwKKwkodG9rZW4tPnRva2VuWzBdICE9ICd7JykgfHwgKHRva2VuLT50b2tlblsxXSAhPSAwKSkgeworCUVSUk9SKCJFeHBlY3RpbmcgXCJ7XCIgaGVyZSIpOworICAgIH0KKyAgICB4bWxQYXJzZUNSTkdEcm9wVG9rZW5zKGN0eHQsIDEpOworICAgIHhtbFBhcnNlQ1JOR19wYXR0ZXJuKGN0eHQpOworICAgIHRva2VuID0geG1sUGFyc2VDUk5HR2V0VG9rZW4oY3R4dCwgMSk7CisgICAgaWYgKCh0b2tlbi0+dG9rdHlwZSAhPSBDUk5HX09QKSB8fAorCSh0b2tlbi0+dG9rZW5bMF0gIT0gJ30nKSB8fCAodG9rZW4tPnRva2VuWzFdICE9IDApKSB7CisJRVJST1IoIkV4cGVjdGluZyBcIn1cIiBoZXJlIik7CisgICAgfQorICAgIHhtbFBhcnNlQ1JOR0Ryb3BUb2tlbnMoY3R4dCwgMSk7CisgICAgcmV0dXJuKDApOworfQorCisvKioKKyAqIHhtbFBhcnNlQ1JOR19kYXRhdHlwZToKKyAqIEBjdHh0OiBhIGNvbXBhY3QgUk5HIHBhcnNlciBjb250ZXh0CisgKgorICogUGFyc2UgZGF0YXR5cGUgb2YgdGhlIFJFTEFYIE5HIENvbXBhY3QgU3ludGF4IEFwcGVuZGl4IEEKKyAqCisgKiBSZXR1cm5zIDAgaW4gY2FzZSBvZiBzdWNjZXNzIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3N0YXRpYyBpbnQKK3htbFBhcnNlQ1JOR19kYXRhdHlwZSh4bWxDUmVsYXhOR1BhcnNlckN0eHRQdHIgY3R4dCBBVFRSSUJVVEVfVU5VU0VEKQoreworICAgIHRva2VuUHRyIHRva2VuOworICAgIHhtbEF0dHJQdHIgYXR0cnMgPSBOVUxMOworCisgICAgdG9rZW4gPSB4bWxQYXJzZUNSTkdHZXRUb2tlbihjdHh0LCAxKTsKKyAgICBpZiAodG9rZW4tPnRva3R5cGUgPT0gQ1JOR19LRVlXT1JEKSB7CisJaWYgKHRva2VuLT50b2tlbiA9PSBjdHh0LT5rZXlfc3RyaW5nKSB7CisJICAgIGF0dHJzID0geG1sUGFyc2VDUk5HX2RhdGF0eXBlQXR0cmlidXRlcyhjdHh0LCBCQURfQ0FTVCAiIiwKKwkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRva2VuLT50b2tlbik7CisJICAgIHhtbFBhcnNlQ1JOR0Ryb3BUb2tlbnMoY3R4dCwgMSk7CisJfSBlbHNlIGlmICh0b2tlbi0+dG9rZW4gPT0gY3R4dC0+a2V5X3Rva2VuKSB7CisJICAgIGF0dHJzID0geG1sUGFyc2VDUk5HX2RhdGF0eXBlQXR0cmlidXRlcyhjdHh0LCBCQURfQ0FTVCAiIiwKKwkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRva2VuLT50b2tlbik7CisJICAgIHhtbFBhcnNlQ1JOR0Ryb3BUb2tlbnMoY3R4dCwgMSk7CisJfSBlbHNlIHsKKwkgICAgVE9ETyAvKiBwcm9iYWJseSBhbiBlcnJvciAqLworCX0KKyAgICB9IGVsc2UgaWYgKHRva2VuLT50b2t0eXBlID09IENSTkdfTElURVJBTF9TRUdNRU5UKSB7CisJY3R4dC0+aW5zZXJ0ID0geG1sTmV3Tm9kZShOVUxMLCBCQURfQ0FTVCAidmFsdWUiKTsKKwl4bWxQYXJzZUNSTkdEcm9wVG9rZW5zKGN0eHQsIDEpOworCWlmIChjdHh0LT5pbnNlcnQgPT0gTlVMTCkgQ1JOR19NRU1fRVJST1IwKCk7CisJeG1sTm9kZUFkZENvbnRlbnQoY3R4dC0+aW5zZXJ0LCB0b2tlbi0+dG9rZW4pOworICAgIH0gZWxzZSBpZiAodG9rZW4tPnRva3R5cGUgPT0gQ1JOR19RTkFNRSkgeworCWF0dHJzID0geG1sUGFyc2VDUk5HX2RhdGF0eXBlQXR0cmlidXRlcyhjdHh0LAorCSAgICAgICAgICAgIHhtbFBhcnNlQ1JOR19sb29rdXBEYXRhdHlwZVByZWZpeChjdHh0LCB0b2tlbi0+cHJlZml4KSwKKwkJICAgIHRva2VuLT50b2tlbik7CisgICAgfSBlbHNlIHsKKyAgICAgICAgVE9ETworICAgIH0KKyAgICBpZiAoYXR0cnMgIT0gTlVMTCkgeworCXRva2VuID0geG1sUGFyc2VDUk5HR2V0VG9rZW4oY3R4dCwgMSk7CisJaWYgKHRva2VuLT50b2t0eXBlID09IENSTkdfTElURVJBTF9TRUdNRU5UKSB7CisJICAgIGN0eHQtPmluc2VydCA9IHhtbE5ld05vZGUoTlVMTCwgQkFEX0NBU1QgInZhbHVlIik7CisJICAgIHhtbFBhcnNlQ1JOR0Ryb3BUb2tlbnMoY3R4dCwgMSk7CisJICAgIGlmIChjdHh0LT5pbnNlcnQgPT0gTlVMTCkgeworCSAgICAgICAgeG1sRnJlZVByb3BMaXN0KGF0dHJzKTsKKwkJQ1JOR19NRU1fRVJST1IwKCk7CisJICAgIH0KKwkgICAgY3R4dC0+aW5zZXJ0LT5wcm9wZXJ0aWVzID0gYXR0cnM7CisJICAgIHhtbE5vZGVBZGRDb250ZW50KGN0eHQtPmluc2VydCwgdG9rZW4tPnRva2VuKTsKKwl9IGVsc2UgaWYgKCh0b2tlbi0+dG9rdHlwZSA9PSBDUk5HX09QKSAmJgorCSAgICAgICAgICAgKHRva2VuLT50b2tlblswXSA9PSAneycpICYmICh0b2tlbi0+dG9rZW5bMF0gPT0gMCkpIHsKKwkgICAgY3R4dC0+aW5zZXJ0ID0geG1sTmV3Tm9kZShOVUxMLCBCQURfQ0FTVCAiZGF0YSIpOworCSAgICB4bWxQYXJzZUNSTkdEcm9wVG9rZW5zKGN0eHQsIDEpOworCSAgICBpZiAoY3R4dC0+aW5zZXJ0ID09IE5VTEwpIHsKKwkgICAgICAgIHhtbEZyZWVQcm9wTGlzdChhdHRycyk7CisJCUNSTkdfTUVNX0VSUk9SMCgpOworCSAgICB9CisJICAgIGN0eHQtPmluc2VydC0+cHJvcGVydGllcyA9IGF0dHJzOworCSAgICB4bWxQYXJzZUNSTkdfcGFyYW1zKGN0eHQpOworICAgICAgICB9IGVsc2UgeworCSAgICBjdHh0LT5pbnNlcnQgPSB4bWxOZXdOb2RlKE5VTEwsIEJBRF9DQVNUICJkYXRhIik7CisJICAgIHhtbFBhcnNlQ1JOR0Ryb3BUb2tlbnMoY3R4dCwgMSk7CisJICAgIGlmIChjdHh0LT5pbnNlcnQgPT0gTlVMTCkgeworCSAgICAgICAgeG1sRnJlZVByb3BMaXN0KGF0dHJzKTsKKwkJQ1JOR19NRU1fRVJST1IwKCk7CisJICAgIH0KKwkgICAgY3R4dC0+aW5zZXJ0LT5wcm9wZXJ0aWVzID0gYXR0cnM7CisJICAgIHhtbE5vZGVBZGRDb250ZW50KGN0eHQtPmluc2VydCwgdG9rZW4tPnRva2VuKTsKKwl9CisgICAgfQorICAgIHJldHVybigwKTsKK30KKworLyoqCisgKiB4bWxQYXJzZUNSTkdfcHJpbWFyeToKKyAqIEBjdHh0OiBhIGNvbXBhY3QgUk5HIHBhcnNlciBjb250ZXh0CisgKgorICogUGFyc2UgcHJpbWFyeSBvZiB0aGUgUkVMQVggTkcgQ29tcGFjdCBTeW50YXggQXBwZW5kaXggQQorICoKKyAqIFJldHVybnMgMCBpbiBjYXNlIG9mIHN1Y2Nlc3MgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworc3RhdGljIGludAoreG1sUGFyc2VDUk5HX3ByaW1hcnkoeG1sQ1JlbGF4TkdQYXJzZXJDdHh0UHRyIGN0eHQgQVRUUklCVVRFX1VOVVNFRCkKK3sKKyAgICB0b2tlblB0ciB0b2tlbjsKKworICAgIHRva2VuID0geG1sUGFyc2VDUk5HR2V0VG9rZW4oY3R4dCwgMSk7CisgICAgaWYgKHRva2VuID09IE5VTEwpCisgICAgICAgIHJldHVybigwKTsKKyAgICBpZiAodG9rZW4tPnRva3R5cGUgPT0gQ1JOR19LRVlXT1JEKSB7CisgICAgICAgIGlmICh0b2tlbi0+dG9rZW4gPT0gY3R4dC0+a2V5X2VsZW1lbnQpIHsKKwkgICAgY3R4dC0+aW5zZXJ0ID0geG1sTmV3Tm9kZUVhdE5hbWUoTlVMTCwgKHhtbENoYXIgKikgdG9rZW4tPnRva2VuKTsKKwkgICAgeG1sUGFyc2VDUk5HRHJvcFRva2VucyhjdHh0LCAxKTsKKwkgICAgaWYgKGN0eHQtPmluc2VydCA9PSBOVUxMKSBDUk5HX01FTV9FUlJPUjAoKTsKKwkgICAgY3R4dC0+aXNFbGVtID0gMTsKKwkgICAgeG1sUGFyc2VDUk5HX25hbWVDbGFzcyhjdHh0KTsKKwkgICAgeG1sUGFyc2VDUk5HX3BhdHRlcm5CbG9jayhjdHh0KTsKKwl9IGVsc2UgaWYgKHRva2VuLT50b2tlbiA9PSBjdHh0LT5rZXlfYXR0cmlidXRlKSB7CisJICAgIGN0eHQtPmluc2VydCA9IHhtbE5ld05vZGVFYXROYW1lKE5VTEwsICh4bWxDaGFyICopIHRva2VuLT50b2tlbik7CisJICAgIHhtbFBhcnNlQ1JOR0Ryb3BUb2tlbnMoY3R4dCwgMSk7CisJICAgIGlmIChjdHh0LT5pbnNlcnQgPT0gTlVMTCkgQ1JOR19NRU1fRVJST1IwKCk7CisJICAgIGN0eHQtPmlzRWxlbSA9IDA7CisJICAgIHhtbFBhcnNlQ1JOR19uYW1lQ2xhc3MoY3R4dCk7CisJICAgIHhtbFBhcnNlQ1JOR19wYXR0ZXJuQmxvY2soY3R4dCk7CisJfSBlbHNlIGlmICh0b2tlbi0+dG9rZW4gPT0gY3R4dC0+a2V5X21peGVkKSB7CisJICAgIGN0eHQtPmluc2VydCA9IHhtbE5ld05vZGVFYXROYW1lKE5VTEwsICh4bWxDaGFyICopIHRva2VuLT50b2tlbik7CisJICAgIHhtbFBhcnNlQ1JOR0Ryb3BUb2tlbnMoY3R4dCwgMSk7CisJICAgIGlmIChjdHh0LT5pbnNlcnQgPT0gTlVMTCkgQ1JOR19NRU1fRVJST1IwKCk7CisJICAgIHhtbFBhcnNlQ1JOR19wYXR0ZXJuQmxvY2soY3R4dCk7CisJfSBlbHNlIGlmICh0b2tlbi0+dG9rZW4gPT0gY3R4dC0+a2V5X2xpc3QpIHsKKwkgICAgY3R4dC0+aW5zZXJ0ID0geG1sTmV3Tm9kZUVhdE5hbWUoTlVMTCwgKHhtbENoYXIgKikgdG9rZW4tPnRva2VuKTsKKwkgICAgeG1sUGFyc2VDUk5HRHJvcFRva2VucyhjdHh0LCAxKTsKKwkgICAgaWYgKGN0eHQtPmluc2VydCA9PSBOVUxMKSBDUk5HX01FTV9FUlJPUjAoKTsKKwkgICAgeG1sUGFyc2VDUk5HX3BhdHRlcm5CbG9jayhjdHh0KTsKKwl9IGVsc2UgaWYgKHRva2VuLT50b2tlbiA9PSBjdHh0LT5rZXlfZW1wdHkpIHsKKwkgICAgY3R4dC0+aW5zZXJ0ID0geG1sTmV3Tm9kZUVhdE5hbWUoTlVMTCwgKHhtbENoYXIgKikgdG9rZW4tPnRva2VuKTsKKwkgICAgeG1sUGFyc2VDUk5HRHJvcFRva2VucyhjdHh0LCAxKTsKKwkgICAgaWYgKGN0eHQtPmluc2VydCA9PSBOVUxMKSBDUk5HX01FTV9FUlJPUjAoKTsKKwl9IGVsc2UgaWYgKHRva2VuLT50b2tlbiA9PSBjdHh0LT5rZXlfbm90QWxsb3dlZCkgeworCSAgICBjdHh0LT5pbnNlcnQgPSB4bWxOZXdOb2RlRWF0TmFtZShOVUxMLCAoeG1sQ2hhciAqKSB0b2tlbi0+dG9rZW4pOworCSAgICB4bWxQYXJzZUNSTkdEcm9wVG9rZW5zKGN0eHQsIDEpOworCSAgICBpZiAoY3R4dC0+aW5zZXJ0ID09IE5VTEwpIENSTkdfTUVNX0VSUk9SMCgpOworCX0gZWxzZSBpZiAodG9rZW4tPnRva2VuID09IGN0eHQtPmtleV90ZXh0KSB7CisJICAgIGN0eHQtPmluc2VydCA9IHhtbE5ld05vZGVFYXROYW1lKE5VTEwsICh4bWxDaGFyICopIHRva2VuLT50b2tlbik7CisJICAgIHhtbFBhcnNlQ1JOR0Ryb3BUb2tlbnMoY3R4dCwgMSk7CisJICAgIGlmIChjdHh0LT5pbnNlcnQgPT0gTlVMTCkgQ1JOR19NRU1fRVJST1IwKCk7CisJfSBlbHNlIGlmICh0b2tlbi0+dG9rZW4gPT0gY3R4dC0+a2V5X3BhcmVudCkgeworCSAgICBjdHh0LT5pbnNlcnQgPSB4bWxOZXdOb2RlRWF0TmFtZShOVUxMLCAoeG1sQ2hhciAqKSB0b2tlbi0+dG9rZW4pOworCSAgICB4bWxQYXJzZUNSTkdEcm9wVG9rZW5zKGN0eHQsIDEpOworCSAgICBpZiAoY3R4dC0+aW5zZXJ0ID09IE5VTEwpIENSTkdfTUVNX0VSUk9SMCgpOworCSAgICBUT0RPCisJfSBlbHNlIGlmICh0b2tlbi0+dG9rZW4gPT0gY3R4dC0+a2V5X2dyYW1tYXIpIHsKKwkgICAgY3R4dC0+aW5zZXJ0ID0geG1sTmV3Tm9kZUVhdE5hbWUoTlVMTCwgKHhtbENoYXIgKikgdG9rZW4tPnRva2VuKTsKKwkgICAgeG1sUGFyc2VDUk5HRHJvcFRva2VucyhjdHh0LCAxKTsKKwkgICAgaWYgKGN0eHQtPmluc2VydCA9PSBOVUxMKSBDUk5HX01FTV9FUlJPUjAoKTsKKwkgICAgVE9ETworCX0gZWxzZSBpZiAodG9rZW4tPnRva2VuID09IGN0eHQtPmtleV9leHRlcm5hbCkgeworCSAgICBjdHh0LT5pbnNlcnQgPSB4bWxOZXdOb2RlKE5VTEwsIEJBRF9DQVNUICJleHRlcm5hbFJlZiIpOworCSAgICB4bWxQYXJzZUNSTkdEcm9wVG9rZW5zKGN0eHQsIDEpOworCSAgICBpZiAoY3R4dC0+aW5zZXJ0ID09IE5VTEwpIENSTkdfTUVNX0VSUk9SMCgpOworCSAgICBUT0RPCisJfSBlbHNlIHsKKwkgICBUT0RPCisJfQorICAgIH0gZWxzZSBpZiAodG9rZW4tPnRva3R5cGUgPT0gQ1JOR19JREVOVElGSUVSKSB7CisJY3R4dC0+aW5zZXJ0ID0geG1sTmV3Tm9kZUVhdE5hbWUoTlVMTCwgKHhtbENoYXIgKikgY3R4dC0+a2V5X3JlZik7CisJaWYgKGN0eHQtPmluc2VydCA9PSBOVUxMKSBDUk5HX01FTV9FUlJPUjAoKTsKKwl4bWxTZXRQcm9wKGN0eHQtPmluc2VydCwgQkFEX0NBU1QgIm5hbWUiLCB0b2tlbi0+dG9rZW4pOworCXhtbFBhcnNlQ1JOR0Ryb3BUb2tlbnMoY3R4dCwgMSk7CisgICAgfSBlbHNlIGlmICh0b2tlbi0+dG9rdHlwZSA9PSBDUk5HX1FOQU1FKSB7CisgICAgICAgIHhtbFBhcnNlQ1JOR19kYXRhdHlwZShjdHh0KTsKKyAgICB9IGVsc2UgaWYgKHRva2VuLT50b2t0eXBlID09IENSTkdfTElURVJBTF9TRUdNRU5UKSB7CisgICAgICAgIHhtbFBhcnNlQ1JOR19kYXRhdHlwZShjdHh0KTsKKyAgICB9IGVsc2UgaWYgKCh0b2tlbi0+dG9rdHlwZSA9PSBDUk5HX09QKSAmJgorICAgICAgICAgICAgICAgKHRva2VuLT50b2tlblswXSA9PSAnKCcpICYmICh0b2tlbi0+dG9rZW5bMV0gPT0gMCkpIHsKKwl4bWxQYXJzZUNSTkdEcm9wVG9rZW5zKGN0eHQsIDEpOworCXhtbFBhcnNlQ1JOR19wYXR0ZXJuKGN0eHQpOworCXRva2VuID0geG1sUGFyc2VDUk5HR2V0VG9rZW4oY3R4dCwgMSk7CisJaWYgKCh0b2tlbi0+dG9rdHlwZSAhPSBDUk5HX09QKSB8fAorCSAgICAodG9rZW4tPnRva2VuWzBdICE9ICcpJykgfHwgKHRva2VuLT50b2tlblsxXSAhPSAwKSkgeworCSAgICBFUlJPUigiRXhwZWN0aW5nIFwiKVwiIGhlcmUiKTsKKwl9CisJeG1sUGFyc2VDUk5HRHJvcFRva2VucyhjdHh0LCAxKTsKKyAgICB9CisgICAgcmV0dXJuKDApOworfQorCisvKioKKyAqIHhtbFBhcnNlQ1JOR19wYXJ0aWNsZToKKyAqIEBjdHh0OiBhIGNvbXBhY3QgUk5HIHBhcnNlciBjb250ZXh0CisgKgorICogUGFyc2UgcGFydGljbGUgb2YgdGhlIFJFTEFYIE5HIENvbXBhY3QgU3ludGF4IEFwcGVuZGl4IEEKKyAqCisgKiBSZXR1cm5zIDAgaW4gY2FzZSBvZiBzdWNjZXNzIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3N0YXRpYyBpbnQKK3htbFBhcnNlQ1JOR19wYXJ0aWNsZSh4bWxDUmVsYXhOR1BhcnNlckN0eHRQdHIgY3R4dCkKK3sKKyAgICB0b2tlblB0ciB0b2tlbjsKKyAgICB4bWxOb2RlUHRyIGluc2VydCA9IGN0eHQtPmluc2VydCwgcmVzLCB0bXAgPSBOVUxMOworCisgICAgY3R4dC0+aW5zZXJ0ID0gTlVMTDsKKyAgICB4bWxQYXJzZUNSTkdfcHJpbWFyeShjdHh0KTsKKyAgICByZXMgPSBjdHh0LT5pbnNlcnQ7CisgICAgdG9rZW4gPSB4bWxQYXJzZUNSTkdHZXRUb2tlbihjdHh0LCAxKTsKKyAgICBpZiAoKHRva2VuICE9IE5VTEwpICYmICh0b2tlbi0+dG9rdHlwZSA9PSBDUk5HX09QKSkgeworICAgICAgICBpZiAoKHRva2VuLT50b2tlblswXSA9PSAnKicpICYmICh0b2tlbi0+dG9rZW5bMV0gPT0gMCkpIHsKKwkgICAgdG1wID0geG1sTmV3Tm9kZShOVUxMLCBCQURfQ0FTVCAiemVyb09yTW9yZSIpOworCSAgICBpZiAodG1wID09IE5VTEwpIENSTkdfTUVNX0VSUk9SMCgpOworCX0gZWxzZSBpZiAoKHRva2VuLT50b2tlblswXSA9PSAnKycpICYmICh0b2tlbi0+dG9rZW5bMV0gPT0gMCkpIHsKKwkgICAgdG1wID0geG1sTmV3Tm9kZShOVUxMLCBCQURfQ0FTVCAib25lT3JNb3JlIik7CisJICAgIGlmICh0bXAgPT0gTlVMTCkgQ1JOR19NRU1fRVJST1IwKCk7CisJfSBlbHNlIGlmICgodG9rZW4tPnRva2VuWzBdID09ICc/JykgJiYgKHRva2VuLT50b2tlblsxXSA9PSAwKSkgeworCSAgICB0bXAgPSB4bWxOZXdOb2RlKE5VTEwsIEJBRF9DQVNUICJvcHRpb25hbCIpOworCSAgICBpZiAodG1wID09IE5VTEwpIENSTkdfTUVNX0VSUk9SMCgpOworCX0KKwlpZiAodG1wICE9IE5VTEwpIHsKKwkgICAgeG1sQWRkQ2hpbGQodG1wLCByZXMpOworCSAgICByZXMgPSB0bXA7CisJICAgIHhtbFBhcnNlQ1JOR0Ryb3BUb2tlbnMoY3R4dCwgMSk7CisJfQorICAgIH0KKyAgICBpZiAoaW5zZXJ0ICE9IE5VTEwpIHsKKyAgICAgICAgeG1sQWRkQ2hpbGQoaW5zZXJ0LCByZXMpOworCWN0eHQtPmluc2VydCA9IGluc2VydDsKKyAgICB9IGVsc2UKKyAgICAgICAgY3R4dC0+aW5zZXJ0ID0gcmVzOworICAgIHJldHVybigwKTsKK30KKworLyoqCisgKiB4bWxQYXJzZUNSTkdfcGF0dGVybjoKKyAqIEBjdHh0OiBhIGNvbXBhY3QgUk5HIHBhcnNlciBjb250ZXh0CisgKgorICogUGFyc2UgcGF0dGVybiBvZiB0aGUgUkVMQVggTkcgQ29tcGFjdCBTeW50YXggQXBwZW5kaXggQQorICoKKyAqIFJldHVybnMgMCBpbiBjYXNlIG9mIHN1Y2Nlc3MgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworc3RhdGljIGludAoreG1sUGFyc2VDUk5HX3BhdHRlcm4oeG1sQ1JlbGF4TkdQYXJzZXJDdHh0UHRyIGN0eHQpCit7CisgICAgdG9rZW5QdHIgdG9rZW47CisgICAgeG1sTm9kZVB0ciBpbnNlcnQgPSBjdHh0LT5pbnNlcnQsIHByZXYsIGdycDsKKworICAgIGN0eHQtPmluc2VydCA9IE5VTEw7CisgICAgeG1sUGFyc2VDUk5HX3BhcnRpY2xlKGN0eHQpOworICAgIHByZXYgPSBjdHh0LT5pbnNlcnQ7CisgICAgdG9rZW4gPSB4bWxQYXJzZUNSTkdHZXRUb2tlbihjdHh0LCAxKTsKKyAgICB3aGlsZSAoKHByZXYgIT0gTlVMTCkgJiYgKHRva2VuICE9IE5VTEwpICYmICh0b2tlbi0+dG9rdHlwZSA9PSBDUk5HX09QKSkgeworICAgICAgICBpZiAodG9rZW4tPnRva2VuID09IGN0eHQtPmtleV9vcikgeworCSAgICBncnAgPSB4bWxOZXdOb2RlRWF0TmFtZShOVUxMLCAoeG1sQ2hhciAqKSBjdHh0LT5rZXlfY2hvaWNlKTsKKwkgICAgaWYgKGdycCA9PSBOVUxMKSBDUk5HX01FTV9FUlJPUjAoKTsKKwl9IGVsc2UgaWYgKHRva2VuLT50b2tlbiA9PSBjdHh0LT5rZXlfYW5kKSB7CisJICAgIGdycCA9IHhtbE5ld05vZGVFYXROYW1lKE5VTEwsICh4bWxDaGFyICopIGN0eHQtPmtleV9pbnRlcmxlYXZlKTsKKwkgICAgaWYgKGdycCA9PSBOVUxMKSBDUk5HX01FTV9FUlJPUjAoKTsKKwl9IGVsc2UgaWYgKHRva2VuLT50b2tlbiA9PSBjdHh0LT5rZXlfY29tbWEpIHsKKwkgICAgZ3JwID0geG1sTmV3Tm9kZUVhdE5hbWUoTlVMTCwgKHhtbENoYXIgKikgY3R4dC0+a2V5X2dyb3VwKTsKKwkgICAgaWYgKGdycCA9PSBOVUxMKSBDUk5HX01FTV9FUlJPUjAoKTsKKwl9IGVsc2UKKwkgICBicmVhazsKKwl4bWxQYXJzZUNSTkdEcm9wVG9rZW5zKGN0eHQsIDEpOworICAgICAgICBjdHh0LT5pbnNlcnQgPSBOVUxMOworCXhtbFBhcnNlQ1JOR19wYXJ0aWNsZShjdHh0KTsKKwl4bWxBZGRDaGlsZChncnAsIHByZXYpOworCXhtbEFkZENoaWxkKGdycCwgY3R4dC0+aW5zZXJ0KTsKKwlwcmV2ID0gZ3JwOworCXRva2VuID0geG1sUGFyc2VDUk5HR2V0VG9rZW4oY3R4dCwgMSk7CisgICAgfQorICAgIGlmIChpbnNlcnQgIT0gTlVMTCkgeworCXhtbEFkZENoaWxkKGluc2VydCwgcHJldik7CisJY3R4dC0+aW5zZXJ0ID0gaW5zZXJ0OworICAgIH0gZWxzZSB7CisJY3R4dC0+aW5zZXJ0ID0gcHJldjsKKyAgICB9CisKKyAgICByZXR1cm4oMCk7Cit9CisKKy8qKgorICogeG1sUGFyc2VDUk5HX2NvbXBvbmVudDoKKyAqIEBjdHh0OiBhIGNvbXBhY3QgUk5HIHBhcnNlciBjb250ZXh0CisgKgorICogUGFyc2UgY29tcG9uZW50IG9mIHRoZSBSRUxBWCBORyBDb21wYWN0IFN5bnRheCBBcHBlbmRpeCBBCisgKgorICogUmV0dXJucyAwIGluIGNhc2Ugb2Ygc3VjY2VzcyBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvcgorICovCitzdGF0aWMgaW50Cit4bWxQYXJzZUNSTkdfY29tcG9uZW50KHhtbENSZWxheE5HUGFyc2VyQ3R4dFB0ciBjdHh0KQoreworICAgIHRva2VuUHRyIHRva2VuLCB0b2syOworICAgIHhtbE5vZGVQdHIgaW5zZXJ0ID0gY3R4dC0+aW5zZXJ0OworCisgICAgdG9rZW4gPSB4bWxQYXJzZUNSTkdHZXRUb2tlbihjdHh0LCAxKTsKKyAgICBpZiAodG9rZW4gPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuKDApOworICAgIGlmICh0b2tlbi0+dG9rdHlwZSA9PSBDUk5HX0tFWVdPUkQpIHsKKyAgICAgICAgaWYgKHRva2VuLT50b2tlbiA9PSBjdHh0LT5rZXlfc3RhcnQpIHsKKwkgICAgeG1sTm9kZVB0ciBzdGFydDsKKworCSAgICBzdGFydCA9IHhtbE5ld05vZGVFYXROYW1lKE5VTEwsICh4bWxDaGFyICopIGN0eHQtPmtleV9zdGFydCk7CisJICAgIGlmIChzdGFydCA9PSBOVUxMKSBDUk5HX01FTV9FUlJPUjAoKTsKKwkgICAgaWYgKGN0eHQtPmluc2VydCAhPSBOVUxMKQorCSAgICAgICAgeG1sQWRkQ2hpbGQoY3R4dC0+aW5zZXJ0LCBzdGFydCk7CisJICAgIGN0eHQtPmluc2VydCA9IHN0YXJ0OworICAgICAgICAgICAgeG1sUGFyc2VDUk5HRHJvcFRva2VucyhjdHh0LCAxKTsKKwkgICAgdG9rZW4gPSB4bWxQYXJzZUNSTkdHZXRUb2tlbihjdHh0LCAxKTsKKworICAgICAgICAgICAgaWYgKCh0b2tlbi0+dG9rdHlwZSA9PSBDUk5HX09QKSAmJgorCSAgICAgICAgKHRva2VuLT50b2tlbiA9PSBjdHh0LT5rZXlfZXF1YWwpKSB7CisJICAgIH0gZWxzZSBpZiAoKHRva2VuLT50b2t0eXBlID09IENSTkdfT1ApICYmCisJICAgICAgICAgICAgICAgKHRva2VuLT50b2tlbiA9PSBjdHh0LT5rZXlfb3JlcXVhbCkpIHsKKwkJeG1sUGFyc2VDUk5HX2F0dHJpYnV0ZShjdHh0LCBjdHh0LT5rZXlfY29tYmluZSwgTlVMTCwKKwkJICAgICAgICAgICAgICAgICAgICAgICBCQURfQ0FTVCAiY2hvaWNlIik7CisJICAgIH0gZWxzZSBpZiAoKHRva2VuLT50b2t0eXBlID09IENSTkdfT1ApICYmCisJICAgICAgICAgICAgICAgKHRva2VuLT50b2tlbiA9PSBjdHh0LT5rZXlfYW5kZXF1YWwpKSB7CisJCXhtbFBhcnNlQ1JOR19hdHRyaWJ1dGUoY3R4dCwgY3R4dC0+a2V5X2NvbWJpbmUsIE5VTEwsCisJCSAgICAgICAgICAgICAgICAgICAgICAgQkFEX0NBU1QgImludGVybGVhdmUiKTsKKwkgICAgfSBlbHNlIHsKKwkgICAgICAgIEVSUk9SKCJleHBlY3RpbmcgXCI9XCIgb3IgXCImPVwiIG9yIFwifD1cIiBoZXJlIikKKwkJcmV0dXJuKC0xKTsKKwkgICAgfQorCSAgICBzdGFydC0+cHJvcGVydGllcyA9IGN0eHQtPmF0dHJzOworCSAgICBjdHh0LT5hdHRycyA9IE5VTEw7CisgICAgICAgICAgICB4bWxQYXJzZUNSTkdEcm9wVG9rZW5zKGN0eHQsIDEpOworCSAgICB4bWxQYXJzZUNSTkdfcGF0dGVybihjdHh0KTsKKworCX0gZWxzZSBpZiAodG9rZW4tPnRva2VuID09IGN0eHQtPmtleV9pbmNsdWRlKSB7CisJICAgIFRPRE8KKwl9IGVsc2UgaWYgKHRva2VuLT50b2tlbiA9PSBjdHh0LT5rZXlfZGl2KSB7CisJICAgIFRPRE8KKwl9IGVsc2UgeworCSAgICByZXR1cm4oLTEpOworCX0KKyAgICB9IGVsc2UgaWYgKHRva2VuLT50b2t0eXBlID09IENSTkdfSURFTlRJRklFUikgeworICAgICAgICB4bWxOb2RlUHRyIGRlZmluZTsKKwljb25zdCB4bWxDaGFyICppZGVudGlmaWVyOworCisgICAgICAgIGlkZW50aWZpZXIgPSB0b2tlbi0+dG9rZW47CisJdG9rMiA9IHhtbFBhcnNlQ1JOR0dldFRva2VuKGN0eHQsIDIpOworCWlmICgodG9rMi0+dG9rdHlwZSA9PSBDUk5HX09QKSAmJgorCSAgICAodG9rMi0+dG9rZW4gPT0gY3R4dC0+a2V5X2VxdWFsKSkgeworCX0gZWxzZSBpZiAoKHRvazItPnRva3R5cGUgPT0gQ1JOR19PUCkgJiYKKwkJICAgKHRvazItPnRva2VuID09IGN0eHQtPmtleV9vcmVxdWFsKSkgeworCSAgICB4bWxQYXJzZUNSTkdfYXR0cmlidXRlKGN0eHQsIGN0eHQtPmtleV9jb21iaW5lLCBOVUxMLAorCQkJCSAgIEJBRF9DQVNUICJjaG9pY2UiKTsKKwl9IGVsc2UgaWYgKCh0b2syLT50b2t0eXBlID09IENSTkdfT1ApICYmCisJCSAgICh0b2syLT50b2tlbiA9PSBjdHh0LT5rZXlfYW5kZXF1YWwpKSB7CisJICAgIHhtbFBhcnNlQ1JOR19hdHRyaWJ1dGUoY3R4dCwgY3R4dC0+a2V5X2NvbWJpbmUsIE5VTEwsCisJCQkJICAgQkFEX0NBU1QgImludGVybGVhdmUiKTsKKwl9IGVsc2UgeworCSAgICBFUlJPUigiZXhwZWN0aW5nIFwiPVwiIG9yIFwiJj1cIiBvciBcInw9XCIgaGVyZSIpCisJICAgIHJldHVybigtMSk7CisJfQorCXhtbFBhcnNlQ1JOR0Ryb3BUb2tlbnMoY3R4dCwgMik7CisKKwlkZWZpbmUgPSB4bWxOZXdOb2RlRWF0TmFtZShOVUxMLCAoeG1sQ2hhciAqKSBjdHh0LT5rZXlfZGVmaW5lKTsKKwlpZiAoZGVmaW5lID09IE5VTEwpIENSTkdfTUVNX0VSUk9SMCgpOworCWRlZmluZS0+cHJvcGVydGllcyA9IGN0eHQtPmF0dHJzOworCWN0eHQtPmF0dHJzID0gTlVMTDsKKwl4bWxTZXRQcm9wKGRlZmluZSwgQkFEX0NBU1QgIm5hbWUiLCBpZGVudGlmaWVyKTsKKwlpZiAoY3R4dC0+aW5zZXJ0ICE9IE5VTEwpCisJICAgIHhtbEFkZENoaWxkKGN0eHQtPmluc2VydCwgZGVmaW5lKTsKKwljdHh0LT5pbnNlcnQgPSBkZWZpbmU7CisJeG1sUGFyc2VDUk5HX3BhdHRlcm4oY3R4dCk7CisgICAgfSBlbHNlIHsKKwlyZXR1cm4oLTEpOworICAgIH0KKyAgICBjdHh0LT5pbnNlcnQgPSBpbnNlcnQ7CisgICAgcmV0dXJuKDApOworfQorCisvKioKKyAqIHhtbFBhcnNlQ1JOR19ncmFtbWFyOgorICogQGN0eHQ6IGEgY29tcGFjdCBSTkcgcGFyc2VyIGNvbnRleHQKKyAqCisgKiBQYXJzZSBncmFtbWFyIG9mIHRoZSBSRUxBWCBORyBDb21wYWN0IFN5bnRheCBBcHBlbmRpeCBBCisgKgorICogUmV0dXJucyAwIGluIGNhc2Ugb2Ygc3VjY2VzcyBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvcgorICovCitzdGF0aWMgaW50Cit4bWxQYXJzZUNSTkdfZ3JhbW1hcih4bWxDUmVsYXhOR1BhcnNlckN0eHRQdHIgY3R4dCBBVFRSSUJVVEVfVU5VU0VEKQoreworICAgIHRva2VuUHRyIHRva2VuOworICAgIGludCByZXQ7CisKKyAgICB0b2tlbiA9IHhtbFBhcnNlQ1JOR0dldFRva2VuKGN0eHQsIDEpOworICAgIHdoaWxlICh0b2tlbiAhPSBOVUxMKSB7CisgICAgICAgIHJldCA9IHhtbFBhcnNlQ1JOR19jb21wb25lbnQoY3R4dCk7CisJaWYgKHJldCAhPSAwKQorCSAgICBicmVhazsKKwl0b2tlbiA9IHhtbFBhcnNlQ1JOR0dldFRva2VuKGN0eHQsIDEpOworICAgIH0KKyAgICByZXR1cm4oMCk7Cit9CisKKy8qKgorICogeG1sUGFyc2VDUk5HX3RvcExldmVsQm9keToKKyAqIEBjdHh0OiBhIGNvbXBhY3QgUk5HIHBhcnNlciBjb250ZXh0CisgKgorICogUGFyc2UgdG9wTGV2ZWxCb2R5IG9mIHRoZSBSRUxBWCBORyBDb21wYWN0IFN5bnRheCBBcHBlbmRpeCBBCisgKgorICogUmV0dXJucyAwIGluIGNhc2Ugb2Ygc3VjY2VzcyBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvcgorICovCitzdGF0aWMgaW50Cit4bWxQYXJzZUNSTkdfdG9wTGV2ZWxCb2R5KHhtbENSZWxheE5HUGFyc2VyQ3R4dFB0ciBjdHh0KQoreworICAgIHRva2VuUHRyIHRva2VuLCB0b2syOworCisgICAgdG9rZW4gPSB4bWxQYXJzZUNSTkdHZXRUb2tlbihjdHh0LCAxKTsKKyAgICBpZiAodG9rZW4tPnRva3R5cGUgPT0gQ1JOR19LRVlXT1JEKSB7CisgICAgICAgIGlmICgodG9rZW4tPnRva2VuID09IGN0eHQtPmtleV9zdGFydCkgfHwKKwkgICAgKHRva2VuLT50b2tlbiA9PSBjdHh0LT5rZXlfaW5jbHVkZSkgfHwKKwkgICAgKHRva2VuLT50b2tlbiA9PSBjdHh0LT5rZXlfZGl2KSkgeworCSAgICB4bWxOb2RlUHRyIGdyYW1tYXI7CisKKwkgICAgZ3JhbW1hciA9IHhtbE5ld05vZGVFYXROYW1lKE5VTEwsICh4bWxDaGFyICopIGN0eHQtPmtleV9ncmFtbWFyKTsKKwkgICAgaWYgKGdyYW1tYXIgPT0gTlVMTCkgQ1JOR19NRU1fRVJST1IwKCk7CisJICAgIHhtbERvY1NldFJvb3RFbGVtZW50KGN0eHQtPmRvYywgZ3JhbW1hcik7CisJICAgIGN0eHQtPmluc2VydCA9IGdyYW1tYXI7CisKKwkgICAgeG1sUGFyc2VDUk5HX2dyYW1tYXIoY3R4dCk7CisJfSBlbHNlIHsKKwkgICAgeG1sUGFyc2VDUk5HX3BhdHRlcm4oY3R4dCk7CisJfQorICAgIH0gZWxzZSB7CisgICAgICAgIHRvazIgPSB4bWxQYXJzZUNSTkdHZXRUb2tlbihjdHh0LCAyKTsKKwlpZiAoKHRvazItPnRva3R5cGUgPT0gQ1JOR19PUCkgJiYKKwkgICAgKCh0b2syLT50b2tlbiA9PSBjdHh0LT5rZXlfZXF1YWwpIHx8CisJICAgICAodG9rMi0+dG9rZW4gPT0gY3R4dC0+a2V5X29yZXF1YWwpIHx8CisJICAgICAodG9rMi0+dG9rZW4gPT0gY3R4dC0+a2V5X2FuZGVxdWFsKSkpIHsKKwkgICAgeG1sTm9kZVB0ciBncmFtbWFyOworCisJICAgIGdyYW1tYXIgPSB4bWxOZXdOb2RlRWF0TmFtZShOVUxMLCAoeG1sQ2hhciAqKSBjdHh0LT5rZXlfZ3JhbW1hcik7CisJICAgIGlmIChncmFtbWFyID09IE5VTEwpIENSTkdfTUVNX0VSUk9SMCgpOworCSAgICB4bWxEb2NTZXRSb290RWxlbWVudChjdHh0LT5kb2MsIGdyYW1tYXIpOworCSAgICBjdHh0LT5pbnNlcnQgPSBncmFtbWFyOworCisJICAgIHhtbFBhcnNlQ1JOR19ncmFtbWFyKGN0eHQpOworCX0gZWxzZSB7CisJICAgIHhtbFBhcnNlQ1JOR19wYXR0ZXJuKGN0eHQpOworCX0KKyAgICB9CisgICAgcmV0dXJuKDApOworfQorCisvKioKKyAqIHhtbFBhcnNlQ1JOR19uYW1lc3BhY2VQcmVmaXg6CisgKiBAY3R4dDogYSBjb21wYWN0IFJORyBwYXJzZXIgY29udGV4dAorICoKKyAqIFBhcnNlIG5hbWVzcGFjZVByZWZpeCBvZiB0aGUgUkVMQVggTkcgQ29tcGFjdCBTeW50YXggQXBwZW5kaXggQQorICoKKyAqIFJldHVybnMgdGhlIHByZWZpeCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworc3RhdGljIGNvbnN0IHhtbENoYXIgKgoreG1sUGFyc2VDUk5HX25hbWVzcGFjZVByZWZpeCh4bWxDUmVsYXhOR1BhcnNlckN0eHRQdHIgY3R4dCkKK3sKKyAgICB0b2tlblB0ciB0b2tlbjsKKyAgICBjb25zdCB4bWxDaGFyICpwcmVmaXggPSBOVUxMOworCisgICAgdG9rZW4gPSB4bWxQYXJzZUNSTkdHZXRUb2tlbihjdHh0LCAxKTsKKyAgICBpZiAodG9rZW4tPnRva3R5cGUgPT0gQ1JOR19JREVOVElGSUVSKSB7CisgICAgICAgIHByZWZpeCA9IHRva2VuLT50b2tlbjsKKyAgICB9IGVsc2UgaWYgKHRva2VuLT50b2t0eXBlID09IENSTkdfT1ApIHsKKwlpZiAoKHRva2VuLT50b2tlblswXSA9PSAnPScpICYmICh0b2tlbi0+dG9rZW5bMV0gPT0gMCkpCisJICAgIHJldHVybihOVUxMKTsKKyAgICAgICAgcHJlZml4ID0gdG9rZW4tPnRva2VuOworICAgIH0gZWxzZSB7CisJRVJST1IoIkV4cGVjdGluZyBhIG5hbWVzcGFjZSBwcmVmaXgiKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIHhtbFBhcnNlQ1JOR0Ryb3BUb2tlbnMoY3R4dCwgMSk7CisKKyAgICBpZiAoeG1sU3RyRXF1YWwocHJlZml4LCBCQURfQ0FTVCAieG1sbnMiKSkgeworCUVSUk9SKCJOYW1lc3BhY2UgcHJlZml4IFwieG1sbnNcIiBpcyBmb3JiaWRkZW4iKTsKKyAgICB9CisgICAgcmV0dXJuKHByZWZpeCk7Cit9CisKKy8qKgorICogeG1sUGFyc2VDUk5HX2RlY2w6CisgKiBAY3R4dDogYSBjb21wYWN0IFJORyBwYXJzZXIgY29udGV4dAorICoKKyAqIFBhcnNlIGRlY2wgb2YgdGhlIFJFTEFYIE5HIENvbXBhY3QgU3ludGF4IEFwcGVuZGl4IEEKKyAqCisgKiBSZXR1cm5zIDAgaW4gY2FzZSBvZiBzdWNjZXNzIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3N0YXRpYyBpbnQKK3htbFBhcnNlQ1JOR19kZWNsKHhtbENSZWxheE5HUGFyc2VyQ3R4dFB0ciBjdHh0KQoreworICAgIGNvbnN0IHhtbENoYXIgKnByZWZpeCA9IE5VTEw7CisgICAgY29uc3QgeG1sQ2hhciAqbmFtZXNwYWNlID0gTlVMTDsKKyAgICB0b2tlblB0ciB0b2tlbjsKKworICAgIHRva2VuID0geG1sUGFyc2VDUk5HR2V0VG9rZW4oY3R4dCwgMSk7CisgICAgaWYgKHRva2VuLT50b2t0eXBlICE9IENSTkdfS0VZV09SRCkgcmV0dXJuKC0xKTsKKyAgICBpZiAodG9rZW4tPnRva2VuID09IGN0eHQtPmtleV9kZWZhdWx0KSB7CisgICAgICAgIHhtbFBhcnNlQ1JOR0Ryb3BUb2tlbnMoY3R4dCwgMSk7CisgICAgICAgIHRva2VuID0geG1sUGFyc2VDUk5HR2V0VG9rZW4oY3R4dCwgMSk7CisgICAgICAgIGlmICgodG9rZW4tPnRva3R5cGUgIT0gQ1JOR19LRVlXT1JEKSB8fAorCSAgICAodG9rZW4tPnRva2VuICE9IGN0eHQtPmtleV9uYW1lc3BhY2UpKSB7CisJICAgIEVSUk9SKCJFeHBlY3Rpbmcga2V5d29yZCBcIm5hbWVzcGFjZVwiIGFmdGVyIFwiZGVmYXVsdFwiIik7CisJfQorICAgICAgICB4bWxQYXJzZUNSTkdEcm9wVG9rZW5zKGN0eHQsIDEpOworCXByZWZpeCA9IHhtbFBhcnNlQ1JOR19uYW1lc3BhY2VQcmVmaXgoY3R4dCk7CisgICAgICAgIHRva2VuID0geG1sUGFyc2VDUk5HR2V0VG9rZW4oY3R4dCwgMSk7CisgICAgICAgIGlmICgodG9rZW4tPnRva3R5cGUgIT0gQ1JOR19PUCkgfHwKKwkgICAgKHRva2VuLT50b2tlblswXSAhPSAnPScpIHx8ICh0b2tlbi0+dG9rZW5bMV0gIT0gMCkpIHsKKwkgICAgRVJST1IoIkV4cGVjdGluZyBrZXl3b3JkIFwiPVwiIGhlcmUiKTsKKwl9CisgICAgICAgIHhtbFBhcnNlQ1JOR0Ryb3BUb2tlbnMoY3R4dCwgMSk7CisgICAgICAgIHRva2VuID0geG1sUGFyc2VDUk5HR2V0VG9rZW4oY3R4dCwgMSk7CisgICAgICAgIGlmICgodG9rZW4tPnRva3R5cGUgPT0gQ1JOR19LRVlXT1JEKSAmJgorCSAgICAodG9rZW4tPnRva2VuID09IGN0eHQtPmtleV9pbmhlcml0KSkgeworCSAgICBuYW1lc3BhY2UgPSB4bWxDUmVsYXhOR0luaGVyaXQ7CisJfSBlbHNlIGlmICh0b2tlbi0+dG9rdHlwZSA9PSBDUk5HX0xJVEVSQUxfU0VHTUVOVCkgeworCSAgICBuYW1lc3BhY2UgPSB0b2tlbi0+dG9rZW47CisJfSBlbHNlIHsKKwkgICAgRVJST1IoIkV4cGVjdGluZyBhbiBVUkkgb3IgXCJpbmhlcml0XCIgdmFsdWUiKTsKKwl9CisgICAgICAgIHhtbFBhcnNlQ1JOR0Ryb3BUb2tlbnMoY3R4dCwgMSk7CisgICAgICAgIGlmIChuYW1lc3BhY2UgIT0gTlVMTCkgeworCSAgICBpZiAocHJlZml4ICE9IE5VTEwpCisJCXhtbFBhcnNlQ1JOR19iaW5kUHJlZml4KGN0eHQsIHByZWZpeCwgbmFtZXNwYWNlKTsKKyAgICAgICAgICAgIHhtbFBhcnNlQ1JOR19iaW5kUHJlZml4KGN0eHQsIE5VTEwsIG5hbWVzcGFjZSk7CisJfQorICAgIH0gZWxzZSBpZiAodG9rZW4tPnRva2VuID09IGN0eHQtPmtleV9uYW1lc3BhY2UpIHsKKyAgICAgICAgeG1sUGFyc2VDUk5HRHJvcFRva2VucyhjdHh0LCAxKTsKKwlwcmVmaXggPSB4bWxQYXJzZUNSTkdfbmFtZXNwYWNlUHJlZml4KGN0eHQpOworICAgICAgICB0b2tlbiA9IHhtbFBhcnNlQ1JOR0dldFRva2VuKGN0eHQsIDEpOworICAgICAgICBpZiAoKHRva2VuLT50b2t0eXBlICE9IENSTkdfT1ApIHx8CisJICAgICh0b2tlbi0+dG9rZW5bMF0gIT0gJz0nKSB8fCAodG9rZW4tPnRva2VuWzFdICE9IDApKSB7CisJICAgIEVSUk9SKCJFeHBlY3Rpbmcga2V5d29yZCBcIj1cIiBoZXJlIik7CisJfQorICAgICAgICB4bWxQYXJzZUNSTkdEcm9wVG9rZW5zKGN0eHQsIDEpOworICAgICAgICB0b2tlbiA9IHhtbFBhcnNlQ1JOR0dldFRva2VuKGN0eHQsIDEpOworICAgICAgICBpZiAoKHRva2VuLT50b2t0eXBlID09IENSTkdfS0VZV09SRCkgJiYKKwkgICAgKHRva2VuLT50b2tlbiA9PSBjdHh0LT5rZXlfaW5oZXJpdCkpIHsKKwkgICAgbmFtZXNwYWNlID0geG1sQ1JlbGF4TkdJbmhlcml0OworCX0gZWxzZSBpZiAodG9rZW4tPnRva3R5cGUgPT0gQ1JOR19MSVRFUkFMX1NFR01FTlQpIHsKKwkgICAgbmFtZXNwYWNlID0gdG9rZW4tPnRva2VuOworCX0gZWxzZSB7CisJICAgIEVSUk9SKCJFeHBlY3RpbmcgYW4gVVJJIG9yIFwiaW5oZXJpdFwiIHZhbHVlIik7CisJfQorICAgICAgICB4bWxQYXJzZUNSTkdEcm9wVG9rZW5zKGN0eHQsIDEpOworICAgICAgICBpZiAobmFtZXNwYWNlICE9IE5VTEwpCisJICAgIHhtbFBhcnNlQ1JOR19iaW5kUHJlZml4KGN0eHQsIHByZWZpeCwgbmFtZXNwYWNlKTsKKyAgICB9IGVsc2UgaWYgKHRva2VuLT50b2tlbiA9PSBjdHh0LT5rZXlfZGF0YXR5cGVzKSB7CisgICAgICAgIHhtbFBhcnNlQ1JOR0Ryb3BUb2tlbnMoY3R4dCwgMSk7CisKKyAgICAgICAgdG9rZW4gPSB4bWxQYXJzZUNSTkdHZXRUb2tlbihjdHh0LCAxKTsKKwlpZiAoKHRva2VuLT50b2t0eXBlICE9IENSTkdfS0VZV09SRCkgJiYKKwkgICAgKHRva2VuLT50b2t0eXBlICE9IENSTkdfSURFTlRJRklFUikpIHsKKwkgICAgRVJST1IoIkV4cGVjdGluZyBhIGRhdGF0eXBlIHByZWZpeCBpZGVudGlmaWVyIGhlcmUiKTsKKwl9IGVsc2UKKwkgICAgcHJlZml4ID0gdG9rZW4tPnRva2VuOworICAgICAgICB4bWxQYXJzZUNSTkdEcm9wVG9rZW5zKGN0eHQsIDEpOworICAgICAgICB0b2tlbiA9IHhtbFBhcnNlQ1JOR0dldFRva2VuKGN0eHQsIDEpOworICAgICAgICBpZiAoKHRva2VuLT50b2t0eXBlICE9IENSTkdfT1ApIHx8CisJICAgICh0b2tlbi0+dG9rZW5bMF0gIT0gJz0nKSB8fCAodG9rZW4tPnRva2VuWzFdICE9IDApKSB7CisJICAgIEVSUk9SKCJFeHBlY3Rpbmcga2V5d29yZCBcIj1cIiBoZXJlIik7CisJfQorICAgICAgICB4bWxQYXJzZUNSTkdEcm9wVG9rZW5zKGN0eHQsIDEpOworICAgICAgICB0b2tlbiA9IHhtbFBhcnNlQ1JOR0dldFRva2VuKGN0eHQsIDEpOworCWlmICh0b2tlbi0+dG9rdHlwZSA9PSBDUk5HX0xJVEVSQUxfU0VHTUVOVCkgeworCSAgICBuYW1lc3BhY2UgPSB0b2tlbi0+dG9rZW47CisJfSBlbHNlIHsKKwkgICAgRVJST1IoIkV4cGVjdGluZyBhIGxpdGVyYWwgdmFsdWUgZm9yIHRoZSBkYXRhdHlwZSBpZGVudGlmaWVyIik7CisJfQorICAgICAgICB4bWxQYXJzZUNSTkdEcm9wVG9rZW5zKGN0eHQsIDEpOworICAgICAgICBpZiAoKG5hbWVzcGFjZSAhPSBOVUxMKSAmJiAocHJlZml4ICE9IE5VTEwpKQorCSAgICB4bWxQYXJzZUNSTkdfYmluZERhdGF0eXBlUHJlZml4KGN0eHQsIHByZWZpeCwgbmFtZXNwYWNlKTsKKyAgICB9CisKKyAgICByZXR1cm4oMCk7Cit9CisKKy8qKgorICogeG1sUGFyc2VDUk5HX3ByZWFtYmxlOgorICogQGN0eHQ6IGEgY29tcGFjdCBSTkcgcGFyc2VyIGNvbnRleHQKKyAqCisgKiBQYXJzZSBwcmVhbWJsZSBvZiB0aGUgUkVMQVggTkcgQ29tcGFjdCBTeW50YXggQXBwZW5kaXggQQorICoKKyAqIFJldHVybnMgMCBpbiBjYXNlIG9mIHN1Y2Nlc3MgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworc3RhdGljIGludAoreG1sUGFyc2VDUk5HX3ByZWFtYmxlKHhtbENSZWxheE5HUGFyc2VyQ3R4dFB0ciBjdHh0KQoreworICAgIHRva2VuUHRyIHRva2VuOworCisgICAgdG9rZW4gPSB4bWxQYXJzZUNSTkdHZXRUb2tlbihjdHh0LCAxKTsKKyAgICB3aGlsZSAodG9rZW4gIT0gTlVMTCkgeworCWlmICh0b2tlbiA9PSBOVUxMKSByZXR1cm4oLTEpOworCWlmICgodG9rZW4tPnRva3R5cGUgPT0gQ1JOR19LRVlXT1JEKSAmJgorCSAgICAoKHRva2VuLT50b2tlbiA9PSBjdHh0LT5rZXlfZGVmYXVsdCkgfHwKKwkgICAgICh0b2tlbi0+dG9rZW4gPT0gY3R4dC0+a2V5X25hbWVzcGFjZSkgfHwKKwkgICAgICh0b2tlbi0+dG9rZW4gPT0gY3R4dC0+a2V5X2RhdGF0eXBlcykpKSB7CisJICAgIHhtbFBhcnNlQ1JOR19kZWNsKGN0eHQpOworCX0gZWxzZQorCSAgICBicmVhazsKKwl0b2tlbiA9IHhtbFBhcnNlQ1JOR0dldFRva2VuKGN0eHQsIDEpOworICAgIH0KKyAgICByZXR1cm4oMCk7Cit9CisKKy8qKgorICogeG1sUGFyc2VDUk5HX3RvcExldmVsOgorICogQGN0eHQ6IGEgY29tcGFjdCBSTkcgcGFyc2VyIGNvbnRleHQKKyAqCisgKiBQYXJzZSB0b3BMZXZlbCBvZiB0aGUgUkVMQVggTkcgQ29tcGFjdCBTeW50YXggQXBwZW5kaXggQQorICoKKyAqIFJldHVybnMgMCBpbiBjYXNlIG9mIHN1Y2Nlc3MgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworc3RhdGljIGludAoreG1sUGFyc2VDUk5HX3RvcExldmVsKHhtbENSZWxheE5HUGFyc2VyQ3R4dFB0ciBjdHh0KQoreworICAgIHhtbFBhcnNlQ1JOR19wcmVhbWJsZShjdHh0KTsKKyAgICB4bWxQYXJzZUNSTkdfdG9wTGV2ZWxCb2R5KGN0eHQpOworICAgIHJldHVybigwKTsKK30KKworLyoqCisgKiB4bWxDb252ZXJ0Q1JORzoKKyAqIEBzY2hlbWFzOiAgcG9pbnRlciB0byB0aGUgdGV4dCBvZiB0aGUgY29tcGFjdCBzY2hlbWFzCisgKiBAbGVuOiAgbGVuZ3RoIG9mIHRoZSBzY2hlbWFzIGluIGJ5dGVzIChvciAwKQorICogQGVuY29kaW5nOiAgZW5jb2RpbmcgaW5kaWNhdGVkIGJ5IHRoZSBjb250ZXh0IG9yIE5VTEwKKyAqCisgKiBDb21waWxlcyB0aGUgc2NoZW1hcyBpbnRvIHRoZSBlcXVpdmFsZW50IFJlbGF4LU5HIFhNTCBzdHJ1Y3R1cmUKKyAqCisgKiBSZXR1cm5zIHRoZSB4bWxEb2NQdHIgcmVzdWx0aW5nIGZyb20gdGhlIGNvbXBpbGF0aW9uIG9yCisgKiAgICAgICAgIE5VTEwgaW4gY2FzZSBvZiBlcnJvcgorICovCit4bWxEb2NQdHIKK3htbENvbnZlcnRDUk5HKGNvbnN0IGNoYXIgKnNjaGVtYXMsIGludCBsZW4sIGNvbnN0IGNoYXIgKmVuY29kaW5nKSB7CisgICAgc3RydWN0IF94bWxDUmVsYXhOR1BhcnNlckN0eHQgY3R4dDsKKyAgICB4bWxEb2NQdHIgcmV0ID0gTlVMTDsKKworICAgIGlmIChzY2hlbWFzID09IE5VTEwpIHJldHVybihOVUxMKTsKKyAgICBpZiAobGVuIDw9IDUpIGxlbiA9IHhtbFN0cmxlbigoY29uc3QgdW5zaWduZWQgY2hhciAqKSBzY2hlbWFzKTsKKyAgICBpZiAobGVuIDw9IDApIHJldHVybihOVUxMKTsKKworICAgIG1lbXNldCgmY3R4dCwgMCwgc2l6ZW9mKGN0eHQpKTsKKyAgICBjdHh0LmNvbXBhY3QgPSAoY29uc3QgdW5zaWduZWQgY2hhciAqKSBzY2hlbWFzOworICAgIGN0eHQuY3VyID0gKGNvbnN0IHVuc2lnbmVkIGNoYXIgKikgc2NoZW1hczsKKyAgICBjdHh0LmVuZCA9IChjb25zdCB1bnNpZ25lZCBjaGFyICopICZzY2hlbWFzW2xlbl07CisgICAgY3R4dC5kaWN0ID0geG1sRGljdENyZWF0ZSgpOworICAgIGlmIChjdHh0LmRpY3QgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuKE5VTEwpOworICAgIGN0eHQuZG9jID0geG1sTmV3RG9jKE5VTEwpOworICAgIGlmIChjdHh0LmRvYyA9PSBOVUxMKSB7CisJeG1sRGljdEZyZWUoY3R4dC5kaWN0KTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIGN0eHQuZG9jLT5kaWN0ID0gY3R4dC5kaWN0OworICAgIHhtbERpY3RSZWZlcmVuY2UoY3R4dC5kaWN0KTsKKworICAgIGN0eHQubmJUb2tlbnMgPSAwOworICAgIGN0eHQuZmlyc3RUb2tlbiA9IDA7CisgICAgY3R4dC5rZXlfYXR0cmlidXRlID0geG1sRGljdExvb2t1cChjdHh0LmRpY3QsIEJBRF9DQVNUICJhdHRyaWJ1dGUiLCAtMSk7CisgICAgY3R4dC5rZXlfZGVmYXVsdCA9IHhtbERpY3RMb29rdXAoY3R4dC5kaWN0LCBCQURfQ0FTVCAiZGVmYXVsdCIsIC0xKTsKKyAgICBjdHh0LmtleV9kYXRhdHlwZXMgPSB4bWxEaWN0TG9va3VwKGN0eHQuZGljdCwgQkFEX0NBU1QgImRhdGF0eXBlcyIsIC0xKTsKKyAgICBjdHh0LmtleV9kaXYgPSB4bWxEaWN0TG9va3VwKGN0eHQuZGljdCwgQkFEX0NBU1QgImRpdiIsIC0xKTsKKyAgICBjdHh0LmtleV9lbGVtZW50ID0geG1sRGljdExvb2t1cChjdHh0LmRpY3QsIEJBRF9DQVNUICJlbGVtZW50IiwgLTEpOworICAgIGN0eHQua2V5X2VtcHR5ID0geG1sRGljdExvb2t1cChjdHh0LmRpY3QsIEJBRF9DQVNUICJlbXB0eSIsIC0xKTsKKyAgICBjdHh0LmtleV9leHRlcm5hbCA9IHhtbERpY3RMb29rdXAoY3R4dC5kaWN0LCBCQURfQ0FTVCAiZXh0ZXJuYWwiLCAtMSk7CisgICAgY3R4dC5rZXlfZ3JhbW1hciA9IHhtbERpY3RMb29rdXAoY3R4dC5kaWN0LCBCQURfQ0FTVCAiZ3JhbW1hciIsIC0xKTsKKyAgICBjdHh0LmtleV9pbmNsdWRlID0geG1sRGljdExvb2t1cChjdHh0LmRpY3QsIEJBRF9DQVNUICJpbmNsdWRlIiwgLTEpOworICAgIGN0eHQua2V5X2luaGVyaXQgPSB4bWxEaWN0TG9va3VwKGN0eHQuZGljdCwgQkFEX0NBU1QgImluaGVyaXQiLCAtMSk7CisgICAgY3R4dC5rZXlfbGlzdCA9IHhtbERpY3RMb29rdXAoY3R4dC5kaWN0LCBCQURfQ0FTVCAibGlzdCIsIC0xKTsKKyAgICBjdHh0LmtleV9taXhlZCA9IHhtbERpY3RMb29rdXAoY3R4dC5kaWN0LCBCQURfQ0FTVCAibWl4ZWQiLCAtMSk7CisgICAgY3R4dC5rZXlfbmFtZXNwYWNlID0geG1sRGljdExvb2t1cChjdHh0LmRpY3QsIEJBRF9DQVNUICJuYW1lc3BhY2UiLCAtMSk7CisgICAgY3R4dC5rZXlfbm90QWxsb3dlZCA9IHhtbERpY3RMb29rdXAoY3R4dC5kaWN0LCBCQURfQ0FTVCAibm90QWxsb3dlZCIsIC0xKTsKKyAgICBjdHh0LmtleV9wYXJlbnQgPSB4bWxEaWN0TG9va3VwKGN0eHQuZGljdCwgQkFEX0NBU1QgInBhcmVudCIsIC0xKTsKKyAgICBjdHh0LmtleV9zdGFydCA9IHhtbERpY3RMb29rdXAoY3R4dC5kaWN0LCBCQURfQ0FTVCAic3RhcnQiLCAtMSk7CisgICAgY3R4dC5rZXlfc3RyaW5nID0geG1sRGljdExvb2t1cChjdHh0LmRpY3QsIEJBRF9DQVNUICJzdHJpbmciLCAtMSk7CisgICAgY3R4dC5rZXlfdGV4dCA9IHhtbERpY3RMb29rdXAoY3R4dC5kaWN0LCBCQURfQ0FTVCAidGV4dCIsIC0xKTsKKyAgICBjdHh0LmtleV90b2tlbiA9IHhtbERpY3RMb29rdXAoY3R4dC5kaWN0LCBCQURfQ0FTVCAidG9rZW4iLCAtMSk7CisgICAgY3R4dC5rZXlfZXF1YWwgPSB4bWxEaWN0TG9va3VwKGN0eHQuZGljdCwgQkFEX0NBU1QgIj0iLCAxKTsKKyAgICBjdHh0LmtleV9vcmVxdWFsID0geG1sRGljdExvb2t1cChjdHh0LmRpY3QsIEJBRF9DQVNUICJ8PSIsIDIpOworICAgIGN0eHQua2V5X2FuZGVxdWFsID0geG1sRGljdExvb2t1cChjdHh0LmRpY3QsIEJBRF9DQVNUICImPSIsIDIpOworICAgIGN0eHQua2V5X2NvbWJpbmUgPSB4bWxEaWN0TG9va3VwKGN0eHQuZGljdCwgQkFEX0NBU1QgIiY9IiwgMik7CisgICAgY3R4dC5rZXlfb3IgPSB4bWxEaWN0TG9va3VwKGN0eHQuZGljdCwgQkFEX0NBU1QgInwiLCAxKTsKKyAgICBjdHh0LmtleV9jb21tYSA9IHhtbERpY3RMb29rdXAoY3R4dC5kaWN0LCBCQURfQ0FTVCAiLCIsIDEpOworICAgIGN0eHQua2V5X2FuZCA9IHhtbERpY3RMb29rdXAoY3R4dC5kaWN0LCBCQURfQ0FTVCAiJiIsIDEpOworICAgIGN0eHQua2V5X2Nob2ljZSA9IHhtbERpY3RMb29rdXAoY3R4dC5kaWN0LCBCQURfQ0FTVCAiY2hvaWNlIiwgLTEpOworICAgIGN0eHQua2V5X2dyb3VwID0geG1sRGljdExvb2t1cChjdHh0LmRpY3QsIEJBRF9DQVNUICJncm91cCIsIC0xKTsKKyAgICBjdHh0LmtleV9pbnRlcmxlYXZlID0geG1sRGljdExvb2t1cChjdHh0LmRpY3QsIEJBRF9DQVNUICJpbnRlcmxlYXZlIiwgLTEpOworICAgIGN0eHQua2V5X3JlZiA9IHhtbERpY3RMb29rdXAoY3R4dC5kaWN0LCBCQURfQ0FTVCAicmVmIiwgMyk7CisgICAgY3R4dC5rZXlfZGVmaW5lID0geG1sRGljdExvb2t1cChjdHh0LmRpY3QsIEJBRF9DQVNUICJkZWZpbmUiLCA2KTsKKworICAgIC8qIHhtbENvbnZlcnRDUk5HVG9rZW5pemUoJmN0eHQpOyAqLworICAgIHhtbENvbnZlcnRDUk5HX3RvcExldmVsKCZjdHh0KTsKKworICAgIHhtbERpY3RGcmVlKGN0eHQuZGljdCk7CisKKyAgICByZXQgPSBjdHh0LmRvYzsKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxDb252ZXJ0Q1JOR0ZpbGU6CisgKiBAVVJMOiBVUkwgb3IgZmlsZW5hbWUgZm9yIHRoZSByZXNvdXJjZQorICogQGVuY29kaW5nOiAgZW5jb2RpbmcgaW5kaWNhdGVkIGJ5IHRoZSBjb250ZXh0IG9yIE5VTEwKKyAqCisgKiBDb21waWxlcyB0aGUgc2NoZW1hcyBpbnRvIHRoZSBlcXVpdmFsZW50IFJlbGF4LU5HIFhNTCBzdHJ1Y3R1cmUKKyAqCisgKiBSZXR1cm5zIHRoZSB4bWxEb2NQdHIgcmVzdWx0aW5nIGZyb20gdGhlIGNvbXBpbGF0aW9uIG9yCisgKiAgICAgICAgIE5VTEwgaW4gY2FzZSBvZiBlcnJvcgorICovCit4bWxEb2NQdHIKK3htbENvbnZlcnRDUk5HRmlsZShjb25zdCBjaGFyICpVUkwsIGNvbnN0IGNoYXIgKmVuY29kaW5nKSB7Cit9CisKKyNpZmRlZiBTVEFOREFMT05FCitjb25zdCB4bWxDaGFyICpzY2hlbWFzID0KKyIjIFJFTEFYIE5HIFhNTCBzeW50YXggc3BlY2lmaWVkIGluIGNvbXBhY3Qgc3ludGF4LlxuXAorXG5cCitkZWZhdWx0IG5hbWVzcGFjZSBybmcgPSBcImh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wXCJcblwKK25hbWVzcGFjZSBsb2NhbCA9IFwiXCJcblwKK2RhdGF0eXBlcyB4c2QgPSBcImh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlc1wiXG5cCitcblwKK3N0YXJ0ID0gcGF0dGVyblxuXAorXG5cCitwYXR0ZXJuID1cblwKKyAgZWxlbWVudCBlbGVtZW50IHsgKG5hbWVRTmFtZSB8IG5hbWVDbGFzcyksIChjb21tb24gJiBwYXR0ZXJuKykgfVxuXAorICB8IGVsZW1lbnQgYXR0cmlidXRlIHsgKG5hbWVRTmFtZSB8IG5hbWVDbGFzcyksIChjb21tb24gJiBwYXR0ZXJuPykgfVxuXAorICB8IGVsZW1lbnQgZ3JvdXB8aW50ZXJsZWF2ZXxjaG9pY2V8b3B0aW9uYWxcblwKKyAgICAgICAgICAgIHx6ZXJvT3JNb3JlfG9uZU9yTW9yZXxsaXN0fG1peGVkIHsgY29tbW9uICYgcGF0dGVybisgfVxuXAorICB8IGVsZW1lbnQgcmVmfHBhcmVudFJlZiB7IG5hbWVOQ05hbWUsIGNvbW1vbiB9XG5cCisgIHwgZWxlbWVudCBlbXB0eXxub3RBbGxvd2VkfHRleHQgeyBjb21tb24gfVxuXAorICB8IGVsZW1lbnQgZGF0YSB7IHR5cGUsIHBhcmFtKiwgKGNvbW1vbiAmIGV4Y2VwdFBhdHRlcm4/KSB9XG5cCisgIHwgZWxlbWVudCB2YWx1ZSB7IGNvbW1vbkF0dHJpYnV0ZXMsIHR5cGU/LCB4c2Q6c3RyaW5nIH1cblwKKyAgfCBlbGVtZW50IGV4dGVybmFsUmVmIHsgaHJlZiwgY29tbW9uIH1cblwKKyAgfCBlbGVtZW50IGdyYW1tYXIgeyBjb21tb24gJiBncmFtbWFyQ29udGVudCogfVxuXAorXG5cCitwYXJhbSA9IGVsZW1lbnQgcGFyYW0geyBjb21tb25BdHRyaWJ1dGVzLCBuYW1lTkNOYW1lLCB4c2Q6c3RyaW5nIH1cblwKK1xuXAorZXhjZXB0UGF0dGVybiA9IGVsZW1lbnQgZXhjZXB0IHsgY29tbW9uICYgcGF0dGVybisgfVxuXAorXG5cCitncmFtbWFyQ29udGVudCA9XG5cCisgIGRlZmluaXRpb25cblwKKyAgfCBlbGVtZW50IGRpdiB7IGNvbW1vbiAmIGdyYW1tYXJDb250ZW50KiB9XG5cCisgIHwgZWxlbWVudCBpbmNsdWRlIHsgaHJlZiwgKGNvbW1vbiAmIGluY2x1ZGVDb250ZW50KikgfVxuXAorXG5cCitpbmNsdWRlQ29udGVudCA9XG5cCisgIGRlZmluaXRpb25cblwKKyAgfCBlbGVtZW50IGRpdiB7IGNvbW1vbiAmIGluY2x1ZGVDb250ZW50KiB9XG5cCitcblwKK2RlZmluaXRpb24gPVxuXAorICBlbGVtZW50IHN0YXJ0IHsgY29tYmluZT8sIChjb21tb24gJiBwYXR0ZXJuKykgfVxuXAorICB8IGVsZW1lbnQgZGVmaW5lIHsgbmFtZU5DTmFtZSwgY29tYmluZT8sIChjb21tb24gJiBwYXR0ZXJuKykgfVxuXAorXG5cCitjb21iaW5lID0gYXR0cmlidXRlIGNvbWJpbmUgeyBcImNob2ljZVwiIHwgXCJpbnRlcmxlYXZlXCIgfVxuXAorXG5cCituYW1lQ2xhc3MgPVxuXAorICBlbGVtZW50IG5hbWUgeyBjb21tb25BdHRyaWJ1dGVzLCB4c2Q6UU5hbWUgfVxuXAorICB8IGVsZW1lbnQgYW55TmFtZSB7IGNvbW1vbiAmIGV4Y2VwdE5hbWVDbGFzcz8gfVxuXAorICB8IGVsZW1lbnQgbnNOYW1lIHsgY29tbW9uICYgZXhjZXB0TmFtZUNsYXNzPyB9XG5cCisgIHwgZWxlbWVudCBjaG9pY2UgeyBjb21tb24gJiBuYW1lQ2xhc3MrIH1cblwKK1xuXAorZXhjZXB0TmFtZUNsYXNzID0gZWxlbWVudCBleGNlcHQgeyBjb21tb24gJiBuYW1lQ2xhc3MrIH1cblwKK1xuXAorbmFtZVFOYW1lID0gYXR0cmlidXRlIG5hbWUgeyB4c2Q6UU5hbWUgfVxuXAorbmFtZU5DTmFtZSA9IGF0dHJpYnV0ZSBuYW1lIHsgeHNkOk5DTmFtZSB9XG5cCitocmVmID0gYXR0cmlidXRlIGhyZWYgeyB4c2Q6YW55VVJJIH1cblwKK3R5cGUgPSBhdHRyaWJ1dGUgdHlwZSB7IHhzZDpOQ05hbWUgfVxuXAorXG5cCitjb21tb24gPSBjb21tb25BdHRyaWJ1dGVzLCBmb3JlaWduRWxlbWVudCpcblwKK1xuXAorY29tbW9uQXR0cmlidXRlcyA9XG5cCisgIGF0dHJpYnV0ZSBucyB7IHhzZDpzdHJpbmcgfT8sXG5cCisgIGF0dHJpYnV0ZSBkYXRhdHlwZUxpYnJhcnkgeyB4c2Q6YW55VVJJIH0/LFxuXAorICBmb3JlaWduQXR0cmlidXRlKlxuXAorXG5cCitmb3JlaWduRWxlbWVudCA9IGVsZW1lbnQgKiAtIHJuZzoqIHsgKGFueUF0dHJpYnV0ZSB8IHRleHQgfCBhbnlFbGVtZW50KSogfVxuXAorZm9yZWlnbkF0dHJpYnV0ZSA9IGF0dHJpYnV0ZSAqIC0gKHJuZzoqfGxvY2FsOiopIHsgdGV4dCB9XG5cCithbnlFbGVtZW50ID0gZWxlbWVudCAqIHsgKGFueUF0dHJpYnV0ZSB8IHRleHQgfCBhbnlFbGVtZW50KSogfVxuXAorYW55QXR0cmlidXRlID0gYXR0cmlidXRlICogeyB0ZXh0IH1cblwKKyI7CisKK2ludCBtYWluKGludCBhcmdjIEFUVFJJQlVURV9VTlVTRUQsIGNoYXIgKiphcmd2IEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICB4bWxEb2NQdHIgcmVzOworCisgICAgcmVzID0geG1sQ29udmVydENSTkcoc2NoZW1hcywgLTEpOworICAgIGlmIChyZXMgIT0gTlVMTCkgeworICAgICAgICB4bWxEb2NGb3JtYXREdW1wKHN0ZG91dCwgcmVzLCAxKTsKKwl4bWxGcmVlRG9jKHJlcyk7CisgICAgfQorICAgIHJldHVybigwKTsKK30KKyNlbmRpZgorI2RlZmluZSBib3R0b21fcm5ncGFyc2VyCisjaW5jbHVkZSAiZWxmZ2NjaGFjay5oIgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9ydW5zdWl0ZS5jIGIvbGlieG1sMi9ydW5zdWl0ZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFhYWIxM2UKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3J1bnN1aXRlLmMKQEAgLTAsMCArMSwxMTcyIEBACisvKgorICogcnVuc3VpdGUuYzogQyBwcm9ncmFtIHRvIHJ1biBsaWJ4bWwyIGFnYWludHMgcHVibGlzaGVkIHRlc3RzdWl0ZXMKKyAqCisgKiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisgKgorICogZGFuaWVsQHZlaWxsYXJkLmNvbQorICovCisKKyNpbmNsdWRlICJsaWJ4bWwuaCIKKyNpbmNsdWRlIDxzdGRpby5oPgorCisjaWYgIWRlZmluZWQoX1dJTjMyKSB8fCBkZWZpbmVkKF9fQ1lHV0lOX18pCisjaW5jbHVkZSA8dW5pc3RkLmg+CisjZW5kaWYKKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisKKyNpbmNsdWRlIDxsaWJ4bWwvcGFyc2VyLmg+CisjaW5jbHVkZSA8bGlieG1sL3BhcnNlckludGVybmFscy5oPgorI2luY2x1ZGUgPGxpYnhtbC90cmVlLmg+CisjaW5jbHVkZSA8bGlieG1sL3VyaS5oPgorI2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyNpbmNsdWRlIDxsaWJ4bWwveG1scmVhZGVyLmg+CisKKyNpbmNsdWRlIDxsaWJ4bWwveHBhdGguaD4KKyNpbmNsdWRlIDxsaWJ4bWwveHBhdGhJbnRlcm5hbHMuaD4KKworI2luY2x1ZGUgPGxpYnhtbC9yZWxheG5nLmg+CisjaW5jbHVkZSA8bGlieG1sL3htbHNjaGVtYXMuaD4KKyNpbmNsdWRlIDxsaWJ4bWwveG1sc2NoZW1hc3R5cGVzLmg+CisKKyNkZWZpbmUgTE9HRklMRSAicnVuc3VpdGUubG9nIgorc3RhdGljIEZJTEUgKmxvZ2ZpbGUgPSBOVUxMOworc3RhdGljIGludCB2ZXJib3NlID0gMDsKKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQlGaWxlIG5hbWUgYW5kIHBhdGggdXRpbGl0aWVzCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworc3RhdGljIGludCBjaGVja1Rlc3RGaWxlKGNvbnN0IGNoYXIgKmZpbGVuYW1lKSB7CisgICAgc3RydWN0IHN0YXQgYnVmOworCisgICAgaWYgKHN0YXQoZmlsZW5hbWUsICZidWYpID09IC0xKQorICAgICAgICByZXR1cm4oMCk7CisKKyNpZiBkZWZpbmVkKF9XSU4zMikgJiYgIWRlZmluZWQoX19DWUdXSU5fXykKKyAgICBpZiAoIShidWYuc3RfbW9kZSAmIF9TX0lGUkVHKSkKKyAgICAgICAgcmV0dXJuKDApOworI2Vsc2UKKyAgICBpZiAoIVNfSVNSRUcoYnVmLnN0X21vZGUpKQorICAgICAgICByZXR1cm4oMCk7CisjZW5kaWYKKworICAgIHJldHVybigxKTsKK30KKworc3RhdGljIHhtbENoYXIgKmNvbXBvc2VEaXIoY29uc3QgeG1sQ2hhciAqZGlyLCBjb25zdCB4bWxDaGFyICpwYXRoKSB7CisgICAgY2hhciBidWZbNTAwXTsKKworICAgIGlmIChkaXIgPT0gTlVMTCkgcmV0dXJuKHhtbFN0cmR1cChwYXRoKSk7CisgICAgaWYgKHBhdGggPT0gTlVMTCkgcmV0dXJuKE5VTEwpOworCisgICAgc25wcmludGYoYnVmLCA1MDAsICIlcy8lcyIsIChjb25zdCBjaGFyICopIGRpciwgKGNvbnN0IGNoYXIgKikgcGF0aCk7CisgICAgcmV0dXJuKHhtbFN0cmR1cCgoY29uc3QgeG1sQ2hhciAqKSBidWYpKTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJTGlieG1sMiBzcGVjaWZpYyByb3V0aW5lcwkJCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK3N0YXRpYyBpbnQgbmJfdGVzdHMgPSAwOworc3RhdGljIGludCBuYl9lcnJvcnMgPSAwOworc3RhdGljIGludCBuYl9pbnRlcm5hbHMgPSAwOworc3RhdGljIGludCBuYl9zY2hlbWF0YXMgPSAwOworc3RhdGljIGludCBuYl91bmltcGxlbWVudGVkID0gMDsKK3N0YXRpYyBpbnQgbmJfbGVha3MgPSAwOworc3RhdGljIGludCBleHRyYU1lbW9yeUZyb21SZXNvbHZlciA9IDA7CisKK3N0YXRpYyBpbnQKK2ZhdGFsRXJyb3Iodm9pZCkgeworICAgIGZwcmludGYoc3RkZXJyLCAiRXhpdHRpbmcgdGVzdHMgb24gZmF0YWwgZXJyb3JcbiIpOworICAgIGV4aXQoMSk7Cit9CisKKy8qCisgKiB0aGF0J3MgbmVlZGVkIHRvIGltcGxlbWVudCA8cmVzb3VyY2U+CisgKi8KKyNkZWZpbmUgTUFYX0VOVElUSUVTIDIwCitzdGF0aWMgY2hhciAqdGVzdEVudGl0aWVzTmFtZVtNQVhfRU5USVRJRVNdOworc3RhdGljIGNoYXIgKnRlc3RFbnRpdGllc1ZhbHVlW01BWF9FTlRJVElFU107CitzdGF0aWMgaW50IG5iX2VudGl0aWVzID0gMDsKK3N0YXRpYyB2b2lkIHJlc2V0RW50aXRpZXModm9pZCkgeworICAgIGludCBpOworCisgICAgZm9yIChpID0gMDtpIDwgbmJfZW50aXRpZXM7aSsrKSB7CisgICAgICAgIGlmICh0ZXN0RW50aXRpZXNOYW1lW2ldICE9IE5VTEwpCisJICAgIHhtbEZyZWUodGVzdEVudGl0aWVzTmFtZVtpXSk7CisgICAgICAgIGlmICh0ZXN0RW50aXRpZXNWYWx1ZVtpXSAhPSBOVUxMKQorCSAgICB4bWxGcmVlKHRlc3RFbnRpdGllc1ZhbHVlW2ldKTsKKyAgICB9CisgICAgbmJfZW50aXRpZXMgPSAwOworfQorc3RhdGljIGludCBhZGRFbnRpdHkoY2hhciAqbmFtZSwgY2hhciAqY29udGVudCkgeworICAgIGlmIChuYl9lbnRpdGllcyA+PSBNQVhfRU5USVRJRVMpIHsKKwlmcHJpbnRmKHN0ZGVyciwgIlRvbyBtYW55IGVudGl0aWVzIGRlZmluZWRcbiIpOworCXJldHVybigtMSk7CisgICAgfQorICAgIHRlc3RFbnRpdGllc05hbWVbbmJfZW50aXRpZXNdID0gbmFtZTsKKyAgICB0ZXN0RW50aXRpZXNWYWx1ZVtuYl9lbnRpdGllc10gPSBjb250ZW50OworICAgIG5iX2VudGl0aWVzKys7CisgICAgcmV0dXJuKDApOworfQorCisvKgorICogV2UgbmVlZCB0byB0cmFwIGNhbGxzIHRvIHRoZSByZXNvbHZlciB0byBub3QgYWNjb3VudCBtZW1vcnkgZm9yIHRoZSBjYXRhbG9nCisgKiB3aGljaCBpcyBzaGFyZWQgdG8gdGhlIGN1cnJlbnQgcnVubmluZyB0ZXN0LiBXZSBhbHNvIGRvbid0IHdhbnQgdG8gaGF2ZQorICogbmV0d29yayBkb3dubG9hZHMgbW9kaWZ5aW5nIHRlc3RzLgorICovCitzdGF0aWMgeG1sUGFyc2VySW5wdXRQdHIKK3Rlc3RFeHRlcm5hbEVudGl0eUxvYWRlcihjb25zdCBjaGFyICpVUkwsIGNvbnN0IGNoYXIgKklELAorCQkJIHhtbFBhcnNlckN0eHRQdHIgY3R4dCkgeworICAgIHhtbFBhcnNlcklucHV0UHRyIHJldDsKKyAgICBpbnQgaTsKKworICAgIGZvciAoaSA9IDA7aSA8IG5iX2VudGl0aWVzO2krKykgeworICAgICAgICBpZiAoIXN0cmNtcCh0ZXN0RW50aXRpZXNOYW1lW2ldLCBVUkwpKSB7CisJICAgIHJldCA9IHhtbE5ld1N0cmluZ0lucHV0U3RyZWFtKGN0eHQsCisJICAgICAgICAgICAgICAgIChjb25zdCB4bWxDaGFyICopIHRlc3RFbnRpdGllc1ZhbHVlW2ldKTsKKwkgICAgaWYgKHJldCAhPSBOVUxMKSB7CisJICAgICAgICByZXQtPmZpbGVuYW1lID0gKGNvbnN0IGNoYXIgKikKKwkJICAgICAgICAgICAgICAgIHhtbFN0cmR1cCgoeG1sQ2hhciAqKXRlc3RFbnRpdGllc05hbWVbaV0pOworCSAgICB9CisJICAgIHJldHVybihyZXQpOworCX0KKyAgICB9CisgICAgaWYgKGNoZWNrVGVzdEZpbGUoVVJMKSkgeworCXJldCA9IHhtbE5vTmV0RXh0ZXJuYWxFbnRpdHlMb2FkZXIoVVJMLCBJRCwgY3R4dCk7CisgICAgfSBlbHNlIHsKKwlpbnQgbWVtdXNlZCA9IHhtbE1lbVVzZWQoKTsKKwlyZXQgPSB4bWxOb05ldEV4dGVybmFsRW50aXR5TG9hZGVyKFVSTCwgSUQsIGN0eHQpOworCWV4dHJhTWVtb3J5RnJvbVJlc29sdmVyICs9IHhtbE1lbVVzZWQoKSAtIG1lbXVzZWQ7CisgICAgfQorI2lmIDAKKyAgICBpZiAocmV0ID09IE5VTEwpIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJGYWlsZWQgdG8gZmluZCByZXNvdXJjZSAlc1xuIiwgVVJMKTsKKyAgICB9CisjZW5kaWYKKworICAgIHJldHVybihyZXQpOworfQorCisvKgorICogVHJhcHBpbmcgdGhlIGVycm9yIG1lc3NhZ2VzIGF0IHRoZSBnZW5lcmljIGxldmVsIHRvIGdyYWIgdGhlIGVxdWl2YWxlbnQgb2YKKyAqIHN0ZGVyciBtZXNzYWdlcyBvbiBDTEkgdG9vbHMuCisgKi8KK3N0YXRpYyBjaGFyIHRlc3RFcnJvcnNbMzI3NjldOworc3RhdGljIGludCB0ZXN0RXJyb3JzU2l6ZSA9IDA7CisKK3N0YXRpYyB2b2lkIHRlc3RfbG9nKGNvbnN0IGNoYXIgKm1zZywgLi4uKSB7CisgICAgdmFfbGlzdCBhcmdzOworICAgIGlmIChsb2dmaWxlICE9IE5VTEwpIHsKKyAgICAgICAgZnByaW50Zihsb2dmaWxlLCAiXG4tLS0tLS0tLS0tLS1cbiIpOworCXZhX3N0YXJ0KGFyZ3MsIG1zZyk7CisJdmZwcmludGYobG9nZmlsZSwgbXNnLCBhcmdzKTsKKwl2YV9lbmQoYXJncyk7CisJZnByaW50Zihsb2dmaWxlLCAiJXMiLCB0ZXN0RXJyb3JzKTsKKwl0ZXN0RXJyb3JzU2l6ZSA9IDA7IHRlc3RFcnJvcnNbMF0gPSAwOworICAgIH0KKyAgICBpZiAodmVyYm9zZSkgeworCXZhX3N0YXJ0KGFyZ3MsIG1zZyk7CisJdmZwcmludGYoc3RkZXJyLCBtc2csIGFyZ3MpOworCXZhX2VuZChhcmdzKTsKKyAgICB9Cit9CisKK3N0YXRpYyB2b2lkCit0ZXN0RXJyb3JIYW5kbGVyKHZvaWQgKmN0eCAgQVRUUklCVVRFX1VOVVNFRCwgY29uc3QgY2hhciAqbXNnLCAuLi4pIHsKKyAgICB2YV9saXN0IGFyZ3M7CisgICAgaW50IHJlczsKKworICAgIGlmICh0ZXN0RXJyb3JzU2l6ZSA+PSAzMjc2OCkKKyAgICAgICAgcmV0dXJuOworICAgIHZhX3N0YXJ0KGFyZ3MsIG1zZyk7CisgICAgcmVzID0gdnNucHJpbnRmKCZ0ZXN0RXJyb3JzW3Rlc3RFcnJvcnNTaXplXSwKKyAgICAgICAgICAgICAgICAgICAgMzI3NjggLSB0ZXN0RXJyb3JzU2l6ZSwKKwkJICAgIG1zZywgYXJncyk7CisgICAgdmFfZW5kKGFyZ3MpOworICAgIGlmICh0ZXN0RXJyb3JzU2l6ZSArIHJlcyA+PSAzMjc2OCkgeworICAgICAgICAvKiBidWZmZXIgaXMgZnVsbCAqLworCXRlc3RFcnJvcnNTaXplID0gMzI3Njg7CisJdGVzdEVycm9yc1t0ZXN0RXJyb3JzU2l6ZV0gPSAwOworICAgIH0gZWxzZSB7CisgICAgICAgIHRlc3RFcnJvcnNTaXplICs9IHJlczsKKyAgICB9CisgICAgdGVzdEVycm9yc1t0ZXN0RXJyb3JzU2l6ZV0gPSAwOworfQorCitzdGF0aWMgeG1sWFBhdGhDb250ZXh0UHRyIGN0eHRYUGF0aDsKKworc3RhdGljIHZvaWQKK2luaXRpYWxpemVMaWJ4bWwyKHZvaWQpIHsKKyAgICB4bWxHZXRXYXJuaW5nc0RlZmF1bHRWYWx1ZSA9IDA7CisgICAgeG1sUGVkYW50aWNQYXJzZXJEZWZhdWx0KDApOworCisgICAgeG1sTWVtU2V0dXAoeG1sTWVtRnJlZSwgeG1sTWVtTWFsbG9jLCB4bWxNZW1SZWFsbG9jLCB4bWxNZW1vcnlTdHJkdXApOworICAgIHhtbEluaXRQYXJzZXIoKTsKKyAgICB4bWxTZXRFeHRlcm5hbEVudGl0eUxvYWRlcih0ZXN0RXh0ZXJuYWxFbnRpdHlMb2FkZXIpOworICAgIGN0eHRYUGF0aCA9IHhtbFhQYXRoTmV3Q29udGV4dChOVUxMKTsKKyAgICAvKgorICAgICogRGVhY3RpdmF0ZSB0aGUgY2FjaGUgaWYgY3JlYXRlZDsgb3RoZXJ3aXNlIHdlIGhhdmUgdG8gY3JlYXRlL2ZyZWUgaXQKKyAgICAqIGZvciBldmVyeSB0ZXN0LCBzaW5jZSBpdCB3aWxsIGNvbmZ1c2UgdGhlIG1lbW9yeSBsZWFrIGRldGVjdGlvbi4KKyAgICAqIE5vdGUgdGhhdCBub3JtYWxseSB0aGlzIG5lZWQgbm90IGJlIGRvbmUsIHNpbmNlIHRoZSBjYWNoZSBpcyBub3QKKyAgICAqIGNyZWF0ZWQgdW50aWwgc2V0IGV4cGxpY2l0ZWx5IHdpdGggeG1sWFBhdGhDb250ZXh0U2V0Q2FjaGUoKTsKKyAgICAqIGJ1dCBmb3IgdGVzdCBwdXJwb3NlcyBpdCBpcyBzb21ldGltZXMgdXNlZnVsbCB0byBhY3RpdmF0ZSB0aGUKKyAgICAqIGNhY2hlIGJ5IGRlZmF1bHQgZm9yIHRoZSB3aG9sZSBsaWJyYXJ5LgorICAgICovCisgICAgaWYgKGN0eHRYUGF0aC0+Y2FjaGUgIT0gTlVMTCkKKwl4bWxYUGF0aENvbnRleHRTZXRDYWNoZShjdHh0WFBhdGgsIDAsIC0xLCAwKTsKKyAgICAvKiB1c2VkIGFzIGRlZmF1bHQgbmFuZW1zcGFjZSBpbiB4c3RjIHRlc3RzICovCisgICAgeG1sWFBhdGhSZWdpc3Rlck5zKGN0eHRYUGF0aCwgQkFEX0NBU1QgInRzIiwgQkFEX0NBU1QgIlRlc3RTdWl0ZSIpOworICAgIHhtbFhQYXRoUmVnaXN0ZXJOcyhjdHh0WFBhdGgsIEJBRF9DQVNUICJ4bGluayIsCisgICAgICAgICAgICAgICAgICAgICAgIEJBRF9DQVNUICJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIik7CisgICAgeG1sU2V0R2VuZXJpY0Vycm9yRnVuYyhOVUxMLCB0ZXN0RXJyb3JIYW5kbGVyKTsKKyNpZmRlZiBMSUJYTUxfU0NIRU1BU19FTkFCTEVECisgICAgeG1sU2NoZW1hSW5pdFR5cGVzKCk7CisgICAgeG1sUmVsYXhOR0luaXRUeXBlcygpOworI2VuZGlmCit9CisKK3N0YXRpYyB4bWxOb2RlUHRyCitnZXROZXh0KHhtbE5vZGVQdHIgY3VyLCBjb25zdCBjaGFyICp4cGF0aCkgeworICAgIHhtbE5vZGVQdHIgcmV0ID0gTlVMTDsKKyAgICB4bWxYUGF0aE9iamVjdFB0ciByZXM7CisgICAgeG1sWFBhdGhDb21wRXhwclB0ciBjb21wOworCisgICAgaWYgKChjdXIgPT0gTlVMTCkgIHx8IChjdXItPmRvYyA9PSBOVUxMKSB8fCAoeHBhdGggPT0gTlVMTCkpCisgICAgICAgIHJldHVybihOVUxMKTsKKyAgICBjdHh0WFBhdGgtPmRvYyA9IGN1ci0+ZG9jOworICAgIGN0eHRYUGF0aC0+bm9kZSA9IGN1cjsKKyAgICBjb21wID0geG1sWFBhdGhDb21waWxlKEJBRF9DQVNUIHhwYXRoKTsKKyAgICBpZiAoY29tcCA9PSBOVUxMKSB7CisgICAgICAgIGZwcmludGYoc3RkZXJyLCAiRmFpbGVkIHRvIGNvbXBpbGUgJXNcbiIsIHhwYXRoKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIHJlcyA9IHhtbFhQYXRoQ29tcGlsZWRFdmFsKGNvbXAsIGN0eHRYUGF0aCk7CisgICAgeG1sWFBhdGhGcmVlQ29tcEV4cHIoY29tcCk7CisgICAgaWYgKHJlcyA9PSBOVUxMKQorICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgaWYgKChyZXMtPnR5cGUgPT0gWFBBVEhfTk9ERVNFVCkgJiYKKyAgICAgICAgKHJlcy0+bm9kZXNldHZhbCAhPSBOVUxMKSAmJgorCShyZXMtPm5vZGVzZXR2YWwtPm5vZGVOciA+IDApICYmCisJKHJlcy0+bm9kZXNldHZhbC0+bm9kZVRhYiAhPSBOVUxMKSkKKwlyZXQgPSByZXMtPm5vZGVzZXR2YWwtPm5vZGVUYWJbMF07CisgICAgeG1sWFBhdGhGcmVlT2JqZWN0KHJlcyk7CisgICAgcmV0dXJuKHJldCk7Cit9CisKK3N0YXRpYyB4bWxDaGFyICoKK2dldFN0cmluZyh4bWxOb2RlUHRyIGN1ciwgY29uc3QgY2hhciAqeHBhdGgpIHsKKyAgICB4bWxDaGFyICpyZXQgPSBOVUxMOworICAgIHhtbFhQYXRoT2JqZWN0UHRyIHJlczsKKyAgICB4bWxYUGF0aENvbXBFeHByUHRyIGNvbXA7CisKKyAgICBpZiAoKGN1ciA9PSBOVUxMKSAgfHwgKGN1ci0+ZG9jID09IE5VTEwpIHx8ICh4cGF0aCA9PSBOVUxMKSkKKyAgICAgICAgcmV0dXJuKE5VTEwpOworICAgIGN0eHRYUGF0aC0+ZG9jID0gY3VyLT5kb2M7CisgICAgY3R4dFhQYXRoLT5ub2RlID0gY3VyOworICAgIGNvbXAgPSB4bWxYUGF0aENvbXBpbGUoQkFEX0NBU1QgeHBhdGgpOworICAgIGlmIChjb21wID09IE5VTEwpIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJGYWlsZWQgdG8gY29tcGlsZSAlc1xuIiwgeHBhdGgpOworCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgcmVzID0geG1sWFBhdGhDb21waWxlZEV2YWwoY29tcCwgY3R4dFhQYXRoKTsKKyAgICB4bWxYUGF0aEZyZWVDb21wRXhwcihjb21wKTsKKyAgICBpZiAocmVzID09IE5VTEwpCisgICAgICAgIHJldHVybihOVUxMKTsKKyAgICBpZiAocmVzLT50eXBlID09IFhQQVRIX1NUUklORykgeworICAgICAgICByZXQgPSByZXMtPnN0cmluZ3ZhbDsKKwlyZXMtPnN0cmluZ3ZhbCA9IE5VTEw7CisgICAgfQorICAgIHhtbFhQYXRoRnJlZU9iamVjdChyZXMpOworICAgIHJldHVybihyZXQpOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQlUZXN0IHRlc3QveHNkdGVzdC94c2R0ZXN0c3VpdGUueG1sCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitzdGF0aWMgaW50Cit4c2RJbmNvcmVjdFRlc3RDYXNlKHhtbE5vZGVQdHIgY3VyKSB7CisgICAgeG1sTm9kZVB0ciB0ZXN0OworICAgIHhtbEJ1ZmZlclB0ciBidWY7CisgICAgeG1sUmVsYXhOR1BhcnNlckN0eHRQdHIgcGN0eHQ7CisgICAgeG1sUmVsYXhOR1B0ciBybmcgPSBOVUxMOworICAgIGludCByZXQgPSAwLCBtZW10OworCisgICAgY3VyID0gZ2V0TmV4dChjdXIsICIuL2luY29ycmVjdFsxXSIpOworICAgIGlmIChjdXIgPT0gTlVMTCkgeworICAgICAgICByZXR1cm4oMCk7CisgICAgfQorCisgICAgdGVzdCA9IGdldE5leHQoY3VyLCAiLi8qIik7CisgICAgaWYgKHRlc3QgPT0gTlVMTCkgeworICAgICAgICB0ZXN0X2xvZygiRmFpbGVkIHRvIGZpbmQgdGVzdCBpbiBjb3JyZWN0IGxpbmUgJWxkXG4iLAorCSAgICAgICAgeG1sR2V0TGluZU5vKGN1cikpOworICAgICAgICByZXR1cm4oMSk7CisgICAgfQorCisgICAgbWVtdCA9IHhtbE1lbVVzZWQoKTsKKyAgICBleHRyYU1lbW9yeUZyb21SZXNvbHZlciA9IDA7CisgICAgLyoKKyAgICAgKiBkdW1wIHRoZSBzY2hlbWFzIHRvIGEgYnVmZmVyLCB0aGVuIHJlcGFyc2UgaXQgYW5kIGNvbXBpbGUgdGhlIHNjaGVtYXMKKyAgICAgKi8KKyAgICBidWYgPSB4bWxCdWZmZXJDcmVhdGUoKTsKKyAgICBpZiAoYnVmID09IE5VTEwpIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJvdXQgb2YgbWVtb3J5ICFcbiIpOworCWZhdGFsRXJyb3IoKTsKKyAgICB9CisgICAgeG1sTm9kZUR1bXAoYnVmLCB0ZXN0LT5kb2MsIHRlc3QsIDAsIDApOworICAgIHBjdHh0ID0geG1sUmVsYXhOR05ld01lbVBhcnNlckN0eHQoKGNvbnN0IGNoYXIgKilidWYtPmNvbnRlbnQsIGJ1Zi0+dXNlKTsKKyAgICB4bWxSZWxheE5HU2V0UGFyc2VyRXJyb3JzKHBjdHh0LAorICAgICAgICAgKHhtbFJlbGF4TkdWYWxpZGl0eUVycm9yRnVuYykgdGVzdEVycm9ySGFuZGxlciwKKyAgICAgICAgICh4bWxSZWxheE5HVmFsaWRpdHlXYXJuaW5nRnVuYykgdGVzdEVycm9ySGFuZGxlciwKKwkgcGN0eHQpOworICAgIHJuZyA9IHhtbFJlbGF4TkdQYXJzZShwY3R4dCk7CisgICAgeG1sUmVsYXhOR0ZyZWVQYXJzZXJDdHh0KHBjdHh0KTsKKyAgICBpZiAocm5nICE9IE5VTEwpIHsKKwl0ZXN0X2xvZygiRmFpbGVkIHRvIGRldGVjdCBpbmNvcmVjdCBSTkcgbGluZSAlbGRcbiIsCisJCSAgICB4bWxHZXRMaW5lTm8odGVzdCkpOworICAgICAgICByZXQgPSAxOworCWdvdG8gZG9uZTsKKyAgICB9CisKK2RvbmU6CisgICAgaWYgKGJ1ZiAhPSBOVUxMKQorCXhtbEJ1ZmZlckZyZWUoYnVmKTsKKyAgICBpZiAocm5nICE9IE5VTEwpCisgICAgICAgIHhtbFJlbGF4TkdGcmVlKHJuZyk7CisgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICBpZiAoKG1lbXQgPCB4bWxNZW1Vc2VkKCkpICYmIChleHRyYU1lbW9yeUZyb21SZXNvbHZlciA9PSAwKSkgeworCXRlc3RfbG9nKCJWYWxpZGF0aW9uIG9mIHRlc3RzIHN0YXJ0aW5nIGxpbmUgJWxkIGxlYWtlZCAlZFxuIiwKKwkJeG1sR2V0TGluZU5vKGN1ciksIHhtbE1lbVVzZWQoKSAtIG1lbXQpOworCW5iX2xlYWtzKys7CisgICAgfQorICAgIHJldHVybihyZXQpOworfQorCitzdGF0aWMgdm9pZAoraW5zdGFsbFJlc291cmNlcyh4bWxOb2RlUHRyIHRzdCwgY29uc3QgeG1sQ2hhciAqYmFzZSkgeworICAgIHhtbE5vZGVQdHIgdGVzdDsKKyAgICB4bWxCdWZmZXJQdHIgYnVmOworICAgIHhtbENoYXIgKm5hbWUsICpjb250ZW50LCAqcmVzOworCisgICAgYnVmID0geG1sQnVmZmVyQ3JlYXRlKCk7CisgICAgaWYgKGJ1ZiA9PSBOVUxMKSB7CisgICAgICAgIGZwcmludGYoc3RkZXJyLCAib3V0IG9mIG1lbW9yeSAhXG4iKTsKKwlmYXRhbEVycm9yKCk7CisgICAgfQorICAgIHhtbE5vZGVEdW1wKGJ1ZiwgdHN0LT5kb2MsIHRzdCwgMCwgMCk7CisKKyAgICB3aGlsZSAodHN0ICE9IE5VTEwpIHsKKwl0ZXN0ID0gZ2V0TmV4dCh0c3QsICIuLyoiKTsKKwlpZiAodGVzdCAhPSBOVUxMKSB7CisJICAgIHhtbEJ1ZmZlckVtcHR5KGJ1Zik7CisJICAgIHhtbE5vZGVEdW1wKGJ1ZiwgdGVzdC0+ZG9jLCB0ZXN0LCAwLCAwKTsKKwkgICAgbmFtZSA9IGdldFN0cmluZyh0c3QsICJzdHJpbmcoQG5hbWUpIik7CisJICAgIGNvbnRlbnQgPSB4bWxTdHJkdXAoYnVmLT5jb250ZW50KTsKKwkgICAgaWYgKChuYW1lICE9IE5VTEwpICYmIChjb250ZW50ICE9IE5VTEwpKSB7CisJICAgICAgICByZXMgPSBjb21wb3NlRGlyKGJhc2UsIG5hbWUpOworCQl4bWxGcmVlKG5hbWUpOworCSAgICAgICAgYWRkRW50aXR5KChjaGFyICopIHJlcywgKGNoYXIgKikgY29udGVudCk7CisJICAgIH0gZWxzZSB7CisJICAgICAgICBpZiAobmFtZSAhPSBOVUxMKSB4bWxGcmVlKG5hbWUpOworCSAgICAgICAgaWYgKGNvbnRlbnQgIT0gTlVMTCkgeG1sRnJlZShjb250ZW50KTsKKwkgICAgfQorCX0KKwl0c3QgPSBnZXROZXh0KHRzdCwgImZvbGxvd2luZy1zaWJsaW5nOjpyZXNvdXJjZVsxXSIpOworICAgIH0KKyAgICBpZiAoYnVmICE9IE5VTEwpCisJeG1sQnVmZmVyRnJlZShidWYpOworfQorCitzdGF0aWMgdm9pZAoraW5zdGFsbERpcnMoeG1sTm9kZVB0ciB0c3QsIGNvbnN0IHhtbENoYXIgKmJhc2UpIHsKKyAgICB4bWxOb2RlUHRyIHRlc3Q7CisgICAgeG1sQ2hhciAqbmFtZSwgKnJlczsKKworICAgIG5hbWUgPSBnZXRTdHJpbmcodHN0LCAic3RyaW5nKEBuYW1lKSIpOworICAgIGlmIChuYW1lID09IE5VTEwpCisgICAgICAgIHJldHVybjsKKyAgICByZXMgPSBjb21wb3NlRGlyKGJhc2UsIG5hbWUpOworICAgIHhtbEZyZWUobmFtZSk7CisgICAgaWYgKHJlcyA9PSBOVUxMKSB7CisJcmV0dXJuOworICAgIH0KKyAgICAvKiBOb3cgcHJvY2VzcyByZXNvdXJjZXMgYW5kIHN1YmRpciByZWN1cnNpdmVseSAqLworICAgIHRlc3QgPSBnZXROZXh0KHRzdCwgIi4vcmVzb3VyY2VbMV0iKTsKKyAgICBpZiAodGVzdCAhPSBOVUxMKSB7CisgICAgICAgIGluc3RhbGxSZXNvdXJjZXModGVzdCwgcmVzKTsKKyAgICB9CisgICAgdGVzdCA9IGdldE5leHQodHN0LCAiLi9kaXJbMV0iKTsKKyAgICB3aGlsZSAodGVzdCAhPSBOVUxMKSB7CisgICAgICAgIGluc3RhbGxEaXJzKHRlc3QsIHJlcyk7CisJdGVzdCA9IGdldE5leHQodGVzdCwgImZvbGxvd2luZy1zaWJsaW5nOjpkaXJbMV0iKTsKKyAgICB9CisgICAgeG1sRnJlZShyZXMpOworfQorCitzdGF0aWMgaW50Cit4c2RUZXN0Q2FzZSh4bWxOb2RlUHRyIHRzdCkgeworICAgIHhtbE5vZGVQdHIgdGVzdCwgdG1wLCBjdXI7CisgICAgeG1sQnVmZmVyUHRyIGJ1ZjsKKyAgICB4bWxEb2NQdHIgZG9jID0gTlVMTDsKKyAgICB4bWxSZWxheE5HUGFyc2VyQ3R4dFB0ciBwY3R4dDsKKyAgICB4bWxSZWxheE5HVmFsaWRDdHh0UHRyIGN0eHQ7CisgICAgeG1sUmVsYXhOR1B0ciBybmcgPSBOVUxMOworICAgIGludCByZXQgPSAwLCBtZW0sIG1lbXQ7CisgICAgeG1sQ2hhciAqZHRkOworCisgICAgcmVzZXRFbnRpdGllcygpOworICAgIHRlc3RFcnJvcnNTaXplID0gMDsgdGVzdEVycm9yc1swXSA9IDA7CisKKyAgICB0bXAgPSBnZXROZXh0KHRzdCwgIi4vZGlyWzFdIik7CisgICAgaWYgKHRtcCAhPSBOVUxMKSB7CisgICAgICAgIGluc3RhbGxEaXJzKHRtcCwgTlVMTCk7CisgICAgfQorICAgIHRtcCA9IGdldE5leHQodHN0LCAiLi9yZXNvdXJjZVsxXSIpOworICAgIGlmICh0bXAgIT0gTlVMTCkgeworICAgICAgICBpbnN0YWxsUmVzb3VyY2VzKHRtcCwgTlVMTCk7CisgICAgfQorCisgICAgY3VyID0gZ2V0TmV4dCh0c3QsICIuL2NvcnJlY3RbMV0iKTsKKyAgICBpZiAoY3VyID09IE5VTEwpIHsKKyAgICAgICAgcmV0dXJuKHhzZEluY29yZWN0VGVzdENhc2UodHN0KSk7CisgICAgfQorCisgICAgdGVzdCA9IGdldE5leHQoY3VyLCAiLi8qIik7CisgICAgaWYgKHRlc3QgPT0gTlVMTCkgeworICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkZhaWxlZCB0byBmaW5kIHRlc3QgaW4gY29ycmVjdCBsaW5lICVsZFxuIiwKKwkgICAgICAgIHhtbEdldExpbmVObyhjdXIpKTsKKyAgICAgICAgcmV0dXJuKDEpOworICAgIH0KKworICAgIG1lbXQgPSB4bWxNZW1Vc2VkKCk7CisgICAgZXh0cmFNZW1vcnlGcm9tUmVzb2x2ZXIgPSAwOworICAgIC8qCisgICAgICogZHVtcCB0aGUgc2NoZW1hcyB0byBhIGJ1ZmZlciwgdGhlbiByZXBhcnNlIGl0IGFuZCBjb21waWxlIHRoZSBzY2hlbWFzCisgICAgICovCisgICAgYnVmID0geG1sQnVmZmVyQ3JlYXRlKCk7CisgICAgaWYgKGJ1ZiA9PSBOVUxMKSB7CisgICAgICAgIGZwcmludGYoc3RkZXJyLCAib3V0IG9mIG1lbW9yeSAhXG4iKTsKKwlmYXRhbEVycm9yKCk7CisgICAgfQorICAgIHhtbE5vZGVEdW1wKGJ1ZiwgdGVzdC0+ZG9jLCB0ZXN0LCAwLCAwKTsKKyAgICBwY3R4dCA9IHhtbFJlbGF4TkdOZXdNZW1QYXJzZXJDdHh0KChjb25zdCBjaGFyICopYnVmLT5jb250ZW50LCBidWYtPnVzZSk7CisgICAgeG1sUmVsYXhOR1NldFBhcnNlckVycm9ycyhwY3R4dCwKKyAgICAgICAgICh4bWxSZWxheE5HVmFsaWRpdHlFcnJvckZ1bmMpIHRlc3RFcnJvckhhbmRsZXIsCisgICAgICAgICAoeG1sUmVsYXhOR1ZhbGlkaXR5V2FybmluZ0Z1bmMpIHRlc3RFcnJvckhhbmRsZXIsCisJIHBjdHh0KTsKKyAgICBybmcgPSB4bWxSZWxheE5HUGFyc2UocGN0eHQpOworICAgIHhtbFJlbGF4TkdGcmVlUGFyc2VyQ3R4dChwY3R4dCk7CisgICAgaWYgKGV4dHJhTWVtb3J5RnJvbVJlc29sdmVyKQorICAgICAgICBtZW10ID0gMDsKKworICAgIGlmIChybmcgPT0gTlVMTCkgeworICAgICAgICB0ZXN0X2xvZygiRmFpbGVkIHRvIHBhcnNlIFJOR3Rlc3QgbGluZSAlbGRcbiIsCisJICAgICAgICB4bWxHZXRMaW5lTm8odGVzdCkpOworCW5iX2Vycm9ycysrOworICAgICAgICByZXQgPSAxOworCWdvdG8gZG9uZTsKKyAgICB9CisgICAgLyoKKyAgICAgKiBub3cgc2NhbiBhbGwgdGhlIHNpYmxpbmdzIG9mIGNvcnJlY3QgdG8gcHJvY2VzcyB0aGUgPHZhbGlkPiB0ZXN0cworICAgICAqLworICAgIHRtcCA9IGdldE5leHQoY3VyLCAiZm9sbG93aW5nLXNpYmxpbmc6OnZhbGlkWzFdIik7CisgICAgd2hpbGUgKHRtcCAhPSBOVUxMKSB7CisJZHRkID0geG1sR2V0UHJvcCh0bXAsIEJBRF9DQVNUICJkdGQiKTsKKwl0ZXN0ID0gZ2V0TmV4dCh0bXAsICIuLyoiKTsKKwlpZiAodGVzdCA9PSBOVUxMKSB7CisJICAgIGZwcmludGYoc3RkZXJyLCAiRmFpbGVkIHRvIGZpbmQgdGVzdCBpbiA8dmFsaWQ+IGxpbmUgJWxkXG4iLAorCQkgICAgeG1sR2V0TGluZU5vKHRtcCkpOworCisJfSBlbHNlIHsKKwkgICAgeG1sQnVmZmVyRW1wdHkoYnVmKTsKKwkgICAgaWYgKGR0ZCAhPSBOVUxMKQorCQl4bWxCdWZmZXJBZGQoYnVmLCBkdGQsIC0xKTsKKwkgICAgeG1sTm9kZUR1bXAoYnVmLCB0ZXN0LT5kb2MsIHRlc3QsIDAsIDApOworCisJICAgIC8qCisJICAgICAqIFdlIGFyZSByZWFkeSB0byBydW4gdGhlIHRlc3QKKwkgICAgICovCisJICAgIG1lbSA9IHhtbE1lbVVzZWQoKTsKKwkgICAgZXh0cmFNZW1vcnlGcm9tUmVzb2x2ZXIgPSAwOworICAgICAgICAgICAgZG9jID0geG1sUmVhZE1lbW9yeSgoY29uc3QgY2hhciAqKWJ1Zi0+Y29udGVudCwgYnVmLT51c2UsCisJICAgICAgICAgICAgICAgICAgICAgICAgInRlc3QiLCBOVUxMLCAwKTsKKwkgICAgaWYgKGRvYyA9PSBOVUxMKSB7CisJCXRlc3RfbG9nKCJGYWlsZWQgdG8gcGFyc2UgdmFsaWQgaW5zdGFuY2UgbGluZSAlbGRcbiIsCisJCQl4bWxHZXRMaW5lTm8odG1wKSk7CisJCW5iX2Vycm9ycysrOworCSAgICB9IGVsc2UgeworCQluYl90ZXN0cysrOworCSAgICAgICAgY3R4dCA9IHhtbFJlbGF4TkdOZXdWYWxpZEN0eHQocm5nKTsKKwkJeG1sUmVsYXhOR1NldFZhbGlkRXJyb3JzKGN0eHQsCisJCSAgICAgKHhtbFJlbGF4TkdWYWxpZGl0eUVycm9yRnVuYykgdGVzdEVycm9ySGFuZGxlciwKKwkJICAgICAoeG1sUmVsYXhOR1ZhbGlkaXR5V2FybmluZ0Z1bmMpIHRlc3RFcnJvckhhbmRsZXIsCisJCSAgICAgY3R4dCk7CisJCXJldCA9IHhtbFJlbGF4TkdWYWxpZGF0ZURvYyhjdHh0LCBkb2MpOworCQl4bWxSZWxheE5HRnJlZVZhbGlkQ3R4dChjdHh0KTsKKwkJaWYgKHJldCA+IDApIHsKKwkJICAgIHRlc3RfbG9nKCJGYWlsZWQgdG8gdmFsaWRhdGUgdmFsaWQgaW5zdGFuY2UgbGluZSAlbGRcbiIsCisJCQkJeG1sR2V0TGluZU5vKHRtcCkpOworCQkgICAgbmJfZXJyb3JzKys7CisJCX0gZWxzZSBpZiAocmV0IDwgMCkgeworCQkgICAgdGVzdF9sb2coIkludGVybmFsIGVycm9yIHZhbGlkYXRpbmcgaW5zdGFuY2UgbGluZSAlbGRcbiIsCisJCQkgICAgeG1sR2V0TGluZU5vKHRtcCkpOworCQkgICAgbmJfZXJyb3JzKys7CisJCX0KKwkJeG1sRnJlZURvYyhkb2MpOworCSAgICB9CisJICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisJICAgIGlmICgobWVtICE9IHhtbE1lbVVzZWQoKSkgJiYgKGV4dHJhTWVtb3J5RnJvbVJlc29sdmVyID09IDApKSB7CisJICAgICAgICB0ZXN0X2xvZygiVmFsaWRhdGlvbiBvZiBpbnN0YW5jZSBsaW5lICVsZCBsZWFrZWQgJWRcbiIsCisJCSAgICAgICAgeG1sR2V0TGluZU5vKHRtcCksIHhtbE1lbVVzZWQoKSAtIG1lbSk7CisJCXhtbE1lbW9yeUR1bXAoKTsKKwkgICAgICAgIG5iX2xlYWtzKys7CisJICAgIH0KKwl9CisJaWYgKGR0ZCAhPSBOVUxMKQorCSAgICB4bWxGcmVlKGR0ZCk7CisJdG1wID0gZ2V0TmV4dCh0bXAsICJmb2xsb3dpbmctc2libGluZzo6dmFsaWRbMV0iKTsKKyAgICB9CisgICAgLyoKKyAgICAgKiBub3cgc2NhbiBhbGwgdGhlIHNpYmxpbmdzIG9mIGNvcnJlY3QgdG8gcHJvY2VzcyB0aGUgPGludmFsaWQ+IHRlc3RzCisgICAgICovCisgICAgdG1wID0gZ2V0TmV4dChjdXIsICJmb2xsb3dpbmctc2libGluZzo6aW52YWxpZFsxXSIpOworICAgIHdoaWxlICh0bXAgIT0gTlVMTCkgeworCXRlc3QgPSBnZXROZXh0KHRtcCwgIi4vKiIpOworCWlmICh0ZXN0ID09IE5VTEwpIHsKKwkgICAgZnByaW50ZihzdGRlcnIsICJGYWlsZWQgdG8gZmluZCB0ZXN0IGluIDxpbnZhbGlkPiBsaW5lICVsZFxuIiwKKwkJICAgIHhtbEdldExpbmVObyh0bXApKTsKKworCX0gZWxzZSB7CisJICAgIHhtbEJ1ZmZlckVtcHR5KGJ1Zik7CisJICAgIHhtbE5vZGVEdW1wKGJ1ZiwgdGVzdC0+ZG9jLCB0ZXN0LCAwLCAwKTsKKworCSAgICAvKgorCSAgICAgKiBXZSBhcmUgcmVhZHkgdG8gcnVuIHRoZSB0ZXN0CisJICAgICAqLworCSAgICBtZW0gPSB4bWxNZW1Vc2VkKCk7CisJICAgIGV4dHJhTWVtb3J5RnJvbVJlc29sdmVyID0gMDsKKyAgICAgICAgICAgIGRvYyA9IHhtbFJlYWRNZW1vcnkoKGNvbnN0IGNoYXIgKilidWYtPmNvbnRlbnQsIGJ1Zi0+dXNlLAorCSAgICAgICAgICAgICAgICAgICAgICAgICJ0ZXN0IiwgTlVMTCwgMCk7CisJICAgIGlmIChkb2MgPT0gTlVMTCkgeworCQl0ZXN0X2xvZygiRmFpbGVkIHRvIHBhcnNlIHZhbGlkIGluc3RhbmNlIGxpbmUgJWxkXG4iLAorCQkJeG1sR2V0TGluZU5vKHRtcCkpOworCQluYl9lcnJvcnMrKzsKKwkgICAgfSBlbHNlIHsKKwkJbmJfdGVzdHMrKzsKKwkgICAgICAgIGN0eHQgPSB4bWxSZWxheE5HTmV3VmFsaWRDdHh0KHJuZyk7CisJCXhtbFJlbGF4TkdTZXRWYWxpZEVycm9ycyhjdHh0LAorCQkgICAgICh4bWxSZWxheE5HVmFsaWRpdHlFcnJvckZ1bmMpIHRlc3RFcnJvckhhbmRsZXIsCisJCSAgICAgKHhtbFJlbGF4TkdWYWxpZGl0eVdhcm5pbmdGdW5jKSB0ZXN0RXJyb3JIYW5kbGVyLAorCQkgICAgIGN0eHQpOworCQlyZXQgPSB4bWxSZWxheE5HVmFsaWRhdGVEb2MoY3R4dCwgZG9jKTsKKwkJeG1sUmVsYXhOR0ZyZWVWYWxpZEN0eHQoY3R4dCk7CisJCWlmIChyZXQgPT0gMCkgeworCQkgICAgdGVzdF9sb2coIkZhaWxlZCB0byBkZXRlY3QgaW52YWxpZCBpbnN0YW5jZSBsaW5lICVsZFxuIiwKKwkJCQl4bWxHZXRMaW5lTm8odG1wKSk7CisJCSAgICBuYl9lcnJvcnMrKzsKKwkJfSBlbHNlIGlmIChyZXQgPCAwKSB7CisJCSAgICB0ZXN0X2xvZygiSW50ZXJuYWwgZXJyb3IgdmFsaWRhdGluZyBpbnN0YW5jZSBsaW5lICVsZFxuIiwKKwkJCSAgICB4bWxHZXRMaW5lTm8odG1wKSk7CisJCSAgICBuYl9lcnJvcnMrKzsKKwkJfQorCQl4bWxGcmVlRG9jKGRvYyk7CisJICAgIH0KKwkgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKwkgICAgaWYgKChtZW0gIT0geG1sTWVtVXNlZCgpKSAmJiAoZXh0cmFNZW1vcnlGcm9tUmVzb2x2ZXIgPT0gMCkpIHsKKwkgICAgICAgIHRlc3RfbG9nKCJWYWxpZGF0aW9uIG9mIGluc3RhbmNlIGxpbmUgJWxkIGxlYWtlZCAlZFxuIiwKKwkJICAgICAgICB4bWxHZXRMaW5lTm8odG1wKSwgeG1sTWVtVXNlZCgpIC0gbWVtKTsKKwkJeG1sTWVtb3J5RHVtcCgpOworCSAgICAgICAgbmJfbGVha3MrKzsKKwkgICAgfQorCX0KKwl0bXAgPSBnZXROZXh0KHRtcCwgImZvbGxvd2luZy1zaWJsaW5nOjppbnZhbGlkWzFdIik7CisgICAgfQorCitkb25lOgorICAgIGlmIChidWYgIT0gTlVMTCkKKwl4bWxCdWZmZXJGcmVlKGJ1Zik7CisgICAgaWYgKHJuZyAhPSBOVUxMKQorICAgICAgICB4bWxSZWxheE5HRnJlZShybmcpOworICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgaWYgKChtZW10ICE9IHhtbE1lbVVzZWQoKSkgJiYgKG1lbXQgIT0gMCkpIHsKKwl0ZXN0X2xvZygiVmFsaWRhdGlvbiBvZiB0ZXN0cyBzdGFydGluZyBsaW5lICVsZCBsZWFrZWQgJWRcbiIsCisJCXhtbEdldExpbmVObyhjdXIpLCB4bWxNZW1Vc2VkKCkgLSBtZW10KTsKKwluYl9sZWFrcysrOworICAgIH0KKyAgICByZXR1cm4ocmV0KTsKK30KKworc3RhdGljIGludAoreHNkVGVzdFN1aXRlKHhtbE5vZGVQdHIgY3VyKSB7CisgICAgaWYgKHZlcmJvc2UpIHsKKwl4bWxDaGFyICpkb2MgPSBnZXRTdHJpbmcoY3VyLCAic3RyaW5nKGRvY3VtZW50YXRpb24pIik7CisKKwlpZiAoZG9jICE9IE5VTEwpIHsKKwkgICAgcHJpbnRmKCJTdWl0ZSAlc1xuIiwgZG9jKTsKKwkgICAgeG1sRnJlZShkb2MpOworCX0KKyAgICB9CisgICAgY3VyID0gZ2V0TmV4dChjdXIsICIuL3Rlc3RDYXNlWzFdIik7CisgICAgd2hpbGUgKGN1ciAhPSBOVUxMKSB7CisgICAgICAgIHhzZFRlc3RDYXNlKGN1cik7CisJY3VyID0gZ2V0TmV4dChjdXIsICJmb2xsb3dpbmctc2libGluZzo6dGVzdENhc2VbMV0iKTsKKyAgICB9CisKKyAgICByZXR1cm4oMCk7Cit9CisKK3N0YXRpYyBpbnQKK3hzZFRlc3Qodm9pZCkgeworICAgIHhtbERvY1B0ciBkb2M7CisgICAgeG1sTm9kZVB0ciBjdXI7CisgICAgY29uc3QgY2hhciAqZmlsZW5hbWUgPSAidGVzdC94c2R0ZXN0L3hzZHRlc3RzdWl0ZS54bWwiOworICAgIGludCByZXQgPSAwOworCisgICAgZG9jID0geG1sUmVhZEZpbGUoZmlsZW5hbWUsIE5VTEwsIFhNTF9QQVJTRV9OT0VOVCk7CisgICAgaWYgKGRvYyA9PSBOVUxMKSB7CisgICAgICAgIGZwcmludGYoc3RkZXJyLCAiRmFpbGVkIHRvIHBhcnNlICVzXG4iLCBmaWxlbmFtZSk7CisJcmV0dXJuKC0xKTsKKyAgICB9CisgICAgcHJpbnRmKCIjIyBYTUwgU2NoZW1hcyBkYXRhdHlwZXMgdGVzdCBzdWl0ZSBmcm9tIEphbWVzIENsYXJrXG4iKTsKKworICAgIGN1ciA9IHhtbERvY0dldFJvb3RFbGVtZW50KGRvYyk7CisgICAgaWYgKChjdXIgPT0gTlVMTCkgfHwgKCF4bWxTdHJFcXVhbChjdXItPm5hbWUsIEJBRF9DQVNUICJ0ZXN0U3VpdGUiKSkpIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJVbmV4cGVjdGVkIGZvcm1hdCAlc1xuIiwgZmlsZW5hbWUpOworCXJldCA9IC0xOworCWdvdG8gZG9uZTsKKyAgICB9CisKKyAgICBjdXIgPSBnZXROZXh0KGN1ciwgIi4vdGVzdFN1aXRlWzFdIik7CisgICAgaWYgKChjdXIgPT0gTlVMTCkgfHwgKCF4bWxTdHJFcXVhbChjdXItPm5hbWUsIEJBRF9DQVNUICJ0ZXN0U3VpdGUiKSkpIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJVbmV4cGVjdGVkIGZvcm1hdCAlc1xuIiwgZmlsZW5hbWUpOworCXJldCA9IC0xOworCWdvdG8gZG9uZTsKKyAgICB9CisgICAgd2hpbGUgKGN1ciAhPSBOVUxMKSB7CisgICAgICAgIHhzZFRlc3RTdWl0ZShjdXIpOworCWN1ciA9IGdldE5leHQoY3VyLCAiZm9sbG93aW5nLXNpYmxpbmc6OnRlc3RTdWl0ZVsxXSIpOworICAgIH0KKworZG9uZToKKyAgICBpZiAoZG9jICE9IE5VTEwpCisJeG1sRnJlZURvYyhkb2MpOworICAgIHJldHVybihyZXQpOworfQorCitzdGF0aWMgaW50CitybmdUZXN0U3VpdGUoeG1sTm9kZVB0ciBjdXIpIHsKKyAgICBpZiAodmVyYm9zZSkgeworCXhtbENoYXIgKmRvYyA9IGdldFN0cmluZyhjdXIsICJzdHJpbmcoZG9jdW1lbnRhdGlvbikiKTsKKworCWlmIChkb2MgIT0gTlVMTCkgeworCSAgICBwcmludGYoIlN1aXRlICVzXG4iLCBkb2MpOworCSAgICB4bWxGcmVlKGRvYyk7CisJfSBlbHNlIHsKKwkgICAgZG9jID0gZ2V0U3RyaW5nKGN1ciwgInN0cmluZyhzZWN0aW9uKSIpOworCSAgICBpZiAoZG9jICE9IE5VTEwpIHsKKwkJcHJpbnRmKCJTZWN0aW9uICVzXG4iLCBkb2MpOworCQl4bWxGcmVlKGRvYyk7CisJICAgIH0KKwl9CisgICAgfQorICAgIGN1ciA9IGdldE5leHQoY3VyLCAiLi90ZXN0U3VpdGVbMV0iKTsKKyAgICB3aGlsZSAoY3VyICE9IE5VTEwpIHsKKyAgICAgICAgeHNkVGVzdFN1aXRlKGN1cik7CisJY3VyID0gZ2V0TmV4dChjdXIsICJmb2xsb3dpbmctc2libGluZzo6dGVzdFN1aXRlWzFdIik7CisgICAgfQorCisgICAgcmV0dXJuKDApOworfQorCitzdGF0aWMgaW50CitybmdUZXN0MSh2b2lkKSB7CisgICAgeG1sRG9jUHRyIGRvYzsKKyAgICB4bWxOb2RlUHRyIGN1cjsKKyAgICBjb25zdCBjaGFyICpmaWxlbmFtZSA9ICJ0ZXN0L3JlbGF4bmcvT0FTSVMvc3BlY3Rlc3QueG1sIjsKKyAgICBpbnQgcmV0ID0gMDsKKworICAgIGRvYyA9IHhtbFJlYWRGaWxlKGZpbGVuYW1lLCBOVUxMLCBYTUxfUEFSU0VfTk9FTlQpOworICAgIGlmIChkb2MgPT0gTlVMTCkgeworICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkZhaWxlZCB0byBwYXJzZSAlc1xuIiwgZmlsZW5hbWUpOworCXJldHVybigtMSk7CisgICAgfQorICAgIHByaW50ZigiIyMgUmVsYXggTkcgdGVzdCBzdWl0ZSBmcm9tIEphbWVzIENsYXJrXG4iKTsKKworICAgIGN1ciA9IHhtbERvY0dldFJvb3RFbGVtZW50KGRvYyk7CisgICAgaWYgKChjdXIgPT0gTlVMTCkgfHwgKCF4bWxTdHJFcXVhbChjdXItPm5hbWUsIEJBRF9DQVNUICJ0ZXN0U3VpdGUiKSkpIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJVbmV4cGVjdGVkIGZvcm1hdCAlc1xuIiwgZmlsZW5hbWUpOworCXJldCA9IC0xOworCWdvdG8gZG9uZTsKKyAgICB9CisKKyAgICBjdXIgPSBnZXROZXh0KGN1ciwgIi4vdGVzdFN1aXRlWzFdIik7CisgICAgaWYgKChjdXIgPT0gTlVMTCkgfHwgKCF4bWxTdHJFcXVhbChjdXItPm5hbWUsIEJBRF9DQVNUICJ0ZXN0U3VpdGUiKSkpIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJVbmV4cGVjdGVkIGZvcm1hdCAlc1xuIiwgZmlsZW5hbWUpOworCXJldCA9IC0xOworCWdvdG8gZG9uZTsKKyAgICB9CisgICAgd2hpbGUgKGN1ciAhPSBOVUxMKSB7CisgICAgICAgIHJuZ1Rlc3RTdWl0ZShjdXIpOworCWN1ciA9IGdldE5leHQoY3VyLCAiZm9sbG93aW5nLXNpYmxpbmc6OnRlc3RTdWl0ZVsxXSIpOworICAgIH0KKworZG9uZToKKyAgICBpZiAoZG9jICE9IE5VTEwpCisJeG1sRnJlZURvYyhkb2MpOworICAgIHJldHVybihyZXQpOworfQorCitzdGF0aWMgaW50CitybmdUZXN0Mih2b2lkKSB7CisgICAgeG1sRG9jUHRyIGRvYzsKKyAgICB4bWxOb2RlUHRyIGN1cjsKKyAgICBjb25zdCBjaGFyICpmaWxlbmFtZSA9ICJ0ZXN0L3JlbGF4bmcvdGVzdHN1aXRlLnhtbCI7CisgICAgaW50IHJldCA9IDA7CisKKyAgICBkb2MgPSB4bWxSZWFkRmlsZShmaWxlbmFtZSwgTlVMTCwgWE1MX1BBUlNFX05PRU5UKTsKKyAgICBpZiAoZG9jID09IE5VTEwpIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJGYWlsZWQgdG8gcGFyc2UgJXNcbiIsIGZpbGVuYW1lKTsKKwlyZXR1cm4oLTEpOworICAgIH0KKyAgICBwcmludGYoIiMjIFJlbGF4IE5HIHRlc3Qgc3VpdGUgZm9yIGxpYnhtbDJcbiIpOworCisgICAgY3VyID0geG1sRG9jR2V0Um9vdEVsZW1lbnQoZG9jKTsKKyAgICBpZiAoKGN1ciA9PSBOVUxMKSB8fCAoIXhtbFN0ckVxdWFsKGN1ci0+bmFtZSwgQkFEX0NBU1QgInRlc3RTdWl0ZSIpKSkgeworICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIlVuZXhwZWN0ZWQgZm9ybWF0ICVzXG4iLCBmaWxlbmFtZSk7CisJcmV0ID0gLTE7CisJZ290byBkb25lOworICAgIH0KKworICAgIGN1ciA9IGdldE5leHQoY3VyLCAiLi90ZXN0U3VpdGVbMV0iKTsKKyAgICBpZiAoKGN1ciA9PSBOVUxMKSB8fCAoIXhtbFN0ckVxdWFsKGN1ci0+bmFtZSwgQkFEX0NBU1QgInRlc3RTdWl0ZSIpKSkgeworICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIlVuZXhwZWN0ZWQgZm9ybWF0ICVzXG4iLCBmaWxlbmFtZSk7CisJcmV0ID0gLTE7CisJZ290byBkb25lOworICAgIH0KKyAgICB3aGlsZSAoY3VyICE9IE5VTEwpIHsKKyAgICAgICAgeHNkVGVzdFN1aXRlKGN1cik7CisJY3VyID0gZ2V0TmV4dChjdXIsICJmb2xsb3dpbmctc2libGluZzo6dGVzdFN1aXRlWzFdIik7CisgICAgfQorCitkb25lOgorICAgIGlmIChkb2MgIT0gTlVMTCkKKwl4bWxGcmVlRG9jKGRvYyk7CisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCVNjaGVtYXMgdGVzdCBzdWl0ZXMgZnJvbSBXM0MvTklTVC9NUy9TdW4JCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworc3RhdGljIGludAoreHN0Y1Rlc3RJbnN0YW5jZSh4bWxOb2RlUHRyIGN1ciwgeG1sU2NoZW1hUHRyIHNjaGVtYXMsCisgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKnNwYXRoLCBjb25zdCBjaGFyICpiYXNlKSB7CisgICAgeG1sQ2hhciAqaHJlZiA9IE5VTEw7CisgICAgeG1sQ2hhciAqcGF0aCA9IE5VTEw7CisgICAgeG1sQ2hhciAqdmFsaWRpdHkgPSBOVUxMOworICAgIHhtbFNjaGVtYVZhbGlkQ3R4dFB0ciBjdHh0ID0gTlVMTDsKKyAgICB4bWxEb2NQdHIgZG9jID0gTlVMTDsKKyAgICBpbnQgcmV0ID0gMCwgbWVtOworCisgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICB0ZXN0RXJyb3JzU2l6ZSA9IDA7IHRlc3RFcnJvcnNbMF0gPSAwOworICAgIG1lbSA9IHhtbE1lbVVzZWQoKTsKKyAgICBocmVmID0gZ2V0U3RyaW5nKGN1ciwKKyAgICAgICAgICAgICAgICAgICAgICJzdHJpbmcodHM6aW5zdGFuY2VEb2N1bWVudC9AeGxpbms6aHJlZikiKTsKKyAgICBpZiAoKGhyZWYgPT0gTlVMTCkgfHwgKGhyZWZbMF0gPT0gMCkpIHsKKwl0ZXN0X2xvZygidGVzdEdyb3VwIGxpbmUgJWxkIG1pc3NlcyBocmVmIGZvciBzY2hlbWFEb2N1bWVudFxuIiwKKwkJICAgIHhtbEdldExpbmVObyhjdXIpKTsKKwlyZXQgPSAtMTsKKwlnb3RvIGRvbmU7CisgICAgfQorICAgIHBhdGggPSB4bWxCdWlsZFVSSShocmVmLCBCQURfQ0FTVCBiYXNlKTsKKyAgICBpZiAocGF0aCA9PSBOVUxMKSB7CisJZnByaW50ZihzdGRlcnIsCisJICAgICAgICAiRmFpbGVkIHRvIGJ1aWxkIHBhdGggdG8gc2NoZW1hcyB0ZXN0R3JvdXAgbGluZSAlbGQgOiAlc1xuIiwKKwkJeG1sR2V0TGluZU5vKGN1ciksIGhyZWYpOworCXJldCA9IC0xOworCWdvdG8gZG9uZTsKKyAgICB9CisgICAgaWYgKGNoZWNrVGVzdEZpbGUoKGNvbnN0IGNoYXIgKikgcGF0aCkgPD0gMCkgeworCXRlc3RfbG9nKCJzY2hlbWFzIGZvciB0ZXN0R3JvdXAgbGluZSAlbGQgaXMgbWlzc2luZzogJXNcbiIsCisJCXhtbEdldExpbmVObyhjdXIpLCBwYXRoKTsKKwlyZXQgPSAtMTsKKwlnb3RvIGRvbmU7CisgICAgfQorICAgIHZhbGlkaXR5ID0gZ2V0U3RyaW5nKGN1ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAic3RyaW5nKHRzOmV4cGVjdGVkL0B2YWxpZGl0eSkiKTsKKyAgICBpZiAodmFsaWRpdHkgPT0gTlVMTCkgeworICAgICAgICBmcHJpbnRmKHN0ZGVyciwgImluc3RhbmNlRG9jdW1lbnQgbGluZSAlbGQgbWlzc2VzIGV4cGVjdGVkIHZhbGlkaXR5XG4iLAorCSAgICAgICAgeG1sR2V0TGluZU5vKGN1cikpOworCXJldCA9IC0xOworCWdvdG8gZG9uZTsKKyAgICB9CisgICAgbmJfdGVzdHMrKzsKKyAgICBkb2MgPSB4bWxSZWFkRmlsZSgoY29uc3QgY2hhciAqKSBwYXRoLCBOVUxMLCBYTUxfUEFSU0VfTk9FTlQpOworICAgIGlmIChkb2MgPT0gTlVMTCkgeworICAgICAgICBmcHJpbnRmKHN0ZGVyciwgImluc3RhbmNlICVzIGZhaWxzIHRvIHBhcnNlXG4iLCBwYXRoKTsKKwlyZXQgPSAtMTsKKwluYl9lcnJvcnMrKzsKKwlnb3RvIGRvbmU7CisgICAgfQorCisgICAgY3R4dCA9IHhtbFNjaGVtYU5ld1ZhbGlkQ3R4dChzY2hlbWFzKTsKKyAgICB4bWxTY2hlbWFTZXRWYWxpZEVycm9ycyhjdHh0LAorICAgICAgICAgKHhtbFNjaGVtYVZhbGlkaXR5RXJyb3JGdW5jKSB0ZXN0RXJyb3JIYW5kbGVyLAorICAgICAgICAgKHhtbFNjaGVtYVZhbGlkaXR5V2FybmluZ0Z1bmMpIHRlc3RFcnJvckhhbmRsZXIsCisJIGN0eHQpOworICAgIHJldCA9IHhtbFNjaGVtYVZhbGlkYXRlRG9jKGN0eHQsIGRvYyk7CisKKyAgICBpZiAoeG1sU3RyRXF1YWwodmFsaWRpdHksIEJBRF9DQVNUICJ2YWxpZCIpKSB7CisJaWYgKHJldCA+IDApIHsKKwkgICAgdGVzdF9sb2coInZhbGlkIGluc3RhbmNlICVzIGZhaWxlZCB0byB2YWxpZGF0ZSBhZ2FpbnN0ICVzXG4iLAorCQkJcGF0aCwgc3BhdGgpOworCSAgICBuYl9lcnJvcnMrKzsKKwl9IGVsc2UgaWYgKHJldCA8IDApIHsKKwkgICAgdGVzdF9sb2coInZhbGlkIGluc3RhbmNlICVzIGdvdCBpbnRlcm5hbCBlcnJvciB2YWxpZGF0aW5nICVzXG4iLAorCQkJcGF0aCwgc3BhdGgpOworCSAgICBuYl9pbnRlcm5hbHMrKzsKKwkgICAgbmJfZXJyb3JzKys7CisJfQorICAgIH0gZWxzZSBpZiAoeG1sU3RyRXF1YWwodmFsaWRpdHksIEJBRF9DQVNUICJpbnZhbGlkIikpIHsKKwlpZiAocmV0ID09IDApIHsKKwkgICAgdGVzdF9sb2coIkZhaWxlZCB0byBkZXRlY3QgaW52YWxpZCBpbnN0YW5jZSAlcyBhZ2FpbnN0ICVzXG4iLAorCQkJcGF0aCwgc3BhdGgpOworCSAgICBuYl9lcnJvcnMrKzsKKwl9CisgICAgfSBlbHNlIHsKKyAgICAgICAgdGVzdF9sb2coImluc3RhbmNlRG9jdW1lbnQgbGluZSAlbGQgaGFzIHVuZXhwZWN0ZWQgdmFsaWRpdHkgdmFsdWUlc1xuIiwKKwkgICAgICAgIHhtbEdldExpbmVObyhjdXIpLCB2YWxpZGl0eSk7CisJcmV0ID0gLTE7CisJZ290byBkb25lOworICAgIH0KKworZG9uZToKKyAgICBpZiAoaHJlZiAhPSBOVUxMKSB4bWxGcmVlKGhyZWYpOworICAgIGlmIChwYXRoICE9IE5VTEwpIHhtbEZyZWUocGF0aCk7CisgICAgaWYgKHZhbGlkaXR5ICE9IE5VTEwpIHhtbEZyZWUodmFsaWRpdHkpOworICAgIGlmIChjdHh0ICE9IE5VTEwpIHhtbFNjaGVtYUZyZWVWYWxpZEN0eHQoY3R4dCk7CisgICAgaWYgKGRvYyAhPSBOVUxMKSB4bWxGcmVlRG9jKGRvYyk7CisgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICBpZiAobWVtICE9IHhtbE1lbVVzZWQoKSkgeworCXRlc3RfbG9nKCJWYWxpZGF0aW9uIG9mIHRlc3RzIHN0YXJ0aW5nIGxpbmUgJWxkIGxlYWtlZCAlZFxuIiwKKwkJeG1sR2V0TGluZU5vKGN1ciksIHhtbE1lbVVzZWQoKSAtIG1lbSk7CisJbmJfbGVha3MrKzsKKyAgICB9CisgICAgcmV0dXJuKHJldCk7Cit9CisKK3N0YXRpYyBpbnQKK3hzdGNUZXN0R3JvdXAoeG1sTm9kZVB0ciBjdXIsIGNvbnN0IGNoYXIgKmJhc2UpIHsKKyAgICB4bWxDaGFyICpocmVmID0gTlVMTDsKKyAgICB4bWxDaGFyICpwYXRoID0gTlVMTDsKKyAgICB4bWxDaGFyICp2YWxpZGl0eSA9IE5VTEw7CisgICAgeG1sU2NoZW1hUHRyIHNjaGVtYXMgPSBOVUxMOworICAgIHhtbFNjaGVtYVBhcnNlckN0eHRQdHIgY3R4dDsKKyAgICB4bWxOb2RlUHRyIGluc3RhbmNlOworICAgIGludCByZXQgPSAwLCBtZW07CisKKyAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgIHRlc3RFcnJvcnNTaXplID0gMDsgdGVzdEVycm9yc1swXSA9IDA7CisgICAgbWVtID0geG1sTWVtVXNlZCgpOworICAgIGhyZWYgPSBnZXRTdHJpbmcoY3VyLAorICAgICAgICAgICAgICAgICAgICAgInN0cmluZyh0czpzY2hlbWFUZXN0L3RzOnNjaGVtYURvY3VtZW50L0B4bGluazpocmVmKSIpOworICAgIGlmICgoaHJlZiA9PSBOVUxMKSB8fCAoaHJlZlswXSA9PSAwKSkgeworICAgICAgICB0ZXN0X2xvZygidGVzdEdyb3VwIGxpbmUgJWxkIG1pc3NlcyBocmVmIGZvciBzY2hlbWFEb2N1bWVudFxuIiwKKwkJICAgIHhtbEdldExpbmVObyhjdXIpKTsKKwlyZXQgPSAtMTsKKwlnb3RvIGRvbmU7CisgICAgfQorICAgIHBhdGggPSB4bWxCdWlsZFVSSShocmVmLCBCQURfQ0FTVCBiYXNlKTsKKyAgICBpZiAocGF0aCA9PSBOVUxMKSB7CisJdGVzdF9sb2coIkZhaWxlZCB0byBidWlsZCBwYXRoIHRvIHNjaGVtYXMgdGVzdEdyb3VwIGxpbmUgJWxkIDogJXNcbiIsCisJCXhtbEdldExpbmVObyhjdXIpLCBocmVmKTsKKwlyZXQgPSAtMTsKKwlnb3RvIGRvbmU7CisgICAgfQorICAgIGlmIChjaGVja1Rlc3RGaWxlKChjb25zdCBjaGFyICopIHBhdGgpIDw9IDApIHsKKwl0ZXN0X2xvZygic2NoZW1hcyBmb3IgdGVzdEdyb3VwIGxpbmUgJWxkIGlzIG1pc3Npbmc6ICVzXG4iLAorCQl4bWxHZXRMaW5lTm8oY3VyKSwgcGF0aCk7CisJcmV0ID0gLTE7CisJZ290byBkb25lOworICAgIH0KKyAgICB2YWxpZGl0eSA9IGdldFN0cmluZyhjdXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgInN0cmluZyh0czpzY2hlbWFUZXN0L3RzOmV4cGVjdGVkL0B2YWxpZGl0eSkiKTsKKyAgICBpZiAodmFsaWRpdHkgPT0gTlVMTCkgeworICAgICAgICB0ZXN0X2xvZygidGVzdEdyb3VwIGxpbmUgJWxkIG1pc3NlcyBleHBlY3RlZCB2YWxpZGl0eVxuIiwKKwkgICAgICAgIHhtbEdldExpbmVObyhjdXIpKTsKKwlyZXQgPSAtMTsKKwlnb3RvIGRvbmU7CisgICAgfQorICAgIG5iX3Rlc3RzKys7CisgICAgaWYgKHhtbFN0ckVxdWFsKHZhbGlkaXR5LCBCQURfQ0FTVCAidmFsaWQiKSkgeworICAgICAgICBuYl9zY2hlbWF0YXMrKzsKKwljdHh0ID0geG1sU2NoZW1hTmV3UGFyc2VyQ3R4dCgoY29uc3QgY2hhciAqKSBwYXRoKTsKKwl4bWxTY2hlbWFTZXRQYXJzZXJFcnJvcnMoY3R4dCwKKwkgICAgICh4bWxTY2hlbWFWYWxpZGl0eUVycm9yRnVuYykgdGVzdEVycm9ySGFuZGxlciwKKwkgICAgICh4bWxTY2hlbWFWYWxpZGl0eVdhcm5pbmdGdW5jKSB0ZXN0RXJyb3JIYW5kbGVyLAorCSAgICAgY3R4dCk7CisJc2NoZW1hcyA9IHhtbFNjaGVtYVBhcnNlKGN0eHQpOworCXhtbFNjaGVtYUZyZWVQYXJzZXJDdHh0KGN0eHQpOworCWlmIChzY2hlbWFzID09IE5VTEwpIHsKKwkgICAgdGVzdF9sb2coInZhbGlkIHNjaGVtYXMgJXMgZmFpbGVkIHRvIHBhcnNlXG4iLAorCQkJcGF0aCk7CisJICAgIHJldCA9IDE7CisJICAgIG5iX2Vycm9ycysrOworCX0KKwlpZiAoKHJldCA9PSAwKSAmJiAoc3Ryc3RyKHRlc3RFcnJvcnMsICJuaW1wbGVtZW50ZWQiKSAhPSBOVUxMKSkgeworCSAgICB0ZXN0X2xvZygidmFsaWQgc2NoZW1hcyAlcyBoaXQgYW4gdW5pbXBsZW1lbnRlZCBibG9ja1xuIiwKKwkJCXBhdGgpOworCSAgICByZXQgPSAxOworCSAgICBuYl91bmltcGxlbWVudGVkKys7CisJICAgIG5iX2Vycm9ycysrOworCX0KKwlpbnN0YW5jZSA9IGdldE5leHQoY3VyLCAiLi90czppbnN0YW5jZVRlc3RbMV0iKTsKKwl3aGlsZSAoaW5zdGFuY2UgIT0gTlVMTCkgeworCSAgICBpZiAoc2NoZW1hcyAhPSBOVUxMKSB7CisJCXhzdGNUZXN0SW5zdGFuY2UoaW5zdGFuY2UsIHNjaGVtYXMsIHBhdGgsIGJhc2UpOworCSAgICB9IGVsc2UgeworCQkvKgorCQkqIFdlJ2xsIGF1dG9tYXRpY2FsbHkgbWFyayB0aGUgaW5zdGFuY2VzIGFzIGZhaWxlZAorCQkqIGlmIHRoZSBzY2hlbWEgd2FzIGJyb2tlbi4KKwkJKi8KKwkJbmJfZXJyb3JzKys7CisJICAgIH0KKwkgICAgaW5zdGFuY2UgPSBnZXROZXh0KGluc3RhbmNlLAorCQkiZm9sbG93aW5nLXNpYmxpbmc6OnRzOmluc3RhbmNlVGVzdFsxXSIpOworCX0KKyAgICB9IGVsc2UgaWYgKHhtbFN0ckVxdWFsKHZhbGlkaXR5LCBCQURfQ0FTVCAiaW52YWxpZCIpKSB7CisgICAgICAgIG5iX3NjaGVtYXRhcysrOworCWN0eHQgPSB4bWxTY2hlbWFOZXdQYXJzZXJDdHh0KChjb25zdCBjaGFyICopIHBhdGgpOworCXhtbFNjaGVtYVNldFBhcnNlckVycm9ycyhjdHh0LAorCSAgICAgKHhtbFNjaGVtYVZhbGlkaXR5RXJyb3JGdW5jKSB0ZXN0RXJyb3JIYW5kbGVyLAorCSAgICAgKHhtbFNjaGVtYVZhbGlkaXR5V2FybmluZ0Z1bmMpIHRlc3RFcnJvckhhbmRsZXIsCisJICAgICBjdHh0KTsKKwlzY2hlbWFzID0geG1sU2NoZW1hUGFyc2UoY3R4dCk7CisJeG1sU2NoZW1hRnJlZVBhcnNlckN0eHQoY3R4dCk7CisJaWYgKHNjaGVtYXMgIT0gTlVMTCkgeworCSAgICB0ZXN0X2xvZygiRmFpbGVkIHRvIGRldGVjdCBlcnJvciBpbiBzY2hlbWFzICVzXG4iLAorCQkJcGF0aCk7CisJICAgIG5iX2Vycm9ycysrOworCSAgICByZXQgPSAxOworCX0KKwlpZiAoKHJldCA9PSAwKSAmJiAoc3Ryc3RyKHRlc3RFcnJvcnMsICJuaW1wbGVtZW50ZWQiKSAhPSBOVUxMKSkgeworCSAgICBuYl91bmltcGxlbWVudGVkKys7CisJICAgIHRlc3RfbG9nKCJpbnZhbGlkIHNjaGVtYXMgJXMgaGl0IGFuIHVuaW1wbGVtZW50ZWQgYmxvY2tcbiIsCisJCQlwYXRoKTsKKwkgICAgcmV0ID0gMTsKKwkgICAgbmJfZXJyb3JzKys7CisJfQorICAgIH0gZWxzZSB7CisgICAgICAgIHRlc3RfbG9nKCJ0ZXN0R3JvdXAgbGluZSAlbGQgbWlzc2VzIHVuZXhwZWN0ZWQgdmFsaWRpdHkgdmFsdWUlc1xuIiwKKwkgICAgICAgIHhtbEdldExpbmVObyhjdXIpLCB2YWxpZGl0eSk7CisJcmV0ID0gLTE7CisJZ290byBkb25lOworICAgIH0KKworZG9uZToKKyAgICBpZiAoaHJlZiAhPSBOVUxMKSB4bWxGcmVlKGhyZWYpOworICAgIGlmIChwYXRoICE9IE5VTEwpIHhtbEZyZWUocGF0aCk7CisgICAgaWYgKHZhbGlkaXR5ICE9IE5VTEwpIHhtbEZyZWUodmFsaWRpdHkpOworICAgIGlmIChzY2hlbWFzICE9IE5VTEwpIHhtbFNjaGVtYUZyZWUoc2NoZW1hcyk7CisgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICBpZiAoKG1lbSAhPSB4bWxNZW1Vc2VkKCkpICYmIChleHRyYU1lbW9yeUZyb21SZXNvbHZlciA9PSAwKSkgeworCXRlc3RfbG9nKCJQcm9jZXNzaW5nIHRlc3QgbGluZSAlbGQgJXMgbGVha2VkICVkXG4iLAorCQl4bWxHZXRMaW5lTm8oY3VyKSwgcGF0aCwgeG1sTWVtVXNlZCgpIC0gbWVtKTsKKwluYl9sZWFrcysrOworICAgIH0KKyAgICByZXR1cm4ocmV0KTsKK30KKworc3RhdGljIGludAoreHN0Y01ldGFkYXRhKGNvbnN0IGNoYXIgKm1ldGFkYXRhLCBjb25zdCBjaGFyICpiYXNlKSB7CisgICAgeG1sRG9jUHRyIGRvYzsKKyAgICB4bWxOb2RlUHRyIGN1cjsKKyAgICB4bWxDaGFyICpjb250cmlidXRvcjsKKyAgICB4bWxDaGFyICpuYW1lOworICAgIGludCByZXQgPSAwOworCisgICAgZG9jID0geG1sUmVhZEZpbGUobWV0YWRhdGEsIE5VTEwsIFhNTF9QQVJTRV9OT0VOVCk7CisgICAgaWYgKGRvYyA9PSBOVUxMKSB7CisgICAgICAgIGZwcmludGYoc3RkZXJyLCAiRmFpbGVkIHRvIHBhcnNlICVzXG4iLCBtZXRhZGF0YSk7CisJcmV0dXJuKC0xKTsKKyAgICB9CisKKyAgICBjdXIgPSB4bWxEb2NHZXRSb290RWxlbWVudChkb2MpOworICAgIGlmICgoY3VyID09IE5VTEwpIHx8ICgheG1sU3RyRXF1YWwoY3VyLT5uYW1lLCBCQURfQ0FTVCAidGVzdFNldCIpKSkgeworICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIlVuZXhwZWN0ZWQgZm9ybWF0ICVzXG4iLCBtZXRhZGF0YSk7CisJcmV0dXJuKC0xKTsKKyAgICB9CisgICAgY29udHJpYnV0b3IgPSB4bWxHZXRQcm9wKGN1ciwgQkFEX0NBU1QgImNvbnRyaWJ1dG9yIik7CisgICAgaWYgKGNvbnRyaWJ1dG9yID09IE5VTEwpIHsKKyAgICAgICAgY29udHJpYnV0b3IgPSB4bWxTdHJkdXAoQkFEX0NBU1QgIlVua25vd24iKTsKKyAgICB9CisgICAgbmFtZSA9IHhtbEdldFByb3AoY3VyLCBCQURfQ0FTVCAibmFtZSIpOworICAgIGlmIChuYW1lID09IE5VTEwpIHsKKyAgICAgICAgbmFtZSA9IHhtbFN0cmR1cChCQURfQ0FTVCAiVW5rbm93biIpOworICAgIH0KKyAgICBwcmludGYoIiMjICVzIHRlc3Qgc3VpdGUgZm9yIFNjaGVtYXMgdmVyc2lvbiAlc1xuIiwgY29udHJpYnV0b3IsIG5hbWUpOworICAgIHhtbEZyZWUoY29udHJpYnV0b3IpOworICAgIHhtbEZyZWUobmFtZSk7CisKKyAgICBjdXIgPSBnZXROZXh0KGN1ciwgIi4vdHM6dGVzdEdyb3VwWzFdIik7CisgICAgaWYgKChjdXIgPT0gTlVMTCkgfHwgKCF4bWxTdHJFcXVhbChjdXItPm5hbWUsIEJBRF9DQVNUICJ0ZXN0R3JvdXAiKSkpIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJVbmV4cGVjdGVkIGZvcm1hdCAlc1xuIiwgbWV0YWRhdGEpOworCXJldCA9IC0xOworCWdvdG8gZG9uZTsKKyAgICB9CisgICAgd2hpbGUgKGN1ciAhPSBOVUxMKSB7CisgICAgICAgIHhzdGNUZXN0R3JvdXAoY3VyLCBiYXNlKTsKKwljdXIgPSBnZXROZXh0KGN1ciwgImZvbGxvd2luZy1zaWJsaW5nOjp0czp0ZXN0R3JvdXBbMV0iKTsKKyAgICB9CisKK2RvbmU6CisgICAgeG1sRnJlZURvYyhkb2MpOworICAgIHJldHVybihyZXQpOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQlUaGUgZHJpdmVyIGZvciB0aGUgdGVzdHMJCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitpbnQKK21haW4oaW50IGFyZ2MgQVRUUklCVVRFX1VOVVNFRCwgY2hhciAqKmFyZ3YgQVRUUklCVVRFX1VOVVNFRCkgeworICAgIGludCByZXQgPSAwOworICAgIGludCBvbGRfZXJyb3JzLCBvbGRfdGVzdHMsIG9sZF9sZWFrczsKKworICAgIGxvZ2ZpbGUgPSBmb3BlbihMT0dGSUxFLCAidyIpOworICAgIGlmIChsb2dmaWxlID09IE5VTEwpIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsCisJICAgICAgICAiQ291bGQgbm90IG9wZW4gdGhlIGxvZyBmaWxlLCBydW5uaW5nIGluIHZlcmJvc2UgbW9kZVxuIik7CisJdmVyYm9zZSA9IDE7CisgICAgfQorICAgIGluaXRpYWxpemVMaWJ4bWwyKCk7CisKKyAgICBpZiAoKGFyZ2MgPj0gMikgJiYgKCFzdHJjbXAoYXJndlsxXSwgIi12IikpKQorICAgICAgICB2ZXJib3NlID0gMTsKKworCisgICAgb2xkX2Vycm9ycyA9IG5iX2Vycm9yczsKKyAgICBvbGRfdGVzdHMgPSBuYl90ZXN0czsKKyAgICBvbGRfbGVha3MgPSBuYl9sZWFrczsKKyAgICB4c2RUZXN0KCk7CisgICAgaWYgKChuYl9lcnJvcnMgPT0gb2xkX2Vycm9ycykgJiYgKG5iX2xlYWtzID09IG9sZF9sZWFrcykpCisJcHJpbnRmKCJSYW4gJWQgdGVzdHMsIG5vIGVycm9yc1xuIiwgbmJfdGVzdHMgLSBvbGRfdGVzdHMpOworICAgIGVsc2UKKwlwcmludGYoIlJhbiAlZCB0ZXN0cywgJWQgZXJyb3JzLCAlZCBsZWFrc1xuIiwKKwkgICAgICAgbmJfdGVzdHMgLSBvbGRfdGVzdHMsCisJICAgICAgIG5iX2Vycm9ycyAtIG9sZF9lcnJvcnMsCisJICAgICAgIG5iX2xlYWtzIC0gb2xkX2xlYWtzKTsKKyAgICBvbGRfZXJyb3JzID0gbmJfZXJyb3JzOworICAgIG9sZF90ZXN0cyA9IG5iX3Rlc3RzOworICAgIG9sZF9sZWFrcyA9IG5iX2xlYWtzOworICAgIHJuZ1Rlc3QxKCk7CisgICAgaWYgKChuYl9lcnJvcnMgPT0gb2xkX2Vycm9ycykgJiYgKG5iX2xlYWtzID09IG9sZF9sZWFrcykpCisJcHJpbnRmKCJSYW4gJWQgdGVzdHMsIG5vIGVycm9yc1xuIiwgbmJfdGVzdHMgLSBvbGRfdGVzdHMpOworICAgIGVsc2UKKwlwcmludGYoIlJhbiAlZCB0ZXN0cywgJWQgZXJyb3JzLCAlZCBsZWFrc1xuIiwKKwkgICAgICAgbmJfdGVzdHMgLSBvbGRfdGVzdHMsCisJICAgICAgIG5iX2Vycm9ycyAtIG9sZF9lcnJvcnMsCisJICAgICAgIG5iX2xlYWtzIC0gb2xkX2xlYWtzKTsKKyAgICBvbGRfZXJyb3JzID0gbmJfZXJyb3JzOworICAgIG9sZF90ZXN0cyA9IG5iX3Rlc3RzOworICAgIG9sZF9sZWFrcyA9IG5iX2xlYWtzOworICAgIHJuZ1Rlc3QyKCk7CisgICAgaWYgKChuYl9lcnJvcnMgPT0gb2xkX2Vycm9ycykgJiYgKG5iX2xlYWtzID09IG9sZF9sZWFrcykpCisJcHJpbnRmKCJSYW4gJWQgdGVzdHMsIG5vIGVycm9yc1xuIiwgbmJfdGVzdHMgLSBvbGRfdGVzdHMpOworICAgIGVsc2UKKwlwcmludGYoIlJhbiAlZCB0ZXN0cywgJWQgZXJyb3JzLCAlZCBsZWFrc1xuIiwKKwkgICAgICAgbmJfdGVzdHMgLSBvbGRfdGVzdHMsCisJICAgICAgIG5iX2Vycm9ycyAtIG9sZF9lcnJvcnMsCisJICAgICAgIG5iX2xlYWtzIC0gb2xkX2xlYWtzKTsKKyAgICBvbGRfZXJyb3JzID0gbmJfZXJyb3JzOworICAgIG9sZF90ZXN0cyA9IG5iX3Rlc3RzOworICAgIG9sZF9sZWFrcyA9IG5iX2xlYWtzOworICAgIG5iX2ludGVybmFscyA9IDA7CisgICAgbmJfc2NoZW1hdGFzID0gMDsKKyAgICB4c3RjTWV0YWRhdGEoInhzdGMvVGVzdHMvTWV0YWRhdGEvTklTVFhNTFNjaGVtYURhdGF0eXBlcy50ZXN0U2V0IiwKKwkJICJ4c3RjL1Rlc3RzL01ldGFkYXRhLyIpOworICAgIGlmICgobmJfZXJyb3JzID09IG9sZF9lcnJvcnMpICYmIChuYl9sZWFrcyA9PSBvbGRfbGVha3MpKQorCXByaW50ZigiUmFuICVkIHRlc3RzICglZCBzY2hlbWF0YSksIG5vIGVycm9yc1xuIiwKKwkgICAgICAgbmJfdGVzdHMgLSBvbGRfdGVzdHMsIG5iX3NjaGVtYXRhcyk7CisgICAgZWxzZQorCXByaW50ZigiUmFuICVkIHRlc3RzICglZCBzY2hlbWF0YSksICVkIGVycm9ycyAoJWQgaW50ZXJuYWxzKSwgJWQgbGVha3NcbiIsCisJICAgICAgIG5iX3Rlc3RzIC0gb2xkX3Rlc3RzLAorCSAgICAgICBuYl9zY2hlbWF0YXMsCisJICAgICAgIG5iX2Vycm9ycyAtIG9sZF9lcnJvcnMsCisJICAgICAgIG5iX2ludGVybmFscywKKwkgICAgICAgbmJfbGVha3MgLSBvbGRfbGVha3MpOworICAgIG9sZF9lcnJvcnMgPSBuYl9lcnJvcnM7CisgICAgb2xkX3Rlc3RzID0gbmJfdGVzdHM7CisgICAgb2xkX2xlYWtzID0gbmJfbGVha3M7CisgICAgbmJfaW50ZXJuYWxzID0gMDsKKyAgICBuYl9zY2hlbWF0YXMgPSAwOworICAgIHhzdGNNZXRhZGF0YSgieHN0Yy9UZXN0cy9NZXRhZGF0YS9TdW5YTUxTY2hlbWExLTAtMjAwMjAxMTYudGVzdFNldCIsCisJCSAieHN0Yy9UZXN0cy8iKTsKKyAgICBpZiAoKG5iX2Vycm9ycyA9PSBvbGRfZXJyb3JzKSAmJiAobmJfbGVha3MgPT0gb2xkX2xlYWtzKSkKKwlwcmludGYoIlJhbiAlZCB0ZXN0cyAoJWQgc2NoZW1hdGEpLCBubyBlcnJvcnNcbiIsCisJICAgICAgIG5iX3Rlc3RzIC0gb2xkX3Rlc3RzLCBuYl9zY2hlbWF0YXMpOworICAgIGVsc2UKKwlwcmludGYoIlJhbiAlZCB0ZXN0cyAoJWQgc2NoZW1hdGEpLCAlZCBlcnJvcnMgKCVkIGludGVybmFscyksICVkIGxlYWtzXG4iLAorCSAgICAgICBuYl90ZXN0cyAtIG9sZF90ZXN0cywKKwkgICAgICAgbmJfc2NoZW1hdGFzLAorCSAgICAgICBuYl9lcnJvcnMgLSBvbGRfZXJyb3JzLAorCSAgICAgICBuYl9pbnRlcm5hbHMsCisJICAgICAgIG5iX2xlYWtzIC0gb2xkX2xlYWtzKTsKKyAgICBvbGRfZXJyb3JzID0gbmJfZXJyb3JzOworICAgIG9sZF90ZXN0cyA9IG5iX3Rlc3RzOworICAgIG9sZF9sZWFrcyA9IG5iX2xlYWtzOworICAgIG5iX2ludGVybmFscyA9IDA7CisgICAgbmJfc2NoZW1hdGFzID0gMDsKKyAgICB4c3RjTWV0YWRhdGEoInhzdGMvVGVzdHMvTWV0YWRhdGEvTVNYTUxTY2hlbWExLTAtMjAwMjAxMTYudGVzdFNldCIsCisJCSAieHN0Yy9UZXN0cy8iKTsKKyAgICBpZiAoKG5iX2Vycm9ycyA9PSBvbGRfZXJyb3JzKSAmJiAobmJfbGVha3MgPT0gb2xkX2xlYWtzKSkKKwlwcmludGYoIlJhbiAlZCB0ZXN0cyAoJWQgc2NoZW1hdGEpLCBubyBlcnJvcnNcbiIsCisJICAgICAgIG5iX3Rlc3RzIC0gb2xkX3Rlc3RzLCBuYl9zY2hlbWF0YXMpOworICAgIGVsc2UKKwlwcmludGYoIlJhbiAlZCB0ZXN0cyAoJWQgc2NoZW1hdGEpLCAlZCBlcnJvcnMgKCVkIGludGVybmFscyksICVkIGxlYWtzXG4iLAorCSAgICAgICBuYl90ZXN0cyAtIG9sZF90ZXN0cywKKwkgICAgICAgbmJfc2NoZW1hdGFzLAorCSAgICAgICBuYl9lcnJvcnMgLSBvbGRfZXJyb3JzLAorCSAgICAgICBuYl9pbnRlcm5hbHMsCisJICAgICAgIG5iX2xlYWtzIC0gb2xkX2xlYWtzKTsKKworICAgIGlmICgobmJfZXJyb3JzID09IDApICYmIChuYl9sZWFrcyA9PSAwKSkgeworICAgICAgICByZXQgPSAwOworCXByaW50ZigiVG90YWwgJWQgdGVzdHMsIG5vIGVycm9yc1xuIiwKKwkgICAgICAgbmJfdGVzdHMpOworICAgIH0gZWxzZSB7CisgICAgICAgIHJldCA9IDE7CisJcHJpbnRmKCJUb3RhbCAlZCB0ZXN0cywgJWQgZXJyb3JzLCAlZCBsZWFrc1xuIiwKKwkgICAgICAgbmJfdGVzdHMsIG5iX2Vycm9ycywgbmJfbGVha3MpOworICAgIH0KKyAgICB4bWxYUGF0aEZyZWVDb250ZXh0KGN0eHRYUGF0aCk7CisgICAgeG1sQ2xlYW51cFBhcnNlcigpOworICAgIHhtbE1lbW9yeUR1bXAoKTsKKworICAgIGlmIChsb2dmaWxlICE9IE5VTEwpCisgICAgICAgIGZjbG9zZShsb2dmaWxlKTsKKyAgICByZXR1cm4ocmV0KTsKK30KKyNlbHNlIC8qICFTQ0hFTUFTICovCitpbnQKK21haW4oaW50IGFyZ2MgQVRUUklCVVRFX1VOVVNFRCwgY2hhciAqKmFyZ3YgQVRUUklCVVRFX1VOVVNFRCkgeworICAgIGZwcmludGYoc3RkZXJyLCAicnVuc3VpdGUgcmVxdWlyZXMgc3VwcG9ydCBmb3Igc2NoZW1hcyBhbmQgeHBhdGggaW4gbGlieG1sMlxuIik7Cit9CisjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcnVudGVzdC5jIGIvbGlieG1sMi9ydW50ZXN0LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDJmZTA5YQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcnVudGVzdC5jCkBAIC0wLDAgKzEsNDQ4MCBAQAorLyoKKyAqIHJ1bnRlc3QuYzogQyBwcm9ncmFtIHRvIHJ1biBsaWJ4bWwyIHJlZ3Jlc3Npb24gdGVzdHMgd2l0aG91dAorICogICAgICAgICAgICByZXF1aXJpbmcgbWFrZSBvciBQeXRob24sIGFuZCByZWR1Y2luZyBwbGF0Zm9ybSBkZXBlbmRhbmNpZXMKKyAqICAgICAgICAgICAgdG8gYSBzdHJpY3QgbWluaW11bS4KKyAqCisgKiBUbyBjb21waWxlIG9uIFVuaXhlczoKKyAqIGNjIC1vIHJ1bnRlc3QgYHhtbDItY29uZmlnIC0tY2ZsYWdzYCBydW50ZXN0LmMgYHhtbDItY29uZmlnIC0tbGlic2AgLWxwdGhyZWFkCisgKgorICogU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgorICoKKyAqIGRhbmllbEB2ZWlsbGFyZC5jb20KKyAqLworCisjaW5jbHVkZSAibGlieG1sLmgiCisjaW5jbHVkZSA8c3RkaW8uaD4KKworI2lmICFkZWZpbmVkKF9XSU4zMikgfHwgZGVmaW5lZChfX0NZR1dJTl9fKQorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2VuZGlmCisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDxmY250bC5oPgorCisjaW5jbHVkZSA8bGlieG1sL3BhcnNlci5oPgorI2luY2x1ZGUgPGxpYnhtbC90cmVlLmg+CisjaW5jbHVkZSA8bGlieG1sL3VyaS5oPgorCisjaWZkZWYgTElCWE1MX09VVFBVVF9FTkFCTEVECisjaWZkZWYgTElCWE1MX1JFQURFUl9FTkFCTEVECisjaW5jbHVkZSA8bGlieG1sL3htbHJlYWRlci5oPgorI2VuZGlmCisKKyNpZmRlZiBMSUJYTUxfWElOQ0xVREVfRU5BQkxFRAorI2luY2x1ZGUgPGxpYnhtbC94aW5jbHVkZS5oPgorI2VuZGlmCisKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAorI2luY2x1ZGUgPGxpYnhtbC94cGF0aC5oPgorI2luY2x1ZGUgPGxpYnhtbC94cGF0aEludGVybmFscy5oPgorI2lmZGVmIExJQlhNTF9YUFRSX0VOQUJMRUQKKyNpbmNsdWRlIDxsaWJ4bWwveHBvaW50ZXIuaD4KKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBMSUJYTUxfU0NIRU1BU19FTkFCTEVECisjaW5jbHVkZSA8bGlieG1sL3JlbGF4bmcuaD4KKyNpbmNsdWRlIDxsaWJ4bWwveG1sc2NoZW1hcy5oPgorI2luY2x1ZGUgPGxpYnhtbC94bWxzY2hlbWFzdHlwZXMuaD4KKyNlbmRpZgorCisjaWZkZWYgTElCWE1MX1BBVFRFUk5fRU5BQkxFRAorI2luY2x1ZGUgPGxpYnhtbC9wYXR0ZXJuLmg+CisjZW5kaWYKKworI2lmZGVmIExJQlhNTF9DMTROX0VOQUJMRUQKKyNpbmNsdWRlIDxsaWJ4bWwvYzE0bi5oPgorI2VuZGlmCisKKyNpZmRlZiBMSUJYTUxfSFRNTF9FTkFCTEVECisjaW5jbHVkZSA8bGlieG1sL0hUTUxwYXJzZXIuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvSFRNTHRyZWUuaD4KKworLyoKKyAqIHBzZXVkbyBmbGFnIGZvciB0aGUgdW5pZmljYXRpb24gb2YgSFRNTCBhbmQgWE1MIHRlc3RzCisgKi8KKyNkZWZpbmUgWE1MX1BBUlNFX0hUTUwgMSA8PCAyNAorI2VuZGlmCisKKyNpZiBkZWZpbmVkKExJQlhNTF9USFJFQURfRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfQ0FUQUxPR19FTkFCTEVEKQorI2luY2x1ZGUgPGxpYnhtbC9nbG9iYWxzLmg+CisjaW5jbHVkZSA8bGlieG1sL3RocmVhZHMuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvcGFyc2VyLmg+CisjaW5jbHVkZSA8bGlieG1sL2NhdGFsb2cuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNlbmRpZgorCisvKgorICogT19CSU5BUlkgaXMganVzdCBmb3IgV2luZG93cyBjb21wYXRpYmlsaXR5IC0gaWYgaXQgaXNuJ3QgZGVmaW5lZAorICogb24gdGhpcyBzeXN0ZW0sIGF2b2lkIGFueSBjb21waWxhdGlvbiBlcnJvcgorICovCisjaWZkZWYJT19CSU5BUlkKKyNkZWZpbmUgUkRfRkxBR1MJT19SRE9OTFkgfCBPX0JJTkFSWQorI2Vsc2UKKyNkZWZpbmUJUkRfRkxBR1MJT19SRE9OTFkKKyNlbmRpZgorCit0eXBlZGVmIGludCAoKmZ1bmN0ZXN0KSAoY29uc3QgY2hhciAqZmlsZW5hbWUsIGNvbnN0IGNoYXIgKnJlc3VsdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICplcnJvciwgaW50IG9wdGlvbnMpOworCit0eXBlZGVmIHN0cnVjdCB0ZXN0RGVzYyB0ZXN0RGVzYzsKK3R5cGVkZWYgdGVzdERlc2MgKnRlc3REZXNjUHRyOworc3RydWN0IHRlc3REZXNjIHsKKyAgICBjb25zdCBjaGFyICpkZXNjOyAvKiBkZXNjcmlwdG9uIG9mIHRoZSB0ZXN0ICovCisgICAgZnVuY3Rlc3QgICAgZnVuYzsgLyogZnVuY3Rpb24gaW1wbGVtZW50aW5nIHRoZSB0ZXN0ICovCisgICAgY29uc3QgY2hhciAqaW47ICAgLyogZ2xvYiB0byBwYXRoIGZvciBpbnB1dCBmaWxlcyAqLworICAgIGNvbnN0IGNoYXIgKm91dDsgIC8qIG91dHB1dCBkaXJlY3RvcnkgKi8KKyAgICBjb25zdCBjaGFyICpzdWZmaXg7Lyogc3VmZml4IGZvciBvdXRwdXQgZmlsZXMgKi8KKyAgICBjb25zdCBjaGFyICplcnI7ICAvKiBzdWZmaXggZm9yIGVycm9yIG91dHB1dCBmaWxlcyAqLworICAgIGludCAgICAgb3B0aW9uczsgIC8qIHBhcnNlciBvcHRpb25zIGZvciB0aGUgdGVzdCAqLworfTsKKworc3RhdGljIGludCBjaGVja1Rlc3RGaWxlKGNvbnN0IGNoYXIgKmZpbGVuYW1lKTsKKworI2lmIGRlZmluZWQoX1dJTjMyKSAmJiAhZGVmaW5lZChfX0NZR1dJTl9fKQorCisjaW5jbHVkZSA8d2luZG93cy5oPgorI2luY2x1ZGUgPGlvLmg+CisKK3R5cGVkZWYgc3RydWN0Cit7CisgICAgICBzaXplX3QgZ2xfcGF0aGM7ICAgIC8qIENvdW50IG9mIHBhdGhzIG1hdGNoZWQgc28gZmFyICAqLworICAgICAgY2hhciAqKmdsX3BhdGh2OyAgICAvKiBMaXN0IG9mIG1hdGNoZWQgcGF0aG5hbWVzLiAgKi8KKyAgICAgIHNpemVfdCBnbF9vZmZzOyAgICAgLyogU2xvdHMgdG8gcmVzZXJ2ZSBpbiAnZ2xfcGF0aHYnLiAgKi8KK30gZ2xvYl90OworCisjZGVmaW5lIEdMT0JfRE9PRkZTIDAKK3N0YXRpYyBpbnQgZ2xvYihjb25zdCBjaGFyICpwYXR0ZXJuLCBpbnQgZmxhZ3MsCisgICAgICAgICAgICAgICAgaW50IGVycmZ1bmMoY29uc3QgY2hhciAqZXBhdGgsIGludCBlZXJybm8pLAorICAgICAgICAgICAgICAgIGdsb2JfdCAqcGdsb2IpIHsKKyAgICBnbG9iX3QgKnJldDsKKyAgICBXSU4zMl9GSU5EX0RBVEEgRmluZEZpbGVEYXRhOworICAgIEhBTkRMRSBoRmluZDsKKyAgICB1bnNpZ25lZCBpbnQgbmJfcGF0aHMgPSAwOworICAgIGNoYXIgZGlyZWN0b3J5WzUwMF07CisgICAgaW50IGxlbjsKKworICAgIGlmICgocGF0dGVybiA9PSBOVUxMKSB8fCAocGdsb2IgPT0gTlVMTCkpIHJldHVybigtMSk7CisKKyAgICBzdHJuY3B5KGRpcmVjdG9yeSwgcGF0dGVybiwgNDk5KTsKKyAgICBmb3IgKGxlbiA9IHN0cmxlbihkaXJlY3RvcnkpO2xlbiA+PSAwO2xlbi0tKSB7CisgICAgICAgIGlmIChkaXJlY3RvcnlbbGVuXSA9PSAnLycpIHsKKwkgICAgbGVuKys7CisJICAgIGRpcmVjdG9yeVtsZW5dID0gMDsKKwkgICAgYnJlYWs7CisJfQorICAgIH0KKyAgICBpZiAobGVuIDw9IDApCisgICAgICAgIGxlbiA9IDA7CisKKworICAgIHJldCA9IHBnbG9iOworICAgIG1lbXNldChyZXQsIDAsIHNpemVvZihnbG9iX3QpKTsKKworICAgIGhGaW5kID0gRmluZEZpcnN0RmlsZUEocGF0dGVybiwgJkZpbmRGaWxlRGF0YSk7CisgICAgaWYgKGhGaW5kID09IElOVkFMSURfSEFORExFX1ZBTFVFKQorICAgICAgICByZXR1cm4oMCk7CisgICAgbmJfcGF0aHMgPSAyMDsKKyAgICByZXQtPmdsX3BhdGh2ID0gKGNoYXIgKiopIG1hbGxvYyhuYl9wYXRocyAqIHNpemVvZihjaGFyICopKTsKKyAgICBpZiAocmV0LT5nbF9wYXRodiA9PSBOVUxMKSB7CisJRmluZENsb3NlKGhGaW5kKTsKKyAgICAgICAgcmV0dXJuKC0xKTsKKyAgICB9CisgICAgc3RybmNweShkaXJlY3RvcnkgKyBsZW4sIEZpbmRGaWxlRGF0YS5jRmlsZU5hbWUsIDQ5OSAtIGxlbik7CisgICAgcmV0LT5nbF9wYXRodltyZXQtPmdsX3BhdGhjXSA9IHN0cmR1cChkaXJlY3RvcnkpOworICAgIGlmIChyZXQtPmdsX3BhdGh2W3JldC0+Z2xfcGF0aGNdID09IE5VTEwpCisgICAgICAgIGdvdG8gZG9uZTsKKyAgICByZXQtPmdsX3BhdGhjKys7CisgICAgd2hpbGUoRmluZE5leHRGaWxlQShoRmluZCwgJkZpbmRGaWxlRGF0YSkpIHsKKyAgICAgICAgaWYgKEZpbmRGaWxlRGF0YS5jRmlsZU5hbWVbMF0gPT0gJy4nKQorCSAgICBjb250aW51ZTsKKyAgICAgICAgaWYgKHJldC0+Z2xfcGF0aGMgKyAyID4gbmJfcGF0aHMpIHsKKyAgICAgICAgICAgIGNoYXIgKip0bXAgPSByZWFsbG9jKHJldC0+Z2xfcGF0aHYsIG5iX3BhdGhzICogMiAqIHNpemVvZihjaGFyICopKTsKKyAgICAgICAgICAgIGlmICh0bXAgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIHJldC0+Z2xfcGF0aHYgPSB0bXA7CisgICAgICAgICAgICBuYl9wYXRocyAqPSAyOworCX0KKwlzdHJuY3B5KGRpcmVjdG9yeSArIGxlbiwgRmluZEZpbGVEYXRhLmNGaWxlTmFtZSwgNDk5IC0gbGVuKTsKKwlyZXQtPmdsX3BhdGh2W3JldC0+Z2xfcGF0aGNdID0gc3RyZHVwKGRpcmVjdG9yeSk7CisgICAgICAgIGlmIChyZXQtPmdsX3BhdGh2W3JldC0+Z2xfcGF0aGNdID09IE5VTEwpCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgcmV0LT5nbF9wYXRoYysrOworICAgIH0KKyAgICByZXQtPmdsX3BhdGh2W3JldC0+Z2xfcGF0aGNdID0gTlVMTDsKKworZG9uZToKKyAgICBGaW5kQ2xvc2UoaEZpbmQpOworICAgIHJldHVybigwKTsKK30KKworCisKK3N0YXRpYyB2b2lkIGdsb2JmcmVlKGdsb2JfdCAqcGdsb2IpIHsKKyAgICB1bnNpZ25lZCBpbnQgaTsKKyAgICBpZiAocGdsb2IgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuOworCisgICAgZm9yIChpID0gMDtpIDwgcGdsb2ItPmdsX3BhdGhjO2krKykgeworICAgICAgICAgaWYgKHBnbG9iLT5nbF9wYXRodltpXSAhPSBOVUxMKQorICAgICAgICAgICAgIGZyZWUocGdsb2ItPmdsX3BhdGh2W2ldKTsKKyAgICB9Cit9CisKKyNlbHNlCisjaW5jbHVkZSA8Z2xvYi5oPgorI2VuZGlmCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCUxpYnhtbDIgc3BlY2lmaWMgcm91dGluZXMJCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitzdGF0aWMgaW50IG5iX3Rlc3RzID0gMDsKK3N0YXRpYyBpbnQgbmJfZXJyb3JzID0gMDsKK3N0YXRpYyBpbnQgbmJfbGVha3MgPSAwOworc3RhdGljIGludCBleHRyYU1lbW9yeUZyb21SZXNvbHZlciA9IDA7CisKK3N0YXRpYyBpbnQKK2ZhdGFsRXJyb3Iodm9pZCkgeworICAgIGZwcmludGYoc3RkZXJyLCAiRXhpdHRpbmcgdGVzdHMgb24gZmF0YWwgZXJyb3JcbiIpOworICAgIGV4aXQoMSk7Cit9CisKKy8qCisgKiBXZSBuZWVkIHRvIHRyYXAgY2FsbHMgdG8gdGhlIHJlc29sdmVyIHRvIG5vdCBhY2NvdW50IG1lbW9yeSBmb3IgdGhlIGNhdGFsb2cKKyAqIHdoaWNoIGlzIHNoYXJlZCB0byB0aGUgY3VycmVudCBydW5uaW5nIHRlc3QuIFdlIGFsc28gZG9uJ3Qgd2FudCB0byBoYXZlCisgKiBuZXR3b3JrIGRvd25sb2FkcyBtb2RpZnlpbmcgdGVzdHMuCisgKi8KK3N0YXRpYyB4bWxQYXJzZXJJbnB1dFB0cgordGVzdEV4dGVybmFsRW50aXR5TG9hZGVyKGNvbnN0IGNoYXIgKlVSTCwgY29uc3QgY2hhciAqSUQsCisJCQkgeG1sUGFyc2VyQ3R4dFB0ciBjdHh0KSB7CisgICAgeG1sUGFyc2VySW5wdXRQdHIgcmV0OworCisgICAgaWYgKGNoZWNrVGVzdEZpbGUoVVJMKSkgeworCXJldCA9IHhtbE5vTmV0RXh0ZXJuYWxFbnRpdHlMb2FkZXIoVVJMLCBJRCwgY3R4dCk7CisgICAgfSBlbHNlIHsKKwlpbnQgbWVtdXNlZCA9IHhtbE1lbVVzZWQoKTsKKwlyZXQgPSB4bWxOb05ldEV4dGVybmFsRW50aXR5TG9hZGVyKFVSTCwgSUQsIGN0eHQpOworCWV4dHJhTWVtb3J5RnJvbVJlc29sdmVyICs9IHhtbE1lbVVzZWQoKSAtIG1lbXVzZWQ7CisgICAgfQorCisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qCisgKiBUcmFwcGluZyB0aGUgZXJyb3IgbWVzc2FnZXMgYXQgdGhlIGdlbmVyaWMgbGV2ZWwgdG8gZ3JhYiB0aGUgZXF1aXZhbGVudCBvZgorICogc3RkZXJyIG1lc3NhZ2VzIG9uIENMSSB0b29scy4KKyAqLworc3RhdGljIGNoYXIgdGVzdEVycm9yc1szMjc2OV07CitzdGF0aWMgaW50IHRlc3RFcnJvcnNTaXplID0gMDsKKworc3RhdGljIHZvaWQgWE1MQ0RFQ0wKK3Rlc3RFcnJvckhhbmRsZXIodm9pZCAqY3R4ICBBVFRSSUJVVEVfVU5VU0VELCBjb25zdCBjaGFyICptc2csIC4uLikgeworICAgIHZhX2xpc3QgYXJnczsKKyAgICBpbnQgcmVzOworCisgICAgaWYgKHRlc3RFcnJvcnNTaXplID49IDMyNzY4KQorICAgICAgICByZXR1cm47CisgICAgdmFfc3RhcnQoYXJncywgbXNnKTsKKyAgICByZXMgPSB2c25wcmludGYoJnRlc3RFcnJvcnNbdGVzdEVycm9yc1NpemVdLAorICAgICAgICAgICAgICAgICAgICAzMjc2OCAtIHRlc3RFcnJvcnNTaXplLAorCQkgICAgbXNnLCBhcmdzKTsKKyAgICB2YV9lbmQoYXJncyk7CisgICAgaWYgKHRlc3RFcnJvcnNTaXplICsgcmVzID49IDMyNzY4KSB7CisgICAgICAgIC8qIGJ1ZmZlciBpcyBmdWxsICovCisJdGVzdEVycm9yc1NpemUgPSAzMjc2ODsKKwl0ZXN0RXJyb3JzW3Rlc3RFcnJvcnNTaXplXSA9IDA7CisgICAgfSBlbHNlIHsKKyAgICAgICAgdGVzdEVycm9yc1NpemUgKz0gcmVzOworICAgIH0KKyAgICB0ZXN0RXJyb3JzW3Rlc3RFcnJvcnNTaXplXSA9IDA7Cit9CisKK3N0YXRpYyB2b2lkIFhNTENERUNMCitjaGFubmVsKHZvaWQgKmN0eCAgQVRUUklCVVRFX1VOVVNFRCwgY29uc3QgY2hhciAqbXNnLCAuLi4pIHsKKyAgICB2YV9saXN0IGFyZ3M7CisgICAgaW50IHJlczsKKworICAgIGlmICh0ZXN0RXJyb3JzU2l6ZSA+PSAzMjc2OCkKKyAgICAgICAgcmV0dXJuOworICAgIHZhX3N0YXJ0KGFyZ3MsIG1zZyk7CisgICAgcmVzID0gdnNucHJpbnRmKCZ0ZXN0RXJyb3JzW3Rlc3RFcnJvcnNTaXplXSwKKyAgICAgICAgICAgICAgICAgICAgMzI3NjggLSB0ZXN0RXJyb3JzU2l6ZSwKKwkJICAgIG1zZywgYXJncyk7CisgICAgdmFfZW5kKGFyZ3MpOworICAgIGlmICh0ZXN0RXJyb3JzU2l6ZSArIHJlcyA+PSAzMjc2OCkgeworICAgICAgICAvKiBidWZmZXIgaXMgZnVsbCAqLworCXRlc3RFcnJvcnNTaXplID0gMzI3Njg7CisJdGVzdEVycm9yc1t0ZXN0RXJyb3JzU2l6ZV0gPSAwOworICAgIH0gZWxzZSB7CisgICAgICAgIHRlc3RFcnJvcnNTaXplICs9IHJlczsKKyAgICB9CisgICAgdGVzdEVycm9yc1t0ZXN0RXJyb3JzU2l6ZV0gPSAwOworfQorCisvKioKKyAqIHhtbFBhcnNlclByaW50RmlsZUNvbnRleHQ6CisgKiBAaW5wdXQ6ICBhbiB4bWxQYXJzZXJJbnB1dFB0ciBpbnB1dAorICoKKyAqIERpc3BsYXlzIGN1cnJlbnQgY29udGV4dCB3aXRoaW4gdGhlIGlucHV0IGNvbnRlbnQgZm9yIGVycm9yIHRyYWNraW5nCisgKi8KKworc3RhdGljIHZvaWQKK3htbFBhcnNlclByaW50RmlsZUNvbnRleHRJbnRlcm5hbCh4bWxQYXJzZXJJbnB1dFB0ciBpbnB1dCAsCisJCXhtbEdlbmVyaWNFcnJvckZ1bmMgY2hhbmwsIHZvaWQgKmRhdGEgKSB7CisgICAgY29uc3QgeG1sQ2hhciAqY3VyLCAqYmFzZTsKKyAgICB1bnNpZ25lZCBpbnQgbiwgY29sOwkvKiBHQ0Mgd2FybnMgaWYgc2lnbmVkLCBiZWNhdXNlIGNvbXBhcmVkIHdpdGggc2l6ZW9mKCkgKi8KKyAgICB4bWxDaGFyICBjb250ZW50WzgxXTsgLyogc3BhY2UgZm9yIDgwIGNoYXJzICsgbGluZSB0ZXJtaW5hdG9yICovCisgICAgeG1sQ2hhciAqY3RudDsKKworICAgIGlmIChpbnB1dCA9PSBOVUxMKSByZXR1cm47CisgICAgY3VyID0gaW5wdXQtPmN1cjsKKyAgICBiYXNlID0gaW5wdXQtPmJhc2U7CisgICAgLyogc2tpcCBiYWNrd2FyZHMgb3ZlciBhbnkgZW5kLW9mLWxpbmVzICovCisgICAgd2hpbGUgKChjdXIgPiBiYXNlKSAmJiAoKCooY3VyKSA9PSAnXG4nKSB8fCAoKihjdXIpID09ICdccicpKSkgeworCWN1ci0tOworICAgIH0KKyAgICBuID0gMDsKKyAgICAvKiBzZWFyY2ggYmFja3dhcmRzIGZvciBiZWdpbm5pbmctb2YtbGluZSAodG8gbWF4IGJ1ZmYgc2l6ZSkgKi8KKyAgICB3aGlsZSAoKG4rKyA8IChzaXplb2YoY29udGVudCktMSkpICYmIChjdXIgPiBiYXNlKSAmJgorICAgKCooY3VyKSAhPSAnXG4nKSAmJiAoKihjdXIpICE9ICdccicpKQorICAgICAgICBjdXItLTsKKyAgICBpZiAoKCooY3VyKSA9PSAnXG4nKSB8fCAoKihjdXIpID09ICdccicpKSBjdXIrKzsKKyAgICAvKiBjYWxjdWxhdGUgdGhlIGVycm9yIHBvc2l0aW9uIGluIHRlcm1zIG9mIHRoZSBjdXJyZW50IHBvc2l0aW9uICovCisgICAgY29sID0gaW5wdXQtPmN1ciAtIGN1cjsKKyAgICAvKiBzZWFyY2ggZm9yd2FyZCBmb3IgZW5kLW9mLWxpbmUgKHRvIG1heCBidWZmIHNpemUpICovCisgICAgbiA9IDA7CisgICAgY3RudCA9IGNvbnRlbnQ7CisgICAgLyogY29weSBzZWxlY3RlZCB0ZXh0IHRvIG91ciBidWZmZXIgKi8KKyAgICB3aGlsZSAoKCpjdXIgIT0gMCkgJiYgKCooY3VyKSAhPSAnXG4nKSAmJgorICAgKCooY3VyKSAhPSAnXHInKSAmJiAobiA8IHNpemVvZihjb250ZW50KS0xKSkgeworCQkqY3RudCsrID0gKmN1cisrOworCW4rKzsKKyAgICB9CisgICAgKmN0bnQgPSAwOworICAgIC8qIHByaW50IG91dCB0aGUgc2VsZWN0ZWQgdGV4dCAqLworICAgIGNoYW5sKGRhdGEgLCIlc1xuIiwgY29udGVudCk7CisgICAgLyogY3JlYXRlIGJsYW5rIGxpbmUgd2l0aCBwcm9ibGVtIHBvaW50ZXIgKi8KKyAgICBuID0gMDsKKyAgICBjdG50ID0gY29udGVudDsKKyAgICAvKiAobGVhdmUgYnVmZmVyIHNwYWNlIGZvciBwb2ludGVyICsgbGluZSB0ZXJtaW5hdG9yKSAqLworICAgIHdoaWxlICgobjxjb2wpICYmIChuKysgPCBzaXplb2YoY29udGVudCktMikgJiYgKCpjdG50ICE9IDApKSB7CisJaWYgKCooY3RudCkgIT0gJ1x0JykKKwkgICAgKihjdG50KSA9ICcgJzsKKwljdG50Kys7CisgICAgfQorICAgICpjdG50KysgPSAnXic7CisgICAgKmN0bnQgPSAwOworICAgIGNoYW5sKGRhdGEgLCIlc1xuIiwgY29udGVudCk7Cit9CisKK3N0YXRpYyB2b2lkCit0ZXN0U3RydWN0dXJlZEVycm9ySGFuZGxlcih2b2lkICpjdHggIEFUVFJJQlVURV9VTlVTRUQsIHhtbEVycm9yUHRyIGVycikgeworICAgIGNoYXIgKmZpbGUgPSBOVUxMOworICAgIGludCBsaW5lID0gMDsKKyAgICBpbnQgY29kZSA9IC0xOworICAgIGludCBkb21haW47CisgICAgdm9pZCAqZGF0YSA9IE5VTEw7CisgICAgY29uc3QgY2hhciAqc3RyOworICAgIGNvbnN0IHhtbENoYXIgKm5hbWUgPSBOVUxMOworICAgIHhtbE5vZGVQdHIgbm9kZTsKKyAgICB4bWxFcnJvckxldmVsIGxldmVsOworICAgIHhtbFBhcnNlcklucHV0UHRyIGlucHV0ID0gTlVMTDsKKyAgICB4bWxQYXJzZXJJbnB1dFB0ciBjdXIgPSBOVUxMOworICAgIHhtbFBhcnNlckN0eHRQdHIgY3R4dCA9IE5VTEw7CisKKyAgICBpZiAoZXJyID09IE5VTEwpCisgICAgICAgIHJldHVybjsKKworICAgIGZpbGUgPSBlcnItPmZpbGU7CisgICAgbGluZSA9IGVyci0+bGluZTsKKyAgICBjb2RlID0gZXJyLT5jb2RlOworICAgIGRvbWFpbiA9IGVyci0+ZG9tYWluOworICAgIGxldmVsID0gZXJyLT5sZXZlbDsKKyAgICBub2RlID0gZXJyLT5ub2RlOworICAgIGlmICgoZG9tYWluID09IFhNTF9GUk9NX1BBUlNFUikgfHwgKGRvbWFpbiA9PSBYTUxfRlJPTV9IVE1MKSB8fAorICAgICAgICAoZG9tYWluID09IFhNTF9GUk9NX0RURCkgfHwgKGRvbWFpbiA9PSBYTUxfRlJPTV9OQU1FU1BBQ0UpIHx8CisJKGRvbWFpbiA9PSBYTUxfRlJPTV9JTykgfHwgKGRvbWFpbiA9PSBYTUxfRlJPTV9WQUxJRCkpIHsKKwljdHh0ID0gZXJyLT5jdHh0OworICAgIH0KKyAgICBzdHIgPSBlcnItPm1lc3NhZ2U7CisKKyAgICBpZiAoY29kZSA9PSBYTUxfRVJSX09LKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoKG5vZGUgIT0gTlVMTCkgJiYgKG5vZGUtPnR5cGUgPT0gWE1MX0VMRU1FTlRfTk9ERSkpCisgICAgICAgIG5hbWUgPSBub2RlLT5uYW1lOworCisgICAgLyoKKyAgICAgKiBNYWludGFpbiB0aGUgY29tcGF0aWJpbGl0eSB3aXRoIHRoZSBsZWdhY3kgZXJyb3IgaGFuZGxpbmcKKyAgICAgKi8KKyAgICBpZiAoY3R4dCAhPSBOVUxMKSB7CisgICAgICAgIGlucHV0ID0gY3R4dC0+aW5wdXQ7CisgICAgICAgIGlmICgoaW5wdXQgIT0gTlVMTCkgJiYgKGlucHV0LT5maWxlbmFtZSA9PSBOVUxMKSAmJgorICAgICAgICAgICAgKGN0eHQtPmlucHV0TnIgPiAxKSkgeworICAgICAgICAgICAgY3VyID0gaW5wdXQ7CisgICAgICAgICAgICBpbnB1dCA9IGN0eHQtPmlucHV0VGFiW2N0eHQtPmlucHV0TnIgLSAyXTsKKyAgICAgICAgfQorICAgICAgICBpZiAoaW5wdXQgIT0gTlVMTCkgeworICAgICAgICAgICAgaWYgKGlucHV0LT5maWxlbmFtZSkKKyAgICAgICAgICAgICAgICBjaGFubmVsKGRhdGEsICIlczolZDogIiwgaW5wdXQtPmZpbGVuYW1lLCBpbnB1dC0+bGluZSk7CisgICAgICAgICAgICBlbHNlIGlmICgobGluZSAhPSAwKSAmJiAoZG9tYWluID09IFhNTF9GUk9NX1BBUlNFUikpCisgICAgICAgICAgICAgICAgY2hhbm5lbChkYXRhLCAiRW50aXR5OiBsaW5lICVkOiAiLCBpbnB1dC0+bGluZSk7CisgICAgICAgIH0KKyAgICB9IGVsc2UgeworICAgICAgICBpZiAoZmlsZSAhPSBOVUxMKQorICAgICAgICAgICAgY2hhbm5lbChkYXRhLCAiJXM6JWQ6ICIsIGZpbGUsIGxpbmUpOworICAgICAgICBlbHNlIGlmICgobGluZSAhPSAwKSAmJiAoZG9tYWluID09IFhNTF9GUk9NX1BBUlNFUikpCisgICAgICAgICAgICBjaGFubmVsKGRhdGEsICJFbnRpdHk6IGxpbmUgJWQ6ICIsIGxpbmUpOworICAgIH0KKyAgICBpZiAobmFtZSAhPSBOVUxMKSB7CisgICAgICAgIGNoYW5uZWwoZGF0YSwgImVsZW1lbnQgJXM6ICIsIG5hbWUpOworICAgIH0KKyAgICBpZiAoY29kZSA9PSBYTUxfRVJSX09LKQorICAgICAgICByZXR1cm47CisgICAgc3dpdGNoIChkb21haW4pIHsKKyAgICAgICAgY2FzZSBYTUxfRlJPTV9QQVJTRVI6CisgICAgICAgICAgICBjaGFubmVsKGRhdGEsICJwYXJzZXIgIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfRlJPTV9OQU1FU1BBQ0U6CisgICAgICAgICAgICBjaGFubmVsKGRhdGEsICJuYW1lc3BhY2UgIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfRlJPTV9EVEQ6CisgICAgICAgIGNhc2UgWE1MX0ZST01fVkFMSUQ6CisgICAgICAgICAgICBjaGFubmVsKGRhdGEsICJ2YWxpZGl0eSAiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9GUk9NX0hUTUw6CisgICAgICAgICAgICBjaGFubmVsKGRhdGEsICJIVE1MIHBhcnNlciAiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9GUk9NX01FTU9SWToKKyAgICAgICAgICAgIGNoYW5uZWwoZGF0YSwgIm1lbW9yeSAiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9GUk9NX09VVFBVVDoKKyAgICAgICAgICAgIGNoYW5uZWwoZGF0YSwgIm91dHB1dCAiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9GUk9NX0lPOgorICAgICAgICAgICAgY2hhbm5lbChkYXRhLCAiSS9PICIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0ZST01fWElOQ0xVREU6CisgICAgICAgICAgICBjaGFubmVsKGRhdGEsICJYSW5jbHVkZSAiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9GUk9NX1hQQVRIOgorICAgICAgICAgICAgY2hhbm5lbChkYXRhLCAiWFBhdGggIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfRlJPTV9YUE9JTlRFUjoKKyAgICAgICAgICAgIGNoYW5uZWwoZGF0YSwgInBhcnNlciAiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9GUk9NX1JFR0VYUDoKKyAgICAgICAgICAgIGNoYW5uZWwoZGF0YSwgInJlZ2V4cCAiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9GUk9NX01PRFVMRToKKyAgICAgICAgICAgIGNoYW5uZWwoZGF0YSwgIm1vZHVsZSAiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9GUk9NX1NDSEVNQVNWOgorICAgICAgICAgICAgY2hhbm5lbChkYXRhLCAiU2NoZW1hcyB2YWxpZGl0eSAiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9GUk9NX1NDSEVNQVNQOgorICAgICAgICAgICAgY2hhbm5lbChkYXRhLCAiU2NoZW1hcyBwYXJzZXIgIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfRlJPTV9SRUxBWE5HUDoKKyAgICAgICAgICAgIGNoYW5uZWwoZGF0YSwgIlJlbGF4LU5HIHBhcnNlciAiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9GUk9NX1JFTEFYTkdWOgorICAgICAgICAgICAgY2hhbm5lbChkYXRhLCAiUmVsYXgtTkcgdmFsaWRpdHkgIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfRlJPTV9DQVRBTE9HOgorICAgICAgICAgICAgY2hhbm5lbChkYXRhLCAiQ2F0YWxvZyAiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9GUk9NX0MxNE46CisgICAgICAgICAgICBjaGFubmVsKGRhdGEsICJDMTROICIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0ZST01fWFNMVDoKKyAgICAgICAgICAgIGNoYW5uZWwoZGF0YSwgIlhTTFQgIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIGJyZWFrOworICAgIH0KKyAgICBpZiAoY29kZSA9PSBYTUxfRVJSX09LKQorICAgICAgICByZXR1cm47CisgICAgc3dpdGNoIChsZXZlbCkgeworICAgICAgICBjYXNlIFhNTF9FUlJfTk9ORToKKyAgICAgICAgICAgIGNoYW5uZWwoZGF0YSwgIjogIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfRVJSX1dBUk5JTkc6CisgICAgICAgICAgICBjaGFubmVsKGRhdGEsICJ3YXJuaW5nIDogIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfRVJSX0VSUk9SOgorICAgICAgICAgICAgY2hhbm5lbChkYXRhLCAiZXJyb3IgOiAiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9FUlJfRkFUQUw6CisgICAgICAgICAgICBjaGFubmVsKGRhdGEsICJlcnJvciA6ICIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgfQorICAgIGlmIChjb2RlID09IFhNTF9FUlJfT0spCisgICAgICAgIHJldHVybjsKKyAgICBpZiAoc3RyICE9IE5VTEwpIHsKKyAgICAgICAgaW50IGxlbjsKKwlsZW4gPSB4bWxTdHJsZW4oKGNvbnN0IHhtbENoYXIgKilzdHIpOworCWlmICgobGVuID4gMCkgJiYgKHN0cltsZW4gLSAxXSAhPSAnXG4nKSkKKwkgICAgY2hhbm5lbChkYXRhLCAiJXNcbiIsIHN0cik7CisJZWxzZQorCSAgICBjaGFubmVsKGRhdGEsICIlcyIsIHN0cik7CisgICAgfSBlbHNlIHsKKyAgICAgICAgY2hhbm5lbChkYXRhLCAiJXNcbiIsICJvdXQgb2YgbWVtb3J5IGVycm9yIik7CisgICAgfQorICAgIGlmIChjb2RlID09IFhNTF9FUlJfT0spCisgICAgICAgIHJldHVybjsKKworICAgIGlmIChjdHh0ICE9IE5VTEwpIHsKKyAgICAgICAgeG1sUGFyc2VyUHJpbnRGaWxlQ29udGV4dEludGVybmFsKGlucHV0LCBjaGFubmVsLCBkYXRhKTsKKyAgICAgICAgaWYgKGN1ciAhPSBOVUxMKSB7CisgICAgICAgICAgICBpZiAoY3VyLT5maWxlbmFtZSkKKyAgICAgICAgICAgICAgICBjaGFubmVsKGRhdGEsICIlczolZDogXG4iLCBjdXItPmZpbGVuYW1lLCBjdXItPmxpbmUpOworICAgICAgICAgICAgZWxzZSBpZiAoKGxpbmUgIT0gMCkgJiYgKGRvbWFpbiA9PSBYTUxfRlJPTV9QQVJTRVIpKQorICAgICAgICAgICAgICAgIGNoYW5uZWwoZGF0YSwgIkVudGl0eTogbGluZSAlZDogXG4iLCBjdXItPmxpbmUpOworICAgICAgICAgICAgeG1sUGFyc2VyUHJpbnRGaWxlQ29udGV4dEludGVybmFsKGN1ciwgY2hhbm5lbCwgZGF0YSk7CisgICAgICAgIH0KKyAgICB9CisgICAgaWYgKChkb21haW4gPT0gWE1MX0ZST01fWFBBVEgpICYmIChlcnItPnN0cjEgIT0gTlVMTCkgJiYKKyAgICAgICAgKGVyci0+aW50MSA8IDEwMCkgJiYKKwkoZXJyLT5pbnQxIDwgeG1sU3RybGVuKChjb25zdCB4bWxDaGFyICopZXJyLT5zdHIxKSkpIHsKKwl4bWxDaGFyIGJ1ZlsxNTBdOworCWludCBpOworCisJY2hhbm5lbChkYXRhLCAiJXNcbiIsIGVyci0+c3RyMSk7CisJZm9yIChpPTA7aSA8IGVyci0+aW50MTtpKyspCisJICAgICBidWZbaV0gPSAnICc7CisJYnVmW2krK10gPSAnXic7CisJYnVmW2ldID0gMDsKKwljaGFubmVsKGRhdGEsICIlc1xuIiwgYnVmKTsKKyAgICB9Cit9CisKK3N0YXRpYyB2b2lkCitpbml0aWFsaXplTGlieG1sMih2b2lkKSB7CisgICAgeG1sR2V0V2FybmluZ3NEZWZhdWx0VmFsdWUgPSAwOworICAgIHhtbFBlZGFudGljUGFyc2VyRGVmYXVsdCgwKTsKKworICAgIHhtbE1lbVNldHVwKHhtbE1lbUZyZWUsIHhtbE1lbU1hbGxvYywgeG1sTWVtUmVhbGxvYywgeG1sTWVtb3J5U3RyZHVwKTsKKyAgICB4bWxJbml0UGFyc2VyKCk7CisgICAgeG1sU2V0RXh0ZXJuYWxFbnRpdHlMb2FkZXIodGVzdEV4dGVybmFsRW50aXR5TG9hZGVyKTsKKyAgICB4bWxTZXRTdHJ1Y3R1cmVkRXJyb3JGdW5jKE5VTEwsIHRlc3RTdHJ1Y3R1cmVkRXJyb3JIYW5kbGVyKTsKKyNpZmRlZiBMSUJYTUxfU0NIRU1BU19FTkFCTEVECisgICAgeG1sU2NoZW1hSW5pdFR5cGVzKCk7CisgICAgeG1sUmVsYXhOR0luaXRUeXBlcygpOworI2VuZGlmCit9CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJRmlsZSBuYW1lIGFuZCBwYXRoIHV0aWxpdGllcwkJCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK3N0YXRpYyBjb25zdCBjaGFyICpiYXNlRmlsZW5hbWUoY29uc3QgY2hhciAqZmlsZW5hbWUpIHsKKyAgICBjb25zdCBjaGFyICpjdXI7CisgICAgaWYgKGZpbGVuYW1lID09IE5VTEwpCisgICAgICAgIHJldHVybihOVUxMKTsKKyAgICBjdXIgPSAmZmlsZW5hbWVbc3RybGVuKGZpbGVuYW1lKV07CisgICAgd2hpbGUgKChjdXIgPiBmaWxlbmFtZSkgJiYgKCpjdXIgIT0gJy8nKSkKKyAgICAgICAgY3VyLS07CisgICAgaWYgKCpjdXIgPT0gJy8nKQorICAgICAgICByZXR1cm4oY3VyICsgMSk7CisgICAgcmV0dXJuKGN1cik7Cit9CisKK3N0YXRpYyBjaGFyICpyZXN1bHRGaWxlbmFtZShjb25zdCBjaGFyICpmaWxlbmFtZSwgY29uc3QgY2hhciAqb3V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnN1ZmZpeCkgeworICAgIGNvbnN0IGNoYXIgKmJhc2U7CisgICAgY2hhciByZXNbNTAwXTsKKyAgICBjaGFyIHN1ZmZpeGJ1ZmZbNTAwXTsKKworLyoqKioqKioqKioqKioKKyAgICBpZiAoKGZpbGVuYW1lWzBdID09ICd0JykgJiYgKGZpbGVuYW1lWzFdID09ICdlJykgJiYKKyAgICAgICAgKGZpbGVuYW1lWzJdID09ICdzJykgJiYgKGZpbGVuYW1lWzNdID09ICd0JykgJiYKKwkoZmlsZW5hbWVbNF0gPT0gJy8nKSkKKwlmaWxlbmFtZSA9ICZmaWxlbmFtZVs1XTsKKyAqKioqKioqKioqKioqLworCisgICAgYmFzZSA9IGJhc2VGaWxlbmFtZShmaWxlbmFtZSk7CisgICAgaWYgKHN1ZmZpeCA9PSBOVUxMKQorICAgICAgICBzdWZmaXggPSAiLnRtcCI7CisgICAgaWYgKG91dCA9PSBOVUxMKQorICAgICAgICBvdXQgPSAiIjsKKworICAgIHN0cm5jcHkoc3VmZml4YnVmZixzdWZmaXgsNDk5KTsKKyNpZmRlZiBWTVMKKyAgICBpZihzdHJzdHIoYmFzZSwiLiIpICYmIHN1ZmZpeGJ1ZmZbMF09PScuJykKKyAgICAgIHN1ZmZpeGJ1ZmZbMF09J18nOworI2VuZGlmCisKKyAgICBzbnByaW50ZihyZXMsIDQ5OSwgIiVzJXMlcyIsIG91dCwgYmFzZSwgc3VmZml4YnVmZik7CisgICAgcmVzWzQ5OV0gPSAwOworICAgIHJldHVybihzdHJkdXAocmVzKSk7Cit9CisKK3N0YXRpYyBpbnQgY2hlY2tUZXN0RmlsZShjb25zdCBjaGFyICpmaWxlbmFtZSkgeworICAgIHN0cnVjdCBzdGF0IGJ1ZjsKKworICAgIGlmIChzdGF0KGZpbGVuYW1lLCAmYnVmKSA9PSAtMSkKKyAgICAgICAgcmV0dXJuKDApOworCisjaWYgZGVmaW5lZChfV0lOMzIpICYmICFkZWZpbmVkKF9fQ1lHV0lOX18pCisgICAgaWYgKCEoYnVmLnN0X21vZGUgJiBfU19JRlJFRykpCisgICAgICAgIHJldHVybigwKTsKKyNlbHNlCisgICAgaWYgKCFTX0lTUkVHKGJ1Zi5zdF9tb2RlKSkKKyAgICAgICAgcmV0dXJuKDApOworI2VuZGlmCisKKyAgICByZXR1cm4oMSk7Cit9CisKK3N0YXRpYyBpbnQgY29tcGFyZUZpbGVzKGNvbnN0IGNoYXIgKnIxLCBjb25zdCBjaGFyICpyMikgeworICAgIGludCByZXMxLCByZXMyOworICAgIGludCBmZDEsIGZkMjsKKyAgICBjaGFyIGJ5dGVzMVs0MDk2XTsKKyAgICBjaGFyIGJ5dGVzMls0MDk2XTsKKworICAgIGZkMSA9IG9wZW4ocjEsIFJEX0ZMQUdTKTsKKyAgICBpZiAoZmQxIDwgMCkKKyAgICAgICAgcmV0dXJuKC0xKTsKKyAgICBmZDIgPSBvcGVuKHIyLCBSRF9GTEFHUyk7CisgICAgaWYgKGZkMiA8IDApIHsKKyAgICAgICAgY2xvc2UoZmQxKTsKKyAgICAgICAgcmV0dXJuKC0xKTsKKyAgICB9CisgICAgd2hpbGUgKDEpIHsKKyAgICAgICAgcmVzMSA9IHJlYWQoZmQxLCBieXRlczEsIDQwOTYpOworICAgICAgICByZXMyID0gcmVhZChmZDIsIGJ5dGVzMiwgNDA5Nik7CisJaWYgKChyZXMxICE9IHJlczIpIHx8IChyZXMxIDwgMCkpIHsKKwkgICAgY2xvc2UoZmQxKTsKKwkgICAgY2xvc2UoZmQyKTsKKwkgICAgcmV0dXJuKDEpOworCX0KKwlpZiAocmVzMSA9PSAwKQorCSAgICBicmVhazsKKwlpZiAobWVtY21wKGJ5dGVzMSwgYnl0ZXMyLCByZXMxKSAhPSAwKSB7CisJICAgIGNsb3NlKGZkMSk7CisJICAgIGNsb3NlKGZkMik7CisJICAgIHJldHVybigxKTsKKwl9CisgICAgfQorICAgIGNsb3NlKGZkMSk7CisgICAgY2xvc2UoZmQyKTsKKyAgICByZXR1cm4oMCk7Cit9CisKK3N0YXRpYyBpbnQgY29tcGFyZUZpbGVNZW0oY29uc3QgY2hhciAqZmlsZW5hbWUsIGNvbnN0IGNoYXIgKm1lbSwgaW50IHNpemUpIHsKKyAgICBpbnQgcmVzOworICAgIGludCBmZDsKKyAgICBjaGFyIGJ5dGVzWzQwOTZdOworICAgIGludCBpZHggPSAwOworICAgIHN0cnVjdCBzdGF0IGluZm87CisKKyAgICBpZiAoc3RhdChmaWxlbmFtZSwgJmluZm8pIDwgMCkKKwlyZXR1cm4oLTEpOworICAgIGlmIChpbmZvLnN0X3NpemUgIT0gc2l6ZSkKKyAgICAgICAgcmV0dXJuKC0xKTsKKyAgICBmZCA9IG9wZW4oZmlsZW5hbWUsIFJEX0ZMQUdTKTsKKyAgICBpZiAoZmQgPCAwKQorICAgICAgICByZXR1cm4oLTEpOworICAgIHdoaWxlIChpZHggPCBzaXplKSB7CisgICAgICAgIHJlcyA9IHJlYWQoZmQsIGJ5dGVzLCA0MDk2KTsKKwlpZiAocmVzIDw9IDApCisJICAgIGJyZWFrOworCWlmIChyZXMgKyBpZHggPiBzaXplKQorCSAgICBicmVhazsKKwlpZiAobWVtY21wKGJ5dGVzLCAmbWVtW2lkeF0sIHJlcykgIT0gMCkgeworCSAgICBpbnQgaXg7CisJICAgIGZvciAoaXg9MDsgaXg8cmVzOyBpeCsrKQorCQlpZiAoYnl0ZXNbaXhdICE9IG1lbVtpZHgraXhdKQorCQkJYnJlYWs7CisJICAgIGZwcmludGYoc3RkZXJyLCJDb21wYXJlIGVycm9yIGF0IHBvc2l0aW9uICVkXG4iLCBpZHgraXgpOworCSAgICBjbG9zZShmZCk7CisJICAgIHJldHVybigxKTsKKwl9CisJaWR4ICs9IHJlczsKKyAgICB9CisgICAgY2xvc2UoZmQpOworICAgIHJldHVybihpZHggIT0gc2l6ZSk7Cit9CisKK3N0YXRpYyBpbnQgbG9hZE1lbShjb25zdCBjaGFyICpmaWxlbmFtZSwgY29uc3QgY2hhciAqKm1lbSwgaW50ICpzaXplKSB7CisgICAgaW50IGZkLCByZXM7CisgICAgc3RydWN0IHN0YXQgaW5mbzsKKyAgICBjaGFyICpiYXNlOworICAgIGludCBzaXogPSAwOworICAgIGlmIChzdGF0KGZpbGVuYW1lLCAmaW5mbykgPCAwKQorCXJldHVybigtMSk7CisgICAgYmFzZSA9IG1hbGxvYyhpbmZvLnN0X3NpemUgKyAxKTsKKyAgICBpZiAoYmFzZSA9PSBOVUxMKQorCXJldHVybigtMSk7CisgICAgaWYgKChmZCA9IG9wZW4oZmlsZW5hbWUsIFJEX0ZMQUdTKSkgPCAwKSB7CisgICAgICAgIGZyZWUoYmFzZSk7CisJcmV0dXJuKC0xKTsKKyAgICB9CisgICAgd2hpbGUgKChyZXMgPSByZWFkKGZkLCAmYmFzZVtzaXpdLCBpbmZvLnN0X3NpemUgLSBzaXopKSA+IDApIHsKKyAgICAgICAgc2l6ICs9IHJlczsKKyAgICB9CisgICAgY2xvc2UoZmQpOworI2lmICFkZWZpbmVkKF9XSU4zMikKKyAgICBpZiAoc2l6ICE9IGluZm8uc3Rfc2l6ZSkgeworICAgICAgICBmcmVlKGJhc2UpOworCXJldHVybigtMSk7CisgICAgfQorI2VuZGlmCisgICAgYmFzZVtzaXpdID0gMDsKKyAgICAqbWVtID0gYmFzZTsKKyAgICAqc2l6ZSA9IHNpejsKKyAgICByZXR1cm4oMCk7Cit9CisKK3N0YXRpYyBpbnQgdW5sb2FkTWVtKGNvbnN0IGNoYXIgKm1lbSkgeworICAgIGZyZWUoKGNoYXIgKiltZW0pOworICAgIHJldHVybigwKTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJVGVzdHMgaW1wbGVtZW50YXRpb25zCQkJCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCVBhcnNlIHRvIFNBWCBiYXNlZCB0ZXN0cwkJCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK3N0YXRpYyBGSUxFICpTQVhkZWJ1ZyA9IE5VTEw7CisKKy8qCisgKiBlbXB0eSBTQVggYmxvY2sKKyAqLworc3RhdGljIHhtbFNBWEhhbmRsZXIgZW1wdHlTQVhIYW5kbGVyU3RydWN0ID0geworICAgIE5VTEwsIC8qIGludGVybmFsU3Vic2V0ICovCisgICAgTlVMTCwgLyogaXNTdGFuZGFsb25lICovCisgICAgTlVMTCwgLyogaGFzSW50ZXJuYWxTdWJzZXQgKi8KKyAgICBOVUxMLCAvKiBoYXNFeHRlcm5hbFN1YnNldCAqLworICAgIE5VTEwsIC8qIHJlc29sdmVFbnRpdHkgKi8KKyAgICBOVUxMLCAvKiBnZXRFbnRpdHkgKi8KKyAgICBOVUxMLCAvKiBlbnRpdHlEZWNsICovCisgICAgTlVMTCwgLyogbm90YXRpb25EZWNsICovCisgICAgTlVMTCwgLyogYXR0cmlidXRlRGVjbCAqLworICAgIE5VTEwsIC8qIGVsZW1lbnREZWNsICovCisgICAgTlVMTCwgLyogdW5wYXJzZWRFbnRpdHlEZWNsICovCisgICAgTlVMTCwgLyogc2V0RG9jdW1lbnRMb2NhdG9yICovCisgICAgTlVMTCwgLyogc3RhcnREb2N1bWVudCAqLworICAgIE5VTEwsIC8qIGVuZERvY3VtZW50ICovCisgICAgTlVMTCwgLyogc3RhcnRFbGVtZW50ICovCisgICAgTlVMTCwgLyogZW5kRWxlbWVudCAqLworICAgIE5VTEwsIC8qIHJlZmVyZW5jZSAqLworICAgIE5VTEwsIC8qIGNoYXJhY3RlcnMgKi8KKyAgICBOVUxMLCAvKiBpZ25vcmFibGVXaGl0ZXNwYWNlICovCisgICAgTlVMTCwgLyogcHJvY2Vzc2luZ0luc3RydWN0aW9uICovCisgICAgTlVMTCwgLyogY29tbWVudCAqLworICAgIE5VTEwsIC8qIHhtbFBhcnNlcldhcm5pbmcgKi8KKyAgICBOVUxMLCAvKiB4bWxQYXJzZXJFcnJvciAqLworICAgIE5VTEwsIC8qIHhtbFBhcnNlckVycm9yICovCisgICAgTlVMTCwgLyogZ2V0UGFyYW1ldGVyRW50aXR5ICovCisgICAgTlVMTCwgLyogY2RhdGFCbG9jazsgKi8KKyAgICBOVUxMLCAvKiBleHRlcm5hbFN1YnNldDsgKi8KKyAgICAxLAorICAgIE5VTEwsCisgICAgTlVMTCwgLyogc3RhcnRFbGVtZW50TnMgKi8KKyAgICBOVUxMLCAvKiBlbmRFbGVtZW50TnMgKi8KKyAgICBOVUxMICAvKiB4bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jICovCit9OworCitzdGF0aWMgeG1sU0FYSGFuZGxlclB0ciBlbXB0eVNBWEhhbmRsZXIgPSAmZW1wdHlTQVhIYW5kbGVyU3RydWN0Oworc3RhdGljIGludCBjYWxsYmFja3MgPSAwOworc3RhdGljIGludCBxdWlldCA9IDA7CisKKy8qKgorICogaXNTdGFuZGFsb25lRGVidWc6CisgKiBAY3R4dDogIEFuIFhNTCBwYXJzZXIgY29udGV4dAorICoKKyAqIElzIHRoaXMgZG9jdW1lbnQgdGFnZ2VkIHN0YW5kYWxvbmUgPworICoKKyAqIFJldHVybnMgMSBpZiB0cnVlCisgKi8KK3N0YXRpYyBpbnQKK2lzU3RhbmRhbG9uZURlYnVnKHZvaWQgKmN0eCBBVFRSSUJVVEVfVU5VU0VEKQoreworICAgIGNhbGxiYWNrcysrOworICAgIGlmIChxdWlldCkKKwlyZXR1cm4oMCk7CisgICAgZnByaW50ZihTQVhkZWJ1ZywgIlNBWC5pc1N0YW5kYWxvbmUoKVxuIik7CisgICAgcmV0dXJuKDApOworfQorCisvKioKKyAqIGhhc0ludGVybmFsU3Vic2V0RGVidWc6CisgKiBAY3R4dDogIEFuIFhNTCBwYXJzZXIgY29udGV4dAorICoKKyAqIERvZXMgdGhpcyBkb2N1bWVudCBoYXMgYW4gaW50ZXJuYWwgc3Vic2V0CisgKgorICogUmV0dXJucyAxIGlmIHRydWUKKyAqLworc3RhdGljIGludAoraGFzSW50ZXJuYWxTdWJzZXREZWJ1Zyh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCkKK3sKKyAgICBjYWxsYmFja3MrKzsKKyAgICBpZiAocXVpZXQpCisJcmV0dXJuKDApOworICAgIGZwcmludGYoU0FYZGVidWcsICJTQVguaGFzSW50ZXJuYWxTdWJzZXQoKVxuIik7CisgICAgcmV0dXJuKDApOworfQorCisvKioKKyAqIGhhc0V4dGVybmFsU3Vic2V0RGVidWc6CisgKiBAY3R4dDogIEFuIFhNTCBwYXJzZXIgY29udGV4dAorICoKKyAqIERvZXMgdGhpcyBkb2N1bWVudCBoYXMgYW4gZXh0ZXJuYWwgc3Vic2V0CisgKgorICogUmV0dXJucyAxIGlmIHRydWUKKyAqLworc3RhdGljIGludAoraGFzRXh0ZXJuYWxTdWJzZXREZWJ1Zyh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCkKK3sKKyAgICBjYWxsYmFja3MrKzsKKyAgICBpZiAocXVpZXQpCisJcmV0dXJuKDApOworICAgIGZwcmludGYoU0FYZGVidWcsICJTQVguaGFzRXh0ZXJuYWxTdWJzZXQoKVxuIik7CisgICAgcmV0dXJuKDApOworfQorCisvKioKKyAqIGludGVybmFsU3Vic2V0RGVidWc6CisgKiBAY3R4dDogIEFuIFhNTCBwYXJzZXIgY29udGV4dAorICoKKyAqIERvZXMgdGhpcyBkb2N1bWVudCBoYXMgYW4gaW50ZXJuYWwgc3Vic2V0CisgKi8KK3N0YXRpYyB2b2lkCitpbnRlcm5hbFN1YnNldERlYnVnKHZvaWQgKmN0eCBBVFRSSUJVVEVfVU5VU0VELCBjb25zdCB4bWxDaGFyICpuYW1lLAorCSAgICAgICBjb25zdCB4bWxDaGFyICpFeHRlcm5hbElELCBjb25zdCB4bWxDaGFyICpTeXN0ZW1JRCkKK3sKKyAgICBjYWxsYmFja3MrKzsKKyAgICBpZiAocXVpZXQpCisJcmV0dXJuOworICAgIGZwcmludGYoU0FYZGVidWcsICJTQVguaW50ZXJuYWxTdWJzZXQoJXMsIiwgbmFtZSk7CisgICAgaWYgKEV4dGVybmFsSUQgPT0gTlVMTCkKKwlmcHJpbnRmKFNBWGRlYnVnLCAiICwiKTsKKyAgICBlbHNlCisJZnByaW50ZihTQVhkZWJ1ZywgIiAlcywiLCBFeHRlcm5hbElEKTsKKyAgICBpZiAoU3lzdGVtSUQgPT0gTlVMTCkKKwlmcHJpbnRmKFNBWGRlYnVnLCAiIClcbiIpOworICAgIGVsc2UKKwlmcHJpbnRmKFNBWGRlYnVnLCAiICVzKVxuIiwgU3lzdGVtSUQpOworfQorCisvKioKKyAqIGV4dGVybmFsU3Vic2V0RGVidWc6CisgKiBAY3R4dDogIEFuIFhNTCBwYXJzZXIgY29udGV4dAorICoKKyAqIERvZXMgdGhpcyBkb2N1bWVudCBoYXMgYW4gZXh0ZXJuYWwgc3Vic2V0CisgKi8KK3N0YXRpYyB2b2lkCitleHRlcm5hbFN1YnNldERlYnVnKHZvaWQgKmN0eCBBVFRSSUJVVEVfVU5VU0VELCBjb25zdCB4bWxDaGFyICpuYW1lLAorCSAgICAgICBjb25zdCB4bWxDaGFyICpFeHRlcm5hbElELCBjb25zdCB4bWxDaGFyICpTeXN0ZW1JRCkKK3sKKyAgICBjYWxsYmFja3MrKzsKKyAgICBpZiAocXVpZXQpCisJcmV0dXJuOworICAgIGZwcmludGYoU0FYZGVidWcsICJTQVguZXh0ZXJuYWxTdWJzZXQoJXMsIiwgbmFtZSk7CisgICAgaWYgKEV4dGVybmFsSUQgPT0gTlVMTCkKKwlmcHJpbnRmKFNBWGRlYnVnLCAiICwiKTsKKyAgICBlbHNlCisJZnByaW50ZihTQVhkZWJ1ZywgIiAlcywiLCBFeHRlcm5hbElEKTsKKyAgICBpZiAoU3lzdGVtSUQgPT0gTlVMTCkKKwlmcHJpbnRmKFNBWGRlYnVnLCAiIClcbiIpOworICAgIGVsc2UKKwlmcHJpbnRmKFNBWGRlYnVnLCAiICVzKVxuIiwgU3lzdGVtSUQpOworfQorCisvKioKKyAqIHJlc29sdmVFbnRpdHlEZWJ1ZzoKKyAqIEBjdHh0OiAgQW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAcHVibGljSWQ6IFRoZSBwdWJsaWMgSUQgb2YgdGhlIGVudGl0eQorICogQHN5c3RlbUlkOiBUaGUgc3lzdGVtIElEIG9mIHRoZSBlbnRpdHkKKyAqCisgKiBTcGVjaWFsIGVudGl0eSByZXNvbHZlciwgYmV0dGVyIGxlZnQgdG8gdGhlIHBhcnNlciwgaXQgaGFzCisgKiBtb3JlIGNvbnRleHQgdGhhbiB0aGUgYXBwbGljYXRpb24gbGF5ZXIuCisgKiBUaGUgZGVmYXVsdCBiZWhhdmlvdXIgaXMgdG8gTk9UIHJlc29sdmUgdGhlIGVudGl0aWVzLCBpbiB0aGF0IGNhc2UKKyAqIHRoZSBFTlRJVFlfUkVGIG5vZGVzIGFyZSBidWlsdCBpbiB0aGUgc3RydWN0dXJlIChhbmQgdGhlIHBhcmFtZXRlcgorICogdmFsdWVzKS4KKyAqCisgKiBSZXR1cm5zIHRoZSB4bWxQYXJzZXJJbnB1dFB0ciBpZiBpbmxpbmVkIG9yIE5VTEwgZm9yIERPTSBiZWhhdmlvdXIuCisgKi8KK3N0YXRpYyB4bWxQYXJzZXJJbnB1dFB0cgorcmVzb2x2ZUVudGl0eURlYnVnKHZvaWQgKmN0eCBBVFRSSUJVVEVfVU5VU0VELCBjb25zdCB4bWxDaGFyICpwdWJsaWNJZCwgY29uc3QgeG1sQ2hhciAqc3lzdGVtSWQpCit7CisgICAgY2FsbGJhY2tzKys7CisgICAgaWYgKHF1aWV0KQorCXJldHVybihOVUxMKTsKKyAgICAvKiB4bWxQYXJzZXJDdHh0UHRyIGN0eHQgPSAoeG1sUGFyc2VyQ3R4dFB0cikgY3R4OyAqLworCisKKyAgICBmcHJpbnRmKFNBWGRlYnVnLCAiU0FYLnJlc29sdmVFbnRpdHkoIik7CisgICAgaWYgKHB1YmxpY0lkICE9IE5VTEwpCisJZnByaW50ZihTQVhkZWJ1ZywgIiVzIiwgKGNoYXIgKilwdWJsaWNJZCk7CisgICAgZWxzZQorCWZwcmludGYoU0FYZGVidWcsICIgIik7CisgICAgaWYgKHN5c3RlbUlkICE9IE5VTEwpCisJZnByaW50ZihTQVhkZWJ1ZywgIiwgJXMpXG4iLCAoY2hhciAqKXN5c3RlbUlkKTsKKyAgICBlbHNlCisJZnByaW50ZihTQVhkZWJ1ZywgIiwgKVxuIik7CisvKioqKioqKioqCisgICAgaWYgKHN5c3RlbUlkICE9IE5VTEwpIHsKKyAgICAgICAgcmV0dXJuKHhtbE5ld0lucHV0RnJvbUZpbGUoY3R4dCwgKGNoYXIgKikgc3lzdGVtSWQpKTsKKyAgICB9CisgKioqKioqKioqLworICAgIHJldHVybihOVUxMKTsKK30KKworLyoqCisgKiBnZXRFbnRpdHlEZWJ1ZzoKKyAqIEBjdHh0OiAgQW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAbmFtZTogVGhlIGVudGl0eSBuYW1lCisgKgorICogR2V0IGFuIGVudGl0eSBieSBuYW1lCisgKgorICogUmV0dXJucyB0aGUgeG1sUGFyc2VySW5wdXRQdHIgaWYgaW5saW5lZCBvciBOVUxMIGZvciBET00gYmVoYXZpb3VyLgorICovCitzdGF0aWMgeG1sRW50aXR5UHRyCitnZXRFbnRpdHlEZWJ1Zyh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCwgY29uc3QgeG1sQ2hhciAqbmFtZSkKK3sKKyAgICBjYWxsYmFja3MrKzsKKyAgICBpZiAocXVpZXQpCisJcmV0dXJuKE5VTEwpOworICAgIGZwcmludGYoU0FYZGVidWcsICJTQVguZ2V0RW50aXR5KCVzKVxuIiwgbmFtZSk7CisgICAgcmV0dXJuKE5VTEwpOworfQorCisvKioKKyAqIGdldFBhcmFtZXRlckVudGl0eURlYnVnOgorICogQGN0eHQ6ICBBbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBuYW1lOiBUaGUgZW50aXR5IG5hbWUKKyAqCisgKiBHZXQgYSBwYXJhbWV0ZXIgZW50aXR5IGJ5IG5hbWUKKyAqCisgKiBSZXR1cm5zIHRoZSB4bWxQYXJzZXJJbnB1dFB0cgorICovCitzdGF0aWMgeG1sRW50aXR5UHRyCitnZXRQYXJhbWV0ZXJFbnRpdHlEZWJ1Zyh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCwgY29uc3QgeG1sQ2hhciAqbmFtZSkKK3sKKyAgICBjYWxsYmFja3MrKzsKKyAgICBpZiAocXVpZXQpCisJcmV0dXJuKE5VTEwpOworICAgIGZwcmludGYoU0FYZGVidWcsICJTQVguZ2V0UGFyYW1ldGVyRW50aXR5KCVzKVxuIiwgbmFtZSk7CisgICAgcmV0dXJuKE5VTEwpOworfQorCisKKy8qKgorICogZW50aXR5RGVjbERlYnVnOgorICogQGN0eHQ6ICBBbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBuYW1lOiAgdGhlIGVudGl0eSBuYW1lCisgKiBAdHlwZTogIHRoZSBlbnRpdHkgdHlwZQorICogQHB1YmxpY0lkOiBUaGUgcHVibGljIElEIG9mIHRoZSBlbnRpdHkKKyAqIEBzeXN0ZW1JZDogVGhlIHN5c3RlbSBJRCBvZiB0aGUgZW50aXR5CisgKiBAY29udGVudDogdGhlIGVudGl0eSB2YWx1ZSAod2l0aG91dCBwcm9jZXNzaW5nKS4KKyAqCisgKiBBbiBlbnRpdHkgZGVmaW5pdGlvbiBoYXMgYmVlbiBwYXJzZWQKKyAqLworc3RhdGljIHZvaWQKK2VudGl0eURlY2xEZWJ1Zyh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCwgY29uc3QgeG1sQ2hhciAqbmFtZSwgaW50IHR5cGUsCisgICAgICAgICAgY29uc3QgeG1sQ2hhciAqcHVibGljSWQsIGNvbnN0IHhtbENoYXIgKnN5c3RlbUlkLCB4bWxDaGFyICpjb250ZW50KQoreworY29uc3QgeG1sQ2hhciAqbnVsbHN0ciA9IEJBRF9DQVNUICIobnVsbCkiOworICAgIC8qIG5vdCBhbGwgbGlicmFyaWVzIGhhbmRsZSBwcmludGluZyBudWxsIHBvaW50ZXJzIG5pY2VseSAqLworICAgIGlmIChwdWJsaWNJZCA9PSBOVUxMKQorICAgICAgICBwdWJsaWNJZCA9IG51bGxzdHI7CisgICAgaWYgKHN5c3RlbUlkID09IE5VTEwpCisgICAgICAgIHN5c3RlbUlkID0gbnVsbHN0cjsKKyAgICBpZiAoY29udGVudCA9PSBOVUxMKQorICAgICAgICBjb250ZW50ID0gKHhtbENoYXIgKiludWxsc3RyOworICAgIGNhbGxiYWNrcysrOworICAgIGlmIChxdWlldCkKKwlyZXR1cm47CisgICAgZnByaW50ZihTQVhkZWJ1ZywgIlNBWC5lbnRpdHlEZWNsKCVzLCAlZCwgJXMsICVzLCAlcylcbiIsCisgICAgICAgICAgICBuYW1lLCB0eXBlLCBwdWJsaWNJZCwgc3lzdGVtSWQsIGNvbnRlbnQpOworfQorCisvKioKKyAqIGF0dHJpYnV0ZURlY2xEZWJ1ZzoKKyAqIEBjdHh0OiAgQW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAbmFtZTogIHRoZSBhdHRyaWJ1dGUgbmFtZQorICogQHR5cGU6ICB0aGUgYXR0cmlidXRlIHR5cGUKKyAqCisgKiBBbiBhdHRyaWJ1dGUgZGVmaW5pdGlvbiBoYXMgYmVlbiBwYXJzZWQKKyAqLworc3RhdGljIHZvaWQKK2F0dHJpYnV0ZURlY2xEZWJ1Zyh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCwgY29uc3QgeG1sQ2hhciAqIGVsZW0sCisgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIG5hbWUsIGludCB0eXBlLCBpbnQgZGVmLAorICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBkZWZhdWx0VmFsdWUsIHhtbEVudW1lcmF0aW9uUHRyIHRyZWUpCit7CisgICAgY2FsbGJhY2tzKys7CisgICAgaWYgKHF1aWV0KQorICAgICAgICByZXR1cm47CisgICAgaWYgKGRlZmF1bHRWYWx1ZSA9PSBOVUxMKQorICAgICAgICBmcHJpbnRmKFNBWGRlYnVnLCAiU0FYLmF0dHJpYnV0ZURlY2woJXMsICVzLCAlZCwgJWQsIE5VTEwsIC4uLilcbiIsCisgICAgICAgICAgICAgICAgZWxlbSwgbmFtZSwgdHlwZSwgZGVmKTsKKyAgICBlbHNlCisgICAgICAgIGZwcmludGYoU0FYZGVidWcsICJTQVguYXR0cmlidXRlRGVjbCglcywgJXMsICVkLCAlZCwgJXMsIC4uLilcbiIsCisgICAgICAgICAgICAgICAgZWxlbSwgbmFtZSwgdHlwZSwgZGVmLCBkZWZhdWx0VmFsdWUpOworICAgIHhtbEZyZWVFbnVtZXJhdGlvbih0cmVlKTsKK30KKworLyoqCisgKiBlbGVtZW50RGVjbERlYnVnOgorICogQGN0eHQ6ICBBbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBuYW1lOiAgdGhlIGVsZW1lbnQgbmFtZQorICogQHR5cGU6ICB0aGUgZWxlbWVudCB0eXBlCisgKiBAY29udGVudDogdGhlIGVsZW1lbnQgdmFsdWUgKHdpdGhvdXQgcHJvY2Vzc2luZykuCisgKgorICogQW4gZWxlbWVudCBkZWZpbml0aW9uIGhhcyBiZWVuIHBhcnNlZAorICovCitzdGF0aWMgdm9pZAorZWxlbWVudERlY2xEZWJ1Zyh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCwgY29uc3QgeG1sQ2hhciAqbmFtZSwgaW50IHR5cGUsCisJICAgIHhtbEVsZW1lbnRDb250ZW50UHRyIGNvbnRlbnQgQVRUUklCVVRFX1VOVVNFRCkKK3sKKyAgICBjYWxsYmFja3MrKzsKKyAgICBpZiAocXVpZXQpCisJcmV0dXJuOworICAgIGZwcmludGYoU0FYZGVidWcsICJTQVguZWxlbWVudERlY2woJXMsICVkLCAuLi4pXG4iLAorICAgICAgICAgICAgbmFtZSwgdHlwZSk7Cit9CisKKy8qKgorICogbm90YXRpb25EZWNsRGVidWc6CisgKiBAY3R4dDogIEFuIFhNTCBwYXJzZXIgY29udGV4dAorICogQG5hbWU6IFRoZSBuYW1lIG9mIHRoZSBub3RhdGlvbgorICogQHB1YmxpY0lkOiBUaGUgcHVibGljIElEIG9mIHRoZSBlbnRpdHkKKyAqIEBzeXN0ZW1JZDogVGhlIHN5c3RlbSBJRCBvZiB0aGUgZW50aXR5CisgKgorICogV2hhdCB0byBkbyB3aGVuIGEgbm90YXRpb24gZGVjbGFyYXRpb24gaGFzIGJlZW4gcGFyc2VkLgorICovCitzdGF0aWMgdm9pZAorbm90YXRpb25EZWNsRGVidWcodm9pZCAqY3R4IEFUVFJJQlVURV9VTlVTRUQsIGNvbnN0IHhtbENoYXIgKm5hbWUsCisJICAgICBjb25zdCB4bWxDaGFyICpwdWJsaWNJZCwgY29uc3QgeG1sQ2hhciAqc3lzdGVtSWQpCit7CisgICAgY2FsbGJhY2tzKys7CisgICAgaWYgKHF1aWV0KQorCXJldHVybjsKKyAgICBmcHJpbnRmKFNBWGRlYnVnLCAiU0FYLm5vdGF0aW9uRGVjbCglcywgJXMsICVzKVxuIiwKKyAgICAgICAgICAgIChjaGFyICopIG5hbWUsIChjaGFyICopIHB1YmxpY0lkLCAoY2hhciAqKSBzeXN0ZW1JZCk7Cit9CisKKy8qKgorICogdW5wYXJzZWRFbnRpdHlEZWNsRGVidWc6CisgKiBAY3R4dDogIEFuIFhNTCBwYXJzZXIgY29udGV4dAorICogQG5hbWU6IFRoZSBuYW1lIG9mIHRoZSBlbnRpdHkKKyAqIEBwdWJsaWNJZDogVGhlIHB1YmxpYyBJRCBvZiB0aGUgZW50aXR5CisgKiBAc3lzdGVtSWQ6IFRoZSBzeXN0ZW0gSUQgb2YgdGhlIGVudGl0eQorICogQG5vdGF0aW9uTmFtZTogdGhlIG5hbWUgb2YgdGhlIG5vdGF0aW9uCisgKgorICogV2hhdCB0byBkbyB3aGVuIGFuIHVucGFyc2VkIGVudGl0eSBkZWNsYXJhdGlvbiBpcyBwYXJzZWQKKyAqLworc3RhdGljIHZvaWQKK3VucGFyc2VkRW50aXR5RGVjbERlYnVnKHZvaWQgKmN0eCBBVFRSSUJVVEVfVU5VU0VELCBjb25zdCB4bWxDaGFyICpuYW1lLAorCQkgICBjb25zdCB4bWxDaGFyICpwdWJsaWNJZCwgY29uc3QgeG1sQ2hhciAqc3lzdGVtSWQsCisJCSAgIGNvbnN0IHhtbENoYXIgKm5vdGF0aW9uTmFtZSkKK3sKK2NvbnN0IHhtbENoYXIgKm51bGxzdHIgPSBCQURfQ0FTVCAiKG51bGwpIjsKKworICAgIGlmIChwdWJsaWNJZCA9PSBOVUxMKQorICAgICAgICBwdWJsaWNJZCA9IG51bGxzdHI7CisgICAgaWYgKHN5c3RlbUlkID09IE5VTEwpCisgICAgICAgIHN5c3RlbUlkID0gbnVsbHN0cjsKKyAgICBpZiAobm90YXRpb25OYW1lID09IE5VTEwpCisgICAgICAgIG5vdGF0aW9uTmFtZSA9IG51bGxzdHI7CisgICAgY2FsbGJhY2tzKys7CisgICAgaWYgKHF1aWV0KQorCXJldHVybjsKKyAgICBmcHJpbnRmKFNBWGRlYnVnLCAiU0FYLnVucGFyc2VkRW50aXR5RGVjbCglcywgJXMsICVzLCAlcylcbiIsCisgICAgICAgICAgICAoY2hhciAqKSBuYW1lLCAoY2hhciAqKSBwdWJsaWNJZCwgKGNoYXIgKikgc3lzdGVtSWQsCisJICAgIChjaGFyICopIG5vdGF0aW9uTmFtZSk7Cit9CisKKy8qKgorICogc2V0RG9jdW1lbnRMb2NhdG9yRGVidWc6CisgKiBAY3R4dDogIEFuIFhNTCBwYXJzZXIgY29udGV4dAorICogQGxvYzogQSBTQVggTG9jYXRvcgorICoKKyAqIFJlY2VpdmUgdGhlIGRvY3VtZW50IGxvY2F0b3IgYXQgc3RhcnR1cCwgYWN0dWFsbHkgeG1sRGVmYXVsdFNBWExvY2F0b3IKKyAqIEV2ZXJ5dGhpbmcgaXMgYXZhaWxhYmxlIG9uIHRoZSBjb250ZXh0LCBzbyB0aGlzIGlzIHVzZWxlc3MgaW4gb3VyIGNhc2UuCisgKi8KK3N0YXRpYyB2b2lkCitzZXREb2N1bWVudExvY2F0b3JEZWJ1Zyh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCwgeG1sU0FYTG9jYXRvclB0ciBsb2MgQVRUUklCVVRFX1VOVVNFRCkKK3sKKyAgICBjYWxsYmFja3MrKzsKKyAgICBpZiAocXVpZXQpCisJcmV0dXJuOworICAgIGZwcmludGYoU0FYZGVidWcsICJTQVguc2V0RG9jdW1lbnRMb2NhdG9yKClcbiIpOworfQorCisvKioKKyAqIHN0YXJ0RG9jdW1lbnREZWJ1ZzoKKyAqIEBjdHh0OiAgQW4gWE1MIHBhcnNlciBjb250ZXh0CisgKgorICogY2FsbGVkIHdoZW4gdGhlIGRvY3VtZW50IHN0YXJ0IGJlaW5nIHByb2Nlc3NlZC4KKyAqLworc3RhdGljIHZvaWQKK3N0YXJ0RG9jdW1lbnREZWJ1Zyh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCkKK3sKKyAgICBjYWxsYmFja3MrKzsKKyAgICBpZiAocXVpZXQpCisJcmV0dXJuOworICAgIGZwcmludGYoU0FYZGVidWcsICJTQVguc3RhcnREb2N1bWVudCgpXG4iKTsKK30KKworLyoqCisgKiBlbmREb2N1bWVudERlYnVnOgorICogQGN0eHQ6ICBBbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqCisgKiBjYWxsZWQgd2hlbiB0aGUgZG9jdW1lbnQgZW5kIGhhcyBiZWVuIGRldGVjdGVkLgorICovCitzdGF0aWMgdm9pZAorZW5kRG9jdW1lbnREZWJ1Zyh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCkKK3sKKyAgICBjYWxsYmFja3MrKzsKKyAgICBpZiAocXVpZXQpCisJcmV0dXJuOworICAgIGZwcmludGYoU0FYZGVidWcsICJTQVguZW5kRG9jdW1lbnQoKVxuIik7Cit9CisKKy8qKgorICogc3RhcnRFbGVtZW50RGVidWc6CisgKiBAY3R4dDogIEFuIFhNTCBwYXJzZXIgY29udGV4dAorICogQG5hbWU6ICBUaGUgZWxlbWVudCBuYW1lCisgKgorICogY2FsbGVkIHdoZW4gYW4gb3BlbmluZyB0YWcgaGFzIGJlZW4gcHJvY2Vzc2VkLgorICovCitzdGF0aWMgdm9pZAorc3RhcnRFbGVtZW50RGVidWcodm9pZCAqY3R4IEFUVFJJQlVURV9VTlVTRUQsIGNvbnN0IHhtbENoYXIgKm5hbWUsIGNvbnN0IHhtbENoYXIgKiphdHRzKQoreworICAgIGludCBpOworCisgICAgY2FsbGJhY2tzKys7CisgICAgaWYgKHF1aWV0KQorCXJldHVybjsKKyAgICBmcHJpbnRmKFNBWGRlYnVnLCAiU0FYLnN0YXJ0RWxlbWVudCglcyIsIChjaGFyICopIG5hbWUpOworICAgIGlmIChhdHRzICE9IE5VTEwpIHsKKyAgICAgICAgZm9yIChpID0gMDsoYXR0c1tpXSAhPSBOVUxMKTtpKyspIHsKKwkgICAgZnByaW50ZihTQVhkZWJ1ZywgIiwgJXM9JyIsIGF0dHNbaSsrXSk7CisJICAgIGlmIChhdHRzW2ldICE9IE5VTEwpCisJICAgICAgICBmcHJpbnRmKFNBWGRlYnVnLCAiJXMnIiwgYXR0c1tpXSk7CisJfQorICAgIH0KKyAgICBmcHJpbnRmKFNBWGRlYnVnLCAiKVxuIik7Cit9CisKKy8qKgorICogZW5kRWxlbWVudERlYnVnOgorICogQGN0eHQ6ICBBbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBuYW1lOiAgVGhlIGVsZW1lbnQgbmFtZQorICoKKyAqIGNhbGxlZCB3aGVuIHRoZSBlbmQgb2YgYW4gZWxlbWVudCBoYXMgYmVlbiBkZXRlY3RlZC4KKyAqLworc3RhdGljIHZvaWQKK2VuZEVsZW1lbnREZWJ1Zyh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCwgY29uc3QgeG1sQ2hhciAqbmFtZSkKK3sKKyAgICBjYWxsYmFja3MrKzsKKyAgICBpZiAocXVpZXQpCisJcmV0dXJuOworICAgIGZwcmludGYoU0FYZGVidWcsICJTQVguZW5kRWxlbWVudCglcylcbiIsIChjaGFyICopIG5hbWUpOworfQorCisvKioKKyAqIGNoYXJhY3RlcnNEZWJ1ZzoKKyAqIEBjdHh0OiAgQW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAY2g6ICBhIHhtbENoYXIgc3RyaW5nCisgKiBAbGVuOiB0aGUgbnVtYmVyIG9mIHhtbENoYXIKKyAqCisgKiByZWNlaXZpbmcgc29tZSBjaGFycyBmcm9tIHRoZSBwYXJzZXIuCisgKiBRdWVzdGlvbjogaG93IG11Y2ggYXQgYSB0aW1lID8/PworICovCitzdGF0aWMgdm9pZAorY2hhcmFjdGVyc0RlYnVnKHZvaWQgKmN0eCBBVFRSSUJVVEVfVU5VU0VELCBjb25zdCB4bWxDaGFyICpjaCwgaW50IGxlbikKK3sKKyAgICBjaGFyIG91dHB1dFs0MF07CisgICAgaW50IGk7CisKKyAgICBjYWxsYmFja3MrKzsKKyAgICBpZiAocXVpZXQpCisJcmV0dXJuOworICAgIGZvciAoaSA9IDA7KGk8bGVuKSAmJiAoaSA8IDMwKTtpKyspCisJb3V0cHV0W2ldID0gY2hbaV07CisgICAgb3V0cHV0W2ldID0gMDsKKworICAgIGZwcmludGYoU0FYZGVidWcsICJTQVguY2hhcmFjdGVycyglcywgJWQpXG4iLCBvdXRwdXQsIGxlbik7Cit9CisKKy8qKgorICogcmVmZXJlbmNlRGVidWc6CisgKiBAY3R4dDogIEFuIFhNTCBwYXJzZXIgY29udGV4dAorICogQG5hbWU6ICBUaGUgZW50aXR5IG5hbWUKKyAqCisgKiBjYWxsZWQgd2hlbiBhbiBlbnRpdHkgcmVmZXJlbmNlIGlzIGRldGVjdGVkLgorICovCitzdGF0aWMgdm9pZAorcmVmZXJlbmNlRGVidWcodm9pZCAqY3R4IEFUVFJJQlVURV9VTlVTRUQsIGNvbnN0IHhtbENoYXIgKm5hbWUpCit7CisgICAgY2FsbGJhY2tzKys7CisgICAgaWYgKHF1aWV0KQorCXJldHVybjsKKyAgICBmcHJpbnRmKFNBWGRlYnVnLCAiU0FYLnJlZmVyZW5jZSglcylcbiIsIG5hbWUpOworfQorCisvKioKKyAqIGlnbm9yYWJsZVdoaXRlc3BhY2VEZWJ1ZzoKKyAqIEBjdHh0OiAgQW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAY2g6ICBhIHhtbENoYXIgc3RyaW5nCisgKiBAc3RhcnQ6IHRoZSBmaXJzdCBjaGFyIGluIHRoZSBzdHJpbmcKKyAqIEBsZW46IHRoZSBudW1iZXIgb2YgeG1sQ2hhcgorICoKKyAqIHJlY2VpdmluZyBzb21lIGlnbm9yYWJsZSB3aGl0ZXNwYWNlcyBmcm9tIHRoZSBwYXJzZXIuCisgKiBRdWVzdGlvbjogaG93IG11Y2ggYXQgYSB0aW1lID8/PworICovCitzdGF0aWMgdm9pZAoraWdub3JhYmxlV2hpdGVzcGFjZURlYnVnKHZvaWQgKmN0eCBBVFRSSUJVVEVfVU5VU0VELCBjb25zdCB4bWxDaGFyICpjaCwgaW50IGxlbikKK3sKKyAgICBjaGFyIG91dHB1dFs0MF07CisgICAgaW50IGk7CisKKyAgICBjYWxsYmFja3MrKzsKKyAgICBpZiAocXVpZXQpCisJcmV0dXJuOworICAgIGZvciAoaSA9IDA7KGk8bGVuKSAmJiAoaSA8IDMwKTtpKyspCisJb3V0cHV0W2ldID0gY2hbaV07CisgICAgb3V0cHV0W2ldID0gMDsKKyAgICBmcHJpbnRmKFNBWGRlYnVnLCAiU0FYLmlnbm9yYWJsZVdoaXRlc3BhY2UoJXMsICVkKVxuIiwgb3V0cHV0LCBsZW4pOworfQorCisvKioKKyAqIHByb2Nlc3NpbmdJbnN0cnVjdGlvbkRlYnVnOgorICogQGN0eHQ6ICBBbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEB0YXJnZXQ6ICB0aGUgdGFyZ2V0IG5hbWUKKyAqIEBkYXRhOiB0aGUgUEkgZGF0YSdzCisgKiBAbGVuOiB0aGUgbnVtYmVyIG9mIHhtbENoYXIKKyAqCisgKiBBIHByb2Nlc3NpbmcgaW5zdHJ1Y3Rpb24gaGFzIGJlZW4gcGFyc2VkLgorICovCitzdGF0aWMgdm9pZAorcHJvY2Vzc2luZ0luc3RydWN0aW9uRGVidWcodm9pZCAqY3R4IEFUVFJJQlVURV9VTlVTRUQsIGNvbnN0IHhtbENoYXIgKnRhcmdldCwKKyAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICpkYXRhKQoreworICAgIGNhbGxiYWNrcysrOworICAgIGlmIChxdWlldCkKKwlyZXR1cm47CisgICAgaWYgKGRhdGEgIT0gTlVMTCkKKwlmcHJpbnRmKFNBWGRlYnVnLCAiU0FYLnByb2Nlc3NpbmdJbnN0cnVjdGlvbiglcywgJXMpXG4iLAorCQkoY2hhciAqKSB0YXJnZXQsIChjaGFyICopIGRhdGEpOworICAgIGVsc2UKKwlmcHJpbnRmKFNBWGRlYnVnLCAiU0FYLnByb2Nlc3NpbmdJbnN0cnVjdGlvbiglcywgTlVMTClcbiIsCisJCShjaGFyICopIHRhcmdldCk7Cit9CisKKy8qKgorICogY2RhdGFCbG9ja0RlYnVnOgorICogQGN0eDogdGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KQorICogQHZhbHVlOiAgVGhlIHBjZGF0YSBjb250ZW50CisgKiBAbGVuOiAgdGhlIGJsb2NrIGxlbmd0aAorICoKKyAqIGNhbGxlZCB3aGVuIGEgcGNkYXRhIGJsb2NrIGhhcyBiZWVuIHBhcnNlZAorICovCitzdGF0aWMgdm9pZAorY2RhdGFCbG9ja0RlYnVnKHZvaWQgKmN0eCBBVFRSSUJVVEVfVU5VU0VELCBjb25zdCB4bWxDaGFyICp2YWx1ZSwgaW50IGxlbikKK3sKKyAgICBjYWxsYmFja3MrKzsKKyAgICBpZiAocXVpZXQpCisJcmV0dXJuOworICAgIGZwcmludGYoU0FYZGVidWcsICJTQVgucGNkYXRhKCUuMjBzLCAlZClcbiIsCisJICAgIChjaGFyICopIHZhbHVlLCBsZW4pOworfQorCisvKioKKyAqIGNvbW1lbnREZWJ1ZzoKKyAqIEBjdHh0OiAgQW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAdmFsdWU6ICB0aGUgY29tbWVudCBjb250ZW50CisgKgorICogQSBjb21tZW50IGhhcyBiZWVuIHBhcnNlZC4KKyAqLworc3RhdGljIHZvaWQKK2NvbW1lbnREZWJ1Zyh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCwgY29uc3QgeG1sQ2hhciAqdmFsdWUpCit7CisgICAgY2FsbGJhY2tzKys7CisgICAgaWYgKHF1aWV0KQorCXJldHVybjsKKyAgICBmcHJpbnRmKFNBWGRlYnVnLCAiU0FYLmNvbW1lbnQoJXMpXG4iLCB2YWx1ZSk7Cit9CisKKy8qKgorICogd2FybmluZ0RlYnVnOgorICogQGN0eHQ6ICBBbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBtc2c6ICB0aGUgbWVzc2FnZSB0byBkaXNwbGF5L3RyYW5zbWl0CisgKiBALi4uOiAgZXh0cmEgcGFyYW1ldGVycyBmb3IgdGhlIG1lc3NhZ2UgZGlzcGxheQorICoKKyAqIERpc3BsYXkgYW5kIGZvcm1hdCBhIHdhcm5pbmcgbWVzc2FnZXMsIGdpdmVzIGZpbGUsIGxpbmUsIHBvc2l0aW9uIGFuZAorICogZXh0cmEgcGFyYW1ldGVycy4KKyAqLworc3RhdGljIHZvaWQgWE1MQ0RFQ0wKK3dhcm5pbmdEZWJ1Zyh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCwgY29uc3QgY2hhciAqbXNnLCAuLi4pCit7CisgICAgdmFfbGlzdCBhcmdzOworCisgICAgY2FsbGJhY2tzKys7CisgICAgaWYgKHF1aWV0KQorCXJldHVybjsKKyAgICB2YV9zdGFydChhcmdzLCBtc2cpOworICAgIGZwcmludGYoU0FYZGVidWcsICJTQVgud2FybmluZzogIik7CisgICAgdmZwcmludGYoU0FYZGVidWcsIG1zZywgYXJncyk7CisgICAgdmFfZW5kKGFyZ3MpOworfQorCisvKioKKyAqIGVycm9yRGVidWc6CisgKiBAY3R4dDogIEFuIFhNTCBwYXJzZXIgY29udGV4dAorICogQG1zZzogIHRoZSBtZXNzYWdlIHRvIGRpc3BsYXkvdHJhbnNtaXQKKyAqIEAuLi46ICBleHRyYSBwYXJhbWV0ZXJzIGZvciB0aGUgbWVzc2FnZSBkaXNwbGF5CisgKgorICogRGlzcGxheSBhbmQgZm9ybWF0IGEgZXJyb3IgbWVzc2FnZXMsIGdpdmVzIGZpbGUsIGxpbmUsIHBvc2l0aW9uIGFuZAorICogZXh0cmEgcGFyYW1ldGVycy4KKyAqLworc3RhdGljIHZvaWQgWE1MQ0RFQ0wKK2Vycm9yRGVidWcodm9pZCAqY3R4IEFUVFJJQlVURV9VTlVTRUQsIGNvbnN0IGNoYXIgKm1zZywgLi4uKQoreworICAgIHZhX2xpc3QgYXJnczsKKworICAgIGNhbGxiYWNrcysrOworICAgIGlmIChxdWlldCkKKwlyZXR1cm47CisgICAgdmFfc3RhcnQoYXJncywgbXNnKTsKKyAgICBmcHJpbnRmKFNBWGRlYnVnLCAiU0FYLmVycm9yOiAiKTsKKyAgICB2ZnByaW50ZihTQVhkZWJ1ZywgbXNnLCBhcmdzKTsKKyAgICB2YV9lbmQoYXJncyk7Cit9CisKKy8qKgorICogZmF0YWxFcnJvckRlYnVnOgorICogQGN0eHQ6ICBBbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBtc2c6ICB0aGUgbWVzc2FnZSB0byBkaXNwbGF5L3RyYW5zbWl0CisgKiBALi4uOiAgZXh0cmEgcGFyYW1ldGVycyBmb3IgdGhlIG1lc3NhZ2UgZGlzcGxheQorICoKKyAqIERpc3BsYXkgYW5kIGZvcm1hdCBhIGZhdGFsRXJyb3IgbWVzc2FnZXMsIGdpdmVzIGZpbGUsIGxpbmUsIHBvc2l0aW9uIGFuZAorICogZXh0cmEgcGFyYW1ldGVycy4KKyAqLworc3RhdGljIHZvaWQgWE1MQ0RFQ0wKK2ZhdGFsRXJyb3JEZWJ1Zyh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCwgY29uc3QgY2hhciAqbXNnLCAuLi4pCit7CisgICAgdmFfbGlzdCBhcmdzOworCisgICAgY2FsbGJhY2tzKys7CisgICAgaWYgKHF1aWV0KQorCXJldHVybjsKKyAgICB2YV9zdGFydChhcmdzLCBtc2cpOworICAgIGZwcmludGYoU0FYZGVidWcsICJTQVguZmF0YWxFcnJvcjogIik7CisgICAgdmZwcmludGYoU0FYZGVidWcsIG1zZywgYXJncyk7CisgICAgdmFfZW5kKGFyZ3MpOworfQorCitzdGF0aWMgeG1sU0FYSGFuZGxlciBkZWJ1Z1NBWEhhbmRsZXJTdHJ1Y3QgPSB7CisgICAgaW50ZXJuYWxTdWJzZXREZWJ1ZywKKyAgICBpc1N0YW5kYWxvbmVEZWJ1ZywKKyAgICBoYXNJbnRlcm5hbFN1YnNldERlYnVnLAorICAgIGhhc0V4dGVybmFsU3Vic2V0RGVidWcsCisgICAgcmVzb2x2ZUVudGl0eURlYnVnLAorICAgIGdldEVudGl0eURlYnVnLAorICAgIGVudGl0eURlY2xEZWJ1ZywKKyAgICBub3RhdGlvbkRlY2xEZWJ1ZywKKyAgICBhdHRyaWJ1dGVEZWNsRGVidWcsCisgICAgZWxlbWVudERlY2xEZWJ1ZywKKyAgICB1bnBhcnNlZEVudGl0eURlY2xEZWJ1ZywKKyAgICBzZXREb2N1bWVudExvY2F0b3JEZWJ1ZywKKyAgICBzdGFydERvY3VtZW50RGVidWcsCisgICAgZW5kRG9jdW1lbnREZWJ1ZywKKyAgICBzdGFydEVsZW1lbnREZWJ1ZywKKyAgICBlbmRFbGVtZW50RGVidWcsCisgICAgcmVmZXJlbmNlRGVidWcsCisgICAgY2hhcmFjdGVyc0RlYnVnLAorICAgIGlnbm9yYWJsZVdoaXRlc3BhY2VEZWJ1ZywKKyAgICBwcm9jZXNzaW5nSW5zdHJ1Y3Rpb25EZWJ1ZywKKyAgICBjb21tZW50RGVidWcsCisgICAgd2FybmluZ0RlYnVnLAorICAgIGVycm9yRGVidWcsCisgICAgZmF0YWxFcnJvckRlYnVnLAorICAgIGdldFBhcmFtZXRlckVudGl0eURlYnVnLAorICAgIGNkYXRhQmxvY2tEZWJ1ZywKKyAgICBleHRlcm5hbFN1YnNldERlYnVnLAorICAgIDEsCisgICAgTlVMTCwKKyAgICBOVUxMLAorICAgIE5VTEwsCisgICAgTlVMTAorfTsKKworc3RhdGljIHhtbFNBWEhhbmRsZXJQdHIgZGVidWdTQVhIYW5kbGVyID0gJmRlYnVnU0FYSGFuZGxlclN0cnVjdDsKKworLyoKKyAqIFNBWDIgc3BlY2lmaWMgY2FsbGJhY2tzCisgKi8KKy8qKgorICogc3RhcnRFbGVtZW50TnNEZWJ1ZzoKKyAqIEBjdHh0OiAgQW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAbmFtZTogIFRoZSBlbGVtZW50IG5hbWUKKyAqCisgKiBjYWxsZWQgd2hlbiBhbiBvcGVuaW5nIHRhZyBoYXMgYmVlbiBwcm9jZXNzZWQuCisgKi8KK3N0YXRpYyB2b2lkCitzdGFydEVsZW1lbnROc0RlYnVnKHZvaWQgKmN0eCBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICpsb2NhbG5hbWUsCisgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKnByZWZpeCwKKyAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqVVJJLAorCQkgICAgaW50IG5iX25hbWVzcGFjZXMsCisJCSAgICBjb25zdCB4bWxDaGFyICoqbmFtZXNwYWNlcywKKwkJICAgIGludCBuYl9hdHRyaWJ1dGVzLAorCQkgICAgaW50IG5iX2RlZmF1bHRlZCwKKwkJICAgIGNvbnN0IHhtbENoYXIgKiphdHRyaWJ1dGVzKQoreworICAgIGludCBpOworCisgICAgY2FsbGJhY2tzKys7CisgICAgaWYgKHF1aWV0KQorCXJldHVybjsKKyAgICBmcHJpbnRmKFNBWGRlYnVnLCAiU0FYLnN0YXJ0RWxlbWVudE5zKCVzIiwgKGNoYXIgKikgbG9jYWxuYW1lKTsKKyAgICBpZiAocHJlZml4ID09IE5VTEwpCisJZnByaW50ZihTQVhkZWJ1ZywgIiwgTlVMTCIpOworICAgIGVsc2UKKwlmcHJpbnRmKFNBWGRlYnVnLCAiLCAlcyIsIChjaGFyICopIHByZWZpeCk7CisgICAgaWYgKFVSSSA9PSBOVUxMKQorCWZwcmludGYoU0FYZGVidWcsICIsIE5VTEwiKTsKKyAgICBlbHNlCisJZnByaW50ZihTQVhkZWJ1ZywgIiwgJyVzJyIsIChjaGFyICopIFVSSSk7CisgICAgZnByaW50ZihTQVhkZWJ1ZywgIiwgJWQiLCBuYl9uYW1lc3BhY2VzKTsKKworICAgIGlmIChuYW1lc3BhY2VzICE9IE5VTEwpIHsKKyAgICAgICAgZm9yIChpID0gMDtpIDwgbmJfbmFtZXNwYWNlcyAqIDI7aSsrKSB7CisJICAgIGZwcmludGYoU0FYZGVidWcsICIsIHhtbG5zIik7CisJICAgIGlmIChuYW1lc3BhY2VzW2ldICE9IE5VTEwpCisJICAgICAgICBmcHJpbnRmKFNBWGRlYnVnLCAiOiVzIiwgbmFtZXNwYWNlc1tpXSk7CisJICAgIGkrKzsKKwkgICAgZnByaW50ZihTQVhkZWJ1ZywgIj0nJXMnIiwgbmFtZXNwYWNlc1tpXSk7CisJfQorICAgIH0KKyAgICBmcHJpbnRmKFNBWGRlYnVnLCAiLCAlZCwgJWQiLCBuYl9hdHRyaWJ1dGVzLCBuYl9kZWZhdWx0ZWQpOworICAgIGlmIChhdHRyaWJ1dGVzICE9IE5VTEwpIHsKKyAgICAgICAgZm9yIChpID0gMDtpIDwgbmJfYXR0cmlidXRlcyAqIDU7aSArPSA1KSB7CisJICAgIGlmIChhdHRyaWJ1dGVzW2kgKyAxXSAhPSBOVUxMKQorCQlmcHJpbnRmKFNBWGRlYnVnLCAiLCAlczolcz0nIiwgYXR0cmlidXRlc1tpICsgMV0sIGF0dHJpYnV0ZXNbaV0pOworCSAgICBlbHNlCisJCWZwcmludGYoU0FYZGVidWcsICIsICVzPSciLCBhdHRyaWJ1dGVzW2ldKTsKKwkgICAgZnByaW50ZihTQVhkZWJ1ZywgIiUuNHMuLi4nLCAlZCIsIGF0dHJpYnV0ZXNbaSArIDNdLAorCQkgICAgKGludCkoYXR0cmlidXRlc1tpICsgNF0gLSBhdHRyaWJ1dGVzW2kgKyAzXSkpOworCX0KKyAgICB9CisgICAgZnByaW50ZihTQVhkZWJ1ZywgIilcbiIpOworfQorCisvKioKKyAqIGVuZEVsZW1lbnREZWJ1ZzoKKyAqIEBjdHh0OiAgQW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAbmFtZTogIFRoZSBlbGVtZW50IG5hbWUKKyAqCisgKiBjYWxsZWQgd2hlbiB0aGUgZW5kIG9mIGFuIGVsZW1lbnQgaGFzIGJlZW4gZGV0ZWN0ZWQuCisgKi8KK3N0YXRpYyB2b2lkCitlbmRFbGVtZW50TnNEZWJ1Zyh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCwKKyAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKmxvY2FsbmFtZSwKKyAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKnByZWZpeCwKKyAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKlVSSSkKK3sKKyAgICBjYWxsYmFja3MrKzsKKyAgICBpZiAocXVpZXQpCisJcmV0dXJuOworICAgIGZwcmludGYoU0FYZGVidWcsICJTQVguZW5kRWxlbWVudE5zKCVzIiwgKGNoYXIgKikgbG9jYWxuYW1lKTsKKyAgICBpZiAocHJlZml4ID09IE5VTEwpCisJZnByaW50ZihTQVhkZWJ1ZywgIiwgTlVMTCIpOworICAgIGVsc2UKKwlmcHJpbnRmKFNBWGRlYnVnLCAiLCAlcyIsIChjaGFyICopIHByZWZpeCk7CisgICAgaWYgKFVSSSA9PSBOVUxMKQorCWZwcmludGYoU0FYZGVidWcsICIsIE5VTEwpXG4iKTsKKyAgICBlbHNlCisJZnByaW50ZihTQVhkZWJ1ZywgIiwgJyVzJylcbiIsIChjaGFyICopIFVSSSk7Cit9CisKK3N0YXRpYyB4bWxTQVhIYW5kbGVyIGRlYnVnU0FYMkhhbmRsZXJTdHJ1Y3QgPSB7CisgICAgaW50ZXJuYWxTdWJzZXREZWJ1ZywKKyAgICBpc1N0YW5kYWxvbmVEZWJ1ZywKKyAgICBoYXNJbnRlcm5hbFN1YnNldERlYnVnLAorICAgIGhhc0V4dGVybmFsU3Vic2V0RGVidWcsCisgICAgcmVzb2x2ZUVudGl0eURlYnVnLAorICAgIGdldEVudGl0eURlYnVnLAorICAgIGVudGl0eURlY2xEZWJ1ZywKKyAgICBub3RhdGlvbkRlY2xEZWJ1ZywKKyAgICBhdHRyaWJ1dGVEZWNsRGVidWcsCisgICAgZWxlbWVudERlY2xEZWJ1ZywKKyAgICB1bnBhcnNlZEVudGl0eURlY2xEZWJ1ZywKKyAgICBzZXREb2N1bWVudExvY2F0b3JEZWJ1ZywKKyAgICBzdGFydERvY3VtZW50RGVidWcsCisgICAgZW5kRG9jdW1lbnREZWJ1ZywKKyAgICBOVUxMLAorICAgIE5VTEwsCisgICAgcmVmZXJlbmNlRGVidWcsCisgICAgY2hhcmFjdGVyc0RlYnVnLAorICAgIGlnbm9yYWJsZVdoaXRlc3BhY2VEZWJ1ZywKKyAgICBwcm9jZXNzaW5nSW5zdHJ1Y3Rpb25EZWJ1ZywKKyAgICBjb21tZW50RGVidWcsCisgICAgd2FybmluZ0RlYnVnLAorICAgIGVycm9yRGVidWcsCisgICAgZmF0YWxFcnJvckRlYnVnLAorICAgIGdldFBhcmFtZXRlckVudGl0eURlYnVnLAorICAgIGNkYXRhQmxvY2tEZWJ1ZywKKyAgICBleHRlcm5hbFN1YnNldERlYnVnLAorICAgIFhNTF9TQVgyX01BR0lDLAorICAgIE5VTEwsCisgICAgc3RhcnRFbGVtZW50TnNEZWJ1ZywKKyAgICBlbmRFbGVtZW50TnNEZWJ1ZywKKyAgICBOVUxMCit9OworCitzdGF0aWMgeG1sU0FYSGFuZGxlclB0ciBkZWJ1Z1NBWDJIYW5kbGVyID0gJmRlYnVnU0FYMkhhbmRsZXJTdHJ1Y3Q7CisKKyNpZmRlZiBMSUJYTUxfSFRNTF9FTkFCTEVECisvKioKKyAqIGh0bWxzdGFydEVsZW1lbnREZWJ1ZzoKKyAqIEBjdHh0OiAgQW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAbmFtZTogIFRoZSBlbGVtZW50IG5hbWUKKyAqCisgKiBjYWxsZWQgd2hlbiBhbiBvcGVuaW5nIHRhZyBoYXMgYmVlbiBwcm9jZXNzZWQuCisgKi8KK3N0YXRpYyB2b2lkCitodG1sc3RhcnRFbGVtZW50RGVidWcodm9pZCAqY3R4IEFUVFJJQlVURV9VTlVTRUQsIGNvbnN0IHhtbENoYXIgKm5hbWUsIGNvbnN0IHhtbENoYXIgKiphdHRzKQoreworICAgIGludCBpOworCisgICAgZnByaW50ZihTQVhkZWJ1ZywgIlNBWC5zdGFydEVsZW1lbnQoJXMiLCAoY2hhciAqKSBuYW1lKTsKKyAgICBpZiAoYXR0cyAhPSBOVUxMKSB7CisgICAgICAgIGZvciAoaSA9IDA7KGF0dHNbaV0gIT0gTlVMTCk7aSsrKSB7CisJICAgIGZwcmludGYoU0FYZGVidWcsICIsICVzIiwgYXR0c1tpKytdKTsKKwkgICAgaWYgKGF0dHNbaV0gIT0gTlVMTCkgeworCQl1bnNpZ25lZCBjaGFyIG91dHB1dFs0MF07CisJCWNvbnN0IHVuc2lnbmVkIGNoYXIgKmF0dCA9IGF0dHNbaV07CisJCWludCBvdXRsZW4sIGF0dGxlbjsKKwkgICAgICAgIGZwcmludGYoU0FYZGVidWcsICI9JyIpOworCQl3aGlsZSAoKGF0dGxlbiA9IHN0cmxlbigoY2hhciopYXR0KSkgPiAwKSB7CisJCSAgICBvdXRsZW4gPSBzaXplb2Ygb3V0cHV0IC0gMTsKKwkJICAgIGh0bWxFbmNvZGVFbnRpdGllcyhvdXRwdXQsICZvdXRsZW4sIGF0dCwgJmF0dGxlbiwgJ1wnJyk7CisJCSAgICBvdXRwdXRbb3V0bGVuXSA9IDA7CisJCSAgICBmcHJpbnRmKFNBWGRlYnVnLCAiJXMiLCAoY2hhciAqKSBvdXRwdXQpOworCQkgICAgYXR0ICs9IGF0dGxlbjsKKwkJfQorCQlmcHJpbnRmKFNBWGRlYnVnLCAiJyIpOworCSAgICB9CisJfQorICAgIH0KKyAgICBmcHJpbnRmKFNBWGRlYnVnLCAiKVxuIik7Cit9CisKKy8qKgorICogaHRtbGNoYXJhY3RlcnNEZWJ1ZzoKKyAqIEBjdHh0OiAgQW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAY2g6ICBhIHhtbENoYXIgc3RyaW5nCisgKiBAbGVuOiB0aGUgbnVtYmVyIG9mIHhtbENoYXIKKyAqCisgKiByZWNlaXZpbmcgc29tZSBjaGFycyBmcm9tIHRoZSBwYXJzZXIuCisgKiBRdWVzdGlvbjogaG93IG11Y2ggYXQgYSB0aW1lID8/PworICovCitzdGF0aWMgdm9pZAoraHRtbGNoYXJhY3RlcnNEZWJ1Zyh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCwgY29uc3QgeG1sQ2hhciAqY2gsIGludCBsZW4pCit7CisgICAgdW5zaWduZWQgY2hhciBvdXRwdXRbNDBdOworICAgIGludCBpbmxlbiA9IGxlbiwgb3V0bGVuID0gMzA7CisKKyAgICBodG1sRW5jb2RlRW50aXRpZXMob3V0cHV0LCAmb3V0bGVuLCBjaCwgJmlubGVuLCAwKTsKKyAgICBvdXRwdXRbb3V0bGVuXSA9IDA7CisKKyAgICBmcHJpbnRmKFNBWGRlYnVnLCAiU0FYLmNoYXJhY3RlcnMoJXMsICVkKVxuIiwgb3V0cHV0LCBsZW4pOworfQorCisvKioKKyAqIGh0bWxjZGF0YURlYnVnOgorICogQGN0eHQ6ICBBbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBjaDogIGEgeG1sQ2hhciBzdHJpbmcKKyAqIEBsZW46IHRoZSBudW1iZXIgb2YgeG1sQ2hhcgorICoKKyAqIHJlY2VpdmluZyBzb21lIGNkYXRhIGNoYXJzIGZyb20gdGhlIHBhcnNlci4KKyAqIFF1ZXN0aW9uOiBob3cgbXVjaCBhdCBhIHRpbWUgPz8/CisgKi8KK3N0YXRpYyB2b2lkCitodG1sY2RhdGFEZWJ1Zyh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCwgY29uc3QgeG1sQ2hhciAqY2gsIGludCBsZW4pCit7CisgICAgdW5zaWduZWQgY2hhciBvdXRwdXRbNDBdOworICAgIGludCBpbmxlbiA9IGxlbiwgb3V0bGVuID0gMzA7CisKKyAgICBodG1sRW5jb2RlRW50aXRpZXMob3V0cHV0LCAmb3V0bGVuLCBjaCwgJmlubGVuLCAwKTsKKyAgICBvdXRwdXRbb3V0bGVuXSA9IDA7CisKKyAgICBmcHJpbnRmKFNBWGRlYnVnLCAiU0FYLmNkYXRhKCVzLCAlZClcbiIsIG91dHB1dCwgbGVuKTsKK30KKworc3RhdGljIHhtbFNBWEhhbmRsZXIgZGVidWdIVE1MU0FYSGFuZGxlclN0cnVjdCA9IHsKKyAgICBpbnRlcm5hbFN1YnNldERlYnVnLAorICAgIGlzU3RhbmRhbG9uZURlYnVnLAorICAgIGhhc0ludGVybmFsU3Vic2V0RGVidWcsCisgICAgaGFzRXh0ZXJuYWxTdWJzZXREZWJ1ZywKKyAgICByZXNvbHZlRW50aXR5RGVidWcsCisgICAgZ2V0RW50aXR5RGVidWcsCisgICAgZW50aXR5RGVjbERlYnVnLAorICAgIG5vdGF0aW9uRGVjbERlYnVnLAorICAgIGF0dHJpYnV0ZURlY2xEZWJ1ZywKKyAgICBlbGVtZW50RGVjbERlYnVnLAorICAgIHVucGFyc2VkRW50aXR5RGVjbERlYnVnLAorICAgIHNldERvY3VtZW50TG9jYXRvckRlYnVnLAorICAgIHN0YXJ0RG9jdW1lbnREZWJ1ZywKKyAgICBlbmREb2N1bWVudERlYnVnLAorICAgIGh0bWxzdGFydEVsZW1lbnREZWJ1ZywKKyAgICBlbmRFbGVtZW50RGVidWcsCisgICAgcmVmZXJlbmNlRGVidWcsCisgICAgaHRtbGNoYXJhY3RlcnNEZWJ1ZywKKyAgICBpZ25vcmFibGVXaGl0ZXNwYWNlRGVidWcsCisgICAgcHJvY2Vzc2luZ0luc3RydWN0aW9uRGVidWcsCisgICAgY29tbWVudERlYnVnLAorICAgIHdhcm5pbmdEZWJ1ZywKKyAgICBlcnJvckRlYnVnLAorICAgIGZhdGFsRXJyb3JEZWJ1ZywKKyAgICBnZXRQYXJhbWV0ZXJFbnRpdHlEZWJ1ZywKKyAgICBodG1sY2RhdGFEZWJ1ZywKKyAgICBleHRlcm5hbFN1YnNldERlYnVnLAorICAgIDEsCisgICAgTlVMTCwKKyAgICBOVUxMLAorICAgIE5VTEwsCisgICAgTlVMTAorfTsKKworc3RhdGljIHhtbFNBWEhhbmRsZXJQdHIgZGVidWdIVE1MU0FYSGFuZGxlciA9ICZkZWJ1Z0hUTUxTQVhIYW5kbGVyU3RydWN0OworI2VuZGlmIC8qIExJQlhNTF9IVE1MX0VOQUJMRUQgKi8KKworI2lmZGVmIExJQlhNTF9TQVgxX0VOQUJMRUQKKy8qKgorICogc2F4UGFyc2VUZXN0OgorICogQGZpbGVuYW1lOiB0aGUgZmlsZSB0byBwYXJzZQorICogQHJlc3VsdDogdGhlIGZpbGUgd2l0aCBleHBlY3RlZCByZXN1bHQKKyAqIEBlcnI6IHRoZSBmaWxlIHdpdGggZXJyb3IgbWVzc2FnZXMKKyAqCisgKiBQYXJzZSBhIGZpbGUgdXNpbmcgdGhlIFNBWCBBUEkgYW5kIGNoZWNrIGZvciBlcnJvcnMuCisgKgorICogUmV0dXJucyAwIGluIGNhc2Ugb2Ygc3VjY2VzcywgYW4gZXJyb3IgY29kZSBvdGhlcndpc2UKKyAqLworc3RhdGljIGludAorc2F4UGFyc2VUZXN0KGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBjb25zdCBjaGFyICpyZXN1bHQsCisgICAgICAgICAgICAgY29uc3QgY2hhciAqZXJyIEFUVFJJQlVURV9VTlVTRUQsCisgICAgICAgICAgICAgaW50IG9wdGlvbnMpIHsKKyAgICBpbnQgcmV0OworICAgIGNoYXIgKnRlbXA7CisKKyAgICBuYl90ZXN0cysrOworICAgIHRlbXAgPSByZXN1bHRGaWxlbmFtZShmaWxlbmFtZSwgIiIsICIucmVzIik7CisgICAgaWYgKHRlbXAgPT0gTlVMTCkgeworICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIm91dCBvZiBtZW1vcnlcbiIpOworICAgICAgICBmYXRhbEVycm9yKCk7CisgICAgfQorICAgIFNBWGRlYnVnID0gZm9wZW4odGVtcCwgIndiIik7CisgICAgaWYgKFNBWGRlYnVnID09IE5VTEwpIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJGYWlsZWQgdG8gd3JpdGUgdG8gJXNcbiIsIHRlbXApOworCWZyZWUodGVtcCk7CisJcmV0dXJuKC0xKTsKKyAgICB9CisKKyAgICAvKiBmb3IgU0FYIHdlIHJlYWxseSB3YW50IHRoZSBjYWxsYmFja3MgdGhvdWdoIHRoZSBjb250ZXh0IGhhbmRsZXJzICovCisgICAgeG1sU2V0U3RydWN0dXJlZEVycm9yRnVuYyhOVUxMLCBOVUxMKTsKKyAgICB4bWxTZXRHZW5lcmljRXJyb3JGdW5jKE5VTEwsIHRlc3RFcnJvckhhbmRsZXIpOworCisjaWZkZWYgTElCWE1MX0hUTUxfRU5BQkxFRAorICAgIGlmIChvcHRpb25zICYgWE1MX1BBUlNFX0hUTUwpIHsKKwlodG1sU0FYUGFyc2VGaWxlKGZpbGVuYW1lLCBOVUxMLCBlbXB0eVNBWEhhbmRsZXIsIE5VTEwpOworCXJldCA9IDA7CisgICAgfSBlbHNlCisjZW5kaWYKKyAgICByZXQgPSB4bWxTQVhVc2VyUGFyc2VGaWxlKGVtcHR5U0FYSGFuZGxlciwgTlVMTCwgZmlsZW5hbWUpOworICAgIGlmIChyZXQgPT0gWE1MX1dBUl9VTkRFQ0xBUkVEX0VOVElUWSkgeworICAgICAgICBmcHJpbnRmKFNBWGRlYnVnLCAieG1sU0FYVXNlclBhcnNlRmlsZSByZXR1cm5lZCBlcnJvciAlZFxuIiwgcmV0KTsKKyAgICAgICAgcmV0ID0gMDsKKyAgICB9CisgICAgaWYgKHJldCAhPSAwKSB7CisgICAgICAgIGZwcmludGYoc3RkZXJyLCAiRmFpbGVkIHRvIHBhcnNlICVzXG4iLCBmaWxlbmFtZSk7CisJcmV0ID0gMTsKKwlnb3RvIGRvbmU7CisgICAgfQorI2lmZGVmIExJQlhNTF9IVE1MX0VOQUJMRUQKKyAgICBpZiAob3B0aW9ucyAmIFhNTF9QQVJTRV9IVE1MKSB7CisJaHRtbFNBWFBhcnNlRmlsZShmaWxlbmFtZSwgTlVMTCwgZGVidWdIVE1MU0FYSGFuZGxlciwgTlVMTCk7CisJcmV0ID0gMDsKKyAgICB9IGVsc2UKKyNlbmRpZgorICAgIGlmIChvcHRpb25zICYgWE1MX1BBUlNFX1NBWDEpIHsKKwlyZXQgPSB4bWxTQVhVc2VyUGFyc2VGaWxlKGRlYnVnU0FYSGFuZGxlciwgTlVMTCwgZmlsZW5hbWUpOworICAgIH0gZWxzZSB7CisJcmV0ID0geG1sU0FYVXNlclBhcnNlRmlsZShkZWJ1Z1NBWDJIYW5kbGVyLCBOVUxMLCBmaWxlbmFtZSk7CisgICAgfQorICAgIGlmIChyZXQgPT0gWE1MX1dBUl9VTkRFQ0xBUkVEX0VOVElUWSkgeworICAgICAgICBmcHJpbnRmKFNBWGRlYnVnLCAieG1sU0FYVXNlclBhcnNlRmlsZSByZXR1cm5lZCBlcnJvciAlZFxuIiwgcmV0KTsKKyAgICAgICAgcmV0ID0gMDsKKyAgICB9CisgICAgZmNsb3NlKFNBWGRlYnVnKTsKKyAgICBpZiAoY29tcGFyZUZpbGVzKHRlbXAsIHJlc3VsdCkpIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJHb3QgYSBkaWZmZXJlbmNlIGZvciAlc1xuIiwgZmlsZW5hbWUpOworICAgICAgICByZXQgPSAxOworICAgIH0KKworZG9uZToKKyAgICBpZiAodGVtcCAhPSBOVUxMKSB7CisgICAgICAgIHVubGluayh0ZW1wKTsKKyAgICAgICAgZnJlZSh0ZW1wKTsKKyAgICB9CisKKyAgICAvKiBzd2l0Y2ggYmFjayB0byBzdHJ1Y3R1cmVkIGVycm9yIGhhbmRsaW5nICovCisgICAgeG1sU2V0R2VuZXJpY0Vycm9yRnVuYyhOVUxMLCBOVUxMKTsKKyAgICB4bWxTZXRTdHJ1Y3R1cmVkRXJyb3JGdW5jKE5VTEwsIHRlc3RTdHJ1Y3R1cmVkRXJyb3JIYW5kbGVyKTsKKworICAgIHJldHVybihyZXQpOworfQorI2VuZGlmCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCVBhcnNlIHRvIHRyZWUgYmFzZWQgdGVzdHMJCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyoqCisgKiBvbGRQYXJzZVRlc3Q6CisgKiBAZmlsZW5hbWU6IHRoZSBmaWxlIHRvIHBhcnNlCisgKiBAcmVzdWx0OiB0aGUgZmlsZSB3aXRoIGV4cGVjdGVkIHJlc3VsdAorICogQGVycjogdGhlIGZpbGUgd2l0aCBlcnJvciBtZXNzYWdlczogdW51c2VkCisgKgorICogUGFyc2UgYSBmaWxlIHVzaW5nIHRoZSBvbGQgeG1sUGFyc2VGaWxlIEFQSSwgdGhlbiBzZXJpYWxpemUgYmFjaworICogcmVwYXJzZSB0aGUgcmVzdWx0IGFuZCBzZXJpYWxpemUgYWdhaW4sIHRoZW4gY2hlY2sgZm9yIGRldmlhdGlvbgorICogaW4gc2VyaWFsaXphdGlvbi4KKyAqCisgKiBSZXR1cm5zIDAgaW4gY2FzZSBvZiBzdWNjZXNzLCBhbiBlcnJvciBjb2RlIG90aGVyd2lzZQorICovCitzdGF0aWMgaW50CitvbGRQYXJzZVRlc3QoY29uc3QgY2hhciAqZmlsZW5hbWUsIGNvbnN0IGNoYXIgKnJlc3VsdCwKKyAgICAgICAgICAgICBjb25zdCBjaGFyICplcnIgQVRUUklCVVRFX1VOVVNFRCwKKwkgICAgIGludCBvcHRpb25zIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICB4bWxEb2NQdHIgZG9jOworICAgIGNoYXIgKnRlbXA7CisgICAgaW50IHJlcyA9IDA7CisKKyAgICBuYl90ZXN0cysrOworICAgIC8qCisgICAgICogYmFzZSBvZiB0aGUgdGVzdCwgcGFyc2Ugd2l0aCB0aGUgb2xkIEFQSQorICAgICAqLworI2lmZGVmIExJQlhNTF9TQVgxX0VOQUJMRUQKKyAgICBkb2MgPSB4bWxQYXJzZUZpbGUoZmlsZW5hbWUpOworI2Vsc2UKKyAgICBkb2MgPSB4bWxSZWFkRmlsZShmaWxlbmFtZSwgTlVMTCwgMCk7CisjZW5kaWYKKyAgICBpZiAoZG9jID09IE5VTEwpCisgICAgICAgIHJldHVybigxKTsKKyAgICB0ZW1wID0gcmVzdWx0RmlsZW5hbWUoZmlsZW5hbWUsICIiLCAiLnJlcyIpOworICAgIGlmICh0ZW1wID09IE5VTEwpIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJvdXQgb2YgbWVtb3J5XG4iKTsKKyAgICAgICAgZmF0YWxFcnJvcigpOworICAgIH0KKyAgICB4bWxTYXZlRmlsZSh0ZW1wLCBkb2MpOworICAgIGlmIChjb21wYXJlRmlsZXModGVtcCwgcmVzdWx0KSkgeworICAgICAgICByZXMgPSAxOworICAgIH0KKyAgICB4bWxGcmVlRG9jKGRvYyk7CisKKyAgICAvKgorICAgICAqIFBhcnNlIHRoZSBzYXZlZCByZXN1bHQgdG8gbWFrZSBzdXJlIHRoZSByb3VuZCB0cmlwIGlzIG9rYXkKKyAgICAgKi8KKyNpZmRlZiBMSUJYTUxfU0FYMV9FTkFCTEVECisgICAgZG9jID0geG1sUGFyc2VGaWxlKHRlbXApOworI2Vsc2UKKyAgICBkb2MgPSB4bWxSZWFkRmlsZSh0ZW1wLCBOVUxMLCAwKTsKKyNlbmRpZgorICAgIGlmIChkb2MgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuKDEpOworICAgIHhtbFNhdmVGaWxlKHRlbXAsIGRvYyk7CisgICAgaWYgKGNvbXBhcmVGaWxlcyh0ZW1wLCByZXN1bHQpKSB7CisgICAgICAgIHJlcyA9IDE7CisgICAgfQorICAgIHhtbEZyZWVEb2MoZG9jKTsKKworICAgIGlmICh0ZW1wICE9IE5VTEwpIHsKKyAgICAgICAgdW5saW5rKHRlbXApOworICAgICAgICBmcmVlKHRlbXApOworICAgIH0KKyAgICByZXR1cm4ocmVzKTsKK30KKworI2lmZGVmIExJQlhNTF9QVVNIX0VOQUJMRUQKKy8qKgorICogcHVzaFBhcnNlVGVzdDoKKyAqIEBmaWxlbmFtZTogdGhlIGZpbGUgdG8gcGFyc2UKKyAqIEByZXN1bHQ6IHRoZSBmaWxlIHdpdGggZXhwZWN0ZWQgcmVzdWx0CisgKiBAZXJyOiB0aGUgZmlsZSB3aXRoIGVycm9yIG1lc3NhZ2VzOiB1bnVzZWQKKyAqCisgKiBQYXJzZSBhIGZpbGUgdXNpbmcgdGhlIFB1c2ggQVBJLCB0aGVuIHNlcmlhbGl6ZSBiYWNrCisgKiB0byBjaGVjayBmb3IgY29udGVudC4KKyAqCisgKiBSZXR1cm5zIDAgaW4gY2FzZSBvZiBzdWNjZXNzLCBhbiBlcnJvciBjb2RlIG90aGVyd2lzZQorICovCitzdGF0aWMgaW50CitwdXNoUGFyc2VUZXN0KGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBjb25zdCBjaGFyICpyZXN1bHQsCisgICAgICAgICAgICAgY29uc3QgY2hhciAqZXJyIEFUVFJJQlVURV9VTlVTRUQsCisJICAgICBpbnQgb3B0aW9ucykgeworICAgIHhtbFBhcnNlckN0eHRQdHIgY3R4dDsKKyAgICB4bWxEb2NQdHIgZG9jOworICAgIGNvbnN0IGNoYXIgKmJhc2U7CisgICAgaW50IHNpemUsIHJlczsKKyAgICBpbnQgY3VyID0gMDsKKworICAgIG5iX3Rlc3RzKys7CisgICAgLyoKKyAgICAgKiBsb2FkIHRoZSBkb2N1bWVudCBpbiBtZW1vcnkgYW5kIHdvcmsgZnJvbSB0aGVyZS4KKyAgICAgKi8KKyAgICBpZiAobG9hZE1lbShmaWxlbmFtZSwgJmJhc2UsICZzaXplKSAhPSAwKSB7CisgICAgICAgIGZwcmludGYoc3RkZXJyLCAiRmFpbGVkIHRvIGxvYWQgJXNcbiIsIGZpbGVuYW1lKTsKKwlyZXR1cm4oLTEpOworICAgIH0KKworI2lmZGVmIExJQlhNTF9IVE1MX0VOQUJMRUQKKyAgICBpZiAob3B0aW9ucyAmIFhNTF9QQVJTRV9IVE1MKQorCWN0eHQgPSBodG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQoTlVMTCwgTlVMTCwgYmFzZSArIGN1ciwgNCwgZmlsZW5hbWUsCisJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfQ0hBUl9FTkNPRElOR19OT05FKTsKKyAgICBlbHNlCisjZW5kaWYKKyAgICBjdHh0ID0geG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQoTlVMTCwgTlVMTCwgYmFzZSArIGN1ciwgNCwgZmlsZW5hbWUpOworICAgIHhtbEN0eHRVc2VPcHRpb25zKGN0eHQsIG9wdGlvbnMpOworICAgIGN1ciArPSA0OworICAgIHdoaWxlIChjdXIgPCBzaXplKSB7CisgICAgICAgIGlmIChjdXIgKyAxMDI0ID49IHNpemUpIHsKKyNpZmRlZiBMSUJYTUxfSFRNTF9FTkFCTEVECisJICAgIGlmIChvcHRpb25zICYgWE1MX1BBUlNFX0hUTUwpCisJCWh0bWxQYXJzZUNodW5rKGN0eHQsIGJhc2UgKyBjdXIsIHNpemUgLSBjdXIsIDEpOworCSAgICBlbHNlCisjZW5kaWYKKwkgICAgeG1sUGFyc2VDaHVuayhjdHh0LCBiYXNlICsgY3VyLCBzaXplIC0gY3VyLCAxKTsKKwkgICAgYnJlYWs7CisJfSBlbHNlIHsKKyNpZmRlZiBMSUJYTUxfSFRNTF9FTkFCTEVECisJICAgIGlmIChvcHRpb25zICYgWE1MX1BBUlNFX0hUTUwpCisJCWh0bWxQYXJzZUNodW5rKGN0eHQsIGJhc2UgKyBjdXIsIDEwMjQsIDApOworCSAgICBlbHNlCisjZW5kaWYKKwkgICAgeG1sUGFyc2VDaHVuayhjdHh0LCBiYXNlICsgY3VyLCAxMDI0LCAwKTsKKwkgICAgY3VyICs9IDEwMjQ7CisJfQorICAgIH0KKyAgICBkb2MgPSBjdHh0LT5teURvYzsKKyNpZmRlZiBMSUJYTUxfSFRNTF9FTkFCTEVECisgICAgaWYgKG9wdGlvbnMgJiBYTUxfUEFSU0VfSFRNTCkKKyAgICAgICAgcmVzID0gMTsKKyAgICBlbHNlCisjZW5kaWYKKyAgICByZXMgPSBjdHh0LT53ZWxsRm9ybWVkOworICAgIHhtbEZyZWVQYXJzZXJDdHh0KGN0eHQpOworICAgIGZyZWUoKGNoYXIgKiliYXNlKTsKKyAgICBpZiAoIXJlcykgeworCXhtbEZyZWVEb2MoZG9jKTsKKwlmcHJpbnRmKHN0ZGVyciwgIkZhaWxlZCB0byBwYXJzZSAlc1xuIiwgZmlsZW5hbWUpOworCXJldHVybigtMSk7CisgICAgfQorI2lmZGVmIExJQlhNTF9IVE1MX0VOQUJMRUQKKyAgICBpZiAob3B0aW9ucyAmIFhNTF9QQVJTRV9IVE1MKQorCWh0bWxEb2NEdW1wTWVtb3J5KGRvYywgKHhtbENoYXIgKiopICZiYXNlLCAmc2l6ZSk7CisgICAgZWxzZQorI2VuZGlmCisgICAgeG1sRG9jRHVtcE1lbW9yeShkb2MsICh4bWxDaGFyICoqKSAmYmFzZSwgJnNpemUpOworICAgIHhtbEZyZWVEb2MoZG9jKTsKKyAgICByZXMgPSBjb21wYXJlRmlsZU1lbShyZXN1bHQsIGJhc2UsIHNpemUpOworICAgIGlmICgoYmFzZSA9PSBOVUxMKSB8fCAocmVzICE9IDApKSB7CisJaWYgKGJhc2UgIT0gTlVMTCkKKwkgICAgeG1sRnJlZSgoY2hhciAqKWJhc2UpOworICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIlJlc3VsdCBmb3IgJXMgZmFpbGVkXG4iLCBmaWxlbmFtZSk7CisJcmV0dXJuKC0xKTsKKyAgICB9CisgICAgeG1sRnJlZSgoY2hhciAqKWJhc2UpOworICAgIGlmIChlcnIgIT0gTlVMTCkgeworCXJlcyA9IGNvbXBhcmVGaWxlTWVtKGVyciwgdGVzdEVycm9ycywgdGVzdEVycm9yc1NpemUpOworCWlmIChyZXMgIT0gMCkgeworCSAgICBmcHJpbnRmKHN0ZGVyciwgIkVycm9yIGZvciAlcyBmYWlsZWRcbiIsIGZpbGVuYW1lKTsKKwkgICAgcmV0dXJuKC0xKTsKKwl9CisgICAgfQorICAgIHJldHVybigwKTsKK30KKyNlbmRpZgorCisvKioKKyAqIG1lbVBhcnNlVGVzdDoKKyAqIEBmaWxlbmFtZTogdGhlIGZpbGUgdG8gcGFyc2UKKyAqIEByZXN1bHQ6IHRoZSBmaWxlIHdpdGggZXhwZWN0ZWQgcmVzdWx0CisgKiBAZXJyOiB0aGUgZmlsZSB3aXRoIGVycm9yIG1lc3NhZ2VzOiB1bnVzZWQKKyAqCisgKiBQYXJzZSBhIGZpbGUgdXNpbmcgdGhlIG9sZCB4bWxSZWFkTWVtb3J5IEFQSSwgdGhlbiBzZXJpYWxpemUgYmFjaworICogcmVwYXJzZSB0aGUgcmVzdWx0IGFuZCBzZXJpYWxpemUgYWdhaW4sIHRoZW4gY2hlY2sgZm9yIGRldmlhdGlvbgorICogaW4gc2VyaWFsaXphdGlvbi4KKyAqCisgKiBSZXR1cm5zIDAgaW4gY2FzZSBvZiBzdWNjZXNzLCBhbiBlcnJvciBjb2RlIG90aGVyd2lzZQorICovCitzdGF0aWMgaW50CittZW1QYXJzZVRlc3QoY29uc3QgY2hhciAqZmlsZW5hbWUsIGNvbnN0IGNoYXIgKnJlc3VsdCwKKyAgICAgICAgICAgICBjb25zdCBjaGFyICplcnIgQVRUUklCVVRFX1VOVVNFRCwKKwkgICAgIGludCBvcHRpb25zIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICB4bWxEb2NQdHIgZG9jOworICAgIGNvbnN0IGNoYXIgKmJhc2U7CisgICAgaW50IHNpemUsIHJlczsKKworICAgIG5iX3Rlc3RzKys7CisgICAgLyoKKyAgICAgKiBsb2FkIGFuZCBwYXJzZSB0aGUgbWVtb3J5CisgICAgICovCisgICAgaWYgKGxvYWRNZW0oZmlsZW5hbWUsICZiYXNlLCAmc2l6ZSkgIT0gMCkgeworICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkZhaWxlZCB0byBsb2FkICVzXG4iLCBmaWxlbmFtZSk7CisJcmV0dXJuKC0xKTsKKyAgICB9CisKKyAgICBkb2MgPSB4bWxSZWFkTWVtb3J5KGJhc2UsIHNpemUsIGZpbGVuYW1lLCBOVUxMLCAwKTsKKyAgICB1bmxvYWRNZW0oYmFzZSk7CisgICAgaWYgKGRvYyA9PSBOVUxMKSB7CisgICAgICAgIHJldHVybigxKTsKKyAgICB9CisgICAgeG1sRG9jRHVtcE1lbW9yeShkb2MsICh4bWxDaGFyICoqKSAmYmFzZSwgJnNpemUpOworICAgIHhtbEZyZWVEb2MoZG9jKTsKKyAgICByZXMgPSBjb21wYXJlRmlsZU1lbShyZXN1bHQsIGJhc2UsIHNpemUpOworICAgIGlmICgoYmFzZSA9PSBOVUxMKSB8fCAocmVzICE9IDApKSB7CisJaWYgKGJhc2UgIT0gTlVMTCkKKwkgICAgeG1sRnJlZSgoY2hhciAqKWJhc2UpOworICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIlJlc3VsdCBmb3IgJXMgZmFpbGVkXG4iLCBmaWxlbmFtZSk7CisJcmV0dXJuKC0xKTsKKyAgICB9CisgICAgeG1sRnJlZSgoY2hhciAqKWJhc2UpOworICAgIHJldHVybigwKTsKK30KKworLyoqCisgKiBub2VudFBhcnNlVGVzdDoKKyAqIEBmaWxlbmFtZTogdGhlIGZpbGUgdG8gcGFyc2UKKyAqIEByZXN1bHQ6IHRoZSBmaWxlIHdpdGggZXhwZWN0ZWQgcmVzdWx0CisgKiBAZXJyOiB0aGUgZmlsZSB3aXRoIGVycm9yIG1lc3NhZ2VzOiB1bnVzZWQKKyAqCisgKiBQYXJzZSBhIGZpbGUgd2l0aCBlbnRpdHkgcmVzb2x1dGlvbiwgdGhlbiBzZXJpYWxpemUgYmFjaworICogcmVwYXJzZSB0aGUgcmVzdWx0IGFuZCBzZXJpYWxpemUgYWdhaW4sIHRoZW4gY2hlY2sgZm9yIGRldmlhdGlvbgorICogaW4gc2VyaWFsaXphdGlvbi4KKyAqCisgKiBSZXR1cm5zIDAgaW4gY2FzZSBvZiBzdWNjZXNzLCBhbiBlcnJvciBjb2RlIG90aGVyd2lzZQorICovCitzdGF0aWMgaW50Citub2VudFBhcnNlVGVzdChjb25zdCBjaGFyICpmaWxlbmFtZSwgY29uc3QgY2hhciAqcmVzdWx0LAorICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZXJyICBBVFRSSUJVVEVfVU5VU0VELAorCSAgICAgICBpbnQgb3B0aW9ucykgeworICAgIHhtbERvY1B0ciBkb2M7CisgICAgY2hhciAqdGVtcDsKKyAgICBpbnQgcmVzID0gMDsKKworICAgIG5iX3Rlc3RzKys7CisgICAgLyoKKyAgICAgKiBiYXNlIG9mIHRoZSB0ZXN0LCBwYXJzZSB3aXRoIHRoZSBvbGQgQVBJCisgICAgICovCisgICAgZG9jID0geG1sUmVhZEZpbGUoZmlsZW5hbWUsIE5VTEwsIG9wdGlvbnMpOworICAgIGlmIChkb2MgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuKDEpOworICAgIHRlbXAgPSByZXN1bHRGaWxlbmFtZShmaWxlbmFtZSwgIiIsICIucmVzIik7CisgICAgaWYgKHRlbXAgPT0gTlVMTCkgeworICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIk91dCBvZiBtZW1vcnlcbiIpOworICAgICAgICBmYXRhbEVycm9yKCk7CisgICAgfQorICAgIHhtbFNhdmVGaWxlKHRlbXAsIGRvYyk7CisgICAgaWYgKGNvbXBhcmVGaWxlcyh0ZW1wLCByZXN1bHQpKSB7CisgICAgICAgIHJlcyA9IDE7CisgICAgfQorICAgIHhtbEZyZWVEb2MoZG9jKTsKKworICAgIC8qCisgICAgICogUGFyc2UgdGhlIHNhdmVkIHJlc3VsdCB0byBtYWtlIHN1cmUgdGhlIHJvdW5kIHRyaXAgaXMgb2theQorICAgICAqLworICAgIGRvYyA9IHhtbFJlYWRGaWxlKGZpbGVuYW1lLCBOVUxMLCBvcHRpb25zKTsKKyAgICBpZiAoZG9jID09IE5VTEwpCisgICAgICAgIHJldHVybigxKTsKKyAgICB4bWxTYXZlRmlsZSh0ZW1wLCBkb2MpOworICAgIGlmIChjb21wYXJlRmlsZXModGVtcCwgcmVzdWx0KSkgeworICAgICAgICByZXMgPSAxOworICAgIH0KKyAgICB4bWxGcmVlRG9jKGRvYyk7CisKKyAgICBpZiAodGVtcCAhPSBOVUxMKSB7CisgICAgICAgIHVubGluayh0ZW1wKTsKKyAgICAgICAgZnJlZSh0ZW1wKTsKKyAgICB9CisgICAgcmV0dXJuKHJlcyk7Cit9CisKKy8qKgorICogZXJyUGFyc2VUZXN0OgorICogQGZpbGVuYW1lOiB0aGUgZmlsZSB0byBwYXJzZQorICogQHJlc3VsdDogdGhlIGZpbGUgd2l0aCBleHBlY3RlZCByZXN1bHQKKyAqIEBlcnI6IHRoZSBmaWxlIHdpdGggZXJyb3IgbWVzc2FnZXMKKyAqCisgKiBQYXJzZSBhIGZpbGUgdXNpbmcgdGhlIHhtbFJlYWRGaWxlIEFQSSBhbmQgY2hlY2sgZm9yIGVycm9ycy4KKyAqCisgKiBSZXR1cm5zIDAgaW4gY2FzZSBvZiBzdWNjZXNzLCBhbiBlcnJvciBjb2RlIG90aGVyd2lzZQorICovCitzdGF0aWMgaW50CitlcnJQYXJzZVRlc3QoY29uc3QgY2hhciAqZmlsZW5hbWUsIGNvbnN0IGNoYXIgKnJlc3VsdCwgY29uc3QgY2hhciAqZXJyLAorICAgICAgICAgICAgIGludCBvcHRpb25zKSB7CisgICAgeG1sRG9jUHRyIGRvYzsKKyAgICBjb25zdCBjaGFyICpiYXNlID0gTlVMTDsKKyAgICBpbnQgc2l6ZSwgcmVzID0gMDsKKworICAgIG5iX3Rlc3RzKys7CisjaWZkZWYgTElCWE1MX0hUTUxfRU5BQkxFRAorICAgIGlmIChvcHRpb25zICYgWE1MX1BBUlNFX0hUTUwpIHsKKyAgICAgICAgZG9jID0gaHRtbFJlYWRGaWxlKGZpbGVuYW1lLCBOVUxMLCBvcHRpb25zKTsKKyAgICB9IGVsc2UKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YSU5DTFVERV9FTkFCTEVECisgICAgaWYgKG9wdGlvbnMgJiBYTUxfUEFSU0VfWElOQ0xVREUpIHsKKwlkb2MgPSB4bWxSZWFkRmlsZShmaWxlbmFtZSwgTlVMTCwgb3B0aW9ucyk7CisJeG1sWEluY2x1ZGVQcm9jZXNzRmxhZ3MoZG9jLCBvcHRpb25zKTsKKyAgICB9IGVsc2UKKyNlbmRpZgorICAgIHsKKwl4bWxHZXRXYXJuaW5nc0RlZmF1bHRWYWx1ZSA9IDE7CisJZG9jID0geG1sUmVhZEZpbGUoZmlsZW5hbWUsIE5VTEwsIG9wdGlvbnMpOworICAgIH0KKyAgICB4bWxHZXRXYXJuaW5nc0RlZmF1bHRWYWx1ZSA9IDA7CisgICAgaWYgKHJlc3VsdCkgeworCWlmIChkb2MgPT0gTlVMTCkgeworCSAgICBiYXNlID0gIiI7CisJICAgIHNpemUgPSAwOworCX0gZWxzZSB7CisjaWZkZWYgTElCWE1MX0hUTUxfRU5BQkxFRAorCSAgICBpZiAob3B0aW9ucyAmIFhNTF9QQVJTRV9IVE1MKSB7CisJCWh0bWxEb2NEdW1wTWVtb3J5KGRvYywgKHhtbENoYXIgKiopICZiYXNlLCAmc2l6ZSk7CisJICAgIH0gZWxzZQorI2VuZGlmCisJICAgIHhtbERvY0R1bXBNZW1vcnkoZG9jLCAoeG1sQ2hhciAqKikgJmJhc2UsICZzaXplKTsKKwl9CisJcmVzID0gY29tcGFyZUZpbGVNZW0ocmVzdWx0LCBiYXNlLCBzaXplKTsKKyAgICB9CisgICAgaWYgKGRvYyAhPSBOVUxMKSB7CisJaWYgKGJhc2UgIT0gTlVMTCkKKwkgICAgeG1sRnJlZSgoY2hhciAqKWJhc2UpOworCXhtbEZyZWVEb2MoZG9jKTsKKyAgICB9CisgICAgaWYgKHJlcyAhPSAwKSB7CisgICAgICAgIGZwcmludGYoc3RkZXJyLCAiUmVzdWx0IGZvciAlcyBmYWlsZWRcbiIsIGZpbGVuYW1lKTsKKwlyZXR1cm4oLTEpOworICAgIH0KKyAgICBpZiAoZXJyICE9IE5VTEwpIHsKKwlyZXMgPSBjb21wYXJlRmlsZU1lbShlcnIsIHRlc3RFcnJvcnMsIHRlc3RFcnJvcnNTaXplKTsKKwlpZiAocmVzICE9IDApIHsKKwkgICAgZnByaW50ZihzdGRlcnIsICJFcnJvciBmb3IgJXMgZmFpbGVkXG4iLCBmaWxlbmFtZSk7CisJICAgIHJldHVybigtMSk7CisJfQorICAgIH0gZWxzZSBpZiAob3B0aW9ucyAmIFhNTF9QQVJTRV9EVERWQUxJRCkgeworICAgICAgICBpZiAodGVzdEVycm9yc1NpemUgIT0gMCkKKwkgICAgZnByaW50ZihzdGRlcnIsICJWYWxpZGF0aW9uIGZvciAlcyBmYWlsZWRcbiIsIGZpbGVuYW1lKTsKKyAgICB9CisKKyAgICByZXR1cm4oMCk7Cit9CisKKyNpZmRlZiBMSUJYTUxfUkVBREVSX0VOQUJMRUQKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCVJlYWRlciBiYXNlZCB0ZXN0cwkJCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitzdGF0aWMgdm9pZCBwcm9jZXNzTm9kZShGSUxFICpvdXQsIHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyKSB7CisgICAgY29uc3QgeG1sQ2hhciAqbmFtZSwgKnZhbHVlOworICAgIGludCB0eXBlLCBlbXB0eTsKKworICAgIHR5cGUgPSB4bWxUZXh0UmVhZGVyTm9kZVR5cGUocmVhZGVyKTsKKyAgICBlbXB0eSA9IHhtbFRleHRSZWFkZXJJc0VtcHR5RWxlbWVudChyZWFkZXIpOworCisgICAgbmFtZSA9IHhtbFRleHRSZWFkZXJDb25zdE5hbWUocmVhZGVyKTsKKyAgICBpZiAobmFtZSA9PSBOVUxMKQorCW5hbWUgPSBCQURfQ0FTVCAiLS0iOworCisgICAgdmFsdWUgPSB4bWxUZXh0UmVhZGVyQ29uc3RWYWx1ZShyZWFkZXIpOworCisKKyAgICBmcHJpbnRmKG91dCwgIiVkICVkICVzICVkICVkIiwKKwkgICAgeG1sVGV4dFJlYWRlckRlcHRoKHJlYWRlciksCisJICAgIHR5cGUsCisJICAgIG5hbWUsCisJICAgIGVtcHR5LAorCSAgICB4bWxUZXh0UmVhZGVySGFzVmFsdWUocmVhZGVyKSk7CisgICAgaWYgKHZhbHVlID09IE5VTEwpCisJZnByaW50ZihvdXQsICJcbiIpOworICAgIGVsc2UgeworCWZwcmludGYob3V0LCAiICVzXG4iLCB2YWx1ZSk7CisgICAgfQorfQorc3RhdGljIGludAorc3RyZWFtUHJvY2Vzc1Rlc3QoY29uc3QgY2hhciAqZmlsZW5hbWUsIGNvbnN0IGNoYXIgKnJlc3VsdCwgY29uc3QgY2hhciAqZXJyLAorICAgICAgICAgICAgICAgICAgeG1sVGV4dFJlYWRlclB0ciByZWFkZXIsIGNvbnN0IGNoYXIgKnJuZywgaW50IG9wdGlvbnMpIHsKKyAgICBpbnQgcmV0OworICAgIGNoYXIgKnRlbXAgPSBOVUxMOworICAgIEZJTEUgKnQgPSBOVUxMOworCisgICAgaWYgKHJlYWRlciA9PSBOVUxMKQorICAgICAgICByZXR1cm4oLTEpOworCisgICAgbmJfdGVzdHMrKzsKKyAgICBpZiAocmVzdWx0ICE9IE5VTEwpIHsKKwl0ZW1wID0gcmVzdWx0RmlsZW5hbWUoZmlsZW5hbWUsICIiLCAiLnJlcyIpOworCWlmICh0ZW1wID09IE5VTEwpIHsKKwkgICAgZnByaW50ZihzdGRlcnIsICJPdXQgb2YgbWVtb3J5XG4iKTsKKwkgICAgZmF0YWxFcnJvcigpOworCX0KKwl0ID0gZm9wZW4odGVtcCwgIndiIik7CisJaWYgKHQgPT0gTlVMTCkgeworCSAgICBmcHJpbnRmKHN0ZGVyciwgIkNhbid0IG9wZW4gdGVtcCBmaWxlICVzXG4iLCB0ZW1wKTsKKwkgICAgZnJlZSh0ZW1wKTsKKwkgICAgcmV0dXJuKC0xKTsKKwl9CisgICAgfQorI2lmZGVmIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQKKyAgICBpZiAocm5nICE9IE5VTEwpIHsKKwlyZXQgPSB4bWxUZXh0UmVhZGVyUmVsYXhOR1ZhbGlkYXRlKHJlYWRlciwgcm5nKTsKKwlpZiAocmV0IDwgMCkgeworCSAgICB0ZXN0RXJyb3JIYW5kbGVyKE5VTEwsICJSZWxheC1ORyBzY2hlbWEgJXMgZmFpbGVkIHRvIGNvbXBpbGVcbiIsCisJICAgICAgICAgICAgICAgICAgICAgcm5nKTsKKwkgICAgZmNsb3NlKHQpOworICAgICAgICAgICAgaWYgKHRlbXAgIT0gTlVMTCkgeworICAgICAgICAgICAgICAgIHVubGluayh0ZW1wKTsKKyAgICAgICAgICAgICAgICBmcmVlKHRlbXApOworICAgICAgICAgICAgfQorCSAgICByZXR1cm4oMCk7CisJfQorICAgIH0KKyNlbmRpZgorICAgIHhtbEdldFdhcm5pbmdzRGVmYXVsdFZhbHVlID0gMTsKKyAgICByZXQgPSB4bWxUZXh0UmVhZGVyUmVhZChyZWFkZXIpOworICAgIHdoaWxlIChyZXQgPT0gMSkgeworCWlmICgodCAhPSBOVUxMKSAmJiAocm5nID09IE5VTEwpKQorCSAgICBwcm9jZXNzTm9kZSh0LCByZWFkZXIpOworICAgICAgICByZXQgPSB4bWxUZXh0UmVhZGVyUmVhZChyZWFkZXIpOworICAgIH0KKyAgICBpZiAocmV0ICE9IDApIHsKKyAgICAgICAgdGVzdEVycm9ySGFuZGxlcihOVUxMLCAiJXMgOiBmYWlsZWQgdG8gcGFyc2VcbiIsIGZpbGVuYW1lKTsKKyAgICB9CisgICAgaWYgKHJuZyAhPSBOVUxMKSB7CisgICAgICAgIGlmICh4bWxUZXh0UmVhZGVySXNWYWxpZChyZWFkZXIpICE9IDEpIHsKKwkgICAgdGVzdEVycm9ySGFuZGxlcihOVUxMLCAiJXMgZmFpbHMgdG8gdmFsaWRhdGVcbiIsIGZpbGVuYW1lKTsKKwl9IGVsc2UgeworCSAgICB0ZXN0RXJyb3JIYW5kbGVyKE5VTEwsICIlcyB2YWxpZGF0ZXNcbiIsIGZpbGVuYW1lKTsKKwl9CisgICAgfQorICAgIHhtbEdldFdhcm5pbmdzRGVmYXVsdFZhbHVlID0gMDsKKyAgICBpZiAodCAhPSBOVUxMKSB7CisgICAgICAgIGZjbG9zZSh0KTsKKwlyZXQgPSBjb21wYXJlRmlsZXModGVtcCwgcmVzdWx0KTsKKyAgICAgICAgaWYgKHRlbXAgIT0gTlVMTCkgeworICAgICAgICAgICAgdW5saW5rKHRlbXApOworICAgICAgICAgICAgZnJlZSh0ZW1wKTsKKyAgICAgICAgfQorCWlmIChyZXQpIHsKKwkgICAgZnByaW50ZihzdGRlcnIsICJSZXN1bHQgZm9yICVzIGZhaWxlZFxuIiwgZmlsZW5hbWUpOworCSAgICByZXR1cm4oLTEpOworCX0KKyAgICB9CisgICAgaWYgKGVyciAhPSBOVUxMKSB7CisJcmV0ID0gY29tcGFyZUZpbGVNZW0oZXJyLCB0ZXN0RXJyb3JzLCB0ZXN0RXJyb3JzU2l6ZSk7CisJaWYgKHJldCAhPSAwKSB7CisJICAgIGZwcmludGYoc3RkZXJyLCAiRXJyb3IgZm9yICVzIGZhaWxlZFxuIiwgZmlsZW5hbWUpOworCSAgICBwcmludGYoIiVzIiwgdGVzdEVycm9ycyk7CisJICAgIHJldHVybigtMSk7CisJfQorICAgIH0KKworICAgIHJldHVybigwKTsKK30KKworLyoqCisgKiBzdHJlYW1QYXJzZVRlc3Q6CisgKiBAZmlsZW5hbWU6IHRoZSBmaWxlIHRvIHBhcnNlCisgKiBAcmVzdWx0OiB0aGUgZmlsZSB3aXRoIGV4cGVjdGVkIHJlc3VsdAorICogQGVycjogdGhlIGZpbGUgd2l0aCBlcnJvciBtZXNzYWdlcworICoKKyAqIFBhcnNlIGEgZmlsZSB1c2luZyB0aGUgcmVhZGVyIEFQSSBhbmQgY2hlY2sgZm9yIGVycm9ycy4KKyAqCisgKiBSZXR1cm5zIDAgaW4gY2FzZSBvZiBzdWNjZXNzLCBhbiBlcnJvciBjb2RlIG90aGVyd2lzZQorICovCitzdGF0aWMgaW50CitzdHJlYW1QYXJzZVRlc3QoY29uc3QgY2hhciAqZmlsZW5hbWUsIGNvbnN0IGNoYXIgKnJlc3VsdCwgY29uc3QgY2hhciAqZXJyLAorICAgICAgICAgICAgICAgIGludCBvcHRpb25zKSB7CisgICAgeG1sVGV4dFJlYWRlclB0ciByZWFkZXI7CisgICAgaW50IHJldDsKKworICAgIHJlYWRlciA9IHhtbFJlYWRlckZvckZpbGUoZmlsZW5hbWUsIE5VTEwsIG9wdGlvbnMpOworICAgIHJldCA9IHN0cmVhbVByb2Nlc3NUZXN0KGZpbGVuYW1lLCByZXN1bHQsIGVyciwgcmVhZGVyLCBOVUxMLCBvcHRpb25zKTsKKyAgICB4bWxGcmVlVGV4dFJlYWRlcihyZWFkZXIpOworICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHdhbGtlclBhcnNlVGVzdDoKKyAqIEBmaWxlbmFtZTogdGhlIGZpbGUgdG8gcGFyc2UKKyAqIEByZXN1bHQ6IHRoZSBmaWxlIHdpdGggZXhwZWN0ZWQgcmVzdWx0CisgKiBAZXJyOiB0aGUgZmlsZSB3aXRoIGVycm9yIG1lc3NhZ2VzCisgKgorICogUGFyc2UgYSBmaWxlIHVzaW5nIHRoZSB3YWxrZXIsIGkuZS4gYSByZWFkZXIgYnVpbHQgZnJvbSBhIGF0cmVlLgorICoKKyAqIFJldHVybnMgMCBpbiBjYXNlIG9mIHN1Y2Nlc3MsIGFuIGVycm9yIGNvZGUgb3RoZXJ3aXNlCisgKi8KK3N0YXRpYyBpbnQKK3dhbGtlclBhcnNlVGVzdChjb25zdCBjaGFyICpmaWxlbmFtZSwgY29uc3QgY2hhciAqcmVzdWx0LCBjb25zdCBjaGFyICplcnIsCisgICAgICAgICAgICAgICAgaW50IG9wdGlvbnMpIHsKKyAgICB4bWxEb2NQdHIgZG9jOworICAgIHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyOworICAgIGludCByZXQ7CisKKyAgICBkb2MgPSB4bWxSZWFkRmlsZShmaWxlbmFtZSwgTlVMTCwgb3B0aW9ucyk7CisgICAgaWYgKGRvYyA9PSBOVUxMKSB7CisgICAgICAgIGZwcmludGYoc3RkZXJyLCAiRmFpbGVkIHRvIHBhcnNlICVzXG4iLCBmaWxlbmFtZSk7CisJcmV0dXJuKC0xKTsKKyAgICB9CisgICAgcmVhZGVyID0geG1sUmVhZGVyV2Fsa2VyKGRvYyk7CisgICAgcmV0ID0gc3RyZWFtUHJvY2Vzc1Rlc3QoZmlsZW5hbWUsIHJlc3VsdCwgZXJyLCByZWFkZXIsIE5VTEwsIG9wdGlvbnMpOworICAgIHhtbEZyZWVUZXh0UmVhZGVyKHJlYWRlcik7CisgICAgeG1sRnJlZURvYyhkb2MpOworICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHN0cmVhbU1lbVBhcnNlVGVzdDoKKyAqIEBmaWxlbmFtZTogdGhlIGZpbGUgdG8gcGFyc2UKKyAqIEByZXN1bHQ6IHRoZSBmaWxlIHdpdGggZXhwZWN0ZWQgcmVzdWx0CisgKiBAZXJyOiB0aGUgZmlsZSB3aXRoIGVycm9yIG1lc3NhZ2VzCisgKgorICogUGFyc2UgYSBmaWxlIHVzaW5nIHRoZSByZWFkZXIgQVBJIGZyb20gbWVtb3J5IGFuZCBjaGVjayBmb3IgZXJyb3JzLgorICoKKyAqIFJldHVybnMgMCBpbiBjYXNlIG9mIHN1Y2Nlc3MsIGFuIGVycm9yIGNvZGUgb3RoZXJ3aXNlCisgKi8KK3N0YXRpYyBpbnQKK3N0cmVhbU1lbVBhcnNlVGVzdChjb25zdCBjaGFyICpmaWxlbmFtZSwgY29uc3QgY2hhciAqcmVzdWx0LCBjb25zdCBjaGFyICplcnIsCisgICAgICAgICAgICAgICAgICAgaW50IG9wdGlvbnMpIHsKKyAgICB4bWxUZXh0UmVhZGVyUHRyIHJlYWRlcjsKKyAgICBpbnQgcmV0OworICAgIGNvbnN0IGNoYXIgKmJhc2U7CisgICAgaW50IHNpemU7CisKKyAgICAvKgorICAgICAqIGxvYWQgYW5kIHBhcnNlIHRoZSBtZW1vcnkKKyAgICAgKi8KKyAgICBpZiAobG9hZE1lbShmaWxlbmFtZSwgJmJhc2UsICZzaXplKSAhPSAwKSB7CisgICAgICAgIGZwcmludGYoc3RkZXJyLCAiRmFpbGVkIHRvIGxvYWQgJXNcbiIsIGZpbGVuYW1lKTsKKwlyZXR1cm4oLTEpOworICAgIH0KKyAgICByZWFkZXIgPSB4bWxSZWFkZXJGb3JNZW1vcnkoYmFzZSwgc2l6ZSwgZmlsZW5hbWUsIE5VTEwsIG9wdGlvbnMpOworICAgIHJldCA9IHN0cmVhbVByb2Nlc3NUZXN0KGZpbGVuYW1lLCByZXN1bHQsIGVyciwgcmVhZGVyLCBOVUxMLCBvcHRpb25zKTsKKyAgICBmcmVlKChjaGFyICopYmFzZSk7CisgICAgeG1sRnJlZVRleHRSZWFkZXIocmVhZGVyKTsKKyAgICByZXR1cm4ocmV0KTsKK30KKyNlbmRpZgorCisjaWZkZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQKKyNpZmRlZiBMSUJYTUxfREVCVUdfRU5BQkxFRAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJWFBhdGggYW5kIFhQb2ludGVyIGJhc2VkIHRlc3RzCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworc3RhdGljIEZJTEUgKnhwYXRoT3V0cHV0Oworc3RhdGljIHhtbERvY1B0ciB4cGF0aERvY3VtZW50OworCitzdGF0aWMgdm9pZAordGVzdFhQYXRoKGNvbnN0IGNoYXIgKnN0ciwgaW50IHhwdHIsIGludCBleHByKSB7CisgICAgeG1sWFBhdGhPYmplY3RQdHIgcmVzOworICAgIHhtbFhQYXRoQ29udGV4dFB0ciBjdHh0OworCisgICAgbmJfdGVzdHMrKzsKKyNpZiBkZWZpbmVkKExJQlhNTF9YUFRSX0VOQUJMRUQpCisgICAgaWYgKHhwdHIpIHsKKwljdHh0ID0geG1sWFB0ck5ld0NvbnRleHQoeHBhdGhEb2N1bWVudCwgTlVMTCwgTlVMTCk7CisJcmVzID0geG1sWFB0ckV2YWwoQkFEX0NBU1Qgc3RyLCBjdHh0KTsKKyAgICB9IGVsc2UgeworI2VuZGlmCisJY3R4dCA9IHhtbFhQYXRoTmV3Q29udGV4dCh4cGF0aERvY3VtZW50KTsKKwljdHh0LT5ub2RlID0geG1sRG9jR2V0Um9vdEVsZW1lbnQoeHBhdGhEb2N1bWVudCk7CisJaWYgKGV4cHIpCisJICAgIHJlcyA9IHhtbFhQYXRoRXZhbEV4cHJlc3Npb24oQkFEX0NBU1Qgc3RyLCBjdHh0KTsKKwllbHNlIHsKKwkgICAgLyogcmVzID0geG1sWFBhdGhFdmFsKEJBRF9DQVNUIHN0ciwgY3R4dCk7ICovCisJICAgIHhtbFhQYXRoQ29tcEV4cHJQdHIgY29tcDsKKworCSAgICBjb21wID0geG1sWFBhdGhDb21waWxlKEJBRF9DQVNUIHN0cik7CisJICAgIGlmIChjb21wICE9IE5VTEwpIHsKKwkJcmVzID0geG1sWFBhdGhDb21waWxlZEV2YWwoY29tcCwgY3R4dCk7CisJCXhtbFhQYXRoRnJlZUNvbXBFeHByKGNvbXApOworCSAgICB9IGVsc2UKKwkJcmVzID0gTlVMTDsKKwl9CisjaWYgZGVmaW5lZChMSUJYTUxfWFBUUl9FTkFCTEVEKQorICAgIH0KKyNlbmRpZgorICAgIHhtbFhQYXRoRGVidWdEdW1wT2JqZWN0KHhwYXRoT3V0cHV0LCByZXMsIDApOworICAgIHhtbFhQYXRoRnJlZU9iamVjdChyZXMpOworICAgIHhtbFhQYXRoRnJlZUNvbnRleHQoY3R4dCk7Cit9CisKKy8qKgorICogeHBhdGhFeHByVGVzdDoKKyAqIEBmaWxlbmFtZTogdGhlIGZpbGUgdG8gcGFyc2UKKyAqIEByZXN1bHQ6IHRoZSBmaWxlIHdpdGggZXhwZWN0ZWQgcmVzdWx0CisgKiBAZXJyOiB0aGUgZmlsZSB3aXRoIGVycm9yIG1lc3NhZ2VzCisgKgorICogUGFyc2UgYSBmaWxlIGNvbnRhaW5pbmcgWFBhdGggc3RhbmRhbG9uZSBleHByZXNzaW9ucyBhbmQgZXZhbHVhdGUgdGhlbQorICoKKyAqIFJldHVybnMgMCBpbiBjYXNlIG9mIHN1Y2Nlc3MsIGFuIGVycm9yIGNvZGUgb3RoZXJ3aXNlCisgKi8KK3N0YXRpYyBpbnQKK3hwYXRoQ29tbW9uVGVzdChjb25zdCBjaGFyICpmaWxlbmFtZSwgY29uc3QgY2hhciAqcmVzdWx0LAorICAgICAgICAgICAgICAgIGludCB4cHRyLCBpbnQgZXhwcikgeworICAgIEZJTEUgKmlucHV0OworICAgIGNoYXIgZXhwcmVzc2lvbls1MDAwXTsKKyAgICBpbnQgbGVuLCByZXQgPSAwOworICAgIGNoYXIgKnRlbXA7CisKKyAgICB0ZW1wID0gcmVzdWx0RmlsZW5hbWUoZmlsZW5hbWUsICIiLCAiLnJlcyIpOworICAgIGlmICh0ZW1wID09IE5VTEwpIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJPdXQgb2YgbWVtb3J5XG4iKTsKKyAgICAgICAgZmF0YWxFcnJvcigpOworICAgIH0KKyAgICB4cGF0aE91dHB1dCA9IGZvcGVuKHRlbXAsICJ3YiIpOworICAgIGlmICh4cGF0aE91dHB1dCA9PSBOVUxMKSB7CisJZnByaW50ZihzdGRlcnIsICJmYWlsZWQgdG8gb3BlbiBvdXRwdXQgZmlsZSAlc1xuIiwgdGVtcCk7CisgICAgICAgIGZyZWUodGVtcCk7CisJcmV0dXJuKC0xKTsKKyAgICB9CisKKyAgICBpbnB1dCA9IGZvcGVuKGZpbGVuYW1lLCAicmIiKTsKKyAgICBpZiAoaW5wdXQgPT0gTlVMTCkgeworICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJIkNhbm5vdCBvcGVuICVzIGZvciByZWFkaW5nXG4iLCBmaWxlbmFtZSk7CisgICAgICAgIGZyZWUodGVtcCk7CisJcmV0dXJuKC0xKTsKKyAgICB9CisgICAgd2hpbGUgKGZnZXRzKGV4cHJlc3Npb24sIDQ1MDAsIGlucHV0KSAhPSBOVUxMKSB7CisJbGVuID0gc3RybGVuKGV4cHJlc3Npb24pOworCWxlbi0tOworCXdoaWxlICgobGVuID49IDApICYmCisJICAgICAgICgoZXhwcmVzc2lvbltsZW5dID09ICdcbicpIHx8IChleHByZXNzaW9uW2xlbl0gPT0gJ1x0JykgfHwKKwkJKGV4cHJlc3Npb25bbGVuXSA9PSAnXHInKSB8fCAoZXhwcmVzc2lvbltsZW5dID09ICcgJykpKSBsZW4tLTsKKwlleHByZXNzaW9uW2xlbiArIDFdID0gMDsKKwlpZiAobGVuID49IDApIHsKKwkgICAgZnByaW50Zih4cGF0aE91dHB1dCwKKwkgICAgICAgICAgICAiXG49PT09PT09PT09PT09PT09PT09PT09PT1cbkV4cHJlc3Npb246ICVzXG4iLAorCQkgICAgZXhwcmVzc2lvbikgOworCSAgICB0ZXN0WFBhdGgoZXhwcmVzc2lvbiwgeHB0ciwgZXhwcik7CisJfQorICAgIH0KKworICAgIGZjbG9zZShpbnB1dCk7CisgICAgZmNsb3NlKHhwYXRoT3V0cHV0KTsKKyAgICBpZiAocmVzdWx0ICE9IE5VTEwpIHsKKwlyZXQgPSBjb21wYXJlRmlsZXModGVtcCwgcmVzdWx0KTsKKwlpZiAocmV0KSB7CisJICAgIGZwcmludGYoc3RkZXJyLCAiUmVzdWx0IGZvciAlcyBmYWlsZWRcbiIsIGZpbGVuYW1lKTsKKwl9CisgICAgfQorCisgICAgaWYgKHRlbXAgIT0gTlVMTCkgeworICAgICAgICB1bmxpbmsodGVtcCk7CisgICAgICAgIGZyZWUodGVtcCk7CisgICAgfQorICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhwYXRoRXhwclRlc3Q6CisgKiBAZmlsZW5hbWU6IHRoZSBmaWxlIHRvIHBhcnNlCisgKiBAcmVzdWx0OiB0aGUgZmlsZSB3aXRoIGV4cGVjdGVkIHJlc3VsdAorICogQGVycjogdGhlIGZpbGUgd2l0aCBlcnJvciBtZXNzYWdlcworICoKKyAqIFBhcnNlIGEgZmlsZSBjb250YWluaW5nIFhQYXRoIHN0YW5kYWxvbmUgZXhwcmVzc2lvbnMgYW5kIGV2YWx1YXRlIHRoZW0KKyAqCisgKiBSZXR1cm5zIDAgaW4gY2FzZSBvZiBzdWNjZXNzLCBhbiBlcnJvciBjb2RlIG90aGVyd2lzZQorICovCitzdGF0aWMgaW50Cit4cGF0aEV4cHJUZXN0KGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBjb25zdCBjaGFyICpyZXN1bHQsCisgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmVyciBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgICBpbnQgb3B0aW9ucyBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgcmV0dXJuKHhwYXRoQ29tbW9uVGVzdChmaWxlbmFtZSwgcmVzdWx0LCAwLCAxKSk7Cit9CisKKy8qKgorICogeHBhdGhEb2NUZXN0OgorICogQGZpbGVuYW1lOiB0aGUgZmlsZSB0byBwYXJzZQorICogQHJlc3VsdDogdGhlIGZpbGUgd2l0aCBleHBlY3RlZCByZXN1bHQKKyAqIEBlcnI6IHRoZSBmaWxlIHdpdGggZXJyb3IgbWVzc2FnZXMKKyAqCisgKiBQYXJzZSBhIGZpbGUgY29udGFpbmluZyBYUGF0aCBleHByZXNzaW9ucyBhbmQgZXZhbHVhdGUgdGhlbSBhZ2FpbnN0CisgKiBhIHNldCBvZiBjb3JyZXNwb25kaW5nIGRvY3VtZW50cy4KKyAqCisgKiBSZXR1cm5zIDAgaW4gY2FzZSBvZiBzdWNjZXNzLCBhbiBlcnJvciBjb2RlIG90aGVyd2lzZQorICovCitzdGF0aWMgaW50Cit4cGF0aERvY1Rlc3QoY29uc3QgY2hhciAqZmlsZW5hbWUsCisgICAgICAgICAgICAgY29uc3QgY2hhciAqcmVzdWwgQVRUUklCVVRFX1VOVVNFRCwKKyAgICAgICAgICAgICBjb25zdCBjaGFyICplcnIgQVRUUklCVVRFX1VOVVNFRCwKKyAgICAgICAgICAgICBpbnQgb3B0aW9ucykgeworCisgICAgY2hhciBwYXR0ZXJuWzUwMF07CisgICAgY2hhciByZXN1bHRbNTAwXTsKKyAgICBnbG9iX3QgZ2xvYmJ1ZjsKKyAgICBzaXplX3QgaTsKKyAgICBpbnQgcmV0ID0gMCwgcmVzOworCisgICAgeHBhdGhEb2N1bWVudCA9IHhtbFJlYWRGaWxlKGZpbGVuYW1lLCBOVUxMLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zIHwgWE1MX1BBUlNFX0RUREFUVFIgfCBYTUxfUEFSU0VfTk9FTlQpOworICAgIGlmICh4cGF0aERvY3VtZW50ID09IE5VTEwpIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJGYWlsZWQgdG8gbG9hZCAlc1xuIiwgZmlsZW5hbWUpOworCXJldHVybigtMSk7CisgICAgfQorCisgICAgc25wcmludGYocGF0dGVybiwgNDk5LCAiLi90ZXN0L1hQYXRoL3Rlc3RzLyVzKiIsIGJhc2VGaWxlbmFtZShmaWxlbmFtZSkpOworICAgIHBhdHRlcm5bNDk5XSA9IDA7CisgICAgZ2xvYmJ1Zi5nbF9vZmZzID0gMDsKKyAgICBnbG9iKHBhdHRlcm4sIEdMT0JfRE9PRkZTLCBOVUxMLCAmZ2xvYmJ1Zik7CisgICAgZm9yIChpID0gMDtpIDwgZ2xvYmJ1Zi5nbF9wYXRoYztpKyspIHsKKyAgICAgICAgc25wcmludGYocmVzdWx0LCA0OTksICJyZXN1bHQvWFBhdGgvdGVzdHMvJXMiLAorCSAgICAgICAgIGJhc2VGaWxlbmFtZShnbG9iYnVmLmdsX3BhdGh2W2ldKSk7CisJcmVzID0geHBhdGhDb21tb25UZXN0KGdsb2JidWYuZ2xfcGF0aHZbaV0sICZyZXN1bHRbMF0sIDAsIDApOworCWlmIChyZXMgIT0gMCkKKwkgICAgcmV0ID0gcmVzOworICAgIH0KKyAgICBnbG9iZnJlZSgmZ2xvYmJ1Zik7CisKKyAgICB4bWxGcmVlRG9jKHhwYXRoRG9jdW1lbnQpOworICAgIHJldHVybihyZXQpOworfQorCisjaWZkZWYgTElCWE1MX1hQVFJfRU5BQkxFRAorLyoqCisgKiB4cHRyRG9jVGVzdDoKKyAqIEBmaWxlbmFtZTogdGhlIGZpbGUgdG8gcGFyc2UKKyAqIEByZXN1bHQ6IHRoZSBmaWxlIHdpdGggZXhwZWN0ZWQgcmVzdWx0CisgKiBAZXJyOiB0aGUgZmlsZSB3aXRoIGVycm9yIG1lc3NhZ2VzCisgKgorICogUGFyc2UgYSBmaWxlIGNvbnRhaW5pbmcgWFBhdGggZXhwcmVzc2lvbnMgYW5kIGV2YWx1YXRlIHRoZW0gYWdhaW5zdAorICogYSBzZXQgb2YgY29ycmVzcG9uZGluZyBkb2N1bWVudHMuCisgKgorICogUmV0dXJucyAwIGluIGNhc2Ugb2Ygc3VjY2VzcywgYW4gZXJyb3IgY29kZSBvdGhlcndpc2UKKyAqLworc3RhdGljIGludAoreHB0ckRvY1Rlc3QoY29uc3QgY2hhciAqZmlsZW5hbWUsCisgICAgICAgICAgICBjb25zdCBjaGFyICpyZXN1bCBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgY29uc3QgY2hhciAqZXJyIEFUVFJJQlVURV9VTlVTRUQsCisgICAgICAgICAgICBpbnQgb3B0aW9ucykgeworCisgICAgY2hhciBwYXR0ZXJuWzUwMF07CisgICAgY2hhciByZXN1bHRbNTAwXTsKKyAgICBnbG9iX3QgZ2xvYmJ1ZjsKKyAgICBzaXplX3QgaTsKKyAgICBpbnQgcmV0ID0gMCwgcmVzOworCisgICAgeHBhdGhEb2N1bWVudCA9IHhtbFJlYWRGaWxlKGZpbGVuYW1lLCBOVUxMLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zIHwgWE1MX1BBUlNFX0RUREFUVFIgfCBYTUxfUEFSU0VfTk9FTlQpOworICAgIGlmICh4cGF0aERvY3VtZW50ID09IE5VTEwpIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJGYWlsZWQgdG8gbG9hZCAlc1xuIiwgZmlsZW5hbWUpOworCXJldHVybigtMSk7CisgICAgfQorCisgICAgc25wcmludGYocGF0dGVybiwgNDk5LCAiLi90ZXN0L1hQYXRoL3hwdHIvJXMqIiwgYmFzZUZpbGVuYW1lKGZpbGVuYW1lKSk7CisgICAgcGF0dGVybls0OTldID0gMDsKKyAgICBnbG9iYnVmLmdsX29mZnMgPSAwOworICAgIGdsb2IocGF0dGVybiwgR0xPQl9ET09GRlMsIE5VTEwsICZnbG9iYnVmKTsKKyAgICBmb3IgKGkgPSAwO2kgPCBnbG9iYnVmLmdsX3BhdGhjO2krKykgeworICAgICAgICBzbnByaW50ZihyZXN1bHQsIDQ5OSwgInJlc3VsdC9YUGF0aC94cHRyLyVzIiwKKwkgICAgICAgICBiYXNlRmlsZW5hbWUoZ2xvYmJ1Zi5nbF9wYXRodltpXSkpOworCXJlcyA9IHhwYXRoQ29tbW9uVGVzdChnbG9iYnVmLmdsX3BhdGh2W2ldLCAmcmVzdWx0WzBdLCAxLCAwKTsKKwlpZiAocmVzICE9IDApCisJICAgIHJldCA9IHJlczsKKyAgICB9CisgICAgZ2xvYmZyZWUoJmdsb2JidWYpOworCisgICAgeG1sRnJlZURvYyh4cGF0aERvY3VtZW50KTsKKyAgICByZXR1cm4ocmV0KTsKK30KKyNlbmRpZiAvKiBMSUJYTUxfWFBUUl9FTkFCTEVEICovCisKKy8qKgorICogeG1saWREb2NUZXN0OgorICogQGZpbGVuYW1lOiB0aGUgZmlsZSB0byBwYXJzZQorICogQHJlc3VsdDogdGhlIGZpbGUgd2l0aCBleHBlY3RlZCByZXN1bHQKKyAqIEBlcnI6IHRoZSBmaWxlIHdpdGggZXJyb3IgbWVzc2FnZXMKKyAqCisgKiBQYXJzZSBhIGZpbGUgY29udGFpbmluZyB4bWw6aWQgYW5kIGNoZWNrIGZvciBlcnJvcnMgYW5kIHZlcmlmeQorICogdGhhdCBYUGF0aCBxdWVyaWVzIHdpbGwgd29yayBvbiB0aGVtIGFzIGV4cGVjdGVkLgorICoKKyAqIFJldHVybnMgMCBpbiBjYXNlIG9mIHN1Y2Nlc3MsIGFuIGVycm9yIGNvZGUgb3RoZXJ3aXNlCisgKi8KK3N0YXRpYyBpbnQKK3htbGlkRG9jVGVzdChjb25zdCBjaGFyICpmaWxlbmFtZSwKKyAgICAgICAgICAgICBjb25zdCBjaGFyICpyZXN1bHQsCisgICAgICAgICAgICAgY29uc3QgY2hhciAqZXJyLAorICAgICAgICAgICAgIGludCBvcHRpb25zKSB7CisKKyAgICBpbnQgcmVzID0gMDsKKyAgICBpbnQgcmV0ID0gMDsKKyAgICBjaGFyICp0ZW1wOworCisgICAgeHBhdGhEb2N1bWVudCA9IHhtbFJlYWRGaWxlKGZpbGVuYW1lLCBOVUxMLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zIHwgWE1MX1BBUlNFX0RUREFUVFIgfCBYTUxfUEFSU0VfTk9FTlQpOworICAgIGlmICh4cGF0aERvY3VtZW50ID09IE5VTEwpIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJGYWlsZWQgdG8gbG9hZCAlc1xuIiwgZmlsZW5hbWUpOworCXJldHVybigtMSk7CisgICAgfQorCisgICAgdGVtcCA9IHJlc3VsdEZpbGVuYW1lKGZpbGVuYW1lLCAiIiwgIi5yZXMiKTsKKyAgICBpZiAodGVtcCA9PSBOVUxMKSB7CisgICAgICAgIGZwcmludGYoc3RkZXJyLCAiT3V0IG9mIG1lbW9yeVxuIik7CisgICAgICAgIGZhdGFsRXJyb3IoKTsKKyAgICB9CisgICAgeHBhdGhPdXRwdXQgPSBmb3Blbih0ZW1wLCAid2IiKTsKKyAgICBpZiAoeHBhdGhPdXRwdXQgPT0gTlVMTCkgeworCWZwcmludGYoc3RkZXJyLCAiZmFpbGVkIHRvIG9wZW4gb3V0cHV0IGZpbGUgJXNcbiIsIHRlbXApOworICAgICAgICB4bWxGcmVlRG9jKHhwYXRoRG9jdW1lbnQpOworICAgICAgICBmcmVlKHRlbXApOworCXJldHVybigtMSk7CisgICAgfQorCisgICAgdGVzdFhQYXRoKCJpZCgnYmFyJykiLCAwLCAwKTsKKworICAgIGZjbG9zZSh4cGF0aE91dHB1dCk7CisgICAgaWYgKHJlc3VsdCAhPSBOVUxMKSB7CisJcmV0ID0gY29tcGFyZUZpbGVzKHRlbXAsIHJlc3VsdCk7CisJaWYgKHJldCkgeworCSAgICBmcHJpbnRmKHN0ZGVyciwgIlJlc3VsdCBmb3IgJXMgZmFpbGVkXG4iLCBmaWxlbmFtZSk7CisJICAgIHJlcyA9IDE7CisJfQorICAgIH0KKworICAgIGlmICh0ZW1wICE9IE5VTEwpIHsKKyAgICAgICAgdW5saW5rKHRlbXApOworICAgICAgICBmcmVlKHRlbXApOworICAgIH0KKyAgICB4bWxGcmVlRG9jKHhwYXRoRG9jdW1lbnQpOworCisgICAgaWYgKGVyciAhPSBOVUxMKSB7CisJcmV0ID0gY29tcGFyZUZpbGVNZW0oZXJyLCB0ZXN0RXJyb3JzLCB0ZXN0RXJyb3JzU2l6ZSk7CisJaWYgKHJldCAhPSAwKSB7CisJICAgIGZwcmludGYoc3RkZXJyLCAiRXJyb3IgZm9yICVzIGZhaWxlZFxuIiwgZmlsZW5hbWUpOworCSAgICByZXMgPSAxOworCX0KKyAgICB9CisgICAgcmV0dXJuKHJlcyk7Cit9CisKKyNlbmRpZiAvKiBMSUJYTUxfREVCVUdfRU5BQkxFRCAqLworI2VuZGlmIC8qIFhQQVRIICovCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQkJVVJJIGJhc2VkIHRlc3RzCQkJCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK3N0YXRpYyB2b2lkCitoYW5kbGVVUkkoY29uc3QgY2hhciAqc3RyLCBjb25zdCBjaGFyICpiYXNlLCBGSUxFICpvKSB7CisgICAgaW50IHJldDsKKyAgICB4bWxVUklQdHIgdXJpOworICAgIHhtbENoYXIgKnJlcyA9IE5VTEw7CisKKyAgICB1cmkgPSB4bWxDcmVhdGVVUkkoKTsKKworICAgIGlmIChiYXNlID09IE5VTEwpIHsKKwlyZXQgPSB4bWxQYXJzZVVSSVJlZmVyZW5jZSh1cmksIHN0cik7CisJaWYgKHJldCAhPSAwKQorCSAgICBmcHJpbnRmKG8sICIlcyA6IGVycm9yICVkXG4iLCBzdHIsIHJldCk7CisJZWxzZSB7CisJICAgIHhtbE5vcm1hbGl6ZVVSSVBhdGgodXJpLT5wYXRoKTsKKwkgICAgeG1sUHJpbnRVUkkobywgdXJpKTsKKwkgICAgZnByaW50ZihvLCAiXG4iKTsKKwl9CisgICAgfSBlbHNlIHsKKwlyZXMgPSB4bWxCdWlsZFVSSSgoeG1sQ2hhciAqKXN0ciwgKHhtbENoYXIgKikgYmFzZSk7CisJaWYgKHJlcyAhPSBOVUxMKSB7CisJICAgIGZwcmludGYobywgIiVzXG4iLCAoY2hhciAqKSByZXMpOworCX0KKwllbHNlCisJICAgIGZwcmludGYobywgIjo6RVJST1I6OlxuIik7CisgICAgfQorICAgIGlmIChyZXMgIT0gTlVMTCkKKwl4bWxGcmVlKHJlcyk7CisgICAgeG1sRnJlZVVSSSh1cmkpOworfQorCisvKioKKyAqIHVyaUNvbW1vblRlc3Q6CisgKiBAZmlsZW5hbWU6IHRoZSBmaWxlIHRvIHBhcnNlCisgKiBAcmVzdWx0OiB0aGUgZmlsZSB3aXRoIGV4cGVjdGVkIHJlc3VsdAorICogQGVycjogdGhlIGZpbGUgd2l0aCBlcnJvciBtZXNzYWdlcworICoKKyAqIFBhcnNlIGEgZmlsZSBjb250YWluaW5nIFVSSSBhbmQgY2hlY2sgZm9yIGVycm9ycworICoKKyAqIFJldHVybnMgMCBpbiBjYXNlIG9mIHN1Y2Nlc3MsIGFuIGVycm9yIGNvZGUgb3RoZXJ3aXNlCisgKi8KK3N0YXRpYyBpbnQKK3VyaUNvbW1vblRlc3QoY29uc3QgY2hhciAqZmlsZW5hbWUsCisgICAgICAgICAgICAgY29uc3QgY2hhciAqcmVzdWx0LAorICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmVyciwKKyAgICAgICAgICAgICBjb25zdCBjaGFyICpiYXNlKSB7CisgICAgY2hhciAqdGVtcDsKKyAgICBGSUxFICpvLCAqZjsKKyAgICBjaGFyIHN0clsxMDI0XTsKKyAgICBpbnQgcmVzID0gMCwgaSwgcmV0OworCisgICAgdGVtcCA9IHJlc3VsdEZpbGVuYW1lKGZpbGVuYW1lLCAiIiwgIi5yZXMiKTsKKyAgICBpZiAodGVtcCA9PSBOVUxMKSB7CisgICAgICAgIGZwcmludGYoc3RkZXJyLCAiT3V0IG9mIG1lbW9yeVxuIik7CisgICAgICAgIGZhdGFsRXJyb3IoKTsKKyAgICB9CisgICAgbyA9IGZvcGVuKHRlbXAsICJ3YiIpOworICAgIGlmIChvID09IE5VTEwpIHsKKwlmcHJpbnRmKHN0ZGVyciwgImZhaWxlZCB0byBvcGVuIG91dHB1dCBmaWxlICVzXG4iLCB0ZW1wKTsKKyAgICAgICAgZnJlZSh0ZW1wKTsKKwlyZXR1cm4oLTEpOworICAgIH0KKyAgICBmID0gZm9wZW4oZmlsZW5hbWUsICJyYiIpOworICAgIGlmIChmID09IE5VTEwpIHsKKwlmcHJpbnRmKHN0ZGVyciwgImZhaWxlZCB0byBvcGVuIGlucHV0IGZpbGUgJXNcbiIsIGZpbGVuYW1lKTsKKwlmY2xvc2Uobyk7CisgICAgICAgIGlmICh0ZW1wICE9IE5VTEwpIHsKKyAgICAgICAgICAgIHVubGluayh0ZW1wKTsKKyAgICAgICAgICAgIGZyZWUodGVtcCk7CisgICAgICAgIH0KKwlyZXR1cm4oLTEpOworICAgIH0KKworICAgIHdoaWxlICgxKSB7CisJLyoKKwkgKiByZWFkIG9uZSBsaW5lIGluIHN0cmluZyBidWZmZXIuCisJICovCisJaWYgKGZnZXRzICgmc3RyWzBdLCBzaXplb2YgKHN0cikgLSAxLCBmKSA9PSBOVUxMKQorCSAgIGJyZWFrOworCisJLyoKKwkgKiByZW1vdmUgdGhlIGVuZGluZyBzcGFjZXMKKwkgKi8KKwlpID0gc3RybGVuKHN0cik7CisJd2hpbGUgKChpID4gMCkgJiYKKwkgICAgICAgKChzdHJbaSAtIDFdID09ICdcbicpIHx8IChzdHJbaSAtIDFdID09ICdccicpIHx8CisJCShzdHJbaSAtIDFdID09ICcgJykgfHwgKHN0cltpIC0gMV0gPT0gJ1x0JykpKSB7CisJICAgIGktLTsKKwkgICAgc3RyW2ldID0gMDsKKwl9CisJbmJfdGVzdHMrKzsKKwloYW5kbGVVUkkoc3RyLCBiYXNlLCBvKTsKKyAgICB9CisKKyAgICBmY2xvc2UoZik7CisgICAgZmNsb3NlKG8pOworCisgICAgaWYgKHJlc3VsdCAhPSBOVUxMKSB7CisJcmV0ID0gY29tcGFyZUZpbGVzKHRlbXAsIHJlc3VsdCk7CisJaWYgKHJldCkgeworCSAgICBmcHJpbnRmKHN0ZGVyciwgIlJlc3VsdCBmb3IgJXMgZmFpbGVkXG4iLCBmaWxlbmFtZSk7CisJICAgIHJlcyA9IDE7CisJfQorICAgIH0KKyAgICBpZiAoZXJyICE9IE5VTEwpIHsKKwlyZXQgPSBjb21wYXJlRmlsZU1lbShlcnIsIHRlc3RFcnJvcnMsIHRlc3RFcnJvcnNTaXplKTsKKwlpZiAocmV0ICE9IDApIHsKKwkgICAgZnByaW50ZihzdGRlcnIsICJFcnJvciBmb3IgJXMgZmFpbGVkXG4iLCBmaWxlbmFtZSk7CisJICAgIHJlcyA9IDE7CisJfQorICAgIH0KKworICAgIGlmICh0ZW1wICE9IE5VTEwpIHsKKyAgICAgICAgdW5saW5rKHRlbXApOworICAgICAgICBmcmVlKHRlbXApOworICAgIH0KKyAgICByZXR1cm4ocmVzKTsKK30KKworLyoqCisgKiB1cmlQYXJzZVRlc3Q6CisgKiBAZmlsZW5hbWU6IHRoZSBmaWxlIHRvIHBhcnNlCisgKiBAcmVzdWx0OiB0aGUgZmlsZSB3aXRoIGV4cGVjdGVkIHJlc3VsdAorICogQGVycjogdGhlIGZpbGUgd2l0aCBlcnJvciBtZXNzYWdlcworICoKKyAqIFBhcnNlIGEgZmlsZSBjb250YWluaW5nIFVSSSBhbmQgY2hlY2sgZm9yIGVycm9ycworICoKKyAqIFJldHVybnMgMCBpbiBjYXNlIG9mIHN1Y2Nlc3MsIGFuIGVycm9yIGNvZGUgb3RoZXJ3aXNlCisgKi8KK3N0YXRpYyBpbnQKK3VyaVBhcnNlVGVzdChjb25zdCBjaGFyICpmaWxlbmFtZSwKKyAgICAgICAgICAgICBjb25zdCBjaGFyICpyZXN1bHQsCisgICAgICAgICAgICAgY29uc3QgY2hhciAqZXJyLAorICAgICAgICAgICAgIGludCBvcHRpb25zIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICByZXR1cm4odXJpQ29tbW9uVGVzdChmaWxlbmFtZSwgcmVzdWx0LCBlcnIsIE5VTEwpKTsKK30KKworLyoqCisgKiB1cmlCYXNlVGVzdDoKKyAqIEBmaWxlbmFtZTogdGhlIGZpbGUgdG8gcGFyc2UKKyAqIEByZXN1bHQ6IHRoZSBmaWxlIHdpdGggZXhwZWN0ZWQgcmVzdWx0CisgKiBAZXJyOiB0aGUgZmlsZSB3aXRoIGVycm9yIG1lc3NhZ2VzCisgKgorICogUGFyc2UgYSBmaWxlIGNvbnRhaW5pbmcgVVJJLCBjb21wb3NlIHRoZW0gYWdhaW5zdCBhIGZpeGVkIGJhc2UgYW5kCisgKiBjaGVjayBmb3IgZXJyb3JzCisgKgorICogUmV0dXJucyAwIGluIGNhc2Ugb2Ygc3VjY2VzcywgYW4gZXJyb3IgY29kZSBvdGhlcndpc2UKKyAqLworc3RhdGljIGludAordXJpQmFzZVRlc3QoY29uc3QgY2hhciAqZmlsZW5hbWUsCisgICAgICAgICAgICAgY29uc3QgY2hhciAqcmVzdWx0LAorICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmVyciwKKyAgICAgICAgICAgICBpbnQgb3B0aW9ucyBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgcmV0dXJuKHVyaUNvbW1vblRlc3QoZmlsZW5hbWUsIHJlc3VsdCwgZXJyLAorICAgICAgICAgICAgICAgICAgICAgICAgICJodHRwOi8vZm9vLmNvbS9wYXRoL3RvL2luZGV4Lmh0bWw/b3JpZyNoZWxwIikpOworfQorCitzdGF0aWMgaW50IHVyaXBfc3VjY2VzcyA9IDE7CitzdGF0aWMgaW50IHVyaXBfY3VycmVudCA9IDA7CitzdGF0aWMgY29uc3QgY2hhciAqdXJpcF90ZXN0VVJMc1tdID0geworICAgICJ1cmlwOi8vZXhhbXBsZS5jb20vYSBiLmh0bWwiLAorICAgICJ1cmlwOi8vZXhhbXBsZS5jb20vYSUyMGIuaHRtbCIsCisgICAgImZpbGU6Ly8vcGF0aC90by9hIGIuaHRtbCIsCisgICAgImZpbGU6Ly8vcGF0aC90by9hJTIwYi5odG1sIiwKKyAgICAiL3BhdGgvdG8vYSBiLmh0bWwiLAorICAgICIvcGF0aC90by9hJTIwYi5odG1sIiwKKyAgICAidXJpcDovL2V4YW1wbGUuY29tL3IiICJceGU5IiAic3VtIiAiXHhlOSIgIi5odG1sIiwKKyAgICAidXJpcDovL2V4YW1wbGUuY29tL3Rlc3Q/YT0xJmI9MiUyNjMmYz00I2ZvbyIsCisgICAgTlVMTAorfTsKK3N0YXRpYyBjb25zdCBjaGFyICp1cmlwX3JjdnNVUkxzW10gPSB7CisgICAgLyogaXQgaXMgYW4gVVJJIHRoZSBzdHJpbmdzIG11c3QgYmUgZXNjYXBlZCAqLworICAgICJ1cmlwOi8vZXhhbXBsZS5jb20vYSUyMGIuaHRtbCIsCisgICAgLyogY2hlY2sgdGhhdCAlIGVzY2FwaW5nIGlzIG5vdCBicm9rZW4gKi8KKyAgICAidXJpcDovL2V4YW1wbGUuY29tL2ElMjBiLmh0bWwiLAorICAgIC8qIGl0J3MgYW4gVVJJIHBhdGggdGhlIHN0cmluZ3MgbXVzdCBiZSBlc2NhcGVkICovCisgICAgImZpbGU6Ly8vcGF0aC90by9hJTIwYi5odG1sIiwKKyAgICAvKiBjaGVjayB0aGF0ICUgZXNjYXBpbmcgaXMgbm90IGJyb2tlbiAqLworICAgICJmaWxlOi8vL3BhdGgvdG8vYSUyMGIuaHRtbCIsCisgICAgLyogdGhpcyBpcyBub3QgYW4gVVJJLCB0aGlzIGlzIGEgcGF0aCwgc28gdGhpcyBzaG91bGQgbm90IGJlIGVzY2FwZWQgKi8KKyAgICAiL3BhdGgvdG8vYSBiLmh0bWwiLAorICAgIC8qIGNoZWNrIHRoYXQgcGF0aHMgd2l0aCAlIGFyZSBub3QgYnJva2VuICovCisgICAgIi9wYXRoL3RvL2ElMjBiLmh0bWwiLAorICAgIC8qIG91dCBvZiBjb250ZXh0IHRoZSBlbmNvZGluZyBjYW4ndCBiZSBndWVzc2VkIGJ5dGUgYnkgYnl0ZSBjb252ZXJzaW9uICovCisgICAgInVyaXA6Ly9leGFtcGxlLmNvbS9yJUU5c3VtJUU5Lmh0bWwiLAorICAgIC8qIHZlcmlmeSB3ZSBkb24ndCBkZXN0cm95IFVSSXMgZXNwZWNpYWxseSB0aGUgcXVlcnkgcGFydCAqLworICAgICJ1cmlwOi8vZXhhbXBsZS5jb20vdGVzdD9hPTEmYj0yJTI2MyZjPTQjZm9vIiwKKyAgICBOVUxMCit9Oworc3RhdGljIGNvbnN0IGNoYXIgKnVyaXBfcmVzID0gIjxsaXN0Lz4iOworc3RhdGljIGNvbnN0IGNoYXIgKnVyaXBfY3VyID0gTlVMTDsKK3N0YXRpYyBpbnQgdXJpcF9ybGVuOworCisvKioKKyAqIHVyaXBNYXRjaDoKKyAqIEBVUkk6IGFuIFVSSSB0byB0ZXN0CisgKgorICogQ2hlY2sgZm9yIGFuIHVyaXA6IHF1ZXJ5CisgKgorICogUmV0dXJucyAxIGlmIHllcyBhbmQgMCBpZiBhbm90aGVyIElucHV0IG1vZHVsZSBzaG91bGQgYmUgdXNlZAorICovCitzdGF0aWMgaW50Cit1cmlwTWF0Y2goY29uc3QgY2hhciAqIFVSSSkgeworICAgIGlmICgoVVJJID09IE5VTEwpIHx8ICghc3RyY21wKFVSSSwgImZpbGU6Ly8vZXRjL3htbC9jYXRhbG9nIikpKQorICAgICAgICByZXR1cm4oMCk7CisgICAgLyogVmVyaWZ5IHdlIHJlY2VpdmVkIHRoZSBlc2NhcGVkIFVSTCAqLworICAgIGlmIChzdHJjbXAodXJpcF9yY3ZzVVJMc1t1cmlwX2N1cnJlbnRdLCBVUkkpKQorCXVyaXBfc3VjY2VzcyA9IDA7CisgICAgcmV0dXJuKDEpOworfQorCisvKioKKyAqIHVyaXBPcGVuOgorICogQFVSSTogYW4gVVJJIHRvIHRlc3QKKyAqCisgKiBSZXR1cm4gYSBwb2ludGVyIHRvIHRoZSB1cmlwOiBxdWVyeSBoYW5kbGVyLCBpbiB0aGlzIGV4YW1wbGUgc2ltcGx5CisgKiB0aGUgdXJpcF9jdXJyZW50IHBvaW50ZXIuLi4KKyAqCisgKiBSZXR1cm5zIGFuIElucHV0IGNvbnRleHQgb3IgTlVMTCBpbiBjYXNlIG9yIGVycm9yCisgKi8KK3N0YXRpYyB2b2lkICoKK3VyaXBPcGVuKGNvbnN0IGNoYXIgKiBVUkkpIHsKKyAgICBpZiAoKFVSSSA9PSBOVUxMKSB8fCAoIXN0cmNtcChVUkksICJmaWxlOi8vL2V0Yy94bWwvY2F0YWxvZyIpKSkKKyAgICAgICAgcmV0dXJuKE5VTEwpOworICAgIC8qIFZlcmlmeSB3ZSByZWNlaXZlZCB0aGUgZXNjYXBlZCBVUkwgKi8KKyAgICBpZiAoc3RyY21wKHVyaXBfcmN2c1VSTHNbdXJpcF9jdXJyZW50XSwgVVJJKSkKKwl1cmlwX3N1Y2Nlc3MgPSAwOworICAgIHVyaXBfY3VyID0gdXJpcF9yZXM7CisgICAgdXJpcF9ybGVuID0gc3RybGVuKHVyaXBfcmVzKTsKKyAgICByZXR1cm4oKHZvaWQgKikgdXJpcF9jdXIpOworfQorCisvKioKKyAqIHVyaXBDbG9zZToKKyAqIEBjb250ZXh0OiB0aGUgcmVhZCBjb250ZXh0CisgKgorICogQ2xvc2UgdGhlIHVyaXA6IHF1ZXJ5IGhhbmRsZXIKKyAqCisgKiBSZXR1cm5zIDAgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcgorICovCitzdGF0aWMgaW50Cit1cmlwQ2xvc2Uodm9pZCAqIGNvbnRleHQpIHsKKyAgICBpZiAoY29udGV4dCA9PSBOVUxMKSByZXR1cm4oLTEpOworICAgIHVyaXBfY3VyID0gTlVMTDsKKyAgICB1cmlwX3JsZW4gPSAwOworICAgIHJldHVybigwKTsKK30KKworLyoqCisgKiB1cmlwUmVhZDoKKyAqIEBjb250ZXh0OiB0aGUgcmVhZCBjb250ZXh0CisgKiBAYnVmZmVyOiB3aGVyZSB0byBzdG9yZSBkYXRhCisgKiBAbGVuOiBudW1iZXIgb2YgYnl0ZXMgdG8gcmVhZAorICoKKyAqIEltcGxlbWVudCBhbiB1cmlwOiBxdWVyeSByZWFkLgorICoKKyAqIFJldHVybnMgdGhlIG51bWJlciBvZiBieXRlcyByZWFkIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworc3RhdGljIGludAordXJpcFJlYWQodm9pZCAqIGNvbnRleHQsIGNoYXIgKiBidWZmZXIsIGludCBsZW4pIHsKKyAgIGNvbnN0IGNoYXIgKnB0ciA9IChjb25zdCBjaGFyICopIGNvbnRleHQ7CisKKyAgIGlmICgoY29udGV4dCA9PSBOVUxMKSB8fCAoYnVmZmVyID09IE5VTEwpIHx8IChsZW4gPCAwKSkKKyAgICAgICByZXR1cm4oLTEpOworCisgICBpZiAobGVuID4gdXJpcF9ybGVuKSBsZW4gPSB1cmlwX3JsZW47CisgICBtZW1jcHkoYnVmZmVyLCBwdHIsIGxlbik7CisgICB1cmlwX3JsZW4gLT0gbGVuOworICAgcmV0dXJuKGxlbik7Cit9CisKK3N0YXRpYyBpbnQKK3VyaXBfY2hlY2tVUkwoY29uc3QgY2hhciAqVVJMKSB7CisgICAgeG1sRG9jUHRyIGRvYzsKKworICAgIGRvYyA9IHhtbFJlYWRGaWxlKFVSTCwgTlVMTCwgMCk7CisgICAgaWYgKGRvYyA9PSBOVUxMKQorICAgICAgICByZXR1cm4oLTEpOworICAgIHhtbEZyZWVEb2MoZG9jKTsKKyAgICByZXR1cm4oMSk7Cit9CisKKy8qKgorICogdXJpUGF0aFRlc3Q6CisgKiBAZmlsZW5hbWU6IGlnbm9yZWQKKyAqIEByZXN1bHQ6IGlnbm9yZWQKKyAqIEBlcnI6IGlnbm9yZWQKKyAqCisgKiBSdW4gYSBzZXQgb2YgdGVzdHMgdG8gY2hlY2sgaG93IFBhdGggYW5kIFVSSSBhcmUgaGFuZGxlZCBiZWZvcmUKKyAqIGJlaW5nIHBhc3NlZCB0byB0aGUgSS9PIGxheWVyCisgKgorICogUmV0dXJucyAwIGluIGNhc2Ugb2Ygc3VjY2VzcywgYW4gZXJyb3IgY29kZSBvdGhlcndpc2UKKyAqLworc3RhdGljIGludAordXJpUGF0aFRlc3QoY29uc3QgY2hhciAqZmlsZW5hbWUgQVRUUklCVVRFX1VOVVNFRCwKKyAgICAgICAgICAgICBjb25zdCBjaGFyICpyZXN1bHQgQVRUUklCVVRFX1VOVVNFRCwKKyAgICAgICAgICAgICBjb25zdCBjaGFyICplcnIgQVRUUklCVVRFX1VOVVNFRCwKKyAgICAgICAgICAgICBpbnQgb3B0aW9ucyBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgaW50IHBhcnNlZDsKKyAgICBpbnQgZmFpbHVyZXMgPSAwOworCisgICAgLyoKKyAgICAgKiByZWdpc3RlciB0aGUgbmV3IEkvTyBoYW5kbGVycworICAgICAqLworICAgIGlmICh4bWxSZWdpc3RlcklucHV0Q2FsbGJhY2tzKHVyaXBNYXRjaCwgdXJpcE9wZW4sIHVyaXBSZWFkLCB1cmlwQ2xvc2UpIDwgMCkKKyAgICB7CisgICAgICAgIGZwcmludGYoc3RkZXJyLCAiZmFpbGVkIHRvIHJlZ2lzdGVyIEhUVFAgaGFuZGxlclxuIik7CisJcmV0dXJuKC0xKTsKKyAgICB9CisKKyAgICBmb3IgKHVyaXBfY3VycmVudCA9IDA7dXJpcF90ZXN0VVJMc1t1cmlwX2N1cnJlbnRdICE9IE5VTEw7dXJpcF9jdXJyZW50KyspIHsKKyAgICAgICAgdXJpcF9zdWNjZXNzID0gMTsKKyAgICAgICAgcGFyc2VkID0gdXJpcF9jaGVja1VSTCh1cmlwX3Rlc3RVUkxzW3VyaXBfY3VycmVudF0pOworCWlmICh1cmlwX3N1Y2Nlc3MgIT0gMSkgeworCSAgICBmcHJpbnRmKHN0ZGVyciwgImZhaWxlZCB0aGUgVVJMIHBhc3NpbmcgdGVzdCBmb3IgJXMiLAorCSAgICAgICAgICAgIHVyaXBfdGVzdFVSTHNbdXJpcF9jdXJyZW50XSk7CisJICAgIGZhaWx1cmVzKys7CisJfSBlbHNlIGlmIChwYXJzZWQgIT0gMSkgeworCSAgICBmcHJpbnRmKHN0ZGVyciwgImZhaWxlZCB0aGUgcGFyc2luZyB0ZXN0IGZvciAlcyIsCisJICAgICAgICAgICAgdXJpcF90ZXN0VVJMc1t1cmlwX2N1cnJlbnRdKTsKKwkgICAgZmFpbHVyZXMrKzsKKwl9CisJbmJfdGVzdHMrKzsKKyAgICB9CisKKyAgICB4bWxQb3BJbnB1dENhbGxiYWNrcygpOworICAgIHJldHVybihmYWlsdXJlcyk7Cit9CisKKyNpZmRlZiBMSUJYTUxfU0NIRU1BU19FTkFCTEVECisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQkJU2NoZW1hcyB0ZXN0cwkJCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIGludAorc2NoZW1hc09uZVRlc3QoY29uc3QgY2hhciAqc2NoLAorICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZmlsZW5hbWUsCisgICAgICAgICAgICAgICBjb25zdCBjaGFyICpyZXN1bHQsCisJICAgICAgIGNvbnN0IGNoYXIgKmVyciwKKwkgICAgICAgaW50IG9wdGlvbnMsCisJICAgICAgIHhtbFNjaGVtYVB0ciBzY2hlbWFzKSB7CisgICAgeG1sRG9jUHRyIGRvYzsKKyAgICB4bWxTY2hlbWFWYWxpZEN0eHRQdHIgY3R4dDsKKyAgICBpbnQgcmV0ID0gMDsKKyAgICBpbnQgdmFsaWRSZXN1bHQgPSAwOworICAgIGNoYXIgKnRlbXA7CisgICAgRklMRSAqc2NoZW1hc091dHB1dDsKKworICAgIGRvYyA9IHhtbFJlYWRGaWxlKGZpbGVuYW1lLCBOVUxMLCBvcHRpb25zKTsKKyAgICBpZiAoZG9jID09IE5VTEwpIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJmYWlsZWQgdG8gcGFyc2UgaW5zdGFuY2UgJXMgZm9yICVzXG4iLCBmaWxlbmFtZSwgc2NoKTsKKwlyZXR1cm4oLTEpOworICAgIH0KKworICAgIHRlbXAgPSByZXN1bHRGaWxlbmFtZShyZXN1bHQsICIiLCAiLnJlcyIpOworICAgIGlmICh0ZW1wID09IE5VTEwpIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJPdXQgb2YgbWVtb3J5XG4iKTsKKyAgICAgICAgZmF0YWxFcnJvcigpOworICAgIH0KKyAgICBzY2hlbWFzT3V0cHV0ID0gZm9wZW4odGVtcCwgIndiIik7CisgICAgaWYgKHNjaGVtYXNPdXRwdXQgPT0gTlVMTCkgeworCWZwcmludGYoc3RkZXJyLCAiZmFpbGVkIHRvIG9wZW4gb3V0cHV0IGZpbGUgJXNcbiIsIHRlbXApOworCXhtbEZyZWVEb2MoZG9jKTsKKyAgICAgICAgZnJlZSh0ZW1wKTsKKwlyZXR1cm4oLTEpOworICAgIH0KKworICAgIGN0eHQgPSB4bWxTY2hlbWFOZXdWYWxpZEN0eHQoc2NoZW1hcyk7CisgICAgeG1sU2NoZW1hU2V0VmFsaWRFcnJvcnMoY3R4dCwKKyAgICAgICAgICh4bWxTY2hlbWFWYWxpZGl0eUVycm9yRnVuYykgdGVzdEVycm9ySGFuZGxlciwKKyAgICAgICAgICh4bWxTY2hlbWFWYWxpZGl0eVdhcm5pbmdGdW5jKSB0ZXN0RXJyb3JIYW5kbGVyLAorCSBjdHh0KTsKKyAgICB2YWxpZFJlc3VsdCA9IHhtbFNjaGVtYVZhbGlkYXRlRG9jKGN0eHQsIGRvYyk7CisgICAgaWYgKHZhbGlkUmVzdWx0ID09IDApIHsKKwlmcHJpbnRmKHNjaGVtYXNPdXRwdXQsICIlcyB2YWxpZGF0ZXNcbiIsIGZpbGVuYW1lKTsKKyAgICB9IGVsc2UgaWYgKHZhbGlkUmVzdWx0ID4gMCkgeworCWZwcmludGYoc2NoZW1hc091dHB1dCwgIiVzIGZhaWxzIHRvIHZhbGlkYXRlXG4iLCBmaWxlbmFtZSk7CisgICAgfSBlbHNlIHsKKwlmcHJpbnRmKHNjaGVtYXNPdXRwdXQsICIlcyB2YWxpZGF0aW9uIGdlbmVyYXRlZCBhbiBpbnRlcm5hbCBlcnJvclxuIiwKKwkgICAgICAgZmlsZW5hbWUpOworICAgIH0KKyAgICBmY2xvc2Uoc2NoZW1hc091dHB1dCk7CisgICAgaWYgKHJlc3VsdCkgeworCWlmIChjb21wYXJlRmlsZXModGVtcCwgcmVzdWx0KSkgeworCSAgICBmcHJpbnRmKHN0ZGVyciwgIlJlc3VsdCBmb3IgJXMgb24gJXMgZmFpbGVkXG4iLCBmaWxlbmFtZSwgc2NoKTsKKwkgICAgcmV0ID0gMTsKKwl9CisgICAgfQorICAgIGlmICh0ZW1wICE9IE5VTEwpIHsKKyAgICAgICAgdW5saW5rKHRlbXApOworICAgICAgICBmcmVlKHRlbXApOworICAgIH0KKworICAgIGlmICgodmFsaWRSZXN1bHQgIT0gMCkgJiYgKGVyciAhPSBOVUxMKSkgeworCWlmIChjb21wYXJlRmlsZU1lbShlcnIsIHRlc3RFcnJvcnMsIHRlc3RFcnJvcnNTaXplKSkgeworCSAgICBmcHJpbnRmKHN0ZGVyciwgIkVycm9yIGZvciAlcyBvbiAlcyBmYWlsZWRcbiIsIGZpbGVuYW1lLCBzY2gpOworCSAgICByZXQgPSAxOworCX0KKyAgICB9CisKKyAgICB4bWxTY2hlbWFGcmVlVmFsaWRDdHh0KGN0eHQpOworICAgIHhtbEZyZWVEb2MoZG9jKTsKKyAgICByZXR1cm4ocmV0KTsKK30KKy8qKgorICogc2NoZW1hc1Rlc3Q6CisgKiBAZmlsZW5hbWU6IHRoZSBzY2hlbWFzIGZpbGUKKyAqIEByZXN1bHQ6IHRoZSBmaWxlIHdpdGggZXhwZWN0ZWQgcmVzdWx0CisgKiBAZXJyOiB0aGUgZmlsZSB3aXRoIGVycm9yIG1lc3NhZ2VzCisgKgorICogUGFyc2UgYSBmaWxlIGNvbnRhaW5pbmcgVVJJLCBjb21wb3NlIHRoZW0gYWdhaW5zdCBhIGZpeGVkIGJhc2UgYW5kCisgKiBjaGVjayBmb3IgZXJyb3JzCisgKgorICogUmV0dXJucyAwIGluIGNhc2Ugb2Ygc3VjY2VzcywgYW4gZXJyb3IgY29kZSBvdGhlcndpc2UKKyAqLworc3RhdGljIGludAorc2NoZW1hc1Rlc3QoY29uc3QgY2hhciAqZmlsZW5hbWUsCisgICAgICAgICAgICBjb25zdCBjaGFyICpyZXN1bCBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgY29uc3QgY2hhciAqZXJyciBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgaW50IG9wdGlvbnMpIHsKKyAgICBjb25zdCBjaGFyICpiYXNlID0gYmFzZUZpbGVuYW1lKGZpbGVuYW1lKTsKKyAgICBjb25zdCBjaGFyICpiYXNlMjsKKyAgICBjb25zdCBjaGFyICppbnN0YW5jZTsKKyAgICB4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIGN0eHQ7CisgICAgeG1sU2NoZW1hUHRyIHNjaGVtYXM7CisgICAgaW50IHJlcyA9IDAsIGxlbiwgcmV0OworICAgIGNoYXIgcGF0dGVybls1MDBdOworICAgIGNoYXIgcHJlZml4WzUwMF07CisgICAgY2hhciByZXN1bHRbNTAwXTsKKyAgICBjaGFyIGVycls1MDBdOworICAgIGdsb2JfdCBnbG9iYnVmOworICAgIHNpemVfdCBpOworICAgIGNoYXIgY291bnQgPSAwOworCisgICAgLyogZmlyc3QgY29tcGlsZSB0aGUgc2NoZW1hcyBpZiBwb3NzaWJsZSAqLworICAgIGN0eHQgPSB4bWxTY2hlbWFOZXdQYXJzZXJDdHh0KGZpbGVuYW1lKTsKKyAgICB4bWxTY2hlbWFTZXRQYXJzZXJFcnJvcnMoY3R4dCwKKyAgICAgICAgICh4bWxTY2hlbWFWYWxpZGl0eUVycm9yRnVuYykgdGVzdEVycm9ySGFuZGxlciwKKyAgICAgICAgICh4bWxTY2hlbWFWYWxpZGl0eVdhcm5pbmdGdW5jKSB0ZXN0RXJyb3JIYW5kbGVyLAorCSBjdHh0KTsKKyAgICBzY2hlbWFzID0geG1sU2NoZW1hUGFyc2UoY3R4dCk7CisgICAgeG1sU2NoZW1hRnJlZVBhcnNlckN0eHQoY3R4dCk7CisKKyAgICAvKgorICAgICAqIG1vc3Qgb2YgdGhlIG1lc3MgaXMgYWJvdXQgdGhlIG91dHB1dCBmaWxlbmFtZXMgZ2VuZXJhdGVkIGJ5IHRoZSBNYWtlZmlsZQorICAgICAqLworICAgIGxlbiA9IHN0cmxlbihiYXNlKTsKKyAgICBpZiAoKGxlbiA+IDQ5OSkgfHwgKGxlbiA8IDUpKSB7CisgICAgICAgIHhtbFNjaGVtYUZyZWUoc2NoZW1hcyk7CisJcmV0dXJuKC0xKTsKKyAgICB9CisgICAgbGVuIC09IDQ7IC8qIHJlbW92ZSB0cmFpbGluZyAueHNkICovCisgICAgaWYgKGJhc2VbbGVuIC0gMl0gPT0gJ18nKSB7CisgICAgICAgIGxlbiAtPSAyOyAvKiByZW1vdmUgc3VidGVzdCBudW1iZXIgKi8KKyAgICB9CisgICAgaWYgKGJhc2VbbGVuIC0gMl0gPT0gJ18nKSB7CisgICAgICAgIGxlbiAtPSAyOyAvKiByZW1vdmUgc3VidGVzdCBudW1iZXIgKi8KKyAgICB9CisgICAgbWVtY3B5KHByZWZpeCwgYmFzZSwgbGVuKTsKKyAgICBwcmVmaXhbbGVuXSA9IDA7CisKKyAgICBzbnByaW50ZihwYXR0ZXJuLCA0OTksICIuL3Rlc3Qvc2NoZW1hcy8lc18/LnhtbCIsIHByZWZpeCk7CisgICAgcGF0dGVybls0OTldID0gMDsKKworICAgIGlmIChiYXNlW2xlbl0gPT0gJ18nKSB7CisgICAgICAgIGxlbiArPSAyOworCW1lbWNweShwcmVmaXgsIGJhc2UsIGxlbik7CisJcHJlZml4W2xlbl0gPSAwOworICAgIH0KKworICAgIGdsb2JidWYuZ2xfb2ZmcyA9IDA7CisgICAgZ2xvYihwYXR0ZXJuLCBHTE9CX0RPT0ZGUywgTlVMTCwgJmdsb2JidWYpOworICAgIGZvciAoaSA9IDA7aSA8IGdsb2JidWYuZ2xfcGF0aGM7aSsrKSB7CisgICAgICAgIHRlc3RFcnJvcnNTaXplID0gMDsKKwl0ZXN0RXJyb3JzWzBdID0gMDsKKyAgICAgICAgaW5zdGFuY2UgPSBnbG9iYnVmLmdsX3BhdGh2W2ldOworCWJhc2UyID0gYmFzZUZpbGVuYW1lKGluc3RhbmNlKTsKKwlsZW4gPSBzdHJsZW4oYmFzZTIpOworCWlmICgobGVuID4gNikgJiYgKGJhc2UyW2xlbiAtIDZdID09ICdfJykpIHsKKwkgICAgY291bnQgPSBiYXNlMltsZW4gLSA1XTsKKwkgICAgc25wcmludGYocmVzdWx0LCA0OTksICJyZXN1bHQvc2NoZW1hcy8lc18lYyIsCisJCSAgICAgcHJlZml4LCBjb3VudCk7CisJICAgIHJlc3VsdFs0OTldID0gMDsKKwkgICAgc25wcmludGYoZXJyLCA0OTksICJyZXN1bHQvc2NoZW1hcy8lc18lYy5lcnIiLAorCQkgICAgIHByZWZpeCwgY291bnQpOworCSAgICBlcnJbNDk5XSA9IDA7CisJfSBlbHNlIHsKKwkgICAgZnByaW50ZihzdGRlcnIsICJkb24ndCBrbm93IGhvdyB0byBwcm9jZXNzICVzXG4iLCBpbnN0YW5jZSk7CisJICAgIGNvbnRpbnVlOworCX0KKwlpZiAoc2NoZW1hcyA9PSBOVUxMKSB7CisJfSBlbHNlIHsKKwkgICAgbmJfdGVzdHMrKzsKKwkgICAgcmV0ID0gc2NoZW1hc09uZVRlc3QoZmlsZW5hbWUsIGluc3RhbmNlLCByZXN1bHQsIGVyciwKKwkgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9ucywgc2NoZW1hcyk7CisJICAgIGlmIChyZXQgIT0gMCkKKwkJcmVzID0gcmV0OworCX0KKyAgICB9CisgICAgZ2xvYmZyZWUoJmdsb2JidWYpOworICAgIHhtbFNjaGVtYUZyZWUoc2NoZW1hcyk7CisKKyAgICByZXR1cm4ocmVzKTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJCVNjaGVtYXMgdGVzdHMJCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBpbnQKK3JuZ09uZVRlc3QoY29uc3QgY2hhciAqc2NoLAorICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZmlsZW5hbWUsCisgICAgICAgICAgICAgICBjb25zdCBjaGFyICpyZXN1bHQsCisJICAgICAgIGNvbnN0IGNoYXIgKmVyciwKKwkgICAgICAgaW50IG9wdGlvbnMsCisJICAgICAgIHhtbFJlbGF4TkdQdHIgc2NoZW1hcykgeworICAgIHhtbERvY1B0ciBkb2M7CisgICAgeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0ciBjdHh0OworICAgIGludCByZXQgPSAwOworICAgIGNoYXIgKnRlbXA7CisgICAgRklMRSAqc2NoZW1hc091dHB1dDsKKworICAgIGRvYyA9IHhtbFJlYWRGaWxlKGZpbGVuYW1lLCBOVUxMLCBvcHRpb25zKTsKKyAgICBpZiAoZG9jID09IE5VTEwpIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJmYWlsZWQgdG8gcGFyc2UgaW5zdGFuY2UgJXMgZm9yICVzXG4iLCBmaWxlbmFtZSwgc2NoKTsKKwlyZXR1cm4oLTEpOworICAgIH0KKworICAgIHRlbXAgPSByZXN1bHRGaWxlbmFtZShyZXN1bHQsICIiLCAiLnJlcyIpOworICAgIGlmICh0ZW1wID09IE5VTEwpIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJPdXQgb2YgbWVtb3J5XG4iKTsKKyAgICAgICAgZmF0YWxFcnJvcigpOworICAgIH0KKyAgICBzY2hlbWFzT3V0cHV0ID0gZm9wZW4odGVtcCwgIndiIik7CisgICAgaWYgKHNjaGVtYXNPdXRwdXQgPT0gTlVMTCkgeworCWZwcmludGYoc3RkZXJyLCAiZmFpbGVkIHRvIG9wZW4gb3V0cHV0IGZpbGUgJXNcbiIsIHRlbXApOworCXhtbEZyZWVEb2MoZG9jKTsKKyAgICAgICAgZnJlZSh0ZW1wKTsKKwlyZXR1cm4oLTEpOworICAgIH0KKworICAgIGN0eHQgPSB4bWxSZWxheE5HTmV3VmFsaWRDdHh0KHNjaGVtYXMpOworICAgIHhtbFJlbGF4TkdTZXRWYWxpZEVycm9ycyhjdHh0LAorICAgICAgICAgKHhtbFJlbGF4TkdWYWxpZGl0eUVycm9yRnVuYykgdGVzdEVycm9ySGFuZGxlciwKKyAgICAgICAgICh4bWxSZWxheE5HVmFsaWRpdHlXYXJuaW5nRnVuYykgdGVzdEVycm9ySGFuZGxlciwKKwkgY3R4dCk7CisgICAgcmV0ID0geG1sUmVsYXhOR1ZhbGlkYXRlRG9jKGN0eHQsIGRvYyk7CisgICAgaWYgKHJldCA9PSAwKSB7CisJdGVzdEVycm9ySGFuZGxlcihOVUxMLCAiJXMgdmFsaWRhdGVzXG4iLCBmaWxlbmFtZSk7CisgICAgfSBlbHNlIGlmIChyZXQgPiAwKSB7CisJdGVzdEVycm9ySGFuZGxlcihOVUxMLCAiJXMgZmFpbHMgdG8gdmFsaWRhdGVcbiIsIGZpbGVuYW1lKTsKKyAgICB9IGVsc2UgeworCXRlc3RFcnJvckhhbmRsZXIoTlVMTCwgIiVzIHZhbGlkYXRpb24gZ2VuZXJhdGVkIGFuIGludGVybmFsIGVycm9yXG4iLAorCSAgICAgICBmaWxlbmFtZSk7CisgICAgfQorICAgIGZjbG9zZShzY2hlbWFzT3V0cHV0KTsKKyAgICByZXQgPSAwOworICAgIGlmIChyZXN1bHQpIHsKKwlpZiAoY29tcGFyZUZpbGVzKHRlbXAsIHJlc3VsdCkpIHsKKwkgICAgZnByaW50ZihzdGRlcnIsICJSZXN1bHQgZm9yICVzIG9uICVzIGZhaWxlZFxuIiwgZmlsZW5hbWUsIHNjaCk7CisJICAgIHJldCA9IDE7CisJfQorICAgIH0KKyAgICBpZiAodGVtcCAhPSBOVUxMKSB7CisgICAgICAgIHVubGluayh0ZW1wKTsKKyAgICAgICAgZnJlZSh0ZW1wKTsKKyAgICB9CisKKyAgICBpZiAoZXJyICE9IE5VTEwpIHsKKwlpZiAoY29tcGFyZUZpbGVNZW0oZXJyLCB0ZXN0RXJyb3JzLCB0ZXN0RXJyb3JzU2l6ZSkpIHsKKwkgICAgZnByaW50ZihzdGRlcnIsICJFcnJvciBmb3IgJXMgb24gJXMgZmFpbGVkXG4iLCBmaWxlbmFtZSwgc2NoKTsKKwkgICAgcmV0ID0gMTsKKwkgICAgcHJpbnRmKCIlcyIsIHRlc3RFcnJvcnMpOworCX0KKyAgICB9CisKKworICAgIHhtbFJlbGF4TkdGcmVlVmFsaWRDdHh0KGN0eHQpOworICAgIHhtbEZyZWVEb2MoZG9jKTsKKyAgICByZXR1cm4ocmV0KTsKK30KKy8qKgorICogcm5nVGVzdDoKKyAqIEBmaWxlbmFtZTogdGhlIHNjaGVtYXMgZmlsZQorICogQHJlc3VsdDogdGhlIGZpbGUgd2l0aCBleHBlY3RlZCByZXN1bHQKKyAqIEBlcnI6IHRoZSBmaWxlIHdpdGggZXJyb3IgbWVzc2FnZXMKKyAqCisgKiBQYXJzZSBhbiBSTkcgc2NoZW1hcyBhbmQgdGhlbiBhcHBseSBpdCB0byB0aGUgcmVsYXRlZCAueG1sCisgKgorICogUmV0dXJucyAwIGluIGNhc2Ugb2Ygc3VjY2VzcywgYW4gZXJyb3IgY29kZSBvdGhlcndpc2UKKyAqLworc3RhdGljIGludAorcm5nVGVzdChjb25zdCBjaGFyICpmaWxlbmFtZSwKKyAgICAgICAgICAgIGNvbnN0IGNoYXIgKnJlc3VsIEFUVFJJQlVURV9VTlVTRUQsCisgICAgICAgICAgICBjb25zdCBjaGFyICplcnJyIEFUVFJJQlVURV9VTlVTRUQsCisgICAgICAgICAgICBpbnQgb3B0aW9ucykgeworICAgIGNvbnN0IGNoYXIgKmJhc2UgPSBiYXNlRmlsZW5hbWUoZmlsZW5hbWUpOworICAgIGNvbnN0IGNoYXIgKmJhc2UyOworICAgIGNvbnN0IGNoYXIgKmluc3RhbmNlOworICAgIHhtbFJlbGF4TkdQYXJzZXJDdHh0UHRyIGN0eHQ7CisgICAgeG1sUmVsYXhOR1B0ciBzY2hlbWFzOworICAgIGludCByZXMgPSAwLCBsZW4sIHJldCA9IDA7CisgICAgY2hhciBwYXR0ZXJuWzUwMF07CisgICAgY2hhciBwcmVmaXhbNTAwXTsKKyAgICBjaGFyIHJlc3VsdFs1MDBdOworICAgIGNoYXIgZXJyWzUwMF07CisgICAgZ2xvYl90IGdsb2JidWY7CisgICAgc2l6ZV90IGk7CisgICAgY2hhciBjb3VudCA9IDA7CisKKyAgICAvKiBmaXJzdCBjb21waWxlIHRoZSBzY2hlbWFzIGlmIHBvc3NpYmxlICovCisgICAgY3R4dCA9IHhtbFJlbGF4TkdOZXdQYXJzZXJDdHh0KGZpbGVuYW1lKTsKKyAgICB4bWxSZWxheE5HU2V0UGFyc2VyRXJyb3JzKGN0eHQsCisgICAgICAgICAoeG1sUmVsYXhOR1ZhbGlkaXR5RXJyb3JGdW5jKSB0ZXN0RXJyb3JIYW5kbGVyLAorICAgICAgICAgKHhtbFJlbGF4TkdWYWxpZGl0eVdhcm5pbmdGdW5jKSB0ZXN0RXJyb3JIYW5kbGVyLAorCSBjdHh0KTsKKyAgICBzY2hlbWFzID0geG1sUmVsYXhOR1BhcnNlKGN0eHQpOworICAgIHhtbFJlbGF4TkdGcmVlUGFyc2VyQ3R4dChjdHh0KTsKKworICAgIC8qCisgICAgICogbW9zdCBvZiB0aGUgbWVzcyBpcyBhYm91dCB0aGUgb3V0cHV0IGZpbGVuYW1lcyBnZW5lcmF0ZWQgYnkgdGhlIE1ha2VmaWxlCisgICAgICovCisgICAgbGVuID0gc3RybGVuKGJhc2UpOworICAgIGlmICgobGVuID4gNDk5KSB8fCAobGVuIDwgNSkpIHsKKyAgICAgICAgeG1sUmVsYXhOR0ZyZWUoc2NoZW1hcyk7CisJcmV0dXJuKC0xKTsKKyAgICB9CisgICAgbGVuIC09IDQ7IC8qIHJlbW92ZSB0cmFpbGluZyAucm5nICovCisgICAgbWVtY3B5KHByZWZpeCwgYmFzZSwgbGVuKTsKKyAgICBwcmVmaXhbbGVuXSA9IDA7CisKKyAgICBzbnByaW50ZihwYXR0ZXJuLCA0OTksICIuL3Rlc3QvcmVsYXhuZy8lc18/LnhtbCIsIHByZWZpeCk7CisgICAgcGF0dGVybls0OTldID0gMDsKKworICAgIGdsb2JidWYuZ2xfb2ZmcyA9IDA7CisgICAgZ2xvYihwYXR0ZXJuLCBHTE9CX0RPT0ZGUywgTlVMTCwgJmdsb2JidWYpOworICAgIGZvciAoaSA9IDA7aSA8IGdsb2JidWYuZ2xfcGF0aGM7aSsrKSB7CisgICAgICAgIHRlc3RFcnJvcnNTaXplID0gMDsKKwl0ZXN0RXJyb3JzWzBdID0gMDsKKyAgICAgICAgaW5zdGFuY2UgPSBnbG9iYnVmLmdsX3BhdGh2W2ldOworCWJhc2UyID0gYmFzZUZpbGVuYW1lKGluc3RhbmNlKTsKKwlsZW4gPSBzdHJsZW4oYmFzZTIpOworCWlmICgobGVuID4gNikgJiYgKGJhc2UyW2xlbiAtIDZdID09ICdfJykpIHsKKwkgICAgY291bnQgPSBiYXNlMltsZW4gLSA1XTsKKwkgICAgc25wcmludGYocmVzdWx0LCA0OTksICJyZXN1bHQvcmVsYXhuZy8lc18lYyIsCisJCSAgICAgcHJlZml4LCBjb3VudCk7CisJICAgIHJlc3VsdFs0OTldID0gMDsKKwkgICAgc25wcmludGYoZXJyLCA0OTksICJyZXN1bHQvcmVsYXhuZy8lc18lYy5lcnIiLAorCQkgICAgIHByZWZpeCwgY291bnQpOworCSAgICBlcnJbNDk5XSA9IDA7CisJfSBlbHNlIHsKKwkgICAgZnByaW50ZihzdGRlcnIsICJkb24ndCBrbm93IGhvdyB0byBwcm9jZXNzICVzXG4iLCBpbnN0YW5jZSk7CisJICAgIGNvbnRpbnVlOworCX0KKwlpZiAoc2NoZW1hcyA9PSBOVUxMKSB7CisJfSBlbHNlIHsKKwkgICAgbmJfdGVzdHMrKzsKKwkgICAgcmV0ID0gcm5nT25lVGVzdChmaWxlbmFtZSwgaW5zdGFuY2UsIHJlc3VsdCwgZXJyLAorCSAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zLCBzY2hlbWFzKTsKKwkgICAgaWYgKHJlcyAhPSAwKQorCQlyZXQgPSByZXM7CisJfQorICAgIH0KKyAgICBnbG9iZnJlZSgmZ2xvYmJ1Zik7CisgICAgeG1sUmVsYXhOR0ZyZWUoc2NoZW1hcyk7CisKKyAgICByZXR1cm4ocmV0KTsKK30KKworI2lmZGVmIExJQlhNTF9SRUFERVJfRU5BQkxFRAorLyoqCisgKiBybmdTdHJlYW1UZXN0OgorICogQGZpbGVuYW1lOiB0aGUgc2NoZW1hcyBmaWxlCisgKiBAcmVzdWx0OiB0aGUgZmlsZSB3aXRoIGV4cGVjdGVkIHJlc3VsdAorICogQGVycjogdGhlIGZpbGUgd2l0aCBlcnJvciBtZXNzYWdlcworICoKKyAqIFBhcnNlIGEgc2V0IG9mIGZpbGVzIHdpdGggc3RyZWFtaW5nLCBhcHBseWluZyBhbiBSTkcgc2NoZW1hcworICoKKyAqIFJldHVybnMgMCBpbiBjYXNlIG9mIHN1Y2Nlc3MsIGFuIGVycm9yIGNvZGUgb3RoZXJ3aXNlCisgKi8KK3N0YXRpYyBpbnQKK3JuZ1N0cmVhbVRlc3QoY29uc3QgY2hhciAqZmlsZW5hbWUsCisgICAgICAgICAgICBjb25zdCBjaGFyICpyZXN1bCBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgY29uc3QgY2hhciAqZXJyciBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgaW50IG9wdGlvbnMpIHsKKyAgICBjb25zdCBjaGFyICpiYXNlID0gYmFzZUZpbGVuYW1lKGZpbGVuYW1lKTsKKyAgICBjb25zdCBjaGFyICpiYXNlMjsKKyAgICBjb25zdCBjaGFyICppbnN0YW5jZTsKKyAgICBpbnQgcmVzID0gMCwgbGVuLCByZXQ7CisgICAgY2hhciBwYXR0ZXJuWzUwMF07CisgICAgY2hhciBwcmVmaXhbNTAwXTsKKyAgICBjaGFyIHJlc3VsdFs1MDBdOworICAgIGNoYXIgZXJyWzUwMF07CisgICAgZ2xvYl90IGdsb2JidWY7CisgICAgc2l6ZV90IGk7CisgICAgY2hhciBjb3VudCA9IDA7CisgICAgeG1sVGV4dFJlYWRlclB0ciByZWFkZXI7CisgICAgaW50IGRpc2FibGVfZXJyID0gMDsKKworICAgIC8qCisgICAgICogbW9zdCBvZiB0aGUgbWVzcyBpcyBhYm91dCB0aGUgb3V0cHV0IGZpbGVuYW1lcyBnZW5lcmF0ZWQgYnkgdGhlIE1ha2VmaWxlCisgICAgICovCisgICAgbGVuID0gc3RybGVuKGJhc2UpOworICAgIGlmICgobGVuID4gNDk5KSB8fCAobGVuIDwgNSkpIHsKKwlmcHJpbnRmKHN0ZGVyciwgImxlbihiYXNlKSA9PSAlZCAhXG4iLCBsZW4pOworCXJldHVybigtMSk7CisgICAgfQorICAgIGxlbiAtPSA0OyAvKiByZW1vdmUgdHJhaWxpbmcgLnJuZyAqLworICAgIG1lbWNweShwcmVmaXgsIGJhc2UsIGxlbik7CisgICAgcHJlZml4W2xlbl0gPSAwOworCisgICAgLyoKKyAgICAgKiBzdHJpY3RseSB1bmlmeWluZyB0aGUgZXJyb3IgbWVzc2FnZXMgaXMgbmVhcmx5IGltcG9zc2libGUgdGhpcworICAgICAqIGhhY2sgaXMgYWxzbyBkb25lIGluIHRoZSBNYWtlZmlsZQorICAgICAqLworICAgIGlmICgoIXN0cmNtcChwcmVmaXgsICJ0dXRvcjEwXzEiKSkgfHwgKCFzdHJjbXAocHJlZml4LCAidHV0b3IxMF8yIikpIHx8CisgICAgICAgICghc3RyY21wKHByZWZpeCwgInR1dG9yM18yIikpIHx8ICghc3RyY21wKHByZWZpeCwgIjMwNzM3NyIpKSB8fAorICAgICAgICAoIXN0cmNtcChwcmVmaXgsICJ0dXRvcjhfMiIpKSkKKwlkaXNhYmxlX2VyciA9IDE7CisKKyAgICBzbnByaW50ZihwYXR0ZXJuLCA0OTksICIuL3Rlc3QvcmVsYXhuZy8lc18/LnhtbCIsIHByZWZpeCk7CisgICAgcGF0dGVybls0OTldID0gMDsKKworICAgIGdsb2JidWYuZ2xfb2ZmcyA9IDA7CisgICAgZ2xvYihwYXR0ZXJuLCBHTE9CX0RPT0ZGUywgTlVMTCwgJmdsb2JidWYpOworICAgIGZvciAoaSA9IDA7aSA8IGdsb2JidWYuZ2xfcGF0aGM7aSsrKSB7CisgICAgICAgIHRlc3RFcnJvcnNTaXplID0gMDsKKwl0ZXN0RXJyb3JzWzBdID0gMDsKKyAgICAgICAgaW5zdGFuY2UgPSBnbG9iYnVmLmdsX3BhdGh2W2ldOworCWJhc2UyID0gYmFzZUZpbGVuYW1lKGluc3RhbmNlKTsKKwlsZW4gPSBzdHJsZW4oYmFzZTIpOworCWlmICgobGVuID4gNikgJiYgKGJhc2UyW2xlbiAtIDZdID09ICdfJykpIHsKKwkgICAgY291bnQgPSBiYXNlMltsZW4gLSA1XTsKKwkgICAgc25wcmludGYocmVzdWx0LCA0OTksICJyZXN1bHQvcmVsYXhuZy8lc18lYyIsCisJCSAgICAgcHJlZml4LCBjb3VudCk7CisJICAgIHJlc3VsdFs0OTldID0gMDsKKwkgICAgc25wcmludGYoZXJyLCA0OTksICJyZXN1bHQvcmVsYXhuZy8lc18lYy5lcnIiLAorCQkgICAgIHByZWZpeCwgY291bnQpOworCSAgICBlcnJbNDk5XSA9IDA7CisJfSBlbHNlIHsKKwkgICAgZnByaW50ZihzdGRlcnIsICJkb24ndCBrbm93IGhvdyB0byBwcm9jZXNzICVzXG4iLCBpbnN0YW5jZSk7CisJICAgIGNvbnRpbnVlOworCX0KKwlyZWFkZXIgPSB4bWxSZWFkZXJGb3JGaWxlKGluc3RhbmNlLCBOVUxMLCBvcHRpb25zKTsKKwlpZiAocmVhZGVyID09IE5VTEwpIHsKKwkgICAgZnByaW50ZihzdGRlcnIsICJGYWlsZWQgdG8gYnVpbGQgcmVkZXIgZm9yICVzXG4iLCBpbnN0YW5jZSk7CisJfQorCWlmIChkaXNhYmxlX2VyciA9PSAxKQorCSAgICByZXQgPSBzdHJlYW1Qcm9jZXNzVGVzdChpbnN0YW5jZSwgcmVzdWx0LCBOVUxMLCByZWFkZXIsIGZpbGVuYW1lLAorCSAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zKTsKKwllbHNlCisJICAgIHJldCA9IHN0cmVhbVByb2Nlc3NUZXN0KGluc3RhbmNlLCByZXN1bHQsIGVyciwgcmVhZGVyLCBmaWxlbmFtZSwKKwkgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9ucyk7CisJeG1sRnJlZVRleHRSZWFkZXIocmVhZGVyKTsKKwlpZiAocmV0ICE9IDApIHsKKwkgICAgZnByaW50ZihzdGRlcnIsICJpbnN0YW5jZSAlcyBmYWlsZWRcbiIsIGluc3RhbmNlKTsKKwkgICAgcmVzID0gcmV0OworCX0KKyAgICB9CisgICAgZ2xvYmZyZWUoJmdsb2JidWYpOworCisgICAgcmV0dXJuKHJlcyk7Cit9CisjZW5kaWYgLyogUkVBREVSICovCisKKyNlbmRpZgorCisjaWZkZWYgTElCWE1MX1BBVFRFUk5fRU5BQkxFRAorI2lmZGVmIExJQlhNTF9SRUFERVJfRU5BQkxFRAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJCVBhdHRlcm5zIHRlc3RzCQkJCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgdm9pZCBwYXR0ZXJuTm9kZShGSUxFICpvdXQsIHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqcGF0dGVybiwgeG1sUGF0dGVyblB0ciBwYXR0ZXJuYywKKwkJCXhtbFN0cmVhbUN0eHRQdHIgcGF0c3RyZWFtKSB7CisgICAgeG1sQ2hhciAqcGF0aCA9IE5VTEw7CisgICAgaW50IG1hdGNoID0gLTE7CisgICAgaW50IHR5cGUsIGVtcHR5OworCisgICAgdHlwZSA9IHhtbFRleHRSZWFkZXJOb2RlVHlwZShyZWFkZXIpOworICAgIGVtcHR5ID0geG1sVGV4dFJlYWRlcklzRW1wdHlFbGVtZW50KHJlYWRlcik7CisKKyAgICBpZiAodHlwZSA9PSBYTUxfUkVBREVSX1RZUEVfRUxFTUVOVCkgeworCS8qIGRvIHRoZSBjaGVjayBvbmx5IG9uIGVsZW1lbnQgc3RhcnQgKi8KKwltYXRjaCA9IHhtbFBhdHRlcm5NYXRjaChwYXR0ZXJuYywgeG1sVGV4dFJlYWRlckN1cnJlbnROb2RlKHJlYWRlcikpOworCisJaWYgKG1hdGNoKSB7CisJICAgIHBhdGggPSB4bWxHZXROb2RlUGF0aCh4bWxUZXh0UmVhZGVyQ3VycmVudE5vZGUocmVhZGVyKSk7CisJICAgIGZwcmludGYob3V0LCAiTm9kZSAlcyBtYXRjaGVzIHBhdHRlcm4gJXNcbiIsIHBhdGgsIHBhdHRlcm4pOworCX0KKyAgICB9CisgICAgaWYgKHBhdHN0cmVhbSAhPSBOVUxMKSB7CisJaW50IHJldDsKKworCWlmICh0eXBlID09IFhNTF9SRUFERVJfVFlQRV9FTEVNRU5UKSB7CisJICAgIHJldCA9IHhtbFN0cmVhbVB1c2gocGF0c3RyZWFtLAorCQkJCXhtbFRleHRSZWFkZXJDb25zdExvY2FsTmFtZShyZWFkZXIpLAorCQkJCXhtbFRleHRSZWFkZXJDb25zdE5hbWVzcGFjZVVyaShyZWFkZXIpKTsKKwkgICAgaWYgKHJldCA8IDApIHsKKwkJZnByaW50ZihvdXQsICJ4bWxTdHJlYW1QdXNoKCkgZmFpbHVyZVxuIik7CisJCXhtbEZyZWVTdHJlYW1DdHh0KHBhdHN0cmVhbSk7CisJCXBhdHN0cmVhbSA9IE5VTEw7CisJICAgIH0gZWxzZSBpZiAocmV0ICE9IG1hdGNoKSB7CisJCWlmIChwYXRoID09IE5VTEwpIHsKKwkJICAgIHBhdGggPSB4bWxHZXROb2RlUGF0aCgKKwkJCQkgICB4bWxUZXh0UmVhZGVyQ3VycmVudE5vZGUocmVhZGVyKSk7CisJCX0KKwkJZnByaW50ZihvdXQsCisJCQkieG1sUGF0dGVybk1hdGNoIGFuZCB4bWxTdHJlYW1QdXNoIGRpc2FncmVlXG4iKTsKKwkJZnByaW50ZihvdXQsCisJCQkiICBwYXR0ZXJuICVzIG5vZGUgJXNcbiIsCisJCQlwYXR0ZXJuLCBwYXRoKTsKKwkgICAgfQorCisKKwl9CisJaWYgKCh0eXBlID09IFhNTF9SRUFERVJfVFlQRV9FTkRfRUxFTUVOVCkgfHwKKwkgICAgKCh0eXBlID09IFhNTF9SRUFERVJfVFlQRV9FTEVNRU5UKSAmJiAoZW1wdHkpKSkgeworCSAgICByZXQgPSB4bWxTdHJlYW1Qb3AocGF0c3RyZWFtKTsKKwkgICAgaWYgKHJldCA8IDApIHsKKwkJZnByaW50ZihvdXQsICJ4bWxTdHJlYW1Qb3AoKSBmYWlsdXJlXG4iKTsKKwkJeG1sRnJlZVN0cmVhbUN0eHQocGF0c3RyZWFtKTsKKwkJcGF0c3RyZWFtID0gTlVMTDsKKwkgICAgfQorCX0KKyAgICB9CisgICAgaWYgKHBhdGggIT0gTlVMTCkKKwl4bWxGcmVlKHBhdGgpOworfQorCisvKioKKyAqIHBhdHRlcm5UZXN0OgorICogQGZpbGVuYW1lOiB0aGUgc2NoZW1hcyBmaWxlCisgKiBAcmVzdWx0OiB0aGUgZmlsZSB3aXRoIGV4cGVjdGVkIHJlc3VsdAorICogQGVycjogdGhlIGZpbGUgd2l0aCBlcnJvciBtZXNzYWdlcworICoKKyAqIFBhcnNlIGEgc2V0IG9mIGZpbGVzIHdpdGggc3RyZWFtaW5nLCBhcHBseWluZyBhbiBSTkcgc2NoZW1hcworICoKKyAqIFJldHVybnMgMCBpbiBjYXNlIG9mIHN1Y2Nlc3MsIGFuIGVycm9yIGNvZGUgb3RoZXJ3aXNlCisgKi8KK3N0YXRpYyBpbnQKK3BhdHRlcm5UZXN0KGNvbnN0IGNoYXIgKmZpbGVuYW1lLAorICAgICAgICAgICAgY29uc3QgY2hhciAqcmVzdWwgQVRUUklCVVRFX1VOVVNFRCwKKyAgICAgICAgICAgIGNvbnN0IGNoYXIgKmVyciBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgaW50IG9wdGlvbnMpIHsKKyAgICB4bWxQYXR0ZXJuUHRyIHBhdHRlcm5jID0gTlVMTDsKKyAgICB4bWxTdHJlYW1DdHh0UHRyIHBhdHN0cmVhbSA9IE5VTEw7CisgICAgRklMRSAqbywgKmY7CisgICAgY2hhciBzdHJbMTAyNF07CisgICAgY2hhciB4bWxbNTAwXTsKKyAgICBjaGFyIHJlc3VsdFs1MDBdOworICAgIGludCBsZW4sIGk7CisgICAgaW50IHJldCA9IDAsIHJlczsKKyAgICBjaGFyICp0ZW1wOworICAgIHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyOworICAgIHhtbERvY1B0ciBkb2M7CisKKyAgICBsZW4gPSBzdHJsZW4oZmlsZW5hbWUpOworICAgIGxlbiAtPSA0OworICAgIG1lbWNweSh4bWwsIGZpbGVuYW1lLCBsZW4pOworICAgIHhtbFtsZW5dID0gMDsKKyAgICBzbnByaW50ZihyZXN1bHQsIDQ5OSwgInJlc3VsdC9wYXR0ZXJuLyVzIiwgYmFzZUZpbGVuYW1lKHhtbCkpOworICAgIHJlc3VsdFs0OTldID0gMDsKKyAgICBtZW1jcHkoeG1sICsgbGVuLCAiLnhtbCIsIDUpOworCisgICAgaWYgKCFjaGVja1Rlc3RGaWxlKHhtbCkpIHsKKwlmcHJpbnRmKHN0ZGVyciwgIk1pc3NpbmcgeG1sIGZpbGUgJXNcbiIsIHhtbCk7CisJcmV0dXJuKC0xKTsKKyAgICB9CisgICAgaWYgKCFjaGVja1Rlc3RGaWxlKHJlc3VsdCkpIHsKKwlmcHJpbnRmKHN0ZGVyciwgIk1pc3NpbmcgcmVzdWx0IGZpbGUgJXNcbiIsIHJlc3VsdCk7CisJcmV0dXJuKC0xKTsKKyAgICB9CisgICAgZiA9IGZvcGVuKGZpbGVuYW1lLCAicmIiKTsKKyAgICBpZiAoZiA9PSBOVUxMKSB7CisgICAgICAgIGZwcmludGYoc3RkZXJyLCAiRmFpbGVkIHRvIG9wZW4gJXNcbiIsIGZpbGVuYW1lKTsKKwlyZXR1cm4oLTEpOworICAgIH0KKyAgICB0ZW1wID0gcmVzdWx0RmlsZW5hbWUoZmlsZW5hbWUsICIiLCAiLnJlcyIpOworICAgIGlmICh0ZW1wID09IE5VTEwpIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJPdXQgb2YgbWVtb3J5XG4iKTsKKyAgICAgICAgZmF0YWxFcnJvcigpOworICAgIH0KKyAgICBvID0gZm9wZW4odGVtcCwgIndiIik7CisgICAgaWYgKG8gPT0gTlVMTCkgeworCWZwcmludGYoc3RkZXJyLCAiZmFpbGVkIHRvIG9wZW4gb3V0cHV0IGZpbGUgJXNcbiIsIHRlbXApOworCWZjbG9zZShmKTsKKyAgICAgICAgZnJlZSh0ZW1wKTsKKwlyZXR1cm4oLTEpOworICAgIH0KKyAgICB3aGlsZSAoMSkgeworCS8qCisJICogcmVhZCBvbmUgbGluZSBpbiBzdHJpbmcgYnVmZmVyLgorCSAqLworCWlmIChmZ2V0cyAoJnN0clswXSwgc2l6ZW9mIChzdHIpIC0gMSwgZikgPT0gTlVMTCkKKwkgICBicmVhazsKKworCS8qCisJICogcmVtb3ZlIHRoZSBlbmRpbmcgc3BhY2VzCisJICovCisJaSA9IHN0cmxlbihzdHIpOworCXdoaWxlICgoaSA+IDApICYmCisJICAgICAgICgoc3RyW2kgLSAxXSA9PSAnXG4nKSB8fCAoc3RyW2kgLSAxXSA9PSAnXHInKSB8fAorCQkoc3RyW2kgLSAxXSA9PSAnICcpIHx8IChzdHJbaSAtIDFdID09ICdcdCcpKSkgeworCSAgICBpLS07CisJICAgIHN0cltpXSA9IDA7CisJfQorCWRvYyA9IHhtbFJlYWRGaWxlKHhtbCwgTlVMTCwgb3B0aW9ucyk7CisJaWYgKGRvYyA9PSBOVUxMKSB7CisJICAgIGZwcmludGYoc3RkZXJyLCAiRmFpbGVkIHRvIHBhcnNlICVzXG4iLCB4bWwpOworCSAgICByZXQgPSAxOworCX0gZWxzZSB7CisJICAgIHhtbE5vZGVQdHIgcm9vdDsKKwkgICAgY29uc3QgeG1sQ2hhciAqbmFtZXNwYWNlc1syMl07CisJICAgIGludCBqOworCSAgICB4bWxOc1B0ciBuczsKKworCSAgICByb290ID0geG1sRG9jR2V0Um9vdEVsZW1lbnQoZG9jKTsKKwkgICAgZm9yIChucyA9IHJvb3QtPm5zRGVmLCBqID0gMDtucyAhPSBOVUxMICYmIGogPCAyMDtucz1ucy0+bmV4dCkgeworCQluYW1lc3BhY2VzW2orK10gPSBucy0+aHJlZjsKKwkJbmFtZXNwYWNlc1tqKytdID0gbnMtPnByZWZpeDsKKwkgICAgfQorCSAgICBuYW1lc3BhY2VzW2orK10gPSBOVUxMOworCSAgICBuYW1lc3BhY2VzW2pdID0gTlVMTDsKKworCSAgICBwYXR0ZXJuYyA9IHhtbFBhdHRlcm5jb21waWxlKChjb25zdCB4bWxDaGFyICopIHN0ciwgZG9jLT5kaWN0LAorCQkJCQkgMCwgJm5hbWVzcGFjZXNbMF0pOworCSAgICBpZiAocGF0dGVybmMgPT0gTlVMTCkgeworCQl0ZXN0RXJyb3JIYW5kbGVyKE5VTEwsCisJCQkiUGF0dGVybiAlcyBmYWlsZWQgdG8gY29tcGlsZVxuIiwgc3RyKTsKKwkJeG1sRnJlZURvYyhkb2MpOworCQlyZXQgPSAxOworCQljb250aW51ZTsKKwkgICAgfQorCSAgICBwYXRzdHJlYW0gPSB4bWxQYXR0ZXJuR2V0U3RyZWFtQ3R4dChwYXR0ZXJuYyk7CisJICAgIGlmIChwYXRzdHJlYW0gIT0gTlVMTCkgeworCQlyZXQgPSB4bWxTdHJlYW1QdXNoKHBhdHN0cmVhbSwgTlVMTCwgTlVMTCk7CisJCWlmIChyZXQgPCAwKSB7CisJCSAgICBmcHJpbnRmKHN0ZGVyciwgInhtbFN0cmVhbVB1c2goKSBmYWlsdXJlXG4iKTsKKwkJICAgIHhtbEZyZWVTdHJlYW1DdHh0KHBhdHN0cmVhbSk7CisJCSAgICBwYXRzdHJlYW0gPSBOVUxMOworCQl9CisJICAgIH0KKwkgICAgbmJfdGVzdHMrKzsKKworCSAgICByZWFkZXIgPSB4bWxSZWFkZXJXYWxrZXIoZG9jKTsKKwkgICAgcmVzID0geG1sVGV4dFJlYWRlclJlYWQocmVhZGVyKTsKKwkgICAgd2hpbGUgKHJlcyA9PSAxKSB7CisJCXBhdHRlcm5Ob2RlKG8sIHJlYWRlciwgc3RyLCBwYXR0ZXJuYywgcGF0c3RyZWFtKTsKKwkJcmVzID0geG1sVGV4dFJlYWRlclJlYWQocmVhZGVyKTsKKwkgICAgfQorCSAgICBpZiAocmVzICE9IDApIHsKKwkJZnByaW50ZihvLCAiJXMgOiBmYWlsZWQgdG8gcGFyc2VcbiIsIGZpbGVuYW1lKTsKKwkgICAgfQorCSAgICB4bWxGcmVlVGV4dFJlYWRlcihyZWFkZXIpOworCSAgICB4bWxGcmVlRG9jKGRvYyk7CisJICAgIHhtbEZyZWVTdHJlYW1DdHh0KHBhdHN0cmVhbSk7CisJICAgIHBhdHN0cmVhbSA9IE5VTEw7CisJICAgIHhtbEZyZWVQYXR0ZXJuKHBhdHRlcm5jKTsKKworCX0KKyAgICB9CisKKyAgICBmY2xvc2UoZik7CisgICAgZmNsb3NlKG8pOworCisgICAgcmV0ID0gY29tcGFyZUZpbGVzKHRlbXAsIHJlc3VsdCk7CisgICAgaWYgKHJldCkgeworCWZwcmludGYoc3RkZXJyLCAiUmVzdWx0IGZvciAlcyBmYWlsZWRcbiIsIGZpbGVuYW1lKTsKKwlyZXQgPSAxOworICAgIH0KKyAgICBpZiAodGVtcCAhPSBOVUxMKSB7CisgICAgICAgIHVubGluayh0ZW1wKTsKKyAgICAgICAgZnJlZSh0ZW1wKTsKKyAgICB9CisgICAgcmV0dXJuKHJldCk7Cit9CisjZW5kaWYgLyogUkVBREVSICovCisjZW5kaWYgLyogUEFUVEVSTiAqLworI2lmZGVmIExJQlhNTF9DMTROX0VOQUJMRUQKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCQlDYW5vbmljYWxpemF0aW9uIHRlc3RzCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyB4bWxYUGF0aE9iamVjdFB0cgorbG9hZF94cGF0aF9leHByICh4bWxEb2NQdHIgcGFyZW50X2RvYywgY29uc3QgY2hhciogZmlsZW5hbWUpIHsKKyAgICB4bWxYUGF0aE9iamVjdFB0ciB4cGF0aDsKKyAgICB4bWxEb2NQdHIgZG9jOworICAgIHhtbENoYXIgKmV4cHI7CisgICAgeG1sWFBhdGhDb250ZXh0UHRyIGN0eDsKKyAgICB4bWxOb2RlUHRyIG5vZGU7CisgICAgeG1sTnNQdHIgbnM7CisKKyAgICAvKgorICAgICAqIGxvYWQgWFBhdGggZXhwciBhcyBhIGZpbGUKKyAgICAgKi8KKyAgICB4bWxMb2FkRXh0RHRkRGVmYXVsdFZhbHVlID0gWE1MX0RFVEVDVF9JRFMgfCBYTUxfQ09NUExFVEVfQVRUUlM7CisgICAgeG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdCgxKTsKKworICAgIGRvYyA9IHhtbFJlYWRGaWxlKGZpbGVuYW1lLCBOVUxMLCBYTUxfUEFSU0VfRFREQVRUUiB8IFhNTF9QQVJTRV9OT0VOVCk7CisgICAgaWYgKGRvYyA9PSBOVUxMKSB7CisJZnByaW50ZihzdGRlcnIsICJFcnJvcjogdW5hYmxlIHRvIHBhcnNlIGZpbGUgXCIlc1wiXG4iLCBmaWxlbmFtZSk7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKworICAgIC8qCisgICAgICogQ2hlY2sgdGhlIGRvY3VtZW50IGlzIG9mIHRoZSByaWdodCBraW5kCisgICAgICovCisgICAgaWYoeG1sRG9jR2V0Um9vdEVsZW1lbnQoZG9jKSA9PSBOVUxMKSB7CisgICAgICAgIGZwcmludGYoc3RkZXJyLCJFcnJvcjogZW1wdHkgZG9jdW1lbnQgZm9yIGZpbGUgXCIlc1wiXG4iLCBmaWxlbmFtZSk7CisJeG1sRnJlZURvYyhkb2MpOworCXJldHVybihOVUxMKTsKKyAgICB9CisKKyAgICBub2RlID0gZG9jLT5jaGlsZHJlbjsKKyAgICB3aGlsZShub2RlICE9IE5VTEwgJiYgIXhtbFN0ckVxdWFsKG5vZGUtPm5hbWUsIChjb25zdCB4bWxDaGFyICopIlhQYXRoIikpIHsKKwlub2RlID0gbm9kZS0+bmV4dDsKKyAgICB9CisKKyAgICBpZihub2RlID09IE5VTEwpIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsIkVycm9yOiBYUGF0aCBlbGVtZW50IGV4cGVjdGVkIGluIHRoZSBmaWxlICBcIiVzXCJcbiIsIGZpbGVuYW1lKTsKKwl4bWxGcmVlRG9jKGRvYyk7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKworICAgIGV4cHIgPSB4bWxOb2RlR2V0Q29udGVudChub2RlKTsKKyAgICBpZihleHByID09IE5VTEwpIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsIkVycm9yOiBYUGF0aCBjb250ZW50IGVsZW1lbnQgaXMgTlVMTCBcIiVzXCJcbiIsIGZpbGVuYW1lKTsKKwl4bWxGcmVlRG9jKGRvYyk7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKworICAgIGN0eCA9IHhtbFhQYXRoTmV3Q29udGV4dChwYXJlbnRfZG9jKTsKKyAgICBpZihjdHggPT0gTlVMTCkgeworICAgICAgICBmcHJpbnRmKHN0ZGVyciwiRXJyb3I6IHVuYWJsZSB0byBjcmVhdGUgbmV3IGNvbnRleHRcbiIpOworICAgICAgICB4bWxGcmVlKGV4cHIpOworICAgICAgICB4bWxGcmVlRG9jKGRvYyk7CisgICAgICAgIHJldHVybihOVUxMKTsKKyAgICB9CisKKyAgICAvKgorICAgICAqIFJlZ2lzdGVyIG5hbWVzcGFjZXMKKyAgICAgKi8KKyAgICBucyA9IG5vZGUtPm5zRGVmOworICAgIHdoaWxlKG5zICE9IE5VTEwpIHsKKwlpZih4bWxYUGF0aFJlZ2lzdGVyTnMoY3R4LCBucy0+cHJlZml4LCBucy0+aHJlZikgIT0gMCkgeworCSAgICBmcHJpbnRmKHN0ZGVyciwiRXJyb3I6IHVuYWJsZSB0byByZWdpc3RlciBOUyB3aXRoIHByZWZpeD1cIiVzXCIgYW5kIGhyZWY9XCIlc1wiXG4iLCBucy0+cHJlZml4LCBucy0+aHJlZik7CisgICAgeG1sRnJlZShleHByKTsKKwkgICAgeG1sWFBhdGhGcmVlQ29udGV4dChjdHgpOworCSAgICB4bWxGcmVlRG9jKGRvYyk7CisJICAgIHJldHVybihOVUxMKTsKKwl9CisJbnMgPSBucy0+bmV4dDsKKyAgICB9CisKKyAgICAvKgorICAgICAqIEV2YWx1YXRlIHhwYXRoCisgICAgICovCisgICAgeHBhdGggPSB4bWxYUGF0aEV2YWxFeHByZXNzaW9uKGV4cHIsIGN0eCk7CisgICAgaWYoeHBhdGggPT0gTlVMTCkgeworICAgICAgICBmcHJpbnRmKHN0ZGVyciwiRXJyb3I6IHVuYWJsZSB0byBldmFsdWF0ZSB4cGF0aCBleHByZXNzaW9uXG4iKTsKK3htbEZyZWUoZXhwcik7CisgICAgICAgIHhtbFhQYXRoRnJlZUNvbnRleHQoY3R4KTsKKyAgICAgICAgeG1sRnJlZURvYyhkb2MpOworICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgfQorCisgICAgLyogcHJpbnRfeHBhdGhfbm9kZXMoeHBhdGgtPm5vZGVzZXR2YWwpOyAqLworCisgICAgeG1sRnJlZShleHByKTsKKyAgICB4bWxYUGF0aEZyZWVDb250ZXh0KGN0eCk7CisgICAgeG1sRnJlZURvYyhkb2MpOworICAgIHJldHVybih4cGF0aCk7Cit9CisKKy8qCisgKiBNYWNybyB1c2VkIHRvIGdyb3cgdGhlIGN1cnJlbnQgYnVmZmVyLgorICovCisjZGVmaW5lIHh4eF9ncm93QnVmZmVyUmVlbnRyYW50KCkgewkJCQkJCVwKKyAgICBidWZmZXJfc2l6ZSAqPSAyOwkJCQkJCQlcCisgICAgYnVmZmVyID0gKHhtbENoYXIgKiopCQkJCQkJXAorCXhtbFJlYWxsb2MoYnVmZmVyLCBidWZmZXJfc2l6ZSAqIHNpemVvZih4bWxDaGFyKikpOwlcCisgICAgaWYgKGJ1ZmZlciA9PSBOVUxMKSB7CQkJCQkJXAorCXBlcnJvcigicmVhbGxvYyBmYWlsZWQiKTsJCQkJCVwKKwlyZXR1cm4oTlVMTCk7CQkJCQkJCVwKKyAgICB9CQkJCQkJCQkJXAorfQorCitzdGF0aWMgeG1sQ2hhciAqKgorcGFyc2VfbGlzdCh4bWxDaGFyICpzdHIpIHsKKyAgICB4bWxDaGFyICoqYnVmZmVyOworICAgIHhtbENoYXIgKipvdXQgPSBOVUxMOworICAgIGludCBidWZmZXJfc2l6ZSA9IDA7CisgICAgaW50IGxlbjsKKworICAgIGlmKHN0ciA9PSBOVUxMKSB7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKworICAgIGxlbiA9IHhtbFN0cmxlbihzdHIpOworICAgIGlmKChzdHJbMF0gPT0gJ1wnJykgJiYgKHN0cltsZW4gLSAxXSA9PSAnXCcnKSkgeworCXN0cltsZW4gLSAxXSA9ICdcMCc7CisJc3RyKys7CisgICAgfQorICAgIC8qCisgICAgICogYWxsb2NhdGUgYW4gdHJhbnNsYXRpb24gYnVmZmVyLgorICAgICAqLworICAgIGJ1ZmZlcl9zaXplID0gMTAwMDsKKyAgICBidWZmZXIgPSAoeG1sQ2hhciAqKikgeG1sTWFsbG9jKGJ1ZmZlcl9zaXplICogc2l6ZW9mKHhtbENoYXIqKSk7CisgICAgaWYgKGJ1ZmZlciA9PSBOVUxMKSB7CisJcGVycm9yKCJtYWxsb2MgZmFpbGVkIik7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBvdXQgPSBidWZmZXI7CisKKyAgICB3aGlsZSgqc3RyICE9ICdcMCcpIHsKKwlpZiAob3V0IC0gYnVmZmVyID4gYnVmZmVyX3NpemUgLSAxMCkgeworCSAgICBpbnQgaW5keCA9IG91dCAtIGJ1ZmZlcjsKKworCSAgICB4eHhfZ3Jvd0J1ZmZlclJlZW50cmFudCgpOworCSAgICBvdXQgPSAmYnVmZmVyW2luZHhdOworCX0KKwkoKm91dCsrKSA9IHN0cjsKKwl3aGlsZSgqc3RyICE9ICcsJyAmJiAqc3RyICE9ICdcMCcpICsrc3RyOworCWlmKCpzdHIgPT0gJywnKSAqKHN0cisrKSA9ICdcMCc7CisgICAgfQorICAgICgqb3V0KSA9IE5VTEw7CisgICAgcmV0dXJuIGJ1ZmZlcjsKK30KKworc3RhdGljIGludAorYzE0blJ1blRlc3QoY29uc3QgY2hhciogeG1sX2ZpbGVuYW1lLCBpbnQgd2l0aF9jb21tZW50cywgaW50IG1vZGUsCisJICAgIGNvbnN0IGNoYXIqIHhwYXRoX2ZpbGVuYW1lLCBjb25zdCBjaGFyICpuc19maWxlbmFtZSwKKwkgICAgY29uc3QgY2hhciogcmVzdWx0X2ZpbGUpIHsKKyAgICB4bWxEb2NQdHIgZG9jOworICAgIHhtbFhQYXRoT2JqZWN0UHRyIHhwYXRoID0gTlVMTDsKKyAgICB4bWxDaGFyICpyZXN1bHQgPSBOVUxMOworICAgIGludCByZXQ7CisgICAgeG1sQ2hhciAqKmluY2x1c2l2ZV9uYW1lc3BhY2VzID0gTlVMTDsKKyAgICBjb25zdCBjaGFyICpuc2xpc3QgPSBOVUxMOworICAgIGludCBuc3NpemU7CisKKworICAgIC8qCisgICAgICogYnVpbGQgYW4gWE1MIHRyZWUgZnJvbSBhIHRoZSBmaWxlOyB3ZSBuZWVkIHRvIGFkZCBkZWZhdWx0CisgICAgICogYXR0cmlidXRlcyBhbmQgcmVzb2x2ZSBhbGwgY2hhcmFjdGVyIGFuZCBlbnRpdGllcyByZWZlcmVuY2VzCisgICAgICovCisgICAgeG1sTG9hZEV4dER0ZERlZmF1bHRWYWx1ZSA9IFhNTF9ERVRFQ1RfSURTIHwgWE1MX0NPTVBMRVRFX0FUVFJTOworICAgIHhtbFN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHQoMSk7CisKKyAgICBkb2MgPSB4bWxSZWFkRmlsZSh4bWxfZmlsZW5hbWUsIE5VTEwsIFhNTF9QQVJTRV9EVERBVFRSIHwgWE1MX1BBUlNFX05PRU5UKTsKKyAgICBpZiAoZG9jID09IE5VTEwpIHsKKwlmcHJpbnRmKHN0ZGVyciwgIkVycm9yOiB1bmFibGUgdG8gcGFyc2UgZmlsZSBcIiVzXCJcbiIsIHhtbF9maWxlbmFtZSk7CisJcmV0dXJuKC0xKTsKKyAgICB9CisKKyAgICAvKgorICAgICAqIENoZWNrIHRoZSBkb2N1bWVudCBpcyBvZiB0aGUgcmlnaHQga2luZAorICAgICAqLworICAgIGlmKHhtbERvY0dldFJvb3RFbGVtZW50KGRvYykgPT0gTlVMTCkgeworICAgICAgICBmcHJpbnRmKHN0ZGVyciwiRXJyb3I6IGVtcHR5IGRvY3VtZW50IGZvciBmaWxlIFwiJXNcIlxuIiwgeG1sX2ZpbGVuYW1lKTsKKwl4bWxGcmVlRG9jKGRvYyk7CisJcmV0dXJuKC0xKTsKKyAgICB9CisKKyAgICAvKgorICAgICAqIGxvYWQgeHBhdGggZmlsZSBpZiBzcGVjaWZpZWQKKyAgICAgKi8KKyAgICBpZih4cGF0aF9maWxlbmFtZSkgeworCXhwYXRoID0gbG9hZF94cGF0aF9leHByKGRvYywgeHBhdGhfZmlsZW5hbWUpOworCWlmKHhwYXRoID09IE5VTEwpIHsKKwkgICAgZnByaW50ZihzdGRlcnIsIkVycm9yOiB1bmFibGUgdG8gZXZhbHVhdGUgeHBhdGggZXhwcmVzc2lvblxuIik7CisJICAgIHhtbEZyZWVEb2MoZG9jKTsKKwkgICAgcmV0dXJuKC0xKTsKKwl9CisgICAgfQorCisgICAgaWYgKG5zX2ZpbGVuYW1lICE9IE5VTEwpIHsKKyAgICAgICAgaWYgKGxvYWRNZW0obnNfZmlsZW5hbWUsICZuc2xpc3QsICZuc3NpemUpKSB7CisJICAgIGZwcmludGYoc3RkZXJyLCJFcnJvcjogdW5hYmxlIHRvIGV2YWx1YXRlIHhwYXRoIGV4cHJlc3Npb25cbiIpOworCSAgICBpZih4cGF0aCAhPSBOVUxMKSB4bWxYUGF0aEZyZWVPYmplY3QoeHBhdGgpOworCSAgICB4bWxGcmVlRG9jKGRvYyk7CisJICAgIHJldHVybigtMSk7CisJfQorICAgICAgICBpbmNsdXNpdmVfbmFtZXNwYWNlcyA9IHBhcnNlX2xpc3QoKHhtbENoYXIgKikgbnNsaXN0KTsKKyAgICB9CisKKyAgICAvKgorICAgICAqIENhbm9uaWNhbCBmb3JtCisgICAgICovCisgICAgLyogZnByaW50ZihzdGRlcnIsIkZpbGUgXCIlc1wiIGxvYWRlZDogc3RhcnQgY2Fub25pemF0aW9uXG4iLCB4bWxfZmlsZW5hbWUpOyAqLworICAgIHJldCA9IHhtbEMxNE5Eb2NEdW1wTWVtb3J5KGRvYywKKwkgICAgKHhwYXRoKSA/IHhwYXRoLT5ub2Rlc2V0dmFsIDogTlVMTCwKKwkgICAgbW9kZSwgaW5jbHVzaXZlX25hbWVzcGFjZXMsCisJICAgIHdpdGhfY29tbWVudHMsICZyZXN1bHQpOworICAgIGlmIChyZXQgPj0gMCkgeworCWlmKHJlc3VsdCAhPSBOVUxMKSB7CisJICAgIGlmIChjb21wYXJlRmlsZU1lbShyZXN1bHRfZmlsZSwgKGNvbnN0IGNoYXIgKikgcmVzdWx0LCByZXQpKSB7CisJCWZwcmludGYoc3RkZXJyLCAiUmVzdWx0IG1pc21hdGNoIGZvciAlc1xuIiwgeG1sX2ZpbGVuYW1lKTsKKwkJZnByaW50ZihzdGRlcnIsICJSRVNVTFQ6XG4lc1xuIiwgKGNvbnN0IGNoYXIqKXJlc3VsdCk7CisJICAgICAgICByZXQgPSAtMTsKKwkgICAgfQorCX0KKyAgICB9IGVsc2UgeworCWZwcmludGYoc3RkZXJyLCJFcnJvcjogZmFpbGVkIHRvIGNhbm9uaWNhbGl6ZSBYTUwgZmlsZSBcIiVzXCIgKHJldD0lZClcbiIsIHhtbF9maWxlbmFtZSwgcmV0KTsKKwlyZXQgPSAtMTsKKyAgICB9CisKKyAgICAvKgorICAgICAqIENsZWFudXAKKyAgICAgKi8KKyAgICBpZiAocmVzdWx0ICE9IE5VTEwpIHhtbEZyZWUocmVzdWx0KTsKKyAgICBpZih4cGF0aCAhPSBOVUxMKSB4bWxYUGF0aEZyZWVPYmplY3QoeHBhdGgpOworICAgIGlmIChpbmNsdXNpdmVfbmFtZXNwYWNlcyAhPSBOVUxMKSB4bWxGcmVlKGluY2x1c2l2ZV9uYW1lc3BhY2VzKTsKKyAgICBpZiAobnNsaXN0ICE9IE5VTEwpIGZyZWUoKGNoYXIgKikgbnNsaXN0KTsKKyAgICB4bWxGcmVlRG9jKGRvYyk7CisKKyAgICByZXR1cm4ocmV0KTsKK30KKworc3RhdGljIGludAorYzE0bkNvbW1vblRlc3QoY29uc3QgY2hhciAqZmlsZW5hbWUsIGludCB3aXRoX2NvbW1lbnRzLCBpbnQgbW9kZSwKKyAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnN1YmRpcikgeworICAgIGNoYXIgYnVmWzUwMF07CisgICAgY2hhciBwcmVmaXhbNTAwXTsKKyAgICBjb25zdCBjaGFyICpiYXNlOworICAgIGludCBsZW47CisgICAgY2hhciAqcmVzdWx0ID0gTlVMTDsKKyAgICBjaGFyICp4cGF0aCA9IE5VTEw7CisgICAgY2hhciAqbnMgPSBOVUxMOworICAgIGludCByZXQgPSAwOworCisgICAgYmFzZSA9IGJhc2VGaWxlbmFtZShmaWxlbmFtZSk7CisgICAgbGVuID0gc3RybGVuKGJhc2UpOworICAgIGxlbiAtPSA0OworICAgIG1lbWNweShwcmVmaXgsIGJhc2UsIGxlbik7CisgICAgcHJlZml4W2xlbl0gPSAwOworCisgICAgc25wcmludGYoYnVmLCA0OTksICJyZXN1bHQvYzE0bi8lcy8lcyIsIHN1YmRpcixwcmVmaXgpOworICAgIGlmICghY2hlY2tUZXN0RmlsZShidWYpKSB7CisgICAgICAgIGZwcmludGYoc3RkZXJyLCAiTWlzc2luZyByZXN1bHQgZmlsZSAlcyIsIGJ1Zik7CisJcmV0dXJuKC0xKTsKKyAgICB9CisgICAgcmVzdWx0ID0gc3RyZHVwKGJ1Zik7CisgICAgc25wcmludGYoYnVmLCA0OTksICJ0ZXN0L2MxNG4vJXMvJXMueHBhdGgiLCBzdWJkaXIscHJlZml4KTsKKyAgICBpZiAoY2hlY2tUZXN0RmlsZShidWYpKSB7CisJeHBhdGggPSBzdHJkdXAoYnVmKTsKKyAgICB9CisgICAgc25wcmludGYoYnVmLCA0OTksICJ0ZXN0L2MxNG4vJXMvJXMubnMiLCBzdWJkaXIscHJlZml4KTsKKyAgICBpZiAoY2hlY2tUZXN0RmlsZShidWYpKSB7CisJbnMgPSBzdHJkdXAoYnVmKTsKKyAgICB9CisKKyAgICBuYl90ZXN0cysrOworICAgIGlmIChjMTRuUnVuVGVzdChmaWxlbmFtZSwgd2l0aF9jb21tZW50cywgbW9kZSwKKyAgICAgICAgICAgICAgICAgICAgeHBhdGgsIG5zLCByZXN1bHQpIDwgMCkKKyAgICAgICAgcmV0ID0gMTsKKworICAgIGlmIChyZXN1bHQgIT0gTlVMTCkgZnJlZShyZXN1bHQpOworICAgIGlmICh4cGF0aCAhPSBOVUxMKSBmcmVlKHhwYXRoKTsKKyAgICBpZiAobnMgIT0gTlVMTCkgZnJlZShucyk7CisgICAgcmV0dXJuKHJldCk7Cit9CisKK3N0YXRpYyBpbnQKK2MxNG5XaXRoQ29tbWVudFRlc3QoY29uc3QgY2hhciAqZmlsZW5hbWUsCisgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnJlc3VsIEFUVFJJQlVURV9VTlVTRUQsCisJCSAgICBjb25zdCBjaGFyICplcnIgQVRUUklCVVRFX1VOVVNFRCwKKwkJICAgIGludCBvcHRpb25zIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICByZXR1cm4oYzE0bkNvbW1vblRlc3QoZmlsZW5hbWUsIDEsIFhNTF9DMTROXzFfMCwgIndpdGgtY29tbWVudHMiKSk7Cit9CitzdGF0aWMgaW50CitjMTRuV2l0aG91dENvbW1lbnRUZXN0KGNvbnN0IGNoYXIgKmZpbGVuYW1lLAorICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpyZXN1bCBBVFRSSUJVVEVfVU5VU0VELAorCQkgICAgY29uc3QgY2hhciAqZXJyIEFUVFJJQlVURV9VTlVTRUQsCisJCSAgICBpbnQgb3B0aW9ucyBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgcmV0dXJuKGMxNG5Db21tb25UZXN0KGZpbGVuYW1lLCAwLCBYTUxfQzE0Tl8xXzAsICJ3aXRob3V0LWNvbW1lbnRzIikpOworfQorc3RhdGljIGludAorYzE0bkV4Y1dpdGhvdXRDb21tZW50VGVzdChjb25zdCBjaGFyICpmaWxlbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqcmVzdWwgQVRUUklCVVRFX1VOVVNFRCwKKwkJICAgIGNvbnN0IGNoYXIgKmVyciBBVFRSSUJVVEVfVU5VU0VELAorCQkgICAgaW50IG9wdGlvbnMgQVRUUklCVVRFX1VOVVNFRCkgeworICAgIHJldHVybihjMTRuQ29tbW9uVGVzdChmaWxlbmFtZSwgMCwgWE1MX0MxNE5fRVhDTFVTSVZFXzFfMCwgImV4Yy13aXRob3V0LWNvbW1lbnRzIikpOworfQorc3RhdGljIGludAorYzE0bjExV2l0aG91dENvbW1lbnRUZXN0KGNvbnN0IGNoYXIgKmZpbGVuYW1lLAorICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpyZXN1bCBBVFRSSUJVVEVfVU5VU0VELAorCQkgICAgY29uc3QgY2hhciAqZXJyIEFUVFJJQlVURV9VTlVTRUQsCisJCSAgICBpbnQgb3B0aW9ucyBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgcmV0dXJuKGMxNG5Db21tb25UZXN0KGZpbGVuYW1lLCAwLCBYTUxfQzE0Tl8xXzEsICIxLTEtd2l0aG91dC1jb21tZW50cyIpKTsKK30KKyNlbmRpZgorI2lmIGRlZmluZWQoTElCWE1MX1RIUkVBRF9FTkFCTEVEKSAmJiBkZWZpbmVkKExJQlhNTF9DQVRBTE9HX0VOQUJMRUQpICYmIGRlZmluZWQgKExJQlhNTF9TQVgxX0VOQUJMRUQpCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQkJQ2F0YWxvZyBhbmQgdGhyZWFkcyB0ZXN0CQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKgorICogbW9zdGx5IGEgY3V0IGFuZCBwYXN0ZSBmcm9tIHRlc3RUaHJlYWRzLmMKKyAqLworI2RlZmluZQlNQVhfQVJHQwkyMAorCitzdGF0aWMgY29uc3QgY2hhciAqY2F0YWxvZyA9ICJ0ZXN0L3RocmVhZHMvY29tcGxleC54bWwiOworc3RhdGljIGNvbnN0IGNoYXIgKnRlc3RmaWxlc1tdID0geworICAgICJ0ZXN0L3RocmVhZHMvYWJjLnhtbCIsCisgICAgInRlc3QvdGhyZWFkcy9hY2IueG1sIiwKKyAgICAidGVzdC90aHJlYWRzL2JhYy54bWwiLAorICAgICJ0ZXN0L3RocmVhZHMvYmNhLnhtbCIsCisgICAgInRlc3QvdGhyZWFkcy9jYWIueG1sIiwKKyAgICAidGVzdC90aHJlYWRzL2NiYS54bWwiLAorICAgICJ0ZXN0L3RocmVhZHMvaW52YWxpZC54bWwiLAorfTsKKworc3RhdGljIGNvbnN0IGNoYXIgKk9rYXkgPSAiT0siOworc3RhdGljIGNvbnN0IGNoYXIgKkZhaWxlZCA9ICJGYWlsZWQiOworCisjaWZuZGVmIHhtbERvVmFsaWRpdHlDaGVja2luZ0RlZmF1bHRWYWx1ZQorI2Vycm9yIHhtbERvVmFsaWRpdHlDaGVja2luZ0RlZmF1bHRWYWx1ZSBpcyBub3QgYSBtYWNybworI2VuZGlmCisjaWZuZGVmIHhtbEdlbmVyaWNFcnJvckNvbnRleHQKKyNlcnJvciB4bWxHZW5lcmljRXJyb3JDb250ZXh0IGlzIG5vdCBhIG1hY3JvCisjZW5kaWYKKworc3RhdGljIHZvaWQgKgordGhyZWFkX3NwZWNpZmljX2RhdGEodm9pZCAqcHJpdmF0ZV9kYXRhKQoreworICAgIHhtbERvY1B0ciBteURvYzsKKyAgICBjb25zdCBjaGFyICpmaWxlbmFtZSA9IChjb25zdCBjaGFyICopIHByaXZhdGVfZGF0YTsKKyAgICBpbnQgb2theSA9IDE7CisKKyAgICBpZiAoIXN0cmNtcChmaWxlbmFtZSwgInRlc3QvdGhyZWFkcy9pbnZhbGlkLnhtbCIpKSB7CisgICAgICAgIHhtbERvVmFsaWRpdHlDaGVja2luZ0RlZmF1bHRWYWx1ZSA9IDA7CisgICAgICAgIHhtbEdlbmVyaWNFcnJvckNvbnRleHQgPSBzdGRvdXQ7CisgICAgfSBlbHNlIHsKKyAgICAgICAgeG1sRG9WYWxpZGl0eUNoZWNraW5nRGVmYXVsdFZhbHVlID0gMTsKKyAgICAgICAgeG1sR2VuZXJpY0Vycm9yQ29udGV4dCA9IHN0ZGVycjsKKyAgICB9CisgICAgbXlEb2MgPSB4bWxQYXJzZUZpbGUoZmlsZW5hbWUpOworICAgIGlmIChteURvYykgeworICAgICAgICB4bWxGcmVlRG9jKG15RG9jKTsKKyAgICB9IGVsc2UgeworICAgICAgICBwcmludGYoInBhcnNlIGZhaWxlZFxuIik7CisgICAgICAgIG9rYXkgPSAwOworICAgIH0KKyAgICBpZiAoIXN0cmNtcChmaWxlbmFtZSwgInRlc3QvdGhyZWFkcy9pbnZhbGlkLnhtbCIpKSB7CisgICAgICAgIGlmICh4bWxEb1ZhbGlkaXR5Q2hlY2tpbmdEZWZhdWx0VmFsdWUgIT0gMCkgeworICAgICAgICAgICAgcHJpbnRmKCJWYWxpZGl0eUNoZWNraW5nRGVmYXVsdFZhbHVlIG92ZXJyaWRlIGZhaWxlZFxuIik7CisgICAgICAgICAgICBva2F5ID0gMDsKKyAgICAgICAgfQorICAgICAgICBpZiAoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCAhPSBzdGRvdXQpIHsKKyAgICAgICAgICAgIHByaW50ZigieG1sR2VuZXJpY0Vycm9yQ29udGV4dCBvdmVycmlkZSBmYWlsZWRcbiIpOworICAgICAgICAgICAgb2theSA9IDA7CisgICAgICAgIH0KKyAgICB9IGVsc2UgeworICAgICAgICBpZiAoeG1sRG9WYWxpZGl0eUNoZWNraW5nRGVmYXVsdFZhbHVlICE9IDEpIHsKKyAgICAgICAgICAgIHByaW50ZigiVmFsaWRpdHlDaGVja2luZ0RlZmF1bHRWYWx1ZSBvdmVycmlkZSBmYWlsZWRcbiIpOworICAgICAgICAgICAgb2theSA9IDA7CisgICAgICAgIH0KKyAgICAgICAgaWYgKHhtbEdlbmVyaWNFcnJvckNvbnRleHQgIT0gc3RkZXJyKSB7CisgICAgICAgICAgICBwcmludGYoInhtbEdlbmVyaWNFcnJvckNvbnRleHQgb3ZlcnJpZGUgZmFpbGVkXG4iKTsKKyAgICAgICAgICAgIG9rYXkgPSAwOworICAgICAgICB9CisgICAgfQorICAgIGlmIChva2F5ID09IDApCisgICAgICAgIHJldHVybiAoKHZvaWQgKikgRmFpbGVkKTsKKyAgICByZXR1cm4gKCh2b2lkICopIE9rYXkpOworfQorCisjaWYgZGVmaW5lZCBXSU4zMgorI2luY2x1ZGUgPHdpbmRvd3MuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKworI2RlZmluZSBURVNUX1JFUEVBVF9DT1VOVCA1MDAKKworc3RhdGljIEhBTkRMRSB0aWRbTUFYX0FSR0NdOworCitzdGF0aWMgRFdPUkQgV0lOQVBJCit3aW4zMl90aHJlYWRfc3BlY2lmaWNfZGF0YSh2b2lkICpwcml2YXRlX2RhdGEpCit7CisgICAgcmV0dXJuKChEV09SRCkgdGhyZWFkX3NwZWNpZmljX2RhdGEocHJpdmF0ZV9kYXRhKSk7Cit9CisKK3N0YXRpYyBpbnQKK3Rlc3RUaHJlYWQodm9pZCkKK3sKKyAgICB1bnNpZ25lZCBpbnQgaSwgcmVwZWF0OworICAgIHVuc2lnbmVkIGludCBudW1fdGhyZWFkcyA9IHNpemVvZih0ZXN0ZmlsZXMpIC8gc2l6ZW9mKHRlc3RmaWxlc1swXSk7CisgICAgRFdPUkQgcmVzdWx0c1tNQVhfQVJHQ107CisgICAgQk9PTCByZXQ7CisgICAgaW50IHJlcyA9IDA7CisKKyAgICB4bWxJbml0UGFyc2VyKCk7CisgICAgZm9yIChyZXBlYXQgPSAwOyByZXBlYXQgPCBURVNUX1JFUEVBVF9DT1VOVDsgcmVwZWF0KyspIHsKKyAgICAgICAgeG1sTG9hZENhdGFsb2coY2F0YWxvZyk7CisgICAgICAgIG5iX3Rlc3RzKys7CisKKyAgICAgICAgZm9yIChpID0gMDsgaSA8IG51bV90aHJlYWRzOyBpKyspIHsKKyAgICAgICAgICAgIHJlc3VsdHNbaV0gPSAwOworICAgICAgICAgICAgdGlkW2ldID0gKEhBTkRMRSkgLSAxOworICAgICAgICB9CisKKyAgICAgICAgZm9yIChpID0gMDsgaSA8IG51bV90aHJlYWRzOyBpKyspIHsKKyAgICAgICAgICAgIERXT1JEIHVzZWxlc3M7CisKKyAgICAgICAgICAgIHRpZFtpXSA9IENyZWF0ZVRocmVhZChOVUxMLCAwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbjMyX3RocmVhZF9zcGVjaWZpY19kYXRhLAorCQkJCSAgKHZvaWQgKikgdGVzdGZpbGVzW2ldLCAwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZ1c2VsZXNzKTsKKyAgICAgICAgICAgIGlmICh0aWRbaV0gPT0gTlVMTCkgeworICAgICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiQ3JlYXRlVGhyZWFkIGZhaWxlZFxuIik7CisgICAgICAgICAgICAgICAgcmV0dXJuKDEpOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgaWYgKFdhaXRGb3JNdWx0aXBsZU9iamVjdHMobnVtX3RocmVhZHMsIHRpZCwgVFJVRSwgSU5GSU5JVEUpID09CisgICAgICAgICAgICBXQUlUX0ZBSUxFRCkgeworICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJXYWl0Rm9yTXVsdGlwbGVPYmplY3RzIGZhaWxlZFxuIik7CisJICAgIHJldHVybigxKTsKKwl9CisKKyAgICAgICAgZm9yIChpID0gMDsgaSA8IG51bV90aHJlYWRzOyBpKyspIHsKKyAgICAgICAgICAgIHJldCA9IEdldEV4aXRDb2RlVGhyZWFkKHRpZFtpXSwgJnJlc3VsdHNbaV0pOworICAgICAgICAgICAgaWYgKHJldCA9PSAwKSB7CisgICAgICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJHZXRFeGl0Q29kZVRocmVhZCBmYWlsZWRcbiIpOworICAgICAgICAgICAgICAgIHJldHVybigxKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIENsb3NlSGFuZGxlKHRpZFtpXSk7CisgICAgICAgIH0KKworICAgICAgICB4bWxDYXRhbG9nQ2xlYW51cCgpOworICAgICAgICBmb3IgKGkgPSAwOyBpIDwgbnVtX3RocmVhZHM7IGkrKykgeworICAgICAgICAgICAgaWYgKHJlc3VsdHNbaV0gIT0gKERXT1JEKSBPa2F5KSB7CisgICAgICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJUaHJlYWQgJWQgaGFuZGxpbmcgJXMgZmFpbGVkXG4iLAorCQkgICAgICAgIGksIHRlc3RmaWxlc1tpXSk7CisJICAgICAgICByZXMgPSAxOworCSAgICB9CisgICAgICAgIH0KKyAgICB9CisKKyAgICByZXR1cm4gKHJlcyk7Cit9CisKKyNlbGlmIGRlZmluZWQgX19CRU9TX18KKyNpbmNsdWRlIDxPUy5oPgorCitzdGF0aWMgdGhyZWFkX2lkIHRpZFtNQVhfQVJHQ107CisKK3N0YXRpYyBpbnQKK3Rlc3RUaHJlYWQodm9pZCkKK3sKKyAgICB1bnNpZ25lZCBpbnQgaSwgcmVwZWF0OworICAgIHVuc2lnbmVkIGludCBudW1fdGhyZWFkcyA9IHNpemVvZih0ZXN0ZmlsZXMpIC8gc2l6ZW9mKHRlc3RmaWxlc1swXSk7CisgICAgdm9pZCAqcmVzdWx0c1tNQVhfQVJHQ107CisgICAgc3RhdHVzX3QgcmV0OworICAgIGludCByZXMgPSAwOworCisgICAgeG1sSW5pdFBhcnNlcigpOworICAgIGZvciAocmVwZWF0ID0gMDsgcmVwZWF0IDwgNTAwOyByZXBlYXQrKykgeworICAgICAgICB4bWxMb2FkQ2F0YWxvZyhjYXRhbG9nKTsKKyAgICAgICAgZm9yIChpID0gMDsgaSA8IG51bV90aHJlYWRzOyBpKyspIHsKKyAgICAgICAgICAgIHJlc3VsdHNbaV0gPSBOVUxMOworICAgICAgICAgICAgdGlkW2ldID0gKHRocmVhZF9pZCkgLSAxOworICAgICAgICB9CisgICAgICAgIGZvciAoaSA9IDA7IGkgPCBudW1fdGhyZWFkczsgaSsrKSB7CisgICAgICAgICAgICB0aWRbaV0gPQorICAgICAgICAgICAgICAgIHNwYXduX3RocmVhZCh0aHJlYWRfc3BlY2lmaWNfZGF0YSwgInhtbFRlc3RUaHJlYWQiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCX05PUk1BTF9QUklPUklUWSwgKHZvaWQgKikgdGVzdGZpbGVzW2ldKTsKKyAgICAgICAgICAgIGlmICh0aWRbaV0gPCBCX09LKSB7CisgICAgICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJiZW9zX3RocmVhZF9jcmVhdGUgZmFpbGVkXG4iKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gKDEpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgcHJpbnRmKCJiZW9zX3RocmVhZF9jcmVhdGUgJWQgLT4gJWRcbiIsIGksIHRpZFtpXSk7CisgICAgICAgIH0KKyAgICAgICAgZm9yIChpID0gMDsgaSA8IG51bV90aHJlYWRzOyBpKyspIHsKKyAgICAgICAgICAgIHJldCA9IHdhaXRfZm9yX3RocmVhZCh0aWRbaV0sICZyZXN1bHRzW2ldKTsKKyAgICAgICAgICAgIHByaW50ZigiYmVvc190aHJlYWRfd2FpdCAlZCAtPiAlZFxuIiwgaSwgcmV0KTsKKyAgICAgICAgICAgIGlmIChyZXQgIT0gQl9PSykgeworICAgICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiYmVvc190aHJlYWRfd2FpdCBmYWlsZWRcbiIpOworICAgICAgICAgICAgICAgIHJldHVybiAoMSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICB4bWxDYXRhbG9nQ2xlYW51cCgpOworICAgICAgICByZXQgPSBCX09LOworICAgICAgICBmb3IgKGkgPSAwOyBpIDwgbnVtX3RocmVhZHM7IGkrKykKKyAgICAgICAgICAgIGlmIChyZXN1bHRzW2ldICE9ICh2b2lkICopIE9rYXkpIHsKKyAgICAgICAgICAgICAgICBwcmludGYoIlRocmVhZCAlZCBoYW5kbGluZyAlcyBmYWlsZWRcbiIsIGksIHRlc3RmaWxlc1tpXSk7CisgICAgICAgICAgICAgICAgcmV0ID0gQl9FUlJPUjsKKyAgICAgICAgICAgIH0KKyAgICB9CisgICAgaWYgKHJldCAhPSBCX09LKQorICAgICAgICByZXR1cm4oMSk7CisgICAgcmV0dXJuICgwKTsKK30KKworI2VsaWYgZGVmaW5lZCBIQVZFX1BUSFJFQURfSAorI2luY2x1ZGUgPHB0aHJlYWQuaD4KKworc3RhdGljIHB0aHJlYWRfdCB0aWRbTUFYX0FSR0NdOworCitzdGF0aWMgaW50Cit0ZXN0VGhyZWFkKHZvaWQpCit7CisgICAgdW5zaWduZWQgaW50IGksIHJlcGVhdDsKKyAgICB1bnNpZ25lZCBpbnQgbnVtX3RocmVhZHMgPSBzaXplb2YodGVzdGZpbGVzKSAvIHNpemVvZih0ZXN0ZmlsZXNbMF0pOworICAgIHZvaWQgKnJlc3VsdHNbTUFYX0FSR0NdOworICAgIGludCByZXQ7CisgICAgaW50IHJlcyA9IDA7CisKKyAgICB4bWxJbml0UGFyc2VyKCk7CisKKyAgICBmb3IgKHJlcGVhdCA9IDA7IHJlcGVhdCA8IDUwMDsgcmVwZWF0KyspIHsKKyAgICAgICAgeG1sTG9hZENhdGFsb2coY2F0YWxvZyk7CisgICAgICAgIG5iX3Rlc3RzKys7CisKKyAgICAgICAgZm9yIChpID0gMDsgaSA8IG51bV90aHJlYWRzOyBpKyspIHsKKyAgICAgICAgICAgIHJlc3VsdHNbaV0gPSBOVUxMOworICAgICAgICAgICAgdGlkW2ldID0gKHB0aHJlYWRfdCkgLSAxOworICAgICAgICB9CisKKyAgICAgICAgZm9yIChpID0gMDsgaSA8IG51bV90aHJlYWRzOyBpKyspIHsKKyAgICAgICAgICAgIHJldCA9IHB0aHJlYWRfY3JlYXRlKCZ0aWRbaV0sIDAsIHRocmVhZF9zcGVjaWZpY19kYXRhLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHZvaWQgKikgdGVzdGZpbGVzW2ldKTsKKyAgICAgICAgICAgIGlmIChyZXQgIT0gMCkgeworICAgICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAicHRocmVhZF9jcmVhdGUgZmFpbGVkXG4iKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gKDEpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIGZvciAoaSA9IDA7IGkgPCBudW1fdGhyZWFkczsgaSsrKSB7CisgICAgICAgICAgICByZXQgPSBwdGhyZWFkX2pvaW4odGlkW2ldLCAmcmVzdWx0c1tpXSk7CisgICAgICAgICAgICBpZiAocmV0ICE9IDApIHsKKyAgICAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgInB0aHJlYWRfam9pbiBmYWlsZWRcbiIpOworICAgICAgICAgICAgICAgIHJldHVybiAoMSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICB4bWxDYXRhbG9nQ2xlYW51cCgpOworICAgICAgICBmb3IgKGkgPSAwOyBpIDwgbnVtX3RocmVhZHM7IGkrKykKKyAgICAgICAgICAgIGlmIChyZXN1bHRzW2ldICE9ICh2b2lkICopIE9rYXkpIHsKKyAgICAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIlRocmVhZCAlZCBoYW5kbGluZyAlcyBmYWlsZWRcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICBpLCB0ZXN0ZmlsZXNbaV0pOworICAgICAgICAgICAgICAgIHJlcyA9IDE7CisgICAgICAgICAgICB9CisgICAgfQorICAgIHJldHVybiAocmVzKTsKK30KKworI2Vsc2UKK3N0YXRpYyBpbnQKK3Rlc3RUaHJlYWQodm9pZCkKK3sKKyAgICBmcHJpbnRmKHN0ZGVyciwKKyAgICAgICAgICAgICJTcGVjaWZpYyBwbGF0Zm9ybSB0aHJlYWQgc3VwcG9ydCBub3QgZGV0ZWN0ZWRcbiIpOworICAgIHJldHVybiAoLTEpOworfQorI2VuZGlmCitzdGF0aWMgaW50Cit0aHJlYWRzVGVzdChjb25zdCBjaGFyICpmaWxlbmFtZSBBVFRSSUJVVEVfVU5VU0VELAorCSAgICBjb25zdCBjaGFyICpyZXN1bCBBVFRSSUJVVEVfVU5VU0VELAorCSAgICBjb25zdCBjaGFyICplcnIgQVRUUklCVVRFX1VOVVNFRCwKKwkgICAgaW50IG9wdGlvbnMgQVRUUklCVVRFX1VOVVNFRCkgeworICAgIHJldHVybih0ZXN0VGhyZWFkKCkpOworfQorI2VuZGlmCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQkJVGVzdHMgRGVzY3JpcHRpb25zCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworc3RhdGljCit0ZXN0RGVzYyB0ZXN0RGVzY3JpcHRpb25zW10gPSB7CisgICAgeyAiWE1MIHJlZ3Jlc3Npb24gdGVzdHMiICwKKyAgICAgIG9sZFBhcnNlVGVzdCwgIi4vdGVzdC8qIiwgInJlc3VsdC8iLCAiIiwgTlVMTCwKKyAgICAgIDAgfSwKKyAgICB7ICJYTUwgcmVncmVzc2lvbiB0ZXN0cyBvbiBtZW1vcnkiICwKKyAgICAgIG1lbVBhcnNlVGVzdCwgIi4vdGVzdC8qIiwgInJlc3VsdC8iLCAiIiwgTlVMTCwKKyAgICAgIDAgfSwKKyAgICB7ICJYTUwgZW50aXR5IHN1YnN0IHJlZ3Jlc3Npb24gdGVzdHMiICwKKyAgICAgIG5vZW50UGFyc2VUZXN0LCAiLi90ZXN0LyoiLCAicmVzdWx0L25vZW50LyIsICIiLCBOVUxMLAorICAgICAgWE1MX1BBUlNFX05PRU5UIH0sCisgICAgeyAiWE1MIE5hbWVzcGFjZXMgcmVncmVzc2lvbiB0ZXN0cyIsCisgICAgICBlcnJQYXJzZVRlc3QsICIuL3Rlc3QvbmFtZXNwYWNlcy8qIiwgInJlc3VsdC9uYW1lc3BhY2VzLyIsICIiLCAiLmVyciIsCisgICAgICAwIH0sCisgICAgeyAiRXJyb3IgY2FzZXMgcmVncmVzc2lvbiB0ZXN0cyIsCisgICAgICBlcnJQYXJzZVRlc3QsICIuL3Rlc3QvZXJyb3JzLyoueG1sIiwgInJlc3VsdC9lcnJvcnMvIiwgIiIsICIuZXJyIiwKKyAgICAgIDAgfSwKKyNpZmRlZiBMSUJYTUxfUkVBREVSX0VOQUJMRUQKKyAgICB7ICJFcnJvciBjYXNlcyBzdHJlYW0gcmVncmVzc2lvbiB0ZXN0cyIsCisgICAgICBzdHJlYW1QYXJzZVRlc3QsICIuL3Rlc3QvZXJyb3JzLyoueG1sIiwgInJlc3VsdC9lcnJvcnMvIiwgTlVMTCwgIi5zdHIiLAorICAgICAgMCB9LAorICAgIHsgIlJlYWRlciByZWdyZXNzaW9uIHRlc3RzIiwKKyAgICAgIHN0cmVhbVBhcnNlVGVzdCwgIi4vdGVzdC8qIiwgInJlc3VsdC8iLCAiLnJkciIsIE5VTEwsCisgICAgICAwIH0sCisgICAgeyAiUmVhZGVyIGVudGl0aWVzIHN1YnN0aXR1dGlvbiByZWdyZXNzaW9uIHRlc3RzIiwKKyAgICAgIHN0cmVhbVBhcnNlVGVzdCwgIi4vdGVzdC8qIiwgInJlc3VsdC8iLCAiLnJkZSIsIE5VTEwsCisgICAgICBYTUxfUEFSU0VfTk9FTlQgfSwKKyAgICB7ICJSZWFkZXIgb24gbWVtb3J5IHJlZ3Jlc3Npb24gdGVzdHMiLAorICAgICAgc3RyZWFtTWVtUGFyc2VUZXN0LCAiLi90ZXN0LyoiLCAicmVzdWx0LyIsICIucmRyIiwgTlVMTCwKKyAgICAgIDAgfSwKKyAgICB7ICJXYWxrZXIgcmVncmVzc2lvbiB0ZXN0cyIsCisgICAgICB3YWxrZXJQYXJzZVRlc3QsICIuL3Rlc3QvKiIsICJyZXN1bHQvIiwgIi5yZHIiLCBOVUxMLAorICAgICAgMCB9LAorI2VuZGlmCisjaWZkZWYgTElCWE1MX1NBWDFfRU5BQkxFRAorICAgIHsgIlNBWDEgY2FsbGJhY2tzIHJlZ3Jlc3Npb24gdGVzdHMiICwKKyAgICAgIHNheFBhcnNlVGVzdCwgIi4vdGVzdC8qIiwgInJlc3VsdC8iLCAiLnNheCIsIE5VTEwsCisgICAgICBYTUxfUEFSU0VfU0FYMSB9LAorICAgIHsgIlNBWDIgY2FsbGJhY2tzIHJlZ3Jlc3Npb24gdGVzdHMiICwKKyAgICAgIHNheFBhcnNlVGVzdCwgIi4vdGVzdC8qIiwgInJlc3VsdC8iLCAiLnNheDIiLCBOVUxMLAorICAgICAgMCB9LAorI2VuZGlmCisjaWZkZWYgTElCWE1MX1BVU0hfRU5BQkxFRAorICAgIHsgIlhNTCBwdXNoIHJlZ3Jlc3Npb24gdGVzdHMiICwKKyAgICAgIHB1c2hQYXJzZVRlc3QsICIuL3Rlc3QvKiIsICJyZXN1bHQvIiwgIiIsIE5VTEwsCisgICAgICAwIH0sCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfSFRNTF9FTkFCTEVECisgICAgeyAiSFRNTCByZWdyZXNzaW9uIHRlc3RzIiAsCisgICAgICBlcnJQYXJzZVRlc3QsICIuL3Rlc3QvSFRNTC8qIiwgInJlc3VsdC9IVE1MLyIsICIiLCAiLmVyciIsCisgICAgICBYTUxfUEFSU0VfSFRNTCB9LAorI2lmZGVmIExJQlhNTF9QVVNIX0VOQUJMRUQKKyAgICB7ICJQdXNoIEhUTUwgcmVncmVzc2lvbiB0ZXN0cyIgLAorICAgICAgcHVzaFBhcnNlVGVzdCwgIi4vdGVzdC9IVE1MLyoiLCAicmVzdWx0L0hUTUwvIiwgIiIsICIuZXJyIiwKKyAgICAgIFhNTF9QQVJTRV9IVE1MIH0sCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfU0FYMV9FTkFCTEVECisgICAgeyAiSFRNTCBTQVggcmVncmVzc2lvbiB0ZXN0cyIgLAorICAgICAgc2F4UGFyc2VUZXN0LCAiLi90ZXN0L0hUTUwvKiIsICJyZXN1bHQvSFRNTC8iLCAiLnNheCIsIE5VTEwsCisgICAgICBYTUxfUEFSU0VfSFRNTCB9LAorI2VuZGlmCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfVkFMSURfRU5BQkxFRAorICAgIHsgIlZhbGlkIGRvY3VtZW50cyByZWdyZXNzaW9uIHRlc3RzIiAsCisgICAgICBlcnJQYXJzZVRlc3QsICIuL3Rlc3QvVkNNLyoiLCBOVUxMLCBOVUxMLCBOVUxMLAorICAgICAgWE1MX1BBUlNFX0RURFZBTElEIH0sCisgICAgeyAiVmFsaWRpdHkgY2hlY2tpbmcgcmVncmVzc2lvbiB0ZXN0cyIgLAorICAgICAgZXJyUGFyc2VUZXN0LCAiLi90ZXN0L1ZDLyoiLCAicmVzdWx0L1ZDLyIsIE5VTEwsICIiLAorICAgICAgWE1MX1BBUlNFX0RURFZBTElEIH0sCisjaWZkZWYgTElCWE1MX1JFQURFUl9FTkFCTEVECisgICAgeyAiU3RyZWFtaW5nIHZhbGlkaXR5IGNoZWNraW5nIHJlZ3Jlc3Npb24gdGVzdHMiICwKKyAgICAgIHN0cmVhbVBhcnNlVGVzdCwgIi4vdGVzdC92YWxpZC8qLnhtbCIsICJyZXN1bHQvdmFsaWQvIiwgTlVMTCwgIi5lcnIucmRyIiwKKyAgICAgIFhNTF9QQVJTRV9EVERWQUxJRCB9LAorICAgIHsgIlN0cmVhbWluZyB2YWxpZGl0eSBlcnJvciBjaGVja2luZyByZWdyZXNzaW9uIHRlc3RzIiAsCisgICAgICBzdHJlYW1QYXJzZVRlc3QsICIuL3Rlc3QvVkMvKiIsICJyZXN1bHQvVkMvIiwgTlVMTCwgIi5yZHIiLAorICAgICAgWE1MX1BBUlNFX0RURFZBTElEIH0sCisjZW5kaWYKKyAgICB7ICJHZW5lcmFsIGRvY3VtZW50cyB2YWxpZCByZWdyZXNzaW9uIHRlc3RzIiAsCisgICAgICBlcnJQYXJzZVRlc3QsICIuL3Rlc3QvdmFsaWQvKiIsICJyZXN1bHQvdmFsaWQvIiwgIiIsICIuZXJyIiwKKyAgICAgIFhNTF9QQVJTRV9EVERWQUxJRCB9LAorI2VuZGlmCisjaWZkZWYgTElCWE1MX1hJTkNMVURFX0VOQUJMRUQKKyAgICB7ICJYSW5jbHVkZSByZWdyZXNzaW9uIHRlc3RzIiAsCisgICAgICBlcnJQYXJzZVRlc3QsICIuL3Rlc3QvWEluY2x1ZGUvZG9jcy8qIiwgInJlc3VsdC9YSW5jbHVkZS8iLCAiIiwgTlVMTCwKKyAgICAgIC8qIElnbm9yZSBlcnJvcnMgYXQgdGhpcyBwb2ludCAiLmVyciIsICovCisgICAgICBYTUxfUEFSU0VfWElOQ0xVREUgfSwKKyNpZmRlZiBMSUJYTUxfUkVBREVSX0VOQUJMRUQKKyAgICB7ICJYSW5jbHVkZSB4bWxSZWFkZXIgcmVncmVzc2lvbiB0ZXN0cyIsCisgICAgICBzdHJlYW1QYXJzZVRlc3QsICIuL3Rlc3QvWEluY2x1ZGUvZG9jcy8qIiwgInJlc3VsdC9YSW5jbHVkZS8iLCAiLnJkciIsCisgICAgICAvKiBJZ25vcmUgZXJyb3JzIGF0IHRoaXMgcG9pbnQgIi5lcnIiLCAqLworICAgICAgTlVMTCwgWE1MX1BBUlNFX1hJTkNMVURFIH0sCisjZW5kaWYKKyAgICB7ICJYSW5jbHVkZSByZWdyZXNzaW9uIHRlc3RzIHN0cmlwcGluZyBpbmNsdWRlIG5vZGVzIiAsCisgICAgICBlcnJQYXJzZVRlc3QsICIuL3Rlc3QvWEluY2x1ZGUvZG9jcy8qIiwgInJlc3VsdC9YSW5jbHVkZS8iLCAiIiwgTlVMTCwKKyAgICAgIC8qIElnbm9yZSBlcnJvcnMgYXQgdGhpcyBwb2ludCAiLmVyciIsICovCisgICAgICBYTUxfUEFSU0VfWElOQ0xVREUgfCBYTUxfUEFSU0VfTk9YSU5DTk9ERSB9LAorI2lmZGVmIExJQlhNTF9SRUFERVJfRU5BQkxFRAorICAgIHsgIlhJbmNsdWRlIHhtbFJlYWRlciByZWdyZXNzaW9uIHRlc3RzIHN0cmlwcGluZyBpbmNsdWRlIG5vZGVzIiwKKyAgICAgIHN0cmVhbVBhcnNlVGVzdCwgIi4vdGVzdC9YSW5jbHVkZS9kb2NzLyoiLCAicmVzdWx0L1hJbmNsdWRlLyIsICIucmRyIiwKKyAgICAgIC8qIElnbm9yZSBlcnJvcnMgYXQgdGhpcyBwb2ludCAiLmVyciIsICovCisgICAgICBOVUxMLCBYTUxfUEFSU0VfWElOQ0xVREUgfCBYTUxfUEFSU0VfTk9YSU5DTk9ERSB9LAorI2VuZGlmCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAorI2lmZGVmIExJQlhNTF9ERUJVR19FTkFCTEVECisgICAgeyAiWFBhdGggZXhwcmVzc2lvbnMgcmVncmVzc2lvbiB0ZXN0cyIgLAorICAgICAgeHBhdGhFeHByVGVzdCwgIi4vdGVzdC9YUGF0aC9leHByLyoiLCAicmVzdWx0L1hQYXRoL2V4cHIvIiwgIiIsIE5VTEwsCisgICAgICAwIH0sCisgICAgeyAiWFBhdGggZG9jdW1lbnQgcXVlcmllcyByZWdyZXNzaW9uIHRlc3RzIiAsCisgICAgICB4cGF0aERvY1Rlc3QsICIuL3Rlc3QvWFBhdGgvZG9jcy8qIiwgTlVMTCwgTlVMTCwgTlVMTCwKKyAgICAgIDAgfSwKKyNpZmRlZiBMSUJYTUxfWFBUUl9FTkFCTEVECisgICAgeyAiWFBvaW50ZXIgZG9jdW1lbnQgcXVlcmllcyByZWdyZXNzaW9uIHRlc3RzIiAsCisgICAgICB4cHRyRG9jVGVzdCwgIi4vdGVzdC9YUGF0aC9kb2NzLyoiLCBOVUxMLCBOVUxMLCBOVUxMLAorICAgICAgMCB9LAorI2VuZGlmCisgICAgeyAieG1sOmlkIHJlZ3Jlc3Npb24gdGVzdHMiICwKKyAgICAgIHhtbGlkRG9jVGVzdCwgIi4vdGVzdC94bWxpZC8qIiwgInJlc3VsdC94bWxpZC8iLCAiIiwgIi5lcnIiLAorICAgICAgMCB9LAorI2VuZGlmCisjZW5kaWYKKyAgICB7ICJVUkkgcGFyc2luZyB0ZXN0cyIgLAorICAgICAgdXJpUGFyc2VUZXN0LCAiLi90ZXN0L1VSSS8qLnVyaSIsICJyZXN1bHQvVVJJLyIsICIiLCBOVUxMLAorICAgICAgMCB9LAorICAgIHsgIlVSSSBiYXNlIGNvbXBvc2l0aW9uIHRlc3RzIiAsCisgICAgICB1cmlCYXNlVGVzdCwgIi4vdGVzdC9VUkkvKi5kYXRhIiwgInJlc3VsdC9VUkkvIiwgIiIsIE5VTEwsCisgICAgICAwIH0sCisgICAgeyAiUGF0aCBVUkkgY29udmVyc2lvbiB0ZXN0cyIgLAorICAgICAgdXJpUGF0aFRlc3QsIE5VTEwsIE5VTEwsIE5VTEwsIE5VTEwsCisgICAgICAwIH0sCisjaWZkZWYgTElCWE1MX1NDSEVNQVNfRU5BQkxFRAorICAgIHsgIlNjaGVtYXMgcmVncmVzc2lvbiB0ZXN0cyIgLAorICAgICAgc2NoZW1hc1Rlc3QsICIuL3Rlc3Qvc2NoZW1hcy8qXyoueHNkIiwgTlVMTCwgTlVMTCwgTlVMTCwKKyAgICAgIDAgfSwKKyAgICB7ICJSZWxheC1ORyByZWdyZXNzaW9uIHRlc3RzIiAsCisgICAgICBybmdUZXN0LCAiLi90ZXN0L3JlbGF4bmcvKi5ybmciLCBOVUxMLCBOVUxMLCBOVUxMLAorICAgICAgWE1MX1BBUlNFX0RUREFUVFIgfCBYTUxfUEFSU0VfTk9FTlQgfSwKKyNpZmRlZiBMSUJYTUxfUkVBREVSX0VOQUJMRUQKKyAgICB7ICJSZWxheC1ORyBzdHJlYW1pbmcgcmVncmVzc2lvbiB0ZXN0cyIgLAorICAgICAgcm5nU3RyZWFtVGVzdCwgIi4vdGVzdC9yZWxheG5nLyoucm5nIiwgTlVMTCwgTlVMTCwgTlVMTCwKKyAgICAgIFhNTF9QQVJTRV9EVERBVFRSIHwgWE1MX1BBUlNFX05PRU5UIH0sCisjZW5kaWYKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9QQVRURVJOX0VOQUJMRUQKKyNpZmRlZiBMSUJYTUxfUkVBREVSX0VOQUJMRUQKKyAgICB7ICJQYXR0ZXJuIHJlZ3Jlc3Npb24gdGVzdHMiICwKKyAgICAgIHBhdHRlcm5UZXN0LCAiLi90ZXN0L3BhdHRlcm4vKi5wYXQiLCAicmVzdWx0L3BhdHRlcm4vIiwgTlVMTCwgTlVMTCwKKyAgICAgIDAgfSwKKyNlbmRpZgorI2VuZGlmCisjaWZkZWYgTElCWE1MX0MxNE5fRU5BQkxFRAorICAgIHsgIkMxNE4gd2l0aCBjb21tZW50cyByZWdyZXNzaW9uIHRlc3RzIiAsCisgICAgICBjMTRuV2l0aENvbW1lbnRUZXN0LCAiLi90ZXN0L2MxNG4vd2l0aC1jb21tZW50cy8qLnhtbCIsIE5VTEwsIE5VTEwsIE5VTEwsCisgICAgICAwIH0sCisgICAgeyAiQzE0TiB3aXRob3V0IGNvbW1lbnRzIHJlZ3Jlc3Npb24gdGVzdHMiICwKKyAgICAgIGMxNG5XaXRob3V0Q29tbWVudFRlc3QsICIuL3Rlc3QvYzE0bi93aXRob3V0LWNvbW1lbnRzLyoueG1sIiwgTlVMTCwgTlVMTCwgTlVMTCwKKyAgICAgIDAgfSwKKyAgICB7ICJDMTROIGV4Y2x1c2l2ZSB3aXRob3V0IGNvbW1lbnRzIHJlZ3Jlc3Npb24gdGVzdHMiICwKKyAgICAgIGMxNG5FeGNXaXRob3V0Q29tbWVudFRlc3QsICIuL3Rlc3QvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy8qLnhtbCIsIE5VTEwsIE5VTEwsIE5VTEwsCisgICAgICAwIH0sCisgICAgeyAiQzE0TiAxLjEgd2l0aG91dCBjb21tZW50cyByZWdyZXNzaW9uIHRlc3RzIiAsCisgICAgICBjMTRuMTFXaXRob3V0Q29tbWVudFRlc3QsICIuL3Rlc3QvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy8qLnhtbCIsIE5VTEwsIE5VTEwsIE5VTEwsCisgICAgICAwIH0sCisjZW5kaWYKKyNpZiBkZWZpbmVkKExJQlhNTF9USFJFQURfRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfQ0FUQUxPR19FTkFCTEVEKSAmJiBkZWZpbmVkKExJQlhNTF9TQVgxX0VOQUJMRUQpCisgICAgeyAiQ2F0YWxvZyBhbmQgVGhyZWFkcyByZWdyZXNzaW9uIHRlc3RzIiAsCisgICAgICB0aHJlYWRzVGVzdCwgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwKKyAgICAgIDAgfSwKKyNlbmRpZgorICAgIHtOVUxMLCBOVUxMLCBOVUxMLCBOVUxMLCBOVUxMLCBOVUxMLCAwfQorfTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJVGhlIG1haW4gY29kZSBkcml2aW5nIHRoZSB0ZXN0cwkJCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK3N0YXRpYyBpbnQKK2xhdW5jaFRlc3RzKHRlc3REZXNjUHRyIHRzdCkgeworICAgIGludCByZXMgPSAwLCBlcnIgPSAwOworICAgIHNpemVfdCBpOworICAgIGNoYXIgKnJlc3VsdDsKKyAgICBjaGFyICplcnJvcjsKKyAgICBpbnQgbWVtOworCisgICAgaWYgKHRzdCA9PSBOVUxMKSByZXR1cm4oLTEpOworICAgIGlmICh0c3QtPmluICE9IE5VTEwpIHsKKwlnbG9iX3QgZ2xvYmJ1ZjsKKworCWdsb2JidWYuZ2xfb2ZmcyA9IDA7CisJZ2xvYih0c3QtPmluLCBHTE9CX0RPT0ZGUywgTlVMTCwgJmdsb2JidWYpOworCWZvciAoaSA9IDA7aSA8IGdsb2JidWYuZ2xfcGF0aGM7aSsrKSB7CisJICAgIGlmICghY2hlY2tUZXN0RmlsZShnbG9iYnVmLmdsX3BhdGh2W2ldKSkKKwkgICAgICAgIGNvbnRpbnVlOworCSAgICBpZiAodHN0LT5zdWZmaXggIT0gTlVMTCkgeworCQlyZXN1bHQgPSByZXN1bHRGaWxlbmFtZShnbG9iYnVmLmdsX3BhdGh2W2ldLCB0c3QtPm91dCwKKwkJCQkJdHN0LT5zdWZmaXgpOworCQlpZiAocmVzdWx0ID09IE5VTEwpIHsKKwkJICAgIGZwcmludGYoc3RkZXJyLCAiT3V0IG9mIG1lbW9yeSAhXG4iKTsKKwkJICAgIGZhdGFsRXJyb3IoKTsKKwkJfQorCSAgICB9IGVsc2UgeworCSAgICAgICAgcmVzdWx0ID0gTlVMTDsKKwkgICAgfQorCSAgICBpZiAodHN0LT5lcnIgIT0gTlVMTCkgeworCQllcnJvciA9IHJlc3VsdEZpbGVuYW1lKGdsb2JidWYuZ2xfcGF0aHZbaV0sIHRzdC0+b3V0LAorCQkgICAgICAgICAgICAgICAgICAgICAgICB0c3QtPmVycik7CisJCWlmIChlcnJvciA9PSBOVUxMKSB7CisJCSAgICBmcHJpbnRmKHN0ZGVyciwgIk91dCBvZiBtZW1vcnkgIVxuIik7CisJCSAgICBmYXRhbEVycm9yKCk7CisJCX0KKwkgICAgfSBlbHNlIHsKKwkgICAgICAgIGVycm9yID0gTlVMTDsKKwkgICAgfQorCSAgICBpZiAoKHJlc3VsdCkgJiYoIWNoZWNrVGVzdEZpbGUocmVzdWx0KSkpIHsKKwkgICAgICAgIGZwcmludGYoc3RkZXJyLCAiTWlzc2luZyByZXN1bHQgZmlsZSAlc1xuIiwgcmVzdWx0KTsKKwkgICAgfSBlbHNlIGlmICgoZXJyb3IpICYmKCFjaGVja1Rlc3RGaWxlKGVycm9yKSkpIHsKKwkgICAgICAgIGZwcmludGYoc3RkZXJyLCAiTWlzc2luZyBlcnJvciBmaWxlICVzXG4iLCBlcnJvcik7CisJICAgIH0gZWxzZSB7CisJCW1lbSA9IHhtbE1lbVVzZWQoKTsKKwkJZXh0cmFNZW1vcnlGcm9tUmVzb2x2ZXIgPSAwOworCQl0ZXN0RXJyb3JzU2l6ZSA9IDA7CisJCXRlc3RFcnJvcnNbMF0gPSAwOworCQlyZXMgPSB0c3QtPmZ1bmMoZ2xvYmJ1Zi5nbF9wYXRodltpXSwgcmVzdWx0LCBlcnJvciwKKwkJICAgICAgICAgICAgICAgIHRzdC0+b3B0aW9ucyB8IFhNTF9QQVJTRV9DT01QQUNUKTsKKwkJeG1sUmVzZXRMYXN0RXJyb3IoKTsKKwkJaWYgKHJlcyAhPSAwKSB7CisJCSAgICBmcHJpbnRmKHN0ZGVyciwgIkZpbGUgJXMgZ2VuZXJhdGVkIGFuIGVycm9yXG4iLAorCQkgICAgICAgICAgICBnbG9iYnVmLmdsX3BhdGh2W2ldKTsKKwkJICAgIG5iX2Vycm9ycysrOworCQkgICAgZXJyKys7CisJCX0KKwkJZWxzZSBpZiAoeG1sTWVtVXNlZCgpICE9IG1lbSkgeworCQkgICAgaWYgKCh4bWxNZW1Vc2VkKCkgIT0gbWVtKSAmJgorCQkgICAgICAgIChleHRyYU1lbW9yeUZyb21SZXNvbHZlciA9PSAwKSkgeworCQkJZnByaW50ZihzdGRlcnIsICJGaWxlICVzIGxlYWtlZCAlZCBieXRlc1xuIiwKKwkJCQlnbG9iYnVmLmdsX3BhdGh2W2ldLCB4bWxNZW1Vc2VkKCkgLSBtZW0pOworCQkJbmJfbGVha3MrKzsKKwkJCWVycisrOworCQkgICAgfQorCQl9CisJCXRlc3RFcnJvcnNTaXplID0gMDsKKwkgICAgfQorCSAgICBpZiAocmVzdWx0KQorCQlmcmVlKHJlc3VsdCk7CisJICAgIGlmIChlcnJvcikKKwkJZnJlZShlcnJvcik7CisJfQorCWdsb2JmcmVlKCZnbG9iYnVmKTsKKyAgICB9IGVsc2UgeworICAgICAgICB0ZXN0RXJyb3JzU2l6ZSA9IDA7CisJdGVzdEVycm9yc1swXSA9IDA7CisJZXh0cmFNZW1vcnlGcm9tUmVzb2x2ZXIgPSAwOworICAgICAgICByZXMgPSB0c3QtPmZ1bmMoTlVMTCwgTlVMTCwgTlVMTCwgdHN0LT5vcHRpb25zKTsKKwlpZiAocmVzICE9IDApIHsKKwkgICAgbmJfZXJyb3JzKys7CisJICAgIGVycisrOworCX0KKyAgICB9CisgICAgcmV0dXJuKGVycik7Cit9CisKK3N0YXRpYyBpbnQgdmVyYm9zZSA9IDA7CitzdGF0aWMgaW50IHRlc3RzX3F1aWV0ID0gMDsKKworc3RhdGljIGludAorcnVudGVzdChpbnQgaSkgeworICAgIGludCByZXQgPSAwLCByZXM7CisgICAgaW50IG9sZF9lcnJvcnMsIG9sZF90ZXN0cywgb2xkX2xlYWtzOworCisgICAgb2xkX2Vycm9ycyA9IG5iX2Vycm9yczsKKyAgICBvbGRfdGVzdHMgPSBuYl90ZXN0czsKKyAgICBvbGRfbGVha3MgPSBuYl9sZWFrczsKKyAgICBpZiAoKHRlc3RzX3F1aWV0ID09IDApICYmICh0ZXN0RGVzY3JpcHRpb25zW2ldLmRlc2MgIT0gTlVMTCkpCisJcHJpbnRmKCIjIyAlc1xuIiwgdGVzdERlc2NyaXB0aW9uc1tpXS5kZXNjKTsKKyAgICByZXMgPSBsYXVuY2hUZXN0cygmdGVzdERlc2NyaXB0aW9uc1tpXSk7CisgICAgaWYgKHJlcyAhPSAwKQorCXJldCsrOworICAgIGlmICh2ZXJib3NlKSB7CisJaWYgKChuYl9lcnJvcnMgPT0gb2xkX2Vycm9ycykgJiYgKG5iX2xlYWtzID09IG9sZF9sZWFrcykpCisJICAgIHByaW50ZigiUmFuICVkIHRlc3RzLCBubyBlcnJvcnNcbiIsIG5iX3Rlc3RzIC0gb2xkX3Rlc3RzKTsKKwllbHNlCisJICAgIHByaW50ZigiUmFuICVkIHRlc3RzLCAlZCBlcnJvcnMsICVkIGxlYWtzXG4iLAorCQkgICBuYl90ZXN0cyAtIG9sZF90ZXN0cywKKwkJICAgbmJfZXJyb3JzIC0gb2xkX2Vycm9ycywKKwkJICAgbmJfbGVha3MgLSBvbGRfbGVha3MpOworICAgIH0KKyAgICByZXR1cm4ocmV0KTsKK30KKworaW50CittYWluKGludCBhcmdjIEFUVFJJQlVURV9VTlVTRUQsIGNoYXIgKiphcmd2IEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICBpbnQgaSwgYSwgcmV0ID0gMDsKKyAgICBpbnQgc3Vic2V0ID0gMDsKKworICAgIGluaXRpYWxpemVMaWJ4bWwyKCk7CisKKyAgICBmb3IgKGEgPSAxOyBhIDwgYXJnYzthKyspIHsKKyAgICAgICAgaWYgKCFzdHJjbXAoYXJndlthXSwgIi12IikpCisJICAgIHZlcmJvc2UgPSAxOworICAgICAgICBlbHNlIGlmICghc3RyY21wKGFyZ3ZbYV0sICItcXVpZXQiKSkKKwkgICAgdGVzdHNfcXVpZXQgPSAxOworCWVsc2UgeworCSAgICBmb3IgKGkgPSAwOyB0ZXN0RGVzY3JpcHRpb25zW2ldLmZ1bmMgIT0gTlVMTDsgaSsrKSB7CisJICAgICAgICBpZiAoc3Ryc3RyKHRlc3REZXNjcmlwdGlvbnNbaV0uZGVzYywgYXJndlthXSkpIHsKKwkJICAgIHJldCArPSBydW50ZXN0KGkpOworCQkgICAgc3Vic2V0Kys7CisJCX0KKwkgICAgfQorCX0KKyAgICB9CisgICAgaWYgKHN1YnNldCA9PSAwKSB7CisJZm9yIChpID0gMDsgdGVzdERlc2NyaXB0aW9uc1tpXS5mdW5jICE9IE5VTEw7IGkrKykgeworCSAgICByZXQgKz0gcnVudGVzdChpKTsKKwl9CisgICAgfQorICAgIGlmICgobmJfZXJyb3JzID09IDApICYmIChuYl9sZWFrcyA9PSAwKSkgeworICAgICAgICByZXQgPSAwOworCXByaW50ZigiVG90YWwgJWQgdGVzdHMsIG5vIGVycm9yc1xuIiwKKwkgICAgICAgbmJfdGVzdHMpOworICAgIH0gZWxzZSB7CisgICAgICAgIHJldCA9IDE7CisJcHJpbnRmKCJUb3RhbCAlZCB0ZXN0cywgJWQgZXJyb3JzLCAlZCBsZWFrc1xuIiwKKwkgICAgICAgbmJfdGVzdHMsIG5iX2Vycm9ycywgbmJfbGVha3MpOworICAgIH0KKyAgICB4bWxDbGVhbnVwUGFyc2VyKCk7CisgICAgeG1sTWVtb3J5RHVtcCgpOworCisgICAgcmV0dXJuKHJldCk7Cit9CisKKyNlbHNlIC8qICEgTElCWE1MX09VVFBVVF9FTkFCTEVEICovCitpbnQKK21haW4oaW50IGFyZ2MgQVRUUklCVVRFX1VOVVNFRCwgY2hhciAqKmFyZ3YgQVRUUklCVVRFX1VOVVNFRCkgeworICAgIGZwcmludGYoc3RkZXJyLCAicnVudGVzdCByZXF1aXJlcyBvdXRwdXQgdG8gYmUgZW5hYmxlZCBpbiBsaWJ4bWwyXG4iKTsKKyAgICByZXR1cm4oMSk7Cit9CisjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYnhtbDIvcnVueG1sY29uZi5jIGIvbGlieG1sMi9ydW54bWxjb25mLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2VmMjBmNAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvcnVueG1sY29uZi5jCkBAIC0wLDAgKzEsNjA3IEBACisvKgorICogcnVuc3VpdGUuYzogQyBwcm9ncmFtIHRvIHJ1biBsaWJ4bWwyIGFnYWludHMgcHVibGlzaGVkIHRlc3RzdWl0ZXMKKyAqCisgKiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisgKgorICogZGFuaWVsQHZlaWxsYXJkLmNvbQorICovCisKKyNpbmNsdWRlICJsaWJ4bWwuaCIKKyNpbmNsdWRlIDxzdGRpby5oPgorCisjaWZkZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQKKworI2lmICFkZWZpbmVkKF9XSU4zMikgfHwgZGVmaW5lZChfX0NZR1dJTl9fKQorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2VuZGlmCisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDxmY250bC5oPgorCisjaW5jbHVkZSA8bGlieG1sL3BhcnNlci5oPgorI2luY2x1ZGUgPGxpYnhtbC9wYXJzZXJJbnRlcm5hbHMuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvdHJlZS5oPgorI2luY2x1ZGUgPGxpYnhtbC91cmkuaD4KKyNpbmNsdWRlIDxsaWJ4bWwveG1scmVhZGVyLmg+CisKKyNpbmNsdWRlIDxsaWJ4bWwveHBhdGguaD4KKyNpbmNsdWRlIDxsaWJ4bWwveHBhdGhJbnRlcm5hbHMuaD4KKworI2RlZmluZSBMT0dGSUxFICJydW54bWxjb25mLmxvZyIKK3N0YXRpYyBGSUxFICpsb2dmaWxlID0gTlVMTDsKK3N0YXRpYyBpbnQgdmVyYm9zZSA9IDA7CisKKyNkZWZpbmUgTkJfRVhQRUNURURfRVJST1JTIDE1CisKKworY29uc3QgY2hhciAqc2tpcHBlZF90ZXN0c1tdID0geworLyogaHR0cDovL2xpc3RzLnczLm9yZy9BcmNoaXZlcy9QdWJsaWMvcHVibGljLXhtbC10ZXN0c3VpdGUvMjAwOEp1bC8wMDAwLmh0bWwgKi8KKyAgICAicm10LW5zMTAtMDM1IiwKKyAgICBOVUxMCit9OworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQlGaWxlIG5hbWUgYW5kIHBhdGggdXRpbGl0aWVzCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworc3RhdGljIGludCBjaGVja1Rlc3RGaWxlKGNvbnN0IGNoYXIgKmZpbGVuYW1lKSB7CisgICAgc3RydWN0IHN0YXQgYnVmOworCisgICAgaWYgKHN0YXQoZmlsZW5hbWUsICZidWYpID09IC0xKQorICAgICAgICByZXR1cm4oMCk7CisKKyNpZiBkZWZpbmVkKF9XSU4zMikgJiYgIWRlZmluZWQoX19DWUdXSU5fXykKKyAgICBpZiAoIShidWYuc3RfbW9kZSAmIF9TX0lGUkVHKSkKKyAgICAgICAgcmV0dXJuKDApOworI2Vsc2UKKyAgICBpZiAoIVNfSVNSRUcoYnVmLnN0X21vZGUpKQorICAgICAgICByZXR1cm4oMCk7CisjZW5kaWYKKworICAgIHJldHVybigxKTsKK30KKworc3RhdGljIHhtbENoYXIgKmNvbXBvc2VEaXIoY29uc3QgeG1sQ2hhciAqZGlyLCBjb25zdCB4bWxDaGFyICpwYXRoKSB7CisgICAgY2hhciBidWZbNTAwXTsKKworICAgIGlmIChkaXIgPT0gTlVMTCkgcmV0dXJuKHhtbFN0cmR1cChwYXRoKSk7CisgICAgaWYgKHBhdGggPT0gTlVMTCkgcmV0dXJuKE5VTEwpOworCisgICAgc25wcmludGYoYnVmLCA1MDAsICIlcy8lcyIsIChjb25zdCBjaGFyICopIGRpciwgKGNvbnN0IGNoYXIgKikgcGF0aCk7CisgICAgcmV0dXJuKHhtbFN0cmR1cCgoY29uc3QgeG1sQ2hhciAqKSBidWYpKTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJTGlieG1sMiBzcGVjaWZpYyByb3V0aW5lcwkJCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK3N0YXRpYyBpbnQgbmJfc2tpcHBlZCA9IDA7CitzdGF0aWMgaW50IG5iX3Rlc3RzID0gMDsKK3N0YXRpYyBpbnQgbmJfZXJyb3JzID0gMDsKK3N0YXRpYyBpbnQgbmJfbGVha3MgPSAwOworCisvKgorICogV2UgbmVlZCB0byB0cmFwIGNhbGxzIHRvIHRoZSByZXNvbHZlciB0byBub3QgYWNjb3VudCBtZW1vcnkgZm9yIHRoZSBjYXRhbG9nCisgKiBhbmQgbm90IHJlbHkgb24gYW55IGV4dGVybmFsIHJlc291cmNlcy4KKyAqLworc3RhdGljIHhtbFBhcnNlcklucHV0UHRyCit0ZXN0RXh0ZXJuYWxFbnRpdHlMb2FkZXIoY29uc3QgY2hhciAqVVJMLCBjb25zdCBjaGFyICpJRCBBVFRSSUJVVEVfVU5VU0VELAorCQkJIHhtbFBhcnNlckN0eHRQdHIgY3R4dCkgeworICAgIHhtbFBhcnNlcklucHV0UHRyIHJldDsKKworICAgIHJldCA9IHhtbE5ld0lucHV0RnJvbUZpbGUoY3R4dCwgKGNvbnN0IGNoYXIgKikgVVJMKTsKKworICAgIHJldHVybihyZXQpOworfQorCisvKgorICogVHJhcHBpbmcgdGhlIGVycm9yIG1lc3NhZ2VzIGF0IHRoZSBnZW5lcmljIGxldmVsIHRvIGdyYWIgdGhlIGVxdWl2YWxlbnQgb2YKKyAqIHN0ZGVyciBtZXNzYWdlcyBvbiBDTEkgdG9vbHMuCisgKi8KK3N0YXRpYyBjaGFyIHRlc3RFcnJvcnNbMzI3NjldOworc3RhdGljIGludCB0ZXN0RXJyb3JzU2l6ZSA9IDA7CitzdGF0aWMgaW50IG5iRXJyb3IgPSAwOworc3RhdGljIGludCBuYkZhdGFsID0gMDsKKworc3RhdGljIHZvaWQgdGVzdF9sb2coY29uc3QgY2hhciAqbXNnLCAuLi4pIHsKKyAgICB2YV9saXN0IGFyZ3M7CisgICAgaWYgKGxvZ2ZpbGUgIT0gTlVMTCkgeworICAgICAgICBmcHJpbnRmKGxvZ2ZpbGUsICJcbi0tLS0tLS0tLS0tLVxuIik7CisJdmFfc3RhcnQoYXJncywgbXNnKTsKKwl2ZnByaW50Zihsb2dmaWxlLCBtc2csIGFyZ3MpOworCXZhX2VuZChhcmdzKTsKKwlmcHJpbnRmKGxvZ2ZpbGUsICIlcyIsIHRlc3RFcnJvcnMpOworCXRlc3RFcnJvcnNTaXplID0gMDsgdGVzdEVycm9yc1swXSA9IDA7CisgICAgfQorICAgIGlmICh2ZXJib3NlKSB7CisJdmFfc3RhcnQoYXJncywgbXNnKTsKKwl2ZnByaW50ZihzdGRlcnIsIG1zZywgYXJncyk7CisJdmFfZW5kKGFyZ3MpOworICAgIH0KK30KKworc3RhdGljIHZvaWQKK3Rlc3RFcnJvckhhbmRsZXIodm9pZCAqdXNlckRhdGEgQVRUUklCVVRFX1VOVVNFRCwgeG1sRXJyb3JQdHIgZXJyb3IpIHsKKyAgICBpbnQgcmVzOworCisgICAgaWYgKHRlc3RFcnJvcnNTaXplID49IDMyNzY4KQorICAgICAgICByZXR1cm47CisgICAgcmVzID0gc25wcmludGYoJnRlc3RFcnJvcnNbdGVzdEVycm9yc1NpemVdLAorICAgICAgICAgICAgICAgICAgICAzMjc2OCAtIHRlc3RFcnJvcnNTaXplLAorCQkgICAiJXM6JWQ6ICVzXG4iLCAoZXJyb3ItPmZpbGUgPyBlcnJvci0+ZmlsZSA6ICJlbnRpdHkiKSwKKwkJICAgZXJyb3ItPmxpbmUsIGVycm9yLT5tZXNzYWdlKTsKKyAgICBpZiAoZXJyb3ItPmxldmVsID09IFhNTF9FUlJfRkFUQUwpCisgICAgICAgIG5iRmF0YWwrKzsKKyAgICBlbHNlIGlmIChlcnJvci0+bGV2ZWwgPT0gWE1MX0VSUl9FUlJPUikKKyAgICAgICAgbmJFcnJvcisrOworICAgIGlmICh0ZXN0RXJyb3JzU2l6ZSArIHJlcyA+PSAzMjc2OCkgeworICAgICAgICAvKiBidWZmZXIgaXMgZnVsbCAqLworCXRlc3RFcnJvcnNTaXplID0gMzI3Njg7CisJdGVzdEVycm9yc1t0ZXN0RXJyb3JzU2l6ZV0gPSAwOworICAgIH0gZWxzZSB7CisgICAgICAgIHRlc3RFcnJvcnNTaXplICs9IHJlczsKKyAgICB9CisgICAgdGVzdEVycm9yc1t0ZXN0RXJyb3JzU2l6ZV0gPSAwOworfQorCitzdGF0aWMgeG1sWFBhdGhDb250ZXh0UHRyIGN0eHRYUGF0aDsKKworc3RhdGljIHZvaWQKK2luaXRpYWxpemVMaWJ4bWwyKHZvaWQpIHsKKyAgICB4bWxHZXRXYXJuaW5nc0RlZmF1bHRWYWx1ZSA9IDA7CisgICAgeG1sUGVkYW50aWNQYXJzZXJEZWZhdWx0KDApOworCisgICAgeG1sTWVtU2V0dXAoeG1sTWVtRnJlZSwgeG1sTWVtTWFsbG9jLCB4bWxNZW1SZWFsbG9jLCB4bWxNZW1vcnlTdHJkdXApOworICAgIHhtbEluaXRQYXJzZXIoKTsKKyAgICB4bWxTZXRFeHRlcm5hbEVudGl0eUxvYWRlcih0ZXN0RXh0ZXJuYWxFbnRpdHlMb2FkZXIpOworICAgIGN0eHRYUGF0aCA9IHhtbFhQYXRoTmV3Q29udGV4dChOVUxMKTsKKyAgICAvKgorICAgICogRGVhY3RpdmF0ZSB0aGUgY2FjaGUgaWYgY3JlYXRlZDsgb3RoZXJ3aXNlIHdlIGhhdmUgdG8gY3JlYXRlL2ZyZWUgaXQKKyAgICAqIGZvciBldmVyeSB0ZXN0LCBzaW5jZSBpdCB3aWxsIGNvbmZ1c2UgdGhlIG1lbW9yeSBsZWFrIGRldGVjdGlvbi4KKyAgICAqIE5vdGUgdGhhdCBub3JtYWxseSB0aGlzIG5lZWQgbm90IGJlIGRvbmUsIHNpbmNlIHRoZSBjYWNoZSBpcyBub3QKKyAgICAqIGNyZWF0ZWQgdW50aWwgc2V0IGV4cGxpY2l0ZWx5IHdpdGggeG1sWFBhdGhDb250ZXh0U2V0Q2FjaGUoKTsKKyAgICAqIGJ1dCBmb3IgdGVzdCBwdXJwb3NlcyBpdCBpcyBzb21ldGltZXMgdXNlZnVsbCB0byBhY3RpdmF0ZSB0aGUKKyAgICAqIGNhY2hlIGJ5IGRlZmF1bHQgZm9yIHRoZSB3aG9sZSBsaWJyYXJ5LgorICAgICovCisgICAgaWYgKGN0eHRYUGF0aC0+Y2FjaGUgIT0gTlVMTCkKKwl4bWxYUGF0aENvbnRleHRTZXRDYWNoZShjdHh0WFBhdGgsIDAsIC0xLCAwKTsKKyAgICB4bWxTZXRTdHJ1Y3R1cmVkRXJyb3JGdW5jKE5VTEwsIHRlc3RFcnJvckhhbmRsZXIpOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQlSdW4gdGhlIHhtbGNvbmYgdGVzdCBpZiBmb3VuZAkJCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK3N0YXRpYyBpbnQKK3htbGNvbmZUZXN0SW52YWxpZChjb25zdCBjaGFyICppZCwgY29uc3QgY2hhciAqZmlsZW5hbWUsIGludCBvcHRpb25zKSB7CisgICAgeG1sRG9jUHRyIGRvYzsKKyAgICB4bWxQYXJzZXJDdHh0UHRyIGN0eHQ7CisgICAgaW50IHJldCA9IDE7CisKKyAgICBjdHh0ID0geG1sTmV3UGFyc2VyQ3R4dCgpOworICAgIGlmIChjdHh0ID09IE5VTEwpIHsKKyAgICAgICAgdGVzdF9sb2coInRlc3QgJXMgOiAlcyBvdXQgb2YgbWVtb3J5XG4iLAorCSAgICAgICAgIGlkLCBmaWxlbmFtZSk7CisgICAgICAgIHJldHVybigwKTsKKyAgICB9CisgICAgZG9jID0geG1sQ3R4dFJlYWRGaWxlKGN0eHQsIGZpbGVuYW1lLCBOVUxMLCBvcHRpb25zKTsKKyAgICBpZiAoZG9jID09IE5VTEwpIHsKKyAgICAgICAgdGVzdF9sb2coInRlc3QgJXMgOiAlcyBpbnZhbGlkIGRvY3VtZW50IHR1cm5lZCBub3Qgd2VsbC1mb3JtZWQgdG9vXG4iLAorCSAgICAgICAgIGlkLCBmaWxlbmFtZSk7CisgICAgfSBlbHNlIHsKKyAgICAvKiBpbnZhbGlkaXR5IHNob3VsZCBiZSByZXBvcnRlZCBib3RoIGluIHRoZSBjb250ZXh0IGFuZCBpbiB0aGUgZG9jdW1lbnQgKi8KKyAgICAgICAgaWYgKChjdHh0LT52YWxpZCAhPSAwKSB8fCAoZG9jLT5wcm9wZXJ0aWVzICYgWE1MX0RPQ19EVERWQUxJRCkpIHsKKwkgICAgdGVzdF9sb2coInRlc3QgJXMgOiAlcyBmYWlsZWQgdG8gZGV0ZWN0IGludmFsaWQgZG9jdW1lbnRcbiIsCisJCSAgICAgaWQsIGZpbGVuYW1lKTsKKwkgICAgbmJfZXJyb3JzKys7CisJICAgIHJldCA9IDA7CisJfQorCXhtbEZyZWVEb2MoZG9jKTsKKyAgICB9CisgICAgeG1sRnJlZVBhcnNlckN0eHQoY3R4dCk7CisgICAgcmV0dXJuKHJldCk7Cit9CisKK3N0YXRpYyBpbnQKK3htbGNvbmZUZXN0VmFsaWQoY29uc3QgY2hhciAqaWQsIGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBpbnQgb3B0aW9ucykgeworICAgIHhtbERvY1B0ciBkb2M7CisgICAgeG1sUGFyc2VyQ3R4dFB0ciBjdHh0OworICAgIGludCByZXQgPSAxOworCisgICAgY3R4dCA9IHhtbE5ld1BhcnNlckN0eHQoKTsKKyAgICBpZiAoY3R4dCA9PSBOVUxMKSB7CisgICAgICAgIHRlc3RfbG9nKCJ0ZXN0ICVzIDogJXMgb3V0IG9mIG1lbW9yeVxuIiwKKwkgICAgICAgICBpZCwgZmlsZW5hbWUpOworICAgICAgICByZXR1cm4oMCk7CisgICAgfQorICAgIGRvYyA9IHhtbEN0eHRSZWFkRmlsZShjdHh0LCBmaWxlbmFtZSwgTlVMTCwgb3B0aW9ucyk7CisgICAgaWYgKGRvYyA9PSBOVUxMKSB7CisgICAgICAgIHRlc3RfbG9nKCJ0ZXN0ICVzIDogJXMgZmFpbGVkIHRvIHBhcnNlIGEgdmFsaWQgZG9jdW1lbnRcbiIsCisJICAgICAgICAgaWQsIGZpbGVuYW1lKTsKKyAgICAgICAgbmJfZXJyb3JzKys7CisJcmV0ID0gMDsKKyAgICB9IGVsc2UgeworICAgIC8qIHZhbGlkaXR5IHNob3VsZCBiZSByZXBvcnRlZCBib3RoIGluIHRoZSBjb250ZXh0IGFuZCBpbiB0aGUgZG9jdW1lbnQgKi8KKyAgICAgICAgaWYgKChjdHh0LT52YWxpZCA9PSAwKSB8fCAoKGRvYy0+cHJvcGVydGllcyAmIFhNTF9ET0NfRFREVkFMSUQpID09IDApKSB7CisJICAgIHRlc3RfbG9nKCJ0ZXN0ICVzIDogJXMgZmFpbGVkIHRvIHZhbGlkYXRlIGEgdmFsaWQgZG9jdW1lbnRcbiIsCisJCSAgICAgaWQsIGZpbGVuYW1lKTsKKwkgICAgbmJfZXJyb3JzKys7CisJICAgIHJldCA9IDA7CisJfQorCXhtbEZyZWVEb2MoZG9jKTsKKyAgICB9CisgICAgeG1sRnJlZVBhcnNlckN0eHQoY3R4dCk7CisgICAgcmV0dXJuKHJldCk7Cit9CisKK3N0YXRpYyBpbnQKK3htbGNvbmZUZXN0Tm90TlNXRihjb25zdCBjaGFyICppZCwgY29uc3QgY2hhciAqZmlsZW5hbWUsIGludCBvcHRpb25zKSB7CisgICAgeG1sRG9jUHRyIGRvYzsKKyAgICBpbnQgcmV0ID0gMTsKKworICAgIC8qCisgICAgICogSW4gY2FzZSBvZiBOYW1lc3BhY2UgZXJyb3JzLCBsaWJ4bWwyIHdpbGwgc3RpbGwgcGFyc2UgdGhlIGRvY3VtZW50CisgICAgICogYnV0IGxvZyBhIE5hbWVzYXBjZSBlcnJvci4KKyAgICAgKi8KKyAgICBkb2MgPSB4bWxSZWFkRmlsZShmaWxlbmFtZSwgTlVMTCwgb3B0aW9ucyk7CisgICAgaWYgKGRvYyA9PSBOVUxMKSB7CisgICAgICAgIHRlc3RfbG9nKCJ0ZXN0ICVzIDogJXMgZmFpbGVkIHRvIHBhcnNlIHRoZSBYTUxcbiIsCisJICAgICAgICAgaWQsIGZpbGVuYW1lKTsKKyAgICAgICAgbmJfZXJyb3JzKys7CisJcmV0ID0gMDsKKyAgICB9IGVsc2UgeworCWlmICgoeG1sTGFzdEVycm9yLmNvZGUgPT0gWE1MX0VSUl9PSykgfHwKKwkgICAgKHhtbExhc3RFcnJvci5kb21haW4gIT0gWE1MX0ZST01fTkFNRVNQQUNFKSkgeworCSAgICB0ZXN0X2xvZygidGVzdCAlcyA6ICVzIGZhaWxlZCB0byBkZXRlY3QgbmFtZXNwYWNlIGVycm9yXG4iLAorCQkgICAgIGlkLCBmaWxlbmFtZSk7CisJICAgIG5iX2Vycm9ycysrOworCSAgICByZXQgPSAwOworCX0KKwl4bWxGcmVlRG9jKGRvYyk7CisgICAgfQorICAgIHJldHVybihyZXQpOworfQorCitzdGF0aWMgaW50Cit4bWxjb25mVGVzdE5vdFdGKGNvbnN0IGNoYXIgKmlkLCBjb25zdCBjaGFyICpmaWxlbmFtZSwgaW50IG9wdGlvbnMpIHsKKyAgICB4bWxEb2NQdHIgZG9jOworICAgIGludCByZXQgPSAxOworCisgICAgZG9jID0geG1sUmVhZEZpbGUoZmlsZW5hbWUsIE5VTEwsIG9wdGlvbnMpOworICAgIGlmIChkb2MgIT0gTlVMTCkgeworICAgICAgICB0ZXN0X2xvZygidGVzdCAlcyA6ICVzIGZhaWxlZCB0byBkZXRlY3Qgbm90IHdlbGwgZm9ybWVkbmVzc1xuIiwKKwkgICAgICAgICBpZCwgZmlsZW5hbWUpOworICAgICAgICBuYl9lcnJvcnMrKzsKKwl4bWxGcmVlRG9jKGRvYyk7CisJcmV0ID0gMDsKKyAgICB9CisgICAgcmV0dXJuKHJldCk7Cit9CisKK3N0YXRpYyBpbnQKK3htbGNvbmZUZXN0SXRlbSh4bWxEb2NQdHIgZG9jLCB4bWxOb2RlUHRyIGN1cikgeworICAgIGludCByZXQgPSAtMTsKKyAgICB4bWxDaGFyICp0eXBlID0gTlVMTDsKKyAgICB4bWxDaGFyICpmaWxlbmFtZSA9IE5VTEw7CisgICAgeG1sQ2hhciAqdXJpID0gTlVMTDsKKyAgICB4bWxDaGFyICpiYXNlID0gTlVMTDsKKyAgICB4bWxDaGFyICppZCA9IE5VTEw7CisgICAgeG1sQ2hhciAqcmVjID0gTlVMTDsKKyAgICB4bWxDaGFyICp2ZXJzaW9uID0gTlVMTDsKKyAgICB4bWxDaGFyICplbnRpdGllcyA9IE5VTEw7CisgICAgeG1sQ2hhciAqZWRpdGlvbiA9IE5VTEw7CisgICAgaW50IG9wdGlvbnMgPSAwOworICAgIGludCBuc3Rlc3QgPSAwOworICAgIGludCBtZW0sIGZpbmFsOworICAgIGludCBpOworCisgICAgdGVzdEVycm9yc1NpemUgPSAwOyB0ZXN0RXJyb3JzWzBdID0gMDsKKyAgICBuYkVycm9yID0gMDsKKyAgICBuYkZhdGFsID0gMDsKKyAgICBpZCA9IHhtbEdldFByb3AoY3VyLCBCQURfQ0FTVCAiSUQiKTsKKyAgICBpZiAoaWQgPT0gTlVMTCkgeworICAgICAgICB0ZXN0X2xvZygidGVzdCBtaXNzaW5nIElELCBsaW5lICVsZFxuIiwgeG1sR2V0TGluZU5vKGN1cikpOworCWdvdG8gZXJyb3I7CisgICAgfQorICAgIGZvciAoaSA9IDA7c2tpcHBlZF90ZXN0c1tpXSAhPSBOVUxMO2krKykgeworICAgICAgICBpZiAoIXN0cmNtcChza2lwcGVkX3Rlc3RzW2ldLCAoY2hhciAqKSBpZCkpIHsKKwkgICAgdGVzdF9sb2coIlNraXBwaW5nIHRlc3QgJXMgZnJvbSBza2lwcGVkIGxpc3RcbiIsIChjaGFyICopIGlkKTsKKwkgICAgcmV0ID0gMDsKKwkgICAgbmJfc2tpcHBlZCsrOworCSAgICBnb3RvIGVycm9yOworCX0KKyAgICB9CisgICAgdHlwZSA9IHhtbEdldFByb3AoY3VyLCBCQURfQ0FTVCAiVFlQRSIpOworICAgIGlmICh0eXBlID09IE5VTEwpIHsKKyAgICAgICAgdGVzdF9sb2coInRlc3QgJXMgbWlzc2luZyBUWVBFXG4iLCAoY2hhciAqKSBpZCk7CisJZ290byBlcnJvcjsKKyAgICB9CisgICAgdXJpID0geG1sR2V0UHJvcChjdXIsIEJBRF9DQVNUICJVUkkiKTsKKyAgICBpZiAodXJpID09IE5VTEwpIHsKKyAgICAgICAgdGVzdF9sb2coInRlc3QgJXMgbWlzc2luZyBVUklcbiIsIChjaGFyICopIGlkKTsKKwlnb3RvIGVycm9yOworICAgIH0KKyAgICBiYXNlID0geG1sTm9kZUdldEJhc2UoZG9jLCBjdXIpOworICAgIGZpbGVuYW1lID0gY29tcG9zZURpcihiYXNlLCB1cmkpOworICAgIGlmICghY2hlY2tUZXN0RmlsZSgoY2hhciAqKSBmaWxlbmFtZSkpIHsKKyAgICAgICAgdGVzdF9sb2coInRlc3QgJXMgbWlzc2luZyBmaWxlICVzIFxuIiwgaWQsCisJICAgICAgICAgKGZpbGVuYW1lID8gKGNoYXIgKilmaWxlbmFtZSA6ICJOVUxMIikpOworCWdvdG8gZXJyb3I7CisgICAgfQorCisgICAgdmVyc2lvbiA9IHhtbEdldFByb3AoY3VyLCBCQURfQ0FTVCAiVkVSU0lPTiIpOworCisgICAgZW50aXRpZXMgPSB4bWxHZXRQcm9wKGN1ciwgQkFEX0NBU1QgIkVOVElUSUVTIik7CisgICAgaWYgKCF4bWxTdHJFcXVhbChlbnRpdGllcywgQkFEX0NBU1QgIm5vbmUiKSkgeworICAgICAgICBvcHRpb25zIHw9IFhNTF9QQVJTRV9EVERMT0FEOworICAgICAgICBvcHRpb25zIHw9IFhNTF9QQVJTRV9OT0VOVDsKKyAgICB9CisgICAgcmVjID0geG1sR2V0UHJvcChjdXIsIEJBRF9DQVNUICJSRUNPTU1FTkRBVElPTiIpOworICAgIGlmICgocmVjID09IE5VTEwpIHx8CisgICAgICAgICh4bWxTdHJFcXVhbChyZWMsIEJBRF9DQVNUICJYTUwxLjAiKSkgfHwKKwkoeG1sU3RyRXF1YWwocmVjLCBCQURfQ0FTVCAiWE1MMS4wLWVycmF0YTJlIikpIHx8CisJKHhtbFN0ckVxdWFsKHJlYywgQkFEX0NBU1QgIlhNTDEuMC1lcnJhdGEzZSIpKSB8fAorCSh4bWxTdHJFcXVhbChyZWMsIEJBRF9DQVNUICJYTUwxLjAtZXJyYXRhNGUiKSkpIHsKKwlpZiAoKHZlcnNpb24gIT0gTlVMTCkgJiYgKCF4bWxTdHJFcXVhbCh2ZXJzaW9uLCBCQURfQ0FTVCAiMS4wIikpKSB7CisJICAgIHRlc3RfbG9nKCJTa2lwcGluZyB0ZXN0ICVzIGZvciAlc1xuIiwgKGNoYXIgKikgaWQsCisJICAgICAgICAgICAgIChjaGFyICopIHZlcnNpb24pOworCSAgICByZXQgPSAwOworCSAgICBuYl9za2lwcGVkKys7CisJICAgIGdvdG8gZXJyb3I7CisJfQorCXJldCA9IDE7CisgICAgfSBlbHNlIGlmICgoeG1sU3RyRXF1YWwocmVjLCBCQURfQ0FTVCAiTlMxLjAiKSkgfHwKKwkgICAgICAgKHhtbFN0ckVxdWFsKHJlYywgQkFEX0NBU1QgIk5TMS4wLWVycmF0YTFlIikpKSB7CisJcmV0ID0gMTsKKwluc3Rlc3QgPSAxOworICAgIH0gZWxzZSB7CisgICAgICAgIHRlc3RfbG9nKCJTa2lwcGluZyB0ZXN0ICVzIGZvciBSRUMgJXNcbiIsIChjaGFyICopIGlkLCAoY2hhciAqKSByZWMpOworCXJldCA9IDA7CisJbmJfc2tpcHBlZCsrOworCWdvdG8gZXJyb3I7CisgICAgfQorICAgIGVkaXRpb24gPSB4bWxHZXRQcm9wKGN1ciwgQkFEX0NBU1QgIkVESVRJT04iKTsKKyAgICBpZiAoKGVkaXRpb24gIT0gTlVMTCkgJiYgKHhtbFN0cmNocihlZGl0aW9uLCAnNScpID09IE5VTEwpKSB7CisgICAgICAgIC8qIHRlc3QgbGltaXRlZCB0byBhbGwgdmVyc2lvbnMgYmVmb3JlIDV0aCAqLworCW9wdGlvbnMgfD0gWE1MX1BBUlNFX09MRDEwOworICAgIH0KKworICAgIC8qCisgICAgICogUmVzZXQgZXJyb3JzIGFuZCBjaGVjayBtZW1vcnkgdXNhZ2UgYmVmb3JlIHRoZSB0ZXN0CisgICAgICovCisgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICB0ZXN0RXJyb3JzU2l6ZSA9IDA7IHRlc3RFcnJvcnNbMF0gPSAwOworICAgIG1lbSA9IHhtbE1lbVVzZWQoKTsKKworICAgIGlmICh4bWxTdHJFcXVhbCh0eXBlLCBCQURfQ0FTVCAibm90LXdmIikpIHsKKyAgICAgICAgaWYgKG5zdGVzdCA9PSAwKQorCSAgICB4bWxjb25mVGVzdE5vdFdGKChjaGFyICopIGlkLCAoY2hhciAqKSBmaWxlbmFtZSwgb3B0aW9ucyk7CisgICAgICAgIGVsc2UKKwkgICAgeG1sY29uZlRlc3ROb3ROU1dGKChjaGFyICopIGlkLCAoY2hhciAqKSBmaWxlbmFtZSwgb3B0aW9ucyk7CisgICAgfSBlbHNlIGlmICh4bWxTdHJFcXVhbCh0eXBlLCBCQURfQ0FTVCAidmFsaWQiKSkgeworICAgICAgICBvcHRpb25zIHw9IFhNTF9QQVJTRV9EVERWQUxJRDsKKwl4bWxjb25mVGVzdFZhbGlkKChjaGFyICopIGlkLCAoY2hhciAqKSBmaWxlbmFtZSwgb3B0aW9ucyk7CisgICAgfSBlbHNlIGlmICh4bWxTdHJFcXVhbCh0eXBlLCBCQURfQ0FTVCAiaW52YWxpZCIpKSB7CisgICAgICAgIG9wdGlvbnMgfD0gWE1MX1BBUlNFX0RURFZBTElEOworCXhtbGNvbmZUZXN0SW52YWxpZCgoY2hhciAqKSBpZCwgKGNoYXIgKikgZmlsZW5hbWUsIG9wdGlvbnMpOworICAgIH0gZWxzZSBpZiAoeG1sU3RyRXF1YWwodHlwZSwgQkFEX0NBU1QgImVycm9yIikpIHsKKyAgICAgICAgdGVzdF9sb2coIlNraXBwaW5nIGVycm9yIHRlc3QgJXMgXG4iLCAoY2hhciAqKSBpZCk7CisJcmV0ID0gMDsKKwluYl9za2lwcGVkKys7CisJZ290byBlcnJvcjsKKyAgICB9IGVsc2UgeworICAgICAgICB0ZXN0X2xvZygidGVzdCAlcyB1bmtub3duIFRZUEUgdmFsdWUgJXNcbiIsIChjaGFyICopIGlkLCAoY2hhciAqKXR5cGUpOworCXJldCA9IC0xOworCWdvdG8gZXJyb3I7CisgICAgfQorCisgICAgLyoKKyAgICAgKiBSZXNldCBlcnJvcnMgYW5kIGNoZWNrIG1lbW9yeSB1c2FnZSBhZnRlciB0aGUgdGVzdAorICAgICAqLworICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgZmluYWwgPSB4bWxNZW1Vc2VkKCk7CisgICAgaWYgKGZpbmFsID4gbWVtKSB7CisgICAgICAgIHRlc3RfbG9nKCJ0ZXN0ICVzIDogJXMgbGVha2VkICVkIGJ5dGVzXG4iLAorCSAgICAgICAgIGlkLCBmaWxlbmFtZSwgZmluYWwgLSBtZW0pOworICAgICAgICBuYl9sZWFrcysrOworCXhtbE1lbURpc3BsYXlMYXN0KGxvZ2ZpbGUsIGZpbmFsIC0gbWVtKTsKKyAgICB9CisgICAgbmJfdGVzdHMrKzsKKworZXJyb3I6CisgICAgaWYgKHR5cGUgIT0gTlVMTCkKKyAgICAgICAgeG1sRnJlZSh0eXBlKTsKKyAgICBpZiAoZW50aXRpZXMgIT0gTlVMTCkKKyAgICAgICAgeG1sRnJlZShlbnRpdGllcyk7CisgICAgaWYgKGVkaXRpb24gIT0gTlVMTCkKKyAgICAgICAgeG1sRnJlZShlZGl0aW9uKTsKKyAgICBpZiAodmVyc2lvbiAhPSBOVUxMKQorICAgICAgICB4bWxGcmVlKHZlcnNpb24pOworICAgIGlmIChmaWxlbmFtZSAhPSBOVUxMKQorICAgICAgICB4bWxGcmVlKGZpbGVuYW1lKTsKKyAgICBpZiAodXJpICE9IE5VTEwpCisgICAgICAgIHhtbEZyZWUodXJpKTsKKyAgICBpZiAoYmFzZSAhPSBOVUxMKQorICAgICAgICB4bWxGcmVlKGJhc2UpOworICAgIGlmIChpZCAhPSBOVUxMKQorICAgICAgICB4bWxGcmVlKGlkKTsKKyAgICBpZiAocmVjICE9IE5VTEwpCisgICAgICAgIHhtbEZyZWUocmVjKTsKKyAgICByZXR1cm4ocmV0KTsKK30KKworc3RhdGljIGludAoreG1sY29uZlRlc3RDYXNlcyh4bWxEb2NQdHIgZG9jLCB4bWxOb2RlUHRyIGN1ciwgaW50IGxldmVsKSB7CisgICAgeG1sQ2hhciAqcHJvZmlsZTsKKyAgICBpbnQgcmV0ID0gMDsKKyAgICBpbnQgdGVzdHMgPSAwOworICAgIGludCBvdXRwdXQgPSAwOworCisgICAgaWYgKGxldmVsID09IDEpIHsKKwlwcm9maWxlID0geG1sR2V0UHJvcChjdXIsIEJBRF9DQVNUICJQUk9GSUxFIik7CisJaWYgKHByb2ZpbGUgIT0gTlVMTCkgeworCSAgICBvdXRwdXQgPSAxOworCSAgICBsZXZlbCsrOworCSAgICBwcmludGYoIlRlc3QgY2FzZXM6ICVzXG4iLCAoY2hhciAqKSBwcm9maWxlKTsKKwkgICAgeG1sRnJlZShwcm9maWxlKTsKKwl9CisgICAgfQorICAgIGN1ciA9IGN1ci0+Y2hpbGRyZW47CisgICAgd2hpbGUgKGN1ciAhPSBOVUxMKSB7CisgICAgICAgIC8qIGxvb2sgb25seSBhdCBlbGVtZW50cyB3ZSBpZ25vcmUgZXZlcnl0aGluZyBlbHNlICovCisgICAgICAgIGlmIChjdXItPnR5cGUgPT0gWE1MX0VMRU1FTlRfTk9ERSkgeworCSAgICBpZiAoeG1sU3RyRXF1YWwoY3VyLT5uYW1lLCBCQURfQ0FTVCAiVEVTVENBU0VTIikpIHsKKwkgICAgICAgIHJldCArPSB4bWxjb25mVGVzdENhc2VzKGRvYywgY3VyLCBsZXZlbCk7CisJICAgIH0gZWxzZSBpZiAoeG1sU3RyRXF1YWwoY3VyLT5uYW1lLCBCQURfQ0FTVCAiVEVTVCIpKSB7CisJICAgICAgICBpZiAoeG1sY29uZlRlc3RJdGVtKGRvYywgY3VyKSA+PSAwKQorCQkgICAgcmV0Kys7CisJCXRlc3RzKys7CisJICAgIH0gZWxzZSB7CisJICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIlVuaGFuZGxlZCBlbGVtZW50ICVzXG4iLCAoY2hhciAqKWN1ci0+bmFtZSk7CisJICAgIH0KKwl9CisgICAgICAgIGN1ciA9IGN1ci0+bmV4dDsKKyAgICB9CisgICAgaWYgKG91dHB1dCA9PSAxKSB7CisJaWYgKHRlc3RzID4gMCkKKwkgICAgcHJpbnRmKCJUZXN0IGNhc2VzOiAlZCB0ZXN0c1xuIiwgdGVzdHMpOworICAgIH0KKyAgICByZXR1cm4ocmV0KTsKK30KKworc3RhdGljIGludAoreG1sY29uZlRlc3RTdWl0ZSh4bWxEb2NQdHIgZG9jLCB4bWxOb2RlUHRyIGN1cikgeworICAgIHhtbENoYXIgKnByb2ZpbGU7CisgICAgaW50IHJldCA9IDA7CisKKyAgICBwcm9maWxlID0geG1sR2V0UHJvcChjdXIsIEJBRF9DQVNUICJQUk9GSUxFIik7CisgICAgaWYgKHByb2ZpbGUgIT0gTlVMTCkgeworICAgICAgICBwcmludGYoIlRlc3Qgc3VpdGU6ICVzXG4iLCAoY2hhciAqKSBwcm9maWxlKTsKKwl4bWxGcmVlKHByb2ZpbGUpOworICAgIH0gZWxzZQorICAgICAgICBwcmludGYoIlRlc3Qgc3VpdGVcbiIpOworICAgIGN1ciA9IGN1ci0+Y2hpbGRyZW47CisgICAgd2hpbGUgKGN1ciAhPSBOVUxMKSB7CisgICAgICAgIC8qIGxvb2sgb25seSBhdCBlbGVtZW50cyB3ZSBpZ25vcmUgZXZlcnl0aGluZyBlbHNlICovCisgICAgICAgIGlmIChjdXItPnR5cGUgPT0gWE1MX0VMRU1FTlRfTk9ERSkgeworCSAgICBpZiAoeG1sU3RyRXF1YWwoY3VyLT5uYW1lLCBCQURfQ0FTVCAiVEVTVENBU0VTIikpIHsKKwkgICAgICAgIHJldCArPSB4bWxjb25mVGVzdENhc2VzKGRvYywgY3VyLCAxKTsKKwkgICAgfSBlbHNlIHsKKwkgICAgICAgIGZwcmludGYoc3RkZXJyLCAiVW5oYW5kbGVkIGVsZW1lbnQgJXNcbiIsIChjaGFyICopY3VyLT5uYW1lKTsKKwkgICAgfQorCX0KKyAgICAgICAgY3VyID0gY3VyLT5uZXh0OworICAgIH0KKyAgICByZXR1cm4ocmV0KTsKK30KKworc3RhdGljIHZvaWQKK3htbGNvbmZJbmZvKHZvaWQpIHsKKyAgICBmcHJpbnRmKHN0ZGVyciwgIiAgeW91IG5lZWQgdG8gZmV0Y2ggYW5kIGV4dHJhY3QgdGhlXG4iKTsKKyAgICBmcHJpbnRmKHN0ZGVyciwgIiAgbGF0ZXN0IFhNTCBDb25mb3JtYW5jZSBUZXN0IFN1aXRlc1xuIik7CisgICAgZnByaW50ZihzdGRlcnIsICIgIGh0dHA6Ly93d3cudzMub3JnL1hNTC9UZXN0L3htbHRzMjAwODA4MjcudGFyLmd6XG4iKTsKKyAgICBmcHJpbnRmKHN0ZGVyciwgIiAgc2VlIGh0dHA6Ly93d3cudzMub3JnL1hNTC9UZXN0LyBmb3IgaW5mb3JtYXRpb25zXG4iKTsKK30KKworc3RhdGljIGludAoreG1sY29uZlRlc3Qodm9pZCkgeworICAgIGNvbnN0IGNoYXIgKmNvbmZ4bWwgPSAieG1sY29uZi94bWxjb25mLnhtbCI7CisgICAgeG1sRG9jUHRyIGRvYzsKKyAgICB4bWxOb2RlUHRyIGN1cjsKKyAgICBpbnQgcmV0ID0gMDsKKworICAgIGlmICghY2hlY2tUZXN0RmlsZShjb25meG1sKSkgeworICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIiVzIGlzIG1pc3NpbmcgXG4iLCBjb25meG1sKTsKKwl4bWxjb25mSW5mbygpOworCXJldHVybigtMSk7CisgICAgfQorICAgIGRvYyA9IHhtbFJlYWRGaWxlKGNvbmZ4bWwsIE5VTEwsIFhNTF9QQVJTRV9OT0VOVCk7CisgICAgaWYgKGRvYyA9PSBOVUxMKSB7CisgICAgICAgIGZwcmludGYoc3RkZXJyLCAiJXMgaXMgY29ycnVwdGVkIFxuIiwgY29uZnhtbCk7CisJeG1sY29uZkluZm8oKTsKKwlyZXR1cm4oLTEpOworICAgIH0KKworICAgIGN1ciA9IHhtbERvY0dldFJvb3RFbGVtZW50KGRvYyk7CisgICAgaWYgKChjdXIgPT0gTlVMTCkgfHwgKCF4bWxTdHJFcXVhbChjdXItPm5hbWUsIEJBRF9DQVNUICJURVNUU1VJVEUiKSkpIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJVbmV4cGVjdGVkIGZvcm1hdCAlc1xuIiwgY29uZnhtbCk7CisJeG1sY29uZkluZm8oKTsKKwlyZXQgPSAtMTsKKyAgICB9IGVsc2UgeworICAgICAgICByZXQgPSB4bWxjb25mVGVzdFN1aXRlKGRvYywgY3VyKTsKKyAgICB9CisgICAgeG1sRnJlZURvYyhkb2MpOworICAgIHJldHVybihyZXQpOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQlUaGUgZHJpdmVyIGZvciB0aGUgdGVzdHMJCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitpbnQKK21haW4oaW50IGFyZ2MgQVRUUklCVVRFX1VOVVNFRCwgY2hhciAqKmFyZ3YgQVRUUklCVVRFX1VOVVNFRCkgeworICAgIGludCByZXQgPSAwOworICAgIGludCBvbGRfZXJyb3JzLCBvbGRfdGVzdHMsIG9sZF9sZWFrczsKKworICAgIGxvZ2ZpbGUgPSBmb3BlbihMT0dGSUxFLCAidyIpOworICAgIGlmIChsb2dmaWxlID09IE5VTEwpIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsCisJICAgICAgICAiQ291bGQgbm90IG9wZW4gdGhlIGxvZyBmaWxlLCBydW5uaW5nIGluIHZlcmJvc2UgbW9kZVxuIik7CisJdmVyYm9zZSA9IDE7CisgICAgfQorICAgIGluaXRpYWxpemVMaWJ4bWwyKCk7CisKKyAgICBpZiAoKGFyZ2MgPj0gMikgJiYgKCFzdHJjbXAoYXJndlsxXSwgIi12IikpKQorICAgICAgICB2ZXJib3NlID0gMTsKKworCisgICAgb2xkX2Vycm9ycyA9IG5iX2Vycm9yczsKKyAgICBvbGRfdGVzdHMgPSBuYl90ZXN0czsKKyAgICBvbGRfbGVha3MgPSBuYl9sZWFrczsKKyAgICB4bWxjb25mVGVzdCgpOworICAgIGlmICgobmJfZXJyb3JzID09IG9sZF9lcnJvcnMpICYmIChuYl9sZWFrcyA9PSBvbGRfbGVha3MpKQorCXByaW50ZigiUmFuICVkIHRlc3RzLCBubyBlcnJvcnNcbiIsIG5iX3Rlc3RzIC0gb2xkX3Rlc3RzKTsKKyAgICBlbHNlCisJcHJpbnRmKCJSYW4gJWQgdGVzdHMsICVkIGVycm9ycywgJWQgbGVha3NcbiIsCisJICAgICAgIG5iX3Rlc3RzIC0gb2xkX3Rlc3RzLAorCSAgICAgICBuYl9lcnJvcnMgLSBvbGRfZXJyb3JzLAorCSAgICAgICBuYl9sZWFrcyAtIG9sZF9sZWFrcyk7CisgICAgaWYgKChuYl9lcnJvcnMgPT0gMCkgJiYgKG5iX2xlYWtzID09IDApKSB7CisgICAgICAgIHJldCA9IDA7CisJcHJpbnRmKCJUb3RhbCAlZCB0ZXN0cywgbm8gZXJyb3JzXG4iLAorCSAgICAgICBuYl90ZXN0cyk7CisgICAgfSBlbHNlIHsKKwlyZXQgPSAxOworCXByaW50ZigiVG90YWwgJWQgdGVzdHMsICVkIGVycm9ycywgJWQgbGVha3NcbiIsCisJICAgICAgIG5iX3Rlc3RzLCBuYl9lcnJvcnMsIG5iX2xlYWtzKTsKKwlwcmludGYoIlNlZSAlcyBmb3IgZGV0YWlsZWQgb3V0cHV0XG4iLCBMT0dGSUxFKTsKKwlpZiAoKG5iX2xlYWtzID09IDApICYmIChuYl9lcnJvcnMgPT0gTkJfRVhQRUNURURfRVJST1JTKSkgeworCSAgICBwcmludGYoIiVkIGVycm9ycyB3ZXJlIGV4cGVjdGVkXG4iLCBuYl9lcnJvcnMpOworCSAgICByZXQgPSAwOworCX0KKyAgICB9CisgICAgeG1sWFBhdGhGcmVlQ29udGV4dChjdHh0WFBhdGgpOworICAgIHhtbENsZWFudXBQYXJzZXIoKTsKKyAgICB4bWxNZW1vcnlEdW1wKCk7CisKKyAgICBpZiAobG9nZmlsZSAhPSBOVUxMKQorICAgICAgICBmY2xvc2UobG9nZmlsZSk7CisgICAgcmV0dXJuKHJldCk7Cit9CisKKyNlbHNlIC8qICEgTElCWE1MX1hQQVRIX0VOQUJMRUQgKi8KKyNpbmNsdWRlIDxzdGRpby5oPgoraW50CittYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgeworICAgIGZwcmludGYoc3RkZXJyLCAiJXMgbmVlZCBYUGF0aCBzdXBwb3J0XG4iLCBhcmd2WzBdKTsKK30KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbGlieG1sMi9zYXZlLmggYi9saWJ4bWwyL3NhdmUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYzMyYTEwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9zYXZlLmgKQEAgLTAsMCArMSwzNSBAQAorLyoKKyAqIFN1bW1hcnk6IEludGVybmFsIEludGVyZmFjZXMgZm9yIHNhdmluZyBpbiBsaWJ4bWwyCisgKiBEZXNjcmlwdGlvbjogdGhpcyBtb2R1bGUgZGVzY3JpYmVzIGEgZmV3IGludGVyZmFjZXMgd2hpY2ggd2VyZQorICogICAgICAgICAgICAgIGFkZGRlZCBhbG9uZyB3aXRoIHRoZSBBUEkgY2hhbmdlcyBpbiAyLjkuMAorICogICAgICAgICAgICAgIHRob3NlIGFyZSBwcml2YXRlIHJvdXRpbmVzIGF0IHRoaXMgcG9pbnQKKyAqCisgKiBDb3B5OiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisgKgorICogQXV0aG9yOiBEYW5pZWwgVmVpbGxhcmQKKyAqLworCisjaWZuZGVmIF9fWE1MX1NBVkVfSF9fCisjZGVmaW5lIF9fWE1MX1NBVkVfSF9fCisKKyNpbmNsdWRlIDxsaWJ4bWwvdHJlZS5oPgorCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCisKKyNpZmRlZiBMSUJYTUxfT1VUUFVUX0VOQUJMRUQKK3ZvaWQgeG1sQnVmQXR0clNlcmlhbGl6ZVR4dENvbnRlbnQoeG1sQnVmUHRyIGJ1ZiwgeG1sRG9jUHRyIGRvYywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sQXR0clB0ciBhdHRyLCBjb25zdCB4bWxDaGFyICogc3RyaW5nKTsKK3ZvaWQgeG1sQnVmRHVtcE5vdGF0aW9uVGFibGUoeG1sQnVmUHRyIGJ1ZiwgeG1sTm90YXRpb25UYWJsZVB0ciB0YWJsZSk7Cit2b2lkIHhtbEJ1ZkR1bXBFbGVtZW50RGVjbCh4bWxCdWZQdHIgYnVmLCB4bWxFbGVtZW50UHRyIGVsZW0pOwordm9pZCB4bWxCdWZEdW1wQXR0cmlidXRlRGVjbCh4bWxCdWZQdHIgYnVmLCB4bWxBdHRyaWJ1dGVQdHIgYXR0cik7Cit2b2lkIHhtbEJ1ZkR1bXBFbnRpdHlEZWNsKHhtbEJ1ZlB0ciBidWYsIHhtbEVudGl0eVB0ciBlbnQpOworeG1sQ2hhciAqeG1sRW5jb2RlQXR0cmlidXRlRW50aXRpZXMoeG1sRG9jUHRyIGRvYywgY29uc3QgeG1sQ2hhciAqaW5wdXQpOworI2VuZGlmCisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCisjZW5kaWYgLyogX19YTUxfU0FWRV9IX18gKi8KKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi9zY2hlbWF0cm9uLmMgYi9saWJ4bWwyL3NjaGVtYXRyb24uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYjRiZWZlCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi9zY2hlbWF0cm9uLmMKQEAgLTAsMCArMSwxNzg3IEBACisvKgorICogc2NoZW1hdHJvbi5jIDogaW1wbGVtZW50YXRpb24gb2YgdGhlIFNjaGVtYXRyb24gc2NoZW1hIHZhbGlkaXR5IGNoZWNraW5nCisgKgorICogU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgorICoKKyAqIERhbmllbCBWZWlsbGFyZCA8ZGFuaWVsQHZlaWxsYXJkLmNvbT4KKyAqLworCisvKgorICogVE9ETzoKKyAqICsgZG91YmxlIGNoZWNrIHRoZSBzZW1hbnRpYywgZXNwZWNpYWxseQorICogICAgICAgIC0gbXVsdGlwbGUgcnVsZXMgYXBwbHlpbmcgaW4gYSBzaW5nbGUgcGF0dGVybi9ub2RlCisgKiAgICAgICAgLSB0aGUgc2VtYW50aWMgb2YgbGlieG1sMiBwYXR0ZXJucyB2cy4gWFNMVCBwcm9kdWN0aW9uIHJlZmVyZW5jZWQKKyAqICAgICAgICAgIGJ5IHRoZSBzcGVjLgorICogKyBleHBvcnQgb2YgcmVzdWx0cyBpbiBTVlJMCisgKiArIGZ1bGwgcGFyc2luZyBhbmQgY292ZXJhZ2Ugb2YgdGhlIHNwZWMsIGNvbmZvcm1hbmNlIG9mIHRoZSBpbnB1dCB0byB0aGUKKyAqICAgc3BlYworICogKyBkaXZlcmdlbmNlcyBiZXR3ZWVuIHRoZSBkcmFmdCBhbmQgdGhlIElTTyBwcm9wb3NlZCBzdGFuZGFyZCA6LSgKKyAqICsgaG9vayBhbmQgdGVzdCBpbmNsdWRlCisgKiArIHRyeSBhbmQgY29tcGFyZSB3aXRoIHRoZSBYU0xUIHZlcnNpb24KKyAqLworCisjZGVmaW5lIElOX0xJQlhNTAorI2luY2x1ZGUgImxpYnhtbC5oIgorCisjaWZkZWYgTElCWE1MX1NDSEVNQVRST05fRU5BQkxFRAorCisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8bGlieG1sL3BhcnNlci5oPgorI2luY2x1ZGUgPGxpYnhtbC90cmVlLmg+CisjaW5jbHVkZSA8bGlieG1sL3VyaS5oPgorI2luY2x1ZGUgPGxpYnhtbC94cGF0aC5oPgorI2luY2x1ZGUgPGxpYnhtbC94cGF0aEludGVybmFscy5oPgorI2luY2x1ZGUgPGxpYnhtbC9wYXR0ZXJuLmg+CisjaW5jbHVkZSA8bGlieG1sL3NjaGVtYXRyb24uaD4KKworI2RlZmluZSBTQ0hFTUFUUk9OX1BBUlNFX09QVElPTlMgWE1MX1BBUlNFX05PRU5UCisKKyNkZWZpbmUgU0NUX09MRF9OUyBCQURfQ0FTVCAiaHR0cDovL3d3dy5hc2NjLm5ldC94bWwvc2NoZW1hdHJvbiIKKworI2RlZmluZSBYTUxfU0NIRU1BVFJPTl9OUyBCQURfQ0FTVCAiaHR0cDovL3B1cmwub2NsYy5vcmcvZHNkbC9zY2hlbWF0cm9uIgorCisKK3N0YXRpYyBjb25zdCB4bWxDaGFyICp4bWxTY2hlbWF0cm9uTnMgPSBYTUxfU0NIRU1BVFJPTl9OUzsKK3N0YXRpYyBjb25zdCB4bWxDaGFyICp4bWxPbGRTY2hlbWF0cm9uTnMgPSBTQ1RfT0xEX05TOworCisjZGVmaW5lIElTX1NDSEVNQVRST04obm9kZSwgZWxlbSkJCQkJCVwKKyAgICgobm9kZSAhPSBOVUxMKSAmJiAobm9kZS0+dHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFICkgJiYJCVwKKyAgICAobm9kZS0+bnMgIT0gTlVMTCkgJiYJCQkJCQlcCisgICAgKHhtbFN0ckVxdWFsKG5vZGUtPm5hbWUsIChjb25zdCB4bWxDaGFyICopIGVsZW0pKSAmJgkJXAorICAgICgoeG1sU3RyRXF1YWwobm9kZS0+bnMtPmhyZWYsIHhtbFNjaGVtYXRyb25OcykpIHx8CQkJXAorICAgICAoeG1sU3RyRXF1YWwobm9kZS0+bnMtPmhyZWYsIHhtbE9sZFNjaGVtYXRyb25OcykpKSkKKworI2RlZmluZSBORVhUX1NDSEVNQVRST04obm9kZSkJCQkJCQlcCisgICB3aGlsZSAobm9kZSAhPSBOVUxMKSB7CQkJCQkJXAorICAgICAgIGlmICgobm9kZS0+dHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFICkgJiYgKG5vZGUtPm5zICE9IE5VTEwpICYmCVwKKyAgICAgICAgICAgKCh4bWxTdHJFcXVhbChub2RlLT5ucy0+aHJlZiwgeG1sU2NoZW1hdHJvbk5zKSkgfHwJCVwKKwkgICAgKHhtbFN0ckVxdWFsKG5vZGUtPm5zLT5ocmVmLCB4bWxPbGRTY2hlbWF0cm9uTnMpKSkpCQlcCisJICAgYnJlYWs7CQkJCQkJCVwKKyAgICAgICBub2RlID0gbm9kZS0+bmV4dDsJCQkJCQlcCisgICB9CisKKy8qKgorICogVE9ETzoKKyAqCisgKiBtYWNybyB0byBmbGFnIHVuaW1wbGVtZW50ZWQgYmxvY2tzCisgKi8KKyNkZWZpbmUgVE9ETwkJCQkJCQkJXAorICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAkJCQlcCisJICAgICJVbmltcGxlbWVudGVkIGJsb2NrIGF0ICVzOiVkXG4iLAkJCQlcCisgICAgICAgICAgICBfX0ZJTEVfXywgX19MSU5FX18pOworCit0eXBlZGVmIGVudW0geworICAgIFhNTF9TQ0hFTUFUUk9OX0FTU0VSVD0xLAorICAgIFhNTF9TQ0hFTUFUUk9OX1JFUE9SVD0yCit9IHhtbFNjaGVtYXRyb25UZXN0VHlwZTsKKworLyoqCisgKiBfeG1sU2NoZW1hdHJvblRlc3Q6CisgKgorICogQSBTY2hlbWF0cm9ucyB0ZXN0LCBlaXRoZXIgYW4gYXNzZXJ0IG9yIGEgcmVwb3J0CisgKi8KK3R5cGVkZWYgc3RydWN0IF94bWxTY2hlbWF0cm9uVGVzdCB4bWxTY2hlbWF0cm9uVGVzdDsKK3R5cGVkZWYgeG1sU2NoZW1hdHJvblRlc3QgKnhtbFNjaGVtYXRyb25UZXN0UHRyOworc3RydWN0IF94bWxTY2hlbWF0cm9uVGVzdCB7CisgICAgeG1sU2NoZW1hdHJvblRlc3RQdHIgbmV4dDsJLyogdGhlIG5leHQgdGVzdCBpbiB0aGUgbGlzdCAqLworICAgIHhtbFNjaGVtYXRyb25UZXN0VHlwZSB0eXBlOwkvKiB0aGUgdGVzdCB0eXBlICovCisgICAgeG1sTm9kZVB0ciBub2RlOwkJLyogdGhlIG5vZGUgaW4gdGhlIHRyZWUgKi8KKyAgICB4bWxDaGFyICp0ZXN0OwkJLyogdGhlIGV4cHJlc3Npb24gdG8gdGVzdCAqLworICAgIHhtbFhQYXRoQ29tcEV4cHJQdHIgY29tcDsJLyogdGhlIGNvbXBpbGVkIGV4cHJlc3Npb24gKi8KKyAgICB4bWxDaGFyICpyZXBvcnQ7CQkvKiB0aGUgbWVzc2FnZSB0byByZXBvcnQgKi8KK307CisKKy8qKgorICogX3htbFNjaGVtYXRyb25SdWxlOgorICoKKyAqIEEgU2NoZW1hdHJvbnMgcnVsZQorICovCit0eXBlZGVmIHN0cnVjdCBfeG1sU2NoZW1hdHJvblJ1bGUgeG1sU2NoZW1hdHJvblJ1bGU7Cit0eXBlZGVmIHhtbFNjaGVtYXRyb25SdWxlICp4bWxTY2hlbWF0cm9uUnVsZVB0cjsKK3N0cnVjdCBfeG1sU2NoZW1hdHJvblJ1bGUgeworICAgIHhtbFNjaGVtYXRyb25SdWxlUHRyIG5leHQ7CS8qIHRoZSBuZXh0IHJ1bGUgaW4gdGhlIGxpc3QgKi8KKyAgICB4bWxTY2hlbWF0cm9uUnVsZVB0ciBwYXRuZXh0Oy8qIHRoZSBuZXh0IHJ1bGUgaW4gdGhlIHBhdHRlcm4gbGlzdCAqLworICAgIHhtbE5vZGVQdHIgbm9kZTsJCS8qIHRoZSBub2RlIGluIHRoZSB0cmVlICovCisgICAgeG1sQ2hhciAqY29udGV4dDsJCS8qIHRoZSBjb250ZXh0IGV2YWx1YXRpb24gcnVsZSAqLworICAgIHhtbFNjaGVtYXRyb25UZXN0UHRyIHRlc3RzOwkvKiB0aGUgbGlzdCBvZiB0ZXN0cyAqLworICAgIHhtbFBhdHRlcm5QdHIgcGF0dGVybjsJLyogdGhlIGNvbXBpbGVkIHBhdHRlcm4gYXNzb2NpYXRlZCAqLworICAgIHhtbENoYXIgKnJlcG9ydDsJCS8qIHRoZSBtZXNzYWdlIHRvIHJlcG9ydCAqLworfTsKKworLyoqCisgKiBfeG1sU2NoZW1hdHJvblBhdHRlcm46CisgKgorICogQSBTY2hlbWF0cm9ucyBwYXR0ZXJuCisgKi8KK3R5cGVkZWYgc3RydWN0IF94bWxTY2hlbWF0cm9uUGF0dGVybiB4bWxTY2hlbWF0cm9uUGF0dGVybjsKK3R5cGVkZWYgeG1sU2NoZW1hdHJvblBhdHRlcm4gKnhtbFNjaGVtYXRyb25QYXR0ZXJuUHRyOworc3RydWN0IF94bWxTY2hlbWF0cm9uUGF0dGVybiB7CisgICAgeG1sU2NoZW1hdHJvblBhdHRlcm5QdHIgbmV4dDsvKiB0aGUgbmV4dCBwYXR0ZXJuIGluIHRoZSBsaXN0ICovCisgICAgeG1sU2NoZW1hdHJvblJ1bGVQdHIgcnVsZXM7CS8qIHRoZSBsaXN0IG9mIHJ1bGVzICovCisgICAgeG1sQ2hhciAqbmFtZTsJCS8qIHRoZSBuYW1lIG9mIHRoZSBwYXR0ZXJuICovCit9OworCisvKioKKyAqIF94bWxTY2hlbWF0cm9uOgorICoKKyAqIEEgU2NoZW1hdHJvbnMgZGVmaW5pdGlvbgorICovCitzdHJ1Y3QgX3htbFNjaGVtYXRyb24geworICAgIGNvbnN0IHhtbENoYXIgKm5hbWU7CS8qIHNjaGVtYSBuYW1lICovCisgICAgaW50IHByZXNlcnZlOwkJLyogd2FzIHRoZSBkb2N1bWVudCBwYXNzZWQgYnkgdGhlIHVzZXIgKi8KKyAgICB4bWxEb2NQdHIgZG9jOwkJLyogcG9pbnRlciB0byB0aGUgcGFyc2VkIGRvY3VtZW50ICovCisgICAgaW50IGZsYWdzOwkJCS8qIHNwZWNpZmljIHRvIHRoaXMgc2NoZW1hdHJvbiAqLworCisgICAgdm9pZCAqX3ByaXZhdGU7CQkvKiB1bnVzZWQgYnkgdGhlIGxpYnJhcnkgKi8KKyAgICB4bWxEaWN0UHRyIGRpY3Q7CQkvKiB0aGUgZGljdGlvbm5hcnkgdXNlZCBpbnRlcm5hbGx5ICovCisKKyAgICBjb25zdCB4bWxDaGFyICp0aXRsZTsJLyogdGhlIHRpdGxlIGlmIGFueSAqLworCisgICAgaW50IG5iTnM7CQkJLyogdGhlIG51bWJlciBvZiBuYW1lc3BhY2VzICovCisKKyAgICBpbnQgbmJQYXR0ZXJuOwkJLyogdGhlIG51bWJlciBvZiBwYXR0ZXJucyAqLworICAgIHhtbFNjaGVtYXRyb25QYXR0ZXJuUHRyIHBhdHRlcm5zOy8qIHRoZSBwYXR0ZXJucyBmb3VuZCAqLworICAgIHhtbFNjaGVtYXRyb25SdWxlUHRyIHJ1bGVzOwkvKiB0aGUgcnVsZXMgZ2F0aGVyZWQgKi8KKyAgICBpbnQgbmJOYW1lc3BhY2VzOwkJLyogbnVtYmVyIG9mIG5hbWVzcGFjZXMgaW4gdGhlIGFycmF5ICovCisgICAgaW50IG1heE5hbWVzcGFjZXM7CQkvKiBzaXplIG9mIHRoZSBhcnJheSAqLworICAgIGNvbnN0IHhtbENoYXIgKipuYW1lc3BhY2VzOwkvKiB0aGUgYXJyYXkgb2YgbmFtZXNwYWNlcyAqLworfTsKKworLyoqCisgKiB4bWxTY2hlbWF0cm9uVmFsaWRDdHh0OgorICoKKyAqIEEgU2NoZW1hdHJvbnMgdmFsaWRhdGlvbiBjb250ZXh0CisgKi8KK3N0cnVjdCBfeG1sU2NoZW1hdHJvblZhbGlkQ3R4dCB7CisgICAgaW50IHR5cGU7CisgICAgaW50IGZsYWdzOwkJCS8qIGFuIG9yIG9mIHhtbFNjaGVtYXRyb25WYWxpZE9wdGlvbnMgKi8KKworICAgIHhtbERpY3RQdHIgZGljdDsKKyAgICBpbnQgbmJlcnJvcnM7CisgICAgaW50IGVycjsKKworICAgIHhtbFNjaGVtYXRyb25QdHIgc2NoZW1hOworICAgIHhtbFhQYXRoQ29udGV4dFB0ciB4Y3R4dDsKKworICAgIEZJTEUgKm91dHB1dEZpbGU7CQkvKiBpZiB1c2luZyBYTUxfU0NIRU1BVFJPTl9PVVRfRklMRSAqLworICAgIHhtbEJ1ZmZlclB0ciBvdXRwdXRCdWZmZXI7CS8qIGlmIHVzaW5nIFhNTF9TQ0hFTUFUUk9OX09VVF9CVUZGRVIgKi8KKyNpZmRlZiBMSUJYTUxfT1VUUFVUX0VOQUJMRUQKKyAgICB4bWxPdXRwdXRXcml0ZUNhbGxiYWNrIGlvd3JpdGU7IC8qIGlmIHVzaW5nIFhNTF9TQ0hFTUFUUk9OX09VVF9JTyAqLworICAgIHhtbE91dHB1dENsb3NlQ2FsbGJhY2sgIGlvY2xvc2U7CisjZW5kaWYKKyAgICB2b2lkICppb2N0eDsKKworICAgIC8qIGVycm9yIHJlcG9ydGluZyBkYXRhICovCisgICAgdm9pZCAqdXNlckRhdGE7ICAgICAgICAgICAgICAgICAgICAgIC8qIHVzZXIgc3BlY2lmaWMgZGF0YSBibG9jayAqLworICAgIHhtbFNjaGVtYXRyb25WYWxpZGl0eUVycm9yRnVuYyBlcnJvcjsvKiB0aGUgY2FsbGJhY2sgaW4gY2FzZSBvZiBlcnJvcnMgKi8KKyAgICB4bWxTY2hlbWF0cm9uVmFsaWRpdHlXYXJuaW5nRnVuYyB3YXJuaW5nOy8qIGNhbGxiYWNrIGluIGNhc2Ugb2Ygd2FybmluZyAqLworICAgIHhtbFN0cnVjdHVyZWRFcnJvckZ1bmMgc2Vycm9yOyAgICAgICAvKiB0aGUgc3RydWN0dXJlZCBmdW5jdGlvbiAqLworfTsKKworc3RydWN0IF94bWxTY2hlbWF0cm9uUGFyc2VyQ3R4dCB7CisgICAgaW50IHR5cGU7CisgICAgY29uc3QgeG1sQ2hhciAqVVJMOworICAgIHhtbERvY1B0ciBkb2M7CisgICAgaW50IHByZXNlcnZlOyAgICAgICAgICAgICAgIC8qIFdoZXRoZXIgdGhlIGRvYyBzaG91bGQgYmUgZnJlZWQgICovCisgICAgY29uc3QgY2hhciAqYnVmZmVyOworICAgIGludCBzaXplOworCisgICAgeG1sRGljdFB0ciBkaWN0OyAgICAgICAgICAgIC8qIGRpY3Rpb25uYXJ5IGZvciBpbnRlcm5lZCBzdHJpbmcgbmFtZXMgKi8KKworICAgIGludCBuYmVycm9yczsKKyAgICBpbnQgZXJyOworICAgIHhtbFhQYXRoQ29udGV4dFB0ciB4Y3R4dDsJLyogdGhlIFhQYXRoIGNvbnRleHQgdXNlZCBmb3IgY29tcGlsYXRpb24gKi8KKyAgICB4bWxTY2hlbWF0cm9uUHRyIHNjaGVtYTsKKworICAgIGludCBuYk5hbWVzcGFjZXM7CQkvKiBudW1iZXIgb2YgbmFtZXNwYWNlcyBpbiB0aGUgYXJyYXkgKi8KKyAgICBpbnQgbWF4TmFtZXNwYWNlczsJCS8qIHNpemUgb2YgdGhlIGFycmF5ICovCisgICAgY29uc3QgeG1sQ2hhciAqKm5hbWVzcGFjZXM7CS8qIHRoZSBhcnJheSBvZiBuYW1lc3BhY2VzICovCisKKyAgICBpbnQgbmJJbmNsdWRlczsJCS8qIG51bWJlciBvZiBpbmNsdWRlcyBpbiB0aGUgYXJyYXkgKi8KKyAgICBpbnQgbWF4SW5jbHVkZXM7CQkvKiBzaXplIG9mIHRoZSBhcnJheSAqLworICAgIHhtbE5vZGVQdHIgKmluY2x1ZGVzOwkvKiB0aGUgYXJyYXkgb2YgaW5jbHVkZXMgKi8KKworICAgIC8qIGVycm9yIHJlcG9ydGluZyBkYXRhICovCisgICAgdm9pZCAqdXNlckRhdGE7ICAgICAgICAgICAgICAgICAgICAgIC8qIHVzZXIgc3BlY2lmaWMgZGF0YSBibG9jayAqLworICAgIHhtbFNjaGVtYXRyb25WYWxpZGl0eUVycm9yRnVuYyBlcnJvcjsvKiB0aGUgY2FsbGJhY2sgaW4gY2FzZSBvZiBlcnJvcnMgKi8KKyAgICB4bWxTY2hlbWF0cm9uVmFsaWRpdHlXYXJuaW5nRnVuYyB3YXJuaW5nOy8qIGNhbGxiYWNrIGluIGNhc2Ugb2Ygd2FybmluZyAqLworICAgIHhtbFN0cnVjdHVyZWRFcnJvckZ1bmMgc2Vycm9yOyAgICAgICAvKiB0aGUgc3RydWN0dXJlZCBmdW5jdGlvbiAqLworfTsKKworI2RlZmluZSBYTUxfU1RST05fQ1RYVF9QQVJTRVIgMQorI2RlZmluZSBYTUxfU1RST05fQ1RYVF9WQUxJREFUT1IgMgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQkJRXJyb3IgcmVwb3J0aW5nCQkJCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKgorICogeG1sU2NoZW1hdHJvblBFcnJNZW1vcnk6CisgKiBAbm9kZTogYSBjb250ZXh0IG5vZGUKKyAqIEBleHRyYTogIGV4dHJhIGluZm9ybWF0aW9ucworICoKKyAqIEhhbmRsZSBhbiBvdXQgb2YgbWVtb3J5IGNvbmRpdGlvbgorICovCitzdGF0aWMgdm9pZAoreG1sU2NoZW1hdHJvblBFcnJNZW1vcnkoeG1sU2NoZW1hdHJvblBhcnNlckN0eHRQdHIgY3R4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmV4dHJhLCB4bWxOb2RlUHRyIG5vZGUpCit7CisgICAgaWYgKGN0eHQgIT0gTlVMTCkKKyAgICAgICAgY3R4dC0+bmJlcnJvcnMrKzsKKyAgICBfX3htbFNpbXBsZUVycm9yKFhNTF9GUk9NX1NDSEVNQVNQLCBYTUxfRVJSX05PX01FTU9SWSwgbm9kZSwgTlVMTCwKKyAgICAgICAgICAgICAgICAgICAgIGV4dHJhKTsKK30KKworLyoqCisgKiB4bWxTY2hlbWF0cm9uUEVycjoKKyAqIEBjdHh0OiB0aGUgcGFyc2luZyBjb250ZXh0CisgKiBAbm9kZTogdGhlIGNvbnRleHQgbm9kZQorICogQGVycm9yOiB0aGUgZXJyb3IgY29kZQorICogQG1zZzogdGhlIGVycm9yIG1lc3NhZ2UKKyAqIEBzdHIxOiBleHRyYSBkYXRhCisgKiBAc3RyMjogZXh0cmEgZGF0YQorICoKKyAqIEhhbmRsZSBhIHBhcnNlciBlcnJvcgorICovCitzdGF0aWMgdm9pZAoreG1sU2NoZW1hdHJvblBFcnIoeG1sU2NoZW1hdHJvblBhcnNlckN0eHRQdHIgY3R4dCwgeG1sTm9kZVB0ciBub2RlLCBpbnQgZXJyb3IsCisgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKm1zZywgY29uc3QgeG1sQ2hhciAqIHN0cjEsIGNvbnN0IHhtbENoYXIgKiBzdHIyKQoreworICAgIHhtbEdlbmVyaWNFcnJvckZ1bmMgY2hhbm5lbCA9IE5VTEw7CisgICAgeG1sU3RydWN0dXJlZEVycm9yRnVuYyBzY2hhbm5lbCA9IE5VTEw7CisgICAgdm9pZCAqZGF0YSA9IE5VTEw7CisKKyAgICBpZiAoY3R4dCAhPSBOVUxMKSB7CisgICAgICAgIGN0eHQtPm5iZXJyb3JzKys7CisgICAgICAgIGNoYW5uZWwgPSBjdHh0LT5lcnJvcjsKKyAgICAgICAgZGF0YSA9IGN0eHQtPnVzZXJEYXRhOworCXNjaGFubmVsID0gY3R4dC0+c2Vycm9yOworICAgIH0KKyAgICBfX3htbFJhaXNlRXJyb3Ioc2NoYW5uZWwsIGNoYW5uZWwsIGRhdGEsIGN0eHQsIG5vZGUsIFhNTF9GUk9NX1NDSEVNQVNQLAorICAgICAgICAgICAgICAgICAgICBlcnJvciwgWE1MX0VSUl9FUlJPUiwgTlVMTCwgMCwKKyAgICAgICAgICAgICAgICAgICAgKGNvbnN0IGNoYXIgKikgc3RyMSwgKGNvbnN0IGNoYXIgKikgc3RyMiwgTlVMTCwgMCwgMCwKKyAgICAgICAgICAgICAgICAgICAgbXNnLCBzdHIxLCBzdHIyKTsKK30KKworLyoqCisgKiB4bWxTY2hlbWF0cm9uVlR5cGVFcnJNZW1vcnk6CisgKiBAbm9kZTogYSBjb250ZXh0IG5vZGUKKyAqIEBleHRyYTogIGV4dHJhIGluZm9ybWF0aW9ucworICoKKyAqIEhhbmRsZSBhbiBvdXQgb2YgbWVtb3J5IGNvbmRpdGlvbgorICovCitzdGF0aWMgdm9pZAoreG1sU2NoZW1hdHJvblZFcnJNZW1vcnkoeG1sU2NoZW1hdHJvblZhbGlkQ3R4dFB0ciBjdHh0LAorICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZXh0cmEsIHhtbE5vZGVQdHIgbm9kZSkKK3sKKyAgICBpZiAoY3R4dCAhPSBOVUxMKSB7CisgICAgICAgIGN0eHQtPm5iZXJyb3JzKys7CisgICAgICAgIGN0eHQtPmVyciA9IFhNTF9TQ0hFTUFWX0lOVEVSTkFMOworICAgIH0KKyAgICBfX3htbFNpbXBsZUVycm9yKFhNTF9GUk9NX1NDSEVNQVNWLCBYTUxfRVJSX05PX01FTU9SWSwgbm9kZSwgTlVMTCwKKyAgICAgICAgICAgICAgICAgICAgIGV4dHJhKTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJUGFyc2luZyBhbmQgY29tcGlsYXRpb24gb2YgdGhlIFNjaGVtYXRyb250cm9ucwkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioKKyAqIHhtbFNjaGVtYXRyb25BZGRUZXN0OgorICogQGN0eHQ6IHRoZSBzY2hlbWEgcGFyc2luZyBjb250ZXh0CisgKiBAdHlwZTogIHRoZSB0eXBlIG9mIHRlc3QKKyAqIEBydWxlOiAgdGhlIHBhcmVudCBydWxlCisgKiBAbm9kZTogIHRoZSBub2RlIGhvc3RpbmcgdGhlIHRlc3QKKyAqIEB0ZXN0OiB0aGUgYXNzb2NpYXRlZCB0ZXN0CisgKiBAcmVwb3J0OiB0aGUgYXNzb2NpYXRlZCByZXBvcnQgc3RyaW5nCisgKgorICogQWRkIGEgdGVzdCB0byBhIHNjaGVtYXRyb24KKyAqCisgKiBSZXR1cm5zIHRoZSBuZXcgcG9pbnRlciBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworc3RhdGljIHhtbFNjaGVtYXRyb25UZXN0UHRyCit4bWxTY2hlbWF0cm9uQWRkVGVzdCh4bWxTY2hlbWF0cm9uUGFyc2VyQ3R4dFB0ciBjdHh0LAorICAgICAgICAgICAgICAgICAgICAgeG1sU2NoZW1hdHJvblRlc3RUeXBlIHR5cGUsCisgICAgICAgICAgICAgICAgICAgICB4bWxTY2hlbWF0cm9uUnVsZVB0ciBydWxlLAorICAgICAgICAgICAgICAgICAgICAgeG1sTm9kZVB0ciBub2RlLCB4bWxDaGFyICp0ZXN0LCB4bWxDaGFyICpyZXBvcnQpCit7CisgICAgeG1sU2NoZW1hdHJvblRlc3RQdHIgcmV0OworICAgIHhtbFhQYXRoQ29tcEV4cHJQdHIgY29tcDsKKworICAgIGlmICgoY3R4dCA9PSBOVUxMKSB8fCAocnVsZSA9PSBOVUxMKSB8fCAobm9kZSA9PSBOVUxMKSB8fAorICAgICAgICAodGVzdCA9PSBOVUxMKSkKKyAgICAgICAgcmV0dXJuKE5VTEwpOworCisgICAgLyoKKyAgICAgKiB0cnkgZmlyc3QgdG8gY29tcGlsZSB0aGUgdGVzdCBleHByZXNzaW9uCisgICAgICovCisgICAgY29tcCA9IHhtbFhQYXRoQ3R4dENvbXBpbGUoY3R4dC0+eGN0eHQsIHRlc3QpOworICAgIGlmIChjb21wID09IE5VTEwpIHsKKwl4bWxTY2hlbWF0cm9uUEVycihjdHh0LCBub2RlLAorCSAgICBYTUxfU0NIRU1BUF9OT1JPT1QsCisJICAgICJGYWlsZWQgdG8gY29tcGlsZSB0ZXN0IGV4cHJlc3Npb24gJXMiLAorCSAgICB0ZXN0LCBOVUxMKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorCisgICAgcmV0ID0gKHhtbFNjaGVtYXRyb25UZXN0UHRyKSB4bWxNYWxsb2Moc2l6ZW9mKHhtbFNjaGVtYXRyb25UZXN0KSk7CisgICAgaWYgKHJldCA9PSBOVUxMKSB7CisgICAgICAgIHhtbFNjaGVtYXRyb25QRXJyTWVtb3J5KGN0eHQsICJhbGxvY2F0aW5nIHNjaGVtYSB0ZXN0Iiwgbm9kZSk7CisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgfQorICAgIG1lbXNldChyZXQsIDAsIHNpemVvZih4bWxTY2hlbWF0cm9uVGVzdCkpOworICAgIHJldC0+dHlwZSA9IHR5cGU7CisgICAgcmV0LT5ub2RlID0gbm9kZTsKKyAgICByZXQtPnRlc3QgPSB0ZXN0OworICAgIHJldC0+Y29tcCA9IGNvbXA7CisgICAgcmV0LT5yZXBvcnQgPSByZXBvcnQ7CisgICAgcmV0LT5uZXh0ID0gTlVMTDsKKyAgICBpZiAocnVsZS0+dGVzdHMgPT0gTlVMTCkgeworCXJ1bGUtPnRlc3RzID0gcmV0OworICAgIH0gZWxzZSB7CisgICAgICAgIHhtbFNjaGVtYXRyb25UZXN0UHRyIHByZXYgPSBydWxlLT50ZXN0czsKKworCXdoaWxlIChwcmV2LT5uZXh0ICE9IE5VTEwpCisJICAgICBwcmV2ID0gcHJldi0+bmV4dDsKKyAgICAgICAgcHJldi0+bmV4dCA9IHJldDsKKyAgICB9CisgICAgcmV0dXJuIChyZXQpOworfQorCisvKioKKyAqIHhtbFNjaGVtYXRyb25GcmVlVGVzdHM6CisgKiBAdGVzdHM6ICBhIGxpc3Qgb2YgdGVzdHMKKyAqCisgKiBGcmVlIGEgbGlzdCBvZiB0ZXN0cy4KKyAqLworc3RhdGljIHZvaWQKK3htbFNjaGVtYXRyb25GcmVlVGVzdHMoeG1sU2NoZW1hdHJvblRlc3RQdHIgdGVzdHMpIHsKKyAgICB4bWxTY2hlbWF0cm9uVGVzdFB0ciBuZXh0OworCisgICAgd2hpbGUgKHRlc3RzICE9IE5VTEwpIHsKKyAgICAgICAgbmV4dCA9IHRlc3RzLT5uZXh0OworCWlmICh0ZXN0cy0+dGVzdCAhPSBOVUxMKQorCSAgICB4bWxGcmVlKHRlc3RzLT50ZXN0KTsKKwlpZiAodGVzdHMtPmNvbXAgIT0gTlVMTCkKKwkgICAgeG1sWFBhdGhGcmVlQ29tcEV4cHIodGVzdHMtPmNvbXApOworCWlmICh0ZXN0cy0+cmVwb3J0ICE9IE5VTEwpCisJICAgIHhtbEZyZWUodGVzdHMtPnJlcG9ydCk7CisJeG1sRnJlZSh0ZXN0cyk7CisJdGVzdHMgPSBuZXh0OworICAgIH0KK30KKworLyoqCisgKiB4bWxTY2hlbWF0cm9uQWRkUnVsZToKKyAqIEBjdHh0OiB0aGUgc2NoZW1hIHBhcnNpbmcgY29udGV4dAorICogQHNjaGVtYTogIGEgc2NoZW1hIHN0cnVjdHVyZQorICogQG5vZGU6ICB0aGUgbm9kZSBob3N0aW5nIHRoZSBydWxlCisgKiBAY29udGV4dDogdGhlIGFzc29jaWF0ZWQgY29udGV4dCBzdHJpbmcKKyAqIEByZXBvcnQ6IHRoZSBhc3NvY2lhdGVkIHJlcG9ydCBzdHJpbmcKKyAqCisgKiBBZGQgYSBydWxlIHRvIGEgc2NoZW1hdHJvbgorICoKKyAqIFJldHVybnMgdGhlIG5ldyBwb2ludGVyIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcgorICovCitzdGF0aWMgeG1sU2NoZW1hdHJvblJ1bGVQdHIKK3htbFNjaGVtYXRyb25BZGRSdWxlKHhtbFNjaGVtYXRyb25QYXJzZXJDdHh0UHRyIGN0eHQsIHhtbFNjaGVtYXRyb25QdHIgc2NoZW1hLAorICAgICAgICAgICAgICAgICAgICAgeG1sU2NoZW1hdHJvblBhdHRlcm5QdHIgcGF0LCB4bWxOb2RlUHRyIG5vZGUsCisJCSAgICAgeG1sQ2hhciAqY29udGV4dCwgeG1sQ2hhciAqcmVwb3J0KQoreworICAgIHhtbFNjaGVtYXRyb25SdWxlUHRyIHJldDsKKyAgICB4bWxQYXR0ZXJuUHRyIHBhdHRlcm47CisKKyAgICBpZiAoKGN0eHQgPT0gTlVMTCkgfHwgKHNjaGVtYSA9PSBOVUxMKSB8fCAobm9kZSA9PSBOVUxMKSB8fAorICAgICAgICAoY29udGV4dCA9PSBOVUxMKSkKKyAgICAgICAgcmV0dXJuKE5VTEwpOworCisgICAgLyoKKyAgICAgKiBUcnkgZmlyc3QgdG8gY29tcGlsZSB0aGUgcGF0dGVybgorICAgICAqLworICAgIHBhdHRlcm4gPSB4bWxQYXR0ZXJuY29tcGlsZShjb250ZXh0LCBjdHh0LT5kaWN0LCBYTUxfUEFUVEVSTl9YUEFUSCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3R4dC0+bmFtZXNwYWNlcyk7CisgICAgaWYgKHBhdHRlcm4gPT0gTlVMTCkgeworCXhtbFNjaGVtYXRyb25QRXJyKGN0eHQsIG5vZGUsCisJICAgIFhNTF9TQ0hFTUFQX05PUk9PVCwKKwkgICAgIkZhaWxlZCB0byBjb21waWxlIGNvbnRleHQgZXhwcmVzc2lvbiAlcyIsCisJICAgIGNvbnRleHQsIE5VTEwpOworICAgIH0KKworICAgIHJldCA9ICh4bWxTY2hlbWF0cm9uUnVsZVB0cikgeG1sTWFsbG9jKHNpemVvZih4bWxTY2hlbWF0cm9uUnVsZSkpOworICAgIGlmIChyZXQgPT0gTlVMTCkgeworICAgICAgICB4bWxTY2hlbWF0cm9uUEVyck1lbW9yeShjdHh0LCAiYWxsb2NhdGluZyBzY2hlbWEgcnVsZSIsIG5vZGUpOworICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIH0KKyAgICBtZW1zZXQocmV0LCAwLCBzaXplb2YoeG1sU2NoZW1hdHJvblJ1bGUpKTsKKyAgICByZXQtPm5vZGUgPSBub2RlOworICAgIHJldC0+Y29udGV4dCA9IGNvbnRleHQ7CisgICAgcmV0LT5wYXR0ZXJuID0gcGF0dGVybjsKKyAgICByZXQtPnJlcG9ydCA9IHJlcG9ydDsKKyAgICByZXQtPm5leHQgPSBOVUxMOworICAgIGlmIChzY2hlbWEtPnJ1bGVzID09IE5VTEwpIHsKKwlzY2hlbWEtPnJ1bGVzID0gcmV0OworICAgIH0gZWxzZSB7CisgICAgICAgIHhtbFNjaGVtYXRyb25SdWxlUHRyIHByZXYgPSBzY2hlbWEtPnJ1bGVzOworCisJd2hpbGUgKHByZXYtPm5leHQgIT0gTlVMTCkKKwkgICAgIHByZXYgPSBwcmV2LT5uZXh0OworICAgICAgICBwcmV2LT5uZXh0ID0gcmV0OworICAgIH0KKyAgICByZXQtPnBhdG5leHQgPSBOVUxMOworICAgIGlmIChwYXQtPnJ1bGVzID09IE5VTEwpIHsKKwlwYXQtPnJ1bGVzID0gcmV0OworICAgIH0gZWxzZSB7CisgICAgICAgIHhtbFNjaGVtYXRyb25SdWxlUHRyIHByZXYgPSBwYXQtPnJ1bGVzOworCisJd2hpbGUgKHByZXYtPnBhdG5leHQgIT0gTlVMTCkKKwkgICAgIHByZXYgPSBwcmV2LT5wYXRuZXh0OworICAgICAgICBwcmV2LT5wYXRuZXh0ID0gcmV0OworICAgIH0KKyAgICByZXR1cm4gKHJldCk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hdHJvbkZyZWVSdWxlczoKKyAqIEBydWxlczogIGEgbGlzdCBvZiBydWxlcworICoKKyAqIEZyZWUgYSBsaXN0IG9mIHJ1bGVzLgorICovCitzdGF0aWMgdm9pZAoreG1sU2NoZW1hdHJvbkZyZWVSdWxlcyh4bWxTY2hlbWF0cm9uUnVsZVB0ciBydWxlcykgeworICAgIHhtbFNjaGVtYXRyb25SdWxlUHRyIG5leHQ7CisKKyAgICB3aGlsZSAocnVsZXMgIT0gTlVMTCkgeworICAgICAgICBuZXh0ID0gcnVsZXMtPm5leHQ7CisJaWYgKHJ1bGVzLT50ZXN0cykKKwkgICAgeG1sU2NoZW1hdHJvbkZyZWVUZXN0cyhydWxlcy0+dGVzdHMpOworCWlmIChydWxlcy0+Y29udGV4dCAhPSBOVUxMKQorCSAgICB4bWxGcmVlKHJ1bGVzLT5jb250ZXh0KTsKKwlpZiAocnVsZXMtPnBhdHRlcm4pCisJICAgIHhtbEZyZWVQYXR0ZXJuKHJ1bGVzLT5wYXR0ZXJuKTsKKwlpZiAocnVsZXMtPnJlcG9ydCAhPSBOVUxMKQorCSAgICB4bWxGcmVlKHJ1bGVzLT5yZXBvcnQpOworCXhtbEZyZWUocnVsZXMpOworCXJ1bGVzID0gbmV4dDsKKyAgICB9Cit9CisKKy8qKgorICogeG1sU2NoZW1hdHJvbkFkZFBhdHRlcm46CisgKiBAY3R4dDogdGhlIHNjaGVtYSBwYXJzaW5nIGNvbnRleHQKKyAqIEBzY2hlbWE6ICBhIHNjaGVtYSBzdHJ1Y3R1cmUKKyAqIEBub2RlOiAgdGhlIG5vZGUgaG9zdGluZyB0aGUgcGF0dGVybgorICogQGlkOiB0aGUgaWQgb3IgbmFtZSBvZiB0aGUgcGF0dGVybgorICoKKyAqIEFkZCBhIHBhdHRlcm4gdG8gYSBzY2hlbWF0cm9uCisgKgorICogUmV0dXJucyB0aGUgbmV3IHBvaW50ZXIgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3N0YXRpYyB4bWxTY2hlbWF0cm9uUGF0dGVyblB0cgoreG1sU2NoZW1hdHJvbkFkZFBhdHRlcm4oeG1sU2NoZW1hdHJvblBhcnNlckN0eHRQdHIgY3R4dCwKKyAgICAgICAgICAgICAgICAgICAgIHhtbFNjaGVtYXRyb25QdHIgc2NoZW1hLCB4bWxOb2RlUHRyIG5vZGUsIHhtbENoYXIgKm5hbWUpCit7CisgICAgeG1sU2NoZW1hdHJvblBhdHRlcm5QdHIgcmV0OworCisgICAgaWYgKChjdHh0ID09IE5VTEwpIHx8IChzY2hlbWEgPT0gTlVMTCkgfHwgKG5vZGUgPT0gTlVMTCkgfHwgKG5hbWUgPT0gTlVMTCkpCisgICAgICAgIHJldHVybihOVUxMKTsKKworICAgIHJldCA9ICh4bWxTY2hlbWF0cm9uUGF0dGVyblB0cikgeG1sTWFsbG9jKHNpemVvZih4bWxTY2hlbWF0cm9uUGF0dGVybikpOworICAgIGlmIChyZXQgPT0gTlVMTCkgeworICAgICAgICB4bWxTY2hlbWF0cm9uUEVyck1lbW9yeShjdHh0LCAiYWxsb2NhdGluZyBzY2hlbWEgcGF0dGVybiIsIG5vZGUpOworICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIH0KKyAgICBtZW1zZXQocmV0LCAwLCBzaXplb2YoeG1sU2NoZW1hdHJvblBhdHRlcm4pKTsKKyAgICByZXQtPm5hbWUgPSBuYW1lOworICAgIHJldC0+bmV4dCA9IE5VTEw7CisgICAgaWYgKHNjaGVtYS0+cGF0dGVybnMgPT0gTlVMTCkgeworCXNjaGVtYS0+cGF0dGVybnMgPSByZXQ7CisgICAgfSBlbHNlIHsKKyAgICAgICAgeG1sU2NoZW1hdHJvblBhdHRlcm5QdHIgcHJldiA9IHNjaGVtYS0+cGF0dGVybnM7CisKKwl3aGlsZSAocHJldi0+bmV4dCAhPSBOVUxMKQorCSAgICAgcHJldiA9IHByZXYtPm5leHQ7CisgICAgICAgIHByZXYtPm5leHQgPSByZXQ7CisgICAgfQorICAgIHJldHVybiAocmV0KTsKK30KKworLyoqCisgKiB4bWxTY2hlbWF0cm9uRnJlZVBhdHRlcm5zOgorICogQHBhdHRlcm5zOiAgYSBsaXN0IG9mIHBhdHRlcm5zCisgKgorICogRnJlZSBhIGxpc3Qgb2YgcGF0dGVybnMuCisgKi8KK3N0YXRpYyB2b2lkCit4bWxTY2hlbWF0cm9uRnJlZVBhdHRlcm5zKHhtbFNjaGVtYXRyb25QYXR0ZXJuUHRyIHBhdHRlcm5zKSB7CisgICAgeG1sU2NoZW1hdHJvblBhdHRlcm5QdHIgbmV4dDsKKworICAgIHdoaWxlIChwYXR0ZXJucyAhPSBOVUxMKSB7CisgICAgICAgIG5leHQgPSBwYXR0ZXJucy0+bmV4dDsKKwlpZiAocGF0dGVybnMtPm5hbWUgIT0gTlVMTCkKKwkgICAgeG1sRnJlZShwYXR0ZXJucy0+bmFtZSk7CisJeG1sRnJlZShwYXR0ZXJucyk7CisJcGF0dGVybnMgPSBuZXh0OworICAgIH0KK30KKworLyoqCisgKiB4bWxTY2hlbWF0cm9uTmV3U2NoZW1hdHJvbjoKKyAqIEBjdHh0OiAgYSBzY2hlbWEgdmFsaWRhdGlvbiBjb250ZXh0CisgKgorICogQWxsb2NhdGUgYSBuZXcgU2NoZW1hdHJvbiBzdHJ1Y3R1cmUuCisgKgorICogUmV0dXJucyB0aGUgbmV3bHkgYWxsb2NhdGVkIHN0cnVjdHVyZSBvciBOVUxMIGluIGNhc2Ugb3IgZXJyb3IKKyAqLworc3RhdGljIHhtbFNjaGVtYXRyb25QdHIKK3htbFNjaGVtYXRyb25OZXdTY2hlbWF0cm9uKHhtbFNjaGVtYXRyb25QYXJzZXJDdHh0UHRyIGN0eHQpCit7CisgICAgeG1sU2NoZW1hdHJvblB0ciByZXQ7CisKKyAgICByZXQgPSAoeG1sU2NoZW1hdHJvblB0cikgeG1sTWFsbG9jKHNpemVvZih4bWxTY2hlbWF0cm9uKSk7CisgICAgaWYgKHJldCA9PSBOVUxMKSB7CisgICAgICAgIHhtbFNjaGVtYXRyb25QRXJyTWVtb3J5KGN0eHQsICJhbGxvY2F0aW5nIHNjaGVtYSIsIE5VTEwpOworICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIH0KKyAgICBtZW1zZXQocmV0LCAwLCBzaXplb2YoeG1sU2NoZW1hdHJvbikpOworICAgIHJldC0+ZGljdCA9IGN0eHQtPmRpY3Q7CisgICAgeG1sRGljdFJlZmVyZW5jZShyZXQtPmRpY3QpOworCisgICAgcmV0dXJuIChyZXQpOworfQorCisvKioKKyAqIHhtbFNjaGVtYXRyb25GcmVlOgorICogQHNjaGVtYTogIGEgc2NoZW1hIHN0cnVjdHVyZQorICoKKyAqIERlYWxsb2NhdGUgYSBTY2hlbWF0cm9uIHN0cnVjdHVyZS4KKyAqLwordm9pZAoreG1sU2NoZW1hdHJvbkZyZWUoeG1sU2NoZW1hdHJvblB0ciBzY2hlbWEpCit7CisgICAgaWYgKHNjaGVtYSA9PSBOVUxMKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoKHNjaGVtYS0+ZG9jICE9IE5VTEwpICYmICghKHNjaGVtYS0+cHJlc2VydmUpKSkKKyAgICAgICAgeG1sRnJlZURvYyhzY2hlbWEtPmRvYyk7CisKKyAgICBpZiAoc2NoZW1hLT5uYW1lc3BhY2VzICE9IE5VTEwpCisgICAgICAgIHhtbEZyZWUoKGNoYXIgKiopIHNjaGVtYS0+bmFtZXNwYWNlcyk7CisKKyAgICB4bWxTY2hlbWF0cm9uRnJlZVJ1bGVzKHNjaGVtYS0+cnVsZXMpOworICAgIHhtbFNjaGVtYXRyb25GcmVlUGF0dGVybnMoc2NoZW1hLT5wYXR0ZXJucyk7CisgICAgeG1sRGljdEZyZWUoc2NoZW1hLT5kaWN0KTsKKyAgICB4bWxGcmVlKHNjaGVtYSk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hdHJvbk5ld1BhcnNlckN0eHQ6CisgKiBAVVJMOiAgdGhlIGxvY2F0aW9uIG9mIHRoZSBzY2hlbWEKKyAqCisgKiBDcmVhdGUgYW4gWE1MIFNjaGVtYXRyb25zIHBhcnNlIGNvbnRleHQgZm9yIHRoYXQgZmlsZS9yZXNvdXJjZSBleHBlY3RlZAorICogdG8gY29udGFpbiBhbiBYTUwgU2NoZW1hdHJvbnMgZmlsZS4KKyAqCisgKiBSZXR1cm5zIHRoZSBwYXJzZXIgY29udGV4dCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworeG1sU2NoZW1hdHJvblBhcnNlckN0eHRQdHIKK3htbFNjaGVtYXRyb25OZXdQYXJzZXJDdHh0KGNvbnN0IGNoYXIgKlVSTCkKK3sKKyAgICB4bWxTY2hlbWF0cm9uUGFyc2VyQ3R4dFB0ciByZXQ7CisKKyAgICBpZiAoVVJMID09IE5VTEwpCisgICAgICAgIHJldHVybiAoTlVMTCk7CisKKyAgICByZXQgPQorICAgICAgICAoeG1sU2NoZW1hdHJvblBhcnNlckN0eHRQdHIpCisgICAgICAgIHhtbE1hbGxvYyhzaXplb2YoeG1sU2NoZW1hdHJvblBhcnNlckN0eHQpKTsKKyAgICBpZiAocmV0ID09IE5VTEwpIHsKKyAgICAgICAgeG1sU2NoZW1hdHJvblBFcnJNZW1vcnkoTlVMTCwgImFsbG9jYXRpbmcgc2NoZW1hIHBhcnNlciBjb250ZXh0IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7CisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgfQorICAgIG1lbXNldChyZXQsIDAsIHNpemVvZih4bWxTY2hlbWF0cm9uUGFyc2VyQ3R4dCkpOworICAgIHJldC0+dHlwZSA9IFhNTF9TVFJPTl9DVFhUX1BBUlNFUjsKKyAgICByZXQtPmRpY3QgPSB4bWxEaWN0Q3JlYXRlKCk7CisgICAgcmV0LT5VUkwgPSB4bWxEaWN0TG9va3VwKHJldC0+ZGljdCwgKGNvbnN0IHhtbENoYXIgKikgVVJMLCAtMSk7CisgICAgcmV0LT5pbmNsdWRlcyA9IE5VTEw7CisgICAgcmV0LT54Y3R4dCA9IHhtbFhQYXRoTmV3Q29udGV4dChOVUxMKTsKKyAgICBpZiAocmV0LT54Y3R4dCA9PSBOVUxMKSB7CisgICAgICAgIHhtbFNjaGVtYXRyb25QRXJyTWVtb3J5KE5VTEwsICJhbGxvY2F0aW5nIHNjaGVtYSBwYXJzZXIgWFBhdGggY29udGV4dCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOworCXhtbFNjaGVtYXRyb25GcmVlUGFyc2VyQ3R4dChyZXQpOworICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIH0KKyAgICByZXQtPnhjdHh0LT5mbGFncyA9IFhNTF9YUEFUSF9DSEVDS05TOworICAgIHJldHVybiAocmV0KTsKK30KKworLyoqCisgKiB4bWxTY2hlbWF0cm9uTmV3TWVtUGFyc2VyQ3R4dDoKKyAqIEBidWZmZXI6ICBhIHBvaW50ZXIgdG8gYSBjaGFyIGFycmF5IGNvbnRhaW5pbmcgdGhlIHNjaGVtYXMKKyAqIEBzaXplOiAgdGhlIHNpemUgb2YgdGhlIGFycmF5CisgKgorICogQ3JlYXRlIGFuIFhNTCBTY2hlbWF0cm9ucyBwYXJzZSBjb250ZXh0IGZvciB0aGF0IG1lbW9yeSBidWZmZXIgZXhwZWN0ZWQKKyAqIHRvIGNvbnRhaW4gYW4gWE1MIFNjaGVtYXRyb25zIGZpbGUuCisgKgorICogUmV0dXJucyB0aGUgcGFyc2VyIGNvbnRleHQgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3htbFNjaGVtYXRyb25QYXJzZXJDdHh0UHRyCit4bWxTY2hlbWF0cm9uTmV3TWVtUGFyc2VyQ3R4dChjb25zdCBjaGFyICpidWZmZXIsIGludCBzaXplKQoreworICAgIHhtbFNjaGVtYXRyb25QYXJzZXJDdHh0UHRyIHJldDsKKworICAgIGlmICgoYnVmZmVyID09IE5VTEwpIHx8IChzaXplIDw9IDApKQorICAgICAgICByZXR1cm4gKE5VTEwpOworCisgICAgcmV0ID0KKyAgICAgICAgKHhtbFNjaGVtYXRyb25QYXJzZXJDdHh0UHRyKQorICAgICAgICB4bWxNYWxsb2Moc2l6ZW9mKHhtbFNjaGVtYXRyb25QYXJzZXJDdHh0KSk7CisgICAgaWYgKHJldCA9PSBOVUxMKSB7CisgICAgICAgIHhtbFNjaGVtYXRyb25QRXJyTWVtb3J5KE5VTEwsICJhbGxvY2F0aW5nIHNjaGVtYSBwYXJzZXIgY29udGV4dCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOworICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIH0KKyAgICBtZW1zZXQocmV0LCAwLCBzaXplb2YoeG1sU2NoZW1hdHJvblBhcnNlckN0eHQpKTsKKyAgICByZXQtPmJ1ZmZlciA9IGJ1ZmZlcjsKKyAgICByZXQtPnNpemUgPSBzaXplOworICAgIHJldC0+ZGljdCA9IHhtbERpY3RDcmVhdGUoKTsKKyAgICByZXQtPnhjdHh0ID0geG1sWFBhdGhOZXdDb250ZXh0KE5VTEwpOworICAgIGlmIChyZXQtPnhjdHh0ID09IE5VTEwpIHsKKyAgICAgICAgeG1sU2NoZW1hdHJvblBFcnJNZW1vcnkoTlVMTCwgImFsbG9jYXRpbmcgc2NoZW1hIHBhcnNlciBYUGF0aCBjb250ZXh0IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7CisJeG1sU2NoZW1hdHJvbkZyZWVQYXJzZXJDdHh0KHJldCk7CisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgfQorICAgIHJldHVybiAocmV0KTsKK30KKworLyoqCisgKiB4bWxTY2hlbWF0cm9uTmV3RG9jUGFyc2VyQ3R4dDoKKyAqIEBkb2M6ICBhIHByZXBhcnNlZCBkb2N1bWVudCB0cmVlCisgKgorICogQ3JlYXRlIGFuIFhNTCBTY2hlbWF0cm9ucyBwYXJzZSBjb250ZXh0IGZvciB0aGF0IGRvY3VtZW50LgorICogTkIuIFRoZSBkb2N1bWVudCBtYXkgYmUgbW9kaWZpZWQgZHVyaW5nIHRoZSBwYXJzaW5nIHByb2Nlc3MuCisgKgorICogUmV0dXJucyB0aGUgcGFyc2VyIGNvbnRleHQgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3htbFNjaGVtYXRyb25QYXJzZXJDdHh0UHRyCit4bWxTY2hlbWF0cm9uTmV3RG9jUGFyc2VyQ3R4dCh4bWxEb2NQdHIgZG9jKQoreworICAgIHhtbFNjaGVtYXRyb25QYXJzZXJDdHh0UHRyIHJldDsKKworICAgIGlmIChkb2MgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKworICAgIHJldCA9CisgICAgICAgICh4bWxTY2hlbWF0cm9uUGFyc2VyQ3R4dFB0cikKKyAgICAgICAgeG1sTWFsbG9jKHNpemVvZih4bWxTY2hlbWF0cm9uUGFyc2VyQ3R4dCkpOworICAgIGlmIChyZXQgPT0gTlVMTCkgeworICAgICAgICB4bWxTY2hlbWF0cm9uUEVyck1lbW9yeShOVUxMLCAiYWxsb2NhdGluZyBzY2hlbWEgcGFyc2VyIGNvbnRleHQiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICB9CisgICAgbWVtc2V0KHJldCwgMCwgc2l6ZW9mKHhtbFNjaGVtYXRyb25QYXJzZXJDdHh0KSk7CisgICAgcmV0LT5kb2MgPSBkb2M7CisgICAgcmV0LT5kaWN0ID0geG1sRGljdENyZWF0ZSgpOworICAgIC8qIFRoZSBhcHBsaWNhdGlvbiBoYXMgcmVzcG9uc2liaWxpdHkgZm9yIHRoZSBkb2N1bWVudCAqLworICAgIHJldC0+cHJlc2VydmUgPSAxOworICAgIHJldC0+eGN0eHQgPSB4bWxYUGF0aE5ld0NvbnRleHQoZG9jKTsKKyAgICBpZiAocmV0LT54Y3R4dCA9PSBOVUxMKSB7CisgICAgICAgIHhtbFNjaGVtYXRyb25QRXJyTWVtb3J5KE5VTEwsICJhbGxvY2F0aW5nIHNjaGVtYSBwYXJzZXIgWFBhdGggY29udGV4dCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOworCXhtbFNjaGVtYXRyb25GcmVlUGFyc2VyQ3R4dChyZXQpOworICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIH0KKworICAgIHJldHVybiAocmV0KTsKK30KKworLyoqCisgKiB4bWxTY2hlbWF0cm9uRnJlZVBhcnNlckN0eHQ6CisgKiBAY3R4dDogIHRoZSBzY2hlbWEgcGFyc2VyIGNvbnRleHQKKyAqCisgKiBGcmVlIHRoZSByZXNvdXJjZXMgYXNzb2NpYXRlZCB0byB0aGUgc2NoZW1hIHBhcnNlciBjb250ZXh0CisgKi8KK3ZvaWQKK3htbFNjaGVtYXRyb25GcmVlUGFyc2VyQ3R4dCh4bWxTY2hlbWF0cm9uUGFyc2VyQ3R4dFB0ciBjdHh0KQoreworICAgIGlmIChjdHh0ID09IE5VTEwpCisgICAgICAgIHJldHVybjsKKyAgICBpZiAoY3R4dC0+ZG9jICE9IE5VTEwgJiYgIWN0eHQtPnByZXNlcnZlKQorICAgICAgICB4bWxGcmVlRG9jKGN0eHQtPmRvYyk7CisgICAgaWYgKGN0eHQtPnhjdHh0ICE9IE5VTEwpIHsKKyAgICAgICAgeG1sWFBhdGhGcmVlQ29udGV4dChjdHh0LT54Y3R4dCk7CisgICAgfQorICAgIGlmIChjdHh0LT5uYW1lc3BhY2VzICE9IE5VTEwpCisgICAgICAgIHhtbEZyZWUoKGNoYXIgKiopIGN0eHQtPm5hbWVzcGFjZXMpOworICAgIHhtbERpY3RGcmVlKGN0eHQtPmRpY3QpOworICAgIHhtbEZyZWUoY3R4dCk7Cit9CisKKyNpZiAwCisvKioKKyAqIHhtbFNjaGVtYXRyb25QdXNoSW5jbHVkZToKKyAqIEBjdHh0OiAgdGhlIHNjaGVtYSBwYXJzZXIgY29udGV4dAorICogQGRvYzogIHRoZSBpbmNsdWRlZCBkb2N1bWVudAorICogQGN1cjogIHRoZSBjdXJyZW50IGluY2x1ZGUgbm9kZQorICoKKyAqIEFkZCBhbiBpbmNsdWRlZCBkb2N1bWVudAorICovCitzdGF0aWMgdm9pZAoreG1sU2NoZW1hdHJvblB1c2hJbmNsdWRlKHhtbFNjaGVtYXRyb25QYXJzZXJDdHh0UHRyIGN0eHQsCisgICAgICAgICAgICAgICAgICAgICAgICB4bWxEb2NQdHIgZG9jLCB4bWxOb2RlUHRyIGN1cikKK3sKKyAgICBpZiAoY3R4dC0+aW5jbHVkZXMgPT0gTlVMTCkgeworICAgICAgICBjdHh0LT5tYXhJbmNsdWRlcyA9IDEwOworICAgICAgICBjdHh0LT5pbmNsdWRlcyA9ICh4bWxOb2RlUHRyICopCisJICAgIHhtbE1hbGxvYyhjdHh0LT5tYXhJbmNsdWRlcyAqIDIgKiBzaXplb2YoeG1sTm9kZVB0cikpOworCWlmIChjdHh0LT5pbmNsdWRlcyA9PSBOVUxMKSB7CisJICAgIHhtbFNjaGVtYXRyb25QRXJyTWVtb3J5KE5VTEwsICJhbGxvY2F0aW5nIHBhcnNlciBpbmNsdWRlcyIsCisJCQkJICAgIE5VTEwpOworCSAgICByZXR1cm47CisJfQorICAgICAgICBjdHh0LT5uYkluY2x1ZGVzID0gMDsKKyAgICB9IGVsc2UgaWYgKGN0eHQtPm5iSW5jbHVkZXMgKyAyID49IGN0eHQtPm1heEluY2x1ZGVzKSB7CisgICAgICAgIHhtbE5vZGVQdHIgKnRtcDsKKworCXRtcCA9ICh4bWxOb2RlUHRyICopCisJICAgIHhtbFJlYWxsb2MoY3R4dC0+aW5jbHVkZXMsIGN0eHQtPm1heEluY2x1ZGVzICogNCAqCisJICAgICAgICAgICAgICAgc2l6ZW9mKHhtbE5vZGVQdHIpKTsKKwlpZiAodG1wID09IE5VTEwpIHsKKwkgICAgeG1sU2NoZW1hdHJvblBFcnJNZW1vcnkoTlVMTCwgImFsbG9jYXRpbmcgcGFyc2VyIGluY2x1ZGVzIiwKKwkJCQkgICAgTlVMTCk7CisJICAgIHJldHVybjsKKwl9CisgICAgICAgIGN0eHQtPmluY2x1ZGVzID0gdG1wOworCWN0eHQtPm1heEluY2x1ZGVzICo9IDI7CisgICAgfQorICAgIGN0eHQtPmluY2x1ZGVzWzIgKiBjdHh0LT5uYkluY2x1ZGVzXSA9IGN1cjsKKyAgICBjdHh0LT5pbmNsdWRlc1syICogY3R4dC0+bmJJbmNsdWRlcyArIDFdID0gKHhtbE5vZGVQdHIpIGRvYzsKKyAgICBjdHh0LT5uYkluY2x1ZGVzKys7Cit9CisKKy8qKgorICogeG1sU2NoZW1hdHJvblBvcEluY2x1ZGU6CisgKiBAY3R4dDogIHRoZSBzY2hlbWEgcGFyc2VyIGNvbnRleHQKKyAqCisgKiBQb3AgYW4gaW5jbHVkZSBsZXZlbC4gVGhlIGluY2x1ZGVkIGRvY3VtZW50IGlzIGJlaW5nIGZyZWVkCisgKgorICogUmV0dXJucyB0aGUgbm9kZSBpbW1lZGlhdGVseSBmb2xsb3dpbmcgdGhlIGluY2x1ZGUgb3IgTlVMTCBpZiB0aGUKKyAqICAgICAgICAgaW5jbHVkZSBsaXN0IHdhcyBlbXB0eS4KKyAqLworc3RhdGljIHhtbE5vZGVQdHIKK3htbFNjaGVtYXRyb25Qb3BJbmNsdWRlKHhtbFNjaGVtYXRyb25QYXJzZXJDdHh0UHRyIGN0eHQpCit7CisgICAgeG1sRG9jUHRyIGRvYzsKKyAgICB4bWxOb2RlUHRyIHJldDsKKworICAgIGlmIChjdHh0LT5uYkluY2x1ZGVzIDw9IDApCisgICAgICAgIHJldHVybihOVUxMKTsKKyAgICBjdHh0LT5uYkluY2x1ZGVzLS07CisgICAgZG9jID0gKHhtbERvY1B0cikgY3R4dC0+aW5jbHVkZXNbMiAqIGN0eHQtPm5iSW5jbHVkZXMgKyAxXTsKKyAgICByZXQgPSBjdHh0LT5pbmNsdWRlc1syICogY3R4dC0+bmJJbmNsdWRlc107CisgICAgeG1sRnJlZURvYyhkb2MpOworICAgIGlmIChyZXQgIT0gTlVMTCkKKwlyZXQgPSByZXQtPm5leHQ7CisgICAgaWYgKHJldCA9PSBOVUxMKQorICAgICAgICByZXR1cm4oeG1sU2NoZW1hdHJvblBvcEluY2x1ZGUoY3R4dCkpOworICAgIHJldHVybihyZXQpOworfQorI2VuZGlmCisKKy8qKgorICogeG1sU2NoZW1hdHJvbkFkZE5hbWVzcGFjZToKKyAqIEBjdHh0OiAgdGhlIHNjaGVtYSBwYXJzZXIgY29udGV4dAorICogQHByZWZpeDogIHRoZSBuYW1lc3BhY2UgcHJlZml4CisgKiBAbnM6ICB0aGUgbmFtZXNwYWNlIG5hbWUKKyAqCisgKiBBZGQgYSBuYW1lc3BhY2UgZGVmaW5pdGlvbiBpbiB0aGUgY29udGV4dAorICovCitzdGF0aWMgdm9pZAoreG1sU2NoZW1hdHJvbkFkZE5hbWVzcGFjZSh4bWxTY2hlbWF0cm9uUGFyc2VyQ3R4dFB0ciBjdHh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICpwcmVmaXgsIGNvbnN0IHhtbENoYXIgKm5zKQoreworICAgIGlmIChjdHh0LT5uYW1lc3BhY2VzID09IE5VTEwpIHsKKyAgICAgICAgY3R4dC0+bWF4TmFtZXNwYWNlcyA9IDEwOworICAgICAgICBjdHh0LT5uYW1lc3BhY2VzID0gKGNvbnN0IHhtbENoYXIgKiopCisJICAgIHhtbE1hbGxvYyhjdHh0LT5tYXhOYW1lc3BhY2VzICogMiAqIHNpemVvZihjb25zdCB4bWxDaGFyICopKTsKKwlpZiAoY3R4dC0+bmFtZXNwYWNlcyA9PSBOVUxMKSB7CisJICAgIHhtbFNjaGVtYXRyb25QRXJyTWVtb3J5KE5VTEwsICJhbGxvY2F0aW5nIHBhcnNlciBuYW1lc3BhY2VzIiwKKwkJCQkgICAgTlVMTCk7CisJICAgIHJldHVybjsKKwl9CisgICAgICAgIGN0eHQtPm5iTmFtZXNwYWNlcyA9IDA7CisgICAgfSBlbHNlIGlmIChjdHh0LT5uYk5hbWVzcGFjZXMgKyAyID49IGN0eHQtPm1heE5hbWVzcGFjZXMpIHsKKyAgICAgICAgY29uc3QgeG1sQ2hhciAqKnRtcDsKKworCXRtcCA9IChjb25zdCB4bWxDaGFyICoqKQorCSAgICB4bWxSZWFsbG9jKCh4bWxDaGFyICoqKSBjdHh0LT5uYW1lc3BhY2VzLCBjdHh0LT5tYXhOYW1lc3BhY2VzICogNCAqCisJICAgICAgICAgICAgICAgc2l6ZW9mKGNvbnN0IHhtbENoYXIgKikpOworCWlmICh0bXAgPT0gTlVMTCkgeworCSAgICB4bWxTY2hlbWF0cm9uUEVyck1lbW9yeShOVUxMLCAiYWxsb2NhdGluZyBwYXJzZXIgbmFtZXNwYWNlcyIsCisJCQkJICAgIE5VTEwpOworCSAgICByZXR1cm47CisJfQorICAgICAgICBjdHh0LT5uYW1lc3BhY2VzID0gdG1wOworCWN0eHQtPm1heE5hbWVzcGFjZXMgKj0gMjsKKyAgICB9CisgICAgY3R4dC0+bmFtZXNwYWNlc1syICogY3R4dC0+bmJOYW1lc3BhY2VzXSA9CisgICAgICAgIHhtbERpY3RMb29rdXAoY3R4dC0+ZGljdCwgbnMsIC0xKTsKKyAgICBjdHh0LT5uYW1lc3BhY2VzWzIgKiBjdHh0LT5uYk5hbWVzcGFjZXMgKyAxXSA9CisgICAgICAgIHhtbERpY3RMb29rdXAoY3R4dC0+ZGljdCwgcHJlZml4LCAtMSk7CisgICAgY3R4dC0+bmJOYW1lc3BhY2VzKys7CisgICAgY3R4dC0+bmFtZXNwYWNlc1syICogY3R4dC0+bmJOYW1lc3BhY2VzXSA9IE5VTEw7CisgICAgY3R4dC0+bmFtZXNwYWNlc1syICogY3R4dC0+bmJOYW1lc3BhY2VzICsgMV0gPSBOVUxMOworCit9CisKKy8qKgorICogeG1sU2NoZW1hdHJvblBhcnNlUnVsZToKKyAqIEBjdHh0OiAgYSBzY2hlbWEgdmFsaWRhdGlvbiBjb250ZXh0CisgKiBAcnVsZTogIHRoZSBydWxlIG5vZGUKKyAqCisgKiBwYXJzZSBhIHJ1bGUgZWxlbWVudAorICovCitzdGF0aWMgdm9pZAoreG1sU2NoZW1hdHJvblBhcnNlUnVsZSh4bWxTY2hlbWF0cm9uUGFyc2VyQ3R4dFB0ciBjdHh0LAorICAgICAgICAgICAgICAgICAgICAgICB4bWxTY2hlbWF0cm9uUGF0dGVyblB0ciBwYXR0ZXJuLAorCQkgICAgICAgeG1sTm9kZVB0ciBydWxlKQoreworICAgIHhtbE5vZGVQdHIgY3VyOworICAgIGludCBuYkNoZWNrcyA9IDA7CisgICAgeG1sQ2hhciAqdGVzdDsKKyAgICB4bWxDaGFyICpjb250ZXh0OworICAgIHhtbENoYXIgKnJlcG9ydDsKKyAgICB4bWxTY2hlbWF0cm9uUnVsZVB0ciBydWxlcHRyOworICAgIHhtbFNjaGVtYXRyb25UZXN0UHRyIHRlc3RwdHI7CisKKyAgICBpZiAoKGN0eHQgPT0gTlVMTCkgfHwgKHJ1bGUgPT0gTlVMTCkpIHJldHVybjsKKworICAgIGNvbnRleHQgPSB4bWxHZXROb05zUHJvcChydWxlLCBCQURfQ0FTVCAiY29udGV4dCIpOworICAgIGlmIChjb250ZXh0ID09IE5VTEwpIHsKKwl4bWxTY2hlbWF0cm9uUEVycihjdHh0LCBydWxlLAorCSAgICBYTUxfU0NIRU1BUF9OT1JPT1QsCisJICAgICJydWxlIGhhcyBubyBjb250ZXh0IGF0dHJpYnV0ZSIsCisJICAgIE5VTEwsIE5VTEwpOworCXJldHVybjsKKyAgICB9IGVsc2UgaWYgKGNvbnRleHRbMF0gPT0gMCkgeworCXhtbFNjaGVtYXRyb25QRXJyKGN0eHQsIHJ1bGUsCisJICAgIFhNTF9TQ0hFTUFQX05PUk9PVCwKKwkgICAgInJ1bGUgaGFzIGFuIGVtcHR5IGNvbnRleHQgYXR0cmlidXRlIiwKKwkgICAgTlVMTCwgTlVMTCk7CisJeG1sRnJlZShjb250ZXh0KTsKKwlyZXR1cm47CisgICAgfSBlbHNlIHsKKwlydWxlcHRyID0geG1sU2NoZW1hdHJvbkFkZFJ1bGUoY3R4dCwgY3R4dC0+c2NoZW1hLCBwYXR0ZXJuLAorCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBydWxlLCBjb250ZXh0LCBOVUxMKTsKKwlpZiAocnVsZXB0ciA9PSBOVUxMKSB7CisJICAgIHhtbEZyZWUoY29udGV4dCk7CisJICAgIHJldHVybjsKKwl9CisgICAgfQorCisgICAgY3VyID0gcnVsZS0+Y2hpbGRyZW47CisgICAgTkVYVF9TQ0hFTUFUUk9OKGN1cik7CisgICAgd2hpbGUgKGN1ciAhPSBOVUxMKSB7CisJaWYgKElTX1NDSEVNQVRST04oY3VyLCAiYXNzZXJ0IikpIHsKKwkgICAgbmJDaGVja3MrKzsKKwkgICAgdGVzdCA9IHhtbEdldE5vTnNQcm9wKGN1ciwgQkFEX0NBU1QgInRlc3QiKTsKKwkgICAgaWYgKHRlc3QgPT0gTlVMTCkgeworCQl4bWxTY2hlbWF0cm9uUEVycihjdHh0LCBjdXIsCisJCSAgICBYTUxfU0NIRU1BUF9OT1JPT1QsCisJCSAgICAiYXNzZXJ0IGhhcyBubyB0ZXN0IGF0dHJpYnV0ZSIsCisJCSAgICBOVUxMLCBOVUxMKTsKKwkgICAgfSBlbHNlIGlmICh0ZXN0WzBdID09IDApIHsKKwkJeG1sU2NoZW1hdHJvblBFcnIoY3R4dCwgY3VyLAorCQkgICAgWE1MX1NDSEVNQVBfTk9ST09ULAorCQkgICAgImFzc2VydCBoYXMgYW4gZW1wdHkgdGVzdCBhdHRyaWJ1dGUiLAorCQkgICAgTlVMTCwgTlVMTCk7CisJCXhtbEZyZWUodGVzdCk7CisJICAgIH0gZWxzZSB7CisJCS8qIFRPRE8gd2lsbCBuZWVkIGR5bmFtaWMgcHJvY2Vzc2luZyBpbnN0ZWFkICovCisJCXJlcG9ydCA9IHhtbE5vZGVHZXRDb250ZW50KGN1cik7CisKKwkJdGVzdHB0ciA9IHhtbFNjaGVtYXRyb25BZGRUZXN0KGN0eHQsIFhNTF9TQ0hFTUFUUk9OX0FTU0VSVCwKKwkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bGVwdHIsIGN1ciwgdGVzdCwgcmVwb3J0KTsKKwkJaWYgKHRlc3RwdHIgPT0gTlVMTCkKKwkJICAgIHhtbEZyZWUodGVzdCk7CisJICAgIH0KKwl9IGVsc2UgaWYgKElTX1NDSEVNQVRST04oY3VyLCAicmVwb3J0IikpIHsKKwkgICAgbmJDaGVja3MrKzsKKwkgICAgdGVzdCA9IHhtbEdldE5vTnNQcm9wKGN1ciwgQkFEX0NBU1QgInRlc3QiKTsKKwkgICAgaWYgKHRlc3QgPT0gTlVMTCkgeworCQl4bWxTY2hlbWF0cm9uUEVycihjdHh0LCBjdXIsCisJCSAgICBYTUxfU0NIRU1BUF9OT1JPT1QsCisJCSAgICAiYXNzZXJ0IGhhcyBubyB0ZXN0IGF0dHJpYnV0ZSIsCisJCSAgICBOVUxMLCBOVUxMKTsKKwkgICAgfSBlbHNlIGlmICh0ZXN0WzBdID09IDApIHsKKwkJeG1sU2NoZW1hdHJvblBFcnIoY3R4dCwgY3VyLAorCQkgICAgWE1MX1NDSEVNQVBfTk9ST09ULAorCQkgICAgImFzc2VydCBoYXMgYW4gZW1wdHkgdGVzdCBhdHRyaWJ1dGUiLAorCQkgICAgTlVMTCwgTlVMTCk7CisJCXhtbEZyZWUodGVzdCk7CisJICAgIH0gZWxzZSB7CisJCS8qIFRPRE8gd2lsbCBuZWVkIGR5bmFtaWMgcHJvY2Vzc2luZyBpbnN0ZWFkICovCisJCXJlcG9ydCA9IHhtbE5vZGVHZXRDb250ZW50KGN1cik7CisKKwkJdGVzdHB0ciA9IHhtbFNjaGVtYXRyb25BZGRUZXN0KGN0eHQsIFhNTF9TQ0hFTUFUUk9OX1JFUE9SVCwKKwkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bGVwdHIsIGN1ciwgdGVzdCwgcmVwb3J0KTsKKwkJaWYgKHRlc3RwdHIgPT0gTlVMTCkKKwkJICAgIHhtbEZyZWUodGVzdCk7CisJICAgIH0KKwl9IGVsc2UgeworCSAgICB4bWxTY2hlbWF0cm9uUEVycihjdHh0LCBjdXIsCisJCVhNTF9TQ0hFTUFQX05PUk9PVCwKKwkJIkV4cGVjdGluZyBhbiBhc3NlcnQgb3IgYSByZXBvcnQgZWxlbWVudCBpbnN0ZWFkIG9mICVzIiwKKwkJY3VyLT5uYW1lLCBOVUxMKTsKKwl9CisJY3VyID0gY3VyLT5uZXh0OworCU5FWFRfU0NIRU1BVFJPTihjdXIpOworICAgIH0KKyAgICBpZiAobmJDaGVja3MgPT0gMCkgeworCXhtbFNjaGVtYXRyb25QRXJyKGN0eHQsIHJ1bGUsCisJICAgIFhNTF9TQ0hFTUFQX05PUk9PVCwKKwkgICAgInJ1bGUgaGFzIG5vIGFzc2VydCBub3IgcmVwb3J0IGVsZW1lbnQiLCBOVUxMLCBOVUxMKTsKKyAgICB9Cit9CisKKy8qKgorICogeG1sU2NoZW1hdHJvblBhcnNlUGF0dGVybjoKKyAqIEBjdHh0OiAgYSBzY2hlbWEgdmFsaWRhdGlvbiBjb250ZXh0CisgKiBAcGF0OiAgdGhlIHBhdHRlcm4gbm9kZQorICoKKyAqIHBhcnNlIGEgcGF0dGVybiBlbGVtZW50CisgKi8KK3N0YXRpYyB2b2lkCit4bWxTY2hlbWF0cm9uUGFyc2VQYXR0ZXJuKHhtbFNjaGVtYXRyb25QYXJzZXJDdHh0UHRyIGN0eHQsIHhtbE5vZGVQdHIgcGF0KQoreworICAgIHhtbE5vZGVQdHIgY3VyOworICAgIHhtbFNjaGVtYXRyb25QYXR0ZXJuUHRyIHBhdHRlcm47CisgICAgaW50IG5iUnVsZXMgPSAwOworICAgIHhtbENoYXIgKmlkOworCisgICAgaWYgKChjdHh0ID09IE5VTEwpIHx8IChwYXQgPT0gTlVMTCkpIHJldHVybjsKKworICAgIGlkID0geG1sR2V0Tm9Oc1Byb3AocGF0LCBCQURfQ0FTVCAiaWQiKTsKKyAgICBpZiAoaWQgPT0gTlVMTCkgeworCWlkID0geG1sR2V0Tm9Oc1Byb3AocGF0LCBCQURfQ0FTVCAibmFtZSIpOworICAgIH0KKyAgICBwYXR0ZXJuID0geG1sU2NoZW1hdHJvbkFkZFBhdHRlcm4oY3R4dCwgY3R4dC0+c2NoZW1hLCBwYXQsIGlkKTsKKyAgICBpZiAocGF0dGVybiA9PSBOVUxMKSB7CisJaWYgKGlkICE9IE5VTEwpCisJICAgIHhtbEZyZWUoaWQpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGN1ciA9IHBhdC0+Y2hpbGRyZW47CisgICAgTkVYVF9TQ0hFTUFUUk9OKGN1cik7CisgICAgd2hpbGUgKGN1ciAhPSBOVUxMKSB7CisJaWYgKElTX1NDSEVNQVRST04oY3VyLCAicnVsZSIpKSB7CisJICAgIHhtbFNjaGVtYXRyb25QYXJzZVJ1bGUoY3R4dCwgcGF0dGVybiwgY3VyKTsKKwkgICAgbmJSdWxlcysrOworCX0gZWxzZSB7CisJICAgIHhtbFNjaGVtYXRyb25QRXJyKGN0eHQsIGN1ciwKKwkJWE1MX1NDSEVNQVBfTk9ST09ULAorCQkiRXhwZWN0aW5nIGEgcnVsZSBlbGVtZW50IGluc3RlYWQgb2YgJXMiLCBjdXItPm5hbWUsIE5VTEwpOworCX0KKwljdXIgPSBjdXItPm5leHQ7CisJTkVYVF9TQ0hFTUFUUk9OKGN1cik7CisgICAgfQorICAgIGlmIChuYlJ1bGVzID09IDApIHsKKwl4bWxTY2hlbWF0cm9uUEVycihjdHh0LCBwYXQsCisJICAgIFhNTF9TQ0hFTUFQX05PUk9PVCwKKwkgICAgIlBhdHRlcm4gaGFzIG5vIHJ1bGUgZWxlbWVudCIsIE5VTEwsIE5VTEwpOworICAgIH0KK30KKworI2lmIDAKKy8qKgorICogeG1sU2NoZW1hdHJvbkxvYWRJbmNsdWRlOgorICogQGN0eHQ6ICBhIHNjaGVtYSB2YWxpZGF0aW9uIGNvbnRleHQKKyAqIEBjdXI6ICB0aGUgaW5jbHVkZSBlbGVtZW50CisgKgorICogTG9hZCB0aGUgaW5jbHVkZSBkb2N1bWVudCwgUHVzaCB0aGUgY3VycmVudCBwb2ludGVyCisgKgorICogUmV0dXJucyB0aGUgdXBkYXRlZCBub2RlIHBvaW50ZXIKKyAqLworc3RhdGljIHhtbE5vZGVQdHIKK3htbFNjaGVtYXRyb25Mb2FkSW5jbHVkZSh4bWxTY2hlbWF0cm9uUGFyc2VyQ3R4dFB0ciBjdHh0LCB4bWxOb2RlUHRyIGN1cikKK3sKKyAgICB4bWxOb2RlUHRyIHJldCA9IE5VTEw7CisgICAgeG1sRG9jUHRyIGRvYyA9IE5VTEw7CisgICAgeG1sQ2hhciAqaHJlZiA9IE5VTEw7CisgICAgeG1sQ2hhciAqYmFzZSA9IE5VTEw7CisgICAgeG1sQ2hhciAqVVJJID0gTlVMTDsKKworICAgIGlmICgoY3R4dCA9PSBOVUxMKSB8fCAoY3VyID09IE5VTEwpKQorICAgICAgICByZXR1cm4oTlVMTCk7CisKKyAgICBocmVmID0geG1sR2V0Tm9Oc1Byb3AoY3VyLCBCQURfQ0FTVCAiaHJlZiIpOworICAgIGlmIChocmVmID09IE5VTEwpIHsKKwl4bWxTY2hlbWF0cm9uUEVycihjdHh0LCBjdXIsCisJICAgIFhNTF9TQ0hFTUFQX05PUk9PVCwKKwkgICAgIkluY2x1ZGUgaGFzIG5vIGhyZWYgYXR0cmlidXRlIiwgTlVMTCwgTlVMTCk7CisJcmV0dXJuKGN1ci0+bmV4dCk7CisgICAgfQorCisgICAgLyogZG8gdGhlIFVSSSBiYXNlIGNvbXBvc2l0aW9uLCBsb2FkIGFuZCBmaW5kIHRoZSByb290ICovCisgICAgYmFzZSA9IHhtbE5vZGVHZXRCYXNlKGN1ci0+ZG9jLCBjdXIpOworICAgIFVSSSA9IHhtbEJ1aWxkVVJJKGhyZWYsIGJhc2UpOworICAgIGRvYyA9IHhtbFJlYWRGaWxlKChjb25zdCBjaGFyICopIFVSSSwgTlVMTCwgU0NIRU1BVFJPTl9QQVJTRV9PUFRJT05TKTsKKyAgICBpZiAoZG9jID09IE5VTEwpIHsKKwl4bWxTY2hlbWF0cm9uUEVycihjdHh0LCBjdXIsCisJCSAgICAgIFhNTF9TQ0hFTUFQX0ZBSUxFRF9MT0FELAorCQkgICAgICAiY291bGQgbm90IGxvYWQgaW5jbHVkZSAnJXMnLlxuIiwKKwkJICAgICAgVVJJLCBOVUxMKTsKKwlnb3RvIGRvbmU7CisgICAgfQorICAgIHJldCA9IHhtbERvY0dldFJvb3RFbGVtZW50KGRvYyk7CisgICAgaWYgKHJldCA9PSBOVUxMKSB7CisJeG1sU2NoZW1hdHJvblBFcnIoY3R4dCwgY3VyLAorCQkgICAgICBYTUxfU0NIRU1BUF9GQUlMRURfTE9BRCwKKwkJICAgICAgImNvdWxkIG5vdCBmaW5kIHJvb3QgZnJvbSBpbmNsdWRlICclcycuXG4iLAorCQkgICAgICBVUkksIE5VTEwpOworCWdvdG8gZG9uZTsKKyAgICB9CisKKyAgICAvKiBTdWNjZXNzLCBwdXNoIHRoZSBpbmNsdWRlIGZvciByb2xsYmFjayBvbiBleGl0ICovCisgICAgeG1sU2NoZW1hdHJvblB1c2hJbmNsdWRlKGN0eHQsIGRvYywgY3VyKTsKKworZG9uZToKKyAgICBpZiAocmV0ID09IE5VTEwpIHsKKyAgICAgICAgaWYgKGRvYyAhPSBOVUxMKQorCSAgICB4bWxGcmVlRG9jKGRvYyk7CisgICAgfQorICAgIHhtbEZyZWUoaHJlZik7CisgICAgaWYgKGJhc2UgIT0gTlVMTCkKKyAgICAgICAgeG1sRnJlZShiYXNlKTsKKyAgICBpZiAoVVJJICE9IE5VTEwpCisgICAgICAgIHhtbEZyZWUoVVJJKTsKKyAgICByZXR1cm4ocmV0KTsKK30KKyNlbmRpZgorCisvKioKKyAqIHhtbFNjaGVtYXRyb25QYXJzZToKKyAqIEBjdHh0OiAgYSBzY2hlbWEgdmFsaWRhdGlvbiBjb250ZXh0CisgKgorICogcGFyc2UgYSBzY2hlbWEgZGVmaW5pdGlvbiByZXNvdXJjZSBhbmQgYnVpbGQgYW4gaW50ZXJuYWwKKyAqIFhNTCBTaGVtYSBzdHJ1dHVyZSB3aGljaCBjYW4gYmUgdXNlZCB0byB2YWxpZGF0ZSBpbnN0YW5jZXMuCisgKgorICogUmV0dXJucyB0aGUgaW50ZXJuYWwgWE1MIFNjaGVtYXRyb24gc3RydWN0dXJlIGJ1aWx0IGZyb20gdGhlIHJlc291cmNlIG9yCisgKiAgICAgICAgIE5VTEwgaW4gY2FzZSBvZiBlcnJvcgorICovCit4bWxTY2hlbWF0cm9uUHRyCit4bWxTY2hlbWF0cm9uUGFyc2UoeG1sU2NoZW1hdHJvblBhcnNlckN0eHRQdHIgY3R4dCkKK3sKKyAgICB4bWxTY2hlbWF0cm9uUHRyIHJldCA9IE5VTEw7CisgICAgeG1sRG9jUHRyIGRvYzsKKyAgICB4bWxOb2RlUHRyIHJvb3QsIGN1cjsKKyAgICBpbnQgcHJlc2VydmUgPSAwOworCisgICAgaWYgKGN0eHQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKworICAgIGN0eHQtPm5iZXJyb3JzID0gMDsKKworICAgIC8qCisgICAgICogRmlyc3Qgc3RlcCBpcyB0byBwYXJzZSB0aGUgaW5wdXQgZG9jdW1lbnQgaW50byBhbiBET00vSW5mb3NldAorICAgICAqLworICAgIGlmIChjdHh0LT5VUkwgIT0gTlVMTCkgeworICAgICAgICBkb2MgPSB4bWxSZWFkRmlsZSgoY29uc3QgY2hhciAqKSBjdHh0LT5VUkwsIE5VTEwsCisJICAgICAgICAgICAgICAgICAgU0NIRU1BVFJPTl9QQVJTRV9PUFRJT05TKTsKKyAgICAgICAgaWYgKGRvYyA9PSBOVUxMKSB7CisJICAgIHhtbFNjaGVtYXRyb25QRXJyKGN0eHQsIE5VTEwsCisJCQkgIFhNTF9TQ0hFTUFQX0ZBSUxFRF9MT0FELAorICAgICAgICAgICAgICAgICAgICAgICAgICAieG1sU2NoZW1hdHJvblBhcnNlOiBjb3VsZCBub3QgbG9hZCAnJXMnLlxuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY3R4dC0+VVJMLCBOVUxMKTsKKyAgICAgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgICAgIH0KKwljdHh0LT5wcmVzZXJ2ZSA9IDA7CisgICAgfSBlbHNlIGlmIChjdHh0LT5idWZmZXIgIT0gTlVMTCkgeworICAgICAgICBkb2MgPSB4bWxSZWFkTWVtb3J5KGN0eHQtPmJ1ZmZlciwgY3R4dC0+c2l6ZSwgTlVMTCwgTlVMTCwKKwkgICAgICAgICAgICAgICAgICAgIFNDSEVNQVRST05fUEFSU0VfT1BUSU9OUyk7CisgICAgICAgIGlmIChkb2MgPT0gTlVMTCkgeworCSAgICB4bWxTY2hlbWF0cm9uUEVycihjdHh0LCBOVUxMLAorCQkJICBYTUxfU0NIRU1BUF9GQUlMRURfUEFSU0UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICJ4bWxTY2hlbWF0cm9uUGFyc2U6IGNvdWxkIG5vdCBwYXJzZS5cbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIE5VTEwpOworICAgICAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICAgICAgfQorICAgICAgICBkb2MtPlVSTCA9IHhtbFN0cmR1cChCQURfQ0FTVCAiaW5fbWVtb3J5X2J1ZmZlciIpOworICAgICAgICBjdHh0LT5VUkwgPSB4bWxEaWN0TG9va3VwKGN0eHQtPmRpY3QsIEJBRF9DQVNUICJpbl9tZW1vcnlfYnVmZmVyIiwgLTEpOworCWN0eHQtPnByZXNlcnZlID0gMDsKKyAgICB9IGVsc2UgaWYgKGN0eHQtPmRvYyAhPSBOVUxMKSB7CisgICAgICAgIGRvYyA9IGN0eHQtPmRvYzsKKwlwcmVzZXJ2ZSA9IDE7CisJY3R4dC0+cHJlc2VydmUgPSAxOworICAgIH0gZWxzZSB7CisJeG1sU2NoZW1hdHJvblBFcnIoY3R4dCwgTlVMTCwKKwkJICAgICAgWE1MX1NDSEVNQVBfTk9USElOR19UT19QQVJTRSwKKwkJICAgICAgInhtbFNjaGVtYXRyb25QYXJzZTogY291bGQgbm90IHBhcnNlLlxuIiwKKwkJICAgICAgTlVMTCwgTlVMTCk7CisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgfQorCisgICAgLyoKKyAgICAgKiBUaGVuIGV4dHJhY3QgdGhlIHJvb3QgYW5kIFNjaGVtYXRyb24gcGFyc2UgaXQKKyAgICAgKi8KKyAgICByb290ID0geG1sRG9jR2V0Um9vdEVsZW1lbnQoZG9jKTsKKyAgICBpZiAocm9vdCA9PSBOVUxMKSB7CisJeG1sU2NoZW1hdHJvblBFcnIoY3R4dCwgKHhtbE5vZGVQdHIpIGRvYywKKwkJICAgICAgWE1MX1NDSEVNQVBfTk9ST09ULAorCQkgICAgICAiVGhlIHNjaGVtYSBoYXMgbm8gZG9jdW1lbnQgZWxlbWVudC5cbiIsIE5VTEwsIE5VTEwpOworCWlmICghcHJlc2VydmUpIHsKKwkgICAgeG1sRnJlZURvYyhkb2MpOworCX0KKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICB9CisKKyAgICBpZiAoIUlTX1NDSEVNQVRST04ocm9vdCwgInNjaGVtYSIpKSB7CisJeG1sU2NoZW1hdHJvblBFcnIoY3R4dCwgcm9vdCwKKwkgICAgWE1MX1NDSEVNQVBfTk9ST09ULAorCSAgICAiVGhlIFhNTCBkb2N1bWVudCAnJXMnIGlzIG5vdCBhIFhNTCBzY2hlbWF0cm9uIGRvY3VtZW50IiwKKwkgICAgY3R4dC0+VVJMLCBOVUxMKTsKKwlnb3RvIGV4aXQ7CisgICAgfQorICAgIHJldCA9IHhtbFNjaGVtYXRyb25OZXdTY2hlbWF0cm9uKGN0eHQpOworICAgIGlmIChyZXQgPT0gTlVMTCkKKyAgICAgICAgZ290byBleGl0OworICAgIGN0eHQtPnNjaGVtYSA9IHJldDsKKworICAgIC8qCisgICAgICogc2NhbiB0aGUgc2NoZW1hIGVsZW1lbnRzCisgICAgICovCisgICAgY3VyID0gcm9vdC0+Y2hpbGRyZW47CisgICAgTkVYVF9TQ0hFTUFUUk9OKGN1cik7CisgICAgaWYgKElTX1NDSEVNQVRST04oY3VyLCAidGl0bGUiKSkgeworICAgICAgICB4bWxDaGFyICp0aXRsZSA9IHhtbE5vZGVHZXRDb250ZW50KGN1cik7CisJaWYgKHRpdGxlICE9IE5VTEwpIHsKKwkgICAgcmV0LT50aXRsZSA9IHhtbERpY3RMb29rdXAocmV0LT5kaWN0LCB0aXRsZSwgLTEpOworCSAgICB4bWxGcmVlKHRpdGxlKTsKKwl9CisJY3VyID0gY3VyLT5uZXh0OworCU5FWFRfU0NIRU1BVFJPTihjdXIpOworICAgIH0KKyAgICB3aGlsZSAoSVNfU0NIRU1BVFJPTihjdXIsICJucyIpKSB7CisgICAgICAgIHhtbENoYXIgKnByZWZpeCA9IHhtbEdldE5vTnNQcm9wKGN1ciwgQkFEX0NBU1QgInByZWZpeCIpOworICAgICAgICB4bWxDaGFyICp1cmkgPSB4bWxHZXROb05zUHJvcChjdXIsIEJBRF9DQVNUICJ1cmkiKTsKKwlpZiAoKHVyaSA9PSBOVUxMKSB8fCAodXJpWzBdID09IDApKSB7CisJICAgIHhtbFNjaGVtYXRyb25QRXJyKGN0eHQsIGN1ciwKKwkJWE1MX1NDSEVNQVBfTk9ST09ULAorCQkibnMgZWxlbWVudCBoYXMgbm8gdXJpIiwgTlVMTCwgTlVMTCk7CisJfQorCWlmICgocHJlZml4ID09IE5VTEwpIHx8IChwcmVmaXhbMF0gPT0gMCkpIHsKKwkgICAgeG1sU2NoZW1hdHJvblBFcnIoY3R4dCwgY3VyLAorCQlYTUxfU0NIRU1BUF9OT1JPT1QsCisJCSJucyBlbGVtZW50IGhhcyBubyBwcmVmaXgiLCBOVUxMLCBOVUxMKTsKKwl9CisJaWYgKChwcmVmaXgpICYmICh1cmkpKSB7CisJICAgIHhtbFhQYXRoUmVnaXN0ZXJOcyhjdHh0LT54Y3R4dCwgcHJlZml4LCB1cmkpOworCSAgICB4bWxTY2hlbWF0cm9uQWRkTmFtZXNwYWNlKGN0eHQsIHByZWZpeCwgdXJpKTsKKwkgICAgcmV0LT5uYk5zKys7CisJfQorCWlmICh1cmkpCisJICAgIHhtbEZyZWUodXJpKTsKKwlpZiAocHJlZml4KQorCSAgICB4bWxGcmVlKHByZWZpeCk7CisJY3VyID0gY3VyLT5uZXh0OworCU5FWFRfU0NIRU1BVFJPTihjdXIpOworICAgIH0KKyAgICB3aGlsZSAoY3VyICE9IE5VTEwpIHsKKwlpZiAoSVNfU0NIRU1BVFJPTihjdXIsICJwYXR0ZXJuIikpIHsKKwkgICAgeG1sU2NoZW1hdHJvblBhcnNlUGF0dGVybihjdHh0LCBjdXIpOworCSAgICByZXQtPm5iUGF0dGVybisrOworCX0gZWxzZSB7CisJICAgIHhtbFNjaGVtYXRyb25QRXJyKGN0eHQsIGN1ciwKKwkJWE1MX1NDSEVNQVBfTk9ST09ULAorCQkiRXhwZWN0aW5nIGEgcGF0dGVybiBlbGVtZW50IGluc3RlYWQgb2YgJXMiLCBjdXItPm5hbWUsIE5VTEwpOworCX0KKwljdXIgPSBjdXItPm5leHQ7CisJTkVYVF9TQ0hFTUFUUk9OKGN1cik7CisgICAgfQorICAgIGlmIChyZXQtPm5iUGF0dGVybiA9PSAwKSB7CisJeG1sU2NoZW1hdHJvblBFcnIoY3R4dCwgcm9vdCwKKwkgICAgWE1MX1NDSEVNQVBfTk9ST09ULAorCSAgICAiVGhlIHNjaGVtYXRyb24gZG9jdW1lbnQgJyVzJyBoYXMgbm8gcGF0dGVybiIsCisJICAgIGN0eHQtPlVSTCwgTlVMTCk7CisJZ290byBleGl0OworICAgIH0KKyAgICAvKiB0aGUgb3JpZ2luYWwgZG9jdW1lbnQgbXVzdCBiZSBrZXB0IGZvciByZXBvcnRpbmcgKi8KKyAgICByZXQtPmRvYyA9IGRvYzsKKyAgICBpZiAocHJlc2VydmUpIHsKKwkgICAgcmV0LT5wcmVzZXJ2ZSA9IDE7CisgICAgfQorICAgIHByZXNlcnZlID0gMTsKKworZXhpdDoKKyAgICBpZiAoIXByZXNlcnZlKSB7CisJeG1sRnJlZURvYyhkb2MpOworICAgIH0KKyAgICBpZiAocmV0ICE9IE5VTEwpIHsKKwlpZiAoY3R4dC0+bmJlcnJvcnMgIT0gMCkgeworCSAgICB4bWxTY2hlbWF0cm9uRnJlZShyZXQpOworCSAgICByZXQgPSBOVUxMOworCX0gZWxzZSB7CisJICAgIHJldC0+bmFtZXNwYWNlcyA9IGN0eHQtPm5hbWVzcGFjZXM7CisJICAgIHJldC0+bmJOYW1lc3BhY2VzID0gY3R4dC0+bmJOYW1lc3BhY2VzOworCSAgICBjdHh0LT5uYW1lc3BhY2VzID0gTlVMTDsKKwl9CisgICAgfQorICAgIHJldHVybiAocmV0KTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJU2NoZW1hdHJvbnRyb24gUmVwb3J0cyBoYW5kbGVyCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworc3RhdGljIHhtbE5vZGVQdHIKK3htbFNjaGVtYXRyb25HZXROb2RlKHhtbFNjaGVtYXRyb25WYWxpZEN0eHRQdHIgY3R4dCwKKyAgICAgICAgICAgICAgICAgICAgIHhtbE5vZGVQdHIgY3VyLCBjb25zdCB4bWxDaGFyICp4cGF0aCkgeworICAgIHhtbE5vZGVQdHIgbm9kZSA9IE5VTEw7CisgICAgeG1sWFBhdGhPYmplY3RQdHIgcmV0OworCisgICAgaWYgKChjdHh0ID09IE5VTEwpIHx8IChjdXIgPT0gTlVMTCkgfHwgKHhwYXRoID09IE5VTEwpKQorICAgICAgICByZXR1cm4oTlVMTCk7CisKKyAgICBjdHh0LT54Y3R4dC0+ZG9jID0gY3VyLT5kb2M7CisgICAgY3R4dC0+eGN0eHQtPm5vZGUgPSBjdXI7CisgICAgcmV0ID0geG1sWFBhdGhFdmFsKHhwYXRoLCBjdHh0LT54Y3R4dCk7CisgICAgaWYgKHJldCA9PSBOVUxMKQorICAgICAgICByZXR1cm4oTlVMTCk7CisKKyAgICBpZiAoKHJldC0+dHlwZSA9PSBYUEFUSF9OT0RFU0VUKSAmJgorICAgICAgICAocmV0LT5ub2Rlc2V0dmFsICE9IE5VTEwpICYmIChyZXQtPm5vZGVzZXR2YWwtPm5vZGVOciA+IDApKQorCW5vZGUgPSByZXQtPm5vZGVzZXR2YWwtPm5vZGVUYWJbMF07CisKKyAgICB4bWxYUGF0aEZyZWVPYmplY3QocmV0KTsKKyAgICByZXR1cm4obm9kZSk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hdHJvblJlcG9ydE91dHB1dDoKKyAqIEBjdHh0OiB0aGUgdmFsaWRhdGlvbiBjb250ZXh0CisgKiBAY3VyOiB0aGUgY3VycmVudCBub2RlIHRlc3RlZAorICogQG1zZzogdGhlIG1lc3NhZ2Ugb3V0cHV0CisgKgorICogT3V0cHV0IHBhcnQgb2YgdGhlIHJlcG9ydCB0byB3aGF0ZXZlciBjaGFubmVsIHRoZSB1c2VyIHNlbGVjdGVkCisgKi8KK3N0YXRpYyB2b2lkCit4bWxTY2hlbWF0cm9uUmVwb3J0T3V0cHV0KHhtbFNjaGVtYXRyb25WYWxpZEN0eHRQdHIgY3R4dCBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxOb2RlUHRyIGN1ciBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICptc2cpIHsKKyAgICAvKiBUT0RPICovCisgICAgZnByaW50ZihzdGRlcnIsICIlcyIsIG1zZyk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hdHJvbkZvcm1hdFJlcG9ydDoKKyAqIEBjdHh0OiAgdGhlIHZhbGlkYXRpb24gY29udGV4dAorICogQHRlc3Q6IHRoZSB0ZXN0IG5vZGUKKyAqIEBjdXI6IHRoZSBjdXJyZW50IG5vZGUgdGVzdGVkCisgKgorICogQnVpbGQgdGhlIHN0cmluZyBiZWluZyByZXBvcnRlZCB0byB0aGUgdXNlci4KKyAqCisgKiBSZXR1cm5zIGEgcmVwb3J0IHN0cmluZyBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuIFRoZSBzdHJpbmcgbmVlZHMKKyAqICAgICAgICAgdG8gYmUgZGVhbGxvY2F0ZWQgYnkgdGVoIGNhbGxlcgorICovCitzdGF0aWMgeG1sQ2hhciAqCit4bWxTY2hlbWF0cm9uRm9ybWF0UmVwb3J0KHhtbFNjaGVtYXRyb25WYWxpZEN0eHRQdHIgY3R4dCwKKwkJCSAgeG1sTm9kZVB0ciB0ZXN0LCB4bWxOb2RlUHRyIGN1cikgeworICAgIHhtbENoYXIgKnJldCA9IE5VTEw7CisgICAgeG1sTm9kZVB0ciBjaGlsZCwgbm9kZTsKKworICAgIGlmICgodGVzdCA9PSBOVUxMKSB8fCAoY3VyID09IE5VTEwpKQorICAgICAgICByZXR1cm4ocmV0KTsKKworICAgIGNoaWxkID0gdGVzdC0+Y2hpbGRyZW47CisgICAgd2hpbGUgKGNoaWxkICE9IE5VTEwpIHsKKyAgICAgICAgaWYgKChjaGlsZC0+dHlwZSA9PSBYTUxfVEVYVF9OT0RFKSB8fAorCSAgICAoY2hpbGQtPnR5cGUgPT0gWE1MX0NEQVRBX1NFQ1RJT05fTk9ERSkpCisJICAgIHJldCA9IHhtbFN0cmNhdChyZXQsIGNoaWxkLT5jb250ZW50KTsKKwllbHNlIGlmIChJU19TQ0hFTUFUUk9OKGNoaWxkLCAibmFtZSIpKSB7CisJICAgIHhtbENoYXIgKnBhdGg7CisKKwkgICAgcGF0aCA9IHhtbEdldE5vTnNQcm9wKGNoaWxkLCBCQURfQ0FTVCAicGF0aCIpOworCisgICAgICAgICAgICBub2RlID0gY3VyOworCSAgICBpZiAocGF0aCAhPSBOVUxMKSB7CisJICAgICAgICBub2RlID0geG1sU2NoZW1hdHJvbkdldE5vZGUoY3R4dCwgY3VyLCBwYXRoKTsKKwkJaWYgKG5vZGUgPT0gTlVMTCkKKwkJICAgIG5vZGUgPSBjdXI7CisJCXhtbEZyZWUocGF0aCk7CisJICAgIH0KKworCSAgICBpZiAoKG5vZGUtPm5zID09IE5VTEwpIHx8IChub2RlLT5ucy0+cHJlZml4ID09IE5VTEwpKQorCSAgICAgICAgcmV0ID0geG1sU3RyY2F0KHJldCwgbm9kZS0+bmFtZSk7CisJICAgIGVsc2UgeworCSAgICAgICAgcmV0ID0geG1sU3RyY2F0KHJldCwgbm9kZS0+bnMtPnByZWZpeCk7CisJICAgICAgICByZXQgPSB4bWxTdHJjYXQocmV0LCBCQURfQ0FTVCAiOiIpOworCSAgICAgICAgcmV0ID0geG1sU3RyY2F0KHJldCwgbm9kZS0+bmFtZSk7CisJICAgIH0KKwl9IGVsc2UgeworCSAgICBjaGlsZCA9IGNoaWxkLT5uZXh0OworCSAgICBjb250aW51ZTsKKwl9CisKKwkvKgorCSAqIHJlbW92ZSBzdXBlcmZsdW91cyBcbgorCSAqLworCWlmIChyZXQgIT0gTlVMTCkgeworCSAgICBpbnQgbGVuID0geG1sU3RybGVuKHJldCk7CisJICAgIHhtbENoYXIgYzsKKworCSAgICBpZiAobGVuID4gMCkgeworCQljID0gcmV0W2xlbiAtIDFdOworCQlpZiAoKGMgPT0gJyAnKSB8fCAoYyA9PSAnXG4nKSB8fCAoYyA9PSAnXHInKSB8fCAoYyA9PSAnXHQnKSkgeworCQkgICAgd2hpbGUgKChjID09ICcgJykgfHwgKGMgPT0gJ1xuJykgfHwKKwkJICAgICAgICAgICAoYyA9PSAnXHInKSB8fCAoYyA9PSAnXHQnKSkgeworCQkJbGVuLS07CisJCQlpZiAobGVuID09IDApCisJCQkgICAgYnJlYWs7CisJCQljID0gcmV0W2xlbiAtIDFdOworCQkgICAgfQorCQkgICAgcmV0W2xlbl0gPSAnICc7CisJCSAgICByZXRbbGVuICsgMV0gPSAwOworCQl9CisJICAgIH0KKwl9CisKKyAgICAgICAgY2hpbGQgPSBjaGlsZC0+bmV4dDsKKyAgICB9CisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hdHJvblJlcG9ydFN1Y2Nlc3M6CisgKiBAY3R4dDogIHRoZSB2YWxpZGF0aW9uIGNvbnRleHQKKyAqIEB0ZXN0OiB0aGUgY29tcGlsZWQgdGVzdAorICogQGN1cjogdGhlIGN1cnJlbnQgbm9kZSB0ZXN0ZWQKKyAqIEBzdWNjZXNzOiBib29sZWFuIHZhbHVlIGZvciB0aGUgcmVzdWx0CisgKgorICogY2FsbGVkIGZyb20gdGhlIHZhbGlkYXRpb24gZW5naW5lIHdoZW4gYW4gYXNzZXJ0IG9yIHJlcG9ydCB0ZXN0IGhhdmUKKyAqIGJlZW4gZG9uZS4KKyAqLworc3RhdGljIHZvaWQKK3htbFNjaGVtYXRyb25SZXBvcnRTdWNjZXNzKHhtbFNjaGVtYXRyb25WYWxpZEN0eHRQdHIgY3R4dCwKKwkJICAgeG1sU2NoZW1hdHJvblRlc3RQdHIgdGVzdCwgeG1sTm9kZVB0ciBjdXIsIHhtbFNjaGVtYXRyb25QYXR0ZXJuUHRyIHBhdHRlcm4sIGludCBzdWNjZXNzKSB7CisgICAgaWYgKChjdHh0ID09IE5VTEwpIHx8IChjdXIgPT0gTlVMTCkgfHwgKHRlc3QgPT0gTlVMTCkpCisgICAgICAgIHJldHVybjsKKyAgICAvKiBpZiBxdWlldCBhbmQgbm90IFNWUkwgcmVwb3J0IG9ubHkgZmFpbHVyZXMgKi8KKyAgICBpZiAoKGN0eHQtPmZsYWdzICYgWE1MX1NDSEVNQVRST05fT1VUX1FVSUVUKSAmJgorICAgICAgICAoKGN0eHQtPmZsYWdzICYgWE1MX1NDSEVNQVRST05fT1VUX1hNTCkgPT0gMCkgJiYKKwkodGVzdC0+dHlwZSA9PSBYTUxfU0NIRU1BVFJPTl9SRVBPUlQpKQorICAgICAgICByZXR1cm47CisgICAgaWYgKGN0eHQtPmZsYWdzICYgWE1MX1NDSEVNQVRST05fT1VUX1hNTCkgeworICAgICAgICBUT0RPCisgICAgfSBlbHNlIHsKKyAgICAgICAgeG1sQ2hhciAqcGF0aDsKKwljaGFyIG1zZ1sxMDAwXTsKKwlsb25nIGxpbmU7CisJY29uc3QgeG1sQ2hhciAqcmVwb3J0ID0gTlVMTDsKKworICAgICAgICBpZiAoKCh0ZXN0LT50eXBlID09IFhNTF9TQ0hFTUFUUk9OX1JFUE9SVCkgJiAoIXN1Y2Nlc3MpKSB8fAorCSAgICAoKHRlc3QtPnR5cGUgPT0gWE1MX1NDSEVNQVRST05fQVNTRVJUKSAmIChzdWNjZXNzKSkpCisJICAgIHJldHVybjsKKwlsaW5lID0geG1sR2V0TGluZU5vKGN1cik7CisJcGF0aCA9IHhtbEdldE5vZGVQYXRoKGN1cik7CisJaWYgKHBhdGggPT0gTlVMTCkKKwkgICAgcGF0aCA9ICh4bWxDaGFyICopIGN1ci0+bmFtZTsKKyNpZiAwCisJaWYgKCh0ZXN0LT5yZXBvcnQgIT0gTlVMTCkgJiYgKHRlc3QtPnJlcG9ydFswXSAhPSAwKSkKKwkgICAgcmVwb3J0ID0gdGVzdC0+cmVwb3J0OworI2VuZGlmCisJaWYgKHRlc3QtPm5vZGUgIT0gTlVMTCkKKyAgICAgICAgICAgIHJlcG9ydCA9IHhtbFNjaGVtYXRyb25Gb3JtYXRSZXBvcnQoY3R4dCwgdGVzdC0+bm9kZSwgY3VyKTsKKwlpZiAocmVwb3J0ID09IE5VTEwpIHsKKwkgICAgaWYgKHRlc3QtPnR5cGUgPT0gWE1MX1NDSEVNQVRST05fQVNTRVJUKSB7CisgICAgICAgICAgICByZXBvcnQgPSB4bWxTdHJkdXAoKGNvbnN0IHhtbENoYXIgKikgIm5vZGUgZmFpbGVkIGFzc2VydCIpOworCSAgICB9IGVsc2UgeworICAgICAgICAgICAgcmVwb3J0ID0geG1sU3RyZHVwKChjb25zdCB4bWxDaGFyICopICJub2RlIGZhaWxlZCByZXBvcnQiKTsKKwkgICAgfQorCSAgICB9CisJICAgIHNucHJpbnRmKG1zZywgOTk5LCAiJXMgbGluZSAlbGQ6ICVzXG4iLCAoY29uc3QgY2hhciAqKSBwYXRoLAorCQkgICAgIGxpbmUsIChjb25zdCBjaGFyICopIHJlcG9ydCk7CisKKyAgICBpZiAoY3R4dC0+ZmxhZ3MgJiBYTUxfU0NIRU1BVFJPTl9PVVRfRVJST1IpIHsKKyAgICAgICAgeG1sU3RydWN0dXJlZEVycm9yRnVuYyBzY2hhbm5lbCA9IE5VTEw7CisgICAgICAgIHhtbEdlbmVyaWNFcnJvckZ1bmMgY2hhbm5lbCA9IE5VTEw7CisgICAgICAgIHZvaWQgKmRhdGEgPSBOVUxMOworCisgICAgICAgIGlmIChjdHh0ICE9IE5VTEwpIHsKKyAgICAgICAgICAgIGlmIChjdHh0LT5zZXJyb3IgIT0gTlVMTCkKKyAgICAgICAgICAgICAgICBzY2hhbm5lbCA9IGN0eHQtPnNlcnJvcjsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBjaGFubmVsID0gY3R4dC0+ZXJyb3I7CisgICAgICAgICAgICBkYXRhID0gY3R4dC0+dXNlckRhdGE7CisJfQorCisgICAgICAgIF9feG1sUmFpc2VFcnJvcihzY2hhbm5lbCwgY2hhbm5lbCwgZGF0YSwKKyAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIGN1ciwgWE1MX0ZST01fU0NIRU1BVFJPTlYsCisgICAgICAgICAgICAgICAgICAgICAgICAodGVzdC0+dHlwZSA9PSBYTUxfU0NIRU1BVFJPTl9BU1NFUlQpP1hNTF9TQ0hFTUFUUk9OVl9BU1NFUlQ6WE1MX1NDSEVNQVRST05WX1JFUE9SVCwKKyAgICAgICAgICAgICAgICAgICAgICAgIFhNTF9FUlJfRVJST1IsIE5VTEwsIGxpbmUsCisgICAgICAgICAgICAgICAgICAgICAgICAocGF0dGVybiA9PSBOVUxMKT9OVUxMOigoY29uc3QgY2hhciAqKSBwYXR0ZXJuLT5uYW1lKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIChjb25zdCBjaGFyICopIHBhdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAoY29uc3QgY2hhciAqKSByZXBvcnQsIDAsIDAsCisgICAgICAgICAgICAgICAgICAgICAgICAiJXMiLCBtc2cpOworICAgIH0gZWxzZSB7CisJeG1sU2NoZW1hdHJvblJlcG9ydE91dHB1dChjdHh0LCBjdXIsICZtc2dbMF0pOworICAgIH0KKworICAgIHhtbEZyZWUoKGNoYXIgKikgcmVwb3J0KTsKKworCWlmICgocGF0aCAhPSBOVUxMKSAmJiAocGF0aCAhPSAoeG1sQ2hhciAqKSBjdXItPm5hbWUpKQorCSAgICB4bWxGcmVlKHBhdGgpOworICAgIH0KK30KKworLyoqCisgKiB4bWxTY2hlbWF0cm9uUmVwb3J0UGF0dGVybjoKKyAqIEBjdHh0OiAgdGhlIHZhbGlkYXRpb24gY29udGV4dAorICogQHBhdHRlcm46IHRoZSBjdXJyZW50IHBhdHRlcm4KKyAqCisgKiBjYWxsZWQgZnJvbSB0aGUgdmFsaWRhdGlvbiBlbmdpbmUgd2hlbiBzdGFydGluZyB0byBjaGVjayBhIHBhdHRlcm4KKyAqLworc3RhdGljIHZvaWQKK3htbFNjaGVtYXRyb25SZXBvcnRQYXR0ZXJuKHhtbFNjaGVtYXRyb25WYWxpZEN0eHRQdHIgY3R4dCwKKwkJCSAgIHhtbFNjaGVtYXRyb25QYXR0ZXJuUHRyIHBhdHRlcm4pIHsKKyAgICBpZiAoKGN0eHQgPT0gTlVMTCkgfHwgKHBhdHRlcm4gPT0gTlVMTCkpCisgICAgICAgIHJldHVybjsKKyAgICBpZiAoKGN0eHQtPmZsYWdzICYgWE1MX1NDSEVNQVRST05fT1VUX1FVSUVUKSB8fCAoY3R4dC0+ZmxhZ3MgJiBYTUxfU0NIRU1BVFJPTl9PVVRfRVJST1IpKSAvKiBFcnJvciBnaXZlcyBwYXR0ZXJuIG5hbWUgYXMgcGFydCBvZiBlcnJvciAqLworICAgICAgICByZXR1cm47CisgICAgaWYgKGN0eHQtPmZsYWdzICYgWE1MX1NDSEVNQVRST05fT1VUX1hNTCkgeworICAgICAgICBUT0RPCisgICAgfSBlbHNlIHsKKwljaGFyIG1zZ1sxMDAwXTsKKworCWlmIChwYXR0ZXJuLT5uYW1lID09IE5VTEwpCisJICAgIHJldHVybjsKKwlzbnByaW50Zihtc2csIDk5OSwgIlBhdHRlcm46ICVzXG4iLCAoY29uc3QgY2hhciAqKSBwYXR0ZXJuLT5uYW1lKTsKKwl4bWxTY2hlbWF0cm9uUmVwb3J0T3V0cHV0KGN0eHQsIE5VTEwsICZtc2dbMF0pOworICAgIH0KK30KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQlWYWxpZGF0aW9uIGFnYWluc3QgYSBTY2hlbWF0cm9udHJvbgkJCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKgorICogeG1sU2NoZW1hdHJvblNldFZhbGlkU3RydWN0dXJlZEVycm9yczoKKyAqIEBjdHh0OiAgYSBTY2hlbWF0cm9uIHZhbGlkYXRpb24gY29udGV4dAorICogQHNlcnJvcjogIHRoZSBzdHJ1Y3R1cmVkIGVycm9yIGZ1bmN0aW9uCisgKiBAY3R4OiB0aGUgZnVuY3Rpb25zIGNvbnRleHQKKyAqCisgKiBTZXQgdGhlIHN0cnVjdHVyZWQgZXJyb3IgY2FsbGJhY2sKKyAqLwordm9pZAoreG1sU2NoZW1hdHJvblNldFZhbGlkU3RydWN0dXJlZEVycm9ycyh4bWxTY2hlbWF0cm9uVmFsaWRDdHh0UHRyIGN0eHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFN0cnVjdHVyZWRFcnJvckZ1bmMgc2Vycm9yLCB2b2lkICpjdHgpCit7CisgICAgaWYgKGN0eHQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuOworICAgIGN0eHQtPnNlcnJvciA9IHNlcnJvcjsKKyAgICBjdHh0LT5lcnJvciA9IE5VTEw7CisgICAgY3R4dC0+d2FybmluZyA9IE5VTEw7CisgICAgY3R4dC0+dXNlckRhdGEgPSBjdHg7Cit9CisKKy8qKgorICogeG1sU2NoZW1hdHJvbk5ld1ZhbGlkQ3R4dDoKKyAqIEBzY2hlbWE6ICBhIHByZWNvbXBpbGVkIFhNTCBTY2hlbWF0cm9ucworICogQG9wdGlvbnM6IGEgc2V0IG9mIHhtbFNjaGVtYXRyb25WYWxpZE9wdGlvbnMKKyAqCisgKiBDcmVhdGUgYW4gWE1MIFNjaGVtYXRyb25zIHZhbGlkYXRpb24gY29udGV4dCBiYXNlZCBvbiB0aGUgZ2l2ZW4gc2NoZW1hLgorICoKKyAqIFJldHVybnMgdGhlIHZhbGlkYXRpb24gY29udGV4dCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworeG1sU2NoZW1hdHJvblZhbGlkQ3R4dFB0cgoreG1sU2NoZW1hdHJvbk5ld1ZhbGlkQ3R4dCh4bWxTY2hlbWF0cm9uUHRyIHNjaGVtYSwgaW50IG9wdGlvbnMpCit7CisgICAgaW50IGk7CisgICAgeG1sU2NoZW1hdHJvblZhbGlkQ3R4dFB0ciByZXQ7CisKKyAgICByZXQgPSAoeG1sU2NoZW1hdHJvblZhbGlkQ3R4dFB0cikgeG1sTWFsbG9jKHNpemVvZih4bWxTY2hlbWF0cm9uVmFsaWRDdHh0KSk7CisgICAgaWYgKHJldCA9PSBOVUxMKSB7CisgICAgICAgIHhtbFNjaGVtYXRyb25WRXJyTWVtb3J5KE5VTEwsICJhbGxvY2F0aW5nIHZhbGlkYXRpb24gY29udGV4dCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOworICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIH0KKyAgICBtZW1zZXQocmV0LCAwLCBzaXplb2YoeG1sU2NoZW1hdHJvblZhbGlkQ3R4dCkpOworICAgIHJldC0+dHlwZSA9IFhNTF9TVFJPTl9DVFhUX1ZBTElEQVRPUjsKKyAgICByZXQtPnNjaGVtYSA9IHNjaGVtYTsKKyAgICByZXQtPnhjdHh0ID0geG1sWFBhdGhOZXdDb250ZXh0KE5VTEwpOworICAgIHJldC0+ZmxhZ3MgPSBvcHRpb25zOworICAgIGlmIChyZXQtPnhjdHh0ID09IE5VTEwpIHsKKyAgICAgICAgeG1sU2NoZW1hdHJvblBFcnJNZW1vcnkoTlVMTCwgImFsbG9jYXRpbmcgc2NoZW1hIHBhcnNlciBYUGF0aCBjb250ZXh0IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7CisJeG1sU2NoZW1hdHJvbkZyZWVWYWxpZEN0eHQocmV0KTsKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICB9CisgICAgZm9yIChpID0gMDtpIDwgc2NoZW1hLT5uYk5hbWVzcGFjZXM7aSsrKSB7CisgICAgICAgIGlmICgoc2NoZW1hLT5uYW1lc3BhY2VzWzIgKiBpXSA9PSBOVUxMKSB8fAorICAgICAgICAgICAgKHNjaGVtYS0+bmFtZXNwYWNlc1syICogaSArIDFdID09IE5VTEwpKQorCSAgICBicmVhazsKKwl4bWxYUGF0aFJlZ2lzdGVyTnMocmV0LT54Y3R4dCwgc2NoZW1hLT5uYW1lc3BhY2VzWzIgKiBpICsgMV0sCisJICAgICAgICAgICAgICAgICAgIHNjaGVtYS0+bmFtZXNwYWNlc1syICogaV0pOworICAgIH0KKyAgICByZXR1cm4gKHJldCk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hdHJvbkZyZWVWYWxpZEN0eHQ6CisgKiBAY3R4dDogIHRoZSBzY2hlbWEgdmFsaWRhdGlvbiBjb250ZXh0CisgKgorICogRnJlZSB0aGUgcmVzb3VyY2VzIGFzc29jaWF0ZWQgdG8gdGhlIHNjaGVtYSB2YWxpZGF0aW9uIGNvbnRleHQKKyAqLwordm9pZAoreG1sU2NoZW1hdHJvbkZyZWVWYWxpZEN0eHQoeG1sU2NoZW1hdHJvblZhbGlkQ3R4dFB0ciBjdHh0KQoreworICAgIGlmIChjdHh0ID09IE5VTEwpCisgICAgICAgIHJldHVybjsKKyAgICBpZiAoY3R4dC0+eGN0eHQgIT0gTlVMTCkKKyAgICAgICAgeG1sWFBhdGhGcmVlQ29udGV4dChjdHh0LT54Y3R4dCk7CisgICAgaWYgKGN0eHQtPmRpY3QgIT0gTlVMTCkKKyAgICAgICAgeG1sRGljdEZyZWUoY3R4dC0+ZGljdCk7CisgICAgeG1sRnJlZShjdHh0KTsKK30KKworc3RhdGljIHhtbE5vZGVQdHIKK3htbFNjaGVtYXRyb25OZXh0Tm9kZSh4bWxOb2RlUHRyIGN1cikgeworICAgIGlmIChjdXItPmNoaWxkcmVuICE9IE5VTEwpIHsKKwkvKgorCSAqIERvIG5vdCBkZXNjZW5kIG9uIGVudGl0aWVzIGRlY2xhcmF0aW9ucworCSAqLworCWlmIChjdXItPmNoaWxkcmVuLT50eXBlICE9IFhNTF9FTlRJVFlfREVDTCkgeworCSAgICBjdXIgPSBjdXItPmNoaWxkcmVuOworCSAgICAvKgorCSAgICAgKiBTa2lwIERURHMKKwkgICAgICovCisJICAgIGlmIChjdXItPnR5cGUgIT0gWE1MX0RURF9OT0RFKQorCQlyZXR1cm4oY3VyKTsKKwl9CisgICAgfQorCisgICAgd2hpbGUgKGN1ci0+bmV4dCAhPSBOVUxMKSB7CisJY3VyID0gY3VyLT5uZXh0OworCWlmICgoY3VyLT50eXBlICE9IFhNTF9FTlRJVFlfREVDTCkgJiYKKwkgICAgKGN1ci0+dHlwZSAhPSBYTUxfRFREX05PREUpKQorCSAgICByZXR1cm4oY3VyKTsKKyAgICB9CisKKyAgICBkbyB7CisJY3VyID0gY3VyLT5wYXJlbnQ7CisJaWYgKGN1ciA9PSBOVUxMKSBicmVhazsKKwlpZiAoY3VyLT50eXBlID09IFhNTF9ET0NVTUVOVF9OT0RFKSByZXR1cm4oTlVMTCk7CisJaWYgKGN1ci0+bmV4dCAhPSBOVUxMKSB7CisJICAgIGN1ciA9IGN1ci0+bmV4dDsKKwkgICAgcmV0dXJuKGN1cik7CisJfQorICAgIH0gd2hpbGUgKGN1ciAhPSBOVUxMKTsKKyAgICByZXR1cm4oY3VyKTsKK30KKworLyoqCisgKiB4bWxTY2hlbWF0cm9uUnVuVGVzdDoKKyAqIEBjdHh0OiAgdGhlIHNjaGVtYSB2YWxpZGF0aW9uIGNvbnRleHQKKyAqIEB0ZXN0OiAgdGhlIGN1cnJlbnQgdGVzdAorICogQGluc3RhbmNlOiAgdGhlIGRvY3VtZW50IGluc3RhY2UgdHJlZQorICogQGN1cjogIHRoZSBjdXJyZW50IG5vZGUgaW4gdGhlIGluc3RhbmNlCisgKgorICogVmFsaWRhdGUgYSBydWxlIGFnYWluc3QgYSB0cmVlIGluc3RhbmNlIGF0IGEgZ2l2ZW4gcG9zaXRpb24KKyAqCisgKiBSZXR1cm5zIDEgaW4gY2FzZSBvZiBzdWNjZXNzLCAwIGlmIGVycm9yIGFuZCAtMSBpbiBjYXNlIG9mIGludGVybmFsIGVycm9yCisgKi8KK3N0YXRpYyBpbnQKK3htbFNjaGVtYXRyb25SdW5UZXN0KHhtbFNjaGVtYXRyb25WYWxpZEN0eHRQdHIgY3R4dCwKKyAgICAgeG1sU2NoZW1hdHJvblRlc3RQdHIgdGVzdCwgeG1sRG9jUHRyIGluc3RhbmNlLCB4bWxOb2RlUHRyIGN1ciwgeG1sU2NoZW1hdHJvblBhdHRlcm5QdHIgcGF0dGVybikKK3sKKyAgICB4bWxYUGF0aE9iamVjdFB0ciByZXQ7CisgICAgaW50IGZhaWxlZDsKKworICAgIGZhaWxlZCA9IDA7CisgICAgY3R4dC0+eGN0eHQtPmRvYyA9IGluc3RhbmNlOworICAgIGN0eHQtPnhjdHh0LT5ub2RlID0gY3VyOworICAgIHJldCA9IHhtbFhQYXRoQ29tcGlsZWRFdmFsKHRlc3QtPmNvbXAsIGN0eHQtPnhjdHh0KTsKKyAgICBpZiAocmV0ID09IE5VTEwpIHsKKwlmYWlsZWQgPSAxOworICAgIH0gZWxzZSB7CisgICAgICAgIHN3aXRjaCAocmV0LT50eXBlKSB7CisJICAgIGNhc2UgWFBBVEhfWFNMVF9UUkVFOgorCSAgICBjYXNlIFhQQVRIX05PREVTRVQ6CisJCWlmICgocmV0LT5ub2Rlc2V0dmFsID09IE5VTEwpIHx8CisJCSAgICAocmV0LT5ub2Rlc2V0dmFsLT5ub2RlTnIgPT0gMCkpCisJCSAgICBmYWlsZWQgPSAxOworCQlicmVhazsKKwkgICAgY2FzZSBYUEFUSF9CT09MRUFOOgorCQlmYWlsZWQgPSAhcmV0LT5ib29sdmFsOworCQlicmVhazsKKwkgICAgY2FzZSBYUEFUSF9OVU1CRVI6CisJCWlmICgoeG1sWFBhdGhJc05hTihyZXQtPmZsb2F0dmFsKSkgfHwKKwkJICAgIChyZXQtPmZsb2F0dmFsID09IDAuMCkpCisJCSAgICBmYWlsZWQgPSAxOworCQlicmVhazsKKwkgICAgY2FzZSBYUEFUSF9TVFJJTkc6CisJCWlmICgocmV0LT5zdHJpbmd2YWwgPT0gTlVMTCkgfHwKKwkJICAgIChyZXQtPnN0cmluZ3ZhbFswXSA9PSAwKSkKKwkJICAgIGZhaWxlZCA9IDE7CisJCWJyZWFrOworCSAgICBjYXNlIFhQQVRIX1VOREVGSU5FRDoKKwkgICAgY2FzZSBYUEFUSF9QT0lOVDoKKwkgICAgY2FzZSBYUEFUSF9SQU5HRToKKwkgICAgY2FzZSBYUEFUSF9MT0NBVElPTlNFVDoKKwkgICAgY2FzZSBYUEFUSF9VU0VSUzoKKwkJZmFpbGVkID0gMTsKKwkJYnJlYWs7CisJfQorCXhtbFhQYXRoRnJlZU9iamVjdChyZXQpOworICAgIH0KKyAgICBpZiAoKGZhaWxlZCkgJiYgKHRlc3QtPnR5cGUgPT0gWE1MX1NDSEVNQVRST05fQVNTRVJUKSkKKyAgICAgICAgY3R4dC0+bmJlcnJvcnMrKzsKKyAgICBlbHNlIGlmICgoIWZhaWxlZCkgJiYgKHRlc3QtPnR5cGUgPT0gWE1MX1NDSEVNQVRST05fUkVQT1JUKSkKKyAgICAgICAgY3R4dC0+bmJlcnJvcnMrKzsKKworICAgIHhtbFNjaGVtYXRyb25SZXBvcnRTdWNjZXNzKGN0eHQsIHRlc3QsIGN1ciwgcGF0dGVybiwgIWZhaWxlZCk7CisKKyAgICByZXR1cm4oIWZhaWxlZCk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hdHJvblZhbGlkYXRlRG9jOgorICogQGN0eHQ6ICB0aGUgc2NoZW1hIHZhbGlkYXRpb24gY29udGV4dAorICogQGluc3RhbmNlOiAgdGhlIGRvY3VtZW50IGluc3RhY2UgdHJlZQorICoKKyAqIFZhbGlkYXRlIGEgdHJlZSBpbnN0YW5jZSBhZ2FpbnN0IHRoZSBzY2hlbWF0cm9uCisgKgorICogUmV0dXJucyAwIGluIGNhc2Ugb2Ygc3VjY2VzcywgLTEgaW4gY2FzZSBvZiBpbnRlcm5hbCBlcnJvcgorICogICAgICAgICBhbmQgYW4gZXJyb3IgY291bnQgb3RoZXJ3aXNlLgorICovCitpbnQKK3htbFNjaGVtYXRyb25WYWxpZGF0ZURvYyh4bWxTY2hlbWF0cm9uVmFsaWRDdHh0UHRyIGN0eHQsIHhtbERvY1B0ciBpbnN0YW5jZSkKK3sKKyAgICB4bWxOb2RlUHRyIGN1ciwgcm9vdDsKKyAgICB4bWxTY2hlbWF0cm9uUGF0dGVyblB0ciBwYXR0ZXJuOworICAgIHhtbFNjaGVtYXRyb25SdWxlUHRyIHJ1bGU7CisgICAgeG1sU2NoZW1hdHJvblRlc3RQdHIgdGVzdDsKKworICAgIGlmICgoY3R4dCA9PSBOVUxMKSB8fCAoY3R4dC0+c2NoZW1hID09IE5VTEwpIHx8CisgICAgICAgIChjdHh0LT5zY2hlbWEtPnJ1bGVzID09IE5VTEwpIHx8IChpbnN0YW5jZSA9PSBOVUxMKSkKKyAgICAgICAgcmV0dXJuKC0xKTsKKyAgICBjdHh0LT5uYmVycm9ycyA9IDA7CisgICAgcm9vdCA9IHhtbERvY0dldFJvb3RFbGVtZW50KGluc3RhbmNlKTsKKyAgICBpZiAocm9vdCA9PSBOVUxMKSB7CisgICAgICAgIFRPRE8KKwljdHh0LT5uYmVycm9ycysrOworCXJldHVybigxKTsKKyAgICB9CisgICAgaWYgKChjdHh0LT5mbGFncyAmIFhNTF9TQ0hFTUFUUk9OX09VVF9RVUlFVCkgfHwKKyAgICAgICAgKGN0eHQtPmZsYWdzID09IDApKSB7CisJLyoKKwkgKiB3ZSBhcmUganVzdCB0cnlpbmcgdG8gYXNzZXJ0IHRoZSB2YWxpZGl0eSBvZiB0aGUgZG9jdW1lbnQsCisJICogc3BlZWQgcHJpbWVzIG92ZXIgdGhlIG91dHB1dCwgcnVuIGluIGEgc2luZ2xlIHBhc3MKKwkgKi8KKwljdXIgPSByb290OworCXdoaWxlIChjdXIgIT0gTlVMTCkgeworCSAgICBydWxlID0gY3R4dC0+c2NoZW1hLT5ydWxlczsKKwkgICAgd2hpbGUgKHJ1bGUgIT0gTlVMTCkgeworCQlpZiAoeG1sUGF0dGVybk1hdGNoKHJ1bGUtPnBhdHRlcm4sIGN1cikgPT0gMSkgeworCQkgICAgdGVzdCA9IHJ1bGUtPnRlc3RzOworCQkgICAgd2hpbGUgKHRlc3QgIT0gTlVMTCkgeworCQkJeG1sU2NoZW1hdHJvblJ1blRlc3QoY3R4dCwgdGVzdCwgaW5zdGFuY2UsIGN1ciwgKHhtbFNjaGVtYXRyb25QYXR0ZXJuUHRyKXJ1bGUtPnBhdHRlcm4pOworCQkJdGVzdCA9IHRlc3QtPm5leHQ7CisJCSAgICB9CisJCX0KKwkJcnVsZSA9IHJ1bGUtPm5leHQ7CisJICAgIH0KKworCSAgICBjdXIgPSB4bWxTY2hlbWF0cm9uTmV4dE5vZGUoY3VyKTsKKwl9CisgICAgfSBlbHNlIHsKKyAgICAgICAgLyoKKwkgKiBQcm9jZXNzIGFsbCBjb250ZXh0cyBvbmUgYXQgYSB0aW1lCisJICovCisJcGF0dGVybiA9IGN0eHQtPnNjaGVtYS0+cGF0dGVybnM7CisKKwl3aGlsZSAocGF0dGVybiAhPSBOVUxMKSB7CisJICAgIHhtbFNjaGVtYXRyb25SZXBvcnRQYXR0ZXJuKGN0eHQsIHBhdHRlcm4pOworCisJICAgIC8qCisJICAgICAqIFRPRE8gY29udmVydCB0aGUgcGF0dGVybiBydWxlIHRvIGEgZGlyZWN0IFhQYXRoIGFuZAorCSAgICAgKiBjb21wdXRlIGRpcmVjdGx5IGluc3RlYWQgb2YgdXNpbmcgdGhlIHBhdHRlcm4gbWF0Y2hpbmcKKwkgICAgICogb3ZlciB0aGUgZnVsbCBkb2N1bWVudC4uLgorCSAgICAgKiBDaGVjayB0aGUgZXhhY3Qgc2VtYW50aWMKKwkgICAgICovCisJICAgIGN1ciA9IHJvb3Q7CisJICAgIHdoaWxlIChjdXIgIT0gTlVMTCkgeworCQlydWxlID0gcGF0dGVybi0+cnVsZXM7CisJCXdoaWxlIChydWxlICE9IE5VTEwpIHsKKwkJICAgIGlmICh4bWxQYXR0ZXJuTWF0Y2gocnVsZS0+cGF0dGVybiwgY3VyKSA9PSAxKSB7CisJCQl0ZXN0ID0gcnVsZS0+dGVzdHM7CisJCQl3aGlsZSAodGVzdCAhPSBOVUxMKSB7CisJCQkgICAgeG1sU2NoZW1hdHJvblJ1blRlc3QoY3R4dCwgdGVzdCwgaW5zdGFuY2UsIGN1ciwgcGF0dGVybik7CisJCQkgICAgdGVzdCA9IHRlc3QtPm5leHQ7CisJCQl9CisJCSAgICB9CisJCSAgICBydWxlID0gcnVsZS0+cGF0bmV4dDsKKwkJfQorCisJCWN1ciA9IHhtbFNjaGVtYXRyb25OZXh0Tm9kZShjdXIpOworCSAgICB9CisJICAgIHBhdHRlcm4gPSBwYXR0ZXJuLT5uZXh0OworCX0KKyAgICB9CisgICAgcmV0dXJuKGN0eHQtPm5iZXJyb3JzKTsKK30KKworI2lmZGVmIFNUQU5EQUxPTkUKK2ludAorbWFpbih2b2lkKQoreworICAgIGludCByZXQ7CisgICAgeG1sRG9jUHRyIGluc3RhbmNlOworICAgIHhtbFNjaGVtYXRyb25QYXJzZXJDdHh0UHRyIHBjdHh0OworICAgIHhtbFNjaGVtYXRyb25WYWxpZEN0eHRQdHIgdmN0eHQ7CisgICAgeG1sU2NoZW1hdHJvblB0ciBzY2hlbWEgPSBOVUxMOworCisgICAgcGN0eHQgPSB4bWxTY2hlbWF0cm9uTmV3UGFyc2VyQ3R4dCgidHN0LnNjdCIpOworICAgIGlmIChwY3R4dCA9PSBOVUxMKSB7CisgICAgICAgIGZwcmludGYoc3RkZXJyLCAiZmFpbGVkIHRvIGJ1aWxkIHNjaGVtYXRyb24gcGFyc2VyXG4iKTsKKyAgICB9IGVsc2UgeworICAgICAgICBzY2hlbWEgPSB4bWxTY2hlbWF0cm9uUGFyc2UocGN0eHQpOworCWlmIChzY2hlbWEgPT0gTlVMTCkgeworCSAgICBmcHJpbnRmKHN0ZGVyciwgImZhaWxlZCB0byBjb21waWxlIHNjaGVtYXRyb25cbiIpOworCX0KKwl4bWxTY2hlbWF0cm9uRnJlZVBhcnNlckN0eHQocGN0eHQpOworICAgIH0KKyAgICBpbnN0YW5jZSA9IHhtbFJlYWRGaWxlKCJ0c3Quc2N0IiwgTlVMTCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIFhNTF9QQVJTRV9OT0VOVCB8IFhNTF9QQVJTRV9OT0NEQVRBKTsKKyAgICBpZiAoaW5zdGFuY2UgPT0gTlVMTCkgeworCWZwcmludGYoc3RkZXJyLCAiZmFpbGVkIHRvIHBhcnNlIGluc3RhbmNlXG4iKTsKKyAgICB9CisgICAgaWYgKChzY2hlbWEgIT0gTlVMTCkgJiYgKGluc3RhbmNlICE9IE5VTEwpKSB7CisgICAgICAgIHZjdHh0ID0geG1sU2NoZW1hdHJvbk5ld1ZhbGlkQ3R4dChzY2hlbWEpOworCWlmICh2Y3R4dCA9PSBOVUxMKSB7CisJICAgIGZwcmludGYoc3RkZXJyLCAiZmFpbGVkIHRvIGJ1aWxkIHNjaGVtYXRyb24gdmFsaWRhdG9yXG4iKTsKKwl9IGVsc2UgeworCSAgICByZXQgPSB4bWxTY2hlbWF0cm9uVmFsaWRhdGVEb2ModmN0eHQsIGluc3RhbmNlKTsKKwkgICAgeG1sU2NoZW1hdHJvbkZyZWVWYWxpZEN0eHQodmN0eHQpOworCX0KKyAgICB9CisgICAgeG1sU2NoZW1hdHJvbkZyZWUoc2NoZW1hKTsKKyAgICB4bWxGcmVlRG9jKGluc3RhbmNlKTsKKworICAgIHhtbENsZWFudXBQYXJzZXIoKTsKKyAgICB4bWxNZW1vcnlEdW1wKCk7CisKKyAgICByZXR1cm4gKDApOworfQorI2VuZGlmCisjZGVmaW5lIGJvdHRvbV9zY2hlbWF0cm9uCisjaW5jbHVkZSAiZWxmZ2NjaGFjay5oIgorI2VuZGlmIC8qIExJQlhNTF9TQ0hFTUFUUk9OX0VOQUJMRUQgKi8KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9IVE1MLzUzODY3Lmh0bWwgYi9saWJ4bWwyL3Rlc3QvSFRNTC81Mzg2Ny5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFjMjc5OTkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvSFRNTC81Mzg2Ny5odG1sCkBAIC0wLDAgKzEsNjkgQEAKKzxodG1sPgorPGhlYWQ+Cis8c3R5bGU+CisuLi4uLi4uCisuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KKy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgorLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCisuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KKy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgorLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCisuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KKy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgorLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCisuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KKy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgorLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCisuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KKy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgorLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCisuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KKy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgorLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCisuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KKy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgorLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCisuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KKy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgorLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCisuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KKy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgorLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCisuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KKy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgorLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCisuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KKy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgorLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCisuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KKy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgorLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCisuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KKy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgorLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCisuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KKy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgorLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCisuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KKy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgorLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCisuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KKy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgorLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCisuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KKy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgorLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCisuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KKy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgorLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCisuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KKy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgorLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCisuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KKy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgorLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCisuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KKy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgorPC9zdHlsZT4KKzwvaGVhZD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9IVE1ML0Rvd24uaHRtbCBiL2xpYnhtbDIvdGVzdC9IVE1ML0Rvd24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MmVjYTIxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L0hUTUwvRG93bi5odG1sCkBAIC0wLDAgKzEsMTIgQEAKKzxodG1sPgorPGhlYWQ+CisgIDx0aXRsZT5UaGlzIHNlcnZpY2UgaXMgdGVtcG9yYXJ5IGRvd248L3RpdGxlPgorPC9oZWFkPgorCis8Ym9keSBiZ2NvbG9yPSIjRkZGRkZGIj4KKzxoMSBhbGlnbj0iY2VudGVyIj5Tb3JyeSwgdGhpcyBzZXJ2aWNlIGlzIHRlbXBvcmFyeSBkb3duPC9oMT4KK1dlIGFyZSBkb2luZyBvdXIgYmVzdCB0byBnZXQgaXQgYmFjayBvbi1saW5lLAorCis8cD5UaGUgVzNDIHN5c3RlbSBhZG1pbmlzdHJhdG9yczwvcD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9IVE1ML2F0dHJlbnRzLmh0bWwgYi9saWJ4bWwyL3Rlc3QvSFRNTC9hdHRyZW50cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg0ODZlYzAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvSFRNTC9hdHRyZW50cy5odG1sCkBAIC0wLDAgKzEsNSBAQAorPGh0bWw+DQorPGJvZHkgYmdjb2xvcj0iI0ZGRkZGRiI+DQorICAgICAgICAgICAgICAgIDxhIGhyZWY9IiYjMTA5OyYjOTc7JiMxMDU7JiMxMDg7JiMxMTY7JiMxMTE7JiM1ODsmIzEwNzsmIzk3OyYjMTE2OyYjMTA0OyYjMTAxOyYjMTE0OyYjMTA1OyYjMTEwOyYjMTAxOyYjNjQ7JiM5OTsmIzk4OyYjMTAyOyYjOTc7JiMxMTA7JiM5OTsmIzQ2OyYjMTExOyYjMTE0OyYjMTAzOyYjNDQ7JiMxMTk7JiMxMDE7JiM5ODsmIzExNTsmIzEwNTsmIzExNjsmIzEwMTsmIzY0OyYjOTg7JiMxMDU7JiMxMTU7JiM0NjsmIzEwMDsmIzExMTsmIzk5OyYjNDY7JiMxMDM7JiMxMTE7JiMxMTg7JiM2MzsmIzExNTsmIzExNzsmIzk4OyYjMTA2OyYjMTAxOyYjOTk7JiMxMTY7JiM2MTsmIzgzOyYjMTExOyYjMTE3OyYjMTE2OyYjMTA0OyYjMzI7JiM4MzsmIzk3OyYjMTEwOyYjMzI7JiM3MDsmIzExNDsmIzk3OyYjMTEwOyYjOTk7JiMxMDU7JiMxMTU7JiM5OTsmIzExMTsmIzMyOyYjNjY7JiM3MzsmIzgzOyYjMzI7JiM4MzsmIzEwMTsmIzEwOTsmIzEwNTsmIzExMDsmIzk3OyYjMTE0OyYjMzI7JiM0NTsmIzMyOyYjNzk7JiM5OTsmIzExNjsmIzExMTsmIzk4OyYjMTAxOyYjMTE0OyYjMzI7JiM0OTsmIzU0OyYjMTE2OyYjMTA0OyI+PC9hPjxicj4NCis8L2JvZHk+DQorPC9odG1sPg0KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9IVE1ML2F1dG9jbG9zZS5odG1sIGIvbGlieG1sMi90ZXN0L0hUTUwvYXV0b2Nsb3NlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTEyM2JhNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9IVE1ML2F1dG9jbG9zZS5odG1sCkBAIC0wLDAgKzEgQEAKKzxocj4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9IVE1ML2F1dG9jbG9zZTIuaHRtbCBiL2xpYnhtbDIvdGVzdC9IVE1ML2F1dG9jbG9zZTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNDAwODJjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L0hUTUwvYXV0b2Nsb3NlMi5odG1sCkBAIC0wLDAgKzEgQEAKKzxwPnRvdG8KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9IVE1ML2F1dG9jbG9zZTMuaHRtbCBiL2xpYnhtbDIvdGVzdC9IVE1ML2F1dG9jbG9zZTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YzdhNDVhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L0hUTUwvYXV0b2Nsb3NlMy5odG1sCkBAIC0wLDAgKzEsMyBAQAorPHVsPgorPGxpPml0ZW0gMQorPGxpPml0ZW0gMgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L0hUTUwvY2ZfMTI4Lmh0bWwgYi9saWJ4bWwyL3Rlc3QvSFRNTC9jZl8xMjguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40Y2QxMThjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L0hUTUwvY2ZfMTI4Lmh0bWwKQEAgLTAsMCArMSwyMCBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLWh0bWw0MC9zdHJpY3QuZHRkIj4KKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+Z25vbWUteG1sIHB1c2ggbW9kZSBidWc8L3RpdGxlPgorPC9oZWFkPgorPGJvZHk+CisKKzx0YWJsZSBib3JkZXI9IjQiPgorICA8dHI+CisgICAgPHRkIGJnY29sb3I9IndoaXRlIj4KKwlGb28xCisJPHRhYmxlIGJvcmRlcj0iNCI+CisJICA8dHI+CisJICAgIDx0ZD5Gb28yPHA+PHA+PC90ZD48L3RyPjwvdGFibGU+CisgICAgPC90ZD4KKyAgICA8dGQgYmdjb2xvcj0iYmx1ZSI+Rm9vMzwvdGQ+CisgICA8L3RyPgorICA8L3RhYmxlPgorICA8L2JvZHk+Cis8L2h0bWw+ICAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9IVE1ML2RvYzIuaHRtIGIvbGlieG1sMi90ZXN0L0hUTUwvZG9jMi5odG0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmY2ZjI4NQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9IVE1ML2RvYzIuaHRtCkBAIC0wLDAgKzEsMzAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAgVHJhbnNpdGlvbmFsLy9FTiI+Cis8IS0tIHNhdmVkIGZyb20gdXJsPSgwMDE2KWh0dHA6Ly9pbnRyYW5ldC8gLS0+Cis8IS0tIEJFR0lOIE5hdmlzY29wZSBKYXZhc2NyaXB0IC0tPjxIVE1MPjxIRUFEPjxUSVRMRT5XZWxjb21lIHRvIENvcGVybmljLmNvbTwvVElUTEU+Cis8U0NSSVBUIGxhbmd1YWdlPWphdmFzY3JpcHQ+CisgICAgICAgICAgTlNfQWN0dWFsT3Blbj13aW5kb3cub3BlbjsKKyAgICAgICAgICBmdW5jdGlvbiBOU19OdWxsV2luZG93KCl7dGhpcy53aW5kb3c7fQorICAgICAgICAgIGZ1bmN0aW9uIE5TX05ld09wZW4odXJsLG5hbSxhdHIpe3JldHVybihuZXcgTlNfTnVsbFdpbmRvdygpKTt9CisgICAgICAgICAgd2luZG93Lm9wZW49TlNfTmV3T3BlbjsKKzwvU0NSSVBUPgorPCEtLSBFTkQgTmF2aXNjb3BlIEphdmFzY3JpcHQgLS0+PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwvL0VOIj48IS0tIHNhdmVkIGZyb20gdXJsPSgwMDI3KWh0dHA6Ly93d3cuYWdlbnRzLXRlY2guY29tLyAtLT4KKzxNRVRBIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIiBodHRwLWVxdWl2PUNvbnRlbnQtVHlwZT4KKzxNRVRBIAorY29udGVudD0iQ29wZXJuaWMuY29tIEluYy4gZGV2ZWxvcHMgaW5ub3ZhdGl2ZSBhZ2VudCB0ZWNobm9sb2d5IHNvbHV0aW9ucyB0byBlZmZpY2llbnRseSBhY2Nlc3MgYW5kIG1hbmFnZSB0aGUgb3ZlcndoZWxtaW5nIHF1YW50aXR5IG9mIGluZm9ybWF0aW9uIGF2YWlsYWJsZSBvbiB0aGUgSW50ZXJuZXQgYW5kIGludHJhbmV0cy4iIAorbmFtZT1ERVNDUklQVElPTj4KKzxNRVRBIAorY29udGVudD1hZ2VudCx0ZWNobm9sb2d5LGludHJhbmV0LGV4dHJhbmV0LG1hbmFnZW1lbnQsZmlsdGVyaW5nLHJhbmtpbmcsc29sdXRpb24sc2VydmljZSxpbnRlbGxpZ2VudCxpbnRlbGxpZ2VuY2UsY2xpZW50LHNlcnZlcixhcmNoaXRlY3R1cmUsZGV2ZWxvcGVyLGRldmVsb3BtZW50LGluZm9ybWF0aW9uLHRlbGVjb21tdW5pY2F0aW9uLGFubm91bmNlbWVudCxwcmVzcyxwcm9kdWN0LHByb2ZpbGUsY29udGFjdCxtdWx0aS1hZ2VudCxtZXRhLXNlYXJjaCxtZXRhc2VhcmNoLG11bHRpLXRocmVhZCxtb2JpbGUsd2lyZWxlc3Msc2hvcHBpbmcscm9ib3QsUENTLENvcGVybmljLGVuZ2luZSx0b29sa2l0LENESyxFREsgCituYW1lPUtFWVdPUkRTPgorPE1FVEEgY29udGVudD0iTVNIVE1MIDUuMDAuMzEwMy4xMDAwIiBuYW1lPUdFTkVSQVRPUj48L0hFQUQ+PEZSQU1FU0VUIAorYm9yZGVyPWZhbHNlIGNvbHM9MTcyLCogZnJhbWVCb3JkZXI9MCBmcmFtZVNwYWNpbmc9MD48RlJBTUUgbWFyZ2luSGVpZ2h0PTAgCittYXJnaW5XaWR0aD0wIG5hbWU9bGVmdCBub1Jlc2l6ZSBzY3JvbGxpbmc9bm8gc3JjPSJkb2MyX2ZpbGVzL3NpZGUuaHRtIiAKK3RhcmdldD0icnRvcCI+PEZSQU1FU0VUIHJvd3M9NDMsKj48RlJBTUUgbWFyZ2luSGVpZ2h0PTAgbWFyZ2luV2lkdGg9MCBuYW1lPXJ0b3AgCitub1Jlc2l6ZSBzY3JvbGxpbmc9bm8gc3JjPSJkb2MyX2ZpbGVzL3RvcC5odG0iIHRhcmdldD0icmJvdHRvbSI+PEZSQU1FIAorbmFtZT1yYm90dG9tIG5vUmVzaXplIHNyYz0iZG9jMl9maWxlcy9jb250ZW50cy5odG0iIAordGFyZ2V0PSJfdG9wIj48L0ZSQU1FU0VUPjxOT0ZSQU1FUz4KKworICA8Ym9keSBiZ2NvbG9yPSIjRkZGRkZGIiB0ZXh0PSIjMDAwMDAwIiBsaW5rPSIjMDAwMDgwIiB2bGluaz0iIzAwMDA4MCIgYWxpbms9IiMwMDAwODAiCisgIHRvcG1hcmdpbj0iMCIgbGVmdG1hcmdpbj0iMCIgbWFyZ2luaGVpZ2h0PSIwIiBtYXJnaW53aWR0aD0iMCI+CisgIDxwPlRoaXMgcGFnZSB1c2VzIGZyYW1lcywgYnV0IHlvdXIgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgdGhlbS48L3A+CisgIDwvYm9keT4KKyAgPC9OT0ZSQU1FUz48L0ZSQU1FU0VUPjwvSFRNTD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9IVE1ML2RvYzMuaHRtIGIvbGlieG1sMi90ZXN0L0hUTUwvZG9jMy5odG0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmEyODk5OAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9IVE1ML2RvYzMuaHRtCkBAIC0wLDAgKzEsODUxIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wIFRyYW5zaXRpb25hbC8vRU4iPg0KKzwhLS0gc2F2ZWQgZnJvbSB1cmw9KDAwMjUpaHR0cDovL2JwNi5nYW1lc3F1YWQubmV0LyAtLT4NCis8IS0tIEJFR0lOIE5hdmlzY29wZSBKYXZhc2NyaXB0IC0tPjxIVE1MPjxIRUFEPjxUSVRMRT5CUDYuY29tICMxIG9ubGluZSByZXNvdXJjZSBmb3IgdGhlIEJQNiBNb2JvLi4uLjwvVElUTEU+DQorPFNDUklQVCBsYW5ndWFnZT1qYXZhc2NyaXB0Pg0KKyAgICAgICAgICBOU19BY3R1YWxPcGVuPXdpbmRvdy5vcGVuOw0KKyAgICAgICAgICBmdW5jdGlvbiBOU19OdWxsV2luZG93KCl7dGhpcy53aW5kb3c7fQ0KKyAgICAgICAgICBmdW5jdGlvbiBOU19OZXdPcGVuKHVybCxuYW0sYXRyKXtyZXR1cm4obmV3IE5TX051bGxXaW5kb3coKSk7fQ0KKyAgICAgICAgICB3aW5kb3cub3Blbj1OU19OZXdPcGVuOw0KKzwvU0NSSVBUPg0KKzwhLS0gRU5EIE5hdmlzY29wZSBKYXZhc2NyaXB0IC0tPjwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRNTCAzLjIvL0VOIj48IS0tbGFzdCBtb2RpZmllZCBvbiBUdWVzZGF5LCBGZWJydWFyeSAyMiwgMjAwMCAxMTo0NyBQTSAtLT4NCis8TUVUQSBjb250ZW50PXRleHQvaHRtbDtDSEFSU0VUPWlzby04ODU5LTEgaHR0cC1lcXVpdj1Db250ZW50LVR5cGU+DQorPE1FVEEgY29udGVudD1UaW0gbmFtZT1BdXRob3I+DQorPFNUWUxFIHR5cGU9dGV4dC9jc3M+QS5uYXYgew0KKwlDT0xPUjogIzAwMzM5OTsgVEVYVC1ERUNPUkFUSU9OOiBub25lDQorfQ0KK0EubmF2OmhvdmVyIHsNCisJQ09MT1I6ICMzMzY2Y2M7IFRFWFQtREVDT1JBVElPTjogdW5kZXJsaW5lDQorfQ0KKzwvU1RZTEU+DQorDQorPFNDUklQVCBsYW5ndWFnZT1KYXZhU2NyaXB0PgorPCEtLSBJZGVhIGJ5OiAgTmljIFdvbGZlIChOaWNAVGltZWxhcHNlUHJvZHVjdGlvbnMuY29tKSAtLT4KKzwhLS0gV2ViIFVSTDogIGh0dHA6Ly9maW5lbGluZS54cy5tdyAtLT4KKworPCEtLSBUaGlzIHNjcmlwdCBhbmQgbWFueSBtb3JlIGFyZSBhdmFpbGFibGUgZnJlZSBvbmxpbmUgYXQgLS0+Cis8IS0tIFRoZSBKYXZhU2NyaXB0IFNvdXJjZSEhIGh0dHA6Ly9qYXZhc2NyaXB0LmludGVybmV0LmNvbSAtLT4KKworPCEtLSBCZWdpbgorZnVuY3Rpb24gcG9wVXAoVVJMKSB7CitkYXkgPSBuZXcgRGF0ZSgpOworaWQgPSBkYXkuZ2V0VGltZSgpOworZXZhbCgicGFnZSIgKyBpZCArICIgPSB3aW5kb3cub3BlbihVUkwsICciICsgaWQgKyAiJywgJ3Rvb2xiYXJzPTAsIHNjcm9sbGJhcnM9MCwgbG9jYXRpb249MCwgc3RhdHVzYmFycz0wLCBtZW51YmFycz0wLCByZXNpemFibGU9MCwgd2lkdGg9MTQ1LCBoZWlnaHQ9MjUwJyk7Iik7Cit9CisvLyBFbmQgLS0+Cis8L1NDUklQVD4NCisNCis8TUVUQSBjb250ZW50PSJNU0hUTUwgNS4wMC4zMTAzLjEwMDAiIG5hbWU9R0VORVJBVE9SPjwvSEVBRD4NCis8Qk9EWSBhTGluaz1yZWQgYmdDb2xvcj1ibGFjayBsaW5rPXJlZCB0ZXh0PXdoaXRlIHZMaW5rPXJlZD4NCis8UD4NCis8RElWIGFsaWduPWNlbnRlcj4NCis8VEFCTEUgYm9yZGVyPTAgY2VsbFBhZGRpbmc9MCBjZWxsU3BhY2luZz0wIHdpZHRoPSI4MCUiPg0KKyAgPFRCT0RZPg0KKyAgPFRSPg0KKyAgICA8VEQgdkFsaWduPXRvcCB3aWR0aD0zMT48QSBocmVmPSJodHRwOi8vYnA2LmdhbWVzcXVhZC5uZXQvIj48SU1HIA0KKyAgICAgIGFsaWduPWJvdHRvbSBib3JkZXI9MCBoZWlnaHQ9NzQgc3JjPSJkb2MzX2ZpbGVzL2xvZ28uZ2lmIiANCit3aWR0aD0yNTI+PC9BPjwvVEQ+DQorICAgIDxURCBhbGlnbj1sZWZ0IGJnQ29sb3I9IzAwMDAwMD48SU1HIGhlaWdodD0xNSBzcmM9ImRvYzNfZmlsZXMvc3BhY2VyLmdpZiIgDQorICAgICAgd2lkdGg9MTU+PCEtLSBTVEFSVCBHQU1FU1FVQUQuTkVUIElGUkFNRSBSSUNIIE1FRElBIENPREUgLS0+IDwhLS0gqSAyMDAwIEdhbWVTcXVhZC5uZXQgQWxsIFJpZ2h0cyBSZXNlcnZlZC4gLS0+PElGUkFNRSBib3JkZXI9MCANCisgICAgICBmcmFtZUJvcmRlcj1ubyBoZWlnaHQ9NjAgbWFyZ2luSGVpZ2h0PTAgbWFyZ2luV2lkdGg9MCBzY3JvbGxpbmc9bm8gDQorICAgICAgc3JjPSJkb2MzX2ZpbGVzL2FkY3ljbGUuaHRtIiANCisgICAgICB3aWR0aD00Njg+Cis8YSBocmVmPSJodHRwOi8vYWRzLmdhbWVzcXVhZC5uZXQvYWRkY2xpY2suZXhlL2FkY2xpY2suY2dpP1JFR0lPTj1nYW1lfHRlY2h8ZW50JmlkPTEiIHRhcmdldD0iX3RvcCI+PGltZyBzcmM9Imh0dHA6Ly9hZHMuZ2FtZXNxdWFkLm5ldC9hZGRjbGljay5leGUvYWRjeWNsZS5jZ2k/Z3JvdXA9NTImbWVkaWE9MSZpZD0xIiB3aWR0aD00NjggaGVpZ2h0PTYwIGJvcmRlcj0wIEFMVD0iR1NOIFJPUyBBZCI+PC9hPgorPC9JRlJBTUU+PCEtLSBFTkQgR0FNRVNRVUFELk5FVCBJRlJBTUUgUklDSCBNRURJQSBDT0RFIC0tPjxCUj48SU1HIA0KKyAgICAgIGhlaWdodD0xNSBzcmM9ImRvYzNfZmlsZXMvc3BhY2VyLmdpZiIgd2lkdGg9NDAwPiA8L1REPjwvVFI+DQorICA8VFI+DQorICAgIDxURCBiZ0NvbG9yPSMwMDMzOTkgY29sU3Bhbj0yPg0KKyAgICAgIDxQIGFsaWduPXJpZ2h0PjxJTUcgYWxpZ249cmlnaHQgYm9yZGVyPTAgaGVpZ2h0PTE4IGhzcGFjZT0wIA0KKyAgICAgIHNyYz0iZG9jM19maWxlcy90cmNvcm5lci5naWYiIHdpZHRoPTIwPjxJTUcgYWxpZ249bGVmdCBib3JkZXI9MCBoZWlnaHQ9MTggDQorICAgICAgaHNwYWNlPTAgc3JjPSJkb2MzX2ZpbGVzL3RsY29ybmVyLmdpZiIgd2lkdGg9MjA+PEZPTlQgZmFjZT1WZXJkYW5hIA0KKyAgICAgIHNpemU9Mj5Nb25kYXksIEp1bHkgMzFzdCwgMjAwMDwvRk9OVD4gPC9QPjwvVEQ+PC9UUj4NCisgIDxUUj4NCisgICAgPFREIGNvbFNwYW49Mj4NCisgICAgICA8VEFCTEUgYmdDb2xvcj0jMDAzMzk5IGJvcmRlcj0wIGNlbGxQYWRkaW5nPTAgY2VsbFNwYWNpbmc9NCANCisgICAgICAgIHdpZHRoPSIxMDAlIj48VEJPRFk+DQorICAgICAgICA8VFI+DQorICAgICAgICAgIDxURCBiZ0NvbG9yPSM2NjY2NjYgd2lkdGg9IjEwMCUiPg0KKyAgICAgICAgICAgIDxDRU5URVI+DQorICAgICAgICAgICAgPFA+DQorICAgICAgICAgICAgPFRBQkxFIGJnQ29sb3I9YmxhY2sgYm9yZGVyPTAgY2VsbFBhZGRpbmc9MCBjZWxsU3BhY2luZz0xIA0KKyAgICAgICAgICAgIHdpZHRoPSIxMDAlIj4NCisgICAgICAgICAgICAgIDxUQk9EWT4NCisgICAgICAgICAgICAgIDxUUj4NCisgICAgICAgICAgICAgICAgPFREIGJhY2tncm91bmQ9ZG9jM19maWxlcy9oc2Nhbi5naWYgYmdDb2xvcj0jNjY2NjY2IA0KKyAgICAgICAgICAgICAgICAgIHdpZHRoPSIxMDAlIj48SU1HIGhlaWdodD0xIHNyYz0iZG9jM19maWxlcy9zcGFjZXIuZ2lmIiANCisgICAgICAgICAgICAgICAgICB3aWR0aD03Mzg+PEJSPg0KKyAgICAgICAgICAgICAgICAgIDxDRU5URVI+DQorICAgICAgICAgICAgICAgICAgPFRBQkxFIGJvcmRlcj0wIGNlbGxQYWRkaW5nPTIgY2VsbFNwYWNpbmc9MCB3aWR0aD0iOTElIj4NCisgICAgICAgICAgICAgICAgICAgIDxUQk9EWT4NCisgICAgICAgICAgICAgICAgICAgIDxUUj4NCisgICAgICAgICAgICAgICAgICAgICAgPFREIHZBbGlnbj10b3Agd2lkdGg9IjE1JSI+DQorICAgICAgICAgICAgICAgICAgICAgICAgPFAgYWxpZ249Y2VudGVyPjxBIA0KKyAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHA6Ly9icDYuZ2FtZXNxdWFkLm5ldC9zcGVjcy5waHRtbCI+PElNRyANCisgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbj1ib3R0b20gDQorICAgICAgICAgICAgICAgICAgICAgICAgYWx0PSJBYml0IEJQNiBNb3RoZXJib2FyZCBzcGVjaWZpY2F0aW9uIGFuZCBpbmZvcm1hdGlvbi4iIA0KKyAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcj0wIGhlaWdodD00NSBzcmM9ImRvYzNfZmlsZXMvYnA2aWNvbi5naWYiIA0KKyAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPTcwPjwvQT48Rk9OVCBmYWNlPVZlcmRhbmEgc2l6ZT0xPjxCUj48L0ZPTlQ+PEEgDQorICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cDovL2JwNi5nYW1lc3F1YWQubmV0L3NwZWNzLnBodG1sIj48Rk9OVCANCisgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj13aGl0ZSBmYWNlPVZlcmRhbmEgc2l6ZT0xPkJQNiBTcGVjczwvRk9OVD48L0E+IA0KKyAgICAgICAgICAgICAgICAgICAgICA8L1A+PC9URD4NCisgICAgICAgICAgICAgICAgICAgICAgPFREIHZBbGlnbj10b3Agd2lkdGg9IjE1JSI+DQorICAgICAgICAgICAgICAgICAgICAgICAgPFAgYWxpZ249Y2VudGVyPjxBIA0KKyAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHA6Ly9icDYuZ2FtZXNxdWFkLm5ldC9ieGNvb2wucGh0bWwiPjxJTUcgDQorICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ249Ym90dG9tIA0KKyAgICAgICAgICAgICAgICAgICAgICAgIGFsdD0iSG93IHRvIGNvb2wgdGhlIEJYIENoaXBzZXQgb24geW91ciBCUDYuIiBib3JkZXI9MCANCisgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9NDUgc3JjPSJkb2MzX2ZpbGVzL2J4Y29vbC5naWYiIHdpZHRoPTcwPjwvQT48Rk9OVCANCisgICAgICAgICAgICAgICAgICAgICAgICBmYWNlPVZlcmRhbmEgc2l6ZT0xPjxCUj48L0ZPTlQ+PEEgDQorICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cDovL2JwNi5nYW1lc3F1YWQubmV0L3VjLnBodG1sIj48Rk9OVCANCisgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj13aGl0ZSBmYWNlPVZlcmRhbmEgc2l6ZT0xPkJYIENvb2xpbmc8L0ZPTlQ+PC9BPiANCisgICAgICAgICAgICAgICAgICAgICAgICA8L1A+PC9URD4NCisgICAgICAgICAgICAgICAgICAgICAgPFREIHZBbGlnbj10b3Agd2lkdGg9IjE1JSI+DQorICAgICAgICAgICAgICAgICAgICAgICAgPFAgYWxpZ249Y2VudGVyPjxBIA0KKyAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHA6Ly9icDYuZ2FtZXNxdWFkLm5ldC9jb250ZXN0LnBodG1sIj48SU1HIA0KKyAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduPWJvdHRvbSANCisgICAgICAgICAgICAgICAgICAgICAgICBhbHQ9IlRoZSBVO3RpbWF0ZSBHYW1pbmcgQ29udGVzdCAtIENvbWluZyBTb29uISIgDQorICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyPTAgaGVpZ2h0PTQ1IHNyYz0iZG9jM19maWxlcy91Z21jb250ZXN0LmdpZiIgDQorICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9NzA+PC9BPjxGT05UIGZhY2U9VmVyZGFuYSBzaXplPTE+PEJSPjwvRk9OVD48QSANCisgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwOi8vYnA2LmdhbWVzcXVhZC5uZXQvY29udGVzdC5waHRtbCI+PEZPTlQgDQorICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I9d2hpdGUgZmFjZT1WZXJkYW5hIHNpemU9MT5VR00gQ29udGVzdDwvRk9OVD48L0E+IA0KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvUD48L1REPg0KKyAgICAgICAgICAgICAgICAgICAgICA8VEQgdkFsaWduPXRvcCB3aWR0aD0iMTUlIj4NCisgICAgICAgICAgICAgICAgICAgICAgICA8UCBhbGlnbj1jZW50ZXI+PEEgDQorICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cDovL2JwNi5nYW1lc3F1YWQubmV0L3VjLnBodG1sIj48SU1HIA0KKyAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduPWJvdHRvbSANCisgICAgICAgICAgICAgICAgICAgICAgICBhbHQ9IkNvb2xpbmcgJmFtcDsgSGVhdHNpbmsgcmV2aWV3IGZvciB0aGUgQlA2LiIgDQorICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyPTAgaGVpZ2h0PTQ1IHNyYz0iZG9jM19maWxlcy9hbHBoYS5naWYiIA0KKyAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPTcwPjwvQT48Rk9OVCBmYWNlPVZlcmRhbmEgc2l6ZT0xPjxCUj48L0ZPTlQ+PEEgDQorICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cDovL2JwNi5nYW1lc3F1YWQubmV0L3VjLnBodG1sIj48Rk9OVCANCisgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj13aGl0ZSBmYWNlPVZlcmRhbmEgc2l6ZT0xPkhlYXRzaW5rczwvRk9OVD48L0E+IA0KKyAgICAgICAgICAgICAgICAgICAgICA8L1A+PC9URD4NCisgICAgICAgICAgICAgICAgICAgICAgPFREIHZBbGlnbj10b3Agd2lkdGg9IjE1JSI+DQorICAgICAgICAgICAgICAgICAgICAgICAgPFAgYWxpZ249Y2VudGVyPjxBIA0KKyAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHA6Ly9icDYuZ2FtZXNxdWFkLm5ldC8xMDEucGh0bWwiPjxJTUcgDQorICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ249Ym90dG9tIA0KKyAgICAgICAgICAgICAgICAgICAgICAgIGFsdD0iQlA2IDEwMSAtIENsYXNzIGlzIG5vdyBpbiBzZXNzaW9uLiBXZWxjb21lIG5ld2JpZXMhIiANCisgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI9MCBoZWlnaHQ9NDUgc3JjPSJkb2MzX2ZpbGVzL2JwNjEwMS5naWYiIA0KKyAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPTcwPjwvQT48Rk9OVCBmYWNlPVZlcmRhbmEgc2l6ZT0xPjxCUj48L0ZPTlQ+PEEgDQorICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cDovL2JwNi5nYW1lc3F1YWQubmV0LzEwMS5waHRtbCI+PEZPTlQgDQorICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I9d2hpdGUgZmFjZT1WZXJkYW5hIHNpemU9MT5CUDYgMTAxPC9GT05UPjwvQT4gDQorICAgICAgICAgICAgICAgICAgICAgIDwvUD48L1REPg0KKyAgICAgICAgICAgICAgICAgICAgICA8VEQgdkFsaWduPXRvcCB3aWR0aD0iMTUlIj4NCisgICAgICAgICAgICAgICAgICAgICAgICA8UCBhbGlnbj1jZW50ZXI+PEEgDQorICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cDovL2JwNi5nYW1lc3F1YWQubmV0L3dpbjJrX2luc3RhbGwucGh0bWwiPjxJTUcgDQorICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ249Ym90dG9tIA0KKyAgICAgICAgICAgICAgICAgICAgICAgIGFsdD0iSW5zdGFsbCBndWlkZSBmb3IgaW5zdGFsbGluZyBXaW5kb3dzIDIwMDAgb24gdGhlIEJQNiAiIA0KKyAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcj0wIGhlaWdodD00NSBzcmM9ImRvYzNfZmlsZXMvd2luMmtodC5naWYiIA0KKyAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPTcwPjwvQT48Rk9OVCBmYWNlPVZlcmRhbmEgc2l6ZT0xPjxCUj48L0ZPTlQ+PEEgDQorICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cDovL2JwNi5nYW1lc3F1YWQubmV0L3dpbjJrX2luc3RhbGwucGh0bWwiPjxGT05UIA0KKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPXdoaXRlIGZhY2U9VmVyZGFuYSBzaXplPTE+V2luMmsgSW5zdGFsbDwvRk9OVD48L0E+IA0KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvUD48L1REPg0KKyAgICAgICAgICAgICAgICAgICAgICA8VEQgdkFsaWduPXRvcCB3aWR0aD0iMTUlIj4NCisgICAgICAgICAgICAgICAgICAgICAgICA8UCBhbGlnbj1jZW50ZXI+PEEgaHJlZj0iaHR0cDovL3d3dy5nZW50dXMuY29tLyI+PElNRyANCisgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbj1ib3R0b20gDQorICAgICAgICAgICAgICAgICAgICAgICAgYWx0PSJUYWtpbmcgYSBmaXJzdCBsb29rIGF0IHRoZSBBYml0IExpbnV4IHJlbGVhc2UgY2FsbGVkICIgDQorICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyPTAgaGVpZ2h0PTQ1IHNyYz0iZG9jM19maWxlcy9nZW50dXNib3guZ2lmIiANCisgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD03MCBHZW50dXM/Lj8+PC9BPjxCUj48QSANCisgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwOi8vd3d3LmdlbnR1cy5jb20vIj48Rk9OVCBjb2xvcj13aGl0ZSANCisgICAgICAgICAgICAgICAgICAgICAgICBmYWNlPVZlcmRhbmEgc2l6ZT0xPkdlbnR1czwvRk9OVD48L0E+IA0KKyAgICAgICAgICAgICAgICAgIDwvUD48L1REPjwvVFI+PC9UQk9EWT48L1RBQkxFPjwvQ0VOVEVSPjwvVEQ+PC9UUj48L1RCT0RZPjwvVEFCTEU+PC9DRU5URVI+PC9QPjwvVEQ+PC9UUj48L1RCT0RZPjwvVEFCTEU+PC9URD48L1RSPjwvVEJPRFk+PC9UQUJMRT4NCis8VEFCTEUgYmdDb2xvcj0jMDAzMzk5IGJvcmRlcj0wIGNlbGxTcGFjaW5nPTYgd2lkdGg9IjgwJSI+DQorICA8VEJPRFk+DQorICA8VFI+DQorICAgIDxURCBiZ0NvbG9yPWJsYWNrIHZBbGlnbj10b3Agd2lkdGg9IjEwJSI+DQorICAgICAgPFRBQkxFIGJvcmRlcj0wIGNlbGxQYWRkaW5nPTMgY2VsbFNwYWNpbmc9MCB3aWR0aD0iMTAwJSI+DQorICAgICAgICA8VEJPRFk+DQorICAgICAgICA8VFI+DQorICAgICAgICAgIDxURCB3aWR0aD0iMTAwJSI+PElNRyBoZWlnaHQ9MSBzcmM9ImRvYzNfZmlsZXMvc3BhY2VyLmdpZiIgDQorICAgICAgICAgICAgd2lkdGg9MTExPjxCUj48Qj48Rk9OVCBjb2xvcj15ZWxsb3cgZmFjZT1WZXJkYW5hIA0KKyAgICAgICAgICAgIHNpemU9Mj5SRVZJRVdTPC9GT05UPjwvQj48Rk9OVCBmYWNlPVZlcmRhbmEgc2l6ZT0yPjxCUj4NCisgICAgICAgICAgICA8SFIgYWxpZ249Y2VudGVyPg0KKyAgICAgICAgICAgIDwvRk9OVD48QSBocmVmPSJodHRwOi8vYnA2LmdhbWVzcXVhZC5uZXQvYnA2cmV2aWV3cy5waHRtbCI+PEZPTlQgDQorICAgICAgICAgICAgY29sb3I9d2hpdGUgZmFjZT1WZXJkYW5hIHNpemU9MT5CUDYgUmV2aWV3czwvRk9OVD48L0E+PEZPTlQgDQorICAgICAgICAgICAgZmFjZT1WZXJkYW5hIHNpemU9MT48QlI+PC9GT05UPjxBIA0KKyAgICAgICAgICAgIGhyZWY9Imh0dHA6Ly9icDYuZ2FtZXNxdWFkLm5ldC9oMm8ucGh0bWwiPjxGT05UIGNvbG9yPXdoaXRlIA0KKyAgICAgICAgICAgIGZhY2U9VmVyZGFuYSBzaXplPTE+QlA2IFdhdGVyY29vbGluZzwvRk9OVD48L0E+PEZPTlQgZmFjZT1WZXJkYW5hIA0KKyAgICAgICAgICAgIHNpemU9MT48QlI+PC9GT05UPjxBIA0KKyAgICAgICAgICAgIGhyZWY9Imh0dHA6Ly9icDYuZ2FtZXNxdWFkLm5ldC9ieGNvb2wucGh0bWwiPjxGT05UIGNvbG9yPXdoaXRlIA0KKyAgICAgICAgICAgIGZhY2U9VmVyZGFuYSBzaXplPTE+QlggQ2hpcHNldCBDb29saW5nPC9GT05UPjwvQT48Rk9OVCBmYWNlPVZlcmRhbmEgDQorICAgICAgICAgICAgc2l6ZT0xPjxCUj48L0ZPTlQ+PEEgDQorICAgICAgICAgICAgaHJlZj0iaHR0cDovL2JwNi5nYW1lc3F1YWQubmV0L2JlbmNobWFyay5waHRtbCI+PEZPTlQgY29sb3I9d2hpdGUgDQorICAgICAgICAgICAgZmFjZT1WZXJkYW5hIHNpemU9MT5CZW5jaG1hcmtzPC9GT05UPjwvQT48Rk9OVCBmYWNlPVZlcmRhbmEgDQorICAgICAgICAgICAgc2l6ZT0xPjxCUj48L0ZPTlQ+PEEgDQorICAgICAgICAgICAgaHJlZj0iaHR0cDovL2JwNi5nYW1lc3F1YWQubmV0L2JwNmZzYi5waHRtbCI+PEZPTlQgY29sb3I9d2hpdGUgDQorICAgICAgICAgICAgZmFjZT1WZXJkYW5hIHNpemU9MT5CUDZGU0IgVXRpbGl0eTwvRk9OVD48L0E+PEZPTlQgZmFjZT1WZXJkYW5hIA0KKyAgICAgICAgICAgIHNpemU9MT48QlI+PC9GT05UPjxBIA0KKyAgICAgICAgICAgIGhyZWY9Imh0dHA6Ly9icDYuZ2FtZXNxdWFkLm5ldC9wb3dlcmxlYXAucGh0bWwiPjxGT05UIGNvbG9yPXdoaXRlIA0KKyAgICAgICAgICAgIGZhY2U9VmVyZGFuYSBzaXplPTE+UG93ZXJMZWFwIE5FTyBTMzcwPC9GT05UPjwvQT48Rk9OVCBmYWNlPVZlcmRhbmEgDQorICAgICAgICAgICAgc2l6ZT0xPjxCUj48L0ZPTlQ+PEEgDQorICAgICAgICAgICAgaHJlZj0iaHR0cDovL2JwNi5nYW1lc3F1YWQubmV0L3NldGkucGh0bWwiPjxGT05UIGNvbG9yPXdoaXRlIA0KKyAgICAgICAgICAgIGZhY2U9VmVyZGFuYSBzaXplPTE+U0VUSSBvbiB0aGUgQlA2PC9GT05UPjwvQT48Rk9OVCBmYWNlPVZlcmRhbmEgDQorICAgICAgICAgICAgc2l6ZT0xPjxCUj48L0ZPTlQ+PEEgDQorICAgICAgICAgICAgaHJlZj0iaHR0cDovL2JwNi5nYW1lc3F1YWQubmV0L29yYnMucGh0bWwiPjxGT05UIGNvbG9yPXdoaXRlIA0KKyAgICAgICAgICAgIGZhY2U9VmVyZGFuYSBzaXplPTE+R29sZGVuIE9yYnMgSTwvRk9OVD48L0E+PEZPTlQgZmFjZT1WZXJkYW5hIA0KKyAgICAgICAgICAgIHNpemU9MT48QlI+PC9GT05UPjxBIA0KKyAgICAgICAgICAgIGhyZWY9Imh0dHA6Ly9icDYuZ2FtZXNxdWFkLm5ldC9vcmJzL29yYnMyLnBodG1sIj48Rk9OVCBjb2xvcj13aGl0ZSANCisgICAgICAgICAgICBmYWNlPVZlcmRhbmEgc2l6ZT0xPkdvbGRlbiBPcmJzIElJPC9GT05UPjwvQT48Rk9OVCBmYWNlPVZlcmRhbmEgDQorICAgICAgICAgICAgc2l6ZT0xPjxCUj48L0ZPTlQ+PEEgDQorICAgICAgICAgICAgaHJlZj0iaHR0cDovL2JwNi5nYW1lc3F1YWQubmV0L1E2Zml4LnBodG1sIj48Rk9OVCBjb2xvcj13aGl0ZSANCisgICAgICAgICAgICBmYWNlPVZlcmRhbmEgc2l6ZT0xPlZUVCBTb2x1dGlvbjwvRk9OVD48L0E+PEZPTlQgZmFjZT1WZXJkYW5hIA0KKyAgICAgICAgICAgIHNpemU9MT48QlI+PEJSPjwvRk9OVD48Qj48Rk9OVCBjb2xvcj15ZWxsb3cgZmFjZT1WZXJkYW5hIA0KKyAgICAgICAgICAgIHNpemU9Mj5OQVZJR0FURTwvRk9OVD48L0I+PEZPTlQgY29sb3I9eWVsbG93IGZhY2U9VmVyZGFuYSBzaXplPTI+IA0KKyAgICAgICAgICAgIDxIUiBhbGlnbj1jZW50ZXI+DQorICAgICAgICAgICAgPC9GT05UPjxBIGhyZWY9Imh0dHA6Ly93d3cuYnA2LmNvbS8iPjxGT05UIGNvbG9yPXdoaXRlIGZhY2U9VmVyZGFuYSANCisgICAgICAgICAgICBzaXplPTE+TmV3czwvRk9OVD48L0E+PEZPTlQgZmFjZT1WZXJkYW5hIHNpemU9MT48QlI+PC9GT05UPjxBIA0KKyAgICAgICAgICAgIGhyZWY9Imh0dHA6Ly9icDYuZ2FtZXNxdWFkLm5ldC9jaGF0LnBodG1sIj48Rk9OVCBjb2xvcj13aGl0ZSANCisgICAgICAgICAgICBmYWNlPVZlcmRhbmEgc2l6ZT0xPk9ubGluZSBUZXh0IENoYXQ8L0ZPTlQ+PC9BPjxGT05UIGZhY2U9VmVyZGFuYSANCisgICAgICAgICAgICBzaXplPTE+PEJSPjwvRk9OVD48QSBocmVmPSJqYXZhc2NyaXB0OnBvcFVwKCdjaGF0X3BvcHVwLmh0bScpIj48Rk9OVCANCisgICAgICAgICAgICBjb2xvcj13aGl0ZSBmYWNlPVZlcmRhbmEgc2l6ZT0xPlZvaWNlIENoYXQ8L0ZPTlQ+PC9BPjxCUj48QSANCisgICAgICAgICAgICBocmVmPSJodHRwOi8vMjE2LjI0Ny4yMjAuMTkyL0ZvcnVtIj48Rk9OVCBjb2xvcj13aGl0ZSBmYWNlPVZlcmRhbmEgDQorICAgICAgICAgICAgc2l6ZT0xPk1lc3NhZ2Vib2FyZDwvRk9OVD48L0E+PEZPTlQgZmFjZT1WZXJkYW5hIA0KKyAgICAgICAgICAgIHNpemU9MT48QlI+PC9GT05UPjxBIGhyZWY9Imh0dHA6Ly9icDYuZ2FtZXNxdWFkLm5ldC9jb29saW5nIj48Rk9OVCANCisgICAgICAgICAgICBjb2xvcj13aGl0ZSBmYWNlPVZlcmRhbmEgc2l6ZT0xPlRlbXAuIENvbnZlcnRlcjwvRk9OVD48L0E+PEZPTlQgDQorICAgICAgICAgICAgZmFjZT1WZXJkYW5hIHNpemU9MT48QlI+PC9GT05UPjxBIA0KKyAgICAgICAgICAgIGhyZWY9Imh0dHA6Ly9icDYuZ2FtZXNxdWFkLm5ldC91Yy5waHRtbCI+PEZPTlQgY29sb3I9d2hpdGUgDQorICAgICAgICAgICAgZmFjZT1WZXJkYW5hIHNpemU9MT5QaWN0dXJlIEdhbGxlcnk8L0ZPTlQ+PC9BPjxGT05UIGZhY2U9VmVyZGFuYSANCisgICAgICAgICAgICBzaXplPTE+PEJSPjwvRk9OVD48QSANCisgICAgICAgICAgICBocmVmPSJodHRwOi8vYnA2LmdhbWVzcXVhZC5uZXQvYmlvcy5waHRtbCI+PEZPTlQgY29sb3I9d2hpdGUgDQorICAgICAgICAgICAgZmFjZT1WZXJkYW5hIHNpemU9MT5MYXRlc3QgQklPUzwvRk9OVD48L0E+PEZPTlQgZmFjZT1WZXJkYW5hIA0KKyAgICAgICAgICAgIHNpemU9MT48QlI+PC9GT05UPjxBIGhyZWY9Imh0dHA6Ly9icDYuZ2FtZXNxdWFkLm5ldC9maWxlcy8iPjxGT05UIA0KKyAgICAgICAgICAgIGNvbG9yPXdoaXRlIGZhY2U9VmVyZGFuYSBzaXplPTE+RHJpdmVycyAmYW1wOyBGaWxlczwvRk9OVD48L0E+PEZPTlQgDQorICAgICAgICAgICAgZmFjZT1WZXJkYW5hIHNpemU9MT48QlI+PC9GT05UPjxBIA0KKyAgICAgICAgICAgIGhyZWY9Imh0dHA6Ly9icDYuZ2FtZXNxdWFkLm5ldC91Yy5waHRtbCI+PEZPTlQgY29sb3I9d2hpdGUgDQorICAgICAgICAgICAgZmFjZT1WZXJkYW5hIHNpemU9MT5VR00gb2YgdGhlIHdlZWs8L0ZPTlQ+PC9BPjxGT05UIGZhY2U9VmVyZGFuYSANCisgICAgICAgICAgICBzaXplPTE+PEJSPjwvRk9OVD48QSANCisgICAgICAgICAgICBocmVmPSJodHRwOi8vYnA2LmdhbWVzcXVhZC5uZXQvY29udGVzdC5waHRtbCI+PEZPTlQgY29sb3I9d2hpdGUgDQorICAgICAgICAgICAgZmFjZT1WZXJkYW5hIHNpemU9MT5CUDYgQ29udGVzdDwvRk9OVD48L0E+PEZPTlQgZmFjZT1WZXJkYW5hIA0KKyAgICAgICAgICAgIHNpemU9MT48QlI+PEJSPjwvRk9OVD48Qj48Rk9OVCBjb2xvcj15ZWxsb3cgZmFjZT1WZXJkYW5hIA0KKyAgICAgICAgICAgIHNpemU9Mj5PVEhFUiBTVFVGRjwvRk9OVD48L0I+PEZPTlQgY29sb3I9eWVsbG93IGZhY2U9VmVyZGFuYSBzaXplPTI+IA0KKw0KKyAgICAgICAgICAgIDxIUiBhbGlnbj1jZW50ZXI+DQorICAgICAgICAgICAgPC9GT05UPjxBIGhyZWY9Imh0dHA6Ly9icDYuZ2FtZXNxdWFkLm5ldC93aG9pcy5waHRtbCI+PEZPTlQgDQorICAgICAgICAgICAgY29sb3I9d2hpdGUgZmFjZT1WZXJkYW5hIHNpemU9MT5XaG8gaXMgVGltPzwvRk9OVD48L0E+PEZPTlQgDQorICAgICAgICAgICAgZmFjZT1WZXJkYW5hIHNpemU9MT48QlI+PC9GT05UPjxBIGhyZWY9Im1haWx0bzp0aW1AYnA2LmNvbSI+PEZPTlQgDQorICAgICAgICAgICAgY29sb3I9d2hpdGUgZmFjZT1WZXJkYW5hIHNpemU9MT5Db250YWN0IEJQNi5jb208L0ZPTlQ+PC9BPjxGT05UIA0KKyAgICAgICAgICAgIGZhY2U9VmVyZGFuYSBzaXplPTE+PEJSPjwvRk9OVD48QSANCisgICAgICAgICAgICBocmVmPSJodHRwOi8vYnA2LmdhbWVzcXVhZC5uZXQvdWMucGh0bWwiPjxGT05UIGNvbG9yPXdoaXRlIA0KKyAgICAgICAgICAgIGZhY2U9VmVyZGFuYSBzaXplPTE+QWZmaWxpYXRlcyBTZWN0aW9uPC9GT05UPjwvQT48Rk9OVCBmYWNlPVZlcmRhbmEgDQorICAgICAgICAgICAgc2l6ZT0xPjxCUj48L0ZPTlQ+PEEgaHJlZj0iaHR0cDovL2JwNi5nYW1lc3F1YWQubmV0L3VjLnBodG1sIj48Rk9OVCANCisgICAgICAgICAgICBjb2xvcj13aGl0ZSBmYWNlPVZlcmRhbmEgc2l6ZT0xPlNwb25zb3JzIFNlY3Rpb24gPEJSPjwvRk9OVD48QSANCisgICAgICAgICAgICBocmVmPSJodHRwOi8vYnA2LmdhbWVzcXVhZC5uZXQvbGlua3MucGh0bWwiPjxGT05UIGNvbG9yPXdoaXRlIA0KKyAgICAgICAgICAgIGZhY2U9VmVyZGFuYSBzaXplPTE+TGlua3M8QlI+PEJSPjwvRk9OVD48L0E+PEI+PEZPTlQgY29sb3I9eWVsbG93IA0KKyAgICAgICAgICAgIGZhY2U9VmVyZGFuYSBzaXplPTI+UEMgU1BFQ0lBTFM8L0ZPTlQ+PC9CPjxGT05UIGNvbG9yPXllbGxvdyANCisgICAgICAgICAgICBmYWNlPVZlcmRhbmEgc2l6ZT0yPiANCisgICAgICAgICAgICA8SFIgYWxpZ249Y2VudGVyPg0KKyAgICAgICAgICAgIDwvRk9OVD48QSBocmVmPSJodHRwOi8vYnA2LmdhbWVzcXVhZC5uZXQvc3BlY2lhbHMucGh0bWwiPjxGT05UIA0KKyAgICAgICAgICAgIGNvbG9yPXdoaXRlIGZhY2U9VmVyZGFuYSBzaXplPTE+VmVuZG9yIA0KKyAgICAgICAgICAgIFNwZWNpYWxzPEJSPjxCUj48L0ZPTlQ+PC9BPjxCUj48L0ZPTlQ+PC9BPjxCPjxGT05UIGNvbG9yPXllbGxvdyANCisgICAgICAgICAgICBmYWNlPVZlcmRhbmEgc2l6ZT0yPlBpYyBvZiB0aGUgZGF5PC9GT05UPjwvQj4NCisgICAgICAgICAgICA8SFI+DQorICAgICAgICAgICAgIA0KKyAgICAgICAgICAgIDxDRU5URVI+DQorICAgICAgICAgICAgPFAgYWxpZ249Y2VudGVyPjxGT05UIGZhY2U9IlZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EiIHNpemU9MT48QSANCisgICAgICAgICAgICBocmVmPSJodHRwOi8vYnA2LmdhbWVzcXVhZC5uZXQvY2dpLWJpbi9zY2hsYWJvL3BvdGQucGwiPjxJTUcgDQorICAgICAgICAgICAgYWx0PSJObyBwaWN0dXJlIGlzIGF2YWlsYWJsZSBmb3IgdG9kYXkuIiBib3JkZXI9MCANCisgICAgICAgICAgICBzcmM9ImRvYzNfZmlsZXMvcG90ZF9uYV8xMTB4ODMuZ2lmIj48L0E+IDwvRk9OVD48L1A+PC9DRU5URVI+PEJSPg0KKyAgICAgICAgICAgIDxDRU5URVI+PC9DRU5URVI+PEJSPjwhLS08QSBIUkVGPSJjb2RlOmphdmFzY3JpcHQ6SURfRlRQV2ViVmlldy5JbnZva2VIZWxwKCkiPjxGT05UIFNJWkU9IjEiIENPTE9SPSJ3aGl0ZSIgRkFDRT0iVmVyZGFuYSI+RlRQIEhlbHA8L0ZPTlQ+PC9BPi0tPjwvVEQ+PC9UUj48L1RCT0RZPjwvVEFCTEU+PC9URD4NCisgICAgPFREIGJnQ29sb3I9d2hpdGUgdkFsaWduPXRvcCB3aWR0aD0iODAlIj48SU1HIGhlaWdodD0xIA0KKyAgICAgIHNyYz0iZG9jM19maWxlcy9zcGFjZXIuZ2lmIiB3aWR0aD00OTA+PEJSPg0KKyAgICAgIDxDRU5URVI+DQorICAgICAgPFA+DQorICAgICAgPFRBQkxFIGJnQ29sb3I9d2hpdGUgYm9yZGVyPTAgY2VsbFBhZGRpbmc9MTAgY2VsbFNwYWNpbmc9MCBoZWlnaHQ9IjEwMCUiIA0KKyAgICAgIHdpZHRoPSIxMDAlIj4NCisgICAgICAgIDxUQk9EWT4NCisgICAgICAgIDxUUj4NCisgICAgICAgICAgPFREIGJnQ29sb3I9d2hpdGUgdkFsaWduPXRvcCB3aWR0aD0iMTAwJSI+DQorICAgICAgICAgICAgPENFTlRFUj48QSBocmVmPSJodHRwOi8vd3d3LmVuY291bnRlcjIwMDEuY29tLyIgdGFyZ2V0PV9ibGFuaz48SU1HIA0KKyAgICAgICAgICAgIGJvcmRlcj0wIGhlaWdodD02MCBzcmM9ImRvYzNfZmlsZXMvYmFubmVyMi5naWYiIHdpZHRoPTQ2OD48L0E+IA0KKyAgICAgICAgICAgIDwvQ0VOVEVSPjxCUj48QSBuYW1lPW5ld3NfdG9wPjwvQT48Rk9OVCBjb2xvcj0jMDAzMzY2IA0KKyAgICAgICAgICAgIGZhY2U9dmVyZGFuYSxhcmlhbCBzaXplPTI+PEI+SGVhZGxpbmVzPC9CPjwvRk9OVD48QlI+PEZPTlQgDQorICAgICAgICAgICAgZmFjZT1hcmlhbCBzaXplPTE+PEEgY2xhc3M9bmF2IA0KKyAgICAgICAgICAgIGhyZWY9Imh0dHA6Ly9icDYuZ2FtZXNxdWFkLm5ldC9pbmRleC5waHRtbCNuZXdzaXRlbTk2NTAxMjk1Niw3ODkyNCwiPkNoYXQgDQorICAgICAgICAgICAgd2l0aCBBQklUIC0gODowOVBNIFBEVDwvQT48L0ZPTlQ+PEJSPjxGT05UIGZhY2U9YXJpYWwgc2l6ZT0xPjxBIA0KKyAgICAgICAgICAgIGNsYXNzPW5hdiANCisgICAgICAgICAgICBocmVmPSJodHRwOi8vYnA2LmdhbWVzcXVhZC5uZXQvaW5kZXgucGh0bWwjbmV3c2l0ZW05NjQ3NjY4MzcsMjYzNDQsIj5GaXhlZCANCisgICAgICAgICAgICB3YWxscGFwZXIgLSAxMTo0N1BNIFBEVDwvQT48L0ZPTlQ+PEJSPjxGT05UIGZhY2U9YXJpYWwgc2l6ZT0xPjxBIA0KKyAgICAgICAgICAgIGNsYXNzPW5hdiANCisgICAgICAgICAgICBocmVmPSJodHRwOi8vYnA2LmdhbWVzcXVhZC5uZXQvaW5kZXgucGh0bWwjbmV3c2l0ZW05NjQ3NjI4NDEsMjU4NjUsIj5TZXRpIA0KKyAgICAgICAgICAgIHVwZGF0ZSAtIDEwOjQwUE0gUERUPC9BPjwvRk9OVD48QlI+PEZPTlQgZmFjZT1hcmlhbCBzaXplPTE+PEEgDQorICAgICAgICAgICAgY2xhc3M9bmF2IA0KKyAgICAgICAgICAgIGhyZWY9Imh0dHA6Ly9icDYuZ2FtZXNxdWFkLm5ldC9pbmRleC5waHRtbCNuZXdzaXRlbTk2NDczMjIzNSw0NTUwMiwiPkp1ZGdlIA0KKyAgICAgICAgICAgIGdpdmVzIE5hcHN0ZXIgdGhlIEJvb3QhISAtIDI6MTBQTSBQRFQ8L0E+PC9GT05UPjxCUj48Rk9OVCBmYWNlPWFyaWFsIA0KKyAgICAgICAgICAgIHNpemU9MT48QSBjbGFzcz1uYXYgDQorICAgICAgICAgICAgaHJlZj0iaHR0cDovL2JwNi5nYW1lc3F1YWQubmV0L2luZGV4LnBodG1sI25ld3NpdGVtOTY0NzEzMjg5LDgzNjc1LCI+UmFtIA0KKyAgICAgICAgICAgIFNpbmtzLi4gbW9yZSBjb29saW5nIGZvciBzbWFsbCBwbGFjZXMuIC0gODo1NEFNIA0KKyAgICAgICAgICAgIFBEVDwvQT48L0ZPTlQ+PEJSPjxGT05UIGZhY2U9YXJpYWwgc2l6ZT0xPjxBIGNsYXNzPW5hdiANCisgICAgICAgICAgICBocmVmPSJodHRwOi8vYnA2LmdhbWVzcXVhZC5uZXQvaW5kZXgucGh0bWwjbmV3c2l0ZW05NjQ2NzE1ODksNzgzMSwiPmlzIA0KKyAgICAgICAgICAgIGl0IFtIXWFyZD8gLSA5OjE5UE0gUERUPC9BPjwvRk9OVD48QlI+PEZPTlQgZmFjZT1hcmlhbCBzaXplPTE+PEEgDQorICAgICAgICAgICAgY2xhc3M9bmF2IA0KKyAgICAgICAgICAgIGhyZWY9Imh0dHA6Ly9icDYuZ2FtZXNxdWFkLm5ldC9pbmRleC5waHRtbCNuZXdzaXRlbTk2NDY0NDA0Nyw2MDIxOCwiPldpTGQgDQorICAgICAgICAgICAgQ2FTZSEhIC0gMTo0MFBNIFBEVDwvQT48L0ZPTlQ+PEJSPjxGT05UIGZhY2U9YXJpYWwgc2l6ZT0xPjxBIA0KKyAgICAgICAgICAgIGNsYXNzPW5hdiANCisgICAgICAgICAgICBocmVmPSJodHRwOi8vYnA2LmdhbWVzcXVhZC5uZXQvaW5kZXgucGh0bWwjbmV3c2l0ZW05NjQ2MzExMTAsODQxMjIsIj5XaGF0IA0KKyAgICAgICAgICAgIHRoZSBoZWNrIGlzIGEgUGVsdGllcj8hPyEgLSAxMDowNUFNIFBEVDwvQT48L0ZPTlQ+PEJSPjxGT05UIA0KKyAgICAgICAgICAgIGZhY2U9YXJpYWwgc2l6ZT0xPjxBIGNsYXNzPW5hdiANCisgICAgICAgICAgICBocmVmPSJodHRwOi8vYnA2LmdhbWVzcXVhZC5uZXQvaW5kZXgucGh0bWwjbmV3c2l0ZW05NjQ1ODc4MzMsNzQ1NzMsIj5IRUxMTyANCisgICAgICAgICAgICBFVkVSWU9ORSEhISAtIDEwOjAzUE0gUERUPC9BPjwvRk9OVD48QlI+PEZPTlQgZmFjZT1hcmlhbCBzaXplPTE+PEEgDQorICAgICAgICAgICAgY2xhc3M9bmF2IA0KKyAgICAgICAgICAgIGhyZWY9Imh0dHA6Ly9icDYuZ2FtZXNxdWFkLm5ldC9pbmRleC5waHRtbCNuZXdzaXRlbTk2NDQyOTU3NywxMzM3NSwiPkJQNiANCisgICAgICAgICAgICBRMyBzZXJ2ZXIgdXAgYW5kIHJ1bm5pbmcuLiAtIDI6MDZBTSBQRFQ8L0E+PC9GT05UPjxCUj48QlI+PCEtLSBOUCB2My43LjUgLS0+PEEgDQorICAgICAgICAgICAgbmFtZT1uZXdzaXRlbTk2NTAxMjk1Niw3ODkyNCw+PC9BPg0KKyAgICAgICAgICAgIDxUQUJMRSBiZ0NvbG9yPSMwMDMzOTkgd2lkdGg9IjEwMCUiPg0KKyAgICAgICAgICAgICAgPFRCT0RZPg0KKyAgICAgICAgICAgICAgPFRSPg0KKyAgICAgICAgICAgICAgICA8VEQ+PEZPTlQgY29sb3I9I2ZmZmZmZiBmYWNlPVZlcmRhbmEsYXJpYWwgc2l6ZT0yPjxCPlN1bmRheSwgDQorICAgICAgICAgICAgICAgICAgSnVseSAzMCwgMjAwMDwvQj48L0ZPTlQ+PC9URD48L1RSPjwvVEJPRFk+PC9UQUJMRT48QlI+PCEtLTxociBub3NoYWRlIHdpZHRoPTEwMCU+LS0+PEI+PFU+PEZPTlQgDQorICAgICAgICAgICAgY29sb3I9IzAwMzM2NiBmYWNlPSJWZXJkYW5hLCBBcmlhbCIgc2l6ZT0yPkNoYXQgd2l0aCANCisgICAgICAgICAgICBBQklUPC9GT05UPjwvVT48L0I+PEJSPjxGT05UIGNvbG9yPSMwMDY2Y2MgZmFjZT1BcmlhbCANCisgICAgICAgICAgICBzaXplPTE+PFNNQUxMPlBvc3RlZCBieSA8QSBjbGFzcz1uYXYgDQorICAgICAgICAgICAgaHJlZj0ibWFpbHRvOkhvbG9kZWNrQGJwNi5jb20iPkhvbG9kZWNrMjwvQT4gQCA4OjA5UE0gDQorICAgICAgICAgICAgUERUPC9TTUFMTD4mbmJzcDsgPEEgDQorICAgICAgICAgICAgaHJlZj0iaHR0cDovL2JwNi5nYW1lc3F1YWQubmV0L25ld3MvOTY1MDEyOTU2LDc4OTI0LC5odG1sIj48SU1HIA0KKyAgICAgICAgICAgIGJvcmRlcj0wIHNyYz0iZG9jM19maWxlcy9jb21tZW50cy5naWYiPjAgY29tbWVudHM8L0E+IA0KKyAgICAgICAgICAgICZuYnNwO3wmbmJzcDs8QSANCisgICAgICAgICAgICBocmVmPSJodHRwOi8vYnA2LmdhbWVzcXVhZC5uZXQvI25ld3NfdG9wIj50b3A8L0E+PC9GT05UPiA8QlI+PEZPTlQgDQorICAgICAgICAgICAgY29sb3I9YmxhY2sgZmFjZT1BcmlhbCBzaXplPTI+SSYjODIxNzttIHNsYWNraW5nIGEgbGl0dGxlLiBBbGwgZ2FtZSBubyANCisgICAgICAgICAgICB3b3JrIG1ha2VzIEhvbG9kZWNrMiBhIGhhcHB5IGJveSA6LSk8QlI+PEJSPldhbGxwYXBlciB1cGRhdGU6IEkgZ290IA0KKyAgICAgICAgICAgIG9mZiBteSBsYXp5IGFzcyBhbmQgcmVkaWQgdGhlIDEyODB4MTAyNCB3YWxsIHBhcGVyLCBub3cgaXQgaGFzIHRoZSAyIA0KKyAgICAgICAgICAgIGNlbGVyb25zLjxCUj48QlI+PEI+PEEgaHJlZj0iaHR0cDovL2Z1bGxvbjNkLmNvbS9jaGF0L2FiaXQvIiANCisgICAgICAgICAgICB0YXJnZXQ9M2Q+RnVsbG9uM2QgaGFkIGEgbGl2ZSBjaGF0IHdpdGggdGhhdCBFcmljIGd1eSBmcm9tIEFiaXQuIA0KKyAgICAgICAgICAgIDwvQT48L0I+U3VibWl0dGVkIGJ5OiBNSlM8QlI+PEJSPkhlcmUmIzgyMTc7cyBhIGxpdHRsZSBjbGlwOjxCUj5bRmFsY29uXSANCisgICAgICAgICAgICBCUDYtMj8/PEJSPltFcmljQm9laW5nXSBXZSBhbHJlYWR5IGhhdmUgYSBtaWNybyBBVFggZHVhbCBmbGlwLWNoaXAgDQorICAgICAgICAgICAgYm9hcmQ8QlI+W0VyaWNCb2VpbmddIGJ1dCBpdCdzIE9FTSBvbmx5PEJSPltFcmljQm9laW5nXSB0aGUgZnVsbCBBVFggDQorICAgICAgICAgICAgdmVyc2lvbiBzaG91bGQgYmUgb3V0IFNlcHRlbWJlcmlzaDxCUj48L0ZPTlQ+PEJSPjxCUj48QSANCisgICAgICAgICAgICBuYW1lPW5ld3NpdGVtOTY0NzY2ODM3LDI2MzQ0LD48L0E+DQorICAgICAgICAgICAgPFRBQkxFIGJnQ29sb3I9IzAwMzM5OSB3aWR0aD0iMTAwJSI+DQorICAgICAgICAgICAgICA8VEJPRFk+DQorICAgICAgICAgICAgICA8VFI+DQorICAgICAgICAgICAgICAgIDxURD48Rk9OVCBjb2xvcj0jZmZmZmZmIGZhY2U9VmVyZGFuYSxhcmlhbCBzaXplPTI+PEI+VGh1cnNkYXksIA0KKyAgICAgICAgICAgICAgICAgIEp1bHkgMjcsIDIwMDA8L0I+PC9GT05UPjwvVEQ+PC9UUj48L1RCT0RZPjwvVEFCTEU+PEJSPjwhLS08aHIgbm9zaGFkZSB3aWR0aD0xMDAlPi0tPjxCPjxVPjxGT05UIA0KKyAgICAgICAgICAgIGNvbG9yPSMwMDMzNjYgZmFjZT0iVmVyZGFuYSwgQXJpYWwiIHNpemU9Mj5GaXhlZCANCisgICAgICAgICAgICB3YWxscGFwZXI8L0ZPTlQ+PC9VPjwvQj48QlI+PEZPTlQgY29sb3I9IzAwNjZjYyBmYWNlPUFyaWFsIA0KKyAgICAgICAgICAgIHNpemU9MT48U01BTEw+UG9zdGVkIGJ5IDxBIGNsYXNzPW5hdiANCisgICAgICAgICAgICBocmVmPSJtYWlsdG86SG9sb2RlY2tAYnA2LmNvbSI+SG9sb2RlY2syPC9BPiBAIDExOjQ3UE0gDQorICAgICAgICAgICAgUERUPC9TTUFMTD4mbmJzcDsgPEEgDQorICAgICAgICAgICAgaHJlZj0iaHR0cDovL2JwNi5nYW1lc3F1YWQubmV0L25ld3MvOTY0NzY2ODM3LDI2MzQ0LC5odG1sIj48SU1HIA0KKyAgICAgICAgICAgIGJvcmRlcj0wIHNyYz0iZG9jM19maWxlcy9jb21tZW50cy5naWYiPjUgY29tbWVudHM8L0E+IA0KKyAgICAgICAgICAgICZuYnNwO3wmbmJzcDs8QSANCisgICAgICAgICAgICBocmVmPSJodHRwOi8vYnA2LmdhbWVzcXVhZC5uZXQvI25ld3NfdG9wIj50b3A8L0E+PC9GT05UPiA8QlI+PEZPTlQgDQorICAgICAgICAgICAgY29sb3I9YmxhY2sgZmFjZT1BcmlhbCBzaXplPTI+PEI+R2V0IHRoZW0gbm93ISE8L0I+PEJSPlRoaXMgaXMgYSANCisgICAgICAgICAgICBmaXhlZCBicDYgd2FsbHBhcGVyLiBJbiBhbGwgdGhlIHBvcHVsYXIgZmxhdm9ycywgZXJyLi4uIA0KKyAgICAgICAgICAgIHJlc29sdXRpb25zLjxCUj48SU1HIGhlaWdodD0xODAgc3JjPSJkb2MzX2ZpbGVzLzMtODAwLmpwZyIgDQorICAgICAgICAgICAgd2lkdGg9MjQwPjxCUj5JdCdzIHN0aWxsIHRoZSBJbnRlbHMgSW5zaWRlIG9uZSB3aXRoIGEgc3BlbGxpbmcgDQorICAgICAgICAgICAgY2hhbmdlOyBmcm9tICJNb3RoYm9hcmQiIHRvICJNb3RoZXJib2FyZCI8QlI+PEJSPlRoYW5rcyB0byBNYXR0IGZvciANCisgICAgICAgICAgICBwb2ludGluZyB0aGF0IG91dCB0byBtZS48QlI+SSB3b3VsZCBhbHNvIGxpa2UgdG8gdGhhbmsgS2V2aW4gZm9yIA0KKyAgICAgICAgICAgIGhvc3RpbmcgbXkgbGFzdCBiYXRjaCBhbmQgUmFkdSBmb3IgdGhlIHByZXZpb3VzICJEVUVMIi8iRFVBTCIgDQorICAgICAgICAgICAgZXJyb3IuPEJSPkFuZCAxIG1vcmUgcGVyc29uLCBUSEFOSyBZT1UgVElNIGZvciBsZXR0aW5nIG1lIGJvcnJvdyANCisgICAgICAgICAgICB5b3VyIHNlcnZlciBzcGFjZSA7LSk8QlI+PEJSPklmIHlvdSBuZWVkIGEgd2VpcmQgcmVzb2x1dGlvbiwgZmVlbCANCisgICAgICAgICAgICBmcmVlIHRvIDxBIGhyZWY9Im1haWx0bzpIb2xvZGVjazJAaG9tZS5jb20iPmUtbWFpbDwvQT4gbWUgcmVxdWVzdGluZyANCisgICAgICAgICAgICBmb3Igb25lLjxCUj5JZiB5b3UgaGF2ZSBpZGVhcyBvciBtb3JlIGVycm9ycyB0byBwb2ludCBvdXQsIDxBIA0KKyAgICAgICAgICAgIGhyZWY9Im1haWx0bzpIb2xvZGVjazJAaG9tZS5jb20iPm1haWx0bzpIb2xvZGVjazJAaG9tZS5jb208L0E+PEJSPjxCUj48QSANCisgICAgICAgICAgICBocmVmPSJkb2MzX2ZpbGVzLzMtODAwLmpwZyIgdGFyZ2V0PTgwMD44MDB4NjAwIDwvQT48QlI+PEEgDQorICAgICAgICAgICAgaHJlZj0iaHR0cDovL3d3dy5icDYuY29tL3BpY3MvaG9sb2RlY2syL3dhbGxwYXBlci8zLTEwMjQuanBnIiANCisgICAgICAgICAgICB0YXJnZXQ9ODAwPjEwMjR4NzY4IDwvQT48QlI+PEEgDQorICAgICAgICAgICAgaHJlZj0iaHR0cDovL3d3dy5icDYuY29tL3BpY3MvaG9sb2RlY2syL3dhbGxwYXBlci8zLTExNTIuanBnIiANCisgICAgICAgICAgICB0YXJnZXQ9ODAwPjExNTJ4ODY0IDwvQT48QlI+PEEgDQorICAgICAgICAgICAgaHJlZj0iaHR0cDovL3d3dy5icDYuY29tL3BpY3MvaG9sb2RlY2syL3dhbGxwYXBlci8zLTEyODB4MTAyNC5qcGciIA0KKyAgICAgICAgICAgIHRhcmdldD04MDA+MTI4MHgxMDI0IDwvQT48QlI+PEEgDQorICAgICAgICAgICAgaHJlZj0iaHR0cDovL3d3dy5icDYuY29tL3BpY3MvaG9sb2RlY2syL3dhbGxwYXBlci8zLTE2MDAuanBnIiANCisgICAgICAgICAgICB0YXJnZXQ9ODAwPjE2MDB4MTIwMCA8L0E+PEJSPg0KKyAgICAgICAgICAgIDxQPkVuam95IDotKTxCUj4NCisgICAgICAgICAgICA8UD48QSBocmVmPSJtYWlsdG86SG9sb2RlY2syQGhvbWUuY29tIj5Ib2xvZGVjazIsPC9BPjxCUj5bSF1hcmQgYXQgDQorICAgICAgICAgICAgd29yayBvbiB0aGUgQnJhbmQgU3BhbmtpbmcgTmV3IFdhbGxwYXBlci48QlI+PC9GT05UPjxCUj48QlI+PEEgDQorICAgICAgICAgICAgbmFtZT1uZXdzaXRlbTk2NDc2Mjg0MSwyNTg2NSw+PC9BPjxCPjxVPjxGT05UIGNvbG9yPSMwMDMzNjYgDQorICAgICAgICAgICAgZmFjZT0iVmVyZGFuYSwgQXJpYWwiIHNpemU9Mj5TZXRpIHVwZGF0ZTwvRk9OVD48L1U+PC9CPjxCUj48Rk9OVCANCisgICAgICAgICAgICBjb2xvcj0jMDA2NmNjIGZhY2U9QXJpYWwgc2l6ZT0xPjxTTUFMTD5Qb3N0ZWQgYnkgPEEgY2xhc3M9bmF2IA0KKyAgICAgICAgICAgIGhyZWY9Im1haWx0bzpIb2xvZGVja0BicDYuY29tIj5Ib2xvZGVjazI8L0E+IEAgMTA6NDBQTSANCisgICAgICAgICAgICBQRFQ8L1NNQUxMPiZuYnNwOyA8QSANCisgICAgICAgICAgICBocmVmPSJodHRwOi8vYnA2LmdhbWVzcXVhZC5uZXQvbmV3cy85NjQ3NjI4NDEsMjU4NjUsLmh0bWwiPjxJTUcgDQorICAgICAgICAgICAgYm9yZGVyPTAgc3JjPSJkb2MzX2ZpbGVzL2NvbW1lbnRzLmdpZiI+NSBjb21tZW50czwvQT4gDQorICAgICAgICAgICAgJm5ic3A7fCZuYnNwOzxBIA0KKyAgICAgICAgICAgIGhyZWY9Imh0dHA6Ly9icDYuZ2FtZXNxdWFkLm5ldC8jbmV3c190b3AiPnRvcDwvQT48L0ZPTlQ+IDxCUj48Rk9OVCANCisgICAgICAgICAgICBjb2xvcj1ibGFjayBmYWNlPUFyaWFsIHNpemU9Mj48SU1HIGhlaWdodD01NCANCisgICAgICAgICAgICBzcmM9ImRvYzNfZmlsZXMvc2V0aXVwZGF0ZS5qcGciIHdpZHRoPTQwMD48QlI+WW91IGxpa2UgdGhlIA0KKyAgICAgICAgICAgIHBpYz88QlI+PEJSPkJwNiBVc2VyIEdyb3VwIFVwZGF0ZTo8QlI+Q29tcGxldGVkIDYxNTMxIA0KKyAgICAgICAgICAgIHVuaXRzISE8QlI+PEI+IzE2OCBvbiBUb3AgMjAwIEFsbCBHcm91cHM8L0I+IChHb2luZyB0byBwYXNzIENMUkMgaW4gDQorICAgICAgICAgICAgYSBmZXcgZGF5cyk8QlI+PEI+Izc0IG9uIFRvcCAyMDAgVGVhbXM8L0I+IChHYWluaW5nIGZhc3Qgb24gDQorICAgICAgICAgICAgU3RhcmZsZWV0KTxCUj48QlI+V2UgYXJlIGZseWluZyB0aG91Z2ggYXQgdGhlIHNwZWVkIG9mIGxpZ2h0IChtYXkgYmUgDQorICAgICAgICAgICAgYSBsaXR0bGUgc2xvd2VyKS48QlI+R29vZCBqb2IgZXZlcnlvbmUhITxCUj48QlI+Q2hlY2sgdGhpcyBwYWdlIGF0IA0KKyAgICAgICAgICAgIGxlYXN0IG9uY2UgYSBkYXkgZm9yIG5ldyBzdHVmZiA6LSk8QlI+PC9GT05UPjxCUj48QlI+PEEgDQorICAgICAgICAgICAgbmFtZT1uZXdzaXRlbTk2NDczMjIzNSw0NTUwMiw+PC9BPjxCPjxVPjxGT05UIGNvbG9yPSMwMDMzNjYgDQorICAgICAgICAgICAgZmFjZT0iVmVyZGFuYSwgQXJpYWwiIHNpemU9Mj5KdWRnZSBnaXZlcyBOYXBzdGVyIHRoZSANCisgICAgICAgICAgICBCb290ISE8L0ZPTlQ+PC9VPjwvQj48QlI+PEZPTlQgY29sb3I9IzAwNjZjYyBmYWNlPUFyaWFsIA0KKyAgICAgICAgICAgIHNpemU9MT48U01BTEw+UG9zdGVkIGJ5IDxBIGNsYXNzPW5hdiANCisgICAgICAgICAgICBocmVmPSJtYWlsdG86SG9sb2RlY2tAYnA2LmNvbSI+SG9sb2RlY2syPC9BPiBAIDI6MTBQTSANCisgICAgICAgICAgICBQRFQ8L1NNQUxMPiZuYnNwOyA8QSANCisgICAgICAgICAgICBocmVmPSJodHRwOi8vYnA2LmdhbWVzcXVhZC5uZXQvbmV3cy85NjQ3MzIyMzUsNDU1MDIsLmh0bWwiPjxJTUcgDQorICAgICAgICAgICAgYm9yZGVyPTAgc3JjPSJkb2MzX2ZpbGVzL2NvbW1lbnRzLmdpZiI+MCBjb21tZW50czwvQT4gDQorICAgICAgICAgICAgJm5ic3A7fCZuYnNwOzxBIA0KKyAgICAgICAgICAgIGhyZWY9Imh0dHA6Ly9icDYuZ2FtZXNxdWFkLm5ldC8jbmV3c190b3AiPnRvcDwvQT48L0ZPTlQ+IDxCUj48Rk9OVCANCisgICAgICAgICAgICBjb2xvcj1ibGFjayBmYWNlPUFyaWFsIHNpemU9Mj5Hb29kIGFmdGVybm9vbiBmb3IgZXZlcnlvbmUgbGl2aW5nIGluIA0KKyAgICAgICAgICAgIEVTVC4gSSB3YXMgZ29pbmcgdG8gcG9zdCB0b2RheSBtb3JuaW5nIGJ1dCBJIGRpZG4ndC4gSGVyZSdzIG15IA0KKyAgICAgICAgICAgIHN0b3J5OjxCUj5JIHdva2UgdXAgYW5kIHRob3VnaHQgYWJvdXQgcG9zdGluZyBzb21ldGhpbmcgYnV0IEkgDQorICAgICAgICAgICAgZGVjaWRlZCB0byB3YXggbXkgY2FyIGJlZm9yZSB0aGUgc3VuIGNhbWUgdXAgKGRyYXcgeW91ciBvd24gDQorICAgICAgICAgICAgY29uY2x1c2lvbnMpLCB3YXggb24sIHdheCBvZmYsIHdheCBvbiwuLi4sIGRpZCB0aGF0IGZvciBhYm91dCBhbiANCisgICAgICAgICAgICBob3VyLiBUaGVuIEkgc2F3IHRoZSBzdW4gcmlzZSAoQWFhaGggSSdtIG1lbHRpbmcuLi4gbm90KS4gSSBzYXQgaW4gDQorICAgICAgICAgICAgZnJvbnQgb2YgbXkgY29tcCBhbmQgc3RhcnRlZCB0byBzZWFyY2ggZm9yIGdvb2QgbmV3cyB0byBwb3N0LiBTYXcgDQorICAgICAgICAgICAgdGhhdCBhIHN0b29waWQganVkZ2UgdGVtcG9yYWxseSBzaHV0cyBkb3duIG5hcHN0ZXIuIEdvZXMgdG8gcm9vbSBhbmQgDQorICAgICAgICAgICAgY3J5LiBhbmQgbm93IEknbSBoZXJlIDotKTxCUj48QlI+PEEgDQorICAgICAgICAgICAgaHJlZj0iaHR0cDovL3d3dy5tc25iYy5jb20vbmV3cy80Mzc1MzIuYXNwIiANCisgICAgICAgICAgICB0YXJnZXQ9Ikp1ZGdlIHZzIE5hcHN0ZXIiPkp1ZGdlIHNodXRzIE5hcHN0ZXIgZG93bg0KKyAgICAgICAgICAgIDxQPjxJTUcgaGVpZ2h0PTE0MyBzcmM9ImRvYzNfZmlsZXMvNjY5OTE1LmpwZyIgDQorICAgICAgICAgICAgd2lkdGg9MjAwPjwvQT48QlI+Q2hlY2sgb3V0IHRoZSBHb29meSBndXkgaW4gdGhlIHN1aXQ8QlI+SGUncyBTZWFuIA0KKyAgICAgICAgICAgIEZhbm5pbmcsIGZvdW5kZXIgb2YgTmFwc3Rlci48QlI+PEJSPkdvdCBuZXdzPz8gPEEgDQorICAgICAgICAgICAgaHJlZj0ibWFpbHRvOkhvbG9kZWNrMkBob21lLmNvbSI+bWFpbHRvOkhvbG9kZWNrMkBob21lLmNvbTwvQT48QlI+PC9GT05UPjxCUj48QlI+PEEgDQorICAgICAgICAgICAgbmFtZT1uZXdzaXRlbTk2NDcxMzI4OSw4MzY3NSw+PC9BPjxCPjxVPjxGT05UIGNvbG9yPSMwMDMzNjYgDQorICAgICAgICAgICAgZmFjZT0iVmVyZGFuYSwgQXJpYWwiIHNpemU9Mj5SYW0gU2lua3MuLiBtb3JlIGNvb2xpbmcgZm9yIHNtYWxsIA0KKyAgICAgICAgICAgIHBsYWNlcy48L0ZPTlQ+PC9VPjwvQj48QlI+PEZPTlQgY29sb3I9IzAwNjZjYyBmYWNlPUFyaWFsIA0KKyAgICAgICAgICAgIHNpemU9MT48U01BTEw+UG9zdGVkIGJ5IDxBIGNsYXNzPW5hdiANCisgICAgICAgICAgICBocmVmPSJtYWlsdG86dGltQGJwNi5jb20iPnRpbTwvQT4gQCA4OjU0QU0gUERUPC9TTUFMTD4mbmJzcDsgPEEgDQorICAgICAgICAgICAgaHJlZj0iaHR0cDovL2JwNi5nYW1lc3F1YWQubmV0L25ld3MvOTY0NzEzMjg5LDgzNjc1LC5odG1sIj48SU1HIA0KKyAgICAgICAgICAgIGJvcmRlcj0wIHNyYz0iZG9jM19maWxlcy9jb21tZW50cy5naWYiPjAgY29tbWVudHM8L0E+IA0KKyAgICAgICAgICAgICZuYnNwO3wmbmJzcDs8QSANCisgICAgICAgICAgICBocmVmPSJodHRwOi8vYnA2LmdhbWVzcXVhZC5uZXQvI25ld3NfdG9wIj50b3A8L0E+PC9GT05UPiA8QlI+PEZPTlQgDQorICAgICAgICAgICAgY29sb3I9YmxhY2sgZmFjZT1BcmlhbCBzaXplPTI+TmVlZCBzb21lIGNvb2xpbmcgZm9yIHlvdXIgVmlkZW9jYXJkIA0KKyAgICAgICAgICAgIG1lbW9yeSB0byBnZXQgYSBsaXR0bGUgZXh0cmEgb3ZlcmNsb2NrYWJpbGl0eSBhbmQgRlBTPyA8QSANCisgICAgICAgICAgICBocmVmPSJodHRwOi8vd3d3Lm92ZXJjbG9ja2Vyc2hpZGVvdXQuY29tL1JhbVNpbmtzLmh0bWwiIA0KKyAgICAgICAgICAgIHRhcmdldD1fQkxBTks+T3ZlcmNsb2NrZXJzIEhpZWRvdXQgUmFtIFNpbmtzPC9BPiBUaGV5IGp1c3Qgbm90aWZpZWQgDQorICAgICAgICAgICAgbWUgb2YgdGhlaXIgbmV3IGRlc2lnbi48QlI+PElNRyBib3JkZXI9MSANCisgICAgICAgICAgICBzcmM9ImRvYzNfZmlsZXMvcmFtc2luay5qcGciPjwvRk9OVD48QlI+PEJSPjxBIA0KKyAgICAgICAgICAgIG5hbWU9bmV3c2l0ZW05NjQ2NzE1ODksNzgzMSw+PC9BPg0KKyAgICAgICAgICAgIDxUQUJMRSBiZ0NvbG9yPSMwMDMzOTkgd2lkdGg9IjEwMCUiPg0KKyAgICAgICAgICAgICAgPFRCT0RZPg0KKyAgICAgICAgICAgICAgPFRSPg0KKyAgICAgICAgICAgICAgICA8VEQ+PEZPTlQgY29sb3I9I2ZmZmZmZiBmYWNlPVZlcmRhbmEsYXJpYWwgDQorICAgICAgICAgICAgICAgICAgc2l6ZT0yPjxCPldlZG5lc2RheSwgSnVseSAyNiwgDQorICAgICAgICAgICAgMjAwMDwvQj48L0ZPTlQ+PC9URD48L1RSPjwvVEJPRFk+PC9UQUJMRT48QlI+PCEtLTxociBub3NoYWRlIHdpZHRoPTEwMCU+LS0+PEI+PFU+PEZPTlQgDQorICAgICAgICAgICAgY29sb3I9IzAwMzM2NiBmYWNlPSJWZXJkYW5hLCBBcmlhbCIgc2l6ZT0yPmlzIGl0IA0KKyAgICAgICAgICAgIFtIXWFyZD88L0ZPTlQ+PC9VPjwvQj48QlI+PEZPTlQgY29sb3I9IzAwNjZjYyBmYWNlPUFyaWFsIA0KKyAgICAgICAgICAgIHNpemU9MT48U01BTEw+UG9zdGVkIGJ5IDxBIGNsYXNzPW5hdiANCisgICAgICAgICAgICBocmVmPSJtYWlsdG86SG9sb2RlY2tAYnA2LmNvbSI+SG9sb2RlY2syPC9BPiBAIDk6MTlQTSANCisgICAgICAgICAgICBQRFQ8L1NNQUxMPiZuYnNwOyA8QSANCisgICAgICAgICAgICBocmVmPSJodHRwOi8vYnA2LmdhbWVzcXVhZC5uZXQvbmV3cy85NjQ2NzE1ODksNzgzMSwuaHRtbCI+PElNRyANCisgICAgICAgICAgICBib3JkZXI9MCBzcmM9ImRvYzNfZmlsZXMvY29tbWVudHMuZ2lmIj4wIGNvbW1lbnRzPC9BPiANCisgICAgICAgICAgICAmbmJzcDt8Jm5ic3A7PEEgDQorICAgICAgICAgICAgaHJlZj0iaHR0cDovL2JwNi5nYW1lc3F1YWQubmV0LyNuZXdzX3RvcCI+dG9wPC9BPjwvRk9OVD4gPEJSPjxGT05UIA0KKyAgICAgICAgICAgIGNvbG9yPWJsYWNrIGZhY2U9QXJpYWwgc2l6ZT0yPkJpZyBoZWF0c2lua3MgYXJlIGdvb2QsIHZlcnkgZ29vZC4gVGhlIA0KKyAgICAgICAgICAgIGJpZ2dlciB0aGUgYmV0dGVyLjxCUj5Zb3UgY2FuIG5ldmVyIGNhbiBoYXZlIGEgdG9vIGJpZyBvZiBoZWF0c2luayANCisgICAgICAgICAgICBvbiBhIHNtYWxsIGNoaXAgKENQVSwgR1BVLCBDSElQU0VULCBldGMpPEJSPjxCUj48SU1HIGhlaWdodD0xNzMgDQorICAgICAgICAgICAgc3JjPSJkb2MzX2ZpbGVzL3Zvb2Rvb3NpZGUyLmpwZyIgd2lkdGg9MjMwPjxCUj5NeSBvdmVyY2xvY2tlZCANCisgICAgICAgICAgICBWb29kb28zIDIwMDAgd2l0aCBhIEJJRyBtb2ZvIGhlYXRzaW5rIG9uIHRvcC48QlI+UGVsdGllciBhbmQgDQorICAgICAgICAgICAgd2F0ZXJjb29saW5nIG5leHQgdXAgOi0pPEJSPihpZiB5b3UgcHJ5IG9mZiB0aGUgaGVhdHNpbmsgeW91IHZvaWQgDQorICAgICAgICAgICAgdGhlIHdhcnJhbnR5ICk8QlI+PEJSPml0IHdhcyBvcmlnaW5hbGx5IHBvc3RlZCBvbiA8QSANCisgICAgICAgICAgICBocmVmPSJodHRwOi8vd3d3LmhhcmRvY3AuY29tLyI+W0hdYXJkT0NQIDwvQT48QlI+SSYjODIxNzttIG5vdCBvbmx5IGEgDQorICAgICAgICAgICAgQlA2ZXIgYnV0IGFsc28gYSBbSF1hcmRPQ1BlcjxCUj48L0ZPTlQ+PEJSPjxCUj48QSANCisgICAgICAgICAgICBuYW1lPW5ld3NpdGVtOTY0NjQ0MDQ3LDYwMjE4LD48L0E+PEI+PFU+PEZPTlQgY29sb3I9IzAwMzM2NiANCisgICAgICAgICAgICBmYWNlPSJWZXJkYW5hLCBBcmlhbCIgc2l6ZT0yPldpTGQgQ2FTZSEhPC9GT05UPjwvVT48L0I+PEJSPjxGT05UIA0KKyAgICAgICAgICAgIGNvbG9yPSMwMDY2Y2MgZmFjZT1BcmlhbCBzaXplPTE+PFNNQUxMPlBvc3RlZCBieSA8QSBjbGFzcz1uYXYgDQorICAgICAgICAgICAgaHJlZj0ibWFpbHRvOkhvbG9kZWNrQGJwNi5jb20iPkhvbG9kZWNrMjwvQT4gQCAxOjQwUE0gDQorICAgICAgICAgICAgUERUPC9TTUFMTD4mbmJzcDsgPEEgDQorICAgICAgICAgICAgaHJlZj0iaHR0cDovL2JwNi5nYW1lc3F1YWQubmV0L25ld3MvOTY0NjQ0MDQ3LDYwMjE4LC5odG1sIj48SU1HIA0KKyAgICAgICAgICAgIGJvcmRlcj0wIHNyYz0iZG9jM19maWxlcy9jb21tZW50cy5naWYiPjggY29tbWVudHM8L0E+IA0KKyAgICAgICAgICAgICZuYnNwO3wmbmJzcDs8QSANCisgICAgICAgICAgICBocmVmPSJodHRwOi8vYnA2LmdhbWVzcXVhZC5uZXQvI25ld3NfdG9wIj50b3A8L0E+PC9GT05UPiA8QlI+PEZPTlQgDQorICAgICAgICAgICAgY29sb3I9YmxhY2sgZmFjZT1BcmlhbCBzaXplPTI+Tm93IHRoaXMgcGVyc29uIHJlYWxseSBrbm93cyBob3cgdG8gDQorICAgICAgICAgICAga2VlcCBoaXMgY2FzZSBjb29sISE8QlI+QWRkaW4gYW4gMTgiIEZhbiEhIFdPVyEhPEJSPjxCUj48QSANCisgICAgICAgICAgICBocmVmPSJodHRwOi8vd3d3LmVudmFkb3IuY29tL1Bob3Rvcy9QVkNJSS8iIHRhcmdldD1fYmxhbms+PElNRyANCisgICAgICAgICAgICBzcmM9ImRvYzNfZmlsZXMvVE5fT3BlbmVkVXAxLmpwZyI+PC9BPjxCUj5DbGljayB0byBnbyB0byBoaXMgDQorICAgICAgICAgICAgc2l0ZS48QlI+PC9GT05UPjxCUj48QlI+PEEgDQorICAgICAgICAgICAgbmFtZT1uZXdzaXRlbTk2NDYzMTExMCw4NDEyMiw+PC9BPjxCPjxVPjxGT05UIGNvbG9yPSMwMDMzNjYgDQorICAgICAgICAgICAgZmFjZT0iVmVyZGFuYSwgQXJpYWwiIHNpemU9Mj5XaGF0IHRoZSBoZWNrIGlzIGEgDQorICAgICAgICAgICAgUGVsdGllcj8hPyE8L0ZPTlQ+PC9VPjwvQj48QlI+PEZPTlQgY29sb3I9IzAwNjZjYyBmYWNlPUFyaWFsIA0KKyAgICAgICAgICAgIHNpemU9MT48U01BTEw+UG9zdGVkIGJ5IDxBIGNsYXNzPW5hdiANCisgICAgICAgICAgICBocmVmPSJtYWlsdG86SG9sb2RlY2tAYnA2LmNvbSI+SG9sb2RlY2syPC9BPiBAIDEwOjA1QU0gDQorICAgICAgICAgICAgUERUPC9TTUFMTD4mbmJzcDsgPEEgDQorICAgICAgICAgICAgaHJlZj0iaHR0cDovL2JwNi5nYW1lc3F1YWQubmV0L25ld3MvOTY0NjMxMTEwLDg0MTIyLC5odG1sIj48SU1HIA0KKyAgICAgICAgICAgIGJvcmRlcj0wIHNyYz0iZG9jM19maWxlcy9jb21tZW50cy5naWYiPjYgY29tbWVudHM8L0E+IA0KKyAgICAgICAgICAgICZuYnNwO3wmbmJzcDs8QSANCisgICAgICAgICAgICBocmVmPSJodHRwOi8vYnA2LmdhbWVzcXVhZC5uZXQvI25ld3NfdG9wIj50b3A8L0E+PC9GT05UPiA8QlI+PEZPTlQgDQorICAgICAgICAgICAgY29sb3I9YmxhY2sgZmFjZT1BcmlhbCBzaXplPTI+VGhpcyBpcyBmb3IgYWxsIHlvdSBwZW9wbGUgd2hvIHdhbnRlZCANCisgICAgICAgICAgICB0byBrbm93IHdoYXQgYSBwZWx0aWVyIGlzLjxCUj48QlI+VGhlIHF1ZXN0IGZvIHRoZSBQZXJmZWN0IA0KKyAgICAgICAgICAgIFBlbHRpZXI8QlI+PEEgDQorICAgICAgICAgICAgaHJlZj0iaHR0cDovL3d3dy50d2Vha21heC5jb20vaHRtbC9wZWx0aWVyL3BlbHRpZXItMS5jZm0iIA0KKyAgICAgICAgICAgIHRhcmdldD1fYmxhbms+PElNRyBzcmM9ImRvYzNfZmlsZXMvcGVsdGllci5qcGciPjwvQT4gPEJSPlRoYW5rcyB0byANCisgICAgICAgICAgICA8QSBocmVmPSJodHRwOi8vd3d3LnR3ZWFrbWF4LmNvbS8iIHRhcmdldD1fYmxhbms+VHdlYWtNYXguY29tPC9BPiANCisgICAgICAgICAgICA8QlI+PEJSPk5vdGU6IFRvZGF5IG1vcm5pbmcgd2hlbiBJIHdva2UgdXAgSSBzYXcgbXkgd2hvbGUgc2NyZWVuIA0KKyAgICAgICAgICAgIGNsdXR0ZXJlZCB3aXRoIGEgYnVuY2ggb2YgSU1zISEgSSBsaXZlIGluIHRoZSBVU0Egb24gRVNULiBJZiB5b3UgDQorICAgICAgICAgICAgbGl2ZSBzb21ld2hlcmUgZWxzZSBwbGVhc2UgY2hlY2sgdGhlIHRpbWUgaW4gbXkgYXJlYS4gZm9yIGV4YW1wbGU6IA0KKyAgICAgICAgICAgIElmIHlvdSBsaXZlIGluIEV1cm9wZSBhbmQgSU0gbWUgaW4gdGhlIG1vcm5pbmcgeW91ciB0aW1lIEkgd291bGQgYmUgDQorICAgICAgICAgICAgc2xlZXBpbmcgaXQgd291bGQgYmUgbGlrZSA0IGluIHRoZSBtb3JuaW5nIGhlcmUuIEp1c3QgdG8gbGV0IHlvdSANCisgICAgICAgICAgICBrbm93IDxJTUcgc3JjPSJkb2MzX2ZpbGVzL3NtaWxlLmdpZiI+PEJSPkknbSBub3QgYW5ncnkgYXQgYW55b25lLi4uIA0KKyAgICAgICAgICAgIGdvb2QgdGhpbmcgSSBoYXZlIGEgbG9uZyBmdXNlIDxJTUcgDQorICAgICAgICAgICAgc3JjPSJkb2MzX2ZpbGVzL3Rvbmd1ZS5naWYiPjxCUj48L0ZPTlQ+PEJSPjxCUj48QSANCisgICAgICAgICAgICBuYW1lPW5ld3NpdGVtOTY0NTg3ODMzLDc0NTczLD48L0E+DQorICAgICAgICAgICAgPFRBQkxFIGJnQ29sb3I9IzAwMzM5OSB3aWR0aD0iMTAwJSI+DQorICAgICAgICAgICAgICA8VEJPRFk+DQorICAgICAgICAgICAgICA8VFI+DQorICAgICAgICAgICAgICAgIDxURD48Rk9OVCBjb2xvcj0jZmZmZmZmIGZhY2U9VmVyZGFuYSxhcmlhbCBzaXplPTI+PEI+VHVlc2RheSwgDQorICAgICAgICAgICAgICAgICAgSnVseSAyNSwgMjAwMDwvQj48L0ZPTlQ+PC9URD48L1RSPjwvVEJPRFk+PC9UQUJMRT48QlI+PCEtLTxociBub3NoYWRlIHdpZHRoPTEwMCU+LS0+PEI+PFU+PEZPTlQgDQorICAgICAgICAgICAgY29sb3I9IzAwMzM2NiBmYWNlPSJWZXJkYW5hLCBBcmlhbCIgc2l6ZT0yPkhFTExPIA0KKyAgICAgICAgICAgIEVWRVJZT05FISEhPC9GT05UPjwvVT48L0I+PEJSPjxGT05UIGNvbG9yPSMwMDY2Y2MgZmFjZT1BcmlhbCANCisgICAgICAgICAgICBzaXplPTE+PFNNQUxMPlBvc3RlZCBieSA8QSBjbGFzcz1uYXYgDQorICAgICAgICAgICAgaHJlZj0ibWFpbHRvOkhvbG9kZWNrQGJwNi5jb20iPkhvbG9kZWNrMjwvQT4gQCAxMDowM1BNIA0KKyAgICAgICAgICAgIFBEVDwvU01BTEw+Jm5ic3A7IDxCUj48Rk9OVCBjb2xvcj1ibGFjayBmYWNlPUFyaWFsIHNpemU9Mj5IZWxsbyANCisgICAgICAgICAgICBldmVyeW9uZSwgV29vaG9vISEgSSdtIG9uISE8QlI+V2hvIGlzIHRoaXMgSG9sb2RlY2syIHBlcnNvbiANCisgICAgICAgICAgICBhbnl3YXlzPyE/ISBSZWFkIG9uIDotKTxCUj5JJiM4MjE3O20gYSByZWd1bGFyIG9uIHRoZSBicDYgbWVzc2FnZWJvYXJkLCANCisgICAgICAgICAgICB0cnlpbmcgdG8gaGVscCBwZW9wbGUgb3V0IHdpdGggdGhlaXIgcHJvYmxlbXMuPEJSPkkmIzgyMTc7bSB0aGUgDQorICAgICAgICAgICAgc2VsZi1wcm9jbGFpbWVkIGJwNiBjb29saW5nIGV4cGVydCwgSWYgeW91IGhhdmUgYSBjb29saW5nIGlkZWEsIEkmIzgyMTc7dmUgDQorICAgICAgICAgICAgcHJvYmFibHkgYWxyZWFkeSBkb25lIGl0IGFuZCBjYW4gb2ZmZXIgc29tZSBpbmNpdGUuPEJSPk15IGNvbXB1dGVyIA0KKyAgICAgICAgICAgIGlzIGFsd2F5cyBvbiBzbyB5b3UgY2FuIGNvbnRhY3QgbWUgd2hlbmV2ZXIuLi4gcHJvYmxlbSBpcywgSSdtIG5vdCANCisgICAgICAgICAgICBhbHdheXMgaW4gZnJvbnQgb2YgaXQuIEknbGwgdHJ5IHRvIHVwZGF0ZSB0aGlzIHBhZ2UgYW5kIGtlZXAgDQorICAgICAgICAgICAgZXZlcnlvbmUgaGFwcHkgOi0pPEJSPkFueSBRdWVzdGlvbnMgb3IgY29tbWVudHMsIHlvdSBjYW4gZWl0aGVyIA0KKyAgICAgICAgICAgIGNvbnRhY3QgbWUgb3IgcG9zdCBpdCBvbiB0aGUgbWVzc2FnZWJvYXJkLjxCUj48QlI+V2F5cyB0byBjb250YWN0IA0KKyAgICAgICAgICAgIG1lLjxCUj5FLW1haWw6IDxBIA0KKyAgICAgICAgICAgIGhyZWY9Im1haWx0bzpIb2xvZGVjazJAaG9tZS5jb20iPkhvbG9kZWNrMkBob21lLmNvbTwvQT4gKEFsbCBFLW1haWxzIA0KKyAgICAgICAgICAgIHdpbGwgYmUgYW5zd2VyZWQgaW4gMjQgaG91cnMgb3IgbGVzcywgSSBndWFyYW50ZWUgaXQuKTxCUj5XaGVuIHlvdSANCisgICAgICAgICAgICB3cml0ZSBtZSBhbiBlLW1haWwgcGxlYXNlIHB1dCBpbiB0aGUgc3ViamVjdCBsaW5lICJCUDYiIHRoZW4gdGhlIA0KKyAgICAgICAgICAgIHJlc3Qgb2YgeW91ciBzdWJqZWN0IHNvIG15IGUtbWFpbCBwcm9ncmFtIGNhbiBzb3J0IGl0LCB0aGFua3M8QlI+PEEgDQorICAgICAgICAgICAgaHJlZj0iaHR0cDovL3d3dy5hb2wuY29tL2FpbSI+QUlNOiA8L0E+SG9sb2RlY2syIChpbnN0YW50IHJlc3BvbnNlIA0KKyAgICAgICAgICAgIGlmIEkmIzgyMTc7bSBpbiBmcm9udCBvZiBteSBjb21wIGFuZCBub3QgdHJ5aW5nIHRvIGZyYWcgc29tZW9uZSk8QlI+PEEgDQorICAgICAgICAgICAgaHJlZj0iaHR0cDovL3d3dy5pY3EuY29tL2Rvd25sb2FkIj5JQ1E6IDwvQT44MjY0MDIxOCAocmFyZWx5IA0KKyAgICAgICAgICAgIG9uKTxCUj48QlI+UC5TLiBJZiBzb21lb25lIG5hbWVkICYjODIyMDtEaWdpdGFsIFZvcnRleCYjODIyMTsgb24gZWl0aGVyIFF1YWtlIDMgDQorICAgICAgICAgICAgb3IgMiBmcmFncyB5b3UsIGl0JiM4MjE3O3MgcHJvYmFibHkgbWUuIDstKTxCUj48L0ZPTlQ+PEJSPjxCUj48QSANCisgICAgICAgICAgICBuYW1lPW5ld3NpdGVtOTY0NDI5NTc3LDEzMzc1LD48L0E+DQorICAgICAgICAgICAgPFRBQkxFIGJnQ29sb3I9IzAwMzM5OSB3aWR0aD0iMTAwJSI+DQorICAgICAgICAgICAgICA8VEJPRFk+DQorICAgICAgICAgICAgICA8VFI+DQorICAgICAgICAgICAgICAgIDxURD48Rk9OVCBjb2xvcj0jZmZmZmZmIGZhY2U9VmVyZGFuYSxhcmlhbCBzaXplPTI+PEI+TW9uZGF5LCANCisgICAgICAgICAgICAgICAgICBKdWx5IDI0LCAyMDAwPC9CPjwvRk9OVD48L1REPjwvVFI+PC9UQk9EWT48L1RBQkxFPjxCUj48IS0tPGhyIG5vc2hhZGUgd2lkdGg9MTAwJT4tLT48Qj48VT48Rk9OVCANCisgICAgICAgICAgICBjb2xvcj0jMDAzMzY2IGZhY2U9IlZlcmRhbmEsIEFyaWFsIiBzaXplPTI+QlA2IFEzIHNlcnZlciB1cCBhbmQgDQorICAgICAgICAgICAgcnVubmluZy4uPC9GT05UPjwvVT48L0I+PEJSPjxGT05UIGNvbG9yPSMwMDY2Y2MgZmFjZT1BcmlhbCANCisgICAgICAgICAgICBzaXplPTE+PFNNQUxMPlBvc3RlZCBieSA8QSBjbGFzcz1uYXYgDQorICAgICAgICAgICAgaHJlZj0ibWFpbHRvOnRpbUBicDYuY29tIj50aW08L0E+IEAgMjowNkFNIFBEVDwvU01BTEw+Jm5ic3A7IDxBIA0KKyAgICAgICAgICAgIGhyZWY9Imh0dHA6Ly9icDYuZ2FtZXNxdWFkLm5ldC9uZXdzLzk2NDQyOTU3NywxMzM3NSwuaHRtbCI+PElNRyANCisgICAgICAgICAgICBib3JkZXI9MCBzcmM9ImRvYzNfZmlsZXMvY29tbWVudHMuZ2lmIj4zIGNvbW1lbnRzPC9BPiANCisgICAgICAgICAgICAmbmJzcDt8Jm5ic3A7PEEgDQorICAgICAgICAgICAgaHJlZj0iaHR0cDovL2JwNi5nYW1lc3F1YWQubmV0LyNuZXdzX3RvcCI+dG9wPC9BPjwvRk9OVD4gPEJSPjxGT05UIA0KKyAgICAgICAgICAgIGNvbG9yPWJsYWNrIGZhY2U9QXJpYWwgc2l6ZT0yPlNldHVwIGEgUTMgc2VydmVyIGZvciBhbnlvbmUgd2FudGluZyANCisgICAgICAgICAgICB0byBwcmFjdGljZSBpbiBwcmVwYXJhdGlvbiBmb3IgUXVha2Vjb24uLiBDb25uZWN0IHRvIGJwNi5keW5kbnMub3JnIA0KKyAgICAgICAgICAgIGRlZmF1bHQgcG9ydC4gKFNFUlZFUjogQlA2IHN5c3RlbSwgMjU2IE1CIHJhbSwgY2VsZXJvbiA2MDAgb24gYSBUMyANCisgICAgICAgICAgICBjb25uZWN0aW9uKS4uLiBXaWxsIGJlIG1vdmVkIHRvIGFub3RoZXIgQlA2IHNlcnZlciBldmVudHVhbGx5LiBUaGlzIA0KKyAgICAgICAgICAgIGlzIG9ubHkgYSB0ZW1wb3JhcnkgdGVzdCBvZiB0aGUgc3lzdGVtIGFuZCBuZXQgY29ubmVjdGlvbi4gPEJSPihCVFctIA0KKyAgICAgICAgICAgIHRoZXJlIGFyZSBhIGZldyBib3QncyBydW5uaW5nIGFyb3VuZCBpbiB0aGVyZS4uKTwvRk9OVD48QlI+PEJSPjxBIA0KKyAgICAgICAgICAgIG5hbWU9bmV3c2l0ZW05NjQ0MjUxODQsOTU4MTIsPjwvQT48Qj48VT48Rk9OVCBjb2xvcj0jMDAzMzY2IA0KKyAgICAgICAgICAgIGZhY2U9IlZlcmRhbmEsIEFyaWFsIiBzaXplPTI+QklPUyBTYXZpb3IgdG8gdGhlIA0KKyAgICAgICAgICAgIHJlc2N1ZS4uLi48L0ZPTlQ+PC9VPjwvQj48QlI+PEZPTlQgY29sb3I9IzAwNjZjYyBmYWNlPUFyaWFsIA0KKyAgICAgICAgICAgIHNpemU9MT48U01BTEw+UG9zdGVkIGJ5IDxBIGNsYXNzPW5hdiANCisgICAgICAgICAgICBocmVmPSJtYWlsdG86dGltQGJwNi5jb20iPnRpbTwvQT4gQCAxMjo1M0FNIFBEVDwvU01BTEw+Jm5ic3A7IDxBIA0KKyAgICAgICAgICAgIGhyZWY9Imh0dHA6Ly9icDYuZ2FtZXNxdWFkLm5ldC9uZXdzLzk2NDQyNTE4NCw5NTgxMiwuaHRtbCI+PElNRyANCisgICAgICAgICAgICBib3JkZXI9MCBzcmM9ImRvYzNfZmlsZXMvY29tbWVudHMuZ2lmIj4yIGNvbW1lbnRzPC9BPiANCisgICAgICAgICAgICAmbmJzcDt8Jm5ic3A7PEEgDQorICAgICAgICAgICAgaHJlZj0iaHR0cDovL2JwNi5nYW1lc3F1YWQubmV0LyNuZXdzX3RvcCI+dG9wPC9BPjwvRk9OVD4gPEJSPjxGT05UIA0KKyAgICAgICAgICAgIGNvbG9yPWJsYWNrIGZhY2U9QXJpYWwgc2l6ZT0yPkRvIHlvdSBzd2VhdCBkdXJpbmcgdGhlIEJJT1MgZmxhc2hpbmcgDQorICAgICAgICAgICAgcHJvY2VkdXJlIG9uIHlvdXIgQlA2IG1vYm8/IElmIHNvIHRoZW4gdGhpcyBsaXR0bGUgZ2FkZ2V0IG1heWJlIA0KKyAgICAgICAgICAgIHdvcnRoIGEgZmlyc3QgbG9vay4gSXQncyBjYWxsZWQgdGhlICI8Qj5SRDEgQklPUyBTYXZpb3I8L0I+IiBhbmQgaXQgDQorICAgICAgICAgICAgcGx1Z3MgaW4gYmV0d2VlbiB5b3VyIEJJT1MgUk9NIGFuZCB0aGUgQklPUyBST00gc29ja2V0IG9uIHlvdXIgbW9iby4gDQorICAgICAgICAgICAgVGhpcyBkZXZpY2Ugd2lsbCBiYWNrdXAgeW91ciBCSU9TIGFuZCBhbmQgYWxsb3cgeW91IHRvIHJlY292ZXIgeW91ciANCisgICAgICAgICAgICBCSU9TIGluIHRoZSBldmVudCB0aGF0IHlvdXIgZmxhc2hpbmcgc2Vzc2lvbiBnb2VzIHdyb25nLiBJbiB0aGUgDQorICAgICAgICAgICAgZXZlbnQgb2YgYSBiYWQgZmxhc2gsIGp1c3QgZmxpcCBhIHN3aXRjaCBvbiB0aGUgUkRJIGFuZCBib290IHVwIHlvdXIgDQorICAgICAgICAgICAgc3lzdGVtLCBhbmQgZmxhc2ggYWdhaW4uIFRoaXMgaXMgYWxzbyBnb29kIGFzIGEgZmFpbHNhZmUgaW4gY2FzZSB5b3UgDQorICAgICAgICAgICAgZG9uJ3QgYmVsaWV2ZSBpbiBWaXJ1cyBQcm90ZWN0aW5nIHlvdXIgY29tcHV0ZXIuIChUaGFua3MgdG8gRnJlZCBmb3IgDQorICAgICAgICAgICAgbGluayk8QlI+PEEgaHJlZj0iaHR0cDovL3d3dy5pb3NzLmNvbS50dy9lZy9yZDEvUkQxaW5mbzAwMDQuUERGIiANCisgICAgICAgICAgICB0YXJnZXQ9X05FVz5NYW51ZmFjdHVyZXJzIEJyb2NodXJlPC9BPiAoUERGIEZvcm1hdCk8QlI+PEEgDQorICAgICAgICAgICAgaHJlZj0iaHR0cDovLzE5Mi4yMTYuMTg1LjEwL213YXZlL2RvYy9BMDY5NTAuaHRtbCIgDQorICAgICAgICAgICAgdGFyZ2V0PSdfQkxBTksiJz5Bbm90aGVyIGluZm8gcGFnZTwvQT48QlI+PEEgDQorICAgICAgICAgICAgaHJlZj0iaHR0cDovLzE5Mi4yMTYuMTg1LjEwL213YXZlL1Byb2RNQi1BQy1NVy5obXg/VUlEPSZhbXA7Q0lEPSZhbXA7dXBkZXB0cz1NQiZhbXA7RE5BTUU9JTNDYiUzRU1vdGhlcmJvYXJkcyUzQyUyRmIlM0UmYW1wO0JhY2s9UHJvZE1CLUFDLU1XLmhteD8iIA0KKyAgICAgICAgICAgIHRhcmdldD1fQkxBTks+QXZhaWxhYmxlIGZvciBhYm91dCAkMjA8L0E+PEJSPjxCUj48SU1HIA0KKyAgICAgICAgICAgIHNyYz0iZG9jM19maWxlcy9yZDEuanBnIj48L0ZPTlQ+PEJSPjxCUj48QSANCisgICAgICAgICAgICBuYW1lPW5ld3NpdGVtOTYzODc1ODUzLDEyNzMxLD48L0E+DQorICAgICAgICAgICAgPFRBQkxFIGJnQ29sb3I9IzAwMzM5OSB3aWR0aD0iMTAwJSI+DQorICAgICAgICAgICAgICA8VEJPRFk+DQorICAgICAgICAgICAgICA8VFI+DQorICAgICAgICAgICAgICAgIDxURD48Rk9OVCBjb2xvcj0jZmZmZmZmIGZhY2U9VmVyZGFuYSxhcmlhbCBzaXplPTI+PEI+TW9uZGF5LCANCisgICAgICAgICAgICAgICAgICBKdWx5IDE3LCAyMDAwPC9CPjwvRk9OVD48L1REPjwvVFI+PC9UQk9EWT48L1RBQkxFPjxCUj48IS0tPGhyIG5vc2hhZGUgd2lkdGg9MTAwJT4tLT48Qj48VT48Rk9OVCANCisgICAgICAgICAgICBjb2xvcj0jMDAzMzY2IGZhY2U9IlZlcmRhbmEsIEFyaWFsIiBzaXplPTI+SG93IFRvIA0KKyAgICAgICAgICAgIE92ZXJjbG9jazwvRk9OVD48L1U+PC9CPjxCUj48Rk9OVCBjb2xvcj0jMDA2NmNjIGZhY2U9QXJpYWwgDQorICAgICAgICAgICAgc2l6ZT0xPjxTTUFMTD5Qb3N0ZWQgYnkgPEEgY2xhc3M9bmF2IA0KKyAgICAgICAgICAgIGhyZWY9Im1haWx0bzpraWxsekBpODJocS5jb20iPkRhcmVEZXZpbDwvQT4gQCA0OjE3UE0gDQorICAgICAgICAgICAgUERUPC9TTUFMTD4mbmJzcDsgPEEgDQorICAgICAgICAgICAgaHJlZj0iaHR0cDovL2JwNi5nYW1lc3F1YWQubmV0L25ld3MvOTYzODc1ODUzLDEyNzMxLC5odG1sIj48SU1HIA0KKyAgICAgICAgICAgIGJvcmRlcj0wIHNyYz0iZG9jM19maWxlcy9jb21tZW50cy5naWYiPjMgY29tbWVudHM8L0E+IA0KKyAgICAgICAgICAgICZuYnNwO3wmbmJzcDs8QSANCisgICAgICAgICAgICBocmVmPSJodHRwOi8vYnA2LmdhbWVzcXVhZC5uZXQvI25ld3NfdG9wIj50b3A8L0E+PC9GT05UPiA8QlI+PEZPTlQgDQorICAgICAgICAgICAgY29sb3I9YmxhY2sgZmFjZT1BcmlhbCBzaXplPTI+Rm9yIHRob3NlIG9mIHlvdSB3aG8gYXJlIG5ldyB0byANCisgICAgICAgICAgICBvdmVyY2xvY2tpbmcsIHRoaXMgZ3VpZGUgd2lsbCBleHBsYWluIHRvIHlvdSBob3cgdG8gb3ZlcmNsb2NrLCBhbmQgDQorICAgICAgICAgICAgd2hhdCBzb21lIG9mIHRoZSB0ZXJtcyBhcmUuIExpa2UgJ0ZTQicgKHdoYXQgdGhlIGhlY2sgaXMgdGhhdCE/IA0KKyAgICAgICAgICAgIDowKSk8QlI+PEJSPjxBIGhyZWY9Imh0dHA6Ly9uZXRraWxscy5xZ2wub3JnL2Ffb2NfY29tcC5zaHRtbCIgDQorICAgICAgICAgICAgdGFyZ2V0PV9ibGFuaz5Ib3cgVG8gT3ZlcmNsb2NrPC9BPiA8L0ZPTlQ+PEJSPjxCUj48QSANCisgICAgICAgICAgICBuYW1lPW5ld3NpdGVtOTYzODc1NDg1LDIzMzUzLD48L0E+PEI+PFU+PEZPTlQgY29sb3I9IzAwMzM2NiANCisgICAgICAgICAgICBmYWNlPSJWZXJkYW5hLCBBcmlhbCIgc2l6ZT0yPlRoZSBDYXJkY29vbGVyIA0KKyAgICAgICAgICAgIFhUPC9GT05UPjwvVT48L0I+PEJSPjxGT05UIGNvbG9yPSMwMDY2Y2MgZmFjZT1BcmlhbCANCisgICAgICAgICAgICBzaXplPTE+PFNNQUxMPlBvc3RlZCBieSA8QSBjbGFzcz1uYXYgDQorICAgICAgICAgICAgaHJlZj0ibWFpbHRvOmtpbGx6QGk4MmhxLmNvbSI+RGFyZURldmlsPC9BPiBAIDQ6MTFQTSANCisgICAgICAgICAgICBQRFQ8L1NNQUxMPiZuYnNwOyA8QSANCisgICAgICAgICAgICBocmVmPSJodHRwOi8vYnA2LmdhbWVzcXVhZC5uZXQvbmV3cy85NjM4NzU0ODUsMjMzNTMsLmh0bWwiPjxJTUcgDQorICAgICAgICAgICAgYm9yZGVyPTAgc3JjPSJkb2MzX2ZpbGVzL2NvbW1lbnRzLmdpZiI+MSBjb21tZW50czwvQT4gDQorICAgICAgICAgICAgJm5ic3A7fCZuYnNwOzxBIA0KKyAgICAgICAgICAgIGhyZWY9Imh0dHA6Ly9icDYuZ2FtZXNxdWFkLm5ldC8jbmV3c190b3AiPnRvcDwvQT48L0ZPTlQ+IDxCUj48Rk9OVCANCisgICAgICAgICAgICBjb2xvcj1ibGFjayBmYWNlPUFyaWFsIHNpemU9Mj5Xb3chIEkgYW0gaW1wcmVzc2VkISBOZXZlcm1pbmQga2VlcGluZyANCisgICAgICAgICAgICB0aGUgQ1BVJ3MgY29vbC4uLiBLZWVwIHlvdXIgd2hvbGUgYm9hcmQgY29vbCE8QlI+PEJSPjxJPkV2ZW4gaWYgeW91ciANCisgICAgICAgICAgICBub3Qgb3ZlcmNsb2NraW5nIHlvdXIgc3lzdGVtIChvciBwbGFubmluZyBvbiBpdCksIHRoaXMgdW5pdCB3aWxsIA0KKyAgICAgICAgICAgIHByb3ZpZGUgc3lzdGVtIHN0YWJpbGl0eSBhbmQgbG9uZ2V2aXR5LiBXaGF0IHdvdWxkIGhhcHBlbiBvbmUgZGF5IG9mIA0KKyAgICAgICAgICAgIHlvdXIgR2VGb3JjZSBvciBDUFUgZmFuIHdlbnQgZGVhZD8gWW91IGNhbiBhbHNvIHRoaW5rIG9mIHRoaXMgDQorICAgICAgICAgICAgY29vbGluZyB1bml0IGFzIGEgYmFja3VwIHRvIGVzc2VudGlhbCBjb29saW5nIGZhbnMgaW4geW91ciANCisgICAgICAgICAgICBzeXN0ZW0uPC9JPjxCUj48QlI+Q2hlY2sgdGhpcyBvdXQhPEJSPjxCUj48QSANCisgICAgICAgICAgICBocmVmPSJodHRwOi8vd3d3LmJyb2tlbnBpeGVsLmNvbS9hcnRpY2xlcy9jb29sZXJYVC9jYXJkY29vbGVyWFRfMS5zaHRtbCIgDQorICAgICAgICAgICAgdGFyZ2V0PV9ibGFuaz5odHRwOi8vd3d3LmJyb2tlbnBpeGVsLmNvbS9hcnRpY2xlcy9jb29sZXJYVC9jYXJkY29vbGVyWFRfMS5zaHRtbDwvQT4gDQorICAgICAgICAgICAgPC9GT05UPjxCUj48QlI+PEEgbmFtZT1uZXdzaXRlbTk2Mzg1OTk4Miw4ODk4Miw+PC9BPjxCPjxVPjxGT05UIA0KKyAgICAgICAgICAgIGNvbG9yPSMwMDMzNjYgZmFjZT0iVmVyZGFuYSwgQXJpYWwiIHNpemU9Mj4nTmVyZCANCisgICAgICAgICAgICBJbnNpZGUnPC9GT05UPjwvVT48L0I+PEJSPjxGT05UIGNvbG9yPSMwMDY2Y2MgZmFjZT1BcmlhbCANCisgICAgICAgICAgICBzaXplPTE+PFNNQUxMPlBvc3RlZCBieSA8QSBjbGFzcz1uYXYgDQorICAgICAgICAgICAgaHJlZj0ibWFpbHRvOmtpbGx6QGk4MmhxLmNvbSI+RGFyZURldmlsPC9BPiBAIDExOjUzQU0gDQorICAgICAgICAgICAgUERUPC9TTUFMTD4mbmJzcDsgPEEgDQorICAgICAgICAgICAgaHJlZj0iaHR0cDovL2JwNi5nYW1lc3F1YWQubmV0L25ld3MvOTYzODU5OTgyLDg4OTgyLC5odG1sIj48SU1HIA0KKyAgICAgICAgICAgIGJvcmRlcj0wIHNyYz0iZG9jM19maWxlcy9jb21tZW50cy5naWYiPjEgY29tbWVudHM8L0E+IA0KKyAgICAgICAgICAgICZuYnNwO3wmbmJzcDs8QSANCisgICAgICAgICAgICBocmVmPSJodHRwOi8vYnA2LmdhbWVzcXVhZC5uZXQvI25ld3NfdG9wIj50b3A8L0E+PC9GT05UPiA8QlI+PEZPTlQgDQorICAgICAgICAgICAgY29sb3I9YmxhY2sgZmFjZT1BcmlhbCBzaXplPTI+V2UgYWxsIG5lZWQgdG8gaGF2ZSBzb21lIGZ1biANCisgICAgICAgICAgICBzb21ldGltZXMhIENoZWNrIG91dCB0aGlzIGxpdHRsZSB3ZWIgc2l0ZSB0aGF0IHNlbGxzICduZXJkJyBjbG90aGluZyANCisgICAgICAgICAgICA7KSAoSSBsaWtlIHRoZSBiaWJzIGluIHRoZSBKdW5pb3IgSGFja2VyeiBzZWN0aW9uKSA6Ld48QlI+PEJSPg0KKyAgICAgICAgICAgIDxESVYgYWxpZ249Y2VudGVyPjxBIGhyZWY9Imh0dHA6Ly93d3cubmVyZGdlYXIuY29tLyIgDQorICAgICAgICAgICAgdGFyZ2V0PV9ibGFuaz48SU1HIGJvcmRlcj0wIA0KKyAgICAgICAgICAgIHNyYz0iZG9jM19maWxlcy9uZXJkaW5zaWRlLmdpZiI+PC9BPjwvRElWPjwvRk9OVD48QlI+PEJSPjxBIA0KKyAgICAgICAgICAgIG5hbWU9bmV3c2l0ZW05NjM4MTk3OTYsOTY4OCw+PC9BPjxCPjxVPjxGT05UIGNvbG9yPSMwMDMzNjYgDQorICAgICAgICAgICAgZmFjZT0iVmVyZGFuYSwgQXJpYWwiIHNpemU9Mj5EdWFsIFBTVSBXaXJpbmcgZGlhZ3JhbS4uLiAocHJldmlldyB0byANCisgICAgICAgICAgICBQYXJ0IDEgV2F0ZXJjb29saW5nIFByb2plY3QpPC9GT05UPjwvVT48L0I+PEJSPjxGT05UIGNvbG9yPSMwMDY2Y2MgDQorICAgICAgICAgICAgZmFjZT1BcmlhbCBzaXplPTE+PFNNQUxMPlBvc3RlZCBieSA8QSBjbGFzcz1uYXYgDQorICAgICAgICAgICAgaHJlZj0ibWFpbHRvOnRpbUBicDYuY29tIj50aW08L0E+IEAgMTI6NDNBTSBQRFQ8L1NNQUxMPiZuYnNwOyA8QSANCisgICAgICAgICAgICBocmVmPSJodHRwOi8vYnA2LmdhbWVzcXVhZC5uZXQvbmV3cy85NjM4MTk3OTYsOTY4OCwuaHRtbCI+PElNRyANCisgICAgICAgICAgICBib3JkZXI9MCBzcmM9ImRvYzNfZmlsZXMvY29tbWVudHMuZ2lmIj4xMSBjb21tZW50czwvQT4gDQorICAgICAgICAgICAgJm5ic3A7fCZuYnNwOzxBIA0KKyAgICAgICAgICAgIGhyZWY9Imh0dHA6Ly9icDYuZ2FtZXNxdWFkLm5ldC8jbmV3c190b3AiPnRvcDwvQT48L0ZPTlQ+IDxCUj48Rk9OVCANCisgICAgICAgICAgICBjb2xvcj1ibGFjayBmYWNlPUFyaWFsIHNpemU9Mj5XaGVuIGlzIGNvbWVzIHRvIG92ZXJjbG9ja2luZyB5b3VyIA0KKyAgICAgICAgICAgIHN5c3RlbSwgY29vbGluZyBwbGF5cyBhIGJpZyByb2xlLiBQb3dlcmluZyBhbGwgb2YgdGhvc2UgZmFucyBpbiB5b3VyIA0KKyAgICAgICAgICAgIHN5c3RlbSBjYW4gY2F1c2UgcXVpdGUgYSBzdHJhaW4gb24geW91ciBQU1UgKFBvd2VyIFN1cHBseSBVbml0KS4gDQorICAgICAgICAgICAgRGVwZW5kaW5nIG9uIHRoZSBudW1iZXIgb2YgcGVyaXBoZXJhbHMgaW4geW91ciBzeXN0ZW0sIGFkZGluZyBhIG1vcmUgDQorICAgICAgICAgICAgcG93ZXJmdWxsIFBTVSBvciBhZGRpbmcgYSBzZWNvbmQgUFNVIG1heSBiZSBuZWNjZXNhcnkuIEZvciANCisgICAgICAgICAgICB3YXRlcmNvb2xpbmcgYW5kIHVzaW5nIHBlbHRpZXJzLCBkZWRpY2F0aW5nIGEgc2Vjb25kIFBTVSB0byBwb3dlciANCisgICAgICAgICAgICB0aGUgUGVsdGllcnMgKFRFQydzKSBpcyBhIGdvb2QgaWRlYS4gSGVyZSBJIGhhdmUgY29tZSB1cCB3aXRoIDIgDQorICAgICAgICAgICAgZGlhZ3JhbXMgb24gaG93IEkgd2lyZWQgZHVhbCAzMDAgd2F0dCBBVFggcG93ZXIgc3VwcGx5IHVuaXRzIGZvciB0aGUgDQorICAgICAgICAgICAgQmxpenphcmQgQlA2IHdhdGVyY29vbGluZyBwcm9qZWN0LiBDb25zaWRlciB0aGlzIHBhcnQgb2YgU3RlcCAxLiANCisgICAgICAgICAgICBNb3JlIHdpbGwgZm9sbG93IHRoaXMgd2Vlay4gQlRXLi4gaGFja2luZyB1cCB5b3VyIFBTVSdzIGlzIHZlcnkgDQorICAgICAgICAgICAgZGFuZ2Vyb3VzIGFuZCBpcyBub3QgcmVjb21tZW5kZWQgdW5sZXNzIHlvdSBrbm93IHdoYXQgeW91IGFyZSBkb2luZy4gDQorICAgICAgICAgICAgPEJSPjxCUj5WaWV3IERpYWdyYW0gMSA8QSANCisgICAgICAgICAgICBocmVmPSJodHRwOi8vYnA2LmdhbWVzcXVhZC5uZXQvaW1hZ2VzL3dpcmluZy5qcGciIA0KKyAgICAgICAgICAgIHRhcmdldD1fQkxBTks+aGVyZTwvQT4uPEJSPlZpZXcgRGlhZ3JhbSAyIDxBIA0KKyAgICAgICAgICAgIGhyZWY9Imh0dHA6Ly9icDYuZ2FtZXNxdWFkLm5ldC9pbWFnZXMvcHN1Mi5naWYiIA0KKyAgICAgICAgICAgIHRhcmdldD1fQkxBTks+aGVyZTwvQT4uPEJSPjxCUj5JIHVzZWQgVGFwLUluIFNxdWVlemUgQ29ubmVjdG9ycyBhbmQgDQorICAgICAgICAgICAgMjIgZ3VhZ2Ugd2lyZSB0byBjb25uZWN0IHRoZSB3aXJlcy4gWW91IGNhbiBnZXQgdGhlbSBhdCBSYWRpbyBTaGFjayANCisgICAgICAgICAgICBQYXJ0IyA2NC0zMDUzIG9yIDxBIA0KKyAgICAgICAgICAgIGhyZWY9Imh0dHA6Ly93d3cucmFkaW9zaGFjay5jb20vUHJvZHVjdENhdGFsb2cvUHJvZHVjdERldGFpbC9JbmRleC8xLDIwOTgsLDAwLmh0bWw/U0tVU3RyaW5nMT02NCZhbXA7U0tVU3RyaW5nMj0zMDUzIiANCisgICAgICAgICAgICB0YXJnZXQ9X2JsYW5rPmNsaWNrIGhlcmU8L0E+LjwvRk9OVD48QlI+PEJSPjxBIA0KKyAgICAgICAgICAgIG5hbWU9bmV3c2l0ZW05NjM3NjY2NTUsNzg1MTEsPjwvQT4NCisgICAgICAgICAgICA8VEFCTEUgYmdDb2xvcj0jMDAzMzk5IHdpZHRoPSIxMDAlIj4NCisgICAgICAgICAgICAgIDxUQk9EWT4NCisgICAgICAgICAgICAgIDxUUj4NCisgICAgICAgICAgICAgICAgPFREPjxGT05UIGNvbG9yPSNmZmZmZmYgZmFjZT1WZXJkYW5hLGFyaWFsIHNpemU9Mj48Qj5TdW5kYXksIA0KKyAgICAgICAgICAgICAgICAgIEp1bHkgMTYsIDIwMDA8L0I+PC9GT05UPjwvVEQ+PC9UUj48L1RCT0RZPjwvVEFCTEU+PEJSPjwhLS08aHIgbm9zaGFkZSB3aWR0aD0xMDAlPi0tPjxCPjxVPjxGT05UIA0KKyAgICAgICAgICAgIGNvbG9yPSMwMDMzNjYgZmFjZT0iVmVyZGFuYSwgQXJpYWwiIHNpemU9Mj5SQU0gT3ZlcmNsb2NraW5nPyANCisgICAgICAgICAgICBIbW1tbW0uPC9GT05UPjwvVT48L0I+PEJSPjxGT05UIGNvbG9yPSMwMDY2Y2MgZmFjZT1BcmlhbCANCisgICAgICAgICAgICBzaXplPTE+PFNNQUxMPlBvc3RlZCBieSA8QSBjbGFzcz1uYXYgDQorICAgICAgICAgICAgaHJlZj0ibWFpbHRvOmtpbGx6QGk4MmhxLmNvbSI+RGFyZURldmlsPC9BPiBAIDk6NTdBTSANCisgICAgICAgICAgICBQRFQ8L1NNQUxMPiZuYnNwOyA8QSANCisgICAgICAgICAgICBocmVmPSJodHRwOi8vYnA2LmdhbWVzcXVhZC5uZXQvbmV3cy85NjM3NjY2NTUsNzg1MTEsLmh0bWwiPjxJTUcgDQorICAgICAgICAgICAgYm9yZGVyPTAgc3JjPSJkb2MzX2ZpbGVzL2NvbW1lbnRzLmdpZiI+MyBjb21tZW50czwvQT4gDQorICAgICAgICAgICAgJm5ic3A7fCZuYnNwOzxBIA0KKyAgICAgICAgICAgIGhyZWY9Imh0dHA6Ly9icDYuZ2FtZXNxdWFkLm5ldC8jbmV3c190b3AiPnRvcDwvQT48L0ZPTlQ+IDxCUj48Rk9OVCANCisgICAgICAgICAgICBjb2xvcj1ibGFjayBmYWNlPUFyaWFsIHNpemU9Mj5JIGtub3cgd2UncmUgcHJldHR5IGJpZyBvdmVyY2xvY2tlcnMgDQorICAgICAgICAgICAgaGVyZSBhdCBCUDYuQ29tIHNvLCB0aGlzIGlzIGEgcG9zdCBvZiBjaG9pY2UgOy0pIEkndmUgc2VlbiB0aGUgDQorICAgICAgICAgICAgcXVlc3Rpb24gaW4gdGhlIG1lc3NhZ2UgYm9hcmRzLCAnd2h5IGNhbid0IEkgb3ZlcmNsb2NrIGFueSBoaWdoZXI/JyANCisgICAgICAgICAgICBXZWxsLCBpdCdzIG5vdCBhbHdheXMgdGhlIENQVSB0aGF0J3MgaG9sZGluZyB5b3UgYmFjay4uLiBNYW55IG90aGVyIA0KKyAgICAgICAgICAgIHRoaW5ncyBuZWVkIHRvIGJlIHRha2VuIGNhcmUgb2YgdG8gb3ZlcmNsb2NrIHN1Y2ggYXMgeW91ciBQQ0kgDQorICAgICAgICAgICAgZGV2aWNlcyAoY2FuIHRoZXkgaGFuZGxlIHRoZSBoaWdoZXIgYnVzIHNwZWVkKSwgdGhlIGFjdHVhbCBDUFUsIGFuZCANCisgICAgICAgICAgICB5b3VyIFJBTS4gSSdtIG5vdCBzYXlpbmcgdGhhdCB0aGF0IGEgaGlnaCBxdWFsaXR5IHN0aWNrIG9mIHNpbGljb24gDQorICAgICAgICAgICAgd2lsbCBlbmFibGUgeW91IHRvIG92ZXJjbG9jayB5b3VyIDM2Nk1IeiB0byAxIEdIWiAoSSB3aXNoISksIGJ1dCwgaXQgDQorICAgICAgICAgICAgd2lsbCBjZXJ0YWlubHkgaGVscCA9KTxCUj48QlI+RXh0cmVtZSBPdmVyY2xvY2tpbmcgaGFzIHRlc3RlZCANCisgICAgICAgICAgICAob3ZlcmNsb2NrZWQpIFBDMTMzIFJBTSB0byB0aGVyZSBmdWxsIHBvdGVudGlhbC4gSGVyZSdzIGEgcXVvdGUgSSANCisgICAgICAgICAgICBmb3VuZCBhbmQgdGhlIGxpbms6PEJSPjxCUj48ST5XZWxsLCB0aGUgZ3V5cyBhdCBFeHRyZW1lIE92ZXJjbG9ja2luZyANCisgICAgICAgICAgICBoYXZlIGJlZW4gaGFyZCBhdCB3b3JrIGFnYWluIHdpdGggdGhlaXIgbGF0ZXN0IHJldmlldy4gVGhpcyB0aW1lIA0KKyAgICAgICAgICAgIHRoZXkgaGF2ZSBwdXQgc2V2ZW4gMTI4TUIgUEMxMzMgbWVtb3J5IG1vZHVsZXMgdGhyb3VnaCB0aGUgdG9ydHVyZSANCisgICAgICAgICAgICB0ZXN0cyB0byBkZXRlcm1pbmUgdGhlaXIgbWF4aW11bSBvdmVyY2xvY2tpbmcgcG90ZW50aWFsLiBXaGljaCBvbmUncyANCisgICAgICAgICAgICBjYW1lIG91dCBvbiB0b3A/IFJlYWQgdGhlIHJldmlldyB0byBmaW5kIG91dC4uLi48L0k+PEJSPjxCUj48QSANCisgICAgICAgICAgICBocmVmPSJodHRwOi8vd3d3LmV4dHJlbWVvdmVyY2xvY2tpbmcuY29tL3Jldmlld3MvbWVtb3J5L3JhbV9yb3VuZHVwXzEuaHRtbCIgDQorICAgICAgICAgICAgdGFyZ2V0PV9ibGFuaz5Db29rZWQgUkFNLi4uIFl1bW1pZTwvQT48QlI+PEJSPlRoZSANCisgICAgICAgICAgICDQ0C48L0ZPTlQ+PEJSPjxCUj48QSBuYW1lPW5ld3NpdGVtOTYzNzY0MjM2LDc2NzIwLD48L0E+PEI+PFU+PEZPTlQgDQorICAgICAgICAgICAgY29sb3I9IzAwMzM2NiBmYWNlPSJWZXJkYW5hLCBBcmlhbCIgc2l6ZT0yPkNQVSANCisgICAgICAgICAgICBHdWlkZTwvRk9OVD48L1U+PC9CPjxCUj48Rk9OVCBjb2xvcj0jMDA2NmNjIGZhY2U9QXJpYWwgDQorICAgICAgICAgICAgc2l6ZT0xPjxTTUFMTD5Qb3N0ZWQgYnkgPEEgY2xhc3M9bmF2IA0KKyAgICAgICAgICAgIGhyZWY9Im1haWx0bzpraWxsekBpODJocS5jb20iPkRhcmVEZXZpbDwvQT4gQCA5OjE3QU0gDQorICAgICAgICAgICAgUERUPC9TTUFMTD4mbmJzcDsgPEEgDQorICAgICAgICAgICAgaHJlZj0iaHR0cDovL2JwNi5nYW1lc3F1YWQubmV0L25ld3MvOTYzNzY0MjM2LDc2NzIwLC5odG1sIj48SU1HIA0KKyAgICAgICAgICAgIGJvcmRlcj0wIHNyYz0iZG9jM19maWxlcy9jb21tZW50cy5naWYiPjAgY29tbWVudHM8L0E+IA0KKyAgICAgICAgICAgICZuYnNwO3wmbmJzcDs8QSANCisgICAgICAgICAgICBocmVmPSJodHRwOi8vYnA2LmdhbWVzcXVhZC5uZXQvI25ld3NfdG9wIj50b3A8L0E+PC9GT05UPiA8QlI+PEZPTlQgDQorICAgICAgICAgICAgY29sb3I9YmxhY2sgZmFjZT1BcmlhbCBzaXplPTI+QSBmb2xsb3cgdXAgb24gdGhlICdXZWVrbHkgQ1BVIA0KKyAgICAgICAgICAgIFByaWNlcycsIHRoaXMgZ3VpZGUgd2lsbCBoZWxwIHlvdSBkZXRlcm1pbmUgd2hpY2ggY3B1IGlzIGJlc3QgZm9yIA0KKyAgICAgICAgICAgIHlvdSAoYW5kIHlvdXIgYm9hcmQgOy0pKS4gU2VudCB0byBtZSBieSBTcGFua3ksIGhlcmUncyB0aGUgDQorICAgICAgICAgICAgbGluazo8QlI+PEJSPg0KKyAgICAgICAgICAgIDxMST48QSANCisgICAgICAgICAgICBocmVmPSJodHRwOi8vd3d3Ni50b21zaGFyZHdhcmUuY29tL2hvd3RvLzAwcTIvMDAwNDEyL2luZGV4Lmh0bWwiIA0KKyAgICAgICAgICAgIHRhcmdldD1fYmxhbms+aHR0cDovL3d3dzYudG9tc2hhcmR3YXJlLmNvbS9ob3d0by8wMHEyLzAwMDQxMi9pbmRleC5odG1sPC9BPjwvRk9OVD48QlI+PEJSPjxBIA0KKyAgICAgICAgICAgIG5hbWU9bmV3c2l0ZW05NjM2ODU3NDksMjgyOTAsPjwvQT4NCisgICAgICAgICAgICA8VEFCTEUgYmdDb2xvcj0jMDAzMzk5IHdpZHRoPSIxMDAlIj4NCisgICAgICAgICAgICAgIDxUQk9EWT4NCisgICAgICAgICAgICAgIDxUUj4NCisgICAgICAgICAgICAgICAgPFREPjxGT05UIGNvbG9yPSNmZmZmZmYgZmFjZT1WZXJkYW5hLGFyaWFsIHNpemU9Mj48Qj5TYXR1cmRheSwgDQorICAgICAgICAgICAgICAgICAgSnVseSAxNSwgMjAwMDwvQj48L0ZPTlQ+PC9URD48L1RSPjwvVEJPRFk+PC9UQUJMRT48QlI+PCEtLTxociBub3NoYWRlIHdpZHRoPTEwMCU+LS0+PEI+PFU+PEZPTlQgDQorICAgICAgICAgICAgY29sb3I9IzAwMzM2NiBmYWNlPSJWZXJkYW5hLCBBcmlhbCIgc2l6ZT0yPldlZWtseSBDUFUgDQorICAgICAgICAgICAgUHJpY2VzPC9GT05UPjwvVT48L0I+PEJSPjxGT05UIGNvbG9yPSMwMDY2Y2MgZmFjZT1BcmlhbCANCisgICAgICAgICAgICBzaXplPTE+PFNNQUxMPlBvc3RlZCBieSA8QSBjbGFzcz1uYXYgDQorICAgICAgICAgICAgaHJlZj0ibWFpbHRvOmtpbGx6QGk4MmhxLmNvbSI+RGFyZURldmlsPC9BPiBAIDExOjI5QU0gDQorICAgICAgICAgICAgUERUPC9TTUFMTD4mbmJzcDsgPEEgDQorICAgICAgICAgICAgaHJlZj0iaHR0cDovL2JwNi5nYW1lc3F1YWQubmV0L25ld3MvOTYzNjg1NzQ5LDI4MjkwLC5odG1sIj48SU1HIA0KKyAgICAgICAgICAgIGJvcmRlcj0wIHNyYz0iZG9jM19maWxlcy9jb21tZW50cy5naWYiPjIgY29tbWVudHM8L0E+IA0KKyAgICAgICAgICAgICZuYnNwO3wmbmJzcDs8QSANCisgICAgICAgICAgICBocmVmPSJodHRwOi8vYnA2LmdhbWVzcXVhZC5uZXQvI25ld3NfdG9wIj50b3A8L0E+PC9GT05UPiA8QlI+PEZPTlQgDQorICAgICAgICAgICAgY29sb3I9YmxhY2sgZmFjZT1BcmlhbCBzaXplPTI+V293LCBmb3VuZCB0aGlzIHZlcnkgdXNlZnVsISBXYW50aW5nIA0KKyAgICAgICAgICAgIHRvIGJ1eSBhIG5ldyBDUFU/IENoZWNrIG91dCB0aGlzIGRldGFpbGVkIHByaWNlIGxpc3QhPEJSPjxCUj48QSANCisgICAgICAgICAgICBocmVmPSJodHRwOi8vd3d3LnNoYXJreWV4dHJlbWUuY29tL2hhcmR3YXJlL3dlZWtseV9jcHUvIiANCisgICAgICAgICAgICB0YXJnZXQ9X2JsYW5rPkNsaWNrIEhlcmUuPC9BPiA8QlI+PEJSPlRoYW5rcyBTaGFya3kgDQorICAgICAgICAgICAgRXh0cmVtZSE8L0ZPTlQ+PEJSPjxCUj48QSANCisgICAgICAgICAgICBuYW1lPW5ld3NpdGVtOTYzNjc5ODgxLDM1Mjc3LD48L0E+PEI+PFU+PEZPTlQgY29sb3I9IzAwMzM2NiANCisgICAgICAgICAgICBmYWNlPSJWZXJkYW5hLCBBcmlhbCIgc2l6ZT0yPkZhc3QgV2FsbHBhcGVyczwvRk9OVD48L1U+PC9CPjxCUj48Rk9OVCANCisgICAgICAgICAgICBjb2xvcj0jMDA2NmNjIGZhY2U9QXJpYWwgc2l6ZT0xPjxTTUFMTD5Qb3N0ZWQgYnkgPEEgY2xhc3M9bmF2IA0KKyAgICAgICAgICAgIGhyZWY9Im1haWx0bzpraWxsekBpODJocS5jb20iPkRhcmVEZXZpbDwvQT4gQCA5OjUxQU0gDQorICAgICAgICAgICAgUERUPC9TTUFMTD4mbmJzcDsgPEEgDQorICAgICAgICAgICAgaHJlZj0iaHR0cDovL2JwNi5nYW1lc3F1YWQubmV0L25ld3MvOTYzNjc5ODgxLDM1Mjc3LC5odG1sIj48SU1HIA0KKyAgICAgICAgICAgIGJvcmRlcj0wIHNyYz0iZG9jM19maWxlcy9jb21tZW50cy5naWYiPjAgY29tbWVudHM8L0E+IA0KKyAgICAgICAgICAgICZuYnNwO3wmbmJzcDs8QSANCisgICAgICAgICAgICBocmVmPSJodHRwOi8vYnA2LmdhbWVzcXVhZC5uZXQvI25ld3NfdG9wIj50b3A8L0E+PC9GT05UPiA8QlI+PEZPTlQgDQorICAgICAgICAgICAgY29sb3I9YmxhY2sgZmFjZT1BcmlhbCBzaXplPTI+RkFTVC1NSHogaGFzIHJlbGVhc2VkIHNvbWUgd2FsbHBhcGVycyEgDQorICAgICAgICAgICAgPEEgaHJlZj0iaHR0cDovLzY0LjI5LjE4LjExMS93YWxscGFwZXIvaW5kZXguaHRtbCIgDQorICAgICAgICAgICAgdGFyZ2V0PV9ibGFuaz5DbGljayBoZXJlPC9BPiB0byB2aWV3IHRoZW0uIFRoZXkgY29tZSBpbiBzaXplcyANCisgICAgICAgICAgICA4MDB4NjAwIDEwMjR4NzY4IGFuZCAxMTUyeDg2NC4gSWYgeW91IGhhdmUgeW91ciBkZXNrdG9wIHNldCBhdCBhIA0KKyAgICAgICAgICAgIGxhcmdlciBzaXplLCBqdXN0IHVzZSB0aGUgJ3N0cmV0Y2gnIGZ1bmN0aW9uIGluIGRlc2t0b3AgcHJvcGVydGllcyANCisgICAgICAgICAgICBpbnN0ZWFkIG9mICdjZW50ZXInLiBXb3JrcyBncmVhdC48QlI+PEJSPkluIG90aGVyIG5ld3MsIHdlIHdhbnQgdG8gDQorICAgICAgICAgICAgZmlubmlzaCBvZmYgYWxsIHRoZSBzZWN0aW9ucyBhdCBCUDYuQ29tIHNvLCB0byBzdGFydCwgd2UncmUgZ29pbmcgdG8gDQorICAgICAgICAgICAgd29yayBvbiB0aGUgPEEgaHJlZj0iaHR0cDovL2JwNi5nYW1lc3F1YWQubmV0L3VjLnBodG1sIiANCisgICAgICAgICAgICB0YXJnZXQ9X2JsYW5rPlBpY3R1cmUgR2FsbGVyeTwvQT4uIFRvIGhlbHAgdXMgb3V0LCB5b3UgY2FuIHNlbmQgaW4gDQorICAgICAgICAgICAgYWxsIHlvdXIgY29vbCwgd2llcmQsIGNyYXp5IHBpY3MgdGhhdCB5b3UgbWF5IGhhdmUgdG86IDxBIA0KKyAgICAgICAgICAgIGhyZWY9Im1haWx0bzp0aGVkYXJlZGV2aWxAYnA2LmNvbSI+dGhlZGFyZWRldmlsQGJwNi5jb208L0E+LiAoVGhlIA0KKyAgICAgICAgICAgIHRvcGljIGJlaW5nIGNvbXB1dGVycywgZHVoISA6MCkgQW5kIG5vLi4uIEkgZG9uJ3Qgd2FudCB0byByZWNpZXZlIA0KKyAgICAgICAgICAgIGFueSBwb3JubyBwaWNjaWVzIGluIG15IG1haWxib3ghIEkgaGF2ZSBlbm91Z2ggb2YgdGhvc2UhKSBLaWRkaW5nIA0KKyAgICAgICAgICAgIGd1eXMuPEJSPjxCUj5Pa2F5LCB0aGF0J3MgYWxsIGZvciBub3cuPEJSPjxCUj5UaGUgDQorICAgICAgICAgICAg0NAuPC9GT05UPjxCUj48QlI+PEEgbmFtZT1uZXdzaXRlbTk2MzYxOTUwNSwzNzY0LD48L0E+DQorICAgICAgICAgICAgPFRBQkxFIGJnQ29sb3I9IzAwMzM5OSB3aWR0aD0iMTAwJSI+DQorICAgICAgICAgICAgICA8VEJPRFk+DQorICAgICAgICAgICAgICA8VFI+DQorICAgICAgICAgICAgICAgIDxURD48Rk9OVCBjb2xvcj0jZmZmZmZmIGZhY2U9VmVyZGFuYSxhcmlhbCBzaXplPTI+PEI+RnJpZGF5LCANCisgICAgICAgICAgICAgICAgICBKdWx5IDE0LCAyMDAwPC9CPjwvRk9OVD48L1REPjwvVFI+PC9UQk9EWT48L1RBQkxFPjxCUj48IS0tPGhyIG5vc2hhZGUgd2lkdGg9MTAwJT4tLT48Qj48VT48Rk9OVCANCisgICAgICAgICAgICBjb2xvcj0jMDAzMzY2IGZhY2U9IlZlcmRhbmEsIEFyaWFsIiBzaXplPTI+SGV5IA0KKyAgICAgICAgICAgIFRoZXJlITwvRk9OVD48L1U+PC9CPjxCUj48Rk9OVCBjb2xvcj0jMDA2NmNjIGZhY2U9QXJpYWwgDQorICAgICAgICAgICAgc2l6ZT0xPjxTTUFMTD5Qb3N0ZWQgYnkgPEEgY2xhc3M9bmF2IA0KKyAgICAgICAgICAgIGhyZWY9Im1haWx0bzpraWxsekBpODJocS5jb20iPkRhcmVEZXZpbDwvQT4gQCA1OjA1UE0gDQorICAgICAgICAgICAgUERUPC9TTUFMTD4mbmJzcDsgPEEgDQorICAgICAgICAgICAgaHJlZj0iaHR0cDovL2JwNi5nYW1lc3F1YWQubmV0L25ld3MvOTYzNjE5NTA1LDM3NjQsLmh0bWwiPjxJTUcgDQorICAgICAgICAgICAgYm9yZGVyPTAgc3JjPSJkb2MzX2ZpbGVzL2NvbW1lbnRzLmdpZiI+NyBjb21tZW50czwvQT4gDQorICAgICAgICAgICAgJm5ic3A7fCZuYnNwOzxBIA0KKyAgICAgICAgICAgIGhyZWY9Imh0dHA6Ly9icDYuZ2FtZXNxdWFkLm5ldC8jbmV3c190b3AiPnRvcDwvQT48L0ZPTlQ+IDxCUj48Rk9OVCANCisgICAgICAgICAgICBjb2xvcj1ibGFjayBmYWNlPUFyaWFsIHNpemU9Mj5IZXkgZ3V5cywganVzdCB3YW50ZWQgdG8gaW50cm9kdWNlIA0KKyAgICAgICAgICAgIG15c2VsZiwgc29tZSBvZiB5b3UgbWF5IGhhdmUgYWxyZWFkeSBtZXQgbWUgb24gdGhlIEJQNi5jb20gYm9hcmQuIA0KKyAgICAgICAgICAgIEknbGwgYmUgcG9zdGluZyB1cCBuZXdzIGZyb20gdGltZSB0byB0aW1lIG5vdyBzbywgaWYgeW91J2QgbGlrZSwgeW91IA0KKyAgICAgICAgICAgIG1heSBzZW5kIG1lIHNvbWUgbmV3cyB0byBiZSBwb3N0ZWQgaWYgeW91IGZpbmQgYW55ICggd2UgZG9uJ3Qgd2FudCANCisgICAgICAgICAgICB0byBmbG9vZCBUaW0gOy0pICkuPEJSPjxCUj5NeSBlLW1haWwgYWRkcmVzcyBpcyA8QSANCisgICAgICAgICAgICBocmVmPSJtYWlsdG86a2lsbHpAaTgyaHEuY29tIj5raWxsekBpODJocS5jb208L0E+PEJSPjxCUj5DaWFvIGZvciANCisgICAgICAgICAgICBub3cuPEJSPjxCUj5UaGUg0NAuPC9GT05UPjxCUj48QlI+DQorICAgICAgICAgICAgPENFTlRFUj48SUZSQU1FIGZyYW1lQm9yZGVyPTAgaGVpZ2h0PTYwIG1hcmdpbkhlaWdodD0wIG1hcmdpbldpZHRoPTAgDQorICAgICAgICAgICAgbm9SZXNpemUgc2Nyb2xsaW5nPW5vIHNyYz0iZG9jM19maWxlcy9hZF9pZnJhbWUuaHRtIiANCisgICAgICAgICAgICB3aWR0aD00Njg+PGEgaHJlZj0iaHR0cDovL2Fkcy5hZGZsaWdodC5jb20vZ29fc3RhdGljLmFzcD9hc2lkPTc3MDgiIHRhcmdldD0iX3RvcCI+PGltZyB3aWR0aD00NjggaGVpZ2h0PTYwIGJvcmRlcj0wIGFsdD0iQWR2ZXJ0aXNlbWVudCIgc3JjPSJodHRwOi8vYWRzLmFkZmxpZ2h0LmNvbS9hZF9zdGF0aWMuYXNwP3BpZD0yMDk3JnNpZD0xODgxJmFzaWQ9NzcwOCI+PC9hPjwvSUZSQU1FPjwvQ0VOVEVSPjwvTEk+PC9GT05UPjwvVEQ+PC9UUj48L1RCT0RZPjwvVEFCTEU+PC9DRU5URVI+PC9QPjwvVEQ+DQorICAgIDxURCBiZ0NvbG9yPXNpbHZlciB2QWxpZ249dG9wIHdpZHRoPSIxMCUiPg0KKyAgICAgIDxDRU5URVI+DQorICAgICAgPFA+DQorICAgICAgPFRBQkxFIGJnQ29sb3I9c2lsdmVyIGJvcmRlcj0wIGNlbGxQYWRkaW5nPTAgY2VsbFNwYWNpbmc9MCB3aWR0aD0iMTAwJSI+DQorICAgICAgICA8VEJPRFk+DQorICAgICAgICA8VFI+DQorICAgICAgICAgIDxURCBDT0xTVEFSVD0iMSI+DQorICAgICAgICAgICAgPENFTlRFUj48IS0tCTxGT1JNIEFDVElPTj0iL2NnaS1iaW4vc3Vic2NyaWJlLnBsIiBNRVRIT0Q9IlBPU1QiIEVOQ1RZUEU9ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCI+DQorCQkJCQkJPElNRyBTUkM9Ii9pbWFnZXMvc3BhY2VyLmdpZiIgV0lEVEg9IjExMSIgSEVJR0hUPSIxIj48QlI+DQorCQkJCQkJPFA+PEI+PEZPTlQgU0laRT0iMiIgQ09MT1I9IiMwMDAwNjYiIEZBQ0U9IlZlcmRhbmEiPk5ld3NsZXR0ZXI8L0ZPTlQ+PC9CPjxGT05UIFNJWkU9IjEiIEZBQ0U9IlZlcmRhbmEiPjxCUj4NCisJCQkJCQk8SU5QVVQgVFlQRT0iVEVYVCIgTkFNRT0iZW1haWwiIFNJWkU9IjEwIiBWQUxVRT0idXJAZW1haWwuY29tIj48QlI+DQorCQkJCQkJPElOUFVUIFRZUEU9IkhJRERFTiIgTkFNRT0ic3Vic2NyaWJlIiBTSVpFPSItMSIgVkFMVUU9InN1YnNjcmliZSI+PElOUFVUIFRZUEU9IklNQUdFIiBTUkM9Ii9pbWFnZXMvc3Vic2NyaWJlLmdpZiIgV0lEVEg9IjgwIg0KKwkJCQkJCUhFSUdIVD0iMjciIEFMSUdOPSJCT1RUT00iIEJPUkRFUj0iMCI+PC9GT05UPg0KKwkJCQkJCTwvRk9STT4gLS0+DQorICAgICAgICAgICAgPEZPUk0gDQorICAgICAgICAgICAgYWN0aW9uPWh0dHA6Ly9icDYuZ2FtZXNxdWFkLm5ldC9jZ2ktYmluL25ld3Mvdmlld25ld3MuY2dpP2VtYWlsbGlzdCANCisgICAgICAgICAgICBtZXRob2Q9cG9zdD48SU1HIGhlaWdodD0xIHNyYz0iZG9jM19maWxlcy9zcGFjZXIuZ2lmIiANCisgICAgICAgICAgICB3aWR0aD0xMTE+PEJSPjxGT05UIHNpemU9MT5OZXdzbGV0dGVyPEJSPjxJTlBVVCBuYW1lPW5wZW1haWwgc2l6ZT0xMyANCisgICAgICAgICAgICB2YWx1ZT0iZS1tYWlsIGFkZHIuIj48QlI+PElOUFVUIG5hbWU9bnBzdWJzY3JpYmUgc3R5bGU9IkJBQ0tHUk9VTkQtQ09MT1I6ICMwMDAwMDA7IENPTE9SOiAjZmZmZmZmOyBGT05ULUZBTUlMWTogVmVyZGFuYTsgRk9OVC1TSVpFOiB4eC1zbWFsbDsgRk9OVC1XRUlHSFQ6IGJvbGQiIHR5cGU9c3VibWl0IHZhbHVlPVN1YnNjcmliZT48QlI+PCEtLSA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJucHVuc3Vic2NyaWJlIiB2YWx1ZT0iVW5zdWJzY3JpYmUiIHN0eWxlPSJmb250LXNpemU6IHh4LXNtYWxsOyBmb250LWZhbWlseTogVmVyZGFuYTsgZm9udC13ZWlnaHQ6IGJvbGQ7IGNvbG9yOiAjZmZmZmZmOyBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwOyI+IC0tPjwvRk9OVD48L0ZPUk0+PEZPTlQgDQorICAgICAgICAgICAgc2l6ZT0xPg0KKyAgICAgICAgICAgIDxGT1JNIA0KKyAgICAgICAgICAgIGFjdGlvbj1odHRwOi8vYnA2LmdhbWVzcXVhZC5uZXQvY2dpLWJpbi9uZXdzL3ZpZXduZXdzLmNnaT9zZWFyY2ggDQorICAgICAgICAgICAgbWV0aG9kPXBvc3Q+U2VhcmNoIG5ld3M8QlI+PElOUFVUIG5hbWU9c2VhcmNoc3RyaW5nIHNpemU9MTM+PEJSPjxJTlBVVCBuYW1lPXN1Ym1pdCBzdHlsZT0iQkFDS0dST1VORC1DT0xPUjogIzAwMDAwMDsgQ09MT1I6ICNmZmZmZmY7IEZPTlQtRkFNSUxZOiBWZXJkYW5hOyBGT05ULVNJWkU6IHh4LXNtYWxsOyBGT05ULVdFSUdIVDogYm9sZCIgdHlwZT1zdWJtaXQgdmFsdWU9U3VibWl0PjxCUj48QSANCisgICAgICAgICAgICBocmVmPSJodHRwOi8vYnA2LmdhbWVzcXVhZC5uZXQvY2dpLWJpbi9uZXdzL3ZpZXduZXdzLmNnaT9uZXdzYWxsIj5OZXdzIA0KKyAgICAgICAgICAgIGFyY2hpdmU8L0E+PC9GT05UPiA8L0ZPUk0+PC9DRU5URVI+PC9URD48L1RSPjwvVEJPRFk+PC9UQUJMRT48IS0tCQkJCTxUQUJMRSBCT1JERVI9IjAiIENFTExQQURESU5HPSIwIiBDRUxMU1BBQ0lORz0iMCIgV0lEVEg9IjEwMCUiIEJHQ09MT1I9InNpbHZlciI+DQorCQkJCQk8VFI+DQorCQkJCQkJPFREIFdJRFRIPSIxMDAlIj4NCisJCQkJCQkJPFAgQUxJR049IkNFTlRFUiI+PEEgSFJFRj0iaHR0cDovL3d3dy5mcmVlNTZrLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPjxJTUcgU1JDPSIvaW1hZ2VzL2ZyZWU1NmsuZ2lmIiBXSURUSD0iMTAwIiBIRUlHSFQ9IjQ5Ig0KKwkJCQkJCQlBTElHTj0iQk9UVE9NIiBCT1JERVI9IjAiPjwvQT4NCisJCQkJCQk8L1REPg0KKwkJCQkJPC9UUj4NCisJCQkJPC9UQUJMRT4gDQorLS0+DQorICAgICAgPFRBQkxFIGJnQ29sb3I9c2lsdmVyIGJvcmRlcj0wIGNlbGxQYWRkaW5nPTAgY2VsbFNwYWNpbmc9MCB3aWR0aD0iMTAwJSI+DQorICAgICAgICA8VEJPRFk+DQorICAgICAgICA8VFI+DQorICAgICAgICAgIDxURCBhbGlnbj1taWRkbGUgd2lkdGg9IjEwMCUiPjwhLS0gQkVHSU4gR29Uby5jb20gU2VhcmNoIEJveCAtLT4NCisgICAgICAgICAgICA8U0NSSVBUIGxhbmd1YWdlPWphdmFzY3JpcHQgdHlwZT10ZXh0L2phdmFzY3JpcHQ+DQorCQkJCQkJCTwhLS0NCisJCQkJCQkJaWYgKChwYXJzZUludChuYXZpZ2F0b3IuYXBwVmVyc2lvbikgPj0gMykNCisJCQkJCQkJJiYgKG5hdmlnYXRvci5hcHBOYW1lICE9ICJOZXRzY2FwZSIpKSB7DQorCQkJCQkJCWRvY3VtZW50LndyaXRlKCI8SUZSQU1FIG1hcmdpbmhlaWdodD0wIGZyYW1lYm9yZGVyPTAgIik7DQorCQkJCQkJCWRvY3VtZW50LndyaXRlKCJtYXJnaW53aWR0aD0wIHNjcm9sbGluZz1ubyB3aWR0aD0xMDAgaGVpZ2h0Iik7DQorCQkJCQkJCWRvY3VtZW50LndyaXRlKCI9OTAgIik7DQorCQkJCQkJCWRvY3VtZW50LndyaXRlKCJTUkM9aHR0cDovL3d3dy5nb3RvLmNvbS9kL3Nzbi9keW5jb25zb2xlLz90Iik7DQorCQkJCQkJCWRvY3VtZW50LndyaXRlKCJ5cGU9aHRtbCZzaXplPTEwMHg5MCZ1cmw9aHR0cDovL3d3dy5nb3RvLmNvIik7DQorCQkJCQkJCWRvY3VtZW50LndyaXRlKCJtL2Qvc2VhcmNoL3Nzbi8mdGFyZ2V0PV9ibGFuayZQYXJ0bmVyPVNTTjgwIik7DQorCQkJCQkJCWRvY3VtZW50LndyaXRlKCI0MkRGODQ3ODk1NzM3Nz48L0lGUkFNRT4iKTsNCisJCQkJCQkJfSBlbHNlIGlmICgocGFyc2VJbnQobmF2aWdhdG9yLmFwcFZlcnNpb24pID4gMykNCisJCQkJCQkJJiYgKG5hdmlnYXRvci5hcHBOYW1lID09ICJOZXRzY2FwZSIpKSB7DQorCQkJCQkJCWRvY3VtZW50LndyaXRlKCI8U0NSSVBUIGxhbmd1YWdlPWphdmFzY3JpcHQgdHlwZT10ZXh0L2phdmFzIik7DQorCQkJCQkJCWRvY3VtZW50LndyaXRlKCJjcmlwdCAiKTsNCisJCQkJCQkJZG9jdW1lbnQud3JpdGUoIlNSQz1odHRwOi8vd3d3LmdvdG8uY29tL2Qvc3NuL2R5bmNvbnNvbGUvP3QiKTsNCisJCQkJCQkJZG9jdW1lbnQud3JpdGUoInlwZT1qcyZzaXplPTEwMHg5MCZ1cmw9aHR0cDovL3d3dy5nb3RvLmNvbS8iKTsNCisJCQkJCQkJZG9jdW1lbnQud3JpdGUoImQvc2VhcmNoL3Nzbi8mdGFyZ2V0PV9ibGFuayZQYXJ0bmVyPVNTTjgwNDIiKTsNCisJCQkJCQkJZG9jdW1lbnQud3JpdGUoIkRGODQ3ODk1NzM3Nz48L1NDIik7DQorCQkJCQkJCWRvY3VtZW50LndyaXRlKCJSSVBUPiIpOw0KKwkJCQkJCQl9IGVsc2Ugew0KKwkJCQkJCQlkb2N1bWVudC53cml0ZSgiPEEgVEFSR0VUPV9ibGFuayAiKTsNCisJCQkJCQkJZG9jdW1lbnQud3JpdGUoIkhSRUY9aHR0cDovL3d3dy5nb3RvLmNvbS9kL3NlYXJjaC9zc24vP2Zyb20iKTsNCisJCQkJCQkJZG9jdW1lbnQud3JpdGUoIkdJRj10cnVlPiIpOw0KKwkJCQkJCQlkb2N1bWVudC53cml0ZSgiPElNRyBpc21hcCAiKTsNCisJCQkJCQkJZG9jdW1lbnQud3JpdGUoIlNSQz1odHRwOi8vd3d3LmdvdG8uY29tL2Qvc3NuL2R5bmNvbnNvbGUvP3QiKTsNCisJCQkJCQkJZG9jdW1lbnQud3JpdGUoInlwZT1naWYmc2l6ZT0xMDB4OTA+PC9BPiIpOw0KKwkJCQkJCQl9DQorCQkJCQkJCS8vIC0tPg0KKwkJCQkJCQk8L1NDUklQVD4NCisgICAgICAgICAgICA8Qj48Tk9TQ1JJUFQ+PC9CPjxBIA0KKyAgICAgICAgICAgIGhyZWY9Imh0dHA6Ly93d3cuZ290by5jb20vZC9zZWFyY2gvc3NuLz9mcm9tR0lGPXRydWUiIA0KKyAgICAgICAgICAgIHRhcmdldD1fYmxhbms+PElNRyBhbGlnbj1ib3R0b20gYm9yZGVyPTAgaGVpZ2h0PTkwIGlzTWFwIA0KKyAgICAgICAgICAgIHNyYz0iZG9jM19maWxlcy8xMDB4OTAuZ2lmIiB3aWR0aD0xMDA+PC9BPjxCPjxBIA0KKyAgICAgICAgICAgIGhyZWY9Imh0dHA6Ly93d3cuZ290by5jb20vZC9zZWFyY2gvc3NuLz9mcm9tR0lGPXRydWUiIHRhcmdldD1fYmxhbms+IA0KKyAgICAgICAgICAgIDwvQT48L0E+PC9CPjxCPjwvTk9TQ1JJUFQ+PC9CPjxCPjwhLS0gRU5EIEdvVG8uY29tIFNlYXJjaCBCb3ggLS0+PC9CPjwhLS0gUHJpY2V3YXRjaCBTZWFyY2ggQm94IC0tPg0KKyAgICAgICAgICAgIDxGT1JNIGFjdGlvbj1odHRwOi8vd3d3LnByaWNld2F0Y2guY29tL3NlYXJjaC9zZWFyY2guYXNwIG1ldGhvZD1nZXQgDQorICAgICAgICAgICAgdGFyZ2V0PV9CbGFuaz4NCisgICAgICAgICAgICA8Q0VOVEVSPg0KKyAgICAgICAgICAgIDxQPjxCPjxGT05UIGNvbG9yPXdoaXRlIGZhY2U9IkFSSUFMLCBIRUxWRVRJQ0EiIHNpemU9MT5QQyBQcmljZSANCisgICAgICAgICAgICBTZWFyY2g8QlI+PC9GT05UPjwvQj48SU5QVVQgbWF4TGVuZ3RoPTMwIG5hbWU9Y3JpdGVyaWEgc2l6ZT0xMD48QlI+PElOUFVUIG5hbWU9c3VibWl0IHN0eWxlPSJCQUNLR1JPVU5ELUNPTE9SOiAjMDAwMDAwOyBDT0xPUjogI2ZmZmZmZjsgRk9OVC1GQU1JTFk6IFZlcmRhbmE7IEZPTlQtU0laRTogeHgtc21hbGw7IEZPTlQtV0VJR0hUOiBib2xkIiB0eXBlPXN1Ym1pdCB2YWx1ZT1TZWFyY2g+IA0KKyAgICAgICAgICAgIDwvRk9STT48IS0tIFByaWNld2F0Y2ggU2VhcmNoIEJveCAtLT48QSANCisgICAgICAgICAgICBocmVmPSJodHRwOi8vd3d3LnB1aWNvcnAuY29tL2JwNnNwZWNpYWxzLmh0bSIgdGFyZ2V0PV9CTEFOSz48SU1HIA0KKyAgICAgICAgICAgIHNyYz0iZG9jM19maWxlcy9wdWlicDYuZ2lmIj48L0E+PEJSPjxCUj48QlI+PEJSPjxBIA0KKyAgICAgICAgICAgIGhyZWY9Imh0dHA6Ly9zdG9yZS55YWhvby5jb20vZHVuYW1pcy1zaXRlL21heHRvci5odG1sIiANCisgICAgICAgICAgICB0YXJnZXQ9X0JMQU5LPjxJTUcgDQorICAgICAgICAgICAgYWx0PSJCUDYuY29tIFNwZWNpYWwgLSBFbnRlciBDT0RFOiBCUDYtaGQgaW4gdGhlIG9yZGVyIChub3RlcykgdG8gcmVjZWl2ZSBhIGRpc2NvdW50IiANCisgICAgICAgICAgICBzcmM9ImRvYzNfZmlsZXMvaGQ1LmdpZiI+PEZPTlQgc2l6ZT0xPjxCUj5CUDYuQ09NIA0KKyAgICAgICAgICAgIFNwZWNpYWw8QlI+Q29kZTpCUDYtaGQ8L0ZPTlQ+PC9BPiA8L1A+PC9DRU5URVI+PC9URD48L1RSPjwvVEJPRFk+PC9UQUJMRT4NCisgICAgICA8VEFCTEUgYmdDb2xvcj1zaWx2ZXIgYm9yZGVyPTAgY2VsbFBhZGRpbmc9MCBjZWxsU3BhY2luZz0wIGhlaWdodD0iMTAwJSIgDQorICAgICAgd2lkdGg9IjEwMCUiPg0KKyAgICAgICAgPFRCT0RZPg0KKyAgICAgICAgPFRSPg0KKyAgICAgICAgICA8VEQgDQord2lkdGg9IjEwMCUiPiZuYnNwOzwvVEQ+PC9UUj48L1RCT0RZPjwvVEFCTEU+PC9QPjwvQ0VOVEVSPjwvVFI+PC9UQk9EWT48L1RBQkxFPjwhLS0JPC9UQUJMRT4tLT4NCis8Q0VOVEVSPjwvQ0VOVEVSPjwvVEQ+PC9UUj48VFI+PFREIENPTFNQQU49IjMiIFZBTElHTj0iVE9QIiANCitIRUlHSFQ9IjcwIj4mbmJzcDs8L1REPiA8L1RSPjwvVEFCTEU+DQorPFRBQkxFIGJvcmRlcj0wIHdpZHRoPTc4MD4NCisgIDxUQk9EWT4NCisgIDxUUj4NCisgICAgPFREIHdpZHRoPTc4MD4NCisgICAgICA8UCBhbGlnbj1jZW50ZXI+PEZPTlQgY29sb3I9Izk5OTk5OSBmYWNlPXZlcmRhbmEsYXJpYWwgc2l6ZT0xPkNvcHlyaWdodCANCisgICAgICCpMTk5OS0yMDAwIEJQNi5jb20sIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPkdvdCBuZXdzPyBTZW5kIGl0IHRvIDwvRk9OVD48QSANCisgICAgICBocmVmPSJtYWlsdG86dGltQGJwNi5jb20iPjxGT05UIGNvbG9yPXdoaXRlIGZhY2U9VmVyZGFuYSANCisgICAgICBzaXplPTE+VGltPC9GT05UPjwvQT4gPC9QPjwvVEQ+PC9UUj48IS0tCTxUUj4JCTxURCBXSURUSD0iNzgwIj4JCQk8UCBBTElHTj0iQ0VOVEVSIj48Rk9OVCBTSVpFPSIxIiBDT0xPUj0iIzk5OTk5OSIgRkFDRT0iVmVyZGFuYSxhcmlhbCI+U2l0ZSBkZXNpZ24gYnkgVGltIEJyaW5rbGV5PC9GT05UPgkJPC9URD4JPC9UUj4gLS0+PC9UQk9EWT48L1RBQkxFPjwvRElWPg0KKzxTQ1JJUFQ+IHdpbmRvdy5vcGVuPU5TX0FjdHVhbE9wZW47IDwvU0NSSVBUPg0KKzwvQk9EWT48L0hUTUw+DQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L0hUTUwvZW50aXRpZXMuaHRtbCBiL2xpYnhtbDIvdGVzdC9IVE1ML2VudGl0aWVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTdhZWIxNAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9IVE1ML2VudGl0aWVzLmh0bWwKQEAgLTAsMCArMSw1IEBACis8cCB0c3Q9ImEmYW1wO2IiIHRzdDI9ImEmYiIgdHN0Mz0iYSAmIGIiPgorYSZhbXA7YgorYSZiCithICYgYgorPC9wPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L0hUTUwvZW50aXRpZXMyLmh0bWwgYi9saWJ4bWwyL3Rlc3QvSFRNTC9lbnRpdGllczIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41M2NjN2IwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L0hUTUwvZW50aXRpZXMyLmh0bWwKQEAgLTAsMCArMSw3IEBACis8aHRtbD4KKzxib2R5PgorPGZvcm0+CisgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ0ZXN0IiB2YWx1ZT0iJnNjYXJvbjsiPgorPC9mb3JtPgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9IVE1ML2ZwNDAuaHRtIGIvbGlieG1sMi90ZXN0L0hUTUwvZnA0MC5odG0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODQwYjgxZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9IVE1ML2ZwNDAuaHRtCkBAIC0wLDAgKzEsMTY2IEBACis8IWRvY3R5cGUgaHRtbCBwdWJsaWMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKworPGhlYWQ+Cis8bWV0YSBuYW1lPSJHRU5FUkFUT1IiIGNvbnRlbnQ9Ik1pY3Jvc29mdCBGcm9udFBhZ2UgNC4wIj4KKzx0aXRsZT5SRUFETUUgLSBNaWNyb3NvZnQgRnJvbnRQYWdlIDIwMDAgU2VydmVyIEV4dGVuc2lvbnM8L3RpdGxlPgorPG1ldGEgbmFtZT0iTWljcm9zb2Z0IFRoZW1lIiBjb250ZW50PSJub25lIj4KKzwvaGVhZD4KKworPGJvZHk+Cis8Zm9udCBmYWNlPSJWZXJkYW5hIj4KKzxoMT48YSBuYW1lPSJ0b3AiPk1pY3Jvc29mdCBGcm9udFBhZ2UgMjAwMCBTZXJ2ZXIgRXh0ZW5zaW9ucywgVU5JWDwvYT48L2gxPgorCis8Zm9udCBzaXplPSIyIj48aT6pIENvcHlyaWdodCBNaWNyb3NvZnQgQ29ycG9yYXRpb24sIDE5OTkmbmJzcDs8L2k+PC9mb250PgorCisKKzxwPlRoZSBGcm9udFBhZ2UgU2VydmVyIEV4dGVuc2lvbnMgYXJlIGEgc2V0IG9mIHByb2dyYW1zIG9uIHRoZSBXZWIgc2VydmVyIHRoYXQgc3VwcG9ydDogCisKKzx1bD4KKyAgPGxpPkF1dGhvcmluZyBGcm9udFBhZ2Ugd2ViczwvbGk+CisgIDxsaT5BZG1pbmlzdGVyaW5nIEZyb250UGFnZSB3ZWJzPC9saT4KKyAgPGxpPkJyb3dzZS10aW1lIEZyb250UGFnZSB3ZWIgZnVuY3Rpb25hbGl0eTwvbGk+Cis8L3VsPgorCisKKzxoMj5Db250ZW50cyZuYnNwOzwvaDI+CisKKzxhIGhyZWY9IiNyZWxub3RlcyI+UmVsZWFzZSBOb3RlczwvYT48YnI+Cis8YSBocmVmPSIjbW9yZWluZm8iPlJlc291cmNlcyBmb3IgTW9yZSBJbmZvcm1hdGlvbjwvYT4KKzxwPiZuYnNwOzwvcD4KKzxocj4KKzxoMj48YSBuYW1lPSJyZWxub3RlcyI+UmVsZWFzZSBOb3RlczwvYT48L2gyPgorCis8cD5UaGlzIHNlY3Rpb24gcHJvdmlkZXMgY29tcGxlbWVudGFyeSBvciBsYXRlLWJyZWFraW5nIAoraW5mb3JtYXRpb24gdG8gc3VwcGxlbWVudCB0aGUgTWljcm9zb2Z0IEZyb250UGFnZSBTZXJ2ZXIgRXh0ZW5zaW9ucyBkb2N1bWVudGF0aW9uLjwvcD4KKworPHA+PGEgaHJlZj0iI2FwYWNoZSI+QXBhY2hlIDEuMy40IFN1cHBvcnQ8L2E+PGJyPgorPGEgaHJlZj0iI3VwZ3JhZGluZyI+VXBncmFkaW5nIGZyb20gcHJldmlvdXMgdmVyc2lvbiBvZiBGcm9udFBhZ2UgU2VydmVyIEV4dGVuc2lvbnM8L2E+PGJyPgorPGEgaHJlZj0iI2V4ZWN1dGFibGVzIj5VcGxvYWRpbmcgZmlsZXMgaW50byBleGVjdXRhYmxlIGZvbGRlcnM8L2E+PC9wPgorCisKKzxwIGFsaWduPSJyaWdodCI+PGZvbnQgc2l6ZT0iMSI+PGEgaHJlZj0iI3RvcCI+VG9wIG9mIFBhZ2U8L2E+PC9mb250PjwvcD4KKworCis8aDM+PGEgbmFtZT0iYXBhY2hlIj5BcGFjaGUgMS4zLjQgU3VwcG9ydDwvYT48L2gzPgorCis8cD5Zb3UgbmVlZCB0byB0YWtlIHNvbWUgc3BlY2lhbCBzdGVwcyB0byBydW4gdGhlIEZyb250UGFnZSBTZXJ2ZXIgRXh0ZW5zaW9ucyB3aXRoIEFwYWNoZSAxLjMuNC4KK0Zyb250UGFnZSBTZXJ2ZXIgRXh0ZW5zaW9ucyBleHBlY3QgdG8gZmluZCBhbGwgcmVzb3VyY2UgZGlyZWN0aXZlcyBpbiB0aGUgbWFpbiBzZXJ2ZXIgCitjb25maWd1cmF0aW9uIGZpbGUsIHVzdWFsbHkgaHR0cC5jb25mLiBUbyBwcmV2ZW50IHRoZSBzZXJ2ZXIgZXh0ZW5zaW9ucyBmcm9tIHVzaW5nIGFueSBzZWNvbmRhcnkKK2NvbmZpZ3VyYXRpb24gZmlsZXMgKGFjY2Vzcy5jb25mLCBzcm0uY29uZiksIGFkZCB0aGUgZm9sbG93aW5nIGxpbmVzIHRvIGh0dHAuY29uZjo8L3A+CisKKworPC9mb250PgorPGJsb2NrcXVvdGU+CisgIDxmb250IGZhY2U9IkNvdXJpZXIgTmV3Ij4KK1Jlc291cmNlQ29uZmlnIC9kZXYvbnVsbCZuYnNwOzxicj4KK0FjY2Vzc0NvbmZpZyAvZGV2L251bGw8L2ZvbnQ+Cis8L2Jsb2NrcXVvdGU+Cis8Zm9udCBmYWNlPSJWZXJkYW5hIj4KKworCis8cD5JZiB5b3UgaGF2ZSBzb21lIHNldHRpbmdzIHN0b3JlZCBpbiBzZWNvbmRhcnkgY29uZmlndXJhdGlvbiBmaWxlcywgbW92ZSB0aGVtIHRvIGh0dHAuY29uZi48L3A+CisKKzxwPllvdSBtdXN0IHN0b3AgYW5kIHJlc3RhcnQgdGhlIHdlYiBzZXJ2ZXIgZm9yIHlvdXIgY2hhbmdlcyB0byBodHRwLmNvbmYgdG8gdGFrZSBlZmZlY3QuPC9wPgorCisKKworPHAgYWxpZ249InJpZ2h0Ij48Zm9udCBzaXplPSIxIj48YSBocmVmPSIjcmVsbm90ZXMiPlRvcCBvZiBTZWN0aW9uPC9hPjwvZm9udD48L3A+CisKKworCis8aDM+PGEgbmFtZT0idXBncmFkaW5nIj5VcGdyYWRpbmcgZnJvbSBwcmV2aW91cyB2ZXJzaW9uIG9mIEZyb250UGFnZSBTZXJ2ZXIgRXh0ZW5zaW9uczwvYT48L2gzPgorCis8cD5DdXN0b20gZW50cmllcyBpbiBmcm9udHBhZ2UuY25mIGFyZSBub3QgbWlncmF0ZWQgdG8gRnJvbnRQYWdlIDIwMDAuPC9wPgorCis8cD5XaGVuIHlvdSBpbnN0YWxsIEZyb250UGFnZSAyMDAwIFNlcnZlciBFeHRlbnNpb25zLCBhIG5ldyBmcm9udHBhZ2UuY25mIGZpbGUgaXMgY3JlYXRlZCBpbiB0aGUgL3Vzci9sb2NhbC9mcm9udHBhZ2UvdmVyc2lvbjQuMCBkaXJlY3RvcnkuIAorQW55IGN1c3RvbSBzZXR0aW5ncyBzdG9yZWQgaW4gYSBwcmV2aW91cy12ZXJzaW9uIGZyb250cGFnZS5jbmYgYXJlIG5vdCB1c2VkLiBIb3dldmVyLCB5b3UgY2FuIGNvcHkgCit5b3VyIGN1c3RvbSBzZXR0aW5ncyBmcm9tIHRoZSBwcmV2aW91cy12ZXJzaW9uIGZyb250cGFnZS5jbmYgZmlsZSBhZnRlciB5b3UgaW5zdGFsbCB0aGUgRnJvbnRQYWdlIDIwMDAgU2VydmVyIEV4dGVuc2lvbnMuPC9wPgorCis8cD5EbyBub3Qgb3ZlcndyaXRlIHRoZSBGcm9udFBhZ2UgMjAwMCBmcm9udHBhZ2UuY25mIGZpbGUgd2l0aCBhIGZyb250cGFnZS5jbmYgZmlsZSBmcm9tIGFuIAorZWFybGllciB2ZXJzaW9uIG9mIHRoZSBGcm9udFBhZ2UgU2VydmVyIEV4dGVuc2lvbnMuPC9wPgorCisKKworPHAgYWxpZ249InJpZ2h0Ij48Zm9udCBzaXplPSIxIj48YSBocmVmPSIjcmVsbm90ZXMiPlRvcCBvZiBTZWN0aW9uPC9hPjwvZm9udD48L3A+CisKKworCis8aDM+PGEgbmFtZT0iZXhlY3V0YWJsZXMiPlVwbG9hZGluZyBmaWxlcyBpbnRvIGV4ZWN1dGFibGUgZm9sZGVyczwvYT48L2gzPgorCisKKzxwPkFmdGVyIHVwZ3JhZGluZyB0byBGcm9udFBhZ2UgMjAwMCwgRnJvbnRQYWdlIGF1dGhvcnMgd2lsbCBub3QgYmUgYWJsZSB0byB1cGxvYWQgZmlsZXMgaW50bworZXhlY3V0YWJsZSBmb2xkZXJzLiBGb3Igc2VjdXJpdHkgcmVhc29ucywgdGhlIGRlZmF1bHQgc2V0dGluZyBvbiBGcm9udFBhZ2UgMjAwMCB3ZWJzIGRvZXMgbm90IAorYWxsb3cgYXV0aG9ycyB0byB1cGxvYWQgZXhlY3V0YWJsZSBmaWxlcyBpbnRvIGV4ZWN1dGFibGUgZm9sZGVycyBpbiBhIEZyb250UGFnZSB3ZWIuIFRoaXMgCitzZXR0aW5nIHByb3RlY3RzIHNlcnZlcnMgc28gdGhhdCBhdXRob3JzIGRvIG5vdCBpbmFkdmVydGVudGx5IHVwbG9hZCBhIHByb2dyYW0gY29udGFpbmluZyBhIGJ1ZyAKK29yIGEgdmlydXMuPC9wPiAKKworPHA+VG8gYWxsb3cgRnJvbnRQYWdlIGF1dGhvcnMgdG8gdXBsb2FkIGV4ZWN1dGFibGVzLCBzZXQgdGhlIE5vRXhlY3V0YWJsZUNnaVVwbG9hZCBjb25maWd1cmF0aW9uIAordmFyaWFibGUgdG8gemVybyAoMCkuIEZvciBpbmZvcm1hdGlvbiBhYm91dCBGcm9udFBhZ2UgU2VydmVyIEV4dGVuc2lvbiBjb25maWd1cmF0aW9uIHZhcmlhYmxlcywgCitzZWUgdGhlIEZyb250UGFnZSAyMDAwIFNlcnZlciBFeHRlbnNpb25zIFJlc291cmNlIEtpdCBhdCA8YSBocmVmPSJodHRwOi8vb2ZmaWNldXBkYXRlLm1pY3Jvc29mdC5jb20vZnJvbnRwYWdlL3dwcC9zZXJrLyI+aHR0cDovL29mZmljZXVwZGF0ZS5taWNyb3NvZnQuY29tL2Zyb250cGFnZS93cHAvc2Vyay88L2E+LjwvcD4KKworCisKKzxwIGFsaWduPSJyaWdodCI+PGZvbnQgc2l6ZT0iMSI+PGEgaHJlZj0iI3JlbG5vdGVzIj5Ub3Agb2YgU2VjdGlvbjwvYT48L2ZvbnQ+PC9wPgorCisKKworPGhyPgorCisKKworPGgyPjxhIG5hbWU9Im1vcmVpbmZvIj5SZXNvdXJjZXMgZm9yIE1vcmUgSW5mb3JtYXRpb248L2E+PC9oMj4KKworPHA+VGhpcyBzZWN0aW9uIGxpc3RzIHNvdXJjZXMgb2YgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUKK0Zyb250UGFnZSBTZXJ2ZXIgRXh0ZW5zaW9ucy48L3A+CisKKzxwPjxhIGhyZWY9IiNzZXJrIj5TZXJ2ZXIgRXh0ZW5zaW9ucyBSZXNvdXJjZSBLaXQ8L2E+PGJyPgorPGEgaHJlZj0iI3Nlcmt1cGRhdGUiPlNlcnZlciBFeHRlbnNpb25zIFJlc291cmNlIEtpdCBVcGRhdGU8L2E+PGJyPgorPGEgaHJlZj0iI2tiIj5Lbm93bGVkZ2UgQmFzZTwvYT48L3A+CisKKworPHAgYWxpZ249InJpZ2h0Ij48Zm9udCBzaXplPSIxIj48YSBocmVmPSIjdG9wIj5Ub3Agb2YgUGFnZTwvYT48L2ZvbnQ+PC9wPgorCisKKzxoMz48YSBuYW1lPSJzZXJrIj5TZXJ2ZXIgRXh0ZW5zaW9ucyBSZXNvdXJjZSBLaXQ8L2E+PC9oMz4KKworPHA+VGhlIEZyb250UGFnZSAyMDAwIFNlcnZlciBFeHRlbnNpb25zIGluY2x1ZGUgYSBmdWxsIHNldCBvZiBkb2N1bWVudGF0aW9uOiB0aGUgU2VydmVyCitFeHRlbnNpb25zIFJlc291cmNlIEtpdC4gVGhpcyBpcyBhbiBIVE1MIGRvY3VtZW50IGluc3RhbGxlZCBvbiB0aGUgc2VydmVyIG1hY2hpbmUgKGJ5CitkZWZhdWx0KSBpbiAvdXNyL2xvY2FsL2Zyb250cGFnZS92ZXJzaW9uNC4wL3NlcmsuIFRvIHZpZXcgdGhlIFNlcnZlciBFeHRlbnNpb25zIFJlc291cmNlCitLaXQsIG9wZW4gL3Vzci9sb2NhbC9mcm9udHBhZ2UvdmVyc2lvbjQuMC9zZXJrL2RlZmF1bHQuaHRtIGluIHlvdXIgV2ViIGJyb3dzZXIuPC9wPgorCis8cD5UaGUgU2VydmVyIEV4dGVuc2lvbnMgUmVzb3VyY2UgS2l0IGNvbnRhaW5zIGRldGFpbGVkIGluZm9ybWF0aW9uIGFib3V0IGluc3RhbGxpbmcgYW5kCithZG1pbmlzdGVyaW5nIHRoZSBGcm9udFBhZ2UgU2VydmVyIEV4dGVuc2lvbnMgYWxvbmcgd2l0aCBhbiBvdmVydmlldyBvZiB0aGUgU2VydmVyCitFeHRlbnNpb25zLCBhIGRldGFpbGVkIGRpc2N1c3Npb24gb2YgU2VydmVyIEV4dGVuc2lvbnMgc2VjdXJpdHkgb24gVU5JWCBhbmQgV2luZG93cywKK3Ryb3VibGVzaG9vdGluZyBpbmZvcm1hdGlvbiwgYW5kIGEgZnVsbCBzZXQgb2YgYXBwZW5kaXhlcy48L3A+CisKKzxwIGFsaWduPSJyaWdodCI+PGZvbnQgc2l6ZT0iMSI+PGEgaHJlZj0iI21vcmVpbmZvIj5Ub3Agb2YgU2VjdGlvbjwvYT48L2ZvbnQ+PC9wPgorCisKKzxoMz48YSBuYW1lPSJzZXJrdXBkYXRlIj5TZXJ2ZXIgRXh0ZW5zaW9ucyBSZXNvdXJjZSBLaXQgVXBkYXRlPC9hPjwvaDM+CisKKzxwPkZvciB1cGRhdGVkIGluZm9ybWF0aW9uIGFib3V0IGluc3RhbGxpbmcsIHNldHRpbmcgdXAsIGFuZCBhZG1pbmlzdHJhdGluZyB0aGUgRnJvbnRQYWdlIFNlcnZlciAKK0V4dGVuc2lvbnMsIHNlZSB0aGUgU2VydmVyIEV4dGVuc2lvbnMgUmVzb3VyY2UgS2l0IFVwZGF0ZSBhdDogPGEgaHJlZj0iaHR0cDovL29mZmljZXVwZGF0ZS5taWNyb3NvZnQuY29tL2Zyb250cGFnZS93cHAvc2Vyay8iPmh0dHA6Ly9vZmZpY2V1cGRhdGUubWljcm9zb2Z0LmNvbS9mcm9udHBhZ2Uvd3BwL3NlcmsvPC9hPi48L3A+CisKKworPHAgYWxpZ249InJpZ2h0Ij48Zm9udCBzaXplPSIxIj48YSBocmVmPSIjbW9yZWluZm8iPlRvcCBvZiBTZWN0aW9uPC9hPjwvZm9udD48L3A+CisKKworPGgzPjxhIG5hbWU9ImtiIj5NaWNyb3NvZnQgS25vd2xlZGdlIEJhc2U8L2E+PC9oMz4KKworPHA+Rm9yIGZ1cnRoZXIgdGVjaG5pY2FsIGluZm9ybWF0aW9uIG9uIEZyb250UGFnZSwgcGxlYXNlIGNvbnN1bHQgU3VwcG9ydCBPbmxpbmUuIFVzZSBTdXBwb3J0CitPbmxpbmUgdG8gZWFzaWx5IHNlYXJjaCBNaWNyb3NvZnQgUHJvZHVjdCBTdXBwb3J0IFNlcnZpY2VzJyBjb2xsZWN0aW9uIG9mIHJlc291cmNlcyBpbmNsdWRpbmcgCit0ZWNobmljYWwgYXJ0aWNsZXMgZnJvbSBNaWNyb3NvZnQncyBleHRlbnNpdmUgS25vd2xlZGdlIEJhc2UsIEZBUXMsICYgdHJvdWJsZXNob290ZXJzIHRvIGZpbmQgCitmYXN0LCBhY2N1cmF0ZSBhbnN3ZXJzLiBZb3UgY2FuIGFsc28gY3VzdG9taXplIHRoZSBzaXRlIHRvIGNvbnRyb2wgeW91ciBzZWFyY2ggdXNpbmcgZWl0aGVyIAora2V5d29yZHMgb3IgdGhlIHNpdGUncyBuYXR1cmFsIGxhbmd1YWdlIHNlYXJjaCBlbmdpbmUsIHdoaWNoIHVzZXMgbm9ybWFsIGV2ZXJ5ZGF5IGxhbmd1YWdlIGZvciAKK2Fuc3dlcmluZyBpbnF1aXJpZXMsIHNvIHlvdSBjYW4gd3JpdGUgeW91ciBxdWVzdGlvbiBpbiB5b3VyIG93biB3b3Jkcy4gVG8gYmVnaW4sIGdvIHRvCis8YSBocmVmPSJodHRwOi8vc3VwcG9ydC5taWNyb3NvZnQuY29tL3N1cHBvcnQvIj5odHRwOi8vc3VwcG9ydC5taWNyb3NvZnQuY29tL3N1cHBvcnQvPC9hPi48L3A+ICAKKworPHAgYWxpZ249InJpZ2h0Ij48Zm9udCBzaXplPSIxIj48YSBocmVmPSIjbW9yZWluZm8iPlRvcCBvZiBTZWN0aW9uPC9hPjwvZm9udD48L3A+CisKKworPHA+Jm5ic3A7PC9wPiAgCisKKzwvZm9udD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9IVE1ML2h0bWw1X2VuYy5odG1sIGIvbGlieG1sMi90ZXN0L0hUTUwvaHRtbDVfZW5jLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2ViZjQ5MQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9IVE1ML2h0bWw1X2VuYy5odG1sCkBAIC0wLDAgKzEsOCBAQAorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9Imlzby04ODU5LTEiLz4KKzwvaGVhZD4KKzxib2R5PgorICA8cD50cuhzPC9wPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L0hUTUwvbGljbG9zZS5odG1sIGIvbGlieG1sMi90ZXN0L0hUTUwvbGljbG9zZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjczNjQwMzQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvSFRNTC9saWNsb3NlLmh0bWwKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwvL0VOIgorICAgICAgICAgICAgICAgICAgICAgICJodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtaHRtbDQwL2xvb3NlLmR0ZCI+Cis8aHRtbD4KKzxoZWFkPgorICA8dGl0bGU+PC90aXRsZT4KKzwvaGVhZD4KKzxib2R5PgorPHVsPgorPGxpPkZpcnN0IGl0ZW0KKzxsaT5TZWNvbmQgaXRlbSwgY2xvc2VzIHRoZSBmaXJzdCBvbmUKKzwvdWw+CisKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9IVE1ML2x0Lmh0bWwgYi9saWJ4bWwyL3Rlc3QvSFRNTC9sdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYyZjZkOTQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvSFRNTC9sdC5odG1sCkBAIC0wLDAgKzEsNSBAQAorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9IkF1dGhvciIgY29udGVudD0iUm9vdCA8cm9vdEBhb2wuY29tPiI+Cis8L2hlYWQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvSFRNTC9ub3NjcmlwdC5odG1sIGIvbGlieG1sMi90ZXN0L0hUTUwvbm9zY3JpcHQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NTRlOTQzCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L0hUTUwvbm9zY3JpcHQuaHRtbApAQCAtMCwwICsxLDEwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8dGl0bGU+b21nPC90aXRsZT4KKyAgICAgICAgPG5vc2NyaXB0PjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cDovL2Zvby5jb20iPjwvbm9zY3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5IGlkPSJ4eHgiPgorICAgICAgICA8cD55bzwvcD4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvSFRNTC9wcmUuaHRtbCBiL2xpYnhtbDIvdGVzdC9IVE1ML3ByZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhlMWE2NmQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvSFRNTC9wcmUuaHRtbApAQCAtMCwwICsxLDUgQEAKKzxodG1sPgorPGJvZHk+Cis8cHJlPjxhIGhyZWY9InRvdG8iPjwvYT48aW1nIHNyYz0idGl0aSI+PC9wcmU+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvSFRNTC9weXRob24uaHRtbCBiL2xpYnhtbDIvdGVzdC9IVE1ML3B5dGhvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUxYTYzOTQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvSFRNTC9weXRob24uaHRtbApAQCAtMCwwICsxLDEwIEBACis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wMSBUcmFuc2l0aW9uYWwvL0VOIgorICAgICAgICAgICAgICAgICAgICAgICJodHRwOi8vd3d3LnczLm9yZy9UUi9odG1sNC9sb29zZS5kdGQiID4KKzw/eG1sLXN0eWxlc2hlZXQgaHJlZj0iLi9jc3MvaHQyaHRtbC5jc3MiIHR5cGU9InRleHQvY3NzIj8+Cis8aHRtbD4KKzwhLS0gVEhJUyBQQUdFIElTIEFVVE9NQVRJQ0FMTFkgR0VORVJBVEVELiAgRE8gTk9UIEVESVQuIC0tPgorPGhlYWQ+Cis8dGl0bGU+UHl0aG9uIFByb2dyYW1taW5nIExhbmd1YWdlPC90aXRsZT4KKzwvaGVhZD4KKzxib2R5PgorPC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9IVE1ML3JlZzEuaHRtbCBiL2xpYnhtbDIvdGVzdC9IVE1ML3JlZzEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lY2RkMDA3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L0hUTUwvcmVnMS5odG1sCkBAIC0wLDAgKzEsMTAgQEAKKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+UmVncmVzc2lvbiB0ZXN0IDE8L3RpdGxlPgorPC9oZWFkPgorPGJvZHk+Cis8aDE+UmVncmVzc2lvbiB0ZXN0IDE8L2gxPgorPHA+CitPayBmaWxlIG5vIHByb2JsZW0KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9IVE1ML3JlZzIuaHRtbCBiL2xpYnhtbDIvdGVzdC9IVE1ML3JlZzIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MTQ1YzE5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L0hUTUwvcmVnMi5odG1sCkBAIC0wLDAgKzEsMTIgQEAKKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+UmVncmVzc2lvbiB0ZXN0IDI8L3RpdGxlPgorPC9oZWFkPgorPGJvZHk+Cis8aDE+UmVncmVzc2lvbiB0ZXN0IDI8L2gxPgorPHA+CitBdXRvY2xvc2Ugb2YgdGFnIFAKKzxwPgorT2sgZmlsZSBubyBwcm9ibGVtCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvSFRNTC9yZWczLmh0bWwgYi9saWJ4bWwyL3Rlc3QvSFRNTC9yZWczLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDE0NDgzYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9IVE1ML3JlZzMuaHRtbApAQCAtMCwwICsxLDEzIEBACis8aHRtbD4KKzxoZWFkPgorPHRpdGxlPlJlZ3Jlc3Npb24gdGVzdCAzPC90aXRsZT4KKzwvaGVhZD4KKzxib2R5PgorPGgxPlJlZ3Jlc3Npb24gdGVzdCAzPC9oMT4KKzxwPgorQXV0b2Nsb3NlIG9mIHRhZyBQCis8aHI+Cis8cD4KK09rIGZpbGUgbm8gcHJvYmxlbQorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L0hUTUwvcmVnNC5odG1sIGIvbGlieG1sMi90ZXN0L0hUTUwvcmVnNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdkMDRjYTIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvSFRNTC9yZWc0Lmh0bWwKQEAgLTAsMCArMSwxMiBAQAorPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5SZWdyZXNzaW9uIHRlc3QgNDwvdGl0bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxoMT5SZWdyZXNzaW9uIHRlc3QgNDwvaDE+Cis8cD4KK1dyb25nIGNsb3NlIG9mIHRhZyBQCis8aHI+Cis8L3A+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvSFRNTC9yZXBlYXQuaHRtbCBiL2xpYnhtbDIvdGVzdC9IVE1ML3JlcGVhdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ2ZDZmOTcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvSFRNTC9yZXBlYXQuaHRtbApAQCAtMCwwICsxIEBACis8dGQ+PHRkPjwhLS0gPGE+PGI+IC0tPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L0hUTUwvc2NyaXB0Lmh0bWwgYi9saWJ4bWwyL3Rlc3QvSFRNTC9zY3JpcHQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xOTdiMDAyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L0hUTUwvc2NyaXB0Lmh0bWwKQEAgLTAsMCArMSw5IEBACis8SFRNTD4KKzxIRUFEPjxUSVRMRT5TY3JpcHQgdGVzdHM8L1RJVExFPjwvSEVBRD4KKzxCT0RZPgorPFNDUklQVCBsYW5ndWFnZT1qYXZhc2NyaXB0PgorICAgIGlmICh3aW5kb3cub3BlbjxtYXgpIDsKKzwvU0NSSVBUPgorPElOUFVUIE9OQ0xJQ0s9ImlmKHdpbmRvdy5vcGVuPG1heCk7Ij4KKzwvQk9EWT4KKzwvSFRNTD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9IVE1ML3NjcmlwdDIuaHRtbCBiL2xpYnhtbDIvdGVzdC9IVE1ML3NjcmlwdDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNjA2YTgzCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L0hUTUwvc2NyaXB0Mi5odG1sCkBAIC0wLDAgKzEsMTkgQEAKKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFN0cmljdC8vRU4iCisgICAgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXN0cmljdC5kdGQiPgorPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPgorCTxoZWFkPgorCQk8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz4KKzx0aXRsZT5UZXN0IFBhZ2U8L3RpdGxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJwb3J0YWwiPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorCWRvY3VtZW4ud3JpdGUoIlDFmcOtbGnFoSDFvmx1xaVvdcSNa8O9IGvFr8WIIMO6cMSbbCDEj8OhYmVsa3PDqSDDs2R5Iik7Cis8L3NjcmlwdD4KKwk8cD4KKwlQxZnDrWxpxaEgxb5sdcWlb3XEjWvDvSBrxa/FiCDDunDEm2wgxI/DoWJlbGtzw6kgw7NkeTsKKwk8L3A+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L0hUTUwvdGVzdDIuaHRtbCBiL2xpYnhtbDIvdGVzdC9IVE1ML3Rlc3QyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzhmZDQ0YwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9IVE1ML3Rlc3QyLmh0bWwKQEAgLTAsMCArMSwzMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLWh0bWw0MC9sb29zZS5kdGQiPiAKKzxIVE1MPjxIRUFEPiA8VElUTEU+TGludXggVG9kYXk8L1RJVExFPjwvSEVBRD4KKzxib2R5IGJnY29sb3I9IldoaXRlIiBsaW5rPSJCbHVlIiB0ZXh0PSJCbGFjayIgVkxJTks9IkJsYWNrIiBBTElOSz0iUmVkIj4KKworPGNlbnRlcj4KKzxUQUJMRSBCT1JERVI9IjAiIFdJRFRIPSIxMDAlIiBDRUxMU1BBQ0lORz0iMCIgQ0VMTFBBRERJTkc9IjAiPgorICAgICAgICA8VFIgQkdDT0xPUj0iI0ZGRkZGRiI+CisgICAgICAgICAgICAgICAgPFREIEhFSUdIVD0iOTAiPgorPGEgaHJlZj0iaHR0cDovL2xpbnV4dG9kYXkuY29tL2NnaS1iaW4vY2xpY2sucGw/YWRudW09NDkiPjxpbWcgc3JjPSIvcGljcy9kb29yX2xpbnV4LmdpZiIgYm9yZGVyPSIwIiB3aWR0aD0iNDY4IiBoZWlnaHQ9IjYwIiBhbHQ9IkF0aXBhIExpbnV4IHNvbHV0aW9ucy4gWW91ciByZWxpYWJsZSBjbHVzdGVyLCBzZXJ2ZXIsIGFuZCB3b3Jrc3RhdGlvbiBzb2x1dGlvbi4gV2luIGEgRnJlZSBDZWxlcm9uIExpbnV4IFdvcmtzdGF0aW9uISI+PC9BPgorCisgICAgICAgICAgICAgICAgPC9URD4KKyAgICA8VEQ+PElNRyBTUkM9Ii9waWNzL2x0LmdpZiIgVlNQQUNFPTUgYWx0PSJMaW51eCBUb2RheSBMb2dvIj48YnI+PGZvbnQgc2l6ZT0iLTEiPjxhIGhyZWY9Imh0dHA6Ly9saW51eC5jb20iPmxpbnV4LmNvbTwvYT4gcGFydG5lcjwvZm9udD48cD48L1REPgorCisgICAgICAgIDwvVFI+Cis8L1RBQkxFPgorPGZvbnQgc2l6ZT0iMiIgZmFjZT0iSGVsdmV0aWNhIj4KK1sgPGEgaHJlZj0iaHR0cDovL2xpbnV4dG9kYXkuY29tLyI+aGVhZGxpbmVzPC9BPiB8Cis8YSBocmVmPSJodHRwOi8vZmVhdHVyZXMubGludXh0b2RheS5jb20vIj5mZWF0dXJlczwvQT4gfAorPGEgaHJlZj0iaHR0cDovL2NvbW1lcmNpYWwubGludXh0b2RheS5jb20vIj5jb21tZXJjaWFsPC9hPiB8Cis8YSBocmVmPSJodHRwOi8vc2VjdXJpdHkubGludXh0b2RheS5jb20vIj5zZWN1cml0eTwvYT4gfAorPGEgaHJlZj0iaHR0cDovL2pvYnMubGludXh0b2RheS5jb20vIj5qb2JzPC9hPiB8Cis8YSBocmVmPSJodHRwOi8vbGludXh0b2RheS5jb20vdm9sdC8iPnZvbHQ8L2E+IHwgCis8YSBocmVmPSJodHRwOi8vbGludXh0b2RheS5jb20vY29udHJpYi5wbCI+Y29udHJpYnV0ZS9zdWJtaXQ8L2E+IHwKKzxhIGhyZWY9Imh0dHA6Ly9saW51eHRvZGF5LmNvbS9hZHZlcnRpc2UvIj5hZHZlcnRpc2U8L0E+IHwKKzxhIGhyZWY9Imh0dHA6Ly9saW51eHRvZGF5LmNvbS9zZWFyY2guaHRtbCI+c2VhcmNoPC9BPiB8Cis8YSBocmVmPSJodHRwOi8vbGludXh0b2RheS5jb20vZGlnZXN0cy8iPnNpdGUgZGlnZXN0czwvQT4gfAorPGEgaHJlZj0iaHR0cDovL2xpbnV4dG9kYXkuY29tL21haWwtbGlzdHMiPm1haWxpbmcgbGlzdHM8L0E+IHwKKzxhIGhyZWY9Imh0dHA6Ly9saW51eHRvZGF5LmNvbS9hYm91dC8iPmFib3V0IHVzPC9hPiB8Cis8YSBocmVmPSJodHRwOi8vbGludXh0b2RheS5jb20vbGlua3VzLmh0bWwiPmxpbmsgdXM8L0E+IF08L2ZvbnQ+Cis8L2NlbnRlcj4KKzxQPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L0hUTUwvdGVzdDMuaHRtbCBiL2xpYnhtbDIvdGVzdC9IVE1ML3Rlc3QzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWYxZjE5MAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9IVE1ML3Rlc3QzLmh0bWwKQEAgLTAsMCArMSwzNCBAQAorPGh0bWw+DQorPGhlYWQ+DQorPGJhc2UgdGFyZ2V0PWNvbnRlbnRzPg0KKzwvaGVhZD4NCis8YSBuYW1lPVByb2JsZW1Eb21haW4uUGFja2FnZT48aDI+Q29tcG9uZW50IFBhY2thZ2UgZGlhZ3JhbSBQcm9ibGVtRG9tYWluPC9oMj4NCis8L2E+PHA+PGhyPjwvcD4NCis8ZGw+DQorPGR0PjxiPlN0ZXJlb3R5cGUgPC9iPnByb2JsZW0gZG9tYWluPC9kdD4NCis8ZHQ+PGI+QWxpYXMgPC9iPlByb2JsZW0gRG9tYWluPC9kdD4NCis8ZHQ+PGI+Tm90ZSA8L2I+PGRkPlRoZSBQcm9ibGVtIERvbWFpbiBwYWNrYWdlIGlzIHRoZSBtb2RlbCBiZWhpbmQgdGhlIEh1bWFuIA0KKzxkZD5JbnRlcmZhY2UsIHRoYXRzIHN0b3JlcyBhbmQgbWFuaXB1bGF0ZXMgdGhlIEZhbWlseSBUcmVlLg0KKzwvZGw+DQorPHA+PGhyPjwvcD4NCis8ZGw+DQorDQorPGR0PjxoND5DbGFzcyA8YSBocmVmPUh1bWFuSW50ZXJmYWNlLkZhbWlseUZyYW1lLmh0bWwjSHVtYW5JbnRlcmZhY2UuRmFtaWx5RnJhbWU+SHVtYW5JbnRlcmZhY2UuRmFtaWx5RnJhbWU8L2E+PC9oND48L2R0Pg0KKzxkdD48aDQ+Q2xhc3MgPGEgaHJlZj1Qcm9ibGVtRG9tYWluLkJpcnRoLmh0bWwjUHJvYmxlbURvbWFpbi5CaXJ0aD5Qcm9ibGVtRG9tYWluLkJpcnRoPC9hPjwvaDQ+PC9kdD4NCis8ZHQ+PGg0PkNsYXNzIDxhIGhyZWY9UHJvYmxlbURvbWFpbi5EZWF0aC5odG1sI1Byb2JsZW1Eb21haW4uRGVhdGg+UHJvYmxlbURvbWFpbi5EZWF0aDwvYT48L2g0PjwvZHQ+DQorPGR0PjxoND5DbGFzcyA8YSBocmVmPVByb2JsZW1Eb21haW4uRGl2b3JjZS5odG1sI1Byb2JsZW1Eb21haW4uRGl2b3JjZT5Qcm9ibGVtRG9tYWluLkRpdm9yY2U8L2E+PC9oND48L2R0Pg0KKzxkdD48aDQ+Q2xhc3MgPGEgaHJlZj1Qcm9ibGVtRG9tYWluLkZhbWlseS5odG1sI1Byb2JsZW1Eb21haW4uRmFtaWx5PlByb2JsZW1Eb21haW4uRmFtaWx5PC9hPjwvaDQ+PC9kdD4NCis8ZHQ+PGg0PkNsYXNzIDxhIGhyZWY9UHJvYmxlbURvbWFpbi5JbmRpdmlkdWFsLmh0bWwjUHJvYmxlbURvbWFpbi5JbmRpdmlkdWFsPlByb2JsZW1Eb21haW4uSW5kaXZpZHVhbDwvYT48L2g0PjwvZHQ+DQorPGR0PjxoND5DbGFzcyA8YSBocmVmPVByb2JsZW1Eb21haW4uTGlmZUV2ZW50Lmh0bWwjUHJvYmxlbURvbWFpbi5MaWZlRXZlbnQ+UHJvYmxlbURvbWFpbi5MaWZlRXZlbnQ8L2E+PC9oND48L2R0Pg0KKzxkdD48aDQ+Q2xhc3MgPGEgaHJlZj1Qcm9ibGVtRG9tYWluLk1hcnJpYWdlLmh0bWwjUHJvYmxlbURvbWFpbi5NYXJyaWFnZT5Qcm9ibGVtRG9tYWluLk1hcnJpYWdlPC9hPjwvaDQ+PC9kdD4NCis8ZHQ+PGg0PkNsYXNzIDxhIGhyZWY9UHJvYmxlbURvbWFpbi5Ob3RlLmh0bWwjUHJvYmxlbURvbWFpbi5Ob3RlPlByb2JsZW1Eb21haW4uTm90ZTwvYT48L2g0PjwvZHQ+DQorPC9kbD4NCisNCis8aDQ+PGI+TGlua3M8L2g0PjwvYj4NCis8dWw+PGxpPjxiPkxpbmsgdG8gPC9iPjxhIGhyZWY9SHVtYW5JbnRlcmZhY2UuUGFja2FnZS5odG1sI0h1bWFuSW50ZXJmYWNlLlBhY2thZ2U+SHVtYW5JbnRlcmZhY2U8L2E+PC9saT48L3VsPg0KKzxkaXI+PC9kaXI+DQorPHVsPjxsaT48Yj5MaW5rIHRvIDwvYj48YSBocmVmPURhdGFNYW5hZ2VtZW50LkZsYXRGaWxlLlBhY2thZ2UuaHRtbCNEYXRhTWFuYWdlbWVudC5GbGF0RmlsZS5QYWNrYWdlPkRhdGFNYW5hZ2VtZW50LkZsYXRGaWxlPC9hPjwvbGk+PC91bD4NCis8ZGlyPjwvZGlyPg0KKzx1bD48bGk+PGI+TGluayB0byA8L2I+PGEgaHJlZj1EYXRhTWFuYWdlbWVudC5QYWNrYWdlLmh0bWwjRGF0YU1hbmFnZW1lbnQuUGFja2FnZT5EYXRhTWFuYWdlbWVudDwvYT48L2xpPjwvdWw+DQorPGRpcj48L2Rpcj4NCis8L2h0bWw+DQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L0hUTUwvdXRmOGJ1Zy5odG1sIGIvbGlieG1sMi90ZXN0L0hUTUwvdXRmOGJ1Zy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMzY2ZhY2UKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvSFRNTC91dGY4YnVnLmh0bWwKQEAgLTAsMCArMSwxODIgQEAKKworPGh0bWw+CisKKzxoZWFkPgorPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1MYW5ndWFnZSIgY29udGVudD0iZW4tdXMiIC8+Cis8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCIgLz4KKzxsaW5rIGhyZWY9IkNTUy5jc3MiIHR5cGU9InRleHQvY3NzIiByZWw9InN0eWxlc2hlZXQiIC8+Cis8bGluayByZWw9IlNIT1JUQ1VUIElDT04iIGhyZWY9ImZhdmljb24uaWNvIj4KKzx0aXRsZT7YtNmH2YrYsSDYqNmE2KfarzwvdGl0bGU+Cis8L2hlYWQ+CisKKzxib2R5PgorCis8dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iMTAwJSIgaWQ9Ik1haW5UQkwiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMCI+CisJPHRyPgorCQk8dGQgY2xhc3M9IkhlYWRlcjEiPgorCQk8dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iMTAwJSIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIwIiBoZWlnaHQ9IjEwMCUiPgorCQkJPHRyPgorCQkJCTx0ZD4KKwkJCQk8aW1nIGJvcmRlcj0iMCIgc3JjPSJTaGVsbC9TaGFoaXIuU2hhaGlkU2FsZXMxLnBuZyIgd2lkdGg9IjQ0MiIgaGVpZ2h0PSIxMTAiPjwvdGQ+CisJCQkJPHRkPiZuYnNwOzwvdGQ+CisJCQk8L3RyPgorCQk8L3RhYmxlPgorCQk8L3RkPgorCTwvdHI+CisJPHRyPgorCQk8dGQgaGVpZ2h0PSIyOCI+CisJCQk8ZGl2IGlkPSJTaWRlQmFyMSI+CisJCQkJPHRhYmxlIHdpZHRoPSIxMDAlIj4KKwkJCQk8dHI+CisJCQkJPHRkPgorCQkJCSA8c3BhbiBjbGFzcz0iSXRlbSI+Cis8YSBocmVmPSJJbmRleC5hc3AiID4KK9iu2KfZhtmHIDwvYT48L3NwYW4+IDxzcGFuIGNsYXNzPSJJdGVtIj4KKzxhIGhyZWY9IkNvbnRhY3QuYXNwIiA+CivYqtmF2KfYsyDYqNinINmF2YYgPC9hPjwvc3Bhbj4gPHNwYW4gY2xhc3M9Ikl0ZW0iPgorPGEgaHJlZj0iQXJjaGl2ZS5hc3AiID4KK9ii2LHYtNmK2YggPC9hPjwvc3Bhbj4gPHNwYW4gY2xhc3M9Ikl0ZW0iPgorPGEgaHJlZj0iU2VhcmNoLmFzcCIgPgor2KzYs9iq2KzZiCDYr9ixINiz2KfbjNiqIDwvYT48L3NwYW4+IDxzcGFuIGNsYXNzPSJJdGVtIj4KKzxhIGhyZWY9Imh0dHA6Ly9zaGFoaXJibG9nLmNvbS9kZXRhaWwuYXNwP2lkPTMwIiA+CivYr9ix2KjYp9ix2Ycg2YXZhiA8L2E+PC9zcGFuPiA8c3BhbiBjbGFzcz0iSXRlbSI+Cis8YSBocmVmPSJSU1MyLmFzcCIgPgorCis8aW1nIHNyYz0ic2hvd2ltYWdlLmFzcHg/cGF0aD1GaWxlc19VcGxvYWRcMTkyLnBuZyZ3aWR0aD0lPiIgYm9yZGVyPSIwIiAvPgorUlNTIDwvYT48L3NwYW4+IDxzcGFuIGNsYXNzPSJJdGVtIj4KKzxhIGhyZWY9IiIgPgorIDwvYT48L3NwYW4+CisJCQkJPC90ZD4KKwkJCQk8dGQgYWxpZ249ImxlZnQiPgorCQkJCTxkaXYgaWQ9IkRhdGVUaW1lIj4KKwkJCQk8cCBhbGlnbj0ibGVmdCI+CisJCQkJJiMxNjEwOyYjMTcwNTsmIzE1ODg7JiMxNjA2OyYjMTU3NjsmIzE2MDc7JiMxNTQ4OyZuYnNwOzE1Jm5ic3A7JiMxNTc1OyYjMTU4NTsmIzE1ODM7JiMxNjEwOyYjMTU3NjsmIzE2MDc7JiMxNTg4OyYjMTU3ODsmbmJzcDsxMzg3Jm5ic3A7IAorCQkJCS0mbmJzcDsmbmJzcDsgCisJCQkJPHNwYW4gZGlyPSJsdHIiPlN1bmRheSwgTWF5IDA0LCAyMDA4PC9zcGFuPgorCQkJCTwvZGl2PgorCQkJCTwvdGQ+CisJCQkJPC90cj4KKwkJCQk8L3RhYmxlPgorCQkJPC9kaXY+CisJCTwvdGQ+CisJPC90cj4KKwk8dHI+CisJCTx0ZCB2YWxpZ249InRvcCI+CisJCTx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSIxMDAlIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjAiIGlkPSJDb250ZW50Ij4KKwkJCTx0cj4KKwkJCQk8dGQgY2xhc3M9IlJpZ2h0IiB2YWxpZ249InRvcCIgc3R5bGU9InBhZGRpbmctcmlnaHQ6IDYwcHgiPgorCQkJCQk8dGFibGUgd2lkdGg9IjEwMCUiPgorCQkJCQkJPHRyPgorCQkJCQkJCTx0ZCB2YWxpZ249InRvcCI+CisJCQkJCQkJCQorPHNjcmlwdD4KK3ZhciB0Z3MgPSBuZXcgQXJyYXkoICdkaXYnLCd0ZCcsJ3RyJywnYScpOwordmFyIHN6cyA9IG5ldyBBcnJheSggJzdwdCcsJzhwdCcsJzlwdCcsJzEwcHQnLCcxMXB0JywnMTJwdCcsJzEzcHQnICk7Cit2YXIgc3RhcnRTeiA9IDE7CisKK2Z1bmN0aW9uIENoYW5nZVNpemUoIHRyZ3Qsc3ogKSB7CisJaWYgKCFkb2N1bWVudC5nZXRFbGVtZW50QnlJZCkgcmV0dXJuCisJdmFyIGQgPSBkb2N1bWVudCxjRWwgPSBudWxsLGksaixjVGFnczsKKwkKKwlpZiAoICEoIGNFbCA9IGQuZ2V0RWxlbWVudEJ5SWQoIHRyZ3QgKSApICkgY0VsID0gZC5nZXRFbGVtZW50c0J5VGFnTmFtZSggdHJndCApWyAwIF07CisKKwljRWwuc3R5bGUuZm9udFNpemUgPSBzejsKKworCWZvciAoIGkgPSAwIDsgaSA8IHRncy5sZW5ndGggOyBpKysgKSB7CisJCWNUYWdzID0gY0VsLmdldEVsZW1lbnRzQnlUYWdOYW1lKCB0Z3NbIGkgXSApOworCQlmb3IgKCBqID0gMCA7IGogPCBjVGFncy5sZW5ndGggOyBqKysgKSBjVGFnc1sgaiBdLnN0eWxlLmZvbnRTaXplID0gc3o7IC8vc3pzWyBzeiBdOworCX0KK30KKzwvc2NyaXB0PgorCis8dGFibGUgd2lkdGg9IjEwMCUiIGlkPSJOZXdzRGV0YWlsIj4KKwk8dHI+CisJCTx0ZCB2YWxpZ249InRvcCI+CisJCTxkaXYgY2xhc3M9Ik5ld3NfSW5mbyI+CisJCQkmIzE1Nzg7JiMxNTc1OyYjMTU4NTsmIzE2MTA7JiMxNTgyOyAmIzE1ODM7JiMxNTg1OyYjMTU4MDs6IDxmb250IGNvbG9yPSIjMDAwMDAwIj4mIzE2NzA7JiMxNjA3OyYjMTU3NTsmIzE1ODU7JiMxNTg4OyYjMTYwNjsmIzE1NzY7JiMxNjA3OyYjMTU0ODsmbmJzcDsyOSZuYnNwOyYjMTU3NTsmIzE1ODc7JiMxNjAxOyYjMTYwNjsmIzE1ODM7Jm5ic3A7MTM4NiAKKwkJCS0gV2VkbmVzZGF5LCBNYXJjaCAxOSwgMjAwODwvZm9udD4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgCisJCQkmIzE2MDY7JiMxNjA4OyYjMTYxMDsmIzE1ODc7JiMxNjA2OyYjMTU4MzsmIzE2MDc7OiA8Zm9udCBjb2xvcj0iIzAwMDAwMCI+PC9mb250PiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAKKwkJCSYjMTU4MzsmIzE2MDE7JiMxNTkzOyYjMTU3NTsmIzE1Nzg7ICYjMTYwNTsmIzE1ODg7JiMxNTc1OyYjMTYwNzsmIzE1ODM7JiMxNjA3OzogPGZvbnQgY29sb3I9IiMwMDAwMDAiPjI2ODg8L2ZvbnQ+IAorCQkJJiMxNTc2OyYjMTU3NTsmIzE1ODU7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICYjMTYwMzsmIzE1ODM7OiA8Zm9udCBjb2xvcj0iIzAwMDAwMCI+MzQxPC9mb250PgorCQk8L2Rpdj4KKwkJPGJyPgorCQk8IS0tCisJCTxkaXY+JiMxNTc1OyYjMTYwNjsmIzE1ODM7JiMxNTc1OyYjMTU4NjsmIzE2MDc7ICYjMTYwMTsmIzE2MDg7JiMxNjA2OyYjMTU3ODs6Jm5ic3A7CisJCTxhIGhyZWY9ImphdmFzY3JpcHQ6Q2hhbmdlU2l6ZSgnTmV3c0JvZHknLCc3cHQnKSI+PGZvbnQgc2l6ZT0iMSI+JiMxNzA1OyYjMTYwODsmIzE2NzA7JiMxNzA1OzwvZm9udD48L2E+Jm5ic3A7CisJCTxhIGhyZWY9ImphdmFzY3JpcHQ6Q2hhbmdlU2l6ZSgnTmV3c0JvZHknLCcxMHB0JykiPjxmb250IHNpemU9IjIiPiYjMTYwNTsmIzE1OTM7JiMxNjA1OyYjMTYwODsmIzE2MDQ7JiMxNzQwOzwvZm9udD48L2E+Jm5ic3A7CisJCTxhIGhyZWY9ImphdmFzY3JpcHQ6Q2hhbmdlU2l6ZSgnTmV3c0JvZHknLCcxM3B0JykiPjxmb250IHNpemU9IjMiPiYjMTU3NjsmIzE1ODY7JiMxNTg1OyYjMTcxMTs8L2ZvbnQ+PC9hPiZuYnNwOworCQk8L2Rpdj4tLT4KKwkJCisKKwkJPGRpdiBjbGFzcz0iVGl0cjEiPgorCQkJIDwvZGl2PgorCQk8YnI+CisJCTxkaXYgaWQ9Ik5ld3NCb2R5Ij4KKwkJCQorCQkJPGRpdiBjbGFzcz0iSW1hZ2UiPgorCQkJCQorCQkJCTxhIGhyZWY9InNob3dpbWFnZS5hc3B4P3BhdGg9RmlsZXNfVXBsb2FkXDMwMi5KUEcmV2lkdGg9IiByZWw9ImxpZ2h0Ym94IiB0aXRsZT0i2LTZh9mK2LEg2KjZhNin2q8iPgorCQkJCTxpbWcgc3JjPSJzaG93aW1hZ2UuYXNweD9wYXRoPUZpbGVzX1VwbG9hZFwzMDIuSlBHJldpZHRoPTIyMCIgYWxpZ249ImxlZnQiIGJvcmRlcj0iMSIgLz4KKwkJCQk8L2E+PC9kaXY+CisJCQk8U1RST05HPjxGT05UIHNpemU9ND48Rk9OVCBjb2xvcj0jMDAwMGZmPti52qnYszwvRk9OVD4gPEZPTlQgY29sb3I9IzAwMDBmZj7Zhdit2LXZiNmEINmH2YbYsSDbjNqp24wg2KfYsiDZh9mF2qnYp9ix2KfZhiDYp9iz2KouINix2YjbjCDYotmGINqp2YTbjNqpINqp2YbYry48L0ZPTlQ+PC9GT05UPjwvU1RST05HPjxTMT4gIDwvZGl2PgorCQk8YnI+CisJCTxkaXYgYWxpZ249ImxlZnQiPgorCQkJPGEgaHJlZj0icHJpbnRmcmllbmRseS5hc3A/aWQ9MzQxIj4KKwkJCTxpbWcgc3JjPSJzaGVsbC9QcmludEZyaWVuZGx5LnBuZyIgYm9yZGVyPSIwIj48L2E+CisJCQk8YSBocmVmPSIjIiBvbmNsaWNrPSJ3aW5kb3cub3BlbignU2VuZE5ld3MuYXNwP1BhZ2VJRD0zNDEnLCdteVdpbicsJ3Rvb2xiYXI9bm8sZGlyZWN0b3JpZXM9bm8sbG9jYXRpb249bm8sc3RhdHVzPW5vLG1lbnViYXI9bm8scmVzaXphYmxlPXllcyxzY3JvbGxiYXJzPW5vLHdpZHRoPTUwMCwgaGVpZ2h0PTIwMCcpOyByZXR1cm4gZmFsc2UiPgorCQkJPGltZyBib3JkZXI9IjAiIHNyYz0iU2hlbGwvU2VuZFRvRnJpZW5kcy5qcGciIHdpZHRoPSIxNDAiIGhlaWdodD0iMzAiPgorCQkJPC9hPgorCQk8L2Rpdj4KKwkJPGJyPgorCQk8L3RkPgorCTwvdHI+CisJPHRyPgorCQk8dGQ+IDxiciAvPgorCQk8aHI+PGRpdgorCQlpZD1Db21tZW50cz48dWw+PGI+JiMxNjA2OyYjMTU5MjsmIzE1ODU7JiMxNTc1OyYjMTU3ODsKKwkJJiMxNzA1OyYjMTU3NTsmIzE1ODU7JiMxNTc2OyYjMTU4NTsmIzE1NzU7JiMxNjA2Ozo8L2I+PGJyPjxsaT48Zm9udAorCQljb2xvcj0nYmx1ZSc+2K3Yp9is24wg2KzZgdix2LPZiNmGOjwvZm9udD48YnI+PGZvbnQgc2l6ZT0nMSc+NC81LzIwMDggLQorCQk3OjA4OjAwIFBNPC9mb250Pjxicj7YqNinINiv2LHZiNivINio2Ycg2LTZhdinLi4uJm5ic3A72KjYr9mI2YYg2YfbjNqGINqv2YjZhtmHINi32YbYsgorCQnZiCDYr9iz2Kraqdin2LHbjCDYqtmI2LPYtyDYrdin2KzbjCDYr9in24zbjCDZhtmC2YQg2LTYr9mHINin2LPYqiDYp9uM2YYg2YfYpyDaqdmHINiv2LEg2KjbjNin2YYg2KzYr9uMCisJCdin24zZhtmC2K/YsSDYt9mG2KfYsiDZh9iz2KrZhtivINmI2KfbjCDYqNmHINix2YjYstuMINqp2Ycg2KjYrtmI2KfZh9mG2K8g2LfZhtiyINio2YbZiNuM2LPZhtivLiDYqNio24zZhgorCQnYtNmH24zYsSDYrNin2YYg2obZhyDaqdiz2KfZhtuMINiz2LEg2KzZiNin2YbYp9mGINmF2Kcg2LHYpyDYqNinINin2LXZhNin2K3Yp9iqIDgg2LPYp9mEINqv2YjZhAorCQnZhdin2YTbjNiv2YbYry4uINin24zZhiDZh9inINix2Kcg2KjYrtmI2KfZhtuM2K8gOjo6OjooKNiv2KjZitix2YPZhCDZhdis2YXYuSDYp9iz2YTYp9mF2Yog2KjYp9mG2YjYp9mGCisJCdqv2YHYqjog2KjZhyDZhti42LEg2YXZiiZ6d25qO9ix2LPYryDYotmC2KfZiiDYrtin2KrZhdmKINmC2LXYryDZgdin2LXZhNmHINqv2LHZgdiq2YYg2KfYsiDYqtmG2K/YsdmI2YfYpworCQnYsdinINmG2K/Yp9ix2K8g2Ygg2KrYpyDYp9mK2YYg2LHZiNmG2K8g2KfYr9in2YXZhyDYr9in2LHYryDZhdinINio2Kcg2KrZhtiv2LHZiNmH2Kcg2K/YsSDZitmDINin2KbYqtmE2KfZgQorCQnYtNix2YPYqiDZhtmF2YomenduajvZg9mG2YrZhS4g2KjZhyDar9iy2KfYsdi0INiu2KjYsdmG2q/Yp9ixINiz2YrYp9iz2Yog2K7YqNix2q/Ystin2LHZiiDZgdin2LHYs9iMCisJCdmB2KfYt9mF2Ycg2YPYsdmI2KjZiiDYr9io2YrYsdmD2YQg2YXYrNmF2Lkg2KfYs9mE2KfZhdmKINio2KfZhtmI2KfZhiDYudi12LEg2KfZhdix2YjYsiDYtNmG2KjZhyDYr9ixINis2YXYuQorCQnYrtio2LHZhtqv2KfYsdin2YYg2LHYs9in2YbZhyZ6d25qO9mH2KfZiiDar9ix2YjZh9mKINix2YjZhtivINio2LHar9iy2KfYsdmKINin2YbYqtiu2KfYqNin2Kog2YfYtNiq2YXZitmGCisJCdiv2YjYsdmHINmF2KzZhNizINi02YjYsdin2Yog2KfYs9mE2KfZhdmKINix2Kcg2KrYrdmE2YrZhCDZg9ix2K8uINmI2Yog2LbZhdmGINio2LHYtNmF2LHYr9mGINmF2LHYstio2YbYr9mKINiu2YjYrworCQnYqNinINis2LHYqNin2YYg2KrZhtiv2LHZiNmKINin2LXZhNin2K0g2LfZhNioINin2YHYstmI2K86INin2YrZhiDZhdinINmG2YrYs9iq2YrZhSDZg9mHINio2Kcg2LPYqtin2K8g2KfYptiq2YTYp9mBCisJCdin2LXZhNin2K0g2LfZhNio2KfZhiDYp9iu2KrZhNin2YEg2K/Yp9ix2YrZhSDYp9mF2Kcg2KfZhtit2LXYp9ix2q/YsdmKINio2LHYrtmKINin2LIg2q/YsdmI2YcmenduajvZh9inCisJCdis2LHZitin2YYg2KfYtdmE2KfYrdin2Kog2LHYpyDYr9qG2KfYsSDYp9iyINmH2YUmenduajvar9iz2LPYqtqv2Yog2YPYsdivLiDYr9in2YjYt9mE2Kgg2YfYtNiq2YXZitmGINiv2YjYsdmHCisJCdin2YbYqtiu2KfYqNin2Kog2YXYrNmE2LMg2LTZiNix2KfZiiDYp9iz2YTYp9mF2Yog2K/Ysdio2KfYsdmHINiq2LTZg9mK2YQg2LPYqtin2K8g2YXYsdiv2YXZiiDYp9i12YTYp9it2KfYqiDYrtin2LfYsQorCQnZhti02KfZhiDZg9ix2K86INii2YLYp9mKINiu2KfYqtmF2Yog2KjZhyDYqtmI2LXZitmHJnp3bmo72YfYpyDZiCDZhti42LHYp9iqINiv2YjYs9iq2KfZhti02KfZhiDYqtmI2KzZh9mKCisJCdmG2K/Yp9ix2YbYryDZiCDYp9qv2LEg2KfZitmGINin2YXZg9in2YYg2YjYrNmI2K8g2K/Yp9i02Kog2YPZhyDZh9mF2Ycg2KzYsdmK2KfZhtin2Kog2KfYtdmE2KfYrSDYt9mE2Kgg2LLZitixCisJCdmK2YMg2LnZhtmI2KfZhiDZgdi52KfZhNmK2Kog2YPZhtmG2K8g2K3YqtmF2Kcg2KfYsiDYotmGINin2LPYqtmC2KjYp9mEINmF2YomenduajvZg9ix2K/ZitmFINin2YXYpyDYqNmHCisJCdmG2LjYsSDZhtmF2YomenduajvYsdiz2K8g2YPZhyDYotmC2KfZiiDYrtin2KrZhdmKINio2K7ZiNin2YfYryDYp9iyINiq2YbYr9ix2YjZh9inINmB2KfYtdmE2Ycg2Kjar9mK2LHYryDZiAorCQnYqtinINin2YrZhiDYsdmI2YbYryDYp9iv2KfZhdmHINiv2KfYtNiq2Ycg2KjYp9i02K8g2YXYpyDYqNinINiq2YbYr9ix2YjZh9inINiv2LEg2YrZgyDYp9im2KrZhNin2YEg2LTYsdmD2KoKKwkJ2YbZhdmKJnp3bmo72YPZhtmK2YUuINmI2Yog2K/YsSDZhdmI2LHYryDYtNix2YPYqiDYqti02YPZhCDZhdiq2KjZiNi5INiu2YjYryDYr9ixINmF2LHYrdmE2Ycg2KjYudiv2YoKKwkJ2KfZhtiq2K7Yp9io2KfYqiDZhdis2YTYsyDar9mB2Ko6INio2LHYrtmKINin2LIg2YPYp9mG2K/Zitiv2KfZh9in2Yog2YbYstiv2YrZgyDYqNmHINmF2Kcg2KjZhyDZhdix2K3ZhNmHINiv2YjZhQorCQnYp9mG2KrYrtin2KjYp9iqINix2KfZhyDZitin2YHYqtmHJnp3bmo72KfZhtivINmIINmF2Kcg2KjYpyDYqtmF2KfZhSDYqtmI2KfZhiDYr9ixINin2YrZhiDZhdix2K3ZhNmHINin2LIKKwkJ2KLZhtmH2Kcg2K/Zgdin2Lkg2K7ZiNin2YfZitmFINmD2LHYry4g2YPYsdmI2KjZiiDYqtin2YPZitivINmD2LHYrzog2q/YsdmI2YfZiiDYp9mG2K3Ytdin2LHar9ixINio2KcKKwkJ2KfZgtiv2KfZhdin2Kog2LrZitix2LnZgtmE2KfZhtmKINmIINiq2YbYr9ix2YjZiiZ6d25qO9mH2KfZiiDYrtmI2K8g2KfYqtmI2KjZiNizINin2LXZhNin2K3Yp9iqINix2Kcg2K/YsSDYr9ix2YcKKwkJ2LPYsdmG2q/ZiNmGINmD2LHYr9mG2K8pKSkpINmE2LfZgdinINm+24zYr9inINqp2YbbjNivINm+2LHYqtmC2KfZhCDZgdix2YjYtCDYsdinLi4uLi4u2YjYp9mC2LnYpyDYp9uM2YYKKwkJ2YfYpyDZhduMINiu2YjYp9mH2YbYryDYr9mI2KjYp9ix2Ycg2YjYp9ix2K8g2YXYrNmE2LMg2Ygg2K/ZiNmE2Kog2LTZiNmG2K8uLi4uLtin2YjZiNmI2YjZiNmI2YjZiNmI2YjZiNmI2YjZiNmICisJCdmE2KfZhNin2YTYp9mE2KfZhNin2YTYpy4uLi4uLi4u2YbZhyEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhINin2YTYqNiq2Ycg2KfbjNmGCisJCdmF2KzZhdi5INio2KfZhtmI2KfZhiDYqNuM2LTYqtixINio2Ycg2LPZgdix2Ycg2YfYp9uMINmG2LDYsSDZiCDYs9io2LLbjCDZvtin2qkg2qnYsdiv2YYg2YfYp9uMINiu2YjZhtmHCisJCdmF2KfZhdin2YYg2KjYstix2q8g2Ygg2K7Yp9mE2Ycg2LLZhtqpINio2KfYstuMINmH2KfbjCDYudi12LEg2YLYp9is2KfYsduM2Ycg2Ygg2YXYrNmE2LMg2b7YpyDYqtiu2KrbjCDZiAorCQnYrdmG2Kcg2KjZhtiv2YjZhiDYudix2YjYsyDYtNio2KfZh9iqINiv2KfYsdivLiDZhdmH2YbYr9izINis2KfZhiDar9mI24zYpyDZhdinINin2LIg2K/Ys9iqINin24zZhiAuLi4u2YgKKwkJ2LnbjNin2YTYtCDYqNin24zYryDYqNix2YjbjNmFINqv2YjYtNmHINmH2YXYp9mGINin2KjYr9in2LHYrtin2YbZhyDZiCDYtNin2LrZhNin2YUg2Ygg2obYp9uM24wKKwkJ2K/bjNi02YTZhdmHLi4uLti02YXYpyDYqti02LHbjNmBINmG2YXbjCDYotmI2LHbjNiv2J88L2xpPjxicj48YnI+PGxpPjxmb250IGNvbG9yPSdibHVlJz7Ys9uM2KfZiNi0OjwvZm9udD48YnI+PGZvbnQgc2l6ZT0nMSc+NC8zLzIwMDggLSA5OjI4OjAwIFBNPC9mb250Pjxicj7Zhdix2K8g2YfYstin2LEg2obZh9ix2Ycg2YXYsdivINmH2LLYp9ixINqG2YfYsdmHINqp24zYs9iq2J/YtNiu2LXbjNiq24wg2LPYp9iu2KrZhyDZiCDZvtix2K/Yp9iu2KrZhyDZhdmH2LHYp9mGINmF2K/bjNix24zYjCDZvtuM2YXYp9mGINmC2KfYs9mFINiu2KfZhtuMINmIINiv24zar9ixINmG2YjbjNiz2YbYr9qv2KfZhtifINiq2YbZh9inINmH2K/Zgdi0INii2YbYs9iqINqp2Ycg2obZhtivINix2YjYsiDYqti52LfbjNmE2KfYqtiMINmF2KfYsdinINiz2LHar9mFINqp2YbYryDZiCDYr9uM2q/YsSDZh9uM2obYnyDZhdix2K8g2YfYstin2LEg2obZh9ix2Ycg24zaqSDYt9mG2LIg2KfYs9iqINuM2qkg2LfZhtiyINiq2YTYrtiMINio2LHYr9in2LTYqtuMINmI2KfZgti524wg2KfYsiDYrNin2YXYudmHINin24zYsdin2YbbjC4g2YXZhiDYrNmI2KfZhtmFINm+2LMg2K/Ysdiv2KLYtNmG2KfbjCDYrNmI2KfZhtin2YbZhSDZiCDYrtmI2K8g2LHYpyDYqNinINiu2YjYryDZiCDYr9uM2q/YsSDYrNmI2KfZhtin2YYg2LfYsdmBINmF24wg2qnZhtmFINio2LPbjNin2LEg2KfZhtivINis2YjYp9mG2KfZhtuMINqp2Ycg2YXYtdiv2KfZgiDZhdix2K8g2YfYstin2LEg2obZh9ix2Ycg2YfYs9iq2YbYryDYrNmI2KfZhtin2YbbjCDYs9mI2K/YpyDYstiv2Ycg24zYpyDYqNmHINmC2YjZhCDYrtmI2K8g2YXYs9i52YjYryAmcXVvdDvYrNmIINqv24zYsSZxdW90OyDaqdmHINmH2LEg2KjYpyDZhdit2LXZiNmE24wg2qnZh9mG2Ycg2LHYpyDYqNinINiq2LnYsduM2YHbjCDYrNiv24zYryDYqNmHINii2YbZh9inINin2LHYp9im2Ycg2qnZhtmG2K8g2obZhtin2YYg2KjYpyDYqtmF2KfZhSDZiCDYrNmI2K8g2YXbjCDZvtiw24zYsdmG2K8g2qnZhyDar9mI24zbjCDYsdin2Ycg2YHYp9im2YIg2KLZhdiv2YYg2KjYsSDYqtmF2KfZhSDZhdi02qnZhNin2KrYtNin2YYg2LHYpyDbjNin2YHYqtmHINin2YbYryDZiCDZhduMINiu2LHZhtiv2Iwg2K7ZiNin2Ycg2KfbjNmGINiq2K3ZgdmHINiq2KbZiNix24wg2KjYsSDar9ix2YHYqtmHINin2LIg2KrZgdqp2LHYp9iqINiu2LTaqSDZiCDZgdiz24zZhNuMINqv2LHZiNmH24wg2KjYp9i02K8g24zYpyDZhdiv2YQg2YXZhNuM2KzaqSDZiNin2LEg2YTYqNin2LPbjCDYr9ixINm+2LTYqiDZiNuM2KrYsduM2YYg2YHYsdmI2LTar9in2YcuINmF2YfZhSDZhtuM2LPYqiDahtmHINio2KfYtNivISDZhdmH2YUg2YbbjNiz2Kog2K/ZhNuM2YQg2KfZhtiq2K7Yp9io2LQg2obZhyDYqNin2LTYryEg2YXZh9mFINmG24zYs9iqINmG2KrbjNis2Ycg2KfbjNmGINin2YbYqtiu2KfYqCDahtuM2LPYqiEg2KrZhtmH2Kcg2YXZh9mFINin2LPYqiDaqdmHINmF24wg2q/ZiNuM2YbYryDYp9iyINin24zZhiDYt9ix2YEg2KjZgdix2YXYp9im24zYryHYrdin2YQg2KfbjNmGINio2YHYsdmF2KfYptuM2K8g2obZhyDZhdi52YbYp9uM24wg2K/Yp9ix2K8g2KjYp9iyINmH2YUg2YXZh9mFINmG24zYs9iqISEhINmI2KfbjCDYqNixINmF2Kcg2qnZhyDZhtmHINiu2YjYryDYsdinINmF24wg2LTZhtin2LPbjNmFINmIINmG2Ycg2K/YsSDYrNmH2Kog2LTZhtin2K7YqiDYrtmI24zYtCDZgtiv2YUg2YXbjCDar9iw2KfYsduM2YUuINmI2KfbjCDYqNixINmF2Kcg2qnZhyDYr9uM2q/YsSDYrdiq24wg2YbYr9in24wg2K/YsdmI2YYg2K7ZiNuM2LQg2LHYpyDZhtmF24wg2KrZiNin2YbbjNmFINio2LTZhtmI24zZhS4g2YjYp9uMINio2LEg2YXYpyDaqdmHINmG2YXbjCDYr9in2YbbjNmFINqG2Ycg2YXbjCDYrtmI2KfZh9uM2YUg2Ygg2YfYsSDYqNin2LEg2qnZhyDahtuM2LLbjCDZhduMINiu2YjYp9mH24zZhSDZiCDYr9ixINmF2LPbjNixINmI2LXYp9mEINm+2Kcg2YXbjCDar9iw2KfYsduM2YUg2KjZhyDZhduM2KfZhtmHINix2KfZhyDZhtix2LPbjNiv2Ycg2obZhtin2YYg2YXYrNiw2YjYqCDYstix2YIg2Ygg2KjYsdmCINix2KfZh9mH2KfbjCDYr9uM2q/YsSDZhduMINi02YjbjNmFINqp2Ycg2YXYqNiv2Kcg2Ygg2YXZgti12K8g2LHYpyDbjNqp2KzYpyDZgdix2KfZhdmI2LQg2YXbjCDaqdmG24zZhS4g2YjYp9uMINio2LEg2YXYpyDaqdmHINmG2YXbjCDYqtmI2KfZhtuM2YUg2K/YsSDYqNix2KfYqNixINmH2LEg2KLZhtqG2Ycg2K/YsSDZhdmC2KfYqNmEINin2YbYs9in2YbbjNiqINmF2Kcg2KfbjNiz2KrYp9iv2YcgJnF1b3Q72YbZhyZxdW90O9io2q/ZiNuM24zZhS4g2K/Ysdiz2Kog2KfYs9iqINqp2Ycg2YXYpyDYrNmI2KfZhtin2YYg2KjZhyDYqtmG2YfYp9uM24wg2YXZgti12LEg2YbbjNiz2KrbjNmFINin2YXYpyDahtmI2YYg2LTYsdmI2Lkg2KrZgti124zYsduM2YUg2b7YsyDZhduMINiq2YjYp9mG24zZhSDYp9iyINin2KjYqtiv2Kcg2YXYp9mG2Lkg2YXYtNqp2YQg2YfZhSDYqNin2LTbjNmFLiDYqNinINin2K3Yqtix2KfZhSDYs9uM2KfZiNi0PGJyPgorJm5ic3A7PGJyPgorPGZvbnQgY29sb3I9IiM4MDAwMDAiPtio2LPbjNin2LEg2LLbjNio2Kcg2LPbjNin2YjYtCDYrNin2YYuINiv2LHZiNivINio2LEg2KrZiC4g2LTZh9uM2LE8L2ZvbnQ+PC9saT48YnI+PGJyPjxsaT48Zm9udCBjb2xvcj0nYmx1ZSc+2KfYrdiz2KfZhiBfXyDYrti3INiz2YjZhTo8L2ZvbnQ+PGJyPjxmb250IHNpemU9JzEnPjQvMy8yMDA4IC0gODoyMTowMCBQTTwvZm9udD48YnI+2KjYpyDYs9mE2KfZhSDZiCDYp9iv2KfbjCDYp9it2KrYsdin2YUg2Yjaqdiz2Kgg2KfYrNin2LLZhyDYp9iyINi02YfbjNixINi52LLbjNiyIC4g2KfYsiDYudmF2KfYryDYrNin2YYg2LnYstuM2LLZhSDYqNiu2KfYt9ixINiy2K3Zhdiq24wg2qnZhyDaqdi024zYr9mG2K8g2Ygg2KfYt9mE2KfYudin2Kog2K7ZiNio24wg2qnZhyDYr9in2K/ZhtivINiMINio2Ycg2LPZh9mFINiu2YjYr9mFINiq2LTaqdixINmF24wg2qnZhtmFIC4g2KjYpyDaqdmF2KfZhCDYtNix2YXZhtiv2q/bjCDYp9iyINin24zZhtqp2YcgJnF1b3Q72KjYr9mI2YYg2YfZhdin2YfZhtqv24wmcXVvdDsg2YggJnF1b3Q7INin2KzYp9iy2Ycg2KfbjCDZgtio2YTbjCDYtNmF2KcmcXVvdDsg2YggJnF1b3Q72KjYs9ix2LnYqiZxdW90OyDYjCDZhdi52K/ZiNivINin2LTYqtio2KfZh9in2Kog2KrYp9uM2b7bjCDYsdinINqp2Ycg2KjYpyDYqtmI2KzZhyDYqNmHINit2KzZhSDZhdi32YTYqCDYjCDYp9mF2LHbjCDaqdin2YXZhNinINin2KzYqtmG2KfYqCDZhtin2b7YsNuM2LEg2KfYs9iqINiMINiz2LnbjCDaqdix2K/ZhSDaqdmHINin2LXZhNin2K0g2qnZhtmFINiMINin2LIg2LTZhdinINm+2YjYsti0INmF24wg2K7ZiNin2YfZhSAuINin2YTYqNiq2Ycg2LnZhdin2K8g2KzYp9mGINi52LLbjNiy2YUg2Iwg2KjYryDZhtuM2LPYqiDYqNiv2KfZhtuM2K8g2qnZhyDYr9ixINmF24zYstin2YYg2KfYtNiq2KjYp9mHINiv2LEg2KrYp9uM2b4g2YfYsdqv2LIg2KjZhyDZvtin24wg2KjZhtiv2Ycg2YbYrtmI2KfZh9uM2K8g2LHYs9uM2K8gISDYtNin2YfYryDYp9iv2LnYp9uMINit2YLbjNix2Iwg2LTZh9uM2LEg2Ygg2K3Ys9uM2YYg2KzYp9mGINi52LLbjNiy2YUg2YfYs9iq2YbYryDaqdmHINiu2KjYsdiv2KfYsdmG2K8g2qnZhyDahtqv2YjZhtmHINio2YbYr9mHINiv2LEg24zaqSDZgdmC2LHZhyDYudmF2YTbjNin2Kog2KrYp9uM2b4g2Iwg2K/ZiCDYtdmB2K3ZhyDYp9uMINqp2KfZhdmEINix2Kcg2KzYpyDYp9mG2K/Yp9iu2KrZhSAhISEg2qnYp9mB24wg2KfYs9iqINio2b7Ysdiz24zYryDYjCDYr9ixINmG2YfYp9uM2Kog2LXYr9in2YLYqiDYjCDYqNixINin24zZhiDYsdqp2YjYsdivINio24wg2YbYuNuM2LEg2Ygg2KrYp9ix24zYrtuMINi02YfYp9iv2Kog2K7ZiNin2YfZhtivINiv2KfYryAhINio2KfYsiDZh9mFINin2LIg2LLYrdmF2KfYqiDYudmF2KfYryDYrNin2YYg2Ygg2YbbjNiyINiz2YjYp9mE2KfYqiDYrtmI2Kgg2K3Ys9uM2YYg2KzYp9mGINiq2LTaqdixINmF24wg2qnZhtmFINqp2Ycg2KfZhiDZiNi52K/ZhyDYp9uMINmF2YLYp9mE2Ycg2KfbjCDYuduM2K/Yp9mG2Ycg2KfbjCDZhdmB2LXZhCDYtNmH24zYsSDYsdinINiv2LEg2KjYp9ix2Ycg2KfbjCDYstmG2K/ZhyDbjNin2K8g2YXYsdit2YjZhSDZhdi12K/ZgiDYjCDYr9ixINmI2LPYuSDYrtmI2K8g2KjYrNin24wg2KfZiNix2K/ZhtivIC4g2LbZhdmGINin2YbaqdmHINmH24zahtqp2K/Yp9mFINin2LIg2K/ZiNiz2KrYp9mG2Iwg2KfbjNmGINiy2K3ZhdiqINin2LHYsti02YXZhtivINi52YXYp9ivINis2KfZhiDYsdinINiv2YTbjNmEINin2YYg2YbYrtmI2KfZh9mG2K8g2K/Yp9mG2LPYqiDaqdmHINi02YfbjNix2LnYstuM2LIg2KjYudivINin2LIg2KjYp9iy2q/YtNiqINin2LIg2YXYs9in2YHYsdiqINiMINiz2LEg2YHYsdi12Kog2YjYudiv2Ycg2KfbjCDYrtmI2K8g2LHYpyDYudmF2YQg2YbaqdmG2YbYryAuINmF2LTYqtin2YLYp9mG2Ycg2KfZhdinINmG2Ycg2LnYrNmI2YTYp9mG2Ycg2Iwg2YXZhtiq2LjYsSDZhdmC2KfZhNmHINin24wg2LTZh9uM2LEg2YfZhSDYrtmI2KfZh9uM2YUg2YXYp9mG2K8uINio2Kcg2KfYrdiq2LHYp9mFIDog2KfYrdiz2KfZhjxicj4KKyZuYnNwOzxicj4KKzxmb250IGNvbG9yPSIjODAwMDAwIj7Yp9it2LPYp9mGINis2KfZhtiMINmF2YYg2YHaqdixINqp2LHYr9mFINmC2LbbjNmHINi02KfZhdmEINmF2LHZiNixINiy2YXYp9mGINi02K/ZhyDYp9iz2KouINiq2Kcg2KfZhdix2YjYsiDaqdmHINmG2LHYs9uM2K/ZhyDYp9mFINiv2LPYqiDYqNmHINin24zZhiDZvtix2YjamNmHINio2LLZhtmFLiDYp9qv2LEg2LnYtNmCINio2Ycg2K3Zgdi4INin2LHYqtio2KfYtyDYqNinINi02YXYpyDZh9inINmG2KjZiNivINiq2Kcg2LHZiNiyIDI1INin2b7YsduM2YQg2KjZhyDYrtmI2K/ZhSDZhdix2K7YtduMINmF24wg2K/Yp9iv2YUuINiv2LEg2KfbjNmGINiz2YHYsSDYrtiv2Kcg2YXbjCDYr9in2YbYryDahtmG2K8g2YfYstin2LEg2YXYp9uM2YQg2K/YsSAzINmC2KfYsdmHINix2Kcg2b7bjNmF2YjYr9mHINin2YUuINin2LIg2b7ZiNiz2Kog2qnZhNmB2Kog2K7ZiNiv2YUg2K/YsSDYudis2KjZhSDaqdmHINqG2LfZiNix24wg2KrZiNmG2LPYqtmFINin2K7YqNin2LEg2LHYpyDYr9mG2KjYp9mEINqp2YbZhSDZiCDahtmG2K8g2YXZgtin2YTZhyDaqdmI2KrYp9mHINio2YbZiNuM2LPZhS4g2q/YsdmB2KrYp9ix24wg2LLbjNin2K8g2KjZiNivLiDYtNmH24zYsTwvZm9udD48L2xpPjxicj48YnI+PGxpPjxmb250IGNvbG9yPSdibHVlJz7YudmF2KfYryDbstu0INiz2KfZhNmHINin2LIg2KfYtdmB2YfYp9mGOjwvZm9udD48YnI+PGZvbnQgc2l6ZT0nMSc+NC8zLzIwMDggLSA3OjE0OjAwIFBNPC9mb250Pjxicj7YtNmH2YrYsSDYrNin2YYg2Kfar9ixINi32YjZhNin2YbbjCDYtNivINio2KjYrti02YrYryDahtin2LHZhyDYp9uMINmG2KjZiNivINin2K3Ys9in2YYg2KzYp9mGINin2LIg2qnZhdqpINi02YXYpyDZhtmK2LIg2K/YsSDZiNmK2LHYp9mK2LQg2KfZitmGINmF2LfZhNioINmF2KrYtNqp2LHZhSDYp9mF2YrYr9mI2KfYsdmFINit2LPZitmGINi52LLbjNiyINmG2YrYsiDYsdin2LbbjCDYqNin2LTYrzxicj4KKyZuYnNwOzxicj4KKzxmb250IGNvbG9yPSIjODAwMDAwIj7ZhdmF2YbZiNmGINin2LIg2LLYrdmF2KrbjCDaqdmHINqp2LTbjNiv24wg2LnZhdin2K8g2KzYp9mGLiDYtNmH24zYsTwvZm9udD48L2xpPjxicj48YnI+PGxpPjxmb250IGNvbG9yPSdibHVlJz7Yrdiz24zZhjo8L2ZvbnQ+PGJyPjxmb250IHNpemU9JzEnPjQvMy8yMDA4IC0gNzowNDowMCBQTTwvZm9udD48YnI+2LPZhNin2YUg2KLZgtinINi02YfbjNixINio2Kcg2KfYrNin2LLZhyDYtNmF2Kcg2K7ZiNin2LPYqtmFINin2LIg2LnZhdin2K8g2LnYstuM2LIg2YjZh9mF2obZhtuM2YYg2LPYsdmI2LEg2KjYstix2q/ZiNin2LEg2KLZgtin2KfYrdiz2KfZhiDYqti02qnYsSDaqdmG2YUg2YjYqNmHINii2YLYpyDYudmF2KfYr9io2q/ZiNuM2YUg2K/Ys9iq2Kog2K/YsdivINmG2qnZhtmHINio2KfYqNiqINiy2K3Zhdiq2Kog2YjZgdmI2YIg2KfZhNi52KfYr9mHINi52KfZhNuMINio2YjYry7Zgtiz2YXYqtuMINqp2Ycg2YbZiNi02KrbjNivIiDYrtmI2K8g2K/aqdiq2LEg2YXYtdiv2YIg2K/YsSDYqtmC2LHbjNix2KfYqti02KfZhiDYqNmHINin2LTYqtio2KfZhyDYqNmI2K/ZhiDYqti12YXbjNmF2LTYp9mGINmF2KjZhtuMINio2LEg2KfYs9iq2LnZgdin2KEg2KfZgtix2KfYsSDZhduMINqp2YbZhtivItmI2KfZgti52Kcg2KzYp9mE2Kgg2YjYrdin2qnbjCDYp9iyINix2YjYrSDYqNmE2YbYryDYr9qp2KrYsSDZhdi12K/ZgiDZh9iz2KogLtio2KfYp9uM2YbaqdmHINiz2YjYp9mE2KfYqiDYrtix2K8g2YjYsduM2LIg2LLbjNin2K8g2YfYs9iqINin2YXYpyDYp9iyINin24zZhtqp2Ycg2KjZhyDYs9mI2KfZhNin2Kog2LnZhdiv2Ycg2YXZhiDYqNinINiq2YjYrNmHINio2Ycg2qnYqtin2Kgg2K/aqdiq2LEg2YXYtdiv2YIg2b7Yp9iz2K4g2K/Yp9iv24zYryDYqNin2LLZh9mFINiq2LTaqdixINmF24zaqdmG2YUgLtmF24zYrtmI2KfYs9iq2YUg2KfbjNmGINm+2KfYs9iuINix2Kcg2KjYsdin24wg2YbZiNuM2LPZhtiv2Ycg2YXZgtin2YTZhyDYsdis2KfZhtuM2YjYsiBjb3B5JnBhc3RlIDxicj4KK9qp2YbZhSDar9mB2KrZhSDYtNin24zYryDZh9ix2obZhtivINio2Ycg2KfYrdiq2YXYp9mEINi22LnbjNmBINio2LHYp9uMINiz2KfbjNiqINiv2YjYs9iqINiv2KfYtNiq2YbbjCDYotmC2Kcg2LTZh9uM2LEg2YXYtNqp2YTbjCDZvtuM2LQKK9ii24zYry7YrtmI2KfYs9iq2YUg2KjYpyDYrdiw2YEg2YbYp9mFINii2YLYpyDYtNmH24zYsSDZiNi02YXYpyDYp9iyINqp2KfZhdmG2Kog2KfbjNmG2qnYp9ixINix2Kcg2KjaqdmG2YUg2KfYrdiq2YXYp9mEINiv2KfYr9mFINix2KfYttuMCivZhtio2KfYtNuM2K8gLtio2YbYp9io2LHYp9uM2YYg2YHYudmE2Kcg2LnZhNuM2LHYutmFINmF24zZhCDZgdix2KfZiNin2YYg2KfYsiDYp9uM2Ybaqdin2LEg2LXYsdmBINmG2LjYsSDaqdix2K/ZhSAu2KjZh9ix2K3Yp9mEINio2KfYstmH2YUKK9mF2YXZhtmI2YYg2YjZhdiq2LTaqdixICA8L2xpPjxicj48YnI+PGxpPjxmb250IGNvbG9yPSdibHVlJz7Yrdin2KzbjCDYrNmB2LHYs9mI2YY6PC9mb250Pjxicj48Zm9udAorc2l6ZT0nMSc+NC8zLzIwMDggLSA2OjA2OjAwIFBNIEZPTyE8L2ZvbnQ+PGJyPtio2Kcg2K/YsdmI2K8g2KfYsiDZgtiv24zZhSDar9mB2KrZhyDYp9mG2K8g2qnZhyDbjNqpINqp2YTZhdmHINmH2YUg2KfYsiDZhdin2K/YsSDYudix2YjYsyDYqNi02YbZiNuM2K8uINio2YbYp9io2LHYp9uM2YYg2KjZhyDYp9mB2KfYttin2Kog2KfYrtuM2LEg2qnYtNmI2LEg2K/ZiNiz2Kog2Ygg2KjYsdin2K/YsSDZiCDYs9mI2LPbjNin2YTbjNiz2Kog2obbjNmGINi52LLbjNiyINmIINis2KfZhiDYrNin2YbYp9mGINqp2YXZiNmG24zYs9iqINi52YbYp9uM2Kog2KjZgdix2YXYp9uM24zYrzog2LHYp9iv24zZiCDZgdix2K/Ypzog2K/Zitm+2YTZhdin2Kog2YfYpyDYr9ixINmI2YrZhiDar9mB2KrZhyDYp9mG2K86INqp2Ycg2obZitmG2Iwg2KfYsiDZhdiu2KfZhNmB2KfZhiDYqti02K/ZitivINiq2K3YsdmK2YUg2YfYp9uMINin2YrYsdin2YYg2K/YsSDYtNmI2LHYp9uMINin2YXZitmG2KrYjCDYp9i32YTYp9i52KfYqiDYrtmI2K8g2K/Ysdio2KfYsdmHINin2LHYqtio2KfYtyDYqNix2YbYp9mF2Ycg2YfYs9iq2Ycg2KfbjCDYqtmH2LHYp9mGINio2Kcg2KrZhNin2LQg2KjYsdin24wg2K/Ys9iq2YrYp9io24wg2LPZhNin2K0g2KfYqtmF24wg2LHYpyDYr9ixINin2K7YqtmK2KfYsSDYotqY2KfZhtizINio2YrZhiDYp9mE2YXZhNmE24wg2KfZhtix2pjbjCDYp9iq2YXbjCDZgtix2KfYsSDYr9in2K/ZhyDYp9iz2KouINin2YTYudis2KghISEhISEg2KfZhtiq2K7Yp9ioIDrYqNinINmI2KzZiNivINin24zZhtqp2Ycg2obbjNmGINio2Ycg2LTYr9iqINio2Kcg2KrYrdix24zZhdmH2KfbjCDYtNmI2LHYp9uMINin2YXZhtuM2Kog2LPYp9iy2YXYp9mGINmF2YTZhCDYudmE24zZhyDYp9uM2LHYp9mGINmF2K7Yp9mE2YHYqiDZhduMINqp2LHYr9iMINin2LfZhNin2LnYp9iq24wg2K/YsSDYsdin2KjYt9mHINio2Kcg2YHYudin2YTbjNiq2YfYp9uMINmH2LPYqtmHINin24wg2KfbjNix2KfZhiDYr9ixINin2K7YqtuM2KfYsSDZhdmC2KfZhdin2Kog2KLamNin2YbYsyDYqNuM2YYg2KfZhNmF2YTZhNuMINin2YbYsdqY24wg2KfYqtmF24wg2YLYsdin2LEg2K/Yp9iv2Ycg2qnZhyDYqNixINin2LPYp9izINii2YYg2KfbjNix2KfZhiDYr9ixINiq2YTYp9i0INio2LHYp9uMINiv2LPYqiDbjNin2KjbjCDYqNmHINiz2YTYp9itINmH2KfbjCDYp9iq2YXbjCDYp9iz2KouINio2Ycg2q/Ystin2LHYtCDYrtio2LHZhtqv2KfYsSDYs9ix2YjbjNizINio24zZhiDYp9mE2YXZhNmEINiu2KjYsdqv2LLYp9ix24wg2KfZhtiq2K7Yp9ioINio2Ycg2YbZgtmEINin2LIg2YHYp9qp2LMg2YbbjNmI2LLYm9is2KfZhiDYqNmI2YTYqtmI2YYg2IzZhtmF2KfbjNmG2K/bgCDZvtuM2LTbjNmGINin24zYp9mE2KfYqiDZhdiq2K3Yr9uAINin2YXYsduM2qnYpyDYr9ixINiz2KfYstmF2KfZhiDZhdmE2YTYjNiv2LEg2KfbjNmGINio2KfYsdmHINqv2YHYqjog2KfZgtiv2KfZhSDYp9uM2YbahtmG24zZhtuMINin2LIg2LPZiNuMINqG24zZhiDYqNmHINiv2YTbjNmEINix2YjYp9io2Lcg2YbYuNin2YXbjCDaqdmHINmF24zYp9mGINiv2Ygg2qnYtNmI2LEgW9in24zYsdin2YYg2Ygg2obbjNmGXSDYqNix2YLYsdin2LEg2KfYs9iq2Iwg2KjYs9uM2KfYsSDZgtin2KjZhCDYqtmI2KzZhyDYp9iz2KouINiu2KjYsdmG2q/Yp9ixINin2YbYqtiu2KfYqCDZhduMINin2YHYstin24zYr9ibINiv2LEg2K3Yp9mE24wg2obbjNmGINio2Ycg2KfbjNmGINin2YLYr9in2YUg2K/Ys9iqINiy2K/ZhyDYp9iz2Kog2qnZhyDZh9mF2qnYp9ix24wg2YfYp9uMINiq2KzYp9ix24wg2Ygg2YbYuNin2YXbjCDYp9uM2LHYp9mGINio2Kcg2KfbjNmGINqp2LTZiNixINio2LfZiNixINio24wg2LPYp9io2YLZhyDYp9uMINin2YHYstin24zYtCDbjNin2YHYqtmHINin2LPYqi4g24zYpyDYqNin2Kgg2KfZhNit2YjYp9im2KwhISEhISDYsdin2K/bjNmIINiy2YXYp9mG2Yc6INqG24zZhiDYqNinINmI2KzZiNivINmF2K7Yp9mE2YHYqiDYqNinINiq2K3YsduM2YUmenduajvZh9in24wg2LTYr9uM2K8g2LTZiNix2KfbjCDYp9mF2YbbjNiqINi52YTbjNmHINiq2YfYsdin2YbYjCDYp9i32YTYp9i52KfYqtuMINiv2LHYqNin2LHZhyDYqtmE2KfYtCZ6d25qO9mH2KfbjCDYqtmH2LHYp9mGINio2LHYp9uMINiz2KfYrtiqINiq2LPZhNuM2K3Yp9iqINmH2LPYqtmHJnp3bmo72KfbjCDYqNmHINii2pjYp9mG2LMg2KjbjNmGJnp3bmo72KfZhNmF2YTZhNuMINin2YbYsdqY24wg2KfYqtmF24wg2KfYsdin2KbZhyDaqdix2K/ZhyDYp9iz2KouINii2LPZiNi024zYqtiv2b7YsdizINio2Kcg2KfYudmE2KfZhSDYp9uM2YYg2K7YqNixINio2Ycg2YbZgtmEINin2LIg2obZhtivINiv24zZvtmE2YXYp9iqINii2LTZhtinINio2Kcg2b7YsdmI2YbYr9mHINmH2LPYqtmHJnp3bmo72KfbjCDYp9uM2LHYp9mGINmG2YjYtNiq2Iwg2b7aqdmGINio2Ycg2YfZhdix2KfZhyDZhdiz2qnZiCDZh9mF2YjYp9ix2Ycg2KjYsSDYs9ixINix2KfZhyDYtNmI2LHYp9uMINin2YXZhtuM2Kog2Ygg2KfZhdix24zaqdinINio2LHYp9uMINin2LnZhdin2YQg2YXYrNin2LLYp9iqINmH2KfbjCDYs9iu2Kog2KrYsSDYudmE24zZhyDYqtmH2LHYp9mGINio2Ycg2K/ZhNuM2YQg2YXZgtin2YjZhdiqINmH2LPYqtmHINin24wg2KfbjNmGINqp2LTZiNixINio2Ycg2LXZiNix2Kog24zaqSDZhdin2YbYuSDYudmF2YQg2qnYsdiv2YcmenduajvYp9mG2K8uINin24zZhiDar9iy2KfYsdi0INmF24wg2KfZgdiy2KfbjNiv2Iwg2KrYtdmF24zZhSDahtuM2YYg2KjYsdin24wg2KfYsdin2KbZhyDYp9i32YTYp9i52KfYqtuMINis2YfYqiDYp9iz2KrZgdin2K/ZhyDYr9ixINiq2K3ZgtuM2YLYp9iqINii2pjYp9mG2LMg2KfZhtix2pjbjCDYp9iq2YXbjCDYr9ix2KjYp9ix2Ycg2KjYsdmG2KfZhdmHINiq2LPZhNuM2K3Yp9iqINmH2LPYqtmHJnp3bmo72KfbjCDYp9uM2LHYp9mG2Iwg2q/ZiNuM2KfbjCDYp9mB2LLYp9uM2LQg2YbYp9ix2LbYp9uM2KrbjCDYqNuM2YYmenduajvYp9mE2YXZhNmE24wg2K/Ysdio2KfYsdmHINio2LHZhtin2YXZhyDZh9iz2KrZhyZ6d25qO9in24wg2KzZhdmH2YjYsduMINin2LPZhNin2YXbjCDYp9iz2Kog2qnZhyDYrdiq24wg2KrZhNin2LQg2KjYsdin24wg2LPYp9iu2Kog2obZhtuM2YYg2KrYs9mE24zYrdin2KrbjCDYsdinINmG24zYsiDYqtqp2LDbjNioINmF24wmenduajvaqdmG2K8uINio2LEg2KfYs9in2LMg2KfbjNmGINqv2LLYp9ix2LTYjCDYr9mIINiv24zZvtmE2YXYp9iqINio2YTZhtiv2b7Yp9uM2Ycg2qnZhyDYp9ix2KrYqNin2Lcg2YbYstiv24zaqduMINio2Kcg2KLamNin2YbYsyDYqNuM2YYmenduajvYp9mE2YXZhNmE24wg2KfZhtix2pjbjCDYp9iq2YXbjCDYr9in2LHZhtivINin24zZhiDYp9mC2K/Yp9mFINqG24zZhiDYsdinINio2LHZhdmE2Kcg2qnYsdiv2YcmenduajvYp9mG2K8uINii2pjYp9mG2LMg2KjbjNmGJnp3bmo72KfZhNmF2YTZhNuMINin2YbYsdqY24wg2KfYqtmF24wg2KfYsiDYp9i42YfYp9ixINmG2LjYsSDYr9ixINin24zZhiDYqNin2LHZhyDYrtmI2K/Yr9in2LHbjCDaqdix2K/ZhyDYp9iz2KouINin2YTYudis2KguINmF2YYg2YXYp9mF2YjYsSDZiCDZhdi52LDZiNixLi7Yrdin2YTYpyDYp9iyINm+2K/YsSDYudix2YjYsyDahtmG2K8g2qnZhNmF2Ycg2KjYtNmG2YjbjNivOiDYs9iu2Ybar9mI24wg2KLamNin2YbYsyDYqNuM2YYg2KfZhNmF2YTZhNuMINin2YbYsdqY24wg2KfYqtmF24wg2KfYr9i52KfbjCDYqNix2K7bjCDYp9iyINix2LPYp9mG2Ycg2YfYp9uMINi62LHYqNuMINix2Kcg2K/Ysdio2KfYsdmHINin24zZhiDaqdmHINqG24zZhiDYp9i32YTYp9i52KfYqtuMINix2Kcg2K/Ysdio2KfYsdmHINio2LHZhtin2YXZhyDZh9iz2KrZhyDYp9uMINin24zYsdin2YYg2K/YsSDYp9iu2KrbjNin2LEg2KLamNin2YbYsyDZgtix2KfYsSDYr9in2K/ZhyDYp9iz2Kog2Iwg2Kraqdiw24zYqCDaqdix2K8gLiDZhdmE24zYs9inINmB2YTZhduM2YbaryDYr9ixINqv2YHYqiDZiCDar9mIINio2Kcg2K7YqNix2Ybar9in2LEg2YjYp9it2K8g2YXYsdqp2LLbjCDYrtio2LEg2KrYp9qp24zYryDaqdix2K8gOiDYotqY2KfZhtizINio24zZhiDYp9mE2YXZhNmE24wg2KfZhtix2pjbjCDYp9iq2YXbjCDZh9ix2q/YsiDYr9ix2KjYp9ix2Ycg2KfYt9mE2KfYudin2Kog2YXYrdix2YXYp9mG2Ycg2K/YsduM2KfZgdiq24wg2KfYsiDaqdi02YjYsdmH2Kcg2KfYuNmH2KfYsSDZhti42LEg2YbZhduMINqp2YbYryAuINmI24wg2q/ZgdiqOiDZh9mFCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvSFRNTC93aXJlZC5odG1sIGIvbGlieG1sMi90ZXN0L0hUTUwvd2lyZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZDAwZDI4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L0hUTUwvd2lyZWQuaHRtbApAQCAtMCwwICsxLDUxNiBAQAorPCEtLSBWaWduZXR0ZSBTdG9yeVNlcnZlciA0IEZyaSBPY3QgMTUgMTE6Mzc6MTIgMTk5OSAtLT4KKzxodG1sPjxoZWFkPjx0aXRsZT5Ub3AgU3RvcmllcyBOZXdzIGZyb20gV2lyZWQgTmV3czwvdGl0bGU+PC9oZWFkPjxib2R5IGJnY29sb3I9IiNGRkZGRkYiIHRleHQ9IiMwMDAwMDAiIGxpbms9IiMzMzMzOTkiIHZsaW5rPSIjNjYwMDY2IiBhbGluaz0iIzY2NjY5OSI+CisKKzx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSI2MDAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMCI+CisgIDx0cj4KKyAgICA8dGQgdmFsaWduPSJ0b3AiIGFsaWduPSJMRUZUIj48VEFCTEUgQk9SREVSPSIwIiBDRUxMUEFERElORz0iMCIgQ0VMTFNQQUNJTkc9IjAiIFdJRFRIPSI0NjgiIEhFSUdIVD0iNjAiIEJHQ09MT1I9IiNGRkZGRkYiPjxGT1JNIE1FVEhPRD1HRVQgQUNUSU9OPSJodHRwOi8vbnNhZHMuaG90d2lyZWQuY29tL2V2ZW50Lm5nL1R5cGU9Y2xpY2smUHJvZmlsZUlEPTk2ODgmUnVuSUQ9MTQwNzQmQWRJRD0yMjU4NCZHcm91cElEPTEmRmFtaWx5SUQ9MjY4NCZUYWdWYWx1ZXM9OC4yNS4xNTYuMTU5LjE2Ni4xNzEuMTcyLjE3NC4xNzkuMTgwLjE4MS4xODIuMTgzLjE5Ni4xOTcuMTk5LjIwOC4zODkuNDEyLjQzNi4yMDQxLjY3NTAuNzg0NTYuNzk2MzAuODE4ODAmYW1wO1JlZGlyZWN0PWh0dHA6Ly93d3cuc3ByaW5nc3RyZWV0LmNvbS9hYS9jaXR5c2VhcmNoLmh0bSIgaWQ9Zm9ybTEgbmFtZT1mb3JtMT4NCis8VFI+PFREIEJHQ09MT1I9IiMzMzAwOTkiPjxJTlBVVCBOQU1FPSJjaXR5IiBUWVBFPSJ0ZXh0IiBTSVpFPSI3IiBNQVhMRU5HVEg9IjIwIiBWQUxVRT0iU2VhdHRsZSI+PC9URD4NCis8VEQgUk9XU1BBTj0yIEFMSUdOPUxFRlQgQkdDT0xPUj1GRkZGRkY+PElOUFVUIFRZUEU9IklNQUdFIiBTUkM9Imh0dHA6Ly9zdGF0aWMud2lyZWQuY29tL2FkdmVydGlzaW5nL2JsaXB2ZXJ0cy9hbGxhcGFydG1lbnRzLzk5MDYyNWpwYV9zc3Rob21lLmdpZiIgV0lEVEg9IjM3NSIgSEVJR0hUPSI2MCIgQk9SREVSPSIwIiBWQUxVRT0ic2VhcmNoIiBIU1BBQ0U9MCBhbHQ9IlNlYXJjaCBvdmVyIDYsMDAwLDAwMCBBcHRzIHdpdGggU3ByaW5nU3RyZWV0Ij48L1REPjwvVFI+DQorPFRSPjxURCBCR0NPTE9SPSIjMzMwMDk5Ij4NCis8U0VMRUNUIE5BTUU9InN0YXRlIj4NCis8T1BUSU9OIFZBTFVFPSJXQSIgU0VMRUNURUQ+V0ENCis8T1BUSU9OIFZBTFVFPSJBTCI+QUw8L09QVElPTj48T1BUSU9OIFZBTFVFPSJBSyI+QUs8L09QVElPTj4NCis8T1BUSU9OIFZBTFVFPSJBWiI+QVo8L09QVElPTj4NCis8T1BUSU9OIFZBTFVFPSJBUiI+QVI8L09QVElPTj4NCis8T1BUSU9OIFZBTFVFPSJDQSI+Q0E8L09QVElPTj4NCis8T1BUSU9OIFZBTFVFPSJDTyI+Q088L09QVElPTj4NCis8T1BUSU9OIFZBTFVFPSJDVCI+Q1Q8L09QVElPTj4NCis8T1BUSU9OIFZBTFVFPSJERSI+REU8L09QVElPTj4NCis8T1BUSU9OIFZBTFVFPSJEQyI+REM8L09QVElPTj4NCis8T1BUSU9OIFZBTFVFPSJGTCI+Rkw8L09QVElPTj4NCis8T1BUSU9OIFZBTFVFPSJHQSI+R0E8L09QVElPTj48T1BUSU9OIFZBTFVFPSJISSI+SEk8L09QVElPTj4NCis8T1BUSU9OIFZBTFVFPSJJRCI+SUQ8L09QVElPTj4NCis8T1BUSU9OIFZBTFVFPSJJTCI+SUw8L09QVElPTj4NCis8T1BUSU9OIFZBTFVFPSJJTiI+SU48L09QVElPTj48T1BUSU9OIFZBTFVFPSJJQSI+SUE8L09QVElPTj48T1BUSU9OIFZBTFVFPSJLUyI+S1M8L09QVElPTj48T1BUSU9OIFZBTFVFPSJLWSI+S1k8L09QVElPTj4NCis8T1BUSU9OIFZBTFVFPSJMQSI+TEE8L09QVElPTj4NCis8T1BUSU9OIFZBTFVFPSJNRSI+TUU8L09QVElPTj48T1BUSU9OIFZBTFVFPSJNRCI+TUQ8L09QVElPTj4NCis8T1BUSU9OIFZBTFVFPSJNQSI+TUE8L09QVElPTj4NCis8T1BUSU9OIFZBTFVFPSJNSSI+TUk8L09QVElPTj48T1BUSU9OIFZBTFVFPSJNTiI+TU48L09QVElPTj48T1BUSU9OIFZBTFVFPSJNUyI+TVM8L09QVElPTj4NCis8T1BUSU9OIFZBTFVFPSJNTyI+TU88L09QVElPTj4NCis8T1BUSU9OIFZBTFVFPSJNVCI+TVQ8L09QVElPTj48T1BUSU9OIFZBTFVFPSJORSI+TkU8L09QVElPTj4NCis8T1BUSU9OIFZBTFVFPSJOViI+TlY8L09QVElPTj48T1BUSU9OIFZBTFVFPSJOSCI+Tkg8L09QVElPTj4NCis8T1BUSU9OIFZBTFVFPSJOSiI+Tko8L09QVElPTj4NCis8T1BUSU9OIFZBTFVFPSJOTSI+Tk08L09QVElPTj48T1BUSU9OIFZBTFVFPSJOWSI+Tlk8L09QVElPTj4NCis8T1BUSU9OIFZBTFVFPSJOQyI+TkM8L09QVElPTj4NCis8T1BUSU9OIFZBTFVFPSJORCI+TkQ8L09QVElPTj4NCis8T1BUSU9OIFZBTFVFPSJPSCI+T0g8L09QVElPTj48T1BUSU9OIFZBTFVFPSJPSyI+T0s8L09QVElPTj4NCis8T1BUSU9OIFZBTFVFPSJPUiI+T1I8L09QVElPTj4NCis8T1BUSU9OIFZBTFVFPSJQQSI+UEE8L09QVElPTj4NCis8T1BUSU9OIFZBTFVFPSJQUiI+UFI8L09QVElPTj48T1BUSU9OIFZBTFVFPSJSSSI+Ukk8L09QVElPTj4NCis8T1BUSU9OIFZBTFVFPSJTQyI+U0M8L09QVElPTj4gDQorPE9QVElPTiBWQUxVRT0iU0QiPlNEPC9PUFRJT04+PE9QVElPTiBWQUxVRT0iVE4iPlROPC9PUFRJT04+PE9QVElPTiBWQUxVRT0iVFgiPlRYPC9PUFRJT04+DQorPE9QVElPTiBWQUxVRT0iVVQiPlVUPC9PUFRJT04+DQorPE9QVElPTiBWQUxVRT0iVlQiPlZUPC9PUFRJT04+DQorPE9QVElPTiBWQUxVRT0iVkEiPlZBPC9PUFRJT04+DQorPE9QVElPTiBWQUxVRT0iV0EiPldBPC9PUFRJT04+DQorPE9QVElPTiBWQUxVRT0iV1YiPldWPC9PUFRJT04+DQorPE9QVElPTiBWQUxVRT0iV0kiPldJPC9PUFRJT04+DQorPE9QVElPTiBWQUxVRT0iV1kiPldZPC9PUFRJT04+DQorPC9TRUxFQ1Q+PElOUFVUIFRZUEU9ImhpZGRlbiIgTkFNRT0ic291cmNlIiBWQUxVRT0iMmhiOGJoYzA1OSI+DQorPC9URD48L1RSPjwvRk9STT4NCis8L1RBQkxFPjwvdGQ+CisgICAgPHRkIHZhbGlnbj0idG9wIiBhbGlnbj0iUklHSFQiPjxhIGhyZWY9Imh0dHA6Ly9uc2Fkcy5ob3R3aXJlZC5jb20vZXZlbnQubmcvVHlwZT1jbGljayZQcm9maWxlSUQ9NTU5NyZSdW5JRD0xNzE2NyZBZElEPTIyNTg4Jkdyb3VwSUQ9MSZGYW1pbHlJRD0zMjI4JlRhZ1ZhbHVlcz04LjI1LjE1OS4xNzEuMTcyLjE3NC4xNzkuMTgwLjE4MS4xODIuMTgzLjE5Ni4xOTcuMTk5LjIwOC4yNDEuMzg5LjQxMi40MzYuMjAzNS42NzQ5LjY3NTAuNzAzNjcuNzg0NTYuNzk2MzAuODE4ODAmYW1wO1JlZGlyZWN0PWh0dHA6JTJGJTJGd3d3LmhwLmNvbSUyRmdvJTJGb3JpZ2luYWwlMjAiIFRBUkdFVD0iX3RvcCI+PGltZyBzcmM9Imh0dHA6Ly9zdGF0aWMud2lyZWQuY29tL2FkdmVydGlzaW5nL2JsaXB2ZXJ0cy9ocF9jb2xvcmlua2pldC9ocF85NzBjXzEyMHg2MF82LmdpZiIgQk9SREVSPTEgaGVpZ2h0PTYwIHdpZHRoPTEyMCBhbHQ9IlRydWUgdG8gdGhlIE9yaWdpbmFsIj48L2E+PC90ZD4KKyAgPC90cj4KKzwvdGFibGU+CisKKzwhLS0gV0lSRUQgTkVXUyBoZWFkZXIgLS0+Cis8IS0tIENNRF9IT1NUID0gc2Nvb3AuaG90d2lyZWQuY29tIC0tPgorCis8YSBuYW1lPSIjIj48L2E+Cis8dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iNjAwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjAiPgorCisgIDx0cj48dGQ+PC90ZD48dGQgY29sc3Bhbj0iMiI+PGltZyBzcmM9Imh0dHA6Ly9zdGF0aWMud2lyZWQuY29tL25ld3MvaW1hZ2VzL3NwYWNlci5naWYiIGhlaWdodD0iNSIgd2lkdGg9IjQ0NyIgYWx0PSIiPjwvdGQ+Cis8L3RyPiAKKworIDx0cj4gCisgICAgICA8dGQgdmFsaWduPSJCT1RUT00iIGFsaWduPSJSSUdIVCIgY2xhc3M9IndpcmVkIiBiZ2NvbG9yPSIjRkZGRkZGIj48YSBocmVmPSIvbmV3cy8wLDEyODcsLDAwLmh0bWwiPjxpbWcgc3JjPSJodHRwOi8vc3RhdGljLndpcmVkLmNvbS9uZXdzL2ltYWdlcy93aXJlZF8wMDAwMDAuZ2lmIiB3aWR0aD0iMTUzIiBoZWlnaHQ9IjMwIiBib3JkZXI9IjAiPjwvYT48L3RkPgorICAgICAgPHRkIGJnY29sb3I9IiNGRjAwMDAiIHZhbGlnbj0iQk9UVE9NIiBhbGlnbj0iTEVGVCIgd2lkdGg9Ijk3Ij48YSBocmVmPSIvbmV3cy8wLDEyODcsLDAwLmh0bWwiPjxpbWcgc3JjPSJodHRwOi8vc3RhdGljLndpcmVkLmNvbS9uZXdzL2ltYWdlcy9uZXdzX2ZmZmZmZi5naWYiIHdpZHRoPSIxMDMiIGhlaWdodD0iMzAiIGJvcmRlcj0iMCI+PC9hPjwvdGQ+CisKKworPHRkIGJnY29sb3I9IiNGRjAwMDAiIGFsaWduPSJsZWZ0IiB2YWxpZ249ImNlbnRlciI+PG5vYnI+PGltZyBzcmM9Imh0dHA6Ly9zdGF0aWMud2lyZWQuY29tL25ld3MvaW1hZ2VzL3NwYWNlci5naWYiIHdpZHRoPSIzNDQiIGhlaWdodD0iMSI+PGJyPjxmb250IHNpemU9IjEiIGZhY2U9IlZlcmRhbmEsIEFyaWFsLCBHZW5ldmEsIHNhbnMtc2VyaWYiIGNvbG9yPSIjRkZGRkZGIj4mbmJzcDsmbmJzcDsmbmJzcDs8Yj51cGRhdGVkIDEwOjE1IGEubS4mbmJzcDsmbmJzcDsxNS5PY3QuOTkuUERUPC9iPjwvZm9udD48L25vYnI+PC90ZD4KKworCisgICAgICAgIDwvdHI+CisgICAgPHRyPiAKKyAgICAgIDx0ZCB2YWxpZ249Ik1JRERMRSIgYWxpZ249IlJJR0hUIiBiZ2NvbG9yPSIjRkZGRkZGIj48aW1nIHNyYz0iaHR0cDovL3N0YXRpYy53aXJlZC5jb20vbmV3cy9pbWFnZXMvc3BhY2VyLmdpZiIgd2lkdGg9MSBoZWlnaHQ9IjMwIj48L3RkPgorICAgICAgCisgICAgICA8dGQgY29sc3Bhbj0iMiIgYmdjb2xvcj0iIzk5OTk5OSI+CisKKyAgICAgICA8VEFCTEUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjUiPgorPGZvcm0gbmFtZT0iUmVkaXJlY3RTZWFyY2giIGFjdGlvbj0iaHR0cDovL3JlZGlyZWN0LndpcmVkLmNvbS9zZWFyY2giPgorICAgICAgICAgICAgICAgIDx0cj4gIAorICAgICAgICAgICAgPHRkPiAKKzxmb250IGZhY2U9ImNvdXJpZXIiIHNpemU9IjEiPjxpbnB1dCB0eXBlPSJURVhUIiBuYW1lPSJxdWVyeSIgc2l6ZT0iMjAiIHZhbHVlPSIiPjwvZm9udD4KKyAgICAgICAgICAgIDwvdGQ+CisKKyAgICAgICAgICAgIDx0ZD4KKzxzZWxlY3QgbmFtZT0idXJsIj4KKworICA8b3B0aW9uIHZhbHVlPSJodHRwOi8vc2VhcmNoLmhvdHdpcmVkLmNvbS9zZWFyY2g5Ny9zOTcudnRzP0FjdGlvbj1GaWx0ZXJTZWFyY2gmRmlsdGVyPWRvY3NfZmlsdGVyLmh0cyZSZXN1bHRUZW1wbGF0ZT12aWduZXR0ZS5odHMmQ29sbGVjdGlvbj12aWduZXR0ZSZRdWVyeU1vZGU9SW50ZXJuZXQmUXVlcnk9IiBzZWxlY3RlZD5XaXJlZCBOZXdzPC9vcHRpb24+CisgIDxvcHRpb24gdmFsdWU9Imh0dHA6Ly9zZWFyY2guaG90d2lyZWQuY29tL3NlYXJjaDk3L3M5Ny52dHM/QWN0aW9uPUZpbHRlclNlYXJjaCZGaWx0ZXI9ZG9jc19maWx0ZXIuaHRzJlJlc3VsdFRlbXBsYXRlPXdlYm1vbmtleS5odHMmQ29sbGVjdGlvbj13ZWJtb25rZXkmUXVlcnlNb2RlPUludGVybmV0JlF1ZXJ5PSI+V2VibW9ua2V5PC9vcHRpb24+CisgPG9wdGlvbiB2YWx1ZT0iaHR0cDovL3NlYXJjaC5ob3R3aXJlZC5jb20vc2VhcmNoOTcvczk3LnZ0cz9jb2xsZWN0aW9uPXdlYm1vbmtleV9ndWlkZXMmQWN0aW9uPUZpbHRlclNlYXJjaCZmaWx0ZXI9ZG9jc19maWx0ZXIuaHRzJlJlc3VsdFRlbXBsYXRlPXdlYm1vbmtleV9ndWlkZXMuaHRzJlF1ZXJ5TW9kZT1JbnRlcm5ldCZRdWVyeT0iPldlYm1vbmtleSBHdWlkZXM8L29wdGlvbj4KKyA8b3B0aW9uIHZhbHVlPSJodHRwOi8vc2VhcmNoLmhvdHdpcmVkLmNvbS9zZWFyY2g5Ny9zOTcudnRzP2NvbGxlY3Rpb249aG90d2lyZWQmQWN0aW9uPUZpbHRlclNlYXJjaCZmaWx0ZXI9ZG9jc19maWx0ZXIuaHRzJlJlc3VsdFRlbXBsYXRlPWhvdHdpcmVkX2FyY2hpdmUuaHRzJlF1ZXJ5TW9kZT1JbnRlcm5ldCZRdWVyeT0iPkhvdFdpcmVkIEFyY2hpdmVzPC9vcHRpb24+CisgIDxvcHRpb24gdmFsdWU9Imh0dHA6Ly9zZWFyY2guaG90d2lyZWQuY29tL3NlYXJjaDk3L3M5Ny52dHM/QWN0aW9uPUZpbHRlclNlYXJjaCZGaWx0ZXI9ZG9jc19maWx0ZXIuaHRzJlJlc3VsdFRlbXBsYXRlPW1hZ2F6aW5lLmh0cyZDb2xsZWN0aW9uPW1hZ2F6aW5lJlF1ZXJ5TW9kZT1JbnRlcm5ldCZRdWVyeT0iPldpcmVkIE1hZ2F6aW5lPC9vcHRpb24+CisgIDxvcHRpb24gdmFsdWU9Imh0dHA6Ly9zZWFyY2guaG90d2lyZWQuY29tL3NlYXJjaDk3L3M5Ny52dHM/QWN0aW9uPUZpbHRlclNlYXJjaCZGaWx0ZXI9ZG9jc19maWx0ZXIuaHRzJlJlc3VsdFRlbXBsYXRlPWFuaW1hdGlvbi5odHMmQ29sbGVjdGlvbj1hbmltYXRpb24mUXVlcnlNb2RlPUludGVybmV0JlF1ZXJ5PSI+QW5pbWF0aW9uIEV4cHJlc3M8L29wdGlvbj4gCisgPG9wdGlvbiB2YWx1ZT0iaHR0cDovL3NlYXJjaC5ob3R3aXJlZC5jb20vc2VhcmNoOTcvczk3LnZ0cz9jb2xsZWN0aW9uPXN1Y2smQWN0aW9uPUZpbHRlclNlYXJjaCZmaWx0ZXI9ZG9jc19maWx0ZXIuaHRzJlJlc3VsdFRlbXBsYXRlPXN1Y2suaHRzJlF1ZXJ5TW9kZT1JbnRlcm5ldCZRdWVyeT0iPlN1Y2suY29tPC9vcHRpb24+CisgPG9wdGlvbiB2YWx1ZT0iaHR0cDovL3NlYXJjaC5ob3R3aXJlZC5jb20vc2VhcmNoOTcvczk3LnZ0cz9jb2xsZWN0aW9uPXViZXJfaG90d2lyZWQmQWN0aW9uPUZpbHRlclNlYXJjaCZmaWx0ZXI9ZG9jc19maWx0ZXIuaHRzJlJlc3VsdFRlbXBsYXRlPXViZXJfaG90d2lyZWQuaHRzJlF1ZXJ5TW9kZT1JbnRlcm5ldCZRdWVyeT0iPkFsbCBvZiBIb3RXaXJlZDwvb3B0aW9uPgorIDxvcHRpb24gdmFsdWU9Imh0dHA6Ly93d3cuaG90Ym90LmNvbS8/U009TUMmRFY9MCZMRz1hbnkmUkQ9UkcmREM9MTAmREU9MiZfdj0yJk9Qcz1NRFJUUCZNVD0iPlRoZSBXZWIgLT4gSG90Qm90PC9vcHRpb24+Cis8L3NlbGVjdD4KKworCisKKyAgICAgICAgICAgIDwvdGQ+CisgICAgICAgICAgICA8dGQ+IAorICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iU1VCTUlUIiBuYW1lPSJTVUJNSVQiIHZhbHVlPSJTRUFSQ0giPgorICAgICAgICAgICAgPC90ZD4KKyAgICAgICAgICA8L3RyPgorICA8L2Zvcm0+ICAgICAgICAKKyAgICAgICA8L1RBQkxFPgorICAgICAgICAgIDwvdGQ+CisgICAgICAgIDwvdHI+Cis8IS0tIAorPFRSPgorPHRkPjwvdGQ+Cis8VEQgdmFsaWduPSJUT1AiIGFsaWduPSJMRUZUIiBjb2xzcGFuPSIzIiBiZ2NvbG9yPSIjRjBGMEYwIj48aW1nIHNyYz0iaHR0cDovL3N0YXRpYy53aXJlZC5jb20vbmV3cy9pbWFnZXMvc3BhY2VyLmdpZiIgaGVpZ2h0PTEgd2lkdGg9MTUgYWx0PSIiPjxicj4KKzxpPjxmb250IGZhY2U9IlZlcmRhbmEsIEFyaWFsLCBHZW5ldmEsIHNhbnMtc2VyaWYiIHNpemU9IjIiPlNwb25zb3JlZCBieTxhIGhyZWY9IiMiPlN1biBNaWNyb3N5c3RlbXMuPC9hPiBXZSdyZSB0aGUgZG90IGluIC5jb208L2ZvbnQ+PC9pPjxpPjwvaT48L1REPgorPC9UUj4KKy0tPgorPC90YWJsZT4KKzwhLS0gZW5kIFdJUkVEIE5FV1MgaGVhZGVyIC0tPgorCis8IS0tIGJlZ2luIHVwcGVyIGxlZnQgc2lkZSBOYXZpZ2F0aW9uIC0tPgorCis8dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMyIgY2VsbHNwYWNpbmc9IjAiIGFsaWduPSJMRUZUIiBiZ2NvbG9yPSIjRkZGRkZGIj4KKyAgPHRyPiAKKyAgICA8dGQgYmdjb2xvcj0iI0ZGMDAwMCI+PGZvbnQgc2l6ZT0iMSIgZmFjZT0iVmVyZGFuYSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiIgY29sb3I9IiNGRkZGRkYiPiAKKyAgICAgIDxpbWcgc3JjPSJodHRwOi8vc3RhdGljLndpcmVkLmNvbS9uZXdzL2ltYWdlcy9zcGFjZXIuZ2lmIiB3aWR0aD0xNDcgaGVpZ2h0PTEgYm9yZGVyPTA+PGJyPjxiPlNFQ1RJT05TPC9iPjwvZm9udD48L3RkPgorICA8L3RyPgorCis8dHI+PHRkIGJnY29sb3I9IiNDQ0ZGQ0MiPjxmb250IHNpemU9IjEiIGZhY2U9IlZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYiIGNvbG9yPSIjMDAwMDAwIj48YSBocmVmPSIvbmV3cy9idXNpbmVzcy8wLDEzNjcsLDAwLmh0bWwiPkJ1c2luZXNzPC9hPjwvZm9udD48L3RkPjwvdHI+PHRyPjx0ZCBiZ2NvbG9yPSIjOTlGRjk5Ij48Zm9udCBzaXplPSIxIiBmYWNlPSJWZXJkYW5hLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmIiBjb2xvcj0iIzAwMDAwMCI+PGEgaHJlZj0iL25ld3MvY3VsdHVyZS8wLDEyODQsLDAwLmh0bWwiPkN1bHR1cmU8L2E+PC9mb250PjwvdGQ+PC90cj48dHI+PHRkIGJnY29sb3I9IiNDQ0ZGQ0MiPjxmb250IHNpemU9IjEiIGZhY2U9IlZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYiIGNvbG9yPSIjMDAwMDAwIj48YSBocmVmPSIvbmV3cy90ZWNobm9sb2d5LzAsMTI4MiwsMDAuaHRtbCI+VGVjaG5vbG9neTwvYT48L2ZvbnQ+PC90ZD48L3RyPjx0cj48dGQgYmdjb2xvcj0iIzk5RkY5OSI+PGZvbnQgc2l6ZT0iMSIgZmFjZT0iVmVyZGFuYSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiIgY29sb3I9IiMwMDAwMDAiPjxhIGhyZWY9Ii9uZXdzL3BvbGl0aWNzLzAsMTI4MywsMDAuaHRtbCI+UG9saXRpY3M8L2E+PC9mb250PjwvdGQ+PC90cj48dHI+Cis8dGQgYmdjb2xvcj0iI0ZGMDAwMCI+PGZvbnQgc2l6ZT0iMSIgZmFjZT0iVmVyZGFuYSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiIgY29sb3I9IiNGRkZGRkYiPgorPGI+V0lSRSBTRVJWSUNFIE5FV1M8L2I+PC9mb250PjwvdGQ+Cis8L3RyPgorCis8dHI+Cis8dGQgYmdjb2xvcj0iIzk5RkY5OSI+PGZvbnQgc2l6ZT0iMSIgZmFjZT0iVmVyZGFuYSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiIgY29sb3I9IiMwMDAwMDAiPjxhIGhyZWY9Ii9uZXdzL25ld3MvcmV1dGVycy8iPlRvcCBIZWFkbGluZXM8L2E+PC9mb250PjwvdGQ+Cis8L3RyPgorCis8dHI+Cis8dGQgYmdjb2xvcj0iI0NDRkZDQyI+PGZvbnQgc2l6ZT0iMSIgZmFjZT0iVmVyZGFuYSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiIgY29sb3I9IiMwMDAwMDAiPjxhIGhyZWY9Ii9uZXdzL25ld3MvcmV1dGVycy9zcG9ydHMvIj5TcG9ydHM8L2E+PC9mb250PjwvdGQ+Cis8L3RyPgorCis8dHI+Cis8dGQgYmdjb2xvcj0iIzk5RkY5OSI+PGZvbnQgc2l6ZT0iMSIgZmFjZT0iVmVyZGFuYSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiIgY29sb3I9IiMwMDAwMDAiPjxhIGhyZWY9Ii9uZXdzL25ld3MvcmV1dGVycy9idXNpbmVzcy8iPkZpbmFuY2U8L2E+PC9mb250PjwvdGQ+Cis8L3RyPgorPCEtLSBFbmQgdXBwZXIgbGVmdCBuYXYgLS0+PCEtLSBCZWdpbiBsb3dlciBMZWZ0IE5hdiAtLT4KKyAgICA8dHI+IAorICAgIDx0ZCBiZ2NvbG9yPSIjRkYwMDAwIj48Zm9udCBmYWNlPSJWZXJkYW5hLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmIiBjb2xvcj0iI0ZGRkZGRiI+IAorICAgICAgPGI+PGZvbnQgc2l6ZT0iMSI+RlJFRSBERUxJVkVSWTwvZm9udD48L2I+PC9mb250PjwvdGQ+CisgICAgPC90cj4KKyAgICA8dHI+IAorICAgIDx0ZCBiZ2NvbG9yPSIjOTlGRjk5Ij4KKzx0YWJsZSBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjAiIGJvcmRlcj0wID4KKwkJPHRyPjx0ZCBiZ2NvbG9yPSIjOTlGRjk5Ij4KKwkJIDxmb3JtIGFjdGlvbj0iaHR0cDovL3IuaG90d2lyZWQuY29tL3IvaHdfd21fcl9uYXZfbndzbHRyL2h0dHA6Ly9wZXJsLmhvdHdpcmVkLmNvbS9tYXNzbWFpbC9jZ2lQYXJzZXIuY2dpIiBtZXRob2Q9ImdldCIgdGFyZ2V0PSJfdG9wIj4KKworIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InN1Y2Nlc3NfcGFnZSIgdmFsdWU9Imh0dHA6Ly93d3cuaG90d2lyZWQuY29tL2VtYWlsL3NpZ251cC93aXJlZG5ld3MtYXNjaWkuaHRtbCI+CisgCis8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJmYWlsdXJlX3BhZ2UiIHZhbHVlPSJodHRwOi8vd3d3LmhvdHdpcmVkLmNvbS9lbWFpbC9zaWdudXAvd2lyZWRuZXdzLWFzY2lpLmh0bWwiPgorIAorPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iTElTVCIgICB2YWx1ZT0id25fYXNjaWkiPgorPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iU09VUkNFIiB2YWx1ZT0ib3RoZXIiPgorIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IkFDVElPTiIgdmFsdWU9InN1YnNjcmliZSI+CisgCis8aW5wdXQgdHlwZT0iVEVYVCIgbmFtZT0iZnJvbSIgIHNpemU9IjEwIiB2YWx1ZT0iZW50ZXIgZW1haWwiPiZuYnNwOworPC90ZD4gCisJCTx0ZCB2YWxpZ249InRvcCIgYmdjb2xvcj0iIzk5RkY5OSI+CisJCTxpbnB1dCB0eXBlPSJTVUJNSVQiIG5hbWU9IlNVQk1JVCIgdmFsdWU9IkdPIj4gCisKKyAgPC90ZD4KKwk8L3RyPiAgICA8L2Zvcm0+Cis8L3RhYmxlPjwvdGQ+CisgIDwvdHI+CisgIDx0cj4gCisgICAgPHRkIGJnY29sb3I9IiNGRjAwMDAiPjxmb250IGZhY2U9IlZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYiIGNvbG9yPSIjRkZGRkZGIj4gCisgICAgICA8Yj48Zm9udCBzaXplPSIxIj5TVE9DS1M8L2ZvbnQ+PC9iPjwvZm9udD48L3RkPgorICA8L3RyPgorICA8dHI+IAorICAgIDx0ZCBiZ2NvbG9yPSIjOTlGRjk5Ij48Zm9udCBmYWNlPSJWZXJkYW5hLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmIiBzaXplPSIxIj5HZXQgUXVvdGU6PC9mb250PjwvdGQ+CisgIDwvdHI+CisgIDx0cj4KKyAgICA8dGQgYmdjb2xvcj0iIzk5RkY5OSIgbWFyZ2lud2lkdGg9MCBtYXJnaW5oZWlnaHQ9MD48Zm9ybSBtZXRob2Q9Z2V0IGFjdGlvbj0iaHR0cDovL3Iud2lyZWQuY29tL3IvMTAwMjAvaHR0cDovL3N0b2Nrcy53aXJlZC5jb20vc3RvY2tzX3F1b3Rlcy5hc3AiPjxpbnB1dCB0eXBlPSJURVhUIiBuYW1lPSJTeW1ib2wiIHNpemU9IjEyIj4mbmJzcDs8aW5wdXQgdHlwZT0iU1VCTUlUIiBuYW1lPSJzdWJtaXQiIHZhbHVlPSJHTyI+PC9mb3JtPjwvdGQ+CisgIDwvdHI+Cis8IS0tIEJFR0lOIEJVVFRPTiBBRFMgLS0+CisgIAorIDx0cj48dGQgYmdjb2xvcj0iI0NDRkZDQyI+Cis8Zm9udCBzaXplPSIxIiBmYWNlPSJWZXJkYW5hLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmIiBjb2xvcj0iIzAwMDAwMCI+RmluYW5jaWFsIFNlcnZpY2VzPC9mb250Pjxicj4KKzxjZW50ZXI+Cis8aW1nIHNyYz0iaHR0cDovL3N0YXRpYy53aXJlZC5jb20vbmV3cy9pbWFnZXMvc3BhY2VyLmdpZiIgaGVpZ2h0PTMgd2lkdGg9NSBhbHQ9IiI+PEJSPjxpbWcgc3JjPSJodHRwOi8vc3RhdGljLndpcmVkLmNvbS9uZXdzL2ltYWdlcy9idXR0b25fYWRzX25ld3MxMC5naWYiIHdpZHRoPSIxNDMiIGhlaWdodD0iNTYiIGJvcmRlcj0iMCIgQUxUPSIiIFVTRU1BUD0iI2J1dHRvbnMiIGhzcGFjZT0wIHZzcGFjZT0wPgorPC9jZW50ZXI+CisKKzxNQVAgTkFNRT0iYnV0dG9ucyI+CisgICAgICAgIDxBUkVBIFNIQVBFPSJSRUNUIiBBTFQ9IkRhdGVrIiBDT09SRFM9IjAsMCw2OSwyNCIgSFJFRj0iaHR0cDovL3Iud2lyZWQuY29tL3IvMTY0OS9odHRwOi8vYWRzMTYuZm9jYWxpbmsuY29tL1NtYXJ0QmFubmVyL3BhZ2UvMTI2Ni42MzEiPgorICAgICAgICA8QVJFQSBTSEFQRT0iUkVDVCIgQUxUPSJXaXJlZCBJbmRleCBGdW5kIiBDT09SRFM9IjczLDAsMTQyLDI0IiBIUkVGPSJodHRwOi8vci53aXJlZC5jb20vci8yMjcvaHR0cDovL3d3dy5nZmZ1bmRzLmNvbS93aXJlZCI+CisgICAgICAgIDxBUkVBIFNIQVBFPSJSRUNUIiBBTFQ9ImludGVybmV0LmNvbSBJbmRleCBGdW5kIiBDT09SRFM9IjczLDMxLDE0Miw1NSIgSFJFRj0iaHR0cDovL3Iud2lyZWQuY29tL3IvMjk4L2h0dHA6Ly93d3cuZ2ZmdW5kcy5jb20vaXNkZXgvIj4KKyAgICAgICAgPEFSRUEgU0hBUEU9IlJFQ1QiIEFMVD0iR2V0U21hcnQncyBNb3J0Z2FnZUZpbmRlciIgQ09PUkRTPSIwLDMxLDY5LDU1IiBIUkVGPSJodHRwOi8vci53aXJlZC5jb20vci8yOTQvaHR0cDovL3d3dy5nZXRzbWFydGluYy5jb20vbW9ydGdhZ2UvSG9tZUJhbm5lcj9CQU5ORVJOQU1FPXd3dy5nZXRzbWFydGluYy5jb20vbXdpcmVkMDAxbTYwNzV4MjUiPjwvTUFQPgorICAgICAgICA8L3RkPgorICA8L3RyPiA8IS0tIEVORCBCVVRUT04gQURTIC0tPgorICAKKyAgPHRyPiAKKyAgICA8dGQgYmdjb2xvcj0iIzk5RkY5OSI+PGZvbnQgc2l6ZT0iMSIgZmFjZT0iVmVyZGFuYSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiIgY29sb3I9IiMwMDAwMDAiPjxhIGhyZWY9Imh0dHA6Ly9yZWRpcmVjdC53aXJlZC5jb20vcmVkaXIvNTEvaHR0cDovL3N0b2Nrcy53aXJlZC5jb20vIj5Ub2RheSdzIFN1bW1hcnk8L2E+PC9mb250PjwvdGQ+CisgIDwvdHI+CisgIDx0cj4gCisgICAgPHRkIGJnY29sb3I9IiNDQ0ZGQ0MiPjxmb250IHNpemU9IjEiIGZhY2U9IlZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYiIGNvbG9yPSIjMDAwMDAwIj48YSBocmVmPSJodHRwOi8vci53aXJlZC5jb20vci9oYl9maW5fcl93bl90b3AvaHR0cDovL3N0b2Nrcy53aXJlZC5jb20vc3RvY2tzX2luZGV4ZXNfZGV0YWlsLmFzcD9TeW1ib2w9JFdJUkVEIj5XaXJlZCBJbmRleDwvYT4gfCA8YSBocmVmPSJodHRwOi8vcmVkaXJlY3Qud2lyZWQuY29tL3JlZGlyLzUyL2h0dHA6Ly9zdG9ja3Mud2lyZWQuY29tL3N0b2Nrc19pbmRleGVzLmFzcCAiPkFsbCBJbmRleGVzPC9hPjwvZm9udD48L3RkPgorICA8L3RyPgorICA8dHI+IAorICAgIDx0ZCBiZ2NvbG9yPSIjOTlGRjk5Ij48Zm9udCBzaXplPSIxIiBmYWNlPSJWZXJkYW5hLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmIiBjb2xvcj0iIzAwMDAwMCI+PGEgaHJlZj0iaHR0cDovL3JlZGlyZWN0LndpcmVkLmNvbS9yZWRpci81My9odHRwOi8vc3RvY2tzLndpcmVkLmNvbS9zdG9ja3NfcG9ydGZvbGlvcy5hc3AiPlBvcnRmb2xpb3M8L2E+PC9mb250PjwvdGQ+CisgIDwvdHI+CisKKzwhLS0gQkVHSU4gQiZOIHNwb3QgLS0+CisKKzx0cj4gCisgPHRkIGJnY29sb3I9IiNGRjAwMDAiPjxmb250IHNpemU9IjEiIGZhY2U9IlZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYiIGNvbG9yPSIjRkZGRkZGIj48Yj5GSU5EIEEgQk9PSzwvYj48L2ZvbnQ+PC90ZD4KKzwvdHI+Cis8dHI+PHRkIGJnY29sb3I9IiNDQ0ZGQ0MiPgorPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMCIgYm9yZGVyPTAgd2lkdGg9MTQ1PgorICAgICAgICAgICAgICAgIDx0cj48dGQgYmdjb2xvcj0iI0NDRkZDQyI+CisgICAgICAgICAgICAgICAgPGZvcm0gYWN0aW9uPSJodHRwOi8vci53aXJlZC5jb20vci93bl9uYXZfY19ibi9odHRwOi8vYmFybmVzYW5kbm9ibGUuYmZhc3QuY29tL2Jvb2tsaW5rL2NsaWNrIj4KKzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InNvdXJjZWlkIiB2YWx1ZT0iMzgzNDcxIj4KKzxpbnB1dCB0eXBlPWhpZGRlbiBuYW1lPSJjYXRlZ29yeWlkIiB2YWx1ZT0iY2F0ZWdvcnlkcm9wZG93biI+CisgICAgICAgICAgICAgICAgPGZvbnQgc2l6ZT0iMiI+CisgICAgICAgICAgICAgICAgPHNlbGVjdCBuYW1lPSJTdWJqZWN0cyIgc2l6ZT00PgorPG9wdGlvbiB2YWx1ZT0iMzAxIj5CdXNpbmVzcyBUb3AgMjAKKzxvcHRpb24gdmFsdWU9IjUwMCI+Q29tcHV0ZXJzCis8b3B0aW9uIHZhbHVlPSI1MDMiPkNvbXB1dGVyIEdhbWVzCis8b3B0aW9uIHZhbHVlPSIxNjA0Ij5DdXJyZW50IEFmZmFpcnMKKzxvcHRpb24gdmFsdWU9IjUxMSI+Q3liZXJjdWx0dXJlCis8b3B0aW9uIHZhbHVlPSI1MTAiPkludGVybmV0L1dlYgorPG9wdGlvbiB2YWx1ZT0iMzAzIj5JbnZlc3RpbmcKKzxvcHRpb24gdmFsdWU9IjE2MDYiPkxhdworPG9wdGlvbiB2YWx1ZT0iNTEzIj5NdWx0aW1lZGlhCisKKzxvcHRpb24gdmFsdWU9IjE2MDUiPk5ld3NtYWtlcnMKKzxvcHRpb24gdmFsdWU9IjE2MDciPlBvbGl0aWNzL0dvdnQuCisKKyA8b3B0aW9uIHZhbHVlPSIzMTUiPiBXZWIgQnVzaW5lc3MKKyAgPG9wdGlvbiB2YWx1ZT0iMjgwMCI+IEJhcmdhaW4gQm9va3MKKyAgICAgICAgICAgICAgICAgICAgICAgIAorPG9wdGlvbiB2YWx1ZT0iNCI+T3RoZXIgCisKKworCisgCisKKyA8L3NlbGVjdD48L2ZvbnQ+PC90ZD48L3RyPgorIDx0ciBhbGlnbj1sZWZ0IHZhbGlnbj10b3A+CisgICAgICAgICAgICAgICAgPHRkIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjQ0NGRkNDIj4gPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IkdPIj4KKworPElNRyBTUkM9Imh0dHA6Ly9iYXJuZXNhbmRub2JsZS5iZmFzdC5jb20vYm9va2xpbmsvc2VydmU/c291cmNlaWQ9MzgzNDcxJmlzX3NlYXJjaD1ZIiBib3JkZXI9MCBhbGlnbj10b3A+Cis8IS0tCis8SU1HIFNSQz0iaHR0cDovL3d3dy53aXJlZC5jb20vcGFydG5lci9ibi90cmFja2luZ2ltZy9vdF93bl9uYXZfY19ibi5naWYiIGJvcmRlcj0wIHdpZHRoPTEgaGVpZ2h0PTEgYWxpZ249dG9wPgorLS0+Cis8L3RkPgorICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3RyPgorICAgICAgICAgICAgICAgIDx0ciBhbGlnbj1sZWZ0IHZhbGlnbj10b3A+CisgCisgICAgICAgIDx0ZCBhbGlnbj1sZWZ0IHZhbGlnbj10b3AgY29sc3Bhbj0iMiIgcm93c3Bhbj0iMSIgYmdjb2xvcj0iI0NDRkZDQyI+Cis8cD4KKyAgICAgICAgPGZvbnQgc2l6ZT0iMSIgZmFjZT0iVmVyZGFuYSwgQXJpYWwsIEhlbHZldGljYSwgIiBjb2xvcj0iIzAwMDAwMCI+UG93ZXJlZCBieSA8YSBocmVmPSJodHRwOi8vci53aXJlZC5jb20vci93bl9uYXZfY19ibi9odHRwOi8vYmFybmVzYW5kbm9ibGUuYmZhc3QuY29tL2Jvb2tsaW5rL2NsaWNrP3NvdXJjZWlkPTM4MzQ3MSI+YmFybmVzYW5kbm9ibGUuY29tPC9hPgorIDwvZm9udD4KKzxiciBjbGVhcj1hbGw+CisKKworPC90ZD4KKyAgICAgICAgPC90cj4gIDwvZm9ybT4KKyAgICAgICAgPC90YWJsZT4KKworPC90ZD48L3RyPgorIDwhLS0gRU5EIEImTiBzcG90IC0tPiAgIAorICAKKzwhLS0gQkVHSU4gTUFHQVpJTkUgU1BPVCAtLT4KKworIDx0cj4gCisgICAgPHRkIGJnY29sb3I9IiMwMDAwMDAiPjxmb250IGNvbG9yPSIjRkZGRkZGIiBmYWNlPSJWZXJkYW5hLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmIiBzaXplPSIxIj48Yj5XSVJFRCAKKyAgICAgIE1BR0FaSU5FIDwvYj48L2ZvbnQ+PC90ZD4KKyAgPC90cj4KKzx0cj4gCis8dGQgYmdjb2xvcj0iI0ZGRkY5OSIgYWxpZ249IkNFTlRFUiI+Cis8Zm9udCBmYWNlPSJ2ZXJkYW5hLCBhcmlhbCwgaGVsdmV0aWNhLCBzYW5zLXNlcmlmIiBzaXplPSIxIj4KKzxiPgorPGJyPgorCis8YSBocmVmPSJodHRwOi8vd3d3LndpcmVkLmNvbS93aXJlZC8iPjxpbWcgc3JjPSJodHRwOi8vc3RhdGljLndpcmVkLmNvbS9uZXdzL2ltYWdlcy93aXJlZGNvdmVyLmdpZiIgd2lkdGg9IjkxIiBoZWlnaHQ9IjEwOSIgYm9yZGVyPSIwIiBhbHQ9IldpcmVkIE1hZ2F6aW5lIj48L2E+PGJyPjwvYj4KKworSXNzdWUgNy4xMQorPC9mb250PgorPC90ZD4KKzwvdHI+CisKKzx0cj4gCis8dGQgYmdjb2xvcj0iI0ZGRkY5OSIgYWxpZ249ImNlbnRlciI+Cis8Zm9udCBmYWNlPSJ2ZXJkYW5hLCBhcmlhbCwgaGVsdmV0aWNhLCBzYW5zLXNlcmlmIiBzaXplPSIxIj4gCisKKzxhIGhyZWY9Imh0dHA6Ly93d3cud2lyZWQuY29tL3dpcmVkL3N1YnNjcmliZS9zcGVjaWFsLzc5V04iPlN1YnNjcmliZSB0byBXaXJlZC48YnI+U3BlY2lhbCBvZmZlciE8L2E+CisKKworPC9mb250PgorPC90ZD4KKzwvdHI+Cis8IS0tIEVORCBNQUdBWklORSBTUE9UIC0tPgorCisgIDx0cj4KKyAgICA8dGQgYmdjb2xvcj0iIzAwMDAwMCI+IAorICAgIDxmb250IHNpemU9IjEiIGZhY2U9IlZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYiIGNvbG9yPSIjRkZGRkZGIj48Yj5IT1RXSVJFRDwvYj48L2ZvbnQ+PC90ZD4KKyAgPC90cj4KKyAgPHRyPiAKKyAgICA8dGQgYmdjb2xvcj0iI0ZGRkY5OSI+IDxmb250IHNpemU9IjEiIGZhY2U9IlZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYiIGNvbG9yPSIjMDAwMDAwIj4KKzxhIGhyZWY9Imh0dHA6Ly93d3cuaG90d2lyZWQuY29tLyI+RnJvbnRkb29yPC9hPjxicj4KKzxhIGhyZWY9Imh0dHA6Ly93d3cuaG90d2lyZWQuY29tL3dlYm1vbmtleS8iPldlYm1vbmtleTwvYT48YnI+Cis8YSBocmVmPSJodHRwOi8vd3d3LmhvdHdpcmVkLmNvbS93ZWJtb25rZXkvZ3VpZGVzL2luZGV4Lmh0bWwiPldlYm1vbmtleSBHdWlkZXM8L2E+PGJyPgorPGEgaHJlZj0iaHR0cDovL3d3dy5ob3R3aXJlZC5jb20vcmdiLyI+UkdCIEdhbGxlcnk8L2E+PGJyPgorPGEgaHJlZj0iaHR0cDovL3d3dy5ob3R3aXJlZC5jb20vYW5pbWF0aW9uLyI+QW5pbWF0aW9uIEV4cHJlc3M8L2E+PGJyPgorPGEgaHJlZj0iaHR0cDovL2dvLnN1Y2suY29tL3N1X3duZmQiPlN1Y2suY29tPC9hPjxicj4KKzwvZm9udD48L3RkPgorICA8L3RyPgorICAKKyAgICA8dHI+CisgICAgPHRkIGJnY29sb3I9IiMwMDAwMDAiPiAKKyAgICA8Zm9udCBzaXplPSIxIiBmYWNlPSJWZXJkYW5hLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmIiBjb2xvcj0iI0ZGRkZGRiI+PGI+SE9UQk9UPC9iPjwvZm9udD48L3RkPgorICA8L3RyPgorICA8dHI+IAorICAgIDx0ZCBiZ2NvbG9yPSIjRkZGRjk5Ij4gPGZvbnQgc2l6ZT0iMSIgZmFjZT0iVmVyZGFuYSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiIgY29sb3I9IiMwMDAwMDAiPgorPGEgaHJlZj0iaHR0cDovL3JlZGlyZWN0LndpcmVkLmNvbS9yZWRpci81NC9odHRwOi8vd3d3LmhvdGJvdC5jb20vIj5TZWFyY2g8L2E+PGJyPgorPGEgaHJlZj0iaHR0cDovL3Nob3AuaG90Ym90LmNvbS8iPlNob3BwaW5nPC9hPjxicj4KKzwvZm9udD48L3RkPgorICA8L3RyPgorICAKKyAgPHRyPjx0ZD4KKyAgPGJyPgorICA8Zm9udCBmYWNlPSJWZXJkYW5hLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmIiBzaXplPSIxIj4KKyAgPGZvbnQgZmFjZT0iVmVyZGFuYSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiIgc2l6ZT0iMSI+CisgIFdpcmVkIE5ld3MgPGEgaHJlZj0iL25ld3Mvd2hvLzAsMTM2MiwsMDAuaHRtbCI+c3RhZmY8L2E+PGJyPjxicj4KKworICA8IS0tIFdpcmVkIE5ld3MgaXMgPGEgaHJlZj0iaHR0cDovL3d3dy53aXJlZC5jb20vbmV3cy9qb2JzLmh0bWwiPmhpcmluZzwvYT48YnI+PGJyPiAtLT4KKworICA8Yj48YSBocmVmPSIvbmV3cy9mZWVkYmFjay8wLDEzNjQsLDAwLmh0bWwiPkNvbnRhY3QgdXM8L2E+PC9iPjwvZm9udD4KKworICAKKyAgPGJyPjxicj4KKyAgCisgIDxmb250IGZhY2U9IlZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYiIHNpemU9IjEiPldpcmVkIE5ld3MgIGRlbGl2ZXJlZDxicj5ieSA8YSBocmVmPSIvbmV3cy9wYWxtcGlsb3QvMCwxMzY1LCwwMC5odG1sIj5QYWxtUGlsb3Q8L2E+LDxicj48YSBocmVmPSJodHRwOi8vd3d3LmhvdHdpcmVkLmNvbS9lbWFpbC9zaWdudXAvd25fb3V0bG9vay5odG1sIj5PdXRsb29rICBFeHByZXNzPC9hPiw8YnI+PGEgaHJlZj0iaHR0cDovL3JlZGlyZWN0LndpcmVkLmNvbS9yZWRpci81NS9odHRwOi8vZm9ybS5uZXRzY2FwZS5jb20vaWJkL2h0bWwvaWJkX2ZyYW1lc2V0Lmh0bWwiPkluLUJveCBEaXJlY3Q8L2E+LDxicj4KK29yIDxhIGhyZWY9Ii9uZXdzL3BvaW50Y2FzdC8wLDEzNjYsLDAwLmh0bWwiPlBvaW50Q2FzdDwvYT48L2ZvbnQ+PGJyPgorCis8IS0tIFRSQUNLSU5HIC0tPgorPGltZyBzcmM9Imh0dHA6Ly93d3cud2lyZWQuY29tL3NwZWNpYWwvbW9keC9uZXdzLmdpZiIgaGVpZ2h0PTEgd2lkdGg9MSBhbHQ9IiI+Cis8L3RkPgorICA8L3RyPgorCis8L3RhYmxlPgorCis8IS0tIGVuZCBsb3dlciBsZWZ0IHNpZGUgTmF2aWdhdGlvbiAtLT4KKzwhLS0gQ09OVEVOVCBUQUJMRSAtLT4KKworPFRBQkxFIGJvcmRlcj0iMCIgd2lkdGg9IjQ0NyIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIwIiBib3JkZXJjb2xvcj0iIzY2RkYwMCI+CisgPFRSPgorICA8VEQgdmFsaWduPSJUT1AiIGFsaWduPSJMRUZUIiByb3dzcGFuPSIyIj4KKyAgIDxpbWcgc3JjPSJodHRwOi8vc3RhdGljLndpcmVkLmNvbS9uZXdzL2ltYWdlcy9zcGFjZXIuZ2lmIiBoZWlnaHQ9MSB3aWR0aD0xNSBhbHQ9IiI+PEJSPgorICA8L1REPgorICA8VEQgY29sc3Bhbj0iMyIgdmFsaWduPSJUT1AiIGFsaWduPSJMRUZUIj48aW1nIHNyYz0iaHR0cDovL3N0YXRpYy53aXJlZC5jb20vbmV3cy9pbWFnZXMvc3BhY2VyLmdpZiIgaGVpZ2h0PTcgd2lkdGg9NDMyIGFsdD0iIj48QlI+CisKKworPCEtLSBTUUwgcXVlcnkgZm9yIFBhY2thZ2UgaGVyZSAtLT4KKworPGZvbnQgZmFjZT0iVmVyZGFuYSwgQXJpYWwsIEdlbmV2YSwgc2Fucy1zZXJpZiIgc2l6ZT0yPjxiPjxpPk5vbWFkJ3MgTGFuZDwvaT48L2I+PC9mb250Pjxicj48aW1nIHNyYz0iaHR0cDovL3N0YXRpYy53aXJlZC5jb20vbmV3cy9pbWFnZXMvcGl4MTU1LmdpZiIgaGVpZ2h0PTEwIHdpZHRoPTE1NSBhbHQ9IiI+PGJyPjwhLS0gSUJEX1NVQkpFQ1Q6IEhvbWVsZXNzLCBidXQgSUQnZCwgaW4gU2VhdHRsZSAtLT48Zm9udCBmYWNlPSJBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmIiBzaXplPTU+PGI+PGEgaHJlZj0iL25ld3MvcG9saXRpY3MvMCwxMjgzLDMxOTExLDAwLmh0bWwiPkhvbWVsZXNzLCBidXQgSUQnZCwgaW4gU2VhdHRsZTwvYT48L2I+PC9mb250Pjxicj48Zm9udCBzaXplPTEgZmFjZT0iVmVyZGFuYSwgQXJpYWwsIEdlbmV2YSwgc2Fucy1zZXJpZiIgY29sb3I9I0ZGMDAwMD44OjE1IGEubS48L2ZvbnQ+Jm5ic3A7PGZvbnQgZmFjZT0iVmVyZGFuYSwgQXJpYWwsIEdlbmV2YSwgc2Fucy1zZXJpZiIgc2l6ZT0yPlRoZSBjaXR5IGNvdW5jaWwgYXBwcm92ZXMgYSBwbGFuIHRvIHRyYWNrIHRoZSBob21lbGVzcyBieSBhIG51bWJlcmluZyBzeXN0ZW0sIHNheWluZyBpdCdsbCBpbXByb3ZlIHNlcnZpY2VzLiBUaGUgaW1wbGljYXRpb25zIHdvcnJ5IHByaXZhY3kgYWR2b2NhdGVzLCBuYXR1cmFsbHkuIEJ5IENyYWlnIEJpY2tuZWxsLjwvZm9udD48YnI+PGZvbnQgZmFjZT0iVmVyZGFuYSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiIgc2l6ZT0xPjxpPjxhIGhyZWY9Ii9uZXdzL3BvbGl0aWNzLzAsMTI4MywsMDAuaHRtbCI+aW4mbmJzcDtQb2xpdGljczwvYT48L2k+PC9mb250Pjxicj48dGFibGUgYmdjb2xvcj0iI0YwRjBGMCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiBib3JkZXI9IjAiIHdpZHRoPSIxNDciIGFsaWduPSJSSUdIVCI+CisgPCEtLSBDb21tZW50YXJ5IEZyYWcgQmVnaW4gLS0+CisgICAgICAgIDxUUj4KKyAgICAgICAgICA8VEQgYmdjb2xvcj0iIzAwMDAwMCI+Jm5ic3A7PC9URD4KKyAgICAgICAgICA8VEQgYmdjb2xvcj0iIzAwMDAwMCI+PGZvbnQgc2l6ZT0iMSIgZmFjZT0iVmVyZGFuYSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiIgY29sb3I9IiNGRkZGRkYiPjxiPkhJVFMgJmFtcDsgTUlTQy48L2I+PC9mb250PjwvVEQ+CisgICAgICAgIDwvVFI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICA8VEQ+Jm5ic3A7PC9URD4KKyAgICAgICAgICA8dGQ+PGltZyBzcmM9Imh0dHA6Ly9zdGF0aWMud2lyZWQuY29tL25ld3MvaW1hZ2VzL3NwYWNlci5naWYiIGhlaWdodD01IHdpZHRoPTUgYWx0PSIiPjxicj4KKworCQk8Zm9udCBzaXplPTIgZmFjZT0iQXJpYWwsSGVsdmV0aWNhLCBzYW5zLXNlcmlmIj48Yj48YSBocmVmPSIvbmV3cy9jb21tZW50YXJ5U2VjdGlvbi8wLDEyOTIsMzE2NjQsMDAuaHRtbCI+Q2FsZW5kYXIgb2YgRS1WZW50czwvYT48L2I+PC9mb250Pjxicj48Zm9udCBzaXplPTIgZmFjZT0iQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiI+PGZvbnQgc2l6ZT0xIGZhY2U9IkFyaWFsLCBHZW5ldmEsIHNhbnMtc2VyaWYiIGNvbG9yPSIjMDAwMDAwIj5PbmdvaW5nIGdvaW5ncy1vbi4gPC9mb250Pjxicj48YnI+PGZvbnQgc2l6ZT0yIGZhY2U9IkFyaWFsLEhlbHZldGljYSwgc2Fucy1zZXJpZiI+PGI+PGEgaHJlZj0iL25ld3MvY29tbWVudGFyeVNlY3Rpb24vMCwxMjkyLDMxOTI2LDAwLmh0bWwiPlJhbnRzICYgUmF2ZXM8L2E+PC9iPjwvZm9udD48YnI+PGZvbnQgc2l6ZT0yIGZhY2U9IkFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYiPjxmb250IHNpemU9MSBmYWNlPSJBcmlhbCwgR2VuZXZhLCBzYW5zLXNlcmlmIiBjb2xvcj0iIzAwMDAwMCI+UmVhZGVycyBvbiBBcHBsZSdzIEc0IC4uLiBBT0wncyBwYXNzd29yZHMgLi4uIE1TIHZzLiBMaW51eC48L2ZvbnQ+PGJyPjxicj4gIDwvdGQ+CisgICAgICAgIDwvdHI+Cis8IS0tIENvbW1lbnRhcnkgRnJhZyBFbmQgLS0+Cis8dHI+IAorPHRkIGFsaWduPSJsZWZ0IiBiZ2NvbG9yPSIjMDAwMDAwIj4mbmJzcDs8L3RkPiAKKzx0ZCBiZ2NvbG9yPSIjMDAwMDAwIj48Zm9udCBzaXplPSIxIiBmYWNlPSJWZXJkYW5hLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmIiBjb2xvcj0iI0ZGRkZGRiI+PGI+Q1VSUkVOVCBIT08tSEE8L2I+PC9mb250PjwvdGQ+Cis8L3RyPgorCis8dHI+IAorPHRkPiZuYnNwOzwvdGQ+Cis8dGQ+Cis8aW1nIHNyYz0iaHR0cDovL3N0YXRpYy53aXJlZC5jb20vbmV3cy9pbWFnZXMvc3BhY2VyLmdpZiIgaGVpZ2h0PTUgd2lkdGg9NSBhbHQ9IiI+Cis8YnI+CisKKzxmb250IHNpemU9MiBmYWNlPSJBcmlhbCxIZWx2ZXRpY2EsIHNhbnMtc2VyaWYiPjxiPjxhIGhyZWY9Ii9uZXdzL21wMy8wLDEyODUsLDAwLmh0bWwiPk1QMyBSb2NrcyB0aGUgV2ViPC9hPjwvYj48L2ZvbnQ+PGJyPjxmb250IHNpemU9MiBmYWNlPSJBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmIj48Zm9udCBzaXplPTEgZmFjZT0iQXJpYWwsIEdlbmV2YSwgc2Fucy1zZXJpZiIgY29sb3I9IiMwMDAwMDAiPkRvd25sb2FkIHRoZSBzb3VuZC4gIDxicj48aT5TcG9uc29yZWQgYnkgPGEgaHJlZj0iaHR0cDovL3IuaG90d2lyZWQuY29tL3Ivd25fZmRfbXAzX3JfbXNjbV90eHQvaHR0cDovL3dlYmZhcm0ubWVkaWFwbGV4LmNvbS9jbGlja190aHJ1X3JlcXVlc3QvMTY0LTEzNjFiLTEwNTIiIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246bm9uZSI+PGZvbnQgY29sb3I9IiMwMDAwMDAiPk11c2ljbWFrZXI8L2ZvbnQ+PC9hPjwvaT48L2ZvbnQ+PGJyPjxicj4gCisKKzxmb250IHNpemU9MiBmYWNlPSJBcmlhbCxIZWx2ZXRpY2EsIHNhbnMtc2VyaWYiPjxiPjxhIGhyZWY9Ii9uZXdzL3dpcmVsZXNzLzAsMTM4MiwsMDAuaHRtbCI+VGhlIFdpcmVsZXNzIFdvcmxkPC9hPjwvYj48L2ZvbnQ+PGJyPjxmb250IHNpemU9MiBmYWNlPSJBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmIj48Zm9udCBzaXplPTEgZmFjZT0iQXJpYWwsIEdlbmV2YSwgc2Fucy1zZXJpZiIgY29sb3I9IiMwMDAwMDAiPk5ldHdvcmtpbmcgZ2V0cyB1bnBsdWdnZWQuICA8YnI+PGk+U3BvbnNvcmVkIGJ5IDxhIGhyZWY9Imh0dHA6Ly93d3cuZXJpY3Nzb24uc2UvZ2V0L2ludGVybmV0L2RlZmF1bHQuc2h0bWwiIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246bm9uZSI+PGZvbnQgY29sb3I9IiMwMDAwMDAiPkVyaWNzc29uPC9mb250PjwvYT48L2k+PC9mb250Pjxicj48YnI+IAorCis8Zm9udCBzaXplPTIgZmFjZT0iQXJpYWwsSGVsdmV0aWNhLCBzYW5zLXNlcmlmIj48Yj48YSBocmVmPSIvbmV3cy9kaWdpd29vZC8wLDE0MTIsLDAwLmh0bWwiPkRpZ2l0YWwgSG9sbHl3b29kPC9hPjwvYj48L2ZvbnQ+PGJyPjxmb250IHNpemU9MiBmYWNlPSJBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmIj48Zm9udCBzaXplPTEgZmFjZT0iQXJpYWwsIEdlbmV2YSwgc2Fucy1zZXJpZiIgY29sb3I9IiMwMDAwMDAiPlRoZSBidXp6IG9mIHRlY2guPC9mb250Pjxicj48YnI+IAorCis8Zm9udCBzaXplPTIgZmFjZT0iQXJpYWwsSGVsdmV0aWNhLCBzYW5zLXNlcmlmIj48Yj48YSBocmVmPSIvbmV3cy9pcG8vMCwxMzUwLCwwMC5odG1sIj5JUE8gT3V0bG9vazwvYT48L2I+PC9mb250Pjxicj48Zm9udCBzaXplPTIgZmFjZT0iQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiI+PGZvbnQgc2l6ZT0xIGZhY2U9IkFyaWFsLCBHZW5ldmEsIHNhbnMtc2VyaWYiIGNvbG9yPSIjMDAwMDAwIj5EZWFscyBpbiB0aGUgcGlwZWxpbmUuICA8YnI+PGk+U3BvbnNvcmVkIGJ5IDxhIGhyZWY9Imh0dHA6Ly9yLmhvdHdpcmVkLmNvbS9yL3duX2lwb19yX3N1bl90eHQvaHR0cDovL3N1bi5jb20vYWRzL3NtaS9icmFuZC9ob3R3aXJlZC5odG1sIiBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOm5vbmUiPjxmb250IGNvbG9yPSIjMDAwMDAwIj5TdW48L2ZvbnQ+PC9hPjwvaT48L2ZvbnQ+PGJyPjxicj4gCisKKzxmb250IHNpemU9MiBmYWNlPSJBcmlhbCxIZWx2ZXRpY2EsIHNhbnMtc2VyaWYiPjxiPjxhIGhyZWY9Ii9uZXdzL2ViaXovMCwxMjcyLCwwMC5odG1sIj5FLUJpejwvYT48L2I+PC9mb250Pjxicj48Zm9udCBzaXplPTIgZmFjZT0iQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiI+PGZvbnQgc2l6ZT0xIGZhY2U9IkFyaWFsLCBHZW5ldmEsIHNhbnMtc2VyaWYiIGNvbG9yPSIjMDAwMDAwIj5CdXNpbmVzcyB1bnVzdWFsLiAgPGJyPjxpPlNwb25zb3JlZCBieSA8YSBocmVmPSJodHRwOi8vci53aXJlZC5jb20vci93bl9mZF9yX2ViaXpfaWJtX3R4dC9odHRwOi8vd3d3LmlibS5jb20iIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246bm9uZSI+PGZvbnQgY29sb3I9IiMwMDAwMDAiPklCTTwvZm9udD48L2E+PC9pPjwvZm9udD48YnI+PGJyPiAKKworPGZvbnQgc2l6ZT0yIGZhY2U9IkFyaWFsLEhlbHZldGljYSwgc2Fucy1zZXJpZiI+PGI+PGEgaHJlZj0iL25ld3MvbWVkdGVjaC8wLDEyODYsLDAwLmh0bWwiPk1lZC1UZWNoIENlbnRlcjwvYT48L2I+PC9mb250Pjxicj48Zm9udCBzaXplPTIgZmFjZT0iQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiI+PGZvbnQgc2l6ZT0xIGZhY2U9IkFyaWFsLCBHZW5ldmEsIHNhbnMtc2VyaWYiIGNvbG9yPSIjMDAwMDAwIj5Gcm9tIHRoZSBibGVlZGluZyBlZGdlLjxicj48aT5TcG9uc29yZWQgYnkgV2ViTUQ8L2k+PC9mb250Pjxicj48YnI+IAorCis8Zm9udCBzaXplPTIgZmFjZT0iQXJpYWwsSGVsdmV0aWNhLCBzYW5zLXNlcmlmIj48Yj48YSBocmVmPSIvbmV3cy9saW51eC8wLDE0MTEsLDAwLmh0bWwiPlRoZSBMaW51eCBFZmZlY3Q8L2E+PC9iPjwvZm9udD48YnI+PGZvbnQgc2l6ZT0yIGZhY2U9IkFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYiPjxmb250IHNpemU9MSBmYWNlPSJBcmlhbCwgR2VuZXZhLCBzYW5zLXNlcmlmIiBjb2xvcj0iIzAwMDAwMCI+Tm90IGp1c3QgZm9yIGdlZWtzLjwvZm9udD48YnI+PGJyPiA8aW1nIHNyYz0iaHR0cDovL3N0YXRpYy53aXJlZC5jb20vbmV3cy9pbWFnZXMvc3BhY2VyLmdpZiIgaGVpZ2h0PTcgd2lkdGg9NSBhbHQ9IiI+PGJyPgorCis8Zm9udCBzaXplPTIgZmFjZT0iQXJpYWwsSGVsdmV0aWNhLCBzYW5zLXNlcmlmIj48Yj48YSBocmVmPSIvbmV3cy9leGVjLzAsMTM3MCwsMDAuaHRtbCI+RXhlY3V0aXZlIFN1bW1hcnk8L2E+PC9iPjwvZm9udD48YnI+PGZvbnQgc2l6ZT0xIGZhY2U9IkFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYiIGNvbG9yPSIjMDAwMDAwIj5DRU9zLCBDT09zLCBDSU9zIHVuaXRlLiAgPGJyPjxpPlNwb25zb3JlZCBieSA8YSBocmVmPSJodHRwOi8vci53aXJlZC5jb20vci93bl9leGVjX3Jfdmlnbi9odHRwOi8vd3d3LnZpZ25ldHRlLmNvbS8iIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246bm9uZSI+PGZvbnQgY29sb3I9IiMwMDAwMDAiPlZpZ25ldHRlPC9hPjwvaT48L2ZvbnQ+PGJyPjxicj4gCisKKzxmb250IHNpemU9MiBmYWNlPSJBcmlhbCxIZWx2ZXRpY2EsIHNhbnMtc2VyaWYiPjxiPjxhIGhyZWY9Ii9uZXdzL3NjaG9vbC8wLDEzODMsLDAwLmh0bWwiPk1ha2luZyB0aGUgR3JhZGU8L2E+PC9iPjwvZm9udD48YnI+PGZvbnQgc2l6ZT0yIGZhY2U9IkFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYiPjxmb250IHNpemU9MSBmYWNlPSJBcmlhbCwgR2VuZXZhLCBzYW5zLXNlcmlmIiBjb2xvcj0iIzAwMDAwMCI+UmVhZGluZywgd3JpdGluZywgYW5kIFJPTS4gIDxicj48aT5TcG9uc29yZWQgYnkgPGEgaHJlZj0iaHR0cDovL3IuaG90d2lyZWQuY29tL3Ivd25fc2NoX3JfbmF2X3VvcC9odHRwOi8vYWRzMjUuZm9jYWxpbmsuY29tL1NtYXJ0QmFubmVyL3BhZ2U/MTI2MzAuNTMiIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246bm9uZSI+PGZvbnQgY29sb3I9IiMwMDAwMDAiPlUgb2YgUGhvZW5peDwvZm9udD48L2E+PC9pPjwvZm9udD48YnI+PGJyPiAKKworPGZvbnQgc2l6ZT0yIGZhY2U9IkFyaWFsLEhlbHZldGljYSwgc2Fucy1zZXJpZiI+PGI+PGEgaHJlZj0iL25ld3MvaW5mb3N0cnVjdHVyZS8wLDEzNzcsLDAwLmh0bWwiPkluZm9zdHJ1Y3R1cmU8L2E+PC9iPjwvZm9udD48YnI+PGZvbnQgc2l6ZT0xIGZhY2U9IkFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYiIGNvbG9yPSIjMDAwMDAwIj5BbiBJUy9JVCByZXNvdXJjZSA8YnI+PGk+U3BvbnNvcmVkIGJ5IDxhIGhyZWY9Imh0dHA6Ly9yLndpcmVkLmNvbS9yL3duX2lzX3Jfc3NlYy9odHRwOi8vYWQuZG91YmxlY2xpY2submV0L2Nsazs2NTMxNjM7MzU5OTU3MTtzP2h0dHA6Ly93d3cuc3ByaW50Yml6LmNvbS9zCitlcnZsZXQvYXBwc2VydmxldD9mcm9tPS93aXJlZC9zcHJpbnQvJnRlbXBsYXRlPS9zZWN1cml0eS9zZWN1cml0eS5odG1sJlNJVEU9Cit3aXJlZC5jb20mQkFOTkVSPVNwcmludCIgc3R5bGU9InRleHQtZGVjb3JhdGlvbjpub25lIj48Zm9udCBjb2xvcj0iIzAwMDAwMCI+U3ByaW50PC9hPjwvaT48L2ZvbnQ8L2ZvbnQ+PGJyPjxicj4gCisKKzxmb250IHNpemU9MiBmYWNlPSJBcmlhbCxIZWx2ZXRpY2EsIHNhbnMtc2VyaWYiPjxiPjxhIGhyZWY9Ii9uZXdzL3kyay8wLDEzNjAsLDAwLmh0bWwiPlkySyBXYXRjaDwvYT48L2I+PC9mb250Pjxicj48Zm9udCBzaXplPTIgZmFjZT0iQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiI+PGZvbnQgc2l6ZT0xIGZhY2U9IkFyaWFsLCBHZW5ldmEsIHNhbnMtc2VyaWYiIGNvbG9yPSIjMDAwMDAwIj5UaWNrLi4uIFRpY2suLi4gVGljay4uLjwvZm9udD48YnI+PGJyPiAKKworPGZvbnQgZmFjZT0iQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiIgc2l6ZT0yPjxiPjxpPjxhIGhyZWY9Ii9uZXdzL3NwZWNpYWxfcmVwb3J0cy8xLDEyOTMsLDAwLmh0bWwiPk1vcmUgSG9vLUhhPC9hPjwvaT48L2I+PC9mb250Pjxicj4mbmJzcDs8YnI+CisKKzwvdGQ+Cis8L3RyPgorPCEtLSBzdGFydCBvZiBHZW4gTmV3cyAtLT4KKyAgICAgICAgICAgICAgICA8dHI+IAorICAgICAgICAgICAgICAgICAgPHRkIGJnY29sb3I9IiMwMDAwMDAiPiZuYnNwOzwvdGQ+CisgICAgICAgICAgPHRkIGJnY29sb3I9IiMwMDAwMDAiPjxmb250IHNpemU9IjEiIGZhY2U9IlZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYiIGNvbG9yPSIjRkZGRkZGIj48Yj5NRUFOV0hJTEUuLi48L2I+PC9mb250PjwvdGQ+CisgICAgICAgIDwvdHI+CisKKyAgICAgICAgPHRyPiAKKyAgICAgICAgICA8dGQ+Jm5ic3A7PC90ZD4KKyAgICAgICAgICA8dGQgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj4KKyAgICAgICAgICA8aW1nIHNyYz0iaHR0cDovL3N0YXRpYy53aXJlZC5jb20vbmV3cy9pbWFnZXMvc3BhY2VyLmdpZiIgaGVpZ2h0PTUgd2lkdGg9NSBhbHQ9IiI+PGJyPgorCisKKzwhLS0gMzE5NDIgLS0+Cis8Zm9udCBzaXplPSIyIiBmYWNlPSJBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmIiBjb2xvcj0iIzAwMDAwMCI+PGI+RvxocmVyIEZ1cm9yPC9iPjwvZm9udD48YnI+PGZvbnQgc2l6ZT0iMSIgZmFjZT0iQXJpYWwsIEdlbmV2YSwgc2Fucy1zZXJpZiIgY29sb3I9IiMwMDAwMDAiPjxwPg0KK0NvbnRydWN0aW9uIHdvcmtlcnMgaW4gQmVybGluIG9wZW5lZCBhbiBvbGQgd291bmQgaW4gdGhlIEdlcm1hbiBwc3ljaGUgdGhpcyB3ZWVrIHdoZW4gdGhleSBhY2NpZGVudGFsbHkgc3R1bWJsZWQgYWNyb3NzIEFkb2xmIEhpdGxlcidzIGJ1bmtlciB3aGlsZSBleGNhdmF0aW5nIG5lYXIgdGhlIEJyYW5kZW5idXJnIEdhdGUuIFRoZSBidW5rZXIsIGp1c3Qgc291dGggb2YgdGhlIEdhdGUsIHdhcyB3aGVyZSBIaXRsZXIgYW5kIGhpcyBjbG9zZXN0IGFzc29jaWF0ZXMgYmFycmljYWRlZCB0aGVtc2VsdmVzIGFzIHRoZSBSZWQgQXJteSBhcHByb2FjaGVkIEJlcmxpbiBpbiB0aGUgd2FuaW5nIGRheXMgb2YgV29ybGQgV2FyIElJLiBJdCBpcyBhbHNvIHdoZXJlIHRoZSBG/GhyZXIgYW5kIGhpcyBicmlkZSwgRXZhIEJyYXVuLCBjb21taXR0ZWQgc3VpY2lkZSByYXRoZXIgdGhhbiBmYWxsIGludG8gdGhlIGhhbmRzIG9mIHRoZSBSdXNzaWFucy4gQWx0aG91Z2ggdGhlIGJ1bmtlcidzIGxvY2F0aW9uIGhhcyBuZXZlciBiZWVuIGEgbXlzdGVyeSwgaXQgaGFzIGJlZW4gc2VhbGVkIG9mZiBzaW5jZSB0aGUgZW5kIG9mIHRoZSB3YXIgdG8ga2VlcCBuZW8tTmF6aXMgZnJvbSB0dXJuaW5nIGl0IGludG8gYSBzaHJpbmUuDQorPGJyPjxsaT5Nb3JlIGZyb20gPGENCitocmVmPSJodHRwOi8vd3d3Lmx5Y29zLmNvbS9uZXdzL2ZsYXNoL2hpdGxlcmJ1bmtlci5odG1sP3Y9d24xMDE1Jmxwdj0xIj5MeWNvczwvYT48L2ZvbnQ+PGJyPjxicj4KKyA8L3RkPgorICAgICAgICA8L3RyPgorPCEtLSBlbmQgb2YgR2VuIE5ld3MgLS0+Cis8L3RhYmxlPgorCisKKzxmb250IHNpemU9IjEiPiZuYnNwOzxicj48L2ZvbnQ+CisKKzxicj4KKworPGZvbnQgZmFjZT0iVmVyZGFuYSwgQXJpYWwsIEdlbmV2YSwgc2Fucy1zZXJpZiIgc2l6ZT0yPjxiPjxpPk90aGVyIFRvcCBTdG9yaWVzPC9pPjwvYj48L2ZvbnQ+PGJyPgorPGltZyBzcmM9Imh0dHA6Ly9zdGF0aWMud2lyZWQuY29tL25ld3MvaW1hZ2VzL3BpeDE1NS5naWYiIGhlaWdodD0xMCB3aWR0aD0xNTUgYWx0PSIiPjxicj4KKworPCEtLSBTUUwgcXVlcnkgaGVyZSAtLT4KKzwhLS0gSUJEX1NVQkpFQ1Q6V2FsbCBTdHJlZXQgS2VlcHMgUmVlbGluZyAtLT48Zm9udCBmYWNlPSJBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmIiBzaXplPTM+PGI+PGEgaHJlZj0iL25ld3MvcmV1dGVycy8wLDEzNDksMzE5MzQsMDAuaHRtbCI+V2FsbCBTdHJlZXQgS2VlcHMgUmVlbGluZzwvYT48L2I+PC9mb250Pjxicj48Zm9udCBjb2xvcj0jZmYwMDAwIGZhY2U9IlZlcmRhbmEsIEFyaWFsLCBHZW5ldmEsIHNhbnMtc2VyaWYiIHNpemU9MT4xMDoxNSBhLm0uPC9mb250PiZuYnNwOzxmb250IGZhY2U9IlZlcmRhbmEsIEFyaWFsLCBHZW5ldmEsIHNhbnMtc2VyaWYiIHNpemU9Mj5UaGUgRG93IGFuZCBOYXNkYXEgc3VmZmVyIHNpemVhYmxlIGxvc3NlcyBkdXJpbmcgdGhlIGZpcnN0IGhhbGYgb2YgRnJpZGF5IHRyYWRpbmcuIFdoeT8gV2hvbGVzYWxlIHByaWNlcyBhcmUgdGhlIGhpZ2hlc3QgdGhpcyBkZWNhZGUsIGFuZCBHcmVlbnNwYW4gaXMgY29uY2VybmVkIGFib3V0IHN0b2NrIHByaWNlcy48L2ZvbnQ+PGJyPjxmb250IGZhY2U9IlZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYiIHNpemU9MT48aT48YSBocmVmPSIvbmV3cy9yZXV0ZXJzLzAsMTM0OSwsMDAuaHRtbCI+aW4mbmJzcDtSZXV0ZXJzPC9hPjwvaT48L2ZvbnQ+PGJyPjxicj48IS0tIElCRF9TVUJKRUNUOlRoZSBNYXJrZXQncyBNYWRuZXNzIC0tPjxmb250IGZhY2U9IkFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYiIHNpemU9Mz48Yj48YSBocmVmPSIvbmV3cy9yZXV0ZXJzLzAsMTM0OSwzMTkzNSwwMC5odG1sIj5UaGUgTWFya2V0J3MgTWFkbmVzczwvYT48L2I+PC9mb250Pjxicj48Zm9udCBjb2xvcj0jZmYwMDAwIGZhY2U9IlZlcmRhbmEsIEFyaWFsLCBHZW5ldmEsIHNhbnMtc2VyaWYiIHNpemU9MT45OjEwIGEubS48L2ZvbnQ+Jm5ic3A7PGZvbnQgZmFjZT0iVmVyZGFuYSwgQXJpYWwsIEdlbmV2YSwgc2Fucy1zZXJpZiIgc2l6ZT0yPlRoZSBidWxscyBhbmQgdGhlIGJlYXJzIGFyZSBpbiB0aGUgbWlkc3Qgb2YgYSBCYXR0bGUgUm95YWxlLCBhbmQgYWxsIHRoaXMgdHVyYnVsZW5jZSBpcyBub3QgYSBoZWFsdGh5IHRoaW5nLiBTbyBzYXkgdGhlIGV4cGVydHMuPC9mb250Pjxicj48Zm9udCBmYWNlPSJWZXJkYW5hLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmIiBzaXplPTE+PGk+PGEgaHJlZj0iL25ld3MvcmV1dGVycy8wLDEzNDksLDAwLmh0bWwiPmluJm5ic3A7UmV1dGVyczwvYT48L2k+PC9mb250Pjxicj48YnI+PCEtLSBJQkRfU1VCSkVDVDonV2FudCBhIExvYW4/IFdoYXQncyBZb3VyIFJhY2U/JyAtLT48Zm9udCBmYWNlPSJBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmIiBzaXplPTM+PGI+PGEgaHJlZj0iL25ld3MvcG9saXRpY3MvMCwxMjgzLDMxNTMzLDAwLmh0bWwiPidXYW50IGEgTG9hbj8gV2hhdCdzIFlvdXIgUmFjZT8nPC9hPjwvYj48L2ZvbnQ+PGJyPjxmb250IGNvbG9yPSNmZjAwMDAgZmFjZT0iVmVyZGFuYSwgQXJpYWwsIEdlbmV2YSwgc2Fucy1zZXJpZiIgc2l6ZT0xPjM6MDAgYS5tLjwvZm9udD4mbmJzcDs8Zm9udCBmYWNlPSJWZXJkYW5hLCBBcmlhbCwgR2VuZXZhLCBzYW5zLXNlcmlmIiBzaXplPTI+VGhlIEZlZGVyYWwgUmVzZXJ2ZSBpcyBpbiB0aGUgbWlkZGxlIG9mIGNoYW5naW5nIGJhbmtpbmcgcmVndWxhdGlvbnMgdG8gbGV0IGJhbmtzIGNvbGxlY3QgZGF0YSBvbiB0aGUgcmFjZSwgc2V4LCByZWxpZ2lvbiwgYW5kIG5hdGlvbmFsIG9yaWdpbiBvZiB0aGVpciBjdXN0b21lcnMuIEJ5IERlY2xhbiBNY0N1bGxhZ2guIDwvZm9udD48YnI+PGZvbnQgZmFjZT0iVmVyZGFuYSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiIgc2l6ZT0xPjxpPjxhIGhyZWY9Ii9uZXdzL3BvbGl0aWNzLzAsMTI4MywsMDAuaHRtbCI+aW4mbmJzcDtQb2xpdGljczwvYT48L2k+PC9mb250Pjxicj48YnI+PCEtLSBJQkRfU1VCSkVDVDpNdXNpYyBSZWdzOiBBIEJhZ2Z1bCBvZiBOb2lzZSAtLT48Zm9udCBmYWNlPSJBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmIiBzaXplPTM+PGI+PGEgaHJlZj0iL25ld3MvYnVzaW5lc3MvMCwxMzY3LDMxODMyLDAwLmh0bWwiPk11c2ljIFJlZ3M6IEEgQmFnZnVsIG9mIE5vaXNlPC9hPjwvYj48L2ZvbnQ+PGJyPjxmb250IGNvbG9yPSNmZjAwMDAgZmFjZT0iVmVyZGFuYSwgQXJpYWwsIEdlbmV2YSwgc2Fucy1zZXJpZiIgc2l6ZT0xPjM6MDAgYS5tLjwvZm9udD4mbmJzcDs8Zm9udCBmYWNlPSJWZXJkYW5hLCBBcmlhbCwgR2VuZXZhLCBzYW5zLXNlcmlmIiBzaXplPTI+VGhlIHN0cnVnZ2xlIHRvIGNvbWUgdXAgd2l0aCBhIGRpZ2l0YWwgbXVzaWMgc3RhbmRhcmQgdGhhdCB3b3VsZCBtaW5pbWl6ZSBkb3dubG9hZCBwaXJhY3kgaXMgcHVzaGluZyByaWdodCB1cCBhZ2FpbnN0IHRoZSBob2xpZGF5IGdpZnQtZ2l2aW5nIHNlYXNvbi4gQnkgSmVubmlmZXIgU3VsbGl2YW4uPC9mb250Pjxicj48Zm9udCBmYWNlPSJWZXJkYW5hLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmIiBzaXplPTE+PGk+PGEgaHJlZj0iL25ld3MvYnVzaW5lc3MvMCwxMzY3LCwwMC5odG1sIj5pbiZuYnNwO0J1c2luZXNzPC9hPjwvaT48L2ZvbnQ+PGJyPjxicj48IS0tIElCRF9TVUJKRUNUOkNhbid0IEJlYXQgJ0VtPyBHcmVlbiAnRW0gLS0+PGZvbnQgZmFjZT0iQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiIgc2l6ZT0zPjxiPjxhIGhyZWY9Ii9uZXdzL3RlY2hub2xvZ3kvMCwxMjgyLDMxOTI3LDAwLmh0bWwiPkNhbid0IEJlYXQgJ0VtPyBHcmVlbiAnRW08L2E+PC9iPjwvZm9udD48YnI+PGZvbnQgY29sb3I9I2ZmMDAwMCBmYWNlPSJWZXJkYW5hLCBBcmlhbCwgR2VuZXZhLCBzYW5zLXNlcmlmIiBzaXplPTE+MzowMCBhLm0uPC9mb250PiZuYnNwOzxmb250IGZhY2U9IlZlcmRhbmEsIEFyaWFsLCBHZW5ldmEsIHNhbnMtc2VyaWYiIHNpemU9Mj5IaWdoLXRlY2ggY29tcGFuaWVzIGFyZSBub3RvcmlvdXNseSBlbnZpcm9ubWVudGFsbHkgdW5mcmllbmRseSwgYW5kIGEgZ3Jvd2luZyBudW1iZXIgb2YgIkdyZWVuaWVzIiBhcmUgdHJ5aW5nIHRvIGNoYW5nZSB0aGluZ3MgZnJvbSB0aGUgaW5zaWRlIC4uLiB3aXRoIHZhcnlpbmcgcmVzdWx0cy4gQnkgQ2hyaXMgR2FpdGhlci48L2ZvbnQ+PGJyPjxmb250IGZhY2U9IlZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYiIHNpemU9MT48aT48YSBocmVmPSIvbmV3cy90ZWNobm9sb2d5LzAsMTI4MiwsMDAuaHRtbCI+aW4mbmJzcDtUZWNobm9sb2d5PC9hPjwvaT48L2ZvbnQ+PGJyPjxicj48IS0tIElCRF9TVUJKRUNUOlkySyBDbG91ZCBPdmVyIE1TIE9mZmljZSAtLT48Zm9udCBmYWNlPSJBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmIiBzaXplPTM+PGI+PGEgaHJlZj0iL25ld3MvYnVzaW5lc3MvMCwxMzY3LDMxOTMyLDAwLmh0bWwiPlkySyBDbG91ZCBPdmVyIE1TIE9mZmljZTwvYT48L2I+PC9mb250Pjxicj48Zm9udCBjb2xvcj0jZmYwMDAwIGZhY2U9IlZlcmRhbmEsIEFyaWFsLCBHZW5ldmEsIHNhbnMtc2VyaWYiIHNpemU9MT4zOjAwIGEubS48L2ZvbnQ+Jm5ic3A7PGZvbnQgZmFjZT0iVmVyZGFuYSwgQXJpYWwsIEdlbmV2YSwgc2Fucy1zZXJpZiIgc2l6ZT0yPldpbmRvd3MgTlQgc2FsZXMgcmVtYWluIHN0cm9uZywgYnV0IGNvcnBvcmF0ZSBjbGllbnRzIGFyZSB3YXJ5IG9mIHVwZ3JhZGluZyB0byBNUyBPZmZpY2UgMjAwMC4gQW5hbHlzdHMgc2F5IHRoYXQgbWVhbnMgc3Ryb25nLCBidXQgbm90IHN0dW5uaW5nLCBNaWNyb3NvZnQgZWFybmluZ3MuIDwvZm9udD48YnI+PGZvbnQgZmFjZT0iVmVyZGFuYSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiIgc2l6ZT0xPjxpPjxhIGhyZWY9Ii9uZXdzL2J1c2luZXNzLzAsMTM2NywsMDAuaHRtbCI+aW4mbmJzcDtCdXNpbmVzczwvYT48L2k+PC9mb250Pjxicj48YnI+PGZvbnQgY29sb3I9I0ZGMDAwMCBmYWNlPSJWZXJkYW5hLCBBcmlhbCwgR2VuZXZhLCBzYW5zLXNlcmlmIiBzaXplPTE+TWVkLVRlY2g8L2ZvbnQ+PGJyPjwhLS0gSUJEX1NVQkpFQ1Q6QmlvY2hpcHMgZm9yIEN1c3RvbSBDaGVtbyAtLT48Zm9udCBmYWNlPSJBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmIiBzaXplPTM+PGI+PGEgaHJlZj0iL25ld3MvdGVjaG5vbG9neS8wLDEyODIsMzE5MTQsMDAuaHRtbCI+QmlvY2hpcHMgZm9yIEN1c3RvbSBDaGVtbzwvYT48L2I+PC9mb250Pjxicj48Zm9udCBjb2xvcj0jZmYwMDAwIGZhY2U9IlZlcmRhbmEsIEFyaWFsLCBHZW5ldmEsIHNhbnMtc2VyaWYiIHNpemU9MT4zOjAwIGEubS48L2ZvbnQ+Jm5ic3A7PGZvbnQgZmFjZT0iVmVyZGFuYSwgQXJpYWwsIEdlbmV2YSwgc2Fucy1zZXJpZiIgc2l6ZT0yPkRpZmZlcmVudCBjYW5jZXIgcGF0aWVudHMgbmVlZCBkaWZmZXJlbnQgbWVkaWNpbmUsIGJ1dCBkb2N0b3JzIGNhbiByYXJlbHkgZGV0ZXJtaW5lIHRoZSBiZXN0IG1hdGNoLiBOZXcgYmlvY2hpcCB0ZWNobm9sb2d5IHByb21pc2VzIGNoZW1vdGhlcmFweSB0YWlsb3JlZCB0byBhIHR1bW9yJ3MgZ2VuZXRpYyBtYWtlLXVwLiBCeSBLcmlzdGVuIFBoaWxpcGtvc2tpLjwvZm9udD48YnI+PGZvbnQgZmFjZT0iVmVyZGFuYSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiIgc2l6ZT0xPjxpPjxhIGhyZWY9Ii9uZXdzL3RlY2hub2xvZ3kvMCwxMjgyLCwwMC5odG1sIj5pbiZuYnNwO1RlY2hub2xvZ3k8L2E+PC9pPjwvZm9udD48YnI+PGJyPjwhLS0gSUJEX1NVQkpFQ1Q6SGlnaCBTdGFrZXMgaW4gUHJpY2VsaW5lIFN1aXQgLS0+PGZvbnQgZmFjZT0iQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiIgc2l6ZT0zPjxiPjxhIGhyZWY9Ii9uZXdzL2J1c2luZXNzLzAsMTM2NywzMTkxNiwwMC5odG1sIj5IaWdoIFN0YWtlcyBpbiBQcmljZWxpbmUgU3VpdDwvYT48L2I+PC9mb250Pjxicj48Zm9udCBjb2xvcj0jZmYwMDAwIGZhY2U9IlZlcmRhbmEsIEFyaWFsLCBHZW5ldmEsIHNhbnMtc2VyaWYiIHNpemU9MT4zOjAwIGEubS48L2ZvbnQ+Jm5ic3A7PGZvbnQgZmFjZT0iVmVyZGFuYSwgQXJpYWwsIEdlbmV2YSwgc2Fucy1zZXJpZiIgc2l6ZT0yPkl0J3Mgbm90IGp1c3QgYW5vdGhlciByb3VuZCBvZiBSZWRtb25kLWJhc2hpbmcuIEEgUHJpY2VsaW5lLmNvbSBsYXdzdWl0IGFnYWluc3QgTWljcm9zb2Z0J3MgRXhwZWRpYS5jb20gbWF5IGhhdmUgYSBiaWcgaW1wYWN0IG9uIGhvdyBOZXQgY29tcGFuaWVzIHByb3RlY3QgdGhlaXIgYnVzaW5lc3MgbW9kZWxzLiBCeSBKb2FubmEgR2xhc25lci48L2ZvbnQ+PGJyPjxmb250IGZhY2U9IlZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYiIHNpemU9MT48aT48YSBocmVmPSIvbmV3cy9idXNpbmVzcy8wLDEzNjcsLDAwLmh0bWwiPmluJm5ic3A7QnVzaW5lc3M8L2E+PC9pPjwvZm9udD48YnI+PGJyPjwhLS0gSUJEX1NVQkpFQ1Q6QmlvZGl2ZXJzaXR5IE1lcmdlcyBPbmxpbmUgLS0+PGZvbnQgZmFjZT0iQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiIgc2l6ZT0zPjxiPjxhIGhyZWY9Ii9uZXdzL3RlY2hub2xvZ3kvMCwxMjgyLDMxOTE4LDAwLmh0bWwiPkJpb2RpdmVyc2l0eSBNZXJnZXMgT25saW5lPC9hPjwvYj48L2ZvbnQ+PGJyPjxmb250IGNvbG9yPSNmZjAwMDAgZmFjZT0iVmVyZGFuYSwgQXJpYWwsIEdlbmV2YSwgc2Fucy1zZXJpZiIgc2l6ZT0xPjM6MDAgYS5tLjwvZm9udD4mbmJzcDs8Zm9udCBmYWNlPSJWZXJkYW5hLCBBcmlhbCwgR2VuZXZhLCBzYW5zLXNlcmlmIiBzaXplPTI+VGhlIGZhci1mbHVuZyBkYXRhYmFzZXMgb24gZ2xvYmFsIGJpb2RpdmVyc2l0eSBnZXQgdG9nZXRoZXIgdG8gZm9ybSBvbmUgbW9uc3RlciBkYXRhYmFzZS4gU29vbiB0aGUgcmVkLWV5ZWQgdHJlZSBmcm9nIHdpbGwgYmUgZXllaW5nIHRob3NlIFN3ZWRpc2ggbGluZ29uYmVycmllcy4gRnJvbSB0aGUgRW52aXJvbm1lbnQgTmV3cyBTZXJ2aWNlLjwvZm9udD48YnI+PGZvbnQgZmFjZT0iVmVyZGFuYSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiIgc2l6ZT0xPjxpPjxhIGhyZWY9Ii9uZXdzL3RlY2hub2xvZ3kvMCwxMjgyLCwwMC5odG1sIj5pbiZuYnNwO1RlY2hub2xvZ3k8L2E+PC9pPjwvZm9udD48YnI+PGJyPjwhLS0gU1FMIGFib3ZlIC0tPgorCisKKyAgICAgICAgCis8IS0tLS0tLVRSQURFUy0tLS0tLS0tLT4KKzxicj4KKzxmb250IGZhY2U9ICJWZXJkYW5hLCBBcmlhbCwgR2VuZXZhLCBzYW5zLXNlcmlmIiBzaXplPTI+PGI+PGk+RWxzZXdoZXJlIFRvZGF5PC9pPjwvYj48L2ZvbnQ+PGJyPgorPGltZyBzcmM9Imh0dHA6Ly9zdGF0aWMud2lyZWQuY29tL25ld3MvaW1hZ2VzL3BpeDE1NS5naWYiIGhlaWdodD0xMCB3aWR0aD0xNTUgYWx0PSIiPjxicj4KKworPCEtLSBTUUwgcXVlcnkgaGVyZSAtLT4KKzxmb250IGZhY2U9ImhlbHZldGljYSwgYXJpYWwiIHNpemU9Mz48Yj48YSBocmVmPSJodHRwOi8vd3d3LnRoZXN0YW5kYXJkLmNvbS9hcnRpY2xlcy9kaXNwbGF5LzAsMTQ0OSw2OTc1LDAwLmh0bWw/aG9tZS50ZiI+RkNDOiBIYW5kcy1PZmYgb24gQnJvYWRiYW5kPC9hPjwvYj48L2ZvbnQ+PGJyPjxmb250IGZhY2U9ImdlbmV2YSwgYXJpYWwiIHNpemU9Mj48Y2l0ZT5UaGUgSW5kdXN0cnkgU3RhbmRhcmQ8L2NpdGU+PC9mb250Pjxicj48YnI+PGZvbnQgZmFjZT0iaGVsdmV0aWNhLCBhcmlhbCIgc2l6ZT0zPjxiPjxhIGhyZWY9Imh0dHA6Ly9uZXdzLmx5Y29zLmNvbS9zdG9yaWVzL1RvcE5ld3MvMTk5OTEwMTRSVE5FV1MtQVJNUy1UUkVBVFkuYXNwIj5XaGl0ZSBIb3VzZSBMYXNoZXMgT3V0IG9uIFRyZWF0eTwvYT48L2I+PC9mb250Pjxicj48Zm9udCBmYWNlPSJnZW5ldmEsIGFyaWFsIiBzaXplPTI+THljb3M8L2ZvbnQ+PGJyPjxicj48Zm9udCBmYWNlPSJoZWx2ZXRpY2EsIGFyaWFsIiBzaXplPTM+PGI+PGEgaHJlZj0iaHR0cDovL3d3dy5wYXRoZmluZGVyLmNvbS90aW1lL21hZ2F6aW5lL2FydGljbGVzLzAsMzI2NiwzMjIwNywwMC5odG1sIj5TdGV2ZSBKb2JzIGF0IDQ0PC9hPjwvYj48L2ZvbnQ+PGJyPjxmb250IGZhY2U9ImdlbmV2YSwgYXJpYWwiIHNpemU9Mj48Y2l0ZT5UaW1lPC9jaXRlPjwvZm9udD48YnI+PGJyPjxmb250IGZhY2U9ImhlbHZldGljYSwgYXJpYWwiIHNpemU9Mz48Yj48YSBocmVmPSJodHRwOi8vd3d3LnpkbmV0LmNvbS96ZG5uL3N0b3JpZXMvbmV3cy8wLDQ1ODYsMjM1MzYwOCwwMC5odG1sIj5Db21wdXRlcnMgTWF5IFJ1biBvbiBHYXM8L2E+PC9iPjwvZm9udD48YnI+PGZvbnQgZmFjZT0iZ2VuZXZhLCBhcmlhbCIgc2l6ZT0yPlpETk48L2ZvbnQ+PGJyPjxicj48Zm9udCBmYWNlPSJoZWx2ZXRpY2EsIGFyaWFsIiBzaXplPTM+PGI+PGEgaHJlZj0iaHR0cDovL3d3dy5ueXRpbWVzLmNvbS9saWJyYXJ5L3RlY2gvOTkvMTAvYml6dGVjaC9hcnRpY2xlcy8xNGZyZWUuaHRtbCI+TXVjaCBJcyBGcmVlIGluIHRoZSBXaXJlZCBXb3JsZDwvYT48L2I+PC9mb250Pjxicj48Zm9udCBmYWNlPSJnZW5ldmEsIGFyaWFsIiBzaXplPTI+PGNpdGU+VGhlIE5ldyBZb3JrIFRpbWVzPC9jaXRlPiAoUmVnaXN0cmF0aW9uIFJlcXVpcmVkKTwvZm9udD48YnI+PGJyPjxmb250IGZhY2U9ImhlbHZldGljYSwgYXJpYWwiIHNpemU9Mz48Yj48YSBocmVmPSJodHRwOi8vd3d3LnVzYXRvZGF5LmNvbS9saWZlL2N5YmVyL25iL25iNC5odG0iPk1lbGlzc2E6IEknbSBCYWFhYWNrPC9hPjwvYj48L2ZvbnQ+PGJyPjxmb250IGZhY2U9ImdlbmV2YSwgYXJpYWwiIHNpemU9Mj48Y2l0ZT5VU0EgVG9kYXk8L2NpdGU+PC9mb250Pjxicj48YnI+PGZvbnQgZmFjZT0iaGVsdmV0aWNhLCBhcmlhbCIgc2l6ZT0zPjxiPjxhIGhyZWY9Imh0dHA6Ly93d3cubXNuYmMuY29tL25ld3MvMzIyOTI2LmFzcCI+RG9tYWluIE93bmVycyBTdXJyZW5kZXIgUHJpdmFjeTwvYT48L2I+PC9mb250Pjxicj48Zm9udCBmYWNlPSJnZW5ldmEsIGFyaWFsIiBzaXplPTI+TVNOQkM8L2ZvbnQ+PGJyPjxicj48Zm9udCBmYWNlPSJoZWx2ZXRpY2EsIGFyaWFsIiBzaXplPTM+PGI+PGEgaHJlZj0iaHR0cDovL3d3dy53YXNoaW5ndG9ucG9zdC5jb20vd3Atc3J2L2J1c2luZXNzL2xvbmd0ZXJtL3RlY2gvdGVjaHRodXJzZGF5L2Rvd25sb2FkL2Rvd25sb2FkLmh0bSI+RGl2aWRpbmcgdG8gQ29ucXVlciBpbiBWQyBHYW1lPC9hPjwvYj48L2ZvbnQ+PGJyPjxmb250IGZhY2U9ImdlbmV2YSwgYXJpYWwiIHNpemU9Mj48Y2l0ZT5UaGUgV2FzaGluZ3RvbiBQb3N0PC9jaXRlPjwvZm9udD48YnI+PGJyPjxmb250IGZhY2U9ImhlbHZldGljYSwgYXJpYWwiIHNpemU9Mz48Yj48YSBocmVmPSJodHRwOi8vd3d3LnNhbG9uLmNvbS90ZWNoL2Jvb2tzLzE5OTkvMTAvMTQvcmVkaGF0X2Jvb2svaW5kZXguaHRtbCI+VGhlIFJlZCBIYXQgRGlhcmllczwvYT48L2I+PC9mb250Pjxicj48Zm9udCBmYWNlPSJnZW5ldmEsIGFyaWFsIiBzaXplPTI+U2Fsb248L2ZvbnQ+PGJyPjxicj48Zm9udCBmYWNlPSJoZWx2ZXRpY2EsIGFyaWFsIiBzaXplPTM+PGI+PGEgaHJlZj0iaHR0cDovL25ld3MuYmJjLmNvLnVrL2hpL2VuZ2xpc2gvc2NpL3RlY2gvbmV3c2lkXzQ3MzAwMC80NzM4NTYuc3RtIj5TY3JlZW5zYXZlciB0byBQcmVkaWN0IENsaW1hdGU8L2E+PC9iPjwvZm9udD48YnI+PGZvbnQgZmFjZT0iZ2VuZXZhLCBhcmlhbCIgc2l6ZT0yPkJCQyBOZXdzPC9mb250Pjxicj48YnI+PCEtLSBTUUwgYWJvdmUgLS0+CisKKworCis8IS0tIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0tPgorIAorICAgPC9URD4KKyAgPC9UUj4KKworICA8VFI+CisgICA8VEQgdmFsaWduPSJUT1AiIGFsaWduPSJMRUZUIj4KKworICAgIDxpbWcgc3JjPSJodHRwOi8vc3RhdGljLndpcmVkLmNvbS9uZXdzL2ltYWdlcy9zcGFjZXIuZ2lmIiBoZWlnaHQ9MSB3aWR0aD0yODAgYWx0PSIiPjxCUj4KKwkKKyAgICA8IS0tIEZPT1RFUiAtLT4KKworPGJyPjxpbWcgc3JjPSJodHRwOi8vc3RhdGljLndpcmVkLmNvbS9uZXdzL2ltYWdlcy9waXgxNTUuZ2lmIiBoZWlnaHQ9MTAgd2lkdGg9MTU1IGJvcmRlcj0wIHVzZW1hcD0iI25hdnN0cmlwLm1hcCIgYWx0PSIiPgorPGJyPgorCis8aW1nIHNyYz0iaHR0cDovL3N0YXRpYy53aXJlZC5jb20vbmV3cy9pbWFnZXMvbmF2c3RyaXBfb2ZmLmdpZiIgaGVpZ2h0PTE3IHdpZHRoPTEyNiB1c2VtYXA9IiNuYXZzdHJpcC5tYXAiIGJvcmRlcj0wIGFsdD0iIj48YnI+PGJyPgorCis8cD48Zm9udCBmYWNlPSJWZXJkYW5hLCBBcmlhbCwgR2VuZXZhLCBzYW5zLXNlcmlmIiBzaXplPTE+Cis8YSBocmVmPSJodHRwOi8vd3d3LndpcmVkLmNvbS9uZXdzL2ZlZWRiYWNrLmh0bWwiPlNlbmQgdXMgZmVlZGJhY2s8L2E+CismbmJzcDt8Jm5ic3A7Cis8YSBocmVmPSJodHRwOi8vd3d3LmhvdHdpcmVkLmNvbS9qb2JzLyI+V29yayBhdCBXaXJlZCBEaWdpdGFsPC9hPgorJm5ic3A7fCZuYnNwOworPGEgaHJlZj0iaHR0cDovL2hvbWUud2lyZWQuY29tL2FkdmVydGlzaW5nLyI+QWR2ZXJ0aXNlIHdpdGggdXM8L2E+Cis8YnI+Cis8YSBocmVmPSJodHRwOi8vaG9tZS53aXJlZC5jb20vIj5BYm91dCBXaXJlZCBEaWdpdGFsPC9hPgorJm5ic3A7fCZuYnNwOworPGEgaHJlZj0iaHR0cDovL3d3dy53aXJlZC5jb20vaG9tZS9kaWdpdGFsL3ByaXZhY3kvIj5PdXIgUHJpdmFjeSBQb2xpY3k8L2E+PC9mb250PgorCisKKzxwPjxmb250IGZhY2U9IlZlcmRhbmEsIEFyaWFsLCBHZW5ldmEiIHNpemU9MT48YSBocmVmPSJodHRwOi8vd3d3LndpcmVkLmNvbS9ob21lL2NvcHlyaWdodC5odG1sIj5Db3B5cmlnaHQ8L2E+ICZjb3B5OyAxOTk0LTk5IFdpcmVkIERpZ2l0YWwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvZm9udD4KKworPGJyPgorPCEtLSBUUkFDS0lORyAtLT4KKzxpbWcgc3JjPSJodHRwOi8vd3d3LndpcmVkLmNvbS9zcGVjaWFsL21vZHgvbmV3cy5naWYiIGhlaWdodD0xIHdpZHRoPTEgYWx0PSIiPgorCis8TUFQIE5BTUU9Im5hdnN0cmlwLm1hcCI+Cis8QVJFQSBTSEFQRT1yZWN0IENPT1JEUz0iMCwwLDE0LDE2IiBIUkVGPSIvbmV3cyI+Cis8QVJFQSBTSEFQRT1yZWN0IENPT1JEUz0iMTUsMCAzMSwxNiIgSFJFRj0iL25ld3MvYnVzaW5lc3MvIj4KKzxBUkVBIFNIQVBFPXJlY3QgQ09PUkRTPSIzMiwwLDQ4LDE2IiBIUkVGPSIvbmV3cy9jdWx0dXJlLyI+Cis8QVJFQSBTSEFQRT1yZWN0IENPT1JEUz0iNDksMCw2NSwxNiIgSFJFRj0iL25ld3MvdGVjaG5vbG9neS8iPgorPEFSRUEgU0hBUEU9cmVjdCBDT09SRFM9IjY2LDAsODMsMTYiIEhSRUY9Ii9uZXdzL3BvbGl0aWNzLyI+Cis8L01BUD4KKyA8L1REPgorICAgPFREIHZhbGlnbj0iVE9QIiBhbGlnbj0iTEVGVCI+CisgICAgPGltZyBzcmM9Imh0dHA6Ly9zdGF0aWMud2lyZWQuY29tL25ld3MvaW1hZ2VzL3NwYWNlci5naWYiIGhlaWdodD0xIHdpZHRoPTUgYWx0PSIiPgorICAgPC9URD4KKyAgIDxURCB2YWxpZ249IlRPUCIgYWxpZ249IkxFRlQiPgorICAgPC9URD4KKyAgPC9UUj4KKzwvVEFCTEU+CisKKworPGJyPgorPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvU1ZHLzRyZWN0cy54bWwgYi9saWJ4bWwyL3Rlc3QvU1ZHLzRyZWN0cy54bWwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYjhkMWE2NQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9TVkcvNHJlY3RzLnhtbApAQCAtMCwwICsxLDExIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIHN0YW5kYWxvbmU9Im5vIj8+DQorPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyBBcHJpbCAxOTk5Ly9FTiIgDQorICAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHL3N2Zy0xOTk5MDQxMi5kdGQiPg0KKzxzdmcgd2lkdGg9IjRpbiIgaGVpZ2h0PSIzaW4iPg0KKyAgPGRlc2M+Rm91ciBzZXBhcmF0ZSByZWN0YW5nbGVzDQorICA8L2Rlc2M+DQorICAgIDxyZWN0IHdpZHRoPSIyMCIgaGVpZ2h0PSI2MCIvPg0KKyAgICA8cmVjdCB3aWR0aD0iMzAiIGhlaWdodD0iNzAiLz4NCisgICAgPHJlY3Qgd2lkdGg9IjQwIiBoZWlnaHQ9IjgwIi8+DQorICAgIDxyZWN0IHdpZHRoPSI1MCIgaGVpZ2h0PSI5MCIvPg0KKzwvc3ZnPg0KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9TVkcvYS12YWxpZC54bWwgYi9saWJ4bWwyL3Rlc3QvU1ZHL2EtdmFsaWQueG1sCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjIzM2I3OGMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvU1ZHL2EtdmFsaWQueG1sCkBAIC0wLDAgKzEsMTAgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgc3RhbmRhbG9uZT0ibm8iPz4NCis8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIEFwcmlsIDE5OTkvL0VOIiANCisgICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvc3ZnLTE5OTkwNDEyLmR0ZCI+DQorPHN2ZyB3aWR0aD0iNGluIiBoZWlnaHQ9IjNpbiI+DQorICA8ZGVzYz5UaGlzIHZhbGlkIHN2ZyBkb2N1bWVudCBkcmF3cyBhIHRyaWFuZ2xlIHdoaWNoIGlzIGEgaHlwZXJsaW5rDQorICA8L2Rlc2M+DQorICA8YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZyI+DQorICAgIDxwIGQ9Ik0gMCAwIEwgMjAwIDAgTCAxMDAgMjAwIFoiLz4NCisgIDwvYT4NCis8L3N2Zz4NCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvU1ZHL2Etd2YueG1sIGIvbGlieG1sMi90ZXN0L1NWRy9hLXdmLnhtbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43NTZlOWM2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L1NWRy9hLXdmLnhtbApAQCAtMCwwICsxLDkgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgc3RhbmRhbG9uZT0ieWVzIj8+DQorPHN2ZyB3aWR0aD0iNGluIiBoZWlnaHQ9IjNpbiINCisgeG1sbnMgPSAnaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHL3N2Zy0xOTk5MDQxMi5kdGQnPg0KKyAgPGRlc2M+VGhpcyB3ZWxsIGZvcm1lZCBzdmcgZG9jdW1lbnQgZHJhd3MgYSB0cmlhbmdsZSB3aGljaCBpcyBhIGh5cGVybGluaw0KKyAgPC9kZXNjPg0KKyAgPGEgeG1sOmxpbms9InNpbXBsZSIgc2hvdz0icmVwbGFjZSIgYWN0dWF0ZT0idXNlciIgaHJlZj0iaHR0cDovL3d3dy53My5vcmciPg0KKyAgICA8cCBkPSJNIDAgMCBMIDIwMCAwIEwgMTAwIDIwMCBaIi8+DQorICA8L2E+DQorPC9zdmc+DQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L1NWRy9iaWtlLnhtbCBiL2xpYnhtbDIvdGVzdC9TVkcvYmlrZS54bWwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNzk2Yjk5NgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9TVkcvYmlrZS54bWwKQEAgLTAsMCArMSw0MSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+DQorPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyBBcHJpbCAxOTk5Ly9FTiIgDQorICAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHL3N2Zy0xOTk5MDQxMi5kdGQiPg0KKzwhLS1ET0NUWVBFIHN2ZyBTWVNURU0gInN2Zy0xOTk5MDQxMi5kdGQiLS0+DQorPHN2ZyB3aWR0aD0iNGluIiBoZWlnaHQ9IjNpbiI+DQorICA8dGl0bGU+S29uYSBMYXZhZG9tZSBtb3VudGFpbiBiaWtlDQorICA8L3RpdGxlPg0KKyAgPGRlc2M+VGhpcyBwaWN0dXJlIHNob3dzIGEgbW91bnRhaW4gYmlrZSwgYSBodW1hbi1wcm9wZWxsZWQsIA0KKyAgbXVsdGktdGVycmFpbiB2ZWhpY2xlLiBXaGlsZSBpdCBjYW4gYmUgc3VjY2VzZnVsbHkgdXNlZCBvbiBtb29ybGFuZCwgDQorICBmb3Jlc3QsIHJvYWRzLCBhbmQgbGFyZ2UgaGlsbHMgaXQgaXMgbm90IGFjdHVhbGx5IHN1aXRhYmxlIGZvciBnb2luZyANCisgIHVwIG1vdW50YWlucy4NCisgIDwvZGVzYz4NCisgIDxnIGlkPSJiaWtlIj4NCisgICAgPGRlZnM+DQorICAgICA8c3ltYm9sIGlkPSJzcG9rZSI+PGRlc2M+MTQvMTIgZ2F1Z2UgZG91YmxlIGJ1dHRlZCBzcG9rZTwvZGVzYz4NCisgICAgIDwhLS0gdGhlIHBhdGggZGF0YSBnb2VzIGhlcmUgLS0+PC9zeW1ib2w+DQorICAgICANCisgICAgIDxzeW1ib2wgaWQ9Imh1YiI+PGRlc2M+YmxhY2sgYW5vZGlzZWQgbG93IHRvcnNpb24gaHViPC9kZXNjPg0KKyAgICAgPCEtLXRoZSBwYXRoIGRhdGEgZ29lcyBoZXJlIC0tPjwvc3ltYm9sPg0KKyAgICAgDQorICAgICA8c3ltYm9sIGlkPSJyaW0iPjxkZXNjPnR3aW4gd2FsbCwgZXllbGV0dGVkIHJpbTwvZGVzYz4NCisgICAgIDwhLS0gdGhlIHBhdGggZGF0YSBnb2VzIGhlcmUtLT48L3N5bWJvbD4NCisgICAgIA0KKyAgICAgPHN5bWJvbCBpZD0iY29ncyI+PGRlc2M+OCBzcGVlZCwgd2lkZSByYXRpbyBnZWFyaW5nPC9kZXNjPg0KKyAgICAgPCEtLXRoZSBwYXRoIGRhdGEgZ29lcyBoZXJlIC0tPjwvc3ltYm9sPg0KKyAgICAgDQorICAgICA8c3ltYm9sIGlkPSJsYWNpbmciPjxkZXNjPmRvdWJsZSBjcm9zcyBsYWNpbmcgb2YgMzIgc3Bva2VzPC9kZXNjPg0KKyAgICAgPC9zeW1ib2w+DQorICAgIDwvZGVmcz4NCisgICAgPCEtLSB0aGUgb3ZlcmFsbCBiaWtlIGRyYXdpbmcgZ29lcyBoZXJlIC0tPg0KKyAgICA8ZyBpZD0iZnJvbnR3aGVlbCI+DQorICAgIDx0aXRsZT5Gcm9udCB3aGVlbDwvdGl0bGU+DQorICAgIDxkZXNjPlRoZSBmcm9udCB3aGVlbCBwcm92aWRlcyBncmlwLCBzdGVlcmluZyBhbmQgc29tZSBzaG9jayBhYnNvcnB0aW9uPC9kZXNjPg0KKyAgICA8dXNlIGhyZWY9ImlkKGxhY2luZykiIHN0eWxlPSJyb3RhdGlvbjogMjBkZWc7IGZpbGxjb2xvcjogYmxhY2siLz4NCisgICAgPC9nPg0KKyAgICA8ZyBpZD0iYmFja3doZWVsIj4NCisgICAgPC9nPg0KKyAgICA8ZyBpZD0iZnJhbWUiPjwhLS0gYW5kIHNvIG9uIC0tPg0KKyAgICA8L2c+DQorICA8L2c+DQorPC9zdmc+DQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L1NWRy9jaXJjbGUueG1sIGIvbGlieG1sMi90ZXN0L1NWRy9jaXJjbGUueG1sCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjQ0ZTcwZTcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvU1ZHL2NpcmNsZS54bWwKQEAgLTAsMCArMSwxMSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+DQorPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyBBcHJpbCAxOTk5Ly9FTiIgDQorICAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHL3N2Zy0xOTk5MDQxMi5kdGQiPg0KKzxzdmcgd2lkdGg9IjRpbiIgaGVpZ2h0PSIzaW4iPg0KKyAgPGRlc2M+VGhpcyBpcyBhIGJsdWUgY2lyY2xlIHdpdGggYSByZWQgb3V0bGluZQ0KKyAgPC9kZXNjPg0KKyAgPGc+DQorICAgIDxjaXJjbGUgc3R5bGU9ImZpbGw6IGJsdWU7IHN0cm9rZTogcmVkIiANCisgICAgICBjeD0iMjAwIiBjeT0iMjAwIiByPSIxMDAiLz4NCisgIDwvZz4NCis8L3N2Zz4NCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvU1ZHL2RlZnMueG1sIGIvbGlieG1sMi90ZXN0L1NWRy9kZWZzLnhtbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wYmY1ZjI3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L1NWRy9kZWZzLnhtbApAQCAtMCwwICsxLDE0IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIHN0YW5kYWxvbmU9Im5vIj8+DQorPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyBBcHJpbCAxOTk5Ly9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy9zdmctMTk5OTA0MTIuZHRkIj4NCis8c3ZnIHdpZHRoPSI0aW4iIGhlaWdodD0iM2luIj4NCisgIDxkZWZzPg0KKyAgICA8cmVjdCBpZD0iVGVtcGxhdGVPYmplY3QwMSIgd2lkdGg9IjEwMCIgaGVpZ2h0PSIzNy4zNCIvPg0KKyAgICA8bGluZWFyZ3JhZGllbnQgaWQ9IkdyYWRpZW50MDEiPg0KKyAgICAgIDxncmFkaWVudHN0b3Agb2Zmc2V0PSIzMCUiIGNvbG9yPSIjMzlGIi8+DQorICAgIDwvbGluZWFyZ3JhZGllbnQ+DQorICA8L2RlZnM+DQorICA8ZGVzYz5EZWZpbmluZyB0aGluZ3MgZm9yIGxhdGVyIHVzZQ0KKyAgPC9kZXNjPg0KKyAgPCEtLSBTVkcgZWxlbWVudHMgaW4gaGVyZSB3b3VsZCByZWZlcmVuY2UvdXNlIA0KKyAgICAgICB0aGUgZWxlbWVudHMgZGVmaW5lZCBpbiB0aGUgPGRlZnM+IC0tPg0KKzwvc3ZnPg0KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9TVkcvZGVzYy54bWwgYi9saWJ4bWwyL3Rlc3QvU1ZHL2Rlc2MueG1sCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjg3ODM4ZGIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvU1ZHL2Rlc2MueG1sCkBAIC0wLDAgKzEsMTQgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgc3RhbmRhbG9uZT0ibm8iPz4NCis8IURPQ1RZUEUgc3ZnIFNZU1RFTSAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHL3N2Zy0xOTk5MDQxMi5kdGQiPg0KKzxzdmcgd2lkdGg9IjRpbiIgaGVpZ2h0PSIzaW4iPg0KKzxnPg0KKyAgPHRpdGxlPg0KKyAgICBDb21wYW55IHNhbGVzIGJ5IHJlZ2lvbg0KKyAgPC90aXRsZT4NCisgIDxkZXNjPg0KKyAgICBUaGlzIGlzIGEgYmFyIGNoYXJ0IHdoaWNoIHNob3dzIA0KKyAgICBjb21wYW55IHNhbGVzIGJ5IHJlZ2lvbi4NCisgIDwvZGVzYz4NCisgIDwhLS0gQmFyIGNoYXJ0IGRlZmluZWQgYXMgdmVjdG9yIGRhdGEgLS0+DQorPC9nPg0KKzwvc3ZnPg0KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9TVkcvZWxsaXBzZS54bWwgYi9saWJ4bWwyL3Rlc3QvU1ZHL2VsbGlwc2UueG1sCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjIwOTdlZjUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvU1ZHL2VsbGlwc2UueG1sCkBAIC0wLDAgKzEsMTAgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgc3RhbmRhbG9uZT0ibm8iPz4NCis8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIEFwcmlsIDE5OTkvL0VOIiANCisgICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvc3ZnLTE5OTkwNDEyLmR0ZCI+DQorPHN2ZyB3aWR0aD0iNGluIiBoZWlnaHQ9IjNpbiI+DQorICA8ZGVzYz5UaGlzIGlzIGFuIGVsbGlwc2UsIGF4aXMgYWxpZ25lZCBhbmQgY2VudGVyZWQgb24gdGhlIG9yaWdpbg0KKyAgPC9kZXNjPg0KKyAgPGc+DQorICAgIDxlbGxpcHNlIG1ham9yPSI4NSIgbWlub3I9IjQ1Ii8+DQorICA8L2c+DQorPC9zdmc+DQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L1NWRy9mbG93ZXIyLnhtbCBiL2xpYnhtbDIvdGVzdC9TVkcvZmxvd2VyMi54bWwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMTAwNjRjOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9TVkcvZmxvd2VyMi54bWwKQEAgLTAsMCArMSw0NCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pg0KKzwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgQXByaWwgMTk5OS8vRU4iIA0KKyAgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy9zdmctMTk5OTA0MTIuZHRkIj4NCis8c3ZnIHdpZHRoPSI4MDBweCIgaGVpZ2h0PSI4MDBweCI+DQorICA8ZGVzYz5UaGlzIHNhbXBsZSBTVkcgZmlsZSBkcmF3cyBhIGZsb3dlcjwvZGVzYz4NCisgIDxnIHN0eWxlPSJ0cmFuc2Zvcm06IG1hdHJpeCgxIDAgMCAtMSAtMjUuODggNzk4LjYwKTsNCisgICAgIHN0cm9rZTogIzAwMDsgc3Ryb2tlLXdpZHRoOiAxIiA+DQorICAgPHBhdGggc3R5bGU9ImZpbGw6ICMxQTU0NjYiIGQgPSAibSAyNDIuMzMgNjg0LjE5DQorICAgICAgICAgIEMgMzQ2LjQ0IDc1Ny40OCAyNzEuNDUgNjQ3LjM4IDIxMy4xNyA2NDEuMzcNCisgICAgICAgICAgQyAyNzEuNDUgNjQ3LjM4IDM4My40MyA1NzUuMjEgMjU2LjcxIDYxMy4zMA0KKyAgICAgICAgICBDIDM4My40MyA1NzUuMjEgMjUxLjA0IDU2NS45MCAyMDUuMjMgNjA5LjY4DQorICAgICAgICAgIEMgMjUxLjA0IDU2NS45MCAyNjUuMTMgNDMyLjg4IDIxMC43MSA1NTcuOTUNCisgICAgICAgICAgQyAyNjUuMTMgNDMyLjg4IDE3NS4wNCA1MzEuMzcgMTc1LjY3IDU5Ni4yNg0KKyAgICAgICAgICBDIDE3NS4wNCA1MzEuMzcgODAuNjMgIDQzNy42NyAxMzguOTYgNTU5LjgyDQorICAgICAgICAgIEMgIDgwLjYzIDQzNy42NyAxMDAuNjcgNTY5LjgwIDE0Ni43NSA2MTEuMjANCisgICAgICAgICAgQyAxMDAuNjcgNTY5LjgwIC0zMS4xNCA1ODUuOTggOTUuNDkgIDYxNy40OQ0KKyAgICAgICAgICBDIC0zMS4xNCA1ODUuOTggODMuOTQgIDY1Mi4yNSAxNDAuMjQgNjQzLjI2DQorICAgICAgICAgIEMgODMuOTQgIDY1Mi4yNSAxMy45OCAgNzY2LjEyIDExMy4wNCA2ODcuNTUNCisgICAgICAgICAgQyAxMy45OCAgNzY2LjEyIDEzNy40NSA3MTYuNjMgMTYxLjA1IDY2OC4zMA0KKyAgICAgICAgICBDIDEzNy40NSA3MTYuNjMgMTgyLjAyIDg0Mi40NSAxNzguMzkgNzE3LjIzDQorICAgICAgICAgIEMgMTgyLjAyIDg0Mi40NSAyMjAuOTAgNzE0LjQ2IDE5My41MSA2NjcuNDYNCisgICAgICAgICAgQyAyMjAuOTAgNzE0LjQ2IDM0Ni40NCA3NTcuNDggMjQyLjMzIDY4NC4xOSB6IiAvPg0KKyAgIDxwYXRoIHN0eWxlPSJmaWxsOiAjMzRBQUNEIiBkID0gIk0gMjM1LjMzIDY5MS4xOQ0KKyAgICAgICAgICBDIDMzOS40NCA3NjQuNDggMjY0LjQ1IDY1NC4zOCAyMDYuMTcgNjQ4LjM3DQorICAgICAgICAgIEMgMjY0LjQ1IDY1NC4zOCAzNzYuNDMgNTgyLjIxIDI0OS43MSA2MjAuMzANCisgICAgICAgICAgQyAzNzYuNDMgNTgyLjIxIDI0NC4wNCA1NzIuOTAgMTk4LjIzIDYxNi42OA0KKyAgICAgICAgICBDIDI0NC4wNCA1NzIuOTAgMjU4LjEzIDQzOS44OCAyMDMuNzEgNTY0Ljk1DQorICAgICAgICAgIEMgMjU4LjEzIDQzOS44OCAxNjguMDQgNTM4LjM3IDE2OC42NyA2MDMuMjYNCisgICAgICAgICAgQyAxNjguMDQgNTM4LjM3IDczLjYzICA0NDQuNjcgMTMxLjk2IDU2Ni44Mg0KKyAgICAgICAgICBDIDczLjYzICA0NDQuNjcgOTMuNjcgIDU3Ni44MCAxMzkuNzUgNjE4LjIwDQorICAgICAgICAgIEMgOTMuNjcgIDU3Ni44MCAtMzguMTQgNTkyLjk4ICA4OC40OSA2MjQuNDkNCisgICAgICAgICAgQyAtMzguMTQgNTkyLjk4IDc2Ljk0ICA2NTkuMjUgMTMzLjI0IDY1MC4yNg0KKyAgICAgICAgICBDIDc2Ljk0ICA2NTkuMjUgNi45OCAgIDc3My4xMiAxMDYuMDQgNjk0LjU1DQorICAgICAgICAgIEMgNi45OCAgIDc3My4xMiAxMzAuNDUgNzIzLjYzIDE1NC4wNSA2NzUuMzANCisgICAgICAgICAgQyAxMzAuNDUgNzIzLjYzIDE3NS4wMiA4NDkuNDUgMTcxLjM5IDcyNC4yMw0KKyAgICAgICAgICBDIDE3NS4wMiA4NDkuNDUgMjEzLjkwIDcyMS40NiAxODYuNTEgNjc0LjQ2DQorICAgICAgICAgIEMgMjEzLjkwIDcyMS40NiAzMzkuNDQgNzY0LjQ4IDIzNS4zMyA2OTEuMTkgeiIgLz4NCisgICA8cGF0aCBzdHlsZT0iZmlsbDogI0Y4ODFCRiIgZCA9ICJNIDE5OS40NCA2MzQuNDMNCisgICAgICAgICAgQyAxOTkuNDQgNjIyLjE2IDE4OS4xOSA2MTIuMjEgMTc2LjU0IDYxMi4yMQ0KKyAgICAgICAgICBDIDE2My44OSA2MTIuMjEgMTUzLjYzIDYyMi4xNiAxNTMuNjMgNjM0LjQzDQorICAgICAgICAgIEMgMTUzLjYzIDY0Ni43MSAxNjMuODkgNjU2LjY2IDE3Ni41NCA2NTYuNjYNCisgICAgICAgICAgQyAxODkuMTkgNjU2LjY2IDE5OS40NCA2NDYuNzEgMTk5LjQ0IDYzNC40MyB6Ii8+DQorICA8L2c+DQorPC9zdmc+DQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L1NWRy9ncmFkaWVudC54bWwgYi9saWJ4bWwyL3Rlc3QvU1ZHL2dyYWRpZW50LnhtbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zMjhkNWU4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L1NWRy9ncmFkaWVudC54bWwKQEAgLTAsMCArMSwxNiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pg0KKzwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgQXByaWwgMTk5OS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvc3ZnLTE5OTkwNDEyLmR0ZCI+DQorPHN2ZyB3aWR0aD0iNGluIiBoZWlnaHQ9IjNpbiI+DQorICA8ZGVzYz5HcmFkaWVudCBleGFtcGxlDQorICA8L2Rlc2M+DQorICA8Zz4NCisgICAgPGRlZnM+DQorICAgICAgPGxpbmVhcmdyYWRpZW50IGlkPSJNeUdyYWRpZW50Ij4NCisgICAgICAgIDwhLS0gRGVmaW5lIGxpbmVhciBncmFkaWVudCBoZXJlIC0tPg0KKyAgICAgICAgPGdyYWRpZW50c3RvcCBvZmZzZXQ9IjAlIiBjb2xvcj0iI0Y2MCIvPg0KKyAgICAgICAgPGdyYWRpZW50c3RvcCBvZmZzZXQ9IjcwJSIgY29sb3I9IiNGRjYiLz4NCisgICAgICA8L2xpbmVhcmdyYWRpZW50Pg0KKyAgICA8L2RlZnM+DQorICAgIDxyZWN0IHN0eWxlPSJmaWxsOiB1cmwoI015R3JhZGllbnQpIiB3aWR0aD0iMjAiIGhlaWdodD0iMTUuOCIvPg0KKyAgPC9nPg0KKzwvc3ZnPg0KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9TVkcvZ3JvdXAwMS54bWwgYi9saWJ4bWwyL3Rlc3QvU1ZHL2dyb3VwMDEueG1sCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjkwNmEyMjAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvU1ZHL2dyb3VwMDEueG1sCkBAIC0wLDAgKzEsMTUgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgc3RhbmRhbG9uZT0ibm8iPz4NCis8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIEFwcmlsIDE5OTkvL0VOIiANCisgICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvc3ZnLTE5OTkwNDEyLmR0ZCI+DQorPHN2ZyB3aWR0aD0iNGluIiBoZWlnaHQ9IjNpbiI+DQorICA8ZGVzYz5Ud28gZ3JvdXBzLCBlYWNoIG9mIHR3byByZWN0YW5nbGVzDQorICA8L2Rlc2M+DQorICA8ZyBzdHlsZT0iZmlsbGNvbG9yOnJlZCI+DQorICAgIDxyZWN0IHg9IjEwMCIgeT0iMTAwIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgLz4NCisgICAgPHJlY3QgeD0iMzAwIiB5PSIxMDAiIHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiAvPg0KKyAgPC9nPg0KKyAgPGcgc3R5bGU9ImZpbGxjb2xvcjpibHVlIj4NCisgICAgPHJlY3QgeD0iMTAwIiB5PSIzMDAiIHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiAvPg0KKyAgICA8cmVjdCB4PSIzMDAiIHk9IjMwMCIgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIC8+DQorICA8L2c+DQorPC9zdmc+DQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L1NWRy9ncm91cDAyLnhtbCBiL2xpYnhtbDIvdGVzdC9TVkcvZ3JvdXAwMi54bWwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMDgyNDc0YQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9TVkcvZ3JvdXAwMi54bWwKQEAgLTAsMCArMSwxMyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pg0KKzwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgQXByaWwgMTk5OS8vRU4iIA0KKyAgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy9zdmctMTk5OTA0MTIuZHRkIj4NCis8c3ZnIHdpZHRoPSI0aW4iIGhlaWdodD0iM2luIj4NCisgIDxkZXNjPlR3byBuYW1lZCBncm91cHMNCisgIDwvZGVzYz4NCisgIDxnIGlkPSJPQkpFQ1QxIj4NCisgICAgPHJlY3QgeD0iMTAwIiB5PSIxMDAiIHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiAvPg0KKyAgPC9nPg0KKyAgPGcgaWQ9Ik9CSkVDVDIiPg0KKyAgICA8Y2lyY2xlIGN4PSIxNTAiIGN5PSIzMDAiIHI9IjI1IiAvPg0KKyAgPC9nPg0KKzwvc3ZnPg0KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9TVkcvZ3JvdXAwMy54bWwgYi9saWJ4bWwyL3Rlc3QvU1ZHL2dyb3VwMDMueG1sCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmFkMjVlOTMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvU1ZHL2dyb3VwMDMueG1sCkBAIC0wLDAgKzEsMTMgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgc3RhbmRhbG9uZT0ibm8iPz4NCis8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIEFwcmlsIDE5OTkvL0VOIiANCisgICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvc3ZnLTE5OTkwNDEyLmR0ZCI+DQorPHN2ZyB3aWR0aD0iNGluIiBoZWlnaHQ9IjNpbiI+DQorICA8ZGVzYz5Hcm91cHMgY2FuIG5lc3QNCisgIDwvZGVzYz4NCisgIDxnPg0KKyAgICAgPGc+DQorICAgICAgIDxnPg0KKyAgICAgICA8L2c+DQorICAgICA8L2c+DQorICAgPC9nPg0KKzwvc3ZnPg0KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9TVkcvaW1hZ2UtdmFsaWQueG1sIGIvbGlieG1sMi90ZXN0L1NWRy9pbWFnZS12YWxpZC54bWwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMzIwZThkMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9TVkcvaW1hZ2UtdmFsaWQueG1sCkBAIC0wLDAgKzEsMTEgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgc3RhbmRhbG9uZT0ibm8iPz4NCis8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIEFwcmlsIDE5OTkvL0VOIiANCisgICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvc3ZnLTE5OTkwNDEyLmR0ZCI+DQorPHN2ZyB3aWR0aD0iNGluIiBoZWlnaHQ9IjNpbiI+DQorICA8ZGVzYz5UaGlzIGdyYXBoaWMgbGlua3MgdG8gYW4gZXh0ZXJuYWwgaW1hZ2UNCisgIDwvZGVzYz4NCisgIDxpbWFnZSB4PSIyMDAiIHk9IjIwMCIgc3R5bGU9IndpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweCIgDQorICBocmVmPSJteWltYWdlLnBuZyI+DQorICAgIDx0aXRsZT5NeSBpbWFnZTwvdGl0bGU+DQorICA8L2ltYWdlPg0KKzwvc3ZnPg0KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9TVkcvaW1hZ2Utd2YueG1sIGIvbGlieG1sMi90ZXN0L1NWRy9pbWFnZS13Zi54bWwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNmQxM2IzMwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9TVkcvaW1hZ2Utd2YueG1sCkBAIC0wLDAgKzEsMTEgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgc3RhbmRhbG9uZT0ieWVzIj8+DQorPHN2ZyB3aWR0aD0iNGluIiBoZWlnaHQ9IjNpbiINCisgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy9zdmctMTk5OTA0MTIuZHRkJz4NCisgIDxkZXNjPlRoaXMgbGlua3MgdG8gYW4gZXh0ZXJuYWwgaW1hZ2UNCisgIDwvZGVzYz4NCisgIDxpbWFnZSB4PSIyMDAiIHk9IjIwMCIgc3R5bGU9IndpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweCINCisgICB4bWw6bGluayA9ICdzaW1wbGUnIHNob3cgPSAnZW1iZWQnIGFjdHVhdGUgPSAnYXV0bycNCisgIGhyZWY9Im15aW1hZ2UucG5nIj4NCisgICAgPHRpdGxlPk15IGltYWdlPC90aXRsZT4NCisgIDwvaW1hZ2U+DQorPC9zdmc+DQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L1NWRy9saW4tZ3JhZGllbnQueG1sIGIvbGlieG1sMi90ZXN0L1NWRy9saW4tZ3JhZGllbnQueG1sCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjhhY2UyYjQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvU1ZHL2xpbi1ncmFkaWVudC54bWwKQEAgLTAsMCArMSwxNiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pg0KKzwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgQXByaWwgMTk5OS8vRU4iIA0KKyAgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy9zdmctMTk5OTA0MTIuZHRkIj4NCis8c3ZnIHdpZHRoPSI0aW4iIGhlaWdodD0iM2luIj4NCisgIDxkZXNjPkxpbmVhciBncmFkaWVudCBleGFtcGxlDQorICA8L2Rlc2M+DQorICA8Zz4NCisgICAgPGRlZnM+DQorICAgICAgPGxpbmVhcmdyYWRpZW50IGlkPSJNeUdyYWRpZW50Ij4NCisgICAgICAgIDxncmFkaWVudHN0b3Agb2Zmc2V0PSIwJSIgY29sb3I9IiNGNjAiLz4NCisgICAgICAgIDxncmFkaWVudHN0b3Agb2Zmc2V0PSI3MCUiIGNvbG9yPSIjRkY2Ii8+DQorICAgICAgPC9saW5lYXJncmFkaWVudD4NCisgICAgPC9kZWZzPg0KKyAgICA8cmVjdCBzdHlsZT0iZmlsbDogdXJsKCNNeUdyYWRpZW50KSIgd2lkdGg9IjIwIiBoZWlnaHQ9IjE1LjgiLz4NCisgIDwvZz4NCis8L3N2Zz4NCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvU1ZHL21hcmtlci54bWwgYi9saWJ4bWwyL3Rlc3QvU1ZHL21hcmtlci54bWwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNjI3MTZhMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9TVkcvbWFya2VyLnhtbApAQCAtMCwwICsxLDI4IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIHN0YW5kYWxvbmU9Im5vIj8+DQorPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyBBcHJpbCAxOTk5Ly9FTiIgDQorICAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHL3N2Zy0xOTk5MDQxMi5kdGQiPg0KKzxzdmcgd2lkdGg9IjRpbiIgaGVpZ2h0PSIzaW4iPg0KKyAgPGRlZnM+DQorICAgIDxzeW1ib2wgaWQ9IlRyaWFuZ2xlIiBtaW4teD0iMCIgbWluLXk9IjAiIG1heC14PSIxMDAiIA0KKyAgICAgIG1heC15PSIxMDAiIHJlZi14PSIwIiByZWYteT0iNTAiPg0KKyAgICAgIDxwYXRoIGQ9Ik0gMCAwIEwgMCAxMDAgTCAxMDAgNTAgeiIvPg0KKyAgICAgPC9zeW1ib2w+DQorICAgPC9kZWZzPg0KKyAgPGRlc2M+QW4gZG91YmxlLWhlYWRlZCBhcnJvdyBleGFtcGxlIHVzaW5nIG1hcmtlcnMNCisgIDwvZGVzYz4NCisgIDxwYXRoIGQ9Ik0wIDAiPg0KKyAgICA8IS0tIFBsYWNlIGFuIGFycm93aGVhZCByb3RhdGVkIDE4MCBkZWdyZWVzIGF0IHRoZSANCisgICAgICAgICBiZWdpbm5pbmcgb2YgdGhlIHBhdGggLS0+DQorICAgIDxtYXJrZXIgaHJlZj0iI1RyaWFuZ2xlIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCIgDQorICAgICAgICAgIHN0eWxlPSJ0ZXh0LXRyYW5zZm9ybTogcm90YXRlKDE4MCkiLz4NCisgICAgPGRhdGEgZD0iTSAyMDAwIDIwMDAiLz4NCisNCisgICAgPCEtLSBUdXJuIG9mZiBtYXJrZXJzIGluIHRoZSBtaWRkbGUgb2YgdGhlIHBhdGggLS0+DQorICAgIDxtYXJrZXIgaHJlZj0iIi8+DQorICAgIDxkYXRhIGQ9IkwgNDAwMCAyMDAwIEwgNDAwMCA0MDAwIi8+DQorDQorICAgIDwhLS0gUGxhY2UgYW4gYXJyb3doZWFkIGF0IHRoZSBlbmQgb2YgdGhlIHBhdGgtLT4NCisgICAgPG1hcmtlciBocmVmPSIjVHJpYW5nbGUiIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIi8+DQorICAgIDxkYXRhIGQ9IkwgNjAwMCA0MDAwIi8+DQorICA8L3BhdGg+DQorPC9zdmc+DQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L1NWRy9tYXNrLnhtbCBiL2xpYnhtbDIvdGVzdC9TVkcvbWFzay54bWwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjgxYWNhMQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9TVkcvbWFzay54bWwKQEAgLTAsMCArMSwxMyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pg0KKzwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgQXByaWwgMTk5OS8vRU4iIA0KKyAgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy9zdmctMTk5OTA0MTIuZHRkIj4NCis8c3ZnIHdpZHRoPSI0aW4iIGhlaWdodD0iM2luIj4NCisgIDxkZXNjPkV4YW1wbGUgb2YgdXNpbmcgYSBtYXNrDQorICA8L2Rlc2M+DQorICA8Zz4NCisgICAgPGRlZnM+DQorICAgICAgPGltYWdlIGlkPSJNeU1hc2siIGhyZWY9InRyYW5zcC5wbmciPjwvaW1hZ2U+DQorICAgIDwvZGVmcz4NCisgICAgPHJlY3Qgc3R5bGU9Im1hc2s6IHVybCgjTXlNYXNrKSIgd2lkdGg9IjEyLjUiIGhlaWdodD0iMzAiIC8+DQorICA8L2c+DQorPC9zdmc+DQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L1NWRy9tYXRoc3dpdGNoLnhtbCBiL2xpYnhtbDIvdGVzdC9TVkcvbWF0aHN3aXRjaC54bWwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNGQyOGYzMwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9TVkcvbWF0aHN3aXRjaC54bWwKQEAgLTAsMCArMSwzMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJ5ZXMiPz4NCis8c3ZnIHdpZHRoPSI0aW4iIGhlaWdodD0iM2luIg0KKyB4bWxucyA9ICdodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvc3ZnLTE5OTkwNDEyLmR0ZCc+DQorICA8ZGVzYz5UaGlzIGV4YW1wbGUgdXNlcyB0aGUgc3dpdGNoIGVsZW1lbnQgdG8gcHJvdmlkZSBhIA0KKyAgZmFsbGJhY2sgZ3JhcGhpY2FsIHJlcHJlc2VudGF0aW9uIG9mIGFuIGVxdWF0aW9uLCBpZiANCisgIE1hdGhNTCBpcyBub3Qgc3VwcG9ydGVkLg0KKyAgPC9kZXNjPg0KKyAgPCEtLSBUaGUgPHN3aXRjaD4gZWxlbWVudCB3aWxsIHByb2Nlc3MgdGhlIGZpcnN0IGNoaWxkIGVsZW1lbnQNCisgICAgICAgd2hvc2UgdGVzdGluZyBhdHRyaWJ1dGVzIGV2YWx1YXRlIHRvIHRydWUuLS0+DQorICA8c3dpdGNoPg0KKw0KKyAgICA8IS0tIFByb2Nlc3MgdGhlIE1hdGhNTCBpZiB0aGUgc3lzdGVtLXJlcXVpcmVkIGF0dHJpYnV0ZQ0KKyAgICAgICAgIGV2YWx1YXRlcyB0byB0cnVlIChpLmUuLCB0aGUgdXNlciBhZ2VudCBzdXBwb3J0cyBNYXRoTUwNCisgICAgICAgICBlbWJlZGRlZCB3aXRoaW4gU1ZHKS4gLS0+DQorICAgIDxmb3JlaWdub2JqZWN0IA0KKyAgICAgICBzeXN0ZW0tcmVxdWlyZWQ9Imh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy1NYXRoTUwtMTk5ODA0MDciIA0KKyAgICAgICB3aWR0aD0iMTAwIiBoZWlnaHQ9IjUwIj4NCisgICAgICA8IS0tIE1hdGhNTCBjb250ZW50IGdvZXMgaGVyZSAtLT4NCisgICAgPC9mb3JlaWdub2JqZWN0Pg0KKw0KKyAgICA8IS0tIEVsc2UsIHByb2Nlc3MgdGhlIGZvbGxvd2luZyBhbHRlcm5hdGUgU1ZHLg0KKyAgICAgICAgIE5vdGUgdGhhdCB0aGVyZSBhcmUgbm8gdGVzdGluZyBhdHRyaWJ1dGVzIG9uIHRoZSA8Zz4gZWxlbWVudC4NCisgICAgICAgICBJZiBubyB0ZXN0aW5nIGF0dHJpYnV0ZXMgYXJlIHByb3ZpZGVkLCBpdCBpcyBhcyBpZiB0aGVyZQ0KKyAgICAgICAgIHdlcmUgdGVzdGluZyBhdHRyaWJ1dGVzIGFuZCB0aGV5IGV2YWx1YXRlZCB0byB0cnVlLi0tPg0KKyAgICA8Zz4NCisgICAgICA8IS0tIERyYXcgYSByZWQgcmVjdGFuZ2xlIHdpdGggYSB0ZXh0IHN0cmluZyBvbiB0b3AuIC0tPg0KKyAgICAgIDxyZWN0IHN0eWxlPSJmaWxsOiByZWQiLz4NCisgICAgICA8dGV4dD5Gb3JtdWxhIGdvZXMgaGVyZTwvdGV4dD4NCisgICAgPC9nPg0KKw0KKyAgPC9zd2l0Y2g+DQorPC9zdmc+DQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L1NWRy9wYXJlbnRucy54bWwgYi9saWJ4bWwyL3Rlc3QvU1ZHL3BhcmVudG5zLnhtbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iYTQxMGUxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L1NWRy9wYXJlbnRucy54bWwKQEAgLTAsMCArMSwxMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+DQorPEFCQyB4bWxucz0iaHR0cDovL3BhcmVudC5uYW1lLnNwYWNlIg0KKyAgICAgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4wIj4NCisgIDwhLS0gZG9jdW1lbnQgaW4gdGhlIHBhcmVudCBuYW1lc3BhY2UgLS0+DQorICA8c3ZnOnN2ZyB3aWR0aD0iNDAlIiBoZWlnaHQ9IjQwJSI+DQorICAgICA8c3ZnOnJlY3RhbmdsZSB3aWR0aD0iNDMuNiIgaGVpZ2h0PSIzMS41Ii8+DQorICAgICA8IS0tIHN2ZyBncmFwaGljIGNvbnRpbnVlcyAtLT4NCisgICA8L3N2Zzpzdmc+DQorICAgPCEtLSBkb2N1bWVudCBpbiBwYXJlbnQgbmFtZXNwYWNlIGNvbnRpbnVlcyAtLT4NCis8L0FCQz4NCisNCisNCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvU1ZHL3BhdGgwMS54bWwgYi9saWJ4bWwyL3Rlc3QvU1ZHL3BhdGgwMS54bWwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNDU5MGI2YwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9TVkcvcGF0aDAxLnhtbApAQCAtMCwwICsxLDUgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgc3RhbmRhbG9uZT0ieWVzIj8+DQorPHN2ZyB3aWR0aD0iNGluIiBoZWlnaHQ9IjNpbiINCisgeG1sbnMgPSAnaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHL3N2Zy0xOTk5MDQxMi5kdGQnPg0KKzxwYXRoIGQ9Ik0gMTAwIDEwMCBMIDE0MCAxMDAgTCAxMjAgMTQwIHoiLz4NCis8L3N2Zz4NCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvU1ZHL3BhdGgwMi54bWwgYi9saWJ4bWwyL3Rlc3QvU1ZHL3BhdGgwMi54bWwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYTkxYWE2MQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9TVkcvcGF0aDAyLnhtbApAQCAtMCwwICsxLDEwIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIHN0YW5kYWxvbmU9Im5vIj8+DQorPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyBBcHJpbCAxOTk5Ly9FTiIgDQorICAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHL3N2Zy0xOTk5MDQxMi5kdGQiPg0KKzxzdmcgd2lkdGg9IjRpbiIgaGVpZ2h0PSIzaW4iPg0KKyAgPHBhdGggZD0iTSAxMDAgMTAwIj4NCisgICAgPGRhdGEgZD0iTCAxNDAgMTAwIi8+DQorICAgIDxkYXRhIGQ9IkwgMTIwIDE0MCIvPg0KKyAgICA8ZGF0YSBkPSJ6Ii8+DQorICA8L3BhdGg+DQorPC9zdmc+DQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L1NWRy9wYXR0ZXJuZmlsbC54bWwgYi9saWJ4bWwyL3Rlc3QvU1ZHL3BhdHRlcm5maWxsLnhtbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yOTJmNGY3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L1NWRy9wYXR0ZXJuZmlsbC54bWwKQEAgLTAsMCArMSwxMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pg0KKzwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgQXByaWwgMTk5OS8vRU4iIA0KKyAgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy9zdmctMTk5OTA0MTIuZHRkIj4NCis8c3ZnIHdpZHRoPSI0aW4iIGhlaWdodD0iM2luIj4NCisgIDxkZWZzPg0KKyAgICA8c3ltYm9sIGlkPSJmb3Vyc3RhciI+DQorICAgICAgPCEtLSBEZWZpbmUgdGhlIHBhdHRlcm4gdXNpbmcgc3RhbmRhcmQgZ3JhcGhpY3MgZWxlbWVudHMNCisgICAgICAgICAgIHN1Y2ggYXMgcGF0aHMsIGltYWdlcywgdGV4dCBhbmQgc2hhcGVzIC0tPg0KKyAgICA8L3N5bWJvbD4NCisgIDwvZGVmcz4NCisgIDxlbGxpcHNlIHN0eWxlPSJmaWxsOiB1cmwoI2ZvdXJzdGFyKSIgbWFqb3I9IjQwIiBtaW5vcj0iMjciIC8+DQorPC9zdmc+DQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L1NWRy9wb2x5bGluZS54bWwgYi9saWJ4bWwyL3Rlc3QvU1ZHL3BvbHlsaW5lLnhtbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lNmY3YjYyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L1NWRy9wb2x5bGluZS54bWwKQEAgLTAsMCArMSw5IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIHN0YW5kYWxvbmU9Im5vIj8+DQorPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyBBcHJpbCAxOTk5Ly9FTiIgDQorICAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHL3N2Zy0xOTk5MDQxMi5kdGQiPg0KKzxzdmcgd2lkdGg9IjRpbiIgaGVpZ2h0PSIzaW4iPg0KKyAgPGRlc2M+QSBzYW1wbGUgcG9seWxpbmUsIGFuZCBlcXVpdmFsZW50IHBhdGgNCisgIDwvZGVzYz4NCisgIDxwb2x5bGluZSB2ZXJ0cz0iMjAsMjAgNTAsMTAwIDIwMCw4MCA3MCwzMDAiLz4NCisgIDxwYXRoIGQ9Ik0yMCwyMCBMNTAsMTAwIEwyMDAsODAgTDcwLDMwMCIvPg0KKzwvc3ZnPg0KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9TVkcvcHJpdmF0ZS54bWwgYi9saWJ4bWwyL3Rlc3QvU1ZHL3ByaXZhdGUueG1sCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjM2MDEzNjUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvU1ZHL3ByaXZhdGUueG1sCkBAIC0wLDAgKzEsMTkgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgc3RhbmRhbG9uZT0ieWVzIj8+DQorPHN2ZyB3aWR0aD0iNGluIiBoZWlnaHQ9IjNpbiINCisgeG1sbnMgPSAnaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHL3N2Zy0xOTk5MDQxMi5kdGQnPg0KKyAgPGRlZnM+DQorICAgIDxwcml2YXRlIHhtbG5zOm15YXBwPSJodHRwOi8vbXljb21wYW55L21hcGFwcCIgPg0KKyAgICAgIDxteWFwcDpwaWVjaGFydCB0aXRsZT0iU2FsZXMgYnkgUmVnaW9uIj4NCisgICAgICAgIDxteWFwcDpwaWVjZSBsYWJlbD0iTm9ydGhlcm4gUmVnaW9uIiB2YWx1ZT0iMS4yMyIvPg0KKyAgICAgICAgPG15YXBwOnBpZWNlIGxhYmVsPSJFYXN0ZXJuIFJlZ2lvbiIgdmFsdWU9IjIuNTMiLz4NCisgICAgICAgIDxteWFwcDpwaWVjZSBsYWJlbD0iU291dGhlcm4gUmVnaW9uIiB2YWx1ZT0iMy44OSIvPg0KKyAgICAgICAgPG15YXBwOnBpZWNlIGxhYmVsPSJXZXN0ZXJuIFJlZ2lvbiIgdmFsdWU9IjIuMDQiLz4NCisgICAgICAgIDwhLS0gT3RoZXIgcHJpdmF0ZSBkYXRhIGdvZXMgaGVyZSAtLT4NCisgICAgICA8L215YXBwOnBpZWNoYXJ0Pg0KKyAgICA8L3ByaXZhdGU+DQorICA8L2RlZnM+DQorICAgIDxkZXNjPlRoaXMgY2hhcnQgaW5jbHVkZXMgcHJpdmF0ZSBkYXRhIGluIGFub3RoZXIgbmFtZXNwYWNlDQorICA8L2Rlc2M+DQorICA8IS0tIEluIGhlcmUgd291bGQgYmUgdGhlIGFjdHVhbCBncmFwaGljcyBlbGVtZW50cyB3aGljaA0KKyAgICAgICBkcmF3IHRoZSBwaWUgY2hhcnQgLS0+DQorPC9zdmc+DQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L1NWRy9yYWQtZ3JhZGllbnQueG1sIGIvbGlieG1sMi90ZXN0L1NWRy9yYWQtZ3JhZGllbnQueG1sCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjlhZDc2ODMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvU1ZHL3JhZC1ncmFkaWVudC54bWwKQEAgLTAsMCArMSwxNyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pg0KKzwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgQXByaWwgMTk5OS8vRU4iIA0KKyAgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy9zdmctMTk5OTA0MTIuZHRkIj4NCis8c3ZnIHdpZHRoPSI0aW4iIGhlaWdodD0iM2luIj4NCisgIDxkZXNjPlJhZGlhbCBncmFkaWVudCBleGFtcGxlIHdpdGggdGhyZWUgZ3JhZGllbnQgc3RvcHMNCisgIDwvZGVzYz4NCisgIDxnPg0KKyAgICA8ZGVmcz4NCisgICAgICA8cmFkaWFsZ3JhZGllbnQgaWQ9Ik15R3JhZGllbnQiPg0KKyAgICAgICAgIDxncmFkaWVudHN0b3Agb2Zmc2V0PSIwJSIgY29sb3I9IndoaXRlIi8+DQorICAgICAgICAgPGdyYWRpZW50c3RvcCBvZmZzZXQ9IjUwJSIgY29sb3I9InJlZCIvPg0KKyAgICAgICAgIDxncmFkaWVudHN0b3Agb2Zmc2V0PSIxMDAlIiBjb2xvcj0iYmxhY2siLz4NCisgICAgICA8L3JhZGlhbGdyYWRpZW50Pg0KKyAgICA8L2RlZnM+DQorICAgIDxjaXJjbGUgc3R5bGU9ImZpbGw6IHVybCgjTXlHcmFkaWVudCkiIHI9IjQyIi8+DQorICA8L2c+DQorPC9zdmc+DQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L1NWRy9yZWN0YW5nbGUueG1sIGIvbGlieG1sMi90ZXN0L1NWRy9yZWN0YW5nbGUueG1sCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmU2Y2RlZWEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvU1ZHL3JlY3RhbmdsZS54bWwKQEAgLTAsMCArMSwxMCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pg0KKzwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgQXByaWwgMTk5OS8vRU4iIA0KKyAgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy9zdmctMTk5OTA0MTIuZHRkIj4NCis8c3ZnIHdpZHRoPSI0aW4iIGhlaWdodD0iM2luIj4NCisgIDxkZXNjPlRoaXMgaXMgYSByZWN0YW5nbGUNCisgIDwvZGVzYz4NCisgIDxnPg0KKyAgICA8cmVjdCB4PSIyMCIgeT0iMzAiIHdpZHRoPSIxMDAiIGhlaWdodD0iODAiLz4NCisgIDwvZz4NCis8L3N2Zz4NCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvU1ZHL3JpY2hkZXNjLnhtbCBiL2xpYnhtbDIvdGVzdC9TVkcvcmljaGRlc2MueG1sCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmNjZjhjOGQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvU1ZHL3JpY2hkZXNjLnhtbApAQCAtMCwwICsxLDEyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIHN0YW5kYWxvbmU9InllcyI/Pg0KKzxzdmcgd2lkdGg9IjRpbiIgaGVpZ2h0PSIzaW4iIA0KKyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHL3N2Zy0xOTk5MDQxMi5kdGQiPg0KKyAgIDxkZXNjIHhtbG5zOm15ZG9jPSJodHRwOi8vZm9vLm9yZy9teWRvYyI+DQorICAgICAgPG15ZG9jOnRpdGxlPlRoaXMgaXMgYW4gZXhhbXBsZSBTVkcgZmlsZTwvbXlkb2M6dGl0bGU+DQorICAgICAgPG15ZG9jOnBhcmE+VGhlIGdsb2JhbCBkZXNjcmlwdGlvbiB1c2VzIG1hcmt1cCBmcm9tIHRoZSANCisgICAgICAgIDxteWRvYzplbXBoPm15ZG9jPC9teWRvYzplbXBoPiBuYW1lc3BhY2UuPC9teWRvYzpwYXJhPg0KKyAgIDwvZGVzYz4NCisgICA8Zz4NCisgICA8IS0tIHRoZSBwaWN0dXJlIGdvZXMgaGVyZSAtLT4NCisgICA8L2c+DQorPC9zdmc+DQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L1NWRy9zY3JpcHQueG1sIGIvbGlieG1sMi90ZXN0L1NWRy9zY3JpcHQueG1sCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjYwMDM2NWUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvU1ZHL3NjcmlwdC54bWwKQEAgLTAsMCArMSwxMyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pg0KKzwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgQXByaWwgMTk5OS8vRU4iIA0KKyAgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy9zdmctMTk5OTA0MTIuZHRkIj4NCis8c3ZnIHdpZHRoPSI0aW4iIGhlaWdodD0iM2luIj4NCisgIDxkZWZzPg0KKyAgICA8c2NyaXB0PjwhW0NEQVRBWw0KKyAgICAgIC8qIEJlZXAgb24gbW91c2VjbGljayAqLw0KKyAgICAgIE1vdXNlQ2xpY2tIYW5kbGVyKCkgeyBiZWVwKCk7IH0NCisgICAgIF1dPg0KKyAgICA8L3NjcmlwdD4NCisgIDwvZGVmcz4NCisgIDxjaXJjbGUgb25jbGljaz0iTW91c2VDbGlja0hhbmRsZXIoKSIgcj0iODUiLz4NCis8L3N2Zz4NCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvU1ZHL3N0cnVjdHVyZTAxLnhtbCBiL2xpYnhtbDIvdGVzdC9TVkcvc3RydWN0dXJlMDEueG1sCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmRlYzkxNDMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvU1ZHL3N0cnVjdHVyZTAxLnhtbApAQCAtMCwwICsxLDEwIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIHN0YW5kYWxvbmU9InllcyI/Pg0KKzxwYXJlbnQgeG1sbnM9Imh0dHA6Ly9zb21lcGxhY2Uub3JnIg0KKyAgICAgICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy9zdmctMTk5OTA0MTIuZHRkIj4NCisgICA8IS0tIHBhcmVudCBzdHVmZiBoZXJlIC0tPg0KKyAgIDxzdmc6c3ZnIHdpZHRoPSI1Y20iIGhlaWdodD0iOGNtIj4NCisgICAgICA8c3ZnOmVsbGlwc2UgbWFqb3I9IjIwMCIgbWlub3I9IjEzMCIgLz4NCisgICA8L3N2Zzpzdmc+DQorICAgPCEtLSAuLi4gLS0+DQorPC9wYXJlbnQ+DQorDQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L1NWRy9zdHlsZS54bWwgYi9saWJ4bWwyL3Rlc3QvU1ZHL3N0eWxlLnhtbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iYTE1MDQxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L1NWRy9zdHlsZS54bWwKQEAgLTAsMCArMSwxMSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pg0KKzwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgQXByaWwgMTk5OS8vRU4iIA0KKyAgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy9zdmctMTk5OTA0MTIuZHRkIj4NCis8c3ZnIHdpZHRoPSI0aW4iIGhlaWdodD0iM2luIj4NCisgIDxkZWZzPg0KKyAgICA8c3R5bGU+PCFbQ0RBVEFbDQorICAgICAgLlRpdGxlVGV4dCB7IGZvbnQtc2l6ZTogMTY7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2EgfSBdXT4NCisgICAgPC9zdHlsZT4NCisgIDwvZGVmcz4NCisgIDx0ZXh0IGNsYXNzPSJUaXRsZVRleHQiPkhlcmUgaXMgbXkgdGl0bGU8L3RleHQ+DQorPC9zdmc+DQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L1NWRy9zd2l0Y2gueG1sIGIvbGlieG1sMi90ZXN0L1NWRy9zd2l0Y2gueG1sCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjE4OTU1YzkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvU1ZHL3N3aXRjaC54bWwKQEAgLTAsMCArMSwyMSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJ5ZXMiPz4NCis8c21pbD4NCisgIDxib2R5Pg0KKyAgICA8IS0tIFRoZSBTTUlMIDxzd2l0Y2g+IGVsZW1lbnQgd2lsbCBwcm9jZXNzIHRoZQ0KKyAgICAgICAgIGZpcnN0IGNoaWxkIGVsZW1lbnQgd2hpY2ggdGVzdHMgdHJ1ZSBhbmQgc2tpcA0KKyAgICAgICAgIHBhc3QgYWxsIG90aGVycy4gLS0+DQorICAgIDxzd2l0Y2g+DQorDQorICAgICAgPCEtLSBUaGUgc3lzdGVtLXJlcXVpcmVkIGF0dHJpYnV0ZSB0ZXN0cyB0byBzZWUgaWYNCisgICAgICAgICAgIHRoZSB1c2VyIGFnZW50IHN1cHBvcnRzIFNWRy4gSWYgdHJ1ZSwgdGhlbg0KKyAgICAgICAgICAgcmVuZGVyIHRoZSBmaWxlIGRyYXdpbmcuc3ZnLiAtLT4NCisgICAgICA8cmVmIHN5c3RlbS1yZXF1aXJlZD0iaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHL3N2Zy0xOTk5MDQxMi5kdGQiIA0KKyAgICAgICAgICAgdHlwZT0iaW1hZ2Uvc3ZnIiBzcmM9ImRyYXdpbmcuc3ZnIiAvPg0KKw0KKyAgICAgIDwhLS0gRWxzZSwgcmVuZGVyIHRoZSBhbHRlcm5hdGUgaW1hZ2UuIC0tPg0KKyAgICAgIDxpbWcgc3JjPSJhbHRlcm5hdGVfaW1hZ2UuanBnIiAvPg0KKyAgICA8L3N3aXRjaD4NCisgIDwvYm9keT4NCis8L3NtaWw+DQorDQorDQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L1NWRy9zeW1ib2wtdXNlLnhtbCBiL2xpYnhtbDIvdGVzdC9TVkcvc3ltYm9sLXVzZS54bWwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODNiYzQ1OAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9TVkcvc3ltYm9sLXVzZS54bWwKQEAgLTAsMCArMSwyOCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pg0KKzwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgQXByaWwgMTk5OS8vRU4iIA0KKyAgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy9zdmctMTk5OTA0MTIuZHRkIj4NCis8c3ZnIHdpZHRoPSI0aW4iIGhlaWdodD0iM2luIj4NCisgIDxkZWZzPg0KKyAgICA8c3ltYm9sIGlkPSJUZW1wbGF0ZU9iamVjdDAxIj4NCisgICAgICA8IS0tIHN5bWJvbCBkZWZpbml0aW9uIGhlcmUgLS0+DQorICAgIDwvc3ltYm9sPg0KKyAgPC9kZWZzPg0KKw0KKyAgPGRlc2M+RXhhbXBsZXMgb2YgaW5saW5lIGFuZCByZWZlcmVuY2VkIGNvbnRlbnQNCisgIDwvZGVzYz4NCisgIA0KKyAgPCEtLSA8Zz4gd2l0aCBpbmxpbmUgY29udGVudCAtLT4NCisgIDxnPg0KKyAgICA8IS0tIElubGluZSBjb250ZW50IGdvZXMgaGVyZSAtLT4NCisgIDwvZz4NCisNCisgIDwhLS0gcmVmZXJlbmNlZCBjb250ZW50IC0tPg0KKyAgPHVzZSBocmVmPSIjVGVtcGxhdGVPYmplY3QwMSIgLz4NCisNCisgIDwhLS0gPGc+IHdpdGggYm90aCByZWZlcmVuY2VkIGFuZCBpbmxpbmUgY29udGVudCAtLT4NCisgIDxnPg0KKyAgICA8dXNlIGhyZWY9IiNUZW1wbGF0ZU9iamVjdDAxIiAvPg0KKyAgICA8IS0tIElubGluZSBjb250ZW50IGdvZXMgaGVyZSAtLT4NCisgIDwvZz4NCisNCis8L3N2Zz4NCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvU1ZHL3RlbXBsYXRlLnhtbCBiL2xpYnhtbDIvdGVzdC9TVkcvdGVtcGxhdGUueG1sCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjBhOWZlZTcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvU1ZHL3RlbXBsYXRlLnhtbApAQCAtMCwwICsxLDkgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/Pg0KKzxzdmcgd2lkdGg9IjRpbiIgaGVpZ2h0PSIzaW4iDQorIHhtbG5zID0gJ2h0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy9zdmctMTk5OTA0MTIuZHRkJz4NCisgIDxkZXNjPlRoaXMgd2VsbCBmb3JtZWQgc3ZnIGRvY3VtZW50IGNvbnRhaW5zIGEgaHlwZXJsaW5rDQorICA8L2Rlc2M+DQorICA8YSB4bWw6bGluaz0ic2ltcGxlIiBzaG93PSJyZXBsYWNlIiBhY3R1YXRlPSJ1c2VyIiBocmVmPSJodHRwOi8vd3d3LnczLm9yZyI+DQorICAgIDxwIGQ9Ik0gMCAwIEwgMjAwIDAgTCAxMDAgMjAwIFoiLz4NCisgIDwvYT4NCis8L3N2Zz4NCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvU1ZHL3RleHQwMS54bWwgYi9saWJ4bWwyL3Rlc3QvU1ZHL3RleHQwMS54bWwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMzk1YmFmYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9TVkcvdGV4dDAxLnhtbApAQCAtMCwwICsxLDEyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIHN0YW5kYWxvbmU9Im5vIj8+DQorPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyBBcHJpbCAxOTk5Ly9FTiIgDQorICAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHL3N2Zy0xOTk5MDQxMi5kdGQiPg0KKzxzdmcgd2lkdGg9IjRpbiIgaGVpZ2h0PSIzaW4iPg0KKyAgPGRlZnM+DQorICAgIDx0ZXh0IGlkPSJUZXh0VG9Vc2UiPlhZWjwvdGV4dD4NCisgIDwvZGVmcz4NCisgIDx0ZXh0PkFCQzwvdGV4dD4NCisgIDx0ZXh0Pg0KKyAgICA8c3JjIGhyZWY9IiNUZXh0VG9Vc2UiLz4NCisgIDwvdGV4dD4NCis8L3N2Zz4NCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvU1ZHL3RleHQwMi54bWwgYi9saWJ4bWwyL3Rlc3QvU1ZHL3RleHQwMi54bWwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uN2I5NTI5MgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9TVkcvdGV4dDAyLnhtbApAQCAtMCwwICsxLDE3IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIHN0YW5kYWxvbmU9InllcyI/Pg0KKzxzdmcgd2lkdGg9IjRpbiIgaGVpZ2h0PSIzaW4iDQorIHhtbG5zID0gJ2h0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy9zdmctMTk5OTA0MTIuZHRkJz4NCisgIDxkZWZzPg0KKyAgICA8dGV4dGZsb3cgaWQ9IlRGMSI+DQorICAgICAgPHQgaHJlZj0iI1QxIi8+DQorICAgICAgPHQgaHJlZj0iI1QzIi8+DQorICAgIDwvdGV4dGZsb3c+DQorICAgIDx0ZXh0ZmxvdyBpZD0iVEYyIj4NCisgICAgICA8dCBocmVmPSIjVDIiLz4NCisgICAgICA8dCBocmVmPSIjVDQiLz4NCisgICAgPC90ZXh0Zmxvdz4NCisgIDwvZGVmcz4NCisgIDx0ZXh0IHg9IjEwMCIgeT0iMTAwIiBpZD0iVDEiPjx0ZiBocmVmPSIjVEYxIj4xMjM8L3RmPjwvdGV4dD4NCisgIDx0ZXh0IHg9IjEwMCIgeT0iMjAwIiBpZD0iVDIiPjx0ZiBocmVmPSIjVEYyIj5BQkM8L3RmPjwvdGV4dD4NCisgIDx0ZXh0IHg9IjE1MCIgeT0iMTAwIiBpZD0iVDMiPjx0ZiBocmVmPSIjVEYxIj40NTY8L3RmPjwvdGV4dD4NCisgIDx0ZXh0IHg9IjE1MCIgeT0iMjAwIiBpZD0iVDQiPjx0ZiBocmVmPSIjVEYyIj5ERUY8L3RmPjwvdGV4dD48L3N2Zz4NCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvU1ZHL3RleHQwMy54bWwgYi9saWJ4bWwyL3Rlc3QvU1ZHL3RleHQwMy54bWwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZmFlOWFmMQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9TVkcvdGV4dDAzLnhtbApAQCAtMCwwICsxLDggQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgc3RhbmRhbG9uZT0ieWVzIj8+DQorPHN2ZyB3aWR0aD0iNGluIiBoZWlnaHQ9IjNpbiINCisgeG1sbnMgPSAnaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHL3N2Zy0xOTk5MDQxMi5kdGQnPg0KKyAgPHRleHRmbG93IGlkPSJURjEiPg0KKyAgICA8dGV4dCB4PSIxMDAiIHk9IjEwMCI+MTIzPC90ZXh0Pg0KKyAgICA8dGV4dD40NTY8L3RleHQ+DQorICA8L3RleHRmbG93Pg0KKzwvc3ZnPg0KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9TVkcvdG9hcDAxLnhtbCBiL2xpYnhtbDIvdGVzdC9TVkcvdG9hcDAxLnhtbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zMmUxNmU2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L1NWRy90b2FwMDEueG1sCkBAIC0wLDAgKzEsMTAgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgc3RhbmRhbG9uZT0ibm8iPz4NCis8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIEFwcmlsIDE5OTkvL0VOIiANCisgICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvc3ZnLTE5OTkwNDEyLmR0ZCI+DQorPHN2ZyB3aWR0aD0iNGluIiBoZWlnaHQ9IjNpbiI+DQorICA8ZGVzYz5TaW1wbGUgdGV4dCBvbiBhIHBhdGgNCisgIDwvZGVzYz4NCisgIDxwYXRoIGlkPSJNeVBhdGgiIHN0eWxlPSJ2aXNpYmlsaXR5OiBoaWRkZW4iDQorICAgICAgICBkPSJNIDEwMCAxMDAgQyAxMjUgMTI1IDE3NSAxMjUgMjAwIDEwMCIgLz4NCisgIDx0ZXh0Pjx0ZXh0cGF0aCBocmVmPSIjTXlQYXRoIi8+VGV4dCBvbiBwYXRoPC90ZXh0Pg0KKzwvc3ZnPg0KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9TVkcvdG9hcDAyLnhtbCBiL2xpYnhtbDIvdGVzdC9TVkcvdG9hcDAyLnhtbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42ODk4MDkzCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L1NWRy90b2FwMDIueG1sCkBAIC0wLDAgKzEsMzMgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgc3RhbmRhbG9uZT0ibm8iPz4NCis8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIEFwcmlsIDE5OTkvL0VOIiANCisgICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvc3ZnLTE5OTkwNDEyLmR0ZCI+DQorPHN2ZyB3aWR0aD0iNGluIiBoZWlnaHQ9IjNpbiI+DQorICA8ZGVmcz4NCisgICAgPHN5bWJvbCBpZD0iVHJpYW5nbGUxIiANCisgICAgICAgbWluLXg9IjAiIG1pbi15PSIwIiBtYXgteD0iMzAwIiBtYXgteT0iMjAwIj4NCisgICAgICA8cGF0aCBkPSJNIDUwIDAgTCAgNTAgMjAwIEwgMjUwIDAgeiIvPg0KKyAgICA8L3N5bWJvbD4NCisgICAgPHN5bWJvbCBpZD0iVHJpYW5nbGUyIiANCisgICAgICAgICBtaW4teD0iMCIgbWluLXk9IjAiIG1heC14PSIzMDAiIG1heC15PSIyMDAiPg0KKyAgICAgIDxwYXRoIGQ9Ik0gNTAgMCBMIDI1MCAyMDAgTCAyNTAgMCB6Ii8+DQorICAgIDwvc3ltYm9sPg0KKyAgPC9kZWZzPg0KKyAgDQorICA8ZGVzYz5HZW5lcmFsIGdyYXBoaWNzIG9uIGEgcGF0aA0KKyAgPC9kZXNjPg0KKyAgDQorICA8dGV4dD4NCisgICAgPHRleHRwYXRoIGhyZWY9IiNNeVBhdGgiLz4NCisgICAgPHVzZSBocmVmPSIjVHJpYW5nbGUxIi8+DQorICAgIDx1c2UgaHJlZj0iI1RyaWFuZ2xlMiIvPg0KKyAgICA8dXNlIGhyZWY9IiNUcmlhbmdsZTEiLz4NCisgICAgPHVzZSBocmVmPSIjVHJpYW5nbGUyIi8+DQorICAgIDx1c2UgaHJlZj0iI1RyaWFuZ2xlMSIvPg0KKyAgICA8dXNlIGhyZWY9IiNUcmlhbmdsZTIiLz4NCisgICAgPHVzZSBocmVmPSIjVHJpYW5nbGUxIi8+DQorICAgIDx1c2UgaHJlZj0iI1RyaWFuZ2xlMiIvPg0KKyAgICA8dXNlIGhyZWY9IiNUcmlhbmdsZTEiLz4NCisgICAgPHVzZSBocmVmPSIjVHJpYW5nbGUyIi8+DQorICA8L3RleHQ+DQorDQorPC9zdmc+DQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L1NWRy90cmFuc2Zvcm0ueG1sIGIvbGlieG1sMi90ZXN0L1NWRy90cmFuc2Zvcm0ueG1sCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjEzMDc1ZWUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvU1ZHL3RyYW5zZm9ybS54bWwKQEAgLTAsMCArMSwyNiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pg0KKzwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgQXByaWwgMTk5OS8vRU4iIA0KKyAgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy9zdmctMTk5OTA0MTIuZHRkIj4NCis8c3ZnIHdpZHRoPSI0aW4iIGhlaWdodD0iM2luIj4NCisgIDxkZXNjPkRlbW9uc3RyYXRpb24gb2YgY29vcmRpbmF0ZSB0cmFuc2Zvcm1zDQorICA8L2Rlc2M+DQorICA8IS0tIFRoZSBmb2xsb3dpbmcgdHdvIHRleHQgZWxlbWVudHMgd2lsbCBib3RoIGRyYXcgd2l0aCBhIA0KKyAgICAgICAgZm9udCBoZWlnaHQgb2YgMTIgcGl4ZWxzIC0tPg0KKyAgIDx0ZXh0IHN0eWxlPSJmb250LXNpemU6IDEyIj5UaGlzIHByaW50cyAxMiBwaXhlbHMgaGlnaC48L3RleHQ+DQorICAgPHRleHQgc3R5bGU9ImZvbnQtc2l6ZTogMTJweCI+VGhpcyBwcmludHMgMTIgcGl4ZWxzIGhpZ2guPC90ZXh0Pg0KKw0KKyAgIDwhLS0gTm93IHNjYWxlIHRoZSBjb29yZGluYXRlIHN5c3RlbSBieSAyLiAtLT4NCisgICA8ZyBzdHlsZT0idHJhbnNmb3JtOiBzY2FsZSgyKSI+DQorDQorICAgICAgPCEtLSBUaGUgZm9sbG93aW5nIHRleHQgd2lsbCBhY3R1YWxseSBkcmF3IDI0IHBpeGVscyBoaWdoDQorICAgICAgICAgICBiZWNhdXNlIGVhY2ggdW5pdCBpbiB0aGUgbmV3IGNvb3JkaW5hdGUgc3lzdGVtIGVxdWFscw0KKyAgICAgICAgICAgMiB1bml0cyBpbiB0aGUgcHJldmlvdXMgY29vcmRpbmF0ZSBzeXN0ZW0uIC0tPg0KKyAgICAgIDx0ZXh0IHN0eWxlPSJmb250LXNpemU6IDEyIj5UaGlzIHByaW50cyAyNCBwaXhlbHMgaGlnaC48L3RleHQ+DQorDQorICAgICAgPCEtLSBUaGUgZm9sbG93aW5nIHRleHQgd2lsbCBhY3R1YWxseSBzdGlsbCBkcmF3IDEyIHBpeGVscyBoaWdoDQorICAgICAgICAgICBiZWNhdXNlIHRoZSBDU1MgdW5pdCBzcGVjaWZpZXIgaGFzIGJlZW4gcHJvdmlkZWQuIC0tPg0KKyAgICAgIDx0ZXh0IHN0eWxlPSJmb250LXNpemU6IDEycHgiPlRoaXMgcHJpbnRzIDEyIHBpeGVscyBoaWdoLjwvdGV4dD4NCisNCisgICA8L2c+DQorDQorPC9zdmc+DQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L1NWRy90cml2aWFsLnhtbCBiL2xpYnhtbDIvdGVzdC9TVkcvdHJpdmlhbC54bWwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYjYxMjJiZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9TVkcvdHJpdmlhbC54bWwKQEAgLTAsMCArMSw2IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIHN0YW5kYWxvbmU9InllcyI/Pg0KKzxzdmcgd2lkdGg9IjRpbiIgaGVpZ2h0PSIzaW4iDQorIHhtbG5zID0gJ2h0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy9zdmctMTk5OTA0MTIuZHRkJz4NCisgPCEtLSBJbnNlcnQgZHJhd2luZyBlbGVtZW50cyBoZXJlIC0tPg0KKzwvc3ZnPg0KKw0KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9TVkcvdHdpbi1ncmFkaWVudHMueG1sIGIvbGlieG1sMi90ZXN0L1NWRy90d2luLWdyYWRpZW50cy54bWwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNjIxM2YxYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9TVkcvdHdpbi1ncmFkaWVudHMueG1sCkBAIC0wLDAgKzEsMTkgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgc3RhbmRhbG9uZT0ibm8iPz4NCis8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIEFwcmlsIDE5OTkvL0VOIiANCisgICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvc3ZnLTE5OTkwNDEyLmR0ZCI+DQorPHN2ZyB3aWR0aD0iNGluIiBoZWlnaHQ9IjNpbiI+DQorICA8ZGVzYz5HcmFkaWVudHMgYXBwbHkgdG8gbGVhZiBub2Rlcw0KKyAgPC9kZXNjPg0KKyAgPGc+DQorICAgIDxkZWZzPg0KKyAgICAgIDxsaW5lYXJncmFkaWVudCBpZD0iTXlHcmFkaWVudCI+DQorICAgICAgICA8Z3JhZGllbnRzdG9wIG9mZnNldD0iMCUiIGNvbG9yPSIjRjYwIi8+DQorICAgICAgICA8Z3JhZGllbnRzdG9wIG9mZnNldD0iNzAlIiBjb2xvcj0iI0ZGNiIvPg0KKyAgICAgIDwvbGluZWFyZ3JhZGllbnQ+DQorICAgIDwvZGVmcz4NCisgICAgPGcgc3R5bGU9ImZpbGw6IHVybCgjTXlHcmFkaWVudCkiPg0KKyAgICAgIDxyZWN0IHdpZHRoPSIyMCIgaGVpZ2h0PSIxNS44Ii8+DQorICAgICAgPHJlY3Qgd2lkdGg9IjM1IiBoZWlnaHQ9IjgiLz4NCisgICA8L2c+DQorICA8L2c+DQorPC9zdmc+DQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L1NWRy92LXRlbXBsYXRlLnhtbCBiL2xpYnhtbDIvdGVzdC9TVkcvdi10ZW1wbGF0ZS54bWwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDg2NDNkNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9TVkcvdi10ZW1wbGF0ZS54bWwKQEAgLTAsMCArMSw5IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIHN0YW5kYWxvbmU9Im5vIj8+DQorPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyBBcHJpbCAxOTk5Ly9FTiIgDQorICAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHL3N2Zy0xOTk5MDQxMi5kdGQiPg0KKzxzdmcgd2lkdGg9IjRpbiIgaGVpZ2h0PSIzaW4iPg0KKyAgPGRlc2M+DQorICA8L2Rlc2M+DQorICA8Zz4NCisgIDwvZz4NCis8L3N2Zz4NCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvU1ZHL3ZpZXdwb3J0LW5lc3QueG1sIGIvbGlieG1sMi90ZXN0L1NWRy92aWV3cG9ydC1uZXN0LnhtbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45ODFhN2FjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L1NWRy92aWV3cG9ydC1uZXN0LnhtbApAQCAtMCwwICsxLDEzIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIHN0YW5kYWxvbmU9Im5vIj8+DQorPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyBBcHJpbCAxOTk5Ly9FTiIgDQorICAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHL3N2Zy0xOTk5MDQxMi5kdGQiPg0KKzxzdmcgd2lkdGg9IjRpbiIgaGVpZ2h0PSIzaW4iPg0KKyAgPGRlc2M+VGhpcyBTVkcgZHJhd2luZyBlbWJlZHMgYW5vdGhlciBvbmUsDQorICAgIHRodXMgZXN0YWJsaXNoaW5nIGEgbmV3IHZpZXdwb3J0DQorICA8L2Rlc2M+DQorICA8IS0tIFRoZSBmb2xsb3dpbmcgc3RhdGVtZW50IGVzdGFibGlzaGluZyBhIG5ldyB2aWV3cG9ydA0KKyAgICAgICBhbmQgcmVuZGVycyBTVkcgZHJhd2luZyBCIGludG8gdGhhdCB2aWV3cG9ydCAtLT4NCisgIDxzdmcgc3R5bGU9ImxlZnQ6IDI1JTsgdG9wOiAyNSUiIHdpZHRoPSI1MCUiIGhlaWdodD0iNTAlIj4NCisgICAgIDwhLS0gZHJhd2luZyBCIGdvZXMgaGVyZSAtLT4NCisgIDwvc3ZnPg0KKzwvc3ZnPg0KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9TVkcvdmlld3BvcnQtdHJhbnNmb3JtLnhtbCBiL2xpYnhtbDIvdGVzdC9TVkcvdmlld3BvcnQtdHJhbnNmb3JtLnhtbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lMjQzNGJkCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L1NWRy92aWV3cG9ydC10cmFuc2Zvcm0ueG1sCkBAIC0wLDAgKzEsNDYgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgc3RhbmRhbG9uZT0ibm8iPz4NCis8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIEFwcmlsIDE5OTkvL0VOIiANCisgICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvc3ZnLTE5OTkwNDEyLmR0ZCI+DQorPHN2ZyB3aWR0aD0iMzAwcHgiIGhlaWdodD0iM29vcHgiPg0KKyAgPGRlc2M+VHJhbnNmb3JtYXRpb24gd2l0aCBlc3RhYmxpc2htZW50IG9mIGEgbmV3IHZpZXdwb3J0DQorICA8L2Rlc2M+DQorICA8IS0tIFRoZSBmb2xsb3dpbmcgdHdvIHRleHQgZWxlbWVudHMgd2lsbCBib3RoIGRyYXcgd2l0aCBhIA0KKyAgICAgICAgZm9udCBoZWlnaHQgb2YgMTIgcGl4ZWxzIC0tPg0KKyAgIDx0ZXh0IHN0eWxlPSJmb250LXNpemU6IDEyIj5UaGlzIHByaW50cyAxMiBwaXhlbHMgaGlnaC48L3RleHQ+DQorICAgPHRleHQgc3R5bGU9ImZvbnQtc2l6ZTogMTJweCI+VGhpcyBwcmludHMgMTIgcGl4ZWxzIGhpZ2guPC90ZXh0Pg0KKw0KKyAgIDwhLS0gTm93IHNjYWxlIHRoZSBjb29yZGluYXRlIHN5c3RlbSBieSAyLiAtLT4NCisgICA8ZyBzdHlsZT0idHJhbnNmb3JtOiBzY2FsZSgyKSI+DQorDQorICAgICAgPCEtLSBUaGUgZm9sbG93aW5nIHRleHQgd2lsbCBhY3R1YWxseSBkcmF3IDI0IHBpeGVscyBoaWdoDQorICAgICAgICAgICBiZWNhdXNlIGVhY2ggdW5pdCBpbiB0aGUgbmV3IGNvb3JkaW5hdGUgc3lzdGVtIGVxdWFscw0KKyAgICAgICAgICAgMiB1bml0cyBpbiB0aGUgcHJldmlvdXMgY29vcmRpbmF0ZSBzeXN0ZW0uIC0tPg0KKyAgICAgIDx0ZXh0IHN0eWxlPSJmb250LXNpemU6IDEyIj5UaGlzIHByaW50cyAyNCBwaXhlbHMgaGlnaC48L3RleHQ+DQorDQorICAgICAgPCEtLSBUaGUgZm9sbG93aW5nIHRleHQgd2lsbCBhY3R1YWxseSBzdGlsbCBkcmF3IDEyIHBpeGVscyBoaWdoDQorICAgICAgICAgICBiZWNhdXNlIHRoZSBDU1MgdW5pdCBzcGVjaWZpZXIgaGFzIGJlZW4gcHJvdmlkZWQuIC0tPg0KKyAgICAgIDx0ZXh0IHN0eWxlPSJmb250LXNpemU6IDEycHgiPlRoaXMgcHJpbnRzIDEyIHBpeGVscyBoaWdoLjwvdGV4dD4NCisgICA8L2c+DQorDQorICAgPCEtLSBUaGlzIHRpbWUsIHNjYWxlIHRoZSBjb29yZGluYXRlIHN5c3RlbSBieSAzLiAtLT4NCisgICA8ZyBzdHlsZT0idHJhbnNmb3JtOiBzY2FsZSgzKSI+DQorDQorICAgICAgPCEtLSBFc3RhYmxpc2ggYSBuZXcgdmlld3BvcnQgYW5kIHRodXMgY2hhbmdlIHRoZSBtZWFuaW5nIG9mDQorICAgICAgICAgICBzb21lIENTUyB1bml0IHNwZWNpZmllcnMuIC0tPg0KKyAgICAgIDxzdmcgc3R5bGU9ImxlZnQ6MDsgdG9wOjA7IHJpZ2h0OjEwMDsgYm90dG9tOjEwMCIgDQorICAgICAgICAgICB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIj4NCisNCisgICAgICAgICA8IS0tIFRoZSBmb2xsb3dpbmcgdHdvIHRleHQgZWxlbWVudHMgd2lsbCBib3RoIGRyYXcgd2l0aCBhIA0KKyAgICAgICAgICAgICAgZm9udCBoZWlnaHQgb2YgMzYgc2NyZWVuIHBpeGVscy4gVGhlIGZpcnN0IHRleHQgZWxlbWVudA0KKyAgICAgICAgICAgICAgZGVmaW5lcyBpdHMgaGVpZ2h0IGluIHVzZXIgY29vcmRpbmF0ZXMsIHdoaWNoIGhhdmUgYmVlbg0KKyAgICAgICAgICAgICAgc2NhbGVkIGJ5IDMuIFRoZSBzZWNvbmQgdGV4dCBlbGVtZW50IGRlZmluZXMgaXRzIGhlaWdodA0KKyAgICAgICAgICAgICAgaW4gQ1NTIHB4IHVuaXRzLCB3aGljaCBoYXZlIGJlZW4gcmVkZWZpbmVkIHRvIGJlIHRocmVlIHRpbWVzDQorICAgICAgICAgICAgICBhcyBiaWcgYXMgc2NyZWVuIHBpeGVscyBkdWUgdGhlIDxzdmc+IGVsZW1lbnQgZXN0YWJsaXNoaW5nDQorICAgICAgICAgICAgICBhIG5ldyB2aWV3cG9ydC4gLS0+DQorICAgICAgICAgPHRleHQgc3R5bGU9ImZvbnQtc2l6ZTogMTIiPlRoaXMgcHJpbnRzIDM2IHBpeGVscyBoaWdoLjwvdGV4dD4NCisgICAgICAgICA8dGV4dCBzdHlsZT0iZm9udC1zaXplOiAxMnB4Ij5UaGlzIHByaW50cyAzNiBwaXhlbHMgaGlnaC48L3RleHQ+DQorDQorICAgICAgPC9zdmc+DQorICAgPC9nPg0KKw0KKzwvc3ZnPg0KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9TVkcvdmlld3BvcnQueG1sIGIvbGlieG1sMi90ZXN0L1NWRy92aWV3cG9ydC54bWwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMDkyM2ZhZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9TVkcvdmlld3BvcnQueG1sCkBAIC0wLDAgKzEsMTEgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgc3RhbmRhbG9uZT0ieWVzIj8+DQorPHBhcmVudCB4bWxucz0iaHR0cDovL3NvbWUudXJsIj4NCisgICANCisgICA8IS0tIFNWRyBncmFwaGljIC0tPg0KKyAgIDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy9zdmctMTk5OTA0MTIuZHRkJw0KKyAgICAgIHdpZHRoPSIxMDBweCIgaGVpZ2h0PSIyMDBweCI+DQorICAgICAgPHBhdGggZD0iTTEwMCwxMDAgUTIwMCw0MDAsMzAwLDEwMCIvPg0KKyAgICAgIDwhLS0gcmVzdCBvZiBTVkcgZ3JhcGhpYyB3b3VsZCBnbyBoZXJlIC0tPg0KKyAgIDwvc3ZnPiAgIA0KKyAgIA0KKzwvcGFyZW50Pg0KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9TVkcvd2YtdGVtcGxhdGUueG1sIGIvbGlieG1sMi90ZXN0L1NWRy93Zi10ZW1wbGF0ZS54bWwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjFjYWQ4NQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9TVkcvd2YtdGVtcGxhdGUueG1sCkBAIC0wLDAgKzEsNyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJ5ZXMiPz4NCis8c3ZnIHdpZHRoPSI0aW4iIGhlaWdodD0iM2luIg0KKyB4bWxucyA9ICdodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvc3ZnLTE5OTkwNDEyLmR0ZCc+DQorICA8ZGVzYz4NCisgIDwvZGVzYz4NCisNCis8L3N2Zz4NCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvVVJJL3NtaXRoLnVyaSBiL2xpYnhtbDIvdGVzdC9VUkkvc21pdGgudXJpCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZjYzZjODcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvVVJJL3NtaXRoLnVyaQpAQCAtMCwwICsxLDE1IEBACisvZm9vLy4uL2JhcgorZm9vLy4uL2JhcgorLi9mb28vLi4vYmFyCitmb28vLi8uLi9iYXIKK2Zvby9iYXIvLi4vLi8uLi9iYXoKK2Zvby8uLgorZm9vL2Jhci8uLgorLi9mb28KKy4vLi9mb28KKy4uLy4vZm9vLi8KKy4uLy4vZm9vLy4KKy9mb28KKy4uL2ZvbworLi4vLi4vZm9vCisuLi8uLi8uLi9mb28KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9VUkkvdXJpLmRhdGEgYi9saWJ4bWwyL3Rlc3QvVVJJL3VyaS5kYXRhCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE5NmVhNWYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvVVJJL3VyaS5kYXRhCkBAIC0wLDAgKzEsMTggQEAKKworLgorYmFyCitiYXIjYmF6CitiYXI/YmF6CitiYXI/YmF6I2JhejIKKyNiYXoKKz9iYXoKKz9iYXojYmF6MgorLi4vdXAuYS5ub3RjaC5odG1sI3dvdworLi4vdXAuYS5ub3RjaC5odG1sP3dvdworLi4vdXAuYS5ub3RjaC5odG1sP3dvdyN3b3cyCisvcm9vdC5jZ2kjT0sKKy9yb290LmNnaT9PSworL3Jvb3QuY2dpP09LI09LMgoraHR0cDovL2Vsc2V3aGVyZS5jb20vI2RlZXAKK2h0dHA6Ly9lbHNld2hlcmUuY29tLz9kZWVwCitodHRwOi8vZWxzZXdoZXJlLmNvbS8/ZGVlcCNkZWVwMgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L1ZDL0F0dHJpYnV0ZURlZmF1bHRMZWdhbCBiL2xpYnhtbDIvdGVzdC9WQy9BdHRyaWJ1dGVEZWZhdWx0TGVnYWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDcxZWIyMAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9WQy9BdHRyaWJ1dGVEZWZhdWx0TGVnYWwKQEAgLTAsMCArMSwxMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IURPQ1RZUEUgZG9jIFsKKzwhRUxFTUVOVCBkb2MgKCNQQ0RBVEEpPgorPCFBVFRMSVNUIGRvYyBBdCBOTVRPS0VOICIkJCQiPgorPCFBVFRMSVNUIGRvYyBPayBOTVRPS0VOICIxYWJjXzIiPgorPCFBVFRMSVNUIGRvYyBiYWQgSURSRUYgIjFhYmNfMiI+Cis8IUFUVExJU1QgZG9jIG9rMiBJRFJFRiAiYWJjXzIiPgorPCFBVFRMSVNUIGRvYyBiYWQyIElEUkVGUyAiYWJjOjEgMWFiY18yIj4KKzwhQVRUTElTVCBkb2Mgb2szIElEUkVGUyAiYWJjOjEgYTFiY18yIj4KK10+Cis8ZG9jIHZhbD0idjEiLz4KKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L1ZDL0F0dHJpYnV0ZU5tdG9rZW5zIGIvbGlieG1sMi90ZXN0L1ZDL0F0dHJpYnV0ZU5tdG9rZW5zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg3MTBkZTQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvVkMvQXR0cmlidXRlTm10b2tlbnMKQEAgLTAsMCArMSw2IEBACis8IURPQ1RZUEUgdGVzdCBbCisJPCFFTEVNRU5UIHRlc3QgRU1QVFk+CisJPCFBVFRMSVNUIHRlc3QgYXR0cjEgTk1UT0tFTlMgI0lNUExJRUQ+CitdPgorPCEtLSBTaG91bGQgYmUgaW52YWxpZCBkdWUgdG8gaHR0cDovL3d3dy53My5vcmcvWE1ML3htbC1WMTAtMmUtZXJyYXRhI0UyMCAtLT4KKzx0ZXN0IGF0dHIxPSIgYSYjeDk7YiAiLz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9WQy9EdXBsaWNhdGVUeXBlIGIvbGlieG1sMi90ZXN0L1ZDL0R1cGxpY2F0ZVR5cGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGIyODgwNAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9WQy9EdXBsaWNhdGVUeXBlCkBAIC0wLDAgKzEsNSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IURPQ1RZUEUgYSBbCis8IUVMRU1FTlQgYSAoI1BDREFUQSB8IGIgfCBjIHwgZCB8IGMpKj4KK10+Cis8YT4gdmlvbGF0ZXMgWyBWQzogTm8gRHVwbGljYXRlIFR5cGVzIF0gPC9hPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L1ZDL0VsZW1lbnRWYWxpZCBiL2xpYnhtbDIvdGVzdC9WQy9FbGVtZW50VmFsaWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzI5N2NlNgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9WQy9FbGVtZW50VmFsaWQKQEAgLTAsMCArMSwzIEBACis8IURPQ1RZUEUgZG9jIFsKK10+Cis8ZG9jLz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9WQy9FbGVtZW50VmFsaWQyIGIvbGlieG1sMi90ZXN0L1ZDL0VsZW1lbnRWYWxpZDIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjcyYTBmNQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9WQy9FbGVtZW50VmFsaWQyCkBAIC0wLDAgKzEsNCBAQAorPCFET0NUWVBFIGRvYyBbCis8IUVMRU1FTlQgZG9jIChwKSo+CitdPgorPGRvYz48cC8+PC9kb2M+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvVkMvRWxlbWVudFZhbGlkMyBiL2xpYnhtbDIvdGVzdC9WQy9FbGVtZW50VmFsaWQzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY3Y2JhYjQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvVkMvRWxlbWVudFZhbGlkMwpAQCAtMCwwICsxLDQgQEAKKzwhRE9DVFlQRSBkb2MgWworPCFFTEVNRU5UIGRvYyBFTVBUWT4KK10+Cis8ZG9jPk9vcHMsIHRoaXMgZWxlbWVudCB3YXMgZGVjbGFyZWQgRU1QVFk8L2RvYz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9WQy9FbGVtZW50VmFsaWQ0IGIvbGlieG1sMi90ZXN0L1ZDL0VsZW1lbnRWYWxpZDQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTZkZjU1YQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9WQy9FbGVtZW50VmFsaWQ0CkBAIC0wLDAgKzEsNyBAQAorPCFET0NUWVBFIGRvYyBbCis8IUVMRU1FTlQgZG9jICgjUENEQVRBIHwgYSB8IGIpKj4KKzwhRUxFTUVOVCBhIEVNUFRZPgorPCFFTEVNRU5UIGIgKCNQQ0RBVEEpPgorPCFFTEVNRU5UIGMgKCNQQ0RBVEEpPgorXT4KKzxkb2M+IFRoaXMgPGI+c2VlbXM8L2I+IE9rIDxhLz4gYnV0IHRoaXMgPGM+d2FzIG5vdCBkZWNsYXJlZDwvYz48L2RvYz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9WQy9FbGVtZW50VmFsaWQ1IGIvbGlieG1sMi90ZXN0L1ZDL0VsZW1lbnRWYWxpZDUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmNlZjNjNAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9WQy9FbGVtZW50VmFsaWQ1CkBAIC0wLDAgKzEsNyBAQAorPCFET0NUWVBFIGRvYyBbCis8IUVMRU1FTlQgZG9jIChhICwgYiogLCBjKyk+Cis8IUVMRU1FTlQgYSBFTVBUWT4KKzwhRUxFTUVOVCBiICgjUENEQVRBKT4KKzwhRUxFTUVOVCBjICgjUENEQVRBKT4KK10+Cis8ZG9jPjxhLz48Yj4gYnV0IHRoaXM8L2I+PGM+d2FzIG5vdCBkZWNsYXJlZDwvYz48Yj5zZWVtczwvYj48L2RvYz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9WQy9FbGVtZW50VmFsaWQ2IGIvbGlieG1sMi90ZXN0L1ZDL0VsZW1lbnRWYWxpZDYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmJmNzIxZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9WQy9FbGVtZW50VmFsaWQ2CkBAIC0wLDAgKzEsNyBAQAorPCFET0NUWVBFIGRvYyBbCis8IUVMRU1FTlQgZG9jIChhICwgYj8gLCBjKyk/PgorPCFFTEVNRU5UIGEgRU1QVFk+Cis8IUVMRU1FTlQgYiAoI1BDREFUQSk+Cis8IUVMRU1FTlQgYyAoI1BDREFUQSk+CitdPgorPGRvYz48YS8+PGI+bGFja3MgYzwvYj48L2RvYz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9WQy9FbGVtZW50VmFsaWQ3IGIvbGlieG1sMi90ZXN0L1ZDL0VsZW1lbnRWYWxpZDcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTg4MTE1ZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9WQy9FbGVtZW50VmFsaWQ3CkBAIC0wLDAgKzEsNyBAQAorPCFET0NUWVBFIGRvYyBbCis8IUVMRU1FTlQgZG9jICgoYSB8IGIpKiAsIGMrLCBhLCBiPywgYywgYT8pPgorPCFFTEVNRU5UIGEgRU1QVFk+Cis8IUVMRU1FTlQgYiAoI1BDREFUQSk+Cis8IUVMRU1FTlQgYyAoI1BDREFUQSk+CitdPgorPGRvYz48YS8+PGIvPjxhLz48Yy8+PGMvPjxhLz48L2RvYz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9WQy9FbGVtZW50VmFsaWQ4IGIvbGlieG1sMi90ZXN0L1ZDL0VsZW1lbnRWYWxpZDgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWZkMjA0NAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9WQy9FbGVtZW50VmFsaWQ4CkBAIC0wLDAgKzEsNyBAQAorPCFET0NUWVBFIGRvYyBbCis8IUVMRU1FTlQgZG9jICgoYSwgYil8IChhLCBjKSk+Cis8IUVMRU1FTlQgYSBFTVBUWT4KKzwhRUxFTUVOVCBiICgjUENEQVRBKT4KKzwhRUxFTUVOVCBjICgjUENEQVRBKT4KK10+Cis8ZG9jPjxhLz48Yz4gZG9jIGlzIG5vbi1kZXRlcm1pbmlzdGljIDwvYz48L2RvYz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9WQy9FbnVtZXJhdGlvbiBiL2xpYnhtbDIvdGVzdC9WQy9FbnVtZXJhdGlvbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YzYzOTY4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L1ZDL0VudW1lcmF0aW9uCkBAIC0wLDAgKzEsNSBAQAorPCFET0NUWVBFIGRvYyBbCis8IUVMRU1FTlQgZG9jICgjUENEQVRBKT4KKzwhQVRUTElTVCBkb2MgdmFsICh2MSB8IHYyIHwgdjMpICNJTVBMSUVEPgorXT4KKzxkb2MgdmFsPSJ2NCI+PC9kb2M+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvVkMvTlMxIGIvbGlieG1sMi90ZXN0L1ZDL05TMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZjc0NDYzCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L1ZDL05TMQpAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgbnM6ZG9jIFsKKzwhRUxFTUVOVCBuczpkb2MgKCNQQ0RBVEEgfCBuczphIHwgbnM6YikqPgorPCFBVFRMSVNUIG5zOmRvYworICAgICAgICAgIG5zOmF0dHIgIENEQVRBICNSRVFVSVJFRAorICAgICAgICAgIHhtbG5zOm5zIENEQVRBICNJTVBMSUVEPgorPCFFTEVNRU5UIG5zOmEgRU1QVFk+Cis8IUVMRU1FTlQgbnM6YiAoI1BDREFUQSk+CitdPgorPG5zOmRvYyBuczphdHRyPSJ2YWwiIHhtbG5zOm5zPSJodHRwOi8vd3d3LmV4YW1wbGUub3JnL3Rlc3QvIj4KKyAgIDxuczphLz4KKyAgIDxuczpiPmZpcnN0IGxpbmU8L25zOmI+CisgICA8bnM6Yj5zZWNvbmQgbGluZTwvbnM6Yj4KKzwvbnM6ZG9jPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L1ZDL05TMiBiL2xpYnhtbDIvdGVzdC9WQy9OUzIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDc0OGQxYQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9WQy9OUzIKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIGRvYyBbCis8IUVMRU1FTlQgZG9jICgjUENEQVRBIHwgbnM6YSB8IG5zOmIpKj4KKzwhQVRUTElTVCBkb2MKKyAgICAgICAgICBhdHRyICBDREFUQSAjUkVRVUlSRUQKKyAgICAgICAgICB4bWxuczpucyBDREFUQSAjSU1QTElFRD4KKzwhRUxFTUVOVCBhIEVNUFRZPgorPCFFTEVNRU5UIGIgKCNQQ0RBVEEpPgorXT4KKzxuczpkb2MgbnM6YXR0cj0idmFsIiB4bWxuczpucz0iaHR0cDovL3d3dy5leGFtcGxlLm9yZy90ZXN0LyI+CisgICA8bnM6YS8+CisgICA8bnM6Yj5maXJzdCBsaW5lPC9uczpiPgorICAgPG5zOmI+c2Vjb25kIGxpbmU8L25zOmI+Cis8L25zOmRvYz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9WQy9OUzMgYi9saWJ4bWwyL3Rlc3QvVkMvTlMzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY1M2IwY2EKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvVkMvTlMzCkBAIC0wLDAgKzEsOSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiA/PgorPCFET0NUWVBFIGZvbyBbCis8IUVMRU1FTlQgZm9vIEVNUFRZPgorPCFBVFRMSVNUIGZvbworICAgIHhtbG5zIENEQVRBICNGSVhFRCAiaHR0cDovL2V4YW1wbGUuY29tL2Zvb28iCisgICAgeG1sbnM6Zm9vIENEQVRBICNSRVFVSVJFRAorICAgIGZvbzppbmZvIENEQVRBICNJTVBMSUVEPgorXT4KKzxmb28geG1sbnM9Imh0dHA6Ly9leGFtcGxlLmNvbS9mb28iIHhtbG5zOmZvbz0iaHR0cDovL2V4YW1wbGUuY29tL2ZvIiBmb286aW5mbz0idG90byIvPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L1ZDL09uZUlEIGIvbGlieG1sMi90ZXN0L1ZDL09uZUlECm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU5Y2JjMGMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvVkMvT25lSUQKQEAgLTAsMCArMSw2IEBACis8IURPQ1RZUEUgZG9jIFsKKzwhRUxFTUVOVCBkb2MgKCNQQ0RBVEEpPgorPCFBVFRMSVNUIGRvYyB2YWwgSUQgI0lNUExJRUQ+Cis8IUFUVExJU1QgZG9jIGlkIElEICNJTVBMSUVEPgorXT4KKzxkb2MgdmFsPSJ2MSI+PC9kb2M+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvVkMvT25lSUQyIGIvbGlieG1sMi90ZXN0L1ZDL09uZUlEMgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZmE5ZDFmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L1ZDL09uZUlEMgpAQCAtMCwwICsxLDYgQEAKKzwhRE9DVFlQRSBkb2MgWworPCFBVFRMSVNUIGRvYyB2YWwgSUQgI0lNUExJRUQ+Cis8IUFUVExJU1QgZG9jIGlkIElEICNJTVBMSUVEPgorPCFFTEVNRU5UIGRvYyAoI1BDREFUQSk+CitdPgorPGRvYyB2YWw9InYxIj48L2RvYz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9WQy9PbmVJRDMgYi9saWJ4bWwyL3Rlc3QvVkMvT25lSUQzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk2OTY3MzYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvVkMvT25lSUQzCkBAIC0wLDAgKzEsNCBAQAorPCFET0NUWVBFIGRvYyBTWVNURU0gImR0ZHMvZG9jLmR0ZCIgWworPCFBVFRMSVNUIGRvYyBpZCBJRCAjSU1QTElFRD4KK10+Cis8ZG9jIHZhbD0idjEiPjwvZG9jPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L1ZDL1BFTmVzdGluZyBiL2xpYnhtbDIvdGVzdC9WQy9QRU5lc3RpbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTczMzJhZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9WQy9QRU5lc3RpbmcKQEAgLTAsMCArMSwyIEBACis8IUVOVElUWSAlIHBlMSAiRU1QVFk+IDwhRUxFTUVOVCBlMiBFTVBUWT4iPiAKKzwhRUxFTUVOVCBlMSAlcGUxOyAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9WQy9QRU5lc3RpbmcyIGIvbGlieG1sMi90ZXN0L1ZDL1BFTmVzdGluZzIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjdiMGNjYQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9WQy9QRU5lc3RpbmcyCkBAIC0wLDAgKzEsMyBAQAorPCFFTlRJVFkgJSBwMSAiKEF8QiI+Cis8IUVOVElUWSAlIHAyICJ8Q3xEKSI+Cis8IUVMRU1FTlQgWCAlcDE7JXAyOz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9WQy9VbmlxdWVFbGVtZW50VHlwZURlY2xhcmF0aW9uIGIvbGlieG1sMi90ZXN0L1ZDL1VuaXF1ZUVsZW1lbnRUeXBlRGVjbGFyYXRpb24KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjI0NmYxNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9WQy9VbmlxdWVFbGVtZW50VHlwZURlY2xhcmF0aW9uCkBAIC0wLDAgKzEsNyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IURPQ1RZUEUgYSBTWVNURU0gImR0ZHMvYS5kdGQiIFsKKzwhRUxFTUVOVCBhICgjUENEQVRBIHwgYiB8IGMpKj4KKzwhRUxFTUVOVCBiICgjUENEQVRBKT4KKzwhRUxFTUVOVCBjICgjUENEQVRBKT4KK10+Cis8YT4gdmlvbGF0ZXMgWyBWQzogVW5pcXVlIEVsZW1lbnQgVHlwZSBEZWNsYXJhdGlvbiBdIDwvYT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9WQy9VbmlxdWVFbGVtZW50VHlwZURlY2xhcmF0aW9uMiBiL2xpYnhtbDIvdGVzdC9WQy9VbmlxdWVFbGVtZW50VHlwZURlY2xhcmF0aW9uMgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wODA1ZjhkCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L1ZDL1VuaXF1ZUVsZW1lbnRUeXBlRGVjbGFyYXRpb24yCkBAIC0wLDAgKzEsOCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IURPQ1RZUEUgYSBbCis8IUVMRU1FTlQgYSAoI1BDREFUQSB8IGIgfCBjKSo+Cis8IUVMRU1FTlQgYiAoI1BDREFUQSk+Cis8IUVMRU1FTlQgYyAoI1BDREFUQSk+Cis8IUVMRU1FTlQgYSAoI1BDREFUQSB8IGIgfCBjKSo+CitdPgorPGE+IHZpb2xhdGVzIFsgVkM6IFVuaXF1ZSBFbGVtZW50IFR5cGUgRGVjbGFyYXRpb24gXSA8L2E+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvVkMvZHRkcy9hLmR0ZCBiL2xpYnhtbDIvdGVzdC9WQy9kdGRzL2EuZHRkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI4NTcxYTQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvVkMvZHRkcy9hLmR0ZApAQCAtMCwwICsxLDIgQEAKKzwhRUxFTUVOVCBhICgjUENEQVRBIHwgYiB8IGMpKj4KKzwhQVRUTElTVCBkb2MgaWQgSUQgI0lNUExJRUQ+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvVkMvZHRkcy9kb2MuZHRkIGIvbGlieG1sMi90ZXN0L1ZDL2R0ZHMvZG9jLmR0ZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MWY4YjQxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L1ZDL2R0ZHMvZG9jLmR0ZApAQCAtMCwwICsxLDIgQEAKKzwhRUxFTUVOVCBkb2MgKCNQQ0RBVEEpPgorPCFBVFRMSVNUIGRvYyB2YWwgSUQgI0lNUExJRUQ+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvVkNNLzIxLnhtbCBiL2xpYnhtbDIvdGVzdC9WQ00vMjEueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc4Yzg3MTMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvVkNNLzIxLnhtbApAQCAtMCwwICsxLDggQEAKKzwhRE9DVFlQRSBkb2MgWworPCFFTEVNRU5UIGRvYyAoYSwgKGIgfCBjKSosIGQqKT8gPgorPCFFTEVNRU5UIGEgRU1QVFk+Cis8IUVMRU1FTlQgYiBFTVBUWT4KKzwhRUxFTUVOVCBjIEVNUFRZPgorPCFFTEVNRU5UIGQgRU1QVFk+CitdPgorPGRvYz48YS8+PGQvPjwvZG9jPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L1ZDTS9BdHRyaWJ1dGVObXRva2Vucy54bWwgYi9saWJ4bWwyL3Rlc3QvVkNNL0F0dHJpYnV0ZU5tdG9rZW5zLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NzVmODExCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L1ZDTS9BdHRyaWJ1dGVObXRva2Vucy54bWwKQEAgLTAsMCArMSwxNCBAQAorPCFET0NUWVBFIGRvYyBbCisJPCFFTEVNRU5UIGRvYyAobm9ybSspPgorCTwhRUxFTUVOVCBub3JtIEVNUFRZPgorCTwhQVRUTElTVCBub3JtIGF0dHIgTk1UT0tFTlMgI0lNUExJRUQ+CitdPgorPGRvYz4KKwk8bm9ybSBhdHRyID0gJyBmb28gYmFyCisnLz4KKwk8bm9ybSBhdHRyID0gJ2Zvb2JhcgorCisnLz4KKwk8bm9ybSBhdHRyID0gJ2ZvbwkgCWJhcgknLz4KKwk8bm9ybSBhdHRyID0gJyBmb28gJiN4MjA7YmFyJy8+Cis8L2RvYz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9WQ00vdjEueG1sIGIvbGlieG1sMi90ZXN0L1ZDTS92MS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGE3ZjY3OQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9WQ00vdjEueG1sCkBAIC0wLDAgKzEsNCBAQAorPCFET0NUWVBFIGRvYyBbCis8IUVMRU1FTlQgZG9jIEVNUFRZPgorXT4KKzxkb2MvPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L1ZDTS92MTAueG1sIGIvbGlieG1sMi90ZXN0L1ZDTS92MTAueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYyOTNhNDIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvVkNNL3YxMC54bWwKQEAgLTAsMCArMSw1IEBACis8IURPQ1RZUEUgZG9jIFsKKzwhRUxFTUVOVCBkb2MgKGEpKiA+Cis8IUVMRU1FTlQgYSBFTVBUWT4KK10+Cis8ZG9jPjwvZG9jPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L1ZDTS92MTEueG1sIGIvbGlieG1sMi90ZXN0L1ZDTS92MTEueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMxMzM1MjMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvVkNNL3YxMS54bWwKQEAgLTAsMCArMSw1IEBACis8IURPQ1RZUEUgZG9jIFsKKzwhRUxFTUVOVCBkb2MgKGEpKiA+Cis8IUVMRU1FTlQgYSBFTVBUWT4KK10+Cis8ZG9jPjxhLz48L2RvYz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9WQ00vdjEyLnhtbCBiL2xpYnhtbDIvdGVzdC9WQ00vdjEyLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZWVkM2Q2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L1ZDTS92MTIueG1sCkBAIC0wLDAgKzEsOSBAQAorPCFET0NUWVBFIGRvYyBbCis8IUVMRU1FTlQgZG9jIChhKSogPgorPCFFTEVNRU5UIGEgRU1QVFk+CitdPgorPGRvYz4KKzxhLz4KKzxhLz4KKzxhLz4KKzwvZG9jPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L1ZDTS92MTMueG1sIGIvbGlieG1sMi90ZXN0L1ZDTS92MTMueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc1ZjQzNTIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvVkNNL3YxMy54bWwKQEAgLTAsMCArMSw3IEBACis8IURPQ1RZUEUgZG9jIFsKKzwhRUxFTUVOVCBkb2MgKGEpKyA+Cis8IUVMRU1FTlQgYSBFTVBUWT4KK10+Cis8ZG9jPgorPGEvPgorPC9kb2M+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvVkNNL3YxNC54bWwgYi9saWJ4bWwyL3Rlc3QvVkNNL3YxNC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmE3MGY5ZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9WQ00vdjE0LnhtbApAQCAtMCwwICsxLDkgQEAKKzwhRE9DVFlQRSBkb2MgWworPCFFTEVNRU5UIGRvYyAoYSkrID4KKzwhRUxFTUVOVCBhIEVNUFRZPgorXT4KKzxkb2M+Cis8YS8+Cis8YS8+Cis8YS8+Cis8L2RvYz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9WQ00vdjE1LnhtbCBiL2xpYnhtbDIvdGVzdC9WQ00vdjE1LnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NzhlM2UzCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L1ZDTS92MTUueG1sCkBAIC0wLDAgKzEsOSBAQAorPCFET0NUWVBFIGRvYyBbCis8IUVMRU1FTlQgZG9jICgoYSB8IGIgfCBjKSopID4KKzwhRUxFTUVOVCBhIEVNUFRZPgorPCFFTEVNRU5UIGIgRU1QVFk+Cis8IUVMRU1FTlQgYyBFTVBUWT4KK10+Cis8ZG9jPgorPGIvPgorPC9kb2M+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvVkNNL3YxNi54bWwgYi9saWJ4bWwyL3Rlc3QvVkNNL3YxNi54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY3NjM0NwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9WQ00vdjE2LnhtbApAQCAtMCwwICsxLDggQEAKKzwhRE9DVFlQRSBkb2MgWworPCFFTEVNRU5UIGRvYyAoYSB8IGIpPgorPCFFTEVNRU5UIGEgRU1QVFk+Cis8IUVMRU1FTlQgYiBFTVBUWT4KK10+Cis8ZG9jPgorPGIvPgorPC9kb2M+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvVkNNL3YxNy54bWwgYi9saWJ4bWwyL3Rlc3QvVkNNL3YxNy54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmM5YzhjMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9WQ00vdjE3LnhtbApAQCAtMCwwICsxLDcgQEAKKzwhRE9DVFlQRSBkb2MgWworPCFFTEVNRU5UIGRvYyAoYT8gfCBiPykgPgorPCFFTEVNRU5UIGEgRU1QVFk+Cis8IUVMRU1FTlQgYiBFTVBUWT4KKzwhRUxFTUVOVCBjIEVNUFRZPgorXT4KKzxkb2M+PC9kb2M+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvVkNNL3YxOC54bWwgYi9saWJ4bWwyL3Rlc3QvVkNNL3YxOC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmNjYzQ0MAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9WQ00vdjE4LnhtbApAQCAtMCwwICsxLDcgQEAKKzwhRE9DVFlQRSBkb2MgWworPCFFTEVNRU5UIGRvYyAoYT8gfCBiPykgPgorPCFFTEVNRU5UIGEgRU1QVFk+Cis8IUVMRU1FTlQgYiBFTVBUWT4KKzwhRUxFTUVOVCBjIEVNUFRZPgorXT4KKzxkb2M+PGIvPjwvZG9jPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L1ZDTS92MTkueG1sIGIvbGlieG1sMi90ZXN0L1ZDTS92MTkueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE3YWFjZmYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvVkNNL3YxOS54bWwKQEAgLTAsMCArMSw3IEBACis8IURPQ1RZUEUgZG9jIFsKKzwhRUxFTUVOVCBkb2MgKGE/IHwgYispID4KKzwhRUxFTUVOVCBhIEVNUFRZPgorPCFFTEVNRU5UIGIgRU1QVFk+Cis8IUVMRU1FTlQgYyBFTVBUWT4KK10+Cis8ZG9jPjxiLz48L2RvYz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9WQ00vdjIueG1sIGIvbGlieG1sMi90ZXN0L1ZDTS92Mi54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzVjNjNhZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9WQ00vdjIueG1sCkBAIC0wLDAgKzEsNCBAQAorPCFET0NUWVBFIGRvYyBbCis8IUVMRU1FTlQgZG9jICgjUENEQVRBKT4KK10+Cis8ZG9jPnRleHQ8L2RvYz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9WQ00vdjIwLnhtbCBiL2xpYnhtbDIvdGVzdC9WQ00vdjIwLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hOWIwNTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L1ZDTS92MjAueG1sCkBAIC0wLDAgKzEsMTAgQEAKKzwhRE9DVFlQRSBkb2MgWworPCFFTEVNRU5UIGRvYyAoKGEgfCBiKSosIGMsIGIpID4KKzwhRUxFTUVOVCBhIEVNUFRZPgorPCFFTEVNRU5UIGIgRU1QVFk+Cis8IUVMRU1FTlQgYyBFTVBUWT4KK10+Cis8ZG9jPgorPGMvPgorPGIvPgorPC9kb2M+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvVkNNL3YyMS54bWwgYi9saWJ4bWwyL3Rlc3QvVkNNL3YyMS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGM4ZDkyMwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9WQ00vdjIxLnhtbApAQCAtMCwwICsxLDcgQEAKKzwhRE9DVFlQRSBkb2MgWworPCFFTEVNRU5UIGRvYyAoKGEgfCBiKSssIGMpID4KKzwhRUxFTUVOVCBhIEVNUFRZPgorPCFFTEVNRU5UIGIgRU1QVFk+Cis8IUVMRU1FTlQgYyBFTVBUWT4KK10+Cis8ZG9jPjxhLz48Yi8+PGMvPjwvZG9jPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L1ZDTS92MjIueG1sIGIvbGlieG1sMi90ZXN0L1ZDTS92MjIueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQwMzc2ZjcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvVkNNL3YyMi54bWwKQEAgLTAsMCArMSwxNSBAQAorPCFET0NUWVBFIGRvYyBbCis8IUVMRU1FTlQgZG9jIChhLCBiLCBjLCBiLCBjLCBkKSA+Cis8IUVMRU1FTlQgYSBFTVBUWT4KKzwhRUxFTUVOVCBiIEVNUFRZPgorPCFFTEVNRU5UIGMgRU1QVFk+Cis8IUVMRU1FTlQgZCBFTVBUWT4KKzwhRU5USVRZIGMgIjxjLz4iPgorPCFFTlRJVFkgYmMgIjxiLz4mYzsiPgorXT4KKzxkb2M+Cis8YS8+CismYmM7CismYmM7Cis8ZC8+Cis8L2RvYz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9WQ00vdjIzLnhtbCBiL2xpYnhtbDIvdGVzdC9WQ00vdjIzLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YWVkY2ZiCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L1ZDTS92MjMueG1sCkBAIC0wLDAgKzEsMTAgQEAKKzwhRE9DVFlQRSBkb2MgWworPCFFTEVNRU5UIGRvYyAoYT8sIChiLCBjPyk/LCBkKT4KKzwhRUxFTUVOVCBhIEVNUFRZPgorPCFFTEVNRU5UIGIgRU1QVFk+Cis8IUVMRU1FTlQgYyBFTVBUWT4KKzwhRUxFTUVOVCBkIEVNUFRZPgorXT4KKzxkb2M+Cis8ZC8+Cis8L2RvYz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9WQ00vdjI0LnhtbCBiL2xpYnhtbDIvdGVzdC9WQ00vdjI0LnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNTM2N2M0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L1ZDTS92MjQueG1sCkBAIC0wLDAgKzEsMTYgQEAKKzwhRE9DVFlQRSBkb2MgWworPCFFTEVNRU5UIGRvYyAoYT8sIChiLCBjPywgZD8pPywgKGUgfCBmIHwgZykqLCAoaCsgfCBpIHwgaispKT4KKzwhRUxFTUVOVCBhIEVNUFRZPgorPCFFTEVNRU5UIGIgRU1QVFk+Cis8IUVMRU1FTlQgYyBFTVBUWT4KKzwhRUxFTUVOVCBkIEVNUFRZPgorPCFFTEVNRU5UIGUgRU1QVFk+Cis8IUVMRU1FTlQgZiBFTVBUWT4KKzwhRUxFTUVOVCBnIEVNUFRZPgorPCFFTEVNRU5UIGggRU1QVFk+Cis8IUVMRU1FTlQgaSBFTVBUWT4KKzwhRUxFTUVOVCBqIEVNUFRZPgorXT4KKzxkb2M+Cis8aS8+Cis8L2RvYz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9WQ00vdjMueG1sIGIvbGlieG1sMi90ZXN0L1ZDTS92My54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjI1NTU4OQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9WQ00vdjMueG1sCkBAIC0wLDAgKzEsOCBAQAorPCFET0NUWVBFIGRvYyBbCis8IUVMRU1FTlQgZG9jICgjUENEQVRBKT4KK10+Cis8ZG9jPgorPD9waSB2YWx1ZT8+Cit0ZXh0Cis8IS0tIGFuZCBjb21tZW50cyAtLT4KKzwvZG9jPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L1ZDTS92NC54bWwgYi9saWJ4bWwyL3Rlc3QvVkNNL3Y0LnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOTZhZmUyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L1ZDTS92NC54bWwKQEAgLTAsMCArMSw1IEBACis8IURPQ1RZUEUgZG9jIFsKKzwhRUxFTUVOVCBkb2MgKGEpPgorPCFFTEVNRU5UIGEgRU1QVFk+CitdPgorPGRvYz48YS8+PC9kb2M+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvVkNNL3Y1LnhtbCBiL2xpYnhtbDIvdGVzdC9WQ00vdjUueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE3ZmY1YmEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvVkNNL3Y1LnhtbApAQCAtMCwwICsxLDcgQEAKKzwhRE9DVFlQRSBkb2MgWworPCFFTEVNRU5UIGRvYyAoYSk+Cis8IUVMRU1FTlQgYSBFTVBUWT4KK10+Cis8ZG9jPgorPGEvPgorPC9kb2M+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvVkNNL3Y2LnhtbCBiL2xpYnhtbDIvdGVzdC9WQ00vdjYueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkzZmE0YjgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvVkNNL3Y2LnhtbApAQCAtMCwwICsxLDkgQEAKKzwhRE9DVFlQRSBkb2MgWworPCFFTEVNRU5UIGRvYyAoYSwgYik+Cis8IUVMRU1FTlQgYSBFTVBUWT4KKzwhRUxFTUVOVCBiIEVNUFRZPgorXT4KKzxkb2M+Cis8YS8+Cis8Yi8+Cis8L2RvYz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9WQ00vdjcueG1sIGIvbGlieG1sMi90ZXN0L1ZDTS92Ny54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjQwYzQ4MAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9WQ00vdjcueG1sCkBAIC0wLDAgKzEsOCBAQAorPCFET0NUWVBFIGRvYyBbCis8IUVMRU1FTlQgZG9jIChhIHwgYik+Cis8IUVMRU1FTlQgYSBFTVBUWT4KKzwhRUxFTUVOVCBiIEVNUFRZPgorXT4KKzxkb2M+Cis8YS8+Cis8L2RvYz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9WQ00vdjgueG1sIGIvbGlieG1sMi90ZXN0L1ZDTS92OC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDIxYTFkZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9WQ00vdjgueG1sCkBAIC0wLDAgKzEsNSBAQAorPCFET0NUWVBFIGRvYyBbCis8IUVMRU1FTlQgZG9jIChhKT8gPgorPCFFTEVNRU5UIGEgRU1QVFk+CitdPgorPGRvYz48L2RvYz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9WQ00vdjkueG1sIGIvbGlieG1sMi90ZXN0L1ZDTS92OS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWM2MzllYwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9WQ00vdjkueG1sCkBAIC0wLDAgKzEsNSBAQAorPCFET0NUWVBFIGRvYyBbCis8IUVMRU1FTlQgZG9jIChhKT8gPgorPCFFTEVNRU5UIGEgRU1QVFk+CitdPgorPGRvYz48YS8+PC9kb2M+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvV0ZDL0VsZW1UeXBlTWF0Y2ggYi9saWJ4bWwyL3Rlc3QvV0ZDL0VsZW1UeXBlTWF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTFhMmRmMwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9XRkMvRWxlbVR5cGVNYXRjaApAQCAtMCwwICsxLDIgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPGE+IHZpb2xhdGVzIFsgV0ZDOiBFbGVtZW50IFR5cGUgTWF0Y2ggXSA8L2I+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvV0ZDL0VudGl0eURlY2xhcmVkIGIvbGlieG1sMi90ZXN0L1dGQy9FbnRpdHlEZWNsYXJlZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMzQyN2ExCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L1dGQy9FbnRpdHlEZWNsYXJlZApAQCAtMCwwICsxLDIgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPGE+ICZ1bmtub3duOyB2aW9sYXRlcyBbIFdGQzogRW50aXR5IERlY2xhcmVkIF0gPC9hPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L1dGQy9FbnRpdHlEZWNsYXJlZDIgYi9saWJ4bWwyL3Rlc3QvV0ZDL0VudGl0eURlY2xhcmVkMgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNmQxNmRkCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L1dGQy9FbnRpdHlEZWNsYXJlZDIKQEAgLTAsMCArMSw1IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhRE9DVFlQRSBhIFsKKzwhRU5USVRZIGUgImFuIGVudGl0eSI+CitdPgorPGE+ICZ1bmtub3duOyB2aW9sYXRlcyBbIFdGQzogRW50aXR5IERlY2xhcmVkIF0gPC9hPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L1dGQy9FbnRpdHlEZWNsYXJlZDMgYi9saWJ4bWwyL3Rlc3QvV0ZDL0VudGl0eURlY2xhcmVkMwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNjcwOTgwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L1dGQy9FbnRpdHlEZWNsYXJlZDMKQEAgLTAsMCArMSwzIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIHN0YW5kYWxvbmU9InllcyI/PgorPCFET0NUWVBFIGEgU1lTVEVNICJhLmR0ZCI+Cis8YT4gJnVua25vd247IHZpb2xhdGVzIFsgV0ZDOiBFbnRpdHkgRGVjbGFyZWQgXSA8L2E+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvV0ZDL0VudGl0eURlY2xhcmVkNCBiL2xpYnhtbDIvdGVzdC9XRkMvRW50aXR5RGVjbGFyZWQ0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE1MzU0YWMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvV0ZDL0VudGl0eURlY2xhcmVkNApAQCAtMCwwICsxLDYgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCFET0NUWVBFIGEgWworJXVua25vd247Cis8IUVOVElUWSAlIHVua25vd24gIjwhRUxFTUVOVCBhICgjUENEQVRBKT4iPgorXT4KKzxhPiB2aW9sYXRlcyBbIFdGQzogRW50aXR5IERlY2xhcmVkIF0gPC9hPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L1dGQy9FbnRpdHlEZWNsYXJlZDUgYi9saWJ4bWwyL3Rlc3QvV0ZDL0VudGl0eURlY2xhcmVkNQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMTI1MzczCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L1dGQy9FbnRpdHlEZWNsYXJlZDUKQEAgLTAsMCArMSw2IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIHN0YW5kYWxvbmU9InllcyI/PgorPCFET0NUWVBFIGEgU1lTVEVNICJhLmR0ZCIgWworJXVua25vd247Cis8IUVOVElUWSAlIHVua25vd24gIjwhRUxFTUVOVCBhICgjUENEQVRBKT4iPgorXT4KKzxhPiB2aW9sYXRlcyBbIFdGQzogRW50aXR5IERlY2xhcmVkIF0gPC9hPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L1dGQy9MZWdhbENoYXJhY3RlciBiL2xpYnhtbDIvdGVzdC9XRkMvTGVnYWxDaGFyYWN0ZXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjdmZjM4OAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9XRkMvTGVnYWxDaGFyYWN0ZXIKQEAgLTAsMCArMSwyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxhPiAmIzU7IHZpb2xhdGVzIFsgV0ZDOiBMZWdhbCBDaGFyYWN0ZXIgXSA8L2E+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvV0ZDL05vRXh0ZXJuYWxFbnRpdHlSZWYgYi9saWJ4bWwyL3Rlc3QvV0ZDL05vRXh0ZXJuYWxFbnRpdHlSZWYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDNjZDE5MgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9XRkMvTm9FeHRlcm5hbEVudGl0eVJlZgpAQCAtMCwwICsxLDUgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCFET0NUWVBFIGEgWworPCFFTlRJVFkgZXh0IFNZU1RFTSAiZXh0LmVudCI+CitdPgorPGEgYXR0PSJ3cm9uZyAmZXh0OyByZWYiPiB2aW9sYXRlcyBbIFdGQzogTm8gRXh0ZXJuYWwgRW50aXR5IFJlZmVyZW5jZXMgXSA8L2E+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvV0ZDL05vTHRJbkF0dFZhbHVlIGIvbGlieG1sMi90ZXN0L1dGQy9Ob0x0SW5BdHRWYWx1ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYzQ1OWU5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L1dGQy9Ob0x0SW5BdHRWYWx1ZQpAQCAtMCwwICsxLDUgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCFET0NUWVBFIGEgWworPCFFTlRJVFkgZXh0ICJubyA8IHdvcmtpZSI+CitdPgorPGEgYXR0PSJ3cm9uZyAmZXh0OyByZWYiPiB2aW9sYXRlcyBbIFdGQzogTm8gPCBpbiBBdHRyaWJ1dGUgVmFsdWVzIF0gPC9hPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L1dGQy9Ob1JlY3Vyc2lvbiBiL2xpYnhtbDIvdGVzdC9XRkMvTm9SZWN1cnNpb24KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTcwYjg5NwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9XRkMvTm9SZWN1cnNpb24KQEAgLTAsMCArMSw3IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhRE9DVFlQRSBkb2MgWworPCFFTlRJVFkgYSAiJmI7Ij4KKzwhRU5USVRZIGIgIiZjOyI+Cis8IUVOVElUWSBjICImYTsiPgorXT4KKzxkb2M+ICZhOyB2aW9sYXRlcyBbIFdGQzogTm8gUmVjdXJzaW9uIF0gPC9kb2M+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvV0ZDL1BFaW50c3Vic2V0IGIvbGlieG1sMi90ZXN0L1dGQy9QRWludHN1YnNldApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMWVhMzMxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L1dGQy9QRWludHN1YnNldApAQCAtMCwwICsxLDYgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCFET0NUWVBFIGEgWworPCFFTlRJVFkgJSBwY2RhdGEgIigjUENEQVRBKSI+Cis8IUVMRU1FTlQgZSAlcGNkYXRhPgorXT4KKzxhPiB2aW9sYXRlcyBbIFdGQzogUEVzIGluIEludGVybmFsIFN1YnNldCBdIDwvYT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9XRkMvVW5pcXVlQXR0U3BlYyBiL2xpYnhtbDIvdGVzdC9XRkMvVW5pcXVlQXR0U3BlYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MDc0ZmYyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L1dGQy9VbmlxdWVBdHRTcGVjCkBAIC0wLDAgKzEsMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8YSBhdHQ9Ik9rIiBhdHQyPSJPayIgYXR0PSJCYWQiPiB2aW9sYXRlcyBbIFdGQzogVW5pcXVlIEF0dCBTcGVjIF0gPC9hPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L1dGQy9VbmlxdWVBdHRTcGVjMiBiL2xpYnhtbDIvdGVzdC9XRkMvVW5pcXVlQXR0U3BlYzIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTQ1MTFmMQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9XRkMvVW5pcXVlQXR0U3BlYzIKQEAgLTAsMCArMSwyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxhPiA8YiBhdHQ9Ik9rIiBhdHQyPSJPayIgYXR0PSJCYWQiLz4gdmlvbGF0ZXMgWyBXRkM6IFVuaXF1ZSBBdHQgU3BlYyBdIDwvYT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9YSW5jbHVkZS9kb2NzL2RvY2lkcy54bWwgYi9saWJ4bWwyL3Rlc3QvWEluY2x1ZGUvZG9jcy9kb2NpZHMueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc3OTE2MjAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvWEluY2x1ZGUvZG9jcy9kb2NpZHMueG1sCkBAIC0wLDAgKzEsMTUgQEAKKzwhRE9DVFlQRSBib29rIFsKKzwhRUxFTUVOVCBib29rIChkb2MqKT4KKzwhRUxFTUVOVCBkb2MgKGlzaWQqKT4KKzwhRUxFTUVOVCBpc2lkIEVNUFRZPgorPCFBVFRMSVNUIGlzaWQgbXlpZCBJRCAjSU1QTElFRD4KK10+Cis8Ym9vaz4KKzxkb2M+Cis8aXNpZCBteWlkPSJtaW5lIi8+Cis8aXNpZCBteWlkPSJkdXAiLz4KKzwvZG9jPgorPCEtLSBpbmNsdWRpbmcgYW5vdGhlciBYTUwgZG9jdW1lbnQgd2l0aCBJRHMgLS0+Cis8eGluY2x1ZGU6aW5jbHVkZSB4bWxuczp4aW5jbHVkZT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YSW5jbHVkZSIKKwkJIGhyZWY9Ii4uL2VudHMvaWRzLnhtbCIvPgorPC9ib29rPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L1hJbmNsdWRlL2RvY3MvZmFsbGJhY2sueG1sIGIvbGlieG1sMi90ZXN0L1hJbmNsdWRlL2RvY3MvZmFsbGJhY2sueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU4MDIyMmUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvWEluY2x1ZGUvZG9jcy9mYWxsYmFjay54bWwKQEAgLTAsMCArMSw2IEBACis8eCB4bWxuczp4aW5jbHVkZT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YSW5jbHVkZSI+CisgICA8IS0tIFNpbXBsZSB0ZXN0IG9mIGEgZmFsbGJhY2sgb24gdW5hdmFpbGJsZSBVUkkgLS0+CisgICA8eGluY2x1ZGU6aW5jbHVkZSBocmVmPSJzb21ldGhpbmcueG1sIj4KKyAgICAgPHhpbmNsdWRlOmZhbGxiYWNrPjx3YXJuaW5nPkluY2x1c2lvbiBmYWlsZWQ8L3dhcm5pbmc+PC94aW5jbHVkZTpmYWxsYmFjaz4KKyAgIDwveGluY2x1ZGU6aW5jbHVkZT4KKzwveD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9YSW5jbHVkZS9kb2NzL2ZhbGxiYWNrMi54bWwgYi9saWJ4bWwyL3Rlc3QvWEluY2x1ZGUvZG9jcy9mYWxsYmFjazIueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRhYzcxZjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvWEluY2x1ZGUvZG9jcy9mYWxsYmFjazIueG1sCkBAIC0wLDAgKzEsMTAgQEAKKzxhPgorICAgICAgICA8eGk6aW5jbHVkZSBocmVmPSJiLnhtbCIgeG1sbnM6eGk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWEluY2x1ZGUiPgorICAgICAgICAgICAgICAgIDx4aTpmYWxsYmFjaz5UaGVyZSBpcyBubyBiLnhtbCAuLi4gPC94aTpmYWxsYmFjaz4KKyAgICAgICAgPC94aTppbmNsdWRlPgorICAgICAgICA8eGk6aW5jbHVkZSBocmVmPSJjLnhtbCIgeG1sbnM6eGk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWEluY2x1ZGUiPgorICAgICAgICAgICAgICAgIDx4aTpmYWxsYmFjaz5UaGVyZSBpcyBubyBjLnhtbCAuLi4gPC94aTpmYWxsYmFjaz4KKyAgICAgICAgPC94aTppbmNsdWRlPgorIAorPC9hPgorCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvWEluY2x1ZGUvZG9jcy9pbmNsdWRlLnhtbCBiL2xpYnhtbDIvdGVzdC9YSW5jbHVkZS9kb2NzL2luY2x1ZGUueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgwNmFjMjMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvWEluY2x1ZGUvZG9jcy9pbmNsdWRlLnhtbApAQCAtMCwwICsxLDQgQEAKKzx4IHhtbG5zOnhpbmNsdWRlPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hJbmNsdWRlIj4KKyAgIDwhLS0gU2ltcGxlIHRlc3Qgb2YgaW5jbHVkaW5nIGFub3RoZXIgWE1MIGRvY3VtZW50IC0tPgorICAgPHhpbmNsdWRlOmluY2x1ZGUgaHJlZj0iLi4vZW50cy9zb21ldGhpbmcueG1sIi8+Cis8L3g+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvWEluY2x1ZGUvZG9jcy9ub2Rlcy54bWwgYi9saWJ4bWwyL3Rlc3QvWEluY2x1ZGUvZG9jcy9ub2Rlcy54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDBjY2FiOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9YSW5jbHVkZS9kb2NzL25vZGVzLnhtbApAQCAtMCwwICsxLDQgQEAKKzx4IHhtbG5zOnhpbmNsdWRlPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hJbmNsdWRlIj4KKyAgIDwhLS0gU2ltcGxlIHRlc3Qgb2YgaW5jbHVkaW5nIGEgc2V0IG9mIG5vZGVzIGZyb20gYW4gWE1MIGRvY3VtZW50IC0tPgorICAgPHhpbmNsdWRlOmluY2x1ZGUgaHJlZj0iLi4vZW50cy9zb21ldGhpbmcueG1sI3hwb2ludGVyKC8vcCkiLz4KKzwveD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9YSW5jbHVkZS9kb2NzL25vZGVzMi54bWwgYi9saWJ4bWwyL3Rlc3QvWEluY2x1ZGUvZG9jcy9ub2RlczIueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMyZjhjZmUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvWEluY2x1ZGUvZG9jcy9ub2RlczIueG1sCkBAIC0wLDAgKzEsNCBAQAorPHggeG1sbnM6eGluY2x1ZGU9Imh0dHA6Ly93d3cudzMub3JnLzIwMDMvWEluY2x1ZGUiPgorICAgPCEtLSBTaW1wbGUgdGVzdCBvZiBpbmNsdWRpbmcgYSBzZXQgb2Ygbm9kZXMgZnJvbSBhbiBYTUwgZG9jdW1lbnQgLS0+CisgICA8eGluY2x1ZGU6aW5jbHVkZSBocmVmPSIuLi9lbnRzL3NvbWV0aGluZy54bWwiIHhwb2ludGVyPSJ4cG9pbnRlcigvL3ApIi8+Cis8L3g+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvWEluY2x1ZGUvZG9jcy9ub2RlczMueG1sIGIvbGlieG1sMi90ZXN0L1hJbmNsdWRlL2RvY3Mvbm9kZXMzLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNTVjNTQ4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L1hJbmNsdWRlL2RvY3Mvbm9kZXMzLnhtbApAQCAtMCwwICsxLDQgQEAKKzx4IHhtbG5zOnhpbmNsdWRlPSJodHRwOi8vd3d3LnczLm9yZy8yMDAzL1hJbmNsdWRlIj4KKyAgIDwhLS0gU2ltcGxlIHRlc3Qgb2YgaW5jbHVkaW5nIGEgc2V0IG9mIG5vZGVzIGZyb20gYW4gWE1MIGRvY3VtZW50IC0tPgorICAgPHhpbmNsdWRlOmluY2x1ZGUgaHJlZj0iLi4vZW50cy9zb21ldGhpbmcueG1sI3hwb2ludGVyKC8vcCkiLz4KKzwveD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9YSW5jbHVkZS9kb2NzL3JlY3Vyc2l2ZS54bWwgYi9saWJ4bWwyL3Rlc3QvWEluY2x1ZGUvZG9jcy9yZWN1cnNpdmUueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE5Mjg1YWMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvWEluY2x1ZGUvZG9jcy9yZWN1cnNpdmUueG1sCkBAIC0wLDAgKzEsMyBAQAorPHRoaXM+PHhpbmM6aW5jbHVkZSBocmVmPSIuLi9lbnRzL3N1Yi1pbmMuZW50IiBwYXJzZT0ieG1sIiAKKyAgICAgICAgIHhtbG5zOnhpbmM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWEluY2x1ZGUiLz48L3RoaXM+CisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9YSW5jbHVkZS9kb2NzL3RzdGVuY29kaW5nLnhtbCBiL2xpYnhtbDIvdGVzdC9YSW5jbHVkZS9kb2NzL3RzdGVuY29kaW5nLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMTMwOWE5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L1hJbmNsdWRlL2RvY3MvdHN0ZW5jb2RpbmcueG1sCkBAIC0wLDAgKzEsNSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/PgorPHggeG1sbnM6eGluY2x1ZGU9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWEluY2x1ZGUiPgorICAgPCEtLSBTaW1wbGUgdGVzdCBvZiBpbmNsdWRpbmcgYW5vdGhlciB0ZXh0IGRvY3VtZW50IC0tPgorICAgPHhpbmNsdWRlOmluY2x1ZGUgaHJlZj0iLi4vZW50cy9pc29sYXRpbi50eHQiIGVuY29kaW5nPSJJU08tODg1OS0xIiBwYXJzZT0idGV4dCIvPgorPC94PgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L1hJbmNsdWRlL2RvY3MvdHh0aW5jbHVkZS54bWwgYi9saWJ4bWwyL3Rlc3QvWEluY2x1ZGUvZG9jcy90eHRpbmNsdWRlLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMWFmNmEyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L1hJbmNsdWRlL2RvY3MvdHh0aW5jbHVkZS54bWwKQEAgLTAsMCArMSw0IEBACis8eCB4bWxuczp4aW5jbHVkZT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YSW5jbHVkZSI+CisgICA8IS0tIFNpbXBsZSB0ZXN0IG9mIGluY2x1ZGluZyBhbm90aGVyIHRleHQgZG9jdW1lbnQgLS0+CisgICA8eGluY2x1ZGU6aW5jbHVkZSBocmVmPSIuLi9lbnRzL3NvbWV0aGluZy50eHQiIHBhcnNlPSJ0ZXh0Ii8+Cis8L3g+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvWEluY2x1ZGUvZW50cy9pZHMueG1sIGIvbGlieG1sMi90ZXN0L1hJbmNsdWRlL2VudHMvaWRzLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MTkzMjMxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L1hJbmNsdWRlL2VudHMvaWRzLnhtbApAQCAtMCwwICsxLDEwIEBACis8IURPQ1RZUEUgZG9jIFsKKzwhRUxFTUVOVCBkb2MgKGlzaWQqKT4KKzwhRUxFTUVOVCBpc2lkIEVNUFRZPgorPCFBVFRMSVNUIGlzaWQgbXlpZCBJRCAjSU1QTElFRD4KK10+Cis8ZG9jPgorPGlzaWQgbXlpZD0iZHVwIi8+Cis8aXNpZCBteWlkPSJmb28iLz4KKzxpc2lkIG15aWQ9ImJhciIvPgorPC9kb2M+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvWEluY2x1ZGUvZW50cy9pbmMudHh0IGIvbGlieG1sMi90ZXN0L1hJbmNsdWRlL2VudHMvaW5jLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNWNkZDdjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L1hJbmNsdWRlL2VudHMvaW5jLnR4dApAQCAtMCwwICsxIEBACitpcyBhIHRlc3QKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9YSW5jbHVkZS9lbnRzL2lzb2xhdGluLnR4dCBiL2xpYnhtbDIvdGVzdC9YSW5jbHVkZS9lbnRzL2lzb2xhdGluLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMWRiZjcwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L1hJbmNsdWRlL2VudHMvaXNvbGF0aW4udHh0CkBAIC0wLDAgKzEgQEAKK3Rlc3Qgd2l0aCBhY2NlbnRzIGluIElTTy04ODU5LTE6IMAgwSDpIOgKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9YSW5jbHVkZS9lbnRzL3NvbWV0aGluZy50eHQgYi9saWJ4bWwyL3Rlc3QvWEluY2x1ZGUvZW50cy9zb21ldGhpbmcudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ4YzIxYjcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvWEluY2x1ZGUvZW50cy9zb21ldGhpbmcudHh0CkBAIC0wLDAgKzEgQEAKK3RoaXMgaXMgc29tZSB0ZXh0IGluIEFTQ0lJCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvWEluY2x1ZGUvZW50cy9zb21ldGhpbmcueG1sIGIvbGlieG1sMi90ZXN0L1hJbmNsdWRlL2VudHMvc29tZXRoaW5nLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YmJhNjgzCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L1hJbmNsdWRlL2VudHMvc29tZXRoaW5nLnhtbApAQCAtMCwwICsxLDUgQEAKKzxkb2M+Cis8cD5zb21ldGhpbmc8L3A+Cis8cD5yZWFsbHk8L3A+Cis8cD5zaW1wbGU8L3A+Cis8L2RvYz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9YSW5jbHVkZS9lbnRzL3N1Yi1pbmMuZW50IGIvbGlieG1sMi90ZXN0L1hJbmNsdWRlL2VudHMvc3ViLWluYy5lbnQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzcyNmM5ZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9YSW5jbHVkZS9lbnRzL3N1Yi1pbmMuZW50CkBAIC0wLDAgKzEsMiBAQAorPHN1Yi1pbmM+PHhpbmM6aW5jbHVkZSBocmVmPSJpbmMudHh0IiBwYXJzZT0idGV4dCIgCisgICAgICAgICB4bWxuczp4aW5jPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hJbmNsdWRlIi8+PC9zdWItaW5jPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L1hQYXRoL2RvY3MvY2hhcHRlcnMgYi9saWJ4bWwyL3Rlc3QvWFBhdGgvZG9jcy9jaGFwdGVycwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNDhmNjVlCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L1hQYXRoL2RvY3MvY2hhcHRlcnMKQEAgLTAsMCArMSwyOCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8RVhBTVBMRSBwcm9wMT0iZ25vbWUgaXMgZ3JlYXQiIHByb3AyPSImYW1wOyBsaW51eCB0b28iPgorICA8aGVhZD4KKyAgIDx0aXRsZT5XZWxjb21lIHRvIEdub21lPC90aXRsZT4KKyAgPC9oZWFkPgorICA8Y2hhcHRlciBpZD0iY2hhcHRlcjEiPgorICAgPHRpdGxlPlRoZSBMaW51eCBhZHZlbnR1cmU8L3RpdGxlPgorICAgPHA+YmxhIGJsYSBibGEgLi4uPC9wPgorICAgPGltYWdlIGhyZWY9ImxpbnVzLmdpZiIvPgorICAgPHA+Li4uPC9wPgorICA8L2NoYXB0ZXI+CisgIDxjaGFwdGVyIGlkPSJjaGFwdGVyMiI+CisgICA8dGl0bGU+Q2hhcHRlciAyPC90aXRsZT4KKyAgIDxwPnRoaXMgaXMgY2hhcHRlciAyIC4uLjwvcD4KKyAgPC9jaGFwdGVyPgorICA8Y2hhcHRlciBpZD0iY2hhcHRlcjMiPgorICAgPHRpdGxlPkNoYXB0ZXIgMzwvdGl0bGU+CisgICA8cD50aGlzIGlzIGNoYXB0ZXIgMyAuLi48L3A+CisgIDwvY2hhcHRlcj4KKyAgPGNoYXB0ZXIgaWQ9ImNoYXB0ZXI0Ij4KKyAgIDx0aXRsZT5DaGFwdGVyIDQ8L3RpdGxlPgorICAgPHA+dGhpcyBpcyBjaGFwdGVyIDQgLi4uPC9wPgorICA8L2NoYXB0ZXI+CisgIDxjaGFwdGVyIGlkPSJjaGFwdGVyNSI+CisgICA8dGl0bGU+Q2hhcHRlciA1PC90aXRsZT4KKyAgIDxwPnRoaXMgaXMgY2hhcHRlciA1IC4uLjwvcD4KKyAgPC9jaGFwdGVyPgorPC9FWEFNUExFPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L1hQYXRoL2RvY3MvaWQgYi9saWJ4bWwyL3Rlc3QvWFBhdGgvZG9jcy9pZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YjY2NTlmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L1hQYXRoL2RvY3MvaWQKQEAgLTAsMCArMSwyOCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8RVhBTVBMRSBpZD0icm9vdCIgcHJvcDE9Imdub21lIGlzIGdyZWF0IiBwcm9wMj0iJmFtcDsgbGludXggdG9vIj4KKyAgPGhlYWQgaWQ9ImhlYWQiPgorICAgPHRpdGxlPldlbGNvbWUgdG8gR25vbWU8L3RpdGxlPgorICA8L2hlYWQ+CisgIDxjaGFwdGVyIGlkPSJjaGFwdGVyMSI+CisgICA8dGl0bGU+VGhlIExpbnV4IGFkdmVudHVyZTwvdGl0bGU+CisgICA8cD5ibGEgYmxhIGJsYSAuLi48L3A+CisgICA8aW1hZ2UgaHJlZj0ibGludXMuZ2lmIi8+CisgICA8cD4uLi48L3A+CisgIDwvY2hhcHRlcj4KKyAgPGNoYXB0ZXIgaWQ9ImNoYXB0ZXIyIj4KKyAgIDx0aXRsZT5DaGFwdGVyIDI8L3RpdGxlPgorICAgPHA+dGhpcyBpcyBjaGFwdGVyIDIgLi4uPC9wPgorICA8L2NoYXB0ZXI+CisgIDxjaGFwdGVyIGlkPSJjaGFwdGVyMyI+CisgICA8dGl0bGU+Q2hhcHRlciAzPC90aXRsZT4KKyAgIDxwPnRoaXMgaXMgY2hhcHRlciAzIC4uLjwvcD4KKyAgPC9jaGFwdGVyPgorICA8Y2hhcHRlciBpZD0iY2hhcHRlcjQiPgorICAgPHRpdGxlPkNoYXB0ZXIgNDwvdGl0bGU+CisgICA8cD50aGlzIGlzIGNoYXB0ZXIgNCAuLi48L3A+CisgIDwvY2hhcHRlcj4KKyAgPGNoYXB0ZXIgaWQ9ImNoYXB0ZXI1Ij4KKyAgIDx0aXRsZT5DaGFwdGVyIDU8L3RpdGxlPgorICAgPHA+dGhpcyBpcyBjaGFwdGVyIDUgLi4uPC9wPgorICA8L2NoYXB0ZXI+Cis8L0VYQU1QTEU+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvWFBhdGgvZG9jcy9sYW5nIGIvbGlieG1sMi90ZXN0L1hQYXRoL2RvY3MvbGFuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYmZlMWQ2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L1hQYXRoL2RvY3MvbGFuZwpAQCAtMCwwICsxLDEzIEBACis8ZG9jPgorICA8eD4xPC94PgorICA8YiB4bWw6bGFuZz0iZW4iPgorICAgIDx4PmVuPC94PgorICAgIDx4PjM8L3g+CisgIDwvYj4KKyAgPHg+NDwveD4KKyAgPHBhcmEgeG1sOmxhbmc9ImVuIi8+CisgIDxkaXYgeG1sOmxhbmc9ImVuIj48cGFyYS8+PC9kaXY+CisgIDxwYXJhIHhtbDpsYW5nPSJFTiIvPgorICA8cGFyYSB4bWw6bGFuZz0iZW4tdXMiLz4KKyAgPHBhcmEgeG1sOmxhbmc9IkVOLVVTIi8+Cis8L2RvYz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9YUGF0aC9kb2NzL21peGVkIGIvbGlieG1sMi90ZXN0L1hQYXRoL2RvY3MvbWl4ZWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2I0NTdiYwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9YUGF0aC9kb2NzL21peGVkCkBAIC0wLDAgKzEsMTAgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPHJvb3Q+CisgIDxzIHA9InJvb3QiLz4KKyAgPHAxPgorICAgIDxzIHA9InAxIi8+CisgIDwvcDE+CisgIDxwMj4KKyAgICA8cyBwPSJwMiIvPgorICA8L3AyPgorPC9yb290PgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L1hQYXRoL2RvY3Mvbm9kZXMgYi9saWJ4bWwyL3Rlc3QvWFBhdGgvZG9jcy9ub2RlcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hODYzZGYwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L1hQYXRoL2RvY3Mvbm9kZXMKQEAgLTAsMCArMSwyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxyb290Pjxmb28+dHh0PCEtLWhlbGxvLS0+PCFbQ0RBVEFbZGF0YV1dPjw/dGFyZ2V0IGRhdGE/PjxiYXI+dHh0PCEtLWhlbGxvLS0+PCFbQ0RBVEFbZGF0YV1dPjw/dGFyZ2V0IGRhdGE/PjwvYmFyPjwvZm9vPjwvcm9vdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvWFBhdGgvZG9jcy9zaW1wbGUgYi9saWJ4bWwyL3Rlc3QvWFBhdGgvZG9jcy9zaW1wbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2E2NjVhMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9YUGF0aC9kb2NzL3NpbXBsZQpAQCAtMCwwICsxLDEyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxFWEFNUExFIHByb3AxPSJnbm9tZSBpcyBncmVhdCIgcHJvcDI9IiZhbXA7IGxpbnV4IHRvbyI+CisgIDxoZWFkPgorICAgPHRpdGxlPldlbGNvbWUgdG8gR25vbWU8L3RpdGxlPgorICA8L2hlYWQ+CisgIDxjaGFwdGVyPgorICAgPHRpdGxlPlRoZSBMaW51eCBhZHZlbnR1cmU8L3RpdGxlPgorICAgPHA+YmxhIGJsYSBibGEgLi4uPC9wPgorICAgPGltYWdlIGhyZWY9ImxpbnVzLmdpZiIvPgorICAgPHA+Li4uPC9wPgorICA8L2NoYXB0ZXI+Cis8L0VYQU1QTEU+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvWFBhdGgvZG9jcy9zdHIgYi9saWJ4bWwyL3Rlc3QvWFBhdGgvZG9jcy9zdHIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTQ3ZTU0ZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9YUGF0aC9kb2NzL3N0cgpAQCAtMCwwICsxLDkgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPGNoYXB0ZXI+CisgIDxwPmEgc2ltcGxlIHRlc3Q8L3A+CisgIDxwPm11bHRpcGxlIHRlc3RzPC9wPgorICA8cD5hIGRpZmY8ZW0+aTwvZW0+Y3VsdCBvbmU8L3A+CisgIDxwPjxwPmEgc3BhbjwvcD5uPHA+aW5nIG9uZTwvcD48L3A+CisgIDxwPjxwPmFuZCBhbiB1bmJhbDwvcD48ZW1wdHkvPmFuY2VkIHRlc3Q8L3A+CisgIDxwPmZvciBlbXB0eSBzdHJpbmcgPHNlcT4xMjM8L3NlcT48L3A+Cis8L2NoYXB0ZXI+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvWFBhdGgvZG9jcy91c3IxIGIvbGlieG1sMi90ZXN0L1hQYXRoL2RvY3MvdXNyMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NGM3NTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L1hQYXRoL2RvY3MvdXNyMQpAQCAtMCwwICsxLDEyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxCT0RZPgorPERFQ0xBUkFDSU9OIGltcG9ydGFkb3I9IjEyMzQ1Njc4OSIgZmVjaGE9IjA4LzA5LzIwMDAiCittb250b19mYWN0dXJhPSIxMDAuMDkiPgorPElURU0gbW9udG89IjUwLjEyIiBkaXZpc2E9IkRPTCI+Cis8U1VGSUpPIGNvZGlnbz0iTkwzNCIgdmFsb3I9Im5lZ3JvIi8+Cis8U1VGSUpPIGNvZGlnbz0iQVMzNCIgdmFsb3I9ImdyYW5kZSIvPgorPC9JVEVNPgorPC9ERUNMQVJBQ0lPTj4KKzxGSVJNQT5OPC9GSVJNQT4KKzwvQk9EWT4KKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L1hQYXRoL2RvY3MvdmlkIGIvbGlieG1sMi90ZXN0L1hQYXRoL2RvY3MvdmlkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNkYjc0MzcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvWFBhdGgvZG9jcy92aWQKQEAgLTAsMCArMSw0MyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IURPQ1RZUEUgaWRkZW1vIFsKKzwhRUxFTUVOVCBpZGRlbW8gKGhlYWQ/LCAoY2hhcHRlcikqKT4KKzwhQVRUTElTVCBpZGRlbW8gaWQgSUQgI0lNUExJRUQ+Cis8IUVMRU1FTlQgaGVhZCAodGl0bGU/LCAocCkqKT4KKzwhQVRUTElTVCBoZWFkIGlkIElEICNJTVBMSUVEPgorPCFFTEVNRU5UIGNoYXB0ZXIgKHRpdGxlPywgKHAgfCBpbWFnZSkqKT4KKzwhQVRUTElTVCBjaGFwdGVyIGlkIElEICNJTVBMSUVEPgorPCFFTEVNRU5UIGltYWdlIEVNUFRZPgorPCFBVFRMSVNUIGltYWdlIGhyZWYgQ0RBVEEgI0lNUExJRUQ+Cis8IUVMRU1FTlQgdGl0bGUgKCNQQ0RBVEEpPgorPCFFTEVNRU5UIHAgKCNQQ0RBVEEpPgorXT4KKworPGlkZGVtbz4KKyAgPGhlYWQ+CisgICA8dGl0bGU+V2VsY29tZSB0byBHbm9tZTwvdGl0bGU+CisgIDwvaGVhZD4KKyAgPGNoYXB0ZXIgaWQ9ImNoYXB0ZXIxIj4KKyAgIDx0aXRsZT5UaGUgTGludXggYWR2ZW50dXJlPC90aXRsZT4KKyAgIDxwPmJsYSBibGEgYmxhIC4uLjwvcD4KKyAgIDxpbWFnZSBocmVmPSJsaW51cy5naWYiLz4KKyAgIDxwPi4uLjwvcD4KKyAgIDxwPnRoaXJkIHA8L3A+CisgICA8cD5mb3VydGggcDwvcD4KKyAgPC9jaGFwdGVyPgorICA8Y2hhcHRlciBpZD0iY2hhcHRlcjIiPgorICAgPHRpdGxlPkNoYXB0ZXIgMjwvdGl0bGU+CisgICA8cD50aGlzIGlzIGNoYXB0ZXIgMiAuLi48L3A+CisgIDwvY2hhcHRlcj4KKyAgPGNoYXB0ZXIgaWQ9ImNoYXB0ZXIzIj4KKyAgIDx0aXRsZT5DaGFwdGVyIDM8L3RpdGxlPgorICAgPHA+dGhpcyBpcyBjaGFwdGVyIDMgLi4uPC9wPgorICA8L2NoYXB0ZXI+CisgIDxjaGFwdGVyIGlkPSJjaGFwdGVyNCI+CisgICA8dGl0bGU+Q2hhcHRlciA0PC90aXRsZT4KKyAgIDxwPnRoaXMgaXMgY2hhcHRlciA0IC4uLjwvcD4KKyAgPC9jaGFwdGVyPgorICA8Y2hhcHRlciBpZD0iY2hhcHRlcjUiPgorICAgPHRpdGxlPkNoYXB0ZXIgNTwvdGl0bGU+CisgICA8cD50aGlzIGlzIGNoYXB0ZXIgNSAuLi48L3A+CisgIDwvY2hhcHRlcj4KKzwvaWRkZW1vPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L1hQYXRoL2V4cHIvYmFzZSBiL2xpYnhtbDIvdGVzdC9YUGF0aC9leHByL2Jhc2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWFhZWQ0ZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9YUGF0aC9leHByL2Jhc2UKQEAgLTAsMCArMSw1IEBACisxCisxKzIKKzIqMworMSsyKjMrNAorKDErMikqKDMrNCkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9YUGF0aC9leHByL2NvbXBhcmUgYi9saWJ4bWwyL3Rlc3QvWFBhdGgvZXhwci9jb21wYXJlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJkNTJlYWYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvWFBhdGgvZXhwci9jb21wYXJlCkBAIC0wLDAgKzEsNDYgQEAKKzA8MAorMDw9MAorMD4wCiswPj0wCiswPDEKKzA8PTEKKzA+MQorMD49MQorMTwwCisxPD0wCisxPjAKKzE+PTAKKzE8MQorMTw9MQorMT4xCisxPj0xCisnMCc8MQorJzAnPD0xCisnMCc+MQorJzAnPj0xCiswPCcxLjInCiswPD0nMS4yJworMD4nMS4yJworMD49JzEuMicKKzA8Jy0wLjInCiswPD0nLTAuMicKKzA+Jy0wLjInCiswPj0nLTAuMicKK2ZhbHNlKCk8MQorZmFsc2UoKTw9MQorMD50cnVlKCkKKzA+PXRydWUoKQorJ2EnID4gJ2EnCisnYScgPiAnYicKKydiJyA+ICdhJworJ2EnIDwgJ2EnCisnYScgPCAnYicKKydiJyA8ICdhJworJ2EnID49ICdhJworJ2EnID49ICdiJworJ2InID49ICdhJworJ2EnIDw9ICdhJworJ2EnIDw9ICdiJworJ2InIDw9ICdhJworJ2EnID4gJzAuMCcKKydhJyA8ICcwLjAnCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvWFBhdGgvZXhwci9lcXVhbGl0eSBiL2xpYnhtbDIvdGVzdC9YUGF0aC9leHByL2VxdWFsaXR5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc5ODIxNzMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvWFBhdGgvZXhwci9lcXVhbGl0eQpAQCAtMCwwICsxLDI2IEBACisxPTEKKzEhPTEKKzE9MAorMSE9MAordHJ1ZSgpPXRydWUoKQordHJ1ZSgpIT10cnVlKCkKK3RydWUoKT1mYWxzZSgpCitmYWxzZSgpIT10cnVlKCkKKyd0ZXN0Jz0ndGVzdCcKKyd0ZXN0JyE9J3Rlc3QnCisndGVzdDInPSd0ZXN0JworJ3Rlc3QyJyE9J3Rlc3QnCitmYWxzZSgpPTAKK2ZhbHNlKCkhPTAKK2ZhbHNlKCk9MQorZmFsc2UoKSE9MQorMD10cnVlKCkKKzAhPXRydWUoKQorMT10cnVlKCkKKzEhPXRydWUoKQordHJ1ZSgpPSd0ZXN0JworZmFsc2UoKT0ndGVzdCcKKyd0ZXN0JyE9dHJ1ZSgpCisndGVzdCchPWZhbHNlKCkKKydhJz0wLjAKKydhJyE9MC4wCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvWFBhdGgvZXhwci9mbG9hdHMgYi9saWJ4bWwyL3Rlc3QvWFBhdGgvZXhwci9mbG9hdHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTZjMTBkMQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9YUGF0aC9leHByL2Zsb2F0cwpAQCAtMCwwICsxLDYxIEBACisxCisxMjMKKzEuMjMKKzAuMTIzCis0LgorLjQKKzEuMjNlMworMS4yM2UtMworMSBkaXYgMAorLTEgZGl2IDAKKzAgZGl2IDAKKzEgZGl2IC0wCisoMSBkaXYgMCkgPiAwCisoMSBkaXYgMCkgPCAwCisoLTEgZGl2IDApID4gMAorKC0xIGRpdiAwKSA8IDAKKygwIGRpdiAwKSA+IDAKKygwIGRpdiAwKSA8IDAKKygxIGRpdiAtMCkgPiAwCisoMSBkaXYgLTApIDwgMAorMCBkaXYgMCA9IDAgZGl2IDAKKzAgZGl2IDAgIT0gMCBkaXYgMAorMCBkaXYgMCA+IDAgZGl2IDAKKzAgZGl2IDAgPCAwIGRpdiAwCiswIGRpdiAwID49IDAgZGl2IDAKKzAgZGl2IDAgPD0gMCBkaXYgMAorMSBkaXYgMCA9IC0xIGRpdiAwCisxIGRpdiAwICE9IC0xIGRpdiAwCisxIGRpdiAwID4gLTEgZGl2IDAKKzEgZGl2IDAgPCAtMSBkaXYgMAorMSBkaXYgMCA+PSAtMSBkaXYgMAorMSBkaXYgMCA8PSAtMSBkaXYgMAorMSBkaXYgMCA9IDEgZGl2IDAKKzEgZGl2IDAgIT0gMSBkaXYgMAorMSBkaXYgMCA+IDEgZGl2IDAKKzEgZGl2IDAgPCAxIGRpdiAwCisxIGRpdiAwID49IC0xIGRpdiAwCisxIGRpdiAwIDw9IC0xIGRpdiAwCistMiBkaXYgMCA9IC0xIGRpdiAwCisxIGRpdiBmbG9vcigwLjEpCisxIGRpdiBmbG9vcigtMC4xKQorMSBkaXYgZmxvb3IoLTApCisxIGRpdiBmbG9vcigwKQorMSBkaXYgY2VpbGluZygwLjEpCisxIGRpdiBjZWlsaW5nKC0wLjEpCisxIGRpdiBjZWlsaW5nKC0wKQorMSBkaXYgY2VpbGluZygwKQorMSBkaXYgcm91bmQoMC4xKQorMSBkaXYgcm91bmQoLTAuMSkKKzEgZGl2IHJvdW5kKC0wKQorMSBkaXYgcm91bmQoMCkKKzEgZGl2IG51bWJlcignZicpCitudW1iZXIoJ2YnKSBkaXYgMQorMSBkaXYgKDEgZGl2IDApCisoMSBkaXYgMCkgZGl2IDEKKy0oMSBkaXYgMCkgZGl2IDEKKzUgbW9kIDIKKzUgbW9kIC0yCistNSBtb2QgMgorLTUgbW9kIC0yCis4IG1vZCAzID0gMgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L1hQYXRoL2V4cHIvZnVuY3Rpb25zIGIvbGlieG1sMi90ZXN0L1hQYXRoL2V4cHIvZnVuY3Rpb25zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQxNjhiMTgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvWFBhdGgvZXhwci9mdW5jdGlvbnMKQEAgLTAsMCArMSwyNSBAQAordHJ1ZSgpCitmYWxzZSgpCitudW1iZXIoIjEuNSIpCitudW1iZXIoJ2FiYycpCistbnVtYmVyKCdhYmMnKQorZmxvb3IoMC4xKQorZmxvb3IoLTAuMSkKK2Zsb29yKC0wKQorZmxvb3IoMCkKK2Zsb29yKDUuMikKK2Zsb29yKC01LjIpCitjZWlsaW5nKDAuMSkKK2NlaWxpbmcoLTAuMSkKK2NlaWxpbmcoLTApCitjZWlsaW5nKDApCitjZWlsaW5nKDUuMikKK2NlaWxpbmcoLTUuMikKK3JvdW5kKDAuMSkKK3JvdW5kKDUuMikKK3JvdW5kKDUuNSkKK3JvdW5kKDUuNikKK3JvdW5kKC0wLjEpCityb3VuZCgtNS4yKQorcm91bmQoLTUuNSkKK3JvdW5kKC01LjYpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvWFBhdGgvZXhwci9zdHJpbmdzIGIvbGlieG1sMi90ZXN0L1hQYXRoL2V4cHIvc3RyaW5ncwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NDljYTE0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L1hQYXRoL2V4cHIvc3RyaW5ncwpAQCAtMCwwICsxLDM0IEBACitzdHJpbmcoNSkKK3N0cmluZygwLjUpCitzdHJpbmcoLTAuNSkKK3N0cmluZyh0cnVlKCkpCitzdHJpbmcoZmFsc2UoKSkKK2NvbmNhdCgidGl0aSIsInRvdG8iKQorY29uY2F0KCJ0aXRpIiwidG90byIsInRhdGEiKQorY29uY2F0KCJ0aXRpIiwndG90bycpCitjb25jYXQoInRpdGkiLCd0b3RvJywidGF0YSIsImxhc3QiKQorc3RhcnRzLXdpdGgoInRpdGl0b3RvIiwidGl0aSIpCitzdGFydHMtd2l0aCgidGl0aXRvdG8iLCJ0byIpCitjb250YWlucygidGl0aXRvdG90YXRhIiwidGl0aSIpCitjb250YWlucygidGl0aXRvdG90YXRhIiwidG90byIpCitjb250YWlucygidGl0aXRvdG90YXRhIiwidGF0YSIpCitjb250YWlucygidGl0aXRvdG90YXRhIiwidGl0YSIpCitzdWJzdHJpbmcoIjEyMzQ1IiwyLDMpCitzdWJzdHJpbmcoIjEyMzQ1IiwyKQorc3Vic3RyaW5nKCIxMjM0NSIsLTQpCitzdWJzdHJpbmcoIjEyMzQ1IiwzLjQpCitzdWJzdHJpbmcoIjEyMzQ1IiwzLjYpCitzdWJzdHJpbmcoIjEyMzQ1IiwxLjUsMi42KQorc3Vic3RyaW5nKCIxMjM0NSIsMi4yLDIuMikKK3N1YnN0cmluZygiMTIzNDUiLDAsMykKK3N1YnN0cmluZygiMTIzNDUiLC04LDEwKQorc3Vic3RyaW5nKCIxMjM0NSIsNCwtMTApCitzdWJzdHJpbmcoIjEyMzQ1IiwwIGRpdiAwLCAzKQorc3Vic3RyaW5nKCIxMjM0NSIsMSwgMCBkaXYgMCkKK3N1YnN0cmluZygiMTIzNDUiLDEgZGl2IDAsIDMpCitzdWJzdHJpbmcoIjEyMzQ1IiwzLC0xIGRpdiAwKQorc3Vic3RyaW5nKCIxMjM0NSIsLTQyLCAxIGRpdiAwKQorc3Vic3RyaW5nKCIxMjM0NSIsLTEgZGl2IDAsIDEgZGl2IDApCitzdWJzdHJpbmcoIjEyMzQ1IiwtMSBkaXYgMCw1KQorc3RyaW5nLWxlbmd0aCgiIikKK3N0cmluZy1sZW5ndGgoInRpdGkiKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L1hQYXRoL3Rlc3RzL2NoYXB0ZXJzYmFzZSBiL2xpYnhtbDIvdGVzdC9YUGF0aC90ZXN0cy9jaGFwdGVyc2Jhc2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGFhNTNiNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9YUGF0aC90ZXN0cy9jaGFwdGVyc2Jhc2UKQEAgLTAsMCArMSw5IEBACisvY2hpbGQ6OkVYQU1QTEUKKy9jaGlsZDo6KgorL2NoaWxkOjpFWEFNUExFL2NoaWxkOjpoZWFkCisvY2hpbGQ6OkVYQU1QTEUvY2hpbGQ6OioKKy9jaGlsZDo6RVhBTVBMRS9jaGlsZDo6aGVhZC9jaGlsZDo6dGl0bGUKKy9jaGlsZDo6RVhBTVBMRS9jaGlsZDo6aGVhZC9jaGlsZDo6dGl0bGUvY2hpbGQ6OnRleHQoKQorL2NoaWxkOjpFWEFNUExFL2NoaWxkOjpoZWFkL25vZGUoKQorL2Rlc2NlbmRhbnQ6OnRpdGxlCisvZGVzY2VuZGFudDo6cC9hbmNlc3Rvcjo6Y2hhcHRlcgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L1hQYXRoL3Rlc3RzL2NoYXB0ZXJzcHJlZm9sIGIvbGlieG1sMi90ZXN0L1hQYXRoL3Rlc3RzL2NoYXB0ZXJzcHJlZm9sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhmMWU2NWIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvWFBhdGgvdGVzdHMvY2hhcHRlcnNwcmVmb2wKQEAgLTAsMCArMSw4IEBACisvZm9sbG93aW5nOjoqCisvcHJlY2VkaW5nOjoqCisvY2hpbGQ6OkVYQU1QTEUvcHJlY2VkaW5nOjoqCisvY2hpbGQ6OkVYQU1QTEUvZm9sbG93aW5nOjoqCisvY2hpbGQ6OkVYQU1QTEUvY2hpbGQ6OmNoYXB0ZXJbM10vcHJlY2VkaW5nOjoqCisvY2hpbGQ6OkVYQU1QTEUvY2hpbGQ6OmNoYXB0ZXJbM10vZm9sbG93aW5nOjoqCisvY2hpbGQ6OkVYQU1QTEUvY2hpbGQ6OmNoYXB0ZXJbMV0vaW1hZ2UvcHJlY2VkaW5nOjoqCisvY2hpbGQ6OkVYQU1QTEUvY2hpbGQ6OmNoYXB0ZXJbMV0vaW1hZ2UvZm9sbG93aW5nOjoqCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvWFBhdGgvdGVzdHMvaWRzaW1wbGUgYi9saWJ4bWwyL3Rlc3QvWFBhdGgvdGVzdHMvaWRzaW1wbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjg0MWFlOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9YUGF0aC90ZXN0cy9pZHNpbXBsZQpAQCAtMCwwICsxLDMgQEAKKy8vKltAaWQ9InJvb3QiXQorLy8qW0BpZD0iY2hhcHRlcjIiXQorLy8qW0BpZD0iY2hhcHRlcjUiXQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L1hQYXRoL3Rlc3RzL2xhbmdzaW1wbGUgYi9saWJ4bWwyL3Rlc3QvWFBhdGgvdGVzdHMvbGFuZ3NpbXBsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNzFhMzIxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L1hQYXRoL3Rlc3RzL2xhbmdzaW1wbGUKQEAgLTAsMCArMSw1IEBACisvLypbbGFuZygnZW4nKV0KKy8vKltsYW5nKCdlbi11cycpXQorLy8qW2xhbmcoJ2VuLWdiJyldCisvLypbbGFuZygnZnInKV0KKy8vKltsYW5nKCcnKV0KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9YUGF0aC90ZXN0cy9taXhlZHBhdCBiL2xpYnhtbDIvdGVzdC9YUGF0aC90ZXN0cy9taXhlZHBhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMjEyZjZjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L1hQYXRoL3Rlc3RzL21peGVkcGF0CkBAIC0wLDAgKzEsNyBAQAorcworc3xwMS9zCitzfC9yb290L3AxL3MKKy9yb290L3AxL3N8cworLy9zCisvL3N8cDEKK3AxfC8vcwpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L1hQYXRoL3Rlc3RzL25vZGVzcGF0IGIvbGlieG1sMi90ZXN0L1hQYXRoL3Rlc3RzL25vZGVzcGF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMxNTdhM2UKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvWFBhdGgvdGVzdHMvbm9kZXNwYXQKQEAgLTAsMCArMSw1IEBACisvLgorLy8uCisvcm9vdC8vLgorLy8uLy8uLy4vLi8vLgorL3Jvb3QvLy4vLi8vYmFyLy8uClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L1hQYXRoL3Rlc3RzL3NpbXBsZWFiYnIgYi9saWJ4bWwyL3Rlc3QvWFBhdGgvdGVzdHMvc2ltcGxlYWJicgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZGU0NzZmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L1hQYXRoL3Rlc3RzL3NpbXBsZWFiYnIKQEAgLTAsMCArMSwxMCBAQAorL0VYQU1QTEUKKy9FWEFNUExFL2hlYWQKKy9FWEFNUExFL2NoYXB0ZXJbMV0KKy8vcAorLy9jaGFwdGVyL2ltYWdlCisvL3AvdGV4dCgpCisvL3AvdGV4dCgpW3Bvc2l0aW9uKCk9MV0KKy8vcC90ZXh0KClbcG9zaXRpb24oKT1sYXN0KCldCisoLy9wL3RleHQoKSlbcG9zaXRpb24oKT0xXQorKC8vcC90ZXh0KCkpW3Bvc2l0aW9uKCk9bGFzdCgpXQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L1hQYXRoL3Rlc3RzL3NpbXBsZWJhc2UgYi9saWJ4bWwyL3Rlc3QvWFBhdGgvdGVzdHMvc2ltcGxlYmFzZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZTQyMDNhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L1hQYXRoL3Rlc3RzL3NpbXBsZWJhc2UKQEAgLTAsMCArMSw5IEBACisvY2hpbGQ6OioKKy9jaGlsZDo6RVhBTVBMRQorL2NoaWxkOjpFWEFNUExFL2NoaWxkOjpoZWFkCisvY2hpbGQ6OkVYQU1QTEUvY2hpbGQ6OioKKy9jaGlsZDo6RVhBTVBMRS9jaGlsZDo6aGVhZC9jaGlsZDo6dGl0bGUKKy9jaGlsZDo6RVhBTVBMRS9jaGlsZDo6aGVhZC9jaGlsZDo6dGl0bGUvY2hpbGQ6OnRleHQoKQorL2NoaWxkOjpFWEFNUExFL2NoaWxkOjpoZWFkL25vZGUoKQorL2Rlc2NlbmRhbnQ6OnRpdGxlCisvZGVzY2VuZGFudDo6cC9hbmNlc3Rvcjo6Y2hhcHRlcgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L1hQYXRoL3Rlc3RzL3VzcjFjaGVjayBiL2xpYnhtbDIvdGVzdC9YUGF0aC90ZXN0cy91c3IxY2hlY2sKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzM4ZDAwMwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9YUGF0aC90ZXN0cy91c3IxY2hlY2sKQEAgLTAsMCArMSBAQAorLy9JVEVNWzFdCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvWFBhdGgvdGVzdHMvdmlkYmFzZSBiL2xpYnhtbDIvdGVzdC9YUGF0aC90ZXN0cy92aWRiYXNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVjZDc5YWMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvWFBhdGgvdGVzdHMvdmlkYmFzZQpAQCAtMCwwICsxLDUgQEAKK2lkKCdjaGFwdGVyMScpCitpZCgnY2hhcHRlcjMnKQoraWQoJ2NoYXB0ZXIxJykvcAoraWQoJ2NoYXB0ZXIxJykvL3AKK2lkKCdjaGFwdGVyMScpL3BbMV0KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9YUGF0aC94cHRyL2NoYXB0ZXJzY2hpbGRzZXEgYi9saWJ4bWwyL3Rlc3QvWFBhdGgveHB0ci9jaGFwdGVyc2NoaWxkc2VxCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNiNTJmNWYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvWFBhdGgveHB0ci9jaGFwdGVyc2NoaWxkc2VxCkBAIC0wLDAgKzEsOCBAQAorLzEvMi8zCitlbGVtZW50KC8xLzIvMykKK2VsZW1lbnQoZm9vKWVsZW1lbnQoLzEvMi8zKQorZWxlbWVudCgvMS8yLzMpZWxlbWVudChmb28pCitjaGFwdGVyMS8zCitlbGVtZW50KGNoYXB0ZXIxLzMpCitlbGVtZW50KGZvbyllbGVtZW50KGNoYXB0ZXIxLzMpCitlbGVtZW50KGNoYXB0ZXIxLzMpZWxlbWVudChmb28pCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvWFBhdGgveHB0ci9jaGFwdGVyc3BhcnRzIGIvbGlieG1sMi90ZXN0L1hQYXRoL3hwdHIvY2hhcHRlcnNwYXJ0cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYWRjNDdjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L1hQYXRoL3hwdHIvY2hhcHRlcnNwYXJ0cwpAQCAtMCwwICsxLDYgQEAKK3hwb2ludGVyKC8vY2hhcGl0cmVbMl0pCit4cG9pbnRlcigvL2NoYXB0ZXJbMl0pIAoreHBvaW50ZXIoLy9jaGFwaXRyZVsyXSl4cG9pbnRlcigvL2NoYXB0ZXJbMl0pIAoreHBvaW50ZXIoaWQoImNoYXB0ZXIxIikpCit4cG9pbnRlcigvLypbQGlkPSJjaGFwdGVyMSJdKQoreHBvaW50ZXIoaWQoImNoYXB0ZXIxIikpeHBvaW50ZXIoLy8qW0BpZD0iY2hhcHRlcjEiXSkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9YUGF0aC94cHRyL2NoYXB0ZXJzcmFuZ2UgYi9saWJ4bWwyL3Rlc3QvWFBhdGgveHB0ci9jaGFwdGVyc3JhbmdlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRkN2E1NWIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvWFBhdGgveHB0ci9jaGFwdGVyc3JhbmdlCkBAIC0wLDAgKzEsNCBAQAoreHBvaW50ZXIoLy9jaGFwdGVyW3Bvc2l0aW9uKCkgPSAyXS9yYW5nZS10byhmb2xsb3dpbmc6OmNoYXB0ZXJbMV0pKQoreHBvaW50ZXIoLy9jaGFwdGVyW3Bvc2l0aW9uKCkgPD0gMl0vcmFuZ2UtdG8oZm9sbG93aW5nOjpjaGFwdGVyWzFdKSkKK3hwb2ludGVyKC8vY2hhcHRlcltwb3NpdGlvbigpID0gbGFzdCgpXS9yYW5nZS10byhmb2xsb3dpbmc6OmNoYXB0ZXJbMV0pKQoreHBvaW50ZXIoLy9jaGFwdGVyW3Bvc2l0aW9uKCkgPSAzXS9yYW5nZS10bygvLi8vY2hhcHRlcltwb3NpdGlvbigpID0gMV0pKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L1hQYXRoL3hwdHIvc3RycG9pbnQgYi9saWJ4bWwyL3Rlc3QvWFBhdGgveHB0ci9zdHJwb2ludApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wOTE2ZWYxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L1hQYXRoL3hwdHIvc3RycG9pbnQKQEAgLTAsMCArMSw5IEBACit4cG9pbnRlcihzdGFydC1wb2ludChzdHJpbmctcmFuZ2UoLy9wLCdtdWx0aXBsZScpKSkKK3hwb2ludGVyKGVuZC1wb2ludChzdHJpbmctcmFuZ2UoLy9wLCdtdWx0aXBsZScpKSkKK3hwb2ludGVyKHN0YXJ0LXBvaW50KHN0cmluZy1yYW5nZSgvL3AsJ3Rlc3QnKSkpCit4cG9pbnRlcihlbmQtcG9pbnQoc3RyaW5nLXJhbmdlKC8vcCwndGVzdCcpKSkKK3hwb2ludGVyKHN0YXJ0LXBvaW50KHN0cmluZy1yYW5nZSgvLyosJ211bHRpcGxlJywxLDApKSkKK3hwb2ludGVyKGVuZC1wb2ludChzdHJpbmctcmFuZ2UoLy8qLCdtdWx0aXBsZScsMSwwKSkpCit4cG9pbnRlcihzdGFydC1wb2ludChzdHJpbmctcmFuZ2UoLy8qLCdtdWx0aXBsZScsMSwxKSkpCit4cG9pbnRlcihlbmQtcG9pbnQoc3RyaW5nLXJhbmdlKC8vKiwnbXVsdGlwbGUnLDEsMSkpKQoreHBvaW50ZXIoc3RhcnQtcG9pbnQoc3RyaW5nLXJhbmdlKC8vcCwndGVzdCcpKVsxXSkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9YUGF0aC94cHRyL3N0cnJhbmdlIGIvbGlieG1sMi90ZXN0L1hQYXRoL3hwdHIvc3RycmFuZ2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzIzMTkyNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9YUGF0aC94cHRyL3N0cnJhbmdlCkBAIC0wLDAgKzEsNiBAQAoreHBvaW50ZXIoc3RyaW5nLXJhbmdlKC8vcCwgJ3NpbXBsZScpKQoreHBvaW50ZXIoc3RyaW5nLXJhbmdlKC8vcCwgJ3Rlc3QnKSkKK3hwb2ludGVyKHN0cmluZy1yYW5nZSgvL3AsICdkaWZmaWN1bHQnKSkKK3hwb2ludGVyKHN0cmluZy1yYW5nZSgvL3AsICdzcGFubmluZycpKQoreHBvaW50ZXIoc3RyaW5nLXJhbmdlKC8vcCwgJ3VuYmFsYW5jZWQnKSkKK3hwb2ludGVyKHN0cmluZy1yYW5nZSgvL3NlcSwgJycpKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L1hQYXRoL3hwdHIvc3RycmFuZ2UyIGIvbGlieG1sMi90ZXN0L1hQYXRoL3hwdHIvc3RycmFuZ2UyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUxMzM1NDcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvWFBhdGgveHB0ci9zdHJyYW5nZTIKQEAgLTAsMCArMSwzIEBACit4cG9pbnRlcihzdHJpbmctcmFuZ2UoLy9wLCAndGVzdCcsIDIpKQoreHBvaW50ZXIoc3RyaW5nLXJhbmdlKC8vcCwgJ3Rlc3QnLCAyLCAyKSkKK3hwb2ludGVyKHN0cmluZy1yYW5nZSgvL3AsICdkaWZmaWN1bHQnLCAxLCAwKSkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9YUGF0aC94cHRyL3N0cnJhbmdlMyBiL2xpYnhtbDIvdGVzdC9YUGF0aC94cHRyL3N0cnJhbmdlMwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZWE1NjY1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L1hQYXRoL3hwdHIvc3RycmFuZ2UzCkBAIC0wLDAgKzEsNCBAQAoreHBvaW50ZXIoc3RyaW5nLXJhbmdlKC8vcCwgJ3Rlc3QnLCAxLCAwKSkKK3hwb2ludGVyKHN0cmluZy1yYW5nZSgvLyosICd0ZXN0JywgMSwgMCkpCit4cG9pbnRlcihzdHJpbmctcmFuZ2UoLy9wLCAndGVzdCcsIDEsIDApWzJdKQoreHBvaW50ZXIoc3RyaW5nLXJhbmdlKC8vKiwgJ3Rlc3QnLCAxLCAwKVsyXSkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9YUGF0aC94cHRyL3ZpZGJhc2UgYi9saWJ4bWwyL3Rlc3QvWFBhdGgveHB0ci92aWRiYXNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIxNDYzODMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvWFBhdGgveHB0ci92aWRiYXNlCkBAIC0wLDAgKzEsMiBAQAoreHBvaW50ZXIoaWQoJ2NoYXB0ZXIxJykvcCkKK3hwb2ludGVyKGlkKCdjaGFwdGVyMScpL3BbMV0vcmFuZ2UtdG8oZm9sbG93aW5nLXNpYmxpbmc6OnBbMl0pKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L1hQYXRoL3hwdHIvdmlkY2hpbGRzZXEgYi9saWJ4bWwyL3Rlc3QvWFBhdGgveHB0ci92aWRjaGlsZHNlcQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZTIwNWRjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L1hQYXRoL3hwdHIvdmlkY2hpbGRzZXEKQEAgLTAsMCArMSw0IEBACisvMS8yLzMKK2VsZW1lbnQoLzEvMi8zKQorY2hhcHRlcjEvMworZWxlbWVudChjaGFwdGVyMS8zKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L1hQYXRoL3hwdHIvdmlkcGFydHMgYi9saWJ4bWwyL3Rlc3QvWFBhdGgveHB0ci92aWRwYXJ0cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYWZiYmRkCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L1hQYXRoL3hwdHIvdmlkcGFydHMKQEAgLTAsMCArMSwzIEBACit4cG9pbnRlcihpZCgiY2hhcHRlcjEiKSkKK3hwb2ludGVyKC8vKltAaWQ9ImNoYXB0ZXIxIl0pCit4cG9pbnRlcihpZCgiY2hhcHRlcjEiKSl4cG9pbnRlcigvLypbQGlkPSJjaGFwdGVyMSJdKQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2F0dDEgYi9saWJ4bWwyL3Rlc3QvYXR0MQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MDllNWNjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2F0dDEKQEAgLTAsMCArMSwyIEBACis8ZG9jIGF0dHI9InRvIG5vcm1hbGl6ZQord2l0aCBhICAgIHNwYWNlIi8+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvYXR0MTAgYi9saWJ4bWwyL3Rlc3QvYXR0MTAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWMxNGRjNgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9hdHQxMApAQCAtMCwwICsxLDIyIEBACis8IURPQ1RZUEUgZG9jIFsKKzwhRUxFTUVOVCBkb2MgKHRzdCopPgorPCFFTEVNRU5UIHRzdCAoI1BDREFUQSk+Cis8IUFUVExJU1QgdHN0IGEgTk1UT0tFTlMgI0lNUExJRUQ+Cis8IUFUVExJU1QgdHN0IGIgQ0RBVEEgI0lNUExJRUQ+Cis8IUVOVElUWSBkICImI3hEOyI+Cis8IUVOVElUWSBhICImI3hBOyI+Cis8IUVOVElUWSBkYSAiJiN4RDsmI3hBOyI+CitdPgorPGRvYz4KKzx0c3QgYT0iCisKK3h5eiIgYj0iCisKK3h5eiIvPgorPHRzdCBhPSImZDsmZDtBJmE7JiN4MjA7JmE7QiZkYTsiIGI9IiZkOyZkO0EmYTsmI3gyMDsmYTtCJmRhOyIvPgorPHRzdCBhPSImI3hkOyYjeGQ7QSYjeGE7JiN4YTtCJiN4ZDsmI3hhOyIgYj0iJiN4ZDsmI3hkO0EmI3hhOyYjeGE7QiYjeGQ7JiN4YTsiLz4KKzx0c3QgYT0iJiMzMjt4JiMzMjsmIzMyO3kmIzMyOyIgYj0iJiMzMjt4JiMzMjsmIzMyO3kmIzMyOyIvPgorPHRzdCBhPSIgYSBiICIgYj0iIGEgYiAiLz4KKzx0c3QgYT0iICBhICBiICAiIGI9IiAgYSAgYiAgIi8+Cis8L2RvYz4KKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2F0dDExIGIvbGlieG1sMi90ZXN0L2F0dDExCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMyZmFhZjMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvYXR0MTEKQEAgLTAsMCArMSwxMyBAQAorPD94bWwgdmVyc2lvbj0nMS4wJyBzdGFuZGFsb25lPSd5ZXMnPz4KKzwhRE9DVFlQRSBhdHRyaWJ1dGVzIFsKKzwhRUxFTUVOVCBhdHRyaWJ1dGVzIEVNUFRZPgorPCFBVFRMSVNUIGF0dHJpYnV0ZXMKKyAgIG5tdG9rZW4gICAgTk1UT0tFTiAgICAjSU1QTElFRAorICAgbm10b2tlbnMgICBOTVRPS0VOUyAgICNJTVBMSUVEPgorPCFFTlRJVFkgZW50ICIgZW50aXR5JnJlY3Vyc2l2ZTsgIj4KKzwhRU5USVRZIHJlY3Vyc2l2ZSAicmVmZXJlbmNlIj4KK10+Cis8YXR0cmlidXRlcworICBubXRva2VuID0gICIgJmVudDsgICAmZW50OyAmZW50OyAiCisgIG5tdG9rZW5zID0gIiBUZXN0JiN4MGQ7JiN4MGE7ICAgICB0aGlzJiN4MjA7IG5vcm1hbGl6YXRpb24gIgorLz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9hdHQyIGIvbGlieG1sMi90ZXN0L2F0dDIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTYzMGZmNQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9hdHQyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9hdHQzIGIvbGlieG1sMi90ZXN0L2F0dDMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDU3NmZlYwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9hdHQzCkBAIC0wLDAgKzEgQEAKKzxzZWxlY3Qgb25jbGljaz0iYWFhYSYjMTA7ICAgICAgYmJiYiYjMTYwOyI+ZiYjMTYwO29vPC9zZWxlY3Q+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvYXR0NCBiL2xpYnhtbDIvdGVzdC9hdHQ0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJlOGJiY2EKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvYXR0NApAQCAtMCwwICsxLDkyNjQgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+DQorPCEtLSBlZGl0ZWQgd2l0aCBYTUwgU3B5IHY0LjQgVSAoaHR0cDovL3d3dy54bWxzcHkuY29tKSBieSBTbGF2YSAoR0lWQykgLS0+DQorPGVsZWN0cm94bWwgbW9kaWZpZWQ9IjIwMDIxMjE2VDA3MjcyNiI+DQorCTxkYXRhIGZyb209IjIwMDIxMDMxVDIyIiB0bz0iMjAwMjExMzBUMjIiPg0KKwkJPHNlbGVjdD4NCisJCQk8ZGV2aWNlIHNlcmlhbG51bWI9IkUwMDAwMzU2MiI+DQorCQkJCTxwYXIgbWVtaW5kPSIxMTM0MDAiIGg9IjNkYzFhOGRlIj4NCisJCQkJCTx2YWwgbz0iMCIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iZTA4IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxYzMyIiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIyYTNjIiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIzODM1IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSI0NjQ1IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSI1NDU1IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSI2MjY1IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSI3MDc1IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSI3ZTg1IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSI4Yzk2IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSI5YWE1IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSJhOGI2IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSJiNmM1IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSJjNGQ3IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSJkMzBiIiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSJlMGY2IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSJlZjA2IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSJmZDE3IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxMGIyNyIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMTE5MzciIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjEyNzQ2IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxMzU1NiIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMTQzNjYiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjE1MTgxIiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxNWY4NSIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMTZkOTUiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjE3YmE0IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxODliNSIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMTk3YzQiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjFhNWQ1IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxYjNlNiIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMWMxZjYiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjFkMDA1IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxZGUxNSIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMWVjMjUiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjFmYTM2IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIyMDg0NSIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMjE2NTYiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjIyNDY1IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIyMzI3NiIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMjQwODYiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjI0ZTk5IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIyNWNhNyIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMjZhYjciIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjI3OGM2IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIyODZkNiIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMjk0ZTYiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjJhMzAxIiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIyYjEwNSIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMmJmMTUiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjJjZDI1IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIyZGIzNSIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMmU5NDYiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjJmNzU1IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIzMDU2NiIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMzEzNzUiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjMyMTllIiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIzMmY5NiIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMzNkYTYiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjM0YmI2IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIzNTlkZSIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMzY3ZDYiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjM3NWU2IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIzODQwZSIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMzkyMWUiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjNhMDE2IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIzYWUyNyIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iM2JjMzYiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjNjYTQ3IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIzZDg1NiIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iM2U2NjciIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjNmNDgxIiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSI0MDI4NSIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iNDEwOTUiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjQxZWE1IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSI0MmNiNSIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iNDNhYzUiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjQ0OGQ1IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSI0NTZlNiIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iNDY0ZjUiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjQ4MGZmIiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSI0OGYwZSIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iNDlkMWQiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjRhYjQ2IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSI0Yjk1NSIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iNGM3NjkiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjRkNTc3IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSI0ZTM4NyIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iNGYxOTYiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjRmZmE2IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSI1MGRkMCIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iNTFiYzYiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjUyOWQ2IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSI1MzdlNyIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iNTQ2MDAiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjU1NDA2IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSI1NjIxNSIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iNTcwMjYiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjU3ZTM2IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSI1OGM0NiIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iNTlhNzAiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjVhODY3IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSI1YjY3NiIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iNWM0ODciIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjVkMjk2IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSI1ZTBhOSIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iNWVlYjgiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjVmY2M2IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSI2MGFkNyIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iNjE4ZTciIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjYyNmY3IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSI2MzUwNyIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iNjQzMTciIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjY1MTI3IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSI2NWYzNyIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iNjZkNDYiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjY3YjU3IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSI2ODk2NyIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iNjk3ODIiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjZhNTg2IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSI2YjM5NSIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iNmMxYTYiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjZjZmI1IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSI2ZGRjNiIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iNmViZDYiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjZmOWU2IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSI3MDdmNiIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iNzE2MDciIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjcyNDE3IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSI3MzIyNyIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iNzQwMzciIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89Ijc0ZTQ3IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSI3NWM1NyIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iNzZhNjMiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89Ijc3ODczIiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSI3ODY4MCIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iNzk0OGYiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjdhMjlmIiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSI3YjBhZiIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iN2JlYmYiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjdjY2NmIiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSI3ZGFkZiIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iN2U4ZmEiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjdmNzBhIiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSI4MDUxYSIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iODEzMmEiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjgyMTNhIiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSI4MmY0YSIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iODNkNWEiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89Ijg0YjZhIiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSI4NTk3YSIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iODY3OGIiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89Ijg3NTliIiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSI4ODNhYyIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iODkxYmIiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89Ijg5ZmNhIiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSI4YWRkYSIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iOGJiZWIiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjhjOWZjIiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSI4ZDgwYiIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iOGU2MWEiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjhmNDJhIiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSI5MDIzYSIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iOTEwNGEiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjkxZTVhIiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSI5MmM2YSIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iOTNhODQiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89Ijk0ODg1IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSI5NTY5NCIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iOTY0YTUiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89Ijk3MmI0IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSI5ODBjNSIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iOThlZDQiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89Ijk5Y2U1IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSI5YWFmNSIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iOWI5MDYiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjljNzE2IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSI5ZDUyNiIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iOWUzMzYiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjlmMTQ1IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSI5ZmY1NiIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iYTBkNjUiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89ImExYjc3IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSJhMjk4NiIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iYTM3OTUiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89ImE0NWE3IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSJhNTNiNiIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iYTYxYzciIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89ImE2ZmQ2IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSJhN2UwMCIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iYThjMDAiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89ImE5YTA1IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSJhYTgxNSIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iYWI2MjUiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89ImFjNDM1IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSJhZDI0NSIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iYWUwNTUiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89ImFlZTY1IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSJhZmM3NSIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iYjBhODUiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89ImIyNmE2IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSJiMzRiNiIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iYjQyYzYiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89ImI1MGQ2IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSJiNWVlNyIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iYjZjZjYiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89ImI3YjA3IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSJiODkxNyIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iYjk3MjgiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89ImJhNTM3IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSJiYjM0NyIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iYmMxNTciIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89ImJjZjY3IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSJiZGQ4MSIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iYmViODYiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89ImJmOTk1IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSJjMDdhNiIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iYzE1YjUiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89ImMyM2M2IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSJjMzFkNSIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iYzNmZTYiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89ImM0ZGY1IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSJjNWMwNiIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iYzZhMTYiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89ImM3ODI2IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSJjODYzNiIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iYzk0NDYiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89ImNhMjU2IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSJjYjA2NiIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iY2JlNzYiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89ImNjYzg3IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSJjZGE5NiIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iY2U4YTgiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89ImNmNmI3IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSJkMDRjOCIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iZDEyZDciIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89ImQyMGU3IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSJkMmYwMiIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iZDNkMDUiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89ImQ0YjE1IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSJkNTkyNiIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iZDY3MzUiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89ImQ3NTQ2IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSJkODM1NSIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iZDkxNjYiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89ImQ5Zjc1IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSJkYWQ4NyIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iZGJiOTciIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89ImRjOWE4IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSJkZDdiNyIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iZGU1YzYiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89ImRmM2Q3IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSJlMDFkNyIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iZTBmZTUiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89ImUxZGY1IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSJlMmMwNCIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iZTNhMTQiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89ImU0ODI0IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSJlNTYzNCIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iZTY0NDQiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89ImU3MjU1IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSJlODA2ZiIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iZThlN2YiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89ImU5YzhlIiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSJlYWE5ZiIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iZWI4YWUiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89ImVjNmJmIiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSJlZDRjZSIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iZWUyZGYiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89ImVmMGVmIiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSJlZmYwMSIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iZjBkMTAiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89ImYxYjIwIiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSJmMjkzMCIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iZjM3NDAiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89ImY0NTUxIiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSJmNTM2MSIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iZjYxNzIiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89ImY2ZjgwIiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSJmN2Q5MSIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iZjhiYTEiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89ImY5OWIxIiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSJmYTdjMCIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iZmI1ZDEiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89ImZjM2UwIiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSJmZDFmYiIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iZmUwMGIiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89ImZlZTFjIiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSJmZmMyYyIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMTAwYTNiIiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxMDE4NGMiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjEwMjY1YiIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMTAzNDZjIiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxMDQyN2IiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjEwNTA4ZCIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMTA1ZTlkIiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxMDZjYWQiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjEwN2FiZCIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMTA4OGNkIiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxMDk2ZGUiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjEwYTRlZCIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMTBiMmZlIiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxMGMxMGQiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjEwY2YxZSIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMTBkZDJlIiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxMGViNjYiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjEwZjk0ZSIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMTEwNzVlIiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxMTE1NmQiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjExMjM4OCIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMTEzMTg3IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxMTNmYjAiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjExNGRhNiIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMTE1YmI2IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxMTY5YzYiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjExNzdkNiIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMTE4NWU4IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxMTkzZjciIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjExYTIwOCIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMTFiMDE3IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxMWJlMmYiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjExY2MzNyIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMTFkYTQ3IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxMWU4NTciIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjExZjY2NyIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMTIwNTc4IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxMjEzODYiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjEyMjE5NiIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMTIyZmE2IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxMjNkYjUiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjEyNGJjNSIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMTI1OWQ1IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxMjY3ZTQiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjEyNzYwMCIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMTI4MzA1IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxMjkxMTUiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjEyOWYyNSIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMTJhZDM1IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxMmJiNDUiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjEyYzk1NCIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMTJkNzY2IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxMmU1NzUiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjEyZjM4NiIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMTMwMTk2IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxMzBmYTYiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjEzMWRiNyIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMTMyYmM1IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxMzM5ZDQiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjEzNDdlNSIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMTM1NWY0IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxMzY0MDQiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjEzNzIxNCIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMTM4MDI0IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxMzhlMzMiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjEzOWM0NCIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMTNhYTU0IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxM2I4NjUiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjEzYzY3ZSIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMTNkNDhlIiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxM2UyOWUiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjEzZjBhZSIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMTNmZWJmIiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxNDBjY2YiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjE0MWFkZiIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMTQyOGVmIiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxNDM2ZmYiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjE0NDUwZiIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMTQ1MzFmIiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxNDYxMzAiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjE0NmY0MCIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMTQ3ZDQ0IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxNDhiNTciIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjE0OTk2NSIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMTRhNzc1IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxNGI1ODQiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjE0YzM5NyIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMTRkMWE0IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxNGRmYjYiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjE0ZWRjNSIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMTRmYmQ1IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxNTA5ZTUiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjE1MTdmZiIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMTUyNjA1IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxNTM0MTUiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjE1NDIyNSIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMTU1MDM1IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxNTVlNDUiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjE1NmM1NSIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMTU3YTY1IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxNTg4NzUiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjE1OTY4NiIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMTVhNDk1IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxNWIyYTYiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjE1YzBiNiIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMTVjZWM2IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxNWRjZDUiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjE1ZWFlNiIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMTVmOGY1IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxNjA3MDYiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjE2MTUxNyIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMTYyMzI2IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxNjMxMzciIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjE2M2Y0NiIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMTY0ZDU3IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxNjViNjciIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjE2Njk4MiIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMTY3Nzg2IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxNjg1OTYiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjE2OTNhNiIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMTZhMWI1IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxNmFmYzYiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjE2YmRkNSIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMTZjYmU2IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxNmQ5ZjYiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjE2ZTgwNyIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMTZmNjE2IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxNzA0MjkiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjE3MTIzNiIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMTcyMDQ3IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxNzJlNTciIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjE3M2M2NyIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMTc0YTc3IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxNzU4ODciIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjE3NjY5NCIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMTc3NGEzIiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxNzgyYjMiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjE3OTBjNSIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMTc5ZWQ0IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxN2FjZTQiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjE3YmFmZCIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMTdjOTBmIiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxN2Q3MWUiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjE3ZTUyZiIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMTdmMzNmIiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxODAxNGYiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjE4MGY1ZiIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMTgxZDZlIiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxODJiN2YiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjE4Mzk4ZiIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMTg0N2ExIiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxODU1YWYiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjE4NjNjMCIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMTg3MWNmIiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxODdmZTAiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjE4OGRlZiIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMTg5YzAwIiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxOGI4MGQiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjE4YzYxYyIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMThkNDJjIiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxOGUyM2IiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjE4ZjA0YiIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMThmZTVlIiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxOTBjNzYiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjE5MWE4NiIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMTkyODk2IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxOTM2YTYiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjE5NDRiNyIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMTk1MmM2IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxOTYwZDciIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjE5NmVlNiIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMTk3Y2Y4IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxOThiMGYiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjE5OTkxZiIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMTliNTQxIiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxOWMzNGQiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjE5ZDE1ZSIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMTlkZjgwIiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxOWVkOTAiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjE5ZWViZSIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMTlmYjhlIiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxYTA5YTAiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjFhMTdhZSIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMWEyNWJlIiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxYTMzY2QiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjFhNDFkZCIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMWE0ZmVkIiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxYTVlMDgiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjFhNmMwNSIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMWE3YTE1IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxYTg4MjYiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjFhOTYzNyIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMWFhNDQ1IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxYWIyNTUiIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjFhYzA2NSIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMWFjZTc1IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxYWRjODciIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjFhZWE5NiIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMWFmOGE3IiB2PSI1MyIvPg0KKwkJCQkJPHZhbCBvPSIxYjA2YjciIHY9IjUzIi8+DQorCQkJCQk8dmFsIG89IjFiMTRjNiIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMWM3NDYwIiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIxYzgyNzAiIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjFjOTA3ZSIgdj0iNTUiLz4NCisJCQkJCTx2YWwgbz0iMWM5ZThmIiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIxY2FjYTIiIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjFjYmFiMSIgdj0iNTUiLz4NCisJCQkJCTx2YWwgbz0iMWNjOGMxIiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIxY2Q2ZDAiIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjFjZTRkZSIgdj0iNTUiLz4NCisJCQkJCTx2YWwgbz0iMWNmMmYwIiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIxZDAxMDkiIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjFkMGYwNiIgdj0iNTUiLz4NCisJCQkJCTx2YWwgbz0iMWQxZDE1IiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIxZDJiMjUiIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjFkMzkzNSIgdj0iNTUiLz4NCisJCQkJCTx2YWwgbz0iMWQ0NzQ1IiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIxZDU1NTUiIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjFkNjM2NiIgdj0iNTUiLz4NCisJCQkJCTx2YWwgbz0iMWQ3MTc1IiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIxZDdmODYiIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjFkOGQ5NSIgdj0iNTUiLz4NCisJCQkJCTx2YWwgbz0iMWQ5YmE2IiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIxZGE5YjYiIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjFkYjdjNyIgdj0iNTUiLz4NCisJCQkJCTx2YWwgbz0iMWRjNWQ1IiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIxZGQzZTYiIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjFkZTFmNSIgdj0iNTUiLz4NCisJCQkJCTx2YWwgbz0iMWRmMDA2IiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIxZGZlMTYiIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjFlMGMyNiIgdj0iNTUiLz4NCisJCQkJCTx2YWwgbz0iMWUxYTM2IiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIxZTI4NDciIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjFlMzY1OSIgdj0iNTUiLz4NCisJCQkJCTx2YWwgbz0iMWU0NDY3IiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIxZTUyODEiIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjFlNjA4NiIgdj0iNTUiLz4NCisJCQkJCTx2YWwgbz0iMWU2ZTk2IiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIxZTdjYTYiIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjFlOGFiNSIgdj0iNTUiLz4NCisJCQkJCTx2YWwgbz0iMWU5OGM2IiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIxZWE2ZDUiIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjFlYjRlNiIgdj0iNTUiLz4NCisJCQkJCTx2YWwgbz0iMWVjMmY2IiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIxZWQxMDYiIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjFlZGYxNiIgdj0iNTUiLz4NCisJCQkJCTx2YWwgbz0iMWVlZDI2IiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIxZWZiMzYiIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjFmMDk0NiIgdj0iNTUiLz4NCisJCQkJCTx2YWwgbz0iMWYxNzU2IiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIxZjI1NjYiIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjFmMzM3NiIgdj0iNTUiLz4NCisJCQkJCTx2YWwgbz0iMWY0MTg3IiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIxZjRmOTYiIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjFmNWRhNyIgdj0iNTUiLz4NCisJCQkJCTx2YWwgbz0iMWY2YmI2IiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIxZjc5YzciIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjFmODdkNiIgdj0iNTUiLz4NCisJCQkJCTx2YWwgbz0iMWY5NWU3IiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIxZmE0MDEiIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjFmYjIwNCIgdj0iNTUiLz4NCisJCQkJCTx2YWwgbz0iMWZjMDE2IiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIxZmNlMjUiIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjFmZGMzNSIgdj0iNTUiLz4NCisJCQkJCTx2YWwgbz0iMWZlYTQ1IiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIxZmY4NTUiIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjIwMDY2NSIgdj0iNTUiLz4NCisJCQkJCTx2YWwgbz0iMjAxNDc1IiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIyMDIyODYiIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjIwMzA5NSIgdj0iNTUiLz4NCisJCQkJCTx2YWwgbz0iMjAzZWE1IiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIyMDRjYjYiIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjIwNWFjNiIgdj0iNTUiLz4NCisJCQkJCTx2YWwgbz0iMjA2OGQ2IiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIyMDc2ZTYiIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjIwODRmNiIgdj0iNTUiLz4NCisJCQkJCTx2YWwgbz0iMjA5MzA2IiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIyMGExMTYiIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjIwYWYyNiIgdj0iNTUiLz4NCisJCQkJCTx2YWwgbz0iMjBiZDM3IiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIyMGNiNDYiIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjIwZDk1NyIgdj0iNTUiLz4NCisJCQkJCTx2YWwgbz0iMjBlNzY3IiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIyMGY1ODEiIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjIxMDM4NiIgdj0iNTUiLz4NCisJCQkJCTx2YWwgbz0iMjExMTk0IiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIyMTFmYTUiIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjIxMmRiNSIgdj0iNTUiLz4NCisJCQkJCTx2YWwgbz0iMjEzYmM1IiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIyMTQ5ZDYiIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjIxNTdlNSIgdj0iNTUiLz4NCisJCQkJCTx2YWwgbz0iMjE2NWY2IiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIyMTc0MDYiIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjIxODIxNyIgdj0iNTUiLz4NCisJCQkJCTx2YWwgbz0iMjE5MDI2IiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIyMTllMzkiIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjIxYWM0NiIgdj0iNTUiLz4NCisJCQkJCTx2YWwgbz0iMjFiYTU3IiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIyMWM4NjciIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjIxZDY3NyIgdj0iNTUiLz4NCisJCQkJCTx2YWwgbz0iMjFlNDg3IiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIyMWYyOTYiIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjIyMDBhNiIgdj0iNTUiLz4NCisJCQkJCTx2YWwgbz0iMjIwZWI3IiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIyMjFjYzYiIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjIyMmFkNyIgdj0iNTUiLz4NCisJCQkJCTx2YWwgbz0iMjIzOGU3IiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIyMjQ3MDEiIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjIyNTUwNSIgdj0iNTUiLz4NCisJCQkJCTx2YWwgbz0iMjI2MzE1IiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIyMjcxMjUiIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjIyN2YzNSIgdj0iNTUiLz4NCisJCQkJCTx2YWwgbz0iMjI4ZDQ1IiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIyMjliNTQiIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjIyYTk2NSIgdj0iNTUiLz4NCisJCQkJCTx2YWwgbz0iMjJiNzc2IiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIyMmM1ODYiIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjIyZDM5NyIgdj0iNTUiLz4NCisJCQkJCTx2YWwgbz0iMjJlMWE2IiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIyMmVmYjYiIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjIyZmRjNyIgdj0iNTUiLz4NCisJCQkJCTx2YWwgbz0iMjMwYmQ3IiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIyMzE5ZTYiIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjIzMjdmNiIgdj0iNTUiLz4NCisJCQkJCTx2YWwgbz0iMjMzNjFiIiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIyMzQ0MTYiIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjIzNTIyNiIgdj0iNTUiLz4NCisJCQkJCTx2YWwgbz0iMjM2MDM3IiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIyMzZlNDYiIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjIzN2M1NyIgdj0iNTUiLz4NCisJCQkJCTx2YWwgbz0iMjM4YTY2IiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIyMzk4ODEiIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjIzYTY4NSIgdj0iNTUiLz4NCisJCQkJCTx2YWwgbz0iMjNiNDk1IiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIyM2MyYTQiIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjIzZDBiNSIgdj0iNTUiLz4NCisJCQkJCTx2YWwgbz0iMjNkZWM0IiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIyM2VjZDUiIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjIzZmFlNCIgdj0iNTUiLz4NCisJCQkJCTx2YWwgbz0iMjQwOGY2IiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIyNDE3MDYiIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjI0MjUxOCIgdj0iNTUiLz4NCisJCQkJCTx2YWwgbz0iMjQzMzI1IiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIyNDQxMzciIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjI0NGY0NiIgdj0iNTUiLz4NCisJCQkJCTx2YWwgbz0iMjQ2YjY2IiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIyNDc5NzYiIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjI0ODc4NiIgdj0iNTUiLz4NCisJCQkJCTx2YWwgbz0iMjQ5NTdlIiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIyNGEzOGYiIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjI0YjE5YyIgdj0iNTUiLz4NCisJCQkJCTx2YWwgbz0iMjRiZmFjIiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIyNGNkYmMiIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjI0ZGJjZCIgdj0iNTUiLz4NCisJCQkJCTx2YWwgbz0iMjRlOWU1IiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIyNGY4MDgiIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjI1MDYxNiIgdj0iNTUiLz4NCisJCQkJCTx2YWwgbz0iMjUxNDI2IiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIyNTIyMzYiIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjI1MzA0NyIgdj0iNTUiLz4NCisJCQkJCTx2YWwgbz0iMjUzZTU2IiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIyNTRjNjciIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjI1NWE3NiIgdj0iNTUiLz4NCisJCQkJCTx2YWwgbz0iMjU2ODg3IiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIyNTc2OTciIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjI1ODRhOCIgdj0iNTUiLz4NCisJCQkJCTx2YWwgbz0iMjU5MmI2IiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIyNWEwYzciIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjI1YWVkNyIgdj0iNTUiLz4NCisJCQkJCTx2YWwgbz0iMjViY2U3IiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIyNWNhZjgiIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjI1ZDkwNyIgdj0iNTUiLz4NCisJCQkJCTx2YWwgbz0iMjVlNzE4IiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIyNWY1MjciIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjI2MDMzOCIgdj0iNTUiLz4NCisJCQkJCTx2YWwgbz0iMjYxMTQ5IiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIyNjFmNTkiIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjI2MmQ2OCIgdj0iNTUiLz4NCisJCQkJCTx2YWwgbz0iMjYzYjgzIiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIyNjQ5ODYiIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjI2NTc5NSIgdj0iNTUiLz4NCisJCQkJCTx2YWwgbz0iMjY2NWE2IiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIyNjczYjUiIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjI2ODFjNiIgdj0iNTUiLz4NCisJCQkJCTx2YWwgbz0iMjY4ZmQ1IiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIyNjlkZTYiIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjI2YWJmNiIgdj0iNTUiLz4NCisJCQkJCTx2YWwgbz0iMjZiYTA2IiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIyNmM4MTciIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjI2ZDYyYiIgdj0iNTUiLz4NCisJCQkJCTx2YWwgbz0iMjZlNDM2IiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIyNmYyNDciIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjI3MDA1NyIgdj0iNTUiLz4NCisJCQkJCTx2YWwgbz0iMjcwZTY3IiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIyNzFjNzciIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjI3MmE4NyIgdj0iNTUiLz4NCisJCQkJCTx2YWwgbz0iMjczODk3IiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIyNzQ2YTgiIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjI3NTRiOSIgdj0iNTUiLz4NCisJCQkJCTx2YWwgbz0iMjc2MmM3IiB2PSI1NSIvPg0KKwkJCQkJPHZhbCBvPSIyNzcwZDgiIHY9IjU1Ii8+DQorCQkJCQk8dmFsIG89IjI3N2VlNyIgdj0iNTUiLz4NCisJCQkJPC9wYXI+DQorCQkJCTxwYXIgbWVtaW5kPSIxNjkzNjYwMCIgaD0iM2RjMWE4ZGUiPg0KKwkJCQkJPHZhbCBvPSIwIiB2PSIxOTYuNCIvPg0KKwkJCQkJPHZhbCBvPSJlMDgiIHY9IjE5OS41Ii8+DQorCQkJCQk8dmFsIG89IjFjMzIiIHY9IjIwMC44Ii8+DQorCQkJCQk8dmFsIG89IjJhM2MiIHY9IjIwMS44Ii8+DQorCQkJCQk8dmFsIG89IjM4MzUiIHY9IjE5OS45Ii8+DQorCQkJCQk8dmFsIG89IjQ2NDUiIHY9IjE5Ny45Ii8+DQorCQkJCQk8dmFsIG89IjU0NTUiIHY9IjE5My4yIi8+DQorCQkJCQk8dmFsIG89IjYyNjUiIHY9IjE5Ny42Ii8+DQorCQkJCQk8dmFsIG89IjcwNzUiIHY9IjE5NS42Ii8+DQorCQkJCQk8dmFsIG89IjdlODUiIHY9IjE5Mi43Ii8+DQorCQkJCQk8dmFsIG89IjhjOTYiIHY9IjE5NS4zIi8+DQorCQkJCQk8dmFsIG89IjlhYTUiIHY9IjE5NS40Ii8+DQorCQkJCQk8dmFsIG89ImE4YjYiIHY9IjE5NS42Ii8+DQorCQkJCQk8dmFsIG89ImI2YzUiIHY9IjE5Ny4zIi8+DQorCQkJCQk8dmFsIG89ImM0ZDciIHY9IjIyMi42Ii8+DQorCQkJCQk8dmFsIG89ImQzMGIiIHY9IjIyMC45Ii8+DQorCQkJCQk8dmFsIG89ImUwZjYiIHY9IjIyMi44Ii8+DQorCQkJCQk8dmFsIG89ImVmMDYiIHY9IjE4MCIvPg0KKwkJCQkJPHZhbCBvPSJmZDE3IiB2PSIxODAiLz4NCisJCQkJCTx2YWwgbz0iMTBiMjciIHY9IjIyMS40Ii8+DQorCQkJCQk8dmFsIG89IjExOTM3IiB2PSIyMjIuMiIvPg0KKwkJCQkJPHZhbCBvPSIxMjc0NiIgdj0iMjIyLjUiLz4NCisJCQkJCTx2YWwgbz0iMTM1NTYiIHY9IjIyMC41Ii8+DQorCQkJCQk8dmFsIG89IjE0MzY2IiB2PSIyMjAuOCIvPg0KKwkJCQkJPHZhbCBvPSIxNTE4MSIgdj0iMjIwIi8+DQorCQkJCQk8dmFsIG89IjE1Zjg1IiB2PSIyMjEuMiIvPg0KKwkJCQkJPHZhbCBvPSIxNmQ5NSIgdj0iMjIwLjMiLz4NCisJCQkJCTx2YWwgbz0iMTdiYTQiIHY9IjIyMS4xIi8+DQorCQkJCQk8dmFsIG89IjE4OWI1IiB2PSIyMjAuNiIvPg0KKwkJCQkJPHZhbCBvPSIxOTdjNCIgdj0iMjIwLjkiLz4NCisJCQkJCTx2YWwgbz0iMWE1ZDUiIHY9IjIxOS4yIi8+DQorCQkJCQk8dmFsIG89IjFiM2U2IiB2PSIyMTkuMyIvPg0KKwkJCQkJPHZhbCBvPSIxYzFmNiIgdj0iMjIwLjUiLz4NCisJCQkJCTx2YWwgbz0iMWQwMDUiIHY9IjIyMC43Ii8+DQorCQkJCQk8dmFsIG89IjFkZTE1IiB2PSIyMjAuMSIvPg0KKwkJCQkJPHZhbCBvPSIxZWMyNSIgdj0iMjIwLjQiLz4NCisJCQkJCTx2YWwgbz0iMWZhMzYiIHY9IjIyMC4xIi8+DQorCQkJCQk8dmFsIG89IjIwODQ1IiB2PSIyMjAuMSIvPg0KKwkJCQkJPHZhbCBvPSIyMTY1NiIgdj0iMjIwLjciLz4NCisJCQkJCTx2YWwgbz0iMjI0NjUiIHY9IjIyMC43Ii8+DQorCQkJCQk8dmFsIG89IjIzMjc2IiB2PSIyMjAuNSIvPg0KKwkJCQkJPHZhbCBvPSIyNDA4NiIgdj0iMTgwIi8+DQorCQkJCQk8dmFsIG89IjI0ZTk5IiB2PSIyMjIiLz4NCisJCQkJCTx2YWwgbz0iMjVjYTciIHY9IjIyMS44Ii8+DQorCQkJCQk8dmFsIG89IjI2YWI3IiB2PSIyMjAuNiIvPg0KKwkJCQkJPHZhbCBvPSIyNzhjNiIgdj0iMTgwIi8+DQorCQkJCQk8dmFsIG89IjI4NmQ2IiB2PSIyMjAuOCIvPg0KKwkJCQkJPHZhbCBvPSIyOTRlNiIgdj0iMjE4LjkiLz4NCisJCQkJCTx2YWwgbz0iMmEzMDEiIHY9IjIyMCIvPg0KKwkJCQkJPHZhbCBvPSIyYjEwNSIgdj0iMTgwIi8+DQorCQkJCQk8dmFsIG89IjJiZjE1IiB2PSIxODAiLz4NCisJCQkJCTx2YWwgbz0iMmNkMjUiIHY9IjIxOC44Ii8+DQorCQkJCQk8dmFsIG89IjJkYjM1IiB2PSIxODAiLz4NCisJCQkJCTx2YWwgbz0iMmU5NDYiIHY9IjE4MCIvPg0KKwkJCQkJPHZhbCBvPSIyZjc1NSIgdj0iMTgwIi8+DQorCQkJCQk8dmFsIG89IjMwNTY2IiB2PSIyMTkuOSIvPg0KKwkJCQkJPHZhbCBvPSIzMTM3NSIgdj0iMjIwLjUiLz4NCisJCQkJCTx2YWwgbz0iMzIxOWUiIHY9IjIxOS43Ii8+DQorCQkJCQk8dmFsIG89IjMyZjk2IiB2PSIyMjAuOCIvPg0KKwkJCQkJPHZhbCBvPSIzM2RhNiIgdj0iMjIwLjYiLz4NCisJCQkJCTx2YWwgbz0iMzRiYjYiIHY9IjIxOSIvPg0KKwkJCQkJPHZhbCBvPSIzNTlkZSIgdj0iMjIwLjMiLz4NCisJCQkJCTx2YWwgbz0iMzY3ZDYiIHY9IjIxOS4zIi8+DQorCQkJCQk8dmFsIG89IjM3NWU2IiB2PSIxODAiLz4NCisJCQkJCTx2YWwgbz0iMzg0MGUiIHY9IjE4MCIvPg0KKwkJCQkJPHZhbCBvPSIzOTIxZSIgdj0iMTgwIi8+DQorCQkJCQk8dmFsIG89IjNhMDE2IiB2PSIxODAiLz4NCisJCQkJCTx2YWwgbz0iM2FlMjciIHY9IjIyMC45Ii8+DQorCQkJCQk8dmFsIG89IjNiYzM2IiB2PSIyMjAuMSIvPg0KKwkJCQkJPHZhbCBvPSIzY2E0NyIgdj0iMTgwIi8+DQorCQkJCQk8dmFsIG89IjNkODU2IiB2PSIyMjEuNCIvPg0KKwkJCQkJPHZhbCBvPSIzZTY2NyIgdj0iMjIwLjIiLz4NCisJCQkJCTx2YWwgbz0iM2Y0ODEiIHY9IjIxNy42Ii8+DQorCQkJCQk8dmFsIG89IjQwMjg1IiB2PSIyMTguNCIvPg0KKwkJCQkJPHZhbCBvPSI0MTA5NSIgdj0iMjE4LjEiLz4NCisJCQkJCTx2YWwgbz0iNDFlYTUiIHY9IjIxOC43Ii8+DQorCQkJCQk8dmFsIG89IjQyY2I1IiB2PSIyMTkuOSIvPg0KKwkJCQkJPHZhbCBvPSI0M2FjNSIgdj0iMjE4LjciLz4NCisJCQkJCTx2YWwgbz0iNDQ4ZDUiIHY9IjE4MCIvPg0KKwkJCQkJPHZhbCBvPSI0NTZlNiIgdj0iMjIwLjciLz4NCisJCQkJCTx2YWwgbz0iNDY0ZjUiIHY9IjIyMi43Ii8+DQorCQkJCQk8dmFsIG89IjQ4MGZmIiB2PSIxODAiLz4NCisJCQkJCTx2YWwgbz0iNDhmMGUiIHY9IjE4MCIvPg0KKwkJCQkJPHZhbCBvPSI0OWQxZCIgdj0iMTgwIi8+DQorCQkJCQk8dmFsIG89IjRhYjQ2IiB2PSIxODAiLz4NCisJCQkJCTx2YWwgbz0iNGI5NTUiIHY9IjE4MCIvPg0KKwkJCQkJPHZhbCBvPSI0Yzc2OSIgdj0iMTgwIi8+DQorCQkJCQk8dmFsIG89IjRkNTc3IiB2PSIxODAiLz4NCisJCQkJCTx2YWwgbz0iNGUzODciIHY9IjE4MCIvPg0KKwkJCQkJPHZhbCBvPSI0ZjE5NiIgdj0iMTgwIi8+DQorCQkJCQk8dmFsIG89IjRmZmE2IiB2PSIxODAiLz4NCisJCQkJCTx2YWwgbz0iNTBkZDAiIHY9IjE4MCIvPg0KKwkJCQkJPHZhbCBvPSI1MWJjNiIgdj0iMTgwIi8+DQorCQkJCQk8dmFsIG89IjUyOWQ2IiB2PSIxODAiLz4NCisJCQkJCTx2YWwgbz0iNTM3ZTciIHY9IjIyMC41Ii8+DQorCQkJCQk8dmFsIG89IjU0NjAwIiB2PSIyMTguOSIvPg0KKwkJCQkJPHZhbCBvPSI1NTQwNiIgdj0iMjE5LjMiLz4NCisJCQkJCTx2YWwgbz0iNTYyMTUiIHY9IjIxOS42Ii8+DQorCQkJCQk8dmFsIG89IjU3MDI2IiB2PSIyMTkuMyIvPg0KKwkJCQkJPHZhbCBvPSI1N2UzNiIgdj0iMjE5LjciLz4NCisJCQkJCTx2YWwgbz0iNThjNDYiIHY9IjIyMC40Ii8+DQorCQkJCQk8dmFsIG89IjU5YTcwIiB2PSIyMjAuNSIvPg0KKwkJCQkJPHZhbCBvPSI1YTg2NyIgdj0iMjIxLjgiLz4NCisJCQkJCTx2YWwgbz0iNWI2NzYiIHY9IjE4MCIvPg0KKwkJCQkJPHZhbCBvPSI1YzQ4NyIgdj0iMTgwIi8+DQorCQkJCQk8dmFsIG89IjVkMjk2IiB2PSIxODAiLz4NCisJCQkJCTx2YWwgbz0iNWUwYTkiIHY9IjIyMi41Ii8+DQorCQkJCQk8dmFsIG89IjVlZWI4IiB2PSIyMjQuNSIvPg0KKwkJCQkJPHZhbCBvPSI1ZmNjNiIgdj0iMjIzLjYiLz4NCisJCQkJCTx2YWwgbz0iNjBhZDciIHY9IjE4MCIvPg0KKwkJCQkJPHZhbCBvPSI2MThlNyIgdj0iMTgwIi8+DQorCQkJCQk8dmFsIG89IjYyNmY3IiB2PSIxODAiLz4NCisJCQkJCTx2YWwgbz0iNjM1MDciIHY9IjE4MCIvPg0KKwkJCQkJPHZhbCBvPSI2NDMxNyIgdj0iMTgwIi8+DQorCQkJCQk8dmFsIG89IjY1MTI3IiB2PSIyMjIuMyIvPg0KKwkJCQkJPHZhbCBvPSI2NWYzNyIgdj0iMjIyLjYiLz4NCisJCQkJCTx2YWwgbz0iNjZkNDYiIHY9IjIyMC44Ii8+DQorCQkJCQk8dmFsIG89IjY3YjU3IiB2PSIyMjAuOCIvPg0KKwkJCQkJPHZhbCBvPSI2ODk2NyIgdj0iMjIwLjIiLz4NCisJCQkJCTx2YWwgbz0iNjk3ODIiIHY9IjIyMC4yIi8+DQorCQkJCQk8dmFsIG89IjZhNTg2IiB2PSIyMTkuMyIvPg0KKwkJCQkJPHZhbCBvPSI2YjM5NSIgdj0iMjE5LjgiLz4NCisJCQkJCTx2YWwgbz0iNmMxYTYiIHY9IjIxOSIvPg0KKwkJCQkJPHZhbCBvPSI2Y2ZiNSIgdj0iMjE4LjciLz4NCisJCQkJCTx2YWwgbz0iNmRkYzYiIHY9IjIyMC43Ii8+DQorCQkJCQk8dmFsIG89IjZlYmQ2IiB2PSIxODAiLz4NCisJCQkJCTx2YWwgbz0iNmY5ZTYiIHY9IjIyMS44Ii8+DQorCQkJCQk8dmFsIG89IjcwN2Y2IiB2PSIyMjIuOCIvPg0KKwkJCQkJPHZhbCBvPSI3MTYwNyIgdj0iMTgwIi8+DQorCQkJCQk8dmFsIG89IjcyNDE3IiB2PSIxODAiLz4NCisJCQkJCTx2YWwgbz0iNzMyMjciIHY9IjE4MCIvPg0KKwkJCQkJPHZhbCBvPSI3NDAzNyIgdj0iMjIzLjgiLz4NCisJCQkJCTx2YWwgbz0iNzRlNDciIHY9IjIyMy40Ii8+DQorCQkJCQk8dmFsIG89Ijc1YzU3IiB2PSIxODAiLz4NCisJCQkJCTx2YWwgbz0iNzZhNjMiIHY9IjE4MCIvPg0KKwkJCQkJPHZhbCBvPSI3Nzg3MyIgdj0iMTgwIi8+DQorCQkJCQk8dmFsIG89Ijc4NjgwIiB2PSIxODAiLz4NCisJCQkJCTx2YWwgbz0iNzk0OGYiIHY9IjE4MCIvPg0KKwkJCQkJPHZhbCBvPSI3YTI5ZiIgdj0iMTgwIi8+DQorCQkJCQk8dmFsIG89IjdiMGFmIiB2PSIyMjIuMSIvPg0KKwkJCQkJPHZhbCBvPSI3YmViZiIgdj0iMjIxIi8+DQorCQkJCQk8dmFsIG89IjdjY2NmIiB2PSIyMTkuNSIvPg0KKwkJCQkJPHZhbCBvPSI3ZGFkZiIgdj0iMjE5LjkiLz4NCisJCQkJCTx2YWwgbz0iN2U4ZmEiIHY9IjIyMC44Ii8+DQorCQkJCQk8dmFsIG89IjdmNzBhIiB2PSIyMjAuOCIvPg0KKwkJCQkJPHZhbCBvPSI4MDUxYSIgdj0iMjE3LjkiLz4NCisJCQkJCTx2YWwgbz0iODEzMmEiIHY9IjIxOSIvPg0KKwkJCQkJPHZhbCBvPSI4MjEzYSIgdj0iMjE4LjYiLz4NCisJCQkJCTx2YWwgbz0iODJmNGEiIHY9IjIxOS40Ii8+DQorCQkJCQk8dmFsIG89IjgzZDVhIiB2PSIyMTkuNyIvPg0KKwkJCQkJPHZhbCBvPSI4NGI2YSIgdj0iMTgwIi8+DQorCQkJCQk8dmFsIG89Ijg1OTdhIiB2PSIxODAiLz4NCisJCQkJCTx2YWwgbz0iODY3OGIiIHY9IjE4MCIvPg0KKwkJCQkJPHZhbCBvPSI4NzU5YiIgdj0iMTgwIi8+DQorCQkJCQk8dmFsIG89Ijg4M2FjIiB2PSIyMjMuMSIvPg0KKwkJCQkJPHZhbCBvPSI4OTFiYiIgdj0iMjIyIi8+DQorCQkJCQk8dmFsIG89Ijg5ZmNhIiB2PSIyMjQuMiIvPg0KKwkJCQkJPHZhbCBvPSI4YWRkYSIgdj0iMTgwIi8+DQorCQkJCQk8dmFsIG89IjhiYmViIiB2PSIxODAiLz4NCisJCQkJCTx2YWwgbz0iOGM5ZmMiIHY9IjE4MCIvPg0KKwkJCQkJPHZhbCBvPSI4ZDgwYiIgdj0iMTgwIi8+DQorCQkJCQk8dmFsIG89IjhlNjFhIiB2PSIxODAiLz4NCisJCQkJCTx2YWwgbz0iOGY0MmEiIHY9IjE4MCIvPg0KKwkJCQkJPHZhbCBvPSI5MDIzYSIgdj0iMTgwIi8+DQorCQkJCQk8dmFsIG89IjkxMDRhIiB2PSIyMjAuNCIvPg0KKwkJCQkJPHZhbCBvPSI5MWU1YSIgdj0iMTgwIi8+DQorCQkJCQk8dmFsIG89IjkyYzZhIiB2PSIyMTkuNiIvPg0KKwkJCQkJPHZhbCBvPSI5M2E4NCIgdj0iMjE5LjIiLz4NCisJCQkJCTx2YWwgbz0iOTQ4ODUiIHY9IjIxOSIvPg0KKwkJCQkJPHZhbCBvPSI5NTY5NCIgdj0iMjE4LjUiLz4NCisJCQkJCTx2YWwgbz0iOTY0YTUiIHY9IjIxOS4zIi8+DQorCQkJCQk8dmFsIG89Ijk3MmI0IiB2PSIyMTkuNCIvPg0KKwkJCQkJPHZhbCBvPSI5ODBjNSIgdj0iMjIxIi8+DQorCQkJCQk8dmFsIG89Ijk4ZWQ0IiB2PSIyMjAuNyIvPg0KKwkJCQkJPHZhbCBvPSI5OWNlNSIgdj0iMTgwIi8+DQorCQkJCQk8dmFsIG89IjlhYWY1IiB2PSIxODAiLz4NCisJCQkJCTx2YWwgbz0iOWI5MDYiIHY9IjIyNS4yIi8+DQorCQkJCQk8dmFsIG89IjljNzE2IiB2PSIyMjUiLz4NCisJCQkJCTx2YWwgbz0iOWQ1MjYiIHY9IjIyMi42Ii8+DQorCQkJCQk8dmFsIG89IjllMzM2IiB2PSIyMjMuNiIvPg0KKwkJCQkJPHZhbCBvPSI5ZjE0NSIgdj0iMjI0LjEiLz4NCisJCQkJCTx2YWwgbz0iOWZmNTYiIHY9IjIyMy4yIi8+DQorCQkJCQk8dmFsIG89ImEwZDY1IiB2PSIxODAiLz4NCisJCQkJCTx2YWwgbz0iYTFiNzciIHY9IjE5NS45Ii8+DQorCQkJCQk8dmFsIG89ImEyOTg2IiB2PSIxOTAiLz4NCisJCQkJCTx2YWwgbz0iYTM3OTUiIHY9IjEyMi4zIi8+DQorCQkJCQk8dmFsIG89ImE0NWE3IiB2PSIzNTQuNiIvPg0KKwkJCQkJPHZhbCBvPSJhNTNiNiIgdj0iMzMzLjIiLz4NCisJCQkJCTx2YWwgbz0iYTYxYzciIHY9IjMyMy4zIi8+DQorCQkJCQk8dmFsIG89ImE2ZmQ2IiB2PSIyNzguMSIvPg0KKwkJCQkJPHZhbCBvPSJhN2UwMCIgdj0iMjg2LjIiLz4NCisJCQkJCTx2YWwgbz0iYThjMDAiIHY9IjI5Mi4zIi8+DQorCQkJCQk8dmFsIG89ImE5YTA1IiB2PSIyMS40Ii8+DQorCQkJCQk8dmFsIG89ImFhODE1IiB2PSIyNzMuNyIvPg0KKwkJCQkJPHZhbCBvPSJhYjYyNSIgdj0iMjcyLjkiLz4NCisJCQkJCTx2YWwgbz0iYWM0MzUiIHY9IjI4NS40Ii8+DQorCQkJCQk8dmFsIG89ImFkMjQ1IiB2PSIyOC41Ii8+DQorCQkJCQk8dmFsIG89ImFlMDU1IiB2PSI2OC40Ii8+DQorCQkJCQk8dmFsIG89ImFlZTY1IiB2PSIxNDcuMSIvPg0KKwkJCQkJPHZhbCBvPSJhZmM3NSIgdj0iOTUuNyIvPg0KKwkJCQkJPHZhbCBvPSJiMGE4NSIgdj0iODkuNiIvPg0KKwkJCQkJPHZhbCBvPSJiMjZhNiIgdj0iODguMyIvPg0KKwkJCQkJPHZhbCBvPSJiMzRiNiIgdj0iOTIuNCIvPg0KKwkJCQkJPHZhbCBvPSJiNDJjNiIgdj0iMTQ5LjciLz4NCisJCQkJCTx2YWwgbz0iYjUwZDYiIHY9IjE0OC43Ii8+DQorCQkJCQk8dmFsIG89ImI1ZWU3IiB2PSIxMjcuNyIvPg0KKwkJCQkJPHZhbCBvPSJiNmNmNiIgdj0iMTk4LjIiLz4NCisJCQkJCTx2YWwgbz0iYjdiMDciIHY9IjE4Ny4yIi8+DQorCQkJCQk8dmFsIG89ImI4OTE3IiB2PSIxODIuMSIvPg0KKwkJCQkJPHZhbCBvPSJiOTcyOCIgdj0iMTk1LjgiLz4NCisJCQkJCTx2YWwgbz0iYmE1MzciIHY9IjIwMy44Ii8+DQorCQkJCQk8dmFsIG89ImJiMzQ3IiB2PSIxMjQuNSIvPg0KKwkJCQkJPHZhbCBvPSJiYzE1NyIgdj0iMTU5LjIiLz4NCisJCQkJCTx2YWwgbz0iYmNmNjciIHY9IjIzMC42Ii8+DQorCQkJCQk8dmFsIG89ImJkZDgxIiB2PSI3OS44Ii8+DQorCQkJCQk8dmFsIG89ImJlYjg2IiB2PSI1MS4zIi8+DQorCQkJCQk8dmFsIG89ImJmOTk1IiB2PSIyMi41Ii8+DQorCQkJCQk8dmFsIG89ImMwN2E2IiB2PSIzMjMuNyIvPg0KKwkJCQkJPHZhbCBvPSJjMTViNSIgdj0iMzQxLjYiLz4NCisJCQkJCTx2YWwgbz0iYzIzYzYiIHY9IjQ2LjQiLz4NCisJCQkJCTx2YWwgbz0iYzMxZDUiIHY9IjcxLjkiLz4NCisJCQkJCTx2YWwgbz0iYzNmZTYiIHY9IjcxLjkiLz4NCisJCQkJCTx2YWwgbz0iYzRkZjUiIHY9IjYzLjQiLz4NCisJCQkJCTx2YWwgbz0iYzVjMDYiIHY9Ijc2LjQiLz4NCisJCQkJCTx2YWwgbz0iYzZhMTYiIHY9IjU4LjQiLz4NCisJCQkJCTx2YWwgbz0iYzc4MjYiIHY9IjkyIi8+DQorCQkJCQk8dmFsIG89ImM4NjM2IiB2PSI3OS42Ii8+DQorCQkJCQk8dmFsIG89ImM5NDQ2IiB2PSI2My4xIi8+DQorCQkJCQk8dmFsIG89ImNhMjU2IiB2PSI1MS4zIi8+DQorCQkJCQk8dmFsIG89ImNiMDY2IiB2PSI4MS43Ii8+DQorCQkJCQk8dmFsIG89ImNiZTc2IiB2PSIyMDUuMyIvPg0KKwkJCQkJPHZhbCBvPSJjY2M4NyIgdj0iOTYuMSIvPg0KKwkJCQkJPHZhbCBvPSJjZGE5NiIgdj0iOTUuNyIvPg0KKwkJCQkJPHZhbCBvPSJjZThhOCIgdj0iOTYuNyIvPg0KKwkJCQkJPHZhbCBvPSJjZjZiNyIgdj0iOTIuOCIvPg0KKwkJCQkJPHZhbCBvPSJkMDRjOCIgdj0iOTEuNCIvPg0KKwkJCQkJPHZhbCBvPSJkMTJkNyIgdj0iODYuMSIvPg0KKwkJCQkJPHZhbCBvPSJkMjBlNyIgdj0iMjcwIi8+DQorCQkJCQk8dmFsIG89ImQyZjAyIiB2PSIyNzAuNCIvPg0KKwkJCQkJPHZhbCBvPSJkM2QwNSIgdj0iMjk2LjciLz4NCisJCQkJCTx2YWwgbz0iZDRiMTUiIHY9IjMwNi44Ii8+DQorCQkJCQk8dmFsIG89ImQ1OTI2IiB2PSIzMzEuNyIvPg0KKwkJCQkJPHZhbCBvPSJkNjczNSIgdj0iMTMuNyIvPg0KKwkJCQkJPHZhbCBvPSJkNzU0NiIgdj0iNDYuNCIvPg0KKwkJCQkJPHZhbCBvPSJkODM1NSIgdj0iMjYyLjEiLz4NCisJCQkJCTx2YWwgbz0iZDkxNjYiIHY9IjE2Ni4yIi8+DQorCQkJCQk8dmFsIG89ImQ5Zjc1IiB2PSIxNDMuNiIvPg0KKwkJCQkJPHZhbCBvPSJkYWQ4NyIgdj0iMTI3LjIiLz4NCisJCQkJCTx2YWwgbz0iZGJiOTciIHY9IjEzMi43Ii8+DQorCQkJCQk8dmFsIG89ImRjOWE4IiB2PSIxMjguMyIvPg0KKwkJCQkJPHZhbCBvPSJkZDdiNyIgdj0iMTU1LjYiLz4NCisJCQkJCTx2YWwgbz0iZGU1YzYiIHY9IjE3MC44Ii8+DQorCQkJCQk8dmFsIG89ImRmM2Q3IiB2PSIxNzYuMSIvPg0KKwkJCQkJPHZhbCBvPSJlMDFkNyIgdj0iMTc2LjgiLz4NCisJCQkJCTx2YWwgbz0iZTBmZTUiIHY9IjE2OC44Ii8+DQorCQkJCQk8dmFsIG89ImUxZGY1IiB2PSIxNzIuMiIvPg0KKwkJCQkJPHZhbCBvPSJlMmMwNCIgdj0iMTg1LjIiLz4NCisJCQkJCTx2YWwgbz0iZTNhMTQiIHY9IjE5Ni4zIi8+DQorCQkJCQk8dmFsIG89ImU0ODI0IiB2PSIxNzguNSIvPg0KKwkJCQkJPHZhbCBvPSJlNTYzNCIgdj0iMTkzLjciLz4NCisJCQkJCTx2YWwgbz0iZTY0NDQiIHY9IjE3Ni4yIi8+DQorCQkJCQk8dmFsIG89ImU3MjU1IiB2PSIxOTYuNyIvPg0KKwkJCQkJPHZhbCBvPSJlODA2ZiIgdj0iMjAyLjIiLz4NCisJCQkJCTx2YWwgbz0iZThlN2YiIHY9Ijk5LjkiLz4NCisJCQkJCTx2YWwgbz0iZTljOGUiIHY9IjEzMC4yIi8+DQorCQkJCQk8dmFsIG89ImVhYTlmIiB2PSIxMzIuOSIvPg0KKwkJCQkJPHZhbCBvPSJlYjhhZSIgdj0iMTIxLjciLz4NCisJCQkJCTx2YWwgbz0iZWM2YmYiIHY9IjEwMC45Ii8+DQorCQkJCQk8dmFsIG89ImVkNGNlIiB2PSIxOTIuOSIvPg0KKwkJCQkJPHZhbCBvPSJlZTJkZiIgdj0iMTUzLjciLz4NCisJCQkJCTx2YWwgbz0iZWYwZWYiIHY9IjE3MC40Ii8+DQorCQkJCQk8dmFsIG89ImVmZjAxIiB2PSIxNTUuMiIvPg0KKwkJCQkJPHZhbCBvPSJmMGQxMCIgdj0iMTY3LjMiLz4NCisJCQkJCTx2YWwgbz0iZjFiMjAiIHY9IjE2NS41Ii8+DQorCQkJCQk8dmFsIG89ImYyOTMwIiB2PSIxODQuMyIvPg0KKwkJCQkJPHZhbCBvPSJmMzc0MCIgdj0iMTU5LjIiLz4NCisJCQkJCTx2YWwgbz0iZjQ1NTEiIHY9IjE2My40Ii8+DQorCQkJCQk8dmFsIG89ImY1MzYxIiB2PSIxNjMuNSIvPg0KKwkJCQkJPHZhbCBvPSJmNjE3MiIgdj0iMTYwLjgiLz4NCisJCQkJCTx2YWwgbz0iZjZmODAiIHY9IjE2NSIvPg0KKwkJCQkJPHZhbCBvPSJmN2Q5MSIgdj0iMTU2LjQiLz4NCisJCQkJCTx2YWwgbz0iZjhiYTEiIHY9IjE2My44Ii8+DQorCQkJCQk8dmFsIG89ImY5OWIxIiB2PSIxNjIuOSIvPg0KKwkJCQkJPHZhbCBvPSJmYTdjMCIgdj0iMTU0LjkiLz4NCisJCQkJCTx2YWwgbz0iZmI1ZDEiIHY9IjE1Ny4xIi8+DQorCQkJCQk8dmFsIG89ImZjM2UwIiB2PSIxOTcuMiIvPg0KKwkJCQkJPHZhbCBvPSJmZDFmYiIgdj0iMjAzLjgiLz4NCisJCQkJCTx2YWwgbz0iZmUwMGIiIHY9IjIxMi41Ii8+DQorCQkJCQk8dmFsIG89ImZlZTFjIiB2PSIxODUuNCIvPg0KKwkJCQkJPHZhbCBvPSJmZmMyYyIgdj0iMTg3LjIiLz4NCisJCQkJCTx2YWwgbz0iMTAwYTNiIiB2PSIxNjIiLz4NCisJCQkJCTx2YWwgbz0iMTAxODRjIiB2PSIxNDkuMyIvPg0KKwkJCQkJPHZhbCBvPSIxMDI2NWIiIHY9IjEzNi44Ii8+DQorCQkJCQk8dmFsIG89IjEwMzQ2YyIgdj0iMTQ1LjkiLz4NCisJCQkJCTx2YWwgbz0iMTA0MjdiIiB2PSIxNjQuMSIvPg0KKwkJCQkJPHZhbCBvPSIxMDUwOGQiIHY9IjE1OC4yIi8+DQorCQkJCQk8dmFsIG89IjEwNWU5ZCIgdj0iMTYzIi8+DQorCQkJCQk8dmFsIG89IjEwNmNhZCIgdj0iMTYxLjYiLz4NCisJCQkJCTx2YWwgbz0iMTA3YWJkIiB2PSIxNjguOSIvPg0KKwkJCQkJPHZhbCBvPSIxMDg4Y2QiIHY9IjE2OC41Ii8+DQorCQkJCQk8dmFsIG89IjEwOTZkZSIgdj0iMTY1LjEiLz4NCisJCQkJCTx2YWwgbz0iMTBhNGVkIiB2PSIxNjguMiIvPg0KKwkJCQkJPHZhbCBvPSIxMGIyZmUiIHY9IjE2My45Ii8+DQorCQkJCQk8dmFsIG89IjEwYzEwZCIgdj0iMTQ3LjUiLz4NCisJCQkJCTx2YWwgbz0iMTBjZjFlIiB2PSIxNjMiLz4NCisJCQkJCTx2YWwgbz0iMTBkZDJlIiB2PSIxNjYuMyIvPg0KKwkJCQkJPHZhbCBvPSIxMGViNjYiIHY9IjE3Ny40Ii8+DQorCQkJCQk8dmFsIG89IjEwZjk0ZSIgdj0iMTc5LjciLz4NCisJCQkJCTx2YWwgbz0iMTEwNzVlIiB2PSIxNjEiLz4NCisJCQkJCTx2YWwgbz0iMTExNTZkIiB2PSIxNzQuNCIvPg0KKwkJCQkJPHZhbCBvPSIxMTIzODgiIHY9IjIwMy42Ii8+DQorCQkJCQk8dmFsIG89IjExMzE4NyIgdj0iMTU4LjMiLz4NCisJCQkJCTx2YWwgbz0iMTEzZmIwIiB2PSIxNzIuOSIvPg0KKwkJCQkJPHZhbCBvPSIxMTRkYTYiIHY9IjE3Mi43Ii8+DQorCQkJCQk8dmFsIG89IjExNWJiNiIgdj0iMTY4LjQiLz4NCisJCQkJCTx2YWwgbz0iMTE2OWM2IiB2PSIxMzgiLz4NCisJCQkJCTx2YWwgbz0iMTE3N2Q2IiB2PSIxMzUuOCIvPg0KKwkJCQkJPHZhbCBvPSIxMTg1ZTgiIHY9IjE1Ny44Ii8+DQorCQkJCQk8dmFsIG89IjExOTNmNyIgdj0iMTYwLjYiLz4NCisJCQkJCTx2YWwgbz0iMTFhMjA4IiB2PSIxNzUuNyIvPg0KKwkJCQkJPHZhbCBvPSIxMWIwMTciIHY9IjE4NC4xIi8+DQorCQkJCQk8dmFsIG89IjExYmUyZiIgdj0iMTg4LjYiLz4NCisJCQkJCTx2YWwgbz0iMTFjYzM3IiB2PSIxNzAiLz4NCisJCQkJCTx2YWwgbz0iMTFkYTQ3IiB2PSIxNzMuNiIvPg0KKwkJCQkJPHZhbCBvPSIxMWU4NTciIHY9IjE2NyIvPg0KKwkJCQkJPHZhbCBvPSIxMWY2NjciIHY9IjE3Mi42Ii8+DQorCQkJCQk8dmFsIG89IjEyMDU3OCIgdj0iMTY0LjYiLz4NCisJCQkJCTx2YWwgbz0iMTIxMzg2IiB2PSIxNjYuOCIvPg0KKwkJCQkJPHZhbCBvPSIxMjIxOTYiIHY9IjE1MS45Ii8+DQorCQkJCQk8dmFsIG89IjEyMmZhNiIgdj0iMTU4LjYiLz4NCisJCQkJCTx2YWwgbz0iMTIzZGI1IiB2PSIxNzAuOCIvPg0KKwkJCQkJPHZhbCBvPSIxMjRiYzUiIHY9IjE4NS40Ii8+DQorCQkJCQk8dmFsIG89IjEyNTlkNSIgdj0iMTYwLjEiLz4NCisJCQkJCTx2YWwgbz0iMTI2N2U0IiB2PSIxODguNiIvPg0KKwkJCQkJPHZhbCBvPSIxMjc2MDAiIHY9IjIwNy43Ii8+DQorCQkJCQk8dmFsIG89IjEyODMwNSIgdj0iMjE0LjYiLz4NCisJCQkJCTx2YWwgbz0iMTI5MTE1IiB2PSIyMTMuNyIvPg0KKwkJCQkJPHZhbCBvPSIxMjlmMjUiIHY9IjIxOC40Ii8+DQorCQkJCQk8dmFsIG89IjEyYWQzNSIgdj0iMjEwLjUiLz4NCisJCQkJCTx2YWwgbz0iMTJiYjQ1IiB2PSIxNzguOCIvPg0KKwkJCQkJPHZhbCBvPSIxMmM5NTQiIHY9IjE2Mi42Ii8+DQorCQkJCQk8dmFsIG89IjEyZDc2NiIgdj0iMTU2LjQiLz4NCisJCQkJCTx2YWwgbz0iMTJlNTc1IiB2PSIxNTMuNSIvPg0KKwkJCQkJPHZhbCBvPSIxMmYzODYiIHY9IjE0My45Ii8+DQorCQkJCQk8dmFsIG89IjEzMDE5NiIgdj0iMTYwLjgiLz4NCisJCQkJCTx2YWwgbz0iMTMwZmE2IiB2PSIxNTMuNCIvPg0KKwkJCQkJPHZhbCBvPSIxMzFkYjciIHY9IjE2My42Ii8+DQorCQkJCQk8dmFsIG89IjEzMmJjNSIgdj0iMTY4LjIiLz4NCisJCQkJCTx2YWwgbz0iMTMzOWQ0IiB2PSIxNjkuMyIvPg0KKwkJCQkJPHZhbCBvPSIxMzQ3ZTUiIHY9IjEzOS4xIi8+DQorCQkJCQk8dmFsIG89IjEzNTVmNCIgdj0iMTQyLjQiLz4NCisJCQkJCTx2YWwgbz0iMTM2NDA0IiB2PSIxMjIuMSIvPg0KKwkJCQkJPHZhbCBvPSIxMzcyMTQiIHY9IjEyNS41Ii8+DQorCQkJCQk8dmFsIG89IjEzODAyNCIgdj0iMTEwLjciLz4NCisJCQkJCTx2YWwgbz0iMTM4ZTMzIiB2PSIxMTAuNiIvPg0KKwkJCQkJPHZhbCBvPSIxMzljNDQiIHY9IjE5MC4yIi8+DQorCQkJCQk8dmFsIG89IjEzYWE1NCIgdj0iOTkuNiIvPg0KKwkJCQkJPHZhbCBvPSIxM2I4NjUiIHY9IjIwOS40Ii8+DQorCQkJCQk8dmFsIG89IjEzYzY3ZSIgdj0iNzYuMiIvPg0KKwkJCQkJPHZhbCBvPSIxM2Q0OGUiIHY9IjYxLjUiLz4NCisJCQkJCTx2YWwgbz0iMTNlMjllIiB2PSI0NC41Ii8+DQorCQkJCQk8dmFsIG89IjEzZjBhZSIgdj0iNDQuMiIvPg0KKwkJCQkJPHZhbCBvPSIxM2ZlYmYiIHY9IjYwLjQiLz4NCisJCQkJCTx2YWwgbz0iMTQwY2NmIiB2PSI2NC42Ii8+DQorCQkJCQk8dmFsIG89IjE0MWFkZiIgdj0iNjcuMyIvPg0KKwkJCQkJPHZhbCBvPSIxNDI4ZWYiIHY9IjM0MS4yIi8+DQorCQkJCQk8dmFsIG89IjE0MzZmZiIgdj0iMTE1LjgiLz4NCisJCQkJCTx2YWwgbz0iMTQ0NTBmIiB2PSIxMTcuMyIvPg0KKwkJCQkJPHZhbCBvPSIxNDUzMWYiIHY9IjE4MCIvPg0KKwkJCQkJPHZhbCBvPSIxNDYxMzAiIHY9IjI1Mi40Ii8+DQorCQkJCQk8dmFsIG89IjE0NmY0MCIgdj0iMjYxLjgiLz4NCisJCQkJCTx2YWwgbz0iMTQ3ZDQ0IiB2PSIzMTMuMyIvPg0KKwkJCQkJPHZhbCBvPSIxNDhiNTciIHY9IjMxMS4zIi8+DQorCQkJCQk8dmFsIG89IjE0OTk2NSIgdj0iMjkyIi8+DQorCQkJCQk8dmFsIG89IjE0YTc3NSIgdj0iNTcuNiIvPg0KKwkJCQkJPHZhbCBvPSIxNGI1ODQiIHY9IjE1MS42Ii8+DQorCQkJCQk8dmFsIG89IjE0YzM5NyIgdj0iOTIuNyIvPg0KKwkJCQkJPHZhbCBvPSIxNGQxYTQiIHY9IjkzLjQiLz4NCisJCQkJCTx2YWwgbz0iMTRkZmI2IiB2PSIxMDAuMyIvPg0KKwkJCQkJPHZhbCBvPSIxNGVkYzUiIHY9Ijk3LjQiLz4NCisJCQkJCTx2YWwgbz0iMTRmYmQ1IiB2PSIxODQiLz4NCisJCQkJCTx2YWwgbz0iMTUwOWU1IiB2PSIyODkuMSIvPg0KKwkJCQkJPHZhbCBvPSIxNTE3ZmYiIHY9IjI3NC4yIi8+DQorCQkJCQk8dmFsIG89IjE1MjYwNSIgdj0iMzkuOCIvPg0KKwkJCQkJPHZhbCBvPSIxNTM0MTUiIHY9IjYuNSIvPg0KKwkJCQkJPHZhbCBvPSIxNTQyMjUiIHY9IjM1NS45Ii8+DQorCQkJCQk8dmFsIG89IjE1NTAzNSIgdj0iMTkuNCIvPg0KKwkJCQkJPHZhbCBvPSIxNTVlNDUiIHY9IjQ0LjIiLz4NCisJCQkJCTx2YWwgbz0iMTU2YzU1IiB2PSI2MS40Ii8+DQorCQkJCQk8dmFsIG89IjE1N2E2NSIgdj0iNTUuNSIvPg0KKwkJCQkJPHZhbCBvPSIxNTg4NzUiIHY9IjYwLjIiLz4NCisJCQkJCTx2YWwgbz0iMTU5Njg2IiB2PSI3MS43Ii8+DQorCQkJCQk8dmFsIG89IjE1YTQ5NSIgdj0iNjYuMyIvPg0KKwkJCQkJPHZhbCBvPSIxNWIyYTYiIHY9IjYxLjUiLz4NCisJCQkJCTx2YWwgbz0iMTVjMGI2IiB2PSIzOC41Ii8+DQorCQkJCQk8dmFsIG89IjE1Y2VjNiIgdj0iMTcuMyIvPg0KKwkJCQkJPHZhbCBvPSIxNWRjZDUiIHY9IjM1LjYiLz4NCisJCQkJCTx2YWwgbz0iMTVlYWU2IiB2PSI0NC45Ii8+DQorCQkJCQk8dmFsIG89IjE1ZjhmNSIgdj0iNzEuNCIvPg0KKwkJCQkJPHZhbCBvPSIxNjA3MDYiIHY9IjE2Ni4xIi8+DQorCQkJCQk8dmFsIG89IjE2MTUxNyIgdj0iMTI1Ii8+DQorCQkJCQk8dmFsIG89IjE2MjMyNiIgdj0iMTc2Ii8+DQorCQkJCQk8dmFsIG89IjE2MzEzNyIgdj0iMTk1LjMiLz4NCisJCQkJCTx2YWwgbz0iMTYzZjQ2IiB2PSI5OS4xIi8+DQorCQkJCQk8dmFsIG89IjE2NGQ1NyIgdj0iOTAiLz4NCisJCQkJCTx2YWwgbz0iMTY1YjY3IiB2PSIyNzMuOSIvPg0KKwkJCQkJPHZhbCBvPSIxNjY5ODIiIHY9IjM0NC43Ii8+DQorCQkJCQk8dmFsIG89IjE2Nzc4NiIgdj0iMzA3LjIiLz4NCisJCQkJCTx2YWwgbz0iMTY4NTk2IiB2PSIyNzEuOCIvPg0KKwkJCQkJPHZhbCBvPSIxNjkzYTYiIHY9IjI3OC44Ii8+DQorCQkJCQk8dmFsIG89IjE2YTFiNSIgdj0iMjkxLjUiLz4NCisJCQkJCTx2YWwgbz0iMTZhZmM2IiB2PSI1Mi45Ii8+DQorCQkJCQk8dmFsIG89IjE2YmRkNSIgdj0iNzYuNiIvPg0KKwkJCQkJPHZhbCBvPSIxNmNiZTYiIHY9Ijg3LjYiLz4NCisJCQkJCTx2YWwgbz0iMTZkOWY2IiB2PSIxNzAuMSIvPg0KKwkJCQkJPHZhbCBvPSIxNmU4MDciIHY9IjE3NC4yIi8+DQorCQkJCQk8dmFsIG89IjE2ZjYxNiIgdj0iMTc1LjYiLz4NCisJCQkJCTx2YWwgbz0iMTcwNDI5IiB2PSIxODYuNyIvPg0KKwkJCQkJPHZhbCBvPSIxNzEyMzYiIHY9IjE4My4yIi8+DQorCQkJCQk8dmFsIG89IjE3MjA0NyIgdj0iMTgxLjciLz4NCisJCQkJCTx2YWwgbz0iMTcyZTU3IiB2PSIxNzMuNiIvPg0KKwkJCQkJPHZhbCBvPSIxNzNjNjciIHY9IjE3MC43Ii8+DQorCQkJCQk8dmFsIG89IjE3NGE3NyIgdj0iMTY1LjQiLz4NCisJCQkJCTx2YWwgbz0iMTc1ODg3IiB2PSIxNjMuOCIvPg0KKwkJCQkJPHZhbCBvPSIxNzY2OTQiIHY9IjE2MS43Ii8+DQorCQkJCQk8dmFsIG89IjE3NzRhMyIgdj0iMTY1LjQiLz4NCisJCQkJCTx2YWwgbz0iMTc4MmIzIiB2PSIxNzAuOSIvPg0KKwkJCQkJPHZhbCBvPSIxNzkwYzUiIHY9IjE3My41Ii8+DQorCQkJCQk8dmFsIG89IjE3OWVkNCIgdj0iMTg3LjkiLz4NCisJCQkJCTx2YWwgbz0iMTdhY2U0IiB2PSIyMDEuOCIvPg0KKwkJCQkJPHZhbCBvPSIxN2JhZmQiIHY9IjIwNS45Ii8+DQorCQkJCQk8dmFsIG89IjE3YzkwZiIgdj0iMjA0LjYiLz4NCisJCQkJCTx2YWwgbz0iMTdkNzFlIiB2PSIyMDQuMSIvPg0KKwkJCQkJPHZhbCBvPSIxN2U1MmYiIHY9IjIwOC4yIi8+DQorCQkJCQk8dmFsIG89IjE3ZjMzZiIgdj0iMjA0LjQiLz4NCisJCQkJCTx2YWwgbz0iMTgwMTRmIiB2PSIxOTMuNSIvPg0KKwkJCQkJPHZhbCBvPSIxODBmNWYiIHY9IjE4Ni40Ii8+DQorCQkJCQk8dmFsIG89IjE4MWQ2ZSIgdj0iMTkyLjQiLz4NCisJCQkJCTx2YWwgbz0iMTgyYjdmIiB2PSIxOTQuMyIvPg0KKwkJCQkJPHZhbCBvPSIxODM5OGYiIHY9IjE4NC40Ii8+DQorCQkJCQk8dmFsIG89IjE4NDdhMSIgdj0iMTg0LjEiLz4NCisJCQkJCTx2YWwgbz0iMTg1NWFmIiB2PSIxODUuNiIvPg0KKwkJCQkJPHZhbCBvPSIxODYzYzAiIHY9IjE5NC45Ii8+DQorCQkJCQk8dmFsIG89IjE4NzFjZiIgdj0iMTkyLjEiLz4NCisJCQkJCTx2YWwgbz0iMTg3ZmUwIiB2PSIxOTIuMSIvPg0KKwkJCQkJPHZhbCBvPSIxODhkZWYiIHY9IjE5MC42Ii8+DQorCQkJCQk8dmFsIG89IjE4OWMwMCIgdj0iMTg1LjQiLz4NCisJCQkJCTx2YWwgbz0iMThiODBkIiB2PSIxNzAuOSIvPg0KKwkJCQkJPHZhbCBvPSIxOGM2MWMiIHY9IjE4Ny40Ii8+DQorCQkJCQk8dmFsIG89IjE4ZDQyYyIgdj0iMTkxLjEiLz4NCisJCQkJCTx2YWwgbz0iMThlMjNiIiB2PSIxOTEuMSIvPg0KKwkJCQkJPHZhbCBvPSIxOGYwNGIiIHY9IjE5Ny4xIi8+DQorCQkJCQk8dmFsIG89IjE4ZmU1ZSIgdj0iMTk1LjkiLz4NCisJCQkJCTx2YWwgbz0iMTkwYzc2IiB2PSIxODkuOCIvPg0KKwkJCQkJPHZhbCBvPSIxOTFhODYiIHY9IjIwMS45Ii8+DQorCQkJCQk8dmFsIG89IjE5Mjg5NiIgdj0iMjAyLjIiLz4NCisJCQkJCTx2YWwgbz0iMTkzNmE2IiB2PSIyMDQuNCIvPg0KKwkJCQkJPHZhbCBvPSIxOTQ0YjciIHY9IjE5Ni4zIi8+DQorCQkJCQk8dmFsIG89IjE5NTJjNiIgdj0iMTgyLjYiLz4NCisJCQkJCTx2YWwgbz0iMTk2MGQ3IiB2PSIxNjIuNiIvPg0KKwkJCQkJPHZhbCBvPSIxOTZlZTYiIHY9IjE4Ny4yIi8+DQorCQkJCQk8dmFsIG89IjE5N2NmOCIgdj0iMTg3LjMiLz4NCisJCQkJCTx2YWwgbz0iMTk4YjBmIiB2PSIxNzkuNyIvPg0KKwkJCQkJPHZhbCBvPSIxOTk5MWYiIHY9IjE4MS43Ii8+DQorCQkJCQk8dmFsIG89IjE5YjU0MSIgdj0iMTg4LjMiLz4NCisJCQkJCTx2YWwgbz0iMTljMzRkIiB2PSIxODYuMiIvPg0KKwkJCQkJPHZhbCBvPSIxOWQxNWUiIHY9IjE4My41Ii8+DQorCQkJCQk8dmFsIG89IjE5ZGY4MCIgdj0iMTgyLjIiLz4NCisJCQkJCTx2YWwgbz0iMTllZDkwIiB2PSIxNzYuNSIvPg0KKwkJCQkJPHZhbCBvPSIxOWVlYmUiIHY9IjE3NS42Ii8+DQorCQkJCQk8dmFsIG89IjE5ZmI4ZSIgdj0iMTc4LjUiLz4NCisJCQkJCTx2YWwgbz0iMWEwOWEwIiB2PSIyMjMuOCIvPg0KKwkJCQkJPHZhbCBvPSIxYTE3YWUiIHY9IjIyOC4xIi8+DQorCQkJCQk8dmFsIG89IjFhMjViZSIgdj0iMjI5LjciLz4NCisJCQkJCTx2YWwgbz0iMWEzM2NkIiB2PSIyMTYuMSIvPg0KKwkJCQkJPHZhbCBvPSIxYTQxZGQiIHY9IjIyNi40Ii8+DQorCQkJCQk8dmFsIG89IjFhNGZlZCIgdj0iMjQ5LjYiLz4NCisJCQkJCTx2YWwgbz0iMWE1ZTA4IiB2PSIyNDUuOCIvPg0KKwkJCQkJPHZhbCBvPSIxYTZjMDUiIHY9IjI1MC4xIi8+DQorCQkJCQk8dmFsIG89IjFhN2ExNSIgdj0iMjUxLjEiLz4NCisJCQkJCTx2YWwgbz0iMWE4ODI2IiB2PSIyNTIuNSIvPg0KKwkJCQkJPHZhbCBvPSIxYTk2MzciIHY9IjI1OS40Ii8+DQorCQkJCQk8dmFsIG89IjFhYTQ0NSIgdj0iMjU0LjgiLz4NCisJCQkJCTx2YWwgbz0iMWFiMjU1IiB2PSIyMTguNyIvPg0KKwkJCQkJPHZhbCBvPSIxYWMwNjUiIHY9IjIyOC4zIi8+DQorCQkJCQk8dmFsIG89IjFhY2U3NSIgdj0iMjI3LjMiLz4NCisJCQkJCTx2YWwgbz0iMWFkYzg3IiB2PSIyMTQuMiIvPg0KKwkJCQkJPHZhbCBvPSIxYWVhOTYiIHY9IjIxOC43Ii8+DQorCQkJCQk8dmFsIG89IjFhZjhhNyIgdj0iMjE3Ii8+DQorCQkJCQk8dmFsIG89IjFiMDZiNyIgdj0iMjMxLjciLz4NCisJCQkJCTx2YWwgbz0iMWIxNGM2IiB2PSIyMzAuNiIvPg0KKwkJCQkJPHZhbCBvPSIxYzc0NjAiIHY9IjUyIi8+DQorCQkJCQk8dmFsIG89IjFjODI3MCIgdj0iMzQwLjMiLz4NCisJCQkJCTx2YWwgbz0iMWM5MDdlIiB2PSIxOC41Ii8+DQorCQkJCQk8dmFsIG89IjFjOWU4ZiIgdj0iMzU3LjUiLz4NCisJCQkJCTx2YWwgbz0iMWNhY2EyIiB2PSIzNDQuNyIvPg0KKwkJCQkJPHZhbCBvPSIxY2JhYjEiIHY9IjMzOC40Ii8+DQorCQkJCQk8dmFsIG89IjFjYzhjMSIgdj0iMjguNCIvPg0KKwkJCQkJPHZhbCBvPSIxY2Q2ZDAiIHY9IjIxLjgiLz4NCisJCQkJCTx2YWwgbz0iMWNlNGRlIiB2PSIxMC40Ii8+DQorCQkJCQk8dmFsIG89IjFjZjJmMCIgdj0iMzQzLjkiLz4NCisJCQkJCTx2YWwgbz0iMWQwMTA5IiB2PSIzNDIuOCIvPg0KKwkJCQkJPHZhbCBvPSIxZDBmMDYiIHY9IjM1OC4yIi8+DQorCQkJCQk8dmFsIG89IjFkMWQxNSIgdj0iMzUzLjUiLz4NCisJCQkJCTx2YWwgbz0iMWQyYjI1IiB2PSIzNTMuNCIvPg0KKwkJCQkJPHZhbCBvPSIxZDM5MzUiIHY9IjEuNCIvPg0KKwkJCQkJPHZhbCBvPSIxZDQ3NDUiIHY9IjYuNCIvPg0KKwkJCQkJPHZhbCBvPSIxZDU1NTUiIHY9IjEwLjUiLz4NCisJCQkJCTx2YWwgbz0iMWQ2MzY2IiB2PSIzNTAuNyIvPg0KKwkJCQkJPHZhbCBvPSIxZDcxNzUiIHY9IjM1MC44Ii8+DQorCQkJCQk8dmFsIG89IjFkN2Y4NiIgdj0iMzU3LjYiLz4NCisJCQkJCTx2YWwgbz0iMWQ4ZDk1IiB2PSIxODEuMSIvPg0KKwkJCQkJPHZhbCBvPSIxZDliYTYiIHY9IjE4NC44Ii8+DQorCQkJCQk8dmFsIG89IjFkYTliNiIgdj0iMTkyLjYiLz4NCisJCQkJCTx2YWwgbz0iMWRiN2M3IiB2PSIxOTMuMSIvPg0KKwkJCQkJPHZhbCBvPSIxZGM1ZDUiIHY9IjE5NC43Ii8+DQorCQkJCQk8dmFsIG89IjFkZDNlNiIgdj0iMTkwLjgiLz4NCisJCQkJCTx2YWwgbz0iMWRlMWY1IiB2PSIxOTUiLz4NCisJCQkJCTx2YWwgbz0iMWRmMDA2IiB2PSIxOTUuOCIvPg0KKwkJCQkJPHZhbCBvPSIxZGZlMTYiIHY9IjE5NS4zIi8+DQorCQkJCQk8dmFsIG89IjFlMGMyNiIgdj0iMTk4LjEiLz4NCisJCQkJCTx2YWwgbz0iMWUxYTM2IiB2PSIxOTguNCIvPg0KKwkJCQkJPHZhbCBvPSIxZTI4NDciIHY9IjE5OS41Ii8+DQorCQkJCQk8dmFsIG89IjFlMzY1OSIgdj0iMjAwLjIiLz4NCisJCQkJCTx2YWwgbz0iMWU0NDY3IiB2PSIyMDIuMyIvPg0KKwkJCQkJPHZhbCBvPSIxZTUyODEiIHY9IjIwMC43Ii8+DQorCQkJCQk8dmFsIG89IjFlNjA4NiIgdj0iMjAzLjUiLz4NCisJCQkJCTx2YWwgbz0iMWU2ZTk2IiB2PSIyMDQuNiIvPg0KKwkJCQkJPHZhbCBvPSIxZTdjYTYiIHY9IjE4OC40Ii8+DQorCQkJCQk8dmFsIG89IjFlOGFiNSIgdj0iMTkzLjkiLz4NCisJCQkJCTx2YWwgbz0iMWU5OGM2IiB2PSIxODQuNCIvPg0KKwkJCQkJPHZhbCBvPSIxZWE2ZDUiIHY9IjE5MC41Ii8+DQorCQkJCQk8dmFsIG89IjFlYjRlNiIgdj0iMTg4LjkiLz4NCisJCQkJCTx2YWwgbz0iMWVjMmY2IiB2PSIxOTIuMiIvPg0KKwkJCQkJPHZhbCBvPSIxZWQxMDYiIHY9IjE4NS42Ii8+DQorCQkJCQk8dmFsIG89IjFlZGYxNiIgdj0iMTg2LjYiLz4NCisJCQkJCTx2YWwgbz0iMWVlZDI2IiB2PSIxODIuOCIvPg0KKwkJCQkJPHZhbCBvPSIxZWZiMzYiIHY9IjE4Ny42Ii8+DQorCQkJCQk8dmFsIG89IjFmMDk0NiIgdj0iMTg2LjkiLz4NCisJCQkJCTx2YWwgbz0iMWYxNzU2IiB2PSIxNjguMiIvPg0KKwkJCQkJPHZhbCBvPSIxZjI1NjYiIHY9IjE2NC4yIi8+DQorCQkJCQk8dmFsIG89IjFmMzM3NiIgdj0iMTU0LjMiLz4NCisJCQkJCTx2YWwgbz0iMWY0MTg3IiB2PSIxMzQuMyIvPg0KKwkJCQkJPHZhbCBvPSIxZjRmOTYiIHY9IjE1NC4yIi8+DQorCQkJCQk8dmFsIG89IjFmNWRhNyIgdj0iMTgyLjIiLz4NCisJCQkJCTx2YWwgbz0iMWY2YmI2IiB2PSIxODguMyIvPg0KKwkJCQkJPHZhbCBvPSIxZjc5YzciIHY9IjE3NiIvPg0KKwkJCQkJPHZhbCBvPSIxZjg3ZDYiIHY9IjIwNi40Ii8+DQorCQkJCQk8dmFsIG89IjFmOTVlNyIgdj0iMjE2LjUiLz4NCisJCQkJCTx2YWwgbz0iMWZhNDAxIiB2PSIyMTEuNSIvPg0KKwkJCQkJPHZhbCBvPSIxZmIyMDQiIHY9IjIxMC44Ii8+DQorCQkJCQk8dmFsIG89IjFmYzAxNiIgdj0iMjExLjIiLz4NCisJCQkJCTx2YWwgbz0iMWZjZTI1IiB2PSIxOTIuNCIvPg0KKwkJCQkJPHZhbCBvPSIxZmRjMzUiIHY9IjE4NS4xIi8+DQorCQkJCQk8dmFsIG89IjFmZWE0NSIgdj0iMTc2LjYiLz4NCisJCQkJCTx2YWwgbz0iMWZmODU1IiB2PSIxNzEuNSIvPg0KKwkJCQkJPHZhbCBvPSIyMDA2NjUiIHY9IjEyOS41Ii8+DQorCQkJCQk8dmFsIG89IjIwMTQ3NSIgdj0iMTczLjQiLz4NCisJCQkJCTx2YWwgbz0iMjAyMjg2IiB2PSIxNTcuMiIvPg0KKwkJCQkJPHZhbCBvPSIyMDMwOTUiIHY9IjE2MS4yIi8+DQorCQkJCQk8dmFsIG89IjIwM2VhNSIgdj0iMTYzLjUiLz4NCisJCQkJCTx2YWwgbz0iMjA0Y2I2IiB2PSIxNzYuOCIvPg0KKwkJCQkJPHZhbCBvPSIyMDVhYzYiIHY9IjE2Ni44Ii8+DQorCQkJCQk8dmFsIG89IjIwNjhkNiIgdj0iMTYxLjUiLz4NCisJCQkJCTx2YWwgbz0iMjA3NmU2IiB2PSIxNTkuMyIvPg0KKwkJCQkJPHZhbCBvPSIyMDg0ZjYiIHY9IjE3Ny42Ii8+DQorCQkJCQk8dmFsIG89IjIwOTMwNiIgdj0iMTgzLjIiLz4NCisJCQkJCTx2YWwgbz0iMjBhMTE2IiB2PSIxODUuNCIvPg0KKwkJCQkJPHZhbCBvPSIyMGFmMjYiIHY9IjE4Mi42Ii8+DQorCQkJCQk8dmFsIG89IjIwYmQzNyIgdj0iMTg5LjMiLz4NCisJCQkJCTx2YWwgbz0iMjBjYjQ2IiB2PSIxNzMuMiIvPg0KKwkJCQkJPHZhbCBvPSIyMGQ5NTciIHY9IjE3OS40Ii8+DQorCQkJCQk8dmFsIG89IjIwZTc2NyIgdj0iMTkzLjUiLz4NCisJCQkJCTx2YWwgbz0iMjBmNTgxIiB2PSIyMDIuNiIvPg0KKwkJCQkJPHZhbCBvPSIyMTAzODYiIHY9IjE5Ny44Ii8+DQorCQkJCQk8dmFsIG89IjIxMTE5NCIgdj0iMTg2LjkiLz4NCisJCQkJCTx2YWwgbz0iMjExZmE1IiB2PSIxODguMyIvPg0KKwkJCQkJPHZhbCBvPSIyMTJkYjUiIHY9IjE3OC43Ii8+DQorCQkJCQk8dmFsIG89IjIxM2JjNSIgdj0iMTYwLjIiLz4NCisJCQkJCTx2YWwgbz0iMjE0OWQ2IiB2PSIxNjguMyIvPg0KKwkJCQkJPHZhbCBvPSIyMTU3ZTUiIHY9IjE4NCIvPg0KKwkJCQkJPHZhbCBvPSIyMTY1ZjYiIHY9IjE5MS4xIi8+DQorCQkJCQk8dmFsIG89IjIxNzQwNiIgdj0iMTc3LjMiLz4NCisJCQkJCTx2YWwgbz0iMjE4MjE3IiB2PSIxODIuOSIvPg0KKwkJCQkJPHZhbCBvPSIyMTkwMjYiIHY9IjE4NS40Ii8+DQorCQkJCQk8dmFsIG89IjIxOWUzOSIgdj0iMTc2LjMiLz4NCisJCQkJCTx2YWwgbz0iMjFhYzQ2IiB2PSIxNzAuMSIvPg0KKwkJCQkJPHZhbCBvPSIyMWJhNTciIHY9IjE2OS4zIi8+DQorCQkJCQk8dmFsIG89IjIxYzg2NyIgdj0iMTU5LjgiLz4NCisJCQkJCTx2YWwgbz0iMjFkNjc3IiB2PSIxOTAuOSIvPg0KKwkJCQkJPHZhbCBvPSIyMWU0ODciIHY9IjE3My45Ii8+DQorCQkJCQk8dmFsIG89IjIxZjI5NiIgdj0iMTc1LjUiLz4NCisJCQkJCTx2YWwgbz0iMjIwMGE2IiB2PSIxODcuNSIvPg0KKwkJCQkJPHZhbCBvPSIyMjBlYjciIHY9IjE4OC41Ii8+DQorCQkJCQk8dmFsIG89IjIyMWNjNiIgdj0iMTYwIi8+DQorCQkJCQk8dmFsIG89IjIyMmFkNyIgdj0iMTc1LjUiLz4NCisJCQkJCTx2YWwgbz0iMjIzOGU3IiB2PSIxOTIuNCIvPg0KKwkJCQkJPHZhbCBvPSIyMjQ3MDEiIHY9IjIwMC44Ii8+DQorCQkJCQk8dmFsIG89IjIyNTUwNSIgdj0iMTE2LjkiLz4NCisJCQkJCTx2YWwgbz0iMjI2MzE1IiB2PSIxNjYuMyIvPg0KKwkJCQkJPHZhbCBvPSIyMjcxMjUiIHY9IjE2Mi44Ii8+DQorCQkJCQk8dmFsIG89IjIyN2YzNSIgdj0iMTMwLjQiLz4NCisJCQkJCTx2YWwgbz0iMjI4ZDQ1IiB2PSIxMjIiLz4NCisJCQkJCTx2YWwgbz0iMjI5YjU0IiB2PSIxOTMuNSIvPg0KKwkJCQkJPHZhbCBvPSIyMmE5NjUiIHY9IjE4My45Ii8+DQorCQkJCQk8dmFsIG89IjIyYjc3NiIgdj0iMTgwIi8+DQorCQkJCQk8dmFsIG89IjIyYzU4NiIgdj0iMTU3LjMiLz4NCisJCQkJCTx2YWwgbz0iMjJkMzk3IiB2PSIxNDIuNyIvPg0KKwkJCQkJPHZhbCBvPSIyMmUxYTYiIHY9IjE0NS45Ii8+DQorCQkJCQk8dmFsIG89IjIyZWZiNiIgdj0iMTgyLjIiLz4NCisJCQkJCTx2YWwgbz0iMjJmZGM3IiB2PSIxODIuNyIvPg0KKwkJCQkJPHZhbCBvPSIyMzBiZDciIHY9IjE3My4zIi8+DQorCQkJCQk8dmFsIG89IjIzMTllNiIgdj0iMTg4LjYiLz4NCisJCQkJCTx2YWwgbz0iMjMyN2Y2IiB2PSIxNzkuNCIvPg0KKwkJCQkJPHZhbCBvPSIyMzM2MWIiIHY9IjE2OS44Ii8+DQorCQkJCQk8dmFsIG89IjIzNDQxNiIgdj0iMTY0LjMiLz4NCisJCQkJCTx2YWwgbz0iMjM1MjI2IiB2PSIxNzAuMiIvPg0KKwkJCQkJPHZhbCBvPSIyMzYwMzciIHY9IjE3OC44Ii8+DQorCQkJCQk8dmFsIG89IjIzNmU0NiIgdj0iMTU4Ii8+DQorCQkJCQk8dmFsIG89IjIzN2M1NyIgdj0iMTYxLjYiLz4NCisJCQkJCTx2YWwgbz0iMjM4YTY2IiB2PSIxNzUuOCIvPg0KKwkJCQkJPHZhbCBvPSIyMzk4ODEiIHY9IjE2OS45Ii8+DQorCQkJCQk8dmFsIG89IjIzYTY4NSIgdj0iMTg1LjMiLz4NCisJCQkJCTx2YWwgbz0iMjNiNDk1IiB2PSIxOTEuNiIvPg0KKwkJCQkJPHZhbCBvPSIyM2MyYTQiIHY9IjE3Ni44Ii8+DQorCQkJCQk8dmFsIG89IjIzZDBiNSIgdj0iMTY3LjciLz4NCisJCQkJCTx2YWwgbz0iMjNkZWM0IiB2PSIxNTQuMSIvPg0KKwkJCQkJPHZhbCBvPSIyM2VjZDUiIHY9IjE2NyIvPg0KKwkJCQkJPHZhbCBvPSIyM2ZhZTQiIHY9IjE4MCIvPg0KKwkJCQkJPHZhbCBvPSIyNDA4ZjYiIHY9IjE2Ni45Ii8+DQorCQkJCQk8dmFsIG89IjI0MTcwNiIgdj0iMTQ2LjkiLz4NCisJCQkJCTx2YWwgbz0iMjQyNTE4IiB2PSIxNTUuNCIvPg0KKwkJCQkJPHZhbCBvPSIyNDMzMjUiIHY9IjE1Ny42Ii8+DQorCQkJCQk8dmFsIG89IjI0NDEzNyIgdj0iMTg5LjkiLz4NCisJCQkJCTx2YWwgbz0iMjQ0ZjQ2IiB2PSIxODcuNCIvPg0KKwkJCQkJPHZhbCBvPSIyNDZiNjYiIHY9IjE4Ni45Ii8+DQorCQkJCQk8dmFsIG89IjI0Nzk3NiIgdj0iMTc5LjUiLz4NCisJCQkJCTx2YWwgbz0iMjQ4Nzg2IiB2PSIxMzkuNiIvPg0KKwkJCQkJPHZhbCBvPSIyNDk1N2UiIHY9IjE2MS44Ii8+DQorCQkJCQk8dmFsIG89IjI0YTM4ZiIgdj0iMTcyIi8+DQorCQkJCQk8dmFsIG89IjI0YjE5YyIgdj0iMTg5LjUiLz4NCisJCQkJCTx2YWwgbz0iMjRiZmFjIiB2PSIxODcuMyIvPg0KKwkJCQkJPHZhbCBvPSIyNGNkYmMiIHY9IjE4OC4yIi8+DQorCQkJCQk8dmFsIG89IjI0ZGJjZCIgdj0iMTg2LjEiLz4NCisJCQkJCTx2YWwgbz0iMjRlOWU1IiB2PSIxOTguMSIvPg0KKwkJCQkJPHZhbCBvPSIyNGY4MDgiIHY9IjE5My4zIi8+DQorCQkJCQk8dmFsIG89IjI1MDYxNiIgdj0iMTk1LjYiLz4NCisJCQkJCTx2YWwgbz0iMjUxNDI2IiB2PSIxOTguMyIvPg0KKwkJCQkJPHZhbCBvPSIyNTIyMzYiIHY9IjE4MC41Ii8+DQorCQkJCQk8dmFsIG89IjI1MzA0NyIgdj0iMTgwIi8+DQorCQkJCQk8dmFsIG89IjI1M2U1NiIgdj0iMTYxLjYiLz4NCisJCQkJCTx2YWwgbz0iMjU0YzY3IiB2PSIxNjUuOCIvPg0KKwkJCQkJPHZhbCBvPSIyNTVhNzYiIHY9IjE2NS42Ii8+DQorCQkJCQk8dmFsIG89IjI1Njg4NyIgdj0iMTYwLjQiLz4NCisJCQkJCTx2YWwgbz0iMjU3Njk3IiB2PSIxNDcuMiIvPg0KKwkJCQkJPHZhbCBvPSIyNTg0YTgiIHY9IjE5Ni45Ii8+DQorCQkJCQk8dmFsIG89IjI1OTJiNiIgdj0iMTk1LjciLz4NCisJCQkJCTx2YWwgbz0iMjVhMGM3IiB2PSIxODYuOSIvPg0KKwkJCQkJPHZhbCBvPSIyNWFlZDciIHY9IjE3OC4zIi8+DQorCQkJCQk8dmFsIG89IjI1YmNlNyIgdj0iMTc3LjYiLz4NCisJCQkJCTx2YWwgbz0iMjVjYWY4IiB2PSIxNzIiLz4NCisJCQkJCTx2YWwgbz0iMjVkOTA3IiB2PSIxNTYuNSIvPg0KKwkJCQkJPHZhbCBvPSIyNWU3MTgiIHY9IjE1NC4zIi8+DQorCQkJCQk8dmFsIG89IjI1ZjUyNyIgdj0iMTU3Ii8+DQorCQkJCQk8dmFsIG89IjI2MDMzOCIgdj0iMTc5LjUiLz4NCisJCQkJCTx2YWwgbz0iMjYxMTQ5IiB2PSIxNjYiLz4NCisJCQkJCTx2YWwgbz0iMjYxZjU5IiB2PSIxNzIuMyIvPg0KKwkJCQkJPHZhbCBvPSIyNjJkNjgiIHY9IjE5Ni40Ii8+DQorCQkJCQk8dmFsIG89IjI2M2I4MyIgdj0iMTc5LjUiLz4NCisJCQkJCTx2YWwgbz0iMjY0OTg2IiB2PSIxOTUuNyIvPg0KKwkJCQkJPHZhbCBvPSIyNjU3OTUiIHY9IjIwMi43Ii8+DQorCQkJCQk8dmFsIG89IjI2NjVhNiIgdj0iMjA5LjkiLz4NCisJCQkJCTx2YWwgbz0iMjY3M2I1IiB2PSIyMDQuMSIvPg0KKwkJCQkJPHZhbCBvPSIyNjgxYzYiIHY9IjE5OS45Ii8+DQorCQkJCQk8dmFsIG89IjI2OGZkNSIgdj0iMTg2LjMiLz4NCisJCQkJCTx2YWwgbz0iMjY5ZGU2IiB2PSIxNzUuNiIvPg0KKwkJCQkJPHZhbCBvPSIyNmFiZjYiIHY9IjE3MC4xIi8+DQorCQkJCQk8dmFsIG89IjI2YmEwNiIgdj0iMTU5LjIiLz4NCisJCQkJCTx2YWwgbz0iMjZjODE3IiB2PSIxNTYuNCIvPg0KKwkJCQkJPHZhbCBvPSIyNmQ2MmIiIHY9IjEzNy43Ii8+DQorCQkJCQk8dmFsIG89IjI2ZTQzNiIgdj0iMTQ2Ii8+DQorCQkJCQk8dmFsIG89IjI2ZjI0NyIgdj0iMTM5LjYiLz4NCisJCQkJCTx2YWwgbz0iMjcwMDU3IiB2PSIxNDMuMiIvPg0KKwkJCQkJPHZhbCBvPSIyNzBlNjciIHY9IjEzNy43Ii8+DQorCQkJCQk8dmFsIG89IjI3MWM3NyIgdj0iMTc3LjkiLz4NCisJCQkJCTx2YWwgbz0iMjcyYTg3IiB2PSIxODYuOSIvPg0KKwkJCQkJPHZhbCBvPSIyNzM4OTciIHY9IjE4NC41Ii8+DQorCQkJCQk8dmFsIG89IjI3NDZhOCIgdj0iMTg4LjIiLz4NCisJCQkJCTx2YWwgbz0iMjc1NGI5IiB2PSIxOTEuMSIvPg0KKwkJCQkJPHZhbCBvPSIyNzYyYzciIHY9IjE0Ni43Ii8+DQorCQkJCQk8dmFsIG89IjI3NzBkOCIgdj0iMTYxLjQiLz4NCisJCQkJCTx2YWwgbz0iMjc3ZWU3IiB2PSIxODguNyIvPg0KKwkJCQk8L3Bhcj4NCisJCQkJPHBhciBtZW1pbmQ9IjEwNjk1MDAwIiBoPSIzZGMxYThkZSI+DQorCQkJCQk8dmFsIG89IjAiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89ImUwOCIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMWMzMiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMmEzYyIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMzgzNSIgdj0iNDkuOSIvPg0KKwkJCQkJPHZhbCBvPSI0NjQ1IiB2PSI0OS45Ii8+DQorCQkJCQk8dmFsIG89IjU0NTUiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjYyNjUiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjcwNzUiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjdlODUiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjhjOTYiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjlhYTUiIHY9IjUwLjEiLz4NCisJCQkJCTx2YWwgbz0iYThiNiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iYjZjNSIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iYzRkNyIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iZDMwYiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iZTBmNiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iZWYwNiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iZmQxNyIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMTBiMjciIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjExOTM3IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxMjc0NiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMTM1NTYiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjE0MzY2IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxNTE4MSIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMTVmODUiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjE2ZDk1IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxN2JhNCIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMTg5YjUiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjE5N2M0IiB2PSI1MC4xIi8+DQorCQkJCQk8dmFsIG89IjFhNWQ1IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxYjNlNiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMWMxZjYiIHY9IjUwLjEiLz4NCisJCQkJCTx2YWwgbz0iMWQwMDUiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjFkZTE1IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxZWMyNSIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMWZhMzYiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjIwODQ1IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIyMTY1NiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMjI0NjUiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjIzMjc2IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIyNDA4NiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMjRlOTkiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjI1Y2E3IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIyNmFiNyIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMjc4YzYiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjI4NmQ2IiB2PSI1MC4xIi8+DQorCQkJCQk8dmFsIG89IjI5NGU2IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIyYTMwMSIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMmIxMDUiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjJiZjE1IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIyY2QyNSIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMmRiMzUiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjJlOTQ2IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIyZjc1NSIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMzA1NjYiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjMxMzc1IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIzMjE5ZSIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMzJmOTYiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjMzZGE2IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIzNGJiNiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMzU5ZGUiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjM2N2Q2IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIzNzVlNiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMzg0MGUiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjM5MjFlIiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIzYTAxNiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iM2FlMjciIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjNiYzM2IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIzY2E0NyIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iM2Q4NTYiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjNlNjY3IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIzZjQ4MSIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iNDAyODUiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjQxMDk1IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSI0MWVhNSIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iNDJjYjUiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjQzYWM1IiB2PSI0OS45Ii8+DQorCQkJCQk8dmFsIG89IjQ0OGQ1IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSI0NTZlNiIgdj0iNDkuOSIvPg0KKwkJCQkJPHZhbCBvPSI0NjRmNSIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iNDgwZmYiIHY9IjQ5LjkiLz4NCisJCQkJCTx2YWwgbz0iNDhmMGUiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjQ5ZDFkIiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSI0YWI0NiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iNGI5NTUiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjRjNzY5IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSI0ZDU3NyIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iNGUzODciIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjRmMTk2IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSI0ZmZhNiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iNTBkZDAiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjUxYmM2IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSI1MjlkNiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iNTM3ZTciIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjU0NjAwIiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSI1NTQwNiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iNTYyMTUiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjU3MDI2IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSI1N2UzNiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iNThjNDYiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjU5YTcwIiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSI1YTg2NyIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iNWI2NzYiIHY9IjQ5LjkiLz4NCisJCQkJCTx2YWwgbz0iNWM0ODciIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjVkMjk2IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSI1ZTBhOSIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iNWVlYjgiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjVmY2M2IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSI2MGFkNyIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iNjE4ZTciIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjYyNmY3IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSI2MzUwNyIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iNjQzMTciIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjY1MTI3IiB2PSI1MC4xIi8+DQorCQkJCQk8dmFsIG89IjY1ZjM3IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSI2NmQ0NiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iNjdiNTciIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjY4OTY3IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSI2OTc4MiIgdj0iNTAuMSIvPg0KKwkJCQkJPHZhbCBvPSI2YTU4NiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iNmIzOTUiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjZjMWE2IiB2PSI0OS45Ii8+DQorCQkJCQk8dmFsIG89IjZjZmI1IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSI2ZGRjNiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iNmViZDYiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjZmOWU2IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSI3MDdmNiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iNzE2MDciIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjcyNDE3IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSI3MzIyNyIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iNzQwMzciIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89Ijc0ZTQ3IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSI3NWM1NyIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iNzZhNjMiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89Ijc3ODczIiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSI3ODY4MCIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iNzk0OGYiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjdhMjlmIiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSI3YjBhZiIgdj0iNTAuMSIvPg0KKwkJCQkJPHZhbCBvPSI3YmViZiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iN2NjY2YiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjdkYWRmIiB2PSI0OS45Ii8+DQorCQkJCQk8dmFsIG89IjdlOGZhIiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSI3ZjcwYSIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iODA1MWEiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjgxMzJhIiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSI4MjEzYSIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iODJmNGEiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjgzZDVhIiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSI4NGI2YSIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iODU5N2EiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89Ijg2NzhiIiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSI4NzU5YiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iODgzYWMiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89Ijg5MWJiIiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSI4OWZjYSIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iOGFkZGEiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjhiYmViIiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSI4YzlmYyIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iOGQ4MGIiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjhlNjFhIiB2PSI1MC4xIi8+DQorCQkJCQk8dmFsIG89IjhmNDJhIiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSI5MDIzYSIgdj0iNTAuMSIvPg0KKwkJCQkJPHZhbCBvPSI5MTA0YSIgdj0iNDkuOSIvPg0KKwkJCQkJPHZhbCBvPSI5MWU1YSIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iOTJjNmEiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjkzYTg0IiB2PSI0OS45Ii8+DQorCQkJCQk8dmFsIG89Ijk0ODg1IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSI5NTY5NCIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iOTY0YTUiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89Ijk3MmI0IiB2PSI0OS45Ii8+DQorCQkJCQk8dmFsIG89Ijk4MGM1IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSI5OGVkNCIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iOTljZTUiIHY9IjQ5LjkiLz4NCisJCQkJCTx2YWwgbz0iOWFhZjUiIHY9IjUwLjEiLz4NCisJCQkJCTx2YWwgbz0iOWI5MDYiIHY9IjUwLjEiLz4NCisJCQkJCTx2YWwgbz0iOWM3MTYiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjlkNTI2IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSI5ZTMzNiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iOWYxNDUiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjlmZjU2IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSJhMGQ2NSIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iYTFiNzciIHY9IjQ5LjkiLz4NCisJCQkJCTx2YWwgbz0iYTI5ODYiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89ImEzNzk1IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSJhNDVhNyIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iYTUzYjYiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89ImE2MWM3IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSJhNmZkNiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iYTdlMDAiIHY9IjUwLjEiLz4NCisJCQkJCTx2YWwgbz0iYThjMDAiIHY9IjQ5LjkiLz4NCisJCQkJCTx2YWwgbz0iYTlhMDUiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89ImFhODE1IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSJhYjYyNSIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iYWM0MzUiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89ImFkMjQ1IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSJhZTA1NSIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iYWVlNjUiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89ImFmYzc1IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSJiMGE4NSIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iYjI2YTYiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89ImIzNGI2IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSJiNDJjNiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iYjUwZDYiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89ImI1ZWU3IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSJiNmNmNiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iYjdiMDciIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89ImI4OTE3IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSJiOTcyOCIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iYmE1MzciIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89ImJiMzQ3IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSJiYzE1NyIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iYmNmNjciIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89ImJkZDgxIiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSJiZWI4NiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iYmY5OTUiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89ImMwN2E2IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSJjMTViNSIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iYzIzYzYiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89ImMzMWQ1IiB2PSI0OS45Ii8+DQorCQkJCQk8dmFsIG89ImMzZmU2IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSJjNGRmNSIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iYzVjMDYiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89ImM2YTE2IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSJjNzgyNiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iYzg2MzYiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89ImM5NDQ2IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSJjYTI1NiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iY2IwNjYiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89ImNiZTc2IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSJjY2M4NyIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iY2RhOTYiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89ImNlOGE4IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSJjZjZiNyIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iZDA0YzgiIHY9IjQ5LjkiLz4NCisJCQkJCTx2YWwgbz0iZDEyZDciIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89ImQyMGU3IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSJkMmYwMiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iZDNkMDUiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89ImQ0YjE1IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSJkNTkyNiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iZDY3MzUiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89ImQ3NTQ2IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSJkODM1NSIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iZDkxNjYiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89ImQ5Zjc1IiB2PSI1MC4xIi8+DQorCQkJCQk8dmFsIG89ImRhZDg3IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSJkYmI5NyIgdj0iNDkuOSIvPg0KKwkJCQkJPHZhbCBvPSJkYzlhOCIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iZGQ3YjciIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89ImRlNWM2IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSJkZjNkNyIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iZTAxZDciIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89ImUwZmU1IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSJlMWRmNSIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iZTJjMDQiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89ImUzYTE0IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSJlNDgyNCIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iZTU2MzQiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89ImU2NDQ0IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSJlNzI1NSIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iZTgwNmYiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89ImU4ZTdmIiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSJlOWM4ZSIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iZWFhOWYiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89ImViOGFlIiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSJlYzZiZiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iZWQ0Y2UiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89ImVlMmRmIiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSJlZjBlZiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iZWZmMDEiIHY9IjUwLjEiLz4NCisJCQkJCTx2YWwgbz0iZjBkMTAiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89ImYxYjIwIiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSJmMjkzMCIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iZjM3NDAiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89ImY0NTUxIiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSJmNTM2MSIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iZjYxNzIiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89ImY2ZjgwIiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSJmN2Q5MSIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iZjhiYTEiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89ImY5OWIxIiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSJmYTdjMCIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iZmI1ZDEiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89ImZjM2UwIiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSJmZDFmYiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iZmUwMGIiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89ImZlZTFjIiB2PSI1MC4xIi8+DQorCQkJCQk8dmFsIG89ImZmYzJjIiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxMDBhM2IiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjEwMTg0YyIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMTAyNjViIiB2PSI0OS45Ii8+DQorCQkJCQk8dmFsIG89IjEwMzQ2YyIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMTA0MjdiIiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxMDUwOGQiIHY9IjQ5LjkiLz4NCisJCQkJCTx2YWwgbz0iMTA1ZTlkIiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxMDZjYWQiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjEwN2FiZCIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMTA4OGNkIiB2PSI0OS45Ii8+DQorCQkJCQk8dmFsIG89IjEwOTZkZSIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMTBhNGVkIiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxMGIyZmUiIHY9IjQ5LjkiLz4NCisJCQkJCTx2YWwgbz0iMTBjMTBkIiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxMGNmMWUiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjEwZGQyZSIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMTBlYjY2IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxMGY5NGUiIHY9IjQ5LjkiLz4NCisJCQkJCTx2YWwgbz0iMTEwNzVlIiB2PSI1MC4xIi8+DQorCQkJCQk8dmFsIG89IjExMTU2ZCIgdj0iNTAuMSIvPg0KKwkJCQkJPHZhbCBvPSIxMTIzODgiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjExMzE4NyIgdj0iNDkuOSIvPg0KKwkJCQkJPHZhbCBvPSIxMTNmYjAiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjExNGRhNiIgdj0iNDkuOSIvPg0KKwkJCQkJPHZhbCBvPSIxMTViYjYiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjExNjljNiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMTE3N2Q2IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxMTg1ZTgiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjExOTNmNyIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMTFhMjA4IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxMWIwMTciIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjExYmUyZiIgdj0iNTAuMSIvPg0KKwkJCQkJPHZhbCBvPSIxMWNjMzciIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjExZGE0NyIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMTFlODU3IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxMWY2NjciIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjEyMDU3OCIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMTIxMzg2IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxMjIxOTYiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjEyMmZhNiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMTIzZGI1IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxMjRiYzUiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjEyNTlkNSIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMTI2N2U0IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxMjc2MDAiIHY9IjQ5LjkiLz4NCisJCQkJCTx2YWwgbz0iMTI4MzA1IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxMjkxMTUiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjEyOWYyNSIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMTJhZDM1IiB2PSI0OS45Ii8+DQorCQkJCQk8dmFsIG89IjEyYmI0NSIgdj0iNDkuOSIvPg0KKwkJCQkJPHZhbCBvPSIxMmM5NTQiIHY9IjQ5LjkiLz4NCisJCQkJCTx2YWwgbz0iMTJkNzY2IiB2PSI0OS45Ii8+DQorCQkJCQk8dmFsIG89IjEyZTU3NSIgdj0iNTAuMSIvPg0KKwkJCQkJPHZhbCBvPSIxMmYzODYiIHY9IjUwLjEiLz4NCisJCQkJCTx2YWwgbz0iMTMwMTk2IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxMzBmYTYiIHY9IjUwLjEiLz4NCisJCQkJCTx2YWwgbz0iMTMxZGI3IiB2PSI0OS45Ii8+DQorCQkJCQk8dmFsIG89IjEzMmJjNSIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMTMzOWQ0IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxMzQ3ZTUiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjEzNTVmNCIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMTM2NDA0IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxMzcyMTQiIHY9IjUwLjEiLz4NCisJCQkJCTx2YWwgbz0iMTM4MDI0IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxMzhlMzMiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjEzOWM0NCIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMTNhYTU0IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxM2I4NjUiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjEzYzY3ZSIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMTNkNDhlIiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxM2UyOWUiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjEzZjBhZSIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMTNmZWJmIiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxNDBjY2YiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjE0MWFkZiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMTQyOGVmIiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxNDM2ZmYiIHY9IjQ5LjkiLz4NCisJCQkJCTx2YWwgbz0iMTQ0NTBmIiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxNDUzMWYiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjE0NjEzMCIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMTQ2ZjQwIiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxNDdkNDQiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjE0OGI1NyIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMTQ5OTY1IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxNGE3NzUiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjE0YjU4NCIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMTRjMzk3IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxNGQxYTQiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjE0ZGZiNiIgdj0iNDkuOSIvPg0KKwkJCQkJPHZhbCBvPSIxNGVkYzUiIHY9IjUwLjEiLz4NCisJCQkJCTx2YWwgbz0iMTRmYmQ1IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxNTA5ZTUiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjE1MTdmZiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMTUyNjA1IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxNTM0MTUiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjE1NDIyNSIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMTU1MDM1IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxNTVlNDUiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjE1NmM1NSIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMTU3YTY1IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxNTg4NzUiIHY9IjQ5LjkiLz4NCisJCQkJCTx2YWwgbz0iMTU5Njg2IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxNWE0OTUiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjE1YjJhNiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMTVjMGI2IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxNWNlYzYiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjE1ZGNkNSIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMTVlYWU2IiB2PSI0OS45Ii8+DQorCQkJCQk8dmFsIG89IjE1ZjhmNSIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMTYwNzA2IiB2PSI0OS45Ii8+DQorCQkJCQk8dmFsIG89IjE2MTUxNyIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMTYyMzI2IiB2PSI0OS45Ii8+DQorCQkJCQk8dmFsIG89IjE2MzEzNyIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMTYzZjQ2IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxNjRkNTciIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjE2NWI2NyIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMTY2OTgyIiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxNjc3ODYiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjE2ODU5NiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMTY5M2E2IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxNmExYjUiIHY9IjQ5LjkiLz4NCisJCQkJCTx2YWwgbz0iMTZhZmM2IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxNmJkZDUiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjE2Y2JlNiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMTZkOWY2IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxNmU4MDciIHY9IjQ5LjkiLz4NCisJCQkJCTx2YWwgbz0iMTZmNjE2IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxNzA0MjkiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjE3MTIzNiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMTcyMDQ3IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxNzJlNTciIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjE3M2M2NyIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMTc0YTc3IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxNzU4ODciIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjE3NjY5NCIgdj0iNDkuOSIvPg0KKwkJCQkJPHZhbCBvPSIxNzc0YTMiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjE3ODJiMyIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMTc5MGM1IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxNzllZDQiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjE3YWNlNCIgdj0iNTAuMSIvPg0KKwkJCQkJPHZhbCBvPSIxN2JhZmQiIHY9IjUwLjEiLz4NCisJCQkJCTx2YWwgbz0iMTdjOTBmIiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxN2Q3MWUiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjE3ZTUyZiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMTdmMzNmIiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxODAxNGYiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjE4MGY1ZiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMTgxZDZlIiB2PSI1MC4xIi8+DQorCQkJCQk8dmFsIG89IjE4MmI3ZiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMTgzOThmIiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxODQ3YTEiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjE4NTVhZiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMTg2M2MwIiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxODcxY2YiIHY9IjQ5LjkiLz4NCisJCQkJCTx2YWwgbz0iMTg3ZmUwIiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxODhkZWYiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjE4OWMwMCIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMThiODBkIiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxOGM2MWMiIHY9IjQ5LjkiLz4NCisJCQkJCTx2YWwgbz0iMThkNDJjIiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxOGUyM2IiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjE4ZjA0YiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMThmZTVlIiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxOTBjNzYiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjE5MWE4NiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMTkyODk2IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxOTM2YTYiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjE5NDRiNyIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMTk1MmM2IiB2PSI0OS45Ii8+DQorCQkJCQk8dmFsIG89IjE5NjBkNyIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMTk2ZWU2IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxOTdjZjgiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjE5OGIwZiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMTk5OTFmIiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxOWI1NDEiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjE5YzM0ZCIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMTlkMTVlIiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxOWRmODAiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjE5ZWQ5MCIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMTllZWJlIiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxOWZiOGUiIHY9IjQ5LjkiLz4NCisJCQkJCTx2YWwgbz0iMWEwOWEwIiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxYTE3YWUiIHY9IjQ5LjkiLz4NCisJCQkJCTx2YWwgbz0iMWEyNWJlIiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxYTMzY2QiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjFhNDFkZCIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMWE0ZmVkIiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxYTVlMDgiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjFhNmMwNSIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMWE3YTE1IiB2PSI1MC4xIi8+DQorCQkJCQk8dmFsIG89IjFhODgyNiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMWE5NjM3IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxYWE0NDUiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjFhYjI1NSIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMWFjMDY1IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxYWNlNzUiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjFhZGM4NyIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMWFlYTk2IiB2PSI0OS45Ii8+DQorCQkJCQk8dmFsIG89IjFhZjhhNyIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMWIwNmI3IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxYjE0YzYiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjFjNzQ2MCIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMWM4MjcwIiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxYzkwN2UiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjFjOWU4ZiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMWNhY2EyIiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxY2JhYjEiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjFjYzhjMSIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMWNkNmQwIiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxY2U0ZGUiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjFjZjJmMCIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMWQwMTA5IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxZDBmMDYiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjFkMWQxNSIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMWQyYjI1IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxZDM5MzUiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjFkNDc0NSIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMWQ1NTU1IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxZDYzNjYiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjFkNzE3NSIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMWQ3Zjg2IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxZDhkOTUiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjFkOWJhNiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMWRhOWI2IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxZGI3YzciIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjFkYzVkNSIgdj0iNDkuOSIvPg0KKwkJCQkJPHZhbCBvPSIxZGQzZTYiIHY9IjQ5LjkiLz4NCisJCQkJCTx2YWwgbz0iMWRlMWY1IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxZGYwMDYiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjFkZmUxNiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMWUwYzI2IiB2PSI0OS45Ii8+DQorCQkJCQk8dmFsIG89IjFlMWEzNiIgdj0iNDkuOSIvPg0KKwkJCQkJPHZhbCBvPSIxZTI4NDciIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjFlMzY1OSIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMWU0NDY3IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxZTUyODEiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjFlNjA4NiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMWU2ZTk2IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxZTdjYTYiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjFlOGFiNSIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMWU5OGM2IiB2PSI0OS45Ii8+DQorCQkJCQk8dmFsIG89IjFlYTZkNSIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMWViNGU2IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxZWMyZjYiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjFlZDEwNiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMWVkZjE2IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxZWVkMjYiIHY9IjQ5LjkiLz4NCisJCQkJCTx2YWwgbz0iMWVmYjM2IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxZjA5NDYiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjFmMTc1NiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMWYyNTY2IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxZjMzNzYiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjFmNDE4NyIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMWY0Zjk2IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxZjVkYTciIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjFmNmJiNiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMWY3OWM3IiB2PSI1MC4xIi8+DQorCQkJCQk8dmFsIG89IjFmODdkNiIgdj0iNTAuMSIvPg0KKwkJCQkJPHZhbCBvPSIxZjk1ZTciIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjFmYTQwMSIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMWZiMjA0IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIxZmMwMTYiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjFmY2UyNSIgdj0iNDkuOSIvPg0KKwkJCQkJPHZhbCBvPSIxZmRjMzUiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjFmZWE0NSIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMWZmODU1IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIyMDA2NjUiIHY9IjQ5LjkiLz4NCisJCQkJCTx2YWwgbz0iMjAxNDc1IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIyMDIyODYiIHY9IjQ5LjkiLz4NCisJCQkJCTx2YWwgbz0iMjAzMDk1IiB2PSI0OS45Ii8+DQorCQkJCQk8dmFsIG89IjIwM2VhNSIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMjA0Y2I2IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIyMDVhYzYiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjIwNjhkNiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMjA3NmU2IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIyMDg0ZjYiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjIwOTMwNiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMjBhMTE2IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIyMGFmMjYiIHY9IjQ5LjkiLz4NCisJCQkJCTx2YWwgbz0iMjBiZDM3IiB2PSI0OS45Ii8+DQorCQkJCQk8dmFsIG89IjIwY2I0NiIgdj0iNDkuOSIvPg0KKwkJCQkJPHZhbCBvPSIyMGQ5NTciIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjIwZTc2NyIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMjBmNTgxIiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIyMTAzODYiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjIxMTE5NCIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMjExZmE1IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIyMTJkYjUiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjIxM2JjNSIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMjE0OWQ2IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIyMTU3ZTUiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjIxNjVmNiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMjE3NDA2IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIyMTgyMTciIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjIxOTAyNiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMjE5ZTM5IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIyMWFjNDYiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjIxYmE1NyIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMjFjODY3IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIyMWQ2NzciIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjIxZTQ4NyIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMjFmMjk2IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIyMjAwYTYiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjIyMGViNyIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMjIxY2M2IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIyMjJhZDciIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjIyMzhlNyIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMjI0NzAxIiB2PSI0OS45Ii8+DQorCQkJCQk8dmFsIG89IjIyNTUwNSIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMjI2MzE1IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIyMjcxMjUiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjIyN2YzNSIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMjI4ZDQ1IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIyMjliNTQiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjIyYTk2NSIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMjJiNzc2IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIyMmM1ODYiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjIyZDM5NyIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMjJlMWE2IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIyMmVmYjYiIHY9IjUwLjEiLz4NCisJCQkJCTx2YWwgbz0iMjJmZGM3IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIyMzBiZDciIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjIzMTllNiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMjMyN2Y2IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIyMzM2MWIiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjIzNDQxNiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMjM1MjI2IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIyMzYwMzciIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjIzNmU0NiIgdj0iNDkuOSIvPg0KKwkJCQkJPHZhbCBvPSIyMzdjNTciIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjIzOGE2NiIgdj0iNTAuMSIvPg0KKwkJCQkJPHZhbCBvPSIyMzk4ODEiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjIzYTY4NSIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMjNiNDk1IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIyM2MyYTQiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjIzZDBiNSIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMjNkZWM0IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIyM2VjZDUiIHY9IjQ5LjkiLz4NCisJCQkJCTx2YWwgbz0iMjNmYWU0IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIyNDA4ZjYiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjI0MTcwNiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMjQyNTE4IiB2PSI0OS45Ii8+DQorCQkJCQk8dmFsIG89IjI0MzMyNSIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMjQ0MTM3IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIyNDRmNDYiIHY9IjUwLjEiLz4NCisJCQkJCTx2YWwgbz0iMjQ2YjY2IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIyNDc5NzYiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjI0ODc4NiIgdj0iNDkuOSIvPg0KKwkJCQkJPHZhbCBvPSIyNDk1N2UiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjI0YTM4ZiIgdj0iNDkuOSIvPg0KKwkJCQkJPHZhbCBvPSIyNGIxOWMiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjI0YmZhYyIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMjRjZGJjIiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIyNGRiY2QiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjI0ZTllNSIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMjRmODA4IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIyNTA2MTYiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjI1MTQyNiIgdj0iNDkuOSIvPg0KKwkJCQkJPHZhbCBvPSIyNTIyMzYiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjI1MzA0NyIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMjUzZTU2IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIyNTRjNjciIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjI1NWE3NiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMjU2ODg3IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIyNTc2OTciIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjI1ODRhOCIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMjU5MmI2IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIyNWEwYzciIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjI1YWVkNyIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMjViY2U3IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIyNWNhZjgiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjI1ZDkwNyIgdj0iNDkuOSIvPg0KKwkJCQkJPHZhbCBvPSIyNWU3MTgiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjI1ZjUyNyIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMjYwMzM4IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIyNjExNDkiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjI2MWY1OSIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMjYyZDY4IiB2PSI1MC4xIi8+DQorCQkJCQk8dmFsIG89IjI2M2I4MyIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMjY0OTg2IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIyNjU3OTUiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjI2NjVhNiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMjY3M2I1IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIyNjgxYzYiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjI2OGZkNSIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMjY5ZGU2IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIyNmFiZjYiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjI2YmEwNiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMjZjODE3IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIyNmQ2MmIiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjI2ZTQzNiIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMjZmMjQ3IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIyNzAwNTciIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjI3MGU2NyIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMjcxYzc3IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIyNzJhODciIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjI3Mzg5NyIgdj0iNTAiLz4NCisJCQkJCTx2YWwgbz0iMjc0NmE4IiB2PSI1MCIvPg0KKwkJCQkJPHZhbCBvPSIyNzU0YjkiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjI3NjJjNyIgdj0iNDkuOSIvPg0KKwkJCQkJPHZhbCBvPSIyNzcwZDgiIHY9IjUwIi8+DQorCQkJCQk8dmFsIG89IjI3N2VlNyIgdj0iNTAiLz4NCisJCQkJPC9wYXI+DQorCQkJCTxwYXIgbWVtaW5kPSI4NjEyIiBoPSIzZGMxYThkZSI+DQorCQkJCQk8dmFsIG89IjAiIHY9IjI1LjA3Ii8+DQorCQkJCQk8dmFsIG89ImUwOCIgdj0iMjQuMDY3Ii8+DQorCQkJCQk8dmFsIG89IjFjMzIiIHY9IjIzLjQzOCIvPg0KKwkJCQkJPHZhbCBvPSIyYTNjIiB2PSIyMy4yNDUiLz4NCisJCQkJCTx2YWwgbz0iMzgzNSIgdj0iMjIuNzg0Ii8+DQorCQkJCQk8dmFsIG89IjQ2NDUiIHY9IjIyLjc0NiIvPg0KKwkJCQkJPHZhbCBvPSI1NDU1IiB2PSIyNi4yOTciLz4NCisJCQkJCTx2YWwgbz0iNjI2NSIgdj0iMjguODc4Ii8+DQorCQkJCQk8dmFsIG89IjcwNzUiIHY9IjM0LjQ1MSIvPg0KKwkJCQkJPHZhbCBvPSI3ZTg1IiB2PSI0MC4wMTciLz4NCisJCQkJCTx2YWwgbz0iOGM5NiIgdj0iNDAuNTcyIi8+DQorCQkJCQk8dmFsIG89IjlhYTUiIHY9IjM4LjY4MiIvPg0KKwkJCQkJPHZhbCBvPSJhOGI2IiB2PSIzNS44NjkiLz4NCisJCQkJCTx2YWwgbz0iYjZjNSIgdj0iMzQuMTIiLz4NCisJCQkJCTx2YWwgbz0iYzRkNyIgdj0iMC4wMzUiLz4NCisJCQkJCTx2YWwgbz0iZDMwYiIgdj0iMC4wMzYiLz4NCisJCQkJCTx2YWwgbz0iZTBmNiIgdj0iMC4wMzUiLz4NCisJCQkJCTx2YWwgbz0iZWYwNiIgdj0iMC4wMzciLz4NCisJCQkJCTx2YWwgbz0iZmQxNyIgdj0iMC4wMzgiLz4NCisJCQkJCTx2YWwgbz0iMTBiMjciIHY9IjAuMDM3Ii8+DQorCQkJCQk8dmFsIG89IjExOTM3IiB2PSIwLjAzNyIvPg0KKwkJCQkJPHZhbCBvPSIxMjc0NiIgdj0iMC4wMzYiLz4NCisJCQkJCTx2YWwgbz0iMTM1NTYiIHY9IjAuMDM1Ii8+DQorCQkJCQk8dmFsIG89IjE0MzY2IiB2PSIwLjAzNiIvPg0KKwkJCQkJPHZhbCBvPSIxNTE4MSIgdj0iMC4wMzciLz4NCisJCQkJCTx2YWwgbz0iMTVmODUiIHY9IjAuMDM2Ii8+DQorCQkJCQk8dmFsIG89IjE2ZDk1IiB2PSIwLjAzNiIvPg0KKwkJCQkJPHZhbCBvPSIxN2JhNCIgdj0iMC4wMzUiLz4NCisJCQkJCTx2YWwgbz0iMTg5YjUiIHY9IjAuMDM4Ii8+DQorCQkJCQk8dmFsIG89IjE5N2M0IiB2PSIwLjAzNiIvPg0KKwkJCQkJPHZhbCBvPSIxYTVkNSIgdj0iMC4wMzciLz4NCisJCQkJCTx2YWwgbz0iMWIzZTYiIHY9IjAuMDM0Ii8+DQorCQkJCQk8dmFsIG89IjFjMWY2IiB2PSIwLjAzNyIvPg0KKwkJCQkJPHZhbCBvPSIxZDAwNSIgdj0iMC4wMzUiLz4NCisJCQkJCTx2YWwgbz0iMWRlMTUiIHY9IjAuMDMzIi8+DQorCQkJCQk8dmFsIG89IjFlYzI1IiB2PSIwLjAzNSIvPg0KKwkJCQkJPHZhbCBvPSIxZmEzNiIgdj0iMC4wMzUiLz4NCisJCQkJCTx2YWwgbz0iMjA4NDUiIHY9IjAuMDM3Ii8+DQorCQkJCQk8dmFsIG89IjIxNjU2IiB2PSIwLjAzNSIvPg0KKwkJCQkJPHZhbCBvPSIyMjQ2NSIgdj0iMC4wMzciLz4NCisJCQkJCTx2YWwgbz0iMjMyNzYiIHY9IjAuMDM1Ii8+DQorCQkJCQk8dmFsIG89IjI0MDg2IiB2PSIwLjAzNCIvPg0KKwkJCQkJPHZhbCBvPSIyNGU5OSIgdj0iMC4wMzUiLz4NCisJCQkJCTx2YWwgbz0iMjVjYTciIHY9IjAuMDM1Ii8+DQorCQkJCQk8dmFsIG89IjI2YWI3IiB2PSIwLjAzNSIvPg0KKwkJCQkJPHZhbCBvPSIyNzhjNiIgdj0iMC4wMzYiLz4NCisJCQkJCTx2YWwgbz0iMjg2ZDYiIHY9IjAuMDM1Ii8+DQorCQkJCQk8dmFsIG89IjI5NGU2IiB2PSIwLjAzNCIvPg0KKwkJCQkJPHZhbCBvPSIyYTMwMSIgdj0iMC4wMzYiLz4NCisJCQkJCTx2YWwgbz0iMmIxMDUiIHY9IjAuMDM0Ii8+DQorCQkJCQk8dmFsIG89IjJiZjE1IiB2PSIwLjAzNCIvPg0KKwkJCQkJPHZhbCBvPSIyY2QyNSIgdj0iMC4wMzYiLz4NCisJCQkJCTx2YWwgbz0iMmRiMzUiIHY9IjAuMDM0Ii8+DQorCQkJCQk8dmFsIG89IjJlOTQ2IiB2PSIwLjAzMyIvPg0KKwkJCQkJPHZhbCBvPSIyZjc1NSIgdj0iMC4wMzQiLz4NCisJCQkJCTx2YWwgbz0iMzA1NjYiIHY9IjAuMDM1Ii8+DQorCQkJCQk8dmFsIG89IjMxMzc1IiB2PSIwLjAzNSIvPg0KKwkJCQkJPHZhbCBvPSIzMjE5ZSIgdj0iMC4wMzUiLz4NCisJCQkJCTx2YWwgbz0iMzJmOTYiIHY9IjAuMDM2Ii8+DQorCQkJCQk8dmFsIG89IjMzZGE2IiB2PSIwLjAzNSIvPg0KKwkJCQkJPHZhbCBvPSIzNGJiNiIgdj0iMC4wMzUiLz4NCisJCQkJCTx2YWwgbz0iMzU5ZGUiIHY9IjAuMDMzIi8+DQorCQkJCQk8dmFsIG89IjM2N2Q2IiB2PSIwLjAzNSIvPg0KKwkJCQkJPHZhbCBvPSIzNzVlNiIgdj0iMC4wMzQiLz4NCisJCQkJCTx2YWwgbz0iMzg0MGUiIHY9IjAuMDMzIi8+DQorCQkJCQk8dmFsIG89IjM5MjFlIiB2PSIwLjAzNSIvPg0KKwkJCQkJPHZhbCBvPSIzYTAxNiIgdj0iMC4wMzUiLz4NCisJCQkJCTx2YWwgbz0iM2FlMjciIHY9IjAuMDM2Ii8+DQorCQkJCQk8dmFsIG89IjNiYzM2IiB2PSIwLjAzNSIvPg0KKwkJCQkJPHZhbCBvPSIzY2E0NyIgdj0iMC4wMzUiLz4NCisJCQkJCTx2YWwgbz0iM2Q4NTYiIHY9IjAuMDM2Ii8+DQorCQkJCQk8dmFsIG89IjNlNjY3IiB2PSIwLjAzNSIvPg0KKwkJCQkJPHZhbCBvPSIzZjQ4MSIgdj0iMC4wMzciLz4NCisJCQkJCTx2YWwgbz0iNDAyODUiIHY9IjAuMDM0Ii8+DQorCQkJCQk8dmFsIG89IjQxMDk1IiB2PSIwLjAzNSIvPg0KKwkJCQkJPHZhbCBvPSI0MWVhNSIgdj0iMC4wMzUiLz4NCisJCQkJCTx2YWwgbz0iNDJjYjUiIHY9IjAuMDM1Ii8+DQorCQkJCQk8dmFsIG89IjQzYWM1IiB2PSIwLjAzNiIvPg0KKwkJCQkJPHZhbCBvPSI0NDhkNSIgdj0iMC4wMzgiLz4NCisJCQkJCTx2YWwgbz0iNDU2ZTYiIHY9IjAuMDM2Ii8+DQorCQkJCQk8dmFsIG89IjQ2NGY1IiB2PSIwLjAzOSIvPg0KKwkJCQkJPHZhbCBvPSI0ODBmZiIgdj0iMC4wMzYiLz4NCisJCQkJCTx2YWwgbz0iNDhmMGUiIHY9IjAuMDM2Ii8+DQorCQkJCQk8dmFsIG89IjQ5ZDFkIiB2PSIwLjAzOCIvPg0KKwkJCQkJPHZhbCBvPSI0YWI0NiIgdj0iMC4wMzYiLz4NCisJCQkJCTx2YWwgbz0iNGI5NTUiIHY9IjAuMDM3Ii8+DQorCQkJCQk8dmFsIG89IjRjNzY5IiB2PSIwLjAzNiIvPg0KKwkJCQkJPHZhbCBvPSI0ZDU3NyIgdj0iMC4wMzYiLz4NCisJCQkJCTx2YWwgbz0iNGUzODciIHY9IjAuMDM2Ii8+DQorCQkJCQk8dmFsIG89IjRmMTk2IiB2PSIwLjAzNiIvPg0KKwkJCQkJPHZhbCBvPSI0ZmZhNiIgdj0iMC4wMzYiLz4NCisJCQkJCTx2YWwgbz0iNTBkZDAiIHY9IjAuMDM4Ii8+DQorCQkJCQk8dmFsIG89IjUxYmM2IiB2PSIwLjAzNiIvPg0KKwkJCQkJPHZhbCBvPSI1MjlkNiIgdj0iMC4wMzYiLz4NCisJCQkJCTx2YWwgbz0iNTM3ZTciIHY9IjAuMDM1Ii8+DQorCQkJCQk8dmFsIG89IjU0NjAwIiB2PSIwLjAzNiIvPg0KKwkJCQkJPHZhbCBvPSI1NTQwNiIgdj0iMC4wMzQiLz4NCisJCQkJCTx2YWwgbz0iNTYyMTUiIHY9IjAuMDM1Ii8+DQorCQkJCQk8dmFsIG89IjU3MDI2IiB2PSIwLjAzNCIvPg0KKwkJCQkJPHZhbCBvPSI1N2UzNiIgdj0iMC4wMzYiLz4NCisJCQkJCTx2YWwgbz0iNThjNDYiIHY9IjAuMDM1Ii8+DQorCQkJCQk8dmFsIG89IjU5YTcwIiB2PSIwLjA0Ii8+DQorCQkJCQk8dmFsIG89IjVhODY3IiB2PSIwLjAzNCIvPg0KKwkJCQkJPHZhbCBvPSI1YjY3NiIgdj0iMC4wMzUiLz4NCisJCQkJCTx2YWwgbz0iNWM0ODciIHY9IjAuMDM2Ii8+DQorCQkJCQk8dmFsIG89IjVkMjk2IiB2PSIwLjAzNyIvPg0KKwkJCQkJPHZhbCBvPSI1ZTBhOSIgdj0iMC4wMzYiLz4NCisJCQkJCTx2YWwgbz0iNWVlYjgiIHY9IjAuMDM5Ii8+DQorCQkJCQk8dmFsIG89IjVmY2M2IiB2PSIwLjAzNiIvPg0KKwkJCQkJPHZhbCBvPSI2MGFkNyIgdj0iMC4wMzUiLz4NCisJCQkJCTx2YWwgbz0iNjE4ZTciIHY9IjAuMDM2Ii8+DQorCQkJCQk8dmFsIG89IjYyNmY3IiB2PSIwLjAzNSIvPg0KKwkJCQkJPHZhbCBvPSI2MzUwNyIgdj0iMC4wMzYiLz4NCisJCQkJCTx2YWwgbz0iNjQzMTciIHY9IjAuMDM3Ii8+DQorCQkJCQk8dmFsIG89IjY1MTI3IiB2PSIwLjAzOSIvPg0KKwkJCQkJPHZhbCBvPSI2NWYzNyIgdj0iMC4wMzciLz4NCisJCQkJCTx2YWwgbz0iNjZkNDYiIHY9IjAuMDM1Ii8+DQorCQkJCQk8dmFsIG89IjY3YjU3IiB2PSIwLjAzNiIvPg0KKwkJCQkJPHZhbCBvPSI2ODk2NyIgdj0iMC4wMzUiLz4NCisJCQkJCTx2YWwgbz0iNjk3ODIiIHY9IjAuMDM1Ii8+DQorCQkJCQk8dmFsIG89IjZhNTg2IiB2PSIwLjAzNyIvPg0KKwkJCQkJPHZhbCBvPSI2YjM5NSIgdj0iMC4wMzUiLz4NCisJCQkJCTx2YWwgbz0iNmMxYTYiIHY9IjAuMDM3Ii8+DQorCQkJCQk8dmFsIG89IjZjZmI1IiB2PSIwLjAzNSIvPg0KKwkJCQkJPHZhbCBvPSI2ZGRjNiIgdj0iMC4wMzMiLz4NCisJCQkJCTx2YWwgbz0iNmViZDYiIHY9IjAuMDMzIi8+DQorCQkJCQk8dmFsIG89IjZmOWU2IiB2PSIwLjAzNSIvPg0KKwkJCQkJPHZhbCBvPSI3MDdmNiIgdj0iMC4wMzUiLz4NCisJCQkJCTx2YWwgbz0iNzE2MDciIHY9IjAuMDM3Ii8+DQorCQkJCQk8dmFsIG89IjcyNDE3IiB2PSIwLjAzNyIvPg0KKwkJCQkJPHZhbCBvPSI3MzIyNyIgdj0iMC4wMzciLz4NCisJCQkJCTx2YWwgbz0iNzQwMzciIHY9IjAuMDM3Ii8+DQorCQkJCQk8dmFsIG89Ijc0ZTQ3IiB2PSIwLjAzNyIvPg0KKwkJCQkJPHZhbCBvPSI3NWM1NyIgdj0iMC4wNCIvPg0KKwkJCQkJPHZhbCBvPSI3NmE2MyIgdj0iMC4wMzYiLz4NCisJCQkJCTx2YWwgbz0iNzc4NzMiIHY9IjAuMDM1Ii8+DQorCQkJCQk8dmFsIG89Ijc4NjgwIiB2PSIwLjAzNyIvPg0KKwkJCQkJPHZhbCBvPSI3OTQ4ZiIgdj0iMC4wMzYiLz4NCisJCQkJCTx2YWwgbz0iN2EyOWYiIHY9IjAuMDM2Ii8+DQorCQkJCQk8dmFsIG89IjdiMGFmIiB2PSIwLjAzNiIvPg0KKwkJCQkJPHZhbCBvPSI3YmViZiIgdj0iMC4wMzYiLz4NCisJCQkJCTx2YWwgbz0iN2NjY2YiIHY9IjAuMDM3Ii8+DQorCQkJCQk8dmFsIG89IjdkYWRmIiB2PSIwLjAzNiIvPg0KKwkJCQkJPHZhbCBvPSI3ZThmYSIgdj0iMC4wMzUiLz4NCisJCQkJCTx2YWwgbz0iN2Y3MGEiIHY9IjAuMDM1Ii8+DQorCQkJCQk8dmFsIG89IjgwNTFhIiB2PSIwLjAzNiIvPg0KKwkJCQkJPHZhbCBvPSI4MTMyYSIgdj0iMC4wMzQiLz4NCisJCQkJCTx2YWwgbz0iODIxM2EiIHY9IjAuMDM1Ii8+DQorCQkJCQk8dmFsIG89IjgyZjRhIiB2PSIwLjAzNiIvPg0KKwkJCQkJPHZhbCBvPSI4M2Q1YSIgdj0iMC4wMzUiLz4NCisJCQkJCTx2YWwgbz0iODRiNmEiIHY9IjAuMDM0Ii8+DQorCQkJCQk8dmFsIG89Ijg1OTdhIiB2PSIwLjAzNSIvPg0KKwkJCQkJPHZhbCBvPSI4Njc4YiIgdj0iMC4wMzYiLz4NCisJCQkJCTx2YWwgbz0iODc1OWIiIHY9IjAuMDM0Ii8+DQorCQkJCQk8dmFsIG89Ijg4M2FjIiB2PSIwLjAzNyIvPg0KKwkJCQkJPHZhbCBvPSI4OTFiYiIgdj0iMC4wMzciLz4NCisJCQkJCTx2YWwgbz0iODlmY2EiIHY9IjAuMDM1Ii8+DQorCQkJCQk8dmFsIG89IjhhZGRhIiB2PSIwLjAzNSIvPg0KKwkJCQkJPHZhbCBvPSI4YmJlYiIgdj0iMC4wMzUiLz4NCisJCQkJCTx2YWwgbz0iOGM5ZmMiIHY9IjAuMDM1Ii8+DQorCQkJCQk8dmFsIG89IjhkODBiIiB2PSIwLjAzNCIvPg0KKwkJCQkJPHZhbCBvPSI4ZTYxYSIgdj0iMC4wMzUiLz4NCisJCQkJCTx2YWwgbz0iOGY0MmEiIHY9IjAuMDM0Ii8+DQorCQkJCQk8dmFsIG89IjkwMjNhIiB2PSIwLjAzNiIvPg0KKwkJCQkJPHZhbCBvPSI5MTA0YSIgdj0iMC4wMzUiLz4NCisJCQkJCTx2YWwgbz0iOTFlNWEiIHY9IjAuMDM1Ii8+DQorCQkJCQk8dmFsIG89IjkyYzZhIiB2PSIwLjAzNCIvPg0KKwkJCQkJPHZhbCBvPSI5M2E4NCIgdj0iMC4wMzUiLz4NCisJCQkJCTx2YWwgbz0iOTQ4ODUiIHY9IjAuMDM2Ii8+DQorCQkJCQk8dmFsIG89Ijk1Njk0IiB2PSIwLjAzNCIvPg0KKwkJCQkJPHZhbCBvPSI5NjRhNSIgdj0iMC4wMzQiLz4NCisJCQkJCTx2YWwgbz0iOTcyYjQiIHY9IjAuMDM0Ii8+DQorCQkJCQk8dmFsIG89Ijk4MGM1IiB2PSIwLjAzNCIvPg0KKwkJCQkJPHZhbCBvPSI5OGVkNCIgdj0iMC4wMzUiLz4NCisJCQkJCTx2YWwgbz0iOTljZTUiIHY9IjAuMDM3Ii8+DQorCQkJCQk8dmFsIG89IjlhYWY1IiB2PSIwLjAzNCIvPg0KKwkJCQkJPHZhbCBvPSI5YjkwNiIgdj0iMC4wMzYiLz4NCisJCQkJCTx2YWwgbz0iOWM3MTYiIHY9IjAuMDM3Ii8+DQorCQkJCQk8dmFsIG89IjlkNTI2IiB2PSIwLjAzNSIvPg0KKwkJCQkJPHZhbCBvPSI5ZTMzNiIgdj0iMC4wMzUiLz4NCisJCQkJCTx2YWwgbz0iOWYxNDUiIHY9IjAuMDM1Ii8+DQorCQkJCQk8dmFsIG89IjlmZjU2IiB2PSIwLjAzNSIvPg0KKwkJCQkJPHZhbCBvPSJhMGQ2NSIgdj0iMC4wMzYiLz4NCisJCQkJCTx2YWwgbz0iYTFiNzciIHY9IjM2LjExNyIvPg0KKwkJCQkJPHZhbCBvPSJhMjk4NiIgdj0iMTcuNjEzIi8+DQorCQkJCQk8dmFsIG89ImEzNzk1IiB2PSI4LjM1NyIvPg0KKwkJCQkJPHZhbCBvPSJhNDVhNyIgdj0iNS45NTciLz4NCisJCQkJCTx2YWwgbz0iYTUzYjYiIHY9IjcuMTM0Ii8+DQorCQkJCQk8dmFsIG89ImE2MWM3IiB2PSI4LjY0NiIvPg0KKwkJCQkJPHZhbCBvPSJhNmZkNiIgdj0iNi40MjkiLz4NCisJCQkJCTx2YWwgbz0iYTdlMDAiIHY9IjEwLjIzNSIvPg0KKwkJCQkJPHZhbCBvPSJhOGMwMCIgdj0iMTQuMDI3Ii8+DQorCQkJCQk8dmFsIG89ImE5YTA1IiB2PSIzLjU0OSIvPg0KKwkJCQkJPHZhbCBvPSJhYTgxNSIgdj0iMy44Ii8+DQorCQkJCQk8dmFsIG89ImFiNjI1IiB2PSI2LjA5MyIvPg0KKwkJCQkJPHZhbCBvPSJhYzQzNSIgdj0iNS4yMDQiLz4NCisJCQkJCTx2YWwgbz0iYWQyNDUiIHY9IjcuNTI2Ii8+DQorCQkJCQk8dmFsIG89ImFlMDU1IiB2PSIxMS4zOSIvPg0KKwkJCQkJPHZhbCBvPSJhZWU2NSIgdj0iMC45NTQiLz4NCisJCQkJCTx2YWwgbz0iYWZjNzUiIHY9IjUuNzczIi8+DQorCQkJCQk8dmFsIG89ImIwYTg1IiB2PSIyMS4wMTkiLz4NCisJCQkJCTx2YWwgbz0iYjI2YTYiIHY9IjIyLjYzNiIvPg0KKwkJCQkJPHZhbCBvPSJiMzRiNiIgdj0iMTkuMzE2Ii8+DQorCQkJCQk8dmFsIG89ImI0MmM2IiB2PSIxLjI2NSIvPg0KKwkJCQkJPHZhbCBvPSJiNTBkNiIgdj0iMy4xMyIvPg0KKwkJCQkJPHZhbCBvPSJiNWVlNyIgdj0iNi4wOTEiLz4NCisJCQkJCTx2YWwgbz0iYjZjZjYiIHY9IjcuMjczIi8+DQorCQkJCQk8dmFsIG89ImI3YjA3IiB2PSI5LjM3MyIvPg0KKwkJCQkJPHZhbCBvPSJiODkxNyIgdj0iNy43MTEiLz4NCisJCQkJCTx2YWwgbz0iYjk3MjgiIHY9IjguMTgzIi8+DQorCQkJCQk8dmFsIG89ImJhNTM3IiB2PSI5Ljg0MyIvPg0KKwkJCQkJPHZhbCBvPSJiYjM0NyIgdj0iNS4yNTEiLz4NCisJCQkJCTx2YWwgbz0iYmMxNTciIHY9IjIuNjQ2Ii8+DQorCQkJCQk8dmFsIG89ImJjZjY3IiB2PSI3LjE3NSIvPg0KKwkJCQkJPHZhbCBvPSJiZGQ4MSIgdj0iMTkuNjk3Ii8+DQorCQkJCQk8dmFsIG89ImJlYjg2IiB2PSI0LjcwMyIvPg0KKwkJCQkJPHZhbCBvPSJiZjk5NSIgdj0iNS4wMTciLz4NCisJCQkJCTx2YWwgbz0iYzA3YTYiIHY9IjUuMDI4Ii8+DQorCQkJCQk8dmFsIG89ImMxNWI1IiB2PSI0LjQwNiIvPg0KKwkJCQkJPHZhbCBvPSJjMjNjNiIgdj0iNS4xNjQiLz4NCisJCQkJCTx2YWwgbz0iYzMxZDUiIHY9IjEwLjk1MSIvPg0KKwkJCQkJPHZhbCBvPSJjM2ZlNiIgdj0iNS4wOTYiLz4NCisJCQkJCTx2YWwgbz0iYzRkZjUiIHY9IjEwLjAzMiIvPg0KKwkJCQkJPHZhbCBvPSJjNWMwNiIgdj0iNC4wODQiLz4NCisJCQkJCTx2YWwgbz0iYzZhMTYiIHY9IjUuMjIzIi8+DQorCQkJCQk8dmFsIG89ImM3ODI2IiB2PSI2LjYyMiIvPg0KKwkJCQkJPHZhbCBvPSJjODYzNiIgdj0iMi41NzEiLz4NCisJCQkJCTx2YWwgbz0iYzk0NDYiIHY9IjMuNzY2Ii8+DQorCQkJCQk8dmFsIG89ImNhMjU2IiB2PSIyLjkyNSIvPg0KKwkJCQkJPHZhbCBvPSJjYjA2NiIgdj0iNC4yMzkiLz4NCisJCQkJCTx2YWwgbz0iY2JlNzYiIHY9IjIuNDQyIi8+DQorCQkJCQk8dmFsIG89ImNjYzg3IiB2PSIxMC42NTMiLz4NCisJCQkJCTx2YWwgbz0iY2RhOTYiIHY9IjE1LjA0NSIvPg0KKwkJCQkJPHZhbCBvPSJjZThhOCIgdj0iMTAuNDk3Ii8+DQorCQkJCQk8dmFsIG89ImNmNmI3IiB2PSIxNC4yNDMiLz4NCisJCQkJCTx2YWwgbz0iZDA0YzgiIHY9IjExLjMxOCIvPg0KKwkJCQkJPHZhbCBvPSJkMTJkNyIgdj0iNy4yNiIvPg0KKwkJCQkJPHZhbCBvPSJkMjBlNyIgdj0iMy4yNzgiLz4NCisJCQkJCTx2YWwgbz0iZDJmMDIiIHY9IjEyLjc2OCIvPg0KKwkJCQkJPHZhbCBvPSJkM2QwNSIgdj0iOC44NjMiLz4NCisJCQkJCTx2YWwgbz0iZDRiMTUiIHY9IjguNDIzIi8+DQorCQkJCQk8dmFsIG89ImQ1OTI2IiB2PSI3LjUwMyIvPg0KKwkJCQkJPHZhbCBvPSJkNjczNSIgdj0iNy44MDMiLz4NCisJCQkJCTx2YWwgbz0iZDc1NDYiIHY9IjEwLjkxIi8+DQorCQkJCQk8dmFsIG89ImQ4MzU1IiB2PSI1Ljc0MyIvPg0KKwkJCQkJPHZhbCBvPSJkOTE2NiIgdj0iMi4wODIiLz4NCisJCQkJCTx2YWwgbz0iZDlmNzUiIHY9IjcuNzUxIi8+DQorCQkJCQk8dmFsIG89ImRhZDg3IiB2PSIxNi43ODUiLz4NCisJCQkJCTx2YWwgbz0iZGJiOTciIHY9IjE4LjQ2NyIvPg0KKwkJCQkJPHZhbCBvPSJkYzlhOCIgdj0iMTguODAxIi8+DQorCQkJCQk8dmFsIG89ImRkN2I3IiB2PSIxNi4wMDgiLz4NCisJCQkJCTx2YWwgbz0iZGU1YzYiIHY9IjEzLjYyOSIvPg0KKwkJCQkJPHZhbCBvPSJkZjNkNyIgdj0iMTQuNDc5Ii8+DQorCQkJCQk8dmFsIG89ImUwMWQ3IiB2PSIxNC45MjciLz4NCisJCQkJCTx2YWwgbz0iZTBmZTUiIHY9IjE0LjM0OSIvPg0KKwkJCQkJPHZhbCBvPSJlMWRmNSIgdj0iMTUuNTAyIi8+DQorCQkJCQk8dmFsIG89ImUyYzA0IiB2PSIyMC4wNyIvPg0KKwkJCQkJPHZhbCBvPSJlM2ExNCIgdj0iMjAuMDExIi8+DQorCQkJCQk8dmFsIG89ImU0ODI0IiB2PSIxNi4zNTciLz4NCisJCQkJCTx2YWwgbz0iZTU2MzQiIHY9IjE3LjAzIi8+DQorCQkJCQk8dmFsIG89ImU2NDQ0IiB2PSIxMS45MDEiLz4NCisJCQkJCTx2YWwgbz0iZTcyNTUiIHY9IjEwLjEzOCIvPg0KKwkJCQkJPHZhbCBvPSJlODA2ZiIgdj0iOC43MzEiLz4NCisJCQkJCTx2YWwgbz0iZThlN2YiIHY9IjE0LjM1NyIvPg0KKwkJCQkJPHZhbCBvPSJlOWM4ZSIgdj0iNC44NiIvPg0KKwkJCQkJPHZhbCBvPSJlYWE5ZiIgdj0iNC4xNDkiLz4NCisJCQkJCTx2YWwgbz0iZWI4YWUiIHY9IjYuMDE5Ii8+DQorCQkJCQk8dmFsIG89ImVjNmJmIiB2PSIxNC42MzUiLz4NCisJCQkJCTx2YWwgbz0iZWQ0Y2UiIHY9IjkuOTg5Ii8+DQorCQkJCQk8dmFsIG89ImVlMmRmIiB2PSIxMS45NiIvPg0KKwkJCQkJPHZhbCBvPSJlZjBlZiIgdj0iMTUuNDIyIi8+DQorCQkJCQk8dmFsIG89ImVmZjAxIiB2PSIyMi43NDIiLz4NCisJCQkJCTx2YWwgbz0iZjBkMTAiIHY9IjIyLjQyOCIvPg0KKwkJCQkJPHZhbCBvPSJmMWIyMCIgdj0iMjQuMTEiLz4NCisJCQkJCTx2YWwgbz0iZjI5MzAiIHY9IjIzLjA3NiIvPg0KKwkJCQkJPHZhbCBvPSJmMzc0MCIgdj0iMjMuMjQxIi8+DQorCQkJCQk8dmFsIG89ImY0NTUxIiB2PSIyNC4wMTgiLz4NCisJCQkJCTx2YWwgbz0iZjUzNjEiIHY9IjI1Ljk4OSIvPg0KKwkJCQkJPHZhbCBvPSJmNjE3MiIgdj0iMjQuNzQ4Ii8+DQorCQkJCQk8dmFsIG89ImY2ZjgwIiB2PSIyNS4zMjMiLz4NCisJCQkJCTx2YWwgbz0iZjdkOTEiIHY9IjIzLjEyMiIvPg0KKwkJCQkJPHZhbCBvPSJmOGJhMSIgdj0iMTkuNDAzIi8+DQorCQkJCQk8dmFsIG89ImY5OWIxIiB2PSIxOS4yOCIvPg0KKwkJCQkJPHZhbCBvPSJmYTdjMCIgdj0iMTYuMTIiLz4NCisJCQkJCTx2YWwgbz0iZmI1ZDEiIHY9IjE2LjIyOCIvPg0KKwkJCQkJPHZhbCBvPSJmYzNlMCIgdj0iMTYuNjU0Ii8+DQorCQkJCQk8dmFsIG89ImZkMWZiIiB2PSIxNC4yIi8+DQorCQkJCQk8dmFsIG89ImZlMDBiIiB2PSIxNC4wNTQiLz4NCisJCQkJCTx2YWwgbz0iZmVlMWMiIHY9IjkuNTU3Ii8+DQorCQkJCQk8dmFsIG89ImZmYzJjIiB2PSI5LjA3MiIvPg0KKwkJCQkJPHZhbCBvPSIxMDBhM2IiIHY9IjguMzMzIi8+DQorCQkJCQk8dmFsIG89IjEwMTg0YyIgdj0iOS43NzEiLz4NCisJCQkJCTx2YWwgbz0iMTAyNjViIiB2PSIxNC4zMzciLz4NCisJCQkJCTx2YWwgbz0iMTAzNDZjIiB2PSIxNi4wNDkiLz4NCisJCQkJCTx2YWwgbz0iMTA0MjdiIiB2PSIxOS45MTEiLz4NCisJCQkJCTx2YWwgbz0iMTA1MDhkIiB2PSIyMy4yMzgiLz4NCisJCQkJCTx2YWwgbz0iMTA1ZTlkIiB2PSIyMy4yMTMiLz4NCisJCQkJCTx2YWwgbz0iMTA2Y2FkIiB2PSIyNS4xNzkiLz4NCisJCQkJCTx2YWwgbz0iMTA3YWJkIiB2PSIyMS41OTEiLz4NCisJCQkJCTx2YWwgbz0iMTA4OGNkIiB2PSIxOS42NjUiLz4NCisJCQkJCTx2YWwgbz0iMTA5NmRlIiB2PSIyMS4wNzkiLz4NCisJCQkJCTx2YWwgbz0iMTBhNGVkIiB2PSIyMS4xMDkiLz4NCisJCQkJCTx2YWwgbz0iMTBiMmZlIiB2PSIyMi4zNjMiLz4NCisJCQkJCTx2YWwgbz0iMTBjMTBkIiB2PSIyNS4xNzIiLz4NCisJCQkJCTx2YWwgbz0iMTBjZjFlIiB2PSIyMy4yMjMiLz4NCisJCQkJCTx2YWwgbz0iMTBkZDJlIiB2PSIyMC45MTIiLz4NCisJCQkJCTx2YWwgbz0iMTBlYjY2IiB2PSIyMi4wMTciLz4NCisJCQkJCTx2YWwgbz0iMTBmOTRlIiB2PSIxOC43MjkiLz4NCisJCQkJCTx2YWwgbz0iMTEwNzVlIiB2PSIxNi43NjEiLz4NCisJCQkJCTx2YWwgbz0iMTExNTZkIiB2PSIxMy4xNDUiLz4NCisJCQkJCTx2YWwgbz0iMTEyMzg4IiB2PSIxMy45MTIiLz4NCisJCQkJCTx2YWwgbz0iMTEzMTg3IiB2PSI4LjcxMiIvPg0KKwkJCQkJPHZhbCBvPSIxMTNmYjAiIHY9IjguMTA2Ii8+DQorCQkJCQk8dmFsIG89IjExNGRhNiIgdj0iOC4xOTUiLz4NCisJCQkJCTx2YWwgbz0iMTE1YmI2IiB2PSI4LjMwMSIvPg0KKwkJCQkJPHZhbCBvPSIxMTY5YzYiIHY9IjEwLjExMSIvPg0KKwkJCQkJPHZhbCBvPSIxMTc3ZDYiIHY9IjE0LjIxMyIvPg0KKwkJCQkJPHZhbCBvPSIxMTg1ZTgiIHY9IjE1LjYxNyIvPg0KKwkJCQkJPHZhbCBvPSIxMTkzZjciIHY9IjE5LjA5NSIvPg0KKwkJCQkJPHZhbCBvPSIxMWEyMDgiIHY9IjIzLjk4NiIvPg0KKwkJCQkJPHZhbCBvPSIxMWIwMTciIHY9IjIwLjkxOSIvPg0KKwkJCQkJPHZhbCBvPSIxMWJlMmYiIHY9IjI2LjA2Ii8+DQorCQkJCQk8dmFsIG89IjExY2MzNyIgdj0iMjEuNDkzIi8+DQorCQkJCQk8dmFsIG89IjExZGE0NyIgdj0iMjEuMDA2Ii8+DQorCQkJCQk8dmFsIG89IjExZTg1NyIgdj0iMjIuMTQ0Ii8+DQorCQkJCQk8dmFsIG89IjExZjY2NyIgdj0iMTkuMTI0Ii8+DQorCQkJCQk8dmFsIG89IjEyMDU3OCIgdj0iMC4wMTkiLz4NCisJCQkJCTx2YWwgbz0iMTIxMzg2IiB2PSIwLjAyMSIvPg0KKwkJCQkJPHZhbCBvPSIxMjIxOTYiIHY9IjAuMDIxIi8+DQorCQkJCQk8dmFsIG89IjEyMmZhNiIgdj0iMC4wMTgiLz4NCisJCQkJCTx2YWwgbz0iMTIzZGI1IiB2PSIwLjAxNSIvPg0KKwkJCQkJPHZhbCBvPSIxMjRiYzUiIHY9IjAuMDE2Ii8+DQorCQkJCQk8dmFsIG89IjEyNTlkNSIgdj0iMC4wMTEiLz4NCisJCQkJCTx2YWwgbz0iMTI2N2U0IiB2PSIwLjAxIi8+DQorCQkJCQk8dmFsIG89IjEyNzYwMCIgdj0iMC4wMTEiLz4NCisJCQkJCTx2YWwgbz0iMTI4MzA1IiB2PSIwLjAxIi8+DQorCQkJCQk8dmFsIG89IjEyOTExNSIgdj0iMC4wMSIvPg0KKwkJCQkJPHZhbCBvPSIxMjlmMjUiIHY9IjAuMDEiLz4NCisJCQkJCTx2YWwgbz0iMTJhZDM1IiB2PSIwLjAwOSIvPg0KKwkJCQkJPHZhbCBvPSIxMmJiNDUiIHY9IjAuMDA2Ii8+DQorCQkJCQk8dmFsIG89IjEyYzk1NCIgdj0iMC4wMDkiLz4NCisJCQkJCTx2YWwgbz0iMTJkNzY2IiB2PSIwLjAxMSIvPg0KKwkJCQkJPHZhbCBvPSIxMmU1NzUiIHY9IjAuMDE3Ii8+DQorCQkJCQk8dmFsIG89IjEyZjM4NiIgdj0iMC4wMTIiLz4NCisJCQkJCTx2YWwgbz0iMTMwMTk2IiB2PSIwLjAxOSIvPg0KKwkJCQkJPHZhbCBvPSIxMzBmYTYiIHY9IjAuMDE0Ii8+DQorCQkJCQk8dmFsIG89IjEzMWRiNyIgdj0iMC4wMTUiLz4NCisJCQkJCTx2YWwgbz0iMTMyYmM1IiB2PSIwLjAxNSIvPg0KKwkJCQkJPHZhbCBvPSIxMzM5ZDQiIHY9IjAuMjc5Ii8+DQorCQkJCQk8dmFsIG89IjEzNDdlNSIgdj0iMC4wOTYiLz4NCisJCQkJCTx2YWwgbz0iMTM1NWY0IiB2PSIwLjE0MSIvPg0KKwkJCQkJPHZhbCBvPSIxMzY0MDQiIHY9IjAuMjA3Ii8+DQorCQkJCQk8dmFsIG89IjEzNzIxNCIgdj0iMC4yMTgiLz4NCisJCQkJCTx2YWwgbz0iMTM4MDI0IiB2PSIwLjIxMyIvPg0KKwkJCQkJPHZhbCBvPSIxMzhlMzMiIHY9IjAuMjE0Ii8+DQorCQkJCQk8dmFsIG89IjEzOWM0NCIgdj0iMC4wNzUiLz4NCisJCQkJCTx2YWwgbz0iMTNhYTU0IiB2PSIwLjA1Ii8+DQorCQkJCQk8dmFsIG89IjEzYjg2NSIgdj0iMC4wMzQiLz4NCisJCQkJCTx2YWwgbz0iMTNjNjdlIiB2PSIwLjQ0OSIvPg0KKwkJCQkJPHZhbCBvPSIxM2Q0OGUiIHY9IjAuMjE3Ii8+DQorCQkJCQk8dmFsIG89IjEzZTI5ZSIgdj0iMC4xNjciLz4NCisJCQkJCTx2YWwgbz0iMTNmMGFlIiB2PSIwLjE1OCIvPg0KKwkJCQkJPHZhbCBvPSIxM2ZlYmYiIHY9IjAuMjMyIi8+DQorCQkJCQk8dmFsIG89IjE0MGNjZiIgdj0iMC4zMzkiLz4NCisJCQkJCTx2YWwgbz0iMTQxYWRmIiB2PSIwLjIxMiIvPg0KKwkJCQkJPHZhbCBvPSIxNDI4ZWYiIHY9IjAuMDQ0Ii8+DQorCQkJCQk8dmFsIG89IjE0MzZmZiIgdj0iMC4wMzMiLz4NCisJCQkJCTx2YWwgbz0iMTQ0NTBmIiB2PSIwLjAyNSIvPg0KKwkJCQkJPHZhbCBvPSIxNDUzMWYiIHY9IjAuMDIzIi8+DQorCQkJCQk8dmFsIG89IjE0NjEzMCIgdj0iMC4wNTgiLz4NCisJCQkJCTx2YWwgbz0iMTQ2ZjQwIiB2PSIwLjE0NSIvPg0KKwkJCQkJPHZhbCBvPSIxNDdkNDQiIHY9IjAuMDY0Ii8+DQorCQkJCQk8dmFsIG89IjE0OGI1NyIgdj0iMC4wOCIvPg0KKwkJCQkJPHZhbCBvPSIxNDk5NjUiIHY9IjAuMDY3Ii8+DQorCQkJCQk8dmFsIG89IjE0YTc3NSIgdj0iMC4xMTEiLz4NCisJCQkJCTx2YWwgbz0iMTRiNTg0IiB2PSIwLjA1Ii8+DQorCQkJCQk8dmFsIG89IjE0YzM5NyIgdj0iMC4yMzkiLz4NCisJCQkJCTx2YWwgbz0iMTRkMWE0IiB2PSIwLjIwNiIvPg0KKwkJCQkJPHZhbCBvPSIxNGRmYjYiIHY9IjAuMTYzIi8+DQorCQkJCQk8dmFsIG89IjE0ZWRjNSIgdj0iMC4wNjMiLz4NCisJCQkJCTx2YWwgbz0iMTRmYmQ1IiB2PSIwLjAyNyIvPg0KKwkJCQkJPHZhbCBvPSIxNTA5ZTUiIHY9IjAuMDc3Ii8+DQorCQkJCQk8dmFsIG89IjE1MTdmZiIgdj0iMC4xNTMiLz4NCisJCQkJCTx2YWwgbz0iMTUyNjA1IiB2PSIwLjE4MSIvPg0KKwkJCQkJPHZhbCBvPSIxNTM0MTUiIHY9IjAuMTQ5Ii8+DQorCQkJCQk8dmFsIG89IjE1NDIyNSIgdj0iMC4xNTciLz4NCisJCQkJCTx2YWwgbz0iMTU1MDM1IiB2PSIwLjE2NiIvPg0KKwkJCQkJPHZhbCBvPSIxNTVlNDUiIHY9IjAuMjE2Ii8+DQorCQkJCQk8dmFsIG89IjE1NmM1NSIgdj0iMC4zMDYiLz4NCisJCQkJCTx2YWwgbz0iMTU3YTY1IiB2PSIwLjE2OCIvPg0KKwkJCQkJPHZhbCBvPSIxNTg4NzUiIHY9IjAuMTQ1Ii8+DQorCQkJCQk8dmFsIG89IjE1OTY4NiIgdj0iMC4yNTIiLz4NCisJCQkJCTx2YWwgbz0iMTVhNDk1IiB2PSIwLjIxMyIvPg0KKwkJCQkJPHZhbCBvPSIxNWIyYTYiIHY9IjAuMTkiLz4NCisJCQkJCTx2YWwgbz0iMTVjMGI2IiB2PSIwLjExMSIvPg0KKwkJCQkJPHZhbCBvPSIxNWNlYzYiIHY9IjAuMTE0Ii8+DQorCQkJCQk8dmFsIG89IjE1ZGNkNSIgdj0iMC4xMDciLz4NCisJCQkJCTx2YWwgbz0iMTVlYWU2IiB2PSIwLjExNSIvPg0KKwkJCQkJPHZhbCBvPSIxNWY4ZjUiIHY9IjAuMzAyIi8+DQorCQkJCQk8dmFsIG89IjE2MDcwNiIgdj0iMC4wMyIvPg0KKwkJCQkJPHZhbCBvPSIxNjE1MTciIHY9IjAuMDYiLz4NCisJCQkJCTx2YWwgbz0iMTYyMzI2IiB2PSIwLjA0OCIvPg0KKwkJCQkJPHZhbCBvPSIxNjMxMzciIHY9IjAuMDY5Ii8+DQorCQkJCQk8dmFsIG89IjE2M2Y0NiIgdj0iMC4wNjMiLz4NCisJCQkJCTx2YWwgbz0iMTY0ZDU3IiB2PSIwLjAyOSIvPg0KKwkJCQkJPHZhbCBvPSIxNjViNjciIHY9IjAuMTA1Ii8+DQorCQkJCQk8dmFsIG89IjE2Njk4MiIgdj0iMC4wOTYiLz4NCisJCQkJCTx2YWwgbz0iMTY3Nzg2IiB2PSIwLjE0MiIvPg0KKwkJCQkJPHZhbCBvPSIxNjg1OTYiIHY9IjAuMTAxIi8+DQorCQkJCQk8dmFsIG89IjE2OTNhNiIgdj0iMC4wOTIiLz4NCisJCQkJCTx2YWwgbz0iMTZhMWI1IiB2PSIwLjA3MSIvPg0KKwkJCQkJPHZhbCBvPSIxNmFmYzYiIHY9IjAuMDY3Ii8+DQorCQkJCQk8dmFsIG89IjE2YmRkNSIgdj0iMC4xNyIvPg0KKwkJCQkJPHZhbCBvPSIxNmNiZTYiIHY9IjAuMjEyIi8+DQorCQkJCQk8dmFsIG89IjE2ZDlmNiIgdj0iMC4wODkiLz4NCisJCQkJCTx2YWwgbz0iMTZlODA3IiB2PSIwLjYwNyIvPg0KKwkJCQkJPHZhbCBvPSIxNmY2MTYiIHY9IjAuNjc1Ii8+DQorCQkJCQk8dmFsIG89IjE3MDQyOSIgdj0iMC43MjMiLz4NCisJCQkJCTx2YWwgbz0iMTcxMjM2IiB2PSIwLjQ3NyIvPg0KKwkJCQkJPHZhbCBvPSIxNzIwNDciIHY9IjAuNDc3Ii8+DQorCQkJCQk8dmFsIG89IjE3MmU1NyIgdj0iMC40OTEiLz4NCisJCQkJCTx2YWwgbz0iMTczYzY3IiB2PSIwLjQ5NiIvPg0KKwkJCQkJPHZhbCBvPSIxNzRhNzciIHY9IjAuNTc5Ii8+DQorCQkJCQk8dmFsIG89IjE3NTg4NyIgdj0iMC42MiIvPg0KKwkJCQkJPHZhbCBvPSIxNzY2OTQiIHY9IjM1LjcxNiIvPg0KKwkJCQkJPHZhbCBvPSIxNzc0YTMiIHY9IjMzLjk3MyIvPg0KKwkJCQkJPHZhbCBvPSIxNzgyYjMiIHY9IjM1LjI5NSIvPg0KKwkJCQkJPHZhbCBvPSIxNzkwYzUiIHY9IjMyLjQyOSIvPg0KKwkJCQkJPHZhbCBvPSIxNzllZDQiIHY9IjI4LjQzMyIvPg0KKwkJCQkJPHZhbCBvPSIxN2FjZTQiIHY9IjI5LjI0Ii8+DQorCQkJCQk8dmFsIG89IjE3YmFmZCIgdj0iMzAuOTQzIi8+DQorCQkJCQk8dmFsIG89IjE3YzkwZiIgdj0iMjguMDUiLz4NCisJCQkJCTx2YWwgbz0iMTdkNzFlIiB2PSIyNy43OTIiLz4NCisJCQkJCTx2YWwgbz0iMTdlNTJmIiB2PSIyOC4xMDIiLz4NCisJCQkJCTx2YWwgbz0iMTdmMzNmIiB2PSIyNS41MzQiLz4NCisJCQkJCTx2YWwgbz0iMTgwMTRmIiB2PSIyNS4wMjEiLz4NCisJCQkJCTx2YWwgbz0iMTgwZjVmIiB2PSIzMC4wNDYiLz4NCisJCQkJCTx2YWwgbz0iMTgxZDZlIiB2PSIzMi43NzIiLz4NCisJCQkJCTx2YWwgbz0iMTgyYjdmIiB2PSIzOC4xODYiLz4NCisJCQkJCTx2YWwgbz0iMTgzOThmIiB2PSI2NC4zNCIvPg0KKwkJCQkJPHZhbCBvPSIxODQ3YTEiIHY9IjYzLjU4MiIvPg0KKwkJCQkJPHZhbCBvPSIxODU1YWYiIHY9IjYwLjg5NSIvPg0KKwkJCQkJPHZhbCBvPSIxODYzYzAiIHY9IjU3LjE2NyIvPg0KKwkJCQkJPHZhbCBvPSIxODcxY2YiIHY9IjU5LjQzNiIvPg0KKwkJCQkJPHZhbCBvPSIxODdmZTAiIHY9IjU2LjY1NSIvPg0KKwkJCQkJPHZhbCBvPSIxODhkZWYiIHY9IjYwLjU5NyIvPg0KKwkJCQkJPHZhbCBvPSIxODljMDAiIHY9IjU2LjgzNiIvPg0KKwkJCQkJPHZhbCBvPSIxOGI4MGQiIHY9IjM3LjU4MSIvPg0KKwkJCQkJPHZhbCBvPSIxOGM2MWMiIHY9IjQwLjEiLz4NCisJCQkJCTx2YWwgbz0iMThkNDJjIiB2PSIzOC4yMTQiLz4NCisJCQkJCTx2YWwgbz0iMThlMjNiIiB2PSIzMi4xNzUiLz4NCisJCQkJCTx2YWwgbz0iMThmMDRiIiB2PSIzMC42NjIiLz4NCisJCQkJCTx2YWwgbz0iMThmZTVlIiB2PSIyNi45MzMiLz4NCisJCQkJCTx2YWwgbz0iMTkwYzc2IiB2PSIyMS4yNjkiLz4NCisJCQkJCTx2YWwgbz0iMTkxYTg2IiB2PSIyMS42NDYiLz4NCisJCQkJCTx2YWwgbz0iMTkyODk2IiB2PSIyMS4yNDQiLz4NCisJCQkJCTx2YWwgbz0iMTkzNmE2IiB2PSIyMC44NTUiLz4NCisJCQkJCTx2YWwgbz0iMTk0NGI3IiB2PSIxOS41ODgiLz4NCisJCQkJCTx2YWwgbz0iMTk1MmM2IiB2PSIyMC44MDkiLz4NCisJCQkJCTx2YWwgbz0iMTk2MGQ3IiB2PSIyNS42NCIvPg0KKwkJCQkJPHZhbCBvPSIxOTZlZTYiIHY9IjI5LjE2NiIvPg0KKwkJCQkJPHZhbCBvPSIxOTdjZjgiIHY9IjMxLjIzNiIvPg0KKwkJCQkJPHZhbCBvPSIxOThiMGYiIHY9IjI4LjQyNCIvPg0KKwkJCQkJPHZhbCBvPSIxOTk5MWYiIHY9IjMyLjcxNyIvPg0KKwkJCQkJPHZhbCBvPSIxOWI1NDEiIHY9IjMyLjIzMSIvPg0KKwkJCQkJPHZhbCBvPSIxOWMzNGQiIHY9IjI5LjgxNiIvPg0KKwkJCQkJPHZhbCBvPSIxOWQxNWUiIHY9IjI5LjIxOSIvPg0KKwkJCQkJPHZhbCBvPSIxOWRmODAiIHY9IjI5Ljg2MSIvPg0KKwkJCQkJPHZhbCBvPSIxOWVkOTAiIHY9IjI5LjA5MyIvPg0KKwkJCQkJPHZhbCBvPSIxOWVlYmUiIHY9IjI5LjAwNCIvPg0KKwkJCQkJPHZhbCBvPSIxOWZiOGUiIHY9IjEwLjQ0NSIvPg0KKwkJCQkJPHZhbCBvPSIxYTA5YTAiIHY9IjE4LjE1OCIvPg0KKwkJCQkJPHZhbCBvPSIxYTE3YWUiIHY9IjIzLjcxMyIvPg0KKwkJCQkJPHZhbCBvPSIxYTI1YmUiIHY9IjI1Ljg0Ii8+DQorCQkJCQk8dmFsIG89IjFhMzNjZCIgdj0iMTMuNjkyIi8+DQorCQkJCQk8dmFsIG89IjFhNDFkZCIgdj0iMTUuNjE5Ii8+DQorCQkJCQk8dmFsIG89IjFhNGZlZCIgdj0iMjIuMjM1Ii8+DQorCQkJCQk8dmFsIG89IjFhNWUwOCIgdj0iMjAuNTMzIi8+DQorCQkJCQk8dmFsIG89IjFhNmMwNSIgdj0iMTQuODA2Ii8+DQorCQkJCQk8dmFsIG89IjFhN2ExNSIgdj0iMTcuNzg2Ii8+DQorCQkJCQk8dmFsIG89IjFhODgyNiIgdj0iMTguMjA1Ii8+DQorCQkJCQk8dmFsIG89IjFhOTYzNyIgdj0iMTQuODYiLz4NCisJCQkJCTx2YWwgbz0iMWFhNDQ1IiB2PSIxMS4zMTciLz4NCisJCQkJCTx2YWwgbz0iMWFiMjU1IiB2PSI2LjQwMyIvPg0KKwkJCQkJPHZhbCBvPSIxYWMwNjUiIHY9IjEzLjM4OSIvPg0KKwkJCQkJPHZhbCBvPSIxYWNlNzUiIHY9IjE4LjA5NCIvPg0KKwkJCQkJPHZhbCBvPSIxYWRjODciIHY9IjE2LjY4OCIvPg0KKwkJCQkJPHZhbCBvPSIxYWVhOTYiIHY9IjE2LjI1MSIvPg0KKwkJCQkJPHZhbCBvPSIxYWY4YTciIHY9IjE3LjkwMiIvPg0KKwkJCQkJPHZhbCBvPSIxYjA2YjciIHY9IjE2Ljg2NCIvPg0KKwkJCQkJPHZhbCBvPSIxYjE0YzYiIHY9IjE2LjA3NiIvPg0KKwkJCQkJPHZhbCBvPSIxYzc0NjAiIHY9IjQuMzMiLz4NCisJCQkJCTx2YWwgbz0iMWM4MjcwIiB2PSI0LjMzIi8+DQorCQkJCQk8dmFsIG89IjFjOTA3ZSIgdj0iMjEuMjIxIi8+DQorCQkJCQk8dmFsIG89IjFjOWU4ZiIgdj0iMjAuODYiLz4NCisJCQkJCTx2YWwgbz0iMWNhY2EyIiB2PSIyMi45MDMiLz4NCisJCQkJCTx2YWwgbz0iMWNiYWIxIiB2PSIyMi42NzIiLz4NCisJCQkJCTx2YWwgbz0iMWNjOGMxIiB2PSIzNC43MTEiLz4NCisJCQkJCTx2YWwgbz0iMWNkNmQwIiB2PSIzMy43OTIiLz4NCisJCQkJCTx2YWwgbz0iMWNlNGRlIiB2PSIzMi43MTciLz4NCisJCQkJCTx2YWwgbz0iMWNmMmYwIiB2PSIzMy4wNCIvPg0KKwkJCQkJPHZhbCBvPSIxZDAxMDkiIHY9IjM0LjA0NyIvPg0KKwkJCQkJPHZhbCBvPSIxZDBmMDYiIHY9IjM2LjUzNiIvPg0KKwkJCQkJPHZhbCBvPSIxZDFkMTUiIHY9IjM2LjY3MyIvPg0KKwkJCQkJPHZhbCBvPSIxZDJiMjUiIHY9IjM2Ljc1MiIvPg0KKwkJCQkJPHZhbCBvPSIxZDM5MzUiIHY9IjM3LjkzMiIvPg0KKwkJCQkJPHZhbCBvPSIxZDQ3NDUiIHY9IjM3Ljg1NyIvPg0KKwkJCQkJPHZhbCBvPSIxZDU1NTUiIHY9IjM3LjAyOSIvPg0KKwkJCQkJPHZhbCBvPSIxZDYzNjYiIHY9IjMyLjg0NCIvPg0KKwkJCQkJPHZhbCBvPSIxZDcxNzUiIHY9IjMxLjkxNyIvPg0KKwkJCQkJPHZhbCBvPSIxZDdmODYiIHY9IjMxLjM2MyIvPg0KKwkJCQkJPHZhbCBvPSIxZDhkOTUiIHY9IjE1LjM0OSIvPg0KKwkJCQkJPHZhbCBvPSIxZDliYTYiIHY9IjE3LjYyMyIvPg0KKwkJCQkJPHZhbCBvPSIxZGE5YjYiIHY9IjE3LjY1OCIvPg0KKwkJCQkJPHZhbCBvPSIxZGI3YzciIHY9IjE2LjU5NyIvPg0KKwkJCQkJPHZhbCBvPSIxZGM1ZDUiIHY9IjE3LjYyMSIvPg0KKwkJCQkJPHZhbCBvPSIxZGQzZTYiIHY9IjE4LjAxNyIvPg0KKwkJCQkJPHZhbCBvPSIxZGUxZjUiIHY9IjMyLjMzNyIvPg0KKwkJCQkJPHZhbCBvPSIxZGYwMDYiIHY9IjM3LjExMyIvPg0KKwkJCQkJPHZhbCBvPSIxZGZlMTYiIHY9IjM2Ljg5NiIvPg0KKwkJCQkJPHZhbCBvPSIxZTBjMjYiIHY9IjM3LjY0NiIvPg0KKwkJCQkJPHZhbCBvPSIxZTFhMzYiIHY9IjM3LjQ2NSIvPg0KKwkJCQkJPHZhbCBvPSIxZTI4NDciIHY9IjM1Ljk2Ii8+DQorCQkJCQk8dmFsIG89IjFlMzY1OSIgdj0iMzQuMjE3Ii8+DQorCQkJCQk8dmFsIG89IjFlNDQ2NyIgdj0iMzEuNDcyIi8+DQorCQkJCQk8dmFsIG89IjFlNTI4MSIgdj0iMjcuOTEzIi8+DQorCQkJCQk8dmFsIG89IjFlNjA4NiIgdj0iMjcuNzciLz4NCisJCQkJCTx2YWwgbz0iMWU2ZTk2IiB2PSIyNy4wOTIiLz4NCisJCQkJCTx2YWwgbz0iMWU3Y2E2IiB2PSI5LjY1Ii8+DQorCQkJCQk8dmFsIG89IjFlOGFiNSIgdj0iOC45ODkiLz4NCisJCQkJCTx2YWwgbz0iMWU5OGM2IiB2PSI4Ljg3MSIvPg0KKwkJCQkJPHZhbCBvPSIxZWE2ZDUiIHY9IjExLjUyNSIvPg0KKwkJCQkJPHZhbCBvPSIxZWI0ZTYiIHY9IjExLjMxMiIvPg0KKwkJCQkJPHZhbCBvPSIxZWMyZjYiIHY9IjEzLjE0NSIvPg0KKwkJCQkJPHZhbCBvPSIxZWQxMDYiIHY9IjEyLjg2NiIvPg0KKwkJCQkJPHZhbCBvPSIxZWRmMTYiIHY9IjEzLjUwMyIvPg0KKwkJCQkJPHZhbCBvPSIxZWVkMjYiIHY9IjEyLjk3NyIvPg0KKwkJCQkJPHZhbCBvPSIxZWZiMzYiIHY9IjEyLjg1MyIvPg0KKwkJCQkJPHZhbCBvPSIxZjA5NDYiIHY9IjEyLjMyMiIvPg0KKwkJCQkJPHZhbCBvPSIxZjE3NTYiIHY9IjExLjI0NCIvPg0KKwkJCQkJPHZhbCBvPSIxZjI1NjYiIHY9IjExLjM1NyIvPg0KKwkJCQkJPHZhbCBvPSIxZjMzNzYiIHY9IjEzLjkwOSIvPg0KKwkJCQkJPHZhbCBvPSIxZjQxODciIHY9IjIwLjc3OCIvPg0KKwkJCQkJPHZhbCBvPSIxZjRmOTYiIHY9IjE3LjM4NCIvPg0KKwkJCQkJPHZhbCBvPSIxZjVkYTciIHY9IjE3Ljg4MiIvPg0KKwkJCQkJPHZhbCBvPSIxZjZiYjYiIHY9IjE3Ljc3OSIvPg0KKwkJCQkJPHZhbCBvPSIxZjc5YzciIHY9IjE1LjYyOCIvPg0KKwkJCQkJPHZhbCBvPSIxZjg3ZDYiIHY9IjE4LjcxOCIvPg0KKwkJCQkJPHZhbCBvPSIxZjk1ZTciIHY9IjE5LjY4NyIvPg0KKwkJCQkJPHZhbCBvPSIxZmE0MDEiIHY9IjE1Ljg1NiIvPg0KKwkJCQkJPHZhbCBvPSIxZmIyMDQiIHY9IjE0LjIzNSIvPg0KKwkJCQkJPHZhbCBvPSIxZmMwMTYiIHY9IjE0LjEyMSIvPg0KKwkJCQkJPHZhbCBvPSIxZmNlMjUiIHY9IjEwLjQxNyIvPg0KKwkJCQkJPHZhbCBvPSIxZmRjMzUiIHY9IjEwLjE5MiIvPg0KKwkJCQkJPHZhbCBvPSIxZmVhNDUiIHY9IjEwLjI0NyIvPg0KKwkJCQkJPHZhbCBvPSIxZmY4NTUiIHY9IjEyLjQwOSIvPg0KKwkJCQkJPHZhbCBvPSIyMDA2NjUiIHY9IjE4Ljc4MiIvPg0KKwkJCQkJPHZhbCBvPSIyMDE0NzUiIHY9IjE3LjcwOSIvPg0KKwkJCQkJPHZhbCBvPSIyMDIyODYiIHY9IjI0LjQ2OCIvPg0KKwkJCQkJPHZhbCBvPSIyMDMwOTUiIHY9IjI3Ljg5NSIvPg0KKwkJCQkJPHZhbCBvPSIyMDNlYTUiIHY9IjMxLjEzNSIvPg0KKwkJCQkJPHZhbCBvPSIyMDRjYjYiIHY9IjI4LjA3MyIvPg0KKwkJCQkJPHZhbCBvPSIyMDVhYzYiIHY9IjI2Ljc4MSIvPg0KKwkJCQkJPHZhbCBvPSIyMDY4ZDYiIHY9IjI3Ljk1NSIvPg0KKwkJCQkJPHZhbCBvPSIyMDc2ZTYiIHY9IjMxLjgzNCIvPg0KKwkJCQkJPHZhbCBvPSIyMDg0ZjYiIHY9IjMwLjY4NCIvPg0KKwkJCQkJPHZhbCBvPSIyMDkzMDYiIHY9IjMzLjIzOSIvPg0KKwkJCQkJPHZhbCBvPSIyMGExMTYiIHY9IjMxLjU5MiIvPg0KKwkJCQkJPHZhbCBvPSIyMGFmMjYiIHY9IjI3LjA1MSIvPg0KKwkJCQkJPHZhbCBvPSIyMGJkMzciIHY9IjI2Ljg5MSIvPg0KKwkJCQkJPHZhbCBvPSIyMGNiNDYiIHY9IjIyLjgzNCIvPg0KKwkJCQkJPHZhbCBvPSIyMGQ5NTciIHY9IjIxLjEiLz4NCisJCQkJCTx2YWwgbz0iMjBlNzY3IiB2PSIyMC43MjMiLz4NCisJCQkJCTx2YWwgbz0iMjBmNTgxIiB2PSIyMC40MTIiLz4NCisJCQkJCTx2YWwgbz0iMjEwMzg2IiB2PSIxNy4xNzgiLz4NCisJCQkJCTx2YWwgbz0iMjExMTk0IiB2PSIxNC44NDUiLz4NCisJCQkJCTx2YWwgbz0iMjExZmE1IiB2PSIxNC40MDQiLz4NCisJCQkJCTx2YWwgbz0iMjEyZGI1IiB2PSIxMy44OTUiLz4NCisJCQkJCTx2YWwgbz0iMjEzYmM1IiB2PSIxNC4yOTEiLz4NCisJCQkJCTx2YWwgbz0iMjE0OWQ2IiB2PSIxOC4zNzYiLz4NCisJCQkJCTx2YWwgbz0iMjE1N2U1IiB2PSIyMi42ODIiLz4NCisJCQkJCTx2YWwgbz0iMjE2NWY2IiB2PSIyOS4wNTYiLz4NCisJCQkJCTx2YWwgbz0iMjE3NDA2IiB2PSIzMC45ODUiLz4NCisJCQkJCTx2YWwgbz0iMjE4MjE3IiB2PSIzMS4yNDQiLz4NCisJCQkJCTx2YWwgbz0iMjE5MDI2IiB2PSIzMC41MDEiLz4NCisJCQkJCTx2YWwgbz0iMjE5ZTM5IiB2PSIzMC43NTciLz4NCisJCQkJCTx2YWwgbz0iMjFhYzQ2IiB2PSIyOS43NjYiLz4NCisJCQkJCTx2YWwgbz0iMjFiYTU3IiB2PSIyOS42ODYiLz4NCisJCQkJCTx2YWwgbz0iMjFjODY3IiB2PSIzMC40NyIvPg0KKwkJCQkJPHZhbCBvPSIyMWQ2NzciIHY9IjMxLjA2Ii8+DQorCQkJCQk8dmFsIG89IjIxZTQ4NyIgdj0iMjguOTU4Ii8+DQorCQkJCQk8dmFsIG89IjIxZjI5NiIgdj0iMjguNDc0Ii8+DQorCQkJCQk8dmFsIG89IjIyMDBhNiIgdj0iMjcuNzUzIi8+DQorCQkJCQk8dmFsIG89IjIyMGViNyIgdj0iMjYuNjc2Ii8+DQorCQkJCQk8dmFsIG89IjIyMWNjNiIgdj0iMjQuMDciLz4NCisJCQkJCTx2YWwgbz0iMjIyYWQ3IiB2PSIxOC44ODkiLz4NCisJCQkJCTx2YWwgbz0iMjIzOGU3IiB2PSIxNy41NTYiLz4NCisJCQkJCTx2YWwgbz0iMjI0NzAxIiB2PSIxNi40MzQiLz4NCisJCQkJCTx2YWwgbz0iMjI1NTA1IiB2PSIxOC40NyIvPg0KKwkJCQkJPHZhbCBvPSIyMjYzMTUiIHY9IjkuODM3Ii8+DQorCQkJCQk8dmFsIG89IjIyNzEyNSIgdj0iOS43MyIvPg0KKwkJCQkJPHZhbCBvPSIyMjdmMzUiIHY9IjEyLjY3MiIvPg0KKwkJCQkJPHZhbCBvPSIyMjhkNDUiIHY9IjE3LjI5Ii8+DQorCQkJCQk8dmFsIG89IjIyOWI1NCIgdj0iMTcuMTYxIi8+DQorCQkJCQk8dmFsIG89IjIyYTk2NSIgdj0iMTkuMzg4Ii8+DQorCQkJCQk8dmFsIG89IjIyYjc3NiIgdj0iMjIuNzkyIi8+DQorCQkJCQk8dmFsIG89IjIyYzU4NiIgdj0iMjUuOTczIi8+DQorCQkJCQk8dmFsIG89IjIyZDM5NyIgdj0iMjguMzA1Ii8+DQorCQkJCQk8dmFsIG89IjIyZTFhNiIgdj0iMjguNDc1Ii8+DQorCQkJCQk8dmFsIG89IjIyZWZiNiIgdj0iMjMuNTMxIi8+DQorCQkJCQk8dmFsIG89IjIyZmRjNyIgdj0iMjIuNjIiLz4NCisJCQkJCTx2YWwgbz0iMjMwYmQ3IiB2PSIyMi4xMyIvPg0KKwkJCQkJPHZhbCBvPSIyMzE5ZTYiIHY9IjI3LjE1OSIvPg0KKwkJCQkJPHZhbCBvPSIyMzI3ZjYiIHY9IjI3LjcwNSIvPg0KKwkJCQkJPHZhbCBvPSIyMzM2MWIiIHY9IjI5Ljc5NiIvPg0KKwkJCQkJPHZhbCBvPSIyMzQ0MTYiIHY9IjI3LjM0MSIvPg0KKwkJCQkJPHZhbCBvPSIyMzUyMjYiIHY9IjI1Ljg4NyIvPg0KKwkJCQkJPHZhbCBvPSIyMzYwMzciIHY9IjI1Ljg0MiIvPg0KKwkJCQkJPHZhbCBvPSIyMzZlNDYiIHY9IjIzLjI2NiIvPg0KKwkJCQkJPHZhbCBvPSIyMzdjNTciIHY9IjIxLjY2NCIvPg0KKwkJCQkJPHZhbCBvPSIyMzhhNjYiIHY9IjE5LjQzNyIvPg0KKwkJCQkJPHZhbCBvPSIyMzk4ODEiIHY9IjE1LjkxMiIvPg0KKwkJCQkJPHZhbCBvPSIyM2E2ODUiIHY9IjE2LjAzNyIvPg0KKwkJCQkJPHZhbCBvPSIyM2I0OTUiIHY9IjE1LjY3NCIvPg0KKwkJCQkJPHZhbCBvPSIyM2MyYTQiIHY9IjEzLjcwNSIvPg0KKwkJCQkJPHZhbCBvPSIyM2QwYjUiIHY9IjE0LjMzMSIvPg0KKwkJCQkJPHZhbCBvPSIyM2RlYzQiIHY9IjE1Ljc4MSIvPg0KKwkJCQkJPHZhbCBvPSIyM2VjZDUiIHY9IjE4LjE5NiIvPg0KKwkJCQkJPHZhbCBvPSIyM2ZhZTQiIHY9IjIyLjExNSIvPg0KKwkJCQkJPHZhbCBvPSIyNDA4ZjYiIHY9IjI2LjA2NiIvPg0KKwkJCQkJPHZhbCBvPSIyNDE3MDYiIHY9IjM0LjgxMyIvPg0KKwkJCQkJPHZhbCBvPSIyNDI1MTgiIHY9IjM1LjkxNCIvPg0KKwkJCQkJPHZhbCBvPSIyNDMzMjUiIHY9IjM2Ljc3NSIvPg0KKwkJCQkJPHZhbCBvPSIyNDQxMzciIHY9IjM0LjI3NyIvPg0KKwkJCQkJPHZhbCBvPSIyNDRmNDYiIHY9IjMyLjA1NiIvPg0KKwkJCQkJPHZhbCBvPSIyNDZiNjYiIHY9IjMzLjAwMSIvPg0KKwkJCQkJPHZhbCBvPSIyNDc5NzYiIHY9IjMxLjY4NyIvPg0KKwkJCQkJPHZhbCBvPSIyNDg3ODYiIHY9IjM2Ljg1NCIvPg0KKwkJCQkJPHZhbCBvPSIyNDk1N2UiIHY9IjMwLjQyOCIvPg0KKwkJCQkJPHZhbCBvPSIyNGEzOGYiIHY9IjI4LjI0NiIvPg0KKwkJCQkJPHZhbCBvPSIyNGIxOWMiIHY9IjI4Ljk4NCIvPg0KKwkJCQkJPHZhbCBvPSIyNGJmYWMiIHY9IjI3LjE3NiIvPg0KKwkJCQkJPHZhbCBvPSIyNGNkYmMiIHY9IjI2LjQ1NSIvPg0KKwkJCQkJPHZhbCBvPSIyNGRiY2QiIHY9IjIxLjg5MSIvPg0KKwkJCQkJPHZhbCBvPSIyNGU5ZTUiIHY9IjIwLjA3MyIvPg0KKwkJCQkJPHZhbCBvPSIyNGY4MDgiIHY9IjE3LjA4MyIvPg0KKwkJCQkJPHZhbCBvPSIyNTA2MTYiIHY9IjE3LjkyMSIvPg0KKwkJCQkJPHZhbCBvPSIyNTE0MjYiIHY9IjE3Ljk3MiIvPg0KKwkJCQkJPHZhbCBvPSIyNTIyMzYiIHY9IjE2LjEiLz4NCisJCQkJCTx2YWwgbz0iMjUzMDQ3IiB2PSIxNy4zMjQiLz4NCisJCQkJCTx2YWwgbz0iMjUzZTU2IiB2PSIyMC45NyIvPg0KKwkJCQkJPHZhbCBvPSIyNTRjNjciIHY9IjIxLjI2OSIvPg0KKwkJCQkJPHZhbCBvPSIyNTVhNzYiIHY9IjI1LjA0MSIvPg0KKwkJCQkJPHZhbCBvPSIyNTY4ODciIHY9IjMxLjI3Ii8+DQorCQkJCQk8dmFsIG89IjI1NzY5NyIgdj0iMzMuNzEyIi8+DQorCQkJCQk8dmFsIG89IjI1ODRhOCIgdj0iODIuNzQ0Ii8+DQorCQkJCQk8dmFsIG89IjI1OTJiNiIgdj0iNDYuNzQ2Ii8+DQorCQkJCQk8dmFsIG89IjI1YTBjNyIgdj0iMjIuOTAzIi8+DQorCQkJCQk8dmFsIG89IjI1YWVkNyIgdj0iMzEuMzQzIi8+DQorCQkJCQk8dmFsIG89IjI1YmNlNyIgdj0iMzAuNDM4Ii8+DQorCQkJCQk8dmFsIG89IjI1Y2FmOCIgdj0iMjguODgzIi8+DQorCQkJCQk8dmFsIG89IjI1ZDkwNyIgdj0iMzAuNzk0Ii8+DQorCQkJCQk8dmFsIG89IjI1ZTcxOCIgdj0iMzEuMDExIi8+DQorCQkJCQk8dmFsIG89IjI1ZjUyNyIgdj0iMjguMDk4Ii8+DQorCQkJCQk8dmFsIG89IjI2MDMzOCIgdj0iMjcuMTc3Ii8+DQorCQkJCQk8dmFsIG89IjI2MTE0OSIgdj0iMjQuOTQxIi8+DQorCQkJCQk8dmFsIG89IjI2MWY1OSIgdj0iMjIuODM0Ii8+DQorCQkJCQk8dmFsIG89IjI2MmQ2OCIgdj0iMjMuMjA5Ii8+DQorCQkJCQk8dmFsIG89IjI2M2I4MyIgdj0iMTcuNTYiLz4NCisJCQkJCTx2YWwgbz0iMjY0OTg2IiB2PSIxNy41NTUiLz4NCisJCQkJCTx2YWwgbz0iMjY1Nzk1IiB2PSIxOC43NjEiLz4NCisJCQkJCTx2YWwgbz0iMjY2NWE2IiB2PSIyMC42OTgiLz4NCisJCQkJCTx2YWwgbz0iMjY3M2I1IiB2PSIxOS4zNzIiLz4NCisJCQkJCTx2YWwgbz0iMjY4MWM2IiB2PSIxOC42NDQiLz4NCisJCQkJCTx2YWwgbz0iMjY4ZmQ1IiB2PSIxOC43OTIiLz4NCisJCQkJCTx2YWwgbz0iMjY5ZGU2IiB2PSIxOC45NTEiLz4NCisJCQkJCTx2YWwgbz0iMjZhYmY2IiB2PSIxOC45MDciLz4NCisJCQkJCTx2YWwgbz0iMjZiYTA2IiB2PSIyMy40MDkiLz4NCisJCQkJCTx2YWwgbz0iMjZjODE3IiB2PSIyMy41MTEiLz4NCisJCQkJCTx2YWwgbz0iMjZkNjJiIiB2PSIyNi45NDEiLz4NCisJCQkJCTx2YWwgbz0iMjZlNDM2IiB2PSIyNC4wMDgiLz4NCisJCQkJCTx2YWwgbz0iMjZmMjQ3IiB2PSIyMy4xNDciLz4NCisJCQkJCTx2YWwgbz0iMjcwMDU3IiB2PSIyMy45MzUiLz4NCisJCQkJCTx2YWwgbz0iMjcwZTY3IiB2PSIyNCIvPg0KKwkJCQkJPHZhbCBvPSIyNzFjNzciIHY9IjIyLjg4OCIvPg0KKwkJCQkJPHZhbCBvPSIyNzJhODciIHY9IjI2LjI0NiIvPg0KKwkJCQkJPHZhbCBvPSIyNzM4OTciIHY9IjI1LjkwOSIvPg0KKwkJCQkJPHZhbCBvPSIyNzQ2YTgiIHY9IjI1LjEwOSIvPg0KKwkJCQkJPHZhbCBvPSIyNzU0YjkiIHY9IjI0LjcyNSIvPg0KKwkJCQkJPHZhbCBvPSIyNzYyYzciIHY9IjIzLjc1NSIvPg0KKwkJCQkJPHZhbCBvPSIyNzcwZDgiIHY9IjE4LjgzOSIvPg0KKwkJCQkJPHZhbCBvPSIyNzdlZTciIHY9IjE1LjM2MiIvPg0KKwkJCQk8L3Bhcj4NCisJCQkJPHBhciBtZW1pbmQ9Ijg2MDgiIGg9IjNkYzFhOGRlIj4NCisJCQkJCTx2YWwgbz0iMCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJlMDgiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMWMzMiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyYTNjIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjM4MzUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iNDY0NSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI1NDU1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjYyNjUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iNzA3NSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI3ZTg1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjhjOTYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iOWFhNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJhOGI2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImI2YzUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iYzRkNyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJkMzBiIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImUwZjYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iZWYwNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJmZDE3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjEwYjI3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjExOTM3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjEyNzQ2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjEzNTU2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE0MzY2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE1MTgxIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE1Zjg1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE2ZDk1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE3YmE0IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE4OWI1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE5N2M0IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjFhNWQ1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjFiM2U2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjFjMWY2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjFkMDA1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjFkZTE1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjFlYzI1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjFmYTM2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjIwODQ1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjIxNjU2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjIyNDY1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjIzMjc2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjI0MDg2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjI0ZTk5IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjI1Y2E3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjI2YWI3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjI3OGM2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjI4NmQ2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjI5NGU2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjJhMzAxIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjJiMTA1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjJiZjE1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjJjZDI1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjJkYjM1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjJlOTQ2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjJmNzU1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjMwNTY2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjMxMzc1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjMyMTllIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjMyZjk2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjMzZGE2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjM0YmI2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjM1OWRlIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjM2N2Q2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjM3NWU2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjM4NDBlIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjM5MjFlIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjNhMDE2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjNhZTI3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjNiYzM2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjNjYTQ3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjNkODU2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjNlNjY3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjNmNDgxIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjQwMjg1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjQxMDk1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjQxZWE1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjQyY2I1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjQzYWM1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjQ0OGQ1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjQ1NmU2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjQ2NGY1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjQ4MGZmIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjQ4ZjBlIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjQ5ZDFkIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjRhYjQ2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjRiOTU1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjRjNzY5IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjRkNTc3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjRlMzg3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjRmMTk2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjRmZmE2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjUwZGQwIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjUxYmM2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjUyOWQ2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjUzN2U3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjU0NjAwIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjU1NDA2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjU2MjE1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjU3MDI2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjU3ZTM2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjU4YzQ2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjU5YTcwIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjVhODY3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjViNjc2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjVjNDg3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjVkMjk2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjVlMGE5IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjVlZWI4IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjVmY2M2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjYwYWQ3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjYxOGU3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjYyNmY3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjYzNTA3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjY0MzE3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjY1MTI3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjY1ZjM3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjY2ZDQ2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjY3YjU3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjY4OTY3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjY5NzgyIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjZhNTg2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjZiMzk1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjZjMWE2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjZjZmI1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjZkZGM2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjZlYmQ2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjZmOWU2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjcwN2Y2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjcxNjA3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjcyNDE3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjczMjI3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89Ijc0MDM3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89Ijc0ZTQ3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89Ijc1YzU3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89Ijc2YTYzIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89Ijc3ODczIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89Ijc4NjgwIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89Ijc5NDhmIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjdhMjlmIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjdiMGFmIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjdiZWJmIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjdjY2NmIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjdkYWRmIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjdlOGZhIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjdmNzBhIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjgwNTFhIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjgxMzJhIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjgyMTNhIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjgyZjRhIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjgzZDVhIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89Ijg0YjZhIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89Ijg1OTdhIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89Ijg2NzhiIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89Ijg3NTliIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89Ijg4M2FjIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89Ijg5MWJiIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89Ijg5ZmNhIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjhhZGRhIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjhiYmViIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjhjOWZjIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjhkODBiIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjhlNjFhIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjhmNDJhIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjkwMjNhIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjkxMDRhIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjkxZTVhIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjkyYzZhIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjkzYTg0IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89Ijk0ODg1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89Ijk1Njk0IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89Ijk2NGE1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89Ijk3MmI0IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89Ijk4MGM1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89Ijk4ZWQ0IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89Ijk5Y2U1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjlhYWY1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjliOTA2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjljNzE2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjlkNTI2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjllMzM2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjlmMTQ1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjlmZjU2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImEwZDY1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImExYjc3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImEyOTg2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImEzNzk1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImE0NWE3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImE1M2I2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImE2MWM3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImE2ZmQ2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImE3ZTAwIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImE4YzAwIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImE5YTA1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImFhODE1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImFiNjI1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImFjNDM1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImFkMjQ1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImFlMDU1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImFlZTY1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImFmYzc1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImIwYTg1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImIyNmE2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImIzNGI2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImI0MmM2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImI1MGQ2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImI1ZWU3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImI2Y2Y2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImI3YjA3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImI4OTE3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImI5NzI4IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImJhNTM3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImJiMzQ3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImJjMTU3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImJjZjY3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImJkZDgxIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImJlYjg2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImJmOTk1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImMwN2E2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImMxNWI1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImMyM2M2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImMzMWQ1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImMzZmU2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImM0ZGY1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImM1YzA2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImM2YTE2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImM3ODI2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImM4NjM2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImM5NDQ2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImNhMjU2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImNiMDY2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImNiZTc2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImNjYzg3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImNkYTk2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImNlOGE4IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImNmNmI3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImQwNGM4IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImQxMmQ3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImQyMGU3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImQyZjAyIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImQzZDA1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImQ0YjE1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImQ1OTI2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImQ2NzM1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImQ3NTQ2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImQ4MzU1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImQ5MTY2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImQ5Zjc1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImRhZDg3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImRiYjk3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImRjOWE4IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImRkN2I3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImRlNWM2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImRmM2Q3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImUwMWQ3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImUwZmU1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImUxZGY1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImUyYzA0IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImUzYTE0IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImU0ODI0IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImU1NjM0IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImU2NDQ0IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImU3MjU1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImU4MDZmIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImU4ZTdmIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImU5YzhlIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImVhYTlmIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImViOGFlIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImVjNmJmIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImVkNGNlIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImVlMmRmIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImVmMGVmIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImVmZjAxIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImYwZDEwIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImYxYjIwIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImYyOTMwIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImYzNzQwIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImY0NTUxIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImY1MzYxIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImY2MTcyIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImY2ZjgwIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImY3ZDkxIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImY4YmExIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImY5OWIxIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImZhN2MwIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImZiNWQxIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImZjM2UwIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImZkMWZiIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImZlMDBiIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImZlZTFjIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImZmYzJjIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjEwMGEzYiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxMDE4NGMiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTAyNjViIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjEwMzQ2YyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxMDQyN2IiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTA1MDhkIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjEwNWU5ZCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxMDZjYWQiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTA3YWJkIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjEwODhjZCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxMDk2ZGUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTBhNGVkIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjEwYjJmZSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxMGMxMGQiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTBjZjFlIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjEwZGQyZSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxMGViNjYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTBmOTRlIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjExMDc1ZSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxMTE1NmQiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTEyMzg4IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjExMzE4NyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxMTNmYjAiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTE0ZGE2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjExNWJiNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxMTY5YzYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTE3N2Q2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjExODVlOCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxMTkzZjciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTFhMjA4IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjExYjAxNyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxMWJlMmYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTFjYzM3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjExZGE0NyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxMWU4NTciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTFmNjY3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjEyMDU3OCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxMjEzODYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTIyMTk2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjEyMmZhNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxMjNkYjUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTI0YmM1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjEyNTlkNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxMjY3ZTQiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTI3NjAwIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjEyODMwNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxMjkxMTUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTI5ZjI1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjEyYWQzNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxMmJiNDUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTJjOTU0IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjEyZDc2NiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxMmU1NzUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTJmMzg2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjEzMDE5NiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxMzBmYTYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTMxZGI3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjEzMmJjNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxMzM5ZDQiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTM0N2U1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjEzNTVmNCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxMzY0MDQiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTM3MjE0IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjEzODAyNCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxMzhlMzMiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTM5YzQ0IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjEzYWE1NCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxM2I4NjUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTNjNjdlIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjEzZDQ4ZSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxM2UyOWUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTNmMGFlIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjEzZmViZiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNDBjY2YiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTQxYWRmIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE0MjhlZiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNDM2ZmYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTQ0NTBmIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE0NTMxZiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNDYxMzAiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTQ2ZjQwIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE0N2Q0NCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNDhiNTciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTQ5OTY1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE0YTc3NSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNGI1ODQiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTRjMzk3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE0ZDFhNCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNGRmYjYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTRlZGM1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE0ZmJkNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNTA5ZTUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTUxN2ZmIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE1MjYwNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNTM0MTUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTU0MjI1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE1NTAzNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNTVlNDUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTU2YzU1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE1N2E2NSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNTg4NzUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTU5Njg2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE1YTQ5NSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNWIyYTYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTVjMGI2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE1Y2VjNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNWRjZDUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTVlYWU2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE1ZjhmNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNjA3MDYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTYxNTE3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE2MjMyNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNjMxMzciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTYzZjQ2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE2NGQ1NyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNjViNjciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTY2OTgyIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE2Nzc4NiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNjg1OTYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTY5M2E2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE2YTFiNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNmFmYzYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTZiZGQ1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE2Y2JlNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNmQ5ZjYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTZlODA3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE2ZjYxNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNzA0MjkiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTcxMjM2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE3MjA0NyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNzJlNTciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTczYzY3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE3NGE3NyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNzU4ODciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTc2Njk0IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE3NzRhMyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNzgyYjMiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTc5MGM1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE3OWVkNCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxN2FjZTQiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTdiYWZkIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE3YzkwZiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxN2Q3MWUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTdlNTJmIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE3ZjMzZiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxODAxNGYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTgwZjVmIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE4MWQ2ZSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxODJiN2YiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTgzOThmIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE4NDdhMSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxODU1YWYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTg2M2MwIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE4NzFjZiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxODdmZTAiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTg4ZGVmIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE4OWMwMCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxOGI4MGQiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMThjNjFjIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE4ZDQyYyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxOGUyM2IiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMThmMDRiIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE4ZmU1ZSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxOTBjNzYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTkxYTg2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE5Mjg5NiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxOTM2YTYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTk0NGI3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE5NTJjNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxOTYwZDciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTk2ZWU2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE5N2NmOCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxOThiMGYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTk5OTFmIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE5YjU0MSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxOWMzNGQiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTlkMTVlIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE5ZGY4MCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxOWVkOTAiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTllZWJlIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE5ZmI4ZSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxYTA5YTAiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMWExN2FlIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjFhMjViZSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxYTMzY2QiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMWE0MWRkIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjFhNGZlZCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxYTVlMDgiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMWE2YzA1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjFhN2ExNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxYTg4MjYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMWE5NjM3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjFhYTQ0NSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxYWIyNTUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMWFjMDY1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjFhY2U3NSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxYWRjODciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMWFlYTk2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjFhZjhhNyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxYjA2YjciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMWIxNGM2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjFjNzQ2MCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxYzgyNzAiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMWM5MDdlIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjFjOWU4ZiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxY2FjYTIiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMWNiYWIxIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjFjYzhjMSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxY2Q2ZDAiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMWNlNGRlIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjFjZjJmMCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxZDAxMDkiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMWQwZjA2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjFkMWQxNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxZDJiMjUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMWQzOTM1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjFkNDc0NSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxZDU1NTUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMWQ2MzY2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjFkNzE3NSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxZDdmODYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMWQ4ZDk1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjFkOWJhNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxZGE5YjYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMWRiN2M3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjFkYzVkNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxZGQzZTYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMWRlMWY1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjFkZjAwNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxZGZlMTYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMWUwYzI2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjFlMWEzNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxZTI4NDciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMWUzNjU5IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjFlNDQ2NyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxZTUyODEiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMWU2MDg2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjFlNmU5NiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxZTdjYTYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMWU4YWI1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjFlOThjNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxZWE2ZDUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMWViNGU2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjFlYzJmNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxZWQxMDYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMWVkZjE2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjFlZWQyNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxZWZiMzYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMWYwOTQ2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjFmMTc1NiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxZjI1NjYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMWYzMzc2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjFmNDE4NyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxZjRmOTYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMWY1ZGE3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjFmNmJiNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxZjc5YzciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMWY4N2Q2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjFmOTVlNyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxZmE0MDEiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMWZiMjA0IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjFmYzAxNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxZmNlMjUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMWZkYzM1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjFmZWE0NSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxZmY4NTUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjAwNjY1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjIwMTQ3NSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyMDIyODYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjAzMDk1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjIwM2VhNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyMDRjYjYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjA1YWM2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjIwNjhkNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyMDc2ZTYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjA4NGY2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjIwOTMwNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyMGExMTYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjBhZjI2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjIwYmQzNyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyMGNiNDYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjBkOTU3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjIwZTc2NyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyMGY1ODEiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjEwMzg2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjIxMTE5NCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyMTFmYTUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjEyZGI1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjIxM2JjNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyMTQ5ZDYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjE1N2U1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjIxNjVmNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyMTc0MDYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjE4MjE3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjIxOTAyNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyMTllMzkiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjFhYzQ2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjIxYmE1NyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyMWM4NjciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjFkNjc3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjIxZTQ4NyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyMWYyOTYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjIwMGE2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjIyMGViNyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyMjFjYzYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjIyYWQ3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjIyMzhlNyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyMjQ3MDEiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjI1NTA1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjIyNjMxNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyMjcxMjUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjI3ZjM1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjIyOGQ0NSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyMjliNTQiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjJhOTY1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjIyYjc3NiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyMmM1ODYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjJkMzk3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjIyZTFhNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyMmVmYjYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjJmZGM3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjIzMGJkNyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyMzE5ZTYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjMyN2Y2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjIzMzYxYiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyMzQ0MTYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjM1MjI2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjIzNjAzNyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyMzZlNDYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjM3YzU3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjIzOGE2NiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyMzk4ODEiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjNhNjg1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjIzYjQ5NSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyM2MyYTQiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjNkMGI1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjIzZGVjNCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyM2VjZDUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjNmYWU0IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjI0MDhmNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyNDE3MDYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjQyNTE4IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjI0MzMyNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyNDQxMzciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjQ0ZjQ2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjI0NmI2NiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyNDc5NzYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjQ4Nzg2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjI0OTU3ZSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyNGEzOGYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjRiMTljIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjI0YmZhYyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyNGNkYmMiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjRkYmNkIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjI0ZTllNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyNGY4MDgiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjUwNjE2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjI1MTQyNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyNTIyMzYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjUzMDQ3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjI1M2U1NiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyNTRjNjciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjU1YTc2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjI1Njg4NyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyNTc2OTciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjU4NGE4IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjI1OTJiNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyNWEwYzciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjVhZWQ3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjI1YmNlNyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyNWNhZjgiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjVkOTA3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjI1ZTcxOCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyNWY1MjciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjYwMzM4IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjI2MTE0OSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyNjFmNTkiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjYyZDY4IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjI2M2I4MyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyNjQ5ODYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjY1Nzk1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjI2NjVhNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyNjczYjUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjY4MWM2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjI2OGZkNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyNjlkZTYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjZhYmY2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjI2YmEwNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyNmM4MTciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjZkNjJiIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjI2ZTQzNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyNmYyNDciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjcwMDU3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjI3MGU2NyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyNzFjNzciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjcyYTg3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjI3Mzg5NyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyNzQ2YTgiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjc1NGI5IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjI3NjJjNyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyNzcwZDgiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjc3ZWU3IiB2PSIwIi8+DQorCQkJCTwvcGFyPg0KKwkJCQk8cGFyIG1lbWluZD0iODYwNCIgaD0iM2RjMWE4ZGUiPg0KKwkJCQkJPHZhbCBvPSIwIiB2PSIyMS4wNDMiLz4NCisJCQkJCTx2YWwgbz0iZTA4IiB2PSIyMC4wNTEiLz4NCisJCQkJCTx2YWwgbz0iMWMzMiIgdj0iMTkuODE4Ii8+DQorCQkJCQk8dmFsIG89IjJhM2MiIHY9IjE5LjU1NCIvPg0KKwkJCQkJPHZhbCBvPSIzODM1IiB2PSIxOC45NTEiLz4NCisJCQkJCTx2YWwgbz0iNDY0NSIgdj0iMTguODUzIi8+DQorCQkJCQk8dmFsIG89IjU0NTUiIHY9IjIyLjM5OCIvPg0KKwkJCQkJPHZhbCBvPSI2MjY1IiB2PSIyNC40OTIiLz4NCisJCQkJCTx2YWwgbz0iNzA3NSIgdj0iMjkuMjA2Ii8+DQorCQkJCQk8dmFsIG89IjdlODUiIHY9IjM1LjA2MyIvPg0KKwkJCQkJPHZhbCBvPSI4Yzk2IiB2PSIzNS4wNyIvPg0KKwkJCQkJPHZhbCBvPSI5YWE1IiB2PSIzMy41ODUiLz4NCisJCQkJCTx2YWwgbz0iYThiNiIgdj0iMzAuNzciLz4NCisJCQkJCTx2YWwgbz0iYjZjNSIgdj0iMjkuMTQxIi8+DQorCQkJCQk8dmFsIG89ImM0ZDciIHY9IjAuMDYxIi8+DQorCQkJCQk8dmFsIG89ImQzMGIiIHY9IjAuMDYxIi8+DQorCQkJCQk8dmFsIG89ImUwZjYiIHY9IjAuMDYiLz4NCisJCQkJCTx2YWwgbz0iZWYwNiIgdj0iMC4wNTkiLz4NCisJCQkJCTx2YWwgbz0iZmQxNyIgdj0iMC4wNiIvPg0KKwkJCQkJPHZhbCBvPSIxMGIyNyIgdj0iMC4wNjIiLz4NCisJCQkJCTx2YWwgbz0iMTE5MzciIHY9IjAuMDYzIi8+DQorCQkJCQk8dmFsIG89IjEyNzQ2IiB2PSIwLjA2MSIvPg0KKwkJCQkJPHZhbCBvPSIxMzU1NiIgdj0iMC4wNjIiLz4NCisJCQkJCTx2YWwgbz0iMTQzNjYiIHY9IjAuMDY2Ii8+DQorCQkJCQk8dmFsIG89IjE1MTgxIiB2PSIwLjA3Ii8+DQorCQkJCQk8dmFsIG89IjE1Zjg1IiB2PSIwLjA2NCIvPg0KKwkJCQkJPHZhbCBvPSIxNmQ5NSIgdj0iMC4wNjUiLz4NCisJCQkJCTx2YWwgbz0iMTdiYTQiIHY9IjAuMDY0Ii8+DQorCQkJCQk8dmFsIG89IjE4OWI1IiB2PSIwLjA2MyIvPg0KKwkJCQkJPHZhbCBvPSIxOTdjNCIgdj0iMC4wNjQiLz4NCisJCQkJCTx2YWwgbz0iMWE1ZDUiIHY9IjAuMDY2Ii8+DQorCQkJCQk8dmFsIG89IjFiM2U2IiB2PSIwLjA2NyIvPg0KKwkJCQkJPHZhbCBvPSIxYzFmNiIgdj0iMC4wNjYiLz4NCisJCQkJCTx2YWwgbz0iMWQwMDUiIHY9IjAuMDYyIi8+DQorCQkJCQk8dmFsIG89IjFkZTE1IiB2PSIwLjA2MiIvPg0KKwkJCQkJPHZhbCBvPSIxZWMyNSIgdj0iMC4wNjMiLz4NCisJCQkJCTx2YWwgbz0iMWZhMzYiIHY9IjAuMDY2Ii8+DQorCQkJCQk8dmFsIG89IjIwODQ1IiB2PSIwLjA2NiIvPg0KKwkJCQkJPHZhbCBvPSIyMTY1NiIgdj0iMC4wNjYiLz4NCisJCQkJCTx2YWwgbz0iMjI0NjUiIHY9IjAuMDY0Ii8+DQorCQkJCQk8dmFsIG89IjIzMjc2IiB2PSIwLjA2MyIvPg0KKwkJCQkJPHZhbCBvPSIyNDA4NiIgdj0iMC4wNjEiLz4NCisJCQkJCTx2YWwgbz0iMjRlOTkiIHY9IjAuMDYxIi8+DQorCQkJCQk8dmFsIG89IjI1Y2E3IiB2PSIwLjA2MiIvPg0KKwkJCQkJPHZhbCBvPSIyNmFiNyIgdj0iMC4wNjIiLz4NCisJCQkJCTx2YWwgbz0iMjc4YzYiIHY9IjAuMDYxIi8+DQorCQkJCQk8dmFsIG89IjI4NmQ2IiB2PSIwLjA2MyIvPg0KKwkJCQkJPHZhbCBvPSIyOTRlNiIgdj0iMC4wNjYiLz4NCisJCQkJCTx2YWwgbz0iMmEzMDEiIHY9IjAuMDY3Ii8+DQorCQkJCQk8dmFsIG89IjJiMTA1IiB2PSIwLjA2Ii8+DQorCQkJCQk8dmFsIG89IjJiZjE1IiB2PSIwLjA2MSIvPg0KKwkJCQkJPHZhbCBvPSIyY2QyNSIgdj0iMC4wNjMiLz4NCisJCQkJCTx2YWwgbz0iMmRiMzUiIHY9IjAuMDYyIi8+DQorCQkJCQk8dmFsIG89IjJlOTQ2IiB2PSIwLjA2MSIvPg0KKwkJCQkJPHZhbCBvPSIyZjc1NSIgdj0iMC4wNTgiLz4NCisJCQkJCTx2YWwgbz0iMzA1NjYiIHY9IjAuMDY2Ii8+DQorCQkJCQk8dmFsIG89IjMxMzc1IiB2PSIwLjA2NCIvPg0KKwkJCQkJPHZhbCBvPSIzMjE5ZSIgdj0iMC4wNjYiLz4NCisJCQkJCTx2YWwgbz0iMzJmOTYiIHY9IjAuMDYzIi8+DQorCQkJCQk8dmFsIG89IjMzZGE2IiB2PSIwLjA2MiIvPg0KKwkJCQkJPHZhbCBvPSIzNGJiNiIgdj0iMC4wNjMiLz4NCisJCQkJCTx2YWwgbz0iMzU5ZGUiIHY9IjAuMDY0Ii8+DQorCQkJCQk8dmFsIG89IjM2N2Q2IiB2PSIwLjA2NCIvPg0KKwkJCQkJPHZhbCBvPSIzNzVlNiIgdj0iMC4wNjIiLz4NCisJCQkJCTx2YWwgbz0iMzg0MGUiIHY9IjAuMDU5Ii8+DQorCQkJCQk8dmFsIG89IjM5MjFlIiB2PSIwLjA2Ii8+DQorCQkJCQk8dmFsIG89IjNhMDE2IiB2PSIwLjA2Ii8+DQorCQkJCQk8dmFsIG89IjNhZTI3IiB2PSIwLjA2MyIvPg0KKwkJCQkJPHZhbCBvPSIzYmMzNiIgdj0iMC4wNjIiLz4NCisJCQkJCTx2YWwgbz0iM2NhNDciIHY9IjAuMDU5Ii8+DQorCQkJCQk8dmFsIG89IjNkODU2IiB2PSIwLjA2MiIvPg0KKwkJCQkJPHZhbCBvPSIzZTY2NyIgdj0iMC4wNjQiLz4NCisJCQkJCTx2YWwgbz0iM2Y0ODEiIHY9IjAuMDY4Ii8+DQorCQkJCQk8dmFsIG89IjQwMjg1IiB2PSIwLjA2NSIvPg0KKwkJCQkJPHZhbCBvPSI0MTA5NSIgdj0iMC4wNjYiLz4NCisJCQkJCTx2YWwgbz0iNDFlYTUiIHY9IjAuMDY1Ii8+DQorCQkJCQk8dmFsIG89IjQyY2I1IiB2PSIwLjA2NiIvPg0KKwkJCQkJPHZhbCBvPSI0M2FjNSIgdj0iMC4wNjQiLz4NCisJCQkJCTx2YWwgbz0iNDQ4ZDUiIHY9IjAuMDYxIi8+DQorCQkJCQk8dmFsIG89IjQ1NmU2IiB2PSIwLjA2MiIvPg0KKwkJCQkJPHZhbCBvPSI0NjRmNSIgdj0iMC4wNjIiLz4NCisJCQkJCTx2YWwgbz0iNDgwZmYiIHY9IjAuMDU4Ii8+DQorCQkJCQk8dmFsIG89IjQ4ZjBlIiB2PSIwLjA1NiIvPg0KKwkJCQkJPHZhbCBvPSI0OWQxZCIgdj0iMC4wNTciLz4NCisJCQkJCTx2YWwgbz0iNGFiNDYiIHY9IjAuMDU2Ii8+DQorCQkJCQk8dmFsIG89IjRiOTU1IiB2PSIwLjA1NyIvPg0KKwkJCQkJPHZhbCBvPSI0Yzc2OSIgdj0iMC4wNTUiLz4NCisJCQkJCTx2YWwgbz0iNGQ1NzciIHY9IjAuMDU3Ii8+DQorCQkJCQk8dmFsIG89IjRlMzg3IiB2PSIwLjA1NyIvPg0KKwkJCQkJPHZhbCBvPSI0ZjE5NiIgdj0iMC4wNTciLz4NCisJCQkJCTx2YWwgbz0iNGZmYTYiIHY9IjAuMDU4Ii8+DQorCQkJCQk8dmFsIG89IjUwZGQwIiB2PSIwLjA2Ii8+DQorCQkJCQk8dmFsIG89IjUxYmM2IiB2PSIwLjA2MiIvPg0KKwkJCQkJPHZhbCBvPSI1MjlkNiIgdj0iMC4wNjIiLz4NCisJCQkJCTx2YWwgbz0iNTM3ZTciIHY9IjAuMDY1Ii8+DQorCQkJCQk8dmFsIG89IjU0NjAwIiB2PSIwLjA2NyIvPg0KKwkJCQkJPHZhbCBvPSI1NTQwNiIgdj0iMC4wNjUiLz4NCisJCQkJCTx2YWwgbz0iNTYyMTUiIHY9IjAuMDY1Ii8+DQorCQkJCQk8dmFsIG89IjU3MDI2IiB2PSIwLjA2NSIvPg0KKwkJCQkJPHZhbCBvPSI1N2UzNiIgdj0iMC4wNjQiLz4NCisJCQkJCTx2YWwgbz0iNThjNDYiIHY9IjAuMDYzIi8+DQorCQkJCQk8dmFsIG89IjU5YTcwIiB2PSIwLjA2MyIvPg0KKwkJCQkJPHZhbCBvPSI1YTg2NyIgdj0iMC4wNiIvPg0KKwkJCQkJPHZhbCBvPSI1YjY3NiIgdj0iMC4wNiIvPg0KKwkJCQkJPHZhbCBvPSI1YzQ4NyIgdj0iMC4wNTYiLz4NCisJCQkJCTx2YWwgbz0iNWQyOTYiIHY9IjAuMDU4Ii8+DQorCQkJCQk8dmFsIG89IjVlMGE5IiB2PSIwLjA2Ii8+DQorCQkJCQk8dmFsIG89IjVlZWI4IiB2PSIwLjA2MiIvPg0KKwkJCQkJPHZhbCBvPSI1ZmNjNiIgdj0iMC4wNjEiLz4NCisJCQkJCTx2YWwgbz0iNjBhZDciIHY9IjAuMDU3Ii8+DQorCQkJCQk8dmFsIG89IjYxOGU3IiB2PSIwLjA1NyIvPg0KKwkJCQkJPHZhbCBvPSI2MjZmNyIgdj0iMC4wNTkiLz4NCisJCQkJCTx2YWwgbz0iNjM1MDciIHY9IjAuMDU5Ii8+DQorCQkJCQk8dmFsIG89IjY0MzE3IiB2PSIwLjA2MSIvPg0KKwkJCQkJPHZhbCBvPSI2NTEyNyIgdj0iMC4wNjIiLz4NCisJCQkJCTx2YWwgbz0iNjVmMzciIHY9IjAuMDYzIi8+DQorCQkJCQk8dmFsIG89IjY2ZDQ2IiB2PSIwLjA2MiIvPg0KKwkJCQkJPHZhbCBvPSI2N2I1NyIgdj0iMC4wNjIiLz4NCisJCQkJCTx2YWwgbz0iNjg5NjciIHY9IjAuMDY1Ii8+DQorCQkJCQk8dmFsIG89IjY5NzgyIiB2PSIwLjA2NSIvPg0KKwkJCQkJPHZhbCBvPSI2YTU4NiIgdj0iMC4wNjQiLz4NCisJCQkJCTx2YWwgbz0iNmIzOTUiIHY9IjAuMDY1Ii8+DQorCQkJCQk8dmFsIG89IjZjMWE2IiB2PSIwLjA2NiIvPg0KKwkJCQkJPHZhbCBvPSI2Y2ZiNSIgdj0iMC4wNjQiLz4NCisJCQkJCTx2YWwgbz0iNmRkYzYiIHY9IjAuMDYzIi8+DQorCQkJCQk8dmFsIG89IjZlYmQ2IiB2PSIwLjA1OSIvPg0KKwkJCQkJPHZhbCBvPSI2ZjllNiIgdj0iMC4wNjEiLz4NCisJCQkJCTx2YWwgbz0iNzA3ZjYiIHY9IjAuMDYyIi8+DQorCQkJCQk8dmFsIG89IjcxNjA3IiB2PSIwLjA1OSIvPg0KKwkJCQkJPHZhbCBvPSI3MjQxNyIgdj0iMC4wNTgiLz4NCisJCQkJCTx2YWwgbz0iNzMyMjciIHY9IjAuMDU2Ii8+DQorCQkJCQk8dmFsIG89Ijc0MDM3IiB2PSIwLjA2MSIvPg0KKwkJCQkJPHZhbCBvPSI3NGU0NyIgdj0iMC4wNjEiLz4NCisJCQkJCTx2YWwgbz0iNzVjNTciIHY9IjAuMDU4Ii8+DQorCQkJCQk8dmFsIG89Ijc2YTYzIiB2PSIwLjA1OCIvPg0KKwkJCQkJPHZhbCBvPSI3Nzg3MyIgdj0iMC4wNTgiLz4NCisJCQkJCTx2YWwgbz0iNzg2ODAiIHY9IjAuMDU4Ii8+DQorCQkJCQk8dmFsIG89Ijc5NDhmIiB2PSIwLjA1OCIvPg0KKwkJCQkJPHZhbCBvPSI3YTI5ZiIgdj0iMC4wNiIvPg0KKwkJCQkJPHZhbCBvPSI3YjBhZiIgdj0iMC4wNjIiLz4NCisJCQkJCTx2YWwgbz0iN2JlYmYiIHY9IjAuMDYyIi8+DQorCQkJCQk8dmFsIG89IjdjY2NmIiB2PSIwLjA2NCIvPg0KKwkJCQkJPHZhbCBvPSI3ZGFkZiIgdj0iMC4wNjUiLz4NCisJCQkJCTx2YWwgbz0iN2U4ZmEiIHY9IjAuMDY1Ii8+DQorCQkJCQk8dmFsIG89IjdmNzBhIiB2PSIwLjA2NyIvPg0KKwkJCQkJPHZhbCBvPSI4MDUxYSIgdj0iMC4wNjciLz4NCisJCQkJCTx2YWwgbz0iODEzMmEiIHY9IjAuMDY2Ii8+DQorCQkJCQk8dmFsIG89IjgyMTNhIiB2PSIwLjA2NiIvPg0KKwkJCQkJPHZhbCBvPSI4MmY0YSIgdj0iMC4wNjciLz4NCisJCQkJCTx2YWwgbz0iODNkNWEiIHY9IjAuMDYyIi8+DQorCQkJCQk8dmFsIG89Ijg0YjZhIiB2PSIwLjA2Ii8+DQorCQkJCQk8dmFsIG89Ijg1OTdhIiB2PSIwLjA1OSIvPg0KKwkJCQkJPHZhbCBvPSI4Njc4YiIgdj0iMC4wNTkiLz4NCisJCQkJCTx2YWwgbz0iODc1OWIiIHY9IjAuMDU3Ii8+DQorCQkJCQk8dmFsIG89Ijg4M2FjIiB2PSIwLjA2Ii8+DQorCQkJCQk8dmFsIG89Ijg5MWJiIiB2PSIwLjA2MSIvPg0KKwkJCQkJPHZhbCBvPSI4OWZjYSIgdj0iMC4wNiIvPg0KKwkJCQkJPHZhbCBvPSI4YWRkYSIgdj0iMC4wNTkiLz4NCisJCQkJCTx2YWwgbz0iOGJiZWIiIHY9IjAuMDU5Ii8+DQorCQkJCQk8dmFsIG89IjhjOWZjIiB2PSIwLjA1OCIvPg0KKwkJCQkJPHZhbCBvPSI4ZDgwYiIgdj0iMC4wNTgiLz4NCisJCQkJCTx2YWwgbz0iOGU2MWEiIHY9IjAuMDU5Ii8+DQorCQkJCQk8dmFsIG89IjhmNDJhIiB2PSIwLjA2Ii8+DQorCQkJCQk8dmFsIG89IjkwMjNhIiB2PSIwLjA2MSIvPg0KKwkJCQkJPHZhbCBvPSI5MTA0YSIgdj0iMC4wNjIiLz4NCisJCQkJCTx2YWwgbz0iOTFlNWEiIHY9IjAuMDYiLz4NCisJCQkJCTx2YWwgbz0iOTJjNmEiIHY9IjAuMDYzIi8+DQorCQkJCQk8dmFsIG89IjkzYTg0IiB2PSIwLjA2NyIvPg0KKwkJCQkJPHZhbCBvPSI5NDg4NSIgdj0iMC4wNjQiLz4NCisJCQkJCTx2YWwgbz0iOTU2OTQiIHY9IjAuMDY0Ii8+DQorCQkJCQk8dmFsIG89Ijk2NGE1IiB2PSIwLjA2NSIvPg0KKwkJCQkJPHZhbCBvPSI5NzJiNCIgdj0iMC4wNjQiLz4NCisJCQkJCTx2YWwgbz0iOTgwYzUiIHY9IjAuMDYyIi8+DQorCQkJCQk8dmFsIG89Ijk4ZWQ0IiB2PSIwLjA2NSIvPg0KKwkJCQkJPHZhbCBvPSI5OWNlNSIgdj0iMC4wNjQiLz4NCisJCQkJCTx2YWwgbz0iOWFhZjUiIHY9IjAuMDYxIi8+DQorCQkJCQk8dmFsIG89IjliOTA2IiB2PSIwLjA2MSIvPg0KKwkJCQkJPHZhbCBvPSI5YzcxNiIgdj0iMC4wNjIiLz4NCisJCQkJCTx2YWwgbz0iOWQ1MjYiIHY9IjAuMDYyIi8+DQorCQkJCQk8dmFsIG89IjllMzM2IiB2PSIwLjA2MyIvPg0KKwkJCQkJPHZhbCBvPSI5ZjE0NSIgdj0iMC4wNjMiLz4NCisJCQkJCTx2YWwgbz0iOWZmNTYiIHY9IjAuMDYxIi8+DQorCQkJCQk8dmFsIG89ImEwZDY1IiB2PSIwLjA2MSIvPg0KKwkJCQkJPHZhbCBvPSJhMWI3NyIgdj0iMzAuMjIiLz4NCisJCQkJCTx2YWwgbz0iYTI5ODYiIHY9IjE2LjA1NCIvPg0KKwkJCQkJPHZhbCBvPSJhMzc5NSIgdj0iMTAuMjIiLz4NCisJCQkJCTx2YWwgbz0iYTQ1YTciIHY9IjMuODM5Ii8+DQorCQkJCQk8dmFsIG89ImE1M2I2IiB2PSIzLjMwMSIvPg0KKwkJCQkJPHZhbCBvPSJhNjFjNyIgdj0iNC4xOSIvPg0KKwkJCQkJPHZhbCBvPSJhNmZkNiIgdj0iMi4wMDIiLz4NCisJCQkJCTx2YWwgbz0iYTdlMDAiIHY9IjQuOTExIi8+DQorCQkJCQk8dmFsIG89ImE4YzAwIiB2PSI3Ljg5NyIvPg0KKwkJCQkJPHZhbCBvPSJhOWEwNSIgdj0iMi45MzQiLz4NCisJCQkJCTx2YWwgbz0iYWE4MTUiIHY9IjEuNDg3Ii8+DQorCQkJCQk8dmFsIG89ImFiNjI1IiB2PSIyLjE5NiIvPg0KKwkJCQkJPHZhbCBvPSJhYzQzNSIgdj0iMS42NzkiLz4NCisJCQkJCTx2YWwgbz0iYWQyNDUiIHY9IjUuOTg0Ii8+DQorCQkJCQk8dmFsIG89ImFlMDU1IiB2PSIxMC42NjEiLz4NCisJCQkJCTx2YWwgbz0iYWVlNjUiIHY9IjMuNjUzIi8+DQorCQkJCQk8dmFsIG89ImFmYzc1IiB2PSI3LjI1MiIvPg0KKwkJCQkJPHZhbCBvPSJiMGE4NSIgdj0iMTkuNzA4Ii8+DQorCQkJCQk8dmFsIG89ImIyNmE2IiB2PSIyMS4xMjgiLz4NCisJCQkJCTx2YWwgbz0iYjM0YjYiIHY9IjE4LjM1OCIvPg0KKwkJCQkJPHZhbCBvPSJiNDJjNiIgdj0iMy40NTYiLz4NCisJCQkJCTx2YWwgbz0iYjUwZDYiIHY9IjQuOTE2Ii8+DQorCQkJCQk8dmFsIG89ImI1ZWU3IiB2PSI3LjMzNyIvPg0KKwkJCQkJPHZhbCBvPSJiNmNmNiIgdj0iNy4yMDUiLz4NCisJCQkJCTx2YWwgbz0iYjdiMDciIHY9IjkuMTkxIi8+DQorCQkJCQk8dmFsIG89ImI4OTE3IiB2PSI4LjAyNyIvPg0KKwkJCQkJPHZhbCBvPSJiOTcyOCIgdj0iNy42ODgiLz4NCisJCQkJCTx2YWwgbz0iYmE1MzciIHY9IjguNjY3Ii8+DQorCQkJCQk8dmFsIG89ImJiMzQ3IiB2PSI3LjczNCIvPg0KKwkJCQkJPHZhbCBvPSJiYzE1NyIgdj0iNS4xNDgiLz4NCisJCQkJCTx2YWwgbz0iYmNmNjciIHY9IjUuMDgxIi8+DQorCQkJCQk8dmFsIG89ImJkZDgxIiB2PSIxOC40MzMiLz4NCisJCQkJCTx2YWwgbz0iYmViODYiIHY9IjQuNjc2Ii8+DQorCQkJCQk8dmFsIG89ImJmOTk1IiB2PSIzLjk3Ii8+DQorCQkJCQk8dmFsIG89ImMwN2E2IiB2PSIyLjI0NyIvPg0KKwkJCQkJPHZhbCBvPSJjMTViNSIgdj0iMi41MTkiLz4NCisJCQkJCTx2YWwgbz0iYzIzYzYiIHY9IjQuNzg0Ii8+DQorCQkJCQk8dmFsIG89ImMzMWQ1IiB2PSIxMC40MDYiLz4NCisJCQkJCTx2YWwgbz0iYzNmZTYiIHY9IjUuODYzIi8+DQorCQkJCQk8dmFsIG89ImM0ZGY1IiB2PSI5LjY2OCIvPg0KKwkJCQkJPHZhbCBvPSJjNWMwNiIgdj0iNS4xOTQiLz4NCisJCQkJCTx2YWwgbz0iYzZhMTYiIHY9IjUuMzUiLz4NCisJCQkJCTx2YWwgbz0iYzc4MjYiIHY9IjcuNzQ1Ii8+DQorCQkJCQk8dmFsIG89ImM4NjM2IiB2PSIzLjY1MSIvPg0KKwkJCQkJPHZhbCBvPSJjOTQ0NiIgdj0iNC4yMzYiLz4NCisJCQkJCTx2YWwgbz0iY2EyNTYiIHY9IjMuMjgxIi8+DQorCQkJCQk8dmFsIG89ImNiMDY2IiB2PSI1LjY1NyIvPg0KKwkJCQkJPHZhbCBvPSJjYmU3NiIgdj0iMi4yNDkiLz4NCisJCQkJCTx2YWwgbz0iY2NjODciIHY9IjEyLjAwNCIvPg0KKwkJCQkJPHZhbCBvPSJjZGE5NiIgdj0iMTUuODMzIi8+DQorCQkJCQk8dmFsIG89ImNlOGE4IiB2PSIxMS45ODEiLz4NCisJCQkJCTx2YWwgbz0iY2Y2YjciIHY9IjE1LjE0NSIvPg0KKwkJCQkJPHZhbCBvPSJkMDRjOCIgdj0iMTIuMzg2Ii8+DQorCQkJCQk8dmFsIG89ImQxMmQ3IiB2PSI4LjUzIi8+DQorCQkJCQk8dmFsIG89ImQyMGU3IiB2PSIxLjQ3NCIvPg0KKwkJCQkJPHZhbCBvPSJkMmYwMiIgdj0iNy40NDEiLz4NCisJCQkJCTx2YWwgbz0iZDNkMDUiIHY9IjQuMjYyIi8+DQorCQkJCQk8dmFsIG89ImQ0YjE1IiB2PSIzLjgwNSIvPg0KKwkJCQkJPHZhbCBvPSJkNTkyNiIgdj0iMy43NTIiLz4NCisJCQkJCTx2YWwgbz0iZDY3MzUiIHY9IjUuNTM4Ii8+DQorCQkJCQk8dmFsIG89ImQ3NTQ2IiB2PSI5LjUyNCIvPg0KKwkJCQkJPHZhbCBvPSJkODM1NSIgdj0iMS45ODgiLz4NCisJCQkJCTx2YWwgbz0iZDkxNjYiIHY9IjQuMTU5Ii8+DQorCQkJCQk8dmFsIG89ImQ5Zjc1IiB2PSI5LjYyMSIvPg0KKwkJCQkJPHZhbCBvPSJkYWQ4NyIgdj0iMTcuNzA0Ii8+DQorCQkJCQk8dmFsIG89ImRiYjk3IiB2PSIxOS4xNzEiLz4NCisJCQkJCTx2YWwgbz0iZGM5YTgiIHY9IjE5LjI1MiIvPg0KKwkJCQkJPHZhbCBvPSJkZDdiNyIgdj0iMTQuOTYxIi8+DQorCQkJCQk8dmFsIG89ImRlNWM2IiB2PSIxMi44MTYiLz4NCisJCQkJCTx2YWwgbz0iZGYzZDciIHY9IjEzLjExMyIvPg0KKwkJCQkJPHZhbCBvPSJlMDFkNyIgdj0iMTMuNDM1Ii8+DQorCQkJCQk8dmFsIG89ImUwZmU1IiB2PSIxMy4yODMiLz4NCisJCQkJCTx2YWwgbz0iZTFkZjUiIHY9IjEzLjk4OSIvPg0KKwkJCQkJPHZhbCBvPSJlMmMwNCIgdj0iMTguMDk4Ii8+DQorCQkJCQk8dmFsIG89ImUzYTE0IiB2PSIxNy43NDIiLz4NCisJCQkJCTx2YWwgbz0iZTQ4MjQiIHY9IjE1LjIyOSIvPg0KKwkJCQkJPHZhbCBvPSJlNTYzNCIgdj0iMTUuMjYzIi8+DQorCQkJCQk8dmFsIG89ImU2NDQ0IiB2PSIxMS45NjgiLz4NCisJCQkJCTx2YWwgbz0iZTcyNTUiIHY9IjkuODkzIi8+DQorCQkJCQk8dmFsIG89ImU4MDZmIiB2PSI3Ljk5NyIvPg0KKwkJCQkJPHZhbCBvPSJlOGU3ZiIgdj0iMTMuODg4Ii8+DQorCQkJCQk8dmFsIG89ImU5YzhlIiB2PSI2LjMzNiIvPg0KKwkJCQkJPHZhbCBvPSJlYWE5ZiIgdj0iNS42MzQiLz4NCisJCQkJCTx2YWwgbz0iZWI4YWUiIHY9IjcuMzY5Ii8+DQorCQkJCQk8dmFsIG89ImVjNmJmIiB2PSIxNC4yNzYiLz4NCisJCQkJCTx2YWwgbz0iZWQ0Y2UiIHY9IjkuNjc0Ii8+DQorCQkJCQk8dmFsIG89ImVlMmRmIiB2PSIxMi44MSIvPg0KKwkJCQkJPHZhbCBvPSJlZjBlZiIgdj0iMTQuOTg1Ii8+DQorCQkJCQk8dmFsIG89ImVmZjAxIiB2PSIyMS41MzEiLz4NCisJCQkJCTx2YWwgbz0iZjBkMTAiIHY9IjIxLjAzOCIvPg0KKwkJCQkJPHZhbCBvPSJmMWIyMCIgdj0iMjIuOTA4Ii8+DQorCQkJCQk8dmFsIG89ImYyOTMwIiB2PSIyMC44OTEiLz4NCisJCQkJCTx2YWwgbz0iZjM3NDAiIHY9IjIyLjIzNCIvPg0KKwkJCQkJPHZhbCBvPSJmNDU1MSIgdj0iMjIuNTE3Ii8+DQorCQkJCQk8dmFsIG89ImY1MzYxIiB2PSIyNC4xNzIiLz4NCisJCQkJCTx2YWwgbz0iZjYxNzIiIHY9IjIzLjAwOCIvPg0KKwkJCQkJPHZhbCBvPSJmNmY4MCIgdj0iMjMuNDc1Ii8+DQorCQkJCQk8dmFsIG89ImY3ZDkxIiB2PSIyMi4wNTkiLz4NCisJCQkJCTx2YWwgbz0iZjhiYTEiIHY9IjE4LjY3MSIvPg0KKwkJCQkJPHZhbCBvPSJmOTliMSIgdj0iMTguNDQ3Ii8+DQorCQkJCQk8dmFsIG89ImZhN2MwIiB2PSIxNS44NjIiLz4NCisJCQkJCTx2YWwgbz0iZmI1ZDEiIHY9IjE2LjM4Ii8+DQorCQkJCQk8dmFsIG89ImZjM2UwIiB2PSIxNS4xNjUiLz4NCisJCQkJCTx2YWwgbz0iZmQxZmIiIHY9IjEyLjMzNSIvPg0KKwkJCQkJPHZhbCBvPSJmZTAwYiIgdj0iMTIuMjgzIi8+DQorCQkJCQk8dmFsIG89ImZlZTFjIiB2PSI4Ljk0MSIvPg0KKwkJCQkJPHZhbCBvPSJmZmMyYyIgdj0iOC44MzciLz4NCisJCQkJCTx2YWwgbz0iMTAwYTNiIiB2PSI4Ljc5MyIvPg0KKwkJCQkJPHZhbCBvPSIxMDE4NGMiIHY9IjEwLjA0MyIvPg0KKwkJCQkJPHZhbCBvPSIxMDI2NWIiIHY9IjEzLjkzMiIvPg0KKwkJCQkJPHZhbCBvPSIxMDM0NmMiIHY9IjE1Ljk3NCIvPg0KKwkJCQkJPHZhbCBvPSIxMDQyN2IiIHY9IjE5LjE2NyIvPg0KKwkJCQkJPHZhbCBvPSIxMDUwOGQiIHY9IjIyLjIzNyIvPg0KKwkJCQkJPHZhbCBvPSIxMDVlOWQiIHY9IjIxLjUzMyIvPg0KKwkJCQkJPHZhbCBvPSIxMDZjYWQiIHY9IjIzLjMwOSIvPg0KKwkJCQkJPHZhbCBvPSIxMDdhYmQiIHY9IjIwLjMzMyIvPg0KKwkJCQkJPHZhbCBvPSIxMDg4Y2QiIHY9IjE4LjU1NiIvPg0KKwkJCQkJPHZhbCBvPSIxMDk2ZGUiIHY9IjIwLjE2MyIvPg0KKwkJCQkJPHZhbCBvPSIxMGE0ZWQiIHY9IjE5Ljk3OCIvPg0KKwkJCQkJPHZhbCBvPSIxMGIyZmUiIHY9IjIxLjE1NSIvPg0KKwkJCQkJPHZhbCBvPSIxMGMxMGQiIHY9IjIzLjk2NCIvPg0KKwkJCQkJPHZhbCBvPSIxMGNmMWUiIHY9IjIxLjg3NCIvPg0KKwkJCQkJPHZhbCBvPSIxMGRkMmUiIHY9IjE5LjU5MSIvPg0KKwkJCQkJPHZhbCBvPSIxMGViNjYiIHY9IjIwLjIzNCIvPg0KKwkJCQkJPHZhbCBvPSIxMGY5NGUiIHY9IjE3LjMyIi8+DQorCQkJCQk8dmFsIG89IjExMDc1ZSIgdj0iMTYuNTU2Ii8+DQorCQkJCQk8dmFsIG89IjExMTU2ZCIgdj0iMTMuMjE3Ii8+DQorCQkJCQk8dmFsIG89IjExMjM4OCIgdj0iMTIuMjcxIi8+DQorCQkJCQk8dmFsIG89IjExMzE4NyIgdj0iOC45NjciLz4NCisJCQkJCTx2YWwgbz0iMTEzZmIwIiB2PSI4LjMxOSIvPg0KKwkJCQkJPHZhbCBvPSIxMTRkYTYiIHY9IjguMzU3Ii8+DQorCQkJCQk8dmFsIG89IjExNWJiNiIgdj0iOC40OSIvPg0KKwkJCQkJPHZhbCBvPSIxMTY5YzYiIHY9IjEwLjQ1OCIvPg0KKwkJCQkJPHZhbCBvPSIxMTc3ZDYiIHY9IjEzLjk5OCIvPg0KKwkJCQkJPHZhbCBvPSIxMTg1ZTgiIHY9IjE1LjQ2MSIvPg0KKwkJCQkJPHZhbCBvPSIxMTkzZjciIHY9IjE4LjMzMSIvPg0KKwkJCQkJPHZhbCBvPSIxMWEyMDgiIHY9IjIyLjI4NCIvPg0KKwkJCQkJPHZhbCBvPSIxMWIwMTciIHY9IjE5LjE1MSIvPg0KKwkJCQkJPHZhbCBvPSIxMWJlMmYiIHY9IjIzLjQ2NCIvPg0KKwkJCQkJPHZhbCBvPSIxMWNjMzciIHY9IjIwLjIxMSIvPg0KKwkJCQkJPHZhbCBvPSIxMWRhNDciIHY9IjE5LjgzIi8+DQorCQkJCQk8dmFsIG89IjExZTg1NyIgdj0iMjAuOCIvPg0KKwkJCQkJPHZhbCBvPSIxMWY2NjciIHY9IjE4LjA0MiIvPg0KKwkJCQkJPHZhbCBvPSIxMjA1NzgiIHY9IjAuMDE4Ii8+DQorCQkJCQk8dmFsIG89IjEyMTM4NiIgdj0iMC4wMiIvPg0KKwkJCQkJPHZhbCBvPSIxMjIxOTYiIHY9IjAuMDIiLz4NCisJCQkJCTx2YWwgbz0iMTIyZmE2IiB2PSIwLjAxNyIvPg0KKwkJCQkJPHZhbCBvPSIxMjNkYjUiIHY9IjAuMDE1Ii8+DQorCQkJCQk8dmFsIG89IjEyNGJjNSIgdj0iMC4wMTQiLz4NCisJCQkJCTx2YWwgbz0iMTI1OWQ1IiB2PSIwLjAxMSIvPg0KKwkJCQkJPHZhbCBvPSIxMjY3ZTQiIHY9IjAuMDEiLz4NCisJCQkJCTx2YWwgbz0iMTI3NjAwIiB2PSIwLjAwOSIvPg0KKwkJCQkJPHZhbCBvPSIxMjgzMDUiIHY9IjAuMDA4Ii8+DQorCQkJCQk8dmFsIG89IjEyOTExNSIgdj0iMC4wMDgiLz4NCisJCQkJCTx2YWwgbz0iMTI5ZjI1IiB2PSIwLjAwOCIvPg0KKwkJCQkJPHZhbCBvPSIxMmFkMzUiIHY9IjAuMDA3Ii8+DQorCQkJCQk8dmFsIG89IjEyYmI0NSIgdj0iMC4wMDciLz4NCisJCQkJCTx2YWwgbz0iMTJjOTU0IiB2PSIwLjAxIi8+DQorCQkJCQk8dmFsIG89IjEyZDc2NiIgdj0iMC4wMTEiLz4NCisJCQkJCTx2YWwgbz0iMTJlNTc1IiB2PSIwLjAxNiIvPg0KKwkJCQkJPHZhbCBvPSIxMmYzODYiIHY9IjAuMDEzIi8+DQorCQkJCQk8dmFsIG89IjEzMDE5NiIgdj0iMC4wMTkiLz4NCisJCQkJCTx2YWwgbz0iMTMwZmE2IiB2PSIwLjAxNCIvPg0KKwkJCQkJPHZhbCBvPSIxMzFkYjciIHY9IjAuMDE1Ii8+DQorCQkJCQk8dmFsIG89IjEzMmJjNSIgdj0iMC4wMTUiLz4NCisJCQkJCTx2YWwgbz0iMTMzOWQ0IiB2PSIwLjI2OSIvPg0KKwkJCQkJPHZhbCBvPSIxMzQ3ZTUiIHY9IjAuMTI0Ii8+DQorCQkJCQk8dmFsIG89IjEzNTVmNCIgdj0iMC4xNiIvPg0KKwkJCQkJPHZhbCBvPSIxMzY0MDQiIHY9IjAuMjI3Ii8+DQorCQkJCQk8dmFsIG89IjEzNzIxNCIgdj0iMC4yNDMiLz4NCisJCQkJCTx2YWwgbz0iMTM4MDI0IiB2PSIwLjIzNiIvPg0KKwkJCQkJPHZhbCBvPSIxMzhlMzMiIHY9IjAuMjM5Ii8+DQorCQkJCQk8dmFsIG89IjEzOWM0NCIgdj0iMC4wNzQiLz4NCisJCQkJCTx2YWwgbz0iMTNhYTU0IiB2PSIwLjA4NiIvPg0KKwkJCQkJPHZhbCBvPSIxM2I4NjUiIHY9IjAuMDMxIi8+DQorCQkJCQk8dmFsIG89IjEzYzY3ZSIgdj0iMC40MTIiLz4NCisJCQkJCTx2YWwgbz0iMTNkNDhlIiB2PSIwLjE5OSIvPg0KKwkJCQkJPHZhbCBvPSIxM2UyOWUiIHY9IjAuMTUiLz4NCisJCQkJCTx2YWwgbz0iMTNmMGFlIiB2PSIwLjE0Ii8+DQorCQkJCQk8dmFsIG89IjEzZmViZiIgdj0iMC4yMTgiLz4NCisJCQkJCTx2YWwgbz0iMTQwY2NmIiB2PSIwLjMwOSIvPg0KKwkJCQkJPHZhbCBvPSIxNDFhZGYiIHY9IjAuMjA2Ii8+DQorCQkJCQk8dmFsIG89IjE0MjhlZiIgdj0iMC4wMzIiLz4NCisJCQkJCTx2YWwgbz0iMTQzNmZmIiB2PSIwLjA2NSIvPg0KKwkJCQkJPHZhbCBvPSIxNDQ1MGYiIHY9IjAuMDU0Ii8+DQorCQkJCQk8dmFsIG89IjE0NTMxZiIgdj0iMC4wMzciLz4NCisJCQkJCTx2YWwgbz0iMTQ2MTMwIiB2PSIwLjAyNSIvPg0KKwkJCQkJPHZhbCBvPSIxNDZmNDAiIHY9IjAuMDkiLz4NCisJCQkJCTx2YWwgbz0iMTQ3ZDQ0IiB2PSIwLjAzIi8+DQorCQkJCQk8dmFsIG89IjE0OGI1NyIgdj0iMC4wMzgiLz4NCisJCQkJCTx2YWwgbz0iMTQ5OTY1IiB2PSIwLjAyNiIvPg0KKwkJCQkJPHZhbCBvPSIxNGE3NzUiIHY9IjAuMTA5Ii8+DQorCQkJCQk8dmFsIG89IjE0YjU4NCIgdj0iMC4wODYiLz4NCisJCQkJCTx2YWwgbz0iMTRjMzk3IiB2PSIwLjI1MSIvPg0KKwkJCQkJPHZhbCBvPSIxNGQxYTQiIHY9IjAuMjI1Ii8+DQorCQkJCQk8dmFsIG89IjE0ZGZiNiIgdj0iMC4xOTMiLz4NCisJCQkJCTx2YWwgbz0iMTRlZGM1IiB2PSIwLjEwMyIvPg0KKwkJCQkJPHZhbCBvPSIxNGZiZDUiIHY9IjAuMDQ0Ii8+DQorCQkJCQk8dmFsIG89IjE1MDllNSIgdj0iMC4wMjMiLz4NCisJCQkJCTx2YWwgbz0iMTUxN2ZmIiB2PSIwLjA2OCIvPg0KKwkJCQkJPHZhbCBvPSIxNTI2MDUiIHY9IjAuMTU3Ii8+DQorCQkJCQk8dmFsIG89IjE1MzQxNSIgdj0iMC4xMDUiLz4NCisJCQkJCTx2YWwgbz0iMTU0MjI1IiB2PSIwLjA5NyIvPg0KKwkJCQkJPHZhbCBvPSIxNTUwMzUiIHY9IjAuMTI3Ii8+DQorCQkJCQk8dmFsIG89IjE1NWU0NSIgdj0iMC4xODkiLz4NCisJCQkJCTx2YWwgbz0iMTU2YzU1IiB2PSIwLjI4MSIvPg0KKwkJCQkJPHZhbCBvPSIxNTdhNjUiIHY9IjAuMTYyIi8+DQorCQkJCQk8dmFsIG89IjE1ODg3NSIgdj0iMC4xNSIvPg0KKwkJCQkJPHZhbCBvPSIxNTk2ODYiIHY9IjAuMjQ2Ii8+DQorCQkJCQk8dmFsIG89IjE1YTQ5NSIgdj0iMC4yMTEiLz4NCisJCQkJCTx2YWwgbz0iMTViMmE2IiB2PSIwLjE4OCIvPg0KKwkJCQkJPHZhbCBvPSIxNWMwYjYiIHY9IjAuMTA1Ii8+DQorCQkJCQk8dmFsIG89IjE1Y2VjNiIgdj0iMC4wOTIiLz4NCisJCQkJCTx2YWwgbz0iMTVkY2Q1IiB2PSIwLjA5OSIvPg0KKwkJCQkJPHZhbCBvPSIxNWVhZTYiIHY9IjAuMTEyIi8+DQorCQkJCQk8dmFsIG89IjE1ZjhmNSIgdj0iMC4yOSIvPg0KKwkJCQkJPHZhbCBvPSIxNjA3MDYiIHY9IjAuMDYiLz4NCisJCQkJCTx2YWwgbz0iMTYxNTE3IiB2PSIwLjEwNyIvPg0KKwkJCQkJPHZhbCBvPSIxNjIzMjYiIHY9IjAuMDcyIi8+DQorCQkJCQk8dmFsIG89IjE2MzEzNyIgdj0iMC4wNjQiLz4NCisJCQkJCTx2YWwgbz0iMTYzZjQ2IiB2PSIwLjEwMSIvPg0KKwkJCQkJPHZhbCBvPSIxNjRkNTciIHY9IjAuMDQ1Ii8+DQorCQkJCQk8dmFsIG89IjE2NWI2NyIgdj0iMC4wMzUiLz4NCisJCQkJCTx2YWwgbz0iMTY2OTgyIiB2PSIwLjA1NyIvPg0KKwkJCQkJPHZhbCBvPSIxNjc3ODYiIHY9IjAuMDciLz4NCisJCQkJCTx2YWwgbz0iMTY4NTk2IiB2PSIwLjAzNSIvPg0KKwkJCQkJPHZhbCBvPSIxNjkzYTYiIHY9IjAuMDI5Ii8+DQorCQkJCQk8dmFsIG89IjE2YTFiNSIgdj0iMC4wMjYiLz4NCisJCQkJCTx2YWwgbz0iMTZhZmM2IiB2PSIwLjA3NSIvPg0KKwkJCQkJPHZhbCBvPSIxNmJkZDUiIHY9IjAuMTc4Ii8+DQorCQkJCQk8dmFsIG89IjE2Y2JlNiIgdj0iMC4yMjEiLz4NCisJCQkJCTx2YWwgbz0iMTZkOWY2IiB2PSIwLjEwOSIvPg0KKwkJCQkJPHZhbCBvPSIxNmU4MDciIHY9IjAuNTc4Ii8+DQorCQkJCQk8dmFsIG89IjE2ZjYxNiIgdj0iMC42MzMiLz4NCisJCQkJCTx2YWwgbz0iMTcwNDI5IiB2PSIwLjY3OCIvPg0KKwkJCQkJPHZhbCBvPSIxNzEyMzYiIHY9IjAuNDU2Ii8+DQorCQkJCQk8dmFsIG89IjE3MjA0NyIgdj0iMC40NjEiLz4NCisJCQkJCTx2YWwgbz0iMTcyZTU3IiB2PSIwLjQ3NSIvPg0KKwkJCQkJPHZhbCBvPSIxNzNjNjciIHY9IjAuNDg3Ii8+DQorCQkJCQk8dmFsIG89IjE3NGE3NyIgdj0iMC41NjUiLz4NCisJCQkJCTx2YWwgbz0iMTc1ODg3IiB2PSIwLjU5NyIvPg0KKwkJCQkJPHZhbCBvPSIxNzY2OTQiIHY9IjM0LjM3MiIvPg0KKwkJCQkJPHZhbCBvPSIxNzc0YTMiIHY9IjMzLjA1NiIvPg0KKwkJCQkJPHZhbCBvPSIxNzgyYjMiIHY9IjM0LjE5OCIvPg0KKwkJCQkJPHZhbCBvPSIxNzkwYzUiIHY9IjMxLjE0OCIvPg0KKwkJCQkJPHZhbCBvPSIxNzllZDQiIHY9IjI2LjczNCIvPg0KKwkJCQkJPHZhbCBvPSIxN2FjZTQiIHY9IjI2Ljg4MyIvPg0KKwkJCQkJPHZhbCBvPSIxN2JhZmQiIHY9IjI4LjA0NiIvPg0KKwkJCQkJPHZhbCBvPSIxN2M5MGYiIHY9IjI1LjEwNyIvPg0KKwkJCQkJPHZhbCBvPSIxN2Q3MWUiIHY9IjI0LjgyNiIvPg0KKwkJCQkJPHZhbCBvPSIxN2U1MmYiIHY9IjI1LjEyOSIvPg0KKwkJCQkJPHZhbCBvPSIxN2YzM2YiIHY9IjIyLjk3OSIvPg0KKwkJCQkJPHZhbCBvPSIxODAxNGYiIHY9IjIyLjk2OCIvPg0KKwkJCQkJPHZhbCBvPSIxODBmNWYiIHY9IjI4LjA0Ii8+DQorCQkJCQk8dmFsIG89IjE4MWQ2ZSIgdj0iMzAuNjA4Ii8+DQorCQkJCQk8dmFsIG89IjE4MmI3ZiIgdj0iMzUuMTU2Ii8+DQorCQkJCQk8dmFsIG89IjE4Mzk4ZiIgdj0iNjEuMDc5Ii8+DQorCQkJCQk8dmFsIG89IjE4NDdhMSIgdj0iNjEuMTE4Ii8+DQorCQkJCQk8dmFsIG89IjE4NTVhZiIgdj0iNTguMjE0Ii8+DQorCQkJCQk8dmFsIG89IjE4NjNjMCIgdj0iNTQuMTQ5Ii8+DQorCQkJCQk8dmFsIG89IjE4NzFjZiIgdj0iNTYuMTQxIi8+DQorCQkJCQk8dmFsIG89IjE4N2ZlMCIgdj0iNTMuNzU3Ii8+DQorCQkJCQk8dmFsIG89IjE4OGRlZiIgdj0iNTcuMTg4Ii8+DQorCQkJCQk8dmFsIG89IjE4OWMwMCIgdj0iNTMuNTk2Ii8+DQorCQkJCQk8dmFsIG89IjE4YjgwZCIgdj0iMzYuMjY5Ii8+DQorCQkJCQk8dmFsIG89IjE4YzYxYyIgdj0iMzYuNjI2Ii8+DQorCQkJCQk8dmFsIG89IjE4ZDQyYyIgdj0iMzUuMTAyIi8+DQorCQkJCQk8dmFsIG89IjE4ZTIzYiIgdj0iMjkuODU1Ii8+DQorCQkJCQk8dmFsIG89IjE4ZjA0YiIgdj0iMjguMzA3Ii8+DQorCQkJCQk8dmFsIG89IjE4ZmU1ZSIgdj0iMjUuMzY0Ii8+DQorCQkJCQk8dmFsIG89IjE5MGM3NiIgdj0iMTkuOTk2Ii8+DQorCQkJCQk8dmFsIG89IjE5MWE4NiIgdj0iMTkuNzQ4Ii8+DQorCQkJCQk8dmFsIG89IjE5Mjg5NiIgdj0iMTkuMzQ1Ii8+DQorCQkJCQk8dmFsIG89IjE5MzZhNiIgdj0iMTguODczIi8+DQorCQkJCQk8dmFsIG89IjE5NDRiNyIgdj0iMTguMTEiLz4NCisJCQkJCTx2YWwgbz0iMTk1MmM2IiB2PSIyMC4wMzIiLz4NCisJCQkJCTx2YWwgbz0iMTk2MGQ3IiB2PSIyNS4xMzciLz4NCisJCQkJCTx2YWwgbz0iMTk2ZWU2IiB2PSIyNy41MDgiLz4NCisJCQkJCTx2YWwgbz0iMTk3Y2Y4IiB2PSIyOS40NDkiLz4NCisJCQkJCTx2YWwgbz0iMTk4YjBmIiB2PSIyNy4zNzIiLz4NCisJCQkJCTx2YWwgbz0iMTk5OTFmIiB2PSIzMC41NjIiLz4NCisJCQkJCTx2YWwgbz0iMTliNTQxIiB2PSIyOS45NjMiLz4NCisJCQkJCTx2YWwgbz0iMTljMzRkIiB2PSIyOC4zMzYiLz4NCisJCQkJCTx2YWwgbz0iMTlkMTVlIiB2PSIyOC4xMDIiLz4NCisJCQkJCTx2YWwgbz0iMTlkZjgwIiB2PSIyOC44NjQiLz4NCisJCQkJCTx2YWwgbz0iMTllZDkwIiB2PSIyOC4yNzgiLz4NCisJCQkJCTx2YWwgbz0iMTllZWJlIiB2PSIyOC4zOTkiLz4NCisJCQkJCTx2YWwgbz0iMTlmYjhlIiB2PSIxMS4wMTYiLz4NCisJCQkJCTx2YWwgbz0iMWEwOWEwIiB2PSIxNC4xNTUiLz4NCisJCQkJCTx2YWwgbz0iMWExN2FlIiB2PSIxOS4xMzIiLz4NCisJCQkJCTx2YWwgbz0iMWEyNWJlIiB2PSIyMC4yOCIvPg0KKwkJCQkJPHZhbCBvPSIxYTMzY2QiIHY9IjExLjI4Ii8+DQorCQkJCQk8dmFsIG89IjFhNDFkZCIgdj0iMTIuMjUiLz4NCisJCQkJCTx2YWwgbz0iMWE0ZmVkIiB2PSIxNi41NjEiLz4NCisJCQkJCTx2YWwgbz0iMWE1ZTA4IiB2PSIxNS4xNSIvPg0KKwkJCQkJPHZhbCBvPSIxYTZjMDUiIHY9IjkuOTUzIi8+DQorCQkJCQk8dmFsIG89IjFhN2ExNSIgdj0iMTIuNzMyIi8+DQorCQkJCQk8dmFsIG89IjFhODgyNiIgdj0iMTIuOTU4Ii8+DQorCQkJCQk8dmFsIG89IjFhOTYzNyIgdj0iOS42ODUiLz4NCisJCQkJCTx2YWwgbz0iMWFhNDQ1IiB2PSI2LjgwNSIvPg0KKwkJCQkJPHZhbCBvPSIxYWIyNTUiIHY9IjQuNTU5Ii8+DQorCQkJCQk8dmFsIG89IjFhYzA2NSIgdj0iMTAuNjMyIi8+DQorCQkJCQk8dmFsIG89IjFhY2U3NSIgdj0iMTQuNjQiLz4NCisJCQkJCTx2YWwgbz0iMWFkYzg3IiB2PSIxNC4xODIiLz4NCisJCQkJCTx2YWwgbz0iMWFlYTk2IiB2PSIxMy43MTciLz4NCisJCQkJCTx2YWwgbz0iMWFmOGE3IiB2PSIxNS4wNzEiLz4NCisJCQkJCTx2YWwgbz0iMWIwNmI3IiB2PSIxMy4yMzYiLz4NCisJCQkJCTx2YWwgbz0iMWIxNGM2IiB2PSIxMi43NDYiLz4NCisJCQkJCTx2YWwgbz0iMWM3NDYwIiB2PSIzLjk5OSIvPg0KKwkJCQkJPHZhbCBvPSIxYzgyNzAiIHY9IjIuMTg2Ii8+DQorCQkJCQk8dmFsIG89IjFjOTA3ZSIgdj0iMTYuNTg1Ii8+DQorCQkJCQk8dmFsIG89IjFjOWU4ZiIgdj0iMTQuMzc4Ii8+DQorCQkJCQk8dmFsIG89IjFjYWNhMiIgdj0iMTYuMDQxIi8+DQorCQkJCQk8dmFsIG89IjFjYmFiMSIgdj0iMTUuNzk5Ii8+DQorCQkJCQk8dmFsIG89IjFjYzhjMSIgdj0iMjkuMjUiLz4NCisJCQkJCTx2YWwgbz0iMWNkNmQwIiB2PSIyNy42MjEiLz4NCisJCQkJCTx2YWwgbz0iMWNlNGRlIiB2PSIyNS40NTMiLz4NCisJCQkJCTx2YWwgbz0iMWNmMmYwIiB2PSIyNC4zNjkiLz4NCisJCQkJCTx2YWwgbz0iMWQwMTA5IiB2PSIyNS4zNDgiLz4NCisJCQkJCTx2YWwgbz0iMWQwZjA2IiB2PSIyOC42ODciLz4NCisJCQkJCTx2YWwgbz0iMWQxZDE1IiB2PSIyOC4zNzMiLz4NCisJCQkJCTx2YWwgbz0iMWQyYjI1IiB2PSIyOC44MDEiLz4NCisJCQkJCTx2YWwgbz0iMWQzOTM1IiB2PSIzMC4wNDUiLz4NCisJCQkJCTx2YWwgbz0iMWQ0NzQ1IiB2PSIzMC42NDQiLz4NCisJCQkJCTx2YWwgbz0iMWQ1NTU1IiB2PSIzMC4zNTQiLz4NCisJCQkJCTx2YWwgbz0iMWQ2MzY2IiB2PSIyNC45MzMiLz4NCisJCQkJCTx2YWwgbz0iMWQ3MTc1IiB2PSIyMy44MTMiLz4NCisJCQkJCTx2YWwgbz0iMWQ3Zjg2IiB2PSIyMy44MTgiLz4NCisJCQkJCTx2YWwgbz0iMWQ4ZDk1IiB2PSIxNS4xNTMiLz4NCisJCQkJCTx2YWwgbz0iMWQ5YmE2IiB2PSIxNi42OSIvPg0KKwkJCQkJPHZhbCBvPSIxZGE5YjYiIHY9IjE2LjM4NSIvPg0KKwkJCQkJPHZhbCBvPSIxZGI3YzciIHY9IjE1LjY0MyIvPg0KKwkJCQkJPHZhbCBvPSIxZGM1ZDUiIHY9IjE2LjI2OSIvPg0KKwkJCQkJPHZhbCBvPSIxZGQzZTYiIHY9IjE2LjY4OSIvPg0KKwkJCQkJPHZhbCBvPSIxZGUxZjUiIHY9IjI3Ljg5NyIvPg0KKwkJCQkJPHZhbCBvPSIxZGYwMDYiIHY9IjMxLjQ0OSIvPg0KKwkJCQkJPHZhbCBvPSIxZGZlMTYiIHY9IjMxLjIzMiIvPg0KKwkJCQkJPHZhbCBvPSIxZTBjMjYiIHY9IjMyLjAwMSIvPg0KKwkJCQkJPHZhbCBvPSIxZTFhMzYiIHY9IjMxLjk5OSIvPg0KKwkJCQkJPHZhbCBvPSIxZTI4NDciIHY9IjMwLjY2OSIvPg0KKwkJCQkJPHZhbCBvPSIxZTM2NTkiIHY9IjI5LjE4NSIvPg0KKwkJCQkJPHZhbCBvPSIxZTQ0NjciIHY9IjI3LjE5OSIvPg0KKwkJCQkJPHZhbCBvPSIxZTUyODEiIHY9IjIzLjc5OCIvPg0KKwkJCQkJPHZhbCBvPSIxZTYwODYiIHY9IjIzLjU2NiIvPg0KKwkJCQkJPHZhbCBvPSIxZTZlOTYiIHY9IjIzLjAzNSIvPg0KKwkJCQkJPHZhbCBvPSIxZTdjYTYiIHY9IjguNTczIi8+DQorCQkJCQk8dmFsIG89IjFlOGFiNSIgdj0iNy45MTMiLz4NCisJCQkJCTx2YWwgbz0iMWU5OGM2IiB2PSI3Ljg1MSIvPg0KKwkJCQkJPHZhbCBvPSIxZWE2ZDUiIHY9IjkuODQ1Ii8+DQorCQkJCQk8dmFsIG89IjFlYjRlNiIgdj0iMTAuMTc3Ii8+DQorCQkJCQk8dmFsIG89IjFlYzJmNiIgdj0iMTEuNzMyIi8+DQorCQkJCQk8dmFsIG89IjFlZDEwNiIgdj0iMTEuNTU0Ii8+DQorCQkJCQk8dmFsIG89IjFlZGYxNiIgdj0iMTIuMDY3Ii8+DQorCQkJCQk8dmFsIG89IjFlZWQyNiIgdj0iMTEuNzI1Ii8+DQorCQkJCQk8dmFsIG89IjFlZmIzNiIgdj0iMTEuNDY1Ii8+DQorCQkJCQk8dmFsIG89IjFmMDk0NiIgdj0iMTAuODUxIi8+DQorCQkJCQk8dmFsIG89IjFmMTc1NiIgdj0iMTAuOTI4Ii8+DQorCQkJCQk8dmFsIG89IjFmMjU2NiIgdj0iMTAuOTg0Ii8+DQorCQkJCQk8dmFsIG89IjFmMzM3NiIgdj0iMTMuNjI2Ii8+DQorCQkJCQk8dmFsIG89IjFmNDE4NyIgdj0iMTkuMzk5Ii8+DQorCQkJCQk8dmFsIG89IjFmNGY5NiIgdj0iMTYuMzI2Ii8+DQorCQkJCQk8dmFsIG89IjFmNWRhNyIgdj0iMTUuODQ4Ii8+DQorCQkJCQk8dmFsIG89IjFmNmJiNiIgdj0iMTUuNzg1Ii8+DQorCQkJCQk8dmFsIG89IjFmNzljNyIgdj0iMTQuMzE5Ii8+DQorCQkJCQk8dmFsIG89IjFmODdkNiIgdj0iMTUuNzciLz4NCisJCQkJCTx2YWwgbz0iMWY5NWU3IiB2PSIxNi4yOTUiLz4NCisJCQkJCTx2YWwgbz0iMWZhNDAxIiB2PSIxMy4zODIiLz4NCisJCQkJCTx2YWwgbz0iMWZiMjA0IiB2PSIxMS43NTIiLz4NCisJCQkJCTx2YWwgbz0iMWZjMDE2IiB2PSIxMS42OTQiLz4NCisJCQkJCTx2YWwgbz0iMWZjZTI1IiB2PSI5LjI0Ii8+DQorCQkJCQk8dmFsIG89IjFmZGMzNSIgdj0iOC45NjkiLz4NCisJCQkJCTx2YWwgbz0iMWZlYTQ1IiB2PSI5LjQyIi8+DQorCQkJCQk8dmFsIG89IjFmZjg1NSIgdj0iMTEuMjk5Ii8+DQorCQkJCQk8dmFsIG89IjIwMDY2NSIgdj0iMTguMDYiLz4NCisJCQkJCTx2YWwgbz0iMjAxNDc1IiB2PSIxNS45ODkiLz4NCisJCQkJCTx2YWwgbz0iMjAyMjg2IiB2PSIyMy4zNjMiLz4NCisJCQkJCTx2YWwgbz0iMjAzMDk1IiB2PSIyNi4wNzEiLz4NCisJCQkJCTx2YWwgbz0iMjAzZWE1IiB2PSIyOS4yODMiLz4NCisJCQkJCTx2YWwgbz0iMjA0Y2I2IiB2PSIyNS44NTYiLz4NCisJCQkJCTx2YWwgbz0iMjA1YWM2IiB2PSIyNS4yMzUiLz4NCisJCQkJCTx2YWwgbz0iMjA2OGQ2IiB2PSIyNi40MDUiLz4NCisJCQkJCTx2YWwgbz0iMjA3NmU2IiB2PSIzMC4wNzYiLz4NCisJCQkJCTx2YWwgbz0iMjA4NGY2IiB2PSIyOC40MzMiLz4NCisJCQkJCTx2YWwgbz0iMjA5MzA2IiB2PSIzMC4yNzEiLz4NCisJCQkJCTx2YWwgbz0iMjBhMTE2IiB2PSIyOC41NTciLz4NCisJCQkJCTx2YWwgbz0iMjBhZjI2IiB2PSIyNC41NDIiLz4NCisJCQkJCTx2YWwgbz0iMjBiZDM3IiB2PSIyMy45NjIiLz4NCisJCQkJCTx2YWwgbz0iMjBjYjQ2IiB2PSIyMS4yNDIiLz4NCisJCQkJCTx2YWwgbz0iMjBkOTU3IiB2PSIxOS42MzMiLz4NCisJCQkJCTx2YWwgbz0iMjBlNzY3IiB2PSIxOC4wMDkiLz4NCisJCQkJCTx2YWwgbz0iMjBmNTgxIiB2PSIxNy43OTgiLz4NCisJCQkJCTx2YWwgbz0iMjEwMzg2IiB2PSIxNS4zMDQiLz4NCisJCQkJCTx2YWwgbz0iMjExMTk0IiB2PSIxMy40NTMiLz4NCisJCQkJCTx2YWwgbz0iMjExZmE1IiB2PSIxMy4wNTUiLz4NCisJCQkJCTx2YWwgbz0iMjEyZGI1IiB2PSIxMi44NzIiLz4NCisJCQkJCTx2YWwgbz0iMjEzYmM1IiB2PSIxMy41NDQiLz4NCisJCQkJCTx2YWwgbz0iMjE0OWQ2IiB2PSIxNy4yNSIvPg0KKwkJCQkJPHZhbCBvPSIyMTU3ZTUiIHY9IjIxLjA0NiIvPg0KKwkJCQkJPHZhbCBvPSIyMTY1ZjYiIHY9IjI1LjgzMiIvPg0KKwkJCQkJPHZhbCBvPSIyMTc0MDYiIHY9IjI3Ljc5MSIvPg0KKwkJCQkJPHZhbCBvPSIyMTgyMTciIHY9IjI4LjA1NCIvPg0KKwkJCQkJPHZhbCBvPSIyMTkwMjYiIHY9IjI3LjYzIi8+DQorCQkJCQk8dmFsIG89IjIxOWUzOSIgdj0iMjguNDU3Ii8+DQorCQkJCQk8dmFsIG89IjIxYWM0NiIgdj0iMjcuNzI1Ii8+DQorCQkJCQk8dmFsIG89IjIxYmE1NyIgdj0iMjcuOTIyIi8+DQorCQkJCQk8dmFsIG89IjIxYzg2NyIgdj0iMjguMjUiLz4NCisJCQkJCTx2YWwgbz0iMjFkNjc3IiB2PSIyNy41MzkiLz4NCisJCQkJCTx2YWwgbz0iMjFlNDg3IiB2PSIyNi4yNTEiLz4NCisJCQkJCTx2YWwgbz0iMjFmMjk2IiB2PSIyNS45NDciLz4NCisJCQkJCTx2YWwgbz0iMjIwMGE2IiB2PSIyNC42NzEiLz4NCisJCQkJCTx2YWwgbz0iMjIwZWI3IiB2PSIyNC4zODMiLz4NCisJCQkJCTx2YWwgbz0iMjIxY2M2IiB2PSIyMi43NDIiLz4NCisJCQkJCTx2YWwgbz0iMjIyYWQ3IiB2PSIxNy43NDIiLz4NCisJCQkJCTx2YWwgbz0iMjIzOGU3IiB2PSIxNi4xMTciLz4NCisJCQkJCTx2YWwgbz0iMjI0NzAxIiB2PSIxNC41NDgiLz4NCisJCQkJCTx2YWwgbz0iMjI1NTA1IiB2PSIxOC40MTgiLz4NCisJCQkJCTx2YWwgbz0iMjI2MzE1IiB2PSIxMC4xNDciLz4NCisJCQkJCTx2YWwgbz0iMjI3MTI1IiB2PSIxMC42NDgiLz4NCisJCQkJCTx2YWwgbz0iMjI3ZjM1IiB2PSIxMy4wNjIiLz4NCisJCQkJCTx2YWwgbz0iMjI4ZDQ1IiB2PSIxNy4wODIiLz4NCisJCQkJCTx2YWwgbz0iMjI5YjU0IiB2PSIxNS43MjMiLz4NCisJCQkJCTx2YWwgbz0iMjJhOTY1IiB2PSIxNy42MjciLz4NCisJCQkJCTx2YWwgbz0iMjJiNzc2IiB2PSIyMS4wODMiLz4NCisJCQkJCTx2YWwgbz0iMjJjNTg2IiB2PSIyNC4yOTMiLz4NCisJCQkJCTx2YWwgbz0iMjJkMzk3IiB2PSIyNi44MjMiLz4NCisJCQkJCTx2YWwgbz0iMjJlMWE2IiB2PSIyNy4wNCIvPg0KKwkJCQkJPHZhbCBvPSIyMmVmYjYiIHY9IjIyLjA5MSIvPg0KKwkJCQkJPHZhbCBvPSIyMmZkYzciIHY9IjIxLjUxNCIvPg0KKwkJCQkJPHZhbCBvPSIyMzBiZDciIHY9IjIwLjkyMiIvPg0KKwkJCQkJPHZhbCBvPSIyMzE5ZTYiIHY9IjI1LjA2MSIvPg0KKwkJCQkJPHZhbCBvPSIyMzI3ZjYiIHY9IjI1Ljk1OSIvPg0KKwkJCQkJPHZhbCBvPSIyMzM2MWIiIHY9IjI3LjY0NCIvPg0KKwkJCQkJPHZhbCBvPSIyMzQ0MTYiIHY9IjI1LjU3OCIvPg0KKwkJCQkJPHZhbCBvPSIyMzUyMjYiIHY9IjI0LjE5OSIvPg0KKwkJCQkJPHZhbCBvPSIyMzYwMzciIHY9IjIzLjgzIi8+DQorCQkJCQk8dmFsIG89IjIzNmU0NiIgdj0iMjIuNzE5Ii8+DQorCQkJCQk8dmFsIG89IjIzN2M1NyIgdj0iMjAuOTUyIi8+DQorCQkJCQk8dmFsIG89IjIzOGE2NiIgdj0iMTguMzgyIi8+DQorCQkJCQk8dmFsIG89IjIzOTg4MSIgdj0iMTQuOTI4Ii8+DQorCQkJCQk8dmFsIG89IjIzYTY4NSIgdj0iMTQuODU5Ii8+DQorCQkJCQk8dmFsIG89IjIzYjQ5NSIgdj0iMTQuMDgxIi8+DQorCQkJCQk8dmFsIG89IjIzYzJhNCIgdj0iMTMuMzA5Ii8+DQorCQkJCQk8dmFsIG89IjIzZDBiNSIgdj0iMTMuNzI2Ii8+DQorCQkJCQk8dmFsIG89IjIzZGVjNCIgdj0iMTUuMDcxIi8+DQorCQkJCQk8dmFsIG89IjIzZWNkNSIgdj0iMTcuMDY0Ii8+DQorCQkJCQk8dmFsIG89IjIzZmFlNCIgdj0iMjAuNjEyIi8+DQorCQkJCQk8dmFsIG89IjI0MDhmNiIgdj0iMjQuODkxIi8+DQorCQkJCQk8dmFsIG89IjI0MTcwNiIgdj0iMzIuOTQyIi8+DQorCQkJCQk8dmFsIG89IjI0MjUxOCIgdj0iMzQuMjQ3Ii8+DQorCQkJCQk8dmFsIG89IjI0MzMyNSIgdj0iMzQuNzg3Ii8+DQorCQkJCQk8dmFsIG89IjI0NDEzNyIgdj0iMzEuMTc2Ii8+DQorCQkJCQk8dmFsIG89IjI0NGY0NiIgdj0iMjkuODA2Ii8+DQorCQkJCQk8dmFsIG89IjI0NmI2NiIgdj0iMzAuNTY5Ii8+DQorCQkJCQk8dmFsIG89IjI0Nzk3NiIgdj0iMjkuMTc1Ii8+DQorCQkJCQk8dmFsIG89IjI0ODc4NiIgdj0iMzQuOTIxIi8+DQorCQkJCQk8dmFsIG89IjI0OTU3ZSIgdj0iMjguNzY3Ii8+DQorCQkJCQk8dmFsIG89IjI0YTM4ZiIgdj0iMjUuNzk3Ii8+DQorCQkJCQk8dmFsIG89IjI0YjE5YyIgdj0iMjYuMTYxIi8+DQorCQkJCQk8dmFsIG89IjI0YmZhYyIgdj0iMjQuNzY5Ii8+DQorCQkJCQk8dmFsIG89IjI0Y2RiYyIgdj0iMjQuMDUzIi8+DQorCQkJCQk8dmFsIG89IjI0ZGJjZCIgdj0iMjAuMjgiLz4NCisJCQkJCTx2YWwgbz0iMjRlOWU1IiB2PSIxOC4yMiIvPg0KKwkJCQkJPHZhbCBvPSIyNGY4MDgiIHY9IjE1LjM0NSIvPg0KKwkJCQkJPHZhbCBvPSIyNTA2MTYiIHY9IjE1Ljk1MyIvPg0KKwkJCQkJPHZhbCBvPSIyNTE0MjYiIHY9IjE1Ljg4NCIvPg0KKwkJCQkJPHZhbCBvPSIyNTIyMzYiIHY9IjE1LjA1NCIvPg0KKwkJCQkJPHZhbCBvPSIyNTMwNDciIHY9IjE2LjAxNCIvPg0KKwkJCQkJPHZhbCBvPSIyNTNlNTYiIHY9IjE5LjU3NCIvPg0KKwkJCQkJPHZhbCBvPSIyNTRjNjciIHY9IjIwLjA2NSIvPg0KKwkJCQkJPHZhbCBvPSIyNTVhNzYiIHY9IjIzLjkzNiIvPg0KKwkJCQkJPHZhbCBvPSIyNTY4ODciIHY9IjI5LjI3NCIvPg0KKwkJCQkJPHZhbCBvPSIyNTc2OTciIHY9IjMxLjY5MSIvPg0KKwkJCQkJPHZhbCBvPSIyNTg0YTgiIHY9Ijc1LjE1NCIvPg0KKwkJCQkJPHZhbCBvPSIyNTkyYjYiIHY9IjQxLjQ1OCIvPg0KKwkJCQkJPHZhbCBvPSIyNWEwYzciIHY9IjIxLjIyMSIvPg0KKwkJCQkJPHZhbCBvPSIyNWFlZDciIHY9IjI5LjQxNyIvPg0KKwkJCQkJPHZhbCBvPSIyNWJjZTciIHY9IjI4LjU5NyIvPg0KKwkJCQkJPHZhbCBvPSIyNWNhZjgiIHY9IjI3LjI1NiIvPg0KKwkJCQkJPHZhbCBvPSIyNWQ5MDciIHY9IjI4LjkyNSIvPg0KKwkJCQkJPHZhbCBvPSIyNWU3MTgiIHY9IjI5LjM4Ii8+DQorCQkJCQk8dmFsIG89IjI1ZjUyNyIgdj0iMjYuNTU5Ii8+DQorCQkJCQk8dmFsIG89IjI2MDMzOCIgdj0iMjUuMjM0Ii8+DQorCQkJCQk8dmFsIG89IjI2MTE0OSIgdj0iMjMuMzEyIi8+DQorCQkJCQk8dmFsIG89IjI2MWY1OSIgdj0iMjEuMzE3Ii8+DQorCQkJCQk8dmFsIG89IjI2MmQ2OCIgdj0iMjAuNzYxIi8+DQorCQkJCQk8dmFsIG89IjI2M2I4MyIgdj0iMTYuMzYiLz4NCisJCQkJCTx2YWwgbz0iMjY0OTg2IiB2PSIxNS42NTciLz4NCisJCQkJCTx2YWwgbz0iMjY1Nzk1IiB2PSIxNi42MTgiLz4NCisJCQkJCTx2YWwgbz0iMjY2NWE2IiB2PSIxNy44ODgiLz4NCisJCQkJCTx2YWwgbz0iMjY3M2I1IiB2PSIxNi44NjEiLz4NCisJCQkJCTx2YWwgbz0iMjY4MWM2IiB2PSIxNi42MTciLz4NCisJCQkJCTx2YWwgbz0iMjY4ZmQ1IiB2PSIxNy40MjgiLz4NCisJCQkJCTx2YWwgbz0iMjY5ZGU2IiB2PSIxOC4yMjUiLz4NCisJCQkJCTx2YWwgbz0iMjZhYmY2IiB2PSIxOC40MTUiLz4NCisJCQkJCTx2YWwgbz0iMjZiYTA2IiB2PSIyMi4xMjYiLz4NCisJCQkJCTx2YWwgbz0iMjZjODE3IiB2PSIyMi4xMjYiLz4NCisJCQkJCTx2YWwgbz0iMjZkNjJiIiB2PSIyNS43ODIiLz4NCisJCQkJCTx2YWwgbz0iMjZlNDM2IiB2PSIyMi43NzQiLz4NCisJCQkJCTx2YWwgbz0iMjZmMjQ3IiB2PSIyMi43NzQiLz4NCisJCQkJCTx2YWwgbz0iMjcwMDU3IiB2PSIyMi45MDkiLz4NCisJCQkJCTx2YWwgbz0iMjcwZTY3IiB2PSIyMy4xMzkiLz4NCisJCQkJCTx2YWwgbz0iMjcxYzc3IiB2PSIyMS41NTMiLz4NCisJCQkJCTx2YWwgbz0iMjcyYTg3IiB2PSIyMy41MzkiLz4NCisJCQkJCTx2YWwgbz0iMjczODk3IiB2PSIyMy4xMzkiLz4NCisJCQkJCTx2YWwgbz0iMjc0NmE4IiB2PSIyMi43MzUiLz4NCisJCQkJCTx2YWwgbz0iMjc1NGI5IiB2PSIyMi4zMzUiLz4NCisJCQkJCTx2YWwgbz0iMjc2MmM3IiB2PSIyMy4yMDUiLz4NCisJCQkJCTx2YWwgbz0iMjc3MGQ4IiB2PSIxOC4yMzgiLz4NCisJCQkJCTx2YWwgbz0iMjc3ZWU3IiB2PSIxNC4xMzYiLz4NCisJCQkJPC9wYXI+DQorCQkJCTxwYXIgbWVtaW5kPSI5ODEyIiBoPSIzZGMxYThkZSI+DQorCQkJCQk8dmFsIG89IjAiIHY9IjExNC4wODEiLz4NCisJCQkJCTx2YWwgbz0iZTA4IiB2PSIxMTcuMTkiLz4NCisJCQkJCTx2YWwgbz0iMWMzMiIgdj0iMTE4Ljk2NCIvPg0KKwkJCQkJPHZhbCBvPSIyYTNjIiB2PSIxMjAuNTY0Ii8+DQorCQkJCQk8dmFsIG89IjM4MzUiIHY9IjExOC43NDciLz4NCisJCQkJCTx2YWwgbz0iNDY0NSIgdj0iMTE2LjUyOSIvPg0KKwkJCQkJPHZhbCBvPSI1NDU1IiB2PSIxMDkuMzg0Ii8+DQorCQkJCQk8dmFsIG89IjYyNjUiIHY9IjEyMS4zNTYiLz4NCisJCQkJCTx2YWwgbz0iNzA3NSIgdj0iMTE5LjAxNCIvPg0KKwkJCQkJPHZhbCBvPSI3ZTg1IiB2PSIxMTYuMjI2Ii8+DQorCQkJCQk8dmFsIG89IjhjOTYiIHY9IjEyMC4xNzUiLz4NCisJCQkJCTx2YWwgbz0iOWFhNSIgdj0iMTIwLjk0OSIvPg0KKwkJCQkJPHZhbCBvPSJhOGI2IiB2PSIxMjQuMiIvPg0KKwkJCQkJPHZhbCBvPSJiNmM1IiB2PSIxMjQuMDQzIi8+DQorCQkJCQk8dmFsIG89ImM0ZDciIHY9IjExNy43NjEiLz4NCisJCQkJCTx2YWwgbz0iZDMwYiIgdj0iMTE4LjA5MiIvPg0KKwkJCQkJPHZhbCBvPSJlMGY2IiB2PSIxMTguMzU0Ii8+DQorCQkJCQk8dmFsIG89ImVmMDYiIHY9IjExOC42MzMiLz4NCisJCQkJCTx2YWwgbz0iZmQxNyIgdj0iMTE4LjQ5NCIvPg0KKwkJCQkJPHZhbCBvPSIxMGIyNyIgdj0iMTIxLjI0MyIvPg0KKwkJCQkJPHZhbCBvPSIxMTkzNyIgdj0iMTIyLjI3OCIvPg0KKwkJCQkJPHZhbCBvPSIxMjc0NiIgdj0iMTE5LjY4OSIvPg0KKwkJCQkJPHZhbCBvPSIxMzU1NiIgdj0iMTIxLjE2NSIvPg0KKwkJCQkJPHZhbCBvPSIxNDM2NiIgdj0iMTI1LjY4OCIvPg0KKwkJCQkJPHZhbCBvPSIxNTE4MSIgdj0iMTI3LjUxNyIvPg0KKwkJCQkJPHZhbCBvPSIxNWY4NSIgdj0iMTE5LjUwOCIvPg0KKwkJCQkJPHZhbCBvPSIxNmQ5NSIgdj0iMTIxLjI3Ii8+DQorCQkJCQk8dmFsIG89IjE3YmE0IiB2PSIxMjEuMjYyIi8+DQorCQkJCQk8dmFsIG89IjE4OWI1IiB2PSIxMjAuNTk1Ii8+DQorCQkJCQk8dmFsIG89IjE5N2M0IiB2PSIxMTguNzI1Ii8+DQorCQkJCQk8dmFsIG89IjFhNWQ1IiB2PSIxMjYuOTEzIi8+DQorCQkJCQk8dmFsIG89IjFiM2U2IiB2PSIxMjUuOTg0Ii8+DQorCQkJCQk8dmFsIG89IjFjMWY2IiB2PSIxMjQuOTcxIi8+DQorCQkJCQk8dmFsIG89IjFkMDA1IiB2PSIxMjEuNzIyIi8+DQorCQkJCQk8dmFsIG89IjFkZTE1IiB2PSIxMjIuMjMzIi8+DQorCQkJCQk8dmFsIG89IjFlYzI1IiB2PSIxMjIuODM2Ii8+DQorCQkJCQk8dmFsIG89IjFmYTM2IiB2PSIxMjQuMTI1Ii8+DQorCQkJCQk8dmFsIG89IjIwODQ1IiB2PSIxMjUuMTA1Ii8+DQorCQkJCQk8dmFsIG89IjIxNjU2IiB2PSIxMjUuMjY2Ii8+DQorCQkJCQk8dmFsIG89IjIyNDY1IiB2PSIxMjUuMzgxIi8+DQorCQkJCQk8dmFsIG89IjIzMjc2IiB2PSIxMjMuNjg4Ii8+DQorCQkJCQk8dmFsIG89IjI0MDg2IiB2PSIxMTkuNDM3Ii8+DQorCQkJCQk8dmFsIG89IjI0ZTk5IiB2PSIxMTkuMTY3Ii8+DQorCQkJCQk8dmFsIG89IjI1Y2E3IiB2PSIxMjAuMzM0Ii8+DQorCQkJCQk8dmFsIG89IjI2YWI3IiB2PSIxMTkuODM3Ii8+DQorCQkJCQk8dmFsIG89IjI3OGM2IiB2PSIxMjAuMTA5Ii8+DQorCQkJCQk8dmFsIG89IjI4NmQ2IiB2PSIxMjIuMDc0Ii8+DQorCQkJCQk8dmFsIG89IjI5NGU2IiB2PSIxMjUuNTQyIi8+DQorCQkJCQk8dmFsIG89IjJhMzAxIiB2PSIxMjUuNjM4Ii8+DQorCQkJCQk8dmFsIG89IjJiMTA1IiB2PSIxMTcuMzk4Ii8+DQorCQkJCQk8dmFsIG89IjJiZjE1IiB2PSIxMTguODA3Ii8+DQorCQkJCQk8dmFsIG89IjJjZDI1IiB2PSIxMTkuNjQ0Ii8+DQorCQkJCQk8dmFsIG89IjJkYjM1IiB2PSIxMTkuNjc0Ii8+DQorCQkJCQk8dmFsIG89IjJlOTQ2IiB2PSIxMTcuNTQ5Ii8+DQorCQkJCQk8dmFsIG89IjJmNzU1IiB2PSIxMTMuMjI5Ii8+DQorCQkJCQk8dmFsIG89IjMwNTY2IiB2PSIxMjUuMTUzIi8+DQorCQkJCQk8dmFsIG89IjMxMzc1IiB2PSIxMjQuNjkxIi8+DQorCQkJCQk8dmFsIG89IjMyMTllIiB2PSIxMjMuNTU2Ii8+DQorCQkJCQk8dmFsIG89IjMyZjk2IiB2PSIxMjMuMjMxIi8+DQorCQkJCQk8dmFsIG89IjMzZGE2IiB2PSIxMjMuNDA0Ii8+DQorCQkJCQk8dmFsIG89IjM0YmI2IiB2PSIxMjMuOTMyIi8+DQorCQkJCQk8dmFsIG89IjM1OWRlIiB2PSIxMjMuMzI4Ii8+DQorCQkJCQk8dmFsIG89IjM2N2Q2IiB2PSIxMjIuNjQxIi8+DQorCQkJCQk8dmFsIG89IjM3NWU2IiB2PSIxMjEuNTQ0Ii8+DQorCQkJCQk8dmFsIG89IjM4NDBlIiB2PSIxMTguMjA5Ii8+DQorCQkJCQk8dmFsIG89IjM5MjFlIiB2PSIxMTguNjc1Ii8+DQorCQkJCQk8dmFsIG89IjNhMDE2IiB2PSIxMTguMzI1Ii8+DQorCQkJCQk8dmFsIG89IjNhZTI3IiB2PSIxMjEuODkzIi8+DQorCQkJCQk8dmFsIG89IjNiYzM2IiB2PSIxMjAuNzExIi8+DQorCQkJCQk8dmFsIG89IjNjYTQ3IiB2PSIxMTkuODU0Ii8+DQorCQkJCQk8dmFsIG89IjNkODU2IiB2PSIxMjAuMTY1Ii8+DQorCQkJCQk8dmFsIG89IjNlNjY3IiB2PSIxMjIuOTk2Ii8+DQorCQkJCQk8dmFsIG89IjNmNDgxIiB2PSIxMjYuNTU3Ii8+DQorCQkJCQk8dmFsIG89IjQwMjg1IiB2PSIxMjQuMDYxIi8+DQorCQkJCQk8dmFsIG89IjQxMDk1IiB2PSIxMjQuODc0Ii8+DQorCQkJCQk8dmFsIG89IjQxZWE1IiB2PSIxMjUuMjQ0Ii8+DQorCQkJCQk8dmFsIG89IjQyY2I1IiB2PSIxMjUuMDgzIi8+DQorCQkJCQk8dmFsIG89IjQzYWM1IiB2PSIxMjMuMTgyIi8+DQorCQkJCQk8dmFsIG89IjQ0OGQ1IiB2PSIxMTkuMzExIi8+DQorCQkJCQk8dmFsIG89IjQ1NmU2IiB2PSIxMjIuNTI0Ii8+DQorCQkJCQk8dmFsIG89IjQ2NGY1IiB2PSIxMjEuMTczIi8+DQorCQkJCQk8dmFsIG89IjQ4MGZmIiB2PSIxMTguNjk2Ii8+DQorCQkJCQk8dmFsIG89IjQ4ZjBlIiB2PSIxMTcuNTU5Ii8+DQorCQkJCQk8dmFsIG89IjQ5ZDFkIiB2PSIxMTguOTQ3Ii8+DQorCQkJCQk8dmFsIG89IjRhYjQ2IiB2PSIxMTguNzk3Ii8+DQorCQkJCQk8dmFsIG89IjRiOTU1IiB2PSIxMTcuMDQ4Ii8+DQorCQkJCQk8dmFsIG89IjRjNzY5IiB2PSIxMTYuMTgyIi8+DQorCQkJCQk8dmFsIG89IjRkNTc3IiB2PSIxMTkuMTAxIi8+DQorCQkJCQk8dmFsIG89IjRlMzg3IiB2PSIxMTkuMTUyIi8+DQorCQkJCQk8dmFsIG89IjRmMTk2IiB2PSIxMTYuODE0Ii8+DQorCQkJCQk8dmFsIG89IjRmZmE2IiB2PSIxMTguOTQzIi8+DQorCQkJCQk8dmFsIG89IjUwZGQwIiB2PSIxMjAuODQ0Ii8+DQorCQkJCQk8dmFsIG89IjUxYmM2IiB2PSIxMTkuMTA5Ii8+DQorCQkJCQk8dmFsIG89IjUyOWQ2IiB2PSIxMjAuODAyIi8+DQorCQkJCQk8dmFsIG89IjUzN2U3IiB2PSIxMjMuMDk1Ii8+DQorCQkJCQk8dmFsIG89IjU0NjAwIiB2PSIxMjUuOTIyIi8+DQorCQkJCQk8dmFsIG89IjU1NDA2IiB2PSIxMjIuMDgyIi8+DQorCQkJCQk8dmFsIG89IjU2MjE1IiB2PSIxMjMuMDAxIi8+DQorCQkJCQk8dmFsIG89IjU3MDI2IiB2PSIxMjMuMDMzIi8+DQorCQkJCQk8dmFsIG89IjU3ZTM2IiB2PSIxMjIuOTcyIi8+DQorCQkJCQk8dmFsIG89IjU4YzQ2IiB2PSIxMjAuNzE3Ii8+DQorCQkJCQk8dmFsIG89IjU5YTcwIiB2PSIxMjEuNTk5Ii8+DQorCQkJCQk8dmFsIG89IjVhODY3IiB2PSIxMjAuOTc3Ii8+DQorCQkJCQk8dmFsIG89IjViNjc2IiB2PSIxMTkuMDM4Ii8+DQorCQkJCQk8dmFsIG89IjVjNDg3IiB2PSIxMTUuNzk4Ii8+DQorCQkJCQk8dmFsIG89IjVkMjk2IiB2PSIxMTkuOTEzIi8+DQorCQkJCQk8dmFsIG89IjVlMGE5IiB2PSIxMjAuMjg0Ii8+DQorCQkJCQk8dmFsIG89IjVlZWI4IiB2PSIxMTkuNDUxIi8+DQorCQkJCQk8dmFsIG89IjVmY2M2IiB2PSIxMTguMzI1Ii8+DQorCQkJCQk8dmFsIG89IjYwYWQ3IiB2PSIxMTcuMTExIi8+DQorCQkJCQk8dmFsIG89IjYxOGU3IiB2PSIxMTcuMjYzIi8+DQorCQkJCQk8dmFsIG89IjYyNmY3IiB2PSIxMjAuMTQ3Ii8+DQorCQkJCQk8dmFsIG89IjYzNTA3IiB2PSIxMTcuNTM0Ii8+DQorCQkJCQk8dmFsIG89IjY0MzE3IiB2PSIxMTguOTAyIi8+DQorCQkJCQk8dmFsIG89IjY1MTI3IiB2PSIxMjAuMDk5Ii8+DQorCQkJCQk8dmFsIG89IjY1ZjM3IiB2PSIxMjEuNDM0Ii8+DQorCQkJCQk8dmFsIG89IjY2ZDQ2IiB2PSIxMjEuOTg2Ii8+DQorCQkJCQk8dmFsIG89IjY3YjU3IiB2PSIxMjAuNjgzIi8+DQorCQkJCQk8dmFsIG89IjY4OTY3IiB2PSIxMjIuODYxIi8+DQorCQkJCQk8dmFsIG89IjY5NzgyIiB2PSIxMTkuMzUiLz4NCisJCQkJCTx2YWwgbz0iNmE1ODYiIHY9IjEyMC44NDUiLz4NCisJCQkJCTx2YWwgbz0iNmIzOTUiIHY9IjEyMi4xMTkiLz4NCisJCQkJCTx2YWwgbz0iNmMxYTYiIHY9IjEyMi41MDYiLz4NCisJCQkJCTx2YWwgbz0iNmNmYjUiIHY9IjEyMS40NjIiLz4NCisJCQkJCTx2YWwgbz0iNmRkYzYiIHY9IjExOC45MDkiLz4NCisJCQkJCTx2YWwgbz0iNmViZDYiIHY9IjExNi4zNzIiLz4NCisJCQkJCTx2YWwgbz0iNmY5ZTYiIHY9IjEyMS4zMTEiLz4NCisJCQkJCTx2YWwgbz0iNzA3ZjYiIHY9IjExOS40MTIiLz4NCisJCQkJCTx2YWwgbz0iNzE2MDciIHY9IjExOC4yODEiLz4NCisJCQkJCTx2YWwgbz0iNzI0MTciIHY9IjExOC4xNDgiLz4NCisJCQkJCTx2YWwgbz0iNzMyMjciIHY9IjExNy44MTEiLz4NCisJCQkJCTx2YWwgbz0iNzQwMzciIHY9IjEyMS42OTQiLz4NCisJCQkJCTx2YWwgbz0iNzRlNDciIHY9IjEyMC43NTUiLz4NCisJCQkJCTx2YWwgbz0iNzVjNTciIHY9IjExOC42NTEiLz4NCisJCQkJCTx2YWwgbz0iNzZhNjMiIHY9IjExOC4wOCIvPg0KKwkJCQkJPHZhbCBvPSI3Nzg3MyIgdj0iMTE4LjI4MiIvPg0KKwkJCQkJPHZhbCBvPSI3ODY4MCIgdj0iMTEzLjkxMSIvPg0KKwkJCQkJPHZhbCBvPSI3OTQ4ZiIgdj0iMTE2Ljk0MSIvPg0KKwkJCQkJPHZhbCBvPSI3YTI5ZiIgdj0iMTE5LjUwOCIvPg0KKwkJCQkJPHZhbCBvPSI3YjBhZiIgdj0iMTE5LjA3MSIvPg0KKwkJCQkJPHZhbCBvPSI3YmViZiIgdj0iMTIxLjE0NiIvPg0KKwkJCQkJPHZhbCBvPSI3Y2NjZiIgdj0iMTIxLjMzNiIvPg0KKwkJCQkJPHZhbCBvPSI3ZGFkZiIgdj0iMTIyLjA5NSIvPg0KKwkJCQkJPHZhbCBvPSI3ZThmYSIgdj0iMTIxLjc4NSIvPg0KKwkJCQkJPHZhbCBvPSI3ZjcwYSIgdj0iMTI0LjA2NSIvPg0KKwkJCQkJPHZhbCBvPSI4MDUxYSIgdj0iMTI1LjQ1NSIvPg0KKwkJCQkJPHZhbCBvPSI4MTMyYSIgdj0iMTI2LjAxMSIvPg0KKwkJCQkJPHZhbCBvPSI4MjEzYSIgdj0iMTI1LjAxOCIvPg0KKwkJCQkJPHZhbCBvPSI4MmY0YSIgdj0iMTIyLjc0MSIvPg0KKwkJCQkJPHZhbCBvPSI4M2Q1YSIgdj0iMTIwLjI2Ii8+DQorCQkJCQk8dmFsIG89Ijg0YjZhIiB2PSIxMTguODU2Ii8+DQorCQkJCQk8dmFsIG89Ijg1OTdhIiB2PSIxMTguODE3Ii8+DQorCQkJCQk8dmFsIG89Ijg2NzhiIiB2PSIxMTcuODA3Ii8+DQorCQkJCQk8dmFsIG89Ijg3NTliIiB2PSIxMTcuNDQ0Ii8+DQorCQkJCQk8dmFsIG89Ijg4M2FjIiB2PSIxMTkuOTY3Ii8+DQorCQkJCQk8dmFsIG89Ijg5MWJiIiB2PSIxMjEuMTQxIi8+DQorCQkJCQk8dmFsIG89Ijg5ZmNhIiB2PSIxMjAuMjU5Ii8+DQorCQkJCQk8dmFsIG89IjhhZGRhIiB2PSIxMTguNTU4Ii8+DQorCQkJCQk8dmFsIG89IjhiYmViIiB2PSIxMTguODEyIi8+DQorCQkJCQk8dmFsIG89IjhjOWZjIiB2PSIxMTguNjMzIi8+DQorCQkJCQk8dmFsIG89IjhkODBiIiB2PSIxMTguOTQ4Ii8+DQorCQkJCQk8dmFsIG89IjhlNjFhIiB2PSIxMTcuMzE1Ii8+DQorCQkJCQk8dmFsIG89IjhmNDJhIiB2PSIxMTguMTQ2Ii8+DQorCQkJCQk8dmFsIG89IjkwMjNhIiB2PSIxMjAuMTIxIi8+DQorCQkJCQk8dmFsIG89IjkxMDRhIiB2PSIxMjAuNTYxIi8+DQorCQkJCQk8dmFsIG89IjkxZTVhIiB2PSIxMTguNjM4Ii8+DQorCQkJCQk8dmFsIG89IjkyYzZhIiB2PSIxMjIuODQ0Ii8+DQorCQkJCQk8dmFsIG89IjkzYTg0IiB2PSIxMjUuMTUzIi8+DQorCQkJCQk8dmFsIG89Ijk0ODg1IiB2PSIxMjMuNDYzIi8+DQorCQkJCQk8dmFsIG89Ijk1Njk0IiB2PSIxMjIuNzkzIi8+DQorCQkJCQk8dmFsIG89Ijk2NGE1IiB2PSIxMjMuMDkzIi8+DQorCQkJCQk8dmFsIG89Ijk3MmI0IiB2PSIxMjIuNTM1Ii8+DQorCQkJCQk8dmFsIG89Ijk4MGM1IiB2PSIxMjAuMTg5Ii8+DQorCQkJCQk8dmFsIG89Ijk4ZWQ0IiB2PSIxMjMuMDk3Ii8+DQorCQkJCQk8dmFsIG89Ijk5Y2U1IiB2PSIxMTkuMzM2Ii8+DQorCQkJCQk8dmFsIG89IjlhYWY1IiB2PSIxMTguNSIvPg0KKwkJCQkJPHZhbCBvPSI5YjkwNiIgdj0iMTE1Ljc0MyIvPg0KKwkJCQkJPHZhbCBvPSI5YzcxNiIgdj0iMTE5LjcyMiIvPg0KKwkJCQkJPHZhbCBvPSI5ZDUyNiIgdj0iMTIwLjIyMiIvPg0KKwkJCQkJPHZhbCBvPSI5ZTMzNiIgdj0iMTE4LjkxOCIvPg0KKwkJCQkJPHZhbCBvPSI5ZjE0NSIgdj0iMTE3LjU1MSIvPg0KKwkJCQkJPHZhbCBvPSI5ZmY1NiIgdj0iMTE2LjY0OSIvPg0KKwkJCQkJPHZhbCBvPSJhMGQ2NSIgdj0iMTE2LjUyIi8+DQorCQkJCQk8dmFsIG89ImExYjc3IiB2PSIxMTYuNzAzIi8+DQorCQkJCQk8dmFsIG89ImEyOTg2IiB2PSIxMTguODA2Ii8+DQorCQkJCQk8dmFsIG89ImEzNzk1IiB2PSIxMTguNDYxIi8+DQorCQkJCQk8dmFsIG89ImE0NWE3IiB2PSIxMTkuNTkzIi8+DQorCQkJCQk8dmFsIG89ImE1M2I2IiB2PSIxMTkuNzgiLz4NCisJCQkJCTx2YWwgbz0iYTYxYzciIHY9IjExOS45NzMiLz4NCisJCQkJCTx2YWwgbz0iYTZmZDYiIHY9IjEyMC43NjEiLz4NCisJCQkJCTx2YWwgbz0iYTdlMDAiIHY9IjEyMi43ODIiLz4NCisJCQkJCTx2YWwgbz0iYThjMDAiIHY9IjEyNS40NDQiLz4NCisJCQkJCTx2YWwgbz0iYTlhMDUiIHY9IjExOC4yNTUiLz4NCisJCQkJCTx2YWwgbz0iYWE4MTUiIHY9IjExOS4zMDIiLz4NCisJCQkJCTx2YWwgbz0iYWI2MjUiIHY9IjEyMC4xNDkiLz4NCisJCQkJCTx2YWwgbz0iYWM0MzUiIHY9IjExOS42NzgiLz4NCisJCQkJCTx2YWwgbz0iYWQyNDUiIHY9IjExNy4xMzgiLz4NCisJCQkJCTx2YWwgbz0iYWUwNTUiIHY9IjExNC42ODEiLz4NCisJCQkJCTx2YWwgbz0iYWVlNjUiIHY9IjEyMC44NTEiLz4NCisJCQkJCTx2YWwgbz0iYWZjNzUiIHY9IjExOS4wOTkiLz4NCisJCQkJCTx2YWwgbz0iYjBhODUiIHY9IjExNi42MDkiLz4NCisJCQkJCTx2YWwgbz0iYjI2YTYiIHY9IjExNi43MjkiLz4NCisJCQkJCTx2YWwgbz0iYjM0YjYiIHY9IjExOC4wNDUiLz4NCisJCQkJCTx2YWwgbz0iYjQyYzYiIHY9IjExNS40NzciLz4NCisJCQkJCTx2YWwgbz0iYjUwZDYiIHY9IjExNS44OTEiLz4NCisJCQkJCTx2YWwgbz0iYjVlZTciIHY9IjExNC4yNCIvPg0KKwkJCQkJPHZhbCBvPSJiNmNmNiIgdj0iMTIyLjc5NCIvPg0KKwkJCQkJPHZhbCBvPSJiN2IwNyIgdj0iMTE5LjAwMiIvPg0KKwkJCQkJPHZhbCBvPSJiODkxNyIgdj0iMTE4LjcwMSIvPg0KKwkJCQkJPHZhbCBvPSJiOTcyOCIgdj0iMTE5LjYwMiIvPg0KKwkJCQkJPHZhbCBvPSJiYTUzNyIgdj0iMTIwLjk2MyIvPg0KKwkJCQkJPHZhbCBvPSJiYjM0NyIgdj0iMTE5LjkyNCIvPg0KKwkJCQkJPHZhbCBvPSJiYzE1NyIgdj0iMTIwLjYyOCIvPg0KKwkJCQkJPHZhbCBvPSJiY2Y2NyIgdj0iMTIzLjEyMiIvPg0KKwkJCQkJPHZhbCBvPSJiZGQ4MSIgdj0iMTE4LjY4MyIvPg0KKwkJCQkJPHZhbCBvPSJiZWI4NiIgdj0iMTE4LjMwMSIvPg0KKwkJCQkJPHZhbCBvPSJiZjk5NSIgdj0iMTE4Ljg4MiIvPg0KKwkJCQkJPHZhbCBvPSJjMDdhNiIgdj0iMTIwLjE4NyIvPg0KKwkJCQkJPHZhbCBvPSJjMTViNSIgdj0iMTE5LjU3NiIvPg0KKwkJCQkJPHZhbCBvPSJjMjNjNiIgdj0iMTE4LjI0MyIvPg0KKwkJCQkJPHZhbCBvPSJjMzFkNSIgdj0iMTE1LjY5MiIvPg0KKwkJCQkJPHZhbCBvPSJjM2ZlNiIgdj0iMTE3LjU2Ii8+DQorCQkJCQk8dmFsIG89ImM0ZGY1IiB2PSIxMTYuMDU3Ii8+DQorCQkJCQk8dmFsIG89ImM1YzA2IiB2PSIxMTcuNDExIi8+DQorCQkJCQk8dmFsIG89ImM2YTE2IiB2PSIxMTcuNDg2Ii8+DQorCQkJCQk8dmFsIG89ImM3ODI2IiB2PSIxMTYuNzQ1Ii8+DQorCQkJCQk8dmFsIG89ImM4NjM2IiB2PSIxMTguMjY1Ii8+DQorCQkJCQk8dmFsIG89ImM5NDQ2IiB2PSIxMTguMjAyIi8+DQorCQkJCQk8dmFsIG89ImNhMjU2IiB2PSIxMTguMDA0Ii8+DQorCQkJCQk8dmFsIG89ImNiMDY2IiB2PSIxMTcuMjU1Ii8+DQorCQkJCQk8dmFsIG89ImNiZTc2IiB2PSIxMjIuNzEiLz4NCisJCQkJCTx2YWwgbz0iY2NjODciIHY9IjExOC43MzYiLz4NCisJCQkJCTx2YWwgbz0iY2RhOTYiIHY9IjExNi43MzQiLz4NCisJCQkJCTx2YWwgbz0iY2U4YTgiIHY9IjExOC4zMzkiLz4NCisJCQkJCTx2YWwgbz0iY2Y2YjciIHY9IjExOC42NiIvPg0KKwkJCQkJPHZhbCBvPSJkMDRjOCIgdj0iMTE5LjcwMyIvPg0KKwkJCQkJPHZhbCBvPSJkMTJkNyIgdj0iMTIxLjUzNiIvPg0KKwkJCQkJPHZhbCBvPSJkMjBlNyIgdj0iMTIzLjQxOSIvPg0KKwkJCQkJPHZhbCBvPSJkMmYwMiIgdj0iMTI2LjE4NiIvPg0KKwkJCQkJPHZhbCBvPSJkM2QwNSIgdj0iMTE5LjMxIi8+DQorCQkJCQk8dmFsIG89ImQ0YjE1IiB2PSIxMjAuNTgiLz4NCisJCQkJCTx2YWwgbz0iZDU5MjYiIHY9IjEyMC44NTciLz4NCisJCQkJCTx2YWwgbz0iZDY3MzUiIHY9IjExOS41ODIiLz4NCisJCQkJCTx2YWwgbz0iZDc1NDYiIHY9IjExNy40MjYiLz4NCisJCQkJCTx2YWwgbz0iZDgzNTUiIHY9IjEyNC4zNDkiLz4NCisJCQkJCTx2YWwgbz0iZDkxNjYiIHY9IjEyMi40MzUiLz4NCisJCQkJCTx2YWwgbz0iZDlmNzUiIHY9IjEyMC42OTIiLz4NCisJCQkJCTx2YWwgbz0iZGFkODciIHY9IjExNy4yMzMiLz4NCisJCQkJCTx2YWwgbz0iZGJiOTciIHY9IjExNi44NjIiLz4NCisJCQkJCTx2YWwgbz0iZGM5YTgiIHY9IjExNi43MjgiLz4NCisJCQkJCTx2YWwgbz0iZGQ3YjciIHY9IjExOC4yMTIiLz4NCisJCQkJCTx2YWwgbz0iZGU1YzYiIHY9IjExNy44NTciLz4NCisJCQkJCTx2YWwgbz0iZGYzZDciIHY9IjExNy4xNzYiLz4NCisJCQkJCTx2YWwgbz0iZTAxZDciIHY9IjExNy4yNzEiLz4NCisJCQkJCTx2YWwgbz0iZTBmZTUiIHY9IjExNi43OTYiLz4NCisJCQkJCTx2YWwgbz0iZTFkZjUiIHY9IjExNy4zNjEiLz4NCisJCQkJCTx2YWwgbz0iZTJjMDQiIHY9IjExOS43NjkiLz4NCisJCQkJCTx2YWwgbz0iZTNhMTQiIHY9IjEyMS4wNSIvPg0KKwkJCQkJPHZhbCBvPSJlNDgyNCIgdj0iMTIwLjkyMSIvPg0KKwkJCQkJPHZhbCBvPSJlNTYzNCIgdj0iMTIyLjQ5NyIvPg0KKwkJCQkJPHZhbCBvPSJlNjQ0NCIgdj0iMTIwLjY3NyIvPg0KKwkJCQkJPHZhbCBvPSJlNzI1NSIgdj0iMTIyLjY3Ii8+DQorCQkJCQk8dmFsIG89ImU4MDZmIiB2PSIxMjMuNzc4Ii8+DQorCQkJCQk8dmFsIG89ImU4ZTdmIiB2PSIxMTYuNjU1Ii8+DQorCQkJCQk8dmFsIG89ImU5YzhlIiB2PSIxMTguMTA5Ii8+DQorCQkJCQk8dmFsIG89ImVhYTlmIiB2PSIxMTguMzcyIi8+DQorCQkJCQk8dmFsIG89ImViOGFlIiB2PSIxMTcuNTI3Ii8+DQorCQkJCQk8dmFsIG89ImVjNmJmIiB2PSIxMTMuNTE4Ii8+DQorCQkJCQk8dmFsIG89ImVkNGNlIiB2PSIxMjMuNDk2Ii8+DQorCQkJCQk8dmFsIG89ImVlMmRmIiB2PSIxMjAuNjExIi8+DQorCQkJCQk8dmFsIG89ImVmMGVmIiB2PSIxMTguNzA0Ii8+DQorCQkJCQk8dmFsIG89ImVmZjAxIiB2PSIxMTUuNjUxIi8+DQorCQkJCQk8dmFsIG89ImYwZDEwIiB2PSIxMTcuNDg3Ii8+DQorCQkJCQk8dmFsIG89ImYxYjIwIiB2PSIxMTcuMTg2Ii8+DQorCQkJCQk8dmFsIG89ImYyOTMwIiB2PSIxMjEuMTE0Ii8+DQorCQkJCQk8dmFsIG89ImYzNzQwIiB2PSIxMTcuNjExIi8+DQorCQkJCQk8dmFsIG89ImY0NTUxIiB2PSIxMTcuODkyIi8+DQorCQkJCQk8dmFsIG89ImY1MzYxIiB2PSIxMTcuNzE4Ii8+DQorCQkJCQk8dmFsIG89ImY2MTcyIiB2PSIxMTcuNTg0Ii8+DQorCQkJCQk8dmFsIG89ImY2ZjgwIiB2PSIxMTcuMzgiLz4NCisJCQkJCTx2YWwgbz0iZjdkOTEiIHY9IjExOS4yMjIiLz4NCisJCQkJCTx2YWwgbz0iZjhiYTEiIHY9IjEyMS4wMzciLz4NCisJCQkJCTx2YWwgbz0iZjk5YjEiIHY9IjEyMC4yMjEiLz4NCisJCQkJCTx2YWwgbz0iZmE3YzAiIHY9IjExOC4zNzkiLz4NCisJCQkJCTx2YWwgbz0iZmI1ZDEiIHY9IjExOC4yMzgiLz4NCisJCQkJCTx2YWwgbz0iZmMzZTAiIHY9IjEyMy4wMzciLz4NCisJCQkJCTx2YWwgbz0iZmQxZmIiIHY9IjEyMy4wMDciLz4NCisJCQkJCTx2YWwgbz0iZmUwMGIiIHY9IjEyNi4yOTQiLz4NCisJCQkJCTx2YWwgbz0iZmVlMWMiIHY9IjEyMy42ODIiLz4NCisJCQkJCTx2YWwgbz0iZmZjMmMiIHY9IjEyMy41OTEiLz4NCisJCQkJCTx2YWwgbz0iMTAwYTNiIiB2PSIxMjIuOTE4Ii8+DQorCQkJCQk8dmFsIG89IjEwMTg0YyIgdj0iMTIxLjM4NyIvPg0KKwkJCQkJPHZhbCBvPSIxMDI2NWIiIHY9IjExNy41ODYiLz4NCisJCQkJCTx2YWwgbz0iMTAzNDZjIiB2PSIxMTcuNzE2Ii8+DQorCQkJCQk8dmFsIG89IjEwNDI3YiIgdj0iMTE5LjE5MSIvPg0KKwkJCQkJPHZhbCBvPSIxMDUwOGQiIHY9IjExNy4zNTUiLz4NCisJCQkJCTx2YWwgbz0iMTA1ZTlkIiB2PSIxMTcuODYyIi8+DQorCQkJCQk8dmFsIG89IjEwNmNhZCIgdj0iMTE3LjUzMSIvPg0KKwkJCQkJPHZhbCBvPSIxMDdhYmQiIHY9IjExOS44ODYiLz4NCisJCQkJCTx2YWwgbz0iMTA4OGNkIiB2PSIxMTkuNDI2Ii8+DQorCQkJCQk8dmFsIG89IjEwOTZkZSIgdj0iMTE4LjcyIi8+DQorCQkJCQk8dmFsIG89IjEwYTRlZCIgdj0iMTE5LjAwNCIvPg0KKwkJCQkJPHZhbCBvPSIxMGIyZmUiIHY9IjExOC43MjUiLz4NCisJCQkJCTx2YWwgbz0iMTBjMTBkIiB2PSIxMTYuMTk2Ii8+DQorCQkJCQk8dmFsIG89IjEwY2YxZSIgdj0iMTE4LjExMSIvPg0KKwkJCQkJPHZhbCBvPSIxMGRkMmUiIHY9IjExOS4wMDEiLz4NCisJCQkJCTx2YWwgbz0iMTBlYjY2IiB2PSIxMjAuOTYzIi8+DQorCQkJCQk8dmFsIG89IjEwZjk0ZSIgdj0iMTIxLjM0Ii8+DQorCQkJCQk8dmFsIG89IjExMDc1ZSIgdj0iMTE5LjE1MSIvPg0KKwkJCQkJPHZhbCBvPSIxMTE1NmQiIHY9IjEyMC43OTciLz4NCisJCQkJCTx2YWwgbz0iMTEyMzg4IiB2PSIxMjMuNTE5Ii8+DQorCQkJCQk8dmFsIG89IjExMzE4NyIgdj0iMTIyLjM2NiIvPg0KKwkJCQkJPHZhbCBvPSIxMTNmYjAiIHY9IjEyMy4zODEiLz4NCisJCQkJCTx2YWwgbz0iMTE0ZGE2IiB2PSIxMjMuMjk2Ii8+DQorCQkJCQk8dmFsIG89IjExNWJiNiIgdj0iMTIzLjA0NyIvPg0KKwkJCQkJPHZhbCBvPSIxMTY5YzYiIHY9IjEyMC44NzQiLz4NCisJCQkJCTx2YWwgbz0iMTE3N2Q2IiB2PSIxMTguMDE3Ii8+DQorCQkJCQk8dmFsIG89IjExODVlOCIgdj0iMTE4LjM4OCIvPg0KKwkJCQkJPHZhbCBvPSIxMTkzZjciIHY9IjExNy43NTMiLz4NCisJCQkJCTx2YWwgbz0iMTFhMjA4IiB2PSIxMTkuNzYxIi8+DQorCQkJCQk8dmFsIG89IjExYjAxNyIgdj0iMTIxLjU0NyIvPg0KKwkJCQkJPHZhbCBvPSIxMWJlMmYiIHY9IjEyMi4wMjgiLz4NCisJCQkJCTx2YWwgbz0iMTFjYzM3IiB2PSIxMjIuMTk1Ii8+DQorCQkJCQk8dmFsIG89IjExZGE0NyIgdj0iMTIxLjc4MyIvPg0KKwkJCQkJPHZhbCBvPSIxMWU4NTciIHY9IjEyMC41ODEiLz4NCisJCQkJCTx2YWwgbz0iMTFmNjY3IiB2PSIxMjEuNjg1Ii8+DQorCQkJCQk8dmFsIG89IjEyMDU3OCIgdj0iMTIwLjk3MiIvPg0KKwkJCQkJPHZhbCBvPSIxMjEzODYiIHY9IjExNi44MzYiLz4NCisJCQkJCTx2YWwgbz0iMTIyMTk2IiB2PSIxMTcuNjMzIi8+DQorCQkJCQk8dmFsIG89IjEyMmZhNiIgdj0iMTE4LjgzIi8+DQorCQkJCQk8dmFsIG89IjEyM2RiNSIgdj0iMTIwLjc0NiIvPg0KKwkJCQkJPHZhbCBvPSIxMjRiYzUiIHY9IjEyMi41NDEiLz4NCisJCQkJCTx2YWwgbz0iMTI1OWQ1IiB2PSIxMjAuMjQ5Ii8+DQorCQkJCQk8dmFsIG89IjEyNjdlNCIgdj0iMTIyLjcwOCIvPg0KKwkJCQkJPHZhbCBvPSIxMjc2MDAiIHY9IjEyNC41MzgiLz4NCisJCQkJCTx2YWwgbz0iMTI4MzA1IiB2PSIxMjUuMjg5Ii8+DQorCQkJCQk8dmFsIG89IjEyOTExNSIgdj0iMTI1LjMyNSIvPg0KKwkJCQkJPHZhbCBvPSIxMjlmMjUiIHY9IjEyNS40OSIvPg0KKwkJCQkJPHZhbCBvPSIxMmFkMzUiIHY9IjEyNC42NzIiLz4NCisJCQkJCTx2YWwgbz0iMTJiYjQ1IiB2PSIxMjIuODEzIi8+DQorCQkJCQk8dmFsIG89IjEyYzk1NCIgdj0iMTIxLjU3MyIvPg0KKwkJCQkJPHZhbCBvPSIxMmQ3NjYiIHY9IjEyMC43MTkiLz4NCisJCQkJCTx2YWwgbz0iMTJlNTc1IiB2PSIxMTkuNzA2Ii8+DQorCQkJCQk8dmFsIG89IjEyZjM4NiIgdj0iMTE2LjkzNSIvPg0KKwkJCQkJPHZhbCBvPSIxMzAxOTYiIHY9IjExNy4yNTUiLz4NCisJCQkJCTx2YWwgbz0iMTMwZmE2IiB2PSIxMTguMzY1Ii8+DQorCQkJCQk8dmFsIG89IjEzMWRiNyIgdj0iMTE5LjgyOSIvPg0KKwkJCQkJPHZhbCBvPSIxMzJiYzUiIHY9IjExOS42MDciLz4NCisJCQkJCTx2YWwgbz0iMTMzOWQ0IiB2PSIwLjEwOSIvPg0KKwkJCQkJPHZhbCBvPSIxMzQ3ZTUiIHY9IjAuMTA5Ii8+DQorCQkJCQk8dmFsIG89IjEzNTVmNCIgdj0iMC4xMDgiLz4NCisJCQkJCTx2YWwgbz0iMTM2NDA0IiB2PSIwLjEwNiIvPg0KKwkJCQkJPHZhbCBvPSIxMzcyMTQiIHY9IjAuMTA2Ii8+DQorCQkJCQk8dmFsIG89IjEzODAyNCIgdj0iMC4xMDciLz4NCisJCQkJCTx2YWwgbz0iMTM4ZTMzIiB2PSIwLjEwOCIvPg0KKwkJCQkJPHZhbCBvPSIxMzljNDQiIHY9IjAuMTA5Ii8+DQorCQkJCQk8dmFsIG89IjEzYWE1NCIgdj0iMC4xMDgiLz4NCisJCQkJCTx2YWwgbz0iMTNiODY1IiB2PSIwLjEwOSIvPg0KKwkJCQkJPHZhbCBvPSIxM2M2N2UiIHY9IjAuMTAxIi8+DQorCQkJCQk8dmFsIG89IjEzZDQ4ZSIgdj0iMC4xMDQiLz4NCisJCQkJCTx2YWwgbz0iMTNlMjllIiB2PSIwLjEwNiIvPg0KKwkJCQkJPHZhbCBvPSIxM2YwYWUiIHY9IjAuMTA2Ii8+DQorCQkJCQk8dmFsIG89IjEzZmViZiIgdj0iMC4xMDQiLz4NCisJCQkJCTx2YWwgbz0iMTQwY2NmIiB2PSIwLjEwMiIvPg0KKwkJCQkJPHZhbCBvPSIxNDFhZGYiIHY9IjAuMTA0Ii8+DQorCQkJCQk8dmFsIG89IjE0MjhlZiIgdj0iMC4xMDgiLz4NCisJCQkJCTx2YWwgbz0iMTQzNmZmIiB2PSIwLjEwNyIvPg0KKwkJCQkJPHZhbCBvPSIxNDQ1MGYiIHY9IjAuMTA3Ii8+DQorCQkJCQk8dmFsIG89IjE0NTMxZiIgdj0iMC4xMDciLz4NCisJCQkJCTx2YWwgbz0iMTQ2MTMwIiB2PSIwLjEwOCIvPg0KKwkJCQkJPHZhbCBvPSIxNDZmNDAiIHY9IjAuMTEiLz4NCisJCQkJCTx2YWwgbz0iMTQ3ZDQ0IiB2PSIwLjEwOCIvPg0KKwkJCQkJPHZhbCBvPSIxNDhiNTciIHY9IjAuMTA4Ii8+DQorCQkJCQk8dmFsIG89IjE0OTk2NSIgdj0iMC4xMDgiLz4NCisJCQkJCTx2YWwgbz0iMTRhNzc1IiB2PSIwLjEwNiIvPg0KKwkJCQkJPHZhbCBvPSIxNGI1ODQiIHY9IjAuMTEiLz4NCisJCQkJCTx2YWwgbz0iMTRjMzk3IiB2PSIwLjEwNyIvPg0KKwkJCQkJPHZhbCBvPSIxNGQxYTQiIHY9IjAuMTA3Ii8+DQorCQkJCQk8dmFsIG89IjE0ZGZiNiIgdj0iMC4xMDgiLz4NCisJCQkJCTx2YWwgbz0iMTRlZGM1IiB2PSIwLjExIi8+DQorCQkJCQk8dmFsIG89IjE0ZmJkNSIgdj0iMC4xMTIiLz4NCisJCQkJCTx2YWwgbz0iMTUwOWU1IiB2PSIwLjExMiIvPg0KKwkJCQkJPHZhbCBvPSIxNTE3ZmYiIHY9IjAuMTE1Ii8+DQorCQkJCQk8dmFsIG89IjE1MjYwNSIgdj0iMC4xMDgiLz4NCisJCQkJCTx2YWwgbz0iMTUzNDE1IiB2PSIwLjEwOSIvPg0KKwkJCQkJPHZhbCBvPSIxNTQyMjUiIHY9IjAuMTEiLz4NCisJCQkJCTx2YWwgbz0iMTU1MDM1IiB2PSIwLjEwOSIvPg0KKwkJCQkJPHZhbCBvPSIxNTVlNDUiIHY9IjAuMTA3Ii8+DQorCQkJCQk8dmFsIG89IjE1NmM1NSIgdj0iMC4xMDQiLz4NCisJCQkJCTx2YWwgbz0iMTU3YTY1IiB2PSIwLjEwNyIvPg0KKwkJCQkJPHZhbCBvPSIxNTg4NzUiIHY9IjAuMTA3Ii8+DQorCQkJCQk8dmFsIG89IjE1OTY4NiIgdj0iMC4xMDYiLz4NCisJCQkJCTx2YWwgbz0iMTVhNDk1IiB2PSIwLjEwNyIvPg0KKwkJCQkJPHZhbCBvPSIxNWIyYTYiIHY9IjAuMTA4Ii8+DQorCQkJCQk8dmFsIG89IjE1YzBiNiIgdj0iMC4xMDkiLz4NCisJCQkJCTx2YWwgbz0iMTVjZWM2IiB2PSIwLjEwOSIvPg0KKwkJCQkJPHZhbCBvPSIxNWRjZDUiIHY9IjAuMTA4Ii8+DQorCQkJCQk8dmFsIG89IjE1ZWFlNiIgdj0iMC4xMDgiLz4NCisJCQkJCTx2YWwgbz0iMTVmOGY1IiB2PSIwLjEwNCIvPg0KKwkJCQkJPHZhbCBvPSIxNjA3MDYiIHY9IjAuMTEiLz4NCisJCQkJCTx2YWwgbz0iMTYxNTE3IiB2PSIwLjEwOSIvPg0KKwkJCQkJPHZhbCBvPSIxNjIzMjYiIHY9IjAuMTEiLz4NCisJCQkJCTx2YWwgbz0iMTYzMTM3IiB2PSIwLjExMSIvPg0KKwkJCQkJPHZhbCBvPSIxNjNmNDYiIHY9IjAuMTA5Ii8+DQorCQkJCQk8dmFsIG89IjE2NGQ1NyIgdj0iMC4xMSIvPg0KKwkJCQkJPHZhbCBvPSIxNjViNjciIHY9IjAuMTEyIi8+DQorCQkJCQk8dmFsIG89IjE2Njk4MiIgdj0iMC4xMTEiLz4NCisJCQkJCTx2YWwgbz0iMTY3Nzg2IiB2PSIwLjExMiIvPg0KKwkJCQkJPHZhbCBvPSIxNjg1OTYiIHY9IjAuMTEzIi8+DQorCQkJCQk8dmFsIG89IjE2OTNhNiIgdj0iMC4xMTMiLz4NCisJCQkJCTx2YWwgbz0iMTZhMWI1IiB2PSIwLjExMiIvPg0KKwkJCQkJPHZhbCBvPSIxNmFmYzYiIHY9IjAuMTExIi8+DQorCQkJCQk8dmFsIG89IjE2YmRkNSIgdj0iMC4xMDkiLz4NCisJCQkJCTx2YWwgbz0iMTZjYmU2IiB2PSIwLjEwNyIvPg0KKwkJCQkJPHZhbCBvPSIxNmQ5ZjYiIHY9IjAuMTExIi8+DQorCQkJCQk8dmFsIG89IjE2ZTgwNyIgdj0iMC4xMSIvPg0KKwkJCQkJPHZhbCBvPSIxNmY2MTYiIHY9IjAuMTEiLz4NCisJCQkJCTx2YWwgbz0iMTcwNDI5IiB2PSIwLjExMSIvPg0KKwkJCQkJPHZhbCBvPSIxNzEyMzYiIHY9IjAuMTEyIi8+DQorCQkJCQk8dmFsIG89IjE3MjA0NyIgdj0iMC4xMTIiLz4NCisJCQkJCTx2YWwgbz0iMTcyZTU3IiB2PSIwLjExMSIvPg0KKwkJCQkJPHZhbCBvPSIxNzNjNjciIHY9IjAuMTExIi8+DQorCQkJCQk8dmFsIG89IjE3NGE3NyIgdj0iMC4xMSIvPg0KKwkJCQkJPHZhbCBvPSIxNzU4ODciIHY9IjAuMTA4Ii8+DQorCQkJCQk8dmFsIG89IjE3NjY5NCIgdj0iMTE4LjM1MSIvPg0KKwkJCQkJPHZhbCBvPSIxNzc0YTMiIHY9IjExOS43NjMiLz4NCisJCQkJCTx2YWwgbz0iMTc4MmIzIiB2PSIxMjAuODcyIi8+DQorCQkJCQk8dmFsIG89IjE3OTBjNSIgdj0iMTIxLjQ0MyIvPg0KKwkJCQkJPHZhbCBvPSIxNzllZDQiIHY9IjEyNC41ODciLz4NCisJCQkJCTx2YWwgbz0iMTdhY2U0IiB2PSIxMjcuMTE5Ii8+DQorCQkJCQk8dmFsIG89IjE3YmFmZCIgdj0iMTI4Ljg4NyIvPg0KKwkJCQkJPHZhbCBvPSIxN2M5MGYiIHY9IjEyNy4xMDciLz4NCisJCQkJCTx2YWwgbz0iMTdkNzFlIiB2PSIxMjcuMSIvPg0KKwkJCQkJPHZhbCBvPSIxN2U1MmYiIHY9IjEyNy4zNSIvPg0KKwkJCQkJPHZhbCBvPSIxN2YzM2YiIHY9IjEyNi41NTIiLz4NCisJCQkJCTx2YWwgbz0iMTgwMTRmIiB2PSIxMjQuNzEiLz4NCisJCQkJCTx2YWwgbz0iMTgwZjVmIiB2PSIxMjQuMDc3Ii8+DQorCQkJCQk8dmFsIG89IjE4MWQ2ZSIgdj0iMTI1LjA5OSIvPg0KKwkJCQkJPHZhbCBvPSIxODJiN2YiIHY9IjEyNS4wMjUiLz4NCisJCQkJCTx2YWwgbz0iMTgzOThmIiB2PSIxMjMuOTU0Ii8+DQorCQkJCQk8dmFsIG89IjE4NDdhMSIgdj0iMTIzLjY0MSIvPg0KKwkJCQkJPHZhbCBvPSIxODU1YWYiIHY9IjEyNC4zMDgiLz4NCisJCQkJCTx2YWwgbz0iMTg2M2MwIiB2PSIxMjYuMjAxIi8+DQorCQkJCQk8dmFsIG89IjE4NzFjZiIgdj0iMTI1LjQyNiIvPg0KKwkJCQkJPHZhbCBvPSIxODdmZTAiIHY9IjEyNS4wNDUiLz4NCisJCQkJCTx2YWwgbz0iMTg4ZGVmIiB2PSIxMjQuODY4Ii8+DQorCQkJCQk8dmFsIG89IjE4OWMwMCIgdj0iMTIzLjg1NCIvPg0KKwkJCQkJPHZhbCBvPSIxOGI4MGQiIHY9IjExNy4xNzciLz4NCisJCQkJCTx2YWwgbz0iMThjNjFjIiB2PSIxMjAuOTg1Ii8+DQorCQkJCQk8dmFsIG89IjE4ZDQyYyIgdj0iMTIxLjY4OSIvPg0KKwkJCQkJPHZhbCBvPSIxOGUyM2IiIHY9IjEyMS41MTQiLz4NCisJCQkJCTx2YWwgbz0iMThmMDRiIiB2PSIxMjMuNzYiLz4NCisJCQkJCTx2YWwgbz0iMThmZTVlIiB2PSIxMjUuODQ4Ii8+DQorCQkJCQk8dmFsIG89IjE5MGM3NiIgdj0iMTIzLjE2MiIvPg0KKwkJCQkJPHZhbCBvPSIxOTFhODYiIHY9IjEyNC44NyIvPg0KKwkJCQkJPHZhbCBvPSIxOTI4OTYiIHY9IjEyNi40NTciLz4NCisJCQkJCTx2YWwgbz0iMTkzNmE2IiB2PSIxMjYuNTY1Ii8+DQorCQkJCQk8dmFsIG89IjE5NDRiNyIgdj0iMTI1LjgyMSIvPg0KKwkJCQkJPHZhbCBvPSIxOTUyYzYiIHY9IjEyMy42NTQiLz4NCisJCQkJCTx2YWwgbz0iMTk2MGQ3IiB2PSIxMjAuOTg1Ii8+DQorCQkJCQk8dmFsIG89IjE5NmVlNiIgdj0iMTIxLjAxOSIvPg0KKwkJCQkJPHZhbCBvPSIxOTdjZjgiIHY9IjEyMC43NzEiLz4NCisJCQkJCTx2YWwgbz0iMTk4YjBmIiB2PSIxMjAuMTM5Ii8+DQorCQkJCQk8dmFsIG89IjE5OTkxZiIgdj0iMTIwLjA2NyIvPg0KKwkJCQkJPHZhbCBvPSIxOWI1NDEiIHY9IjEyMi40NTkiLz4NCisJCQkJCTx2YWwgbz0iMTljMzRkIiB2PSIxMjEuNjAzIi8+DQorCQkJCQk8dmFsIG89IjE5ZDE1ZSIgdj0iMTIwLjg1NiIvPg0KKwkJCQkJPHZhbCBvPSIxOWRmODAiIHY9IjEyMC44ODIiLz4NCisJCQkJCTx2YWwgbz0iMTllZDkwIiB2PSIxMjAuMDQ5Ii8+DQorCQkJCQk8dmFsIG89IjE5ZWViZSIgdj0iMTE5LjkwMyIvPg0KKwkJCQkJPHZhbCBvPSIxOWZiOGUiIHY9IjExNi4wMTIiLz4NCisJCQkJCTx2YWwgbz0iMWEwOWEwIiB2PSIxMTkuMjgzIi8+DQorCQkJCQk8dmFsIG89IjFhMTdhZSIgdj0iMTIwLjMwMyIvPg0KKwkJCQkJPHZhbCBvPSIxYTI1YmUiIHY9IjEyMS43MjgiLz4NCisJCQkJCTx2YWwgbz0iMWEzM2NkIiB2PSIxMjEuNTE2Ii8+DQorCQkJCQk8dmFsIG89IjFhNDFkZCIgdj0iMTIyLjg0OSIvPg0KKwkJCQkJPHZhbCBvPSIxYTRmZWQiIHY9IjEyNi4wOTMiLz4NCisJCQkJCTx2YWwgbz0iMWE1ZTA4IiB2PSIxMjYuNzI1Ii8+DQorCQkJCQk8dmFsIG89IjFhNmMwNSIgdj0iMTI0Ljg4MyIvPg0KKwkJCQkJPHZhbCBvPSIxYTdhMTUiIHY9IjEyNS45MzEiLz4NCisJCQkJCTx2YWwgbz0iMWE4ODI2IiB2PSIxMjYuMDk2Ii8+DQorCQkJCQk8dmFsIG89IjFhOTYzNyIgdj0iMTI0LjkwNiIvPg0KKwkJCQkJPHZhbCBvPSIxYWE0NDUiIHY9IjEyMy42NTQiLz4NCisJCQkJCTx2YWwgbz0iMWFiMjU1IiB2PSIxMjEuNDkzIi8+DQorCQkJCQk8dmFsIG89IjFhYzA2NSIgdj0iMTIzLjg5NyIvPg0KKwkJCQkJPHZhbCBvPSIxYWNlNzUiIHY9IjEyMy43NTYiLz4NCisJCQkJCTx2YWwgbz0iMWFkYzg3IiB2PSIxMjIuMzY5Ii8+DQorCQkJCQk8dmFsIG89IjFhZWE5NiIgdj0iMTIxLjkzNCIvPg0KKwkJCQkJPHZhbCBvPSIxYWY4YTciIHY9IjEyMi4zMDYiLz4NCisJCQkJCTx2YWwgbz0iMWIwNmI3IiB2PSIxMjQuMDQxIi8+DQorCQkJCQk8dmFsIG89IjFiMTRjNiIgdj0iMTIzLjY5OCIvPg0KKwkJCQkJPHZhbCBvPSIxYzc0NjAiIHY9IjEyMC4wMjkiLz4NCisJCQkJCTx2YWwgbz0iMWM4MjcwIiB2PSIxMjAuMDMzIi8+DQorCQkJCQk8dmFsIG89IjFjOTA3ZSIgdj0iMTE5LjMxNCIvPg0KKwkJCQkJPHZhbCBvPSIxYzllOGYiIHY9IjEyMC40NzkiLz4NCisJCQkJCTx2YWwgbz0iMWNhY2EyIiB2PSIxMjEuOTEiLz4NCisJCQkJCTx2YWwgbz0iMWNiYWIxIiB2PSIxMjIuNDg1Ii8+DQorCQkJCQk8dmFsIG89IjFjYzhjMSIgdj0iMTE4LjU2NCIvPg0KKwkJCQkJPHZhbCBvPSIxY2Q2ZDAiIHY9IjExOS4zNjciLz4NCisJCQkJCTx2YWwgbz0iMWNlNGRlIiB2PSIxMjAuODA4Ii8+DQorCQkJCQk8dmFsIG89IjFjZjJmMCIgdj0iMTIzLjEwNSIvPg0KKwkJCQkJPHZhbCBvPSIxZDAxMDkiIHY9IjEyNS4wMjEiLz4NCisJCQkJCTx2YWwgbz0iMWQwZjA2IiB2PSIxMjMuMjc0Ii8+DQorCQkJCQk8dmFsIG89IjFkMWQxNSIgdj0iMTIzLjkyIi8+DQorCQkJCQk8dmFsIG89IjFkMmIyNSIgdj0iMTIzLjg3NiIvPg0KKwkJCQkJPHZhbCBvPSIxZDM5MzUiIHY9IjEyMi44ODMiLz4NCisJCQkJCTx2YWwgbz0iMWQ0NzQ1IiB2PSIxMjIuMDcyIi8+DQorCQkJCQk8dmFsIG89IjFkNTU1NSIgdj0iMTIxLjU0NCIvPg0KKwkJCQkJPHZhbCBvPSIxZDYzNjYiIHY9IjEyMy4yNyIvPg0KKwkJCQkJPHZhbCBvPSIxZDcxNzUiIHY9IjEyMy41MTMiLz4NCisJCQkJCTx2YWwgbz0iMWQ3Zjg2IiB2PSIxMjIuNjA0Ii8+DQorCQkJCQk8dmFsIG89IjFkOGQ5NSIgdj0iMTIxLjI4MSIvPg0KKwkJCQkJPHZhbCBvPSIxZDliYTYiIHY9IjEyMS43MTYiLz4NCisJCQkJCTx2YWwgbz0iMWRhOWI2IiB2PSIxMjIuNzE0Ii8+DQorCQkJCQk8dmFsIG89IjFkYjdjNyIgdj0iMTIzLjEyOSIvPg0KKwkJCQkJPHZhbCBvPSIxZGM1ZDUiIHY9IjEyMy40MzEiLz4NCisJCQkJCTx2YWwgbz0iMWRkM2U2IiB2PSIxMjIuOTg3Ii8+DQorCQkJCQk8dmFsIG89IjFkZTFmNSIgdj0iMTE5LjI2MiIvPg0KKwkJCQkJPHZhbCBvPSIxZGYwMDYiIHY9IjExOC4wODciLz4NCisJCQkJCTx2YWwgbz0iMWRmZTE2IiB2PSIxMTYuNTMyIi8+DQorCQkJCQk8dmFsIG89IjFlMGMyNiIgdj0iMTE4LjYxOCIvPg0KKwkJCQkJPHZhbCBvPSIxZTFhMzYiIHY9IjExOS43MDYiLz4NCisJCQkJCTx2YWwgbz0iMWUyODQ3IiB2PSIxMjAuODk5Ii8+DQorCQkJCQk8dmFsIG89IjFlMzY1OSIgdj0iMTIwLjcxOCIvPg0KKwkJCQkJPHZhbCBvPSIxZTQ0NjciIHY9IjEyMS42MjQiLz4NCisJCQkJCTx2YWwgbz0iMWU1MjgxIiB2PSIxMTcuOTI1Ii8+DQorCQkJCQk8dmFsIG89IjFlNjA4NiIgdj0iMTIwLjkyOCIvPg0KKwkJCQkJPHZhbCBvPSIxZTZlOTYiIHY9IjEyMi4zNCIvPg0KKwkJCQkJPHZhbCBvPSIxZTdjYTYiIHY9IjEyMi45NzIiLz4NCisJCQkJCTx2YWwgbz0iMWU4YWI1IiB2PSIxMjMuMDUiLz4NCisJCQkJCTx2YWwgbz0iMWU5OGM2IiB2PSIxMjIuNDQiLz4NCisJCQkJCTx2YWwgbz0iMWVhNmQ1IiB2PSIxMjAuNzM1Ii8+DQorCQkJCQk8dmFsIG89IjFlYjRlNiIgdj0iMTIwLjcxMSIvPg0KKwkJCQkJPHZhbCBvPSIxZWMyZjYiIHY9IjEyMy42ODgiLz4NCisJCQkJCTx2YWwgbz0iMWVkMTA2IiB2PSIxMjIuODUzIi8+DQorCQkJCQk8dmFsIG89IjFlZGYxNiIgdj0iMTIyLjc1NCIvPg0KKwkJCQkJPHZhbCBvPSIxZWVkMjYiIHY9IjEyMi45NzUiLz4NCisJCQkJCTx2YWwgbz0iMWVmYjM2IiB2PSIxMjMuNDkiLz4NCisJCQkJCTx2YWwgbz0iMWYwOTQ2IiB2PSIxMjMuMjc4Ii8+DQorCQkJCQk8dmFsIG89IjFmMTc1NiIgdj0iMTIxLjc3NiIvPg0KKwkJCQkJPHZhbCBvPSIxZjI1NjYiIHY9IjEyMS40NTgiLz4NCisJCQkJCTx2YWwgbz0iMWYzMzc2IiB2PSIxMjAuMTA5Ii8+DQorCQkJCQk8dmFsIG89IjFmNDE4NyIgdj0iMTE2LjgzMiIvPg0KKwkJCQkJPHZhbCBvPSIxZjRmOTYiIHY9IjExOS45NDgiLz4NCisJCQkJCTx2YWwgbz0iMWY1ZGE3IiB2PSIxMjAuMDIyIi8+DQorCQkJCQk8dmFsIG89IjFmNmJiNiIgdj0iMTIwLjg4NCIvPg0KKwkJCQkJPHZhbCBvPSIxZjc5YzciIHY9IjExOS42MTgiLz4NCisJCQkJCTx2YWwgbz0iMWY4N2Q2IiB2PSIxMjIuODExIi8+DQorCQkJCQk8dmFsIG89IjFmOTVlNyIgdj0iMTIzLjk5NyIvPg0KKwkJCQkJPHZhbCBvPSIxZmE0MDEiIHY9IjEyNi42NTQiLz4NCisJCQkJCTx2YWwgbz0iMWZiMjA0IiB2PSIxMjUuNTc0Ii8+DQorCQkJCQk8dmFsIG89IjFmYzAxNiIgdj0iMTI2LjQ5NSIvPg0KKwkJCQkJPHZhbCBvPSIxZmNlMjUiIHY9IjEyNi4wMjEiLz4NCisJCQkJCTx2YWwgbz0iMWZkYzM1IiB2PSIxMjUuNTIxIi8+DQorCQkJCQk8dmFsIG89IjFmZWE0NSIgdj0iMTIzLjEwNCIvPg0KKwkJCQkJPHZhbCBvPSIxZmY4NTUiIHY9IjEyMS4wNzMiLz4NCisJCQkJCTx2YWwgbz0iMjAwNjY1IiB2PSIxMTcuOTk3Ii8+DQorCQkJCQk8dmFsIG89IjIwMTQ3NSIgdj0iMTE5LjM3NiIvPg0KKwkJCQkJPHZhbCBvPSIyMDIyODYiIHY9IjExOS4zMDIiLz4NCisJCQkJCTx2YWwgbz0iMjAzMDk1IiB2PSIxMjAuMjQiLz4NCisJCQkJCTx2YWwgbz0iMjAzZWE1IiB2PSIxMjAuNDk3Ii8+DQorCQkJCQk8dmFsIG89IjIwNGNiNiIgdj0iMTIzLjI3NiIvPg0KKwkJCQkJPHZhbCBvPSIyMDVhYzYiIHY9IjEyMS4yODciLz4NCisJCQkJCTx2YWwgbz0iMjA2OGQ2IiB2PSIxMjAuNDkyIi8+DQorCQkJCQk8dmFsIG89IjIwNzZlNiIgdj0iMTE5LjY0MyIvPg0KKwkJCQkJPHZhbCBvPSIyMDg0ZjYiIHY9IjExNy42MjYiLz4NCisJCQkJCTx2YWwgbz0iMjA5MzA2IiB2PSIxMjEuOSIvPg0KKwkJCQkJPHZhbCBvPSIyMGExMTYiIHY9IjEyMC44NjEiLz4NCisJCQkJCTx2YWwgbz0iMjBhZjI2IiB2PSIxMjAuNDkzIi8+DQorCQkJCQk8dmFsIG89IjIwYmQzNyIgdj0iMTIxLjUyNiIvPg0KKwkJCQkJPHZhbCBvPSIyMGNiNDYiIHY9IjExOS40NiIvPg0KKwkJCQkJPHZhbCBvPSIyMGQ5NTciIHY9IjEyMC4yODQiLz4NCisJCQkJCTx2YWwgbz0iMjBlNzY3IiB2PSIxMjEuNzEzIi8+DQorCQkJCQk8dmFsIG89IjIwZjU4MSIgdj0iMTI0LjIwMyIvPg0KKwkJCQkJPHZhbCBvPSIyMTAzODYiIHY9IjEyNi41ODciLz4NCisJCQkJCTx2YWwgbz0iMjExMTk0IiB2PSIxMjQuNjI3Ii8+DQorCQkJCQk8dmFsIG89IjIxMWZhNSIgdj0iMTI0LjUyNiIvPg0KKwkJCQkJPHZhbCBvPSIyMTJkYjUiIHY9IjEyMy44MjEiLz4NCisJCQkJCTx2YWwgbz0iMjEzYmM1IiB2PSIxMjIuMzU3Ii8+DQorCQkJCQk8dmFsIG89IjIxNDlkNiIgdj0iMTE4LjY0MiIvPg0KKwkJCQkJPHZhbCBvPSIyMTU3ZTUiIHY9IjExNi42NTEiLz4NCisJCQkJCTx2YWwgbz0iMjE2NWY2IiB2PSIxMjIuNDM5Ii8+DQorCQkJCQk8dmFsIG89IjIxNzQwNiIgdj0iMTIwLjIzMiIvPg0KKwkJCQkJPHZhbCBvPSIyMTgyMTciIHY9IjExOS4zMjIiLz4NCisJCQkJCTx2YWwgbz0iMjE5MDI2IiB2PSIxMjAuMjM2Ii8+DQorCQkJCQk8dmFsIG89IjIxOWUzOSIgdj0iMTIwLjM0NiIvPg0KKwkJCQkJPHZhbCBvPSIyMWFjNDYiIHY9IjExOS4xNDgiLz4NCisJCQkJCTx2YWwgbz0iMjFiYTU3IiB2PSIxMTguOTA3Ii8+DQorCQkJCQk8dmFsIG89IjIxYzg2NyIgdj0iMTE3Ljg3NCIvPg0KKwkJCQkJPHZhbCBvPSIyMWQ2NzciIHY9IjEyMi41ODQiLz4NCisJCQkJCTx2YWwgbz0iMjFlNDg3IiB2PSIxMjAuMjUyIi8+DQorCQkJCQk8dmFsIG89IjIxZjI5NiIgdj0iMTIwLjQ2OSIvPg0KKwkJCQkJPHZhbCBvPSIyMjAwYTYiIHY9IjEyMS4zMDMiLz4NCisJCQkJCTx2YWwgbz0iMjIwZWI3IiB2PSIxMjIuMTgzIi8+DQorCQkJCQk8dmFsIG89IjIyMWNjNiIgdj0iMTE4Ljc0NyIvPg0KKwkJCQkJPHZhbCBvPSIyMjJhZDciIHY9IjEyMC44MSIvPg0KKwkJCQkJPHZhbCBvPSIyMjM4ZTciIHY9IjEyMy45MzciLz4NCisJCQkJCTx2YWwgbz0iMjI0NzAxIiB2PSIxMjYuNjg3Ii8+DQorCQkJCQk8dmFsIG89IjIyNTUwNSIgdj0iMTE5LjU1MyIvPg0KKwkJCQkJPHZhbCBvPSIyMjYzMTUiIHY9IjExOS43NTciLz4NCisJCQkJCTx2YWwgbz0iMjI3MTI1IiB2PSIxMTkuNzUzIi8+DQorCQkJCQk8dmFsIG89IjIyN2YzNSIgdj0iMTE3LjU1NyIvPg0KKwkJCQkJPHZhbCBvPSIyMjhkNDUiIHY9IjExNi4yNjIiLz4NCisJCQkJCTx2YWwgbz0iMjI5YjU0IiB2PSIxMjIuNDY5Ii8+DQorCQkJCQk8dmFsIG89IjIyYTk2NSIgdj0iMTE5Ljc2NSIvPg0KKwkJCQkJPHZhbCBvPSIyMmI3NzYiIHY9IjExOS43OCIvPg0KKwkJCQkJPHZhbCBvPSIyMmM1ODYiIHY9IjExOS4wMDYiLz4NCisJCQkJCTx2YWwgbz0iMjJkMzk3IiB2PSIxMTguNjk2Ii8+DQorCQkJCQk8dmFsIG89IjIyZTFhNiIgdj0iMTE5LjAxOCIvPg0KKwkJCQkJPHZhbCBvPSIyMmVmYjYiIHY9IjEyMC43NjUiLz4NCisJCQkJCTx2YWwgbz0iMjJmZGM3IiB2PSIxMjAuNDEiLz4NCisJCQkJCTx2YWwgbz0iMjMwYmQ3IiB2PSIxMTkuNjA4Ii8+DQorCQkJCQk8dmFsIG89IjIzMTllNiIgdj0iMTE5LjI2OCIvPg0KKwkJCQkJPHZhbCBvPSIyMzI3ZjYiIHY9IjExOC4yMjEiLz4NCisJCQkJCTx2YWwgbz0iMjMzNjFiIiB2PSIxMTkuMjM0Ii8+DQorCQkJCQk8dmFsIG89IjIzNDQxNiIgdj0iMTE4LjE5OSIvPg0KKwkJCQkJPHZhbCBvPSIyMzUyMjYiIHY9IjExOS41MjQiLz4NCisJCQkJCTx2YWwgbz0iMjM2MDM3IiB2PSIxMjAuNzYiLz4NCisJCQkJCTx2YWwgbz0iMjM2ZTQ2IiB2PSIxMTguNDQ2Ii8+DQorCQkJCQk8dmFsIG89IjIzN2M1NyIgdj0iMTE5Ljg2Ii8+DQorCQkJCQk8dmFsIG89IjIzOGE2NiIgdj0iMTIxLjQ1OCIvPg0KKwkJCQkJPHZhbCBvPSIyMzk4ODEiIHY9IjEyMC45MzciLz4NCisJCQkJCTx2YWwgbz0iMjNhNjg1IiB2PSIxMjIuMzUzIi8+DQorCQkJCQk8dmFsIG89IjIzYjQ5NSIgdj0iMTIzLjA4NSIvPg0KKwkJCQkJPHZhbCBvPSIyM2MyYTQiIHY9IjEyMy4xNDUiLz4NCisJCQkJCTx2YWwgbz0iMjNkMGI1IiB2PSIxMjIuMjc3Ii8+DQorCQkJCQk8dmFsIG89IjIzZGVjNCIgdj0iMTIxLjE1MyIvPg0KKwkJCQkJPHZhbCBvPSIyM2VjZDUiIHY9IjExOS4zMSIvPg0KKwkJCQkJPHZhbCBvPSIyM2ZhZTQiIHY9IjEyMC42MTYiLz4NCisJCQkJCTx2YWwgbz0iMjQwOGY2IiB2PSIxMTguNDgyIi8+DQorCQkJCQk8dmFsIG89IjI0MTcwNiIgdj0iMTE3Ljc4OSIvPg0KKwkJCQkJPHZhbCBvPSIyNDI1MTgiIHY9IjExOC4xNzgiLz4NCisJCQkJCTx2YWwgbz0iMjQzMzI1IiB2PSIxMTguNjUiLz4NCisJCQkJCTx2YWwgbz0iMjQ0MTM3IiB2PSIxMTkuODkzIi8+DQorCQkJCQk8dmFsIG89IjI0NGY0NiIgdj0iMTE5LjE3MiIvPg0KKwkJCQkJPHZhbCBvPSIyNDZiNjYiIHY9IjExOC44OCIvPg0KKwkJCQkJPHZhbCBvPSIyNDc5NzYiIHY9IjExOC4wMyIvPg0KKwkJCQkJPHZhbCBvPSIyNDg3ODYiIHY9IjExNS4yIi8+DQorCQkJCQk8dmFsIG89IjI0OTU3ZSIgdj0iMTE4LjA5MSIvPg0KKwkJCQkJPHZhbCBvPSIyNGEzOGYiIHY9IjExOS42MDEiLz4NCisJCQkJCTx2YWwgbz0iMjRiMTljIiB2PSIxMjAuODQ0Ii8+DQorCQkJCQk8dmFsIG89IjI0YmZhYyIgdj0iMTIwLjA5NCIvPg0KKwkJCQkJPHZhbCBvPSIyNGNkYmMiIHY9IjEyMy44NTEiLz4NCisJCQkJCTx2YWwgbz0iMjRkYmNkIiB2PSIxMjMuNDk5Ii8+DQorCQkJCQk8dmFsIG89IjI0ZTllNSIgdj0iMTI0LjgwNiIvPg0KKwkJCQkJPHZhbCBvPSIyNGY4MDgiIHY9IjEyNC4yNyIvPg0KKwkJCQkJPHZhbCBvPSIyNTA2MTYiIHY9IjEyNC45ODUiLz4NCisJCQkJCTx2YWwgbz0iMjUxNDI2IiB2PSIxMjUuMDIiLz4NCisJCQkJCTx2YWwgbz0iMjUyMjM2IiB2PSIxMjMuNDgzIi8+DQorCQkJCQk8dmFsIG89IjI1MzA0NyIgdj0iMTIyLjQzNiIvPg0KKwkJCQkJPHZhbCBvPSIyNTNlNTYiIHY9IjEyMC4wNDEiLz4NCisJCQkJCTx2YWwgbz0iMjU0YzY3IiB2PSIxMTkuNDk2Ii8+DQorCQkJCQk8dmFsIG89IjI1NWE3NiIgdj0iMTE5LjM2MiIvPg0KKwkJCQkJPHZhbCBvPSIyNTY4ODciIHY9IjExNy43NjciLz4NCisJCQkJCTx2YWwgbz0iMjU3Njk3IiB2PSIxMTguNjE2Ii8+DQorCQkJCQk8dmFsIG89IjI1ODRhOCIgdj0iMTE3LjI3NCIvPg0KKwkJCQkJPHZhbCBvPSIyNTkyYjYiIHY9IjExOC45NzUiLz4NCisJCQkJCTx2YWwgbz0iMjVhMGM3IiB2PSIxMTkuNzkiLz4NCisJCQkJCTx2YWwgbz0iMjVhZWQ3IiB2PSIxMTkuMzMxIi8+DQorCQkJCQk8dmFsIG89IjI1YmNlNyIgdj0iMTE5LjE5NCIvPg0KKwkJCQkJPHZhbCBvPSIyNWNhZjgiIHY9IjExOC42MzciLz4NCisJCQkJCTx2YWwgbz0iMjVkOTA3IiB2PSIxMjAuNTM1Ii8+DQorCQkJCQk8dmFsIG89IjI1ZTcxOCIgdj0iMTE5LjgiLz4NCisJCQkJCTx2YWwgbz0iMjVmNTI3IiB2PSIxMjAuNDAzIi8+DQorCQkJCQk8dmFsIG89IjI2MDMzOCIgdj0iMTIxLjA1NCIvPg0KKwkJCQkJPHZhbCBvPSIyNjExNDkiIHY9IjExOS40MTMiLz4NCisJCQkJCTx2YWwgbz0iMjYxZjU5IiB2PSIxMjAuMzgiLz4NCisJCQkJCTx2YWwgbz0iMjYyZDY4IiB2PSIxMjMuMjAzIi8+DQorCQkJCQk8dmFsIG89IjI2M2I4MyIgdj0iMTIxLjE0MyIvPg0KKwkJCQkJPHZhbCBvPSIyNjQ5ODYiIHY9IjEyMi45NzYiLz4NCisJCQkJCTx2YWwgbz0iMjY1Nzk1IiB2PSIxMjMuNjk3Ii8+DQorCQkJCQk8dmFsIG89IjI2NjVhNiIgdj0iMTI0LjQ3NiIvPg0KKwkJCQkJPHZhbCBvPSIyNjczYjUiIHY9IjEyMy41OTIiLz4NCisJCQkJCTx2YWwgbz0iMjY4MWM2IiB2PSIxMjMuMTc3Ii8+DQorCQkJCQk8dmFsIG89IjI2OGZkNSIgdj0iMTIxLjg1MyIvPg0KKwkJCQkJPHZhbCBvPSIyNjlkZTYiIHY9IjEyMS4yOTgiLz4NCisJCQkJCTx2YWwgbz0iMjZhYmY2IiB2PSIxMjAuNTkzIi8+DQorCQkJCQk8dmFsIG89IjI2YmEwNiIgdj0iMTE4Ljc2MyIvPg0KKwkJCQkJPHZhbCBvPSIyNmM4MTciIHY9IjExOC4yNzgiLz4NCisJCQkJCTx2YWwgbz0iMjZkNjJiIiB2PSIxMTguNTk2Ii8+DQorCQkJCQk8dmFsIG89IjI2ZTQzNiIgdj0iMTE5Ljk4NCIvPg0KKwkJCQkJPHZhbCBvPSIyNmYyNDciIHY9IjExOS41MjMiLz4NCisJCQkJCTx2YWwgbz0iMjcwMDU3IiB2PSIxMTkuNTc0Ii8+DQorCQkJCQk8dmFsIG89IjI3MGU2NyIgdj0iMTE5LjAxMyIvPg0KKwkJCQkJPHZhbCBvPSIyNzFjNzciIHY9IjExOS43MjIiLz4NCisJCQkJCTx2YWwgbz0iMjcyYTg3IiB2PSIxMjAuODc1Ii8+DQorCQkJCQk8dmFsIG89IjI3Mzg5NyIgdj0iMTIwLjY2OCIvPg0KKwkJCQkJPHZhbCBvPSIyNzQ2YTgiIHY9IjEyMS40NTEiLz4NCisJCQkJCTx2YWwgbz0iMjc1NGI5IiB2PSIxMjEuODM4Ii8+DQorCQkJCQk8dmFsIG89IjI3NjJjNyIgdj0iMTE5LjA1MyIvPg0KKwkJCQkJPHZhbCBvPSIyNzcwZDgiIHY9IjEyMS4wMyIvPg0KKwkJCQkJPHZhbCBvPSIyNzdlZTciIHY9IjEyMy41NDQiLz4NCisJCQkJPC9wYXI+DQorCQkJCTxwYXIgbWVtaW5kPSI5ODA4IiBoPSIzZGMxYThkZSI+DQorCQkJCQk8dmFsIG89IjAiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iZTA4IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjFjMzIiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMmEzYyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIzODM1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjQ2NDUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iNTQ1NSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI2MjY1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjcwNzUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iN2U4NSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI4Yzk2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjlhYTUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iYThiNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJiNmM1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImM0ZDciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iZDMwYiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJlMGY2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImVmMDYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iZmQxNyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxMGIyNyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxMTkzNyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxMjc0NiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxMzU1NiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNDM2NiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNTE4MSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNWY4NSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNmQ5NSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxN2JhNCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxODliNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxOTdjNCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxYTVkNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxYjNlNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxYzFmNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxZDAwNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxZGUxNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxZWMyNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxZmEzNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyMDg0NSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyMTY1NiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyMjQ2NSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyMzI3NiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyNDA4NiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyNGU5OSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyNWNhNyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyNmFiNyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyNzhjNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyODZkNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyOTRlNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyYTMwMSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyYjEwNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyYmYxNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyY2QyNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyZGIzNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyZTk0NiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyZjc1NSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIzMDU2NiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIzMTM3NSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIzMjE5ZSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIzMmY5NiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIzM2RhNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIzNGJiNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIzNTlkZSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIzNjdkNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIzNzVlNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIzODQwZSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIzOTIxZSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIzYTAxNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIzYWUyNyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIzYmMzNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIzY2E0NyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIzZDg1NiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIzZTY2NyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIzZjQ4MSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI0MDI4NSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI0MTA5NSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI0MWVhNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI0MmNiNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI0M2FjNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI0NDhkNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI0NTZlNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI0NjRmNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI0ODBmZiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI0OGYwZSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI0OWQxZCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI0YWI0NiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI0Yjk1NSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI0Yzc2OSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI0ZDU3NyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI0ZTM4NyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI0ZjE5NiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI0ZmZhNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI1MGRkMCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI1MWJjNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI1MjlkNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI1MzdlNyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI1NDYwMCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI1NTQwNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI1NjIxNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI1NzAyNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI1N2UzNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI1OGM0NiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI1OWE3MCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI1YTg2NyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI1YjY3NiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI1YzQ4NyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI1ZDI5NiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI1ZTBhOSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI1ZWViOCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI1ZmNjNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI2MGFkNyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI2MThlNyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI2MjZmNyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI2MzUwNyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI2NDMxNyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI2NTEyNyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI2NWYzNyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI2NmQ0NiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI2N2I1NyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI2ODk2NyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI2OTc4MiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI2YTU4NiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI2YjM5NSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI2YzFhNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI2Y2ZiNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI2ZGRjNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI2ZWJkNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI2ZjllNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI3MDdmNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI3MTYwNyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI3MjQxNyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI3MzIyNyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI3NDAzNyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI3NGU0NyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI3NWM1NyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI3NmE2MyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI3Nzg3MyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI3ODY4MCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI3OTQ4ZiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI3YTI5ZiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI3YjBhZiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI3YmViZiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI3Y2NjZiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI3ZGFkZiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI3ZThmYSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI3ZjcwYSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI4MDUxYSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI4MTMyYSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI4MjEzYSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI4MmY0YSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI4M2Q1YSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI4NGI2YSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI4NTk3YSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI4Njc4YiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI4NzU5YiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI4ODNhYyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI4OTFiYiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI4OWZjYSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI4YWRkYSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI4YmJlYiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI4YzlmYyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI4ZDgwYiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI4ZTYxYSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI4ZjQyYSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI5MDIzYSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI5MTA0YSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI5MWU1YSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI5MmM2YSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI5M2E4NCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI5NDg4NSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI5NTY5NCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI5NjRhNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI5NzJiNCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI5ODBjNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI5OGVkNCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI5OWNlNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI5YWFmNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI5YjkwNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI5YzcxNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI5ZDUyNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI5ZTMzNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI5ZjE0NSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI5ZmY1NiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJhMGQ2NSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJhMWI3NyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJhMjk4NiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJhMzc5NSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJhNDVhNyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJhNTNiNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJhNjFjNyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJhNmZkNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJhN2UwMCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJhOGMwMCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJhOWEwNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJhYTgxNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJhYjYyNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJhYzQzNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJhZDI0NSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJhZTA1NSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJhZWU2NSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJhZmM3NSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJiMGE4NSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJiMjZhNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJiMzRiNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJiNDJjNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJiNTBkNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJiNWVlNyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJiNmNmNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJiN2IwNyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJiODkxNyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJiOTcyOCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJiYTUzNyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJiYjM0NyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJiYzE1NyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJiY2Y2NyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJiZGQ4MSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJiZWI4NiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJiZjk5NSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJjMDdhNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJjMTViNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJjMjNjNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJjMzFkNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJjM2ZlNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJjNGRmNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJjNWMwNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJjNmExNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJjNzgyNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJjODYzNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJjOTQ0NiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJjYTI1NiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJjYjA2NiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJjYmU3NiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJjY2M4NyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJjZGE5NiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJjZThhOCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJjZjZiNyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJkMDRjOCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJkMTJkNyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJkMjBlNyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJkMmYwMiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJkM2QwNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJkNGIxNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJkNTkyNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJkNjczNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJkNzU0NiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJkODM1NSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJkOTE2NiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJkOWY3NSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJkYWQ4NyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJkYmI5NyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJkYzlhOCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJkZDdiNyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJkZTVjNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJkZjNkNyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJlMDFkNyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJlMGZlNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJlMWRmNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJlMmMwNCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJlM2ExNCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJlNDgyNCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJlNTYzNCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJlNjQ0NCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJlNzI1NSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJlODA2ZiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJlOGU3ZiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJlOWM4ZSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJlYWE5ZiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJlYjhhZSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJlYzZiZiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJlZDRjZSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJlZTJkZiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJlZjBlZiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJlZmYwMSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJmMGQxMCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJmMWIyMCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJmMjkzMCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJmMzc0MCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJmNDU1MSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJmNTM2MSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJmNjE3MiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJmNmY4MCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJmN2Q5MSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJmOGJhMSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJmOTliMSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJmYTdjMCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJmYjVkMSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJmYzNlMCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJmZDFmYiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJmZTAwYiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJmZWUxYyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJmZmMyYyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxMDBhM2IiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTAxODRjIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjEwMjY1YiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxMDM0NmMiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTA0MjdiIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjEwNTA4ZCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxMDVlOWQiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTA2Y2FkIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjEwN2FiZCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxMDg4Y2QiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTA5NmRlIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjEwYTRlZCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxMGIyZmUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTBjMTBkIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjEwY2YxZSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxMGRkMmUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTBlYjY2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjEwZjk0ZSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxMTA3NWUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTExNTZkIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjExMjM4OCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxMTMxODciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTEzZmIwIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjExNGRhNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxMTViYjYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTE2OWM2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjExNzdkNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxMTg1ZTgiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTE5M2Y3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjExYTIwOCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxMWIwMTciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTFiZTJmIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjExY2MzNyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxMWRhNDciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTFlODU3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjExZjY2NyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxMjA1NzgiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTIxMzg2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjEyMjE5NiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxMjJmYTYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTIzZGI1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjEyNGJjNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxMjU5ZDUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTI2N2U0IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjEyNzYwMCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxMjgzMDUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTI5MTE1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjEyOWYyNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxMmFkMzUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTJiYjQ1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjEyYzk1NCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxMmQ3NjYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTJlNTc1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjEyZjM4NiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxMzAxOTYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTMwZmE2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjEzMWRiNyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxMzJiYzUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTMzOWQ0IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjEzNDdlNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxMzU1ZjQiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTM2NDA0IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjEzNzIxNCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxMzgwMjQiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTM4ZTMzIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjEzOWM0NCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxM2FhNTQiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTNiODY1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjEzYzY3ZSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxM2Q0OGUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTNlMjllIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjEzZjBhZSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxM2ZlYmYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTQwY2NmIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE0MWFkZiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNDI4ZWYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTQzNmZmIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE0NDUwZiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNDUzMWYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTQ2MTMwIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE0NmY0MCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNDdkNDQiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTQ4YjU3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE0OTk2NSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNGE3NzUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTRiNTg0IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE0YzM5NyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNGQxYTQiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTRkZmI2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE0ZWRjNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNGZiZDUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTUwOWU1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE1MTdmZiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNTI2MDUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTUzNDE1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE1NDIyNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNTUwMzUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTU1ZTQ1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE1NmM1NSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNTdhNjUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTU4ODc1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE1OTY4NiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNWE0OTUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTViMmE2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE1YzBiNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNWNlYzYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTVkY2Q1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE1ZWFlNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNWY4ZjUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTYwNzA2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE2MTUxNyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNjIzMjYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTYzMTM3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE2M2Y0NiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNjRkNTciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTY1YjY3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE2Njk4MiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNjc3ODYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTY4NTk2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE2OTNhNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNmExYjUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTZhZmM2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE2YmRkNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNmNiZTYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTZkOWY2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE2ZTgwNyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNmY2MTYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTcwNDI5IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE3MTIzNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNzIwNDciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTcyZTU3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE3M2M2NyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNzRhNzciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTc1ODg3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE3NjY5NCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNzc0YTMiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTc4MmIzIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE3OTBjNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNzllZDQiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTdhY2U0IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE3YmFmZCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxN2M5MGYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTdkNzFlIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE3ZTUyZiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxN2YzM2YiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTgwMTRmIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE4MGY1ZiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxODFkNmUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTgyYjdmIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE4Mzk4ZiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxODQ3YTEiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTg1NWFmIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE4NjNjMCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxODcxY2YiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTg3ZmUwIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE4OGRlZiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxODljMDAiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMThiODBkIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE4YzYxYyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxOGQ0MmMiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMThlMjNiIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE4ZjA0YiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxOGZlNWUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTkwYzc2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE5MWE4NiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxOTI4OTYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTkzNmE2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE5NDRiNyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxOTUyYzYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTk2MGQ3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE5NmVlNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxOTdjZjgiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTk4YjBmIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE5OTkxZiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxOWI1NDEiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTljMzRkIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE5ZDE1ZSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxOWRmODAiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTllZDkwIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE5ZWViZSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxOWZiOGUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMWEwOWEwIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjFhMTdhZSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxYTI1YmUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMWEzM2NkIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjFhNDFkZCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxYTRmZWQiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMWE1ZTA4IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjFhNmMwNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxYTdhMTUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMWE4ODI2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjFhOTYzNyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxYWE0NDUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMWFiMjU1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjFhYzA2NSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxYWNlNzUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMWFkYzg3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjFhZWE5NiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxYWY4YTciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMWIwNmI3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjFiMTRjNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxYzc0NjAiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMWM4MjcwIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjFjOTA3ZSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxYzllOGYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMWNhY2EyIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjFjYmFiMSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxY2M4YzEiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMWNkNmQwIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjFjZTRkZSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxY2YyZjAiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMWQwMTA5IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjFkMGYwNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxZDFkMTUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMWQyYjI1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjFkMzkzNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxZDQ3NDUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMWQ1NTU1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjFkNjM2NiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxZDcxNzUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMWQ3Zjg2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjFkOGQ5NSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxZDliYTYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMWRhOWI2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjFkYjdjNyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxZGM1ZDUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMWRkM2U2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjFkZTFmNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxZGYwMDYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMWRmZTE2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjFlMGMyNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxZTFhMzYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMWUyODQ3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjFlMzY1OSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxZTQ0NjciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMWU1MjgxIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjFlNjA4NiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxZTZlOTYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMWU3Y2E2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjFlOGFiNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxZTk4YzYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMWVhNmQ1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjFlYjRlNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxZWMyZjYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMWVkMTA2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjFlZGYxNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxZWVkMjYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMWVmYjM2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjFmMDk0NiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxZjE3NTYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMWYyNTY2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjFmMzM3NiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxZjQxODciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMWY0Zjk2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjFmNWRhNyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxZjZiYjYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMWY3OWM3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjFmODdkNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxZjk1ZTciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMWZhNDAxIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjFmYjIwNCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxZmMwMTYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMWZjZTI1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjFmZGMzNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxZmVhNDUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMWZmODU1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjIwMDY2NSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyMDE0NzUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjAyMjg2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjIwMzA5NSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyMDNlYTUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjA0Y2I2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjIwNWFjNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyMDY4ZDYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjA3NmU2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjIwODRmNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyMDkzMDYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjBhMTE2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjIwYWYyNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyMGJkMzciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjBjYjQ2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjIwZDk1NyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyMGU3NjciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjBmNTgxIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjIxMDM4NiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyMTExOTQiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjExZmE1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjIxMmRiNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyMTNiYzUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjE0OWQ2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjIxNTdlNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyMTY1ZjYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjE3NDA2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjIxODIxNyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyMTkwMjYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjE5ZTM5IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjIxYWM0NiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyMWJhNTciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjFjODY3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjIxZDY3NyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyMWU0ODciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjFmMjk2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjIyMDBhNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyMjBlYjciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjIxY2M2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjIyMmFkNyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyMjM4ZTciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjI0NzAxIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjIyNTUwNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyMjYzMTUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjI3MTI1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjIyN2YzNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyMjhkNDUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjI5YjU0IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjIyYTk2NSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyMmI3NzYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjJjNTg2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjIyZDM5NyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyMmUxYTYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjJlZmI2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjIyZmRjNyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyMzBiZDciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjMxOWU2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjIzMjdmNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyMzM2MWIiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjM0NDE2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjIzNTIyNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyMzYwMzciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjM2ZTQ2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjIzN2M1NyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyMzhhNjYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjM5ODgxIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjIzYTY4NSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyM2I0OTUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjNjMmE0IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjIzZDBiNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyM2RlYzQiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjNlY2Q1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjIzZmFlNCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyNDA4ZjYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjQxNzA2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjI0MjUxOCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyNDMzMjUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjQ0MTM3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjI0NGY0NiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyNDZiNjYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjQ3OTc2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjI0ODc4NiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyNDk1N2UiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjRhMzhmIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjI0YjE5YyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyNGJmYWMiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjRjZGJjIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjI0ZGJjZCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyNGU5ZTUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjRmODA4IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjI1MDYxNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyNTE0MjYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjUyMjM2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjI1MzA0NyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyNTNlNTYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjU0YzY3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjI1NWE3NiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyNTY4ODciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjU3Njk3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjI1ODRhOCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyNTkyYjYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjVhMGM3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjI1YWVkNyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyNWJjZTciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjVjYWY4IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjI1ZDkwNyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyNWU3MTgiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjVmNTI3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjI2MDMzOCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyNjExNDkiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjYxZjU5IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjI2MmQ2OCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyNjNiODMiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjY0OTg2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjI2NTc5NSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyNjY1YTYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjY3M2I1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjI2ODFjNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyNjhmZDUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjY5ZGU2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjI2YWJmNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyNmJhMDYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjZjODE3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjI2ZDYyYiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyNmU0MzYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjZmMjQ3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjI3MDA1NyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyNzBlNjciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjcxYzc3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjI3MmE4NyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyNzM4OTciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjc0NmE4IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjI3NTRiOSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyNzYyYzciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjc3MGQ4IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjI3N2VlNyIgdj0iMCIvPg0KKwkJCQk8L3Bhcj4NCisJCQkJPHBhciBtZW1pbmQ9Ijk4MDQiIGg9IjNkYzFhOGRlIj4NCisJCQkJCTx2YWwgbz0iMCIgdj0iMTEzLjc2OCIvPg0KKwkJCQkJPHZhbCBvPSJlMDgiIHY9IjExNy4xMzEiLz4NCisJCQkJCTx2YWwgbz0iMWMzMiIgdj0iMTE4Ljc5NCIvPg0KKwkJCQkJPHZhbCBvPSIyYTNjIiB2PSIxMjAuMzYyIi8+DQorCQkJCQk8dmFsIG89IjM4MzUiIHY9IjExOC41MDQiLz4NCisJCQkJCTx2YWwgbz0iNDY0NSIgdj0iMTE2LjI3NSIvPg0KKwkJCQkJPHZhbCBvPSI1NDU1IiB2PSIxMDkuMjU4Ii8+DQorCQkJCQk8dmFsIG89IjYyNjUiIHY9IjEyMS4xMjciLz4NCisJCQkJCTx2YWwgbz0iNzA3NSIgdj0iMTE4Ljg0OSIvPg0KKwkJCQkJPHZhbCBvPSI3ZTg1IiB2PSIxMTYuMDkzIi8+DQorCQkJCQk8dmFsIG89IjhjOTYiIHY9IjEyMC4xMDgiLz4NCisJCQkJCTx2YWwgbz0iOWFhNSIgdj0iMTIwLjg0Ii8+DQorCQkJCQk8dmFsIG89ImE4YjYiIHY9IjEyNC4wNDUiLz4NCisJCQkJCTx2YWwgbz0iYjZjNSIgdj0iMTI0LjA0MiIvPg0KKwkJCQkJPHZhbCBvPSJjNGQ3IiB2PSIxMTcuNzEzIi8+DQorCQkJCQk8dmFsIG89ImQzMGIiIHY9IjExOC4wNDgiLz4NCisJCQkJCTx2YWwgbz0iZTBmNiIgdj0iMTE4LjA1MSIvPg0KKwkJCQkJPHZhbCBvPSJlZjA2IiB2PSIxMTguMjU5Ii8+DQorCQkJCQk8dmFsIG89ImZkMTciIHY9IjExOC4wNTQiLz4NCisJCQkJCTx2YWwgbz0iMTBiMjciIHY9IjEyMC44NDQiLz4NCisJCQkJCTx2YWwgbz0iMTE5MzciIHY9IjEyMS45MjUiLz4NCisJCQkJCTx2YWwgbz0iMTI3NDYiIHY9IjExOS4zNTMiLz4NCisJCQkJCTx2YWwgbz0iMTM1NTYiIHY9IjEyMC44NjciLz4NCisJCQkJCTx2YWwgbz0iMTQzNjYiIHY9IjEyNS40OCIvPg0KKwkJCQkJPHZhbCBvPSIxNTE4MSIgdj0iMTI3LjQzNCIvPg0KKwkJCQkJPHZhbCBvPSIxNWY4NSIgdj0iMTE5LjA2OSIvPg0KKwkJCQkJPHZhbCBvPSIxNmQ5NSIgdj0iMTIwLjkwNCIvPg0KKwkJCQkJPHZhbCBvPSIxN2JhNCIgdj0iMTIwLjk3NCIvPg0KKwkJCQkJPHZhbCBvPSIxODliNSIgdj0iMTIwLjI1Ii8+DQorCQkJCQk8dmFsIG89IjE5N2M0IiB2PSIxMTguMjkxIi8+DQorCQkJCQk8dmFsIG89IjFhNWQ1IiB2PSIxMjYuNTczIi8+DQorCQkJCQk8dmFsIG89IjFiM2U2IiB2PSIxMjUuNjM3Ii8+DQorCQkJCQk8dmFsIG89IjFjMWY2IiB2PSIxMjQuNjY4Ii8+DQorCQkJCQk8dmFsIG89IjFkMDA1IiB2PSIxMjEuMzkzIi8+DQorCQkJCQk8dmFsIG89IjFkZTE1IiB2PSIxMjEuOTk4Ii8+DQorCQkJCQk8dmFsIG89IjFlYzI1IiB2PSIxMjIuNTU1Ii8+DQorCQkJCQk8dmFsIG89IjFmYTM2IiB2PSIxMjMuOTQxIi8+DQorCQkJCQk8dmFsIG89IjIwODQ1IiB2PSIxMjQuNzQ2Ii8+DQorCQkJCQk8dmFsIG89IjIxNjU2IiB2PSIxMjUuMDg1Ii8+DQorCQkJCQk8dmFsIG89IjIyNDY1IiB2PSIxMjUuMTQzIi8+DQorCQkJCQk8dmFsIG89IjIzMjc2IiB2PSIxMjMuMzE1Ii8+DQorCQkJCQk8dmFsIG89IjI0MDg2IiB2PSIxMTkuMDI2Ii8+DQorCQkJCQk8dmFsIG89IjI0ZTk5IiB2PSIxMTguNjgzIi8+DQorCQkJCQk8dmFsIG89IjI1Y2E3IiB2PSIxMTkuODE1Ii8+DQorCQkJCQk8dmFsIG89IjI2YWI3IiB2PSIxMTkuMjUiLz4NCisJCQkJCTx2YWwgbz0iMjc4YzYiIHY9IjExOS42NzgiLz4NCisJCQkJCTx2YWwgbz0iMjg2ZDYiIHY9IjEyMS43MDgiLz4NCisJCQkJCTx2YWwgbz0iMjk0ZTYiIHY9IjEyNS4xODIiLz4NCisJCQkJCTx2YWwgbz0iMmEzMDEiIHY9IjEyNS4yMTciLz4NCisJCQkJCTx2YWwgbz0iMmIxMDUiIHY9IjExNy4xMiIvPg0KKwkJCQkJPHZhbCBvPSIyYmYxNSIgdj0iMTE4LjQ4OSIvPg0KKwkJCQkJPHZhbCBvPSIyY2QyNSIgdj0iMTE5LjMzOCIvPg0KKwkJCQkJPHZhbCBvPSIyZGIzNSIgdj0iMTE5LjM5MiIvPg0KKwkJCQkJPHZhbCBvPSIyZTk0NiIgdj0iMTE3LjI3NyIvPg0KKwkJCQkJPHZhbCBvPSIyZjc1NSIgdj0iMTEyLjk2NyIvPg0KKwkJCQkJPHZhbCBvPSIzMDU2NiIgdj0iMTI0Ljc3NSIvPg0KKwkJCQkJPHZhbCBvPSIzMTM3NSIgdj0iMTI0LjQwOSIvPg0KKwkJCQkJPHZhbCBvPSIzMjE5ZSIgdj0iMTIzLjI2OCIvPg0KKwkJCQkJPHZhbCBvPSIzMmY5NiIgdj0iMTIyLjk1NiIvPg0KKwkJCQkJPHZhbCBvPSIzM2RhNiIgdj0iMTIzLjAzMiIvPg0KKwkJCQkJPHZhbCBvPSIzNGJiNiIgdj0iMTIzLjU1NSIvPg0KKwkJCQkJPHZhbCBvPSIzNTlkZSIgdj0iMTIzLjAwNCIvPg0KKwkJCQkJPHZhbCBvPSIzNjdkNiIgdj0iMTIyLjEyNSIvPg0KKwkJCQkJPHZhbCBvPSIzNzVlNiIgdj0iMTIxLjA3OCIvPg0KKwkJCQkJPHZhbCBvPSIzODQwZSIgdj0iMTE3LjcwMSIvPg0KKwkJCQkJPHZhbCBvPSIzOTIxZSIgdj0iMTE4LjEwMSIvPg0KKwkJCQkJPHZhbCBvPSIzYTAxNiIgdj0iMTE3Ljc3MSIvPg0KKwkJCQkJPHZhbCBvPSIzYWUyNyIgdj0iMTIxLjM5MyIvPg0KKwkJCQkJPHZhbCBvPSIzYmMzNiIgdj0iMTIwLjE2Ii8+DQorCQkJCQk8dmFsIG89IjNjYTQ3IiB2PSIxMTkuMzg3Ii8+DQorCQkJCQk8dmFsIG89IjNkODU2IiB2PSIxMTkuODg3Ii8+DQorCQkJCQk8dmFsIG89IjNlNjY3IiB2PSIxMjIuNjQiLz4NCisJCQkJCTx2YWwgbz0iM2Y0ODEiIHY9IjEyNS45NTQiLz4NCisJCQkJCTx2YWwgbz0iNDAyODUiIHY9IjEyMy41MSIvPg0KKwkJCQkJPHZhbCBvPSI0MTA5NSIgdj0iMTI0LjMyOCIvPg0KKwkJCQkJPHZhbCBvPSI0MWVhNSIgdj0iMTI0LjYzOSIvPg0KKwkJCQkJPHZhbCBvPSI0MmNiNSIgdj0iMTI0LjQ0OCIvPg0KKwkJCQkJPHZhbCBvPSI0M2FjNSIgdj0iMTIyLjQzNCIvPg0KKwkJCQkJPHZhbCBvPSI0NDhkNSIgdj0iMTE4LjYyMyIvPg0KKwkJCQkJPHZhbCBvPSI0NTZlNiIgdj0iMTIyLjE2OSIvPg0KKwkJCQkJPHZhbCBvPSI0NjRmNSIgdj0iMTIwLjk3OSIvPg0KKwkJCQkJPHZhbCBvPSI0ODBmZiIgdj0iMTE4LjM1OCIvPg0KKwkJCQkJPHZhbCBvPSI0OGYwZSIgdj0iMTE3LjI3MSIvPg0KKwkJCQkJPHZhbCBvPSI0OWQxZCIgdj0iMTE4LjY4Ii8+DQorCQkJCQk8dmFsIG89IjRhYjQ2IiB2PSIxMTguNTYyIi8+DQorCQkJCQk8dmFsIG89IjRiOTU1IiB2PSIxMTYuODQyIi8+DQorCQkJCQk8dmFsIG89IjRjNzY5IiB2PSIxMTUuOTEzIi8+DQorCQkJCQk8dmFsIG89IjRkNTc3IiB2PSIxMTguODk0Ii8+DQorCQkJCQk8dmFsIG89IjRlMzg3IiB2PSIxMTguNTkiLz4NCisJCQkJCTx2YWwgbz0iNGYxOTYiIHY9IjExNi4yOTMiLz4NCisJCQkJCTx2YWwgbz0iNGZmYTYiIHY9IjExOC4yOTkiLz4NCisJCQkJCTx2YWwgbz0iNTBkZDAiIHY9IjEyMC4yMzMiLz4NCisJCQkJCTx2YWwgbz0iNTFiYzYiIHY9IjExOC40OTUiLz4NCisJCQkJCTx2YWwgbz0iNTI5ZDYiIHY9IjEyMC40MDYiLz4NCisJCQkJCTx2YWwgbz0iNTM3ZTciIHY9IjEyMi42NDQiLz4NCisJCQkJCTx2YWwgbz0iNTQ2MDAiIHY9IjEyNS41MjgiLz4NCisJCQkJCTx2YWwgbz0iNTU0MDYiIHY9IjEyMS43NDYiLz4NCisJCQkJCTx2YWwgbz0iNTYyMTUiIHY9IjEyMi42NDIiLz4NCisJCQkJCTx2YWwgbz0iNTcwMjYiIHY9IjEyMi41ODEiLz4NCisJCQkJCTx2YWwgbz0iNTdlMzYiIHY9IjEyMi42MjMiLz4NCisJCQkJCTx2YWwgbz0iNThjNDYiIHY9IjEyMC40MzEiLz4NCisJCQkJCTx2YWwgbz0iNTlhNzAiIHY9IjEyMS4zMjkiLz4NCisJCQkJCTx2YWwgbz0iNWE4NjciIHY9IjEyMC42NTEiLz4NCisJCQkJCTx2YWwgbz0iNWI2NzYiIHY9IjExOC44NzYiLz4NCisJCQkJCTx2YWwgbz0iNWM0ODciIHY9IjExNS42NjEiLz4NCisJCQkJCTx2YWwgbz0iNWQyOTYiIHY9IjExOS44MzUiLz4NCisJCQkJCTx2YWwgbz0iNWUwYTkiIHY9IjEyMC4zNCIvPg0KKwkJCQkJPHZhbCBvPSI1ZWViOCIgdj0iMTE5LjQzOSIvPg0KKwkJCQkJPHZhbCBvPSI1ZmNjNiIgdj0iMTE4LjI0NSIvPg0KKwkJCQkJPHZhbCBvPSI2MGFkNyIgdj0iMTE3LjAwNCIvPg0KKwkJCQkJPHZhbCBvPSI2MThlNyIgdj0iMTE3LjE2NSIvPg0KKwkJCQkJPHZhbCBvPSI2MjZmNyIgdj0iMTE5Ljk1Ii8+DQorCQkJCQk8dmFsIG89IjYzNTA3IiB2PSIxMTcuMTQ5Ii8+DQorCQkJCQk8dmFsIG89IjY0MzE3IiB2PSIxMTguNTQxIi8+DQorCQkJCQk8dmFsIG89IjY1MTI3IiB2PSIxMTkuODIyIi8+DQorCQkJCQk8dmFsIG89IjY1ZjM3IiB2PSIxMjEuMDEzIi8+DQorCQkJCQk8dmFsIG89IjY2ZDQ2IiB2PSIxMjEuNTc3Ii8+DQorCQkJCQk8dmFsIG89IjY3YjU3IiB2PSIxMjAuMjg5Ii8+DQorCQkJCQk8dmFsIG89IjY4OTY3IiB2PSIxMjIuNjIiLz4NCisJCQkJCTx2YWwgbz0iNjk3ODIiIHY9IjExOS4wOTMiLz4NCisJCQkJCTx2YWwgbz0iNmE1ODYiIHY9IjEyMC40OTMiLz4NCisJCQkJCTx2YWwgbz0iNmIzOTUiIHY9IjEyMS45MTkiLz4NCisJCQkJCTx2YWwgbz0iNmMxYTYiIHY9IjEyMi4yMTgiLz4NCisJCQkJCTx2YWwgbz0iNmNmYjUiIHY9IjEyMS4wMjIiLz4NCisJCQkJCTx2YWwgbz0iNmRkYzYiIHY9IjExOC40MzMiLz4NCisJCQkJCTx2YWwgbz0iNmViZDYiIHY9IjExNS45NzgiLz4NCisJCQkJCTx2YWwgbz0iNmY5ZTYiIHY9IjEyMC45NzEiLz4NCisJCQkJCTx2YWwgbz0iNzA3ZjYiIHY9IjExOS4yMzQiLz4NCisJCQkJCTx2YWwgbz0iNzE2MDciIHY9IjExOC4wMTUiLz4NCisJCQkJCTx2YWwgbz0iNzI0MTciIHY9IjExNy45MjIiLz4NCisJCQkJCTx2YWwgbz0iNzMyMjciIHY9IjExNy41NjYiLz4NCisJCQkJCTx2YWwgbz0iNzQwMzciIHY9IjEyMS40NjkiLz4NCisJCQkJCTx2YWwgbz0iNzRlNDciIHY9IjEyMC41MTQiLz4NCisJCQkJCTx2YWwgbz0iNzVjNTciIHY9IjExOC40ODUiLz4NCisJCQkJCTx2YWwgbz0iNzZhNjMiIHY9IjExNy44ODkiLz4NCisJCQkJCTx2YWwgbz0iNzc4NzMiIHY9IjExNy45NDYiLz4NCisJCQkJCTx2YWwgbz0iNzg2ODAiIHY9IjExMy42MTEiLz4NCisJCQkJCTx2YWwgbz0iNzk0OGYiIHY9IjExNi41ODMiLz4NCisJCQkJCTx2YWwgbz0iN2EyOWYiIHY9IjExOS4zMDYiLz4NCisJCQkJCTx2YWwgbz0iN2IwYWYiIHY9IjExOC44MDIiLz4NCisJCQkJCTx2YWwgbz0iN2JlYmYiIHY9IjEyMC43OTkiLz4NCisJCQkJCTx2YWwgbz0iN2NjY2YiIHY9IjEyMC44NTciLz4NCisJCQkJCTx2YWwgbz0iN2RhZGYiIHY9IjEyMS41OTQiLz4NCisJCQkJCTx2YWwgbz0iN2U4ZmEiIHY9IjEyMS40MjEiLz4NCisJCQkJCTx2YWwgbz0iN2Y3MGEiIHY9IjEyMy43NCIvPg0KKwkJCQkJPHZhbCBvPSI4MDUxYSIgdj0iMTI1LjE4OSIvPg0KKwkJCQkJPHZhbCBvPSI4MTMyYSIgdj0iMTI1LjY3MyIvPg0KKwkJCQkJPHZhbCBvPSI4MjEzYSIgdj0iMTI0Ljc3NyIvPg0KKwkJCQkJPHZhbCBvPSI4MmY0YSIgdj0iMTIyLjQzMiIvPg0KKwkJCQkJPHZhbCBvPSI4M2Q1YSIgdj0iMTIwLjAxMSIvPg0KKwkJCQkJPHZhbCBvPSI4NGI2YSIgdj0iMTE4LjYyMiIvPg0KKwkJCQkJPHZhbCBvPSI4NTk3YSIgdj0iMTE4LjU1OSIvPg0KKwkJCQkJPHZhbCBvPSI4Njc4YiIgdj0iMTE3LjUyNCIvPg0KKwkJCQkJPHZhbCBvPSI4NzU5YiIgdj0iMTE3LjI1NyIvPg0KKwkJCQkJPHZhbCBvPSI4ODNhYyIgdj0iMTE5LjkwOSIvPg0KKwkJCQkJPHZhbCBvPSI4OTFiYiIgdj0iMTIwLjkyMSIvPg0KKwkJCQkJPHZhbCBvPSI4OWZjYSIgdj0iMTE5Ljk2Ii8+DQorCQkJCQk8dmFsIG89IjhhZGRhIiB2PSIxMTguNDgxIi8+DQorCQkJCQk8dmFsIG89IjhiYmViIiB2PSIxMTguNjA1Ii8+DQorCQkJCQk8dmFsIG89IjhjOWZjIiB2PSIxMTguMjgyIi8+DQorCQkJCQk8dmFsIG89IjhkODBiIiB2PSIxMTguNjYzIi8+DQorCQkJCQk8dmFsIG89IjhlNjFhIiB2PSIxMTcuMDA5Ii8+DQorCQkJCQk8dmFsIG89IjhmNDJhIiB2PSIxMTcuNzY2Ii8+DQorCQkJCQk8dmFsIG89IjkwMjNhIiB2PSIxMTkuNzIyIi8+DQorCQkJCQk8dmFsIG89IjkxMDRhIiB2PSIxMjAuMjk5Ii8+DQorCQkJCQk8dmFsIG89IjkxZTVhIiB2PSIxMTguMzY2Ii8+DQorCQkJCQk8dmFsIG89IjkyYzZhIiB2PSIxMjIuNTI5Ii8+DQorCQkJCQk8dmFsIG89IjkzYTg0IiB2PSIxMjQuODMzIi8+DQorCQkJCQk8dmFsIG89Ijk0ODg1IiB2PSIxMjMuMDYiLz4NCisJCQkJCTx2YWwgbz0iOTU2OTQiIHY9IjEyMi4zOTYiLz4NCisJCQkJCTx2YWwgbz0iOTY0YTUiIHY9IjEyMi43OTIiLz4NCisJCQkJCTx2YWwgbz0iOTcyYjQiIHY9IjEyMi4yMzIiLz4NCisJCQkJCTx2YWwgbz0iOTgwYzUiIHY9IjExOS43OSIvPg0KKwkJCQkJPHZhbCBvPSI5OGVkNCIgdj0iMTIyLjg2Ii8+DQorCQkJCQk8dmFsIG89Ijk5Y2U1IiB2PSIxMTkuMDEyIi8+DQorCQkJCQk8dmFsIG89IjlhYWY1IiB2PSIxMTguMzIxIi8+DQorCQkJCQk8dmFsIG89IjliOTA2IiB2PSIxMTUuNDU2Ii8+DQorCQkJCQk8dmFsIG89IjljNzE2IiB2PSIxMTkuMzc0Ii8+DQorCQkJCQk8dmFsIG89IjlkNTI2IiB2PSIxMjAuMzQ0Ii8+DQorCQkJCQk8dmFsIG89IjllMzM2IiB2PSIxMTkuMjU0Ii8+DQorCQkJCQk8dmFsIG89IjlmMTQ1IiB2PSIxMTcuODMiLz4NCisJCQkJCTx2YWwgbz0iOWZmNTYiIHY9IjExNy4wMDEiLz4NCisJCQkJCTx2YWwgbz0iYTBkNjUiIHY9IjExNi43ODIiLz4NCisJCQkJCTx2YWwgbz0iYTFiNzciIHY9IjExNi44MDMiLz4NCisJCQkJCTx2YWwgbz0iYTI5ODYiIHY9IjExOC43NSIvPg0KKwkJCQkJPHZhbCBvPSJhMzc5NSIgdj0iMTE4LjM1OCIvPg0KKwkJCQkJPHZhbCBvPSJhNDVhNyIgdj0iMTE5LjQ5MyIvPg0KKwkJCQkJPHZhbCBvPSJhNTNiNiIgdj0iMTE5LjY5OCIvPg0KKwkJCQkJPHZhbCBvPSJhNjFjNyIgdj0iMTE5LjkwOCIvPg0KKwkJCQkJPHZhbCBvPSJhNmZkNiIgdj0iMTIwLjY3NSIvPg0KKwkJCQkJPHZhbCBvPSJhN2UwMCIgdj0iMTIyLjc1NCIvPg0KKwkJCQkJPHZhbCBvPSJhOGMwMCIgdj0iMTI1LjM4NSIvPg0KKwkJCQkJPHZhbCBvPSJhOWEwNSIgdj0iMTE4LjIxNCIvPg0KKwkJCQkJPHZhbCBvPSJhYTgxNSIgdj0iMTE5LjMyOSIvPg0KKwkJCQkJPHZhbCBvPSJhYjYyNSIgdj0iMTIwLjExIi8+DQorCQkJCQk8dmFsIG89ImFjNDM1IiB2PSIxMTkuNjg5Ii8+DQorCQkJCQk8dmFsIG89ImFkMjQ1IiB2PSIxMTcuMTIiLz4NCisJCQkJCTx2YWwgbz0iYWUwNTUiIHY9IjExNC43MjkiLz4NCisJCQkJCTx2YWwgbz0iYWVlNjUiIHY9IjEyMC44NzEiLz4NCisJCQkJCTx2YWwgbz0iYWZjNzUiIHY9IjExOS4xNzciLz4NCisJCQkJCTx2YWwgbz0iYjBhODUiIHY9IjExNi42OTkiLz4NCisJCQkJCTx2YWwgbz0iYjI2YTYiIHY9IjExNi43NjgiLz4NCisJCQkJCTx2YWwgbz0iYjM0YjYiIHY9IjExOC4wNzUiLz4NCisJCQkJCTx2YWwgbz0iYjQyYzYiIHY9IjExNS41NzEiLz4NCisJCQkJCTx2YWwgbz0iYjUwZDYiIHY9IjExNS44NjciLz4NCisJCQkJCTx2YWwgbz0iYjVlZTciIHY9IjExNC4zMDkiLz4NCisJCQkJCTx2YWwgbz0iYjZjZjYiIHY9IjEyMi43ODciLz4NCisJCQkJCTx2YWwgbz0iYjdiMDciIHY9IjExOC45MDQiLz4NCisJCQkJCTx2YWwgbz0iYjg5MTciIHY9IjExOC41MzEiLz4NCisJCQkJCTx2YWwgbz0iYjk3MjgiIHY9IjExOS40MzgiLz4NCisJCQkJCTx2YWwgbz0iYmE1MzciIHY9IjEyMC45MDgiLz4NCisJCQkJCTx2YWwgbz0iYmIzNDciIHY9IjExOS44NDQiLz4NCisJCQkJCTx2YWwgbz0iYmMxNTciIHY9IjEyMC41NzUiLz4NCisJCQkJCTx2YWwgbz0iYmNmNjciIHY9IjEyMy4yMTIiLz4NCisJCQkJCTx2YWwgbz0iYmRkODEiIHY9IjExOC43MTIiLz4NCisJCQkJCTx2YWwgbz0iYmViODYiIHY9IjExOC4zMTYiLz4NCisJCQkJCTx2YWwgbz0iYmY5OTUiIHY9IjExOC44NTkiLz4NCisJCQkJCTx2YWwgbz0iYzA3YTYiIHY9IjEyMC4wOTIiLz4NCisJCQkJCTx2YWwgbz0iYzE1YjUiIHY9IjExOS41MzIiLz4NCisJCQkJCTx2YWwgbz0iYzIzYzYiIHY9IjExOC4xNzkiLz4NCisJCQkJCTx2YWwgbz0iYzMxZDUiIHY9IjExNS43MzEiLz4NCisJCQkJCTx2YWwgbz0iYzNmZTYiIHY9IjExNy42NzEiLz4NCisJCQkJCTx2YWwgbz0iYzRkZjUiIHY9IjExNi4wNDYiLz4NCisJCQkJCTx2YWwgbz0iYzVjMDYiIHY9IjExNy40MTYiLz4NCisJCQkJCTx2YWwgbz0iYzZhMTYiIHY9IjExNy41NzgiLz4NCisJCQkJCTx2YWwgbz0iYzc4MjYiIHY9IjExNi43NTgiLz4NCisJCQkJCTx2YWwgbz0iYzg2MzYiIHY9IjExOC4zMTkiLz4NCisJCQkJCTx2YWwgbz0iYzk0NDYiIHY9IjExOC4zNTUiLz4NCisJCQkJCTx2YWwgbz0iY2EyNTYiIHY9IjExOC4xMzYiLz4NCisJCQkJCTx2YWwgbz0iY2IwNjYiIHY9IjExNy4yMjUiLz4NCisJCQkJCTx2YWwgbz0iY2JlNzYiIHY9IjEyMi42NTkiLz4NCisJCQkJCTx2YWwgbz0iY2NjODciIHY9IjExOC41NDciLz4NCisJCQkJCTx2YWwgbz0iY2RhOTYiIHY9IjExNi42MzUiLz4NCisJCQkJCTx2YWwgbz0iY2U4YTgiIHY9IjExOC4xMDUiLz4NCisJCQkJCTx2YWwgbz0iY2Y2YjciIHY9IjExOC41MDMiLz4NCisJCQkJCTx2YWwgbz0iZDA0YzgiIHY9IjExOS41NDciLz4NCisJCQkJCTx2YWwgbz0iZDEyZDciIHY9IjEyMS40Ii8+DQorCQkJCQk8dmFsIG89ImQyMGU3IiB2PSIxMjMuMzk2Ii8+DQorCQkJCQk8dmFsIG89ImQyZjAyIiB2PSIxMjYuMDY4Ii8+DQorCQkJCQk8dmFsIG89ImQzZDA1IiB2PSIxMTkuMzMiLz4NCisJCQkJCTx2YWwgbz0iZDRiMTUiIHY9IjEyMC41MjQiLz4NCisJCQkJCTx2YWwgbz0iZDU5MjYiIHY9IjEyMC43NDIiLz4NCisJCQkJCTx2YWwgbz0iZDY3MzUiIHY9IjExOS41NDgiLz4NCisJCQkJCTx2YWwgbz0iZDc1NDYiIHY9IjExNy4zNTgiLz4NCisJCQkJCTx2YWwgbz0iZDgzNTUiIHY9IjEyNC4yNjciLz4NCisJCQkJCTx2YWwgbz0iZDkxNjYiIHY9IjEyMi4zODgiLz4NCisJCQkJCTx2YWwgbz0iZDlmNzUiIHY9IjEyMC43NzQiLz4NCisJCQkJCTx2YWwgbz0iZGFkODciIHY9IjExNy4zNDUiLz4NCisJCQkJCTx2YWwgbz0iZGJiOTciIHY9IjExNi42OTgiLz4NCisJCQkJCTx2YWwgbz0iZGM5YTgiIHY9IjExNi43OTgiLz4NCisJCQkJCTx2YWwgbz0iZGQ3YjciIHY9IjExOC4yMTkiLz4NCisJCQkJCTx2YWwgbz0iZGU1YzYiIHY9IjExNy44NzkiLz4NCisJCQkJCTx2YWwgbz0iZGYzZDciIHY9IjExNy4yODciLz4NCisJCQkJCTx2YWwgbz0iZTAxZDciIHY9IjExNy40MiIvPg0KKwkJCQkJPHZhbCBvPSJlMGZlNSIgdj0iMTE2Ljc5OCIvPg0KKwkJCQkJPHZhbCBvPSJlMWRmNSIgdj0iMTE3LjE4NCIvPg0KKwkJCQkJPHZhbCBvPSJlMmMwNCIgdj0iMTE5LjY2NSIvPg0KKwkJCQkJPHZhbCBvPSJlM2ExNCIgdj0iMTIxLjAzMyIvPg0KKwkJCQkJPHZhbCBvPSJlNDgyNCIgdj0iMTIwLjgzOSIvPg0KKwkJCQkJPHZhbCBvPSJlNTYzNCIgdj0iMTIyLjQ1NiIvPg0KKwkJCQkJPHZhbCBvPSJlNjQ0NCIgdj0iMTIwLjUzNCIvPg0KKwkJCQkJPHZhbCBvPSJlNzI1NSIgdj0iMTIyLjc2NiIvPg0KKwkJCQkJPHZhbCBvPSJlODA2ZiIgdj0iMTIzLjczNSIvPg0KKwkJCQkJPHZhbCBvPSJlOGU3ZiIgdj0iMTE2LjY1NCIvPg0KKwkJCQkJPHZhbCBvPSJlOWM4ZSIgdj0iMTE4LjExMSIvPg0KKwkJCQkJPHZhbCBvPSJlYWE5ZiIgdj0iMTE4LjQ0MSIvPg0KKwkJCQkJPHZhbCBvPSJlYjhhZSIgdj0iMTE3LjQ2MyIvPg0KKwkJCQkJPHZhbCBvPSJlYzZiZiIgdj0iMTEzLjU0OSIvPg0KKwkJCQkJPHZhbCBvPSJlZDRjZSIgdj0iMTIzLjU5NiIvPg0KKwkJCQkJPHZhbCBvPSJlZTJkZiIgdj0iMTIwLjcwOSIvPg0KKwkJCQkJPHZhbCBvPSJlZjBlZiIgdj0iMTE4Ljk0Ii8+DQorCQkJCQk8dmFsIG89ImVmZjAxIiB2PSIxMTYuMDAyIi8+DQorCQkJCQk8dmFsIG89ImYwZDEwIiB2PSIxMTcuNzQxIi8+DQorCQkJCQk8dmFsIG89ImYxYjIwIiB2PSIxMTcuNDkiLz4NCisJCQkJCTx2YWwgbz0iZjI5MzAiIHY9IjEyMS40MzMiLz4NCisJCQkJCTx2YWwgbz0iZjM3NDAiIHY9IjExNy43MzUiLz4NCisJCQkJCTx2YWwgbz0iZjQ1NTEiIHY9IjExOC4xNjUiLz4NCisJCQkJCTx2YWwgbz0iZjUzNjEiIHY9IjExNy44MzkiLz4NCisJCQkJCTx2YWwgbz0iZjYxNzIiIHY9IjExNy42ODUiLz4NCisJCQkJCTx2YWwgbz0iZjZmODAiIHY9IjExNy41MTgiLz4NCisJCQkJCTx2YWwgbz0iZjdkOTEiIHY9IjExOS4zODUiLz4NCisJCQkJCTx2YWwgbz0iZjhiYTEiIHY9IjEyMS4yMDIiLz4NCisJCQkJCTx2YWwgbz0iZjk5YjEiIHY9IjEyMC4yNTQiLz4NCisJCQkJCTx2YWwgbz0iZmE3YzAiIHY9IjExOC4zMzYiLz4NCisJCQkJCTx2YWwgbz0iZmI1ZDEiIHY9IjExOC4yNjciLz4NCisJCQkJCTx2YWwgbz0iZmMzZTAiIHY9IjEyMy4wODgiLz4NCisJCQkJCTx2YWwgbz0iZmQxZmIiIHY9IjEyMy4xODMiLz4NCisJCQkJCTx2YWwgbz0iZmUwMGIiIHY9IjEyNi4zNzciLz4NCisJCQkJCTx2YWwgbz0iZmVlMWMiIHY9IjEyMy43NzIiLz4NCisJCQkJCTx2YWwgbz0iZmZjMmMiIHY9IjEyMy42MzQiLz4NCisJCQkJCTx2YWwgbz0iMTAwYTNiIiB2PSIxMjMuMDA4Ii8+DQorCQkJCQk8dmFsIG89IjEwMTg0YyIgdj0iMTIxLjM4MiIvPg0KKwkJCQkJPHZhbCBvPSIxMDI2NWIiIHY9IjExNy42OTYiLz4NCisJCQkJCTx2YWwgbz0iMTAzNDZjIiB2PSIxMTcuOTAxIi8+DQorCQkJCQk8dmFsIG89IjEwNDI3YiIgdj0iMTE5LjQwNCIvPg0KKwkJCQkJPHZhbCBvPSIxMDUwOGQiIHY9IjExNy42NDYiLz4NCisJCQkJCTx2YWwgbz0iMTA1ZTlkIiB2PSIxMTguMTQ3Ii8+DQorCQkJCQk8dmFsIG89IjEwNmNhZCIgdj0iMTE3LjgwMiIvPg0KKwkJCQkJPHZhbCBvPSIxMDdhYmQiIHY9IjEyMC4xNTEiLz4NCisJCQkJCTx2YWwgbz0iMTA4OGNkIiB2PSIxMTkuNzMzIi8+DQorCQkJCQk8dmFsIG89IjEwOTZkZSIgdj0iMTE5LjA5NiIvPg0KKwkJCQkJPHZhbCBvPSIxMGE0ZWQiIHY9IjExOS4yOTEiLz4NCisJCQkJCTx2YWwgbz0iMTBiMmZlIiB2PSIxMTguOTczIi8+DQorCQkJCQk8dmFsIG89IjEwYzEwZCIgdj0iMTE2LjMzNiIvPg0KKwkJCQkJPHZhbCBvPSIxMGNmMWUiIHY9IjExOC4xNzEiLz4NCisJCQkJCTx2YWwgbz0iMTBkZDJlIiB2PSIxMTkuMDgyIi8+DQorCQkJCQk8dmFsIG89IjEwZWI2NiIgdj0iMTIwLjk1MyIvPg0KKwkJCQkJPHZhbCBvPSIxMGY5NGUiIHY9IjEyMS40MSIvPg0KKwkJCQkJPHZhbCBvPSIxMTA3NWUiIHY9IjExOS4wODgiLz4NCisJCQkJCTx2YWwgbz0iMTExNTZkIiB2PSIxMjAuOTQxIi8+DQorCQkJCQk8dmFsIG89IjExMjM4OCIgdj0iMTIzLjY5OSIvPg0KKwkJCQkJPHZhbCBvPSIxMTMxODciIHY9IjEyMi40OCIvPg0KKwkJCQkJPHZhbCBvPSIxMTNmYjAiIHY9IjEyMy4zNzgiLz4NCisJCQkJCTx2YWwgbz0iMTE0ZGE2IiB2PSIxMjMuMzEyIi8+DQorCQkJCQk8dmFsIG89IjExNWJiNiIgdj0iMTIzLjIxNyIvPg0KKwkJCQkJPHZhbCBvPSIxMTY5YzYiIHY9IjEyMC45NjEiLz4NCisJCQkJCTx2YWwgbz0iMTE3N2Q2IiB2PSIxMTguMDc2Ii8+DQorCQkJCQk8dmFsIG89IjExODVlOCIgdj0iMTE4LjU3MyIvPg0KKwkJCQkJPHZhbCBvPSIxMTkzZjciIHY9IjExNy45NzgiLz4NCisJCQkJCTx2YWwgbz0iMTFhMjA4IiB2PSIxMjAuMDE5Ii8+DQorCQkJCQk8dmFsIG89IjExYjAxNyIgdj0iMTIxLjY2MiIvPg0KKwkJCQkJPHZhbCBvPSIxMWJlMmYiIHY9IjEyMi4yNjgiLz4NCisJCQkJCTx2YWwgbz0iMTFjYzM3IiB2PSIxMjIuMzE3Ii8+DQorCQkJCQk8dmFsIG89IjExZGE0NyIgdj0iMTIxLjkzNCIvPg0KKwkJCQkJPHZhbCBvPSIxMWU4NTciIHY9IjEyMC43NzYiLz4NCisJCQkJCTx2YWwgbz0iMTFmNjY3IiB2PSIxMjEuODg5Ii8+DQorCQkJCQk8dmFsIG89IjEyMDU3OCIgdj0iMTIxLjA2NCIvPg0KKwkJCQkJPHZhbCBvPSIxMjEzODYiIHY9IjExNi44MjQiLz4NCisJCQkJCTx2YWwgbz0iMTIyMTk2IiB2PSIxMTcuNTU2Ii8+DQorCQkJCQk8dmFsIG89IjEyMmZhNiIgdj0iMTE4Ljc4NCIvPg0KKwkJCQkJPHZhbCBvPSIxMjNkYjUiIHY9IjEyMC43NyIvPg0KKwkJCQkJPHZhbCBvPSIxMjRiYzUiIHY9IjEyMi41NjUiLz4NCisJCQkJCTx2YWwgbz0iMTI1OWQ1IiB2PSIxMjAuMjYzIi8+DQorCQkJCQk8dmFsIG89IjEyNjdlNCIgdj0iMTIyLjcyOSIvPg0KKwkJCQkJPHZhbCBvPSIxMjc2MDAiIHY9IjEyNC41NjEiLz4NCisJCQkJCTx2YWwgbz0iMTI4MzA1IiB2PSIxMjUuMjM3Ii8+DQorCQkJCQk8dmFsIG89IjEyOTExNSIgdj0iMTI1LjM0NCIvPg0KKwkJCQkJPHZhbCBvPSIxMjlmMjUiIHY9IjEyNS40OTIiLz4NCisJCQkJCTx2YWwgbz0iMTJhZDM1IiB2PSIxMjQuNjciLz4NCisJCQkJCTx2YWwgbz0iMTJiYjQ1IiB2PSIxMjIuODE5Ii8+DQorCQkJCQk8dmFsIG89IjEyYzk1NCIgdj0iMTIxLjcxMyIvPg0KKwkJCQkJPHZhbCBvPSIxMmQ3NjYiIHY9IjEyMC44ODMiLz4NCisJCQkJCTx2YWwgbz0iMTJlNTc1IiB2PSIxMTkuODUiLz4NCisJCQkJCTx2YWwgbz0iMTJmMzg2IiB2PSIxMTcuMTc2Ii8+DQorCQkJCQk8dmFsIG89IjEzMDE5NiIgdj0iMTE3LjQ0NyIvPg0KKwkJCQkJPHZhbCBvPSIxMzBmYTYiIHY9IjExOC42NzkiLz4NCisJCQkJCTx2YWwgbz0iMTMxZGI3IiB2PSIxMjAuMDE2Ii8+DQorCQkJCQk8dmFsIG89IjEzMmJjNSIgdj0iMTE5Ljk1OSIvPg0KKwkJCQkJPHZhbCBvPSIxMzM5ZDQiIHY9IjAuMTA5Ii8+DQorCQkJCQk8dmFsIG89IjEzNDdlNSIgdj0iMC4xMDkiLz4NCisJCQkJCTx2YWwgbz0iMTM1NWY0IiB2PSIwLjEwOCIvPg0KKwkJCQkJPHZhbCBvPSIxMzY0MDQiIHY9IjAuMTA2Ii8+DQorCQkJCQk8dmFsIG89IjEzNzIxNCIgdj0iMC4xMDYiLz4NCisJCQkJCTx2YWwgbz0iMTM4MDI0IiB2PSIwLjEwNiIvPg0KKwkJCQkJPHZhbCBvPSIxMzhlMzMiIHY9IjAuMTA4Ii8+DQorCQkJCQk8dmFsIG89IjEzOWM0NCIgdj0iMC4xMDkiLz4NCisJCQkJCTx2YWwgbz0iMTNhYTU0IiB2PSIwLjEwOCIvPg0KKwkJCQkJPHZhbCBvPSIxM2I4NjUiIHY9IjAuMTA5Ii8+DQorCQkJCQk8dmFsIG89IjEzYzY3ZSIgdj0iMC4xMDEiLz4NCisJCQkJCTx2YWwgbz0iMTNkNDhlIiB2PSIwLjEwNCIvPg0KKwkJCQkJPHZhbCBvPSIxM2UyOWUiIHY9IjAuMTA2Ii8+DQorCQkJCQk8dmFsIG89IjEzZjBhZSIgdj0iMC4xMDYiLz4NCisJCQkJCTx2YWwgbz0iMTNmZWJmIiB2PSIwLjEwNCIvPg0KKwkJCQkJPHZhbCBvPSIxNDBjY2YiIHY9IjAuMTAyIi8+DQorCQkJCQk8dmFsIG89IjE0MWFkZiIgdj0iMC4xMDQiLz4NCisJCQkJCTx2YWwgbz0iMTQyOGVmIiB2PSIwLjEwOCIvPg0KKwkJCQkJPHZhbCBvPSIxNDM2ZmYiIHY9IjAuMTA3Ii8+DQorCQkJCQk8dmFsIG89IjE0NDUwZiIgdj0iMC4xMDciLz4NCisJCQkJCTx2YWwgbz0iMTQ1MzFmIiB2PSIwLjEwNyIvPg0KKwkJCQkJPHZhbCBvPSIxNDYxMzAiIHY9IjAuMTA4Ii8+DQorCQkJCQk8dmFsIG89IjE0NmY0MCIgdj0iMC4xMSIvPg0KKwkJCQkJPHZhbCBvPSIxNDdkNDQiIHY9IjAuMTA4Ii8+DQorCQkJCQk8dmFsIG89IjE0OGI1NyIgdj0iMC4xMDgiLz4NCisJCQkJCTx2YWwgbz0iMTQ5OTY1IiB2PSIwLjEwOCIvPg0KKwkJCQkJPHZhbCBvPSIxNGE3NzUiIHY9IjAuMTA2Ii8+DQorCQkJCQk8dmFsIG89IjE0YjU4NCIgdj0iMC4xMSIvPg0KKwkJCQkJPHZhbCBvPSIxNGMzOTciIHY9IjAuMTA2Ii8+DQorCQkJCQk8dmFsIG89IjE0ZDFhNCIgdj0iMC4xMDciLz4NCisJCQkJCTx2YWwgbz0iMTRkZmI2IiB2PSIwLjEwOCIvPg0KKwkJCQkJPHZhbCBvPSIxNGVkYzUiIHY9IjAuMTEiLz4NCisJCQkJCTx2YWwgbz0iMTRmYmQ1IiB2PSIwLjExMiIvPg0KKwkJCQkJPHZhbCBvPSIxNTA5ZTUiIHY9IjAuMTEyIi8+DQorCQkJCQk8dmFsIG89IjE1MTdmZiIgdj0iMC4xMTUiLz4NCisJCQkJCTx2YWwgbz0iMTUyNjA1IiB2PSIwLjEwNyIvPg0KKwkJCQkJPHZhbCBvPSIxNTM0MTUiIHY9IjAuMTA5Ii8+DQorCQkJCQk8dmFsIG89IjE1NDIyNSIgdj0iMC4xMSIvPg0KKwkJCQkJPHZhbCBvPSIxNTUwMzUiIHY9IjAuMTA5Ii8+DQorCQkJCQk8dmFsIG89IjE1NWU0NSIgdj0iMC4xMDciLz4NCisJCQkJCTx2YWwgbz0iMTU2YzU1IiB2PSIwLjEwNCIvPg0KKwkJCQkJPHZhbCBvPSIxNTdhNjUiIHY9IjAuMTA3Ii8+DQorCQkJCQk8dmFsIG89IjE1ODg3NSIgdj0iMC4xMDciLz4NCisJCQkJCTx2YWwgbz0iMTU5Njg2IiB2PSIwLjEwNiIvPg0KKwkJCQkJPHZhbCBvPSIxNWE0OTUiIHY9IjAuMTA3Ii8+DQorCQkJCQk8dmFsIG89IjE1YjJhNiIgdj0iMC4xMDgiLz4NCisJCQkJCTx2YWwgbz0iMTVjMGI2IiB2PSIwLjEwOSIvPg0KKwkJCQkJPHZhbCBvPSIxNWNlYzYiIHY9IjAuMTA5Ii8+DQorCQkJCQk8dmFsIG89IjE1ZGNkNSIgdj0iMC4xMDkiLz4NCisJCQkJCTx2YWwgbz0iMTVlYWU2IiB2PSIwLjEwOCIvPg0KKwkJCQkJPHZhbCBvPSIxNWY4ZjUiIHY9IjAuMTA0Ii8+DQorCQkJCQk8dmFsIG89IjE2MDcwNiIgdj0iMC4xMSIvPg0KKwkJCQkJPHZhbCBvPSIxNjE1MTciIHY9IjAuMTA5Ii8+DQorCQkJCQk8dmFsIG89IjE2MjMyNiIgdj0iMC4xMSIvPg0KKwkJCQkJPHZhbCBvPSIxNjMxMzciIHY9IjAuMTExIi8+DQorCQkJCQk8dmFsIG89IjE2M2Y0NiIgdj0iMC4xMDkiLz4NCisJCQkJCTx2YWwgbz0iMTY0ZDU3IiB2PSIwLjExIi8+DQorCQkJCQk8dmFsIG89IjE2NWI2NyIgdj0iMC4xMTIiLz4NCisJCQkJCTx2YWwgbz0iMTY2OTgyIiB2PSIwLjExMSIvPg0KKwkJCQkJPHZhbCBvPSIxNjc3ODYiIHY9IjAuMTEyIi8+DQorCQkJCQk8dmFsIG89IjE2ODU5NiIgdj0iMC4xMTIiLz4NCisJCQkJCTx2YWwgbz0iMTY5M2E2IiB2PSIwLjExMyIvPg0KKwkJCQkJPHZhbCBvPSIxNmExYjUiIHY9IjAuMTEyIi8+DQorCQkJCQk8dmFsIG89IjE2YWZjNiIgdj0iMC4xMSIvPg0KKwkJCQkJPHZhbCBvPSIxNmJkZDUiIHY9IjAuMTA4Ii8+DQorCQkJCQk8dmFsIG89IjE2Y2JlNiIgdj0iMC4xMDciLz4NCisJCQkJCTx2YWwgbz0iMTZkOWY2IiB2PSIwLjExMiIvPg0KKwkJCQkJPHZhbCBvPSIxNmU4MDciIHY9IjAuMTEiLz4NCisJCQkJCTx2YWwgbz0iMTZmNjE2IiB2PSIwLjExIi8+DQorCQkJCQk8dmFsIG89IjE3MDQyOSIgdj0iMC4xMTEiLz4NCisJCQkJCTx2YWwgbz0iMTcxMjM2IiB2PSIwLjExMiIvPg0KKwkJCQkJPHZhbCBvPSIxNzIwNDciIHY9IjAuMTEyIi8+DQorCQkJCQk8dmFsIG89IjE3MmU1NyIgdj0iMC4xMTEiLz4NCisJCQkJCTx2YWwgbz0iMTczYzY3IiB2PSIwLjExMSIvPg0KKwkJCQkJPHZhbCBvPSIxNzRhNzciIHY9IjAuMTEiLz4NCisJCQkJCTx2YWwgbz0iMTc1ODg3IiB2PSIwLjEwOCIvPg0KKwkJCQkJPHZhbCBvPSIxNzY2OTQiIHY9IjExNy44NCIvPg0KKwkJCQkJPHZhbCBvPSIxNzc0YTMiIHY9IjExOS4xOTkiLz4NCisJCQkJCTx2YWwgbz0iMTc4MmIzIiB2PSIxMjAuMjI2Ii8+DQorCQkJCQk8dmFsIG89IjE3OTBjNSIgdj0iMTIwLjkyNCIvPg0KKwkJCQkJPHZhbCBvPSIxNzllZDQiIHY9IjEyNC4wMzgiLz4NCisJCQkJCTx2YWwgbz0iMTdhY2U0IiB2PSIxMjYuNzQ3Ii8+DQorCQkJCQk8dmFsIG89IjE3YmFmZCIgdj0iMTI4LjM2NCIvPg0KKwkJCQkJPHZhbCBvPSIxN2M5MGYiIHY9IjEyNi41NSIvPg0KKwkJCQkJPHZhbCBvPSIxN2Q3MWUiIHY9IjEyNi41MjIiLz4NCisJCQkJCTx2YWwgbz0iMTdlNTJmIiB2PSIxMjYuODkzIi8+DQorCQkJCQk8dmFsIG89IjE3ZjMzZiIgdj0iMTI2LjExNCIvPg0KKwkJCQkJPHZhbCBvPSIxODAxNGYiIHY9IjEyNC4yMTkiLz4NCisJCQkJCTx2YWwgbz0iMTgwZjVmIiB2PSIxMjMuNjkxIi8+DQorCQkJCQk8dmFsIG89IjE4MWQ2ZSIgdj0iMTI0LjcyMyIvPg0KKwkJCQkJPHZhbCBvPSIxODJiN2YiIHY9IjEyNC42NjciLz4NCisJCQkJCTx2YWwgbz0iMTgzOThmIiB2PSIxMjMuNjY2Ii8+DQorCQkJCQk8dmFsIG89IjE4NDdhMSIgdj0iMTIzLjMzNyIvPg0KKwkJCQkJPHZhbCBvPSIxODU1YWYiIHY9IjEyNC4wNDIiLz4NCisJCQkJCTx2YWwgbz0iMTg2M2MwIiB2PSIxMjUuOTIiLz4NCisJCQkJCTx2YWwgbz0iMTg3MWNmIiB2PSIxMjUuMTQ0Ii8+DQorCQkJCQk8dmFsIG89IjE4N2ZlMCIgdj0iMTI0Ljc2OSIvPg0KKwkJCQkJPHZhbCBvPSIxODhkZWYiIHY9IjEyNC41NDkiLz4NCisJCQkJCTx2YWwgbz0iMTg5YzAwIiB2PSIxMjMuNDgzIi8+DQorCQkJCQk8dmFsIG89IjE4YjgwZCIgdj0iMTE2LjYzIi8+DQorCQkJCQk8dmFsIG89IjE4YzYxYyIgdj0iMTIwLjQ2MSIvPg0KKwkJCQkJPHZhbCBvPSIxOGQ0MmMiIHY9IjEyMS4yMjgiLz4NCisJCQkJCTx2YWwgbz0iMThlMjNiIiB2PSIxMjEuMTU0Ii8+DQorCQkJCQk8dmFsIG89IjE4ZjA0YiIgdj0iMTIzLjQwOSIvPg0KKwkJCQkJPHZhbCBvPSIxOGZlNWUiIHY9IjEyNS40MDMiLz4NCisJCQkJCTx2YWwgbz0iMTkwYzc2IiB2PSIxMjIuNzE2Ii8+DQorCQkJCQk8dmFsIG89IjE5MWE4NiIgdj0iMTI0LjM4NSIvPg0KKwkJCQkJPHZhbCBvPSIxOTI4OTYiIHY9IjEyNi4wNDYiLz4NCisJCQkJCTx2YWwgbz0iMTkzNmE2IiB2PSIxMjYuMTY2Ii8+DQorCQkJCQk8dmFsIG89IjE5NDRiNyIgdj0iMTI1LjI2Ii8+DQorCQkJCQk8dmFsIG89IjE5NTJjNiIgdj0iMTIzLjI5Ii8+DQorCQkJCQk8dmFsIG89IjE5NjBkNyIgdj0iMTIwLjQ5OSIvPg0KKwkJCQkJPHZhbCBvPSIxOTZlZTYiIHY9IjEyMC43MDUiLz4NCisJCQkJCTx2YWwgbz0iMTk3Y2Y4IiB2PSIxMjAuNDkyIi8+DQorCQkJCQk8dmFsIG89IjE5OGIwZiIgdj0iMTE5Ljk5NiIvPg0KKwkJCQkJPHZhbCBvPSIxOTk5MWYiIHY9IjEyMC4yNjUiLz4NCisJCQkJCTx2YWwgbz0iMTliNTQxIiB2PSIxMjIuMjMyIi8+DQorCQkJCQk8dmFsIG89IjE5YzM0ZCIgdj0iMTIxLjQ5Ii8+DQorCQkJCQk8dmFsIG89IjE5ZDE1ZSIgdj0iMTIwLjcwNCIvPg0KKwkJCQkJPHZhbCBvPSIxOWRmODAiIHY9IjEyMC42MTQiLz4NCisJCQkJCTx2YWwgbz0iMTllZDkwIiB2PSIxMTkuODM5Ii8+DQorCQkJCQk8dmFsIG89IjE5ZWViZSIgdj0iMTE5LjY4NSIvPg0KKwkJCQkJPHZhbCBvPSIxOWZiOGUiIHY9IjExNS41OTMiLz4NCisJCQkJCTx2YWwgbz0iMWEwOWEwIiB2PSIxMTguODYiLz4NCisJCQkJCTx2YWwgbz0iMWExN2FlIiB2PSIxMTkuOTciLz4NCisJCQkJCTx2YWwgbz0iMWEyNWJlIiB2PSIxMjEuMzY5Ii8+DQorCQkJCQk8dmFsIG89IjFhMzNjZCIgdj0iMTIxLjA5NiIvPg0KKwkJCQkJPHZhbCBvPSIxYTQxZGQiIHY9IjEyMi40NTEiLz4NCisJCQkJCTx2YWwgbz0iMWE0ZmVkIiB2PSIxMjUuNzY1Ii8+DQorCQkJCQk8dmFsIG89IjFhNWUwOCIgdj0iMTI2LjMwMiIvPg0KKwkJCQkJPHZhbCBvPSIxYTZjMDUiIHY9IjEyNC40OTUiLz4NCisJCQkJCTx2YWwgbz0iMWE3YTE1IiB2PSIxMjUuNjU5Ii8+DQorCQkJCQk8dmFsIG89IjFhODgyNiIgdj0iMTI1Ljc3MyIvPg0KKwkJCQkJPHZhbCBvPSIxYTk2MzciIHY9IjEyNC40NjQiLz4NCisJCQkJCTx2YWwgbz0iMWFhNDQ1IiB2PSIxMjMuMTY3Ii8+DQorCQkJCQk8dmFsIG89IjFhYjI1NSIgdj0iMTIxLjEzNyIvPg0KKwkJCQkJPHZhbCBvPSIxYWMwNjUiIHY9IjEyMy42NzciLz4NCisJCQkJCTx2YWwgbz0iMWFjZTc1IiB2PSIxMjMuNTY5Ii8+DQorCQkJCQk8dmFsIG89IjFhZGM4NyIgdj0iMTIyLjI1NCIvPg0KKwkJCQkJPHZhbCBvPSIxYWVhOTYiIHY9IjEyMS43OTQiLz4NCisJCQkJCTx2YWwgbz0iMWFmOGE3IiB2PSIxMjIuMDg4Ii8+DQorCQkJCQk8dmFsIG89IjFiMDZiNyIgdj0iMTIzLjg3Ii8+DQorCQkJCQk8dmFsIG89IjFiMTRjNiIgdj0iMTIzLjU1NiIvPg0KKwkJCQkJPHZhbCBvPSIxYzc0NjAiIHY9IjExOS42ODIiLz4NCisJCQkJCTx2YWwgbz0iMWM4MjcwIiB2PSIxMTkuNjc2Ii8+DQorCQkJCQk8dmFsIG89IjFjOTA3ZSIgdj0iMTE4LjgyMSIvPg0KKwkJCQkJPHZhbCBvPSIxYzllOGYiIHY9IjExOS44MzYiLz4NCisJCQkJCTx2YWwgbz0iMWNhY2EyIiB2PSIxMjEuMTkyIi8+DQorCQkJCQk8dmFsIG89IjFjYmFiMSIgdj0iMTIxLjY4NSIvPg0KKwkJCQkJPHZhbCBvPSIxY2M4YzEiIHY9IjExNy44NzQiLz4NCisJCQkJCTx2YWwgbz0iMWNkNmQwIiB2PSIxMTguNzYyIi8+DQorCQkJCQk8dmFsIG89IjFjZTRkZSIgdj0iMTIwLjI2MyIvPg0KKwkJCQkJPHZhbCBvPSIxY2YyZjAiIHY9IjEyMi40NjgiLz4NCisJCQkJCTx2YWwgbz0iMWQwMTA5IiB2PSIxMjQuNTM2Ii8+DQorCQkJCQk8dmFsIG89IjFkMGYwNiIgdj0iMTIyLjU5OCIvPg0KKwkJCQkJPHZhbCBvPSIxZDFkMTUiIHY9IjEyMy4yIi8+DQorCQkJCQk8dmFsIG89IjFkMmIyNSIgdj0iMTIzLjIxOCIvPg0KKwkJCQkJPHZhbCBvPSIxZDM5MzUiIHY9IjEyMi4yMDIiLz4NCisJCQkJCTx2YWwgbz0iMWQ0NzQ1IiB2PSIxMjEuNDI0Ii8+DQorCQkJCQk8dmFsIG89IjFkNTU1NSIgdj0iMTIwLjg4OCIvPg0KKwkJCQkJPHZhbCBvPSIxZDYzNjYiIHY9IjEyMi43NDMiLz4NCisJCQkJCTx2YWwgbz0iMWQ3MTc1IiB2PSIxMjMuMDc4Ii8+DQorCQkJCQk8dmFsIG89IjFkN2Y4NiIgdj0iMTIyLjIzNyIvPg0KKwkJCQkJPHZhbCBvPSIxZDhkOTUiIHY9IjEyMC44NTgiLz4NCisJCQkJCTx2YWwgbz0iMWQ5YmE2IiB2PSIxMjEuMjMxIi8+DQorCQkJCQk8dmFsIG89IjFkYTliNiIgdj0iMTIyLjE4NSIvPg0KKwkJCQkJPHZhbCBvPSIxZGI3YzciIHY9IjEyMi42NDgiLz4NCisJCQkJCTx2YWwgbz0iMWRjNWQ1IiB2PSIxMjIuOTkyIi8+DQorCQkJCQk8dmFsIG89IjFkZDNlNiIgdj0iMTIyLjQ4MiIvPg0KKwkJCQkJPHZhbCBvPSIxZGUxZjUiIHY9IjExOC43MDciLz4NCisJCQkJCTx2YWwgbz0iMWRmMDA2IiB2PSIxMTcuMzY3Ii8+DQorCQkJCQk8dmFsIG89IjFkZmUxNiIgdj0iMTE1LjcxNCIvPg0KKwkJCQkJPHZhbCBvPSIxZTBjMjYiIHY9IjExNy43NCIvPg0KKwkJCQkJPHZhbCBvPSIxZTFhMzYiIHY9IjExOS4wNDgiLz4NCisJCQkJCTx2YWwgbz0iMWUyODQ3IiB2PSIxMjAuMTc5Ii8+DQorCQkJCQk8dmFsIG89IjFlMzY1OSIgdj0iMTE5Ljk0OSIvPg0KKwkJCQkJPHZhbCBvPSIxZTQ0NjciIHY9IjEyMC45MDYiLz4NCisJCQkJCTx2YWwgbz0iMWU1MjgxIiB2PSIxMTcuMjUxIi8+DQorCQkJCQk8dmFsIG89IjFlNjA4NiIgdj0iMTIwLjExOCIvPg0KKwkJCQkJPHZhbCBvPSIxZTZlOTYiIHY9IjEyMS41MjEiLz4NCisJCQkJCTx2YWwgbz0iMWU3Y2E2IiB2PSIxMjIuMTg4Ii8+DQorCQkJCQk8dmFsIG89IjFlOGFiNSIgdj0iMTIyLjIxMiIvPg0KKwkJCQkJPHZhbCBvPSIxZTk4YzYiIHY9IjEyMS41MzEiLz4NCisJCQkJCTx2YWwgbz0iMWVhNmQ1IiB2PSIxMTkuOTgxIi8+DQorCQkJCQk8dmFsIG89IjFlYjRlNiIgdj0iMTE5Ljk3NyIvPg0KKwkJCQkJPHZhbCBvPSIxZWMyZjYiIHY9IjEyMi45MzkiLz4NCisJCQkJCTx2YWwgbz0iMWVkMTA2IiB2PSIxMjIuMjg5Ii8+DQorCQkJCQk8dmFsIG89IjFlZGYxNiIgdj0iMTIyLjA1Ii8+DQorCQkJCQk8dmFsIG89IjFlZWQyNiIgdj0iMTIyLjI3MSIvPg0KKwkJCQkJPHZhbCBvPSIxZWZiMzYiIHY9IjEyMi44NTYiLz4NCisJCQkJCTx2YWwgbz0iMWYwOTQ2IiB2PSIxMjIuNjExIi8+DQorCQkJCQk8dmFsIG89IjFmMTc1NiIgdj0iMTIxLjE0OCIvPg0KKwkJCQkJPHZhbCBvPSIxZjI1NjYiIHY9IjEyMC44NjQiLz4NCisJCQkJCTx2YWwgbz0iMWYzMzc2IiB2PSIxMTkuNjA5Ii8+DQorCQkJCQk8dmFsIG89IjFmNDE4NyIgdj0iMTE2LjEwMSIvPg0KKwkJCQkJPHZhbCBvPSIxZjRmOTYiIHY9IjExOS4xNjUiLz4NCisJCQkJCTx2YWwgbz0iMWY1ZGE3IiB2PSIxMTkuMjg3Ii8+DQorCQkJCQk8dmFsIG89IjFmNmJiNiIgdj0iMTIwLjIwOCIvPg0KKwkJCQkJPHZhbCBvPSIxZjc5YzciIHY9IjExOC43NzUiLz4NCisJCQkJCTx2YWwgbz0iMWY4N2Q2IiB2PSIxMjIuMjIyIi8+DQorCQkJCQk8dmFsIG89IjFmOTVlNyIgdj0iMTIzLjI4OCIvPg0KKwkJCQkJPHZhbCBvPSIxZmE0MDEiIHY9IjEyNi4wMjYiLz4NCisJCQkJCTx2YWwgbz0iMWZiMjA0IiB2PSIxMjQuODI4Ii8+DQorCQkJCQk8dmFsIG89IjFmYzAxNiIgdj0iMTI1Ljc2OSIvPg0KKwkJCQkJPHZhbCBvPSIxZmNlMjUiIHY9IjEyNS4yMTgiLz4NCisJCQkJCTx2YWwgbz0iMWZkYzM1IiB2PSIxMjQuNzk1Ii8+DQorCQkJCQk8dmFsIG89IjFmZWE0NSIgdj0iMTIyLjM5MyIvPg0KKwkJCQkJPHZhbCBvPSIxZmY4NTUiIHY9IjEyMC41MjMiLz4NCisJCQkJCTx2YWwgbz0iMjAwNjY1IiB2PSIxMTcuMzE5Ii8+DQorCQkJCQk8dmFsIG89IjIwMTQ3NSIgdj0iMTE4Ljc3MiIvPg0KKwkJCQkJPHZhbCBvPSIyMDIyODYiIHY9IjExOC44MDgiLz4NCisJCQkJCTx2YWwgbz0iMjAzMDk1IiB2PSIxMTkuNjg2Ii8+DQorCQkJCQk8dmFsIG89IjIwM2VhNSIgdj0iMTE5Ljk5Ii8+DQorCQkJCQk8dmFsIG89IjIwNGNiNiIgdj0iMTIyLjcwOCIvPg0KKwkJCQkJPHZhbCBvPSIyMDVhYzYiIHY9IjEyMC43NjIiLz4NCisJCQkJCTx2YWwgbz0iMjA2OGQ2IiB2PSIxMTkuOTIiLz4NCisJCQkJCTx2YWwgbz0iMjA3NmU2IiB2PSIxMTkuMTI5Ii8+DQorCQkJCQk8dmFsIG89IjIwODRmNiIgdj0iMTE3LjA5MSIvPg0KKwkJCQkJPHZhbCBvPSIyMDkzMDYiIHY9IjEyMS4yMTkiLz4NCisJCQkJCTx2YWwgbz0iMjBhMTE2IiB2PSIxMjAuMjgiLz4NCisJCQkJCTx2YWwgbz0iMjBhZjI2IiB2PSIxMTkuNjkiLz4NCisJCQkJCTx2YWwgbz0iMjBiZDM3IiB2PSIxMjAuNjc3Ii8+DQorCQkJCQk8dmFsIG89IjIwY2I0NiIgdj0iMTE4Ljc1NiIvPg0KKwkJCQkJPHZhbCBvPSIyMGQ5NTciIHY9IjExOS42MDgiLz4NCisJCQkJCTx2YWwgbz0iMjBlNzY3IiB2PSIxMjEuMDU5Ii8+DQorCQkJCQk8dmFsIG89IjIwZjU4MSIgdj0iMTIzLjU3MyIvPg0KKwkJCQkJPHZhbCBvPSIyMTAzODYiIHY9IjEyNS45NzYiLz4NCisJCQkJCTx2YWwgbz0iMjExMTk0IiB2PSIxMjMuOTI2Ii8+DQorCQkJCQk8dmFsIG89IjIxMWZhNSIgdj0iMTIzLjg4OCIvPg0KKwkJCQkJPHZhbCBvPSIyMTJkYjUiIHY9IjEyMy4wOCIvPg0KKwkJCQkJPHZhbCBvPSIyMTNiYzUiIHY9IjEyMS42OSIvPg0KKwkJCQkJPHZhbCBvPSIyMTQ5ZDYiIHY9IjExNy45MTYiLz4NCisJCQkJCTx2YWwgbz0iMjE1N2U1IiB2PSIxMTYuMDE0Ii8+DQorCQkJCQk8dmFsIG89IjIxNjVmNiIgdj0iMTIxLjkzNSIvPg0KKwkJCQkJPHZhbCBvPSIyMTc0MDYiIHY9IjExOS42NzUiLz4NCisJCQkJCTx2YWwgbz0iMjE4MjE3IiB2PSIxMTguOCIvPg0KKwkJCQkJPHZhbCBvPSIyMTkwMjYiIHY9IjExOS42NDkiLz4NCisJCQkJCTx2YWwgbz0iMjE5ZTM5IiB2PSIxMTkuNzE1Ii8+DQorCQkJCQk8dmFsIG89IjIxYWM0NiIgdj0iMTE4LjYyMiIvPg0KKwkJCQkJPHZhbCBvPSIyMWJhNTciIHY9IjExOC40NTkiLz4NCisJCQkJCTx2YWwgbz0iMjFjODY3IiB2PSIxMTcuMzM5Ii8+DQorCQkJCQk8dmFsIG89IjIxZDY3NyIgdj0iMTIyLjA5NSIvPg0KKwkJCQkJPHZhbCBvPSIyMWU0ODciIHY9IjExOS41NTYiLz4NCisJCQkJCTx2YWwgbz0iMjFmMjk2IiB2PSIxMTkuNzYxIi8+DQorCQkJCQk8dmFsIG89IjIyMDBhNiIgdj0iMTIwLjUzIi8+DQorCQkJCQk8dmFsIG89IjIyMGViNyIgdj0iMTIxLjQyOCIvPg0KKwkJCQkJPHZhbCBvPSIyMjFjYzYiIHY9IjExOC4wMDMiLz4NCisJCQkJCTx2YWwgbz0iMjIyYWQ3IiB2PSIxMjAuMjI4Ii8+DQorCQkJCQk8dmFsIG89IjIyMzhlNyIgdj0iMTIzLjMzIi8+DQorCQkJCQk8dmFsIG89IjIyNDcwMSIgdj0iMTI1Ljg2MSIvPg0KKwkJCQkJPHZhbCBvPSIyMjU1MDUiIHY9IjExOC43ODgiLz4NCisJCQkJCTx2YWwgbz0iMjI2MzE1IiB2PSIxMTkuMTA2Ii8+DQorCQkJCQk8dmFsIG89IjIyNzEyNSIgdj0iMTE5LjExNiIvPg0KKwkJCQkJPHZhbCBvPSIyMjdmMzUiIHY9IjExNi45MDgiLz4NCisJCQkJCTx2YWwgbz0iMjI4ZDQ1IiB2PSIxMTUuNjQyIi8+DQorCQkJCQk8dmFsIG89IjIyOWI1NCIgdj0iMTIyLjAxMyIvPg0KKwkJCQkJPHZhbCBvPSIyMmE5NjUiIHY9IjExOS4yMzQiLz4NCisJCQkJCTx2YWwgbz0iMjJiNzc2IiB2PSIxMTkuMzEiLz4NCisJCQkJCTx2YWwgbz0iMjJjNTg2IiB2PSIxMTguNTY2Ii8+DQorCQkJCQk8dmFsIG89IjIyZDM5NyIgdj0iMTE4LjI0MyIvPg0KKwkJCQkJPHZhbCBvPSIyMmUxYTYiIHY9IjExOC41NzkiLz4NCisJCQkJCTx2YWwgbz0iMjJlZmI2IiB2PSIxMjAuMjg4Ii8+DQorCQkJCQk8dmFsIG89IjIyZmRjNyIgdj0iMTE5Ljk5NiIvPg0KKwkJCQkJPHZhbCBvPSIyMzBiZDciIHY9IjExOS4yNDkiLz4NCisJCQkJCTx2YWwgbz0iMjMxOWU2IiB2PSIxMTguODY2Ii8+DQorCQkJCQk8dmFsIG89IjIzMjdmNiIgdj0iMTE3Ljc0MSIvPg0KKwkJCQkJPHZhbCBvPSIyMzM2MWIiIHY9IjExOC41NDMiLz4NCisJCQkJCTx2YWwgbz0iMjM0NDE2IiB2PSIxMTcuNTM4Ii8+DQorCQkJCQk8dmFsIG89IjIzNTIyNiIgdj0iMTE4LjcwOSIvPg0KKwkJCQkJPHZhbCBvPSIyMzYwMzciIHY9IjExOS45NCIvPg0KKwkJCQkJPHZhbCBvPSIyMzZlNDYiIHY9IjExNy42NjgiLz4NCisJCQkJCTx2YWwgbz0iMjM3YzU3IiB2PSIxMTkuMTU5Ii8+DQorCQkJCQk8dmFsIG89IjIzOGE2NiIgdj0iMTIwLjc3MSIvPg0KKwkJCQkJPHZhbCBvPSIyMzk4ODEiIHY9IjEyMC4yMzQiLz4NCisJCQkJCTx2YWwgbz0iMjNhNjg1IiB2PSIxMjEuNjI0Ii8+DQorCQkJCQk8dmFsIG89IjIzYjQ5NSIgdj0iMTIyLjI3MiIvPg0KKwkJCQkJPHZhbCBvPSIyM2MyYTQiIHY9IjEyMi40MjIiLz4NCisJCQkJCTx2YWwgbz0iMjNkMGI1IiB2PSIxMjEuNjg3Ii8+DQorCQkJCQk8dmFsIG89IjIzZGVjNCIgdj0iMTIwLjM2MSIvPg0KKwkJCQkJPHZhbCBvPSIyM2VjZDUiIHY9IjExOC43NTEiLz4NCisJCQkJCTx2YWwgbz0iMjNmYWU0IiB2PSIxMjAuMDI4Ii8+DQorCQkJCQk8dmFsIG89IjI0MDhmNiIgdj0iMTE3Ljk3NCIvPg0KKwkJCQkJPHZhbCBvPSIyNDE3MDYiIHY9IjExNy4zMDUiLz4NCisJCQkJCTx2YWwgbz0iMjQyNTE4IiB2PSIxMTcuNzEiLz4NCisJCQkJCTx2YWwgbz0iMjQzMzI1IiB2PSIxMTguMTkzIi8+DQorCQkJCQk8dmFsIG89IjI0NDEzNyIgdj0iMTE5LjU0MiIvPg0KKwkJCQkJPHZhbCBvPSIyNDRmNDYiIHY9IjExOC43NDEiLz4NCisJCQkJCTx2YWwgbz0iMjQ2YjY2IiB2PSIxMTguMjk1Ii8+DQorCQkJCQk8dmFsIG89IjI0Nzk3NiIgdj0iMTE3LjUzNCIvPg0KKwkJCQkJPHZhbCBvPSIyNDg3ODYiIHY9IjExNC40NzIiLz4NCisJCQkJCTx2YWwgbz0iMjQ5NTdlIiB2PSIxMTcuMzU3Ii8+DQorCQkJCQk8dmFsIG89IjI0YTM4ZiIgdj0iMTE4Ljg1MSIvPg0KKwkJCQkJPHZhbCBvPSIyNGIxOWMiIHY9IjEyMC4xMzciLz4NCisJCQkJCTx2YWwgbz0iMjRiZmFjIiB2PSIxMTkuMzQ5Ii8+DQorCQkJCQk8dmFsIG89IjI0Y2RiYyIgdj0iMTIzLjIyNiIvPg0KKwkJCQkJPHZhbCBvPSIyNGRiY2QiIHY9IjEyMi45MjEiLz4NCisJCQkJCTx2YWwgbz0iMjRlOWU1IiB2PSIxMjQuMjczIi8+DQorCQkJCQk8dmFsIG89IjI0ZjgwOCIgdj0iMTIzLjUxNSIvPg0KKwkJCQkJPHZhbCBvPSIyNTA2MTYiIHY9IjEyNC4xODIiLz4NCisJCQkJCTx2YWwgbz0iMjUxNDI2IiB2PSIxMjQuMjciLz4NCisJCQkJCTx2YWwgbz0iMjUyMjM2IiB2PSIxMjIuODI3Ii8+DQorCQkJCQk8dmFsIG89IjI1MzA0NyIgdj0iMTIxLjgwMSIvPg0KKwkJCQkJPHZhbCBvPSIyNTNlNTYiIHY9IjExOS41MTQiLz4NCisJCQkJCTx2YWwgbz0iMjU0YzY3IiB2PSIxMTguOTIyIi8+DQorCQkJCQk8dmFsIG89IjI1NWE3NiIgdj0iMTE4Ljg2Ii8+DQorCQkJCQk8dmFsIG89IjI1Njg4NyIgdj0iMTE3LjI2NCIvPg0KKwkJCQkJPHZhbCBvPSIyNTc2OTciIHY9IjExOC4wMjIiLz4NCisJCQkJCTx2YWwgbz0iMjU4NGE4IiB2PSIxMTYuODE5Ii8+DQorCQkJCQk8dmFsIG89IjI1OTJiNiIgdj0iMTE4LjM4NCIvPg0KKwkJCQkJPHZhbCBvPSIyNWEwYzciIHY9IjExOS4yNzYiLz4NCisJCQkJCTx2YWwgbz0iMjVhZWQ3IiB2PSIxMTguODEiLz4NCisJCQkJCTx2YWwgbz0iMjViY2U3IiB2PSIxMTguNjc2Ii8+DQorCQkJCQk8dmFsIG89IjI1Y2FmOCIgdj0iMTE4LjEwOCIvPg0KKwkJCQkJPHZhbCBvPSIyNWQ5MDciIHY9IjExOS42MjUiLz4NCisJCQkJCTx2YWwgbz0iMjVlNzE4IiB2PSIxMTkuMDQyIi8+DQorCQkJCQk8dmFsIG89IjI1ZjUyNyIgdj0iMTE5LjYzOCIvPg0KKwkJCQkJPHZhbCBvPSIyNjAzMzgiIHY9IjEyMC4zNTUiLz4NCisJCQkJCTx2YWwgbz0iMjYxMTQ5IiB2PSIxMTguNzI4Ii8+DQorCQkJCQk8dmFsIG89IjI2MWY1OSIgdj0iMTE5Ljc3NyIvPg0KKwkJCQkJPHZhbCBvPSIyNjJkNjgiIHY9IjEyMi42MjEiLz4NCisJCQkJCTx2YWwgbz0iMjYzYjgzIiB2PSIxMjAuNDk0Ii8+DQorCQkJCQk8dmFsIG89IjI2NDk4NiIgdj0iMTIyLjMzNSIvPg0KKwkJCQkJPHZhbCBvPSIyNjU3OTUiIHY9IjEyMy4wMDEiLz4NCisJCQkJCTx2YWwgbz0iMjY2NWE2IiB2PSIxMjMuODI3Ii8+DQorCQkJCQk8dmFsIG89IjI2NzNiNSIgdj0iMTIyLjkzOSIvPg0KKwkJCQkJPHZhbCBvPSIyNjgxYzYiIHY9IjEyMi4zOTgiLz4NCisJCQkJCTx2YWwgbz0iMjY4ZmQ1IiB2PSIxMjEuMjEyIi8+DQorCQkJCQk8dmFsIG89IjI2OWRlNiIgdj0iMTIwLjg0NCIvPg0KKwkJCQkJPHZhbCBvPSIyNmFiZjYiIHY9IjEyMC4wNTQiLz4NCisJCQkJCTx2YWwgbz0iMjZiYTA2IiB2PSIxMTguMjk3Ii8+DQorCQkJCQk8dmFsIG89IjI2YzgxNyIgdj0iMTE3Ljc5NSIvPg0KKwkJCQkJPHZhbCBvPSIyNmQ2MmIiIHY9IjExNy45OTYiLz4NCisJCQkJCTx2YWwgbz0iMjZlNDM2IiB2PSIxMTkuMjg3Ii8+DQorCQkJCQk8dmFsIG89IjI2ZjI0NyIgdj0iMTE4LjgxNSIvPg0KKwkJCQkJPHZhbCBvPSIyNzAwNTciIHY9IjExOC45NTUiLz4NCisJCQkJCTx2YWwgbz0iMjcwZTY3IiB2PSIxMTguNDQ5Ii8+DQorCQkJCQk8dmFsIG89IjI3MWM3NyIgdj0iMTE5LjE1NyIvPg0KKwkJCQkJPHZhbCBvPSIyNzJhODciIHY9IjEyMC4xMjQiLz4NCisJCQkJCTx2YWwgbz0iMjczODk3IiB2PSIxMTkuODU4Ii8+DQorCQkJCQk8dmFsIG89IjI3NDZhOCIgdj0iMTIwLjY2OCIvPg0KKwkJCQkJPHZhbCBvPSIyNzU0YjkiIHY9IjEyMS4wNjciLz4NCisJCQkJCTx2YWwgbz0iMjc2MmM3IiB2PSIxMTguMjY1Ii8+DQorCQkJCQk8dmFsIG89IjI3NzBkOCIgdj0iMTIwLjMwOCIvPg0KKwkJCQkJPHZhbCBvPSIyNzdlZTciIHY9IjEyMi44NTEiLz4NCisJCQkJPC9wYXI+DQorCQkJCTxwYXIgbWVtaW5kPSI0NDA2MDAiIGg9IjNkYzFhOGRlIj4NCisJCQkJCTx2YWwgbz0iMCIgdj0iLTEyNzUiLz4NCisJCQkJCTx2YWwgbz0iZTA4IiB2PSItMTQ4MiIvPg0KKwkJCQkJPHZhbCBvPSIxYzMyIiB2PSItMTU2MiIvPg0KKwkJCQkJPHZhbCBvPSIyYTNjIiB2PSItMTY0MyIvPg0KKwkJCQkJPHZhbCBvPSIzODM1IiB2PSItMTQ0NiIvPg0KKwkJCQkJPHZhbCBvPSI0NjQ1IiB2PSItMTI3NiIvPg0KKwkJCQkJPHZhbCBvPSI1NDU1IiB2PSItMTA0OSIvPg0KKwkJCQkJPHZhbCBvPSI2MjY1IiB2PSItMTY5NCIvPg0KKwkJCQkJPHZhbCBvPSI3MDc1IiB2PSItMTc2MCIvPg0KKwkJCQkJPHZhbCBvPSI3ZTg1IiB2PSItMTY2MiIvPg0KKwkJCQkJPHZhbCBvPSI4Yzk2IiB2PSItMjA2NyIvPg0KKwkJCQkJPHZhbCBvPSI5YWE1IiB2PSItMTk5MiIvPg0KKwkJCQkJPHZhbCBvPSJhOGI2IiB2PSItMTkyOCIvPg0KKwkJCQkJPHZhbCBvPSJiNmM1IiB2PSItMjAxOCIvPg0KKwkJCQkJPHZhbCBvPSJjNGQ3IiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSJkMzBiIiB2PSItNiIvPg0KKwkJCQkJPHZhbCBvPSJlMGY2IiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSJlZjA2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89ImZkMTciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTBiMjciIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjExOTM3IiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSIxMjc0NiIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iMTM1NTYiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjE0MzY2IiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSIxNTE4MSIgdj0iLTgiLz4NCisJCQkJCTx2YWwgbz0iMTVmODUiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjE2ZDk1IiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSIxN2JhNCIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iMTg5YjUiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjE5N2M0IiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSIxYTVkNSIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iMWIzZTYiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjFjMWY2IiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSIxZDAwNSIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iMWRlMTUiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjFlYzI1IiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSIxZmEzNiIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iMjA4NDUiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjIxNjU2IiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSIyMjQ2NSIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iMjMyNzYiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjI0MDg2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjI0ZTk5IiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSIyNWNhNyIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iMjZhYjciIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjI3OGM2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjI4NmQ2IiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSIyOTRlNiIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iMmEzMDEiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjJiMTA1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjJiZjE1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjJjZDI1IiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSIyZGIzNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyZTk0NiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyZjc1NSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIzMDU2NiIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iMzEzNzUiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjMyMTllIiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSIzMmY5NiIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iMzNkYTYiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjM0YmI2IiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSIzNTlkZSIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iMzY3ZDYiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjM3NWU2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjM4NDBlIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjM5MjFlIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjNhMDE2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjNhZTI3IiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSIzYmMzNiIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iM2NhNDciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iM2Q4NTYiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjNlNjY3IiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSIzZjQ4MSIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iNDAyODUiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjQxMDk1IiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSI0MWVhNSIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iNDJjYjUiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjQzYWM1IiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSI0NDhkNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI0NTZlNiIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iNDY0ZjUiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjQ4MGZmIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjQ4ZjBlIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjQ5ZDFkIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjRhYjQ2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjRiOTU1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjRjNzY5IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjRkNTc3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjRlMzg3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjRmMTk2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjRmZmE2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjUwZGQwIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjUxYmM2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjUyOWQ2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjUzN2U3IiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSI1NDYwMCIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iNTU0MDYiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjU2MjE1IiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSI1NzAyNiIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iNTdlMzYiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjU4YzQ2IiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSI1OWE3MCIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iNWE4NjciIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjViNjc2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjVjNDg3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjVkMjk2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjVlMGE5IiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSI1ZWViOCIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iNWZjYzYiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjYwYWQ3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjYxOGU3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjYyNmY3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjYzNTA3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjY0MzE3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjY1MTI3IiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSI2NWYzNyIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iNjZkNDYiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjY3YjU3IiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSI2ODk2NyIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iNjk3ODIiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjZhNTg2IiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSI2YjM5NSIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iNmMxYTYiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjZjZmI1IiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSI2ZGRjNiIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iNmViZDYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iNmY5ZTYiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjcwN2Y2IiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSI3MTYwNyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI3MjQxNyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI3MzIyNyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI3NDAzNyIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iNzRlNDciIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89Ijc1YzU3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89Ijc2YTYzIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89Ijc3ODczIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89Ijc4NjgwIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89Ijc5NDhmIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjdhMjlmIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjdiMGFmIiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSI3YmViZiIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iN2NjY2YiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjdkYWRmIiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSI3ZThmYSIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iN2Y3MGEiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjgwNTFhIiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSI4MTMyYSIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iODIxM2EiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjgyZjRhIiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSI4M2Q1YSIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iODRiNmEiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iODU5N2EiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iODY3OGIiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iODc1OWIiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iODgzYWMiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89Ijg5MWJiIiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSI4OWZjYSIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iOGFkZGEiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iOGJiZWIiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iOGM5ZmMiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iOGQ4MGIiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iOGU2MWEiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iOGY0MmEiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iOTAyM2EiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iOTEwNGEiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjkxZTVhIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjkyYzZhIiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSI5M2E4NCIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iOTQ4ODUiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89Ijk1Njk0IiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSI5NjRhNSIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iOTcyYjQiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89Ijk4MGM1IiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSI5OGVkNCIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iOTljZTUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iOWFhZjUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iOWI5MDYiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjljNzE2IiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSI5ZDUyNiIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iOWUzMzYiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjlmMTQ1IiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSI5ZmY1NiIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iYTBkNjUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iYTFiNzciIHY9Ii0xODQ1Ii8+DQorCQkJCQk8dmFsIG89ImEyOTg2IiB2PSItNjMxIi8+DQorCQkJCQk8dmFsIG89ImEzNzk1IiB2PSIxNTY0Ii8+DQorCQkJCQk8dmFsIG89ImE0NWE3IiB2PSItNjYiLz4NCisJCQkJCTx2YWwgbz0iYTUzYjYiIHY9Ii0zOTMiLz4NCisJCQkJCTx2YWwgbz0iYTYxYzciIHY9Ii02OTEiLz4NCisJCQkJCTx2YWwgbz0iYTZmZDYiIHY9Ii04ODMiLz4NCisJCQkJCTx2YWwgbz0iYTdlMDAiIHY9Ii0xNTc1Ii8+DQorCQkJCQk8dmFsIG89ImE4YzAwIiB2PSItMjIwOSIvPg0KKwkJCQkJPHZhbCBvPSJhOWEwNSIgdj0iMTA5Ii8+DQorCQkJCQk8dmFsIG89ImFhODE1IiB2PSItNDIwIi8+DQorCQkJCQk8dmFsIG89ImFiNjI1IiB2PSItODU5Ii8+DQorCQkJCQk8dmFsIG89ImFjNDM1IiB2PSItNjI4Ii8+DQorCQkJCQk8dmFsIG89ImFkMjQ1IiB2PSI1MTYiLz4NCisJCQkJCTx2YWwgbz0iYWUwNTUiIHY9IjE4MzkiLz4NCisJCQkJCTx2YWwgbz0iYWVlNjUiIHY9IjI5MyIvPg0KKwkJCQkJPHZhbCBvPSJhZmM3NSIgdj0iMTE4NSIvPg0KKwkJCQkJPHZhbCBvPSJiMGE4NSIgdj0iMzk0NiIvPg0KKwkJCQkJPHZhbCBvPSJiMjZhNiIgdj0iNDIzMCIvPg0KKwkJCQkJPHZhbCBvPSJiMzRiNiIgdj0iMzY4OSIvPg0KKwkJCQkJPHZhbCBvPSJiNDJjNiIgdj0iMjQ4Ii8+DQorCQkJCQk8dmFsIG89ImI1MGQ2IiB2PSI0MzAiLz4NCisJCQkJCTx2YWwgbz0iYjVlZTciIHY9IjEwMjYiLz4NCisJCQkJCTx2YWwgbz0iYjZjZjYiIHY9Ii01MjYiLz4NCisJCQkJCTx2YWwgbz0iYjdiMDciIHY9Ii0yNTgiLz4NCisJCQkJCTx2YWwgbz0iYjg5MTciIHY9Ii02NSIvPg0KKwkJCQkJPHZhbCBvPSJiOTcyOCIgdj0iLTQ4OSIvPg0KKwkJCQkJPHZhbCBvPSJiYTUzNyIgdj0iLTg0MiIvPg0KKwkJCQkJPHZhbCBvPSJiYjM0NyIgdj0iMTA4MiIvPg0KKwkJCQkJPHZhbCBvPSJiYzE1NyIgdj0iMzEwIi8+DQorCQkJCQk8dmFsIG89ImJjZjY3IiB2PSItMTExMiIvPg0KKwkJCQkJPHZhbCBvPSJiZGQ4MSIgdj0iMzYzMiIvPg0KKwkJCQkJPHZhbCBvPSJiZWI4NiIgdj0iNTEzIi8+DQorCQkJCQk8dmFsIG89ImJmOTk1IiB2PSIyMTQiLz4NCisJCQkJCTx2YWwgbz0iYzA3YTYiIHY9Ii0yOTIiLz4NCisJCQkJCTx2YWwgbz0iYzE1YjUiIHY9Ii0xMjciLz4NCisJCQkJCTx2YWwgbz0iYzIzYzYiIHY9IjQ5NSIvPg0KKwkJCQkJPHZhbCBvPSJjMzFkNSIgdj0iMTgxNSIvPg0KKwkJCQkJPHZhbCBvPSJjM2ZlNiIgdj0iODE4Ii8+DQorCQkJCQk8dmFsIG89ImM0ZGY1IiB2PSIxNTM5Ii8+DQorCQkJCQk8dmFsIG89ImM1YzA2IiB2PSI2ODAiLz4NCisJCQkJCTx2YWwgbz0iYzZhMTYiIHY9IjcxMiIvPg0KKwkJCQkJPHZhbCBvPSJjNzgyNiIgdj0iMTI4MCIvPg0KKwkJCQkJPHZhbCBvPSJjODYzNiIgdj0iMzk3Ii8+DQorCQkJCQk8dmFsIG89ImM5NDQ2IiB2PSI0OTMiLz4NCisJCQkJCTx2YWwgbz0iY2EyNTYiIHY9IjI1MCIvPg0KKwkJCQkJPHZhbCBvPSJjYjA2NiIgdj0iNzg1Ii8+DQorCQkJCQk8dmFsIG89ImNiZTc2IiB2PSItMjAxIi8+DQorCQkJCQk8dmFsIG89ImNjYzg3IiB2PSIyMTU2Ii8+DQorCQkJCQk8dmFsIG89ImNkYTk2IiB2PSIyOTM3Ii8+DQorCQkJCQk8dmFsIG89ImNlOGE4IiB2PSIyMTA3Ii8+DQorCQkJCQk8dmFsIG89ImNmNmI3IiB2PSIyODI0Ii8+DQorCQkJCQk8dmFsIG89ImQwNGM4IiB2PSIyMjY5Ii8+DQorCQkJCQk8dmFsIG89ImQxMmQ3IiB2PSIxNDQxIi8+DQorCQkJCQk8dmFsIG89ImQyMGU3IiB2PSItMjk3Ii8+DQorCQkJCQk8dmFsIG89ImQyZjAyIiB2PSItMjI4MCIvPg0KKwkJCQkJPHZhbCBvPSJkM2QwNSIgdj0iLTExODkiLz4NCisJCQkJCTx2YWwgbz0iZDRiMTUiIHY9Ii05NjQiLz4NCisJCQkJCTx2YWwgbz0iZDU5MjYiIHY9Ii00NDIiLz4NCisJCQkJCTx2YWwgbz0iZDY3MzUiIHY9IjI2MSIvPg0KKwkJCQkJPHZhbCBvPSJkNzU0NiIgdj0iMTMwOSIvPg0KKwkJCQkJPHZhbCBvPSJkODM1NSIgdj0iLTg0OSIvPg0KKwkJCQkJPHZhbCBvPSJkOTE2NiIgdj0iMTc4Ii8+DQorCQkJCQk8dmFsIG89ImQ5Zjc1IiB2PSIxMTExIi8+DQorCQkJCQk8dmFsIG89ImRhZDg3IiB2PSIyNzUwIi8+DQorCQkJCQk8dmFsIG89ImRiYjk3IiB2PSIyNzY5Ii8+DQorCQkJCQk8dmFsIG89ImRjOWE4IiB2PSIyOTczIi8+DQorCQkJCQk8dmFsIG89ImRkN2I3IiB2PSIxMzI3Ii8+DQorCQkJCQk8dmFsIG89ImRlNWM2IiB2PSI0NTQiLz4NCisJCQkJCTx2YWwgbz0iZGYzZDciIHY9IjE5OSIvPg0KKwkJCQkJPHZhbCBvPSJlMDFkNyIgdj0iMTY3Ii8+DQorCQkJCQk8dmFsIG89ImUwZmU1IiB2PSI1NTYiLz4NCisJCQkJCTx2YWwgbz0iZTFkZjUiIHY9IjQxNiIvPg0KKwkJCQkJPHZhbCBvPSJlMmMwNCIgdj0iLTM3MCIvPg0KKwkJCQkJPHZhbCBvPSJlM2ExNCIgdj0iLTExNTQiLz4NCisJCQkJCTx2YWwgbz0iZTQ4MjQiIHY9IjkzIi8+DQorCQkJCQk8dmFsIG89ImU1NjM0IiB2PSItODQzIi8+DQorCQkJCQk8dmFsIG89ImU2NDQ0IiB2PSIxNzEiLz4NCisJCQkJCTx2YWwgbz0iZTcyNTUiIHY9Ii02NDYiLz4NCisJCQkJCTx2YWwgbz0iZTgwNmYiIHY9Ii03MjMiLz4NCisJCQkJCTx2YWwgbz0iZThlN2YiIHY9IjI2NjUiLz4NCisJCQkJCTx2YWwgbz0iZTljOGUiIHY9IjgzNyIvPg0KKwkJCQkJPHZhbCBvPSJlYWE5ZiIgdj0iNjk4Ii8+DQorCQkJCQk8dmFsIG89ImViOGFlIiB2PSIxMDk3Ii8+DQorCQkJCQk8dmFsIG89ImVjNmJmIiB2PSIyNjQ5Ii8+DQorCQkJCQk8dmFsIG89ImVkNGNlIiB2PSItNDk1Ii8+DQorCQkJCQk8dmFsIG89ImVlMmRmIiB2PSIxMTY1Ii8+DQorCQkJCQk8dmFsIG89ImVmMGVmIiB2PSI1NDIiLz4NCisJCQkJCTx2YWwgbz0iZWZmMDEiIHY9IjE4NzEiLz4NCisJCQkJCTx2YWwgbz0iZjBkMTAiIHY9Ijk3OSIvPg0KKwkJCQkJPHZhbCBvPSJmMWIyMCIgdj0iMTIxMCIvPg0KKwkJCQkJPHZhbCBvPSJmMjkzMCIgdj0iLTM1NiIvPg0KKwkJCQkJPHZhbCBvPSJmMzc0MCIgdj0iMTY1NCIvPg0KKwkJCQkJPHZhbCBvPSJmNDU1MSIgdj0iMTM2OCIvPg0KKwkJCQkJPHZhbCBvPSJmNTM2MSIgdj0iMTQ2MiIvPg0KKwkJCQkJPHZhbCBvPSJmNjE3MiIgdj0iMTYxMiIvPg0KKwkJCQkJPHZhbCBvPSJmNmY4MCIgdj0iMTMwOSIvPg0KKwkJCQkJPHZhbCBvPSJmN2Q5MSIgdj0iMTg4NiIvPg0KKwkJCQkJPHZhbCBvPSJmOGJhMSIgdj0iMTEzNiIvPg0KKwkJCQkJPHZhbCBvPSJmOTliMSIgdj0iMTE2OSIvPg0KKwkJCQkJPHZhbCBvPSJmYTdjMCIgdj0iMTQwMyIvPg0KKwkJCQkJPHZhbCBvPSJmYjVkMSIgdj0iMTMxNiIvPg0KKwkJCQkJPHZhbCBvPSJmYzNlMCIgdj0iLTEwNDEiLz4NCisJCQkJCTx2YWwgbz0iZmQxZmIiIHY9Ii0xMTkwIi8+DQorCQkJCQk8dmFsIG89ImZlMDBiIiB2PSItMTYwOSIvPg0KKwkJCQkJPHZhbCBvPSJmZWUxYyIgdj0iLTE5OSIvPg0KKwkJCQkJPHZhbCBvPSJmZmMyYyIgdj0iLTI1MiIvPg0KKwkJCQkJPHZhbCBvPSIxMDBhM2IiIHY9IjU4NSIvPg0KKwkJCQkJPHZhbCBvPSIxMDE4NGMiIHY9IjEwNjkiLz4NCisJCQkJCTx2YWwgbz0iMTAyNjViIiB2PSIxOTczIi8+DQorCQkJCQk8dmFsIG89IjEwMzQ2YyIgdj0iMTgzMSIvPg0KKwkJCQkJPHZhbCBvPSIxMDQyN2IiIHY9IjExMjciLz4NCisJCQkJCTx2YWwgbz0iMTA1MDhkIiB2PSIxNzY3Ii8+DQorCQkJCQk8dmFsIG89IjEwNWU5ZCIgdj0iMTM0MyIvPg0KKwkJCQkJPHZhbCBvPSIxMDZjYWQiIHY9IjE1NjQiLz4NCisJCQkJCTx2YWwgbz0iMTA3YWJkIiB2PSI4NDkiLz4NCisJCQkJCTx2YWwgbz0iMTA4OGNkIiB2PSI4MDUiLz4NCisJCQkJCTx2YWwgbz0iMTA5NmRlIiB2PSIxMDkzIi8+DQorCQkJCQk8dmFsIG89IjEwYTRlZCIgdj0iODgwIi8+DQorCQkJCQk8dmFsIG89IjEwYjJmZSIgdj0iMTI1NCIvPg0KKwkJCQkJPHZhbCBvPSIxMGMxMGQiIHY9IjI2NjQiLz4NCisJCQkJCTx2YWwgbz0iMTBjZjFlIiB2PSIxMzY4Ii8+DQorCQkJCQk8dmFsIG89IjEwZGQyZSIgdj0iMTAwOSIvPg0KKwkJCQkJPHZhbCBvPSIxMGViNjYiIHY9IjIwOCIvPg0KKwkJCQkJPHZhbCBvPSIxMGY5NGUiIHY9IjIyIi8+DQorCQkJCQk8dmFsIG89IjExMDc1ZSIgdj0iMTE0MiIvPg0KKwkJCQkJPHZhbCBvPSIxMTE1NmQiIHY9IjI4NiIvPg0KKwkJCQkJPHZhbCBvPSIxMTIzODgiIHY9Ii0xMTY4Ii8+DQorCQkJCQk8dmFsIG89IjExMzE4NyIgdj0iNzEyIi8+DQorCQkJCQk8dmFsIG89IjExM2ZiMCIgdj0iMjI3Ii8+DQorCQkJCQk8dmFsIG89IjExNGRhNiIgdj0iMjM2Ii8+DQorCQkJCQk8dmFsIG89IjExNWJiNiIgdj0iMzcyIi8+DQorCQkJCQk8dmFsIG89IjExNjljNiIgdj0iMTQ0MSIvPg0KKwkJCQkJPHZhbCBvPSIxMTc3ZDYiIHY9IjIwMTUiLz4NCisJCQkJCTx2YWwgbz0iMTE4NWU4IiB2PSIxMjExIi8+DQorCQkJCQk8dmFsIG89IjExOTNmNyIgdj0iMTI4NCIvPg0KKwkJCQkJPHZhbCBvPSIxMWEyMDgiIHY9IjM2OSIvPg0KKwkJCQkJPHZhbCBvPSIxMWIwMTciIHY9Ii0zMTAiLz4NCisJCQkJCTx2YWwgbz0iMTFiZTJmIiB2PSItODAyIi8+DQorCQkJCQk8dmFsIG89IjExY2MzNyIgdj0iNzgxIi8+DQorCQkJCQk8dmFsIG89IjExZGE0NyIgdj0iNDkxIi8+DQorCQkJCQk8dmFsIG89IjExZTg1NyIgdj0iMTAyMyIvPg0KKwkJCQkJPHZhbCBvPSIxMWY2NjciIHY9IjUxNiIvPg0KKwkJCQkJPHZhbCBvPSIxMjA1NzgiIHY9IjEiLz4NCisJCQkJCTx2YWwgbz0iMTIxMzg2IiB2PSIxIi8+DQorCQkJCQk8dmFsIG89IjEyMjE5NiIgdj0iMiIvPg0KKwkJCQkJPHZhbCBvPSIxMjJmYTYiIHY9IjEiLz4NCisJCQkJCTx2YWwgbz0iMTIzZGI1IiB2PSIxIi8+DQorCQkJCQk8dmFsIG89IjEyNGJjNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxMjU5ZDUiIHY9IjEiLz4NCisJCQkJCTx2YWwgbz0iMTI2N2U0IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjEyNzYwMCIgdj0iLTEiLz4NCisJCQkJCTx2YWwgbz0iMTI4MzA1IiB2PSItMSIvPg0KKwkJCQkJPHZhbCBvPSIxMjkxMTUiIHY9Ii0xIi8+DQorCQkJCQk8dmFsIG89IjEyOWYyNSIgdj0iLTEiLz4NCisJCQkJCTx2YWwgbz0iMTJhZDM1IiB2PSItMSIvPg0KKwkJCQkJPHZhbCBvPSIxMmJiNDUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTJjOTU0IiB2PSIxIi8+DQorCQkJCQk8dmFsIG89IjEyZDc2NiIgdj0iMSIvPg0KKwkJCQkJPHZhbCBvPSIxMmU1NzUiIHY9IjIiLz4NCisJCQkJCTx2YWwgbz0iMTJmMzg2IiB2PSIxIi8+DQorCQkJCQk8dmFsIG89IjEzMDE5NiIgdj0iMSIvPg0KKwkJCQkJPHZhbCBvPSIxMzBmYTYiIHY9IjEiLz4NCisJCQkJCTx2YWwgbz0iMTMxZGI3IiB2PSIxIi8+DQorCQkJCQk8dmFsIG89IjEzMmJjNSIgdj0iMSIvPg0KKwkJCQkJPHZhbCBvPSIxMzM5ZDQiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTM0N2U1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjEzNTVmNCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxMzY0MDQiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTM3MjE0IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjEzODAyNCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxMzhlMzMiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTM5YzQ0IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjEzYWE1NCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxM2I4NjUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTNjNjdlIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjEzZDQ4ZSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxM2UyOWUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTNmMGFlIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjEzZmViZiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNDBjY2YiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTQxYWRmIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE0MjhlZiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNDM2ZmYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTQ0NTBmIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE0NTMxZiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNDYxMzAiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTQ2ZjQwIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE0N2Q0NCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNDhiNTciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTQ5OTY1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE0YTc3NSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNGI1ODQiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTRjMzk3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE0ZDFhNCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNGRmYjYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTRlZGM1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE0ZmJkNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNTA5ZTUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTUxN2ZmIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE1MjYwNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNTM0MTUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTU0MjI1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE1NTAzNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNTVlNDUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTU2YzU1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE1N2E2NSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNTg4NzUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTU5Njg2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE1YTQ5NSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNWIyYTYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTVjMGI2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE1Y2VjNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNWRjZDUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTVlYWU2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE1ZjhmNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNjA3MDYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTYxNTE3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE2MjMyNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNjMxMzciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTYzZjQ2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE2NGQ1NyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNjViNjciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTY2OTgyIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE2Nzc4NiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNjg1OTYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTY5M2E2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE2YTFiNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNmFmYzYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTZiZGQ1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE2Y2JlNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNmQ5ZjYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTZlODA3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE2ZjYxNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNzA0MjkiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTcxMjM2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE3MjA0NyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNzJlNTciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTczYzY3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE3NGE3NyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNzU4ODciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTc2Njk0IiB2PSIyMjc0Ii8+DQorCQkJCQk8dmFsIG89IjE3NzRhMyIgdj0iMTc3NSIvPg0KKwkJCQkJPHZhbCBvPSIxNzgyYjMiIHY9IjExNTMiLz4NCisJCQkJCTx2YWwgbz0iMTc5MGM1IiB2PSI3NjkiLz4NCisJCQkJCTx2YWwgbz0iMTc5ZWQ0IiB2PSItODQ2Ii8+DQorCQkJCQk8dmFsIG89IjE3YWNlNCIgdj0iLTIzNjIiLz4NCisJCQkJCTx2YWwgbz0iMTdiYWZkIiB2PSItMjk2MSIvPg0KKwkJCQkJPHZhbCBvPSIxN2M5MGYiIHY9Ii0yNTE5Ii8+DQorCQkJCQk8dmFsIG89IjE3ZDcxZSIgdj0iLTI0NDciLz4NCisJCQkJCTx2YWwgbz0iMTdlNTJmIiB2PSItMjg2NSIvPg0KKwkJCQkJPHZhbCBvPSIxN2YzM2YiIHY9Ii0yMjc2Ii8+DQorCQkJCQk8dmFsIG89IjE4MDE0ZiIgdj0iLTEyNTAiLz4NCisJCQkJCTx2YWwgbz0iMTgwZjVmIiB2PSItNzE2Ii8+DQorCQkJCQk8dmFsIG89IjE4MWQ2ZSIgdj0iLTE0ODkiLz4NCisJCQkJCTx2YWwgbz0iMTgyYjdmIiB2PSItMjAwNCIvPg0KKwkJCQkJPHZhbCBvPSIxODM5OGYiIHY9Ii0xMDU1Ii8+DQorCQkJCQk8dmFsIG89IjE4NDdhMSIgdj0iLTk3OCIvPg0KKwkJCQkJPHZhbCBvPSIxODU1YWYiIHY9Ii0xMjY5Ii8+DQorCQkJCQk8dmFsIG89IjE4NjNjMCIgdj0iLTMxNzAiLz4NCisJCQkJCTx2YWwgbz0iMTg3MWNmIiB2PSItMjY2OCIvPg0KKwkJCQkJPHZhbCBvPSIxODdmZTAiIHY9Ii0yNTQwIi8+DQorCQkJCQk8dmFsIG89IjE4OGRlZiIgdj0iLTIzNzciLz4NCisJCQkJCTx2YWwgbz0iMTg5YzAwIiB2PSItMTEyNiIvPg0KKwkJCQkJPHZhbCBvPSIxOGI4MGQiIHY9IjEyMTkiLz4NCisJCQkJCTx2YWwgbz0iMThjNjFjIiB2PSItMTA2MSIvPg0KKwkJCQkJPHZhbCBvPSIxOGQ0MmMiIHY9Ii0xNTE5Ii8+DQorCQkJCQk8dmFsIG89IjE4ZTIzYiIgdj0iLTEyODQiLz4NCisJCQkJCTx2YWwgbz0iMThmMDRiIiB2PSItMTkwMiIvPg0KKwkJCQkJPHZhbCBvPSIxOGZlNWUiIHY9Ii0xNjIzIi8+DQorCQkJCQk8dmFsIG89IjE5MGM3NiIgdj0iLTc3OCIvPg0KKwkJCQkJPHZhbCBvPSIxOTFhODYiIHY9Ii0xNzMwIi8+DQorCQkJCQk8dmFsIG89IjE5Mjg5NiIgdj0iLTE3NDUiLz4NCisJCQkJCTx2YWwgbz0iMTkzNmE2IiB2PSItMTg3MiIvPg0KKwkJCQkJPHZhbCBvPSIxOTQ0YjciIHY9Ii0xMjA3Ii8+DQorCQkJCQk8dmFsIG89IjE5NTJjNiIgdj0iLTIxMSIvPg0KKwkJCQkJPHZhbCBvPSIxOTYwZDciIHY9IjE2MTkiLz4NCisJCQkJCTx2YWwgbz0iMTk2ZWU2IiB2PSItNzY0Ii8+DQorCQkJCQk8dmFsIG89IjE5N2NmOCIgdj0iLTgyNyIvPg0KKwkJCQkJPHZhbCBvPSIxOThiMGYiIHY9IjQwIi8+DQorCQkJCQk8dmFsIG89IjE5OTkxZiIgdj0iLTE5OSIvPg0KKwkJCQkJPHZhbCBvPSIxOWI1NDEiIHY9Ii05NjciLz4NCisJCQkJCTx2YWwgbz0iMTljMzRkIiB2PSItNjgwIi8+DQorCQkJCQk8dmFsIG89IjE5ZDE1ZSIgdj0iLTM4NSIvPg0KKwkJCQkJPHZhbCBvPSIxOWRmODAiIHY9Ii0yNDEiLz4NCisJCQkJCTx2YWwgbz0iMTllZDkwIiB2PSIzNzEiLz4NCisJCQkJCTx2YWwgbz0iMTllZWJlIiB2PSI0NzEiLz4NCisJCQkJCTx2YWwgbz0iMTlmYjhlIiB2PSI2MSIvPg0KKwkJCQkJPHZhbCBvPSIxYTA5YTAiIHY9Ii0yNDQwIi8+DQorCQkJCQk8dmFsIG89IjFhMTdhZSIgdj0iLTM0NDciLz4NCisJCQkJCTx2YWwgbz0iMWEyNWJlIiB2PSItMzg2MiIvPg0KKwkJCQkJPHZhbCBvPSIxYTMzY2QiIHY9Ii0xNjU3Ii8+DQorCQkJCQk8dmFsIG89IjFhNDFkZCIgdj0iLTIyNzMiLz4NCisJCQkJCTx2YWwgbz0iMWE0ZmVkIiB2PSItNDEzMiIvPg0KKwkJCQkJPHZhbCBvPSIxYTVlMDgiIHY9Ii0zNzM1Ii8+DQorCQkJCQk8dmFsIG89IjFhNmMwNSIgdj0iLTI2NTUiLz4NCisJCQkJCTx2YWwgbz0iMWE3YTE1IiB2PSItMzI4NiIvPg0KKwkJCQkJPHZhbCBvPSIxYTg4MjYiIHY9Ii0zMzc3Ii8+DQorCQkJCQk8dmFsIG89IjFhOTYzNyIgdj0iLTI3MDciLz4NCisJCQkJCTx2YWwgbz0iMWFhNDQ1IiB2PSItMTk4MCIvPg0KKwkJCQkJPHZhbCBvPSIxYWIyNTUiIHY9Ii03OTciLz4NCisJCQkJCTx2YWwgbz0iMWFjMDY1IiB2PSItMjA0NiIvPg0KKwkJCQkJPHZhbCBvPSIxYWNlNzUiIHY9Ii0yNzkzIi8+DQorCQkJCQk8dmFsIG89IjFhZGM4NyIgdj0iLTE5MzkiLz4NCisJCQkJCTx2YWwgbz0iMWFlYTk2IiB2PSItMjA5MiIvPg0KKwkJCQkJPHZhbCBvPSIxYWY4YTciIHY9Ii0yMjExIi8+DQorCQkJCQk8dmFsIG89IjFiMDZiNyIgdj0iLTI2NzkiLz4NCisJCQkJCTx2YWwgbz0iMWIxNGM2IiB2PSItMjUzMCIvPg0KKwkJCQkJPHZhbCBvPSIxYzc0NjAiIHY9IjQ1MyIvPg0KKwkJCQkJPHZhbCBvPSIxYzgyNzAiIHY9Ii0xNTciLz4NCisJCQkJCTx2YWwgbz0iMWM5MDdlIiB2PSIxMTQzIi8+DQorCQkJCQk8dmFsIG89IjFjOWU4ZiIgdj0iLTE0NiIvPg0KKwkJCQkJPHZhbCBvPSIxY2FjYTIiIHY9Ii0xMDAyIi8+DQorCQkJCQk8dmFsIG89IjFjYmFiMSIgdj0iLTE0MDIiLz4NCisJCQkJCTx2YWwgbz0iMWNjOGMxIiB2PSIyOTQ5Ii8+DQorCQkJCQk8dmFsIG89IjFjZDZkMCIgdj0iMjIyOSIvPg0KKwkJCQkJPHZhbCBvPSIxY2U0ZGUiIHY9IjEwMjIiLz4NCisJCQkJCTx2YWwgbz0iMWNmMmYwIiB2PSItMTYyOCIvPg0KKwkJCQkJPHZhbCBvPSIxZDAxMDkiIHY9Ii0xODM1Ii8+DQorCQkJCQk8dmFsIG89IjFkMGYwNiIgdj0iLTIxMSIvPg0KKwkJCQkJPHZhbCBvPSIxZDFkMTUiIHY9Ii03NjciLz4NCisJCQkJCTx2YWwgbz0iMWQyYjI1IiB2PSItNzkyIi8+DQorCQkJCQk8dmFsIG89IjFkMzkzNSIgdj0iMTczIi8+DQorCQkJCQk8dmFsIG89IjFkNDc0NSIgdj0iNzc2Ii8+DQorCQkJCQk8dmFsIG89IjFkNTU1NSIgdj0iMTI0OSIvPg0KKwkJCQkJPHZhbCBvPSIxZDYzNjYiIHY9Ii05NTciLz4NCisJCQkJCTx2YWwgbz0iMWQ3MTc1IiB2PSItOTExIi8+DQorCQkJCQk8dmFsIG89IjFkN2Y4NiIgdj0iLTI0MyIvPg0KKwkJCQkJPHZhbCBvPSIxZDhkOTUiIHY9Ii02NSIvPg0KKwkJCQkJPHZhbCBvPSIxZDliYTYiIHY9Ii0zMDgiLz4NCisJCQkJCTx2YWwgbz0iMWRhOWI2IiB2PSItODExIi8+DQorCQkJCQk8dmFsIG89IjFkYjdjNyIgdj0iLTgwNiIvPg0KKwkJCQkJPHZhbCBvPSIxZGM1ZDUiIHY9Ii05NTIiLz4NCisJCQkJCTx2YWwgbz0iMWRkM2U2IiB2PSItNzE2Ii8+DQorCQkJCQk8dmFsIG89IjFkZTFmNSIgdj0iLTE2MTgiLz4NCisJCQkJCTx2YWwgbz0iMWRmMDA2IiB2PSItMTkxMCIvPg0KKwkJCQkJPHZhbCBvPSIxZGZlMTYiIHY9Ii0xODA5Ii8+DQorCQkJCQk8dmFsIG89IjFlMGMyNiIgdj0iLTIyMjQiLz4NCisJCQkJCTx2YWwgbz0iMWUxYTM2IiB2PSItMjI3MiIvPg0KKwkJCQkJPHZhbCBvPSIxZTI4NDciIHY9Ii0yMzE3Ii8+DQorCQkJCQk8dmFsIG89IjFlMzY1OSIgdj0iLTIyODMiLz4NCisJCQkJCTx2YWwgbz0iMWU0NDY3IiB2PSItMjMzNCIvPg0KKwkJCQkJPHZhbCBvPSIxZTUyODEiIHY9Ii0xODYwIi8+DQorCQkJCQk8dmFsIG89IjFlNjA4NiIgdj0iLTIxMzkiLz4NCisJCQkJCTx2YWwgbz0iMWU2ZTk2IiB2PSItMjIwNiIvPg0KKwkJCQkJPHZhbCBvPSIxZTdjYTYiIHY9Ii0yOTYiLz4NCisJCQkJCTx2YWwgbz0iMWU4YWI1IiB2PSItNDQ5Ii8+DQorCQkJCQk8dmFsIG89IjFlOThjNiIgdj0iLTE0MiIvPg0KKwkJCQkJPHZhbCBvPSIxZWE2ZDUiIHY9Ii00MjIiLz4NCisJCQkJCTx2YWwgbz0iMWViNGU2IiB2PSItMzY1Ii8+DQorCQkJCQk8dmFsIG89IjFlYzJmNiIgdj0iLTU4MSIvPg0KKwkJCQkJPHZhbCBvPSIxZWQxMDYiIHY9Ii0yNjMiLz4NCisJCQkJCTx2YWwgbz0iMWVkZjE2IiB2PSItMzI1Ii8+DQorCQkJCQk8dmFsIG89IjFlZWQyNiIgdj0iLTE0MiIvPg0KKwkJCQkJPHZhbCBvPSIxZWZiMzYiIHY9Ii0zNTUiLz4NCisJCQkJCTx2YWwgbz0iMWYwOTQ2IiB2PSItMzEwIi8+DQorCQkJCQk8dmFsIG89IjFmMTc1NiIgdj0iNDk2Ii8+DQorCQkJCQk8dmFsIG89IjFmMjU2NiIgdj0iNjYwIi8+DQorCQkJCQk8dmFsIG89IjFmMzM3NiIgdj0iMTI0NiIvPg0KKwkJCQkJPHZhbCBvPSIxZjQxODciIHY9IjI4ODkiLz4NCisJCQkJCTx2YWwgbz0iMWY0Zjk2IiB2PSIxNTMyIi8+DQorCQkJCQk8dmFsIG89IjFmNWRhNyIgdj0iLTE0MyIvPg0KKwkJCQkJPHZhbCBvPSIxZjZiYjYiIHY9Ii01MTgiLz4NCisJCQkJCTx2YWwgbz0iMWY3OWM3IiB2PSIyMjUiLz4NCisJCQkJCTx2YWwgbz0iMWY4N2Q2IiB2PSItMTY2NyIvPg0KKwkJCQkJPHZhbCBvPSIxZjk1ZTciIHY9Ii0yMzMwIi8+DQorCQkJCQk8dmFsIG89IjFmYTQwMSIgdj0iLTE3MjciLz4NCisJCQkJCTx2YWwgbz0iMWZiMjA0IiB2PSItMTQ4OSIvPg0KKwkJCQkJPHZhbCBvPSIxZmMwMTYiIHY9Ii0xNTE1Ii8+DQorCQkJCQk8dmFsIG89IjFmY2UyNSIgdj0iLTQ3NiIvPg0KKwkJCQkJPHZhbCBvPSIxZmRjMzUiIHY9Ii0xOTMiLz4NCisJCQkJCTx2YWwgbz0iMWZlYTQ1IiB2PSIxMjgiLz4NCisJCQkJCTx2YWwgbz0iMWZmODU1IiB2PSIzNzYiLz4NCisJCQkJCTx2YWwgbz0iMjAwNjY1IiB2PSIyODcyIi8+DQorCQkJCQk8dmFsIG89IjIwMTQ3NSIgdj0iNDA4Ii8+DQorCQkJCQk8dmFsIG89IjIwMjI4NiIgdj0iMTkyMyIvPg0KKwkJCQkJPHZhbCBvPSIyMDMwOTUiIHY9IjE4MzAiLz4NCisJCQkJCTx2YWwgbz0iMjAzZWE1IiB2PSIxNzk4Ii8+DQorCQkJCQk8dmFsIG89IjIwNGNiNiIgdj0iMzM0Ii8+DQorCQkJCQk8dmFsIG89IjIwNWFjNiIgdj0iMTI2MCIvPg0KKwkJCQkJPHZhbCBvPSIyMDY4ZDYiIHY9IjE4MTUiLz4NCisJCQkJCTx2YWwgbz0iMjA3NmU2IiB2PSIyMjcyIi8+DQorCQkJCQk8dmFsIG89IjIwODRmNiIgdj0iMjYyIi8+DQorCQkJCQk8dmFsIG89IjIwOTMwNiIgdj0iLTM4NyIvPg0KKwkJCQkJPHZhbCBvPSIyMGExMTYiIHY9Ii02MTMiLz4NCisJCQkJCTx2YWwgbz0iMjBhZjI2IiB2PSItMjUxIi8+DQorCQkJCQk8dmFsIG89IjIwYmQzNyIgdj0iLTg4NSIvPg0KKwkJCQkJPHZhbCBvPSIyMGNiNDYiIHY9IjU1MSIvPg0KKwkJCQkJPHZhbCBvPSIyMGQ5NTciIHY9IjQ4Ii8+DQorCQkJCQk8dmFsIG89IjIwZTc2NyIgdj0iLTk4MiIvPg0KKwkJCQkJPHZhbCBvPSIyMGY1ODEiIHY9Ii0xNjEyIi8+DQorCQkJCQk8dmFsIG89IjIxMDM4NiIgdj0iLTExMjUiLz4NCisJCQkJCTx2YWwgbz0iMjExMTk0IiB2PSItMzgxIi8+DQorCQkJCQk8dmFsIG89IjIxMWZhNSIgdj0iLTQ0MSIvPg0KKwkJCQkJPHZhbCBvPSIyMTJkYjUiIHY9IjcxIi8+DQorCQkJCQk8dmFsIG89IjIxM2JjNSIgdj0iMTAyMCIvPg0KKwkJCQkJPHZhbCBvPSIyMTQ5ZDYiIHY9Ijc2MCIvPg0KKwkJCQkJPHZhbCBvPSIyMTU3ZTUiIHY9Ii0zMTkiLz4NCisJCQkJCTx2YWwgbz0iMjE2NWY2IiB2PSItMTE0NCIvPg0KKwkJCQkJPHZhbCBvPSIyMTc0MDYiIHY9IjMwMiIvPg0KKwkJCQkJPHZhbCBvPSIyMTgyMTciIHY9Ii0zMTkiLz4NCisJCQkJCTx2YWwgbz0iMjE5MDI2IiB2PSItNTgyIi8+DQorCQkJCQk8dmFsIG89IjIxOWUzOSIgdj0iNDA4Ii8+DQorCQkJCQk8dmFsIG89IjIxYWM0NiIgdj0iMTAzMSIvPg0KKwkJCQkJPHZhbCBvPSIyMWJhNTciIHY9IjExMzkiLz4NCisJCQkJCTx2YWwgbz0iMjFjODY3IiB2PSIyMDgyIi8+DQorCQkJCQk8dmFsIG89IjIxZDY3NyIgdj0iLTEyMDIiLz4NCisJCQkJCTx2YWwgbz0iMjFlNDg3IiB2PSI2MjIiLz4NCisJCQkJCTx2YWwgbz0iMjFmMjk2IiB2PSI0NTYiLz4NCisJCQkJCTx2YWwgbz0iMjIwMGE2IiB2PSItNzM2Ii8+DQorCQkJCQk8dmFsIG89IjIyMGViNyIgdj0iLTgxOCIvPg0KKwkJCQkJPHZhbCBvPSIyMjFjYzYiIHY9IjE2ODQiLz4NCisJCQkJCTx2YWwgbz0iMjIyYWQ3IiB2PSIzMDciLz4NCisJCQkJCTx2YWwgbz0iMjIzOGU3IiB2PSItODAxIi8+DQorCQkJCQk8dmFsIG89IjIyNDcwMSIgdj0iLTEyNTYiLz4NCisJCQkJCTx2YWwgbz0iMjI1NTA1IiB2PSIzMzA4Ii8+DQorCQkJCQk8dmFsIG89IjIyNjMxNSIgdj0iNTA2Ii8+DQorCQkJCQk8dmFsIG89IjIyNzEyNSIgdj0iNjM5Ii8+DQorCQkJCQk8dmFsIG89IjIyN2YzNSIgdj0iMTk2MyIvPg0KKwkJCQkJPHZhbCBvPSIyMjhkNDUiIHY9IjI4NjciLz4NCisJCQkJCTx2YWwgbz0iMjI5YjU0IiB2PSItODMxIi8+DQorCQkJCQk8dmFsIG89IjIyYTk2NSIgdj0iLTI3MCIvPg0KKwkJCQkJPHZhbCBvPSIyMmI3NzYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjJjNTg2IiB2PSIyMDEwIi8+DQorCQkJCQk8dmFsIG89IjIyZDM5NyIgdj0iMzQwOCIvPg0KKwkJCQkJPHZhbCBvPSIyMmUxYTYiIHY9IjMxOTAiLz4NCisJCQkJCTx2YWwgbz0iMjJlZmI2IiB2PSItMTg3Ii8+DQorCQkJCQk8dmFsIG89IjIyZmRjNyIgdj0iLTIyNSIvPg0KKwkJCQkJPHZhbCBvPSIyMzBiZDciIHY9IjUzMSIvPg0KKwkJCQkJPHZhbCBvPSIyMzE5ZTYiIHY9Ii04MjMiLz4NCisJCQkJCTx2YWwgbz0iMjMyN2Y2IiB2PSI2MiIvPg0KKwkJCQkJPHZhbCBvPSIyMzM2MWIiIHY9IjEwNzkiLz4NCisJCQkJCTx2YWwgbz0iMjM0NDE2IiB2PSIxNTQ3Ii8+DQorCQkJCQk8dmFsIG89IjIzNTIyNiIgdj0iOTAwIi8+DQorCQkJCQk8dmFsIG89IjIzNjAzNyIgdj0iMTEyIi8+DQorCQkJCQk8dmFsIG89IjIzNmU0NiIgdj0iMTc4MCIvPg0KKwkJCQkJPHZhbCBvPSIyMzdjNTciIHY9IjE0MDciLz4NCisJCQkJCTx2YWwgbz0iMjM4YTY2IiB2PSIyOTgiLz4NCisJCQkJCTx2YWwgbz0iMjM5ODgxIiB2PSI1NjUiLz4NCisJCQkJCTx2YWwgbz0iMjNhNjg1IiB2PSItMzExIi8+DQorCQkJCQk8dmFsIG89IjIzYjQ5NSIgdj0iLTY1NyIvPg0KKwkJCQkJPHZhbCBvPSIyM2MyYTQiIHY9IjE2OCIvPg0KKwkJCQkJPHZhbCBvPSIyM2QwYjUiIHY9IjY0NyIvPg0KKwkJCQkJPHZhbCBvPSIyM2RlYzQiIHY9IjE0MjciLz4NCisJCQkJCTx2YWwgbz0iMjNlY2Q1IiB2PSI4MjkiLz4NCisJCQkJCTx2YWwgbz0iMjNmYWU0IiB2PSItNSIvPg0KKwkJCQkJPHZhbCBvPSIyNDA4ZjYiIHY9IjExOTciLz4NCisJCQkJCTx2YWwgbz0iMjQxNzA2IiB2PSIzNzUxIi8+DQorCQkJCQk8dmFsIG89IjI0MjUxOCIgdj0iMjk5MSIvPg0KKwkJCQkJPHZhbCBvPSIyNDMzMjUiIHY9IjI4MDEiLz4NCisJCQkJCTx2YWwgbz0iMjQ0MTM3IiB2PSItMTE4OCIvPg0KKwkJCQkJPHZhbCBvPSIyNDRmNDYiIHY9Ii04MjgiLz4NCisJCQkJCTx2YWwgbz0iMjQ2YjY2IiB2PSItNzk5Ii8+DQorCQkJCQk8dmFsIG89IjI0Nzk3NiIgdj0iNTciLz4NCisJCQkJCTx2YWwgbz0iMjQ4Nzg2IiB2PSI0NjAxIi8+DQorCQkJCQk8dmFsIG89IjI0OTU3ZSIgdj0iMTkxMSIvPg0KKwkJCQkJPHZhbCBvPSIyNGEzOGYiIHY9Ijc5OSIvPg0KKwkJCQkJPHZhbCBvPSIyNGIxOWMiIHY9Ii05NzIiLz4NCisJCQkJCTx2YWwgbz0iMjRiZmFjIiB2PSItNzA4Ii8+DQorCQkJCQk8dmFsIG89IjI0Y2RiYyIgdj0iLTc5MCIvPg0KKwkJCQkJPHZhbCBvPSIyNGRiY2QiIHY9Ii00OTAiLz4NCisJCQkJCTx2YWwgbz0iMjRlOWU1IiB2PSItMTMxNiIvPg0KKwkJCQkJPHZhbCBvPSIyNGY4MDgiIHY9Ii04MjUiLz4NCisJCQkJCTx2YWwgbz0iMjUwNjE2IiB2PSItMTAxMiIvPg0KKwkJCQkJPHZhbCBvPSIyNTE0MjYiIHY9Ii0xMTc4Ii8+DQorCQkJCQk8dmFsIG89IjI1MjIzNiIgdj0iLTM1Ii8+DQorCQkJCQk8dmFsIG89IjI1MzA0NyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIyNTNlNTYiIHY9IjEzNTIiLz4NCisJCQkJCTx2YWwgbz0iMjU0YzY3IiB2PSIxMDU5Ii8+DQorCQkJCQk8dmFsIG89IjI1NWE3NiIgdj0iMTI5MCIvPg0KKwkJCQkJPHZhbCBvPSIyNTY4ODciIHY9IjIwNzkiLz4NCisJCQkJCTx2YWwgbz0iMjU3Njk3IiB2PSIzNjE4Ii8+DQorCQkJCQk8dmFsIG89IjI1ODRhOCIgdj0iLTQ2ODQiLz4NCisJCQkJCTx2YWwgbz0iMjU5MmI2IiB2PSItMjQ3MCIvPg0KKwkJCQkJPHZhbCBvPSIyNWEwYzciIHY9Ii01NTYiLz4NCisJCQkJCTx2YWwgbz0iMjVhZWQ3IiB2PSIxODkiLz4NCisJCQkJCTx2YWwgbz0iMjViY2U3IiB2PSIyNjAiLz4NCisJCQkJCTx2YWwgbz0iMjVjYWY4IiB2PSI4MTYiLz4NCisJCQkJCTx2YWwgbz0iMjVkOTA3IiB2PSIyNDg5Ii8+DQorCQkJCQk8dmFsIG89IjI1ZTcxOCIgdj0iMjczMiIvPg0KKwkJCQkJPHZhbCBvPSIyNWY1MjciIHY9IjIyMzQiLz4NCisJCQkJCTx2YWwgbz0iMjYwMzM4IiB2PSI1NyIvPg0KKwkJCQkJPHZhbCBvPSIyNjExNDkiIHY9IjEyMTkiLz4NCisJCQkJCTx2YWwgbz0iMjYxZjU5IiB2PSI2MzIiLz4NCisJCQkJCTx2YWwgbz0iMjYyZDY4IiB2PSItMTM2MCIvPg0KKwkJCQkJPHZhbCBvPSIyNjNiODMiIHY9IjM4Ii8+DQorCQkJCQk8dmFsIG89IjI2NDk4NiIgdj0iLTk4MCIvPg0KKwkJCQkJPHZhbCBvPSIyNjU3OTUiIHY9Ii0xNTAxIi8+DQorCQkJCQk8dmFsIG89IjI2NjVhNiIgdj0iLTIxMTkiLz4NCisJCQkJCTx2YWwgbz0iMjY3M2I1IiB2PSItMTYxOCIvPg0KKwkJCQkJPHZhbCBvPSIyNjgxYzYiIHY9Ii0xMzE0Ii8+DQorCQkJCQk8dmFsIG89IjI2OGZkNSIgdj0iLTQzMiIvPg0KKwkJCQkJPHZhbCBvPSIyNjlkZTYiIHY9IjMwOSIvPg0KKwkJCQkJPHZhbCBvPSIyNmFiZjYiIHY9IjY4NSIvPg0KKwkJCQkJPHZhbCBvPSIyNmJhMDYiIHY9IjE2OTIiLz4NCisJCQkJCTx2YWwgbz0iMjZjODE3IiB2PSIxODk5Ii8+DQorCQkJCQk8dmFsIG89IjI2ZDYyYiIgdj0iMzYyMiIvPg0KKwkJCQkJPHZhbCBvPSIyNmU0MzYiIHY9IjI3MDkiLz4NCisJCQkJCTx2YWwgbz0iMjZmMjQ3IiB2PSIzMDM3Ii8+DQorCQkJCQk8dmFsIG89IjI3MDA1NyIgdj0iMjg5OCIvPg0KKwkJCQkJPHZhbCBvPSIyNzBlNjciIHY9IjMyNTEiLz4NCisJCQkJCTx2YWwgbz0iMjcxYzc3IiB2PSIxODYiLz4NCisJCQkJCTx2YWwgbz0iMjcyYTg3IiB2PSItNjM2Ii8+DQorCQkJCQk8dmFsIG89IjI3Mzg5NyIgdj0iLTQyMSIvPg0KKwkJCQkJPHZhbCBvPSIyNzQ2YTgiIHY9Ii03MjkiLz4NCisJCQkJCTx2YWwgbz0iMjc1NGI5IiB2PSItOTc4Ii8+DQorCQkJCQk8dmFsIG89IjI3NjJjNyIgdj0iMjY3MCIvPg0KKwkJCQkJPHZhbCBvPSIyNzcwZDgiIHY9IjEyNTUiLz4NCisJCQkJCTx2YWwgbz0iMjc3ZWU3IiB2PSItNDk2Ii8+DQorCQkJCTwvcGFyPg0KKwkJCQk8cGFyIG1lbWluZD0iNDI0NjAwIiBoPSIzZGMxYThkZSI+DQorCQkJCQk8dmFsIG89IjAiIHY9Ii00MzEzIi8+DQorCQkJCQk8dmFsIG89ImUwOCIgdj0iLTQxNjMiLz4NCisJCQkJCTx2YWwgbz0iMWMzMiIgdj0iLTQxMDIiLz4NCisJCQkJCTx2YWwgbz0iMmEzYyIgdj0iLTQwOTEiLz4NCisJCQkJCTx2YWwgbz0iMzgzNSIgdj0iLTM5ODIiLz4NCisJCQkJCTx2YWwgbz0iNDY0NSIgdj0iLTM5MzQiLz4NCisJCQkJCTx2YWwgbz0iNTQ1NSIgdj0iLTQ0MzkiLz4NCisJCQkJCTx2YWwgbz0iNjI2NSIgdj0iLTUzMjMiLz4NCisJCQkJCTx2YWwgbz0iNzA3NSIgdj0iLTYyOTgiLz4NCisJCQkJCTx2YWwgbz0iN2U4NSIgdj0iLTczMzIiLz4NCisJCQkJCTx2YWwgbz0iOGM5NiIgdj0iLTc1NDEiLz4NCisJCQkJCTx2YWwgbz0iOWFhNSIgdj0iLTcyNDgiLz4NCisJCQkJCTx2YWwgbz0iYThiNiIgdj0iLTY4NjkiLz4NCisJCQkJCTx2YWwgbz0iYjZjNSIgdj0iLTY0NTQiLz4NCisJCQkJCTx2YWwgbz0iYzRkNyIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iZDMwYiIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iZTBmNiIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iZWYwNiIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iZmQxNyIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iMTBiMjciIHY9Ii04Ii8+DQorCQkJCQk8dmFsIG89IjExOTM3IiB2PSItOCIvPg0KKwkJCQkJPHZhbCBvPSIxMjc0NiIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iMTM1NTYiIHY9Ii04Ii8+DQorCQkJCQk8dmFsIG89IjE0MzY2IiB2PSItOSIvPg0KKwkJCQkJPHZhbCBvPSIxNTE4MSIgdj0iLTkiLz4NCisJCQkJCTx2YWwgbz0iMTVmODUiIHY9Ii04Ii8+DQorCQkJCQk8dmFsIG89IjE2ZDk1IiB2PSItOCIvPg0KKwkJCQkJPHZhbCBvPSIxN2JhNCIgdj0iLTgiLz4NCisJCQkJCTx2YWwgbz0iMTg5YjUiIHY9Ii04Ii8+DQorCQkJCQk8dmFsIG89IjE5N2M0IiB2PSItOCIvPg0KKwkJCQkJPHZhbCBvPSIxYTVkNSIgdj0iLTkiLz4NCisJCQkJCTx2YWwgbz0iMWIzZTYiIHY9Ii05Ii8+DQorCQkJCQk8dmFsIG89IjFjMWY2IiB2PSItOCIvPg0KKwkJCQkJPHZhbCBvPSIxZDAwNSIgdj0iLTgiLz4NCisJCQkJCTx2YWwgbz0iMWRlMTUiIHY9Ii04Ii8+DQorCQkJCQk8dmFsIG89IjFlYzI1IiB2PSItOCIvPg0KKwkJCQkJPHZhbCBvPSIxZmEzNiIgdj0iLTgiLz4NCisJCQkJCTx2YWwgbz0iMjA4NDUiIHY9Ii05Ii8+DQorCQkJCQk8dmFsIG89IjIxNjU2IiB2PSItOCIvPg0KKwkJCQkJPHZhbCBvPSIyMjQ2NSIgdj0iLTgiLz4NCisJCQkJCTx2YWwgbz0iMjMyNzYiIHY9Ii04Ii8+DQorCQkJCQk8dmFsIG89IjI0MDg2IiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSIyNGU5OSIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iMjVjYTciIHY9Ii04Ii8+DQorCQkJCQk8dmFsIG89IjI2YWI3IiB2PSItOCIvPg0KKwkJCQkJPHZhbCBvPSIyNzhjNiIgdj0iLTgiLz4NCisJCQkJCTx2YWwgbz0iMjg2ZDYiIHY9Ii04Ii8+DQorCQkJCQk8dmFsIG89IjI5NGU2IiB2PSItOSIvPg0KKwkJCQkJPHZhbCBvPSIyYTMwMSIgdj0iLTkiLz4NCisJCQkJCTx2YWwgbz0iMmIxMDUiIHY9Ii04Ii8+DQorCQkJCQk8dmFsIG89IjJiZjE1IiB2PSItOCIvPg0KKwkJCQkJPHZhbCBvPSIyY2QyNSIgdj0iLTgiLz4NCisJCQkJCTx2YWwgbz0iMmRiMzUiIHY9Ii04Ii8+DQorCQkJCQk8dmFsIG89IjJlOTQ2IiB2PSItOCIvPg0KKwkJCQkJPHZhbCBvPSIyZjc1NSIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iMzA1NjYiIHY9Ii05Ii8+DQorCQkJCQk8dmFsIG89IjMxMzc1IiB2PSItOCIvPg0KKwkJCQkJPHZhbCBvPSIzMjE5ZSIgdj0iLTgiLz4NCisJCQkJCTx2YWwgbz0iMzJmOTYiIHY9Ii04Ii8+DQorCQkJCQk8dmFsIG89IjMzZGE2IiB2PSItOCIvPg0KKwkJCQkJPHZhbCBvPSIzNGJiNiIgdj0iLTgiLz4NCisJCQkJCTx2YWwgbz0iMzU5ZGUiIHY9Ii04Ii8+DQorCQkJCQk8dmFsIG89IjM2N2Q2IiB2PSItOCIvPg0KKwkJCQkJPHZhbCBvPSIzNzVlNiIgdj0iLTgiLz4NCisJCQkJCTx2YWwgbz0iMzg0MGUiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjM5MjFlIiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSIzYTAxNiIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iM2FlMjciIHY9Ii04Ii8+DQorCQkJCQk8dmFsIG89IjNiYzM2IiB2PSItOCIvPg0KKwkJCQkJPHZhbCBvPSIzY2E0NyIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iM2Q4NTYiIHY9Ii04Ii8+DQorCQkJCQk8dmFsIG89IjNlNjY3IiB2PSItOCIvPg0KKwkJCQkJPHZhbCBvPSIzZjQ4MSIgdj0iLTkiLz4NCisJCQkJCTx2YWwgbz0iNDAyODUiIHY9Ii05Ii8+DQorCQkJCQk8dmFsIG89IjQxMDk1IiB2PSItOSIvPg0KKwkJCQkJPHZhbCBvPSI0MWVhNSIgdj0iLTkiLz4NCisJCQkJCTx2YWwgbz0iNDJjYjUiIHY9Ii05Ii8+DQorCQkJCQk8dmFsIG89IjQzYWM1IiB2PSItOCIvPg0KKwkJCQkJPHZhbCBvPSI0NDhkNSIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iNDU2ZTYiIHY9Ii04Ii8+DQorCQkJCQk8dmFsIG89IjQ2NGY1IiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSI0ODBmZiIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iNDhmMGUiIHY9Ii02Ii8+DQorCQkJCQk8dmFsIG89IjQ5ZDFkIiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSI0YWI0NiIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iNGI5NTUiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjRjNzY5IiB2PSItNiIvPg0KKwkJCQkJPHZhbCBvPSI0ZDU3NyIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iNGUzODciIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjRmMTk2IiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSI0ZmZhNiIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iNTBkZDAiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjUxYmM2IiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSI1MjlkNiIgdj0iLTgiLz4NCisJCQkJCTx2YWwgbz0iNTM3ZTciIHY9Ii04Ii8+DQorCQkJCQk8dmFsIG89IjU0NjAwIiB2PSItOSIvPg0KKwkJCQkJPHZhbCBvPSI1NTQwNiIgdj0iLTgiLz4NCisJCQkJCTx2YWwgbz0iNTYyMTUiIHY9Ii04Ii8+DQorCQkJCQk8dmFsIG89IjU3MDI2IiB2PSItOCIvPg0KKwkJCQkJPHZhbCBvPSI1N2UzNiIgdj0iLTgiLz4NCisJCQkJCTx2YWwgbz0iNThjNDYiIHY9Ii04Ii8+DQorCQkJCQk8dmFsIG89IjU5YTcwIiB2PSItOCIvPg0KKwkJCQkJPHZhbCBvPSI1YTg2NyIgdj0iLTgiLz4NCisJCQkJCTx2YWwgbz0iNWI2NzYiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjVjNDg3IiB2PSItNiIvPg0KKwkJCQkJPHZhbCBvPSI1ZDI5NiIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iNWUwYTkiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjVlZWI4IiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSI1ZmNjNiIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iNjBhZDciIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjYxOGU3IiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSI2MjZmNyIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iNjM1MDciIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjY0MzE3IiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSI2NTEyNyIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iNjVmMzciIHY9Ii04Ii8+DQorCQkJCQk8dmFsIG89IjY2ZDQ2IiB2PSItOCIvPg0KKwkJCQkJPHZhbCBvPSI2N2I1NyIgdj0iLTgiLz4NCisJCQkJCTx2YWwgbz0iNjg5NjciIHY9Ii04Ii8+DQorCQkJCQk8dmFsIG89IjY5NzgyIiB2PSItOCIvPg0KKwkJCQkJPHZhbCBvPSI2YTU4NiIgdj0iLTgiLz4NCisJCQkJCTx2YWwgbz0iNmIzOTUiIHY9Ii04Ii8+DQorCQkJCQk8dmFsIG89IjZjMWE2IiB2PSItOSIvPg0KKwkJCQkJPHZhbCBvPSI2Y2ZiNSIgdj0iLTgiLz4NCisJCQkJCTx2YWwgbz0iNmRkYzYiIHY9Ii04Ii8+DQorCQkJCQk8dmFsIG89IjZlYmQ2IiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSI2ZjllNiIgdj0iLTgiLz4NCisJCQkJCTx2YWwgbz0iNzA3ZjYiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjcxNjA3IiB2PSItNiIvPg0KKwkJCQkJPHZhbCBvPSI3MjQxNyIgdj0iLTYiLz4NCisJCQkJCTx2YWwgbz0iNzMyMjciIHY9Ii02Ii8+DQorCQkJCQk8dmFsIG89Ijc0MDM3IiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSI3NGU0NyIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iNzVjNTciIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89Ijc2YTYzIiB2PSItNiIvPg0KKwkJCQkJPHZhbCBvPSI3Nzg3MyIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iNzg2ODAiIHY9Ii02Ii8+DQorCQkJCQk8dmFsIG89Ijc5NDhmIiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSI3YTI5ZiIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iN2IwYWYiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjdiZWJmIiB2PSItOCIvPg0KKwkJCQkJPHZhbCBvPSI3Y2NjZiIgdj0iLTgiLz4NCisJCQkJCTx2YWwgbz0iN2RhZGYiIHY9Ii04Ii8+DQorCQkJCQk8dmFsIG89IjdlOGZhIiB2PSItOCIvPg0KKwkJCQkJPHZhbCBvPSI3ZjcwYSIgdj0iLTgiLz4NCisJCQkJCTx2YWwgbz0iODA1MWEiIHY9Ii05Ii8+DQorCQkJCQk8dmFsIG89IjgxMzJhIiB2PSItOSIvPg0KKwkJCQkJPHZhbCBvPSI4MjEzYSIgdj0iLTkiLz4NCisJCQkJCTx2YWwgbz0iODJmNGEiIHY9Ii04Ii8+DQorCQkJCQk8dmFsIG89IjgzZDVhIiB2PSItOCIvPg0KKwkJCQkJPHZhbCBvPSI4NGI2YSIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iODU5N2EiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89Ijg2NzhiIiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSI4NzU5YiIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iODgzYWMiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89Ijg5MWJiIiB2PSItOCIvPg0KKwkJCQkJPHZhbCBvPSI4OWZjYSIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iOGFkZGEiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjhiYmViIiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSI4YzlmYyIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iOGQ4MGIiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjhlNjFhIiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSI4ZjQyYSIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iOTAyM2EiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjkxMDRhIiB2PSItOCIvPg0KKwkJCQkJPHZhbCBvPSI5MWU1YSIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iOTJjNmEiIHY9Ii04Ii8+DQorCQkJCQk8dmFsIG89IjkzYTg0IiB2PSItOSIvPg0KKwkJCQkJPHZhbCBvPSI5NDg4NSIgdj0iLTgiLz4NCisJCQkJCTx2YWwgbz0iOTU2OTQiIHY9Ii05Ii8+DQorCQkJCQk8dmFsIG89Ijk2NGE1IiB2PSItOSIvPg0KKwkJCQkJPHZhbCBvPSI5NzJiNCIgdj0iLTgiLz4NCisJCQkJCTx2YWwgbz0iOTgwYzUiIHY9Ii04Ii8+DQorCQkJCQk8dmFsIG89Ijk4ZWQ0IiB2PSItOCIvPg0KKwkJCQkJPHZhbCBvPSI5OWNlNSIgdj0iLTgiLz4NCisJCQkJCTx2YWwgbz0iOWFhZjUiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjliOTA2IiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSI5YzcxNiIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iOWQ1MjYiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjllMzM2IiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSI5ZjE0NSIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iOWZmNTYiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89ImEwZDY1IiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSJhMWI3NyIgdj0iLTY0NjAiLz4NCisJCQkJCTx2YWwgbz0iYTI5ODYiIHY9Ii0zNTQ2Ii8+DQorCQkJCQk8dmFsIG89ImEzNzk1IiB2PSItOTg2Ii8+DQorCQkJCQk8dmFsIG89ImE0NWE3IiB2PSI2OTciLz4NCisJCQkJCTx2YWwgbz0iYTUzYjYiIHY9Ijc3NiIvPg0KKwkJCQkJPHZhbCBvPSJhNjFjNyIgdj0iOTI1Ii8+DQorCQkJCQk8dmFsIG89ImE2ZmQ2IiB2PSIxMjUiLz4NCisJCQkJCTx2YWwgbz0iYTdlMDAiIHY9IjQ1NiIvPg0KKwkJCQkJPHZhbCBvPSJhOGMwMCIgdj0iOTAzIi8+DQorCQkJCQk8dmFsIG89ImE5YTA1IiB2PSIyNzgiLz4NCisJCQkJCTx2YWwgbz0iYWE4MTUiIHY9IjI3Ii8+DQorCQkJCQk8dmFsIG89ImFiNjI1IiB2PSI0MyIvPg0KKwkJCQkJPHZhbCBvPSJhYzQzNSIgdj0iMTczIi8+DQorCQkJCQk8dmFsIG89ImFkMjQ1IiB2PSI5NDciLz4NCisJCQkJCTx2YWwgbz0iYWUwNTUiIHY9IjcyOCIvPg0KKwkJCQkJPHZhbCBvPSJhZWU2NSIgdj0iLTQ1MiIvPg0KKwkJCQkJPHZhbCBvPSJhZmM3NSIgdj0iLTExNyIvPg0KKwkJCQkJPHZhbCBvPSJiMGE4NSIgdj0iMjMiLz4NCisJCQkJCTx2YWwgbz0iYjI2YTYiIHY9IjE4MiIvPg0KKwkJCQkJPHZhbCBvPSJiMzRiNiIgdj0iLTE1MiIvPg0KKwkJCQkJPHZhbCBvPSJiNDJjNiIgdj0iLTQyMyIvPg0KKwkJCQkJPHZhbCBvPSJiNTBkNiIgdj0iLTcwNSIvPg0KKwkJCQkJPHZhbCBvPSJiNWVlNyIgdj0iLTc5MCIvPg0KKwkJCQkJPHZhbCBvPSJiNmNmNiIgdj0iLTE1NzUiLz4NCisJCQkJCTx2YWwgbz0iYjdiMDciIHY9Ii0yMDI3Ii8+DQorCQkJCQk8dmFsIG89ImI4OTE3IiB2PSItMTc1NyIvPg0KKwkJCQkJPHZhbCBvPSJiOTcyOCIgdj0iLTE3MjIiLz4NCisJCQkJCTx2YWwgbz0iYmE1MzciIHY9Ii0xOTAxIi8+DQorCQkJCQk8dmFsIG89ImJiMzQ3IiB2PSItNzQxIi8+DQorCQkJCQk8dmFsIG89ImJjMTU3IiB2PSItODEyIi8+DQorCQkJCQk8dmFsIG89ImJjZjY3IiB2PSItODkxIi8+DQorCQkJCQk8dmFsIG89ImJkZDgxIiB2PSI2NTIiLz4NCisJCQkJCTx2YWwgbz0iYmViODYiIHY9IjQxMSIvPg0KKwkJCQkJPHZhbCBvPSJiZjk5NSIgdj0iNTE2Ii8+DQorCQkJCQk8dmFsIG89ImMwN2E2IiB2PSIzOTgiLz4NCisJCQkJCTx2YWwgbz0iYzE1YjUiIHY9IjM4MiIvPg0KKwkJCQkJPHZhbCBvPSJjMjNjNiIgdj0iNDcwIi8+DQorCQkJCQk8dmFsIG89ImMzMWQ1IiB2PSI1OTEiLz4NCisJCQkJCTx2YWwgbz0iYzNmZTYiIHY9IjI2NyIvPg0KKwkJCQkJPHZhbCBvPSJjNGRmNSIgdj0iNzcwIi8+DQorCQkJCQk8dmFsIG89ImM1YzA2IiB2PSIxNjQiLz4NCisJCQkJCTx2YWwgbz0iYzZhMTYiIHY9IjQzOCIvPg0KKwkJCQkJPHZhbCBvPSJjNzgyNiIgdj0iLTQzIi8+DQorCQkJCQk8dmFsIG89ImM4NjM2IiB2PSI3MiIvPg0KKwkJCQkJPHZhbCBvPSJjOTQ0NiIgdj0iMjQ5Ii8+DQorCQkJCQk8dmFsIG89ImNhMjU2IiB2PSIyMDEiLz4NCisJCQkJCTx2YWwgbz0iY2IwNjYiIHY9IjExNSIvPg0KKwkJCQkJPHZhbCBvPSJjYmU3NiIgdj0iLTQyNSIvPg0KKwkJCQkJPHZhbCBvPSJjY2M4NyIgdj0iLTIyOSIvPg0KKwkJCQkJPHZhbCBvPSJjZGE5NiIgdj0iLTI4NCIvPg0KKwkJCQkJPHZhbCBvPSJjZThhOCIgdj0iLTI0NyIvPg0KKwkJCQkJPHZhbCBvPSJjZjZiNyIgdj0iLTEzNSIvPg0KKwkJCQkJPHZhbCBvPSJkMDRjOCIgdj0iLTU0Ii8+DQorCQkJCQk8dmFsIG89ImQxMmQ3IiB2PSI5NiIvPg0KKwkJCQkJPHZhbCBvPSJkMjBlNyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJkMmYwMiIgdj0iMTYiLz4NCisJCQkJCTx2YWwgbz0iZDNkMDUiIHY9IjU5OCIvPg0KKwkJCQkJPHZhbCBvPSJkNGIxNSIgdj0iNzIxIi8+DQorCQkJCQk8dmFsIG89ImQ1OTI2IiB2PSI4MTgiLz4NCisJCQkJCTx2YWwgbz0iZDY3MzUiIHY9IjEwNjciLz4NCisJCQkJCTx2YWwgbz0iZDc1NDYiIHY9IjEyNDUiLz4NCisJCQkJCTx2YWwgbz0iZDgzNTUiIHY9Ii0xMTciLz4NCisJCQkJCTx2YWwgbz0iZDkxNjYiIHY9Ii03MjEiLz4NCisJCQkJCTx2YWwgbz0iZDlmNzUiIHY9Ii0xNTA0Ii8+DQorCQkJCQk8dmFsIG89ImRhZDg3IiB2PSItMjA4NCIvPg0KKwkJCQkJPHZhbCBvPSJkYmI5NyIgdj0iLTI1NTQiLz4NCisJCQkJCTx2YWwgbz0iZGM5YTgiIHY9Ii0yMzQ1Ii8+DQorCQkJCQk8dmFsIG89ImRkN2I3IiB2PSItMjkyMCIvPg0KKwkJCQkJPHZhbCBvPSJkZTVjNiIgdj0iLTI3MTIiLz4NCisJCQkJCTx2YWwgbz0iZGYzZDciIHY9Ii0yODU4Ii8+DQorCQkJCQk8dmFsIG89ImUwMWQ3IiB2PSItMjkyOCIvPg0KKwkJCQkJPHZhbCBvPSJlMGZlNSIgdj0iLTI4MDMiLz4NCisJCQkJCTx2YWwgbz0iZTFkZjUiIHY9Ii0zMDMyIi8+DQorCQkJCQk8dmFsIG89ImUyYzA0IiB2PSItNDAxNyIvPg0KKwkJCQkJPHZhbCBvPSJlM2ExNCIgdj0iLTM5MTgiLz4NCisJCQkJCTx2YWwgbz0iZTQ4MjQiIHY9Ii0zNDEyIi8+DQorCQkJCQk8dmFsIG89ImU1NjM0IiB2PSItMzQ0MSIvPg0KKwkJCQkJPHZhbCBvPSJlNjQ0NCIgdj0iLTI1NjEiLz4NCisJCQkJCTx2YWwgbz0iZTcyNTUiIHY9Ii0yMTM5Ii8+DQorCQkJCQk8dmFsIG89ImU4MDZmIiB2PSItMTc2NSIvPg0KKwkJCQkJPHZhbCBvPSJlOGU3ZiIgdj0iLTQ2NSIvPg0KKwkJCQkJPHZhbCBvPSJlOWM4ZSIgdj0iLTcwMiIvPg0KKwkJCQkJPHZhbCBvPSJlYWE5ZiIgdj0iLTY0NyIvPg0KKwkJCQkJPHZhbCBvPSJlYjhhZSIgdj0iLTY3NiIvPg0KKwkJCQkJPHZhbCBvPSJlYzZiZiIgdj0iLTUwOSIvPg0KKwkJCQkJPHZhbCBvPSJlZDRjZSIgdj0iLTIxNTAiLz4NCisJCQkJCTx2YWwgbz0iZWUyZGYiIHY9Ii0yMzU1Ii8+DQorCQkJCQk8dmFsIG89ImVmMGVmIiB2PSItMzE3MSIvPg0KKwkJCQkJPHZhbCBvPSJlZmYwMSIgdj0iLTQwMzEiLz4NCisJCQkJCTx2YWwgbz0iZjBkMTAiIHY9Ii00MzM4Ii8+DQorCQkJCQk8dmFsIG89ImYxYjIwIiB2PSItNDY1MSIvPg0KKwkJCQkJPHZhbCBvPSJmMjkzMCIgdj0iLTQ2NjgiLz4NCisJCQkJCTx2YWwgbz0iZjM3NDAiIHY9Ii00MzQ2Ii8+DQorCQkJCQk8dmFsIG89ImY0NTUxIiB2PSItNDU3MSIvPg0KKwkJCQkJPHZhbCBvPSJmNTM2MSIgdj0iLTQ5MjkiLz4NCisJCQkJCTx2YWwgbz0iZjYxNzIiIHY9Ii00NjA3Ii8+DQorCQkJCQk8dmFsIG89ImY2ZjgwIiB2PSItNDg2NiIvPg0KKwkJCQkJPHZhbCBvPSJmN2Q5MSIgdj0iLTQzMDgiLz4NCisJCQkJCTx2YWwgbz0iZjhiYTEiIHY9Ii0zODk3Ii8+DQorCQkJCQk8dmFsIG89ImY5OWIxIiB2PSItMzc4NCIvPg0KKwkJCQkJPHZhbCBvPSJmYTdjMCIgdj0iLTI5ODgiLz4NCisJCQkJCTx2YWwgbz0iZmI1ZDEiIHY9Ii0zMDk5Ii8+DQorCQkJCQk8dmFsIG89ImZjM2UwIiB2PSItMzMzNSIvPg0KKwkJCQkJPHZhbCBvPSJmZDFmYiIgdj0iLTI2ODYiLz4NCisJCQkJCTx2YWwgbz0iZmUwMGIiIHY9Ii0yNTIyIi8+DQorCQkJCQk8dmFsIG89ImZlZTFjIiB2PSItMjA3NCIvPg0KKwkJCQkJPHZhbCBvPSJmZmMyYyIgdj0iLTE5ODkiLz4NCisJCQkJCTx2YWwgbz0iMTAwYTNiIiB2PSItMTc4OCIvPg0KKwkJCQkJPHZhbCBvPSIxMDE4NGMiIHY9Ii0xNzk1Ii8+DQorCQkJCQk8dmFsIG89IjEwMjY1YiIgdj0iLTIwNzUiLz4NCisJCQkJCTx2YWwgbz0iMTAzNDZjIiB2PSItMjY5OCIvPg0KKwkJCQkJPHZhbCBvPSIxMDQyN2IiIHY9Ii0zOTMyIi8+DQorCQkJCQk8dmFsIG89IjEwNTA4ZCIgdj0iLTQ0MDYiLz4NCisJCQkJCTx2YWwgbz0iMTA1ZTlkIiB2PSItNDM2NiIvPg0KKwkJCQkJPHZhbCBvPSIxMDZjYWQiIHY9Ii00NjkyIi8+DQorCQkJCQk8dmFsIG89IjEwN2FiZCIgdj0iLTQzMDIiLz4NCisJCQkJCTx2YWwgbz0iMTA4OGNkIiB2PSItMzkyNyIvPg0KKwkJCQkJPHZhbCBvPSIxMDk2ZGUiIHY9Ii00MTAxIi8+DQorCQkJCQk8dmFsIG89IjEwYTRlZCIgdj0iLTQxODciLz4NCisJCQkJCTx2YWwgbz0iMTBiMmZlIiB2PSItNDM0MiIvPg0KKwkJCQkJPHZhbCBvPSIxMGMxMGQiIHY9Ii00MTYyIi8+DQorCQkJCQk8dmFsIG89IjEwY2YxZSIgdj0iLTQ0NTYiLz4NCisJCQkJCTx2YWwgbz0iMTBkZDJlIiB2PSItNDEzMiIvPg0KKwkJCQkJPHZhbCBvPSIxMGViNjYiIHY9Ii00NDk5Ii8+DQorCQkJCQk8dmFsIG89IjEwZjk0ZSIgdj0iLTM4ODIiLz4NCisJCQkJCTx2YWwgbz0iMTEwNzVlIiB2PSItMzI5NSIvPg0KKwkJCQkJPHZhbCBvPSIxMTE1NmQiIHY9Ii0yODYzIi8+DQorCQkJCQk8dmFsIG89IjExMjM4OCIgdj0iLTI2NjgiLz4NCisJCQkJCTx2YWwgbz0iMTEzMTg3IiB2PSItMTc3OCIvPg0KKwkJCQkJPHZhbCBvPSIxMTNmYjAiIHY9Ii0xODEwIi8+DQorCQkJCQk8dmFsIG89IjExNGRhNiIgdj0iLTE4MjkiLz4NCisJCQkJCTx2YWwgbz0iMTE1YmI2IiB2PSItMTgwMCIvPg0KKwkJCQkJPHZhbCBvPSIxMTY5YzYiIHY9Ii0xNTk1Ii8+DQorCQkJCQk8dmFsIG89IjExNzdkNiIgdj0iLTIwNTAiLz4NCisJCQkJCTx2YWwgbz0iMTE4NWU4IiB2PSItMjk2MSIvPg0KKwkJCQkJPHZhbCBvPSIxMTkzZjciIHY9Ii0zNjI3Ii8+DQorCQkJCQk8dmFsIG89IjExYTIwOCIgdj0iLTQ4MzAiLz4NCisJCQkJCTx2YWwgbz0iMTFiMDE3IiB2PSItNDI5NiIvPg0KKwkJCQkJPHZhbCBvPSIxMWJlMmYiIHY9Ii01MjU3Ii8+DQorCQkJCQk8dmFsIG89IjExY2MzNyIgdj0iLTQ0MDgiLz4NCisJCQkJCTx2YWwgbz0iMTFkYTQ3IiB2PSItNDMyNiIvPg0KKwkJCQkJPHZhbCBvPSIxMWU4NTciIHY9Ii00NDIwIi8+DQorCQkJCQk8dmFsIG89IjExZjY2NyIgdj0iLTM5NTAiLz4NCisJCQkJCTx2YWwgbz0iMTIwNTc4IiB2PSItNCIvPg0KKwkJCQkJPHZhbCBvPSIxMjEzODYiIHY9Ii00Ii8+DQorCQkJCQk8dmFsIG89IjEyMjE5NiIgdj0iLTQiLz4NCisJCQkJCTx2YWwgbz0iMTIyZmE2IiB2PSItMyIvPg0KKwkJCQkJPHZhbCBvPSIxMjNkYjUiIHY9Ii0zIi8+DQorCQkJCQk8dmFsIG89IjEyNGJjNSIgdj0iLTMiLz4NCisJCQkJCTx2YWwgbz0iMTI1OWQ1IiB2PSItMiIvPg0KKwkJCQkJPHZhbCBvPSIxMjY3ZTQiIHY9Ii0yIi8+DQorCQkJCQk8dmFsIG89IjEyNzYwMCIgdj0iLTIiLz4NCisJCQkJCTx2YWwgbz0iMTI4MzA1IiB2PSItMiIvPg0KKwkJCQkJPHZhbCBvPSIxMjkxMTUiIHY9Ii0yIi8+DQorCQkJCQk8dmFsIG89IjEyOWYyNSIgdj0iLTIiLz4NCisJCQkJCTx2YWwgbz0iMTJhZDM1IiB2PSItMiIvPg0KKwkJCQkJPHZhbCBvPSIxMmJiNDUiIHY9Ii0xIi8+DQorCQkJCQk8dmFsIG89IjEyYzk1NCIgdj0iLTIiLz4NCisJCQkJCTx2YWwgbz0iMTJkNzY2IiB2PSItMiIvPg0KKwkJCQkJPHZhbCBvPSIxMmU1NzUiIHY9Ii0zIi8+DQorCQkJCQk8dmFsIG89IjEyZjM4NiIgdj0iLTIiLz4NCisJCQkJCTx2YWwgbz0iMTMwMTk2IiB2PSItNCIvPg0KKwkJCQkJPHZhbCBvPSIxMzBmYTYiIHY9Ii0zIi8+DQorCQkJCQk8dmFsIG89IjEzMWRiNyIgdj0iLTMiLz4NCisJCQkJCTx2YWwgbz0iMTMyYmM1IiB2PSItMyIvPg0KKwkJCQkJPHZhbCBvPSIxMzM5ZDQiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTM0N2U1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjEzNTVmNCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxMzY0MDQiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTM3MjE0IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjEzODAyNCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxMzhlMzMiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTM5YzQ0IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjEzYWE1NCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxM2I4NjUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTNjNjdlIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjEzZDQ4ZSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxM2UyOWUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTNmMGFlIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjEzZmViZiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNDBjY2YiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTQxYWRmIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE0MjhlZiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNDM2ZmYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTQ0NTBmIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE0NTMxZiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNDYxMzAiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTQ2ZjQwIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE0N2Q0NCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNDhiNTciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTQ5OTY1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE0YTc3NSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNGI1ODQiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTRjMzk3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE0ZDFhNCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNGRmYjYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTRlZGM1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE0ZmJkNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNTA5ZTUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTUxN2ZmIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE1MjYwNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNTM0MTUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTU0MjI1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE1NTAzNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNTVlNDUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTU2YzU1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE1N2E2NSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNTg4NzUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTU5Njg2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE1YTQ5NSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNWIyYTYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTVjMGI2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE1Y2VjNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNWRjZDUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTVlYWU2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE1ZjhmNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNjA3MDYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTYxNTE3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE2MjMyNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNjMxMzciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTYzZjQ2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE2NGQ1NyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNjViNjciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTY2OTgyIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE2Nzc4NiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNjg1OTYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTY5M2E2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE2YTFiNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNmFmYzYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTZiZGQ1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE2Y2JlNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNmQ5ZjYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTZlODA3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE2ZjYxNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNzA0MjkiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTcxMjM2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE3MjA0NyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNzJlNTciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTczYzY3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE3NGE3NyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNzU4ODciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTc2Njk0IiB2PSItNjg2OCIvPg0KKwkJCQkJPHZhbCBvPSIxNzc0YTMiIHY9Ii02NzkwIi8+DQorCQkJCQk8dmFsIG89IjE3ODJiMyIgdj0iLTcyNTIiLz4NCisJCQkJCTx2YWwgbz0iMTc5MGM1IiB2PSItNjczNCIvPg0KKwkJCQkJPHZhbCBvPSIxNzllZDQiIHY9Ii02MDMwIi8+DQorCQkJCQk8dmFsIG89IjE3YWNlNCIgdj0iLTU4OTIiLz4NCisJCQkJCTx2YWwgbz0iMTdiYWZkIiB2PSItNjA2NiIvPg0KKwkJCQkJPHZhbCBvPSIxN2M5MGYiIHY9Ii01NDg2Ii8+DQorCQkJCQk8dmFsIG89IjE3ZDcxZSIgdj0iLTU0NDQiLz4NCisJCQkJCTx2YWwgbz0iMTdlNTJmIiB2PSItNTMzOSIvPg0KKwkJCQkJPHZhbCBvPSIxN2YzM2YiIHY9Ii00OTgzIi8+DQorCQkJCQk8dmFsIG89IjE4MDE0ZiIgdj0iLTUxOTAiLz4NCisJCQkJCTx2YWwgbz0iMTgwZjVmIiB2PSItNjMxMyIvPg0KKwkJCQkJPHZhbCBvPSIxODFkNmUiIHY9Ii02ODM5Ii8+DQorCQkJCQk8dmFsIG89IjE4MmI3ZiIgdj0iLTc4NTMiLz4NCisJCQkJCTx2YWwgbz0iMTgzOThmIiB2PSItMTM1MDciLz4NCisJCQkJCTx2YWwgbz0iMTg0N2ExIiB2PSItMTMzODEiLz4NCisJCQkJCTx2YWwgbz0iMTg1NWFmIiB2PSItMTI3NzgiLz4NCisJCQkJCTx2YWwgbz0iMTg2M2MwIiB2PSItMTE4OTAiLz4NCisJCQkJCTx2YWwgbz0iMTg3MWNmIiB2PSItMTIzMzgiLz4NCisJCQkJCTx2YWwgbz0iMTg3ZmUwIiB2PSItMTE3NzQiLz4NCisJCQkJCTx2YWwgbz0iMTg4ZGVmIiB2PSItMTI2NDkiLz4NCisJCQkJCTx2YWwgbz0iMTg5YzAwIiB2PSItMTE4NDkiLz4NCisJCQkJCTx2YWwgbz0iMThiODBkIiB2PSItNzQ3MSIvPg0KKwkJCQkJPHZhbCBvPSIxOGM2MWMiIHY9Ii04MTI2Ii8+DQorCQkJCQk8dmFsIG89IjE4ZDQyYyIgdj0iLTc2OTYiLz4NCisJCQkJCTx2YWwgbz0iMThlMjNiIiB2PSItNjUzOCIvPg0KKwkJCQkJPHZhbCBvPSIxOGYwNGIiIHY9Ii02MTc1Ii8+DQorCQkJCQk8dmFsIG89IjE4ZmU1ZSIgdj0iLTU2NjQiLz4NCisJCQkJCTx2YWwgbz0iMTkwYzc2IiB2PSItNDQ4MCIvPg0KKwkJCQkJPHZhbCBvPSIxOTFhODYiIHY9Ii00MzAwIi8+DQorCQkJCQk8dmFsIG89IjE5Mjg5NiIgdj0iLTQyNjMiLz4NCisJCQkJCTx2YWwgbz0iMTkzNmE2IiB2PSItNDExOSIvPg0KKwkJCQkJPHZhbCBvPSIxOTQ0YjciIHY9Ii00MTAzIi8+DQorCQkJCQk8dmFsIG89IjE5NTJjNiIgdj0iLTQ1MTEiLz4NCisJCQkJCTx2YWwgbz0iMTk2MGQ3IiB2PSItNTEzNSIvPg0KKwkJCQkJPHZhbCBvPSIxOTZlZTYiIHY9Ii02MDM4Ii8+DQorCQkJCQk8dmFsIG89IjE5N2NmOCIgdj0iLTYzOTIiLz4NCisJCQkJCTx2YWwgbz0iMTk4YjBmIiB2PSItNTg5OSIvPg0KKwkJCQkJPHZhbCBvPSIxOTk5MWYiIHY9Ii02NjkwIi8+DQorCQkJCQk8dmFsIG89IjE5YjU0MSIgdj0iLTY2MDMiLz4NCisJCQkJCTx2YWwgbz0iMTljMzRkIiB2PSItNjE1OSIvPg0KKwkJCQkJPHZhbCBvPSIxOWQxNWUiIHY9Ii02MTI4Ii8+DQorCQkJCQk8dmFsIG89IjE5ZGY4MCIgdj0iLTYyMjAiLz4NCisJCQkJCTx2YWwgbz0iMTllZDkwIiB2PSItNjA0NyIvPg0KKwkJCQkJPHZhbCBvPSIxOWVlYmUiIHY9Ii02MDA5Ii8+DQorCQkJCQk8dmFsIG89IjE5ZmI4ZSIgdj0iLTIyOTUiLz4NCisJCQkJCTx2YWwgbz0iMWEwOWEwIiB2PSItMjU0MyIvPg0KKwkJCQkJPHZhbCBvPSIxYTE3YWUiIHY9Ii0zMDg1Ii8+DQorCQkJCQk8dmFsIG89IjFhMjViZSIgdj0iLTMyNjkiLz4NCisJCQkJCTx2YWwgbz0iMWEzM2NkIiB2PSItMjI2NyIvPg0KKwkJCQkJPHZhbCBvPSIxYTQxZGQiIHY9Ii0yMTU5Ii8+DQorCQkJCQk8dmFsIG89IjFhNGZlZCIgdj0iLTE1MzIiLz4NCisJCQkJCTx2YWwgbz0iMWE1ZTA4IiB2PSItMTY3NSIvPg0KKwkJCQkJPHZhbCBvPSIxYTZjMDUiIHY9Ii05NjAiLz4NCisJCQkJCTx2YWwgbz0iMWE3YTE1IiB2PSItMTEyMiIvPg0KKwkJCQkJPHZhbCBvPSIxYTg4MjYiIHY9Ii0xMDYxIi8+DQorCQkJCQk8dmFsIG89IjFhOTYzNyIgdj0iLTUwNSIvPg0KKwkJCQkJPHZhbCBvPSIxYWE0NDUiIHY9Ii01MzYiLz4NCisJCQkJCTx2YWwgbz0iMWFiMjU1IiB2PSItOTkxIi8+DQorCQkJCQk8dmFsIG89IjFhYzA2NSIgdj0iLTE4MTgiLz4NCisJCQkJCTx2YWwgbz0iMWFjZTc1IiB2PSItMjU3NCIvPg0KKwkJCQkJPHZhbCBvPSIxYWRjODciIHY9Ii0yODQ0Ii8+DQorCQkJCQk8dmFsIG89IjFhZWE5NiIgdj0iLTI2MDgiLz4NCisJCQkJCTx2YWwgbz0iMWFmOGE3IiB2PSItMjkyOCIvPg0KKwkJCQkJPHZhbCBvPSIxYjA2YjciIHY9Ii0yMTEyIi8+DQorCQkJCQk8dmFsIG89IjFiMTRjNiIgdj0iLTIwNzQiLz4NCisJCQkJCTx2YWwgbz0iMWM3NDYwIiB2PSIzNTQiLz4NCisJCQkJCTx2YWwgbz0iMWM4MjcwIiB2PSI0MzgiLz4NCisJCQkJCTx2YWwgbz0iMWM5MDdlIiB2PSIzNDA4Ii8+DQorCQkJCQk8dmFsIG89IjFjOWU4ZiIgdj0iMzI2OSIvPg0KKwkJCQkJPHZhbCBvPSIxY2FjYTIiIHY9IjM2NTUiLz4NCisJCQkJCTx2YWwgbz0iMWNiYWIxIiB2PSIzNTIxIi8+DQorCQkJCQk8dmFsIG89IjFjYzhjMSIgdj0iNTQzMSIvPg0KKwkJCQkJPHZhbCBvPSIxY2Q2ZDAiIHY9IjU1NjAiLz4NCisJCQkJCTx2YWwgbz0iMWNlNGRlIiB2PSI1NjYwIi8+DQorCQkJCQk8dmFsIG89IjFjZjJmMCIgdj0iNTYyMyIvPg0KKwkJCQkJPHZhbCBvPSIxZDAxMDkiIHY9IjU4OTYiLz4NCisJCQkJCTx2YWwgbz0iMWQwZjA2IiB2PSI2NjU2Ii8+DQorCQkJCQk8dmFsIG89IjFkMWQxNSIgdj0iNjY0NyIvPg0KKwkJCQkJPHZhbCBvPSIxZDJiMjUiIHY9IjY3MzMiLz4NCisJCQkJCTx2YWwgbz0iMWQzOTM1IiB2PSI2OTE0Ii8+DQorCQkJCQk8dmFsIG89IjFkNDc0NSIgdj0iNjg3MyIvPg0KKwkJCQkJPHZhbCBvPSIxZDU1NTUiIHY9IjY2OTEiLz4NCisJCQkJCTx2YWwgbz0iMWQ2MzY2IiB2PSI1ODE0Ii8+DQorCQkJCQk8dmFsIG89IjFkNzE3NSIgdj0iNTYxNyIvPg0KKwkJCQkJPHZhbCBvPSIxZDdmODYiIHY9IjU2MDgiLz4NCisJCQkJCTx2YWwgbz0iMWQ4ZDk1IiB2PSItMzIzMCIvPg0KKwkJCQkJPHZhbCBvPSIxZDliYTYiIHY9Ii0zNjU2Ii8+DQorCQkJCQk8dmFsIG89IjFkYTliNiIgdj0iLTM2MjAiLz4NCisJCQkJCTx2YWwgbz0iMWRiN2M3IiB2PSItMzQ0OSIvPg0KKwkJCQkJPHZhbCBvPSIxZGM1ZDUiIHY9Ii0zNjAxIi8+DQorCQkJCQk8dmFsIG89IjFkZDNlNiIgdj0iLTM3MzUiLz4NCisJCQkJCTx2YWwgbz0iMWRlMWY1IiB2PSItNTk5NiIvPg0KKwkJCQkJPHZhbCBvPSIxZGYwMDYiIHY9Ii02NzE4Ii8+DQorCQkJCQk8dmFsIG89IjFkZmUxNiIgdj0iLTY1ODMiLz4NCisJCQkJCTx2YWwgbz0iMWUwYzI2IiB2PSItNjc2NyIvPg0KKwkJCQkJPHZhbCBvPSIxZTFhMzYiIHY9Ii02ODAwIi8+DQorCQkJCQk8dmFsIG89IjFlMjg0NyIgdj0iLTY1MjUiLz4NCisJCQkJCTx2YWwgbz0iMWUzNjU5IiB2PSItNjE3MCIvPg0KKwkJCQkJPHZhbCBvPSIxZTQ0NjciIHY9Ii01Njc2Ii8+DQorCQkJCQk8dmFsIG89IjFlNTI4MSIgdj0iLTQ5MTEiLz4NCisJCQkJCTx2YWwgbz0iMWU2MDg2IiB2PSItNDkxMSIvPg0KKwkJCQkJPHZhbCBvPSIxZTZlOTYiIHY9Ii00ODAxIi8+DQorCQkJCQk8dmFsIG89IjFlN2NhNiIgdj0iLTE5ODIiLz4NCisJCQkJCTx2YWwgbz0iMWU4YWI1IiB2PSItMTgxMCIvPg0KKwkJCQkJPHZhbCBvPSIxZTk4YzYiIHY9Ii0xODM0Ii8+DQorCQkJCQk8dmFsIG89IjFlYTZkNSIgdj0iLTIyNTYiLz4NCisJCQkJCTx2YWwgbz0iMWViNGU2IiB2PSItMjMyNSIvPg0KKwkJCQkJPHZhbCBvPSIxZWMyZjYiIHY9Ii0yNjg0Ii8+DQorCQkJCQk8dmFsIG89IjFlZDEwNiIgdj0iLTI2NzUiLz4NCisJCQkJCTx2YWwgbz0iMWVkZjE2IiB2PSItMjc3OCIvPg0KKwkJCQkJPHZhbCBvPSIxZWVkMjYiIHY9Ii0yNjg4Ii8+DQorCQkJCQk8dmFsIG89IjFlZmIzNiIgdj0iLTI2NTAiLz4NCisJCQkJCTx2YWwgbz0iMWYwOTQ2IiB2PSItMjU1NyIvPg0KKwkJCQkJPHZhbCBvPSIxZjE3NTYiIHY9Ii0yMzU1Ii8+DQorCQkJCQk8dmFsIG89IjFmMjU2NiIgdj0iLTIzMTgiLz4NCisJCQkJCTx2YWwgbz0iMWYzMzc2IiB2PSItMjU4MiIvPg0KKwkJCQkJPHZhbCBvPSIxZjQxODciIHY9Ii0yODExIi8+DQorCQkJCQk8dmFsIG89IjFmNGY5NiIgdj0iLTMxODIiLz4NCisJCQkJCTx2YWwgbz0iMWY1ZGE3IiB2PSItMzU3OCIvPg0KKwkJCQkJPHZhbCBvPSIxZjZiYjYiIHY9Ii0zNTQ0Ii8+DQorCQkJCQk8dmFsIG89IjFmNzljNyIgdj0iLTMxNDgiLz4NCisJCQkJCTx2YWwgbz0iMWY4N2Q2IiB2PSItMzM0NSIvPg0KKwkJCQkJPHZhbCBvPSIxZjk1ZTciIHY9Ii0zMTM3Ii8+DQorCQkJCQk8dmFsIG89IjFmYTQwMSIgdj0iLTI4MDkiLz4NCisJCQkJCTx2YWwgbz0iMWZiMjA0IiB2PSItMjUwMSIvPg0KKwkJCQkJPHZhbCBvPSIxZmMwMTYiIHY9Ii0yNDkzIi8+DQorCQkJCQk8dmFsIG89IjFmY2UyNSIgdj0iLTIxNTciLz4NCisJCQkJCTx2YWwgbz0iMWZkYzM1IiB2PSItMjEzNyIvPg0KKwkJCQkJPHZhbCBvPSIxZmVhNDUiIHY9Ii0yMTU1Ii8+DQorCQkJCQk8dmFsIG89IjFmZjg1NSIgdj0iLTI0OTgiLz4NCisJCQkJCTx2YWwgbz0iMjAwNjY1IiB2PSItMjM2OCIvPg0KKwkJCQkJPHZhbCBvPSIyMDE0NzUiIHY9Ii0zNTEzIi8+DQorCQkJCQk8dmFsIG89IjIwMjI4NiIgdj0iLTQ1NjYiLz4NCisJCQkJCTx2YWwgbz0iMjAzMDk1IiB2PSItNTM0NSIvPg0KKwkJCQkJPHZhbCBvPSIyMDNlYTUiIHY9Ii02MDU3Ii8+DQorCQkJCQk8dmFsIG89IjIwNGNiNiIgdj0iLTU3OTkiLz4NCisJCQkJCTx2YWwgbz0iMjA1YWM2IiB2PSItNTM0MSIvPg0KKwkJCQkJPHZhbCBvPSIyMDY4ZDYiIHY9Ii01Mzk1Ii8+DQorCQkJCQk8dmFsIG89IjIwNzZlNiIgdj0iLTU5NzkiLz4NCisJCQkJCTx2YWwgbz0iMjA4NGY2IiB2PSItNjA5MCIvPg0KKwkJCQkJPHZhbCBvPSIyMDkzMDYiIHY9Ii02Nzc4Ii8+DQorCQkJCQk8dmFsIG89IjIwYTExNiIgdj0iLTYzNzgiLz4NCisJCQkJCTx2YWwgbz0iMjBhZjI2IiB2PSItNTQ3MyIvPg0KKwkJCQkJPHZhbCBvPSIyMGJkMzciIHY9Ii01MzgyIi8+DQorCQkJCQk8dmFsIG89IjIwY2I0NiIgdj0iLTQ2MDgiLz4NCisJCQkJCTx2YWwgbz0iMjBkOTU3IiB2PSItNDMxNiIvPg0KKwkJCQkJPHZhbCBvPSIyMGU3NjciIHY9Ii00MDU1Ii8+DQorCQkJCQk8dmFsIG89IjIwZjU4MSIgdj0iLTM4NjciLz4NCisJCQkJCTx2YWwgbz0iMjEwMzg2IiB2PSItMzQ4MiIvPg0KKwkJCQkJPHZhbCBvPSIyMTExOTQiIHY9Ii0zMTE2Ii8+DQorCQkJCQk8dmFsIG89IjIxMWZhNSIgdj0iLTMwMTAiLz4NCisJCQkJCTx2YWwgbz0iMjEyZGI1IiB2PSItMjk0NCIvPg0KKwkJCQkJPHZhbCBvPSIyMTNiYzUiIHY9Ii0yODE5Ii8+DQorCQkJCQk8dmFsIG89IjIxNDlkNiIgdj0iLTM2NDQiLz4NCisJCQkJCTx2YWwgbz0iMjE1N2U1IiB2PSItNDQ5OSIvPg0KKwkJCQkJPHZhbCBvPSIyMTY1ZjYiIHY9Ii01Nzk1Ii8+DQorCQkJCQk8dmFsIG89IjIxNzQwNiIgdj0iLTYxOTgiLz4NCisJCQkJCTx2YWwgbz0iMjE4MjE3IiB2PSItNjE3NCIvPg0KKwkJCQkJPHZhbCBvPSIyMTkwMjYiIHY9Ii02MTAyIi8+DQorCQkJCQk8dmFsIG89IjIxOWUzOSIgdj0iLTYyMTgiLz4NCisJCQkJCTx2YWwgbz0iMjFhYzQ2IiB2PSItNTg5OCIvPg0KKwkJCQkJPHZhbCBvPSIyMWJhNTciIHY9Ii01OTg2Ii8+DQorCQkJCQk8dmFsIG89IjIxYzg2NyIgdj0iLTU2MzMiLz4NCisJCQkJCTx2YWwgbz0iMjFkNjc3IiB2PSItNjIxMCIvPg0KKwkJCQkJPHZhbCBvPSIyMWU0ODciIHY9Ii01NzgzIi8+DQorCQkJCQk8dmFsIG89IjIxZjI5NiIgdj0iLTU3MjYiLz4NCisJCQkJCTx2YWwgbz0iMjIwMGE2IiB2PSItNTUzOSIvPg0KKwkJCQkJPHZhbCBvPSIyMjBlYjciIHY9Ii01NDA4Ii8+DQorCQkJCQk8dmFsIG89IjIyMWNjNiIgdj0iLTQ2MDgiLz4NCisJCQkJCTx2YWwgbz0iMjIyYWQ3IiB2PSItMzg3NiIvPg0KKwkJCQkJPHZhbCBvPSIyMjM4ZTciIHY9Ii0zNjE4Ii8+DQorCQkJCQk8dmFsIG89IjIyNDcwMSIgdj0iLTMyOTIiLz4NCisJCQkJCTx2YWwgbz0iMjI1NTA1IiB2PSItMTY4NSIvPg0KKwkJCQkJPHZhbCBvPSIyMjYzMTUiIHY9Ii0yMDcyIi8+DQorCQkJCQk8dmFsIG89IjIyNzEyNSIgdj0iLTIwNTAiLz4NCisJCQkJCTx2YWwgbz0iMjI3ZjM1IiB2PSItMTY3MCIvPg0KKwkJCQkJPHZhbCBvPSIyMjhkNDUiIHY9Ii0xNzkyIi8+DQorCQkJCQk8dmFsIG89IjIyOWI1NCIgdj0iLTM0ODUiLz4NCisJCQkJCTx2YWwgbz0iMjJhOTY1IiB2PSItMzkxMSIvPg0KKwkJCQkJPHZhbCBvPSIyMmI3NzYiIHY9Ii00NTc4Ii8+DQorCQkJCQk8dmFsIG89IjIyYzU4NiIgdj0iLTQ3ODgiLz4NCisJCQkJCTx2YWwgbz0iMjJkMzk3IiB2PSItNDQ1OSIvPg0KKwkJCQkJPHZhbCBvPSIyMmUxYTYiIHY9Ii00NjkzIi8+DQorCQkJCQk8dmFsIG89IjIyZWZiNiIgdj0iLTQ4MzAiLz4NCisJCQkJCTx2YWwgbz0iMjJmZGM3IiB2PSItNDY1MiIvPg0KKwkJCQkJPHZhbCBvPSIyMzBiZDciIHY9Ii00NDUyIi8+DQorCQkJCQk8dmFsIG89IjIzMTllNiIgdj0iLTUzOTQiLz4NCisJCQkJCTx2YWwgbz0iMjMyN2Y2IiB2PSItNTUzOCIvPg0KKwkJCQkJPHZhbCBvPSIyMzM2MWIiIHY9Ii01ODY2Ii8+DQorCQkJCQk8dmFsIG89IjIzNDQxNiIgdj0iLTUyMjUiLz4NCisJCQkJCTx2YWwgbz0iMjM1MjI2IiB2PSItNTE2MiIvPg0KKwkJCQkJPHZhbCBvPSIyMzYwMzciIHY9Ii01MjUwIi8+DQorCQkJCQk8dmFsIG89IjIzNmU0NiIgdj0iLTQzODQiLz4NCisJCQkJCTx2YWwgbz0iMjM3YzU3IiB2PSItNDIxOCIvPg0KKwkJCQkJPHZhbCBvPSIyMzhhNjYiIHY9Ii00MDE2Ii8+DQorCQkJCQk8dmFsIG89IjIzOTg4MSIgdj0iLTMyMjIiLz4NCisJCQkJCTx2YWwgbz0iMjNhNjg1IiB2PSItMzMxMSIvPg0KKwkJCQkJPHZhbCBvPSIyM2I0OTUiIHY9Ii0zMTgzIi8+DQorCQkJCQk8dmFsIG89IjIzYzJhNCIgdj0iLTI5NzQiLz4NCisJCQkJCTx2YWwgbz0iMjNkMGI1IiB2PSItMjk0NSIvPg0KKwkJCQkJPHZhbCBvPSIyM2RlYzQiIHY9Ii0yOTMzIi8+DQorCQkJCQk8dmFsIG89IjIzZWNkNSIgdj0iLTM1NzAiLz4NCisJCQkJCTx2YWwgbz0iMjNmYWU0IiB2PSItNDU0NSIvPg0KKwkJCQkJPHZhbCBvPSIyNDA4ZjYiIHY9Ii01MTE5Ii8+DQorCQkJCQk8dmFsIG89IjI0MTcwNiIgdj0iLTU3MzciLz4NCisJCQkJCTx2YWwgbz0iMjQyNTE4IiB2PSItNjUxNSIvPg0KKwkJCQkJPHZhbCBvPSIyNDMzMjUiIHY9Ii02Nzc2Ii8+DQorCQkJCQk8dmFsIG89IjI0NDEzNyIgdj0iLTY3NTUiLz4NCisJCQkJCTx2YWwgbz0iMjQ0ZjQ2IiB2PSItNjM2MSIvPg0KKwkJCQkJPHZhbCBvPSIyNDZiNjYiIHY9Ii02NTQ2Ii8+DQorCQkJCQk8dmFsIG89IjI0Nzk3NiIgdj0iLTYyNzMiLz4NCisJCQkJCTx2YWwgbz0iMjQ4Nzg2IiB2PSItNTQwMiIvPg0KKwkJCQkJPHZhbCBvPSIyNDk1N2UiIHY9Ii01Nzk3Ii8+DQorCQkJCQk8dmFsIG89IjI0YTM4ZiIgdj0iLTU2NDciLz4NCisJCQkJCTx2YWwgbz0iMjRiMTljIiB2PSItNTc0NyIvPg0KKwkJCQkJPHZhbCBvPSIyNGJmYWMiIHY9Ii01NDQzIi8+DQorCQkJCQk8dmFsIG89IjI0Y2RiYyIgdj0iLTU0NDUiLz4NCisJCQkJCTx2YWwgbz0iMjRkYmNkIiB2PSItNDU1NyIvPg0KKwkJCQkJPHZhbCBvPSIyNGU5ZTUiIHY9Ii00MDE5Ii8+DQorCQkJCQk8dmFsIG89IjI0ZjgwOCIgdj0iLTM0ODQiLz4NCisJCQkJCTx2YWwgbz0iMjUwNjE2IiB2PSItMzYxNiIvPg0KKwkJCQkJPHZhbCBvPSIyNTE0MjYiIHY9Ii0zNTU5Ii8+DQorCQkJCQk8dmFsIG89IjI1MjIzNiIgdj0iLTM0MDgiLz4NCisJCQkJCTx2YWwgbz0iMjUzMDQ3IiB2PSItMzYwOSIvPg0KKwkJCQkJPHZhbCBvPSIyNTNlNTYiIHY9Ii00MDIwIi8+DQorCQkJCQk8dmFsIG89IjI1NGM2NyIgdj0iLTQxODIiLz4NCisJCQkJCTx2YWwgbz0iMjU1YTc2IiB2PSItNDk5NyIvPg0KKwkJCQkJPHZhbCBvPSIyNTY4ODciIHY9Ii01ODEwIi8+DQorCQkJCQk8dmFsIG89IjI1NzY5NyIgdj0iLTU1OTUiLz4NCisJCQkJCTx2YWwgbz0iMjU4NGE4IiB2PSItMTUyMjQiLz4NCisJCQkJCTx2YWwgbz0iMjU5MmI2IiB2PSItODY5NSIvPg0KKwkJCQkJPHZhbCBvPSIyNWEwYzciIHY9Ii00NTc1Ii8+DQorCQkJCQk8dmFsIG89IjI1YWVkNyIgdj0iLTYzMTMiLz4NCisJCQkJCTx2YWwgbz0iMjViY2U3IiB2PSItNjEwNCIvPg0KKwkJCQkJPHZhbCBvPSIyNWNhZjgiIHY9Ii01NzUwIi8+DQorCQkJCQk8dmFsIG89IjI1ZDkwNyIgdj0iLTU3NjQiLz4NCisJCQkJCTx2YWwgbz0iMjVlNzE4IiB2PSItNTY0OSIvPg0KKwkJCQkJPHZhbCBvPSIyNWY1MjciIHY9Ii01MjQ5Ii8+DQorCQkJCQk8dmFsIG89IjI2MDMzOCIgdj0iLTU1NjIiLz4NCisJCQkJCTx2YWwgbz0iMjYxMTQ5IiB2PSItNDg3NSIvPg0KKwkJCQkJPHZhbCBvPSIyNjFmNTkiIHY9Ii00NjE5Ii8+DQorCQkJCQk8dmFsIG89IjI2MmQ2OCIgdj0iLTQ2MTEiLz4NCisJCQkJCTx2YWwgbz0iMjYzYjgzIiB2PSItMzYxOSIvPg0KKwkJCQkJPHZhbCBvPSIyNjQ5ODYiIHY9Ii0zNDY3Ii8+DQorCQkJCQk8dmFsIG89IjI2NTc5NSIgdj0iLTM1NjQiLz4NCisJCQkJCTx2YWwgbz0iMjY2NWE2IiB2PSItMzY3MiIvPg0KKwkJCQkJPHZhbCBvPSIyNjczYjUiIHY9Ii0zNjE0Ii8+DQorCQkJCQk8dmFsIG89IjI2ODFjNiIgdj0iLTM2MjEiLz4NCisJCQkJCTx2YWwgbz0iMjY4ZmQ1IiB2PSItMzg2OCIvPg0KKwkJCQkJPHZhbCBvPSIyNjlkZTYiIHY9Ii0zOTY5Ii8+DQorCQkJCQk8dmFsIG89IjI2YWJmNiIgdj0iLTM4ODYiLz4NCisJCQkJCTx2YWwgbz0iMjZiYTA2IiB2PSItNDM4MSIvPg0KKwkJCQkJPHZhbCBvPSIyNmM4MTciIHY9Ii00MjcxIi8+DQorCQkJCQk8dmFsIG89IjI2ZDYyYiIgdj0iLTM5NjciLz4NCisJCQkJCTx2YWwgbz0iMjZlNDM2IiB2PSItNDAwMiIvPg0KKwkJCQkJPHZhbCBvPSIyNmYyNDciIHY9Ii0zNTYyIi8+DQorCQkJCQk8dmFsIG89IjI3MDA1NyIgdj0iLTM4NzQiLz4NCisJCQkJCTx2YWwgbz0iMjcwZTY3IiB2PSItMzU2MSIvPg0KKwkJCQkJPHZhbCBvPSIyNzFjNzciIHY9Ii00NjkwIi8+DQorCQkJCQk8dmFsIG89IjI3MmE4NyIgdj0iLTUxOTYiLz4NCisJCQkJCTx2YWwgbz0iMjczODk3IiB2PSItNTIxMSIvPg0KKwkJCQkJPHZhbCBvPSIyNzQ2YTgiIHY9Ii01MDM3Ii8+DQorCQkJCQk8dmFsIG89IjI3NTRiOSIgdj0iLTQ5NjMiLz4NCisJCQkJCTx2YWwgbz0iMjc2MmM3IiB2PSItNDA0OCIvPg0KKwkJCQkJPHZhbCBvPSIyNzcwZDgiIHY9Ii0zNzA4Ii8+DQorCQkJCQk8dmFsIG89IjI3N2VlNyIgdj0iLTMyMTUiLz4NCisJCQkJPC9wYXI+DQorCQkJCTxwYXIgbWVtaW5kPSI0MzgyMDAiIGg9IjNkYzFhOGRlIj4NCisJCQkJCTx2YWwgbz0iMCIgdj0iLTExMDMiLz4NCisJCQkJCTx2YWwgbz0iZTA4IiB2PSItMTI4NiIvPg0KKwkJCQkJPHZhbCBvPSIxYzMyIiB2PSItMTM1MSIvPg0KKwkJCQkJPHZhbCBvPSIyYTNjIiB2PSItMTQyNyIvPg0KKwkJCQkJPHZhbCBvPSIzODM1IiB2PSItMTI0NiIvPg0KKwkJCQkJPHZhbCBvPSI0NjQ1IiB2PSItMTEwMSIvPg0KKwkJCQkJPHZhbCBvPSI1NDU1IiB2PSItOTA5Ii8+DQorCQkJCQk8dmFsIG89IjYyNjUiIHY9Ii0xNDcyIi8+DQorCQkJCQk8dmFsIG89IjcwNzUiIHY9Ii0xNTIzIi8+DQorCQkJCQk8dmFsIG89IjdlODUiIHY9Ii0xNDM1Ii8+DQorCQkJCQk8dmFsIG89IjhjOTYiIHY9Ii0xNzg0Ii8+DQorCQkJCQk8dmFsIG89IjlhYTUiIHY9Ii0xNzU3Ii8+DQorCQkJCQk8dmFsIG89ImE4YjYiIHY9Ii0xNjgyIi8+DQorCQkJCQk8dmFsIG89ImI2YzUiIHY9Ii0xNzQ1Ii8+DQorCQkJCQk8dmFsIG89ImM0ZDciIHY9Ii02Ii8+DQorCQkJCQk8dmFsIG89ImQzMGIiIHY9Ii02Ii8+DQorCQkJCQk8dmFsIG89ImUwZjYiIHY9Ii02Ii8+DQorCQkJCQk8dmFsIG89ImVmMDYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iZmQxNyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxMGIyNyIgdj0iLTYiLz4NCisJCQkJCTx2YWwgbz0iMTE5MzciIHY9Ii02Ii8+DQorCQkJCQk8dmFsIG89IjEyNzQ2IiB2PSItNiIvPg0KKwkJCQkJPHZhbCBvPSIxMzU1NiIgdj0iLTYiLz4NCisJCQkJCTx2YWwgbz0iMTQzNjYiIHY9Ii02Ii8+DQorCQkJCQk8dmFsIG89IjE1MTgxIiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSIxNWY4NSIgdj0iLTYiLz4NCisJCQkJCTx2YWwgbz0iMTZkOTUiIHY9Ii02Ii8+DQorCQkJCQk8dmFsIG89IjE3YmE0IiB2PSItNiIvPg0KKwkJCQkJPHZhbCBvPSIxODliNSIgdj0iLTYiLz4NCisJCQkJCTx2YWwgbz0iMTk3YzQiIHY9Ii02Ii8+DQorCQkJCQk8dmFsIG89IjFhNWQ1IiB2PSItNiIvPg0KKwkJCQkJPHZhbCBvPSIxYjNlNiIgdj0iLTYiLz4NCisJCQkJCTx2YWwgbz0iMWMxZjYiIHY9Ii02Ii8+DQorCQkJCQk8dmFsIG89IjFkMDA1IiB2PSItNiIvPg0KKwkJCQkJPHZhbCBvPSIxZGUxNSIgdj0iLTYiLz4NCisJCQkJCTx2YWwgbz0iMWVjMjUiIHY9Ii02Ii8+DQorCQkJCQk8dmFsIG89IjFmYTM2IiB2PSItNiIvPg0KKwkJCQkJPHZhbCBvPSIyMDg0NSIgdj0iLTYiLz4NCisJCQkJCTx2YWwgbz0iMjE2NTYiIHY9Ii02Ii8+DQorCQkJCQk8dmFsIG89IjIyNDY1IiB2PSItNiIvPg0KKwkJCQkJPHZhbCBvPSIyMzI3NiIgdj0iLTYiLz4NCisJCQkJCTx2YWwgbz0iMjQwODYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjRlOTkiIHY9Ii02Ii8+DQorCQkJCQk8dmFsIG89IjI1Y2E3IiB2PSItNiIvPg0KKwkJCQkJPHZhbCBvPSIyNmFiNyIgdj0iLTYiLz4NCisJCQkJCTx2YWwgbz0iMjc4YzYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjg2ZDYiIHY9Ii02Ii8+DQorCQkJCQk8dmFsIG89IjI5NGU2IiB2PSItNiIvPg0KKwkJCQkJPHZhbCBvPSIyYTMwMSIgdj0iLTYiLz4NCisJCQkJCTx2YWwgbz0iMmIxMDUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMmJmMTUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMmNkMjUiIHY9Ii02Ii8+DQorCQkJCQk8dmFsIG89IjJkYjM1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjJlOTQ2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjJmNzU1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjMwNTY2IiB2PSItNiIvPg0KKwkJCQkJPHZhbCBvPSIzMTM3NSIgdj0iLTYiLz4NCisJCQkJCTx2YWwgbz0iMzIxOWUiIHY9Ii02Ii8+DQorCQkJCQk8dmFsIG89IjMyZjk2IiB2PSItNiIvPg0KKwkJCQkJPHZhbCBvPSIzM2RhNiIgdj0iLTYiLz4NCisJCQkJCTx2YWwgbz0iMzRiYjYiIHY9Ii02Ii8+DQorCQkJCQk8dmFsIG89IjM1OWRlIiB2PSItNiIvPg0KKwkJCQkJPHZhbCBvPSIzNjdkNiIgdj0iLTYiLz4NCisJCQkJCTx2YWwgbz0iMzc1ZTYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMzg0MGUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMzkyMWUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iM2EwMTYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iM2FlMjciIHY9Ii02Ii8+DQorCQkJCQk8dmFsIG89IjNiYzM2IiB2PSItNiIvPg0KKwkJCQkJPHZhbCBvPSIzY2E0NyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIzZDg1NiIgdj0iLTYiLz4NCisJCQkJCTx2YWwgbz0iM2U2NjciIHY9Ii02Ii8+DQorCQkJCQk8dmFsIG89IjNmNDgxIiB2PSItNiIvPg0KKwkJCQkJPHZhbCBvPSI0MDI4NSIgdj0iLTYiLz4NCisJCQkJCTx2YWwgbz0iNDEwOTUiIHY9Ii02Ii8+DQorCQkJCQk8dmFsIG89IjQxZWE1IiB2PSItNiIvPg0KKwkJCQkJPHZhbCBvPSI0MmNiNSIgdj0iLTYiLz4NCisJCQkJCTx2YWwgbz0iNDNhYzUiIHY9Ii02Ii8+DQorCQkJCQk8dmFsIG89IjQ0OGQ1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjQ1NmU2IiB2PSItNiIvPg0KKwkJCQkJPHZhbCBvPSI0NjRmNSIgdj0iLTYiLz4NCisJCQkJCTx2YWwgbz0iNDgwZmYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iNDhmMGUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iNDlkMWQiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iNGFiNDYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iNGI5NTUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iNGM3NjkiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iNGQ1NzciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iNGUzODciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iNGYxOTYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iNGZmYTYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iNTBkZDAiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iNTFiYzYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iNTI5ZDYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iNTM3ZTciIHY9Ii02Ii8+DQorCQkJCQk8dmFsIG89IjU0NjAwIiB2PSItNiIvPg0KKwkJCQkJPHZhbCBvPSI1NTQwNiIgdj0iLTYiLz4NCisJCQkJCTx2YWwgbz0iNTYyMTUiIHY9Ii02Ii8+DQorCQkJCQk8dmFsIG89IjU3MDI2IiB2PSItNiIvPg0KKwkJCQkJPHZhbCBvPSI1N2UzNiIgdj0iLTYiLz4NCisJCQkJCTx2YWwgbz0iNThjNDYiIHY9Ii02Ii8+DQorCQkJCQk8dmFsIG89IjU5YTcwIiB2PSItNiIvPg0KKwkJCQkJPHZhbCBvPSI1YTg2NyIgdj0iLTYiLz4NCisJCQkJCTx2YWwgbz0iNWI2NzYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iNWM0ODciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iNWQyOTYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iNWUwYTkiIHY9Ii02Ii8+DQorCQkJCQk8dmFsIG89IjVlZWI4IiB2PSItNiIvPg0KKwkJCQkJPHZhbCBvPSI1ZmNjNiIgdj0iLTYiLz4NCisJCQkJCTx2YWwgbz0iNjBhZDciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iNjE4ZTciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iNjI2ZjciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iNjM1MDciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iNjQzMTciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iNjUxMjciIHY9Ii02Ii8+DQorCQkJCQk8dmFsIG89IjY1ZjM3IiB2PSItNiIvPg0KKwkJCQkJPHZhbCBvPSI2NmQ0NiIgdj0iLTYiLz4NCisJCQkJCTx2YWwgbz0iNjdiNTciIHY9Ii02Ii8+DQorCQkJCQk8dmFsIG89IjY4OTY3IiB2PSItNiIvPg0KKwkJCQkJPHZhbCBvPSI2OTc4MiIgdj0iLTYiLz4NCisJCQkJCTx2YWwgbz0iNmE1ODYiIHY9Ii02Ii8+DQorCQkJCQk8dmFsIG89IjZiMzk1IiB2PSItNiIvPg0KKwkJCQkJPHZhbCBvPSI2YzFhNiIgdj0iLTYiLz4NCisJCQkJCTx2YWwgbz0iNmNmYjUiIHY9Ii02Ii8+DQorCQkJCQk8dmFsIG89IjZkZGM2IiB2PSItNiIvPg0KKwkJCQkJPHZhbCBvPSI2ZWJkNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI2ZjllNiIgdj0iLTYiLz4NCisJCQkJCTx2YWwgbz0iNzA3ZjYiIHY9Ii02Ii8+DQorCQkJCQk8dmFsIG89IjcxNjA3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjcyNDE3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjczMjI3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89Ijc0MDM3IiB2PSItNiIvPg0KKwkJCQkJPHZhbCBvPSI3NGU0NyIgdj0iLTYiLz4NCisJCQkJCTx2YWwgbz0iNzVjNTciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iNzZhNjMiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iNzc4NzMiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iNzg2ODAiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iNzk0OGYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iN2EyOWYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iN2IwYWYiIHY9Ii02Ii8+DQorCQkJCQk8dmFsIG89IjdiZWJmIiB2PSItNiIvPg0KKwkJCQkJPHZhbCBvPSI3Y2NjZiIgdj0iLTYiLz4NCisJCQkJCTx2YWwgbz0iN2RhZGYiIHY9Ii02Ii8+DQorCQkJCQk8dmFsIG89IjdlOGZhIiB2PSItNiIvPg0KKwkJCQkJPHZhbCBvPSI3ZjcwYSIgdj0iLTYiLz4NCisJCQkJCTx2YWwgbz0iODA1MWEiIHY9Ii02Ii8+DQorCQkJCQk8dmFsIG89IjgxMzJhIiB2PSItNiIvPg0KKwkJCQkJPHZhbCBvPSI4MjEzYSIgdj0iLTYiLz4NCisJCQkJCTx2YWwgbz0iODJmNGEiIHY9Ii02Ii8+DQorCQkJCQk8dmFsIG89IjgzZDVhIiB2PSItNiIvPg0KKwkJCQkJPHZhbCBvPSI4NGI2YSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI4NTk3YSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI4Njc4YiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI4NzU5YiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI4ODNhYyIgdj0iLTYiLz4NCisJCQkJCTx2YWwgbz0iODkxYmIiIHY9Ii02Ii8+DQorCQkJCQk8dmFsIG89Ijg5ZmNhIiB2PSItNiIvPg0KKwkJCQkJPHZhbCBvPSI4YWRkYSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI4YmJlYiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI4YzlmYyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI4ZDgwYiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI4ZTYxYSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI4ZjQyYSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI5MDIzYSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI5MTA0YSIgdj0iLTYiLz4NCisJCQkJCTx2YWwgbz0iOTFlNWEiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iOTJjNmEiIHY9Ii02Ii8+DQorCQkJCQk8dmFsIG89IjkzYTg0IiB2PSItNiIvPg0KKwkJCQkJPHZhbCBvPSI5NDg4NSIgdj0iLTYiLz4NCisJCQkJCTx2YWwgbz0iOTU2OTQiIHY9Ii02Ii8+DQorCQkJCQk8dmFsIG89Ijk2NGE1IiB2PSItNiIvPg0KKwkJCQkJPHZhbCBvPSI5NzJiNCIgdj0iLTYiLz4NCisJCQkJCTx2YWwgbz0iOTgwYzUiIHY9Ii02Ii8+DQorCQkJCQk8dmFsIG89Ijk4ZWQ0IiB2PSItNiIvPg0KKwkJCQkJPHZhbCBvPSI5OWNlNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI5YWFmNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSI5YjkwNiIgdj0iLTYiLz4NCisJCQkJCTx2YWwgbz0iOWM3MTYiIHY9Ii02Ii8+DQorCQkJCQk8dmFsIG89IjlkNTI2IiB2PSItNiIvPg0KKwkJCQkJPHZhbCBvPSI5ZTMzNiIgdj0iLTYiLz4NCisJCQkJCTx2YWwgbz0iOWYxNDUiIHY9Ii02Ii8+DQorCQkJCQk8dmFsIG89IjlmZjU2IiB2PSItNiIvPg0KKwkJCQkJPHZhbCBvPSJhMGQ2NSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSJhMWI3NyIgdj0iLTE1OTAiLz4NCisJCQkJCTx2YWwgbz0iYTI5ODYiIHY9Ii01MDAiLz4NCisJCQkJCTx2YWwgbz0iYTM3OTUiIHY9IjEzNzkiLz4NCisJCQkJCTx2YWwgbz0iYTQ1YTciIHY9Ii00NSIvPg0KKwkJCQkJPHZhbCBvPSJhNTNiNiIgdj0iLTM0NiIvPg0KKwkJCQkJPHZhbCBvPSJhNjFjNyIgdj0iLTU4MCIvPg0KKwkJCQkJPHZhbCBvPSJhNmZkNiIgdj0iLTc1MiIvPg0KKwkJCQkJPHZhbCBvPSJhN2UwMCIgdj0iLTEzNjciLz4NCisJCQkJCTx2YWwgbz0iYThjMDAiIHY9Ii0xOTA2Ii8+DQorCQkJCQk8dmFsIG89ImE5YTA1IiB2PSIxMDEiLz4NCisJCQkJCTx2YWwgbz0iYWE4MTUiIHY9Ii0zNjYiLz4NCisJCQkJCTx2YWwgbz0iYWI2MjUiIHY9Ii03NDAiLz4NCisJCQkJCTx2YWwgbz0iYWM0MzUiIHY9Ii01NTAiLz4NCisJCQkJCTx2YWwgbz0iYWQyNDUiIHY9IjQzMiIvPg0KKwkJCQkJPHZhbCBvPSJhZTA1NSIgdj0iMTU5NSIvPg0KKwkJCQkJPHZhbCBvPSJhZWU2NSIgdj0iMjc1Ii8+DQorCQkJCQk8dmFsIG89ImFmYzc1IiB2PSIxMDE5Ii8+DQorCQkJCQk8dmFsIG89ImIwYTg1IiB2PSIzNDQ0Ii8+DQorCQkJCQk8dmFsIG89ImIyNmE2IiB2PSIzNjI5Ii8+DQorCQkJCQk8dmFsIG89ImIzNGI2IiB2PSIzMjAzIi8+DQorCQkJCQk8dmFsIG89ImI0MmM2IiB2PSIyMTUiLz4NCisJCQkJCTx2YWwgbz0iYjUwZDYiIHY9IjM4MCIvPg0KKwkJCQkJPHZhbCBvPSJiNWVlNyIgdj0iODkwIi8+DQorCQkJCQk8dmFsIG89ImI2Y2Y2IiB2PSItNDQ2Ii8+DQorCQkJCQk8dmFsIG89ImI3YjA3IiB2PSItMjAwIi8+DQorCQkJCQk8dmFsIG89ImI4OTE3IiB2PSItNDQiLz4NCisJCQkJCTx2YWwgbz0iYjk3MjgiIHY9Ii00MjQiLz4NCisJCQkJCTx2YWwgbz0iYmE1MzciIHY9Ii03MTgiLz4NCisJCQkJCTx2YWwgbz0iYmIzNDciIHY9Ijk0NiIvPg0KKwkJCQkJPHZhbCBvPSJiYzE1NyIgdj0iMjc2Ii8+DQorCQkJCQk8dmFsIG89ImJjZjY3IiB2PSItOTQ0Ii8+DQorCQkJCQk8dmFsIG89ImJkZDgxIiB2PSIzMTI5Ii8+DQorCQkJCQk8dmFsIG89ImJlYjg2IiB2PSI0NTMiLz4NCisJCQkJCTx2YWwgbz0iYmY5OTUiIHY9IjE5NCIvPg0KKwkJCQkJPHZhbCBvPSJjMDdhNiIgdj0iLTI0NiIvPg0KKwkJCQkJPHZhbCBvPSJjMTViNSIgdj0iLTEyMiIvPg0KKwkJCQkJPHZhbCBvPSJjMjNjNiIgdj0iNDMwIi8+DQorCQkJCQk8dmFsIG89ImMzMWQ1IiB2PSIxNTgyIi8+DQorCQkJCQk8dmFsIG89ImMzZmU2IiB2PSI3MjAiLz4NCisJCQkJCTx2YWwgbz0iYzRkZjUiIHY9IjEzMzMiLz4NCisJCQkJCTx2YWwgbz0iYzVjMDYiIHY9IjU4OCIvPg0KKwkJCQkJPHZhbCBvPSJjNmExNiIgdj0iNjQyIi8+DQorCQkJCQk8dmFsIG89ImM3ODI2IiB2PSIxMDk2Ii8+DQorCQkJCQk8dmFsIG89ImM4NjM2IiB2PSIzMTMiLz4NCisJCQkJCTx2YWwgbz0iYzk0NDYiIHY9IjM3NCIvPg0KKwkJCQkJPHZhbCBvPSJjYTI1NiIgdj0iMjA0Ii8+DQorCQkJCQk8dmFsIG89ImNiMDY2IiB2PSI2OTIiLz4NCisJCQkJCTx2YWwgbz0iY2JlNzYiIHY9Ii0xOTYiLz4NCisJCQkJCTx2YWwgbz0iY2NjODciIHY9IjE4ODgiLz4NCisJCQkJCTx2YWwgbz0iY2RhOTYiIHY9IjI1MDIiLz4NCisJCQkJCTx2YWwgbz0iY2U4YTgiIHY9IjE4NDAiLz4NCisJCQkJCTx2YWwgbz0iY2Y2YjciIHY9IjI0MzciLz4NCisJCQkJCTx2YWwgbz0iZDA0YzgiIHY9IjE5MzAiLz4NCisJCQkJCTx2YWwgbz0iZDEyZDciIHY9IjEyMTkiLz4NCisJCQkJCTx2YWwgbz0iZDIwZTciIHY9Ii0yNTAiLz4NCisJCQkJCTx2YWwgbz0iZDJmMDIiIHY9Ii0xOTcxIi8+DQorCQkJCQk8dmFsIG89ImQzZDA1IiB2PSItMTAyOSIvPg0KKwkJCQkJPHZhbCBvPSJkNGIxNSIgdj0iLTEwNzIiLz4NCisJCQkJCTx2YWwgbz0iZDU5MjYiIHY9Ii0zODgiLz4NCisJCQkJCTx2YWwgbz0iZDY3MzUiIHY9IjIyOSIvPg0KKwkJCQkJPHZhbCBvPSJkNzU0NiIgdj0iMTEzMSIvPg0KKwkJCQkJPHZhbCBvPSJkODM1NSIgdj0iLTcyNiIvPg0KKwkJCQkJPHZhbCBvPSJkOTE2NiIgdj0iMTY2Ii8+DQorCQkJCQk8dmFsIG89ImQ5Zjc1IiB2PSI5NjUiLz4NCisJCQkJCTx2YWwgbz0iZGFkODciIHY9IjIzNDEiLz4NCisJCQkJCTx2YWwgbz0iZGJiOTciIHY9IjIzNTQiLz4NCisJCQkJCTx2YWwgbz0iZGM5YTgiIHY9IjI1NjUiLz4NCisJCQkJCTx2YWwgbz0iZGQ3YjciIHY9IjExMzYiLz4NCisJCQkJCTx2YWwgbz0iZGU1YzYiIHY9IjM2NyIvPg0KKwkJCQkJPHZhbCBvPSJkZjNkNyIgdj0iMTczIi8+DQorCQkJCQk8dmFsIG89ImUwMWQ3IiB2PSIxNTYiLz4NCisJCQkJCTx2YWwgbz0iZTBmZTUiIHY9IjQ2MCIvPg0KKwkJCQkJPHZhbCBvPSJlMWRmNSIgdj0iMzU4Ii8+DQorCQkJCQk8dmFsIG89ImUyYzA0IiB2PSItMzA4Ii8+DQorCQkJCQk8dmFsIG89ImUzYTE0IiB2PSItMTAwNiIvPg0KKwkJCQkJPHZhbCBvPSJlNDgyNCIgdj0iOTMiLz4NCisJCQkJCTx2YWwgbz0iZTU2MzQiIHY9Ii03MjMiLz4NCisJCQkJCTx2YWwgbz0iZTY0NDQiIHY9IjE0NyIvPg0KKwkJCQkJPHZhbCBvPSJlNzI1NSIgdj0iLTU1MSIvPg0KKwkJCQkJPHZhbCBvPSJlODA2ZiIgdj0iLTYyNiIvPg0KKwkJCQkJPHZhbCBvPSJlOGU3ZiIgdj0iMjMxNiIvPg0KKwkJCQkJPHZhbCBvPSJlOWM4ZSIgdj0iNzE0Ii8+DQorCQkJCQk8dmFsIG89ImVhYTlmIiB2PSI2MDAiLz4NCisJCQkJCTx2YWwgbz0iZWI4YWUiIHY9Ijk1MyIvPg0KKwkJCQkJPHZhbCBvPSJlYzZiZiIgdj0iMjI2NyIvPg0KKwkJCQkJPHZhbCBvPSJlZDRjZSIgdj0iLTQwMyIvPg0KKwkJCQkJPHZhbCBvPSJlZTJkZiIgdj0iOTk5Ii8+DQorCQkJCQk8dmFsIG89ImVmMGVmIiB2PSI0NzUiLz4NCisJCQkJCTx2YWwgbz0iZWZmMDEiIHY9IjE2NjMiLz4NCisJCQkJCTx2YWwgbz0iZjBkMTAiIHY9IjgyOSIvPg0KKwkJCQkJPHZhbCBvPSJmMWIyMCIgdj0iMTA1NSIvPg0KKwkJCQkJPHZhbCBvPSJmMjkzMCIgdj0iLTMxNCIvPg0KKwkJCQkJPHZhbCBvPSJmMzc0MCIgdj0iMTQzMSIvPg0KKwkJCQkJPHZhbCBvPSJmNDU1MSIgdj0iMTIwMSIvPg0KKwkJCQkJPHZhbCBvPSJmNTM2MSIgdj0iMTI4MCIvPg0KKwkJCQkJPHZhbCBvPSJmNjE3MiIgdj0iMTQzMSIvPg0KKwkJCQkJPHZhbCBvPSJmNmY4MCIgdj0iMTE0NSIvPg0KKwkJCQkJPHZhbCBvPSJmN2Q5MSIgdj0iMTYzNSIvPg0KKwkJCQkJPHZhbCBvPSJmOGJhMSIgdj0iOTU3Ii8+DQorCQkJCQk8dmFsIG89ImY5OWIxIiB2PSIxMDE5Ii8+DQorCQkJCQk8dmFsIG89ImZhN2MwIiB2PSIxMjE5Ii8+DQorCQkJCQk8dmFsIG89ImZiNWQxIiB2PSIxMTQzIi8+DQorCQkJCQk8dmFsIG89ImZjM2UwIiB2PSItODkzIi8+DQorCQkJCQk8dmFsIG89ImZkMWZiIiB2PSItMTAxOSIvPg0KKwkJCQkJPHZhbCBvPSJmZTAwYiIgdj0iLTEzODkiLz4NCisJCQkJCTx2YWwgbz0iZmVlMWMiIHY9Ii0xODIiLz4NCisJCQkJCTx2YWwgbz0iZmZjMmMiIHY9Ii0yMjAiLz4NCisJCQkJCTx2YWwgbz0iMTAwYTNiIiB2PSI1MDIiLz4NCisJCQkJCTx2YWwgbz0iMTAxODRjIiB2PSI5NDAiLz4NCisJCQkJCTx2YWwgbz0iMTAyNjViIiB2PSIxNzE5Ii8+DQorCQkJCQk8dmFsIG89IjEwMzQ2YyIgdj0iMTU5MiIvPg0KKwkJCQkJPHZhbCBvPSIxMDQyN2IiIHY9Ijk2MCIvPg0KKwkJCQkJPHZhbCBvPSIxMDUwOGQiIHY9IjE1MzciLz4NCisJCQkJCTx2YWwgbz0iMTA1ZTlkIiB2PSIxMTc3Ii8+DQorCQkJCQk8dmFsIG89IjEwNmNhZCIgdj0iMTMzNyIvPg0KKwkJCQkJPHZhbCBvPSIxMDdhYmQiIHY9IjczNyIvPg0KKwkJCQkJPHZhbCBvPSIxMDg4Y2QiIHY9IjcyMyIvPg0KKwkJCQkJPHZhbCBvPSIxMDk2ZGUiIHY9IjkxNyIvPg0KKwkJCQkJPHZhbCBvPSIxMGE0ZWQiIHY9Ijc5NCIvPg0KKwkJCQkJPHZhbCBvPSIxMGIyZmUiIHY9IjEwNzUiLz4NCisJCQkJCTx2YWwgbz0iMTBjMTBkIiB2PSIyMzI4Ii8+DQorCQkJCQk8dmFsIG89IjEwY2YxZSIgdj0iMTE5MiIvPg0KKwkJCQkJPHZhbCBvPSIxMGRkMmUiIHY9Ijg2NyIvPg0KKwkJCQkJPHZhbCBvPSIxMGViNjYiIHY9IjE4NCIvPg0KKwkJCQkJPHZhbCBvPSIxMGY5NGUiIHY9IjEyIi8+DQorCQkJCQk8dmFsIG89IjExMDc1ZSIgdj0iOTc4Ii8+DQorCQkJCQk8dmFsIG89IjExMTU2ZCIgdj0iMjU2Ii8+DQorCQkJCQk8dmFsIG89IjExMjM4OCIgdj0iLTEwMDciLz4NCisJCQkJCTx2YWwgbz0iMTEzMTg3IiB2PSI2MTQiLz4NCisJCQkJCTx2YWwgbz0iMTEzZmIwIiB2PSIyMDUiLz4NCisJCQkJCTx2YWwgbz0iMTE0ZGE2IiB2PSIxOTUiLz4NCisJCQkJCTx2YWwgbz0iMTE1YmI2IiB2PSIzMTYiLz4NCisJCQkJCTx2YWwgbz0iMTE2OWM2IiB2PSIxMjQxIi8+DQorCQkJCQk8dmFsIG89IjExNzdkNiIgdj0iMTc0OCIvPg0KKwkJCQkJPHZhbCBvPSIxMTg1ZTgiIHY9IjEwNDYiLz4NCisJCQkJCTx2YWwgbz0iMTE5M2Y3IiB2PSIxMDk5Ii8+DQorCQkJCQk8dmFsIG89IjExYTIwOCIgdj0iMzA5Ii8+DQorCQkJCQk8dmFsIG89IjExYjAxNyIgdj0iLTIwMiIvPg0KKwkJCQkJPHZhbCBvPSIxMWJlMmYiIHY9Ii03MjIiLz4NCisJCQkJCTx2YWwgbz0iMTFjYzM3IiB2PSI2ODAiLz4NCisJCQkJCTx2YWwgbz0iMTFkYTQ3IiB2PSI0NDAiLz4NCisJCQkJCTx2YWwgbz0iMTFlODU3IiB2PSI4NzAiLz4NCisJCQkJCTx2YWwgbz0iMTFmNjY3IiB2PSI0NzUiLz4NCisJCQkJCTx2YWwgbz0iMTIwNTc4IiB2PSIxIi8+DQorCQkJCQk8dmFsIG89IjEyMTM4NiIgdj0iMSIvPg0KKwkJCQkJPHZhbCBvPSIxMjIxOTYiIHY9IjIiLz4NCisJCQkJCTx2YWwgbz0iMTIyZmE2IiB2PSIxIi8+DQorCQkJCQk8dmFsIG89IjEyM2RiNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxMjRiYzUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTI1OWQ1IiB2PSIxIi8+DQorCQkJCQk8dmFsIG89IjEyNjdlNCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxMjc2MDAiIHY9Ii0xIi8+DQorCQkJCQk8dmFsIG89IjEyODMwNSIgdj0iLTEiLz4NCisJCQkJCTx2YWwgbz0iMTI5MTE1IiB2PSItMSIvPg0KKwkJCQkJPHZhbCBvPSIxMjlmMjUiIHY9Ii0xIi8+DQorCQkJCQk8dmFsIG89IjEyYWQzNSIgdj0iLTEiLz4NCisJCQkJCTx2YWwgbz0iMTJiYjQ1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjEyYzk1NCIgdj0iMSIvPg0KKwkJCQkJPHZhbCBvPSIxMmQ3NjYiIHY9IjEiLz4NCisJCQkJCTx2YWwgbz0iMTJlNTc1IiB2PSIxIi8+DQorCQkJCQk8dmFsIG89IjEyZjM4NiIgdj0iMSIvPg0KKwkJCQkJPHZhbCBvPSIxMzAxOTYiIHY9IjEiLz4NCisJCQkJCTx2YWwgbz0iMTMwZmE2IiB2PSIxIi8+DQorCQkJCQk8dmFsIG89IjEzMWRiNyIgdj0iMSIvPg0KKwkJCQkJPHZhbCBvPSIxMzJiYzUiIHY9IjEiLz4NCisJCQkJCTx2YWwgbz0iMTMzOWQ0IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjEzNDdlNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxMzU1ZjQiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTM2NDA0IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjEzNzIxNCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxMzgwMjQiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTM4ZTMzIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjEzOWM0NCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxM2FhNTQiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTNiODY1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjEzYzY3ZSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxM2Q0OGUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTNlMjllIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjEzZjBhZSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxM2ZlYmYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTQwY2NmIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE0MWFkZiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNDI4ZWYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTQzNmZmIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE0NDUwZiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNDUzMWYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTQ2MTMwIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE0NmY0MCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNDdkNDQiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTQ4YjU3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE0OTk2NSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNGE3NzUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTRiNTg0IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE0YzM5NyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNGQxYTQiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTRkZmI2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE0ZWRjNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNGZiZDUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTUwOWU1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE1MTdmZiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNTI2MDUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTUzNDE1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE1NDIyNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNTUwMzUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTU1ZTQ1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE1NmM1NSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNTdhNjUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTU4ODc1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE1OTY4NiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNWE0OTUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTViMmE2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE1YzBiNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNWNlYzYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTVkY2Q1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE1ZWFlNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNWY4ZjUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTYwNzA2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE2MTUxNyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNjIzMjYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTYzMTM3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE2M2Y0NiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNjRkNTciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTY1YjY3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE2Njk4MiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNjc3ODYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTY4NTk2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE2OTNhNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNmExYjUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTZhZmM2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE2YmRkNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNmNiZTYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTZkOWY2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE2ZTgwNyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNmY2MTYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTcwNDI5IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE3MTIzNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNzIwNDciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTcyZTU3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE3M2M2NyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNzRhNzciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTc1ODg3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE3NjY5NCIgdj0iMTk1OSIvPg0KKwkJCQkJPHZhbCBvPSIxNzc0YTMiIHY9IjE1MDYiLz4NCisJCQkJCTx2YWwgbz0iMTc4MmIzIiB2PSIxMDI3Ii8+DQorCQkJCQk8dmFsIG89IjE3OTBjNSIgdj0iNjc3Ii8+DQorCQkJCQk8dmFsIG89IjE3OWVkNCIgdj0iLTc1OSIvPg0KKwkJCQkJPHZhbCBvPSIxN2FjZTQiIHY9Ii0yMDQyIi8+DQorCQkJCQk8dmFsIG89IjE3YmFmZCIgdj0iLTI1NTQiLz4NCisJCQkJCTx2YWwgbz0iMTdjOTBmIiB2PSItMjE3OCIvPg0KKwkJCQkJPHZhbCBvPSIxN2Q3MWUiIHY9Ii0yMTI2Ii8+DQorCQkJCQk8dmFsIG89IjE3ZTUyZiIgdj0iLTI0ODQiLz4NCisJCQkJCTx2YWwgbz0iMTdmMzNmIiB2PSItMTk4MCIvPg0KKwkJCQkJPHZhbCBvPSIxODAxNGYiIHY9Ii0xMDcyIi8+DQorCQkJCQk8dmFsIG89IjE4MGY1ZiIgdj0iLTUyNCIvPg0KKwkJCQkJPHZhbCBvPSIxODFkNmUiIHY9Ii0xMzY2Ii8+DQorCQkJCQk8dmFsIG89IjE4MmI3ZiIgdj0iLTE3NTMiLz4NCisJCQkJCTx2YWwgbz0iMTgzOThmIiB2PSItODkzIi8+DQorCQkJCQk8dmFsIG89IjE4NDdhMSIgdj0iLTg0NSIvPg0KKwkJCQkJPHZhbCBvPSIxODU1YWYiIHY9Ii0xMTQ4Ii8+DQorCQkJCQk8dmFsIG89IjE4NjNjMCIgdj0iLTI3MTAiLz4NCisJCQkJCTx2YWwgbz0iMTg3MWNmIiB2PSItMjI5NyIvPg0KKwkJCQkJPHZhbCBvPSIxODdmZTAiIHY9Ii0yMjA4Ii8+DQorCQkJCQk8dmFsIG89IjE4OGRlZiIgdj0iLTIwMzciLz4NCisJCQkJCTx2YWwgbz0iMTg5YzAwIiB2PSItOTk3Ii8+DQorCQkJCQk8dmFsIG89IjE4YjgwZCIgdj0iMTA0OCIvPg0KKwkJCQkJPHZhbCBvPSIxOGM2MWMiIHY9Ii05NTUiLz4NCisJCQkJCTx2YWwgbz0iMThkNDJjIiB2PSItMTMzNCIvPg0KKwkJCQkJPHZhbCBvPSIxOGUyM2IiIHY9Ii0xMTIxIi8+DQorCQkJCQk8dmFsIG89IjE4ZjA0YiIgdj0iLTE2MjUiLz4NCisJCQkJCTx2YWwgbz0iMThmZTVlIiB2PSItMTQxOSIvPg0KKwkJCQkJPHZhbCBvPSIxOTBjNzYiIHY9Ii02NzEiLz4NCisJCQkJCTx2YWwgbz0iMTkxYTg2IiB2PSItMTUwMSIvPg0KKwkJCQkJPHZhbCBvPSIxOTI4OTYiIHY9Ii0xNTExIi8+DQorCQkJCQk8dmFsIG89IjE5MzZhNiIgdj0iLTE2MTgiLz4NCisJCQkJCTx2YWwgbz0iMTk0NGI3IiB2PSItMTAzNyIvPg0KKwkJCQkJPHZhbCBvPSIxOTUyYzYiIHY9Ii0xOTIiLz4NCisJCQkJCTx2YWwgbz0iMTk2MGQ3IiB2PSIxMzk3Ii8+DQorCQkJCQk8dmFsIG89IjE5NmVlNiIgdj0iLTYyNyIvPg0KKwkJCQkJPHZhbCBvPSIxOTdjZjgiIHY9Ii03MTEiLz4NCisJCQkJCTx2YWwgbz0iMTk4YjBmIiB2PSIyMCIvPg0KKwkJCQkJPHZhbCBvPSIxOTk5MWYiIHY9Ii0xMzAiLz4NCisJCQkJCTx2YWwgbz0iMTliNTQxIiB2PSItODQzIi8+DQorCQkJCQk8dmFsIG89IjE5YzM0ZCIgdj0iLTY0MiIvPg0KKwkJCQkJPHZhbCBvPSIxOWQxNWUiIHY9Ii0zMjAiLz4NCisJCQkJCTx2YWwgbz0iMTlkZjgwIiB2PSItMjEwIi8+DQorCQkJCQk8dmFsIG89IjE5ZWQ5MCIgdj0iMjk1Ii8+DQorCQkJCQk8dmFsIG89IjE5ZWViZSIgdj0iNDE3Ii8+DQorCQkJCQk8dmFsIG89IjE5ZmI4ZSIgdj0iMzciLz4NCisJCQkJCTx2YWwgbz0iMWEwOWEwIiB2PSItMjEwNSIvPg0KKwkJCQkJPHZhbCBvPSIxYTE3YWUiIHY9Ii0yOTgwIi8+DQorCQkJCQk8dmFsIG89IjFhMjViZSIgdj0iLTMzMjkiLz4NCisJCQkJCTx2YWwgbz0iMWEzM2NkIiB2PSItMTQzMCIvPg0KKwkJCQkJPHZhbCBvPSIxYTQxZGQiIHY9Ii0xOTg2Ii8+DQorCQkJCQk8dmFsIG89IjFhNGZlZCIgdj0iLTM1NzAiLz4NCisJCQkJCTx2YWwgbz0iMWE1ZTA4IiB2PSItMzIzMCIvPg0KKwkJCQkJPHZhbCBvPSIxYTZjMDUiIHY9Ii0yMjg4Ii8+DQorCQkJCQk8dmFsIG89IjFhN2ExNSIgdj0iLTI4NDYiLz4NCisJCQkJCTx2YWwgbz0iMWE4ODI2IiB2PSItMjk0NiIvPg0KKwkJCQkJPHZhbCBvPSIxYTk2MzciIHY9Ii0yMzQyIi8+DQorCQkJCQk8dmFsIG89IjFhYTQ0NSIgdj0iLTE3MTkiLz4NCisJCQkJCTx2YWwgbz0iMWFiMjU1IiB2PSItNjY4Ii8+DQorCQkJCQk8dmFsIG89IjFhYzA2NSIgdj0iLTE3NjEiLz4NCisJCQkJCTx2YWwgbz0iMWFjZTc1IiB2PSItMjQxMyIvPg0KKwkJCQkJPHZhbCBvPSIxYWRjODciIHY9Ii0xNzI3Ii8+DQorCQkJCQk8dmFsIG89IjFhZWE5NiIgdj0iLTE4MzIiLz4NCisJCQkJCTx2YWwgbz0iMWFmOGE3IiB2PSItMTg4OSIvPg0KKwkJCQkJPHZhbCBvPSIxYjA2YjciIHY9Ii0yMzQ2Ii8+DQorCQkJCQk8dmFsIG89IjFiMTRjNiIgdj0iLTIxNzYiLz4NCisJCQkJCTx2YWwgbz0iMWM3NDYwIiB2PSIzNzQiLz4NCisJCQkJCTx2YWwgbz0iMWM4MjcwIiB2PSItMTMyIi8+DQorCQkJCQk8dmFsIG89IjFjOTA3ZSIgdj0iOTkzIi8+DQorCQkJCQk8dmFsIG89IjFjOWU4ZiIgdj0iLTE1MCIvPg0KKwkJCQkJPHZhbCBvPSIxY2FjYTIiIHY9Ii04NDMiLz4NCisJCQkJCTx2YWwgbz0iMWNiYWIxIiB2PSItMTE5NiIvPg0KKwkJCQkJPHZhbCBvPSIxY2M4YzEiIHY9IjI1NzciLz4NCisJCQkJCTx2YWwgbz0iMWNkNmQwIiB2PSIxNTgyIi8+DQorCQkJCQk8dmFsIG89IjFjZTRkZSIgdj0iOTA5Ii8+DQorCQkJCQk8dmFsIG89IjFjZjJmMCIgdj0iLTE0MDUiLz4NCisJCQkJCTx2YWwgbz0iMWQwMTA5IiB2PSItMTU5NyIvPg0KKwkJCQkJPHZhbCBvPSIxZDBmMDYiIHY9Ii0xODYiLz4NCisJCQkJCTx2YWwgbz0iMWQxZDE1IiB2PSItNjU4Ii8+DQorCQkJCQk8dmFsIG89IjFkMmIyNSIgdj0iLTY3OSIvPg0KKwkJCQkJPHZhbCBvPSIxZDM5MzUiIHY9Ijg5Ii8+DQorCQkJCQk8dmFsIG89IjFkNDc0NSIgdj0iNjgwIi8+DQorCQkJCQk8dmFsIG89IjFkNTU1NSIgdj0iMTA5NSIvPg0KKwkJCQkJPHZhbCBvPSIxZDYzNjYiIHY9Ii04MzIiLz4NCisJCQkJCTx2YWwgbz0iMWQ3MTc1IiB2PSItNzg1Ii8+DQorCQkJCQk8dmFsIG89IjFkN2Y4NiIgdj0iLTIyOCIvPg0KKwkJCQkJPHZhbCBvPSIxZDhkOTUiIHY9Ii00MCIvPg0KKwkJCQkJPHZhbCBvPSIxZDliYTYiIHY9Ii0yODAiLz4NCisJCQkJCTx2YWwgbz0iMWRhOWI2IiB2PSItNjk3Ii8+DQorCQkJCQk8dmFsIG89IjFkYjdjNyIgdj0iLTY5NyIvPg0KKwkJCQkJPHZhbCBvPSIxZGM1ZDUiIHY9Ii04MTEiLz4NCisJCQkJCTx2YWwgbz0iMWRkM2U2IiB2PSItNjI5Ii8+DQorCQkJCQk8dmFsIG89IjFkZTFmNSIgdj0iLTE0MDgiLz4NCisJCQkJCTx2YWwgbz0iMWRmMDA2IiB2PSItMTY2NiIvPg0KKwkJCQkJPHZhbCBvPSIxZGZlMTYiIHY9Ii0xNTc0Ii8+DQorCQkJCQk8dmFsIG89IjFlMGMyNiIgdj0iLTE5MjgiLz4NCisJCQkJCTx2YWwgbz0iMWUxYTM2IiB2PSItMTk3MCIvPg0KKwkJCQkJPHZhbCBvPSIxZTI4NDciIHY9Ii0yMDE3Ii8+DQorCQkJCQk8dmFsIG89IjFlMzY1OSIgdj0iLTE5ODQiLz4NCisJCQkJCTx2YWwgbz0iMWU0NDY3IiB2PSItMjAwNyIvPg0KKwkJCQkJPHZhbCBvPSIxZTUyODEiIHY9Ii0xNjExIi8+DQorCQkJCQk8dmFsIG89IjFlNjA4NiIgdj0iLTE4NTEiLz4NCisJCQkJCTx2YWwgbz0iMWU2ZTk2IiB2PSItMTkwOCIvPg0KKwkJCQkJPHZhbCBvPSIxZTdjYTYiIHY9Ii0yNTEiLz4NCisJCQkJCTx2YWwgbz0iMWU4YWI1IiB2PSItMzg2Ii8+DQorCQkJCQk8dmFsIG89IjFlOThjNiIgdj0iLTEyMSIvPg0KKwkJCQkJPHZhbCBvPSIxZWE2ZDUiIHY9Ii0zNjUiLz4NCisJCQkJCTx2YWwgbz0iMWViNGU2IiB2PSItMzEzIi8+DQorCQkJCQk8dmFsIG89IjFlYzJmNiIgdj0iLTUwNiIvPg0KKwkJCQkJPHZhbCBvPSIxZWQxMDYiIHY9Ii0yMzIiLz4NCisJCQkJCTx2YWwgbz0iMWVkZjE2IiB2PSItMjg4Ii8+DQorCQkJCQk8dmFsIG89IjFlZWQyNiIgdj0iLTEyMSIvPg0KKwkJCQkJPHZhbCBvPSIxZWZiMzYiIHY9Ii0zMTAiLz4NCisJCQkJCTx2YWwgbz0iMWYwOTQ2IiB2PSItMjQ1Ii8+DQorCQkJCQk8dmFsIG89IjFmMTc1NiIgdj0iNDM5Ii8+DQorCQkJCQk8dmFsIG89IjFmMjU2NiIgdj0iNjA5Ii8+DQorCQkJCQk8dmFsIG89IjFmMzM3NiIgdj0iMTA3OCIvPg0KKwkJCQkJPHZhbCBvPSIxZjQxODciIHY9IjI0OTEiLz4NCisJCQkJCTx2YWwgbz0iMWY0Zjk2IiB2PSIxMzI3Ii8+DQorCQkJCQk8dmFsIG89IjFmNWRhNyIgdj0iLTExNSIvPg0KKwkJCQkJPHZhbCBvPSIxZjZiYjYiIHY9Ii00NDIiLz4NCisJCQkJCTx2YWwgbz0iMWY3OWM3IiB2PSIyMDMiLz4NCisJCQkJCTx2YWwgbz0iMWY4N2Q2IiB2PSItMTQzOSIvPg0KKwkJCQkJPHZhbCBvPSIxZjk1ZTciIHY9Ii0yMDE5Ii8+DQorCQkJCQk8dmFsIG89IjFmYTQwMSIgdj0iLTE0OTEiLz4NCisJCQkJCTx2YWwgbz0iMWZiMjA0IiB2PSItMTI4NSIvPg0KKwkJCQkJPHZhbCBvPSIxZmMwMTYiIHY9Ii0xMzA5Ii8+DQorCQkJCQk8dmFsIG89IjFmY2UyNSIgdj0iLTQwOSIvPg0KKwkJCQkJPHZhbCBvPSIxZmRjMzUiIHY9Ii0xNjIiLz4NCisJCQkJCTx2YWwgbz0iMWZlYTQ1IiB2PSI5MCIvPg0KKwkJCQkJPHZhbCBvPSIxZmY4NTUiIHY9IjMxOSIvPg0KKwkJCQkJPHZhbCBvPSIyMDA2NjUiIHY9IjI0ODMiLz4NCisJCQkJCTx2YWwgbz0iMjAxNDc1IiB2PSIzNTciLz4NCisJCQkJCTx2YWwgbz0iMjAyMjg2IiB2PSIxNjgxIi8+DQorCQkJCQk8dmFsIG89IjIwMzA5NSIgdj0iMTU3MiIvPg0KKwkJCQkJPHZhbCBvPSIyMDNlYTUiIHY9IjE1NzUiLz4NCisJCQkJCTx2YWwgbz0iMjA0Y2I2IiB2PSIzMDIiLz4NCisJCQkJCTx2YWwgbz0iMjA1YWM2IiB2PSIxMDc2Ii8+DQorCQkJCQk8dmFsIG89IjIwNjhkNiIgdj0iMTU1NSIvPg0KKwkJCQkJPHZhbCBvPSIyMDc2ZTYiIHY9IjE5NzEiLz4NCisJCQkJCTx2YWwgbz0iMjA4NGY2IiB2PSIyMzkiLz4NCisJCQkJCTx2YWwgbz0iMjA5MzA2IiB2PSItMzUxIi8+DQorCQkJCQk8dmFsIG89IjIwYTExNiIgdj0iLTUyNyIvPg0KKwkJCQkJPHZhbCBvPSIyMGFmMjYiIHY9Ii0yMTUiLz4NCisJCQkJCTx2YWwgbz0iMjBiZDM3IiB2PSItNzgyIi8+DQorCQkJCQk8dmFsIG89IjIwY2I0NiIgdj0iNDUyIi8+DQorCQkJCQk8dmFsIG89IjIwZDk1NyIgdj0iNjAiLz4NCisJCQkJCTx2YWwgbz0iMjBlNzY3IiB2PSItODQ4Ii8+DQorCQkJCQk8dmFsIG89IjIwZjU4MSIgdj0iLTEzODMiLz4NCisJCQkJCTx2YWwgbz0iMjEwMzg2IiB2PSItOTg5Ii8+DQorCQkJCQk8dmFsIG89IjIxMTE5NCIgdj0iLTMyNSIvPg0KKwkJCQkJPHZhbCBvPSIyMTFmYTUiIHY9Ii0zODIiLz4NCisJCQkJCTx2YWwgbz0iMjEyZGI1IiB2PSI2MCIvPg0KKwkJCQkJPHZhbCBvPSIyMTNiYzUiIHY9Ijg4NCIvPg0KKwkJCQkJPHZhbCBvPSIyMTQ5ZDYiIHY9IjY1OSIvPg0KKwkJCQkJPHZhbCBvPSIyMTU3ZTUiIHY9Ii0yNjQiLz4NCisJCQkJCTx2YWwgbz0iMjE2NWY2IiB2PSItOTkwIi8+DQorCQkJCQk8dmFsIG89IjIxNzQwNiIgdj0iMjg5Ii8+DQorCQkJCQk8dmFsIG89IjIxODIxNyIgdj0iLTI5MiIvPg0KKwkJCQkJPHZhbCBvPSIyMTkwMjYiIHY9Ii01NDIiLz4NCisJCQkJCTx2YWwgbz0iMjE5ZTM5IiB2PSIzNjYiLz4NCisJCQkJCTx2YWwgbz0iMjFhYzQ2IiB2PSI5MDkiLz4NCisJCQkJCTx2YWwgbz0iMjFiYTU3IiB2PSI5OTIiLz4NCisJCQkJCTx2YWwgbz0iMjFjODY3IiB2PSIxODA4Ii8+DQorCQkJCQk8dmFsIG89IjIxZDY3NyIgdj0iLTEwNDkiLz4NCisJCQkJCTx2YWwgbz0iMjFlNDg3IiB2PSI1NDMiLz4NCisJCQkJCTx2YWwgbz0iMjFmMjk2IiB2PSIzNzciLz4NCisJCQkJCTx2YWwgbz0iMjIwMGE2IiB2PSItNjE5Ii8+DQorCQkJCQk8dmFsIG89IjIyMGViNyIgdj0iLTcxMiIvPg0KKwkJCQkJPHZhbCBvPSIyMjFjYzYiIHY9IjE0NTkiLz4NCisJCQkJCTx2YWwgbz0iMjIyYWQ3IiB2PSIyNTciLz4NCisJCQkJCTx2YWwgbz0iMjIzOGU3IiB2PSItNjk2Ii8+DQorCQkJCQk8dmFsIG89IjIyNDcwMSIgdj0iLTEwODUiLz4NCisJCQkJCTx2YWwgbz0iMjI1NTA1IiB2PSIyODczIi8+DQorCQkJCQk8dmFsIG89IjIyNjMxNSIgdj0iNDIxIi8+DQorCQkJCQk8dmFsIG89IjIyNzEyNSIgdj0iNTU3Ii8+DQorCQkJCQk8dmFsIG89IjIyN2YzNSIgdj0iMTY5NiIvPg0KKwkJCQkJPHZhbCBvPSIyMjhkNDUiIHY9IjI0ODAiLz4NCisJCQkJCTx2YWwgbz0iMjI5YjU0IiB2PSItNzA3Ii8+DQorCQkJCQk8dmFsIG89IjIyYTk2NSIgdj0iLTIzNyIvPg0KKwkJCQkJPHZhbCBvPSIyMmI3NzYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMjJjNTg2IiB2PSIxNzMwIi8+DQorCQkJCQk8dmFsIG89IjIyZDM5NyIgdj0iMjk5MCIvPg0KKwkJCQkJPHZhbCBvPSIyMmUxYTYiIHY9IjI3NDYiLz4NCisJCQkJCTx2YWwgbz0iMjJlZmI2IiB2PSItMTc0Ii8+DQorCQkJCQk8dmFsIG89IjIyZmRjNyIgdj0iLTE5NCIvPg0KKwkJCQkJPHZhbCBvPSIyMzBiZDciIHY9IjQ4NSIvPg0KKwkJCQkJPHZhbCBvPSIyMzE5ZTYiIHY9Ii03MjkiLz4NCisJCQkJCTx2YWwgbz0iMjMyN2Y2IiB2PSI3MCIvPg0KKwkJCQkJPHZhbCBvPSIyMzM2MWIiIHY9IjkwNyIvPg0KKwkJCQkJPHZhbCBvPSIyMzQ0MTYiIHY9IjEyOTciLz4NCisJCQkJCTx2YWwgbz0iMjM1MjI2IiB2PSI3NzYiLz4NCisJCQkJCTx2YWwgbz0iMjM2MDM3IiB2PSIxMjMiLz4NCisJCQkJCTx2YWwgbz0iMjM2ZTQ2IiB2PSIxNTU3Ii8+DQorCQkJCQk8dmFsIG89IjIzN2M1NyIgdj0iMTIwOCIvPg0KKwkJCQkJPHZhbCBvPSIyMzhhNjYiIHY9IjI1MyIvPg0KKwkJCQkJPHZhbCBvPSIyMzk4ODEiIHY9IjUwOCIvPg0KKwkJCQkJPHZhbCBvPSIyM2E2ODUiIHY9Ii0yNzQiLz4NCisJCQkJCTx2YWwgbz0iMjNiNDk1IiB2PSItNTcxIi8+DQorCQkJCQk8dmFsIG89IjIzYzJhNCIgdj0iMTQ2Ii8+DQorCQkJCQk8dmFsIG89IjIzZDBiNSIgdj0iNTY3Ii8+DQorCQkJCQk8dmFsIG89IjIzZGVjNCIgdj0iMTIyMiIvPg0KKwkJCQkJPHZhbCBvPSIyM2VjZDUiIHY9IjczMyIvPg0KKwkJCQkJPHZhbCBvPSIyM2ZhZTQiIHY9IjgiLz4NCisJCQkJCTx2YWwgbz0iMjQwOGY2IiB2PSIxMDQxIi8+DQorCQkJCQk8dmFsIG89IjI0MTcwNiIgdj0iMzIyMiIvPg0KKwkJCQkJPHZhbCBvPSIyNDI1MTgiIHY9IjI1NzYiLz4NCisJCQkJCTx2YWwgbz0iMjQzMzI1IiB2PSIyNDIyIi8+DQorCQkJCQk8dmFsIG89IjI0NDEzNyIgdj0iLTEwMzYiLz4NCisJCQkJCTx2YWwgbz0iMjQ0ZjQ2IiB2PSItNzQ2Ii8+DQorCQkJCQk8dmFsIG89IjI0NmI2NiIgdj0iLTY2MSIvPg0KKwkJCQkJPHZhbCBvPSIyNDc5NzYiIHY9IjQ1Ii8+DQorCQkJCQk8dmFsIG89IjI0ODc4NiIgdj0iMzk4MyIvPg0KKwkJCQkJPHZhbCBvPSIyNDk1N2UiIHY9IjE2OTQiLz4NCisJCQkJCTx2YWwgbz0iMjRhMzhmIiB2PSI3MDkiLz4NCisJCQkJCTx2YWwgbz0iMjRiMTljIiB2PSItODQ0Ii8+DQorCQkJCQk8dmFsIG89IjI0YmZhYyIgdj0iLTYwNSIvPg0KKwkJCQkJPHZhbCBvPSIyNGNkYmMiIHY9Ii02NjEiLz4NCisJCQkJCTx2YWwgbz0iMjRkYmNkIiB2PSItNDM2Ii8+DQorCQkJCQk8dmFsIG89IjI0ZTllNSIgdj0iLTExNTUiLz4NCisJCQkJCTx2YWwgbz0iMjRmODA4IiB2PSItNzE2Ii8+DQorCQkJCQk8dmFsIG89IjI1MDYxNiIgdj0iLTg3NyIvPg0KKwkJCQkJPHZhbCBvPSIyNTE0MjYiIHY9Ii0xMDI0Ii8+DQorCQkJCQk8dmFsIG89IjI1MjIzNiIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iMjUzMDQ3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjI1M2U1NiIgdj0iMTE4NSIvPg0KKwkJCQkJPHZhbCBvPSIyNTRjNjciIHY9Ijg4NCIvPg0KKwkJCQkJPHZhbCBvPSIyNTVhNzYiIHY9IjExMDMiLz4NCisJCQkJCTx2YWwgbz0iMjU2ODg3IiB2PSIxNzg5Ii8+DQorCQkJCQk8dmFsIG89IjI1NzY5NyIgdj0iMzEzMiIvPg0KKwkJCQkJPHZhbCBvPSIyNTg0YTgiIHY9Ii00MDMyIi8+DQorCQkJCQk8dmFsIG89IjI1OTJiNiIgdj0iLTIxMTQiLz4NCisJCQkJCTx2YWwgbz0iMjVhMGM3IiB2PSItNDk4Ii8+DQorCQkJCQk8dmFsIG89IjI1YWVkNyIgdj0iMTc0Ii8+DQorCQkJCQk8dmFsIG89IjI1YmNlNyIgdj0iMjEwIi8+DQorCQkJCQk8dmFsIG89IjI1Y2FmOCIgdj0iNzEwIi8+DQorCQkJCQk8dmFsIG89IjI1ZDkwNyIgdj0iMjEyNyIvPg0KKwkJCQkJPHZhbCBvPSIyNWU3MTgiIHY9IjIzODYiLz4NCisJCQkJCTx2YWwgbz0iMjVmNTI3IiB2PSIxOTE2Ii8+DQorCQkJCQk8dmFsIG89IjI2MDMzOCIgdj0iNTMiLz4NCisJCQkJCTx2YWwgbz0iMjYxMTQ5IiB2PSIxMDcwIi8+DQorCQkJCQk8dmFsIG89IjI2MWY1OSIgdj0iNTY0Ii8+DQorCQkJCQk8dmFsIG89IjI2MmQ2OCIgdj0iLTExODEiLz4NCisJCQkJCTx2YWwgbz0iMjYzYjgzIiB2PSIzNCIvPg0KKwkJCQkJPHZhbCBvPSIyNjQ5ODYiIHY9Ii04NDciLz4NCisJCQkJCTx2YWwgbz0iMjY1Nzk1IiB2PSItMTMxOCIvPg0KKwkJCQkJPHZhbCBvPSIyNjY1YTYiIHY9Ii0xODQyIi8+DQorCQkJCQk8dmFsIG89IjI2NzNiNSIgdj0iLTE0MDQiLz4NCisJCQkJCTx2YWwgbz0iMjY4MWM2IiB2PSItMTEyOSIvPg0KKwkJCQkJPHZhbCBvPSIyNjhmZDUiIHY9Ii0zNzIiLz4NCisJCQkJCTx2YWwgbz0iMjY5ZGU2IiB2PSIyNjkiLz4NCisJCQkJCTx2YWwgbz0iMjZhYmY2IiB2PSI1NzIiLz4NCisJCQkJCTx2YWwgbz0iMjZiYTA2IiB2PSIxNDEzIi8+DQorCQkJCQk8dmFsIG89IjI2YzgxNyIgdj0iMTU4NiIvPg0KKwkJCQkJPHZhbCBvPSIyNmQ2MmIiIHY9IjMxNjEiLz4NCisJCQkJCTx2YWwgbz0iMjZlNDM2IiB2PSIyMzQ3Ii8+DQorCQkJCQk8dmFsIG89IjI2ZjI0NyIgdj0iMjYyNyIvPg0KKwkJCQkJPHZhbCBvPSIyNzAwNTciIHY9IjI1MDIiLz4NCisJCQkJCTx2YWwgbz0iMjcwZTY3IiB2PSIyODE4Ii8+DQorCQkJCQk8dmFsIG89IjI3MWM3NyIgdj0iMTU4Ii8+DQorCQkJCQk8dmFsIG89IjI3MmE4NyIgdj0iLTU0NSIvPg0KKwkJCQkJPHZhbCBvPSIyNzM4OTciIHY9Ii0zNzAiLz4NCisJCQkJCTx2YWwgbz0iMjc0NmE4IiB2PSItNjI0Ii8+DQorCQkJCQk8dmFsIG89IjI3NTRiOSIgdj0iLTg0NyIvPg0KKwkJCQkJPHZhbCBvPSIyNzYyYzciIHY9IjIzMTUiLz4NCisJCQkJCTx2YWwgbz0iMjc3MGQ4IiB2PSIxMDk5Ii8+DQorCQkJCQk8dmFsIG89IjI3N2VlNyIgdj0iLTQxNyIvPg0KKwkJCQk8L3Bhcj4NCisJCQkJPHBhciBtZW1pbmQ9IjQyMjIwMCIgaD0iM2RjMWE4ZGUiPg0KKwkJCQkJPHZhbCBvPSIwIiB2PSItNDMwNyIvPg0KKwkJCQkJPHZhbCBvPSJlMDgiIHY9Ii00MTY5Ii8+DQorCQkJCQk8dmFsIG89IjFjMzIiIHY9Ii00MDk2Ii8+DQorCQkJCQk8dmFsIG89IjJhM2MiIHY9Ii00MDg3Ii8+DQorCQkJCQk8dmFsIG89IjM4MzUiIHY9Ii0zOTYzIi8+DQorCQkJCQk8dmFsIG89IjQ2NDUiIHY9Ii0zOTY5Ii8+DQorCQkJCQk8dmFsIG89IjU0NTUiIHY9Ii00NDExIi8+DQorCQkJCQk8dmFsIG89IjYyNjUiIHY9Ii01MzU4Ii8+DQorCQkJCQk8dmFsIG89IjcwNzUiIHY9Ii02MzE3Ii8+DQorCQkJCQk8dmFsIG89IjdlODUiIHY9Ii03Mjk4Ii8+DQorCQkJCQk8dmFsIG89IjhjOTYiIHY9Ii03NTE5Ii8+DQorCQkJCQk8dmFsIG89IjlhYTUiIHY9Ii03MzUxIi8+DQorCQkJCQk8dmFsIG89ImE4YjYiIHY9Ii02ODkwIi8+DQorCQkJCQk8dmFsIG89ImI2YzUiIHY9Ii02NDY1Ii8+DQorCQkJCQk8dmFsIG89ImM0ZDciIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89ImQzMGIiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89ImUwZjYiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89ImVmMDYiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89ImZkMTciIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjEwYjI3IiB2PSItOCIvPg0KKwkJCQkJPHZhbCBvPSIxMTkzNyIgdj0iLTgiLz4NCisJCQkJCTx2YWwgbz0iMTI3NDYiIHY9Ii04Ii8+DQorCQkJCQk8dmFsIG89IjEzNTU2IiB2PSItOCIvPg0KKwkJCQkJPHZhbCBvPSIxNDM2NiIgdj0iLTgiLz4NCisJCQkJCTx2YWwgbz0iMTUxODEiIHY9Ii05Ii8+DQorCQkJCQk8dmFsIG89IjE1Zjg1IiB2PSItOCIvPg0KKwkJCQkJPHZhbCBvPSIxNmQ5NSIgdj0iLTgiLz4NCisJCQkJCTx2YWwgbz0iMTdiYTQiIHY9Ii04Ii8+DQorCQkJCQk8dmFsIG89IjE4OWI1IiB2PSItOCIvPg0KKwkJCQkJPHZhbCBvPSIxOTdjNCIgdj0iLTgiLz4NCisJCQkJCTx2YWwgbz0iMWE1ZDUiIHY9Ii05Ii8+DQorCQkJCQk8dmFsIG89IjFiM2U2IiB2PSItOSIvPg0KKwkJCQkJPHZhbCBvPSIxYzFmNiIgdj0iLTgiLz4NCisJCQkJCTx2YWwgbz0iMWQwMDUiIHY9Ii04Ii8+DQorCQkJCQk8dmFsIG89IjFkZTE1IiB2PSItOCIvPg0KKwkJCQkJPHZhbCBvPSIxZWMyNSIgdj0iLTgiLz4NCisJCQkJCTx2YWwgbz0iMWZhMzYiIHY9Ii04Ii8+DQorCQkJCQk8dmFsIG89IjIwODQ1IiB2PSItOSIvPg0KKwkJCQkJPHZhbCBvPSIyMTY1NiIgdj0iLTgiLz4NCisJCQkJCTx2YWwgbz0iMjI0NjUiIHY9Ii04Ii8+DQorCQkJCQk8dmFsIG89IjIzMjc2IiB2PSItOCIvPg0KKwkJCQkJPHZhbCBvPSIyNDA4NiIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iMjRlOTkiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjI1Y2E3IiB2PSItOCIvPg0KKwkJCQkJPHZhbCBvPSIyNmFiNyIgdj0iLTgiLz4NCisJCQkJCTx2YWwgbz0iMjc4YzYiIHY9Ii04Ii8+DQorCQkJCQk8dmFsIG89IjI4NmQ2IiB2PSItOCIvPg0KKwkJCQkJPHZhbCBvPSIyOTRlNiIgdj0iLTkiLz4NCisJCQkJCTx2YWwgbz0iMmEzMDEiIHY9Ii05Ii8+DQorCQkJCQk8dmFsIG89IjJiMTA1IiB2PSItOCIvPg0KKwkJCQkJPHZhbCBvPSIyYmYxNSIgdj0iLTgiLz4NCisJCQkJCTx2YWwgbz0iMmNkMjUiIHY9Ii04Ii8+DQorCQkJCQk8dmFsIG89IjJkYjM1IiB2PSItOCIvPg0KKwkJCQkJPHZhbCBvPSIyZTk0NiIgdj0iLTgiLz4NCisJCQkJCTx2YWwgbz0iMmY3NTUiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjMwNTY2IiB2PSItOSIvPg0KKwkJCQkJPHZhbCBvPSIzMTM3NSIgdj0iLTgiLz4NCisJCQkJCTx2YWwgbz0iMzIxOWUiIHY9Ii04Ii8+DQorCQkJCQk8dmFsIG89IjMyZjk2IiB2PSItOCIvPg0KKwkJCQkJPHZhbCBvPSIzM2RhNiIgdj0iLTgiLz4NCisJCQkJCTx2YWwgbz0iMzRiYjYiIHY9Ii04Ii8+DQorCQkJCQk8dmFsIG89IjM1OWRlIiB2PSItOCIvPg0KKwkJCQkJPHZhbCBvPSIzNjdkNiIgdj0iLTgiLz4NCisJCQkJCTx2YWwgbz0iMzc1ZTYiIHY9Ii04Ii8+DQorCQkJCQk8dmFsIG89IjM4NDBlIiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSIzOTIxZSIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iM2EwMTYiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjNhZTI3IiB2PSItOCIvPg0KKwkJCQkJPHZhbCBvPSIzYmMzNiIgdj0iLTgiLz4NCisJCQkJCTx2YWwgbz0iM2NhNDciIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjNkODU2IiB2PSItOCIvPg0KKwkJCQkJPHZhbCBvPSIzZTY2NyIgdj0iLTgiLz4NCisJCQkJCTx2YWwgbz0iM2Y0ODEiIHY9Ii05Ii8+DQorCQkJCQk8dmFsIG89IjQwMjg1IiB2PSItOSIvPg0KKwkJCQkJPHZhbCBvPSI0MTA5NSIgdj0iLTkiLz4NCisJCQkJCTx2YWwgbz0iNDFlYTUiIHY9Ii05Ii8+DQorCQkJCQk8dmFsIG89IjQyY2I1IiB2PSItOSIvPg0KKwkJCQkJPHZhbCBvPSI0M2FjNSIgdj0iLTgiLz4NCisJCQkJCTx2YWwgbz0iNDQ4ZDUiIHY9Ii04Ii8+DQorCQkJCQk8dmFsIG89IjQ1NmU2IiB2PSItOCIvPg0KKwkJCQkJPHZhbCBvPSI0NjRmNSIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iNDgwZmYiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjQ4ZjBlIiB2PSItNiIvPg0KKwkJCQkJPHZhbCBvPSI0OWQxZCIgdj0iLTYiLz4NCisJCQkJCTx2YWwgbz0iNGFiNDYiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjRiOTU1IiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSI0Yzc2OSIgdj0iLTYiLz4NCisJCQkJCTx2YWwgbz0iNGQ1NzciIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjRlMzg3IiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSI0ZjE5NiIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iNGZmYTYiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjUwZGQwIiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSI1MWJjNiIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iNTI5ZDYiIHY9Ii04Ii8+DQorCQkJCQk8dmFsIG89IjUzN2U3IiB2PSItOCIvPg0KKwkJCQkJPHZhbCBvPSI1NDYwMCIgdj0iLTkiLz4NCisJCQkJCTx2YWwgbz0iNTU0MDYiIHY9Ii04Ii8+DQorCQkJCQk8dmFsIG89IjU2MjE1IiB2PSItOCIvPg0KKwkJCQkJPHZhbCBvPSI1NzAyNiIgdj0iLTgiLz4NCisJCQkJCTx2YWwgbz0iNTdlMzYiIHY9Ii04Ii8+DQorCQkJCQk8dmFsIG89IjU4YzQ2IiB2PSItOCIvPg0KKwkJCQkJPHZhbCBvPSI1OWE3MCIgdj0iLTgiLz4NCisJCQkJCTx2YWwgbz0iNWE4NjciIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjViNjc2IiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSI1YzQ4NyIgdj0iLTYiLz4NCisJCQkJCTx2YWwgbz0iNWQyOTYiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjVlMGE5IiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSI1ZWViOCIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iNWZjYzYiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjYwYWQ3IiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSI2MThlNyIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iNjI2ZjciIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjYzNTA3IiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSI2NDMxNyIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iNjUxMjciIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjY1ZjM3IiB2PSItOCIvPg0KKwkJCQkJPHZhbCBvPSI2NmQ0NiIgdj0iLTgiLz4NCisJCQkJCTx2YWwgbz0iNjdiNTciIHY9Ii04Ii8+DQorCQkJCQk8dmFsIG89IjY4OTY3IiB2PSItOCIvPg0KKwkJCQkJPHZhbCBvPSI2OTc4MiIgdj0iLTgiLz4NCisJCQkJCTx2YWwgbz0iNmE1ODYiIHY9Ii04Ii8+DQorCQkJCQk8dmFsIG89IjZiMzk1IiB2PSItOCIvPg0KKwkJCQkJPHZhbCBvPSI2YzFhNiIgdj0iLTkiLz4NCisJCQkJCTx2YWwgbz0iNmNmYjUiIHY9Ii04Ii8+DQorCQkJCQk8dmFsIG89IjZkZGM2IiB2PSItOCIvPg0KKwkJCQkJPHZhbCBvPSI2ZWJkNiIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iNmY5ZTYiIHY9Ii04Ii8+DQorCQkJCQk8dmFsIG89IjcwN2Y2IiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSI3MTYwNyIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iNzI0MTciIHY9Ii02Ii8+DQorCQkJCQk8dmFsIG89IjczMjI3IiB2PSItNiIvPg0KKwkJCQkJPHZhbCBvPSI3NDAzNyIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iNzRlNDciIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89Ijc1YzU3IiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSI3NmE2MyIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iNzc4NzMiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89Ijc4NjgwIiB2PSItNiIvPg0KKwkJCQkJPHZhbCBvPSI3OTQ4ZiIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iN2EyOWYiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjdiMGFmIiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSI3YmViZiIgdj0iLTgiLz4NCisJCQkJCTx2YWwgbz0iN2NjY2YiIHY9Ii04Ii8+DQorCQkJCQk8dmFsIG89IjdkYWRmIiB2PSItOCIvPg0KKwkJCQkJPHZhbCBvPSI3ZThmYSIgdj0iLTgiLz4NCisJCQkJCTx2YWwgbz0iN2Y3MGEiIHY9Ii05Ii8+DQorCQkJCQk8dmFsIG89IjgwNTFhIiB2PSItOSIvPg0KKwkJCQkJPHZhbCBvPSI4MTMyYSIgdj0iLTkiLz4NCisJCQkJCTx2YWwgbz0iODIxM2EiIHY9Ii05Ii8+DQorCQkJCQk8dmFsIG89IjgyZjRhIiB2PSItOSIvPg0KKwkJCQkJPHZhbCBvPSI4M2Q1YSIgdj0iLTgiLz4NCisJCQkJCTx2YWwgbz0iODRiNmEiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89Ijg1OTdhIiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSI4Njc4YiIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iODc1OWIiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89Ijg4M2FjIiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSI4OTFiYiIgdj0iLTgiLz4NCisJCQkJCTx2YWwgbz0iODlmY2EiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjhhZGRhIiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSI4YmJlYiIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iOGM5ZmMiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjhkODBiIiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSI4ZTYxYSIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iOGY0MmEiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjkwMjNhIiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSI5MTA0YSIgdj0iLTgiLz4NCisJCQkJCTx2YWwgbz0iOTFlNWEiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjkyYzZhIiB2PSItOCIvPg0KKwkJCQkJPHZhbCBvPSI5M2E4NCIgdj0iLTkiLz4NCisJCQkJCTx2YWwgbz0iOTQ4ODUiIHY9Ii04Ii8+DQorCQkJCQk8dmFsIG89Ijk1Njk0IiB2PSItOSIvPg0KKwkJCQkJPHZhbCBvPSI5NjRhNSIgdj0iLTkiLz4NCisJCQkJCTx2YWwgbz0iOTcyYjQiIHY9Ii04Ii8+DQorCQkJCQk8dmFsIG89Ijk4MGM1IiB2PSItOCIvPg0KKwkJCQkJPHZhbCBvPSI5OGVkNCIgdj0iLTgiLz4NCisJCQkJCTx2YWwgbz0iOTljZTUiIHY9Ii04Ii8+DQorCQkJCQk8dmFsIG89IjlhYWY1IiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSI5YjkwNiIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iOWM3MTYiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjlkNTI2IiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSI5ZTMzNiIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iOWYxNDUiIHY9Ii03Ii8+DQorCQkJCQk8dmFsIG89IjlmZjU2IiB2PSItNyIvPg0KKwkJCQkJPHZhbCBvPSJhMGQ2NSIgdj0iLTciLz4NCisJCQkJCTx2YWwgbz0iYTFiNzciIHY9Ii02MzI0Ii8+DQorCQkJCQk8dmFsIG89ImEyOTg2IiB2PSItMzUxNiIvPg0KKwkJCQkJPHZhbCBvPSJhMzc5NSIgdj0iLTk2MyIvPg0KKwkJCQkJPHZhbCBvPSJhNDVhNyIgdj0iNjQ0Ii8+DQorCQkJCQk8dmFsIG89ImE1M2I2IiB2PSI3MDAiLz4NCisJCQkJCTx2YWwgbz0iYTYxYzciIHY9Ijk0MiIvPg0KKwkJCQkJPHZhbCBvPSJhNmZkNiIgdj0iOTkiLz4NCisJCQkJCTx2YWwgbz0iYTdlMDAiIHY9IjQ2NCIvPg0KKwkJCQkJPHZhbCBvPSJhOGMwMCIgdj0iOTEyIi8+DQorCQkJCQk8dmFsIG89ImE5YTA1IiB2PSIyODkiLz4NCisJCQkJCTx2YWwgbz0iYWE4MTUiIHY9IjMyIi8+DQorCQkJCQk8dmFsIG89ImFiNjI1IiB2PSI0NiIvPg0KKwkJCQkJPHZhbCBvPSJhYzQzNSIgdj0iMjAwIi8+DQorCQkJCQk8dmFsIG89ImFkMjQ1IiB2PSI5MjEiLz4NCisJCQkJCTx2YWwgbz0iYWUwNTUiIHY9Ijc0NCIvPg0KKwkJCQkJPHZhbCBvPSJhZWU2NSIgdj0iLTU2MSIvPg0KKwkJCQkJPHZhbCBvPSJhZmM3NSIgdj0iLTY4Ii8+DQorCQkJCQk8dmFsIG89ImIwYTg1IiB2PSIzMSIvPg0KKwkJCQkJPHZhbCBvPSJiMjZhNiIgdj0iMTQyIi8+DQorCQkJCQk8dmFsIG89ImIzNGI2IiB2PSItMTIzIi8+DQorCQkJCQk8dmFsIG89ImI0MmM2IiB2PSItNDUxIi8+DQorCQkJCQk8dmFsIG89ImI1MGQ2IiB2PSItNzI5Ii8+DQorCQkJCQk8dmFsIG89ImI1ZWU3IiB2PSItNzEyIi8+DQorCQkJCQk8dmFsIG89ImI2Y2Y2IiB2PSItMTU4NCIvPg0KKwkJCQkJPHZhbCBvPSJiN2IwNyIgdj0iLTE5ODMiLz4NCisJCQkJCTx2YWwgbz0iYjg5MTciIHY9Ii0xNzUzIi8+DQorCQkJCQk8dmFsIG89ImI5NzI4IiB2PSItMTc1OCIvPg0KKwkJCQkJPHZhbCBvPSJiYTUzNyIgdj0iLTE4OTEiLz4NCisJCQkJCTx2YWwgbz0iYmIzNDciIHY9Ii04MjciLz4NCisJCQkJCTx2YWwgbz0iYmMxNTciIHY9Ii04ODIiLz4NCisJCQkJCTx2YWwgbz0iYmNmNjciIHY9Ii04OTkiLz4NCisJCQkJCTx2YWwgbz0iYmRkODEiIHY9IjY0NCIvPg0KKwkJCQkJPHZhbCBvPSJiZWI4NiIgdj0iNDE3Ii8+DQorCQkJCQk8dmFsIG89ImJmOTk1IiB2PSI1MjQiLz4NCisJCQkJCTx2YWwgbz0iYzA3YTYiIHY9IjQwMCIvPg0KKwkJCQkJPHZhbCBvPSJjMTViNSIgdj0iMzcyIi8+DQorCQkJCQk8dmFsIG89ImMyM2M2IiB2PSI0ODQiLz4NCisJCQkJCTx2YWwgbz0iYzMxZDUiIHY9IjU5MSIvPg0KKwkJCQkJPHZhbCBvPSJjM2ZlNiIgdj0iMzM2Ii8+DQorCQkJCQk8dmFsIG89ImM0ZGY1IiB2PSI3NDEiLz4NCisJCQkJCTx2YWwgbz0iYzVjMDYiIHY9IjExNCIvPg0KKwkJCQkJPHZhbCBvPSJjNmExNiIgdj0iNTA3Ii8+DQorCQkJCQk8dmFsIG89ImM3ODI2IiB2PSItNTEiLz4NCisJCQkJCTx2YWwgbz0iYzg2MzYiIHY9IjEzNiIvPg0KKwkJCQkJPHZhbCBvPSJjOTQ0NiIgdj0iMzM0Ii8+DQorCQkJCQk8dmFsIG89ImNhMjU2IiB2PSIyMzUiLz4NCisJCQkJCTx2YWwgbz0iY2IwNjYiIHY9IjExNiIvPg0KKwkJCQkJPHZhbCBvPSJjYmU3NiIgdj0iLTQxNyIvPg0KKwkJCQkJPHZhbCBvPSJjY2M4NyIgdj0iLTIzMiIvPg0KKwkJCQkJPHZhbCBvPSJjZGE5NiIgdj0iLTE4NCIvPg0KKwkJCQkJPHZhbCBvPSJjZThhOCIgdj0iLTIxOSIvPg0KKwkJCQkJPHZhbCBvPSJjZjZiNyIgdj0iLTEzNCIvPg0KKwkJCQkJPHZhbCBvPSJkMDRjOCIgdj0iLTUxIi8+DQorCQkJCQk8dmFsIG89ImQxMmQ3IiB2PSIxNDMiLz4NCisJCQkJCTx2YWwgbz0iZDIwZTciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iZDJmMDIiIHY9IjExIi8+DQorCQkJCQk8dmFsIG89ImQzZDA1IiB2PSI2MDAiLz4NCisJCQkJCTx2YWwgbz0iZDRiMTUiIHY9IjY0NCIvPg0KKwkJCQkJPHZhbCBvPSJkNTkyNiIgdj0iODM2Ii8+DQorCQkJCQk8dmFsIG89ImQ2NzM1IiB2PSIxMDY4Ii8+DQorCQkJCQk8dmFsIG89ImQ3NTQ2IiB2PSIxMjEzIi8+DQorCQkJCQk8dmFsIG89ImQ4MzU1IiB2PSItMTM1Ii8+DQorCQkJCQk8dmFsIG89ImQ5MTY2IiB2PSItNzU1Ii8+DQorCQkJCQk8dmFsIG89ImQ5Zjc1IiB2PSItMTQ5OCIvPg0KKwkJCQkJPHZhbCBvPSJkYWQ4NyIgdj0iLTIwMTEiLz4NCisJCQkJCTx2YWwgbz0iZGJiOTciIHY9Ii0yNTYxIi8+DQorCQkJCQk8dmFsIG89ImRjOWE4IiB2PSItMjMzOCIvPg0KKwkJCQkJPHZhbCBvPSJkZDdiNyIgdj0iLTI4OTUiLz4NCisJCQkJCTx2YWwgbz0iZGU1YzYiIHY9Ii0yNzgwIi8+DQorCQkJCQk8dmFsIG89ImRmM2Q3IiB2PSItMjkxMiIvPg0KKwkJCQkJPHZhbCBvPSJlMDFkNyIgdj0iLTI5MTMiLz4NCisJCQkJCTx2YWwgbz0iZTBmZTUiIHY9Ii0yODMyIi8+DQorCQkJCQk8dmFsIG89ImUxZGY1IiB2PSItMzAxOCIvPg0KKwkJCQkJPHZhbCBvPSJlMmMwNCIgdj0iLTQwOTkiLz4NCisJCQkJCTx2YWwgbz0iZTNhMTQiIHY9Ii0zOTc5Ii8+DQorCQkJCQk8dmFsIG89ImU0ODI0IiB2PSItMzM3MCIvPg0KKwkJCQkJPHZhbCBvPSJlNTYzNCIgdj0iLTM0MjgiLz4NCisJCQkJCTx2YWwgbz0iZTY0NDQiIHY9Ii0yNTUxIi8+DQorCQkJCQk8dmFsIG89ImU3MjU1IiB2PSItMjE4OSIvPg0KKwkJCQkJPHZhbCBvPSJlODA2ZiIgdj0iLTE3NTciLz4NCisJCQkJCTx2YWwgbz0iZThlN2YiIHY9Ii00NzciLz4NCisJCQkJCTx2YWwgbz0iZTljOGUiIHY9Ii03MDkiLz4NCisJCQkJCTx2YWwgbz0iZWFhOWYiIHY9Ii02NTMiLz4NCisJCQkJCTx2YWwgbz0iZWI4YWUiIHY9Ii02NTMiLz4NCisJCQkJCTx2YWwgbz0iZWM2YmYiIHY9Ii00NjgiLz4NCisJCQkJCTx2YWwgbz0iZWQ0Y2UiIHY9Ii0yMTEyIi8+DQorCQkJCQk8dmFsIG89ImVlMmRmIiB2PSItMjIzOSIvPg0KKwkJCQkJPHZhbCBvPSJlZjBlZiIgdj0iLTMxOTgiLz4NCisJCQkJCTx2YWwgbz0iZWZmMDEiIHY9Ii00MDg3Ii8+DQorCQkJCQk8dmFsIG89ImYwZDEwIiB2PSItNDMwOCIvPg0KKwkJCQkJPHZhbCBvPSJmMWIyMCIgdj0iLTQ1NTAiLz4NCisJCQkJCTx2YWwgbz0iZjI5MzAiIHY9Ii00NjI4Ii8+DQorCQkJCQk8dmFsIG89ImYzNzQwIiB2PSItNDMwMSIvPg0KKwkJCQkJPHZhbCBvPSJmNDU1MSIgdj0iLTQ2MDgiLz4NCisJCQkJCTx2YWwgbz0iZjUzNjEiIHY9Ii00ODU3Ii8+DQorCQkJCQk8dmFsIG89ImY2MTcyIiB2PSItNDYxMyIvPg0KKwkJCQkJPHZhbCBvPSJmNmY4MCIgdj0iLTQ4MTgiLz4NCisJCQkJCTx2YWwgbz0iZjdkOTEiIHY9Ii00MjQ0Ii8+DQorCQkJCQk8dmFsIG89ImY4YmExIiB2PSItMzkxNSIvPg0KKwkJCQkJPHZhbCBvPSJmOTliMSIgdj0iLTM4MDUiLz4NCisJCQkJCTx2YWwgbz0iZmE3YzAiIHY9Ii0zMDI1Ii8+DQorCQkJCQk8dmFsIG89ImZiNWQxIiB2PSItMzAzNCIvPg0KKwkJCQkJPHZhbCBvPSJmYzNlMCIgdj0iLTMyOTUiLz4NCisJCQkJCTx2YWwgbz0iZmQxZmIiIHY9Ii0yNjgwIi8+DQorCQkJCQk8dmFsIG89ImZlMDBiIiB2PSItMjUzMCIvPg0KKwkJCQkJPHZhbCBvPSJmZWUxYyIgdj0iLTIwODMiLz4NCisJCQkJCTx2YWwgbz0iZmZjMmMiIHY9Ii0xOTgyIi8+DQorCQkJCQk8dmFsIG89IjEwMGEzYiIgdj0iLTE3OTAiLz4NCisJCQkJCTx2YWwgbz0iMTAxODRjIiB2PSItMTc5MSIvPg0KKwkJCQkJPHZhbCBvPSIxMDI2NWIiIHY9Ii0yMDc3Ii8+DQorCQkJCQk8dmFsIG89IjEwMzQ2YyIgdj0iLTI3MjQiLz4NCisJCQkJCTx2YWwgbz0iMTA0MjdiIiB2PSItNDAxNiIvPg0KKwkJCQkJPHZhbCBvPSIxMDUwOGQiIHY9Ii00MzIwIi8+DQorCQkJCQk8dmFsIG89IjEwNWU5ZCIgdj0iLTQzMzkiLz4NCisJCQkJCTx2YWwgbz0iMTA2Y2FkIiB2PSItNDcyNSIvPg0KKwkJCQkJPHZhbCBvPSIxMDdhYmQiIHY9Ii00MzM4Ii8+DQorCQkJCQk8dmFsIG89IjEwODhjZCIgdj0iLTM5MDYiLz4NCisJCQkJCTx2YWwgbz0iMTA5NmRlIiB2PSItNDExOSIvPg0KKwkJCQkJPHZhbCBvPSIxMGE0ZWQiIHY9Ii00MzIyIi8+DQorCQkJCQk8dmFsIG89IjEwYjJmZSIgdj0iLTQzNDUiLz4NCisJCQkJCTx2YWwgbz0iMTBjMTBkIiB2PSItNDE2OSIvPg0KKwkJCQkJPHZhbCBvPSIxMGNmMWUiIHY9Ii00MzU0Ii8+DQorCQkJCQk8dmFsIG89IjEwZGQyZSIgdj0iLTQxNjAiLz4NCisJCQkJCTx2YWwgbz0iMTBlYjY2IiB2PSItNDQ1MyIvPg0KKwkJCQkJPHZhbCBvPSIxMGY5NGUiIHY9Ii0zODk1Ii8+DQorCQkJCQk8dmFsIG89IjExMDc1ZSIgdj0iLTMyODEiLz4NCisJCQkJCTx2YWwgbz0iMTExNTZkIiB2PSItMjg2NiIvPg0KKwkJCQkJPHZhbCBvPSIxMTIzODgiIHY9Ii0yNjYzIi8+DQorCQkJCQk8dmFsIG89IjExMzE4NyIgdj0iLTE3OTQiLz4NCisJCQkJCTx2YWwgbz0iMTEzZmIwIiB2PSItMTc5NyIvPg0KKwkJCQkJPHZhbCBvPSIxMTRkYTYiIHY9Ii0xODIzIi8+DQorCQkJCQk8dmFsIG89IjExNWJiNiIgdj0iLTE3ODIiLz4NCisJCQkJCTx2YWwgbz0iMTE2OWM2IiB2PSItMTU4NSIvPg0KKwkJCQkJPHZhbCBvPSIxMTc3ZDYiIHY9Ii0yMDgyIi8+DQorCQkJCQk8dmFsIG89IjExODVlOCIgdj0iLTI4ODUiLz4NCisJCQkJCTx2YWwgbz0iMTE5M2Y3IiB2PSItMzU1OCIvPg0KKwkJCQkJPHZhbCBvPSIxMWEyMDgiIHY9Ii00ODM4Ii8+DQorCQkJCQk8dmFsIG89IjExYjAxNyIgdj0iLTQzMjIiLz4NCisJCQkJCTx2YWwgbz0iMTFiZTJmIiB2PSItNTM5MyIvPg0KKwkJCQkJPHZhbCBvPSIxMWNjMzciIHY9Ii00NDU2Ii8+DQorCQkJCQk8dmFsIG89IjExZGE0NyIgdj0iLTQyNzkiLz4NCisJCQkJCTx2YWwgbz0iMTFlODU3IiB2PSItNDM1NCIvPg0KKwkJCQkJPHZhbCBvPSIxMWY2NjciIHY9Ii0zOTAwIi8+DQorCQkJCQk8dmFsIG89IjEyMDU3OCIgdj0iLTQiLz4NCisJCQkJCTx2YWwgbz0iMTIxMzg2IiB2PSItNCIvPg0KKwkJCQkJPHZhbCBvPSIxMjIxOTYiIHY9Ii00Ii8+DQorCQkJCQk8dmFsIG89IjEyMmZhNiIgdj0iLTMiLz4NCisJCQkJCTx2YWwgbz0iMTIzZGI1IiB2PSItMyIvPg0KKwkJCQkJPHZhbCBvPSIxMjRiYzUiIHY9Ii0zIi8+DQorCQkJCQk8dmFsIG89IjEyNTlkNSIgdj0iLTIiLz4NCisJCQkJCTx2YWwgbz0iMTI2N2U0IiB2PSItMiIvPg0KKwkJCQkJPHZhbCBvPSIxMjc2MDAiIHY9Ii0yIi8+DQorCQkJCQk8dmFsIG89IjEyODMwNSIgdj0iLTIiLz4NCisJCQkJCTx2YWwgbz0iMTI5MTE1IiB2PSItMiIvPg0KKwkJCQkJPHZhbCBvPSIxMjlmMjUiIHY9Ii0yIi8+DQorCQkJCQk8dmFsIG89IjEyYWQzNSIgdj0iLTIiLz4NCisJCQkJCTx2YWwgbz0iMTJiYjQ1IiB2PSItMSIvPg0KKwkJCQkJPHZhbCBvPSIxMmM5NTQiIHY9Ii0yIi8+DQorCQkJCQk8dmFsIG89IjEyZDc2NiIgdj0iLTIiLz4NCisJCQkJCTx2YWwgbz0iMTJlNTc1IiB2PSItMyIvPg0KKwkJCQkJPHZhbCBvPSIxMmYzODYiIHY9Ii0yIi8+DQorCQkJCQk8dmFsIG89IjEzMDE5NiIgdj0iLTQiLz4NCisJCQkJCTx2YWwgbz0iMTMwZmE2IiB2PSItMyIvPg0KKwkJCQkJPHZhbCBvPSIxMzFkYjciIHY9Ii0zIi8+DQorCQkJCQk8dmFsIG89IjEzMmJjNSIgdj0iLTMiLz4NCisJCQkJCTx2YWwgbz0iMTMzOWQ0IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjEzNDdlNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxMzU1ZjQiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTM2NDA0IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjEzNzIxNCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxMzgwMjQiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTM4ZTMzIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjEzOWM0NCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxM2FhNTQiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTNiODY1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjEzYzY3ZSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxM2Q0OGUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTNlMjllIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjEzZjBhZSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxM2ZlYmYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTQwY2NmIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE0MWFkZiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNDI4ZWYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTQzNmZmIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE0NDUwZiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNDUzMWYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTQ2MTMwIiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE0NmY0MCIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNDdkNDQiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTQ4YjU3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE0OTk2NSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNGE3NzUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTRiNTg0IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE0YzM5NyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNGQxYTQiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTRkZmI2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE0ZWRjNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNGZiZDUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTUwOWU1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE1MTdmZiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNTI2MDUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTUzNDE1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE1NDIyNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNTUwMzUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTU1ZTQ1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE1NmM1NSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNTdhNjUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTU4ODc1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE1OTY4NiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNWE0OTUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTViMmE2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE1YzBiNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNWNlYzYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTVkY2Q1IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE1ZWFlNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNWY4ZjUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTYwNzA2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE2MTUxNyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNjIzMjYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTYzMTM3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE2M2Y0NiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNjRkNTciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTY1YjY3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE2Njk4MiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNjc3ODYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTY4NTk2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE2OTNhNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNmExYjUiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTZhZmM2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE2YmRkNSIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNmNiZTYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTZkOWY2IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE2ZTgwNyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNmY2MTYiIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTcwNDI5IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE3MTIzNiIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNzIwNDciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTcyZTU3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE3M2M2NyIgdj0iMCIvPg0KKwkJCQkJPHZhbCBvPSIxNzRhNzciIHY9IjAiLz4NCisJCQkJCTx2YWwgbz0iMTc1ODg3IiB2PSIwIi8+DQorCQkJCQk8dmFsIG89IjE3NjY5NCIgdj0iLTY4NDQiLz4NCisJCQkJCTx2YWwgbz0iMTc3NGEzIiB2PSItNjg0OCIvPg0KKwkJCQkJPHZhbCBvPSIxNzgyYjMiIHY9Ii03Mjc2Ii8+DQorCQkJCQk8dmFsIG89IjE3OTBjNSIgdj0iLTY3MTgiLz4NCisJCQkJCTx2YWwgbz0iMTc5ZWQ0IiB2PSItNjA0NCIvPg0KKwkJCQkJPHZhbCBvPSIxN2FjZTQiIHY9Ii01ODc5Ii8+DQorCQkJCQk8dmFsIG89IjE3YmFmZCIgdj0iLTYwNjciLz4NCisJCQkJCTx2YWwgbz0iMTdjOTBmIiB2PSItNTQ4NCIvPg0KKwkJCQkJPHZhbCBvPSIxN2Q3MWUiIHY9Ii01NDM3Ii8+DQorCQkJCQk8dmFsIG89IjE3ZTUyZiIgdj0iLTUzNDIiLz4NCisJCQkJCTx2YWwgbz0iMTdmMzNmIiB2PSItNDk4MSIvPg0KKwkJCQkJPHZhbCBvPSIxODAxNGYiIHY9Ii01MTkzIi8+DQorCQkJCQk8dmFsIG89IjE4MGY1ZiIgdj0iLTYzMjEiLz4NCisJCQkJCTx2YWwgbz0iMTgxZDZlIiB2PSItNjkyMyIvPg0KKwkJCQkJPHZhbCBvPSIxODJiN2YiIHY9Ii03ODg5Ii8+DQorCQkJCQk8dmFsIG89IjE4Mzk4ZiIgdj0iLTEzNDY0Ii8+DQorCQkJCQk8dmFsIG89IjE4NDdhMSIgdj0iLTEzMzU0Ii8+DQorCQkJCQk8dmFsIG89IjE4NTVhZiIgdj0iLTEyODEzIi8+DQorCQkJCQk8dmFsIG89IjE4NjNjMCIgdj0iLTExOTk2Ii8+DQorCQkJCQk8dmFsIG89IjE4NzFjZiIgdj0iLTEyNDM2Ii8+DQorCQkJCQk8dmFsIG89IjE4N2ZlMCIgdj0iLTExNjU4Ii8+DQorCQkJCQk8dmFsIG89IjE4OGRlZiIgdj0iLTEyNTA4Ii8+DQorCQkJCQk8dmFsIG89IjE4OWMwMCIgdj0iLTExOTY1Ii8+DQorCQkJCQk8dmFsIG89IjE4YjgwZCIgdj0iLTc1NjciLz4NCisJCQkJCTx2YWwgbz0iMThjNjFjIiB2PSItODEwMCIvPg0KKwkJCQkJPHZhbCBvPSIxOGQ0MmMiIHY9Ii03Njc2Ii8+DQorCQkJCQk8dmFsIG89IjE4ZTIzYiIgdj0iLTY1NjUiLz4NCisJCQkJCTx2YWwgbz0iMThmMDRiIiB2PSItNjE2NyIvPg0KKwkJCQkJPHZhbCBvPSIxOGZlNWUiIHY9Ii01NjYwIi8+DQorCQkJCQk8dmFsIG89IjE5MGM3NiIgdj0iLTQ0NzUiLz4NCisJCQkJCTx2YWwgbz0iMTkxYTg2IiB2PSItNDMwNiIvPg0KKwkJCQkJPHZhbCBvPSIxOTI4OTYiIHY9Ii00MjUyIi8+DQorCQkJCQk8dmFsIG89IjE5MzZhNiIgdj0iLTQxMjUiLz4NCisJCQkJCTx2YWwgbz0iMTk0NGI3IiB2PSItNDEyNSIvPg0KKwkJCQkJPHZhbCBvPSIxOTUyYzYiIHY9Ii00NDk4Ii8+DQorCQkJCQk8dmFsIG89IjE5NjBkNyIgdj0iLTUxMzciLz4NCisJCQkJCTx2YWwgbz0iMTk2ZWU2IiB2PSItNTk2NyIvPg0KKwkJCQkJPHZhbCBvPSIxOTdjZjgiIHY9Ii02MzU0Ii8+DQorCQkJCQk8dmFsIG89IjE5OGIwZiIgdj0iLTU5NjUiLz4NCisJCQkJCTx2YWwgbz0iMTk5OTFmIiB2PSItNjYxNSIvPg0KKwkJCQkJPHZhbCBvPSIxOWI1NDEiIHY9Ii02NjE5Ii8+DQorCQkJCQk8dmFsIG89IjE5YzM0ZCIgdj0iLTYxOTkiLz4NCisJCQkJCTx2YWwgbz0iMTlkMTVlIiB2PSItNjIzNSIvPg0KKwkJCQkJPHZhbCBvPSIxOWRmODAiIHY9Ii02MzEzIi8+DQorCQkJCQk8dmFsIG89IjE5ZWQ5MCIgdj0iLTYwNzkiLz4NCisJCQkJCTx2YWwgbz0iMTllZWJlIiB2PSItNjA3NSIvPg0KKwkJCQkJPHZhbCBvPSIxOWZiOGUiIHY9Ii0yMzkwIi8+DQorCQkJCQk8dmFsIG89IjFhMDlhMCIgdj0iLTI2MDAiLz4NCisJCQkJCTx2YWwgbz0iMWExN2FlIiB2PSItMzA1MSIvPg0KKwkJCQkJPHZhbCBvPSIxYTI1YmUiIHY9Ii0zMzM4Ii8+DQorCQkJCQk8dmFsIG89IjFhMzNjZCIgdj0iLTIyMzgiLz4NCisJCQkJCTx2YWwgbz0iMWE0MWRkIiB2PSItMjEzNyIvPg0KKwkJCQkJPHZhbCBvPSIxYTRmZWQiIHY9Ii0xNTQ2Ii8+DQorCQkJCQk8dmFsIG89IjFhNWUwOCIgdj0iLTE2NzAiLz4NCisJCQkJCTx2YWwgbz0iMWE2YzA1IiB2PSItOTY5Ii8+DQorCQkJCQk8dmFsIG89IjFhN2ExNSIgdj0iLTExMjMiLz4NCisJCQkJCTx2YWwgbz0iMWE4ODI2IiB2PSItMTA3MiIvPg0KKwkJCQkJPHZhbCBvPSIxYTk2MzciIHY9Ii00ODEiLz4NCisJCQkJCTx2YWwgbz0iMWFhNDQ1IiB2PSItNTM3Ii8+DQorCQkJCQk8dmFsIG89IjFhYjI1NSIgdj0iLTk5NSIvPg0KKwkJCQkJPHZhbCBvPSIxYWMwNjUiIHY9Ii0xODE5Ii8+DQorCQkJCQk8dmFsIG89IjFhY2U3NSIgdj0iLTI2MzYiLz4NCisJCQkJCTx2YWwgbz0iMWFkYzg3IiB2PSItMjkyMCIvPg0KKwkJCQkJPHZhbCBvPSIxYWVhOTYiIHY9Ii0yNTk0Ii8+DQorCQkJCQk8dmFsIG89IjFhZjhhNyIgdj0iLTI4OTgiLz4NCisJCQkJCTx2YWwgbz0iMWIwNmI3IiB2PSItMjE3MyIvPg0KKwkJCQkJPHZhbCBvPSIxYjE0YzYiIHY9Ii0yMDkyIi8+DQorCQkJCQk8dmFsIG89IjFjNzQ2MCIgdj0iMzExIi8+DQorCQkJCQk8dmFsIG89IjFjODI3MCIgdj0iMzk5Ii8+DQorCQkJCQk8dmFsIG89IjFjOTA3ZSIgdj0iMzQ4NiIvPg0KKwkJCQkJPHZhbCBvPSIxYzllOGYiIHY9IjMzNTciLz4NCisJCQkJCTx2YWwgbz0iMWNhY2EyIiB2PSIzNjcwIi8+DQorCQkJCQk8dmFsIG89IjFjYmFiMSIgdj0iMzU4MCIvPg0KKwkJCQkJPHZhbCBvPSIxY2M4YzEiIHY9IjUzOTgiLz4NCisJCQkJCTx2YWwgbz0iMWNkNmQwIiB2PSI1NDc4Ii8+DQorCQkJCQk8dmFsIG89IjFjZTRkZSIgdj0iNTYxOCIvPg0KKwkJCQkJPHZhbCBvPSIxY2YyZjAiIHY9IjU2NTkiLz4NCisJCQkJCTx2YWwgbz0iMWQwMTA5IiB2PSI1OTIzIi8+DQorCQkJCQk8dmFsIG89IjFkMGYwNiIgdj0iNjY1MSIvPg0KKwkJCQkJPHZhbCBvPSIxZDFkMTUiIHY9IjY2NTQiLz4NCisJCQkJCTx2YWwgbz0iMWQyYjI1IiB2PSI2NzEzIi8+DQorCQkJCQk8dmFsIG89IjFkMzkzNSIgdj0iNjg4NSIvPg0KKwkJCQkJPHZhbCBvPSIxZDQ3NDUiIHY9IjY4OTMiLz4NCisJCQkJCTx2YWwgbz0iMWQ1NTU1IiB2PSI2NzA1Ii8+DQorCQkJCQk8dmFsIG89IjFkNjM2NiIgdj0iNTg1MyIvPg0KKwkJCQkJPHZhbCBvPSIxZDcxNzUiIHY9IjU1NDUiLz4NCisJCQkJCTx2YWwgbz0iMWQ3Zjg2IiB2PSI1NTg5Ii8+DQorCQkJCQk8dmFsIG89IjFkOGQ5NSIgdj0iLTMyMTkiLz4NCisJCQkJCTx2YWwgbz0iMWQ5YmE2IiB2PSItMzYyMCIvPg0KKwkJCQkJPHZhbCBvPSIxZGE5YjYiIHY9Ii0zNjIzIi8+DQorCQkJCQk8dmFsIG89IjFkYjdjNyIgdj0iLTM0NzIiLz4NCisJCQkJCTx2YWwgbz0iMWRjNWQ1IiB2PSItMzYzMCIvPg0KKwkJCQkJPHZhbCBvPSIxZGQzZTYiIHY9Ii0zNzIzIi8+DQorCQkJCQk8dmFsIG89IjFkZTFmNSIgdj0iLTYwMzMiLz4NCisJCQkJCTx2YWwgbz0iMWRmMDA2IiB2PSItNjc1MiIvPg0KKwkJCQkJPHZhbCBvPSIxZGZlMTYiIHY9Ii02NjQ3Ii8+DQorCQkJCQk8dmFsIG89IjFlMGMyNiIgdj0iLTY3NzgiLz4NCisJCQkJCTx2YWwgbz0iMWUxYTM2IiB2PSItNjc5NCIvPg0KKwkJCQkJPHZhbCBvPSIxZTI4NDciIHY9Ii02NTkzIi8+DQorCQkJCQk8dmFsIG89IjFlMzY1OSIgdj0iLTYxMzYiLz4NCisJCQkJCTx2YWwgbz0iMWU0NDY3IiB2PSItNTY1MyIvPg0KKwkJCQkJPHZhbCBvPSIxZTUyODEiIHY9Ii00OTEwIi8+DQorCQkJCQk8dmFsIG89IjFlNjA4NiIgdj0iLTQ5MDgiLz4NCisJCQkJCTx2YWwgbz0iMWU2ZTk2IiB2PSItNDgwMyIvPg0KKwkJCQkJPHZhbCBvPSIxZTdjYTYiIHY9Ii0xOTcwIi8+DQorCQkJCQk8dmFsIG89IjFlOGFiNSIgdj0iLTE4MjAiLz4NCisJCQkJCTx2YWwgbz0iMWU5OGM2IiB2PSItMTgyMSIvPg0KKwkJCQkJPHZhbCBvPSIxZWE2ZDUiIHY9Ii0yMjcxIi8+DQorCQkJCQk8dmFsIG89IjFlYjRlNiIgdj0iLTIzMzIiLz4NCisJCQkJCTx2YWwgbz0iMWVjMmY2IiB2PSItMjY0NiIvPg0KKwkJCQkJPHZhbCBvPSIxZWQxMDYiIHY9Ii0yNjQ0Ii8+DQorCQkJCQk8dmFsIG89IjFlZGYxNiIgdj0iLTI3NDkiLz4NCisJCQkJCTx2YWwgbz0iMWVlZDI2IiB2PSItMjcyOCIvPg0KKwkJCQkJPHZhbCBvPSIxZWZiMzYiIHY9Ii0yNTg3Ii8+DQorCQkJCQk8dmFsIG89IjFmMDk0NiIgdj0iLTI1NDgiLz4NCisJCQkJCTx2YWwgbz0iMWYxNzU2IiB2PSItMjM3NyIvPg0KKwkJCQkJPHZhbCBvPSIxZjI1NjYiIHY9Ii0yMzM5Ii8+DQorCQkJCQk8dmFsIG89IjFmMzM3NiIgdj0iLTI1NjYiLz4NCisJCQkJCTx2YWwgbz0iMWY0MTg3IiB2PSItMjc4NCIvPg0KKwkJCQkJPHZhbCBvPSIxZjRmOTYiIHY9Ii0zMTkxIi8+DQorCQkJCQk8dmFsIG89IjFmNWRhNyIgdj0iLTM1ODEiLz4NCisJCQkJCTx2YWwgbz0iMWY2YmI2IiB2PSItMzU5MSIvPg0KKwkJCQkJPHZhbCBvPSIxZjc5YzciIHY9Ii0zMTI0Ii8+DQorCQkJCQk8dmFsIG89IjFmODdkNiIgdj0iLTMzMzciLz4NCisJCQkJCTx2YWwgbz0iMWY5NWU3IiB2PSItMzE0MiIvPg0KKwkJCQkJPHZhbCBvPSIxZmE0MDEiIHY9Ii0yODA2Ii8+DQorCQkJCQk8dmFsIG89IjFmYjIwNCIgdj0iLTI0ODAiLz4NCisJCQkJCTx2YWwgbz0iMWZjMDE2IiB2PSItMjQ5NyIvPg0KKwkJCQkJPHZhbCBvPSIxZmNlMjUiIHY9Ii0yMTcxIi8+DQorCQkJCQk8dmFsIG89IjFmZGMzNSIgdj0iLTIxMzMiLz4NCisJCQkJCTx2YWwgbz0iMWZlYTQ1IiB2PSItMjE1OSIvPg0KKwkJCQkJPHZhbCBvPSIxZmY4NTUiIHY9Ii0yNTAwIi8+DQorCQkJCQk8dmFsIG89IjIwMDY2NSIgdj0iLTIzOTUiLz4NCisJCQkJCTx2YWwgbz0iMjAxNDc1IiB2PSItMzQ2OSIvPg0KKwkJCQkJPHZhbCBvPSIyMDIyODYiIHY9Ii00NTEyIi8+DQorCQkJCQk8dmFsIG89IjIwMzA5NSIgdj0iLTUzNTUiLz4NCisJCQkJCTx2YWwgbz0iMjAzZWE1IiB2PSItNTkxNSIvPg0KKwkJCQkJPHZhbCBvPSIyMDRjYjYiIHY9Ii01NzcxIi8+DQorCQkJCQk8dmFsIG89IjIwNWFjNiIgdj0iLTUyODciLz4NCisJCQkJCTx2YWwgbz0iMjA2OGQ2IiB2PSItNTM4NiIvPg0KKwkJCQkJPHZhbCBvPSIyMDc2ZTYiIHY9Ii01OTc2Ii8+DQorCQkJCQk8dmFsIG89IjIwODRmNiIgdj0iLTYxMDAiLz4NCisJCQkJCTx2YWwgbz0iMjA5MzA2IiB2PSItNjc0MiIvPg0KKwkJCQkJPHZhbCBvPSIyMGExMTYiIHY9Ii02MzEyIi8+DQorCQkJCQk8dmFsIG89IjIwYWYyNiIgdj0iLTU1MzMiLz4NCisJCQkJCTx2YWwgbz0iMjBiZDM3IiB2PSItNTQ1NSIvPg0KKwkJCQkJPHZhbCBvPSIyMGNiNDYiIHY9Ii00NjMwIi8+DQorCQkJCQk8dmFsIG89IjIwZDk1NyIgdj0iLTQzNDgiLz4NCisJCQkJCTx2YWwgbz0iMjBlNzY3IiB2PSItNDA0NiIvPg0KKwkJCQkJPHZhbCBvPSIyMGY1ODEiIHY9Ii0zODU1Ii8+DQorCQkJCQk8dmFsIG89IjIxMDM4NiIgdj0iLTM1MTkiLz4NCisJCQkJCTx2YWwgbz0iMjExMTk0IiB2PSItMzEzMSIvPg0KKwkJCQkJPHZhbCBvPSIyMTFmYTUiIHY9Ii0zMDE0Ii8+DQorCQkJCQk8dmFsIG89IjIxMmRiNSIgdj0iLTI5MDQiLz4NCisJCQkJCTx2YWwgbz0iMjEzYmM1IiB2PSItMjgyNiIvPg0KKwkJCQkJPHZhbCBvPSIyMTQ5ZDYiIHY9Ii0zNjgwIi8+DQorCQkJCQk8dmFsIG89IjIxNTdlNSIgdj0iLTQ1MDciLz4NCisJCQkJCTx2YWwgbz0iMjE2NWY2IiB2PSItNTg0NCIvPg0KKwkJCQkJPHZhbCBvPSIyMTc0MDYiIHY9Ii02MTk1Ii8+DQorCQkJCQk8dmFsIG89IjIxODIxNyIgdj0iLTYxNjUiLz4NCisJCQkJCTx2YWwgbz0iMjE5MDI2IiB2PSItNjE0MiIvPg0KKwkJCQkJPHZhbCBvPSIyMTllMzkiIHY9Ii02MjIzIi8+DQorCQkJCQk8dmFsIG89IjIxYWM0NiIgdj0iLTU5MzgiLz4NCisJCQkJCTx2YWwgbz0iMjFiYTU3IiB2PSItNTkyNiIvPg0KKwkJCQkJPHZhbCBvPSIyMWM4NjciIHY9Ii01NTU3Ii8+DQorCQkJCQk8dmFsIG89IjIxZDY3NyIgdj0iLTYyNDAiLz4NCisJCQkJCTx2YWwgbz0iMjFlNDg3IiB2PSItNTc1MCIvPg0KKwkJCQkJPHZhbCBvPSIyMWYyOTYiIHY9Ii01NzcyIi8+DQorCQkJCQk8dmFsIG89IjIyMDBhNiIgdj0iLTU0NjgiLz4NCisJCQkJCTx2YWwgbz0iMjIwZWI3IiB2PSItNTM5MyIvPg0KKwkJCQkJPHZhbCBvPSIyMjFjYzYiIHY9Ii00NTQzIi8+DQorCQkJCQk8dmFsIG89IjIyMmFkNyIgdj0iLTM4NzYiLz4NCisJCQkJCTx2YWwgbz0iMjIzOGU3IiB2PSItMzYyMiIvPg0KKwkJCQkJPHZhbCBvPSIyMjQ3MDEiIHY9Ii0zMjkyIi8+DQorCQkJCQk8dmFsIG89IjIyNTUwNSIgdj0iLTE2ODEiLz4NCisJCQkJCTx2YWwgbz0iMjI2MzE1IiB2PSItMjA4MiIvPg0KKwkJCQkJPHZhbCBvPSIyMjcxMjUiIHY9Ii0yMDQzIi8+DQorCQkJCQk8dmFsIG89IjIyN2YzNSIgdj0iLTE2NzUiLz4NCisJCQkJCTx2YWwgbz0iMjI4ZDQ1IiB2PSItMTc4NSIvPg0KKwkJCQkJPHZhbCBvPSIyMjliNTQiIHY9Ii0zNDk0Ii8+DQorCQkJCQk8dmFsIG89IjIyYTk2NSIgdj0iLTQwODAiLz4NCisJCQkJCTx2YWwgbz0iMjJiNzc2IiB2PSItNDQ1NCIvPg0KKwkJCQkJPHZhbCBvPSIyMmM1ODYiIHY9Ii00ODE2Ii8+DQorCQkJCQk8dmFsIG89IjIyZDM5NyIgdj0iLTQ0MDUiLz4NCisJCQkJCTx2YWwgbz0iMjJlMWE2IiB2PSItNDYyMCIvPg0KKwkJCQkJPHZhbCBvPSIyMmVmYjYiIHY9Ii00ODIwIi8+DQorCQkJCQk8dmFsIG89IjIyZmRjNyIgdj0iLTQ2NDMiLz4NCisJCQkJCTx2YWwgbz0iMjMwYmQ3IiB2PSItNDQzNSIvPg0KKwkJCQkJPHZhbCBvPSIyMzE5ZTYiIHY9Ii01Mzk3Ii8+DQorCQkJCQk8dmFsIG89IjIzMjdmNiIgdj0iLTU1NTgiLz4NCisJCQkJCTx2YWwgbz0iMjMzNjFiIiB2PSItNTg4MyIvPg0KKwkJCQkJPHZhbCBvPSIyMzQ0MTYiIHY9Ii01MjA3Ii8+DQorCQkJCQk8dmFsIG89IjIzNTIyNiIgdj0iLTUyMDMiLz4NCisJCQkJCTx2YWwgbz0iMjM2MDM3IiB2PSItNTI1MyIvPg0KKwkJCQkJPHZhbCBvPSIyMzZlNDYiIHY9Ii00MzQyIi8+DQorCQkJCQk8dmFsIG89IjIzN2M1NyIgdj0iLTQxOTQiLz4NCisJCQkJCTx2YWwgbz0iMjM4YTY2IiB2PSItMzk5MSIvPg0KKwkJCQkJPHZhbCBvPSIyMzk4ODEiIHY9Ii0zMTk1Ii8+DQorCQkJCQk8dmFsIG89IjIzYTY4NSIgdj0iLTMzMjgiLz4NCisJCQkJCTx2YWwgbz0iMjNiNDk1IiB2PSItMzE5MSIvPg0KKwkJCQkJPHZhbCBvPSIyM2MyYTQiIHY9Ii0yOTY2Ii8+DQorCQkJCQk8dmFsIG89IjIzZDBiNSIgdj0iLTI5NTkiLz4NCisJCQkJCTx2YWwgbz0iMjNkZWM0IiB2PSItMjkxNiIvPg0KKwkJCQkJPHZhbCBvPSIyM2VjZDUiIHY9Ii0zNjIwIi8+DQorCQkJCQk8dmFsIG89IjIzZmFlNCIgdj0iLTQ1NjIiLz4NCisJCQkJCTx2YWwgbz0iMjQwOGY2IiB2PSItNTAxMyIvPg0KKwkJCQkJPHZhbCBvPSIyNDE3MDYiIHY9Ii01NzkzIi8+DQorCQkJCQk8dmFsIG89IjI0MjUxOCIgdj0iLTY2MDUiLz4NCisJCQkJCTx2YWwgbz0iMjQzMzI1IiB2PSItNjc4NyIvPg0KKwkJCQkJPHZhbCBvPSIyNDQxMzciIHY9Ii02NzMyIi8+DQorCQkJCQk8dmFsIG89IjI0NGY0NiIgdj0iLTY0MzUiLz4NCisJCQkJCTx2YWwgbz0iMjQ2YjY2IiB2PSItNjQxNSIvPg0KKwkJCQkJPHZhbCBvPSIyNDc5NzYiIHY9Ii02MjYxIi8+DQorCQkJCQk8dmFsIG89IjI0ODc4NiIgdj0iLTUzNzEiLz4NCisJCQkJCTx2YWwgbz0iMjQ5NTdlIiB2PSItNTcwMyIvPg0KKwkJCQkJPHZhbCBvPSIyNGEzOGYiIHY9Ii01NjY4Ii8+DQorCQkJCQk8dmFsIG89IjI0YjE5YyIgdj0iLTU4MTAiLz4NCisJCQkJCTx2YWwgbz0iMjRiZmFjIiB2PSItNTQ5NSIvPg0KKwkJCQkJPHZhbCBvPSIyNGNkYmMiIHY9Ii01MzY4Ii8+DQorCQkJCQk8dmFsIG89IjI0ZGJjZCIgdj0iLTQ1MzkiLz4NCisJCQkJCTx2YWwgbz0iMjRlOWU1IiB2PSItNDAwMyIvPg0KKwkJCQkJPHZhbCBvPSIyNGY4MDgiIHY9Ii0zNDg3Ii8+DQorCQkJCQk8dmFsIG89IjI1MDYxNiIgdj0iLTM1OTciLz4NCisJCQkJCTx2YWwgbz0iMjUxNDI2IiB2PSItMzU3NSIvPg0KKwkJCQkJPHZhbCBvPSIyNTIyMzYiIHY9Ii0zNDIyIi8+DQorCQkJCQk8dmFsIG89IjI1MzA0NyIgdj0iLTM2MTAiLz4NCisJCQkJCTx2YWwgbz0iMjUzZTU2IiB2PSItNDA2OSIvPg0KKwkJCQkJPHZhbCBvPSIyNTRjNjciIHY9Ii00MjA5Ii8+DQorCQkJCQk8dmFsIG89IjI1NWE3NiIgdj0iLTQ5NzciLz4NCisJCQkJCTx2YWwgbz0iMjU2ODg3IiB2PSItNTg0NSIvPg0KKwkJCQkJPHZhbCBvPSIyNTc2OTciIHY9Ii01NjYyIi8+DQorCQkJCQk8dmFsIG89IjI1ODRhOCIgdj0iLTE1MTU1Ii8+DQorCQkJCQk8dmFsIG89IjI1OTJiNiIgdj0iLTg2MjEiLz4NCisJCQkJCTx2YWwgbz0iMjVhMGM3IiB2PSItNDYwOSIvPg0KKwkJCQkJPHZhbCBvPSIyNWFlZDciIHY9Ii02MzI5Ii8+DQorCQkJCQk8dmFsIG89IjI1YmNlNyIgdj0iLTYxMjAiLz4NCisJCQkJCTx2YWwgbz0iMjVjYWY4IiB2PSItNTgxOSIvPg0KKwkJCQkJPHZhbCBvPSIyNWQ5MDciIHY9Ii01ODAwIi8+DQorCQkJCQk8dmFsIG89IjI1ZTcxOCIgdj0iLTU2MjciLz4NCisJCQkJCTx2YWwgbz0iMjVmNTI3IiB2PSItNTMxOCIvPg0KKwkJCQkJPHZhbCBvPSIyNjAzMzgiIHY9Ii01NTQzIi8+DQorCQkJCQk8dmFsIG89IjI2MTE0OSIgdj0iLTQ5MTYiLz4NCisJCQkJCTx2YWwgbz0iMjYxZjU5IiB2PSItNDU4OSIvPg0KKwkJCQkJPHZhbCBvPSIyNjJkNjgiIHY9Ii00NjcwIi8+DQorCQkJCQk8dmFsIG89IjI2M2I4MyIgdj0iLTM2OTQiLz4NCisJCQkJCTx2YWwgbz0iMjY0OTg2IiB2PSItMzQ5MSIvPg0KKwkJCQkJPHZhbCBvPSIyNjU3OTUiIHY9Ii0zNTgyIi8+DQorCQkJCQk8dmFsIG89IjI2NjVhNiIgdj0iLTM2ODMiLz4NCisJCQkJCTx2YWwgbz0iMjY3M2I1IiB2PSItMzYwOCIvPg0KKwkJCQkJPHZhbCBvPSIyNjgxYzYiIHY9Ii0zNjgxIi8+DQorCQkJCQk8dmFsIG89IjI2OGZkNSIgdj0iLTM4NTAiLz4NCisJCQkJCTx2YWwgbz0iMjY5ZGU2IiB2PSItMzkyMyIvPg0KKwkJCQkJPHZhbCBvPSIyNmFiZjYiIHY9Ii0zOTU1Ii8+DQorCQkJCQk8dmFsIG89IjI2YmEwNiIgdj0iLTQ0NjciLz4NCisJCQkJCTx2YWwgbz0iMjZjODE3IiB2PSItNDI1NyIvPg0KKwkJCQkJPHZhbCBvPSIyNmQ2MmIiIHY9Ii0zOTE1Ii8+DQorCQkJCQk8dmFsIG89IjI2ZTQzNiIgdj0iLTM4OTciLz4NCisJCQkJCTx2YWwgbz0iMjZmMjQ3IiB2PSItMzUzMSIvPg0KKwkJCQkJPHZhbCBvPSIyNzAwNTciIHY9Ii0zNzk4Ii8+DQorCQkJCQk8dmFsIG89IjI3MGU2NyIgdj0iLTM2MjgiLz4NCisJCQkJCTx2YWwgbz0iMjcxYzc3IiB2PSItNDU0MCIvPg0KKwkJCQkJPHZhbCBvPSIyNzJhODciIHY9Ii01MTcxIi8+DQorCQkJCQk8dmFsIG89IjI3Mzg5NyIgdj0iLTUwMzgiLz4NCisJCQkJCTx2YWwgbz0iMjc0NmE4IiB2PSItNTAyOCIvPg0KKwkJCQkJPHZhbCBvPSIyNzU0YjkiIHY9Ii01MDI5Ii8+DQorCQkJCQk8dmFsIG89IjI3NjJjNyIgdj0iLTM5OTMiLz4NCisJCQkJCTx2YWwgbz0iMjc3MGQ4IiB2PSItMzU1MSIvPg0KKwkJCQkJPHZhbCBvPSIyNzdlZTciIHY9Ii0zMjA2Ii8+DQorCQkJCTwvcGFyPg0KKwkJCQk8cGFyIG1lbWluZD0iNjc0NjAxIiBoPSIzZGMxYTdlMCI+DQorCQkJCQk8dmFsIG89IjAiIHY9IjIyMTIzOjEzNzo4ODo3NjoxMDM6Njk6ODk6NjA0Nzo2NTcxOjIxMzQ6NjQxNDoyMjIzOjI3MjcuMjMxOjE0MzUuNjc1OjUuOTc5OjAuMDY3OjA6NDE3MTo0MTAzOToyOTA1Mjo0MjEwNDoxMjIxODoyNDcyMToxMzUwNDo4OTc1OjExMTUzOjI5OTA6ODY2NTo5NzU5OjExNzQyIi8+DQorCQkJCTwvcGFyPg0KKwkJCQk8cGFyIG1lbWluZD0iNjczODAxIiBoPSIzZGMxYTdlMCI+DQorCQkJCQk8dmFsIG89IjAiIHY9IjA6MDowOjA6MDowOjA6MjQ3MjoyMjUwNToyNTE2MDoxNjQyNTozMDAxMjoyMzUxNC4yMjk6MTE2NzUuMzYyOjkuMjcyOjAuNDE2OjA6NjQ5MTozMjIxOjI4Njc6NDIwNDoyMjgyMjozMDQ3OjYyNjM6MTUzNDI6OTc4NTozMjQyNDoyMzM0NjoyMTU3ODoyMzUwOCIvPg0KKwkJCQk8L3Bhcj4NCisJCQkJPHBhciBtZW1pbmQ9IjY3MzQwMSIgaD0iM2RjMWE3ZTAiPg0KKwkJCQkJPHZhbCBvPSIwIiB2PSI3Mjg5ODoxOTE6MTg4OjE3NjoxNzg6MTc0OjE4MToxMDQ0MToxNDA3OToxMzYwOjQ2NjY3Ojc0MTMxOjgwOTk2LjEzOjUwMzI0LjMyNjozMi4xODg6MC4wMzg6MDo0NDAyNzoyMDAyODk6MTA5MjE2OjUyNDYxOjEyOTUxOjc1ODk2OjY5MTk2OjEwNDg1MjoxMTcwMzY6OTY5MDM6MTIwNzE0OjEyNDMwODo5NjIwNyIvPg0KKwkJCQk8L3Bhcj4NCisJCQkJPHBhciBtZW1pbmQ9IjY3MzAwMSIgaD0iM2RjMWE3ZTAiPg0KKwkJCQkJPHZhbCBvPSIwIiB2PSIwOjA6MDowOjA6MDowOjM0NzY6MzIyNjo1NTk3OjQ4NTM6MDowOjA6MC4wMDE6MC4xMzc6MDowOjA6MDowOjUwNzM1OjU5MjA1OjA6MDowOjA6MDowOjAiLz4NCisJCQkJPC9wYXI+DQorCQkJCTxwYXIgbWVtaW5kPSIyNjI3NDYwMSIgaD0iM2RjMWE3ZTAiPg0KKwkJCQkJPHZhbCBvPSIwIiB2PSIwOjoxMzA1OjoyODY5Ojo0NDgyOjo2MDY2Ojo3Mzk2Ojo4NTczOjoxMDI2Mjo6MTE5MjI6OjEzNzczOjoxNTQ5Mjo6MTc1MjI6OjE5NTQ0OjoyMTQ1Mjo6MjIwNzA6OjIyMDc1OjoyMjA4MDo6MjIwODQ6OjIyMDg1OjoyMjA5MDo6MjIwOTc6OjIyMTAzOjoyMjEwOTo6MjIxMTY6OjA6OjY6OjEzOjoyMDo6Mjc6OjMyOjozNDo6NDE6OjQ4Ojo1NDo6NjE6OjY4Ojo3NTo6ODI6Ojg5Ojo5Njo6MTAzOjoxMTA6OjExMDo6MTExOjoxMTY6OjExOTo6MTIzOjoxMjkiLz4NCisJCQkJCTx2YWwgbz0iMmEzMDAiIHY9IjA6OjU6OjU6Ojc6OjExOjoxMjo6MTI6OjE3OjoyNDo6MzA6OjM3Ojo0NDo6NTE6OjU4Ojo2NTo6Njk6OjcxOjo3MTo6NzE6OjczOjo3NTo6NzY6Ojc2Ojo4MTo6MDo6Njo6MTM6OjIwOjoyNzo6MzQ6OjQwOjo0NDo6NTA6Ojo6NTE6OjUxOjo1MTo6NTE6OjUxOjo1MTo6NTE6OjUxOjo1MTo6NTE6OjU0Ojo2MDo6NjM6OjY5OjowIi8+DQorCQkJCQk8dmFsIG89IjU1NDEwIiB2PSI2OjoxMzo6MjA6OjI3OjozNDo6Mzg6OjQ0Ojo0Njo6NDY6OjQ3Ojo1Mjo6NTg6OjY1Ojo2Njo6NjY6OjY3Ojo2OTo6Njk6OjcwOjo3Njo6ODM6Ojg5Ojo5Njo6MDo6NTo6MTI6OjE5OjoyNTo6MzA6OjMxOjozNTo6Mzc6OjM3OjozNzo6Mzc6OjM4Ojo0NDo6NDU6OjQ1Ojo0NTo6NDU6OjQ1Ojo0NTo6NDg6OjUxOjo1Njo6NjI6OjAiLz4NCisJCQkJCTx2YWwgbz0iN2Y3MTAiIHY9IjY6OjE0OjoyMTo6Mjg6OjM1Ojo0Mjo6NDc6OjUwOjo1MDo6NTA6OjUyOjo1OTo6NjU6OjY5Ojo3Mjo6NzQ6Ojc1Ojo3NTo6NzU6Ojc1Ojo3ODo6Nzk6OjgyOjowOjo3OjoxNDo6MjE6OjI4OjozNDo6Mzg6OjQ0Ojo0NTo6NDU6OjQ5Ojo1Njo6NjM6OjcwOjo3Njo6ODA6OjgzNTo6MTY3NTo6MjAzODo6MjAzOTo6Mjg1Njo6MzE1ODo6MzYwNzo6NDQzMTo6MCIvPg0KKwkJCQkJPHZhbCBvPSJhOWExMCIgdj0iNjI5Ojo3OTc6OjE0NTY6OjIzODI6OjI0NzY6OjI0Nzc6OjI4MjE6OjI4MjE6OjI4MjE6Ojo6MjgyMTo6MjgyMTo6Mjg1Njo6Mjg2NTo6Mjg2NTo6MzA0OTo6MzIyMzo6MzI2Nzo6MzUzMjo6NDMwNDo6NTE0Nzo6NTE0Nzo6NTQ0OTo6MDo6MTAxOjoxMDI6OjI1Mjo6NTkyOjo2MDU6OjYwNTo6NjA1Ojo2MDU6OjYxMjo6NjEyOjo2MTI6OjYxMjo6NjEyOjo2MTI6OjYxMjo6Njc5Ojo3Njc6Ojc2Nzo6NzY3Ojo3Njc6Ojc2Nzo6NzY3Ojo5MTA6OjA6OjExNTgiLz4NCisJCQkJCTx2YWwgbz0iZDRiMjAiIHY9IjIyODk6OjI3MDE6OjMwNzY6OjMwNzY6OjMzODU6OjM5MDQ6OjM5MDQ6OjM5MDQ6OjM5MDQ6OjM5MDQ6OjM5MDQ6OjM5MDQ6OjM5MDQ6OjM5MDQ6OjM5MDQ6OjM5MTE6OjQwMjM6OjQ1OTk6OjUyMzc6OjU0OTQ6OjU3ODA6OjYwNzI6OjA6OjYyMjo6NjIyOjo2MjI6OjYyMjo6NjIyOjo3MTY6OjgxOTo6ODE5Ojo4MTk6OjgxOTo6ODE5Ojo4MTk6Ojg3MDo6ODcwOjo4NzA6Ojg3MDo6ODcwOjo4NzA6Ojg3MDo6ODcwOjo4NzA6Ojg3MDo6MTAyNDo6MDo6MTEyNyIvPg0KKwkJCQkJPHZhbCBvPSJmZWUyMCIgdj0iMTk1NDo6MjE3Mzo6MjM3Nzo6MjM3Nzo6MjM3Nzo6MjM3Nzo6MjM3Nzo6MjM3Nzo6MjM4MTo6MjM4MTo6MjM4MTo6MjM4MTo6MjM4MTo6MjM4MTo6MjM4MTo6MjM4MTo6MjM4MTo6MjM4MTo6MjM4MTo6MjM4NDo6MjQwMDo6MjQwMDo6MDo6MTYzOjoxNjM6OjE2Mzo6MTYzOjoxNjM6OjE2Mzo6MTYzOjoxNjM6OjIwNDo6MzMwOjo3NTE6OjE0MDA6OjE0MzM6OjE0MzM6OjE0MzM6OjE0MzUuMTo6MTQzNS4xOjoxNDM1LjE6OjE0MzUuMTo6MTQzNS4xOjoxNDM1LjE0NDo6MTQzNS4zNzU6OjE0MzUuMzgxOjowOjoxLjE3OSIvPg0KKwkJCQkJPHZhbCBvPSIxMjkxMjAiIHY9IjIuNDg2OjozLjg2OTo6NS4yNzg6OjUuODA5Ojo1LjgxMTo6NS44MTE6OjUuODExOjo1Ljg0Mzo6NS45Njc6OjUuOTY4Ojo1Ljk2ODo6NS45Njg6OjUuOTY4Ojo1Ljk2ODo6NS45Njg6OjUuOTY4Ojo1Ljk2ODo6NS45Njg6OjUuOTY4Ojo1Ljk2ODo6NS45Njk6OjUuOTY5OjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowLjAwMTo6MC4wMTQ6OjAuMDMyOjowLjA0OjowLjA0Njo6MC4wNDk6OjAuMDU6OjAuMDU6OjAuMDU6OjAuMDU6OjAuMDU6OjAuMDU6OjAuMDUzOjowOjowLjAwNSIvPg0KKwkJCQkJPHZhbCBvPSIxNTM0MjAiIHY9IjAuMDA1OjowLjAwNTo6MC4wMDU6OjAuMDA1OjowLjAwNTo6MC4wMDU6OjAuMDA1OjowLjAwNTo6MC4wMDU6OjAuMDA1OjowLjAwNTo6MC4wMDU6OjAuMDA1OjowLjAwNTo6MC4wMDU6OjAuMDA5OjowLjAwOTo6MC4wMDk6OjAuMDA5OjowLjAwOTo6MC4wMDk6OjAuMDE0OjowOjowLjAwNDo6MC4wMjo6MC4wMzE6OjAuMDQyOjowLjA0NDo6MC4wNDQ6OjAuMDQ0OjowLjA0NDo6MC4wNDQ6OjAuMDQ0OjowLjA0NDo6MC4wNDc6OjAuMDU6OjAuMDUxOjowLjA1NDo6MC4wNTQ6OjAuMDU0OjowOjowOjowOjowOjoxNzU6OjE4Nzg6OjA6OjIzMDMiLz4NCisJCQkJCTx2YWwgbz0iMTdkNzIwIiB2PSI1MDE2Ojo3ODg5OjoxMDgyNTo6MTI3ODU6OjEzNDI4OjoxNDU2ODo6MTYyODE6OjE3ODcwOjoxODc1Nzo6MTk2NzM6OjIyMzE0OjoyNTMxNzo6MjgwMTc6OjMwNjExOjozMjU3MTo6OjozMzA3ODo6MzM1NzA6OjM0ODY1OjozNjEyNDo6Mzc2NzA6OjM5OTA4OjowOjo5Nzg6OjI1NDA6OjQyMzY6OjU5OTI6OjY3NzM6OjY4MTg6OjY5MTU6Ojc2NDM6Ojg1MTA6Ojg2MTg6Ojo6OTM1NDo6MTAzMzQ6OjEwODU3OjoxMTE5MDo6MTEzODc6OjExMzg3OjoxMjgxODo6MTU1NDc6OjE5MDExOjoyMTA3Nzo6MjI2MTA6OjI1NjgyOjowOjoyNjgyOjo1NzU3Ojo5MDk0Ii8+DQorCQkJCQk8dmFsIG89IjFhOTY0MCIgdj0iMTI0Mzk6OjE0ODEwOjoxNjQyNjo6MTgxNzI6OjIwNDYyOjoyMjg1MTo6MjQ5NTc6OjI2OTEyOjoyOTIwMDo6MzE3ODkiLz4NCisJCQkJCTx2YWwgbz0iMWM3NDYwIiB2PSI4MTk3Ojo4MjY0Ojo4MzY1Ojo4MzY1Ojo4OTk2Ojo5OTk2OjoxMDU3MDo6MTA1NzA6OjEwNTcwOjoxMDgwNzo6MDo6Mzg4Ojo3NzY6OjE2NTU6OjIzNzQ6OjIzOTE6OjIzOTE6OjI0Mjk6OjMzMzI6OjM2Nzc6OjM3Njg6OjM4NTE6OjQyOTQ6OjQ5MzA6OjU4NDc6OjY2MjU6Ojc4NTI6Ojk0OTI6OjExMzI4OjoxMzM3Njo6MTU2MjA6OjE3OTQ2OjoyMDE3MDo6MjI0Njk6OjA6OjE5Nzk6OjQxNzk6OjQ4MTc6OjUzMDI6OjU2MTI6OjU4MDI6OjYwNzU6OjY3ODc6OjcxNzI6Ojc0ODk6Ojc2Njg6Ojc4Njc6OjgxODQiLz4NCisJCQkJCTx2YWwgbz0iMWYxNzYwIiB2PSI4MjcwOjo4MjcwOjo4MjcwOjo4MjcwOjo4MjcwOjo4Mjc5Ojo4NDI1Ojo4NzY2Ojo5MjYxOjoxMTM3OTo6MDo6OTY3OjoyMjMyOjozMjI0OjozNTg0OjozNzA4OjozNzQyOjo0MTkyOjo0MzczOjo0Mzc5Ojo0Mzc5Ojo0Mzc5Ojo0Mzc5Ojo0Mzc5Ojo0Mzc5Ojo0NDY4Ojo0ODE2Ojo1MTExOjo1NTMzOjo2MzkzOjo2NzQwOjo3Mzk0Ojo3Mzk0Ojo3OTg4OjowOjoxNDc5OjoyNDA3OjoyOTA3OjozMzQxOjozMzQ3OjozMzQ3OjozNTIyOjo0NTIxOjo0NzAyOjo1MTA0Ojo1Mzk5Ojo2NTExOjo2NTExIi8+DQorCQkJCQk8dmFsIG89IjIxYmE2MCIgdj0iNjUxMTo6NjUxMTo6NzU1NDo6ODA0Njo6ODA0Njo6ODA4NDo6ODc4MTo6OTQzNzo6OTQzNzo6MTAwMzQ6OjA6OjI1ODo6MjU4OjoyNTg6OjI1ODo6MjU4OjozMDM6OjU0MTo6MTA5Nzo6MTEyMjo6MTEyMjo6MTEyMjo6MTEyMjo6MTM5Nzo6MTQyOTo6MjA1Mjo6MjYzODo6MjYzODo6MjYzODo6MjYzODo6MjYzODo6Mjc3OTo6Mjc3OTo6Mjc3OTo6MDo6MjExOjo3MTY6Ojk5Mzo6OTkzOjo5OTM6Ojk5Mzo6MTA1ODo6MTA2MDo6MTA2MDo6MTA2MDo6MTA2MDo6MTEyMzo6MTY0MCIvPg0KKwkJCQkJPHZhbCBvPSIyNDZiNzAiIHY9IjMyODA6OjM5NTI6OjM5NjI6OjM5NjI6OjM5NjI6OjQyOTc6OjU1ODY6OjY5OTg6Ojc5NTY6OjA6OjQ5Mjo6MTU3MDo6MjY4Mzo6MzU4NTo6MzYxNTo6MzYxODo6MzY1OTo6MzY1OTo6MzY1OTo6MzY1OTo6Mzk3Mzo6Njc2Nzo6ODY0NDo6ODcxNzo6ODcxODo6ODcxODo6ODcxODo6ODcxODo6ODcxODo6ODcxODo6ODg5ODo6ODg5ODo6OTIwNTo6MDo6NTAyOjoxODI1OjozNzIyOjo1NzU4Ojo3MjM3Ojo4MTU5Ojo4MjI2Ojo4MjI2Ojo4MjI2Ojo4MjI2Ojo4MjI2Ojo4MjI2Ojo4MjI2Ojo4MjI2Ii8+DQorCQkJCQk8dmFsIG89IjI3MGU3MCIgdj0iODIyNjo6ODI0MDo6ODUwNDo6ODk4MDo6OTQ2Njo6MTAzMDg6OjEwNjY2OjoxMDY2Njo6MTA3MzkiLz4NCisJCQkJPC9wYXI+DQorCQkJCTxwYXIgbWVtaW5kPSIyNjI3MzgwMSIgaD0iM2RjMWE3ZTAiPg0KKwkJCQkJPHZhbCBvPSIwIiB2PSIwOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowIi8+DQorCQkJCQk8dmFsIG89IjJhMzAwIiB2PSIwOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjo6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjAiLz4NCisJCQkJCTx2YWwgbz0iNTU0MTAiIHY9IjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjAiLz4NCisJCQkJCTx2YWwgbz0iN2Y3MTAiIHY9IjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjY4MDo6MTc1Mzo6MjQzNjo6MjQzOTo6MjQ3MTo6MjQ3Mjo6MjQ3Mjo6MCIvPg0KKwkJCQkJPHZhbCBvPSJhOWExMCIgdj0iMjczOjozMDQ6OjMwNDo6MzA0OjozOTI6OjE0Njc6OjE5NjE6OjI3MzU6OjQ1MTE6Ojo6MTIxMTQ6OjE2MzM3OjoxODI1Mjo6MTg0NTI6OjE5MDUxOjoyMDcyNDo6MjExMTU6OjIxNjExOjoyMTYxNjo6MjE2MTY6OjIxNjQ3OjoyMjQ2MDo6MjI1MDU6OjA6OjE0Mjg6OjE3ODY6OjE4MjE6OjE4MjE6OjIxMDA6OjMxMTY6OjQ2MDY6OjU3MDA6OjYyNjM6OjcyMzI6OjgzMjE6OjkyMDI6Ojk3MDY6OjEwMTA5OjoxMDU2Nzo6MTE4Mjc6OjEyMzU2OjoxNDgxODo6MTc0MTY6OjIwMTg2OjoyMjYyODo6MjQ0Njc6OjI1MTYwOjowOjoxNiIvPg0KKwkJCQkJPHZhbCBvPSJkNGIyMCIgdj0iMTY6OjE2OjoxODo6NzYxOjoyMzE3OjoyMzQ1OjozMDMxOjo1MDEwOjo3NjgxOjoxMDcxOTo6MTM0OTE6OjE0MDc5OjoxNDU0MTo6MTQ3ODg6OjE1MDI4OjoxNTU1MTo6MTYxODI6OjE2MTgyOjoxNjMyNzo6MTYzNTE6OjE2Mzk0OjoxNjQyNDo6MDo6MTI1NDo6MjUyMTo6MzMwNDo6NDIxNDo6NjE4OTo6ODU0Mjo6ODg4NDo6OTcxNDo6MTA5MDc6OjEyNDQ3OjoxMzYwNDo6MTQ0MDc6OjE0OTI4OjoxNjg1NTo6MTgzMjM6OjIwMDE2OjoyMjMwNjo6MjM5NTI6OjI1NTExOjoyNjcwMDo6Mjc4NTg6OjI5NTEyOjozMDAxMjo6MDo6MCIvPg0KKwkJCQkJPHZhbCBvPSJmZWUyMCIgdj0iMTQ6OjE0OjoxNjo6ODQ4OjoyNTEyOjo0MTE0Ojo1NTU2Ojo3MDcwOjo3OTY3Ojo5NDI0OjoxMDgxMjo6MTE3MjI6OjEyODI5OjoxMzk1MDo6MTUwMzM6OjE3MDk1OjoxOTQyMzo6MjA2NzA6OjIxMTI5OjoyMTgyODo6MjI2MDg6OjIzNDQ0OjowOjoxMDI0OjoxNTA4OjoxNzg2OjoxOTg1OjoyOTUxOjo0OTAwOjo2NTg5Ojo4MDUzOjo4ODQ5Ojo4OTI5Ojo4OTI5Ojo4OTI5Ojo5NTAyOjoxMDM4MDo6MTEyMDA6OjExNjY5LjQzOjoxMTY3MC43MTQ6OjExNjcxLjUwMTo6MTE2NzMuMjM2OjoxMTY3NC4zMjQ6OjExNjc0LjYxNjo6MTE2NzQuODg3OjoxMTY3NS4zNDU6OjA6OjAiLz4NCisJCQkJCTx2YWwgbz0iMTI5MTIwIiB2PSIwOjowOjowOjowOjowLjYzMjo6MS41Nzo6Mi43ODc6OjQuMzg5Ojo1LjM1Mzo6Ni42NzY6OjcuODI1Ojo4LjQ3Mzo6OS4wNTk6OjkuMDc6OjkuMDgzOjo5LjExMzo6OS4xNDk6OjkuMTg2Ojo5LjIyMjo6OS4yNTQ6OjkuMjYzOjo5LjI2Nzo6MDo6MC4wNTQ6OjAuMDc4OjowLjA5NDo6MC4xMTM6OjAuMTQ5OjowLjI6OjAuMjI5OjowLjIzNDo6MC4yNDE6OjAuMjQ0OjowLjI0NTo6MC4yNDU6OjAuMjQ1OjowLjI0NTo6MC4yNDU6OjAuMjQ2OjowLjI3Njo6MC4zMDk6OjAuMzQ4OjowLjM4Mzo6MC40MDg6OjAuNDE1OjowLjQxNjo6MDo6MC4wMjIiLz4NCisJCQkJCTx2YWwgbz0iMTUzNDIwIiB2PSIwLjAzMTo6MC4wMzI6OjAuMDMzOjowLjA0NTo6MC4wNzY6OjAuMTo6MC4xMjE6OjAuMTYxOjowLjE5Nzo6MC4yMjc6OjAuMjUyOjowLjI1Nzo6MC4yNjQ6OjAuMjc1OjowLjI5NTo6MC4zMTU6OjAuMzIyOjowLjMyOTo6MC4zMzI6OjAuMzQ4OjowLjM1Nzo6MC4zNTc6OjA6OjA6OjA6OjA6OjA6OjA6OjAuMDE1OjowLjA1MTo6MC4wNjI6OjAuMDY4OjowLjA3OTo6MC4wOTE6OjAuMDk0OjowLjA5NDo6MC4wOTc6OjAuMTA4OjowLjEyNTo6MC4xNjE6OjE0MjU6OjM1NjM6OjUwODc6OjYwODE6OjY0OTE6OjY0OTE6OjA6OjAiLz4NCisJCQkJCTx2YWwgbz0iMTdkNzIwIiB2PSIwOjowOjowOjowOjozOjo0OjoxNzo6MTc6OjE3OjoxNzo6ODM6OjgzOjo4Mzo6ODM6OjgzOjo6OjI4MTU6OjMyMjE6OjMyMjE6OjMyMjE6OjMyMjE6OjMyMjE6OjA6OjA6OjA6OjA6OjA6OjA6OjUwMzo6MjEyNDo6MjEyNDo6MjEzNTo6MjE4Nzo6OjoyMjIwOjoyMjIwOjoyMjIwOjoyMjIwOjoyMjMxOjoyODU3OjoyODY3OjoyODY3OjoyODY3OjoyODY3OjoyODY3OjoyODY3OjowOjowOjowOjowIi8+DQorCQkJCQk8dmFsIG89IjFhOTY0MCIgdj0iMDo6MDo6MDo6MDo6NTo6NTo6NTo6NTo6NTo6NSIvPg0KKwkJCQkJPHZhbCBvPSIxYzc0NjAiIHY9IjE0MTM5OjoxNDIxODo6MTQ1Mzg6OjE2NDY3OjoxNjQ5Mzo6MTY0OTM6OjE3OTEzOjoyMDM4ODo6MjI1MDM6OjIyODIyOjowOjoyNDI6OjI0Mjo6MjQyOjoyNDI6OjQ3Mzo6MTYxNDo6Mjc4Mzo6Mjc4Mzo6Mjc4NTo6MzA0Mzo6MzA0Njo6MzA0Njo6MzA0Nzo6MzA0Nzo6MzA0Nzo6MzA0Nzo6MzA0Nzo6MzA0Nzo6MzA0Nzo6MzA0Nzo6MzA0Nzo6MzA0Nzo6MzA0Nzo6MDo6MDo6MDo6MTAxOjoxMDE6OjEwMTo6MTU1OjoxNTU6OjE1NTo6MTU1OjoxNTU6OjE1ODo6MTU4OjoxNTgiLz4NCisJCQkJCTx2YWwgbz0iMWYxNzYwIiB2PSIzMDM6OjY4OTo6MTI2Nzo6MzI5MTo6NTM2Mjo6NTk2NDo6NTk2NDo6NjIwNTo6NjI2Mzo6NjI2Mzo6MDo6Njc6Ojc4Ojo3ODo6Nzg6Ojk2OjoyNzk6OjEyNTc6OjIxNjk6OjMzODI6OjU2Mjg6Ojc2OTI6OjkxNDQ6Ojk4MDA6OjExNDEwOjoxMzE5Mzo6MTM3NzA6OjE0NTAwOjoxNDUwMjo6MTQ1MjY6OjE0NTI4OjoxNDY5Mzo6MTUzMzc6OjE1MzQyOjowOjowOjoxMjg6OjEyODo6MTI4Ojo2MzE6OjE5NjA6OjI4MzQ6OjI4NDc6OjI5OTQ6OjM0NDU6OjM0NDU6OjM0NDU6OjQwMTAiLz4NCisJCQkJCTx2YWwgbz0iMjFiYTYwIiB2PSI1MzA0Ojo2ODAyOjo3MTg4Ojo3MzA0Ojo3Nzc3Ojo4MTE5Ojo4MTE5Ojo4MjM4Ojo5NzMxOjo5Nzg1OjowOjozMjAyOjo1MTM3Ojo1NTkzOjo2MzA0Ojo4NTc3OjoxMjMyMjo6MTI1NjE6OjEyNTYxOjoxMzk2MDo6MTY1MzM6OjIwMTI3OjoyMjg0MTo6MjI4NjM6OjIzMTA2OjoyMzI0Nzo6MjMyNDc6OjI0OTg3OjoyNjQwMjo6Mjc1OTA6OjI4MDc1OjoyOTI2Mzo6MzE0Mzg6OjMyMzI1OjowOjoxNzE6OjE3MTo6MjAwOjozNDQ6OjE0NzY6OjI0MjU6OjMzODc6OjQxNDU6OjU4NzU6OjkyMTA6OjEyMjkxOjoxNTE0NDo6MTUxNDQiLz4NCisJCQkJCTx2YWwgbz0iMjQ2YjcwIiB2PSIxNTE0NDo6MTUxNDQ6OjE3MjY3OjoyMTg2NDo6MjMyMzI6OjIzMzQ2OjoyMzM0Njo6MjMzNDY6OjIzMzQ2OjowOjo4Njo6ODY6Ojg2Ojo4Njo6MTg4Ojo3MDk6OjEzMzM6OjI1MTE6OjQzMTM6Ojc1OTM6OjEwNDM0OjoxMDQzNDo6MTA0NDM6OjEwNjIyOjoxMDgxMDo6MTEyOTM6OjEyMzAyOjoxNDg1OTo6MTc0NzY6OjE5NTY1OjoxOTc0Mjo6MjEwMzU6OjIxMjM0OjowOjoxMzo6MTM6OjEzOjoxMzo6MTM6OjEzOjoyMTY6OjkyOTo6MjA1ODo6MzcwMDo6NTY5ODo6ODc4Mjo6MTE2OTg6OjE0NjYzIi8+DQorCQkJCQk8dmFsIG89IjI3MGU3MCIgdj0iMTc3Njc6OjE4NTQ2OjoxOTE1NTo6MTkxNTU6OjE5MTU1OjoxOTE1NTo6MjA3MzA6OjIzMDE2OjoyMzUwOCIvPg0KKwkJCQk8L3Bhcj4NCisJCQkJPHBhciBtZW1pbmQ9IjI2MjczNDAxIiBoPSIzZGMxYTdlMCI+DQorCQkJCQk8dmFsIG89IjAiIHY9IjA6OjQxNzc6OjgzNDg6OjEyNDIxOjoxNjQ2Njo6MjAzODk6OjI0NTUwOjoyOTYzODo6MzUzOTA6OjQyMzI5Ojo0OTYwODo6NTY5ODI6OjY0MTE5Ojo3MDgxOTo6NzI4MjQ6OjcyODMxOjo3MjgzODo6NzI4NDU6OjcyODUxOjo3Mjg1OTo6NzI4NjY6OjcyODczOjo3Mjg4MTo6NzI4ODk6OjA6Ojg6OjE2OjoyNDo6MzI6OjQwOjo0ODo6NTY6OjY1Ojo3Mzo6ODE6Ojg5Ojo5Nzo6MTA1OjoxMTQ6OjEyMjo6MTMxOjoxMzg6OjE0NTo6MTUyOjoxNjA6OjE2Nzo6MTc1OjoxODMiLz4NCisJCQkJCTx2YWwgbz0iMmEzMDAiIHY9IjA6Ojg6OjE2OjoyMzo6MzE6OjM5Ojo0Nzo6NTU6OjYzOjo3MTo6Nzk6Ojg3Ojo5Njo6MTA0OjoxMTI6OjEyMDo6MTI4OjoxMzU6OjE0Mjo6MTUwOjoxNTc6OjE2NTo6MTcyOjoxODA6OjA6Ojg6OjE3OjoyNTo6MzQ6OjQzOjo1MTo6NTg6OjY2Ojo6Ojc5Ojo4NTo6OTI6Ojk4OjoxMDU6OjExMTo6MTE3OjoxMjQ6OjEzMTo6MTM4OjoxNDU6OjE1Mzo6MTYwOjoxNjg6OjAiLz4NCisJCQkJCTx2YWwgbz0iNTU0MTAiIHY9Ijg6OjE2OjoyNTo6MzM6OjQxOjo0OTo6NTY6OjY0Ojo3MDo6Nzc6Ojg0Ojo5MTo6OTg6OjEwNTo6MTExOjoxMTg6OjEyNTo6MTMyOjoxMzk6OjE0Nzo6MTU0OjoxNjI6OjE3MDo6MDo6Nzo6MTY6OjI0OjozMjo6NDA6OjQ4Ojo1NTo6NjM6OjY5Ojo3Njo6ODI6Ojg5Ojo5Njo6MTAzOjoxMDk6OjExNjo6MTIyOjoxMjg6OjEzNTo6MTQzOjoxNTA6OjE1ODo6MTY2OjowIi8+DQorCQkJCQk8dmFsIG89IjdmNzEwIiB2PSI4OjoxNzo6MjU6OjM0Ojo0Mzo6NTE6OjU4Ojo2Njo6NzM6OjgwOjo4Nzo6OTQ6OjEwMTo6MTA4OjoxMTU6OjEyMjo6MTI5OjoxMzU6OjE0Mjo6MTUwOjoxNTc6OjE2NTo6MTcyOjowOjo4OjoxNzo6MjU6OjM0Ojo0Mjo6NTA6OjU4Ojo2NTo6NzI6Ojc4Ojo4NTo6OTI6OjEwMDo6MTA3OjoxMTQ6OjI1OTU6Ojc5MTM6OjEwMjk0OjoxMDQzOTo6MTA0Mzk6OjEwNDM5OjoxMDQ0MTo6MTA0NDE6OjAiLz4NCisJCQkJCTx2YWwgbz0iYTlhMTAiIHY9IjI6OjQ6Ojk6Ojk6Ojk6Ojk6OjY5OjoxODE6OjIzNjo6OjozMjc6OjQ2MTo6NzIwOjoxMzkzOjoyMjE1OjozMDU5Ojo0NTkzOjo2MzQyOjo4MDQxOjo5OTQ0OjoxMTU2MTo6MTIzMTQ6OjEzMTY2OjowOjo0Nzo6NDc6OjQ3Ojo0Nzo6NDc6OjQ3Ojo0Nzo6NDc6OjQ4Ojo1OTo6ODc6OjEyNzo6MTM0OjoxMzU6OjE0Mjo6MTgyOjo1Mzc6Ojc2OTo6MTAwMDo6MTE1Njo6MTIwODo6MTIzMDo6MTI2NDo6MDo6MCIvPg0KKwkJCQkJPHZhbCBvPSJkNGIyMCIgdj0iMDo6MDo6MDo6MDo6NTg6OjQ2NDo6MTIxNDo6Mjg2Njo6NTE5NTo6NzY0NDo6MTAxODk6OjEzMTA4OjoxNTkwMjo6MTg3NzM6OjIxNTU3OjoyNDM0NTo6MjgyNzE6OjMyMjY3OjozNjAxMjo6MzkzNjA6OjQyMzUyOjo0NDc4Mjo6MDo6MTIxNTo6MTg3OTo6MjU4MTo6MzIzMjo6MzczMDo6NDYyNzo6Njg0NTo6OTQyNjo6MTMyMTM6OjE3NDYwOjoyMTgxMjo6MjY0MDg6OjMwODc4OjozNTM0Njo6NDAwNjE6OjQ0Nzc2Ojo0OTE0NTo6NTM1MDE6OjU3NTc1Ojo2MTQyOTo6NjQ5Njg6OjY4MDI5Ojo3MTE1NDo6MDo6MjU0MSIvPg0KKwkJCQkJPHZhbCBvPSJmZWUyMCIgdj0iNDc1Nzo6Njc0OTo6ODcwNzo6MTA0NDY6OjEyMjk2OjoxNDgxNzo6MTgwMjE6OjIyMTkyOjoyNDcxMDo6MjkyMDk6OjMzNzk5OjozODAwMDo6NDIxOTk6OjQ2Mzc1Ojo1MDY4MTo6NTUwNjI6OjU5Mzg3Ojo2MzY4Njo6Njc5NzE6OjcxODgzOjo3NTM3ODo6NzgyNzQ6OjA6OjE5NjU6OjM3ODU6OjU1ODk6Ojc0MDg6OjkwNDI6OjEwNzM1OjoxMzE0Mzo6MTYyNTQ6OjIwNDczOjoyNTIxMDo6Mjk4OTg6OjM0OTg5OjozOTI2NTo6NDM1NDc6OjQ3NjU5Ojo1MDI5OC44MTY6OjUwMzAyLjczMzo6NTAzMDYuNzI5Ojo1MDMxMC4zMjY6OjUwMzEzLjc4Mzo6NTAzMTcuMDYyOjo1MDMyMC4wMTY6OjUwMzIyLjI3Nzo6MDo6MS45ODYiLz4NCisJCQkJCTx2YWwgbz0iMTI5MTIwIiB2PSIzLjc0Njo6NS40Mjc6OjcuMTE2Ojo4LjY0OTo6MTAuMjI1OjoxMi4zNzc6OjE0Ljk3Mjo6MTguMTU1OjoyMS41MTk6OjI0LjA3OTo6MjYuNzg5OjoyOS44NzI6OjMyLjAzODo6MzIuMDc1OjozMi4wOTM6OjMyLjExOjozMi4xMzI6OjMyLjE0OTo6MzIuMTYzOjozMi4xNzM6OjMyLjE4MTo6MzIuMTgzOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowLjAwMTo6MC4wMDU6OjAuMDA4OjowLjAxMjo6MC4wMTQ6OjAuMDE0OjowLjAxNDo6MC4wMTQ6OjAuMDE3OjowLjAyMzo6MC4wMjY6OjAuMDI5OjowLjAzMjo6MC4wMzU6OjAuMDM4OjowOjowIi8+DQorCQkJCQk8dmFsIG89IjE1MzQyMCIgdj0iMDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MC4wMDQ6OjAuMDEzOjowLjAyMzo6MC4wMzU6OjAuMDM5OjowLjA0OjowLjA0OjowOjowOjowOjowOjowOjowOjowOjowOjowLjAxMTo6MC4wNjQ6OjAuMTg0OjowLjI5OTo6MC40MDM6OjAuNDkxOjowLjU4Nzo6MC42ODQ6OjAuNzc3OjowLjg4Mjo6NDY0OTo6MTEzNjk6OjE4Mzg0OjoyNTUzOTo6MzIwOTg6OjM4MTg5OjowOjo1NjMxIi8+DQorCQkJCQk8dmFsIG89IjE3ZDcyMCIgdj0iMTExMzQ6OjE2NTgwOjoyMTgxOTo6MjY5MzQ6OjMyNDQ5OjozOTAxMTo6NDYxNjQ6OjU3MzI5Ojo3MDUzNTo6ODM1OTI6Ojk2MTEyOjoxMDc5MzQ6OjExOTgzNjo6MTMxODM2OjoxNDM5MzI6Ojo6MTU5OTcyOjoxNjc4Mzg6OjE3NTc1OTo6MTgyOTQwOjoxODkyNjE6OjE5NTI2MDo6MDo6NDM2MTo6ODYzNzo6MTI4NDQ6OjE3MDI2OjoyMTI5Mjo6MjYxODU6OjMxNTE0OjozNzYyOTo6NDQxNDc6OjUwMjk1Ojo6OjYyOTcyOjo2OTE0Mjo6NzU0OTA6OjgxODcxOjo4ODQxMTo6OTI2MzQ6Ojk1MjYzOjo5ODEzNjo6MTAxNDkzOjoxMDQzMzg6OjEwNjI2NDo6MTA4MDg2OjowOjoxMTE4OjoyMTI1OjozMTYzIi8+DQorCQkJCQk8dmFsIG89IjFhOTY0MCIgdj0iMzk3Mjo6NDQyNDo6NTExNzo6NjY3MDo6ODY4Mjo6MTEyNzM6OjE0MDM2OjoxNjgwMDo6MTk1ODU6OjIxNjg3Ii8+DQorCQkJCQk8dmFsIG89IjFjNzQ2MCIgdj0iMTI5NTE6OjEyOTUxOjoxMjk1MTo6MTI5NTE6OjEyOTUxOjoxMjk1MTo6MTI5NTE6OjEyOTUxOjoxMjk1MTo6MTI5NTE6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjIwOTc6OjU2NTg6OjkzMDc6OjEyODM3OjoxNjQzNzo6MjAwNzI6OjI0ODU1OjozMTEyMDo6Mzc4MTM6OjQ0NjM1Ojo1MTUwOTo6NTgyMjQ6OjY0NTE5Ojo3MDQ2MDo6MDo6NDkxMjo6OTc3OTo6MTI0Njg6OjE0Mzc3OjoxNjE5Njo6MTgwOTg6OjIwMzU3OjoyMjkxNjo6MjU1NzI6OjI4MzMzOjozMTA0ODo6MzM2NzM6OjM2MjY4Ii8+DQorCQkJCQk8dmFsIG89IjFmMTc2MCIgdj0iMzg3Njk6OjQxMTk3Ojo0MzYxNzo6NDYyMjI6OjQ5MzA3Ojo1MjY5NDo6NTYyMjk6OjU5NTg2Ojo2Mjc5MDo6NjYxNDc6OjA6OjI1NjM6OjUwMTA6OjczNzc6Ojk1NDc6OjExNjYyOjoxMzk3MDo6MTY3MjI6OjE5ODIwOjoyMzY2ODo6Mjg0NTU6OjM0MDc5OjozOTc5OTo6NDUxNDg6OjUwNTg5Ojo1NjQ0ODo6NjI2NzQ6OjY5MDg0Ojo3NTU4NDo6ODE2Mjk6Ojg3MDA3Ojo5MjE5MDo6OTY2NjQ6OjEwMDk1Mzo6MDo6MzY4Njo6Njk4MTo6MTAxMDk6OjEzMTQ5OjoxNjAzOTo6MTkxNjg6OjIzMTY0OjoyODI2Mzo6MzQyMzg6OjQwNDczOjo0NjU5MDo6NTI4MjE6OjU4ODY4Ii8+DQorCQkJCQk8dmFsIG89IjIxYmE2MCIgdj0iNjQ4MTA6OjcwNjI4Ojo3NzAyNjo6ODMxNjA6Ojg5MDI3Ojo5NDY3Mzo6MTAwMTU1OjoxMDUzODM6OjEwOTY5MTo6MTEzNTU5OjowOjoxOTk2OjozODc2Ojo1OTQ5Ojo3OTQ1Ojo5NjczOjoxMTU4Mzo6MTUxOTc6OjE5MzU1OjoyMzk1OTo6Mjg2ODk6OjMzMjI5OjozNzk4MTo6NDI3NDU6OjQ3NDcwOjo1MjY1Njo6NTgyMjg6OjYzNzY4Ojo2OTM1Mzo6NzQ2MzQ6Ojc5ODcyOjo4NDY5OTo6ODg5NjY6OjkzMDkwOjowOjozMjcyOjo2NTE5Ojo5NjQ2OjoxMjY2NTo6MTU1Mjk6OjE4Nzg1OjoyMjc2Nzo6MjczNjE6OjMzMDI2OjozOTE5Nzo6NDU2MzQ6OjUyMjMxOjo1ODY4OCIvPg0KKwkJCQkJPHZhbCBvPSIyNDZiNzAiIHY9IjcxNjIzOjo3Nzg5Nzo6ODM2NjE6Ojg4OTE5Ojo5NDUwOTo6MTAwMjI2OjoxMDYwMDQ6OjExMTUxNzo6MTE2NDk3OjowOjozNTA0Ojo3MTQ3OjoxMDc2MDo6MTQzNDE6OjE3ODIzOjoyMTU2MTo6MjU4NDU6OjMwMzgxOjozNTgyMTo6NDE1Mjk6OjQ4MDI2Ojo1NzMxMDo6NjQ4OTg6OjcwOTI0Ojo3NzE5NTo6ODMxMzU6Ojg5MTA1Ojo5NDkwMDo6MTAwMzIxOjoxMDU2OTg6OjExMTA1Mzo6MTE1NzI3OjoxMjAzMDk6OjA6OjM2MTA6OjcxMjc6OjEwNzc4OjoxNDQyMTo6MTgwMTU6OjIxNzEyOjoyNTU2NDo6Mjk0NTQ6OjMzNTk4OjozNzk0Njo6NDIxMDA6OjQ2MDU0Ojo0OTgyNDo6NTM1MDAiLz4NCisJCQkJCTx2YWwgbz0iMjcwZTcwIiB2PSI1NzA5OTo6NjEzODU6OjY2MjIxOjo3MTM1Mjo6NzYzODI6OjgxMzY4Ojo4NTgyODo6ODk2Nzc6OjkzMDM2Ii8+DQorCQkJCTwvcGFyPg0KKwkJCQk8cGFyIG1lbWluZD0iMjYyNzMwMDEiIGg9IjNkYzFhN2UwIj4NCisJCQkJCTx2YWwgbz0iMCIgdj0iMDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MCIvPg0KKwkJCQkJPHZhbCBvPSIyYTMwMCIgdj0iMDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6OjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowIi8+DQorCQkJCQk8dmFsIG89IjU1NDEwIiB2PSIwOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowIi8+DQorCQkJCQk8dmFsIG89IjdmNzEwIiB2PSIwOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjoxMDo6NTIxOjoxMDA5OjoxOTE0OjoyMzI5OjoyODA0OjowIi8+DQorCQkJCQk8dmFsIG89ImE5YTEwIiB2PSIxMDcwOjoxMjA1OjoxMjQyOjoxMzYxOjoxODczOjoyNjg4OjoyODg4OjoyOTY4OjozMDEzOjo6OjMwOTM6OjMxNjU6OjMyMjY6OjMyMjY6OjMyMjY6OjMyMjY6OjMyMjY6OjMyMjY6OjMyMjY6OjMyMjY6OjMyMjY6OjMyMjY6OjMyMjY6OjA6OjUwNDo6OTc1OjoxNDIwOjoxNzc2OjoyMzA1OjoyNzk2OjozMjEyOjo0MDAyOjo0MjU0Ojo0MzczOjo0NDk0Ojo0NTQ5Ojo0NzUzOjo0OTUwOjo1MDg3Ojo1NDUzOjo1NDUzOjo1NDUzOjo1NDUzOjo1NDU0Ojo1NDczOjo1NTA5Ojo1NTgxOjowOjo1ODEiLz4NCisJCQkJCTx2YWwgbz0iZDRiMjAiIHY9IjEyMzE6OjE5Mjc6OjI3NjA6OjM5MDI6OjQ4NTM6OjQ4NTM6OjQ4NTM6OjQ4NTM6OjQ4NTM6OjQ4NTM6OjQ4NTM6OjQ4NTM6OjQ4NTM6OjQ4NTM6OjQ4NTM6OjQ4NTM6OjQ4NTM6OjQ4NTM6OjQ4NTM6OjQ4NTM6OjQ4NTM6OjQ4NTM6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjAiLz4NCisJCQkJCTx2YWwgbz0iZmVlMjAiIHY9IjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjAiLz4NCisJCQkJCTx2YWwgbz0iMTI5MTIwIiB2PSIwOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowLjAxNzo6MC4wMzE6OjAuMDQ4OjowLjA2NTo6MC4wODU6OjAuMTA1OjowLjExNDo6MC4xMTY6OjAuMTE2OjowLjExNjo6MC4xMTY6OjAuMTE2OjowLjExNzo6MC4xMjo6MC4xMjM6OjAuMTI4OjowLjEzNTo6MC4xMzU6OjAuMTM1OjowLjEzNTo6MC4xMzU6OjAuMTM1OjowLjEzNjo6MDo6MC4wMTYiLz4NCisJCQkJCTx2YWwgbz0iMTUzNDIwIiB2PSIwLjAzNjo6MC4wNTQ6OjAuMDc0OjowLjA5Njo6MC4xMTk6OjAuMTM3OjowLjE1Mjo6MC4xNjU6OjAuMTc4OjowLjE5OjowLjIwNDo6MC4yMTY6OjAuMjI4OjowLjIzNzo6MC4yNDk6OjAuMjU2OjowLjI1Njo6MC4yNTY6OjAuMjU2OjowLjI1Njo6MC4yNTY6OjAuMjU3OjowOjowLjAxMjo6MC4wMTg6OjAuMDI6OjAuMDIxOjowLjAyNTo6MC4wMzI6OjAuMDM3OjowLjAzNzo6MC4wMzc6OjAuMDM3OjowLjAzNzo6MC4wMzc6OjAuMDM3OjowLjAzNzo6MC4wMzc6OjAuMDM3OjowLjAzNzo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MCIvPg0KKwkJCQkJPHZhbCBvPSIxN2Q3MjAiIHY9IjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6Ojo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6OjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowIi8+DQorCQkJCQk8dmFsIG89IjFhOTY0MCIgdj0iMDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MCIvPg0KKwkJCQkJPHZhbCBvPSIxYzc0NjAiIHY9IjkyMDg6Ojk0OTA6OjEyNTc5OjoxNjYzMzo6MjAxNjQ6OjIzODgyOjoyODMzNDo6MzM3MTM6OjM5MjIwOjo0NDkwOTo6MDo6NjU0Mjo6MTMxODA6OjE5ODU1OjoyNjU5NDo6MzM0MzI6OjQwMjgwOjo0Njc3Nzo6NTI1MjQ6OjU3ODc1Ojo1OTIwNTo6NTkyMDU6OjU5MjA1Ojo1OTIwNTo6NTkyMDU6OjU5MjA1Ojo1OTIwNTo6NTkyMDU6OjU5MjA1Ojo1OTIwNTo6NTkyMDU6OjU5MjA1Ojo1OTIwNTo6NTkyMDU6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjAiLz4NCisJCQkJCTx2YWwgbz0iMWYxNzYwIiB2PSIwOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowIi8+DQorCQkJCQk8dmFsIG89IjIxYmE2MCIgdj0iMDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MCIvPg0KKwkJCQkJPHZhbCBvPSIyNDZiNzAiIHY9IjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjAiLz4NCisJCQkJCTx2YWwgbz0iMjcwZTcwIiB2PSIwOjowOjowOjowOjowOjowOjowOjowOjowIi8+DQorCQkJCTwvcGFyPg0KKwkJCQk8cGFyIG1lbWluZD0iMTMxNDYwMSIgaD0iM2RjMWE3ZTAiPg0KKwkJCQkJPHZhbCBvPSIwIiB2PSIyNzAzNzAiLz4NCisJCQkJPC9wYXI+DQorCQkJCTxwYXIgbWVtaW5kPSIxMzEzODAxIiBoPSIzZGMxYTdlMCI+DQorCQkJCQk8dmFsIG89IjAiIHY9IjMwNjY5MyIvPg0KKwkJCQk8L3Bhcj4NCisJCQkJPHBhciBtZW1pbmQ9IjEzMTM0MDEiIGg9IjNkYzFhN2UwIj4NCisJCQkJCTx2YWwgbz0iMCIgdj0iMTU3NjExMSIvPg0KKwkJCQk8L3Bhcj4NCisJCQkJPHBhciBtZW1pbmQ9IjEzMTMwMDEiIGg9IjNkYzFhN2UwIj4NCisJCQkJCTx2YWwgbz0iMCIgdj0iMTI3MDk4Ii8+DQorCQkJCTwvcGFyPg0KKwkJCQk8cGFyIG1lbWluZD0iNTI1MTQ2MDEiIGg9IjNkYzFhN2UwIj4NCisJCQkJCTx2YWwgbz0iMCIgdj0iMDo6MTMwNTo6Mjg2OTo6NDQ4Mjo6NjA2Njo6NzM5Njo6ODU3Mzo6MTAyNjI6OjExOTIyOjoxMzc3Mzo6MTU0OTI6OjE3NTIyOjoxOTU0NDo6MjE0NTI6OjIyMDcwOjoyMjA3NTo6MjIwODA6OjIyMDg0OjoyMjA4NTo6MjIwOTA6OjIyMDk3OjoyMjEwMzo6MjIxMDk6OjIyMTE2OjoyMjEyMzo6MjIxMjk6OjIyMTM2OjoyMjE0Mzo6MjIxNTA6OjIyMTU2OjoyMjE1ODo6MjIxNjY6OjIyMTczOjoyMjE4MDo6MjIxODY6OjIyMTkzOjoyMjIwMDo6MjIyMDc6OjIyMjE0OjoyMjIyMTo6MjIyMjg6OjIyMjM1OjoyMjIzNTo6MjIyMzY6OjIyMjQxOjoyMjI0NDo6MjIyNDc6OjIyMjU0Ii8+DQorCQkJCQk8dmFsIG89IjJhMzAwIiB2PSIyMjI2MTo6MjIyNjc6OjIyMjY3OjoyMjI2OTo6MjIyNzM6OjIyMjc0OjoyMjI3NDo6MjIyODA6OjIyMjg3OjoyMjI5NDo6MjIzMDE6OjIyMzA4OjoyMjMxNTo6MjIzMjI6OjIyMzI5OjoyMjMzMzo6MjIzMzU6OjIyMzM1OjoyMjMzNTo6MjIzMzY6OjIyMzM4OjoyMjMzOTo6MjIzMzk6OjIyMzQ0OjoyMjM1MTo6MjIzNTg6OjIyMzY1OjoyMjM3Mjo6MjIzNzk6OjIyMzg2OjoyMjM5MTo6MjIzOTU6OjIyNDAyOjo6OjIyNDA0OjoyMjQwNDo6MjI0MDQ6OjIyNDA0OjoyMjQwNDo6MjI0MDQ6OjIyNDA0OjoyMjQwNDo6MjI0MDQ6OjIyNDA0OjoyMjQwNzo6MjI0MTM6OjIyNDE2OjoyMjQyMjo6MjI0MjkiLz4NCisJCQkJCTx2YWwgbz0iNTU0MTAiIHY9IjIyNDM2OjoyMjQ0Mzo6MjI0NTA6OjIyNDU3OjoyMjQ2NDo6MjI0Njg6OjIyNDc1OjoyMjQ3Nzo6MjI0Nzc6OjIyNDc4OjoyMjQ4Mzo6MjI0ODk6OjIyNDk1OjoyMjQ5Nzo6MjI0OTc6OjIyNDk4OjoyMjQ5OTo6MjI0OTk6OjIyNTAwOjoyMjUwNzo6MjI1MTM6OjIyNTIwOjoyMjUyNjo6MjI1MzM6OjIyNTM4OjoyMjU0NTo6MjI1NTI6OjIyNTU5OjoyMjU2NDo6MjI1NjQ6OjIyNTY5OjoyMjU3MTo6MjI1NzI6OjIyNTcyOjoyMjU3Mjo6MjI1NzM6OjIyNTc5OjoyMjU4MDo6MjI1ODA6OjIyNTgwOjoyMjU4MDo6MjI1ODA6OjIyNTgwOjoyMjU4Mzo6MjI1ODU6OjIyNTkwOjoyMjU5Njo6MjI2MDMiLz4NCisJCQkJCTx2YWwgbz0iN2Y3MTAiIHY9IjIyNjEwOjoyMjYxNzo6MjI2MjQ6OjIyNjMyOjoyMjYzOTo6MjI2NDU6OjIyNjUwOjoyMjY1Mzo6MjI2NTM6OjIyNjUzOjoyMjY1NTo6MjI2NjI6OjIyNjY5OjoyMjY3Mjo6MjI2NzU6OjIyNjc3OjoyMjY3ODo6MjI2Nzg6OjIyNjc4OjoyMjY3ODo6MjI2ODI6OjIyNjgzOjoyMjY4Njo6MjI2OTM6OjIyNzAxOjoyMjcwODo6MjI3MTU6OjIyNzIyOjoyMjcyODo6MjI3MzI6OjIyNzM4OjoyMjc0MDo6MjI3NDA6OjIyNzQ0OjoyMjc1MTo6MjI3NTg6OjIyNzY1OjoyMjc3MDo6MjI3NzU6OjIzNTI5OjoyNDM3MDo6MjQ3MzM6OjI0NzM0OjoyNTU1MTo6MjU4NTM6OjI2MzAxOjoyNzEyNjo6Mjg3NDIiLz4NCisJCQkJCTx2YWwgbz0iYTlhMTAiIHY9IjI5MzcyOjoyOTU0MDo6MzAxOTk6OjMxMTI1OjozMTIxODo6MzEyMTk6OjMxNTY0OjozMTU2NDo6MzE1NjQ6Ojo6MzE1NjQ6OjMxNTY0OjozMTU5OTo6MzE2MDc6OjMxNjA3OjozMTc5Mjo6MzE5NjU6OjMyMDEwOjozMjI3NDo6MzMwNDc6OjMzODkwOjozMzg5MDo6MzQxOTM6OjM1MzE2OjozNTQxNzo6MzU0MTg6OjM1NTY5OjozNTkwOTo6MzU5MjE6OjM1OTIxOjozNTkyMTo6MzU5MjE6OjM1OTI4OjozNTkyODo6MzU5Mjg6OjM1OTI4OjozNTkyODo6MzU5Mjg6OjM1OTI4OjozNTk5NTo6MzYwODM6OjM2MDgzOjozNjA4Mzo6MzYwODM6OjM2MDgzOjozNjA4Mzo6MzYyMjY6OjM3NDUwOjozODYwOSIvPg0KKwkJCQkJPHZhbCBvPSJkNGIyMCIgdj0iMzk3NDA6OjQwMTUxOjo0MDUyNzo6NDA1Mjc6OjQwODM2Ojo0MTM1Njo6NDEzNTY6OjQxMzU2Ojo0MTM1Njo6NDEzNTY6OjQxMzU2Ojo0MTM1Njo6NDEzNTY6OjQxMzU2Ojo0MTM1Njo6NDEzNjM6OjQxNDc2Ojo0MjA1MTo6NDI2OTA6OjQyOTQ2Ojo0MzIzMTo6NDM1MjQ6OjQzODY1Ojo0NDQ4ODo6NDQ0ODg6OjQ0NDg4Ojo0NDQ4ODo6NDQ0ODg6OjQ0NTgyOjo0NDY4NTo6NDQ2ODU6OjQ0Njg1Ojo0NDY4NTo6NDQ2ODU6OjQ0Njg1Ojo0NDczNjo6NDQ3MzY6OjQ0NzM2Ojo0NDczNjo6NDQ3MzY6OjQ0NzM2Ojo0NDczNjo6NDQ3MzY6OjQ0NzM2Ojo0NDczNjo6NDQ4OTA6OjQ2MDg5Ojo0NzIxNiIvPg0KKwkJCQkJPHZhbCBvPSJmZWUyMCIgdj0iNDgwNDM6OjQ4MjYyOjo0ODQ2Njo6NDg0NjY6OjQ4NDY2Ojo0ODQ2Njo6NDg0NjY6OjQ4NDY2Ojo0ODQ3MTo6NDg0NzE6OjQ4NDcxOjo0ODQ3MTo6NDg0NzE6OjQ4NDcxOjo0ODQ3MTo6NDg0NzE6OjQ4NDcxOjo0ODQ3MTo6NDg0NzE6OjQ4NDc0Ojo0ODQ5MTo6NDg0OTE6OjQ4ODE2Ojo0ODk4MDo6NDg5ODA6OjQ4OTgwOjo0ODk4MDo6NDg5ODA6OjQ4OTgwOjo0ODk4MDo6NDg5ODA6OjQ5MDIyOjo0OTE0Nzo6NDk1Njk6OjUwMjE4Ojo1MDI1MTo6NTAyNTE6OjUwMjUxOjo1MDI1Mi45MTo6NTAyNTIuOTE6OjUwMjUyLjkxOjo1MDI1Mi45MTo6NTAyNTIuOTE6OjUwMjUyLjk1NDo6NTAyNTMuMTg1Ojo1MDI1My4xOTI6OjUwMjUzLjQ4Nzo6NTAyNTQuNjY3Ii8+DQorCQkJCQk8dmFsIG89IjEyOTEyMCIgdj0iNTAyNTUuOTczOjo1MDI1Ny4zNTY6OjUwMjU4Ljc2NTo6NTAyNTkuMjk2Ojo1MDI1OS4yOTk6OjUwMjU5LjI5OTo6NTAyNTkuMjk5Ojo1MDI1OS4zMzI6OjUwMjU5LjQ1NTo6NTAyNTkuNDU2Ojo1MDI1OS40NTY6OjUwMjU5LjQ1Njo6NTAyNTkuNDU2Ojo1MDI1OS40NTY6OjUwMjU5LjQ1Njo6NTAyNTkuNDU2Ojo1MDI1OS40NTY6OjUwMjU5LjQ1Njo6NTAyNTkuNDU2Ojo1MDI1OS40NTc6OjUwMjU5LjQ1ODo6NTAyNTkuNDU4Ojo1MDI1OS40Njc6OjUwMjU5LjQ2Nzo6NTAyNTkuNDY3Ojo1MDI1OS40Njc6OjUwMjU5LjQ2Nzo6NTAyNTkuNDY3Ojo1MDI1OS40Njc6OjUwMjU5LjQ2Nzo6NTAyNTkuNDY3Ojo1MDI1OS40Njc6OjUwMjU5LjQ2Nzo6NTAyNTkuNDY5Ojo1MDI1OS40ODI6OjUwMjU5LjU6OjUwMjU5LjUwNzo6NTAyNTkuNTEzOjo1MDI1OS41MTY6OjUwMjU5LjUxNzo6NTAyNTkuNTE3Ojo1MDI1OS41MTc6OjUwMjU5LjUxNzo6NTAyNTkuNTE3Ojo1MDI1OS41MTc6OjUwMjU5LjUyMTo6NTAyNTkuNTM1Ojo1MDI1OS41NCIvPg0KKwkJCQkJPHZhbCBvPSIxNTM0MjAiIHY9IjUwMjU5LjU0Ojo1MDI1OS41NDo6NTAyNTkuNTQxOjo1MDI1OS41NDE6OjUwMjU5LjU0MTo6NTAyNTkuNTQxOjo1MDI1OS41NDE6OjUwMjU5LjU0MTo6NTAyNTkuNTQxOjo1MDI1OS41NDE6OjUwMjU5LjU0MTo6NTAyNTkuNTQxOjo1MDI1OS41NDE6OjUwMjU5LjU0MTo6NTAyNTkuNTQxOjo1MDI1OS41NDY6OjUwMjU5LjU0Njo6NTAyNTkuNTQ2Ojo1MDI1OS41NDY6OjUwMjU5LjU0Nzo6NTAyNTkuNTQ3Ojo1MDI1OS41NTI6OjUwMjU5LjU1Nzo6NTAyNTkuNTYxOjo1MDI1OS41Nzc6OjUwMjU5LjU4ODo6NTAyNTkuNjo6NTAyNTkuNjAxOjo1MDI1OS42MDE6OjUwMjU5LjYwMTo6NTAyNTkuNjAxOjo1MDI1OS42MDE6OjUwMjU5LjYwMTo6NTAyNTkuNjAxOjo1MDI1OS42MDQ6OjUwMjU5LjYwODo6NTAyNTkuNjA5Ojo1MDI1OS42MTI6OjUwMjU5LjYxMjo6NTAyNTkuNjEyOjo1MDI1ODo6NTAyNTg6OjUwMjU4Ojo1MDI1ODo6NTA0MzQ6OjUyMTM3Ojo1NDQzMTo6NTY3MzQiLz4NCisJCQkJCTx2YWwgbz0iMTdkNzIwIiB2PSI1OTQ0Nzo6NjIzMjE6OjY1MjU3Ojo2NzIxNzo6Njc4NjA6OjY5MDAwOjo3MDcxMzo6NzIzMDI6OjczMTg5Ojo3NDEwNjo6NzY3NDY6Ojc5NzUwOjo4MjQ0OTo6ODUwNDM6Ojg3MDAzOjo6Ojg3NTEwOjo4ODAwMjo6ODkyOTc6OjkwNTU2Ojo5MjEwMjo6OTQzNDA6Ojk1NDcwOjo5NjQ0OTo6OTgwMTE6Ojk5NzA3OjoxMDE0NjM6OjEwMjI0NDo6MTAyMjg5OjoxMDIzODY6OjEwMzExNTo6MTAzOTgzOjoxMDQwOTE6Ojo6MTA0ODI2OjoxMDU4MDY6OjEwNjMzMDo6MTA2NjYyOjoxMDY4NTk6OjEwNjg1OTo6MTA4MjkwOjoxMTEwMTk6OjExNDQ4Mzo6MTE2NTQ5OjoxMTgwODM6OjEyMTE1NDo6MTI0NTI0OjoxMjcyMDc6OjEzMDI4Mjo6MTMzNjE5Ii8+DQorCQkJCQk8dmFsIG89IjFhOTY0MCIgdj0iMTM2OTYzOjoxMzkzMzU6OjE0MDk1MTo6MTQyNjk4OjoxNDQ5ODg6OjE0NzM3Nzo6MTQ5NDgzOjoxNTE0Mzg6OjE1MzcyNjo6MTU2MzE1Ii8+DQorCQkJCQk8dmFsIG89IjFjNzQ2MCIgdj0iMTc0ODI5OjoxNzQ4OTY6OjE3NDk5Njo6MTc0OTk2OjoxNzU2Mjc6OjE3NjYyODo6MTc3MjAxOjoxNzcyMDE6OjE3NzIwMTo6MTc3NDM5OjoxNzg4NDk6OjE3OTIzODo6MTc5NjI2OjoxODA1MDU6OjE4MTIyNDo6MTgxMjQxOjoxODEyNDE6OjE4MTI3OTo6MTgyMTgzOjoxODI1Mjg6OjE4MjYxOTo6MTgyNzAxOjoxODMxNDQ6OjE4Mzc4MDo6MTg0Njk3OjoxODU0NzU6OjE4NjcwMjo6MTg4MzQyOjoxOTAxNzk6OjE5MjIyNjo6MTk0NDcwOjoxOTY3OTY6OjE5OTAyMDo6MjAxMzE5OjoyMDM1NzE6OjIwNTU1MDo6MjA3NzUxOjoyMDgzODk6OjIwODg3Mzo6MjA5MTg0OjoyMDkzNzM6OjIwOTY0Njo6MjEwMzU4OjoyMTA3NDQ6OjIxMTA2MTo6MjExMjQwOjoyMTE0Mzk6OjIxMTc1NiIvPg0KKwkJCQkJPHZhbCBvPSIxZjE3NjAiIHY9IjIxMTg0Mzo6MjExODQzOjoyMTE4NDM6OjIxMTg0Mzo6MjExODQzOjoyMTE4NTI6OjIxMTk5ODo6MjEyMzM5OjoyMTI4MzM6OjIxNDk1MTo6MjE3MDc3OjoyMTgwNDU6OjIxOTMwOTo6MjIwMzAyOjoyMjA2NjI6OjIyMDc4Njo6MjIwODE5OjoyMjEyNjk6OjIyMTQ1MTo6MjIxNDU4OjoyMjE0NTg6OjIyMTQ1ODo6MjIxNDU4OjoyMjE0NTg6OjIyMTQ1ODo6MjIxNTQ3OjoyMjE4OTU6OjIyMjE4OTo6MjIyNjExOjoyMjM0NzE6OjIyMzgxODo6MjI0NDcyOjoyMjQ0NzM6OjIyNTA2Njo6MjI2MDU0OjoyMjc1MzM6OjIyODQ2MTo6MjI4OTYyOjoyMjkzOTY6OjIyOTQwMTo6MjI5NDAxOjoyMjk1Nzc6OjIzMDU3Njo6MjMwNzU4OjoyMzExNTk6OjIzMTQ1NDo6MjMyNTY2OjoyMzI1NjYiLz4NCisJCQkJCTx2YWwgbz0iMjFiYTYwIiB2PSIyMzI1NjY6OjIzMjU2Njo6MjMzNjA5OjoyMzQxMDE6OjIzNDEwMTo6MjM0MTM5OjoyMzQ4MzY6OjIzNTQ5Mjo6MjM1NDkyOjoyMzYwODk6OjIzNzIwODo6MjM3NDY3OjoyMzc0Njc6OjIzNzQ2Nzo6MjM3NDY3OjoyMzc0Njc6OjIzNzUxMTo6MjM3NzQ5OjoyMzgzMDY6OjIzODMzMTo6MjM4MzMxOjoyMzgzMzE6OjIzODMzMTo6MjM4NjA2OjoyMzg2Mzc6OjIzOTI2MDo6MjM5ODQ2OjoyMzk4NDY6OjIzOTg0Njo6MjM5ODQ2OjoyMzk4NDc6OjIzOTk4ODo6MjM5OTg4OjoyMzk5ODg6OjI0MDIwMDo6MjQwNDExOjoyNDA5MTY6OjI0MTE5Mzo6MjQxMTk0OjoyNDExOTQ6OjI0MTE5NDo6MjQxMjYwOjoyNDEyNjI6OjI0MTI2Mjo6MjQxMjYyOjoyNDEyNjI6OjI0MTMyNTo6MjQxODQyIi8+DQorCQkJCQk8dmFsIG89IjI0NmI3MCIgdj0iMjQzNDgyOjoyNDQxNTQ6OjI0NDE2NDo6MjQ0MTY0OjoyNDQxNjQ6OjI0NDQ5OTo6MjQ1Nzg4OjoyNDcyMDA6OjI0ODE1Nzo6MjQ4ODY2OjoyNDkzNTg6OjI1MDQzNjo6MjUxNTQ5OjoyNTI0NTI6OjI1MjQ4Mjo6MjUyNDg0OjoyNTI1MjY6OjI1MjUyNjo6MjUyNTI2OjoyNTI1MjY6OjI1Mjg0MDo6MjU1NjM0OjoyNTc1MTE6OjI1NzU4NDo6MjU3NTg1OjoyNTc1ODU6OjI1NzU4NTo6MjU3NTg1OjoyNTc1ODU6OjI1NzU4NTo6MjU3NzY2OjoyNTc3NjY6OjI1ODA3Mzo6MjU4NjI4OjoyNTkxMzA6OjI2MDQ1NDo6MjYyMzUwOjoyNjQzODc6OjI2NTg2NTo6MjY2Nzg3OjoyNjY4NTQ6OjI2Njg1NDo6MjY2ODU0OjoyNjY4NTQ6OjI2Njg1NDo6MjY2ODU0OjoyNjY4NTQ6OjI2Njg1NCIvPg0KKwkJCQkJPHZhbCBvPSIyNzBlNzAiIHY9IjI2Njg1NDo6MjY2ODY4OjoyNjcxMzI6OjI2NzYwOTo6MjY4MDk1OjoyNjg5MzY6OjI2OTI5NDo6MjY5Mjk0OjoyNjkzNjciLz4NCisJCQkJPC9wYXI+DQorCQkJCTxwYXIgbWVtaW5kPSI1MjUxMzgwMSIgaD0iM2RjMWE3ZTAiPg0KKwkJCQkJPHZhbCBvPSIwIiB2PSIwOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowIi8+DQorCQkJCQk8dmFsIG89IjJhMzAwIiB2PSIwOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjowOjo6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjAiLz4NCisJCQkJCTx2YWwgbz0iNTU0MTAiIHY9IjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjAiLz4NCisJCQkJCTx2YWwgbz0iN2Y3MTAiIHY9IjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjY4MDo6MTc1Mzo6MjQzNjo6MjQzOTo6MjQ3MTo6MjQ3Mjo6MjQ3Mjo6MjQ3MiIvPg0KKwkJCQkJPHZhbCBvPSJhOWExMCIgdj0iMjc0NTo6Mjc3Njo6Mjc3Njo6Mjc3Njo6Mjg2NDo6MzkzOTo6NDQzNDo6NTIwNzo6Njk4Mzo6OjoxNDU4Nzo6MTg4MDk6OjIwNzI0OjoyMDkyNDo6MjE1MjM6OjIzMTk2OjoyMzU4Nzo6MjQwODQ6OjI0MDg4OjoyNDA4ODo6MjQxMTk6OjI0OTMzOjoyNDk3ODo6MjQ5Nzg6OjI2NDA2OjoyNjc2NDo6MjY3OTk6OjI2Nzk5OjoyNzA3OTo6MjgwOTQ6OjI5NTg0OjozMDY3ODo6MzEyNDI6OjMyMjExOjozMzMwMTo6MzQxODE6OjM0Njg1OjozNTA4ODo6MzU1NDY6OjM2ODA2OjozNzMzNjo6Mzk3OTg6OjQyMzk2Ojo0NTE2Njo6NDc2MDg6OjQ5NDQ3Ojo1MDEzOTo6NTAxMzk6OjUwMTU1Ii8+DQorCQkJCQk8dmFsIG89ImQ0YjIwIiB2PSI1MDE1NTo6NTAxNTY6OjUwMTU4Ojo1MDkwMTo6NTI0NTc6OjUyNDg2Ojo1MzE3MTo6NTUxNTE6OjU3ODIxOjo2MDg2MDo6NjM2MzI6OjY0MjIwOjo2NDY4Mjo6NjQ5Mjk6OjY1MTY5Ojo2NTY5Mjo6NjYzMjQ6OjY2MzI0Ojo2NjQ2OTo6NjY0OTI6OjY2NTM1Ojo2NjU2NTo6NjY1NjU6OjY3ODIwOjo2OTA4Nzo6Njk4Njk6OjcwNzgwOjo3Mjc1NTo6NzUxMDc6Ojc1NDQ5Ojo3NjI3OTo6Nzc0NzM6Ojc5MDEzOjo4MDE3MTo6ODA5NzM6OjgxNDk0Ojo4MzQyMTo6ODQ4ODk6Ojg2NTgyOjo4ODg3Mjo6OTA1MTg6OjkyMDc3Ojo5MzI2Njo6OTQ0MjQ6Ojk2MDc5Ojo5NjU3OTo6OTY1Nzk6Ojk2NTc5Ii8+DQorCQkJCQk8dmFsIG89ImZlZTIwIiB2PSI5NjU5NDo6OTY1OTQ6Ojk2NTk2Ojo5NzQyODo6OTkwOTI6OjEwMDY5NDo6MTAyMTM2OjoxMDM2NTE6OjEwNDU0Nzo6MTA2MDA0OjoxMDczOTI6OjEwODMwMjo6MTA5NDEwOjoxMTA1MzA6OjExMTYxMzo6MTEzNjc2OjoxMTYwMDU6OjExNzI1MTo6MTE3NzExOjoxMTg0MDk6OjExOTE4ODo6MTIwMDI0OjoxMjAwOTM6OjEyMTExODo6MTIxNjAyOjoxMjE4ODA6OjEyMjA3OTo6MTIzMDQ0OjoxMjQ5OTQ6OjEyNjY4Mzo6MTI4MTQ4OjoxMjg5NDU6OjEyOTAyNTo6MTI5MDI1OjoxMjkwMjU6OjEyOTU5Nzo6MTMwNDc1OjoxMzEyOTU6OjEzMTc2NC4zMDM6OjEzMTc2NS41ODg6OjEzMTc2Ni4zNzU6OjEzMTc2OC4xMTo6MTMxNzY5LjE5ODo6MTMxNzY5LjQ5OjoxMzE3NjkuNzYxOjoxMzE3NzAuMjE5OjoxMzE3NzAuMjM2OjoxMzE3NzAuMjM2Ii8+DQorCQkJCQk8dmFsIG89IjEyOTEyMCIgdj0iMTMxNzcwLjIzNjo6MTMxNzcwLjIzNjo6MTMxNzcwLjIzNjo6MTMxNzcwLjIzNjo6MTMxNzcwLjg2ODo6MTMxNzcxLjgwNjo6MTMxNzczLjAyMzo6MTMxNzc0LjYyNTo6MTMxNzc1LjU4OTo6MTMxNzc2LjkxMjo6MTMxNzc4LjA2Mjo6MTMxNzc4LjcwOTo6MTMxNzc5LjI5NTo6MTMxNzc5LjMwNjo6MTMxNzc5LjMxOTo6MTMxNzc5LjM0OTo6MTMxNzc5LjM4Njo6MTMxNzc5LjQyMzo6MTMxNzc5LjQ1ODo6MTMxNzc5LjQ5OjoxMzE3NzkuNDk5OjoxMzE3NzkuNTAzOjoxMzE3NzkuNTA5OjoxMzE3NzkuNTY0OjoxMzE3NzkuNTg3OjoxMzE3NzkuNjA0OjoxMzE3NzkuNjIzOjoxMzE3NzkuNjU5OjoxMzE3NzkuNzA5OjoxMzE3NzkuNzM4OjoxMzE3NzkuNzQ0OjoxMzE3NzkuNzUyOjoxMzE3NzkuNzU1OjoxMzE3NzkuNzU1OjoxMzE3NzkuNzU1OjoxMzE3NzkuNzU1OjoxMzE3NzkuNzU1OjoxMzE3NzkuNzU1OjoxMzE3NzkuNzU2OjoxMzE3NzkuNzg2OjoxMzE3NzkuODE5OjoxMzE3NzkuODU4OjoxMzE3NzkuODkzOjoxMzE3NzkuOTE4OjoxMzE3NzkuOTI2OjoxMzE3NzkuOTI2OjoxMzE3NzkuOTI2OjoxMzE3NzkuOTQ5Ii8+DQorCQkJCQk8dmFsIG89IjE1MzQyMCIgdj0iMTMxNzc5Ljk1ODo6MTMxNzc5Ljk1OTo6MTMxNzc5Ljk2OjoxMzE3NzkuOTcyOjoxMzE3ODAuMDAzOjoxMzE3ODAuMDI3OjoxMzE3ODAuMDQ5OjoxMzE3ODAuMDg5OjoxMzE3ODAuMTI1OjoxMzE3ODAuMTU1OjoxMzE3ODAuMTc5OjoxMzE3ODAuMTg0OjoxMzE3ODAuMTkxOjoxMzE3ODAuMjAyOjoxMzE3ODAuMjIyOjoxMzE3ODAuMjQzOjoxMzE3ODAuMjUxOjoxMzE3ODAuMjU4OjoxMzE3ODAuMjYxOjoxMzE3ODAuMjc3OjoxMzE3ODAuMjg1OjoxMzE3ODAuMjg1OjoxMzE3ODAuMjg4OjoxMzE3ODAuMjg4OjoxMzE3ODAuMjg4OjoxMzE3ODAuMjg4OjoxMzE3ODAuMjg4OjoxMzE3ODAuMjg5OjoxMzE3ODAuMzAzOjoxMzE3ODAuMzQ6OjEzMTc4MC4zNTo6MTMxNzgwLjM1Njo6MTMxNzgwLjM2ODo6MTMxNzgwLjM4MTo6MTMxNzgwLjM4NDo6MTMxNzgwLjM4NDo6MTMxNzgwLjM4Njo6MTMxNzgwLjM5ODo6MTMxNzgwLjQxNTo6MTMxNzgwLjQ1MTo6MTMzMjA1OjoxMzUzNDM6OjEzNjg2Njo6MTM3ODYxOjoxMzgyNzI6OjEzODI3Mjo6MTM4MjcyOjoxMzgyNzIiLz4NCisJCQkJCTx2YWwgbz0iMTdkNzIwIiB2PSIxMzgyNzI6OjEzODI3Mjo6MTM4MjcyOjoxMzgyNzI6OjEzODI3NTo6MTM4Mjc3OjoxMzgyOTA6OjEzODI5MDo6MTM4MjkwOjoxMzgyOTA6OjEzODM1NTo6MTM4MzU1OjoxMzgzNTU6OjEzODM1NTo6MTM4MzU1Ojo6OjE0MTA4ODo6MTQxNDkzOjoxNDE0OTM6OjE0MTQ5Mzo6MTQxNDkzOjoxNDE0OTM6OjE0MTQ5Mzo6MTQxNDkzOjoxNDE0OTM6OjE0MTQ5Mzo6MTQxNDkzOjoxNDE0OTM6OjE0MTk5Nzo6MTQzNjE4OjoxNDM2MTg6OjE0MzYyOTo6MTQzNjgxOjo6OjE0MzcxNDo6MTQzNzE0OjoxNDM3MTQ6OjE0MzcxNDo6MTQzNzI1OjoxNDQzNTE6OjE0NDM2Mjo6MTQ0MzYyOjoxNDQzNjI6OjE0NDM2Mjo6MTQ0MzYyOjoxNDQzNjI6OjE0NDM2Mjo6MTQ0MzYyOjoxNDQzNjI6OjE0NDM2MiIvPg0KKwkJCQkJPHZhbCBvPSIxYTk2NDAiIHY9IjE0NDM2Mjo6MTQ0MzYyOjoxNDQzNjI6OjE0NDM2Mjo6MTQ0MzY4OjoxNDQzNjg6OjE0NDM2ODo6MTQ0MzY4OjoxNDQzNjg6OjE0NDM2OCIvPg0KKwkJCQkJPHZhbCBvPSIxYzc0NjAiIHY9IjE2MjcwNzo6MTYyNzg2OjoxNjMxMDc6OjE2NTAzNTo6MTY1MDYyOjoxNjUwNjI6OjE2NjQ4MTo6MTY4OTU2OjoxNzEwNzI6OjE3MTM5MTo6MTcxMzkxOjoxNzE2MzQ6OjE3MTYzNDo6MTcxNjM0OjoxNzE2MzQ6OjE3MTg2NTo6MTczMDA2OjoxNzQxNzU6OjE3NDE3NTo6MTc0MTc3OjoxNzQ0MzU6OjE3NDQzODo6MTc0NDM4OjoxNzQ0Mzk6OjE3NDQzOTo6MTc0NDM5OjoxNzQ0Mzk6OjE3NDQzOTo6MTc0NDM5OjoxNzQ0Mzk6OjE3NDQzOTo6MTc0NDM5OjoxNzQ0Mzk6OjE3NDQzOTo6MTc0NDM5OjoxNzQ0Mzk6OjE3NDQzOTo6MTc0NTQwOjoxNzQ1NDA6OjE3NDU0MDo6MTc0NTk0OjoxNzQ1OTQ6OjE3NDU5NDo6MTc0NTk0OjoxNzQ1OTQ6OjE3NDU5ODo6MTc0NTk4OjoxNzQ1OTgiLz4NCisJCQkJCTx2YWwgbz0iMWYxNzYwIiB2PSIxNzQ3NDI6OjE3NTEyOTo6MTc1NzA2OjoxNzc3MzE6OjE3OTgwMzo6MTgwNDA1OjoxODA0MDU6OjE4MDY0Njo6MTgwNzA0OjoxODA3MDQ6OjE4MDcwNDo6MTgwNzcxOjoxODA3ODI6OjE4MDc4Mjo6MTgwNzgyOjoxODA4MDE6OjE4MDk4Mzo6MTgxOTYxOjoxODI4NzM6OjE4NDA4Njo6MTg2MzMyOjoxODgzOTY6OjE4OTg0ODo6MTkwNTA0OjoxOTIxMTQ6OjE5Mzg5Nzo6MTk0NDc0OjoxOTUyMDQ6OjE5NTIwNjo6MTk1MjMwOjoxOTUyMzI6OjE5NTM5Nzo6MTk2MDQxOjoxOTYwNDY6OjE5NjA0Njo6MTk2MDQ2OjoxOTYxNzU6OjE5NjE3NTo6MTk2MTc1OjoxOTY2Nzg6OjE5ODAwNzo6MTk4ODgxOjoxOTg4OTU6OjE5OTA0Mzo6MTk5NDk0OjoxOTk0OTQ6OjE5OTQ5NDo6MjAwMDU4Ii8+DQorCQkJCQk8dmFsIG89IjIxYmE2MCIgdj0iMjAxMzUzOjoyMDI4NTE6OjIwMzIzNzo6MjAzMzUzOjoyMDM4MjU6OjIwNDE2Nzo6MjA0MTY3OjoyMDQyODY6OjIwNTc3ODo6MjA1ODMzOjoyMDU4MzM6OjIwOTAzNjo6MjEwOTcwOjoyMTE0MjY6OjIxMjEzODo6MjE0NDEwOjoyMTgxNTY6OjIxODM5NTo6MjE4Mzk1OjoyMTk3OTU6OjIyMjM2ODo6MjI1OTYzOjoyMjg2NzY6OjIyODY5ODo6MjI4OTQxOjoyMjkwODI6OjIyOTA4Mjo6MjMwODIyOjoyMzIyMzc6OjIzMzQyNTo6MjMzOTEwOjoyMzUwOTg6OjIzNzI3Mzo6MjM4MTYwOjoyMzgyNTk6OjIzODQzMTo6MjM4NDMxOjoyMzg0NjA6OjIzODYwNDo6MjM5NzM1OjoyNDA2ODU6OjI0MTY0ODo6MjQyNDA2OjoyNDQxMzc6OjI0NzQ3MTo6MjUwNTUxOjoyNTM0MDQ6OjI1MzQwNCIvPg0KKwkJCQkJPHZhbCBvPSIyNDZiNzAiIHY9IjI1MzQwNDo6MjUzNDA0OjoyNTU1Mjc6OjI2MDEyNDo6MjYxNDkyOjoyNjE2MDY6OjI2MTYwNjo6MjYxNjA2OjoyNjE2MDY6OjI2MTYwNjo6MjYxNjkyOjoyNjE2OTI6OjI2MTY5Mjo6MjYxNjkyOjoyNjE3OTQ6OjI2MjMxNTo6MjYyOTM5OjoyNjQxMTg6OjI2NTkyMTo6MjY5MjAwOjoyNzIwNDE6OjI3MjA0MTo6MjcyMDQ5OjoyNzIyMjk6OjI3MjQxNzo6MjcyOTAwOjoyNzM5MDk6OjI3NjQ2Njo6Mjc5MDg0OjoyODExNzM6OjI4MTM0OTo6MjgyNjQyOjoyODI4NDE6OjI4MzE4NTo6MjgzMTk4OjoyODMxOTg6OjI4MzE5ODo6MjgzMTk4OjoyODMxOTg6OjI4MzE5ODo6MjgzNDAyOjoyODQxMTQ6OjI4NTI0NDo6Mjg2ODg2OjoyODg4ODQ6OjI5MTk2ODo6Mjk0ODg0OjoyOTc4NDkiLz4NCisJCQkJCTx2YWwgbz0iMjcwZTcwIiB2PSIzMDA5NTQ6OjMwMTczMzo6MzAyMzQxOjozMDIzNDE6OjMwMjM0MTo6MzAyMzQxOjozMDM5MTU6OjMwNjIwMTo6MzA2NjkzIi8+DQorCQkJCTwvcGFyPg0KKwkJCQk8cGFyIG1lbWluZD0iNTI1MTM0MDEiIGg9IjNkYzFhN2UwIj4NCisJCQkJCTx2YWwgbz0iMCIgdj0iMDo6NDE3Nzo6ODM0ODo6MTI0MjE6OjE2NDY2OjoyMDM4OTo6MjQ1NTA6OjI5NjM4OjozNTM5MDo6NDIzMjk6OjQ5NjA4Ojo1Njk4Mjo6NjQxMTk6OjcwODE5Ojo3MjgyNDo6NzI4MzE6OjcyODM4Ojo3Mjg0NTo6NzI4NTE6OjcyODU5Ojo3Mjg2Njo6NzI4NzM6OjcyODgxOjo3Mjg4OTo6NzI4OTg6OjcyOTA2Ojo3MjkxNDo6NzI5MjI6OjcyOTMxOjo3MjkzODo6NzI5NDY6OjcyOTU1Ojo3Mjk2Mzo6NzI5NzI6OjcyOTc5Ojo3Mjk4Nzo6NzI5OTU6OjczMDA0Ojo3MzAxMjo6NzMwMjE6OjczMDI5Ojo3MzAzNzo6NzMwNDU6OjczMDUyOjo3MzA2MDo6NzMwNjc6OjczMDc0Ojo3MzA4MyIvPg0KKwkJCQkJPHZhbCBvPSIyYTMwMCIgdj0iNzMwOTI6OjczMTAwOjo3MzEwODo6NzMxMTY6OjczMTI0Ojo3MzEzMTo6NzMxMzk6OjczMTQ3Ojo3MzE1NTo6NzMxNjQ6OjczMTcyOjo3MzE4MDo6NzMxODk6OjczMTk3Ojo3MzIwNTo6NzMyMTM6OjczMjIxOjo3MzIyODo6NzMyMzU6OjczMjQyOjo3MzI1MDo6NzMyNTg6OjczMjY1Ojo3MzI3Mzo6NzMyODE6OjczMjkwOjo3MzI5ODo6NzMzMDc6OjczMzE2Ojo3MzMyNDo6NzMzMzM6OjczMzQxOjo3MzM0OTo6Ojo3MzM2Mjo6NzMzNjg6OjczMzc0Ojo3MzM4MTo6NzMzODc6OjczMzk0Ojo3MzQwMDo6NzM0MDc6OjczNDE0Ojo3MzQyMTo6NzM0Mjg6OjczNDM2Ojo3MzQ0Mzo6NzM0NTE6OjczNDU5Ii8+DQorCQkJCQk8dmFsIG89IjU1NDEwIiB2PSI3MzQ2Nzo6NzM0NzY6OjczNDg0Ojo3MzQ5Mjo6NzM1MDE6OjczNTA4Ojo3MzUxNjo6NzM1MjM6OjczNTI5Ojo3MzUzNjo6NzM1NDM6OjczNTUwOjo3MzU1Nzo6NzM1NjQ6OjczNTcxOjo3MzU3ODo6NzM1ODU6OjczNTkyOjo3MzU5OTo6NzM2MDc6OjczNjE0Ojo3MzYyMjo6NzM2MzA6OjczNjM5Ojo3MzY0Nzo6NzM2NTU6OjczNjYzOjo3MzY3Mjo6NzM2ODA6OjczNjg3Ojo3MzY5NDo6NzM3MDI6OjczNzA5Ojo3MzcxNTo6NzM3MjE6OjczNzI4Ojo3MzczNTo6NzM3NDI6OjczNzQ4Ojo3Mzc1NTo6NzM3NjI6OjczNzY5Ojo3Mzc3Njo6NzM3ODM6OjczNzkxOjo3Mzc5ODo6NzM4MDY6OjczODE0Ii8+DQorCQkJCQk8dmFsIG89IjdmNzEwIiB2PSI3MzgyMzo6NzM4MzE6OjczODQwOjo3Mzg0OTo6NzM4NTg6OjczODY2Ojo3Mzg3NDo6NzM4ODE6OjczODg4Ojo3Mzg5NTo6NzM5MDI6OjczOTA5Ojo3MzkxNzo6NzM5MjQ6OjczOTMxOjo3MzkzODo6NzM5NDU6OjczOTUyOjo3Mzk1OTo6NzM5NjY6OjczOTczOjo3Mzk4MDo6NzM5ODg6OjczOTk2Ojo3NDAwNTo6NzQwMTQ6Ojc0MDIyOjo3NDAzMTo6NzQwMzk6Ojc0MDQ3Ojo3NDA1NTo6NzQwNjI6Ojc0MDY5Ojo3NDA3Njo6NzQwODQ6Ojc0MDkxOjo3NDA5ODo6NzQxMDU6Ojc0MTEyOjo3NjU5Mzo6ODE5MTI6Ojg0MjkzOjo4NDQzODo6ODQ0Mzg6Ojg0NDM4Ojo4NDQzOTo6ODQ0NDA6Ojg0NDQwIi8+DQorCQkJCQk8dmFsIG89ImE5YTEwIiB2PSI4NDQ0Mjo6ODQ0NDU6Ojg0NDUwOjo4NDQ1MDo6ODQ0NTA6Ojg0NDUwOjo4NDUxMDo6ODQ2MjI6Ojg0Njc3Ojo6Ojg0NzY4Ojo4NDkwMjo6ODUxNjE6Ojg1ODM0Ojo4NjY1Njo6ODc1MDA6Ojg5MDM0Ojo5MDc4Mzo6OTI0ODI6Ojk0Mzg2Ojo5NjAwMzo6OTY3NTY6Ojk3NjA4Ojo5ODUyMDo6OTg1Njg6Ojk4NTY4Ojo5ODU2ODo6OTg1Njg6Ojk4NTY4Ojo5ODU2ODo6OTg1Njk6Ojk4NTY5Ojo5ODU3MDo6OTg1ODE6Ojk4NjA5Ojo5ODY0OTo6OTg2NTY6Ojk4NjU3Ojo5ODY2NDo6OTg3MDQ6Ojk5MDU5Ojo5OTI5MTo6OTk1MjI6Ojk5Njc5Ojo5OTczMDo6OTk3NTI6Ojk5Nzg2Ojo5OTg4Mjo6OTk4ODIiLz4NCisJCQkJCTx2YWwgbz0iZDRiMjAiIHY9Ijk5ODgyOjo5OTg4Mjo6OTk4ODI6Ojk5ODgyOjo5OTk0MDo6MTAwMzQ2OjoxMDEwOTY6OjEwMjc0OTo6MTA1MDc4OjoxMDc1Mjc6OjExMDA3Mjo6MTEyOTkxOjoxMTU3ODY6OjExODY1Njo6MTIxNDQxOjoxMjQyMjg6OjEyODE1NDo6MTMyMTQ5OjoxMzU4OTU6OjEzOTI0Mzo6MTQyMjM1OjoxNDQ2NjU6OjE0NjU1MDo6MTQ3NzY2OjoxNDg0MzA6OjE0OTEzMjo6MTQ5NzgzOjoxNTAyODE6OjE1MTE3ODo6MTUzMzk2OjoxNTU5Nzc6OjE1OTc2NDo6MTY0MDExOjoxNjgzNjM6OjE3Mjk1OTo6MTc3NDI5OjoxODE4OTc6OjE4NjYxMjo6MTkxMzI4OjoxOTU2OTc6OjIwMDA1NDo6MjA0MTI3OjoyMDc5ODE6OjIxMTUyMDo6MjE0NTgxOjoyMTc3MDU6OjIyMDY4Mjo6MjIzMjI0Ii8+DQorCQkJCQk8dmFsIG89ImZlZTIwIiB2PSIyMjU0NDA6OjIyNzQzMTo6MjI5Mzg5OjoyMzExMjg6OjIzMjk3OTo6MjM1NTAxOjoyMzg3MDU6OjI0Mjg3Nzo6MjQ1Mzk1OjoyNDk4OTQ6OjI1NDQ4NDo6MjU4Njg1OjoyNjI4ODQ6OjI2NzA1OTo6MjcxMzY1OjoyNzU3NDc6OjI4MDA3Mjo6Mjg0MzcxOjoyODg2NTY6OjI5MjU2Nzo6Mjk2MDYyOjoyOTg5NTg6OjMwMTY3ODo6MzAzNjQzOjozMDU0NjQ6OjMwNzI2ODo6MzA5MDg3OjozMTA3MjE6OjMxMjQxNDo6MzE0ODIzOjozMTc5MzM6OjMyMjE1Mzo6MzI2ODg5OjozMzE1Nzc6OjMzNjY2ODo6MzQwOTQ0OjozNDUyMjc6OjM0OTMzODo6MTUxOTc4LjY5Nzo6MTUxOTgyLjYxNDo6MTUxOTg2LjYxOjoxNTE5OTAuMjA3OjoxNTE5OTMuNjY1OjoxNTE5OTYuOTQzOjoxNTE5OTkuODk3OjoxNTIwMDIuMTU4OjoxNTIwMDQuMjA3OjoxNTIwMDYuMTk0Ii8+DQorCQkJCQk8dmFsIG89IjEyOTEyMCIgdj0iMTUyMDA3Ljk1NDo6MTUyMDA5LjYzNTo6MTUyMDExLjMyNDo6MTUyMDEyLjg1Nzo6MTUyMDE0LjQzMzo6MTUyMDE2LjU4Njo6MTUyMDE5LjE4MTo6MTUyMDIyLjM2NTo6MTUyMDI1LjcyODo6MTUyMDI4LjI4ODo6MTUyMDMwLjk5ODo6MTUyMDM0LjA4MTo6MTUyMDM2LjI0Nzo6MTUyMDM2LjI4NDo6MTUyMDM2LjMwMjo6MTUyMDM2LjMxOTo6MTUyMDM2LjM0MTo6MTUyMDM2LjM1OTo6MTUyMDM2LjM3Mjo6MTUyMDM2LjM4Mzo6MTUyMDM2LjM5OjoxNTIwMzYuMzkzOjoxNTIwMzYuMzk4OjoxNTIwMzYuMzk4OjoxNTIwMzYuMzk4OjoxNTIwMzYuMzk4OjoxNTIwMzYuMzk4OjoxNTIwMzYuMzk4OjoxNTIwMzYuMzk4OjoxNTIwMzYuMzk4OjoxNTIwMzYuMzk4OjoxNTIwMzYuMzk5OjoxNTIwMzYuNDA0OjoxNTIwMzYuNDA3OjoxNTIwMzYuNDEyOjoxNTIwMzYuNDE0OjoxNTIwMzYuNDE0OjoxNTIwMzYuNDE0OjoxNTIwMzYuNDE0OjoxNTIwMzYuNDE3OjoxNTIwMzYuNDIyOjoxNTIwMzYuNDI1OjoxNTIwMzYuNDI4OjoxNTIwMzYuNDMyOjoxNTIwMzYuNDM1OjoxNTIwMzYuNDM3OjoxNTIwMzYuNDM3OjoxNTIwMzYuNDM3Ii8+DQorCQkJCQk8dmFsIG89IjE1MzQyMCIgdj0iMTUyMDM2LjQzNzo6MTUyMDM2LjQzNzo6MTUyMDM2LjQzNzo6MTUyMDM2LjQzNzo6MTUyMDM2LjQzNzo6MTUyMDM2LjQzNzo6MTUyMDM2LjQzNzo6MTUyMDM2LjQzNzo6MTUyMDM2LjQzNzo6MTUyMDM2LjQzNzo6MTUyMDM2LjQzNzo6MTUyMDM2LjQzNzo6MTUyMDM2LjQzNzo6MTUyMDM2LjQzNzo6MTUyMDM2LjQzNzo6MTUyMDM2LjQ0MTo6MTUyMDM2LjQ1OjoxNTIwMzYuNDY6OjE1MjAzNi40NzI6OjE1MjAzNi40NzY6OjE1MjAzNi40Nzg6OjE1MjAzNi40Nzg6OjE1MjAzNi40Nzg6OjE1MjAzNi40Nzg6OjE1MjAzNi40Nzg6OjE1MjAzNi40Nzg6OjE1MjAzNi40Nzg6OjE1MjAzNi40Nzg6OjE1MjAzNi40Nzg6OjE1MjAzNi40Nzg6OjE1MjAzNi40ODk6OjE1MjAzNi41NDM6OjE1MjAzNi42NjM6OjE1MjAzNi43Nzg6OjE1MjAzNi44ODM6OjE1MjAzNi45NzE6OjE1MjAzNy4wNjY6OjE1MjAzNy4xNjQ6OjE1MjAzNy4yNTc6OjE1MjAzNy4zNjE6OjM1NjY4NTo6MzYzNDA1OjozNzA0MjA6OjM3NzU3NTo6Mzg0MTM0OjozOTAyMjU6OjM5NjA2NDo6NDAxNjk2Ii8+DQorCQkJCQk8dmFsIG89IjE3ZDcyMCIgdj0iNDA3MTk4Ojo0MTI2NDQ6OjQxNzg4Mzo6NDIyOTk4Ojo0Mjg1MTM6OjQzNTA3NTo6NDQyMjI5Ojo0NTMzOTU6OjQ2NjYwMTo6NDc5NjU4Ojo0OTIxNzc6OjUwNDAwMDo6NTE1OTAxOjo1Mjc5MDE6OjUzOTk5Nzo6Ojo1NTYwMzY6OjU2MzkwMzo6NTcxODIzOjo1NzkwMDU6OjU4NTMyNjo6NTkxMzI1Ojo1OTYzNTQ6OjYwMDcxNTo6NjA0OTkyOjo2MDkxOTk6OjYxMzM4MTo6NjE3NjQ2Ojo2MjI1Mzk6OjYyNzg2ODo6NjMzOTgzOjo2NDA1MDI6OjY0NjY1MDo6Ojo2NTkzMjg6OjY2NTQ5ODo6NjcxODQ1Ojo2NzgyMjc6OjY4NDc2Njo6Njg4OTkwOjo2OTE2MTk6OjY5NDQ5Mjo6Njk3ODQ5Ojo3MDA2OTQ6OjcwMjYyMDo6NzA0NDQyOjo3MDU1NzI6OjcwNjY5MTo6NzA3Njk3Ojo3MDg3MzYiLz4NCisJCQkJCTx2YWwgbz0iMWE5NjQwIiB2PSI3MDk1NDU6OjcwOTk5Nzo6NzEwNjkwOjo3MTIyNDM6OjcxNDI1NTo6NzE2ODQ3Ojo3MTk2MDk6OjcyMjM3Mzo6NzI1MTU4Ojo3MjcyNjEiLz4NCisJCQkJCTx2YWwgbz0iMWM3NDYwIiB2PSI3NzA5ODg6Ojc3MDk4ODo6NzcwOTg4Ojo3NzA5ODg6Ojc3MDk4ODo6NzcwOTg4Ojo3NzA5ODg6Ojc3MDk4ODo6NzcwOTg4Ojo3NzA5ODg6Ojc3MDk4ODo6NzcwOTg4Ojo3NzA5ODg6Ojc3MDk4ODo6NzcwOTg4Ojo3NzA5ODg6Ojc3MDk4ODo6NzcwOTg4Ojo3NzA5ODg6Ojc3MDk4ODo6NzczMDg2Ojo3NzY2NDc6Ojc4MDI5Njo6NzgzODI2Ojo3ODc0MjY6Ojc5MTA2MTo6Nzk1ODQ0Ojo4MDIxMDk6OjgwODgwMTo6ODE1NjI0Ojo4MjI0OTg6OjgyOTIxMzo6ODM1NTA4Ojo4NDE0NDk6Ojg0Njg4Njo6ODUxNzk4Ojo4NTY2NjU6Ojg1OTM1NDo6ODYxMjYzOjo4NjMwODM6Ojg2NDk4NTo6ODY3MjQ1Ojo4Njk4MDM6Ojg3MjQ2MDo6ODc1MjIxOjo4Nzc5Mzc6Ojg4MDU2MTo6ODgzMTU2Ii8+DQorCQkJCQk8dmFsIG89IjFmMTc2MCIgdj0iODg1NjU3Ojo4ODgwODU6Ojg5MDUwNTo6ODkzMTEwOjo4OTYxOTQ6Ojg5OTU4MTo6OTAzMTE2Ojo5MDY0NzM6OjkwOTY3Nzo6OTEzMDM0Ojo5MTYwODI6OjkxODY0Njo6OTIxMDkzOjo5MjM0NjA6OjkyNTYzMDo6OTI3NzQ0Ojo5MzAwNTM6OjkzMjgwNjo6OTM1OTA0Ojo5Mzk3NTM6Ojk0NDU0MDo6OTUwMTYzOjo5NTU4ODQ6Ojk2MTIzMzo6OTY2NjczOjo5NzI1MzM6Ojk3ODc1ODo6OTg1MTY4Ojo5OTE2Njg6Ojk5NzcxMzo6MTAwMzA5MTo6MTAwODI3NDo6MTAxMjc0OTo6MTAxNzAzODo6MTAyMDkzNzo6MTAyNDYyNDo6MTAyNzkxOTo6MTAzMTA0Nzo6MTAzNDA4Nzo6MTAzNjk3Njo6MTA0MDEwNjo6MTA0NDEwMjo6MTA0OTIwMTo6MTA1NTE3Nzo6MTA2MTQxMTo6MTA2NzUyODo6MTA3Mzc1OTo6MTA3OTgwNiIvPg0KKwkJCQkJPHZhbCBvPSIyMWJhNjAiIHY9IjEwODU3NDg6OjEwOTE1NjY6OjEwOTc5NjQ6OjExMDQwOTg6OjExMDk5NjU6OjExMTU2MTE6OjExMjEwOTM6OjExMjYzMjE6OjExMzA2MzA6OjExMzQ0OTc6OjExMzc5NzM6OjExMzk5NzA6OjExNDE4NDk6OjExNDM5MjM6OjExNDU5MTg6OjExNDc2NDc6OjExNDk1NTc6OjExNTMxNzE6OjExNTczMjk6OjExNjE5MzQ6OjExNjY2NjQ6OjExNzEyMDQ6OjExNzU5NTc6OjExODA3MjE6OjExODU0NDY6OjExOTA2MzI6OjExOTYyMDQ6OjEyMDE3NDM6OjEyMDczMjg6OjEyMTI2MDg6OjEyMTc4NDc6OjEyMjI2NzQ6OjEyMjY5NDI6OjEyMzEwNjY6OjEyMzQ4Nzg6OjEyMzgxNTE6OjEyNDEzOTg6OjEyNDQ1MjU6OjEyNDc1NDQ6OjEyNTA0MDg6OjEyNTM2NjM6OjEyNTc2NDU6OjEyNjIyMzk6OjEyNjc5MDU6OjEyNzQwNzU6OjEyODA1MTI6OjEyODcxMDk6OjEyOTM1NjYiLz4NCisJCQkJCTx2YWwgbz0iMjQ2YjcwIiB2PSIxMzA2NTAxOjoxMzEyNzc1OjoxMzE4NTM5OjoxMzIzNzk4OjoxMzI5Mzg3OjoxMzM1MTA1OjoxMzQwODgzOjoxMzQ2Mzk2OjoxMzUxMzc2OjoxMzU1NTk0OjoxMzU5MDk5OjoxMzYyNzQyOjoxMzY2MzU1OjoxMzY5OTM2OjoxMzczNDE4OjoxMzc3MTU2OjoxMzgxNDQwOjoxMzg1OTc2OjoxMzkxNDE2OjoxMzk3MTI0OjoxNDAzNjIyOjoxNDEyOTA1OjoxNDIwNDk0OjoxNDI2NTE5OjoxNDMyNzkxOjoxNDM4NzMxOjoxNDQ0NzAwOjoxNDUwNDk1OjoxNDU1OTE2OjoxNDYxMjkzOjoxNDY2NjQ4OjoxNDcxMzIzOjoxNDc1OTA0OjoxNDc5OTAzOjoxNDgzNTE0OjoxNDg3MDMwOjoxNDkwNjgyOjoxNDk0MzI0OjoxNDk3OTE4OjoxNTAxNjE1OjoxNTA1NDY4OjoxNTA5MzU4OjoxNTEzNTAzOjoxNTE3ODUwOjoxNTIyMDA0OjoxNTI1OTU3OjoxNTI5NzI4OjoxNTMzNDAzIi8+DQorCQkJCQk8dmFsIG89IjI3MGU3MCIgdj0iMTUzNzAwMzo6MTU0MTI4OTo6MTU0NjEyNDo6MTU1MTI1Njo6MTU1NjI4Njo6MTU2MTI3Mjo6MTU2NTczMTo6MTU2OTU4MTo6MTU3Mjk0MCIvPg0KKwkJCQk8L3Bhcj4NCisJCQkJPHBhciBtZW1pbmQ9IjUyNTEzMDAxIiBoPSIzZGMxYTdlMCI+DQorCQkJCQk8dmFsIG89IjAiIHY9IjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjAiLz4NCisJCQkJCTx2YWwgbz0iMmEzMDAiIHY9IjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6OjA6Ojo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MCIvPg0KKwkJCQkJPHZhbCBvPSI1NTQxMCIgdj0iMDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MCIvPg0KKwkJCQkJPHZhbCBvPSI3ZjcxMCIgdj0iMDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MDo6MTA6OjUyMTo6MTAwOTo6MTkxNDo6MjMyOTo6MjgwNDo6MzQ3NiIvPg0KKwkJCQkJPHZhbCBvPSJhOWExMCIgdj0iNDU0Njo6NDY4Mjo6NDcxOTo6NDgzODo6NTM1MDo6NjE2NTo6NjM2NTo6NjQ0NTo6NjQ5MDo6Ojo2NTcxOjo2NjQzOjo2NzA0Ojo2NzA0Ojo2NzA0Ojo2NzA0Ojo2NzA0Ojo2NzA0Ojo2NzA0Ojo2NzA0Ojo2NzA0Ojo2NzA0Ojo2NzA0Ojo2NzA0Ojo3MjA4Ojo3Njc5Ojo4MTI0Ojo4NDgwOjo5MDEwOjo5NTAxOjo5OTE4OjoxMDcwODo6MTA5NjA6OjExMDc5OjoxMTIwMDo6MTEyNTU6OjExNDU5OjoxMTY1Njo6MTE3OTM6OjEyMTU5OjoxMjE1OTo6MTIxNTk6OjEyMTU5OjoxMjE2MDo6MTIxNzk6OjEyMjE1OjoxMjI4Nzo6MTIzMDI6OjEyODg0Ii8+DQorCQkJCQk8dmFsIG89ImQ0YjIwIiB2PSIxMzUzMzo6MTQyMzA6OjE1MDYyOjoxNjIwNDo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2Ii8+DQorCQkJCQk8dmFsIG89ImZlZTIwIiB2PSIxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU3LjQ5Mjo6MTcxNTcuNDkyOjoxNzE1Ny40OTI6OjE3MTU3LjQ5Mjo6MTcxNTcuNDkyOjoxNzE1Ny40OTI6OjE3MTU3LjQ5Mjo6MTcxNTcuNDkyOjoxNzE1Ny40OTI6OjE3MTU3LjQ5MiIvPg0KKwkJCQkJPHZhbCBvPSIxMjkxMjAiIHY9IjE3MTU3LjQ5Mjo6MTcxNTcuNDkyOjoxNzE1Ny40OTI6OjE3MTU3LjQ5Mjo6MTcxNTcuNDkyOjoxNzE1Ny40OTI6OjE3MTU3LjQ5Mjo6MTcxNTcuNDkyOjoxNzE1Ny40OTI6OjE3MTU3LjQ5Mjo6MTcxNTcuNDkyOjoxNzE1Ny40OTI6OjE3MTU3LjQ5Mjo6MTcxNTcuNDkyOjoxNzE1Ny40OTI6OjE3MTU3LjQ5Mjo6MTcxNTcuNDkyOjoxNzE1Ny40OTI6OjE3MTU3LjQ5Mjo6MTcxNTcuNDkyOjoxNzE1Ny40OTI6OjE3MTU3LjQ5Mjo6MTcxNTcuNDkzOjoxNzE1Ny41MTE6OjE3MTU3LjUyNTo6MTcxNTcuNTQyOjoxNzE1Ny41NTg6OjE3MTU3LjU3OTo6MTcxNTcuNTk5OjoxNzE1Ny42MDg6OjE3MTU3LjYxMTo6MTcxNTcuNjEyOjoxNzE1Ny42MTI6OjE3MTU3LjYxMjo6MTcxNTcuNjEyOjoxNzE1Ny42MTM6OjE3MTU3LjYxNjo6MTcxNTcuNjE4OjoxNzE1Ny42MjM6OjE3MTU3LjYzMTo6MTcxNTcuNjMxOjoxNzE1Ny42MzE6OjE3MTU3LjYzMTo6MTcxNTcuNjMxOjoxNzE1Ny42MzE6OjE3MTU3LjYzMTo6MTcxNTcuNjMyOjoxNzE1Ny42NDkiLz4NCisJCQkJCTx2YWwgbz0iMTUzNDIwIiB2PSIxNzE1Ny42Njk6OjE3MTU3LjY4Njo6MTcxNTcuNzA2OjoxNzE1Ny43Mjg6OjE3MTU3Ljc1Mjo6MTcxNTcuNzcxOjoxNzE1Ny43ODY6OjE3MTU3Ljc5OTo6MTcxNTcuODEyOjoxNzE1Ny44MjQ6OjE3MTU3LjgzODo6MTcxNTcuODU6OjE3MTU3Ljg2MTo6MTcxNTcuODcxOjoxNzE1Ny44ODM6OjE3MTU3Ljg5OjoxNzE1Ny44OTo6MTcxNTcuODk6OjE3MTU3Ljg5OjoxNzE1Ny44OTo6MTcxNTcuODk6OjE3MTU3Ljg5MTo6MTcxNTcuODk5OjoxNzE1Ny45MTE6OjE3MTU3LjkxODo6MTcxNTcuOTI6OjE3MTU3LjkyMTo6MTcxNTcuOTI1OjoxNzE1Ny45MzI6OjE3MTU3LjkzNzo6MTcxNTcuOTM3OjoxNzE1Ny45Mzc6OjE3MTU3LjkzNzo6MTcxNTcuOTM3OjoxNzE1Ny45Mzc6OjE3MTU3LjkzNzo6MTcxNTcuOTM3OjoxNzE1Ny45Mzc6OjE3MTU3LjkzNzo6MTcxNTcuOTM3OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTYiLz4NCisJCQkJCTx2YWwgbz0iMTdkNzIwIiB2PSIxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2Ojo6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1NiIvPg0KKwkJCQkJPHZhbCBvPSIxYTk2NDAiIHY9IjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2OjoxNzE1Njo6MTcxNTY6OjE3MTU2Ii8+DQorCQkJCQk8dmFsIG89IjFjNzQ2MCIgdj0iMjYzNjY6OjI2NjQ4OjoyOTczNzo6MzM3OTA6OjM3MzIwOjo0MTAzODo6NDU0OTE6OjUwODcwOjo1NjM3ODo6NjIwNjY6OjY3ODkyOjo3NDQzNTo6ODEwNzM6Ojg3NzQ4Ojo5NDQ4Nzo6MTAxMzI1OjoxMDgxNzM6OjExNDY3MTo6MTIwNDE3OjoxMjU3Njg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5OCIvPg0KKwkJCQkJPHZhbCBvPSIxZjE3NjAiIHY9IjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTgiLz4NCisJCQkJCTx2YWwgbz0iMjFiYTYwIiB2PSIxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4Ii8+DQorCQkJCQk8dmFsIG89IjI0NmI3MCIgdj0iMTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5OCIvPg0KKwkJCQkJPHZhbCBvPSIyNzBlNzAiIHY9IjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTg6OjEyNzA5ODo6MTI3MDk4OjoxMjcwOTgiLz4NCisJCQkJPC9wYXI+DQorCQkJCTxwYXIgbWVtaW5kPSIzNDYwMSIgaD0iM2RjMWE3ZTAiPg0KKwkJCQkJPHZhbCBvPSIwIiB2PSI2MDk0NTY0Ojo2MDk1ODY5Ojo2MDk3NDMzOjo2MDk5MDQ2Ojo2MTAwNjMwOjo2MTAxOTYwOjo2MTAzMTM3Ojo2MTA0ODI2Ojo2MTA2NDg3Ojo2MTA4MzM4Ojo2MTEwMDU3Ojo2MTEyMDg3Ojo2MTE0MTA4Ojo2MTE2MDE3Ojo2MTE2NjM1Ojo2MTE2NjQwOjo2MTE2NjQ1Ojo2MTE2NjQ4Ojo2MTE2NjQ5Ojo2MTE2NjU0Ojo2MTE2NjYxOjo2MTE2NjY3Ojo2MTE2Njc0Ojo2MTE2NjgxOjo2MTE2Njg4Ojo2MTE2Njk0Ojo2MTE2NzAxOjo2MTE2NzA4Ojo2MTE2NzE1Ojo2MTE2NzIxOjo2MTE2NzIzOjo2MTE2NzMwOjo2MTE2NzM4Ojo2MTE2NzQ1Ojo2MTE2NzUxOjo2MTE2NzU3Ojo2MTE2NzY0Ojo2MTE2NzcxOjo2MTE2Nzc5Ojo2MTE2Nzg2Ojo2MTE2NzkzOjo2MTE2Nzk5Ojo2MTE2ODAwOjo2MTE2ODAwOjo2MTE2ODA1Ojo2MTE2ODA4Ojo2MTE2ODEyOjo2MTE2ODE5Ii8+DQorCQkJCQk8dmFsIG89IjJhMzAwIiB2PSI2MTE2ODI2Ojo2MTE2ODMyOjo2MTE2ODMyOjo2MTE2ODM0Ojo2MTE2ODM4Ojo2MTE2ODM5Ojo2MTE2ODM5Ojo2MTE2ODQ1Ojo2MTE2ODUyOjo2MTE2ODU5Ojo2MTE2ODY2Ojo2MTE2ODczOjo2MTE2ODgwOjo2MTE2ODg3Ojo2MTE2ODkzOjo2MTE2ODk4Ojo2MTE2ODk5Ojo2MTE2ODk5Ojo2MTE2ODk5Ojo2MTE2OTAxOjo2MTE2OTAyOjo2MTE2OTA0Ojo2MTE2OTA1Ojo2MTE2OTEwOjo2MTE2OTE3Ojo2MTE2OTI0Ojo2MTE2OTMxOjo2MTE2OTM4Ojo2MTE2OTQ1Ojo2MTE2OTUyOjo2MTE2OTU3Ojo2MTE2OTYxOjo2MTE2OTY4Ojo6OjYxMTY5NzA6OjYxMTY5NzA6OjYxMTY5NzA6OjYxMTY5NzA6OjYxMTY5NzA6OjYxMTY5NzA6OjYxMTY5NzA6OjYxMTY5NzA6OjYxMTY5NzA6OjYxMTY5NzA6OjYxMTY5NzI6OjYxMTY5Nzg6OjYxMTY5ODA6OjYxMTY5ODc6OjYxMTY5OTQiLz4NCisJCQkJCTx2YWwgbz0iNTU0MTAiIHY9IjYxMTcwMDE6OjYxMTcwMDg6OjYxMTcwMTU6OjYxMTcwMjI6OjYxMTcwMjk6OjYxMTcwMzM6OjYxMTcwMzk6OjYxMTcwNDI6OjYxMTcwNDI6OjYxMTcwNDQ6OjYxMTcwNDk6OjYxMTcwNTQ6OjYxMTcwNjE6OjYxMTcwNjI6OjYxMTcwNjI6OjYxMTcwNjM6OjYxMTcwNjU6OjYxMTcwNjU6OjYxMTcwNjY6OjYxMTcwNzI6OjYxMTcwNzg6OjYxMTcwODQ6OjYxMTcwOTE6OjYxMTcwOTg6OjYxMTcxMDM6OjYxMTcxMTA6OjYxMTcxMTc6OjYxMTcxMjQ6OjYxMTcxMjk6OjYxMTcxMjk6OjYxMTcxMzQ6OjYxMTcxMzY6OjYxMTcxMzc6OjYxMTcxMzc6OjYxMTcxMzc6OjYxMTcxMzg6OjYxMTcxNDQ6OjYxMTcxNDU6OjYxMTcxNDU6OjYxMTcxNDU6OjYxMTcxNDU6OjYxMTcxNDU6OjYxMTcxNDU6OjYxMTcxNDg6OjYxMTcxNTA6OjYxMTcxNTQ6OjYxMTcxNjA6OjYxMTcxNjciLz4NCisJCQkJCTx2YWwgbz0iN2Y3MTAiIHY9IjYxMTcxNzQ6OjYxMTcxODE6OjYxMTcxODk6OjYxMTcxOTY6OjYxMTcyMDM6OjYxMTcyMTA6OjYxMTcyMTY6OjYxMTcyMTk6OjYxMTcyMjA6OjYxMTcyMjA6OjYxMTcyMjI6OjYxMTcyMjg6OjYxMTcyMzU6OjYxMTcyMzk6OjYxMTcyNDE6OjYxMTcyNDQ6OjYxMTcyNDQ6OjYxMTcyNDQ6OjYxMTcyNDQ6OjYxMTcyNDQ6OjYxMTcyNDc6OjYxMTcyNDg6OjYxMTcyNTI6OjYxMTcyNTk6OjYxMTcyNjY6OjYxMTcyNzM6OjYxMTcyODA6OjYxMTcyODc6OjYxMTcyOTM6OjYxMTcyOTc6OjYxMTczMDM6OjYxMTczMDQ6OjYxMTczMDU6OjYxMTczMDk6OjYxMTczMTY6OjYxMTczMjM6OjYxMTczMzA6OjYxMTczMzY6OjYxMTczNDA6OjYxMTgwOTU6OjYxMTg5MzY6OjYxMTkyOTk6OjYxMTkzMDA6OjYxMjAxMTc6OjYxMjA0MTk6OjYxMjA4Njc6OjYxMjE2OTI6OjYxMjMzMDgiLz4NCisJCQkJCTx2YWwgbz0iYTlhMTAiIHY9IjYxMjM5Mzg6OjYxMjQxMDY6OjYxMjQ3NjU6OjYxMjU2OTE6OjYxMjU3ODQ6OjYxMjU3ODU6OjYxMjYxMjk6OjYxMjYxMjk6OjYxMjYxMjk6Ojo6NjEyNjEyOTo6NjEyNjEyOTo6NjEyNjE2NDo6NjEyNjE3Mzo6NjEyNjE3Mzo6NjEyNjM1ODo6NjEyNjUzMTo6NjEyNjU3Njo6NjEyNjg0MDo6NjEyNzYxMjo6NjEyODQ1NTo6NjEyODQ1NTo6NjEyODc1Nzo6NjEyOTg4MDo6NjEyOTk4MTo6NjEyOTk4Mzo6NjEzMDEzMzo6NjEzMDQ3Mzo6NjEzMDQ4NTo6NjEzMDQ4NTo6NjEzMDQ4NTo6NjEzMDQ4NTo6NjEzMDQ5Mzo6NjEzMDQ5Mzo6NjEzMDQ5Mzo6NjEzMDQ5Mzo6NjEzMDQ5Mzo6NjEzMDQ5Mzo6NjEzMDQ5Mzo6NjEzMDU2MTo6NjEzMDY0OTo6NjEzMDY0OTo6NjEzMDY0OTo6NjEzMDY0OTo6NjEzMDY0OTo6NjEzMDY0OTo6NjEzMDc5Mjo6NjEzMjAxNjo6NjEzMzE3NSIvPg0KKwkJCQkJPHZhbCBvPSJkNGIyMCIgdj0iNjEzNDMwNjo6NjEzNDcxNzo6NjEzNTA5Mzo6NjEzNTA5Mzo6NjEzNTQwMjo6NjEzNTkyMjo6NjEzNTkyMjo6NjEzNTkyMjo6NjEzNTkyMjo6NjEzNTkyMjo6NjEzNTkyMjo6NjEzNTkyMjo6NjEzNTkyMjo6NjEzNTkyMjo6NjEzNTkyMjo6NjEzNTkyOTo6NjEzNjA0MTo6NjEzNjYxNzo6NjEzNzI1Njo6NjEzNzUxMjo6NjEzNzc5Nzo6NjEzODA4OTo6NjEzODQzMTo6NjEzOTA1Mzo6NjEzOTA1Mzo6NjEzOTA1Mzo6NjEzOTA1Mzo6NjEzOTA1Mzo6NjEzOTE0Nzo6NjEzOTI1MTo6NjEzOTI1MTo6NjEzOTI1MTo6NjEzOTI1MTo6NjEzOTI1MTo6NjEzOTI1MTo6NjEzOTMwMjo6NjEzOTMwMjo6NjEzOTMwMjo6NjEzOTMwMjo6NjEzOTMwMjo6NjEzOTMwMjo6NjEzOTMwMjo6NjEzOTMwMjo6NjEzOTMwMjo6NjEzOTMwMjo6NjEzOTQ1Njo6NjE0MDY1NTo6NjE0MTc4MiIvPg0KKwkJCQkJPHZhbCBvPSJmZWUyMCIgdj0iNjE0MjYwOTo6NjE0MjgyODo6NjE0MzAzMjo6NjE0MzAzMjo6NjE0MzAzMjo6NjE0MzAzMjo6NjE0MzAzMjo6NjE0MzAzMjo6NjE0MzAzNjo6NjE0MzAzNjo6NjE0MzAzNjo6NjE0MzAzNjo6NjE0MzAzNjo6NjE0MzAzNjo6NjE0MzAzNjo6NjE0MzAzNjo6NjE0MzAzNjo6NjE0MzAzNjo6NjE0MzAzNjo6NjE0MzAzOTo6NjE0MzA1Njo6NjE0MzA1Njo6NjE0MzM4Mjo6NjE0MzU0NTo6NjE0MzU0NTo6NjE0MzU0NTo6NjE0MzU0NTo6NjE0MzU0NTo6NjE0MzU0NTo6NjE0MzU0NTo6NjE0MzU0NTo6NjE0MzU4Nzo6NjE0MzcxMzo6NjE0NDEzNTo6NjE0NDc4Mzo6NjE0NDgxNjo6NjE0NDgxNjo6NjE0NDgxNjo6MTQ0ODE4LjI6OjE0NDgxOC4yOjoxNDQ4MTguMjo6MTQ0ODE4LjI6OjE0NDgxOC4yOjoxNDQ4MTguMjQzOjoxNDQ4MTguNDc0OjoxNDQ4MTguNDg6OjE0NDgxOC43NzU6OjE0NDgxOS45NTUiLz4NCisJCQkJCTx2YWwgbz0iMTI5MTIwIiB2PSIxNDQ4MjEuMjYxOjoxNDQ4MjIuNjQ0OjoxNDQ4MjQuMDUzOjoxNDQ4MjQuNTg0OjoxNDQ4MjQuNTg3OjoxNDQ4MjQuNTg3OjoxNDQ4MjQuNTg3OjoxNDQ4MjQuNjI6OjE0NDgyNC43NDQ6OjE0NDgyNC43NDY6OjE0NDgyNC43NDY6OjE0NDgyNC43NDY6OjE0NDgyNC43NDY6OjE0NDgyNC43NDY6OjE0NDgyNC43NDY6OjE0NDgyNC43NDY6OjE0NDgyNC43NDY6OjE0NDgyNC43NDY6OjE0NDgyNC43NDY6OjE0NDgyNC43NDY6OjE0NDgyNC43NDY6OjE0NDgyNC43NDY6OjE0NDgyNC43NTU6OjE0NDgyNC43NTU6OjE0NDgyNC43NTU6OjE0NDgyNC43NTU6OjE0NDgyNC43NTU6OjE0NDgyNC43NTU6OjE0NDgyNC43NTU6OjE0NDgyNC43NTY6OjE0NDgyNC43NTY6OjE0NDgyNC43NTY6OjE0NDgyNC43NTY6OjE0NDgyNC43NTc6OjE0NDgyNC43Nzo6MTQ0ODI0Ljc4ODo6MTQ0ODI0Ljc5Njo6MTQ0ODI0LjgwMjo6MTQ0ODI0LjgwNTo6MTQ0ODI0LjgwNjo6MTQ0ODI0LjgwNjo6MTQ0ODI0LjgwNjo6MTQ0ODI0LjgwNjo6MTQ0ODI0LjgwNjo6MTQ0ODI0LjgwNjo6MTQ0ODI0LjgwOTo6MTQ0ODI0LjgyMzo6MTQ0ODI0LjgyOCIvPg0KKwkJCQkJPHZhbCBvPSIxNTM0MjAiIHY9IjE0NDgyNC44Mjg6OjE0NDgyNC44Mjg6OjE0NDgyNC44Mjk6OjE0NDgyNC44Mjk6OjE0NDgyNC44Mjk6OjE0NDgyNC44Mjk6OjE0NDgyNC44Mjk6OjE0NDgyNC44Mjk6OjE0NDgyNC44Mjk6OjE0NDgyNC44Mjk6OjE0NDgyNC44Mjk6OjE0NDgyNC44Mjk6OjE0NDgyNC44Mjk6OjE0NDgyNC44Mjk6OjE0NDgyNC44Mjk6OjE0NDgyNC44MzQ6OjE0NDgyNC44MzQ6OjE0NDgyNC44MzQ6OjE0NDgyNC44MzQ6OjE0NDgyNC44MzU6OjE0NDgyNC44MzU6OjE0NDgyNC44NDo6MTQ0ODI0Ljg0NTo6MTQ0ODI0Ljg0OTo6MTQ0ODI0Ljg2NTo6MTQ0ODI0Ljg3Njo6MTQ0ODI0Ljg4ODo6MTQ0ODI0Ljg4OTo6MTQ0ODI0Ljg4OTo6MTQ0ODI0Ljg4OTo6MTQ0ODI0Ljg4OTo6MTQ0ODI0Ljg4OTo6MTQ0ODI0Ljg4OTo6MTQ0ODI0Ljg4OTo6MTQ0ODI0Ljg5Mjo6MTQ0ODI0Ljg5Njo6MTQ0ODI0Ljg5Nzo6MTQ0ODI0Ljk6OjE0NDgyNC45OjoxNDQ4MjQuOTo6NjE0NDgyNDo6NjE0NDgyNDo6NjE0NDgyNDo6NjE0NDgyNDo6NjE0NTAwMDo6NjE0NjcwMjo6NjE0ODk5NTo6NjE1MTI5OCIvPg0KKwkJCQkJPHZhbCBvPSIxN2Q3MjAiIHY9IjYxNTQwMTE6OjYxNTY4ODU6OjYxNTk4MjE6OjYxNjE3ODE6OjYxNjI0MjQ6OjYxNjM1NjU6OjYxNjUyNzg6OjYxNjY4Njg6OjYxNjc3NTU6OjYxNjg2NzE6OjYxNzEzMTI6OjYxNzQzMTU6OjYxNzcwMTQ6OjYxNzk2MDk6OjYxODE1Njg6Ojo6NjE4MjA3Njo6NjE4MjU2Nzo6NjE4Mzg2Mzo6NjE4NTEyMjo6NjE4NjY2ODo6NjE4ODkwNjo6NjE5MDAzNzo6NjE5MTAxNjo6NjE5MjU3Nzo6NjE5NDI3NDo6NjE5NjAyOTo6NjE5NjgxMDo6NjE5Njg1NTo6NjE5Njk1Mjo6NjE5NzY4MTo6NjE5ODU0ODo6NjE5ODY1Nzo6Ojo2MTk5MzkyOjo2MjAwMzcyOjo2MjAwODk1Ojo2MjAxMjI4Ojo2MjAxNDI1Ojo2MjAxNDI1Ojo2MjAyODU2Ojo2MjA1NTg1Ojo2MjA5MDQ4Ojo2MjExMTE1Ojo2MjEyNjQ4Ojo2MjE1NzIwOjo2MjE5MDkwOjo2MjIxNzczOjo2MjI0ODQ4Ojo2MjI4MTg1Ii8+DQorCQkJCQk8dmFsIG89IjFhOTY0MCIgdj0iNjIzMTUzMDo6NjIzMzkwMTo6NjIzNTUxNzo6NjIzNzI2NDo6NjIzOTU1NDo6NjI0MTk0Mzo6NjI0NDA0OTo6NjI0NjAwMzo6NjI0ODI5MTo6NjI1MDg4MCIvPg0KKwkJCQkJPHZhbCBvPSIxYzc0NjAiIHY9IjYyNjkzOTM6OjYyNjk0NjA6OjYyNjk1NjE6OjYyNjk1NjE6OjYyNzAxOTM6OjYyNzExOTM6OjYyNzE3NjY6OjYyNzE3NjY6OjYyNzE3NjY6OjYyNzIwMDM6OjYyNzM0MTQ6OjYyNzM4MDI6OjYyNzQxOTA6OjYyNzUwNzA6OjYyNzU3ODg6OjYyNzU4MDU6OjYyNzU4MDU6OjYyNzU4NDQ6OjYyNzY3NDc6OjYyNzcwOTM6OjYyNzcxODQ6OjYyNzcyNjc6OjYyNzc3MTA6OjYyNzgzNDY6OjYyNzkyNjI6OjYyODAwNDE6OjYyODEyNjg6OjYyODI5MDg6OjYyODQ3NDQ6OjYyODY3OTI6OjYyODkwMzY6OjYyOTEzNjI6OjYyOTM1ODY6OjYyOTU4ODQ6OjYyOTgxMzY6OjYzMDAxMTU6OjYzMDIzMTY6OjYzMDI5NTQ6OjYzMDM0Mzk6OjYzMDM3NDk6OjYzMDM5Mzg6OjYzMDQyMTI6OjYzMDQ5MjQ6OjYzMDUzMDk6OjYzMDU2MjY6OjYzMDU4MDQ6OjYzMDYwMDQ6OjYzMDYzMjEiLz4NCisJCQkJCTx2YWwgbz0iMWYxNzYwIiB2PSI2MzA2NDA3Ojo2MzA2NDA3Ojo2MzA2NDA3Ojo2MzA2NDA3Ojo2MzA2NDA3Ojo2MzA2NDE3Ojo2MzA2NTYyOjo2MzA2OTA0Ojo2MzA3Mzk5Ojo2MzA5NTE3Ojo2MzExNjQzOjo2MzEyNjExOjo2MzEzODc1Ojo2MzE0ODY4Ojo2MzE1MjI4Ojo2MzE1MzUyOjo2MzE1Mzg1Ojo2MzE1ODM1Ojo2MzE2MDE2Ojo2MzE2MDIzOjo2MzE2MDIzOjo2MzE2MDIzOjo2MzE2MDIzOjo2MzE2MDIzOjo2MzE2MDIzOjo2MzE2MTEzOjo2MzE2NDYwOjo2MzE2NzU1Ojo2MzE3MTc3Ojo2MzE4MDM2Ojo2MzE4MzgzOjo2MzE5MDM4Ojo2MzE5MDM4Ojo2MzE5NjMyOjo2MzIwNjIwOjo2MzIyMDk5Ojo2MzIzMDI3Ojo2MzIzNTI4Ojo2MzIzOTYyOjo2MzIzOTY3Ojo2MzIzOTY3Ojo2MzI0MTQzOjo2MzI1MTQxOjo2MzI1MzIyOjo2MzI1NzI0Ojo2MzI2MDIwOjo2MzI3MTMyOjo2MzI3MTMyIi8+DQorCQkJCQk8dmFsIG89IjIxYmE2MCIgdj0iNjMyNzEzMjo6NjMyNzEzMjo6NjMyODE3NDo6NjMyODY2Nzo6NjMyODY2Nzo6NjMyODcwNTo6NjMyOTQwMjo6NjMzMDA1ODo6NjMzMDA1ODo6NjMzMDY1NTo6NjMzMTc3NDo6NjMzMjAzMzo6NjMzMjAzMzo6NjMzMjAzMzo6NjMzMjAzMzo6NjMzMjAzMzo6NjMzMjA3ODo6NjMzMjMxNjo6NjMzMjg3Mjo6NjMzMjg5Nzo6NjMzMjg5Nzo6NjMzMjg5Nzo6NjMzMjg5Nzo6NjMzMzE3Mzo6NjMzMzIwNDo6NjMzMzgyNzo6NjMzNDQxMzo6NjMzNDQxMzo6NjMzNDQxMzo6NjMzNDQxMzo6NjMzNDQxMzo6NjMzNDU1NDo6NjMzNDU1NDo6NjMzNDU1NDo6NjMzNDc2NTo6NjMzNDk3Nzo6NjMzNTQ4MTo6NjMzNTc1OTo6NjMzNTc1OTo6NjMzNTc1OTo6NjMzNTc1OTo6NjMzNTgyNDo6NjMzNTgyNjo6NjMzNTgyNjo6NjMzNTgyNjo6NjMzNTgyNjo6NjMzNTg4OTo6NjMzNjQwNyIvPg0KKwkJCQkJPHZhbCBvPSIyNDZiNzAiIHY9IjYzMzgwNDc6OjYzMzg3MTk6OjYzMzg3Mjk6OjYzMzg3Mjk6OjYzMzg3Mjk6OjYzMzkwNjU6OjYzNDAzNTQ6OjYzNDE3NjY6OjYzNDI3MjM6OjYzNDM0MzI6OjYzNDM5MjQ6OjYzNDUwMDI6OjYzNDYxMTU6OjYzNDcwMTg6OjYzNDcwNDg6OjYzNDcwNTA6OjYzNDcwOTE6OjYzNDcwOTE6OjYzNDcwOTE6OjYzNDcwOTE6OjYzNDc0MDY6OjYzNTAyMDA6OjYzNTIwNzc6OjYzNTIxNTA6OjYzNTIxNTA6OjYzNTIxNTA6OjYzNTIxNTA6OjYzNTIxNTA6OjYzNTIxNTA6OjYzNTIxNTA6OjYzNTIzMzE6OjYzNTIzMzE6OjYzNTI2Mzg6OjYzNTMxOTM6OjYzNTM2OTU6OjYzNTUwMTk6OjYzNTY5MTU6OjYzNTg5NTI6OjYzNjA0MzA6OjYzNjEzNTI6OjYzNjE0MjA6OjYzNjE0MjA6OjYzNjE0MjA6OjYzNjE0MjA6OjYzNjE0MjA6OjYzNjE0MjA6OjYzNjE0MjA6OjYzNjE0MjAiLz4NCisJCQkJCTx2YWwgbz0iMjcwZTcwIiB2PSI2MzYxNDIwOjo2MzYxNDM0Ojo2MzYxNjk4Ojo2MzYyMTc0Ojo2MzYyNjYwOjo2MzYzNTAyOjo2MzYzODYwOjo2MzYzODYwOjo2MzYzOTMzIi8+DQorCQkJCTwvcGFyPg0KKwkJCQk8cGFyIG1lbWluZD0iMzM4MDEiIGg9IjNkYzFhN2UwIj4NCisJCQkJCTx2YWwgbz0iMCIgdj0iODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMiIvPg0KKwkJCQkJPHZhbCBvPSIyYTMwMCIgdj0iODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6Ojo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyIi8+DQorCQkJCQk8dmFsIG89IjU1NDEwIiB2PSI4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyIi8+DQorCQkJCQk8dmFsIG89IjdmNzEwIiB2PSI4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxNzk0MjI6Ojg4MTc5NDIyOjo4ODE3OTQyMjo6ODgxODAxMDI6Ojg4MTgxMTc2Ojo4ODE4MTg1OTo6ODgxODE4NjE6Ojg4MTgxODk0Ojo4ODE4MTg5Njo6ODgxODE4OTY6Ojg4MTgxODk2Ii8+DQorCQkJCQk8dmFsIG89ImE5YTEwIiB2PSI4ODE4MjE2OTo6ODgxODIyMDA6Ojg4MTgyMjAwOjo4ODE4MjIwMDo6ODgxODIyODg6Ojg4MTgzMzYzOjo4ODE4Mzg1Nzo6ODgxODQ2MzE6Ojg4MTg2NDA3Ojo6Ojg4MTk0MDEwOjo4ODE5ODIzMzo6ODgyMDAxNDg6Ojg4MjAwMzQ4Ojo4ODIwMDk0Nzo6ODgyMDI2MjA6Ojg4MjAzMDExOjo4ODIwMzUwNzo6ODgyMDM1MTI6Ojg4MjAzNTEyOjo4ODIwMzU0Mzo6ODgyMDQzNTY6Ojg4MjA0NDAxOjo4ODIwNDQwMTo6ODgyMDU4MzA6Ojg4MjA2MTg4Ojo4ODIwNjIyMjo6ODgyMDYyMjI6Ojg4MjA2NTAyOjo4ODIwNzUxNzo6ODgyMDkwMDg6Ojg4MjEwMTAyOjo4ODIxMDY2Njo6ODgyMTE2MzU6Ojg4MjEyNzI0Ojo4ODIxMzYwNDo6ODgyMTQxMDg6Ojg4MjE0NTEyOjo4ODIxNDk2OTo6ODgyMTYyMjk6Ojg4MjE2NzU5Ojo4ODIxOTIyMTo6ODgyMjE4MTg6Ojg4MjI0NTg5Ojo4ODIyNzAzMTo6ODgyMjg4NzA6Ojg4MjI5NTYzOjo4ODIyOTU2Mzo6ODgyMjk1ODAiLz4NCisJCQkJCTx2YWwgbz0iZDRiMjAiIHY9Ijg4MjI5NTgwOjo4ODIyOTU4MDo6ODgyMjk1ODI6Ojg4MjMwMzI1Ojo4ODIzMTg4MTo6ODgyMzE5MTA6Ojg4MjMyNTk1Ojo4ODIzNDU3NDo6ODgyMzcyNDU6Ojg4MjQwMjgzOjo4ODI0MzA1Njo6ODgyNDM2NDM6Ojg4MjQ0MTA1Ojo4ODI0NDM1Mjo6ODgyNDQ1OTM6Ojg4MjQ1MTE1Ojo4ODI0NTc0Njo6ODgyNDU3NDY6Ojg4MjQ1ODkxOjo4ODI0NTkxNTo6ODgyNDU5NTk6Ojg4MjQ1OTg4Ojo4ODI0NTk4OTo6ODgyNDcyNDQ6Ojg4MjQ4NTEwOjo4ODI0OTI5Mzo6ODgyNTAyMDM6Ojg4MjUyMTc4Ojo4ODI1NDUzMTo6ODgyNTQ4NzQ6Ojg4MjU1NzA0Ojo4ODI1Njg5ODo6ODgyNTg0Mzg6Ojg4MjU5NTk1Ojo4ODI2MDM5ODo6ODgyNjA5MTk6Ojg4MjYyODQ1Ojo4ODI2NDMxNDo6ODgyNjYwMDY6Ojg4MjY4Mjk3Ojo4ODI2OTk0Mjo6ODgyNzE1MDI6Ojg4MjcyNjkwOjo4ODI3Mzg0OTo6ODgyNzU1MDM6Ojg4Mjc2MDAzOjo4ODI3NjAwMzo6ODgyNzYwMDMiLz4NCisJCQkJCTx2YWwgbz0iZmVlMjAiIHY9Ijg4Mjc2MDE3Ojo4ODI3NjAxNzo6ODgyNzYwMTk6Ojg4Mjc2ODUxOjo4ODI3ODUxNTo6ODgyODAxMTg6Ojg4MjgxNTYwOjo4ODI4MzA3NDo6ODgyODM5NzE6Ojg4Mjg1NDI4Ojo4ODI4NjgxNTo6ODgyODc3MjY6Ojg4Mjg4ODMzOjo4ODI4OTk1Mzo6ODgyOTEwMzc6Ojg4MjkzMDk5Ojo4ODI5NTQyNzo6ODgyOTY2NzQ6Ojg4Mjk3MTMzOjo4ODI5NzgzMjo6ODgyOTg2MTI6Ojg4Mjk5NDQ3Ojo4ODI5OTUxNzo6ODgzMDA1NDE6Ojg4MzAxMDI1Ojo4ODMwMTMwNDo6ODgzMDE1MDM6Ojg4MzAyNDY4Ojo4ODMwNDQxNzo6ODgzMDYxMDY6Ojg4MzA3NTcxOjo4ODMwODM2ODo6ODgzMDg0NDg6Ojg4MzA4NDQ4Ojo4ODMwODQ0ODo6ODgzMDkwMjE6Ojg4MzA5ODk5Ojo4ODMxMDcxOTo6MTExMTg4LjAxNjo6MTExMTg5LjM6OjExMTE5MC4wODg6OjExMTE5MS44MjM6OjExMTE5Mi45MTo6MTExMTkzLjIwMjo6MTExMTkzLjQ3Mzo6MTExMTkzLjkzMTo6MTExMTkzLjk0ODo6MTExMTkzLjk0OCIvPg0KKwkJCQkJPHZhbCBvPSIxMjkxMjAiIHY9IjExMTE5My45NDg6OjExMTE5My45NDg6OjExMTE5My45NDg6OjExMTE5My45NDg6OjExMTE5NC41ODo6MTExMTk1LjUxOTo6MTExMTk2LjczNTo6MTExMTk4LjMzODo6MTExMTk5LjMwMjo6MTExMjAwLjYyNTo6MTExMjAxLjc3NTo6MTExMjAyLjQyMjo6MTExMjAzLjAwODo6MTExMjAzLjAyOjoxMTEyMDMuMDMyOjoxMTEyMDMuMDYyOjoxMTEyMDMuMDk4OjoxMTEyMDMuMTM1OjoxMTEyMDMuMTcxOjoxMTEyMDMuMjAzOjoxMTEyMDMuMjEyOjoxMTEyMDMuMjE2OjoxMTEyMDMuMjIxOjoxMTEyMDMuMjc2OjoxMTEyMDMuMjk5OjoxMTEyMDMuMzE2OjoxMTEyMDMuMzM1OjoxMTEyMDMuMzcxOjoxMTEyMDMuNDIyOjoxMTEyMDMuNDUyOjoxMTEyMDMuNDU3OjoxMTEyMDMuNDY0OjoxMTEyMDMuNDY4OjoxMTEyMDMuNDY4OjoxMTEyMDMuNDY4OjoxMTEyMDMuNDY4OjoxMTEyMDMuNDY4OjoxMTEyMDMuNDY4OjoxMTEyMDMuNDY5OjoxMTEyMDMuNTo6MTExMjAzLjUzMjo6MTExMjAzLjU3MTo6MTExMjAzLjYwNjo6MTExMjAzLjYzMjo6MTExMjAzLjYzOTo6MTExMjAzLjYzOTo6MTExMjAzLjYzOTo6MTExMjAzLjY2MSIvPg0KKwkJCQkJPHZhbCBvPSIxNTM0MjAiIHY9IjExMTIwMy42NzE6OjExMTIwMy42NzE6OjExMTIwMy42NzI6OjExMTIwMy42ODQ6OjExMTIwMy43MTU6OjExMTIwMy43Mzk6OjExMTIwMy43NjE6OjExMTIwMy44MDE6OjExMTIwMy44Mzc6OjExMTIwMy44Njc6OjExMTIwMy44OTE6OjExMTIwMy44OTc6OjExMTIwMy45MDQ6OjExMTIwMy45MTU6OjExMTIwMy45MzU6OjExMTIwMy45NTU6OjExMTIwMy45NjI6OjExMTIwMy45Njk6OjExMTIwMy45NzI6OjExMTIwMy45ODg6OjExMTIwMy45OTc6OjExMTIwMy45OTc6OjExMTIwNDo6MTExMjA0LjAwMTo6MTExMjA0LjAwMTo6MTExMjA0LjAwMTo6MTExMjA0LjAwMTo6MTExMjA0LjAwMTo6MTExMjA0LjAxNjo6MTExMjA0LjA1Mjo6MTExMjA0LjA2Mzo6MTExMjA0LjA3OjoxMTEyMDQuMDgxOjoxMTEyMDQuMDkzOjoxMTEyMDQuMDk3OjoxMTEyMDQuMDk3OjoxMTEyMDQuMDk5OjoxMTEyMDQuMTE6OjExMTIwNC4xMjg6OjExMTIwNC4xNjQ6Ojg4MzEyNjI4Ojo4ODMxNDc2Nzo6ODgzMTYyOTA6Ojg4MzE3Mjg0Ojo4ODMxNzY5NDo6ODgzMTc2OTQ6Ojg4MzE3Njk0Ojo4ODMxNzY5NCIvPg0KKwkJCQkJPHZhbCBvPSIxN2Q3MjAiIHY9Ijg4MzE3Njk0Ojo4ODMxNzY5NDo6ODgzMTc2OTQ6Ojg4MzE3Njk0Ojo4ODMxNzY5ODo6ODgzMTc3MDA6Ojg4MzE3NzEzOjo4ODMxNzcxMzo6ODgzMTc3MTM6Ojg4MzE3NzEzOjo4ODMxNzc3ODo6ODgzMTc3Nzg6Ojg4MzE3Nzc4Ojo4ODMxNzc3ODo6ODgzMTc3Nzg6Ojo6ODgzMjA1MTE6Ojg4MzIwOTE3Ojo4ODMyMDkxNzo6ODgzMjA5MTc6Ojg4MzIwOTE3Ojo4ODMyMDkxNzo6ODgzMjA5MTc6Ojg4MzIwOTE3Ojo4ODMyMDkxNzo6ODgzMjA5MTc6Ojg4MzIwOTE3Ojo4ODMyMDkxNzo6ODgzMjE0MjA6Ojg4MzIzMDQyOjo4ODMyMzA0Mjo6ODgzMjMwNTM6Ojg4MzIzMTA1Ojo6Ojg4MzIzMTM3Ojo4ODMyMzEzNzo6ODgzMjMxMzc6Ojg4MzIzMTM3Ojo4ODMyMzE0ODo6ODgzMjM3NzU6Ojg4MzIzNzg1Ojo4ODMyMzc4NTo6ODgzMjM3ODU6Ojg4MzIzNzg1Ojo4ODMyMzc4NTo6ODgzMjM3ODU6Ojg4MzIzNzg1Ojo4ODMyMzc4NTo6ODgzMjM3ODU6Ojg4MzIzNzg1Ii8+DQorCQkJCQk8dmFsIG89IjFhOTY0MCIgdj0iODgzMjM3ODU6Ojg4MzIzNzg1Ojo4ODMyMzc4NTo6ODgzMjM3ODU6Ojg4MzIzNzkwOjo4ODMyMzc5MDo6ODgzMjM3OTA6Ojg4MzIzNzkwOjo4ODMyMzc5MDo6ODgzMjM3OTAiLz4NCisJCQkJCTx2YWwgbz0iMWM3NDYwIiB2PSI4ODM0MjEzMDo6ODgzNDIyMDk6Ojg4MzQyNTI5Ojo4ODM0NDQ1ODo6ODgzNDQ0ODU6Ojg4MzQ0NDg1Ojo4ODM0NTkwNTo6ODgzNDgzNzk6Ojg4MzUwNDk0Ojo4ODM1MDgxMzo6ODgzNTA4MTM6Ojg4MzUxMDU2Ojo4ODM1MTA1Njo6ODgzNTEwNTY6Ojg4MzUxMDU2Ojo4ODM1MTI4Nzo6ODgzNTI0Mjg6Ojg4MzUzNTk4Ojo4ODM1MzU5ODo6ODgzNTM2MDE6Ojg4MzUzODU5Ojo4ODM1Mzg2Mjo6ODgzNTM4NjI6Ojg4MzUzODYzOjo4ODM1Mzg2Mzo6ODgzNTM4NjM6Ojg4MzUzODYzOjo4ODM1Mzg2Mzo6ODgzNTM4NjM6Ojg4MzUzODYzOjo4ODM1Mzg2Mzo6ODgzNTM4NjM6Ojg4MzUzODYzOjo4ODM1Mzg2Mzo6ODgzNTM4NjM6Ojg4MzUzODYzOjo4ODM1Mzg2Mzo6ODgzNTM5NjU6Ojg4MzUzOTY1Ojo4ODM1Mzk2NTo6ODgzNTQwMTg6Ojg4MzU0MDE4Ojo4ODM1NDAxODo6ODgzNTQwMTg6Ojg4MzU0MDE4Ojo4ODM1NDAyMTo6ODgzNTQwMjE6Ojg4MzU0MDIxIi8+DQorCQkJCQk8dmFsIG89IjFmMTc2MCIgdj0iODgzNTQxNjY6Ojg4MzU0NTUyOjo4ODM1NTEzMDo6ODgzNTcxNTQ6Ojg4MzU5MjI2Ojo4ODM1OTgyODo6ODgzNTk4Mjg6Ojg4MzYwMDY4Ojo4ODM2MDEyNjo6ODgzNjAxMjY6Ojg4MzYwMTI2Ojo4ODM2MDE5NDo6ODgzNjAyMDU6Ojg4MzYwMjA1Ojo4ODM2MDIwNTo6ODgzNjAyMjM6Ojg4MzYwNDA2Ojo4ODM2MTM4NTo6ODgzNjIyOTc6Ojg4MzYzNTExOjo4ODM2NTc1Nzo6ODgzNjc4MjE6Ojg4MzY5MjczOjo4ODM2OTkyOTo6ODgzNzE1Mzg6Ojg4MzczMzIyOjo4ODM3Mzg5OTo6ODgzNzQ2Mjk6Ojg4Mzc0NjMxOjo4ODM3NDY1NTo6ODgzNzQ2NTc6Ojg4Mzc0ODIyOjo4ODM3NTQ2Njo6ODgzNzU0NzE6Ojg4Mzc1NDcxOjo4ODM3NTQ3MTo6ODgzNzU1OTk6Ojg4Mzc1NTk5Ojo4ODM3NTU5OTo6ODgzNzYxMDI6Ojg4Mzc3NDMyOjo4ODM3ODMwNjo6ODgzNzgzMTk6Ojg4Mzc4NDY3Ojo4ODM3ODkxNzo6ODgzNzg5MTc6Ojg4Mzc4OTE4Ojo4ODM3OTQ4MiIvPg0KKwkJCQkJPHZhbCBvPSIyMWJhNjAiIHY9Ijg4MzgwNzc3Ojo4ODM4MjI3NTo6ODgzODI2NjE6Ojg4MzgyNzc3Ojo4ODM4MzI1MDo6ODgzODM1OTI6Ojg4MzgzNTkyOjo4ODM4MzcxMTo6ODgzODUyMDM6Ojg4Mzg1MjU3Ojo4ODM4NTI1Nzo6ODgzODg0NTk6Ojg4MzkwMzk0Ojo4ODM5MDg1MDo6ODgzOTE1NjE6Ojg4MzkzODM0Ojo4ODM5NzU3OTo6ODgzOTc4MTk6Ojg4Mzk3ODE5Ojo4ODM5OTIxODo6ODg0MDE3OTI6Ojg4NDA1Mzg2Ojo4ODQwODEwMDo6ODg0MDgxMjI6Ojg4NDA4MzY1Ojo4ODQwODUwNTo6ODg0MDg1MDU6Ojg4NDEwMjQ2Ojo4ODQxMTY2MDo6ODg0MTI4NDk6Ojg4NDEzMzMzOjo4ODQxNDUyMTo6ODg0MTY2OTY6Ojg4NDE3NTgzOjo4ODQxNzY4Mzo6ODg0MTc4NTQ6Ojg4NDE3ODU0Ojo4ODQxNzg4Mzo6ODg0MTgwMjc6Ojg4NDE5MTU5Ojo4ODQyMDEwODo6ODg0MjEwNzE6Ojg4NDIxODI4Ojo4ODQyMzU1OTo6ODg0MjY4OTQ6Ojg4NDI5OTc1Ojo4ODQzMjgyODo6ODg0MzI4MjgiLz4NCisJCQkJCTx2YWwgbz0iMjQ2YjcwIiB2PSI4ODQzMjgyODo6ODg0MzI4Mjg6Ojg4NDM0OTUxOjo4ODQzOTU0ODo6ODg0NDA5MTY6Ojg4NDQxMDMwOjo4ODQ0MTAzMDo6ODg0NDEwMzA6Ojg4NDQxMDMwOjo4ODQ0MTAzMDo6ODg0NDExMTY6Ojg4NDQxMTE2Ojo4ODQ0MTExNjo6ODg0NDExMTY6Ojg4NDQxMjE4Ojo4ODQ0MTczOTo6ODg0NDIzNjM6Ojg4NDQzNTQyOjo4ODQ0NTM0NDo6ODg0NDg2MjQ6Ojg4NDUxNDY0Ojo4ODQ1MTQ2NDo6ODg0NTE0NzM6Ojg4NDUxNjUyOjo4ODQ1MTg0MDo6ODg0NTIzMjM6Ojg4NDUzMzMyOjo4ODQ1NTg4OTo6ODg0NTg1MDc6Ojg4NDYwNTk1Ojo4ODQ2MDc3Mjo6ODg0NjIwNjU6Ojg4NDYyMjY0Ojo4ODQ2MjYwODo6ODg0NjI2MjI6Ojg4NDYyNjIyOjo4ODQ2MjYyMjo6ODg0NjI2MjI6Ojg4NDYyNjIyOjo4ODQ2MjYyMjo6ODg0NjI4MjY6Ojg4NDYzNTM4Ojo4ODQ2NDY2Nzo6ODg0NjYzMTA6Ojg4NDY4MzA5Ojo4ODQ3MTM5Mzo6ODg0NzQzMDg6Ojg4NDc3Mjc0Ii8+DQorCQkJCQk8dmFsIG89IjI3MGU3MCIgdj0iODg0ODAzNzg6Ojg4NDgxMTU3Ojo4ODQ4MTc2Njo6ODg0ODE3NjY6Ojg4NDgxNzY2Ojo4ODQ4MTc2Njo6ODg0ODMzNDA6Ojg4NDg1NjI2Ojo4ODQ4NjExOCIvPg0KKwkJCQk8L3Bhcj4NCisJCQkJPHBhciBtZW1pbmQ9IjMzNDAxIiBoPSIzZGMxYTdlMCI+DQorCQkJCQk8dmFsIG89IjAiIHY9Ijk0Mzc3OTU6Ojk0NDE5NzI6Ojk0NDYxNDQ6Ojk0NTAyMTc6Ojk0NTQyNjE6Ojk0NTgxODQ6Ojk0NjIzNDY6Ojk0Njc0MzQ6Ojk0NzMxODY6Ojk0ODAxMjY6Ojk0ODc0MDQ6Ojk0OTQ3Nzk6Ojk1MDE5MTY6Ojk1MDg2MTU6Ojk1MTA2MjE6Ojk1MTA2Mjg6Ojk1MTA2MzU6Ojk1MTA2NDI6Ojk1MTA2NDk6Ojk1MTA2NTY6Ojk1MTA2NjM6Ojk1MTA2NzE6Ojk1MTA2Nzg6Ojk1MTA2ODc6Ojk1MTA2OTU6Ojk1MTA3MDM6Ojk1MTA3MTI6Ojk1MTA3MjA6Ojk1MTA3Mjg6Ojk1MTA3MzY6Ojk1MTA3NDM6Ojk1MTA3NTE6Ojk1MTA3NjA6Ojk1MTA3Njg6Ojk1MTA3NzY6Ojk1MTA3ODQ6Ojk1MTA3OTI6Ojk1MTA4MDA6Ojk1MTA4MDk6Ojk1MTA4MTc6Ojk1MTA4MjY6Ojk1MTA4MzM6Ojk1MTA4NDA6Ojk1MTA4NDc6Ojk1MTA4NTU6Ojk1MTA4NjM6Ojk1MTA4NzE6Ojk1MTA4NzkiLz4NCisJCQkJCTx2YWwgbz0iMmEzMDAiIHY9Ijk1MTA4ODg6Ojk1MTA4OTY6Ojk1MTA5MDQ6Ojk1MTA5MTI6Ojk1MTA5MjA6Ojk1MTA5Mjg6Ojk1MTA5MzU6Ojk1MTA5NDQ6Ojk1MTA5NTI6Ojk1MTA5NjA6Ojk1MTA5Njg6Ojk1MTA5NzY6Ojk1MTA5ODQ6Ojk1MTA5OTM6Ojk1MTEwMDE6Ojk1MTEwMDk6Ojk1MTEwMTY6Ojk1MTEwMjM6Ojk1MTEwMzA6Ojk1MTEwMzg6Ojk1MTEwNDU6Ojk1MTEwNTM6Ojk1MTEwNjE6Ojk1MTEwNjk6Ojk1MTEwNzg6Ojk1MTEwODY6Ojk1MTEwOTU6Ojk1MTExMDM6Ojk1MTExMTI6Ojk1MTExMjE6Ojk1MTExMjk6Ojk1MTExMzc6Ojk1MTExNDQ6Ojo6OTUxMTE1ODo6OTUxMTE2NTo6OTUxMTE3MTo6OTUxMTE3ODo6OTUxMTE4NDo6OTUxMTE5MDo6OTUxMTE5Nzo6OTUxMTIwMzo6OTUxMTIwOTo6OTUxMTIxNjo6OTUxMTIyMzo6OTUxMTIzMTo6OTUxMTIzOTo6OTUxMTI0Nzo6OTUxMTI1NSIvPg0KKwkJCQkJPHZhbCBvPSI1NTQxMCIgdj0iOTUxMTI2NDo6OTUxMTI3Mjo6OTUxMTI4MDo6OTUxMTI4OTo6OTUxMTI5Nzo6OTUxMTMwNTo6OTUxMTMxMzo6OTUxMTMyMDo6OTUxMTMyNzo6OTUxMTMzMzo6OTUxMTM0MDo6OTUxMTM0Nzo6OTUxMTM1NDo6OTUxMTM2MTo6OTUxMTM2ODo6OTUxMTM3NTo6OTUxMTM4Mjo6OTUxMTM4OTo6OTUxMTM5Nzo6OTUxMTQwNDo6OTUxMTQxMjo6OTUxMTQxOTo6OTUxMTQyNzo6OTUxMTQzNTo6OTUxMTQ0Mzo6OTUxMTQ1MTo6OTUxMTQ2MDo6OTUxMTQ2ODo6OTUxMTQ3Njo6OTUxMTQ4NDo6OTUxMTQ5Mjo6OTUxMTUwMDo6OTUxMTUwNjo6OTUxMTUxMzo6OTUxMTUxOTo6OTUxMTUyNjo6OTUxMTUzMzo6OTUxMTUzOTo6OTUxMTU0Njo6OTUxMTU1Mzo6OTUxMTU1OTo6OTUxMTU2NTo6OTUxMTU3Mjo6OTUxMTU4MDo6OTUxMTU4Nzo6OTUxMTU5NTo6OTUxMTYwMzo6OTUxMTYxMSIvPg0KKwkJCQkJPHZhbCBvPSI3ZjcxMCIgdj0iOTUxMTYxOTo6OTUxMTYyODo6OTUxMTYzNzo6OTUxMTY0Njo6OTUxMTY1NDo6OTUxMTY2Mjo6OTUxMTY3MDo6OTUxMTY3Nzo6OTUxMTY4NDo6OTUxMTY5MTo6OTUxMTY5ODo6OTUxMTcwNTo6OTUxMTcxMzo6OTUxMTcyMDo6OTUxMTcyNzo6OTUxMTczNDo6OTUxMTc0MDo6OTUxMTc0Nzo6OTUxMTc1NDo6OTUxMTc2MTo6OTUxMTc2OTo6OTUxMTc3Nzo6OTUxMTc4NTo6OTUxMTc5NDo6OTUxMTgwMzo6OTUxMTgxMTo6OTUxMTgyMDo6OTUxMTgyODo6OTUxMTgzNjo6OTUxMTg0NDo6OTUxMTg1Mjo6OTUxMTg1OTo6OTUxMTg2Njo6OTUxMTg3Mzo6OTUxMTg4MDo6OTUxMTg4ODo6OTUxMTg5NTo6OTUxMTkwMjo6OTUxMTkwOTo6OTUxNDM5MDo6OTUxOTcwOTo6OTUyMjA4OTo6OTUyMjIzNDo6OTUyMjIzNDo6OTUyMjIzNDo6OTUyMjIzNTo6OTUyMjIzNTo6OTUyMjIzNSIvPg0KKwkJCQkJPHZhbCBvPSJhOWExMCIgdj0iOTUyMjIzNzo6OTUyMjI0MDo6OTUyMjI0NTo6OTUyMjI0NTo6OTUyMjI0NTo6OTUyMjI0NTo6OTUyMjMwNTo6OTUyMjQxNzo6OTUyMjQ3Mjo6Ojo5NTIyNTY0Ojo5NTIyNjk4Ojo5NTIyOTU3Ojo5NTIzNjMwOjo5NTI0NDUxOjo5NTI1Mjk2Ojo5NTI2ODMwOjo5NTI4NTc5Ojo5NTMwMjc5Ojo5NTMyMTgyOjo5NTMzNzk5Ojo5NTM0NTUyOjo5NTM1NDA0Ojo5NTM2MzE3Ojo5NTM2MzY0Ojo5NTM2MzY0Ojo5NTM2MzY0Ojo5NTM2MzY0Ojo5NTM2MzY0Ojo5NTM2MzY0Ojo5NTM2MzY1Ojo5NTM2MzY1Ojo5NTM2MzY2Ojo5NTM2Mzc4Ojo5NTM2NDA1Ojo5NTM2NDQ1Ojo5NTM2NDUyOjo5NTM2NDU0Ojo5NTM2NDYwOjo5NTM2NTAxOjo5NTM2ODU1Ojo5NTM3MDg3Ojo5NTM3MzE4Ojo5NTM3NDc0Ojo5NTM3NTI1Ojo5NTM3NTQ4Ojo5NTM3NTgxOjo5NTM3Njc3Ojo5NTM3Njc4Ii8+DQorCQkJCQk8dmFsIG89ImQ0YjIwIiB2PSI5NTM3Njc4Ojo5NTM3Njc4Ojo5NTM3Njc4Ojo5NTM3Njc4Ojo5NTM3NzM2Ojo5NTM4MTQzOjo5NTM4ODkzOjo5NTQwNTQ2Ojo5NTQyODc1Ojo5NTQ1MzI0Ojo5NTQ3ODY5Ojo5NTUwNzg4Ojo5NTUzNTgyOjo5NTU2NDUzOjo5NTU5MjM3Ojo5NTYyMDI1Ojo5NTY1OTUxOjo5NTY5OTQ3Ojo5NTczNjkyOjo5NTc3MDQwOjo5NTgwMDMyOjo5NTgyNDYyOjo5NTg0MzQ3Ojo5NTg1NTYyOjo5NTg2MjI2Ojo5NTg2OTI4Ojo5NTg3NTc5Ojo5NTg4MDc3Ojo5NTg4OTc0Ojo5NTkxMTkyOjo5NTkzNzczOjo5NTk3NTYwOjo5NjAxODA4Ojo5NjA2MTYwOjo5NjEwNzU2Ojo5NjE1MjI2Ojo5NjE5Njk0Ojo5NjI0NDA5Ojo5NjI5MTI0Ojo5NjMzNDkzOjo5NjM3ODQ5Ojo5NjQxOTIyOjo5NjQ1Nzc2Ojo5NjQ5MzE2Ojo5NjUyMzc4Ojo5NjU1NTAyOjo5NjU4NDc5Ojo5NjYxMDIxIi8+DQorCQkJCQk8dmFsIG89ImZlZTIwIiB2PSI5NjYzMjM3Ojo5NjY1MjI4Ojo5NjY3MTg3Ojo5NjY4OTI1Ojo5NjcwNzc2Ojo5NjczMjk3Ojo5Njc2NTAyOjo5NjgwNjczOjo5NjgzMTkxOjo5Njg3NjkwOjo5NjkyMjc5Ojo5Njk2NDgxOjo5NzAwNjc5Ojo5NzA0ODU1Ojo5NzA5MTYxOjo5NzEzNTQyOjo5NzE3ODY3Ojo5NzIyMTY3Ojo5NzI2NDUxOjo5NzMwMzYzOjo5NzMzODU5Ojo5NzM2NzU0Ojo5NzM5NDc1Ojo5NzQxNDQwOjo5NzQzMjYwOjo5NzQ1MDY0Ojo5NzQ2ODgzOjo5NzQ4NTE3Ojo5NzUwMjEwOjo5NzUyNjE5Ojo5NzU1NzMwOjo5NzU5OTQ5Ojo5NzY0Njg2Ojo5NzY5Mzc0Ojo5Nzc0NDY1Ojo5Nzc4NzQxOjo5NzgzMDIzOjo5Nzg3MTM1Ojo4OTc3NS4xMjM6Ojg5Nzc5LjA0Ojo4OTc4My4wMzY6Ojg5Nzg2LjYzMzo6ODk3OTAuMDkxOjo4OTc5My4zNjk6Ojg5Nzk2LjMyNDo6ODk3OTguNTg1Ojo4OTgwMC42MzU6Ojg5ODAyLjYyMSIvPg0KKwkJCQkJPHZhbCBvPSIxMjkxMjAiIHY9Ijg5ODA0LjM4MTo6ODk4MDYuMDYzOjo4OTgwNy43NTI6Ojg5ODA5LjI4NDo6ODk4MTAuODY6Ojg5ODEzLjAxMjo6ODk4MTUuNjA3Ojo4OTgxOC43OTo6ODk4MjIuMTU0Ojo4OTgyNC43MTQ6Ojg5ODI3LjQyNTo6ODk4MzAuNTA4Ojo4OTgzMi42NzM6Ojg5ODMyLjcxOjo4OTgzMi43Mjg6Ojg5ODMyLjc0NTo6ODk4MzIuNzY3Ojo4OTgzMi43ODU6Ojg5ODMyLjc5ODo6ODk4MzIuODA5Ojo4OTgzMi44MTc6Ojg5ODMyLjgyOjo4OTgzMi44MjU6Ojg5ODMyLjgyNTo6ODk4MzIuODI1Ojo4OTgzMi44MjU6Ojg5ODMyLjgyNTo6ODk4MzIuODI1Ojo4OTgzMi44MjU6Ojg5ODMyLjgyNTo6ODk4MzIuODI1Ojo4OTgzMi44MjY6Ojg5ODMyLjgzMTo6ODk4MzIuODM0Ojo4OTgzMi44Mzg6Ojg5ODMyLjg0Ojo4OTgzMi44NDo6ODk4MzIuODQ6Ojg5ODMyLjg0Ojo4OTgzMi44NDM6Ojg5ODMyLjg0ODo6ODk4MzIuODUxOjo4OTgzMi44NTQ6Ojg5ODMyLjg1ODo6ODk4MzIuODYxOjo4OTgzMi44NjQ6Ojg5ODMyLjg2NDo6ODk4MzIuODY0Ii8+DQorCQkJCQk8dmFsIG89IjE1MzQyMCIgdj0iODk4MzIuODY0Ojo4OTgzMi44NjQ6Ojg5ODMyLjg2NDo6ODk4MzIuODY0Ojo4OTgzMi44NjQ6Ojg5ODMyLjg2NDo6ODk4MzIuODY0Ojo4OTgzMi44NjQ6Ojg5ODMyLjg2NDo6ODk4MzIuODY0Ojo4OTgzMi44NjQ6Ojg5ODMyLjg2NDo6ODk4MzIuODY0Ojo4OTgzMi44NjQ6Ojg5ODMyLjg2NDo6ODk4MzIuODY4Ojo4OTgzMi44Nzc6Ojg5ODMyLjg4Nzo6ODk4MzIuODk5Ojo4OTgzMi45MDM6Ojg5ODMyLjkwNDo6ODk4MzIuOTA0Ojo4OTgzMi45MDQ6Ojg5ODMyLjkwNDo6ODk4MzIuOTA0Ojo4OTgzMi45MDQ6Ojg5ODMyLjkwNDo6ODk4MzIuOTA0Ojo4OTgzMi45MDQ6Ojg5ODMyLjkwNDo6ODk4MzIuOTE2Ojo4OTgzMi45Nzo6ODk4MzMuMDk6Ojg5ODMzLjIwNDo6ODk4MzMuMzA5Ojo4OTgzMy4zOTc6Ojg5ODMzLjQ5Mjo6ODk4MzMuNTk6Ojg5ODMzLjY4Mzo6ODk4MzMuNzg4Ojo5Nzk0NDgyOjo5ODAxMjAxOjo5ODA4MjE3Ojo5ODE1MzcyOjo5ODIxOTMwOjo5ODI4MDIyOjo5ODMzODYxOjo5ODM5NDkzIi8+DQorCQkJCQk8dmFsIG89IjE3ZDcyMCIgdj0iOTg0NDk5Njo6OTg1MDQ0MTo6OTg1NTY4MTo6OTg2MDc5NTo6OTg2NjMxMTo6OTg3Mjg3Mzo6OTg4MDAyNzo6OTg5MTE5Mzo6OTkwNDM5ODo6OTkxNzQ1NDo6OTkyOTk3NDo6OTk0MTc5Njo6OTk1MzY5ODo6OTk2NTY5ODo6OTk3Nzc5NDo6Ojo5OTkzODM0OjoxMDAwMTcwMTo6MTAwMDk2MjE6OjEwMDE2ODAzOjoxMDAyMzEyNDo6MTAwMjkxMjM6OjEwMDM0MTUxOjoxMDAzODUxMzo6MTAwNDI3ODk6OjEwMDQ2OTk2OjoxMDA1MTE3ODo6MTAwNTU0NDM6OjEwMDYwMzM2OjoxMDA2NTY2NTo6MTAwNzE3ODA6OjEwMDc4Mjk5OjoxMDA4NDQ0Njo6OjoxMDA5NzEyMzo6MTAxMDMyOTM6OjEwMTA5NjQxOjoxMDExNjAyMzo6MTAxMjI1NjI6OjEwMTI2Nzg1OjoxMDEyOTQxNDo6MTAxMzIyODg6OjEwMTM1NjQ1OjoxMDEzODQ4OTo6MTAxNDA0MTY6OjEwMTQyMjM4OjoxMDE0MzM2ODo6MTAxNDQ0ODc6OjEwMTQ1NDk0OjoxMDE0NjUzMiIvPg0KKwkJCQkJPHZhbCBvPSIxYTk2NDAiIHY9IjEwMTQ3MzQxOjoxMDE0Nzc5Mzo6MTAxNDg0ODY6OjEwMTUwMDM5OjoxMDE1MjA1MTo6MTAxNTQ2NDM6OjEwMTU3NDA2OjoxMDE2MDE3MDo6MTAxNjI5NTU6OjEwMTY1MDU4Ii8+DQorCQkJCQk8dmFsIG89IjFjNzQ2MCIgdj0iMTAyMDg3ODQ6OjEwMjA4Nzg0OjoxMDIwODc4NDo6MTAyMDg3ODQ6OjEwMjA4Nzg0OjoxMDIwODc4NDo6MTAyMDg3ODQ6OjEwMjA4Nzg0OjoxMDIwODc4NDo6MTAyMDg3ODQ6OjEwMjA4Nzg0OjoxMDIwODc4NDo6MTAyMDg3ODQ6OjEwMjA4Nzg0OjoxMDIwODc4NDo6MTAyMDg3ODQ6OjEwMjA4Nzg0OjoxMDIwODc4NDo6MTAyMDg3ODQ6OjEwMjA4Nzg0OjoxMDIxMDg4Mjo6MTAyMTQ0NDQ6OjEwMjE4MDkzOjoxMDIyMTYyMzo6MTAyMjUyMjM6OjEwMjI4ODU4OjoxMDIzMzY0MTo6MTAyMzk5MDY6OjEwMjQ2NTk4OjoxMDI1MzQyMDo6MTAyNjAyOTU6OjEwMjY3MDEwOjoxMDI3MzMwNTo6MTAyNzkyNDU6OjEwMjg0NjgyOjoxMDI4OTU5NDo6MTAyOTQ0NjE6OjEwMjk3MTUwOjoxMDI5OTA2MDo6MTAzMDA4Nzk6OjEwMzAyNzgxOjoxMDMwNTA0MTo6MTAzMDc2MDA6OjEwMzEwMjU2OjoxMDMxMzAxNzo6MTAzMTU3MzI6OjEwMzE4MzU3OjoxMDMyMDk1MiIvPg0KKwkJCQkJPHZhbCBvPSIxZjE3NjAiIHY9IjEwMzIzNDUzOjoxMDMyNTg4MTo6MTAzMjgzMDE6OjEwMzMwOTA2OjoxMDMzMzk5MTo6MTAzMzczNzg6OjEwMzQwOTEzOjoxMDM0NDI3MDo6MTAzNDc0NzQ6OjEwMzUwODMxOjoxMDM1Mzg4MDo6MTAzNTY0NDM6OjEwMzU4ODkwOjoxMDM2MTI1Nzo6MTAzNjM0Mjc6OjEwMzY1NTQyOjoxMDM2Nzg1MDo6MTAzNzA2MDI6OjEwMzczNzAwOjoxMDM3NzU0ODo6MTAzODIzMzU6OjEwMzg3OTU5OjoxMDM5MzY3OTo6MTAzOTkwMjg6OjEwNDA0NDY5OjoxMDQxMDMyODo6MTA0MTY1NTQ6OjEwNDIyOTY0OjoxMDQyOTQ2NDo6MTA0MzU1MTA6OjEwNDQwODg3OjoxMDQ0NjA3MDo6MTA0NTA1NDQ6OjEwNDU0ODMzOjoxMDQ1ODczMjo6MTA0NjI0MTk6OjEwNDY1NzE0OjoxMDQ2ODg0Mjo6MTA0NzE4ODI6OjEwNDc0NzcyOjoxMDQ3NzkwMTo6MTA0ODE4OTc6OjEwNDg2OTk3OjoxMDQ5Mjk3Mzo6MTA0OTkyMDc6OjEwNTA1MzI0OjoxMDUxMTU1NTo6MTA1MTc2MDIiLz4NCisJCQkJCTx2YWwgbz0iMjFiYTYwIiB2PSIxMDUyMzU0NDo6MTA1MjkzNjI6OjEwNTM1NzYwOjoxMDU0MTg5NDo6MTA1NDc3NjI6OjEwNTUzNDA3OjoxMDU1ODg5MDo6MTA1NjQxMTg6OjEwNTY4NDI2OjoxMDU3MjI5NDo6MTA1NzU3NzE6OjEwNTc3NzY3OjoxMDU3OTY0Nzo6MTA1ODE3MjA6OjEwNTgzNzE2OjoxMDU4NTQ0NDo6MTA1ODczNTQ6OjEwNTkwOTY4OjoxMDU5NTEyNjo6MTA1OTk3MzE6OjEwNjA0NDYwOjoxMDYwOTAwMDo6MTA2MTM3NTM6OjEwNjE4NTE2OjoxMDYyMzI0MTo6MTA2Mjg0Mjg6OjEwNjMzOTk5OjoxMDYzOTUzOTo6MTA2NDUxMjU6OjEwNjUwNDA1OjoxMDY1NTY0Mzo6MTA2NjA0NzE6OjEwNjY0NzM4OjoxMDY2ODg2Mjo6MTA2NzI2NzU6OjEwNjc1OTQ3OjoxMDY3OTE5NTo6MTA2ODIzMjI6OjEwNjg1MzQwOjoxMDY4ODIwNDo6MTA2OTE0NjA6OjEwNjk1NDQzOjoxMDcwMDAzNzo6MTA3MDU3MDI6OjEwNzExODczOjoxMDcxODMwOTo6MTA3MjQ5MDc6OjEwNzMxMzY0Ii8+DQorCQkJCQk8dmFsIG89IjI0NmI3MCIgdj0iMTA3NDQyOTg6OjEwNzUwNTczOjoxMDc1NjMzNjo6MTA3NjE1OTQ6OjEwNzY3MTg0OjoxMDc3MjkwMTo6MTA3Nzg2Nzk6OjEwNzg0MTkzOjoxMDc4OTE3Mzo6MTA3OTMzOTE6OjEwNzk2ODk1OjoxMDgwMDUzODo6MTA4MDQxNTE6OjEwODA3NzMyOjoxMDgxMTIxNDo6MTA4MTQ5NTI6OjEwODE5MjM2OjoxMDgyMzc3Mjo6MTA4MjkyMTI6OjEwODM0OTIwOjoxMDg0MTQxODo6MTA4NTA3MDE6OjEwODU4Mjg5OjoxMDg2NDMxNTo6MTA4NzA1ODY6OjEwODc2NTI2OjoxMDg4MjQ5Njo6MTA4ODgyOTE6OjEwODkzNzEzOjoxMDg5OTA5MDo6MTA5MDQ0NDQ6OjEwOTA5MTE5OjoxMDkxMzcwMDo6MTA5MTc2OTk6OjEwOTIxMzEwOjoxMDkyNDgyNjo6MTA5Mjg0Nzg6OjEwOTMyMTIxOjoxMDkzNTcxNTo6MTA5Mzk0MTI6OjEwOTQzMjY1OjoxMDk0NzE1NDo6MTA5NTEyOTk6OjEwOTU1NjQ3OjoxMDk1OTgwMjo6MTA5NjM3NTU6OjEwOTY3NTI2OjoxMDk3MTIwMSIvPg0KKwkJCQkJPHZhbCBvPSIyNzBlNzAiIHY9IjEwOTc0ODAxOjoxMDk3OTA4Njo6MTA5ODM5MjI6OjEwOTg5MDUzOjoxMDk5NDA4Mzo6MTA5OTkwNjk6OjExMDAzNTI5OjoxMTAwNzM3OTo6MTEwMTA3MzgiLz4NCisJCQkJPC9wYXI+DQorCQkJCTxwYXIgbWVtaW5kPSIzMzAwMSIgaD0iM2RjMWE3ZTAiPg0KKwkJCQkJPHZhbCBvPSIwIiB2PSIzODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2Ii8+DQorCQkJCQk8dmFsIG89IjJhMzAwIiB2PSIzODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2Ojo6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzYiLz4NCisJCQkJCTx2YWwgbz0iNTU0MTAiIHY9IjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzYiLz4NCisJCQkJCTx2YWwgbz0iN2Y3MTAiIHY9IjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1NzY6OjM4NjEyNTc2OjozODYxMjU3Njo6Mzg2MTI1ODc6OjM4NjEzMDk3OjozODYxMzU4NTo6Mzg2MTQ0OTA6OjM4NjE0OTA2OjozODYxNTM4MDo6Mzg2MTYwNTMiLz4NCisJCQkJCTx2YWwgbz0iYTlhMTAiIHY9IjM4NjE3MTIzOjozODYxNzI1ODo6Mzg2MTcyOTY6OjM4NjE3NDE0OjozODYxNzkyNjo6Mzg2MTg3NDE6OjM4NjE4OTQyOjozODYxOTAyMTo6Mzg2MTkwNjY6Ojo6Mzg2MTkxNDc6OjM4NjE5MjE5OjozODYxOTI4MTo6Mzg2MTkyODE6OjM4NjE5MjgxOjozODYxOTI4MTo6Mzg2MTkyODE6OjM4NjE5MjgxOjozODYxOTI4MTo6Mzg2MTkyODE6OjM4NjE5MjgxOjozODYxOTI4MTo6Mzg2MTkyODE6OjM4NjE5MjgxOjozODYxOTc4Njo6Mzg2MjAyNTc6OjM4NjIwNzAyOjozODYyMTA1ODo6Mzg2MjE1ODc6OjM4NjIyMDc4OjozODYyMjQ5NDo6Mzg2MjMyODQ6OjM4NjIzNTM2OjozODYyMzY1NTo6Mzg2MjM3NzY6OjM4NjIzODMxOjozODYyNDAzNTo6Mzg2MjQyMzI6OjM4NjI0MzY5OjozODYyNDczNTo6Mzg2MjQ3MzU6OjM4NjI0NzM1OjozODYyNDczNTo6Mzg2MjQ3Mzc6OjM4NjI0NzU1OjozODYyNDc5MTo6Mzg2MjQ4NjM6OjM4NjI0ODc5OjozODYyNTQ2MCIvPg0KKwkJCQkJPHZhbCBvPSJkNGIyMCIgdj0iMzg2MjYxMTA6OjM4NjI2ODA3OjozODYyNzYzOTo6Mzg2Mjg3ODE6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMiIvPg0KKwkJCQkJPHZhbCBvPSJmZWUyMCIgdj0iMzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjozODYyOTczMjo6Mzg2Mjk3MzI6OjM4NjI5NzMyOjoyMjk3MzQuMzk4OjoyMjk3MzQuMzk4OjoyMjk3MzQuMzk4OjoyMjk3MzQuMzk4OjoyMjk3MzQuMzk4OjoyMjk3MzQuMzk4OjoyMjk3MzQuMzk4OjoyMjk3MzQuMzk4OjoyMjk3MzQuMzk4OjoyMjk3MzQuMzk4Ii8+DQorCQkJCQk8dmFsIG89IjEyOTEyMCIgdj0iMjI5NzM0LjM5ODo6MjI5NzM0LjM5ODo6MjI5NzM0LjM5ODo6MjI5NzM0LjM5ODo6MjI5NzM0LjM5ODo6MjI5NzM0LjM5ODo6MjI5NzM0LjM5ODo6MjI5NzM0LjM5ODo6MjI5NzM0LjM5ODo6MjI5NzM0LjM5ODo6MjI5NzM0LjM5ODo6MjI5NzM0LjM5ODo6MjI5NzM0LjM5ODo6MjI5NzM0LjM5ODo6MjI5NzM0LjM5ODo6MjI5NzM0LjM5ODo6MjI5NzM0LjM5ODo6MjI5NzM0LjM5ODo6MjI5NzM0LjM5ODo6MjI5NzM0LjM5ODo6MjI5NzM0LjM5ODo6MjI5NzM0LjM5ODo6MjI5NzM0LjM5OTo6MjI5NzM0LjQxNzo6MjI5NzM0LjQzMTo6MjI5NzM0LjQ0ODo6MjI5NzM0LjQ2NTo6MjI5NzM0LjQ4NTo6MjI5NzM0LjUwNTo6MjI5NzM0LjUxNDo6MjI5NzM0LjUxNzo6MjI5NzM0LjUxNzo6MjI5NzM0LjUxNzo6MjI5NzM0LjUxNzo6MjI5NzM0LjUxNzo6MjI5NzM0LjUxODo6MjI5NzM0LjUyMTo6MjI5NzM0LjUyMzo6MjI5NzM0LjUyODo6MjI5NzM0LjUzNjo6MjI5NzM0LjUzNjo6MjI5NzM0LjUzNjo6MjI5NzM0LjUzNjo6MjI5NzM0LjUzNjo6MjI5NzM0LjUzNjo6MjI5NzM0LjUzNjo6MjI5NzM0LjUzNzo6MjI5NzM0LjU1NCIvPg0KKwkJCQk8L3Bhcj4NCisJCQk8L2RldmljZT4NCisJCTwvc2VsZWN0Pg0KKwk8L2RhdGE+DQorPC9lbGVjdHJveG1sPg0KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9hdHQ1IGIvbGlieG1sMi90ZXN0L2F0dDUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmMwNTEwNQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9hdHQ1CkBAIC0wLDAgKzEsNzMgQEAKKzwhRE9DVFlQRSBkb2MgWzwhQVRUTElTVCBub3JtSWQgYXR0ciBOTVRPS0VOUyAjSU1QTElFRD5dPgorPGRvYz4KKyAgPCEtLSBubyBub3JtYWxpemF0aW9uIC0tPgorICA8bm9ybSBhdHRyPScgICAnLz4KKyAgPG5vcm0gYXR0cj0nCisgIGZvbyBiYXIgICAnLz4KKyAgPG5vcm0gYXR0cj0nCisKK2Zvb2JhcicvPgorICA8bm9ybSBhdHRyPScgZm9vIGJhcgorJy8+CisgIDxub3JtIGF0dHI9J2Zvb2JhcgorCisnLz4KKyAgPG5vcm0gYXR0cj0nICZhbXA7ICcvPgorICA8bm9ybSBhdHRyPScKKyAgZm9vJmFtcDtiYXIgICAnLz4KKyAgPG5vcm0gYXR0cj0nCisKK2Zvb2JhciZhbXA7Jy8+CisgIDxub3JtIGF0dHI9JyZhbXA7Zm9vIGJhcgorJy8+CisgIDxub3JtIGF0dHI9J2Zvb2JhcgorCismYW1wOycvPgorICA8bm9ybSBhdHRyPScgJmx0OyAnLz4KKyAgPG5vcm0gYXR0cj0nCisgIGZvbyZsdDtiYXIgICAnLz4KKyAgPG5vcm0gYXR0cj0nCisKK2Zvb2JhciZsdDsnLz4KKyAgPG5vcm0gYXR0cj0nJmx0O2ZvbyBiYXIKKycvPgorICA8bm9ybSBhdHRyPSdmb29iYXIKKworJmx0OycvPgorICA8bm9ybSBhdHRyPScgJiN4MjA7JiMxMzsmI3hhOyYjOTsgJy8+CisgIDwhLS0gbm9ybWFsaXphdGlvbiAtLT4KKyAgPG5vcm1JZCBhdHRyPScgICAnLz4KKyAgPG5vcm1JZCBhdHRyPScKKyAgZm9vIGJhciAgICcvPgorICA8bm9ybUlkIGF0dHI9JworCitmb29iYXInLz4KKyAgPG5vcm1JZCBhdHRyPScgZm9vIGJhcgorJy8+CisgIDxub3JtSWQgYXR0cj0nZm9vYmFyCisKKycvPgorICA8bm9ybUlkIGF0dHI9JyAmYW1wOyAnLz4KKyAgPG5vcm1JZCBhdHRyPScKKyAgZm9vJmFtcDtiYXIgICAnLz4KKyAgPG5vcm1JZCBhdHRyPScKKworZm9vYmFyJmFtcDsnLz4KKyAgPG5vcm1JZCBhdHRyPScmYW1wO2ZvbyBiYXIKKycvPgorICA8bm9ybUlkIGF0dHI9J2Zvb2JhcgorCismYW1wOycvPgorICA8bm9ybUlkIGF0dHI9JyAmbHQ7ICcvPgorICA8bm9ybUlkIGF0dHI9JworICBmb28mbHQ7YmFyICAgJy8+CisgIDxub3JtSWQgYXR0cj0nCisKK2Zvb2JhciZsdDsnLz4KKyAgPG5vcm1JZCBhdHRyPScmbHQ7Zm9vIGJhcgorJy8+CisgIDxub3JtSWQgYXR0cj0nZm9vYmFyCisKKyZsdDsnLz4KKyAgPG5vcm1JZCBhdHRyPScgJiMxMzsmI3hhOyYjOTsgJy8+IDwhLS0gUEJNIHNlcmlhbGl6aW5nIGJhY2sgLS0+Cis8L2RvYz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9hdHQ2IGIvbGlieG1sMi90ZXN0L2F0dDYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzk1MDhlOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9hdHQ2CkBAIC0wLDAgKzEsNiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxJbnZvaWNlIHhtbG5zOmNjdHM9InVybjpvYXNpczpuYW1lczp0Yzp1Ymw6Q29yZUNvbXBvbmVudFBhcmFtZXRlcnM6MS4wOjAuNzAiIHhtbG5zOmNjdD0idXJuOm9hc2lzOm5hbWVzOnRjOnVibDpDb3JlQ29tcG9uZW50VHlwZXM6MS4wOjAuNzAiIHhtbG5zOmNhdD0idXJuOm9hc2lzOm5hbWVzOnRjOnVibDpDb21tb25BZ2dyZWdhdGVUeXBlczoxLjA6MC43MCIgeG1sbnM9InVybjpvYXNpczpuYW1lczp0Yzp1Ymw6SW52b2ljZToxLjA6MC43MCI+CisgICA8Y2F0OlJlZmVyZW5jZWRPcmRlcj4KKyAgICAgIDxjYXQ6U2VsbGVyc09yZGVySUQgc2NoZW1lSUQ9InB2YWx1ZS0+UmVmZXJlbmNlZE9yZGVyLlNlbGxlcnNPcmRlcklELnNjaGVtZUlEIiBzY2hlbWVBZ2VuY3lJRD0icHZhbHVlLT5SZWZlcmVuY2VkT3JkZXIuU2VsbGVyc09yZGVySUQuc2NoZW1lQWdlbmN5SUQiIHNjaGVtZVZlcnNpb25JRD0icHZhbHVlLT5SZWZlcmVuY2VkT3JkZXIuU2VsbGVyc09yZGVySUQuc2NoZW1lVmVyc2lvbklEIiBzY2hlbWVBZ2VuY3lTY2hlbWVJRD0icHZhbHVlLT5SZWZlcmVuY2VkT3JkZXIuU2VsbGVyc09yZGVySUQuc2NoZW1lQWdlbmN5U2NoZW1lSUQiIHNjaGVtZUFnZW5jeVNjaGVtZUFnZW5jeUlEPSJwdmFsdWUtPlJlZmVyZW5jZWRPcmRlci5TZWxsZXJzT3JkZXJJRC5zY2hlbWVBZ2VuY3lTY2hlbWVBZ2VuY3lJRCIgc2NoZW1lRGF0YVVSST0icHZhbHVlLT5SZWZlcmVuY2VkT3JkZXIuU2VsbGVyc09yZGVySUQuc2NoZW1lRGF0YVVSSSIgc2NoZW1lVVJJPSJwdmFsdWUtPlJlZmVyZW5jZWRPcmRlci5TZWxsZXJzT3JkZXJJRC5zY2hlbWVVUkkiIFVJRD0icHZhbHVlLT5SZWZlcmVuY2VkT3JkZXIuU2VsbGVyc09yZGVySUQuVUlEIiBVSURSZWY9InB2YWx1ZS0+UmVmZXJlbmNlZE9yZGVyLlNlbGxlcnNPcmRlcklELlVJRFJlZiIgVUlEUmVmcz0icHZhbHVlLSZndDtSZWZlcmVuY2VkT3JkZXIuU2VsbGVyc09yZGVySUQuVUlEUmVmczAiIGxhbmd1YWdlPSJwdmFsdWUtPlJlZmVyZW5jZWRPcmRlci5TZWxsZXJzT3JkZXJJRC5sYW5ndWFnZSI+cHZhbHVlLSZndDtSZWZlcmVuY2VkT3JkZXIuU2VsbGVyc09yZGVySUQ8L2NhdDpTZWxsZXJzT3JkZXJJRD4KKyAgIDwvY2F0OlJlZmVyZW5jZWRPcmRlcj4KKzwvSW52b2ljZT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvYXR0NyBiL2xpYnhtbDIvdGVzdC9hdHQ3Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNkMzFjM2QKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvYXR0NwpAQCAtMCwwICsxLDEwIEBACis8IURPQ1RZUEUgeCBbCis8IUVMRU1FTlQgeCAodGVzdCopPgorPCFFTEVNRU5UIHRlc3QgRU1QVFk+Cis8IUFUVExJU1QgdGVzdCBhdHQgQ0RBVEEgImF0dHZhbHVlIj4KKzwhRU5USVRZIHRlc3QuZW50ICI8dGVzdC8+Ij4KK10+Cis8eD4KKyAgICA8dGVzdC8+CisgICAgJnRlc3QuZW50OworPC94PgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2F0dDggYi9saWJ4bWwyL3Rlc3QvYXR0OApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yY2I2ZjU2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2F0dDgKQEAgLTAsMCArMSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/Pjxpbm86cmVzcG9uc2UgeG1sbnM6aW5vPSJodHRwOi8vbmFtZXNwYWNlcy5zb2Z0d2FyZWFnLmNvbS90YW1pbm8vcmVzcG9uc2UyIiB4bWxuczp4cWw9Imh0dHA6Ly9tZXRhbGFiLnVuYy5lZHUveHFsLyIgaW5vOnNlc3Npb25pZD0iNTU2IiBpbm86c2Vzc2lvbmtleT0iMTU5MDQ2OTY3NyI+PHhxbDpxdWVyeT4vYnNrOkRvY1BhcnRbQGRvY0lkPSZhcG9zOzIwMDQwMzA4MTUyNjAxMzQ1MjM2JmFwb3M7IGFuZCBAZG9jUGFydE5vPTFdPC94cWw6cXVlcnk+PGlubzptZXNzYWdlIGlubzpyZXR1cm52YWx1ZT0iMCI+PGlubzptZXNzYWdlbGluZT5YUUwgUmVxdWVzdCBwcm9jZXNzaW5nPC9pbm86bWVzc2FnZWxpbmU+PC9pbm86bWVzc2FnZT48eHFsOnJlc3VsdD48YnNrOkRvY1BhcnQgZG9jSWQ9IjIwMDQwMzA4MTUyNjAxMzQ1MjM2IiBkb2NQYXJ0Tm89IjEiIGlubzppZD0iMTUyOTAiIHhtbG5zOmJzaz0iaHR0cDovL3d3dy5oZWl0ZWMubmV0L3NhcmE0L3RhbWluby9iYXNrZXQiPjxic2s6RmlsZSBuYW1lPSI0ODk4V1BaRU8yTTY1IiBzaXplPSI3NTE5NSI+IDwvYnNrOkZpbGU+PC9ic2s6RG9jUGFydD48L3hxbDpyZXN1bHQ+PGlubzptZXNzYWdlIGlubzpyZXR1cm52YWx1ZT0iMCI+PGlubzptZXNzYWdlbGluZT5YUUwgUmVxdWVzdCBwcm9jZXNzZWQ8L2lubzptZXNzYWdlbGluZT48L2lubzptZXNzYWdlPjwvaW5vOnJlc3BvbnNlPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2F0dDkgYi9saWJ4bWwyL3Rlc3QvYXR0OQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMDZiNTMxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2F0dDkKQEAgLTAsMCArMSw1IEBACis8IURPQ1RZUEUgZG9jIFsKKzwhQVRUTElTVCBkb2MgYTEgTk1UT0tFTlMgIiAxICAgMiAgICAgICAiPgorPCFFTEVNRU5UIGRvYyAoI1BDREFUQSk+CitdPgorPGRvYy8+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvYXR0cmliLnhtbCBiL2xpYnhtbDIvdGVzdC9hdHRyaWIueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjViZTMzZmEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvYXR0cmliLnhtbApAQCAtMCwwICsxIEBACis8aXRlbSB0aXRsZT0iSWNyb250aWMuY29tIC0gV2FybmluZzogQnJlYWtkYW5jaW5nIG1pZGdldCB3aXRoIHRvdXJldHRlJmFwb3M7cyBzeW5kcm9tZSBvbi1ib2FyZCYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyYjMTYwOyIgdXJsPSJodHRwOi8vd3d3Lmljcm9udGljLmNvbS8iIGZpcnN0X3RpbWU9Ijk4NTAzNDMzOSIgbGFzdF90aW1lPSI5ODUwMzQzMzkiIHZpc2l0cz0iMSIvPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2F1dG9tYXRhL2EgYi9saWJ4bWwyL3Rlc3QvYXV0b21hdGEvYQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMWYzZTkxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2F1dG9tYXRhL2EKQEAgLTAsMCArMSwxNCBAQAorIworIyB0ZXN0cyBqdXN0ICJhIgorIwordCAwIDEgYQorZiAxCistLS0tLS0tCithCis9PgorYQorYQorPT4KKz0+CitiCis9PgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2F1dG9tYXRhL2FiYSBiL2xpYnhtbDIvdGVzdC9hdXRvbWF0YS9hYmEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWU5YTg3MwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9hdXRvbWF0YS9hYmEKQEAgLTAsMCArMSwyNiBAQAorIworIyBUZXN0cyBhW2FiXSoKKyMKK3QgMCAxIGEKK3QgMSAxIGEKK3QgMSAxIGIKK2YgMQorLS0tLS0tLQorYQorPT4KK2EKK2EKKz0+CithCitiCithCitiCithCitiCis9PgorYgorPT4KK2EKK2MKKz0+Cis9PgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2F1dG9tYXRhL2FiYWEgYi9saWJ4bWwyL3Rlc3QvYXV0b21hdGEvYWJhYQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ODYyYmEyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2F1dG9tYXRhL2FiYWEKQEAgLTAsMCArMSw0MyBAQAorIworIyBUZXN0czogYVthYl0qYXsyLDN9CisjCit0IDAgMSBhCit0IDEgMSBhCit0IDEgMSBiCitjIDEgMiAyIDMgYQorZiAyCistLS0tLS0tCithCithCithCis9PgorIyBQYXNzCithCitiCithCithCis9PgorIyBQYXNzCithCithCithCithCithCithCithCithCithCis9PgorIyBQYXNzCithCitiCithCis9PgorIyBGYWlsCithCitiCithCithCitiCis9PgorIyBGYWlsCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvYXV0b21hdGEvYWJiYSBiL2xpYnhtbDIvdGVzdC9hdXRvbWF0YS9hYmJhCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg2YzA4ZjEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvYXV0b21hdGEvYWJiYQpAQCAtMCwwICsxLDMwIEBACisjCisjIFRlc3RzIGFiKmEgd2l0aCBhbiBlbGltaW5hdGVkIGVwc2lsb24gdHJhbnNpdGlvbgorIwordCAwIDEgYQordCAxIDIgYgorZSAxIDIKK3QgMiAyIGIKK3QgMiAzIGEKK2YgMworLS0tLS0tLQorYQorYQorPT4KKyMgUGFzcworYQorYgorYgorYQorPT4KKyMgUGFzcworYQorYgorPT4KKyMgRmFpbAorYQorYgorYQorYgorPT4KKyMgRmFpbApkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2F1dG9tYXRhL3BvIGIvbGlieG1sMi90ZXN0L2F1dG9tYXRhL3BvCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU5MmI4YzkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvYXV0b21hdGEvcG8KQEAgLTAsMCArMSwxOSBAQAorIworIyBwdXJjaGFzZU9yZGVyCisjCit0IDAgMSBzaGlwVG8KK3QgMSAyIGJpbGxUbwordCAyIDMgY29tbWVudAordCAzIDQgaXRlbXMKK2UgMiAzCitmIDQKKy0tLS0tLS0KK3NoaXBUbworYmlsbFRvCitjb21tZW50CitpdGVtcworPT4KK3NoaXBUbworYmlsbFRvCitpdGVtcworPT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9iYWRjb21tZW50LnhtbCBiL2xpYnhtbDIvdGVzdC9iYWRjb21tZW50LnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNDc0MTRjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2JhZGNvbW1lbnQueG1sCkBAIC0wLDAgKzEsMTggQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+CisKKzxmb28+Cis8IS0tIGRlZj0nTlQtQ2hhcictLT48IS0tPkNoYXI8L250PiogJ11dJmd0OycgPG50IGRlZj0nTlQtQ2hhcic+Q2hhcjwvbnQ+KikpCisnXV0mZ3Q7JzwvcmhzPgorPGNvbT5DREFUQSBzZWN0aW9uczwvY29tPgorPHJocz58ICcmbHQ7IURPQ1RZUEUnIAorKDxudCBkZWY9Ik5ULUNoYXIiPkNoYXI8L250PiAtICgnWycgfCAnXScpKSsKKygnWycgCis8bnQgZGVmPSJOVC1zaW1wbGVEVEQiPnNpbXBsZURURDwvbnQ+KgorJ10nKT8gJyZndDsnPC9yaHM+Cis8Y29tPmRvYyB0eXBlIGRlY2xhcmF0aW9uPC9jb20+Cis8cHJvZCBpZD0iTlQtc2ltcGxlRFREIj48bGhzPnNpbXBsZURURDwvbGhzPgorPHJocz4nJmx0OyEmY29tbzsnIAorKDxudCBkZWY9J05ULUNoYXInPkNoYXI8L250PiogLSAKKyg8bnQgZGVmPSdOVC1DaGFyJz5DaGFyPC9udD4qICcmY29tYzsnIDxudCBkZWY9J05ULUNoYXInPkNoYXI8L250PiopKQorJyZjb21jOyZndDsnPC9yaHM+LS0+Cis8L2Zvbz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9iaWdlbnRuYW1lLnhtbCBiL2xpYnhtbDIvdGVzdC9iaWdlbnRuYW1lLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYTZlMzM2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2JpZ2VudG5hbWUueG1sCkBAIC0wLDAgKzEsNSBAQAorPCFET0NUWVBFIGRvYyBbCis8IUVOVElUWSB2ZXJ5X2JpZ19lbnRpdHlfbmFtZTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5X2VuZF9vZl92ZXJ5X2JpZ19lbnRfbmFtZSAnIlllcyInID4KKzwhRU5USVRZIFdoYXRIZVNhaWQgIkhlIHNhaWQgJnZlcnlfYmlnX2VudGl0eV9uYW1lMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODlfZW5kX29mX3ZlcnlfYmlnX2VudF9uYW1lOyIgPgorXT4KKzxkb2M+JldoYXRIZVNhaWQ7PC9kb2M+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvYmlnbmFtZS54bWwgYi9saWJ4bWwyL3Rlc3QvYmlnbmFtZS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmMzMDNlNAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9iaWduYW1lLnhtbApAQCAtMCwwICsxIEBACis8dGhpc19pc19hX3ZlcnlfbGFyZ2VfbmFtZV8wMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OV9lbmRfb2ZfdGhlX3ZlcnlfbGFyZ2VfbmFtZS8+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvYmlnbmFtZTIueG1sIGIvbGlieG1sMi90ZXN0L2JpZ25hbWUyLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNjdjZGE5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2JpZ25hbWUyLnhtbApAQCAtMCwwICsxIEBACis8dGhpc19pc19hX3ZlcnlfbGFyZ2VfcXVhbGlmaWVkX25hbWVfMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODlfZW5kX29mX3ByZWZpeDpzdGFydF9uY19uYW1lXzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5X2VuZF9vZl90aGVfdmVyeV9sYXJnZV9uYW1lIHhtbG5zOnRoaXNfaXNfYV92ZXJ5X2xhcmdlX3F1YWxpZmllZF9uYW1lXzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5X2VuZF9vZl9wcmVmaXg9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20vdGVzdG5zLyIvPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMvZG9jLmR0ZCBiL2xpYnhtbDIvdGVzdC9jMTRuLzEtMS13aXRob3V0LWNvbW1lbnRzL2RvYy5kdGQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYzQ2MDIzOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9jMTRuLzEtMS13aXRob3V0LWNvbW1lbnRzL2RvYy5kdGQKQEAgLTAsMCArMSBAQAorPCEtLSBFbXB0eSBEVEQgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMvZXhhbXBsZS0xLnhtbCBiL2xpYnhtbDIvdGVzdC9jMTRuLzEtMS13aXRob3V0LWNvbW1lbnRzL2V4YW1wbGUtMS54bWwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZWQ0NTBjNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9jMTRuLzEtMS13aXRob3V0LWNvbW1lbnRzL2V4YW1wbGUtMS54bWwKQEAgLTAsMCArMSwxNCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+CisKKzw/eG1sLXN0eWxlc2hlZXQgICBocmVmPSJkb2MueHNsIgorICAgdHlwZT0idGV4dC94c2wiICAgPz4KKworPCFET0NUWVBFIGRvYyBTWVNURU0gImRvYy5kdGQiPgorCis8ZG9jPkhlbGxvLCB3b3JsZCE8IS0tIENvbW1lbnQgMSAtLT48L2RvYz4KKworPD9waS13aXRob3V0LWRhdGEgICAgID8+CisKKzwhLS0gQ29tbWVudCAyIC0tPgorCis8IS0tIENvbW1lbnQgMyAtLT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9jMTRuLzEtMS13aXRob3V0LWNvbW1lbnRzL2V4YW1wbGUtMi54bWwgYi9saWJ4bWwyL3Rlc3QvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy9leGFtcGxlLTIueG1sCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjc0ZWVlYTEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy9leGFtcGxlLTIueG1sCkBAIC0wLDAgKzEsMTEgQEAKKzxkb2M+CisgICA8Y2xlYW4+ICAgPC9jbGVhbj4KKyAgIDxkaXJ0eT4gICBBICAgQiAgIDwvZGlydHk+CisgICA8bWl4ZWQ+CisgICAgICBBCisgICAgICA8Y2xlYW4+ICAgPC9jbGVhbj4KKyAgICAgIEIKKyAgICAgIDxkaXJ0eT4gICBBICAgQiAgIDwvZGlydHk+CisgICAgICBDCisgICA8L21peGVkPgorPC9kb2M+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy9leGFtcGxlLTMueG1sIGIvbGlieG1sMi90ZXN0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMvZXhhbXBsZS0zLnhtbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hN2ExOTUwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMvZXhhbXBsZS0zLnhtbApAQCAtMCwwICsxLDE4IEBACis8IURPQ1RZUEUgZG9jIFs8IUFUVExJU1QgZTkgYXR0ciBDREFUQSAiZGVmYXVsdCI+XT4KKzxkb2M+CisgICA8ZTEgICAvPgorICAgPGUyICAgPjwvZTI+CisgICA8ZTMgICAgbmFtZSA9ICJlbGVtMyIgICBpZD0iZWxlbTMiICAgIC8+CisgICA8ZTQgICAgbmFtZT0iZWxlbTQiICAgaWQ9ImVsZW00IiAgICA+PC9lND4KKyAgIDxlNSBhOmF0dHI9Im91dCIgYjphdHRyPSJzb3J0ZWQiIGF0dHIyPSJhbGwiIGF0dHI9IkknbSIKKyAgICAgICB4bWxuczpiPSJodHRwOi8vd3d3LmlldGYub3JnIiAKKyAgICAgICB4bWxuczphPSJodHRwOi8vd3d3LnczLm9yZyIKKyAgICAgICB4bWxucz0iaHR0cDovL3d3dy51dmljLmNhIi8+CisgICA8ZTYgeG1sbnM9IiIgeG1sbnM6YT0iaHR0cDovL3d3dy53My5vcmciPgorICAgICAgIDxlNyB4bWxucz0iaHR0cDovL3d3dy5pZXRmLm9yZyI+CisgICAgICAgICAgIDxlOCB4bWxucz0iIiB4bWxuczphPSJodHRwOi8vd3d3LnczLm9yZyI+CisgICAgICAgICAgICAgICA8ZTkgeG1sbnM9IiIgeG1sbnM6YT0iaHR0cDovL3d3dy5pZXRmLm9yZyIvPgorICAgICAgICAgICA8L2U4PgorICAgICAgIDwvZTc+CisgICA8L2U2PgorPC9kb2M+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy9leGFtcGxlLTQueG1sIGIvbGlieG1sMi90ZXN0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMvZXhhbXBsZS00LnhtbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zZmJhMTM4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMvZXhhbXBsZS00LnhtbApAQCAtMCwwICsxLDkgQEAKKzwhRE9DVFlQRSBkb2MgWzwhQVRUTElTVCBub3JtSWQgaWQgSUQgI0lNUExJRUQ+XT4KKzxkb2M+CisgICA8dGV4dD5GaXJzdCBsaW5lJiN4MGQ7JiMxMDtTZWNvbmQgbGluZTwvdGV4dD4KKyAgIDx2YWx1ZT4mI3gzMjs8L3ZhbHVlPgorICAgPGNvbXB1dGU+PCFbQ0RBVEFbdmFsdWU+IjAiICYmIHZhbHVlPCIxMCIgPyJ2YWxpZCI6ImVycm9yIl1dPjwvY29tcHV0ZT4KKyAgIDxjb21wdXRlIGV4cHI9J3ZhbHVlPiIwIiAmYW1wOyZhbXA7IHZhbHVlJmx0OyIxMCIgPyJ2YWxpZCI6ImVycm9yIic+dmFsaWQ8L2NvbXB1dGU+CisgICA8bm9ybSBhdHRyPScgJmFwb3M7ICAgJiN4MjA7JiMxMzsmI3hhOyYjOTsgICAmYXBvczsgJy8+CisgICA8bm9ybUlkIGlkPScgJmFwb3M7ICAgJiN4MjA7JiMxMzsmI3hhOyYjOTsgICAmYXBvczsgJy8+Cis8L2RvYz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9jMTRuLzEtMS13aXRob3V0LWNvbW1lbnRzL2V4YW1wbGUtNS54bWwgYi9saWJ4bWwyL3Rlc3QvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy9leGFtcGxlLTUueG1sCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjkyYzUzMjIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy9leGFtcGxlLTUueG1sCkBAIC0wLDAgKzEsMTIgQEAKKzwhRE9DVFlQRSBkb2MgWworPCFBVFRMSVNUIGRvYyBhdHRyRXh0RW50IEVOVElUWSAjSU1QTElFRD4KKzwhRU5USVRZIGVudDEgIkhlbGxvIj4KKzwhRU5USVRZIGVudDIgU1lTVEVNICJ3b3JsZC50eHQiPgorPCFFTlRJVFkgZW50RXh0IFNZU1RFTSAiZWFydGguZ2lmIiBOREFUQSBnaWY+Cis8IU5PVEFUSU9OIGdpZiBTWVNURU0gInZpZXdnaWYuZXhlIj4KK10+Cis8ZG9jIGF0dHJFeHRFbnQ9ImVudEV4dCI+CisgICAmZW50MTssICZlbnQyOyEKKzwvZG9jPgorCis8IS0tIExldCB3b3JsZC50eHQgY29udGFpbiAid29ybGQiIChleGNsdWRpbmcgdGhlIHF1b3RlcykgLS0+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy9leGFtcGxlLTYueG1sIGIvbGlieG1sMi90ZXN0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMvZXhhbXBsZS02LnhtbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zMWUyMDcxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMvZXhhbXBsZS02LnhtbApAQCAtMCwwICsxLDIgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IklTTy04ODU5LTEiPz4KKzxkb2M+JiMxNjk7PC9kb2M+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy9leGFtcGxlLTcueG1sIGIvbGlieG1sMi90ZXN0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMvZXhhbXBsZS03LnhtbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40MTE3MWNiCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMvZXhhbXBsZS03LnhtbApAQCAtMCwwICsxLDExIEBACis8IURPQ1RZUEUgZG9jIFsKKzwhQVRUTElTVCBlMiB4bWw6c3BhY2UgKGRlZmF1bHR8cHJlc2VydmUpICdwcmVzZXJ2ZSc+Cis8IUFUVExJU1QgZTMgaWQgSUQgI0lNUExJRUQ+CitdPgorPGRvYyB4bWxucz0iaHR0cDovL3d3dy5pZXRmLm9yZyIgeG1sbnM6dzNjPSJodHRwOi8vd3d3LnczLm9yZyI+CisgICA8ZTE+CisgICAgICA8ZTIgeG1sbnM9IiI+CisgICAgICAgICA8ZTMgaWQ9IkUzIi8+CisgICAgICA8L2UyPgorICAgPC9lMT4KKzwvZG9jPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMvZXhhbXBsZS03LnhwYXRoIGIvbGlieG1sMi90ZXN0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMvZXhhbXBsZS03LnhwYXRoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjg0ZGRiMDgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy9leGFtcGxlLTcueHBhdGgKQEAgLTAsMCArMSwxMCBAQAorPFhQYXRoIHhtbG5zOmlldGY9Imh0dHA6Ly93d3cuaWV0Zi5vcmciID4KKyAgICAoLy8ufC8vQCp8Ly9uYW1lc3BhY2U6OiopCisgICAgWworCXNlbGY6OmlldGY6ZTEKKwkgICAgb3IKKwkocGFyZW50OjppZXRmOmUxIGFuZCBub3Qoc2VsZjo6dGV4dCgpIG9yIHNlbGY6OmUyKSkKKwkgICAgb3IKKwljb3VudChpZCgiRTMiKXxhbmNlc3Rvci1vci1zZWxmOjpub2RlKCkpID0gY291bnQoYW5jZXN0b3Itb3Itc2VsZjo6bm9kZSgpKQorICAgIF0KKzwvWFBhdGg+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMvZXhhbXBsZS04LnhtbCBiL2xpYnhtbDIvdGVzdC9jMTRuLzEtMS13aXRob3V0LWNvbW1lbnRzL2V4YW1wbGUtOC54bWwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYTA3ZjZjNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9jMTRuLzEtMS13aXRob3V0LWNvbW1lbnRzL2V4YW1wbGUtOC54bWwKQEAgLTAsMCArMSwxMSBAQAorPCFET0NUWVBFIGRvYyBbCis8IUFUVExJU1QgZTIgeG1sOnNwYWNlIChkZWZhdWx0fHByZXNlcnZlKSAncHJlc2VydmUnPgorPCFBVFRMSVNUIGUzIGlkIElEICNJTVBMSUVEPgorXT4KKzxkb2MgeG1sbnM9Imh0dHA6Ly93d3cuaWV0Zi5vcmciIHhtbG5zOnczYz0iaHR0cDovL3d3dy53My5vcmciIHhtbDpiYXNlPSJzb21ldGhpbmcvZWxzZSI+CisgICA8ZTE+CisgICAgICA8ZTIgeG1sbnM9IiIgeG1sOmlkPSJhYmMiIHhtbDpiYXNlPSJiYXIvIj4KKyAgICAgICAgIDxlMyBpZD0iRTMiIHhtbDpiYXNlPSJmb28iLz4KKyAgICAgIDwvZTI+CisgICA8L2UxPgorPC9kb2M+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy9leGFtcGxlLTgueHBhdGggYi9saWJ4bWwyL3Rlc3QvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy9leGFtcGxlLTgueHBhdGgKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODRkZGIwOAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9jMTRuLzEtMS13aXRob3V0LWNvbW1lbnRzL2V4YW1wbGUtOC54cGF0aApAQCAtMCwwICsxLDEwIEBACis8WFBhdGggeG1sbnM6aWV0Zj0iaHR0cDovL3d3dy5pZXRmLm9yZyIgPgorICAgICgvLy58Ly9AKnwvL25hbWVzcGFjZTo6KikKKyAgICBbCisJc2VsZjo6aWV0ZjplMQorCSAgICBvcgorCShwYXJlbnQ6OmlldGY6ZTEgYW5kIG5vdChzZWxmOjp0ZXh0KCkgb3Igc2VsZjo6ZTIpKQorCSAgICBvcgorCWNvdW50KGlkKCJFMyIpfGFuY2VzdG9yLW9yLXNlbGY6Om5vZGUoKSkgPSBjb3VudChhbmNlc3Rvci1vci1zZWxmOjpub2RlKCkpCisgICAgXQorPC9YUGF0aD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy93b3JsZC50eHQgYi9saWJ4bWwyL3Rlc3QvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy93b3JsZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMDRmZWEwNgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9jMTRuLzEtMS13aXRob3V0LWNvbW1lbnRzL3dvcmxkLnR4dApAQCAtMCwwICsxIEBACit3b3JsZApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9jMTRuLzEtMS13aXRob3V0LWNvbW1lbnRzL3htbGJhc2UtYzE0bjExc3BlYy0xMDIueG1sIGIvbGlieG1sMi90ZXN0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1sYmFzZS1jMTRuMTFzcGVjLTEwMi54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMThiN2M3NQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9jMTRuLzEtMS13aXRob3V0LWNvbW1lbnRzL3htbGJhc2UtYzE0bjExc3BlYy0xMDIueG1sCkBAIC0wLDAgKzEsMTYgQEAKKzwhLS0KK2h0dHA6Ly93d3cudzMub3JnL1RSL3htbGRzaWcyZWQtdGVzdHMvI2MxNG4xMXhtbGJhc2UtYzE0bjExc3BlYy0xMDIKKworQ2hlY2sgdGhhdCBjb3JyZWN0IHhtbDpiYXNlIGZpeHVwIGlzIHBlcmZvcm1lZC4KKy0tPgorPCFET0NUWVBFIGRvYyBbCisgIDwhQVRUTElTVCBlMiB4bWw6c3BhY2UgKGRlZmF1bHR8cHJlc2VydmUpICdwcmVzZXJ2ZSc+CisgIDwhQVRUTElTVCBlMyBpZCBJRCAjSU1QTElFRD4KK10+Cis8ZG9jIHhtbG5zPSJodHRwOi8vd3d3LmlldGYub3JnIiB4bWxuczp3M2M9Imh0dHA6Ly93d3cudzMub3JnIiB4bWw6YmFzZT0iaHR0cDovL3d3dy5leGFtcGxlLmNvbS9zb21ldGhpbmcvZWxzZSI+CisgICAgIDxlMT4KKyAgICAgICAgPGUyIHhtbG5zPSIiIHhtbDppZD0iYWJjIiB4bWw6YmFzZT0iLi4vYmFyLyI+CisgICAgICAgICAgIDxlMyBpZD0iRTMiIHhtbDpiYXNlPSJmb28iLz4KKyAgICAgICAgPC9lMj4KKyAgICAgPC9lMT4KKzwvZG9jPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9jMTRuLzEtMS13aXRob3V0LWNvbW1lbnRzL3htbGJhc2UtYzE0bjExc3BlYy0xMDIueHBhdGggYi9saWJ4bWwyL3Rlc3QvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy94bWxiYXNlLWMxNG4xMXNwZWMtMTAyLnhwYXRoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU5MTlhY2MKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy94bWxiYXNlLWMxNG4xMXNwZWMtMTAyLnhwYXRoCkBAIC0wLDAgKzEsOSBAQAorPCEtLQoraHR0cDovL3d3dy53My5vcmcvVFIveG1sZHNpZzJlZC10ZXN0cy8jYzE0bjExeG1sYmFzZS1jMTRuMTFzcGVjLTEwMgorCitDaGVjayB0aGF0IGNvcnJlY3QgeG1sOmJhc2UgZml4dXAgaXMgcGVyZm9ybWVkLgorLS0+Cis8WFBhdGggeG1sbnM6aWV0Zj0iaHR0cDovL3d3dy5pZXRmLm9yZyIgPgorKC8vLiB8IC8vQCogfCAvL25hbWVzcGFjZTo6KikgCitbc2VsZjo6aWV0ZjplMSBvciAocGFyZW50OjppZXRmOmUxIGFuZCBub3Qoc2VsZjo6dGV4dCgpIG9yIHNlbGY6OmUyKSkgb3IgY291bnQoaWQoIkUzIil8YW5jZXN0b3Itb3Itc2VsZjo6bm9kZSgpKSA9IGNvdW50KGFuY2VzdG9yLW9yLXNlbGY6Om5vZGUoKSldCis8L1hQYXRoPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1sYmFzZS1jMTRuMTFzcGVjMi0xMDIueG1sIGIvbGlieG1sMi90ZXN0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1sYmFzZS1jMTRuMTFzcGVjMi0xMDIueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQyNzFhZmQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy94bWxiYXNlLWMxNG4xMXNwZWMyLTEwMi54bWwKQEAgLTAsMCArMSwxNiBAQAorPCEtLQoraHR0cDovL3d3dy53My5vcmcvVFIveG1sZHNpZzJlZC10ZXN0cy8jYzE0bjExeG1sYmFzZS1jMTRuMTFzcGVjMi0xMDIKKworQ2hlY2sgdGhhdCBjb3JyZWN0IHhtbDpiYXNlIGZpeHVwIGlzIHBlcmZvcm1lZC4KKy0tPgorPCFET0NUWVBFIGRvYyBbCisgIDwhQVRUTElTVCBlMiB4bWw6c3BhY2UgKGRlZmF1bHR8cHJlc2VydmUpICdwcmVzZXJ2ZSc+CisgIDwhQVRUTElTVCBlMyBpZCBJRCAjSU1QTElFRD4KK10+Cis8ZG9jIHhtbG5zPSJodHRwOi8vd3d3LmlldGYub3JnIiB4bWxuczp3M2M9Imh0dHA6Ly93d3cudzMub3JnIiB4bWw6YmFzZT0ic29tZXRoaW5nL2Vsc2UiPgorICAgICA8ZTE+CisgICAgICAgIDxlMiB4bWxucz0iIiB4bWw6aWQ9ImFiYyIgeG1sOmJhc2U9ImJhci8iPgorICAgICAgICAgICA8ZTMgaWQ9IkUzIiB4bWw6YmFzZT0iZm9vIi8+CisgICAgICAgIDwvZTI+CisgICAgIDwvZTE+Cis8L2RvYz4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy94bWxiYXNlLWMxNG4xMXNwZWMyLTEwMi54cGF0aCBiL2xpYnhtbDIvdGVzdC9jMTRuLzEtMS13aXRob3V0LWNvbW1lbnRzL3htbGJhc2UtYzE0bjExc3BlYzItMTAyLnhwYXRoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNkYWFkM2UKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy94bWxiYXNlLWMxNG4xMXNwZWMyLTEwMi54cGF0aApAQCAtMCwwICsxLDkgQEAKKzwhLS0KK2h0dHA6Ly93d3cudzMub3JnL1RSL3htbGRzaWcyZWQtdGVzdHMvI2MxNG4xMXhtbGJhc2UtYzE0bjExc3BlYzItMTAyCisKK0NoZWNrIHRoYXQgY29ycmVjdCB4bWw6YmFzZSBmaXh1cCBpcyBwZXJmb3JtZWQuCistLT4KKzxYUGF0aCB4bWxuczppZXRmPSJodHRwOi8vd3d3LmlldGYub3JnIiA+CisoLy8uIHwgLy9AKiB8IC8vbmFtZXNwYWNlOjoqKSAKK1tzZWxmOjppZXRmOmUxIG9yIChwYXJlbnQ6OmlldGY6ZTEgYW5kIG5vdChzZWxmOjp0ZXh0KCkgb3Igc2VsZjo6ZTIpKSBvciBjb3VudChpZCgiRTMiKXxhbmNlc3Rvci1vci1zZWxmOjpub2RlKCkpID0gY291bnQoYW5jZXN0b3Itb3Itc2VsZjo6bm9kZSgpKV0KKzwvWFBhdGg+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy94bWxiYXNlLWMxNG4xMXNwZWMzLTEwMi54bWwgYi9saWJ4bWwyL3Rlc3QvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy94bWxiYXNlLWMxNG4xMXNwZWMzLTEwMi54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjQ2ZTFlOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9jMTRuLzEtMS13aXRob3V0LWNvbW1lbnRzL3htbGJhc2UtYzE0bjExc3BlYzMtMTAyLnhtbApAQCAtMCwwICsxLDE0IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCEtLQoraHR0cDovL3d3dy53My5vcmcvVFIveG1sZHNpZzJlZC10ZXN0cy8jYzE0bjExeG1sYmFzZS1jMTRuMTFzcGVjMy0xMDIKKworQ2hlY2sgdGhhdCBjb3JyZWN0IHhtbDpiYXNlIGZpeHVwIGlzIHBlcmZvcm1lZC4KKy0tPgorPGEgeG1sOmJhc2U9ImZvby9iYXIiPgorICAgPGIgeG1sOmJhc2U9Ii4uIj4KKyAgICA8YyB4bWw6YmFzZT0iLi4iPgorICAgICA8ZCB4bWw6YmFzZT0ieCI+CisgICAgIDwvZD4KKyAgICA8L2M+CisgICA8L2I+Cis8L2E+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy94bWxiYXNlLWMxNG4xMXNwZWMzLTEwMi54cGF0aCBiL2xpYnhtbDIvdGVzdC9jMTRuLzEtMS13aXRob3V0LWNvbW1lbnRzL3htbGJhc2UtYzE0bjExc3BlYzMtMTAyLnhwYXRoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFkOGRkNzEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy94bWxiYXNlLWMxNG4xMXNwZWMzLTEwMi54cGF0aApAQCAtMCwwICsxLDkgQEAKKzwhLS0KK2h0dHA6Ly93d3cudzMub3JnL1RSL3htbGRzaWcyZWQtdGVzdHMvI2MxNG4xMXhtbGJhc2UtYzE0bjExc3BlYzItMTAyCisKK0NoZWNrIHRoYXQgY29ycmVjdCB4bWw6YmFzZSBmaXh1cCBpcyBwZXJmb3JtZWQuCistLT4KKzxYUGF0aCB4bWxuczppZXRmPSJodHRwOi8vd3d3LmlldGYub3JnIiA+CisoLy8uIHwgLy9AKiB8IC8vbmFtZXNwYWNlOjoqKSAKK1tzZWxmOjphIG9yIGFuY2VzdG9yLW9yLXNlbGY6OmRdCis8L1hQYXRoPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1sYmFzZS1wcm9wLTEueG1sIGIvbGlieG1sMi90ZXN0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1sYmFzZS1wcm9wLTEueG1sCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjI0YTg5OWIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy94bWxiYXNlLXByb3AtMS54bWwKQEAgLTAsMCArMSwyNCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhLS0gCitodHRwOi8vd3d3LnczLm9yZy9UUi94bWxkc2lnMmVkLXRlc3RzLyNjMTRuMTF4bWxiYXNlLXByb3AtMQorCitDaGVjayB0aGF0IGltcGxlbWVudGF0aW9ucyBvZiBbWE1MLUMxNE4xLjFdIHdvcmsgcHJvcGVybHkgd2hlbiB0aGUgCit4bWw6YmFzZSBvcmlnaW4gYXBwZWFycyBpbiB0aGUgb3V0cHV0IGRvY3VtZW50IHN1YnNldCBhbmQgYWxzbyBjaGlsZHJlbiAKK3dpdGggeG1sOmJhc2UsIHdoaWNoIGRvIG5vdCByZXF1aXJlIGZ1cnRoZXIgcHJvY2Vzc2luZywgYXJlIGFsc28gcHJlc2VudC4KKy0tPgorPGlldGY6YzE0bjExWG1sQmFzZURvYzEgeG1sbnM6aWV0Zj0iaHR0cDovL3d3dy5pZXRmLm9yZyIgeG1sbnM6dzNjPSJodHRwOi8vd3d3LnczLm9yZyIgeG1sOmJhc2U9Imh0dHA6Ly94bWxiYXNlLmV4YW1wbGUub3JnL3htbGJhc2UwLyI+CisgICAgPGlldGY6ZTEgeG1sOmJhc2U9Ii94bWxiYXNlMS8iPgorICAgICAgPGlldGY6ZTExIHhtbDpiYXNlPSIveG1sYmFzZTExLyI+CisgICAgICAgIDxpZXRmOmUxMTEgeG1sOmJhc2U9Ii94bWxiYXNlMTExLyIvPgorICAgICAgPC9pZXRmOmUxMT4KKyAgICAgIDxpZXRmOmUxMiBhdD0iMiI+CisgICAgICAgIDxpZXRmOmUxMjEgeG1sOmJhc2U9Ii94bWxiYXNlMTIxLyIvPgorICAgICAgPC9pZXRmOmUxMj4KKyAgICA8L2lldGY6ZTE+CisgICAgPGlldGY6ZTI+CisgICAgICA8aWV0ZjplMjEgeG1sOmJhc2U9Ii94bWxiYXNlMjEvIi8+CisgICAgPC9pZXRmOmUyPgorICAgIDxpZXRmOmUzPgorICAgICAgPGlldGY6ZTMxIGF0PSIzIi8+CisgICAgPC9pZXRmOmUzPgorPC9pZXRmOmMxNG4xMVhtbEJhc2VEb2MxPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1sYmFzZS1wcm9wLTEueHBhdGggYi9saWJ4bWwyL3Rlc3QvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy94bWxiYXNlLXByb3AtMS54cGF0aApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xNjhlOThkCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1sYmFzZS1wcm9wLTEueHBhdGgKQEAgLTAsMCArMSwxMSBAQAorPCEtLSAKK2h0dHA6Ly93d3cudzMub3JnL1RSL3htbGRzaWcyZWQtdGVzdHMvI2MxNG4xMXhtbGJhc2UtcHJvcC0xCisKK0NoZWNrIHRoYXQgaW1wbGVtZW50YXRpb25zIG9mIFtYTUwtQzE0TjEuMV0gd29yayBwcm9wZXJseSB3aGVuIHRoZSAKK3htbDpiYXNlIG9yaWdpbiBhcHBlYXJzIGluIHRoZSBvdXRwdXQgZG9jdW1lbnQgc3Vic2V0IGFuZCBhbHNvIGNoaWxkcmVuIAord2l0aCB4bWw6YmFzZSwgd2hpY2ggZG8gbm90IHJlcXVpcmUgZnVydGhlciBwcm9jZXNzaW5nLCBhcmUgYWxzbyBwcmVzZW50LgorLS0+Cis8WFBhdGggeG1sbnM6aWV0Zj0iaHR0cDovL3d3dy5pZXRmLm9yZyIgPgorKC8vLiB8IC8vQCogfCAvL25hbWVzcGFjZTo6KikgCitbYW5jZXN0b3Itb3Itc2VsZjo6aWV0ZjpjMTRuMTFYbWxCYXNlRG9jMSBhbmQgbm90KGFuY2VzdG9yLW9yLXNlbGY6OmlldGY6ZTIpXQorPC9YUGF0aD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9jMTRuLzEtMS13aXRob3V0LWNvbW1lbnRzL3htbGJhc2UtcHJvcC0yLnhtbCBiL2xpYnhtbDIvdGVzdC9jMTRuLzEtMS13aXRob3V0LWNvbW1lbnRzL3htbGJhc2UtcHJvcC0yLnhtbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40Yzg1MzI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1sYmFzZS1wcm9wLTIueG1sCkBAIC0wLDAgKzEsMjMgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IS0tCitodHRwOi8vd3d3LnczLm9yZy9UUi94bWxkc2lnMmVkLXRlc3RzLyNjMTRuMTF4bWxiYXNlLXByb3AtMgorCitDaGVjayB0aGF0IGltcGxlbWVudGF0aW9ucyBvZiBbWE1MLUMxNE4xLjFdIHByb3Blcmx5IGJ1aWxkIHRoZSB4bWw6YmFzZSAKK2F0IHRoZSBmaXJzdCBsZXZlbCAoaWV0ZjplMSkuCistLT4KKzxpZXRmOmMxNG4xMVhtbEJhc2VEb2MxIHhtbG5zOmlldGY9Imh0dHA6Ly93d3cuaWV0Zi5vcmciIHhtbG5zOnczYz0iaHR0cDovL3d3dy53My5vcmciIHhtbDpiYXNlPSJodHRwOi8veG1sYmFzZS5leGFtcGxlLm9yZy94bWxiYXNlMC8iPgorICAgIDxpZXRmOmUxIHhtbDpiYXNlPSIveG1sYmFzZTEvIj4KKyAgICAgIDxpZXRmOmUxMSB4bWw6YmFzZT0iL3htbGJhc2UxMS8iPgorICAgICAgICA8aWV0ZjplMTExIHhtbDpiYXNlPSIveG1sYmFzZTExMS8iLz4KKyAgICAgIDwvaWV0ZjplMTE+CisgICAgICA8aWV0ZjplMTIgYXQ9IjIiPgorICAgICAgICA8aWV0ZjplMTIxIHhtbDpiYXNlPSIveG1sYmFzZTEyMS8iLz4KKyAgICAgIDwvaWV0ZjplMTI+CisgICAgPC9pZXRmOmUxPgorICAgIDxpZXRmOmUyPgorICAgICAgPGlldGY6ZTIxIHhtbDpiYXNlPSIveG1sYmFzZTIxLyIvPgorICAgIDwvaWV0ZjplMj4KKyAgICA8aWV0ZjplMz4KKyAgICAgIDxpZXRmOmUzMSBhdD0iMyIvPgorICAgIDwvaWV0ZjplMz4KKzwvaWV0ZjpjMTRuMTFYbWxCYXNlRG9jMT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9jMTRuLzEtMS13aXRob3V0LWNvbW1lbnRzL3htbGJhc2UtcHJvcC0yLnhwYXRoIGIvbGlieG1sMi90ZXN0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1sYmFzZS1wcm9wLTIueHBhdGgKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZmRhYjA4NQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9jMTRuLzEtMS13aXRob3V0LWNvbW1lbnRzL3htbGJhc2UtcHJvcC0yLnhwYXRoCkBAIC0wLDAgKzEsMTAgQEAKKzwhLS0KK2h0dHA6Ly93d3cudzMub3JnL1RSL3htbGRzaWcyZWQtdGVzdHMvI2MxNG4xMXhtbGJhc2UtcHJvcC0yCisKK0NoZWNrIHRoYXQgaW1wbGVtZW50YXRpb25zIG9mIFtYTUwtQzE0TjEuMV0gcHJvcGVybHkgYnVpbGQgdGhlIHhtbDpiYXNlIAorYXQgdGhlIGZpcnN0IGxldmVsIChpZXRmOmUxKS4KKy0tPgorPFhQYXRoIHhtbG5zOmlldGY9Imh0dHA6Ly93d3cuaWV0Zi5vcmciID4KKygvLy4gfCAvL0AqIHwgLy9uYW1lc3BhY2U6OiopIAorW2FuY2VzdG9yLW9yLXNlbGY6OmlldGY6ZTFdCis8L1hQYXRoPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1sYmFzZS1wcm9wLTMueG1sIGIvbGlieG1sMi90ZXN0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1sYmFzZS1wcm9wLTMueG1sCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjE5Y2U3MzgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy94bWxiYXNlLXByb3AtMy54bWwKQEAgLTAsMCArMSwyNCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhLS0KK2h0dHA6Ly93d3cudzMub3JnL1RSL3htbGRzaWcyZWQtdGVzdHMvI2MxNG4xMXhtbGJhc2UtcHJvcC0zCisKK0NoZWNrIHRoYXQgaW1wbGVtZW50YXRpb25zIG9mIFtYTUwtQzE0TjEuMV0gcHJvcGVybHkgYnVpbGQgdGhlIHhtbDpiYXNlIAoraWYgb25lIG9mIGludGVybWVkaWF0ZSB0aGUgbGV2ZWxzIChpZXRmOmUxKSBhcmUgYWJzZW50IGZyb20gdGhlIGRvY3VtZW50IAorc3Vic2V0LgorLS0+Cis8aWV0ZjpjMTRuMTFYbWxCYXNlRG9jMSB4bWxuczppZXRmPSJodHRwOi8vd3d3LmlldGYub3JnIiB4bWxuczp3M2M9Imh0dHA6Ly93d3cudzMub3JnIiB4bWw6YmFzZT0iaHR0cDovL3htbGJhc2UuZXhhbXBsZS5vcmcveG1sYmFzZTAvIj4KKyAgICA8aWV0ZjplMSB4bWw6YmFzZT0iL3htbGJhc2UxLyI+CisgICAgICA8aWV0ZjplMTEgeG1sOmJhc2U9Ii94bWxiYXNlMTEvIj4KKyAgICAgICAgPGlldGY6ZTExMSB4bWw6YmFzZT0iL3htbGJhc2UxMTEvIi8+CisgICAgICA8L2lldGY6ZTExPgorICAgICAgPGlldGY6ZTEyIGF0PSIyIj4KKyAgICAgICAgPGlldGY6ZTEyMSB4bWw6YmFzZT0iL3htbGJhc2UxMjEvIi8+CisgICAgICA8L2lldGY6ZTEyPgorICAgIDwvaWV0ZjplMT4KKyAgICA8aWV0ZjplMj4KKyAgICAgIDxpZXRmOmUyMSB4bWw6YmFzZT0iL3htbGJhc2UyMS8iLz4KKyAgICA8L2lldGY6ZTI+CisgICAgPGlldGY6ZTM+CisgICAgICA8aWV0ZjplMzEgYXQ9IjMiLz4KKyAgICA8L2lldGY6ZTM+Cis8L2lldGY6YzE0bjExWG1sQmFzZURvYzE+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy94bWxiYXNlLXByb3AtMy54cGF0aCBiL2xpYnhtbDIvdGVzdC9jMTRuLzEtMS13aXRob3V0LWNvbW1lbnRzL3htbGJhc2UtcHJvcC0zLnhwYXRoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmRlODc1MDgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy94bWxiYXNlLXByb3AtMy54cGF0aApAQCAtMCwwICsxLDExIEBACis8IS0tCitodHRwOi8vd3d3LnczLm9yZy9UUi94bWxkc2lnMmVkLXRlc3RzLyNjMTRuMTF4bWxiYXNlLXByb3AtMworCitDaGVjayB0aGF0IGltcGxlbWVudGF0aW9ucyBvZiBbWE1MLUMxNE4xLjFdIHByb3Blcmx5IGJ1aWxkIHRoZSB4bWw6YmFzZSAKK2lmIG9uZSBvZiBpbnRlcm1lZGlhdGUgdGhlIGxldmVscyAoaWV0ZjplMSkgYXJlIGFic2VudCBmcm9tIHRoZSBkb2N1bWVudCAKK3N1YnNldC4KKy0tPgorPFhQYXRoIHhtbG5zOmlldGY9Imh0dHA6Ly93d3cuaWV0Zi5vcmciID4KKygvLy4gfCAvL0AqIHwgLy9uYW1lc3BhY2U6OiopCitbYW5jZXN0b3Itb3Itc2VsZjo6aWV0ZjplMTFdCis8L1hQYXRoPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1sYmFzZS1wcm9wLTQueG1sIGIvbGlieG1sMi90ZXN0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1sYmFzZS1wcm9wLTQueG1sCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjU3ZTQ0MzYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy94bWxiYXNlLXByb3AtNC54bWwKQEAgLTAsMCArMSwyNCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhLS0KK2h0dHA6Ly93d3cudzMub3JnL1RSL3htbGRzaWcyZWQtdGVzdHMvI2MxNG4xMXhtbGJhc2UtcHJvcC00CisKK0NoZWNrIHRoYXQgaW1wbGVtZW50YXRpb25zIG9mIFtYTUwtQzE0TjEuMV0gcHJvcGVybHkgYnVpbGQgdGhlIHhtbDpiYXNlIAoraWYgc2V2ZXJhbCBpbnRlcm1lZGlhdGUgbGV2ZWxzIChpZXRmOmUxIGFuZCBpZXRmOmUxMSkgYXJlIGFic2VudCBmcm9tIAordGhlIGRvY3VtZW50IHN1YnNldC4KKy0tPgorPGlldGY6YzE0bjExWG1sQmFzZURvYzEgeG1sbnM6aWV0Zj0iaHR0cDovL3d3dy5pZXRmLm9yZyIgeG1sbnM6dzNjPSJodHRwOi8vd3d3LnczLm9yZyIgeG1sOmJhc2U9Imh0dHA6Ly94bWxiYXNlLmV4YW1wbGUub3JnL3htbGJhc2UwLyI+CisgICAgPGlldGY6ZTEgeG1sOmJhc2U9Ii94bWxiYXNlMS8iPgorICAgICAgPGlldGY6ZTExIHhtbDpiYXNlPSIveG1sYmFzZTExLyI+CisgICAgICAgIDxpZXRmOmUxMTEgeG1sOmJhc2U9Ii94bWxiYXNlMTExLyIvPgorICAgICAgPC9pZXRmOmUxMT4KKyAgICAgIDxpZXRmOmUxMiBhdD0iMiI+CisgICAgICAgIDxpZXRmOmUxMjEgeG1sOmJhc2U9Ii94bWxiYXNlMTIxLyIvPgorICAgICAgPC9pZXRmOmUxMj4KKyAgICA8L2lldGY6ZTE+CisgICAgPGlldGY6ZTI+CisgICAgICA8aWV0ZjplMjEgeG1sOmJhc2U9Ii94bWxiYXNlMjEvIi8+CisgICAgPC9pZXRmOmUyPgorICAgIDxpZXRmOmUzPgorICAgICAgPGlldGY6ZTMxIGF0PSIzIi8+CisgICAgPC9pZXRmOmUzPgorPC9pZXRmOmMxNG4xMVhtbEJhc2VEb2MxPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1sYmFzZS1wcm9wLTQueHBhdGggYi9saWJ4bWwyL3Rlc3QvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy94bWxiYXNlLXByb3AtNC54cGF0aApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44MThlZjEwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1sYmFzZS1wcm9wLTQueHBhdGgKQEAgLTAsMCArMSwxMSBAQAorPCEtLQoraHR0cDovL3d3dy53My5vcmcvVFIveG1sZHNpZzJlZC10ZXN0cy8jYzE0bjExeG1sYmFzZS1wcm9wLTQKKworQ2hlY2sgdGhhdCBpbXBsZW1lbnRhdGlvbnMgb2YgW1hNTC1DMTROMS4xXSBwcm9wZXJseSBidWlsZCB0aGUgeG1sOmJhc2UgCitpZiBzZXZlcmFsIGludGVybWVkaWF0ZSBsZXZlbHMgKGlldGY6ZTEgYW5kIGlldGY6ZTExKSBhcmUgYWJzZW50IGZyb20gCit0aGUgZG9jdW1lbnQgc3Vic2V0LgorLS0+Cis8WFBhdGggeG1sbnM6aWV0Zj0iaHR0cDovL3d3dy5pZXRmLm9yZyIgPgorKC8vLiB8IC8vQCogfCAvL25hbWVzcGFjZTo6KikKK1thbmNlc3Rvci1vci1zZWxmOjppZXRmOmUxMTFdCis8L1hQYXRoPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1sYmFzZS1wcm9wLTUueG1sIGIvbGlieG1sMi90ZXN0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1sYmFzZS1wcm9wLTUueG1sCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmY5MmE4OTcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy94bWxiYXNlLXByb3AtNS54bWwKQEAgLTAsMCArMSwyNCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhLS0KK2h0dHA6Ly93d3cudzMub3JnL1RSL3htbGRzaWcyZWQtdGVzdHMvI2MxNG4xMXhtbGJhc2UtcHJvcC01CisKK0NoZWNrIHRoYXQgaW1wbGVtZW50YXRpb25zIG9mIFtYTUwtQzE0TjEuMV0gcHJvcGVybHkgYnVpbGQgdGhlIHhtbDpiYXNlIAoraWYgb25lIGludGVybWVkaWF0ZSBsZXZlbCAoaWV0ZjplMikgd2l0aG91dCBhbnkgeG1sOmJhc2UgYXR0cmlidXRlIGlzIGFic2VudCAKK2Zyb20gdGhlIGRvY3VtZW50IHN1YnNldC4KKy0tPgorPGlldGY6YzE0bjExWG1sQmFzZURvYzEgeG1sbnM6aWV0Zj0iaHR0cDovL3d3dy5pZXRmLm9yZyIgeG1sbnM6dzNjPSJodHRwOi8vd3d3LnczLm9yZyIgeG1sOmJhc2U9Imh0dHA6Ly94bWxiYXNlLmV4YW1wbGUub3JnL3htbGJhc2UwLyI+CisgICAgPGlldGY6ZTEgeG1sOmJhc2U9Ii94bWxiYXNlMS8iPgorICAgICAgPGlldGY6ZTExIHhtbDpiYXNlPSIveG1sYmFzZTExLyI+CisgICAgICAgIDxpZXRmOmUxMTEgeG1sOmJhc2U9Ii94bWxiYXNlMTExLyIvPgorICAgICAgPC9pZXRmOmUxMT4KKyAgICAgIDxpZXRmOmUxMiBhdD0iMiI+CisgICAgICAgIDxpZXRmOmUxMjEgeG1sOmJhc2U9Ii94bWxiYXNlMTIxLyIvPgorICAgICAgPC9pZXRmOmUxMj4KKyAgICA8L2lldGY6ZTE+CisgICAgPGlldGY6ZTI+CisgICAgICA8aWV0ZjplMjEgeG1sOmJhc2U9Ii94bWxiYXNlMjEvIi8+CisgICAgPC9pZXRmOmUyPgorICAgIDxpZXRmOmUzPgorICAgICAgPGlldGY6ZTMxIGF0PSIzIi8+CisgICAgPC9pZXRmOmUzPgorPC9pZXRmOmMxNG4xMVhtbEJhc2VEb2MxPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1sYmFzZS1wcm9wLTUueHBhdGggYi9saWJ4bWwyL3Rlc3QvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy94bWxiYXNlLXByb3AtNS54cGF0aApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43MDIwODAzCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1sYmFzZS1wcm9wLTUueHBhdGgKQEAgLTAsMCArMSwxMSBAQAorPCEtLQoraHR0cDovL3d3dy53My5vcmcvVFIveG1sZHNpZzJlZC10ZXN0cy8jYzE0bjExeG1sYmFzZS1wcm9wLTUKKworQ2hlY2sgdGhhdCBpbXBsZW1lbnRhdGlvbnMgb2YgW1hNTC1DMTROMS4xXSBwcm9wZXJseSBidWlsZCB0aGUgeG1sOmJhc2UgCitpZiBvbmUgaW50ZXJtZWRpYXRlIGxldmVsIChpZXRmOmUyKSB3aXRob3V0IGFueSB4bWw6YmFzZSBhdHRyaWJ1dGUgaXMgYWJzZW50IAorZnJvbSB0aGUgZG9jdW1lbnQgc3Vic2V0LgorLS0+Cis8WFBhdGggeG1sbnM6aWV0Zj0iaHR0cDovL3d3dy5pZXRmLm9yZyIgPgorKC8vLiB8IC8vQCogfCAvL25hbWVzcGFjZTo6KikKK1thbmNlc3Rvci1vci1zZWxmOjppZXRmOmUyMV0KKzwvWFBhdGg+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy94bWxiYXNlLXByb3AtNi54bWwgYi9saWJ4bWwyL3Rlc3QvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy94bWxiYXNlLXByb3AtNi54bWwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNjI4MjRmOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9jMTRuLzEtMS13aXRob3V0LWNvbW1lbnRzL3htbGJhc2UtcHJvcC02LnhtbApAQCAtMCwwICsxLDIzIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCEtLQoraHR0cDovL3d3dy53My5vcmcvVFIveG1sZHNpZzJlZC10ZXN0cy8jYzE0bjExeG1sYmFzZS1wcm9wLTYKKworQ2hlY2sgdGhhdCBpbXBsZW1lbnRhdGlvbnMgb2YgW1hNTC1DMTROMS4xXSBwcm9wZXJseSBidWlsZCB0aGUgeG1sOmJhc2UgaW4gCitvbmUgZWxlbWVudCB0aGF0IG9yaWdpbmFsbHkgaGFkIG5vIHhtbDpiYXNlICBhdHRyaWJ1dGUuCistLT4KKzxpZXRmOmMxNG4xMVhtbEJhc2VEb2MxIHhtbG5zOmlldGY9Imh0dHA6Ly93d3cuaWV0Zi5vcmciIHhtbG5zOnczYz0iaHR0cDovL3d3dy53My5vcmciIHhtbDpiYXNlPSJodHRwOi8veG1sYmFzZS5leGFtcGxlLm9yZy94bWxiYXNlMC8iPgorICAgIDxpZXRmOmUxIHhtbDpiYXNlPSIveG1sYmFzZTEvIj4KKyAgICAgIDxpZXRmOmUxMSB4bWw6YmFzZT0iL3htbGJhc2UxMS8iPgorICAgICAgICA8aWV0ZjplMTExIHhtbDpiYXNlPSIveG1sYmFzZTExMS8iLz4KKyAgICAgIDwvaWV0ZjplMTE+CisgICAgICA8aWV0ZjplMTIgYXQ9IjIiPgorICAgICAgICA8aWV0ZjplMTIxIHhtbDpiYXNlPSIveG1sYmFzZTEyMS8iLz4KKyAgICAgIDwvaWV0ZjplMTI+CisgICAgPC9pZXRmOmUxPgorICAgIDxpZXRmOmUyPgorICAgICAgPGlldGY6ZTIxIHhtbDpiYXNlPSIveG1sYmFzZTIxLyIvPgorICAgIDwvaWV0ZjplMj4KKyAgICA8aWV0ZjplMz4KKyAgICAgIDxpZXRmOmUzMSBhdD0iMyIvPgorICAgIDwvaWV0ZjplMz4KKzwvaWV0ZjpjMTRuMTFYbWxCYXNlRG9jMT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9jMTRuLzEtMS13aXRob3V0LWNvbW1lbnRzL3htbGJhc2UtcHJvcC02LnhwYXRoIGIvbGlieG1sMi90ZXN0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1sYmFzZS1wcm9wLTYueHBhdGgKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMmI5M2M2NAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9jMTRuLzEtMS13aXRob3V0LWNvbW1lbnRzL3htbGJhc2UtcHJvcC02LnhwYXRoCkBAIC0wLDAgKzEsMTAgQEAKKzwhLS0KK2h0dHA6Ly93d3cudzMub3JnL1RSL3htbGRzaWcyZWQtdGVzdHMvI2MxNG4xMXhtbGJhc2UtcHJvcC02CisKK0NoZWNrIHRoYXQgaW1wbGVtZW50YXRpb25zIG9mIFtYTUwtQzE0TjEuMV0gcHJvcGVybHkgYnVpbGQgdGhlIHhtbDpiYXNlIGluIAorb25lIGVsZW1lbnQgdGhhdCBvcmlnaW5hbGx5IGhhZCBubyB4bWw6YmFzZSAgYXR0cmlidXRlLgorLS0+Cis8WFBhdGggeG1sbnM6aWV0Zj0iaHR0cDovL3d3dy5pZXRmLm9yZyIgPgorKC8vLiB8IC8vQCogfCAvL25hbWVzcGFjZTo6KikKK1thbmNlc3Rvci1vci1zZWxmOjppZXRmOmUzXQorPC9YUGF0aD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9jMTRuLzEtMS13aXRob3V0LWNvbW1lbnRzL3htbGJhc2UtcHJvcC03LnhtbCBiL2xpYnhtbDIvdGVzdC9jMTRuLzEtMS13aXRob3V0LWNvbW1lbnRzL3htbGJhc2UtcHJvcC03LnhtbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lZTEzOTE2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1sYmFzZS1wcm9wLTcueG1sCkBAIC0wLDAgKzEsMjMgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IS0tCitodHRwOi8vd3d3LnczLm9yZy9UUi94bWxkc2lnMmVkLXRlc3RzLyNjMTRuMTF4bWxiYXNlLXByb3AtNworCitDaGVjayB0aGF0IGltcGxlbWVudGF0aW9ucyBvZiBbWE1MLUMxNE4xLjFdIGRvIG5vdCBwYXNzIHRoZSB4bWw6YmFzZSAKK3RvIGFub3RoZXIgZWxlbWVudCB3aGVuIGl0IGlzIG5vdCBuZWNlc3NhcnkuCistLT4KKzxpZXRmOmMxNG4xMVhtbEJhc2VEb2MxIHhtbG5zOmlldGY9Imh0dHA6Ly93d3cuaWV0Zi5vcmciIHhtbG5zOnczYz0iaHR0cDovL3d3dy53My5vcmciIHhtbDpiYXNlPSJodHRwOi8veG1sYmFzZS5leGFtcGxlLm9yZy94bWxiYXNlMC8iPgorICAgIDxpZXRmOmUxIHhtbDpiYXNlPSIveG1sYmFzZTEvIj4KKyAgICAgIDxpZXRmOmUxMSB4bWw6YmFzZT0iL3htbGJhc2UxMS8iPgorICAgICAgICA8aWV0ZjplMTExIHhtbDpiYXNlPSIveG1sYmFzZTExMS8iLz4KKyAgICAgIDwvaWV0ZjplMTE+CisgICAgICA8aWV0ZjplMTIgYXQ9IjIiPgorICAgICAgICA8aWV0ZjplMTIxIHhtbDpiYXNlPSIveG1sYmFzZTEyMS8iLz4KKyAgICAgIDwvaWV0ZjplMTI+CisgICAgPC9pZXRmOmUxPgorICAgIDxpZXRmOmUyPgorICAgICAgPGlldGY6ZTIxIHhtbDpiYXNlPSIveG1sYmFzZTIxLyIvPgorICAgIDwvaWV0ZjplMj4KKyAgICA8aWV0ZjplMz4KKyAgICAgIDxpZXRmOmUzMSBhdD0iMyIvPgorICAgIDwvaWV0ZjplMz4KKzwvaWV0ZjpjMTRuMTFYbWxCYXNlRG9jMT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9jMTRuLzEtMS13aXRob3V0LWNvbW1lbnRzL3htbGJhc2UtcHJvcC03LnhwYXRoIGIvbGlieG1sMi90ZXN0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1sYmFzZS1wcm9wLTcueHBhdGgKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uN2QzN2FiOAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9jMTRuLzEtMS13aXRob3V0LWNvbW1lbnRzL3htbGJhc2UtcHJvcC03LnhwYXRoCkBAIC0wLDAgKzEsMTAgQEAKKzwhLS0KK2h0dHA6Ly93d3cudzMub3JnL1RSL3htbGRzaWcyZWQtdGVzdHMvI2MxNG4xMXhtbGJhc2UtcHJvcC03CisKK0NoZWNrIHRoYXQgaW1wbGVtZW50YXRpb25zIG9mIFtYTUwtQzE0TjEuMV0gZG8gbm90IHBhc3MgdGhlIHhtbDpiYXNlIAordG8gYW5vdGhlciBlbGVtZW50IHdoZW4gaXQgaXMgbm90IG5lY2Vzc2FyeS4KKy0tPgorPFhQYXRoIHhtbG5zOmlldGY9Imh0dHA6Ly93d3cuaWV0Zi5vcmciID4KKygvLy4gfCAvL0AqIHwgLy9uYW1lc3BhY2U6OiopIAorW2FuY2VzdG9yLW9yLXNlbGY6OmlldGY6YzE0bjExWG1sQmFzZURvYzEgYW5kIG5vdChhbmNlc3Rvci1vci1zZWxmOjppZXRmOmUxIG9yIGFuY2VzdG9yLW9yLXNlbGY6OmlldGY6ZTIpXQorPC9YUGF0aD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9jMTRuLzEtMS13aXRob3V0LWNvbW1lbnRzL3htbGlkLXByb3AtMS54bWwgYi9saWJ4bWwyL3Rlc3QvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy94bWxpZC1wcm9wLTEueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNhNThjMmIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy94bWxpZC1wcm9wLTEueG1sCkBAIC0wLDAgKzEsMjAgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IS0tCitodHRwOi8vd3d3LnczLm9yZy9UUi94bWxkc2lnMmVkLXRlc3RzLyNYTUxJRAorCitDaGVjayB0aGF0IGltcGxlbWVudGF0aW9ucyBvZiBbWE1MLUMxNE4xLjFdIGhhbmRsZSB4bWw6aWQgYXR0cmlidXRlcyAKK2FzIGRlZmluZWQgaW4gW1hNTC1DMTROMS4xXQorLS0+Cis8aWV0ZjpjMTRuMTFYbWxJZERvYzEgeG1sbnM6aWV0Zj0iaHR0cDovL3d3dy5pZXRmLm9yZyIgeG1sbnM6dzNjPSJodHRwOi8vd3d3LnczLm9yZyI+CisgICAgIDxpZXRmOmUxIHhtbDppZD0iSWRJbnRlcm9wIj4KKyAgICAgICAgPGlldGY6ZTExPgorICAgICAgICAgICA8aWV0ZjplMTExIC8+CisgICAgICAgIDwvaWV0ZjplMTE+CisgICAgICAgIDxpZXRmOmUxMiBhdD0iMiI+CisgICAgICAgICAgIDxpZXRmOmUxMjEgLz4KKyAgICAgICAgPC9pZXRmOmUxMj4KKyAgICAgPC9pZXRmOmUxPgorICAgICA8aWV0ZjplMiA+CisgICAgICAgIDxpZXRmOmUyMSAvPgorICAgICA8L2lldGY6ZTI+ICAKKzwvaWV0ZjpjMTRuMTFYbWxJZERvYzE+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1saWQtcHJvcC0xLnhwYXRoIGIvbGlieG1sMi90ZXN0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1saWQtcHJvcC0xLnhwYXRoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmRjNTU3M2MKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy94bWxpZC1wcm9wLTEueHBhdGgKQEAgLTAsMCArMSwxMCBAQAorPCEtLQoraHR0cDovL3d3dy53My5vcmcvVFIveG1sZHNpZzJlZC10ZXN0cy8jWE1MSUQKKworQ2hlY2sgdGhhdCBpbXBsZW1lbnRhdGlvbnMgb2YgW1hNTC1DMTROMS4xXSBoYW5kbGUgeG1sOmlkIGF0dHJpYnV0ZXMgCithcyBkZWZpbmVkIGluIFtYTUwtQzE0TjEuMV0KKy0tPgorPFhQYXRoIHhtbG5zOmlldGY9Imh0dHA6Ly93d3cuaWV0Zi5vcmciID4KKygvLy4gfCAvL0AqIHwgLy9uYW1lc3BhY2U6OiopCitbYW5jZXN0b3Itb3Itc2VsZjo6aWV0ZjplMV0KKzwvWFBhdGg+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy94bWxpZC1wcm9wLTIueG1sIGIvbGlieG1sMi90ZXN0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1saWQtcHJvcC0yLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYTU4YzJiCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1saWQtcHJvcC0yLnhtbApAQCAtMCwwICsxLDIwIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCEtLQoraHR0cDovL3d3dy53My5vcmcvVFIveG1sZHNpZzJlZC10ZXN0cy8jWE1MSUQKKworQ2hlY2sgdGhhdCBpbXBsZW1lbnRhdGlvbnMgb2YgW1hNTC1DMTROMS4xXSBoYW5kbGUgeG1sOmlkIGF0dHJpYnV0ZXMgCithcyBkZWZpbmVkIGluIFtYTUwtQzE0TjEuMV0KKy0tPgorPGlldGY6YzE0bjExWG1sSWREb2MxIHhtbG5zOmlldGY9Imh0dHA6Ly93d3cuaWV0Zi5vcmciIHhtbG5zOnczYz0iaHR0cDovL3d3dy53My5vcmciPgorICAgICA8aWV0ZjplMSB4bWw6aWQ9IklkSW50ZXJvcCI+CisgICAgICAgIDxpZXRmOmUxMT4KKyAgICAgICAgICAgPGlldGY6ZTExMSAvPgorICAgICAgICA8L2lldGY6ZTExPgorICAgICAgICA8aWV0ZjplMTIgYXQ9IjIiPgorICAgICAgICAgICA8aWV0ZjplMTIxIC8+CisgICAgICAgIDwvaWV0ZjplMTI+CisgICAgIDwvaWV0ZjplMT4KKyAgICAgPGlldGY6ZTIgPgorICAgICAgICA8aWV0ZjplMjEgLz4KKyAgICAgPC9pZXRmOmUyPiAgCis8L2lldGY6YzE0bjExWG1sSWREb2MxPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9jMTRuLzEtMS13aXRob3V0LWNvbW1lbnRzL3htbGlkLXByb3AtMi54cGF0aCBiL2xpYnhtbDIvdGVzdC9jMTRuLzEtMS13aXRob3V0LWNvbW1lbnRzL3htbGlkLXByb3AtMi54cGF0aApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iZWQ0NGI3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1saWQtcHJvcC0yLnhwYXRoCkBAIC0wLDAgKzEsMTAgQEAKKzwhLS0KK2h0dHA6Ly93d3cudzMub3JnL1RSL3htbGRzaWcyZWQtdGVzdHMvI1hNTElECisKK0NoZWNrIHRoYXQgaW1wbGVtZW50YXRpb25zIG9mIFtYTUwtQzE0TjEuMV0gaGFuZGxlIHhtbDppZCBhdHRyaWJ1dGVzIAorYXMgZGVmaW5lZCBpbiBbWE1MLUMxNE4xLjFdCistLT4KKzxYUGF0aCB4bWxuczppZXRmPSJodHRwOi8vd3d3LmlldGYub3JnIiA+CisoLy8uIHwgLy9AKiB8IC8vbmFtZXNwYWNlOjoqKQorW2FuY2VzdG9yLW9yLXNlbGY6OmlldGY6ZTExIG9yIGFuY2VzdG9yLW9yLXNlbGY6OmlldGY6ZTEyXQorPC9YUGF0aD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9jMTRuLzEtMS13aXRob3V0LWNvbW1lbnRzL3htbGxhbmctcHJvcC0xLnhtbCBiL2xpYnhtbDIvdGVzdC9jMTRuLzEtMS13aXRob3V0LWNvbW1lbnRzL3htbGxhbmctcHJvcC0xLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMTExZTMzCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1sbGFuZy1wcm9wLTEueG1sCkBAIC0wLDAgKzEsMjAgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IS0tCitodHRwOi8vd3d3LnczLm9yZy9UUi94bWxkc2lnMmVkLXRlc3RzLyNYTUxMQU5HCisKK0NoZWNrIHRoYXQgaW1wbGVtZW50YXRpb25zIG9mIFtYTUwtQzE0TjEuMV0gaGFuZGxlIHhtbDpsYW5nIGF0dHJpYnV0ZXMgCithcyBkZWZpbmVkIGluIFtYTUwtQzE0TjEuMV0KKy0tPgorPGlldGY6YzE0bjExWG1sbGFuZyB4bWxuczppZXRmPSJodHRwOi8vd3d3LmlldGYub3JnIiB4bWxuczp3M2M9Imh0dHA6Ly93d3cudzMub3JnIj4KKyAgICAgPGlldGY6ZTEgeG1sOmxhbmc9IkVOIj4KKyAgICAgICAgPGlldGY6ZTExPgorICAgICAgICAgICA8aWV0ZjplMTExIC8+CisgICAgICAgIDwvaWV0ZjplMTE+CisgICAgICAgIDxpZXRmOmUxMiBhdD0iMiI+CisgICAgICAgICAgIDxpZXRmOmUxMjEgLz4KKyAgICAgICAgPC9pZXRmOmUxMj4KKyAgICAgPC9pZXRmOmUxPgorICAgICA8aWV0ZjplMiA+CisgICAgICAgIDxpZXRmOmUyMSAvPgorICAgICA8L2lldGY6ZTI+Cis8L2lldGY6YzE0bjExWG1sbGFuZz4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy94bWxsYW5nLXByb3AtMS54cGF0aCBiL2xpYnhtbDIvdGVzdC9jMTRuLzEtMS13aXRob3V0LWNvbW1lbnRzL3htbGxhbmctcHJvcC0xLnhwYXRoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjIyNDkyNGUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy94bWxsYW5nLXByb3AtMS54cGF0aApAQCAtMCwwICsxLDEwIEBACis8IS0tIAoraHR0cDovL3d3dy53My5vcmcvVFIveG1sZHNpZzJlZC10ZXN0cy8jWE1MTEFORworCitDaGVjayB0aGF0IGltcGxlbWVudGF0aW9ucyBvZiBbWE1MLUMxNE4xLjFdIGhhbmRsZSB4bWw6bGFuZyBhdHRyaWJ1dGVzIAorYXMgZGVmaW5lZCBpbiBbWE1MLUMxNE4xLjFdCistLT4KKzxYUGF0aCB4bWxuczppZXRmPSJodHRwOi8vd3d3LmlldGYub3JnIiA+CisoLy8uIHwgLy9AKiB8IC8vbmFtZXNwYWNlOjoqKQorW2FuY2VzdG9yLW9yLXNlbGY6OmlldGY6ZTFdCis8L1hQYXRoPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1sbGFuZy1wcm9wLTIueG1sIGIvbGlieG1sMi90ZXN0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1sbGFuZy1wcm9wLTIueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjExMTFlMzMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy94bWxsYW5nLXByb3AtMi54bWwKQEAgLTAsMCArMSwyMCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhLS0KK2h0dHA6Ly93d3cudzMub3JnL1RSL3htbGRzaWcyZWQtdGVzdHMvI1hNTExBTkcKKworQ2hlY2sgdGhhdCBpbXBsZW1lbnRhdGlvbnMgb2YgW1hNTC1DMTROMS4xXSBoYW5kbGUgeG1sOmxhbmcgYXR0cmlidXRlcyAKK2FzIGRlZmluZWQgaW4gW1hNTC1DMTROMS4xXQorLS0+Cis8aWV0ZjpjMTRuMTFYbWxsYW5nIHhtbG5zOmlldGY9Imh0dHA6Ly93d3cuaWV0Zi5vcmciIHhtbG5zOnczYz0iaHR0cDovL3d3dy53My5vcmciPgorICAgICA8aWV0ZjplMSB4bWw6bGFuZz0iRU4iPgorICAgICAgICA8aWV0ZjplMTE+CisgICAgICAgICAgIDxpZXRmOmUxMTEgLz4KKyAgICAgICAgPC9pZXRmOmUxMT4KKyAgICAgICAgPGlldGY6ZTEyIGF0PSIyIj4KKyAgICAgICAgICAgPGlldGY6ZTEyMSAvPgorICAgICAgICA8L2lldGY6ZTEyPgorICAgICA8L2lldGY6ZTE+CisgICAgIDxpZXRmOmUyID4KKyAgICAgICAgPGlldGY6ZTIxIC8+CisgICAgIDwvaWV0ZjplMj4KKzwvaWV0ZjpjMTRuMTFYbWxsYW5nPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9jMTRuLzEtMS13aXRob3V0LWNvbW1lbnRzL3htbGxhbmctcHJvcC0yLnhwYXRoIGIvbGlieG1sMi90ZXN0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1sbGFuZy1wcm9wLTIueHBhdGgKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uY2EyMTc1OAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9jMTRuLzEtMS13aXRob3V0LWNvbW1lbnRzL3htbGxhbmctcHJvcC0yLnhwYXRoCkBAIC0wLDAgKzEsMTAgQEAKKzwhLS0gCitodHRwOi8vd3d3LnczLm9yZy9UUi94bWxkc2lnMmVkLXRlc3RzLyNYTUxMQU5HCisKK0NoZWNrIHRoYXQgaW1wbGVtZW50YXRpb25zIG9mIFtYTUwtQzE0TjEuMV0gaGFuZGxlIHhtbDpsYW5nIGF0dHJpYnV0ZXMgCithcyBkZWZpbmVkIGluIFtYTUwtQzE0TjEuMV0KKy0tPgorPFhQYXRoIHhtbG5zOmlldGY9Imh0dHA6Ly93d3cuaWV0Zi5vcmciID4KKygvLy4gfCAvL0AqIHwgLy9uYW1lc3BhY2U6OiopCitbYW5jZXN0b3Itb3Itc2VsZjo6aWV0ZjplMl0KKzwvWFBhdGg+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy94bWxsYW5nLXByb3AtMy54bWwgYi9saWJ4bWwyL3Rlc3QvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy94bWxsYW5nLXByb3AtMy54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTExMWUzMwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9jMTRuLzEtMS13aXRob3V0LWNvbW1lbnRzL3htbGxhbmctcHJvcC0zLnhtbApAQCAtMCwwICsxLDIwIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCEtLQoraHR0cDovL3d3dy53My5vcmcvVFIveG1sZHNpZzJlZC10ZXN0cy8jWE1MTEFORworCitDaGVjayB0aGF0IGltcGxlbWVudGF0aW9ucyBvZiBbWE1MLUMxNE4xLjFdIGhhbmRsZSB4bWw6bGFuZyBhdHRyaWJ1dGVzIAorYXMgZGVmaW5lZCBpbiBbWE1MLUMxNE4xLjFdCistLT4KKzxpZXRmOmMxNG4xMVhtbGxhbmcgeG1sbnM6aWV0Zj0iaHR0cDovL3d3dy5pZXRmLm9yZyIgeG1sbnM6dzNjPSJodHRwOi8vd3d3LnczLm9yZyI+CisgICAgIDxpZXRmOmUxIHhtbDpsYW5nPSJFTiI+CisgICAgICAgIDxpZXRmOmUxMT4KKyAgICAgICAgICAgPGlldGY6ZTExMSAvPgorICAgICAgICA8L2lldGY6ZTExPgorICAgICAgICA8aWV0ZjplMTIgYXQ9IjIiPgorICAgICAgICAgICA8aWV0ZjplMTIxIC8+CisgICAgICAgIDwvaWV0ZjplMTI+CisgICAgIDwvaWV0ZjplMT4KKyAgICAgPGlldGY6ZTIgPgorICAgICAgICA8aWV0ZjplMjEgLz4KKyAgICAgPC9pZXRmOmUyPgorPC9pZXRmOmMxNG4xMVhtbGxhbmc+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1sbGFuZy1wcm9wLTMueHBhdGggYi9saWJ4bWwyL3Rlc3QvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy94bWxsYW5nLXByb3AtMy54cGF0aApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44NmU3N2ZhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1sbGFuZy1wcm9wLTMueHBhdGgKQEAgLTAsMCArMSwxMCBAQAorPCEtLSAKK2h0dHA6Ly93d3cudzMub3JnL1RSL3htbGRzaWcyZWQtdGVzdHMvI1hNTExBTkcKKworQ2hlY2sgdGhhdCBpbXBsZW1lbnRhdGlvbnMgb2YgW1hNTC1DMTROMS4xXSBoYW5kbGUgeG1sOmxhbmcgYXR0cmlidXRlcyAKK2FzIGRlZmluZWQgaW4gW1hNTC1DMTROMS4xXQorLS0+Cis8WFBhdGggeG1sbnM6aWV0Zj0iaHR0cDovL3d3dy5pZXRmLm9yZyIgPgorKC8vLiB8IC8vQCogfCAvL25hbWVzcGFjZTo6KikKK1thbmNlc3Rvci1vci1zZWxmOjppZXRmOmUxMV0KKzwvWFBhdGg+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy94bWxsYW5nLXByb3AtNC54bWwgYi9saWJ4bWwyL3Rlc3QvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy94bWxsYW5nLXByb3AtNC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTExMWUzMwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9jMTRuLzEtMS13aXRob3V0LWNvbW1lbnRzL3htbGxhbmctcHJvcC00LnhtbApAQCAtMCwwICsxLDIwIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCEtLQoraHR0cDovL3d3dy53My5vcmcvVFIveG1sZHNpZzJlZC10ZXN0cy8jWE1MTEFORworCitDaGVjayB0aGF0IGltcGxlbWVudGF0aW9ucyBvZiBbWE1MLUMxNE4xLjFdIGhhbmRsZSB4bWw6bGFuZyBhdHRyaWJ1dGVzIAorYXMgZGVmaW5lZCBpbiBbWE1MLUMxNE4xLjFdCistLT4KKzxpZXRmOmMxNG4xMVhtbGxhbmcgeG1sbnM6aWV0Zj0iaHR0cDovL3d3dy5pZXRmLm9yZyIgeG1sbnM6dzNjPSJodHRwOi8vd3d3LnczLm9yZyI+CisgICAgIDxpZXRmOmUxIHhtbDpsYW5nPSJFTiI+CisgICAgICAgIDxpZXRmOmUxMT4KKyAgICAgICAgICAgPGlldGY6ZTExMSAvPgorICAgICAgICA8L2lldGY6ZTExPgorICAgICAgICA8aWV0ZjplMTIgYXQ9IjIiPgorICAgICAgICAgICA8aWV0ZjplMTIxIC8+CisgICAgICAgIDwvaWV0ZjplMTI+CisgICAgIDwvaWV0ZjplMT4KKyAgICAgPGlldGY6ZTIgPgorICAgICAgICA8aWV0ZjplMjEgLz4KKyAgICAgPC9pZXRmOmUyPgorPC9pZXRmOmMxNG4xMVhtbGxhbmc+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1sbGFuZy1wcm9wLTQueHBhdGggYi9saWJ4bWwyL3Rlc3QvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy94bWxsYW5nLXByb3AtNC54cGF0aApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mZGM3NjYxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1sbGFuZy1wcm9wLTQueHBhdGgKQEAgLTAsMCArMSwxMCBAQAorPCEtLSAKK2h0dHA6Ly93d3cudzMub3JnL1RSL3htbGRzaWcyZWQtdGVzdHMvI1hNTExBTkcKKworQ2hlY2sgdGhhdCBpbXBsZW1lbnRhdGlvbnMgb2YgW1hNTC1DMTROMS4xXSBoYW5kbGUgeG1sOmxhbmcgYXR0cmlidXRlcyAKK2FzIGRlZmluZWQgaW4gW1hNTC1DMTROMS4xXQorLS0+Cis8WFBhdGggeG1sbnM6aWV0Zj0iaHR0cDovL3d3dy5pZXRmLm9yZyIgPgorKC8vLiB8IC8vQCogfCAvL25hbWVzcGFjZTo6KikKK1thbmNlc3Rvci1vci1zZWxmOjppZXRmOmUxMSBvciBhbmNlc3Rvci1vci1zZWxmOjppZXRmOmUxMl0KKzwvWFBhdGg+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy94bWxzcGFjZS1wcm9wLTEueG1sIGIvbGlieG1sMi90ZXN0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1sc3BhY2UtcHJvcC0xLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MmRhOWU0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1sc3BhY2UtcHJvcC0xLnhtbApAQCAtMCwwICsxLDIwIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCEtLQoraHR0cDovL3d3dy53My5vcmcvVFIveG1sZHNpZzJlZC10ZXN0cy8jWE1MU1BBQ0UKKworQ2hlY2sgdGhhdCBpbXBsZW1lbnRhdGlvbnMgb2YgW1hNTC1DMTROMS4xXSBoYW5kbGUgeG1sOnNwYWNlIGF0dHJpYnV0ZXMgCithcyBkZWZpbmVkIGluIFtYTUwtQzE0TjEuMV0KKy0tPgorPGlldGY6YzE0bjExWG1sU3BhY2VEb2MxIHhtbG5zOmlldGY9Imh0dHA6Ly93d3cuaWV0Zi5vcmciIHhtbG5zOnczYz0iaHR0cDovL3d3dy53My5vcmciPgorICAgICA8aWV0ZjplMSB4bWw6c3BhY2U9InRydWUiPgorICAgICAgICA8aWV0ZjplMTE+CisgICAgICAgICAgIDxpZXRmOmUxMTEgLz4KKyAgICAgICAgPC9pZXRmOmUxMT4KKyAgICAgICAgPGlldGY6ZTEyIGF0PSIyIj4KKyAgICAgICAgICAgPGlldGY6ZTEyMSAvPgorICAgICAgICA8L2lldGY6ZTEyPgorICAgICA8L2lldGY6ZTE+CisgICAgIDxpZXRmOmUyID4KKyAgICAgICAgPGlldGY6ZTIxIC8+CisgICAgIDwvaWV0ZjplMj4KKzwvaWV0ZjpjMTRuMTFYbWxTcGFjZURvYzE+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1sc3BhY2UtcHJvcC0xLnhwYXRoIGIvbGlieG1sMi90ZXN0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1sc3BhY2UtcHJvcC0xLnhwYXRoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmJhZDM3M2EKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy94bWxzcGFjZS1wcm9wLTEueHBhdGgKQEAgLTAsMCArMSwxMCBAQAorPCEtLQoraHR0cDovL3d3dy53My5vcmcvVFIveG1sZHNpZzJlZC10ZXN0cy8jWE1MU1BBQ0UKKworQ2hlY2sgdGhhdCBpbXBsZW1lbnRhdGlvbnMgb2YgW1hNTC1DMTROMS4xXSBoYW5kbGUgeG1sOnNwYWNlIGF0dHJpYnV0ZXMgCithcyBkZWZpbmVkIGluIFtYTUwtQzE0TjEuMV0KKy0tPgorPFhQYXRoIHhtbG5zOmlldGY9Imh0dHA6Ly93d3cuaWV0Zi5vcmciID4KKygvLy4gfCAvL0AqIHwgLy9uYW1lc3BhY2U6OiopCitbYW5jZXN0b3Itb3Itc2VsZjo6aWV0ZjplMV0KKzwvWFBhdGg+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy94bWxzcGFjZS1wcm9wLTIueG1sIGIvbGlieG1sMi90ZXN0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1sc3BhY2UtcHJvcC0yLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MmRhOWU0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1sc3BhY2UtcHJvcC0yLnhtbApAQCAtMCwwICsxLDIwIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCEtLQoraHR0cDovL3d3dy53My5vcmcvVFIveG1sZHNpZzJlZC10ZXN0cy8jWE1MU1BBQ0UKKworQ2hlY2sgdGhhdCBpbXBsZW1lbnRhdGlvbnMgb2YgW1hNTC1DMTROMS4xXSBoYW5kbGUgeG1sOnNwYWNlIGF0dHJpYnV0ZXMgCithcyBkZWZpbmVkIGluIFtYTUwtQzE0TjEuMV0KKy0tPgorPGlldGY6YzE0bjExWG1sU3BhY2VEb2MxIHhtbG5zOmlldGY9Imh0dHA6Ly93d3cuaWV0Zi5vcmciIHhtbG5zOnczYz0iaHR0cDovL3d3dy53My5vcmciPgorICAgICA8aWV0ZjplMSB4bWw6c3BhY2U9InRydWUiPgorICAgICAgICA8aWV0ZjplMTE+CisgICAgICAgICAgIDxpZXRmOmUxMTEgLz4KKyAgICAgICAgPC9pZXRmOmUxMT4KKyAgICAgICAgPGlldGY6ZTEyIGF0PSIyIj4KKyAgICAgICAgICAgPGlldGY6ZTEyMSAvPgorICAgICAgICA8L2lldGY6ZTEyPgorICAgICA8L2lldGY6ZTE+CisgICAgIDxpZXRmOmUyID4KKyAgICAgICAgPGlldGY6ZTIxIC8+CisgICAgIDwvaWV0ZjplMj4KKzwvaWV0ZjpjMTRuMTFYbWxTcGFjZURvYzE+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1sc3BhY2UtcHJvcC0yLnhwYXRoIGIvbGlieG1sMi90ZXN0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1sc3BhY2UtcHJvcC0yLnhwYXRoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmZmYjdkODUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy94bWxzcGFjZS1wcm9wLTIueHBhdGgKQEAgLTAsMCArMSwxMCBAQAorPCEtLQoraHR0cDovL3d3dy53My5vcmcvVFIveG1sZHNpZzJlZC10ZXN0cy8jWE1MU1BBQ0UKKworQ2hlY2sgdGhhdCBpbXBsZW1lbnRhdGlvbnMgb2YgW1hNTC1DMTROMS4xXSBoYW5kbGUgeG1sOnNwYWNlIGF0dHJpYnV0ZXMgCithcyBkZWZpbmVkIGluIFtYTUwtQzE0TjEuMV0KKy0tPgorPFhQYXRoIHhtbG5zOmlldGY9Imh0dHA6Ly93d3cuaWV0Zi5vcmciID4KKygvLy4gfCAvL0AqIHwgLy9uYW1lc3BhY2U6OiopCitbYW5jZXN0b3Itb3Itc2VsZjo6aWV0ZjplMl0KKzwvWFBhdGg+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy94bWxzcGFjZS1wcm9wLTMueG1sIGIvbGlieG1sMi90ZXN0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1sc3BhY2UtcHJvcC0zLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MmRhOWU0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1sc3BhY2UtcHJvcC0zLnhtbApAQCAtMCwwICsxLDIwIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCEtLQoraHR0cDovL3d3dy53My5vcmcvVFIveG1sZHNpZzJlZC10ZXN0cy8jWE1MU1BBQ0UKKworQ2hlY2sgdGhhdCBpbXBsZW1lbnRhdGlvbnMgb2YgW1hNTC1DMTROMS4xXSBoYW5kbGUgeG1sOnNwYWNlIGF0dHJpYnV0ZXMgCithcyBkZWZpbmVkIGluIFtYTUwtQzE0TjEuMV0KKy0tPgorPGlldGY6YzE0bjExWG1sU3BhY2VEb2MxIHhtbG5zOmlldGY9Imh0dHA6Ly93d3cuaWV0Zi5vcmciIHhtbG5zOnczYz0iaHR0cDovL3d3dy53My5vcmciPgorICAgICA8aWV0ZjplMSB4bWw6c3BhY2U9InRydWUiPgorICAgICAgICA8aWV0ZjplMTE+CisgICAgICAgICAgIDxpZXRmOmUxMTEgLz4KKyAgICAgICAgPC9pZXRmOmUxMT4KKyAgICAgICAgPGlldGY6ZTEyIGF0PSIyIj4KKyAgICAgICAgICAgPGlldGY6ZTEyMSAvPgorICAgICAgICA8L2lldGY6ZTEyPgorICAgICA8L2lldGY6ZTE+CisgICAgIDxpZXRmOmUyID4KKyAgICAgICAgPGlldGY6ZTIxIC8+CisgICAgIDwvaWV0ZjplMj4KKzwvaWV0ZjpjMTRuMTFYbWxTcGFjZURvYzE+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1sc3BhY2UtcHJvcC0zLnhwYXRoIGIvbGlieG1sMi90ZXN0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1sc3BhY2UtcHJvcC0zLnhwYXRoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjNmMjdhZWQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvYzE0bi8xLTEtd2l0aG91dC1jb21tZW50cy94bWxzcGFjZS1wcm9wLTMueHBhdGgKQEAgLTAsMCArMSwxMCBAQAorPCEtLQoraHR0cDovL3d3dy53My5vcmcvVFIveG1sZHNpZzJlZC10ZXN0cy8jWE1MU1BBQ0UKKworQ2hlY2sgdGhhdCBpbXBsZW1lbnRhdGlvbnMgb2YgW1hNTC1DMTROMS4xXSBoYW5kbGUgeG1sOnNwYWNlIGF0dHJpYnV0ZXMgCithcyBkZWZpbmVkIGluIFtYTUwtQzE0TjEuMV0KKy0tPgorPFhQYXRoIHhtbG5zOmlldGY9Imh0dHA6Ly93d3cuaWV0Zi5vcmciID4KKygvLy4gfCAvL0AqIHwgLy9uYW1lc3BhY2U6OiopCitbYW5jZXN0b3Itb3Itc2VsZjo6aWV0ZjplMTFdCis8L1hQYXRoPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1sc3BhY2UtcHJvcC00LnhtbCBiL2xpYnhtbDIvdGVzdC9jMTRuLzEtMS13aXRob3V0LWNvbW1lbnRzL3htbHNwYWNlLXByb3AtNC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjJkYTllNAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9jMTRuLzEtMS13aXRob3V0LWNvbW1lbnRzL3htbHNwYWNlLXByb3AtNC54bWwKQEAgLTAsMCArMSwyMCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhLS0KK2h0dHA6Ly93d3cudzMub3JnL1RSL3htbGRzaWcyZWQtdGVzdHMvI1hNTFNQQUNFCisKK0NoZWNrIHRoYXQgaW1wbGVtZW50YXRpb25zIG9mIFtYTUwtQzE0TjEuMV0gaGFuZGxlIHhtbDpzcGFjZSBhdHRyaWJ1dGVzIAorYXMgZGVmaW5lZCBpbiBbWE1MLUMxNE4xLjFdCistLT4KKzxpZXRmOmMxNG4xMVhtbFNwYWNlRG9jMSB4bWxuczppZXRmPSJodHRwOi8vd3d3LmlldGYub3JnIiB4bWxuczp3M2M9Imh0dHA6Ly93d3cudzMub3JnIj4KKyAgICAgPGlldGY6ZTEgeG1sOnNwYWNlPSJ0cnVlIj4KKyAgICAgICAgPGlldGY6ZTExPgorICAgICAgICAgICA8aWV0ZjplMTExIC8+CisgICAgICAgIDwvaWV0ZjplMTE+CisgICAgICAgIDxpZXRmOmUxMiBhdD0iMiI+CisgICAgICAgICAgIDxpZXRmOmUxMjEgLz4KKyAgICAgICAgPC9pZXRmOmUxMj4KKyAgICAgPC9pZXRmOmUxPgorICAgICA8aWV0ZjplMiA+CisgICAgICAgIDxpZXRmOmUyMSAvPgorICAgICA8L2lldGY6ZTI+Cis8L2lldGY6YzE0bjExWG1sU3BhY2VEb2MxPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9jMTRuLzEtMS13aXRob3V0LWNvbW1lbnRzL3htbHNwYWNlLXByb3AtNC54cGF0aCBiL2xpYnhtbDIvdGVzdC9jMTRuLzEtMS13aXRob3V0LWNvbW1lbnRzL3htbHNwYWNlLXByb3AtNC54cGF0aApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40OWM0Mzk1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2MxNG4vMS0xLXdpdGhvdXQtY29tbWVudHMveG1sc3BhY2UtcHJvcC00LnhwYXRoCkBAIC0wLDAgKzEsMTAgQEAKKzwhLS0KK2h0dHA6Ly93d3cudzMub3JnL1RSL3htbGRzaWcyZWQtdGVzdHMvI1hNTFNQQUNFCisKK0NoZWNrIHRoYXQgaW1wbGVtZW50YXRpb25zIG9mIFtYTUwtQzE0TjEuMV0gaGFuZGxlIHhtbDpzcGFjZSBhdHRyaWJ1dGVzIAorYXMgZGVmaW5lZCBpbiBbWE1MLUMxNE4xLjFdCistLT4KKzxYUGF0aCB4bWxuczppZXRmPSJodHRwOi8vd3d3LmlldGYub3JnIiA+CisoLy8uIHwgLy9AKiB8IC8vbmFtZXNwYWNlOjoqKQorW2FuY2VzdG9yLW9yLXNlbGY6OmlldGY6ZTExIG9yIGFuY2VzdG9yLW9yLXNlbGY6OmlldGY6ZTEyXQorPC9YUGF0aD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0wOS54bWwgYi9saWJ4bWwyL3Rlc3QvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMDkueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcxNGM5ZDEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMDkueG1sCkBAIC0wLDAgKzEsMTIgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPGZvbzpSb290IHhtbG5zOmJhcj0iaHR0cDovL2V4YW1wbGUub3JnL2JhciIgeG1sbnM6YmF6PSJodHRwOi8vZXhhbXBsZS5vcmcvYmF6IiB4bWxuczpmb289Imh0dHA6Ly9leGFtcGxlLm9yZy9mb28iIHhtbG5zPSJodHRwOi8vZXhhbXBsZS5vcmcvIiB4bWw6bGFuZz0iZW4taWUiPgorICA8YmFyOlNvbWV0aGluZz4KKyAgICAgPGZvbzpTb21ldGhpbmc+CisgICAgICAgIDxiYXI6U29tZXRoaW5nPgorICAgICAgICAgICA8Zm9vOlNvbWV0aGluZz4KKyAgICAgICAgICAgICA8YmF6OlNvbWV0aGluZyAvPgorICAgICAgICAgICA8L2ZvbzpTb21ldGhpbmc+CisgICAgICAgIDwvYmFyOlNvbWV0aGluZz4KKyAgICAgPC9mb286U29tZXRoaW5nPgorICA8L2JhcjpTb21ldGhpbmc+Cis8L2ZvbzpSb290PgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTA5LnhwYXRoIGIvbGlieG1sMi90ZXN0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTA5LnhwYXRoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcxN2I2NmEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMDkueHBhdGgKQEAgLTAsMCArMSw4IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxYUGF0aCB4bWxuczpiYXI9Imh0dHA6Ly9leGFtcGxlLm9yZy9iYXIiIHhtbG5zOmJhej0iaHR0cDovL2V4YW1wbGUub3JnL2JheiIgeG1sbnM6Zm9vPSJodHRwOi8vZXhhbXBsZS5vcmcvZm9vIiB4bWw6bGFuZz0iZW4taWUiPgorICAgICgvLy4gfCAvL0AqIHwgLy9uYW1lc3BhY2U6OiopIAorICAgIFsgCisgICAgICAgICAgICAgIDwhLS0gZXZlcnl0aGluZyAtLT4KKyAgICAgICAgICAgICAgYW5jZXN0b3Itb3Itc2VsZjo6YmFyOlNvbWV0aGluZworICAgIF0KKzwvWFBhdGg+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMTAueG1sIGIvbGlieG1sMi90ZXN0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTEwLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MTRjOWQxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTEwLnhtbApAQCAtMCwwICsxLDEyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxmb286Um9vdCB4bWxuczpiYXI9Imh0dHA6Ly9leGFtcGxlLm9yZy9iYXIiIHhtbG5zOmJhej0iaHR0cDovL2V4YW1wbGUub3JnL2JheiIgeG1sbnM6Zm9vPSJodHRwOi8vZXhhbXBsZS5vcmcvZm9vIiB4bWxucz0iaHR0cDovL2V4YW1wbGUub3JnLyIgeG1sOmxhbmc9ImVuLWllIj4KKyAgPGJhcjpTb21ldGhpbmc+CisgICAgIDxmb286U29tZXRoaW5nPgorICAgICAgICA8YmFyOlNvbWV0aGluZz4KKyAgICAgICAgICAgPGZvbzpTb21ldGhpbmc+CisgICAgICAgICAgICAgPGJhejpTb21ldGhpbmcgLz4KKyAgICAgICAgICAgPC9mb286U29tZXRoaW5nPgorICAgICAgICA8L2JhcjpTb21ldGhpbmc+CisgICAgIDwvZm9vOlNvbWV0aGluZz4KKyAgPC9iYXI6U29tZXRoaW5nPgorPC9mb286Um9vdD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0xMC54cGF0aCBiL2xpYnhtbDIvdGVzdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0xMC54cGF0aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZWEyNzk1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTEwLnhwYXRoCkBAIC0wLDAgKzEsMTIgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPFhQYXRoIHhtbG5zOmJhcj0iaHR0cDovL2V4YW1wbGUub3JnL2JhciIgeG1sbnM6YmF6PSJodHRwOi8vZXhhbXBsZS5vcmcvYmF6IiB4bWxuczpmb289Imh0dHA6Ly9leGFtcGxlLm9yZy9mb28iIHhtbDpsYW5nPSJlbi1pZSI+CisgICAgKC8vLiB8IC8vQCogfCAvL25hbWVzcGFjZTo6KikgCisgICAgWyAKKyAgICAgICAgICAgICAgPCEtLSBvbmx5IHRleHQsIGVsZW1lbnRzIG9yIGRpcmVjdGx5LXVzZWQgbmFtZXNwYWNlIG5vZGVzIC0tPgorICAgICAgICAgICAgICBhbmNlc3Rvci1vci1zZWxmOjpiYXI6U29tZXRoaW5nICBhbmQKKyAgICAgICAgICAgICAgKChuYW1lKCkgIT0gImJhciIpIG9yIHBhcmVudDo6YmFyOlNvbWV0aGluZykgIGFuZAorICAgICAgICAgICAgICAoKG5hbWUoKSAhPSAiZm9vIikgb3IgcGFyZW50Ojpmb286U29tZXRoaW5nKSAgYW5kCisgICAgICAgICAgICAgICgobmFtZSgpICE9ICJiYXoiKSBvciBwYXJlbnQ6OmJhejpTb21ldGhpbmcpICBhbmQKKyAgICAgICAgICAgICAgKChuYW1lKCkgIT0gIiIpIG9yIHNlbGY6OnRleHQoKSkKKyAgICBdCis8L1hQYXRoPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTExLnhtbCBiL2xpYnhtbDIvdGVzdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0xMS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzE0YzlkMQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0xMS54bWwKQEAgLTAsMCArMSwxMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8Zm9vOlJvb3QgeG1sbnM6YmFyPSJodHRwOi8vZXhhbXBsZS5vcmcvYmFyIiB4bWxuczpiYXo9Imh0dHA6Ly9leGFtcGxlLm9yZy9iYXoiIHhtbG5zOmZvbz0iaHR0cDovL2V4YW1wbGUub3JnL2ZvbyIgeG1sbnM9Imh0dHA6Ly9leGFtcGxlLm9yZy8iIHhtbDpsYW5nPSJlbi1pZSI+CisgIDxiYXI6U29tZXRoaW5nPgorICAgICA8Zm9vOlNvbWV0aGluZz4KKyAgICAgICAgPGJhcjpTb21ldGhpbmc+CisgICAgICAgICAgIDxmb286U29tZXRoaW5nPgorICAgICAgICAgICAgIDxiYXo6U29tZXRoaW5nIC8+CisgICAgICAgICAgIDwvZm9vOlNvbWV0aGluZz4KKyAgICAgICAgPC9iYXI6U29tZXRoaW5nPgorICAgICA8L2ZvbzpTb21ldGhpbmc+CisgIDwvYmFyOlNvbWV0aGluZz4KKzwvZm9vOlJvb3Q+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMTEueHBhdGggYi9saWJ4bWwyL3Rlc3QvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMTEueHBhdGgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzdkNjVlMAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0xMS54cGF0aApAQCAtMCwwICsxLDExIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxYUGF0aCB4bWxuczpiYXI9Imh0dHA6Ly9leGFtcGxlLm9yZy9iYXIiIHhtbG5zOmJhej0iaHR0cDovL2V4YW1wbGUub3JnL2JheiIgeG1sbnM6Zm9vPSJodHRwOi8vZXhhbXBsZS5vcmcvZm9vIiB4bWw6bGFuZz0iZW4taWUiPgorICAgICgvLy4gfCAvL0AqIHwgLy9uYW1lc3BhY2U6OiopIAorICAgIFsgCisgICAgICAgICAgICAgIDwhLS0gb25seSB0ZXh0LCBlbGVtZW50cyBvciBkaXJlY3RseS11c2VkIG5hbWVzcGFjZSBub2RlcyAtLT4KKyAgICAgICAgICAgICAgYW5jZXN0b3Itb3Itc2VsZjo6YmFyOlNvbWV0aGluZyAgYW5kCisgICAgICAgICAgICAgIChzZWxmOjp0ZXh0KCkgIG9yCisgICAgICAgICAgICAgICAobmFtZXNwYWNlLXVyaSgpICE9ICIiKSAgb3IKKyAgICAgICAgICAgICAgIChzdHJpbmcoc2VsZjo6bm9kZSgpKSA9IG5hbWVzcGFjZS11cmkocGFyZW50Ojpub2RlKCkpKSkKKyAgICBdCis8L1hQYXRoPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTEyLnhtbCBiL2xpYnhtbDIvdGVzdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0xMi54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzE0YzlkMQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0xMi54bWwKQEAgLTAsMCArMSwxMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8Zm9vOlJvb3QgeG1sbnM6YmFyPSJodHRwOi8vZXhhbXBsZS5vcmcvYmFyIiB4bWxuczpiYXo9Imh0dHA6Ly9leGFtcGxlLm9yZy9iYXoiIHhtbG5zOmZvbz0iaHR0cDovL2V4YW1wbGUub3JnL2ZvbyIgeG1sbnM9Imh0dHA6Ly9leGFtcGxlLm9yZy8iIHhtbDpsYW5nPSJlbi1pZSI+CisgIDxiYXI6U29tZXRoaW5nPgorICAgICA8Zm9vOlNvbWV0aGluZz4KKyAgICAgICAgPGJhcjpTb21ldGhpbmc+CisgICAgICAgICAgIDxmb286U29tZXRoaW5nPgorICAgICAgICAgICAgIDxiYXo6U29tZXRoaW5nIC8+CisgICAgICAgICAgIDwvZm9vOlNvbWV0aGluZz4KKyAgICAgICAgPC9iYXI6U29tZXRoaW5nPgorICAgICA8L2ZvbzpTb21ldGhpbmc+CisgIDwvYmFyOlNvbWV0aGluZz4KKzwvZm9vOlJvb3Q+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMTIueHBhdGggYi9saWJ4bWwyL3Rlc3QvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMTIueHBhdGgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWQ4YWU2OAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0xMi54cGF0aApAQCAtMCwwICsxLDEyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxYUGF0aCB4bWxuczpiYXI9Imh0dHA6Ly9leGFtcGxlLm9yZy9iYXIiIHhtbG5zOmJhej0iaHR0cDovL2V4YW1wbGUub3JnL2JheiIgeG1sbnM6Zm9vPSJodHRwOi8vZXhhbXBsZS5vcmcvZm9vIiB4bWw6bGFuZz0iZW4taWUiPgorICAgICgvLy4gfCAvL0AqIHwgLy9uYW1lc3BhY2U6OiopIAorICAgIFsgCisgICAgICAgICAgICAgIDwhLS0gb25seSB0ZXh0LCBlbGVtZW50cywgb3IgZGlyZWN0bHktdXNlZCBuYW1lc3BhY2Ugbm9kZXMgYnV0IG5vdCBmb286U29tZXRoaW5nIC0tPgorICAgICAgICAgICAgICBhbmNlc3Rvci1vci1zZWxmOjpiYXI6U29tZXRoaW5nICBhbmQKKyAgICAgICAgICAgICAgbm90IChzZWxmOjpmb286U29tZXRoaW5nKSAgYW5kCisgICAgICAgICAgICAgIChzZWxmOjp0ZXh0KCkgIG9yCisgICAgICAgICAgICAgICAobmFtZXNwYWNlLXVyaSgpICE9ICIiKSAgb3IKKyAgICAgICAgICAgICAgIChzdHJpbmcoc2VsZjo6bm9kZSgpKSA9IG5hbWVzcGFjZS11cmkocGFyZW50Ojpub2RlKCkpKSkKKyAgICBdCis8L1hQYXRoPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTEzLnhtbCBiL2xpYnhtbDIvdGVzdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0xMy54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzE0YzlkMQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0xMy54bWwKQEAgLTAsMCArMSwxMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8Zm9vOlJvb3QgeG1sbnM6YmFyPSJodHRwOi8vZXhhbXBsZS5vcmcvYmFyIiB4bWxuczpiYXo9Imh0dHA6Ly9leGFtcGxlLm9yZy9iYXoiIHhtbG5zOmZvbz0iaHR0cDovL2V4YW1wbGUub3JnL2ZvbyIgeG1sbnM9Imh0dHA6Ly9leGFtcGxlLm9yZy8iIHhtbDpsYW5nPSJlbi1pZSI+CisgIDxiYXI6U29tZXRoaW5nPgorICAgICA8Zm9vOlNvbWV0aGluZz4KKyAgICAgICAgPGJhcjpTb21ldGhpbmc+CisgICAgICAgICAgIDxmb286U29tZXRoaW5nPgorICAgICAgICAgICAgIDxiYXo6U29tZXRoaW5nIC8+CisgICAgICAgICAgIDwvZm9vOlNvbWV0aGluZz4KKyAgICAgICAgPC9iYXI6U29tZXRoaW5nPgorICAgICA8L2ZvbzpTb21ldGhpbmc+CisgIDwvYmFyOlNvbWV0aGluZz4KKzwvZm9vOlJvb3Q+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMTMueHBhdGggYi9saWJ4bWwyL3Rlc3QvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMTMueHBhdGgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2QwMTcwYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0xMy54cGF0aApAQCAtMCwwICsxLDEwIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxYUGF0aCB4bWxuczpiYXI9Imh0dHA6Ly9leGFtcGxlLm9yZy9iYXIiIHhtbG5zOmJhej0iaHR0cDovL2V4YW1wbGUub3JnL2JheiIgeG1sbnM6Zm9vPSJodHRwOi8vZXhhbXBsZS5vcmcvZm9vIiB4bWw6bGFuZz0iZW4taWUiPgorICAgICgvLy4gfCAvL0AqIHwgLy9uYW1lc3BhY2U6OiopIAorICAgIFsgCisgICAgICAgICAgICAgIDwhLS0gbm8gbmFtZXNwYWNlIG5vZGVzOyBJIGFtIG5vdCBpbiBteSBwYXJlbnQncyBuYW1lc3BhY2UgYXhpcyAtLT4KKyAgICAgICAgICAgICAgYW5jZXN0b3Itb3Itc2VsZjo6YmFyOlNvbWV0aGluZyAgYW5kCisgICAgICAgICAgICAgIChjb3VudChwYXJlbnQ6Om5vZGUoKS9uYW1lc3BhY2U6OiopICAhPQorICAgICAgICAgICAgICAgY291bnQocGFyZW50Ojpub2RlKCkvbmFtZXNwYWNlOjoqIHwgc2VsZjo6bm9kZSgpKSkKKyAgICBdCis8L1hQYXRoPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTE0LnhtbCBiL2xpYnhtbDIvdGVzdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0xNC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzE0YzlkMQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0xNC54bWwKQEAgLTAsMCArMSwxMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8Zm9vOlJvb3QgeG1sbnM6YmFyPSJodHRwOi8vZXhhbXBsZS5vcmcvYmFyIiB4bWxuczpiYXo9Imh0dHA6Ly9leGFtcGxlLm9yZy9iYXoiIHhtbG5zOmZvbz0iaHR0cDovL2V4YW1wbGUub3JnL2ZvbyIgeG1sbnM9Imh0dHA6Ly9leGFtcGxlLm9yZy8iIHhtbDpsYW5nPSJlbi1pZSI+CisgIDxiYXI6U29tZXRoaW5nPgorICAgICA8Zm9vOlNvbWV0aGluZz4KKyAgICAgICAgPGJhcjpTb21ldGhpbmc+CisgICAgICAgICAgIDxmb286U29tZXRoaW5nPgorICAgICAgICAgICAgIDxiYXo6U29tZXRoaW5nIC8+CisgICAgICAgICAgIDwvZm9vOlNvbWV0aGluZz4KKyAgICAgICAgPC9iYXI6U29tZXRoaW5nPgorICAgICA8L2ZvbzpTb21ldGhpbmc+CisgIDwvYmFyOlNvbWV0aGluZz4KKzwvZm9vOlJvb3Q+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMTQueHBhdGggYi9saWJ4bWwyL3Rlc3QvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMTQueHBhdGgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjczMjg5NAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0xNC54cGF0aApAQCAtMCwwICsxLDEwIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxYUGF0aCB4bWxuczpiYXI9Imh0dHA6Ly9leGFtcGxlLm9yZy9iYXIiIHhtbG5zOmJhej0iaHR0cDovL2V4YW1wbGUub3JnL2JheiIgeG1sbnM6Zm9vPSJodHRwOi8vZXhhbXBsZS5vcmcvZm9vIiB4bWw6bGFuZz0iZW4taWUiPgorICAgICgvLy4gfCAvL0AqIHwgLy9uYW1lc3BhY2U6OiopIAorICAgIFsgCisgICAgICAgICAgICAgIDwhLS0gbm8gbmFtZXNwYWNlIG5vZGVzOyBJIGFtIHRleHQgb3IgaGF2ZSBub25lbXB0eSBuYW1lc3BhY2UgVVJJIC0tPgorICAgICAgICAgICAgICBhbmNlc3Rvci1vci1zZWxmOjpiYXI6U29tZXRoaW5nICBhbmQKKyAgICAgICAgICAgICAgKHNlbGY6OnRleHQoKSAgb3IKKyAgICAgICAgICAgICAgIChuYW1lc3BhY2UtdXJpKCkgIT0gIiIpKQorICAgIF0KKzwvWFBhdGg+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMTUueG1sIGIvbGlieG1sMi90ZXN0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTE1LnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MTRjOWQxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTE1LnhtbApAQCAtMCwwICsxLDEyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxmb286Um9vdCB4bWxuczpiYXI9Imh0dHA6Ly9leGFtcGxlLm9yZy9iYXIiIHhtbG5zOmJhej0iaHR0cDovL2V4YW1wbGUub3JnL2JheiIgeG1sbnM6Zm9vPSJodHRwOi8vZXhhbXBsZS5vcmcvZm9vIiB4bWxucz0iaHR0cDovL2V4YW1wbGUub3JnLyIgeG1sOmxhbmc9ImVuLWllIj4KKyAgPGJhcjpTb21ldGhpbmc+CisgICAgIDxmb286U29tZXRoaW5nPgorICAgICAgICA8YmFyOlNvbWV0aGluZz4KKyAgICAgICAgICAgPGZvbzpTb21ldGhpbmc+CisgICAgICAgICAgICAgPGJhejpTb21ldGhpbmcgLz4KKyAgICAgICAgICAgPC9mb286U29tZXRoaW5nPgorICAgICAgICA8L2JhcjpTb21ldGhpbmc+CisgICAgIDwvZm9vOlNvbWV0aGluZz4KKyAgPC9iYXI6U29tZXRoaW5nPgorPC9mb286Um9vdD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0xNS54cGF0aCBiL2xpYnhtbDIvdGVzdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0xNS54cGF0aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZTY1ODllCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTE1LnhwYXRoCkBAIC0wLDAgKzEsMTAgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPFhQYXRoIHhtbG5zOmJhcj0iaHR0cDovL2V4YW1wbGUub3JnL2JhciIgeG1sbnM6YmF6PSJodHRwOi8vZXhhbXBsZS5vcmcvYmF6IiB4bWxuczpmb289Imh0dHA6Ly9leGFtcGxlLm9yZy9mb28iIHhtbDpsYW5nPSJlbi1pZSI+CisgICAgKC8vLiB8IC8vQCogfCAvL25hbWVzcGFjZTo6KikgCisgICAgWyAKKyAgICAgICAgICAgICAgPCEtLSBvbmx5IG5hbWVzcGFjZSBub2RlcyAtLT4KKyAgICAgICAgICAgICAgYW5jZXN0b3Itb3Itc2VsZjo6YmFyOlNvbWV0aGluZyAgYW5kCisgICAgICAgICAgICAgIChjb3VudChwYXJlbnQ6Om5vZGUoKS9uYW1lc3BhY2U6OiopICA9CisgICAgICAgICAgICAgICBjb3VudChwYXJlbnQ6Om5vZGUoKS9uYW1lc3BhY2U6OiogfCBzZWxmOjpub2RlKCkpKQorICAgIF0KKzwvWFBhdGg+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMTYueG1sIGIvbGlieG1sMi90ZXN0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTE2LnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MTRjOWQxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTE2LnhtbApAQCAtMCwwICsxLDEyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxmb286Um9vdCB4bWxuczpiYXI9Imh0dHA6Ly9leGFtcGxlLm9yZy9iYXIiIHhtbG5zOmJhej0iaHR0cDovL2V4YW1wbGUub3JnL2JheiIgeG1sbnM6Zm9vPSJodHRwOi8vZXhhbXBsZS5vcmcvZm9vIiB4bWxucz0iaHR0cDovL2V4YW1wbGUub3JnLyIgeG1sOmxhbmc9ImVuLWllIj4KKyAgPGJhcjpTb21ldGhpbmc+CisgICAgIDxmb286U29tZXRoaW5nPgorICAgICAgICA8YmFyOlNvbWV0aGluZz4KKyAgICAgICAgICAgPGZvbzpTb21ldGhpbmc+CisgICAgICAgICAgICAgPGJhejpTb21ldGhpbmcgLz4KKyAgICAgICAgICAgPC9mb286U29tZXRoaW5nPgorICAgICAgICA8L2JhcjpTb21ldGhpbmc+CisgICAgIDwvZm9vOlNvbWV0aGluZz4KKyAgPC9iYXI6U29tZXRoaW5nPgorPC9mb286Um9vdD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0xNi54cGF0aCBiL2xpYnhtbDIvdGVzdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0xNi54cGF0aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZGNhNTI4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTE2LnhwYXRoCkBAIC0wLDAgKzEsOSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8WFBhdGggeG1sbnM6YmFyPSJodHRwOi8vZXhhbXBsZS5vcmcvYmFyIiB4bWxuczpiYXo9Imh0dHA6Ly9leGFtcGxlLm9yZy9iYXoiIHhtbG5zOmZvbz0iaHR0cDovL2V4YW1wbGUub3JnL2ZvbyIgeG1sOmxhbmc9ImVuLWllIj4KKyAgICAoLy8uIHwgLy9AKiB8IC8vbmFtZXNwYWNlOjoqKSAKKyAgICBbIAorICAgICAgICAgICAgICA8IS0tIG9ubHkgZGlyZWN0bHktdXNlZCBuYW1lc3BhY2Ugbm9kZXMgLS0+CisgICAgICAgICAgICAgIGFuY2VzdG9yLW9yLXNlbGY6OmJhcjpTb21ldGhpbmcgIGFuZAorICAgICAgICAgICAgICAoc3RyaW5nKHNlbGY6Om5vZGUoKSkgPSBuYW1lc3BhY2UtdXJpKHBhcmVudDo6bm9kZSgpKSkKKyAgICBdCis8L1hQYXRoPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTE3LnhtbCBiL2xpYnhtbDIvdGVzdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0xNy54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzE0YzlkMQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0xNy54bWwKQEAgLTAsMCArMSwxMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8Zm9vOlJvb3QgeG1sbnM6YmFyPSJodHRwOi8vZXhhbXBsZS5vcmcvYmFyIiB4bWxuczpiYXo9Imh0dHA6Ly9leGFtcGxlLm9yZy9iYXoiIHhtbG5zOmZvbz0iaHR0cDovL2V4YW1wbGUub3JnL2ZvbyIgeG1sbnM9Imh0dHA6Ly9leGFtcGxlLm9yZy8iIHhtbDpsYW5nPSJlbi1pZSI+CisgIDxiYXI6U29tZXRoaW5nPgorICAgICA8Zm9vOlNvbWV0aGluZz4KKyAgICAgICAgPGJhcjpTb21ldGhpbmc+CisgICAgICAgICAgIDxmb286U29tZXRoaW5nPgorICAgICAgICAgICAgIDxiYXo6U29tZXRoaW5nIC8+CisgICAgICAgICAgIDwvZm9vOlNvbWV0aGluZz4KKyAgICAgICAgPC9iYXI6U29tZXRoaW5nPgorICAgICA8L2ZvbzpTb21ldGhpbmc+CisgIDwvYmFyOlNvbWV0aGluZz4KKzwvZm9vOlJvb3Q+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMTcueHBhdGggYi9saWJ4bWwyL3Rlc3QvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMTcueHBhdGgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjRmZGQzZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0xNy54cGF0aApAQCAtMCwwICsxLDEyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxYUGF0aCB4bWxuczpiYXI9Imh0dHA6Ly9leGFtcGxlLm9yZy9iYXIiIHhtbG5zOmJhej0iaHR0cDovL2V4YW1wbGUub3JnL2JheiIgeG1sbnM6Zm9vPSJodHRwOi8vZXhhbXBsZS5vcmcvZm9vIiB4bWw6bGFuZz0iZW4taWUiPgorICAgICgvLy4gfCAvL0AqIHwgLy9uYW1lc3BhY2U6OiopIAorICAgIFsgCisgICAgICAgICAgICAgIDwhLS0gbm8gbmFtZXNwYWNlIG5vZGVzIGJ1dCB0aGUgZGVmYXVsdCBvbiBhbHRlcm5hdGUgZWxlbWVudHMgLS0+CisgICAgICAgICAgICAgIGFuY2VzdG9yLW9yLXNlbGY6OmJhcjpTb21ldGhpbmcgIGFuZAorICAgICAgICAgICAgICAoc2VsZjo6dGV4dCgpICBvcgorICAgICAgICAgICAgICAgKG5hbWVzcGFjZS11cmkoKSAhPSAiIikgIG9yCisgICAgICAgICAgICAgICAoKG5hbWUoKSA9ICIiKSAgYW5kCisgICAgICAgICAgICAgICAgKChjb3VudChhbmNlc3Rvci1vci1zZWxmOjpub2RlKCkpIG1vZCAyKSA9IDEpKSkKKyAgICBdCis8L1hQYXRoPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTE4Lm5zIGIvbGlieG1sMi90ZXN0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTE4Lm5zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM4ODZhZWQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMTgubnMKQEAgLTAsMCArMSBAQAorI2RlZmF1bHQKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMTgueG1sIGIvbGlieG1sMi90ZXN0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTE4LnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MTRjOWQxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTE4LnhtbApAQCAtMCwwICsxLDEyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxmb286Um9vdCB4bWxuczpiYXI9Imh0dHA6Ly9leGFtcGxlLm9yZy9iYXIiIHhtbG5zOmJhej0iaHR0cDovL2V4YW1wbGUub3JnL2JheiIgeG1sbnM6Zm9vPSJodHRwOi8vZXhhbXBsZS5vcmcvZm9vIiB4bWxucz0iaHR0cDovL2V4YW1wbGUub3JnLyIgeG1sOmxhbmc9ImVuLWllIj4KKyAgPGJhcjpTb21ldGhpbmc+CisgICAgIDxmb286U29tZXRoaW5nPgorICAgICAgICA8YmFyOlNvbWV0aGluZz4KKyAgICAgICAgICAgPGZvbzpTb21ldGhpbmc+CisgICAgICAgICAgICAgPGJhejpTb21ldGhpbmcgLz4KKyAgICAgICAgICAgPC9mb286U29tZXRoaW5nPgorICAgICAgICA8L2JhcjpTb21ldGhpbmc+CisgICAgIDwvZm9vOlNvbWV0aGluZz4KKyAgPC9iYXI6U29tZXRoaW5nPgorPC9mb286Um9vdD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0xOC54cGF0aCBiL2xpYnhtbDIvdGVzdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0xOC54cGF0aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MTdiNjZhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTE4LnhwYXRoCkBAIC0wLDAgKzEsOCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8WFBhdGggeG1sbnM6YmFyPSJodHRwOi8vZXhhbXBsZS5vcmcvYmFyIiB4bWxuczpiYXo9Imh0dHA6Ly9leGFtcGxlLm9yZy9iYXoiIHhtbG5zOmZvbz0iaHR0cDovL2V4YW1wbGUub3JnL2ZvbyIgeG1sOmxhbmc9ImVuLWllIj4KKyAgICAoLy8uIHwgLy9AKiB8IC8vbmFtZXNwYWNlOjoqKSAKKyAgICBbIAorICAgICAgICAgICAgICA8IS0tIGV2ZXJ5dGhpbmcgLS0+CisgICAgICAgICAgICAgIGFuY2VzdG9yLW9yLXNlbGY6OmJhcjpTb21ldGhpbmcKKyAgICBdCis8L1hQYXRoPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTE5Lm5zIGIvbGlieG1sMi90ZXN0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTE5Lm5zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM4ODZhZWQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMTkubnMKQEAgLTAsMCArMSBAQAorI2RlZmF1bHQKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMTkueG1sIGIvbGlieG1sMi90ZXN0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTE5LnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MTRjOWQxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTE5LnhtbApAQCAtMCwwICsxLDEyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxmb286Um9vdCB4bWxuczpiYXI9Imh0dHA6Ly9leGFtcGxlLm9yZy9iYXIiIHhtbG5zOmJhej0iaHR0cDovL2V4YW1wbGUub3JnL2JheiIgeG1sbnM6Zm9vPSJodHRwOi8vZXhhbXBsZS5vcmcvZm9vIiB4bWxucz0iaHR0cDovL2V4YW1wbGUub3JnLyIgeG1sOmxhbmc9ImVuLWllIj4KKyAgPGJhcjpTb21ldGhpbmc+CisgICAgIDxmb286U29tZXRoaW5nPgorICAgICAgICA8YmFyOlNvbWV0aGluZz4KKyAgICAgICAgICAgPGZvbzpTb21ldGhpbmc+CisgICAgICAgICAgICAgPGJhejpTb21ldGhpbmcgLz4KKyAgICAgICAgICAgPC9mb286U29tZXRoaW5nPgorICAgICAgICA8L2JhcjpTb21ldGhpbmc+CisgICAgIDwvZm9vOlNvbWV0aGluZz4KKyAgPC9iYXI6U29tZXRoaW5nPgorPC9mb286Um9vdD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0xOS54cGF0aCBiL2xpYnhtbDIvdGVzdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0xOS54cGF0aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZWEyNzk1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTE5LnhwYXRoCkBAIC0wLDAgKzEsMTIgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPFhQYXRoIHhtbG5zOmJhcj0iaHR0cDovL2V4YW1wbGUub3JnL2JhciIgeG1sbnM6YmF6PSJodHRwOi8vZXhhbXBsZS5vcmcvYmF6IiB4bWxuczpmb289Imh0dHA6Ly9leGFtcGxlLm9yZy9mb28iIHhtbDpsYW5nPSJlbi1pZSI+CisgICAgKC8vLiB8IC8vQCogfCAvL25hbWVzcGFjZTo6KikgCisgICAgWyAKKyAgICAgICAgICAgICAgPCEtLSBvbmx5IHRleHQsIGVsZW1lbnRzIG9yIGRpcmVjdGx5LXVzZWQgbmFtZXNwYWNlIG5vZGVzIC0tPgorICAgICAgICAgICAgICBhbmNlc3Rvci1vci1zZWxmOjpiYXI6U29tZXRoaW5nICBhbmQKKyAgICAgICAgICAgICAgKChuYW1lKCkgIT0gImJhciIpIG9yIHBhcmVudDo6YmFyOlNvbWV0aGluZykgIGFuZAorICAgICAgICAgICAgICAoKG5hbWUoKSAhPSAiZm9vIikgb3IgcGFyZW50Ojpmb286U29tZXRoaW5nKSAgYW5kCisgICAgICAgICAgICAgICgobmFtZSgpICE9ICJiYXoiKSBvciBwYXJlbnQ6OmJhejpTb21ldGhpbmcpICBhbmQKKyAgICAgICAgICAgICAgKChuYW1lKCkgIT0gIiIpIG9yIHNlbGY6OnRleHQoKSkKKyAgICBdCis8L1hQYXRoPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTIwLm5zIGIvbGlieG1sMi90ZXN0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTIwLm5zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM4ODZhZWQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMjAubnMKQEAgLTAsMCArMSBAQAorI2RlZmF1bHQKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMjAueG1sIGIvbGlieG1sMi90ZXN0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTIwLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MTRjOWQxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTIwLnhtbApAQCAtMCwwICsxLDEyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxmb286Um9vdCB4bWxuczpiYXI9Imh0dHA6Ly9leGFtcGxlLm9yZy9iYXIiIHhtbG5zOmJhej0iaHR0cDovL2V4YW1wbGUub3JnL2JheiIgeG1sbnM6Zm9vPSJodHRwOi8vZXhhbXBsZS5vcmcvZm9vIiB4bWxucz0iaHR0cDovL2V4YW1wbGUub3JnLyIgeG1sOmxhbmc9ImVuLWllIj4KKyAgPGJhcjpTb21ldGhpbmc+CisgICAgIDxmb286U29tZXRoaW5nPgorICAgICAgICA8YmFyOlNvbWV0aGluZz4KKyAgICAgICAgICAgPGZvbzpTb21ldGhpbmc+CisgICAgICAgICAgICAgPGJhejpTb21ldGhpbmcgLz4KKyAgICAgICAgICAgPC9mb286U29tZXRoaW5nPgorICAgICAgICA8L2JhcjpTb21ldGhpbmc+CisgICAgIDwvZm9vOlNvbWV0aGluZz4KKyAgPC9iYXI6U29tZXRoaW5nPgorPC9mb286Um9vdD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0yMC54cGF0aCBiL2xpYnhtbDIvdGVzdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0yMC54cGF0aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zN2Q2NWUwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTIwLnhwYXRoCkBAIC0wLDAgKzEsMTEgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPFhQYXRoIHhtbG5zOmJhcj0iaHR0cDovL2V4YW1wbGUub3JnL2JhciIgeG1sbnM6YmF6PSJodHRwOi8vZXhhbXBsZS5vcmcvYmF6IiB4bWxuczpmb289Imh0dHA6Ly9leGFtcGxlLm9yZy9mb28iIHhtbDpsYW5nPSJlbi1pZSI+CisgICAgKC8vLiB8IC8vQCogfCAvL25hbWVzcGFjZTo6KikgCisgICAgWyAKKyAgICAgICAgICAgICAgPCEtLSBvbmx5IHRleHQsIGVsZW1lbnRzIG9yIGRpcmVjdGx5LXVzZWQgbmFtZXNwYWNlIG5vZGVzIC0tPgorICAgICAgICAgICAgICBhbmNlc3Rvci1vci1zZWxmOjpiYXI6U29tZXRoaW5nICBhbmQKKyAgICAgICAgICAgICAgKHNlbGY6OnRleHQoKSAgb3IKKyAgICAgICAgICAgICAgIChuYW1lc3BhY2UtdXJpKCkgIT0gIiIpICBvcgorICAgICAgICAgICAgICAgKHN0cmluZyhzZWxmOjpub2RlKCkpID0gbmFtZXNwYWNlLXVyaShwYXJlbnQ6Om5vZGUoKSkpKQorICAgIF0KKzwvWFBhdGg+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMjEubnMgYi9saWJ4bWwyL3Rlc3QvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMjEubnMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzg4NmFlZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0yMS5ucwpAQCAtMCwwICsxIEBACisjZGVmYXVsdApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0yMS54bWwgYi9saWJ4bWwyL3Rlc3QvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMjEueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcxNGM5ZDEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMjEueG1sCkBAIC0wLDAgKzEsMTIgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPGZvbzpSb290IHhtbG5zOmJhcj0iaHR0cDovL2V4YW1wbGUub3JnL2JhciIgeG1sbnM6YmF6PSJodHRwOi8vZXhhbXBsZS5vcmcvYmF6IiB4bWxuczpmb289Imh0dHA6Ly9leGFtcGxlLm9yZy9mb28iIHhtbG5zPSJodHRwOi8vZXhhbXBsZS5vcmcvIiB4bWw6bGFuZz0iZW4taWUiPgorICA8YmFyOlNvbWV0aGluZz4KKyAgICAgPGZvbzpTb21ldGhpbmc+CisgICAgICAgIDxiYXI6U29tZXRoaW5nPgorICAgICAgICAgICA8Zm9vOlNvbWV0aGluZz4KKyAgICAgICAgICAgICA8YmF6OlNvbWV0aGluZyAvPgorICAgICAgICAgICA8L2ZvbzpTb21ldGhpbmc+CisgICAgICAgIDwvYmFyOlNvbWV0aGluZz4KKyAgICAgPC9mb286U29tZXRoaW5nPgorICA8L2JhcjpTb21ldGhpbmc+Cis8L2ZvbzpSb290PgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTIxLnhwYXRoIGIvbGlieG1sMi90ZXN0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTIxLnhwYXRoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVkOGFlNjgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMjEueHBhdGgKQEAgLTAsMCArMSwxMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8WFBhdGggeG1sbnM6YmFyPSJodHRwOi8vZXhhbXBsZS5vcmcvYmFyIiB4bWxuczpiYXo9Imh0dHA6Ly9leGFtcGxlLm9yZy9iYXoiIHhtbG5zOmZvbz0iaHR0cDovL2V4YW1wbGUub3JnL2ZvbyIgeG1sOmxhbmc9ImVuLWllIj4KKyAgICAoLy8uIHwgLy9AKiB8IC8vbmFtZXNwYWNlOjoqKSAKKyAgICBbIAorICAgICAgICAgICAgICA8IS0tIG9ubHkgdGV4dCwgZWxlbWVudHMsIG9yIGRpcmVjdGx5LXVzZWQgbmFtZXNwYWNlIG5vZGVzIGJ1dCBub3QgZm9vOlNvbWV0aGluZyAtLT4KKyAgICAgICAgICAgICAgYW5jZXN0b3Itb3Itc2VsZjo6YmFyOlNvbWV0aGluZyAgYW5kCisgICAgICAgICAgICAgIG5vdCAoc2VsZjo6Zm9vOlNvbWV0aGluZykgIGFuZAorICAgICAgICAgICAgICAoc2VsZjo6dGV4dCgpICBvcgorICAgICAgICAgICAgICAgKG5hbWVzcGFjZS11cmkoKSAhPSAiIikgIG9yCisgICAgICAgICAgICAgICAoc3RyaW5nKHNlbGY6Om5vZGUoKSkgPSBuYW1lc3BhY2UtdXJpKHBhcmVudDo6bm9kZSgpKSkpCisgICAgXQorPC9YUGF0aD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0yMi5ucyBiL2xpYnhtbDIvdGVzdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0yMi5ucwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zODg2YWVkCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTIyLm5zCkBAIC0wLDAgKzEgQEAKKyNkZWZhdWx0ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTIyLnhtbCBiL2xpYnhtbDIvdGVzdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0yMi54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzE0YzlkMQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0yMi54bWwKQEAgLTAsMCArMSwxMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8Zm9vOlJvb3QgeG1sbnM6YmFyPSJodHRwOi8vZXhhbXBsZS5vcmcvYmFyIiB4bWxuczpiYXo9Imh0dHA6Ly9leGFtcGxlLm9yZy9iYXoiIHhtbG5zOmZvbz0iaHR0cDovL2V4YW1wbGUub3JnL2ZvbyIgeG1sbnM9Imh0dHA6Ly9leGFtcGxlLm9yZy8iIHhtbDpsYW5nPSJlbi1pZSI+CisgIDxiYXI6U29tZXRoaW5nPgorICAgICA8Zm9vOlNvbWV0aGluZz4KKyAgICAgICAgPGJhcjpTb21ldGhpbmc+CisgICAgICAgICAgIDxmb286U29tZXRoaW5nPgorICAgICAgICAgICAgIDxiYXo6U29tZXRoaW5nIC8+CisgICAgICAgICAgIDwvZm9vOlNvbWV0aGluZz4KKyAgICAgICAgPC9iYXI6U29tZXRoaW5nPgorICAgICA8L2ZvbzpTb21ldGhpbmc+CisgIDwvYmFyOlNvbWV0aGluZz4KKzwvZm9vOlJvb3Q+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMjIueHBhdGggYi9saWJ4bWwyL3Rlc3QvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMjIueHBhdGgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2QwMTcwYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0yMi54cGF0aApAQCAtMCwwICsxLDEwIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxYUGF0aCB4bWxuczpiYXI9Imh0dHA6Ly9leGFtcGxlLm9yZy9iYXIiIHhtbG5zOmJhej0iaHR0cDovL2V4YW1wbGUub3JnL2JheiIgeG1sbnM6Zm9vPSJodHRwOi8vZXhhbXBsZS5vcmcvZm9vIiB4bWw6bGFuZz0iZW4taWUiPgorICAgICgvLy4gfCAvL0AqIHwgLy9uYW1lc3BhY2U6OiopIAorICAgIFsgCisgICAgICAgICAgICAgIDwhLS0gbm8gbmFtZXNwYWNlIG5vZGVzOyBJIGFtIG5vdCBpbiBteSBwYXJlbnQncyBuYW1lc3BhY2UgYXhpcyAtLT4KKyAgICAgICAgICAgICAgYW5jZXN0b3Itb3Itc2VsZjo6YmFyOlNvbWV0aGluZyAgYW5kCisgICAgICAgICAgICAgIChjb3VudChwYXJlbnQ6Om5vZGUoKS9uYW1lc3BhY2U6OiopICAhPQorICAgICAgICAgICAgICAgY291bnQocGFyZW50Ojpub2RlKCkvbmFtZXNwYWNlOjoqIHwgc2VsZjo6bm9kZSgpKSkKKyAgICBdCis8L1hQYXRoPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTIzLm5zIGIvbGlieG1sMi90ZXN0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTIzLm5zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM4ODZhZWQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMjMubnMKQEAgLTAsMCArMSBAQAorI2RlZmF1bHQKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMjMueG1sIGIvbGlieG1sMi90ZXN0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTIzLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MTRjOWQxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTIzLnhtbApAQCAtMCwwICsxLDEyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxmb286Um9vdCB4bWxuczpiYXI9Imh0dHA6Ly9leGFtcGxlLm9yZy9iYXIiIHhtbG5zOmJhej0iaHR0cDovL2V4YW1wbGUub3JnL2JheiIgeG1sbnM6Zm9vPSJodHRwOi8vZXhhbXBsZS5vcmcvZm9vIiB4bWxucz0iaHR0cDovL2V4YW1wbGUub3JnLyIgeG1sOmxhbmc9ImVuLWllIj4KKyAgPGJhcjpTb21ldGhpbmc+CisgICAgIDxmb286U29tZXRoaW5nPgorICAgICAgICA8YmFyOlNvbWV0aGluZz4KKyAgICAgICAgICAgPGZvbzpTb21ldGhpbmc+CisgICAgICAgICAgICAgPGJhejpTb21ldGhpbmcgLz4KKyAgICAgICAgICAgPC9mb286U29tZXRoaW5nPgorICAgICAgICA8L2JhcjpTb21ldGhpbmc+CisgICAgIDwvZm9vOlNvbWV0aGluZz4KKyAgPC9iYXI6U29tZXRoaW5nPgorPC9mb286Um9vdD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0yMy54cGF0aCBiL2xpYnhtbDIvdGVzdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0yMy54cGF0aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNzMyODk0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTIzLnhwYXRoCkBAIC0wLDAgKzEsMTAgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPFhQYXRoIHhtbG5zOmJhcj0iaHR0cDovL2V4YW1wbGUub3JnL2JhciIgeG1sbnM6YmF6PSJodHRwOi8vZXhhbXBsZS5vcmcvYmF6IiB4bWxuczpmb289Imh0dHA6Ly9leGFtcGxlLm9yZy9mb28iIHhtbDpsYW5nPSJlbi1pZSI+CisgICAgKC8vLiB8IC8vQCogfCAvL25hbWVzcGFjZTo6KikgCisgICAgWyAKKyAgICAgICAgICAgICAgPCEtLSBubyBuYW1lc3BhY2Ugbm9kZXM7IEkgYW0gdGV4dCBvciBoYXZlIG5vbmVtcHR5IG5hbWVzcGFjZSBVUkkgLS0+CisgICAgICAgICAgICAgIGFuY2VzdG9yLW9yLXNlbGY6OmJhcjpTb21ldGhpbmcgIGFuZAorICAgICAgICAgICAgICAoc2VsZjo6dGV4dCgpICBvcgorICAgICAgICAgICAgICAgKG5hbWVzcGFjZS11cmkoKSAhPSAiIikpCisgICAgXQorPC9YUGF0aD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0yNC5ucyBiL2xpYnhtbDIvdGVzdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0yNC5ucwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zODg2YWVkCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTI0Lm5zCkBAIC0wLDAgKzEgQEAKKyNkZWZhdWx0ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTI0LnhtbCBiL2xpYnhtbDIvdGVzdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0yNC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzE0YzlkMQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0yNC54bWwKQEAgLTAsMCArMSwxMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8Zm9vOlJvb3QgeG1sbnM6YmFyPSJodHRwOi8vZXhhbXBsZS5vcmcvYmFyIiB4bWxuczpiYXo9Imh0dHA6Ly9leGFtcGxlLm9yZy9iYXoiIHhtbG5zOmZvbz0iaHR0cDovL2V4YW1wbGUub3JnL2ZvbyIgeG1sbnM9Imh0dHA6Ly9leGFtcGxlLm9yZy8iIHhtbDpsYW5nPSJlbi1pZSI+CisgIDxiYXI6U29tZXRoaW5nPgorICAgICA8Zm9vOlNvbWV0aGluZz4KKyAgICAgICAgPGJhcjpTb21ldGhpbmc+CisgICAgICAgICAgIDxmb286U29tZXRoaW5nPgorICAgICAgICAgICAgIDxiYXo6U29tZXRoaW5nIC8+CisgICAgICAgICAgIDwvZm9vOlNvbWV0aGluZz4KKyAgICAgICAgPC9iYXI6U29tZXRoaW5nPgorICAgICA8L2ZvbzpTb21ldGhpbmc+CisgIDwvYmFyOlNvbWV0aGluZz4KKzwvZm9vOlJvb3Q+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMjQueHBhdGggYi9saWJ4bWwyL3Rlc3QvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMjQueHBhdGgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWU2NTg5ZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0yNC54cGF0aApAQCAtMCwwICsxLDEwIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxYUGF0aCB4bWxuczpiYXI9Imh0dHA6Ly9leGFtcGxlLm9yZy9iYXIiIHhtbG5zOmJhej0iaHR0cDovL2V4YW1wbGUub3JnL2JheiIgeG1sbnM6Zm9vPSJodHRwOi8vZXhhbXBsZS5vcmcvZm9vIiB4bWw6bGFuZz0iZW4taWUiPgorICAgICgvLy4gfCAvL0AqIHwgLy9uYW1lc3BhY2U6OiopIAorICAgIFsgCisgICAgICAgICAgICAgIDwhLS0gb25seSBuYW1lc3BhY2Ugbm9kZXMgLS0+CisgICAgICAgICAgICAgIGFuY2VzdG9yLW9yLXNlbGY6OmJhcjpTb21ldGhpbmcgIGFuZAorICAgICAgICAgICAgICAoY291bnQocGFyZW50Ojpub2RlKCkvbmFtZXNwYWNlOjoqKSAgPQorICAgICAgICAgICAgICAgY291bnQocGFyZW50Ojpub2RlKCkvbmFtZXNwYWNlOjoqIHwgc2VsZjo6bm9kZSgpKSkKKyAgICBdCis8L1hQYXRoPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTI1Lm5zIGIvbGlieG1sMi90ZXN0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTI1Lm5zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM4ODZhZWQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMjUubnMKQEAgLTAsMCArMSBAQAorI2RlZmF1bHQKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMjUueG1sIGIvbGlieG1sMi90ZXN0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTI1LnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MTRjOWQxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTI1LnhtbApAQCAtMCwwICsxLDEyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxmb286Um9vdCB4bWxuczpiYXI9Imh0dHA6Ly9leGFtcGxlLm9yZy9iYXIiIHhtbG5zOmJhej0iaHR0cDovL2V4YW1wbGUub3JnL2JheiIgeG1sbnM6Zm9vPSJodHRwOi8vZXhhbXBsZS5vcmcvZm9vIiB4bWxucz0iaHR0cDovL2V4YW1wbGUub3JnLyIgeG1sOmxhbmc9ImVuLWllIj4KKyAgPGJhcjpTb21ldGhpbmc+CisgICAgIDxmb286U29tZXRoaW5nPgorICAgICAgICA8YmFyOlNvbWV0aGluZz4KKyAgICAgICAgICAgPGZvbzpTb21ldGhpbmc+CisgICAgICAgICAgICAgPGJhejpTb21ldGhpbmcgLz4KKyAgICAgICAgICAgPC9mb286U29tZXRoaW5nPgorICAgICAgICA8L2JhcjpTb21ldGhpbmc+CisgICAgIDwvZm9vOlNvbWV0aGluZz4KKyAgPC9iYXI6U29tZXRoaW5nPgorPC9mb286Um9vdD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0yNS54cGF0aCBiL2xpYnhtbDIvdGVzdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0yNS54cGF0aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZGNhNTI4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTI1LnhwYXRoCkBAIC0wLDAgKzEsOSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8WFBhdGggeG1sbnM6YmFyPSJodHRwOi8vZXhhbXBsZS5vcmcvYmFyIiB4bWxuczpiYXo9Imh0dHA6Ly9leGFtcGxlLm9yZy9iYXoiIHhtbG5zOmZvbz0iaHR0cDovL2V4YW1wbGUub3JnL2ZvbyIgeG1sOmxhbmc9ImVuLWllIj4KKyAgICAoLy8uIHwgLy9AKiB8IC8vbmFtZXNwYWNlOjoqKSAKKyAgICBbIAorICAgICAgICAgICAgICA8IS0tIG9ubHkgZGlyZWN0bHktdXNlZCBuYW1lc3BhY2Ugbm9kZXMgLS0+CisgICAgICAgICAgICAgIGFuY2VzdG9yLW9yLXNlbGY6OmJhcjpTb21ldGhpbmcgIGFuZAorICAgICAgICAgICAgICAoc3RyaW5nKHNlbGY6Om5vZGUoKSkgPSBuYW1lc3BhY2UtdXJpKHBhcmVudDo6bm9kZSgpKSkKKyAgICBdCis8L1hQYXRoPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTI2Lm5zIGIvbGlieG1sMi90ZXN0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTI2Lm5zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM4ODZhZWQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMjYubnMKQEAgLTAsMCArMSBAQAorI2RlZmF1bHQKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMjYueG1sIGIvbGlieG1sMi90ZXN0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTI2LnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MTRjOWQxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTI2LnhtbApAQCAtMCwwICsxLDEyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxmb286Um9vdCB4bWxuczpiYXI9Imh0dHA6Ly9leGFtcGxlLm9yZy9iYXIiIHhtbG5zOmJhej0iaHR0cDovL2V4YW1wbGUub3JnL2JheiIgeG1sbnM6Zm9vPSJodHRwOi8vZXhhbXBsZS5vcmcvZm9vIiB4bWxucz0iaHR0cDovL2V4YW1wbGUub3JnLyIgeG1sOmxhbmc9ImVuLWllIj4KKyAgPGJhcjpTb21ldGhpbmc+CisgICAgIDxmb286U29tZXRoaW5nPgorICAgICAgICA8YmFyOlNvbWV0aGluZz4KKyAgICAgICAgICAgPGZvbzpTb21ldGhpbmc+CisgICAgICAgICAgICAgPGJhejpTb21ldGhpbmcgLz4KKyAgICAgICAgICAgPC9mb286U29tZXRoaW5nPgorICAgICAgICA8L2JhcjpTb21ldGhpbmc+CisgICAgIDwvZm9vOlNvbWV0aGluZz4KKyAgPC9iYXI6U29tZXRoaW5nPgorPC9mb286Um9vdD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0yNi54cGF0aCBiL2xpYnhtbDIvdGVzdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0yNi54cGF0aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNGZkZDNmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTI2LnhwYXRoCkBAIC0wLDAgKzEsMTIgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPFhQYXRoIHhtbG5zOmJhcj0iaHR0cDovL2V4YW1wbGUub3JnL2JhciIgeG1sbnM6YmF6PSJodHRwOi8vZXhhbXBsZS5vcmcvYmF6IiB4bWxuczpmb289Imh0dHA6Ly9leGFtcGxlLm9yZy9mb28iIHhtbDpsYW5nPSJlbi1pZSI+CisgICAgKC8vLiB8IC8vQCogfCAvL25hbWVzcGFjZTo6KikgCisgICAgWyAKKyAgICAgICAgICAgICAgPCEtLSBubyBuYW1lc3BhY2Ugbm9kZXMgYnV0IHRoZSBkZWZhdWx0IG9uIGFsdGVybmF0ZSBlbGVtZW50cyAtLT4KKyAgICAgICAgICAgICAgYW5jZXN0b3Itb3Itc2VsZjo6YmFyOlNvbWV0aGluZyAgYW5kCisgICAgICAgICAgICAgIChzZWxmOjp0ZXh0KCkgIG9yCisgICAgICAgICAgICAgICAobmFtZXNwYWNlLXVyaSgpICE9ICIiKSAgb3IKKyAgICAgICAgICAgICAgICgobmFtZSgpID0gIiIpICBhbmQKKyAgICAgICAgICAgICAgICAoKGNvdW50KGFuY2VzdG9yLW9yLXNlbGY6Om5vZGUoKSkgbW9kIDIpID0gMSkpKQorICAgIF0KKzwvWFBhdGg+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy90ZXN0LTAueG1sIGIvbGlieG1sMi90ZXN0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvdGVzdC0wLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jN2M0MmQ5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvdGVzdC0wLnhtbApAQCAtMCwwICsxLDE4IEBACis8IURPQ1RZUEUgZG9jIFs8IUFUVExJU1QgZTkgYXR0ciBDREFUQSAiZGVmYXVsdCI+XT4KKzxkb2MgeG1sbnM6Zm9vPSJodHRwOi8vd3d3LmJhci5vcmciIHhtbDpiYXNlPSJodHRwOi8vd3d3LmV4YW1wbGUub3JnLzIwMDIvIj4KKyAgIDxlMSAgIC8+CisgICA8ZTIgICA+PC9lMj4KKyAgIDxlMyAgICBuYW1lID0gImVsZW0zIiAgIGlkPSJlbGVtMyIgICAgLz4KKyAgIDxlNCAgICBuYW1lPSJlbGVtNCIgICBpZD0iZWxlbTQiICAgID48L2U0PgorICAgPGU1IGE6YXR0cj0ib3V0IiBiOmF0dHI9InNvcnRlZCIgYXR0cjI9ImFsbCIgYXR0cj0iSSdtIgorICAgICAgIHhtbG5zOmI9Imh0dHA6Ly93d3cuaWV0Zi5vcmciCisgICAgICAgeG1sbnM6YT0iaHR0cDovL3d3dy53My5vcmciCisgICAgICAgeG1sbnM9Imh0dHA6Ly9leGFtcGxlLm9yZyIvPgorICAgPGU2IHhtbG5zPSIiIHRlc3Q9Ii4uL2JheiIgeG1sbnM6YT0iaHR0cDovL3d3dy53My5vcmciPgorICAgICAgIDxlNyB4bWxucz0iaHR0cDovL3d3dy5pZXRmLm9yZyI+CisgICAgICAgICAgIDxlOCB4bWxucz0iIiB4bWxuczphPSJodHRwOi8vd3d3LnczLm9yZyIgYTpmb289ImJhciI+CisgICAgICAgICAgICAgICA8ZTkgeG1sbnM9IiIgeG1sbnM6YT0iaHR0cDovL3d3dy5pZXRmLm9yZyIvPgorICAgICAgICAgICA8L2U4PgorICAgICAgIDwvZTc+CisgICA8L2U2PgorPC9kb2M+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy90ZXN0LTAueHBhdGggYi9saWJ4bWwyL3Rlc3QvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy90ZXN0LTAueHBhdGgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmFhMDA3MAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL3Rlc3QtMC54cGF0aApAQCAtMCwwICsxLDMgQEAKKzxYUGF0aD4KKygvLy4gfCAvL0AqIHwgLy9uYW1lc3BhY2U6OiopW2FuY2VzdG9yLW9yLXNlbGY6OmU2XSAKKzwvWFBhdGg+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvdGVzdC0xLm5zIGIvbGlieG1sMi90ZXN0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvdGVzdC0xLm5zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJlNjVlZmUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy90ZXN0LTEubnMKQEAgLTAsMCArMSBAQAorYQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL3Rlc3QtMS54bWwgYi9saWJ4bWwyL3Rlc3QvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy90ZXN0LTEueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM3YzQyZDkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy90ZXN0LTEueG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhRE9DVFlQRSBkb2MgWzwhQVRUTElTVCBlOSBhdHRyIENEQVRBICJkZWZhdWx0Ij5dPgorPGRvYyB4bWxuczpmb289Imh0dHA6Ly93d3cuYmFyLm9yZyIgeG1sOmJhc2U9Imh0dHA6Ly93d3cuZXhhbXBsZS5vcmcvMjAwMi8iPgorICAgPGUxICAgLz4KKyAgIDxlMiAgID48L2UyPgorICAgPGUzICAgIG5hbWUgPSAiZWxlbTMiICAgaWQ9ImVsZW0zIiAgICAvPgorICAgPGU0ICAgIG5hbWU9ImVsZW00IiAgIGlkPSJlbGVtNCIgICAgPjwvZTQ+CisgICA8ZTUgYTphdHRyPSJvdXQiIGI6YXR0cj0ic29ydGVkIiBhdHRyMj0iYWxsIiBhdHRyPSJJJ20iCisgICAgICAgeG1sbnM6Yj0iaHR0cDovL3d3dy5pZXRmLm9yZyIKKyAgICAgICB4bWxuczphPSJodHRwOi8vd3d3LnczLm9yZyIKKyAgICAgICB4bWxucz0iaHR0cDovL2V4YW1wbGUub3JnIi8+CisgICA8ZTYgeG1sbnM9IiIgdGVzdD0iLi4vYmF6IiB4bWxuczphPSJodHRwOi8vd3d3LnczLm9yZyI+CisgICAgICAgPGU3IHhtbG5zPSJodHRwOi8vd3d3LmlldGYub3JnIj4KKyAgICAgICAgICAgPGU4IHhtbG5zPSIiIHhtbG5zOmE9Imh0dHA6Ly93d3cudzMub3JnIiBhOmZvbz0iYmFyIj4KKyAgICAgICAgICAgICAgIDxlOSB4bWxucz0iIiB4bWxuczphPSJodHRwOi8vd3d3LmlldGYub3JnIi8+CisgICAgICAgICAgIDwvZTg+CisgICAgICAgPC9lNz4KKyAgIDwvZTY+Cis8L2RvYz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL3Rlc3QtMS54cGF0aCBiL2xpYnhtbDIvdGVzdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL3Rlc3QtMS54cGF0aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYWEwMDcwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvdGVzdC0xLnhwYXRoCkBAIC0wLDAgKzEsMyBAQAorPFhQYXRoPgorKC8vLiB8IC8vQCogfCAvL25hbWVzcGFjZTo6KilbYW5jZXN0b3Itb3Itc2VsZjo6ZTZdIAorPC9YUGF0aD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvYzE0bi9leGMtd2l0aG91dC1jb21tZW50cy90ZXN0LTIueG1sIGIvbGlieG1sMi90ZXN0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvdGVzdC0yLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44M2QxNWE3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvdGVzdC0yLnhtbApAQCAtMCwwICsxLDIwIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxTaWduYXR1cmUgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvMDkveG1sZHNpZyMiPgorICA8U2lnbmVkSW5mbz4KKyAgICA8ZHM6Q2Fub25pY2FsaXphdGlvbk1ldGhvZCB4bWxuczpkcz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC8wOS94bWxkc2lnIyIgQWxnb3JpdGhtPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxLzEwL3htbC1leGMtYzE0biMiLz4KKyAgICA8U2lnbmF0dXJlTWV0aG9kIEFsZ29yaXRobT0iaHR0cDovL3d3dy53My5vcmcvMjAwMC8wOS94bWxkc2lnI3JzYS1zaGExIi8+CisgICAgPFJlZmVyZW5jZSBVUkk9IiNuZGlkOjEyMzQtNTY3OC0wOTg3Ij4KKyAgICAgIDxUcmFuc2Zvcm1zPgorICAgICAgICA8VHJhbnNmb3JtIEFsZ29yaXRobT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS8xMC94bWwtZXhjLWMxNG4jIi8+CisgICAgICA8L1RyYW5zZm9ybXM+CisgICAgICA8RGlnZXN0TWV0aG9kIEFsZ29yaXRobT0iaHR0cDovL3d3dy53My5vcmcvMjAwMC8wOS94bWxkc2lnI3NoYTEiLz4KKyAgICAgIDxEaWdlc3RWYWx1ZT5zajFWWERCMlZNQ1U1cW12YTJPdER3M2tLT3M9PC9EaWdlc3RWYWx1ZT4KKyAgICA8L1JlZmVyZW5jZT4KKyAgPC9TaWduZWRJbmZvPgorICA8U2lnbmF0dXJlVmFsdWU+Li4uPC9TaWduYXR1cmVWYWx1ZT4KKyAgPEtleUluZm8+CisgICAgPFg1MDlEYXRhPgorICAgICAgPFg1MDlDZXJ0aWZpY2F0ZT4uLi48L1g1MDlDZXJ0aWZpY2F0ZT4KKyAgICA8L1g1MDlEYXRhPgorICA8L0tleUluZm8+Cis8L1NpZ25hdHVyZT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL3Rlc3QtMi54cGF0aCBiL2xpYnhtbDIvdGVzdC9jMTRuL2V4Yy13aXRob3V0LWNvbW1lbnRzL3Rlc3QtMi54cGF0aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNTc2NTJmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2MxNG4vZXhjLXdpdGhvdXQtY29tbWVudHMvdGVzdC0yLnhwYXRoCkBAIC0wLDAgKzEsNiBAQAorPFhQYXRoIHhtbG5zOmRzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjIj4KKygvLy4gfCAvL0AqIHwgLy9uYW1lc3BhY2U6OiopCitbCisgICAgYW5jZXN0b3Itb3Itc2VsZjo6ZHM6U2lnbmVkSW5mbworXSAKKzwvWFBhdGg+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2MxNG4vd2l0aC1jb21tZW50cy9kb2MuZHRkIGIvbGlieG1sMi90ZXN0L2MxNG4vd2l0aC1jb21tZW50cy9kb2MuZHRkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM0NjAyMzkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvYzE0bi93aXRoLWNvbW1lbnRzL2RvYy5kdGQKQEAgLTAsMCArMSBAQAorPCEtLSBFbXB0eSBEVEQgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2MxNG4vd2l0aC1jb21tZW50cy9leGFtcGxlLTEueG1sIGIvbGlieG1sMi90ZXN0L2MxNG4vd2l0aC1jb21tZW50cy9leGFtcGxlLTEueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVkNDUwYzcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvYzE0bi93aXRoLWNvbW1lbnRzL2V4YW1wbGUtMS54bWwKQEAgLTAsMCArMSwxNCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+CisKKzw/eG1sLXN0eWxlc2hlZXQgICBocmVmPSJkb2MueHNsIgorICAgdHlwZT0idGV4dC94c2wiICAgPz4KKworPCFET0NUWVBFIGRvYyBTWVNURU0gImRvYy5kdGQiPgorCis8ZG9jPkhlbGxvLCB3b3JsZCE8IS0tIENvbW1lbnQgMSAtLT48L2RvYz4KKworPD9waS13aXRob3V0LWRhdGEgICAgID8+CisKKzwhLS0gQ29tbWVudCAyIC0tPgorCis8IS0tIENvbW1lbnQgMyAtLT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9jMTRuL3dpdGgtY29tbWVudHMvZXhhbXBsZS0yLnhtbCBiL2xpYnhtbDIvdGVzdC9jMTRuL3dpdGgtY29tbWVudHMvZXhhbXBsZS0yLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NGVlZWExCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2MxNG4vd2l0aC1jb21tZW50cy9leGFtcGxlLTIueG1sCkBAIC0wLDAgKzEsMTEgQEAKKzxkb2M+CisgICA8Y2xlYW4+ICAgPC9jbGVhbj4KKyAgIDxkaXJ0eT4gICBBICAgQiAgIDwvZGlydHk+CisgICA8bWl4ZWQ+CisgICAgICBBCisgICAgICA8Y2xlYW4+ICAgPC9jbGVhbj4KKyAgICAgIEIKKyAgICAgIDxkaXJ0eT4gICBBICAgQiAgIDwvZGlydHk+CisgICAgICBDCisgICA8L21peGVkPgorPC9kb2M+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvYzE0bi93aXRoLWNvbW1lbnRzL2V4YW1wbGUtMy54bWwgYi9saWJ4bWwyL3Rlc3QvYzE0bi93aXRoLWNvbW1lbnRzL2V4YW1wbGUtMy54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTdhMTk1MAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9jMTRuL3dpdGgtY29tbWVudHMvZXhhbXBsZS0zLnhtbApAQCAtMCwwICsxLDE4IEBACis8IURPQ1RZUEUgZG9jIFs8IUFUVExJU1QgZTkgYXR0ciBDREFUQSAiZGVmYXVsdCI+XT4KKzxkb2M+CisgICA8ZTEgICAvPgorICAgPGUyICAgPjwvZTI+CisgICA8ZTMgICAgbmFtZSA9ICJlbGVtMyIgICBpZD0iZWxlbTMiICAgIC8+CisgICA8ZTQgICAgbmFtZT0iZWxlbTQiICAgaWQ9ImVsZW00IiAgICA+PC9lND4KKyAgIDxlNSBhOmF0dHI9Im91dCIgYjphdHRyPSJzb3J0ZWQiIGF0dHIyPSJhbGwiIGF0dHI9IkknbSIKKyAgICAgICB4bWxuczpiPSJodHRwOi8vd3d3LmlldGYub3JnIiAKKyAgICAgICB4bWxuczphPSJodHRwOi8vd3d3LnczLm9yZyIKKyAgICAgICB4bWxucz0iaHR0cDovL3d3dy51dmljLmNhIi8+CisgICA8ZTYgeG1sbnM9IiIgeG1sbnM6YT0iaHR0cDovL3d3dy53My5vcmciPgorICAgICAgIDxlNyB4bWxucz0iaHR0cDovL3d3dy5pZXRmLm9yZyI+CisgICAgICAgICAgIDxlOCB4bWxucz0iIiB4bWxuczphPSJodHRwOi8vd3d3LnczLm9yZyI+CisgICAgICAgICAgICAgICA8ZTkgeG1sbnM9IiIgeG1sbnM6YT0iaHR0cDovL3d3dy5pZXRmLm9yZyIvPgorICAgICAgICAgICA8L2U4PgorICAgICAgIDwvZTc+CisgICA8L2U2PgorPC9kb2M+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvYzE0bi93aXRoLWNvbW1lbnRzL2V4YW1wbGUtNC54bWwgYi9saWJ4bWwyL3Rlc3QvYzE0bi93aXRoLWNvbW1lbnRzL2V4YW1wbGUtNC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2ZiYTEzOAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9jMTRuL3dpdGgtY29tbWVudHMvZXhhbXBsZS00LnhtbApAQCAtMCwwICsxLDkgQEAKKzwhRE9DVFlQRSBkb2MgWzwhQVRUTElTVCBub3JtSWQgaWQgSUQgI0lNUExJRUQ+XT4KKzxkb2M+CisgICA8dGV4dD5GaXJzdCBsaW5lJiN4MGQ7JiMxMDtTZWNvbmQgbGluZTwvdGV4dD4KKyAgIDx2YWx1ZT4mI3gzMjs8L3ZhbHVlPgorICAgPGNvbXB1dGU+PCFbQ0RBVEFbdmFsdWU+IjAiICYmIHZhbHVlPCIxMCIgPyJ2YWxpZCI6ImVycm9yIl1dPjwvY29tcHV0ZT4KKyAgIDxjb21wdXRlIGV4cHI9J3ZhbHVlPiIwIiAmYW1wOyZhbXA7IHZhbHVlJmx0OyIxMCIgPyJ2YWxpZCI6ImVycm9yIic+dmFsaWQ8L2NvbXB1dGU+CisgICA8bm9ybSBhdHRyPScgJmFwb3M7ICAgJiN4MjA7JiMxMzsmI3hhOyYjOTsgICAmYXBvczsgJy8+CisgICA8bm9ybUlkIGlkPScgJmFwb3M7ICAgJiN4MjA7JiMxMzsmI3hhOyYjOTsgICAmYXBvczsgJy8+Cis8L2RvYz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9jMTRuL3dpdGgtY29tbWVudHMvZXhhbXBsZS01LnhtbCBiL2xpYnhtbDIvdGVzdC9jMTRuL3dpdGgtY29tbWVudHMvZXhhbXBsZS01LnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MmM1MzIyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2MxNG4vd2l0aC1jb21tZW50cy9leGFtcGxlLTUueG1sCkBAIC0wLDAgKzEsMTIgQEAKKzwhRE9DVFlQRSBkb2MgWworPCFBVFRMSVNUIGRvYyBhdHRyRXh0RW50IEVOVElUWSAjSU1QTElFRD4KKzwhRU5USVRZIGVudDEgIkhlbGxvIj4KKzwhRU5USVRZIGVudDIgU1lTVEVNICJ3b3JsZC50eHQiPgorPCFFTlRJVFkgZW50RXh0IFNZU1RFTSAiZWFydGguZ2lmIiBOREFUQSBnaWY+Cis8IU5PVEFUSU9OIGdpZiBTWVNURU0gInZpZXdnaWYuZXhlIj4KK10+Cis8ZG9jIGF0dHJFeHRFbnQ9ImVudEV4dCI+CisgICAmZW50MTssICZlbnQyOyEKKzwvZG9jPgorCis8IS0tIExldCB3b3JsZC50eHQgY29udGFpbiAid29ybGQiIChleGNsdWRpbmcgdGhlIHF1b3RlcykgLS0+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvYzE0bi93aXRoLWNvbW1lbnRzL2V4YW1wbGUtNi54bWwgYi9saWJ4bWwyL3Rlc3QvYzE0bi93aXRoLWNvbW1lbnRzL2V4YW1wbGUtNi54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzFlMjA3MQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9jMTRuL3dpdGgtY29tbWVudHMvZXhhbXBsZS02LnhtbApAQCAtMCwwICsxLDIgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IklTTy04ODU5LTEiPz4KKzxkb2M+JiMxNjk7PC9kb2M+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvYzE0bi93aXRoLWNvbW1lbnRzL2V4YW1wbGUtNy54bWwgYi9saWJ4bWwyL3Rlc3QvYzE0bi93aXRoLWNvbW1lbnRzL2V4YW1wbGUtNy54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDExNzFjYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9jMTRuL3dpdGgtY29tbWVudHMvZXhhbXBsZS03LnhtbApAQCAtMCwwICsxLDExIEBACis8IURPQ1RZUEUgZG9jIFsKKzwhQVRUTElTVCBlMiB4bWw6c3BhY2UgKGRlZmF1bHR8cHJlc2VydmUpICdwcmVzZXJ2ZSc+Cis8IUFUVExJU1QgZTMgaWQgSUQgI0lNUExJRUQ+CitdPgorPGRvYyB4bWxucz0iaHR0cDovL3d3dy5pZXRmLm9yZyIgeG1sbnM6dzNjPSJodHRwOi8vd3d3LnczLm9yZyI+CisgICA8ZTE+CisgICAgICA8ZTIgeG1sbnM9IiI+CisgICAgICAgICA8ZTMgaWQ9IkUzIi8+CisgICAgICA8L2UyPgorICAgPC9lMT4KKzwvZG9jPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2MxNG4vd2l0aC1jb21tZW50cy9leGFtcGxlLTcueHBhdGggYi9saWJ4bWwyL3Rlc3QvYzE0bi93aXRoLWNvbW1lbnRzL2V4YW1wbGUtNy54cGF0aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NGRkYjA4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2MxNG4vd2l0aC1jb21tZW50cy9leGFtcGxlLTcueHBhdGgKQEAgLTAsMCArMSwxMCBAQAorPFhQYXRoIHhtbG5zOmlldGY9Imh0dHA6Ly93d3cuaWV0Zi5vcmciID4KKyAgICAoLy8ufC8vQCp8Ly9uYW1lc3BhY2U6OiopCisgICAgWworCXNlbGY6OmlldGY6ZTEKKwkgICAgb3IKKwkocGFyZW50OjppZXRmOmUxIGFuZCBub3Qoc2VsZjo6dGV4dCgpIG9yIHNlbGY6OmUyKSkKKwkgICAgb3IKKwljb3VudChpZCgiRTMiKXxhbmNlc3Rvci1vci1zZWxmOjpub2RlKCkpID0gY291bnQoYW5jZXN0b3Itb3Itc2VsZjo6bm9kZSgpKQorICAgIF0KKzwvWFBhdGg+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2MxNG4vd2l0aC1jb21tZW50cy93b3JsZC50eHQgYi9saWJ4bWwyL3Rlc3QvYzE0bi93aXRoLWNvbW1lbnRzL3dvcmxkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNGZlYTA2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2MxNG4vd2l0aC1jb21tZW50cy93b3JsZC50eHQKQEAgLTAsMCArMSBAQAord29ybGQKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvYzE0bi93aXRob3V0LWNvbW1lbnRzL2RvYy5kdGQgYi9saWJ4bWwyL3Rlc3QvYzE0bi93aXRob3V0LWNvbW1lbnRzL2RvYy5kdGQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzQ2MDIzOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9jMTRuL3dpdGhvdXQtY29tbWVudHMvZG9jLmR0ZApAQCAtMCwwICsxIEBACis8IS0tIEVtcHR5IERURCAtLT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvYzE0bi93aXRob3V0LWNvbW1lbnRzL2V4YW1wbGUtMS54bWwgYi9saWJ4bWwyL3Rlc3QvYzE0bi93aXRob3V0LWNvbW1lbnRzL2V4YW1wbGUtMS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWQ0NTBjNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9jMTRuL3dpdGhvdXQtY29tbWVudHMvZXhhbXBsZS0xLnhtbApAQCAtMCwwICsxLDE0IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKworPD94bWwtc3R5bGVzaGVldCAgIGhyZWY9ImRvYy54c2wiCisgICB0eXBlPSJ0ZXh0L3hzbCIgICA/PgorCis8IURPQ1RZUEUgZG9jIFNZU1RFTSAiZG9jLmR0ZCI+CisKKzxkb2M+SGVsbG8sIHdvcmxkITwhLS0gQ29tbWVudCAxIC0tPjwvZG9jPgorCis8P3BpLXdpdGhvdXQtZGF0YSAgICAgPz4KKworPCEtLSBDb21tZW50IDIgLS0+CisKKzwhLS0gQ29tbWVudCAzIC0tPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2MxNG4vd2l0aG91dC1jb21tZW50cy9leGFtcGxlLTIueG1sIGIvbGlieG1sMi90ZXN0L2MxNG4vd2l0aG91dC1jb21tZW50cy9leGFtcGxlLTIueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc0ZWVlYTEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvYzE0bi93aXRob3V0LWNvbW1lbnRzL2V4YW1wbGUtMi54bWwKQEAgLTAsMCArMSwxMSBAQAorPGRvYz4KKyAgIDxjbGVhbj4gICA8L2NsZWFuPgorICAgPGRpcnR5PiAgIEEgICBCICAgPC9kaXJ0eT4KKyAgIDxtaXhlZD4KKyAgICAgIEEKKyAgICAgIDxjbGVhbj4gICA8L2NsZWFuPgorICAgICAgQgorICAgICAgPGRpcnR5PiAgIEEgICBCICAgPC9kaXJ0eT4KKyAgICAgIEMKKyAgIDwvbWl4ZWQ+Cis8L2RvYz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9jMTRuL3dpdGhvdXQtY29tbWVudHMvZXhhbXBsZS0zLnhtbCBiL2xpYnhtbDIvdGVzdC9jMTRuL3dpdGhvdXQtY29tbWVudHMvZXhhbXBsZS0zLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hN2ExOTUwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2MxNG4vd2l0aG91dC1jb21tZW50cy9leGFtcGxlLTMueG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhRE9DVFlQRSBkb2MgWzwhQVRUTElTVCBlOSBhdHRyIENEQVRBICJkZWZhdWx0Ij5dPgorPGRvYz4KKyAgIDxlMSAgIC8+CisgICA8ZTIgICA+PC9lMj4KKyAgIDxlMyAgICBuYW1lID0gImVsZW0zIiAgIGlkPSJlbGVtMyIgICAgLz4KKyAgIDxlNCAgICBuYW1lPSJlbGVtNCIgICBpZD0iZWxlbTQiICAgID48L2U0PgorICAgPGU1IGE6YXR0cj0ib3V0IiBiOmF0dHI9InNvcnRlZCIgYXR0cjI9ImFsbCIgYXR0cj0iSSdtIgorICAgICAgIHhtbG5zOmI9Imh0dHA6Ly93d3cuaWV0Zi5vcmciIAorICAgICAgIHhtbG5zOmE9Imh0dHA6Ly93d3cudzMub3JnIgorICAgICAgIHhtbG5zPSJodHRwOi8vd3d3LnV2aWMuY2EiLz4KKyAgIDxlNiB4bWxucz0iIiB4bWxuczphPSJodHRwOi8vd3d3LnczLm9yZyI+CisgICAgICAgPGU3IHhtbG5zPSJodHRwOi8vd3d3LmlldGYub3JnIj4KKyAgICAgICAgICAgPGU4IHhtbG5zPSIiIHhtbG5zOmE9Imh0dHA6Ly93d3cudzMub3JnIj4KKyAgICAgICAgICAgICAgIDxlOSB4bWxucz0iIiB4bWxuczphPSJodHRwOi8vd3d3LmlldGYub3JnIi8+CisgICAgICAgICAgIDwvZTg+CisgICAgICAgPC9lNz4KKyAgIDwvZTY+Cis8L2RvYz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9jMTRuL3dpdGhvdXQtY29tbWVudHMvZXhhbXBsZS00LnhtbCBiL2xpYnhtbDIvdGVzdC9jMTRuL3dpdGhvdXQtY29tbWVudHMvZXhhbXBsZS00LnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZmJhMTM4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2MxNG4vd2l0aG91dC1jb21tZW50cy9leGFtcGxlLTQueG1sCkBAIC0wLDAgKzEsOSBAQAorPCFET0NUWVBFIGRvYyBbPCFBVFRMSVNUIG5vcm1JZCBpZCBJRCAjSU1QTElFRD5dPgorPGRvYz4KKyAgIDx0ZXh0PkZpcnN0IGxpbmUmI3gwZDsmIzEwO1NlY29uZCBsaW5lPC90ZXh0PgorICAgPHZhbHVlPiYjeDMyOzwvdmFsdWU+CisgICA8Y29tcHV0ZT48IVtDREFUQVt2YWx1ZT4iMCIgJiYgdmFsdWU8IjEwIiA/InZhbGlkIjoiZXJyb3IiXV0+PC9jb21wdXRlPgorICAgPGNvbXB1dGUgZXhwcj0ndmFsdWU+IjAiICZhbXA7JmFtcDsgdmFsdWUmbHQ7IjEwIiA/InZhbGlkIjoiZXJyb3IiJz52YWxpZDwvY29tcHV0ZT4KKyAgIDxub3JtIGF0dHI9JyAmYXBvczsgICAmI3gyMDsmIzEzOyYjeGE7JiM5OyAgICZhcG9zOyAnLz4KKyAgIDxub3JtSWQgaWQ9JyAmYXBvczsgICAmI3gyMDsmIzEzOyYjeGE7JiM5OyAgICZhcG9zOyAnLz4KKzwvZG9jPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2MxNG4vd2l0aG91dC1jb21tZW50cy9leGFtcGxlLTUueG1sIGIvbGlieG1sMi90ZXN0L2MxNG4vd2l0aG91dC1jb21tZW50cy9leGFtcGxlLTUueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkyYzUzMjIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvYzE0bi93aXRob3V0LWNvbW1lbnRzL2V4YW1wbGUtNS54bWwKQEAgLTAsMCArMSwxMiBAQAorPCFET0NUWVBFIGRvYyBbCis8IUFUVExJU1QgZG9jIGF0dHJFeHRFbnQgRU5USVRZICNJTVBMSUVEPgorPCFFTlRJVFkgZW50MSAiSGVsbG8iPgorPCFFTlRJVFkgZW50MiBTWVNURU0gIndvcmxkLnR4dCI+Cis8IUVOVElUWSBlbnRFeHQgU1lTVEVNICJlYXJ0aC5naWYiIE5EQVRBIGdpZj4KKzwhTk9UQVRJT04gZ2lmIFNZU1RFTSAidmlld2dpZi5leGUiPgorXT4KKzxkb2MgYXR0ckV4dEVudD0iZW50RXh0Ij4KKyAgICZlbnQxOywgJmVudDI7IQorPC9kb2M+CisKKzwhLS0gTGV0IHdvcmxkLnR4dCBjb250YWluICJ3b3JsZCIgKGV4Y2x1ZGluZyB0aGUgcXVvdGVzKSAtLT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9jMTRuL3dpdGhvdXQtY29tbWVudHMvZXhhbXBsZS02LnhtbCBiL2xpYnhtbDIvdGVzdC9jMTRuL3dpdGhvdXQtY29tbWVudHMvZXhhbXBsZS02LnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMWUyMDcxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2MxNG4vd2l0aG91dC1jb21tZW50cy9leGFtcGxlLTYueG1sCkBAIC0wLDAgKzEsMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/PgorPGRvYz4mIzE2OTs8L2RvYz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9jMTRuL3dpdGhvdXQtY29tbWVudHMvZXhhbXBsZS03LnhtbCBiL2xpYnhtbDIvdGVzdC9jMTRuL3dpdGhvdXQtY29tbWVudHMvZXhhbXBsZS03LnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MTE3MWNiCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2MxNG4vd2l0aG91dC1jb21tZW50cy9leGFtcGxlLTcueG1sCkBAIC0wLDAgKzEsMTEgQEAKKzwhRE9DVFlQRSBkb2MgWworPCFBVFRMSVNUIGUyIHhtbDpzcGFjZSAoZGVmYXVsdHxwcmVzZXJ2ZSkgJ3ByZXNlcnZlJz4KKzwhQVRUTElTVCBlMyBpZCBJRCAjSU1QTElFRD4KK10+Cis8ZG9jIHhtbG5zPSJodHRwOi8vd3d3LmlldGYub3JnIiB4bWxuczp3M2M9Imh0dHA6Ly93d3cudzMub3JnIj4KKyAgIDxlMT4KKyAgICAgIDxlMiB4bWxucz0iIj4KKyAgICAgICAgIDxlMyBpZD0iRTMiLz4KKyAgICAgIDwvZTI+CisgICA8L2UxPgorPC9kb2M+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvYzE0bi93aXRob3V0LWNvbW1lbnRzL2V4YW1wbGUtNy54cGF0aCBiL2xpYnhtbDIvdGVzdC9jMTRuL3dpdGhvdXQtY29tbWVudHMvZXhhbXBsZS03LnhwYXRoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg0ZGRiMDgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvYzE0bi93aXRob3V0LWNvbW1lbnRzL2V4YW1wbGUtNy54cGF0aApAQCAtMCwwICsxLDEwIEBACis8WFBhdGggeG1sbnM6aWV0Zj0iaHR0cDovL3d3dy5pZXRmLm9yZyIgPgorICAgICgvLy58Ly9AKnwvL25hbWVzcGFjZTo6KikKKyAgICBbCisJc2VsZjo6aWV0ZjplMQorCSAgICBvcgorCShwYXJlbnQ6OmlldGY6ZTEgYW5kIG5vdChzZWxmOjp0ZXh0KCkgb3Igc2VsZjo6ZTIpKQorCSAgICBvcgorCWNvdW50KGlkKCJFMyIpfGFuY2VzdG9yLW9yLXNlbGY6Om5vZGUoKSkgPSBjb3VudChhbmNlc3Rvci1vci1zZWxmOjpub2RlKCkpCisgICAgXQorPC9YUGF0aD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvYzE0bi93aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0wMC54bWwgYi9saWJ4bWwyL3Rlc3QvYzE0bi93aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0wMC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzE0YzlkMQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9jMTRuL3dpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTAwLnhtbApAQCAtMCwwICsxLDEyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxmb286Um9vdCB4bWxuczpiYXI9Imh0dHA6Ly9leGFtcGxlLm9yZy9iYXIiIHhtbG5zOmJhej0iaHR0cDovL2V4YW1wbGUub3JnL2JheiIgeG1sbnM6Zm9vPSJodHRwOi8vZXhhbXBsZS5vcmcvZm9vIiB4bWxucz0iaHR0cDovL2V4YW1wbGUub3JnLyIgeG1sOmxhbmc9ImVuLWllIj4KKyAgPGJhcjpTb21ldGhpbmc+CisgICAgIDxmb286U29tZXRoaW5nPgorICAgICAgICA8YmFyOlNvbWV0aGluZz4KKyAgICAgICAgICAgPGZvbzpTb21ldGhpbmc+CisgICAgICAgICAgICAgPGJhejpTb21ldGhpbmcgLz4KKyAgICAgICAgICAgPC9mb286U29tZXRoaW5nPgorICAgICAgICA8L2JhcjpTb21ldGhpbmc+CisgICAgIDwvZm9vOlNvbWV0aGluZz4KKyAgPC9iYXI6U29tZXRoaW5nPgorPC9mb286Um9vdD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9jMTRuL3dpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTAwLnhwYXRoIGIvbGlieG1sMi90ZXN0L2MxNG4vd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMDAueHBhdGgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzE3YjY2YQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9jMTRuL3dpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTAwLnhwYXRoCkBAIC0wLDAgKzEsOCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8WFBhdGggeG1sbnM6YmFyPSJodHRwOi8vZXhhbXBsZS5vcmcvYmFyIiB4bWxuczpiYXo9Imh0dHA6Ly9leGFtcGxlLm9yZy9iYXoiIHhtbG5zOmZvbz0iaHR0cDovL2V4YW1wbGUub3JnL2ZvbyIgeG1sOmxhbmc9ImVuLWllIj4KKyAgICAoLy8uIHwgLy9AKiB8IC8vbmFtZXNwYWNlOjoqKSAKKyAgICBbIAorICAgICAgICAgICAgICA8IS0tIGV2ZXJ5dGhpbmcgLS0+CisgICAgICAgICAgICAgIGFuY2VzdG9yLW9yLXNlbGY6OmJhcjpTb21ldGhpbmcKKyAgICBdCis8L1hQYXRoPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2MxNG4vd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMDEueG1sIGIvbGlieG1sMi90ZXN0L2MxNG4vd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMDEueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcxNGM5ZDEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvYzE0bi93aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0wMS54bWwKQEAgLTAsMCArMSwxMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8Zm9vOlJvb3QgeG1sbnM6YmFyPSJodHRwOi8vZXhhbXBsZS5vcmcvYmFyIiB4bWxuczpiYXo9Imh0dHA6Ly9leGFtcGxlLm9yZy9iYXoiIHhtbG5zOmZvbz0iaHR0cDovL2V4YW1wbGUub3JnL2ZvbyIgeG1sbnM9Imh0dHA6Ly9leGFtcGxlLm9yZy8iIHhtbDpsYW5nPSJlbi1pZSI+CisgIDxiYXI6U29tZXRoaW5nPgorICAgICA8Zm9vOlNvbWV0aGluZz4KKyAgICAgICAgPGJhcjpTb21ldGhpbmc+CisgICAgICAgICAgIDxmb286U29tZXRoaW5nPgorICAgICAgICAgICAgIDxiYXo6U29tZXRoaW5nIC8+CisgICAgICAgICAgIDwvZm9vOlNvbWV0aGluZz4KKyAgICAgICAgPC9iYXI6U29tZXRoaW5nPgorICAgICA8L2ZvbzpTb21ldGhpbmc+CisgIDwvYmFyOlNvbWV0aGluZz4KKzwvZm9vOlJvb3Q+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvYzE0bi93aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0wMS54cGF0aCBiL2xpYnhtbDIvdGVzdC9jMTRuL3dpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTAxLnhwYXRoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhlYTI3OTUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvYzE0bi93aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0wMS54cGF0aApAQCAtMCwwICsxLDEyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxYUGF0aCB4bWxuczpiYXI9Imh0dHA6Ly9leGFtcGxlLm9yZy9iYXIiIHhtbG5zOmJhej0iaHR0cDovL2V4YW1wbGUub3JnL2JheiIgeG1sbnM6Zm9vPSJodHRwOi8vZXhhbXBsZS5vcmcvZm9vIiB4bWw6bGFuZz0iZW4taWUiPgorICAgICgvLy4gfCAvL0AqIHwgLy9uYW1lc3BhY2U6OiopIAorICAgIFsgCisgICAgICAgICAgICAgIDwhLS0gb25seSB0ZXh0LCBlbGVtZW50cyBvciBkaXJlY3RseS11c2VkIG5hbWVzcGFjZSBub2RlcyAtLT4KKyAgICAgICAgICAgICAgYW5jZXN0b3Itb3Itc2VsZjo6YmFyOlNvbWV0aGluZyAgYW5kCisgICAgICAgICAgICAgICgobmFtZSgpICE9ICJiYXIiKSBvciBwYXJlbnQ6OmJhcjpTb21ldGhpbmcpICBhbmQKKyAgICAgICAgICAgICAgKChuYW1lKCkgIT0gImZvbyIpIG9yIHBhcmVudDo6Zm9vOlNvbWV0aGluZykgIGFuZAorICAgICAgICAgICAgICAoKG5hbWUoKSAhPSAiYmF6Iikgb3IgcGFyZW50OjpiYXo6U29tZXRoaW5nKSAgYW5kCisgICAgICAgICAgICAgICgobmFtZSgpICE9ICIiKSBvciBzZWxmOjp0ZXh0KCkpCisgICAgXQorPC9YUGF0aD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9jMTRuL3dpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTAyLnhtbCBiL2xpYnhtbDIvdGVzdC9jMTRuL3dpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTAyLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MTRjOWQxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2MxNG4vd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMDIueG1sCkBAIC0wLDAgKzEsMTIgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPGZvbzpSb290IHhtbG5zOmJhcj0iaHR0cDovL2V4YW1wbGUub3JnL2JhciIgeG1sbnM6YmF6PSJodHRwOi8vZXhhbXBsZS5vcmcvYmF6IiB4bWxuczpmb289Imh0dHA6Ly9leGFtcGxlLm9yZy9mb28iIHhtbG5zPSJodHRwOi8vZXhhbXBsZS5vcmcvIiB4bWw6bGFuZz0iZW4taWUiPgorICA8YmFyOlNvbWV0aGluZz4KKyAgICAgPGZvbzpTb21ldGhpbmc+CisgICAgICAgIDxiYXI6U29tZXRoaW5nPgorICAgICAgICAgICA8Zm9vOlNvbWV0aGluZz4KKyAgICAgICAgICAgICA8YmF6OlNvbWV0aGluZyAvPgorICAgICAgICAgICA8L2ZvbzpTb21ldGhpbmc+CisgICAgICAgIDwvYmFyOlNvbWV0aGluZz4KKyAgICAgPC9mb286U29tZXRoaW5nPgorICA8L2JhcjpTb21ldGhpbmc+Cis8L2ZvbzpSb290PgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2MxNG4vd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMDIueHBhdGggYi9saWJ4bWwyL3Rlc3QvYzE0bi93aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0wMi54cGF0aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zN2Q2NWUwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2MxNG4vd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMDIueHBhdGgKQEAgLTAsMCArMSwxMSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8WFBhdGggeG1sbnM6YmFyPSJodHRwOi8vZXhhbXBsZS5vcmcvYmFyIiB4bWxuczpiYXo9Imh0dHA6Ly9leGFtcGxlLm9yZy9iYXoiIHhtbG5zOmZvbz0iaHR0cDovL2V4YW1wbGUub3JnL2ZvbyIgeG1sOmxhbmc9ImVuLWllIj4KKyAgICAoLy8uIHwgLy9AKiB8IC8vbmFtZXNwYWNlOjoqKSAKKyAgICBbIAorICAgICAgICAgICAgICA8IS0tIG9ubHkgdGV4dCwgZWxlbWVudHMgb3IgZGlyZWN0bHktdXNlZCBuYW1lc3BhY2Ugbm9kZXMgLS0+CisgICAgICAgICAgICAgIGFuY2VzdG9yLW9yLXNlbGY6OmJhcjpTb21ldGhpbmcgIGFuZAorICAgICAgICAgICAgICAoc2VsZjo6dGV4dCgpICBvcgorICAgICAgICAgICAgICAgKG5hbWVzcGFjZS11cmkoKSAhPSAiIikgIG9yCisgICAgICAgICAgICAgICAoc3RyaW5nKHNlbGY6Om5vZGUoKSkgPSBuYW1lc3BhY2UtdXJpKHBhcmVudDo6bm9kZSgpKSkpCisgICAgXQorPC9YUGF0aD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9jMTRuL3dpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTAzLnhtbCBiL2xpYnhtbDIvdGVzdC9jMTRuL3dpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTAzLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MTRjOWQxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2MxNG4vd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMDMueG1sCkBAIC0wLDAgKzEsMTIgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPGZvbzpSb290IHhtbG5zOmJhcj0iaHR0cDovL2V4YW1wbGUub3JnL2JhciIgeG1sbnM6YmF6PSJodHRwOi8vZXhhbXBsZS5vcmcvYmF6IiB4bWxuczpmb289Imh0dHA6Ly9leGFtcGxlLm9yZy9mb28iIHhtbG5zPSJodHRwOi8vZXhhbXBsZS5vcmcvIiB4bWw6bGFuZz0iZW4taWUiPgorICA8YmFyOlNvbWV0aGluZz4KKyAgICAgPGZvbzpTb21ldGhpbmc+CisgICAgICAgIDxiYXI6U29tZXRoaW5nPgorICAgICAgICAgICA8Zm9vOlNvbWV0aGluZz4KKyAgICAgICAgICAgICA8YmF6OlNvbWV0aGluZyAvPgorICAgICAgICAgICA8L2ZvbzpTb21ldGhpbmc+CisgICAgICAgIDwvYmFyOlNvbWV0aGluZz4KKyAgICAgPC9mb286U29tZXRoaW5nPgorICA8L2JhcjpTb21ldGhpbmc+Cis8L2ZvbzpSb290PgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2MxNG4vd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMDMueHBhdGggYi9saWJ4bWwyL3Rlc3QvYzE0bi93aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0wMy54cGF0aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZDhhZTY4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2MxNG4vd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMDMueHBhdGgKQEAgLTAsMCArMSwxMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8WFBhdGggeG1sbnM6YmFyPSJodHRwOi8vZXhhbXBsZS5vcmcvYmFyIiB4bWxuczpiYXo9Imh0dHA6Ly9leGFtcGxlLm9yZy9iYXoiIHhtbG5zOmZvbz0iaHR0cDovL2V4YW1wbGUub3JnL2ZvbyIgeG1sOmxhbmc9ImVuLWllIj4KKyAgICAoLy8uIHwgLy9AKiB8IC8vbmFtZXNwYWNlOjoqKSAKKyAgICBbIAorICAgICAgICAgICAgICA8IS0tIG9ubHkgdGV4dCwgZWxlbWVudHMsIG9yIGRpcmVjdGx5LXVzZWQgbmFtZXNwYWNlIG5vZGVzIGJ1dCBub3QgZm9vOlNvbWV0aGluZyAtLT4KKyAgICAgICAgICAgICAgYW5jZXN0b3Itb3Itc2VsZjo6YmFyOlNvbWV0aGluZyAgYW5kCisgICAgICAgICAgICAgIG5vdCAoc2VsZjo6Zm9vOlNvbWV0aGluZykgIGFuZAorICAgICAgICAgICAgICAoc2VsZjo6dGV4dCgpICBvcgorICAgICAgICAgICAgICAgKG5hbWVzcGFjZS11cmkoKSAhPSAiIikgIG9yCisgICAgICAgICAgICAgICAoc3RyaW5nKHNlbGY6Om5vZGUoKSkgPSBuYW1lc3BhY2UtdXJpKHBhcmVudDo6bm9kZSgpKSkpCisgICAgXQorPC9YUGF0aD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9jMTRuL3dpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTA0LnhtbCBiL2xpYnhtbDIvdGVzdC9jMTRuL3dpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTA0LnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MTRjOWQxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2MxNG4vd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMDQueG1sCkBAIC0wLDAgKzEsMTIgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPGZvbzpSb290IHhtbG5zOmJhcj0iaHR0cDovL2V4YW1wbGUub3JnL2JhciIgeG1sbnM6YmF6PSJodHRwOi8vZXhhbXBsZS5vcmcvYmF6IiB4bWxuczpmb289Imh0dHA6Ly9leGFtcGxlLm9yZy9mb28iIHhtbG5zPSJodHRwOi8vZXhhbXBsZS5vcmcvIiB4bWw6bGFuZz0iZW4taWUiPgorICA8YmFyOlNvbWV0aGluZz4KKyAgICAgPGZvbzpTb21ldGhpbmc+CisgICAgICAgIDxiYXI6U29tZXRoaW5nPgorICAgICAgICAgICA8Zm9vOlNvbWV0aGluZz4KKyAgICAgICAgICAgICA8YmF6OlNvbWV0aGluZyAvPgorICAgICAgICAgICA8L2ZvbzpTb21ldGhpbmc+CisgICAgICAgIDwvYmFyOlNvbWV0aGluZz4KKyAgICAgPC9mb286U29tZXRoaW5nPgorICA8L2JhcjpTb21ldGhpbmc+Cis8L2ZvbzpSb290PgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2MxNG4vd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMDQueHBhdGggYi9saWJ4bWwyL3Rlc3QvYzE0bi93aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0wNC54cGF0aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZDAxNzBiCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2MxNG4vd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMDQueHBhdGgKQEAgLTAsMCArMSwxMCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8WFBhdGggeG1sbnM6YmFyPSJodHRwOi8vZXhhbXBsZS5vcmcvYmFyIiB4bWxuczpiYXo9Imh0dHA6Ly9leGFtcGxlLm9yZy9iYXoiIHhtbG5zOmZvbz0iaHR0cDovL2V4YW1wbGUub3JnL2ZvbyIgeG1sOmxhbmc9ImVuLWllIj4KKyAgICAoLy8uIHwgLy9AKiB8IC8vbmFtZXNwYWNlOjoqKSAKKyAgICBbIAorICAgICAgICAgICAgICA8IS0tIG5vIG5hbWVzcGFjZSBub2RlczsgSSBhbSBub3QgaW4gbXkgcGFyZW50J3MgbmFtZXNwYWNlIGF4aXMgLS0+CisgICAgICAgICAgICAgIGFuY2VzdG9yLW9yLXNlbGY6OmJhcjpTb21ldGhpbmcgIGFuZAorICAgICAgICAgICAgICAoY291bnQocGFyZW50Ojpub2RlKCkvbmFtZXNwYWNlOjoqKSAgIT0KKyAgICAgICAgICAgICAgIGNvdW50KHBhcmVudDo6bm9kZSgpL25hbWVzcGFjZTo6KiB8IHNlbGY6Om5vZGUoKSkpCisgICAgXQorPC9YUGF0aD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9jMTRuL3dpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTA1LnhtbCBiL2xpYnhtbDIvdGVzdC9jMTRuL3dpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTA1LnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MTRjOWQxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2MxNG4vd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMDUueG1sCkBAIC0wLDAgKzEsMTIgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPGZvbzpSb290IHhtbG5zOmJhcj0iaHR0cDovL2V4YW1wbGUub3JnL2JhciIgeG1sbnM6YmF6PSJodHRwOi8vZXhhbXBsZS5vcmcvYmF6IiB4bWxuczpmb289Imh0dHA6Ly9leGFtcGxlLm9yZy9mb28iIHhtbG5zPSJodHRwOi8vZXhhbXBsZS5vcmcvIiB4bWw6bGFuZz0iZW4taWUiPgorICA8YmFyOlNvbWV0aGluZz4KKyAgICAgPGZvbzpTb21ldGhpbmc+CisgICAgICAgIDxiYXI6U29tZXRoaW5nPgorICAgICAgICAgICA8Zm9vOlNvbWV0aGluZz4KKyAgICAgICAgICAgICA8YmF6OlNvbWV0aGluZyAvPgorICAgICAgICAgICA8L2ZvbzpTb21ldGhpbmc+CisgICAgICAgIDwvYmFyOlNvbWV0aGluZz4KKyAgICAgPC9mb286U29tZXRoaW5nPgorICA8L2JhcjpTb21ldGhpbmc+Cis8L2ZvbzpSb290PgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2MxNG4vd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMDUueHBhdGggYi9saWJ4bWwyL3Rlc3QvYzE0bi93aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0wNS54cGF0aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNzMyODk0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2MxNG4vd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMDUueHBhdGgKQEAgLTAsMCArMSwxMCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8WFBhdGggeG1sbnM6YmFyPSJodHRwOi8vZXhhbXBsZS5vcmcvYmFyIiB4bWxuczpiYXo9Imh0dHA6Ly9leGFtcGxlLm9yZy9iYXoiIHhtbG5zOmZvbz0iaHR0cDovL2V4YW1wbGUub3JnL2ZvbyIgeG1sOmxhbmc9ImVuLWllIj4KKyAgICAoLy8uIHwgLy9AKiB8IC8vbmFtZXNwYWNlOjoqKSAKKyAgICBbIAorICAgICAgICAgICAgICA8IS0tIG5vIG5hbWVzcGFjZSBub2RlczsgSSBhbSB0ZXh0IG9yIGhhdmUgbm9uZW1wdHkgbmFtZXNwYWNlIFVSSSAtLT4KKyAgICAgICAgICAgICAgYW5jZXN0b3Itb3Itc2VsZjo6YmFyOlNvbWV0aGluZyAgYW5kCisgICAgICAgICAgICAgIChzZWxmOjp0ZXh0KCkgIG9yCisgICAgICAgICAgICAgICAobmFtZXNwYWNlLXVyaSgpICE9ICIiKSkKKyAgICBdCis8L1hQYXRoPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2MxNG4vd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMDYueG1sIGIvbGlieG1sMi90ZXN0L2MxNG4vd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMDYueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcxNGM5ZDEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvYzE0bi93aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0wNi54bWwKQEAgLTAsMCArMSwxMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8Zm9vOlJvb3QgeG1sbnM6YmFyPSJodHRwOi8vZXhhbXBsZS5vcmcvYmFyIiB4bWxuczpiYXo9Imh0dHA6Ly9leGFtcGxlLm9yZy9iYXoiIHhtbG5zOmZvbz0iaHR0cDovL2V4YW1wbGUub3JnL2ZvbyIgeG1sbnM9Imh0dHA6Ly9leGFtcGxlLm9yZy8iIHhtbDpsYW5nPSJlbi1pZSI+CisgIDxiYXI6U29tZXRoaW5nPgorICAgICA8Zm9vOlNvbWV0aGluZz4KKyAgICAgICAgPGJhcjpTb21ldGhpbmc+CisgICAgICAgICAgIDxmb286U29tZXRoaW5nPgorICAgICAgICAgICAgIDxiYXo6U29tZXRoaW5nIC8+CisgICAgICAgICAgIDwvZm9vOlNvbWV0aGluZz4KKyAgICAgICAgPC9iYXI6U29tZXRoaW5nPgorICAgICA8L2ZvbzpTb21ldGhpbmc+CisgIDwvYmFyOlNvbWV0aGluZz4KKzwvZm9vOlJvb3Q+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvYzE0bi93aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0wNi54cGF0aCBiL2xpYnhtbDIvdGVzdC9jMTRuL3dpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTA2LnhwYXRoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFlNjU4OWUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvYzE0bi93aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0wNi54cGF0aApAQCAtMCwwICsxLDEwIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxYUGF0aCB4bWxuczpiYXI9Imh0dHA6Ly9leGFtcGxlLm9yZy9iYXIiIHhtbG5zOmJhej0iaHR0cDovL2V4YW1wbGUub3JnL2JheiIgeG1sbnM6Zm9vPSJodHRwOi8vZXhhbXBsZS5vcmcvZm9vIiB4bWw6bGFuZz0iZW4taWUiPgorICAgICgvLy4gfCAvL0AqIHwgLy9uYW1lc3BhY2U6OiopIAorICAgIFsgCisgICAgICAgICAgICAgIDwhLS0gb25seSBuYW1lc3BhY2Ugbm9kZXMgLS0+CisgICAgICAgICAgICAgIGFuY2VzdG9yLW9yLXNlbGY6OmJhcjpTb21ldGhpbmcgIGFuZAorICAgICAgICAgICAgICAoY291bnQocGFyZW50Ojpub2RlKCkvbmFtZXNwYWNlOjoqKSAgPQorICAgICAgICAgICAgICAgY291bnQocGFyZW50Ojpub2RlKCkvbmFtZXNwYWNlOjoqIHwgc2VsZjo6bm9kZSgpKSkKKyAgICBdCis8L1hQYXRoPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2MxNG4vd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMDcueG1sIGIvbGlieG1sMi90ZXN0L2MxNG4vd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMDcueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcxNGM5ZDEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvYzE0bi93aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0wNy54bWwKQEAgLTAsMCArMSwxMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8Zm9vOlJvb3QgeG1sbnM6YmFyPSJodHRwOi8vZXhhbXBsZS5vcmcvYmFyIiB4bWxuczpiYXo9Imh0dHA6Ly9leGFtcGxlLm9yZy9iYXoiIHhtbG5zOmZvbz0iaHR0cDovL2V4YW1wbGUub3JnL2ZvbyIgeG1sbnM9Imh0dHA6Ly9leGFtcGxlLm9yZy8iIHhtbDpsYW5nPSJlbi1pZSI+CisgIDxiYXI6U29tZXRoaW5nPgorICAgICA8Zm9vOlNvbWV0aGluZz4KKyAgICAgICAgPGJhcjpTb21ldGhpbmc+CisgICAgICAgICAgIDxmb286U29tZXRoaW5nPgorICAgICAgICAgICAgIDxiYXo6U29tZXRoaW5nIC8+CisgICAgICAgICAgIDwvZm9vOlNvbWV0aGluZz4KKyAgICAgICAgPC9iYXI6U29tZXRoaW5nPgorICAgICA8L2ZvbzpTb21ldGhpbmc+CisgIDwvYmFyOlNvbWV0aGluZz4KKzwvZm9vOlJvb3Q+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvYzE0bi93aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0wNy54cGF0aCBiL2xpYnhtbDIvdGVzdC9jMTRuL3dpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTA3LnhwYXRoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJkY2E1MjgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvYzE0bi93aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0wNy54cGF0aApAQCAtMCwwICsxLDkgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPFhQYXRoIHhtbG5zOmJhcj0iaHR0cDovL2V4YW1wbGUub3JnL2JhciIgeG1sbnM6YmF6PSJodHRwOi8vZXhhbXBsZS5vcmcvYmF6IiB4bWxuczpmb289Imh0dHA6Ly9leGFtcGxlLm9yZy9mb28iIHhtbDpsYW5nPSJlbi1pZSI+CisgICAgKC8vLiB8IC8vQCogfCAvL25hbWVzcGFjZTo6KikgCisgICAgWyAKKyAgICAgICAgICAgICAgPCEtLSBvbmx5IGRpcmVjdGx5LXVzZWQgbmFtZXNwYWNlIG5vZGVzIC0tPgorICAgICAgICAgICAgICBhbmNlc3Rvci1vci1zZWxmOjpiYXI6U29tZXRoaW5nICBhbmQKKyAgICAgICAgICAgICAgKHN0cmluZyhzZWxmOjpub2RlKCkpID0gbmFtZXNwYWNlLXVyaShwYXJlbnQ6Om5vZGUoKSkpCisgICAgXQorPC9YUGF0aD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9jMTRuL3dpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTA4LnhtbCBiL2xpYnhtbDIvdGVzdC9jMTRuL3dpdGhvdXQtY29tbWVudHMvbWVybGluLWMxNG4tdHdvLTA4LnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MTRjOWQxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2MxNG4vd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMDgueG1sCkBAIC0wLDAgKzEsMTIgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPGZvbzpSb290IHhtbG5zOmJhcj0iaHR0cDovL2V4YW1wbGUub3JnL2JhciIgeG1sbnM6YmF6PSJodHRwOi8vZXhhbXBsZS5vcmcvYmF6IiB4bWxuczpmb289Imh0dHA6Ly9leGFtcGxlLm9yZy9mb28iIHhtbG5zPSJodHRwOi8vZXhhbXBsZS5vcmcvIiB4bWw6bGFuZz0iZW4taWUiPgorICA8YmFyOlNvbWV0aGluZz4KKyAgICAgPGZvbzpTb21ldGhpbmc+CisgICAgICAgIDxiYXI6U29tZXRoaW5nPgorICAgICAgICAgICA8Zm9vOlNvbWV0aGluZz4KKyAgICAgICAgICAgICA8YmF6OlNvbWV0aGluZyAvPgorICAgICAgICAgICA8L2ZvbzpTb21ldGhpbmc+CisgICAgICAgIDwvYmFyOlNvbWV0aGluZz4KKyAgICAgPC9mb286U29tZXRoaW5nPgorICA8L2JhcjpTb21ldGhpbmc+Cis8L2ZvbzpSb290PgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2MxNG4vd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMDgueHBhdGggYi9saWJ4bWwyL3Rlc3QvYzE0bi93aXRob3V0LWNvbW1lbnRzL21lcmxpbi1jMTRuLXR3by0wOC54cGF0aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNGZkZDNmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2MxNG4vd2l0aG91dC1jb21tZW50cy9tZXJsaW4tYzE0bi10d28tMDgueHBhdGgKQEAgLTAsMCArMSwxMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8WFBhdGggeG1sbnM6YmFyPSJodHRwOi8vZXhhbXBsZS5vcmcvYmFyIiB4bWxuczpiYXo9Imh0dHA6Ly9leGFtcGxlLm9yZy9iYXoiIHhtbG5zOmZvbz0iaHR0cDovL2V4YW1wbGUub3JnL2ZvbyIgeG1sOmxhbmc9ImVuLWllIj4KKyAgICAoLy8uIHwgLy9AKiB8IC8vbmFtZXNwYWNlOjoqKSAKKyAgICBbIAorICAgICAgICAgICAgICA8IS0tIG5vIG5hbWVzcGFjZSBub2RlcyBidXQgdGhlIGRlZmF1bHQgb24gYWx0ZXJuYXRlIGVsZW1lbnRzIC0tPgorICAgICAgICAgICAgICBhbmNlc3Rvci1vci1zZWxmOjpiYXI6U29tZXRoaW5nICBhbmQKKyAgICAgICAgICAgICAgKHNlbGY6OnRleHQoKSAgb3IKKyAgICAgICAgICAgICAgIChuYW1lc3BhY2UtdXJpKCkgIT0gIiIpICBvcgorICAgICAgICAgICAgICAgKChuYW1lKCkgPSAiIikgIGFuZAorICAgICAgICAgICAgICAgICgoY291bnQoYW5jZXN0b3Itb3Itc2VsZjo6bm9kZSgpKSBtb2QgMikgPSAxKSkpCisgICAgXQorPC9YUGF0aD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9jMTRuL3dpdGhvdXQtY29tbWVudHMvdGVzdC0wLnhtbCBiL2xpYnhtbDIvdGVzdC9jMTRuL3dpdGhvdXQtY29tbWVudHMvdGVzdC0wLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZTFmOWQ0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2MxNG4vd2l0aG91dC1jb21tZW50cy90ZXN0LTAueG1sCkBAIC0wLDAgKzEsOSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IURPQ1RZUEUgZW52ZWxvcGUgWworICA8IUVOVElUWSBkc2lnICJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjIj4KKyAgPCFFTlRJVFkgYzE0biAiaHR0cDovL3d3dy53My5vcmcvVFIvMjAwMS9SRUMteG1sLWMxNG4tMjAwMTAzMTUiPgorICA8IUVOVElUWSB4cGF0aCAiaHR0cDovL3d3dy53My5vcmcvVFIvMTk5OS9SRUMteHBhdGgtMTk5OTExMTYiPgorICA8IUVOVElUWSB4c2x0ICJodHRwOi8vd3d3LnczLm9yZy9UUi8xOTk5L1JFQy14c2x0LTE5OTkxMTE2Ij4KKyAgPCFBVFRMSVNUIE5vdGFyaWVzIElkIElEICNJTVBMSUVEPgorXT4KKzxPYmplY3QgSWQ9Im9iamVjdC0xIiBNaW1lVHlwZT0idGV4dC9wbGFpbiI+SSBhbSB0aGUgdGV4dC48L09iamVjdD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9jMTRuL3dpdGhvdXQtY29tbWVudHMvdGVzdC0wLnhwYXRoIGIvbGlieG1sMi90ZXN0L2MxNG4vd2l0aG91dC1jb21tZW50cy90ZXN0LTAueHBhdGgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWZjYTdiZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9jMTRuL3dpdGhvdXQtY29tbWVudHMvdGVzdC0wLnhwYXRoCkBAIC0wLDAgKzEsMTQgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCFET0NUWVBFIGVudmVsb3BlIFsKKyAgPCFFTlRJVFkgZHNpZyAiaHR0cDovL3d3dy53My5vcmcvMjAwMC8wOS94bWxkc2lnIyI+CisgIDwhRU5USVRZIGMxNG4gImh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDEvUkVDLXhtbC1jMTRuLTIwMDEwMzE1Ij4KKyAgPCFFTlRJVFkgeHBhdGggImh0dHA6Ly93d3cudzMub3JnL1RSLzE5OTkvUkVDLXhwYXRoLTE5OTkxMTE2Ij4KKyAgPCFFTlRJVFkgeHNsdCAiaHR0cDovL3d3dy53My5vcmcvVFIvMTk5OS9SRUMteHNsdC0xOTk5MTExNiI+CisgIDwhQVRUTElTVCBOb3RhcmllcyBJZCBJRCAjSU1QTElFRD4KK10+Cis8WFBhdGg+CisgICAgKC8vLnwvL0AqfC8vbmFtZXNwYWNlOjoqKQorICAgIFsKKwlzZWxmOjp0ZXh0KCkKKyAgICBdCis8L1hQYXRoPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2MxNG4vd2l0aG91dC1jb21tZW50cy90ZXN0LTEueG1sIGIvbGlieG1sMi90ZXN0L2MxNG4vd2l0aG91dC1jb21tZW50cy90ZXN0LTEueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIxNTY2MTUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvYzE0bi93aXRob3V0LWNvbW1lbnRzL3Rlc3QtMS54bWwKQEAgLTAsMCArMSw0MyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IURPQ1RZUEUgZW52ZWxvcGUgWworICA8IUVOVElUWSBkc2lnICJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjIj4KKyAgPCFFTlRJVFkgYzE0biAiaHR0cDovL3d3dy53My5vcmcvVFIvMjAwMS9SRUMteG1sLWMxNG4tMjAwMTAzMTUiPgorICA8IUVOVElUWSB4cGF0aCAiaHR0cDovL3d3dy53My5vcmcvVFIvMTk5OS9SRUMteHBhdGgtMTk5OTExMTYiPgorICA8IUVOVElUWSB4c2x0ICJodHRwOi8vd3d3LnczLm9yZy9UUi8xOTk5L1JFQy14c2x0LTE5OTkxMTE2Ij4KKyAgPCFBVFRMSVNUIE5vdGFyaWVzIElkIElEICNJTVBMSUVEPgorXT4KKyAgICA8U2lnbmF0dXJlIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjIiBJZD0ic2lnbmF0dXJlIj4KKyAgICAgIDxPYmplY3QgSWQ9Im9iamVjdC00Ij4KKyAgICAgICAgPFg1MDlEYXRhPgorICAgICAgICAgIDxYNTA5U3ViamVjdE5hbWU+CisgICAgICAgICAgICBDTj1NZXJsaW4gSHVnaGVzLE89QmFsdGltb3JlIFRlY2hub2xvZ2llc1wsIEx0ZC4sU1Q9RHVibGluLEM9SUUKKyAgICAgICAgICA8L1g1MDlTdWJqZWN0TmFtZT4KKyAgICAgICAgICA8WDUwOUlzc3VlclNlcmlhbD4KKyAgICAgICAgICAgIDxYNTA5SXNzdWVyTmFtZT4KKyAgICAgICAgICAgICAgQ049VGVzdCBEU0EgQ0EsTz1CYWx0aW1vcmUgVGVjaG5vbG9naWVzXCwgTHRkLixTVD1EdWJsaW4sQz1JRQorICAgICAgICAgICAgPC9YNTA5SXNzdWVyTmFtZT4KKyAgICAgICAgICAgIDxYNTA5U2VyaWFsTnVtYmVyPjk3MDg0OTkzNjwvWDUwOVNlcmlhbE51bWJlcj4KKyAgICAgICAgICA8L1g1MDlJc3N1ZXJTZXJpYWw+CisgICAgICAgICAgPFg1MDlDZXJ0aWZpY2F0ZT4KKyAgICAgICAgICAgIE1JSUROekNDQXZXZ0F3SUJBZ0lFT2QzK2tEQUpCZ2NxaGtqT09BUURNRnN4Q3pBSkJnTlZCQVlUQWtsRk1ROHcKKyAgICAgICAgICAgIERRWURWUVFJRXdaRWRXSnNhVzR4SlRBakJnTlZCQW9USEVKaGJIUnBiVzl5WlNCVVpXTm9ibTlzYjJkcFpYTXMKKyAgICAgICAgICAgIElFeDBaQzR4RkRBU0JnTlZCQU1UQzFSbGMzUWdSRk5CSUVOQk1CNFhEVEF3TVRBd05qRTJNekl4TlZvWERUQXgKKyAgICAgICAgICAgIE1UQXdOakUyTXpJeE5Gb3dYVEVMTUFrR0ExVUVCaE1DU1VVeER6QU5CZ05WQkFnVEJrUjFZbXhwYmpFbE1DTUcKKyAgICAgICAgICAgIEExVUVDaE1jUW1Gc2RHbHRiM0psSUZSbFkyaHViMnh2WjJsbGN5d2dUSFJrTGpFV01CUUdBMVVFQXhNTlRXVnkKKyAgICAgICAgICAgIGJHbHVJRWgxWjJobGN6Q0NBYll3Z2dFckJnY3Foa2pPT0FRQk1JSUJIZ0tCZ1FEYUpqZkRUcmF3TUhmOE1pVXQKKyAgICAgICAgICAgIFk1NGIzN2hTbVlOblIzS3BHVDEwdVUxRHFwcGNqdTA2dU4waUdicWY5NDdEamtCQzI1aEtucXlrSzMxeEJ3MEUKKyAgICAgICAgICAgIENQYllxL0tDOThrZ2hkZjJ4SkN1NkI4YXFKOTVLOWpkVmZsSjNXUDdQUXhKbitmbU0yM3p5NkhZTFhWSUNwZnEKKyAgICAgICAgICAgIGV0ZE5qL1ZIQ1NoWkUzYmRKaUU2Vm9iU0ZRSVZBUFFlY3FTMlBhVERwcmNRbmt3eDRNSFRSWGhyQW9HQU11R0EKKyAgICAgICAgICAgIGxxZUIxYXgrdnlPMitPc3ViamhsN3BIeEx1NDdSSUgrL001MkRqRVNBOUtNU3J3enNZeDh5TlIyV29vQnlyRTAKKyAgICAgICAgICAgIHQ2ZnUwVm5jSzdVSzhvbE80dDd3cHYyejRBRlFQUlZDS0Z3bzBxZ241YUtJa0lDR01sclJ5ODFhdmIyN3dHY1cKKyAgICAgICAgICAgIG90aHgzaVBQTXRGWHRvRHFLMEpJdGFJOVI4emMxbXNGaE0xR0tNWURnWVFBQW9HQWN0QThZR3hydG5nZy96S1YKKyAgICAgICAgICAgIHZxRU9lZm53bVZpRnp0Y25QQllQbEpzdmg2eUtJNGlEbTY4Zm5wNE1pM1JySjZiWkF5Z0ZyVUlRTHhMalYrT0oKKyAgICAgICAgICAgIHRnSkFFdG8weEFzK01laHVxMURrU0ZFcFAzb0R6Q1RPc3JPaVMxRHdRZTRvSWI3elZrLzlsN2FQdEpNSFcwTFYKKyAgICAgICAgICAgIGxNZHdaTkZOTkpvcU1jVDJaZkNQcmZ2WXZRMmpSekJGTUI0R0ExVWRFUVFYTUJXQkUyMWxjbXhwYmtCaVlXeDAKKyAgICAgICAgICAgIGFXMXZjbVV1YVdVd0RnWURWUjBQQVFIL0JBUURBZ2VBTUJNR0ExVWRJd1FNTUFxQUNFSlpRRzBLd1JiUE1Ba0cKKyAgICAgICAgICAgIEJ5cUdTTTQ0QkFNRE1RQXdMZ0lWQUs0c2tXRUZZZ3JnZ2FKQTh2WUF3U2pnMTIrS0FoVUF3SFRvN3dkNHRFTncKKyAgICAgICAgICAgIDlMQUtQa2xRLzc0ZkgxOD0KKyAgICAgICAgICA8L1g1MDlDZXJ0aWZpY2F0ZT4KKyAgICAgICAgPC9YNTA5RGF0YT4KKyAgICAgIDwvT2JqZWN0PgorICAgIDwvU2lnbmF0dXJlPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9jMTRuL3dpdGhvdXQtY29tbWVudHMvdGVzdC0xLnhwYXRoIGIvbGlieG1sMi90ZXN0L2MxNG4vd2l0aG91dC1jb21tZW50cy90ZXN0LTEueHBhdGgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2MxMWUyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9jMTRuL3dpdGhvdXQtY29tbWVudHMvdGVzdC0xLnhwYXRoCkBAIC0wLDAgKzEsMTQgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCFET0NUWVBFIGVudmVsb3BlIFsKKyAgPCFFTlRJVFkgZHNpZyAiaHR0cDovL3d3dy53My5vcmcvMjAwMC8wOS94bWxkc2lnIyI+CisgIDwhRU5USVRZIGMxNG4gImh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDEvUkVDLXhtbC1jMTRuLTIwMDEwMzE1Ij4KKyAgPCFFTlRJVFkgeHBhdGggImh0dHA6Ly93d3cudzMub3JnL1RSLzE5OTkvUkVDLXhwYXRoLTE5OTkxMTE2Ij4KKyAgPCFFTlRJVFkgeHNsdCAiaHR0cDovL3d3dy53My5vcmcvVFIvMTk5OS9SRUMteHNsdC0xOTk5MTExNiI+CisgIDwhQVRUTElTVCBOb3RhcmllcyBJZCBJRCAjSU1QTElFRD4KK10+Cis8WFBhdGggeG1sbnM6ZHNpZz0iJmRzaWc7Ij4KKyAgICAoLy8ufC8vQCp8Ly9uYW1lc3BhY2U6OiopCisgICAgWworCWFuY2VzdG9yLW9yLXNlbGY6OmRzaWc6WDUwOURhdGEKKyAgICBdCis8L1hQYXRoPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2MxNG4vd2l0aG91dC1jb21tZW50cy90ZXN0LTIueG1sIGIvbGlieG1sMi90ZXN0L2MxNG4vd2l0aG91dC1jb21tZW50cy90ZXN0LTIueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlmZGE0OWUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvYzE0bi93aXRob3V0LWNvbW1lbnRzL3Rlc3QtMi54bWwKQEAgLTAsMCArMSw4IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxuMDpsb2NhbCB4bWxuczpuMD0iZm9vOi8vYmFyIiB4bWxuczpuMz0iZnRwOi8vZXhhbXBsZS5vcmciPgorICAgIDxuMTplbGVtMiB4bWxuczpuMT0iaHR0cDovL2V4YW1wbGUubmV0IiB4bWw6bGFuZz0iZW4iPgorCTxuMzpzdHVmZiB4bWxuczpuMz0iZnRwOi8vZXhhbXBsZS5vcmciLz4KKyAgICA8L24xOmVsZW0yPgorPC9uMDpsb2NhbD4KKwkJICAgICAgCisJCQkgICAgICAKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvYzE0bi93aXRob3V0LWNvbW1lbnRzL3Rlc3QtMi54cGF0aCBiL2xpYnhtbDIvdGVzdC9jMTRuL3dpdGhvdXQtY29tbWVudHMvdGVzdC0yLnhwYXRoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk2NTNiYzMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvYzE0bi93aXRob3V0LWNvbW1lbnRzL3Rlc3QtMi54cGF0aApAQCAtMCwwICsxLDggQEAKKworPFhQYXRoIHhtbG5zOm4xPSJodHRwOi8vZXhhbXBsZS5uZXQiID4KKyAgICAoLy8uIHwgLy9AKiB8IC8vbmFtZXNwYWNlOjoqKQorICAgIFsKKwlhbmNlc3Rvci1vci1zZWxmOjpuMTplbGVtMgorICAgIF0KKzwvWFBhdGg+CisgClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2MxNG4vd2l0aG91dC1jb21tZW50cy90ZXN0LTMueG1sIGIvbGlieG1sMi90ZXN0L2MxNG4vd2l0aG91dC1jb21tZW50cy90ZXN0LTMueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM3YzQyZDkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvYzE0bi93aXRob3V0LWNvbW1lbnRzL3Rlc3QtMy54bWwKQEAgLTAsMCArMSwxOCBAQAorPCFET0NUWVBFIGRvYyBbPCFBVFRMSVNUIGU5IGF0dHIgQ0RBVEEgImRlZmF1bHQiPl0+Cis8ZG9jIHhtbG5zOmZvbz0iaHR0cDovL3d3dy5iYXIub3JnIiB4bWw6YmFzZT0iaHR0cDovL3d3dy5leGFtcGxlLm9yZy8yMDAyLyI+CisgICA8ZTEgICAvPgorICAgPGUyICAgPjwvZTI+CisgICA8ZTMgICAgbmFtZSA9ICJlbGVtMyIgICBpZD0iZWxlbTMiICAgIC8+CisgICA8ZTQgICAgbmFtZT0iZWxlbTQiICAgaWQ9ImVsZW00IiAgICA+PC9lND4KKyAgIDxlNSBhOmF0dHI9Im91dCIgYjphdHRyPSJzb3J0ZWQiIGF0dHIyPSJhbGwiIGF0dHI9IkknbSIKKyAgICAgICB4bWxuczpiPSJodHRwOi8vd3d3LmlldGYub3JnIgorICAgICAgIHhtbG5zOmE9Imh0dHA6Ly93d3cudzMub3JnIgorICAgICAgIHhtbG5zPSJodHRwOi8vZXhhbXBsZS5vcmciLz4KKyAgIDxlNiB4bWxucz0iIiB0ZXN0PSIuLi9iYXoiIHhtbG5zOmE9Imh0dHA6Ly93d3cudzMub3JnIj4KKyAgICAgICA8ZTcgeG1sbnM9Imh0dHA6Ly93d3cuaWV0Zi5vcmciPgorICAgICAgICAgICA8ZTggeG1sbnM9IiIgeG1sbnM6YT0iaHR0cDovL3d3dy53My5vcmciIGE6Zm9vPSJiYXIiPgorICAgICAgICAgICAgICAgPGU5IHhtbG5zPSIiIHhtbG5zOmE9Imh0dHA6Ly93d3cuaWV0Zi5vcmciLz4KKyAgICAgICAgICAgPC9lOD4KKyAgICAgICA8L2U3PgorICAgPC9lNj4KKzwvZG9jPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2MxNG4vd2l0aG91dC1jb21tZW50cy90ZXN0LTMueHBhdGggYi9saWJ4bWwyL3Rlc3QvYzE0bi93aXRob3V0LWNvbW1lbnRzL3Rlc3QtMy54cGF0aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYWEwMDcwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2MxNG4vd2l0aG91dC1jb21tZW50cy90ZXN0LTMueHBhdGgKQEAgLTAsMCArMSwzIEBACis8WFBhdGg+CisoLy8uIHwgLy9AKiB8IC8vbmFtZXNwYWNlOjoqKVthbmNlc3Rvci1vci1zZWxmOjplNl0gCis8L1hQYXRoPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9jMTRuL3dpdGhvdXQtY29tbWVudHMvd29ybGQudHh0IGIvbGlieG1sMi90ZXN0L2MxNG4vd2l0aG91dC1jb21tZW50cy93b3JsZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDRmZWEwNgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9jMTRuL3dpdGhvdXQtY29tbWVudHMvd29ybGQudHh0CkBAIC0wLDAgKzEgQEAKK3dvcmxkClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2NhdGFsb2dzL2NhdGFsLnNjcmlwdCBiL2xpYnhtbDIvdGVzdC9jYXRhbG9ncy9jYXRhbC5zY3JpcHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWM2NDRkMQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9jYXRhbG9ncy9jYXRhbC5zY3JpcHQKQEAgLTAsMCArMSw0IEBACitwdWJsaWMgIi0vL09BU0lTLy9EVEQgRG9jQm9vayBYTUwgQ0FMUyBUYWJsZSBNb2RlbCBWNC4xLy9FTiIKK3B1YmxpYyAiLS8vRGF2ZW5wb3J0Ly9EVEQgRG9jQm9vayBWMy4wLy9FTiIKK3B1YmxpYyAiLS8vT0FTSVMvL0RURCBYTUwgRXhjaGFuZ2UgVGFibGUgTW9kZWwgMTk5OTAzMTUvL0VOIgorcHVibGljICItLy9EYXZlbnBvcnQvL0VOVElUSUVTIERvY0Jvb2sgQWRkaXRpb25hbCBHZW5lcmFsIEVudGl0aWVzIFYzLjAvL0VOIgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2NhdGFsb2dzL2NhdGFsLnNnbWwgYi9saWJ4bWwyL3Rlc3QvY2F0YWxvZ3MvY2F0YWwuc2dtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wM2ZjMmM1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2NhdGFsb2dzL2NhdGFsLnNnbWwKQEAgLTAsMCArMSwyIEBACitDQVRBTE9HIGNhdGFsMS5zZ21sCitDQVRBTE9HIGNhdGFsMi5zZ21sCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvY2F0YWxvZ3MvY2F0YWwxLnNnbWwgYi9saWJ4bWwyL3Rlc3QvY2F0YWxvZ3MvY2F0YWwxLnNnbWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjgzMTljYQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9jYXRhbG9ncy9jYXRhbDEuc2dtbApAQCAtMCwwICsxIEBACitDQVRBTE9HIGNhdGFsMy5zZ21sCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvY2F0YWxvZ3MvY2F0YWwyLnNnbWwgYi9saWJ4bWwyL3Rlc3QvY2F0YWxvZ3MvY2F0YWwyLnNnbWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmY0Y2Y4YwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9jYXRhbG9ncy9jYXRhbDIuc2dtbApAQCAtMCwwICsxLDQgQEAKK1BVQkxJQyAiLS8vRGF2ZW5wb3J0Ly9EVEQgRG9jQm9vayBWMy4wLy9FTiIgImRvY2Jvb2suZHRkIgorUFVCTElDICItLy9VU0EtRE9ELy9EVEQgVGFibGUgTW9kZWwgOTUxMDEwLy9FTiIgImNhbHMtdGJsLmR0ZCIKK1BVQkxJQyAiLS8vRGF2ZW5wb3J0Ly9FTEVNRU5UUyBEb2NCb29rIEluZm9ybWF0aW9uIFBvb2wgVjMuMC8vRU4iICJkYnBvb2wubW9kIgorUFVCTElDICItLy9EYXZlbnBvcnQvL0VMRU1FTlRTIERvY0Jvb2sgRG9jdW1lbnQgSGllcmFyY2h5IFYzLjAvL0VOIiAiZGJoaWVyLm1vZCJQVUJMSUMgIi0vL0RhdmVucG9ydC8vRU5USVRJRVMgRG9jQm9vayBBZGRpdGlvbmFsIEdlbmVyYWwgRW50aXRpZXMgVjMuMC8vRU4iICJkYmdlbmVudC5tb2QiCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvY2F0YWxvZ3MvY2F0YWwzLnNnbWwgYi9saWJ4bWwyL3Rlc3QvY2F0YWxvZ3MvY2F0YWwzLnNnbWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmY1NDcyNAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9jYXRhbG9ncy9jYXRhbDMuc2dtbApAQCAtMCwwICsxLDggQEAKK1BVQkxJQyAiLS8vT0FTSVMvL0RURCBEb2NCb29rIFhNTCBDQUxTIFRhYmxlIE1vZGVsIFY0LjEvL0VOIiAiY2Fsc3RibHguZHRkIgorUFVCTElDICItLy9PQVNJUy8vRFREIFhNTCBFeGNoYW5nZSBUYWJsZSBNb2RlbCAxOTk5MDMxNS8vRU4iICJzb2V4dGJseC5kdGQiCitQVUJMSUMgIi0vL09BU0lTLy9FTEVNRU5UUyBEb2NCb29rIFhNTCBJbmZvcm1hdGlvbiBQb29sIFY0LjEvL0VOIiAiZGJwb29sLm1vZCIKK1BVQkxJQyAiLS8vT0FTSVMvL0VMRU1FTlRTIERvY0Jvb2sgWE1MIERvY3VtZW50IEhpZXJhcmNoeSBWNC4xLy9FTiIgImRiaGllci5tb2QiUFVCTElDICItLy9PQVNJUy8vRU5USVRJRVMgRG9jQm9vayBYTUwgQWRkaXRpb25hbCBHZW5lcmFsIEVudGl0aWVzIFY0LjEvL0VOIiAiZGJnZW5lbnQubW9kIgorUFVCTElDICItLy9PQVNJUy8vRU5USVRJRVMgRG9jQm9vayBYTUwgTm90YXRpb25zIFY0LjEvL0VOIiAiZGJub3RuLm1vZCIKK1BVQkxJQyAiLS8vT0FTSVMvL0VOVElUSUVTIERvY0Jvb2sgWE1MIENoYXJhY3RlciBFbnRpdGllcyBWNC4xLy9FTiIgImRiY2VudC5tb2QiCisKKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2NhdGFsb2dzL2RvY2Jvb2suc2NyaXB0IGIvbGlieG1sMi90ZXN0L2NhdGFsb2dzL2RvY2Jvb2suc2NyaXB0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZhYTA2YjAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvY2F0YWxvZ3MvZG9jYm9vay5zY3JpcHQKQEAgLTAsMCArMSw1IEBACityZXNvbHZlIHRvdG8gaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9kb2Nib29rL3htbC80LjEuMi9kYnBvb2x4Lm1vZAorcHVibGljICItLy9PQVNJUy8vRU5USVRJRVMgRG9jQm9vayBYTUwgQ2hhcmFjdGVyIEVudGl0aWVzIFY0LjEuMi8vRU4iCitzeXN0ZW0gdXJuOnB1YmxpY2lkOi06T0FTSVM6RFREK0RvY0Jvb2srWE1MK1Y0LjEuMjpFTgorcHVibGljIHVybjpwdWJsaWNpZDotOk9BU0lTOkRURCtEb2NCb29rK1hNTCtWNC4xLjI6RU4KK3Jlc29sdmUgdG90byB0b3RvCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvY2F0YWxvZ3MvZG9jYm9vay54bWwgYi9saWJ4bWwyL3Rlc3QvY2F0YWxvZ3MvZG9jYm9vay54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzhkZDJiZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9jYXRhbG9ncy9kb2Nib29rLnhtbApAQCAtMCwwICsxLDE0IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhRE9DVFlQRSBjYXRhbG9nIFBVQkxJQyAiLS8vT0FTSVMvL0RURCBFbnRpdHkgUmVzb2x1dGlvbiBYTUwgQ2F0YWxvZyBWMS4wLy9FTiIgImh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvY29tbWl0dGVlcy9lbnRpdHkvcmVsZWFzZS8xLjAvY2F0YWxvZy5kdGQiPgorPGNhdGFsb2cgeG1sbnM9InVybjpvYXNpczpuYW1lczp0YzplbnRpdHk6eG1sbnM6eG1sOmNhdGFsb2ciPgorPHB1YmxpYyBwdWJsaWNJZD0iLS8vT0FTSVMvL0RURCBEb2NCb29rIFhNTCBWNC4xLjIvL0VOIiB1cmk9Imh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvZG9jYm9vay94bWwvNC4xLjIvZG9jYm9va3guZHRkIi8+Cis8cHVibGljIHB1YmxpY0lkPSItLy9PQVNJUy8vRU5USVRJRVMgRG9jQm9vayBYTUwgTm90YXRpb25zIFY0LjEuMi8vRU4iIHVyaT0iaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9kb2Nib29rL3htbC80LjEuMi9kYm5vdG54Lm1vZCIvPgorPHB1YmxpYyBwdWJsaWNJZD0iLS8vT0FTSVMvL0VOVElUSUVTIERvY0Jvb2sgWE1MIENoYXJhY3RlciBFbnRpdGllcyBWNC4xLjIvL0VOIiB1cmk9Imh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvZG9jYm9vay94bWwvNC4xLjIvZGJjZW50eC5tb2QiLz4KKzxwdWJsaWMgcHVibGljSWQ9Ii0vL09BU0lTLy9FTEVNRU5UUyBEb2NCb29rIFhNTCBJbmZvcm1hdGlvbiBQb29sIFY0LjEuMi8vRU4iIHVyaT0iaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9kb2Nib29rL3htbC80LjEuMi9kYnBvb2x4Lm1vZCIvPgorPHB1YmxpYyBwdWJsaWNJZD0iLS8vT0FTSVMvL0VMRU1FTlRTIERvY0Jvb2sgWE1MIERvY3VtZW50IEhpZXJhcmNoeSBWNC4xLjIvL0VOIiB1cmk9Imh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvZG9jYm9vay94bWwvNC4xLjIvZGJoaWVyeC5tb2QiLz4KKzxwdWJsaWMgcHVibGljSWQ9Ii0vL09BU0lTLy9FTlRJVElFUyBEb2NCb29rIFhNTCBBZGRpdGlvbmFsIEdlbmVyYWwgRW50aXRpZXMgVjQuMS4yLy9FTiIgdXJpPSJodHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL2RvY2Jvb2sveG1sLzQuMS4yL2RiZ2VuZW50Lm1vZCIvPgorPHB1YmxpYyBwdWJsaWNJZD0iLS8vT0FTSVMvL0RURCBEb2NCb29rIFhNTCBDQUxTIFRhYmxlIE1vZGVsIFY0LjEuMi8vRU4iIHVyaT0iaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9kb2Nib29rL3htbC80LjEuMi9jYWxzdGJseC5kdGQiLz4KKzxwdWJsaWMgcHVibGljSWQ9Ii0vL09BU0lTLy9EVEQgRG9jQm9vayBNYXRoTUwgTW9kdWxlIFYxLjAvL0VOIiB1cmk9Imh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvZG9jYm9vay94bWwvbWF0aG1sLzEuMC9kYm1hdGhtbC5kdGQiLz4KKzxuZXh0Q2F0YWxvZyBjYXRhbG9nPSJzdHlsZXNoZWV0LnhtbCIvPgorPHJld3JpdGVTeXN0ZW0gc3lzdGVtSWRTdGFydFN0cmluZz0iaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9kb2Nib29rLyIgcmV3cml0ZVByZWZpeD0iL3Vzci9zaGFyZS94bWwvZG9jYm9vay8iLz4KKzwvY2F0YWxvZz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9jYXRhbG9ncy9yZWdpc3RyeS5zY3JpcHQgYi9saWJ4bWwyL3Rlc3QvY2F0YWxvZ3MvcmVnaXN0cnkuc2NyaXB0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjliYjk0NGMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvY2F0YWxvZ3MvcmVnaXN0cnkuc2NyaXB0CkBAIC0wLDAgKzEsNCBAQAorcmVzb2x2ZSB0b3RvIGh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvZG9jYm9vay94bWwvNC4xLjIvZGJwb29seC5tb2QKK3B1YmxpYyAiLS8vT0FTSVMvL0VOVElUSUVTIERvY0Jvb2sgWE1MIENoYXJhY3RlciBFbnRpdGllcyBWNC4xLjIvL0VOIgorc3lzdGVtIGh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvZG9jYm9vay94bWwvNC4xLjIvZGJwb29seC5tb2QKK3N5c3RlbSB1cm46cHVibGljaWQ6LTpPQVNJUzpEVEQrRG9jQm9vaytYTUwrVjQuMS4yOkVOCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvY2F0YWxvZ3MvcmVnaXN0cnkueG1sIGIvbGlieG1sMi90ZXN0L2NhdGFsb2dzL3JlZ2lzdHJ5LnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41Y2FjY2ZjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2NhdGFsb2dzL3JlZ2lzdHJ5LnhtbApAQCAtMCwwICsxLDIzIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhRE9DVFlQRSBjYXRhbG9nIFBVQkxJQyAiLS8vT0FTSVMvL0RURCBFbnRpdHkgUmVzb2x1dGlvbiBYTUwgQ2F0YWxvZyBWMS4wLy9FTiIgImh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvY29tbWl0dGVlcy9lbnRpdHkvcmVsZWFzZS8xLjAvY2F0YWxvZy5kdGQiPgorPGNhdGFsb2cgeG1sbnM9InVybjpvYXNpczpuYW1lczp0YzplbnRpdHk6eG1sbnM6eG1sOmNhdGFsb2ciPgorCis8ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vT0FTSVMvLyIKKwkJY2F0YWxvZz0ib2FzaXMueG1sIi8+Cis8ZGVsZWdhdGVTeXN0ZW0gc3lzdGVtSWRTdGFydFN0cmluZz0iaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy8iCisgICAgICAgICAgICAgICAgY2F0YWxvZz0ib2FzaXMueG1sIi8+Cis8ZGVsZWdhdGVVUkkgdXJpU3RhcnRTdHJpbmc9Imh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvIgorICAgICAgICAgICAgICAgIGNhdGFsb2c9Im9hc2lzLnhtbCIvPgorCis8ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vT0FTSVMvL0RURCBYTUwgQ2F0YWxvZyAvLyIKKwkJY2F0YWxvZz0iZG9jYm9vay54bWwiLz4KKzxkZWxlZ2F0ZVB1YmxpYyBwdWJsaWNJZFN0YXJ0U3RyaW5nPSItLy9PQVNJUy8vRU5USVRJRVMgRG9jQm9vayBYTUwiCisJCWNhdGFsb2c9ImRvY2Jvb2sueG1sIi8+Cis8ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vT0FTSVMvL0RURCBEb2NCb29rIFhNTCIKKwkJY2F0YWxvZz0iZG9jYm9vay54bWwiLz4KKzxkZWxlZ2F0ZVN5c3RlbSBzeXN0ZW1JZFN0YXJ0U3RyaW5nPSJodHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL2RvY2Jvb2svIgorCQljYXRhbG9nPSJkb2Nib29rLnhtbCIvPgorPGRlbGVnYXRlVVJJIHVyaVN0YXJ0U3RyaW5nPSJodHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL2RvY2Jvb2svIgorCQljYXRhbG9nPSJkb2Nib29rLnhtbCIvPgorCis8L2NhdGFsb2c+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvY2F0YWxvZ3Mvc3R5bGVzaGVldC54bWwgYi9saWJ4bWwyL3Rlc3QvY2F0YWxvZ3Mvc3R5bGVzaGVldC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGI2MTFlMQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9jYXRhbG9ncy9zdHlsZXNoZWV0LnhtbApAQCAtMCwwICsxLDEyIEBACis8IURPQ1RZUEUgY2F0YWxvZworICBQVUJMSUMgIi0vL09BU0lTLy9EVEQgRW50aXR5IFJlc29sdXRpb24gWE1MIENhdGFsb2cgVjEuMC8vRU4iCisgICAgICAgICAiaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9jb21taXR0ZWVzL2VudGl0eS9yZWxlYXNlLzEuMC9jYXRhbG9nLmR0ZCI+Cis8Y2F0YWxvZyB4bWxucz0idXJuOm9hc2lzOm5hbWVzOnRjOmVudGl0eTp4bWxuczp4bWw6Y2F0YWxvZyIKKyAgICAgICAgIHByZWZlcj0icHVibGljIj4KKworPCEtLSBDaXJjdW12ZW50IHJlbGF0aXZlIFVSSSBpbiBzcGVjLnhzbCB0aGF0IGRvZXNuJ3Qgd29yayBvbmxpbmUgLS0+Cis8dXJpIG5hbWU9Imh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvY29tbWl0dGVzL3RyLnhzbCIKKyAgIHVyaT0iaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9jb21taXR0ZXMvZW50aXR5L3N0eWxlc2hlZXRzL2Jhc2UvdHIueHNsIi8+Cis8cHVibGljIHB1YmxpY0lkPSJ0b3RvIiB1cmk9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC90b3RvL3RvdG8uZHRkIi8+Cis8L2NhdGFsb2c+CisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9jYXRhbG9ncy93aGl0ZXMuc2NyaXB0IGIvbGlieG1sMi90ZXN0L2NhdGFsb2dzL3doaXRlcy5zY3JpcHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGY0ZGQxMwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9jYXRhbG9ncy93aGl0ZXMuc2NyaXB0CkBAIC0wLDAgKzEsNCBAQAorcHVibGljICItLy9PQVNJUy8vRFREIERvY0Jvb2sgWE1MIENBTFMgVGFibGUgTW9kZWwgVjQuMS8vRU4gIgorcHVibGljICItLy9EYXZlbnBvcnQvL0RURCAgIERvY0Jvb2sgVjMuMC8vRU4iCitwdWJsaWMgIiAtLy9PQVNJUy8vRFREIFhNTCBFeGNoYW5nZSBUYWJsZSBNb2RlbCAxOTk5MDMxNS8vRU4iCitwdWJsaWMgIi0vL0RhdmVucG9ydC8vRU5USVRJRVMJCURvY0Jvb2sgQWRkaXRpb25hbCBHZW5lcmFsIEVudGl0aWVzIFYzLjAvL0VOIgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2NhdGFsb2dzL3doaXRlcy5zZ21sIGIvbGlieG1sMi90ZXN0L2NhdGFsb2dzL3doaXRlcy5zZ21sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUwMjY5YjcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvY2F0YWxvZ3Mvd2hpdGVzLnNnbWwKQEAgLTAsMCArMSw1IEBACitQVUJMSUMgIiAtLy9PQVNJUy8vRFREIERvY0Jvb2sgWE1MIENBTFMgVGFibGUgTW9kZWwgVjQuMS8vRU4iICJjYWxzdGJseC5kdGQiCitQVUJMSUMgIi0vL09BU0lTLy9EVEQgWE1MICAgRXhjaGFuZ2UgVGFibGUgTW9kZWwgMTk5OTAzMTUvL0VOICIgInNvZXh0Ymx4LmR0ZCIKK1BVQkxJQyAiLS8vRGF2ZW5wb3J0Ly9EVEQgRG9jQm9vayAgCisgICBWMy4wLy9FTiIgImRvY2Jvb2suZHRkIgorUFVCTElDICItLy9EYXZlbnBvcnQvL0VOVElUSUVTIERvY0Jvb2sgQWRkaXRpb25hbCBHZW5lcmFsIEVudGl0aWVzIFYzLjAvL0VOIiAiZGJnZW5lbnQubW9kIgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2NhdGFsb2dzL3doaXRleC5zY3JpcHQgYi9saWJ4bWwyL3Rlc3QvY2F0YWxvZ3Mvd2hpdGV4LnNjcmlwdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNDljYTIzCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2NhdGFsb2dzL3doaXRleC5zY3JpcHQKQEAgLTAsMCArMSw3IEBACityZXNvbHZlICJ0b3RvICAiIGh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvZG9jYm9vay94bWwvNC4xLjIvZGJwb29seC5tb2QKK3B1YmxpYyAiLS8vT0FTSVMvL0VOVElUSUVTCURvY0Jvb2sgWE1MIENoYXJhY3RlciBFbnRpdGllcyBWNC4xLjIvL0VOIgorcHVibGljICIgLS8vT0FTSVMvL0VOVElUSUVTIERvY0Jvb2sgWE1MIENoYXJhY3RlciBFbnRpdGllcyBWNC4xLjIvL0VOIgorcHVibGljICItLy9PQVNJUy8vRU5USVRJRVMgRG9jQm9vayBYTUwgQ2hhcmFjdGVyIEVudGl0aWVzIFY0LjEuMi8vRU4gIgorc3lzdGVtIHVybjpwdWJsaWNpZDorLTpPQVNJUzpEVEQrKytEb2NCb29rK1hNTCtWNC4xLjI6RU4rCitwdWJsaWMgdXJuOnB1YmxpY2lkOistOk9BU0lTOkRURCtEb2NCb29rK1hNTCsrK1Y0LjEuMjpFTisKK3Jlc29sdmUgIgl0b3RvCSIgdG90bwpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2NhdGFsb2dzL3doaXRleC54bWwgYi9saWJ4bWwyL3Rlc3QvY2F0YWxvZ3Mvd2hpdGV4LnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNzQyODg3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2NhdGFsb2dzL3doaXRleC54bWwKQEAgLTAsMCArMSwxNSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IURPQ1RZUEUgY2F0YWxvZyBQVUJMSUMgIi0vL09BU0lTLy9EVEQgRW50aXR5IFJlc29sdXRpb24gWE1MIENhdGFsb2cgVjEuMC8vRU4iICJodHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL2NvbW1pdHRlZXMvZW50aXR5L3JlbGVhc2UvMS4wL2NhdGFsb2cuZHRkIj4KKzxjYXRhbG9nIHhtbG5zPSJ1cm46b2FzaXM6bmFtZXM6dGM6ZW50aXR5OnhtbG5zOnhtbDpjYXRhbG9nIj4KKzxwdWJsaWMgcHVibGljSWQ9Ii0vL09BU0lTLy9EVEQgRG9jQm9vayBYTUwgVjQuMS4yLy9FTiIgdXJpPSJodHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL2RvY2Jvb2sveG1sLzQuMS4yL2RvY2Jvb2t4LmR0ZCIvPgorPHB1YmxpYyBwdWJsaWNJZD0iLS8vT0FTSVMvL0VOVElUSUVTIERvY0Jvb2sgWE1MIE5vdGF0aW9ucyBWNC4xLjIvL0VOIiB1cmk9Imh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvZG9jYm9vay94bWwvNC4xLjIvZGJub3RueC5tb2QiLz4KKzxwdWJsaWMgcHVibGljSWQ9IiAtLy9PQVNJUy8vRU5USVRJRVMJRG9jQm9vayAgCisgICAgWE1MIENoYXJhY3RlciBFbnRpdGllcyBWNC4xLjIvL0VOICIgdXJpPSJodHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL2RvY2Jvb2sveG1sLzQuMS4yL2RiY2VudHgubW9kIi8+Cis8cHVibGljIHB1YmxpY0lkPSItLy9PQVNJUy8vRUxFTUVOVFMgRG9jQm9vayBYTUwgSW5mb3JtYXRpb24gUG9vbCBWNC4xLjIvL0VOIiB1cmk9Imh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvZG9jYm9vay94bWwvNC4xLjIvZGJwb29seC5tb2QiLz4KKzxwdWJsaWMgcHVibGljSWQ9Ii0vL09BU0lTLy9FTEVNRU5UUyBEb2NCb29rIFhNTCBEb2N1bWVudCBIaWVyYXJjaHkgVjQuMS4yLy9FTiIgdXJpPSJodHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL2RvY2Jvb2sveG1sLzQuMS4yL2RiaGllcngubW9kIi8+Cis8cHVibGljIHB1YmxpY0lkPSItLy9PQVNJUy8vRU5USVRJRVMgRG9jQm9vayBYTUwgQWRkaXRpb25hbCBHZW5lcmFsIEVudGl0aWVzIFY0LjEuMi8vRU4iIHVyaT0iaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9kb2Nib29rL3htbC80LjEuMi9kYmdlbmVudC5tb2QiLz4KKzxwdWJsaWMgcHVibGljSWQ9Ii0vL09BU0lTLy9EVEQgRG9jQm9vayBYTUwgQ0FMUyBUYWJsZSBNb2RlbCBWNC4xLjIvL0VOIiB1cmk9Imh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvZG9jYm9vay94bWwvNC4xLjIvY2Fsc3RibHguZHRkIi8+Cis8cHVibGljIHB1YmxpY0lkPSItLy9PQVNJUy8vRFREIERvY0Jvb2sgTWF0aE1MIE1vZHVsZSBWMS4wLy9FTiIgdXJpPSJodHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL2RvY2Jvb2sveG1sL21hdGhtbC8xLjAvZGJtYXRobWwuZHRkIi8+Cis8bmV4dENhdGFsb2cgY2F0YWxvZz0ic3R5bGVzaGVldC54bWwiLz4KKzxyZXdyaXRlU3lzdGVtIHN5c3RlbUlkU3RhcnRTdHJpbmc9Imh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvZG9jYm9vay8iIHJld3JpdGVQcmVmaXg9Ii91c3Ivc2hhcmUveG1sL2RvY2Jvb2svIi8+Cis8L2NhdGFsb2c+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvY2RhdGEgYi9saWJ4bWwyL3Rlc3QvY2RhdGEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmQ4YzQ3NAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9jZGF0YQpAQCAtMCwwICsxLDMgQEAKKzxkb2M+Cis8IVtDREFUQVs8Z3JlZXRpbmc+SGVsbG8sIHdvcmxkITwvZ3JlZXRpbmc+XV0+Cis8L2RvYz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9jZGF0YTIgYi9saWJ4bWwyL3Rlc3QvY2RhdGEyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI0ZGI3OTEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvY2RhdGEyCkBAIC0wLDAgKzEsNiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxjb2xsZWN0aW9uPgorICA8dGVzdD48IVtDREFUQVsKKyAgICA8IVtDREFUQVthYmNdXV0+XSZndDs8IVtDREFUQVsKKyAgXV0+PC90ZXN0PgorPC9jb2xsZWN0aW9uPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2NvbW1lbnQueG1sIGIvbGlieG1sMi90ZXN0L2NvbW1lbnQueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk4YzVlZmYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvY29tbWVudC54bWwKQEAgLTAsMCArMSw2IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxkb2M+Cis8IS0tIGRvY3VtZW50IHN0YXJ0IC0tPgorPGVtcHR5Lz4KKzwhLS0gZG9jdW1lbnQgZW5kIC0tPgorPC9kb2M+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvY29tbWVudDIueG1sIGIvbGlieG1sMi90ZXN0L2NvbW1lbnQyLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZTEyMmVjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2NvbW1lbnQyLnhtbApAQCAtMCwwICsxLDYgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCEtLSBkb2N1bWVudCBzdGFydCAtLT4KKzxkb2M+Cis8ZW1wdHkvPgorPC9kb2M+Cis8IS0tIGRvY3VtZW50IGVuZCAtLT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9jb21tZW50My54bWwgYi9saWJ4bWwyL3Rlc3QvY29tbWVudDMueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM5NWY2N2MKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvY29tbWVudDMueG1sCkBAIC0wLDAgKzEsMTY0IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJJU08tODg1OS0xIj8+Cis8IS0tIHRlc3Qgb2YgdmVyeSB2ZXJ5IGxvbmcgY29tbWVudHMgYW5kIGJ1ZmZlciBsaW1pdHMKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CiswMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OQorMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkKKzAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5CistLT4KKzxkb2MvPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2NvbW1lbnQ0LnhtbCBiL2xpYnhtbDIvdGVzdC9jb21tZW50NC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTMyODJkOAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9jb21tZW50NC54bWwKQEAgLTAsMCArMSw1IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJJU08tODg1OS0xIj8+Cis8IS0tIHRlc3Qgb2Ygbm9uIGFzY2lpIGNvbW1lbnRzIGxpa2UgbOAgZXQgdHLocyAtLT4KKzwhLS3gIGFub3RoZXIgb25lIC0tPgorPCEtLSBhbm90aGVyIG9uZSDgLS0+Cis8ZG9jLz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9jb21tZW50NS54bWwgYi9saWJ4bWwyL3Rlc3QvY29tbWVudDUueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM5OGY5NzQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvY29tbWVudDUueG1sCkBAIC0wLDAgKzEsOSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/PgorPCEtLSB0ZXN0IG9mIGh5cGhlbiBhbmQgbGluZSBicmVhayBoYW5kbGluZworICAgICBzb21lIHRleHQgLSBpbnRlcnJ1cHRlZCAtCistIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtCisgICAgICAgICAgICAgICAgICAgICAgdGhpcyBzaG91bGQgc3RvcCBoZXJlXgorCisKKy0tPgorPGRvYy8+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvY29tbWVudDYueG1sIGIvbGlieG1sMi90ZXN0L2NvbW1lbnQ2LnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMTQ1MDBiCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2NvbW1lbnQ2LnhtbApAQCAtMCwwICsxLDEzIEBACis8IS0tDQorbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQNCitsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50IGxvbmcgY29tbWVudA0KK2xvbmcgY29tbWVudCBsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50DQorbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQNCitsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50IGxvbmcgY29tbWVudA0KK2xvbmcgY29tbWVudCBsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50DQorbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQgbG9uZyBjb21tZW50IGxvbmcgY29tbWVudCBsb25nIGNvbW1lbnQNCistLT4NCis8IURPQ1RZUEUgYSBbIA0KKzwhRUxFTUVOVCBhIEVNUFRZPiANCitdPg0KKzxhLz4NCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvZGF2MSBiL2xpYnhtbDIvdGVzdC9kYXYxCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNiZmQ0YzQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvZGF2MQpAQCAtMCwwICsxLDI1IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxEOm11bHRpc3RhdHVzIHhtbG5zOkQ9Imh0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8iIHhtbG5zOlI9Imh0dHA6Ly93d3cuZm9vLmJhci9ib3hzY2hlbWEiPgorICA8RDpyZXNwb25zZT4KKyAgICA8RDpwcm9wPgorICAgICAgPFI6YmlnYm94PgorICAgICAgICA8UjpCb3hUeXBlPkJveCB0eXBlIEE8L1I6Qm94VHlwZT4KKyAgICAgIDwvUjpiaWdib3g+CisgICAgICA8UjphdXRob3I+CisgICAgICAgIDxSOk5hbWU+Si5KLiBEaW5nbGVoZWltZXJzY2htaWR0PC9SOk5hbWU+CisgICAgICA8L1I6YXV0aG9yPgorICAgIDwvRDpwcm9wPgorICAgIDxEOnN0YXR1cz5IVFRQLzEuMSAyMDAgT0s8L0Q6c3RhdHVzPgorICA8L0Q6cmVzcG9uc2U+CisgIDxEOnJlc3BvbnNlPgorICAgIDxEOnByb3A+CisgICAgICA8UjpEaW5nQUxpbmcvPgorICAgICAgPFI6UmFuZG9tLz4KKyAgICA8L0Q6cHJvcD4KKyAgICA8RDpzdGF0dXM+SFRUUC8xLjEgNDAzIEZvcmJpZGRlbjwvRDpzdGF0dXM+CisgICAgPEQ6cmVzcG9uc2VkZXNjcmlwdGlvbj4gVGhlIHVzZXIgZG9lcyBub3QgaGF2ZSBhY2Nlc3MgdG8gdGhlIERpbmdBTGluZyBwcm9wZXJ0eS4KKyAgICAgIDwvRDpyZXNwb25zZWRlc2NyaXB0aW9uPgorICA8L0Q6cmVzcG9uc2U+CisgIDxEOnJlc3BvbnNlZGVzY3JpcHRpb24+IFRoZXJlIGhhcyBiZWVuIGFuIGFjY2VzcyB2aW9sYXRpb24gZXJyb3IuCisgPC9EOnJlc3BvbnNlZGVzY3JpcHRpb24+Cis8L0Q6bXVsdGlzdGF0dXM+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvZGF2MTAgYi9saWJ4bWwyL3Rlc3QvZGF2MTAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGIwMGRhNAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9kYXYxMApAQCAtMCwwICsxLDQgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPEQ6b3duZXIgeG1sbnM6RD0iaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LyI+CisgIDxEOmhyZWY+aHR0cDovL3d3dy5pY3MudWNpLmVkdS9+ZWp3L2NvbnRhY3QuaHRtbDwvRDpocmVmPgorPC9EOm93bmVyPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2RhdjExIGIvbGlieG1sMi90ZXN0L2RhdjExCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhhYzIzZDYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvZGF2MTEKQEAgLTAsMCArMSwyMSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8RDpwcm9wIHhtbG5zOkQ9Imh0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8iPgorICA8RDpsb2NrZGlzY292ZXJ5PgorICAgIDxEOmFjdGl2ZWxvY2s+CisgICAgICA8RDpsb2NrdHlwZT53cml0ZTwvRDpsb2NrdHlwZT4KKyAgICAgIDxEOmxvY2tzY29wZT5leGNsdXNpdmU8L0Q6bG9ja3Njb3BlPgorICAgICAgPEQ6YWRkbG9ja3MvPgorICAgICAgPEQ6b3duZXI+CisgICAgICAgIDxEOmhyZWY+CisJCWh0dHA6Ly93d3cuaWNzLnVjaS5lZHUvfmVqdy9jb250YWN0Lmh0bWwKKwkJPC9EOmhyZWY+CisgICAgICA8L0Q6b3duZXI+CisgICAgICA8RDp0aW1lb3V0PlNlY29uZC02MDQ4MDA8L0Q6dGltZW91dD4KKyAgICAgIDxEOmxvY2t0b2tlbj4KKyAgICAgICAgPEQ6aHJlZj4KKwkgICBvcGFxdWVsb2NrdG9rZW46eHl6MTIyMzkzNDgxMjMwOTEyYXNkZmEwOXM4ZGYwOXM3ZGYKKwkJPC9EOmhyZWY+CisgICAgICA8L0Q6bG9ja3Rva2VuPgorICAgIDwvRDphY3RpdmVsb2NrPgorICA8L0Q6bG9ja2Rpc2NvdmVyeT4KKzwvRDpwcm9wPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2RhdjEyIGIvbGlieG1sMi90ZXN0L2RhdjEyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ4ZDAzZmUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvZGF2MTIKQEAgLTAsMCArMSwyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxEOmhyZWYgeG1sbnM6RD0iaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LyI+aHR0cDovL3d3dy5pY3MudWNpLmVkdS9+ZWp3L2NvbnRhY3QuaHRtbDwvRDpocmVmPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2RhdjEzIGIvbGlieG1sMi90ZXN0L2RhdjEzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY0NGFlMzgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvZGF2MTMKQEAgLTAsMCArMSwxNiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8RDptdWx0aXN0YXR1cyB4bWxuczpEPSJodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvIj4KKyAgPEQ6cmVzcG9uc2U+CisgICAgPEQ6aHJlZj4KKwkgICBodHRwOi8vd2ViZGF2LnNiLmFvbC5jb20vd29ya3NwYWNlL3dlYmRhdi9wcm9wb3NhbC5kb2MKKyAgICAgIDwvRDpocmVmPgorICAgIDxEOmhyZWY+CisJICAgaHR0cDovL3dlYmRhdi5zYi5hb2wuY29tL3dvcmtzcGFjZS93ZWJkYXYvCisgICAgICA8L0Q6aHJlZj4KKyAgICA8RDpzdGF0dXM+SFRUUC8xLjEgMjAyIEFjY2VwdGVkPC9EOnN0YXR1cz4KKyAgPC9EOnJlc3BvbnNlPgorICA8RDpyZXNwb25zZT4KKyAgICA8RDpocmVmPmh0dHA6Ly9mb28uYmFyL2JsYWg8L0Q6aHJlZj4KKyAgICA8RDpzdGF0dXM+SFRUUC8xLjEgNDAzIEZvcmJpZGRlbjwvRDpzdGF0dXM+CisgIDwvRDpyZXNwb25zZT4KKzwvRDptdWx0aXN0YXR1cz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9kYXYxNSBiL2xpYnhtbDIvdGVzdC9kYXYxNQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iODA4MDJlCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2RhdjE1CkBAIC0wLDAgKzEsMjAgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPEQ6cHJvcCB4bWxuczpEPSJodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvIiB4bWxuczpGPSJodHRwOi8vd3d3LmZvb2NvcnAuY29tL1Byb2plY3QvIj4KKyAgPEQ6U291cmNlPgorICAgIDxEOmxpbms+CisgICAgICA8Rjpwcm9qZmlsZXM+U291cmNlPC9GOnByb2pmaWxlcz4KKyAgICAgIDxEOnNyYz5odHRwOi8vZm9vLmJhci9wcm9ncmFtPC9EOnNyYz4KKyAgICAgIDxEOmRzdD5odHRwOi8vZm9vLmJhci9zcmMvbWFpbi5jPC9EOmRzdD4KKyAgICA8L0Q6bGluaz4KKyAgICA8RDpsaW5rPgorICAgICAgPEY6cHJvamZpbGVzPkxpYnJhcnk8L0Y6cHJvamZpbGVzPgorICAgICAgPEQ6c3JjPmh0dHA6Ly9mb28uYmFyL3Byb2dyYW08L0Q6c3JjPgorICAgICAgPEQ6ZHN0Pmh0dHA6Ly9mb28uYmFyL3NyYy9tYWluLmxpYjwvRDpkc3Q+CisgICAgPC9EOmxpbms+CisgICAgPEQ6bGluaz4KKyAgICAgIDxGOnByb2pmaWxlcz5NYWtlZmlsZTwvRjpwcm9qZmlsZXM+CisgICAgICA8RDpzcmM+aHR0cDovL2Zvby5iYXIvcHJvZ3JhbTwvRDpzcmM+CisgICAgICA8RDpkc3Q+aHR0cDovL2Zvby5iYXIvc3JjL21ha2VmaWxlPC9EOmRzdD4KKyAgICA8L0Q6bGluaz4KKyAgPC9EOlNvdXJjZT4KKzwvRDpwcm9wPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2RhdjE2IGIvbGlieG1sMi90ZXN0L2RhdjE2Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlhN2RjMzYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvZGF2MTYKQEAgLTAsMCArMSw2IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxEOnByb3BmaW5kIHhtbG5zOkQ9Imh0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8iPgorICA8RDpwcm9wPgorICAgIDxsb2NrZGlzY292ZXJ5Lz4KKyAgPC9EOnByb3A+Cis8L0Q6cHJvcGZpbmQ+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvZGF2MTcgYi9saWJ4bWwyL3Rlc3QvZGF2MTcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTEzNzY2MgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9kYXYxNwpAQCAtMCwwICsxLDIyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxEOm11bHRpc3RhdHVzIHhtbG5zOkQ9Imh0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8iPgorICA8RDpyZXNwb25zZT4KKyAgICA8RDpwcm9wPgorICAgICAgPEQ6bG9ja2Rpc2NvdmVyeT4KKyAgICAgICAgPEQ6YWN0aXZlbG9jaz4KKyAgICAgICAgICA8RDpsb2NrdHlwZT53cml0ZTwvRDpsb2NrdHlwZT4KKyAgICAgICAgICA8RDpsb2Nrc2NvcGU+ZXhjbHVzaXZlPC9EOmxvY2tzY29wZT4KKyAgICAgICAgICA8RDphZGRsb2Nrcz4KKyAgICAgICAgICAgIDxEOmhyZWY+aHR0cDovL2Zvby5jb20vZG9jLzwvRDpocmVmPgorICAgICAgICAgIDwvRDphZGRsb2Nrcz4KKyAgICAgICAgICA8RDpvd25lcj5KYW5lIFNtaXRoPC9EOm93bmVyPgorICAgICAgICAgIDxEOnRpbWVvdXQ+SW5maW5pdGU8L0Q6dGltZW91dD4KKyAgICAgICAgICA8RDpsb2NrdG9rZW4+CisgICAgICAgICAgICA8RDpocmVmPmlhbXVyaTp1bmlxdWUhISEhITwvRDpocmVmPgorICAgICAgICAgIDwvRDpsb2NrdG9rZW4+CisgICAgICAgIDwvRDphY3RpdmVsb2NrPgorICAgICAgPC9EOmxvY2tkaXNjb3Zlcnk+CisgICAgPC9EOnByb3A+CisgICAgPEQ6c3RhdHVzPkhUVFAvMS4xIDIwMCBPSzwvRDpzdGF0dXM+CisgIDwvRDpyZXNwb25zZT4KKzwvRDptdWx0aXN0YXR1cz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9kYXYxOCBiL2xpYnhtbDIvdGVzdC9kYXYxOApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZGUxYzE5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2RhdjE4CkBAIC0wLDAgKzEsNiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8RDpwcm9wZmluZCB4bWxuczpEPSJodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvIj4KKyAgPEQ6cHJvcD4KKyAgICA8c3VwcG9ydGVkbG9jay8+CisgIDwvRDpwcm9wPgorPC9EOnByb3BmaW5kPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2RhdjE5IGIvbGlieG1sMi90ZXN0L2RhdjE5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk1MzVmZmMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvZGF2MTkKQEAgLTAsMCArMSwxOCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8RDptdWx0aXN0YXR1cyB4bWxuczpEPSJodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvIj4KKyAgPEQ6cmVzcG9uc2U+CisgICAgPEQ6cHJvcD4KKyAgICAgIDxEOnN1cHBvcnRlZGxvY2s+CisgICAgICAgIDxEOkxvY2tFbnRyeT4KKyAgICAgICAgICA8RDpsb2NrdHlwZT5Xcml0ZTwvRDpsb2NrdHlwZT4KKyAgICAgICAgICA8RDpsb2Nrc2NvcGU+RXhjbHVzaXZlPC9EOmxvY2tzY29wZT4KKyAgICAgICAgPC9EOkxvY2tFbnRyeT4KKyAgICAgICAgPEQ6TG9ja0VudHJ5PgorICAgICAgICAgIDxEOmxvY2t0eXBlPldyaXRlPC9EOmxvY2t0eXBlPgorICAgICAgICAgIDxEOmxvY2tzY29wZT5TaGFyZWQ8L0Q6bG9ja3Njb3BlPgorICAgICAgICA8L0Q6TG9ja0VudHJ5PgorICAgICAgPC9EOnN1cHBvcnRlZGxvY2s+CisgICAgPC9EOnByb3A+CisgICAgPEQ6c3RhdHVzPkhUVFAvMS4xIDIwMCBPSzwvRDpzdGF0dXM+CisgIDwvRDpyZXNwb25zZT4KKzwvRDptdWx0aXN0YXR1cz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9kYXYyIGIvbGlieG1sMi90ZXN0L2RhdjIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjgzMWI0YgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9kYXYyCkBAIC0wLDAgKzEsMjQgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPFM6bXVsdGlzdGF0dXMgeG1sbnM6Uz0iaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LyIgeG1sbnM6Uj0iaHR0cDovL3d3dy5mb28uYmFyL2JveHNjaGVtYS8iPgorICA8UzpyZXNwb25zZT4KKyAgICA8UzpocmVmPmh0dHA6Ly93d3cuZm9vLmJhci9jb250YWluZXIvPC9TOmhyZWY+CisgICAgPFM6cHJvcD4KKyAgICAgIDxSOmJpZ2JveD4KKyAgICAgICAgPFI6Qm94VHlwZT5Cb3ggdHlwZSBBPC9SOkJveFR5cGU+CisgICAgICA8L1I6YmlnYm94PgorICAgICAgPFI6YXV0aG9yPgorICAgICAgICA8UjpOYW1lPkhhZHJpYW48L1I6TmFtZT4KKyAgICAgIDwvUjphdXRob3I+CisgICAgPC9TOnByb3A+CisgICAgPFM6c3RhdHVzPkhUVFAgMS4xIDIwMCBPSzwvUzpzdGF0dXM+CisgIDwvUzpyZXNwb25zZT4KKyAgPFM6cmVzcG9uc2U+CisgICAgPFM6aHJlZj5odHRwOi8vd3d3LmZvby5iYXIvY29udGFpbmVyL2luZGV4Lmh0bWw8L1M6aHJlZj4KKyAgICA8Uzpwcm9wPgorICAgICAgPFI6YmlnYm94PgorICAgICAgICA8UjpCb3hUeXBlPkJveCB0eXBlIEI8L1I6Qm94VHlwZT4KKyAgICAgIDwvUjpiaWdib3g+CisgICAgPC9TOnByb3A+CisgICAgPFM6c3RhdHVzPkhUVFAgMS4xIDIwMCBPSzwvUzpzdGF0dXM+CisgIDwvUzpyZXNwb25zZT4KKzwvUzptdWx0aXN0YXR1cz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9kYXYzIGIvbGlieG1sMi90ZXN0L2RhdjMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTg2YjNmZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9kYXYzCkBAIC0wLDAgKzEsMTggQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPEQ6bXVsdGlzdGF0dXMgeG1sbnM6RD0iaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LyIgeG1sbnM6Uj0iaHR0cDovL3d3dy5mb28uYmFyL2JveHNjaGVtYS8iPgorICA8RDpyZXNwb25zZT4KKyAgICA8RDpocmVmPmh0dHA6Ly93d3cuZm9vLmJhci9jb250YWluZXIvPC9EOmhyZWY+CisgICAgPEQ6cHJvcD4KKyAgICAgIDxSOmJpZ2JveC8+CisgICAgICA8UjphdXRob3IvPgorICAgIDwvRDpwcm9wPgorICAgIDxEOnN0YXR1cz5IVFRQIDEuMSAyMDAgT0s8L0Q6c3RhdHVzPgorICA8L0Q6cmVzcG9uc2U+CisgIDxEOnJlc3BvbnNlPgorICAgIDxEOmhyZWY+aHR0cDovL3d3dy5mb28uYmFyL2NvbnRhaW5lci9pbmRleC5odG1sPC9EOmhyZWY+CisgICAgPEQ6cHJvcD4KKyAgICAgIDxSOmJpZ2JveC8+CisgICAgPC9EOnByb3A+CisgICAgPEQ6c3RhdHVzPkhUVFAgMS4xIDIwMCBPSzwvRDpzdGF0dXM+CisgIDwvRDpyZXNwb25zZT4KKzwvRDptdWx0aXN0YXR1cz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9kYXY0IGIvbGlieG1sMi90ZXN0L2RhdjQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWFiN2NlYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9kYXY0CkBAIC0wLDAgKzEsMTYgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPEQ6cHJvcGVydHl1cGRhdGUgeG1sbnM6RD0iaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LyIgeG1sbnM6Wj0iaHR0cDovL3d3dy53My5jb20vc3RhbmRhcmRzL3ozOS41MC8iPgorICA8RDpzZXQ+CisgICAgPEQ6cHJvcD4KKyAgICAgIDxaOmF1dGhvcnM+CisgICAgICAgIDxaOkF1dGhvcj5KaW0gV2hpdGVoZWFkPC9aOkF1dGhvcj4KKyAgICAgICAgPFo6QXV0aG9yPlJveSBGaWVsZGluZzwvWjpBdXRob3I+CisgICAgICA8L1o6YXV0aG9ycz4KKyAgICA8L0Q6cHJvcD4KKyAgPC9EOnNldD4KKyAgPEQ6cmVtb3ZlPgorICAgIDxEOnByb3A+CisgICAgICA8WjpDb3B5cmlnaHQtT3duZXIvPgorICAgIDwvRDpwcm9wPgorICA8L0Q6cmVtb3ZlPgorPC9EOnByb3BlcnR5dXBkYXRlPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2RhdjUgYi9saWJ4bWwyL3Rlc3QvZGF2NQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42OGViYWI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2RhdjUKQEAgLTAsMCArMSwxNyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8RDptdWx0aXN0YXR1cyB4bWxuczpEPSJodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvIiB4bWxuczpaPSJodHRwOi8vd3d3LnczLmNvbS9zdGFuZGFyZHMvejM5LjUwLyI+CisgIDxEOnJlc3BvbnNlPgorICAgIDxEOnByb3A+CisgICAgICA8WjpBdXRob3JzLz4KKyAgICA8L0Q6cHJvcD4KKyAgICA8RDpzdGF0dXM+SFRUUC8xLjEgNDIwIE1ldGhvZCBGYWlsdXJlPC9EOnN0YXR1cz4KKyAgPC9EOnJlc3BvbnNlPgorICA8RDpyZXNwb25zZT4KKyAgICA8RDpwcm9wPgorICAgICAgPFo6Q29weXJpZ2h0LU93bmVyLz4KKyAgICA8L0Q6cHJvcD4KKyAgICA8RDpzdGF0dXM+SFRUUC8xLjEgNDA5IENvbmZsaWN0PC9EOnN0YXR1cz4KKyAgPC9EOnJlc3BvbnNlPgorICA8RDpyZXNwb25zZWRlc2NyaXB0aW9uPiBDb3B5cmlnaHQgT3duZXIgY2FuIG5vdCBiZSBkZWxldGVkIG9yCithbHRlcmVkLjwvRDpyZXNwb25zZWRlc2NyaXB0aW9uPgorPC9EOm11bHRpc3RhdHVzPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2RhdjYgYi9saWJ4bWwyL3Rlc3QvZGF2NgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZDBkZTI0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2RhdjYKQEAgLTAsMCArMSwyMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8RDptdWx0aXN0YXR1cyB4bWxuczpEPSJodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvIj4KKyAgPEQ6cmVzcG9uc2U+CisgICAgPEQ6aHJlZj5odHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vdXNlci95YXJvbmcvZGF2X2RyYWZ0cy8KKyAgICAgIDwvRDpocmVmPgorICAgIDxEOnByb3A+CisgICAgICA8RDpyZXNvdXJjZXR5cGU+CisgICAgICAgIDxEOmNvbGxlY3Rpb24vPgorICAgICAgPC9EOnJlc291cmNldHlwZT4KKyAgICA8L0Q6cHJvcD4KKyAgICA8RDpzdGF0dXM+SFRUUCAxLjEgMjAwIE9LPC9EOnN0YXR1cz4KKyAgPC9EOnJlc3BvbnNlPgorICA8RDpyZXNwb25zZT4KKyAgICA8RDpocmVmPgorICAgICAgaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3VzZXIveWFyb25nL2Rhdl9kcmFmdHMvYmFzZQorICAgICAgPC9EOmhyZWY+CisgICAgPEQ6cHJvcD4KKyAgICAgIDxEOnJlc291cmNldHlwZS8+CisgICAgPC9EOnByb3A+CisgICAgPEQ6c3RhdHVzPkhUVFAgMS4xIDIwMCBPSzwvRDpzdGF0dXM+CisgIDwvRDpyZXNwb25zZT4KKzwvRDptdWx0aXN0YXR1cz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9kYXY3IGIvbGlieG1sMi90ZXN0L2RhdjcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWM0YTk1MgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9kYXY3CkBAIC0wLDAgKzEsMTYgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPGQ6bXVsdGlzdGF0dXMgeG1sbnM6ZD0iaHR0cDovL3d3dy5pZXRmLm9yZy9zdGFuZGFyZHMvZGF2LyI+CisgIDxkOnJlc3BvbnNlPgorICAgIDxkOmhyZWY+aHR0cDovL3d3dy5mb28uYmFyL2NvbnRhaW5lci9yZXNvdXJjZTE8L2Q6aHJlZj4KKyAgICA8ZDpocmVmPmh0dHA6Ly93d3cuZm9vLmJhci9jb250YWluZXIvcmVzb3VyY2UyPC9kOmhyZWY+CisgICAgPGQ6c3RhdHVzPkhUVFAvMS4xIDIwMCBPSzwvZDpzdGF0dXM+CisgIDwvZDpyZXNwb25zZT4KKyAgPGQ6cmVzcG9uc2U+CisgICAgPGQ6aHJlZj5odHRwOi8vd3d3LmZvby5iYXIvY29udGFpbmVyLzwvZDpocmVmPgorICAgIDxkOnN0YXR1cz5IVFRQLzEuMSA0MjAgTWV0aG9kIEZhaWx1cmU8L2Q6c3RhdHVzPgorICA8L2Q6cmVzcG9uc2U+CisgIDxkOnJlc3BvbnNlPgorICAgIDxkOmhyZWY+aHR0cDovL3d3dy5mb28uYmFyL2NvbnRhaW5lci9yZXNvdXJjZTM8L2Q6aHJlZj4KKyAgICA8ZDpzdGF0dXM+SFRUUC8xLjEgNDEyIFByZWNvbmRpdGlvbiBGYWlsZWQ8L2Q6c3RhdHVzPgorICA8L2Q6cmVzcG9uc2U+Cis8L2Q6bXVsdGlzdGF0dXM+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvZGF2OCBiL2xpYnhtbDIvdGVzdC9kYXY4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdmOTliYWYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvZGF2OApAQCAtMCwwICsxLDE0IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxkOm11bHRpc3RhdHVzIHhtbG5zOmQ9Imh0dHA6Ly93d3cuaWV0Zi5vcmcvc3RhbmRhcmRzL2Rhdi8iPgorICA8ZDpyZXNwb25zZT4KKyAgICA8ZDpocmVmPmh0dHA6Ly93d3cuZm9vLmJhci9vdGhlcmNvbnRhaW5lci9yZXNvdXJjZTE8L2Q6aHJlZj4KKyAgICA8ZDpocmVmPmh0dHA6Ly93d3cuZm9vLmJhci9vdGhlcmNvbnRhaW5lci9yZXNvdXJjZTI8L2Q6aHJlZj4KKyAgICA8ZDpocmVmPmh0dHA6Ly93d3cuZm9vLmJhci9vdGhlcmNvbnRhaW5lci88L2Q6aHJlZj4KKyAgICA8ZDpocmVmPmh0dHA6Ly93d3cuZm9vLmJhci9vdGhlcmNvbnRhaW5lci9SMi9EMjwvZDpocmVmPgorICAgIDxkOnN0YXR1cz5IVFRQLzEuMSAyMDEgQ3JlYXRlZDwvZDpzdGF0dXM+CisgIDwvZDpyZXNwb25zZT4KKyAgPGQ6cmVzcG9uc2U+CisgICAgPGQ6aHJlZj5odHRwOi8vd3d3LmZvby5iYXIvb3RoZXJjb250YWluZXIvUjIvPC9kOmhyZWY+CisgICAgPGQ6c3RhdHVzPkhUVFAvMS4xIDQxMiBQcmVjb25kaXRpb24gRmFpbGVkPC9kOnN0YXR1cz4KKyAgPC9kOnJlc3BvbnNlPgorPC9kOm11bHRpc3RhdHVzPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2RhdjkgYi9saWJ4bWwyL3Rlc3QvZGF2OQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZWQ2M2I4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2RhdjkKQEAgLTAsMCArMSwxOCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8ZDptdWx0aXN0YXR1cyB4bWxuczpkPSJodHRwOi8vd3d3LmlldGYub3JnL3N0YW5kYXJkcy9kYXYvIj4KKyAgPGQ6cmVzcG9uc2U+CisgICAgPGQ6aHJlZj5odHRwOi8vd3d3LmZvby5iYXIvY29udGFpbmVyL3Jlc291cmNlMTwvZDpocmVmPgorICAgIDxkOmhyZWY+aHR0cDovL3d3dy5mb28uYmFyL2NvbnRhaW5lci9yZXNvdXJjZTI8L2Q6aHJlZj4KKyAgICA8ZDpocmVmPmh0dHA6Ly93d3cuZm9vLmJhci9jb250YWluZXIvPC9kOmhyZWY+CisgICAgPGQ6aHJlZj5odHRwOi8vd3d3LmZvby5iYXIvY29udGFpbmVyL0MyL1IyPC9kOmhyZWY+CisgICAgPGQ6c3RhdHVzPkhUVFAvMS4xIDIwMSBDcmVhdGVkPC9kOnN0YXR1cz4KKyAgPC9kOnJlc3BvbnNlPgorICA8ZDpyZXNwb25zZT4KKyAgICA8ZDpocmVmPmh0dHA6Ly93d3cuZm9vLmJhci9jb250YWluZXIvQzI8L2Q6aHJlZj4KKyAgICA8ZDpzdGF0dXM+SFRUUC8xLjEgNDIwIE1ldGhvZCBGYWlsdXJlPC9kOnN0YXR1cz4KKyAgPC9kOnJlc3BvbnNlPgorICA8ZDpyZXNwb25zZT4KKyAgICA8ZDpocmVmPmh0dHA6Ly93d3cuZm9vLmJhci9vdGhlcmNvbnRhaW5lci9DMjwvZDpocmVmPgorICAgIDxkOnN0YXR1cz5IVFRQLzEuMSA0MDkgQ29uZmxpY3Q8L2Q6c3RhdHVzPgorICA8L2Q6cmVzcG9uc2U+Cis8L2Q6bXVsdGlzdGF0dXM+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvZGVmYXR0ci54bWwgYi9saWJ4bWwyL3Rlc3QvZGVmYXR0ci54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2YxNmE1MAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9kZWZhdHRyLnhtbApAQCAtMCwwICsxLDYgQEAKKzwhRE9DVFlQRSBkb2MgWworPCFFTEVNRU5UIGRvYyBFTVBUWT4KKzwhQVRUTElTVCBkb2MKKyAgICAgeG1sbnMgQ0RBVEEgI0ZJWEVEICJodHRwOi8vd3d3LmV4YW1wbGUuY29tLyI+CitdPgorPGRvYy8+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvZGVmYXR0cjIueG1sIGIvbGlieG1sMi90ZXN0L2RlZmF0dHIyLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYjUwNzA5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2RlZmF0dHIyLnhtbApAQCAtMCwwICsxLDggQEAKKzwhRE9DVFlQRSBkb2MgWworPCFFTEVNRU5UIGRvYyBFTVBUWT4KKzwhQVRUTElTVCBkb2MKKyAgICAgZGVmYXR0ICAoMHwxKSAgICIwIgorICAgICB4bWxuczp0c3QgQ0RBVEEgI0ZJWEVEICJodHRwOi8vZXhhbXBsZS5vcmciCisgICAgIHRzdDphdHQgKDB8MSkgICAiMSI+CitdPgorPGRvYyBhdHQ9IjEiLz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9kaWExIGIvbGlieG1sMi90ZXN0L2RpYTEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjA3YmQ3MwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9kaWExCkBAIC0wLDAgKzEsOTkgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPGRpYTpkaWFncmFtIHhtbG5zOmRpYT0iaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvIj4KKyAgPGRpYTpkaWFncmFtZGF0YT4KKyAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJiYWNrZ3JvdW5kIj4KKyAgICAgIDxkaWE6Y29sb3IgdmFsPSIjZmZmZmZmIi8+CisgICAgPC9kaWE6YXR0cmlidXRlPgorICA8L2RpYTpkaWFncmFtZGF0YT4KKyAgPGRpYTpsYXllciBuYW1lPSJCYWNrZ3JvdW5kIiB2aXNpYmxlPSJ0cnVlIj4KKyAgICA8ZGlhOm9iamVjdCB0eXBlPSJTdGFuZGFyZCAtIExpbmUiIHZlcnNpb249IjAiIGlkPSJPMCI+CisgICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJvYmpfcG9zIj4KKyAgICAgICAgPGRpYTpwb2ludCB2YWw9IjEuOTUsNi44NSIvPgorICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0ib2JqX2JiIj4KKyAgICAgICAgPGRpYTpyZWN0YW5nbGUgdmFsPSIxLjksNi44OzExLDguNTUiLz4KKyAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9ImNvbm5fZW5kcG9pbnRzIj4KKyAgICAgICAgPGRpYTpwb2ludCB2YWw9IjEuOTUsNi44NSIvPgorICAgICAgICA8ZGlhOnBvaW50IHZhbD0iMTAuOTUsOC41Ii8+CisgICAgICA8L2RpYTphdHRyaWJ1dGU+CisgICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJsaW5lX2NvbG9yIj4KKyAgICAgICAgPGRpYTpjb2xvciB2YWw9IiMwMDAwMDAiLz4KKyAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9ImxpbmVfd2lkdGgiPgorICAgICAgICA8ZGlhOnJlYWwgdmFsPSIwLjEiLz4KKyAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9ImxpbmVfc3R5bGUiPgorICAgICAgICA8ZGlhOmVudW0gdmFsPSIwIi8+CisgICAgICA8L2RpYTphdHRyaWJ1dGU+CisgICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJzdGFydF9hcnJvdyI+CisgICAgICAgIDxkaWE6ZW51bSB2YWw9IjAiLz4KKyAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9ImVuZF9hcnJvdyI+CisgICAgICAgIDxkaWE6ZW51bSB2YWw9IjAiLz4KKyAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgIDxkaWE6Y29ubmVjdGlvbnM+CisgICAgICAgIDxkaWE6Y29ubmVjdGlvbiBoYW5kbGU9IjEiIHRvPSJPMiIgY29ubmVjdGlvbj0iMyIvPgorICAgICAgPC9kaWE6Y29ubmVjdGlvbnM+CisgICAgPC9kaWE6b2JqZWN0PgorICAgIDxkaWE6b2JqZWN0IHR5cGU9IlN0YW5kYXJkIC0gVGV4dCIgdmVyc2lvbj0iMCIgaWQ9Ik8xIj4KKyAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9Im9ial9wb3MiPgorICAgICAgICA8ZGlhOnBvaW50IHZhbD0iNC44LDQuNzUiLz4KKyAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9Im9ial9iYiI+CisgICAgICAgIDxkaWE6cmVjdGFuZ2xlIHZhbD0iMi41NzksMy45NjM1OTs3LjAyMSw0Ljk2MzU5Ii8+CisgICAgICA8L2RpYTphdHRyaWJ1dGU+CisgICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJ0ZXh0Ij4KKyAgICAgICAgPGRpYTpjb21wb3NpdGUgdHlwZT0idGV4dCI+CisgICAgICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0ic3RyaW5nIj4KKyAgICAgICAgICAgIDxkaWE6c3RyaW5nIHZhbD0ic2Rmc2RmZyIvPgorICAgICAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJmb250Ij4KKyAgICAgICAgICAgIDxkaWE6Zm9udCBuYW1lPSJDb3VyaWVyIi8+CisgICAgICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgICAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9ImhlaWdodCI+CisgICAgICAgICAgICA8ZGlhOnJlYWwgdmFsPSIxIi8+CisgICAgICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgICAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9InBvcyI+CisgICAgICAgICAgICA8ZGlhOnBvaW50IHZhbD0iNC44LDQuNzUiLz4KKyAgICAgICAgICA8L2RpYTphdHRyaWJ1dGU+CisgICAgICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0iY29sb3IiPgorICAgICAgICAgICAgPGRpYTpjb2xvciB2YWw9IiMwMDAwMDAiLz4KKyAgICAgICAgICA8L2RpYTphdHRyaWJ1dGU+CisgICAgICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0iYWxpZ25tZW50Ij4KKyAgICAgICAgICAgIDxkaWE6ZW51bSB2YWw9IjEiLz4KKyAgICAgICAgICA8L2RpYTphdHRyaWJ1dGU+CisgICAgICAgIDwvZGlhOmNvbXBvc2l0ZT4KKyAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICA8L2RpYTpvYmplY3Q+CisgICAgPGRpYTpvYmplY3QgdHlwZT0iU3RhbmRhcmQgLSBCb3giIHZlcnNpb249IjAiIGlkPSJPMiI+CisgICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJvYmpfcG9zIj4KKyAgICAgICAgPGRpYTpwb2ludCB2YWw9IjEwLjk1LDcuNSIvPgorICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0ib2JqX2JiIj4KKyAgICAgICAgPGRpYTpyZWN0YW5nbGUgdmFsPSIxMC45LDcuNDU7MTMuMDUsOS41NSIvPgorICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0iZWxlbV9jb3JuZXIiPgorICAgICAgICA8ZGlhOnBvaW50IHZhbD0iMTAuOTUsNy41Ii8+CisgICAgICA8L2RpYTphdHRyaWJ1dGU+CisgICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJlbGVtX3dpZHRoIj4KKyAgICAgICAgPGRpYTpyZWFsIHZhbD0iMi4wNSIvPgorICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0iZWxlbV9oZWlnaHQiPgorICAgICAgICA8ZGlhOnJlYWwgdmFsPSIyIi8+CisgICAgICA8L2RpYTphdHRyaWJ1dGU+CisgICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJib3JkZXJfd2lkdGgiPgorICAgICAgICA8ZGlhOnJlYWwgdmFsPSIwLjEiLz4KKyAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9ImJvcmRlcl9jb2xvciI+CisgICAgICAgIDxkaWE6Y29sb3IgdmFsPSIjMDAwMDAwIi8+CisgICAgICA8L2RpYTphdHRyaWJ1dGU+CisgICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJpbm5lcl9jb2xvciI+CisgICAgICAgIDxkaWE6Y29sb3IgdmFsPSIjZmZmZmZmIi8+CisgICAgICA8L2RpYTphdHRyaWJ1dGU+CisgICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJsaW5lX3N0eWxlIj4KKyAgICAgICAgPGRpYTplbnVtIHZhbD0iMCIvPgorICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgIDwvZGlhOm9iamVjdD4KKyAgPC9kaWE6bGF5ZXI+Cis8L2RpYTpkaWFncmFtPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2RpYTIgYi9saWJ4bWwyL3Rlc3QvZGlhMgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMDdiZDczCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2RpYTIKQEAgLTAsMCArMSw5OSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8ZGlhOmRpYWdyYW0geG1sbnM6ZGlhPSJodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35hbGxhL2RpYS8iPgorICA8ZGlhOmRpYWdyYW1kYXRhPgorICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9ImJhY2tncm91bmQiPgorICAgICAgPGRpYTpjb2xvciB2YWw9IiNmZmZmZmYiLz4KKyAgICA8L2RpYTphdHRyaWJ1dGU+CisgIDwvZGlhOmRpYWdyYW1kYXRhPgorICA8ZGlhOmxheWVyIG5hbWU9IkJhY2tncm91bmQiIHZpc2libGU9InRydWUiPgorICAgIDxkaWE6b2JqZWN0IHR5cGU9IlN0YW5kYXJkIC0gTGluZSIgdmVyc2lvbj0iMCIgaWQ9Ik8wIj4KKyAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9Im9ial9wb3MiPgorICAgICAgICA8ZGlhOnBvaW50IHZhbD0iMS45NSw2Ljg1Ii8+CisgICAgICA8L2RpYTphdHRyaWJ1dGU+CisgICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJvYmpfYmIiPgorICAgICAgICA8ZGlhOnJlY3RhbmdsZSB2YWw9IjEuOSw2Ljg7MTEsOC41NSIvPgorICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0iY29ubl9lbmRwb2ludHMiPgorICAgICAgICA8ZGlhOnBvaW50IHZhbD0iMS45NSw2Ljg1Ii8+CisgICAgICAgIDxkaWE6cG9pbnQgdmFsPSIxMC45NSw4LjUiLz4KKyAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9ImxpbmVfY29sb3IiPgorICAgICAgICA8ZGlhOmNvbG9yIHZhbD0iIzAwMDAwMCIvPgorICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0ibGluZV93aWR0aCI+CisgICAgICAgIDxkaWE6cmVhbCB2YWw9IjAuMSIvPgorICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0ibGluZV9zdHlsZSI+CisgICAgICAgIDxkaWE6ZW51bSB2YWw9IjAiLz4KKyAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9InN0YXJ0X2Fycm93Ij4KKyAgICAgICAgPGRpYTplbnVtIHZhbD0iMCIvPgorICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0iZW5kX2Fycm93Ij4KKyAgICAgICAgPGRpYTplbnVtIHZhbD0iMCIvPgorICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgICAgPGRpYTpjb25uZWN0aW9ucz4KKyAgICAgICAgPGRpYTpjb25uZWN0aW9uIGhhbmRsZT0iMSIgdG89Ik8yIiBjb25uZWN0aW9uPSIzIi8+CisgICAgICA8L2RpYTpjb25uZWN0aW9ucz4KKyAgICA8L2RpYTpvYmplY3Q+CisgICAgPGRpYTpvYmplY3QgdHlwZT0iU3RhbmRhcmQgLSBUZXh0IiB2ZXJzaW9uPSIwIiBpZD0iTzEiPgorICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0ib2JqX3BvcyI+CisgICAgICAgIDxkaWE6cG9pbnQgdmFsPSI0LjgsNC43NSIvPgorICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0ib2JqX2JiIj4KKyAgICAgICAgPGRpYTpyZWN0YW5nbGUgdmFsPSIyLjU3OSwzLjk2MzU5OzcuMDIxLDQuOTYzNTkiLz4KKyAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9InRleHQiPgorICAgICAgICA8ZGlhOmNvbXBvc2l0ZSB0eXBlPSJ0ZXh0Ij4KKyAgICAgICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJzdHJpbmciPgorICAgICAgICAgICAgPGRpYTpzdHJpbmcgdmFsPSJzZGZzZGZnIi8+CisgICAgICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgICAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9ImZvbnQiPgorICAgICAgICAgICAgPGRpYTpmb250IG5hbWU9IkNvdXJpZXIiLz4KKyAgICAgICAgICA8L2RpYTphdHRyaWJ1dGU+CisgICAgICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0iaGVpZ2h0Ij4KKyAgICAgICAgICAgIDxkaWE6cmVhbCB2YWw9IjEiLz4KKyAgICAgICAgICA8L2RpYTphdHRyaWJ1dGU+CisgICAgICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0icG9zIj4KKyAgICAgICAgICAgIDxkaWE6cG9pbnQgdmFsPSI0LjgsNC43NSIvPgorICAgICAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJjb2xvciI+CisgICAgICAgICAgICA8ZGlhOmNvbG9yIHZhbD0iIzAwMDAwMCIvPgorICAgICAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJhbGlnbm1lbnQiPgorICAgICAgICAgICAgPGRpYTplbnVtIHZhbD0iMSIvPgorICAgICAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgICAgPC9kaWE6Y29tcG9zaXRlPgorICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgIDwvZGlhOm9iamVjdD4KKyAgICA8ZGlhOm9iamVjdCB0eXBlPSJTdGFuZGFyZCAtIEJveCIgdmVyc2lvbj0iMCIgaWQ9Ik8yIj4KKyAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9Im9ial9wb3MiPgorICAgICAgICA8ZGlhOnBvaW50IHZhbD0iMTAuOTUsNy41Ii8+CisgICAgICA8L2RpYTphdHRyaWJ1dGU+CisgICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJvYmpfYmIiPgorICAgICAgICA8ZGlhOnJlY3RhbmdsZSB2YWw9IjEwLjksNy40NTsxMy4wNSw5LjU1Ii8+CisgICAgICA8L2RpYTphdHRyaWJ1dGU+CisgICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJlbGVtX2Nvcm5lciI+CisgICAgICAgIDxkaWE6cG9pbnQgdmFsPSIxMC45NSw3LjUiLz4KKyAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9ImVsZW1fd2lkdGgiPgorICAgICAgICA8ZGlhOnJlYWwgdmFsPSIyLjA1Ii8+CisgICAgICA8L2RpYTphdHRyaWJ1dGU+CisgICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJlbGVtX2hlaWdodCI+CisgICAgICAgIDxkaWE6cmVhbCB2YWw9IjIiLz4KKyAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9ImJvcmRlcl93aWR0aCI+CisgICAgICAgIDxkaWE6cmVhbCB2YWw9IjAuMSIvPgorICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0iYm9yZGVyX2NvbG9yIj4KKyAgICAgICAgPGRpYTpjb2xvciB2YWw9IiMwMDAwMDAiLz4KKyAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9ImlubmVyX2NvbG9yIj4KKyAgICAgICAgPGRpYTpjb2xvciB2YWw9IiNmZmZmZmYiLz4KKyAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9ImxpbmVfc3R5bGUiPgorICAgICAgICA8ZGlhOmVudW0gdmFsPSIwIi8+CisgICAgICA8L2RpYTphdHRyaWJ1dGU+CisgICAgPC9kaWE6b2JqZWN0PgorICA8L2RpYTpsYXllcj4KKzwvZGlhOmRpYWdyYW0+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvZHRkMSBiL2xpYnhtbDIvdGVzdC9kdGQxCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM1YzlkYzcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvZHRkMQpAQCAtMCwwICsxLDUgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCFET0NUWVBFIE1FTU8gUFVCTElDICItLy9TR01MU09VUkNFLy9EVEQgTUVNTy8vRU4iIAorICAgICAgICAgICAgICAgICAgICAgICJodHRwOi8vd3d3LnNnbWxzb3VyY2UuY29tL2R0ZHMvbWVtby5kdGQiPgorPE1FTU8+Cis8L01FTU8+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvZHRkMTAgYi9saWJ4bWwyL3Rlc3QvZHRkMTAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjVlNDllNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9kdGQxMApAQCAtMCwwICsxLDggQEAKKzwhRE9DVFlQRSBkb2MgWworPCFFTEVNRU5UIGRvYyAoKGEgfCBiKSsgLCBjICwgIGQpKj4KKzwhRUxFTUVOVCBhICgjUENEQVRBKT4KKzwhRUxFTUVOVCBiICgjUENEQVRBKT4KKzwhRUxFTUVOVCBjICgjUENEQVRBKT4KKzwhRUxFTUVOVCBkICgjUENEQVRBKT4KK10+Cis8ZG9jPjxiPlRoaXM8L2I+PGM+IGlzIGE8L2M+PGQ+IHZhbGlkIGRvY3VtZW50PC9kPjwvZG9jPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2R0ZDExIGIvbGlieG1sMi90ZXN0L2R0ZDExCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJkZDUxMmIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvZHRkMTEKQEAgLTAsMCArMSw1IEBACis8IURPQ1RZUEUgZG9jIFsKKzwhRUxFTUVOVCBkb2MgKCNQQ0RBVEEpPgorPCFBVFRMSVNUIGRvYyB2YWwgQ0RBVEEgI0lNUExJRUQ+CitdPgorPGRvYyB2YWw9InYxIi8+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvZHRkMTIgYi9saWJ4bWwyL3Rlc3QvZHRkMTIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTBmYmYyMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9kdGQxMgpAQCAtMCwwICsxLDUgQEAKKzwhRE9DVFlQRSBkb2MgWworPCFFTlRJVFkgWU4gJyJZZXMiJyA+Cis8IUVOVElUWSBXaGF0SGVTYWlkICJIZSBzYWlkICZZTjsiID4KK10+Cis8ZG9jPiZXaGF0SGVTYWlkOzwvZG9jPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2R0ZDEzIGIvbGlieG1sMi90ZXN0L2R0ZDEzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQxOGQwMGMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvZHRkMTMKQEAgLTAsMCArMSw2IEBACis8IS0tIGNvbW1lbnQgYmVmb3JlIHRoZSBEVEQgLS0+Cis8IURPQ1RZUEUgZG9jIFsKKzwhRUxFTUVOVCBkb2MgQU5ZPgorXT4KKzwhLS0gY29tbWVudCBhZnRlciB0aGUgRFREIC0tPgorPGRvYy8+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvZHRkMiBiL2xpYnhtbDIvdGVzdC9kdGQyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNiY2MxMDEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvZHRkMgpAQCAtMCwwICsxLDQgQEAKKzwhRE9DVFlQRSBkb2MgWworPCFFTEVNRU5UIGRvYyAoI1BDREFUQSk+CitdPgorPGRvYz5UaGlzIGlzIGEgdmFsaWQgZG9jdW1lbnQgITwvZG9jPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2R0ZDMgYi9saWJ4bWwyL3Rlc3QvZHRkMwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42M2Y0NGE1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2R0ZDMKQEAgLTAsMCArMSw1IEBACis8IURPQ1RZUEUgZG9jIFsKKzwhRUxFTUVOVCBkb2MgQU5ZPgorXT4KKzxkb2M+VGhpcyBpcyBhIHZhbGlkIGRvY3VtZW50ICE8L2RvYz4KKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2R0ZDQgYi9saWJ4bWwyL3Rlc3QvZHRkNApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NDU3YjkxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2R0ZDQKQEAgLTAsMCArMSw0IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhRE9DVFlQRSBkb2MgWworPCFFTEVNRU5UIGRvYyBFTVBUWT5dPgorPGRvYy8+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvZHRkNSBiL2xpYnhtbDIvdGVzdC9kdGQ1Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEzMzg4OWIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvZHRkNQpAQCAtMCwwICsxLDYgQEAKKzwhRE9DVFlQRSBkb2MgWworPCFFTEVNRU5UIGRvYyAoI1BDREFUQSB8IGEgfCBiKSo+Cis8IUVMRU1FTlQgYSAoI1BDREFUQSk+Cis8IUVMRU1FTlQgYiAoI1BDREFUQSk+CitdPgorPGRvYz48YT5UaGlzPC9hPiBpcyBhIDxiPnZhbGlkPC9iPiBkb2N1bWVudDwvZG9jPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2R0ZDYgYi9saWJ4bWwyL3Rlc3QvZHRkNgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNWU2M2ZjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2R0ZDYKQEAgLTAsMCArMSw2IEBACis8IURPQ1RZUEUgZG9jIFsKKzwhRUxFTUVOVCBkb2MgKGEgfCBiKSo+Cis8IUVMRU1FTlQgYSAoI1BDREFUQSk+Cis8IUVMRU1FTlQgYiAoI1BDREFUQSk+CitdPgorPGRvYz48YT5UaGlzPC9hPjxiPiBpcyBhIHZhbGlkPC9iPjxhPiBkb2N1bWVudDwvYT48L2RvYz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9kdGQ3IGIvbGlieG1sMi90ZXN0L2R0ZDcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjE1MWMyMQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9kdGQ3CkBAIC0wLDAgKzEsNiBAQAorPCFET0NUWVBFIGRvYyBbCis8IUVMRU1FTlQgZG9jIChhICwgYikqPgorPCFFTEVNRU5UIGEgKCNQQ0RBVEEpPgorPCFFTEVNRU5UIGIgKCNQQ0RBVEEpPgorXT4KKzxkb2M+PGE+VGhpczwvYT48Yj4gaXMgYSB2YWxpZCBkb2N1bWVudDwvYj48L2RvYz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9kdGQ4IGIvbGlieG1sMi90ZXN0L2R0ZDgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2U3YTI5MQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9kdGQ4CkBAIC0wLDAgKzEsOCBAQAorPCFET0NUWVBFIGRvYyBbCis8IUVMRU1FTlQgZG9jICgoYSB8IGIpICwgKGMgfCBkKSkrPgorPCFFTEVNRU5UIGEgKCNQQ0RBVEEpPgorPCFFTEVNRU5UIGIgKCNQQ0RBVEEpPgorPCFFTEVNRU5UIGMgKCNQQ0RBVEEpPgorPCFFTEVNRU5UIGQgKCNQQ0RBVEEpPgorXT4KKzxkb2M+PGI+VGhpczwvYj48Yz4gaXMgYSB2YWxpZCBkb2N1bWVudDwvYz48L2RvYz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9kdGQ5IGIvbGlieG1sMi90ZXN0L2R0ZDkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTQ0YjhjNQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9kdGQ5CkBAIC0wLDAgKzEsOCBAQAorPCFET0NUWVBFIGRvYyBbCis8IUVMRU1FTlQgZG9jICgoYSB8IGIgfCBjKSAsIGQpPz4KKzwhRUxFTUVOVCBhICgjUENEQVRBKT4KKzwhRUxFTUVOVCBiICgjUENEQVRBKT4KKzwhRUxFTUVOVCBjICgjUENEQVRBKT4KKzwhRUxFTUVOVCBkICgjUENEQVRBKT4KK10+Cis8ZG9jPjxiPlRoaXM8L2I+PGQ+IGlzIGEgdmFsaWQgZG9jdW1lbnQ8L2Q+PC9kb2M+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvZHRkcy9ldmUuZHRkIGIvbGlieG1sMi90ZXN0L2R0ZHMvZXZlLmR0ZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMWZjODgzCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2R0ZHMvZXZlLmR0ZApAQCAtMCwwICsxLDQgQEAKKzwhRU5USVRZICUgbG9jYWwucC5jbGFzcyAgICAgICAgIiI+Cis8IUVOVElUWSAlIHAuY2xhc3MgICAgICAgICAgICAgICJwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICVsb2NhbC5wLmNsYXNzOyI+CisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9lYmNkaWNfNTY2MDEyLnhtbCBiL2xpYnhtbDIvdGVzdC9lYmNkaWNfNTY2MDEyLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wOWI0ZTdiCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2ViY2RpY181NjYwMTIueG1sCkBAIC0wLDAgKzEgQEAKK0xvp5STQKWFmaKJlpV+f/FL8H9AhZWDloSJlYd+f8nC1GDx8fTxf0BvbiVMo4Wio0CBo6OZfn9K4Fp/QGFuJQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9lbXB0eWNkYXRhLnhtbCBiL2xpYnhtbDIvdGVzdC9lbXB0eWNkYXRhLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYzk4Mzg4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2VtcHR5Y2RhdGEueG1sCkBAIC0wLDAgKzEsNCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+Cis8IVtDREFUQVtdXT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9lbnQxIGIvbGlieG1sMi90ZXN0L2VudDEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2UyNDc1NgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9lbnQxCkBAIC0wLDAgKzEsNyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IURPQ1RZUEUgRVhBTVBMRSBTWVNURU0gImV4YW1wbGUuZHRkIiBbCis8IUVOVElUWSB4bWwgIkV4dGVuc2libGUgTWFya3VwIExhbmd1YWdlIj4KK10+Cis8RVhBTVBMRT4KKyAgICAmeG1sOworPC9FWEFNUExFPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2VudDEwIGIvbGlieG1sMi90ZXN0L2VudDEwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ3NzhkODkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvZW50MTAKQEAgLTAsMCArMSwyMSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSIgPz4KKzwhRE9DVFlQRSBybm9kZSBbCis8IUVMRU1FTlQgcm5vZGUgKGYpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKzwhRUxFTUVOVCBmICgjUENEQVRBKT4KKzwhQVRUTElTVCBmCisgICBhdHQxIENEQVRBICNGSVhFRCAnSic+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorPCFFTlRJVFkgZgorICAgIgorICAgPGY+CisgICBoZWxsbyB3b3JsZAorICAgPC9mPgorICAgIgorPgorXT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCis8cm5vZGU+CisgICAmZjsKKzwvcm5vZGU+CisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9lbnQxMSBiL2xpYnhtbDIvdGVzdC9lbnQxMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YzYxMWMxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2VudDExCkBAIC0wLDAgKzEsNiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiID8+Cis8IURPQ1RZUEUgZG9jIFsKKyA8IUVOVElUWSBuZXdsICImIzEzOyI+CitdPgorCis8ZG9jPiZuZXdsOzwvZG9jPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2VudDEyIGIvbGlieG1sMi90ZXN0L2VudDEyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY0OTU4MzEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvZW50MTIKQEAgLTAsMCArMSw4IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhRE9DVFlQRSByb290IFsKKzwhRU5USVRZIGZvbyAnYWJjJz4KKzwhRU5USVRZIGJhciAnZGVmJz4KK10+Cis8cm9vdCBhdHRyaWJ1dGU9IiZmb287Ij4KKyAgIDxlbGVtZW50PiZiYXI7PC9lbGVtZW50PgorPC9yb290PgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2VudDEzIGIvbGlieG1sMi90ZXN0L2VudDEzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY1ZWJkODkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvZW50MTMKQEAgLTAsMCArMSw2IEBACis8P3htbCB2ZXJzaW9uPScxLjAnID8+Cis8IURPQ1RZUEUgdGVzdCBbCis8IUVOVElUWSBhbXBwcm9ibGVtICcmYW1wOyc+CitdPgorPHQgYT0iJmFtcHByb2JsZW07Ij5hPC90PgorCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvZW50MiBiL2xpYnhtbDIvdGVzdC9lbnQyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE1NWUyZDIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvZW50MgpAQCAtMCwwICsxLDExIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhRE9DVFlQRSBFWEFNUExFIFNZU1RFTSAiZXhhbXBsZS5kdGQiIFsKKzwhRU5USVRZIHhtbCAiRXh0ZW5zaWJsZSBNYXJrdXAgTGFuZ3VhZ2UiPgorPCFFTlRJVFkgdGl0bGUgUFVCTElDICItLy9NWS1USVRMRS8vRlIiICJ0aXRsZS54bWwiPgorPCFFTlRJVFkgaW1hZ2UgU1lTVEVNICJpbWcuZ2lmIiBOREFUQSBHSUY+CitdPgorPEVYQU1QTEU+CisgICZ0aXRsZTsKKyAgVGhpcyB0ZXh0IGlzIGFib3V0IFhNTCwgdGhlICZ4bWw7IGFuZCB0aGlzIGlzIGFuIGVtYmVkZGVkIDxJTUcgc3JjPSJpbWFnZSIvPgorPC9FWEFNUExFPgorCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvZW50MyBiL2xpYnhtbDIvdGVzdC9lbnQzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY5ODAzYjgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvZW50MwpAQCAtMCwwICsxLDggQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCFET0NUWVBFIEVYQU1QTEUgU1lTVEVNICJleGFtcGxlLmR0ZCIgWworPCFFTlRJVFkgeG1sICJFeHRlbnNpYmxlIE1hcmt1cCBMYW5ndWFnZSI+CitdPgorPEVYQU1QTEUgcHJvcDE9ImEmYW1wO2IiIHByb3AyPSImeG1sOyI+CisgIFRlc3Qgb2YgZW50aXRpZXMgaW4gYXR0cmlidXRlcy4KKzwvRVhBTVBMRT4KKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2VudDQgYi9saWJ4bWwyL3Rlc3QvZW50NApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjY4YjQwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2VudDQKQEAgLTAsMCArMSw4IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhRE9DVFlQRSBFWEFNUExFIFNZU1RFTSAiZXhhbXBsZS5kdGQiIFsKKzwhRU5USVRZIHhtbCAiRXh0ZW5zaWJsZSBNYXJrdXAgTGFuZ3VhZ2UiPgorXT4KKzxFWEFNUExFID4KKyAgVGVzdCBvZiAmYW1wO2FtcDsgYmVoYXZpb3VyIGEmYW1wO2IgLgorPC9FWEFNUExFPgorCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvZW50NSBiL2xpYnhtbDIvdGVzdC9lbnQ1Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFkYjllYTcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvZW50NQpAQCAtMCwwICsxLDUgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPEVYQU1QTEU+CisgICAgVGhpcyBpcyBhbiBpbnZlcnRlZCBleGNsYW1hdGlvbiBzaWduICYjeEExOworICAgIFRoaXMgaXMgYSBzcGFjZSAmIzMyOyAKKzwvRVhBTVBMRT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9lbnQ2IGIvbGlieG1sMi90ZXN0L2VudDYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDBiMmYxMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9lbnQ2CkBAIC0wLDAgKzEsOCBAQAorPCFET0NUWVBFIGRvYyBbCis8IUVOVElUWSBsdCAgICAgIiYjMzg7IzYwOyI+IAorPCFFTlRJVFkgZ3QgICAgICImIzYyOyI+IAorPCFFTlRJVFkgYW1wICAgICImIzM4OyMzODsiPiAKKzwhRU5USVRZIGFwb3MgICAiJiMzOTsiPiAKKzwhRU5USVRZIHF1b3QgICAiJiMzNDsiPiAKK10+Cis8ZG9jLz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9lbnQ3IGIvbGlieG1sMi90ZXN0L2VudDcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2VmMjAzMAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9lbnQ3CkBAIC0wLDAgKzEsNyBAQAorPCFET0NUWVBFIGl0ZW0gWworPCFFTlRJVFkgJSBzYW1wbGVFbnQgIjwhRUxFTUVOVCBpdGVtIChwYXJhKSs+Ij4KKzwhRU5USVRZIHNhbXBsZUVudCAidGhlIGh5YWNpbnRoIGdpcmwiPgorJXNhbXBsZUVudDsKKzwhRUxFTUVOVCBwYXJhICgjUENEQVRBKT4KK10+Cis8aXRlbT48cGFyYT4ndGhleSBjYWxsZWQgbWUgJnNhbXBsZUVudDsnPC9wYXJhPjwvaXRlbT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9lbnQ4IGIvbGlieG1sMi90ZXN0L2VudDgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWVlY2NmMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9lbnQ4CkBAIC0wLDAgKzEsOSBAQAorPCFET0NUWVBFIGRvYyBbCis8IUVOVElUWSB0ZXN0MSAidGVzdCAxIj4KKzwhRU5USVRZIHRlc3QyICJ0ZXN0IDIiPgorXT4KKzxkb2M+CisgICA8Q29udGVudD5SZXRlbiYjMjMxOyYjMjI3O288L0NvbnRlbnQ+CisgICA8Q29udGVudD4mbHQ7Jmd0OzwvQ29udGVudD4KKyAgIDxDb250ZW50PiZ0ZXN0MTsmdGVzdDI7PC9Db250ZW50PgorPC9kb2M+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvZW50OSBiL2xpYnhtbDIvdGVzdC9lbnQ5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVkYjYzYmEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvZW50OQpAQCAtMCwwICsxLDYxIEBACis8IURPQ1RZUEUgZG9jIFsKKzwhRU5USVRZIHRlc3QxICI8YS8+LDxiLz4sPGMvPiw8ZC8+Ij4KK10+Cis8ZG9jPgorICAgPGVudD4mdGVzdDE7PC9lbnQ+CisgICA8cD4gV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8gdHJpZ2dlciB0aGUgcHJvYmxlbTwvcD4KKyAgIDxwPiBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtPC9wPgorICAgPHA+IFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW08L3A+CisgICA8cD4gV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8gdHJpZ2dlciB0aGUgcHJvYmxlbTwvcD4KKyAgIDxwPiBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtPC9wPgorICAgPHA+IFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW08L3A+CisgICA8cD4gV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8gdHJpZ2dlciB0aGUgcHJvYmxlbTwvcD4KKyAgIDxwPiBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtPC9wPgorICAgPHA+IFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW08L3A+CisgICA8cD4gV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8gdHJpZ2dlciB0aGUgcHJvYmxlbTwvcD4KKyAgIDxwPiBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtPC9wPgorICAgPHA+IFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW08L3A+CisgICA8cD4gV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8gdHJpZ2dlciB0aGUgcHJvYmxlbTwvcD4KKyAgIDxwPiBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtPC9wPgorICAgPHA+IFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW08L3A+CisgICA8cD4gV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8gdHJpZ2dlciB0aGUgcHJvYmxlbTwvcD4KKyAgIDxwPiBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtPC9wPgorICAgPHA+IFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW08L3A+CisgICA8cD4gV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8gdHJpZ2dlciB0aGUgcHJvYmxlbTwvcD4KKyAgIDxwPiBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtPC9wPgorICAgPHA+IFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW08L3A+CisgICA8cD4gV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8gdHJpZ2dlciB0aGUgcHJvYmxlbTwvcD4KKyAgIDxwPiBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtPC9wPgorICAgPHA+IFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW08L3A+CisgICA8cD4gV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8gdHJpZ2dlciB0aGUgcHJvYmxlbTwvcD4KKyAgIDxwPiBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtPC9wPgorICAgPHA+IFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW08L3A+CisgICA8cD4gV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8gdHJpZ2dlciB0aGUgcHJvYmxlbTwvcD4KKyAgIDxwPiBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtPC9wPgorICAgPHA+IFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW08L3A+CisgICA8cD4gV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8gdHJpZ2dlciB0aGUgcHJvYmxlbTwvcD4KKyAgIDxwPiBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtPC9wPgorICAgPHA+IFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW08L3A+CisgICA8cD4gV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8gdHJpZ2dlciB0aGUgcHJvYmxlbTwvcD4KKyAgIDxwPiBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtPC9wPgorICAgPHA+IFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW08L3A+CisgICA8cD4gV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8gdHJpZ2dlciB0aGUgcHJvYmxlbTwvcD4KKyAgIDxwPiBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtPC9wPgorICAgPHA+IFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW08L3A+CisgICA8cD4gV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8gdHJpZ2dlciB0aGUgcHJvYmxlbTwvcD4KKyAgIDxwPiBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtPC9wPgorICAgPHA+IFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW08L3A+CisgICA8cD4gV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8gdHJpZ2dlciB0aGUgcHJvYmxlbTwvcD4KKyAgIDxwPiBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtPC9wPgorICAgPHA+IFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW08L3A+CisgICA8cD4gV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8gdHJpZ2dlciB0aGUgcHJvYmxlbTwvcD4KKyAgIDxwPiBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtPC9wPgorICAgPHA+IFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW08L3A+CisgICA8cD4gV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8gdHJpZ2dlciB0aGUgcHJvYmxlbTwvcD4KKyAgIDxwPiBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtPC9wPgorICAgPHA+IFdFIG5lZWQgbG90IG9mIGdhcmJhZ2Ugbm93IHRvIHRyaWdnZXIgdGhlIHByb2JsZW08L3A+CisgICA8cD4gV0UgbmVlZCBsb3Qgb2YgZ2FyYmFnZSBub3cgdG8gdHJpZ2dlciB0aGUgcHJvYmxlbTwvcD4KKyAgIDxwPiBXRSBuZWVkIGxvdCBvZiBnYXJiYWdlIG5vdyB0byB0cmlnZ2VyIHRoZSBwcm9ibGVtPC9wPgorICAgPGVudD4mdGVzdDE7PC9lbnQ+Cis8L2RvYz4KKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2VudF83Mzg4MDUueG1sIGIvbGlieG1sMi90ZXN0L2VudF83Mzg4MDUueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjllYzcwYjEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvZW50XzczODgwNS54bWwKQEAgLTAsMCArMSwxNiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/PgorPCFET0NUWVBFICBzb21lZG9jIFsKKyAgPCFFTlRJVFkgYSAgICJzb21ldGhpbmciPgorICA8IUVOVElUWSBiICAgIiZhOyI+CitdPgorCis8c29tZWRvYz4KKworPHNvbWViZWFjb24gc29tZWF0dHJpYnV0ZT0iJmI7Ii8+CisKKyZhOyBzaG91bGQgYXBwZWFyIGFmdGVyIGNvbG9uOiAmYTsKKyZiOyBzaG91bGQgYXBwZWFyIGFmdGVyIGNvbG9uOiAmYTsKKyZhOyBzaG91bGQgYXBwZWFyIGFmdGVyIGNvbG9uOiAmYjsKKyZiOyBzaG91bGQgYXBwZWFyIGFmdGVyIGNvbG9uOiAmYjsKKworPC9zb21lZG9jPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2Vycm9ycy9hdHRyMS54bWwgYi9saWJ4bWwyL3Rlc3QvZXJyb3JzL2F0dHIxLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NmJlNDc3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2Vycm9ycy9hdHRyMS54bWwKQEAgLTAsMCArMSBAQAorPGZvbyBmb289Im9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb28KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9lcnJvcnMvYXR0cjIueG1sIGIvbGlieG1sMi90ZXN0L2Vycm9ycy9hdHRyMi54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTIzMGM4NAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9lcnJvcnMvYXR0cjIueG1sCkBAIC0wLDAgKzEgQEAKKzxmb28gZm9vPSI+b29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vbwpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2Vycm9ycy9hdHRyMy54bWwgYi9saWJ4bWwyL3Rlc3QvZXJyb3JzL2F0dHIzLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMjU2N2Y1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2Vycm9ycy9hdHRyMy54bWwKQEAgLTAsMCArMSw2IEBACis8IURPQ1RZUEUgZG9jIFsNCis8IUVMRU1FTlQgZG9jICgjUENEQVRBKT4NCis8IUFUVExJU1QgZG9jIGExIENEQVRBICJ2MSI+DQorPCFBVFRMSVNUIGRvYyBhMSBDREFUQSAiejEiPg0KK10+DQorPGRvYz48L2RvYz4NCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvZXJyb3JzL2F0dHI0LnhtbCBiL2xpYnhtbDIvdGVzdC9lcnJvcnMvYXR0cjQueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU1M2JiY2UKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvZXJyb3JzL2F0dHI0LnhtbApAQCAtMCwwICsxIEBACis8Uk9PVCBhdHRyPSJYWRYiLz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9lcnJvcnMvY2RhdGEueG1sIGIvbGlieG1sMi90ZXN0L2Vycm9ycy9jZGF0YS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGYyYmMwOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9lcnJvcnMvY2RhdGEueG1sCkBAIC0wLDAgKzEsMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxBPjwhW0NEQVRBW0Phcl1dPjwvQT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9lcnJvcnMvY2hhcnJlZjEueG1sIGIvbGlieG1sMi90ZXN0L2Vycm9ycy9jaGFycmVmMS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTE0MjNkZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9lcnJvcnMvY2hhcnJlZjEueG1sCkBAIC0wLDAgKzEgQEAKKzxibGE+JiMwMTAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjA7PC9ibGE+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvZXJyb3JzL2NvbW1lbnQxLnhtbCBiL2xpYnhtbDIvdGVzdC9lcnJvcnMvY29tbWVudDEueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIwMmJiMTcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvZXJyb3JzL2NvbW1lbnQxLnhtbApAQCAtMCwwICsxLDYgQEAKKzwhRE9DVFlQRSBib29rIFsKKzwhRUxFTUVOVCBib29rIEFOWT4KK10+Cis8IS0tIElsbGVnYWxDaGFyICN4MGUKKyBpbiBwMDI6IA4gLS0+Cis8Ym9vay8+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvZXJyb3JzL2NvbnRlbnQxLnhtbCBiL2xpYnhtbDIvdGVzdC9lcnJvcnMvY29udGVudDEueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcyNjQ2OTQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvZXJyb3JzL2NvbnRlbnQxLnhtbApAQCAtMCwwICsxLDEwIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhRE9DVFlQRSByb290IFsKKzwhRUxFTUVOVCByb290ICgjUENEQVRBKT4KKzwhRUxFTUVOVCBhIEFOWT4KKzwhRUxFTUVOVCBiIEFOWT4KKzwhLS0qIG1pc3NpbmcgY2xvc2luZyBicmFja2V0IGluIGNob2ljZSAqLS0+Cis8IUVMRU1FTlQgYUVsZW1lbnQgKGEgfGIgKiA+CitdPgorPHJvb3Q+QW55IGNvbnRlbnQ8L3Jvb3Q+CisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9lcnJvcnMvZHRkMTMgYi9saWJ4bWwyL3Rlc3QvZXJyb3JzL2R0ZDEzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ3NjU4YjAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvZXJyb3JzL2R0ZDEzCkBAIC0wLDAgKzEsNiBAQAorPCFET0NUWVBFIGRvYyBbCis8IUVOVElUWSBFbmRBdHRyICIyNyciID4KK10+Cis8ZG9jPgorPGVsZW1lbnQgYXR0cmlidXRlPSdhLSZFbmRBdHRyOz4KKzwvZG9jPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2Vycm9ycy9leHRwYXJzZWRlbnQueG1sIGIvbGlieG1sMi90ZXN0L2Vycm9ycy9leHRwYXJzZWRlbnQueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA3ZTRjNTQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvZXJyb3JzL2V4dHBhcnNlZGVudC54bWwKQEAgLTAsMCArMSw1IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhRE9DVFlQRSBmb28gWworPCFFTlRJVFkgYyBQVUJMSUMgImJhciIgIi9ldGMvZG9lc25vdGV4aXN0Ij4KK10+Cis8cm9vdD4mYzs8L3Jvb3Q+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvZXJyb3JzL25hbWUueG1sIGIvbGlieG1sMi90ZXN0L2Vycm9ycy9uYW1lLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZmMzNGI0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2Vycm9ycy9uYW1lLnhtbApAQCAtMCwwICsxIEBACis8Zm9vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vbwpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2Vycm9ycy9uYW1lMi54bWwgYi9saWJ4bWwyL3Rlc3QvZXJyb3JzL25hbWUyLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZjM1OTJiCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2Vycm9ycy9uYW1lMi54bWwKQEAgLTAsMCArMSBAQAorPGZvbyBmb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvZXZlLnhtbCBiL2xpYnhtbDIvdGVzdC9ldmUueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM2Y2ExYzcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvZXZlLnhtbApAQCAtMCwwICsxLDYgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8IURPQ1RZUEUgc3BlYyBQVUJMSUMgIi0vL3Rlc3RzcGVjLy8iICJkdGRzL2V2ZS5kdGQiIFsKKzwhRU5USVRZIGlzbzYuZG9jLmRhdGUgJzI5LU1heS0xOTk5Jz4KK10+Cis8c3BlYz4KKzwvc3BlYz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9leHByL2Jhc2UgYi9saWJ4bWwyL3Rlc3QvZXhwci9iYXNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdiYTExZTIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvZXhwci9iYXNlCkBAIC0wLDAgKzEsODYgQEAKKz0+YQorMSBhCisxIGEgfCBhCiswIGIKKz0+YXxiCisxIGEKKzEgYgorMSBhIHwgYgorMCBhezB9CiswIGJ7MH0KKz0+YSB8IGIgfCBhCisxIGEKKzEgYgorMSBhIHwgYgorMSBiIHwgYQorMSBhIHwgYiB8IGIKKzEgYSB8IGIgfCBhCisxIGIgfCBhIHwgYgorPT5hLGEKKzEgYSxhCiswIGEKKzAgYSxhLGEKKz0+YXswLDN9CisxIGF7M30KKzEgYQorMSBhLGEsYQorMSBhezEsM30KKz0+KGF8Yil7MCw0fQorMSBhCisxIGIKKzEgYSxiCisxIGEsYixhLGIKKzAgYixhLGIsYSxiCisxIGIsYXsxLDN9CisxIGF7MSwzfSxiCiswIGF7MSwzfSxiLGEKKzAgYXsxLDR9LGIKKzAgYXswLDV9CisxIChifGEpezAsNH0KKzAgKGJ8YSl7MCw0fSxhCisxIChhLGIpezAsMn0KKzEgKGEsYil7MCwxfSxiCis9PiBhKgorMSBhCisxIGE/CisxIGErCisxIGEqCisxIGF7MH0KKz0+IGErCisxIGEKKzAgYT8KKzEgYSsKKzAgYSoKKzEgYT8sYQorMSBhLGEqCisxIGEqLGEKKzEgYT8sYSosYQorMSBhKixhPyxhCis9PihhfGIpKgorMSBhCisxIGIKKzEgYSxiCisxIGEsYixhLGIKKzEgKGJ8YSl7MCw0fQorMSAoYnxhKXswLDR9LGEKKzEgYSoKKzEgYioKKzEgKGF8YikqCisxIGF7MSwzfQorMSBiLGF7MSwzfQorMSBhezEsM30sYgorMSBhKiwoYXxiKSoKKzEgYSosYnsyLDV9CisxIGEqLChhfGIpKixiezIsNX0KKz0+KGF8YikrLChjfGQpCisxIGErLGMKKzAgYSosYworMSBhLGMKKzEgYSxiKixhKixjCisjIG1vcmUgY29tcGxleAorPT4oYXxiKSwoYXxjKXswLDEwMH0KKzEgYXswLDEwMH0sKGF8YykKKzAgYXswLDEwMX0sKGF8YykKKyMgdGhlIGV4YW1wbGUgZnJvbSBjbXNtY3EgYXQgZXh0cmVtZSBtYXJrdXAgMDUKKz0+KGEsICgoYiwgYywgZCl7MCw1fSwgZXswLDF9KXswLDR9LCBmKQorMSAoYSwgYiwgKGMsIGQsIGIpezIsM30sIGMsIGQsIGUsIGYpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvaW50c3Vic2V0LnhtbCBiL2xpYnhtbDIvdGVzdC9pbnRzdWJzZXQueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcwOWRlMTUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvaW50c3Vic2V0LnhtbApAQCAtMCwwICsxLDYgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgc3RhbmRhbG9uZT0ieWVzIj8+Cis8IURPQ1RZUEUgcm9vdCBbCis8IUVMRU1FTlQgcm9vdCAgRU1QVFk+Cis8IS0tICAiIC0tPgorXT4KKzxyb290Lz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9pbnRzdWJzZXQyLnhtbCBiL2xpYnhtbDIvdGVzdC9pbnRzdWJzZXQyLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YWU4NDVhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2ludHN1YnNldDIueG1sCkBAIC0wLDAgKzEsMjgyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhRE9DVFlQRSBrYW5qaWRpYzIgWworCTwhLS0gVmVyc2lvbiAxLjMKKwlUaGlzIGlzIHRoZSBEVEQgb2YgdGhlIFhNTC1mb3JtYXQga2FuamkgZmlsZSBjb21iaW5pbmcgaW5mb3JtYXRpb24gZnJvbQorCXRoZSBLQU5KSURJQyBhbmQgS0FOSkQyMTIgZmlsZXMuIEl0IGlzIGludGVuZGVkIHRvIGJlIGxhcmdlbHkgc2VsZi0KKwlkb2N1bWVudGluZywgd2l0aCBlYWNoIGZpZWxkIGJlaW5nIGFjY29tcGFuaWVkIGJ5IGFuIGV4cGxhbmF0b3J5CisJY29tbWVudC4KKworCVRoZSBmaWxlIGNvdmVycyB0aGUgZm9sbG93aW5nIGthbmppOgorCShhKSB0aGUgNiwzNTUga2FuamkgZnJvbSBKSVMgWCAwMjA4OworCShiKSB0aGUgNSw4MDEga2FuamkgZnJvbSBKSVMgWCAwMjEyOworCShjKSB0aGUgMyw2MjUga2FuamkgZnJvbSBKSVMgWCAwMjEzIGFzIGZvbGxvd3M6CisJCShpKSB0aGUgMiw3NDEga2Fuamkgd2hpY2ggYXJlIGFsc28gaW4gSklTIFggMDIxMiBoYXZlCisJCUpJUyBYIDAyMTMgY29kZS1wb2ludHMgKGt1dGVuKSBhZGRlZCB0byB0aGUgZXhpc3RpbmcgZW50cnk7CisJCShpaSkgdGhlIDg4NCAibmV3IiBrYW5qaSBoYXZlIG5ldyBlbnRyaWVzLgorCisJQXQgdGhlIGVuZCBvZiB0aGUgZXhwbGFuYXRpb24gZm9yIGEgbnVtYmVyIG9mIGZpZWxkcyB0aGVyZSBpcyBhIHRhZworCXdpdGggdGhlIGZvcm1hdCBbTl0uIFRoaXMgaW5kaWNhdGVzIHRoZSBsZWFkaW5nIGxldHRlcihzKSBvZiB0aGUKKwllcXVpdmFsZW50IGZpZWxkIGluIHRoZSBLQU5KSURJQyBhbmQgS0FOSkQyMTIgZmlsZXMuCisKKwlUaGUgS0FOSklESUMgZG9jdW1lbnRhdGlvbiBzaG91bGQgYWxzbyBiZSByZWFkIGZvciBhZGRpdGlvbmFsIAorCWluZm9ybWF0aW9uIGFib3V0IHRoZSBpbmZvcm1hdGlvbiBpbiB0aGUgZmlsZS4KKwktLT4KKzwhRUxFTUVOVCBrYW5qaWRpYzIgKGhlYWRlcixjaGFyYWN0ZXIqKT4KKzwhRUxFTUVOVCBoZWFkZXIgKGZpbGVfdmVyc2lvbixkYXRhYmFzZV92ZXJzaW9uLGRhdGVfb2ZfY3JlYXRpb24pPgorPCEtLQorCVRoZSBzaW5nbGUgaGVhZGVyIGVsZW1lbnQgd2lsbCBjb250YWluIGlkZW50aWZpY2F0aW9uIGluZm9ybWF0aW9uCisJYWJvdXQgdGhlIHZlcnNpb24gb2YgdGhlIGZpbGUgCisJLS0+Cis8IUVMRU1FTlQgZmlsZV92ZXJzaW9uICgjUENEQVRBKT4KKzwhLS0KKwlUaGlzIGZpZWxkIGRlbm90ZXMgdGhlIHZlcnNpb24gb2Yga2FuamlkaWMyIHN0cnVjdHVyZSwgYXMgbW9yZQorCXRoYW4gb25lIHZlcnNpb24gbWF5IGV4aXN0LgorCS0tPgorPCFFTEVNRU5UIGRhdGFiYXNlX3ZlcnNpb24gKCNQQ0RBVEEpPgorPCEtLQorCVRoZSB2ZXJzaW9uIG9mIHRoZSBmaWxlLCBpbiB0aGUgZm9ybWF0IFlZWVktTk4sIHdoZXJlIE5OIHdpbGwgYmUKKwlhIG51bWJlciBzdGFydGluZyB3aXRoIDAxIGZvciB0aGUgZmlyc3QgdmVyc2lvbiByZWxlYXNlZCBpbiBhCisJY2FsZW5kYXIgeWVhciwgdGhlbiBpbmNyZWFzaW5nIGZvciBlYWNoIHZlcnNpb24gaW4gdGhhdCB5ZWFyLgorCS0tPgorPCFFTEVNRU5UIGRhdGVfb2ZfY3JlYXRpb24gKCNQQ0RBVEEpPgorPCEtLQorCVRoZSBkYXRlIHRoZSBmaWxlIHdhcyBjcmVhdGVkIGluIGludGVybmF0aW9uYWwgZm9ybWF0IChZWVlZLU1NLUREKS4KKwktLT4KKzwhRUxFTUVOVCBjaGFyYWN0ZXIgKGxpdGVyYWwsY29kZXBvaW50LCByYWRpY2FsLCBtaXNjLCBkaWNfbnVtYmVyPywgcXVlcnlfY29kZT8sIHJlYWRpbmdfbWVhbmluZz8sbmFub3JpPykqPgorPCFFTEVNRU5UIGxpdGVyYWwgKCNQQ0RBVEEpPgorPCEtLQorCVRoZSBjaGFyYWN0ZXIgaXRzZWxmIGluIFVURjggY29kaW5nLgorCS0tPgorPCFFTEVNRU5UIGNvZGVwb2ludCAoY3BfdmFsdWUrKT4KKwk8IS0tIAorCVRoZSBjb2RlcG9pbnQgZWxlbWVudCBzdGF0ZXMgdGhlIGNvZGUgb2YgdGhlIGNoYXJhY3RlciBpbiB0aGUgdmFyaW91cworCWNoYXJhY3RlciBzZXQgc3RhbmRhcmRzLgorCS0tPgorPCFFTEVNRU5UIGNwX3ZhbHVlICgjUENEQVRBKT4KKwk8IS0tIAorCVRoZSBjcF92YWx1ZSBjb250YWlucyB0aGUgY29kZXBvaW50IG9mIHRoZSBjaGFyYWN0ZXIgaW4gYSBwYXJ0aWN1bGFyCisJc3RhbmRhcmQuIFRoZSBzdGFuZGFyZCB3aWxsIGJlIGlkZW50aWZpZWQgaW4gdGhlIGNwX3R5cGUgYXR0cmlidXRlLgorCS0tPgorPCFBVFRMSVNUIGNwX3ZhbHVlIGNwX3R5cGUgQ0RBVEEgI1JFUVVJUkVEPgorCTwhLS0gCisJVGhlIGNwX3R5cGUgYXR0cmlidXRlIHN0YXRlcyB0aGUgY29kaW5nIHN0YW5kYXJkIGFwcGx5aW5nIHRvIHRoZQorCWVsZW1lbnQuIFRoZSB2YWx1ZXMgYXNzaWduZWQgc28gZmFyIGFyZToKKwkJamlzMjA4IC0gSklTIFggMDIwOC0xOTk3IC0ga3V0ZW4gY29kaW5nIChubi1ubikKKwkJamlzMjEyIC0gSklTIFggMDIxMi0xOTkwIC0ga3V0ZW4gY29kaW5nIChubi1ubikKKwkJamlzMjEzIC0gSklTIFggMDIxMy0yMDAwIC0ga3V0ZW4gY29kaW5nIChwLW5uLW5uKQorCQl1Y3MgLSBVbmljb2RlIDQuMCAtIGhleCBjb2RpbmcgKDQgb3IgNSBoZXhhZGVjaW1hbCBkaWdpdHMpCisJLS0+Cis8IUVMRU1FTlQgcmFkaWNhbCAocmFkX3ZhbHVlKyk+Cis8IUVMRU1FTlQgcmFkX3ZhbHVlICgjUENEQVRBKT4KKwk8IS0tIAorCVRoZSByYWRpY2FsIG51bWJlciwgaW4gdGhlIHJhbmdlIDEgdG8gMjE0LiBUaGUgcGFydGljdWxhcgorCWNsYXNzaWZpY2F0aW9uIHR5cGUgaXMgc3RhdGVkIGluIHRoZSByYWRfdHlwZSBhdHRyaWJ1dGUuCisJLS0+Cis8IUFUVExJU1QgcmFkX3ZhbHVlIHJhZF90eXBlIENEQVRBICNSRVFVSVJFRD4KKwk8IS0tIAorCVRoZSByYWRfdHlwZSBhdHRyaWJ1dGUgc3RhdGVzIHRoZSB0eXBlIG9mIHJhZGljYWwgY2xhc3NpZmljYXRpb24uCisJCWNsYXNzaWNhbCAtIGFzIHJlY29yZGVkIGluIHRoZSBLYW5nWGkgWmlkaWFuLgorCQluZWxzb24gLSBhcyB1c2VkIGluIHRoZSBOZWxzb24gIk1vZGVybiBKYXBhbmVzZS1FbmdsaXNoIAorCQlDaGFyYWN0ZXIgRGljdGlvbmFyeSIgKGkuZS4gdGhlIENsYXNzaWMsIG5vdCB0aGUgTmV3IE5lbHNvbikuCisJCVRoaXMgd2lsbCBvbmx5IGJlIHVzZWQgd2hlcmUgTmVsc29uIHJlY2xhc3NpZmllZCB0aGUga2FuamkuCisJLS0+Cis8IUVMRU1FTlQgbWlzYyAoZ3JhZGU/LCBzdHJva2VfY291bnQrLCB2YXJpYW50KiwgZnJlcSosIHJhZF9uYW1lKik+Cis8IUVMRU1FTlQgZ3JhZGUgKCNQQ0RBVEEpPgorCTwhLS0gCisJVGhlIEpvdXlvdSBLYW5qaSBncmFkZSBsZXZlbC4gMSB0aHJvdWdoIDYgaW5kaWNhdGUgdGhlIGdyYWRlIGluIHdoaWNoCisJdGhlIGthbmppIGlzIHRhdWdodCBpbiBKYXBhbmVzZSBzY2hvb2xzLiA4IGluZGljYXRlcyBpdCBpcyBvbmUgb2YgdGhlCisJcmVtYWluaW5nIEpvdXlvdSBLYW5qaSB0byBiZSBsZWFybmVkIGluIGp1bmlvciBoaWdoIHNjaG9vbCwgYW5kIDkgCisJaW5kaWNhdGVzIGl0IGlzIGEgSmlubWVpeW91IChmb3IgdXNlIGluIG5hbWVzKSBrYW5qaS4gW0ddCisJLS0+Cis8IUVMRU1FTlQgc3Ryb2tlX2NvdW50ICgjUENEQVRBKT4KKwk8IS0tIAorCVRoZSBzdHJva2UgY291bnQgb2YgdGhlIGthbmppLCBpbmNsdWRpbmcgdGhlIHJhZGljYWwuIElmIG1vcmUgdGhhbiAKKwlvbmUsIHRoZSBmaXJzdCBpcyBjb25zaWRlcmVkIHRoZSBhY2NlcHRlZCBjb3VudCwgd2hpbGUgc3Vic2VxdWVudCBvbmVzIAorCWFyZSBjb21tb24gbWlzY291bnRzLiAoU2VlIEFwcGVuZGl4IEUuIG9mIHRoZSBLQU5KSURJQyBkb2N1bWVudGF0aW9uCisJZm9yIHNvbWUgb2YgdGhlIHJ1bGVzIGFwcGxpZWQgd2hlbiBjb3VudGluZyBzdHJva2VzIGluIHNvbWUgb2YgdGhlIAorCXJhZGljYWxzLikgW1NdCisJLS0+Cis8IUVMRU1FTlQgdmFyaWFudCAoI1BDREFUQSk+CisJPCEtLSAKKwlBIGNyb3NzLXJlZmVyZW5jZSBjb2RlIHRvIGFub3RoZXIga2FuamksIHVzdWFsbHkgcmVnYXJkZWQgYXMgYSB2YXJpYW50LgorCVRoZSB0eXBlIG9mIGNyb3NzLXJlZmVyZW5jZSBpcyBnaXZlbiBpbiB0aGUgdmFyX3R5cGUgYXR0cmlidXRlLgorCS0tPgorPCFBVFRMSVNUIHZhcmlhbnQgdmFyX3R5cGUgQ0RBVEEgI1JFUVVJUkVEPgorCTwhLS0gCisJVGhlIHZhcl90eXBlIGF0dHJpYnV0ZSBpbmRpY2F0ZXMgdGhlIHR5cGUgb2YgdmFyaWFudCBjb2RlLiBUaGUgY3VycmVudAorCXZhbHVlcyBhcmU6IAorCQlqaXMyMDggLSBpbiBKSVMgWCAwMjA4IC0ga3V0ZW4gY29kaW5nCisJCWppczIxMiAtIGluIEpJUyBYIDAyMTIgLSBrdXRlbiBjb2RpbmcKKwkJamlzMjEzIC0gaW4gSklTIFggMDIxMyAtIGt1dGVuIGNvZGluZworCQlkZXJvbyAtIERlIFJvbyBudW1iZXIgLSBudW1lcmljCisJCW5qZWNkIC0gSGFscGVybiBOSkVDRCBpbmRleCBudW1iZXIgLSBudW1lcmljCisJCXNfaCAtIFRoZSBLYW5qaSBEaWN0aW9uYXJ5IChTcGFobiAmIEhhZGFtaXR6a3kpIC0gZGVzY3JpcHRvcgorCQluZWxzb24gLSAiQ2xhc3NpYyIgTmVsc29uIC0gbnVtZXJpYworCQlvbmVpbGwgLSBKYXBhbmVzZSBOYW1lcyAoTydOZWlsbCkgLSBudW1lcmljCisJLS0+Cis8IUVMRU1FTlQgZnJlcSAoI1BDREFUQSk+CisJPCEtLSAKKwlBIGZyZXF1ZW5jeS1vZi11c2UgcmFua2luZy4gVGhlIDIsNTAwIG1vc3QtdXNlZCBjaGFyYWN0ZXJzIGhhdmUgYSAKKwlyYW5raW5nOyB0aG9zZSBjaGFyYWN0ZXJzIHRoYXQgbGFjayB0aGlzIGZpZWxkIGFyZSBub3QgcmFua2VkLiBUaGUgCisJZnJlcXVlbmN5IGlzIGEgbnVtYmVyIGZyb20gMSB0byAyLDUwMCB0aGF0IGV4cHJlc3NlcyB0aGUgcmVsYXRpdmUgCisJZnJlcXVlbmN5IG9mIG9jY3VycmVuY2Ugb2YgYSBjaGFyYWN0ZXIgaW4gbW9kZXJuIEphcGFuZXNlLiBUaGlzIGlzCisJYmFzZWQgb24gYSBzdXJ2ZXkgaW4gbmV3c3BhcGVycywgc28gaXQgaXMgYmlhc3NlZCB0b3dhcmRzIGthbmppCisJdXNlZCBpbiBuZXdzcGFwZXIgYXJ0aWNsZXMuIFRoZSBkaXNjcmltaW5hdGlvbiBiZXR3ZWVuIHRoZSBsZXNzCisJZnJlcXVlbnRseSB1c2VkIGthbmppIGlzIG5vdCBzdHJvbmcuCisJLS0+Cis8IUVMRU1FTlQgcmFkX25hbWUgKCNQQ0RBVEEpPgorCTwhLS0gCisJV2hlbiB0aGUga2FuamkgaXMgaXRzZWxmIGEgcmFkaWNhbCBhbmQgaGFzIGEgbmFtZSwgdGhpcyBlbGVtZW50CisJY29udGFpbnMgdGhlIG5hbWUgKGluIGhpcmFnYW5hLikgW1QyXQorCS0tPgorPCFFTEVNRU5UIGRpY19udW1iZXIgKGRpY19yZWYrKT4KKwk8IS0tIAorCVRoaXMgZWxlbWVudCBjb250YWlucyB0aGUgaW5kZXggbnVtYmVycyBhbmQgc2ltaWxhciB1bnN0cnVjdHVyZWQKKwlpbmZvcm1hdGlvbiBzdWNoIGFzIHBhZ2UgbnVtYmVycyBpbiBhIG51bWJlciBvZiBwdWJsaXNoZWQgZGljdGlvbmFyaWVzLAorCWFuZCBpbnN0cnVjdGlvbmFsIGJvb2tzIG9uIGthbmppLgorCS0tPgorPCFFTEVNRU5UIGRpY19yZWYgKCNQQ0RBVEEpPgorCTwhLS0gCisJRWFjaCBkaWNfcmVmIGNvbnRhaW5zIGFuIGluZGV4IG51bWJlci4gVGhlIHBhcnRpY3VsYXIgZGljdGlvbmFyeSwKKwlldGMuIGlzIGRlZmluZWQgYnkgdGhlIGRyX3R5cGUgYXR0cmlidXRlLgorCS0tPgorPCFBVFRMSVNUIGRpY19yZWYgZHJfdHlwZSBDREFUQSAjUkVRVUlSRUQ+CisJPCEtLSAKKwlUaGUgZHJfdHlwZSBkZWZpbmVzIHRoZSBkaWN0aW9uYXJ5IG9yIHJlZmVyZW5jZSBib29rLCBldGMuIHRvIHdoaWNoCisJZGljX3JlZiBlbGVtZW50IGFwcGxpZXMuIFRoZSBpbml0aWFsIGFsbG9jYXRpb24gaXM6CisJICBuZWxzb25fYyAtICJNb2Rlcm4gUmVhZGVyJ3MgSmFwYW5lc2UtRW5nbGlzaCBDaGFyYWN0ZXIgRGljdGlvbmFyeSIsICAKKwkgIAllZGl0ZWQgYnkgQW5kcmV3IE5lbHNvbiAobm93IHB1Ymxpc2hlZCBhcyB0aGUgIkNsYXNzaWMiIAorCSAgCU5lbHNvbikuCisJICBuZWxzb25fbiAtICJUaGUgTmV3IE5lbHNvbiBKYXBhbmVzZS1FbmdsaXNoIENoYXJhY3RlciBEaWN0aW9uYXJ5IiwgCisJICAJZWRpdGVkIGJ5IEpvaG4gSGFpZy4KKwkgIGhhbHBlcm5fbmplY2QgLSAiTmV3IEphcGFuZXNlLUVuZ2xpc2ggQ2hhcmFjdGVyIERpY3Rpb25hcnkiLCAKKwkgIAllZGl0ZWQgYnkgSmFjayBIYWxwZXJuLgorCSAgaGFscGVybl9ra2xkIC0gIkthbmppIExlYXJuZXJzIERpY3Rpb25hcnkiIChLb2RhbnNoYSkgZWRpdGVkIGJ5IAorCSAgCUphY2sgSGFscGVybi4KKwkgIGhlaXNpZyAtICJSZW1lbWJlcmluZyBUaGUgIEthbmppIiAgYnkgIEphbWVzIEhlaXNpZy4KKwkgIGdha2tlbiAtICJBICBOZXcgRGljdGlvbmFyeSBvZiBLYW5qaSBVc2FnZSIgKEdha2tlbikKKwkgIG9uZWlsbF9uYW1lcyAtICJKYXBhbmVzZSBOYW1lcyIsIGJ5IFAuRy4gTydOZWlsbC4gCisJICBvbmVpbGxfa2sgLSAiRXNzZW50aWFsIEthbmppIiBieSBQLkcuIE8nTmVpbGwuCisJICBtb3JvIC0gIkRhaWthbndhaml0ZW4iIGNvbXBpbGVkIGJ5IE1vcm9oYXNoaS4gRm9yIHNvbWUga2FuamkgdHdvCisJICAJYWRkaXRpb25hbCBhdHRyaWJ1dGVzIGFyZSB1c2VkOiBtX3ZvbDogIHRoZSB2b2x1bWUgb2YgdGhlCisJICAJZGljdGlvbmFyeSBpbiB3aGljaCB0aGUga2FuamkgaXMgZm91bmQsIGFuZCBtX3BhZ2U6IHRoZSBwYWdlCisJICAJbnVtYmVyIGluIHRoZSB2b2x1bWUuCisJICBoZW5zaGFsbCAtICJBIEd1aWRlIFRvIFJlbWVtYmVyaW5nIEphcGFuZXNlIENoYXJhY3RlcnMiIGJ5CisJICAJS2VubmV0aCBHLiAgSGVuc2hhbGwuCisJICBzaF9rayAtICJLYW5qaSBhbmQgS2FuYSIgYnkgU3BhaG4gYW5kIEhhZGFtaXR6a3kuCisJICBzYWthZGUgLSAiQSBHdWlkZSBUbyBSZWFkaW5nIGFuZCBXcml0aW5nIEphcGFuZXNlIiBlZGl0ZWQgYnkKKwkgIAlGbG9yZW5jZSBTYWthZGUuCisJICBoZW5zaGFsbDMgLSAiQSBHdWlkZSBUbyBSZWFkaW5nIGFuZCBXcml0aW5nIEphcGFuZXNlIiAzcmQKKwkJZWRpdGlvbiwgZWRpdGVkIGJ5IEhlbnNoYWxsLCBTZWVsZXkgYW5kIERlIEdyb290LgorCSAgdHV0dF9jYXJkcyAtIFR1dHRsZSBLYW5qaSBDYXJkcywgY29tcGlsZWQgYnkgQWxleGFuZGVyIEthc2suCisJICBjcm93bGV5IC0gIlRoZSBLYW5qaSBXYXkgdG8gSmFwYW5lc2UgTGFuZ3VhZ2UgUG93ZXIiIGJ5CisJICAJRGFsZSBDcm93bGV5LgorCSAga2FuamlfaW5fY29udGV4dCAtICJLYW5qaSBpbiBDb250ZXh0IiBieSBOaXNoaWd1Y2hpIGFuZCBLb25vLgorCSAgYnVzeV9wZW9wbGUgLSAiSmFwYW5lc2UgRm9yIEJ1c3kgUGVvcGxlIiB2b2xzIEktSUlJLCBwdWJsaXNoZWQKKwkJYnkgdGhlIEFKTFQuIFRoZSBjb2RlcyBhcmUgdGhlIHZvbHVtZS5jaGFwdGVyLgorCSAga29kYW5zaGFfY29tcGFjdCAtIHRoZSAiS29kYW5zaGEgQ29tcGFjdCBLYW5qaSBHdWlkZSIuCisJLS0+Cis8IUFUVExJU1QgZGljX3JlZiBtX3ZvbCBDREFUQSAjSU1QTElFRD4KKwk8IS0tIAorCVNlZSBhYm92ZSB1bmRlciAibW9ybyIuCisJLS0+Cis8IUFUVExJU1QgZGljX3JlZiBtX3BhZ2UgQ0RBVEEgI0lNUExJRUQ+CisJPCEtLSAKKwlTZWUgYWJvdmUgdW5kZXIgIm1vcm8iLgorCS0tPgorPCFFTEVNRU5UIHF1ZXJ5X2NvZGUgKHFfY29kZSspPgorCTwhLS0gCisJVGhlc2UgY29kZXMgY29udGFpbiBpbmZvcm1hdGlvbiByZWxhdGluZyB0byB0aGUgZ2x5cGgsIGFuZCBjYW4gYmUgdXNlZAorCWZvciBmaW5kaW5nIGEgcmVxdWlyZWQga2FuamkuIFRoZSB0eXBlIG9mIGNvZGUgaXMgZGVmaW5lZCBieSB0aGUKKwlxY190eXBlIGF0dHJpYnV0ZS4KKwktLT4KKzwhRUxFTUVOVCBxX2NvZGUgKCNQQ0RBVEEpPgorCTwhLS0KKwlUaGUgcV9jb2RlIGNvbnRhaW5zIHRoZSBhY3R1YWwgcXVlcnktY29kZSB2YWx1ZSwgYWNjb3JkaW5nIHRvIHRoZQorCXFjX3R5cGUgYXR0cmlidXRlLgorCS0tPgorPCFBVFRMSVNUIHFfY29kZSBxY190eXBlIENEQVRBICNSRVFVSVJFRD4KKwk8IS0tIAorCVRoZSBxX2NvZGUgYXR0cmlidXRlIGRlZmluZXMgdGhlIHR5cGUgb2YgcXVlcnkgY29kZS4gVGhlIGN1cnJlbnQgdmFsdWVzCisJYXJlOgorCSAgc2tpcCAtICBIYWxwZXJuJ3MgU0tJUCAoU3lzdGVtICBvZiAgS2FuamkgIEluZGV4aW5nICBieSAgUGF0dGVybnMpIAorCSAgCWNvZGUuIFRoZSAgZm9ybWF0IGlzIG4tbm4tbm4uICBTZWUgdGhlIEtBTkpJRElDICBkb2N1bWVudGF0aW9uIAorCSAgCWZvciAgYSBkZXNjcmlwdGlvbiBvZiB0aGUgY29kZSBhbmQgcmVzdHJpY3Rpb25zIG9uICB0aGUgCisJICAJY29tbWVyY2lhbCAgdXNlICBvZiB0aGlzIGRhdGEuIFtQXQorCisJICBzaF9kZXNjIC0gdGhlIGRlc2NyaXB0b3IgY29kZXMgZm9yIFRoZSBLYW5qaSBEaWN0aW9uYXJ5IChUdXR0bGUgCisJICAJMTk5NikgYnkgU3BhaG4gYW5kIEhhZGFtaXR6a3kuIFRoZXkgYXJlIGluIHRoZSBmb3JtIG54bm4ubiwgIAorCSAgCWUuZy4gIDNrMTEuMiwgd2hlcmUgdGhlICBrYW5qaSBoYXMgMyBzdHJva2VzIGluIHRoZSAKKwkgIAlpZGVudGlmeWluZyByYWRpY2FsLCBpdCBpcyByYWRpY2FsICJrIiBpbiB0aGUgU0ggCisJICAJY2xhc3NpZmljYXRpb24gc3lzdGVtLCB0aGVyZSBhcmUgMTEgb3RoZXIgc3Ryb2tlcywgYW5kIGl0IGlzIAorCSAgCXRoZSAybmQga2FuamkgaW4gdGhlIDNrMTEgc2VxdWVuY2UuIChJIGFtIHZlcnkgZ3JhdGVmdWwgdG8gCisJICAJTWFyayBTcGFobiBmb3IgcHJvdmlkaW5nIHRoZSBsaXN0IG9mIHRoZXNlIGRlc2NyaXB0b3IgY29kZXMgCisJICAJZm9yIHRoZSBrYW5qaSBpbiB0aGlzIGZpbGUuKSBbSV0KKwkgIGZvdXJfY29ybmVyIC0gdGhlICJGb3VyIENvcm5lciIgY29kZSBmb3IgdGhlIGthbmppLiBUaGlzIGlzIGEgY29kZSAKKwkgIAlpbnZlbnRlZCBieSBXYW5nIENoZW4gaW4gMTkyOC4gU2VlIHRoZSBLQU5KSURJQyBkb2N1bWVudGF0aW9uIAorCSAgCWZvciAgYW4gb3ZlcnZpZXcgb2YgIHRoZSBGb3VyIENvcm5lciBTeXN0ZW0uIFtRXQorCisJICBkZXJvbyAtIHRoZSBjb2RlcyBkZXZlbG9wZWQgYnkgdGhlIGxhdGUgRmF0aGVyIEpvc2VwaCBEZSBSb28sIGFuZCAKKwkgIAlwdWJsaXNoZWQgaW4gIGhpcyBib29rICIyMDAxIEthbmppIiAoQm9qaW5zaGEpLiBGciBEZSBSb28gCisJICAJZ2F2ZSBoaXMgcGVybWlzc2lvbiBmb3IgdGhlc2UgY29kZXMgdG8gYmUgaW5jbHVkZWQuIFtEUl0KKwkgIG1pc2NsYXNzIC0gYSBwb3NzaWJsZSBtaXNjbGFzc2lmaWNhdGlvbiBvZiB0aGUga2FuamkgYWNjb3JkaW5nCisJCXRvIG9uZSBvZiB0aGUgY29kZSB0eXBlcy4gKFNlZSB0aGUgIloiIGNvZGVzIGluIHRoZSBLQU5KSURJQworCQlkb2N1bWVudGF0aW9uIGZvciBtb3JlIGRldGFpbHMuKQorCSAgCisJLS0+Cis8IUVMRU1FTlQgcmVhZGluZ19tZWFuaW5nIChybWdyb3VwKiwgbmFub3JpKik+CisJPCEtLSAKKwlUaGUgcmVhZGluZ3MgZm9yIHRoZSBrYW5qaSBpbiBzZXZlcmFsIGxhbmd1YWdlcywgYW5kIHRoZSBtZWFuaW5ncywgYWxzbworCWluIHNldmVyYWwgbGFuZ3VhZ2VzLiBUaGUgcmVhZGluZ3MgYW5kIG1lYW5pbmdzIGFyZSBncm91cGVkIHRvIGVuYWJsZQorCXRoZSBoYW5kbGluZyBvZiB0aGUgc2l0dWF0aW9uIHdoZXJlIHRoZSBtZWFuaW5nIGlzIGRpZmZlcmVudGlhdGVkIGJ5IAorCXJlYWRpbmcuIFtUMV0KKwktLT4KKzwhRUxFTUVOVCBuYW5vcmkgKCNQQ0RBVEEpPgorCTwhLS0gCisJSmFwYW5lc2UgcmVhZGluZ3MgdGhhdCBhcmUgbm93IG9ubHkgYXNzb2NpYXRlZCB3aXRoIG5hbWVzLgorCS0tPgorPCFFTEVNRU5UIHJtZ3JvdXAgKHJlYWRpbmcqLCBtZWFuaW5nKik+Cis8IUVMRU1FTlQgcmVhZGluZyAoI1BDREFUQSk+CisJPCEtLSAKKwlUaGUgcmVhZGluZyBlbGVtZW50IGNvbnRhaW5zIHRoZSByZWFkaW5nIG9yIHByb251bmNpYXRpb24KKwlvZiB0aGUga2FuamkuCisJLS0+Cis8IUFUVExJU1QgcmVhZGluZyByX3R5cGUgQ0RBVEEgI1JFUVVJUkVEPgorCTwhLS0gCisJVGhlIHJfdHlwZSBhdHRyaWJ1dGUgZGVmaW5lcyB0aGUgdHlwZSBvZiByZWFkaW5nIGluIHRoZSByZWFkaW5nCisJZWxlbWVudC4gVGhlIGN1cnJlbnQgdmFsdWVzIGFyZToKKwkgIHBpbnlpbiAtIHRoZSBtb2Rlcm4gUGluWWluIHJvbWFuaXphdGlvbiBvZiB0aGUgQ2hpbmVzZSByZWFkaW5nIAorCSAgCW9mIHRoZSBrYW5qaS4gVGhlIHRvbmVzIGFyZSByZXByZXNlbnRlZCBieSBhIGNvbmNsdWRpbmcgCisJICAJZGlnaXQuIFtZXQorCSAga29yZWFuX3IgLSB0aGUgcm9tYW5pemVkIGZvcm0gb2YgdGhlIEtvcmVhbiByZWFkaW5nKHMpIG9mIHRoZSAKKwkgIAlrYW5qaS4gIFRoZSByZWFkaW5ncyBhcmUgaW4gdGhlIChSZXB1YmxpYyBvZiBLb3JlYSkgTWluaXN0cnkgCisJICAJb2YgRWR1Y2F0aW9uIHN0eWxlIG9mIHJvbWFuaXphdGlvbi4gW1ddCisJICBrb3JlYW5faCAtIHRoZSBLb3JlYW4gcmVhZGluZyhzKSBvZiB0aGUga2FuamkgaW4gaGFuZ3VsLgorCSAgamFfb24gLSB0aGUgIm9uIiBKYXBhbmVzZSByZWFkaW5nIG9mIHRoZSBrYW5qaSwgaW4ga2F0YWthbmEuIEEKKwkgIAlzZWNvbmQgYXR0cmlidXRlIHJfc3RhdHVzLCBpZiBwcmVzZW50LCB3aWxsIGluZGljYXRlIHdpdGgKKwkgIAlhIHZhbHVlIG9mICJqeSIgd2hldGhlciB0aGUgcmVhZGluZyBpcyBhcHByb3ZlZCBmb3IgYQorCSAgCSJKb3V5b3Uga2FuamkiLgorCSAgamFfa3VuIC0gdGhlICJrdW4iIEphcGFuZXNlIHJlYWRpbmcgb2YgdGhlIGthbmppLCBpbiBoaXJhZ2FuYS4gCisJICAJV2hlcmUgcmVsZXZhbnQgdGhlIG9rdXJpZ2FuYSBpcyBhbHNvIGluY2x1ZGVkIHNlcGFyYXRlZCBieSBhIAorCSAgCSIuIi4gUmVhZGluZ3MgYXNzb2NpYXRlZCB3aXRoIHByZWZpeGVzIGFuZCBzdWZmaXhlcyBhcmUgCisJICAJbWFya2VkIHdpdGggYSAiLSIuIEEgc2Vjb25kIGF0dHJpYnV0ZSByX3N0YXR1cywgaWYgcHJlc2VudCwgCisJICAJd2lsbCBpbmRpY2F0ZSB3aXRoIGEgdmFsdWUgb2YgImp5IiB3aGV0aGVyIHRoZSByZWFkaW5nIGlzIAorCSAgCWFwcHJvdmVkIGZvciBhICJKb3V5b3Uga2FuamkiLgorCS0tPgorPCFBVFRMSVNUIHJlYWRpbmcgcl9zdGF0dXMgQ0RBVEEgI0lNUExJRUQ+CisJPCEtLSAKKwlTZWUgdW5kZXIgamFfb24gYW5kIGphX2t1biBhYm92ZS4KKwktLT4KKzwhRUxFTUVOVCBtZWFuaW5nICgjUENEQVRBKT4KKwk8IS0tIAorCVRoZSBtZWFuaW5nIGFzc29jaWF0ZWQgd2l0aCB0aGUga2FuamkuCisJLS0+Cis8IUFUVExJU1QgbWVhbmluZyBtX2xhbmcgQ0RBVEEgI0lNUExJRUQ+CisJPCEtLSAKKwlUaGUgbV9sYW5nIGF0dHJpYnV0ZSBkZWZpbmVzIHRoZSB0YXJnZXQgbGFuZ3VhZ2Ugb2YgdGhlIG1lYW5pbmcuIEl0IAorCXdpbGwgYmUgY29kZWQgdXNpbmcgdGhlIHR3by1sZXR0ZXIgbGFuZ3VhZ2UgY29kZSBmcm9tIHRoZSBJU08gNjM5IAorCXN0YW5kYXJkLiBXaGVuIGFic2VudCwgdGhlIHZhbHVlICJlbiIgKGkuZS4gRW5nbGlzaCkgaXMgaW1wbGllZC4gW3t9XQorCS0tPgorXSA+Cis8a2FuamlkaWMyPgorPC9rYW5qaWRpYzI+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvaXNvbGF0MSBiL2xpYnhtbDIvdGVzdC9pc29sYXQxCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFlNWEwNTkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvaXNvbGF0MQpAQCAtMCwwICsxLDIgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IklTTy04ODU5LTEiPz4KKzx0cuhzPmzgPC90cuhzPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L2lzb2xhdDIgYi9saWJ4bWwyL3Rlc3QvaXNvbGF0MgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YzI5MGI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L2lzb2xhdDIKQEAgLTAsMCArMSwxMDcgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IklTTy04ODU5LTEiPz4KKzx0c3Q+CisKKyAgICAgICBUaGUgZm9sbG93aW5nIHRhYmxlIGRpc3BsYXlzIHRoZSBjaGFyYWN0ZXJzICBpbiAgSVNPICA4ODU5CisgICAgICAgTGF0aW4tMSwgIHdoaWNoIGFyZSBwcmludGFibGUgYW5kIHVubGlzdGVkIGluIHRoZSBhc2NpaQorICAgICAgIG1hbnVhbCBwYWdlLgorCisgICAgICAgT2N0ICAgRGVjICAgSGV4ICAgQ2hhciAgIERlc2NyaXB0aW9uCisgICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICAgICAyNDAgICAxNjAgICBBMCAgICAgICAgICAgTk8tQlJFQUsgU1BBQ0UKKyAgICAgICAyNDEgICAxNjEgICBBMSAgICAgoSAgICAgSU5WRVJURUQgRVhDTEFNQVRJT04gTUFSSworICAgICAgIDI0MiAgIDE2MiAgIEEyICAgICCiICAgICBDRU5UIFNJR04KKyAgICAgICAyNDMgICAxNjMgICBBMyAgICAgoyAgICAgUE9VTkQgU0lHTgorICAgICAgIDI0NCAgIDE2NCAgIEE0ICAgICCkICAgICBDVVJSRU5DWSBTSUdOCisgICAgICAgMjQ1ICAgMTY1ICAgQTUgICAgIKUgICAgIFlFTiBTSUdOCisgICAgICAgMjQ2ICAgMTY2ICAgQTYgICAgIKYgICAgIEJST0tFTiBCQVIKKyAgICAgICAyNDcgICAxNjcgICBBNyAgICAgpyAgICAgU0VDVElPTiBTSUdOCisgICAgICAgMjUwICAgMTY4ICAgQTggICAgIKggICAgIERJQUVSRVNJUworICAgICAgIDI1MSAgIDE2OSAgIEE5ICAgICCpICAgICBDT1BZUklHSFQgU0lHTgorICAgICAgIDI1MiAgIDE3MCAgIEFBICAgICCqICAgICBGRU1JTklORSBPUkRJTkFMIElORElDQVRPUgorICAgICAgIDI1MyAgIDE3MSAgIEFCICAgICCrICAgICBMRUZULVBPSU5USU5HIERPVUJMRSBBTkdMRSBRVU9UQVRJT04gTUFSSworICAgICAgIDI1NCAgIDE3MiAgIEFDICAgICCsICAgICBOT1QgU0lHTgorICAgICAgIDI1NSAgIDE3MyAgIEFEICAgICCtICAgICBTT0ZUIEhZUEhFTgorICAgICAgIDI1NiAgIDE3NCAgIEFFICAgICCuICAgICBSRUdJU1RFUkVEIFNJR04KKyAgICAgICAyNTcgICAxNzUgICBBRiAgICAgryAgICAgTUFDUk9OCisgICAgICAgMjYwICAgMTc2ICAgQjAgICAgILAgICAgIERFR1JFRSBTSUdOCisgICAgICAgMjYxICAgMTc3ICAgQjEgICAgILEgICAgIFBMVVMtTUlOVVMgU0lHTgorICAgICAgIDI2MiAgIDE3OCAgIEIyICAgICCyICAgICBTVVBFUlNDUklQVCBUV08KKyAgICAgICAyNjMgICAxNzkgICBCMyAgICAgsyAgICAgU1VQRVJTQ1JJUFQgVEhSRUUKKyAgICAgICAyNjQgICAxODAgICBCNCAgICAgtCAgICAgQUNVVEUgQUNDRU5UCisgICAgICAgMjY1ICAgMTgxICAgQjUgICAgILUgICAgIE1JQ1JPIFNJR04KKyAgICAgICAyNjYgICAxODIgICBCNiAgICAgtiAgICAgUElMQ1JPVyBTSUdOCisgICAgICAgMjY3ICAgMTgzICAgQjcgICAgILcgICAgIE1JRERMRSBET1QKKyAgICAgICAyNzAgICAxODQgICBCOCAgICAguCAgICAgQ0VESUxMQQorICAgICAgIDI3MSAgIDE4NSAgIEI5ICAgICC5ICAgICBTVVBFUlNDUklQVCBPTkUKKyAgICAgICAyNzIgICAxODYgICBCQSAgICAguiAgICAgTUFTQ1VMSU5FIE9SRElOQUwgSU5ESUNBVE9SCisgICAgICAgMjczICAgMTg3ICAgQkIgICAgILsgICAgIFJJR0hULVBPSU5USU5HIERPVUJMRSBBTkdMRSBRVU9UQVRJT04gTUFSSworICAgICAgIDI3NCAgIDE4OCAgIEJDICAgICC8ICAgICBWVUxHQVIgRlJBQ1RJT04gT05FIFFVQVJURVIKKyAgICAgICAyNzUgICAxODkgICBCRCAgICAgvSAgICAgVlVMR0FSIEZSQUNUSU9OIE9ORSBIQUxGCisgICAgICAgMjc2ICAgMTkwICAgQkUgICAgIL4gICAgIFZVTEdBUiBGUkFDVElPTiBUSFJFRSBRVUFSVEVSUworICAgICAgIDI3NyAgIDE5MSAgIEJGICAgICC/ICAgICBJTlZFUlRFRCBRVUVTVElPTiBNQVJLCisgICAgICAgMzAwICAgMTkyICAgQzAgICAgIMAgICAgIExBVElOIENBUElUQUwgTEVUVEVSIEEgV0lUSCBHUkFWRQorICAgICAgIDMwMSAgIDE5MyAgIEMxICAgICDBICAgICBMQVRJTiBDQVBJVEFMIExFVFRFUiBBIFdJVEggQUNVVEUKKyAgICAgICAzMDIgICAxOTQgICBDMiAgICAgwiAgICAgTEFUSU4gQ0FQSVRBTCBMRVRURVIgQSBXSVRIIENJUkNVTUZMRVgKKyAgICAgICAzMDMgICAxOTUgICBDMyAgICAgwyAgICAgTEFUSU4gQ0FQSVRBTCBMRVRURVIgQSBXSVRIIFRJTERFCisgICAgICAgMzA0ICAgMTk2ICAgQzQgICAgIMQgICAgIExBVElOIENBUElUQUwgTEVUVEVSIEEgV0lUSCBESUFFUkVTSVMKKyAgICAgICAzMDUgICAxOTcgICBDNSAgICAgxSAgICAgTEFUSU4gQ0FQSVRBTCBMRVRURVIgQSBXSVRIIFJJTkcgQUJPVkUKKyAgICAgICAzMDYgICAxOTggICBDNiAgICAgxiAgICAgTEFUSU4gQ0FQSVRBTCBMRVRURVIgQUUKKyAgICAgICAzMDcgICAxOTkgICBDNyAgICAgxyAgICAgTEFUSU4gQ0FQSVRBTCBMRVRURVIgQyBXSVRIIENFRElMTEEKKyAgICAgICAzMTAgICAyMDAgICBDOCAgICAgyCAgICAgTEFUSU4gQ0FQSVRBTCBMRVRURVIgRSBXSVRIIEdSQVZFCisgICAgICAgMzExICAgMjAxICAgQzkgICAgIMkgICAgIExBVElOIENBUElUQUwgTEVUVEVSIEUgV0lUSCBBQ1VURQorICAgICAgIDMxMiAgIDIwMiAgIENBICAgICDKICAgICBMQVRJTiBDQVBJVEFMIExFVFRFUiBFIFdJVEggQ0lSQ1VNRkxFWAorICAgICAgIDMxMyAgIDIwMyAgIENCICAgICDLICAgICBMQVRJTiBDQVBJVEFMIExFVFRFUiBFIFdJVEggRElBRVJFU0lTCisgICAgICAgMzE0ICAgMjA0ICAgQ0MgICAgIMwgICAgIExBVElOIENBUElUQUwgTEVUVEVSIEkgV0lUSCBHUkFWRQorICAgICAgIDMxNSAgIDIwNSAgIENEICAgICDNICAgICBMQVRJTiBDQVBJVEFMIExFVFRFUiBJIFdJVEggQUNVVEUKKyAgICAgICAzMTYgICAyMDYgICBDRSAgICAgziAgICAgTEFUSU4gQ0FQSVRBTCBMRVRURVIgSSBXSVRIIENJUkNVTUZMRVgKKyAgICAgICAzMTcgICAyMDcgICBDRiAgICAgzyAgICAgTEFUSU4gQ0FQSVRBTCBMRVRURVIgSSBXSVRIIERJQUVSRVNJUworICAgICAgIDMyMCAgIDIwOCAgIEQwICAgICDQICAgICBMQVRJTiBDQVBJVEFMIExFVFRFUiBFVEgKKyAgICAgICAzMjEgICAyMDkgICBEMSAgICAg0SAgICAgTEFUSU4gQ0FQSVRBTCBMRVRURVIgTiBXSVRIIFRJTERFCisgICAgICAgMzIyICAgMjEwICAgRDIgICAgINIgICAgIExBVElOIENBUElUQUwgTEVUVEVSIE8gV0lUSCBHUkFWRQorICAgICAgIDMyMyAgIDIxMSAgIEQzICAgICDTICAgICBMQVRJTiBDQVBJVEFMIExFVFRFUiBPIFdJVEggQUNVVEUKKyAgICAgICAzMjQgICAyMTIgICBENCAgICAg1CAgICAgTEFUSU4gQ0FQSVRBTCBMRVRURVIgTyBXSVRIIENJUkNVTUZMRVgKKyAgICAgICAzMjUgICAyMTMgICBENSAgICAg1SAgICAgTEFUSU4gQ0FQSVRBTCBMRVRURVIgTyBXSVRIIFRJTERFCisgICAgICAgMzI2ICAgMjE0ICAgRDYgICAgINYgICAgIExBVElOIENBUElUQUwgTEVUVEVSIE8gV0lUSCBESUFFUkVTSVMKKyAgICAgICAzMjcgICAyMTUgICBENyAgICAg1yAgICAgTVVMVElQTElDQVRJT04gU0lHTgorICAgICAgIDMzMCAgIDIxNiAgIEQ4ICAgICDYICAgICBMQVRJTiBDQVBJVEFMIExFVFRFUiBPIFdJVEggU1RST0tFCisgICAgICAgMzMxICAgMjE3ICAgRDkgICAgINkgICAgIExBVElOIENBUElUQUwgTEVUVEVSIFUgV0lUSCBHUkFWRQorICAgICAgIDMzMiAgIDIxOCAgIERBICAgICDaICAgICBMQVRJTiBDQVBJVEFMIExFVFRFUiBVIFdJVEggQUNVVEUKKyAgICAgICAzMzMgICAyMTkgICBEQiAgICAg2yAgICAgTEFUSU4gQ0FQSVRBTCBMRVRURVIgVSBXSVRIIENJUkNVTUZMRVgKKyAgICAgICAzMzQgICAyMjAgICBEQyAgICAg3CAgICAgTEFUSU4gQ0FQSVRBTCBMRVRURVIgVSBXSVRIIERJQUVSRVNJUworICAgICAgIDMzNSAgIDIyMSAgIEREICAgICDdICAgICBMQVRJTiBDQVBJVEFMIExFVFRFUiBZIFdJVEggQUNVVEUKKyAgICAgICAzMzYgICAyMjIgICBERSAgICAg3iAgICAgTEFUSU4gQ0FQSVRBTCBMRVRURVIgVEhPUk4KKyAgICAgICAzMzcgICAyMjMgICBERiAgICAg3yAgICAgTEFUSU4gU01BTEwgTEVUVEVSIFNIQVJQIFMKKyAgICAgICAzNDAgICAyMjQgICBFMCAgICAg4CAgICAgTEFUSU4gU01BTEwgTEVUVEVSIEEgV0lUSCBHUkFWRQorICAgICAgIDM0MSAgIDIyNSAgIEUxICAgICDhICAgICBMQVRJTiBTTUFMTCBMRVRURVIgQSBXSVRIIEFDVVRFCisgICAgICAgMzQyICAgMjI2ICAgRTIgICAgIOIgICAgIExBVElOIFNNQUxMIExFVFRFUiBBIFdJVEggQ0lSQ1VNRkxFWAorICAgICAgIDM0MyAgIDIyNyAgIEUzICAgICDjICAgICBMQVRJTiBTTUFMTCBMRVRURVIgQSBXSVRIIFRJTERFCisgICAgICAgMzQ0ICAgMjI4ICAgRTQgICAgIOQgICAgIExBVElOIFNNQUxMIExFVFRFUiBBIFdJVEggRElBRVJFU0lTCisgICAgICAgMzQ1ICAgMjI5ICAgRTUgICAgIOUgICAgIExBVElOIFNNQUxMIExFVFRFUiBBIFdJVEggUklORyBBQk9WRQorICAgICAgIDM0NiAgIDIzMCAgIEU2ICAgICDmICAgICBMQVRJTiBTTUFMTCBMRVRURVIgQUUKKyAgICAgICAzNDcgICAyMzEgICBFNyAgICAg5yAgICAgTEFUSU4gU01BTEwgTEVUVEVSIEMgV0lUSCBDRURJTExBCisgICAgICAgMzUwICAgMjMyICAgRTggICAgIOggICAgIExBVElOIFNNQUxMIExFVFRFUiBFIFdJVEggR1JBVkUKKyAgICAgICAzNTEgICAyMzMgICBFOSAgICAg6SAgICAgTEFUSU4gU01BTEwgTEVUVEVSIEUgV0lUSCBBQ1VURQorICAgICAgIDM1MiAgIDIzNCAgIEVBICAgICDqICAgICBMQVRJTiBTTUFMTCBMRVRURVIgRSBXSVRIIENJUkNVTUZMRVgKKyAgICAgICAzNTMgICAyMzUgICBFQiAgICAg6yAgICAgTEFUSU4gU01BTEwgTEVUVEVSIEUgV0lUSCBESUFFUkVTSVMKKyAgICAgICAzNTQgICAyMzYgICBFQyAgICAg7CAgICAgTEFUSU4gU01BTEwgTEVUVEVSIEkgV0lUSCBHUkFWRQorICAgICAgIDM1NSAgIDIzNyAgIEVEICAgICDtICAgICBMQVRJTiBTTUFMTCBMRVRURVIgSSBXSVRIIEFDVVRFCisgICAgICAgMzU2ICAgMjM4ICAgRUUgICAgIO4gICAgIExBVElOIFNNQUxMIExFVFRFUiBJIFdJVEggQ0lSQ1VNRkxFWAorICAgICAgIDM1NyAgIDIzOSAgIEVGICAgICDvICAgICBMQVRJTiBTTUFMTCBMRVRURVIgSSBXSVRIIERJQUVSRVNJUworICAgICAgIDM2MCAgIDI0MCAgIEYwICAgICDwICAgICBMQVRJTiBTTUFMTCBMRVRURVIgRVRICisgICAgICAgMzYxICAgMjQxICAgRjEgICAgIPEgICAgIExBVElOIFNNQUxMIExFVFRFUiBOIFdJVEggVElMREUKKyAgICAgICAzNjIgICAyNDIgICBGMiAgICAg8iAgICAgTEFUSU4gU01BTEwgTEVUVEVSIE8gV0lUSCBHUkFWRQorICAgICAgIDM2MyAgIDI0MyAgIEYzICAgICDzICAgICBMQVRJTiBTTUFMTCBMRVRURVIgTyBXSVRIIEFDVVRFCisgICAgICAgMzY0ICAgMjQ0ICAgRjQgICAgIPQgICAgIExBVElOIFNNQUxMIExFVFRFUiBPIFdJVEggQ0lSQ1VNRkxFWAorICAgICAgIDM2NSAgIDI0NSAgIEY1ICAgICD1ICAgICBMQVRJTiBTTUFMTCBMRVRURVIgTyBXSVRIIFRJTERFCisgICAgICAgMzY2ICAgMjQ2ICAgRjYgICAgIPYgICAgIExBVElOIFNNQUxMIExFVFRFUiBPIFdJVEggRElBRVJFU0lTCisgICAgICAgMzY3ICAgMjQ3ICAgRjcgICAgIPcgICAgIERJVklTSU9OIFNJR04KKyAgICAgICAzNzAgICAyNDggICBGOCAgICAg+CAgICAgTEFUSU4gU01BTEwgTEVUVEVSIE8gV0lUSCBTVFJPS0UKKyAgICAgICAzNzEgICAyNDkgICBGOSAgICAg+SAgICAgTEFUSU4gU01BTEwgTEVUVEVSIFUgV0lUSCBHUkFWRQorICAgICAgIDM3MiAgIDI1MCAgIEZBICAgICD6ICAgICBMQVRJTiBTTUFMTCBMRVRURVIgVSBXSVRIIEFDVVRFCisgICAgICAgMzczICAgMjUxICAgRkIgICAgIPsgICAgIExBVElOIFNNQUxMIExFVFRFUiBVIFdJVEggQ0lSQ1VNRkxFWAorICAgICAgIDM3NCAgIDI1MiAgIEZDICAgICD8ICAgICBMQVRJTiBTTUFMTCBMRVRURVIgVSBXSVRIIERJQUVSRVNJUworICAgICAgIDM3NSAgIDI1MyAgIEZEICAgICD9ICAgICBMQVRJTiBTTUFMTCBMRVRURVIgWSBXSVRIIEFDVVRFCisgICAgICAgMzc2ICAgMjU0ICAgRkUgICAgIP4gICAgIExBVElOIFNNQUxMIExFVFRFUiBUSE9STgorICAgICAgIDM3NyAgIDI1NSAgIEZGICAgICD/ICAgICBMQVRJTiBTTUFMTCBMRVRURVIgWSBXSVRIIERJQUVSRVNJUworCis8L3RzdD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9pc29sYXQzIGIvbGlieG1sMi90ZXN0L2lzb2xhdDMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDBmYjNhMAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9pc29sYXQzCkBAIC0wLDAgKzEsMTAgQEAKKzw/eG1sIHZlcnNpb249JzEuMCcgZW5jb2Rpbmc9J0lTTy04ODU5LTEnPz4KKzxyZWM+Cis8ZWc+PCFbQ0RBVEFbPCFFTlRJVFkgJSBwdWIgICAgIiYjeGM5O2RpdGlvbnMgR2FsbGltYXJkIiA+Cis8IUVOVElUWSAgIHJpZ2h0cyAiQWxsIHJpZ2h0cyByZXNlcnZlZCIgPgorPCFFTlRJVFkgICBib29rICAgIkxhIFBlc3RlOiBBbGJlcnQgQ2FtdXMsIAorJiN4QTk7IDE5NDcgJXB1YjsuICZyaWdodHM7IiA+XV0+PC9lZz4KK3RoZW4gdGhlIHJlcGxhY2VtZW50IHRleHQgZm9yIHRoZSBlbnRpdHkgIjxjb2RlPmJvb2s8L2NvZGU+IiBpczoKKzxlZz5MYSBQZXN0ZTogQWxiZXJ0IENhbXVzLCAKKyYjMTY5OyAxOTQ3ICYjMjAxO2RpdGlvbnMgR2FsbGltYXJkLiAmYW1wO3JpZ2h0czs8L2VnPgorPC9yZWM+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvamFwYW5jcmxmLnhtbCBiL2xpYnhtbDIvdGVzdC9qYXBhbmNybGYueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ4MGNiMmQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvamFwYW5jcmxmLnhtbApAQCAtMCwwICsxLDYgQEAKK++7vzzlhaXlipvjg6Hjg4Pjgrvjg7zjgrgNCisJeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLmNvcmR5cy5jb20vd2ViYXBwcy8xLjAvYnBtL2M4YzhiODJhLTBhYzAtM2QxOS0wMWUyLWJkYTc0YWY5YjgyNiI+DQorCTxjOGM6RWxlDQorCQl4bWxuczpjOGM9Imh0dHA6Ly9zY2hlbWFzLmNvcmR5cy5jb20vd2ViYXBwcy8xLjAvYnBtL2M4YzhiODJhLTBhYzAtM2QxOS0wMWUyLWJkYTc0YWY5YjgyNiINCisJLz4NCis8L+WFpeWKm+ODoeODg+OCu+ODvOOCuD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvbmFtZXNwYWNlcy9lcnJfMC54bWwgYi9saWJ4bWwyL3Rlc3QvbmFtZXNwYWNlcy9lcnJfMC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTBiZGQzMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9uYW1lc3BhY2VzL2Vycl8wLnhtbApAQCAtMCwwICsxIEBACis8Zm9vIHhtbG5zYmFyPSIxIi8+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvbmFtZXNwYWNlcy9lcnJfMS54bWwgYi9saWJ4bWwyL3Rlc3QvbmFtZXNwYWNlcy9lcnJfMS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWI2ZjQzYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9uYW1lc3BhY2VzL2Vycl8xLnhtbApAQCAtMCwwICsxIEBACis8Zm9vIHhtbG5zOj0iaHR0cDovL2V4YW1wbGUuY29tLyIvPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L25hbWVzcGFjZXMvZXJyXzEwLnhtbCBiL2xpYnhtbDIvdGVzdC9uYW1lc3BhY2VzL2Vycl8xMC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2YzNjI2MQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9uYW1lc3BhY2VzL2Vycl8xMC54bWwKQEAgLTAsMCArMSBAQAorPHRzdCB4bWxucz0iaHR0cDovL2V4YW1wbGUuY29tLyIgeG1sbnM9Imh0dHA6Ly9leGFtcGxlLmNvbS8iLz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9uYW1lc3BhY2VzL2Vycl8xMS54bWwgYi9saWJ4bWwyL3Rlc3QvbmFtZXNwYWNlcy9lcnJfMTEueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlkODE5MzkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvbmFtZXNwYWNlcy9lcnJfMTEueG1sCkBAIC0wLDAgKzEgQEAKKzx0c3QgeG1sbnM6YT0iaHR0cDovL2V4YW1wbGUuY29tLyIgeG1sbnM6YT0iaHR0cDovL2V4YW1wbGUuY29tLyIvPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L25hbWVzcGFjZXMvZXJyXzIueG1sIGIvbGlieG1sMi90ZXN0L25hbWVzcGFjZXMvZXJyXzIueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlmZDUxYjMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvbmFtZXNwYWNlcy9lcnJfMi54bWwKQEAgLTAsMCArMSBAQAorPDovPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L25hbWVzcGFjZXMvZXJyXzMueG1sIGIvbGlieG1sMi90ZXN0L25hbWVzcGFjZXMvZXJyXzMueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNkNGQ0MzkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvbmFtZXNwYWNlcy9lcnJfMy54bWwKQEAgLTAsMCArMSBAQAorPDpmb28vPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L25hbWVzcGFjZXMvZXJyXzQueG1sIGIvbGlieG1sMi90ZXN0L25hbWVzcGFjZXMvZXJyXzQueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlkYzI5NGUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvbmFtZXNwYWNlcy9lcnJfNC54bWwKQEAgLTAsMCArMSBAQAorPGY6IHhtbG5zOmY9Imh0dHA6Ly9leGFtcGxlLmNvbS9mb28iLz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9uYW1lc3BhY2VzL2Vycl81LnhtbCBiL2xpYnhtbDIvdGVzdC9uYW1lc3BhY2VzL2Vycl81LnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41OTQzYzExCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L25hbWVzcGFjZXMvZXJyXzUueG1sCkBAIC0wLDAgKzEgQEAKKzxmOmE6IHhtbG5zOmY9Imh0dHA6Ly9leGFtcGxlLmNvbS9mb28iLz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9uYW1lc3BhY2VzL2Vycl82LnhtbCBiL2xpYnhtbDIvdGVzdC9uYW1lc3BhY2VzL2Vycl82LnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lM2ViM2IyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L25hbWVzcGFjZXMvZXJyXzYueG1sCkBAIC0wLDAgKzEgQEAKKzxmOmE6YiB4bWxuczpmPSJodHRwOi8vZXhhbXBsZS5jb20vZm9vIi8+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvbmFtZXNwYWNlcy9lcnJfNy54bWwgYi9saWJ4bWwyL3Rlc3QvbmFtZXNwYWNlcy9lcnJfNy54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWJiZTIzNQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9uYW1lc3BhY2VzL2Vycl83LnhtbApAQCAtMCwwICsxIEBACis8Zjpmb28vPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L25hbWVzcGFjZXMvZXJyXzgueG1sIGIvbGlieG1sMi90ZXN0L25hbWVzcGFjZXMvZXJyXzgueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgzMjFkYTIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvbmFtZXNwYWNlcy9lcnJfOC54bWwKQEAgLTAsMCArMSBAQAorPHRzdCB4bWxuczp4bWw9Imh0dHA6Ly9leGFtcGxlLmNvbS8iLz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9uYW1lc3BhY2VzL2Vycl85LnhtbCBiL2xpYnhtbDIvdGVzdC9uYW1lc3BhY2VzL2Vycl85LnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NDc4YzYwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L25hbWVzcGFjZXMvZXJyXzkueG1sCkBAIC0wLDAgKzEsMiBAQAorPHRzdCB4bWxuczphPSJodHRwOi8vZXhhbXBsZS5jb20vIiB4bWxuczpiPSJodHRwOi8vZXhhbXBsZS5jb20vIgorICAgICBhOmVycj0iMSIgYjplcnI9IjIiLz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9uYW1lc3BhY2VzL3JlY29uY2lsZS90ZXN0cy10by1jLnhzbCBiL2xpYnhtbDIvdGVzdC9uYW1lc3BhY2VzL3JlY29uY2lsZS90ZXN0cy10by1jLnhzbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YTBkMWM2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L25hbWVzcGFjZXMvcmVjb25jaWxlL3Rlc3RzLXRvLWMueHNsCkBAIC0wLDAgKzEsMjc1IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzx4c2w6c3R5bGVzaGVldCB2ZXJzaW9uPSIxLjAiIHhtbG5zOnhzbD0iaHR0cDovL3d3dy53My5vcmcvMTk5OS9YU0wvVHJhbnNmb3JtIj4KKwk8eHNsOm91dHB1dCBtZXRob2Q9InRleHQiLz4KKworCTx4c2w6dGVtcGxhdGUgbWF0Y2g9Ii8iPgorCQk8eHNsOnRleHQ+PCFbQ0RBVEFbCisjaW5jbHVkZSA8bGlieG1sL3BhcnNlci5oPgorI2luY2x1ZGUgPGxpYnhtbC90cmVlLmg+CisjaW5jbHVkZSA8bGlieG1sL3hwYXRoLmg+CisjaW5jbHVkZSA8bGlieG1sL3hwYXRoSW50ZXJuYWxzLmg+CitdXT4KKzwveHNsOnRleHQ+CisJCTx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJzZXJpYWxpemVyIi8+CQkKKwkJPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJ0ZXN0cy90ZXN0Ii8+CisJCTx4c2w6dGV4dD4KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7JiN4QTs8L3hzbDp0ZXh0PgorCQk8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9InRlc3RzL3Rlc3QiIG1vZGU9ImNhbGwiLz4KKwkJPHhzbDp0ZXh0PgorCS8qIHByaW50ZigiZmluaXNoZWQuXG4iKTsgKi8KKwlyZXR1cm4gKDApOworfQorPC94c2w6dGV4dD4KKwk8L3hzbDp0ZW1wbGF0ZT4JCisKKwk8eHNsOnRlbXBsYXRlIG1hdGNoPSJ0ZXN0cy90ZXN0IiBtb2RlPSJjYWxsIj4KKwkJPHhzbDp0ZXh0Pgluc1Rlc3RfPC94c2w6dGV4dD4KKwkJPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+CisJCTx4c2w6dGV4dD4oKTsmI3hBOzwveHNsOnRleHQ+CisJPC94c2w6dGVtcGxhdGU+CisKKwk8eHNsOnRlbXBsYXRlIG5hbWU9InhtbC10ZXh0Ij4KKwkJPHhzbDpwYXJhbSBuYW1lPSJ0ZXh0Ii8+CisJCTx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJyZXBsYWNlLXN0cmluZyI+CisJCQk8IS0tIFN1YnN0aXR1dGUgIzEwIGZvciAiIC0tPgkgICAgICAgIAkJCQorCSAgICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9ImZyb20iIHNlbGVjdD0iJyYjMTA7JyIvPgorCSAgICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9InRvIiBzZWxlY3Q9IicmcXVvdDsmIzEwOyZxdW90OyciLz4KKwkJCTx4c2w6d2l0aC1wYXJhbSBuYW1lPSJ0ZXh0Ij4KKwkJCQk8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0icmVwbGFjZS1zdHJpbmciPgorCQkJCQk8IS0tIFN1YnN0aXR1dGUgIiBmb3IgXCIgLS0+CisJICAgICAgICAJCTx4c2w6d2l0aC1wYXJhbSBuYW1lPSJmcm9tIiBzZWxlY3Q9IicmcXVvdDsnIi8+CisJICAgICAgICAJCTx4c2w6d2l0aC1wYXJhbSBuYW1lPSJ0byIgc2VsZWN0PSInXCZxdW90OyciLz4KKwkJCQkJPHhzbDp3aXRoLXBhcmFtIG5hbWU9InRleHQiPgorCQkJCQkJPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9InJlcGxhY2Utc3RyaW5nIj4KKwkJCQkJCQk8IS0tIFJlbW92ZSB0YWJzLiAtLT4KKwkJCSAgICAgICAgCQk8eHNsOndpdGgtcGFyYW0gbmFtZT0iZnJvbSIgc2VsZWN0PSInJiM5OyciLz4KKwkJCSAgICAgICAgCQk8eHNsOndpdGgtcGFyYW0gbmFtZT0idG8iIHNlbGVjdD0iJyciLz4KKwkJCQkJCQk8eHNsOndpdGgtcGFyYW0gbmFtZT0idGV4dCIgc2VsZWN0PSIkdGV4dCIvPgorCSAgICAJCQkJPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKwkJCQkJPC94c2w6d2l0aC1wYXJhbT4KKyAgICAJCQk8L3hzbDpjYWxsLXRlbXBsYXRlPgorCQkJPC94c2w6d2l0aC1wYXJhbT4KKyAgICAJPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKwkJCisJPC94c2w6dGVtcGxhdGU+CisKKwk8eHNsOnRlbXBsYXRlIG1hdGNoPSJkb2MiIG1vZGU9ImRlZmluZSI+CisJCTx4c2w6dGV4dD4JeG1sRG9jUHRyIDwveHNsOnRleHQ+CisJCTx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPgorCQk8eHNsOnRleHQ+OyYjeEE7PC94c2w6dGV4dD4KKwkJPHhzbDp0ZXh0Pgljb25zdCBjaGFyICogPC94c2w6dGV4dD4KKwkJPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+CisJCTx4c2w6dGV4dD5fc3RyID0gIjwveHNsOnRleHQ+CisJCTx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJ4bWwtdGV4dCI+CisJICAgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0idGV4dCIgc2VsZWN0PSIuIi8+CisgICAgCTwveHNsOmNhbGwtdGVtcGxhdGU+CQkKKwkJPHhzbDp0ZXh0PiI7JiN4QTs8L3hzbDp0ZXh0PgorCTwveHNsOnRlbXBsYXRlPgorCisJPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iZXhwZWN0ZWQiIG1vZGU9ImRlZmluZSI+CisJCTx4c2w6dGV4dD4JY29uc3QgY2hhciAqIDwveHNsOnRleHQ+CQorCQk8eHNsOnRleHQ+ZXhwX3N0ciA9ICI8L3hzbDp0ZXh0PgorCQk8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0ieG1sLXRleHQiPgorCSAgICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9InRleHQiIHNlbGVjdD0iLiIvPgorICAgIAk8L3hzbDpjYWxsLXRlbXBsYXRlPgkJCisJCTx4c2w6dGV4dD4iOyYjeEE7PC94c2w6dGV4dD4KKwk8L3hzbDp0ZW1wbGF0ZT4KKworCTx4c2w6dGVtcGxhdGUgbWF0Y2g9ImRvYyI+CisJCTx4c2w6dGV4dD4JPC94c2w6dGV4dD4KKwkJPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+CisJCTx4c2w6dGV4dD4gPSB4bWxSZWFkRG9jKEJBRF9DQVNUIDwveHNsOnRleHQ+CisJCTx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPgorCQk8eHNsOnRleHQ+X3N0ciwgTlVMTCwgTlVMTCwgMCk7JiN4QTs8L3hzbDp0ZXh0PgorCQkJCisJCTx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZm9sbG93aW5nLXNpYmxpbmc6OipbMV0iLz4KKworCQk8eHNsOnRleHQ+CXhtbEZyZWVEb2MoPC94c2w6dGV4dD4KKwkJPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+CisJCTx4c2w6dGV4dD4pOyYjeEE7PC94c2w6dGV4dD4KKwk8L3hzbDp0ZW1wbGF0ZT4KKworCTx4c2w6dGVtcGxhdGUgbWF0Y2g9InhwYXRoIj4KKwk8L3hzbDp0ZW1wbGF0ZT4KKworCTx4c2w6dGVtcGxhdGUgbWF0Y2g9InZhciIgbW9kZT0iZGVmaW5lIj4KKwkJPHhzbDp0ZXh0Pgl4bWxOb2RlUHRyIDwveHNsOnRleHQ+CisJCTx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPgorCQk8eHNsOnRleHQ+OyYjeEE7PC94c2w6dGV4dD4KKwk8L3hzbDp0ZW1wbGF0ZT4KKworCTx4c2w6dGVtcGxhdGUgbWF0Y2g9InZhciI+CisJCTx4c2w6aWYgdGVzdD0ieHBhdGgiPgorCQkJPCEtLSBDcmVhdGUgWFBhdGggY29udGV4dC4gLS0+CisJCQk8eHNsOnRleHQ+CS8qIFNlbGVjdGluZyBub2RlICI8L3hzbDp0ZXh0Pjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPjx4c2w6dGV4dD4iLiAqLyYjeEE7PC94c2w6dGV4dD4KKwkJCTx4c2w6dGV4dD4JeHAgPSB4bWxYUGF0aE5ld0NvbnRleHQoPC94c2w6dGV4dD4KKwkJCTx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJ4cGF0aC9AZG9jIi8+CisJCQk8eHNsOnRleHQ+KTsmI3hBOzwveHNsOnRleHQ+CisJCQk8IS0tIFJlZ2lzdGVyIG5hbWVzcGFjZXMuIC0tPgorCQkJPHhzbDpmb3ItZWFjaCBzZWxlY3Q9InhwYXRoL3JlZy1ucyI+CisJCQkJPHhzbDp0ZXh0Pgl4bWxYUGF0aFJlZ2lzdGVyTnMoeHAsIEJBRF9DQVNUICI8L3hzbDp0ZXh0PgorCQkJCTx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAcHJlZml4Ii8+CisJCQkJPHhzbDp0ZXh0PiIsIEJBRF9DQVNUICI8L3hzbDp0ZXh0PgorCQkJCTx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbnMiLz4KKwkJCQk8eHNsOnRleHQ+Iik7JiN4QTs8L3hzbDp0ZXh0PgorCQkJPC94c2w6Zm9yLWVhY2g+CisJCQk8IS0tIEV2YWx1YXRlLiAtLT4KKwkJCTx4c2w6dGV4dD4JPC94c2w6dGV4dD4KKwkJCTx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPgorCQkJPHhzbDp0ZXh0PiA9IG5zU2VsZWN0Tm9kZSh4cCwgIjwveHNsOnRleHQ+CisJCQk8eHNsOnZhbHVlLW9mIHNlbGVjdD0ieHBhdGgvQHNlbGVjdC1ub2RlIi8+CisJCQk8eHNsOnRleHQ+Iik7JiN4QTs8L3hzbDp0ZXh0PgorCQkJPHhzbDp0ZXh0Pgl4bWxYUGF0aEZyZWVDb250ZXh0KHhwKTsmI3hBOzwveHNsOnRleHQ+CisJCTwveHNsOmlmPgorCQk8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImZvbGxvd2luZy1zaWJsaW5nOjoqWzFdIi8+CisJPC94c2w6dGVtcGxhdGU+CisKKwk8eHNsOnRlbXBsYXRlIG1hdGNoPSJyZWNvbmNpbGUtbnMiPgorCQk8eHNsOnRleHQ+CS8qIFJlY29uY2lsZSBub2RlICI8L3hzbDp0ZXh0Pjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAcmVmIi8+PHhzbDp0ZXh0PiIuICovJiN4QTs8L3hzbDp0ZXh0PgorCQk8eHNsOnRleHQ+CXhtbERPTVdyYXBSZWNvbmNpbGVOYW1lc3BhY2VzKE5VTEwsIDwveHNsOnRleHQ+CisJCTx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbm9kZSIvPgorCQk8eHNsOnRleHQ+LCAwKTsmI3hBOzwveHNsOnRleHQ+CisJCTx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZm9sbG93aW5nLXNpYmxpbmc6OipbMV0iLz4KKwk8L3hzbDp0ZW1wbGF0ZT4KKworCTx4c2w6dGVtcGxhdGUgbWF0Y2g9InJlbW92ZSI+CisJCTx4c2w6dGV4dD4JeG1sRE9NV3JhcFJlbW92ZU5vZGUoTlVMTCwgPC94c2w6dGV4dD4KKwkJPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBub2RlIi8+CisJCTx4c2w6dGV4dD4tPmRvYywgPC94c2w6dGV4dD4KKwkJPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBub2RlIi8+CisJCTx4c2w6dGV4dD4sIDApOyYjeEE7PC94c2w6dGV4dD4KKwkJPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJmb2xsb3dpbmctc2libGluZzo6KlsxXSIvPgorCTwveHNsOnRlbXBsYXRlPgorCisJPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iYWRvcHQiPgorCQk8eHNsOnRleHQ+CS8qIEFkb3B0ICI8L3hzbDp0ZXh0Pjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbm9kZSIvPjx4c2w6dGV4dD4iLiAqLyYjeEE7PC94c2w6dGV4dD4KKwkJPHhzbDp0ZXh0Pgl4bWxET01XcmFwQWRvcHROb2RlKE5VTEwsIDwveHNsOnRleHQ+CisJCTx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbm9kZSIvPgorCQk8eHNsOnRleHQ+LT5kb2MsIDwveHNsOnRleHQ+CisJCTx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbm9kZSIvPgorCQk8eHNsOnRleHQ+LCA8L3hzbDp0ZXh0PgorCQk8eHNsOnZhbHVlLW9mIHNlbGVjdD0iQGRlc3QtZG9jIi8+CisJCTx4c2w6dGV4dD4sIDwveHNsOnRleHQ+CisJCTx4c2w6Y2hvb3NlPgorCQkJPHhzbDp3aGVuIHRlc3Q9IkBkZXN0LXBhcmVudCI+CisJCQkJPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBkZXN0LXBhcmVudCIvPgorCQkJPC94c2w6d2hlbj4KKwkJCTx4c2w6b3RoZXJ3aXNlPgorCQkJCTx4c2w6dGV4dD5OVUxMPC94c2w6dGV4dD4KKwkJCTwveHNsOm90aGVyd2lzZT4KKwkJPC94c2w6Y2hvb3NlPgkJCisJCTx4c2w6dGV4dD4sIDApOyYjeEE7PC94c2w6dGV4dD4KKwkJPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJmb2xsb3dpbmctc2libGluZzo6KlsxXSIvPgorCTwveHNsOnRlbXBsYXRlPgorCisJPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iYXBwZW5kLWNoaWxkIj4KKwkJPHhzbDp0ZXh0Pgl4bWxBZGRDaGlsZCg8L3hzbDp0ZXh0PgorCQk8eHNsOnZhbHVlLW9mIHNlbGVjdD0iQHBhcmVudCIvPgorCQk8eHNsOnRleHQ+LCA8L3hzbDp0ZXh0PgorCQk8eHNsOnZhbHVlLW9mIHNlbGVjdD0iQGNoaWxkIi8+CisJCTx4c2w6dGV4dD4pOyYjeEE7PC94c2w6dGV4dD4KKwkJPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJmb2xsb3dpbmctc2libGluZzo6KlsxXSIvPgorCTwveHNsOnRlbXBsYXRlPgorCisJPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iZXhwZWN0ZWQiPgkJCisJCTx4c2w6dGV4dD4JLyogU2VyaWFsaXplICI8L3hzbDp0ZXh0Pjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAZG9jIi8+PHhzbDp0ZXh0PiIuICovJiN4QTs8L3hzbDp0ZXh0PgorCQk8eHNsOnRleHQ+CXJlc3VsdF9zdHIgPSBuc1NlcmlhbGl6ZU5vZGUoeG1sRG9jR2V0Um9vdEVsZW1lbnQoPC94c2w6dGV4dD4KKwkJPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBkb2MiLz4KKwkJPHhzbDp0ZXh0PikpOyYjeEE7PC94c2w6dGV4dD4KKwkJPHhzbDp0ZXh0PgkvKiBDb21wYXJlIHJlc3VsdC4gKi8KKwlpZiAoISB4bWxTdHJFcXVhbChCQURfQ0FTVCByZXN1bHRfc3RyLCBCQURfQ0FTVCBleHBfc3RyKSkgeworCQlwcmludGYoIkZBSUxFRFxuIik7CisJCXByaW50ZigiJXNcbiIsIChjb25zdCBjaGFyICopIHJlc3VsdF9zdHIpOworCQlwcmludGYoIi0gLSAtXG4iKTsKKwkJcHJpbnRmKCJFeHBlY3RlZDpcbiVzXG4iLCBleHBfc3RyKTsKKwkJcHJpbnRmKCI9ID0gPVxuIik7CisJfQorCXhtbEZyZWUocmVzdWx0X3N0cik7JiN4QTs8L3hzbDp0ZXh0PgorCTwveHNsOnRlbXBsYXRlPgorCisJPCEtLSoqKioqKioqCisJICAgICogVEVTVCAqCisJICAgICoqKioqKioqLS0+CisJPHhzbDp0ZW1wbGF0ZSBtYXRjaD0idGVzdCI+CQkKKwkJPHhzbDp0ZXh0PnZvaWQgbnNUZXN0XzwveHNsOnRleHQ+CisJCTx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPgorCQk8eHNsOnRleHQ+KHZvaWQpIHsKKwl4bWxDaGFyICogcmVzdWx0X3N0cjsKKwl4bWxYUGF0aENvbnRleHRQdHIgeHA7CisJaW50IG1lbW9yeTsmI3hBOzwveHNsOnRleHQ+CisJCTx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iKiIgbW9kZT0iZGVmaW5lIi8+CisJCTx4c2w6dGV4dD4KKwltZW1vcnkgPSB4bWxNZW1Vc2VkKCk7CisJeG1sSW5pdFBhcnNlcigpOyYjeEE7JiN4QTs8L3hzbDp0ZXh0PgorCQk8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImNoaWxkOjoqWzFdIi8+CisJCTx4c2w6dGV4dD4KKwl4bWxDbGVhbnVwUGFyc2VyKCk7CisJbWVtb3J5ID0geG1sTWVtVXNlZCgpIC0gbWVtb3J5OworCisJaWYgKG1lbW9yeSAhPSAwKSB7CQkKKwkJcHJpbnRmKCIjIyAnJXMnIE1FTU9SWSBsZWFrOiAlZFxuIiwgIjwveHNsOnRleHQ+CisJCTx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPgorCQk8eHNsOnRleHQ+IiwgbWVtb3J5KTsKKyAgICB9CQkKK30KKzwveHNsOnRleHQ+CQorCTwveHNsOnRlbXBsYXRlPgorCisJPHhzbDp0ZW1wbGF0ZSBuYW1lPSJzZXJpYWxpemVyIj4KKwkJPHhzbDp0ZXh0PgorCQkKK3htbENoYXIgKiBuc1NlcmlhbGl6ZU5vZGUoeG1sTm9kZVB0ciBub2RlKSB7CisJeG1sQ2hhciAqIHJldDsKKworCXhtbE91dHB1dEJ1ZmZlclB0ciBidWY7CisJYnVmID0geG1sQWxsb2NPdXRwdXRCdWZmZXIoTlVMTCk7CisJeG1sTm9kZUR1bXBPdXRwdXQoYnVmLCBub2RlLT5kb2MsIG5vZGUsIDAsIDAsIE5VTEwpOworCXhtbE91dHB1dEJ1ZmZlckZsdXNoKGJ1Zik7CisJcmV0ID0gKHhtbENoYXIgKikgYnVmLT5idWZmZXItPmNvbnRlbnQ7CisJYnVmLT5idWZmZXItPmNvbnRlbnQgPSBOVUxMOworCSh2b2lkKSB4bWxPdXRwdXRCdWZmZXJDbG9zZShidWYpOworCXJldHVybiAocmV0KTsKK30KKworeG1sTm9kZVB0ciBuc1NlbGVjdE5vZGUoeG1sWFBhdGhDb250ZXh0UHRyIHhwLCBjb25zdCBjaGFyICogeHBhdGgpIHsKKwl4bWxYUGF0aE9iamVjdFB0ciB4cHJlczsKKwl4bWxOb2RlUHRyIHJldDsJCisJCQorCXhwcmVzID0geG1sWFBhdGhFdmFsKEJBRF9DQVNUIHhwYXRoLCB4cCk7CisJcmV0ID0geHByZXMtPm5vZGVzZXR2YWwtPm5vZGVUYWJbMF07CisJeG1sWFBhdGhGcmVlT2JqZWN0KHhwcmVzKTsKKwlyZXR1cm4gKHJldCk7Cit9CisKKzwveHNsOnRleHQ+CisJPC94c2w6dGVtcGxhdGU+CisKKwk8eHNsOnRlbXBsYXRlIG5hbWU9InJlcGxhY2Utc3RyaW5nIj4KKyAgICA8eHNsOnBhcmFtIG5hbWU9InRleHQiLz4KKyAgICA8eHNsOnBhcmFtIG5hbWU9ImZyb20iLz4KKyAgICA8eHNsOnBhcmFtIG5hbWU9InRvIi8+CisKKyAgICA8eHNsOmNob29zZT4KKyAgICAgIDx4c2w6d2hlbiB0ZXN0PSJjb250YWlucygkdGV4dCwgJGZyb20pIj4KKworCTx4c2w6dmFyaWFibGUgbmFtZT0iYmVmb3JlIiBzZWxlY3Q9InN1YnN0cmluZy1iZWZvcmUoJHRleHQsICRmcm9tKSIvPgorCTx4c2w6dmFyaWFibGUgbmFtZT0iYWZ0ZXIiIHNlbGVjdD0ic3Vic3RyaW5nLWFmdGVyKCR0ZXh0LCAkZnJvbSkiLz4KKwk8eHNsOnZhcmlhYmxlIG5hbWU9InByZWZpeCIgc2VsZWN0PSJjb25jYXQoJGJlZm9yZSwgJHRvKSIvPgorCisJPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRiZWZvcmUiLz4KKwk8eHNsOnZhbHVlLW9mIHNlbGVjdD0iJHRvIi8+CisgICAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJyZXBsYWNlLXN0cmluZyI+CisJICA8eHNsOndpdGgtcGFyYW0gbmFtZT0idGV4dCIgc2VsZWN0PSIkYWZ0ZXIiLz4KKwkgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJmcm9tIiBzZWxlY3Q9IiRmcm9tIi8+CisJICA8eHNsOndpdGgtcGFyYW0gbmFtZT0idG8iIHNlbGVjdD0iJHRvIi8+CisJPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKyAgICAgIDwveHNsOndoZW4+IAorICAgICAgPHhzbDpvdGhlcndpc2U+CisgICAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkdGV4dCIvPiAgCisgICAgICA8L3hzbDpvdGhlcndpc2U+CisgICAgPC94c2w6Y2hvb3NlPiAgICAgICAgICAgIAorIDwveHNsOnRlbXBsYXRlPgorCQkKKwkKKzwveHNsOnN0eWxlc2hlZXQ+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvbmFtZXNwYWNlcy9yZWNvbmNpbGUvdGVzdHMueG1sIGIvbGlieG1sMi90ZXN0L25hbWVzcGFjZXMvcmVjb25jaWxlL3Rlc3RzLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNmY4YzU0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L25hbWVzcGFjZXMvcmVjb25jaWxlL3Rlc3RzLnhtbApAQCAtMCwwICsxLDI0OSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8dGVzdHM+CisJPHRlc3QgbmFtZT0iYWRvcHRfcmVjb25fZGVmYXVsdCI+CisJCQorCQk8ZG9jIG5hbWU9ImRvYzEiPjwhW0NEQVRBWzxwMSB4bWxucz0idXJuOnRlc3Q6QUFBIj48YS8+PC9wMT5dXT48L2RvYz4KKwkJPGRvYyBuYW1lPSJkb2MyIj48IVtDREFUQVs8cDEgeG1sbnM9InVybjp0ZXN0OkJCQiI+PGIvPjwvcDE+XV0+PC9kb2M+CisJCTxkb2MgbmFtZT0iZG9jMyI+PCFbQ0RBVEFbPHAyIHhtbG5zPSJ1cm46dGVzdDpaWloiLz5dXT48L2RvYz4KKwkJPHZhciBuYW1lPSJhIj4KKwkJCTx4cGF0aCBkb2M9ImRvYzEiIHNlbGVjdC1ub2RlPSIvYTpwMS9hOmEiPgorCQkJCTxyZWctbnMgcHJlZml4PSJhIiBucz0idXJuOnRlc3Q6QUFBIi8+CisJCQk8L3hwYXRoPgorCQk8L3Zhcj4KKwkJPHZhciBuYW1lPSJiIiA+CisJCQk8eHBhdGggZG9jPSJkb2MyIiBzZWxlY3Qtbm9kZT0iL2I6cDEvYjpiIj4KKwkJCQk8cmVnLW5zIHByZWZpeD0iYiIgbnM9InVybjp0ZXN0OkJCQiIvPgkJCQkKKwkJCTwveHBhdGg+CisJCTwvdmFyPgorCQk8dmFyIG5hbWU9InAyIj4KKwkJCTx4cGF0aCBkb2M9ImRvYzMiIHNlbGVjdC1ub2RlPSIvejpwMiI+CisJCQkJPHJlZy1ucyBwcmVmaXg9InoiIG5zPSJ1cm46dGVzdDpaWloiLz4JCQkJCisJCQk8L3hwYXRoPgorCQk8L3Zhcj4KKworCQk8cmVtb3ZlIG5vZGU9ImEiLz4KKwkJPGFkb3B0IGRlc3QtZG9jPSJkb2MzIiBub2RlPSJhIi8+CisJCTxhcHBlbmQtY2hpbGQgcGFyZW50PSJwMiIgY2hpbGQ9ImEiLz4KKworCQk8IS0tIFRoaXMgdGltZSB3aXRob3V0IGEgcHJldmlvdXMgcmVtb3ZpbmcuIC0tPgorCQk8YWRvcHQgZGVzdC1kb2M9ImRvYzMiIG5vZGU9ImIiLz4KKwkJPGFwcGVuZC1jaGlsZCBwYXJlbnQ9InAyIiBjaGlsZD0iYiIvPgorCisJCTxyZWNvbmNpbGUtbnMgbm9kZT0icDIiLz4KKwkJPGV4cGVjdGVkIGRvYz0iZG9jMyI+PCFbQ0RBVEFbPHAyIHhtbG5zPSJ1cm46dGVzdDpaWloiPjxhIHhtbG5zPSJ1cm46dGVzdDpBQUEiLz48YiB4bWxucz0idXJuOnRlc3Q6QkJCIi8+PC9wMj5dXT48L2V4cGVjdGVkPgorCTwvdGVzdD4KKworCTx0ZXN0IG5hbWU9ImFkb3B0X3JlY29uIj4JCQorCQk8ZG9jIG5hbWU9ImRvYzEiPjwhW0NEQVRBWzxhOnAxIHhtbG5zOmE9InVybjp0ZXN0OkFBQSI+PGE6YS8+PC9hOnAxPl1dPjwvZG9jPgorCQk8ZG9jIG5hbWU9ImRvYzIiPjwhW0NEQVRBWzxhOnAyIHhtbG5zOmE9InVybjp0ZXN0OkFBQSIvPl1dPjwvZG9jPgorCQk8dmFyIG5hbWU9ImEiPgorCQkJPHhwYXRoIGRvYz0iZG9jMSIgc2VsZWN0LW5vZGU9Ii9hOnAxL2E6YSI+CisJCQkJPHJlZy1ucyBwcmVmaXg9ImEiIG5zPSJ1cm46dGVzdDpBQUEiLz4KKwkJCTwveHBhdGg+CisJCTwvdmFyPgorCQk8dmFyIG5hbWU9InAyIj4KKwkJCTx4cGF0aCBkb2M9ImRvYzIiIHNlbGVjdC1ub2RlPSIvYTpwMiI+CisJCQkJPHJlZy1ucyBwcmVmaXg9ImEiIG5zPSJ1cm46dGVzdDpBQUEiLz4JCQkJCisJCQk8L3hwYXRoPgorCQk8L3Zhcj4KKwkJPGFkb3B0IGRlc3QtZG9jPSJkb2MyIiBub2RlPSJhIi8+CisJCTxhcHBlbmQtY2hpbGQgcGFyZW50PSJwMiIgY2hpbGQ9ImEiLz4KKwkJPHJlY29uY2lsZS1ucyBub2RlPSJhIi8+CisJCTxleHBlY3RlZCBkb2M9ImRvYzIiPjwhW0NEQVRBWzxhOnAyIHhtbG5zOmE9InVybjp0ZXN0OkFBQSI+PGE6YS8+PC9hOnAyPl1dPjwvZXhwZWN0ZWQ+CisJPC90ZXN0PgorCisJPHRlc3QgbmFtZT0iYWRvcHRfcmVjb25fYXR0ciI+CQkKKwkJPGRvYyBuYW1lPSJkb2MxIj48IVtDREFUQVs8cDEgeG1sbnM6Yj0idXJuOnRlc3Q6QkJCIiBiOmF0dHI9Im1hcnZpbiIvPl1dPjwvZG9jPgorCQk8ZG9jIG5hbWU9ImRvYzIiPjwhW0NEQVRBWzxhOnAyIHhtbG5zOmE9InVybjp0ZXN0OkFBQSIvPl1dPjwvZG9jPgorCQk8dmFyIG5hbWU9ImF0dHIiPgorCQkJPHhwYXRoIGRvYz0iZG9jMSIgc2VsZWN0LW5vZGU9Ii9wMS9AYjphdHRyIj4KKwkJCQk8cmVnLW5zIHByZWZpeD0iYiIgbnM9InVybjp0ZXN0OkJCQiIvPgorCQkJPC94cGF0aD4KKwkJPC92YXI+CisJCTx2YXIgbmFtZT0icDIiPgorCQkJPHhwYXRoIGRvYz0iZG9jMiIgc2VsZWN0LW5vZGU9Ii9hOnAyIj4KKwkJCQk8cmVnLW5zIHByZWZpeD0iYSIgbnM9InVybjp0ZXN0OkFBQSIvPgkJCQkKKwkJCTwveHBhdGg+CisJCTwvdmFyPgorCQk8YWRvcHQgZGVzdC1kb2M9ImRvYzIiIG5vZGU9ImF0dHIiIC8+CisJCTxhcHBlbmQtY2hpbGQgcGFyZW50PSJwMiIgY2hpbGQ9ImF0dHIiLz4KKwkJPHJlY29uY2lsZS1ucyBub2RlPSJwMiIvPgorCQk8ZXhwZWN0ZWQgZG9jPSJkb2MyIj48IVtDREFUQVs8YTpwMiB4bWxuczphPSJ1cm46dGVzdDpBQUEiIHhtbG5zOmI9InVybjp0ZXN0OkJCQiIgYjphdHRyPSJtYXJ2aW4iLz5dXT48L2V4cGVjdGVkPgorCTwvdGVzdD4KKworCTx0ZXN0IG5hbWU9ImFkb3B0X3JlY29uX2F0dHJfMiI+CQkKKwkgICAgPCEtLSBIZXJlIHdlIHdpbGwgc3BlY2lmeSBhIGRlc3RpbmF0aW9uLXBhcmVudCBmb3IgYWRvcHRpb24uIC0tPgorCQk8ZG9jIG5hbWU9ImRvYzEiPjwhW0NEQVRBWzxwMSB4bWxuczpiPSJ1cm46dGVzdDpCQkIiIGI6YXR0cj0ibWFydmluIi8+XV0+PC9kb2M+CisJCTxkb2MgbmFtZT0iZG9jMiI+PCFbQ0RBVEFbPGE6cDIgeG1sbnM6YT0idXJuOnRlc3Q6QUFBIi8+XV0+PC9kb2M+CisJCTx2YXIgbmFtZT0iYXR0ciI+CisJCQk8eHBhdGggZG9jPSJkb2MxIiBzZWxlY3Qtbm9kZT0iL3AxL0BiOmF0dHIiPgorCQkJCTxyZWctbnMgcHJlZml4PSJiIiBucz0idXJuOnRlc3Q6QkJCIi8+CisJCQk8L3hwYXRoPgorCQk8L3Zhcj4KKwkJPHZhciBuYW1lPSJwMiI+CisJCQk8eHBhdGggZG9jPSJkb2MyIiBzZWxlY3Qtbm9kZT0iL2E6cDIiPgorCQkJCTxyZWctbnMgcHJlZml4PSJhIiBucz0idXJuOnRlc3Q6QUFBIi8+CQkJCQorCQkJPC94cGF0aD4KKwkJPC92YXI+CQkKKwkJPGFkb3B0IGRlc3QtZG9jPSJkb2MyIiBkZXN0LXBhcmVudD0icDIiIG5vZGU9ImF0dHIiIC8+CQkKKwkJPGFwcGVuZC1jaGlsZCBwYXJlbnQ9InAyIiBjaGlsZD0iYXR0ciIvPgorCQk8cmVjb25jaWxlLW5zIG5vZGU9InAyIi8+CisJCTxleHBlY3RlZCBkb2M9ImRvYzIiPjwhW0NEQVRBWzxhOnAyIHhtbG5zOmE9InVybjp0ZXN0OkFBQSIgeG1sbnM6Yj0idXJuOnRlc3Q6QkJCIiBiOmF0dHI9Im1hcnZpbiIvPl1dPjwvZXhwZWN0ZWQ+CisJPC90ZXN0PgorCisJPHRlc3QgbmFtZT0iYWRvcHRfcmVjb25fYXR0cl8zIj4JCQorCSAgICA8IS0tIENvbmZsaWN0aW5nIG5zLXByZWZpeGVzIGZvciB0aGUgYWRkZWQgYXR0cmlidXRlLiAtLT4KKwkJPGRvYyBuYW1lPSJkb2MxIj48IVtDREFUQVs8cDEgeG1sbnM6YT0idXJuOnRlc3Q6QUFBIiBhOmF0dHI9Im1hcnZpbiIvPl1dPjwvZG9jPgorCQk8ZG9jIG5hbWU9ImRvYzIiPjwhW0NEQVRBWzxhOnAyIHhtbG5zOmE9InVybjp0ZXN0OmFhYSIvPl1dPjwvZG9jPgorCQk8dmFyIG5hbWU9ImF0dHIiPgorCQkJPHhwYXRoIGRvYz0iZG9jMSIgc2VsZWN0LW5vZGU9Ii9wMS9AYTphdHRyIj4KKwkJCQk8cmVnLW5zIHByZWZpeD0iYSIgbnM9InVybjp0ZXN0OkFBQSIvPgorCQkJPC94cGF0aD4KKwkJPC92YXI+CisJCTx2YXIgbmFtZT0icDIiPgorCQkJPHhwYXRoIGRvYz0iZG9jMiIgc2VsZWN0LW5vZGU9Ii9hOnAyIj4KKwkJCQk8cmVnLW5zIHByZWZpeD0iYSIgbnM9InVybjp0ZXN0OmFhYSIvPgorCQkJPC94cGF0aD4KKwkJPC92YXI+CQkKKwkJPGFkb3B0IGRlc3QtZG9jPSJkb2MyIiBub2RlPSJhdHRyIiAvPgorCQk8YXBwZW5kLWNoaWxkIHBhcmVudD0icDIiIGNoaWxkPSJhdHRyIi8+CisJCTxyZWNvbmNpbGUtbnMgbm9kZT0icDIiLz4KKwkJPGV4cGVjdGVkIGRvYz0iZG9jMiI+PCFbQ0RBVEFbPGE6cDIgeG1sbnM6YT0idXJuOnRlc3Q6YWFhIiB4bWxuczphMT0idXJuOnRlc3Q6QUFBIiBhMTphdHRyPSJtYXJ2aW4iLz5dXT48L2V4cGVjdGVkPgorCTwvdGVzdD4KKworCTx0ZXN0IG5hbWU9ImFkb3B0X3JlY29uX2F0dHJfNCI+CisJICAgIDwhLS0gUXVhbGlmaWVkIGF0dHJpYnV0ZSBhZGRlZCB0byBkZWZhdWx0IG5hbWVzcGFjZWQgZWxlbS4gLS0+CisJCTxkb2MgbmFtZT0iZG9jMSI+PCFbQ0RBVEFbPHAxIHhtbG5zOmE9InVybjp0ZXN0OkFBQSIgYTphdHRyPSJtYXJ2aW4iLz5dXT48L2RvYz4KKwkJPGRvYyBuYW1lPSJkb2MyIj48IVtDREFUQVs8cDIgeG1sbnM9InVybjp0ZXN0OkFBQSIvPl1dPjwvZG9jPgorCQk8dmFyIG5hbWU9ImF0dHIiPgorCQkJPHhwYXRoIGRvYz0iZG9jMSIgc2VsZWN0LW5vZGU9Ii9wMS9AYTphdHRyIj4KKwkJCQk8cmVnLW5zIHByZWZpeD0iYSIgbnM9InVybjp0ZXN0OkFBQSIvPgorCQkJPC94cGF0aD4KKwkJPC92YXI+CisJCTx2YXIgbmFtZT0icDIiPgorCQkJPHhwYXRoIGRvYz0iZG9jMiIgc2VsZWN0LW5vZGU9Ii9hOnAyIj4KKwkJCQk8cmVnLW5zIHByZWZpeD0iYSIgbnM9InVybjp0ZXN0OkFBQSIvPgorCQkJPC94cGF0aD4KKwkJPC92YXI+CQkKKwkJPGFkb3B0IGRlc3QtZG9jPSJkb2MyIiBub2RlPSJhdHRyIiAvPgorCQk8YXBwZW5kLWNoaWxkIHBhcmVudD0icDIiIGNoaWxkPSJhdHRyIi8+CisJCTxyZWNvbmNpbGUtbnMgbm9kZT0icDIiLz4KKwkJPGV4cGVjdGVkIGRvYz0iZG9jMiI+PCFbQ0RBVEFbPHAyIHhtbG5zPSJ1cm46dGVzdDpBQUEiIHhtbG5zOmE9InVybjp0ZXN0OkFBQSIgYTphdHRyPSJtYXJ2aW4iLz5dXT48L2V4cGVjdGVkPgorCTwvdGVzdD4KKworCTx0ZXN0IG5hbWU9ImFkb3B0X3JlY29uX2F0dHJfNSI+CisJCTwhLS0gU2hhZG93ZWQgYW5kIGNvbmZsaWN0aW5nIHByZWZpeC4gZGVzdC1wYXJlbnQgSVMgZ2l2ZW4uIC0tPgorCQk8ZG9jIG5hbWU9ImRvYzEiPjwhW0NEQVRBWzxwMSB4bWxuczphPSJ1cm46dGVzdDpBQUEiIGE6YXR0cj0ibWFydmluIi8+XV0+PC9kb2M+CisJCTxkb2MgbmFtZT0iZG9jMiI+PCFbQ0RBVEFbPHAyIHhtbG5zOmE9InVybjp0ZXN0OkFBQSI+PGE6cDMgeG1sbnM6YT0idXJuOnRlc3Q6WlpaIi8+PC9wMj5dXT48L2RvYz4KKwkJPHZhciBuYW1lPSJhdHRyIj4KKwkJCTx4cGF0aCBkb2M9ImRvYzEiIHNlbGVjdC1ub2RlPSIvcDEvQGE6YXR0ciI+CisJCQkJPHJlZy1ucyBwcmVmaXg9ImEiIG5zPSJ1cm46dGVzdDpBQUEiLz4KKwkJCTwveHBhdGg+CisJCTwvdmFyPgorCQk8dmFyIG5hbWU9InAzIj4KKwkJCTx4cGF0aCBkb2M9ImRvYzIiIHNlbGVjdC1ub2RlPSIvcDIvYTpwMyI+CisJCQkJPHJlZy1ucyBwcmVmaXg9ImEiIG5zPSJ1cm46dGVzdDpaWloiLz4KKwkJCTwveHBhdGg+CisJCTwvdmFyPgkJCisJCTxhZG9wdCBkZXN0LWRvYz0iZG9jMiIgbm9kZT0iYXR0ciIgZGVzdC1wYXJlbnQ9InAzIi8+CisJCTxhcHBlbmQtY2hpbGQgcGFyZW50PSJwMyIgY2hpbGQ9ImF0dHIiLz4KKwkJPCEtLSBOb3RlIHRoYXQgd2UgZG9uJ3QgbmVlZCB0byByZWNvbmNpbGUgaGVyZSwgc2luY2UgZG9uZSBkdXJpbmcKKwkJICAgICBhZG9wdGlvbi4gLS0+CisJCTxleHBlY3RlZCBkb2M9ImRvYzIiPjwhW0NEQVRBWworPHAyIHhtbG5zOmE9InVybjp0ZXN0OkFBQSI+CisJPGE6cDMgeG1sbnM6YT0idXJuOnRlc3Q6WlpaIiB4bWxuczphMT0idXJuOnRlc3Q6QUFBIiBhMTphdHRyPSJtYXJ2aW4iLz4KKzwvcDI+XV0+PC9leHBlY3RlZD4KKwk8L3Rlc3Q+CisKKwk8dGVzdCBuYW1lPSJhZG9wdF9yZWNvbl9hdHRyXzYiPgorCQk8IS0tIFNoYWRvd2VkIGFuZCBjb25mbGljdGluZyBwcmVmaXguIGRlc3QtcGFyZW50IE5PVCBnaXZlbi4gLS0+CisJCTxkb2MgbmFtZT0iZG9jMSI+PCFbQ0RBVEFbPHAxIHhtbG5zOmE9InVybjp0ZXN0OkFBQSIgYTphdHRyPSJtYXJ2aW4iLz5dXT48L2RvYz4KKwkJPGRvYyBuYW1lPSJkb2MyIj48IVtDREFUQVs8cDIgeG1sbnM6YT0idXJuOnRlc3Q6QUFBIj48YTpwMyB4bWxuczphPSJ1cm46dGVzdDpaWloiLz48L3AyPl1dPjwvZG9jPgorCQk8dmFyIG5hbWU9ImF0dHIiPgorCQkJPHhwYXRoIGRvYz0iZG9jMSIgc2VsZWN0LW5vZGU9Ii9wMS9AYTphdHRyIj4KKwkJCQk8cmVnLW5zIHByZWZpeD0iYSIgbnM9InVybjp0ZXN0OkFBQSIvPgorCQkJPC94cGF0aD4KKwkJPC92YXI+CisJCTx2YXIgbmFtZT0icDMiPgorCQkJPHhwYXRoIGRvYz0iZG9jMiIgc2VsZWN0LW5vZGU9Ii9wMi9hOnAzIj4KKwkJCQk8cmVnLW5zIHByZWZpeD0iYSIgbnM9InVybjp0ZXN0OlpaWiIvPgorCQkJPC94cGF0aD4KKwkJPC92YXI+CQkKKwkJPGFkb3B0IGRlc3QtZG9jPSJkb2MyIiBub2RlPSJhdHRyIi8+CisJCTxhcHBlbmQtY2hpbGQgcGFyZW50PSJwMyIgY2hpbGQ9ImF0dHIiLz4KKwkJPHJlY29uY2lsZS1ucyBub2RlPSJwMyIvPgorCQk8ZXhwZWN0ZWQgZG9jPSJkb2MyIj48IVtDREFUQVsKKzxwMiB4bWxuczphPSJ1cm46dGVzdDpBQUEiPgorCTxhOnAzIHhtbG5zOmE9InVybjp0ZXN0OlpaWiIgeG1sbnM6YTE9InVybjp0ZXN0OkFBQSIgYTE6YXR0cj0ibWFydmluIi8+Cis8L3AyPl1dPjwvZXhwZWN0ZWQ+CisJPC90ZXN0PgorCQorCTx0ZXN0IG5hbWU9InNoYWRvd18xIj4KKwkJCisJCTxkb2MgbmFtZT0iZG9jIj48IVtDREFUQVsKKzxmb28geG1sbnM6Zm9vPSJ1cm46dGVzdDptaW5lIj4KKwk8cCB4bWxuczpiYXI9InVybjp0ZXN0Om1pbmUiLz4KKwk8YTE+CisJCTxhMiB4bWxuczpiYXI9InVybjp0ZXN0Ok9USEVSIj4KKwkJCTxmb286YTMvPgorCQk8L2EyPgorCTwvYTE+Cis8L2Zvbz4KK11dPjwvZG9jPgorCQk8dmFyIG5hbWU9ImExIj4KKwkJCTx4cGF0aCBkb2M9ImRvYyIgc2VsZWN0LW5vZGU9Ii9mb28vYTEiLz4KKwkJPC92YXI+CisJCTx2YXIgbmFtZT0icCIgPgorCQkJPHhwYXRoIGRvYz0iZG9jIiBzZWxlY3Qtbm9kZT0iL2Zvby9wIi8+CisJCTwvdmFyPgorCQk8cmVtb3ZlIG5vZGU9ImExIi8+CisJCTxhcHBlbmQtY2hpbGQgcGFyZW50PSJwIiBjaGlsZD0iYTEiLz4KKwkJPHJlY29uY2lsZS1ucyBub2RlPSJhMSIvPgkJCisJCTxleHBlY3RlZCBkb2M9ImRvYyI+PCFbQ0RBVEFbCis8Zm9vIHhtbG5zOmZvbz0idXJuOnRlc3Q6bWluZSI+CisJPHAgeG1sbnM6YmFyPSJ1cm46dGVzdDptaW5lIj4KKwkJPGExPgorCQkJPGEyIHhtbG5zOmJhcj0idXJuOnRlc3Q6T1RIRVIiPgorCQkJCTxmb286YTMvPgorCQkJPC9hMj4KKwkJPC9hMT4KKwk8L3A+Cis8L2Zvbz4KK11dPjwvZXhwZWN0ZWQ+CisJPC90ZXN0PgorCisJPHRlc3QgbmFtZT0ibm9ybV8xIj4KKwkJCisJCTxkb2MgbmFtZT0iZG9jIj48IVtDREFUQVsKKzxmb28+CisJPHAxIHhtbG5zOmE9InVybjp0ZXN0OkEiIHhtbG5zOmI9InVybjp0ZXN0OkIiIHhtbG5zOmM9InVybjp0ZXN0OkMiPgorCQk8YTphPgorCQkJPGI6YiBhOmF0dHI9ImRvbnQiIGM6YXR0cj0icGFuaWMiLz4KKwkJPC9hOmE+CisJPC9wMT4KKwk8cDIvPgorPC9mb28+CitdXT48L2RvYz4KKwkJPHZhciBuYW1lPSJhIj4KKwkJCTx4cGF0aCBkb2M9ImRvYyIgc2VsZWN0LW5vZGU9Ii9mb28vcDEvYTphIj4KKwkJCQk8cmVnLW5zIHByZWZpeD0iYSIgbnM9InVybjp0ZXN0OkEiLz4KKwkJCTwveHBhdGg+CisJCTwvdmFyPgorCQk8dmFyIG5hbWU9InAyIiA+CisJCQk8eHBhdGggZG9jPSJkb2MiIHNlbGVjdC1ub2RlPSIvZm9vL3AyIi8+CisJCTwvdmFyPgorCQk8cmVtb3ZlIG5vZGU9ImEiLz4KKwkJPGFwcGVuZC1jaGlsZCBwYXJlbnQ9InAyIiBjaGlsZD0iYSIvPgorCQk8cmVjb25jaWxlLW5zIG5vZGU9ImEiLz4JCQorCQk8ZXhwZWN0ZWQgZG9jPSJkb2MiPjwhW0NEQVRBWworPGZvbz4KKwk8cDEgeG1sbnM6YT0idXJuOnRlc3Q6QSIgeG1sbnM6Yj0idXJuOnRlc3Q6QiIgeG1sbnM6Yz0idXJuOnRlc3Q6QyIvPgkJCisJPHAyPgorCQk8YTphIHhtbG5zOmE9InVybjp0ZXN0OkEiPgorCQkJPGI6YiB4bWxuczpiPSJ1cm46dGVzdDpCIiB4bWxuczpjPSJ1cm46dGVzdDpDIiBhOmF0dHI9ImRvbnQiIGM6YXR0cj0icGFuaWMiLz4KKwkJPC9hOmE+CisJPC9wMj4KKzwvZm9vPgorXV0+PC9leHBlY3RlZD4KKwk8L3Rlc3Q+Cis8L3Rlc3RzPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L25zIGIvbGlieG1sMi90ZXN0L25zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk0YjkyN2UKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvbnMKQEAgLTAsMCArMSw0IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxkaWE6ZGlhZ3JhbSB4bWxuczpkaWE9Imh0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLyI+CisgIDxkaWE6ZGlhZ3JhbWRhdGEgZGlhOnRlc3RhdHRyPSJ0ZXN0Ii8+Cis8L2RpYTpkaWFncmFtPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L25zMiBiL2xpYnhtbDIvdGVzdC9uczIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODBhYWY5NAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9uczIKQEAgLTAsMCArMSwzIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxkaWE6ZGlhZ3JhbSB4bWxuczpkaWE9Imh0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLyIKKyAgICAgICAgICAgICBkaWE6dGVzdGF0dHI9InRlc3QiLz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9uczMgYi9saWJ4bWwyL3Rlc3QvbnMzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc2YmIyMGQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvbnMzCkBAIC0wLDAgKzEsMyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8ZGlhOmRpYWdyYW0gZGlhOnRlc3RhdHRyPSJ0ZXN0IgorICAgICAgICAgICAgIHhtbG5zOmRpYT0iaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvIi8+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvbnM0IGIvbGlieG1sMi90ZXN0L25zNApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMzZiZjkyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L25zNApAQCAtMCwwICsxLDIgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPGRpYWdyYW0gdGVzdGF0dHI9InRlc3QiIHhtbDpsYW5nPSJlbiIgeG1sOmxpbms9InNpbXBsZSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIvPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L25zNSBiL2xpYnhtbDIvdGVzdC9uczUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDc1ZDM0NQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9uczUKQEAgLTAsMCArMSw0IEBACis8ZWxlbWVudCBuYW1lPSJmb28iIHhtbG5zOnJuZz0iaHR0cDovL2V4YW1wbGUub3JnL25zLzEiIHhtbG5zPSJodHRwOi8vZXhhbXBsZS5vcmcvbnMvMSI+CisgIDxlbXB0eS8+Cis8L2VsZW1lbnQ+CisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9uczYgYi9saWJ4bWwyL3Rlc3QvbnM2Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFmMmE4YjMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvbnM2CkBAIC0wLDAgKzEsNCBAQAorPHJvb3Q+CisgIDxmb28geG1sbnM9Imh0dHA6Ly9hYmMiIC8+CisgIDxiYXIgLz4KKzwvcm9vdD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9uczcgYi9saWJ4bWwyL3Rlc3QvbnM3Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQzMmIzYjQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvbnM3CkBAIC0wLDAgKzEgQEAKKzx4bWw6dGVzdC8+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvbnNjbGVhbi54bWwgYi9saWJ4bWwyL3Rlc3QvbnNjbGVhbi54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzI5M2RkYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9uc2NsZWFuLnhtbApAQCAtMCwwICsxLDkgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVTLUFTQ0lJIj8+Cis8YXJ0aWNsZSB4bWxucz0idGFnOmZvb2Zvb2Zvb2Zvb2Zvb2Zvb2Zvb2ZvbyIKKyAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgorICB4bWxuczpkY3Rlcm1zPSJodHRwOi8vcHVybC5vcmcvZGMvdGVybXMvIj4KKzxmb29wOmNvbnRlbnQgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiCisgIHhtbG5zOmZvb3A9InRhZzpmb29mb29mb29mb29mb29mb29mb29mb28iPgorPC9mb29wOmNvbnRlbnQ+Cis8L2FydGljbGU+CisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9wM3AgYi9saWJ4bWwyL3Rlc3QvcDNwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRhZDhmYjcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcDNwCkBAIC0wLDAgKzEsMjQgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPFJERjpSREYgeG1sbnM6cDNwPSJodHRwOi8vd3d3LnczLm9yZy9UUi8xOTk4L1dELVAzUDEwLXN5bnRheCNwcm9wb3NhbC5EVEQiCisgICAgICAgICB4bWxuczpSREY9Imh0dHA6Ly93d3cudzMub3JnL1RSL1dELXJkZi1zeW50YXgjIj4KKzxQUk9QIHJlYWxtPSJodHRwOi8vd3d3LkNvb2xDYXRhbG9nLmNvbS9jYXRhbG9ndWUvIiAKKyBlbnRpdHk9IkNvb2xDYXRhbG9nIiBhZ3JlZUlEPSI5NGRmMTI5M2EzZTUxOWJiIgorIGFzc3VyYW5jZT0iaHR0cDovL3d3dy5UcnVzdFVzLm9yZyI+CisgIDxVU0VTPgorICA8U1RBVEVNRU5UIHB1cnA9IjIsMyIgcmVjcG50PSIwIiBpZD0iMCIKKyAgIGNvbnNxPSJhIHNpdGUgd2l0aCBjbG90aGVzIHlvdSdkIGFwcHJlY2lhdGUuIj4KKyAgICA8V0lUSD48UFJFRklYIG5hbWU9IlVzZXIuIj4KKyAgICAgPFJFRiBuYW1lPSJOYW1lLkZpcnN0Ii8+CisgICAgIDxSRUYgbmFtZT0iQmRhdGUuWWVhciIgb3B0aW9uYWw9IjEiLz4KKyAgICAgPFJFRiBuYW1lPSJHZW5kZXIiLz4KKyAgICA8L1BSRUZJWD48L1dJVEg+CisgIDwvU1RBVEVNRU5UPgorICA8L1VTRVM+CisgIDxVU0VTPgorICA8U1RBVEVNRU5UIGFjdGlvbj0icmVhZCZhbXA7d3JpdGUiIHB1cnA9IjAiIHJlY3BudD0iMCIgaWQ9IjEiPgorICAgIDxSRUYgbmFtZT0iVXNlci5TaGlwcGluZy4iLz4KKyAgPC9TVEFURU1FTlQ+CisgIDwvVVNFUz4KKyAgPERJU0NMT1NVUkUgZGlzY1VSST0iaHR0cDovL3d3dy5Db29sQ2F0YWxvZy5jb20vUHJpdmFjeVByYWN0aWNlLmh0bWwiIAorICAgYWNjZXNzPSIzIiBvdGhlcj0iMCwxIi8+Cis8L1BST1A+PC9SREY6UkRGPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3BhdHRlcm4vY29uai5wYXQgYi9saWJ4bWwyL3Rlc3QvcGF0dGVybi9jb25qLnBhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYTgwYTA2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3BhdHRlcm4vY29uai5wYXQKQEAgLTAsMCArMSw4IEBACithfGIKK2F8YworYnxjCithfGJ8YworL2F8YgorYnwvYQorYS8vY3xiLy9jCitkfGV8ZnxnfGh8YQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3BhdHRlcm4vY29uai54bWwgYi9saWJ4bWwyL3Rlc3QvcGF0dGVybi9jb25qLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMWM3NzBlCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3BhdHRlcm4vY29uai54bWwKQEAgLTAsMCArMSwxMyBAQAorPGE+CisgIDxiPgorICAgIDxjPjxiLz48L2M+CisgICAgPGM+CisgICAgICA8Yi8+CisgICAgICA8Yz48Yi8+PC9jPgorICAgIDwvYz4KKyAgPC9iPgorICA8Yz4KKyAgICAgPGI+CisgICAgIDwvYj4KKyAgPC9jPgorPC9hPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3BhdHRlcm4vbXVsdGlwbGUucGF0IGIvbGlieG1sMi90ZXN0L3BhdHRlcm4vbXVsdGlwbGUucGF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNmMWVlM2UKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcGF0dGVybi9tdWx0aXBsZS5wYXQKQEAgLTAsMCArMSwyNyBAQAorYQorYgorYworYy9hCitjL2IKK2IvYQorYy9iL2EKK2MvL2EKK2MvL2IKK2IvL2EKK2MvL2IvL2EKK2MvYi8vYQorYy8vYi9hCisvYQorL2IKKy9jCisvYy9hCisvYy9iCisvYi9hCisvYy9iL2EKKy9jLy9hCisvYy8vYgorL2IvL2EKKy9jLy9iLy9hCisvYy9iLy9hCisvYy8vYi9hCisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9wYXR0ZXJuL211bHRpcGxlLnhtbCBiL2xpYnhtbDIvdGVzdC9wYXR0ZXJuL211bHRpcGxlLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MmYzMWE1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3BhdHRlcm4vbXVsdGlwbGUueG1sCkBAIC0wLDAgKzEsNSBAQAorPGM+Cis8Yj48YS8+PGEvPjwvYj4KKzxjPjxiPjxhLz48YS8+PC9iPjwvYz4KKzxiPjxhLz48YS8+PC9iPgorPC9jPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3BhdHRlcm4vbmFtZXNwYWNlcy5wYXQgYi9saWJ4bWwyL3Rlc3QvcGF0dGVybi9uYW1lc3BhY2VzLnBhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMjczYTEwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3BhdHRlcm4vbmFtZXNwYWNlcy5wYXQKQEAgLTAsMCArMSwxMCBAQAorLy9hCisvL2E6YQorLy9iCisvL2I6YgorL2EvL2EKKy9hL2EKKy9hL2IKKy9hL2E6YQorL2EvYTpiCisvYS9jOmEKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9wYXR0ZXJuL25hbWVzcGFjZXMueG1sIGIvbGlieG1sMi90ZXN0L3BhdHRlcm4vbmFtZXNwYWNlcy54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWViYjUwZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9wYXR0ZXJuL25hbWVzcGFjZXMueG1sCkBAIC0wLDAgKzEsMTcgQEAKKzxhIHhtbG5zOmE9Imh0dHA6Ly9hIiB4bWxuczpiPSJodHRwOi8vYiIgeG1sbnM6Yz0iaHR0cDovL2EiPgorICA8Yi8+CisgIDxhOmE+CisgICAgPGI6Yi8+CisgIDwvYTphPgorICA8YjpiPgorICAgIDxhPgorICAgICAgPGE6YT4KKwk8YjpiLz4KKyAgICAgIDwvYTphPgorICAgIDwvYT4KKyAgPC9iOmI+CisgIDxhIHhtbG5zPSJodHRwOi8vYSI+CisgICAgPGEgeG1sbnM9IiIvPgorICA8L2E+CisgIDxjOmEvPgorPC9hPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3BhdHRlcm4vc2ltcGxlLnBhdCBiL2xpYnhtbDIvdGVzdC9wYXR0ZXJuL3NpbXBsZS5wYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWIyOThhZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9wYXR0ZXJuL3NpbXBsZS5wYXQKQEAgLTAsMCArMSwxNSBAQAorYQorYgorYgorL2EKKy9iCisvYworYS9iCithL2IvYworLy9hCisvL2IKKy8vYworYS8vYgorYS8vYworYi8vYworCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcGF0dGVybi9zaW1wbGUueG1sIGIvbGlieG1sMi90ZXN0L3BhdHRlcm4vc2ltcGxlLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNmFjNmMyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3BhdHRlcm4vc2ltcGxlLnhtbApAQCAtMCwwICsxLDUgQEAKKzxhPgorICA8Yj4KKyAgICA8YyBkPSJhdHRyIj50ZXh0PC9jPgorICA8L2I+Cis8L2E+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcGkueG1sIGIvbGlieG1sMi90ZXN0L3BpLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40OGM3ZmYwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3BpLnhtbApAQCAtMCwwICsxLDYgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPGRvYz4KKzw/ZG9jdW1lbnQtc3RhcnQgZG9jPz4KKzxlbXB0eS8+Cis8P2RvY3VtZW50LWVuZCBkb2M/PgorPC9kb2M+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcGkyLnhtbCBiL2xpYnhtbDIvdGVzdC9waTIueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcxMGQ1MWMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcGkyLnhtbApAQCAtMCwwICsxLDYgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPD9kb2N1bWVudC1zdGFydCBkb2M/PgorPGRvYz4KKzxlbXB0eS8+Cis8L2RvYz4KKzw/ZG9jdW1lbnQtZW5kIGRvYz8+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmRmMSBiL2xpYnhtbDIvdGVzdC9yZGYxCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ0NGMzYzYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmRmMQpAQCAtMCwwICsxLDgxIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxSREY6UkRGIHhtbG5zOlJQTT0iaHR0cDovL3d3dy5ycG0ub3JnLyIgeG1sbnM6UkRGPSJodHRwOi8vd3d3LnczLm9yZy9UUi9XRC1yZGYtc3ludGF4IyI+CisgIDxSREY6RGVzY3JpcHRpb24gSFJFRj0iZnRwOi8vcnVmdXMudzMub3JnL2xpbnV4L3JlZGhhdC9yZWRoYXQtNS4xL2kzODYvUmVkSGF0L1JQTVMvcnBtLTIuNS0yLmkzODYucnBtIj4KKyAgICA8UlBNOk5hbWU+cnBtPC9SUE06TmFtZT4KKyAgICA8UlBNOlZlcnNpb24+Mi41PC9SUE06VmVyc2lvbj4KKyAgICA8UlBNOlJlbGVhc2U+MjwvUlBNOlJlbGVhc2U+CisgICAgPFJQTTpBcmNoPmkzODY8L1JQTTpBcmNoPgorICAgIDxSUE06T3M+TGludXg8L1JQTTpPcz4KKyAgICA8UlBNOkRpc3RyaWJ1dGlvbj5NYW5oYXR0YW4gPC9SUE06RGlzdHJpYnV0aW9uPgorICAgIDxSUE06VmVuZG9yPlJlZCBIYXQgU29mdHdhcmU8L1JQTTpWZW5kb3I+CisgICAgPFJQTTpQYWNrYWdlcj5SZWQgSGF0IFNvZnR3YXJlICZsdDtidWdzQHJlZGhhdC5jb20mZ3Q7PC9SUE06UGFja2FnZXI+CisgICAgPFJQTTpHcm91cD5VdGlsaXRpZXMvU3lzdGVtPC9SUE06R3JvdXA+CisgICAgPFJQTTpTdW1tYXJ5PlJlZCBIYXQgUGFja2FnZSBNYW5hZ2VyPC9SUE06U3VtbWFyeT4KKyAgICA8UlBNOkRlc2NyaXB0aW9uPlJQTSBpcyBhIHBvd2VyZnVsIHBhY2thZ2UgbWFuYWdlciwgd2hpY2ggY2FuIGJlIHVzZWQgdG8gYnVpbGQsIGluc3RhbGwsCitxdWVyeSwgdmVyaWZ5LCB1cGRhdGUsIGFuZCB1bmluc3RhbGwgaW5kaXZpZHVhbCBzb2Z0d2FyZSBwYWNrYWdlcy4gQQorcGFja2FnZSBjb25zaXN0cyBvZiBhbiBhcmNoaXZlIG9mIGZpbGVzLCBhbmQgcGFja2FnZSBpbmZvcm1hdGlvbiwgaW5jbHVkaW5nCituYW1lLCB2ZXJzaW9uLCBhbmQgZGVzY3JpcHRpb24uPC9SUE06RGVzY3JpcHRpb24+CisgICAgPFJQTTpDb3B5cmlnaHQ+R1BMPC9SUE06Q29weXJpZ2h0PgorICAgIDxSUE06Q2hhbmdlbG9nPiogU3VuIE1heSAxMCAxOTk4IFByb3NwZWN0b3IgU3lzdGVtICZsdDtidWdzQHJlZGhhdC5jb20mZ3Q7CisgIC0gdHJhbnNsYXRpb25zIG1vZGlmaWVkIGZvciBkZSwgZnIsIHRyCis8L1JQTTpDaGFuZ2Vsb2c+CisgICAgPFJQTTpTb3VyY2VzPnJwbS0yLjUtMi5zcmMucnBtPC9SUE06U291cmNlcz4KKyAgICA8UlBNOlNvdXJjZXNGdHA+ZnRwOi8vZnRwLnJlZGhhdC5jb20vcHViL3JlZGhhdC9yZWRoYXQtNS4xL1NSUE1TPC9SUE06U291cmNlc0Z0cD4KKyAgICA8UlBNOkJ1aWxkRGF0ZT5TdW4gTWF5IDEwIDE0OjUyOjMyIDE5OTg8L1JQTTpCdWlsZERhdGU+CisgICAgPFJQTTpEYXRlPjg5NDgyNjM1MjwvUlBNOkRhdGU+CisgICAgPFJQTTpTaXplPjg1MDU5OTwvUlBNOlNpemU+CisgICAgPFJQTTpCdWlsZEhvc3Q+cG9ya3kucmVkaGF0LmNvbTwvUlBNOkJ1aWxkSG9zdD4KKyAgICA8UlBNOlByb3ZpZGVzPgorICAgICAgPFJERjpCYWc+CisgICAgICAgIDxSUE06UmVzb3VyY2U+cnBtPC9SUE06UmVzb3VyY2U+CisgICAgICA8L1JERjpCYWc+CisgICAgPC9SUE06UHJvdmlkZXM+CisgICAgPFJQTTpSZXF1aXJlcz4KKyAgICAgIDxSREY6QmFnPgorICAgICAgICA8UlBNOlJlc291cmNlPi9iaW4vc2g8L1JQTTpSZXNvdXJjZT4KKyAgICAgICAgPFJQTTpSZXNvdXJjZT5sZC1saW51eC5zby4yPC9SUE06UmVzb3VyY2U+CisgICAgICAgIDxSUE06UmVzb3VyY2U+bGliYy5zby42PC9SUE06UmVzb3VyY2U+CisgICAgICAgIDxSUE06UmVzb3VyY2U+bGliZGIuc28uMjwvUlBNOlJlc291cmNlPgorICAgICAgICA8UlBNOlJlc291cmNlPmxpYnouc28uMTwvUlBNOlJlc291cmNlPgorICAgICAgICA8UlBNOlJlc291cmNlPi9iaW4vYmFzaDwvUlBNOlJlc291cmNlPgorICAgICAgICA8UlBNOlJlc291cmNlPi9iaW4vc2g8L1JQTTpSZXNvdXJjZT4KKyAgICAgIDwvUkRGOkJhZz4KKyAgICA8L1JQTTpSZXF1aXJlcz4KKyAgICA8UlBNOkZpbGVzPi9iaW4vcnBtCisvdXNyL2Jpbi9maW5kLXByb3ZpZGVzCisvdXNyL2Jpbi9maW5kLXJlcXVpcmVzCisvdXNyL2Jpbi9nZW5kaWZmCisvdXNyL2Jpbi9ycG0yY3BpbworL3Vzci9kb2MvcnBtLTIuNQorL3Vzci9kb2MvcnBtLTIuNS9DSEFOR0VTCisvdXNyL2RvYy9ycG0tMi41L1JQTS1QR1AtS0VZCisvdXNyL2RvYy9ycG0tMi41L2J1aWxkcm9vdAorL3Vzci9kb2MvcnBtLTIuNS9kZXBlbmRlbmNpZXMKKy91c3IvZG9jL3JwbS0yLjUvZm9ybWF0CisvdXNyL2RvYy9ycG0tMi41L2dyb3VwcworL3Vzci9kb2MvcnBtLTIuNS9tYWNyb3MKKy91c3IvZG9jL3JwbS0yLjUvcXVlcnlmb3JtYXQKKy91c3IvZG9jL3JwbS0yLjUvcmVsb2NhdGFibGUKKy91c3IvZG9jL3JwbS0yLjUvc2lnbmF0dXJlcworL3Vzci9kb2MvcnBtLTIuNS9zcGVjCisvdXNyL2RvYy9ycG0tMi41L3RyaWdnZXJzCisvdXNyL2xpYi9ycG1wb3B0CisvdXNyL2xpYi9ycG1yYworL3Vzci9tYW4vbWFuOC9ycG0uOAorL3Vzci9tYW4vbWFuOC9ycG0yY3Bpby44CisvdXNyL3NoYXJlL2xvY2FsZS9kZS9MQ19NRVNTQUdFUy9ycG0ubW8KKy91c3Ivc2hhcmUvbG9jYWxlL2ZyL0xDX01FU1NBR0VTL3JwbS5tbworL3Vzci9zaGFyZS9sb2NhbGUvcHQtYnIvTENfTUVTU0FHRVMvcnBtLm1vCisvdXNyL3NoYXJlL2xvY2FsZS9zdi9MQ19NRVNTQUdFUy9ycG0ubW8KKy91c3Ivc2hhcmUvbG9jYWxlL3RyL0xDX01FU1NBR0VTL3JwbS5tbworL3Vzci9zcmMvcmVkaGF0CisvdXNyL3NyYy9yZWRoYXQvQlVJTEQKKy91c3Ivc3JjL3JlZGhhdC9SUE1TCisvdXNyL3NyYy9yZWRoYXQvUlBNUy9pMzg2CisvdXNyL3NyYy9yZWRoYXQvUlBNUy9ub2FyY2gKKy91c3Ivc3JjL3JlZGhhdC9TT1VSQ0VTCisvdXNyL3NyYy9yZWRoYXQvU1BFQ1MKKy91c3Ivc3JjL3JlZGhhdC9TUlBNUworPC9SUE06RmlsZXM+CisgIDwvUkRGOkRlc2NyaXB0aW9uPgorPC9SREY6UkRGPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JkZjIgYi9saWJ4bWwyL3Rlc3QvcmRmMgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZTgwMzk5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JkZjIKQEAgLTAsMCArMSwxODk5IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxSREY6UkRGIHhtbG5zOlJERj0iaHR0cDovL3d3dy53My5vcmcvVFIvV0QtcmRmLXN5bnRheCMiIHhtbG5zOlJQTT0iaHR0cDovL3d3dy5ycG0ub3JnLyI+CisgIDxSREY6RGVzY3JpcHRpb24gYWJvdXQ9ImZ0cDovL3J1ZnVzLnczLm9yZy9saW51eC9kbGQvNS40L2kzODYvUlBNUy9pMzg2L25jdXJzZXM0LTQuMi0zLmkzODYucnBtIj4KKyAgICA8UlBNOk5hbWU+bmN1cnNlczQ8L1JQTTpOYW1lPgorICAgIDxSUE06VmVyc2lvbj40LjI8L1JQTTpWZXJzaW9uPgorICAgIDxSUE06UmVsZWFzZT4zPC9SUE06UmVsZWFzZT4KKyAgICA8UlBNOkFyY2g+aTM4NjwvUlBNOkFyY2g+CisgICAgPFJQTTpPcz5MaW51eDwvUlBNOk9zPgorICAgIDxSUE06RGlzdHJpYnV0aW9uPkRMRDwvUlBNOkRpc3RyaWJ1dGlvbj4KKyAgICA8UlBNOlZlbmRvcj5kZWxpeCBDb21wdXRlciBHbWJIPC9SUE06VmVuZG9yPgorICAgIDxSUE06UGFja2FnZXI+VGlsbCBCdWJlY2sgJmx0O2J1YmVja0BkZWxpeC5kZSZndDssIE5nbyBUaGFuICZsdDt0aGFuQGRlbGl4LmRlJmd0OzwvUlBNOlBhY2thZ2VyPgorICAgIDxSUE06R3JvdXA+TGlicmFyaWVzPC9SUE06R3JvdXA+CisgICAgPFJQTTpTdW1tYXJ5PkJpYmxpb3RoZWsgenVyIEFuc3RldWVydW5nIHZvbiBUZXJtaW5hbHM8L1JQTTpTdW1tYXJ5PgorICAgIDxSUE06RGVzY3JpcHRpb24+RGllc2UgTGlicmFyeSBzdGVsbHQgZGVtIFByb2dyYW1taWVyZXIgdm9tIFRlcm1pbmFsIHVuYWJoJiMyMjg7bmdpZ2UKK1JvdXRpbmVuIHp1ciBBbnN0ZXVlcnVuZyBJaHJlcyBCaWxkc2NoaXJtcyB6dXIgVmVyZiYjMjUyO2d1bmcsIGRpZQorc3BlemllbGwgb3B0aW1pZXJ0IHNpbmQuCitEaWVzZSBWZXJzaW9uIGlzdCBkaWUgJmFwb3M7bmV3IGN1cnNlcyZhcG9zOyAobmN1cnNlcykgVmFyaWFudGUgdW5kIGlzdCBkZXIKK2FuZXJrYW5udGUgRXJzYXR6IGYmIzI1MjtyIGRpZSBrbGFzc2lzY2hlIEN1cnNlcy1MaWJyYXJ5LCBkaWUgbmljaHQgbWVocgord2VpdGVyZW50d2lja2VsdCB3aXJkLjwvUlBNOkRlc2NyaXB0aW9uPgorICAgIDxSUE06Q29weXJpZ2h0PkdQTDwvUlBNOkNvcHlyaWdodD4KKyAgICA8UlBNOlNvdXJjZXM+bmN1cnNlczQtNC4yLTMuc3JjLnJwbTwvUlBNOlNvdXJjZXM+CisgICAgPFJQTTpCdWlsZERhdGU+VHVlIE1heSAxMiAxOTozMDoyNiAxOTk4PC9SUE06QnVpbGREYXRlPgorICAgIDxSUE06RGF0ZT44OTUwMTU4MjY8L1JQTTpEYXRlPgorICAgIDxSUE06U2l6ZT4xMzczNTEzPC9SUE06U2l6ZT4KKyAgICA8UlBNOkJ1aWxkSG9zdD5lcmRiZWVyZS5kZWxpeC5kZTwvUlBNOkJ1aWxkSG9zdD4KKyAgICA8UlBNOlByb3ZpZGVzPgorICAgICAgPFJERjpCYWc+CisgICAgICAgIDxSUE06UmVzb3VyY2UgaHJlZj0iLi4vLi4vLi4vLi4vLi4vcmVzb3VyY2VzL25jdXJzZXM0LnJkZiI+bmN1cnNlczQ8L1JQTTpSZXNvdXJjZT4KKyAgICAgICAgPFJQTTpSZXNvdXJjZSBocmVmPSIuLi8uLi8uLi8uLi8uLi9yZXNvdXJjZXMvbGlicGFuZWwuc28uNC5yZGYiPmxpYnBhbmVsLnNvLjQ8L1JQTTpSZXNvdXJjZT4KKyAgICAgICAgPFJQTTpSZXNvdXJjZSBocmVmPSIuLi8uLi8uLi8uLi8uLi9yZXNvdXJjZXMvbGlibmN1cnNlcy5zby40LnJkZiI+bGlibmN1cnNlcy5zby40PC9SUE06UmVzb3VyY2U+CisgICAgICAgIDxSUE06UmVzb3VyY2UgaHJlZj0iLi4vLi4vLi4vLi4vLi4vcmVzb3VyY2VzL2xpYm1lbnUuc28uNC5yZGYiPmxpYm1lbnUuc28uNDwvUlBNOlJlc291cmNlPgorICAgICAgICA8UlBNOlJlc291cmNlIGhyZWY9Ii4uLy4uLy4uLy4uLy4uL3Jlc291cmNlcy9saWJmb3JtLnNvLjQucmRmIj5saWJmb3JtLnNvLjQ8L1JQTTpSZXNvdXJjZT4KKyAgICAgICAgPFJQTTpSZXNvdXJjZSBocmVmPSIuLi8uLi8uLi8uLi8uLi9yZXNvdXJjZXMvbmN1cnNlcy5yZGYiPm5jdXJzZXM8L1JQTTpSZXNvdXJjZT4KKyAgICAgIDwvUkRGOkJhZz4KKyAgICA8L1JQTTpQcm92aWRlcz4KKyAgICA8UlBNOkZpbGVzPi9saWIvbGlibmN1cnNlcy5zby40CisvbGliL2xpYm5jdXJzZXMuc28uNC4yCisvdXNyL2RvYy9uY3Vyc2VzNC00LjItMworL3Vzci9kb2MvbmN1cnNlczQtNC4yLTMvQU5OT1VOQ0UuZ3oKKy91c3IvZG9jL25jdXJzZXM0LTQuMi0zL05FV1MuZ3oKKy91c3IvZG9jL25jdXJzZXM0LTQuMi0zL1JFQURNRS5negorL3Vzci9kb2MvbmN1cnNlczQtNC4yLTMvVE8tRE8uZ3oKKy91c3IvbGliL2xpYmZvcm0uc28uNAorL3Vzci9saWIvbGliZm9ybS5zby40LjIKKy91c3IvbGliL2xpYm1lbnUuc28uNAorL3Vzci9saWIvbGlibWVudS5zby40LjIKKy91c3IvbGliL2xpYnBhbmVsLnNvLjQKKy91c3IvbGliL2xpYnBhbmVsLnNvLjQuMgorL3Vzci9zaGFyZS9uY3Vyc2VzNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90YWJzZXQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGFic2V0L3N0ZAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90YWJzZXQvc3RkY3J0CisvdXNyL3NoYXJlL25jdXJzZXM0L3RhYnNldC92dDEwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90YWJzZXQvdnQzMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby8xLzExNzgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vMS8xNzMwLWxtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvLzIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vMi8yNjIxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvLzIvMjYyMS13bAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby8yLzI2MjFBCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvLzIvMjYyMWEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby8zLzM4NmF0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvLzMvM2IxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvLzQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vNC80MDI1ZXgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vNC80MDI3ZXgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vNC80NDEwLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby81LzUwNTEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vNS81NDEwLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vNS81NjIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvLzUvNTYzMC0yNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby81LzU2MzBETUQtMjQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vNgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby82LzYzMC1sbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby82LzYzME1URy0yNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby83CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvLzcvNzMwTVRHLTI0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvLzcvNzMwTVRHLTQxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvLzcvNzMwTVRHLTQxcgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby83LzczME1UR3IKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vNy83MzBNVEdyLTI0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvLzgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vOC84NTEwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvLzkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vOS85NTUtaGIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vOS85NTUtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9QCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL1AvUDEyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL1AvUDEyLU0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vUC9QMTItTS1XCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL1AvUDEyLVcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vUC9QMTQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vUC9QMTQtTQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9QL1AxNC1NLVcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vUC9QMTQtVworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9QL1A0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL1AvUDUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vUC9QNworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9QL1A4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL1AvUDgtVworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9QL1A5CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL1AvUDktOAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9QL1A5LTgtVworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9QL1A5LVcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vWAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9YL1gtaHB0ZXJtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hMjEwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYTgwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYTk4MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FhNDA4MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FhYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FhYStkZWMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYWErcnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYWErdW5rCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLTE4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLTE4LXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLTIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLTIyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLTI0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLTI0LXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLTI2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLTI4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLTMwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLTMwLWN0eHQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYWEtMzAtcnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYWEtMzAtcnYtY3R4dAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FhYS0zMC1zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLTMwLXMtY3R4dAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FhYS0zMC1zLXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLTMwLXMtcnYtY3QKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYWEtMzYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYWEtMzYtcnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYWEtNDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYWEtNDAtcnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYWEtNDgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYWEtNDgtcnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYWEtNjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYWEtNjAtZGVjLXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLTYwLXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLTYwLXMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYWEtNjAtcy1ydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FhYS1jdHh0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLWRiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLXJ2LWN0eHQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYWEtcnYtdW5rCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLXMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYWEtcy1jdHh0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLXMtcnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYWEtcy1ydi1jdHh0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWFhLXVuaworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FhczE5MDEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hYm04MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FibTg1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWJtODVlCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWJtODVoCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWJtODVoLW9sZAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FjdDQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hY3Q1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWRkcmluZm8KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hZGRzOTgwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWRkc3ZpZXdwb2ludAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FkZHN2cDYwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWRtK3NncgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FkbTEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hZG0xMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FkbTExNzgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hZG0xMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FkbTFhCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWRtMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FkbTIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWRtMjEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hZG0yMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FkbTMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hZG0zMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FkbTMxLW9sZAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FkbTM2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWRtM2EKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hZG0zYSsKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hZG00MgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FkbTQyLW5zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWRtNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FlcHJvCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWl4dGVybS1tCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWl4dGVybS1tLW9sZAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FqCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWo1MTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hajgzMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FqODMyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWx0MgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FsdDMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbHQ0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWx0NQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FsdDcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbHQ3cGMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbHRvLWgxOQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FsdG8taGVhdGgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbHRvaDE5CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWx0b2hlYXRoCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWx0b3MtMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FsdG9zLTMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbHRvcy00CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYWx0b3MtNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FsdG9zMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FsdG9zMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FsdG9zNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FsdG9zNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FsdG9zNworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FsdG9zN3BjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW1iYXMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbWJhc3NhZG9yCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW1pZ2EKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbWlnYS1oCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW1wMjE5CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW1wMjE5dworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FtcGV4LTIxOQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FtcGV4LTIxOXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbXBleC0yMzIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbXBleDE3NQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FtcGV4MTc1LWIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbXBleDIxMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FtcGV4MjE5CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW1wZXgyMTl3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW1wZXgyMzIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbXBleDIzMncKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbXBleDgwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW5uYXJib3I0MDgwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW5zaQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2Fuc2ktY29sb3ItMi1lbXgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbnNpLWNvbG9yLTMtZW14CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW5zaS1lbXgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbnNpLW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbnNpLW1pbmkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbnNpLW1vbm8KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbnNpLW50CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW5zaS5zeXMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbnNpLnN5cy1vbGQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbnNpLnN5c2sKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbnNpNDNtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW5zaTc3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW5zaTgweDI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW5zaTgweDI1LW1vbm8KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbnNpODB4MjUtcmF3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW5zaTgweDMwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW5zaTgweDMwLW1vbm8KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbnNpODB4NDMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbnNpODB4NDMtbW9ubworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2Fuc2k4MHg1MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2Fuc2k4MHg1MC1tb25vCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW5zaTgweDYwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYW5zaTgweDYwLW1vbm8KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbnNpbAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2Fuc2lsLW1vbm8KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbnNpcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2Fuc2lzLW1vbm8KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hbnNpc3lzaworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2Fuc2l3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXAtdm04MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FwbAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2Fwb2xsbworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2Fwb2xsb18xNVAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hcG9sbG9fMTlMCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXBvbGxvX2NvbG9yCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXBwbGUtODAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hcHBsZS1hZQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FwcGxlLXNvcm9jCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXBwbGUtdXRlcm0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hcHBsZS11dGVybS12YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FwcGxlLXZpZGV4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXBwbGUtdmlkZXgyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXBwbGUtdmlkZXgzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXBwbGUtdm04MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FwcGxlMmUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hcHBsZTJlLXAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hcHBsZTgwcAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FwcGxlSUkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hcHBsZUlJYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2FwcGxlSUllCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXBwbGVJSWdzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXQzODYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdGFyaQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDIzMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQyMzUwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NDQxMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDQ0MTAtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDQ0MTB2MQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDQ0MTB2MS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NDQxNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDQ0MTUrbmwKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ0NDE1LW5sCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NDQxNS1ydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDQ0MTUtcnYtbmwKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ0NDE1LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ0NDE1LXctbmwKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ0NDE1LXctcnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ0NDE1LXctcnYtbgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDQ0MTgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ0NDE4LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ0NDIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NDQyNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDQ0MjQtMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDQ0MjRtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NDQyNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDQ0MjUtbmwKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ0NDI1LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ0NDI2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NTAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NTA1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NTA1LTI0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NTEwYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDUxMGQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ1MTMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ1MzEwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NTMyMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDU0MTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ1NDEwLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ1NDEwdjEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ1NDEwdjEtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDU0MTgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ1NDE4LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ1NDIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NTQyMCtubAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDU0MjAtbmwKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ1NDIwLXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NTQyMC1ydi1ubAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDU0MjAtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDU0MjAtdy1ubAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDU0MjAtdy1ydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDU0MjAtdy1ydi1uCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NTQyMF8yCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NTQyMF8yLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ1NDI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NTQyNS1ubAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDU0MjUtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDU0MzAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ1NjIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NTYyMC0xCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NTYyMC0yNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDU2MjAtMzQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ1NjIwLXMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ2MDUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ2MDUtcGMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ2MDUtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDYxMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDYxMC0xMDNrCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NjEwLTEwM2stdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDYxMC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NjE1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NjE1LTEwM2sKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ2MTUtMTAzay13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NjE1LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ2MjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ2MjAtMTAzaworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDYyMC0xMDNrLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ2MjAtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDYzMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDYzMC0yNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDYzODYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ3MzAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ3MzAtMjQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ3MzAtNDEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ3MzAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXR0NzMwcgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F0dDczMHItMjQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdHQ3MzByLTQxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXZhdGFyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXZhdGFyMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F2YXRhcjArCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXZhdGFyMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F2dAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F2dCtzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXZ0LW5zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXZ0LXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXZ0LXJ2LW5zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXZ0LXJ2LXMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdnQtcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F2dC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXZ0LXctbnMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hdnQtdy1ydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F2dC13LXJ2LW5zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2EvYXZ0LXctcnYtcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9hL2F2dC13LXMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hd3MKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYS9hd3NjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2IKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYi9iLTEyOAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9iL2JhbnRhbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9iL2Jhc2ljNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9iL2Jhc2lzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2IvYmN0NTEwYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9iL2JjdDUxMGQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYi9iZWFjb24KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYi9iZWUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYi9iZWVoaXZlCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2IvYmVlaGl2ZTMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYi9iZWVoaXZlNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9iL2JlZWhpdmVJSUltCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2IvYmV0ZXJtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2IvYmcxLjI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2IvYmcxLjI1bnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYi9iZzEuMjVydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9iL2JnMi4wCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2IvYmcyLjBudgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9iL2JnMi4wcnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYi9iZzMuMTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYi9iZzMuMTBudgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9iL2JnMy4xMHJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2IvYmgzbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9iL2JoNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9iL2JpdGdyYXBoCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2IvYmxpdAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9iL2JvYmNhdAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9iL2JzZG9zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2IvYnNkb3MtYm9sZAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvYzEwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2MxMDAtMXAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jMTAwLTRwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvYzEwMC1ydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2MxMDAtcnYtNHAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jMTA0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvYzEwOAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2MxMDgtNHAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jMTA4LThwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvYzEwOC1ydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2MxMDgtcnYtNHAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jMTA4LXJ2LThwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvYzEwOC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvYzEwOC13LThwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvYzMwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2MzMDEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jMzIxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY2EyMjg1MQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NhZDY4LTIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jYWQ2OC0zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY2JibGl0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY2J1bml4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY2NpCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY2NpMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NkYzQ1NgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NkYzcyMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NkYzcyMS1lc2MKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jZGM3MjFsbAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NkYzc1MgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NkYzc1NgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NnNzkwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NnYzIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jZ2MzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY2hyb21hdGljcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NpODUxMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NpdC04MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NpdDEwMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NpdDEwMWUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jaXQxMDFlLTEzMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NpdDEwMWUtbgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NpdDEwMWUtbjEzMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NpdDEwMWUtcnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jaXQ1MDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jaXQ4MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NpdGMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jaXRvaAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NpdG9oLTZscGkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jaXRvaC04bHBpCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY2l0b2gtY29tcAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NpdG9oLWVsaXRlCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY2l0b2gtcGljYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NpdG9oLXByb3AKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jaXRvaC1wcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvY28zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29oZXJlbnQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb2xvcl94dGVybQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbG9yc2NhbgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbW1vZG9yZQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbmNlcHQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25jZXB0LWF2dAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbmNlcHQxMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25jZXB0MTAwLXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uY2VwdDEwOAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbmNlcHQxMDgtNHAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25jZXB0MTA4LThwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uY2VwdDEwOC13LTgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25jZXB0MTA4LXc4cAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbmNlcHQxMDhydjRwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uczI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uczI1LWlzby1tCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uczI1LWlzbzg4NTkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25zMjUta29pOC1yCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uczI1LWtvaThyLW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25zMjUtbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbnMyNWwxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uczI1bDEtbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbnMyNXIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25zMjVyLW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25zMjV3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uczMwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uczMwLW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25zNDMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25zNDMtbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbnM1MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbnM1MC1pc28tbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbnM1MC1pc284ODU5CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uczUwLWtvaThyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uczUwLWtvaThyLW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25zNTAtbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbnM1MGwxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uczUwbDEtbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbnM1MHIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25zNTByLW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25zNjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25zNjAtaXNvCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uczYwLWlzby1tCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uczYwLWtvaThyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uczYwLWtvaThyLW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25zNjAtbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbnM2MGwxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29uczYwbDEtbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvbnM2MHIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb25zNjByLW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb250ZWwzMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb250ZWwzMDEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb250ZWwzMjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb250ZWwzMjEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jb3BzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY29wcy0xMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NvcHMxMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2NzMTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jczEwLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jdDgyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY3Q4NTAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY3RybQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9jL2N4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2MvY3gxMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jeWIxMTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vYy9jeWI4MworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZDEzMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2Q4MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2Q4MDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kYXRhZ3JhcGhpeAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RhdGFtZWRpYTI1MDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kYXRhcG9pbnQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kYXRhc3BlZWQ0MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RkNTAwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RkcgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RkcjMxODAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kZWMtdnQxMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kZWMtdnQyMjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kZWMtdnQzMzAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kZWMtdnQzNDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kZWMtdnQ0MDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kZWNwcm8KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kZWN3cml0ZXIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kZWx0YQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RnLWFuc2kKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kZzEwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RnMjAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZGcyMTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kZzIxMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RnNDUwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZGc0NjAtYW5zaQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RnNjA1MworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RnNjEzNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RpYWJsbworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RpYWJsby1sbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RpYWJsbzE2MjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kaWFibG8xNjIwLW04CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZGlhYmxvMTY0MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RpYWJsbzE2NDAtbG0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kaWFibG8xNjQwLW04CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZGlhYmxvMTcyMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RpYWJsbzE3MzAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kaWFibG8xNzQwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZGlhYmxvMTc0MC1sbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RpYWJsbzQ1MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RpYWJsbzYzMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RpYWxvZ3VlCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZGlhbG9ndWU4MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RpZ2lsb2cKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9ka3U3MDAzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZGt1NzAwMy1kdW1iCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZG0xNTIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZG0xNTIxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZG0yNTAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZG0zMDI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZG0zMDQ1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZG04MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RtODB3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZG1jaGF0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZG1kCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZG1kLTI0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZG1kLTM0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZG1kMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RtZHQ4MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2RtZHQ4MHcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kbXRlcm0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kcDMzNjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kcDgyNDIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kczQwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZHM0MC0yCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZHQtMTAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZHQtMTAwdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2R0MTAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZHQxMDB3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZHQxMTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kdDgwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZHQ4MC1zYXMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kdDgwdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9kL2R0YzMwMHMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kdGMzODIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kdHRlcm0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kdW1iCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2QvZHcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kdzEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kdzIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kdzMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kdzQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kd2sKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZC9kd2stdnQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9lL2VjbWErY29sb3IKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZS9lY21hK3NncgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9lL2Vtb3RzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2UvZW11CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2UvZW52MjMwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2UvZW52aXNpb24yMzAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZS9lcDQwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2UvZXA0MDAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2UvZXA0MDgwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2UvZXA0OAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9lL2VyZ280MDAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2UvZXNwcml0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2UvZXNwcml0LWFtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2UvZXRlcm0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZS9leDE1NQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9lL2V4Y2VsNjIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZS9leGNlbDYyLXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2UvZXhjZWw2Mi13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2UvZXhjZWw2NAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9lL2V4Y2VsNjQtcnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZS9leGNlbDY0LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZS9leGVjODAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9mL2YxMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZi9mMTAwLXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2YvZjExMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9mL2YxMTAtMTQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZi9mMTEwLTE0dworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9mL2YxMTAtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9mL2YxNzIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2YvZjE3MjBhCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2YvZjIwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9mL2YyMDAtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9mL2YyMDB2aQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9mL2YyMDB2aS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2YvZmFsY28KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZi9mYWxjby1wCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2YvZmVuaXgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZi9mZW5peHcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZi9maXh0ZXJtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2YvZm9ydHVuZQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9mL2ZvcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9mL2ZveAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9mL2ZyZWVkb20KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZi9mcmVlZG9tLXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2YvZnJlZWRvbTEwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9mL2ZyZWVkb20xMTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZi9mcmVlZG9tMjAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZy9nYXRvcgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2dhdG9yLTUyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cvZ2F0b3ItNTJ0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cvZ2F0b3ItdAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2dpZ2kKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZy9nbGFzc3R0eQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2dvLTIyNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2dvMTQwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cvZ28xNDB3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cvZ28yMjUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZy9ncmFwaG9zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cvZ3JhcGhvcy0zMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2dzNTQzMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2dzNTQzMC0yMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2dzNTQzMC0yNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2dzNjMwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2dzaQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2d0MTAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cvZ3QxMDBhCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cvZ3Q0MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2d0NDIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZy9ndXJ1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cvZ3VydStydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2d1cnUrcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2d1cnUrdW5rCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cvZ3VydS0yNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2d1cnUtMzMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZy9ndXJ1LTMzLXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cvZ3VydS0zMy1zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cvZ3VydS00NAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2d1cnUtNDQtcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2d1cnUtNzYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZy9ndXJ1LTc2LWxwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cvZ3VydS03Ni1zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cvZ3VydS03Ni13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cvZ3VydS03Ni13LXMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZy9ndXJ1LTc2LXdtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cvZ3VydS1scAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9nL2d1cnUtbmN0eHQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vZy9ndXJ1LXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2cvZ3VydS1zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oLTEwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2gtMTAwYncKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oMTAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaDEwMGJ3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaDE5CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaDE5LWEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oMTktYgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2gxOS1icworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2gxOS1nCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaDE5LXNtdWwKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oMTktdQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2gxOS11cworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2gxOWEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oMTlnCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaDE5aworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2gxOWtlcm1pdAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2gxOXVzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaDI5YS1rYy1iYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2gyOWEta2MtdWMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oMjlhLW5rYy1iYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2gyOWEtbmtjLXVjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaDgwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaGE4Njc1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaGE4Njg2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaGF6ZWwKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oZHMyMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oZTgwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaGVhdGgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oZWF0aC0xOQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hlYXRoLWFuc2kKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oZWF0aGtpdAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hlYXRoa2l0LWEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oZnQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9oZnQtYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hpcmV6MTAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaGlyZXoxMDAtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2htb2QxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocCthcnJvd3MKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocCtjb2xvcgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwK2xhYmVscworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwK3BmaythcnJvd3MKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocCtwZmsrY3IKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocCtwZmstY3IKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocCtwcmludGVyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAxMTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDE1MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjM2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyMzgyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyMzgyYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjM5MgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjM5NworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjM5N2EKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjEtNDgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjEtYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyMS1iYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyMS1mbAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyMS1rNDUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjEtbmwKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjEtbnQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjEtd2wKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjFBCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjIxYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyMWEtYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyMWIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjFiLWt4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjIxYi1reC1wCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjIxYi1wCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjIxazQ1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjIxcAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyMXAtYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyMmEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjNhCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjI0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjI0LTEwcAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyNGEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjRhLTEwcAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyNGIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjRiLTEwcAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyNGItMTBwLXAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjRiLTRwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjI0Yi00cC1wCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjI0Yi1wCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjI2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjI2LTEyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjI2LTEyLXMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjYtMTJ4NDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjYtbnMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjYtcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyNi14NDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjZhCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjI2cAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyN2EKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MjdhLXJldgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjYyN2MKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2MngKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2NDBhCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjQwYgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjY0MWEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2NDRhCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjQ1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAyNjQ1YQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwMjY0N2EKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2NDgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDI2NDhhCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHAzMDBoCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHA0NQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwNzAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHA3MDAtd3kKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDcwMDkyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHA3MDA5MkEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDcwMDkyYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwOTgzNworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwOTg0NQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwOTg1NTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDk4NTUwYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwOTg3MjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocDk4NzIxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHBhbnNpCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHBleAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2hwZXgyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHBnZW5lcmljCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2gvaHBzdWIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9ocHRlcm0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaC9odHgxMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2h6MTAwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2h6MTQyMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2h6MTUwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2h6MTUxMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2h6MTUyMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2h6MTUyMC1ub2VzYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2h6MTU1MgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2h6MTU1Mi1ydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9oL2h6MjAwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaTEwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2kzMTAxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaTMxNTEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pMzE2NAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2k0MDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYmNzMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2libS1hcGwKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm0tcGMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm0tc3lzdGVtMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2libTMxMDEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm0zMTUxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtMzE2MQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2libTMxNjMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm0zMTY0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtMzI3eAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2libTUwNTEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm01MDgxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtNTA4MS1jCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtNTE1MQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2libTUxNTQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm01MTU0LWMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm02MTUzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtNjE1NAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2libTYxNTQtYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2libTYxNTUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm04NTEyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtODUxMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2libTg1MTQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm04NTE0LWMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm1hZWQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm1hcGExNgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2libWFwYTgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm1hcGE4YworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2libWFwYThjLWMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm1lZ2EKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm1lZ2EtYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2libW1vbm8KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm1tcGVsCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtbXBlbC1jCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtcGMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm1wYzMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm1wYzNyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtcGMzci1tb25vCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtcGN4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtdmdhCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWJtdmdhLWMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pYm14CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaWZtcgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2ltcy1hbnNpCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaW1zOTUwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaW1zOTUwLWIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pbXM5NTAtcnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pbmZvdG9uCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaW50ZXJ0ZWMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pbnRlcnR1YmUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pbnRlcnR1YmUyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaW50ZXh0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaW50ZXh0MgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2ludGV4dGlpCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaXBzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaXBzaQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9pL2lxMTIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaXExNDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pcmlzLWFuc2kKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pcmlzLWFuc2ktYXAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vaS9pcmlzLWNvbG9yCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2kvaXJpczQwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2oKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vai9qYWl4dGVybS1tCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2ovamVycQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9rCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2svazQ1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2sva2F5cHJvCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2sva2F5cHJvMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9rL2tlcm1pdAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9rL2tlcm1pdC1hbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9rL2tsb25lK2FjcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9rL2tsb25lK2NvbG9yCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2sva2xvbmUra29pOGFjcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9rL2tsb25lK3NncgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9rL2tsb25lK3Nnci1kdW1iCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2sva3Q3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2sva3Q3aXgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vay9rdGVybQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9rL2t0bQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9sCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2wvbGExMjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbC9sYXllcgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9sL2xpbnV4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2wvbGludXgtYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9sL2xpbnV4LWMtbmMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbC9saW51eC1rb2k4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2wvbGludXgta29pOHIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbC9saW51eC1tCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2wvbGludXgtbmljCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2wvbGlzYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9sL2xpc2F0ZXJtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2wvbGlzYXRlcm0tdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9sL2xpc3diCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL2wvbG4wMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9sL2xuMDMtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9sL2xwcgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9sL2x1bmEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbC9sdW5hNjhrCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9tMi1uYW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9tYWMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9tYWMtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21hY2ludG9zaAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21hY3Rlcm1pbmFsLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9tYWkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9tYXNzY29tcAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21hc3Njb21wMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21hc3Njb21wMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21kbDExMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21lZ2F0ZWsKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9tZW1ocAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21ncgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21nci1saW51eAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21nci1zdW4KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9taWNyb2IKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9taWNyb2JlZQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21pY3JvdGVybQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21pY3JvdGVybTUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9taW1lCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbWltZS0zYXgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9taW1lLWZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbWltZS1oYgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21pbWUxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbWltZTIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9taW1lMmEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9taW1lMmEtcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21pbWUyYS12CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbWltZTMxNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21pbWUzNDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9taW1lM2EKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9taW1lM2F4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbWltZWkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9taW1laWkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9taW5pdGVsCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbWluaXRlbC0yCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbWluaXRlbC0yLW5hbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21pbml4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbWluaXgtb2xkCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbWluaXgtb2xkLWFtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbW0zMTQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9tbTM0MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21vZAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21vZDI0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbW9kZ3JhcGgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9tb2RncmFwaDIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9tb2RncmFwaDQ4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbW9uby1lbXgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9tc2syMjcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9tc2syMjcxNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL21zazIyN2FtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbXNrZXJtaXQyMjcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbS9tc2tlcm1pdDIyNzE0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbXNrZXJtaXQyMjdhbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9tL210LTcwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbXQ0NTIwLXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL20vbXQ3MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmFuc2kuc3lzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmFuc2kuc3lzaworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25hbnNpc3lzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmFuc2lzeXNrCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmNyNzkwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25jcjc5MDBpCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmNyNzkwMGl2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmNyNzkwMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25lYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25lYzU1MjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9uZXdocAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25ld2hwa2V5Ym9hcmQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9uZXdzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmV3cy0yOQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25ld3MtMjktZXVjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmV3cy0yOS1zamlzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmV3cy0zMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25ld3MtMzMtZXVjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmV3cy0zMy1zamlzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmV3cy00MgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25ld3MtNDItZXVjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmV3cy00Mi1zamlzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmV3cy1hCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmV3cy1vCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmV3cy1vbGQtdW5rCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmV3cy11bmsKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9uZXdzMjgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9uZXdzMjgtYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25ld3MyOQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25ld3MzMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25ld3MzMS1hCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmV3czMxLW8KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9uZXdzMzMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9uZXdzNDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9uZXdzNDAtYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25ld3M0MC1vCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmV3czQyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbmV3c2NibQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25ld3NjYm0tYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25ld3NjYm0tbworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25ld3NjYm0zMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL25leHQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9uZXh0c2hlbGwKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9ub3J0aHN0YXIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9ud2U1MDEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9ud2U1MDEtYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL253ZTUwMS1vCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbndwLTUxMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL253cC01MTcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9ud3AtNTE3LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9ud3AyNTEtYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL253cDI1MS1vCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbndwNTExCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbndwNTEyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbndwNTEyLWEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9ud3A1MTItbworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL253cDUxMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL253cDUxMy1hCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbndwNTEzLW8KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9ud3A1MTQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9ud3A1MTQtYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL253cDUxNC1vCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbndwNTE3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL24vbndwNTE3LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9ud3A1MTgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vbi9ud3A1MTgtYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9uL253cDUxOC1vCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL28KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vby9vMzEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vby9vNDExMi1uZAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9vL284NWgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vby9vYWJtODVoCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL28vb2JsaXQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vby9vYzEwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9vL29jb25jZXB0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL28vb2plcnEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vby9vbGRpYm1wYzMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vby9vbGRwYzMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vby9vbGRzdW4KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vby9vbXJvbgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9vL29wdXMzbjErCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL28vb3JpZ2libXBjMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9vL29yaWdwYzMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vby9vczlMSUkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vby9vc2Jvcm5lCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL28vb3Nib3JuZS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL28vb3Nib3JuZTEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vby9vc2Jvcm5lMS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL28vb3NleGVjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL28vb3RlazQxMTIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vby9vdGVrNDExMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9vL290ZWs0MTE0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL28vb3RlazQxMTUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vby9vd2wKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3AxMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3AxMi1tCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcDEyLW0tdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3AxMi13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcDE0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcDE0LW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wMTQtbS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcDE0LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wMTkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3A1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcDcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wOAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3A4LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wOGdsCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcDkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wOS04CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcDktOC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcDktdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjLWNvaGVyZW50CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGMtbWluaXgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wYy12ZW5peAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjMy1ib2xkCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGMzcgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjM3ItbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjNjMwMHBsdXMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wYzczMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wY2Fuc2kKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wY2Fuc2ktMjUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wY2Fuc2ktMjUtbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjYW5zaS0zMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjYW5zaS0zMy1tCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGNhbnNpLTQzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGNhbnNpLTQzLW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wY2Fuc2ktbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjYW5zaS1tb25vCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGNhbnNpMjUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wY2Fuc2kyNW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wY2Fuc2kzMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjYW5zaTMzbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjYW5zaTQzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGNjb25zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGNjb25zb2xlCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGNpeAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3Bja2VybWl0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGNrZXJtaXQxMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3Bja2VybWl0MTIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGNwbG90CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGN2dDI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGN2dDI1dworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjdnQyOAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjdnQyOHcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wY3Z0MzUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wY3Z0MzV3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGN2dDQwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGN2dDQwdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjdnQ0MworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BjdnQ0M3cKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wY3Z0NTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wY3Z0NTB3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGN2dFhYCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGN6MTkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wZTExMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wZTEyMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wZTEyNTEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wZTU1MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BlNjEwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BlNjMwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BlNjMxMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BlNzAwMGMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wZTcwMDBtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcGlsb3QKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wcmludGVyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHJpc20xMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3ByaXNtMTItbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3ByaXNtMTItbS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHJpc20xMi13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHJpc20xNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3ByaXNtMTQtbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3ByaXNtMTQtbS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHJpc20xNC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHJpc20yCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHJpc200CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHJpc201CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHJpc203CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHJpc204CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHJpc204LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wcmlzbThnbAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3ByaXNtOQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3ByaXNtOS04CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHJpc205LTgtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3ByaXNtOS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHJvMzUwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHMzMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wc3Rlcm0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wc3Rlcm0tODB4MjQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wc3Rlcm0tOTB4MjgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wc3Rlcm0tOTZ4NDgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wc3Rlcm0tYmFzaWMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wc3Rlcm0tZmFzdAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3BzeF9hbnNpCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHQxMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wdDEwMHcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wdDIwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3B0MjAwdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3B0MjEwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHQyNTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wdDI1MHcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wdDUwNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9wL3B0NTA1LTIyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3AvcHQ1MDUtMjQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcC9wdHkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9xL3FkY29ucworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9xL3Fkc3MKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcS9xbngKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcS9xbng0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3EvcXVtZQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9xL3F1bWU1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3EvcXZ0MTAxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3EvcXZ0MTAxKworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9xL3F2dDEwMXAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcS9xdnQxMDIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcS9xdnQxMDMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcS9xdnQxMDMtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9xL3F2dDEwOAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9xL3F2dDExOQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9xL3F2dDExOSsKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcS9xdnQxMTkrLTI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3EvcXZ0MTE5Ky0yNS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3EvcXZ0MTE5Ky13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3EvcXZ0MTE5LTI1LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcS9xdnQxMTktdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9xL3F2dDExOXAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcS9xdnQxMTlwLTI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3EvcXZ0MTE5cC0yNS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3EvcXZ0MTE5cC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3EvcXZ0MjAzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3EvcXZ0MjAzKworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9xL3F2dDIwMy0yNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9xL3F2dDIwMy0yNS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3EvcXZ0MjAzLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcS9xdnQyMDMtdy1hbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9yCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3IvcmJjb21tCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3IvcmJjb21tLW5hbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9yL3JiY29tbS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3IvcmNhCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3IvcmVidXMzMTgwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3IvcmVnZW50CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3IvcmVnZW50MTAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3IvcmVnZW50MjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vci9yZWdlbnQyMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vci9yZWdlbnQyNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9yL3JlZ2VudDQwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3IvcmVnZW50NDArCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3IvcmVnZW50NjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vci9ydDYyMjEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vci9ydDYyMjEtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9yL3J0cGMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vci9yeHZ0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Ivcnh2dC1iYXNpYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3MvcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3M0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc2IxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc2IyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc2IzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc2JpCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc2JvYmNhdAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3NjNDEwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc2M0MTUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zY2Fuc2V0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc2NvYW5zaQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3NjcmVlbgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3NjcmVlbi13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc2NyZWVuMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3NjcmVlbjMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zY3Jld3BvaW50CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc2NyaHAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zaW10ZXJtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc29yb2MKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zb3JvYzEyMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3Nvcm9jMTQwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc3BpbndyaXRlcgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3N0NTIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zdW4KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zdW4tMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3N1bi0xMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3N1bi0xNworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3N1bi0yNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3N1bi0zNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3N1bi00OAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3N1bi1jCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc3VuLWNtZAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3N1bi1lCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc3VuLWUtcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3N1bi1pbAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3N1bi1uaWMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zdW4tcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3N1bi1zLWUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zdW4tc3M1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc3VuMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3N1bjIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zdW5lCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc3VwZXJiZWUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zdXBlcmJlZS14c2IKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zdXBlcmJlZWljCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc3VwZXJicmFpbgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3N2ODAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zd3RwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Mvc3luZXJ0ZWsKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vcy9zeW5lcnRlazM4MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby9zL3N5c3RlbTEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3QxMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3QxMDYxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdDEwNjFmCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdDE2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdDM3MDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90MzgwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3Q2NTN4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGFiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGFiMTMyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGFiMTMyLTE1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGFiMTMyLXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGFiMTMyLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90YWIxMzItdy1ydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RhbmRlbTY1MTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90YW5kZW02NTMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWsKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0MDEyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDAxMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RlazQwMTQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0MDE0LXNtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDAxNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RlazQwMTUtc20KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0MDIzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDAyNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RlazQwMjUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0MDI1LTE3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDAyNS0xNy13cworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RlazQwMjUtY3IKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0MDI1LWV4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDAyNWEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0MDI1ZXgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0MDI3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDAyNy1leAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RlazQxMDUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0MTA1LTMwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDEwNWEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0MTA2YnJsCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDEwNworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RlazQxMDdicmwKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0MTA5CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDEwOWJybAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RlazQxMTIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0MTEyLTUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0MTEyLW5kCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDExMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RlazQxMTMtMzQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0MTEzLW5kCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDExNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RlazQxMTUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0MTI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVrNDIwNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RlazQyMDcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0MjA3LXMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZWs0NDA0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGVsZXJheQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RlbGV0ZWMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90ZXJtaW5ldAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3Rlcm1pbmV0MTIwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3Rlcm1pbmV0MzAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGd0ZWxuZXQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90aTcwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RpNzMzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGk3MzUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90aTc0NQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RpODAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGk5MTYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90aTkxNi0xMzIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90aTkxNi0yMjAtNworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RpOTE2LTIyMC04CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGk5MTYtOAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RpOTE2LTgtMTMyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGk5MjQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90aTkyNC04CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdGk5MjQtOHcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90aTkyNHcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90aTkyNgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RpOTI2LTgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90aTkyOAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RpOTI4LTgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90aTkzMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RpX2Fuc2kKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90bjEyMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90bjMwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RyczE2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHJzMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RyczgwSUkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90cnNJSQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RzLTEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90cy0xcAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RzMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RzMTAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHMxMDAtY3R4dAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3RzMTAwLXNwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHMxcAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R0NTA1LTIyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHR5MzMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dHkzNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R0eTM3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHR5NDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dHk0MworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R0eTQ0MjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dHk0NDI0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHR5NDQyNC0xCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHR5NDQyNG0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dHk0NDI2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHR5NTQxMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R0eTU0MTAtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R0eTU0MTB2MQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R0eTU0MTB2MS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHR5NTQyMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R0eTU0MjArbmwKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dHk1NDIwLW5sCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHR5NTQyMC1ydgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R0eTU0MjAtcnYtbmwKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dHk1NDIwLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dHk1NDIwLXctbmwKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dHk1NDIwLXctcnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dHk1NDIwLXctcnYtbgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R0eTU0MjUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dHk1NDI1LW5sCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHR5NTQyNS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHR5NTYyMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R0eTU2MjAtMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R0eTU2MjAtMjQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dHk1NjIwLTM0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHR5NTYyMC1zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHR5ZG1kCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHZpLTJwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHZpODAzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHZpOTA2NQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R2aTkxMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R2aTkxMCsKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5MTIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5MTItMnAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5MTJiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHZpOTEyYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R2aTkxMmNjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHZpOTE0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHZpOTIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHZpOTIwLTJwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3QvdHZpOTIwYgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R2aTkyMGMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5MjEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5MjQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5MjUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5MjUtaGkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5MkIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5MkQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5NTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5NTAtMnAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5NTAtNHAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5NTAtcnYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5NTAtcnYtMnAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5NTAtcnYtNHAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5NTUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5NTUtaGIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdC90dmk5NTUtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R2aTk3MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R2aTk3MC0ycAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R2aTk3MC12YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby90L3R2aXB0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3UKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdS91bHRpbWEyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3UvdWx0aW1hSUkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdS91bml0ZXJtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3UvdW5pdGVybTQ5CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3UvdW5peHBjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3UvdW5rbm93bgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby91L3V0czMwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92MjAwLW5hbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3YzMjBuCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdjMyMjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92NTQxMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3ZhcHBsZQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3ZjMTAzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdmMyMDMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92YzMwMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3ZjMzAzYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3ZjNDAzYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3ZjNDA0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdmM0MDQtcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3ZjNDE0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdmM0MTRoCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdmM0MTUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92ZW5peAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3ZlcnNhdGVybQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3ZpMjAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdmkyMDAtZgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3ZpMjAwLXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdmkzMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92aTMwMC1vbGQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92aTUwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Yvdmk1MDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92aTUwYWRtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Yvdmk1NQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3ZpNTUwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Yvdmk2MDMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92aWV3cG9pbnQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92aWV3cG9pbnQzYSsKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92aWV3cG9pbnQ2MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3ZpZXdwb2ludDkwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdmlzYTUwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdmlzdWFsNjAzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3Yvdml0dHkKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92azEwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3ZwM2ErCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnA2MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3ZwOTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92cmVtb3RlCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnMxMDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92czEwMC14MTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92c2MKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dC02MQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MTAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQxMDAtYW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDEwMC1ibQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MTAwLWJtLW8KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDEwMC1ib3QtcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MTAwLW5hbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MTAwLW5hbS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQxMDAtbmF2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQxMDAtbmF2LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDEwMC1zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQxMDAtcy1ib3QKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDEwMC1zLXRvcAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MTAwLXRvcC1zCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQxMDAtdmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDEwMC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQxMDAtdy1hbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MTAwLXctbmFtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQxMDAtdy1uYXYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDEwMG5hbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MTAyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQxMDItbnNncgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MTAyLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDEyNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MTMxCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQxMzIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDIwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MjAwLWpzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQyMDAtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MjIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQyMjAtOAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MjIwLWpzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQyMjAtbmFtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQyMjAtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MjIwZAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MzAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQzMDAtbmFtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQzMDAtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MzAwLXctbmFtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQzMjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDMyMC1rMworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MzIwLWszMTEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDMyMC1uYW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDMyMC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQzMjAtdy1uYW0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDMyMG5hbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0MzMwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQzNDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDQwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0NDAwLTI0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQ0MjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDQyMGYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDQyMHBjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQ0MjBwY2RvcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0NTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDUwaAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0NTEwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQ1MTBwYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0NTEwcGNkb3MKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDUyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3YvdnQ1MjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDUyNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby92L3Z0NjEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdi92dDYxLjUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3dyZW4KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93cmVudworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3dzaXJpcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5LTc1YXAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTEwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MTAwcQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MTIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kxMjAtMjUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTEyMC0yNS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kxMjAtdmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTEyMC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kxMjAtdy12YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MTIwLXd2YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MTUwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kxNTAtMjUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTE1MC0yNS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kxNTAtdmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTE1MC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kxNTAtdy12YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MTYwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kxNjAtMjUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTE2MC0yNS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kxNjAtNDIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTE2MC00Mi13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kxNjAtNDMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTE2MC00My13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kxNjAtdGVrCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kxNjAtdmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTE2MC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kxNjAtdy12YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MTYwLXd2YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MTg1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kxODUtMjQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTE4NS12YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MTg1LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTE4NS13dmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTMwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kzMC1tYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MzAtdmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTMyNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MzI1LTI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kzMjUtMjV3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kzMjUtNDIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTMyNS00MncKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTMyNS00MnctdmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTMyNS00Mnd2YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MzI1LTQzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kzMjUtNDN3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kzMjUtNDN3LXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kzMjUtNDN3dmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTMyNS04MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MzI1LXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kzMjUtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MzI1LXctdmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTMyNS13dmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTMyNXctMjQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTM1MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MzUwLXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kzNTAtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MzUwLXd2YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MzcwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kzNzAtMTAxaworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MzcwLTEwNWsKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTM3MC1FUEMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTM3MC1uaworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5MzcwLXJ2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kzNzAtdGVrCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kzNzAtdmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTM3MC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3kzNzAtd3ZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k1MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NTAtbWMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTUwLXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k1MC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k1MC13dmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTUyMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NTIwLTI0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k1MjAtMzYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTUyMC0zNnBjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k1MjAtMzZ3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k1MjAtMzZ3cGMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTUyMC00OAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NTIwLTQ4cGMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTUyMC00OHcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTUyMC00OHdwYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NTIwLWVwYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NTIwLWVwYy0yNAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NTIwLWVwYy12YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NTIwLWVwYy13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k1MjAtZXBjLXd2YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NTIwLXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k1MjAtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NTIwLXd2YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTYwLTI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k2MC0yNS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k2MC0zMTZYCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k2MC00MgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NjAtNDItdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NjAtNDMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTYwLTQzLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTYwLXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k2MC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k2MC13LXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k2MC13dmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTc1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k3NS1tYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NzUtdmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTc1LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTc1LXd2YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5NzVhcAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5ODUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTg1LXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k4NS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k4NS13dmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTk5Z3QKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTk5Z3QtMjUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTk5Z3QtMjUtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5OTlndC10ZWsKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTk5Z3QtdmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eTk5Z3QtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5OTlndC13LXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3k5OWd0LXd2YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UtMzI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZS03NWFwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZS12cAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UxMjAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMTIwLTI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTEyMC0yNS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTEyMC12YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UxMjAtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UxMjAtd3ZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTE1MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UxNTAtMjUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMTUwLTI1LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMTUwLXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTE1MC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTE1MC13LXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTE2MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UxNjAtMjUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMTYwLTI1LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMTYwLTQyCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTE2MC00Mi13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTE2MC00MworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UxNjAtNDMtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UxNjAtdmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMTYwLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMTYwLXd2YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UxODUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMTg1LTI0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTE4NS12YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UxODUtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UxODUtd3ZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTMwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTMwLW1jCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTMwLXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTMyNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UzMjUtMjUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMzI1LTI1dworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UzMjUtNDIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMzI1LTQydworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UzMjUtNDMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMzI1LTQzdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UzMjUtdmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMzI1LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMzI1LXd2YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2UzNTAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMzUwLXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTM1MC13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTM1MC13dmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlMzcwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTUwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTUwLW1jCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTUwLXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTUwLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlNTAtd3ZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTUyMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U1MjAtMjQKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlNTIwLTM2CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTUyMC0zNnBjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTUyMC0zNncKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlNTIwLTM2d3BjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTUyMC00OAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U1MjAtNDhwYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U1MjAtNDh3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTUyMC00OHdwYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U1MjAtZXBjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTUyMC1lcGMtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U1MjAtcC13dmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlNTIwLXBjLTI0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTUyMC1wYy12YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U1MjAtdmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlNTIwLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlNTIwLXd2YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U2MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U2MC0yNQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U2MC0yNS13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTYwLTMxNlgKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlNjAtNDIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlNjAtNDItdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U2MC00MworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U2MC00My13CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTYwLXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTYwLXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlNjAtd3ZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTc1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTc1LW1jCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTc1LXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTc1LXcKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlNzUtd3ZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTc1YXAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlODUKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlODUtdmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlODUtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U4NS13dmIKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vdy93eXNlOTlndAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U5OWd0LTI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTk5Z3QtMjUtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U5OWd0LXZiCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3cvd3lzZTk5Z3QtdworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby93L3d5c2U5OWd0LXd2YgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3gveDEwdGVybQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3gxNzAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3gveDE3MDAtbG0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8veC94MTcyMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3gxNzUwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3gveDY4aworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3g2OGstaXRlCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3gveDgyMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3hlbml4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3gveGVyb3gKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8veC94ZXJveC1sbQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3hlcm94MTcyMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3hlcm94ODIwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3gveGw4MworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3h0YWxrCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3gveHRlcm0KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8veC94dGVybStzbAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3h0ZXJtK3NsLXR3bQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3h0ZXJtLTE2Y29sb3IKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8veC94dGVybS04Yml0CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3gveHRlcm0tYm9sZAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3h0ZXJtLW5pYworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3h0ZXJtLW9sZAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3h0ZXJtLXBjb2xvcgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3h0ZXJtLXI1CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3gveHRlcm0tcjYKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8veC94dGVybS1zdW4KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8veC94dGVybS14Zjg2LXYzMgorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3h0ZXJtLXhmODYtdjMzCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3gveHRlcm0teGY4Ni12NDAKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8veC94dGVybS14aQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3h0ZXJtMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3h0ZXJtcworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby94L3h0ZXJtcy1zdW4KKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8veC94d3NoCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3oKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vei96LTEwMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby96L3otMTAwYncKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vei96MTAwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3ovejEwMGJ3CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3ovejExMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby96L3oxMTBidworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby96L3oxOQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby96L3oyOQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby96L3oyOWEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vei96MjlhLWtjLWJjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3ovejI5YS1rYy11YworL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby96L3oyOWEtbmtjLWJjCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3ovejI5YS1ua2MtdWMKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vei96MjliCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3ovejMwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3ovejM0MAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby96L3ozNDAtbmFtCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3ovejM5LWEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vei96MzlhCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3ovejUwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3ovejgwMDEKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vei96ZW4zMAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby96L3plbjUwCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3ovemVuODAwMQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby96L3plbml0aAorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby96L3plbml0aDI5CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3ovemVuaXRoMzktYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby96L3plbml0aDM5LWFuc2kKKy91c3Ivc2hhcmUvbmN1cnNlczQvdGVybWluZm8vei96dC0xCisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3ovenR4CisvdXNyL3NoYXJlL25jdXJzZXM0L3Rlcm1pbmZvL3ovenR4LTEtYQorL3Vzci9zaGFyZS9uY3Vyc2VzNC90ZXJtaW5mby96L3p0eDExCis8L1JQTTpGaWxlcz4KKyAgPC9SREY6RGVzY3JpcHRpb24+Cis8L1JERjpSREY+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVjdXJzZS9nb29kLnhtbCBiL2xpYnhtbDIvdGVzdC9yZWN1cnNlL2dvb2QueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYwYWExYjYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVjdXJzZS9nb29kLnhtbApAQCAtMCwwICsxLDM0MyBAQAorPCFET0NUWVBFIGZvbyBbCis8IUVOVElUWSBmICJzb21lIGludGVybmFsIGRhdGEiPgorPCFFTlRJVFkgZSAiJmY7JmY7Ij4KKzwhRU5USVRZIGQgIiZlOyZlOyI+CitdPgorPGZvbz4mZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOzwvZm9vPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlY3Vyc2UvZ29vZGF0dHIueG1sIGIvbGlieG1sMi90ZXN0L3JlY3Vyc2UvZ29vZGF0dHIueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk0ZjcwNzEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVjdXJzZS9nb29kYXR0ci54bWwKQEAgLTAsMCArMSwzNDMgQEAKKzwhRE9DVFlQRSBmb28gWworPCFFTlRJVFkgZiAic29tZSBpbnRlcm5hbCBkYXRhIHJhdGhlciBsYXJnZSB0YWtpbmcgcXVpdGUgc29tZSByb29tIj4KKzwhRU5USVRZIGUgIiZmOyZmOyI+Cis8IUVOVElUWSBkICImZTsmZTsiPgorXT4KKzxmb28gYmFyPSImZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOworJmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7JmQ7CismZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsmZDsKKyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyZkOyIvPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlY3Vyc2UvbG9sMS54bWwgYi9saWJ4bWwyL3Rlc3QvcmVjdXJzZS9sb2wxLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kOTJjOTg1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlY3Vyc2UvbG9sMS54bWwKQEAgLTAsMCArMSwyMyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+DQorPCFET0NUWVBFIGJpbGxpb24gWw0KKzwhRUxFTUVOVCBiaWxsaW9uICgjUENEQVRBKT4NCis8IUVOVElUWSBsYXVnaDAgImhhIj4NCis8IUVOVElUWSBsYXVnaDEgIiZsYXVnaDA7JmxhdWdoMDsiPg0KKzwhRU5USVRZIGxhdWdoMiAiJmxhdWdoMTsmbGF1Z2gxOyI+DQorPCFFTlRJVFkgbGF1Z2gzICImbGF1Z2gyOyZsYXVnaDI7Ij4NCis8IUVOVElUWSBsYXVnaDQgIiZsYXVnaDM7JmxhdWdoMzsiPg0KKzwhRU5USVRZIGxhdWdoNSAiJmxhdWdoNDsmbGF1Z2g0OyI+DQorPCFFTlRJVFkgbGF1Z2g2ICImbGF1Z2g1OyZsYXVnaDU7Ij4NCis8IUVOVElUWSBsYXVnaDcgIiZsYXVnaDY7JmxhdWdoNjsiPg0KKzwhRU5USVRZIGxhdWdoOCAiJmxhdWdoNzsmbGF1Z2g3OyI+DQorPCFFTlRJVFkgbGF1Z2g5ICImbGF1Z2g4OyZsYXVnaDg7Ij4NCis8IUVOVElUWSBsYXVnaDEwICImbGF1Z2g5OyZsYXVnaDk7Ij4NCis8IUVOVElUWSBsYXVnaDExDQorIiZsYXVnaDEwOyZsYXVnaDEwOyZsYXVnaDEwOyZsYXVnaDEwOyZsYXVnaDEwOyZsYXVnaDEwOyZsYXVnaDEwOyZsYXVnaDEwOyZsYXVnaDEwOyZsYXVnaDEwOyZsYXVnaDEwOyZsYXVnaDEwOyZsYXVnaDEwOyZsYXVnaDEwOyZsYXVnaDEwOyZsYXVnaDEwOyZsYXVnaDEwOyZsYXVnaDEwOyZsYXVnaDEwOyZsYXVnaDEwOyZsYXVnaDEwOyZsYXVnaDEwOyZsYXVnaDEwOyZsYXVnaDEwOyZsYXVnaDEwOyZsYXVnaDEwOyZsYXVnaDEwOyZsYXVnaDEwOyZsYXVnaDEwOyZsYXVnaDEwOyZsYXVnaDEwOyZsYXVnaDEwOyZsYXVnaDEwOyZsYXVnaDEwOyZsYXVnaDEwOyZsYXVnaDEwOyZsYXVnaDEwOyZsYXVnaDEwOyZsYXVnaDEwOyZsYXVnaDEwOyZsYXVnaDEwOyZsYXVnaDEwOyI+DQorPCFFTlRJVFkgbGF1Z2gxMg0KKyImbGF1Z2gxMTsmbGF1Z2gxMTsmbGF1Z2gxMTsmbGF1Z2gxMTsmbGF1Z2gxMTsmbGF1Z2gxMTsmbGF1Z2gxMTsmbGF1Z2gxMTsmbGF1Z2gxMTsmbGF1Z2gxMTsmbGF1Z2gxMTsmbGF1Z2gxMTsmbGF1Z2gxMTsmbGF1Z2gxMTsmbGF1Z2gxMTsmbGF1Z2gxMTsmbGF1Z2gxMTsmbGF1Z2gxMTsmbGF1Z2gxMTsmbGF1Z2gxMTsmbGF1Z2gxMTsmbGF1Z2gxMTsmbGF1Z2gxMTsmbGF1Z2gxMTsmbGF1Z2gxMTsmbGF1Z2gxMTsmbGF1Z2gxMTsmbGF1Z2gxMTsmbGF1Z2gxMTsmbGF1Z2gxMTsmbGF1Z2gxMTsmbGF1Z2gxMTsmbGF1Z2gxMTsmbGF1Z2gxMTsmbGF1Z2gxMTsmbGF1Z2gxMTsmbGF1Z2gxMTsmbGF1Z2gxMTsmbGF1Z2gxMTsmbGF1Z2gxMTsmbGF1Z2gxMTsmbGF1Z2gxMTsiPg0KKzwhRU5USVRZIGxhdWdoMTMNCisiJmxhdWdoMTI7JmxhdWdoMTI7JmxhdWdoMTI7JmxhdWdoMTI7JmxhdWdoMTI7JmxhdWdoMTI7JmxhdWdoMTI7JmxhdWdoMTI7JmxhdWdoMTI7JmxhdWdoMTI7JmxhdWdoMTI7JmxhdWdoMTI7JmxhdWdoMTI7JmxhdWdoMTI7JmxhdWdoMTI7JmxhdWdoMTI7JmxhdWdoMTI7JmxhdWdoMTI7JmxhdWdoMTI7JmxhdWdoMTI7JmxhdWdoMTI7JmxhdWdoMTI7JmxhdWdoMTI7JmxhdWdoMTI7JmxhdWdoMTI7JmxhdWdoMTI7JmxhdWdoMTI7JmxhdWdoMTI7JmxhdWdoMTI7JmxhdWdoMTI7JmxhdWdoMTI7JmxhdWdoMTI7JmxhdWdoMTI7JmxhdWdoMTI7JmxhdWdoMTI7JmxhdWdoMTI7JmxhdWdoMTI7JmxhdWdoMTI7JmxhdWdoMTI7JmxhdWdoMTI7JmxhdWdoMTI7JmxhdWdoMTI7Ij4NCitdPg0KKzxiaWxsaW9uPiZsYXVnaDEzOzwvYmlsbGlvbj4NCisNCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVjdXJzZS9sb2wyLnhtbCBiL2xpYnhtbDIvdGVzdC9yZWN1cnNlL2xvbDIueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUwN2RjNGQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVjdXJzZS9sb2wyLnhtbApAQCAtMCwwICsxLDIzIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4NCis8IURPQ1RZUEUgYmlsbGlvbiBbDQorPCFFTEVNRU5UIGJpbGxpb24gKCNQQ0RBVEEpPg0KKzwhRU5USVRZIGxhdWdoMCAiaGEiPg0KKzwhRU5USVRZIGxhdWdoMSAiJmxhdWdoMDsmbGF1Z2gwOyI+DQorPCFFTlRJVFkgbGF1Z2gyICImbGF1Z2gxOyZsYXVnaDE7Ij4NCis8IUVOVElUWSBsYXVnaDMgIiZsYXVnaDI7JmxhdWdoMjsiPg0KKzwhRU5USVRZIGxhdWdoNCAiJmxhdWdoMzsmbGF1Z2gzOyI+DQorPCFFTlRJVFkgbGF1Z2g1ICImbGF1Z2g0OyZsYXVnaDQ7Ij4NCis8IUVOVElUWSBsYXVnaDYgIiZsYXVnaDU7JmxhdWdoNTsiPg0KKzwhRU5USVRZIGxhdWdoNyAiJmxhdWdoNjsmbGF1Z2g2OyI+DQorPCFFTlRJVFkgbGF1Z2g4ICImbGF1Z2g3OyZsYXVnaDc7Ij4NCis8IUVOVElUWSBsYXVnaDkgIiZsYXVnaDg7JmxhdWdoODsiPg0KKzwhRU5USVRZIGxhdWdoMTAgIiZsYXVnaDk7JmxhdWdoOTsiPg0KKzwhRU5USVRZIGxhdWdoMTENCisiJmxhdWdoMTA7JmxhdWdoMTA7JmxhdWdoMTA7JmxhdWdoMTA7JmxhdWdoMTA7JmxhdWdoMTA7JmxhdWdoMTA7JmxhdWdoMTA7JmxhdWdoMTA7JmxhdWdoMTA7JmxhdWdoMTA7JmxhdWdoMTA7JmxhdWdoMTA7JmxhdWdoMTA7JmxhdWdoMTA7JmxhdWdoMTA7JmxhdWdoMTA7JmxhdWdoMTA7JmxhdWdoMTA7JmxhdWdoMTA7JmxhdWdoMTA7JmxhdWdoMTA7JmxhdWdoMTA7JmxhdWdoMTA7JmxhdWdoMTA7JmxhdWdoMTA7JmxhdWdoMTA7JmxhdWdoMTA7JmxhdWdoMTA7JmxhdWdoMTA7JmxhdWdoMTA7JmxhdWdoMTA7JmxhdWdoMTA7JmxhdWdoMTA7JmxhdWdoMTA7JmxhdWdoMTA7JmxhdWdoMTA7JmxhdWdoMTA7JmxhdWdoMTA7JmxhdWdoMTA7JmxhdWdoMTA7JmxhdWdoMTA7Ij4NCis8IUVOVElUWSBsYXVnaDEyDQorIiZsYXVnaDExOyZsYXVnaDExOyZsYXVnaDExOyZsYXVnaDExOyZsYXVnaDExOyZsYXVnaDExOyZsYXVnaDExOyZsYXVnaDExOyZsYXVnaDExOyZsYXVnaDExOyZsYXVnaDExOyZsYXVnaDExOyZsYXVnaDExOyZsYXVnaDExOyZsYXVnaDExOyZsYXVnaDExOyZsYXVnaDExOyZsYXVnaDExOyZsYXVnaDExOyZsYXVnaDExOyZsYXVnaDExOyZsYXVnaDExOyZsYXVnaDExOyZsYXVnaDExOyZsYXVnaDExOyZsYXVnaDExOyZsYXVnaDExOyZsYXVnaDExOyZsYXVnaDExOyZsYXVnaDExOyZsYXVnaDExOyZsYXVnaDExOyZsYXVnaDExOyZsYXVnaDExOyZsYXVnaDExOyZsYXVnaDExOyZsYXVnaDExOyZsYXVnaDExOyZsYXVnaDExOyZsYXVnaDExOyZsYXVnaDExOyZsYXVnaDExOyI+DQorPCFFTlRJVFkgbGF1Z2gxMw0KKyImbGF1Z2gxMjsmbGF1Z2gxMjsmbGF1Z2gxMjsmbGF1Z2gxMjsmbGF1Z2gxMjsmbGF1Z2gxMjsmbGF1Z2gxMjsmbGF1Z2gxMjsmbGF1Z2gxMjsmbGF1Z2gxMjsmbGF1Z2gxMjsmbGF1Z2gxMjsmbGF1Z2gxMjsmbGF1Z2gxMjsmbGF1Z2gxMjsmbGF1Z2gxMjsmbGF1Z2gxMjsmbGF1Z2gxMjsmbGF1Z2gxMjsmbGF1Z2gxMjsmbGF1Z2gxMjsmbGF1Z2gxMjsmbGF1Z2gxMjsmbGF1Z2gxMjsmbGF1Z2gxMjsmbGF1Z2gxMjsmbGF1Z2gxMjsmbGF1Z2gxMjsmbGF1Z2gxMjsmbGF1Z2gxMjsmbGF1Z2gxMjsmbGF1Z2gxMjsmbGF1Z2gxMjsmbGF1Z2gxMjsmbGF1Z2gxMjsmbGF1Z2gxMjsmbGF1Z2gxMjsmbGF1Z2gxMjsmbGF1Z2gxMjsmbGF1Z2gxMjsmbGF1Z2gxMjsmbGF1Z2gxMjsiPg0KK10+DQorPGJpbGxpb24gbG9jYXRpb249IiZsYXVnaDEzOyI+dGV4dDwvYmlsbGlvbj4NCisNCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVjdXJzZS9sb2wzLmR0ZCBiL2xpYnhtbDIvdGVzdC9yZWN1cnNlL2xvbDMuZHRkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmViM2JjMjAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVjdXJzZS9sb2wzLmR0ZApAQCAtMCwwICsxLDIwIEBACis8IUVMRU1FTlQgYmlsbGlvbiAoI1BDREFUQSk+Cis8IUVOVElUWSAlIGxhdWdoMCAiPCEtLSBIYSAhIC0tPiI+Cis8IUVOVElUWSAlIGxhdWdoMSAiJWxhdWdoMDslbGF1Z2gwOyI+Cis8IUVOVElUWSAlIGxhdWdoMiAiJWxhdWdoMTslbGF1Z2gxOyI+Cis8IUVOVElUWSAlIGxhdWdoMyAiJWxhdWdoMjslbGF1Z2gyOyI+Cis8IUVOVElUWSAlIGxhdWdoNCAiJWxhdWdoMzslbGF1Z2gzOyI+Cis8IUVOVElUWSAlIGxhdWdoNSAiJWxhdWdoNDslbGF1Z2g0OyI+Cis8IUVOVElUWSAlIGxhdWdoNiAiJWxhdWdoNTslbGF1Z2g1OyI+Cis8IUVOVElUWSAlIGxhdWdoNyAiJWxhdWdoNjslbGF1Z2g2OyI+Cis8IUVOVElUWSAlIGxhdWdoOCAiJWxhdWdoNzslbGF1Z2g3OyI+Cis8IUVOVElUWSAlIGxhdWdoOSAiJWxhdWdoODslbGF1Z2g4OyI+Cis8IUVOVElUWSAlIGxhdWdoMTAgIiVsYXVnaDk7JWxhdWdoOTsiPgorPCFFTlRJVFkgJSBsYXVnaDExCisiJWxhdWdoMTA7JWxhdWdoMTA7JWxhdWdoMTA7JWxhdWdoMTA7JWxhdWdoMTA7JWxhdWdoMTA7JWxhdWdoMTA7JWxhdWdoMTA7JWxhdWdoMTA7JWxhdWdoMTA7JWxhdWdoMTA7JWxhdWdoMTA7JWxhdWdoMTA7JWxhdWdoMTA7JWxhdWdoMTA7JWxhdWdoMTA7JWxhdWdoMTA7JWxhdWdoMTA7JWxhdWdoMTA7JWxhdWdoMTA7JWxhdWdoMTA7JWxhdWdoMTA7JWxhdWdoMTA7JWxhdWdoMTA7JWxhdWdoMTA7JWxhdWdoMTA7JWxhdWdoMTA7JWxhdWdoMTA7JWxhdWdoMTA7JWxhdWdoMTA7JWxhdWdoMTA7JWxhdWdoMTA7JWxhdWdoMTA7JWxhdWdoMTA7JWxhdWdoMTA7JWxhdWdoMTA7JWxhdWdoMTA7JWxhdWdoMTA7JWxhdWdoMTA7JWxhdWdoMTA7JWxhdWdoMTA7JWxhdWdoMTA7Ij4KKzwhRU5USVRZICUgbGF1Z2gxMgorIiVsYXVnaDExOyVsYXVnaDExOyVsYXVnaDExOyVsYXVnaDExOyVsYXVnaDExOyVsYXVnaDExOyVsYXVnaDExOyVsYXVnaDExOyVsYXVnaDExOyVsYXVnaDExOyVsYXVnaDExOyVsYXVnaDExOyVsYXVnaDExOyVsYXVnaDExOyVsYXVnaDExOyVsYXVnaDExOyVsYXVnaDExOyVsYXVnaDExOyVsYXVnaDExOyVsYXVnaDExOyVsYXVnaDExOyVsYXVnaDExOyVsYXVnaDExOyVsYXVnaDExOyVsYXVnaDExOyVsYXVnaDExOyVsYXVnaDExOyVsYXVnaDExOyVsYXVnaDExOyVsYXVnaDExOyVsYXVnaDExOyVsYXVnaDExOyVsYXVnaDExOyVsYXVnaDExOyVsYXVnaDExOyVsYXVnaDExOyVsYXVnaDExOyVsYXVnaDExOyVsYXVnaDExOyVsYXVnaDExOyVsYXVnaDExOyVsYXVnaDExOyI+Cis8IUVOVElUWSAlIGxhdWdoMTMKKyIlbGF1Z2gxMjslbGF1Z2gxMjslbGF1Z2gxMjslbGF1Z2gxMjslbGF1Z2gxMjslbGF1Z2gxMjslbGF1Z2gxMjslbGF1Z2gxMjslbGF1Z2gxMjslbGF1Z2gxMjslbGF1Z2gxMjslbGF1Z2gxMjslbGF1Z2gxMjslbGF1Z2gxMjslbGF1Z2gxMjslbGF1Z2gxMjslbGF1Z2gxMjslbGF1Z2gxMjslbGF1Z2gxMjslbGF1Z2gxMjslbGF1Z2gxMjslbGF1Z2gxMjslbGF1Z2gxMjslbGF1Z2gxMjslbGF1Z2gxMjslbGF1Z2gxMjslbGF1Z2gxMjslbGF1Z2gxMjslbGF1Z2gxMjslbGF1Z2gxMjslbGF1Z2gxMjslbGF1Z2gxMjslbGF1Z2gxMjslbGF1Z2gxMjslbGF1Z2gxMjslbGF1Z2gxMjslbGF1Z2gxMjslbGF1Z2gxMjslbGF1Z2gxMjslbGF1Z2gxMjslbGF1Z2gxMjslbGF1Z2gxMjsiPgorJWxhdWdoMTM7CisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWN1cnNlL2xvbDMueG1sIGIvbGlieG1sMi90ZXN0L3JlY3Vyc2UvbG9sMy54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWNjMjM0NgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWN1cnNlL2xvbDMueG1sCkBAIC0wLDAgKzEsNSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+DQorPCFET0NUWVBFIGJpbGxpb24gU1lTVEVNICJsb2wzLmR0ZCI+DQorDQorPGJpbGxpb24+PC9iaWxsaW9uPg0KKw0KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWN1cnNlL2xvbDQucGF0Y2ggYi9saWJ4bWwyL3Rlc3QvcmVjdXJzZS9sb2w0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY0MWJlMjgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVjdXJzZS9sb2w0LnBhdGNoCkBAIC0wLDAgKzEsMTYgQEAKK0luZGV4OiBwYXJzZXIuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHBhcnNlci5jCShyZXZpc2lvbiAzNzczKQorKysrIHBhcnNlci5jCSh3b3JraW5nIGNvcHkpCitAQCAtMjUwNSw2ICsyNTA1LDExIEBAIHhtbFN0cmluZ0xlbkRlY29kZUVudGl0aWVzKHhtbFBhcnNlckN0eHQKKyAJICAgIGMgPSBDVVJfU0NIQVIoc3RyLCBsKTsKKyAJZWxzZQorIAkgICAgYyA9IDA7CisrICAgICAgICBpZiAoKG5iY2hhcnMgPiA1MDAwMDApICYmCisrCSAgICAoY3R4dC0+aW5zdGF0ZSA9PSBYTUxfUEFSU0VSX0FUVFJJQlVURV9WQUxVRSkpIHsKKysJICAgIHhtbEZhdGFsRXJyKGN0eHQsIFhNTF9FUlJfRU5USVRZX0xPT1AsIE5VTEwpOworKwkgICAgZ290byBpbnRfZXJyb3I7CisrICAgICAgICB9CisgICAgIH0KKyAgICAgYnVmZmVyW25iY2hhcnMrK10gPSAwOworICAgICByZXR1cm4oYnVmZmVyKTsKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWN1cnNlL2xvbDQueG1sIGIvbGlieG1sMi90ZXN0L3JlY3Vyc2UvbG9sNC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGQ2ZDllYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWN1cnNlL2xvbDQueG1sCkBAIC0wLDAgKzEsMzYgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCFET0NUWVBFIGJpbGxpb24gWworPCFFTEVNRU5UIGJpbGxpb24gKCNQQ0RBVEEpPgorPCFFTlRJVFkgbGF1Z2gwICJhYWhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhhaGhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGFoaGhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhaGFoYWhhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEiPgorPCFFTlRJVFkgbGF1Z2gxICImbGF1Z2gwOyZsYXVnaDA7Ij4KKzwhRU5USVRZIGxhdWdoMiAiJmxhdWdoMTsmbGF1Z2gxOyI+Cis8IUVOVElUWSBsYXVnaDMgIiZsYXVnaDI7JmxhdWdoMjsiPgorPCFFTlRJVFkgbGF1Z2g0ICImbGF1Z2gzOyZsYXVnaDM7Ij4KKzwhRU5USVRZIGxhdWdoNSAiJmxhdWdoNDsmbGF1Z2g0OyI+Cis8IUVOVElUWSBsYXVnaDYgIiZsYXVnaDU7JmxhdWdoNTsiPgorPCFFTlRJVFkgbGF1Z2g3ICImbGF1Z2g2OyZsYXVnaDY7Ij4KKzwhRU5USVRZIGxhdWdoOCAiJmxhdWdoNzsmbGF1Z2g3OyI+Cis8IUVOVElUWSBsYXVnaDkgIiZsYXVnaDg7JmxhdWdoODsiPgorPCFFTlRJVFkgbGF1Z2gxMCAiJmxhdWdoOTsmbGF1Z2g5OyI+Cis8IUVOVElUWSBsYXVnaDExICImbGF1Z2gxMDsmbGF1Z2gxMDsiPgorPCFFTlRJVFkgbGF1Z2gxMiAiJmxhdWdoMTE7JmxhdWdoMTE7Ij4KKzwhRU5USVRZIGxhdWdoMTMgIiZsYXVnaDEyOyZsYXVnaDEyOyI+Cis8IUVOVElUWSBsYXVnaDE0ICImbGF1Z2gxMzsmbGF1Z2gxMzsiPgorPCFFTlRJVFkgbGF1Z2gxNSAiJmxhdWdoMTQ7JmxhdWdoMTQ7Ij4KKzwhRU5USVRZIGxhdWdoMTYgIiZsYXVnaDE1OyZsYXVnaDE1OyI+Cis8IUVOVElUWSBsYXVnaDE3ICImbGF1Z2gxNjsmbGF1Z2gxNjsiPgorPCFFTlRJVFkgbGF1Z2gxOCAiJmxhdWdoMTc7JmxhdWdoMTc7Ij4KKzwhRU5USVRZIGxhdWdoMTkgIiZsYXVnaDE4OyZsYXVnaDE4OyI+Cis8IUVOVElUWSBsYXVnaDIwICImbGF1Z2gxOTsmbGF1Z2gxOTsiPgorPCFFTlRJVFkgbGF1Z2gyMSAiJmxhdWdoMjA7JmxhdWdoMjA7Ij4KKzwhRU5USVRZIGxhdWdoMjIgIiZsYXVnaDIxOyZsYXVnaDIxOyI+Cis8IUVOVElUWSBsYXVnaDIzICImbGF1Z2gyMjsmbGF1Z2gyMjsiPgorPCFFTlRJVFkgbGF1Z2gyNCAiJmxhdWdoMjM7JmxhdWdoMjM7Ij4KKzwhRU5USVRZIGxhdWdoMjUgIiZsYXVnaDI0OyZsYXVnaDI0OyI+Cis8IUVOVElUWSBsYXVnaDI2ICImbGF1Z2gyNTsmbGF1Z2gyNTsiPgorPCFFTlRJVFkgbGF1Z2gyNyAiJmxhdWdoMjY7JmxhdWdoMjY7Ij4KKzwhRU5USVRZIGxhdWdoMjggIiZsYXVnaDI3OyZsYXVnaDI3OyI+Cis8IUVOVElUWSBsYXVnaDI5ICImbGF1Z2gyODsmbGF1Z2gyODsiPgorPCFFTlRJVFkgbGF1Z2gzMCAiJmxhdWdoMjk7JmxhdWdoMjk7Ij4KK10+Cis8YmlsbGlvbiBsb2NhdGlvbj0iJmxhdWdoMjk7Ij50ZXh0PC9iaWxsaW9uPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlY3Vyc2UvbG9sNS54bWwgYi9saWJ4bWwyL3Rlc3QvcmVjdXJzZS9sb2w1LnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMmFhNmNiCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlY3Vyc2UvbG9sNS54bWwKQEAgLTAsMCArMSw1MSBAQAorPCFET0NUWVBFIHJvb3QgWworICA8IUVOVElUWSBoYSAiSGEgISI+CisgIDwhRU5USVRZIGhhMiAiJmhhOyAmaGE7Ij4KKyAgPCFFTlRJVFkgaGEzICImaGEyOyAmaGEyOyI+CisgIDwhRU5USVRZIGhhNCAiJmhhMzsgJmhhMzsiPgorICA8IUVOVElUWSBoYTUgIiZoYTQ7ICZoYTQ7Ij4KKyAgPCFFTlRJVFkgaGE2ICImaGE1OyAmaGE1OyI+CisgIDwhRU5USVRZIGhhNyAiJmhhNjsgJmhhNjsiPgorICA8IUVOVElUWSBoYTggIiZoYTc7ICZoYTc7Ij4KKyAgPCFFTlRJVFkgaGE5ICImaGE4OyAmaGE4OyI+CisgIDwhRU5USVRZIGhhMTAgIiZoYTk7ICZoYTk7Ij4KKyAgPCFFTlRJVFkgaGExMSAiJmhhMTA7ICZoYTEwOyI+CisgIDwhRU5USVRZIGhhMTIgIiZoYTExOyAmaGExMTsiPgorICA8IUVOVElUWSBoYTEzICImaGExMjsgJmhhMTI7Ij4KKyAgPCFFTlRJVFkgaGExNCAiJmhhMTM7ICZoYTEzOyI+CisgIDwhRU5USVRZIGhhMTUgIiZoYTE0OyAmaGExNDsiPgorICA8IUVOVElUWSBoYTE2ICImaGExNTsgJmhhMTU7Ij4KKyAgPCFFTlRJVFkgaGExNyAiJmhhMTY7ICZoYTE2OyI+CisgIDwhRU5USVRZIGhhMTggIiZoYTE3OyAmaGExNzsiPgorICA8IUVOVElUWSBoYTE5ICImaGExODsgJmhhMTg7Ij4KKyAgPCFFTlRJVFkgaGEyMCAiJmhhMTk7ICZoYTE5OyI+CisgIDwhRU5USVRZIGhhMjEgIiZoYTIwOyAmaGEyMDsiPgorICA8IUVOVElUWSBoYTIyICImaGEyMTsgJmhhMjE7Ij4KKyAgPCFFTlRJVFkgaGEyMyAiJmhhMjI7ICZoYTIyOyI+CisgIDwhRU5USVRZIGhhMjQgIiZoYTIzOyAmaGEyMzsiPgorICA8IUVOVElUWSBoYTI1ICImaGEyNDsgJmhhMjQ7Ij4KKyAgPCFFTlRJVFkgaGEyNiAiJmhhMjU7ICZoYTI1OyI+CisgIDwhRU5USVRZIGhhMjcgIiZoYTI2OyAmaGEyNjsiPgorICA8IUVOVElUWSBoYTI4ICImaGEyNzsgJmhhMjc7Ij4KKyAgPCFFTlRJVFkgaGEyOSAiJmhhMjg7ICZoYTI4OyI+CisgIDwhRU5USVRZIGhhMzAgIiZoYTI5OyAmaGEyOTsiPgorICA8IUVOVElUWSBoYTMxICImaGEzMDsgJmhhMzA7Ij4KKyAgPCFFTlRJVFkgaGEzMiAiJmhhMzE7ICZoYTMxOyI+CisgIDwhRU5USVRZIGhhMzMgIiZoYTMyOyAmaGEzMjsiPgorICA8IUVOVElUWSBoYTM0ICImaGEzMzsgJmhhMzM7Ij4KKyAgPCFFTlRJVFkgaGEzNSAiJmhhMzQ7ICZoYTM0OyI+CisgIDwhRU5USVRZIGhhMzYgIiZoYTM1OyAmaGEzNTsiPgorICA8IUVOVElUWSBoYTM3ICImaGEzNjsgJmhhMzY7Ij4KKyAgPCFFTlRJVFkgaGEzOCAiJmhhMzc7ICZoYTM3OyI+CisgIDwhRU5USVRZIGhhMzkgIiZoYTM4OyAmaGEzODsiPgorICA8IUVOVElUWSBoYTQwICImaGEzOTsgJmhhMzk7Ij4KKyAgPCFFTlRJVFkgaGE0MSAiJmhhNDA7ICZoYTQwOyI+CisgIDwhRU5USVRZIGhhNDIgIiZoYTQxOyAmaGE0MTsiPgorICA8IUVOVElUWSBoYTQzICImaGE0MjsgJmhhNDI7Ij4KKyAgPCFFTlRJVFkgaGE0NCAiJmhhNDM7ICZoYTQzOyI+CisgIDwhRU5USVRZIGhhNDUgIiZoYTQ0OyAmaGE0NDsiPgorICA8IUVOVElUWSBoYTQ2ICImaGE0NTsgJmhhNDU7Ij4KKyAgPCFFTlRJVFkgaGE0NyAiJmhhNDY7ICZoYTQ2OyI+CisgIDwhRU5USVRZIGhhNDggIiZoYTQ3OyAmaGE0NzsiPgorXT4KKzxyb290PiZoYTQ4Ozwvcm9vdD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWN1cnNlL2xvbDYueG1sIGIvbGlieG1sMi90ZXN0L3JlY3Vyc2UvbG9sNi54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmU5ZDU1ZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWN1cnNlL2xvbDYueG1sCkBAIC0wLDAgKzEsMjMgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/Pg0KKzwhRE9DVFlQRSBiaWxsaW9uIFsNCis8IUVMRU1FTlQgYmlsbGlvbiAoI1BDREFUQSk+DQorPCFFTlRJVFkgbGF1Z2hoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDAgImhhIj4NCis8IUVOVElUWSBsYXVnaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoMSAiJmxhdWdoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGgwOyZsYXVnaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoMDsiPg0KKzwhRU5USVRZIGxhdWdoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGgyICImbGF1Z2hoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDE7JmxhdWdoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGgxOyI+DQorPCFFTlRJVFkgbGF1Z2hoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDMgIiZsYXVnaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoMjsmbGF1Z2hoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDI7Ij4NCis8IUVOVElUWSBsYXVnaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoNCAiJmxhdWdoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGgzOyZsYXVnaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoMzsiPg0KKzwhRU5USVRZIGxhdWdoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGg1ICImbGF1Z2hoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDQ7JmxhdWdoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGg0OyI+DQorPCFFTlRJVFkgbGF1Z2hoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDYgIiZsYXVnaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoNTsmbGF1Z2hoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDU7Ij4NCis8IUVOVElUWSBsYXVnaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoNyAiJmxhdWdoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGg2OyZsYXVnaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoNjsiPg0KKzwhRU5USVRZIGxhdWdoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGg4ICImbGF1Z2hoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDc7JmxhdWdoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGg3OyI+DQorPCFFTlRJVFkgbGF1Z2hoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDkgIiZsYXVnaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoODsmbGF1Z2hoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDg7Ij4NCis8IUVOVElUWSBsYXVnaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoMTAgIiZsYXVnaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoOTsmbGF1Z2hoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDk7Ij4NCis8IUVOVElUWSBsYXVnaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoMTENCisiJmxhdWdoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGgxMDsmbGF1Z2hoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDEwOyZsYXVnaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoMTA7JmxhdWdoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGgxMDsmbGF1Z2hoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDEwOyZsYXVnaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoMTA7JmxhdWdoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGgxMDsmbGF1Z2hoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDEwOyZsYXVnaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoMTA7JmxhdWdoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGgxMDsmbGF1Z2hoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDEwOyZsYXVnaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoMTA7JmxhdWdoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGgxMDsmbGF1Z2hoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDEwOyZsYXVnaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoMTA7JmxhdWdoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGgxMDsmbGF1Z2hoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDEwOyZsYXVnaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoMTA7JmxhdWdoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGgxMDsmbGF1Z2hoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDEwOyZsYXVnaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoMTA7JmxhdWdoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGgxMDsmbGF1Z2hoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDEwOyZsYXVnaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoMTA7JmxhdWdoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGgxMDsmbGF1Z2hoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDEwOyZsYXVnaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoMTA7JmxhdWdoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGgxMDsmbGF1Z2hoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDEwOyZsYXVnaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoMTA7JmxhdWdoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGgxMDsmbGF1Z2hoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDEwOyZsYXVnaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoMTA7JmxhdWdoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGgxMDsmbGF1Z2hoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDEwOyZsYXVnaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoMTA7JmxhdWdoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGgxMDsmbGF1Z2hoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDEwOyZsYXVnaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoMTA7JmxhdWdoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGgxMDsmbGF1Z2hoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDEwOyZsYXVnaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoMTA7Ij4NCis8IUVOVElUWSBsYXVnaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoMTINCisiJmxhdWdoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGgxMTsmbGF1Z2hoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDExOyZsYXVnaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoMTE7JmxhdWdoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGgxMTsmbGF1Z2hoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDExOyZsYXVnaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoMTE7JmxhdWdoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGgxMTsmbGF1Z2hoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDExOyZsYXVnaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoMTE7JmxhdWdoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGgxMTsmbGF1Z2hoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDExOyZsYXVnaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoMTE7JmxhdWdoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGgxMTsmbGF1Z2hoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDExOyZsYXVnaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoMTE7JmxhdWdoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGgxMTsmbGF1Z2hoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDExOyZsYXVnaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoMTE7JmxhdWdoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGgxMTsmbGF1Z2hoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDExOyZsYXVnaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoMTE7JmxhdWdoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGgxMTsmbGF1Z2hoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDExOyZsYXVnaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoMTE7JmxhdWdoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGgxMTsmbGF1Z2hoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDExOyZsYXVnaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoMTE7JmxhdWdoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGgxMTsmbGF1Z2hoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDExOyZsYXVnaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoMTE7JmxhdWdoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGgxMTsmbGF1Z2hoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDExOyZsYXVnaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoMTE7JmxhdWdoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGgxMTsmbGF1Z2hoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDExOyZsYXVnaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoMTE7JmxhdWdoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGgxMTsmbGF1Z2hoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDExOyZsYXVnaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoMTE7JmxhdWdoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGgxMTsmbGF1Z2hoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDExOyZsYXVnaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoMTE7Ij4NCis8IUVOVElUWSBsYXVnaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoMTMNCisiJmxhdWdoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGgxMjsmbGF1Z2hoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDEyOyZsYXVnaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoMTI7JmxhdWdoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGgxMjsmbGF1Z2hoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDEyOyZsYXVnaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoMTI7JmxhdWdoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGgxMjsmbGF1Z2hoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDEyOyZsYXVnaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoMTI7JmxhdWdoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGgxMjsmbGF1Z2hoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDEyOyZsYXVnaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoMTI7JmxhdWdoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGgxMjsmbGF1Z2hoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDEyOyZsYXVnaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoMTI7JmxhdWdoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGgxMjsmbGF1Z2hoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDEyOyZsYXVnaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoMTI7JmxhdWdoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGgxMjsmbGF1Z2hoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDEyOyZsYXVnaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoMTI7JmxhdWdoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGgxMjsmbGF1Z2hoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDEyOyZsYXVnaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoMTI7JmxhdWdoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGgxMjsmbGF1Z2hoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDEyOyZsYXVnaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoMTI7JmxhdWdoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGgxMjsmbGF1Z2hoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDEyOyZsYXVnaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoMTI7JmxhdWdoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGgxMjsmbGF1Z2hoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDEyOyZsYXVnaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoMTI7JmxhdWdoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGgxMjsmbGF1Z2hoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDEyOyZsYXVnaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoMTI7JmxhdWdoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGgxMjsmbGF1Z2hoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDEyOyZsYXVnaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoMTI7JmxhdWdoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGgxMjsmbGF1Z2hoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDEyOyZsYXVnaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoMTI7Ij4NCitdPg0KKzxiaWxsaW9uIGxvY2F0aW9uPSImbGF1Z2hoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDEzOyI+dGV4dDwvYmlsbGlvbj4NCisNCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVnZXhwL2JyYW5jaCBiL2xpYnhtbDIvdGVzdC9yZWdleHAvYnJhbmNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZhNzI4ZTYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVnZXhwL2JyYW5jaApAQCAtMCwwICsxLDE0IEBACis9PmF8YihkfGUoZ3xofGkpfGYpfGMKK2EKK2MKK2JkCitiZgorYmVnCitiZWgKK2JlaQorYgorYmUKK2JpCitmCithYgorYWMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWdleHAvYnVnMzE2MzM4IGIvbGlieG1sMi90ZXN0L3JlZ2V4cC9idWczMTYzMzgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOThjNzgzOAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWdleHAvYnVnMzE2MzM4CkBAIC0wLDAgKzEsMjAgQEAKKz0+KCgoQ3xjKSgoW1xzXSpcLT9bMC05XSsoXC5bMC05XSspPygoZXxFKVwtP1swLTldKyk/KXszfSkrW1xzXSopKSsKK0MgNDMzCitDIDQzMyAxMgorQyA0MzMgMTIzCitDIDQzMyAxMjMgNDU2CitDIDcyNC42NCw0MzMuMTIgNzE4LjA4LDQzMy4xMiA3MTEuNTIsNDMzLjEyIDcyNC42NCw0MzMuMTIgNzE4LjA4LDQzMy4xMiA3MTEuNTIsNDMzLjEyIDcyNC42NCw0MzMuMTIgNzE4LjA4LDQzMy4xMiA3MTEuNTIsNDMzLjEyIDcyNC42NCw0MzMuMTIgNzE4LjA4LDQzMy4xMiA3MTEuNTIsNDMzLjEyIDcyNC42NCw0MzMuMTIgNzE4LjA4LDQzMy4xMiA3MTEuNTIsNDMzLjEyIDcyNC42NCw0MzMuMTIgNzE4LjA4LDQzMy4xMiA3MTEuNTIsNDMzLjEyIDcyNC42NCw0MzMuMTIgNzE4LjA4LDQzMy4xMiA3MTEuNTIsNDMzLjEyIDcyNC42NCw0MzMuMTIgNzE4LjA4LDQzMy4xMiA3MTEuNTIsNDMzLjEyIDcyNC42NCw0MzMuMTIgNzE4LjA4LDQzMy4xMiA3MTEuNTIsNDMzLjEyIDcyNC42NCw0MzMuMTIgNzE4LjA4LDQzMy4xMiA3MTEuNTIsNDMzLjEyCis9PigoKEN8YykoKFtcc10rXC0/WzAtOV0rKFwuWzAtOV0rKT8oKGV8RSlcLT9bMC05XSspPyl7M30pK1tcc10qKSkrCitDIDQzMworQyA0MzMgMTIKK0MgNDMzIDEyMworQyA0MzMgMTIzIDQ1NgorQyA3MjQuNjQsNDMzLjEyIDcxOC4wOCw0MzMuMTIgNzExLjUyLDQzMy4xMiA3MjQuNjQsNDMzLjEyIDcxOC4wOCw0MzMuMTIgNzExLjUyLDQzMy4xMiA3MjQuNjQsNDMzLjEyIDcxOC4wOCw0MzMuMTIgNzExLjUyLDQzMy4xMiA3MjQuNjQsNDMzLjEyIDcxOC4wOCw0MzMuMTIgNzExLjUyLDQzMy4xMiA3MjQuNjQsNDMzLjEyIDcxOC4wOCw0MzMuMTIgNzExLjUyLDQzMy4xMiA3MjQuNjQsNDMzLjEyIDcxOC4wOCw0MzMuMTIgNzExLjUyLDQzMy4xMiA3MjQuNjQsNDMzLjEyIDcxOC4wOCw0MzMuMTIgNzExLjUyLDQzMy4xMiA3MjQuNjQsNDMzLjEyIDcxOC4wOCw0MzMuMTIgNzExLjUyLDQzMy4xMiA3MjQuNjQsNDMzLjEyIDcxOC4wOCw0MzMuMTIgNzExLjUyLDQzMy4xMiA3MjQuNjQsNDMzLjEyIDcxOC4wOCw0MzMuMTIgNzExLjUyLDQzMy4xMgorPT4oKChDfGMpKChbXHNdK1wtP1swLTldKyhcLlswLTldKyk/W1xzXSosW1xzXSpcLT9bMC05XSsoXC5bMC05XSspPyl7M30pK1tcc10qKSkrCitDIDQzMworQyA0MzMgMTIKK0MgNDMzIDEyMworQyA0MzMgMTIzIDQ1NgorQyA3MjQuNjQsNDMzLjEyIDcxOC4wOCw0MzMuMTIgNzExLjUyLDQzMy4xMiA3MjQuNjQsNDMzLjEyIDcxOC4wOCw0MzMuMTIgNzExLjUyLDQzMy4xMiA3MjQuNjQsNDMzLjEyIDcxOC4wOCw0MzMuMTIgNzExLjUyLDQzMy4xMiA3MjQuNjQsNDMzLjEyNzE4LjA4LDQzMy4xMiA3MTEuNTIsNDMzLjEyIDcyNC42NCw0MzMuMTIgNzE4LjA4LDQzMy4xMiA3MTEuNTIsNDMzLjEyIDcyNC42NCw0MzMuMTIgNzE4LjA4LDQzMy4xMiA3MTEuNTIsNDMzLjEyIDcyNC42NCw0MzMuMTIgNzE4LjA4LDQzMy4xMiA3MTEuNTIsNDMzLjEyIDcyNC42NCw0MzMuMTIgNzE4LjA4LDQzMy4xMiA3MTEuNTIsNDMzLjEyIDcyNC42NCw0MzMuMTIgNzE4LjA4LDQzMy4xMiA3MTEuNTIsNDMzLjEyIDcyNC42NCw0MzMuMTIgNzE4LjA4LDQzMy4xMiA3MTEuNTIsNDMzLjEyCis9PigoKE18bSkoW1xzXStcLT9bMC05XSsoXC5bMC05XSspPygoZXxFKVwtP1swLTldKyk/W1xzXSosW1xzXSpcLT9bMC05XSsoXC5bMC05XSspPygoZXxFKVwtP1swLTldKyk/KVtcc10qKXwoKEx8bCkoW1xzXStcLT9bMC05XSsoXC5bMC05XSspPygoZXxFKVwtP1swLTldKyk/W1xzXSosW1xzXSpcLT9bMC05XSsoXC5bMC05XSspPygoZXxFKVwtP1swLTldKyk/KStbXHNdKil8KChIfGgpKFtcc10rXC0/WzAtOV0rKFwuWzAtOV0rKT8oKGV8RSlcLT9bMC05XSspPykrW1xzXSopfCgoVnx2KShbXHNdK1wtP1swLTldKyhcLlswLTldKyk/KChlfEUpXC0/WzAtOV0rKT8pK1tcc10qKXwoKEN8YykoKFtcc10rXC0/WzAtOV0rKFwuWzAtOV0rKT8oKGV8RSlcLT9bMC05XSspP1tcc10qLFtcc10qXC0/WzAtOV0rKFwuWzAtOV0rKT8oKGV8RSlcLT9bMC05XSspPyl7M30pK1tcc10qKXwoKFF8cSkoKFtcc10rXC0/WzAtOV0rKFwuWzAtOV0rKT8oKGV8RSlcLT9bMC05XSspP1tcc10qLFtcc10qXC0/WzAtOV0rKFwuWzAtOV0rKT8oKGV8RSlcLT9bMC05XSspPyl7Mn0pK1tcc10qKXwoKFN8cykoKFtcc10rXC0/WzAtOV0rKFwuWzAtOV0rKT8oKGV8RSlcLT9bMC05XSspP1tcc10qLFtcc10qXC0/WzAtOV0rKFwuWzAtOV0rKT8oKGV8RSlcLT9bMC05XSspPyl7Mn0pK1tcc10qKXwoKEF8YSkoW1xzXStcLT9bMC05XSsoXC5bMC05XSspPygoZXxFKVwtP1swLTldKyk/W1xzXSosW1xzXSpcLT9bMC05XSsoXC5bMC05XSspPygoZXxFKVwtP1swLTldKyk/W1xzXSpcLT9bMC05XSsoXC5bMC05XSspPygoZXxFKVwtP1swLTldKyk/W1xzXStbMC0xXVtcc10rWzAtMV1bXHNdK1wtP1swLTldKyhcLlswLTldKyk/KChlfEUpXC0/WzAtOV0rKT9bXHNdKixbXHNdKlwtP1swLTldKyhcLlswLTldKyk/KChlfEUpXC0/WzAtOV0rKT8pK1tcc10qKXwoKFp8eilbXHNdKikpKgorTSA3MjQuNjQsNDMzLjEyIDcxOC4wOCw0MzMuMTIgNzExLjUyLDQzMy4xMiA3MjQuNjQsNDMzLjEyIDcxOC4wOCw0MzMuMTIgNzExLjUyLDQzMy4xMiA3MjQuNjQsNDMzLjEyIDcxOC4wOCw0MzMuMTIgNzExLjUyLDQzMy4xMiA3MjQuNjQsNDMzLjEyIDcxOC4wOCw0MzMuMTIgNzExLjUyLDQzMy4xMiA3MjQuNjQsNDMzLjEyIDcxOC4wOCw0MzMuMTIgNzExLjUyLDQzMy4xMiA3MjQuNjQsNDMzLjEyIDcxOC4wOCw0MzMuMTIgNzExLjUyLDQzMy4xMiA3MjQuNjQsNDMzLjEyIDcxOC4wOCw0MzMuMTIgNzExLjUyLDQzMy4xMiA3MjQuNjQsNDMzLjEyIDcxOC4wOCw0MzMuMTIgNzExLjUyLDQzMy4xMiA3MjQuNjQsNDMzLjEyIDcxOC4wOCw0MzMuMTIgNzExLjUyLDQzMy4xMiA3MjQuNjQsNDMzLjEyIDcxOC4wOCw0MzMuMTIgNzExLjUyLDQzMy4xMgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlZ2V4cC9idWc0MjA1OTYgYi9saWJ4bWwyL3Rlc3QvcmVnZXhwL2J1ZzQyMDU5NgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNmYyODVkCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlZ2V4cC9idWc0MjA1OTYKQEAgLTAsMCArMSwxMCBAQAorPT4oXCt8LSkoMFswLTldfDFbMC0xXSkKKyswMQorLTAxCisrMTAKKy0xMAorPT5bKy1dKDBbMC05XXwxWzAtMV0pCisrMDEKKy0wMQorKzEwCistMTAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWdleHAvY29udGVudCBiL2xpYnhtbDIvdGVzdC9yZWdleHAvY29udGVudApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZDAxYzhiCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlZ2V4cC9jb250ZW50CkBAIC0wLDAgKzEsMTIgQEAKKz0+KChhfGJ8YylkZWYpCithZGVmCitiZGVmCithZGVmZworYWFlZgorPT4oKGF8YnxjfGR8ZXxmKT8oZ3xofGkpKyhrfGwpKikKK2cKK2dpCitmaWwKK2dpa2wKK2NnaGhoaWlsbAorYWsKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWdleHAvaGFyZCBiL2xpYnhtbDIvdGVzdC9yZWdleHAvaGFyZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZGI0Y2ZkCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlZ2V4cC9oYXJkCkBAIC0wLDAgKzEsMTIgQEAKKz0+KChhfGJ8XHB7TmR9KXsxLDJ9fGFhYXxiYmJiKXsxLDJ9CitiYWIKK2FhY2EKK2FhYWJiYmIKK2EwYgorYWEwYWFhCitiMGFhYQorPT4oXGR7MSwzfVwuKXszfVxkezEsM30KKzEuMi4zLjQKKzEuMjIuMzMzLjQ0CisxLjIuMworMS4uMi4zCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVnZXhwL25jbmFtZSBiL2xpYnhtbDIvdGVzdC9yZWdleHAvbmNuYW1lCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFlNDUyYTgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVnZXhwL25jbmFtZQpAQCAtMCwwICsxLDYgQEAKKz0+W1xpLVs6XV1bXGMtWzpdXSoKK2EKK2FiYworYWJjMWQKKzFhYworYTFiOmMKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWdleHAvcmFuZ2VzIGIvbGlieG1sMi90ZXN0L3JlZ2V4cC9yYW5nZXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2I3YzIyZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWdleHAvcmFuZ2VzCkBAIC0wLDAgKzEsMTUgQEAKKz0+YXsyLDN9CithCithYQorYWFhCithYWFhCis9PmJhezIsM31jCitiYWMKK2JhYWMKK2JhYWFjCitiYWFhYWMKKz0+YShifGMpezIsM31kCithYmNkCithY2NjZAorYWJkCithY2NjY2QKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWdleHAvcmFuZ2VzMiBiL2xpYnhtbDIvdGVzdC9yZWdleHAvcmFuZ2VzMgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hOGViODg0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlZ2V4cC9yYW5nZXMyCkBAIC0wLDAgKzEsMTQgQEAKKz0+KGF8YnswLDN9KXswLDF9CithCithYQorYgorYmIKK2JiYgorYmJiYgorYWIKK2JhCis9PihbMC05XXswLDN9fChbMC05XXswfXxbMC05XXswLDN9KSl7MCwzfQorMAorMDAKKzEyMworYWJjCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVnZXhwL3hwYXRoIGIvbGlieG1sMi90ZXN0L3JlZ2V4cC94cGF0aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MmMxOGM0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlZ2V4cC94cGF0aApAQCAtMCwwICsxLDM3IEBACis9PihcLi8vKT8oKChjaGlsZDo6KT8oKFxpXGMqOik/KFxpXGMqfFwqKSkpfFwuKSgvKCgoY2hpbGQ6Oik/KChcaVxjKjopPyhcaVxjKnxcKikpKXxcLikpKihcfChcLi8vKT8oKChjaGlsZDo6KT8oKFxpXGMqOik/KFxpXGMqfFwqKSkpfFwuKSgvKCgoY2hpbGQ6Oik/KChcaVxjKjopPyhcaVxjKnxcKikpKXxcLikpKikqCithCithMTIvYjMxMi9iMzEyL2IzMTIvYjMxMi9iMzEyL2IzMTIvYjMxMi9iMzEyL2IzMTIvYjMxMi9iMzEyL2IzCisqCithfGIKKy4vL2E6YgorYS9iL2MKK2EvKi9iCithOiovYjoqL2M6KgorY2hpbGQ6OmEvY2hpbGQ6OmI6KgorY2hpbGQ6OmEvY2hpbGQ6OmI6KnxhLyovYnwuLy9hOmIKKzEKKzFhYgorYToxCitAYQorYW5jZXN0b3I6OmEKKyMKKyMgdGhlIHByZXZpb3VzIHJlZ2V4cCBmcm9tIHRoZSBTY2hlbWFzIGZvciBTY2hlbWFzIHdhcyBicm9rZW4KKyMgaGVyZSBpcyB0aGUgZml4ZWQgb25lOgorIyBodHRwOi8vbGlzdHMudzMub3JnL0FyY2hpdmVzL1B1YmxpYy93d3cteG1sLXNjaGVtYS1jb21tZW50cy8yMDAyQXBySnVuLzAwMDUuaHRtbAorIworPT4oXC4vLyk/KCgoY2hpbGQ6Oik/KChbXGktWzpdXVtcYy1bOl1dKjopPyhbXGktWzpdXVtcYy1bOl1dKnxcKikpKXxcLikoLygoKGNoaWxkOjopPygoW1xpLVs6XV1bXGMtWzpdXSo6KT8oW1xpLVs6XV1bXGMtWzpdXSp8XCopKSl8XC4pKSooXHwoXC4vLyk/KCgoY2hpbGQ6Oik/KChbXGktWzpdXVtcYy1bOl1dKjopPyhbXGktWzpdXVtcYy1bOl1dKnxcKikpKXxcLikoLygoKGNoaWxkOjopPygoW1xpLVs6XV1bXGMtWzpdXSo6KT8oW1xpLVs6XV1bXGMtWzpdXSp8XCopKSl8XC4pKSopKgorYQorYTEyL2IzMTIvYjMxMi9iMzEyL2IzMTIvYjMxMi9iMzEyL2IzMTIvYjMxMi9iMzEyL2IzMTIvYjMxMi9iMworKgorYXxiCisuLy9hOmIKK2EvYi9jCithLyovYgorYToqL2I6Ki9jOioKK2NoaWxkOjphL2NoaWxkOjpiOioKK2NoaWxkOjphL2NoaWxkOjpiOip8YS8qL2J8Li8vYTpiCisxCisxYWIKK2E6MQorQGEKK2FuY2VzdG9yOjphCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy8zMDI4MzYucm5nIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvMzAyODM2LnJuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNGRiMjk4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvMzAyODM2LnJuZwpAQCAtMCwwICsxLDM1IEBACis8ZWxlbWVudCBuYW1lPSJiYXNlIgoreG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4KKyAgPGNob2ljZT4KKyAgICA8Z3JvdXA+CisgICAgICA8ZWxlbWVudCBuYW1lPSJkYXRhIj4gCisgICAgICAgIDx2YWx1ZT5maXJzdFZhbHVlPC92YWx1ZT4KKyAgICAgIDwvZWxlbWVudD4KKyAgICAgIDxvbmVPck1vcmU+CisgICAgICAgIDxlbGVtZW50IG5hbWU9Im9wdGlvbiI+CisgICAgICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiPgorICAgICAgICAgICAgPHRleHQvPgorICAgICAgICAgIDwvZWxlbWVudD4KKyAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJsYWJlbCI+CisgICAgICAgICAgICA8dGV4dC8+CisgICAgICAgICAgPC9lbGVtZW50PgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L29uZU9yTW9yZT4KKyAgICA8L2dyb3VwPgorICAgIDxncm91cD4KKyAgICAgIDxlbGVtZW50IG5hbWU9ImRhdGEiPiAKKyAgICAgICAgPHZhbHVlPnNlY29uZFZhbHVlPC92YWx1ZT4KKyAgICAgIDwvZWxlbWVudD4KKyAgICAgIDxvbmVPck1vcmU+CisgICAgICAgIDxlbGVtZW50IG5hbWU9Im9wdGlvbiI+CisgICAgICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiPgorICAgICAgICAgICAgPHRleHQvPgorICAgICAgICAgIDwvZWxlbWVudD4KKyAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJsYWJlbCI+CisgICAgICAgICAgICA8dGV4dC8+CisgICAgICAgICAgPC9lbGVtZW50PgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L29uZU9yTW9yZT4gICAgICAgICAgICAKKyAgICA8L2dyb3VwPgorICA8L2Nob2ljZT4KKzwvZWxlbWVudD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nLzMwMjgzNl8wLnhtbCBiL2xpYnhtbDIvdGVzdC9yZWxheG5nLzMwMjgzNl8wLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNWViMmYxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvMzAyODM2XzAueG1sCkBAIC0wLDAgKzEsMTIgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgPz4KKzxiYXNlPgorICA8ZGF0YT5zZWNvbmRWYWx1ZTwvZGF0YT4gCisgIDxvcHRpb24+CisgICAgPHZhbHVlPmhvdzwvdmFsdWU+CisgICAgPGxhYmVsPnNvbWU8L2xhYmVsPgorICA8L29wdGlvbj4KKyAgPG9wdGlvbj4KKyAgICA8dmFsdWU+dGhpczwvdmFsdWU+CisgICAgPGxhYmVsPm1vcmU8L2xhYmVsPgorICA8L29wdGlvbj4KKzwvYmFzZT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nLzMwNzM3Ny5ybmcgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy8zMDczNzcucm5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM3YTg3YzkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy8zMDczNzcucm5nCkBAIC0wLDAgKzEsMTQgQEAKKzxlbGVtZW50IG5hbWU9Im51bWJlciIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4KKyAgIDxhdHRyaWJ1dGUgbmFtZT0idmFsIj4KKyAgICAgIDxsaXN0PgorICAgICAgICAgPG9uZU9yTW9yZT4KKyAgICAgICAgICAgIDxjaG9pY2U+CisgICAgICAgICAgICAgICA8dmFsdWU+MTwvdmFsdWU+CisgICAgICAgICAgICAgICA8dmFsdWU+MjwvdmFsdWU+CisgICAgICAgICAgICAgICA8dmFsdWU+MzwvdmFsdWU+CisgICAgICAgICAgICA8L2Nob2ljZT4KKyAgICAgICAgIDwvb25lT3JNb3JlPgorICAgICAgPC9saXN0PgorICAgPC9hdHRyaWJ1dGU+CisgICA8dGV4dC8+Cis8L2VsZW1lbnQ+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy8zMDczNzdfMC54bWwgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy8zMDczNzdfMC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTA2ZDAyYQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nLzMwNzM3N18wLnhtbApAQCAtMCwwICsxIEBACis8bnVtYmVyIHZhbD0iYSAxIGIgMiBjIDMiIC8+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy8zMDczNzdfMS54bWwgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy8zMDczNzdfMS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzNiMGQxYwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nLzMwNzM3N18xLnhtbApAQCAtMCwwICsxIEBACis8bnVtYmVyIHZhbD0iMSBhIDIgYiAzIGMiIC8+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy8zMDczNzdfMi54bWwgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy8zMDczNzdfMi54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGEwNDFhYQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nLzMwNzM3N18yLnhtbApAQCAtMCwwICsxIEBACis8bnVtYmVyIHZhbD0iMSAyIDMiIC8+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy80OTIzMTcucm5nIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvNDkyMzE3LnJuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNDNmMjk0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvNDkyMzE3LnJuZwpAQCAtMCwwICsxLDE2IEBACis8ZWxlbWVudCBuYW1lPSJyb290IiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPgorICA8Y2hvaWNlPgorICAgIDxlbGVtZW50IG5hbWU9ImNoaWxkIj4KKyAgICAgIDxhdHRyaWJ1dGUgbmFtZT0idHlwZSI+CisgICAgICAgIDx2YWx1ZT5Gb288L3ZhbHVlPgorICAgICAgPC9hdHRyaWJ1dGU+CisgICAgICA8IS0tIERlZmluZSBzdHVmZiB0aGF0J3Mgb25seSB2YWxpZCB3aGVuIHR5cGUgaXMgIkZvbyIgLS0+CisgICAgPC9lbGVtZW50PgorICAgIDxlbGVtZW50IG5hbWU9ImNoaWxkIj4KKyAgICAgIDxhdHRyaWJ1dGUgbmFtZT0idHlwZSI+CisgICAgICAgIDx2YWx1ZT5CYXI8L3ZhbHVlPgorICAgICAgPC9hdHRyaWJ1dGU+CisgICAgICA8IS0tIERlZmluZSBzdHVmZiB0aGF0J3Mgb25seSB2YWxpZCB3aGVuIHR5cGUgaXMgIkJhciIgLS0+CisgICAgPC9lbGVtZW50PgorICA8L2Nob2ljZT4KKzwvZWxlbWVudD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nLzQ5MjMxN18wLnhtbCBiL2xpYnhtbDIvdGVzdC9yZWxheG5nLzQ5MjMxN18wLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YWI5ZDgwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvNDkyMzE3XzAueG1sCkBAIC0wLDAgKzEsNCBAQAorPHJvb3Q+CisgIDxjaGlsZCB0eXBlPSJGb28iPgorICA8L2NoaWxkPgorPC9yb290PgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvNDkyMzE3XzEueG1sIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvNDkyMzE3XzEueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQzMjVhYzIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy80OTIzMTdfMS54bWwKQEAgLTAsMCArMSw0IEBACis8cm9vdD4KKyAgPGNoaWxkIHR5cGU9IkJhciI+CisgIDwvY2hpbGQ+Cis8L3Jvb3Q+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy80OTIzMTdfMi54bWwgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy80OTIzMTdfMi54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzNiYmM1ZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nLzQ5MjMxN18yLnhtbApAQCAtMCwwICsxLDQgQEAKKzxyb290PgorICA8Y2hpbGQgdHlwZT0iIj4KKyAgPC9jaGlsZD4KKzwvcm9vdD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nLzU1ODQ1Mi5ybmcgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy81NTg0NTIucm5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgwZmJmN2IKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy81NTg0NTIucm5nCkBAIC0wLDAgKzEsMjEgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPGdyYW1tYXIgbnM9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20vY2hvaWNlIgorICAgICAgICAgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4KKyAgPHN0YXJ0PiAKKyAgICA8ZWxlbWVudCBuYW1lPSJkb2MiIG5zPSIiPgorICAgICAgPHJlZiBuYW1lPSJlbGVtIi8+CisgICAgICA8b3B0aW9uYWw+CisgICAgICAgIDxyZWYgbmFtZT0iZWxlbSIvPgorICAgICAgICA8b3B0aW9uYWw+CisgICAgICAgICAgPHJlZiBuYW1lPSJlbGVtIi8+CisgICAgICAgIDwvb3B0aW9uYWw+CisgICAgICA8L29wdGlvbmFsPgorICAgIDwvZWxlbWVudD4KKyAgPC9zdGFydD4KKworICA8ZGVmaW5lIG5hbWU9ImVsZW0iPgorICAgIDxlbGVtZW50IG5hbWU9ImVsZW0iIG5zPSIiPgorICAgICAgPHRleHQvPgorICAgIDwvZWxlbWVudD4KKyAgPC9kZWZpbmU+Cis8L2dyYW1tYXI+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy81NTg0NTJfMC54bWwgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy81NTg0NTJfMC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzA0NDBlMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nLzU1ODQ1Ml8wLnhtbApAQCAtMCwwICsxLDYgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPGRvYz4KKyAgPGVsZW0vPgorICA8ZWxlbS8+CisgIDxlbGVtLz4KKzwvZG9jPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvNTU4NDUyXzEueG1sIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvNTU4NDUyXzEueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJjNTY5ZjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy81NTg0NTJfMS54bWwKQEAgLTAsMCArMSwzIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxkb2M+Cis8L2RvYz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nLzU1ODQ1Ml8yLnhtbCBiL2xpYnhtbDIvdGVzdC9yZWxheG5nLzU1ODQ1Ml8yLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZTI0NjI2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvNTU4NDUyXzIueG1sCkBAIC0wLDAgKzEsNCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8ZG9jPgorICA8ZWxlbS8+Cis8L2RvYz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nLzU1ODQ1Ml8zLnhtbCBiL2xpYnhtbDIvdGVzdC9yZWxheG5nLzU1ODQ1Ml8zLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41Y2ViNDY4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvNTU4NDUyXzMueG1sCkBAIC0wLDAgKzEsNSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8ZG9jPgorICA8ZWxlbS8+CisgIDxlbGVtLz4KKzwvZG9jPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvNTU4NDUyXzQueG1sIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvNTU4NDUyXzQueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmExZWU3MmIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy81NTg0NTJfNC54bWwKQEAgLTAsMCArMSw3IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxkb2M+CisgIDxlbGVtLz4KKyAgPGVsZW0vPgorICA8ZWxlbS8+CisgIDxlbGVtLz4KKzwvZG9jPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvNTk1NzkyLWV4dC5ybmcgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy81OTU3OTItZXh0LnJuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ODk5MGNiCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvNTk1NzkyLWV4dC5ybmcKQEAgLTAsMCArMSwxMSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxncmFtbWFyIG5zPSIiIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+CisgIDxzdGFydD4KKyAgICA8ZWxlbWVudCBuYW1lPSJ0Ij4KKyAgICAgIDxyZWYgbmFtZT0idGNvbnQiLz4KKyAgICA8L2VsZW1lbnQ+CisgIDwvc3RhcnQ+CisgIDxkZWZpbmUgbmFtZT0idGNvbnQiPgorICAgIDx0ZXh0Lz4KKyAgPC9kZWZpbmU+Cis8L2dyYW1tYXI+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy81OTU3OTIucm5nIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvNTk1NzkyLnJuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYjJlYjkzCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvNTk1NzkyLnJuZwpAQCAtMCwwICsxLDggQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8Z3JhbW1hciBucz0iIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPgorICA8c3RhcnQ+CisgICAgPGVsZW1lbnQgbmFtZT0icm9vdCI+CisgICAgICA8ZXh0ZXJuYWxSZWYgaHJlZj0iNTk1NzkyLWV4dC5ybmciLz4KKyAgICA8L2VsZW1lbnQ+CisgIDwvc3RhcnQ+Cis8L2dyYW1tYXI+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy81OTU3OTJfMC54bWwgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy81OTU3OTJfMC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTQ2YzU4OQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nLzU5NTc5Ml8wLnhtbApAQCAtMCwwICsxLDQgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPHJvb3Q+CisgIDx0PmZvbzwvdD4KKzwvcm9vdD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nLzcxMDc0NC5ybmcgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy83MTA3NDQucm5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFlZWEwYjgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy83MTA3NDQucm5nCkBAIC0wLDAgKzEsMTYgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPGdyYW1tYXIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4KKyAgPHN0YXJ0PgorICAgIDxlbGVtZW50IG5hbWU9InRlc3QiIG5zPSJodHRwOi8vZXhhbXBsZS5jb20vMS8iPgorICAgICAgPHplcm9Pck1vcmU+CisgICAgICAgIDxhdHRyaWJ1dGU+CisgICAgICAgICAgPGNob2ljZT4KKyAgICAgICAgICAgIDxuc05hbWUgbnM9Imh0dHA6Ly9leGFtcGxlLmNvbS8xLyIvPgorICAgICAgICAgICAgPG5zTmFtZSBucz0iaHR0cDovL2V4YW1wbGUuY29tLzIvIi8+CisgICAgICAgICAgPC9jaG9pY2U+CisgICAgICAgICAgPHRleHQvPgorICAgICAgICA8L2F0dHJpYnV0ZT4KKyAgICAgIDwvemVyb09yTW9yZT4KKyAgICA8L2VsZW1lbnQ+CisgIDwvc3RhcnQ+Cis8L2dyYW1tYXI+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy83MTA3NDRfMS54bWwgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy83MTA3NDRfMS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjE3YzgwOAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nLzcxMDc0NF8xLnhtbApAQCAtMCwwICsxLDIgQEAKKzxleDE6dGVzdCB4bWxuczpleDE9Imh0dHA6Ly9leGFtcGxlLmNvbS8xLyIKKyAgICAgICAgICBleDE6Zm9vPSJiYXIiLz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nLzcxMDc0NF8yLnhtbCBiL2xpYnhtbDIvdGVzdC9yZWxheG5nLzcxMDc0NF8yLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYWVmM2E5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvNzEwNzQ0XzIueG1sCkBAIC0wLDAgKzEsMyBAQAorPGV4MTp0ZXN0IHhtbG5zOmV4MT0iaHR0cDovL2V4YW1wbGUuY29tLzEvIgorICAgICAgICAgIHhtbG5zOmV4Mz0iaHR0cDovL2V4YW1wbGUuY29tLzMvIgorICAgICAgICAgIGV4Mzpmb289ImJhciIvPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvT0FTSVMvc3BlY3Rlc3QueG1sIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvT0FTSVMvc3BlY3Rlc3QueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE4YWZiMmUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy9PQVNJUy9zcGVjdGVzdC54bWwKQEAgLTAsMCArMSw2ODQ1IEBACis8IURPQ1RZUEUgdGVzdFN1aXRlIFsNCis8IUVOVElUWSBkaWkgIjwmI3hFMTQ7JiN4RTM1Oy8+Ij4NCitdPg0KKzx0ZXN0U3VpdGU+DQorPGF1dGhvcj5KYW1lcyBDbGFyazwvYXV0aG9yPg0KKzxlbWFpbD5qamNAamNsYXJrLmNvbTwvZW1haWw+DQorPGRvY3VtZW50YXRpb24+Rm9yIE9jdG9iZXIgMjYgdmVyc2lvbiBvZiB0aGUgc3BlYy48L2RvY3VtZW50YXRpb24+DQorPHRlc3RTdWl0ZT4NCis8c2VjdGlvbj4zPC9zZWN0aW9uPg0KKzx0ZXN0U3VpdGU+DQorPGRvY3VtZW50YXRpb24+VmFyaW91cyBwb3NzaWJsZSBzeW50YXggZXJyb3JzLjwvZG9jdW1lbnRhdGlvbj4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Mzwvc2VjdGlvbj4NCis8aW5jb3JyZWN0Pg0KKzx0aGlzSXNKdW5rLz4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj4zPC9zZWN0aW9uPg0KKzxpbmNvcnJlY3Q+DQorPGdyYW1tYXIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxlbGVtZW50IG5hbWU9ImZvbyI+DQorICAgIDxlbXB0eS8+DQorICA8L2VsZW1lbnQ+DQorICA8c3RhcnQ+DQorICAgIDxlbGVtZW50IG5hbWU9ImZvbyI+DQorICAgICAgPGVtcHR5Lz4NCisgICAgPC9lbGVtZW50Pg0KKyAgPC9zdGFydD4NCis8L2dyYW1tYXI+DQorPC9pbmNvcnJlY3Q+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Mzwvc2VjdGlvbj4NCis8aW5jb3JyZWN0Pg0KKzxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZm9vIj4NCisgIDxkZWZpbmUgbmFtZT0iYmFyIj4NCisgICAgPHRleHQvPg0KKyAgPC9kZWZpbmU+DQorICA8dGV4dC8+DQorPC9lbGVtZW50Pg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjM8L3NlY3Rpb24+DQorPGluY29ycmVjdD4NCis8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImZvbyI+DQorICA8bmFtZT5mb288L25hbWU+DQorICA8ZW1wdHkvPg0KKzwvZWxlbWVudD4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj4zPC9zZWN0aW9uPg0KKzxpbmNvcnJlY3Q+DQorPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJmb28iPg0KKyAgPGdyb3VwPg0KKyAgICA8bmFtZT5iYXI8L25hbWU+DQorICA8L2dyb3VwPg0KKzwvZWxlbWVudD4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj4zPC9zZWN0aW9uPg0KKzxpbmNvcnJlY3Q+DQorPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxhbnlOYW1lPg0KKyAgICA8ZXhjZXB0Pg0KKyAgICAgIDxuYW1lPmZvbzwvbmFtZT4NCisgICAgPC9leGNlcHQ+DQorICAgIDxleGNlcHQ+DQorICAgICAgPG5hbWU+YmFyPC9uYW1lPg0KKyAgICA8L2V4Y2VwdD4NCisgIDwvYW55TmFtZT4NCisgIDxlbXB0eS8+DQorPC9lbGVtZW50Pg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjM8L3NlY3Rpb24+DQorPGluY29ycmVjdD4NCis8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPG5zTmFtZT4NCisgICAgPGV4Y2VwdD4NCisgICAgICA8bmFtZT5mb288L25hbWU+DQorICAgIDwvZXhjZXB0Pg0KKyAgICA8ZXhjZXB0Pg0KKyAgICAgIDxuYW1lPmJhcjwvbmFtZT4NCisgICAgPC9leGNlcHQ+DQorICA8L25zTmFtZT4NCisgIDxlbXB0eS8+DQorPC9lbGVtZW50Pg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjM8L3NlY3Rpb24+DQorPGluY29ycmVjdD4NCis8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImZvbyI+DQorICA8ZGF0YSB0eXBlPSJ0b2tlbiI+DQorICAgIDxleGNlcHQ+DQorICAgICAgPHZhbHVlPmZvbzwvdmFsdWU+DQorICAgIDwvZXhjZXB0Pg0KKyAgICA8ZXhjZXB0Pg0KKyAgICAgIDx2YWx1ZT5iYXI8L3ZhbHVlPg0KKyAgICA8L2V4Y2VwdD4NCisgIDwvZGF0YT4NCis8L2VsZW1lbnQ+DQorPC9pbmNvcnJlY3Q+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Mzwvc2VjdGlvbj4NCis8aW5jb3JyZWN0Pg0KKzxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZm9vIj4NCisgIDxlbXB0eSBuYW1lPSJiYXIiLz4NCis8L2VsZW1lbnQ+DQorPC9pbmNvcnJlY3Q+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Mzwvc2VjdGlvbj4NCis8aW5jb3JyZWN0Pg0KKzxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZm9vIiBleHRyYT0iYmFyIj4NCisgIDxlbXB0eS8+DQorPC9lbGVtZW50Pg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjM8L3NlY3Rpb24+DQorPGluY29ycmVjdD4NCis8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImZvbyI+DQorICA8ZW1wdHk+DQorICAgIDxlbXB0eS8+DQorICA8L2VtcHR5Pg0KKzwvZWxlbWVudD4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj4zPC9zZWN0aW9uPg0KKzxpbmNvcnJlY3Q+DQorPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJmb28iPg0KKyAgPHRleHQ+DQorICAgIDxlbXB0eS8+DQorICA8L3RleHQ+DQorPC9lbGVtZW50Pg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjM8L3NlY3Rpb24+DQorPGluY29ycmVjdD4NCis8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImZvbyI+DQorICA8Y2hvaWNlPg0KKyAgICA8dGV4dC8+DQorICAgIDxub3RBbGxvd2VkPg0KKyAgICAgIDxlbXB0eS8+DQorICAgIDwvbm90QWxsb3dlZD4NCisgIDwvY2hvaWNlPg0KKzwvZWxlbWVudD4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj4zPC9zZWN0aW9uPg0KKzxpbmNvcnJlY3Q+DQorPGdyYW1tYXIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxzdGFydD4NCisgICAgPHJlZiBuYW1lPSJmb28iPg0KKyAgICAgIDxlbXB0eS8+DQorICAgIDwvcmVmPg0KKyAgPC9zdGFydD4NCisgIDxkZWZpbmUgbmFtZT0iZm9vIj4NCisgICAgPGVsZW1lbnQgbmFtZT0iZm9vIj4NCisgICAgICA8ZW1wdHkvPg0KKyAgICA8L2VsZW1lbnQ+DQorICA8L2RlZmluZT4NCis8L2dyYW1tYXI+DQorPC9pbmNvcnJlY3Q+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Mzwvc2VjdGlvbj4NCis8aW5jb3JyZWN0Pg0KKzxncmFtbWFyIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8c3RhcnQ+DQorICAgIDxncmFtbWFyPg0KKyAgICAgIDxzdGFydD4NCisgICAgICAgIDxwYXJlbnRSZWYgbmFtZT0iZm9vIj4NCisgICAgICAgICAgPGVtcHR5Lz4NCisgICAgICAgIDwvcGFyZW50UmVmPg0KKyAgICAgIDwvc3RhcnQ+DQorICAgIDwvZ3JhbW1hcj4NCisgIDwvc3RhcnQ+DQorICA8ZGVmaW5lIG5hbWU9ImZvbyI+DQorICAgIDxlbGVtZW50IG5hbWU9ImZvbyI+DQorICAgICAgPGVtcHR5Lz4NCisgICAgPC9lbGVtZW50Pg0KKyAgPC9kZWZpbmU+DQorPC9ncmFtbWFyPg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPC90ZXN0U3VpdGU+DQorPHRlc3RTdWl0ZT4NCis8ZG9jdW1lbnRhdGlvbj5UZXN0cyBmb3Igb2Jzb2xldGUgc3ludGF4PC9kb2N1bWVudGF0aW9uPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj4zPC9zZWN0aW9uPg0KKzxpbmNvcnJlY3Q+DQorPGdyYW1tYXIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxzdGFydCBuYW1lPSJmb28iPg0KKyAgICA8ZWxlbWVudCBuYW1lPSJmb28iPg0KKyAgICAgIDxlbXB0eS8+DQorICAgIDwvZWxlbWVudD4NCisgIDwvc3RhcnQ+DQorPC9ncmFtbWFyPg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjM8L3NlY3Rpb24+DQorPGluY29ycmVjdD4NCis8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImZvbyIgbnM9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20iPg0KKyAgPGF0dHJpYnV0ZSBuYW1lPSJiYXIiIGdsb2JhbD0idHJ1ZSI+DQorICAgIDx0ZXh0Lz4NCisgIDwvYXR0cmlidXRlPg0KKzwvZWxlbWVudD4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj4zPC9zZWN0aW9uPg0KKzxpbmNvcnJlY3Q+DQorPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxub3Q+DQorICAgIDxuYW1lPmZvbzwvbmFtZT4NCisgIDwvbm90Pg0KKyAgPGVtcHR5Lz4NCis8L2VsZW1lbnQ+DQorPC9pbmNvcnJlY3Q+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Mzwvc2VjdGlvbj4NCis8aW5jb3JyZWN0Pg0KKzxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8ZGlmZmVyZW5jZT4NCisgICAgPGFueU5hbWUvPg0KKyAgICA8bmFtZT5mb288L25hbWU+DQorICA8L2RpZmZlcmVuY2U+DQorICA8ZW1wdHkvPg0KKzwvZWxlbWVudD4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj4zPC9zZWN0aW9uPg0KKzxpbmNvcnJlY3Q+DQorPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJmb28iPg0KKyAgPGRhdGEgdHlwZT0idG9rZW4iIGtleT0iZm9vIi8+DQorPC9lbGVtZW50Pg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjM8L3NlY3Rpb24+DQorPGluY29ycmVjdD4NCis8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImZvbyI+DQorICA8ZGF0YSB0eXBlPSJ0b2tlbiIga2V5UmVmPSJmb28iLz4NCis8L2VsZW1lbnQ+DQorPC9pbmNvcnJlY3Q+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Mzwvc2VjdGlvbj4NCis8aW5jb3JyZWN0Pg0KKzxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZm9vIj4NCisgIDxrZXlSZWYgbmFtZT0iZm9vIj4NCisgICAgPGRhdGEgdHlwZT0idG9rZW4iLz4NCisgIDwva2V5UmVmPg0KKzwvZWxlbWVudD4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj4zPC9zZWN0aW9uPg0KKzxpbmNvcnJlY3Q+DQorPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJmb28iPg0KKyAgPGtleSBuYW1lPSJmb28iPg0KKyAgICA8ZGF0YSB0eXBlPSJ0b2tlbiIvPg0KKyAgPC9rZXk+DQorPC9lbGVtZW50Pg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPC90ZXN0U3VpdGU+DQorPHRlc3RTdWl0ZT4NCis8ZG9jdW1lbnRhdGlvbj5UZXN0cyBmb3IgbWlzc2luZyBhdHRyaWJ1dGVzIGFuZCBjaGlsZCBlbGVtZW50czwvZG9jdW1lbnRhdGlvbj4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Mzwvc2VjdGlvbj4NCis8aW5jb3JyZWN0Pg0KKzxlbGVtZW50IG5hbWU9ImZvbyIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCis8L2VsZW1lbnQ+DQorPC9pbmNvcnJlY3Q+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Mzwvc2VjdGlvbj4NCis8aW5jb3JyZWN0Pg0KKzxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8bmFtZT5mb288L25hbWU+DQorPC9lbGVtZW50Pg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjM8L3NlY3Rpb24+DQorPGluY29ycmVjdD4NCis8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKzwvZWxlbWVudD4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj4zPC9zZWN0aW9uPg0KKzxpbmNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0iZm9vIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPGF0dHJpYnV0ZS8+DQorPC9lbGVtZW50Pg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjM8L3NlY3Rpb24+DQorPGluY29ycmVjdD4NCis8ZWxlbWVudCBuYW1lPSJmb28iIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8Z3JvdXAvPg0KKzwvZWxlbWVudD4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj4zPC9zZWN0aW9uPg0KKzxpbmNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0iZm9vIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPGludGVybGVhdmUvPg0KKzwvZWxlbWVudD4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj4zPC9zZWN0aW9uPg0KKzxpbmNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0iZm9vIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPGNob2ljZS8+DQorPC9lbGVtZW50Pg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjM8L3NlY3Rpb24+DQorPGluY29ycmVjdD4NCis8ZWxlbWVudCBuYW1lPSJmb28iIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8b3B0aW9uYWwvPg0KKzwvZWxlbWVudD4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj4zPC9zZWN0aW9uPg0KKzxpbmNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0iZm9vIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPHplcm9Pck1vcmUvPg0KKzwvZWxlbWVudD4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj4zPC9zZWN0aW9uPg0KKzxpbmNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0iZm9vIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPG9uZU9yTW9yZS8+DQorPC9lbGVtZW50Pg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjM8L3NlY3Rpb24+DQorPGluY29ycmVjdD4NCis8ZWxlbWVudCBuYW1lPSJmb28iIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8bGlzdC8+DQorPC9lbGVtZW50Pg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjM8L3NlY3Rpb24+DQorPGluY29ycmVjdD4NCis8ZWxlbWVudCBuYW1lPSJmb28iIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8bWl4ZWQvPg0KKzwvZWxlbWVudD4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj4zPC9zZWN0aW9uPg0KKzxpbmNvcnJlY3Q+DQorPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxjaG9pY2UvPg0KKyAgPGVtcHR5Lz4NCis8L2VsZW1lbnQ+DQorPC9pbmNvcnJlY3Q+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Mzwvc2VjdGlvbj4NCis8aW5jb3JyZWN0Pg0KKzxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8YW55TmFtZT4NCisgICAgPGV4Y2VwdC8+DQorICA8L2FueU5hbWU+DQorICA8ZW1wdHkvPg0KKzwvZWxlbWVudD4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj4zPC9zZWN0aW9uPg0KKzxpbmNvcnJlY3Q+DQorPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxuc05hbWUgbnM9IiI+DQorICAgIDxleGNlcHQvPg0KKyAgPC9uc05hbWU+DQorICA8ZW1wdHkvPg0KKzwvZWxlbWVudD4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj4zPC9zZWN0aW9uPg0KKzxpbmNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0iZm9vIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPGRhdGEgdHlwZT0ic3RyaW5nIj4NCisgICAgPGV4Y2VwdC8+DQorICA8L2RhdGE+DQorPC9lbGVtZW50Pg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjM8L3NlY3Rpb24+DQorPGluY29ycmVjdD4NCis8ZWxlbWVudCBuYW1lPSJmb28iIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8ZGF0YS8+DQorPC9lbGVtZW50Pg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjM8L3NlY3Rpb24+DQorPGluY29ycmVjdD4NCis8ZWxlbWVudCBuYW1lPSJmb28iIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8ZGF0YSB0eXBlPSJzdHJpbmciPg0KKyAgICA8cGFyYW0vPg0KKyAgPC9kYXRhPg0KKzwvZWxlbWVudD4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj4zPC9zZWN0aW9uPg0KKzxpbmNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0iZm9vIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPGdyYW1tYXI+DQorICAgIDxzdGFydC8+DQorICA8L2dyYW1tYXI+DQorPC9lbGVtZW50Pg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjM8L3NlY3Rpb24+DQorPGluY29ycmVjdD4NCis8Z3JhbW1hciB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPHN0YXJ0Pg0KKyAgICA8ZWxlbWVudCBuYW1lPSJiYXIiPg0KKyAgICAgIDxlbXB0eS8+DQorICAgIDwvZWxlbWVudD4NCisgIDwvc3RhcnQ+DQorICA8ZGVmaW5lIG5hbWU9ImJheiIvPg0KKzwvZ3JhbW1hcj4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj4zPC9zZWN0aW9uPg0KKzxpbmNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0iZm9vIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPGV4dGVybmFsUmVmLz4NCis8L2VsZW1lbnQ+DQorPC9pbmNvcnJlY3Q+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Mzwvc2VjdGlvbj4NCis8aW5jb3JyZWN0Pg0KKzxncmFtbWFyIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8aW5jbHVkZS8+DQorICA8c3RhcnQ+DQorICAgIDxlbGVtZW50IG5hbWU9ImZvbyI+DQorICAgICAgPGVtcHR5Lz4NCisgICAgPC9lbGVtZW50Pg0KKyAgPC9zdGFydD4NCis8L2dyYW1tYXI+DQorPC9pbmNvcnJlY3Q+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Mzwvc2VjdGlvbj4NCis8aW5jb3JyZWN0Pg0KKzxncmFtbWFyIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8c3RhcnQ+DQorICAgIDxlbGVtZW50IG5hbWU9ImZvbyI+DQorICAgICAgPGVtcHR5Lz4NCisgICAgPC9lbGVtZW50Pg0KKyAgPC9zdGFydD4NCisgIDxkZWZpbmU+DQorICAgIDxlbGVtZW50IG5hbWU9ImJhciI+DQorICAgICAgPGVtcHR5Lz4NCisgICAgPC9lbGVtZW50Pg0KKyAgPC9kZWZpbmU+DQorPC9ncmFtbWFyPg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjM8L3NlY3Rpb24+DQorPGluY29ycmVjdD4NCis8Z3JhbW1hciB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPHN0YXJ0Pg0KKyAgICA8cmVmLz4NCisgIDwvc3RhcnQ+DQorICA8ZGVmaW5lIG5hbWU9ImZvbyI+DQorICAgIDxlbGVtZW50IG5hbWU9ImZvbyI+DQorICAgICAgPGVtcHR5Lz4NCisgICAgPC9lbGVtZW50Pg0KKyAgPC9kZWZpbmU+DQorPC9ncmFtbWFyPg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjM8L3NlY3Rpb24+DQorPGluY29ycmVjdD4NCis8Z3JhbW1hciB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPHN0YXJ0Pg0KKyAgICA8Z3JhbW1hcj4NCisgICAgICA8c3RhcnQ+DQorICAgICAgICA8cGFyZW50UmVmLz4NCisgICAgICA8L3N0YXJ0Pg0KKyAgICA8L2dyYW1tYXI+DQorICA8L3N0YXJ0Pg0KKyAgPGRlZmluZSBuYW1lPSJmb28iPg0KKyAgICA8ZWxlbWVudCBuYW1lPSJmb28iPg0KKyAgICAgIDxlbXB0eS8+DQorICAgIDwvZWxlbWVudD4NCisgIDwvZGVmaW5lPg0KKzwvZ3JhbW1hcj4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzwvdGVzdFN1aXRlPg0KKzx0ZXN0U3VpdGU+DQorPGRvY3VtZW50YXRpb24+Q2hlY2tpbmcgb2YgbnMgYXR0cmlidXRlPC9kb2N1bWVudGF0aW9uPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj4zPC9zZWN0aW9uPg0KKzxjb3JyZWN0Pg0KKzxlbGVtZW50IG5hbWU9ImZvbyIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBucz0iIj4NCisgIDxlbXB0eS8+DQorPC9lbGVtZW50Pg0KKzwvY29ycmVjdD4NCis8dmFsaWQ+DQorPGZvby8+DQorPC92YWxpZD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj4zPC9zZWN0aW9uPg0KKzxkb2N1bWVudGF0aW9uPk5vIGNoZWNraW5nIG9mIG5zIGF0dHJpYnV0ZSBpcyBwZXJmb3JtZWQ8L2RvY3VtZW50YXRpb24+DQorPGNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0iZm9vIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5zPSJEQVY6Ij4NCisgIDxlbXB0eS8+DQorPC9lbGVtZW50Pg0KKzwvY29ycmVjdD4NCis8dmFsaWQ+DQorPGZvbyB4bWxucz0iREFWOiIvPg0KKzwvdmFsaWQ+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Mzwvc2VjdGlvbj4NCis8ZG9jdW1lbnRhdGlvbj5ObyBjaGVja2luZyBvZiBucyBhdHRyaWJ1dGUgaXMgcGVyZm9ybWVkPC9kb2N1bWVudGF0aW9uPg0KKzxjb3JyZWN0Pg0KKzxlbGVtZW50IG5hbWU9ImZvbyIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBucz0ieHl6enkiPg0KKyAgPGVtcHR5Lz4NCis8L2VsZW1lbnQ+DQorPC9jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjM8L3NlY3Rpb24+DQorPGRvY3VtZW50YXRpb24+Tm8gY2hlY2tpbmcgb2YgbnMgYXR0cmlidXRlIGlzIHBlcmZvcm1lZDwvZG9jdW1lbnRhdGlvbj4NCis8Y29ycmVjdD4NCis8ZWxlbWVudCBuYW1lPSJmb28iIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbnM9ImJhZF9zY2hlbWU6Ly8iPg0KKyAgPGVtcHR5Lz4NCis8L2VsZW1lbnQ+DQorPC9jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPC90ZXN0U3VpdGU+DQorPHRlc3RTdWl0ZT4NCis8ZG9jdW1lbnRhdGlvbj5DaGVja2luZyBvZiBkYXRhdHlwZUxpYnJhcnkgYXR0cmlidXRlPC9kb2N1bWVudGF0aW9uPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj4zPC9zZWN0aW9uPg0KKzxkb2N1bWVudGF0aW9uPlZhbHVlIG9mIGRhdGF0eXBlTGlicmFyeSBhdHRyaWJ1dGUgbXVzdCBjb25mb3JtIHRvIFJGQyAyMzk2PC9kb2N1bWVudGF0aW9uPg0KKzxpbmNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0iZm9vIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIGRhdGF0eXBlTGlicmFyeT0iZm9vX2Jhcjp4eXp6eSI+DQorICA8ZW1wdHkvPg0KKzwvZWxlbWVudD4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj4zPC9zZWN0aW9uPg0KKzxkb2N1bWVudGF0aW9uPlZhbHVlIG9mIGRhdGF0eXBlTGlicmFyeSBhdHRyaWJ1dGUgbXVzdCBjb25mb3JtIHRvIFJGQyAyMzk2PC9kb2N1bWVudGF0aW9uPg0KKzxjb3JyZWN0Pg0KKzxlbGVtZW50IG5hbWU9ImZvbyIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBkYXRhdHlwZUxpYnJhcnk9ImZvb2Jhcjp4eXp6eSI+DQorICA8ZW1wdHkvPg0KKzwvZWxlbWVudD4NCis8L2NvcnJlY3Q+DQorPHZhbGlkPg0KKzxmb28vPg0KKzwvdmFsaWQ+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Mzwvc2VjdGlvbj4NCis8ZG9jdW1lbnRhdGlvbj5WYWx1ZSBvZiBkYXRhdHlwZUxpYnJhcnkgYXR0cmlidXRlIG11c3QgY29uZm9ybSB0byBSRkMgMjM5NjwvZG9jdW1lbnRhdGlvbj4NCis8Y29ycmVjdD4NCis8ZWxlbWVudCBuYW1lPSJmb28iIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOm9rIj4NCisgIDxlbXB0eS8+DQorPC9lbGVtZW50Pg0KKzwvY29ycmVjdD4NCis8dmFsaWQ+DQorPGZvby8+DQorPC92YWxpZD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj4zPC9zZWN0aW9uPg0KKzxkb2N1bWVudGF0aW9uPlZhbHVlIG9mIGRhdGF0eXBlTGlicmFyeSBhdHRyaWJ1dGUgbXVzdCBjb25mb3JtIHRvIFJGQyAyMzk2PC9kb2N1bWVudGF0aW9uPg0KKzxpbmNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0iZm9vIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIGRhdGF0eXBlTGlicmFyeT0iZm9vOiI+DQorICA8ZW1wdHkvPg0KKzwvZWxlbWVudD4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj4zPC9zZWN0aW9uPg0KKzxkb2N1bWVudGF0aW9uPlZhbHVlIG9mIGRhdGF0eXBlTGlicmFyeSBhdHRyaWJ1dGUgbXVzdCBjb25mb3JtIHRvIFJGQyAyMzk2PC9kb2N1bWVudGF0aW9uPg0KKzxpbmNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0iZm9vIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy5leGFtcGxlLmNvbS8lIj4NCisgIDxlbXB0eS8+DQorPC9lbGVtZW50Pg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjM8L3NlY3Rpb24+DQorPGRvY3VtZW50YXRpb24+VmFsdWUgb2YgZGF0YXR5cGVMaWJyYXJ5IGF0dHJpYnV0ZSBtdXN0IGNvbmZvcm0gdG8gUkZDIDIzOTY8L2RvY3VtZW50YXRpb24+DQorPGluY29ycmVjdD4NCis8ZWxlbWVudCBuYW1lPSJmb28iIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LmV4YW1wbGUuY29tLyV4eCI+DQorICA8ZW1wdHkvPg0KKzwvZWxlbWVudD4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj4zPC9zZWN0aW9uPg0KKzxkb2N1bWVudGF0aW9uPlZhbHVlIG9mIGRhdGF0eXBlTGlicmFyeSBhdHRyaWJ1dGUgbXVzdCBjb25mb3JtIHRvIFJGQyAyMzk2PC9kb2N1bWVudGF0aW9uPg0KKzxjb3JyZWN0Pg0KKzxlbGVtZW50IG5hbWU9ImZvbyIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20vJUFhIj4NCisgIDxlbXB0eS8+DQorPC9lbGVtZW50Pg0KKzwvY29ycmVjdD4NCis8dmFsaWQ+DQorPGZvby8+DQorPC92YWxpZD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj4zPC9zZWN0aW9uPg0KKzxkb2N1bWVudGF0aW9uPlZhbHVlIG9mIGRhdGF0eXBlTGlicmFyeSBhdHRyaWJ1dGUgbXVzdCBub3QgYmUgcmVsYXRpdmU8L2RvY3VtZW50YXRpb24+DQorPGluY29ycmVjdD4NCis8ZWxlbWVudCBuYW1lPSJmb28iIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgZGF0YXR5cGVMaWJyYXJ5PSJ4eXp6eSI+DQorICA8ZW1wdHkvPg0KKzwvZWxlbWVudD4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj4zPC9zZWN0aW9uPg0KKzxkb2N1bWVudGF0aW9uPlZhbHVlIG9mIGRhdGF0eXBlTGlicmFyeSBhdHRyaWJ1dGUgbXVzdCBub3QgYmUgcmVsYXRpdmU8L2RvY3VtZW50YXRpb24+DQorPGluY29ycmVjdD4NCis8ZWxlbWVudCBuYW1lPSJmb28iIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgZGF0YXR5cGVMaWJyYXJ5PSJ4eXp6eSNmb286YmFyIj4NCisgIDxlbXB0eS8+DQorPC9lbGVtZW50Pg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjM8L3NlY3Rpb24+DQorPGRvY3VtZW50YXRpb24+VmFsdWUgb2YgZGF0YXR5cGVMaWJyYXJ5IGF0dHJpYnV0ZSBtdXN0IG5vdCBiZSByZWxhdGl2ZTwvZG9jdW1lbnRhdGlvbj4NCis8aW5jb3JyZWN0Pg0KKzxlbGVtZW50IG5hbWU9ImZvbyIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBkYXRhdHlwZUxpYnJhcnk9Inh5enp5P2ZvbzpiYXIiPg0KKyAgPGVtcHR5Lz4NCis8L2VsZW1lbnQ+DQorPC9pbmNvcnJlY3Q+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Mzwvc2VjdGlvbj4NCis8ZG9jdW1lbnRhdGlvbj5WYWx1ZSBvZiBkYXRhdHlwZUxpYnJhcnkgYXR0cmlidXRlIG11c3Qgbm90IGJlIHJlbGF0aXZlPC9kb2N1bWVudGF0aW9uPg0KKzxpbmNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0iZm9vIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIGRhdGF0eXBlTGlicmFyeT0ieHl6enkvZm9vOmJhciI+DQorICA8ZW1wdHkvPg0KKzwvZWxlbWVudD4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj4zPC9zZWN0aW9uPg0KKzxjb3JyZWN0Pg0KKzxlbGVtZW50IG5hbWU9ImZvbyIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBkYXRhdHlwZUxpYnJhcnk9ImZvbzpiYXIiPg0KKyAgPGVtcHR5Lz4NCis8L2VsZW1lbnQ+DQorPC9jb3JyZWN0Pg0KKzx2YWxpZD4NCis8Zm9vLz4NCis8L3ZhbGlkPg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjM8L3NlY3Rpb24+DQorPGNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0iZm9vIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIGRhdGF0eXBlTGlicmFyeT0iIj4NCisgIDxlbXB0eS8+DQorPC9lbGVtZW50Pg0KKzwvY29ycmVjdD4NCis8dmFsaWQ+DQorPGZvby8+DQorPC92YWxpZD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj4zPC9zZWN0aW9uPg0KKzxjb3JyZWN0Pg0KKzxlbGVtZW50IG5hbWU9ImZvbyIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxkYXRhIGRhdGF0eXBlTGlicmFyeT0iIiB0eXBlPSJzdHJpbmciLz4NCis8L2VsZW1lbnQ+DQorPC9jb3JyZWN0Pg0KKzx2YWxpZD4NCis8Zm9vPng8L2Zvbz4NCis8L3ZhbGlkPg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjM8L3NlY3Rpb24+DQorPGRvY3VtZW50YXRpb24+VmFsdWUgb2YgZGF0YXR5cGVMaWJyYXJ5IGF0dHJpYnV0ZSBtdXN0IG5vdCBjb250YWluIGZyYWdtZW50IGlkZW50aWZpZXI8L2RvY3VtZW50YXRpb24+DQorPGluY29ycmVjdD4NCis8ZWxlbWVudCBuYW1lPSJmb28iIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCINCisgICAgICAgICAgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LmV4YW1wbGUuY29tI3h5enp5Ij4NCisgIDxlbXB0eS8+DQorPC9lbGVtZW50Pg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjM8L3NlY3Rpb24+DQorPGRvY3VtZW50YXRpb24+VmFsdWUgb2YgZGF0YXR5cGVMaWJyYXJ5IGF0dHJpYnV0ZSBtdXN0IG5vdCBjb250YWluIGZyYWdtZW50IGlkZW50aWZpZXI8L2RvY3VtZW50YXRpb24+DQorPGluY29ycmVjdD4NCis8ZWxlbWVudCBuYW1lPSJmb28iIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCINCisgICAgICAgICAgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LmV4YW1wbGUuY29tIyI+DQorICA8ZW1wdHkvPg0KKzwvZWxlbWVudD4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzwvdGVzdFN1aXRlPg0KKzx0ZXN0U3VpdGU+DQorPGRvY3VtZW50YXRpb24+VGVzdHMgZm9yIFFOYW1lIGFuZCBOQ05hbWVzIGluIHNjaGVtYXM8L2RvY3VtZW50YXRpb24+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjM8L3NlY3Rpb24+DQorPGNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0iZm9vIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPGVsZW1lbnQgbmFtZT0iJiN4RTE0OyYjeEUzNTsiPg0KKyAgICA8ZW1wdHkvPg0KKyAgPC9lbGVtZW50Pg0KKzwvZWxlbWVudD4NCis8L2NvcnJlY3Q+DQorPHZhbGlkPg0KKzxmb28+JmRpaTs8L2Zvbz4NCis8L3ZhbGlkPg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjM8L3NlY3Rpb24+DQorPGluY29ycmVjdD4NCis8ZWxlbWVudCBuYW1lPSImI3hFMzU7IiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPGVtcHR5Lz4NCis8L2VsZW1lbnQ+DQorPC9pbmNvcnJlY3Q+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Mzwvc2VjdGlvbj4NCis8aW5jb3JyZWN0Pg0KKzxlbGVtZW50IG5hbWU9IiIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxlbXB0eS8+DQorPC9lbGVtZW50Pg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjM8L3NlY3Rpb24+DQorPGluY29ycmVjdD4NCis8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPG5hbWU+JiN4RTM1OzwvbmFtZT4NCisgIDxlbXB0eS8+DQorPC9lbGVtZW50Pg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjM8L3NlY3Rpb24+DQorPGluY29ycmVjdD4NCis8ZWxlbWVudCBuYW1lPSJmb28iIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8YXR0cmlidXRlIG5hbWU9IiYjeEUzNTsiLz4NCisgIDxlbXB0eS8+DQorPC9lbGVtZW50Pg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjM8L3NlY3Rpb24+DQorPGluY29ycmVjdD4NCis8Z3JhbW1hciB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPHN0YXJ0Pg0KKyAgICA8cmVmIG5hbWU9IiYjeEUzNTsiLz4NCisgIDwvc3RhcnQ+DQorICA8ZGVmaW5lIG5hbWU9IiYjeEUzNTsiPg0KKyAgICA8ZWxlbWVudCBuYW1lPSJmb28iPg0KKyAgICAgIDxlbXB0eS8+DQorICAgIDwvZWxlbWVudD4NCisgIDwvZGVmaW5lPg0KKzwvZ3JhbW1hcj4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj4zPC9zZWN0aW9uPg0KKzxjb3JyZWN0Pg0KKzxncmFtbWFyIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8c3RhcnQ+DQorICAgIDxyZWYgbmFtZT0iJiN4RTE0OyYjeEUzNTsiLz4NCisgIDwvc3RhcnQ+DQorICA8ZGVmaW5lIG5hbWU9IiYjeEUxNDsmI3hFMzU7Ij4NCisgICAgPGVsZW1lbnQgbmFtZT0iZm9vIj4NCisgICAgICA8ZW1wdHkvPg0KKyAgICA8L2VsZW1lbnQ+DQorICA8L2RlZmluZT4NCis8L2dyYW1tYXI+DQorPC9jb3JyZWN0Pg0KKzx2YWxpZD4NCis8Zm9vLz4NCis8L3ZhbGlkPg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjM8L3NlY3Rpb24+DQorPGluY29ycmVjdD4NCis8Z3JhbW1hciB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPHN0YXJ0Pg0KKyAgICA8cmVmIG5hbWU9IiIvPg0KKyAgPC9zdGFydD4NCisgIDxkZWZpbmUgbmFtZT0iIj4NCisgICAgPGVsZW1lbnQgbmFtZT0iZm9vIj4NCisgICAgICA8ZW1wdHkvPg0KKyAgICA8L2VsZW1lbnQ+DQorICA8L2RlZmluZT4NCis8L2dyYW1tYXI+DQorPC9pbmNvcnJlY3Q+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Mzwvc2VjdGlvbj4NCis8aW5jb3JyZWN0Pg0KKzxncmFtbWFyIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8c3RhcnQ+DQorICAgIDxyZWYgbmFtZT0ieCB5Ii8+DQorICA8L3N0YXJ0Pg0KKyAgPGRlZmluZSBuYW1lPSJ4IHkiPg0KKyAgICA8ZWxlbWVudCBuYW1lPSJmb28iPg0KKyAgICAgIDxlbXB0eS8+DQorICAgIDwvZWxlbWVudD4NCisgIDwvZGVmaW5lPg0KKzwvZ3JhbW1hcj4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj4zPC9zZWN0aW9uPg0KKzxpbmNvcnJlY3Q+DQorPGdyYW1tYXIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIg0KKyAgICAgICAgIHhtbG5zOng9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20veCI+DQorICA8c3RhcnQ+DQorICAgIDxyZWYgbmFtZT0ieDp5Ii8+DQorICA8L3N0YXJ0Pg0KKyAgPGRlZmluZSBuYW1lPSJ4OnkiPg0KKyAgICA8ZWxlbWVudCBuYW1lPSJmb28iPg0KKyAgICAgIDxlbXB0eS8+DQorICAgIDwvZWxlbWVudD4NCisgIDwvZGVmaW5lPg0KKzwvZ3JhbW1hcj4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj4zPC9zZWN0aW9uPg0KKzxpbmNvcnJlY3Q+DQorPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIg0KKyAgICAgICAgIHhtbG5zOng9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20veCINCisgICAgICAgICBuYW1lPSJ4OiYjeEUzNTsiPg0KKyAgPGVtcHR5Lz4NCis8L2VsZW1lbnQ+DQorPC9pbmNvcnJlY3Q+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Mzwvc2VjdGlvbj4NCis8aW5jb3JyZWN0Pg0KKzxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCINCisgICAgICAgICB4bWxuczp4PSJodHRwOi8vd3d3LmV4YW1wbGUuY29tL3giDQorICAgICAgICAgbmFtZT0ieDp5OnoiPg0KKyAgPGVtcHR5Lz4NCis8L2VsZW1lbnQ+DQorPC9pbmNvcnJlY3Q+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Mzwvc2VjdGlvbj4NCis8aW5jb3JyZWN0Pg0KKzxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCINCisgICAgICAgICB4bWxuczp4PSJodHRwOi8vd3d3LmV4YW1wbGUuY29tL3giDQorICAgICAgICAgbmFtZT0ieDoiPg0KKyAgPGVtcHR5Lz4NCis8L2VsZW1lbnQ+DQorPC9pbmNvcnJlY3Q+DQorPC90ZXN0Q2FzZT4NCis8L3Rlc3RTdWl0ZT4NCis8dGVzdFN1aXRlPg0KKzxkb2N1bWVudGF0aW9uPlRlc3RzIGZvciBlbGVtZW50cyB0aGF0IGFsbG93IG9ubHkgYSBzaW5nbGUgcGF0dGVybiBjaGlsZC48L2RvY3VtZW50YXRpb24+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjM8L3NlY3Rpb24+DQorPGluY29ycmVjdD4NCis8Z3JhbW1hciB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPHN0YXJ0Pg0KKyAgICA8ZWxlbWVudCBuYW1lPSJmb28iPg0KKyAgICAgIDxlbXB0eS8+DQorICAgIDwvZWxlbWVudD4NCisgICAgPGVtcHR5Lz4NCisgIDwvc3RhcnQ+DQorPC9ncmFtbWFyPg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjM8L3NlY3Rpb24+DQorPGluY29ycmVjdD4NCis8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImZvbyI+DQorICA8YXR0cmlidXRlIG5hbWU9ImJhciI+DQorICAgIDx0ZXh0Lz4NCisgICAgPGVtcHR5Lz4NCisgIDwvYXR0cmlidXRlPg0KKzwvZWxlbWVudD4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj4zPC9zZWN0aW9uPg0KKzxpbmNvcnJlY3Q+DQorPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJmb28iPg0KKyAgPGF0dHJpYnV0ZT4NCisgICAgPG5hbWU+YmFyPC9uYW1lPg0KKyAgICA8dGV4dC8+DQorICAgIDxlbXB0eS8+DQorICA8L2F0dHJpYnV0ZT4NCis8L2VsZW1lbnQ+DQorPC9pbmNvcnJlY3Q+DQorPC90ZXN0Q2FzZT4NCis8L3Rlc3RTdWl0ZT4NCis8dGVzdFN1aXRlPg0KKzxkb2N1bWVudGF0aW9uPlRlc3RzIGZvciBmb3JlaWduIGVsZW1lbnQgYW5kIGF0dHJpYnV0ZSBoYW5kbGluZy48L2RvY3VtZW50YXRpb24+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjM8L3NlY3Rpb24+DQorPGluY29ycmVjdD4NCis8cjplbGVtZW50IG5hbWU9ImZvbyIgeG1sbnM6cj0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIHI6YT0idmFsIj4NCisgIDxyOmVtcHR5Lz4NCis8L3I6ZWxlbWVudD4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj4zPC9zZWN0aW9uPg0KKzxpbmNvcnJlY3Q+DQorPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxuYW1lPmZvbzxlZzpjb21tZW50IHhtbG5zOmVnPSJodHRwOi8vd3d3LmV4YW1wbGUuY29tIi8+PC9uYW1lPg0KKyAgPGVtcHR5Lz4NCis8L2VsZW1lbnQ+DQorPC9pbmNvcnJlY3Q+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Mzwvc2VjdGlvbj4NCis8aW5jb3JyZWN0Pg0KKzxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZm9vIj4NCisgIDx2YWx1ZT5mb288ZWc6Y29tbWVudCB4bWxuczplZz0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSIvPjwvdmFsdWU+DQorPC9lbGVtZW50Pg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjM8L3NlY3Rpb24+DQorPGNvcnJlY3Q+DQorPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJmb28iPg0KKyAgPGRhdGEgdHlwZT0ic3RyaW5nIj48ZWc6Y29tbWVudCB4bWxuczplZz0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSIvPjwvZGF0YT4NCis8L2VsZW1lbnQ+DQorPC9jb3JyZWN0Pg0KKzx2YWxpZD4NCis8Zm9vPlg8L2Zvbz4NCis8L3ZhbGlkPg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjM8L3NlY3Rpb24+DQorPGNvcnJlY3Q+DQorPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJmb28iPg0KKyAgPGVtcHR5Pg0KKyAgICA8ZXh0IHhtbG5zPSJodHRwOi8vd3d3LmV4YW1wbGUuY29tIj4NCisgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiLz4NCisgICAgPC9leHQ+DQorICA8L2VtcHR5Pg0KKzwvZWxlbWVudD4NCis8L2NvcnJlY3Q+DQorPHZhbGlkPg0KKzxmb28vPg0KKzwvdmFsaWQ+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Mzwvc2VjdGlvbj4NCis8Y29ycmVjdD4NCis8Z3JhbW1hciB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIHhtbG5zOmVnPSJodHRwOi8vd3d3LmV4YW1wbGUuY29tIj4NCisgIDxlZzpjb21tZW50Lz4NCisgIDxlZzpjb21tZW50Lz4NCisgIDxzdGFydD4NCisgICAgPGVnOmNvbW1lbnQvPg0KKyAgICA8ZWxlbWVudD4NCisgICAgICA8ZWc6Y29tbWVudC8+DQorICAgICAgPGVnOmNvbW1lbnQvPg0KKyAgICAgIDxuYW1lPmZvbzwvbmFtZT4NCisgICAgICA8ZWc6Y29tbWVudC8+DQorICAgICAgPGRhdGEgdHlwZT0ic3RyaW5nIi8+DQorICAgICAgPGVnOmNvbW1lbnQvPg0KKyAgICAgIDxlbXB0eT4NCisgICAgICAgIDxlZzpjb21tZW50Lz4NCisgICAgICAgIDxlZzpjb21tZW50Lz4NCisgICAgICA8L2VtcHR5Pg0KKyAgICAgIDxlZzpjb21tZW50Lz4NCisgICAgICA8ZWc6Y29tbWVudC8+DQorICAgIDwvZWxlbWVudD4NCisgICAgPGVnOmNvbW1lbnQvPg0KKyAgPC9zdGFydD4NCisgIDxlZzpjb21tZW50Lz4NCis8L2dyYW1tYXI+DQorPC9jb3JyZWN0Pg0KKzx2YWxpZD4NCis8Zm9vPlg8L2Zvbz4NCis8L3ZhbGlkPg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjM8L3NlY3Rpb24+DQorPGNvcnJlY3Q+DQorPGdyYW1tYXIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiAgeG1sbnM6ZWc9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20iDQorICBlZzpjb21tZW50PSIiPg0KKyAgPHN0YXJ0IGVnOmNvbW1lbnQ9IiI+DQorICAgIDxlbGVtZW50IGVnOmNvbW1lbnQ9IiI+DQorICAgICAgPG5hbWUgZWc6Y29tbWVudD0iIj5mb288L25hbWU+DQorICAgICAgPGRhdGEgZWc6Y29tbWVudD0iIiB0eXBlPSJzdHJpbmciLz4NCisgICAgICA8ZW1wdHkgZWc6Y29tbWVudD0iIi8+DQorICAgIDwvZWxlbWVudD4NCisgIDwvc3RhcnQ+DQorPC9ncmFtbWFyPg0KKzwvY29ycmVjdD4NCis8dmFsaWQ+DQorPGZvbz5YPC9mb28+DQorPC92YWxpZD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj4zPC9zZWN0aW9uPg0KKzxjb3JyZWN0Pg0KKzxybmc6Z3JhbW1hciB4bWxuczpybmc9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiB4bWxucz0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSI+DQorICA8Y29tbWVudC8+DQorICA8Y29tbWVudC8+DQorICA8cm5nOnN0YXJ0Pg0KKyAgICA8Y29tbWVudC8+DQorICAgIDxybmc6ZWxlbWVudD4NCisgICAgICA8Y29tbWVudC8+DQorICAgICAgPGNvbW1lbnQvPg0KKyAgICAgIDxybmc6bmFtZT5mb288L3JuZzpuYW1lPg0KKyAgICAgIDxjb21tZW50Lz4NCisgICAgICA8cm5nOmRhdGEgdHlwZT0ic3RyaW5nIi8+DQorICAgICAgPGNvbW1lbnQvPg0KKyAgICA8L3JuZzplbGVtZW50Pg0KKyAgICA8Y29tbWVudC8+DQorICA8L3JuZzpzdGFydD4NCisgIDxjb21tZW50Lz4NCis8L3JuZzpncmFtbWFyPg0KKzwvY29ycmVjdD4NCis8dmFsaWQ+DQorPGZvbz5YPC9mb28+DQorPC92YWxpZD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj4zPC9zZWN0aW9uPg0KKzxjb3JyZWN0Pg0KKzxybmc6Z3JhbW1hciB4bWxuczpybmc9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxjb21tZW50Lz4NCisgIDxjb21tZW50Lz4NCisgIDxybmc6c3RhcnQ+DQorICAgIDxjb21tZW50Lz4NCisgICAgPHJuZzplbGVtZW50Pg0KKyAgICAgIDxjb21tZW50Lz4NCisgICAgICA8Y29tbWVudC8+DQorICAgICAgPHJuZzpuYW1lPmZvbzwvcm5nOm5hbWU+DQorICAgICAgPGNvbW1lbnQvPg0KKyAgICAgIDxybmc6ZGF0YSB0eXBlPSJzdHJpbmciLz4NCisgICAgICA8Y29tbWVudC8+DQorICAgIDwvcm5nOmVsZW1lbnQ+DQorICAgIDxjb21tZW50Lz4NCisgIDwvcm5nOnN0YXJ0Pg0KKyAgPGNvbW1lbnQvPg0KKzwvcm5nOmdyYW1tYXI+DQorPC9jb3JyZWN0Pg0KKzx2YWxpZD4NCis8Zm9vPlg8L2Zvbz4NCis8L3ZhbGlkPg0KKzwvdGVzdENhc2U+DQorPC90ZXN0U3VpdGU+DQorPC90ZXN0U3VpdGU+DQorPHRlc3RTdWl0ZT4NCis8c2VjdGlvbj40PC9zZWN0aW9uPg0KKzx0ZXN0U3VpdGU+DQorPHNlY3Rpb24+NC4yPC9zZWN0aW9uPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj40LjI8L3NlY3Rpb24+DQorPGNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0iJiN4QTsmI3hEOyYjeDIwOyYjeDk7Zm9vJiN4QTsmI3hEOyYjeDIwOyYjeDk7IiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPGF0dHJpYnV0ZSBuYW1lPSImI3hBOyYjeEQ7JiN4MjA7JiN4OTtiYXImI3hBOyYjeEQ7JiN4MjA7JiN4OTsiLz4NCis8L2VsZW1lbnQ+DQorPC9jb3JyZWN0Pg0KKzx2YWxpZD4NCis8Zm9vIGJhcj0iIi8+DQorPC92YWxpZD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj40LjI8L3NlY3Rpb24+DQorPGNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0iZm9vIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPHZhbHVlIHR5cGU9IiYjeEE7JiN4RDsmI3gyMDsmI3g5O3N0cmluZyYjeEE7JiN4RDsmI3gyMDsmI3g5OyI+YmFyPC92YWx1ZT4NCis8L2VsZW1lbnQ+DQorPC9jb3JyZWN0Pg0KKzx2YWxpZD4NCis8Zm9vPmJhcjwvZm9vPg0KKzwvdmFsaWQ+DQorPGludmFsaWQ+DQorPGZvbz5iYXIgPC9mb28+DQorPC9pbnZhbGlkPg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjQuMjwvc2VjdGlvbj4NCis8Y29ycmVjdD4NCis8ZWxlbWVudCBuYW1lPSJmb28iIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8ZGF0YSB0eXBlPSImI3hBOyYjeEQ7JiN4MjA7JiN4OTtzdHJpbmcmI3hBOyYjeEQ7JiN4MjA7JiN4OTsiLz4NCis8L2VsZW1lbnQ+DQorPC9jb3JyZWN0Pg0KKzx2YWxpZD4NCis8Zm9vPlg8L2Zvbz4NCis8L3ZhbGlkPg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjQuMjwvc2VjdGlvbj4NCis8Y29ycmVjdD4NCis8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPG5hbWU+JiN4QTsmI3hEOyYjeDIwOyYjeDk7Zm9vJiN4QTsmI3hEOyYjeDIwOyYjeDk7PC9uYW1lPg0KKyAgPGF0dHJpYnV0ZT48bmFtZT4mI3hBOyYjeEQ7JiN4MjA7JiN4OTtiYXImI3hBOyYjeEQ7JiN4MjA7JiN4OTs8L25hbWU+PC9hdHRyaWJ1dGU+DQorPC9lbGVtZW50Pg0KKzwvY29ycmVjdD4NCis8dmFsaWQ+DQorPGZvbyBiYXI9IiIvPg0KKzwvdmFsaWQ+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+NC4yPC9zZWN0aW9uPg0KKzxjb3JyZWN0Pg0KKzxncmFtbWFyIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8c3RhcnQgY29tYmluZT0iJiN4QTsmI3hEOyYjeDIwOyYjeDk7Y2hvaWNlJiN4QTsmI3hEOyYjeDIwOyYjeDk7Ij4NCisgICAgPHJlZiBuYW1lPSImI3hBOyYjeEQ7JiN4MjA7JiN4OTt4JiN4QTsmI3hEOyYjeDIwOyYjeDk7Ii8+DQorICA8L3N0YXJ0Pg0KKyAgPGRlZmluZSBuYW1lPSJ4Ij4NCisgICAgPHJlZiBuYW1lPSJ5Ii8+DQorICA8L2RlZmluZT4NCisgIDxkZWZpbmUgbmFtZT0iJiN4QTsmI3hEOyYjeDIwOyYjeDk7eSYjeEE7JiN4RDsmI3gyMDsmI3g5OyI+DQorICAgIDxncmFtbWFyPg0KKyAgICAgIDxzdGFydCBjb21iaW5lPSImI3hBOyYjeEQ7JiN4MjA7JiN4OTtpbnRlcmxlYXZlJiN4QTsmI3hEOyYjeDIwOyYjeDk7Ij4NCisgICAgICAgIDxwYXJlbnRSZWYgbmFtZT0iJiN4QTsmI3hEOyYjeDIwOyYjeDk7eiYjeEE7JiN4RDsmI3gyMDsmI3g5OyIvPg0KKyAgICAgIDwvc3RhcnQ+DQorICAgIDwvZ3JhbW1hcj4NCisgIDwvZGVmaW5lPg0KKyAgPGRlZmluZSBuYW1lPSJ6Ij4NCisgICAgPGVsZW1lbnQgbmFtZT0iZm9vIj4NCisgICAgICA8ZW1wdHkvPg0KKyAgICA8L2VsZW1lbnQ+DQorICA8L2RlZmluZT4NCis8L2dyYW1tYXI+DQorPC9jb3JyZWN0Pg0KKzx2YWxpZD4NCis8Zm9vLz4NCis8L3ZhbGlkPg0KKzwvdGVzdENhc2U+DQorPC90ZXN0U3VpdGU+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjQuNDwvc2VjdGlvbj4NCis8Y29ycmVjdD4NCis8ZWxlbWVudCBuYW1lPSJmb28iIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8dmFsdWUgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LmV4YW1wbGUuY29tL3RoaXMtZG9lcy1ub3QtZXhpc3QiPmJhcjwvdmFsdWU+DQorPC9lbGVtZW50Pg0KKzwvY29ycmVjdD4NCis8dmFsaWQ+DQorPGZvbz5iYXI8L2Zvbz4NCis8L3ZhbGlkPg0KKzx2YWxpZD4NCis8Zm9vPg0KKwliYXINCis8L2Zvbz4NCis8L3ZhbGlkPg0KKzx2YWxpZD4NCis8Zm9vPiBiYXIgPC9mb28+DQorPC92YWxpZD4NCis8aW52YWxpZD4NCis8Zm9vPmJhejwvZm9vPg0KKzwvaW52YWxpZD4NCis8aW52YWxpZD4NCis8Zm9vPmJhIHI8L2Zvbz4NCis8L2ludmFsaWQ+DQorPC90ZXN0Q2FzZT4NCis8dGVzdFN1aXRlPg0KKzxzZWN0aW9uPjQuNTwvc2VjdGlvbj4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+NC41PC9zZWN0aW9uPg0KKzxkaXIgbmFtZT0ic3ViIj4NCis8cmVzb3VyY2UgbmFtZT0ieCI+DQorPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJmb28iPg0KKyAgPGVtcHR5Lz4NCis8L2VsZW1lbnQ+DQorPC9yZXNvdXJjZT4NCis8L2Rpcj4NCis8Y29ycmVjdD4NCis8ZXh0ZXJuYWxSZWYgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIg0KKyAgICAgICAgICAgICB4bWw6YmFzZT0ic3ViL3kiIGhyZWY9IngiLz4NCis8L2NvcnJlY3Q+DQorPHZhbGlkPg0KKzxmb28vPg0KKzwvdmFsaWQ+DQorPGludmFsaWQ+DQorPGJhci8+DQorPC9pbnZhbGlkPg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjQuNTwvc2VjdGlvbj4NCis8cmVzb3VyY2UgbmFtZT0ieCI+DQorPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJiYXIiPg0KKyAgPGVtcHR5Lz4NCis8L2VsZW1lbnQ+DQorPC9yZXNvdXJjZT4NCis8ZGlyIG5hbWU9InN1YjEiPg0KKzxyZXNvdXJjZSBuYW1lPSJ4Ij4NCis8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImJhciI+DQorICA8ZW1wdHkvPg0KKzwvZWxlbWVudD4NCis8L3Jlc291cmNlPg0KKzxkaXIgbmFtZT0ic3ViMyI+DQorPHJlc291cmNlIG5hbWU9IngiPg0KKzxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZm9vIj4NCisgIDxlbXB0eS8+DQorPC9lbGVtZW50Pg0KKzwvcmVzb3VyY2U+DQorPC9kaXI+DQorPC9kaXI+DQorPGNvcnJlY3Q+DQorPGdyb3VwIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgeG1sOmJhc2U9InN1YjEvIj4NCisgIDxncm91cD4NCisgICAgPGdyb3VwIHhtbDpiYXNlPSJzdWIyIj4NCisgICAgICA8Z3JvdXA+DQorICAgICAgICAgPGdyb3VwIHhtbDpiYXNlPSJzdWIzL3kiPg0KKyAgICAgICAgICAgPGV4dGVybmFsUmVmIGhyZWY9IngiLz4NCisgICAgICAgICA8L2dyb3VwPg0KKyAgICAgIDwvZ3JvdXA+DQorICAgIDwvZ3JvdXA+DQorICA8L2dyb3VwPg0KKzwvZ3JvdXA+DQorPC9jb3JyZWN0Pg0KKzx2YWxpZD4NCis8Zm9vLz4NCis8L3ZhbGlkPg0KKzxpbnZhbGlkPg0KKzxiYXIvPg0KKzwvaW52YWxpZD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj40LjU8L3NlY3Rpb24+DQorPHJlc291cmNlIG5hbWU9IngiPg0KKzxlbGVtZW50IG5hbWU9ImZvbyIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxlbXB0eS8+DQorPC9lbGVtZW50Pg0KKzwvcmVzb3VyY2U+DQorPGluY29ycmVjdD4NCis8ZXh0ZXJuYWxSZWYgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBocmVmPSJ4I2ZvbyIvPg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPC90ZXN0U3VpdGU+DQorPHRlc3RTdWl0ZT4NCis8c2VjdGlvbj40LjY8L3NlY3Rpb24+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjQuNjwvc2VjdGlvbj4NCis8cmVzb3VyY2UgbmFtZT0ieCI+DQorPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJmb28iPg0KKyAgPGVtcHR5Lz4NCis8L2VsZW1lbnQ+DQorPC9yZXNvdXJjZT4NCis8Y29ycmVjdD4NCis8ZXh0ZXJuYWxSZWYgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBocmVmPSJ4Ii8+DQorPC9jb3JyZWN0Pg0KKzx2YWxpZD4NCis8Zm9vLz4NCis8L3ZhbGlkPg0KKzxpbnZhbGlkPg0KKzxiYXIvPg0KKzwvaW52YWxpZD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj40LjY8L3NlY3Rpb24+DQorPHJlc291cmNlIG5hbWU9IngiPg0KKzxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZm9vIj4NCisgIDxlbXB0eS8+DQorPC9lbGVtZW50Pg0KKzwvcmVzb3VyY2U+DQorPGNvcnJlY3Q+DQorPGV4dGVybmFsUmVmIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgaHJlZj0ieCIgbnM9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20iLz4NCis8L2NvcnJlY3Q+DQorPHZhbGlkPg0KKzxmb28geG1sbnM9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20iLz4NCis8L3ZhbGlkPg0KKzxpbnZhbGlkPg0KKzxmb28vPg0KKzwvaW52YWxpZD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj40LjY8L3NlY3Rpb24+DQorPHJlc291cmNlIG5hbWU9IngiPg0KKzxleHRlcm5hbFJlZiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIGhyZWY9IngiLz4NCis8L3Jlc291cmNlPg0KKzxpbmNvcnJlY3Q+DQorPGV4dGVybmFsUmVmIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgaHJlZj0ieCIvPg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjQuNjwvc2VjdGlvbj4NCis8cmVzb3VyY2UgbmFtZT0ieCI+DQorPHN0YXJ0IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8ZWxlbWVudCBuYW1lPSJmb28iPg0KKyAgICA8ZW1wdHkvPg0KKyAgPC9lbGVtZW50Pg0KKzwvc3RhcnQ+DQorPC9yZXNvdXJjZT4NCis8aW5jb3JyZWN0Pg0KKzxleHRlcm5hbFJlZiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIGhyZWY9IngiLz4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj40LjY8L3NlY3Rpb24+DQorPHJlc291cmNlIG5hbWU9IngiPg0KKzxleHRlcm5hbFJlZiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIGhyZWY9InkiLz4NCis8L3Jlc291cmNlPg0KKzxyZXNvdXJjZSBuYW1lPSJ5Ij4NCis8ZXh0ZXJuYWxSZWYgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBocmVmPSJ4Ii8+DQorPC9yZXNvdXJjZT4NCis8aW5jb3JyZWN0Pg0KKzxleHRlcm5hbFJlZiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIGhyZWY9IngiLz4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj40LjY8L3NlY3Rpb24+DQorPGRvY3VtZW50YXRpb24+U2FtZSB2YWx1ZSBvZiBocmVmIGJlZm9yZSByZXNvbHV0aW9uLCBidXQgbm90IGEgbG9vcC48L2RvY3VtZW50YXRpb24+DQorPGRpciBuYW1lPSJzdWIiPg0KKzxyZXNvdXJjZSBuYW1lPSJ4Ij4NCis8ZXh0ZXJuYWxSZWYgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBocmVmPSJzdWIveCIvPg0KKzwvcmVzb3VyY2U+DQorPGRpciBuYW1lPSJzdWIiPg0KKzxyZXNvdXJjZSBuYW1lPSJ4Ij4NCis8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImZvbyI+DQorICA8ZW1wdHkvPg0KKzwvZWxlbWVudD4NCis8L3Jlc291cmNlPg0KKzwvZGlyPg0KKzwvZGlyPg0KKzxjb3JyZWN0Pg0KKzxleHRlcm5hbFJlZiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIGhyZWY9InN1Yi94Ii8+DQorPC9jb3JyZWN0Pg0KKzx2YWxpZD4NCis8Zm9vLz4NCis8L3ZhbGlkPg0KKzxpbnZhbGlkPg0KKzxiYXIvPg0KKzwvaW52YWxpZD4NCis8L3Rlc3RDYXNlPg0KKzwvdGVzdFN1aXRlPg0KKzx0ZXN0U3VpdGU+DQorPHNlY3Rpb24+NC43PC9zZWN0aW9uPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj40Ljc8L3NlY3Rpb24+DQorPHJlc291cmNlIG5hbWU9IngiPg0KKzxncmFtbWFyIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8c3RhcnQ+DQorICAgIDxlbGVtZW50IG5hbWU9ImZvbyI+DQorICAgICAgPGVtcHR5Lz4NCisgICAgPC9lbGVtZW50Pg0KKyAgPC9zdGFydD4NCis8L2dyYW1tYXI+DQorPC9yZXNvdXJjZT4NCis8Y29ycmVjdD4NCis8Z3JhbW1hciB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPGluY2x1ZGUgaHJlZj0ieCIvPg0KKzwvZ3JhbW1hcj4NCis8L2NvcnJlY3Q+DQorPHZhbGlkPg0KKzxmb28vPg0KKzwvdmFsaWQ+DQorPGludmFsaWQ+DQorPGJhci8+DQorPC9pbnZhbGlkPg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjQuNzwvc2VjdGlvbj4NCis8cmVzb3VyY2UgbmFtZT0ieCI+DQorPGdyYW1tYXIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxzdGFydD4NCisgICAgPGVsZW1lbnQgbmFtZT0iZm9vIj4NCisgICAgICA8ZW1wdHkvPg0KKyAgICA8L2VsZW1lbnQ+DQorICA8L3N0YXJ0Pg0KKzwvZ3JhbW1hcj4NCis8L3Jlc291cmNlPg0KKzxjb3JyZWN0Pg0KKzxncmFtbWFyIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8aW5jbHVkZSBocmVmPSJ4IiBucz0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSIvPg0KKzwvZ3JhbW1hcj4NCis8L2NvcnJlY3Q+DQorPHZhbGlkPg0KKzxmb28geG1sbnM9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20iLz4NCis8L3ZhbGlkPg0KKzxpbnZhbGlkPg0KKzxmb28vPg0KKzwvaW52YWxpZD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj40Ljc8L3NlY3Rpb24+DQorPHJlc291cmNlIG5hbWU9IngiPg0KKzxncmFtbWFyIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8aW5jbHVkZSBocmVmPSJ5Ii8+DQorPC9ncmFtbWFyPg0KKzwvcmVzb3VyY2U+DQorPHJlc291cmNlIG5hbWU9InkiPg0KKzxncmFtbWFyIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8c3RhcnQ+DQorICAgIDxlbGVtZW50IG5hbWU9ImZvbyI+DQorICAgICAgPGVtcHR5Lz4NCisgICAgPC9lbGVtZW50Pg0KKyAgPC9zdGFydD4NCis8L2dyYW1tYXI+DQorPC9yZXNvdXJjZT4NCis8Y29ycmVjdD4NCis8Z3JhbW1hciB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPGluY2x1ZGUgaHJlZj0ieCIvPg0KKzwvZ3JhbW1hcj4NCis8L2NvcnJlY3Q+DQorPHZhbGlkPg0KKzxmb28vPg0KKzwvdmFsaWQ+DQorPGludmFsaWQ+DQorPGJhci8+DQorPC9pbnZhbGlkPg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjQuNzwvc2VjdGlvbj4NCis8cmVzb3VyY2UgbmFtZT0ieCI+DQorPGVsZW1lbnQgbmFtZT0iZm9vIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPGVtcHR5Lz4NCis8L2VsZW1lbnQ+DQorPC9yZXNvdXJjZT4NCis8aW5jb3JyZWN0Pg0KKzxncmFtbWFyIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8aW5jbHVkZSBocmVmPSJ4Ii8+DQorPC9ncmFtbWFyPg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjQuNzwvc2VjdGlvbj4NCis8cmVzb3VyY2UgbmFtZT0ieCI+DQorPGdyYW1tYXIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxpbmNsdWRlIGhyZWY9IngiLz4NCis8L2dyYW1tYXI+DQorPC9yZXNvdXJjZT4NCis8aW5jb3JyZWN0Pg0KKzxncmFtbWFyIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8aW5jbHVkZSBocmVmPSJ4Ii8+DQorPC9ncmFtbWFyPg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjQuNzwvc2VjdGlvbj4NCis8cmVzb3VyY2UgbmFtZT0ieCI+DQorPGdyYW1tYXIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxpbmNsdWRlIGhyZWY9InkiLz4NCis8L2dyYW1tYXI+DQorPC9yZXNvdXJjZT4NCis8cmVzb3VyY2UgbmFtZT0ieSI+DQorPGdyYW1tYXIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxpbmNsdWRlIGhyZWY9IngiLz4NCis8L2dyYW1tYXI+DQorPC9yZXNvdXJjZT4NCis8aW5jb3JyZWN0Pg0KKzxncmFtbWFyIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8aW5jbHVkZSBocmVmPSJ4Ii8+DQorPC9ncmFtbWFyPg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjQuNzwvc2VjdGlvbj4NCis8ZGlyIG5hbWU9InN1YiI+DQorPHJlc291cmNlIG5hbWU9IngiPg0KKzxncmFtbWFyIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8aW5jbHVkZSBocmVmPSJzdWIveCIvPg0KKzwvZ3JhbW1hcj4NCis8L3Jlc291cmNlPg0KKzxkaXIgbmFtZT0ic3ViIj4NCis8cmVzb3VyY2UgbmFtZT0ieCI+DQorPGdyYW1tYXIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxzdGFydD4NCisgICAgPGVsZW1lbnQgbmFtZT0iZm9vIj4NCisgICAgICA8ZW1wdHkvPg0KKyAgICA8L2VsZW1lbnQ+DQorICA8L3N0YXJ0Pg0KKzwvZ3JhbW1hcj4NCis8L3Jlc291cmNlPg0KKzwvZGlyPg0KKzwvZGlyPg0KKzxjb3JyZWN0Pg0KKzxncmFtbWFyIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8aW5jbHVkZSBocmVmPSJzdWIveCIvPg0KKzwvZ3JhbW1hcj4NCis8L2NvcnJlY3Q+DQorPHZhbGlkPg0KKzxmb28vPg0KKzwvdmFsaWQ+DQorPGludmFsaWQ+DQorPGJhci8+DQorPC9pbnZhbGlkPg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjQuNzwvc2VjdGlvbj4NCis8cmVzb3VyY2UgbmFtZT0ieCI+DQorPGdyYW1tYXIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxkZWZpbmUgbmFtZT0iZm9vIj4NCisgICAgPGVsZW1lbnQgbmFtZT0iZm9vIj4NCisgICAgICA8ZW1wdHkvPg0KKyAgICA8L2VsZW1lbnQ+DQorICA8L2RlZmluZT4NCis8L2dyYW1tYXI+DQorPC9yZXNvdXJjZT4NCis8aW5jb3JyZWN0Pg0KKzxncmFtbWFyIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8aW5jbHVkZSBocmVmPSJ4Ij4NCisgICAgPHN0YXJ0Pg0KKyAgICAgIDxyZWYgbmFtZT0iZm9vIi8+DQorICAgIDwvc3RhcnQ+DQorICA8L2luY2x1ZGU+DQorPC9ncmFtbWFyPg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjQuNzwvc2VjdGlvbj4NCis8cmVzb3VyY2UgbmFtZT0ieCI+DQorPGdyYW1tYXIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxkZWZpbmUgbmFtZT0iZm9vIj4NCisgICAgPGVsZW1lbnQgbmFtZT0iZm9vIj4NCisgICAgICA8ZW1wdHkvPg0KKyAgICA8L2VsZW1lbnQ+DQorICA8L2RlZmluZT4NCis8L2dyYW1tYXI+DQorPC9yZXNvdXJjZT4NCis8Y29ycmVjdD4NCis8Z3JhbW1hciB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPGluY2x1ZGUgaHJlZj0ieCIvPg0KKyAgPHN0YXJ0Pg0KKyAgICA8cmVmIG5hbWU9ImZvbyIvPg0KKyAgPC9zdGFydD4NCis8L2dyYW1tYXI+DQorPC9jb3JyZWN0Pg0KKzx2YWxpZD48Zm9vLz48L3ZhbGlkPg0KKzxpbnZhbGlkPjxiYXIvPjwvaW52YWxpZD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj40Ljc8L3NlY3Rpb24+DQorPHJlc291cmNlIG5hbWU9IngiPg0KKzxncmFtbWFyIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8c3RhcnQ+DQorICAgIDxyZWYgbmFtZT0iZm9vIi8+DQorICA8L3N0YXJ0Pg0KKzwvZ3JhbW1hcj4NCis8L3Jlc291cmNlPg0KKzxpbmNvcnJlY3Q+DQorPGdyYW1tYXIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxpbmNsdWRlIGhyZWY9IngiPg0KKyAgICA8ZGVmaW5lIG5hbWU9ImZvbyI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0iZm9vIj4NCisgICAgICAgIDxlbXB0eS8+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgICA8L2RlZmluZT4NCisgIDwvaW5jbHVkZT4NCis8L2dyYW1tYXI+DQorPC9pbmNvcnJlY3Q+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+NC43PC9zZWN0aW9uPg0KKzxyZXNvdXJjZSBuYW1lPSJ4Ij4NCis8Z3JhbW1hciB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPHN0YXJ0Pg0KKyAgICA8cmVmIG5hbWU9ImZvbyIvPg0KKyAgPC9zdGFydD4NCis8L2dyYW1tYXI+DQorPC9yZXNvdXJjZT4NCis8Y29ycmVjdD4NCis8Z3JhbW1hciB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPGluY2x1ZGUgaHJlZj0ieCIvPg0KKyAgPGRlZmluZSBuYW1lPSJmb28iPg0KKyAgICA8ZWxlbWVudCBuYW1lPSJmb28iPg0KKyAgICAgIDxlbXB0eS8+DQorICAgIDwvZWxlbWVudD4NCisgIDwvZGVmaW5lPg0KKzwvZ3JhbW1hcj4NCis8L2NvcnJlY3Q+DQorPHZhbGlkPjxmb28vPjwvdmFsaWQ+DQorPGludmFsaWQ+PGJhci8+PC9pbnZhbGlkPg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjQuNzwvc2VjdGlvbj4NCis8cmVzb3VyY2UgbmFtZT0ieCI+DQorPGdyYW1tYXIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxkZWZpbmUgbmFtZT0iZm9vIiBjb21iaW5lPSJjaG9pY2UiPg0KKyAgICA8ZWxlbWVudCBuYW1lPSJmb28zIj4NCisgICAgICA8ZW1wdHkvPg0KKyAgICA8L2VsZW1lbnQ+DQorICA8L2RlZmluZT4NCis8L2dyYW1tYXI+DQorPC9yZXNvdXJjZT4NCis8Y29ycmVjdD4NCis8Z3JhbW1hciB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPHN0YXJ0Pg0KKyAgICA8cmVmIG5hbWU9ImZvbyIvPg0KKyAgPC9zdGFydD4NCisgIDxpbmNsdWRlIGhyZWY9IngiPg0KKyAgICA8ZGVmaW5lIG5hbWU9ImZvbyIgY29tYmluZT0iY2hvaWNlIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJmb28xIj4NCisJPGVtcHR5Lz4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgIDwvZGVmaW5lPg0KKyAgPC9pbmNsdWRlPg0KKyAgPGRlZmluZSBuYW1lPSJmb28iPg0KKyAgICA8ZWxlbWVudCBuYW1lPSJmb28yIj4NCisgICAgICA8ZW1wdHkvPg0KKyAgICA8L2VsZW1lbnQ+DQorICA8L2RlZmluZT4NCis8L2dyYW1tYXI+DQorPC9jb3JyZWN0Pg0KKzx2YWxpZD48Zm9vMS8+PC92YWxpZD4NCis8dmFsaWQ+PGZvbzIvPjwvdmFsaWQ+DQorPGludmFsaWQ+PGZvbzMvPjwvaW52YWxpZD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj40Ljc8L3NlY3Rpb24+DQorPHJlc291cmNlIG5hbWU9ImxldmVsMS5ybmciPg0KKzxncmFtbWFyIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorPGluY2x1ZGUgaHJlZj0ibGV2ZWwyLnJuZyI+DQorICA8ZGVmaW5lIG5hbWU9ImZvbyI+DQorICAgIDxlbGVtZW50IG5hbWU9ImJhciI+DQorICAgICAgPGVtcHR5Lz4NCisgICAgPC9lbGVtZW50Pg0KKyAgPC9kZWZpbmU+DQorPC9pbmNsdWRlPg0KKzwvZ3JhbW1hcj4NCis8L3Jlc291cmNlPg0KKzxyZXNvdXJjZSBuYW1lPSJsZXZlbDIucm5nIj4NCis8Z3JhbW1hciB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPGRlZmluZSBuYW1lPSJiYXIiPg0KKyAgICA8ZWxlbWVudCBuYW1lPSJiYXIiPg0KKyAgICAgIDxlbXB0eS8+DQorICAgIDwvZWxlbWVudD4NCisgIDwvZGVmaW5lPg0KKzwvZ3JhbW1hcj4NCis8L3Jlc291cmNlPg0KKzxpbmNvcnJlY3Q+DQorPGdyYW1tYXIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCis8c3RhcnQ+DQorICA8cmVmIG5hbWU9ImZvbyIvPg0KKzwvc3RhcnQ+DQorPGluY2x1ZGUgaHJlZj0ibGV2ZWwxLnJuZyI+DQorICA8ZGVmaW5lIG5hbWU9ImZvbyI+DQorICAgIDxlbGVtZW50IG5hbWU9ImZvbyI+DQorICAgICAgPGVtcHR5Lz4NCisgICAgPC9lbGVtZW50Pg0KKyAgPC9kZWZpbmU+DQorPC9pbmNsdWRlPg0KKzwvZ3JhbW1hcj4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzwvdGVzdFN1aXRlPg0KKzx0ZXN0U3VpdGU+DQorPHNlY3Rpb24+NC44PC9zZWN0aW9uPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj40Ljg8L3NlY3Rpb24+DQorPGNvcnJlY3Q+DQorPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBucz0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSIgbmFtZT0iZm9vIj4NCisgIDxhdHRyaWJ1dGUgbmFtZT0iYmFyIiBucz0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSIvPg0KKzwvZWxlbWVudD4NCis8L2NvcnJlY3Q+DQorPHZhbGlkPg0KKzxlZzpmb28gZWc6YmFyPSJ4IiB4bWxuczplZz0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSIvPg0KKzwvdmFsaWQ+DQorPGludmFsaWQ+DQorPGVnOmZvbyB4bWxuczplZz0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSIgYmFyPSJ4Ii8+DQorPC9pbnZhbGlkPg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjQuODwvc2VjdGlvbj4NCis8Y29ycmVjdD4NCis8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5zPSJodHRwOi8vd3d3LmV4YW1wbGUuY29tIiBuYW1lPSJmb28iPg0KKyAgPGF0dHJpYnV0ZSBuYW1lPSJiYXIiLz4NCis8L2VsZW1lbnQ+DQorPC9jb3JyZWN0Pg0KKzxpbnZhbGlkPg0KKzxlZzpmb28geG1sbnM6ZWc9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20iIGVnOmJhcj0ieCIvPg0KKzwvaW52YWxpZD4NCis8dmFsaWQ+DQorPGVnOmZvbyB4bWxuczplZz0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSIgYmFyPSJ4Ii8+DQorPC92YWxpZD4NCis8L3Rlc3RDYXNlPg0KKzwvdGVzdFN1aXRlPg0KKzx0ZXN0U3VpdGU+DQorPHNlY3Rpb24+NC45PC9zZWN0aW9uPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj40Ljk8L3NlY3Rpb24+DQorPGNvcnJlY3Q+DQorPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBucz0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSIgbmFtZT0iZm9vIj4NCisgIDxhdHRyaWJ1dGU+DQorICAgIDxuYW1lPmJhcjwvbmFtZT4NCisgIDwvYXR0cmlidXRlPg0KKzwvZWxlbWVudD4NCis8L2NvcnJlY3Q+DQorPHZhbGlkPg0KKzxlZzpmb28geG1sbnM6ZWc9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20iIGVnOmJhcj0ieCIvPg0KKzwvdmFsaWQ+DQorPGludmFsaWQ+DQorPGVnOmZvbyB4bWxuczplZz0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSIgYmFyPSJ4Ii8+DQorPC9pbnZhbGlkPg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjQuNjwvc2VjdGlvbj4NCis8c2VjdGlvbj40Ljk8L3NlY3Rpb24+DQorPHJlc291cmNlIG5hbWU9IngiPg0KKzxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZm9vIj4NCisgIDxlbXB0eS8+DQorPC9lbGVtZW50Pg0KKzwvcmVzb3VyY2U+DQorPGNvcnJlY3Q+DQorPGdyb3VwIG5zPSJodHRwOi8vd3d3LmV4YW1wbGUuY29tIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiID4NCis8ZXh0ZXJuYWxSZWYgaHJlZj0ieCIvPg0KKzwvZ3JvdXA+DQorPC9jb3JyZWN0Pg0KKzx2YWxpZD4NCis8Zm9vIHhtbG5zPSJodHRwOi8vd3d3LmV4YW1wbGUuY29tIi8+DQorPC92YWxpZD4NCis8aW52YWxpZD4NCis8Zm9vLz4NCis8L2ludmFsaWQ+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPGNvcnJlY3Q+DQorPGdyb3VwIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8ZWxlbWVudCBucz0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSI+DQorICAgIDxuYW1lPmZvbzwvbmFtZT4NCisgICAgPGVtcHR5Lz4NCisgIDwvZWxlbWVudD4NCis8L2dyb3VwPg0KKzwvY29ycmVjdD4NCis8dmFsaWQ+PGZvbyB4bWxucz0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSIvPjwvdmFsaWQ+DQorPGludmFsaWQ+PGZvby8+PC9pbnZhbGlkPg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxjb3JyZWN0Pg0KKzxlbGVtZW50IG5zPSJodHRwOi8vd3d3LmV4YW1wbGUuY29tIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPG5hbWU+Zm9vPC9uYW1lPg0KKyAgPGVtcHR5Lz4NCis8L2VsZW1lbnQ+DQorPC9jb3JyZWN0Pg0KKzx2YWxpZD48Zm9vIHhtbG5zPSJodHRwOi8vd3d3LmV4YW1wbGUuY29tIi8+PC92YWxpZD4NCis8aW52YWxpZD48Zm9vLz48L2ludmFsaWQ+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPGNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0iZm9vIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPGF0dHJpYnV0ZSBucz0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSI+DQorICAgIDxuYW1lPmJhcjwvbmFtZT4NCisgICAgPHRleHQvPg0KKyAgPC9hdHRyaWJ1dGU+DQorPC9lbGVtZW50Pg0KKzwvY29ycmVjdD4NCis8dmFsaWQ+PGZvbyB4bWxuczp4PSJodHRwOi8vd3d3LmV4YW1wbGUuY29tIiB4OmJhcj0id2hhdGV2ZXIiLz48L3ZhbGlkPg0KKzxpbnZhbGlkPjxmb28gYmFyPSJ3aGF0ZXZlciIvPjwvaW52YWxpZD4NCis8L3Rlc3RDYXNlPg0KKzwvdGVzdFN1aXRlPg0KKzx0ZXN0U3VpdGU+DQorPHNlY3Rpb24+NC4xMDwvc2VjdGlvbj4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+NC4xMDwvc2VjdGlvbj4NCis8aW5jb3JyZWN0Pg0KKzxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZm9vOmJhciI+DQorICA8ZW1wdHkvPg0KKzwvZWxlbWVudD4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj40LjEwPC9zZWN0aW9uPg0KKzxjb3JyZWN0Pg0KKzxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZWc6Zm9vIiB4bWxuczplZz0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSI+DQorICA8ZW1wdHkvPg0KKzwvZWxlbWVudD4NCis8L2NvcnJlY3Q+DQorPHZhbGlkPg0KKzxmb28geG1sbnM9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20iLz4NCis8L3ZhbGlkPg0KKzxpbnZhbGlkPg0KKzxmb28geG1sbnM9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20vIi8+DQorPC9pbnZhbGlkPg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjQuMTA8L3NlY3Rpb24+DQorPGNvcnJlY3Q+DQorPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJmb28iIHhtbG5zOmVnPSJodHRwOi8vd3d3LmV4YW1wbGUuY29tIj4NCisgIDxhdHRyaWJ1dGUgbmFtZT0iZWc6YmFyIi8+DQorPC9lbGVtZW50Pg0KKzwvY29ycmVjdD4NCis8dmFsaWQ+DQorPGZvbyB4bWxuczpleD0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSIgZXg6YmFyPSJ4Ii8+DQorPC92YWxpZD4NCis8aW52YWxpZD4NCis8Zm9vIHhtbG5zOmV4PSJodHRwOi8vd3d3LmV4YW1wbGUuY29tLyIgZXg6YmFyPSJ4Ii8+DQorPC9pbnZhbGlkPg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjQuMTA8L3NlY3Rpb24+DQorPGNvcnJlY3Q+DQorPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJmb28iPg0KKyAgPGF0dHJpYnV0ZSBuYW1lPSJ4bWw6bGFuZyIvPg0KKzwvZWxlbWVudD4NCis8L2NvcnJlY3Q+DQorPHZhbGlkPg0KKzxmb28geG1sOmxhbmc9ImVuIi8+DQorPC92YWxpZD4NCis8aW52YWxpZD4NCis8Zm9vIGxhbmc9ImVuIi8+DQorPC9pbnZhbGlkPg0KKzwvdGVzdENhc2U+DQorPC90ZXN0U3VpdGU+DQorPHRlc3RTdWl0ZT4NCis8c2VjdGlvbj40LjExPC9zZWN0aW9uPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj40LjExPC9zZWN0aW9uPg0KKzxjb3JyZWN0Pg0KKzxncmFtbWFyIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8ZGl2IG5zPSJodHRwOi8vd3d3LmV4YW1wbGUuY29tIj4NCisgICAgPGRpdj4NCisgICAgICA8c3RhcnQ+DQorICAgICAgICA8cmVmIG5hbWU9ImZvbyIvPg0KKyAgICAgIDwvc3RhcnQ+DQorICAgIDwvZGl2Pg0KKyAgICA8ZGVmaW5lIG5hbWU9ImZvbyI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0iZm9vIj4NCisgICAgICAgIDxlbXB0eS8+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgICA8L2RlZmluZT4NCisgIDwvZGl2Pg0KKyAgPGRpdi8+DQorPC9ncmFtbWFyPg0KKzwvY29ycmVjdD4NCis8dmFsaWQ+DQorPGZvbyB4bWxucz0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSIvPg0KKzwvdmFsaWQ+DQorPGludmFsaWQ+DQorPGZvby8+DQorPC9pbnZhbGlkPg0KKzwvdGVzdENhc2U+DQorPC90ZXN0U3VpdGU+DQorPHRlc3RTdWl0ZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+NC4xMjwvc2VjdGlvbj4NCis8Y29ycmVjdD4NCis8Z3JhbW1hciB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKw0KKzxzdGFydD4NCisgIDxlbGVtZW50IG5hbWU9ImZvbyI+DQorICAgIDxyZWYgbmFtZT0iYmFycyIvPg0KKyAgPC9lbGVtZW50Pg0KKzwvc3RhcnQ+DQorDQorPGRlZmluZSBuYW1lPSJiYXJzIj4NCisgIDxlbGVtZW50IG5hbWU9ImJhciI+DQorICAgIDxlbXB0eS8+DQorICA8L2VsZW1lbnQ+DQorICA8ZWxlbWVudCBuYW1lPSJiYXIiPg0KKyAgICA8ZW1wdHkvPg0KKyAgPC9lbGVtZW50Pg0KKyAgPGVsZW1lbnQgbmFtZT0iYmFyIj4NCisgICAgPGVtcHR5Lz4NCisgIDwvZWxlbWVudD4NCis8L2RlZmluZT4NCisNCis8L2dyYW1tYXI+DQorPC9jb3JyZWN0Pg0KKzx2YWxpZD4NCis8Zm9vPjxiYXIvPjxiYXIvPjxiYXIvPjwvZm9vPg0KKzwvdmFsaWQ+DQorPGludmFsaWQ+DQorPGZvbz48YmFyLz48YmFyLz48YmFyLz48YmFyLz48YmFyLz48YmFyLz48L2Zvbz4NCis8L2ludmFsaWQ+DQorPGludmFsaWQ+DQorPGZvbz48YmFyLz48YmFyLz48L2Zvbz4NCis8L2ludmFsaWQ+DQorPGludmFsaWQ+DQorPGZvbz48YmFyLz48L2Zvbz4NCis8L2ludmFsaWQ+DQorPGludmFsaWQ+DQorPGZvbz48L2Zvbz4NCis8L2ludmFsaWQ+DQorPGludmFsaWQ+DQorPGZvbz5YPC9mb28+DQorPC9pbnZhbGlkPg0KKzxpbnZhbGlkPg0KKzxmb28+PGJhci8+WDxiYXIvPjxiYXIvPjwvZm9vPg0KKzwvaW52YWxpZD4NCis8aW52YWxpZD4NCis8Zm9vPjxiYXIvPjxiYXIvPjxiYXIvPjxiYXIvPjwvZm9vPg0KKzwvaW52YWxpZD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj40LjEyPC9zZWN0aW9uPg0KKzxjb3JyZWN0Pg0KKzxlbGVtZW50IG5hbWU9ImZvbyIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxvbmVPck1vcmU+DQorICAgIDxlbGVtZW50IG5hbWU9ImJhciI+DQorICAgICAgPGVtcHR5Lz4NCisgICAgPC9lbGVtZW50Pg0KKyAgICA8ZWxlbWVudCBuYW1lPSJiYXIiPg0KKyAgICAgIDxlbXB0eS8+DQorICAgIDwvZWxlbWVudD4NCisgICAgPGVsZW1lbnQgbmFtZT0iYmFyIj4NCisgICAgICA8ZW1wdHkvPg0KKyAgICA8L2VsZW1lbnQ+DQorICA8L29uZU9yTW9yZT4NCis8L2VsZW1lbnQ+DQorPC9jb3JyZWN0Pg0KKzx2YWxpZD4NCis8Zm9vPjxiYXIvPjxiYXIvPjxiYXIvPjwvZm9vPg0KKzwvdmFsaWQ+DQorPHZhbGlkPg0KKzxmb28+PGJhci8+PGJhci8+PGJhci8+PGJhci8+PGJhci8+PGJhci8+PC9mb28+DQorPC92YWxpZD4NCis8aW52YWxpZD4NCis8Zm9vPjxiYXIvPjxiYXIvPjwvZm9vPg0KKzwvaW52YWxpZD4NCis8aW52YWxpZD4NCis8Zm9vPjxiYXIvPjwvZm9vPg0KKzwvaW52YWxpZD4NCis8aW52YWxpZD4NCis8Zm9vPjwvZm9vPg0KKzwvaW52YWxpZD4NCis8aW52YWxpZD4NCis8Zm9vPlg8L2Zvbz4NCis8L2ludmFsaWQ+DQorPGludmFsaWQ+DQorPGZvbz48YmFyLz5YPGJhci8+PGJhci8+PC9mb28+DQorPC9pbnZhbGlkPg0KKzxpbnZhbGlkPg0KKzxmb28+PGJhci8+PGJhci8+PGJhci8+PGJhci8+PC9mb28+DQorPC9pbnZhbGlkPg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjQuMTI8L3NlY3Rpb24+DQorPHNlY3Rpb24+NC4xNTwvc2VjdGlvbj4NCis8Y29ycmVjdD4NCis8ZWxlbWVudCBuYW1lPSJmb28iIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8emVyb09yTW9yZT4NCisgICAgPGVsZW1lbnQgbmFtZT0iYmFyIj4NCisgICAgICA8ZW1wdHkvPg0KKyAgICA8L2VsZW1lbnQ+DQorICAgIDxlbGVtZW50IG5hbWU9ImJhciI+DQorICAgICAgPGVtcHR5Lz4NCisgICAgPC9lbGVtZW50Pg0KKyAgICA8ZWxlbWVudCBuYW1lPSJiYXIiPg0KKyAgICAgIDxlbXB0eS8+DQorICAgIDwvZWxlbWVudD4NCisgIDwvemVyb09yTW9yZT4NCis8L2VsZW1lbnQ+DQorPC9jb3JyZWN0Pg0KKzx2YWxpZD4NCis8Zm9vPjxiYXIvPjxiYXIvPjxiYXIvPjwvZm9vPg0KKzwvdmFsaWQ+DQorPHZhbGlkPg0KKzxmb28+PGJhci8+PGJhci8+PGJhci8+PGJhci8+PGJhci8+PGJhci8+PC9mb28+DQorPC92YWxpZD4NCis8aW52YWxpZD4NCis8Zm9vPjxiYXIvPjxiYXIvPjwvZm9vPg0KKzwvaW52YWxpZD4NCis8aW52YWxpZD4NCis8Zm9vPjxiYXIvPjwvZm9vPg0KKzwvaW52YWxpZD4NCis8dmFsaWQ+DQorPGZvbz48L2Zvbz4NCis8L3ZhbGlkPg0KKzxpbnZhbGlkPg0KKzxmb28+WDwvZm9vPg0KKzwvaW52YWxpZD4NCis8aW52YWxpZD4NCis8Zm9vPjxiYXIvPlg8YmFyLz48YmFyLz48L2Zvbz4NCis8L2ludmFsaWQ+DQorPGludmFsaWQ+DQorPGZvbz48YmFyLz48YmFyLz48YmFyLz48YmFyLz48L2Zvbz4NCis8L2ludmFsaWQ+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+NC4xMjwvc2VjdGlvbj4NCis8c2VjdGlvbj40LjE0PC9zZWN0aW9uPg0KKzxjb3JyZWN0Pg0KKzxlbGVtZW50IG5hbWU9ImZvbyIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxvcHRpb25hbD4NCisgICAgPGVsZW1lbnQgbmFtZT0iYmFyIj4NCisgICAgICA8ZW1wdHkvPg0KKyAgICA8L2VsZW1lbnQ+DQorICAgIDxlbGVtZW50IG5hbWU9ImJhciI+DQorICAgICAgPGVtcHR5Lz4NCisgICAgPC9lbGVtZW50Pg0KKyAgICA8ZWxlbWVudCBuYW1lPSJiYXIiPg0KKyAgICAgIDxlbXB0eS8+DQorICAgIDwvZWxlbWVudD4NCisgIDwvb3B0aW9uYWw+DQorPC9lbGVtZW50Pg0KKzwvY29ycmVjdD4NCis8dmFsaWQ+DQorPGZvbz48YmFyLz48YmFyLz48YmFyLz48L2Zvbz4NCis8L3ZhbGlkPg0KKzxpbnZhbGlkPg0KKzxmb28+PGJhci8+PGJhci8+PGJhci8+PGJhci8+PGJhci8+PGJhci8+PC9mb28+DQorPC9pbnZhbGlkPg0KKzxpbnZhbGlkPg0KKzxmb28+PGJhci8+PGJhci8+PC9mb28+DQorPC9pbnZhbGlkPg0KKzxpbnZhbGlkPg0KKzxmb28+PGJhci8+PC9mb28+DQorPC9pbnZhbGlkPg0KKzx2YWxpZD4NCis8Zm9vPjwvZm9vPg0KKzwvdmFsaWQ+DQorPGludmFsaWQ+DQorPGZvbz5YPC9mb28+DQorPC9pbnZhbGlkPg0KKzxpbnZhbGlkPg0KKzxmb28+PGJhci8+WDxiYXIvPjxiYXIvPjwvZm9vPg0KKzwvaW52YWxpZD4NCis8aW52YWxpZD4NCis8Zm9vPjxiYXIvPjxiYXIvPjxiYXIvPjxiYXIvPjwvZm9vPg0KKzwvaW52YWxpZD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj40LjEyPC9zZWN0aW9uPg0KKzxjb3JyZWN0Pg0KKzxlbGVtZW50IG5hbWU9ImZvbyIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxsaXN0Pg0KKyAgICA8dmFsdWU+eDwvdmFsdWU+DQorICAgIDx2YWx1ZT55PC92YWx1ZT4NCisgICAgPHZhbHVlPno8L3ZhbHVlPg0KKyAgPC9saXN0Pg0KKzwvZWxlbWVudD4NCis8L2NvcnJlY3Q+DQorPHZhbGlkPg0KKzxmb28+eCB5IHo8L2Zvbz4NCis8L3ZhbGlkPg0KKzxpbnZhbGlkPg0KKzxmb28+eDwvZm9vPg0KKzwvaW52YWxpZD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj40LjEyPC9zZWN0aW9uPg0KKzxzZWN0aW9uPjQuMTM8L3NlY3Rpb24+DQorPGNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0iZm9vIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPG1peGVkPg0KKyAgICA8ZWxlbWVudCBuYW1lPSJiYXIiPg0KKyAgICAgIDxlbXB0eS8+DQorICAgIDwvZWxlbWVudD4NCisgICAgPGVsZW1lbnQgbmFtZT0iYmFyIj4NCisgICAgICA8ZW1wdHkvPg0KKyAgICA8L2VsZW1lbnQ+DQorICAgIDxlbGVtZW50IG5hbWU9ImJhciI+DQorICAgICAgPGVtcHR5Lz4NCisgICAgPC9lbGVtZW50Pg0KKyAgPC9taXhlZD4NCis8L2VsZW1lbnQ+DQorPC9jb3JyZWN0Pg0KKzx2YWxpZD4NCis8Zm9vPjxiYXIvPjxiYXIvPjxiYXIvPjwvZm9vPg0KKzwvdmFsaWQ+DQorPGludmFsaWQ+DQorPGZvbz48YmFyLz48YmFyLz48YmFyLz48YmFyLz48YmFyLz48YmFyLz48L2Zvbz4NCis8L2ludmFsaWQ+DQorPGludmFsaWQ+DQorPGZvbz48YmFyLz48YmFyLz48L2Zvbz4NCis8L2ludmFsaWQ+DQorPGludmFsaWQ+DQorPGZvbz48YmFyLz48L2Zvbz4NCis8L2ludmFsaWQ+DQorPGludmFsaWQ+DQorPGZvbz48L2Zvbz4NCis8L2ludmFsaWQ+DQorPHZhbGlkPg0KKzxmb28+PGJhci8+WDxiYXIvPjxiYXIvPjwvZm9vPg0KKzwvdmFsaWQ+DQorPGludmFsaWQ+DQorPGZvbz5YPC9mb28+DQorPC9pbnZhbGlkPg0KKzxpbnZhbGlkPg0KKzxmb28+PGJhci8+PGJhci8+PGJhci8+PGJhci8+PC9mb28+DQorPC9pbnZhbGlkPg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjQuMTI8L3NlY3Rpb24+DQorPGNvcnJlY3Q+DQorPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxuYW1lPmZvbzwvbmFtZT4NCisgIDxlbGVtZW50IG5hbWU9ImJhciI+DQorICAgIDxlbXB0eS8+DQorICA8L2VsZW1lbnQ+DQorICA8ZWxlbWVudCBuYW1lPSJiYXIiPg0KKyAgICA8ZW1wdHkvPg0KKyAgPC9lbGVtZW50Pg0KKyAgPGVsZW1lbnQgbmFtZT0iYmFyIj4NCisgICAgPGVtcHR5Lz4NCisgIDwvZWxlbWVudD4NCis8L2VsZW1lbnQ+DQorPC9jb3JyZWN0Pg0KKzx2YWxpZD4NCis8Zm9vPjxiYXIvPjxiYXIvPjxiYXIvPjwvZm9vPg0KKzwvdmFsaWQ+DQorPGludmFsaWQ+DQorPGZvbz48YmFyLz48YmFyLz48YmFyLz48YmFyLz48YmFyLz48YmFyLz48L2Zvbz4NCis8L2ludmFsaWQ+DQorPGludmFsaWQ+DQorPGZvbz48YmFyLz48YmFyLz48L2Zvbz4NCis8L2ludmFsaWQ+DQorPGludmFsaWQ+DQorPGZvbz48YmFyLz48L2Zvbz4NCis8L2ludmFsaWQ+DQorPGludmFsaWQ+DQorPGZvbz48L2Zvbz4NCis8L2ludmFsaWQ+DQorPGludmFsaWQ+DQorPGZvbz5YPC9mb28+DQorPC9pbnZhbGlkPg0KKzxpbnZhbGlkPg0KKzxmb28+PGJhci8+WDxiYXIvPjxiYXIvPjwvZm9vPg0KKzwvaW52YWxpZD4NCis8aW52YWxpZD4NCis8Zm9vPjxiYXIvPjxiYXIvPjxiYXIvPjxiYXIvPjwvZm9vPg0KKzwvaW52YWxpZD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj40LjEyPC9zZWN0aW9uPg0KKzxjb3JyZWN0Pg0KKzxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8YW55TmFtZT4NCisgICAgPGV4Y2VwdD4NCisgICAgICA8bmFtZT5mb288L25hbWU+DQorICAgICAgPG5hbWU+YmFyPC9uYW1lPg0KKyAgICAgIDxuYW1lPmJhejwvbmFtZT4NCisgICAgPC9leGNlcHQ+DQorICA8L2FueU5hbWU+DQorICA8ZW1wdHkvPg0KKzwvZWxlbWVudD4NCis8L2NvcnJlY3Q+DQorPHZhbGlkPjx4eXp6eS8+PC92YWxpZD4NCis8aW52YWxpZD48Zm9vLz48L2ludmFsaWQ+DQorPGludmFsaWQ+PGJhci8+PC9pbnZhbGlkPg0KKzxpbnZhbGlkPjxiYXovPjwvaW52YWxpZD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj40LjEyPC9zZWN0aW9uPg0KKzxjb3JyZWN0Pg0KKzxlbGVtZW50IG5hbWU9ImZvbyIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxkYXRhIHR5cGU9InRva2VuIj4NCisgICAgPGV4Y2VwdD4NCisgICAgICA8dmFsdWU+eDwvdmFsdWU+DQorICAgICAgPHZhbHVlPnk8L3ZhbHVlPg0KKyAgICAgIDx2YWx1ZT56PC92YWx1ZT4NCisgICAgPC9leGNlcHQ+DQorICA8L2RhdGE+DQorPC9lbGVtZW50Pg0KKzwvY29ycmVjdD4NCis8dmFsaWQ+PGZvby8+PC92YWxpZD4NCis8dmFsaWQ+PGZvbz54eXo8L2Zvbz48L3ZhbGlkPg0KKzxpbnZhbGlkPjxmb28+eDwvZm9vPjwvaW52YWxpZD4NCis8aW52YWxpZD48Zm9vPnk8L2Zvbz48L2ludmFsaWQ+DQorPGludmFsaWQ+PGZvbz55PC9mb28+PC9pbnZhbGlkPg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjQuMTI8L3NlY3Rpb24+DQorPGNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0iZm9vIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPGF0dHJpYnV0ZSBuYW1lPSJiYXIiLz4NCis8L2VsZW1lbnQ+DQorPC9jb3JyZWN0Pg0KKzx2YWxpZD4NCis8Zm9vIGJhcj0iIi8+DQorPC92YWxpZD4NCis8dmFsaWQ+DQorPGZvbyBiYXI9IngiLz4NCis8L3ZhbGlkPg0KKzxpbnZhbGlkPg0KKzxmb28vPg0KKzwvaW52YWxpZD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj40LjEyPC9zZWN0aW9uPg0KKzxjb3JyZWN0Pg0KKzxlbGVtZW50IG5hbWU9ImZvbyIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxhdHRyaWJ1dGU+DQorICAgIDxuYW1lPmJhcjwvbmFtZT4NCisgIDwvYXR0cmlidXRlPg0KKzwvZWxlbWVudD4NCis8L2NvcnJlY3Q+DQorPHZhbGlkPg0KKzxmb28gYmFyPSIiLz4NCis8L3ZhbGlkPg0KKzx2YWxpZD4NCis8Zm9vIGJhcj0ieCIvPg0KKzwvdmFsaWQ+DQorPGludmFsaWQ+DQorPGZvby8+DQorPC9pbnZhbGlkPg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjQuMTI8L3NlY3Rpb24+DQorPGNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0iZm9vIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPGdyb3VwPg0KKyAgICA8ZWxlbWVudCBuYW1lPSJiYXIiPg0KKyAgICAgIDxlbXB0eS8+DQorICAgIDwvZWxlbWVudD4NCisgICAgPGVsZW1lbnQgbmFtZT0iYmFyIj4NCisgICAgICA8ZW1wdHkvPg0KKyAgICA8L2VsZW1lbnQ+DQorICAgIDxlbGVtZW50IG5hbWU9ImJhciI+DQorICAgICAgPGVtcHR5Lz4NCisgICAgPC9lbGVtZW50Pg0KKyAgPC9ncm91cD4NCis8L2VsZW1lbnQ+DQorPC9jb3JyZWN0Pg0KKzx2YWxpZD4NCis8Zm9vPjxiYXIvPjxiYXIvPjxiYXIvPjwvZm9vPg0KKzwvdmFsaWQ+DQorPGludmFsaWQ+DQorPGZvbz48YmFyLz48YmFyLz48YmFyLz48YmFyLz48YmFyLz48YmFyLz48L2Zvbz4NCis8L2ludmFsaWQ+DQorPGludmFsaWQ+DQorPGZvbz48YmFyLz48YmFyLz48L2Zvbz4NCis8L2ludmFsaWQ+DQorPGludmFsaWQ+DQorPGZvbz48YmFyLz48L2Zvbz4NCis8L2ludmFsaWQ+DQorPGludmFsaWQ+DQorPGZvbz48L2Zvbz4NCis8L2ludmFsaWQ+DQorPGludmFsaWQ+DQorPGZvbz5YPC9mb28+DQorPC9pbnZhbGlkPg0KKzxpbnZhbGlkPg0KKzxmb28+PGJhci8+WDxiYXIvPjxiYXIvPjwvZm9vPg0KKzwvaW52YWxpZD4NCis8aW52YWxpZD4NCis8Zm9vPjxiYXIvPjxiYXIvPjxiYXIvPjxiYXIvPjwvZm9vPg0KKzwvaW52YWxpZD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj40LjEyPC9zZWN0aW9uPg0KKzxjb3JyZWN0Pg0KKzxlbGVtZW50IG5hbWU9ImZvbyIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxjaG9pY2U+DQorICAgIDxlbGVtZW50IG5hbWU9ImJhcjEiPg0KKyAgICAgIDxlbXB0eS8+DQorICAgIDwvZWxlbWVudD4NCisgICAgPGVsZW1lbnQgbmFtZT0iYmFyMiI+DQorICAgICAgPGVtcHR5Lz4NCisgICAgPC9lbGVtZW50Pg0KKyAgICA8ZWxlbWVudCBuYW1lPSJiYXIzIj4NCisgICAgICA8ZW1wdHkvPg0KKyAgICA8L2VsZW1lbnQ+DQorICA8L2Nob2ljZT4NCis8L2VsZW1lbnQ+DQorPC9jb3JyZWN0Pg0KKzx2YWxpZD48Zm9vPjxiYXIxLz48L2Zvbz48L3ZhbGlkPg0KKzx2YWxpZD48Zm9vPjxiYXIyLz48L2Zvbz48L3ZhbGlkPg0KKzx2YWxpZD48Zm9vPjxiYXIzLz48L2Zvbz48L3ZhbGlkPg0KKzxpbnZhbGlkPjxmb28vPjwvaW52YWxpZD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj40LjEyPC9zZWN0aW9uPg0KKzxjb3JyZWN0Pg0KKzxlbGVtZW50IG5hbWU9ImZvbyIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxpbnRlcmxlYXZlPg0KKyAgICA8ZWxlbWVudCBuYW1lPSJiYXIxIj4NCisgICAgICA8ZW1wdHkvPg0KKyAgICA8L2VsZW1lbnQ+DQorICAgIDxlbGVtZW50IG5hbWU9ImJhcjIiPg0KKyAgICAgIDxlbXB0eS8+DQorICAgIDwvZWxlbWVudD4NCisgICAgPGVsZW1lbnQgbmFtZT0iYmFyMyI+DQorICAgICAgPGVtcHR5Lz4NCisgICAgPC9lbGVtZW50Pg0KKyAgPC9pbnRlcmxlYXZlPg0KKzwvZWxlbWVudD4NCis8L2NvcnJlY3Q+DQorPHZhbGlkPjxmb28+PGJhcjEvPjxiYXIyLz48YmFyMy8+PC9mb28+PC92YWxpZD4NCis8dmFsaWQ+PGZvbz48YmFyMS8+PGJhcjMvPjxiYXIyLz48L2Zvbz48L3ZhbGlkPg0KKzx2YWxpZD48Zm9vPjxiYXIyLz48YmFyMS8+PGJhcjMvPjwvZm9vPjwvdmFsaWQ+DQorPHZhbGlkPjxmb28+PGJhcjIvPjxiYXIzLz48YmFyMS8+PC9mb28+PC92YWxpZD4NCis8dmFsaWQ+PGZvbz48YmFyMy8+PGJhcjEvPjxiYXIyLz48L2Zvbz48L3ZhbGlkPg0KKzx2YWxpZD48Zm9vPjxiYXIzLz48YmFyMi8+PGJhcjEvPjwvZm9vPjwvdmFsaWQ+DQorPGludmFsaWQ+PGZvbz48YmFyMi8+PGJhcjEvPjwvZm9vPjwvaW52YWxpZD4NCis8aW52YWxpZD48Zm9vPjxiYXIxLz48YmFyMy8+PGJhcjIvPjxiYXIxLz48L2Zvbz48L2ludmFsaWQ+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+NC4xMjwvc2VjdGlvbj4NCis8Y29ycmVjdD4NCis8ZWxlbWVudCBuYW1lPSJmb28iIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8Z3JvdXA+DQorICAgIDxlbGVtZW50IG5hbWU9ImJhciI+DQorICAgICAgPGVtcHR5Lz4NCisgICAgPC9lbGVtZW50Pg0KKyAgPC9ncm91cD4NCis8L2VsZW1lbnQ+DQorPC9jb3JyZWN0Pg0KKzx2YWxpZD48Zm9vPjxiYXIvPjwvZm9vPjwvdmFsaWQ+DQorPGludmFsaWQ+PGZvby8+PC9pbnZhbGlkPg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjQuMTI8L3NlY3Rpb24+DQorPGNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0iZm9vIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPGludGVybGVhdmU+DQorICAgIDxlbGVtZW50IG5hbWU9ImJhciI+DQorICAgICAgPGVtcHR5Lz4NCisgICAgPC9lbGVtZW50Pg0KKyAgPC9pbnRlcmxlYXZlPg0KKzwvZWxlbWVudD4NCis8L2NvcnJlY3Q+DQorPHZhbGlkPjxmb28+PGJhci8+PC9mb28+PC92YWxpZD4NCis8aW52YWxpZD48Zm9vLz48L2ludmFsaWQ+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+NC4xMjwvc2VjdGlvbj4NCis8Y29ycmVjdD4NCis8ZWxlbWVudCBuYW1lPSJmb28iIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8Y2hvaWNlPg0KKyAgICA8ZWxlbWVudCBuYW1lPSJiYXIiPg0KKyAgICAgIDxlbXB0eS8+DQorICAgIDwvZWxlbWVudD4NCisgIDwvY2hvaWNlPg0KKzwvZWxlbWVudD4NCis8L2NvcnJlY3Q+DQorPHZhbGlkPjxmb28+PGJhci8+PC9mb28+PC92YWxpZD4NCis8aW52YWxpZD48Zm9vLz48L2ludmFsaWQ+DQorPC90ZXN0Q2FzZT4NCis8L3Rlc3RTdWl0ZT4NCis8dGVzdFN1aXRlPg0KKzxzZWN0aW9uPjQuMTM8L3NlY3Rpb24+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjQuMTM8L3NlY3Rpb24+DQorPGNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0iZm9vIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPG1peGVkPg0KKyAgICA8ZWxlbWVudCBuYW1lPSJiYXIiPg0KKyAgICAgIDxlbXB0eS8+DQorICAgIDwvZWxlbWVudD4NCisgIDwvbWl4ZWQ+DQorPC9lbGVtZW50Pg0KKzwvY29ycmVjdD4NCis8dmFsaWQ+PGZvbz54PGJhci8+PC9mb28+PC92YWxpZD4NCis8dmFsaWQ+PGZvbz48YmFyLz48L2Zvbz48L3ZhbGlkPg0KKzx2YWxpZD48Zm9vPjxiYXIvPng8L2Zvbz48L3ZhbGlkPg0KKzx2YWxpZD48Zm9vPng8YmFyLz55PC9mb28+PC92YWxpZD4NCis8aW52YWxpZD48Zm9vLz48L2ludmFsaWQ+DQorPGludmFsaWQ+PGZvbz48YmFyLz48YmFyLz48L2Zvbz48L2ludmFsaWQ+DQorPC90ZXN0Q2FzZT4NCis8L3Rlc3RTdWl0ZT4NCis8dGVzdFN1aXRlPg0KKzxzZWN0aW9uPjQuMTQ8L3NlY3Rpb24+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjQuMTQ8L3NlY3Rpb24+DQorPGNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0iZm9vIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPG9wdGlvbmFsPg0KKyAgICA8ZWxlbWVudCBuYW1lPSJiYXIiPg0KKyAgICAgIDxlbXB0eS8+DQorICAgIDwvZWxlbWVudD4NCisgIDwvb3B0aW9uYWw+DQorPC9lbGVtZW50Pg0KKzwvY29ycmVjdD4NCis8dmFsaWQ+PGZvbz48YmFyLz48L2Zvbz48L3ZhbGlkPg0KKzx2YWxpZD48Zm9vLz48L3ZhbGlkPg0KKzxpbnZhbGlkPjxmb28+eDxiYXIvPjwvZm9vPjwvaW52YWxpZD4NCis8aW52YWxpZD48Zm9vPjxiYXIvPjxiYXIvPjwvZm9vPjwvaW52YWxpZD4NCis8L3Rlc3RDYXNlPg0KKzwvdGVzdFN1aXRlPg0KKzx0ZXN0U3VpdGU+DQorPHNlY3Rpb24+NC4xNTwvc2VjdGlvbj4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+NC4xNTwvc2VjdGlvbj4NCis8Y29ycmVjdD4NCis8ZWxlbWVudCBuYW1lPSJmb28iIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8emVyb09yTW9yZT4NCisgICAgPGVsZW1lbnQgbmFtZT0iYmFyIj4NCisgICAgICA8ZW1wdHkvPg0KKyAgICA8L2VsZW1lbnQ+DQorICA8L3plcm9Pck1vcmU+DQorPC9lbGVtZW50Pg0KKzwvY29ycmVjdD4NCis8dmFsaWQ+PGZvbz48YmFyLz48L2Zvbz48L3ZhbGlkPg0KKzx2YWxpZD48Zm9vLz48L3ZhbGlkPg0KKzxpbnZhbGlkPjxmb28+eDxiYXIvPjwvZm9vPjwvaW52YWxpZD4NCis8aW52YWxpZD48Zm9vPjxiYXovPjwvZm9vPjwvaW52YWxpZD4NCis8dmFsaWQ+PGZvbz48YmFyLz48YmFyLz48L2Zvbz48L3ZhbGlkPg0KKzwvdGVzdENhc2U+DQorPC90ZXN0U3VpdGU+DQorPHRlc3RTdWl0ZT4NCis8c2VjdGlvbj40LjE2PC9zZWN0aW9uPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj40LjE2PC9zZWN0aW9uPg0KKzxpbmNvcnJlY3Q+DQorPGdyYW1tYXIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCis8c3RhcnQ+DQorICA8ZWxlbWVudD4NCisgICAgPGFueU5hbWU+DQorICAgICAgPGV4Y2VwdD4NCisgICAgICAgIDxhbnlOYW1lLz4NCisgICAgICA8L2V4Y2VwdD4NCisgICAgPC9hbnlOYW1lPg0KKyAgICA8ZW1wdHkvPg0KKyAgPC9lbGVtZW50Pg0KKzwvc3RhcnQ+DQorPC9ncmFtbWFyPg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjQuMTY8L3NlY3Rpb24+DQorPGluY29ycmVjdD4NCis8Z3JhbW1hciB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKzxzdGFydD4NCisgIDxlbGVtZW50Pg0KKyAgICA8YW55TmFtZT4NCisgICAgICA8ZXhjZXB0Pg0KKyAgICAgICAgPGNob2ljZT4NCisgICAgICAgICAgPGFueU5hbWUvPg0KKyAgICAgICAgICA8bmFtZT5mb288L25hbWU+DQorICAgICAgICA8L2Nob2ljZT4NCisgICAgICA8L2V4Y2VwdD4NCisgICAgPC9hbnlOYW1lPg0KKyAgICA8ZW1wdHkvPg0KKyAgPC9lbGVtZW50Pg0KKzwvc3RhcnQ+DQorPC9ncmFtbWFyPg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjQuMTY8L3NlY3Rpb24+DQorPGluY29ycmVjdD4NCis8Z3JhbW1hciB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKzxzdGFydD4NCisgIDxlbGVtZW50Pg0KKyAgICA8bnNOYW1lIG5zPSIiPg0KKyAgICAgIDxleGNlcHQ+DQorICAgICAgICA8bnNOYW1lIG5zPSIiLz4NCisgICAgICA8L2V4Y2VwdD4NCisgICAgPC9uc05hbWU+DQorICAgIDxlbXB0eS8+DQorICA8L2VsZW1lbnQ+DQorPC9zdGFydD4NCis8L2dyYW1tYXI+DQorPC9pbmNvcnJlY3Q+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+NC4xNjwvc2VjdGlvbj4NCis8aW5jb3JyZWN0Pg0KKzxncmFtbWFyIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorPHN0YXJ0Pg0KKyAgPGVsZW1lbnQ+DQorICAgIDxuc05hbWUgbnM9IiI+DQorICAgICAgPGV4Y2VwdD4NCisgICAgICAgIDxjaG9pY2U+DQorICAgICAgICAgIDxuc05hbWUgbnM9IiIvPg0KKyAgICAgICAgICA8bmFtZT5mb288L25hbWU+DQorICAgICAgICA8L2Nob2ljZT4NCisgICAgICA8L2V4Y2VwdD4NCisgICAgPC9uc05hbWU+DQorICAgIDxlbXB0eS8+DQorICA8L2VsZW1lbnQ+DQorPC9zdGFydD4NCis8L2dyYW1tYXI+DQorPC9pbmNvcnJlY3Q+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+NC4xNjwvc2VjdGlvbj4NCis8aW5jb3JyZWN0Pg0KKzxncmFtbWFyIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorPHN0YXJ0Pg0KKyAgPGVsZW1lbnQ+DQorICAgIDxuc05hbWUgbnM9IiI+DQorICAgICAgPGV4Y2VwdD4NCisgICAgICAgIDxhbnlOYW1lLz4NCisgICAgICA8L2V4Y2VwdD4NCisgICAgPC9uc05hbWU+DQorICAgIDxlbXB0eS8+DQorICA8L2VsZW1lbnQ+DQorPC9zdGFydD4NCis8L2dyYW1tYXI+DQorPC9pbmNvcnJlY3Q+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+NC4xNjwvc2VjdGlvbj4NCis8aW5jb3JyZWN0Pg0KKzxncmFtbWFyIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorPHN0YXJ0Pg0KKyAgPGVsZW1lbnQ+DQorICAgIDxuc05hbWUgbnM9IiI+DQorICAgICAgPGV4Y2VwdD4NCisgICAgICAgIDxjaG9pY2U+DQorICAgICAgICAgIDxhbnlOYW1lLz4NCisgICAgICAgICAgPG5hbWU+Zm9vPC9uYW1lPg0KKyAgICAgICAgPC9jaG9pY2U+DQorICAgICAgPC9leGNlcHQ+DQorICAgIDwvbnNOYW1lPg0KKyAgICA8ZW1wdHkvPg0KKyAgPC9lbGVtZW50Pg0KKzwvc3RhcnQ+DQorPC9ncmFtbWFyPg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjQuMTY8L3NlY3Rpb24+DQorPGRvY3VtZW50YXRpb24+VGVzdHMgdGhhdCA0LjE2IGlzIGJlZm9yZSA0LjIwLjwvZG9jdW1lbnRhdGlvbj4NCis8aW5jb3JyZWN0Pg0KKzxncmFtbWFyIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorPHN0YXJ0Pg0KKyAgPGVsZW1lbnQgbmFtZT0iZm9vIj4NCisgICAgPHplcm9Pck1vcmU+DQorICAgICAgPGF0dHJpYnV0ZT4NCisJPGFueU5hbWU+DQorCSAgPGV4Y2VwdD4NCisJICAgIDxhbnlOYW1lLz4NCisJICA8L2V4Y2VwdD4NCisJPC9hbnlOYW1lPg0KKwk8dGV4dC8+DQorICAgICAgPC9hdHRyaWJ1dGU+DQorICAgICAgPG5vdEFsbG93ZWQvPg0KKyAgICA8L3plcm9Pck1vcmU+DQorICA8L2VsZW1lbnQ+DQorPC9zdGFydD4NCis8L2dyYW1tYXI+DQorPC9pbmNvcnJlY3Q+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+NC4xNjwvc2VjdGlvbj4NCis8ZG9jdW1lbnRhdGlvbj5UZXN0cyB0aGF0IDQuMTYgaXMgYmVmb3JlIHJlbW92YWwgb2YgdW5yZWFjaGFibGUgZGVmaW5pdGlvbnMuPC9kb2N1bWVudGF0aW9uPg0KKzxpbmNvcnJlY3Q+DQorPGdyYW1tYXIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCis8c3RhcnQ+DQorICA8ZWxlbWVudCBuYW1lPSJmb28iPg0KKyAgICA8ZW1wdHkvPg0KKyAgPC9lbGVtZW50Pg0KKzwvc3RhcnQ+DQorPGRlZmluZSBuYW1lPSJiYXIiPg0KKyAgPGVsZW1lbnQ+DQorICAgIDxhbnlOYW1lPg0KKyAgICAgIDxleGNlcHQ+DQorCTxhbnlOYW1lLz4NCisgICAgICA8L2V4Y2VwdD4NCisgICAgPC9hbnlOYW1lPg0KKyAgICA8ZW1wdHkvPg0KKyAgPC9lbGVtZW50Pg0KKzwvZGVmaW5lPg0KKzwvZ3JhbW1hcj4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj40LjE2PC9zZWN0aW9uPg0KKzxpbmNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0iZm9vIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPGF0dHJpYnV0ZSBuYW1lPSJ4bWxucyI+DQorICAgIDx0ZXh0Lz4NCisgIDwvYXR0cmlidXRlPg0KKzwvZWxlbWVudD4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj40LjE2PC9zZWN0aW9uPg0KKzxjb3JyZWN0Pg0KKzxlbGVtZW50IG5hbWU9InhtbG5zIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPGVtcHR5Lz4NCis8L2VsZW1lbnQ+DQorPC9jb3JyZWN0Pg0KKzx2YWxpZD48eG1sbnMvPjwvdmFsaWQ+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+NC4xNjwvc2VjdGlvbj4NCis8aW5jb3JyZWN0Pg0KKzxlbGVtZW50IG5hbWU9ImZvbyIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxhdHRyaWJ1dGUgbmFtZT0iIHhtbG5zIj4NCisgICAgPHRleHQvPg0KKyAgPC9hdHRyaWJ1dGU+DQorPC9lbGVtZW50Pg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjQuMTY8L3NlY3Rpb24+DQorPGluY29ycmVjdD4NCis8ZWxlbWVudCBuYW1lPSJmb28iIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8b3B0aW9uYWw+DQorICAgIDxub3RBbGxvd2VkLz4NCisgICAgPGF0dHJpYnV0ZSBuYW1lPSJ4bWxucyI+DQorICAgICAgPHRleHQvPg0KKyAgICA8L2F0dHJpYnV0ZT4NCisgIDwvb3B0aW9uYWw+DQorPC9lbGVtZW50Pg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjQuMTY8L3NlY3Rpb24+DQorPGluY29ycmVjdD4NCis8Z3JhbW1hciB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPHN0YXJ0Pg0KKyAgICA8ZWxlbWVudCBuYW1lPSJmb28iPg0KKyAgICAgIDxlbXB0eS8+DQorICAgIDwvZWxlbWVudD4NCisgIDwvc3RhcnQ+DQorICA8ZGVmaW5lIG5hbWU9ImZvbyI+DQorICAgIDxhdHRyaWJ1dGUgbmFtZT0ieG1sbnMiPg0KKyAgICAgIDx0ZXh0Lz4NCisgICAgPC9hdHRyaWJ1dGU+DQorICA8L2RlZmluZT4NCis8L2dyYW1tYXI+DQorPC9pbmNvcnJlY3Q+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+NC4xNjwvc2VjdGlvbj4NCis8aW5jb3JyZWN0Pg0KKzxlbGVtZW50IG5hbWU9ImZvbyIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxhdHRyaWJ1dGUgbmFtZT0ieG1sbnMiIG5zPSIiPg0KKyAgICA8dGV4dC8+DQorICA8L2F0dHJpYnV0ZT4NCis8L2VsZW1lbnQ+DQorPC9pbmNvcnJlY3Q+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+NC4xNjwvc2VjdGlvbj4NCis8aW5jb3JyZWN0Pg0KKzxlbGVtZW50IG5hbWU9ImZvbyIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxhdHRyaWJ1dGU+DQorICAgIDxjaG9pY2U+DQorICAgICAgPG5hbWUgbnM9IiI+eG1sbnM8L25hbWU+DQorICAgICAgPG5hbWU+Zm9vPC9uYW1lPg0KKyAgICA8L2Nob2ljZT4NCisgICAgPHRleHQvPg0KKyAgPC9hdHRyaWJ1dGU+DQorPC9lbGVtZW50Pg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjQuMTY8L3NlY3Rpb24+DQorPGluY29ycmVjdD4NCis8ZWxlbWVudCBuYW1lPSJmb28iIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8YXR0cmlidXRlPg0KKyAgICA8bmFtZSBucz0iIj54bWxuczwvbmFtZT4NCisgICAgPHRleHQvPg0KKyAgPC9hdHRyaWJ1dGU+DQorPC9lbGVtZW50Pg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjQuMTY8L3NlY3Rpb24+DQorPGluY29ycmVjdD4NCis8ZWxlbWVudCBuYW1lPSJmb28iIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8YXR0cmlidXRlPg0KKyAgICA8bmFtZT54bWxuczwvbmFtZT4NCisgICAgPHRleHQvPg0KKyAgPC9hdHRyaWJ1dGU+DQorPC9lbGVtZW50Pg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjQuMTY8L3NlY3Rpb24+DQorPGluY29ycmVjdD4NCis8ZWxlbWVudCBuYW1lPSJmb28iIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8YXR0cmlidXRlPg0KKyAgICA8bmFtZT4NCisgICAgICB4bWxucw0KKyAgICA8L25hbWU+DQorICAgIDx0ZXh0Lz4NCisgIDwvYXR0cmlidXRlPg0KKzwvZWxlbWVudD4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj40LjE2PC9zZWN0aW9uPg0KKzxpbmNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0iZm9vIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPGF0dHJpYnV0ZT4NCisgICAgPGNob2ljZT4NCisgICAgICA8bmFtZT5mb288L25hbWU+DQorICAgICAgPG5hbWUgbnM9IiI+eG1sbnM8L25hbWU+DQorICAgIDwvY2hvaWNlPg0KKyAgICA8dGV4dC8+DQorICA8L2F0dHJpYnV0ZT4NCis8L2VsZW1lbnQ+DQorPC9pbmNvcnJlY3Q+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+NC4xNjwvc2VjdGlvbj4NCis8aW5jb3JyZWN0Pg0KKzxlbGVtZW50IG5hbWU9ImZvbyIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxvbmVPck1vcmU+DQorICAgIDxhdHRyaWJ1dGU+DQorICAgICAgPGFueU5hbWU+DQorCTxleGNlcHQ+DQorCSAgPG5hbWU+eG1sbnM8L25hbWU+DQorCTwvZXhjZXB0Pg0KKyAgICAgIDwvYW55TmFtZT4NCisgICAgICA8dGV4dC8+DQorICAgIDwvYXR0cmlidXRlPg0KKyAgPC9vbmVPck1vcmU+DQorPC9lbGVtZW50Pg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjQuMTY8L3NlY3Rpb24+DQorPGluY29ycmVjdD4NCis8ZWxlbWVudCBuYW1lPSJmb28iIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8b25lT3JNb3JlPg0KKyAgICA8YXR0cmlidXRlPg0KKyAgICAgIDxuc05hbWUgbnM9IiI+DQorCTxleGNlcHQ+DQorCSAgPG5hbWU+eG1sbnM8L25hbWU+DQorCTwvZXhjZXB0Pg0KKyAgICAgIDwvbnNOYW1lPg0KKyAgICAgIDx0ZXh0Lz4NCisgICAgPC9hdHRyaWJ1dGU+DQorICA8L29uZU9yTW9yZT4NCis8L2VsZW1lbnQ+DQorPC9pbmNvcnJlY3Q+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+NC4xNjwvc2VjdGlvbj4NCis8aW5jb3JyZWN0Pg0KKzxlbGVtZW50IG5hbWU9ImZvbyIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxhdHRyaWJ1dGUgbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAveG1sbnMiIG5hbWU9ImJhciI+DQorICAgIDx0ZXh0Lz4NCisgIDwvYXR0cmlidXRlPg0KKzwvZWxlbWVudD4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj40LjE2PC9zZWN0aW9uPg0KKzxjb3JyZWN0Pg0KKzxlbGVtZW50IG5hbWU9ImZvbyIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC94bWxucyI+DQorICA8ZW1wdHkvPg0KKzwvZWxlbWVudD4NCis8L2NvcnJlY3Q+DQorPHZhbGlkPjxmb28geG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAveG1sbnMiLz48L3ZhbGlkPg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjQuMTY8L3NlY3Rpb24+DQorPGluY29ycmVjdD4NCis8ZWxlbWVudCBuYW1lPSJmb28iIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8ZGF0YSB0eXBlPSJ0b2tlbiI+DQorICAgIDxwYXJhbSBuYW1lPSJtaW5MZW5ndGgiPjI8L3BhcmFtPg0KKyAgPC9kYXRhPg0KKzwvZWxlbWVudD4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj40LjE2PC9zZWN0aW9uPg0KKzxpbmNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0iZm9vIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPGRhdGEgdHlwZT0idG9rIi8+DQorPC9lbGVtZW50Pg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjQuMTY8L3NlY3Rpb24+DQorPGluY29ycmVjdD4NCis8ZWxlbWVudCBuYW1lPSJmb28iIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8dmFsdWUgdHlwZT0idG9rIi8+DQorPC9lbGVtZW50Pg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjQuMTY8L3NlY3Rpb24+DQorPGluY29ycmVjdD4NCis8ZWxlbWVudCBuYW1lPSJmb28iIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8b3B0aW9uYWw+DQorICAgIDxub3RBbGxvd2VkLz4NCisgICAgPGRhdGEgdHlwZT0idG9rZW4iPg0KKyAgICAgIDxwYXJhbSBuYW1lPSJtaW5MZW5ndGgiPjI8L3BhcmFtPg0KKyAgICA8L2RhdGE+DQorICA8L29wdGlvbmFsPg0KKzwvZWxlbWVudD4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj40LjE2PC9zZWN0aW9uPg0KKzxpbmNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0iZm9vIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPG9wdGlvbmFsPg0KKyAgICA8bm90QWxsb3dlZC8+DQorICAgIDxkYXRhIHR5cGU9InRvayIvPg0KKyAgPC9vcHRpb25hbD4NCis8L2VsZW1lbnQ+DQorPC9pbmNvcnJlY3Q+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+NC4xNjwvc2VjdGlvbj4NCis8aW5jb3JyZWN0Pg0KKzxlbGVtZW50IG5hbWU9ImZvbyIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxvcHRpb25hbD4NCisgICAgPG5vdEFsbG93ZWQvPg0KKyAgICA8dmFsdWUgdHlwZT0idG9rIi8+DQorICA8L29wdGlvbmFsPg0KKzwvZWxlbWVudD4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj40LjE2PC9zZWN0aW9uPg0KKzxpbmNvcnJlY3Q+DQorPGdyYW1tYXIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCis8c3RhcnQ+DQorICA8ZWxlbWVudCBuYW1lPSJmb28iPg0KKyAgICA8ZW1wdHkvPg0KKyAgPC9lbGVtZW50Pg0KKzwvc3RhcnQ+DQorPGRlZmluZSBuYW1lPSJmb28iPg0KKyAgPGRhdGEgdHlwZT0idG9rZW4iPg0KKyAgICA8cGFyYW0gbmFtZT0ibWluTGVuZ3RoIj4yPC9wYXJhbT4NCisgIDwvZGF0YT4NCis8L2RlZmluZT4NCis8L2dyYW1tYXI+DQorPC9pbmNvcnJlY3Q+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+NC4xNjwvc2VjdGlvbj4NCis8aW5jb3JyZWN0Pg0KKzxncmFtbWFyIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorPHN0YXJ0Pg0KKyAgPGVsZW1lbnQgbmFtZT0iZm9vIj4NCisgICAgPGVtcHR5Lz4NCisgIDwvZWxlbWVudD4NCis8L3N0YXJ0Pg0KKzxkZWZpbmUgbmFtZT0iZm9vIj4NCisgIDxkYXRhIHR5cGU9InRvayIvPg0KKzwvZGVmaW5lPg0KKzwvZ3JhbW1hcj4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj40LjE2PC9zZWN0aW9uPg0KKzxpbmNvcnJlY3Q+DQorPGdyYW1tYXIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCis8c3RhcnQ+DQorICA8ZWxlbWVudCBuYW1lPSJmb28iPg0KKyAgICA8ZW1wdHkvPg0KKyAgPC9lbGVtZW50Pg0KKzwvc3RhcnQ+DQorPGRlZmluZSBuYW1lPSJmb28iPg0KKyAgPHZhbHVlIHR5cGU9InRvayIvPg0KKzwvZGVmaW5lPg0KKzwvZ3JhbW1hcj4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzwvdGVzdFN1aXRlPg0KKzx0ZXN0U3VpdGU+DQorPHNlY3Rpb24+NC4xNzwvc2VjdGlvbj4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+NC4xNzwvc2VjdGlvbj4NCis8aW5jb3JyZWN0Pg0KKzxncmFtbWFyIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorPHN0YXJ0Pg0KKyAgPHJlZiBuYW1lPSJ4Ii8+DQorPC9zdGFydD4NCis8ZGVmaW5lIG5hbWU9IngiPg0KKyAgPGVsZW1lbnQgbmFtZT0iZm9vMSI+DQorICAgIDxlbXB0eS8+DQorICA8L2VsZW1lbnQ+DQorPC9kZWZpbmU+DQorPGRlZmluZSBuYW1lPSJ4IiBjb21iaW5lPSJjaG9pY2UiPg0KKyAgPGVsZW1lbnQgbmFtZT0iZm9vMiI+DQorICAgIDxlbXB0eS8+DQorICA8L2VsZW1lbnQ+DQorPC9kZWZpbmU+DQorPGRlZmluZSBuYW1lPSJ4Ij4NCisgIDxlbGVtZW50IG5hbWU9ImZvbzMiPg0KKyAgICA8ZW1wdHkvPg0KKyAgPC9lbGVtZW50Pg0KKzwvZGVmaW5lPg0KKzwvZ3JhbW1hcj4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj40LjE3PC9zZWN0aW9uPg0KKzxpbmNvcnJlY3Q+DQorPGdyYW1tYXIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCis8c3RhcnQgbmFtZT0ieCI+DQorICA8ZWxlbWVudCBuYW1lPSJmb28xIj4NCisgICAgPGVtcHR5Lz4NCisgIDwvZWxlbWVudD4NCis8L3N0YXJ0Pg0KKzxzdGFydCBuYW1lPSJ4IiBjb21iaW5lPSJjaG9pY2UiPg0KKyAgPGVsZW1lbnQgbmFtZT0iZm9vMiI+DQorICAgIDxlbXB0eS8+DQorICA8L2VsZW1lbnQ+DQorPC9zdGFydD4NCis8c3RhcnQgbmFtZT0ieCI+DQorICA8ZWxlbWVudCBuYW1lPSJmb28zIj4NCisgICAgPGVtcHR5Lz4NCisgIDwvZWxlbWVudD4NCis8L3N0YXJ0Pg0KKzwvZ3JhbW1hcj4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj40LjE3PC9zZWN0aW9uPg0KKzxpbmNvcnJlY3Q+DQorPGdyYW1tYXIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCis8c3RhcnQ+DQorICA8cmVmIG5hbWU9IngiLz4NCis8L3N0YXJ0Pg0KKzxkZWZpbmUgbmFtZT0ieCI+DQorICA8ZWxlbWVudCBuYW1lPSJmb28xIj4NCisgICAgPGVtcHR5Lz4NCisgIDwvZWxlbWVudD4NCis8L2RlZmluZT4NCis8ZGVmaW5lIG5hbWU9IngiPg0KKyAgPGVsZW1lbnQgbmFtZT0iZm9vMiI+DQorICAgIDxlbXB0eS8+DQorICA8L2VsZW1lbnQ+DQorPC9kZWZpbmU+DQorPC9ncmFtbWFyPg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjQuMTc8L3NlY3Rpb24+DQorPGluY29ycmVjdD4NCis8Z3JhbW1hciB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKzxzdGFydCBuYW1lPSJ4Ij4NCisgIDxlbGVtZW50IG5hbWU9ImZvbzEiPg0KKyAgICA8ZW1wdHkvPg0KKyAgPC9lbGVtZW50Pg0KKzwvc3RhcnQ+DQorPHN0YXJ0IG5hbWU9IngiPg0KKyAgPGVsZW1lbnQgbmFtZT0iZm9vMiI+DQorICAgIDxlbXB0eS8+DQorICA8L2VsZW1lbnQ+DQorPC9zdGFydD4NCis8L2dyYW1tYXI+DQorPC9pbmNvcnJlY3Q+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+NC4xNzwvc2VjdGlvbj4NCis8Y29ycmVjdD4NCis8Z3JhbW1hciB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKzxzdGFydD4NCisgIDxyZWYgbmFtZT0ieCIvPg0KKzwvc3RhcnQ+DQorPGRlZmluZSBuYW1lPSJ4IiBjb21iaW5lPSJjaG9pY2UiPg0KKyAgPGVsZW1lbnQgbmFtZT0iZm9vMSI+DQorICAgIDxlbXB0eS8+DQorICA8L2VsZW1lbnQ+DQorPC9kZWZpbmU+DQorPGRlZmluZSBuYW1lPSJ4IiBjb21iaW5lPSJjaG9pY2UiPg0KKyAgPGVsZW1lbnQgbmFtZT0iZm9vMiI+DQorICAgIDxlbXB0eS8+DQorICA8L2VsZW1lbnQ+DQorPC9kZWZpbmU+DQorPGRlZmluZSBuYW1lPSJ4Ij4NCisgIDxlbGVtZW50IG5hbWU9ImZvbzMiPg0KKyAgICA8ZW1wdHkvPg0KKyAgPC9lbGVtZW50Pg0KKzwvZGVmaW5lPg0KKzwvZ3JhbW1hcj4NCis8L2NvcnJlY3Q+DQorPHZhbGlkPg0KKzxmb28xLz4NCis8L3ZhbGlkPg0KKzx2YWxpZD4NCis8Zm9vMi8+DQorPC92YWxpZD4NCis8dmFsaWQ+DQorPGZvbzMvPg0KKzwvdmFsaWQ+DQorPGludmFsaWQ+DQorPGZvbzQvPg0KKzwvaW52YWxpZD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj40LjE3PC9zZWN0aW9uPg0KKzxjb3JyZWN0Pg0KKzxncmFtbWFyIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorPHN0YXJ0IGNvbWJpbmU9ImNob2ljZSI+DQorICA8ZWxlbWVudCBuYW1lPSJmb28xIj4NCisgICAgPGVtcHR5Lz4NCisgIDwvZWxlbWVudD4NCis8L3N0YXJ0Pg0KKzxzdGFydCBjb21iaW5lPSJjaG9pY2UiPg0KKyAgPGVsZW1lbnQgbmFtZT0iZm9vMiI+DQorICAgIDxlbXB0eS8+DQorICA8L2VsZW1lbnQ+DQorPC9zdGFydD4NCis8c3RhcnQ+DQorICA8ZWxlbWVudCBuYW1lPSJmb28zIj4NCisgICAgPGVtcHR5Lz4NCisgIDwvZWxlbWVudD4NCis8L3N0YXJ0Pg0KKzwvZ3JhbW1hcj4NCis8L2NvcnJlY3Q+DQorPHZhbGlkPg0KKzxmb28xLz4NCis8L3ZhbGlkPg0KKzx2YWxpZD4NCis8Zm9vMi8+DQorPC92YWxpZD4NCis8dmFsaWQ+DQorPGZvbzMvPg0KKzwvdmFsaWQ+DQorPGludmFsaWQ+DQorPGZvbzQvPg0KKzwvaW52YWxpZD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj40LjE3PC9zZWN0aW9uPg0KKzxpbmNvcnJlY3Q+DQorPGdyYW1tYXIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCis8c3RhcnQ+DQorICA8ZWxlbWVudCBuYW1lPSJmb28iPg0KKyAgICA8cmVmIG5hbWU9IngiLz4NCisgIDwvZWxlbWVudD4NCis8L3N0YXJ0Pg0KKzxkZWZpbmUgbmFtZT0ieCIgY29tYmluZT0iY2hvaWNlIj4NCisgIDxlbGVtZW50IG5hbWU9ImJhcjEiPg0KKyAgICA8ZW1wdHkvPg0KKyAgPC9lbGVtZW50Pg0KKzwvZGVmaW5lPg0KKzxkZWZpbmUgbmFtZT0ieCI+DQorICA8ZWxlbWVudCBuYW1lPSJiYXIyIj4NCisgICAgPGVtcHR5Lz4NCisgIDwvZWxlbWVudD4NCis8L2RlZmluZT4NCis8ZGVmaW5lIG5hbWU9IngiIGNvbWJpbmU9ImludGVybGVhdmUiPg0KKyAgPGVsZW1lbnQgbmFtZT0iYmFyMyI+DQorICAgIDxlbXB0eS8+DQorICA8L2VsZW1lbnQ+DQorPC9kZWZpbmU+DQorPC9ncmFtbWFyPg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjQuMTc8L3NlY3Rpb24+DQorPGluY29ycmVjdD4NCis8ZWxlbWVudCBuYW1lPSJmb28iIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorPGdyYW1tYXI+DQorPHN0YXJ0IG5hbWU9IngiIGNvbWJpbmU9ImNob2ljZSI+DQorICA8ZWxlbWVudCBuYW1lPSJiYXIxIj4NCisgICAgPGVtcHR5Lz4NCisgIDwvZWxlbWVudD4NCis8L3N0YXJ0Pg0KKzxzdGFydCBuYW1lPSJ4Ij4NCisgIDxlbGVtZW50IG5hbWU9ImJhcjIiPg0KKyAgICA8ZW1wdHkvPg0KKyAgPC9lbGVtZW50Pg0KKzwvc3RhcnQ+DQorPHN0YXJ0IG5hbWU9IngiIGNvbWJpbmU9ImludGVybGVhdmUiPg0KKyAgPGVsZW1lbnQgbmFtZT0iYmFyMyI+DQorICAgIDxlbXB0eS8+DQorICA8L2VsZW1lbnQ+DQorPC9zdGFydD4NCis8L2dyYW1tYXI+DQorPC9lbGVtZW50Pg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjQuMTc8L3NlY3Rpb24+DQorPGNvcnJlY3Q+DQorPGdyYW1tYXIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCis8c3RhcnQ+DQorICA8ZWxlbWVudCBuYW1lPSJmb28iPg0KKyAgICA8cmVmIG5hbWU9IngiLz4NCisgIDwvZWxlbWVudD4NCis8L3N0YXJ0Pg0KKzxkZWZpbmUgbmFtZT0ieCIgY29tYmluZT0iaW50ZXJsZWF2ZSI+DQorICA8ZWxlbWVudCBuYW1lPSJiYXIxIj4NCisgICAgPGVtcHR5Lz4NCisgIDwvZWxlbWVudD4NCis8L2RlZmluZT4NCis8ZGVmaW5lIG5hbWU9IngiIGNvbWJpbmU9ImludGVybGVhdmUiPg0KKyAgPGVsZW1lbnQgbmFtZT0iYmFyMiI+DQorICAgIDxlbXB0eS8+DQorICA8L2VsZW1lbnQ+DQorPC9kZWZpbmU+DQorPGRlZmluZSBuYW1lPSJ4Ij4NCisgIDxlbGVtZW50IG5hbWU9ImJhcjMiPg0KKyAgICA8ZW1wdHkvPg0KKyAgPC9lbGVtZW50Pg0KKzwvZGVmaW5lPg0KKzwvZ3JhbW1hcj4NCis8L2NvcnJlY3Q+DQorPHZhbGlkPg0KKzxmb28+PGJhcjEvPjxiYXIyLz48YmFyMy8+PC9mb28+DQorPC92YWxpZD4NCis8dmFsaWQ+DQorPGZvbz48YmFyMS8+PGJhcjMvPjxiYXIyLz48L2Zvbz4NCis8L3ZhbGlkPg0KKzx2YWxpZD4NCis8Zm9vPjxiYXIyLz48YmFyMy8+PGJhcjEvPjwvZm9vPg0KKzwvdmFsaWQ+DQorPGludmFsaWQ+DQorPGZvbz48YmFyMi8+PGJhcjMvPjxiYXIxLz48YmFyMi8+PC9mb28+DQorPC9pbnZhbGlkPg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjQuMTc8L3NlY3Rpb24+DQorPGNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0iZm9vIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKzxncmFtbWFyPg0KKzxzdGFydCBjb21iaW5lPSJpbnRlcmxlYXZlIj4NCisgIDxlbGVtZW50IG5hbWU9ImJhcjEiPg0KKyAgICA8ZW1wdHkvPg0KKyAgPC9lbGVtZW50Pg0KKzwvc3RhcnQ+DQorPHN0YXJ0Pg0KKyAgPGVsZW1lbnQgbmFtZT0iYmFyMiI+DQorICAgIDxlbXB0eS8+DQorICA8L2VsZW1lbnQ+DQorPC9zdGFydD4NCis8c3RhcnQgY29tYmluZT0iaW50ZXJsZWF2ZSI+DQorICA8ZWxlbWVudCBuYW1lPSJiYXIzIj4NCisgICAgPGVtcHR5Lz4NCisgIDwvZWxlbWVudD4NCis8L3N0YXJ0Pg0KKzwvZ3JhbW1hcj4NCis8L2VsZW1lbnQ+DQorPC9jb3JyZWN0Pg0KKzx2YWxpZD4NCis8Zm9vPjxiYXIxLz48YmFyMi8+PGJhcjMvPjwvZm9vPg0KKzwvdmFsaWQ+DQorPHZhbGlkPg0KKzxmb28+PGJhcjEvPjxiYXIzLz48YmFyMi8+PC9mb28+DQorPC92YWxpZD4NCis8dmFsaWQ+DQorPGZvbz48YmFyMi8+PGJhcjMvPjxiYXIxLz48L2Zvbz4NCis8L3ZhbGlkPg0KKzxpbnZhbGlkPg0KKzxmb28+PGJhcjIvPjxiYXIzLz48YmFyMS8+PGJhcjIvPjwvZm9vPg0KKzwvaW52YWxpZD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj40LjE3PC9zZWN0aW9uPg0KKzxpbmNvcnJlY3Q+DQorPGdyYW1tYXIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCis8c3RhcnQ+DQorICA8ZWxlbWVudCBuYW1lPSJmb28iPg0KKyAgICA8cmVmIG5hbWU9IngiLz4NCisgIDwvZWxlbWVudD4NCis8L3N0YXJ0Pg0KKzxkZWZpbmUgbmFtZT0ieCI+DQorICA8ZWxlbWVudCBuYW1lPSJiYXIxIj4NCisgICAgPGVtcHR5Lz4NCisgIDwvZWxlbWVudD4NCis8L2RlZmluZT4NCis8ZGVmaW5lIG5hbWU9IngiIGNvbWJpbmU9ImludGVybGVhdmUiPg0KKyAgPGVsZW1lbnQgbmFtZT0iYmFyMiI+DQorICAgIDxlbXB0eS8+DQorICA8L2VsZW1lbnQ+DQorPC9kZWZpbmU+DQorPGRlZmluZSBuYW1lPSJ4Ij4NCisgIDxlbGVtZW50IG5hbWU9ImJhcjMiPg0KKyAgICA8ZW1wdHkvPg0KKyAgPC9lbGVtZW50Pg0KKzwvZGVmaW5lPg0KKzwvZ3JhbW1hcj4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj40LjE3PC9zZWN0aW9uPg0KKzxpbmNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0iZm9vIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPiANCis8Z3JhbW1hcj4NCis8c3RhcnQgbmFtZT0ieCI+DQorICA8ZWxlbWVudCBuYW1lPSJiYXIxIj4NCisgICAgPGVtcHR5Lz4NCisgIDwvZWxlbWVudD4NCis8L3N0YXJ0Pg0KKzxzdGFydCBuYW1lPSJ4IiBjb21iaW5lPSJpbnRlcmxlYXZlIj4NCisgIDxlbGVtZW50IG5hbWU9ImJhcjIiPg0KKyAgICA8ZW1wdHkvPg0KKyAgPC9lbGVtZW50Pg0KKzwvc3RhcnQ+DQorPHN0YXJ0IG5hbWU9IngiPg0KKyAgPGVsZW1lbnQgbmFtZT0iYmFyMyI+DQorICAgIDxlbXB0eS8+DQorICA8L2VsZW1lbnQ+DQorPC9zdGFydD4NCis8L2dyYW1tYXI+DQorPC9lbGVtZW50Pg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPC90ZXN0U3VpdGU+DQorPHRlc3RTdWl0ZT4NCis8c2VjdGlvbj40LjE4PC9zZWN0aW9uPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj40LjE4PC9zZWN0aW9uPg0KKzxkb2N1bWVudGF0aW9uPmdyYW1tYXIgbXVzdCBoYXZlIGEgc3RhcnQ8L2RvY3VtZW50YXRpb24+DQorPGluY29ycmVjdD4NCis8Z3JhbW1hciB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPGRlZmluZSBuYW1lPSJmb28iPg0KKyAgICA8ZWxlbWVudCBuYW1lPSJmb28iPg0KKyAgICAgIDxlbXB0eS8+DQorICAgIDwvZWxlbWVudD4NCisgIDwvZGVmaW5lPg0KKzwvZ3JhbW1hcj4gICANCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj40LjE4PC9zZWN0aW9uPg0KKzxkb2N1bWVudGF0aW9uPjQuMTcgaXMgYmVmb3JlIDQuMTg8L2RvY3VtZW50YXRpb24+DQorPGluY29ycmVjdD4NCis8Z3JhbW1hciB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPHN0YXJ0Pg0KKyAgICA8ZWxlbWVudCBuYW1lPSJmb28iPg0KKyAgICAgIDxlbXB0eS8+DQorICAgIDwvZWxlbWVudD4NCisgIDwvc3RhcnQ+DQorICA8ZGVmaW5lIG5hbWU9ImJhciI+DQorICAgIDxncmFtbWFyIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICAgICAgPGRlZmluZSBuYW1lPSJmb28iPg0KKwk8ZWxlbWVudCBuYW1lPSJmb28iPg0KKwkgIDxlbXB0eS8+DQorCTwvZWxlbWVudD4NCisgICAgICA8L2RlZmluZT4NCisgICAgPC9ncmFtbWFyPiAgIA0KKyAgPC9kZWZpbmU+DQorPC9ncmFtbWFyPg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjQuMTg8L3NlY3Rpb24+DQorPGRvY3VtZW50YXRpb24+NC4xNyBpcyBiZWZvcmUgNC4xOTwvZG9jdW1lbnRhdGlvbj4NCis8aW5jb3JyZWN0Pg0KKzxjaG9pY2UgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxlbGVtZW50IG5hbWU9ImZvbyI+DQorICAgIDxlbXB0eS8+DQorICA8L2VsZW1lbnQ+DQorICA8Z3JvdXA+DQorICAgIDxub3RBbGxvd2VkLz4NCisgICAgPGdyYW1tYXIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgICAgICA8ZGVmaW5lIG5hbWU9ImZvbyI+DQorCTxlbGVtZW50IG5hbWU9ImZvbyI+DQorCSAgPGVtcHR5Lz4NCisJPC9lbGVtZW50Pg0KKyAgICAgIDwvZGVmaW5lPg0KKyAgICA8L2dyYW1tYXI+ICAgDQorICA8L2dyb3VwPg0KKzwvY2hvaWNlPg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjQuMTg8L3NlY3Rpb24+DQorPGRvY3VtZW50YXRpb24+ZXZlcnkgcmVmIG11c3QgaGF2ZSBhIGRlZjwvZG9jdW1lbnRhdGlvbj4NCis8aW5jb3JyZWN0Pg0KKzxncmFtbWFyIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8c3RhcnQ+DQorICAgIDxyZWYgbmFtZT0iZm9vIi8+DQorICA8L3N0YXJ0Pg0KKzwvZ3JhbW1hcj4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj40LjE4PC9zZWN0aW9uPg0KKzxkb2N1bWVudGF0aW9uPjQuMTcgaXMgYmVmb3JlIDQuMTg8L2RvY3VtZW50YXRpb24+DQorPGluY29ycmVjdD4NCis8Z3JhbW1hciB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPHN0YXJ0Pg0KKyAgICA8ZWxlbWVudCBuYW1lPSJmb28iPg0KKyAgICAgIDxlbXB0eS8+DQorICAgIDwvZWxlbWVudD4NCisgIDwvc3RhcnQ+DQorICA8ZGVmaW5lIG5hbWU9ImZvbyI+DQorICAgIDxyZWYgbmFtZT0iYmFyIi8+DQorICA8L2RlZmluZT4NCis8L2dyYW1tYXI+DQorPC9pbmNvcnJlY3Q+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+NC4xODwvc2VjdGlvbj4NCis8ZG9jdW1lbnRhdGlvbj40LjE3IGlzIGJlZm9yZSA0LjE5PC9kb2N1bWVudGF0aW9uPg0KKzxpbmNvcnJlY3Q+DQorPGdyYW1tYXIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxzdGFydD4NCisgICAgPGNob2ljZT4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJmb28iPg0KKwk8ZW1wdHkvPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICAgICA8Z3JvdXA+DQorICAgICAgICA8bm90QWxsb3dlZC8+DQorICAgICAgICA8cmVmIG5hbWU9ImZvbyIvPg0KKyAgICAgIDwvZ3JvdXA+DQorICAgIDwvY2hvaWNlPg0KKyAgPC9zdGFydD4NCis8L2dyYW1tYXI+DQorPC9pbmNvcnJlY3Q+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+NC4xODwvc2VjdGlvbj4NCis8ZG9jdW1lbnRhdGlvbj5ldmVyeSBwYXJlbnRSZWYgbXVzdCBoYXZlIGEgZGVmPC9kb2N1bWVudGF0aW9uPg0KKzxpbmNvcnJlY3Q+DQorPGdyYW1tYXIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxzdGFydD4NCisgICAgPGdyYW1tYXIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgICAgICA8c3RhcnQ+DQorCTxwYXJlbnRSZWYgbmFtZT0iZm9vIi8+DQorICAgICAgPC9zdGFydD4NCisgICAgICA8ZGVmaW5lIG5hbWU9ImZvbyI+DQorICAgICAgICA8ZWxlbWVudCBuYW1lPSJmb28iPg0KKyAgICAgICAgICA8ZW1wdHkvPg0KKyAgICAgICAgPC9lbGVtZW50Pg0KKyAgICAgIDwvZGVmaW5lPg0KKyAgICA8L2dyYW1tYXI+DQorICA8L3N0YXJ0Pg0KKzwvZ3JhbW1hcj4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj40LjE4PC9zZWN0aW9uPg0KKzxkb2N1bWVudGF0aW9uPjQuMTcgaXMgYmVmb3JlIDQuMTg8L2RvY3VtZW50YXRpb24+DQorPGluY29ycmVjdD4NCis8Z3JhbW1hciB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPHN0YXJ0Pg0KKyAgICA8ZWxlbWVudCBuYW1lPSJmb28iPg0KKyAgICAgIDxlbXB0eS8+DQorICAgIDwvZWxlbWVudD4NCisgIDwvc3RhcnQ+DQorICA8ZGVmaW5lIG5hbWU9ImJhciI+DQorICAgIDxncmFtbWFyIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICAgICAgPHN0YXJ0Pg0KKwk8cGFyZW50UmVmIG5hbWU9ImZvbyIvPg0KKyAgICAgIDwvc3RhcnQ+DQorICAgICAgPGRlZmluZSBuYW1lPSJmb28iPg0KKyAgICAgICAgPGVsZW1lbnQgbmFtZT0iZm9vIj4NCisgICAgICAgICAgPGVtcHR5Lz4NCisgICAgICAgIDwvZWxlbWVudD4NCisgICAgICA8L2RlZmluZT4NCisgICAgPC9ncmFtbWFyPg0KKyAgPC9kZWZpbmU+DQorPC9ncmFtbWFyPg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjQuMTg8L3NlY3Rpb24+DQorPGRvY3VtZW50YXRpb24+NC4xNyBpcyBiZWZvcmUgNC4xOTwvZG9jdW1lbnRhdGlvbj4NCis8aW5jb3JyZWN0Pg0KKzxncmFtbWFyIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8c3RhcnQ+DQorICAgIDxjaG9pY2U+DQorICAgICAgPGVsZW1lbnQgbmFtZT0iZm9vIj4NCisJPGVtcHR5Lz4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgICAgPGdyb3VwPg0KKwk8bm90QWxsb3dlZC8+DQorCTxncmFtbWFyIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorCSAgPHN0YXJ0Pg0KKwkgICAgPHBhcmVudFJlZiBuYW1lPSJmb28iLz4NCisJICA8L3N0YXJ0Pg0KKwkgIDxkZWZpbmUgbmFtZT0iZm9vIj4NCisJICAgIDxlbGVtZW50IG5hbWU9ImZvbyI+DQorCSAgICAgIDxlbXB0eS8+DQorCSAgICA8L2VsZW1lbnQ+DQorCSAgPC9kZWZpbmU+DQorCTwvZ3JhbW1hcj4NCisgICAgICA8L2dyb3VwPg0KKyAgICA8L2Nob2ljZT4NCisgIDwvc3RhcnQ+DQorPC9ncmFtbWFyPg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjQuMTg8L3NlY3Rpb24+DQorPGluY29ycmVjdD4NCis8Z3JhbW1hciB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPHN0YXJ0Pg0KKyAgICA8cmVmIG5hbWU9ImZvbyIvPg0KKyAgPC9zdGFydD4NCisgIDxkZWZpbmUgbmFtZT0iZm9vIj4NCisgICAgPGNob2ljZT4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJmb28iPg0KKyAgICAgICAgPGVtcHR5Lz4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgICAgPGdyYW1tYXIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgICAgICAgIDxzdGFydD4NCisJICA8cGFyZW50UmVmIG5hbWU9ImZvbyIvPg0KKyAgICAgICAgPC9zdGFydD4NCisgICAgICA8L2dyYW1tYXI+DQorICAgIDwvY2hvaWNlPg0KKyAgPC9kZWZpbmU+DQorPC9ncmFtbWFyPg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjQuMTg8L3NlY3Rpb24+DQorPGNvcnJlY3Q+DQorPGdyYW1tYXIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxzdGFydD4NCisgICAgPHJlZiBuYW1lPSJmb28iLz4NCisgIDwvc3RhcnQ+DQorICA8ZGVmaW5lIG5hbWU9ImZvbyI+DQorICAgIDxncmFtbWFyIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICAgICAgPHN0YXJ0Pg0KKwk8cmVmIG5hbWU9ImZvbyIvPg0KKyAgICAgIDwvc3RhcnQ+DQorICAgICAgPGRlZmluZSBuYW1lPSJmb28iPg0KKwk8ZWxlbWVudCBuYW1lPSJmb28iPg0KKwkgIDxlbXB0eS8+DQorCTwvZWxlbWVudD4NCisgICAgICA8L2RlZmluZT4NCisgICAgPC9ncmFtbWFyPg0KKyAgPC9kZWZpbmU+DQorPC9ncmFtbWFyPg0KKzwvY29ycmVjdD4NCis8dmFsaWQ+PGZvby8+PC92YWxpZD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj40LjE4PC9zZWN0aW9uPg0KKzxjb3JyZWN0Pg0KKzxncmFtbWFyIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8c3RhcnQ+DQorICAgIDxncmFtbWFyPg0KKyAgICAgIDxzdGFydD4NCisgICAgICAgIDxyZWYgbmFtZT0iZm9vIi8+DQorICAgICAgPC9zdGFydD4NCisgICAgICA8ZGVmaW5lIG5hbWU9ImZvbyI+DQorICAgICAgICA8ZWxlbWVudCBuYW1lPSJpbm5lckZvbyI+DQorICAgICAgICAgICA8cGFyZW50UmVmIG5hbWU9ImZvbyIvPg0KKyAgICAgICAgPC9lbGVtZW50Pg0KKyAgICAgIDwvZGVmaW5lPg0KKyAgICA8L2dyYW1tYXI+DQorICA8L3N0YXJ0Pg0KKyAgPGRlZmluZSBuYW1lPSJmb28iPg0KKyAgICA8ZWxlbWVudCBuYW1lPSJvdXRlckZvbyI+DQorICAgICAgPGVtcHR5Lz4NCisgICAgPC9lbGVtZW50Pg0KKyAgPC9kZWZpbmU+DQorPC9ncmFtbWFyPg0KKzwvY29ycmVjdD4NCis8dmFsaWQ+PGlubmVyRm9vPjxvdXRlckZvby8+PC9pbm5lckZvbz48L3ZhbGlkPg0KKzxpbnZhbGlkPjxvdXRlckZvby8+PC9pbnZhbGlkPg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjQuMTg8L3NlY3Rpb24+DQorPGNvcnJlY3Q+DQorPGdyYW1tYXIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxzdGFydD4NCisgICAgPHJlZiBuYW1lPSJmb28iLz4NCisgIDwvc3RhcnQ+DQorICA8ZGVmaW5lIG5hbWU9ImZvbyI+DQorICAgIDxlbGVtZW50IG5hbWU9Im91dGVyRm9vIj4NCisgICAgICA8Z3JhbW1hcj4NCisJPHN0YXJ0Pg0KKwkgIDxyZWYgbmFtZT0iZm9vIi8+DQorCTwvc3RhcnQ+DQorCTxkZWZpbmUgbmFtZT0iZm9vIj4NCisJICA8ZWxlbWVudCBuYW1lPSJpbm5lckZvbyI+DQorCSAgICAgPGVtcHR5Lz4NCisJICA8L2VsZW1lbnQ+DQorCTwvZGVmaW5lPg0KKyAgICAgIDwvZ3JhbW1hcj4NCisgICAgPC9lbGVtZW50Pg0KKyAgPC9kZWZpbmU+DQorPC9ncmFtbWFyPg0KKzwvY29ycmVjdD4NCis8dmFsaWQ+PG91dGVyRm9vPjxpbm5lckZvby8+PC9vdXRlckZvbz48L3ZhbGlkPg0KKzxpbnZhbGlkPjxpbm5lckZvby8+PC9pbnZhbGlkPg0KKzwvdGVzdENhc2U+DQorPC90ZXN0U3VpdGU+DQorPHRlc3RTdWl0ZT4NCis8c2VjdGlvbj40LjE5PC9zZWN0aW9uPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj40LjE5PC9zZWN0aW9uPg0KKzxpbmNvcnJlY3Q+DQorPGdyYW1tYXIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxzdGFydD4NCisgICAgPGVsZW1lbnQgbmFtZT0iZm9vIj4NCisgICAgICA8cmVmIG5hbWU9ImJhciIvPg0KKyAgICA8L2VsZW1lbnQ+DQorICA8L3N0YXJ0Pg0KKyAgPGRlZmluZSBuYW1lPSJiYXIiPg0KKyAgICA8b3B0aW9uYWw+DQorICAgICAgPGVsZW1lbnQgbmFtZT0iYmFyIj4NCisgICAgICAgIDxlbXB0eS8+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgICAgIDxyZWYgbmFtZT0iYmFyIi8+DQorICAgIDwvb3B0aW9uYWw+DQorICA8L2RlZmluZT4NCis8L2dyYW1tYXI+DQorPC9pbmNvcnJlY3Q+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+NC4xOTwvc2VjdGlvbj4NCis8Y29ycmVjdD4NCis8Z3JhbW1hciB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPHN0YXJ0Pg0KKyAgICA8ZWxlbWVudCBuYW1lPSJmb28iPg0KKyAgICAgIDxyZWYgbmFtZT0iYmFyIi8+DQorICAgIDwvZWxlbWVudD4NCisgIDwvc3RhcnQ+DQorICA8ZGVmaW5lIG5hbWU9ImJhciI+DQorICAgIDxlbGVtZW50IG5hbWU9ImJhciI+DQorICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgPHJlZiBuYW1lPSJiYXIiLz4NCisgICAgICA8L29wdGlvbmFsPg0KKyAgICA8L2VsZW1lbnQ+DQorICA8L2RlZmluZT4NCis8L2dyYW1tYXI+DQorPC9jb3JyZWN0Pg0KKzx2YWxpZD4NCis8Zm9vPjxiYXIvPjwvZm9vPg0KKzwvdmFsaWQ+DQorPHZhbGlkPg0KKzxmb28+PGJhcj48YmFyLz48L2Jhcj48L2Zvbz4NCis8L3ZhbGlkPg0KKzxpbnZhbGlkPg0KKzxmb28vPg0KKzwvaW52YWxpZD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj40LjE5PC9zZWN0aW9uPg0KKzxjb3JyZWN0Pg0KKzxncmFtbWFyIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8c3RhcnQ+DQorICAgIDxlbGVtZW50IG5hbWU9ImZvbyI+DQorICAgICAgPGVtcHR5Lz4NCisgICAgPC9lbGVtZW50Pg0KKyAgPC9zdGFydD4NCisgIDxkZWZpbmUgbmFtZT0iYmFyIj4NCisgICAgPHJlZiBuYW1lPSJiYXIiLz4NCisgIDwvZGVmaW5lPg0KKzwvZ3JhbW1hcj4NCis8L2NvcnJlY3Q+DQorPHZhbGlkPjxmb28vPjwvdmFsaWQ+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+NC4xOTwvc2VjdGlvbj4NCis8c2VjdGlvbj40LjIwPC9zZWN0aW9uPg0KKzxkb2N1bWVudGF0aW9uPlRlc3RzIHRoYXQgcmVjdXJzaW9uIGRldGVjdGlvbiBoYXBwZW5zIGJlZm9yZQ0KK25vcm1hbGl6YXRpb24gb2Ygbm90QWxsb3dlZC48L2RvY3VtZW50YXRpb24+DQorPGluY29ycmVjdD4NCis8Z3JhbW1hciB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPHN0YXJ0Pg0KKyAgICA8Y2hvaWNlPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9ImZvbyI+DQorICAgICAgICA8ZW1wdHkvPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICAgICA8Z3JvdXA+DQorICAgICAgICA8bm90QWxsb3dlZC8+DQorICAgICAgICA8cmVmIG5hbWU9ImJhciIvPg0KKyAgICAgIDwvZ3JvdXA+DQorICAgIDwvY2hvaWNlPg0KKyAgPC9zdGFydD4NCisgIDxkZWZpbmUgbmFtZT0iYmFyIj4NCisgICAgPGVsZW1lbnQgbmFtZT0iYmFyIj4NCisgICAgICA8ZW1wdHkvPg0KKyAgICA8L2VsZW1lbnQ+DQorICAgIDxvcHRpb25hbD4NCisgICAgICA8cmVmIG5hbWU9ImJhciIvPg0KKyAgICA8L29wdGlvbmFsPg0KKyAgPC9kZWZpbmU+DQorPC9ncmFtbWFyPg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPC90ZXN0U3VpdGU+DQorPC90ZXN0U3VpdGU+DQorPHRlc3RTdWl0ZT4NCis8c2VjdGlvbj42PC9zZWN0aW9uPg0KKzx0ZXN0U3VpdGU+DQorPHNlY3Rpb24+Ni4xPC9zZWN0aW9uPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj42LjE8L3NlY3Rpb24+DQorPGNvcnJlY3Q+DQorPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxhbnlOYW1lLz4NCisgIDxlbXB0eS8+DQorPC9lbGVtZW50Pg0KKzwvY29ycmVjdD4NCis8dmFsaWQ+DQorPGZvby8+DQorPC92YWxpZD4NCis8dmFsaWQ+DQorPGZvbyB4bWxucz0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSIvPg0KKzwvdmFsaWQ+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Ni4xPC9zZWN0aW9uPg0KKzxjb3JyZWN0Pg0KKzxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8YW55TmFtZT4NCisgICAgPGV4Y2VwdD4NCisgICAgICA8bmFtZSBucz0iIj5mb288L25hbWU+DQorICAgIDwvZXhjZXB0Pg0KKyAgPC9hbnlOYW1lPg0KKyAgPGVtcHR5Lz4NCis8L2VsZW1lbnQ+DQorPC9jb3JyZWN0Pg0KKzxpbnZhbGlkPg0KKzxmb28vPg0KKzwvaW52YWxpZD4NCis8dmFsaWQ+DQorPGZvbyB4bWxucz0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSIvPg0KKzwvdmFsaWQ+DQorPHZhbGlkPg0KKzxiYXIvPg0KKzwvdmFsaWQ+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Ni4xPC9zZWN0aW9uPg0KKzxjb3JyZWN0Pg0KKzxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8YW55TmFtZT4NCisgICAgPGV4Y2VwdD4NCisgICAgICA8bnNOYW1lIG5zPSIiLz4NCisgICAgPC9leGNlcHQ+DQorICA8L2FueU5hbWU+DQorICA8ZW1wdHkvPg0KKzwvZWxlbWVudD4NCis8L2NvcnJlY3Q+DQorPGludmFsaWQ+DQorPGZvby8+DQorPC9pbnZhbGlkPg0KKzx2YWxpZD4NCis8Zm9vIHhtbG5zPSJodHRwOi8vd3d3LmV4YW1wbGUuY29tIi8+DQorPC92YWxpZD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj42LjE8L3NlY3Rpb24+DQorPGNvcnJlY3Q+DQorPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxuc05hbWUgbnM9IiIvPg0KKyAgPGVtcHR5Lz4NCis8L2VsZW1lbnQ+DQorPC9jb3JyZWN0Pg0KKzx2YWxpZD4NCis8Zm9vLz4NCis8L3ZhbGlkPg0KKzxpbnZhbGlkPg0KKzxmb28geG1sbnM9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20iLz4NCis8L2ludmFsaWQ+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Ni4xPC9zZWN0aW9uPg0KKzxjb3JyZWN0Pg0KKzxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8bnNOYW1lIG5zPSJodHRwOi8vd3d3LmV4YW1wbGUuY29tIi8+DQorICA8ZW1wdHkvPg0KKzwvZWxlbWVudD4NCis8L2NvcnJlY3Q+DQorPGludmFsaWQ+DQorPGZvby8+DQorPC9pbnZhbGlkPg0KKzxpbnZhbGlkPg0KKzxmb28geG1sbnM9IkhUVFA6Ly93d3cuZXhhbXBsZS5jb20iLz4NCis8L2ludmFsaWQ+DQorPGludmFsaWQ+DQorPGZvbyB4bWxucz0iaHR0cDovL3d3dy5leGFtcGxlLmNvbS8iLz4NCis8L2ludmFsaWQ+DQorPHZhbGlkPg0KKzxmb28geG1sbnM9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20iLz4NCis8L3ZhbGlkPg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjYuMTwvc2VjdGlvbj4NCis8Y29ycmVjdD4NCis8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPG5zTmFtZSBucz0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSI+DQorICAgIDxleGNlcHQ+DQorICAgICAgPG5hbWUgbnM9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20iPmZvbzwvbmFtZT4NCisgICAgPC9leGNlcHQ+DQorICA8L25zTmFtZT4NCisgIDxlbXB0eS8+DQorPC9lbGVtZW50Pg0KKzwvY29ycmVjdD4NCis8aW52YWxpZD4NCis8Zm9vLz4NCis8L2ludmFsaWQ+DQorPGludmFsaWQ+DQorPGZvbyB4bWxucz0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSIvPg0KKzwvaW52YWxpZD4NCis8dmFsaWQ+DQorPGJhciB4bWxucz0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSIvPg0KKzwvdmFsaWQ+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Ni4xPC9zZWN0aW9uPg0KKzxjb3JyZWN0Pg0KKzxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8bnNOYW1lIG5zPSJodHRwOi8vd3d3LmV4YW1wbGUuY29tIj4NCisgICAgPGV4Y2VwdD4NCisgICAgICA8bmFtZSBucz0iIj5mb288L25hbWU+DQorICAgIDwvZXhjZXB0Pg0KKyAgPC9uc05hbWU+DQorICA8ZW1wdHkvPg0KKzwvZWxlbWVudD4NCis8L2NvcnJlY3Q+DQorPGludmFsaWQ+DQorPGJhci8+DQorPC9pbnZhbGlkPg0KKzxpbnZhbGlkPg0KKzxmb28vPg0KKzwvaW52YWxpZD4NCis8dmFsaWQ+DQorPGZvbyB4bWxucz0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSIvPg0KKzwvdmFsaWQ+DQorPHZhbGlkPg0KKzxiYXIgeG1sbnM9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20iLz4NCis8L3ZhbGlkPg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjYuMTwvc2VjdGlvbj4NCis8Y29ycmVjdD4NCis8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPG5hbWUgbnM9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20iPmZvbzwvbmFtZT4NCisgIDxlbXB0eS8+DQorPC9lbGVtZW50Pg0KKzwvY29ycmVjdD4NCis8dmFsaWQ+DQorPGZvbyB4bWxucz0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSIvPg0KKzwvdmFsaWQ+DQorPGludmFsaWQ+DQorPGZvby8+DQorPC9pbnZhbGlkPg0KKzxpbnZhbGlkPg0KKzxiYXIgeG1sbnM9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20iLz4NCis8L2ludmFsaWQ+DQorPGludmFsaWQ+DQorPGZvbyB4bWxucz0iaHR0cDovL3d3dy5leGFtcGxlLm9yZyIvPg0KKzwvaW52YWxpZD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj42LjE8L3NlY3Rpb24+DQorPGNvcnJlY3Q+DQorPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxuYW1lIG5zPSIiPmZvbzwvbmFtZT4NCisgIDxlbXB0eS8+DQorPC9lbGVtZW50Pg0KKzwvY29ycmVjdD4NCis8aW52YWxpZD4NCis8Zm9vIHhtbG5zPSJodHRwOi8vd3d3LmV4YW1wbGUuY29tIi8+DQorPC9pbnZhbGlkPg0KKzx2YWxpZD4NCis8Zm9vLz4NCis8L3ZhbGlkPg0KKzxpbnZhbGlkPg0KKzxiYXIgeG1sbnM9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20iLz4NCis8L2ludmFsaWQ+DQorPGludmFsaWQ+DQorPGJhci8+DQorPC9pbnZhbGlkPg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjYuMTwvc2VjdGlvbj4NCis8Y29ycmVjdD4NCis8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPGNob2ljZT4NCisgICAgPG5hbWUgbnM9IiI+Zm9vPC9uYW1lPg0KKyAgICA8bmFtZSBucz0iIj5iYXI8L25hbWU+DQorICA8L2Nob2ljZT4NCisgIDxlbXB0eS8+DQorPC9lbGVtZW50Pg0KKzwvY29ycmVjdD4NCis8aW52YWxpZD4NCis8YmF6Lz4NCis8L2ludmFsaWQ+DQorPHZhbGlkPg0KKzxmb28vPg0KKzwvdmFsaWQ+DQorPHZhbGlkPg0KKzxiYXIvPg0KKzwvdmFsaWQ+DQorPC90ZXN0Q2FzZT4NCis8L3Rlc3RTdWl0ZT4NCis8dGVzdFN1aXRlPg0KKzxzZWN0aW9uPjYuMjwvc2VjdGlvbj4NCis8dGVzdFN1aXRlPg0KKzxzZWN0aW9uPjYuMi4xPC9zZWN0aW9uPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj42LjIuMTwvc2VjdGlvbj4NCis8Y29ycmVjdD4NCis8Y2hvaWNlIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8ZWxlbWVudCBuYW1lPSJmb28iPg0KKyAgICA8ZW1wdHkvPg0KKyAgPC9lbGVtZW50Pg0KKyAgPGVsZW1lbnQgbmFtZT0iYmFyIj4NCisgICAgPGVtcHR5Lz4NCisgIDwvZWxlbWVudD4NCis8L2Nob2ljZT4NCis8L2NvcnJlY3Q+DQorPHZhbGlkPg0KKzxmb28vPg0KKzwvdmFsaWQ+DQorPHZhbGlkPg0KKzxiYXIvPg0KKzwvdmFsaWQ+DQorPGludmFsaWQ+DQorPGJhei8+DQorPC9pbnZhbGlkPg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjYuMi4xPC9zZWN0aW9uPg0KKzxjb3JyZWN0Pg0KKzxlbGVtZW50IG5hbWU9ImZvbyIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxjaG9pY2U+DQorICAgIDxncm91cD4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJiYXIxIj4NCisgICAgICAgIDxlbXB0eS8+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgICAgIDxlbGVtZW50IG5hbWU9ImJhcjIiPg0KKyAgICAgICAgPGVtcHR5Lz4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgIDwvZ3JvdXA+DQorICAgIDxncm91cD4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJiYXIxIj4NCisgICAgICAgIDxlbXB0eS8+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgICAgIDxlbGVtZW50IG5hbWU9ImJhcjMiPg0KKyAgICAgICAgPGVtcHR5Lz4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgIDwvZ3JvdXA+DQorICA8L2Nob2ljZT4NCis8L2VsZW1lbnQ+DQorPC9jb3JyZWN0Pg0KKzx2YWxpZD4NCis8Zm9vPjxiYXIxLz48YmFyMi8+PC9mb28+DQorPC92YWxpZD4NCis8dmFsaWQ+DQorPGZvbz48YmFyMS8+PGJhcjMvPjwvZm9vPg0KKzwvdmFsaWQ+DQorPGludmFsaWQ+DQorPGZvbz48YmFyMS8+PC9mb28+DQorPC9pbnZhbGlkPg0KKzxpbnZhbGlkPg0KKzxmb28vPg0KKzwvaW52YWxpZD4NCis8aW52YWxpZD4NCis8Zm9vPjxiYXIyLz48L2Zvbz4NCis8L2ludmFsaWQ+DQorPGludmFsaWQ+DQorPGZvbz48YmFyMy8+PC9mb28+DQorPC9pbnZhbGlkPg0KKzxpbnZhbGlkPg0KKzxmb28+PGJhcjEvPjxiYXIyLz48YmFyMy8+PC9mb28+DQorPC9pbnZhbGlkPg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjYuMi4xPC9zZWN0aW9uPg0KKzxjb3JyZWN0Pg0KKzxlbGVtZW50IG5hbWU9ImZvbyIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxjaG9pY2U+DQorICAgIDxncm91cD4NCisgICAgICA8YXR0cmlidXRlIG5hbWU9ImJhcjEiPg0KKyAgICAgICAgPHRleHQvPg0KKyAgICAgIDwvYXR0cmlidXRlPg0KKyAgICAgIDxhdHRyaWJ1dGUgbmFtZT0iYmFyMiI+DQorICAgICAgICA8dGV4dC8+DQorICAgICAgPC9hdHRyaWJ1dGU+DQorICAgIDwvZ3JvdXA+DQorICAgIDxncm91cD4NCisgICAgICA8YXR0cmlidXRlIG5hbWU9ImJhcjEiPg0KKyAgICAgICAgPHRleHQvPg0KKyAgICAgIDwvYXR0cmlidXRlPg0KKyAgICAgIDxhdHRyaWJ1dGUgbmFtZT0iYmFyMyI+DQorICAgICAgICA8dGV4dC8+DQorICAgICAgPC9hdHRyaWJ1dGU+DQorICAgIDwvZ3JvdXA+DQorICA8L2Nob2ljZT4NCis8L2VsZW1lbnQ+DQorPC9jb3JyZWN0Pg0KKzx2YWxpZD4NCis8Zm9vIGJhcjE9IngiIGJhcjI9IngiLz4NCis8L3ZhbGlkPg0KKzx2YWxpZD4NCis8Zm9vIGJhcjE9IngiIGJhcjM9IngiLz4NCis8L3ZhbGlkPg0KKzxpbnZhbGlkPg0KKzxmb28vPg0KKzwvaW52YWxpZD4NCis8aW52YWxpZD4NCis8Zm9vIGJhcjE9IngiLz4NCis8L2ludmFsaWQ+DQorPGludmFsaWQ+DQorPGZvbyBiYXIyPSJ4Ii8+DQorPC9pbnZhbGlkPg0KKzxpbnZhbGlkPg0KKzxmb28gYmFyMz0ieCIvPg0KKzwvaW52YWxpZD4NCis8aW52YWxpZD4NCis8Zm9vIGJhcjE9IngiIGJhcjI9IngiIGJhcjM9IngiLz4NCis8L2ludmFsaWQ+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Ni4yLjE8L3NlY3Rpb24+DQorPGNvcnJlY3Q+DQorPGNob2ljZSB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPGVsZW1lbnQgbmFtZT0iZm9vIj4NCisgICAgPGVsZW1lbnQgbmFtZT0iYmFyIj4NCisgICAgICA8ZW1wdHkvPg0KKyAgICA8L2VsZW1lbnQ+DQorICA8L2VsZW1lbnQ+DQorICA8ZWxlbWVudCBuYW1lPSJmb28iPg0KKyAgICA8ZWxlbWVudCBuYW1lPSJiYXoiPg0KKyAgICAgIDxlbXB0eS8+DQorICAgIDwvZWxlbWVudD4NCisgIDwvZWxlbWVudD4NCis8L2Nob2ljZT4NCis8L2NvcnJlY3Q+DQorPHZhbGlkPg0KKzxmb28+PGJhci8+PC9mb28+DQorPC92YWxpZD4NCis8dmFsaWQ+DQorPGZvbz48YmF6Lz48L2Zvbz4NCis8L3ZhbGlkPg0KKzxpbnZhbGlkPg0KKzxmb28vPg0KKzwvaW52YWxpZD4NCis8aW52YWxpZD4NCis8Zm9vPjxiYXIvPjxiYXIvPjwvZm9vPg0KKzwvaW52YWxpZD4NCis8aW52YWxpZD4NCis8Zm9vPjxmb28vPjwvZm9vPg0KKzwvaW52YWxpZD4NCis8aW52YWxpZD4NCis8YmFyLz4NCis8L2ludmFsaWQ+DQorPGludmFsaWQ+DQorPGZvYmF6Lz4NCis8L2ludmFsaWQ+DQorPC90ZXN0Q2FzZT4NCis8L3Rlc3RTdWl0ZT4NCis8dGVzdFN1aXRlPg0KKzxzZWN0aW9uPjYuMi4yPC9zZWN0aW9uPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj42LjIuMjwvc2VjdGlvbj4NCis8Y29ycmVjdD4NCis8ZWxlbWVudCBuYW1lPSJmb28iIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8Z3JvdXA+DQorICAgIDxlbGVtZW50IG5hbWU9ImJhciI+DQorICAgICAgPGVtcHR5Lz4NCisgICAgPC9lbGVtZW50Pg0KKyAgICA8ZWxlbWVudCBuYW1lPSJiYXoiPg0KKyAgICAgIDxlbXB0eS8+DQorICAgIDwvZWxlbWVudD4NCisgIDwvZ3JvdXA+DQorPC9lbGVtZW50Pg0KKzwvY29ycmVjdD4NCis8dmFsaWQ+DQorPGZvbz48YmFyLz48YmF6Lz48L2Zvbz4NCis8L3ZhbGlkPg0KKzxpbnZhbGlkPg0KKzxmb28+PGJhei8+PGJhci8+PC9mb28+DQorPC9pbnZhbGlkPg0KKzxpbnZhbGlkPg0KKzxmb28+PGJhci8+PGJhei8+PGJhci8+PGJhei8+PC9mb28+DQorPC9pbnZhbGlkPg0KKzxpbnZhbGlkPg0KKzxmb28vPg0KKzwvaW52YWxpZD4NCis8aW52YWxpZD4NCis8Zm9vPjxiYXIvPjwvZm9vPg0KKzwvaW52YWxpZD4NCis8aW52YWxpZD4NCis8Zm9vPjxiYXovPjwvZm9vPg0KKzwvaW52YWxpZD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj42LjIuMjwvc2VjdGlvbj4NCis8Y29ycmVjdD4NCis8ZWxlbWVudCBuYW1lPSJmb28iIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8Z3JvdXA+DQorICAgIDxhdHRyaWJ1dGUgbmFtZT0iYmFyIj4NCisgICAgICA8dGV4dC8+DQorICAgIDwvYXR0cmlidXRlPg0KKyAgICA8YXR0cmlidXRlIG5hbWU9ImJheiI+DQorICAgICAgPHRleHQvPg0KKyAgICA8L2F0dHJpYnV0ZT4NCisgIDwvZ3JvdXA+DQorPC9lbGVtZW50Pg0KKzwvY29ycmVjdD4NCis8dmFsaWQ+DQorPGZvbyBiYXI9IngiIGJhej0ieCIvPg0KKzwvdmFsaWQ+DQorPGludmFsaWQ+DQorPGZvby8+DQorPC9pbnZhbGlkPg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjYuMi4yPC9zZWN0aW9uPg0KKzxjb3JyZWN0Pg0KKzxlbGVtZW50IG5hbWU9ImZvbyIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxncm91cD4NCisgICAgPGF0dHJpYnV0ZSBuYW1lPSJiYXIiPg0KKyAgICAgIDx0ZXh0Lz4NCisgICAgPC9hdHRyaWJ1dGU+DQorICAgIDxhdHRyaWJ1dGUgbmFtZT0iYmF6Ij4NCisgICAgICA8dGV4dC8+DQorICAgIDwvYXR0cmlidXRlPg0KKyAgPC9ncm91cD4NCis8L2VsZW1lbnQ+DQorPC9jb3JyZWN0Pg0KKzx2YWxpZD4NCis8Zm9vIGJhcj0ieCIgYmF6PSJ4Ii8+DQorPC92YWxpZD4NCis8aW52YWxpZD4NCis8Zm9vLz4NCis8L2ludmFsaWQ+DQorPGludmFsaWQ+DQorPGZvbyBiYXI9IngiLz4NCis8L2ludmFsaWQ+DQorPGludmFsaWQ+DQorPGZvbyBiYXo9IngiLz4NCis8L2ludmFsaWQ+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Ni4yLjI8L3NlY3Rpb24+DQorPGNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0iZm9vIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPGdyb3VwPg0KKyAgICA8YXR0cmlidXRlIG5hbWU9ImJheiI+DQorICAgICAgPHRleHQvPg0KKyAgICA8L2F0dHJpYnV0ZT4NCisgICAgPGF0dHJpYnV0ZSBuYW1lPSJiYXIiPg0KKyAgICAgIDx0ZXh0Lz4NCisgICAgPC9hdHRyaWJ1dGU+DQorICA8L2dyb3VwPg0KKzwvZWxlbWVudD4NCis8L2NvcnJlY3Q+DQorPHZhbGlkPg0KKzxmb28gYmFyPSJ4IiBiYXo9IngiLz4NCis8L3ZhbGlkPg0KKzxpbnZhbGlkPg0KKzxmb28vPg0KKzwvaW52YWxpZD4NCis8aW52YWxpZD4NCis8Zm9vIGJhcj0ieCIvPg0KKzwvaW52YWxpZD4NCis8aW52YWxpZD4NCis8Zm9vIGJhej0ieCIvPg0KKzwvaW52YWxpZD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj42LjIuMjwvc2VjdGlvbj4NCis8Y29ycmVjdD4NCis8ZWxlbWVudCBuYW1lPSJmb28iIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8Z3JvdXA+DQorICAgIDxhdHRyaWJ1dGUgbmFtZT0iYmFyIj4NCisgICAgICA8dGV4dC8+DQorICAgIDwvYXR0cmlidXRlPg0KKyAgICA8ZWxlbWVudCBuYW1lPSJiYXoiPg0KKyAgICAgIDxlbXB0eS8+DQorICAgIDwvZWxlbWVudD4NCisgIDwvZ3JvdXA+DQorPC9lbGVtZW50Pg0KKzwvY29ycmVjdD4NCis8dmFsaWQ+DQorPGZvbyBiYXI9IngiPjxiYXovPjwvZm9vPg0KKzwvdmFsaWQ+DQorPGludmFsaWQ+DQorPGZvbz48YmF6Lz48L2Zvbz4NCis8L2ludmFsaWQ+DQorPGludmFsaWQ+DQorPGZvbyBiYXI9IngiLz4NCis8L2ludmFsaWQ+DQorPGludmFsaWQ+DQorPGZvbyBiYXo9IngiPjxiYXIvPjwvZm9vPg0KKzwvaW52YWxpZD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj42LjIuMjwvc2VjdGlvbj4NCis8Y29ycmVjdD4NCis8ZWxlbWVudCBuYW1lPSJmb28iIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8Z3JvdXA+DQorICAgIDxlbGVtZW50IG5hbWU9ImJheiI+DQorICAgICAgPGVtcHR5Lz4NCisgICAgPC9lbGVtZW50Pg0KKyAgICA8YXR0cmlidXRlIG5hbWU9ImJhciI+DQorICAgICAgPHRleHQvPg0KKyAgICA8L2F0dHJpYnV0ZT4NCisgIDwvZ3JvdXA+DQorPC9lbGVtZW50Pg0KKzwvY29ycmVjdD4NCis8dmFsaWQ+DQorPGZvbyBiYXI9IngiPjxiYXovPjwvZm9vPg0KKzwvdmFsaWQ+DQorPGludmFsaWQ+DQorPGZvbz48YmF6Lz48L2Zvbz4NCis8L2ludmFsaWQ+DQorPGludmFsaWQ+DQorPGZvbyBiYXI9IngiLz4NCis8L2ludmFsaWQ+DQorPGludmFsaWQ+DQorPGZvbyBiYXo9IngiPjxiYXIvPjwvZm9vPg0KKzwvaW52YWxpZD4NCis8L3Rlc3RDYXNlPg0KKzwvdGVzdFN1aXRlPg0KKzx0ZXN0U3VpdGU+DQorPHNlY3Rpb24+Ni4yLjM8L3NlY3Rpb24+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjYuMi4zPC9zZWN0aW9uPg0KKzxjb3JyZWN0Pg0KKzxlbGVtZW50IG5hbWU9ImZvbyIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxlbXB0eS8+DQorPC9lbGVtZW50Pg0KKzwvY29ycmVjdD4NCis8dmFsaWQ+DQorPGZvby8+DQorPC92YWxpZD4NCis8dmFsaWQ+DQorPGZvbz4gPC9mb28+DQorPC92YWxpZD4NCis8dmFsaWQ+DQorPGZvbz4NCisNCisNCis8L2Zvbz4NCis8L3ZhbGlkPg0KKzx2YWxpZD4NCis8Zm9vPg0KKzw/dGFyZ2V0IGRhdGE/Pg0KKzw/dGFyZ2V0IGRhdGE/Pg0KKzw/dGFyZ2V0IGRhdGE/Pg0KKzw/dGFyZ2V0IGRhdGE/Pg0KKzwvZm9vPg0KKzwvdmFsaWQ+DQorPGludmFsaWQ+DQorPGZvbz54PC9mb28+DQorPC9pbnZhbGlkPg0KKzxpbnZhbGlkPg0KKzxmb28+PGJhci8+PC9mb28+DQorPC9pbnZhbGlkPg0KKzxpbnZhbGlkPg0KKzxmb28gYmFyPSJ4Ii8+DQorPC9pbnZhbGlkPg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjYuMi4zPC9zZWN0aW9uPg0KKzxjb3JyZWN0Pg0KKzxlbGVtZW50IG5hbWU9ImZvbyIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxhdHRyaWJ1dGUgbmFtZT0iYmFyIj4NCisgICAgPGVtcHR5Lz4NCisgIDwvYXR0cmlidXRlPg0KKzwvZWxlbWVudD4NCis8L2NvcnJlY3Q+DQorPHZhbGlkPjxmb28gYmFyPSIiLz48L3ZhbGlkPg0KKzx2YWxpZD48Zm9vIGJhcj0iICIvPjwvdmFsaWQ+DQorPGludmFsaWQ+PGZvbyBiYXI9IngiLz48L2ludmFsaWQ+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Ni4yLjM8L3NlY3Rpb24+DQorPGNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0iZm9vIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPGxpc3Q+DQorICAgIDxlbXB0eS8+DQorICA8L2xpc3Q+DQorPC9lbGVtZW50Pg0KKzwvY29ycmVjdD4NCis8dmFsaWQ+PGZvby8+PC92YWxpZD4NCis8dmFsaWQ+PGZvbz4gPC9mb28+PC92YWxpZD4NCis8aW52YWxpZD48Zm9vPng8L2Zvbz48L2ludmFsaWQ+DQorPGludmFsaWQ+PGZvbz48YmFyLz48L2Zvbz48L2ludmFsaWQ+DQorPGludmFsaWQ+PGZvbyBiYXI9IiIvPjwvaW52YWxpZD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj42LjIuMzwvc2VjdGlvbj4NCis8Y29ycmVjdD4NCis8ZWxlbWVudCBuYW1lPSJmb28iIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8YXR0cmlidXRlIG5hbWU9ImJhciI+DQorICAgIDxsaXN0Pg0KKyAgICAgIDxlbXB0eS8+DQorICAgIDwvbGlzdD4NCisgIDwvYXR0cmlidXRlPg0KKzwvZWxlbWVudD4NCis8L2NvcnJlY3Q+DQorPHZhbGlkPjxmb28gYmFyPSIiLz48L3ZhbGlkPg0KKzx2YWxpZD48Zm9vIGJhcj0iICIvPjwvdmFsaWQ+DQorPGludmFsaWQ+PGZvbyBiYXI9IngiLz48L2ludmFsaWQ+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Ni4yLjM8L3NlY3Rpb24+DQorPGNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0iZm9vIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPGdyb3VwPg0KKyAgICA8ZWxlbWVudCBuYW1lPSJiYXIiPg0KKyAgICAgIDxlbXB0eS8+DQorICAgIDwvZWxlbWVudD4NCisgICAgPGNob2ljZT4NCisgICAgICA8ZW1wdHkvPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9ImJheiI+DQorICAgICAgICA8ZW1wdHkvPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICAgPC9jaG9pY2U+DQorICA8L2dyb3VwPg0KKzwvZWxlbWVudD4NCis8L2NvcnJlY3Q+DQorPHZhbGlkPg0KKzxmb28+PGJhci8+PGJhei8+PC9mb28+DQorPC92YWxpZD4NCis8dmFsaWQ+DQorPGZvbz48YmFyLz48L2Zvbz4NCis8L3ZhbGlkPg0KKzxpbnZhbGlkPg0KKzxmb28+PC9mb28+DQorPC9pbnZhbGlkPg0KKzxpbnZhbGlkPg0KKzxmb28+PGJhci8+PGJhei8+PGJhei8+PC9mb28+DQorPC9pbnZhbGlkPg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxjb3JyZWN0Pg0KKzxlbGVtZW50IG5hbWU9ImZvbyIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxjaG9pY2U+DQorICAgIDxlbXB0eS8+DQorICAgIDxhdHRyaWJ1dGUgbmFtZT0iYmFyIj4NCisgICAgICA8dGV4dC8+DQorICAgIDwvYXR0cmlidXRlPg0KKyAgPC9jaG9pY2U+DQorPC9lbGVtZW50Pg0KKzwvY29ycmVjdD4NCis8dmFsaWQ+DQorPGZvbyBiYXI9IngiLz4NCis8L3ZhbGlkPg0KKzx2YWxpZD4NCis8Zm9vLz4NCis8L3ZhbGlkPg0KKzxpbnZhbGlkPg0KKzxmb28gYmF6PSJ4Ii8+DQorPC9pbnZhbGlkPg0KKzxpbnZhbGlkPg0KKzxmb28+PGJhci8+PC9mb28+DQorPC9pbnZhbGlkPg0KKzwvdGVzdENhc2U+DQorPC90ZXN0U3VpdGU+DQorPHRlc3RTdWl0ZT4NCis8c2VjdGlvbj42LjIuNDwvc2VjdGlvbj4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Ni4yLjQ8L3NlY3Rpb24+DQorPGNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0iZm9vIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPHRleHQvPg0KKzwvZWxlbWVudD4NCis8L2NvcnJlY3Q+DQorPHZhbGlkPg0KKzxmb28vPg0KKzwvdmFsaWQ+DQorPHZhbGlkPg0KKzxmb28+IDwvZm9vPg0KKzwvdmFsaWQ+DQorPHZhbGlkPg0KKzxmb28+eDwvZm9vPg0KKzwvdmFsaWQ+DQorPHZhbGlkPg0KKzxmb28+DQoreA0KKzw/dGFyZ2V0IGRhdGE/Pg0KK3kNCis8L2Zvbz4NCis8L3ZhbGlkPg0KKzxpbnZhbGlkPg0KKzxmb28+PGJhci8+PC9mb28+DQorPC9pbnZhbGlkPg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjYuMi40PC9zZWN0aW9uPg0KKzxjb3JyZWN0Pg0KKzxlbGVtZW50IG5hbWU9ImZvbyIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxncm91cD4NCisgICAgPHRleHQvPg0KKyAgICA8ZWxlbWVudCBuYW1lPSJiYXIiPg0KKyAgICAgIDxlbXB0eS8+DQorICAgIDwvZWxlbWVudD4NCisgIDwvZ3JvdXA+DQorPC9lbGVtZW50Pg0KKzwvY29ycmVjdD4NCis8dmFsaWQ+DQorPGZvbz48YmFyLz48L2Zvbz4NCis8L3ZhbGlkPg0KKzx2YWxpZD4NCis8Zm9vPg0KKzxiYXIvPg0KKzwvZm9vPg0KKzwvdmFsaWQ+DQorPHZhbGlkPg0KKzxmb28+DQoreA0KKzxiYXIvPg0KKzwvZm9vPg0KKzwvdmFsaWQ+DQorPHZhbGlkPg0KKzxmb28+DQoreA0KKzw/dGFyZ2V0IGRhdGE/Pg0KK3kNCis8YmFyLz48L2Zvbz4NCis8L3ZhbGlkPg0KKzxpbnZhbGlkPg0KKzxmb28vPg0KKzwvaW52YWxpZD4NCis8aW52YWxpZD4NCis8Zm9vPjxiYXIvPng8L2Zvbz4NCis8L2ludmFsaWQ+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Ni4yLjQ8L3NlY3Rpb24+DQorPGNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0iZm9vIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPGdyb3VwPg0KKyAgICA8ZWxlbWVudCBuYW1lPSJiYXIiPg0KKyAgICAgIDxlbXB0eS8+DQorICAgIDwvZWxlbWVudD4NCisgICAgPHRleHQvPg0KKyAgPC9ncm91cD4NCis8L2VsZW1lbnQ+DQorPC9jb3JyZWN0Pg0KKzx2YWxpZD4NCis8Zm9vPjxiYXIvPjwvZm9vPg0KKzwvdmFsaWQ+DQorPHZhbGlkPg0KKzxmb28+DQorPGJhci8+DQorPC9mb28+DQorPC92YWxpZD4NCis8aW52YWxpZD4NCis8Zm9vPg0KK3gNCis8YmFyLz4NCis8L2Zvbz4NCis8L2ludmFsaWQ+DQorPHZhbGlkPg0KKzxmb28+DQorPGJhci8+DQoreA0KKzw/dGFyZ2V0IGRhdGE/Pg0KK3kNCis8L2Zvbz4NCis8L3ZhbGlkPg0KKzxpbnZhbGlkPg0KKzxmb28vPg0KKzwvaW52YWxpZD4NCis8dmFsaWQ+DQorPGZvbz48YmFyLz54PC9mb28+DQorPC92YWxpZD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj42LjIuNDwvc2VjdGlvbj4NCis8Y29ycmVjdD4NCis8ZWxlbWVudCBuYW1lPSJmb28iIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8aW50ZXJsZWF2ZT4NCisgICAgPGVsZW1lbnQgbmFtZT0iYmFyIj4NCisgICAgICA8ZW1wdHkvPg0KKyAgICA8L2VsZW1lbnQ+DQorICAgIDx0ZXh0Lz4NCisgIDwvaW50ZXJsZWF2ZT4NCis8L2VsZW1lbnQ+DQorPC9jb3JyZWN0Pg0KKzx2YWxpZD4NCis8Zm9vPjxiYXIvPjwvZm9vPg0KKzwvdmFsaWQ+DQorPHZhbGlkPg0KKzxmb28+DQorPGJhci8+DQorPC9mb28+DQorPC92YWxpZD4NCis8dmFsaWQ+DQorPGZvbz4NCit4DQorPGJhci8+DQorPC9mb28+DQorPC92YWxpZD4NCis8dmFsaWQ+DQorPGZvbz4NCis8YmFyLz4NCit4DQorPD90YXJnZXQgZGF0YT8+DQoreQ0KKzwvZm9vPg0KKzwvdmFsaWQ+DQorPGludmFsaWQ+DQorPGZvby8+DQorPC9pbnZhbGlkPg0KKzx2YWxpZD4NCis8Zm9vPjxiYXIvPng8L2Zvbz4NCis8L3ZhbGlkPg0KKzx2YWxpZD4NCis8Zm9vPng8YmFyLz54PC9mb28+DQorPC92YWxpZD4NCis8aW52YWxpZD4NCis8Zm9vPng8YmFyLz54PGJhci8+PC9mb28+DQorPC9pbnZhbGlkPg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjYuMi40PC9zZWN0aW9uPg0KKzxjb3JyZWN0Pg0KKzxlbGVtZW50IG5hbWU9ImZvbyIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxhdHRyaWJ1dGUgbmFtZT0iYmFyIj4NCisgICAgPHRleHQvPg0KKyAgPC9hdHRyaWJ1dGU+DQorPC9lbGVtZW50Pg0KKzwvY29ycmVjdD4NCis8dmFsaWQ+DQorPGZvbyBiYXI9IiIvPg0KKzwvdmFsaWQ+DQorPHZhbGlkPg0KKzxmb28gYmFyPSJ4Ii8+DQorPC92YWxpZD4NCis8dmFsaWQ+DQorPGZvbyBiYXI9IiAiLz4NCis8L3ZhbGlkPg0KKzxpbnZhbGlkPg0KKzxmb28vPg0KKzwvaW52YWxpZD4NCis8aW52YWxpZD4NCis8Zm9vPjxiYXIvPng8YmFyLz48L2Zvbz4NCis8L2ludmFsaWQ+DQorPC90ZXN0Q2FzZT4NCis8L3Rlc3RTdWl0ZT4NCis8dGVzdFN1aXRlPg0KKzxzZWN0aW9uPjYuMi41PC9zZWN0aW9uPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj42LjIuNTwvc2VjdGlvbj4NCis8Y29ycmVjdD4NCis8ZWxlbWVudCBuYW1lPSJmb28iIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8b25lT3JNb3JlPg0KKyAgICA8ZWxlbWVudCBuYW1lPSJiYXIiPg0KKyAgICAgIDxlbXB0eS8+DQorICAgIDwvZWxlbWVudD4NCisgIDwvb25lT3JNb3JlPg0KKzwvZWxlbWVudD4NCis8L2NvcnJlY3Q+DQorPHZhbGlkPg0KKzxmb28+PGJhci8+PC9mb28+DQorPC92YWxpZD4NCis8dmFsaWQ+DQorPGZvbz48YmFyLz48YmFyLz48L2Zvbz4NCis8L3ZhbGlkPg0KKzx2YWxpZD4NCis8Zm9vPjxiYXIvPjxiYXIvPjxiYXIvPjwvZm9vPg0KKzwvdmFsaWQ+DQorPGludmFsaWQ+DQorPGZvby8+DQorPC9pbnZhbGlkPg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjYuMi41PC9zZWN0aW9uPg0KKzxjb3JyZWN0Pg0KKzxlbGVtZW50IG5hbWU9ImZvbyIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxvbmVPck1vcmU+DQorICAgIDxncm91cD4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJiYXIiPg0KKwk8ZW1wdHkvPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJiYXIiPg0KKwk8ZW1wdHkvPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICAgPC9ncm91cD4NCisgIDwvb25lT3JNb3JlPg0KKzwvZWxlbWVudD4NCis8L2NvcnJlY3Q+DQorPHZhbGlkPg0KKzxmb28+PGJhci8+PGJhci8+PC9mb28+DQorPC92YWxpZD4NCis8dmFsaWQ+DQorPGZvbz48YmFyLz48YmFyLz48YmFyLz48YmFyLz48L2Zvbz4NCis8L3ZhbGlkPg0KKzx2YWxpZD4NCis8Zm9vPjxiYXIvPjxiYXIvPjxiYXIvPjxiYXIvPjxiYXIvPjxiYXIvPjwvZm9vPg0KKzwvdmFsaWQ+DQorPGludmFsaWQ+DQorPGZvbz48YmFyLz48L2Zvbz4NCis8L2ludmFsaWQ+DQorPGludmFsaWQ+DQorPGZvby8+DQorPC9pbnZhbGlkPg0KKzxpbnZhbGlkPg0KKzxmb28+PGJhci8+PGJhci8+PGJhci8+PC9mb28+DQorPC9pbnZhbGlkPg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjYuMi41PC9zZWN0aW9uPg0KKzxjb3JyZWN0Pg0KKzxlbGVtZW50IG5hbWU9ImZvbyIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxvbmVPck1vcmU+DQorICAgIDxhdHRyaWJ1dGU+DQorICAgICAgPG5zTmFtZSBucz0iIi8+DQorICAgICAgPHRleHQvPg0KKyAgICA8L2F0dHJpYnV0ZT4NCisgIDwvb25lT3JNb3JlPg0KKzwvZWxlbWVudD4NCis8L2NvcnJlY3Q+DQorPHZhbGlkPg0KKzxmb28geD0iIi8+DQorPC92YWxpZD4NCis8dmFsaWQ+DQorPGZvbyB4PSIiIHk9IiIvPg0KKzwvdmFsaWQ+DQorPHZhbGlkPg0KKzxmb28geD0iIiB5PSIiIHo9IiIvPg0KKzwvdmFsaWQ+DQorPGludmFsaWQ+DQorPGZvby8+DQorPC9pbnZhbGlkPg0KKzxpbnZhbGlkPg0KKzxmb28geG1sbnM6bnM9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20iIG5zOng9IiIvPg0KKzwvaW52YWxpZD4NCis8aW52YWxpZD4NCis8Zm9vIHg9IiIgeG1sbnM6bnM9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20iIG5zOng9IiIvPg0KKzwvaW52YWxpZD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj42LjIuNTwvc2VjdGlvbj4NCis8Y29ycmVjdD4NCis8ZWxlbWVudCBuYW1lPSJmb28iIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8b25lT3JNb3JlPg0KKyAgICA8Y2hvaWNlPg0KKyAgICAgIDxhdHRyaWJ1dGUgbmFtZT0iYmFyIj4NCisgICAgICAgIDx0ZXh0Lz4NCisgICAgICA8L2F0dHJpYnV0ZT4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJiYXIiPg0KKyAgICAgICAgPHRleHQvPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICAgPC9jaG9pY2U+DQorICA8L29uZU9yTW9yZT4NCis8L2VsZW1lbnQ+DQorPC9jb3JyZWN0Pg0KKzx2YWxpZD4NCis8Zm9vIGJhcj0iIj48YmFyLz48YmFyLz48L2Zvbz4NCis8L3ZhbGlkPg0KKzx2YWxpZD4NCis8Zm9vPjxiYXIvPjwvZm9vPg0KKzwvdmFsaWQ+DQorPHZhbGlkPg0KKzxmb28gYmFyPSIiLz4NCis8L3ZhbGlkPg0KKzxpbnZhbGlkPg0KKzxmb28vPg0KKzwvaW52YWxpZD4NCis8L3Rlc3RDYXNlPg0KKzwvdGVzdFN1aXRlPg0KKzx0ZXN0U3VpdGU+DQorPHNlY3Rpb24+Ni4yLjY8L3NlY3Rpb24+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjYuMi42PC9zZWN0aW9uPg0KKzxjb3JyZWN0Pg0KKzxlbGVtZW50IG5hbWU9ImZvbyIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxpbnRlcmxlYXZlPg0KKyAgICA8ZWxlbWVudCBuYW1lPSJiYXIiPg0KKyAgICAgIDxlbXB0eS8+DQorICAgIDwvZWxlbWVudD4NCisgICAgPGVsZW1lbnQgbmFtZT0iYmF6Ij4NCisgICAgICA8ZW1wdHkvPg0KKyAgICA8L2VsZW1lbnQ+DQorICA8L2ludGVybGVhdmU+DQorPC9lbGVtZW50Pg0KKzwvY29ycmVjdD4NCis8dmFsaWQ+DQorPGZvbz48YmFyLz48YmF6Lz48L2Zvbz4NCis8L3ZhbGlkPg0KKzx2YWxpZD4NCis8Zm9vPjxiYXovPjxiYXIvPjwvZm9vPg0KKzwvdmFsaWQ+DQorPGludmFsaWQ+DQorPGZvbz48YmFyLz48L2Zvbz4NCis8L2ludmFsaWQ+DQorPGludmFsaWQ+DQorPGZvbz48YmF6Lz48L2Zvbz4NCis8L2ludmFsaWQ+DQorPGludmFsaWQ+DQorPGZvbz48YmFyLz48YmFyLz48L2Zvbz4NCis8L2ludmFsaWQ+DQorPGludmFsaWQ+DQorPGZvby8+DQorPC9pbnZhbGlkPg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjYuMi42PC9zZWN0aW9uPg0KKzxjb3JyZWN0Pg0KKzxlbGVtZW50IG5hbWU9ImZvbyIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxpbnRlcmxlYXZlPg0KKyAgICA8Z3JvdXA+DQorICAgICAgPGVsZW1lbnQgbmFtZT0iYmFyMSI+DQorICAgICAgICA8ZW1wdHkvPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJiYXIyIj4NCisgICAgICAgIDxlbXB0eS8+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgICA8L2dyb3VwPg0KKyAgICA8ZWxlbWVudCBuYW1lPSJiYXoiPg0KKyAgICAgIDxlbXB0eS8+DQorICAgIDwvZWxlbWVudD4NCisgIDwvaW50ZXJsZWF2ZT4NCis8L2VsZW1lbnQ+DQorPC9jb3JyZWN0Pg0KKzx2YWxpZD4NCis8Zm9vPjxiYXovPjxiYXIxLz48YmFyMi8+PC9mb28+DQorPC92YWxpZD4NCis8dmFsaWQ+DQorPGZvbz48YmFyMS8+PGJhei8+PGJhcjIvPjwvZm9vPg0KKzwvdmFsaWQ+DQorPHZhbGlkPg0KKzxmb28+PGJhcjEvPjxiYXIyLz48YmF6Lz48L2Zvbz4NCis8L3ZhbGlkPg0KKzxpbnZhbGlkPg0KKzxmb28+PGJhei8+PGJhcjIvPjxiYXIxLz48L2Zvbz4NCis8L2ludmFsaWQ+DQorPGludmFsaWQ+DQorPGZvbz48YmFyMi8+PGJhcjEvPjwvZm9vPg0KKzwvaW52YWxpZD4NCis8aW52YWxpZD4NCis8Zm9vPjxiYXovPjxiYXIyLz48YmFyMS8+PC9mb28+DQorPC9pbnZhbGlkPg0KKzxpbnZhbGlkPg0KKzxmb28+PGJhei8+PGJhcjEvPjwvZm9vPg0KKzwvaW52YWxpZD4NCis8aW52YWxpZD4NCis8Zm9vPjxiYXovPjxiYXIyLz48L2Zvbz4NCis8L2ludmFsaWQ+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Ni4yLjY8L3NlY3Rpb24+DQorPGNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0iZm9vIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPGludGVybGVhdmU+DQorICAgIDxhdHRyaWJ1dGUgbmFtZT0iYmFyIj4NCisgICAgICA8dGV4dC8+DQorICAgIDwvYXR0cmlidXRlPg0KKyAgICA8YXR0cmlidXRlIG5hbWU9ImJheiI+DQorICAgICAgPHRleHQvPg0KKyAgICA8L2F0dHJpYnV0ZT4NCisgIDwvaW50ZXJsZWF2ZT4NCis8L2VsZW1lbnQ+DQorPC9jb3JyZWN0Pg0KKzx2YWxpZD4NCis8Zm9vIGJhcj0iIiBiYXo9IiIvPg0KKzwvdmFsaWQ+DQorPGludmFsaWQ+DQorPGZvby8+DQorPC9pbnZhbGlkPg0KKzxpbnZhbGlkPg0KKzxmb28vPg0KKzwvaW52YWxpZD4NCis8aW52YWxpZD4NCis8Zm9vIGJhcj0iIi8+DQorPC9pbnZhbGlkPg0KKzxpbnZhbGlkPg0KKzxmb28gYmF6PSIiLz4NCis8L2ludmFsaWQ+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Ni4yLjY8L3NlY3Rpb24+DQorPGNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0iZm9vIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPGludGVybGVhdmU+DQorICAgIDxlbGVtZW50IG5hbWU9ImJhciI+DQorICAgICAgPGVtcHR5Lz4NCisgICAgPC9lbGVtZW50Pg0KKyAgICA8YXR0cmlidXRlIG5hbWU9ImJheiI+DQorICAgICAgPHRleHQvPg0KKyAgICA8L2F0dHJpYnV0ZT4NCisgIDwvaW50ZXJsZWF2ZT4NCis8L2VsZW1lbnQ+DQorPC9jb3JyZWN0Pg0KKzx2YWxpZD4NCis8Zm9vIGJhej0iIj48YmFyLz48L2Zvbz4NCis8L3ZhbGlkPg0KKzxpbnZhbGlkPg0KKzxmb28vPg0KKzwvaW52YWxpZD4NCis8aW52YWxpZD4NCis8Zm9vIGJhcj0iIi8+DQorPC9pbnZhbGlkPg0KKzxpbnZhbGlkPg0KKzxmb28gYmFyPSIiPjxiYXovPjxiYXovPjwvZm9vPg0KKzwvaW52YWxpZD4NCis8aW52YWxpZD4NCis8Zm9vPjxiYXovPjxiYXovPjwvZm9vPg0KKzwvaW52YWxpZD4NCis8L3Rlc3RDYXNlPg0KKzwvdGVzdFN1aXRlPg0KKzx0ZXN0U3VpdGU+DQorPHNlY3Rpb24+Ni4yLjc8L3NlY3Rpb24+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjYuMi43PC9zZWN0aW9uPg0KKzxjb3JyZWN0Pg0KKzxlbGVtZW50IG5hbWU9ImZvbyIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxhdHRyaWJ1dGU+DQorICAgIDxuYW1lIG5zPSIiPmJhcjwvbmFtZT4NCisgICAgPHZhbHVlIHR5cGU9InN0cmluZyIgZGF0YXR5cGVMaWJyYXJ5PSIiPmJhejwvdmFsdWU+DQorICA8L2F0dHJpYnV0ZT4NCis8L2VsZW1lbnQ+DQorPC9jb3JyZWN0Pg0KKzx2YWxpZD4NCis8Zm9vIGJhcj0iYmF6Ii8+DQorPC92YWxpZD4NCis8aW52YWxpZD4NCis8Zm9vIGJhcj0iIGJheiIvPg0KKzwvaW52YWxpZD4NCis8aW52YWxpZD4NCis8Zm9vIGJhcj0iYiIvPg0KKzwvaW52YWxpZD4NCis8aW52YWxpZD4NCis8Zm9vIGJhcj0iIi8+DQorPC9pbnZhbGlkPg0KKzxpbnZhbGlkPg0KKzxmb28gYmFyPSIgIi8+DQorPC9pbnZhbGlkPg0KKzxpbnZhbGlkPg0KKzxmb28+PGJhcj5iYXo8L2Jhcj48L2Zvbz4NCis8L2ludmFsaWQ+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Ni4yLjc8L3NlY3Rpb24+DQorPGNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0iZm9vIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPGF0dHJpYnV0ZT4NCisgICAgPG5hbWUgbnM9IiI+YmFyPC9uYW1lPg0KKyAgICA8Y2hvaWNlPg0KKyAgICAgIDx2YWx1ZSB0eXBlPSJzdHJpbmciIGRhdGF0eXBlTGlicmFyeT0iIj5iYXo8L3ZhbHVlPg0KKyAgICAgIDxlbXB0eS8+DQorICAgIDwvY2hvaWNlPg0KKyAgPC9hdHRyaWJ1dGU+DQorPC9lbGVtZW50Pg0KKzwvY29ycmVjdD4NCis8dmFsaWQ+DQorPGZvbyBiYXI9ImJheiIvPg0KKzwvdmFsaWQ+DQorPHZhbGlkPg0KKzxmb28gYmFyPSIiLz4NCis8L3ZhbGlkPg0KKzxpbnZhbGlkPg0KKzxmb28gYmFyPSIgYmF6Ii8+DQorPC9pbnZhbGlkPg0KKzxpbnZhbGlkPg0KKzxmb28gYmFyPSJiIi8+DQorPC9pbnZhbGlkPg0KKzxpbnZhbGlkPg0KKzxmb28+PGJhcj5iYXo8L2Jhcj48L2Zvbz4NCis8L2ludmFsaWQ+DQorPGludmFsaWQ+DQorPGZvbz48YmFyLz48L2Zvbz4NCis8L2ludmFsaWQ+DQorPGludmFsaWQ+DQorPGZvby8+DQorPC9pbnZhbGlkPg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjYuMi43PC9zZWN0aW9uPg0KKzxjb3JyZWN0Pg0KKzxlbGVtZW50IG5hbWU9ImZvbyIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxhdHRyaWJ1dGU+DQorICAgIDxuYW1lIG5zPSIiPmJhcjwvbmFtZT4NCisgICAgPHZhbHVlIHR5cGU9InN0cmluZyIvPg0KKyAgPC9hdHRyaWJ1dGU+DQorPC9lbGVtZW50Pg0KKzwvY29ycmVjdD4NCis8dmFsaWQ+DQorPGZvbyBiYXI9IiIvPg0KKzwvdmFsaWQ+DQorPGludmFsaWQ+DQorPGZvbyBiYXI9IiAiLz4NCis8L2ludmFsaWQ+DQorPGludmFsaWQ+DQorPGZvbyBiYXI9IngiLz4NCis8L2ludmFsaWQ+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Ni4yLjc8L3NlY3Rpb24+DQorPGNvcnJlY3Q+DQorPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxuYW1lIG5zPSIiPmZvbzwvbmFtZT4NCisgIDxncm91cD4NCisgICAgPGVsZW1lbnQ+DQorICAgICAgPG5hbWUgbnM9IiI+YmFyPC9uYW1lPg0KKyAgICAgIDxlbXB0eS8+DQorICAgIDwvZWxlbWVudD4NCisgICAgPGVsZW1lbnQ+DQorICAgICAgPG5hbWUgbnM9IiI+YmF6PC9uYW1lPg0KKyAgICAgIDxlbXB0eS8+DQorICAgIDwvZWxlbWVudD4NCisgIDwvZ3JvdXA+DQorPC9lbGVtZW50Pg0KKzwvY29ycmVjdD4NCis8dmFsaWQ+DQorPGZvbz48YmFyLz48YmF6Lz48L2Zvbz4NCis8L3ZhbGlkPg0KKzx2YWxpZD4NCis8Zm9vPg0KKzxiYXIvPg0KKzxiYXovPg0KKzwvZm9vPg0KKzwvdmFsaWQ+DQorPHZhbGlkPg0KKzxmb28+DQorPGJhci8+DQorJiN4RDsNCis8YmF6Lz4NCis8L2Zvbz4NCis8L3ZhbGlkPg0KKzxpbnZhbGlkPg0KKzxmb28vPg0KKzwvaW52YWxpZD4NCis8aW52YWxpZD4NCis8YmFyPjxiYXIvPjxiYXovPjwvYmFyPg0KKzwvaW52YWxpZD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj42LjIuNzwvc2VjdGlvbj4NCis8c2VjdGlvbj42LjIuODwvc2VjdGlvbj4NCis8Y29ycmVjdD4NCis8ZWxlbWVudCBuYW1lPSJmb28iIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8dmFsdWUgdHlwZT0ic3RyaW5nIi8+DQorPC9lbGVtZW50Pg0KKzwvY29ycmVjdD4NCis8dmFsaWQ+PGZvby8+PC92YWxpZD4NCis8aW52YWxpZD48Zm9vPiA8L2Zvbz48L2ludmFsaWQ+DQorPGludmFsaWQ+PGZvbz54PC9mb28+PC9pbnZhbGlkPg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjYuMi43PC9zZWN0aW9uPg0KKzxzZWN0aW9uPjYuMi44PC9zZWN0aW9uPg0KKzxjb3JyZWN0Pg0KKzxlbGVtZW50IG5hbWU9ImZvbyIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxjaG9pY2U+DQorICAgIDx2YWx1ZSB0eXBlPSJzdHJpbmciLz4NCisgICAgPGVtcHR5Lz4NCisgIDwvY2hvaWNlPg0KKzwvZWxlbWVudD4NCis8L2NvcnJlY3Q+DQorPHZhbGlkPjxmb28vPjwvdmFsaWQ+DQorPHZhbGlkPjxmb28+IDwvZm9vPjwvdmFsaWQ+DQorPGludmFsaWQ+PGZvbz54PC9mb28+PC9pbnZhbGlkPg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjYuMi43PC9zZWN0aW9uPg0KKzxzZWN0aW9uPjYuMi44PC9zZWN0aW9uPg0KKzxzZWN0aW9uPjYuMi4xMDwvc2VjdGlvbj4NCis8Y29ycmVjdD4NCis8ZWxlbWVudCBuYW1lPSJmb28iIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8bGlzdD4NCisgICAgPGRhdGEgdHlwZT0idG9rZW4iLz4NCisgIDwvbGlzdD4NCis8L2VsZW1lbnQ+DQorPC9jb3JyZWN0Pg0KKzxpbnZhbGlkPjxmb28vPjwvaW52YWxpZD4NCis8aW52YWxpZD48Zm9vPiA8L2Zvbz48L2ludmFsaWQ+DQorPHZhbGlkPjxmb28+eDwvZm9vPjwvdmFsaWQ+DQorPHZhbGlkPjxmb28+IHggPC9mb28+PC92YWxpZD4NCis8aW52YWxpZD48Zm9vPnggeTwvZm9vPjwvaW52YWxpZD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj42LjIuNzwvc2VjdGlvbj4NCis8c2VjdGlvbj42LjIuODwvc2VjdGlvbj4NCis8cmVxdWlyZXMgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiLz4NCis8Y29ycmVjdD4NCis8ZWxlbWVudCBuYW1lPSJmb28iIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorIDxkYXRhIHR5cGU9InN0cmluZyINCisgICAgICAgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPg0KKyAgIDxwYXJhbSBuYW1lPSJtaW5MZW5ndGgiPjI8L3BhcmFtPg0KKyA8L2RhdGE+DQorPC9lbGVtZW50Pg0KKzwvY29ycmVjdD4NCis8dmFsaWQ+PGZvbz54eDwvZm9vPjwvdmFsaWQ+DQorPHZhbGlkPjxmb28+eHh4PC9mb28+PC92YWxpZD4NCis8dmFsaWQ+PGZvbz4gIDwvZm9vPjwvdmFsaWQ+DQorPHZhbGlkPjxmb28+ICAgPC9mb28+PC92YWxpZD4NCis8aW52YWxpZD48Zm9vPng8L2Zvbz48L2ludmFsaWQ+DQorPGludmFsaWQ+PGZvbz4gPC9mb28+PC9pbnZhbGlkPg0KKzxpbnZhbGlkPjxmb28vPjwvaW52YWxpZD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj42LjIuNzwvc2VjdGlvbj4NCis8c2VjdGlvbj42LjIuODwvc2VjdGlvbj4NCis8Y29ycmVjdD4NCis8ZWxlbWVudCBuYW1lPSJmb28iIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8Y2hvaWNlPg0KKyAgICA8dmFsdWU+eDwvdmFsdWU+DQorICAgIDxlbGVtZW50IG5hbWU9ImJhciI+DQorICAgICAgPGVtcHR5Lz4NCisgICAgPC9lbGVtZW50Pg0KKyAgPC9jaG9pY2U+DQorPC9lbGVtZW50Pg0KKzwvY29ycmVjdD4NCis8dmFsaWQ+PGZvbz4geCA8L2Zvbz48L3ZhbGlkPg0KKzx2YWxpZD48Zm9vPng8L2Zvbz48L3ZhbGlkPg0KKzxpbnZhbGlkPjxmb28+eTwvZm9vPjwvaW52YWxpZD4NCis8dmFsaWQ+PGZvbz48YmFyLz48L2Zvbz48L3ZhbGlkPg0KKzx2YWxpZD4NCis8Zm9vPg0KKzxiYXIvPg0KKzwvZm9vPg0KKzwvdmFsaWQ+DQorPGludmFsaWQ+PGZvbz54PGJhci8+PC9mb28+PC9pbnZhbGlkPg0KKzxpbnZhbGlkPjxmb28vPjwvaW52YWxpZD4NCis8aW52YWxpZD48Zm9vPjxiYXIvPng8L2Zvbz48L2ludmFsaWQ+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Ni4yLjc8L3NlY3Rpb24+DQorPHNlY3Rpb24+Ni4yLjg8L3NlY3Rpb24+DQorPGNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0iZm9vIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPGNob2ljZT4NCisgICAgPHZhbHVlPng8L3ZhbHVlPg0KKyAgICA8bWl4ZWQ+DQorICAgICAgPGVsZW1lbnQgbmFtZT0iYmFyIj4NCisgICAgICAgIDxlbXB0eS8+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgICA8L21peGVkPg0KKyAgPC9jaG9pY2U+DQorPC9lbGVtZW50Pg0KKzwvY29ycmVjdD4NCis8dmFsaWQ+PGZvbz4geCA8L2Zvbz48L3ZhbGlkPg0KKzx2YWxpZD48Zm9vPng8L2Zvbz48L3ZhbGlkPg0KKzxpbnZhbGlkPjxmb28+eTwvZm9vPjwvaW52YWxpZD4NCis8dmFsaWQ+PGZvbz48YmFyLz48L2Zvbz48L3ZhbGlkPg0KKzx2YWxpZD4NCis8Zm9vPg0KKzxiYXIvPg0KKzwvZm9vPg0KKzwvdmFsaWQ+DQorPHZhbGlkPjxmb28+eDxiYXIvPjwvZm9vPjwvdmFsaWQ+DQorPGludmFsaWQ+PGZvby8+PC9pbnZhbGlkPg0KKzx2YWxpZD48Zm9vPjxiYXIvPng8L2Zvbz48L3ZhbGlkPg0KKzwvdGVzdENhc2U+DQorPC90ZXN0U3VpdGU+DQorPHRlc3RTdWl0ZT4NCis8c2VjdGlvbj42LjIuODwvc2VjdGlvbj4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Ni4yLjg8L3NlY3Rpb24+DQorPGNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0iZm9vIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPGRhdGEgdHlwZT0ic3RyaW5nIj4NCisgICAgPGV4Y2VwdD4NCisgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgPHZhbHVlPng8L3ZhbHVlPg0KKyAgICAgICAgPHZhbHVlPnk8L3ZhbHVlPg0KKyAgICAgIDwvY2hvaWNlPg0KKyAgICA8L2V4Y2VwdD4NCisgIDwvZGF0YT4NCis8L2VsZW1lbnQ+DQorPC9jb3JyZWN0Pg0KKzx2YWxpZD4NCis8Zm9vPnh5enp5PC9mb28+DQorPC92YWxpZD4NCis8aW52YWxpZD4NCis8Zm9vPng8L2Zvbz4NCis8L2ludmFsaWQ+DQorPGludmFsaWQ+DQorPGZvbz55PC9mb28+DQorPC9pbnZhbGlkPg0KKzxpbnZhbGlkPg0KKzxmb28+IHg8L2Zvbz4NCis8L2ludmFsaWQ+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Ni4yLjg8L3NlY3Rpb24+DQorPGNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0iZm9vIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPGRhdGEgdHlwZT0ic3RyaW5nIi8+DQorPC9lbGVtZW50Pg0KKzwvY29ycmVjdD4NCis8dmFsaWQ+DQorPGZvby8+DQorPC92YWxpZD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj42LjIuODwvc2VjdGlvbj4NCis8Y29ycmVjdD4NCis8ZWxlbWVudCBuYW1lPSJmb28iIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8dmFsdWUvPg0KKzwvZWxlbWVudD4NCis8L2NvcnJlY3Q+DQorPHZhbGlkPg0KKzxmb28vPg0KKzwvdmFsaWQ+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Ni4yLjg8L3NlY3Rpb24+DQorPGNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0iZm9vIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPGRhdGEgdHlwZT0ic3RyaW5nIj4NCisgICAgPGV4Y2VwdD4NCisgICAgICA8dmFsdWUvPg0KKyAgICA8L2V4Y2VwdD4NCisgIDwvZGF0YT4NCis8L2VsZW1lbnQ+DQorPC9jb3JyZWN0Pg0KKzxpbnZhbGlkPg0KKzxmb28vPg0KKzwvaW52YWxpZD4NCis8dmFsaWQ+DQorPGZvbz54PC9mb28+DQorPC92YWxpZD4NCis8L3Rlc3RDYXNlPg0KKzwvdGVzdFN1aXRlPg0KKzx0ZXN0U3VpdGU+DQorPHNlY3Rpb24+Ni4yLjk8L3NlY3Rpb24+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjYuMi45PC9zZWN0aW9uPg0KKzxjb3JyZWN0Pg0KKzxlbGVtZW50IG5hbWU9ImZvbyIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxkYXRhIHR5cGU9InN0cmluZyIgZGF0YXR5cGVMaWJyYXJ5PSIiLz4NCis8L2VsZW1lbnQ+DQorPC9jb3JyZWN0Pg0KKzx2YWxpZD4NCis8Zm9vPnh5enp5PC9mb28+DQorPC92YWxpZD4NCis8dmFsaWQ+DQorPGZvbz4NCit4DQorPD90YXJnZXQgZGF0YT8+DQoreQ0KKzw/dGFyZ2V0IGRhdGE/Pg0KK3oNCis8L2Zvbz4NCis8L3ZhbGlkPg0KKzx2YWxpZD4NCis8Zm9vPjwvZm9vPg0KKzwvdmFsaWQ+DQorPHZhbGlkPg0KKzxmb28+DQorPC9mb28+DQorPC92YWxpZD4NCis8aW52YWxpZD4NCis8Zm9vPjxiYXIvPjwvZm9vPg0KKzwvaW52YWxpZD4NCis8aW52YWxpZD4NCis8Zm9vIGJhcj0iIi8+DQorPC9pbnZhbGlkPg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjYuMi45PC9zZWN0aW9uPg0KKzxjb3JyZWN0Pg0KKzxlbGVtZW50IG5hbWU9ImZvbyIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxkYXRhIHR5cGU9InRva2VuIiBkYXRhdHlwZUxpYnJhcnk9IiIvPg0KKzwvZWxlbWVudD4NCis8L2NvcnJlY3Q+DQorPHZhbGlkPg0KKzxmb28+eHl6enk8L2Zvbz4NCis8L3ZhbGlkPg0KKzx2YWxpZD4NCis8Zm9vPg0KK3gNCis8P3RhcmdldCBkYXRhPz4NCit5DQorPD90YXJnZXQgZGF0YT8+DQoreg0KKzwvZm9vPg0KKzwvdmFsaWQ+DQorPHZhbGlkPg0KKzxmb28+PC9mb28+DQorPC92YWxpZD4NCis8dmFsaWQ+DQorPGZvbz4NCis8L2Zvbz4NCis8L3ZhbGlkPg0KKzxpbnZhbGlkPg0KKzxmb28+PGJhci8+PC9mb28+DQorPC9pbnZhbGlkPg0KKzxpbnZhbGlkPg0KKzxmb28gYmFyPSIiLz4NCis8L2ludmFsaWQ+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Ni4yLjk8L3NlY3Rpb24+DQorPGNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0iZm9vIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPHZhbHVlIHR5cGU9InN0cmluZyIgZGF0YXR5cGVMaWJyYXJ5PSIiPng8L3ZhbHVlPg0KKzwvZWxlbWVudD4NCis8L2NvcnJlY3Q+DQorPHZhbGlkPjxmb28+eDwvZm9vPjwvdmFsaWQ+DQorPGludmFsaWQ+PGZvbz54eTwvZm9vPjwvaW52YWxpZD4NCis8aW52YWxpZD48Zm9vPiB4PC9mb28+PC9pbnZhbGlkPg0KKzxpbnZhbGlkPjxmb28vPjwvaW52YWxpZD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj42LjIuOTwvc2VjdGlvbj4NCis8Y29ycmVjdD4NCis8ZWxlbWVudCBuYW1lPSJmb28iIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8dmFsdWUgdHlwZT0ic3RyaW5nIiBkYXRhdHlwZUxpYnJhcnk9IiI+IHg8L3ZhbHVlPg0KKzwvZWxlbWVudD4NCis8L2NvcnJlY3Q+DQorPHZhbGlkPjxmb28+IHg8L2Zvbz48L3ZhbGlkPg0KKzxpbnZhbGlkPjxmb28+IHh5PC9mb28+PC9pbnZhbGlkPg0KKzxpbnZhbGlkPjxmb28+eDwvZm9vPjwvaW52YWxpZD4NCis8aW52YWxpZD48Zm9vLz48L2ludmFsaWQ+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Ni4yLjk8L3NlY3Rpb24+DQorPGNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0iZm9vIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPHZhbHVlIHR5cGU9InRva2VuIiBkYXRhdHlwZUxpYnJhcnk9IiI+eDwvdmFsdWU+DQorPC9lbGVtZW50Pg0KKzwvY29ycmVjdD4NCis8dmFsaWQ+PGZvbz54PC9mb28+PC92YWxpZD4NCis8dmFsaWQ+PGZvbz4geDwvZm9vPjwvdmFsaWQ+DQorPHZhbGlkPjxmb28+eCA8L2Zvbz48L3ZhbGlkPg0KKzx2YWxpZD48Zm9vPiYjeEE7JiN4RDsmI3g5OyYjeDIwO3gmI3hBOyYjeEQ7JiN4OTsmI3gyMDs8L2Zvbz48L3ZhbGlkPg0KKzxpbnZhbGlkPjxmb28vPjwvaW52YWxpZD4NCis8aW52YWxpZD48Zm9vPnh5PC9mb28+PC9pbnZhbGlkPg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjYuMi45PC9zZWN0aW9uPg0KKzxjb3JyZWN0Pg0KKzxlbGVtZW50IG5hbWU9ImZvbyIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDx2YWx1ZSB0eXBlPSJ0b2tlbiIgZGF0YXR5cGVMaWJyYXJ5PSIiPnggeTwvdmFsdWU+DQorPC9lbGVtZW50Pg0KKzwvY29ycmVjdD4NCis8dmFsaWQ+PGZvbz54IHk8L2Zvbz48L3ZhbGlkPg0KKzx2YWxpZD48Zm9vPiB4ICAgeSA8L2Zvbz48L3ZhbGlkPg0KKzx2YWxpZD48Zm9vPngmI3hBOyYjeEQ7JiN4OTsmI3gyMDt5PC9mb28+PC92YWxpZD4NCis8aW52YWxpZD48Zm9vPnh5PC9mb28+PC9pbnZhbGlkPg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjYuMi45PC9zZWN0aW9uPg0KKzxjb3JyZWN0Pg0KKzxlbGVtZW50IG5hbWU9ImZvbyIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDx2YWx1ZSB0eXBlPSJ0b2tlbiIgZGF0YXR5cGVMaWJyYXJ5PSIiPiYjeEE7JiN4RDsmI3g5OyYjeDIwO3gmI3hBOyYjeEQ7JiN4OTsmI3gyMDs8L3ZhbHVlPg0KKzwvZWxlbWVudD4NCis8L2NvcnJlY3Q+DQorPHZhbGlkPjxmb28+eDwvZm9vPjwvdmFsaWQ+DQorPHZhbGlkPjxmb28+IHg8L2Zvbz48L3ZhbGlkPg0KKzx2YWxpZD48Zm9vPnggPC9mb28+PC92YWxpZD4NCis8dmFsaWQ+PGZvbz4mI3hEOyYjeDk7eCYjeDIwOyYjeEE7PC9mb28+PC92YWxpZD4NCis8aW52YWxpZD48Zm9vLz48L2ludmFsaWQ+DQorPGludmFsaWQ+PGZvbz54eTwvZm9vPjwvaW52YWxpZD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj42LjIuOTwvc2VjdGlvbj4NCis8Y29ycmVjdD4NCis8ZWxlbWVudCBuYW1lPSJmb28iIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8dmFsdWUgdHlwZT0idG9rZW4iIGRhdGF0eXBlTGlicmFyeT0iIj54JiN4QTsmI3hEOyYjeDk7JiN4MjA7eTwvdmFsdWU+DQorPC9lbGVtZW50Pg0KKzwvY29ycmVjdD4NCis8dmFsaWQ+PGZvbz54IHk8L2Zvbz48L3ZhbGlkPg0KKzx2YWxpZD48Zm9vPnggIHk8L2Zvbz48L3ZhbGlkPg0KKzx2YWxpZD48Zm9vPiB4IHkgPC9mb28+PC92YWxpZD4NCis8dmFsaWQ+PGZvbz54JiN4RDsmI3g5O3k8L2Zvbz48L3ZhbGlkPg0KKzx2YWxpZD48Zm9vPngmI3gyMDsmI3hBO3k8L2Zvbz48L3ZhbGlkPg0KKzxpbnZhbGlkPjxmb28vPjwvaW52YWxpZD4NCis8aW52YWxpZD48Zm9vPnh5PC9mb28+PC9pbnZhbGlkPg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjYuMi45PC9zZWN0aW9uPg0KKzxpbmNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0iZm9vIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPGRhdGEgdHlwZT0iZGVjaW1hbCIgZGF0YXR5cGVMaWJyYXJ5PSIiLz4NCis8L2VsZW1lbnQ+DQorPC9pbmNvcnJlY3Q+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Ni4yLjk8L3NlY3Rpb24+DQorPGluY29ycmVjdD4NCis8ZWxlbWVudCBuYW1lPSJmb28iIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8dmFsdWUgdHlwZT0iZGVjaW1hbCIgZGF0YXR5cGVMaWJyYXJ5PSIiLz4NCis8L2VsZW1lbnQ+DQorPC9pbmNvcnJlY3Q+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Ni4yLjk8L3NlY3Rpb24+DQorPGluY29ycmVjdD4NCis8ZWxlbWVudCBuYW1lPSJmb28iIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8ZGF0YSB0eXBlPSJzdHJpbmciIGRhdGF0eXBlTGlicmFyeT0iIj4NCisgICAgPHBhcmFtIG5hbWU9Imxlbmd0aCI+MjwvcGFyYW0+DQorICA8L2RhdGE+DQorPC9lbGVtZW50Pg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjYuMi45PC9zZWN0aW9uPg0KKzxpbmNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0iZm9vIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPGRhdGEgdHlwZT0idG9rZW4iIGRhdGF0eXBlTGlicmFyeT0iIj4NCisgICAgPHBhcmFtIG5hbWU9Imxlbmd0aCI+MjwvcGFyYW0+DQorICA8L2RhdGE+DQorPC9lbGVtZW50Pg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPC90ZXN0U3VpdGU+DQorPHRlc3RTdWl0ZT4NCis8c2VjdGlvbj42LjIuMTA8L3NlY3Rpb24+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjYuMi4xMDwvc2VjdGlvbj4NCis8Y29ycmVjdD4NCis8ZWxlbWVudCBuYW1lPSJmb28iIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8bGlzdD4NCisgICAgPHZhbHVlIHR5cGU9InN0cmluZyI+eDwvdmFsdWU+DQorICA8L2xpc3Q+DQorPC9lbGVtZW50Pg0KKzwvY29ycmVjdD4NCis8dmFsaWQ+DQorPGZvbz54PC9mb28+DQorPC92YWxpZD4NCis8dmFsaWQ+DQorPGZvbz4geCA8L2Zvbz4NCis8L3ZhbGlkPg0KKzxpbnZhbGlkPg0KKzxmb28+eCB4PC9mb28+DQorPC9pbnZhbGlkPg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjYuMi4xMDwvc2VjdGlvbj4NCis8Y29ycmVjdD4NCis8ZWxlbWVudCBuYW1lPSJmb28iIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8bGlzdD4NCisgICAgPG9uZU9yTW9yZT4NCisgICAgICA8dmFsdWUgdHlwZT0ic3RyaW5nIj54PC92YWx1ZT4NCisgICAgPC9vbmVPck1vcmU+DQorICA8L2xpc3Q+DQorPC9lbGVtZW50Pg0KKzwvY29ycmVjdD4NCis8dmFsaWQ+DQorPGZvbz54PC9mb28+DQorPC92YWxpZD4NCis8dmFsaWQ+DQorPGZvbz4geCB4IHggeCA8L2Zvbz4NCis8L3ZhbGlkPg0KKzxpbnZhbGlkPg0KKzxmb28vPg0KKzwvaW52YWxpZD4NCis8aW52YWxpZD4NCis8Zm9vPnggeTwvZm9vPg0KKzwvaW52YWxpZD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj42LjIuMTA8L3NlY3Rpb24+DQorPGNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0iZm9vIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPGxpc3Q+DQorICAgIDxncm91cD4NCisgICAgICA8dmFsdWUgdHlwZT0ic3RyaW5nIj54PC92YWx1ZT4NCisgICAgICA8dmFsdWUgdHlwZT0ic3RyaW5nIj55PC92YWx1ZT4NCisgICAgPC9ncm91cD4NCisgIDwvbGlzdD4NCis8L2VsZW1lbnQ+DQorPC9jb3JyZWN0Pg0KKzx2YWxpZD4NCis8Zm9vPnggeTwvZm9vPg0KKzwvdmFsaWQ+DQorPHZhbGlkPg0KKzxmb28+eCAgeTwvZm9vPg0KKzwvdmFsaWQ+DQorPHZhbGlkPg0KKzxmb28+JiN4RDt4JiN4QTt5JiN4OTs8L2Zvbz4NCis8L3ZhbGlkPg0KKzxpbnZhbGlkPg0KKzxmb28+eDwvZm9vPg0KKzwvaW52YWxpZD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj42LjIuMTA8L3NlY3Rpb24+DQorPGNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0iZm9vIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPGxpc3Q+DQorICAgIDxncm91cD4NCisgICAgICA8ZGF0YSB0eXBlPSJ0b2tlbiIvPg0KKyAgICAgIDxkYXRhIHR5cGU9InRva2VuIi8+DQorICAgIDwvZ3JvdXA+DQorICA8L2xpc3Q+DQorPC9lbGVtZW50Pg0KKzwvY29ycmVjdD4NCis8dmFsaWQ+DQorPGZvbz54IHk8L2Zvbz4NCis8L3ZhbGlkPg0KKzxpbnZhbGlkPg0KKzxmb28vPg0KKzwvaW52YWxpZD4NCis8aW52YWxpZD4NCis8Zm9vPnggeSB6PC9mb28+DQorPC9pbnZhbGlkPg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjYuMi4xMDwvc2VjdGlvbj4NCis8Y29ycmVjdD4NCis8ZWxlbWVudCBuYW1lPSJmb28iIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8bGlzdD4NCisgICAgPHZhbHVlPnggeTwvdmFsdWU+DQorICA8L2xpc3Q+DQorPC9lbGVtZW50Pg0KKzwvY29ycmVjdD4NCis8aW52YWxpZD4NCis8Zm9vPnggeTwvZm9vPg0KKzwvaW52YWxpZD4NCis8L3Rlc3RDYXNlPg0KKzwvdGVzdFN1aXRlPg0KKzwvdGVzdFN1aXRlPg0KKzwvdGVzdFN1aXRlPg0KKzx0ZXN0U3VpdGU+DQorPHNlY3Rpb24+Nzwvc2VjdGlvbj4NCis8dGVzdFN1aXRlPg0KKzxzZWN0aW9uPjcuMTwvc2VjdGlvbj4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Ny4xLjE8L3NlY3Rpb24+DQorPGluY29ycmVjdD4NCis8Z3JhbW1hciB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKzxzdGFydD4NCisgIDxlbGVtZW50IG5hbWU9ImZvbyI+DQorICAgIDxhdHRyaWJ1dGUgbmFtZT0iYmFyIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJiYXoiPg0KKyAgICAgICAgPGVtcHR5Lz4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgIDwvYXR0cmlidXRlPg0KKyAgPC9lbGVtZW50Pg0KKzwvc3RhcnQ+DQorPC9ncmFtbWFyPg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjcuMS4xPC9zZWN0aW9uPg0KKzxpbmNvcnJlY3Q+DQorPGdyYW1tYXIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCis8c3RhcnQ+DQorICA8ZWxlbWVudCBuYW1lPSJmb28iPg0KKyAgICA8YXR0cmlidXRlIG5hbWU9ImJhciI+DQorICAgICAgPGNob2ljZT4NCisgICAgICAgIDxlbGVtZW50IG5hbWU9ImJheiI+DQorICAgICAgICAgIDxlbXB0eS8+DQorICAgICAgICA8L2VsZW1lbnQ+DQorICAgICAgICA8dGV4dC8+DQorICAgICAgPC9jaG9pY2U+DQorICAgIDwvYXR0cmlidXRlPg0KKyAgPC9lbGVtZW50Pg0KKzwvc3RhcnQ+DQorPC9ncmFtbWFyPg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjcuMS4xPC9zZWN0aW9uPg0KKzxpbmNvcnJlY3Q+DQorPGdyYW1tYXIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCis8c3RhcnQ+DQorICA8ZWxlbWVudCBuYW1lPSJmb28iPg0KKyAgICA8YXR0cmlidXRlIG5hbWU9ImJhciI+DQorICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJiYXoiLz4NCisgICAgPC9hdHRyaWJ1dGU+DQorICA8L2VsZW1lbnQ+DQorPC9zdGFydD4NCis8L2dyYW1tYXI+DQorPC9pbmNvcnJlY3Q+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Ny4xLjE8L3NlY3Rpb24+DQorPGluY29ycmVjdD4NCis8Z3JhbW1hciB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKzxzdGFydD4NCisgIDxlbGVtZW50IG5hbWU9ImZvbyI+DQorICAgIDxhdHRyaWJ1dGUgbmFtZT0iYmFyIj4NCisgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJiYXoiLz4NCisgICAgICAgIDx0ZXh0Lz4NCisgICAgICA8L2Nob2ljZT4NCisgICAgPC9hdHRyaWJ1dGU+DQorICA8L2VsZW1lbnQ+DQorPC9zdGFydD4NCis8L2dyYW1tYXI+DQorPC9pbmNvcnJlY3Q+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Ny4xLjI8L3NlY3Rpb24+DQorPGluY29ycmVjdD4NCis8Z3JhbW1hciB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKzxzdGFydD4NCisgIDxlbGVtZW50IG5hbWU9ImZvbyI+DQorICAgIDxvbmVPck1vcmU+DQorICAgICAgPGdyb3VwPg0KKyAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJiYXIiLz4NCisgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0iYmF6Ii8+DQorICAgICAgPC9ncm91cD4NCisgICAgPC9vbmVPck1vcmU+DQorICA8L2VsZW1lbnQ+DQorPC9zdGFydD4NCis8L2dyYW1tYXI+DQorPC9pbmNvcnJlY3Q+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Ny4xLjI8L3NlY3Rpb24+DQorPGluY29ycmVjdD4NCis8Z3JhbW1hciB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKzxzdGFydD4NCisgIDxlbGVtZW50IG5hbWU9ImZvbyI+DQorICAgIDxvbmVPck1vcmU+DQorICAgICAgPGdyb3VwPg0KKyAgICAgICAgPGF0dHJpYnV0ZT4NCisgICAgICAgICAgPGFueU5hbWUvPg0KKyAgICAgICAgPC9hdHRyaWJ1dGU+DQorICAgICAgICA8YXR0cmlidXRlPg0KKyAgICAgICAgICA8YW55TmFtZS8+DQorICAgICAgICA8L2F0dHJpYnV0ZT4NCisgICAgICA8L2dyb3VwPg0KKyAgICA8L29uZU9yTW9yZT4NCisgIDwvZWxlbWVudD4NCis8L3N0YXJ0Pg0KKzwvZ3JhbW1hcj4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj43LjEuMjwvc2VjdGlvbj4NCis8aW5jb3JyZWN0Pg0KKzxncmFtbWFyIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorPHN0YXJ0Pg0KKyAgPGVsZW1lbnQgbmFtZT0iZm9vIj4NCisgICAgPG9uZU9yTW9yZT4NCisgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgPGdyb3VwPg0KKyAgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0iYmFyIi8+DQorICAgICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJiYXoiLz4NCisgICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgICAgIDxjaG9pY2U+DQorICAgICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJiYXIiLz4NCisgICAgICAgICAgICA8YXR0cmlidXRlIG5hbWU9ImJheiIvPg0KKyAgICAgICAgICA8L2Nob2ljZT4NCisgICAgICAgIDwvZ3JvdXA+DQorICAgICAgICA8YXR0cmlidXRlIG5hbWU9ImJhciIvPg0KKyAgICAgIDwvY2hvaWNlPg0KKyAgICA8L29uZU9yTW9yZT4NCisgIDwvZWxlbWVudD4NCis8L3N0YXJ0Pg0KKzwvZ3JhbW1hcj4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj43LjEuMjwvc2VjdGlvbj4NCis8aW5jb3JyZWN0Pg0KKzxncmFtbWFyIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorPHN0YXJ0Pg0KKyAgPGVsZW1lbnQgbmFtZT0iZm9vIj4NCisgICAgPG9uZU9yTW9yZT4NCisgICAgICA8aW50ZXJsZWF2ZT4NCisgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0iYmFyIi8+DQorICAgICAgICA8YXR0cmlidXRlIG5hbWU9ImJheiIvPg0KKyAgICAgIDwvaW50ZXJsZWF2ZT4NCisgICAgPC9vbmVPck1vcmU+DQorICA8L2VsZW1lbnQ+DQorPC9zdGFydD4NCis8L2dyYW1tYXI+DQorPC9pbmNvcnJlY3Q+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Ny4xLjI8L3NlY3Rpb24+DQorPGluY29ycmVjdD4NCis8Z3JhbW1hciB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKzxzdGFydD4NCisgIDxlbGVtZW50IG5hbWU9ImZvbyI+DQorICAgIDxvbmVPck1vcmU+DQorICAgICAgPGludGVybGVhdmU+DQorICAgICAgICA8YXR0cmlidXRlPg0KKyAgICAgICAgICA8YW55TmFtZS8+DQorICAgICAgICA8L2F0dHJpYnV0ZT4NCisgICAgICAgIDxhdHRyaWJ1dGU+DQorICAgICAgICAgIDxhbnlOYW1lLz4NCisgICAgICAgIDwvYXR0cmlidXRlPg0KKyAgICAgIDwvaW50ZXJsZWF2ZT4NCisgICAgPC9vbmVPck1vcmU+DQorICA8L2VsZW1lbnQ+DQorPC9zdGFydD4NCis8L2dyYW1tYXI+DQorPC9pbmNvcnJlY3Q+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Ny4xLjI8L3NlY3Rpb24+DQorPGluY29ycmVjdD4NCis8Z3JhbW1hciB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKzxzdGFydD4NCisgIDxlbGVtZW50IG5hbWU9ImZvbyI+DQorICAgIDxvbmVPck1vcmU+DQorICAgICAgPGNob2ljZT4NCisgICAgICAgIDxpbnRlcmxlYXZlPg0KKyAgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0iYmFyIi8+DQorICAgICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJiYXoiLz4NCisgICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgICAgIDxjaG9pY2U+DQorICAgICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJiYXIiLz4NCisgICAgICAgICAgICA8YXR0cmlidXRlIG5hbWU9ImJheiIvPg0KKyAgICAgICAgICA8L2Nob2ljZT4NCisgICAgICAgIDwvaW50ZXJsZWF2ZT4NCisgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0iYmFyIi8+DQorICAgICAgPC9jaG9pY2U+DQorICAgIDwvb25lT3JNb3JlPg0KKyAgPC9lbGVtZW50Pg0KKzwvc3RhcnQ+DQorPC9ncmFtbWFyPg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjcuMS4zPC9zZWN0aW9uPg0KKzxpbmNvcnJlY3Q+DQorPGdyYW1tYXIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCis8c3RhcnQ+DQorICA8ZWxlbWVudCBuYW1lPSJmb28iPg0KKyAgICA8bGlzdD4NCisgICAgICA8bGlzdD4NCisgICAgICAgIDxkYXRhIHR5cGU9InRva2VuIi8+DQorICAgICAgPC9saXN0Pg0KKyAgICA8L2xpc3Q+DQorICA8L2VsZW1lbnQ+DQorPC9zdGFydD4NCis8L2dyYW1tYXI+DQorPC9pbmNvcnJlY3Q+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Ny4xLjM8L3NlY3Rpb24+DQorPGluY29ycmVjdD4NCis8Z3JhbW1hciB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKzxzdGFydD4NCisgIDxlbGVtZW50IG5hbWU9ImZvbyI+DQorICAgIDxsaXN0Pg0KKyAgICAgIDxjaG9pY2U+DQorICAgICAgICA8bGlzdD4NCisgICAgICAgICAgPGRhdGEgdHlwZT0idG9rZW4iLz4NCisgICAgICAgIDwvbGlzdD4NCisgICAgICAgIDxkYXRhIHR5cGU9InRva2VuIi8+DQorICAgICAgPC9jaG9pY2U+DQorICAgIDwvbGlzdD4NCisgIDwvZWxlbWVudD4NCis8L3N0YXJ0Pg0KKzwvZ3JhbW1hcj4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj43LjEuMzwvc2VjdGlvbj4NCis8aW5jb3JyZWN0Pg0KKzxncmFtbWFyIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorPHN0YXJ0Pg0KKyAgPGVsZW1lbnQgbmFtZT0iZm9vIj4NCisgICAgPGxpc3Q+DQorICAgICAgPGVsZW1lbnQgbmFtZT0iYmFyIj4NCisgICAgICAgIDxlbXB0eS8+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgICA8L2xpc3Q+DQorICA8L2VsZW1lbnQ+DQorPC9zdGFydD4NCis8L2dyYW1tYXI+DQorPC9pbmNvcnJlY3Q+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Ny4xLjM8L3NlY3Rpb24+DQorPGluY29ycmVjdD4NCis8Z3JhbW1hciB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKzxzdGFydD4NCisgIDxlbGVtZW50IG5hbWU9ImZvbyI+DQorICAgIDxsaXN0Pg0KKyAgICAgIDxjaG9pY2U+DQorICAgICAgICA8ZGF0YSB0eXBlPSJ0b2tlbiIvPg0KKyAgICAgICAgPGVsZW1lbnQgbmFtZT0iYmFyIj4NCisgICAgICAgICAgPGVtcHR5Lz4NCisgICAgICAgIDwvZWxlbWVudD4NCisgICAgICA8L2Nob2ljZT4NCisgICAgPC9saXN0Pg0KKyAgPC9lbGVtZW50Pg0KKzwvc3RhcnQ+DQorPC9ncmFtbWFyPg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjcuMS4zPC9zZWN0aW9uPg0KKzxpbmNvcnJlY3Q+DQorPGdyYW1tYXIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCis8c3RhcnQ+DQorICA8ZWxlbWVudCBuYW1lPSJmb28iPg0KKyAgICA8bGlzdD4NCisgICAgICA8YXR0cmlidXRlIG5hbWU9ImJhciI+DQorICAgICAgICA8ZW1wdHkvPg0KKyAgICAgIDwvYXR0cmlidXRlPg0KKyAgICA8L2xpc3Q+DQorICA8L2VsZW1lbnQ+DQorPC9zdGFydD4NCis8L2dyYW1tYXI+DQorPC9pbmNvcnJlY3Q+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Ny4xLjM8L3NlY3Rpb24+DQorPGluY29ycmVjdD4NCis8Z3JhbW1hciB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKzxzdGFydD4NCisgIDxlbGVtZW50IG5hbWU9ImZvbyI+DQorICAgIDxsaXN0Pg0KKyAgICAgIDxjaG9pY2U+DQorICAgICAgICA8YXR0cmlidXRlIG5hbWU9ImJhciI+DQorICAgICAgICAgIDxlbXB0eS8+DQorICAgICAgICA8L2F0dHJpYnV0ZT4NCisgICAgICAgIDxkYXRhIHR5cGU9InRva2VuIi8+DQorICAgICAgPC9jaG9pY2U+DQorICAgIDwvbGlzdD4NCisgIDwvZWxlbWVudD4NCis8L3N0YXJ0Pg0KKzwvZ3JhbW1hcj4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj43LjEuMzwvc2VjdGlvbj4NCis8aW5jb3JyZWN0Pg0KKzxncmFtbWFyIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorPHN0YXJ0Pg0KKyAgPGVsZW1lbnQgbmFtZT0iZm9vIj4NCisgICAgPGxpc3Q+DQorICAgICAgPGNob2ljZT4NCisgICAgICAgIDx0ZXh0Lz4NCisgICAgICAgIDxkYXRhIHR5cGU9InRva2VuIi8+DQorICAgICAgPC9jaG9pY2U+DQorICAgIDwvbGlzdD4NCisgIDwvZWxlbWVudD4NCis8L3N0YXJ0Pg0KKzwvZ3JhbW1hcj4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj43LjEuMzwvc2VjdGlvbj4NCis8aW5jb3JyZWN0Pg0KKzxncmFtbWFyIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorPHN0YXJ0Pg0KKyAgPGVsZW1lbnQgbmFtZT0iZm9vIj4NCisgICAgPGxpc3Q+DQorICAgICAgPGludGVybGVhdmU+DQorICAgICAgICA8dmFsdWU+eDwvdmFsdWU+DQorICAgICAgICA8dmFsdWU+eTwvdmFsdWU+DQorICAgICAgPC9pbnRlcmxlYXZlPg0KKyAgICA8L2xpc3Q+DQorICA8L2VsZW1lbnQ+DQorPC9zdGFydD4NCis8L2dyYW1tYXI+DQorPC9pbmNvcnJlY3Q+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Ny4xLjM8L3NlY3Rpb24+DQorPGluY29ycmVjdD4NCis8Z3JhbW1hciB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKzxzdGFydD4NCisgIDxlbGVtZW50IG5hbWU9ImZvbyI+DQorICAgIDxsaXN0Pg0KKyAgICAgIDxjaG9pY2U+DQorCTxpbnRlcmxlYXZlPg0KKwkgIDx2YWx1ZT54PC92YWx1ZT4NCisJICA8dmFsdWU+eTwvdmFsdWU+DQorCTwvaW50ZXJsZWF2ZT4NCisgICAgICAgIDx2YWx1ZT56PC92YWx1ZT4NCisgICAgICA8L2Nob2ljZT4NCisgICAgPC9saXN0Pg0KKyAgPC9lbGVtZW50Pg0KKzwvc3RhcnQ+DQorPC9ncmFtbWFyPg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjcuMS40PC9zZWN0aW9uPg0KKzxpbmNvcnJlY3Q+DQorPGdyYW1tYXIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCis8c3RhcnQ+DQorICA8ZWxlbWVudCBuYW1lPSJmb28iPg0KKyAgICA8ZGF0YSB0eXBlPSJzdHJpbmciPg0KKyAgICAgIDxleGNlcHQ+DQorICAgICAgICA8YXR0cmlidXRlIG5hbWU9ImJhciIvPg0KKyAgICAgIDwvZXhjZXB0Pg0KKyAgICA8L2RhdGE+DQorICA8L2VsZW1lbnQ+DQorPC9zdGFydD4NCis8L2dyYW1tYXI+DQorPC9pbmNvcnJlY3Q+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Ny4xLjQ8L3NlY3Rpb24+DQorPGluY29ycmVjdD4NCis8Z3JhbW1hciB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKzxzdGFydD4NCisgIDxlbGVtZW50IG5hbWU9ImZvbyI+DQorICAgIDxkYXRhIHR5cGU9InN0cmluZyI+DQorICAgICAgPGV4Y2VwdD4NCisgICAgICAgIDxlbGVtZW50IG5hbWU9ImJhciI+DQorICAgICAgICAgIDxlbXB0eS8+DQorICAgICAgICA8L2VsZW1lbnQ+DQorICAgICAgPC9leGNlcHQ+DQorICAgIDwvZGF0YT4NCisgIDwvZWxlbWVudD4NCis8L3N0YXJ0Pg0KKzwvZ3JhbW1hcj4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj43LjEuNDwvc2VjdGlvbj4NCis8aW5jb3JyZWN0Pg0KKzxncmFtbWFyIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorPHN0YXJ0Pg0KKyAgPGVsZW1lbnQgbmFtZT0iZm9vIj4NCisgICAgPGRhdGEgdHlwZT0ic3RyaW5nIj4NCisgICAgICA8ZXhjZXB0Pg0KKyAgICAgICAgPHRleHQvPg0KKyAgICAgIDwvZXhjZXB0Pg0KKyAgICA8L2RhdGE+DQorICA8L2VsZW1lbnQ+DQorPC9zdGFydD4NCis8L2dyYW1tYXI+DQorPC9pbmNvcnJlY3Q+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Ny4xLjQ8L3NlY3Rpb24+DQorPGluY29ycmVjdD4NCis8Z3JhbW1hciB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKzxzdGFydD4NCisgIDxlbGVtZW50IG5hbWU9ImZvbyI+DQorICAgIDxkYXRhIHR5cGU9InN0cmluZyI+DQorICAgICAgPGV4Y2VwdD4NCisgICAgICAgIDxsaXN0Pg0KKyAgICAgICAgICA8ZGF0YSB0eXBlPSJ0b2tlbiIvPg0KKyAgICAgICAgPC9saXN0Pg0KKyAgICAgIDwvZXhjZXB0Pg0KKyAgICA8L2RhdGE+DQorICA8L2VsZW1lbnQ+DQorPC9zdGFydD4NCis8L2dyYW1tYXI+DQorPC9pbmNvcnJlY3Q+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Ny4xLjQ8L3NlY3Rpb24+DQorPGluY29ycmVjdD4NCis8Z3JhbW1hciB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKzxzdGFydD4NCisgIDxlbGVtZW50IG5hbWU9ImZvbyI+DQorICAgIDxkYXRhIHR5cGU9InN0cmluZyI+DQorICAgICAgPGV4Y2VwdD4NCisgICAgICAgIDxncm91cD4NCisgICAgICAgICAgPGRhdGEgdHlwZT0idG9rZW4iLz4NCisgICAgICAgICAgPGRhdGEgdHlwZT0idG9rZW4iLz4NCisgICAgICAgIDwvZ3JvdXA+DQorICAgICAgPC9leGNlcHQ+DQorICAgIDwvZGF0YT4NCisgIDwvZWxlbWVudD4NCis8L3N0YXJ0Pg0KKzwvZ3JhbW1hcj4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj43LjEuNDwvc2VjdGlvbj4NCis8aW5jb3JyZWN0Pg0KKzxncmFtbWFyIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorPHN0YXJ0Pg0KKyAgPGVsZW1lbnQgbmFtZT0iZm9vIj4NCisgICAgPGRhdGEgdHlwZT0ic3RyaW5nIj4NCisgICAgICA8ZXhjZXB0Pg0KKyAgICAgICAgPGludGVybGVhdmU+DQorICAgICAgICAgIDxkYXRhIHR5cGU9InRva2VuIi8+DQorICAgICAgICAgIDxkYXRhIHR5cGU9InRva2VuIi8+DQorICAgICAgICA8L2ludGVybGVhdmU+DQorICAgICAgPC9leGNlcHQ+DQorICAgIDwvZGF0YT4NCisgIDwvZWxlbWVudD4NCis8L3N0YXJ0Pg0KKzwvZ3JhbW1hcj4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj43LjEuNDwvc2VjdGlvbj4NCis8aW5jb3JyZWN0Pg0KKzxncmFtbWFyIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorPHN0YXJ0Pg0KKyAgPGVsZW1lbnQgbmFtZT0iZm9vIj4NCisgICAgPGRhdGEgdHlwZT0ic3RyaW5nIj4NCisgICAgICA8ZXhjZXB0Pg0KKyAgICAgICAgPG9uZU9yTW9yZT4NCisgICAgICAgICAgPGRhdGEgdHlwZT0idG9rZW4iLz4NCisgICAgICAgIDwvb25lT3JNb3JlPg0KKyAgICAgIDwvZXhjZXB0Pg0KKyAgICA8L2RhdGE+DQorICA8L2VsZW1lbnQ+DQorPC9zdGFydD4NCis8L2dyYW1tYXI+DQorPC9pbmNvcnJlY3Q+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Ny4xLjQ8L3NlY3Rpb24+DQorPGluY29ycmVjdD4NCis8Z3JhbW1hciB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKzxzdGFydD4NCisgIDxlbGVtZW50IG5hbWU9ImZvbyI+DQorICAgIDxkYXRhIHR5cGU9InN0cmluZyI+DQorICAgICAgPGV4Y2VwdD4NCisgICAgICAgIDxlbXB0eS8+DQorICAgICAgPC9leGNlcHQ+DQorICAgIDwvZGF0YT4NCisgIDwvZWxlbWVudD4NCis8L3N0YXJ0Pg0KKzwvZ3JhbW1hcj4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj43LjEuNTwvc2VjdGlvbj4NCis8aW5jb3JyZWN0Pg0KKzxncmFtbWFyIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorPHN0YXJ0Pg0KKyAgPGF0dHJpYnV0ZSBuYW1lPSJmb28iLz4NCis8L3N0YXJ0Pg0KKzwvZ3JhbW1hcj4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj43LjEuNTwvc2VjdGlvbj4NCis8aW5jb3JyZWN0Pg0KKzxncmFtbWFyIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorPHN0YXJ0Pg0KKyAgPGRhdGEgdHlwZT0ic3RyaW5nIi8+DQorPC9zdGFydD4NCis8L2dyYW1tYXI+DQorPC9pbmNvcnJlY3Q+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Ny4xLjU8L3NlY3Rpb24+DQorPGluY29ycmVjdD4NCis8Z3JhbW1hciB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKzxzdGFydD4NCisgIDxjaG9pY2U+DQorICAgIDxkYXRhIHR5cGU9InN0cmluZyIvPg0KKyAgICA8ZWxlbWVudCBuYW1lPSJmb28iPg0KKyAgICAgIDxlbXB0eS8+DQorICAgIDwvZWxlbWVudD4NCisgIDwvY2hvaWNlPg0KKzwvc3RhcnQ+DQorPC9ncmFtbWFyPg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjcuMS41PC9zZWN0aW9uPg0KKzxpbmNvcnJlY3Q+DQorPGdyYW1tYXIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCis8c3RhcnQ+DQorICA8Y2hvaWNlPg0KKyAgICA8dmFsdWU+Zm9vPC92YWx1ZT4NCisgICAgPGVsZW1lbnQgbmFtZT0iZm9vIj4NCisgICAgICA8ZW1wdHkvPg0KKyAgICA8L2VsZW1lbnQ+DQorICA8L2Nob2ljZT4NCis8L3N0YXJ0Pg0KKzwvZ3JhbW1hcj4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj43LjEuNTwvc2VjdGlvbj4NCis8aW5jb3JyZWN0Pg0KKzxncmFtbWFyIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorPHN0YXJ0Pg0KKyAgPHRleHQvPg0KKzwvc3RhcnQ+DQorPC9ncmFtbWFyPg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjcuMS41PC9zZWN0aW9uPg0KKzxpbmNvcnJlY3Q+DQorPGdyYW1tYXIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCis8c3RhcnQ+DQorICA8Y2hvaWNlPg0KKyAgICA8dGV4dC8+DQorICAgIDxlbGVtZW50IG5hbWU9ImZvbyI+DQorICAgICAgPGVtcHR5Lz4NCisgICAgPC9lbGVtZW50Pg0KKyAgPC9jaG9pY2U+DQorPC9zdGFydD4NCis8L2dyYW1tYXI+DQorPC9pbmNvcnJlY3Q+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Ny4xLjU8L3NlY3Rpb24+DQorPGluY29ycmVjdD4NCis8Z3JhbW1hciB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKzxzdGFydD4NCisgIDxsaXN0Pg0KKyAgICA8ZGF0YSB0eXBlPSJ0b2tlbiIvPg0KKyAgPC9saXN0Pg0KKzwvc3RhcnQ+DQorPC9ncmFtbWFyPg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjcuMS41PC9zZWN0aW9uPg0KKzxpbmNvcnJlY3Q+DQorPGdyYW1tYXIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCis8c3RhcnQ+DQorICA8Y2hvaWNlPg0KKyAgICA8ZWxlbWVudCBuYW1lPSJmb28iPg0KKyAgICAgIDxlbXB0eS8+DQorICAgIDwvZWxlbWVudD4NCisgICAgPGxpc3Q+DQorICAgICAgPGRhdGEgdHlwZT0idG9rZW4iLz4NCisgICAgPC9saXN0Pg0KKyAgPC9jaG9pY2U+DQorPC9zdGFydD4NCis8L2dyYW1tYXI+DQorPC9pbmNvcnJlY3Q+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Ny4xLjU8L3NlY3Rpb24+DQorPGluY29ycmVjdD4NCis8Z3JhbW1hciB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKzxzdGFydD4NCisgIDxncm91cD4NCisgICAgPGVsZW1lbnQgbmFtZT0iZm9vIj4NCisgICAgICA8ZW1wdHkvPg0KKyAgICA8L2VsZW1lbnQ+DQorICAgIDxlbGVtZW50IG5hbWU9ImZvbyI+DQorICAgICAgPGVtcHR5Lz4NCisgICAgPC9lbGVtZW50Pg0KKyAgPC9ncm91cD4NCis8L3N0YXJ0Pg0KKzwvZ3JhbW1hcj4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj43LjEuNTwvc2VjdGlvbj4NCis8aW5jb3JyZWN0Pg0KKzxncmFtbWFyIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorPHN0YXJ0Pg0KKyAgPGNob2ljZT4NCisgICAgPGVsZW1lbnQgbmFtZT0iZm9vIj4NCisgICAgICA8ZW1wdHkvPg0KKyAgICA8L2VsZW1lbnQ+DQorICAgIDxncm91cD4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJmb28iPg0KKwk8ZW1wdHkvPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJmb28iPg0KKwk8ZW1wdHkvPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICAgPC9ncm91cD4NCisgIDwvY2hvaWNlPg0KKzwvc3RhcnQ+DQorPC9ncmFtbWFyPg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjcuMS41PC9zZWN0aW9uPg0KKzxpbmNvcnJlY3Q+DQorPGdyYW1tYXIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCis8c3RhcnQ+DQorICA8aW50ZXJsZWF2ZT4NCisgICAgPGVsZW1lbnQgbmFtZT0iZm9vIj4NCisgICAgICA8ZW1wdHkvPg0KKyAgICA8L2VsZW1lbnQ+DQorICAgIDxlbGVtZW50IG5hbWU9ImZvbyI+DQorICAgICAgPGVtcHR5Lz4NCisgICAgPC9lbGVtZW50Pg0KKyAgPC9pbnRlcmxlYXZlPg0KKzwvc3RhcnQ+DQorPC9ncmFtbWFyPg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjcuMS41PC9zZWN0aW9uPg0KKzxpbmNvcnJlY3Q+DQorPGdyYW1tYXIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCis8c3RhcnQ+DQorICA8Y2hvaWNlPg0KKyAgICA8ZWxlbWVudCBuYW1lPSJmb28iPg0KKyAgICAgIDxlbXB0eS8+DQorICAgIDwvZWxlbWVudD4NCisgICAgPGludGVybGVhdmU+DQorICAgICAgPGVsZW1lbnQgbmFtZT0iZm9vIj4NCisJPGVtcHR5Lz4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgICAgPGVsZW1lbnQgbmFtZT0iZm9vIj4NCisJPGVtcHR5Lz4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgIDwvaW50ZXJsZWF2ZT4NCisgIDwvY2hvaWNlPg0KKzwvc3RhcnQ+DQorPC9ncmFtbWFyPg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjcuMS41PC9zZWN0aW9uPg0KKzxpbmNvcnJlY3Q+DQorPGdyYW1tYXIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCis8c3RhcnQ+DQorICA8b25lT3JNb3JlPg0KKyAgICA8ZWxlbWVudCBuYW1lPSJmb28iPg0KKyAgICAgIDxlbXB0eS8+DQorICAgIDwvZWxlbWVudD4NCisgIDwvb25lT3JNb3JlPg0KKzwvc3RhcnQ+DQorPC9ncmFtbWFyPg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjcuMS41PC9zZWN0aW9uPg0KKzxpbmNvcnJlY3Q+DQorPGdyYW1tYXIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCis8c3RhcnQ+DQorICA8Y2hvaWNlPg0KKyAgICA8b25lT3JNb3JlPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9ImZvbyI+DQorCTxlbXB0eS8+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgICA8L29uZU9yTW9yZT4NCisgICAgPGVsZW1lbnQgbmFtZT0iZm9vIj4NCisgICAgICA8ZW1wdHkvPg0KKyAgICA8L2VsZW1lbnQ+DQorICA8L2Nob2ljZT4NCis8L3N0YXJ0Pg0KKzwvZ3JhbW1hcj4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj43LjEuNTwvc2VjdGlvbj4NCis8aW5jb3JyZWN0Pg0KKzxncmFtbWFyIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorPHN0YXJ0Pg0KKyAgPGVtcHR5Lz4NCis8L3N0YXJ0Pg0KKzwvZ3JhbW1hcj4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj43LjEuNTwvc2VjdGlvbj4NCis8aW5jb3JyZWN0Pg0KKzxncmFtbWFyIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorPHN0YXJ0Pg0KKyAgPGNob2ljZT4NCisgICAgPGVsZW1lbnQgbmFtZT0iZm9vIj4NCisgICAgICA8ZW1wdHkvPg0KKyAgICA8L2VsZW1lbnQ+DQorICAgIDxlbXB0eS8+DQorICA8L2Nob2ljZT4NCis8L3N0YXJ0Pg0KKzwvZ3JhbW1hcj4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj43LjEuNTwvc2VjdGlvbj4NCis8c2VjdGlvbj43PC9zZWN0aW9uPg0KKzxzZWN0aW9uPjQuMTg8L3NlY3Rpb24+DQorPGRvY3VtZW50YXRpb24+VGVzdHMgdGhhdCBjb25zdHJhaW50cyBhcmUgcG9zdC1ub3JtYWxpemF0aW9uPC9kb2N1bWVudGF0aW9uPg0KKzxjb3JyZWN0Pg0KKzxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZm9vIj4NCisgIDxncmFtbWFyPg0KKyAgICA8c3RhcnQ+DQorICAgICAgPHRleHQvPg0KKyAgICA8L3N0YXJ0Pg0KKyAgPC9ncmFtbWFyPg0KKzwvZWxlbWVudD4NCis8L2NvcnJlY3Q+DQorPHZhbGlkPg0KKzxmb28+dGV4dDwvZm9vPg0KKzwvdmFsaWQ+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Ny4xLjU8L3NlY3Rpb24+DQorPHNlY3Rpb24+Nzwvc2VjdGlvbj4NCis8c2VjdGlvbj40LjE4PC9zZWN0aW9uPg0KKzxpbmNvcnJlY3Q+DQorPHRleHQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIi8+DQorPC9pbmNvcnJlY3Q+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Ny4xLjE8L3NlY3Rpb24+DQorPHNlY3Rpb24+Nzwvc2VjdGlvbj4NCis8c2VjdGlvbj40LjIwPC9zZWN0aW9uPg0KKzxjb3JyZWN0Pg0KKzxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZm9vIj4NCisgIDxvcHRpb25hbD4NCisgICAgPGF0dHJpYnV0ZSBuYW1lPSJiYXIiPg0KKyAgICAgIDxncm91cD4NCisgICAgICAgIDxub3RBbGxvd2VkLz4NCisgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0iYmF6Ii8+DQorICAgICAgPC9ncm91cD4NCisgICAgPC9hdHRyaWJ1dGU+DQorICA8L29wdGlvbmFsPg0KKzwvZWxlbWVudD4NCis8L2NvcnJlY3Q+DQorPHZhbGlkPg0KKzxmb28vPg0KKzwvdmFsaWQ+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Ny4xLjE8L3NlY3Rpb24+DQorPHNlY3Rpb24+Nzwvc2VjdGlvbj4NCis8c2VjdGlvbj40LjIwPC9zZWN0aW9uPg0KKzxkb2N1bWVudGF0aW9uPlRoZSBuZXN0ZWQgYXR0cmlidXRlIGVsZW1lbnQgaXMgbm9ybWFsaXplZCBvdXQgYmVjYXVzZQ0KK29mIHRoZSBub3QgYWxsb3dlZC48L2RvY3VtZW50YXRpb24+DQorPGNvcnJlY3Q+DQorPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJmb28iPg0KKyAgPGF0dHJpYnV0ZSBuYW1lPSJiYXIiPg0KKyAgICA8Y2hvaWNlPg0KKyAgICAgIDx0ZXh0Lz4NCisgICAgICA8Z3JvdXA+DQorICAgICAgICA8bm90QWxsb3dlZC8+DQorICAgICAgICA8YXR0cmlidXRlIG5hbWU9ImJheiIvPg0KKyAgICAgIDwvZ3JvdXA+DQorICAgIDwvY2hvaWNlPg0KKyAgPC9hdHRyaWJ1dGU+DQorPC9lbGVtZW50Pg0KKzwvY29ycmVjdD4NCis8dmFsaWQ+DQorPGZvbyBiYXI9ImJheiIvPg0KKzwvdmFsaWQ+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Ny4xLjI8L3NlY3Rpb24+DQorPHNlY3Rpb24+Nzwvc2VjdGlvbj4NCis8c2VjdGlvbj40LjEyPC9zZWN0aW9uPg0KKzxkb2N1bWVudGF0aW9uPlRoZSBncm91cCBlbGVtZW50IGlzIG5vcm1hbGl6ZWQgb3V0LjwvZG9jdW1lbnRhdGlvbj4NCis8Y29ycmVjdD4NCis8Z3JhbW1hciB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKzxzdGFydD4NCisgIDxlbGVtZW50IG5hbWU9ImZvbyI+DQorICAgIDxvbmVPck1vcmU+DQorICAgICAgPGdyb3VwPg0KKyAgICAgICAgPGF0dHJpYnV0ZT4NCisgICAgICAgICAgPGFueU5hbWUvPg0KKyAgICAgICAgPC9hdHRyaWJ1dGU+DQorICAgICAgPC9ncm91cD4NCisgICAgPC9vbmVPck1vcmU+DQorICA8L2VsZW1lbnQ+DQorPC9zdGFydD4NCis8L2dyYW1tYXI+DQorPC9jb3JyZWN0Pg0KKzx2YWxpZD4NCis8Zm9vIHh5enp5MT0idmFsMSIgeHl6enkyPSJ2YWwyIi8+DQorPC92YWxpZD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj43LjEuMjwvc2VjdGlvbj4NCis8c2VjdGlvbj43PC9zZWN0aW9uPg0KKzxzZWN0aW9uPjQuMjE8L3NlY3Rpb24+DQorPGRvY3VtZW50YXRpb24+VGhlIGdyb3VwIGVsZW1lbnQgaXMgbm9ybWFsaXplZCBvdXQuPC9kb2N1bWVudGF0aW9uPg0KKzxjb3JyZWN0Pg0KKzxncmFtbWFyIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorPHN0YXJ0Pg0KKyAgPGVsZW1lbnQgbmFtZT0iZm9vIj4NCisgICAgPG9uZU9yTW9yZT4NCisgICAgICA8Z3JvdXA+DQorICAgICAgICA8YXR0cmlidXRlPg0KKyAgICAgICAgICA8YW55TmFtZS8+DQorICAgICAgICA8L2F0dHJpYnV0ZT4NCisgICAgICAgIDxlbXB0eS8+DQorICAgICAgPC9ncm91cD4NCisgICAgPC9vbmVPck1vcmU+DQorICA8L2VsZW1lbnQ+DQorPC9zdGFydD4NCis8L2dyYW1tYXI+DQorPC9jb3JyZWN0Pg0KKzx2YWxpZD4NCis8Zm9vIHh5enp5MT0idmFsMSIgeHl6enkyPSJ2YWwyIi8+DQorPC92YWxpZD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj43LjEuMjwvc2VjdGlvbj4NCis8c2VjdGlvbj43PC9zZWN0aW9uPg0KKzxzZWN0aW9uPjQuMjA8L3NlY3Rpb24+DQorPGRvY3VtZW50YXRpb24+VGhlIGF0dHJpYnV0ZSBlbGVtZW50cyBhcmUgYWxsIG5vcm1hbGl6ZWQgb3V0LjwvZG9jdW1lbnRhdGlvbj4NCis8Y29ycmVjdD4NCis8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImZvbyI+DQorICA8b3B0aW9uYWw+DQorICAgIDxhdHRyaWJ1dGUgbmFtZT0iYTEiPg0KKyAgICAgIDxhdHRyaWJ1dGUgbmFtZT0iYTIiPg0KKyAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJhMyI+DQorICAgICAgICAgIDxub3RBbGxvd2VkLz4NCisgICAgICAgIDwvYXR0cmlidXRlPg0KKyAgICAgIDwvYXR0cmlidXRlPg0KKyAgICA8L2F0dHJpYnV0ZT4NCisgIDwvb3B0aW9uYWw+DQorPC9lbGVtZW50Pg0KKzwvY29ycmVjdD4NCis8dmFsaWQ+DQorPGZvby8+DQorPC92YWxpZD4NCis8L3Rlc3RDYXNlPg0KKzwvdGVzdFN1aXRlPg0KKzx0ZXN0U3VpdGU+DQorPHNlY3Rpb24+Ny4yPC9zZWN0aW9uPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj43LjI8L3NlY3Rpb24+DQorPGluY29ycmVjdD4NCis8Z3JhbW1hciB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPHN0YXJ0Pg0KKyAgICA8ZWxlbWVudCBuYW1lPSJmb28iPg0KKyAgICAgIDxncm91cD4NCisgICAgICAgIDxkYXRhIHR5cGU9InRva2VuIi8+DQorICAgICAgICA8ZGF0YSB0eXBlPSJ0b2tlbiIvPg0KKyAgICAgIDwvZ3JvdXA+DQorICAgIDwvZWxlbWVudD4NCisgIDwvc3RhcnQ+DQorPC9ncmFtbWFyPg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxkb2N1bWVudGF0aW9uPkNoZWNrcyB0aGF0IG5vcm1hbGl6YXRpb24gb2Ygbm90QWxsb3dlZCBoYXBwZW5zDQorYmVmb3JlIHN0cmluZyBzZXF1ZW5jZSBjaGVja2luZy48L2RvY3VtZW50YXRpb24+DQorPHNlY3Rpb24+Ny4yPC9zZWN0aW9uPg0KKzxzZWN0aW9uPjQuMjA8L3NlY3Rpb24+DQorPGNvcnJlY3Q+DQorPGNob2ljZSB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPGVsZW1lbnQgbmFtZT0iZm9vIj4NCisgICAgPGVtcHR5Lz4NCisgIDwvZWxlbWVudD4NCisgIDxncm91cD4NCisgICAgPG5vdEFsbG93ZWQvPg0KKyAgICA8ZWxlbWVudCBuYW1lPSJiYXIiPg0KKyAgICAgIDxncm91cD4NCisJPGRhdGEgdHlwZT0idG9rZW4iLz4NCisJPGRhdGEgdHlwZT0idG9rZW4iLz4NCisgICAgICA8L2dyb3VwPg0KKyAgICA8L2VsZW1lbnQ+DQorICA8L2dyb3VwPg0KKzwvY2hvaWNlPg0KKzwvY29ycmVjdD4NCis8dmFsaWQ+DQorPGZvby8+DQorPC92YWxpZD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj40LjIwPC9zZWN0aW9uPg0KKzxzZWN0aW9uPjcuMjwvc2VjdGlvbj4NCis8ZG9jdW1lbnRhdGlvbj5ub3RBbGxvd2VkIGluIGFuIGVsZW1lbnQgaXMgbm90IG5vcm1hbGl6ZWQ8L2RvY3VtZW50YXRpb24+DQorPGluY29ycmVjdD4NCis8ZWxlbWVudCBuYW1lPSJmb28iIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8Y2hvaWNlPg0KKyAgICA8Z3JvdXA+DQorICAgICAgPGVsZW1lbnQgbmFtZT0iYmFyIj4NCisgICAgICAgIDxub3RBbGxvd2VkLz4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgICAgPGRhdGEgdHlwZT0idG9rZW4iLz4NCisgICAgICA8ZGF0YSB0eXBlPSJ0b2tlbiIvPg0KKyAgICA8L2dyb3VwPg0KKyAgICA8ZWxlbWVudCBuYW1lPSJiYXoiPg0KKyAgICAgIDxlbXB0eS8+DQorICAgIDwvZWxlbWVudD4NCisgIDwvY2hvaWNlPg0KKzwvZWxlbWVudD4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzwvdGVzdFN1aXRlPg0KKzx0ZXN0U3VpdGU+DQorPHNlY3Rpb24+Ny4zPC9zZWN0aW9uPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj43LjM8L3NlY3Rpb24+DQorPGluY29ycmVjdD4NCis8ZWxlbWVudCBuYW1lPSJmb28iIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8YXR0cmlidXRlIG5hbWU9ImJhciIvPg0KKyAgPGF0dHJpYnV0ZSBuYW1lPSJiYXIiLz4NCis8L2VsZW1lbnQ+DQorPC9pbmNvcnJlY3Q+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Ny4zPC9zZWN0aW9uPg0KKzxpbmNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0iZm9vIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPGF0dHJpYnV0ZSBuYW1lPSJiYXIiLz4NCisgIDx6ZXJvT3JNb3JlPg0KKyAgICA8YXR0cmlidXRlIG5hbWU9ImJhciIvPg0KKyAgPC96ZXJvT3JNb3JlPg0KKzwvZWxlbWVudD4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj43LjM8L3NlY3Rpb24+DQorPGNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0iZm9vIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPG9uZU9yTW9yZT4NCisgICAgPGF0dHJpYnV0ZSBuYW1lPSJiYXIiLz4NCisgIDwvb25lT3JNb3JlPg0KKzwvZWxlbWVudD4NCis8L2NvcnJlY3Q+DQorPHZhbGlkPg0KKzxmb28gYmFyPSJ4eCIvPg0KKzwvdmFsaWQ+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Ny4zPC9zZWN0aW9uPg0KKzxpbmNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0iZm9vIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPGludGVybGVhdmU+DQorICAgIDxhdHRyaWJ1dGUgbmFtZT0iYmFyIi8+DQorICAgIDxhdHRyaWJ1dGUgbmFtZT0iYmFyIi8+DQorICA8L2ludGVybGVhdmU+DQorPC9lbGVtZW50Pg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjcuMzwvc2VjdGlvbj4NCis8aW5jb3JyZWN0Pg0KKzxlbGVtZW50IG5hbWU9ImZvbyIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxvcHRpb25hbD4NCisgICAgPGF0dHJpYnV0ZSBuYW1lPSJiYXIiLz4NCisgIDwvb3B0aW9uYWw+DQorICA8b3B0aW9uYWw+DQorICAgIDxhdHRyaWJ1dGUgbmFtZT0iYmFyIi8+DQorICA8L29wdGlvbmFsPg0KKzwvZWxlbWVudD4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj43LjM8L3NlY3Rpb24+DQorPGluY29ycmVjdD4NCis8ZWxlbWVudCBuYW1lPSJmb28iIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8YXR0cmlidXRlIG5hbWU9ImJhciIvPg0KKyAgPG9uZU9yTW9yZT4NCisgICAgPGF0dHJpYnV0ZT4NCisgICAgICA8YW55TmFtZS8+DQorICAgIDwvYXR0cmlidXRlPg0KKyAgPC9vbmVPck1vcmU+DQorPC9lbGVtZW50Pg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjcuMzwvc2VjdGlvbj4NCis8aW5jb3JyZWN0Pg0KKzxlbGVtZW50IG5hbWU9ImZvbyIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxhdHRyaWJ1dGUgbmFtZT0iYmFyIi8+DQorICA8b25lT3JNb3JlPg0KKyAgICA8YXR0cmlidXRlPg0KKyAgICAgIDxhbnlOYW1lPg0KKwk8ZXhjZXB0Pg0KKwkgIDxuYW1lPmJhejwvbmFtZT4NCisJPC9leGNlcHQ+DQorICAgICAgPC9hbnlOYW1lPg0KKyAgICA8L2F0dHJpYnV0ZT4NCisgIDwvb25lT3JNb3JlPg0KKzwvZWxlbWVudD4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj43LjM8L3NlY3Rpb24+DQorPGNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0iZm9vIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPGF0dHJpYnV0ZSBuYW1lPSJiYXIiLz4NCisgIDxvbmVPck1vcmU+DQorICAgIDxhdHRyaWJ1dGU+DQorICAgICAgPGFueU5hbWU+DQorCTxleGNlcHQ+DQorCSAgPG5hbWU+YmFyPC9uYW1lPg0KKwk8L2V4Y2VwdD4NCisgICAgICA8L2FueU5hbWU+DQorICAgIDwvYXR0cmlidXRlPg0KKyAgPC9vbmVPck1vcmU+DQorPC9lbGVtZW50Pg0KKzwvY29ycmVjdD4NCis8dmFsaWQ+DQorPGZvbyBiYXI9InZhbCIgeHl6enk9ImFub3RoZXJ2YWwiLz4NCis8L3ZhbGlkPg0KKzx2YWxpZD4NCis8Zm9vIGJhcj0idmFsIiBiYXo9IiIvPg0KKzwvdmFsaWQ+DQorPGludmFsaWQ+DQorPGZvbyBiYXI9InZhbCIvPg0KKzwvaW52YWxpZD4NCis8aW52YWxpZD4NCis8Zm9vLz4NCis8L2ludmFsaWQ+DQorPGludmFsaWQ+DQorPGZvbyB4eXp6eT0idmFsIi8+DQorPC9pbnZhbGlkPg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjcuMzwvc2VjdGlvbj4NCis8aW5jb3JyZWN0Pg0KKzxlbGVtZW50IG5hbWU9ImZvbyIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxhdHRyaWJ1dGUgbmFtZT0iYmFyIi8+DQorICA8b25lT3JNb3JlPg0KKyAgICA8YXR0cmlidXRlPg0KKyAgICAgIDxuc05hbWUgbnM9IiIvPg0KKyAgICA8L2F0dHJpYnV0ZT4NCisgIDwvb25lT3JNb3JlPg0KKzwvZWxlbWVudD4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj43LjM8L3NlY3Rpb24+DQorPGluY29ycmVjdD4NCis8ZWxlbWVudCBuYW1lPSJmb28iIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8YXR0cmlidXRlIG5hbWU9ImJhciIvPg0KKyAgPG9uZU9yTW9yZT4NCisgICAgPGF0dHJpYnV0ZT4NCisgICAgICA8bnNOYW1lIG5zPSIiPg0KKwk8ZXhjZXB0Pg0KKwkgIDxuYW1lPmJhejwvbmFtZT4NCisJPC9leGNlcHQ+DQorICAgICAgIDwvbnNOYW1lPg0KKyAgICA8L2F0dHJpYnV0ZT4NCisgIDwvb25lT3JNb3JlPg0KKzwvZWxlbWVudD4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj43LjM8L3NlY3Rpb24+DQorPGluY29ycmVjdD4NCis8ZWxlbWVudCBuYW1lPSJmb28iIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8b25lT3JNb3JlPg0KKyAgICA8YXR0cmlidXRlPg0KKyAgICAgIDxhbnlOYW1lLz4NCisgICAgPC9hdHRyaWJ1dGU+DQorICA8L29uZU9yTW9yZT4NCisgIDxvbmVPck1vcmU+DQorICAgIDxhdHRyaWJ1dGU+DQorICAgICAgPG5zTmFtZSBucz0iIi8+DQorICAgIDwvYXR0cmlidXRlPg0KKyAgPC9vbmVPck1vcmU+DQorPC9lbGVtZW50Pg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjcuMzwvc2VjdGlvbj4NCis8aW5jb3JyZWN0Pg0KKzxlbGVtZW50IG5hbWU9ImZvbyIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxvbmVPck1vcmU+DQorICAgIDxhdHRyaWJ1dGU+DQorICAgICAgPGFueU5hbWUvPg0KKyAgICA8L2F0dHJpYnV0ZT4NCisgIDwvb25lT3JNb3JlPg0KKyAgPG9uZU9yTW9yZT4NCisgICAgPGF0dHJpYnV0ZT4NCisgICAgICA8YW55TmFtZS8+DQorICAgIDwvYXR0cmlidXRlPg0KKyAgPC9vbmVPck1vcmU+DQorPC9lbGVtZW50Pg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjcuMzwvc2VjdGlvbj4NCis8aW5jb3JyZWN0Pg0KKzxlbGVtZW50IG5hbWU9ImZvbyIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxvbmVPck1vcmU+DQorICAgIDxhdHRyaWJ1dGU+DQorICAgICAgPG5zTmFtZSBucz0iIi8+DQorICAgIDwvYXR0cmlidXRlPg0KKyAgPC9vbmVPck1vcmU+DQorICA8b25lT3JNb3JlPg0KKyAgICA8YXR0cmlidXRlPg0KKyAgICAgIDxuc05hbWUgbnM9IiI+DQorCTxleGNlcHQ+DQorCSAgPG5hbWU+YmFyPC9uYW1lPg0KKwk8L2V4Y2VwdD4NCisgICAgICA8L25zTmFtZT4NCisgICAgPC9hdHRyaWJ1dGU+DQorICA8L29uZU9yTW9yZT4NCis8L2VsZW1lbnQ+DQorPC9pbmNvcnJlY3Q+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Ny4zPC9zZWN0aW9uPg0KKzxpbmNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0iZm9vIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPG9uZU9yTW9yZT4NCisgICAgPGF0dHJpYnV0ZT4NCisgICAgICA8YW55TmFtZT4NCisJPGV4Y2VwdD4NCisJICA8bnNOYW1lPg0KKwkgICAgPGV4Y2VwdD4NCisJICAgICAgPG5hbWU+Zm9vPC9uYW1lPg0KKwkgICAgPC9leGNlcHQ+DQorCSAgPC9uc05hbWU+DQorCTwvZXhjZXB0Pg0KKyAgICAgIDwvYW55TmFtZT4NCisgICAgPC9hdHRyaWJ1dGU+DQorICA8L29uZU9yTW9yZT4NCisgIDxhdHRyaWJ1dGUgbmFtZT0iZm9vIi8+DQorPC9lbGVtZW50Pg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjcuMzwvc2VjdGlvbj4NCis8aW5jb3JyZWN0Pg0KKzxlbGVtZW50IG5hbWU9ImZvbyIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxvbmVPck1vcmU+DQorICAgIDxhdHRyaWJ1dGU+DQorICAgICAgPGFueU5hbWU+DQorCTxleGNlcHQ+DQorCSAgPG5zTmFtZT4NCisJICAgIDxleGNlcHQ+DQorCSAgICAgIDxuYW1lPmZvbzwvbmFtZT4NCisJICAgIDwvZXhjZXB0Pg0KKwkgIDwvbnNOYW1lPg0KKwk8L2V4Y2VwdD4NCisgICAgICA8L2FueU5hbWU+DQorICAgIDwvYXR0cmlidXRlPg0KKyAgPC9vbmVPck1vcmU+DQorICA8b25lT3JNb3JlPg0KKyAgICA8YXR0cmlidXRlPg0KKyAgICAgIDxuc05hbWUvPg0KKyAgICA8L2F0dHJpYnV0ZT4NCisgIDwvb25lT3JNb3JlPg0KKzwvZWxlbWVudD4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj43LjM8L3NlY3Rpb24+DQorPGNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0iZm9vIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPG9uZU9yTW9yZT4NCisgICAgPGF0dHJpYnV0ZT4NCisgICAgICA8YW55TmFtZT4NCisJPGV4Y2VwdD4NCisJICA8bnNOYW1lPg0KKwkgICAgPGV4Y2VwdD4NCisJICAgICAgPG5hbWU+YmFyPC9uYW1lPg0KKwkgICAgPC9leGNlcHQ+DQorCSAgPC9uc05hbWU+DQorCTwvZXhjZXB0Pg0KKyAgICAgIDwvYW55TmFtZT4NCisgICAgPC9hdHRyaWJ1dGU+DQorICA8L29uZU9yTW9yZT4NCisgIDxhdHRyaWJ1dGUgbmFtZT0iYmF6Ii8+DQorPC9lbGVtZW50Pg0KKzwvY29ycmVjdD4NCis8dmFsaWQ+DQorPGZvbyBiYXI9Inh4IiBiYXo9Inl5Ii8+DQorPC92YWxpZD4NCis8aW52YWxpZD4NCis8Zm9vIHg9Inh4IiBiYXo9Inl5Ii8+DQorPC9pbnZhbGlkPg0KKzx2YWxpZD4NCis8Zm9vIHhtbG5zOmVnPSJodHRwOi8vd3d3LmV4YW1wbGUuY29tLyIgZWc6eD0ieHgiIGJhej0ieXkiLz4NCis8L3ZhbGlkPg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjcuMzwvc2VjdGlvbj4NCis8Y29ycmVjdD4NCis8ZWxlbWVudCBuYW1lPSJmb28iIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8b25lT3JNb3JlPg0KKyAgICA8YXR0cmlidXRlPg0KKyAgICAgIDxuc05hbWUgbnM9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20vMSIvPg0KKyAgICA8L2F0dHJpYnV0ZT4NCisgIDwvb25lT3JNb3JlPg0KKyAgPG9uZU9yTW9yZT4NCisgICAgPGF0dHJpYnV0ZT4NCisgICAgICA8bnNOYW1lIG5zPSJodHRwOi8vd3d3LmV4YW1wbGUuY29tLzIiLz4NCisgICAgPC9hdHRyaWJ1dGU+DQorICA8L29uZU9yTW9yZT4NCis8L2VsZW1lbnQ+DQorPC9jb3JyZWN0Pg0KKzx2YWxpZD4NCis8Zm9vIHhtbG5zOmVnMT0iaHR0cDovL3d3dy5leGFtcGxlLmNvbS8xIg0KKyAgICAgeG1sbnM6ZWcyPSJodHRwOi8vd3d3LmV4YW1wbGUuY29tLzIiDQorICAgICBlZzE6eD0ieHgiIGVnMjp5PSJ5eSIvPg0KKzwvdmFsaWQ+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Ny4zPC9zZWN0aW9uPg0KKzxjb3JyZWN0Pg0KKzxlbGVtZW50IG5hbWU9ImZvbyIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxjaG9pY2U+DQorICAgIDxhdHRyaWJ1dGUgbmFtZT0iYmFyIi8+DQorICAgIDxhdHRyaWJ1dGUgbmFtZT0iYmFyIi8+DQorICA8L2Nob2ljZT4NCis8L2VsZW1lbnQ+DQorPC9jb3JyZWN0Pg0KKzx2YWxpZD4NCis8Zm9vIGJhcj0ieHgiLz4NCis8L3ZhbGlkPg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjcuMzwvc2VjdGlvbj4NCis8aW5jb3JyZWN0Pg0KKzxlbGVtZW50IG5hbWU9ImZvbyIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxhdHRyaWJ1dGUgbmFtZT0iYmFyIi8+DQorICA8Y2hvaWNlPg0KKyAgICA8YXR0cmlidXRlIG5hbWU9ImJheiIvPg0KKyAgICA8YXR0cmlidXRlIG5hbWU9ImJhciIvPg0KKyAgPC9jaG9pY2U+DQorPC9lbGVtZW50Pg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjcuMzwvc2VjdGlvbj4NCis8aW5jb3JyZWN0Pg0KKzxlbGVtZW50IG5hbWU9ImZvbyIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxhdHRyaWJ1dGU+PGFueU5hbWUvPjx0ZXh0Lz48L2F0dHJpYnV0ZT4NCis8L2VsZW1lbnQ+DQorPC9pbmNvcnJlY3Q+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Ny4zPC9zZWN0aW9uPg0KKzxpbmNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0iZm9vIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPGF0dHJpYnV0ZT48bnNOYW1lIG5zID0iIi8+PHRleHQvPjwvYXR0cmlidXRlPg0KKzwvZWxlbWVudD4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj43LjM8L3NlY3Rpb24+DQorPGluY29ycmVjdD4NCis8ZWxlbWVudCBuYW1lPSJmb28iIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8YXR0cmlidXRlPjxjaG9pY2U+PG5zTmFtZSBucyA9IiIvPjxuYW1lPmZvbzwvbmFtZT48L2Nob2ljZT48dGV4dC8+PC9hdHRyaWJ1dGU+DQorPC9lbGVtZW50Pg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPC90ZXN0U3VpdGU+DQorPHRlc3RTdWl0ZT4NCis8c2VjdGlvbj43LjQ8L3NlY3Rpb24+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjcuNDwvc2VjdGlvbj4NCis8aW5jb3JyZWN0Pg0KKzxlbGVtZW50IG5hbWU9ImZvbyIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxpbnRlcmxlYXZlPg0KKyAgICA8ZWxlbWVudCBuYW1lPSJiYXIiPg0KKyAgICAgIDxlbXB0eS8+DQorICAgIDwvZWxlbWVudD4NCisgICAgPGVsZW1lbnQgbmFtZT0iYmFyIj4NCisgICAgICA8ZW1wdHkvPg0KKyAgICA8L2VsZW1lbnQ+DQorICA8L2ludGVybGVhdmU+DQorPC9lbGVtZW50Pg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjcuNDwvc2VjdGlvbj4NCis8aW5jb3JyZWN0Pg0KKzxlbGVtZW50IG5hbWU9ImZvbyIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxpbnRlcmxlYXZlPg0KKyAgICA8ZWxlbWVudCBuYW1lPSJiYXIiPg0KKyAgICAgIDxlbXB0eS8+DQorICAgIDwvZWxlbWVudD4NCisgICAgPGludGVybGVhdmU+DQorICAgICAgPGVsZW1lbnQgbmFtZT0iYmF6Ij4NCisJPGVtcHR5Lz4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgICAgPGVsZW1lbnQgbmFtZT0iYmFyIj4NCisJPGVtcHR5Lz4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgIDwvaW50ZXJsZWF2ZT4NCisgIDwvaW50ZXJsZWF2ZT4NCis8L2VsZW1lbnQ+DQorPC9pbmNvcnJlY3Q+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Ny40PC9zZWN0aW9uPg0KKzxpbmNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0iZm9vIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPGludGVybGVhdmU+DQorICAgIDxlbGVtZW50IG5hbWU9ImJhciI+DQorICAgICAgPGVtcHR5Lz4NCisgICAgPC9lbGVtZW50Pg0KKyAgICA8Z3JvdXA+DQorICAgICAgPGVsZW1lbnQgbmFtZT0iYmF6Ij4NCisJPGVtcHR5Lz4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgICAgPGVsZW1lbnQgbmFtZT0iYmFyIj4NCisJPGVtcHR5Lz4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgIDwvZ3JvdXA+DQorICA8L2ludGVybGVhdmU+DQorPC9lbGVtZW50Pg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjcuNDwvc2VjdGlvbj4NCis8aW5jb3JyZWN0Pg0KKzxlbGVtZW50IG5hbWU9ImZvbyIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxpbnRlcmxlYXZlPg0KKyAgICA8ZWxlbWVudCBuYW1lPSJiYXIiPg0KKyAgICAgIDxlbXB0eS8+DQorICAgIDwvZWxlbWVudD4NCisgICAgPGdyb3VwPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9ImJheiI+DQorCTxlbXB0eS8+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgICAgIDxpbnRlcmxlYXZlPg0KKyAgICAgICAgPGVsZW1lbnQgbmFtZT0iYmF6Ij4NCisgICAgICAgICAgPGVtcHR5Lz4NCisgICAgICAgIDwvZWxlbWVudD4NCisJPGVsZW1lbnQgbmFtZT0iYmFyIj4NCisJICA8ZW1wdHkvPg0KKwk8L2VsZW1lbnQ+DQorICAgICAgPC9pbnRlcmxlYXZlPg0KKyAgICA8L2dyb3VwPg0KKyAgPC9pbnRlcmxlYXZlPg0KKzwvZWxlbWVudD4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj43LjQ8L3NlY3Rpb24+DQorPGluY29ycmVjdD4NCis8ZWxlbWVudCBuYW1lPSJmb28iIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8aW50ZXJsZWF2ZT4NCisgICAgPGVsZW1lbnQgbmFtZT0iYmFyIj4NCisgICAgICA8ZW1wdHkvPg0KKyAgICA8L2VsZW1lbnQ+DQorICAgIDxvcHRpb25hbD4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJiYXIiPg0KKwk8ZW1wdHkvPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICAgPC9vcHRpb25hbD4NCisgIDwvaW50ZXJsZWF2ZT4NCis8L2VsZW1lbnQ+DQorPC9pbmNvcnJlY3Q+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Ny40PC9zZWN0aW9uPg0KKzxpbmNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0iZm9vIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPGludGVybGVhdmU+DQorICAgIDxlbGVtZW50IG5hbWU9ImJhciI+DQorICAgICAgPGVtcHR5Lz4NCisgICAgPC9lbGVtZW50Pg0KKyAgICA8ZWxlbWVudD4NCisgICAgICA8bnNOYW1lIG5zPSIiLz4NCisgICAgICA8ZW1wdHkvPg0KKyAgICA8L2VsZW1lbnQ+DQorICA8L2ludGVybGVhdmU+DQorPC9lbGVtZW50Pg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjcuNDwvc2VjdGlvbj4NCis8aW5jb3JyZWN0Pg0KKzxlbGVtZW50IG5hbWU9ImZvbyIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxpbnRlcmxlYXZlPg0KKyAgICA8ZWxlbWVudCBuYW1lPSJiYXIiPg0KKyAgICAgIDxlbXB0eS8+DQorICAgIDwvZWxlbWVudD4NCisgICAgPGVsZW1lbnQ+DQorICAgICAgPGFueU5hbWUvPg0KKyAgICAgIDxlbXB0eS8+DQorICAgIDwvZWxlbWVudD4NCisgIDwvaW50ZXJsZWF2ZT4NCis8L2VsZW1lbnQ+DQorPC9pbmNvcnJlY3Q+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Ny40PC9zZWN0aW9uPg0KKzxpbmNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0iZm9vIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPGludGVybGVhdmU+DQorICAgIDxlbGVtZW50IG5hbWU9ImJhciI+DQorICAgICAgPGVtcHR5Lz4NCisgICAgPC9lbGVtZW50Pg0KKyAgICA8ZWxlbWVudCBuYW1lPSJiYXIiPg0KKyAgICAgIDxub3RBbGxvd2VkLz4NCisgICAgPC9lbGVtZW50Pg0KKyAgPC9pbnRlcmxlYXZlPg0KKzwvZWxlbWVudD4NCis8L2luY29ycmVjdD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8c2VjdGlvbj43LjQ8L3NlY3Rpb24+DQorPGNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0iZm9vIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPGludGVybGVhdmU+DQorICAgIDxlbGVtZW50IG5hbWU9ImJhciI+DQorICAgICAgPGVtcHR5Lz4NCisgICAgPC9lbGVtZW50Pg0KKyAgICA8ZWxlbWVudD4NCisgICAgICA8YW55TmFtZT4NCisgICAgICAgIDxleGNlcHQ+DQorICAgICAgICAgIDxuYW1lPmJhcjwvbmFtZT4NCisgICAgICAgIDwvZXhjZXB0Pg0KKyAgICAgIDwvYW55TmFtZT4NCisgICAgICA8ZW1wdHkvPg0KKyAgICA8L2VsZW1lbnQ+DQorICA8L2ludGVybGVhdmU+DQorPC9lbGVtZW50Pg0KKzwvY29ycmVjdD4NCis8dmFsaWQ+DQorPGZvbz48YmFyLz48YmF6Lz48L2Zvbz4NCis8L3ZhbGlkPg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjcuNDwvc2VjdGlvbj4NCis8Y29ycmVjdD4NCis8ZWxlbWVudCBuYW1lPSJmb28iIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8aW50ZXJsZWF2ZT4NCisgICAgPGNob2ljZT4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJiYXIiPg0KKwk8ZW1wdHkvPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJiYXIiPg0KKwk8dGV4dC8+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgICA8L2Nob2ljZT4NCisgICAgPGVsZW1lbnQgbmFtZT0iYmF6Ij4NCisgICAgICA8ZW1wdHkvPg0KKyAgICA8L2VsZW1lbnQ+DQorICA8L2ludGVybGVhdmU+DQorPC9lbGVtZW50Pg0KKzwvY29ycmVjdD4NCis8dmFsaWQ+DQorPGZvbz48YmFyLz48YmF6Lz48L2Zvbz4NCis8L3ZhbGlkPg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxzZWN0aW9uPjcuNDwvc2VjdGlvbj4NCis8aW5jb3JyZWN0Pg0KKzxlbGVtZW50IG5hbWU9ImZvbyIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxpbnRlcmxlYXZlPg0KKyAgICA8dGV4dC8+DQorICAgIDx0ZXh0Lz4NCisgIDwvaW50ZXJsZWF2ZT4NCis8L2VsZW1lbnQ+DQorPC9pbmNvcnJlY3Q+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHNlY3Rpb24+Ny40PC9zZWN0aW9uPg0KKzxpbmNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0iZm9vIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPG1peGVkPg0KKyAgICA8bWl4ZWQ+DQorICAgICAgPGVsZW1lbnQgbmFtZT0iYmFyIj4NCisgICAgICAgIDxlbXB0eS8+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgICA8L21peGVkPg0KKyAgICA8ZWxlbWVudCBuYW1lPSJiYXoiPg0KKyAgICAgIDxlbXB0eS8+DQorICAgIDwvZWxlbWVudD4NCisgIDwvbWl4ZWQ+DQorPC9lbGVtZW50Pg0KKzwvaW5jb3JyZWN0Pg0KKzwvdGVzdENhc2U+DQorPC90ZXN0U3VpdGU+DQorPC90ZXN0U3VpdGU+DQorPHRlc3RTdWl0ZT4NCis8ZG9jdW1lbnRhdGlvbj5SZWdyZXNzaW9uczwvZG9jdW1lbnRhdGlvbj4NCis8dGVzdENhc2U+DQorPGNvcnJlY3Q+DQorPGdyYW1tYXIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCis8c3RhcnQ+DQorICA8ZWxlbWVudCBuYW1lPSJmb28iPg0KKyAgICA8Y2hvaWNlPg0KKyAgICAgIDxncm91cD4NCisgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0iYmFyIj48ZW1wdHkvPjwvYXR0cmlidXRlPg0KKyAgICAgICAgPGVsZW1lbnQgbmFtZT0iYmF6MSI+PGVtcHR5Lz48L2VsZW1lbnQ+DQorICAgICAgPC9ncm91cD4NCisgICAgICA8Z3JvdXA+DQorICAgICAgICA8YXR0cmlidXRlIG5hbWU9ImJhciI+PHRleHQvPjwvYXR0cmlidXRlPg0KKyAgICAgICAgPGVsZW1lbnQgbmFtZT0iYmF6MiI+PGVtcHR5Lz48L2VsZW1lbnQ+DQorICAgICAgPC9ncm91cD4NCisgICAgPC9jaG9pY2U+DQorICA8L2VsZW1lbnQ+DQorPC9zdGFydD4NCis8L2dyYW1tYXI+DQorPC9jb3JyZWN0Pg0KKzx2YWxpZD4NCis8Zm9vIGJhcj0iICI+PGJhejEvPjwvZm9vPg0KKzwvdmFsaWQ+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPGNvcnJlY3Q+DQorPG5vdEFsbG93ZWQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIi8+DQorPC9jb3JyZWN0Pg0KKzxpbnZhbGlkPg0KKzxmb28vPg0KKzwvaW52YWxpZD4NCis8L3Rlc3RDYXNlPg0KKzwvdGVzdFN1aXRlPg0KKzwvdGVzdFN1aXRlPg0KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL09wZW5Eb2N1bWVudFN1Yi5ybmcgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy9PcGVuRG9jdW1lbnRTdWIucm5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE2MWJlNjYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy9PcGVuRG9jdW1lbnRTdWIucm5nCkBAIC0wLDAgKzEsMjI5IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCEtLQorICAgIE9BU0lTIE9wZW5Eb2N1bWVudCB2MS4wCisgICAgUmVsYXgtTkcgU2NoZW1hCisgICAgCisgICAgKiogSXQncyBvbmx5IGEgdmVyeSBzbWFsbCBzdWItc2V0IG9mIHRoZSBzY2hlbWEsIG1lYW50IGZvciBkZWJ1Z2dpbmcgdGV4dC1ub3Rlcy1jb25maWd1cmF0aW9uIGVsZW1lbnQgKioKKy0tPgorCis8Z3JhbW1hcgorICAgIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIKKyAgICB4bWxuczphPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvY29tcGF0aWJpbGl0eS9hbm5vdGF0aW9ucy8xLjAiCisKKyAgICBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyIKKworICAgIHhtbG5zOm9mZmljZT0idXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpvZmZpY2U6MS4wIgorICAgIHhtbG5zOm1ldGE9InVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6bWV0YToxLjAiCisgICAgeG1sbnM6Y29uZmlnPSJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOmNvbmZpZzoxLjAiCisgICAgeG1sbnM6dGV4dD0idXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczp0ZXh0OjEuMCIKKyAgICB4bWxuczp0YWJsZT0idXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczp0YWJsZToxLjAiCisgICAgeG1sbnM6ZHJhdz0idXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpkcmF3aW5nOjEuMCIKKyAgICB4bWxuczpwcmVzZW50YXRpb249InVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6cHJlc2VudGF0aW9uOjEuMCIKKyAgICB4bWxuczpkcjNkPSJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOmRyM2Q6MS4wIgorICAgIHhtbG5zOmNoYXJ0PSJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOmNoYXJ0OjEuMCIKKyAgICB4bWxuczpmb3JtPSJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOmZvcm06MS4wIgorICAgIHhtbG5zOnNjcmlwdD0idXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpzY3JpcHQ6MS4wIgorICAgIHhtbG5zOnN0eWxlPSJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOnN0eWxlOjEuMCIKKyAgICB4bWxuczpudW1iZXI9InVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6ZGF0YXN0eWxlOjEuMCIKKyAgICB4bWxuczphbmltPSJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOmFuaW1hdGlvbjoxLjAiCisKKyAgICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCisgICAgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiCisgICAgeG1sbnM6bWF0aD0iaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTCIKKyAgICB4bWxuczp4Zm9ybXM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDIveGZvcm1zIgorCisgICAgeG1sbnM6Zm89InVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6eHNsLWZvLWNvbXBhdGlibGU6MS4wIgorICAgIHhtbG5zOnN2Zz0idXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpzdmctY29tcGF0aWJsZToxLjAiCisgICAgeG1sbnM6c21pbD0idXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpzbWlsLWNvbXBhdGlibGU6MS4wIgorPgorPGRlZmluZSBuYW1lPSJvZmZpY2UtcHJvY2Vzcy1jb250ZW50Ij4KKyAgICA8b3B0aW9uYWw+CisgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0ib2ZmaWNlOnByb2Nlc3MtY29udGVudCIgYTpkZWZhdWx0VmFsdWU9InRydWUiPgorICAgICAgICAgICAgPHJlZiBuYW1lPSJib29sZWFuIi8+CisgICAgICAgIDwvYXR0cmlidXRlPgorICAgIDwvb3B0aW9uYWw+Cis8L2RlZmluZT4KKzxzdGFydD4KKyAgICA8Y2hvaWNlPgorICAgICAgICA8cmVmIG5hbWU9Im9mZmljZS1kb2N1bWVudC1zdHlsZXMiLz4KKyAgICA8L2Nob2ljZT4KKzwvc3RhcnQ+Cis8ZGVmaW5lIG5hbWU9Im9mZmljZS1kb2N1bWVudC1zdHlsZXMiPgorICAgIDxlbGVtZW50IG5hbWU9Im9mZmljZTpkb2N1bWVudC1zdHlsZXMiPgorICAgICAgICA8cmVmIG5hbWU9Im9mZmljZS1kb2N1bWVudC1jb21tb24tYXR0cnMiLz4KKyAgICAgICAgPHJlZiBuYW1lPSJvZmZpY2Utc3R5bGVzIi8+CisgICAgPC9lbGVtZW50PgorPC9kZWZpbmU+Cis8ZGVmaW5lIG5hbWU9Im9mZmljZS1kb2N1bWVudC1jb21tb24tYXR0cnMiIGNvbWJpbmU9ImludGVybGVhdmUiPgorICAgIDxvcHRpb25hbD4KKyAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJvZmZpY2U6dmVyc2lvbiI+CisgICAgICAgICAgICA8cmVmIG5hbWU9InN0cmluZyIvPgorICAgICAgICA8L2F0dHJpYnV0ZT4KKyAgICA8L29wdGlvbmFsPgorPC9kZWZpbmU+Cis8ZGVmaW5lIG5hbWU9Im9mZmljZS1zdHlsZXMiPgorICAgIDxvcHRpb25hbD4KKyAgICAgICAgPGVsZW1lbnQgbmFtZT0ib2ZmaWNlOnN0eWxlcyI+CisgICAgICAgICAgICA8aW50ZXJsZWF2ZT4KKyAgICAgICAgICAgICAgICA8emVyb09yTW9yZT4KKyAgICAgICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJ0ZXh0LW5vdGVzLWNvbmZpZ3VyYXRpb24iLz4KKyAgICAgICAgICAgICAgICA8L3plcm9Pck1vcmU+CisgICAgICAgICAgICA8L2ludGVybGVhdmU+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICA8L29wdGlvbmFsPgorPC9kZWZpbmU+Cis8ZGVmaW5lIG5hbWU9InRleHQtbm90ZXMtY29uZmlndXJhdGlvbiI+CisgICAgPGVsZW1lbnQgbmFtZT0idGV4dDpub3Rlcy1jb25maWd1cmF0aW9uIj4KKyAgICAgICAgPHJlZiBuYW1lPSJ0ZXh0LW5vdGVzLWNvbmZpZ3VyYXRpb24tY29udGVudCIvPgorICAgIDwvZWxlbWVudD4KKzwvZGVmaW5lPgorPGRlZmluZSBuYW1lPSJ0ZXh0LW5vdGVzLWNvbmZpZ3VyYXRpb24tY29udGVudCIgY29tYmluZT0iaW50ZXJsZWF2ZSI+CisgICAgPHJlZiBuYW1lPSJ0ZXh0LW5vdGUtY2xhc3MiLz4KKzwvZGVmaW5lPgorPGRlZmluZSBuYW1lPSJ0ZXh0LW5vdGVzLWNvbmZpZ3VyYXRpb24tY29udGVudCIgY29tYmluZT0iaW50ZXJsZWF2ZSI+CisgICAgPG9wdGlvbmFsPgorICAgICAgICA8YXR0cmlidXRlIG5hbWU9InRleHQ6Y2l0YXRpb24tc3R5bGUtbmFtZSI+CisgICAgICAgICAgICA8cmVmIG5hbWU9InN0eWxlTmFtZVJlZiIvPgorICAgICAgICA8L2F0dHJpYnV0ZT4KKyAgICA8L29wdGlvbmFsPgorPC9kZWZpbmU+Cis8ZGVmaW5lIG5hbWU9InRleHQtbm90ZXMtY29uZmlndXJhdGlvbi1jb250ZW50IiBjb21iaW5lPSJpbnRlcmxlYXZlIj4KKyAgICA8b3B0aW9uYWw+CisgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0idGV4dDpjaXRhdGlvbi1ib2R5LXN0eWxlLW5hbWUiPgorICAgICAgICAgICAgPHJlZiBuYW1lPSJzdHlsZU5hbWVSZWYiLz4KKyAgICAgICAgPC9hdHRyaWJ1dGU+CisgICAgPC9vcHRpb25hbD4KKzwvZGVmaW5lPgorPGRlZmluZSBuYW1lPSJ0ZXh0LW5vdGVzLWNvbmZpZ3VyYXRpb24tY29udGVudCIgY29tYmluZT0iaW50ZXJsZWF2ZSI+CisgICAgPG9wdGlvbmFsPgorICAgICAgICA8YXR0cmlidXRlIG5hbWU9InRleHQ6ZGVmYXVsdC1zdHlsZS1uYW1lIj4KKyAgICAgICAgICAgIDxyZWYgbmFtZT0ic3R5bGVOYW1lUmVmIi8+CisgICAgICAgIDwvYXR0cmlidXRlPgorICAgIDwvb3B0aW9uYWw+Cis8L2RlZmluZT4KKzxkZWZpbmUgbmFtZT0idGV4dC1ub3Rlcy1jb25maWd1cmF0aW9uLWNvbnRlbnQiIGNvbWJpbmU9ImludGVybGVhdmUiPgorICAgIDxvcHRpb25hbD4KKyAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJ0ZXh0Om1hc3Rlci1wYWdlLW5hbWUiPgorICAgICAgICAgICAgPHJlZiBuYW1lPSJzdHlsZU5hbWVSZWYiLz4KKyAgICAgICAgPC9hdHRyaWJ1dGU+CisgICAgPC9vcHRpb25hbD4KKzwvZGVmaW5lPgorPGRlZmluZSBuYW1lPSJ0ZXh0LW5vdGVzLWNvbmZpZ3VyYXRpb24tY29udGVudCIgY29tYmluZT0iaW50ZXJsZWF2ZSI+CisgICAgPG9wdGlvbmFsPgorICAgICAgICA8YXR0cmlidXRlIG5hbWU9InRleHQ6c3RhcnQtdmFsdWUiPgorICAgICAgICAgICAgPHJlZiBuYW1lPSJub25OZWdhdGl2ZUludGVnZXIiLz4KKyAgICAgICAgPC9hdHRyaWJ1dGU+CisgICAgPC9vcHRpb25hbD4KKzwvZGVmaW5lPgorPGRlZmluZSBuYW1lPSJ0ZXh0LW5vdGVzLWNvbmZpZ3VyYXRpb24tY29udGVudCIgY29tYmluZT0iaW50ZXJsZWF2ZSI+CisgICAgPHJlZiBuYW1lPSJjb21tb24tbnVtLWZvcm1hdC1wcmVmaXgtc3VmZml4LWF0dGxpc3QiLz4KKyAgICA8b3B0aW9uYWw+CisgICAgICAgIDxyZWYgbmFtZT0iY29tbW9uLW51bS1mb3JtYXQtYXR0bGlzdCIvPgorICAgIDwvb3B0aW9uYWw+Cis8L2RlZmluZT4KKzxkZWZpbmUgbmFtZT0idGV4dC1ub3Rlcy1jb25maWd1cmF0aW9uLWNvbnRlbnQiIGNvbWJpbmU9ImludGVybGVhdmUiPgorICAgIDxvcHRpb25hbD4KKyAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJ0ZXh0OnN0YXJ0LW51bWJlcmluZy1hdCI+CisgICAgICAgICAgICA8Y2hvaWNlPgorICAgICAgICAgICAgICAgIDx2YWx1ZT5kb2N1bWVudDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPHZhbHVlPmNoYXB0ZXI8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDx2YWx1ZT5wYWdlPC92YWx1ZT4KKyAgICAgICAgICAgIDwvY2hvaWNlPgorICAgICAgICA8L2F0dHJpYnV0ZT4KKyAgICA8L29wdGlvbmFsPgorPC9kZWZpbmU+Cis8ZGVmaW5lIG5hbWU9InRleHQtbm90ZXMtY29uZmlndXJhdGlvbi1jb250ZW50IiBjb21iaW5lPSJpbnRlcmxlYXZlIj4KKyAgICA8b3B0aW9uYWw+CisgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0idGV4dDpmb290bm90ZXMtcG9zaXRpb24iPgorICAgICAgICAgICAgPGNob2ljZT4KKyAgICAgICAgICAgICAgICA8dmFsdWU+dGV4dDwvdmFsdWU+CisgICAgICAgICAgICAgICAgPHZhbHVlPnBhZ2U8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDx2YWx1ZT5zZWN0aW9uPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8dmFsdWU+ZG9jdW1lbnQ8L3ZhbHVlPgorICAgICAgICAgICAgPC9jaG9pY2U+CisgICAgICAgIDwvYXR0cmlidXRlPgorICAgIDwvb3B0aW9uYWw+Cis8L2RlZmluZT4KKzxkZWZpbmUgbmFtZT0idGV4dC1ub3Rlcy1jb25maWd1cmF0aW9uLWNvbnRlbnQiIGNvbWJpbmU9ImludGVybGVhdmUiPgorICAgIDxvcHRpb25hbD4KKyAgICAgICAgPGVsZW1lbnQgbmFtZT0idGV4dDpub3RlLWNvbnRpbnVhdGlvbi1ub3RpY2UtZm9yd2FyZCI+CisgICAgICAgICAgICA8dGV4dC8+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICA8L29wdGlvbmFsPgorPC9kZWZpbmU+Cis8ZGVmaW5lIG5hbWU9InRleHQtbm90ZXMtY29uZmlndXJhdGlvbi1jb250ZW50IiBjb21iaW5lPSJpbnRlcmxlYXZlIj4KKyAgICA8b3B0aW9uYWw+CisgICAgICAgIDxlbGVtZW50IG5hbWU9InRleHQ6bm90ZS1jb250aW51YXRpb24tbm90aWNlLWJhY2t3YXJkIj4KKyAgICAgICAgICAgIDx0ZXh0Lz4KKyAgICAgICAgPC9lbGVtZW50PgorICAgIDwvb3B0aW9uYWw+Cis8L2RlZmluZT4KKzxkZWZpbmUgbmFtZT0iY29tbW9uLW51bS1mb3JtYXQtcHJlZml4LXN1ZmZpeC1hdHRsaXN0IiBjb21iaW5lPSJpbnRlcmxlYXZlIj4KKyAgICA8b3B0aW9uYWw+CisgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0ic3R5bGU6bnVtLXByZWZpeCI+CisgICAgICAgICAgICA8cmVmIG5hbWU9InN0cmluZyIvPgorICAgICAgICA8L2F0dHJpYnV0ZT4KKyAgICA8L29wdGlvbmFsPgorICAgIDxvcHRpb25hbD4KKyAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJzdHlsZTpudW0tc3VmZml4Ij4KKyAgICAgICAgICAgIDxyZWYgbmFtZT0ic3RyaW5nIi8+CisgICAgICAgIDwvYXR0cmlidXRlPgorICAgIDwvb3B0aW9uYWw+Cis8L2RlZmluZT4KKzxkZWZpbmUgbmFtZT0iY29tbW9uLW51bS1mb3JtYXQtYXR0bGlzdCIgY29tYmluZT0iaW50ZXJsZWF2ZSI+CisgICAgPGNob2ljZT4KKyAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJzdHlsZTpudW0tZm9ybWF0Ij4KKyAgICAgICAgICAgIDxjaG9pY2U+CisgICAgICAgICAgICAgICAgPHZhbHVlPjE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDx2YWx1ZT5pPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8dmFsdWU+STwvdmFsdWU+CisgICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJzdHJpbmciLz4KKyAgICAgICAgICAgICAgICA8ZW1wdHkvPgorICAgICAgICAgICAgPC9jaG9pY2U+CisgICAgICAgIDwvYXR0cmlidXRlPgorICAgICAgICA8Z3JvdXA+CisgICAgICAgICAgICA8YXR0cmlidXRlIG5hbWU9InN0eWxlOm51bS1mb3JtYXQiPgorICAgICAgICAgICAgICAgIDxjaG9pY2U+CisgICAgICAgICAgICAgICAgICAgIDx2YWx1ZT5hPC92YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgPHZhbHVlPkE8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDwvY2hvaWNlPgorICAgICAgICAgICAgPC9hdHRyaWJ1dGU+CisgICAgICAgICAgICA8cmVmIG5hbWU9InN0eWxlLW51bS1sZXR0ZXItc3luYy1hdHRsaXN0Ii8+CisgICAgICAgIDwvZ3JvdXA+CisgICAgICAgIDxlbXB0eS8+CisgICAgPC9jaG9pY2U+Cis8L2RlZmluZT4KKzxkZWZpbmUgbmFtZT0ic3R5bGUtbnVtLWxldHRlci1zeW5jLWF0dGxpc3QiIGNvbWJpbmU9ImludGVybGVhdmUiPgorICAgIDxvcHRpb25hbD4KKyAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJzdHlsZTpudW0tbGV0dGVyLXN5bmMiPgorICAgICAgICAgICAgPHJlZiBuYW1lPSJib29sZWFuIi8+CisgICAgICAgIDwvYXR0cmlidXRlPgorICAgIDwvb3B0aW9uYWw+Cis8L2RlZmluZT4KKzxkZWZpbmUgbmFtZT0idGV4dC1ub3RlLWNsYXNzIj4KKyAgICA8YXR0cmlidXRlIG5hbWU9InRleHQ6bm90ZS1jbGFzcyI+CisgICAgICAgIDxjaG9pY2U+CisgICAgICAgICAgICA8dmFsdWU+Zm9vdG5vdGU8L3ZhbHVlPgorICAgICAgICAgICAgPHZhbHVlPmVuZG5vdGU8L3ZhbHVlPgorICAgICAgICA8L2Nob2ljZT4KKyAgICA8L2F0dHJpYnV0ZT4KKzwvZGVmaW5lPgorPGRlZmluZSBuYW1lPSJzdHlsZU5hbWVSZWYiPgorICAgIDxjaG9pY2U+CisgICAgICAgIDxkYXRhIHR5cGU9Ik5DTmFtZSIvPgorICAgICAgICA8ZW1wdHkvPgorICAgIDwvY2hvaWNlPgorPC9kZWZpbmU+Cis8ZGVmaW5lIG5hbWU9Im5vbk5lZ2F0aXZlSW50ZWdlciI+CisgICAgPGRhdGEgdHlwZT0ibm9uTmVnYXRpdmVJbnRlZ2VyIi8+Cis8L2RlZmluZT4KKzxkZWZpbmUgbmFtZT0iYm9vbGVhbiI+CisgICAgPGNob2ljZT4KKyAgICAgICAgPHZhbHVlPnRydWU8L3ZhbHVlPgorICAgICAgICA8dmFsdWU+ZmFsc2U8L3ZhbHVlPgorICAgIDwvY2hvaWNlPgorPC9kZWZpbmU+Cis8ZGVmaW5lIG5hbWU9InN0cmluZyI+CisgICAgPGRhdGEgdHlwZT0ic3RyaW5nIi8+Cis8L2RlZmluZT4KKzwvZ3JhbW1hcj4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL09wZW5Eb2N1bWVudFN1Yl8wLnhtbCBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL09wZW5Eb2N1bWVudFN1Yl8wLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45Y2ZiMTk4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvT3BlbkRvY3VtZW50U3ViXzAueG1sCkBAIC0wLDAgKzEsNyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKworPG9mZmljZTpkb2N1bWVudC1zdHlsZXMgeG1sbnM6b2ZmaWNlPSJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOm9mZmljZToxLjAiIHhtbG5zOnN0eWxlPSJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOnN0eWxlOjEuMCIgeG1sbnM6dGV4dD0idXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczp0ZXh0OjEuMCIgeG1sbnM6dGFibGU9InVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6dGFibGU6MS4wIiB4bWxuczpkcmF3PSJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOmRyYXdpbmc6MS4wIiB4bWxuczpmbz0idXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczp4c2wtZm8tY29tcGF0aWJsZToxLjAiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOm1ldGE9InVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6bWV0YToxLjAiIHhtbG5zOm51bWJlcj0idXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpkYXRhc3R5bGU6MS4wIiB4bWxuczpzdmc9InVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6c3ZnLWNvbXBhdGlibGU6MS4wIiB4bWxuczpjaGFydD0idXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpjaGFydDoxLjAiIHhtbG5zOmRyM2Q9InVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6ZHIzZDoxLjAiIHhtbG5zOm1hdGg9Imh0dHA6Ly93d3cudzMub3JnLzE5OTgvTWF0aC9NYXRoTUwiIHhtbG5zOmZvcm09InVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6Zm9ybToxLjAiIHhtbG5zOnNjcmlwdD0idXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpzY3JpcHQ6MS4wIiB4bWxuczpvb289Imh0dHA6Ly9vcGVub2ZmaWNlLm9yZy8yMDA0L29mZmljZSIgeG1sbnM6b29vdz0iaHR0cDovL29wZW5vZmZpY2Uub3JnLzIwMDQvd3JpdGVyIiB4bWxuczpvb29jPSJodHRwOi8vb3Blbm9mZmljZS5vcmcvMjAwNC9jYWxjIiB4bWxuczpkb209Imh0dHA6Ly93d3cudzMub3JnLzIwMDEveG1sLWV2ZW50cyIgb2ZmaWNlOnZlcnNpb249IjEuMCI+CisgPG9mZmljZTpzdHlsZXM+CisgIDx0ZXh0Om5vdGVzLWNvbmZpZ3VyYXRpb24gdGV4dDpub3RlLWNsYXNzPSJlbmRub3RlIiBzdHlsZTpudW0tZm9ybWF0PSIxIiB0ZXh0OnN0YXJ0LXZhbHVlPSIwIi8+CisgPC9vZmZpY2U6c3R5bGVzPgorPC9vZmZpY2U6ZG9jdW1lbnQtc3R5bGVzPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvYWRkcmVzc0Jvb2sucm5nIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvYWRkcmVzc0Jvb2sucm5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNkOTEwZjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy9hZGRyZXNzQm9vay5ybmcKQEAgLTAsMCArMSwyNCBAQAorPGdyYW1tYXIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4KKworICA8c3RhcnQ+CisgICAgPGVsZW1lbnQgbmFtZT0iYWRkcmVzc0Jvb2siPgorICAgICAgPHplcm9Pck1vcmU+CisJPGVsZW1lbnQgbmFtZT0iY2FyZCI+CisJICA8cmVmIG5hbWU9ImNhcmRDb250ZW50Ii8+CisJPC9lbGVtZW50PgorICAgICAgPC96ZXJvT3JNb3JlPgorICAgIDwvZWxlbWVudD4KKyAgPC9zdGFydD4KKworICA8ZGVmaW5lIG5hbWU9ImNhcmRDb250ZW50Ij4KKyAgICA8ZWxlbWVudCBuYW1lPSJuYW1lIj4KKyAgICAgIDx0ZXh0Lz4KKyAgICA8L2VsZW1lbnQ+CisgICAgPGVsZW1lbnQgbmFtZT0iZW1haWwiPgorICAgICAgPHRleHQvPgorICAgIDwvZWxlbWVudD4KKyAgPC9kZWZpbmU+CisKKzwvZ3JhbW1hcj4KKworCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy9jaG9pY2UwLnJuZyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL2Nob2ljZTAucm5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk5NTI2ZTEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy9jaG9pY2UwLnJuZwpAQCAtMCwwICsxLDI1IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZGV2aWNlIj4KKyAgICA8Y2hvaWNlPgorICAgICAgPGdyb3VwPgorCTxhdHRyaWJ1dGUgbmFtZT0ibGluayI+CisJICA8dmFsdWU+ZXRoZXJuZXQ8L3ZhbHVlPgorCTwvYXR0cmlidXRlPgorCTxvcHRpb25hbD4KKwkgIDxlbGVtZW50IG5hbWU9ImV0aGVybmV0LWVsZW1lbnQiPgorCSAgICA8dGV4dC8+CisJICA8L2VsZW1lbnQ+CisJPC9vcHRpb25hbD4KKyAgICAgIDwvZ3JvdXA+CisgICAgICA8Z3JvdXA+CisJPGF0dHJpYnV0ZSBuYW1lPSJsaW5rIj4KKwkgIDx2YWx1ZT5zZXJpYWw8L3ZhbHVlPgorCTwvYXR0cmlidXRlPgorCTxvcHRpb25hbD4KKwkgIDxlbGVtZW50IG5hbWU9InNlcmlhbC1lbGVtZW50Ij4KKwkgICAgPHRleHQvPgorCSAgPC9lbGVtZW50PgorCTwvb3B0aW9uYWw+CisgICAgICA8L2dyb3VwPgorICAgIDwvY2hvaWNlPgorPC9lbGVtZW50PgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvY2hvaWNlMF8wLnhtbCBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL2Nob2ljZTBfMC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTEzZmZhOAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL2Nob2ljZTBfMC54bWwKQEAgLTAsMCArMSwyIEBACis8ZGV2aWNlIGxpbms9ImV0aGVybmV0Ij4KKzwvZGV2aWNlPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvY2hvaWNlMF8xLnhtbCBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL2Nob2ljZTBfMS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjBjNDQxZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL2Nob2ljZTBfMS54bWwKQEAgLTAsMCArMSwyIEBACis8ZGV2aWNlIGxpbms9InNlcmlhbCI+Cis8L2RldmljZT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL2Nob2ljZTBfMi54bWwgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy9jaG9pY2UwXzIueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVmNjdlMGIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy9jaG9pY2UwXzIueG1sCkBAIC0wLDAgKzEsMyBAQAorPGRldmljZSBsaW5rPSJldGhlcm5ldCI+CisgIDxldGhlcm5ldC1lbGVtZW50Lz4KKzwvZGV2aWNlPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvY2hvaWNlMF8zLnhtbCBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL2Nob2ljZTBfMy54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzlhYzRhNgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL2Nob2ljZTBfMy54bWwKQEAgLTAsMCArMSwzIEBACis8ZGV2aWNlIGxpbms9InNlcmlhbCI+CisgIDxzZXJpYWwtZWxlbWVudC8+Cis8L2RldmljZT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL2Nob2ljZTBfNC54bWwgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy9jaG9pY2UwXzQueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFkZTFhYmMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy9jaG9pY2UwXzQueG1sCkBAIC0wLDAgKzEsMiBAQAorPGRldmljZSBsaW5rPSJ1bmtub3duIj4KKzwvZGV2aWNlPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvY2hvaWNlMF81LnhtbCBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL2Nob2ljZTBfNS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmFjNTBmNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL2Nob2ljZTBfNS54bWwKQEAgLTAsMCArMSwzIEBACis8ZGV2aWNlIGxpbms9ImV0aGVybmV0Ij4KKyAgPHNlcmlhbC1lbGVtZW50Lz4KKzwvZGV2aWNlPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvY2hvaWNlMF82LnhtbCBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL2Nob2ljZTBfNi54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWU0ZDFkMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL2Nob2ljZTBfNi54bWwKQEAgLTAsMCArMSwzIEBACis8ZGV2aWNlIGxpbms9InNlcmlhbCI+CisgIDxldGhlcm5ldC1lbGVtZW50Lz4KKzwvZGV2aWNlPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvY2hvaWNlMF83LnhtbCBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL2Nob2ljZTBfNy54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjI4Zjg5ZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL2Nob2ljZTBfNy54bWwKQEAgLTAsMCArMSwzIEBACis8ZGV2aWNlIGxpbms9ImV0aGVybmV0Ij4KKyAgPHVua25vd24tZWxlbWVudC8+Cis8L2RldmljZT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL2Nob2ljZTBfOC54bWwgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy9jaG9pY2UwXzgueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY4MTAyMjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy9jaG9pY2UwXzgueG1sCkBAIC0wLDAgKzEsMyBAQAorPGRldmljZSBsaW5rPSJ1bmtub3duIj4KKyAgPHVua25vd24tZWxlbWVudC8+Cis8L2RldmljZT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL2NvbXBhcmUwLnJuZyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL2NvbXBhcmUwLnJuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMDQ0NmM4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvY29tcGFyZTAucm5nCkBAIC0wLDAgKzEsOCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiID8+Cis8ZWxlbWVudCBuYW1lPSJudW1iZXIiIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIKKyAgICAgICAgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICA8YXR0cmlidXRlIG5hbWU9ImF0dDEiPgorICAgICA8dmFsdWUgdHlwZT0iaW50ZWdlciI+IDEgPC92YWx1ZT4KKyAgPC9hdHRyaWJ1dGU+Cis8L2VsZW1lbnQ+CisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL2NvbXBhcmUwXzAueG1sIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvY29tcGFyZTBfMC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmE3NGIyZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL2NvbXBhcmUwXzAueG1sCkBAIC0wLDAgKzEsMyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiA/PgorPG51bWJlciBhdHQxPSJ4Ij48L251bWJlcj4KKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvY29tcHMucm5nIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvY29tcHMucm5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg2MTcyYzEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy9jb21wcy5ybmcKQEAgLTAsMCArMSwxNzcgQEAKKzxncmFtbWFyIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+Cis8c3RhcnQ+CisgIDxyZWYgbmFtZT0iY29tcHMiLz4KKzwvc3RhcnQ+CisKKzxkZWZpbmUgbmFtZT0icGFja2FnZS1uYW1lIj4KKyAgPHRleHQvPgorPC9kZWZpbmU+CisKKzxkZWZpbmUgbmFtZT0iZ3JvdXAtbmFtZSI+CisgIDx0ZXh0Lz4KKzwvZGVmaW5lPgorCis8ZGVmaW5lIG5hbWU9ImxhbmciPgorICA8dGV4dC8+Cis8L2RlZmluZT4KKworPGRlZmluZSBuYW1lPSJkZXNjcmlwdGlvbi10ZXh0Ij4KKyAgPHRleHQvPgorPC9kZWZpbmU+CisKKzxkZWZpbmUgbmFtZT0iY29tcHMiPgorICA8ZWxlbWVudCBuYW1lPSJjb21wcyI+CisgICAgPG9uZU9yTW9yZT4KKyAgICAgIDxyZWYgbmFtZT0iZ3JvdXAiLz4KKyAgICA8L29uZU9yTW9yZT4KKyAgICA8cmVmIG5hbWU9Imdyb3VwaGllcmFyY2h5Ii8+CisgICAgPG9uZU9yTW9yZT4KKyAgICAgIDxyZWYgbmFtZT0icGFja2FnZSIvPgorICAgIDwvb25lT3JNb3JlPgorICA8L2VsZW1lbnQ+Cis8L2RlZmluZT4KKworPGRlZmluZSBuYW1lPSJncm91cCI+CisgIDxlbGVtZW50IG5hbWU9Imdyb3VwIj4KKyAgICA8ZWxlbWVudCBuYW1lPSJpZCI+CisgICAgICA8cmVmIG5hbWU9Imdyb3VwLW5hbWUiLz4KKyAgICA8L2VsZW1lbnQ+CisgICAgPGludGVybGVhdmU+CisgICAgICA8cmVmIG5hbWU9Im5hbWVzIi8+CisgICAgICA8b3B0aW9uYWw+CisgICAgICAgIDxlbGVtZW50IG5hbWU9ImRlZmF1bHQiPgorICAgICAgICAgIDxjaG9pY2U+CisgICAgICAgICAgICA8dmFsdWU+dHJ1ZTwvdmFsdWU+CisgICAgICAgICAgICA8dmFsdWU+ZmFsc2U8L3ZhbHVlPgorICAgICAgICAgIDwvY2hvaWNlPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L29wdGlvbmFsPgorICAgICAgPG9wdGlvbmFsPgorICAgICAgICA8cmVmIG5hbWU9ImRlc2NyaXB0aW9ucyIvPgorICAgICAgPC9vcHRpb25hbD4KKyAgICAgIDxvcHRpb25hbD4KKyAgICAgICAgPGVsZW1lbnQgbmFtZT0idXNlcnZpc2libGUiPgorICAgICAgICAgIDxjaG9pY2U+CisgICAgICAgICAgICA8dmFsdWU+dHJ1ZTwvdmFsdWU+CisgICAgICAgICAgICA8dmFsdWU+ZmFsc2U8L3ZhbHVlPgorICAgICAgICAgIDwvY2hvaWNlPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L29wdGlvbmFsPgorICAgICAgPG9wdGlvbmFsPgorICAgICAgICA8ZWxlbWVudCBuYW1lPSJsYW5nb25seSI+CisJICA8cmVmIG5hbWU9ImxhbmciLz4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9vcHRpb25hbD4KKyAgICA8L2ludGVybGVhdmU+CisgICAgPG9wdGlvbmFsPgorICAgICAgPGVsZW1lbnQgbmFtZT0iZ3JvdXBsaXN0Ij4KKyAgICAgICAgPHplcm9Pck1vcmU+CisJICA8ZWxlbWVudCBuYW1lPSJncm91cHJlcSI+CisJICAgIDxyZWYgbmFtZT0iZ3JvdXAtbmFtZSIvPgorCSAgPC9lbGVtZW50PgorICAgICAgICA8L3plcm9Pck1vcmU+CisgICAgICAgIDx6ZXJvT3JNb3JlPgorCSAgPGVsZW1lbnQgbmFtZT0ibWV0YXBrZyI+CisJICAgIDxhdHRyaWJ1dGUgbmFtZT0idHlwZSI+CisJICAgICAgPGNob2ljZT4KKwkgICAgICAgIDx2YWx1ZT5kZWZhdWx0PC92YWx1ZT4KKwkgICAgICAgIDwhLS0gPHZhbHVlPm1hbmRhdG9yeTwvdmFsdWU+ID8/IC0tPgorCSAgICAgICAgPHZhbHVlPm9wdGlvbmFsPC92YWx1ZT4KKwkgICAgICA8L2Nob2ljZT4KKwkgICAgPC9hdHRyaWJ1dGU+CisJICAgIDxyZWYgbmFtZT0icGFja2FnZS1uYW1lIi8+CisJICA8L2VsZW1lbnQ+CisgICAgICAgIDwvemVyb09yTW9yZT4KKyAgICAgIDwvZWxlbWVudD4KKyAgICA8L29wdGlvbmFsPgorICAgIDxvcHRpb25hbD4KKyAgICAgIDxlbGVtZW50IG5hbWU9InBhY2thZ2VsaXN0Ij4KKyAgICAgICAgPG9uZU9yTW9yZT4KKyAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJwYWNrYWdlcmVxIj4KKwkgICAgPGF0dHJpYnV0ZSBuYW1lPSJ0eXBlIj4KKwkgICAgICA8Y2hvaWNlPgorCSAgICAgICAgPHZhbHVlPmRlZmF1bHQ8L3ZhbHVlPgorCSAgICAgICAgPHZhbHVlPm1hbmRhdG9yeTwvdmFsdWU+CisJICAgICAgICA8dmFsdWU+b3B0aW9uYWw8L3ZhbHVlPgorCSAgICAgIDwvY2hvaWNlPgorCSAgICA8L2F0dHJpYnV0ZT4KKwkgICAgPG9wdGlvbmFsPgorCSAgICAgIDxhdHRyaWJ1dGUgbmFtZT0icmVxdWlyZXMiPgorCSAgICAgICAgPHJlZiBuYW1lPSJwYWNrYWdlLW5hbWUiLz4KKwkgICAgICA8L2F0dHJpYnV0ZT4KKwkgICAgPC9vcHRpb25hbD4KKwkgICAgPHJlZiBuYW1lPSJwYWNrYWdlLW5hbWUiLz4KKwkgIDwvZWxlbWVudD4KKyAgICAgICAgPC9vbmVPck1vcmU+CisgICAgICA8L2VsZW1lbnQ+CisgICAgPC9vcHRpb25hbD4KKyAgPC9lbGVtZW50PgorPC9kZWZpbmU+CisKKzxkZWZpbmUgbmFtZT0iZ3JvdXBoaWVyYXJjaHkiPgorICA8ZWxlbWVudCBuYW1lPSJncm91cGhpZXJhcmNoeSI+CisgICAgPG9uZU9yTW9yZT4KKyAgICAgIDxyZWYgbmFtZT0iY2F0ZWdvcnkiLz4KKyAgICA8L29uZU9yTW9yZT4KKyAgPC9lbGVtZW50PgorPC9kZWZpbmU+CisKKzxkZWZpbmUgbmFtZT0iY2F0ZWdvcnkiPgorICA8ZWxlbWVudCBuYW1lPSJjYXRlZ29yeSI+CisgICAgPHJlZiBuYW1lPSJuYW1lcyIvPgorICAgIDxvcHRpb25hbD4KKyAgICAgIDxlbGVtZW50IG5hbWU9InN1YmNhdGVnb3JpZXMiPgorICAgICAgICA8b25lT3JNb3JlPgorCSAgPGVsZW1lbnQgbmFtZT0ic3ViY2F0ZWdvcnkiPgorCSAgICA8cmVmIG5hbWU9InBhY2thZ2UtbmFtZSIvPgorCSAgPC9lbGVtZW50PgorICAgICAgICA8L29uZU9yTW9yZT4KKyAgICAgIDwvZWxlbWVudD4KKyAgICA8L29wdGlvbmFsPgorICA8L2VsZW1lbnQ+Cis8L2RlZmluZT4KKworPGRlZmluZSBuYW1lPSJwYWNrYWdlIj4KKyAgPGVsZW1lbnQgbmFtZT0icGFja2FnZSI+CisgICAgPGVsZW1lbnQgbmFtZT0ibmFtZSI+CisgICAgICA8cmVmIG5hbWU9InBhY2thZ2UtbmFtZSIvPgorICAgIDwvZWxlbWVudD4KKyAgICA8ZWxlbWVudCBuYW1lPSJkZXBlbmRlbmN5bGlzdCI+CisgICAgICA8emVyb09yTW9yZT4KKyAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGVwZW5kZW5jeSI+CisJICA8cmVmIG5hbWU9InBhY2thZ2UtbmFtZSIvPgorCTwvZWxlbWVudD4KKyAgICAgIDwvemVyb09yTW9yZT4KKyAgICA8L2VsZW1lbnQ+CisgIDwvZWxlbWVudD4KKzwvZGVmaW5lPgorCis8ZGVmaW5lIG5hbWU9Im5hbWVzIj4KKyAgPGVsZW1lbnQgbmFtZT0ibmFtZSI+CisgICAgPHJlZiBuYW1lPSJkZXNjcmlwdGlvbi10ZXh0Ii8+CisgIDwvZWxlbWVudD4KKyAgPHplcm9Pck1vcmU+CisgICAgPGVsZW1lbnQgbmFtZT0ibmFtZSI+CisgICAgICA8YXR0cmlidXRlIG5hbWU9InhtbDpsYW5nIj4KKyAgICAgICAgPHJlZiBuYW1lPSJsYW5nIi8+CisgICAgICA8L2F0dHJpYnV0ZT4KKyAgICAgIDxyZWYgbmFtZT0iZGVzY3JpcHRpb24tdGV4dCIvPgorICAgIDwvZWxlbWVudD4KKyAgPC96ZXJvT3JNb3JlPgorPC9kZWZpbmU+CisKKzxkZWZpbmUgbmFtZT0iZGVzY3JpcHRpb25zIj4KKyAgPGVsZW1lbnQgbmFtZT0iZGVzY3JpcHRpb24iPgorICAgIDxyZWYgbmFtZT0iZGVzY3JpcHRpb24tdGV4dCIvPgorICA8L2VsZW1lbnQ+CisgIDx6ZXJvT3JNb3JlPgorICAgIDxlbGVtZW50IG5hbWU9ImRlc2NyaXB0aW9uIj4KKyAgICAgIDxhdHRyaWJ1dGUgbmFtZT0ieG1sOmxhbmciPgorICAgICAgICA8cmVmIG5hbWU9ImxhbmciLz4KKyAgICAgIDwvYXR0cmlidXRlPgorICAgICAgPHJlZiBuYW1lPSJkZXNjcmlwdGlvbi10ZXh0Ii8+CisgICAgPC9lbGVtZW50PgorICA8L3plcm9Pck1vcmU+Cis8L2RlZmluZT4KKworPC9ncmFtbWFyPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvY29tcHNfMC54bWwgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy9jb21wc18wLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMDE2OGE1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvY29tcHNfMC54bWwKQEAgLTAsMCArMSwxNzg3MCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8Y29tcHM+Cis8IS0tICA8bWV0YT4gLS0+Cis8IS0tIE1ldGEgaW5mb3JtYXRpb24gd2lsbCBnbyBoZXJlIGV2ZW50dWFsbHkgLS0+Cis8IS0tICA8L21ldGE+IC0tPgorICA8Z3JvdXA+CisgICAgPGlkPmNvcmU8L2lkPgorICAgIDxuYW1lPkNvcmU8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImNzIj5Kw6Fkcm88L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImRhIj5HcnVuZGzDpmdnZW5kZTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZGUiPkhhdXB0PC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJlcyI+TsO6Y2xlbzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZnIiPlRvcmU8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImlzIj5Mw6FnbWFya3NrZXJmaTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iaXQiPlByaW5jaXBhbGU8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImphIj7jgrPjgqI8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImtvIj7tlbXsi6w8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9Im5vIj5LamVybmU8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InB0Ij5Ow7pjbGVvPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJydSI+0J7RgdC90L7QstCwPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJzdiI+R3J1bmRsw6RnZ2FuZGU8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InpoX0NOIj7moLjlv4M8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InpoX1RXIj7kuLvopoE8L25hbWU+CisgICAgPGRlZmF1bHQ+dHJ1ZTwvZGVmYXVsdD4KKyAgICA8ZGVzY3JpcHRpb24+U21hbGxlc3QgcG9zc2libGUgaW5zdGFsbGF0aW9uPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImNzIj5OZWptZW7FocOtIG1vxb5uw6EgaW5zdGFsYWNlPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImRhIj5NaW5kc3QgbXVsaWdlIGluc3RhbGxhdGlvbjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJkZSI+S2xlaW5zdG3DtmdsaWNoZSBJbnN0YWxsYXRpb248L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iZXMiPkluc3RhbGFjacOzbiBsbyBtw6FzIHBlcXVlw7FhIHBvc2libGU8L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iZnIiPlBsdXMgcGV0aXRlIGluc3RhbGxhdGlvbiBwb3NzaWJsZTwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJpcyI+TMOhZ21hcmtzIHVwcHNldG5pbmc8L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iaXQiPkluc3RhbGxhemlvbmUgbWluaW1hPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImphIj7mnIDkvY7lj6/og73jgarjgqTjg7Pjgrnjg4jjg7zjg6s8L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0ia28iPuqwgOuKpe2VnCDstZzshowg7ISk7LmYPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9Im5vIj5NaW5zdGUgbXVsaWdlIGluc3RhbGxlcmluZzwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJwdCI+QSBtYWlzIHBlcXVlbmEgaW5zdGFsYcOnw6NvIHBvc3PDrXZlbDwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJydSI+0JzQuNC90LjQvNCw0LvRjNC90L4g0LLQvtC30LzQvtC20L3QsNGPINGD0YHRgtCw0L3QvtCy0LrQsDwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJzdiI+TWluc3RhIG3DtmpsaWdhIGluc3RhbGxhdGlvbjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJ6aF9DTiI+5pyA5bCP5a6J6KOFPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9InpoX1RXIj7mnIDlsI/nmoTlronoo508L2Rlc2NyaXB0aW9uPgorICAgIDx1c2VydmlzaWJsZT5mYWxzZTwvdXNlcnZpc2libGU+CisgICAgPHBhY2thZ2VsaXN0PgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+YXNoPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5iYXNlc3lzdGVtPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5iYXNoPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5iZGZsdXNoPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5jcGlvPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5lMmZzcHJvZ3M8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmVkPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5maWxlPC9wYWNrYWdlcmVxPiAgICAgCisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmZpbGVzeXN0ZW08L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmdsaWJjPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5ncnViPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5oZHBhcm08L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmhvdHBsdWc8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmluaXRzY3JpcHRzPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5pcHJvdXRlPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5pcHV0aWxzPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5rYmQ8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmtlcm5lbDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+a3N5bW9vcHM8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmxpYmdjYzwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+bGlidGVybWNhcDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+bG9zZXR1cDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+cGFzc3dkPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5wcm9jcHM8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPnJhaWR0b29sczwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+cmVhZGxpbmU8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPnJlZGhhdC1sb2dvczwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+cmVkaGF0LXJlbGVhc2U8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPnJvb3RmaWxlczwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+cnBtPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5zZXRzZXJpYWw8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPnNldHVwPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5zeXNrbG9nZDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+U3lzVmluaXQ8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPnRlcm1jYXA8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPnV0aWwtbGludXg8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPnZpbS1taW5pbWFsPC9wYWNrYWdlcmVxPgorPCEtLSB0aGUgZm9sbG93aW5nIGFyZSBuZWVkZWQgZm9yIGFuYWNvbmRhIHBvc3QtaW5zdGFsbCBiaXRzIC0tPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5hdXRoY29uZmlnPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5rdWR6dTwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPmxpbG88L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPm1vdXNlY29uZmlnPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5zaGFkb3ctdXRpbHM8L3BhY2thZ2VyZXE+CisgICAgPC9wYWNrYWdlbGlzdD4KKyAgPC9ncm91cD4KKworICA8Z3JvdXA+CisgICAgPGlkPmJhc2U8L2lkPgorICAgIDxuYW1lPkJhc2U8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImNzIj5aw6FrbGFkPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJkYSI+QmFzZTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZGUiPkJhc2lzPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJlcyI+QmFzZTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZnIiPkJhc2U8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImlzIj5HcnVubnVyPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJpdCI+QmFzZTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iamEiPuODmeODvOOCuTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ia28iPuq4sOykgDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ibm8iPkdydW5ucGFra2VyPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJwdCI+QmFzZTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0icnUiPtCe0YHQvdC+0LLQsDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ic3YiPkJhczwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iemhfQ04iPuWfuuacrDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iemhfVFciPuWfuuekjjwvbmFtZT4KKyAgICA8ZGVzY3JpcHRpb24+PC9kZXNjcmlwdGlvbj4KKyAgICA8dXNlcnZpc2libGU+ZmFsc2U8L3VzZXJ2aXNpYmxlPgorICAgIDxkZWZhdWx0PnRydWU8L2RlZmF1bHQ+CisgICAgPGdyb3VwbGlzdD4KKyAgICAgIDxncm91cHJlcT5jb3JlPC9ncm91cHJlcT4KKyAgICAgIDxncm91cHJlcT5kaWFsdXA8L2dyb3VwcmVxPgorICAgIDwvZ3JvdXBsaXN0PgorICAgIDxwYWNrYWdlbGlzdD4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+YWNsPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+YW5hY3JvbjwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPmFwbWQ8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmFzcGVsbDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+YXQ8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmF0dHI8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmF1dGhjb25maWc8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5hdXRvZnM8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmJjPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5iaW5kLXV0aWxzPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5iemlwMjwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+Y3JvbnRhYnM8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmN5cnVzLXNhc2wtcGxhaW48L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmRoY2xpZW50PC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5kaWZmdXRpbHM8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmRvczJ1bml4PC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+ZG9zZnN0b29sczwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPmR1bXA8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmV0aHRvb2w8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmVqZWN0PC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+ZmJzZXQ8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5maW5nZXI8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5mdHA8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5ncG08L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5pcmRhLXV0aWxzPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5rYmRjb25maWc8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5rZXJuZWwtcGNtY2lhLWNzPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ib3B0aW9uYWwiPmtyYjUtd29ya3N0YXRpb248L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmt1ZHp1PC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+bGZ0cDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+bGhhPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5sb2dyb3RhdGU8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmxzb2Y8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5sb2d3YXRjaDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+bG9ra2l0PC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5tYWlsY2FwPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5tYW48L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5tYW4tcGFnZXM8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPm1rYm9vdGRpc2s8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPm10LXN0PC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+bXRvb2xzPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+bXRyPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5uZXRjb25maWc8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5uZnMtdXRpbHM8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5uc3NfbGRhcDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+bnRzeXN2PC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+b3BlbnNzaC1jbGllbnRzPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+cGFtX2tyYjU8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5wYW1fc21iPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5wYXJ0ZWQ8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5wYXg8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPnBjaXV0aWxzPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ib3B0aW9uYWwiPnBpZGVudGQ8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPnBpbmZvPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5xdW90YTwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPnJkYXRlPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5yZWRoYXQtbG9nb3M8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5yZWlzZXJmcy11dGlsczwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPnJwLXBwcG9lPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+cnNoPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5yc3luYzwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPmpmc3V0aWxzPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+c2V0dXB0b29sPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+c2VuZG1haWw8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPnNsb2NhdGU8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5zcGVjc3BvPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5zdGFyPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+c3VkbzwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPnN0dW5uZWw8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPnRhbGs8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij50Y3Bfd3JhcHBlcnM8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPnRjc2g8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPnRlbG5ldDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+dHJhY2Vyb3V0ZTwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+dGltZTwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPnRpbWVjb25maWc8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPnRtcHdhdGNoPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+dXAyZGF0ZTwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+dXRlbXB0ZXI8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij53aXJlbGVzcy10b29sczwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPnJkaXN0PC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+dGNwZHVtcDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPm5ldC1zbm1wLXV0aWxzPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+b3BlbnNzaC1zZXJ2ZXI8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij53Z2V0PC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij51bml4MmRvczwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+dW56aXA8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPndob2lzPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij52aW0tY29tbW9uPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij52aXhpZS1jcm9uPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+eXBiaW5kPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij56aXA8L3BhY2thZ2VyZXE+CisgICAgPC9wYWNrYWdlbGlzdD4KKyAgPC9ncm91cD4KKworICA8Z3JvdXA+CisgICAgPGlkPnByaW50aW5nPC9pZD4KKyAgICA8dXNlcnZpc2libGU+dHJ1ZTwvdXNlcnZpc2libGU+CisgICAgPGRlZmF1bHQ+dHJ1ZTwvZGVmYXVsdD4KKyAgICA8bmFtZT5QcmludGluZyBTdXBwb3J0PC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJjcyI+UG9kcG9yYSBwcm8gdGlzazwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZGEiPlVkc2tyaWZ0c3VuZGVyc3TDuHR0ZWxzZTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZGUiPkRydWNrZXItU3VwcG9ydDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZXMiPlNvcG9ydGUgcGFyYSBsYSBpbXByZXNpw7NuPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJmciI+U3VwcG9ydCBkJmFwb3M7aW1wcmVzc2lvbjwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iaXMiPlByZW50c3R1w7BuaW5ndXI8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9Iml0Ij5TdXBwb3J0byBwZXIgbGEgc3RhbXBhPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJqYSI+5Y2w5Yi344K144Od44O844OIPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJrbyI+7J247IeEIOyngOybkDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ibm8iPlNrcml2ZXJzdMO4dHRlPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJwdCI+U3Vwb3J0ZSBhIEltcHJlc3PDo288L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InJ1Ij7Qn9C+0LTQtNC10YDQttC60LAg0L/QtdGH0LDRgtC4PC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJzdiI+VXRza3JpZnRzc3TDtmQ8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InpoX0NOIj7miZPljbDmlK/mjIE8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InpoX1RXIj7liJfljbDmlK/mj7Q8L25hbWU+CisgICAgPGRlc2NyaXB0aW9uPkluc3RhbGwgdGhlc2UgdG9vbHMgdG8gZW5hYmxlIHRoZSBzeXN0ZW0gdG8gcHJpbnQgb3IgYWN0IGFzIGEgcHJpbnQgc2VydmVyLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJjcyI+TmFpbnN0YWxvdsOhbsOtbSB0xJtjaHRvIG7DoXN0cm9qxa8gdW1vxb5uw610ZSBWYcWhZW11IHBvxI3DrXRhxI1pIHRpc2tub3V0IG5lYm8gdnlzdHVwb3ZhdCBqYWtvIHRpc2tvdsO9IHNlcnZlci48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iZGEiPkluc3RhbGzDqXIgZGlzc2UgdsOmcmt0w7hqZXIgZm9yIGF0IGxhZGUgc3lzdGVtZXQgdWRza3JpdmUgZWxsZXIgZnVuZ2VyZSBzb20gdWRza3JpZnRzc2VydmVyLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJkZSI+SW5zdGFsbGllcmVuIFNpZSBkaWVzZSBUb29scywgdW0gZXMgZGVtIFN5c3RlbSB6dSBlcm3DtmdsaWNoZW4genUgZHJ1Y2tlbiBvZGVyIGFscyBEcnVja2VyLVNlcnZlciB6dSBmdW5rdGlvbmllcmVuLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJlcyI+SW5zdGFsYXIgZXN0YXMgaGVycmFtaWVudGFzIHBhcmEgaGFiaWxpdGFyIGVsIHNpc3RlbWEgcGFyYSBpbXByaW1pciBvIGFjdHVhciBjb21vIHVuIHNlcnZpZG9yIGRlIGltcHJlc2nDs24uPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImZyIj5JbnN0YWxsZXIgY2VzIG91dGlscyBwb3VyIGhhYmlsaXRlciBsZSBzeXN0w6htZSDDoCBpbXByaW1lciBvdSBhZ2lyIGNvbW1lIHVuIHNlcnZldXIgZCZhcG9zO2ltcHJlc3Npb24uPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImlzIj5TZXR0dSDDvmVzc2EgcGFra2EgaW5uIGVmIMO+w7ogdmlsdCBwcmVudGEgZcOwYSBzZXRqYSB1cHAgcHJlbnTDvmrDs24uPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9Iml0Ij5JbnN0YWxsYXJlIHF1ZXN0aSBzdHJ1bWVudGkgcGVyIHBlcm1ldHRlcmUgYWwgc2lzdGVtYSBkaSBzdGFtcGFyZSBvIGZ1bmdlcmUgZGEgc2VydmVyIGRpIHN0YW1wYS48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iamEiPuOBk+OCjOOCieOBruODhOODvOODq+OCkuOCpOODs+OCueODiOODvOODq+OBl+OBpuOCt+OCueODhuODoOOCkuWNsOWIt+WPr+iDveOBq+OAgeWPiOOBr+ODl+ODquODs+ODiOOCteODvOODkOOBqOOBl+OBpiDmnInlirnjgavjgZfjgb7jgZnjgII8L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0ia28iPuyLnOyKpO2FnOyXkOyEnCDsnbjsh4Qg6rCA64ql7ZWY6rKMIO2VmOqxsOuCmCDsnbjsh4Qg7ISc67KE66GcIOq4sOuKpe2VmOqyjCDtlZjsi5zroKTrqbQg7J20IOuPhOq1rOulvCDshKTsuZjtlZjsi63si5zsmKQuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9Im5vIj5JbnN0YWxsZXIgZGlzc2UgdmVya3TDuHllbmUgZm9yIMOlIGt1bm5lIGJydWtlIHNrcml2ZXIgb2cgw6Uga3VubmUgc2V0dGUgb3BwIHN5c3RlbWV0IHNvbWUgdXRza3JpZnRzdGplbmVyLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJwdCI+SW5zdGFsZSBlc3RhcyBmZXJyYW1lbnRhcyBzZSBkZXNlamFyIGltcHJpbWlyIGNvbSBvIGNvbXB1dGFkb3Igb3UgcXVlIGVzdGUgZnVuY2lvbmUgY29tbyBzZXJ2aWRvciBkZSBpbXByZXNzw6NvLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJydSI+0KPRgdGC0LDQvdC+0LLQuNGC0LUg0Y3RgtC4INC/0LDQutC10YLRiywg0YfRgtC+0LHRiyDQv9C+0LvRg9GH0LjRgtGMINCy0L7Qt9C80L7QttC90L7RgdGC0Ywg0L/QtdGH0LDRgtCw0YLRjCDRhNCw0LnQu9GLINC40LvQuCDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0YHQuNGB0YLQtdC80YMg0LrQsNC6INGB0LXRgNCy0LXRgCDQv9C10YfQsNGC0LguPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9InN2Ij5JbnN0YWxsZXJhIGRlc3NhIHZlcmt0eWcgZsO2ciBhdHQgbMOldGEgc3lzdGVtZXQgc2tyaXZhIHV0IGVsbGVyIGFnZXJhIHV0c2tyaWZ0c3NlcnZlci48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iemhfQ04iPuWuieijhei/meS6m+W3peWFt+adpeWQr+eUqOaJk+WNsOezu+e7n+aIluWFheW9k+aJk+WNsOacjeWKoeWZqOeahOezu+e7n+OAgjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJ6aF9UVyI+6KuL5a6J6KOd6YCZ5Lqb5aWX5Lu277yM5Lul5ZWf55So57O757Wx55qE5YiX5Y2w5Yqf6IO95oiW55W25L2c5LiA6YOo5YiX5Y2w5Ly65pyN5Zmo44CCPC9kZXNjcmlwdGlvbj4KKyAgICA8Z3JvdXBsaXN0PgorICAgICAgPG1ldGFwa2cgdHlwZT0ib3B0aW9uYWwiPmN1cHM8L21ldGFwa2c+CisgICAgPC9ncm91cGxpc3Q+CisgICAgPHBhY2thZ2VsaXN0PgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij40U3VpdGU8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPlhGcmVlODYtZm9udC11dGlsczwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+YTJwczwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+Z2hvc3RzY3JpcHQ8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5ocGlqczwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPkxQUm5nPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij50dGZwcmludDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+cmVkaGF0LWNvbmZpZy1wcmludGVyPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+cmVkaGF0LXN3aXRjaC1wcmludGVyPC9wYWNrYWdlcmVxPgorICAgIDwvcGFja2FnZWxpc3Q+CisgIDwvZ3JvdXA+CisKKyAgPGdyb3VwPgorICAgIDxpZD5jdXBzPC9pZD4KKyAgICA8dXNlcnZpc2libGU+ZmFsc2U8L3VzZXJ2aXNpYmxlPgorICAgIDxkZWZhdWx0PmZhbHNlPC9kZWZhdWx0PgorICAgIDxuYW1lPkN1cHM8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImNzIj5DdXBzPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJkYSI+Q1VQUzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZGUiPkN1cHM8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImVzIj5DdXBzPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJmciI+Q291cGVzIDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iaXMiPkN1cHM8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9Iml0Ij5DdXBzPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJqYSI+44Kr44OD44OXPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJrbyI+Q1VQUzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ibm8iPkN1cHM8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InB0Ij5DdXBzPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJydSI+Q3VwczwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ic3YiPkN1cHM8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InpoX0NOIj5DdXBzPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJ6aF9UVyI+Q3VwczwvbmFtZT4KKyAgICA8ZGVzY3JpcHRpb24+Q3VwcyBwcmludGluZyBzZXJ2aWNlIGFuZCBkcml2ZXJzIHRvIHVzZSBpdC48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iY3MiPlRpc2tvdsOhIHNsdcW+YmEgQ3VwcyBhIG92bGFkYcSNZSBwcm8gamVqw60gcG91xb5pdMOtLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJkYSI+VWRza3JpZnRzdGplbmVzdGVuIENVUFMgb2cgZGUgZHJpdmVycnV0aW5lciBzb20gYmVow7h2ZXMgZm9yIGJydWcgYWYgZGVuLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJkZSI+Q3VwcyBEcnVja2VyZGllbnN0IHVuZCBUcmVpYmVyIGbDvHIgZGllIFZlcndlbmR1bmcuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImVzIj5TZXJ2aWNpb3MgZGUgaW1wcmVzacOzbiBjdXBzIHkgZHJpdmVycyBwYXJhIHVzYXJsby48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iZnIiPlNlcnZpY2UgZCZhcG9zO2ltcHJlc3Npb24gZGVzIGNvdXBlcyBldCBsZWN0ZXVycyBwb3VyIGwmYXBvczt1dGlsaXNlci4gPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImlzIj5DdXBzIHByZW50a2VyZmnDsCBvZyByZWtsYXIgZnlyaXIgw75hw7AuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9Iml0Ij5TZXJ2aXppbyBkaSBzdGFtcGEgQ3VwcyBlIHJlbGF0aXZpIGRyaXZlciBwZXIgdXRpbGl6emFybG8uPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImphIj7jgqvjg4Pjg5fljbDliLfjgrXjg7zjg5PjgrnjgajjgZ3jgozjgpLkvb/nlKjjgZnjgovjg4njg6njgqTjg5Djg7wgPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImtvIj5DVVBTIOyduOyHhCDshJzruYTsiqTsmYAg7J20IOyEnOu5hOyKpOulvCDsgqzsmqntlaAg65Oc65287J2067KELjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJubyI+VXRza3JpZnRzc3lzdGVtZXQgQ3VwcyBtZWQgZHJpdmVyZS48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0icHQiPlNlcnZpw6dvIGRlIGltcHJlc3PDo28gY3VwcyBlIGNvbnRyb2xhZG9yZXMgcGFyYSBvIHV0aWxpemFyLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJydSI+0KHQu9GD0LbQsdCwINC/0LXRh9Cw0YLQuCBDdXBzINC4INC00YDQsNC50LLQtdGA0Ysg0LTQu9GPINC10LUg0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40Y88L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0ic3YiPlV0c2tyaWZ0c3Rqw6Ruc3RlbiBDdXBzIG9jaCBkZSBkcml2cnV0aW5lciBzb20gYmVow7Z2cyBmw7ZyIGFudsOkbmRuaW5nIGF2IGRlbi48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iemhfQ04iPkN1cHMg5omT5Y2w5pyN5Yqh5Y+K5omA6ZyA6amx5Yqo56iL5bqP44CCPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9InpoX1RXIj5DdXBzIOWIl+WNsOacjeWLmeiIh+imgeS9v+eUqOeahOmpheWLleeoi+W8j+OAgjwvZGVzY3JpcHRpb24+CisgICAgPHBhY2thZ2VsaXN0PgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5jdXBzPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5jdXBzLWRyaXZlcnM8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5jdXBzLWRyaXZlcnMtaHBpanM8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5jdXBzLWRyaXZlcnMtcG5tMnBwYTwvcGFja2FnZXJlcT4KKyAgICA8L3BhY2thZ2VsaXN0PgorICA8L2dyb3VwPgorCisgIDxncm91cD4KKyAgICA8aWQ+YmFzZS14PC9pZD4KKyAgICA8dXNlcnZpc2libGU+dHJ1ZTwvdXNlcnZpc2libGU+CisgICAgPGRlZmF1bHQ+dHJ1ZTwvZGVmYXVsdD4KKyAgICA8bmFtZT5YIFdpbmRvdyBTeXN0ZW08L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImNzIj5YIFdpbmRvdyBTeXN0ZW08L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImRhIj5WaW5kdWVzc3lzdGVtZXQgWDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZGUiPlggV2luZG93IFN5c3RlbTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZXMiPlNpc3RlbWEgWCBXaW5kb3c8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImZyIj5TeXN0w6htZSBYIFdpbmRvdzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iaXMiPlggZ2x1Z2dha2VyZmnDsDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iaXQiPlNpc3RlbWEgWCBXaW5kb3c8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImphIj5YIFdpbmRvdyBTeXN0ZW08L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImtvIj5YIOyciOuPhOyasCDsi5zsiqTthZw8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9Im5vIj5YPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJwdCI+U2lzdGVtYSBkZSBKYW5lbGFzIFg8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InJ1Ij7QodC40YHRgtC10LzQsCBYIFdpbmRvdzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ic3YiPkbDtm5zdGVyc3lzdGVtZXQgWDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iemhfQ04iPlgg56qX5Y+j57O757ufPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJ6aF9UVyI+WCDoppbnqpfns7vntbE8L25hbWU+CisgICAgPGRlc2NyaXB0aW9uPkluc3RhbGwgdGhpcyBncm91cCBvZiBwYWNrYWdlcyB0byB1c2UgdGhlIGJhc2UgZ3JhcGhpY2FsIChYKSB1c2VyIGludGVyZmFjZS48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iY3MiPlR1dG8gc2t1cGludSBiYWzDrcSNa8WvIG5haW5zdGFsdWp0ZSBwcm8gcG91xb5pdMOtIGdyYWZpY2vDqWhvIChYKSB1xb5pdmF0ZWxza8OpaG8gcHJvc3TFmWVkw60uPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImRhIj5JbnN0YWxsw6lyIGRlbm5lIHBha2tlZ3J1cHBlIGZvciBhdCBicnVnZSBkZW4gZ3J1bmRsw6ZnZ2VuZGUgZ3JhZmlza2UgYnJ1Z2VyZ3LDpm5zZWZsYWRlIChYKS48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iZGUiPkluc3RhbGxpZXJlbiBTaWUgZGllc2UgUGFrZXRncnVwcGUsIHVtIGRpZSBncmFmaXNjaGUgSGF1cHRiZW51dHplcm9iZXJmbMOkY2hlIChYKSB6dSB2ZXJ3ZW5kZW4uPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImVzIj5JbnN0YWxhciBlc3RlIGdydXBvIGRlIHBhcXVldGVzIHBhcmEgdXNhciBsYSBpbnRlcmZheiBkZSB1c3VhcmlvIChYKSBncsOhZmljYS48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iZnIiPkluc3RhbGxlciBjZSBncm91cGUgZGUgcGFxdWV0YWdlcyBwb3VyIHV0aWxpc2VyIGwmYXBvcztpbnRlcmZhY2UgdXRpbGlzYXRldXIgZ3JhcGhpcXVlIGRlIGJhc2UgKFgpLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJpcyI+U2V0dHUgw75lc3NhIHBha2thIGlubiBlZiDDvsO6IHZpbHQgbm90YSBteW5kcsOmbiBmb3JyaXQgKFgpLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJpdCI+SW5zdGFsbGFyZSBxdWVzdG8gZ3J1cHBvIGRpIHBhY2NoZXR0aSBwZXIgdXNhcmUgbCZhcG9zO2ludGVyZmFjY2lhIHV0ZW50ZSBncmFmaWNhIChYKSBkaSBiYXNlLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJqYSI+44GT44Gu44OR44OD44Kx44O844K444Gu44Kw44Or44O844OX44KS44Kk44Oz44K544OI44O844Or44GX44Gm44CB5Z+65pys55qE44Kw44Op44OV44Kj44Kr44OrKFgp44Om44O844K244O844Kk44Oz44K/44O844OV44Kn44Kk44K544KS5L2/55So44GX44G+44GZ44CCPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImtvIj7quLDrs7gg6re4656Y7ZS9IChYKSDsgqzsmqnsnpAg7J247YSw7Y6Y7J207Iqk66W8IOyCrOyaqe2VmOyLnOugpOuptCDsnbQg7Yyo7YKk7KeAIOq3uOujueydhCDshKTsuZjtlZjsi63si5zsmKQuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9Im5vIj5JbnN0YWxsZXIgZGVubmUgcGFra2VncnVwcGVuIGZvciDDpSBicnVrZSBldCBncmFmaXNrIGdyZW5zZXNuaXR0IChYKS48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0icHQiPkluc3RhbGUgZXN0ZSBncnVwbyBkZSBwYWNvdGVzIHBhcmEgdXNhciBhIGludGVyZmFjZSBncsOhZmljYSBiw6FzaWNhIGRlIHV0aWxpemFkb3IgKG8gWCkuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9InJ1Ij7Qo9GB0YLQsNC90L7QstC40YLQtSDRjdGC0YMg0LPRgNGD0L/Qv9GDINC/0LDQutC10YLQvtCyLCDRh9GC0L7QsdGLINC/0L7Qu9GD0YfQuNGC0Ywg0LPRgNCw0YTQuNGH0LXRgdC60LjQuSDQuNC90YLQtdGA0YTQtdC50YEg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPIChYKTwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJzdiI+SW5zdGFsbGVyYSBkZW5uYSBwYWtldGdydXBwIGbDtnIgYXR0IGFudsOkbmRhIGRldCBncnVuZGzDpGdnYW5kZSBncmFmaXNrYSBncsOkbnNzbml0dGV0IChYKS48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iemhfQ04iPuWuieijhei/mee7hOi9r+S7tuWMheadpeS9v+eUqOWfuuehgOWbvuW9ouWMlueUqOaIt+eVjOmdoihYKeOAgjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJ6aF9UVyI+6KuL5a6J6KOd6YCZ5YCL5aWX5Lu2576k57WE77yM5Lul55So5L6G5L2/55So5Z+656SO55qE5ZyW5b2iIChYKSDkvb/nlKjogIXku4vpnaLjgII8L2Rlc2NyaXB0aW9uPgorICAgIDxncm91cGxpc3Q+CisgICAgICA8Z3JvdXByZXE+cHJpbnRpbmc8L2dyb3VwcmVxPgorICAgIDwvZ3JvdXBsaXN0PgorICAgIDxwYWNrYWdlbGlzdD4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPmF1dGhjb25maWctZ3RrPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5iaXRtYXAtZm9udHM8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5maXJzdGJvb3Q8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmRlc2t0b3AtYmFja2dyb3VuZHMtYmFzaWM8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5kZXNrdG9wLWJhY2tncm91bmRzLWV4dHJhPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+Z2RtPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+b3BlbnNzaC1hc2twYXNzPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+b3BlbnNzaC1hc2twYXNzLWdub21lPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+cmVkaGF0LWNvbmZpZy1kYXRlPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+cmVkaGF0LWNvbmZpZy1uZXR3b3JrPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+cmVkaGF0LWNvbmZpZy1zZXJ2aWNlczwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPnJlZGhhdC1jb25maWctc291bmRjYXJkPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+cmVkaGF0LWNvbmZpZy11c2VyczwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPnJlZGhhdC1jb25maWcteGZyZWU4NjwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPnJlZGhhdC1sb2d2aWV3ZXI8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5yZWRoYXQtY29uZmlnLXByaW50ZXItZ3VpPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+cmVkaGF0LXN3aXRjaC1wcmludGVyLWdub21lPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+cmVkaGF0LXN3aXRjaG1haWwtZ25vbWU8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5yZWRoYXQtY29uZmlnLXBhY2thZ2VzPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+c3dpdGNoZGVzazwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPnVzZXJtb2RlLWd0azwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+WEZyZWU4NjwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+WHRlc3Q8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPlhGcmVlODYtZm9udC11dGlsczwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+WEZyZWU4Ni10b29sczwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+WEZyZWU4Ni10d208L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPlhGcmVlODYteGF1dGg8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPlhGcmVlODYtNzVkcGktZm9udHM8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPlhGcmVlODYtMTAwZHBpLWZvbnRzPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij54aW5pdHJjPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+WEZyZWU4Ni14ZG08L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij51cDJkYXRlLWdub21lPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+cmhuLWFwcGxldDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im9wdGlvbmFsIj5XaW5kb3dNYWtlcjwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPnhpc2RubG9hZDwvcGFja2FnZXJlcT4KKyAgICA8L3BhY2thZ2VsaXN0PgorICA8L2dyb3VwPgorCisgIDxncm91cD4KKyAgICA8aWQ+ZGlhbHVwPC9pZD4KKyAgICA8dXNlcnZpc2libGU+ZmFsc2U8L3VzZXJ2aXNpYmxlPgorICAgIDxkZWZhdWx0PnRydWU8L2RlZmF1bHQ+CisgICAgPG5hbWU+RGlhbHVwIE5ldHdvcmtpbmcgU3VwcG9ydDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iY3MiPlBvZHBvcmEgdnl0w6HEjWVuw6lobyBwxZlpcG9qZW7DrSBrIHPDrXRpPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJkYSI+VW5kZXJzdMO4dHRlbHNlIGZvciBvcGthbGR0IG9wa29wbGluZzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZGUiPkRpYWx1cCBOZXR6d2VyayBTdXBwb3J0PC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJlcyI+U29wb3J0ZSBkZSByZWQgZGVsIG1hcmNhZG88L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImZyIj5TdXBwb3J0IGQmYXBvczthY2PDqHMgZGlzdGFudCBhdSByw6lzZWF1PC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJpcyI+VXBwaHJpbmdpbmV0c3N0dcOwbmluZ3VyPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJpdCI+U3VwcG9ydG8gZGkgbmV0d29ya2luZyBkaWFsdXA8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImphIj7jg4DjgqTjg6Tjg6vjgqLjg4Pjg5fjg43jg4Pjg4jjg6/jg7zjgq/jgrXjg53jg7zjg4g8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImtvIj7soITtmZTsl7DqsrAg64Sk7Yq47JuM7YK5IOyngOybkDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ibm8iPlN0w7h0dGUgZm9yIG9wcHJpbmd0IG5ldHR2ZXJrPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJwdCI+U3Vwb3J0ZSBhIExpZ2HDp8O1ZXMgVGVsZWbDs25pY2FzPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJydSI+0KPQtNCw0LvQtdC90L3Ri9C5INC00L7RgdGC0YPQvyDQuiDRgdC10YLQuDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ic3YiPlN0w7ZkIGbDtnIgdXBwcmluZ2QgdXBwa29wcGxpbmc8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InpoX0NOIj7mi6jlj7fogZTnvZHmlK/mjIE8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InpoX1RXIj7mkqXomZ/ntrLot6/mlK/mj7Q8L25hbWU+CisgICAgPHBhY2thZ2VsaXN0PgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5wcHA8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5scnpzejwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+bWluaWNvbTwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+c3RhdHNlcmlhbDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPnd2ZGlhbDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPmlzZG40ay11dGlsczwvcGFja2FnZXJlcT4KKyAgICA8L3BhY2thZ2VsaXN0PgorICA8L2dyb3VwPgorCisgIDxncm91cD4KKyAgICA8aWQ+Z25vbWUtZGVza3RvcDwvaWQ+CisgICAgPHVzZXJ2aXNpYmxlPnRydWU8L3VzZXJ2aXNpYmxlPgorICAgIDxkZWZhdWx0PnRydWU8L2RlZmF1bHQ+CisgICAgPG5hbWU+R05PTUUgRGVza3RvcCBFbnZpcm9ubWVudDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iY3MiPlByb3N0xZllZMOtIHByYWNvdm7DrSBwbG9jaHkgR05PTUU8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImRhIj5Ta3JpdmVib3Jkc21pbGrDuGV0IEdub21lPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJkZSI+R05PTUUgRGVza3RvcHVtZ2VidW5nPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJlcyI+RW50b3JubyBkZSBlc2NyaXRvcmlvIGRlIEdOT01FPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJmciI+RW52aXJvbm5lbWVudCBkZSBidXJlYXUgR05PTUU8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImlzIj5HTk9NRSBza2rDoWJvcsOwacOwPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJpdCI+QW1iaWVudGUgZGVza3RvcCBkaSBHTk9NRTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iamEiPkdOT01F44OH44K544Kv44OI44OD44OX55Kw5aKDPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJrbyI+R05PTUUg642w7Iqk7YGs7YORIO2ZmOqyvTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ibm8iPlNrcml2ZWJvcmRzbWlsasO4ZXQgR05PTUU8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InB0Ij5BbWJpZW50ZSBkZSBUcmFiYWxobyBHTk9NRTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0icnUiPtCe0LrRgNGD0LbQtdC90LjQtSDRgNCw0LHQvtGH0LXQs9C+INGB0YLQvtC70LAgR05PTUU8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InN2Ij5Ta3JpdmJvcmRzbWlsasO2biBHTk9NRTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iemhfQ04iPkdOT01FIOahjOmdoueOr+WigzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iemhfVFciPkdOT01FIOahjOmdoueSsOWigzwvbmFtZT4KKyAgICA8ZGVzY3JpcHRpb24+R05PTUUgaXMgYSBwb3dlcmZ1bCwgZ3JhcGhpY2FsIHVzZXIgaW50ZXJmYWNlIHdoaWNoIGluY2x1ZGVzIGEgcGFuZWwsIGRlc2t0b3AsIHN5c3RlbSBpY29ucywgYW5kIGEgZ3JhcGhpY2FsIGZpbGUgbWFuYWdlci48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iY3MiPkdOT01FIGplIHbDvWtvbm7DqSBncmFmaWNrw6kgdcW+aXZhdGVsc2vDqSBwcm9zdMWZZWTDrSwga3RlcsOpIHphaHJudWplIHBhbmVsLCBwcm9zdMWZZWTDrSBwcmFjb3Zuw60gcGxvY2h5LCBzeXN0w6ltb3bDqSBpa29ueSBhIGdyYWZpY2vDqWhvIHNwcsOhdmNlIHNvdWJvcsWvLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJkYSI+R25vbWUgZXIgZW4gc3TDpnJrIGdyYWZpc2sgYnJ1Z2VyZ3LDpm5zZWZsYWRlIHNvbSBpbmRob2xkZXIgZXQgcGFuZWwsIGV0IHNrcml2ZWJvcmQsIHN5c3RlbWlrb25lciBvZyBlbiBncmFmaXNrIGZpbGJlaGFuZGxlci48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iZGUiPkdOT01FIGlzdCBlaW5lIGxlaXN0dW5nc3N0YXJrZXMgZ3JhZmlzY2hlcyBCZW51dHplcmludGVyZmFjZSBtaXQgUGFuZWwsIERlc2t0b3AsIFN5c3RlbXN5bWJvbGVuIHVuZCBncmFmaXNjaGVtIEZlbnN0ZXJtYW5hZ2VyLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJlcyI+R05PTUUgZXMgdW5hIGludGVyZmF6IGdyw6FmaWNhIGRlIHVzdWFyaW8gcG90ZW50ZSBxdWUgaW5jbHV5ZSB1biBwYW5lbCwgdW4gZXNjcml0b3JpbywgaWNvbm9zIGRlbCBzaXN0ZW1hIHkgZ2VzdG9yZXMgZGUgZmljaGVyb3MgZ3LDoWZpY29zLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJmciI+R05PTUUgZXN0IHVuZSBpbnRlcmZhY2UgdXRpbGlzYXRldXIgZ3JhcGhpcXVlIHB1aXNzYW50ZSBxdWkgY29tcHJlbmQgdW4gdGFibGVhdSBkZSBib3JkLCB1biBidXJlYXUsIGRlcyBpY8O0bmVzIGRlIHN5c3TDqG1lIGV0IHVuIGdlc3Rpb25uYWlyZSBkZSBmaWNoaWVycyBncmFwaGlxdWUuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImlzIj5HTk9NRSBlciDDtmZsdWd0IG15bmRyw6ZudCB2aW5udXVtaHZlcmZpIHNlbSBpbm5paGVsZHVyIHNwamFsZCwgc2tqw6Fib3LDsCwga2VyZmlzc23DoW15bmRpciBvZyBteW5kcsOmbmFubiBza3LDoWFyc3Rqw7NyYS48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iaXQiPkdOT01FIMOoIHVuYSBwb3RlbnRlIGludGVyZmFjY2lhIGdyYWZpY2EgdXRlbnRlIGNoZSBpbmNsdWRlIHVuIHBhbm5lbGxvLCB1biBkZXNrdG9wLCBpY29uZSBkaSBzaXN0ZW1hIGUgdW4gZmlsZSBtYW5hZ2VyIGdyYWZpY28uPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImphIj5HTk9NReOBr+OAgeODkeODjeODq+OAgeODh+OCueOCr+ODiOODg+ODl+OAgeOCt+OCueODhuODoOOCouOCpOOCs+ODs+OAgeWPiuOBs+OCsOODqeODleOCo+OCq+ODqyDjg5XjgqHjgqTjg6vjg57jg43jgrjjg6PjgpLlkKvjgoDlvLflipvjgarjgrDjg6njg5XjgqPjgqvjg6vjg6bjg7zjgrbjg7zjgqTjg7Pjgr/jg7zjg5XjgqfjgqTjgrnjgafjgZnjgII8L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0ia28iPkdOT01F7J2AIOqwleugpe2VnCDqt7jrnpjtlL0g7IKs7Jqp7J6QIOyduO2EsO2OmOydtOyKpOuhnOyEnCDtjKjrhJAsIOuNsOyKpO2BrO2DkSwg7Iuc7Iqk7YWcIOyVhOydtOy9mOqzvCDqt7jrnpjtlL0g7YyM7J28IOq0gOumrOyekCDquLDriqXsnYQg6rCW7LaU6rOgIOyeiOyKteuLiOuLpC48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0ibm8iPkdOT01FIGVyIGV0IGtyYWZ0aWcsIGdyYWZpc2sgYnJ1a2VyZ3JlbnNlc25pdHQgc29tIGlua2x1ZGVyZXIgZXQgcGFuZWwsIHNrcml2ZWJvcmQsIHN5c3RlbWlrb25lciBvZyBlbiBncmFmaXNrIGZpbGjDpW5kdGVyZXI8L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0icHQiPkdOT01FIGlzIGEgcG93ZXJmdWwsIGdyYXBoaWNhbCB1c2VyIGludGVyZmFjZSB3aGljaCBpbmNsdWRlcyBhIHBhbmVsLCBkZXNrdG9wLCBzeXN0ZW0gaWNvbnMsIGFuZCBhIGdyYXBoaWNhbCBmaWxlIG1hbmFnZXIuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9InJ1Ij5HTk9NRSAtINGN0YLQviDQvNC+0YnQvdGL0Lkg0LPRgNCw0YTQuNGH0LXRgdC60LjQuSDQuNC90YLQtdGA0YTQtdC50YEg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPLCDQutC+0YLQvtGA0YvQuSDQstC60LvRjtGH0LDQtdGCINC/0LDQvdC10LvRjCwg0YDQsNCx0L7Rh9C40Lkg0YHRgtC+0LssINGB0LjRgdGC0LXQvNC90YvQtSDQv9C40LrRgtC+0LPRgNCw0LzQvNGLINC4INCz0YDQsNGE0LjRh9C10YHQutC40Lkg0LzQtdC90LXQtNC20LXRgCDRhNCw0LnQu9C+0LIuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9InN2Ij5HTk9NRSDDpHIgZXR0IGtyYWZ0ZnVsbHQsIGdyYWZpc2t0IGFudsOkbmRhcmdyw6Ruc3NuaXR0IHNvbSBpbm5laMOlbGxlciBlbiBwYW5lbCwgZXR0IHNrcml2Ym9yZCwgc3lzdGVtaWtvbmVyIG9jaCBlbiBncmFmaXNrIGZpbGhhbnRlcmFyZS48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iemhfQ04iPkdOT01FIOaYr+S4gOS4quWKn+iDveW8uuWkp+eahOWbvuW9ouWMlueUqOaIt+eVjOmdou+8jOWug+WMheaLrOS4gOS4qumdouadv+OAgSDmoYzpnaLjgIHns7vnu5/lm77moIfjgIHku6Xlj4rlm77lvaLljJbmlofku7bnrqHnkIblmajjgII8L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iemhfVFciPkdOT01FIOaYr+S4gOWAi+WKn+iDveW8t+Wkp+eahOWcluW9ouS9v+eUqOiAheS7i+mdou+8jOWug+WQq+acieS4gOWAi+mdouadv+OAgeahjOmdouOAgeezu+e1seWcluekuiDku6Xlj4rkuIDlgIvlnJblvaLnmoTmqpTmoYjnrqHnkIblk6HjgII8L2Rlc2NyaXB0aW9uPgorICAgIDxncm91cGxpc3Q+CisgICAgICA8Z3JvdXByZXE+YmFzZS14PC9ncm91cHJlcT4KKyAgICA8L2dyb3VwbGlzdD4KKyAgICA8cGFja2FnZWxpc3Q+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmNvbnRyb2wtY2VudGVyPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5kZXNrdG9wLWZpbGUtdXRpbHM8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5lb2c8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5maWxlLXJvbGxlcjwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPmdjb25mLWVkaXRvcjwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPmdlZGl0PC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+Z2Z0cDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPmdpbXAtcHJpbnQtdXRpbHM8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmdub21lLWFwcGxldHM8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5nbm9tZS1hdWRpbzwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPmdub21lLW1lZGlhPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5nbm9tZS1wYW5lbDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+Z25vbWUtc2Vzc2lvbjwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+Z25vbWUtc3BlbGw8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5nbm9tZS1zeXN0ZW0tbW9uaXRvcjwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+Z25vbWUtdGVybWluYWw8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5nbm9tZS11c2VyLWRvY3M8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmdub21lLXV0aWxzPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+Z25vbWUtdmZzLWV4dHJhczwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPmdub21lLXZmczItZXh0cmFzPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+Z3F2aWV3PC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+Z3RrLWVuZ2luZXM8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5ndGsyLWVuZ2luZXM8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5nZ3Y8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5tdHItZ3RrPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+bWFnaWNkZXY8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5od2Jyb3dzZXI8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPm1ldGFjaXR5PC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5uYXV0aWx1czwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+c3dpdGNoZGVzay1nbm9tZTwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+eWVscDwvcGFja2FnZXJlcT4KKyAgICA8L3BhY2thZ2VsaXN0PgorICA8L2dyb3VwPgorCisgIDxncm91cD4KKyAgICA8aWQ+a2RlLWRlc2t0b3A8L2lkPgorICAgIDxuYW1lPktERSBEZXNrdG9wIEVudmlyb25tZW50PC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJjcyI+UHJvc3TFmWVkw60gcHJhY292bsOtIHBsb2NoeSBLREU8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImRhIj5Ta3JpdmVib3Jkc21pbGrDuGV0IEtERTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZGUiPktERSBEZXNrdG9wdW1nZWJ1bmc8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImVzIj5FbnRvcm5vIGRlIGVzY3JpdG9yaW8gcGFyYSBLREU8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImZyIj5FbnZpcm9ubmVtZW50IGRlIGJ1cmVhdSBLREU8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImlzIj5LREUgc2tqw6Fib3LDsGnDsDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iaXQiPkFtYmllbnRlIGRlc2t0b3AgS0RFPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJqYSI+S0RF44OH44K544Kv44OI44OD44OX55Kw5aKDPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJrbyI+S0RFIOuNsOyKpO2BrO2DkSDtmZjqsr08L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9Im5vIj5Ta3JpdmVib3Jkc21pbGrDuGV0IEtERTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0icHQiPkFtYmllbnRlIGRlIFRyYWJhbGhvIEtERTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0icnUiPtCe0LrRgNGD0LbQtdC90LjQtSDRgNCw0LHQvtGH0LXQs9C+INGB0YLQvtC70LAgS0RFPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJzdiI+U2tyaXZib3Jkc21pbGrDtm4gS0RFPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJ6aF9DTiI+S0RFIOahjOmdoueOr+WigzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iemhfVFciPktERSDmoYzpnaLnkrDlooM8L25hbWU+CisgICAgPGRlc2NyaXB0aW9uPktERSBpcyBhIHBvd2VyZnVsLCBncmFwaGljYWwgdXNlciBpbnRlcmZhY2Ugd2hpY2ggaW5jbHVkZXMgYSBwYW5lbCwgZGVza3RvcCwgc3lzdGVtIGljb25zLCBhbmQgYSBncmFwaGljYWwgZmlsZSBtYW5hZ2VyLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJjcyI+S0RFIGplIHbDvWtvbm7DqSBncmFmaWNrw6kgdcW+aXZhdGVsc2vDqSBwcm9zdMWZZWTDrSwga3RlcsOpIHphaHJudWplIHBhbmVsLCBwcm9zdMWZZWTDrSBwcmFjb3Zuw60gcGxvY2h5LCBzeXN0w6ltb3bDqSBpa29ueSBhIGdyYWZpY2vDqWhvIHNwcsOhdmNlIHNvdWJvcsWvLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJkYSI+S0RFIGVyIGVuIHN0w6ZyaywgZ3JhZmlzayBicnVnZXJncsOmbnNlZmxhZGUgc29tIGluZGhvbGRlciBldCBwYW5lbCwgZXQgc2tyaXZlYm9yZCwgc3lzdGVtaWtvbmVyIG9nIGVuIGdyYWZpc2sgZmlsYmVoYW5kbGVyLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJkZSI+S0RFIGlzdCBlaW5lIGxlaXN0dW5nc3N0YXJrZXMgZ3JhZmlzY2hlcyBCZW51dHplcmludGVyZmFjZSBtaXQgUGFuZWwsIERlc2t0b3AsIFN5c3RlbXN5bWJvbGVuIHVuZCBncmFmaXNjaGVtIEZlbnN0ZXJtYW5hZ2VyLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJlcyI+S0RFIGVzIHVuYSBpbnRlcmZheiBkZSB1c3VhcmlvIGdyw6FmaWNhIHkgcG90ZW50ZSBxdWUgaW5jbHV5ZSB1biBwYW5lbCwgdW4gZXNjcml0b3JpbywgaWNvbm9zIGRlbCBzaXN0ZW1hIHkgdW4gZ2VzdG9yIGdyw6FmaWNvIGRlIGZpY2hlcm9zLiA8L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iZnIiPktERSBlc3QgdW5lIGludGVyZmFjZSB1dGlsaXNhdGV1ciBncmFwaGlxdWUgcHVpc3NhbnRlIGNvbXByZW5hbnQgdW4gdGFibGVhdSBkZSBib3JkLCB1biBidXJlYXUsIGRlcyBpY8O0bmVzIGRlIHN5c3TDqG1lIGV0IHVuIGdlc3Rpb25uYWlyZSBkZSBmaWNoaWVyIGdyYXBoaXF1ZS4gPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImlzIj5LREUgZXIgw7ZmbHVndCBteW5kcsOmbnQgdmlubnV1bWh2ZXJmaSBzZW0gaW5uaWhlbGR1ciBzcGphbGQsIHNrasOhYm9yw7AsIGtlcmZpc3Ntw6FteW5kaXIgb2cgbXluZHLDpm5hbm4gc2tyw6FhcnN0asOzcmEuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9Iml0Ij5LREUgw6ggdW5hIHBvdGVudGUgaW50ZXJmYWNjaWEgZ3JhZmljYSB1dGVudGUgY2hlIGluY2x1ZGUgdW4gcGFubmVsbG8sIHVuIGRlc2t0b3AsIGljb25lIGRpIHNpc3RlbWEgZSB1biBmaWxlIG1hbmFnZXIgZ3JhZmljby48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iamEiPktEReOBr+OAgeODkeODjeODq+OAgeODh+OCueOCr+ODiOODg+ODl+OAgeOCt+OCueODhuODoOOCouOCpOOCs+ODs+WPiuOBs+OCsOODqeODleOCo+OCq+ODq+ODleOCoeOCpOODqyDjg57jg43jgrjjg6PjgpLlkKvjgoDlvLflipvjgarjgrDjg6njg5XjgqPjgqvjg6vjg6bjg7zjgrbjg7zjgqTjg7Pjgr/jg7zjg5XjgqfjgqTjgrnjgafjgZnjgII8L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0ia28iPktEReuKlCDqsJXroKXtlZwg6re4656Y7ZS9IOyCrOyaqeyekCDsnbjthLDtjpjsnbTsiqTroZzshJwg7Yyo64SQLCDrjbDsiqTtgaztg5EsIOyLnOyKpO2FnCDslYTsnbTsvZjqs7wg6re4656Y7ZS9IO2MjOydvCDqtIDrpqzsnpAg6riw64ql7J2EIOqwluy2lOqzoCDsnojsirXri4jri6QuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9Im5vIj5LREUgZXIgZXQga3JhZnRpZywgZ3JhZmlzayBicnVrZXJncmVuc2Vzbml0dCBzb20gaW5rbHVkZXJlciBldCBwYW5lbCwgc2tyaXZlYm9yZCwgc3lzdGVtaWtvbmVyIG9nIGVuIGdyYWZpc2sgZmlsaMOlbmR0ZXJlci48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0icHQiPk8gS0RFIMOpIHVtYSBpbnRlcmZhY2UgZ3LDoWZpY2EgcG9kZXJvc2EgcXVlIGluY2x1aSB1bSBwYWluZWwsIHVtIGFtYmllbnRlIGRlIHRyYWJhbGhvLCBvcyDDrWNvbmVzIGRlIHNpc3RlbWEgZSB1bSBnZXN0b3IgZGUgZmljaGVpcm9zIGdyw6FmaWNvLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJydSI+S0RFINGN0YLQviDQvNC+0YnQvdGL0Lkg0LPRgNCw0YTQuNGH0LXRgdC60LjQuSDQuNC90YLQtdGA0YTQtdC50YEsINCy0LrQu9GO0YfQsNGO0YnQuNC5INCyINGB0LXQsdGPINC/0LDQvdC10LvRjCDQv9GA0LjQu9C+0LbQtdC90LjQuSwg0YDQsNCx0L7Rh9C40Lkg0YHRgtC+0LssINGB0LjRgdGC0LXQvNC90YvQtSDQuNC60L7QvdC60LgsINC4INCz0YDQsNGE0LjRh9C10YHQutC40Lkg0LzQtdC90LXQtNC20LXRgCDRhNCw0LnQu9C+0LIuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9InN2Ij5LREUgw6RyIGV0dCBrcmFmdGZ1bGx0LCBncmFmaXNrdCBhbnbDpG5kYXJncsOkbnNzbml0dCBzb20gaW5uZWjDpWxsZXIgZW4gcGFuZWwsIGV0dCBza3JpdmJvcmQsIHN5c3RlbWlrb25lciBvY2ggZW4gZ3JhZmlzayBmaWxoYW50ZXJhcmUuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9InpoX0NOIj5LREUg5piv5LiA5Liq5Yqf6IO95by65aSn55qE5Zu+5b2i5YyW55So5oi355WM6Z2i44CC5a6D5YyF5ous6Z2i5p2/44CB5qGM6Z2i44CBIOezu+e7n+Wbvuagh+OAgeS7peWPiuWbvuW9ouWMluaWh+S7tueuoeeQhuWZqOOAgjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJ6aF9UVyI+S0RFIOaYr+S4gOWAi+WKn+iDveW8t+Wkp+eahOWcluW9ouS9v+eUqOiAheS7i+mdou+8jOWug+WQq+acieS4gOWAi+mdouadv+OAgeahjOmdouOAgeezu+e1seWcluekuiDku6Xlj4rkuIDlgIvlnJblvaLnmoTmqpTmoYjnrqHnkIblk6HjgII8L2Rlc2NyaXB0aW9uPgorICAgIDxncm91cGxpc3Q+CisgICAgICA8Z3JvdXByZXE+YmFzZS14PC9ncm91cHJlcT4KKyAgICAgIDxncm91cHJlcT5kaWFsdXA8L2dyb3VwcmVxPgorICAgIDwvZ3JvdXBsaXN0PgorICAgIDxwYWNrYWdlbGlzdD4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPmFyazwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+YXJ0czwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPmF1dG9ydW48L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmZhbTwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+aHRkaWc8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJvcHRpb25hbCI+a2Fib29kbGU8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5rYW1lcmE8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJvcHRpb25hbCI+a2FybTwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+a2NhbGM8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmtjaGFyc2VsZWN0PC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ib3B0aW9uYWwiPmtkZWFkZG9ucy1rYXRlPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ib3B0aW9uYWwiPmtkZWFkZG9ucy1ub2F0dW48L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJvcHRpb25hbCI+a2RlYWRkb25zLWtvbnF1ZXJvcjwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPmtkZWFkZG9ucy1raWNrZXI8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5rZGVhZGRvbnMta29ucXVlcm9yPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ib3B0aW9uYWwiPmtkZWFkbWluPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5rZGVhcnR3b3JrPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+a2RlYXJ0d29yay1sb2NvbG9yPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5rZGVhcnR3b3JrLXNjcmVlbnNhdmVyczwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPmtkZW11bHRpbWVkaWEtYXJ0czwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPmtkZW11bHRpbWVkaWEta2ZpbGU8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmtkZXBhc3N3ZDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPmtkZXBpbTwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+a2RlYmFzZTwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+a2Rlc3NoPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5rZGY8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5rZGljdDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPmtlZGl0PC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+a2RlYWRkb25zLWtuZXdzdGlja2VyPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5rZGV1dGlscy1sYXB0b3A8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmtmbG9wcHk8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmtmaWxlLXBkZjwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+a2ZpbGUtcG5nPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5raGV4ZWRpdDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+a2pvdHM8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmtsamV0dG9vbDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+a2xwcmZheDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+a2xwcTwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+a21peDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPmtwZjwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+a3JlZ2V4cGVkaXRvcjwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+a3NjZDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+a3NuYXBzaG90PC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5rdGltZXI8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5saXNhPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5zd2l0Y2hkZXNrLWtkZTwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+eGluZXRkPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+a3BwcDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPmtwcHBsb2FkPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+a2dob3N0dmlldzwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPmtkdmk8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5raWNvbmVkaXQ8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5rbWFpbDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPmtpdDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPmtvbmNkPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+a3BhaW50PC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+a3VpY2tzaG93PC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+a3ZpZXc8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5rdmlld3NoZWxsPC9wYWNrYWdlcmVxPgorICAgIDwvcGFja2FnZWxpc3Q+CisgIDwvZ3JvdXA+CisKKyAgPGdyb3VwPgorICAgIDxpZD5ncmFwaGljYWwtaW50ZXJuZXQ8L2lkPgorICAgIDxuYW1lPkdyYXBoaWNhbCBJbnRlcm5ldDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iY3MiPkdyYWZpY2vDvSBJbnRlcm5ldDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZGEiPkdyYWZpc2sgaW50ZXJuZXQ8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImRlIj5HcmFmaXNjaGVzIEludGVybmV0PC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJlcyI+SW50ZXJuZXQgZ3LDoWZpY2E8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImZyIj5JbnRlcm5ldCBncmFwaGlxdWU8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImlzIj5NeW5kcsOmbiBJbnRlcm5ldHTDs2w8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9Iml0Ij5JbnRlcm5ldCBncmFmaWNvPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJqYSI+44Kw44Op44OV44Kj44Kr44Or44Kk44Oz44K/44O844ON44OD44OIPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJrbyI+6re4656Y7ZS9IOyduO2EsOuEtzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ibm8iPkdyYWZpc2sgSW50ZXJuZXQ8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InB0Ij5JbnRlcm5ldCBlbSBNb2RvIEdyw6FmaWNvPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJydSI+0JPRgNCw0YTQuNGH0LXRgdC60LjQtSDRgdGA0LXQtNGB0YLQstCwINCY0L3RgtC10YDQvdC10YI8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InN2Ij5HcmFmaXNrdCBJbnRlcm5ldDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iemhfQ04iPuWbvuW9ouWMluS6kuiBlOe9kTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iemhfVFciPuWcluW9ouWMlue2sumam+e2sui3rzwvbmFtZT4KKyAgICA8ZGVzY3JpcHRpb24+VGhpcyBncm91cCBpbmNsdWRlcyBncmFwaGljYWwgZW1haWwsIFdlYiwgYW5kIGNoYXQgY2xpZW50cy48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iY3MiPlRhdG8gc2t1cGluYSBvYnNhaHVqZSBncmFmaWNrw6kga2xpZW50eSBwcm8gZW1haWwsIFdXVyBhIGNoYXQuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImRhIj5EZW5uZSBncnVwcGUgaW5kZWhvbGRlciBncmFmaXNrZSBrbGllbnRlciBmb3IgZS1wb3N0LCBuZXRsw6ZzbmluZyBvZyBjaGF0LjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJkZSI+RGllc2UgR3J1cHBlIHVtZmFzc3QgZ3JhZmlzY2hlIEUtTWFpbCwgV2ViIHVuZCBDaGF0LUNsaWVudHMuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImVzIj5FbCBncnVwbyBpbmNsdXllIGNsaWVudGVzIGdyw6FmaWNvcyBkZSBjb3JyZW8gZWxlY3Ryw7NuaWNvLCBXZWIgeSBjaGF0LiA8L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iZnIiPkNlIGdyb3VwZSBjb21wcmVuZCBsZSBjb3VycmllciDDqWxlY3Ryb25pcXVlIGdyYXBoaXF1ZSwgV2ViIGV0IGxlcyBjbGllbnRzIGRlIGNvbnZlcnNhdGlvbi48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iaXMiPsOeZXNzaSBow7NwdXIgaW5uaWhlbGR1ciBteW5kcsOmbiBww7NzdCwgdmVmIG9nIHNwamFsbGZvcnJpdC48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iaXQiPlF1ZXN0byBncnVwcG8gaW5jbHVkZSBlLW1haWwsIFdlYiBlIGNoYXQgY2xpZW50IGdyYWZpY2kuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImphIj7jgZPjga7jgrDjg6vjg7zjg5fjgavjga/jgIHjgrDjg6njg5XjgqPjgqvjg6tlbWFpbOOAgVdlYuOAgeWPiuOBs+ODgeODo+ODg+ODiOOCr+ODqeOCpOOCouODs+ODiOOBjCDlkKvjgb7jgozjgabjgYTjgb7jgZnjgII8L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0ia28iPuydtCDqt7jro7nsl5DripQg6re4656Y7ZS9IOydtOuplOydvCwg7Ju5LCDssYTtjIUg7YG065287J207Ja47Yq46rCAIO2PrO2VqOuQmOyWtCDsnojsirXri4jri6QuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9Im5vIj5EZW5uZSBncnVwcGVuIGlua2x1ZGVyZXIgZ3JhZmlza2UgZXBvc3QsIHdlYiBvZyBjaGF0LWtsaWVudGVyLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJwdCI+RXN0ZSBncnVwbyBjb250w6ltIGNsaWVudGVzIGdyw6FmaWNzbyBkZSBlbWFpbCwgV2ViIGUgY2hhdC48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0icnUiPtCt0YLQsCDQs9GA0YPQv9C/0LAg0LLQutC70Y7Rh9Cw0LXRgiDQs9GA0LDRhNC40YfQtdGB0LrQuNC1INC60LvQuNC10L3RgtGLINGN0LvQtdC60YLRgNC+0L3QvdC+0Lkg0L/QvtGH0YLRiywg0JLQtdCxINC4INGH0LDRgtCwLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJzdiI+RGVubmEgZ3J1cHAgaW5rbHVkZXJhciBncmFmaXNrYSBrbGllbnRlciBmw7ZyIGUtcG9zdCwgd2ViYnN1cmZhbmRlIG9jaCBjaGF0dC48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iemhfQ04iPui/mee7hOi9r+S7tuWMheWMheWQq+WbvuW9ouWMlueUteWtkOmCruS7tuOAgeS4h+e7tOe9keWSjOiBiuWkqeWuouaIt+OAgjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJ6aF9UVyI+6YCZ5YCL576k57WE5YyF5ous5ZyW5b2i55qE6Zu75a2Q6YO15Lu244CB57ay6aCB5Lul5Y+K6IGK5aSp55So5oi256uv44CCPC9kZXNjcmlwdGlvbj4KKyAgICA8dXNlcnZpc2libGU+dHJ1ZTwvdXNlcnZpc2libGU+CisgICAgPGRlZmF1bHQ+dHJ1ZTwvZGVmYXVsdD4KKyAgICA8cGFja2FnZWxpc3Q+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJvcHRpb25hbCI+YmFsc2E8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5ldm9sdXRpb248L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5nYWltPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ib3B0aW9uYWwiPmdhbGVvbjwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im9wdGlvbmFsIj5nbm9tZW1lZXRpbmc8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5tb3ppbGxhPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+bW96aWxsYS1wc208L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJvcHRpb25hbCI+bW96aWxsYS1jaGF0PC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+bW96aWxsYS1tYWlsPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ib3B0aW9uYWwiPnBhbjwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPnhjaGF0PC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5pbmRleGh0bWw8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJvcHRpb25hbCI+bGljcS1rZGU8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJvcHRpb25hbCI+a3NpcmM8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJvcHRpb25hbCI+a21haWw8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJvcHRpb25hbCI+a29ybjwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im9wdGlvbmFsIj5rbm9kZTwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im9wdGlvbmFsIj5raXQ8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJvcHRpb25hbCI+cXVhbnRhPC9wYWNrYWdlcmVxPgorICAgIDwvcGFja2FnZWxpc3Q+CisgIDwvZ3JvdXA+CisKKyAgPGdyb3VwPgorICAgIDxpZD50ZXh0LWludGVybmV0PC9pZD4KKyAgICA8bmFtZT5UZXh0LWJhc2VkIEludGVybmV0PC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJjcyI+VGV4dG92w70gSW50ZXJuZXQ8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImRhIj5UZWtzdGJhc2VyZXQgaW50ZXJuZXQ8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImRlIj5UZXh0YmFzaWVydGVzIEludGVybmV0PC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJlcyI+SW50ZXJuZXQgYmFzYWRhIGVuIHRleHRvPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJmciI+SW50ZXJuZXQgYmFzw6kgc3VyIHRleHRlPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJpcyI+SW50ZXJuZXQgbWXDsCB0ZXh0YXNraWx1bTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iaXQiPkludGVybmV0IHRleHQtYmFzZWQ8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImphIj7jg4bjgq3jgrnjg4jjg5njg7zjgrnjga7jgqTjg7Pjgr/jg7zjg43jg4Pjg4g8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImtvIj7thY3siqTtirgt6riw67CYIOyduO2EsOuEtzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ibm8iPlRla3N0YmFzZXJ0ZSBJbnRlcm5ldHQtcHJvZ3JhbW1lcjwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0icHQiPkludGVybmV0IGVtIG1vZG8gdGV4dG88L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InJ1Ij7QotC10YHRgtC+0LLRi9C1INGB0YDQtdC00YHRgtCy0LAg0JjQvdGC0LXRgNC90LXRgjwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ic3YiPlRleHRiYXNlcmF0IEludGVybmV0PC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJ6aF9DTiI+5Z+65LqO5paH5pys55qE5LqS6IGU572RPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJ6aF9UVyI+5paH5a2X54K65Li755qE57ay6Zqb57ay6LevPC9uYW1lPgorICAgIDxkZXNjcmlwdGlvbj5UaGlzIGdyb3VwIGluY2x1ZGVzIHRleHQtYmFzZWQgZW1haWwsIFdlYiwgYW5kIGNoYXQgY2xpZW50cy4gIFRoZXNlIGFwcGxpY2F0aW9ucyBkbyBub3QgcmVxdWlyZSB0aGUgWCBXaW5kb3cgU3lzdGVtLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJjcyI+VGF0byBza3VwaW5hIG9ic2FodWplIHRleHRvdsOpIGtsaWVudHkgcHJvIGVtYWlsLCBXV1cgYSBjaGF0LiBUeXRvIGFwbGlrYWNlIG5lcG90xZllYnVqw60gWCBXaW5kb3cgU3lzdGVtLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJkYSI+RGVubmUgZ3J1cHBlIGluZGVob2xkZXIgdGVrc3QtYmFzZXJlZGUga2xpZW50ZXIgZm9yIGUtcG9zdCwgbmV0bMOmc25pbmcgb2cgY2hhdC4gRGlzc2UgcHJvZ3JhbW1lciBrcsOmdmVyIGlra2UgdmluZHVlc3N5c3RlbWV0IFguPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImRlIj5EaWVzZSBHcnVwcGUgZW50aMOkbHQgdGV4dC1iYXNpZXJ0ZSBFLU1haWwsIFdlYiB1bmQgQ2hhdC1DbGllbnRzLiBEaWVzZSBBbndlbmR1bmdlbiBiZW7DtnRpZ2VuIGRhcyBYIFdpbmRvdyBTeXN0ZW0gbmljaHQuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImVzIj5Fc3RlIGdydXBvIGluY2x1eWUgY29ycmVvIGVsZWN0csOzbmljbyBlbiBmb3JtYSBkZSB0ZXh0bywgV2ViIHkgY2xpZW50ZXMgZGUgY2hhdHMuIEVzdGFzIGFwbGljYWNpb25lcyBubyBuZWNlc2l0YW4gZWwgc2lzdGVtYSBYIFdpbmRvdy48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iZnIiPkNlIGdyb3VwZSBjb250aWVudCB1bmUgbWVzc2FnZXJpZSDDqWxlY3Ryb25pcXVlIGVuIG1vZGFsaXTDqSB0ZXh0ZSBldCBkZXMgY2xpZW50cyBkZSBjb252ZXJzYXRpb24uIENlcyBhcHBsaWNhdGlvbnMgbmUgbsOpY2Vzc2l0ZW50IHBhcyBsZSBzeXN0w6htZSBYIFdpbmRvdy48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iaXMiPsOeZXNzaSBow7NwdXIgaW5uaWhlbGR1ciBww7NzdCwgdmVmIG9nIHNwamFsbGZvcnJpdCBtZcOwIHRleHRhc2tpbHVtLiDDnmVzc2kgdMOzbCDDvnVyZmEgZWtraSBYIGdsdWdnYWtlcmZpw7AuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9Iml0Ij5RdWVzdG8gZ3J1cHBvIGluY2x1ZGUgZS1tYWlsLCBXZWIgZSBjaGF0IGNsaWVudCB0ZXh0LWJhc2VkLiBUYWxpIGFwcGxpY2F6aW9uaSBub24gcmljaGllZG9ubyBpbCBzaXN0ZW1hIFggV2luZG93LjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJqYSI+44GT44Gu44Kw44Or44O844OX44Gr44Gv44CB44OG44Kt44K544OI44OZ44O844K544GuZW1haWwsIFdlYizlj4rjgbPjg4Hjg6Pjg4Pjg4jjgq/jg6njgqTjgqLjg7Pjg4jjgYzlkKvjgb7jgozjgaYg44GE44G+44GZ44CC44GT44KM44KJ44Gu44Ki44OX44Oq44Kx44O844K344On44Oz44GvWCBXaW5kb3cgU3lzdGVt44KS5b+F6KaB44Go44GX44G+44Gb44KT44CCPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImtvIj7snbQg6re466aF7JeQ64qUIO2FjeyKpO2KuC3quLDrsJgg7J2066mU7J28LCDsm7ksIOyxhO2MhSDtgbTrnbzsnbTslrjtirjqsIAg7Y+s7ZWo65CY7Ja0IOyeiOyKteuLiOuLpC4gWCDsnIjrj4TsmrAg7Iuc7Iqk7YWc7J20IOyXhuyWtOuPhCDsnpHrj5ntlanri4jri6QuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9Im5vIj5EZW5uZSBncnVwcGVuIGlubmVob2xkZXIgdGVrc3RiYXNlcnRlIGVwb3N0LCB3ZWIgb2cgY2hhdC1rbGllbnRlci4gRGlzc2UgcHJvZ3JhbW1lbmUgdHJlbmdlciBpa2tlIFguPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9InB0Ij5Fc3RlIGdydXBvIGluY2x1aSBvIGVtYWlsIGVtIG1vZG8gdGV4dG8sIGEgV2ViIGUgb3MgY2xpZW50ZXMgZGUgY29udmVyc2HDp8Ojby4gRXN0YXMgYXBsaWNhw6fDtWVzIG7Do28gbmVjZXNzaXRhbSBkbyBYIFdpbmRvdyBTeXN0ZW0uPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9InJ1Ij7QrdGC0LAg0LPRgNGD0L/Qv9CwINGB0L7QtNC10YDQttC40YIg0YLQtdC60YHRgtC+0LLRi9C1INC/0YDQuNC70L7QttC10L3QuNGPINC00LvRjyDRgNCw0LHQvtGC0Ysg0YEg0Y3Qu9C10LrRgtGA0L7QvdC90L7QuSDQv9C+0YfRgtC+0LksINC40L3RgtC10YDQvdC10YLQvtC8LCDQsCDRgtCw0LrQttC1INGH0LDRgi3QutC70LjQtdC90YLRiy4g0J/RgNC40LvQvtC20LXQvdC40Y8g0LIg0Y3RgtC+0Lkg0LPRgNGD0L/Qv9C1INC90LUg0YLRgNC10LHRg9GO0YIgWCBXaW5kb3cgU3lzdGVtPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9InN2Ij5EZW5uYSBncnVwcCBpbmtsdWRlcmFyIHRleHQtYmFzZXJhZGUga2xpZW50ZXIgZsO2ciBlLXBvc3QsIHdlYmJzdXJmYW5kZSBvY2ggY2hhdHQuIERlc3NhIHByb2dyYW0ga3LDpHZlciBpbnRlIGbDtm5zdGVyc3lzdGVtZXQgWC48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iemhfQ04iPui/mee7hOi9r+S7tuWMheWMheWQq+WfuuS6juaWh+acrOeahOeUteWtkOmCruS7tuOAgeS4h+e7tOe9keOAgeWSjOiBiuWkqeWuouaIt+eahOi9r+S7tuWMheOAgiDov5nkupvlupTnlKjnqIvluo/kuI3opoHmsYIgWCDnqpflj6Pns7vnu5/jgII8L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iemhfVFciPumAmeWAi+e+pOe1hOWMheaLrOaWh+Wtl+eCuuS4u+eahOmbu+WtkOmDteS7tuOAgee2sumggeiIh+iBiuWkqeeUqOaItuerr+OAgiDpgJnkupvmh4nnlKjnqIvlvI8g5Lim5LiN6ZyA6KaBIFgg6KaW56qX57O757Wx44CCPC9kZXNjcmlwdGlvbj4KKyAgICA8dXNlcnZpc2libGU+dHJ1ZTwvdXNlcnZpc2libGU+CisgICAgPGRlZmF1bHQ+dHJ1ZTwvZGVmYXVsdD4KKyAgICA8Z3JvdXBsaXN0PgorICAgICAgPGdyb3VwcmVxPmJhc2U8L2dyb3VwcmVxPgorICAgIDwvZ3JvdXBsaXN0PgorICAgIDxwYWNrYWdlbGlzdD4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPmZldGNobWFpbDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im9wdGlvbmFsIj5lcGljPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ib3B0aW9uYWwiPmx5bng8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5tdXR0PC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ib3B0aW9uYWwiPm5jZnRwPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ib3B0aW9uYWwiPnBpbmU8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5zbHJuPC9wYWNrYWdlcmVxPgorICAgIDwvcGFja2FnZWxpc3Q+CisgIDwvZ3JvdXA+CisKKyAgPGdyb3VwPgorICAgIDxpZD5zb3VuZC1hbmQtdmlkZW88L2lkPgorICAgIDxuYW1lPlNvdW5kIGFuZCBWaWRlbzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iY3MiPlp2dWsgYSB2aWRlbzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZGEiPkx5ZCBvZyB2aWRlbzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZGUiPlNvdW5kIHVuZCBWaWRlbzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZXMiPlNvbmlkbyB5IHbDrWRlbzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZnIiPlNvbiBldCB2aWTDqW88L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImlzIj5IbGrDs8OwIG9nIG15bmQ8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9Iml0Ij5BdWRpbyBlIHZpZGVvPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJqYSI+44K144Km44Oz44OJ44Go44OT44OH44KqPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJrbyI+7IKs7Jq065Oc7JmAIOu5hOuUlOyYpDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ibm8iPkx5ZCBvZyBiaWxkZTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0icHQiPlNvbSBlIFZpZGVvPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJydSI+0JfQstGD0Log0Lgg0LLQuNC00LXQvjwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ic3YiPkxqdWQgb2NoIHZpZGVvPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJ6aF9DTiI+6KeG6aKR5ZKM6Z+z6aKRPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJ6aF9UVyI+6Z+z5pWI6IiH6KaW6KiKPC9uYW1lPgorICAgIDxkZXNjcmlwdGlvbj5Gcm9tIENEIHJlY29yZGluZyB0byBwbGF5aW5nIGF1ZGlvIENEcyBhbmQgbXVsdGltZWRpYSBmaWxlcywgdGhpcyBwYWNrYWdlIGdyb3VwIGFsbG93cyB5b3UgdG8gd29yayB3aXRoIHNvdW5kIGFuZCB2aWRlbyBvbiB0aGUgc3lzdGVtLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJjcyI+VGF0byBza3VwaW5hIGJhbMOtxI1rxa8gVsOhbSB1bW/FvsWIdWplIHByYWNvdmF0IHNlIHp2dWtlbSBhIHZpZGVlbSBvZCB2eXBhbG92w6Fuw60gQ0QgcG8gcMWZZWhyw6F2w6Fuw60genZ1a292w71jaCBDRCBhIG11bHRpbWVkacOhbG7DrWNoIHNvdWJvcsWvLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJkYSI+RGVubmUgZ3J1cHBlIGxhZGVyIGRpZyBhcmJlamRlIG1lZCBseWQgb2cgdmlkZW8gcMODwqUgc3lzdGVtZXQsIG1lZCBhbHRmcmEgY2Qtb3B0YWduaW5nIHRpbCBhZnNwaWxuaW5nIGFmIGx5ZC1jZCZhcG9zO2VyIG9nIG11bHRpbWVkaWUtZmlsZXIuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImRlIj5Wb24gZGVyIEF1Zm5haG1lIHZvbiBDRHMgYmlzIHp1bSBBYnNwaWVsZW4gdm9uIEF1ZGlvLUNEcyBlcm3DtmdsaWNodCBJaG5lbiBkaWVzZSBQYWtldGdydXBwZSBlaW5lIG9wdGltYWxlIE51dHp1bmcgZGVyIFNvdW5kLSB1bmQgVmlkZW9mdW5rdGlvbmVuIGRlcyBTeXN0ZW1zLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJlcyI+RGVzZGUgbGEgZ3JhYmFjacOzbiBkZSBDRHMgaGFzdGEgbGEgcmVwcm9kdWNjacOzbiBkZSBDRHMgZGUgYXVkaW8geSBhcmNoaXZvcyBtdWx0aW1lZGlhLCBlc3RlIHBhcXVldGUgbGUgcGVybWl0ZSB0cmFiYWphciBjb24gYXVkaW8geSB2aWRlbyBlbiBzdSBzaXN0ZW1hLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJqYSI+Q0Tjga7pjLLpn7PjgYvjgonjgqrjg7zjg4fjgqPjgqpDROOBqOODnuODq+ODgeODoeODh+OCo+OCouODleOCoeOCpOODq+OBruWGjeeUn+OBvuOBp+OAgeOBk+OBriDjg5Hjg4PjgrHjg7zjgrjjgrDjg6vjg7zjg5fjgafjgrfjgrnjg4bjg6DkuIrjga7jgrXjgqbjg7Pjg4njgajjg5Pjg4fjgqrjgpLmqZ/og73jgpLkvb/nlKjjgafjgY3jgb7jgZnjgII8L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0ia28iPuydtCDtjKjtgqTsp4Ag6re466O57J2EIOyCrOyaqe2VmOyXrCBDRCDrhbnsnYzsl5DshJwg7Jik65SU7JikIENEIOuwjyDrqYDti7Drr7jrlJTslrQg7YyM7J28IOyerOyDneyXkCDsnbTrpbTquLDquYzsp4Ag64uk7JaR7ZWcIOyCrOyatOuTnOyZgCDruYTrlJTsmKQg7J6R7JeF7J2EIOyImO2Wie2VmOyLpCDsiJgg7J6I7Iq164uI64ukLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJubyI+RGVubmUgcGFra2VncnVwcGVuIGlubmVob2xkZXIgcHJvZ3JhbW1lciBmb3Igw6Ugc3BpbGxlIGF2IENEZXIgb2cgbXVsdGltZWRpZWZpbGVyIHNhbXQgYXJiZWlkZSBtZWQgbHlkIG9nIGJpbGRlIHDDpSBzeXN0ZW1ldC48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0icHQiPkRlc2RlIGEgZ3JhdmHDp8OjbyBkZSBDRHMgYXTDqSDDoCByZXByb2R1w6fDo28gZGUgQ0RzIMOhdWRpbyBlIG11bHRpbcOpZGlhLCBlc3RlXG5ncnVwbyBkZSBwYWNvdGVzIHBlcm1pdGUtbGhlIGxpZGFyIGNvbSBvIHNvbSBlIG8gdsOtZGVvIG5vIHNpc3RlbWEuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9InJ1Ij7QntGCINC30LDQv9C40YHQuCBDRCDQtNC+INC/0YDQvtC40LPRgNGL0LLQsNC90LjRjyDQt9Cy0YPQutC+0LLRi9GFINC00LjRgdC60L7QsiDQuCBNUDMsINGN0YLQsCDQs9GA0YPQv9C/0LAg0L/QsNC60LXRgtC+0LIg0L/QvtC30LLQvtC70Y/QtdGCINGA0LDQsdC+0YLQsNGC0Ywg0YHQviDQt9Cy0YPQutC+0Lwg0Lgg0LLQuNC00LXQviDQsiDRgdC40YHRgtC10LzQtS48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0ic3YiPkRlbm5hIHBha2V0Z3J1cHAgbMOldGVyIGRpZyBhcmJldGEgbWVkIGxqdWQgb2NoIHZpZGVvLCB2YXJlIHNpZyBkZXQgZ8OkbGxlciBjZGluc3BlbG5pbmcgZWxsZXIgYXR0IGx5c3NuYSBww6UgbXVzaWtza2l2b3Igb2NoIG11bHRpbWVkaWFmaWxlci48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iemhfQ04iPuS7juWFieebmOW9leWItuWIsOaSreaUvumfs+mikeWFieebmOWSjOWkmuWqkuS9k+aWh+S7tu+8jOivpei9r+S7tuWMhee7hOWFgeiuuOaCqOS9v+eUqOezu+e7n+S4iueahOmfs+mikeWSjOinhumikei1hOa6kOOAgjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJ6aF9UVyI+5b6e54eS6YyEIENEIOWIsOaSreaUvumfs+aViCBDRCDoiIflpJrlqpLpq5TmqpTmoYjvvIzpgJnlgIvlpZfku7bnvqTntYTorpPmgqjlj6/ku6XlnKjns7vntbHkuIrkvb/nlKjpn7PmlYjoiIfoppboqIrnmoTlip/og73jgII8L2Rlc2NyaXB0aW9uPgorICAgIDx1c2VydmlzaWJsZT50cnVlPC91c2VydmlzaWJsZT4KKyAgICA8ZGVmYXVsdD50cnVlPC9kZWZhdWx0PgorICAgIDxncm91cGxpc3Q+CisgICAgICA8Z3JvdXByZXE+YmFzZTwvZ3JvdXByZXE+CisgICAgICA8Z3JvdXByZXE+YmFzZS14PC9ncm91cHJlcT4KKyAgICA8L2dyb3VwbGlzdD4KKyAgICA8cGFja2FnZWxpc3Q+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmF1bWl4PC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+Y2RkYTJ3YXY8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5jZGxhYmVsZ2VuPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+Y2RwPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+Y2RwYXJhbm9pYTwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPmNkcmVjb3JkPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+ZHZkcmVjb3JkPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ib3B0aW9uYWwiPmR2Z3JhYjwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPmdyaXA8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5ndG9hc3RlcjwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im9wdGlvbmFsIj5rYWJvb2RsZTwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im9wdGlvbmFsIj5rZGVhZGRvbnMtbm9hdHVuPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ib3B0aW9uYWwiPmttaWQ8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJvcHRpb25hbCI+a21pZGk8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJvcHRpb25hbCI+a29uY2Q8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJvcHRpb25hbCI+bWlrbW9kPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ib3B0aW9uYWwiPnNuZGNvbmZpZzwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+c294PC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij52b3JiaXMtdG9vbHM8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij54YXd0djwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im9wdGlvbmFsIj54Y2Ryb2FzdDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPnhtbXM8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJvcHRpb25hbCI+eG1tcy1za2luczwvcGFja2FnZXJlcT4KKyAgICA8L3BhY2thZ2VsaXN0PgorICA8L2dyb3VwPgorCisgIDxncm91cD4KKyAgICA8aWQ+Z3JhcGhpY3M8L2lkPgorICAgIDxuYW1lPkdyYXBoaWNzPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJjcyI+R3JhZmlrYTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZGEiPkdyYWZpazwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZGUiPkdyYWZpazwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZXMiPkdyw6FmaWNvczwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZnIiPkdyYXBoaXNtZXM8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImlzIj5NeW5kdmlubnNsYTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iaXQiPkdyYWZpY2E8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImphIj7jgrDjg6njg5XjgqPjgq/jgrk8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImtvIj7qt7jrnpjtlL08L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9Im5vIj5HcmFmaWtrPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJwdCI+R3LDoWZpY29zPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJydSI+0JPRgNCw0YTQuNC60LA8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InN2Ij5HcmFmaWs8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InpoX0NOIj7lm77lvaI8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InpoX1RXIj7lnJblvaI8L25hbWU+CisgICAgPGRlc2NyaXB0aW9uPlRoaXMgZ3JvdXAgaW5jbHVkZXMgcGFja2FnZXMgdG8gaGVscCB5b3UgbWFuaXB1bGF0ZSBhbmQgc2NhbiBpbWFnZXMuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImNzIj5UYXRvIHNrdXBpbmEgb2JzYWh1amUgYmFsw63EjWt5LCBrdGVyw6kgVsOhbSBwb21vaG91IHByYWNvdmF0IHMgb2Jyw6F6a3kgYSBza2Vub3ZhdCBqZS48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iZGEiPkRlbm5lIGdydXBwZSBpbmRlaG9sZGVyIHBha2tlciBzb20gaGrDpmxwZXIgZGlnIG1lZCBhdCBtYW5pcHVsZXJlIG9nIGluZGzDpnNlIGJpbGxlZGVyLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJkZSI+RGllc2UgR3J1cHBlIHVtZmFzc3QgUGFrZXRlLCBtaXQgZGVuZW4gU2llIEJpbGRlciBiZWFyYmVpdGVuIHVuZCBzY2FubmVuIGvDtm5uZW4uPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImVzIj5Fc3RlIGdydXBvIGluY2x1eWUgcGFxdWV0ZXMgcXVlIGxlIHBlcm1pdGlyw6FuIG1hbmlwdWxhciB5IGVzY2FuZXJhIGltw6FnZW5lcy48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iZnIiPkNlIGdyb3VwZSBjb21wcmVuZCBkZXMgcGFxdWV0YWdlcyBxdWkgdm91cyBhaWRlbnQgw6AgbWFuaXB1bGVyIGV0IHNjYW5uZXIgZGVzIGltYWdlcy4gPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImlzIj7DnmVzc2kgaMOzcHVyIGlubmloZWxkdXIgcGFra2Egc2VtIGdlcmEgw77DqXIga2xleWZ0IGHDsCBza2FubmEgb2cgYnJleXRhIG15bmR1bS48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iaXQiPlF1ZXN0byBncnVwcG8gaW5jbHVkZSBpIHBhY2NoZXR0aSBwZXIgbGEgbWFuaXBvbGF6aW9uZSBlIGxhIHNjYW5zaW9uZSBkZWxsZSBpbW1hZ2luaS48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iamEiPuOBk+OBruOCsOODq+ODvOODl+OBq+OBr+OCpOODoeODvOOCuOOBruWHpueQhuOBqOOCueOCreODo+ODs+OCkuaJi+S8neOBhuODkeODg+OCseODvOOCuOOBjOWQq+OBvuOCjOOBpuOBhOOBvuOBmeOAgjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJrbyI+7J20IOq3uOujueyXkCDtj6ztlajrkJwg7Yyo7YKk7KeA64qUIOydtOuvuOyngOulvCDsiqTsupQsIOyhsOyekSDsnpHsl4XsnYQg64+E7JmA65Oc66a964uI64ukLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJubyI+RGVubmUgZ3J1cHBlbiBpbm5laG9sZGVyIHBha2tlciBmb3IgbWFuaXB1bGVyaW5nIG9nIGlubnNjYW5uaW5nIGF2IGJpbGRlci48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0icHQiPkVzdGUgZ3J1cG8gaW5jbHVpIHBhY290ZXMgcXVlIG8gYWp1ZGFtIGEgbWFuaXB1bGFyIGUgZGlnaXRhbGl6YXIgaW1hZ2Vucy48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0icnUiPtCt0YLQsCDQs9GA0YPQv9C/0LAg0YHQvtC00LXRgNC20LjRgiDQv9GA0LjQu9C+0LbQtdC90LjRjyDQvdC10L7QsdGF0L7QtNC40LzRi9C1INC00LvRjyDRgNCw0LHQvtGC0Ysg0YEg0LPRgNCw0YTQuNC60L7QuSDQuCDRgdC60LDQvdC10YDQsNC80LguPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9InN2Ij5EZW5uYSBncnVwcCBpbmtsdWRlcmFyIHBha2V0IHNvbSBoasOkbHBlciBkaWcgbWFuaXB1bGVyYSBvY2ggbMOkc2EgaW4gYmlsZGVyLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJ6aF9DTiI+6L+Z57uE6L2v5Lu25YyF5YyF5ous55So5p2l5biu5Yqp5oKo5pON5L2c5ZKM5omr5o+P5Zu+5YOP55qE6L2v5Lu25YyF44CCPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9InpoX1RXIj7pgJnlgIvnvqTntYTljIXmi6zkuobluavliqnmgqjomZXnkIboiIfmjoPmj4/lvbHlg4/nmoTlpZfku7bjgII8L2Rlc2NyaXB0aW9uPgorICAgIDx1c2VydmlzaWJsZT50cnVlPC91c2VydmlzaWJsZT4KKyAgICA8ZGVmYXVsdD50cnVlPC9kZWZhdWx0PgorICAgIDxncm91cGxpc3Q+CisgICAgICA8Z3JvdXByZXE+YmFzZTwvZ3JvdXByZXE+CisgICAgICA8Z3JvdXByZXE+YmFzZS14PC9ncm91cHJlcT4KKyAgICA8L2dyb3VwbGlzdD4KKyAgICA8cGFja2FnZWxpc3Q+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5JbWFnZU1hZ2ljazwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPnNhbmUtZnJvbnRlbmRzPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+eHNhbmU8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij54c2FuZS1naW1wPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+ZGlhPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+Z2ltcDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPmdpbXAtZGF0YS1leHRyYXM8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5ndGthbTwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im9wdGlvbmFsIj5ndGthbS1naW1wPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ib3B0aW9uYWwiPmthbWVyYTwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im9wdGlvbmFsIj5rY29sb3JlZGl0PC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ib3B0aW9uYWwiPmtpY29uZWRpdDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im9wdGlvbmFsIj5rb29rYTwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im9wdGlvbmFsIj5rcGFpbnQ8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJvcHRpb25hbCI+a3VpY2tzaG93PC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+bmV0cGJtLXByb2dzPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ib3B0aW9uYWwiPnhmaWc8L3BhY2thZ2VyZXE+CisgICAgPC9wYWNrYWdlbGlzdD4KKyAgPC9ncm91cD4KKworCisgIDxncm91cD4KKyAgICA8aWQ+b2ZmaWNlPC9pZD4KKyAgICA8bmFtZT5PZmZpY2UvUHJvZHVjdGl2aXR5PC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJjcyI+S2FuY2Vsw6HFmS9wcm9kdWt0aXZpdGE8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImRhIj5Lb250b3Jwcm9ncmFtbWVsPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJkZSI+T2ZmaWNlL1Byb2R1a3Rpdml0w6R0PC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJlcyI+T2ZpY2luYS9Qcm9kdWN0aXZpZGFkPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJmciI+QnVyZWF1L1Byb2R1Y3Rpdml0w6k8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImlzIj5Ta3JpZnN0b2Z1Zm9ycml0PC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJpdCI+T2ZmaWNlL1Byb2R1dHRpdml0w6A8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImphIj5PZmZpY2Uv55Sf55Sj5oCnPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJrbyI+7IKs66y0L+yDneyCsOyEsTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ibm8iPktvbnRvci9Qcm9kdWt0aXZpdGV0PC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJwdCI+RXNjcml0w7NyaW8vUHJvZHV0aXZpZGFkZTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0icnUiPtCe0YTQuNGB0L3Ri9C1INC/0YDQuNC70L7QttC10L3QuNGPPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJzdiI+S29udG9yc3Byb2dyYW12YXJhPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJ6aF9DTiI+5Yqe5YWsL+eUn+S6p+eOhzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iemhfVFciPui+puWFrOi7n+mrlC/kvZzmpa3ou5/pq5Q8L25hbWU+CisgICAgPGRlc2NyaXB0aW9uPlRoZSBhcHBsaWNhdGlvbnMgaW5jbHVkZSBvZmZpY2Ugc3VpdGVzLCBQREYgdmlld2VycywgYW5kIG1vcmUuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImNzIj5BcGxpa2FjZSB6YWhybnVqw60ga2FuY2Vsw6HFmXNrw6kgYmFsw61reSwgcHJvaGzDrcW+ZcSNZSBQREYgYXRkLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJkYSI+UHJvZ3JhbW1lcm5lIGlua2x1ZGVyZXIgc3VpdGVyIG1lZCBrb250b3Jwcm9ncmFtbWVsLCBQREYtdmlzZXJlLCBtZWQgbWVyZS48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iZGUiPkRpZSBBbndlbmR1bmdlbiBlbnRoYWx0ZW4gT2ZmaWNlLVByb2dyYW1tZSwgUERGLUFuemVpZ2Vwcm9ncmFtbWUgdS52Lm0uPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImVzIj5MYXMgYXBsaWNhY2lvbmVzIGluY2x1eWVuIGxvcyBwYXF1ZXRlcyBkZSBvZmltw6F0aWNhLCBsb3MgdmlzdWFsaXphZG9yZXMgZGUgUERGIHkgbXVjaG8gbcOhcy48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iZnIiPkxlcyBhcHBsaWNhdGlvbnMgY29tcHJlbm5lbnQgZGVzIHN1aXRlcyBkZSBidXJlYXUsIGRlcyBhZmZpY2hldXJzIFBERiBldCBiaWVuIHBsdXMgZW5jb3JlLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJpcyI+Rm9ycml0aW4gaW5uaWhhbGRhIG1lw7BhbCBhbm5hcnMgc2tyaWZzdG9mdXTDs2wsIFBERiBzasOhciBvZyBmbGVpcmEuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9Iml0Ij5MZSBhcHBsaWNhemlvbmkgaW5jbHVkb25vIHBhY2NoZXR0aSBwZXIgbCZhcG9zO3VmZmljaW8sIHByb2dyYW1taSBwZXIgdmlzdWFsaXp6YXJlIGkgUERGIGUgYWx0cm8uPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImphIj7jgqLjg5fjg6rjgrHjg7zjgrfjg6fjg7Pjgavjga/jgIHjgqrjg5XjgqPjgrnjgrvjg4Pjg4jjgIFQREbjg5Pjg6Xjg7zjgqLlj4rjgbPjgZ3jga7ku5bjgYzlkKvjgb7jgozjgabjgYTjgb7jgZnjgII8L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0ia28iPuydtCDsnZHsmqkg7ZSE66Gc6re4656o7J2AIOyCrOustOyaqSDtlITroZzqt7jrnqgg66qo7J2MLCBQREYg67O06riwIO2UhOuhnOq3uOueqCDrk7HsnYQg7Y+s7ZWo7ZWp64uI64ukLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJubyI+QXBwbGlrYXNqb25lbmUgaW5uZXJob2xkZXIga29udG9yc3TDuHR0ZXByb2dyYW1tZXIsIFBEVi1sZXNlcmUgb2cgbWVyLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJwdCI+QXMgYXBsaWNhw6fDtWVzIGluY2x1ZW0gcGFjb3RlcyBkZSBlc2NyaXTDs3JpbywgdmlzdWFsaXphZG9yZXMgZGUgUERGIGUgb3V0cm9zLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJydSI+0K3RgtCwINCz0YDRg9C/0L/QsCDQstC60LvRjtGH0LDQtdGCINCyINGB0LXQsdGPINC+0YTQuNGB0L3Ri9C1INC/0YDQuNC70L7QttC10L3QuNGPOiDRgNC10LTQsNC60YLQvtGA0Ysg0YLQtdC60YHRgtCwLCDQv9GA0L7Qs9GA0LDQvNC80Ysg0LTQu9GPINC/0YDQvtGB0LzQvtGC0YDQsCBQREYg0YTQsNC50LvQvtCyLCDQuCDQv9GA0L7Rhy48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0ic3YiPlByb2dyYW1tZW4gaW5rbHVkZXJhciBzdml0ZXIgbWVkIGtvbnRvcnNwcm9ncmFtdmFyYSwgUERGLXZpc2FyZSwgbWVkIG1lcmEuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9InpoX0NOIj7ljIXmi6znmoTlupTnlKjnqIvluo/mnInlip7lhazlpZfku7bjgIFQREYg5p+l55yL5Zmo562J562J44CCPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9InpoX1RXIj7mh4nnlKjnqIvlvI/ljIXmi6zkuobovqblhazlrqTlpZfoo53ou5/pq5TjgIFQREYg5qqi6KaW5Zmo562J562J44CCPC9kZXNjcmlwdGlvbj4KKyAgICA8dXNlcnZpc2libGU+dHJ1ZTwvdXNlcnZpc2libGU+CisgICAgPGRlZmF1bHQ+dHJ1ZTwvZGVmYXVsdD4KKyAgICA8Z3JvdXBsaXN0PgorICAgICAgPGdyb3VwcmVxPmJhc2UteDwvZ3JvdXByZXE+CisgICAgPC9ncm91cGxpc3Q+CisgICAgPHBhY2thZ2VsaXN0PgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+b3Blbm9mZmljZTwvcGFja2FnZXJlcT4gCisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij54cGRmPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ib3B0aW9uYWwiPk1hZ2ljUG9pbnQ8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJvcHRpb25hbCI+YWJpd29yZDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im9wdGlvbmFsIj5nZ3Y8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJvcHRpb25hbCI+Z251bWVyaWM8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJvcHRpb25hbCI+Z251Y2FzaDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPm1ycHJvamVjdDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im9wdGlvbmFsIj5rZGVwaW0tcGlsb3Q8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJvcHRpb25hbCI+a29mZmljZTwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im9wdGlvbmFsIj5rZHZpPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ib3B0aW9uYWwiPmtnaG9zdHZpZXc8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJvcHRpb25hbCI+a2ZheDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im9wdGlvbmFsIj50ZXRleC14ZHZpPC9wYWNrYWdlcmVxPgorICAgIDwvcGFja2FnZWxpc3Q+CisgIDwvZ3JvdXA+CisgIAorICA8Z3JvdXA+CisgICAgPGlkPm1haWwtc2VydmVyPC9pZD4KKyAgICA8bmFtZT5NYWlsIFNlcnZlcjwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iY3MiPlBvxaF0b3Zuw60gc2VydmVyPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJkYSI+UG9zdHNlcnZlcjwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZGUiPk1haWwtU2VydmVyPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJlcyI+U2Vydmlkb3IgZGUgY29ycmVvIDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZnIiPlNlcnZldXIgZGUgY291cnJpZXI8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImlzIj5Qw7NzdMO+asOzbm48L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9Iml0Ij5TZXJ2ZXIgTWFpbDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iamEiPuODoeODvOODq+OCteODvOODkDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ia28iPuuplOydvCDshJzrsoQ8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9Im5vIj5FcG9zdHRqZW5lcjwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0icHQiPlNlcnZpZG9yIGRlIE1haWw8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InJ1Ij7QodC10YDQstC10YAg0Y3Qu9C10LrRgtGA0L7QvdC90L7QuSDQv9C+0YfRgtGLPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJzdiI+RS1wb3N0c2VydmVyPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJ6aF9DTiI+6YKu5Lu25pyN5Yqh5ZmoPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJ6aF9UVyI+6YO15Lu25Ly65pyN5ZmoPC9uYW1lPgorICAgIDxkZXNjcmlwdGlvbj5UaGVzZSBwYWNrYWdlcyBhbGxvdyB5b3UgdG8gY29uZmlndXJlIGFuIElNQVAgb3IgUG9zdGZpeCBtYWlsIHNlcnZlci48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iY3MiPlR5dG8gYmFsw63EjWt5IFbDoW0gdW1vxb5uw60gbmFrb25maWd1cm92YXQgc2VydmVyIElNQVAgbmVibyBwb8WhdG92bsOtIHNlcnZlciBQb3N0Zml4LjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJkYSI+RGlzc2UgcGFra2VyIGxhZGVyIGRpZyBrb25maWd1cmVyZSBlbiBJTUFQLSBlbGxlciBQb3N0Zml4LXBvc3RzZXJ2ZXIuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImRlIj5NaXQgZGllc2VuIFBha2V0ZW4ga8O2bm5lbiBTaWUgZWluZW4gSU1BUCBvZGVyIFBvc3RmaXggTWFpbC1TZXJ2ZXIga29uZmlndXJpZXJlbi48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iZXMiPkVzdG9zIHBhcXVldGVzIGxlIHBlcm1pdGVuIGNvbmZpZ3VyYXIgdW4gc2Vydmlkb3IgZGUgY29ycmVvIElNQVAgbyBQb3N0Zml4LjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJmciI+Q2VzIHBhcXVldGFnZXMgdm91cyBwZXJtZXR0ZW50IGRlIGNvbmZpZ3VyZXIgdW4gc2VydmV1ciBkZSBjb3VycmllciBJTUFQIG91IFBvc3RmaXguPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImlzIj7DnmVzc2lyIHBha2thciBnZXJhIMO+w6lyIGtsZXlmdCBhw7Agc2V0amEgdXBwIElNQVAgZcOwYSBQb3N0Zml4IHDDs3N0aMO6cy48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iaXQiPlF1ZXN0aSBwYWNjaGV0dGkgY29uc2VudG9ubyBkaSBjb25maWd1cmFyZSB1biBzZXJ2ZXIgZGkgcG9zdGEgSU1BUCBvIFBvc3RmaXguPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImphIj7jgZPjgozjgonjga7jg5Hjg4PjgrHjg7zjgrjjgafjgIFJTUFQIOOBiyBQb3N0Zml444Oh44O844Or44K144O844OQ44KS6Kit5a6a44Gn44GN44G+44GZ44CCPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImtvIj7snbQg7Yyo7YKk7KeA64qUIElNQVDqs7wgUG9zdGZpeCDrqZTsnbwg7ISc67KEIOyEpOygleydhCDrj4TsmYDspI3ri4jri6QuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9Im5vIj5EaXNzZSBwYWtrZW5lIGxhciBkZWcga29uZmlndXJlcmUgZW4gSU1BUCBlbGxlciBQb3N0Zml4IGVwb3N0dGplbmVyLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJwdCI+RXN0ZSBwYWNvdGVzIHBlcm1pdGVtLWxoZSBjb25maWd1cmFyIG9zIHNlcnZpZG9yZXMgZGUgbWFpbCBJTUFQIG91IFBvc3RmaXguPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9InJ1Ij7QrdGC0Lgg0L/QsNC60LXRgtGLINC/0L7Qt9Cy0L7Qu9GP0Y7RgiDQvdCw0YHRgtGA0L7QuNGC0Ywg0L/QvtGH0YLQvtCy0YvQuSDRgdC10YDQstC10YAgSU1BUCDQuNC70LggUG9zdGZpeC48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0ic3YiPkRlc3NhIHBha2V0IGzDpXRlciBkaWcga29uZmlndXJlcmEgZW4gSU1BUC0gZWxsZXIgUG9zdGZpeC1lcG9zdHNlcnZlci48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iemhfQ04iPui/meS6m+i9r+S7tuWMheWFgeiuuOaCqOmFjee9riBJTUFQIOaIliBQb3N0Zml4IOmCruS7tuacjeWKoeWZqOOAgjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJ6aF9UVyI+6YCZ5Lqb5aWX5Lu26K6T5oKo5Y+v5Lul6Kit5a6a5LiA5YCLIElNQVAg5oiWIFBvc3RmaXgg6YO15Lu25Ly65pyN5Zmo44CCPC9kZXNjcmlwdGlvbj4KKyAgICA8dXNlcnZpc2libGU+dHJ1ZTwvdXNlcnZpc2libGU+CisgICAgPGdyb3VwbGlzdD4KKyAgICAgIDxncm91cHJlcT5iYXNlPC9ncm91cHJlcT4KKyAgICA8L2dyb3VwbGlzdD4KKyAgICA8cGFja2FnZWxpc3Q+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPnNlbmRtYWlsPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+aW1hcDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im9wdGlvbmFsIj5zZW5kbWFpbC1jZjwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im9wdGlvbmFsIj5tYWlsbWFuPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ib3B0aW9uYWwiPnNwYW1hc3Nhc3NpbjwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im9wdGlvbmFsIj5zcXVpcnJlbG1haWw8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJvcHRpb25hbCI+cG9zdGZpeDwvcGFja2FnZXJlcT4KKyAgICA8L3BhY2thZ2VsaXN0PgorICA8L2dyb3VwPgorCisgIDxncm91cD4KKyAgICA8aWQ+bmV0d29yay1zZXJ2ZXI8L2lkPgorICAgIDxuYW1lPk5ldHdvcmsgU2VydmVyczwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iY3MiPlPDrcWlb3bDqSBzZXJ2ZXJ5PC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJkYSI+TmV0dsOmcmtzc2VydmVyZTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZGUiPk5ldHp3ZXJrLVNlcnZlcjwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZXMiPlNlcnZpZG9yZXMgZGUgcmVkPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJmciI+U2VydmV1ciBkZSByw6lzZWF1PC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJpcyI+TmV0w75qw7NudXN0dXI8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9Iml0Ij5TZXJ2ZXIgZGkgcmV0ZTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iamEiPuODjeODg+ODiOODr+ODvOOCr+OCteODvOODkDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ia28iPuuEpO2KuOybjO2BrCDshJzrsoQ8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9Im5vIj5OZXR0dmVya3N0amVuZXI8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InB0Ij5TZXJ2aWRvcmVzIGRlIFJlZGU8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InJ1Ij7QodC10YLQtdCy0YvQtSDRgdC10YDQstC10YDRizwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ic3YiPk7DpHR2ZXJrc3NlcnZyYXI8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InpoX0NOIj7nvZHnu5zmnI3liqHlmag8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InpoX1RXIj7ntrLot6/kvLrmnI3lmag8L25hbWU+CisgICAgPGRlc2NyaXB0aW9uPlRoZXNlIHBhY2thZ2VzIGluY2x1ZGUgbmV0d29yay1iYXNlZCBzZXJ2ZXJzIHN1Y2ggYXMgQ0lQRSwgREhDUCwgYW5kIHRlbG5ldC48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iY3MiPlR5dG8gYmFsw63EjWt5IHphaHJudWrDrSBzw63FpW92w6kgc2VydmVyeSBqYWtvIENJUEUsIERIQ1AgYSB0ZWxuZXQuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImRhIj5EaXNzZSBwYWtrZXIgaW5rbHVkZXJlciBuZXR2w6Zya3NiYXNlcmVkZSBzZXJ2ZXJlIHNvbSBmeCBDSVBFLCBESENQIG9nIHRlbG5ldC48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iZGUiPkRpZXNlIFBha2V0ZSBlbnRoYWx0ZW4gbmV0endlcmtiYXNpZXJ0ZSBTZXJ2ZXIgd2llIENJUEUsIERIQ1AgdW5kIHRlbG5ldC48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iZXMiPkVzdG9zIHBhcXVldGVzIGluY2x1eWVuIHNlcnZpZG9yZXMgYmFzYWRvcyBlbiBsYSByZWQgdGFsZXMgY29tbyBDSVBFLCBESENQLCB5IHRlbG5ldC48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iZnIiPkNlcyBwYXF1ZXRhZ2VzIGNvbXByZW5uZW50IGRlcyBzZXJ2ZXVycyBiYXPDqXMgc3VyIHLDqXNlYXUgY29tbWUgQ0lQRSwgREhDUCBldCB0ZWxuZXQuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImlzIj7DnmVzc2lyIHBha2thciBpbm5paGFsZGEgbmV0w75qw7NudXN0dXIgZWlucyBvZyBDSVBFLCBESENQIG9nIHRlbG5ldC48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iaXQiPlF1ZXN0aSBwYWNjaGV0dGkgaW5jbHVkb25vIHNlcnZlciBuZXR3b3JrLWJhc2VkIHF1YWxpIENJUEUsIERIQ1AgZSB0ZWxuZXQuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImphIj7jgZPjgozjgonjga7jg5Hjg4PjgrHjg7zjgrjjgavjga/jgIFDSVBFLCBESENQLCDjgoQgdGVsbmV044Gq44Gp44Gu44ON44OD44OI44Ov44O844Kv44OZ44O844K544Gu44K144O844OQ44GMIOWQq+OBvuOCjOOBpuOBhOOBvuOBmeOAgjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJrbyI+7J20IO2MqO2CpOyngOyXkOuKlCBDSVBFLCBESENQLCB0ZWxuZXTqs7wg6rCZ7J2AIOuEpO2KuOybjO2BrC3quLDrsJgg7ISc67KE6rCAIO2PrO2VqOuQmOyWtCDsnojsirXri4jri6QuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9Im5vIj5EaXNzZSBwYWtrZW5lIGlua2x1ZGVyZXIgbmV0dHZlcmtzLWJhc2VydGUgdGplbmVzdGVyIHNvbSBDSVBFLCBESENQIG9nIHRlbG5ldC48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0icHQiPkVzdGVzIHBhY290ZXMgaW5jbHVlbSBzZXJ2ZG9yZXMgZGUgcmVkZSBjb21vIG8gQ0lQRSwgREhDUCBlIHRlbG5ldC48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0icnUiPtCt0YLQuCDQv9Cw0LrQtdGC0Ysg0LLQutC70Y7Rh9Cw0Y7RgiDQsiDRgdC10LHRjyDRgtCw0LrQuNC1INGB0LXRgtC10LLRi9C1INGB0LXRgNCy0LjRgdGLLCDQutCw0LogQ0lQRSwgREhDUCDQuCB0ZWxldDwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJzdiI+RGVzc2EgcGFrZXQgaW5rbHVkZXJhciBuw6R0dmVya3NiYXNlcmFkZSBzZXJ2cmFyIHNvbSBleGVtcGVsdmlzIENJUEUsIERIQ1Agb2NoIHRlbG5ldC48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iemhfQ04iPui/meS6m+i9r+S7tuWMheWMheaLrOWfuuS6jue9kee7nOeahOacjeWKoeWZqO+8jOS+i+WmgiBDSVBF44CBREhDUOOAgeWSjCB0ZWxuZXTjgII8L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iemhfVFciPumAmeS6m+Wll+S7tuWMheaLrOe2sui3r+eCuuS4u+eahOS8uuacjeWZqO+8jOS+i+WmgiBDSVBFLCBESENQIOiIhyB0ZWxuZXTjgII8L2Rlc2NyaXB0aW9uPgorICAgIDx1c2VydmlzaWJsZT50cnVlPC91c2VydmlzaWJsZT4KKyAgICA8Z3JvdXBsaXN0PgorICAgICAgPGdyb3VwcmVxPmJhc2U8L2dyb3VwcmVxPgorICAgIDwvZ3JvdXBsaXN0PgorICAgIDxwYWNrYWdlbGlzdD4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im9wdGlvbmFsIj5hbWFuZGEtc2VydmVyPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ib3B0aW9uYWwiPmFtLXV0aWxzPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+Y2lwZTwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im9wdGlvbmFsIj5kaGNwPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+ZmluZ2VyLXNlcnZlcjwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im9wdGlvbmFsIj5rcmI1LXNlcnZlcjwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPnB4ZTwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im9wdGlvbmFsIj5yYWR2ZDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPnJzaC1zZXJ2ZXI8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij50YWxrLXNlcnZlcjwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPnRlbG5ldC1zZXJ2ZXI8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij55cHNlcnY8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJvcHRpb25hbCI+emVicmE8L3BhY2thZ2VyZXE+CisgICAgPC9wYWNrYWdlbGlzdD4KKyAgPC9ncm91cD4KKworICA8Z3JvdXA+CisgICAgPGlkPm5ld3Mtc2VydmVyPC9pZD4KKyAgICA8bmFtZT5OZXdzIFNlcnZlcjwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iY3MiPk5ld3Mgc2VydmVyPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJkYSI+TnloZWRzZ3J1cHBlc3NlcnZlcjwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZGUiPk5ld3MtU2VydmVyPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJlcyI+U2Vydmlkb3IgZGUgbm90aWNpYXM8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImZyIj5TZXJ2ZXVyIGRlIG5ld3M8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImlzIj5GcsOpdHRhw75qw7NubjwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iaXQiPlNlcnZlciBuZXdzPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJqYSI+44OL44Ol44O844K544K144O844OQPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJrbyI+64m07IqkIOyEnOuyhDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ibm8iPk5ld3MtdGplbmVyZTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0icHQiPlNlcnZpZG9yIGRlIE5ld3M8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InJ1Ij7QodC10YDQstC10YAg0L3QvtCy0L7RgdGC0LXQuTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ic3YiPkRpc2t1c3Npb25zZ3J1cHBzc2VydmVyPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJ6aF9DTiI+5paw6Ze75pyN5Yqh5ZmoPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJ6aF9UVyI+5paw6IGe5Ly65pyN5ZmoPC9uYW1lPgorICAgIDxkZXNjcmlwdGlvbj5UaGlzIGdyb3VwIGFsbG93cyB5b3UgdG8gY29uZmlndXJlIHRoZSBzeXN0ZW0gYXMgYSBuZXdzIHNlcnZlci48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iY3MiPlRhdG8gc2t1cGluYSBWw6FtIHVtb8W+bsOtIG5ha29uZmlndXJvdmF0IHBvxI3DrXRhxI0gamFrbyBuZXdzIHNlcnZlci48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iZGEiPkRlbm5lIGdydXBwZSBsYWRlciBkaWcga29uZmlndXJlcmUgc3lzdGVtZXQgc29tIGVuIG55aGVkc2dydXBwZXNzZXJ2ZXIuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImRlIj5NaXQgZGllc2VyIEdydXBwZSBrw7ZubmVuIFNpZSBkYXMgU3lzdGVtIGFscyBOZXdzLVNlcnZlciBrb25maWd1cmllcmVuLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJlcyI+RXN0ZSBncnVwbyBsZSBwZXJtaXRlIGNvbmZpZ3VyYXIgZWwgc2lzdGVtYSBjb21vIHVuIHNlcnZpZG9yIG51ZXZvLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJmciI+Q2UgZ3JvdXBlIHZvdXMgcGVybWV0IGRlIGNvbmZpZ3VyZXIgbGUgc3lzdMOobWUgY29tbWUgbm91dmVhdSBzZXJ2ZXVyLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJpcyI+w55lc3NpIHTDs2wgZ2VyYSDDvsOpciBrbGV5ZnQgYcOwIHN0aWxsYSB2w6lsaW5hIHNlbSBuZXdzIMO+asOzbi48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iaXQiPlF1ZXN0byBncnVwcG8gY29uc2VudGUgZGkgY29uZmlndXJhcmUgaWwgc2lzdGVtYSBjb21lIHNlcnZlciBuZXdzLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJqYSI+44GT44Gu44Kw44Or44O844OX44Gn44CB44OL44Ol44O844K544K144O844OQ44Go44GX44Gm44K344K544OG44Og44KS6Kit5a6a44Gn44GN44G+44GZ44CCPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImtvIj7snbQg6re466O57J2EIOyCrOyaqe2VmOyXrCDsi5zsiqTthZzsnYQg64m07IqkIOyEnOuyhOuhnCDshKTsoJXtlZjsi6Qg7IiYIOyeiOyKteuLiOuLpC48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0ibm8iPkRpc3NlIHZlcmt0w7h5ZW5lIGxhciBkZWcga2rDuHJlIGVuIG5ld3MtdGplbmVyIHDDpSBzeXN0ZW1ldC48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0icHQiPkVzdGUgZ3J1cG8gcGVybWl0ZS1saGUgY29uZmlndXJhciBvIHNpc3RlbWEgY29tbyB1bSBzZXJ2aWRvciBkZSBub3TDrWNpYXMuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9InJ1Ij7QrdGC0LAg0LPRgNGD0L/Qv9CwINC/0L7Qt9Cy0L7Qu9GP0LXRgiDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0YHQuNGB0YLQtdC80YMg0LrQsNC6INGB0LXRgNCy0LXRgCDQvdC+0LLQvtGB0YLQtdC5LjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJzdiI+RGVubmEgZ3J1cHAgbMOldGVyIGRpZyBrb25maWd1cmVyYSBzeXN0ZW1ldCBzb20gZW4gZGlza3Vzc2lvbnNncnVwcHNzZXJ2ZXIuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9InpoX0NOIj7ov5nnu4Tova/ku7bljIXlhYHorrjmgqjmiorns7vnu5/phY3nva7miJDmlrDpl7vmnI3liqHlmajjgII8L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iemhfVFciPumAmeWAi+e+pOe1hOiuk+aCqOWPr+S7peioreWumuezu+e1seeCuuS4gOmDqOaWsOiBnuS8uuacjeWZqOOAgjwvZGVzY3JpcHRpb24+CisgICAgPHVzZXJ2aXNpYmxlPnRydWU8L3VzZXJ2aXNpYmxlPgorICAgIDxncm91cGxpc3Q+CisgICAgICA8Z3JvdXByZXE+YmFzZTwvZ3JvdXByZXE+CisgICAgPC9ncm91cGxpc3Q+CisgICAgPHBhY2thZ2VsaXN0PgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5pbm48L3BhY2thZ2VyZXE+CisgICAgPC9wYWNrYWdlbGlzdD4KKyAgPC9ncm91cD4KKworICA8Z3JvdXA+CisgICAgPGlkPnNtYi1zZXJ2ZXI8L2lkPgorICAgIDxuYW1lPldpbmRvd3MgRmlsZSBTZXJ2ZXI8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImNzIj5Tb3Vib3JvdsO9IHNlcnZlciBwcm8gV2luZG93czwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZGEiPldpbmRvd3MtZmlsc2VydmVyPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJkZSI+V2luZG93cyBEYXRlaS1TZXJ2ZXI8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImVzIj5TZXJ2aWRvciBkZSBmaWNoZXJvcyBXaW5kb3dzPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJmciI+U2VydmV1ciBkZSBmaWNoaWVyIFdpbmRvd3M8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImlzIj5Ta3LDoWHDvmrDs25uIGZ5cmlyIFdpbmRvd3M8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9Iml0Ij5GaWxlIHNlcnZlciBXaW5kb3dzPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJqYSI+V2luZG93c+ODleOCoeOCpOODq+OCteODvOODkDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ia28iPldpbmRvd3Mg7YyM7J28IOyEnOuyhDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ibm8iPkZpbHRqZW5lciBmb3IgV2luZG93czwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0icHQiPlNlcnZpZG9yIGRlIEZpY2hlaXJvcyBXaW5kb3dzPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJydSI+0KTQsNC50LvQvtCy0YvQuSDRgdC10YDQstC10YAg0LTQu9GPIFdpbmRvd3M8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InN2Ij5XaW5kb3dzLWZpbHNlcnZlcjwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iemhfQ04iPldpbmRvd3Mg5paH5Lu25pyN5Yqh5ZmoPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJ6aF9UVyI+V2luZG93cyDmqpTmoYjkvLrmnI3lmag8L25hbWU+CisgICAgPGRlc2NyaXB0aW9uPlRoaXMgcGFja2FnZSBncm91cCBhbGxvd3MgeW91IHRvIHNoYXJlIGZpbGVzIGJldHdlZW4gTGludXggYW5kIE1TIFdpbmRvd3ModG0pIHN5c3RlbXMuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImNzIj5UYXRvIHNrdXBpbmEgYmFsw63EjWvFryBWw6FtIHVtb8W+bsOtIHNkw61sZXQgc291Ym9yeSBtZXppIHN5c3TDqW15IExpbnV4IGEgTVMgV2luZG93cyAodG0pLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJkYSI+RGVubmUgcGFra2VncnVwcGUgbGFkZXIgZGlnIGRlbGUgZmlsZXIgbWVsbGVtIExpbnV4IG9nIHN5c3RlbSBtZWQgTVMgV2luZG93cyh0bSkuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImRlIj5NaXQgZGllc2VyIFBha2V0Z3J1cHBlIGvDtm5uZW4gU2llIERhdGVpZW4gaW4gTGludXggdW5kIE1TIFdpbmRvd3MgKHRtKSBnZW1laW5zYW0gbnV0emVuLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJlcyI+RXN0ZSBncnVwbyBkZSBwYXF1ZXRlcyBsZSBwZXJtaXRlIGNvbXBhcnRpciBmaWNoZXJvcyBlbnRyZSBsb3Mgc2lzdGVtYXMgTGludXggeSBNUyBXaW5kb3dzICh0bSkuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImZyIj5DZSBncm91cGUgZGUgcGFxdWV0YWdlcyB2b3VzIHBlcm1ldCBkZSBwYXJ0YWdlciBkZXMgZmljaGllcnMgZW50cmUgbGVzIHN5c3TDqG1lcyBMaW51eCBldCBXaW5kb3dzIChtKS48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iaXMiPsOeZXNzaSBwYWtrYWjDs3B1ciBnZXJpciDDvsOpciBrbGV5ZnQgYcOwIHNraXB0YXN0IMOhIHNrcsOhbSBtaWxsaSBMaW51eCBvZyBNUyBXaW5kb3dzIHbDqWxhLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJpdCI+UXVlc3RvIGdydXBwbyBkaSBwYWNjaGV0dGkgY29uc2VudGUgZGkgY29uZGl2aWRlcmUgaSBmaWxlIHRyYSBzaXN0ZW1pIExpbnV4IGUgTVMgV2luZG93cyh0bSkuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImphIj7jgZPjga7jg5Hjg4PjgrHjg7zjgrjjgrDjg6vjg7zjg5fjgafjgIFMaW51eCDjgaggTVMgV2luZG93cyh0bSkg44K344K544OG44Og44Gu6ZaT44Gn44OV44Kh44Kk44Or44KS5YWx5pyJIOOBmeOCi+OBk+OBqOOBjOOBp+OBjeOBvuOBmeOAgjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJrbyI+7J20IO2MqO2CpOyngCDqt7jro7nsnYQg7IKs7Jqp7ZWY7JesIExpbnV47JmAIE1TIFdpbmRvd3MgKHRtKSDsi5zsiqTthZwg7IKs7J207JeQ7IScIO2MjOydvOydhCDqs7XsnKDtlaAg7IiYIOyeiOyKteuLiOuLpC48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0ibm8iPkRlbm5lIHBha2tlZ3J1cHBlbiBsYXIgZGVnIGRlbGUgZmlsZXIgbWVsbG9tIExpbnV4IG9nIE1TIFdpbmRvd3ModG0pLXN5c3RlbWVyLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJwdCI+RXN0ZSBncnVwbyBkZSBwYWNvdGVzIHBlcm1pdGUtbGhlIHBhcnRpbGhhciBvcyBmaWNoZWlyb3MgZW50cmUgb3Mgc2lzdGVtYXMgTGludXggZSBNUyBXaW5kb3dzICh0bSkuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9InJ1Ij7QrdGC0LAg0LPRgNGD0L/Qv9CwINC/0LDQutC10YLQvtCyINC00LXQu9Cw0LXRgiDQstC+0LfQvNC+0LbQvdGL0Lwg0LTQvtGB0YLRg9C/INC6INGE0LDQudC70LDQvCDQvNC10LbQtNGDINGB0LjRgdGC0LXQvNCw0LzQuCBMaW51eCDQuCBNUyBXaW5kb3dzKHRtKS48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0ic3YiPkRlbm5hIHBha2V0Z3J1cHAgbMOldGVyIGRpZyBkZWxhIHV0IGZpbGVyIG1lbGxhbiBMaW51eCBvY2ggc3lzdGVtIG1lZCBNUyBXaW5kb3dzKHRtKS48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iemhfQ04iPuivpei9r+S7tuWMhee7hOWFgeiuuOaCqOWcqCBMaW51eCDlkowgTVMgV2luZG93cyh0bSkg57O757uf6Ze05YWx5Lqr5paH5Lu244CCPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9InpoX1RXIj7pgJnlgIvlpZfku7bnvqTntYTkvb/mgqjlj6/ku6XlnKggTGludXgg6IiHIE1TIFdpbmRvd3MgKHRtKSDns7vntbHplpPlhbHkuqvmqpTmoYjjgII8L2Rlc2NyaXB0aW9uPgorICAgIDx1c2VydmlzaWJsZT50cnVlPC91c2VydmlzaWJsZT4KKyAgICA8Z3JvdXBsaXN0PgorICAgICAgPGdyb3VwcmVxPmJhc2U8L2dyb3VwcmVxPgorICAgIDwvZ3JvdXBsaXN0PgorICAgIDxwYWNrYWdlbGlzdD4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+c2FtYmEtY2xpZW50PC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5zYW1iYTwvcGFja2FnZXJlcT4KKyAgICA8L3BhY2thZ2VsaXN0PgorICA8L2dyb3VwPgorCisgIDxncm91cD4KKyAgICA8aWQ+c2VydmVyLWNmZzwvaWQ+CisgICAgPG5hbWU+U2VydmVyIENvbmZpZ3VyYXRpb24gVG9vbHM8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImNzIj5Ow6FzdHJvamUgcHJvIGtvbmZpZ3VyYWNpIHNlcnZlcnU8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImRhIj5TZXJ2ZXJrb25maWd1cmF0aW9uc3bDpnJrdMO4amVyPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJkZSI+U2VydmVyIEtvbmZpZ3VyYXRpb25zdG9vbHM8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImVzIj5IZXJyYW1pZW50YXMgZGUgY29uZmlndXJhY2nDs24gZGVsIHNlcnZpZG9yPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJmciI+T3V0aWxzIGRlIGNvbmZpZ3VyYXRpb24gZGUgc2VydmV1cjwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iaXMiPlN0aWxsaW5nYXTDs2wgZnlyaXIgw75qw7NuYTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iaXQiPlRvb2wgZGkgY29uZmlndXJhemlvbmUgZGVsIHNlcnZlcjwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iamEiPuOCteODvOODkOioreWumuODhOODvOODqzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ia28iPuyEnOuyhCDshKTsoJUg64+E6rWsPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJubyI+S29uZmlndXJhc2pvbnN2ZXJrdMO4eSBmb3IgdGplbmVyZTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0icHQiPkZlcnJhbWVudGFzIGRlIENvbmZpZ3VyYcOnw6NvIGRlIFNlcnZpZG9yZXM8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InJ1Ij7QodGA0LXQtNGB0YLQstCwINC90LDRgdGC0YDQvtC50LrQuCDRgdC10YDQstC10YDQsDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ic3YiPlNlcnZlcmtvbmZpZ3VyYXRpb25zdmVya3R5ZzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iemhfQ04iPuacjeWKoeWZqOmFjee9ruW3peWFtzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iemhfVFciPuS8uuacjeWZqOioreWumuW3peWFtzwvbmFtZT4KKyAgICA8ZGVzY3JpcHRpb24+VGhpcyBncm91cCBjb250YWlucyBhbGwgb2YgUmVkIEhhdCdzIGN1c3RvbSBzZXJ2ZXIgY29uZmlndXJhdGlvbiB0b29scy48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iY3MiPlRhdG8gc2t1cGluYSBvYnNhaHVqZSB2xaFlY2hueSBuw6FzdHJvamUgcHJvIGtvbmZpZ3VyYWNpIHNlcnZlcnUgb2Qgc3BvbGXEjW5vc3RpIFJlZCBIYXQuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImRhIj5EZW5uZSBncnVwcGUgaW5kaG9sZGVyIGFsbGUgUmVkIEhhdHMgc3BlY2lhbHRpbHBhc3NlZGUgc2VydmVya29uZmlndXJlcmluZ3N2w6Zya3TDuGplci48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iZGUiPkRpZXNlIEdydXBwZSBlbnRow6RsdCBhbGxlIFRvb2xzIGbDvHIgZGllIGJlbnV0emVyZGVmaW5pZXJ0ZSBLb25maWd1cmF0aW9uIGRlcyBTZXJ2ZXJzIHZvbiBSZWQgSGF0LjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJlcyI+RXN0ZSBncnVwbyBjb250aWVuZSB0b2RhcyBsYXMgaGVycmFtaWVudGFzIGRlIGNvbmZpZ3VyYWNpw7NuIGRlbCBzZXJ2aWRvciBkZSBwZXJzb25hbGl6YWNpw7NuIGRlIFJlZCBIYXQuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImZyIj5DZSBncm91cGUgY29udGllbnQgdG91cyBsZXMgb3V0aWxzIGRlIGNvbmZpZ3VyYXRpb24gZHUgc2VydmV1ciBwZXJzb25uYWxpc8OpIFJlZCBIYXQuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImlzIj7DnmVzc2kgaMOzcHVyIGlubmloZWxkdXIgw7ZsbCBSZWQgSGF0IHN0aWxsaW5nYXTDs2xpbi48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iaXQiPlF1ZXN0byBncnVwcG8gY29udGllbmUgdHV0dGkgZ2xpIHN0cnVtZW50aSBwZXIgcGVyc29uYWxpenphcmUgbGEgY29uZmlndXJhemlvbmUgZGVsIHNlcnZlciBSZWQgSGF0LjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJqYSI+44GT44Gu44Kw44Or44O844OX44Gr44Gv44CB5YWo44Gm44GuUmVkIEhhdOOCq+OCueOCv+ODoOOCteODvOODkOioreWumuODhOODvOODq+OBjOWQq+OBvuOCjOOBpuOBhOOBvuOBmeOAgjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJrbyI+7J20IOq3uOujueyXkOuKlCBSZWQgSGF07J2YIOyCrOyaqeyekCDshKTsoJUg7ISc67KEIOyEpOyglSDrj4TqtazqsIAg66qo65GQIO2PrO2VqOuQmOyWtCDsnojsirXri4jri6QuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9Im5vIj5EZW5uZSBncnVwcGVuIGlubmVob2xkZXIgUmVkIEhhdHMga29uZmlndXJhc2pvbnN2ZXJrdMO4eS48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0icHQiPkVzdGUgZ3J1cG8gY29udMOpbSB0b2RhcyBhcyBmZXJyYW1lbnRhcyBkZSBjb25maWd1cmHDp8OjbyBkZSBzZXJ2aWRvcmVzIGRhIFJlZCBIYXQuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9InJ1Ij7QrdGC0LAg0LPRgNGD0L/Qv9CwINCy0LrQu9GO0YfQsNC10YIg0LIg0YHQtdCx0Y8g0LLRgdC1INGB0YDQtdC00YHRgtCy0LAg0LDQtNC80LjQvdC40YHRgtGA0LjRgNC+0LLQsNC90LjRjyDRgdC10YDQstC10YDQsCwg0L3QsNC/0LjRgdCw0L3QvdGL0LUg0LIgUmVkIEhhdC48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0ic3YiPkRlbm5hIGdydXBwIGlubmVow6VsbGVyIGFsbGEgUmVkIEhhdHMgc3BlY2lhbGFucGFzc2FkZSBzZXJ2ZXJrb25maWd1cmF0aW9uc3Zlcmt0eWcuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9InpoX0NOIj7ov5nnu4Tova/ku7bljIXljIXlkKvmiYDmnIkgUmVkIEhhdCDnmoTlrprliLbmnI3liqHlmajphY3nva7lt6XlhbfjgII8L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iemhfVFciPumAmeWAi+e+pOe1hOWMheaLrOaJgOaciSBSZWQgSGF0IOiHquiogueahOS8uuacjeWZqOioreWumuW3peWFt+OAgjwvZGVzY3JpcHRpb24+CisgICAgPHVzZXJ2aXNpYmxlPnRydWU8L3VzZXJ2aXNpYmxlPgorICAgIDxncm91cGxpc3Q+CisgICAgICA8Z3JvdXByZXE+YmFzZTwvZ3JvdXByZXE+CisgICAgPC9ncm91cGxpc3Q+CisgICAgPHBhY2thZ2VsaXN0PgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+cmVkaGF0LWNvbmZpZy1iaW5kPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+cmVkaGF0LWNvbmZpZy1odHRwZDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPnJlZGhhdC1jb25maWctbmZzPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+cmVkaGF0LWNvbmZpZy1uZXR3b3JrPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+cmVkaGF0LWNvbmZpZy1wcmludGVyPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+cmVkaGF0LWNvbmZpZy1wcmludGVyLWd1aTwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPnJlZGhhdC1jb25maWctc2VjdXJpdHlsZXZlbDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPnJlZGhhdC1jb25maWctc2VydmljZXM8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5yZWRoYXQtc3dpdGNoLXByaW50ZXI8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5yZWRoYXQtc3dpdGNoLXByaW50ZXItZ25vbWU8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5yZWRoYXQtc3dpdGNobWFpbDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPnJlZGhhdC1zd2l0Y2htYWlsLWdub21lPC9wYWNrYWdlcmVxPgorICAgIDwvcGFja2FnZWxpc3Q+CisgIDwvZ3JvdXA+CisKKyAgPGdyb3VwPgorICAgIDxpZD5mdHAtc2VydmVyPC9pZD4KKyAgICA8bmFtZT5GVFAgU2VydmVyPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJjcyI+RlRQIHNlcnZlcjwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZGEiPkZUUC1zZXJ2ZXI8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImRlIj5GVFAtU2VydmVyPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJlcyI+U2Vydmlkb3IgRlRQPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJmciI+U2VydmV1ciBGVFA8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImlzIj5GVFAgw75qw7NubjwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iaXQiPlNlcnZlciBGVFA8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImphIj5GVFAg44K144O844OQPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJrbyI+RlRQIOyEnOuyhDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ibm8iPkZUUC10amVuZXI8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InB0Ij5TZXJ2aWRvciBGVFA8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InJ1Ij7QodC10YDQstC10YAgRlRQPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJzdiI+RlRQLXNlcnZlcjwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iemhfQ04iPkZUUCDmnI3liqHlmag8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InpoX1RXIj5GVFAg5Ly65pyN5ZmoPC9uYW1lPgorICAgIDxkZXNjcmlwdGlvbj5UaGVzZSB0b29scyBhbGxvdyB5b3UgdG8gcnVuIGFuIEZUUCBzZXJ2ZXIgb24gdGhlIHN5c3RlbS48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iY3MiPlR5dG8gbsOhc3Ryb2plIFbDoW0gdW1vxb5uw60gbmEgcG/EjcOtdGHEjWkgcHJvdm96b3ZhdCBGVFAgc2VydmVyLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJkYSI+RGlzc2UgdsOmcmt0w7hqZXIgbGFkZXIgZGlnIGvDuHJlIGVuIEZUUC1zZXJ2ZXIgcMOlIHN5c3RlbWV0LjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJkZSI+TWl0IGRpZXNlbiBUb29scyBrw7ZubmVuIFNpZSBlaW5lbiBGVFAtU2VydmVyIGltIFN5c3RlbSBhdXNmw7xocmVuLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJlcyI+RXN0YXMgaGVycmFtaWVudGFzIGxlIHBlcm1pdGVuIGVqZWN1dGFyIHVuIHNlcnZpZG9yIEZUUCBlbiBlbCBzaXN0ZW1hLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJmciI+Q2VzIG91dGlscyB2b3VzIHBlcm1ldHRlbnQgZCZhcG9zO2V4w6ljdXRlciB1biBzZXJ2ZXVyIEZUUCBzdXIgbGUgc3lzdMOobWUuIDwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJpcyI+w55lc3NpIHTDs2wgZ2VyYSDDvsOpciBrbGV5ZnQgYcOwIGtleXJhIEZUUCDDvmrDs24gw6EgdsOpbGlubmkuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9Iml0Ij5RdWVzdGkgc3RydW1lbnRpIGNvbnNlbnRvbm8gZGkgZXNlZ3VpcmUgdW4gc2VydmVyIEZUUCBzdWwgc2lzdGVtYS48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iamEiPuOBk+OCjOOCieOBruODhOODvOODq+OBp+OCt+OCueODhuODoOS4iuOBrkZUUOOCteODvOODkOOCkuWun+ihjOOBmeOCi+OBk+OBqOOBjOOBp+OBjeOBvuOBmeOAgjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJrbyI+7J20IOuPhOq1rOulvCDsgqzsmqntlZjsl6wg7Iuc7Iqk7YWcIOyDgeyXkOyEnCBGVFAg7ISc67KE66W8IOyatOyYge2VmOyLpCDsiJgg7J6I7Iq164uI64ukLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJubyI+RGlzc2UgdmVya3TDuHllbmUgbGFyIGRlZyBrasO4cmUgZW4gZnRwLXRqZW5lciBww6Ugc3lzdGVtZXQuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9InB0Ij5Fc3RhcyBmZXJyYW1lbnRhcyBwZXJtaXRlbS1saGUgY29ycmVyIHVtIHNlcnZpZG9yIEZUUCBubyBzZXUgY29tcHV0YWRvci48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0icnUiPtCt0YLQuCDRgdGA0LXQtNGB0YLQstCwINC/0L7Qt9Cy0L7Qu9GP0Y7RgiDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0YHQuNGB0YLQtdC80YMg0LrQsNC6INGB0LXRgNCy0LXRgCBGVFAuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9InN2Ij5EZXNzYSB2ZXJrdHlnIGzDpXRlciBkaWcga8O2cmEgZW4gRlRQLXNlcnZlciBww6Ugc3lzdGVtZXQuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9InpoX0NOIj7ov5nkupvlt6XlhbflhYHorrjmgqjlnKjns7vnu5/kuIrov5DooYwgRlRQIOacjeWKoeWZqOOAgjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJ6aF9UVyI+6YCZ5Lqb5bel5YW36K6T5oKo5Y+v5Lul5Zyo57O757Wx5LiK5Z+36KGM5LiA5YCLIEZUUCDkvLrmnI3lmajjgII8L2Rlc2NyaXB0aW9uPgorICAgIDx1c2VydmlzaWJsZT50cnVlPC91c2VydmlzaWJsZT4KKyAgICA8Z3JvdXBsaXN0PgorICAgICAgPGdyb3VwcmVxPmJhc2U8L2dyb3VwcmVxPgorICAgIDwvZ3JvdXBsaXN0PgorICAgIDxwYWNrYWdlbGlzdD4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+YW5vbmZ0cDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+dnNmdHBkPC9wYWNrYWdlcmVxPgorICAgIDwvcGFja2FnZWxpc3Q+CisgIDwvZ3JvdXA+CisKKyAgPGdyb3VwPgorICAgIDxpZD5zcWwtc2VydmVyPC9pZD4KKyAgICA8bmFtZT5TUUwgRGF0YWJhc2UgU2VydmVyPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJjcyI+RGF0YWLDoXpvdsO9IHNlcnZlciBTUUw8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImRhIj5TUUwtZGF0YWJhc2VzZXJ2ZXI8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImRlIj5TUUwgRGF0ZW5iYW5rLVNlcnZlcjwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZXMiPlNlcnZpZG9yIGRlIGxhIGJhc2UgZGUgZGF0b3MgU1FMPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJmciI+U2VydmV1ciBkZSBiYXNlIGRlIGRvbm7DqWVzIFNRTDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iaXMiPlNRTCBnYWduYWdydW5udXI8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9Iml0Ij5TZXJ2ZXIgcGVyIGRhdGFiYXNlIFNRTDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iamEiPlNRTOODh+ODvOOCv+ODmeODvOOCueOCteODvOODkDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ia28iPlNRTCDrjbDsnbTthLDrsqDsnbTsiqQg7ISc67KEPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJubyI+RGF0YWJhc2UtdGplbmVyPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJwdCI+U2Vydmlkb3IgZGUgQmFzZSBkZSBEYWRvcyBTUUw8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InJ1Ij7QodC10YDQstC10YAg0LHQsNC30Ysg0LTQsNC90L3Ri9GFIFNRTDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ic3YiPlNRTC1kYXRhYmFzc2VydmVyPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJ6aF9DTiI+U1FMIOaVsOaNruW6k+acjeWKoeWZqDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iemhfVFciPlNRTCDos4fmlpnluqvkvLrmnI3lmag8L25hbWU+CisgICAgPGRlc2NyaXB0aW9uPlRoaXMgcGFja2FnZSBncm91cCBhbGxvd3MgeW91IHRvIHJ1biBhbiBTUUwgc2VydmVyIG9uIHRoZSBzeXN0ZW0uPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImNzIj5UYXRvIHNrdXBpbmEgYmFsw63EjWvFryBWw6FtIHVtb8W+bsOtIG5hIHBvxI3DrXRhxI1pIHByb3Zvem92YXQgU1FMIHNlcnZlci48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iZGEiPkRlbm5lIHBha2tlZ3J1cHBlIGxhZGVyIGRpZyBrw7hyZSBlbiBTUUwtc2VydmVyIHDDpSBzeXN0ZW1ldC48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iZGUiPk1pdCBkaWVzZXIgUGFrZXRncnVwcGUga8O2bm5lbiBTaWUgZWluZW4gU1FMLVNlcnZlciBpbSBTeXN0ZW0gYXVzZsO8aHJlbi48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iZXMiPkVzdGUgZ3J1cG8gZGUgcGFxdWV0ZXMgbGUgcGVybWl0ZSBlamVjdXRhciB1biBzZXJ2aWRvciBTUUwgZW4gZWwgc2lzdGVtYS4gPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImZyIj5DZSBncm91cGUgZGUgcGFxdWV0YWdlcyB2b3VzIHBlcm1ldCBkJmFwb3M7ZXjDqWN1dGVyIHVuIHNlcnZldXIgU1FMIHN1ciBsZSBzeXN0w6htZS48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iaXMiPsOeZXNzaSBwYWtrYWjDs3B1ciBnZXJpciDDvsOpciBrbGV5ZnQgYcOwIGtleXJhIFNRTCDDvmrDs251c3R1LjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJpdCI+UXVlc3RvIGdydXBwbyBkaSBwYWNjaGV0dGkgY29uc2VudGUgZGkgZXNlZ3VpcmUgdW4gc2VydmVyIFNRTCBzdWwgc2lzdGVtYS48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iamEiPuOBk+OBruODkeODg+OCseODvOOCuOOCsOODq+ODvOODl+OBp+OAgeOCt+OCueODhuODoOS4iuOBrlNRTOOCteODvOODkOOCkuWun+ihjOOBmeOCi+OBk+OBqOOBjOOBp+OBjeOBvuOBmeOAgjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJrbyI+7J20IO2MqO2CpOyngCDqt7jro7nsnYQg7IKs7Jqp7ZWY7JesIOyLnOyKpO2FnCDsg4Hsl5DshJwgU1FMIOyEnOuyhOulvCDsmrTsmIHtlZjsi6Qg7IiYIOyeiOyKteuLiOuLpC48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0ibm8iPkRlbm5lIHBha2tlZ3J1cHBlbiBsYXIgZGVnIGtqw7hyZSBlbiBkYXRhYmFzZS10amVuZXJlIHDDpSBzeXN0ZW1ldC48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0icHQiPkVzdGUgZ3J1cG8gZGUgcGFjb3RlcyBwZXJtaXRlLWxoZSBjb3JyZXIgdW0gc2Vydmlkb3IgU1FMIG5vIHNldSBzaXN0ZW1hLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJydSI+0JIg0Y3RgtGDINCz0YDRg9C/0L/RgyDQstC60LvRjtGH0LXQvdGLINGA0LDQt9C70LjRh9C90YvQtSBTUUwg0YHQtdGA0LLQtdGA0YsuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9InN2Ij5EZW5uYSBwYWtldGdydXBwIGzDpXRlciBkaWcga8O2cmEgZW4gU1FMLXNlcnZlciBww6Ugc3lzdGVtZXQuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9InpoX0NOIj7or6Xova/ku7bljIXnu4TlhYHorrjmgqjlnKjns7vnu5/kuIrov5DooYwgU1FMIOacjeWKoeWZqOOAgjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJ6aF9UVyI+6YCZ5YCL5aWX5Lu2576k57WE6K6T5oKo5Y+v5Lul5Zyo57O757Wx5LiK5Z+36KGM5LiA6YOoIFNRTCDkvLrmnI3lmajjgII8L2Rlc2NyaXB0aW9uPgorICAgIDx1c2VydmlzaWJsZT50cnVlPC91c2VydmlzaWJsZT4KKyAgICA8Z3JvdXBsaXN0PgorICAgICAgPGdyb3VwcmVxPmJhc2U8L2dyb3VwcmVxPgorICAgIDwvZ3JvdXBsaXN0PgorICAgIDxwYWNrYWdlbGlzdD4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+cG9zdGdyZXNxbC1zZXJ2ZXI8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPnVuaXhPREJDPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5wZXJsLURCRC1QZzwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+cGVybC1EQl9GaWxlPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ib3B0aW9uYWwiPm15c3FsLXNlcnZlcjwvcGFja2FnZXJlcT4KKyAgICA8L3BhY2thZ2VsaXN0PgorICA8L2dyb3VwPgorCisgIDxncm91cD4KKyAgICA8aWQ+d2ViLXNlcnZlcjwvaWQ+CisgICAgPG5hbWU+V2ViIFNlcnZlcjwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iY3MiPldXVyBzZXJ2ZXI8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImRhIj5XZWJzZXJ2ZXI8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImRlIj5XZWItU2VydmVyPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJlcyI+U2Vydmlkb3IgV2ViPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJmciI+U2VydmV1ciBXZWI8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImlzIj5WZWbDvmrDs25uPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJpdCI+U2VydmVyIFdlYjwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iamEiPldlYuOCteODvOODkDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ia28iPuybuSDshJzrsoQ8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9Im5vIj5XZWJ0amVuZXI8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InB0Ij5TZXJ2aWRvciBXZWI8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InJ1Ij7QktC10LEt0YHQtdGA0LLQtdGAPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJzdiI+V2ViYnNlcnZlcjwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iemhfQ04iPuS4h+e7tOe9keacjeWKoeWZqDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iemhfVFciPue2sumggeS8uuacjeWZqDwvbmFtZT4KKyAgICA8ZGVzY3JpcHRpb24+VGhlc2UgdG9vbHMgYWxsb3cgeW91IHRvIHJ1biBhIFdlYiBzZXJ2ZXIgb24gdGhlIHN5c3RlbS48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iY3MiPlR5dG8gbsOhc3Ryb2plIFbDoW0gdW1vxb5uw60gbmEgcG/EjcOtdGHEjWkgcHJvdm96b3ZhdCBXV1cgc2VydmVyLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJkYSI+RGlzc2UgdsOmcmt0w7hqZXIgbGFkZXIgZGlnIGvDuHJlIGVuIHdlYnNlcnZlciBww6Ugc3lzdGVtZXQuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImRlIj5NaXQgZGllc2VuIFRvb2xzIGvDtm5uZW4gU2llIGVpbmVuIFdlYi1TZXJ2ZXIgaW0gU3lzdGVtIGF1c2bDvGhyZW4uPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImVzIj5Fc3RhcyBoZXJyYW1pZW50YXMgbGUgcGVybWl0ZW4gZWplY3V0YXIgdW4gc2Vydmlkb3IgV2ViIGVuIGVsIHNpc3RlbWEuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImZyIj5DZXMgb3V0aWxzIHZvdXMgcGVybWV0dGVudCBkJmFwb3M7ZXjDqWN1dGVyIHVuIHNlcnZldXIgV2ViIHN1ciBsZSBzeXN0w6htZS48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iaXMiPsOeZXNzaSB0w7NsIGdlcmEgw77DqXIga2xleWZ0IGHDsCBrZXlyYSB2ZWbDvmrDs24gw6EgdsOpbGlubmkuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9Iml0Ij5RdWVzdGkgc3RydW1lbnRpIGNvbnNlbnRvbm8gZGkgZXNlZ3VpcmUgdW4gc2VydmVyIFdlYiBzdWwgc2lzdGVtYS48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iamEiPuOBk+OCjOOCieOBruODhOODvOODq+OBp+OCt+OCueODhuODoOS4iuOBrldlYuOCteODvOODkOOCkuWun+ihjOOBmeOCi+OBk+OBqOOBjOOBp+OBjeOBvuOBmeOAgjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJrbyI+7J20IOuPhOq1rOulvCDsgqzsmqntlZjsl6wg7Iuc7Iqk7YWcIOyDgeyXkOyEnCDsm7nshJzrsoTrpbwg7Jq07JiB7ZWY7IukIOyImCDsnojsirXri4jri6QuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9Im5vIj5EaXNzZSB2ZXJrdMO4eWVuZSBsYXIgZGVnIGtqw7hyZSBlbiB3ZWItdGplbmVyIHDDpSBzeXN0ZW1ldC48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0icHQiPkVzdGFzIGZlcnJhbWVudGFzIHBlcm1pdGVtLWxoZSBjb3JyZXIgdW0gc2Vydmlkb3IgV2ViIG5vIHNldSBjb21wdXRhZG9yLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJydSI+0K3RgtC4INGB0YDQtdC00YHRgtCy0LAg0L/QvtC30LLQvtC70Y/RjtGCINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDRgdC40YHRgtC10LzRgyDQutCw0Log0JLQtdCxLdGB0LXRgNCy0LXRgDwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJzdiI+RGVzc2EgdmVya3R5ZyBsw6V0ZXIgZGlnIGvDtnJhIGVuIHdlYmJzZXJ2ZXIgcMOlIHN5c3RlbWV0LjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJ6aF9DTiI+6L+Z5Lqb5bel5YW35YWB6K645oKo5Zyo57O757uf55Sf6L+Q6KGM5LiH57u0572R5pyN5Yqh5Zmo44CCPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9InpoX1RXIj7pgJnkupvlt6XlhbforpPmgqjlj6/ku6XlnKjns7vntbHkuIrln7fooYzkuIDlgIvntrLpoIHkvLrmnI3lmajjgII8L2Rlc2NyaXB0aW9uPgorICAgIDx1c2VydmlzaWJsZT50cnVlPC91c2VydmlzaWJsZT4KKyAgICA8Z3JvdXBsaXN0PgorICAgICAgPGdyb3VwcmVxPmJhc2U8L2dyb3VwcmVxPgorICAgIDwvZ3JvdXBsaXN0PgorICAgIDxwYWNrYWdlbGlzdD4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+aHR0cGQ8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmh0dHBkLW1hbnVhbDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPmh3Y3J5cHRvPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+bW9kX3B5dGhvbjwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPm1vZF9wZXJsPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+bW9kX3NzbDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPnBocDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPnBocC1pbWFwPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+cGhwLWxkYXA8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJvcHRpb25hbCI+cGhwLXBnc3FsPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ib3B0aW9uYWwiPm1vZF9hdXRoX3Bnc3FsPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+c3F1aWQ8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij50dXg8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij53ZWJhbGl6ZXI8L3BhY2thZ2VyZXE+CisgICAgPC9wYWNrYWdlbGlzdD4KKyAgPC9ncm91cD4KKworICA8Z3JvdXA+CisgICAgPGlkPmRucy1zZXJ2ZXI8L2lkPgorICAgIDxuYW1lPkROUyBOYW1lIFNlcnZlcjwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iY3MiPkptZW5uw70gc2VydmVyIEROUzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZGEiPkROUy1uYXZuZXNlcnZlcjwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZGUiPkROUyBOYW1lLVNlcnZlcjwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZXMiPlNlcnZpZG9yIGRlbCBub21icmUgRE5TPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJmciI+Tm9tIGRlIHNlcnZldXIgRE5TPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJpcyI+RE5TIG5hZm5hw75qw7NubjwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iaXQiPk5vbWUgc2VydmVyIEROUzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iamEiPkROU+ODjeODvOODoOOCteODvOODkDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ia28iPkROUyDsnbTrpoQg7ISc67KEPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJubyI+RE5TLXRqZW5lcjwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0icHQiPlNlcnZpZG9yIGRlIE5vbWVzIEROUzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0icnUiPtCh0LXRgNCy0LXRgCBETlM8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InN2Ij5ETlMtbmFtbnNlcnZlcjwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iemhfQ04iPkROUyDlkI3np7DmnI3liqHlmag8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InpoX1RXIj5ETlMg5ZCN56ix5Ly65pyN5ZmoPC9uYW1lPgorICAgIDxkZXNjcmlwdGlvbj5UaGlzIHBhY2thZ2UgZ3JvdXAgYWxsb3dzIHlvdSB0byBydW4gYSBETlMgbmFtZSBzZXJ2ZXIgKEJJTkQpIG9uIHRoZSBzeXN0ZW0uPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImNzIj5UYXRvIHNrdXBpbmEgYmFsw63EjWvFryBWw6FtIHVtb8W+bsOtIG5hIHBvxI3DrXRhxI1pIHByb3Zvem92YXQgam1lbm7DvSBzZXJ2ZXIgRE5TIChCSU5EKS48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iZGEiPkRlbm5lIHBha2tlZ3J1cHBlIGxhZGVyIGRpZyBrw7hyZSBlbiBETlMtbmF2bmVzZXJ2ZXIgKEJJTkQpIHDDpSBzeXN0ZW1ldC48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iZGUiPk1pdCBkaWVzZXIgUGFrZXRncnVwcGUga8O2bm5lbiBTaWUgZWluZW4gRE5TIE5hbWUtU2VydmVyIChCSU5EKSBpbSBTeXN0ZW0gYXVzZsO8aHJlbi48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iZXMiPkVzdGUgcGFxdWV0ZSBsZSBwZXJtaXRlIGVqZWN1dGFyIHVuIHNlcnZpZG9yIGRlIG5vbWJyZSBETlMgKEJJTkQpIGVuIGVsIHNpc3RlbWEuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImZyIj5DZSBncm91cGUgZGUgcGFxdWV0YWdlcyB2b3VzIHBlcm1ldCBkJmFwb3M7ZXjDqWN1dGVyIHVuIG5vbSBkZSBzZXJ2ZXVyIEROUyAoQklORCkgc3VyIGxlIHN5c3TDqG1lLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJpcyI+w55lc3NpIHBha2thaMOzcHVyIGdlcmlyIMO+w6lyIGtsZXlmdCBhw7Aga2V5cmEgRE5TIG5hZm5hw75qw7NuIChCSU5EKSDDoSB2w6lsaW5uaSDDvmlubmkuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9Iml0Ij5RdWVzdG8gZ3J1cHBvIGRpIHBhY2NoZXR0aSBjb25zZW50ZSBkaSBlc2VndWlyZSB1biBuYW1lIHNlcnZlciBETlMgKEJJTkQpIHN1bCBzaXN0ZW1hLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJqYSI+44GT44Gu44OR44OD44Kx44O844K444Kw44Or44O844OX44Gn44CB44K344K544OG44Og5LiK44GuRE5T44ON44O844Og44K144O844OQKEJJTkQp44KS5a6f6KGM44Gn44GN44G+44GZ44CCPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImtvIj7snbQg7Yyo7YKk7KeAIOq3uOujueydhCDsgqzsmqntlZjsl6wg7Iuc7Iqk7YWcIOyDgeyXkOyEnCBETlMg7J2066aEIOyEnOuyhCAoQklORCnrpbwg7Jq07JiB7ZWY7IukIOyImCDsnojsirXri4jri6QuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9Im5vIj5EZW5uZSBwYWtrZWdydXBwZW4gbGFyIGRlZyBrasO4cmUgZW4gRE5TLXRqZW5lciAoQklORCkgcMOlIHN5c3RlbWV0LjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJwdCI+RXN0ZSBncnVwbyBkZSBwYWNvdGVzIHBlcm1pdGUtbGhlIGNvcnJlciB1bSBzZXJ2aWRvciBkZSBub21lcyBkZSBETlMgKG8gQklORCkgbm8gc2lzdGVtYS48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0icnUiPtCf0LDQutC10YLRiyDQsiDRjdGC0L7QuSDQs9GA0YPQv9C/0LUg0L/QvtC30LLQvtC70Y/RgiDQstCw0Lwg0YPRgdGC0LDQvdC+0LLQuNGC0Ywg0Lgg0L3QsNGB0YLRgNC+0LjRgtGMIEROUyAoQklORCkuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9InN2Ij5EZW5uYSBwYWtldGdydXBwIGzDpXRlciBkaWcga8O2cmEgZW4gRE5TLW5hbW5zZXJ2ZXIgKEJJTkQpIHDDpSBzeXN0ZW1ldC48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iemhfQ04iPuivpei9r+S7tuWMhee7hOWFgeiuuOaCqOWcqOezu+e7n+S4iui/kOihjCBETlMg5ZCN56ew5pyN5Yqh5ZmoKEJJTkQp44CCPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9InpoX1RXIj7pgJnlgIvlpZfku7bnvqTntYTorpPmgqjlj6/ku6XlnKjns7vntbHkuIrln7fooYzkuIDpg6ggRE5TIOWQjeeoseS8uuacjeWZqCAoQklORCnjgII8L2Rlc2NyaXB0aW9uPgorICAgIDx1c2VydmlzaWJsZT50cnVlPC91c2VydmlzaWJsZT4KKyAgICA8Z3JvdXBsaXN0PgorICAgICAgPGdyb3VwcmVxPmJhc2U8L2dyb3VwcmVxPgorICAgIDwvZ3JvdXBsaXN0PgorICAgIDxwYWNrYWdlbGlzdD4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPmNhY2hpbmctbmFtZXNlcnZlcjwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+YmluZDwvcGFja2FnZXJlcT4KKyAgICA8L3BhY2thZ2VsaXN0PgorICA8L2dyb3VwPgorCisgIDxncm91cD4KKyAgICA8aWQ+YXV0aG9yaW5nLWFuZC1wdWJsaXNoaW5nPC9pZD4KKyAgICA8bmFtZT5BdXRob3JpbmcgYW5kIFB1Ymxpc2hpbmc8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImNzIj5Udm/FmWVuw60gYSBwdWJsaWtvdsOhbsOtPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJkYSI+Rm9yZmF0dGVyc2thYiBvZyBwdWJsaWNlcmluZzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZGUiPkF1dGhvcmluZyB1bmQgUHVibGlzaGluZzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZXMiPkF1dG9yaXphY2nDs24geSBwdWJsaWNhY2nDs248L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImZyIj5BdXRob3JpbmcgZXQgUHVibGlzaGluZzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iaXMiPlVtYnJvdCBvZyByaXRzdMO2cmY8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9Iml0Ij5BdXRob3JpbmcgZSBwdWJsaXNoaW5nPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJqYSI+6JGX5L2c44Go55m66KGMPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJrbyI+7KCc7J6R6rO8IOy2nO2MkDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ibm8iPlRla3N0cHVibGlzZXJpbmc8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InB0Ij5BdXRvcmlhIGUgUHVibGljYcOnw6NvPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJydSI+0J/QvtC00LPQvtGC0L7QstC60LAg0L/Rg9Cx0LvQuNC60LDRhtC40Lk8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InN2Ij5Gw7ZyZmF0dGFuZGUgb2NoIHB1YmxpY2VyaW5nPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJ6aF9DTiI+5o6I5p2D5ZKM5Ye654mIPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJ6aF9UVyI+57eo5a+r6IiH5Ye654mIPC9uYW1lPgorICAgIDxkZXNjcmlwdGlvbj5UaGVzZSB0b29scyBhbGxvdyB5b3UgdG8gY3JlYXRlIGRvY3VtZW50YXRpb24gaW4gdGhlIERvY0Jvb2sgZm9ybWF0IGFuZCBjb252ZXJ0IHRoZW0gdG8gSFRNTCwgUERGLCBQb3N0c2NyaXB0LCBhbmQgdGV4dC48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iY3MiPlR5dG8gbsOhc3Ryb2plIFbDoW0gdW1vxb5uw60gdnl0dsOhxZlldCBkb2t1bWVudGFjaSB2ZSBmb3Jtw6F0dSBEb2NCb29rIGEga29udmVydG92YXQgamkgZG8gSFRNTCwgUERGLCBQb3N0c2NyaXB0dSBhIHRleHR1LjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJkYSI+RGlzc2UgdsOmcmt0w7hqZXIgbGFkZXIgZGlnIHNrYWJlIGRva3VtZW50YXRpb24gaSBEb2NCb29rLWZvcm1hdGV0IG9nIGtvbnZlcnRlcmUgZGVtIHRpbCBIVE1MLCBQREYsIFBvc3RzY3JpcHQgb2cgdGVrc3QuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImRlIj5NaXQgZGllc2VuIFRvb2xzIGvDtm5uZW4gU2llIERva3VtZW50YXRpb24gaW0gRG9jQm9vayBGb3JtYXQgYW5sZWdlbiB1bmQgZGllc2UgaW4gZGllIEZvcm1hdGUgSFRNTCwgUERGLCBQb3N0c2NyaXB0IHVuZCBUZXh0IGtvbnZlcnRpZXJlbi48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iZXMiPkVzdGFzIGhlcnJhbWllbnRhcyBsZSBwZXJtaXRlbiBjcmVhciBkb2N1bWVudGFjacOzbiBlbiBmb3JtYXRvIERvY0Jvb2sgeSBjb252ZXJ0aXJsYSBhIEhUTUwsIFBERiwgUG9zdHNjcmlwdCB5IHRleHRvLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJmciI+Q2VzIG91dGlscyB2b3VzIHBlcm1ldHRlbnQgZGUgY3LDqWVyIGRlIGxhIGRvY3VtZW50YXRpb24gc291cyBmb3JtYXQgRG9jQm9vayBldCBkZSBsYSBjb252ZXJ0aXIgZW4gSFRNTCwgUERGLCBQb3N0c2NyaXB0IGV0IHRleHRlLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJpcyI+w55lc3NpIHTDs2wgZ2VyYSDDvsOpciBrbGV5ZnQgYcOwIGLDumEgdGlsIHNrasO2bCDDoSBEb2NCb29rIHNuacOwaSBvZyBicmV5dGEgw75laW0gw60gSFRNTCwgUERGLCBQb3N0c2NyaXB0IG9nIHRleHRhLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJpdCI+UXVlc3RpIHN0cnVtZW50aSBjb25zZW50b25vIGRpIGNyZWFyZSBkb2N1bWVudGkgaW4gZm9ybWF0byBEb2NCb29rIGUgZGkgY29udmVydGlybGkgaW4gSFRNTCwgUERGLCBQb3N0c2NyaXB0IGUgdGVzdG8uPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImphIj7jgZPjgozjgonjga7jg4Tjg7zjg6vjgafjgIFEb2NCb29r5b2i5byP44Gn5paH5pu444KS5L2c5oiQ44GX44Gm44CB44Gd44KM44KJ44KSSFRNTCwgUERGLCBQb3N0c2NyaXB0LCDlj4rjgbMgIHRleHTjgbjlpInmj5vjgZnjgovjgZPjgajjgYzjgafjgY3jgb7jgZnjgIIuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImtvIj7snbQg64+E6rWs66W8IOyCrOyaqe2VmOyXrCBEb2NCb29rIO2YleyLneydmCDrrLjshJzrpbwg7IOd7ISx7ZWY7IukIOyImCDsnojsnLzrqbAg7IOd7ISx65CcIOusuOyEnOulvCBIVE1MLCBQREYsIFBvc3RzY3JpcHTsmYAg7YWN7Iqk7Yq4IO2YleyLneycvOuhnCDrs4DtmZjtlZjsi6Qg7IiYIOyeiOyKteuLiOuLpC48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0ibm8iPkRpc3NlIHZlcmt0w7h5ZW5lIGxhciBkZWcgbGFnZSBkb2t1bWVudGFzam9uIGkgRG9jQm9vay1mb3JtYXRldCBvZyBrb252ZXJ0ZXJlIGRlbSB0aWwgSFRNTCwgUERGLCBQb3N0c2NyaXB0IG9nIHRla3N0LjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJwdCI+RXN0YXMgZmVycmFtZW50YXMgcGVybWl0ZW0tbGhlIGNyaWFyIGEgZG9jdW1lbnRhw6fDo28gbm8gZm9ybWF0byBEb2NCb29rIGUgY29udmVydMOqLWxhIHBhcmEgSFRNTCwgUERGLCBQb3N0U2NyaXB0IGUgdGV4dG8uPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9InJ1Ij7QrdGC0Lgg0YHRgNC10LTRgdGC0LLQsCDQv9C+0LfQstC+0LvRj9GO0YIg0YHQvtC30LTQsNCy0LDRgtGMINC00L7QutGD0LzQtdC90YLQsNGG0LjRjiDQsiDRhNC+0YDQvNCw0YLQtSBEb2NCb29rINC4INC/0YDQtdC+0LHRgNCw0LfQvtCy0YvQstCw0YLRjCDQsiBIVE1MLCBQREYsIFBvc3RzY3JpcHQg0Lgg0YLQtdC60YHRgi48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0ic3YiPkRlc3NhIHZlcmt0eWcgbMOldGVyIGRpZyBza2FwYSBkb2t1bWVudGF0aW9uIGkgRG9jQm9vay1mb3JtYXRldCBvY2gga29udmVydGVyYSBkZW0gdGlsbCBIVE1MLCBQREYsIFBvc3RzY3JpcHQgb2NoIHRleHQuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9InpoX0NOIj7ov5nkupvova/ku7bljIXlhYHorrjmgqjliJvlu7ogRG9jQm9vayDmoLzlvI/nmoTmlofmoaPvvIzlubblsIblroPku6zovazmjaLmiJAgSFRNTOOAgSBQREbjgIFQb3N0c2NyaXB0IOWSjOaWh+acrOagvOW8j+OAgjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJ6aF9UVyI+6YCZ5Lqb5bel5YW36K6T5oKo5Y+v5Lul5bu656uLIERvY0Jvb2sg5qC85byP55qE6Kqq5piO5paH5Lu277yM5Lim5LiUIOWwh+Wug+WAkei9ieaPm+eCuiBIVE1MLCBQREYsIFBvc3RzY3JpcHQg6IiH5paH5a2X44CCPC9kZXNjcmlwdGlvbj4KKyAgICA8dXNlcnZpc2libGU+dHJ1ZTwvdXNlcnZpc2libGU+CisgICAgPGdyb3VwbGlzdD4KKyAgICAgIDxncm91cHJlcT5iYXNlPC9ncm91cHJlcT4KKyAgICA8L2dyb3VwbGlzdD4KKyAgICA8cGFja2FnZWxpc3Q+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmRvY2Jvb2stZHRkczwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+ZG9jYm9vay1zdHlsZS1kc3NzbDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+ZG9jYm9vay11dGlsczwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+ZG9jYm9vay11dGlscy1wZGY8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmxpbnV4ZG9jLXRvb2xzPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij50ZXRleDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+dGV0ZXgtYWZtPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+dGV0ZXgteGR2aTwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im9wdGlvbmFsIj50ZXRleC1sYXRleDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+eG1sdG88L3BhY2thZ2VyZXE+CisgICAgPC9wYWNrYWdlbGlzdD4KKyAgPC9ncm91cD4KKyAgCisgIDxncm91cD4KKyAgICA8aWQ+ZW5naW5lZXJpbmctYW5kLXNjaWVudGlmaWM8L2lkPgorICAgIDxuYW1lPkVuZ2luZWVyaW5nIGFuZCBTY2llbnRpZmljPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJjcyI+VsSbZGVja8OpIG7DoXN0cm9qZTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZGEiPkluZ2VuacO4ci0gb2cgbmF0dXJ2aWRlbnNrYWI8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImRlIj5FbmdpbmVlcmluZyB1bmQgV2lzc2Vuc2NoYWZ0PC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJlcyI+SW5nZW5pZXLDrWEgeSBjaWVudMOtZmljbzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZnIiPkVuZ2luZWVyaW5nIGV0IFNjaWVudGlmaXF1ZTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iaXMiPlbDrXNpbmRpIG9nIHZlcmtmcsOmw7BpPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJpdCI+U2V0dG9yaSBlbmdpbmVlcmluZyBlIHNjaWVudGlmaWNvPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJqYSI+5oqA6KGT57O744Go56eR5a2m57O7PC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJrbyI+6rO17ZWZ6rO8IOqzvO2VmTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ibm8iPlZpdGVuc2thcGVsaWdlIHByb2dyYW1tZXI8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InB0Ij5FbmdlbmhhcmlhIGUgQ2nDqm5jaWE8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InJ1Ij7QndCw0YPRh9C90YvQtSDQuCDQuNC90LbQtdC90LXRgNC90YvQtTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ic3YiPktvbnN0cnVrdGlvbiBvY2ggZm9yc2tuaW5nPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJ6aF9DTiI+5bel56iL5ZKM56eR5a2mPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJ6aF9UVyI+5bel56iL6IiH56eR5a24PC9uYW1lPgorICAgIDxkZXNjcmlwdGlvbj5UaGlzIGdyb3VwIGluY2x1ZGVzIHBhY2thZ2VzIGZvciBwZXJmb3JtaW5nIG1hdGhlbWF0aWNhbCBhbmQgc2NpZW50aWZpYyBjb21wdXRhdGlvbnMgYW5kIHBsb3R0aW5nLCBhcyB3ZWxsIGFzIHVuaXQgY29udmVyc2lvbi48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iY3MiPlRhdG8gc2t1cGluYSBvYnNhaHVqZSBiYWzDrcSNa3kgcHJvIHByb3bDoWTEm27DrSBtYXRlbWF0aWNrw71jaCBhIHbEm2RlY2vDvWNoIHbDvXBvxI10xa8sIHR2b3JidSBncmFmxa8gYSBwxZlldm9kIG1lemkgamVkbm90a2FtaS48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iZGEiPkRlbm5lIGdydXBwZSBpbmRlaG9sZGVyIHBha2tlciBmb3IgdWRmw7hyc2VsIGFmIG1hdGVtYXRpc2tlIG9nIHZpZGVuc2thYmVsaWdlIGJlcmVnbmluZ2VyIG9nIGRpYWdyYW10ZWduaW5nIHPDpXZlbCBzb20gZW5oZWRza29udmVydGVyaW5nLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJkZSI+RGllc2UgR3J1cHBlIGVudGjDpGx0IFBha2V0ZSBmw7xyIG1hdGhlbWF0aXNjaGUgdW5kIHdpc3NlbnNjaGFmdGxpY2hlIEJlcmVjaG51bmdlbiB1bmQgUGxvdHRpbmcgc293aWUgZGllIEtvbnZlcnNpb24gdm9uIEVpbmhlaXRlbi48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iZXMiPkVsIGdydXBvIGluY2x1eWUgcGFxdWV0ZXMgcGFyYSBlamVjdXRhciBjw6FsY3Vsb3MgbWF0ZW3DoXRpY29zIHkgY2llbnTDrWZpY29zIHkgdHJhemFkb3MsIGFzw60gY29tbyBsYSBjb252ZXJzacOzbiBkZSBsYSB1bmlkYWQuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImZyIj5DZSBncm91cGUgY29tcHJlbmQgbGVzIHBhcXVldGFnZXMgcG91ciBleMOpY3V0ZXIgZGVzIGNhbGN1bHMgbWF0aMOpbWF0aXF1ZXMgZXQgc2NpZW50aWZpcXVlcywgbGUgdHJhw6dhZ2UgZXQgbGEgY29udmVyc2lvbiBkZXMgdW5pdMOpcy48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iaXMiPsOeZXNzaSBow7NwdXIgaW5uaWhlbGR1ciBwYWtrYSB0aWwgYcOwIGZyYW1rdsOmbWEgc3TDpnLDsGZyw6bDsGkgb2cgdsOtc2luZGHDunRyZWlrbmluZ2Egw6FzYW10IHTDs2x1bSB0aWwgYcOwIHVtYnJleXRhIG1pbGxpIGVpbmluZ2EuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9Iml0Ij5RdWVzdG8gZ3J1cHBvIGluY2x1ZGUgaSBwYWNjaGV0dGkgcGVyIGwmYXBvcztlc2VjdXppb25lIGUgaWwgcGxvdHRpbmcgZGkgb3BlcmF6aW9uaSBtYXRlbWF0aWNoZSBlIHNjaWVudGlmaWNoZSwgbm9uY2jDqSBsYSBjb252ZXJzaW9uZSBkaSB1bml0w6AuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImphIj7jgZPjga7jgrDjg6vjg7zjg5fjgavjga/jgIHjg6bjg4vjg4Pjg4jlpInmj5vjgajlhbHjgavjgIHmlbDlrabnmoTlj4rjgbPnp5HlrabnmoTjgarmvJTnrpfjgajjg5fjg63jg4Pjg4bjgqPjg7PjgrDjgpIg5a6f6Le144GZ44KL54K644Gu44OR44OD44Kx44O844K444GM5ZCr44G+44KM44Gm44GE44G+44GZ44CCPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImtvIj7snbQg6re466O57J2AIOuLqOychCDrs4DtmZgg6riw64ql7J2EIOu5hOuhr+2VmOyXrCDsiJjtlZkg6rOE7IKw6rO8IOqzvO2VmSDqs4TsgrDsnYQg7IiY7ZaJ7ZWY6rOgIOy2nOugpe2VmOuKlCDtjKjtgqTsp4Drpbwg7Y+s7ZWo7ZWp64uI64ukLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJubyI+RGVubmUgZ3J1cHBlbiBpbm5laG9sZGVyIHBha2tlciBmb3Igw6UgdXRmw7hyZSBtYXRlbWF0aXNrZSBvZyB2aXRlbnNrYXBlbGlnZSBiZXJlZ25pbmdlci92aXN1YWxpc2VyaW5nZXIgc2FtdCBlbmhldHNrb252ZXJ0ZXJpbmdlci48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0icHQiPkVzdGUgZ3J1cG8gaW5jbHVpIG9zIHBhY290ZXMgcGFyYSBlZmVjdXRhciBjw6FsY3Vsb3MgbWF0ZW3DoXRpY29zIGUgY2llbnTDrWZpY29zLCBhcHJlc2VudMOhLWxvcyBlIGVmZWN0dWFyIGEgY29udmVyc8OjbyBkZSB1bmlkYWRlcy48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0icnUiPtCt0YLQsCDQs9GA0YPQv9C/0LAg0YHQvtC00LXRgNC20LjRgiDQv9GA0LjQu9C+0LbQtdC90LjRjyDQtNC70Y8g0LzQsNGC0LXQvNCw0YLQuNGH0LXRgdC60LjRhSDQuCDQv9GA0L7Rh9C40YUg0L3QsNGD0YfQvdGL0YUg0LLRi9GH0LjRgdC70LXQvdC40Lkg0Lgg0L/RgNC10L7QsdGA0LDQt9C+0LLQsNC90LjQuS48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0ic3YiPkRlbm5hIGdydXBwIGlua2x1ZGVyYXIgcGFrZXQgZsO2ciB1dGbDtnJhbmRlIGF2IG1hdGVtYXRpc2thIG9jaCB2ZXRlbnNrYXBsaWdhIGJlcsOka25pbmdhciBvY2ggZGlhZ3JhbXJpdG5pbmcgc8OldsOkbCBzb20gZW5oZXRza29udmVydGVyaW5nLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJ6aF9DTiI+6L+Z57uE6L2v5Lu25YyF5YyF5ous55So5p2l5omn6KGM5pWw5a2m5ZKM56eR5a2m6K6h566X44CB57uY5Zu+44CB5Lul5Y+K6K6h6YeP5Y2V5L2N6L2s5o2i55qE6L2v5Lu25YyF44CCPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9InpoX1RXIj7pgJnlgIvnvqTntYTljIXmi6znmoTlpZfku7blj6/nlKjkvobln7fooYzmlbjlrbjoiIfnp5HlrbjnmoToqIjnrpfoiIfnuarlnJbvvIzku6Xlj4rllq7kvY3nmoTmj5vnrpfjgII8L2Rlc2NyaXB0aW9uPgorICAgIDx1c2VydmlzaWJsZT50cnVlPC91c2VydmlzaWJsZT4KKyAgICA8Z3JvdXBsaXN0PgorICAgICAgPGdyb3VwcmVxPmJhc2U8L2dyb3VwcmVxPgorICAgIDwvZ3JvdXBsaXN0PgorICAgIDxwYWNrYWdlbGlzdD4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im9wdGlvbmFsIj5ibGFzPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+Z251cGxvdDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im9wdGlvbmFsIj5sYW08L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJvcHRpb25hbCI+bGFwYWNrPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+b2N0YXZlPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ib3B0aW9uYWwiPnB2bTwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPnVuaXRzPC9wYWNrYWdlcmVxPgorICAgIDwvcGFja2FnZWxpc3Q+CisgIDwvZ3JvdXA+CisKKyAgIAorICA8Z3JvdXA+CisgICAgPGlkPmVkaXRvcnM8L2lkPgorICAgIDxuYW1lPkVkaXRvcnM8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImNzIj5FZGl0b3J5PC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJkYSI+VGVrc3RyZWRpZ2VyaW5nPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJkZSI+RWRpdG9yZW48L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImVzIj5FZGl0b3JlczwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZnIiPkVkaXRldXJzPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJpcyI+Uml0bGFyPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJpdCI+RWRpdG9yPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJqYSI+44Ko44OH44Kj44K/PC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJrbyI+7Y647KeR6riwPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJubyI+RWRpdG9yZXI8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InB0Ij5FZGl0b3JlczwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0icnUiPtCg0LXQtNCw0LrRgtC+0YDRizwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ic3YiPlRleHRyZWRpZ2VyYXJlPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJ6aF9DTiI+57yW6L6R5ZmoPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJ6aF9UVyI+57eo6Lyv5ZmoPC9uYW1lPgorICAgIDxkZXNjcmlwdGlvbj5Tb21ldGltZXMgY2FsbGVkIHRleHQgZWRpdG9ycywgdGhlc2UgYXJlIHByb2dyYW1zIHRoYXQgYWxsb3cgeW91IHRvIGNyZWF0ZSBhbmQgZWRpdCBmaWxlcy4gVGhlc2UgaW5jbHVkZSBFbWFjcyBhbmQgVmkuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImNzIj5OxJtrZHkgb3puYcSNb3ZhbsOpIGpha28gdGV4dG92w6kgZWRpdG9yeSwgdHl0byBwcm9ncmFteSBWw6FtIHVtb8W+bsOtIHZ5dHbDocWZZXQgYSB1cHJhdm92YXQgc291Ym9yeS4gVGF0byBza3VwaW5hIHphaHJudWplIEVtYWNzIGEgVmkuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImRhIj5EZXR0ZSBlciBwcm9ncmFtbWVyIHNvbSBsYWRlciBkaWcgc2thYmUgb2cgcmVkaWdlcmUgZmlsZXIsIG9nIGRlIGthbGRlcyBvZnRlIGZvciB0ZWtzdHJlZGlnZXJlcmUuIERpc3NlIGlua2x1ZGVyZXIgRW1hY3Mgb2cgVmkuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImRlIj5EaWVzZSBhdWNoIFRleHQtRWRpdG9yZW4gZ2VuYW5udGVuIFByb2dyYW1tZSBlcm3DtmdsaWNoZW4gZGFzIEFubGVnZW4gdW5kIEJlYXJiZWl0ZW4gdm9uIERhdGVpZW4uIERhenUgZ2Vow7ZyZW4gRW1hY3MgdW5kIFZpLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJlcyI+RXhpc3RlbiBwcm9ncmFtYXMgcXVlIHBlcm1pdGVuIGNyZWFyIHkgbW9kaWZpY2FyIGZpY2hlcm9zLCBhIHZlY2VzIGxsYW1hZG9zIGVkaXRvcmVzIGRlIHRleHRvLiBFc3RvcyBpbmNsdXllbiBFbWFjcyB5IFZpLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJmciI+UGFyZm9pcyBhcHBlbMOpcyDDqWRpdGV1cnMgZGUgdGV4dGUsIGNlcyBwcm9ncmFtbWVzIHZvdXMgcGVybWV0dGVudCBkZSBjcsOpZXIgZXQgZCZhcG9zO8OpZGl0ZXIgZGVzIGZpY2hpZXJzLiBJbHMgY29tcHJlbm5lbnQgRW1hY3MgZXQgVmkuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImlzIj5Gb3JyaXQgc2VtIGthbGxhc3Qgcml0bGFyLiDDnmV0dGEgZXJ1IHTDs2xpbiBzZW0gZ2VyYSDDvsOpciBrbGV5ZnQgYcOwIGLDumEgdGlsIG9nIGJyZXl0YSBza3LDoW0uIMOeZXR0YSBpbm5paGVsZHVyIG1lw7BhbCBhbm5hcnMgRW1hY3Mgb2cgVmkuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9Iml0Ij5UYWx2b2x0YSBkZWZpbml0aSBlZGl0b3IgZGkgdGVzdG8sIHF1ZXN0aSBwcm9ncmFtbWkgY29uc2VudG9ubyBkaSBjcmVhcmUgZW1vZGlmaWNhcmUgaSBmaWxlLiBTb25vIGluY2x1c2kgRW1hY3MgZSBWaS48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iamEiPuaZguOBq+OBr+ODhuOCreOCueODiOOCqOODh+OCo+OCv+OBqOWRvOOBsOOCjOOCi+ODleOCoeOCpOODq+OCkuS9nOaIkOOBqOe3qOmbhuOBp+OBjeOCi+ODl+ODreOCsOODqeODoOOBjCDjgYLjgorjgb7jgZnjgILjgZPjgozjgonjgavjga9FbWFjcyDjgaggVmnjgYzlkKvjgb7jgozjgb7jgZnjgII8L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0ia28iPuqwgOuBlOyUqSDthY3siqTtirgg7Y647KeR6riw65286rOg64+EIOu2iOumrOyasOuKlCDsnbQg7ZSE66Gc6re4656o7J2AIO2MjOydvOydhCDsg53shLHtlZjqs6Ag7Y647KeR7ZWY64qU642wIOyCrOyaqeuQqeuLiOuLpC4g7J2065+s7ZWcIO2UhOuhnOq3uOueqOyXkOuKlCBFbWFjc+yZgCBWaeqwgCDtj6ztlajrkKnri4jri6QuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9Im5vIj5EaXNzZSBwcm9ncmFtbWVuZSwgb2Z0ZSBrYWx0IHRla3N0ZWRpdG9yZXIsIGxhciBkZWcgbGFnZSBvZyByZWRpZ2VyZSBmaWxlci4gRW1hY3Mgb2cgVmkgZXIgaW5rbHVkZXJ0IGhlci48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0icHQiPk5vcm1hbG1lbnRlIGNoYW1hZG9zIGVkaXRvcmVzIGRlIHRleHRvLCBlc3RlcyBwcm9ncmFtYXMgcGVybWl0ZS1saGUgY3JpYXIgZSBlZGl0YXIgZmljaGVpcm9zLiBJbmNsdWkgbyBFbWFjcyBlIG8gVmkuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9InJ1Ij7QrdGC0Lgg0L/RgNC+0LPRgNCw0LzQvNGLLCDQuNC90L7Qs9C00LAg0L3QsNC30YvQstCw0LXQvNGL0LUg0YLQtdC60YHRgtC+0LLRi9C80Lgg0YDQtdC00LDQutGC0L7RgNCw0LzQuCwg0L/QvtC30LLQvtC70Y/RjtGCINGA0LXQtNCw0LrRgtC40YDQvtCy0LDRgtGMINGC0LXQutGB0YLRiy4g0JLQutC70Y7Rh9Cw0Y7RgiBFbWFjcyBhbmQgVmkuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9InN2Ij5EZXR0YSDDpHIgcHJvZ3JhbSBzb20gbMOldGVyIGRpZyBza2FwYSBvY2ggcmVkaWdlcmEgZmlsZXIsIG9jaCBrYWxsYXMgb2Z0YSB0ZXh0cmVkaWdlcmFyZS4gRGVzc2EgaW5rbHVkZXJhciBFbWFjcyBvY2ggVmkuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9InpoX0NOIj7mnInml7blj6vlgZrmlofmnKznvJbovpHlmajjgILlroPku6zmmK/lhYHorrjmgqjliJvlu7rlkoznvJbovpHmlofku7bnmoTnqIvluo/jgILljIXmi6wgRW1hY3Mg5ZKMIFZp44CCPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9InpoX1RXIj7pgJnkupvmmK/orpPmgqjlj6/ku6Xlu7rnq4voiIfnt6jovK/mqpTmoYjnmoTnqIvlvI/vvIzmnInmmYLlgJnnqLHngrrmloflrZfnt6jovK/lmajjgIIg6YCZ5Lqb5YyF5ous5LqGIEVtYWNzIOiIhyBWaeOAgjwvZGVzY3JpcHRpb24+CisgICAgPHVzZXJ2aXNpYmxlPnRydWU8L3VzZXJ2aXNpYmxlPgorICAgIDxncm91cGxpc3Q+CisgICAgICA8Z3JvdXByZXE+YmFzZTwvZ3JvdXByZXE+CisgICAgICA8bWV0YXBrZyB0eXBlPSJkZWZhdWx0Ij5lbWFjczwvbWV0YXBrZz4KKyAgICAgIDxtZXRhcGtnIHR5cGU9Im9wdGlvbmFsIj54ZW1hY3M8L21ldGFwa2c+CisgICAgIDwvZ3JvdXBsaXN0PgorICAgIDxwYWNrYWdlbGlzdD4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPnZpbS1lbmhhbmNlZDwvcGFja2FnZXJlcT4KKyAgICA8L3BhY2thZ2VsaXN0PgorICA8L2dyb3VwPgorCisKKyAgPGdyb3VwPgorICAgIDxpZD5lbWFjczwvaWQ+CisgICAgPG5hbWU+RW1hY3M8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImNzIj5FbWFjczwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZGEiPkVtYWNzPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJkZSI+RW1hY3M8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImVzIj5FbWFjczwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZnIiPkVtYWNzPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJpcyI+RW1hY3M8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9Iml0Ij5FbWFjczwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iamEiPkVtYWNzPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJrbyI+RW1hY3M8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9Im5vIj5FbWFjczwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0icHQiPkVtYWNzPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJydSI+RW1hY3M8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InN2Ij5FbWFjczwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iemhfQ04iPkVtYWNzPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJ6aF9UVyI+RW1hY3M8L25hbWU+CisgICAgPGRlc2NyaXB0aW9uPlRoZSBHTlUgRW1hY3MgdGV4dCBlZGl0b3IuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImNzIj5UZXh0b3bDvSBlZGl0b3IgR05VIEVtYWNzLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJkYSI+VGVrc3RyZWRpZ2VyZXJlbiBHTlUgRW1hY3MuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImRlIj5EZXIgVGV4dC1FZGl0b3IgR05VIEVtYWNzLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJlcyI+RWRpdG9yIGRlIHRleHRvcyBFbWFjcyBkZSBHTlUuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImZyIj5FZGl0ZXVyIGRlIHRleHRlIEdOVSBFbWFjcy48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iaXMiPkdOVSBFbWFjcyByaXRpbGxpbm4uPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9Iml0Ij5FZGl0b3IgZGkgdGVzdG8gR05VIEVtYWNzLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJqYSI+R05VIEVtYWNz44OG44Kt44K544OI44Ko44OH44Kj44K/PC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImtvIj5HTlUgRW1hY3Mg7YWN7Iqk7Yq4IO2OuOynkeq4sC48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0ibm8iPlRla3N0ZWRpdG9yZW4gR05VIEVtYWNzLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJwdCI+TyBlZGl0b3IgZGUgdGV4dG8gR05VIEVtYWNzLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJydSI+0KLQtdC60YHRgtC+0LLRi9C5INGA0LXQtNCw0LrRgtC+0YAgR05VIEVtYWNzLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJzdiI+VGV4dHJlZGlnZXJhcmVuIEdOVSBFbWFjcy48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iemhfQ04iPkdOVSBFbWFjcyDmlofmnKznvJbovpHlmag8L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iemhfVFciPkdOVSBFbWFjcyDmloflrZfnt6jovK/lmajjgII8L2Rlc2NyaXB0aW9uPgorICAgIDx1c2VydmlzaWJsZT5mYWxzZTwvdXNlcnZpc2libGU+CisgICAgPGdyb3VwbGlzdD4KKyAgICAgIDxncm91cHJlcT5iYXNlPC9ncm91cHJlcT4KKyAgICA8L2dyb3VwbGlzdD4KKyAgICA8cGFja2FnZWxpc3Q+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmVtYWNzPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5lbWFjcy1sZWltPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+cHNnbWw8L3BhY2thZ2VyZXE+CisgICAgPC9wYWNrYWdlbGlzdD4KKyAgPC9ncm91cD4KKworICA8Z3JvdXA+CisgICAgPGlkPnhlbWFjczwvaWQ+CisgICAgPG5hbWU+WEVtYWNzPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJjcyI+WEVtYWNzPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJkYSI+WEVtYWNzPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJkZSI+WEVtYWNzPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJlcyI+WEVtYWNzPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJmciI+WEVtYWNzPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJpcyI+WEVtYWNzPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJpdCI+WEVtYWNzPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJqYSI+WEVtYWNzPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJrbyI+WEVtYWNzPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJubyI+WEVtYWNzPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJwdCI+WEVtYWNzPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJydSI+WEVtYWNzPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJzdiI+WEVtYWNzPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJ6aF9DTiI+WEVtYWNzPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJ6aF9UVyI+WEVtYWNzPC9uYW1lPgorICAgIDxkZXNjcmlwdGlvbj5UaGUgWEVtYWNzIHRleHQgZWRpdG9yLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJjcyI+VGV4dG92w70gZWRpdG9yIFhFbWFjcy48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iZGEiPlRla3N0cmVkaWdlcmVyZW4gWEVtYWNzLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJkZSI+RGVyIFRleHQtRWRpdG9yIFhFbWFjcy48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iZXMiPkVkaXRvciBkZSB0ZXh0b3MgZGUgWEVtYWNzLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJmciI+RWRpdGV1ciBkZSB0ZXh0ZSBYRW1hY3MuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImlzIj5YRW1hY3Mgcml0aWxsaW5uLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJpdCI+RWRpdG9yIGRpIHRlc3RvIFhFbWFjcy48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iamEiPlhFbWFjc+ODhuOCreOCueODiOOCqOODh+OCo+OCvzwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJrbyI+WEVtYWNzIO2FjeyKpO2KuCDtjrjsp5HquLAuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9Im5vIj5UZWtzdGVkaXRvcmVuIFhFbWFjcy48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0icHQiPk8gZWRpdG9yIGRlIHRleHRvIFhFbWFjcy48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0icnUiPtCi0LXQutGB0YLQvtCy0YvQuSDRgNC10LTQsNC60YLQvtGAIFhFbWFjczwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJzdiI+VGV4dHJlZGlnZXJhcmVuIFhFbWFjcy48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iemhfQ04iPlhFbWFjcyDmlofmnKznvJbovpHlmag8L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iemhfVFciPlhFbWFjcyDmloflrZfnt6jovK/lmajjgII8L2Rlc2NyaXB0aW9uPgorICAgIDx1c2VydmlzaWJsZT5mYWxzZTwvdXNlcnZpc2libGU+CisgICAgPGdyb3VwbGlzdD4KKyAgICAgIDxncm91cHJlcT5iYXNlPC9ncm91cHJlcT4KKyAgICA8L2dyb3VwbGlzdD4KKyAgICA8cGFja2FnZWxpc3Q+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPnhlbWFjczwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+eGVtYWNzLWVsPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+eGVtYWNzLWluZm88L3BhY2thZ2VyZXE+CisgICAgPC9wYWNrYWdlbGlzdD4KKyAgPC9ncm91cD4KKworICA8Z3JvdXA+CisgICAgPGlkPnN5c3RlbS10b29sczwvaWQ+CisgICAgPG5hbWU+U3lzdGVtIFRvb2xzPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJjcyI+U3lzdMOpbW92w6kgbsOhc3Ryb2plPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJkYSI+U3lzdGVtdsOmcmt0w7hqZXI8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImRlIj5TeXN0ZW10b29sczwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZXMiPkhlcnJhbWllbnRhcyBkZWwgc2lzdGVtYSA8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImZyIj5PdXRpbHMgZGUgc3lzdMOobWU8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImlzIj5LZXJmaXN0w7NsPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJpdCI+VG9vbCBkaSBzaXN0ZW1hPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJqYSI+44K344K544OG44Og44OE44O844Or44CNPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJrbyI+7Iuc7Iqk7YWcIOuPhOq1rDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ibm8iPlN5c3RlbXZlcmt0w7h5PC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJwdCI+RmVycmFtZW50YXMgZG8gU2lzdGVtYTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0icnUiPtCh0LjRgdGC0LXQvNC90YvQtSDRgdGA0LXQtNGB0YLQstCwPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJzdiI+U3lzdGVtdmVya3R5ZzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iemhfQ04iPuezu+e7n+W3peWFtzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iemhfVFciPuezu+e1seW3peWFtzwvbmFtZT4KKyAgICA8ZGVzY3JpcHRpb24+VGhpcyBncm91cCBpcyBhIGNvbGxlY3Rpb24gb2YgdmFyaW91cyB0b29scyBmb3IgdGhlIHN5c3RlbSwgc3VjaCBhcyB0aGUgY2xpZW50IGZvciBjb25uZWN0aW5nIHRvIFNNQiBzaGFyZXMgYW5kIHRvb2xzIHRvIG1vbml0b3IgbmV0d29yayB0cmFmZmljLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJjcyI+VGF0byBza3VwaW5hIGplIHNvdWJvciByxa96bsO9Y2ggc3lzdMOpbW92w71jaCBuw6FzdHJvasWvLCBuYXDFmS4ga2xpZW50IHBybyBwxZlpcG9qZW7DrSBrZSBzdmF6a8WvbSBTTUIgYSBuw6FzdHJvamUgcHJvIHNsZWRvdsOhbsOtIHPDrcWlb3bDqWhvIHByb3ZvenUuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImRhIj5EZW5uZSBncnVwcGUgZXIgZW4gc2FtbGluZyBtZWQgZGl2ZXJzZSB2w6Zya3TDuGplciB0aWwgc3lzdGVtZXQsIHNvbSBmeCBrbGllbnRlbiBmb3IgdGlsc2x1dG5pbmcgdGlsIFNNQi1kZWxpbmdlciBvZyB2w6Zya3TDuGplciBmb3Igb3ZlcnbDpWduaW5nIGFmIG5ldHbDpnJrc3RyYWZpay48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iZGUiPkRpZXNlIEdydXBwZSBiaWV0ZXQgZWluZSBSZWloZSBTeXN0ZW10b29scyB3aWUgYmVpc3BpZWxzd2Vpc2UgZGVuIENsaWVudCBmw7xyIGRpZSBWZXJiaW5kdW5nIHp1IFNNQi1TaGFyZXMgc293aWUgVG9vbHMgZsO8ciBkaWUgS29udHJvbGxlIGRlcyBOZXR6d2Vya3ZlcmtlaHJzLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJlcyI+RXN0ZSBncnVwbyBlcyB1bmEgY29sZWNjacOzbiBkZSB2YXJpYXMgaGVycmFtaWVudGFzIHBhcmEgZWwgc2lzdGVtYSwgdGFsZXMgY29tbyBlbCBjbGllbnRlIHBhcmEgY29uZWN0YXJzZSBhIGxhcyBwYXJ0aWNpb25lcyBTTUIgeSBoZXJyYW1pZW50YXMgcGFyYSBtb25pdG9yaXphciBlbCB0csOhZmljbyBkZSByZWRlcy4gPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImZyIj5DZSBncm91cGUgZXN0IHVuIGVuc2VtYmxlIGRlIGRpZmbDqXJlbnRzIG91dGlscyBwb3VyIGxlIHN5c3TDqG1lLCBhaW5zaSBxdSZhcG9zO3VuIGNsaWVudCBwb3VyIGxhIGNvbm5leGlvbiBhdXggcGFydHMgU01CIGV0IGQmYXBvcztvdXRpbHMgcGVybWV0dGFudCBkZSBnw6lyZXIgbGUgdHJhZmljIGRhbnMgbGUgcsOpc2VhdS4gPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImlzIj7DnmVzc2kgaMOzcHVyIGlubmloZWxkdXIgc2FmbiBrZXJmaXN0w7NsYSBlaW5zIG9nIHRpbCBkw6ZtaXMgdMOzbCB0aWwgYcOwIHRlbmdqYXN0IFNNQiBkZWlsZHVtIG9nIHTDs2wgdGlsIGHDsCBmeWxnamFzdCBtZcOwIHVtZmVyw7Agw6EgbmV0aS48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iaXQiPlF1ZXN0byBncnVwcG8gw6ggdW5hIHJhY2NvbHRhIGRpIHZhcmkgc3RydW1lbnRpIHBlciBpbCBzaXN0ZW1hLCBjaGUgY29tcHJlbmRlIGlsY2xpZW50IHBlciBsYSBjb25uZXNzaW9uZSBhbGxlIHBhcnRpemlvbmkgU01CIGUgZ2xpIHN0cnVtZW50aSBwZXIgbW9uaXRvcmFyZSBpbCB0cmFmZmljbyBkaSByZXRlLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJqYSI+44GT44Gu44Kw44Or44O844OX44Gv44CBU01C5YWx5pyJ44G45o6l57aa44GZ44KL44Kv44Op44Kk44Ki44Oz44OI44KE44ON44OD44OI44Ov44O844Kv6YCa5L+h6YeP44KS44Oi44OL44K/44GZ44KLIOODhOODvOODq+OBquOBqeOBruOCt+OCueODhuODoOeUqOOBruWQhOeoruODhOODvOODq+OBruOCs+ODrOOCr+OCt+ODp+ODs+OBp+OBmeOAgjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJrbyI+7J20IOq3uOujueydgCBTTUIg6rO17Jyg7JeQIOygkeyGje2VmOuKlOuNsCDsgqzsmqnrkJjripQg7YG065287J207Ja47Yq47JmAIOuEpO2KuOybjO2BrCDshozthrXrn4nsnYQg6rCQ7Iuc7ZWY64qUIOuPhOq1rOyZgCDqsJnsnYAg64uk7JaR7ZWcIOyLnOyKpO2FnCDrj4Tqtawg66qo7J2M7J6F64uI64ukLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJubyI+RGVubmUgZ3J1cHBlbiBlciBlbiBzYW1saW5nIGF2IHVsaWtlIHN5c3RlbXZlcmt0w7h5LCBzb20gb3Bwa29ibGluZyBtb3QgU01CLXJlc3N1cnNlciBvZyBuZXR0dmVya3NvdmVydsOla25pbmcuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9InB0Ij5Fc3RlIGdydXBvIMOpIHVtYSBjb2xlY8Onw6NvIGRlIGZlcnJhbWVudGFzIHBhcmEgbyBzaXN0ZW1hLCB0YWwgY29tbyBvIGNsaWVudGUgcGFyYSBzZSBsaWdhciBhIHBhcnRpbGhhcyBkZSBTTUIgZSBhcyBmZXJyYW1lbnRhcyBwYXJhIG1vbml0b3JpemFyIG8gdHLDoWZlZ28gZGUgcmVkZS48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0icnUiPtCt0YLQsCDQs9GA0YPQv9C/0LAg0YHQvtC00LXRgNC20LjRgiDRgNCw0LfQu9C40YfQvdGL0LUg0YHQuNGB0YLQtdC80L3Ri9C1INGD0YLQuNC70LjRgtGLOiDQvdCw0L/RgNC40LzQtdGALCDQv9GA0LjQu9C+0LbQtdC90LjRjyDQtNC70Y8g0LTQvtGB0YLRg9C/0LAg0LogU01CINGB0LXRgNCy0LXRgNCw0LwsINC4INC/0YDQvtCz0YDQsNC80LzRiyDQtNC70Y8g0LzQvtC90LjRgtC+0YDQuNC90LPQsCDRgdC10YLQtdCy0L7Qs9C+INGC0YDQsNGE0YTQuNC60LAuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9InN2Ij5EZW5uYSBncnVwcCDDpHIgZW4gc2FtbGluZyBtZWQgZGl2ZXJzZSB2ZXJrdHlnIGbDtnIgc3lzdGVtZXQsIHNvbSBleGVtcGVsdmlzIGtsaWVudGVuIGbDtnIgYW5zbHV0bmluZyB0aWxsIFNNQi11dGRlbG5pbmdhciBvY2ggdmVya3R5ZyBmw7ZyIMO2dmVydmFrbmluZyBhdiBuw6R0dmVya3N0cmFmaWsuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9InpoX0NOIj7ov5nnu4Tova/ku7bljIXmmK/lkITnsbvns7vnu5/lt6XlhbfnmoTpm4blkIjvvIzorazlpoLvvJrov57mjqUgU01CIOWFseS6q+eahOWuouaIt++8m+ebkeaOp+e9kee7nOS6pOmAmueahOW3peWFt+OAgjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJ6aF9UVyI+6YCZ5YCL576k57WE5piv57O757Wx5LiK6Kix5aSa56iu5bel5YW355qE5pS26ZuG77yM5L6L5aaC55So5L6G6YCj57ea5YiwIFNNQiDlhbHkuqvnmoTnlKjmiLbnq6/vvIwg5Lul5Y+K55So5L6G55uj6KaW57ay6Lev5rWB6YeP55qE5bel5YW344CCPC9kZXNjcmlwdGlvbj4KKyAgICA8dXNlcnZpc2libGU+dHJ1ZTwvdXNlcnZpc2libGU+CisgICAgPHBhY2thZ2VsaXN0PgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ib3B0aW9uYWwiPmFtYW5kYS1jbGllbnQ8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5ldGhlcmVhbDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im9wdGlvbmFsIj5ldGhlcmVhbC1nbm9tZTwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im9wdGlvbmFsIj5nbm9tZS1sb2traXQ8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5ubWFwPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ib3B0aW9uYWwiPm5tYXAtZnJvbnRlbmQ8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJvcHRpb25hbCI+cmRlc2t0b3A8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5zYW1iYS1jbGllbnQ8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJvcHRpb25hbCI+c2hhcGVjZmc8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJvcHRpb25hbCI+dm5jPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+eGRlbHRhPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ib3B0aW9uYWwiPm1jPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+c2NyZWVuPC9wYWNrYWdlcmVxPgorICAgIDwvcGFja2FnZWxpc3Q+CisgIDwvZ3JvdXA+CisKKyAgPGdyb3VwPgorICAgIDxpZD5hZG1pbi10b29sczwvaWQ+CisgICAgPG5hbWU+QWRtaW5pc3RyYXRpb24gVG9vbHM8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImNzIj5Ow6FzdHJvamUgcHJvIGFkbWluaXN0cmFjaTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZGEiPkFkbWluaXN0cmF0aW9uc3bDpnJrdMO4amVyPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJkZSI+VmVyd2FsdHVuZ3N0b29sczwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZXMiPkhlcnJhbWllbnRhcyBkZSBhZG1pbmlzdHJhY2nDs248L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImZyIj5PdXRpbHMgZCZhcG9zO2FkbWluaXN0cmF0aW9uPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJpcyI+S2VyZmlzc3Rqw7NybnVuYXJ0w7NsPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJpdCI+U3RydW1lbnRpIGFtbWluaXN0cmF0aXZpPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJqYSI+566h55CG44OE44O844OrPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJrbyI+6rSA66asIOuPhOq1rDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ibm8iPkFkbWluaXN0cmFzam9uc3Zlcmt0w7h5PC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJwdCI+RmVycmFtZW50YXMgZGUgQWRtaW5pc3RyYcOnw6NvPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJydSI+0KHRgNC10LTRgdGC0LLQsCDQsNC00LzQuNC90LjRgdGC0YDQuNGA0L7QstCw0L3QuNGPPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJzdiI+QWRtaW5pc3RyYXRpb25zdmVya3R5ZzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iemhfQ04iPueuoeeQhuW3peWFtzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iemhfVFciPueuoeeQhuW3peWFtzwvbmFtZT4KKyAgICA8ZGVzY3JpcHRpb24+VGhpcyBncm91cCBpcyBhIGNvbGxlY3Rpb24gb2YgZ3JhcGhpY2FsIGFkbWluaXN0cmF0aW9uIHRvb2xzIGZvciB0aGUgc3lzdGVtLCBzdWNoIGFzIGZvciBtYW5hZ2luZyB1c2VyIGFjY291bnRzIGFuZCBjb25maWd1cmluZyBzeXN0ZW0gaGFyZHdhcmUuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImNzIj5UYXRvIHNrdXBpbmEgamUgc291Ym9yIGdyYWZpY2vDvWNoIG7DoXN0cm9qxa8gYWRtaW5pc3RyYWNlLCBuYXDFmS4gcHJvIHNwcsOhdnUgdcW+aXZhdGVsc2vDvWNoIMO6xI10xa8gYSBuYXN0YXZlbsOtIGhhcmR3YXJlIHBvxI3DrXRhxI1lLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJkYSI+RGVubmUgZ3J1cHBlIGVyIGVuIHNhbWxpbmcgZ3JhZmlza2UgYWRtaW5pc3RyYXRpb25zdsOmcmt0w7hqZXIgZm9yIHN5c3RlbWV0LCBzb20gZnggYmVoYW5kbGluZyBhZiBicnVnZXJrb250aSBvZyBrb25maWd1cmF0aW9uIGFmIHN5c3RlbXVkc3R5ci48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iZGUiPkRpZXNlIEdydXBwZSBiaWV0ZXQgZWluZSBSZWloZSB2b24gZ3JhZmlzY2hlIFZlcndhbHR1bmdzdG9vbHMgZsO8ciBkYXMgU3lzdGVtLCBkYXJ1bnRlciBUb29scyBmw7xyIGRpZSBWZXJ3YWx0dW5nIHZvbiBCZW51dHplcmFjY291bnRzIHVuZCBkaWUgS29uZmlndXJhdGlvbiBkZXIgU3lzdGVtaGFyZHdhcmUuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImVzIj5Fc3RlIGdydXBvIGVzIHVuYSBjb2xlY2Npw7NuICBkZSBoZXJyYW1pZW50YXMgZGUgYWRtaW5pc3RyYWNpw7NuIGdyw6FmaWNhcywgdGFsZXMgY29tbyBjdWVudGFzIGRlIHVzdWFyaW8gZGUgZ2VzdGnDs24geSBjb25maWd1cmFjacOzbiBkZWwgaGFyZHdhcmUgZGVsIHNpc3RlbWEuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImZyIj5DZSBncm91cGUgZXN0IHVuIGVuc2VtYmxlIGQmYXBvcztvdXRpbHMgZCZhcG9zO2FkbWluaXN0cmF0aW9uIGdyYXBoaXF1ZSBwb3VyIGxlIHN5c3TDqG1lLCBhaW5zaSBxdWUgcG91ciBsYSBnZXN0aW9uIGRlcyBjb21wdGVzIHV0aWxpc2F0ZXVycyBldCBsYSBjb25maWd1cmF0aW9uIGR1IG1hdMOpcmllbCBzeXN0w6htZS48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iaXMiPsOeZXNzaSBow7NwdXIgaW5uaWhlbGR1ciBzYWZuIG15bmRyw6ZubmEga2VyZmlzc3Rqw7NybnVuYXJ0w7NsYSBmeXJpciB2w6lsaW5hIGVpbnMgb2cgdGlsIGTDpm1pcyB0w7NsIHRpbCBhw7AgdmlubmEgbWXDsCBub3RlbmR1ciBvZyBzdGlsbGEgdsOpbGLDum5hw7AuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9Iml0Ij5RdWVzdG8gZ3J1cHBvIMOoIHVuYSByYWNjb2x0YSBkaSB0b29sIHBlciBsYSBnZXN0aW9uZSBkZWxsYSBncmFmaWNhIGRlbCBzaXN0ZW1hLCBjaGUgY29uc2VudGUgZGkgZ2VzdGlyZSBnbGkgYWNjb3VudCB1dGVudGUgZSBkaSBjb25maWd1cmFyZSBsJmFwb3M7aGFyZHdhcmUgZGkgc2lzdGVtYS48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iamEiPuOBk+OBruOCsOODq+ODvOODl+OBr+ODpuODvOOCtuODvOOCouOCq+OCpuODs+ODiOOCkueuoeeQhuOBl+OBn+OCiuOAgeOCt+OCueODhuODoOODj+ODvOODieOCpuOCp+OCouOCkuioreWumuOBl+OBn+OCiuOBmeOCiyDjgrfjgrnjg4bjg6Djga7ngrrjga7jgrDjg6njg5XjgqPjgqvjg6vnrqHnkIbjg4Tjg7zjg6vjga7jgrPjg6zjgq/jgrfjg6fjg7PjgafjgZnjgII8L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0ia28iPuydtCDqt7jro7nsnYAg7IKs7Jqp7J6QIOqzhOygleydhCDqtIDrpqztlZjqs6Ag7Iuc7Iqk7YWcIO2VmOuTnOybqOyWtOulvCDshKTsoJXtlZjripQg6re4656Y7ZS9IOyLnOyKpO2FnCDqtIDrpqwg64+E6rWsIOuqqOydjOyeheuLiOuLpC4gPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9Im5vIj5EZW5uZSBncnVwcGVuIGVyIGVuIHNhbWxpbmcgYXYgZ3JhZmlza2UgYWRtaW5pc3RyYXNqb25zdmVya3TDuHkgZm9yIHN5c3RlbWV0LCBpbmtsdWRlcnQgYnJ1a2VyYWRtaW5pc3RyYXNqb24gb2cgaGFyZHdhcmVrb25maWd1cmVyaW5nLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJwdCI+RXN0ZSBncnVwbyDDqSB1bWEgY29sZWPDp8OjbyBkZSBmZXJyYW1lbnRhcyBncsOhZmljYXMgZGUgYWRtaW5pc3RyYcOnw6NvIHBhcmEgbyBzaXN0ZW1hLCB0YWwgY29tbyBhIGdlc3TDo28gZGFzIGNvbnRhcyBkZSB1dGlsaXphZG9yZXMgZSBjb25maWd1cmFyIG8gJmFwb3M7aGFyZHdhcmUmYXBvczsgZG8gc2lzdGVtYS48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0icnUiPtCt0YLQsCDQs9GA0YPQv9C/0LAg0YHQvtC00LXRgNC20LjRgiDQs9GA0LDRhNC40YfQtdGB0LrQuNC1INC/0YDQuNC70L7QttC10L3QuNGPINC00LvRjyDQvdCw0YHRgtGA0L7QudC60Lgg0YHQuNGB0YLQtdC80YsuINChINC/0L7QvNC+0YnRjNGOINGN0YLQuNGFINC/0YDQuNC70L7QttC10L3QuNC5INC80L7QttC90L4g0LTQvtCx0LDQstC40YLRjCDQvdC+0LLRi9GFINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtdC5LCDQvdCw0YHRgtGA0L7QuNGC0Ywg0LfQstGD0LosINGA0LDQt9GA0LXRiNC10L3QuNC1INGN0LrRgNCw0L3QsCwg0Lgg0L/RgNC+0YcuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9InN2Ij5EZW5uYSBncnVwcCDDpHIgZW4gc2FtbGluZyBncmFmaXNrYSBhZG1pbmlzdHJhdGlvbnN2ZXJrdHlnIGbDtnIgc3lzdGVtZXQsIHNvbSBleGVtcGVsdmlzIGhhbnRlcmluZyBhdiBhbnbDpG5kYXJrb250b24gb2NoIGtvbmZpZ3VyYXRpb24gYXYgc3lzdGVtaMOlcmR2YXJhLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJ6aF9DTiI+6L+Z57uE6L2v5Lu25YyF5YyF5ous5LiA5Liq57O757uf5Zu+5b2i5YyW566h55CG5bel5YW355qE6ZuG5ZCI77yM6K2s5aaC77ya566h55CG55So5oi35biQ5Y+35ZKM6YWN572u57O757uf56Gs5Lu244CCPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9InpoX1RXIj7pgJnlgIvnvqTntYTmmK/ns7vntbHkuK3lnJblvaLnrqHnkIblt6XlhbfnmoTmlLbpm4bvvIzkvovlpoLnlKjkvobnrqHnkIbkvb/nlKjogIXluLPomZ/oiIcg6Kit5a6a57O757Wx56Gs6auU44CCPC9kZXNjcmlwdGlvbj4KKyAgICA8dXNlcnZpc2libGU+dHJ1ZTwvdXNlcnZpc2libGU+CisgICAgPHBhY2thZ2VsaXN0PgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+YXV0aGNvbmZpZy1ndGs8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5yZWRoYXQtY29uZmlnLWRhdGU8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5yZWRoYXQtY29uZmlnLWtleWJvYXJkPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+cmVkaGF0LWNvbmZpZy1raWNrc3RhcnQ8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5yZWRoYXQtY29uZmlnLWxhbmd1YWdlPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+cmVkaGF0LWNvbmZpZy1tb3VzZTwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPnJlZGhhdC1jb25maWctcm9vdHBhc3N3b3JkPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+cmVkaGF0LWNvbmZpZy1zb3VuZGNhcmQ8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5yZWRoYXQtY29uZmlnLXVzZXJzPC9wYWNrYWdlcmVxPiAKKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPnJlZGhhdC1jb25maWctcGFja2FnZXM8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5yZWRoYXQtY29uZmlnLXByb2M8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5yZWRoYXQtbG9ndmlld2VyPC9wYWNrYWdlcmVxPgorICAgIDwvcGFja2FnZWxpc3Q+CisgIDwvZ3JvdXA+CisKKyAgPGdyb3VwPgorICAgIDxpZD5nYW1lczwvaWQ+CisgICAgPG5hbWU+R2FtZXMgYW5kIEVudGVydGFpbm1lbnQ8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImNzIj5IcnkgYSB6w6FiYXZhPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJkYSI+U3BpbCBvZyB1bmRlcmhvbGRuaW5nPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJkZSI+U3BpZWxlIHVuZCBaZWl0dmVydHJlaWI8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImVzIj5KdWVnb3MgeSBlbnRyZXRlbmltaWVudG88L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImZyIj5KZXV4IGV0IERpdmVydGlzc2VtZW50czwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iaXMiPkxlaWtpciBvZyBza2VtbXR1bjwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iaXQiPkdpb2NoaSBlIGRpdmVydGltZW50bzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iamEiPuOCsuODvOODoOOBqOWor+alvTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ia28iPuqyjOyehOqzvCDsmKTrnb08L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9Im5vIj5TcGlsbCBvZyB1bmRlcmhvbGRuaW5nPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJwdCI+Sm9nb3MgZSBFbnRyZXRlbmltZW50bzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0icnUiPtCY0LPRgNGLINC4INGA0LDQt9Cy0LvQtdGH0LXQvdC40Y88L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InN2Ij5TcGVsIG9jaCB1bmRlcmjDpWxsbmluZzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iemhfQ04iPua4uOaIj+WSjOWoseS5kDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iemhfVFciPumBiuaIsuiIh+Wom+aogjwvbmFtZT4KKyAgICA8ZGVzY3JpcHRpb24+VmFyaW91cyB3YXlzIHRvIHJlbGF4IGFuZCBzcGVuZCB5b3VyIGZyZWUgdGltZS48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iY3MiPlLFr3puw6kgenDFr3NvYnksIGphayByZWxheG92YXQgYSB0csOhdml0IHZvbG7DvSDEjWFzLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJkYSI+RGl2ZXJzZSBtw6VkZXIgYXQgc2xhcHBlIGFmIG9nIGJydWdlIGZyaXRpZGVuLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJkZSI+VmVyc2NoaWVkZW5lIE3DtmdsaWNoa2VpdGVuIHp1ciBFbnRzcGFubnVuZyB1bmQgenVtIFplaXR2ZXJ0cmVpYi48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iZXMiPk1hbmVyYXMgZGUgcmVsYWphcnNlIHkgcGFzYXIgZWwgdGllbXBvIGxpYnJlLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJmciI+RGlmZsOpcmVudGVzIG1hbmnDqHJlcyBkZSB2b3VzIHJlbGF4ZXIgZXQgZGUgcGFzc2VyIGxlIHRlbXBzLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJpcyI+w51tc2xlZ3QgdGlsIGHDsCBzbGFwcGEgYWYgeWZpciBvZyBlecOwYSBsYXVzdW0gdMOtbWEuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9Iml0Ij5WYXJpIG1vZGkgcGVyIHJpbGFzc2Fyc2kgZSBwYXNzYXJlIGlsIHRlbXBvIGxpYmVyby48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iamEiPuODquODqeODg+OCr+OCueOBl+OBpuaah+OBquaZgumWk+OCkumBjuOBlOOBmeOBhOOCjeOBhOOCjeOBquaWueazlTwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJrbyI+7Zy07Iud7J2EIOy3qO2VmOuptOyEnCDsl6zqsIAg7Iuc6rCE7J2EIOuztOuCvCDsiJgg7J6I64qUIOuLpOyWke2VnCDrsKnrspUuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9Im5vIj5Gb3Jza2plbGxpZ2UgbcOldGVyIMOlIHNsYXBwZSBhdiBvZyBmb3Jkcml2ZSBmcml0aWRlbi48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0icHQiPlbDoXJpYXMgbWFuZWlyYXMgZGUgcmVsYXhhciBlIHBhc3NhciBvIHNldSB0ZW1wbyBsaXZyZS48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0icnUiPtCg0LDQt9C70LjRh9C90YvQtSDRgdC/0L7RgdC+0LHRiyDRgNCw0YHRgdC70LDQsdC40YLRjNGB0Y8g0Lgg0L/RgNC+0LLQtdGB0YLQuCDRgdCy0L7QsdC+0LTQvdC+0LUg0LLRgNC10LzRjy48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0ic3YiPkRpdmVyc2Ugc8OkdHQgYXR0IHNsYXBwbmEgYXYgb2NoIGbDtnJkcml2YSBsZWRpZyB0aWQuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9InpoX0NOIj7mlL7mnb7lkozmiZPlj5Hml7bpl7TnmoTpgJTlvoTjgII8L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iemhfVFciPuioseWkmueoruiuk+aCqOaUvumshuS7peWPiua2iOejqOaZgumWk+eahOaWueazleOAgjwvZGVzY3JpcHRpb24+CisgICAgPHVzZXJ2aXNpYmxlPnRydWU8L3VzZXJ2aXNpYmxlPgorICAgIDxncm91cGxpc3Q+CisgICAgICA8Z3JvdXByZXE+YmFzZTwvZ3JvdXByZXE+CisgICAgPC9ncm91cGxpc3Q+CisgICAgPHBhY2thZ2VsaXN0PgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5mb3J0dW5lLW1vZDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+am95c3RpY2s8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5NYWVsc3Ryb208L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5jaHJvbWl1bTwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPmZyZWVjaXY8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij50dXhyYWNlcjwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPnhib2FyZDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPmdub21lLWdhbWVzPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+a2RlZ2FtZXM8L3BhY2thZ2VyZXE+CisgICAgPC9wYWNrYWdlbGlzdD4KKyAgPC9ncm91cD4KKworIDxncm91cD4KKyAgICA8aWQ+SVNPODg1OS0yLXN1cHBvcnQ8L2lkPgorICAgIDxuYW1lPklTTzg4NTktMiBTdXBwb3J0PC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJjcyI+UG9kcG9yYSBwcm8gSVNPODg1OS0yPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJkYSI+VW5kZXJzdMO4dHRlbHNlIGZvciBJU084LTg1OS0yPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJkZSI+SVNPODg1OS0yIFN1cHBvcnQ8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImVzIj5Tb3BvcnRlIElTTzg4NTktMjwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZnIiPlN1cHBvcnQgSVNPODg1OS0yIDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iaXMiPklTTzg4NTktMiBzdHXDsG5pbmd1cjwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iaXQiPlN1cHBvcnRvIElTTzg4NTktMjwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iamEiPklTTzg4NTktMiDjgrXjg53jg7zjg4g8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImtvIj5JU084ODU5LTIg7KeA7JuQPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJubyI+U3TDuHR0ZSBmb3IgSVNPODg1OS0yPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJwdCI+U3Vwb3J0ZSBhIElTTzg4NTktMjwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0icnUiPtCf0L7QtNC00LXRgNC20LrQsCBJU084ODU5LTI8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InN2Ij5TdMO2ZCBmw7ZyIElTTzg4NTktMjwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iemhfQ04iPklTTzg4NTktMiDmlK/mjIE8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InpoX1RXIj5JU084ODU5LTIg5pSv5o+0PC9uYW1lPgorICAgIDx1c2VydmlzaWJsZT5mYWxzZTwvdXNlcnZpc2libGU+CisgICAgPHBhY2thZ2VsaXN0PgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5mb250cy1JU084ODU5LTI8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmZvbnRzLUlTTzg4NTktMi03NWRwaTwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+Zm9udHMtSVNPODg1OS0yLTEwMGRwaTwvcGFja2FnZXJlcT4KKyAgICA8L3BhY2thZ2VsaXN0PgorICA8L2dyb3VwPgorCisgICA8Z3JvdXA+CisgICAgPGlkPklTTzg4NTktOS1zdXBwb3J0PC9pZD4KKyAgICA8bmFtZT5JU084ODU5LTkgU3VwcG9ydDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iY3MiPlBvZHBvcmEgcHJvIElTTzg4NTktOTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZGEiPlVuZGVyc3TDuHR0ZWxzZSBmb3IgSVNPLTg4NTktOTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZGUiPklTTzg4NTktOSBTdXBwb3J0PC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJlcyI+U29wb3J0ZSBJU084ODU5LTk8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImZyIj5TdXBwb3J0IElTTzg4NTktOSA8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImlzIj5JU084ODU5LTkgc3R1w7BuaW5ndXI8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9Iml0Ij5TdXBwb3J0byBJU084ODU5LTk8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImphIj5JU084ODU5LTkg44K144Od44O844OIPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJrbyI+SVNPODg1OS05IOyngOybkDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ibm8iPlN0w7h0dGUgZm9yIElTTzg4NTktOTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0icHQiPlN1cG9ydGUgYSBJU084ODU5LTk8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InJ1Ij7Qn9C+0LTQtNC10YDQttC60LAgSVNPODg1OS05PC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJzdiI+U3TDtmQgZsO2ciBJU084ODU5LTk8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InpoX0NOIj5JU084ODU5LTkg5pSv5oyBPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJ6aF9UVyI+SVNPODg1OS05IOaUr+aPtDwvbmFtZT4KKyAgICA8dXNlcnZpc2libGU+ZmFsc2U8L3VzZXJ2aXNpYmxlPgorICAgIDxwYWNrYWdlbGlzdD4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+WEZyZWU4Ni1JU084ODU5LTktNzVkcGktZm9udHM8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPlhGcmVlODYtSVNPODg1OS05LTEwMGRwaS1mb250czwvcGFja2FnZXJlcT4KKyAgICA8L3BhY2thZ2VsaXN0PgorICA8L2dyb3VwPgorCisgIDxncm91cD4KKyAgICA8aWQ+Y3lyaWxsaWMtc3VwcG9ydDwvaWQ+CisgICAgPHVzZXJ2aXNpYmxlPmZhbHNlPC91c2VydmlzaWJsZT4KKyAgICA8bmFtZT5DeXJpbGxpYyBTdXBwb3J0PC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJjcyI+UG9kcG9yYSBwcm8gYXpidWt1PC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJkYSI+VW5kZXJzdMO4dHRlbHNlIGZvciBreXJpbGxpc2sgYWxmYWJldDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZGUiPlN1cHBvcnQgZsO8ciBLeXJpbGxpc2NoPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJlcyI+U29wb3J0ZSBwYXJhIGVsIGNpcsOtbGljbzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZnIiPlN1cHBvcnQgY3lyaWxsaXF1ZTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iaXMiPkvDvXLDrWzDrXNrYTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iaXQiPlN1cHBvcnRvIHBlciBpbCBjaXJpbGxpY288L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImphIj7jgrfjg6rjg6voqp7jga7jgrXjg53jg7zjg4g8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImtvIj7tgqTrprQg66y47J6QIOyngOybkDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ibm8iPlN0w7h0dGUgZm9yIGt5cmlsbGlzazwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0icHQiPlN1cG9ydGUgYSBDaXJpbGljbzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0icnUiPtCf0L7QtNC00LXRgNC20LrQsCDQutC40YDQuNC70LvQuNGG0Ys8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InN2Ij5TdMO2ZCBmw7ZyIGt5cmlsbGlza3QgYWxmYWJldDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iemhfQ04iPuilv+mHjOWwlOivreaUr+aMgTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iemhfVFciPuaWr+aLieWkq+iqnuaUr+aPtDwvbmFtZT4KKyAgICA8cGFja2FnZWxpc3Q+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPlhGcmVlODYtY3lyaWxsaWMtZm9udHM8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmZvbnRzLUtPSTgtUjwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+Zm9udHMtS09JOC1SLTEwMGRwaTwvcGFja2FnZXJlcT4KKyAgICA8L3BhY2thZ2VsaXN0PgorICA8L2dyb3VwPgorCisgIDxncm91cD4KKyAgICA8aWQ+YnJpdGlzaC1zdXBwb3J0PC9pZD4KKyAgICA8dXNlcnZpc2libGU+ZmFsc2U8L3VzZXJ2aXNpYmxlPgorICAgIDxuYW1lPkJyaXRpc2ggU3VwcG9ydDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iY3MiPlBvZHBvcmEgcHJvIGFuZ2xpxI10aW51IChWZWxrw6EgQnJpdMOhbmllKTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZGEiPlVuZGVyc3TDuHR0ZWxzZSBmb3IgYnJpdGlzayBlbmdlbHNrPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJkZSI+U3VwcG9ydCBmw7xyIEVuZ2xpc2NoIChHcm/Dn2JyaXRhbm5pZW4pPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJlcyI+U29wb3J0ZSBwYXJhIGVsIGluZ2zDqXMgYnJpdMOhbmljbzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZnIiPlN1cHBvcnQgYW5nbGFpczwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iaXMiPkJyZXNrYTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iaXQiPlN1cHBvcnRvIHBlciBsJmFwb3M7aW5nbGVzZSBicml0YW5uaWNvPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJqYSI+6Iux5Zu96Kqe44Gu44K144Od44O844OIPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJrbyI+7JiB6rWt7IudIOyYgeyWtCDsp4Dsm5A8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9Im5vIj5TdMO4dHRlIGZvciBicml0aXNrPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJwdCI+U3Vwb3J0ZSBhIEluZ2zDqnMgQnJpdMOibmljbzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0icnUiPtCf0L7QtNC00LXRgNC20LrQsCDQsdGA0LjRgtCw0L3RgdC60L7Qs9C+INCw0L3Qs9C70LjQudGB0LrQvtCz0L48L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InN2Ij5TdMO2ZCBmw7ZyIGJyaXR0aXNrIGVuZ2Vsc2thPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJ6aF9DTiI+6Iux5byP6Iux6K+t5pSv5oyBPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJ6aF9UVyI+6Iux5byP6Iux5paH5pSv5o+0PC9uYW1lPgorICAgIDxsYW5nb25seT5lbl9HQjwvbGFuZ29ubHk+CisgICAgPHBhY2thZ2VsaXN0PgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5hc3BlbGwtZW4tZ2I8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJvcHRpb25hbCIgcmVxdWlyZXM9ImtkZWxpYnMiPmtkZS1pMThuLUJyaXRpc2g8L3BhY2thZ2VyZXE+CisgICAgPC9wYWNrYWdlbGlzdD4KKyAgPC9ncm91cD4KKyAgCisgIDxncm91cD4KKyAgICA8aWQ+Y2FuYWRpYW4tc3VwcG9ydDwvaWQ+CisgICAgPHVzZXJ2aXNpYmxlPmZhbHNlPC91c2VydmlzaWJsZT4KKyAgICA8bmFtZT5DYW5hZGlhbiBTdXBwb3J0PC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJjcyI+UG9kcG9yYSBwcm8gYW5nbGnEjXRpbnUgKEthbmFkYSk8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImRhIj5VbmRlcnN0w7h0dGVsc2UgZm9yIGNhbmFkaXNrIGVuZ2Vsc2s8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImRlIj5TdXBwb3J0IGbDvHIgRW5nbGlzY2ggKEthbmFkYSk8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImVzIj5Tb3BvcnRlIHBhcmEgZWwgZnJhbmPDqXMgZGUgQ2FuYWTDoTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZnIiPlN1cHBvcnQgY2FuYWRpZW48L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImlzIj5DYW5hZMOtc2thPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJpdCI+U3VwcG9ydG8gcGVyIGlsIGNhbmFkZXNlPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJqYSI+44Kr44OK44OA6Iux6Kqe44Gu44K144Od44O844OIPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJrbyI+7LqQ64KY64uk7IudIOyYgeyWtCDsp4Dsm5A8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9Im5vIj5TdMO4dHRlIGZvciBrYW5hZGlzazwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0icHQiPlN1cG9ydGUgYSBDYW5hZGlhbm88L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InJ1Ij7Qn9C+0LTQtNC10YDQttC60LAg0LrQsNC90LDQtNGB0LrQvtCz0L4g0LDQvdCz0LvQuNC50YHQutC+0LPQvjwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ic3YiPlN0w7ZkIGbDtnIga2FuYWRlbnNpc2sgZW5nZWxza2E8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InpoX0NOIj7liqDmi7/lpKflvI/oi7Hor63mlK/mjIE8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InpoX1RXIj7liqDmi7/lpKfoi7HmlofmlK/mj7Q8L25hbWU+CisgICAgPGxhbmdvbmx5PmVuX0NBPC9sYW5nb25seT4KKyAgICA8cGFja2FnZWxpc3Q+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmFzcGVsbC1lbi1jYTwvcGFja2FnZXJlcT4KKyAgICA8L3BhY2thZ2VsaXN0PgorICA8L2dyb3VwPgorICAKKyAgPGdyb3VwPgorICAgIDxpZD5jYXRhbGFuLXN1cHBvcnQ8L2lkPgorICAgIDx1c2VydmlzaWJsZT5mYWxzZTwvdXNlcnZpc2libGU+CisgICAgPG5hbWU+Q2F0YWxhbiBTdXBwb3J0PC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJjcyI+UG9kcG9yYSBwcm8ga2F0YWzDoW7FoXRpbnU8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImRhIj5VbmRlcnN0w7h0dGVsc2UgZm9yIGthdGFsYW5zazwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZGUiPlN1cHBvcnQgZsO8ciBTcGFuaXNjaCAoS2F0YWxhbmllbik8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImVzIj5Tb3BvcnRlIHBhcmEgZWwgY2F0YWzDoW48L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImZyIj5TdXBwb3J0IGNhdGFsYW48L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImlzIj5DYXRhbMOzbnNrYTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iaXQiPlN1cHBvcnRvIHBlciBpbCBjYXRhbGFubzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iamEiPuOCq+OCv+ODq+ODvOODi+ODo+iqnuOBruOCteODneODvOODiDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ia28iPuy5tO2DiOuhnOuLiOyVhOyWtCDsp4Dsm5A8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9Im5vIj5TdMO4dHRlIGZvciBrYXRhbGFuc2s8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InB0Ij5TdXBvcnRlIGEgQ2F0YWzDo288L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InJ1Ij7Qn9C+0LTQtNC10YDQttC60LAg0LrQsNGC0LDQu9C+0L3RgdC60L7Qs9C+INGP0LfRi9C60LA8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InN2Ij5TdMO2ZCBmw7ZyIGthdGFsYW5za2E8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InpoX0NOIj7liqDms7Dpmobor63mlK/mjIE8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InpoX1RXIj7liqDms7Dpmoboqp7mlK/mj7Q8L25hbWU+CisgICAgPGxhbmdvbmx5PmNhPC9sYW5nb25seT4KKyAgICA8cGFja2FnZWxpc3Q+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmFzcGVsbC1jYTwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im9wdGlvbmFsIiByZXF1aXJlcz0ia2RlbGlicyI+a2RlLWkxOG4tQ2F0YWxhbjwvcGFja2FnZXJlcT4KKyAgICA8L3BhY2thZ2VsaXN0PgorICA8L2dyb3VwPgorCisgIDxncm91cD4KKyAgICA8aWQ+YnJhemlsaWFuLXN1cHBvcnQ8L2lkPgorICAgIDx1c2VydmlzaWJsZT5mYWxzZTwvdXNlcnZpc2libGU+CisgICAgPG5hbWU+QnJhemlsaWFuIFN1cHBvcnQ8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImNzIj5Qb2Rwb3JhIHBybyBwb3J0dWdhbMWhdGludSAoQnJhesOtbGllKTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZGEiPlVuZGVyc3TDuHR0ZWxzZSBmb3IgYnJhc2lsaWFuc2sgcG9ydHVnaXNpc2s8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImRlIj5TdXBwb3J0IGbDvHIgUG9ydHVnaWVzaXNjaCAoQnJhc2lsaWVuKTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZXMiPlNvcG9ydGUgcGFyYSBlbCBicmFzaWxlw7FvPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJmciI+U3VwcG9ydCBicsOpc2lsaWVuPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJpcyI+QnJhc8OtbMOtc2thPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJpdCI+U3VwcG9ydG8gcGVyIGlsIGJyYXNpbGlhbm88L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImphIj7jg5bjg6njgrjjg6voqp7jga7jgrXjg53jg7zjg4g8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImtvIj7ruIzrnbzsp4jslrQg7KeA7JuQPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJubyI+U3TDuHR0ZSBmb3IgcG9ydHVnaXNpc2soQnJhc2lsKTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0icHQiPlN1cG9ydGUgYSBQb3J0dWd1w6pzIGRvIEJyYXNpbDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0icnUiPtCf0L7QtNC00LXRgNC20LrQsCDQsdGA0LDQt9C40LvRjNGB0LrQvtCz0L4g0Y/Qt9GL0LrQsDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ic3YiPlN0w7ZkIGbDtnIgYnJhc2lsaWFuc2sgcG9ydHVnaXNpc2thPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJ6aF9DTiI+5be06KW/6K+t5pSv5oyBPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJ6aF9UVyI+5be06KW/5byP6JGh6JCE54mZ6Kqe5pSv5o+0PC9uYW1lPgorICAgIDxsYW5nb25seT5wdF9CUjwvbGFuZ29ubHk+CisgICAgPGdyb3VwbGlzdD4KKyAgICAgIDxncm91cHJlcT5wb3J0dWd1ZXNlLXN1cHBvcnQ8L2dyb3VwcmVxPgorICAgIDwvZ3JvdXBsaXN0PgorICAgIDxwYWNrYWdlbGlzdD4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+YXNwZWxsLXB0X0JSPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ib3B0aW9uYWwiIHJlcXVpcmVzPSJrZGVsaWJzIj5rZGUtaTE4bi1CcmF6aWw8L3BhY2thZ2VyZXE+CisgICAgPC9wYWNrYWdlbGlzdD4KKyAgPC9ncm91cD4KKworICA8Z3JvdXA+CisgICAgPGlkPmN6ZWNoLXN1cHBvcnQ8L2lkPgorICAgIDx1c2VydmlzaWJsZT5mYWxzZTwvdXNlcnZpc2libGU+CisgICAgPG5hbWU+Q3plY2ggU3VwcG9ydDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iY3MiPlBvZHBvcmEgcHJvIMSNZcWhdGludTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZGEiPlVuZGVyc3TDuHR0ZWxzZSBmb3IgdGpla2tpc2s8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImRlIj5TdXBwb3J0IGbDvHIgVHNjaGVjaGlzY2g8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImVzIj5Tb3BvcnRlIHBhcmEgZWwgY2hlY288L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImZyIj5TdXBwb3J0IHRjaMOocXVlPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJpcyI+VGrDqWtrbmVza2E8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9Iml0Ij5TdXBwb3J0byBwZXIgaWwgY2VjbzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iamEiPuODgeOCp+OCs+iqnuOBruOCteODneODvOODiDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ia28iPuyytOy9lOyWtCDsp4Dsm5A8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9Im5vIj5TdMO4dHRlIGZvciB0c2pla2tpc2s8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InB0Ij5TdXBvcnRlIGEgQ2hlY288L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InJ1Ij7Qn9C+0LTQtNC10YDQttC60LAg0YfQtdGI0YHQutC+0LPQviDRj9C30YvQutCwPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJzdiI+U3TDtmQgZsO2ciB0amVja2lza2E8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InpoX0NOIj7mjbflhYvor63mlK/mjIE8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InpoX1RXIj7mjbflhYvoqp7mlK/mj7Q8L25hbWU+CisgICAgPGxhbmdvbmx5PmN6PC9sYW5nb25seT4KKyAgICA8Z3JvdXBsaXN0PgorICAgICAgPGdyb3VwcmVxPklTTzg4NTktMi1zdXBwb3J0PC9ncm91cHJlcT4KKyAgICA8L2dyb3VwbGlzdD4KKyAgICA8cGFja2FnZWxpc3Q+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJvcHRpb25hbCIgcmVxdWlyZXM9ImtkZWxpYnMiPmtkZS1pMThuLUN6ZWNoPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5tYW4tcGFnZXMtY3M8L3BhY2thZ2VyZXE+CisgICAgPC9wYWNrYWdlbGlzdD4KKyAgPC9ncm91cD4KKworICA8Z3JvdXA+CisgICAgPGlkPmRhbmlzaC1zdXBwb3J0PC9pZD4KKyAgICA8dXNlcnZpc2libGU+ZmFsc2U8L3VzZXJ2aXNpYmxlPgorICAgIDxuYW1lPkRhbmlzaCBTdXBwb3J0PC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJjcyI+UG9kcG9yYSBwcm8gZMOhbsWhdGludTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZGEiPlVuZGVyc3TDuHR0ZWxzZSBmb3IgZGFuc2s8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImRlIj5TdXBwb3J0IGbDvHIgRMOkbmlzY2g8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImVzIj5Tb3BvcnRlIHBhcmEgZWwgZGFuw6lzPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJmciI+U3VwcG9ydCBkYW5vaXM8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImlzIj5EYW5za2E8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9Iml0Ij5TdXBwb3J0byBwZXIgaWwgZGFuZXNlPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJqYSI+44OH44Oz44Oe44O844Kv6Kqe44Gu44K144Od44O844OIPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJrbyI+642066eI7YGs7Ja0IOyngOybkDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ibm8iPlN0w7h0dGUgZm9yIGRhbnNrPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJwdCI+U3Vwb3J0ZSBhIERpbmFtYXJxdcOqczwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0icnUiPtCf0L7QtNC00LXRgNC20LrQsCDQtNCw0YLRgdC60L7Qs9C+INGP0LfRi9C60LA8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InN2Ij5TdMO2ZCBmw7ZyIGRhbnNrYTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iemhfQ04iPuS4uem6puivreaUr+aMgTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iemhfVFciPuS4uem6peiqnuaUr+aPtDwvbmFtZT4KKyAgICA8bGFuZ29ubHk+ZGFfREs8L2xhbmdvbmx5PgorICAgIDxwYWNrYWdlbGlzdD4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+YXNwZWxsLWRhPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ib3B0aW9uYWwiIHJlcXVpcmVzPSJrZGVsaWJzIj5rZGUtaTE4bi1EYW5pc2g8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPm1hbi1wYWdlcy1kYTwvcGFja2FnZXJlcT4KKyAgICA8L3BhY2thZ2VsaXN0PgorICA8L2dyb3VwPgorCisgIDxncm91cD4KKyAgICA8aWQ+ZHV0Y2gtc3VwcG9ydDwvaWQ+CisgICAgPHVzZXJ2aXNpYmxlPmZhbHNlPC91c2VydmlzaWJsZT4KKyAgICA8bmFtZT5EdXRjaCBTdXBwb3J0PC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJjcyI+UG9kcG9yYSBob2xhbmTFoXRpbnk8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImRhIj5VbmRlcnN0w7h0dGVsc2UgZm9yIGhvbGxhbmRzazwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZGUiPlN1cHBvcnQgZsO8ciBIb2xsw6RuZGlzY2g8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImVzIj5Tb3BvcnRlIHBhcmEgZWwgaG9sYW5kw6lzPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJmciI+U3VwcG9ydCBob2xsYW5kYWlzPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJpcyI+SG9sbGVuc2thPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJpdCI+U3VwcG9ydG8gcGVyIGwmYXBvcztvbGFuZGVzZTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iamEiPuOCquODqeODs+ODgOiqnuOBruOCteODneODvOODiDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ia28iPuuEpOuNuOuegOuTnOyWtCDsp4Dsm5A8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9Im5vIj5TdMO4dHRlIGZvciBuZWRlcmxhbmRzazwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0icHQiPlN1cG9ydGUgYSBIb2xhbmTDqnM8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InJ1Ij7Qn9C+0LTQtNC10YDQttC60LAg0LTQsNGC0YHQutC+0LPQviDRj9C30YvQutCwPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJzdiI+U3TDtmQgZsO2ciBuZWRlcmzDpG5kc2thPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJ6aF9DTiI+6I235YWw6K+t5pSv5oyBPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJ6aF9UVyI+6I236Jit6Kqe5pSv5o+0PC9uYW1lPgorICAgIDxsYW5nb25seT5ubDwvbGFuZ29ubHk+CisgICAgPHBhY2thZ2VsaXN0PgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5hc3BlbGwtbmw8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJvcHRpb25hbCIgcmVxdWlyZXM9ImtkZWxpYnMiPmtkZS1pMThuLUR1dGNoPC9wYWNrYWdlcmVxPgorICAgIDwvcGFja2FnZWxpc3Q+CisgIDwvZ3JvdXA+CisKKyAgPGdyb3VwPgorICAgIDxpZD5lc3Rvbmlhbi1zdXBwb3J0PC9pZD4KKyAgICA8dXNlcnZpc2libGU+ZmFsc2U8L3VzZXJ2aXNpYmxlPgorICAgIDxuYW1lPkVzdG9uaWFuIFN1cHBvcnQ8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImNzIj5Qb2Rwb3JhIHBybyBlc3RvbsWhdGludTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZGEiPlVuZGVyc3TDuHR0ZWxzZSBmb3IgZXN0aXNrPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJkZSI+U3VwcG9ydCBmw7xyIEVzdG9uaXNjaDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZXMiPlNvcG9ydGUgcGFyYSBlbCBlc3RvbmlvPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJmciI+U3VwcG9ydCBlc3RvbmllbjwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iaXMiPkVpc3RuZXNrYTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iaXQiPlN1cHBvcnRvIHBlciBsJmFwb3M7ZXN0b25lPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJqYSI+44Ko44K544OI44OL44Ki6Kqe44Gu44K144Od44O844OIPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJrbyI+7JeQ7Iqk7Yag64uI7JWE7Ja0IOyngOybkDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ibm8iPlN0w7h0dGUgZm9yIGVzdGxhbmRzazwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0icHQiPlN1cG9ydGUgYSBFc3TDs25pbzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0icnUiPtCf0L7QtNC00LXRgNC20LrQsCDRjdGB0YLQvtC90YHQutC+0LPQviDRj9C30YvQutCwPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJzdiI+U3TDtmQgZsO2ciBlc3RuaXNrYTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iemhfQ04iPueIseaymeWwvOS6muivreaUr+aMgTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iemhfVFciPuaEm+aymeWwvOS6nuiqnuaUr+aPtDwvbmFtZT4KKyAgICA8bGFuZ29ubHk+ZXRfRUU8L2xhbmdvbmx5PgorICAgIDxncm91cGxpc3Q+CisgICAgICA8Z3JvdXByZXE+SVNPODg1OS0yLXN1cHBvcnQ8L2dyb3VwcmVxPgorICAgIDwvZ3JvdXBsaXN0PgorICAgIDxwYWNrYWdlbGlzdD4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im9wdGlvbmFsIiByZXF1aXJlcz0ia2RlbGlicyI+a2RlLWkxOG4tRXN0b25pYW48L3BhY2thZ2VyZXE+CisgICAgPC9wYWNrYWdlbGlzdD4KKyAgPC9ncm91cD4KKworICA8Z3JvdXA+CisgICAgPGlkPmZpbmlzaC1zdXBwb3J0PC9pZD4KKyAgICA8dXNlcnZpc2libGU+ZmFsc2U8L3VzZXJ2aXNpYmxlPgorICAgIDxuYW1lPkZpbm5pc2ggU3VwcG9ydDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iY3MiPlBvZHBvcmEgcHJvIGZpbsWhdGludTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZGEiPlVuZGVyc3TDuHR0ZWxzZSBmb3IgZmluc2s8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImRlIj5TdXBwb3J0IGbDvHIgRmlubmlzY2g8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImVzIj5GaW5hbGl6YXIgZWwgc29wb3J0ZTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZnIiPlN1cHBvcnQgZmlubm9pczwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iaXMiPkZpbm5za2E8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9Iml0Ij5TdXBwb3J0byBwZXIgaWwgZmlubGFuZGVzZTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iamEiPuODleOCo+ODs+ODqeODs+ODieiqnuOBruOCteODneODvOODiDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ia28iPu2VgOuegOuTnOyWtCDsp4Dsm5A8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9Im5vIj5TdMO4dHRlIGZvciBmaW5zazwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0icHQiPlN1cG9ydGUgYSBGaW5sYW5kw6pzPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJydSI+0J/QvtC00LTQtdGA0LbQutCwINGE0LjQvdGB0LrQvtCz0L4g0Y/Qt9GL0LrQsDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ic3YiPlN0w7ZkIGbDtnIgZmluc2thPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJ6aF9DTiI+6Iqs5YWw6K+t5pSv5oyBPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJ6aF9UVyI+6Iqs6Jit6Kqe5pSv5o+0PC9uYW1lPgorICAgIDxsYW5nb25seT5maV9GSTwvbGFuZ29ubHk+CisgICAgPHBhY2thZ2VsaXN0PgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ib3B0aW9uYWwiIHJlcXVpcmVzPSJrZGVsaWJzIj5rZGUtaTE4bi1GaW5uaXNoPC9wYWNrYWdlcmVxPgorICAgIDwvcGFja2FnZWxpc3Q+CisgIDwvZ3JvdXA+CisKKyAgPGdyb3VwPgorICAgIDxpZD5nZXJtYW4tc3VwcG9ydDwvaWQ+CisgICAgPHVzZXJ2aXNpYmxlPmZhbHNlPC91c2VydmlzaWJsZT4KKyAgICA8bmFtZT5HZXJtYW4gU3VwcG9ydDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iY3MiPlBvZHBvcmEgcHJvIG7Em23EjWludTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZGEiPlVuZGVyc3TDuHR0ZWxzZSBmb3IgdHlzazwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZGUiPlN1cHBvcnQgZsO8ciBEZXV0c2NoPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJlcyI+U29wb3J0ZSBwYXJhIGVsIGFsZW3DoW48L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImZyIj5TdXBwb3J0IGFsbGVtYW5kPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJpcyI+w57DvXNrYTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iaXQiPlN1cHBvcnRvIHBlciBpbCB0ZWRlc2NvPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJqYSI+44OJ44Kk44OE6Kqe44Gu44K144Od44O844OIPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJrbyI+64+F7J287Ja0IOyngOybkDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ibm8iPlN0w7h0dGUgZm9yIHR5c2s8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InB0Ij5TdXBvcnRlIGEgQWxlbcOjbzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0icnUiPtCf0L7QtNC00LXRgNC20LrQsCDQvdC10LzQtdGG0LrQvtCz0L4g0Y/Qt9GL0LrQsDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ic3YiPlN0w7ZkIGbDtnIgdHlza2E8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InpoX0NOIj7lvrfor63mlK/mjIE8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InpoX1RXIj7lvrfoqp7mlK/mj7Q8L25hbWU+CisgICAgPGxhbmdvbmx5PmRlX0RFPC9sYW5nb25seT4KKyAgICA8cGFja2FnZWxpc3Q+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmFzcGVsbC1kZTwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im9wdGlvbmFsIiByZXF1aXJlcz0ia2RlbGlicyI+a2RlLWkxOG4tR2VybWFuPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5tYW4tcGFnZXMtZGU8L3BhY2thZ2VyZXE+CisgICAgPC9wYWNrYWdlbGlzdD4KKyAgPC9ncm91cD4KKworICA8Z3JvdXA+CisgICAgPGlkPmdyZWVrLXN1cHBvcnQ8L2lkPgorICAgIDx1c2VydmlzaWJsZT5mYWxzZTwvdXNlcnZpc2libGU+CisgICAgPG5hbWU+R3JlZWsgU3VwcG9ydDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iY3MiPlBvZHBvcmEgcHJvIMWZZcSNdGludTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZGEiPlVuZGVyc3TDuHR0ZWxzZSBmb3IgZ3LDpnNrPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJkZSI+U3VwcG9ydCBmw7xyIEdyaWVjaGlzY2g8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImVzIj5Tb3BvcnRlIHBhcmEgZWwgZ3JpZWdvPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJmciI+U3VwcG9ydCBncmVjPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJpcyI+R3LDrXNrYTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iaXQiPlN1cHBvcnRvIHBlciBpbCBncmVjbzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iamEiPuOCruODquOCt+ODo+iqnuOBruOCteODneODvOODiDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ia28iPuq3uOumrOyKpOyWtCDsp4Dsm5A8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9Im5vIj5TdMO4dHRlIGZvciBncmVzazwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0icHQiPlN1cG9ydGUgYSBHcmVnbzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0icnUiPtCf0L7QtNC00LXRgNC20LrQsCDQs9GA0LXRh9C10YHQutC+0LPQviDRj9C30YvQutCwPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJzdiI+U3TDtmQgZsO2ciBncmVraXNrYTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iemhfQ04iPuW4jOiFiuivreaUr+aMgTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iemhfVFciPuW4jOiHmOiqnuaUr+aPtDwvbmFtZT4KKyAgICA8bGFuZ29ubHk+ZWxfR1I8L2xhbmdvbmx5PgorICAgIDxwYWNrYWdlbGlzdD4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im9wdGlvbmFsIiByZXF1aXJlcz0ia2RlbGlicyI+a2RlLWkxOG4tR3JlZWs8L3BhY2thZ2VyZXE+CisgICAgPC9wYWNrYWdlbGlzdD4KKyAgPC9ncm91cD4KKworICA8Z3JvdXA+CisgICAgPGlkPmhlYnJldy1zdXBwb3J0PC9pZD4KKyAgICA8dXNlcnZpc2libGU+ZmFsc2U8L3VzZXJ2aXNpYmxlPgorICAgIDxuYW1lPkhlYnJldyBTdXBwb3J0PC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJjcyI+UG9kcG9yYSBwcm8gaGVicmVqxaF0aW51PC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJkYSI+VW5kZXJzdMO4dHRlbHNlIGZvciBoZWJyYWlzazwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZGUiPlN1cHBvcnQgZsO8ciBIZWJyw6Rpc2NoPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJlcyI+U29wb3J0ZSBwYXJhIGVsIGhlYnJlbzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZnIiPlN1cHBvcnQgaMOpYnJldTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iaXMiPkhlYnJlc2thPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJpdCI+U3VwcG9ydG8gcGVyIGwmYXBvcztlYnJhaWNvPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJqYSI+44OY44OW44Op44Kk6Kqe44Gu44K144Od44O844OIPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJrbyI+7Zek67iM66Oo7Ja0IOyngOybkDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ibm8iPlN0w7h0dGUgZm9yIGhlYnJhaXNrPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJwdCI+U3Vwb3J0ZSBhIEhlYnJldTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0icnUiPtCf0L7QtNC00LXRgNC20LrQsCDRj9C30YvQutCwINC40LLRgNC40YI8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InN2Ij5TdMO2ZCBmw7ZyIGhlYnJlaXNrYTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iemhfQ04iPuW4jOS8r+adpeivreaUr+aMgTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iemhfVFciPuW4jOS8r+S+huiqnuaUr+aPtDwvbmFtZT4KKyAgICA8bGFuZ29ubHk+aGVfSUw8L2xhbmdvbmx5PgorICAgIDxwYWNrYWdlbGlzdD4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im9wdGlvbmFsIiByZXF1aXJlcz0ia2RlbGlicyI+a2RlLWkxOG4tSGVicmV3PC9wYWNrYWdlcmVxPgorICAgIDwvcGFja2FnZWxpc3Q+CisgIDwvZ3JvdXA+CisKKyAgPGdyb3VwPgorICAgIDxpZD5odW5nYXJpYW4tc3VwcG9ydDwvaWQ+CisgICAgPHVzZXJ2aXNpYmxlPmZhbHNlPC91c2VydmlzaWJsZT4KKyAgICA8bmFtZT5IdW5nYXJpYW4gU3VwcG9ydDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iY3MiPlBvZHBvcmEgcHJvIG1hxI9hcsWhdGludTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZGEiPlVuZGVyc3TDuHR0ZWxzZSBmb3IgdW5nYXJuc2s8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImRlIj5TdXBwb3J0IGbDvHIgVW5nYXJpc2NoPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJlcyI+U29wb3J0ZSBwYXJhIGVsIGjDum5nYXJvPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJmciI+U3VwcG9ydCBob25ncm9pczwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iaXMiPlVuZ3ZlcnNrYTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iaXQiPlN1cHBvcnRvIHBlciBsJmFwb3M7dW5naGVyZXNlPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJqYSI+44OP44Oz44Ks44Oq44O86Kqe44Gu44K144Od44O844OIPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJrbyI+7Zed6rCA66as7JWE7Ja0IOyngOybkDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ibm8iPlN0w7h0dGUgZm9yIHVuZ2Fyc2s8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InB0Ij5TdXBvcnRlIGEgSHVuZ2FybzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0icnUiPtCf0L7QtNC00LXRgNC20LrQsCDQstC10L3Qs9C10YDRgdC60L7Qs9C+INGP0LfRi9C60LA8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InN2Ij5TdMO2ZCBmw7ZyIHVuZ2Vyc2thPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJ6aF9DTiI+5YyI54mZ5Yip6K+t5pSv5oyBPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJ6aF9UVyI+5YyI54mZ5Yip6Kqe5pSv5o+0PC9uYW1lPgorICAgIDxsYW5nb25seT5odV9IVTwvbGFuZ29ubHk+CisgICAgPGdyb3VwbGlzdD4KKyAgICAgIDxncm91cHJlcT5JU084ODU5LTItc3VwcG9ydDwvZ3JvdXByZXE+CisgICAgPC9ncm91cGxpc3Q+CisgICAgPHBhY2thZ2VsaXN0PgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ib3B0aW9uYWwiIHJlcXVpcmVzPSJrZGVsaWJzIj5rZGUtaTE4bi1IdW5nYXJpYW48L3BhY2thZ2VyZXE+CisgICAgPC9wYWNrYWdlbGlzdD4KKyAgPC9ncm91cD4KKworICA8Z3JvdXA+CisgICAgPGlkPnNwYW5pc2gtc3VwcG9ydDwvaWQ+CisgICAgPHVzZXJ2aXNpYmxlPmZhbHNlPC91c2VydmlzaWJsZT4KKyAgICA8bmFtZT5TcGFuaXNoIFN1cHBvcnQ8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImNzIj5Qb2Rwb3JhIHBybyDFoXBhbsSbbMWhdGludTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZGEiPlVuZGVyc3TDuHR0ZWxzZSBmb3Igc3BhbnNrPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJkZSI+U3VwcG9ydCBmw7xyIFNwYW5pc2NoPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJlcyI+U29wb3J0ZSBwYXJhIGVsIGVzcGHDsW9sPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJmciI+U3VwcG9ydCBlc3BhZ25vbDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iaXMiPlNww6Fuc2thPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJpdCI+U3VwcG9ydG8gcGVyIGxvIHNwYWdub2xvPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJqYSI+44K544Oa44Kk44Oz6Kqe44Gu44K144Od44O844OIPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJrbyI+7Iqk7Y6Y7J247Ja0IOyngOybkDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ibm8iPlN0w7h0dGUgZm9yIHNwYW5zazwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0icHQiPlN1cG9ydGUgYSBFc3BhbmhvbDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0icnUiPtCf0L7QtNC00LXRgNC20LrQsCDQuNGB0L/QsNC90YHQutC+0LPQviDRj9C30YvQutCwPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJzdiI+U3TDtmQgZsO2ciBzcGFuc2thPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJ6aF9DTiI+6KW/54+t54mZ6K+t5pSv5oyBPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJ6aF9UVyI+6KW/54+t54mZ6Kqe5pSv5o+0PC9uYW1lPgorICAgIDxsYW5nb25seT5lc19FUzwvbGFuZ29ubHk+CisgICAgPHBhY2thZ2VsaXN0PgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5hc3BlbGwtZXM8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJvcHRpb25hbCIgcmVxdWlyZXM9ImtkZWxpYnMiPmtkZS1pMThuLVNwYW5pc2g8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPm1hbi1wYWdlcy1lczwvcGFja2FnZXJlcT4KKyAgICA8L3BhY2thZ2VsaXN0PgorICA8L2dyb3VwPgorCisgIDxncm91cD4KKyAgICA8aWQ+ZnJlbmNoLXN1cHBvcnQ8L2lkPgorICAgIDx1c2VydmlzaWJsZT5mYWxzZTwvdXNlcnZpc2libGU+CisgICAgPG5hbWU+RnJlbmNoIFN1cHBvcnQ8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImNzIj5Qb2Rwb3JhIHBybyBmcmFuY291esWhdGludTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZGEiPlVuZGVyc3TDuHR0ZWxzZSBmb3IgZnJhbnNrPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJkZSI+U3VwcG9ydCBmw7xyIEZyYW56w7ZzaXNjaDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZXMiPlNvcG9ydGUgcGFyYSBlbCBmcmFuY8OpczwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZnIiPlN1cHBvcnQgZnJhbsOnYWlzPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJpcyI+RnJhbnNrYTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iaXQiPlN1cHBvcnRvIHBlciBpbCBmcmFuY2VzZTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iamEiPuODleODqeODs+OCueiqnuOBruOCteODneODvOODiDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ia28iPu2UhOuekeyKpOyWtCDsp4Dsm5A8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9Im5vIj5TdMO4dHRlIGZvciBmcmFuc2s8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InB0Ij5TdXBvcnRlIGEgRnJhbmPDqnM8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InJ1Ij7Qn9C+0LTQtNC10YDQttC60LAg0YTRgNCw0L3RhtGD0LfRgdC60L7Qs9C+INGP0LfRi9C60LA8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InN2Ij5TdMO2ZCBmw7ZyIGZyYW5za2E8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InpoX0NOIj7ms5Xor63mlK/mjIE8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InpoX1RXIj7ms5Xoqp7mlK/mj7Q8L25hbWU+CisgICAgPGxhbmdvbmx5PmZyX0ZSPC9sYW5nb25seT4KKyAgICA8cGFja2FnZWxpc3Q+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmFzcGVsbC1mcjwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im9wdGlvbmFsIiByZXF1aXJlcz0ia2RlbGlicyI+a2RlLWkxOG4tRnJlbmNoPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5tYW4tcGFnZXMtZnI8L3BhY2thZ2VyZXE+CisgICAgPC9wYWNrYWdlbGlzdD4KKyAgPC9ncm91cD4KKworICA8Z3JvdXA+CisgICAgPGlkPmljZWxhbmRpYy1zdXBwb3J0PC9pZD4KKyAgICA8dXNlcnZpc2libGU+ZmFsc2U8L3VzZXJ2aXNpYmxlPgorICAgIDxuYW1lPkljZWxhbmRpYyBTdXBwb3J0PC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJjcyI+UG9kcG9yYSBwcm8gaXNsYW5kxaF0aW51PC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJkYSI+VW5kZXJzdMO4dHRlbHNlIGZvciBpc2xhbmRzazwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZGUiPlN1cHBvcnQgZsO8ciBJc2zDpG5kaXNjaDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZXMiPlNvcG9ydGUgcGFyYSBlbCBpc2xhbmTDqXM8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImZyIj5TdXBwb3J0IGlzbGFuZGFpczwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iaXMiPsONc2xlbnNrYTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iaXQiPlN1cHBvcnRvIHBlciBsJmFwb3M7aXNsYW5kZXNlPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJqYSI+44Ki44Kk44K544Op44Oz44OJ6Kqe44Gu44K144Od44O844OIPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJrbyI+7JWE7J207Iqs656A65Oc7Ja0IOyngOybkDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ibm8iPlN0w7h0dGUgZm9yIGlzbGFuZHNrPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJwdCI+U3Vwb3J0ZSBhIElzbGFuZMOqczwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0icnUiPtCf0L7QtNC00LXRgNC20LrQsCDQuNGB0LvQsNC90LTRgdC60L7Qs9C+INGP0LfRi9C60LA8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InN2Ij5TdMO2ZCBmw7ZyIGlzbMOkbmRza2E8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InpoX0NOIj7lhrDlspvor63mlK/mjIE8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InpoX1RXIj7lhrDls7boqp7mlK/mj7Q8L25hbWU+CisgICAgPGxhbmdvbmx5PmlzX0lTPC9sYW5nb25seT4KKyAgICA8cGFja2FnZWxpc3Q+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJvcHRpb25hbCIgcmVxdWlyZXM9ImtkZWxpYnMiPmtkZS1pMThuLUljZWxhbmRpYzwvcGFja2FnZXJlcT4KKyAgICA8L3BhY2thZ2VsaXN0PgorICA8L2dyb3VwPgorCisgIDxncm91cD4KKyAgICA8aWQ+aXRhbGlhbi1zdXBwb3J0PC9pZD4KKyAgICA8dXNlcnZpc2libGU+ZmFsc2U8L3VzZXJ2aXNpYmxlPgorICAgIDxuYW1lPkl0YWxpYW4gU3VwcG9ydDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iY3MiPlBvZHBvcmEgcHJvIGl0YWzFoXRpbnU8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImRhIj5VbmRlcnN0w7h0dGVsc2UgZm9yIGl0YWxpZW5zazwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZGUiPlN1cHBvcnQgZsO8ciBJdGFsaWVuaXNjaDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZXMiPlNvcG9ydGUgcGFyYSBlbCBpdGFsaWFubzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZnIiPlN1cHBvcnQgaXRhbGllbjwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iaXMiPsONdGFsc2thPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJpdCI+U3VwcG9ydG8gcGVyIGwmYXBvcztpdGFsaWFubzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iamEiPuOCpOOCv+ODquOCouiqnuOBruOCteODneODvOODiDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ia28iPuydtO2DiOumrOyVhOyWtCDsp4Dsm5A8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9Im5vIj5TdMO4dHRlIGZvciBpdGFsaWVuc2s8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InB0Ij5TdXBvcnRlIGEgSXRhbGlhbm88L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InJ1Ij7Qn9C+0LTQtNC10YDQttC60LAg0LjRgtCw0LvRjNGP0L3RgdC60L7Qs9C+INGP0LfRi9C60LA8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InN2Ij5TdMO2ZCBmw7ZyIGl0YWxpZW5za2E8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InpoX0NOIj7mhI/lpKfliKnor63mlK/mjIE8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InpoX1RXIj7nvqnlpKfliKnmlofmlK/mj7Q8L25hbWU+CisgICAgPGxhbmdvbmx5Pml0X0lUPC9sYW5nb25seT4KKyAgICA8cGFja2FnZWxpc3Q+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmFzcGVsbC1pdDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im9wdGlvbmFsIiByZXF1aXJlcz0ia2RlbGlicyI+a2RlLWkxOG4tSXRhbGlhbjwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+bWFuLXBhZ2VzLWl0PC9wYWNrYWdlcmVxPgorICAgIDwvcGFja2FnZWxpc3Q+CisgIDwvZ3JvdXA+CisKKyAgPGdyb3VwPgorICAgIDxpZD5rb3JlYW4tc3VwcG9ydDwvaWQ+CisgICAgPHVzZXJ2aXNpYmxlPmZhbHNlPC91c2VydmlzaWJsZT4KKyAgICA8bmFtZT5Lb3JlYW4gU3VwcG9ydDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iY3MiPlBvZHBvcmEgcHJvIGtvcmVqxaF0aW51PC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJkYSI+VW5kZXJzdMO4dHRlbHNlIGZvciBrb3JlYW5zazwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZGUiPlN1cHBvcnQgZsO8ciBLb3JlYW5pc2NoPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJlcyI+U29wb3J0ZSBwYXJhIGVsIGNvcmVhbm88L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImZyIj5TdXBwb3J0IGNvcsOpZW48L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImlzIj5Lw7NyZXNrYTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iaXQiPlN1cHBvcnRvIHBlciBpbCBjb3JlYW5vPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJqYSI+6Z+T5Zu96Kqe44Gu44K144Od44O844OIPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJrbyI+7ZWc6rWt7Ja0IOyngOybkDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ibm8iPlN0w7h0dGUgZm9yIGtvcmVhbnNrPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJwdCI+U3Vwb3J0ZSBhIENvcmVhbm88L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InJ1Ij7Qn9C+0LTQtNC10YDQttC60LAg0LrQvtGA0LXQudGB0LrQvtCz0L4g0Y/Qt9GL0LrQsDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ic3YiPlN0w7ZkIGbDtnIga29yZWFuc2thPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJ6aF9DTiI+6Z+p5paH5pSv5oyBPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJ6aF9UVyI+6Z+T5paH5pSv5o+0PC9uYW1lPgorICAgIDxsYW5nb25seT5rb19LUjwvbGFuZ29ubHk+CisgICAgPHBhY2thZ2VsaXN0PgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5udmktbTE3bjwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im9wdGlvbmFsIiByZXF1aXJlcz0ia2RlbGlicyI+a2RlLWkxOG4tS29yZWFuPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5tYW4tcGFnZXMta288L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmtXbm4tZGV2ZWw8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmFtaTwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+a1dubjwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+aGFudGVybS14ZjwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+aDJwczwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+bmhwZjwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+dHRmb250cy1rbzwvcGFja2FnZXJlcT4KKyAgICA8L3BhY2thZ2VsaXN0PgorICA8L2dyb3VwPgorCisgIDxncm91cD4KKyAgICA8aWQ+bm9yd2VnaWFuLXN1cHBvcnQ8L2lkPgorICAgIDx1c2VydmlzaWJsZT5mYWxzZTwvdXNlcnZpc2libGU+CisgICAgPG5hbWU+Tm9yd2VnaWFuIFN1cHBvcnQ8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImNzIj5Qb2Rwb3JhIHBybyBub3LFoXRpbnU8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImRhIj5VbmRlcnN0w7h0dGVsc2UgZm9yIG5vcnNrPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJkZSI+U3VwcG9ydCBmw7xyIE5vcndlZ2lzY2g8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImVzIj5Tb3BvcnRlIHBhcmEgZWwgbm9ydWVnbzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZnIiPlN1cHBvcnQgbm9ydsOpZ2llbjwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iaXMiPk5vcnNrYTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iaXQiPlN1cHBvcnRvIHBlciBpbCBub3J2ZWdlc2U8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImphIj7jg47jg6vjgqbjgqfjg7zoqp7jga7jgrXjg53jg7zjg4g8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImtvIj7rhbjrpbTsm6jsnbTslrQg7KeA7JuQPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJubyI+U3TDuHR0ZSBmb3Igbm9yc2s8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InB0Ij5TdXBvcnRlIGEgTm9ydWVndcOqczwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0icnUiPtCf0L7QtNC00LXRgNC20LrQsCDQvdC+0YDQstC10LbRgdC60L7Qs9C+INGP0LfRi9C60LA8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InN2Ij5TdMO2ZCBmw7ZyIG5vcnNrYTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iemhfQ04iPuaMquWogeaUr+aMgTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iemhfVFciPuaMquWogeiqnuaUr+aPtDwvbmFtZT4KKyAgICA8bGFuZ29ubHk+bm9fTk88L2xhbmdvbmx5PgorICAgIDxwYWNrYWdlbGlzdD4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+YXNwZWxsLW5vPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ib3B0aW9uYWwiIHJlcXVpcmVzPSJrZGVsaWJzIj5rZGUtaTE4bi1Ob3J3ZWdpYW48L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJvcHRpb25hbCIgcmVxdWlyZXM9ImtkZWxpYnMiPmtkZS1pMThuLU5vcndlZ2lhbi1OeW5vcnNrPC9wYWNrYWdlcmVxPgorICAgIDwvcGFja2FnZWxpc3Q+CisgIDwvZ3JvdXA+CisKKyAgPGdyb3VwPgorICAgIDxpZD5wb2xpc2gtc3VwcG9ydDwvaWQ+CisgICAgPHVzZXJ2aXNpYmxlPmZhbHNlPC91c2VydmlzaWJsZT4KKyAgICA8bmFtZT5Qb2xpc2ggU3VwcG9ydDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iY3MiPlBvZHBvcmEgcHJvIHBvbMWhdGludTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZGEiPlVuZGVyc3TDuHR0ZWxzZSBmb3IgcG9sc2s8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImRlIj5TdXBwb3J0IGbDvHIgUG9sbmlzY2g8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImVzIj5Tb3BvcnRlIHBhcmEgZWwgcG9sYWNvPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJmciI+U3VwcG9ydCBwb2xvbmFpczwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iaXMiPlDDs2xza2E8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9Iml0Ij5TdXBwb3J0byBwZXIgaWwgcG9sYWNjbzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iamEiPuODneODvOODqeODs+ODieiqnuOBruOCteODneODvOODiDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ia28iPu2PtOuegOuTnOyWtCDsp4Dsm5A8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9Im5vIj5TdMO4dHRlIGZvciBwb2xzazwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0icHQiPlN1cG9ydGUgYSBQb2xhY288L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InJ1Ij7Qn9C+0LTQtNC10YDQttC60LAg0L/QvtC70YzRgdC60L7Qs9C+INGP0LfRi9C60LA8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InN2Ij5TdMO2ZCBmw7ZyIHBvbHNrYTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iemhfQ04iPuazouWFsOivreaUr+aMgTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iemhfVFciPuazouiYreiqnuaUr+aPtDwvbmFtZT4KKyAgICA8bGFuZ29ubHk+cGxfUEw8L2xhbmdvbmx5PgorICAgIDxncm91cGxpc3Q+CisgICAgICA8Z3JvdXByZXE+SVNPODg1OS0yLXN1cHBvcnQ8L2dyb3VwcmVxPgorICAgIDwvZ3JvdXBsaXN0PgorICAgIDxwYWNrYWdlbGlzdD4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im9wdGlvbmFsIiByZXF1aXJlcz0ia2RlbGlicyI+a2RlLWkxOG4tUG9saXNoPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5tYW4tcGFnZXMtcGw8L3BhY2thZ2VyZXE+CisgICAgPC9wYWNrYWdlbGlzdD4KKyAgPC9ncm91cD4KKworICA8Z3JvdXA+CisgICAgPGlkPnBvcnR1Z3Vlc2Utc3VwcG9ydDwvaWQ+CisgICAgPHVzZXJ2aXNpYmxlPmZhbHNlPC91c2VydmlzaWJsZT4KKyAgICA8bmFtZT5Qb3J0dWd1ZXNlIFN1cHBvcnQ8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImNzIj5Qb2Rwb3JhIHBybyBwb3J0dWdhbMWhdGludTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZGEiPlVuZGVyc3TDuHR0ZWxzZSBmb3IgcG9ydHVnaXNpc2s8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImRlIj5TdXBwb3J0IGbDvHIgUG9ydHVnaWVzaXNjaDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZXMiPlNvcG9ydGUgcGFyYSBlbCBwb3J0dWd1w6lzPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJmciI+U3VwcG9ydCBwb3J0dWdhaXM8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImlzIj5Qb3J0w7pnYWxza2E8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9Iml0Ij5TdXBwb3J0byBwZXIgaWwgcG9ydG9naGVzZTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iamEiPuODneODq+ODiOOCrOODq+iqnuOBruOCteODneODvOODiDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ia28iPu2PrOultO2IrOqwiOyWtCDsp4Dsm5A8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9Im5vIj5TdMO4dHRlIGZvciBwb3J0dWdpc2lzazwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0icHQiPlN1cG9ydGUgYSBQb3J0dWd1w6pzPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJydSI+0J/QvtC00LTQtdGA0LbQutCwINC/0L7RgNGC0YPQs9Cw0LvRjNGB0LrQvtCz0L4g0Y/Qt9GL0LrQsDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ic3YiPlN0w7ZkIGbDtnIgcG9ydHVnaXNpc2thPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJ6aF9DTiI+6JGh6JCE54mZ6K+t5pSv5oyBPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJ6aF9UVyI+6JGh6JCE54mZ6Kqe5pSv5o+0PC9uYW1lPgorICAgIDxsYW5nb25seT5wdDwvbGFuZ29ubHk+CisgICAgPHBhY2thZ2VsaXN0PgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5hc3BlbGwtcHQ8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJvcHRpb25hbCIgcmVxdWlyZXM9ImtkZWxpYnMiPmtkZS1pMThuLVBvcnR1Z3Vlc2U8L3BhY2thZ2VyZXE+CisgICAgPC9wYWNrYWdlbGlzdD4KKyAgPC9ncm91cD4KKyAgCisgIDxncm91cD4KKyAgICA8aWQ+cm9tYW5pYW4tc3VwcG9ydDwvaWQ+CisgICAgPHVzZXJ2aXNpYmxlPmZhbHNlPC91c2VydmlzaWJsZT4KKyAgICA8bmFtZT5Sb21hbmlhbiBTdXBwb3J0PC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJjcyI+UG9kcG9yYSBwcm8gcnVtdW7FoXRpbnU8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImRhIj5VbmRlcnN0w7h0dGVsc2UgZm9yIHJ1bcOmbnNrPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJkZSI+U3VwcG9ydCBmw7xyIFJ1bcOkbmlzY2g8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImVzIj5Tb3BvcnRlIHBhcmEgZWwgcnVtYW5vPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJmciI+U3VwcG9ydCByb3VtYWluPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJpcyI+UsOzbWFuc2thPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJpdCI+U3VwcG9ydG8gcGVyIGlsIHJvbWVubzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iamEiPuODq+ODvOODnuODi+OCouiqnuOBruOCteODneODvOODiDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ia28iPuujqOuniOuLiOyVhOyWtCDsp4Dsm5A8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9Im5vIj5TdMO4dHRlIGZvciBydW1lbnNrPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJwdCI+U3Vwb3J0ZSBhIFJvbWVubzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0icnUiPtCf0L7QtNC00LXRgNC20LrQsCDRgNGD0LzRi9C90YHQutC+0LPQviDRj9C30YvQutCwPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJzdiI+U3TDtmQgZsO2ciBydW3DpG5za2E8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InpoX0NOIj7nvZfpqazlsLzkupror63mlK/mjIE8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InpoX1RXIj7nvoXppqzlsLzkup7oqp7mlK/mj7Q8L25hbWU+CisgICAgPGxhbmdvbmx5PnJvX1JPPC9sYW5nb25seT4KKyAgICA8Z3JvdXBsaXN0PgorICAgICAgPGdyb3VwcmVxPklTTzg4NTktMi1zdXBwb3J0PC9ncm91cHJlcT4KKyAgICA8L2dyb3VwbGlzdD4KKyAgICA8cGFja2FnZWxpc3Q+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJvcHRpb25hbCIgcmVxdWlyZXM9ImtkZWxpYnMiPmtkZS1pMThuLVJvbWFuaWFuPC9wYWNrYWdlcmVxPgorICAgIDwvcGFja2FnZWxpc3Q+CisgIDwvZ3JvdXA+CisgIAorICA8Z3JvdXA+CisgICAgPGlkPnJ1c3NpYW4tc3VwcG9ydDwvaWQ+CisgICAgPHVzZXJ2aXNpYmxlPmZhbHNlPC91c2VydmlzaWJsZT4KKyAgICA8bmFtZT5SdXNzaWFuIFN1cHBvcnQ8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImNzIj5Qb2Rwb3JhIHBybyBydcWhdGludTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZGEiPlVuZGVyc3TDuHR0ZWxzZSBmb3IgcnVzc2lzazwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZGUiPlN1cHBvcnQgZsO8ciBSdXNzaXNjaDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZXMiPlNvcG9ydGUgcGFyYSBlbCBydXNvPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJmciI+U3VwcG9ydCBydXNzZTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iaXMiPlLDunNzbmVuc2thPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJpdCI+U3VwcG9ydG8gcGVyIGlsIHJ1c3NvPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJqYSI+44Ot44K344Ki6Kqe44Gu44K144Od44O844OIPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJrbyI+65+s7Iuc7JWE7Ja0IOyngOybkDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ibm8iPlN0w7h0dGUgZm9yIHJ1c3Npc2s8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InB0Ij5TdXBvcnRlIGEgUnVzc288L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InJ1Ij7Qn9C+0LTQtNC10YDQttC60LAg0YDRg9GB0YHQutC+0LPQviDRj9C30YvQutCwPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJzdiI+U3TDtmQgZsO2ciByeXNrYTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iemhfQ04iPuS/hOivreaUr+aMgTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iemhfVFciPuS/hOiqnuaUr+aPtDwvbmFtZT4KKyAgICA8bGFuZ29ubHk+cnVfUlU8L2xhbmdvbmx5PgorICAgIDxncm91cGxpc3Q+CisgICAgICA8Z3JvdXByZXE+Y3lyaWxsaWMtc3VwcG9ydDwvZ3JvdXByZXE+CisgICAgPC9ncm91cGxpc3Q+CisgICAgPHBhY2thZ2VsaXN0PgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ib3B0aW9uYWwiIHJlcXVpcmVzPSJrZGVsaWJzIj5rZGUtaTE4bi1SdXNzaWFuPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5tYW4tcGFnZXMtcnU8L3BhY2thZ2VyZXE+CisgICAgPC9wYWNrYWdlbGlzdD4KKyAgPC9ncm91cD4KKyAgCisgIDxncm91cD4KKyAgICA8aWQ+c2VyYmlhbi1zdXBwb3J0PC9pZD4KKyAgICA8dXNlcnZpc2libGU+ZmFsc2U8L3VzZXJ2aXNpYmxlPgorICAgIDxuYW1lPlNlcmJpYW4gU3VwcG9ydDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iY3MiPlBvZHBvcmEgc3JixaF0aW55PC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJkYSI+VW5kZXJzdMO4dHRlbHNlIGZvciBzZXJiaXNrPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJkZSI+U3VwcG9ydCBmw7xyIFNlcmJpc2NoPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJlcyI+U29wb3J0ZSBwYXJhIGVsIHNlcmJpbzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZnIiPlN1cHBvcnQgc2VyYmU8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImlzIj5TZXJibmVza2E8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9Iml0Ij5TdXBwb3J0byBwZXIgaWwgc2VyYm88L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImphIj7jgrfjg5njg6rjgqLoqp7jga7jgrXjg53jg7zjg4g8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImtvIj7shLjrpbTruYTslYTslrQg7KeA7JuQPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJubyI+U3TDuHR0ZSBmb3Igc2VyYmlzazwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0icHQiPlN1cG9ydGUgYSBTw6lydmlvPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJydSI+0J/QvtC00LTQtdGA0LbQutCwINGB0LXRgNCx0YHQutC+0LPQviDRj9C30YvQutCwPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJzdiI+U3TDtmQgZsO2ciBzZXJiaXNrYTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iemhfQ04iPuWhnuWwlOe7tOS6muivreaUr+aMgTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iemhfVFciPuizveeIvue2reS6nuiqnuaUr+aPtDwvbmFtZT4KKyAgICA8bGFuZ29ubHk+c3JfWVU8L2xhbmdvbmx5PgorICAgIDxncm91cGxpc3Q+CisgICAgICA8Z3JvdXByZXE+SVNPODg1OS0yLXN1cHBvcnQ8L2dyb3VwcmVxPgorICAgIDwvZ3JvdXBsaXN0PgorICAgIDxwYWNrYWdlbGlzdD4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im9wdGlvbmFsIiByZXF1aXJlcz0ia2RlbGlicyI+a2RlLWkxOG4tU2VyYmlhbjwvcGFja2FnZXJlcT4KKyAgICA8L3BhY2thZ2VsaXN0PgorICA8L2dyb3VwPgorICAKKyAgPGdyb3VwPgorICAgIDxpZD5zbG92YWstc3VwcG9ydDwvaWQ+CisgICAgPHVzZXJ2aXNpYmxlPmZhbHNlPC91c2VydmlzaWJsZT4KKyAgICA8bmFtZT5TbG92YWsgU3VwcG9ydDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iY3MiPlBvZHBvcmEgcHJvIHNsb3ZlbsWhdGludTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZGEiPlVuZGVyc3TDuHR0ZWxzZSBmb3Igc2xvdmFraXNrPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJkZSI+U3VwcG9ydCBmw7xyIFNsb3dha2lzY2g8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImVzIj5Tb3BvcnRlIHBhcmEgZWwgZXNsb3ZhY288L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImZyIj5TdXBwb3J0IHNsb3ZhcXVlPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJpcyI+U2zDs3ZhazwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iaXQiPlN1cHBvcnRvIHBlciBsbyBzbG92YWNjbzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iamEiPuOCueODreODkOOCreOCouiqnuOBruOCteODneODvOODiDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ia28iPuyKrOuhnOuwlO2CpOyVhOyWtCDsp4Dsm5A8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9Im5vIj5TdMO4dHRlIGZvciBzbG92YWtpc2s8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InB0Ij5TdXBvcnRlIGEgRXNsb3ZhY288L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InJ1Ij7Qn9C+0LTQtNC10YDQttC60LAg0YHQu9C+0LLQsNGG0LrQvtCz0L4g0Y/Qt9GL0LrQsDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ic3YiPlN0w7ZkIGbDtnIgc2xvdmFraXNrYTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iemhfQ04iPuaWr+a0m+S8kOWFi+ivreaUr+aMgTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iemhfVFciPuaWr+a0m+S8kOWFi+iqnuaUr+aPtDwvbmFtZT4KKyAgICA8bGFuZ29ubHk+c2tfU0s8L2xhbmdvbmx5PgorICAgIDxncm91cGxpc3Q+CisgICAgICA8Z3JvdXByZXE+SVNPODg1OS0yLXN1cHBvcnQ8L2dyb3VwcmVxPgorICAgIDwvZ3JvdXBsaXN0PgorICAgIDxwYWNrYWdlbGlzdD4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im9wdGlvbmFsIiByZXF1aXJlcz0ia2RlbGlicyI+a2RlLWkxOG4tU2xvdmFrPC9wYWNrYWdlcmVxPgorICAgIDwvcGFja2FnZWxpc3Q+CisgIDwvZ3JvdXA+CisKKyAgPGdyb3VwPgorICAgIDxpZD5zbG92ZW5pYW4tc3VwcG9ydDwvaWQ+CisgICAgPHVzZXJ2aXNpYmxlPmZhbHNlPC91c2VydmlzaWJsZT4KKyAgICA8bmFtZT5TbG92ZW5pYW4gU3VwcG9ydDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iY3MiPlBvZHBvcmEgcHJvIHNsb3ZpbsWhdGludTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZGEiPlVuZGVyc3TDuHR0ZWxzZSBmb3Igc2xvdmVuc2s8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImRlIj5TdXBwb3J0IGbDvHIgU2xvd2VuaXNjaDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZXMiPlNvcG9ydGUgcGFyYSBlbCBlc2xvdmVuaW88L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImZyIj5TdXBwb3J0IHNsb3bDqG5lPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJpcyI+U2zDs3ZuZW5za2E8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9Iml0Ij5TdXBwb3J0byBwZXIgbG8gc2xvdmVubzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iamEiPuOCueODreODmeODi+OCouiqnuOBruOCteODneODvOODiDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ia28iPuyKrOuhnOuyoOydtOyVhOyWtCDsp4Dsm5A8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9Im5vIj5TdMO4dHRlIGZvciBzbG92ZW5zazwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0icHQiPlN1cG9ydGUgYSBFc2xvdsOpbmlvPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJydSI+0J/QvtC00LTQtdGA0LbQutCwINGB0LvQvtCy0LXQvdGB0LrQvtCz0L4g0Y/Qt9GL0LrQsDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ic3YiPlN0w7ZkIGbDtnIgc2xvdmVuc2thPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJ6aF9DTiI+5pav5rSb5paH5bC85Lqa6K+t5pSv5oyBPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJ6aF9UVyI+5pav5rSb5rOV5bC85Lqe6Kqe5pSv5o+0PC9uYW1lPgorICAgIDxsYW5nb25seT5zbF9TSTwvbGFuZ29ubHk+CisgICAgPGdyb3VwbGlzdD4KKyAgICAgIDxncm91cHJlcT5JU084ODU5LTItc3VwcG9ydDwvZ3JvdXByZXE+CisgICAgPC9ncm91cGxpc3Q+CisgICAgPHBhY2thZ2VsaXN0PgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ib3B0aW9uYWwiIHJlcXVpcmVzPSJrZGVsaWJzIj5rZGUtaTE4bi1TbG92ZW5pYW48L3BhY2thZ2VyZXE+CisgICAgPC9wYWNrYWdlbGlzdD4KKyAgPC9ncm91cD4KKyAgCisgIDxncm91cD4KKyAgICA8aWQ+c3dlZGlzaC1zdXBwb3J0PC9pZD4KKyAgICA8dXNlcnZpc2libGU+ZmFsc2U8L3VzZXJ2aXNpYmxlPgorICAgIDxuYW1lPlN3ZWRpc2ggU3VwcG9ydDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iY3MiPlBvZHBvcmEgcHJvIMWhdsOpZMWhdGludTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZGEiPlVuZGVyc3TDuHR0ZWxzZSBmb3Igc3ZlbnNrPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJkZSI+U3VwcG9ydCBmw7xyIFNjaHdlZGlzY2g8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImVzIj5Tb3BvcnRlIHBhcmEgZWwgc3VlY288L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImZyIj5TdXBwb3J0IHN1w6lkb2lzPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJpcyI+U8OmbnNrYTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iaXQiPlN1cHBvcnRvIHBlciBsbyBzdmVkZXNlPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJqYSI+44K544Km44Kn44OH44O844Oz6Kqe44Gu44K144Od44O844OIPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJrbyI+7Iqk7Juo64207Ja0IOyngOybkDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ibm8iPlN0w7h0dGUgZm9yIHN2ZW5zazwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0icHQiPlN1cG9ydGUgYSBTdWVjbzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0icnUiPtCf0L7QtNC00LXRgNC20LrQsCDRiNCy0LXQtNGB0LrQvtCz0L4g0Y/Qt9GL0LrQsDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ic3YiPlN0w7ZkIGbDtnIgc3ZlbnNrYTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iemhfQ04iPueRnuWFuOivreaUr+aMgTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iemhfVFciPueRnuWFuOiqnuaUr+aPtDwvbmFtZT4KKyAgICA8bGFuZ29ubHk+c3ZfU0U8L2xhbmdvbmx5PgorICAgIDxwYWNrYWdlbGlzdD4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+YXNwZWxsLXN2PC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ib3B0aW9uYWwiIHJlcXVpcmVzPSJrZGVsaWJzIj5rZGUtaTE4bi1Td2VkaXNoPC9wYWNrYWdlcmVxPgorICAgIDwvcGFja2FnZWxpc3Q+CisgIDwvZ3JvdXA+CisgIAorICA8Z3JvdXA+CisgICAgPGlkPnR1cmtpc2gtc3VwcG9ydDwvaWQ+CisgICAgPHVzZXJ2aXNpYmxlPmZhbHNlPC91c2VydmlzaWJsZT4KKyAgICA8bmFtZT5UdXJraXNoIFN1cHBvcnQ8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImNzIj5Qb2Rwb3JhIHBybyB0dXJlxI10aW51PC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJkYSI+VW5kZXJzdMO4dHRlbHNlIGZvciB0eXJraXNrPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJkZSI+U3VwcG9ydCBmw7xyIFTDvHJraXNjaDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZXMiPlNvcG9ydGUgcGFyYSBlbCB0dXJjbzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZnIiPlN1cHBvcnQgdHVyYzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iaXMiPlR5cmtuZXNrYTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iaXQiPlN1cHBvcnRvIHBlciBpbCB0dXJjbzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iamEiPuODiOODq+OCs+iqnuOBruOCteODneODvOODiDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ia28iPu2EsO2CpOyWtCDsp4Dsm5A8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9Im5vIj5TdMO4dHRlIGZvciBUeXJraXNrPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJwdCI+U3Vwb3J0ZSBhIFR1cmNvPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJydSI+0J/QvtC00LTQtdGA0LbQutCwINGC0YPRgNC10YbQutC+0LPQviDRj9C30YvQutCwPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJzdiI+U3TDtmQgZsO2ciB0dXJraXNrYTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iemhfQ04iPuWcn+iAs+WFtuivreaUr+aMgTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iemhfVFciPuWcn+iAs+WFtuiqnuaUr+aPtDwvbmFtZT4KKyAgICA8bGFuZ29ubHk+dHJfVFI8L2xhbmdvbmx5PgorICAgIDxncm91cGxpc3Q+CisgICAgICA8Z3JvdXByZXE+SVNPODg1OS05LXN1cHBvcnQ8L2dyb3VwcmVxPgorICAgIDwvZ3JvdXBsaXN0PgorICAgIDxwYWNrYWdlbGlzdD4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im9wdGlvbmFsIiByZXF1aXJlcz0ia2RlbGlicyI+a2RlLWkxOG4tVHVya2lzaDwvcGFja2FnZXJlcT4KKyAgICA8L3BhY2thZ2VsaXN0PgorICA8L2dyb3VwPgorCisgIDxncm91cD4KKyAgICA8aWQ+dWtyYWluaWFuLXN1cHBvcnQ8L2lkPgorICAgIDx1c2VydmlzaWJsZT5mYWxzZTwvdXNlcnZpc2libGU+CisgICAgPG5hbWU+VWtyYWluaWFuIFN1cHBvcnQ8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImNzIj5Qb2Rwb3JhIHBybyB1a3JhamluxaF0aW51PC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJkYSI+VW5kZXJzdMO4dHRlbHNlIGZvciB1a3JhaW5zazwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZGUiPlN1cHBvcnQgZsO8ciBVa3JhaW5pc2NoPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJlcyI+U29wb3J0ZSBwYXJhIGVsIHVjcmFuaWFubyA8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImZyIj5TdXBwb3J0IHVrcmFpbmllbjwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iaXMiPsOaa3Jhw61uc2thPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJpdCI+U3VwcG9ydG8gcGVyIGwmYXBvczt1Y3JhaW5vPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJqYSI+44Km44Kv44Op44Kk44OK6Kqe44Gu44K144Od44O844OIPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJrbyI+7Jqw7YGs65287J2064KY7Ja0IOyngOybkDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ibm8iPlN0w7h0dGUgZm9yIHVrcmFpbnNrPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJwdCI+U3Vwb3J0ZSBhIFVjcmFuaWFubzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0icnUiPtCf0L7QtNC00LXRgNC20LrQsCDRg9C60YDQsNC40L3RgdC60L7Qs9C+INGP0LfRi9C60LA8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InN2Ij5TdMO2ZCBmw7ZyIHVrcmFpbnNrYTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iemhfQ04iPuS5jOWFi+WFsOivreaUr+aMgTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iemhfVFciPueDj+WFi+iYreiqnuaUr+aPtDwvbmFtZT4KKyAgICA8bGFuZ29ubHk+dWtfVUE8L2xhbmdvbmx5PgorICAgIDxncm91cGxpc3Q+CisgICAgICA8Z3JvdXByZXE+Y3lyaWxsaWMtc3VwcG9ydDwvZ3JvdXByZXE+CisgICAgPC9ncm91cGxpc3Q+CisgICAgPHBhY2thZ2VsaXN0PgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ib3B0aW9uYWwiIHJlcXVpcmVzPSJrZGVsaWJzIj5rZGUtaTE4bi1Va3JhaW5pYW48L3BhY2thZ2VyZXE+CisgICAgPC9wYWNrYWdlbGlzdD4KKyAgPC9ncm91cD4KKworICAgIDxncm91cD4KKyAgICA8aWQ+Y2hpbmVzZS1zdXBwb3J0PC9pZD4KKyAgICA8dXNlcnZpc2libGU+ZmFsc2U8L3VzZXJ2aXNpYmxlPgorICAgIDxuYW1lPkNoaW5lc2UgU3VwcG9ydDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iY3MiPlBvZHBvcmEgcHJvIMSNw61uxaF0aW51PC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJkYSI+VW5kZXJzdMO4dHRlbHNlIGZvciBraW5lc2lzazwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZGUiPlN1cHBvcnQgZsO8ciBDaGluZXNpc2NoPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJlcyI+U29wb3J0ZSBwYXJhIGVsIGNoaW5vIDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZnIiPlN1cHBvcnQgY2hpbm9pczwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iaXMiPkvDrW52ZXJza2E8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9Iml0Ij5TdXBwb3J0byBwZXIgaWwgY2luZXNlPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJqYSI+5Lit5Zu96Kqe44Gu44K144Od44O844OIPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJrbyI+7KSR6rWt7Ja0IOyngOybkDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ibm8iPlN0w7h0dGUgZm9yIGtpbmVzaXNrPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJwdCI+U3Vwb3J0ZSBhIENoaW7DqnM8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InJ1Ij7Qn9C+0LTQtNC10YDQttC60LAg0LrQuNGC0LDQudGB0LrQvtCz0L4g0Y/Qt9GL0LrQsDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ic3YiPlN0w7ZkIGbDtnIga2luZXNpc2thPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJ6aF9DTiI+5Lit5paH5pSv5oyBPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJ6aF9UVyI+5Lit5paH5pSv5o+0PC9uYW1lPgorICAgIDxsYW5nb25seT56aDwvbGFuZ29ubHk+CisgICAgPHBhY2thZ2VsaXN0PgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5udmktbTE3bjwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im9wdGlvbmFsIiByZXF1aXJlcz0ia2RlbGlicyI+a2RlLWkxOG4tQ2hpbmVzZTwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im9wdGlvbmFsIiByZXF1aXJlcz0ia2RlbGlicyI+a2RlLWkxOG4tQ2hpbmVzZS1CaWc1PC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5tYW4tcGFnZXMta288L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmNXbm4tZGV2ZWw8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmxpYnRhYmUtZGV2ZWw8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmNXbm48L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPm1pbmlDaGlucHV0PC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5zdGFyZGljdDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+dFdubjwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+dHRmb250cy16aF9UVzwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+dHRmb250cy16aF9DTjwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+dGFpcGVpZm9udHM8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPnhjaW48L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmJnNXBzPC9wYWNrYWdlcmVxPgorICAgIDwvcGFja2FnZWxpc3Q+CisgIDwvZ3JvdXA+CisKKyAgICA8Z3JvdXA+CisgICAgPGlkPmphcGFuZXNlLXN1cHBvcnQ8L2lkPgorICAgIDx1c2VydmlzaWJsZT5mYWxzZTwvdXNlcnZpc2libGU+CisgICAgPG5hbWU+SmFwYW5lc2UgU3VwcG9ydDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iY3MiPlBvZHBvcmEgcHJvIGphcG9uxaF0aW51PC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJkYSI+VW5kZXJzdMO4dHRlbHNlIGZvciBqYXBhbnNrPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJkZSI+U3VwcG9ydCBmw7xyIEphcGFuaXNjaDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZXMiPlNvcG9ydGUgcGFyYSBlbCBqYXBvbsOpczwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZnIiPlN1cHBvcnQgamFwb25haXM8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImlzIj5KYXBhbnNrYTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iaXQiPlN1cHBvcnRvIHBlciBpbCBnaWFwcG9uZXNlPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJqYSI+5pel5pys6Kqe44Gu44K144Od44O844OIPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJrbyI+7J2867O47Ja0IOyngOybkDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ibm8iPlN0w7h0dGUgZm9yIGphcGFuc2s8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InB0Ij5TdXBvcnRlIGEgSmFwb27DqnM8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InJ1Ij7Qn9C+0LTQtNC10YDQttC60LAg0Y/Qv9C+0L3RgdC60L7Qs9C+INGP0LfRi9C60LA8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InN2Ij5TdMO2ZCBmw7ZyIGphcGFuc2thPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJ6aF9DTiI+5pel6K+t5pSv5oyBPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJ6aF9UVyI+5pel5paH5pSv5o+0PC9uYW1lPgorICAgIDxsYW5nb25seT5qYV9KUDwvbGFuZ29ubHk+CisgICAgPHBhY2thZ2VsaXN0PgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5DYW5uYTwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+amNvZGUucGw8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmtha2FzaS1kaWN0PC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5rY2M8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmtvbjI8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmtvbjItZm9udHM8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmx2PC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5udmktbTE3bjwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+bnZpLW0xN24tY2FubmE8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPnBlcmwtTktGPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5wZXJsLVRleHQtS2FrYXNpPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5ua2Y8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPnR0Zm9udHMtamE8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPndhdGFuYWJlLXZmPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ib3B0aW9uYWwiIHJlcXVpcmVzPSJrZGVsaWJzIj5rZGUtaTE4bi1KYXBhbmVzZTwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+Zm9udHMtamE8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmppc2tzcDE0PC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5qaXNrc3AxNi0xOTkwPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5GcmVlV25uPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5rYXBwYTIwPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5raW5wdXQyLWNhbm5hLXdubjY8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmtubV9uZXc8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmt0ZXJtPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5za2tkaWM8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPnNra2lucHV0PC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5tYW4tcGFnZXMtamE8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmtha2FzaS1kZXZlbDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+V25uNi1TREstZGV2ZWw8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPm5hbWF6dS1kZXZlbDwvcGFja2FnZXJlcT4KKyAgICA8L3BhY2thZ2VsaXN0PgorICA8L2dyb3VwPgorCisgIDxncm91cD4KKyAgICA8aWQ+ZGV2ZWxvcG1lbnQtdG9vbHM8L2lkPgorICAgIDxuYW1lPkRldmVsb3BtZW50IFRvb2xzPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJjcyI+VsO9dm9qb3bDqSBuw6FzdHJvamU8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImRhIj5VZHZpa2xpbmdzdsOmcmt0w7hqZXI8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImRlIj5FbnR3aWNrbHVuZ3N0b29sczwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZXMiPkhlcnJhbWllbnRhcyBkZSBkZXNhcnJvbGxvPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJmciI+T3V0aWxzIGRlIGTDqXZlbG9wcGVtZW50PC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJpcyI+w55yw7N1bmFydMOzbDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iaXQiPlN0cnVtZW50aSBkaSBzdmlsdXBwbzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iamEiPumWi+eZuuODhOODvOODqzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ia28iPuqwnOuwnOyaqSDrj4Tqtaw8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9Im5vIj5VdHZpa2xpbmdzdmVya3TDuHk8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InB0Ij5GZXJyYW1lbnRhcyBkZSBEZXNlbnZvbHZpbWVudG88L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InJ1Ij7QodGA0LXQtNGB0YLQstCwINGA0LDQt9GA0LDQsdC+0YLQutC4PC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJzdiI+VXR2ZWNrbGluZ3N2ZXJrdHlnPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJ6aF9DTiI+5byA5Y+R5bel5YW3PC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJ6aF9UVyI+6ZaL55m85bel5YW3PC9uYW1lPgorICAgIDxkZXNjcmlwdGlvbj5UaGVzZSB0b29scyBpbmNsdWRlIGNvcmUgZGV2ZWxvcG1lbnQgdG9vbHMgc3VjaCBhcyBhdXRvbWFrZSwgZ2NjLCBwZXJsLCBweXRob24sIGFuZCBkZWJ1Z2dlcnMuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImNzIj5UeXRvIG7DoXN0cm9qZSB6YWhybnVqw60gesOha2xhZG7DrSB2w712b2pvdsOpIG7DoXN0cm9qZSBqYWtvIGF1dG9tYWtlLCBnY2MsIHBlcmwsIHB5dGhvbiBhIGxhZMOtY8OtIG7DoXN0cm9qZS48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iZGEiPkRpc3NlIHbDpnJrdMO4amVyIGlua2x1ZGVyZXIgYmFzYWxlIHVkdmlrbGluZ3N2w6Zya3TDuGplciBzb20gZnggYXV0b21ha2UsIGdjYywgcGVybCwgcHl0aG9uIG9nIGZlamxzw7hnbmluZ3N2w6Zya3TDuGplci48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iZGUiPlp1IGRpZXNlbiBUb29scyBnZWjDtnJlbiBncnVuZGxlZ2VuZGUgRW50d2lja2x1bmdzdG9vbHMgd2llIGF1dG9tYWtlLCBnY2MsIHBlcmwsIHB5dGhvbiB1bmQgZGVidWdnZXJzLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJlcyI+RXN0YXMgaGVycmFtaWVudGFzIGluY2x1eWVuIGhlcnJhbWllbnRhcyBkZSBkZXNhcnJvbGxvIGRlIG7DumNsZW8gY29tbyBwb3IgZWplbXBsbyBhdXRvbWFrZSwgZ2NjLCBwZXJsLCBweXRob24geSBkZXB1cmFkb3Jlcy48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iZnIiPkNlcyBvdXRpbHMgY29tcHJlbm5lbnQgZGVzIG91dGlscyBkZSBkw6l2ZWxvcHBlbWVudCBtw6ltb2lyZSBjb21tZSBhdXRvbWFrZSwgZ2NjLCBwZXJsLCBweXRob24sIGFpbnNpIHF1ZSBkZXMgZMOpYm9ndWV1cnMuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImlzIj7DnmVzc2kgdMOzbCBlcnUgbWXDsGFsIGFubmFycyBhdXRvbWFrZSwgZ2NjLCBwZXJsLCBweXRob24gb2cgYWZsw7pzdW5hcnTDs2wuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9Iml0Ij5RdWVzdGkgc3RydW1lbnRpIGluY2x1ZG9ubyBpIHByaW5jaXBhbGkgdG9vbCBkaSBzdmlsdXBwbyB0cmEgY3VpIGF1dG9tYWtlLCBnY2MsIHBlcmwsIHB5dGhvbiwgZSBpIGRlYnVnZ2VyLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJqYSI+44GT44KM44KJ44Gu44OE44O844Or44Gr44Gv44CBYXV0b21ha2UsIGdjYywgcGVybCwgcHl0aG9uLCDlj4rjgbPjg4fjg5Djg4Pjgqzjgarjganjga7jgrPjgqLplovnmbrjg4Tjg7zjg6vjgYwg5ZCr44G+44KM44Gm44GE44G+44GZ44CCPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImtvIj7snbQg64+E6rWs7JeQ64qUIGF1dG9tYWtlLCBnY2MsIHBlcmwsIHB5dGhvbuqzvCDrlJTrsoTqsbDsmYAg6rCZ7J2AIO2VteyLrCDqsJzrsJzsmqkg64+E6rWs6rCAIO2PrO2VqOuQmOyWtCDsnojsirXri4jri6QuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9Im5vIj5EaXNzZSB2ZXJrdMO4eWVuZSBpbmtsdWRlcmVyIHV0dmlrbGluZ3N2ZXJrdMO4eSBzb20gYXV0b21ha2UsIGdjYywgcGVybCwgcHl0aG9uIG9nIGF2bHVzZXJlLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJwdCI+RXN0YXMgZmVycmFtZW50YXMgaW5jbHVlbSBhcyBmZXJyYW1lbnRhcyBiw6FzaWNhcyBkZSBkZXNlbnZvbHZpbWVudG8gY29tbyBvIGF1dG9tYWtlLCBvIGdjYywgbyBwZXJsLCBvIHB5dGhvbiBlIG9zIGRlcHVyYWRvcmVzLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJydSI+0K3RgtC4INGB0YDQtdC00YHRgtCy0LAg0LLQutC70Y7Rh9Cw0Y7RgiDQvtGB0L3QvtCy0L3Ri9C1INGB0YDQtdC00YHRgtCy0LAg0YDQsNC30YDQsNCx0L7RgtC60LgsINGC0LDQutC40LUg0LrQsNC6IGF1dG9tYWtlLCBnY2MsIHBlcmwsIHB5dGhvbiDQuCDQvtGC0LvQsNC00YfQuNC60LguPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9InN2Ij5EZXNzYSB2ZXJrdHlnIGlua2x1ZGVyYXIga8Okcm51dHZlY2tsaW5nc3Zlcmt0eWcgc29tIGV4ZW1wZWx2aXMgYXV0b21ha2UsIGdjYywgcGVybCwgcHl0aG9uIG9jaCBmZWxzw7ZrbmluZ3N2ZXJrdHlnLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJ6aF9DTiI+6L+Z5Lqb5bel5YW35YyF5ousIGF1dG9tYWtl44CBZ2Nj44CBcGVybOOAgXB5dGhvbiDlkozosIPor5XlmajkuYvnsbvnmoTmoLjlv4PlvIDlj5Hlt6XlhbfjgII8L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iemhfVFciPumAmeS6m+W3peWFt+WMheaLrOS4u+imgeeahOmWi+eZvOW3peWFt++8jOS+i+WmgiBhdXRvbWFrZSwgZ2NjLCBwZXJsLCBweXRob24g5Lul5Y+KIGRlYnVnZ2Vyc+OAgjwvZGVzY3JpcHRpb24+CisgICAgPHVzZXJ2aXNpYmxlPnRydWU8L3VzZXJ2aXNpYmxlPgorICAgIDxncm91cGxpc3Q+CisgICAgICA8Z3JvdXByZXE+ZGV2ZWxvcG1lbnQtbGliczwvZ3JvdXByZXE+CisgICAgPC9ncm91cGxpc3Q+CisgICAgPHBhY2thZ2VsaXN0PgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ib3B0aW9uYWwiPkVsZWN0cmljRmVuY2U8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmF1dG9jb25mPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+YXV0b21ha2UxNDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPmF1dG9tYWtlMTU8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmF1dG9tYWtlPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5iaW51dGlsczwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+Ymlzb248L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmJ5YWNjPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5jZGVjbDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im9wdGlvbmFsIj5jcHJvdG88L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5jdnM8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJvcHRpb25hbCI+ZGRkPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5kZXY4NjwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPmRpZmZzdGF0PC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+ZG94eWdlbjwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im9wdGlvbmFsIj5kbWFsbG9jPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ib3B0aW9uYWwiPmV4cGVjdDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+ZmxleDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+Z2NjPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5nY2MtYysrPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+Z2NjLWc3NzwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPmdjYy1nbmF0PC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+Z2NjLWphdmE8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJvcHRpb25hbCI+Z2NjLW9iamM8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmdkYjwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+Z2V0dGV4dDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPmluZGVudDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+bGlidG9vbDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPmx0cmFjZTwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+bWFrZTwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPm1lbXByb2Y8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJvcHRpb25hbCI+bmFzbTwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im9wdGlvbmFsIj5uamFtZDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPnBhdGNodXRpbHM8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPnBlcmwtQ1BBTjwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+cGtnY29uZmlnPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ib3B0aW9uYWwiPnBtYWtlPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ib3B0aW9uYWwiPnBzdGFjazwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+cHl0aG9uLWRldmVsPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+cmNzPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5ycG0tYnVpbGQ8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPnJlZGhhdC1ycG0tY29uZmlnPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+c3BsaW50PC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5zdHJhY2U8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPnRleGluZm88L3BhY2thZ2VyZXE+CisgICAgPC9wYWNrYWdlbGlzdD4KKyAgPC9ncm91cD4KKworICA8Z3JvdXA+CisgICAgPGlkPmRldmVsb3BtZW50LWxpYnM8L2lkPgorICAgIDxuYW1lPkRldmVsb3BtZW50IExpYnJhcmllczwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iY3MiPktuaWhvdm55IHBybyB2w712b2o8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImRhIj5VZHZpa2xpbmdzYmlibGlvdGVrZXI8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImRlIj5FbnR3aWNrbHVuZ3NiaWJsaW90aGVrZW48L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImVzIj5MaWJyZXLDrWFzIGRlIGRlc2Fycm9sbG88L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImZyIj5CaWJsaW90aMOocXVlcyBkZSBkw6l2ZWxvcHBlbWVudDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iaXMiPsOecsOzdW5hcmHDsGdlcsOwYXPDtmZuPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJpdCI+TGlicmVyaWUgZGkgc3ZpbHVwcG88L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImphIj7plovnmbrjg6njgqTjg5bjg6njg6o8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImtvIj7qsJzrsJzsmqkg65287J2067iM65+s66asPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJubyI+VXR2aWtsaW5nc2JpYmxpb3RlazwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0icHQiPkJpYmxpb3RlY2FzIGRlIERlc2Vudm9sdmltZW50bzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0icnUiPtCR0LjQsdC70LjQvtGC0LXQutC4INC00LvRjyDRgNCw0LfRgNCw0LHQvtGC0LrQuDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ic3YiPlV0dmVja2xpbmdzYmlibGlvdGVrPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJ6aF9DTiI+5byA5Y+R5bqTPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJ6aF9UVyI+6ZaL55m85Ye95byP5bqrPC9uYW1lPgorICAgIDxkZXNjcmlwdGlvbj5UaGUgcGFja2FnZXMgaW4gdGhpcyBncm91cCBhcmUgY29yZSBsaWJyYXJpZXMgbmVlZGVkIHRvIGRldmVsb3AgYXBwbGljYXRpb25zLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJjcyI+QmFsw63EjWt5IHYgdMOpdG8gc2t1cGluxJsganNvdSB6w6FrbGFkbsOtIGtuaWhvdm55IHBvdMWZZWJuw6kgcHJvIHbDvXZvaiBhcGxpa2Fjw60uPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImRhIj5QYWtrZXJuZSBpIGRlbm5lIGdydXBwZSBlciBiYXNhbGUgYmlibGlvdGVrZXIgc29tIGJlaMO4dmVzIHRpbCB1ZHZpa2xpbmcgYWYgcHJvZ3JhbS48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iZGUiPkJlaSBkZW4gUGFrZXRlbiBkaWVzZXIgR3J1cHBlIGhhbmRlbHQgZXMgc2ljaCB1bSBncnVuZGxlZ2VuZGUgQmlibGlvdGhla2VuIGbDvHIgZGllIEVudHdpY2tsdW5nIHZvbiBBbndlbmR1bmdlbi48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iZXMiPkxvcyBwYXF1ZXRlcyBkZSBlc3RlIGdydXBvIHNvbiBsaWJyZXLDrWFzIGRlIG7DumNsZW8gbmVjZXNhcmlhcyBwYXJhIGRlc2Fycm9sbGFyIGFwbGljYWNpb25lcy48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iZnIiPkxlcyBwYXF1ZXRhZ2VzIGRlIGNlIGdyb3VwZSBzb250IGRlcyBiaWJsaW90aMOocXVlcyBkZSBtw6ltb2lyZSBuw6ljZXNzYWlyZXMgYXUgZMOpdmVsb3BwZW1lbnQgZCZhcG9zO2FwcGxpY2F0aW9ucy48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iaXMiPlBha2thcm5pciDDrSDDvmVzc3VtIGjDs3AgZXJ1IGdydW5uYcOwZ2Vyw7Bhc8O2Zm5pbiBzZW0gw75hcmYgdGlsIGHDsCDDvnLDs2EgaHVnYsO6bmHDsC48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iaXQiPkkgcGFjY2hldHRpIGRpIHF1ZXN0byBncnVwcG8gc29ubyBsZSBwcmluY2lwYWxpIGxpYnJlcmllIGRpIHN2aWx1cHBvIGRlbGxlIGFwcGxpY2F6aW9uaS48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iamEiPuOBk+OBruOCsOODq+ODvOODl+OBruODkeODg+OCseODvOOCuOOBr+OCouODl+ODquOCseODvOOCt+ODp+ODs+OBrumWi+eZuuOBq+W/heimgeOBquOCs+OCouODqeOCpOODluODqeODquOBp+OBmeOAgjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJrbyI+7J20IO2MqO2CpOyngCDqt7jro7nsnYAg7J2R7JqpIO2UhOuhnOq3uOueqOydhCDqsJzrsJztlZjripTrjbAg7ZWE7JqU7ZWcIO2VteyLrCDrnbzsnbTruIzrn6zrpqzsnoXri4jri6QuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9Im5vIj5QYWtrZW5lIGkgZGVubmUgZ3J1cHBlbiBlciBiYXNpcy1iaWJsaW90ZWtlciBmb3IgYnJ1ayB2ZWQgcHJvZ3JhbXV0dmlrbGluZy48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0icHQiPk9zIHBhY290ZXMgbmVzdGUgZ3J1cG8gY29udMOpbSBiaWJsaW90ZWNhcyBkZSBiYXNlIG5lY2Vzc8OhcmlhcyBwYXJhIGRlc2Vudm9sdmVyIGFwbGljYcOnw7Vlcy48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0icnUiPtCt0YLQsCDQs9GA0YPQv9C/0LAg0YHQvtC00LXRgNC20LjRgiDQsdC40LHQu9C40L7RgtC10LrQuCDQvdC10L7QsdGF0L7QtNC40LzRi9C1INC00LvRjyDRgNCw0LfRgNCw0LHQvtGC0LrQuCDQv9GA0LjQu9C+0LbQtdC90LjQuS48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0ic3YiPlBha2V0ZW4gaSBkZW5uYSBncnVwcCDDpHIga8Okcm5iaWJsaW90ZWsgc29tIGJlaMO2dnMgZsO2ciB1dHZlY2tsaW5nIGF2IHByb2dyYW0uPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9InpoX0NOIj7or6Xnu4TkuK3nmoTova/ku7bljIXmmK/lvIDlj5HlupTnlKjnqIvluo/miYDpnIDnmoTmoLjlv4PlupPjgII8L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iemhfVFciPumAmeWAi+e+pOe1hOS4reeahOWll+S7tuaYr+eUqOS+humWi+eZvOaHieeUqOeoi+W8j+aJgOmcgOeahOS4u+imgeWHveW8j+W6q+OAgjwvZGVzY3JpcHRpb24+CisgICAgPHVzZXJ2aXNpYmxlPmZhbHNlPC91c2VydmlzaWJsZT4KKyAgICA8cGFja2FnZWxpc3Q+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmN1cmwtZGV2ZWw8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmN5cnVzLXNhc2wtZGV2ZWw8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmRiNC1kZXZlbDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+ZGI0LXV0aWxzPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5kaWFsb2c8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmV4cGF0LWRldmVsPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5nZGJtLWRldmVsPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5nbXAtZGV2ZWw8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmdwbS1kZXZlbDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+aGVzaW9kLWRldmVsPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5rcmI1LWRldmVsPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5rcmJhZnMtZGV2ZWw8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmt1ZHp1LWRldmVsPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5saWJjYXAtZGV2ZWw8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmxpYnRlcm1jYXAtZGV2ZWw8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmxpYnVzYi1kZXZlbDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+bGlidXNlci1kZXZlbDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+bGlieG1sLWRldmVsPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5saWJ4bWwyLWRldmVsPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5sb2NrZGV2LWRldmVsPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5tb2R1dGlscy1kZXZlbDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+bmN1cnNlcy1kZXZlbDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+bmV3dC1kZXZlbDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+b3BlbmxkYXAtZGV2ZWw8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPm9wZW5zc2wtZGV2ZWw8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPnBhbS1kZXZlbDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+cGNpdXRpbHMtZGV2ZWw8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPnJlYWRsaW5lLWRldmVsPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5ycG0tZGV2ZWw8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPnNsYW5nLWRldmVsPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5zd2lnPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij56bGliLWRldmVsPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+bGlib2dnLWRldmVsPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+bGlidm9yYmlzLWRldmVsPC9wYWNrYWdlcmVxPgorICAgIDwvcGFja2FnZWxpc3Q+CisgIDwvZ3JvdXA+CisKKyAgPGdyb3VwPgorICAgIDxpZD5rZXJuZWwtZGV2ZWxvcG1lbnQ8L2lkPgorICAgIDxuYW1lPktlcm5lbCBEZXZlbG9wbWVudDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iY3MiPlbDvXZvaiBqw6FkcmE8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImRhIj5LZXJuZXVkdmlrbGluZzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZGUiPktlcm5lbC1FbnR3aWNrbHVuZzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZXMiPkRlc2Fycm9sbG8gZGVsIGtlcm5lbDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZnIiPkTDqXZlbG9wcGVtZW50IGR1IG5veWF1PC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJpcyI+S2phcm5hw75yw7N1bjwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iaXQiPlN2aWx1cHBvIGRlbCBrZXJuZWw8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImphIj7jgqvjg7zjg43jg6vplovnmbo8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImtvIj7su6TrhJAg6rCc67CcPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJubyI+S2plcm5ldXR2aWtsaW5nPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJwdCI+RGVzZW52b2x2aW1lbnRvIGRvIEtlcm5lbDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0icnUiPtCh0YDQtdC00YHRgtCy0LAg0LTQu9GPINGA0LDQt9GA0LDQsdC+0YLQutC4INGP0LTRgNCwPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJzdiI+S8Okcm51dHZlY2tsaW5nPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJ6aF9DTiI+5YaF5qC45byA5Y+RPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJ6aF9UVyI+5qC45b+D6ZaL55m8PC9uYW1lPgorICAgIDxkZXNjcmlwdGlvbj5JbnN0YWxsIHRoZXNlIHBhY2thZ2VzIHRvIHJlY29tcGlsZSB0aGUga2VybmVsLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJjcyI+VHl0byBiYWzDrcSNa3kgbmFpbnN0YWx1anRlIHBybyByZWtvbXBpbGFjaSBqw6FkcmEuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImRhIj5JbnN0YWxsw6lyIGRpc3NlIHBha2tlciBmb3IgYXQgb3ZlcnPDpnR0ZSBvbSBrZXJuZW4uPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImRlIj5JbnN0YWxsaWVyZW4gU2llIGRpZXNlIFBha2V0ZSwgd2VubiBTaWUgc2VsYmVyIGRlbiBLZXJuZWwgw7xiZXJzZXR6ZW4gbcO2Y2h0ZW4uPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImlzIj5TZXR0dSDDvmVzc2EgcGFra2EgaW5uIGVmIMO+w7ogdmlsdCBlbmR1csO+w73DsGEga2phcm5hbm4uPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImphIj7jgqvjg7zjg43jg6vjgpLlho3jgrPjg7Pjg5HjgqTjg6vjgZnjgovngrrjgavjgZPjgozjgonjga7jg5Hjg4PjgrHjg7zjgrjjgpLjgqTjg7Pjgrnjg4jjg7zjg6vjgZfjgb7jgZnjgII8L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0ia28iPuy7pOuEkOydhCDsnqzsu7TtjIzsnbztlZjsi5zroKTrqbQg7J20IO2MqO2CpOyngOulvCDshKTsuZjtlZjsi63si5zsmKQuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9Im5vIj5JbnN0YWxsZXIgZGlzc2UgcGFra2VuZSBmb3Igw6UgcmVrb21waWxlcmUga2plcm5lbi48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0icHQiPkluc3RhbGUgZXN0ZXMgcGFjb3RlcyBwYXJhIHJlY29tcGlsYXIgbyBuw7pjbGVvLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJydSI+0KPRgdGC0LDQvdC+0LLQuNGC0LUg0Y3RgtC4INC/0LDQutC10YLRiyDQtNC70Y8g0L/QtdGA0LXQutC+0LzQv9C40LvRj9GG0LjQuCDRj9C00YDQsCDRgdC40YHRgtC10LzRiy48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0ic3YiPkluc3RhbGxlcmEgZGVzc2EgcGFrZXQgZsO2ciBhdHQga29tcGlsZXJhIG9tIGvDpHJuYW4uPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9InpoX0NOIj7lronoo4Xov5nkupvova/ku7bljIXmnaXph43mlrDnvJbor5HlhoXmoLjjgII8L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iemhfVFciPuiri+WuieijnemAmeS6m+Wll+S7tuS7pemHjeaWsOe3qOitr+aguOW/g+OAgjwvZGVzY3JpcHRpb24+CisgICAgPHVzZXJ2aXNpYmxlPnRydWU8L3VzZXJ2aXNpYmxlPgorICAgIDxncm91cGxpc3Q+CisgICAgICA8Z3JvdXByZXE+ZGV2ZWxvcG1lbnQtdG9vbHM8L2dyb3VwcmVxPgorICAgIDwvZ3JvdXBsaXN0PgorICAgIDxwYWNrYWdlbGlzdD4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+a2VybmVsLXNvdXJjZTwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+bGliYXR0ci1kZXZlbDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+bGliYWNsLWRldmVsPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+dGs8L3BhY2thZ2VyZXE+CisgICAgPC9wYWNrYWdlbGlzdD4KKyAgPC9ncm91cD4KKworICA8Z3JvdXA+CisgICAgPGlkPmxlZ2FjeS1zb2Z0d2FyZS1kZXZlbG9wbWVudDwvaWQ+CisgICAgPG5hbWU+TGVnYWN5IFNvZnR3YXJlIERldmVsb3BtZW50PC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJjcyI+UG9kcG9yYSBwcm8gdsO9dm9qIHpkxJtkxJtuw6lobyBzb2Z0d2FyZTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZGEiPlVkdmlrbGluZyBhZiDDpmxkcmUgcHJvZ3JhbW1lbDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZGUiPkxlZ2FjeS1Tb2Z0d2FyZSBFbnR3aWNrbHVuZzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZXMiPkRlc2Fycm9sbG8gZGVsIHNvZnR3YXJlIGRlIGxlZ2FkbzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZnIiPkTDqXZlbG9wcGVtZW50IGR1IGxvZ2ljaWVsIGjDqXJpdMOpPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJpcyI+w55yw7N1bmFydMOzbCBmeXJpciBnw7ZtdWwgZm9ycml0PC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJpdCI+U3ZpbHVwcG8gZGVsIGxlZ2FjeSBzb2Z0d2FyZTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iamEiPuODrOOCrOOCt+ODvOOCveODleODiOOCpuOCp+OCouODvOOBrumWi+eZujwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ia28iPuugiOqxsOyLnCDshoztlITtirjsm6jslrQg6rCc67CcPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJubyI+UHJvZ3JhbXZhcmV1dHZpa2xpbmcgZm9yIGVsZHJlIHN5c3RlbWVyLjwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0icHQiPkRlc2Vudm9sdmltZW50byBkZSBTb2Z0d2FyZSBMZWdhZG88L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InJ1Ij7QodGA0LXQtNGB0YLQstCwINC00LvRjyDRgNCw0LfRgNCw0LHQvtGC0LrQuCDRg9GB0YLQsNGA0LXQstGI0LjRhSDQv9GA0LjQu9C+0LbQtdC90LjQuTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ic3YiPlV0dmVja2xpbmcgYXYgw6RsZHJlIHByb2dyYW12YXJhPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJ6aF9DTiI+5Y6f5pyJ55qE6L2v5Lu25byA5Y+RPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJ6aF9UVyI+6IiK5byP6Luf6auU6ZaL55m8PC9uYW1lPgorICAgIDx1c2VydmlzaWJsZT5mYWxzZTwvdXNlcnZpc2libGU+CisgICAgPHBhY2thZ2VsaXN0PgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5jb21wYXQtZ2NjPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5jb21wYXQtZ2NjLWMrKzwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+Y29tcGF0LWdjYy1nNzc8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmNvbXBhdC1saWJzdGRjKys8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmNvbXBhdC1saWJzdGRjKystZGV2ZWw8L3BhY2thZ2VyZXE+CisgICAgPC9wYWNrYWdlbGlzdD4KKyAgPC9ncm91cD4KKworICA8Z3JvdXA+CisgICAgPGlkPngtc29mdHdhcmUtZGV2ZWxvcG1lbnQ8L2lkPgorICAgIDxuYW1lPlggU29mdHdhcmUgRGV2ZWxvcG1lbnQ8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImNzIj5Ww712b2ogc29mdHdhcmUgcHJvIFg8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImRhIj5YLXByb2dyYW1tZWx1ZHZpa2xpbmc8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImRlIj5YIFNvZnR3YXJlZW50d2lja2x1bmc8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImVzIj5EZXNhcnJvbGxvIGRlbCBzb2Z0d2FyZSBYPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJmciI+RMOpdmVsb3BwZW1lbnQgZHUgbG9naWNpZWwgWDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iaXMiPkh1Z2LDum5hw7BhcsO+csOzdW4gZnlyaXIgWCBnbHVnZ2FrZXJmacOwPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJpdCI+U3ZpbHVwcG8gZGVsIHNvZnR3YXJlIFg8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImphIj5Y44K944OV44OI44Km44Kn44Ki6ZaL55m6PC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJrbyI+WCDshoztlITtirjsm6jslrQg6rCc67CcPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJubyI+UHJvZ3JhbXZhcmV1dHZpa2xpbmcgZm9yIFg8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InB0Ij5EZXNlbnZvbHZpbWVudG8gZGUgU29mdHdhcmUgcGFyYSBYPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJydSI+0KDQsNC30YDQsNCx0L7RgtC60LAg0J/QniDQtNC70Y8gWDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ic3YiPlgtcHJvZ3JhbXZhcnV1dHZlY2tsaW5nPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJ6aF9DTiI+WCDova/ku7blvIDlj5E8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InpoX1RXIj5YIOi7n+mrlOmWi+eZvDwvbmFtZT4KKyAgICA8ZGVzY3JpcHRpb24+VGhlc2UgcGFja2FnZXMgYWxsb3cgeW91IHRvIGRldmVsb3AgYXBwbGljYXRpb25zIGZvciB0aGUgWCBXaW5kb3cgU3lzdGVtLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJjcyI+VHl0byBiYWzDrcSNa3kgVsOhbSB1bW/Fvm7DrSB2eXbDrWpldCBhcGxpa2FjZSBwcm8gWCBXaW5kb3cgU3lzdGVtLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJkYSI+RGlzc2UgcGFra2VyIGxhZGVyIGRpZyB1ZHZpa2xlIHByb2dyYW1tZXIgZm9yIHZpbmR1ZXNzeXN0ZW1ldCBYLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJkZSI+TWl0IGRpZXNlbiBQYWtldGVuIGvDtm5uZW4gU2llIEFud2VuZHVuZ2VuIGbDvHIgZGFzIFggV2luZG93IFN5c3RlbSBlbnR3aWNrZWxuLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJlcyI+RXN0b3MgcGFxdWV0ZXMgbGUgcGVybWl0ZW4gZGVzYXJyb2xsYXIgYXBsaWNhY2lvbmVzIHBhcmEgZWwgc2lzdGVtYSBYIFdpbmRvdy48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iZnIiPkNlcyBwYXF1ZXRhZ2VzIHZvdXMgcGVybWV0dGVudCBkZSBkw6l2ZWxvcHBlciBsZXMgYXBwbGljYXRpb25zIHBvdXIgbGUgc3lzdMOobWUgWCBXaW5kb3cuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImlzIj7DnmVzc2lyIHBha2thciBnZXJhIMO+w6lyIGtsZXlmdCBhw7Agw75yw7NhIGh1Z2LDum5hw7AgZnlyaXIgWCBnbHVnZ2FrZXJmacOwLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJpdCI+UXVlc3RpIHBhY2NoZXR0aSBjb25zZW50b25vIGRpIHN2aWx1cHBhcmUgYXBwbGljYXppb25pIHBlciBpbCBzaXN0ZW1hIFggV2luZG93LjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJqYSI+44GT44KM44KJ44Gu44OR44OD44Kx44O844K444GnWCBXaW5kb3cgU3lzdGVt55So44Gu44Ki44OX44Oq44Kx44O844K344On44Oz44KS6ZaL55m644Gn44GN44G+44GZ44CCPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImtvIj7snbQg7Yyo7YKk7KeA64qUIFgg7JyI64+E7JqwIOyLnOyKpO2FnOyXkOyEnCDsgqzsmqnrkKAg7J2R7JqpIO2UhOuhnOq3uOueqOydhCDqsJzrsJztlaAg7IiYIOyeiOqyjCDtlbTspI3ri4jri6QuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9Im5vIj5EaXNzZSBwYWtrZW5lIGxhciBkZWcgdXR2aWtsZSBwcm9ncmFtbWVyIGZvciBYLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJwdCI+RXN0ZSBwYWNvdGVzIHBlcm1pdGVtLWxoZSBkZXNlbnZvbHZlciBhcGxpY2HDp8O1ZXMgcGFyYSBvIFggV2luZG93IFN5c3RlbS48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0icnUiPtCt0YLQuCDQv9Cw0LrQtdGC0Ysg0L/QvtC30LLQvtC70Y/RjtGCINGA0LDQt9GA0LDQsdCw0YLRi9Cy0LDRgtGMINC/0YDQuNC70L7QttC10L3QuNGPINC00LvRjyBYIFdpbmRvdyBTeXN0ZW0uPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9InN2Ij5EZXNzYSBwYWtldCBsw6V0ZXIgZGlnIHV0dmVja2xhIHByb2dyYW0gZsO2ciBmw7Zuc3RlcnN5c3RlbWV0IFguPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9InpoX0NOIj7ov5nkupvova/ku7bljIXlhYHorrjmgqjlvIDlj5HnlKjkuo4gWCDnqpflj6Pns7vnu5/nmoTlupTnlKjnqIvluo/jgII8L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iemhfVFciPumAmeS6m+Wll+S7tuiuk+aCqOWPr+S7peeCuiBYIOimlueql+ezu+e1semWi+eZvOaHieeUqOeoi+W8j+OAgjwvZGVzY3JpcHRpb24+CisgICAgPHVzZXJ2aXNpYmxlPnRydWU8L3VzZXJ2aXNpYmxlPgorICAgIDxwYWNrYWdlbGlzdD4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+R2xpZGUzLWRldmVsPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5YRnJlZTg2LWRldmVsPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5YYXczZC1kZXZlbDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+Z2QtZGV2ZWw8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5sZXNzdGlmLWRldmVsPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5saWJqcGVnLWRldmVsPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5saWJ0aWZmLWRldmVsPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5saWJwbmctZGV2ZWw8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmxpYm1uZy1kZXZlbDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+bGlidW5naWYtZGV2ZWw8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmZyZWV0eXBlLWRldmVsPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5uZXRwYm0tZGV2ZWw8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5saWJwbmcxMC1kZXZlbDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPm9wZW5tb3RpZi1kZXZlbDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPlNETC1kZXZlbDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPlNETF9pbWFnZS1kZXZlbDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPlNETF9taXhlci1kZXZlbDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPlNETF9uZXQtZGV2ZWw8L3BhY2thZ2VyZXE+CisgICAgPC9wYWNrYWdlbGlzdD4KKyAgPC9ncm91cD4KKworICA8Z3JvdXA+CisgICAgPGlkPmdub21lLXNvZnR3YXJlLWRldmVsb3BtZW50PC9pZD4KKyAgICA8bmFtZT5HTk9NRSBTb2Z0d2FyZSBEZXZlbG9wbWVudDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iY3MiPlbDvXZvaiBzb2Z0d2FyZSBwcm8gR05PTU9FPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJkYSI+R25vbWUtcHJvZ3JhbW1lbHVkdmlrbGluZzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZGUiPkdOT01FIFNvZnR3YXJlZW50d2lja2x1bmc8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImVzIj5EZXNhcnJvbGxvIGRlIHNvZnR3YXJlIGRlIEdOT01FPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJmciI+RMOpdmVsb3BwZW1lbnQgZGUgbG9naWNpZWwgR05PTUU8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImlzIj5IdWdiw7puYcOwYXLDvnLDs3VuIGZ5cmlyIEdOT01FPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJpdCI+U3ZpbHVwcG8gZGVsIHNvZnR3YXJlIGRpIEdOT01FPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJqYSI+R05PTUUg44K944OV44OI44Km44Kn44Ki6ZaL55m6PC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJrbyI+R05PTUUg7IaM7ZSE7Yq47Juo7Ja0IOqwnOuwnDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ibm8iPlByb2dyYW12YXJldXR2aWtsaW5nIGZvciBHTk9NRTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0icHQiPkRlc2Vudm9sdmltZW50byBkZSBTb2Z0d2FyZSBHTk9NRTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0icnUiPtCg0LDQt9GA0LDQsdC+0YLQutCwINGBINC40YHQv9C+0LvRjNC30L7QstCw0L3QuNC10LwgR05PTUU8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InN2Ij5HTk9NRS1wcm9ncmFtdmFydXV0dmVja2xpbmc8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InpoX0NOIj5HTk9NRSDova/ku7blvIDlj5E8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InpoX1RXIj5HTk9NRSDou5/pq5Tplovnmbw8L25hbWU+CisgICAgPGRlc2NyaXB0aW9uPkluc3RhbGwgdGhlc2UgcGFja2FnZXMgaW4gb3JkZXIgdG8gZGV2ZWxvcCBHVEsrIGFuZCBHTk9NRSBncmFwaGljYWwgYXBwbGljYXRpb25zLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJjcyI+VHl0byBiYWzDrcSNa3kgbmFpbnN0YWx1anRlIHBybyB2w712b2ogZ3JhZmlja8O9Y2ggYXBsaWthY8OtIHBybyBHVEsrIGEgR05PTUUuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImRhIj5JbnN0YWxsw6lyIGRpc3NlIHBha2tlciBmb3IgYXQga3VubmUgdWR2aWtsZSBncmFmaXNrZSBwcm9ncmFtbWVyIHNvbSBicnVnZXIgR1RLKyBvZyBHbm9tZS48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iZGUiPkluc3RhbGxpZXJlbiBTaWUgZGllc2UgUGFrZXRlLCB1bSBBcHBsaWthdGlvbmVuIGbDvHIgR1RLKyB1bmQgR05PTUUgenUgZW50d2lja2Vsbi48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iZXMiPkluc3RhbGFyIGVzdG9zIHBhcXVldGVzIHBhcmEgZGVzYXJyb2xsYXIgR1RLKyB5IGxhcyBhcGxpY2FjaW9uZXMgZ3LDoWZpY2FzIGRlIEdOT01FLiA8L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iZnIiPkluc3RhbGxlciBjZXMgcGFxdWV0YWdlcyBwb3VyIGTDqXZlbG9wcGVyIGxlcyBhcHBsaWNhdGlvbnMgZ3JhcGhpcXVlcyBHVEsrIGV0IEdOT01FLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJpcyI+U2V0dHUgw75lc3NhIHBha2thIGlubiBlZiDDvsO6IHZpbHQgw75yw7NhIEdUSysgb2cgR05PTUUgZm9ycml0LjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJpdCI+SW5zdGFsbGFyZSBxdWVzdGkgcGFjY2hldHRpIHBlciBzdmlsdXBwYXJlIGxlIGFwcGxpY2F6aW9uaSBncmFmaWNoZSBHVEsrIGUgR05PTUUuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImphIj5HVEsrIOOBqCBHTk9NReOBruOCsOODqeODleOCo+OCq+ODq+OCouODl+ODquOCseODvOOCt+ODp+ODs+OCkumWi+eZuuOBmeOCi+eCuuOBq+OBr+OBk+OCjOOCieOBriDjg5Hjg4PjgrHjg7zjgrjjgpLjgqTjg7Pjgrnjg4jjg7zjg6vjgZfjgabkuIvjgZXjgYTjgII8L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0ia28iPkdUSyvsmYAgR05PTUUg6re4656Y7ZS9IOydkeyaqSDtlITroZzqt7jrnqjsnYQg6rCc67Cc7ZWY7Iuc66Ck66m0IOydtCDtjKjtgqTsp4Drpbwg7ISk7LmY7ZWY7Iut7Iuc7JikLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJubyI+SW5zdGFsbGVyIGRpc3NlIHBha2tlbmUgZm9yIHV0dmlrbGluZyBhdiBHVEsrLSBvZyBHTk9NRS1wcm9ncmFtbWVyLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJwdCI+SW5zdGFsZSBlc3RlcyBwYWNvdGVzIHNlIHF1aXNlciBkZXNlbnZvbHZlciBhcGxpY2HDp8O1ZXMgZ3LDoWZpY2FzIEdUSysgb3UgR05PTUUuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9InJ1Ij7Qo9GB0YLQsNC90L7QstC40YLQtSDRjdGC0Lgg0L/QsNC60LXRgtGLINC00LvRjyDRgNCw0LfRgNCw0LHQvtGC0LrQuCDQs9GA0LDRhNC40YfQtdGB0LrQuNGFINC/0YDQuNC70L7QttC10L3QuNC5IEdUSysg0LggR05PTUUuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9InN2Ij5JbnN0YWxsZXJhIGRlc3NhIHBha2V0IGbDtnIgYXR0IGt1bm5hIHV0dmVja2xhIGdyYWZpc2thIHByb2dyYW0gc29tIGFudsOkbmRlciBHVEsrIG9jaCBHTk9NRS48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iemhfQ04iPuWuieijhei/meS6m+i9r+S7tuWMheadpeW8gOWPkSBHVEsrIOWSjCBHTk9NRSDlm77lvaLljJblupTnlKjnqIvluo/jgII8L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iemhfVFciPuiri+WuieijnemAmeS6m+Wll+S7tu+8jOeUqOS+humWi+eZvCBHVEsrIOiIhyBHTk9NRSDnmoTlnJblvaLmh4nnlKjnqIvlvI/jgII8L2Rlc2NyaXB0aW9uPgorICAgIDx1c2VydmlzaWJsZT50cnVlPC91c2VydmlzaWJsZT4KKyAgICA8cGFja2FnZWxpc3Q+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5idWctYnVkZHk8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5weWd0azItZGV2ZWw8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmdsaWItZGV2ZWw8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmdsaWIyLWRldmVsPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5ndGsrLWRldmVsPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5HQ29uZi1kZXZlbDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+R0NvbmYyLWRldmVsPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0iZGVmYXVsdCI+R3VwcGktZGV2ZWw8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPk9SQml0LWRldmVsPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5PUkJpdDItZGV2ZWw8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmF0ay1kZXZlbDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+Ym9ub2JvLWFjdGl2YXRpb24tZGV2ZWw8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5ib25vYm8tY29uZi1kZXZlbDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+Ym9ub2JvLWRldmVsPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5lZWwyLWRldmVsPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5mb250Y29uZmlnLWRldmVsPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5nYWlsLWRldmVsPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5nYWwtZGV2ZWw8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmdkay1waXhidWYtZGV2ZWw8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmdub21lLWxpYnMtZGV2ZWw8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJkZWZhdWx0Ij5nbm9tZS1waWxvdC1kZXZlbDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+Z25vbWUtcHJpbnQtZGV2ZWw8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmdub21lLXZmcy1kZXZlbDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+Z25vbWUtdmZzMi1kZXZlbDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+Z3RraHRtbC1kZXZlbDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+Z3RrMi1kZXZlbDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9ImRlZmF1bHQiPmltbGliLWRldmVsPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5saWJJREwtZGV2ZWw8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmxpYmFydF9sZ3BsLWRldmVsPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5saWJib25vYm8tZGV2ZWw8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmxpYmJvbm9ib3VpLWRldmVsPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5saWJnbGFkZS1kZXZlbDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+bGliZ2xhZGUyLWRldmVsPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5saWJnbm9tZS1kZXZlbDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+bGliZ25vbWVjYW52YXMtZGV2ZWw8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmxpYmdub21ldWktZGV2ZWw8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmxpYmd0b3AtZGV2ZWw8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmxpYm9sZTItZGV2ZWw8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmxpYnJzdmctZGV2ZWw8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmxpYnJzdmcyLWRldmVsPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5saWJ1bmljb2RlLWRldmVsPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5saWJ4c2x0LWRldmVsPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5saW5jLWRldmVsPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5vYWYtZGV2ZWw8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPnBhbmdvLWRldmVsPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ib3B0aW9uYWwiPmdsYWRlPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ib3B0aW9uYWwiPmdsYWRlMjwvcGFja2FnZXJlcT4KKyAgICA8L3BhY2thZ2VsaXN0PgorICA8L2dyb3VwPgorCisgIDxncm91cD4KKyAgICA8aWQ+a2RlLXNvZnR3YXJlLWRldmVsb3BtZW50PC9pZD4KKyAgICA8bmFtZT5LREUgU29mdHdhcmUgRGV2ZWxvcG1lbnQ8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImNzIj5Ww712b2ogc29mdHdhcmUgcHJvIEdOT01FPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJkYSI+S0RFLXByb2dyYW1tZWx1ZHZpa2xpbmc8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImRlIj5LREUgU29mdHdhcmVlbnR3aWNrbHVuZzwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZXMiPkRlc2Fycm9sbG8gZGUgc29mdHdhcmUgcGFyYSBLREU8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImZyIj5Ew6l2ZWxvcHBlbWVudCBkZSBsb2dpY2llbCBLREU8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImlzIj5IdWdiw7puYcOwYXLDvnLDs3VuIGZ5cmlyIEtERTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iaXQiPlN2aWx1cHBvIHNvZnR3YXJlIEtERTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iamEiPktEReOCveODleODiOOCpuOCp+OCoumWi+eZujwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ia28iPktERSDshoztlITtirjsm6jslrQg6rCc67CcPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJubyI+UHJvZ3JhbXZhcmV1dHZpa2xpbmcgZm9yIEtERTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0icHQiPkRlc2Vudm9sdmltZW50byBkZSBTb2Z0d2FyZSBLREU8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InJ1Ij7QodGA0LXQtNGB0YLQstCwINC00LvRjyDRgNCw0LfRgNCw0LHQvtGC0LrQuCDQsiBLREU8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InN2Ij5LREUtcHJvZ3JhbXZhcnV1dHZlY2tsaW5nPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJ6aF9DTiI+S0RFIOi9r+S7tuW8gOWPkTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iemhfVFciPktERSDou5/pq5Tplovnmbw8L25hbWU+CisgICAgPGRlc2NyaXB0aW9uPkluc3RhbGwgdGhlc2UgcGFja2FnZXMgdG8gZGV2ZWxvcCBRVCBhbmQgS0RFIGdyYXBoaWNhbCBhcHBsaWNhdGlvbnMuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImNzIj5UeXRvIGJhbMOtxI1reSBuYWluc3RhbHVqdGUgcHJvIHbDvXZvaiBncmFmaWNrw71jaCBhcGxpa2Fjw60gcHJvIFFUIGEgS0RFLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJkYSI+SW5zdGFsbMOpciBkaXNzZSBwYWtrZXIgZm9yIGF0IHVkdmlrbGUgZ3JhZmlza2UgcHJvZ3JhbW1lciBzb20gYnJ1Z2VyIFFUIG9nIEtERS48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iZGUiPkluc3RhbGxpZXJlbiBTaWUgZGllc2UgUGFrZXRlLCB1bSBBcHBsaWthdGlvbmVuIGbDvHIgUVQgdW5kIEtERSB6dSBlbnR3aWNrZWxuLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJlcyI+SW5zdGFsYXIgZXN0b3MgcGFxdWV0ZXMgcGFyYSBkZXNhcnJvbGxhciBsYXMgYXBsaWNhY2lvbmVzIGdyw6FmaWNhcyBRVCB5IEtERS48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iZnIiPkluc3RhbGxlciBjZXMgcGFxdWV0YWdlcyBwb3VyIGTDqXZlbG9wcGVyIGxlcyBhcHBsaWNhdGlvbnMgZ3JhcGhpcXVlcyBRVCBldCBLREUuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImlzIj5TZXR0dSDDvmVzc2EgcGFra2EgaW5uIGVmIMO+w7ogdmlsdCDDvnLDs2EgUVQgb2cgS0RFIGZvcnJpdDwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJpdCI+SW5zdGFsbGFyZSBxdWVzdGkgcGFjY2hldHRpIHBlciBzdmlsdXBwYXJlIGxlIGFwcGxpY2F6aW9uaSBncmFmaWNoZSBRVCBlIEtERS48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0iamEiPlFU44GoS0RF44Gu44Kw44Op44OV44Kj44Kr44Or44Ki44OX44Oq44Kx44O844K344On44Oz6ZaL55m644Gr44Gv44GT44KM44KJ44Gu44OR44OD44Kx44O844K444KS44Kk44Oz44K544OI44O844Or44GX44G+44GZ44CCPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9ImtvIj5RVOyZgCBLREUg6re4656Y7ZS9IOydkeyaqSDtlITroZzqt7jrnqjsnYQg6rCc67Cc7ZWY7Iuc66Ck66m0IOydtCDtjKjtgqTsp4Drpbwg7ISk7LmY7ZWY7Iut7Iuc7JikLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJubyI+SW5zdGFsbGVyIGRpc3NlIHBha2tlbmUgZm9yIHV0dmlrbGluZyBhdiBRVCBvZyBLREUtcHJvZ3JhbW1lci48L2Rlc2NyaXB0aW9uPgorICAgIDxkZXNjcmlwdGlvbiB4bWw6bGFuZz0icHQiPkluc3RhbGUgZXN0ZXMgcGFjb3RlcyBzZSBxdWlzZXIgZGVzZW52b2x2ZXIgYXBsaWNhw6fDtWVzIGdyw6FmaWNhcyBRVCBvdSBLREUuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9InJ1Ij7Qo9GB0YLQsNC90L7QstC40YLQtSDRjdGC0Lgg0L/QsNC60LXRgtGLINC00LvRjyDRgNCw0LfRgNCw0LHQvtGC0LrQuCDQv9GA0LjQu9C+0LbQtdC90LjQuSBRVCDQuCBLREUuPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9InN2Ij5JbnN0YWxsZXJhIGRlc3NhIHBha2V0IGbDtnIgYXR0IHV0dmVja2xhIGdyYWZpc2thIHByb2dyYW0gZsO2ciBRVCBvY2ggS0RFLjwvZGVzY3JpcHRpb24+CisgICAgPGRlc2NyaXB0aW9uIHhtbDpsYW5nPSJ6aF9DTiI+5a6J6KOF6L+Z5Lqb6L2v5Lu25YyF5p2l5byA5Y+RIFFUIOWSjCBLREUg5Zu+5b2i5YyW5bqU55So56iL5bqP44CCPC9kZXNjcmlwdGlvbj4KKyAgICA8ZGVzY3JpcHRpb24geG1sOmxhbmc9InpoX1RXIj7oq4vlronoo53pgJnkupvlpZfku7bvvIznlKjkvobplovnmbwgUVQg6IiHIEtERSDnmoTlnJblvaLmh4nnlKjnqIvlvI/jgII8L2Rlc2NyaXB0aW9uPgorICAgIDx1c2VydmlzaWJsZT50cnVlPC91c2VydmlzaWJsZT4KKyAgICA8cGFja2FnZWxpc3Q+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPlB5UXQtZGV2ZWw8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmFydHMtZGV2ZWw8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmNkcGFyYW5vaWEtZGV2ZWw8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmNlcnZpc2lhPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5jdXBzLWRldmVsPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5rZGJnPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5rZGViYXNlLWRldmVsPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5rZGVsaWJzLWRldmVsPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5rZGVuZXR3b3JrLWRldmVsPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5rZGVzZGsta2FwcHRlbXBsYXRlPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5rZGVzZGsta2JhYmVsPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5rZGVzZGsta2J1Z2J1c3RlcjwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+a2Rlc2RrLWttdHJhY2U8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPmtkZXNkay1rb21wYXJlPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5rZGVzZGsta3NweTwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+a2RlcGltLWRldmVsPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5rZGV2ZWxvcDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+a2RvYzwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+a3JlZ2V4cGVkaXRvci1kZXZlbDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+a3ZpZXdzaGVsbC1kZXZlbDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+bGlia3NjYW4tZGV2ZWw8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPnBpbG90LWxpbmstZGV2ZWw8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJtYW5kYXRvcnkiPnF0LWRlc2lnbmVyPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5xdC1kZXZlbDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+c2FuZS1iYWNrZW5kcy1kZXZlbDwvcGFja2FnZXJlcT4KKyAgICAgIDxwYWNrYWdlcmVxIHR5cGU9Im1hbmRhdG9yeSI+c2lwLWRldmVsPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ibWFuZGF0b3J5Ij5saWJ4c2x0LWRldmVsPC9wYWNrYWdlcmVxPgorICAgIDwvcGFja2FnZWxpc3Q+CisgIDwvZ3JvdXA+CisKKyAgPCEtLSBNRVRBIEdST1VQUyAtLT4KKyAgPGdyb3VwPgorICAgIDxpZD53b3Jrc3RhdGlvbi1jb21tb248L2lkPgorICAgIDx1c2VydmlzaWJsZT5mYWxzZTwvdXNlcnZpc2libGU+CisgICAgPG5hbWU+V29ya3N0YXRpb24gQ29tbW9uPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJjcyI+U3BvbGXEjW7DqSBwcm8gcHJhY292bsOtIHN0YW5pY2k8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImRhIj5Gw6ZsbGVzIGZvciBhcmJlamRzc3RhdGlvbjwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZGUiPldvcmtzdGF0aW9uIENvbW1vbjwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZXMiPlpvbmEgY29tw7puIGRlIGxhIGVzdGFjacOzbiBkZSB0cmFiYWpvPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJmciI+UG9zdGUgZGUgdHJhdmFpbCBjb21tdW48L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImlzIj5BbG1lbm50IGZ5cmlyIHZpbm51c3TDtsOwdmFyPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJpdCI+V29ya3N0YXRpb24gQ29tbW9uPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJqYSI+44Ov44O844Kv44K544OG44O844K344On44Oz5YWx6YCaPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJrbyI+7JuN7Iqk7YWM7J207IWYIOqzte2GtTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ibm8iPkFyYmVpZHNzdGFzam9uIC0gZmVsbGVzPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJwdCI+RXN0YcOnw6NvIGRlIFRyYWJhbGhvIENvbXVtPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJydSI+0KLQuNC/0L7QstCw0Y8g0KDQsNCx0L7Rh9Cw0Y8g0KHRgtCw0L3RhtC40Y88L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InN2Ij5HZW1lbnNhbXQgZsO2ciBhcmJldHNzdGF0aW9uPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJ6aF9DTiI+5bel5L2c56uZ6YCa55SoPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJ6aF9UVyI+5bel5L2c56uZ5YWx5ZCMPC9uYW1lPgorICAgIDxncm91cGxpc3Q+CisgICAgICA8Z3JvdXByZXE+YmFzZTwvZ3JvdXByZXE+IAorICAgICAgPGdyb3VwcmVxPmJhc2UteDwvZ3JvdXByZXE+CisgICAgICA8Z3JvdXByZXE+YWRtaW4tdG9vbHM8L2dyb3VwcmVxPgorICAgICAgPGdyb3VwcmVxPmVkaXRvcnM8L2dyb3VwcmVxPgorICAgICAgPGdyb3VwcmVxPnNvdW5kLWFuZC12aWRlbzwvZ3JvdXByZXE+CisgICAgICA8Z3JvdXByZXE+ZGlhbHVwPC9ncm91cHJlcT4KKyAgICAgIDxncm91cHJlcT5vZmZpY2U8L2dyb3VwcmVxPgorICAgICAgPGdyb3VwcmVxPmdyYXBoaWNhbC1pbnRlcm5ldDwvZ3JvdXByZXE+CisgICAgICA8Z3JvdXByZXE+dGV4dC1pbnRlcm5ldDwvZ3JvdXByZXE+CisgICAgICA8Z3JvdXByZXE+cHJpbnRpbmc8L2dyb3VwcmVxPgorICAgICAgPGdyb3VwcmVxPmdyYXBoaWNzPC9ncm91cHJlcT4KKyAgICAgIDxncm91cHJlcT5nYW1lczwvZ3JvdXByZXE+CisgICAgPC9ncm91cGxpc3Q+CisgIDwvZ3JvdXA+CisKKyAgPGdyb3VwPgorICAgIDxpZD5zZXJ2ZXI8L2lkPgorICAgIDx1c2VydmlzaWJsZT5mYWxzZTwvdXNlcnZpc2libGU+CisgICAgPG5hbWU+U2VydmVyPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJjcyI+U2VydmVyPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJkYSI+U2VydmVyPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJkZSI+U2VydmVyPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJlcyI+U2Vydmlkb3I8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImZyIj5TZXJ2ZXVyPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJpcyI+w55qw7NubjwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iaXQiPlNlcnZlcjwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iamEiPuOCteODvOODkDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ia28iPuyEnOuyhDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ibm8iPlRqZW5lcjwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0icHQiPlNlcnZpZG9yPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJydSI+0KHQtdGA0LLQtdGAPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJzdiI+U2VydmVyPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJ6aF9DTiI+5pyN5Yqh5ZmoPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJ6aF9UVyI+5Ly65pyN5ZmoPC9uYW1lPgorICAgIDxncm91cGxpc3Q+CisgICAgICA8Z3JvdXByZXE+YmFzZTwvZ3JvdXByZXE+CisgICAgICA8Z3JvdXByZXE+cHJpbnRpbmc8L2dyb3VwcmVxPgorICAgICAgPGdyb3VwcmVxPnRleHQtaW50ZXJuZXQ8L2dyb3VwcmVxPgorICAgICAgPGdyb3VwcmVxPmRpYWx1cDwvZ3JvdXByZXE+CisgICAgICA8Z3JvdXByZXE+d2ViLXNlcnZlcjwvZ3JvdXByZXE+CisgICAgICA8Z3JvdXByZXE+c21iLXNlcnZlcjwvZ3JvdXByZXE+CisgICAgICA8Z3JvdXByZXE+c2VydmVyLWNmZzwvZ3JvdXByZXE+CisgICAgICA8Z3JvdXByZXE+YWRtaW4tdG9vbHM8L2dyb3VwcmVxPgorICAgIDwvZ3JvdXBsaXN0PgorICA8L2dyb3VwPgorCisgIDxncm91cD4KKyAgICA8aWQ+Z25vbWU8L2lkPgorICAgIDx1c2VydmlzaWJsZT5mYWxzZTwvdXNlcnZpc2libGU+CisgICAgPG5hbWU+R05PTUU8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImNzIj5HTk9NRTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZGEiPkdub21lPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJkZSI+R05PTUU8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImVzIj5HTk9NRTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZnIiPkdOT01FPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJpcyI+R05PTUU8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9Iml0Ij5HTk9NRTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iamEiPkdOT01FIDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ia28iPkdOT01FPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJubyI+R05PTUU8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InB0Ij5HTk9NRTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0icnUiPkdOT01FPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJzdiI+R05PTUU8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InpoX0NOIj5HTk9NRTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iemhfVFciPkdOT01FPC9uYW1lPgorICAgIDxncm91cGxpc3Q+CisgICAgICA8Z3JvdXByZXE+Z25vbWUtZGVza3RvcDwvZ3JvdXByZXE+CisgICAgPC9ncm91cGxpc3Q+CisgIDwvZ3JvdXA+CisKKyAgPGdyb3VwPgorICAgIDxpZD5rZGU8L2lkPgorICAgIDx1c2VydmlzaWJsZT5mYWxzZTwvdXNlcnZpc2libGU+CisgICAgPG5hbWU+S0RFPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJjcyI+S0RFPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJkYSI+S0RFPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJkZSI+S0RFPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJlcyI+S0RFPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJmciI+S0RFPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJpcyI+S0RFPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJpdCI+S0RFPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJqYSI+S0RFPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJrbyI+S0RFPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJubyI+S0RFPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJwdCI+S0RFPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJydSI+S0RFPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJzdiI+S0RFPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJ6aF9DTiI+S0RFPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJ6aF9UVyI+S0RFPC9uYW1lPgorICAgIDxncm91cGxpc3Q+CisgICAgICA8Z3JvdXByZXE+a2RlLWRlc2t0b3A8L2dyb3VwcmVxPgorICAgIDwvZ3JvdXBsaXN0PgorICA8L2dyb3VwPgorICAKKyAgPGdyb3VwPgorICAgIDxpZD5zdXBwb3J0ZWQ8L2lkPgorICAgIDx1c2VydmlzaWJsZT5mYWxzZTwvdXNlcnZpc2libGU+CisgICAgPG5hbWU+U3VwcG9ydGVkIFBhY2thZ2VzPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJjcyI+UG9kcG9yb3ZhbsOpIGJhbMOtxI1reTwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZGEiPlBha2tlciBzb20gdW5kZXJzdMO4dHRlczwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZGUiPlVudGVyc3TDvHR6dGUgUGFrZXRlPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJlcyI+UGFxdWV0ZXMgc29wb3J0YWRvczwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iZnIiPlBhcXVldGFnZXMgcHJpcyBlbiBjaGFyZ2U8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9ImlzIj5TdHVkZGlyIHBha2thcjwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0iaXQiPlBhY2NoZXR0aSBzdXBwb3J0YXRpPC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJqYSI+44K144Od44O844OI44GV44KM44KL44OR44OD44Kx44O844K4PC9uYW1lPgorICAgIDxuYW1lIHhtbDpsYW5nPSJrbyI+7KeA7JuQ7ZWY64qUIO2MqO2CpOyngDwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ibm8iPlN0w7h0dGVkZSBwYWtrZXI8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InB0Ij5QYWNvdGVzIFN1cG9ydGFkb3M8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InJ1Ij7Qn9C+0LTQtNC10YDQttC40LLQsNC10LzRi9C1INC/0LDQutC10YLRizwvbmFtZT4KKyAgICA8bmFtZSB4bWw6bGFuZz0ic3YiPlBha2V0IHNvbSBzdMO2ZHM8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InpoX0NOIj7mlK/mjIHnmoTova/ku7bljIU8L25hbWU+CisgICAgPG5hbWUgeG1sOmxhbmc9InpoX1RXIj7mlK/mj7TnmoTlpZfku7Y8L25hbWU+CisgICAgPHBhY2thZ2VsaXN0PgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ib3B0aW9uYWwiPmFuYWNvbmRhPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ib3B0aW9uYWwiPmFuYWNvbmRhLWhlbHA8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJvcHRpb25hbCI+YW5hY29uZGEtaW1hZ2VzPC9wYWNrYWdlcmVxPgorICAgICAgPHBhY2thZ2VyZXEgdHlwZT0ib3B0aW9uYWwiPmFuYWNvbmRhLXJ1bnRpbWU8L3BhY2thZ2VyZXE+CisgICAgICA8cGFja2FnZXJlcSB0eXBlPSJvcHRpb25hbCI+Ym9vdHk8L3BhY2thZ2VyZXE+CisgICAgPC9wYWNrYWdlbGlzdD4KKyAgPC9ncm91cD4KKworICA8IS0tIGdyb3VwIGhpZXJhcmNoeSAtLT4KKyAgPGdyb3VwaGllcmFyY2h5PgorICAgIDxjYXRlZ29yeT4KKyAgICAgIDxuYW1lPkRlc2t0b3BzPC9uYW1lPgorICAgICAgPG5hbWUgeG1sOmxhbmc9ImNzIj5Qcm9zdMWZZWTDrSBwcmFjb3Zuw60gcGxvY2h5PC9uYW1lPgorICAgICAgPG5hbWUgeG1sOmxhbmc9ImRhIj5Ta3JpdmVib3JkZTwvbmFtZT4KKyAgICAgIDxuYW1lIHhtbDpsYW5nPSJpcyI+U2tqw6Fib3LDsDwvbmFtZT4KKyAgICAgIDxuYW1lIHhtbDpsYW5nPSJqYSI+44OH44K544Kv44OI44OD44OXPC9uYW1lPgorICAgICAgPG5hbWUgeG1sOmxhbmc9ImtvIj7rjbDsiqTtgaztg5E8L25hbWU+CisgICAgICA8bmFtZSB4bWw6bGFuZz0ibm8iPlNrcml2ZWJvcmQ8L25hbWU+CisgICAgICA8bmFtZSB4bWw6bGFuZz0icHQiPkFtYmllbnRlIGRlIFRyYWJhbGhvPC9uYW1lPgorICAgICAgPG5hbWUgeG1sOmxhbmc9InJ1Ij7QntC60L7QvdC90YvQtSDQvNC10L3QtdC00LbQtdGA0Ys8L25hbWU+CisgICAgICA8bmFtZSB4bWw6bGFuZz0ic3YiPlNrcml2Ym9yZDwvbmFtZT4KKyAgICAgIDxuYW1lIHhtbDpsYW5nPSJ6aF9DTiI+5qGM6Z2iPC9uYW1lPgorICAgICAgPG5hbWUgeG1sOmxhbmc9InpoX1RXIj7moYzpnaI8L25hbWU+CisgICAgICA8c3ViY2F0ZWdvcmllcz4KKyAgICAgICAgPHN1YmNhdGVnb3J5PmJhc2UteDwvc3ViY2F0ZWdvcnk+CisgICAgICAgIDxzdWJjYXRlZ29yeT5nbm9tZS1kZXNrdG9wPC9zdWJjYXRlZ29yeT4KKyAgICAgICAgPHN1YmNhdGVnb3J5PmtkZS1kZXNrdG9wPC9zdWJjYXRlZ29yeT4KKyAgICAgIDwvc3ViY2F0ZWdvcmllcz4KKyAgICA8L2NhdGVnb3J5PgorICAgIDxjYXRlZ29yeT4KKyAgICAgIDxuYW1lPkFwcGxpY2F0aW9uczwvbmFtZT4KKyAgICAgIDxuYW1lIHhtbDpsYW5nPSJjcyI+QXBsaWthY2U8L25hbWU+CisgICAgICA8bmFtZSB4bWw6bGFuZz0iZGEiPlByb2dyYW1tZXI8L25hbWU+CisgICAgICA8bmFtZSB4bWw6bGFuZz0iaXMiPkZvcnJpdDwvbmFtZT4KKyAgICAgIDxuYW1lIHhtbDpsYW5nPSJqYSI+44Ki44OX44Oq44Kx44O844K344On44OzPC9uYW1lPgorICAgICAgPG5hbWUgeG1sOmxhbmc9ImtvIj7snZHsmqkg7ZSE66Gc6re4656oPC9uYW1lPgorICAgICAgPG5hbWUgeG1sOmxhbmc9Im5vIj5Qcm9ncmFtbWVyPC9uYW1lPgorICAgICAgPG5hbWUgeG1sOmxhbmc9InB0Ij5BcGxpY2HDp8O1ZXM8L25hbWU+CisgICAgICA8bmFtZSB4bWw6bGFuZz0icnUiPtCf0YDQuNC70L7QttC10L3QuNGPPC9uYW1lPgorICAgICAgPG5hbWUgeG1sOmxhbmc9InN2Ij5Qcm9ncmFtPC9uYW1lPgorICAgICAgPG5hbWUgeG1sOmxhbmc9InpoX0NOIj7lupTnlKjnqIvluo88L25hbWU+CisgICAgICA8bmFtZSB4bWw6bGFuZz0iemhfVFciPuaHieeUqOeoi+W8jzwvbmFtZT4KKyAgICAgIDxzdWJjYXRlZ29yaWVzPgorICAgICAgICA8c3ViY2F0ZWdvcnk+ZWRpdG9yczwvc3ViY2F0ZWdvcnk+CisgICAgICAgIDxzdWJjYXRlZ29yeT5lbmdpbmVlcmluZy1hbmQtc2NpZW50aWZpYzwvc3ViY2F0ZWdvcnk+CisgICAgICAgIDxzdWJjYXRlZ29yeT5ncmFwaGljYWwtaW50ZXJuZXQ8L3N1YmNhdGVnb3J5PgorICAgICAgICA8c3ViY2F0ZWdvcnk+dGV4dC1pbnRlcm5ldDwvc3ViY2F0ZWdvcnk+CisgICAgICAgIDxzdWJjYXRlZ29yeT5vZmZpY2U8L3N1YmNhdGVnb3J5PgorICAgICAgICA8c3ViY2F0ZWdvcnk+c291bmQtYW5kLXZpZGVvPC9zdWJjYXRlZ29yeT4KKyAgICAgICAgPHN1YmNhdGVnb3J5PmF1dGhvcmluZy1hbmQtcHVibGlzaGluZzwvc3ViY2F0ZWdvcnk+CisgICAgICAgIDxzdWJjYXRlZ29yeT5ncmFwaGljczwvc3ViY2F0ZWdvcnk+CisgICAgICAgIDxzdWJjYXRlZ29yeT5nYW1lczwvc3ViY2F0ZWdvcnk+CisgICAgICA8L3N1YmNhdGVnb3JpZXM+CisgICAgPC9jYXRlZ29yeT4KKyAgICA8Y2F0ZWdvcnk+CisgICAgICA8bmFtZT5TZXJ2ZXJzPC9uYW1lPgorICAgICAgPG5hbWUgeG1sOmxhbmc9ImNzIj5TZXJ2ZXJ5PC9uYW1lPgorICAgICAgPG5hbWUgeG1sOmxhbmc9ImRhIj5TZXJ2ZXJlPC9uYW1lPgorICAgICAgPG5hbWUgeG1sOmxhbmc9ImRlIj5TZXJ2ZXI8L25hbWU+CisgICAgICA8bmFtZSB4bWw6bGFuZz0iaXMiPsOeasOzbmFyPC9uYW1lPgorICAgICAgPG5hbWUgeG1sOmxhbmc9ImphIj7jgrXjg7zjg5A8L25hbWU+CisgICAgICA8bmFtZSB4bWw6bGFuZz0ia28iPuyEnOuyhDwvbmFtZT4KKyAgICAgIDxuYW1lIHhtbDpsYW5nPSJubyI+VGplbmVyZTwvbmFtZT4KKyAgICAgIDxuYW1lIHhtbDpsYW5nPSJwdCI+U2Vydmlkb3JlczwvbmFtZT4KKyAgICAgIDxuYW1lIHhtbDpsYW5nPSJydSI+0KHQtdGA0LLQtdGA0Ys8L25hbWU+CisgICAgICA8bmFtZSB4bWw6bGFuZz0ic3YiPlNlcnZyYXI8L25hbWU+CisgICAgICA8bmFtZSB4bWw6bGFuZz0iemhfQ04iPuacjeWKoeWZqDwvbmFtZT4KKyAgICAgIDxuYW1lIHhtbDpsYW5nPSJ6aF9UVyI+5Ly65pyN5ZmoPC9uYW1lPgorICAgICAgPHN1YmNhdGVnb3JpZXM+CisgICAgICAgIDxzdWJjYXRlZ29yeT5zZXJ2ZXItY2ZnPC9zdWJjYXRlZ29yeT4KKyAgICAgICAgPHN1YmNhdGVnb3J5PndlYi1zZXJ2ZXI8L3N1YmNhdGVnb3J5PgorICAgICAgICA8c3ViY2F0ZWdvcnk+bWFpbC1zZXJ2ZXI8L3N1YmNhdGVnb3J5PgorICAgICAgICA8c3ViY2F0ZWdvcnk+c21iLXNlcnZlcjwvc3ViY2F0ZWdvcnk+CisgICAgICAgIDxzdWJjYXRlZ29yeT5kbnMtc2VydmVyPC9zdWJjYXRlZ29yeT4KKyAgICAgICAgPHN1YmNhdGVnb3J5PmZ0cC1zZXJ2ZXI8L3N1YmNhdGVnb3J5PgorICAgICAgICA8c3ViY2F0ZWdvcnk+c3FsLXNlcnZlcjwvc3ViY2F0ZWdvcnk+CisgICAgICAgIDxzdWJjYXRlZ29yeT5uZXdzLXNlcnZlcjwvc3ViY2F0ZWdvcnk+CisgICAgICAgIDxzdWJjYXRlZ29yeT5uZXR3b3JrLXNlcnZlcjwvc3ViY2F0ZWdvcnk+CisgICAgICA8L3N1YmNhdGVnb3JpZXM+CisgICAgPC9jYXRlZ29yeT4KKyAgICA8Y2F0ZWdvcnk+CisgICAgICA8bmFtZT5EZXZlbG9wbWVudDwvbmFtZT4KKyAgICAgIDxuYW1lIHhtbDpsYW5nPSJjcyI+VsO9dm9qPC9uYW1lPgorICAgICAgPG5hbWUgeG1sOmxhbmc9ImRhIj5VZHZpa2xpbmc8L25hbWU+CisgICAgICA8bmFtZSB4bWw6bGFuZz0iZGUiPlNvZnR3YXJlZW50d2lja2x1bmc8L25hbWU+CisgICAgICA8bmFtZSB4bWw6bGFuZz0iaXMiPsOecsOzdW48L25hbWU+CisgICAgICA8bmFtZSB4bWw6bGFuZz0iamEiPumWi+eZujwvbmFtZT4KKyAgICAgIDxuYW1lIHhtbDpsYW5nPSJrbyI+6rCc67Cc7JqpIOuPhOq1rDwvbmFtZT4KKyAgICAgIDxuYW1lIHhtbDpsYW5nPSJubyI+VXR2aWtsaW5nc3Zlcmt0w7h5PC9uYW1lPgorICAgICAgPG5hbWUgeG1sOmxhbmc9InB0Ij5EZXNlbnZvbHZpbWVudG88L25hbWU+CisgICAgICA8bmFtZSB4bWw6bGFuZz0icnUiPtCf0YDQvtCz0YDQsNC80LzQuNGA0L7QstCw0L3QuNC1PC9uYW1lPgorICAgICAgPG5hbWUgeG1sOmxhbmc9InN2Ij5VdHZlY2tsaW5nPC9uYW1lPgorICAgICAgPG5hbWUgeG1sOmxhbmc9InpoX0NOIj7lvIDlj5E8L25hbWU+CisgICAgICA8bmFtZSB4bWw6bGFuZz0iemhfVFciPueoi+W8j+mWi+eZvDwvbmFtZT4KKyAgICAgIDxzdWJjYXRlZ29yaWVzPgorICAgICAgICA8c3ViY2F0ZWdvcnk+ZGV2ZWxvcG1lbnQtdG9vbHM8L3N1YmNhdGVnb3J5PgorICAgICAgICA8c3ViY2F0ZWdvcnk+a2VybmVsLWRldmVsb3BtZW50PC9zdWJjYXRlZ29yeT4KKyAgICAgICAgPHN1YmNhdGVnb3J5Pngtc29mdHdhcmUtZGV2ZWxvcG1lbnQ8L3N1YmNhdGVnb3J5PgorICAgICAgICA8c3ViY2F0ZWdvcnk+Z25vbWUtc29mdHdhcmUtZGV2ZWxvcG1lbnQ8L3N1YmNhdGVnb3J5PgorICAgICAgICA8c3ViY2F0ZWdvcnk+a2RlLXNvZnR3YXJlLWRldmVsb3BtZW50PC9zdWJjYXRlZ29yeT4KKyAgICAgIDwvc3ViY2F0ZWdvcmllcz4KKyAgICA8L2NhdGVnb3J5PgorICAgIDxjYXRlZ29yeT4KKyAgICAgIDxuYW1lPlN5c3RlbTwvbmFtZT4KKyAgICAgIDxuYW1lIHhtbDpsYW5nPSJjcyI+U3lzdMOpbTwvbmFtZT4KKyAgICAgIDxuYW1lIHhtbDpsYW5nPSJkYSI+U3lzdGVtPC9uYW1lPgorICAgICAgPG5hbWUgeG1sOmxhbmc9ImRlIj5TeXN0ZW10b29sczwvbmFtZT4KKyAgICAgIDxuYW1lIHhtbDpsYW5nPSJpcyI+S2VyZmk8L25hbWU+CisgICAgICA8bmFtZSB4bWw6bGFuZz0iamEiPuOCt+OCueODhuODoDwvbmFtZT4KKyAgICAgIDxuYW1lIHhtbDpsYW5nPSJrbyI+7Iuc7Iqk7YWcPC9uYW1lPgorICAgICAgPG5hbWUgeG1sOmxhbmc9Im5vIj5TeXN0ZW08L25hbWU+CisgICAgICA8bmFtZSB4bWw6bGFuZz0icHQiPlNpc3RlbWE8L25hbWU+CisgICAgICA8bmFtZSB4bWw6bGFuZz0icnUiPtCh0LjRgdGC0LXQvNCwPC9uYW1lPgorICAgICAgPG5hbWUgeG1sOmxhbmc9InN2Ij5TeXN0ZW08L25hbWU+CisgICAgICA8bmFtZSB4bWw6bGFuZz0iemhfQ04iPuezu+e7nzwvbmFtZT4KKyAgICAgIDxuYW1lIHhtbDpsYW5nPSJ6aF9UVyI+57O757WxPC9uYW1lPgorICAgICAgPHN1YmNhdGVnb3JpZXM+CisgICAgICAgIDxzdWJjYXRlZ29yeT5hZG1pbi10b29sczwvc3ViY2F0ZWdvcnk+CisgICAgICAgIDxzdWJjYXRlZ29yeT5zeXN0ZW0tdG9vbHM8L3N1YmNhdGVnb3J5PgorICAgICAgICA8c3ViY2F0ZWdvcnk+cHJpbnRpbmc8L3N1YmNhdGVnb3J5PgorICAgICAgPC9zdWJjYXRlZ29yaWVzPgorICAgIDwvY2F0ZWdvcnk+CisgIDwvZ3JvdXBoaWVyYXJjaHk+CisgCisgIDwhLS0gcGFja2FnZXMgLS0+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmJ1c3lib3g8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bGlidG9vbC1saWJzPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+a3BhaW50PC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+a2RlbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdjYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnBuZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnF0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlic3RkYysrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmtkZS1pMThuLUVzdG9uaWFuPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmxpYnBuZzEwLWRldmVsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnBuZzEwPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYi1kZXZlbDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnRjbHg8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+dGNsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+dGs8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5nbm9tZW1lZXRpbmc8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+b3BlbmgzMjM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wd2xpYjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PkdDb25mMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJhcnRfbGdwbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmF0azwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmJvbm9ibzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJvbm9iby1hY3RpdmF0aW9uPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliYm9ub2JvdWk8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5vcGVuc3NsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5lc291bmQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnY2M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ndGsyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYjI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnbm9tZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdub21lY2FudmFzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ25vbWV1aTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdub21lLXZmczI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5vcGVubGRhcDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpbmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5PUkJpdDI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wYW5nbzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlNETDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnN0ZGMrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnhtbDI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Z3RrKy1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5ndGsrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYi1kZXZlbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5pbmZvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmdkYm08L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5jZHJlY29yZC1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5jZHJlY29yZDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPndsLXhlbWFjczwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT54ZW1hY3M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT53bC1jb21tb248L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5mbGltLXhlbWFjczwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmxhcGFjay1tYW48L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cGVybC1Db21wcmVzcy1abGliPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmw8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5tb2R1dGlscy1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5nbnVjaGVzczwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmdub21lLWF1ZGlvPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPm1pa21vZDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5pbmZvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bmN1cnNlczwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnJ1YnktdGNsdGs8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+cnVieS1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT50Y2w8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT50azwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnBvc3RncmVzcWwtbGliczwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmtyYjUtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm9wZW5zc2w8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnY2M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJzdGRjKys8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT50azwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT50Y2w8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5YYmFlPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+b3Blbm1vdGlmPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+YnppcDItbGliczwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmNhZGF2ZXI8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+b3BlbnNzbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bmN1cnNlczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnJlYWRsaW5lPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlieG1sMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5rbHBxPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PkxQUm5nPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5rZGVsaWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2NjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlicG5nPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cXQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJzdGRjKys8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+YXNwZWxsLWVzPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmFzcGVsbDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPm1hbi1wYWdlcy1lczwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5mYW08L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+cG9ydG1hcDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnhpbmV0ZDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdjYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnN0ZGMrKzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPm9wZW5oMzIzPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnB3bGliPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5vcGVuc3NsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+ZXhwYXQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnY2M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJzdGRjKys8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5uY2Z0cDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm5jdXJzZXM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5iYXNlc3lzdGVtPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnNldHVwPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+ZmlsZXN5c3RlbTwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnR0Zm9udHMta288L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Y2hrZm9udHBhdGg8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWZvbnQtdXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5mb250Y29uZmlnPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnJwbS1idWlsZDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5ycG08L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wYXRjaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmZpbGU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGVybDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJ6aXAyLWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmVsZjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBvcHQ8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5tZXctY29tbW9uPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmluZm88L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGVybDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnJobWFzazwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmxpYmFpby1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5saWJhaW88L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5saXNhPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+a2RlbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdjYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnBuZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnF0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlic3RkYysrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmdpbXAtcGVybDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5naW1wPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGVybDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3RrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5HdGstUGVybDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmwtUERMPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cGFydGVkPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+ZTJmc3Byb2dzPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+emxpYjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmRvc2ZzdG9vbHM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT54bW1zPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5Pmd0ays8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT51bnppcDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnJlZGhhdC1tZW51czwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnJlZGhhdC1hcnR3b3JrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1NZXNhLWxpYkdMPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bWlrbW9kPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlib2dnPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlidm9yYmlzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlieG1sPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmxpYnRlcm1jYXA8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+dGVybWNhcDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Zmlyc3Rib290PC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmNoa2NvbmZpZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnB5Z3RrMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnB5dGhvbjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnVzZXJtb2RlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bWV0YWNpdHk8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5yaHBsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cmVkaGF0LWNvbmZpZy1kYXRlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cmVkaGF0LWNvbmZpZy1sYW5ndWFnZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnJlZGhhdC1jb25maWctbW91c2U8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5yZWRoYXQtY29uZmlnLWtleWJvYXJkPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cmVkaGF0LWNvbmZpZy1zb3VuZGNhcmQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5yZWRoYXQtY29uZmlnLXNlY3VyaXR5bGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5yZWRoYXQtY29uZmlnLXJvb3RwYXNzd29yZDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnJlZGhhdC1jb25maWctcGFja2FnZXM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT51cDJkYXRlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cmVkaGF0LWxvZ29zPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmxpYnhzbHQ8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+bGlieG1sMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPlhGcmVlODYtYmFzZS1mb250czwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5jaGtmb250cGF0aDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtZm9udC11dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5wZXJsLURCRC1QZzwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGVybC1EQkk8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBvc3RncmVzcWwtbGliczwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnNlbmRtYWlsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmNoa2NvbmZpZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnNoYWRvdy11dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm1rdGVtcDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmZpbGV1dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdhd2s8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5zZWQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5zaC11dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnByb2NtYWlsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm9wZW5zc2w8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmRiNDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdkYm08L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5oZXNpb2Q8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5vcGVubGRhcDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmN5cnVzLXNhc2w8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5wZXJsLURldmVsLVN5bWR1bXA8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+cGVybDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPm9wZW5zc2wtZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+b3BlbnNzbDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmFzcDJwaHA8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5rZXJuZWwtcGNtY2lhLWNzPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5Pmtlcm5lbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmNoa2NvbmZpZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmt1ZHp1PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+aG90cGx1ZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmxpYnduY2stZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+bGlid25jazwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWIyLWRldmVsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGFuZ28tZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ndGsyLWRldmVsPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cHVtcC1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5nZ3Y8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+R0NvbmYyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+c2Nyb2xsa2VlcGVyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmFydF9sZ3BsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YXRrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliYm9ub2JvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Ym9ub2JvLWFjdGl2YXRpb248L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJib25vYm91aTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3RrMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWIyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ25vbWU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnbm9tZWNhbnZhczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdub21ldWk8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbm9tZS12ZnMyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGluYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pk9SQml0MjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBhbmdvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cG9wdDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnhtbDI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bmN1cnNlcy1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5uY3Vyc2VzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmw8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5yZWRoYXQtY29uZmlnLXByaW50ZXI8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+YWxjaGVtaXN0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cHl0aG9uPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGVybDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlB5WE1MPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+ZmlsZXV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+aW5pdHNjcmlwdHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nemlwPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+c2VkPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+TFBSbmc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5tNDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBubTJwcGE8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iemlwMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmZvb21hdGljPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2hvc3RzY3JpcHQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5uZXd0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+T21uaS1mb29tYXRpYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm1wYWdlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+dXNlcm1vZGU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5yaHBsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bGliYW8tZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+bGliYW88L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5tZXc8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+ZW1hY3M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5tZXctY29tbW9uPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+eGluZXRkPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmNoa2NvbmZpZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmluaXRzY3JpcHRzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+ZmlsZXN5c3RlbTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnNldHVwPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+ZmlsZXV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+a25ld3N0aWNrZXI8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+a2RlbmV0d29yay1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5rZGVsaWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2NjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlicG5nPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cXQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJzdGRjKys8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Z2FsZW9uPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ndGsrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlieG1sPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z25vbWUtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PkdDb25mPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+T1JCaXQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5vYWY8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbm9tZS12ZnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nZGstcGl4YnVmPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2xhZGU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5tb3ppbGxhPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGVybDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5saWJ4c2x0LWRldmVsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnhzbHQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ4bWwyLWRldmVsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnZpbS1YMTE8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+dmltLWNvbW1vbjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmFjbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3RrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ncG08L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5uY3Vyc2VzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGVybDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnN5bWxpbmtzPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cnBtMmh0bWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbm9tZS1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cG9wdDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnJwbTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnhtbDI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Z3RrYW08L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ndGsrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2RrLXBpeGJ1ZjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ncGhvdG8yPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+c2gtdXRpbHM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+cGFtPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+WEZyZWU4Ni10d208L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4NjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+YWxjaGVtaXN0PC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnhtbDI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ4c2x0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5weXRob248L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPm5qYW1kPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bmN1cnNlczwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnhvc3ZpZXc8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnY2M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJzdGRjKys8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5kaWN0ZDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmV0aGVyZWFsLWdub21lPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5Pmd0ays8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT51c2VybW9kZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmV0aGVyZWFsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+b3BlbnNzbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnBjYXA8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5uZXQtc25tcDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5uZXRwYm0tZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+bmV0cGJtPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bW91c2Vjb25maWc8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+ZmluZHV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+dGV4dHV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bmV3dDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBvcHQ8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5rZGVhZGRvbnMta2F0ZTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5rZGViYXNlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5rZGVsaWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2NjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlicG5nPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cXQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJzdGRjKys8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+dmxvY2s8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+cGFtPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5yZWRoYXQtbHNiPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm5jdXJzZXM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LU1lc2EtbGliR0w8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nYXdrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+c2gtdXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT50ZXh0dXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5maWxldXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5jcGlvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3JlcDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmd6aXA8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5uZXQtdG9vbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT51dGlsLWxpbnV4PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bWt0ZW1wPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bW91bnQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wcm9jcHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5zZWQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+dGFyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cHNtaXNjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+U3lzVmluaXQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iaW51dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmF0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5kaWZmdXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT52aXhpZS1jcm9uPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+ZmlsZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmZpbmR1dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjLWNvbW1vbjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PkxQUm5nPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bTQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5tYWtlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bWFuPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGFzc3dkPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGF0Y2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5yc3luYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnRpbWU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5zaGFkb3ctdXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wb3N0Zml4PC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+dXNlcm1vZGUtZ3RrPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnVzZXJtb2RlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YXRrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ndGsyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2xhZGUyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYjI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wYW5nbzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnhtbDI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bHRyYWNlPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cGVybC1YTUwtUGFyc2VyPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsLWxpYnd3dy1wZXJsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGVybC1VUkk8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmV4cGF0PC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Zm9ydHVuZS1tb2Q8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5ncGhvdG8yLWRldmVsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdwaG90bzI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wa2djb25maWc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bGlicnN2Zy1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5saWJyc3ZnPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmdub21lLXZmczItZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z25vbWUtdmZzMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PkdDb25mMi1kZXZlbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmJvbm9iby1kZXZlbDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPm15c3FsLWRldmVsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5Pm15c3FsPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+a3BwcGxvYWQ8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+a2RlbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2NjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cXQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJzdGRjKys8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5wZXJsLUZpbHRlci1TaW1wbGU8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+cGVybC1GaWx0ZXI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsLVBhcnNlLVJlY0Rlc2NlbnQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Z21wLWRldmVsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdtcDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmluZm88L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cmVkaGF0LWNvbmZpZy1raWNrc3RhcnQ8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+cHlndGsyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cHlndGsyLWxpYmdsYWRlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cHl0aG9uPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+aHdkYXRhPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cmhwbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5zaC11dGlsczwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmttaWQ8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5rZGVsaWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2NjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlicG5nPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cXQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJzdGRjKys8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+V2luZG93TWFrZXItbGliczwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmpwZWc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJwbmc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ0aWZmPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlidW5naWY8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Z25vbWUtc3BlbGw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z25vbWUtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmFzcGVsbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmF1ZGlvZmlsZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJvbm9ibzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+ZXNvdW5kPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+ZnJlZXR5cGU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnYWwxOTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmd0ays8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5pbWxpYjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdkay1waXhidWY8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnbGFkZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nZGstcGl4YnVmLWdub21lPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ25vbWVwcmludDE1PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+T1JCaXQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5vYWY8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wc3BlbGw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJzdGRjKys8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ4bWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+dnRlLWRldmVsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnZ0ZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmd0azItZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWIyPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bGliYm9ub2JvdWk8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+bGlieG1sMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pk9SQml0MjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJvbm9iby1hY3RpdmF0aW9uPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliYm9ub2JvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ25vbWVjYW52YXM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnbm9tZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmFydF9sZ3BsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3RrMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdsYWRlMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YXRrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+R0NvbmYyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYjI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbm9tZS12ZnMyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGluYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBhbmdvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPm00PC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmluZm88L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT50aW1lY29uZmlnPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmluaXRzY3JpcHRzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT51dGlsLWxpbnV4PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+ZmlsZXV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2F3azwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5uZXd0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cG9wdDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmJhc2g8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+bWt0ZW1wPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlidGVybWNhcDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmttaXg8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5rZGVsaWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2NjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlicG5nPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cXQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJzdGRjKys8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cGVybC1Gcm9udGllci1SUEM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+cGVybDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmwtbGlid3d3LXBlcmw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsLVhNTC1QYXJzZXI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5ibGFzPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bGliZ25vbWVwcmludHVpLWRldmVsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdub21lcHJpbnR1aTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmd0azItZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnbm9tZXByaW50LWRldmVsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ25vbWVjYW52YXMtZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5leHBhdDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPm5rZjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmF1dGhjb25maWctZ3RrPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmF1dGhjb25maWc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5weWd0azItbGliZ2xhZGU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wYW08L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5weXRob248L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5zdGF0c2VyaWFsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bmN1cnNlczwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmtkZW5ldHdvcmstZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+a2RlbmV0d29yay1saWJzPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bW96aWxsYTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5maWxldXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cHNtaXNjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bW96aWxsYS1uc3ByPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+aW5kZXhodG1sPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3RrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5jb21wYXQtbGlic3RkYysrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnBvcnRtYXA8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Y2hrY29uZmlnPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+aW5pdHNjcmlwdHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT51dGlsLWxpbnV4PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+TWFlbHN0cm9tPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2NjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+U0RMPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+U0RMX25ldDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnN0ZGMrKzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnN5c3JlcG9ydDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2F3azwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdyZXA8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5zZWQ8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5jZHBhcmFub2lhPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmNkcGFyYW5vaWEtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+aW5kZW50PC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmluZm88L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT54c2FuZTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmd0ays8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlianBlZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnBuZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnNhbmUtYmFja2VuZHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ0aWZmPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlidXNiPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnBhcnRlZC1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5wYXJ0ZWQ8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5tYzwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5wYW08L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5jaGtjb25maWc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5kZXY8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGVybDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmUyZnNwcm9nczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdwbTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnNsYW5nPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlidGVybWNhcDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmF1dG9jb25mMjEzPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5Pmdhd2s8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5tNDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm1rdGVtcDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT50ZXh0dXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cnVieS1saWJzPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5zaC11dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2RibTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm5jdXJzZXM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5yZWFkbGluZTwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnNldHVwPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmRlc2t0b3AtYmFja2dyb3VuZHMtYmFzaWM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+WEZyZWU4Ni1JU084ODU5LTktNzVkcGktZm9udHM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Y2hrZm9udHBhdGg8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWZvbnQtdXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+ZGI0LXV0aWxzPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmRiNDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cG9zdGdyZXNxbC1qZGJjPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmtkZS1pMThuLU5vcndlZ2lhbjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5rYW1lcmE8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z3Bob3RvMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+a2RlbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdjYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnBuZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnF0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlic3RkYysrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlidXNiPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnNhbWJhLXN3YXQ8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+c2FtYmE8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT54aW5ldGQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJhY2w8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5vcGVuc3NsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5jdXBzLWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wYW08L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wb3B0PC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bXg8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+cHl0aG9uPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5iZzVwczwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5weXRob248L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmZyZWV0eXBlPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bmF1dGlsdXM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+ZmFtPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+ZmlsZXN5c3RlbTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmVvZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnNjcm9sbGtlZXBlcjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmRlc2t0b3AtYmFja2dyb3VuZHMtYmFzaWM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5yZWRoYXQtbWVudXM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5yZWRoYXQtYXJ0d29yazwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdub21lLXZmczI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5lZWwyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmFydF9sZ3BsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YXRrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YXVkaW9maWxlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliYm9ub2JvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Ym9ub2JvLWFjdGl2YXRpb248L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJib25vYm91aTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+ZXNvdW5kPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2FpbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PkdDb25mMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmd0azI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnbGFkZTI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdub21lPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ25vbWVjYW52YXM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbm9tZS1kZXNrdG9wPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ25vbWV1aTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmpwZWc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saW5jPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+T1JCaXQyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGFuZ288L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wb3B0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlicnN2ZzI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ4bWwyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnNlbmRtYWlsLWNmPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5kaWZmc3RhdDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPlhGcmVlODYtNzVkcGktZm9udHM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Y2hrZm9udHBhdGg8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWZvbnQtdXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Z3RrMi1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5ndGsyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGFuZ28tZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5hdGstZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliMi1kZXZlbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWIyPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Y29tcGF0LWxpYmdjai1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT56aXA8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5jb21wYXQtbGliZ2NqPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+U0RMX21peGVyLWRldmVsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PlNETF9taXhlcjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmtkZS1pMThuLVNlcmJpYW48L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bmN1cnNlczQ8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5vcGVubGRhcC1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5vcGVubGRhcDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmtvbjItZm9udHM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cm91dGVkPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmNoa2NvbmZpZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmdub21lLXZmczI8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z25vbWUtbWltZS1kYXRhPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cmVkaGF0LW1lbnVzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGVybDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmJvbm9ibzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJvbm9iby1hY3RpdmF0aW9uPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YnppcDItbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm9wZW5zc2w8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5mYW08L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5HQ29uZjI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpbmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5PUkJpdDI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ4bWwyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPkltYWdlTWFnaWNrLWMrKzwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5JbWFnZU1hZ2ljazwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Z2xpYi1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnhsb2FkaW1hZ2U8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ0aWZmPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+ZXJ1Ynk8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5lcnVieS1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cnVieS1saWJzPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Y3lydXMtc2FzbC1nc3NhcGk8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Y3lydXMtc2FzbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmtyYjUtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cGFzc2l2ZXRleDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT50ZXRleDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnhtbHRleDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5nbm9tZS1waWxvdC1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5PUkJpdC1kZXZlbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBpbG90LWxpbmstZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbm9tZS1waWxvdDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmVtYWNzLWxlaW08L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+ZW1hY3M8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5saWJnbm9tZXVpLWRldmVsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdub21ldWk8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliLWRldmVsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+ZXNvdW5kLWRldmVsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+T1JCaXQyLWRldmVsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYjItZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wYW5nby1kZXZlbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmd0azItZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5HQ29uZjItZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbm9tZS12ZnMyLWRldmVsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ25vbWVjYW52YXMtZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ib25vYm8tYWN0aXZhdGlvbi1kZXZlbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmJvbm9iby1kZXZlbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmJvbm9ib3VpLWRldmVsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlieG1sMi1kZXZlbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdub21lLWRldmVsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliYXJ0X2xncGwtZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnbGFkZTItZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5yaHBsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnB5dGhvbjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Z3RrLWVuZ2luZXM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z3RrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmltbGliPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPlhmdDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmZyZWV0eXBlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bGFtPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5Pm9wZW5zc2gtc2VydmVyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+b3BlbnNzaC1jbGllbnRzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmFpbzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+amFkZXRleDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5zZ21sLWNvbW1vbjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnRldGV4PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+dGV0ZXgtbGF0ZXg8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5vcGVuamFkZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5nbm9tZS12ZnMtZXh0cmFzPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5Pmdub21lLXZmczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Y3Vwcy1saWJzPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+amZzdXRpbHM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5jV25uLWRldmVsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5pbm4tZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+aW5uPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+eGRlbHRhPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Z2hvc3RzY3JpcHQtZ3RrPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5Pmdob3N0c2NyaXB0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ndGsrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmZvbnRzLUlTTzg4NTktMi0xMDBkcGk8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Y2hrZm9udHBhdGg8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWZvbnQtdXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bmV0ZHVtcC1zZXJ2ZXI8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+c2hhZG93LXV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+b3BlbnNzaC1zZXJ2ZXI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cG9wdDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnBlcmwtQ3J5cHQtU1NMZWF5PC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5vcGVuc3NsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5hc3BlbGw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+cHNwZWxsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2NjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlidG9vbC1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bmN1cnNlczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnN0ZGMrKzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmtkZW11bHRpbWVkaWEta2ZpbGU8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5rZGVsaWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2NjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlib2dnPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlicG5nPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cXQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJzdGRjKys8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ2b3JiaXM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+b3BlbmgzMjMtZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+b3BlbmgzMjM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5saGE8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5wb3N0Zml4PC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmNoa2NvbmZpZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmluaXRzY3JpcHRzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+c2gtdXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5maWxldXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT50ZXh0dXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5zaGFkb3ctdXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wY3JlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Y3lydXMtc2FzbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm9wZW5zc2w8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5kYjQ8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5tcnByb2plY3Q8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmd0ays8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ4bWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbm9tZS1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+T1JCaXQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5vYWY8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbm9tZS12ZnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nZGstcGl4YnVmPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Ym9ub2JvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cG9wdDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdub21lLXByaW50PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2FsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2xhZGU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJtcnByb2plY3Q8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJhcnRfbGdwbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmF0azwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmJvbm9ibzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJvbm9iby1hY3RpdmF0aW9uPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliYm9ub2JvdWk8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PkdDb25mMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmd0azI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnbGFkZTI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdub21lPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ25vbWVjYW52YXM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnbm9tZXVpPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z25vbWUtdmZzMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpbmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5PUkJpdDI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wYW5nbzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnhtbDI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cGNpdXRpbHM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+a2VybmVsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+aHdkYXRhPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5HbGlkZTM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bGlid3ZzdHJlYW1zPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+b3BlbnNzbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdjYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnN0ZGMrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT53aW5lPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnNoYWRvdy11dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmN1cHMtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YXJ0czwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1NZXNhLWxpYkdMPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1NZXNhLWxpYkdMVTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmpwZWc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5uY3Vyc2VzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+c2FuZS1iYWNrZW5kczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnVzYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPm9wZW5zc2gtY2xpZW50czwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5vcGVuc3NoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+a3JiNS1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+b3BlbnNzbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnF0Y3VwczwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5jdXBzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cXQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5kZXNrdG9wLWZpbGUtdXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmN1cHMtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdjYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnN0ZGMrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5saWJJREwtZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+bGliSURMPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGtnY29uZmlnPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYjItZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5pbmZvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPm1hcnMtbndlPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmNoa2NvbmZpZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmluaXRzY3JpcHRzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+aXB4dXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nZGJtPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bWFuLXBhZ2VzLWZyPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnBlcmwtVGltZS1IaVJlczwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT54MzI3MDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWZvbnQtdXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5kZXNrdG9wLWZpbGUtdXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnhtbXMtc2tpbnM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+eG1tczwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmFub25mdHA8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+dnNmdHBkPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3JlcDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnNoYWRvdy11dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+ZmlsZXV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3ppcDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmNwaW88L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT50YXI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ0ZXJtY2FwPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+c2gtdXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT50ZXh0dXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cHl0aG9uLXRvb2xzPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnB5dGhvbjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5zaC11dGlsczwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmJvbm9iby1jb25mPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmJvbm9ibzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PkdDb25mPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+b2FmPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmd0ays8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdub21lLWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5hdWRpb2ZpbGU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5lc291bmQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5pbWxpYjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdkay1waXhidWY8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5PUkJpdDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBvcHQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ4bWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bGlidW5naWYtZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+bGlidW5naWY8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5YRnJlZTg2LWRldmVsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmZvbnRjb25maWc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5rcmVnZXhwZWRpdG9yPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmtkZWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdjYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnBuZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnF0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlic3RkYysrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnR0Zm9udHMtamE8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Zm9udGNvbmZpZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmNoa2ZvbnRwYXRoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1mb250LXV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmNpcGU8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+aW5mbzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmxzbGs8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5saWJtbmctZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+bGlibW5nPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+aW0tc2RrPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PkNhbm5hLWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdjYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBhbTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnN0ZGMrKzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmZvbnRzLUtPSTgtUi03NWRwaTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5jaGtmb250cGF0aDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5tb3ppbGxhLW5zczwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5tb3ppbGxhLW5zcHI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5kb3h5Z2VuLWRveHl3aXphcmQ8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+ZG94eWdlbjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2NjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cXQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJzdGRjKys8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5rbWlkaTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT50aW1pZGl0eSsrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YXJ0czwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+a2RlbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdjYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnBuZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnF0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlic3RkYysrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnJlZGhhdC1sb2dvczwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5jb21wYXQtZ2NjLWc3NzwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5jb21wYXQtZ2NjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5rZGUtaTE4bi1EdXRjaDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5rZGVtdWx0aW1lZGlhLWxpYnM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnY2M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJvZ2c8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJzdGRjKys8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ2b3JiaXM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5xdWFudGE8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+a2RlbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2NjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlianBlZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnBuZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnF0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlic3RkYysrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPlhGcmVlODYtbGliczwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdyZXA8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT50ZXh0dXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Zm9udGNvbmZpZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmZyZWV0eXBlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1NZXNhLWxpYkdMPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+YXRrLWRldmVsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmF0azwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWIyLWRldmVsPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Z2lmdHJhbnM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5ndGsyLWVuZ2luZXM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z3RrMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmF0azwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYjI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wYW5nbzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmZvb21hdGljPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsLURhdGVNYW5pcDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmwtbGlieG1sLWVubm88L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsLWxpYnhtbC1wZXJsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGVybC1QYXJzZS1ZYXBwPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGVybC1YTUwtRHVtcGVyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGVybC1YTUwtRW5jb2Rpbmc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsLVhNTC1QYXJzZXI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5maWxldXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5pbml0c2NyaXB0czwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnhtbDI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGVybC1saWJ3d3ctcGVybDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmwtWE1MLUdyb3ZlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGVybC1YTUwtVHdpZzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPm5jcGZzPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmlweHV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5nbm9tZS1taW1lLWRhdGE8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+SW1hZ2VNYWdpY2stYysrLWRldmVsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PkltYWdlTWFnaWNrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+SW1hZ2VNYWdpY2stYysrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+SW1hZ2VNYWdpY2stZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5rY2hhcnNlbGVjdDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5rZGViYXNlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5rZGVsaWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2NjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlicG5nPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cXQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJzdGRjKys8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+ZGhjbGllbnQ8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+aW5pdHNjcmlwdHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5saWJkYmk8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5rZGUtaTE4bi1TbG92ZW5pYW48L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+eG1sdGV4PC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnRldGV4PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmxpYnhtbDItZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+bGlieG1sMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWItZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+YW1hbmRhLXNlcnZlcjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbnVwbG90PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+ZmlsZXV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3JlcDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmluaXRzY3JpcHRzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+eGluZXRkPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YW1hbmRhPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnJlYWRsaW5lPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlidGVybWNhcDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmRpc2tjaGVjazwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5jcm9udGFiczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBvc3RmaXg8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ncmVwPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnB5dGhvbjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmUyZnNwcm9ncy1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5lMmZzcHJvZ3M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5pbmZvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnBka3NoPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdyZXA8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5maWxldXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5mb250cy1qYTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LTEwMGRwaS1mb250czwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtNzVkcGktZm9udHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5jaGtmb250cGF0aDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5rV25uLWRldmVsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5hd2VzZng8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5YRnJlZTg2LWRvYzwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5nbm9tZS1hcHBsZXRzPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnNjcm9sbGtlZXBlcjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdub21lLXBhbmVsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliYXJ0X2xncGw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5hdGs8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJib25vYm88L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ib25vYm8tYWN0aXZhdGlvbjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmJvbm9ib3VpPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2FpbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PkdDb25mMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmd0azI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnbGFkZTI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdub21lPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ25vbWVjYW52YXM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnbm9tZXVpPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z25vbWUtdmZzMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmd0b3AyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGluYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pk9SQml0MjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBhbmdvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlieG1sMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5wZXJsLVNHTUxTcG08L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+b3BlbmphZGU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bGlidG9vbC1saWJzMTM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5rb2ZmaWNlPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmtkZWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliYXJ0X2xncGw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5hcnRzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YXVkaW9maWxlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+ZnJlZXR5cGU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnY2M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJqcGVnPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlicG5nPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cXQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJzdGRjKys8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ4bWwyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlieHNsdDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5kb2Nib29rLXN0eWxlLWRzc3NsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5Pm9wZW5qYWRlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+ZG9jYm9vay1kdGRzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+c2dtbC1jb21tb248L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGVybDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmxpYmF2YzEzOTQtZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Y3lydXMtc2FzbC1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5jeXJ1cy1zYXNsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nZGJtPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGFtPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+dW1iLXNjaGVtZTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5pbmZvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+ZWVsMi1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5lZWwyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3RrMi1kZXZlbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdub21ldWktZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbm9tZS12ZnMyLWRldmVsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlicnN2ZzItZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ib25vYm8tYWN0aXZhdGlvbi1kZXZlbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnhtbDItZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJhcnRfbGdwbC1kZXZlbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdhaWwtZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5leHBlY3Q8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT50Y2w8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT50azwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmdpbXAtcHJpbnQtY3VwczwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5jdXBzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm9wZW5zc2w8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmN1cHMtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdpbXAtcHJpbnQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJqcGVnPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlicG5nPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlidGlmZjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5nbm9tZS1rZXJiZXJvczwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5hdGs8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5rcmI1LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmd0azI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnbGFkZTI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBhbmdvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlieG1sMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5mdHA8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5uY3Vyc2VzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cmVhZGxpbmU8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5lbnNjcmlwdDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGVybDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bm9hdHVuPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+a2RlbXVsdGltZWRpYS1hcnRzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YXJ0czwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmtkZWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5hdWRpb2ZpbGU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnY2M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJwbmc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5xdDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnN0ZGMrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5saWJnbm9tZXByaW50LWRldmVsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdub21lcHJpbnQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliMi1kZXZlbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBhbmdvLWRldmVsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlieG1sMi1kZXZlbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmFydF9sZ3BsLWRldmVsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliYm9ub2JvLWRldmVsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Ym9ub2JvLWFjdGl2YXRpb24tZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5mcmVldHlwZTwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmZyZWVjaXY8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+ZGVza3RvcC1maWxlLXV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmF1ZGlvZmlsZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+ZXNvdW5kPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3RrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmltbGliPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm5jdXJzZXM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5yZWFkbGluZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhhdzNkPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmxpYnJwbTQwNDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nYXdrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+ZmlsZXV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+dGV4dHV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bWt0ZW1wPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+c2hhZG93LXV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJ6aXAyLWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5nbm9tZS1wcmludC1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbm9tZS1wcmludDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdkay1waXhidWYtZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5saWJyZXAtZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+bGlicmVwPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2RibTwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmd0a2h0bWwyLWRldmVsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5Pmd0a2h0bWwyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3RrMi1kZXZlbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnhtbDItZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbm9tZS12ZnMyLWRldmVsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2FpbC1kZXZlbDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnh0cmFjZXJvdXRlPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5Pmd0a2dsYXJlYTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3RrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdkay1waXhidWY8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1NZXNhLWxpYkdMPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1NZXNhLWxpYkdMVTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmNvbXBhdC1saWJzdGRjKystZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Y29tcGF0LWxpYnN0ZGMrKzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmxvc2V0dXA8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5udHA8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Y2hrY29uZmlnPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+c2hhZG93LXV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+c2VkPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliY2FwPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnNoYXJ1dGlsczwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5pbmZvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnBvc3RncmVzcWwtcHl0aG9uPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnB5dGhvbjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm14PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+c2gtdXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBvc3RncmVzcWwtbGliczwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPlB5UXQtZXhhbXBsZXM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+UHlRdDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnNoLXV0aWxzPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+U0RMX21peGVyPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PlNETDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlib2dnPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlidm9yYmlzPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+a3RhbGtkPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+a2RlbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdjYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnBuZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnF0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlic3RkYysrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmFzaDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5maWxldXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ncmVwPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+ZXJ1YnktbGliczwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5ydWJ5LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmtkZWJhc2UtZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+a2RlYmFzZTwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmtkZWJpbmRpbmdzLXF0YzwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5xdDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2NjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlic3RkYysrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+VkZsaWIyPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtdHJ1ZXR5cGUtZm9udHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmZyZWV0eXBlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+eHNhbmUtZ2ltcDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nYXdrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+c2gtdXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5maWxldXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ndGsrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2ltcDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJqcGVnPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlicG5nPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+c2FuZS1iYWNrZW5kczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnRpZmY8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ1c2I8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bGlidGFiZS1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ0YWJlPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Z25vbWUtbWVkaWE8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+c2Nyb2xsa2VlcGVyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmFydF9sZ3BsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YXRrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YXVkaW9maWxlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliYm9ub2JvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Ym9ub2JvLWFjdGl2YXRpb248L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJib25vYm91aTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+ZXNvdW5kPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2FpbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PkdDb25mMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmd0azI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdub21lPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ25vbWVjYW52YXM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnbm9tZXVpPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z25vbWUtdmZzMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpbmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5PUkJpdDI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wYW5nbzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBvcHQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ4bWwyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPm9wZW5zc2g8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+dXRpbC1saW51eDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmluaXRzY3JpcHRzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+a3JiNS1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+b3BlbnNzbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPm9wZW5zc2w8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+bWt0ZW1wPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+ZmVzdGl2YWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGVybDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnN0ZGMrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnRlcm1jYXA8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5zdGFyZGljdDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5vcGVubW90aWY8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdjYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnN0ZGMrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnFta2Jvb3RkaXNrPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cXQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ta2Jvb3RkaXNrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+ZGVza3RvcC1maWxlLXV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2NjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlic3RkYysrPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+SW1hZ2VNYWdpY2s8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+YnppcDI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5mcmVldHlwZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmpwZWc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJwbmc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ0aWZmPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlidW5naWY8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iemlwMi1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlieG1sMjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPndvcmR0cmFucy13ZWI8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+d29yZHRyYW5zPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bmVkaXQ8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+b3Blbm1vdGlmPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+ZGVza3RvcC1maWxlLXV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5mb250cy1LT0k4LVItMTAwZHBpPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmNoa2ZvbnRwYXRoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPm9hZi1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5vYWY8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+aXB4dXRpbHM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5rdWR6dS1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5wY2l1dGlscy1kZXZlbDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmV0aGVyZWFsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnBjYXA8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5uZXQtc25tcDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+b3BlbnNzbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5ib290cGFyYW1kPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmNoa2NvbmZpZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBvcnRtYXA8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5saWNxLWdub21lPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmxpY3E8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdjYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmd0ays8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlic3RkYysrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+a2RiZzwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nZGI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmtkZWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnY2M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJwbmc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5xdDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnN0ZGMrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT51c2J2aWV3PC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5Pmd0ays8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5jdXBzPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmNoa2NvbmZpZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmluaXRzY3JpcHRzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Y3Vwcy1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+aHRtbHZpZXc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT54aW5ldGQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+b3BlbnNzbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGFtPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmdwbTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5jaGtjb25maWc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmluZm88L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wYW08L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bmN1cnNlczwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnBtYWtlPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5Pm1rdGVtcDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPlhiYWUtZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+WGJhZTwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnBrZ2NvbmZpZzwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnBocC1teXNxbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5waHA8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3JlcDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm15c3FsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmplZDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5pbmZvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnNoLXV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5zbGFuZzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmF1dG9ydW48L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnY2M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJzdGRjKys8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5rcmI1LXNlcnZlcjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5rcmI1LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ncmVwPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+aW5mbzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5zaC11dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmNoa2NvbmZpZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Z2tyZWxsbTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5ndGsrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmltbGliPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5rbWVzc2Vkd29yZHM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5rZGVsaWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2NjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlicG5nPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cXQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJzdGRjKys8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Z3RraHRtbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbm9tZS1wcmludDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdkay1waXhidWY8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wc3BlbGw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ib25vYm88L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdub21lLWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5hdWRpb2ZpbGU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJjYXBwbGV0MDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmVzb3VuZDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmZyZWV0eXBlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2FsMTk8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ndGsrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+aW1saWI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnaHR0cDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdsYWRlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdkay1waXhidWYtZ25vbWU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnbm9tZXByaW50MTU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5PUkJpdDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm9hZjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBvcHQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ4bWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+a2VybmVsLWJpZ21lbTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5maWxldXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5tb2R1dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmluaXRzY3JpcHRzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bWtpbml0cmQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cXQtUG9zdGdyZVNRTDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5xdDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Zm9udGNvbmZpZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtTWVzYS1saWJHTDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtTWVzYS1saWJHTFU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wb3N0Z3Jlc3FsLWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YZnQ8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5zZXR1cHRvb2w8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5uZXd0PC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bHJ6c3o8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5za2tkaWM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+d29yZHRyYW5zPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2NjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cXQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJzdGRjKys8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5iZWVjcnlwdDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmlzZG40ay11dGlscy1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5pc2RuNGstdXRpbHM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5ncmVwPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmluZm88L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wY3JlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Z3VpbGU8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+aW5mbzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnJlYWRsaW5lPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+dW1iLXNjaGVtZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm5jdXJzZXM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT50dGZwcmludDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5maWxldXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5ta2Jvb3RkaXNrPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5Pm1raW5pdHJkPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+ZG9zZnN0b29sczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnN5c2xpbnV4PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnRyZWU8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5pc2RuNGstdXRpbHM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+aW5pdHNjcmlwdHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5jaGtjb25maWc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmZpbGV1dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnNoLXV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm5jdXJzZXM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5QeVF0PC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnB5dGhvbjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2NjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cXQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5zaXA8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJzdGRjKys8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+aDJwczwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPm9wZW5tb3RpZjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5nbnVwZzwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5pbmZvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm9wZW5sZGFwPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmtkZS1pMThuLUl0YWxpYW48L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+ZW1hY3MtZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+ZW1hY3M8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5weXRob24tZG9jczwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5yZWRoYXQtY29uZmlnLWh0dHBkPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnB5dGhvbjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmFsY2hlbWlzdDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdsYWRlMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnB5Z3RrMi1saWJnbGFkZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnB5Z3RrMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdub21lLXB5dGhvbjI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5odHRwZDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnVzZXJtb2RlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+NFN1aXRlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmtzdGFyczwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmtkZWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnY2M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJwbmc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5xdDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnN0ZGMrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5jcHJvdG88L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5rZGUtaTE4bi1Ccml0aXNoPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmxpYnJhdzEzOTQtZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+a25vdGVzPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+a2RlbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdjYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnBuZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnF0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlic3RkYysrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPk9SQml0PC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmluZm88L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5vcGVuc3NsMDk1YTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmtkZS1pMThuLVNwYW5pc2g8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cGVybC1QYXJzZS1SZWNEZXNjZW50PC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmw8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5saW51eGRvYy10b29sczwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5vcGVuamFkZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnRldGV4LWxhdGV4PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2F3azwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdyb2ZmPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmxpYnhtbC1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ4bWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Zm9udHMtS09JOC1SPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmNoa2ZvbnRwYXRoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmw8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5jb21wYXQtbGliZ2NqPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmluZm88L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56aXA8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdjYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5YRnJlZTg2LUlTTzg4NTktMi0xMDBkcGktZm9udHM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Y2hrZm9udHBhdGg8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWZvbnQtdXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+YW1hbmRhLWRldmVsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmFtYW5kYTwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmdlbnJvbWZzPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cHl0aG9uLWRldmVsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5rdm9jdHJhaW48L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+cGVybDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+a2RlbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdjYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmpwZWc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJwbmc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5xdDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnN0ZGMrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5saWNxLXF0PC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmxpY3E8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdjYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnF0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlic3RkYysrPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+YXV0b21ha2UxNDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+aW5mbzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5hdXRvbWFrZTE1PC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5pbmZvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnJlZGhhdC1jb25maWctZGF0ZTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5weWd0azI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5weXRob248L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbm9tZS1weXRob24yLWNhbnZhczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnVzZXJtb2RlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bnRwPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Y2hrY29uZmlnPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cmhwbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5zaC11dGlsczwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmdpbXAtcHJpbnQ8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2hvc3RzY3JpcHQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+YXNwZWxsLXN2PC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmFzcGVsbDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPndpcmVsZXNzLXRvb2xzPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cGFzc3dkPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnBhbTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYjI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wb3B0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlidXNlcjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnBocC1sZGFwPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnBocDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5vcGVubGRhcDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnF1b3RhPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5Pmtlcm5lbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmluaXRzY3JpcHRzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5pc2RuNGstdXRpbHMtdmJveGdldHR5PC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmlzZG40ay11dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnRjbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+U0RMPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Z2RrLXBpeGJ1ZjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmd0ays8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlianBlZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnBuZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnRpZmY8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+ZGVza3RvcC1maWxlLXV0aWxzPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYjI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wb3B0PC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Z2RtPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnNoYWRvdy11dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnNjcm9sbGtlZXBlcjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmd0azI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnbGFkZTI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnbm9tZXVpPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ25vbWVjYW52YXM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJyc3ZnMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnhtbDI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wYW08L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT54aW5pdHJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+dXNlcm1vZGU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT54c3JpPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+dXRpbC1saW51eDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnJlZGhhdC1hcnR3b3JrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cmVkaGF0LW1lbnVzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmFydF9sZ3BsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YXRrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliYm9ub2JvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Ym9ub2JvLWFjdGl2YXRpb248L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJib25vYm91aTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+R0NvbmYyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYjI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnbm9tZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdub21lLXZmczI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saW5jPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+T1JCaXQyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGFuZ288L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wb3B0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmxpYnduY2s8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYjI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ndGsyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5hdGs8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wYW5nbzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmVlbDI8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z3RrMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdub21ldWk8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbm9tZS12ZnMyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlicnN2ZzI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ib25vYm8tYWN0aXZhdGlvbjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnhtbDI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJhcnRfbGdwbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YXRrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliYm9ub2JvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliYm9ub2JvdWk8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nYWlsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+R0NvbmYyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2xhZGUyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYjI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnbm9tZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdub21lY2FudmFzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGluYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pk9SQml0MjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBhbmdvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmF0azwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWIyPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+dXNlcm1vZGU8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+dXRpbC1saW51eDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBhbTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYjI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ1c2VyPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+aGVzaW9kLWRldmVsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5Pmhlc2lvZDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnNlbmRtYWlsLWRvYzwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5xdC1kZXNpZ25lcjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5xdC1kZXZlbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cXQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5mb250Y29uZmlnPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1NZXNhLWxpYkdMPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1NZXNhLWxpYkdMVTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhmdDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5rZGVsaWJzPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnF0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YXJ0czwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmN1cHMtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5weXRob248L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5hdWRpb2ZpbGU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iemlwMi1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2NjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlianBlZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBjcmU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJwbmc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJzdGRjKys8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ0aWZmPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlieG1sMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnhzbHQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cG9zdGdyZXNxbC1jb250cmliPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnBvc3RncmVzcWwtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBvc3RncmVzcWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+c2gtdXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+a3JiNS1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+b3BlbnNzbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGFtPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cmVhZGxpbmU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ0ZXJtY2FwPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmwtREJELVBnPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGVybC1EQkk8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wb3N0Z3Jlc3FsLXBlcmw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsLVRpbWUtSGlSZXM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5nc2w8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+aW5mbzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cGFtPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmNyYWNrbGliPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Y3JhY2tsaWItZGljdHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+aW5pdHNjcmlwdHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ncmVwPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bWt0ZW1wPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+c2VkPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+ZmlsZXV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+dGV4dHV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+ZGI0PC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bW96aWxsYS1kb20taW5zcGVjdG9yPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmZpbGV1dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm1vemlsbGE8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5tb3ppbGxhLW5zcHI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5jb21wYXQtbGlic3RkYysrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmxpYnJzdmcyLWRldmVsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnJzdmcyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3RrMi1kZXZlbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnhtbDItZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5mcmVldHlwZS1kZXZlbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmFydF9sZ3BsLWRldmVsPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+YWMtYXJjaGl2ZTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5hdXRvY29uZjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5hdXRvbWFrZTwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmJvbm9iby1hY3RpdmF0aW9uLWRldmVsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmJvbm9iby1hY3RpdmF0aW9uPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+T1JCaXQyLWRldmVsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlieG1sMi1kZXZlbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWIyLWRldmVsPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+YW5hY29uZGEtcnVudGltZTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5tb3ppbGxhLW5zcHItZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+bW96aWxsYS1uc3ByPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnJlZGhhdC1jb25maWctbW91c2U8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+cHlndGsyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cHl0aG9uPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+dXNlcm1vZGU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5yaHBsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cHl4Zjg2Y29uZmlnPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPm9wZW5sZGFwLXNlcnZlcnM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+ZmlsZXV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bWFrZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm9wZW5sZGFwPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+b3BlbnNzbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnNoYWRvdy11dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmNoa2NvbmZpZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+a3JiNS1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nZGJtPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlidG9vbC1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGFtPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Y3lydXMtc2FzbDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnBlcmwtWE1MLVR3aWc8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+cGVybDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmwtWE1MLVBhcnNlcjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnN0dW5uZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+dGV4dHV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+ZmlsZXV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bWt0ZW1wPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT53b3JkczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm5ldC10b29sczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnNoLXV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmMtY29tbW9uPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bWFrZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm9wZW5zc2w8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5kZHNrazwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5lbWFjczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmFwZWw8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5rZGVhcnR3b3JrLWt3b3JsZGNsb2NrPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmtkZXRveXM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5nbm9tZS1zeXN0ZW0tbW9uaXRvcjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnbm9tZXVpPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ3RvcDI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ3bmNrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmFydF9sZ3BsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YXRrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliYm9ub2JvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Ym9ub2JvLWFjdGl2YXRpb248L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJib25vYm91aTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+R0NvbmYyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3RrMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWIyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ25vbWU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnbm9tZWNhbnZhczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdub21lLXZmczI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saW5jPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+T1JCaXQyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGFuZ288L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ4bWwyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmNkcDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm5jdXJzZXM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5maW5kdXRpbHM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+aW5mbzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmlzaWNvbTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5wb3B0PC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+ZmluZ2VyLXNlcnZlcjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT54aW5ldGQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmZvbnRjb25maWc8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+ZnJlZXR5cGU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5leHBhdDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnVwMmRhdGUtZ25vbWU8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+dXAyZGF0ZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnVzZXJtb2RlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGFtPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cHlndGsyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cHlndGsyLWxpYmdsYWRlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z25vbWUtcHl0aG9uMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdub21lLXB5dGhvbjItY2FudmFzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+dXNlcm1vZGUtZ3RrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cHl0aG9uPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cGF0Y2h1dGlsczwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGVybDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+c294LWRldmVsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPlhGcmVlODYtdG9vbHM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4NjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5mcmVldHlwZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtTWVzYS1saWJHTDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtTWVzYS1saWJHTFU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5nY2MtYysrPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdjYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnN0ZGMrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnN0ZGMrKy1kZXZlbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Z2ltcC1wcmludC11dGlsczwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5naW1wLXByaW50PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5uY3Vyc2VzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cmVhZGxpbmU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Z3NsLWRldmVsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdzbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5pcHRhYmxlczwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5rZXJuZWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5jaGtjb25maWc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5raW5wdXQyLWNhbm5hLXdubjY8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PkNhbm5hLWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PldubjYtU0RLPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+a3ZpZXdzaGVsbC1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5rdmlld3NoZWxsPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cGVybC1YTUwtRHVtcGVyPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsLVhNTC1QYXJzZXI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT51bml4MmRvczwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmxpY3EtdGV4dDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5saWNxPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnY2M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5uY3Vyc2VzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlic3RkYysrPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bGliZGJpLWRldmVsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmRiaTwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnByZWxpbms8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5rZXJuZWw8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5jb21wYXQtZ2NjLWMrKzwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5jb21wYXQtZ2NjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Y29tcGF0LWxpYnN0ZGMrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmNvbXBhdC1saWJzdGRjKystZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmtkZXBpbS1jZWxscGhvbmU8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+a2RlcGltPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5rZGVsaWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2NjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlicG5nPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cXQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJzdGRjKys8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Yml0bWFwLWZvbnRzPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmZvbnRjb25maWc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Z2RibS1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nZGJtPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+aW5mbzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5rZHZpPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmtkZWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnY2M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5rdmlld3NoZWxsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlicG5nPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cXQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJzdGRjKys8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+a2RlYWRkb25zLW5vYXR1bjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5ub2F0dW48L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5rZGVtdWx0aW1lZGlhLWFydHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5hcnRzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+a2RlbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmF1ZGlvZmlsZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2NjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlicG5nPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cXQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5TREw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJzdGRjKys8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+YXVtaXgtWDExPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmF1bWl4PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ndGsrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdwbTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm5jdXJzZXM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5saWJlbGYtZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+bGliZWxmPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+dGV0ZXgtZHZpcHM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+dGV0ZXg8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wc3V0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cGVybC1DUEFOPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmw8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5wYXRjaDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPm1ldy14ZW1hY3M8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+eGVtYWNzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bWV3LWNvbW1vbjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmxpYmVsZjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmtkZXNkay1rc3B5PC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+a2RlbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdjYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnBuZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnF0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlic3RkYysrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmxpYmdub21lLWRldmVsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdub21lPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYi1kZXZlbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmVzb3VuZC1kZXZlbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pk9SQml0Mi1kZXZlbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWIyLWRldmVsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliYm9ub2JvLWRldmVsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+R0NvbmYyLWRldmVsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z25vbWUtdmZzMi1kZXZlbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnhtbDItZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ4c2x0LWRldmVsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Ym9ub2JvLWFjdGl2YXRpb24tZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT50YWlwZWlmb250czwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5ncmVwPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1mb250LXV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+dGV4dHV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bWt0ZW1wPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmdub21lLXB5dGhvbjI8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z25vbWUtcHl0aG9uMi1ib25vYm88L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJhcnRfbGdwbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmF0azwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmJvbm9ibzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJvbm9iby1hY3RpdmF0aW9uPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliYm9ub2JvdWk8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PkdDb25mMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmd0azI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdub21lPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ25vbWVjYW52YXM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnbm9tZXVpPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z25vbWUtdmZzMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpbmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5PUkJpdDI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wYW5nbzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnhtbDI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cGNyZS1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5wY3JlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmR1bXA8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+c2V0dXA8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ybXQ8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5udXQ8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+bnV0LWNsaWVudDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmZpbGV1dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmNoa2NvbmZpZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmluaXRzY3JpcHRzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5vcGVuc3NoLWFza3Bhc3M8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+b3BlbnNzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cmRlc2t0b3A8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+b3BlbnNzbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+c2VkPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmluZm88L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5MUFJuZzwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5jaGtjb25maWc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ta3RlbXA8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5maWxldXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT50ZXh0dXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nYXdrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmtyYjUtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cHlndGsyLWxpYmdsYWRlPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnB5Z3RrMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmF0azwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3RrMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdsYWRlMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWIyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGFuZ288L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ4bWwyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPm1nZXR0eTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5pbmZvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bWt0ZW1wPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+YXJrPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnppcDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnVuemlwPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+dGFyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5rZGVsaWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2NjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlicG5nPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cXQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJzdGRjKys8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bWRhZG08L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+WEZyZWU4Ni14dHJhcC1jbGllbnRzPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODY8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmxpYmFpbzwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5pbml0c2NyaXB0czwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bGliYXJ0X2xncGwtZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+bGliYXJ0X2xncGw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+eGF3dHY8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4NjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtZm9udC11dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnVzZXJtb2RlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlianBlZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm5jdXJzZXM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5saWJ1bmdpZi1wcm9nczwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ1bmdpZjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5rZXJuZWwtZGVidWc8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+ZmlsZXV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bW9kdXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5pbml0c2NyaXB0czwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm1raW5pdHJkPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmluZGV4aHRtbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5saWJtbmctc3RhdGljPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnRpbWlkaXR5Kys8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+YXJ0czwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bmN1cnNlczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYm9nZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnNsYW5nPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlidm9yYmlzPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+ZmluZ2VyPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Z2xpYmMtZGVidWctc3RhdGljPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmMtZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5saWJwbmc8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bGliZ25vbWVwcmludDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT51cnctZm9udHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5naG9zdHNjcmlwdDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdob3N0c2NyaXB0LWZvbnRzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlieG1sPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGVybDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODY8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJhcnRfbGdwbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmJvbm9ibzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJvbm9iby1hY3RpdmF0aW9uPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+ZnJlZXR5cGU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpbmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5PUkJpdDI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wYW5nbzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBvcHQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ4bWwyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmlyYjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5ydWJ5PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+c2gtdXRpbHM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5rZGViaW5kaW5nczwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5rZGVsaWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+a2RlYmFzZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2NjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3RrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJwbmc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5xdDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnN0ZGMrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5rdGVybTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT51dGVtcHRlcjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bmN1cnNlczwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmxpYm9sZTItZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+bGlib2xlMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5nbm9tZS10ZXJtaW5hbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT52dGU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliYXJ0X2xncGw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5hdGs8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJib25vYm88L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ib25vYm8tYWN0aXZhdGlvbjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmJvbm9ib3VpPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5HQ29uZjI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ndGsyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2xhZGUyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYjI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnbm9tZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdub21lY2FudmFzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ25vbWV1aTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdub21lLXZmczI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saW5jPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+T1JCaXQyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGFuZ288L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wb3B0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlieG1sMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5wZXJsLURhdGVNYW5pcDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+d2w8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+ZW1hY3M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT53bC1jb21tb248L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5mbGltPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Y3lydXMtc2FzbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmNoa2NvbmZpZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmluaXRzY3JpcHRzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmtyYjUtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmRiNDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdkYm08L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wYW08L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5XaW5kb3dNYWtlcjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5jcHA8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlianBlZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnBuZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnRpZmY8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ1bmdpZjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PldpbmRvd01ha2VyLWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+R3VwcGktZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+R3VwcGk8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbm9tZS1saWJzLWRldmVsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z25vbWUtcHJpbnQtZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ib25vYm8tZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5weWRpY3Q8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+cHlndGsyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPm5ld3Q8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+c2xhbmc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBvcHQ8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT54Y2hhdDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z25vbWUtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmF1ZGlvZmlsZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm9wZW5zc2w8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmVzb3VuZDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmd0ays8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5pbWxpYjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdkay1waXhidWY8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Z25vbWUtcHJpbnQ8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z25vbWUtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnVydy1mb250czwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdob3N0c2NyaXB0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2hvc3RzY3JpcHQtZm9udHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ4bWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4NjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdub21lcHJpbnQxNTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5hdWRpb2ZpbGU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmVzb3VuZDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmZyZWV0eXBlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3RrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmltbGliPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2RrLXBpeGJ1ZjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bXJ0ZzwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2Q8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJwbmc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGVybC1DR0k8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsLVVSSTwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPlhhdzNkLWRldmVsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PlhhdzNkPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmtmaWxlLXBkZjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmtkZWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnY2M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJwbmc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5xdDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnN0ZGMrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5zeXNzdGF0PC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5Pmtlcm5lbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnNoLXV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+dGV4dHV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3JlcDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmZpbGV1dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnZpeGllLWNyb248L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5mb250cy1JU084ODU5LTI8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Y2hrZm9udHBhdGg8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWZvbnQtdXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+YXJ0cy1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnY2M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5hcnRzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlic3RkYysrPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+a2RlYXJ0d29yay1zY3JlZW5zYXZlcnM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+a2RlYmFzZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+a2RlbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdjYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtTWVzYS1saWJHTDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtTWVzYS1saWJHTFU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJwbmc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5xdDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnN0ZGMrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5pcHRhYmxlcy1pcHY2PC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmlwdGFibGVzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bHNvZjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmJpbnV0aWxzPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmluZm88L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5mcmVldHlwZS1kZW1vczwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5mcmVldHlwZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cGVybC1SUE0yPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmVsZjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBvcHQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ycG08L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5uYW1henU8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+cGVybDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmwtRmlsZS1NTWFnaWM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsLU5LRjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmtha2FzaTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmwtVGV4dC1LYWthc2k8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPkVsZWN0cmljRmVuY2U8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+YXV0b2NvbnZlcnQteGNoYXQ8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+eGNoYXQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPkd0ay1QZXJsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ndGsrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3RrZ2xhcmVhPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z25vbWUtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmF1ZGlvZmlsZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+ZXNvdW5kPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+aW1saWI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nZGstcGl4YnVmPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2xhZGU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1NZXNhLWxpYkdMPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1NZXNhLWxpYkdMVTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmpwZWc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJwbmcxMDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnhtbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsLWxpYnd3dy1wZXJsPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Y2RpY2NvbmY8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+cGVybDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmd0ays8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdsYWRlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnhtbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5rcmJhZnMtdXRpbHM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+a3JiYWZzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5rcmI1LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5ieWFjYzwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPm1lbXByb2Y8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmFydF9sZ3BsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YXRrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmludXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJib25vYm88L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ib25vYm8tYWN0aXZhdGlvbjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmJvbm9ib3VpPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5HQ29uZjI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ndGsyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2xhZGUyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYjI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnbm9tZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdub21lY2FudmFzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ25vbWV1aTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdub21lLXZmczI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saW5jPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+T1JCaXQyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGFuZ288L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wb3B0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlieG1sMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5yZWRoYXQtcnBtLWNvbmZpZzwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5ycG0tYnVpbGQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGVybDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmtkZS1pMThuLUphcGFuZXNlPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmNvbXBhdC1zbGFuZzwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnBlcmwtSW5saW5lPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmw8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5ndGtnbGFyZWE8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4NjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmd0ays8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5tb2RfcGVybDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5odHRwZDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmdsaWJjLWtlcm5oZWFkZXJzPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmZpbGV1dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmluaXRzY3JpcHRzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnNwZWNzcG88L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cmVkaGF0LWNvbmZpZy1wcmludGVyLWd1aTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5yZWRoYXQtY29uZmlnLXByaW50ZXI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5weWd0azI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5weWd0azItbGliZ2xhZGU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbm9tZS1weXRob24yPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z25vbWUtcHl0aG9uMi1ndGtodG1sMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnVzZXJtb2RlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cHl0aG9uPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bmN1cnNlczwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5uZnMtdXRpbHM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+a2VybmVsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cG9ydG1hcDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnNlZDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdhd2s8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5zaC11dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmZpbGV1dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnRleHR1dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdyZXA8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5jaGtjb25maWc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5zaGFkb3ctdXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT51dGlsLWxpbnV4PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Z2FsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmdlZGl0PC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnNjcm9sbGtlZXBlcjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PkdDb25mMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJhcnRfbGdwbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmF0azwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmJvbm9ibzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJvbm9iby1hY3RpdmF0aW9uPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliYm9ub2JvdWk8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmVlbDI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nYWlsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3RrMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdsYWRlMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWIyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ25vbWU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnbm9tZWNhbnZhczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdub21lcHJpbnQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnbm9tZXByaW50dWk8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnbm9tZXVpPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z25vbWUtdmZzMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpbmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5PUkJpdDI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wYW5nbzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBvcHQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ4bWwyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmxpYnBuZzEwPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnNxdWlycmVsbWFpbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5odHRwZDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBocDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT50bXB3YXRjaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBvc3RmaXg8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+c2gtdXRpbHM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5pbWFwPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnBhbTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnhpbmV0ZDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5rcmI1LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5vcGVuc3NsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5tZXRhY2l0eTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5yZWRoYXQtYXJ0d29yazwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5hdGs8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PkdDb25mMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmd0azI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnbGFkZTI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpbmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5PUkJpdDI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wYW5nbzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnhtbDI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+eHBkZi1qYXBhbmVzZTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT54cGRmPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bGlicmVwPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmluZm88L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbXA8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nZGJtPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bmN1cnNlczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnJlYWRsaW5lPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+YnVzeWJveC1hbmFjb25kYTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnJlYWRsaW5lLWRldmVsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnJlYWRsaW5lPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+YW1hbmRhLWNsaWVudDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5maWxldXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ncmVwPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+aW5pdHNjcmlwdHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT54aW5ldGQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5hbWFuZGE8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5yZWFkbGluZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnRlcm1jYXA8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5rZGVhZGRvbnMta25ld3N0aWNrZXI8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+a2RlYmFzZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmtkZW5ldHdvcmstbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmtuZXdzdGlja2VyPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cGFtX2tyYjU8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+a3JiYWZzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+a3JiNS1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5pcmRhLXV0aWxzPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmNoa2NvbmZpZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdyZXA8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5tb2R1dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5od2NyeXB0bzwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5jaGtjb25maWc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5pbml0c2NyaXB0czwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdhd2s8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5rZGViaW5kaW5ncy1rbW96aWxsYTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5tb3ppbGxhPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+a2RlYmFzZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+a2RlYmluZGluZ3M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5rZGVsaWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2NjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3RrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJwbmc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5xdDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnN0ZGMrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5jZHBhcmFub2lhLWxpYnM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cGVybC1EQkQtTXlTUUw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+cGVybDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmwtREJJPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5teXNxbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5rYWJvb2RsZTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5hcnRzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+a2RlbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmF1ZGlvZmlsZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2NjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlicG5nPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cXQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJzdGRjKys8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+dHJpcHdpcmU8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+c2VkPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3JlcDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmd6aXA8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT50YXI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nYXdrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmNkZWNsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cmVhZGxpbmU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ0ZXJtY2FwPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bmV0LXNubXAtZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+bmV0LXNubXA8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5saWJhcnRfbGdwbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmZyZWV0eXBlLWRldmVsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmZyZWV0eXBlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmxpYnhtbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5pbmZvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+dGV0ZXg8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+dG1wd2F0Y2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5kaWFsb2c8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5lZDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmluZm88L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5zaC11dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnRldGV4LWZvbnRzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdjYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnBuZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnN0ZGMrKzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmtzeW1vb3BzPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Z2ltcDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5ndGsrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+ZGVza3RvcC1maWxlLXV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdub21lLWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJqcGVnPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlicG5nPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlicG5nMTA8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ0aWZmPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPkNhbm5hPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmNoa2NvbmZpZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnNldHVwPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3JlcDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmZpbGV1dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5DYW5uYS1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5Xbm42LVNESy1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5Xbm42LVNESzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPm9wZW5tb3RpZjIxPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bWFrZTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5pbmZvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+YmFsc2E8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z3RrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdub21lLWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5hdWRpb2ZpbGU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5vcGVuc3NsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5lc291bmQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJlc210cDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmZyZWV0eXBlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2FsMTk8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnY2M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5pbWxpYjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdkay1waXhidWY8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnbGFkZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nZGstcGl4YnVmLWdub21lPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ25vbWVwcmludDE1PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+a3JiNS1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3RraHRtbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm9wZW5sZGFwPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlidG9vbC1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGNyZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBzcGVsbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnN0ZGMrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnhtbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5zbGFuZy1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5zbGFuZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnNoLXV0aWxzPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cnVieS1tb2RlPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmVtYWNzPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+dm5jLXNlcnZlcjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmNoa2NvbmZpZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5iZWVjcnlwdC1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5iZWVjcnlwdDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmdjb25mLWVkaXRvcjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5hdGs8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PkdDb25mMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmd0azI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpbmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5PUkJpdDI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wYW5nbzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmlwY2hhaW5zPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmNoa2NvbmZpZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnNoLXV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+aW5pdHNjcmlwdHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5rYXJtPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+a2RlbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdjYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnBuZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnF0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlic3RkYysrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPml0Y2w8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+dGNsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+dGs8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5rZGUtaTE4bi1Lb3JlYW48L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cGhwLWRiZy1zZXJ2ZXI8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+cGhwPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGVybDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPlNETF9pbWFnZS1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5TRExfaW1hZ2U8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5TREwtZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5raXQ8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5rZGVsaWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2NjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlianBlZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnBuZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnF0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlic3RkYysrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmZhbS1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5mYW08L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5leG1oPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5Pm5taDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnRrPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cGVybC1GaWx0ZXI8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bGliZ2NqLWRldmVsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnppcDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdjajwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdhd2s8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5nbm9tZS11dGlsczwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliYXJ0X2xncGw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5hdGs8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJib25vYm88L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ib25vYm8tYWN0aXZhdGlvbjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmJvbm9ib3VpPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5lMmZzcHJvZ3M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5HQ29uZjI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ndGsyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2xhZGUyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYjI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnbm9tZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdub21lY2FudmFzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ25vbWV1aTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdub21lLXZmczI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saW5jPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bmN1cnNlczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pk9SQml0MjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdub21lLXBhbmVsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGFuZ288L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wb3B0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlieG1sMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5nbm9tZS1weXRob24yLWNhbnZhczwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnbm9tZWNhbnZhczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmd0azI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5weWd0azI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJhcnRfbGdwbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmF0azwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYjI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wYW5nbzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmxpYnhtbDEwPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmluZm88L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmdxdmlldzwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5ndGsrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+aW1saWI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5kZXNrdG9wLWZpbGUtdXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdkay1waXhidWY8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlicG5nPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPkltYWdlTWFnaWNrLXBlcmw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+SW1hZ2VNYWdpY2s8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YnppcDItbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+ZnJlZXR5cGU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJqcGVnPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlicG5nPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlidGlmZjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnhtbDI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Y3Vwcy1saWJzPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+b3BlbnNzbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmpwZWc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJwbmc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ0aWZmPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPkdDb25mMi1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5HQ29uZjI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ4bWwyLWRldmVsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+T1JCaXQyLWRldmVsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYjItZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5naG9zdHNjcmlwdC1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5naG9zdHNjcmlwdDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5zbHJuPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnNsYW5nPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+c2gtdXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5vcGVuc3NsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5PUkJpdDItZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+aW5kZW50PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYjItZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saW5jLWRldmVsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliSURMLWRldmVsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+T1JCaXQyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYjI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJJREw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saW5jPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cG9wdDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmtkZWFkbWluPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+a2RlbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnVzZXJtb2RlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2NjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlianBlZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBhbTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnBuZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnF0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlic3RkYysrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmd6aXA8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+aW5mbzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm1rdGVtcDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmxlc3M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5saWxvPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5Pm1raW5pdHJkPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+a2RlLWkxOG4tUnVzc2lhbjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5uc3NfZGItY29tcGF0PC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+ZGVqYWdudTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT50Y2w8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5leHBlY3Q8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bGlicnN2ZzI8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z3RrMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnhtbDI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wb3B0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+ZnJlZXR5cGU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJhcnRfbGdwbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnBuZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+a2VybmVsLXVtbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5rZXJuZWwtdXRpbHM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5yZWRoYXQtbG9ndmlld2VyPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnB5Z3RrMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnB5dGhvbjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnVzZXJtb2RlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnNoLXV0aWxzPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+c3BhbWFzc2Fzc2luPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5jaGtjb25maWc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsLU5ldC1ETlM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsLVRpbWUtSGlSZXM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wcm9jbWFpbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmRiNDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdkYm08L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5tcnRnPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cmhuLWFwcGxldDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5weXRob248L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ycG08L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ycG0tcHl0aG9uPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cmhubGliPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cHlndGsyLWxpYmdsYWRlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cHlndGsyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+dXAyZGF0ZS1nbm9tZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdub21lLXB5dGhvbjI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnbm9tZXVpPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ25vbWU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbm9tZS1weXRob24yLWd0a2h0bWwyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+dXAyZGF0ZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmUyZnNwcm9nczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJhcnRfbGdwbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmF0azwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmJvbm9ibzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJvbm9iby1hY3RpdmF0aW9uPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliYm9ub2JvdWk8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PkdDb25mMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmd0azI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdub21lY2FudmFzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z25vbWUtdmZzMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpbmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5PUkJpdDI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wYW5nbzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnhtbDI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bXlzcWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5pbmZvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3JlcDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmZpbGV1dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmNoa2NvbmZpZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsLURCSTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmwtREJELU15U1FMPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGVybDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdjYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm5jdXJzZXM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5yZWFkbGluZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnN0ZGMrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsLUNHSTwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPm5ldGNvbmZpZzwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm5ld3Q8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5saWJnbm9tZXByaW50dWk8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z3RrMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdub21lcHJpbnQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnbm9tZWNhbnZhczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliYXJ0X2xncGw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5hdGs8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJib25vYm88L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ib25vYm8tYWN0aXZhdGlvbjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWIyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGluYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pk9SQml0MjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBhbmdvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlieG1sMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5rZGUtaTE4bi1DaGluZXNlPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmxpYnBjYXA8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+a2VybmVsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+b3BlbnNzbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+dzNjLWxpYnd3dzwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5rZGVzc2g8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+b3BlbnNzaC1jbGllbnRzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5rZGVsaWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2NjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlicG5nPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cXQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJzdGRjKys8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+dHV4cmFjZXI8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnY2M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LU1lc2EtbGliR0w8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LU1lc2EtbGliR0xVPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+U0RMPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlic3RkYysrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+dGNsPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+c2traW5wdXQ8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+ZGJza2tkLWNkYjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bG9ra2l0PC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmlwdGFibGVzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5uZXd0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cG9wdDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnNsYW5nPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+a2VybmVsLXV0aWxzPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmNoa2NvbmZpZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmluaXRzY3JpcHRzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+ZmlsZXV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm9wZW5zc2w8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm5jdXJzZXM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5yZWFkbGluZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm5ldC1zbm1wPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Y29tcGF0LXB3ZGI8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5rZmF4PC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+a2RlbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdjYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmpwZWc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5rdmlld3NoZWxsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlicG5nPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cXQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJzdGRjKys8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ0aWZmPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmxpYmF0dHItZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+bGliYXR0cjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmtkZWJhc2U8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+a2RlbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnhtbDI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT54aW5pdHJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni14ZG08L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5jZHBhcmFub2lhLWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5kZXNrdG9wLWJhY2tncm91bmRzLWJhc2ljPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cmVkaGF0LW1lbnVzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cmVkaGF0LWFydHdvcms8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5zaGFkb3ctdXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5maWxldXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5kZXNrdG9wLWZpbGUtdXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5sbV9zZW5zb3JzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5zaC11dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYteGZzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmFydHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5hdWRpb2ZpbGU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5vcGVuc3NsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+ZnJlZXR5cGU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnY2M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJqcGVnPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+b3BlbmxkYXA8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wYW08L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJwbmc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5xdDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnN0ZGMrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnZvcmJpczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5nZC1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nZDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmtqb3RzPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+a2RlbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdjYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnBuZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnF0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlic3RkYysrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmN1cHMtZHJpdmVycy1ocGlqczwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5ocGlqczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdob3N0c2NyaXB0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+aW5pdHNjcmlwdHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cG9zdGdyZXNxbC1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5wb3N0Z3Jlc3FsLWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+a3JiNS1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+b3BlbnNzbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGFtPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cmVhZGxpbmU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ0ZXJtY2FwPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmVydWJ5LWRldmVsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmVydWJ5LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5kZXNrdG9wLWJhY2tncm91bmRzLWV4dHJhPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnczbS1lbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT53M20tZWwtY29tbW9uPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+ZW1hY3M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5mbGltPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+dzNtPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Ym9ub2JvLWFjdGl2YXRpb248L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+bGluYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGVybDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWIyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+T1JCaXQyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cG9wdDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnhtbDI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+dzNjLWxpYnd3dy1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT53M2MtbGlid3d3PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmt0aW1lcjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5rZGVsaWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnY2M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJwbmc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5xdDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnN0ZGMrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5tYWdpY2RldjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbm9tZS1taW1lLWRhdGE8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliYXJ0X2xncGw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5hdGs8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJib25vYm88L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ib25vYm8tYWN0aXZhdGlvbjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmJvbm9ib3VpPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5HQ29uZjI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ndGsyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2xhZGUyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYjI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnbm9tZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdub21lY2FudmFzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ25vbWV1aTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdub21lLXZmczI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saW5jPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+T1JCaXQyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGFuZ288L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ4bWwyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnBlcmwtVGVybVJlYWRLZXk8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cHlPcGVuU1NMPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5Pm9wZW5zc2w8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnJzeW5jPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cG9wdDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmxpYmduYXQ8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnY2M8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5saWJwbmctZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+bGlicG5nPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYi1kZXZlbDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmctd3JhcC1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5pbmZvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Zy13cmFwPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3VpbGUtZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3VpbGU8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5nY2MtZzc3PC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdjYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmYyYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmluZm88L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT50ZXJtY2FwPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnRldGV4LWxhdGV4PC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnRldGV4PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bmV0cGJtLXByb2dzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmw8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT52bmMtZG9jPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmtsZXR0cmVzPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+a2RlbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdjYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnBuZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnF0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlic3RkYysrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmtkZWJpbmRpbmdzLXF0amF2YTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5xdDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdjajwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmpka2djajwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2NjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlic3RkYysrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Y1dubjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5GcmVlV25uLWNvbW1vbjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmNXbm4tY29tbW9uPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+c2hhZG93LXV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Y2hrY29uZmlnPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+dm5jPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmNoa2NvbmZpZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmluaXRzY3JpcHRzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJqcGVnPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnhlbWFjczwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5pbmZvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Y3RhZ3M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+c2gtdXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Q2FubmEtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+ZGI0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlianBlZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm9wZW5sZGFwPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bmN1cnNlczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnBuZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBvc3RncmVzcWwtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnRpZmY8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5GcmVlV25uLWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5vcGVubW90aWY8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bGliZ2FsMTk8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2FsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ndGsrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmtkZXNkay1rYnVnYnVzdGVyPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+a2RlbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdjYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmpwZWc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJwbmc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5xdDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnN0ZGMrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5zeXNrbG9nZDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5maWxldXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5jaGtjb25maWc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5kdmRyZWNvcmQ8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5rZWRpdDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5rZGVsaWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnY2M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJwbmc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5xdDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnN0ZGMrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5HQ29uZjI8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+aW5mbzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YXRrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3RrMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWIyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGluYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pk9SQml0MjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBhbmdvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cG9wdDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnhtbDI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+c3lscGhlZWQ8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z3RrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2RrLXBpeGJ1ZjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5saWJndG9wMjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Z2xpYmM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmMtY29tbW9uPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzZXN5c3RlbTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+WEZyZWU4NjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT51dGVtcHRlcjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmNwcDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYteGF1dGg8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5HbGlkZTM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LXhmczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtYmFzZS1mb250czwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBhbTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmtlcm5lbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmZpbGV1dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmNoa2ZvbnRwYXRoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1mb250LXV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmZyZWV0eXBlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1NZXNhLWxpYkdMPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bmN1cnNlczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT54MzI3MC14MTE8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+eDMyNzA8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5Xbm42LVNESzwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5maWxldXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5rZGVwaW0tcGlsb3Q8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+a2RlcGltPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5rZGVsaWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2NjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGlsb3QtbGluazwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnBuZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnF0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlic3RkYysrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmxpYnRlcm1jYXAtZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+bGlidGVybWNhcDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5lcGljPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bmN1cnNlczwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmxpYnRpZmYtZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+bGlidGlmZjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPkZyZWVXbm4tZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmJjPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmluZm88L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ncmVwPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bmN1cnNlczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnJlYWRsaW5lPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Y29tcGF0LWdjYzwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5iaW51dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjLWRldmVsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+aW5mbzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Z3RrYW0tZ2ltcDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5ndGthbTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdpbXA8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5maWxldXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nYXdrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+c2gtdXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ndGsrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2RrLXBpeGJ1ZjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ncGhvdG8yPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+d2dldDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5pbmZvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm9wZW5zc2w8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmtkZXNkay1rYXBwdGVtcGxhdGU8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnNoLXV0aWxzPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bGliZGJpLWRiZC1teXNxbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5saWJkYmk8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm15c3FsPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+c2F3ZmlzaDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5saWJyZXA8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5yZXAtZ3RrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+aW5mbzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5hdGs8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5hdWRpb2ZpbGU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmVzb3VuZDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmd0azI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdtcDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmltbGliPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlianBlZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBhbmdvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlicG5nPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlidGlmZjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnVuZ2lmPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmtkZXBpbS1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5rZGVwaW08L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5rZGVtdWx0aW1lZGlhLWFydHM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+a2RlbXVsdGltZWRpYS1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5hcnRzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+a2RlbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmF1ZGlvZmlsZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdjYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYm9nZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnBuZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnF0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlic3RkYysrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlidm9yYmlzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnBvc3RncmVzcWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5pbml0c2NyaXB0czwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBvc3RncmVzcWwtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5rcmI1LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5vcGVuc3NsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGFtPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cmVhZGxpbmU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ0ZXJtY2FwPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPm1nZXR0eS12b2ljZTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5tZ2V0dHk8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmZyZWV0eXBlLXV0aWxzPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmZyZWV0eXBlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5yZWRoYXQtY29uZmlnLWJpbmQ8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+cHl0aG9uPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YWxjaGVtaXN0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3RrMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdub21lLXB5dGhvbjI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iaW5kPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+NFN1aXRlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+dXNlcm1vZGU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+d29yZHM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPkZyZWVXbm4tY29tbW9uPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdyZXA8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT50ZXh0dXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5zaGFkb3ctdXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cmVkaGF0LWNvbmZpZy14ZnJlZTg2PC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnB5Z3RrMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnB5Z3RrMi1saWJnbGFkZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnB5dGhvbjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnVzZXJtb2RlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+aHdkYXRhPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+a3VkenU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5weXhmODZjb25maWc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5yaHBsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmRpYWxvZzwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5uY3Vyc2VzPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cGNjdHM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5nbGliMjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPm5jdXJzZXMtYysrLWRldmVsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5Pm5jdXJzZXM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5rZGVzZGsta210cmFjZTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5rZGVsaWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2NjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlicG5nPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cXQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJzdGRjKys8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+aGVzaW9kPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bGlibXJwcm9qZWN0LWRldmVsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYm1ycHJvamVjdDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmd0aystZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmtkZS1pMThuLUZpbm5pc2g8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+d2ViYWxpemVyPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnNoYWRvdy11dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmZpbGV1dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmRiNDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdkPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlicG5nPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmtlcm5lbC1CT09UPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmZpbGV1dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm1vZHV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPlNETF9pbWFnZTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmpwZWc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJwbmc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5TREw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ0aWZmPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmh0dHBkLWRldmVsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnRvb2w8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5odHRwZDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmw8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5rZGVzZGstZ2ltcDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5naW1wPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+eGVtYWNzLWVsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnhlbWFjczwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnBpbG90LWxpbmswOTUtY29tcGF0PC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+c2hhcGVjZmc8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+a2VybmVsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+aXByb3V0ZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmRoY3AtZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+ZGhjcDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPkdDb25mPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmluZm88L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+b2FmPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3RrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pk9SQml0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlieG1sPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cG9wdDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5zb3g8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlib2dnPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlidm9yYmlzPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+YmRmbHVzaDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnBjcmU8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5zYW5lLWZyb250ZW5kczwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5ndGsrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2ltcDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnNhbmUtYmFja2VuZHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJqcGVnPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlidXNiPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+YXNwZWxsLWRldmVsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnBzcGVsbC1kZXZlbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmFzcGVsbDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnNhbmUtYmFja2VuZHM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ta3RlbXA8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ncmVwPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+dGV4dHV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+ZmlsZXV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmpwZWc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ1c2I8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5waHAtc25tcDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5waHA8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bmV0LXNubXA8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5tYW4tcGFnZXMtcnU8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cmVjb2RlLWRldmVsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnJlY29kZTwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmN0YWdzPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+dGNwZHVtcDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5rZXJuZWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+b3BlbnNzbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+emlzb2ZzLXRvb2xzPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmtkZS1pMThuLVBvbGlzaDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5kb2Nib29rLXV0aWxzPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmRvY2Jvb2stc3R5bGUtZHNzc2w8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5kb2Nib29rLWR0ZHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsLVNHTUxTcG08L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT53aGljaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cXQtTXlTUUw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+cXQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmZvbnRjb25maWc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LU1lc2EtbGliR0w8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LU1lc2EtbGliR0xVPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bXlzcWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YZnQ8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT50cmFjZXJvdXRlPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Y3lydXMtc2FzbC1wbGFpbjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5jeXJ1cy1zYXNsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wYW08L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5maWxlLXJvbGxlcjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5zY3JvbGxrZWVwZXI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5HQ29uZjI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliYXJ0X2xncGw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5hdGs8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJib25vYm88L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ib25vYm8tYWN0aXZhdGlvbjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmJvbm9ib3VpPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ndGsyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2xhZGUyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYjI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnbm9tZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdub21lY2FudmFzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ25vbWV1aTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdub21lLXZmczI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saW5jPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+T1JCaXQyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGFuZ288L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wb3B0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlieG1sMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5tb2RfYXV0aF9wZ3NxbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5odHRwZDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cG9zdGdyZXNxbC1saWJzPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+WEZyZWU4Ni10cnVldHlwZS1mb250czwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5jaGtmb250cGF0aDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtZm9udC11dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5nbm9tZS1weXRob24yLWFwcGxldDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5saWJhcnRfbGdwbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmF0azwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmJvbm9ibzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJvbm9iby1hY3RpdmF0aW9uPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliYm9ub2JvdWk8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PkdDb25mMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmd0azI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdub21lPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ25vbWVjYW52YXM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnbm9tZXVpPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z25vbWUtdmZzMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpbmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5PUkJpdDI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbm9tZS1wYW5lbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBhbmdvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlieG1sMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5saWJjYXBwbGV0MC1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5saWJjYXBwbGV0MDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdub21lLWxpYnMtZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5ycC1wcHBvZTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5jaGtjb25maWc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5pbml0c2NyaXB0czwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmZpbGV1dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBwcDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmtlcm5lbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmluZm88L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bmN1cnNlczwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnB3bGliLWRldmVsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnB3bGliPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+b3BlbnNzbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+ZXhwYXQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnY2M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJzdGRjKys8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5hdHRyPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliYXR0cjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmtkZXNkay1rb21wYXJlPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+a2RlbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdjYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnBuZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnF0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlic3RkYysrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPm1hbi1wYWdlcy1pdDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5tdHI8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5uY3Vyc2VzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlidGVybWNhcDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmNlcnZpc2lhPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+a2RlbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdjYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnBuZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnF0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlic3RkYysrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmZvbnRjb25maWctZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Zm9udGNvbmZpZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmZyZWV0eXBlLWRldmVsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmF1dG9mczwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5jaGtjb25maWc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bWt0ZW1wPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+c2VkPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2F3azwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnRleHR1dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnNoLXV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3JlcDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnByb2NwczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnJlZGhhdC1yZWxlYXNlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5oZXNpb2Q8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5vcGVubGRhcDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnBwcDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBhbTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5hdXRvY29uZjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5pbmZvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2F3azwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm00PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bWt0ZW1wPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGVybDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnRleHR1dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT54aW5pdHJjPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODY8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+c3dpdGNoZGVzazwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnBhbS1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5wYW08L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5tb3ppbGxhLW1haWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+ZmlsZXV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bW96aWxsYTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm1vemlsbGEtbnNwcjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmNvbXBhdC1saWJzdGRjKys8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT55cHNlcnY8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2F3azwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm1ha2U8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wb3J0bWFwPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmNoa2NvbmZpZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmluaXRzY3JpcHRzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nZGJtPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+YXJwd2F0Y2g8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Y2hrY29uZmlnPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+aW5pdHNjcmlwdHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5nbm9tZS12ZnM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PkdDb25mPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+b2FmPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z25vbWUtbWltZS1kYXRhPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGVybDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJ6aXAyLWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5vcGVuc3NsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3RrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pk9SQml0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlieG1sPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPm1haWx4PC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+a3NpcmM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+cGVybDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+a2RlbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdjYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnBuZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnF0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlic3RkYysrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnBlcmwtRGF0ZS1DYWxjPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGVybC1CaXQtVmVjdG9yPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGVybDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmRpZmZ1dGlsczwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5pbmZvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cnVieS1kb2NzPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmN1cmw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm9wZW5zc2w8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmhwaWpzPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5Pmdob3N0c2NyaXB0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnY2M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJzdGRjKys8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT50aXg8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT50Y2w8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT50azwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmdudXBsb3Q8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2Q8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJwbmc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm5jdXJzZXM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5yZWFkbGluZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5wZXJsLU5LRjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmw8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5uYzwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5rZ2VvPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+a2RlbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdjYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnBuZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnF0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlic3RkYysrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmt2aWV3c2hlbGw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+a3ZpZXc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmtkZWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnY2M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJwbmc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5xdDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnN0ZGMrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5jdXBzLWRyaXZlcnM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Y3VwczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdob3N0c2NyaXB0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+aW5pdHNjcmlwdHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cGx1Z2dlcjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5tb3ppbGxhPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bWlrbW9kPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+eGxvYWRpbWFnZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnNveDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+RnJlZVdubjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5jaGtjb25maWc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ncmVwPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+dGV4dHV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+c2hhZG93LXV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+RnJlZVdubi1jb21tb248L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5rb3JuPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+a2RlbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdjYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmtkZW5ldHdvcmstbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnBuZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnF0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlic3RkYysrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmdub21lLXNlc3Npb248L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+cmVkaGF0LWFydHdvcms8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5yZWRoYXQtbG9nb3M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5HQ29uZjI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliYXJ0X2xncGw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5hdGs8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5hdWRpb2ZpbGU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJib25vYm88L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ib25vYm8tYWN0aXZhdGlvbjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmJvbm9ib3VpPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5lc291bmQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ndGsyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYjI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnbm9tZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdub21lY2FudmFzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ25vbWV1aTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdub21lLXZmczI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saW5jPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+T1JCaXQyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGFuZ288L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ4bWwyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmtkZWFydHdvcms8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+a2RlYmFzZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+a2RlbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdjYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnBuZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnF0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlic3RkYysrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPkdDb25mLWRldmVsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PkdDb25mPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+T1JCaXQtZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliLWRldmVsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+b2FmLWRldmVsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3RrKy1kZXZlbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5wZXJsLURpZ2VzdC1ITUFDPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmwtRGlnZXN0LVNIQTE8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Z25vbWUtZGVza3RvcDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5yZWRoYXQtYXJ0d29yazwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnJlZGhhdC1tZW51czwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmFydF9sZ3BsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YXRrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliYm9ub2JvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Ym9ub2JvLWFjdGl2YXRpb248L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJib25vYm91aTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PkdDb25mMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmd0azI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdub21lPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ25vbWVjYW52YXM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnbm9tZXVpPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z25vbWUtdmZzMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpbmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5PUkJpdDI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wYW5nbzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnhtbDI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+aHRkaWctd2ViPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5Pmh0ZGlnPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnY2M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJzdGRjKys8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bGlib2dnPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bmNvbXByZXNzPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cHdsaWI8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5vcGVuc3NsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+ZXhwYXQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnY2M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJzdGRjKys8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5kb3MydW5peDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnF0Mi1kZXNpZ25lcjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5xdDItZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmpwZWc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJtbmc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJwbmc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5jb21wYXQtbGlic3RkYysrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnhlbWFjcy1pbmZvPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnhlbWFjczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5oYW50ZXJtLXhmPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhhdzNkPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+dHRmb250cy1rbzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlidGVybWNhcDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnV0ZW1wdGVyPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bGliZ25vbWVjYW52YXM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z3RrMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliYXJ0X2xncGw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5hdGs8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnbGFkZTI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBhbmdvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlieG1sMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT50aW1lPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmluZm88L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5reG1scnBjZDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmtkZWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnY2M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJwbmc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5xdDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnN0ZGMrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5nbm9tZS1sb2traXQ8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z25vbWUtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmlwdGFibGVzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YXVkaW9maWxlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5lc291bmQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ndGsrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+aW1saWI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bmFzbTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5pbmZvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Z3Y8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2hvc3RzY3JpcHQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhhdzNkPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Y3lydXMtc2FzbC1tZDU8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Y3lydXMtc2FzbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm9wZW5zc2w8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmdrZXJtaXQ8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5pcHV0aWxzPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cGVybC1IVE1MLVRhZ3NldDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+WEZyZWU4Ni1jeXJpbGxpYy1mb250czwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5jaGtmb250cGF0aDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtZm9udC11dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5weXRob24tb3B0aWs8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+cHl0aG9uPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cmVkaGF0LXN3aXRjaG1haWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+bmV3dDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmNoa2NvbmZpZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnB5dGhvbjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnNoLXV0aWxzPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Z2Q8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5mcmVldHlwZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmpwZWc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJwbmc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cGNpdXRpbHMtZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cmVjb2RlPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmluZm88L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5waHAtcGdzcWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+cGhwPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGVybDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmtyYjUtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm9wZW5zc2w8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wb3N0Z3Jlc3FsLWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5maWxldXRpbHM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+aW5mbzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdyZXA8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliYWNsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ0ZXJtY2FwPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+eHNub3c8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT53bWl4PC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+ZHRhY2g8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5rbHByZmF4PC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PkxQUm5nPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+a2RlYmFzZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmtkZWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnY2M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJwbmc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5xdDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnN0ZGMrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5nY2Mtb2JqYzwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nY2M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJvYmpjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5rdmlldzwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmtkZWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnY2M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJwbmc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5xdDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnN0ZGMrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5ycG0tZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+cnBtPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iemlwMi1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZWxmPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cG9wdDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnRjbGxpYjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmxmdHA8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm9wZW5zc2w8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdjYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm5jdXJzZXM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5yZWFkbGluZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnN0ZGMrKzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnVuemlwPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnBzYWNjdDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5pbmZvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+b3BlbnNzbDA5NjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmtjYzwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmxpbmMtZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+bGluYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBrZ2NvbmZpZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWIyLWRldmVsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYjI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5ta2lzb2ZzPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+WEZyZWU4Ni1YbmVzdDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wYW08L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Z3RrMjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmF0azwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBhbmdvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Zm9udGNvbmZpZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmZyZWV0eXBlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlianBlZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnBuZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnRpZmY8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YZnQ8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5ndGsrPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmFwbWQ8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Y2hrY29uZmlnPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+aW5pdHNjcmlwdHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5naG9zdHNjcmlwdDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5WRmxpYjI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlicG5nPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnVydy1mb250czwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdob3N0c2NyaXB0LWZvbnRzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+T21uaTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5jdXBzLWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5naW1wLXByaW50PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlic3RkYysrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+ZnJlZXR5cGU8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5iaW5kLWRldmVsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmJpbmQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Z251Y2FzaDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmluZm88L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGVybDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdub21lLWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5hdWRpb2ZpbGU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ib25vYm88L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5lc291bmQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5mcmVldHlwZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdhbDE5PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3RrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmltbGliPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2RrLXBpeGJ1ZjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdodHRwPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2xhZGU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2RrLXBpeGJ1Zi1nbm9tZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdub21lcHJpbnQxNTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmd0a2h0bWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ndWlsZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pkd1cHBpPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Zy13cmFwPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+T1JCaXQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5vYWY8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wb3B0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlieG1sPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmwtQ1BBTjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmRpYTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ4bWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5yZWRoYXQtbWVudXM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbm9tZS1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YXVkaW9maWxlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5lc291bmQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ndGsrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+aW1saWI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nZGstcGl4YnVmPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnBuZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBvcHQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ1bmljb2RlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmZic2V0PC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPm1vemlsbGEtZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+bW96aWxsYTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pk9SQml0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bW96aWxsYS1uc3ByPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Y29tcGF0LWxpYnN0ZGMrKzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmEycHM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+ZmlsZXV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+c2gtdXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5pbmZvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cHN1dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5ib290eTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5yaHBsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5rZGVuZXR3b3JrLWxpYnM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+cXQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5rZGVsaWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnY2M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJwbmc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJzdGRjKys8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cnVzZXJzPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+ZmV0Y2htYWlsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnBvc3RmaXg8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5rcmI1LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5vcGVuc3NsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5oZXNpb2Q8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT50b3JhPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+a2RlbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnF0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlic3RkYysrPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bnNzX2xkYXA8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+bnNjZDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdyZXA8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ta3RlbXA8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5zZWQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT50ZXh0dXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5vcGVubGRhcDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBhbTwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmdub21lLXB5dGhvbjItbmF1dGlsdXM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+b3JiaXQtcHl0aG9uPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bmF1dGlsdXM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5zaC11dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmFydF9sZ3BsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YXRrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliYm9ub2JvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Ym9ub2JvLWFjdGl2YXRpb248L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJib25vYm91aTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+ZWVsMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdhaWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5HQ29uZjI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ndGsyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2xhZGUyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYjI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnbm9tZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdub21lY2FudmFzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ25vbWV1aTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdub21lLXZmczI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saW5jPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+T1JCaXQyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGFuZ288L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ4bWwyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmRldjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5zaGFkb3ctdXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5maWxldXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5zZWQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT50ZXh0dXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ta3RlbXA8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+YW5hY29uZGE8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Y2hrY29uZmlnPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cnBtNDA0LXB5dGhvbjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnJocGw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5weXRob248L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5hdGs8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmUyZnNwcm9nczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmd0azI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBhbmdvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cG9wdDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5ta3RlbXA8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5qaXNrc3AxNDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LXhmczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5pbWxpYi1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5pbWxpYjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnRpZmYtZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJqcGVnLWRldmVsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYi1kZXZlbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmd0aystZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ1bmdpZi1kZXZlbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bWtpbml0cmQ8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+ZGV2PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+ZTJmc3Byb2dzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmZpbGV1dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdyZXA8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5tb3VudDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmd6aXA8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT50YXI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5tb2R1dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmxvc2V0dXA8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ta3RlbXA8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5maW5kdXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5sdm08L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5maWxlc3lzdGVtPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5yZWlzZXJmcy11dGlsczwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnBocC1kYmctYmFzZTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5rYWthc2k8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bnZpLW0xN248L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+ZmlsZXV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+dGNzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+a2RlLWkxOG4tQ2F0YWxhbjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5icmlkZ2UtdXRpbHMtZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+a2VybmVsLWRvYzwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5tYWN1dGlsczwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmdhd2s8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+aW5mbzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm1rdGVtcDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnRjbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnJhaWR0b29sczwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5NQUtFREVWPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Z25vbWUtcGFuZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z25vbWUtZGVza3RvcDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdhd2s8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT50ZXh0dXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5maWxldXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJhcnRfbGdwbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmF0azwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmJvbm9ibzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJvbm9iby1hY3RpdmF0aW9uPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliYm9ub2JvdWk8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5HQ29uZjI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ndGsyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2xhZGUyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYjI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnbm9tZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdub21lY2FudmFzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ25vbWV1aTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdub21lLXZmczI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saW5jPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+T1JCaXQyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGFuZ288L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJwbmc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wb3B0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlid25jazwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnhtbDI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+b2N0YXZlPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdudXBsb3Q8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5sZXNzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+aW5mbzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJsYXM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJmMmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnY2M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5sYXBhY2s8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5uY3Vyc2VzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cmVhZGxpbmU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJzdGRjKys8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5naW1wLWRldmVsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5Pmd0aystZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5naW1wPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmxpYmJvbm9ib3VpLWRldmVsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmJvbm9ib3VpPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlieG1sMi1kZXZlbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pk9SQml0Mi1kZXZlbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJvbm9iby1hY3RpdmF0aW9uLWRldmVsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliYm9ub2JvLWRldmVsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ25vbWVjYW52YXMtZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnbm9tZS1kZXZlbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmFydF9sZ3BsLWRldmVsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3RrMi1kZXZlbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdsYWRlMi1kZXZlbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmFydF9sZ3BsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YXRrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliYm9ub2JvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Ym9ub2JvLWFjdGl2YXRpb248L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PkdDb25mMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmd0azI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdub21lPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ25vbWVjYW52YXM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbm9tZS12ZnMyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGluYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pk9SQml0MjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBhbmdvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cG9wdDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnhtbDI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+eHBkZjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT51cnctZm9udHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5mcmVldHlwZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdjYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnN0ZGMrKzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnVuaXhPREJDLWtkZTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5xdDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2NjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+dW5peE9EQkM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJzdGRjKys8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT54cGRmLWtvcmVhbjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT54cGRmPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+c2Nyb2xsa2VlcGVyPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmludGx0b29sPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+ZG9jYm9vay1kdGRzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+b3BlbmphZGU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ4bWwyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlieHNsdDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5saWJnbm9tZXVpPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5Pk9SQml0MjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWIyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGFuZ288L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ndGsyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+R0NvbmYyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z25vbWUtdmZzMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdub21lY2FudmFzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Ym9ub2JvLWFjdGl2YXRpb248L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJib25vYm88L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJib25vYm91aTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnhtbDI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnbm9tZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmFydF9sZ3BsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2xhZGUyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+ZXNvdW5kPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WGZ0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Zm9udGNvbmZpZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YXRrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGluYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBvcHQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Y2RkYTJ3YXY8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5saWJyYXcxMzk0PC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmJpbmQtdXRpbHM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5vcGVuc3NsPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+YXNwZWxsLWVuLWdiPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmFzcGVsbDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnJlZGhhdC1jb25maWctbGFuZ3VhZ2U8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+cHlndGsyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cHl0aG9uPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+dXNlcm1vZGU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+a3VkenU8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Y2hrY29uZmlnPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bW9kdXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wYW08L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5od2RhdGE8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5uZXd0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cG9wdDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPm5tYXA8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5tYW4tcGFnZXMtamE8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Y29tc2F0PC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnhpbmV0ZDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+YXNwZWxsLWZyPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmFzcGVsbDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnB4ZTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5jaGtjb25maWc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnY2M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJzdGRjKys8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5tb3ppbGxhLXBzbTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5maWxldXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5tb3ppbGxhPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bW96aWxsYS1uc3M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5tb3ppbGxhLW5zcHI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5jb21wYXQtbGlic3RkYysrPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+emlwPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bGlic3RkYysrLWRldmVsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnN0ZGMrKzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnBlcmw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+cGVybDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+ZGI0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2RibTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmwtRmlsdGVyPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+a3JlZ2V4cGVkaXRvci1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5kaWV0bGliYzwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT53M2MtbGlid3d3LWFwcHM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+dzNjLWxpYnd3dzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnRlbG5ldC1zZXJ2ZXI8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+eGluZXRkPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5weWd0azItZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+cHlndGsyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnN1ZG88L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+cGFtPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+YnVnLWJ1ZGR5PC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdkYjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmFydF9sZ3BsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YXRrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliYm9ub2JvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Ym9ub2JvLWFjdGl2YXRpb248L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJib25vYm91aTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+R0NvbmYyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3RrMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdsYWRlMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWIyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ25vbWU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnbm9tZWNhbnZhczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdub21ldWk8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbm9tZS12ZnMyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGluYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pk9SQml0MjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBhbmdvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlieG1sMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5rZGUtaTE4bi1IZWJyZXc8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bnRzeXN2PC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmNoa2NvbmZpZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bmV3dDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBvcHQ8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5waW5mbzwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm5jdXJzZXM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5qaXNrc3AxNi0xOTkwPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYteGZzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPm5ldGR1bXA8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+b3BlbnNzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm9wZW5zc2gtY2xpZW50czwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmZpbGV1dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnRleHR1dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdhd2s8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5uZXQtdG9vbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cmVkaGF0LWNvbmZpZy1zZXJ2aWNlczwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5jaGtjb25maWc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbm9tZS1weXRob24yPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cHlndGsyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cHlndGsyLWxpYmdsYWRlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z25vbWUtcHl0aG9uMi1jYW52YXM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5yaHBsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+dXNlcm1vZGU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT51c2VybW9kZS1ndGs8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5sbV9zZW5zb3JzPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmw8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT54ZmlnPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnRyYW5zZmlnPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+eHBkZjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PkltYWdlTWFnaWNrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YXNwZWxsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+aHRtbHZpZXc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmpwZWc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJwbmc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YYXczZDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5saWJqcGVnLWRldmVsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmpwZWc8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5mbGltLXhlbWFjczwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT54ZW1hY3M8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT54cGRmLWNoaW5lc2UtdHJhZGl0aW9uYWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+eHBkZjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnNpcC1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5zaXA8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5odG1sdmlldzwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5yZWRoYXQtbWVudXM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+eHNyaTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5hdGs8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmd0azI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBhbmdvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cG9wdDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnRhcjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5pbmZvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cGVybC1GaWxlLU1NYWdpYzwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+d3UtZnRwZDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5maWxldXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5vcGVuc3NsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+eGluZXRkPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGFtPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnBpbG90LWxpbmstZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+cGlsb3QtbGluazwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmtlZHVjYTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmtkZWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnY2M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJwbmc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5xdDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnN0ZGMrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5rZGUtaTE4bi1IdW5nYXJpYW48L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+aW1saWI8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+bGlidGlmZjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmpwZWc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3RrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnBuZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnVuZ2lmPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bG9ncm90YXRlPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBvcHQ8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5jV25uLWNvbW1vbjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5GcmVlV25uLWNvbW1vbjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnNoYWRvdy11dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Z25vbWUtbGliczwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5ndGsrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+T1JCaXQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5pbWxpYjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmVzb3VuZDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmh0bWx2aWV3PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+dXRlbXB0ZXI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5hdWRpb2ZpbGU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlianBlZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnBuZzEwPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmh0ZGlnPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdjYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnN0ZGMrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5yZGlzdDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmdsaWJjLWRldmVsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmluZm88L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYy1rZXJuaGVhZGVyczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmdjYzwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5jcHA8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iaW51dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjLWRldmVsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2NjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+aW5mbzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnNpcDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnB5dGhvbjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdjYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnF0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlic3RkYysrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bW9kX3NzbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5vcGVuc3NsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+ZGV2PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+dGV4dHV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+aHR0cGQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5tYWtlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+a2dob3N0dmlldzwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmtkZWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnY2M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJwbmc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5xdDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnN0ZGMrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5saWJyc3ZnPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ndGsrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlieG1sPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2RrLXBpeGJ1ZjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBvcHQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5mcmVldHlwZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnBuZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Zm9udHMtSVNPODg1OS0yLTc1ZHBpPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmNoa2ZvbnRwYXRoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1mb250LXV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmdub21lLWRlc2t0b3AtZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z25vbWUtZGVza3RvcDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWIyLWRldmVsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3RrMi1kZXZlbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PkdDb25mMi1kZXZlbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdub21lLXZmczItZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnbm9tZXVpLWRldmVsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ25vbWUtZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5vcGVub2ZmaWNlLWxpYnM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5kYjQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5mcmVldHlwZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdjYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnN0ZGMrKzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnJlcC1ndGs8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+bGlicmVwPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3RrMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5hdGs8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdsYWRlMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWIyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGFuZ288L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ4bWwyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmd1aWxlLWRldmVsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5Pmd1aWxlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnNuZGNvbmZpZzwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5zb3g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5rdWR6dTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmF1bWl4PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+a2VybmVsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5saWJ4c2x0LXB5dGhvbjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ4c2x0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlieG1sMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnB5dGhvbjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+dGNzaDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5maWxldXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ncmVwPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlidGVybWNhcDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPm51dC1jbGllbnQ8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Y2hrY29uZmlnPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+YXNwZWxsLWVuLWNhPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmFzcGVsbDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmxpYnJwbTQwNC1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5saWJycG00MDQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wb3B0PC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bmFzbS1yZG9mZjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmNhY2hpbmctbmFtZXNlcnZlcjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5iaW5kPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+dGV4dHV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3JlcDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT53bWFwbTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnBzcGVsbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnY2M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ0b29sLWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJzdGRjKys8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5rbGpldHRvb2w8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5rZGVsaWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2NjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlicG5nPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cXQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJzdGRjKys8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cHl4Zjg2Y29uZmlnPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWIyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cHl0aG9uPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bGliZjJjPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bWFuPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmZpbGV1dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmxlc3M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ncm9mZjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmZpbmR1dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm1rdGVtcDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnpsaWItZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPm1pbmlDaGlucHV0PC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Zm9udGNvbmZpZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdjYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmltbGliPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlic3RkYysrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WGZ0PC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+YmluZDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5zaGFkb3ctdXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5jaGtjb25maWc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT50ZXh0dXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5maWxldXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5zZWQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iaW5kLXV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+aW5pdHNjcmlwdHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+b3BlbnNzbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bG9nd2F0Y2g8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+cGVybDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnRleHR1dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnNoLXV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3JlcDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm1haWx4PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmxpYmdsYWRlMi1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnbGFkZTI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ4bWwyLWRldmVsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3RrMi1kZXZlbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnB5dGhvbjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnB2bTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5pbml0c2NyaXB0czwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT50Y3NoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5ycG00MDQtcHl0aG9uPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnJwbTQwNDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnB5dGhvbjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJ6aXAyLWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBvcHQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+dGFsazwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm5jdXJzZXM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5saWJhbzwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnF0LVh0PC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnF0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5mb250Y29uZmlnPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1NZXNhLWxpYkdMPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1NZXNhLWxpYkdMVTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhmdDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmxpYnVzZXI8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm9wZW5sZGFwPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGFtPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cG9wdDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmxpYm9sZTI8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bnNzX2RiPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bWFrZTwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnNnbWwtY29tbW9uPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnNoLXV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+ZmlsZXV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+dGV4dHV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3JlcDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5rYmQ8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+cGFtPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+dXNlcm1vZGU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5zZWQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ta3RlbXA8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5pbml0c2NyaXB0czwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmdjYy1nbmF0PC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdjYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmduYXQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5pbmZvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cGVybC1BcmNoaXZlLVRhcjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cGluZTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5rcmI1LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+b3BlbnNzbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+b3BlbmxkYXA8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5uY3Vyc2VzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGFtPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bXV0dDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5zbGFuZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBvc3RmaXg8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT53Z2V0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmtyYjUtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm9wZW5zc2w8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmN5cnVzLXNhc2w8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT50cmFuc2ZpZzwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT50Y3NoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlianBlZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnBuZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5hbmFjb25kYS1pbWFnZXM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+YW5hY29uZGEtcnVudGltZTwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPm5ldGF0YWxrLWRldmVsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnRtcHdhdGNoPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnBzbWlzYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+d3ZkaWFsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnBwcDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2NjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bG9ja2RldjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnN0ZGMrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnd2c3RyZWFtczwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPlNETF9uZXQtZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+U0RMX25ldDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmJvbm9iby1jb25mLWRldmVsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmJvbm9iby1jb25mPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+a2RlbXVsdGltZWRpYS1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5rZGVtdWx0aW1lZGlhLWFydHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ub2F0dW48L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5saWJnbGFkZTI8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+bGlieG1sMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YXRrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3RrMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWIyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGFuZ288L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+a2RlLWkxOG4tQWZyaWthYW5zPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmpwaWxvdDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5ndGsrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGlsb3QtbGluazwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+b3BlbnNzbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5waWxvdC1saW5rPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2NjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlicG5nPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cmVhZGxpbmU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJzdGRjKys8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ0ZXJtY2FwPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cnVieTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5ydWJ5LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnhjcHVzdGF0ZTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnBlcmwtVGV4dC1LYWthc2k8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+cGVybDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmtha2FzaTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+YXBlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5lbWFjczwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmF0LXNwaS1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5hdC1zcGk8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ndGsyLWRldmVsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliYm9ub2JvLWRldmVsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+T1JCaXQyLWRldmVsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2FpbC1kZXZlbDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmZsZXg8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5hbS11dGlsczwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5wb3J0bWFwPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3JlcDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdhd2s8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5maW5kdXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5pbmZvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Y2hrY29uZmlnPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdkYm08L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5oZXNpb2Q8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5vcGVubGRhcDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnNlbmRtYWlsLWRldmVsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmtkZS1pMThuLVN3ZWRpc2g8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cHl0aG9uPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5zaC11dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm9wZW5zc2w8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmRiNDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmV4cGF0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2RibTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdtcDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm5jdXJzZXM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5yZWFkbGluZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnRlcm1jYXA8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+c3BsaW50PC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+a2RlZ2FtZXM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5hcnRzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YXVkaW9maWxlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+a2RlbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdjYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnBuZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnF0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlic3RkYysrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnczbS1lbC14ZW1hY3M8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+dzNtLWVsLWNvbW1vbjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnhlbWFjczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmZsaW0teGVtYWNzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+dzNtPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+U3lzVmluaXQ8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+cGFtPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Z3JvZmYtZ3hkaXR2aWV3PC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bmV0LXNubXAtdXRpbHM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+bmV0LXNubXA8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGVybDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm9wZW5zc2w8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnBhbmdvPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWIyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Zm9udGNvbmZpZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmZyZWV0eXBlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WGZ0PC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+d2wtY29tbW9uPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmluZm88L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bGlic3RkYysrPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2NjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+a3JiNS1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5rcmI1LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5rbm1fbmV3PC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtZm9udC11dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5jb21wYXQtZ2NjLWphdmE8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Y29tcGF0LWdjYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmNvbXBhdC1saWJnY2o8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5jb21wYXQtbGliZ2NqLWRldmVsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bGlianBlZzwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmNsZWFuZmVlZDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+ZXhwYXQtZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+ZXhwYXQ8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT53b3JkdHJhbnMtcXQ8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+d29yZHRyYW5zPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnY2M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5xdDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnN0ZGMrKzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnF0Y3Vwcy1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5wc21pc2M8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5uY3Vyc2VzPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+a2RlLWkxOG4tQ3plY2g8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+eG1tcy1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT54bW1zPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmtwZjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmtkZWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnY2M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJwbmc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5xdDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnN0ZGMrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT53b3JkdHJhbnMta2RlPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PndvcmR0cmFuczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+a2RlbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdjYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnF0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlic3RkYysrPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Ym9ub2JvPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5Pmdub21lLWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5PUkJpdDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm9hZjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnhtbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmF1ZGlvZmlsZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmVzb3VuZDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmZyZWV0eXBlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3RrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmltbGliPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2RrLXBpeGJ1ZjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnbm9tZXByaW50MTU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wb3B0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPm9wZW5zc2gtYXNrcGFzcy1nbm9tZTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5vcGVuc3NoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YXRrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ndGsyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYjI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wYW5nbzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmtkZWFkZG9ucy1raWNrZXI8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+a2RlYmFzZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+a2RlbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdjYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnBuZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnF0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlic3RkYysrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmVkPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmluZm88L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5vcGVub2ZmaWNlPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODY8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+b3Blbm9mZmljZS1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+b3Blbm9mZmljZS1pMThuPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cmVkaGF0LW1lbnVzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Y2hrZm9udHBhdGg8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWZvbnQtdXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnY2M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5tb3ppbGxhPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bW96aWxsYS1tYWlsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlic3RkYysrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnh0b29sd2FpdDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmdwbS1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5ncG08L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5saWJnY2M8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT56ZWJyYTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5ncmVwPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Y2hrY29uZmlnPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+aW5mbzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm5jdXJzZXM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wYW08L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5yZWFkbGluZTwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmxpYm1uZzwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlianBlZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Yml0bWFwLWZvbnRzLWNqazwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5mb250Y29uZmlnPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bGliZ2NqPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnppcDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2NjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnB2bS1ndWk8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+cHZtPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+dGNzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnRjbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnRrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bmhwZjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmtkZXV0aWxzLWxhcHRvcDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5rZGViYXNlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5rZGVsaWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2NjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlicG5nPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cXQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJzdGRjKys8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+YnppcDItZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+YnppcDI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iemlwMi1saWJzPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+WEZyZWU4Ni1NZXNhLWxpYkdMPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmdwZXJmPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmluZm88L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnY2M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJzdGRjKys8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5yd2FsbC1zZXJ2ZXI8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Y2hrY29uZmlnPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cG9ydG1hcDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmxpYnRhYmU8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+ZGI0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5wb3N0Z3Jlc3FsLW9kYmM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5kaGNwPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmNoa2NvbmZpZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPm10eDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5vcGVuamFkZTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5zZ21sLWNvbW1vbjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmRvY2Jvb2stZHRkczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2NjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlic3RkYysrPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+a2RlcGltPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGVybDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmtkZWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnY2M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJwbmc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5xdDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnN0ZGMrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5waHAtZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnBlcmwtUGFyc2UtWWFwcDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Z25vbWUtYXVkaW8tZXh0cmE8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+a2NvbG9yZWRpdDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmtkZWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnY2M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJwbmc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5xdDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnN0ZGMrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5xdDItZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+cXQyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGVybDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlianBlZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYm1uZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnBuZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmNvbXBhdC1saWJzdGRjKys8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+WEZyZWU4Ni1JU084ODU5LTE1LTc1ZHBpLWZvbnRzPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmNoa2ZvbnRwYXRoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1mb250LXV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnByb2NtYWlsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmRldjg2PC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmdudW1lcmljPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5Pmdub21lLWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnbGFkZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmd1aWxlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z25vbWUtcHJpbnQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ndGsrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5hdWRpb2ZpbGU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ib25vYm88L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5lc291bmQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5mcmVldHlwZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdhbDE5PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+aW1saWI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nZGstcGl4YnVmPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdkay1waXhidWYtZ25vbWU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJvbGUyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ25vbWVwcmludDE1PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+T1JCaXQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5vYWY8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wb3B0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlieG1sPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnJkYXRlPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cmVkaGF0LXN3aXRjaG1haWwtZ25vbWU8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+cmVkaGF0LXN3aXRjaG1haWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnbGFkZTI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5weWd0azItbGliZ2xhZGU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5weWd0azI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5weXRob248L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5jaGtjb25maWc8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5wZXJsLVhNTC1FbmNvZGluZzwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGVybC1YTUwtUGFyc2VyPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cXQtT0RCQzwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5xdDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Zm9udGNvbmZpZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtTWVzYS1saWJHTDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtTWVzYS1saWJHTFU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT51bml4T0RCQzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhmdDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmdsaWJjLWNvbW1vbjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5YRnJlZTg2LXhkbTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGFtPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+eGluaXRyYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmtkaWN0PC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+a2RlbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdjYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmpwZWc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJwbmc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5xdDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnN0ZGMrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5yb290ZmlsZXM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnF0LWRldmVsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnF0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGVybDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Zm9udGNvbmZpZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtTWVzYS1saWJHTDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtTWVzYS1saWJHTFU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YZnQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+b3Blbm9mZmljZS1pMThuPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmJsYXMtbWFuPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmxpYmRiaS1kYmQtcGdzcWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+bGliZGJpPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wb3N0Z3Jlc3FsLWxpYnM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5yYXJwZDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5jaGtjb25maWc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5zbG9jYXRlPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnNoYWRvdy11dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPm10LXN0PC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+dGZ0cC1zZXJ2ZXI8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+eGluZXRkPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Y29tcGF0LWRiPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Y29tcGF0LWxpYnN0ZGMrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnRjbDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmdsaWJjLWRlYnVnPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmMtZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT50V25uPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PkZyZWVXbm4tY29tbW9uPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Y1dubi1jb21tb248L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5zaGFkb3ctdXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5jaGtjb25maWc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT50Y3Bfd3JhcHBlcnM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5wYW1fc21iPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bXRvb2xzPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmluZm88L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5weWd0azI8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z3RrMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnB5dGhvbjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnNoLXV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YXRrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBhbmdvPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+a2RlLWkxOG4tRnJlbmNoPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPm9wZW5sZGFwMTI8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nZGJtPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+b3BlbjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmFzcGVsbC1ubDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5hc3BlbGw8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5hc3BlbGwtbm88L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+YXNwZWxsPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+dmltLW1pbmltYWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+dmltLWNvbW1vbjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmFjbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlidGVybWNhcDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnJtdDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5TRExfbmV0PC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PlNETDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Z2xpYmMtcHJvZmlsZTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5lbWFjc3BlYWs8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+ZW1hY3M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5pbmZvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmtXbm48L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+RnJlZVdubi1jb21tb248L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5zaGFkb3ctdXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5jaGtjb25maWc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5hc3BlbGwtaXQ8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+YXNwZWxsPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Z3JvZmYtcGVybDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGVybDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnVydy1mb250czwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5jaGtmb250cGF0aDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmZvbnRjb25maWc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bGlia3NjYW4tZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+bGlia3NjYW48L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5hbGNoZW1pc3QtZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+YWxjaGVtaXN0PC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+a21haWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+a2RlbmV0d29yay1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5rZGVsaWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2NjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlianBlZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnBuZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnF0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlic3RkYysrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnhtbHRvPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmRvY2Jvb2stc3R5bGUteHNsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGFzc2l2ZXRleDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnhzbHQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5kb2Nib29rLWR0ZHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Z25vbWUtdmZzLWRldmVsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5Pmdub21lLXZmczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PkdDb25mLWRldmVsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+b2FmLWRldmVsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPlNETC1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5TREw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWRldmVsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmNvbXBzLWV4dHJhczwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5weXRob248L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5tZ2V0dHktc2VuZGZheDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5tZ2V0dHk8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5uZXRwYm0tcHJvZ3M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGVybDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cnNoPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cG9zdGdyZXNxbC1wZXJsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBvc3RncmVzcWwtbGliczwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmtkZWxpYnMtZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+cXQtZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5rZGVsaWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGNyZS1kZXZlbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2NjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlicG5nPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cXQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJzdGRjKys8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+a2NhbGM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5rZGVsaWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2NjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlicG5nPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cXQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJzdGRjKys8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+ZnRwY29weTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5wc3V0aWxzPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5hdXRoY29uZmlnPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGFtPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYjI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5uZXd0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cG9wdDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmxpYnVzYjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmhkcGFybTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPlhGcmVlODYtMTAwZHBpLWZvbnRzPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmNoa2ZvbnRwYXRoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1mb250LXV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmxpYmNhcC1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5saWJjYXA8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5wb3N0Z3Jlc3FsLXNlcnZlcjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5zaGFkb3ctdXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5jaGtjb25maWc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wb3N0Z3Jlc3FsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cG9zdGdyZXNxbC1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmtyYjUtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm9wZW5zc2w8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBhbTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnJlYWRsaW5lPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlidGVybWNhcDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5YbHQ8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5qZGtnY2o8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2NjLWphdmE8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnY2o8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+YXNwZWxsLXB0PC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmFzcGVsbDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnBlcmwtSFRNTC1QYXJzZXI8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+cGVybDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmwtSFRNTC1UYWdzZXQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmtydWxlcjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmtkZWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnY2M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJwbmc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5xdDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnN0ZGMrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5YYXczZDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5maWxldXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT50dGNwPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+a2VybmVsLXNvdXJjZTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5maWxldXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nYXdrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2NjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bG1fc2Vuc29ycy1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5sbV9zZW5zb3JzPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+WHRlc3Q8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4NjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmF0azwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3RrMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWIyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGFuZ288L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wb3B0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Z2Z0cDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5ndGsrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm5jdXJzZXM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5yZWFkbGluZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmRvY2Jvb2stZHRkczwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT54bWwtY29tbW9uPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+ZmlsZXV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+dGV4dHV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3JlcDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ4bWwyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+c2dtbC1jb21tb248L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cHJpdm94eTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5zaGFkb3ctdXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5jaGtjb25maWc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5pbml0c2NyaXB0czwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnNoLXV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+aHR0cGQtbWFudWFsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnpzaDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5maWxldXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ncmVwPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+aW5mbzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmNhcDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnRlcm1jYXA8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5waWRlbnRkPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmNoa2NvbmZpZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmZpbGV1dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnNlZDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmluaXRzY3JpcHRzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+dXRpbC1saW51eDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5vcGVuc3NsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5YZnQtZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+WGZ0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+ZnJlZXR5cGUtZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5mb250Y29uZmlnLWRldmVsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnNldHNlcmlhbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmxpYm9iamM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5ib25vYm8tZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Ym9ub2JvPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Y29udHJvbC1jZW50ZXI8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+eHNjcmVlbnNhdmVyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cmVkaGF0LW1lbnVzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliYXJ0X2xncGw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5hdGs8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5hdWRpb2ZpbGU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJib25vYm88L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ib25vYm8tYWN0aXZhdGlvbjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmJvbm9ib3VpPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+ZXNvdW5kPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Zm9udGNvbmZpZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmZyZWV0eXBlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+R0NvbmYyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3RrMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdsYWRlMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWIyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ25vbWU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnbm9tZWNhbnZhczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdub21lLWRlc2t0b3A8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnbm9tZXVpPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z25vbWUtdmZzMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpbmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5PUkJpdDI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wYW5nbzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBvcHQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YZnQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ4bWwyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnhpc2RubG9hZDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5pc2RuNGstdXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnhib2FyZDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbnVjaGVzczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmluZm88L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5kZXNrdG9wLWZpbGUtdXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGVybDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Z3RraHRtbDI8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z3RrMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnhtbDI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbm9tZS12ZnMyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2FpbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliYXJ0X2xncGw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5hdGs8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdub21lY2FudmFzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGFuZ288L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+eXBiaW5kPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmNoa2NvbmZpZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBvcnRtYXA8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT55cC10b29sczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmxpY3E8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+aHRtbHZpZXc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5kZXNrdG9wLWZpbGUtdXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGVybDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm9wZW5zc2w8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdjYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnN0ZGMrKzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmluZXdzPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZWxmPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cmVkaGF0LWNvbmZpZy1zZWN1cml0eWxldmVsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnB5Z3RrMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnB5dGhvbjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnVzZXJtb2RlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmNyb250YWJzPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5nbm9tZS12ZnMyLWV4dHJhczwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbm9tZS12ZnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmN1cHMtbGliczwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPm5ldC1zbm1wPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmNoa2NvbmZpZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YnppcDItbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm9wZW5zc2w8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdub21lLWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJlbGY8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wb3B0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cnBtPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmRic2trZC1jZGI8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5rZGUtaTE4bi1HcmVlazwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5saWJnbGFkZS1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnbGFkZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdub21lLWxpYnMtZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ4bWwtZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+c2gtdXRpbHM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5WRmxpYjItY29uZi1qYTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5WRmxpYjI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT50dGZvbnRzLWphPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+dml4aWUtY3JvbjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5zeXNrbG9nZDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5jaGtjb25maWc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5pbml0c2NyaXB0czwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cGVybC1saWJ4bWwtZW5ubzwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGVybC1EYXRlTWFuaXA8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsLWxpYnd3dy1wZXJsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGVybC1QYXJzZS1ZYXBwPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGVybC1YTUwtRW5jb2Rpbmc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsLVhNTC1QYXJzZXI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT53aGljaDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmxpYmNhcDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnJlZGhhdC1jb25maWctcGFja2FnZXM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+aW5pdHNjcmlwdHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT51c2VybW9kZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdsYWRlMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnB5Z3RrMi1saWJnbGFkZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnB5Z3RrMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnB5dGhvbjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnJocGw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5jb21wcy1leHRyYXM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ycG00MDQtcHl0aG9uPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlieG1sMi1weXRob248L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbm9tZS1weXRob24yPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnNhbWJhLWNsaWVudDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5zYW1iYS1jb21tb248L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliYWNsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+b3BlbnNzbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Y3Vwcy1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bmN1cnNlczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBhbTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBvcHQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5yZWFkbGluZTwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmtzY2Q8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+a2RlbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdjYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnBuZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnF0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlic3RkYysrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmh3YnJvd3NlcjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbm9tZS1weXRob24yPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+dXNlcm1vZGU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5rdWR6dTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBhcnRlZDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5jcmFja2xpYi1kaWN0czwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT53b3JkczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5jcmFja2xpYjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bWFuLXBhZ2VzLWtvPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5Pm1hbjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmd6aXA8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5hc3BlbGwtcHRfQlI8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+YXNwZWxsPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Z2FsLWRldmVsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdhbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdhbDE5PC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+a2RlLWkxOG4tTm9yd2VnaWFuLU55bm9yc2s8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Z25vbWUtcHl0aG9uMi1ndGtodG1sMjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5ndGtodG1sMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmF0azwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3RrMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWIyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGFuZ288L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ4bWwyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPndtY2xvY2s8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5rZGV0b3lzPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+a2RlbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdjYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmpwZWc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJwbmc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5xdDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnN0ZGMrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5tb3ppbGxhLW5zcHI8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+ZWplY3Q8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5rZG9jPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmw8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5zdHJhY2U8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5saWJib25vYm88L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ib25vYm8tYWN0aXZhdGlvbjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWIyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGluYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pk9SQml0MjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnhtbDI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cGFuZ28tZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+cGFuZ288L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWRldmVsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYjItZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5mcmVldHlwZS1kZXZlbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmZvbnRjb25maWctZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YZnQtZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5lbGlua3M8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm9wZW5zc2w8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdwbTwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmh3ZGF0YTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5saWJ1c2ItZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+bGlidXNiPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnJlYWRsaW5lNDE8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT50ZXRleC14ZHZpPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnRldGV4LWZvbnRzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+dzNjLWxpYnd3dzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlZGbGliMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhhdzNkPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmt0b3VjaDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmtkZWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnY2M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJwbmc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5xdDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnN0ZGMrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5nYWlsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmF0azwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmd0azI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnbm9tZWNhbnZhczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliYXJ0X2xncGw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBhbmdvPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+aXByb3V0ZTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5kb2Nib29rLXN0eWxlLXhzbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5kb2Nib29rLWR0ZHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT54bWwtY29tbW9uPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmxpYmtzY2FuPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnNhbmUtYmFja2VuZHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmtkZWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnY2M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJqcGVnPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlicG5nPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cXQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJzdGRjKys8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ1c2I8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+SW1hZ2VNYWdpY2stZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+SW1hZ2VNYWdpY2s8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+ZG9jYm9vay11dGlscy1wZGY8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+dGV0ZXgtZHZpcHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5qYWRldGV4PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+ZG9jYm9vay11dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5kYjQtamF2YTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5kYjQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmxpYmd0b3AtZXhhbXBsZXM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ3RvcDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2RibTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbm9tZS1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3VpbGU8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5saWJJREw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliMjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmxpbmM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliMjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPm9wZW5sZGFwLWNsaWVudHM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+b3BlbmxkYXA8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5vcGVuc3NsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nZGJtPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGFtPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Y3lydXMtc2FzbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnRlcm1jYXA8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5iYXNoLWRvYzwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT51bml4T0RCQy1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT51bml4T0RCQzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmtyYjUtd29ya3N0YXRpb248L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+a3JiNS1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3JlcDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmluZm88L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+c2gtdXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnRlcm1jYXA8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT51cDJkYXRlPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnB5dGhvbjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnJwbTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnJwbS1weXRob248L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbnVwZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnNoLXV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cmhubGliPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Y2hrY29uZmlnPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bWtpbml0cmQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5weXRob24tb3B0aWs8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5yaHBsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bmV3dDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmxpYmd0b3AyLWRldmVsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmd0b3AyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYjItZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5ldGh0b29sPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+a3NuYXBzaG90PC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+a2RlbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdjYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnBuZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnF0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlic3RkYysrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnZvcmJpcy10b29sczwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5saWJvZ2c8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ2b3JiaXM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJhbzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Y3VybDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPlhsdC1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5YbHQ8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5yZWRoYXQtY29uZmlnLXJvb3RwYXNzd29yZDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5weWd0azI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5weXRob248L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT51c2VybW9kZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnVzZXI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cG5tMnBwYTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5rZGVnYW1lcy1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5rZGVnYW1lczwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmNwaW88L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+aW5mbzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmtmcmFjdDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmtkZWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnY2M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJwbmc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5xdDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnN0ZGMrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5ubWFwLWZyb250ZW5kPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5Pm5tYXA8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ndGsrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+dGV0ZXgtZm9udHM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnRleHR1dGlsczwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5pbmZvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT51dGlsLWxpbnV4PC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnBhbTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmluZm88L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5uY3Vyc2VzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlidGVybWNhcDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5kYjQ8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5YRnJlZTg2LVh2ZmI8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4NjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGFtPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmV2b2x1dGlvbjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5zY3JvbGxrZWVwZXI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ib25vYm88L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5HQ29uZjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm9hZjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm1vemlsbGEtbnNzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bW96aWxsYS1uc3ByPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5zaC11dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbm9tZS1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YXVkaW9maWxlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Ym9ub2JvLWNvbmY8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5lc291bmQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5mcmVldHlwZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdhbDE5PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3RrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmltbGliPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2RrLXBpeGJ1ZjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdsYWRlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdkay1waXhidWYtZ25vbWU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnbm9tZXByaW50MTU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbm9tZS12ZnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbm9tZS1waWxvdDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmd0a2h0bWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5PUkJpdDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm9wZW5sZGFwPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGlsb3QtbGluazwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBvcHQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ4bWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bGVzc3RpZjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5nbGliYy11dGlsczwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2Q8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJwbmc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cXQ8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5mb250Y29uZmlnPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WGZ0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+ZmlsZXV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmN1cHMtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtTWVzYS1saWJHTDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtTWVzYS1saWJHTFU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJqcGVnPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlibW5nPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlicG5nPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmxpYnZvcmJpcy1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5saWJvZ2ctZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ2b3JiaXM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5rcmI1LWxpYnM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z3JlcDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+c2gtdXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Ymlzb248L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+aW5mbzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPm5ldC10b29sczwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmxpYnZvcmJpczwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5saWJvZ2c8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmxpYnVuaWNvZGUtZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+bGlidW5pY29kZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5hbWFuZGE8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+ZmlsZXV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3JlcDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmluaXRzY3JpcHRzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+dGFyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cmVhZGxpbmU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ0ZXJtY2FwPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+YXV0b2NvbnZlcnQ8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+cHl0aG9uPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5xdDItc3RhdGljPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnF0Mi1kZXZlbDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmtlcm5lbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5maWxldXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5tb2R1dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmluaXRzY3JpcHRzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bWtpbml0cmQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+YXNwMnBocC1ndGs8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+YXNwMnBocDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3RrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5sb2NrZGV2LWRldmVsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmxvY2tkZXY8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5vcGVubW90aWYtZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+b3Blbm1vdGlmPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5waHAtbWFudWFsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnBocDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmFkanRpbWV4PC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+dzNtLWVsLWNvbW1vbjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5yZWRoYXQtY29uZmlnLW5mczwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5weWd0azI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5weXRob248L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5uZnMtdXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT51c2VybW9kZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5lZmF4PC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5Pm1ha2U8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5NeVNRTC1weXRob248L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+cHl0aG9uPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bXg8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5teXNxbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnRtYWtlPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmw8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5tYWlsY2FwPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmxpYmdodHRwPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+a2RlcGFzc3dkPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+a2RlbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdjYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnBuZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnF0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlic3RkYysrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnJlZGhhdC1tZW51czwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5rZGUtaTE4bi1Qb3J0dWd1ZXNlPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnJlZGhhdC1yZWxlYXNlPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5hc3BlbGwtY2E8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+YXNwZWxsPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+T1JCaXQyPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmluZm88L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWIyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGluYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBvcHQ8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5pcHZzYWRtPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBvcHQ8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5WRmxpYjItVkZqZm08L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+VkZsaWIyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmxpYmdub21lPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWIyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliYm9ub2JvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z25vbWUtdmZzMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnhtbDI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5PUkJpdDI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ4c2x0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+R0NvbmYyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+dXRlbXB0ZXI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5hdWRpb2ZpbGU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ib25vYm8tYWN0aXZhdGlvbjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJ6aXAyLWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5lc291bmQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saW5jPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cG9wdDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5rcmJhZnM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5saWJ1bmljb2RlPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cmVkaGF0LWNvbmZpZy1uZXR3b3JrPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmluaXRzY3JpcHRzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+dXNlcm1vZGU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5hbGNoZW1pc3Q8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5rdWR6dTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdsYWRlMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnB5Z3RrMi1saWJnbGFkZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnB5Z3RrMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnB5dGhvbjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdub21lLXB5dGhvbjI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT53dmRpYWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5yaHBsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z25vbWUtcHl0aG9uMi1jYW52YXM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5zaC11dGlsczwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnR1eDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5jaGtjb25maWc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cG9wdDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnJlZGhhdC1jb25maWctcHJvYzwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5wcm9jcHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT51c2VybW9kZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3RrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ4bWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cXQyPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmpwZWc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJtbmc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJwbmc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5jb21wYXQtbGlic3RkYysrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmF1ZGlvZmlsZS1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5hdWRpb2ZpbGU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wa2djb25maWc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+a2FrYXNpLWRpY3Q8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+a2FrYXNpPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+c2NyZWVuPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmluZm88L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5uY3Vyc2VzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGFtPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+dXRlbXB0ZXI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5seW54PC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmluZGV4aHRtbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+b3BlbnNzbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bmN1cnNlczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsLUNHSTwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPk15T0RCQzwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT51bml4T0RCQzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bXlzcWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bnNjZDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5jaGtjb25maWc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5zaGFkb3ctdXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5zaC11dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmtmbG9wcHk8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+a2RlbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2NjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlicG5nPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cXQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJzdGRjKys8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+am9lPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5Pm5jdXJzZXM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnZ0ZTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5iaXRtYXAtZm9udHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmF0azwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmZvbnRjb25maWc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5mcmVldHlwZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmd0azI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBhbmdvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WGZ0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+WEZyZWU4Ni14YXV0aDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5ndGstZG9jPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmRvY2Jvb2stdXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5vcGVuamFkZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bGliZ2h0dHAtZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2h0dHA8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT50a2ludGVyPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnB5dGhvbjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+dGNsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+dGl4PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+dGs8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5PUkJpdC1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5pbmRlbnQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliLWRldmVsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+T1JCaXQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cGVybC1YTUwtR3JvdmU8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+cGVybDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmwtbGlieG1sLXBlcmw8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5DYW5uYS1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5DYW5uYS1saWJzPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Y2RyZWNvcmQ8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5sb2NrZGV2PC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnNoYWRvdy11dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmZpbGVzeXN0ZW08L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5rYWthc2ktZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+a2FrYXNpPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+YW1pPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3RrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdkay1waXhidWY8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Z25vbWUtcGlsb3Q8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+cGlsb3QtbGluazwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pk9SQml0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2xhZGU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ4bWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbm9tZS12ZnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5yZWRoYXQtbWVudXM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdub21lLWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5hdWRpb2ZpbGU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJjYXBwbGV0MDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmVzb3VuZDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PkdDb25mPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3RrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmltbGliPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm9hZjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBvcHQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bXRyLWd0azwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5tdHI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT51c2VybW9kZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3RrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5uY3Vyc2VzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlidGVybWNhcDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnN3aXRjaGRlc2sta2RlPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2NjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cXQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJzdGRjKys8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5saWJhdHRyPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bW9kdXRpbHM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Y2hrY29uZmlnPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+c2gtdXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5rYXBwYTIwPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtZm9udC11dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5wZXJsLURCSTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5nZGstcGl4YnVmLWdub21lPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5Pmdkay1waXhidWY8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdub21lLWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5hdWRpb2ZpbGU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5lc291bmQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ndGsrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+aW1saWI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bGVzc3RpZi1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWRldmVsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGVzc3RpZjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+a2VybmVsLXNtcDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5maWxldXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5tb2R1dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmluaXRzY3JpcHRzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bWtpbml0cmQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+a2RlLWkxOG4tR2VybWFuPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPm15c3FsLXNlcnZlcjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5jaGtjb25maWc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5zaGFkb3ctdXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5teXNxbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnNoLXV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2NjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlic3RkYysrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmF0LXNwaTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5ndGsyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliYm9ub2JvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+T1JCaXQyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2FpbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliYXJ0X2xncGw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5hdGs8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ib25vYm8tYWN0aXZhdGlvbjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWIyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ25vbWVjYW52YXM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saW5jPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGFuZ288L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ4bWwyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmRiNC1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5kYjQ8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5HbGlkZTMtZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+R2xpZGUzPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bHY8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ0ZXJtY2FwPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+YXJ0czwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5hdWRpb2ZpbGU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnY2M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnBuZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnF0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlic3RkYysrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnJlZGhhdC1zd2l0Y2gtcHJpbnRlcjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5uZXd0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Y2hrY29uZmlnPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cHl0aG9uPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+c2gtdXRpbHM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5waHAtZGJnLWNsaWVudDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5waHAtZGJnLWJhc2U8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5waHAtZGJnLXNlcnZlcjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2NjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bmN1cnNlczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBjcmU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5yZWFkbGluZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnN0ZGMrKzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnlwLXRvb2xzPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnlwYmluZDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bGliYWNsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliYXR0cjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPlB5UXQtZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+UHlRdDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPk9tbmktZm9vbWF0aWM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+T21uaTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmZvb21hdGljPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+ZmlsZXV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnBocC1pbWFwPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnBocDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+a3JiNS1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+b3BlbnNzbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cmhubGliPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnB5T3BlblNTTDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnB5dGhvbjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPm9wZW5zc2wtcGVybDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+b3BlbnNzbDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmdsaWIyLWRldmVsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnBrZ2NvbmZpZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWIyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnJhZHZkPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmNoa2NvbmZpZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnNoYWRvdy11dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmluaXRzY3JpcHRzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Y3JhY2tsaWI8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5waHAtb2RiYzwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5waHA8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3JlcDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnVuaXhPREJDPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+ZXNvdW5kPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmF1ZGlvZmlsZTwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnRhbGstc2VydmVyPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnhpbmV0ZDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+a2RlLWkxOG4tQ2hpbmVzZS1CaWc1PC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnJzaC1zZXJ2ZXI8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+cGFtPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5wZXJsLVVSSTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+ZG94eWdlbjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdjYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnN0ZGMrKzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPm5hc20tZG9jPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmNoa2ZvbnRwYXRoPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYteGZzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+U3lzVmluaXQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBvcHQ8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT51dGVtcHRlcjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5zaGFkb3ctdXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmZpbGV1dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5tZ2V0dHktdmlld2ZheDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmxpYm9nZy1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5saWJvZ2c8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5uZXRwYm0tcHJvZ3M8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+bmV0cGJtPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmpwZWc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJwbmc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ0aWZmPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPm1vdW50PC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5Pm1rdGVtcDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdhd2s8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5kaWZmdXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT50ZXh0dXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5maWxldXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmxpY3Eta2RlPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmxpY3E8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdjYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmtkZWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5xdDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnN0ZGMrKzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmN2czwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5pbmZvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnRjc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+a3JiNS1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cHN0YWNrPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bmV0cGJtPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+TWFnaWNQb2ludDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT53YXRhbmFiZS12ZjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlZGbGliMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYm1uZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnBuZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmZyZWV0eXBlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlidW5naWY8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5saWJndG9wPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmluZm88L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nZGJtPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmdkLXByb2dzPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdkPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGVybDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+ZnJlZXR5cGU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJqcGVnPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlicG5nPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnByb2NwczwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5maWxldXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5uY3Vyc2VzPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bWFuLXBhZ2VzLWRlPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmtmaWxlLXBuZzwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmtkZWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnY2M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJwbmc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5xdDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnN0ZGMrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5weWNoZWNrZXI8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+cHl0aG9uPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmhleGVkaXQ8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5uY3Vyc2VzPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bWFuLXBhZ2VzLWRhPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnRldGV4LWRvYzwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGVybDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmxpYnhtbDI8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+YXNwZWxsLWRlPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmFzcGVsbDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnNxdWlkPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmNoa2NvbmZpZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxvZ3JvdGF0ZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnNoYWRvdy11dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5vcGVubGRhcDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBhbTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmwtVVJJPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+a2RlLWkxOG4tVWtyYWluaWFuPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmFzcGVsbC1kYTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5hc3BlbGw8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5pbWxpYi1jZmdlZGl0b3I8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+aW1saWI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmd0ays8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+a2RlLWkxOG4tQnJhemlsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmNoa2NvbmZpZzwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnRleGluZm88L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+aW5mbzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5zd2l0Y2hkZXNrPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnRleHR1dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmRlc2t0b3AtZmlsZS11dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT50dGZvbnRzLXpoX1RXPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmNoa2ZvbnRwYXRoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Zm9udGNvbmZpZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5QeVhNTDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5weXRob248L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPm1wYWdlPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+d2hvaXM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5wZXJsLU5ldC1ETlM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+cGVybDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmwtRGlnZXN0LUhNQUM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5wYXg8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5YRnJlZTg2LUlTTzg4NTktOS0xMDBkcGktZm9udHM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Y2hrZm9udHBhdGg8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWZvbnQtdXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+aXNjc2k8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+a2VybmVsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Y2hrY29uZmlnPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+c2FuZS1iYWNrZW5kcy1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5zYW5lLWJhY2tlbmRzPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bGliZ2FpbC1nbm9tZTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5hdGs8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ndGsyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ25vbWV1aTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmF0LXNwaTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliYXJ0X2xncGw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJib25vYm88L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ib25vYm8tYWN0aXZhdGlvbjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmJvbm9ib3VpPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+R0NvbmYyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYjI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnbm9tZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdub21lY2FudmFzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z25vbWUtdmZzMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpbmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5PUkJpdDI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wYW5nbzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnhtbDI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Z2xhZGUyPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdhaWwtZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJhcnRfbGdwbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmF0azwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmJvbm9ibzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJvbm9iby1hY3RpdmF0aW9uPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliYm9ub2JvdWk8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PkdDb25mMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmd0azI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdub21lPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ25vbWVjYW52YXM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnbm9tZXByaW50PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ25vbWVwcmludHVpPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ25vbWV1aTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdub21lLXZmczI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saW5jPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+T1JCaXQyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGFuZ288L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wb3B0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlieG1sMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT51bml0czwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5pbmZvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bmN1cnNlczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnJlYWRsaW5lPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cHNnbWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+c2dtbC1jb21tb248L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5lbWFjczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5wZXJsLURpZ2VzdC1TSEExPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGVybDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnBhbjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5ndGsyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YXRrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBhbmdvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlieG1sMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5kZHNray14ZW1hY3M8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+eGVtYWNzPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bWFuLXBhZ2VzLWNzPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPm1vemlsbGEtbnNzLWRldmVsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnVuaXhPREJDPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2NjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bmN1cnNlczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnF0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cmVhZGxpbmU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJzdGRjKys8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5iemlwMjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5iemlwMi1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bmFtYXp1LWRldmVsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5Pm5hbWF6dTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5tb2RfYXV0aF9teXNxbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5odHRwZDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bXlzcWw8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5tMmNyeXB0bzwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5weXRob248L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm9wZW5zc2w8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5vcGVubGRhcDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5jeXJ1cy1zYXNsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Y3lydXMtc2FzbC1tZDU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ta3RlbXA8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm9wZW5zc2w8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5ycG0tcHl0aG9uPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnJwbTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnB5dGhvbjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+c2gtdXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iemlwMi1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZWxmPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cG9wdDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmdjYy1qYXZhPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdjYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdjajwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdjai1kZXZlbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmluZm88L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cGhwPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5odHRwZDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YnppcDItbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm9wZW5zc2w8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5jdXJsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+ZGI0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+ZXhwYXQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5mcmVldHlwZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdjYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdkYm08L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nZDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdtcDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmpwZWc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ0b29sLWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5uY3Vyc2VzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGFtPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlicG5nPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cHNwZWxsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlic3RkYysrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlieG1sMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5yZWRoYXQtY29uZmlnLXNvdW5kY2FyZDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5weWd0azI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5weXRob248L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT51c2VybW9kZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnNveDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnJocGw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+dGZ0cDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmxpYmFjbC1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5saWJhY2w8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5pbWFwLWRldmVsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmdkay1waXhidWYtZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2RrLXBpeGJ1ZjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdkay1waXhidWYtZ25vbWU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbm9tZS1saWJzLWRldmVsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmtkZWFydHdvcmstbG9jb2xvcjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5maWxlc3lzdGVtPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnNldHVwPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bmFtYXp1LWNnaTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5uYW1henU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5odHRwZDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+am95c3RpY2s8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5rYmRjb25maWc8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+a2JkPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5uZXd0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cG9wdDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPm51dC1jZ2k8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+aHR0cGQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdkPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlicG5nPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmdub21lLXVzZXItZG9jczwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5zY3JvbGxrZWVwZXI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+dmltLWNvbW1vbjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2F3azwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+eG1sLWNvbW1vbjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5zaC11dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmZpbGV1dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnRleHR1dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdyZXA8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5sZXNzPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm5jdXJzZXM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5nbHV0PC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtTWVzYS1saWJHTDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1NZXNhLWxpYkdMVTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmxpYmdub21lY2FudmFzLWRldmVsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdub21lY2FudmFzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3RrMi1kZXZlbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmFydF9sZ3BsLWRldmVsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2xhZGUyLWRldmVsPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+dnNmdHBkPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnhpbmV0ZDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxvZ3JvdGF0ZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmNhcDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGFtPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Z2RiPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmluZm88L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5uY3Vyc2VzPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+eGZlcnN0YXRzPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmdub21lLXB5dGhvbjItZ2NvbmY8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+R0NvbmYyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+c2gtdXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWIyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGluYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pk9SQml0MjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPm9yYml0LXB5dGhvbi1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5rb24yPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnNoLXV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+dGV4dHV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+dGVybWNhcDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnNhbWJhPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnBhbTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnNhbWJhLWNvbW1vbjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxvZ3JvdGF0ZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmluaXRzY3JpcHRzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Y2hrY29uZmlnPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bWt0ZW1wPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cHNtaXNjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+ZmlsZXV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+c2VkPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnRjc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliYWNsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+b3BlbnNzbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Y3Vwcy1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cG9wdDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmwtQ0dJPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+eGNkcm9hc3Q8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Y2RyZWNvcmQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ta2lzb2ZzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Y2RkYTJ3YXY8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT51c2VybW9kZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3RrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmltbGliPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmpwZWc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJwbmc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ0aWZmPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlidW5naWY8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bWluZ2V0dHk8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5sYXBhY2s8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ibGFzPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+eHNjcmVlbnNhdmVyPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmZvcnR1bmUtbW9kPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cmVkaGF0LWxvZ29zPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGFtPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5hdGs8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmd0azI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnbGFkZTI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtTWVzYS1saWJHTDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtTWVzYS1saWJHTFU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJqcGVnPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGFuZ288L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ4bWwyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnBlcmwtUERMPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdzbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmwtRmlsdGVyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGVybC1JbmxpbmU8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5saWJndG9wLWRldmVsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmd0b3A8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5udmktbTE3bi1jYW5uYTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Q2FubmEtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlidGVybWNhcDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmN1cHMtZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Y3Vwcy1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmtkZWJpbmRpbmdzLWRldmVsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmtkZWJpbmRpbmdzPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+d2F0YW5hYmUtdmY8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Y2hyb21pdW08L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2NjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1NZXNhLWxpYkdMPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1NZXNhLWxpYkdMVTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnF0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+U0RMPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlic3RkYysrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bGliYm9ub2JvLWRldmVsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmJvbm9ibzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJvbm9iby1hY3RpdmF0aW9uLWRldmVsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+T1JCaXQyLWRldmVsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlieG1sMi1kZXZlbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpbmMtZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5nbXA8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5ncmlwPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnZvcmJpcy10b29sczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdub21lLWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5hdWRpb2ZpbGU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5jZHBhcmFub2lhLWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmVzb3VuZDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdjYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmd0ays8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5pbWxpYjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdodHRwPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnN0ZGMrKzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmpjb2RlLnBsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnJ1YnktZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+cnVieS1saWJzPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bGliZXNtdHAtZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+bGliZXNtdHA8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5zd2lnPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2NjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlic3RkYysrPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+b3JiaXQtcHl0aG9uPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5Pk9SQml0MjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpbmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJJREw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnB5dGhvbjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnNoLXV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5saWJjYXBwbGV0MDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdub21lLWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5hdWRpb2ZpbGU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5lc291bmQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ndGsrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+aW1saWI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+T1JCaXQ8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5saWJnbGFkZTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbm9tZS1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlieG1sPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5hdWRpb2ZpbGU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5lc291bmQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ndGsrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+aW1saWI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnhjaW48L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+bGlidGFiZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+ZGI0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+a2RlLWkxOG4tUm9tYW5pYW48L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+a2RlMi1jb21wYXQ8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+cXQyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+b3BlbnNzbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmZpbGV1dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5weXRob248L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5hdWRpb2ZpbGU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iemlwMi1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Y3Vwcy1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+ZmFtPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlianBlZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBjcmU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJwbmc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5jb21wYXQtbGlic3RkYysrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlidGlmZjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnhtbDI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ4c2x0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnl0YWxrPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bmN1cnNlczwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmtkZS1pMThuLUljZWxhbmRpYzwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5taW5pY29tPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmxvY2tkZXY8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5uY3Vyc2VzPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+WEZyZWU4Ni1NZXNhLWxpYkdMVTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnY2M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJzdGRjKys8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5wZXJsLUJpdC1WZWN0b3I8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsLURhdGUtQ2FsYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmw8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5ydXNlcnMtc2VydmVyPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmNoa2NvbmZpZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBvcnRtYXA8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wcm9jcHM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5tYW4tcGFnZXM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cGVybC1EQl9GaWxlPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmRiNDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnBvc3RncmVzcWwtdGNsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnRjbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmUyZnNwcm9nczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm9wZW5zc2w8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5rcmI1LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wYW08L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wb3N0Z3Jlc3FsLWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5yZWFkbGluZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnRlcm1jYXA8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Z3J1YjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5pbmZvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bWt0ZW1wPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Z25vbWUtbGlicy1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbm9tZS1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3RrKy1kZXZlbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pk9SQml0LWRldmVsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+aW1saWItZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5lc291bmQtZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGVybDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmtkZjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5rZGViYXNlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5rZGVsaWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2NjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlicG5nPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cXQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJzdGRjKys8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cmVkaGF0LWNvbmZpZy11c2VyczwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ1c2VyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cHl0aG9uPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cHlndGsyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cHlndGsyLWxpYmdsYWRlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+dXNlcm1vZGU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+a2ljb25lZGl0PC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+a2RlbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdjYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnBuZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnF0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlic3RkYysrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnN3aXRjaGRlc2stZ25vbWU8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ndGsrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnBzcGVsbC1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5wc3BlbGw8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5wZXJsLWxpYnhtbC1wZXJsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsLVhNTC1QYXJzZXI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5pbnRsdG9vbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5wYXRjaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cnBtPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5Pmdhd2s8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5maWxldXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT50ZXh0dXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ta3RlbXA8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5zaGFkb3ctdXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wb3B0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZWxmPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJ6aXAyLWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmF1dG9tYWtlPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5pbmZvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnNoYWRvdy11dGlsczwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmxpYnd2c3RyZWFtcy1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ3dnN0cmVhbXM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5wZXJsLVRpbWVEYXRlPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmw8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5rZGVhZGRvbnMta29ucXVlcm9yPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmtkZWJhc2U8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5hcnRzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+a2RlbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmF1ZGlvZmlsZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2NjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlianBlZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnBuZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnF0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlic3RkYysrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmRkZDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5pbmZvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+b3Blbm1vdGlmPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnNoLXV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJlbGY8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnY2M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5uY3Vyc2VzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlic3RkYysrPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+eDMyNzAtdGV4dDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT54MzI3MDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bmN1cnNlczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnJlYWRsaW5lPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlidGVybWNhcDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmd0a2h0bWwtZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z3RraHRtbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdub21lLWxpYnMtZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbm9tZS1wcmludC1kZXZlbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnVuaWNvZGUtZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nZGstcGl4YnVmLWRldmVsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2xhZGUtZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ4bWwtZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ib25vYm8tZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nYWwtZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5kdmdyYWI8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnY2M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJyYXcxMzk0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlic3RkYysrPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Q2FubmEtbGliczwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5jdXBzLWRyaXZlcnMtcG5tMnBwYTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5wbm0ycHBhPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2hvc3RzY3JpcHQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5pbml0c2NyaXB0czwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5hbmFjcm9uPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT52aXhpZS1jcm9uPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Y2hrY29uZmlnPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5zeXNsaW51eDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmdub21lLWdhbWVzPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnNjcm9sbGtlZXBlcjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJhcnRfbGdwbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmF0azwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmF1ZGlvZmlsZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmJvbm9ibzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJvbm9iby1hY3RpdmF0aW9uPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliYm9ub2JvdWk8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmVzb3VuZDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PkdDb25mMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmd0azI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdub21lPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ25vbWVjYW52YXM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnbm9tZXVpPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z25vbWUtdmZzMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmd1aWxlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGluYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm5jdXJzZXM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5PUkJpdDI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wYW5nbzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnhtbDI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+a2Rlc2RrLWtiYWJlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5weXRob248L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmtkZWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnY2M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJwbmc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5xdDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnN0ZGMrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5rZGUtaTE4bi1EYW5pc2g8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bWFpbG1hbjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5zaGFkb3ctdXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wb3N0Zml4PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+dml4aWUtY3JvbjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmh0dHBkPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cHl0aG9uPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bWt0ZW1wPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnNoLXV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5NQUtFREVWPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPm5taDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5maWxldXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ0ZXJtY2FwPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+dmltLWVuaGFuY2VkPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnZpbS1jb21tb248L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliYWNsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ncG08L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5uY3Vyc2VzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGVybDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmtkZS1pMThuLVR1cmtpc2g8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bGlidXNlci1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ1c2VyPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bGliZXNtdHA8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5vcGVuc3NsPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+R3VwcGk8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbm9tZS1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YXVkaW9maWxlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Ym9ub2JvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+ZXNvdW5kPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+ZnJlZXR5cGU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnYWwxOTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmd0ays8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5pbWxpYjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdkay1waXhidWY8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnbGFkZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nZGstcGl4YnVmLWdub21lPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ25vbWVwcmludDE1PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+T1JCaXQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5vYWY8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ4bWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Z2x1dC1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbHV0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1NZXNhLWxpYkdMPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1kZXZlbDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmdsYWRlPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5Pmdub21lLWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5hdWRpb2ZpbGU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmVzb3VuZDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmd0ays8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5pbWxpYjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5hY2w8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+bGliYWNsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliYXR0cjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Z2ltcC1wcmludC1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5naW1wLXByaW50PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmlwdHJhZjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm5jdXJzZXM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5raGV4ZWRpdDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5rZGVsaWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnY2M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJwbmc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5xdDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnN0ZGMrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5hYml3b3JkPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnBuZzEwPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Y2hrZm9udHBhdGg8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnY2M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ndGsrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnRvb2wtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnBuZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBzcGVsbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnN0ZGMrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnhtbDI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bGlidG9vbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5pbmZvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YXV0b2NvbmY8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5hdXRvbWFrZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm00PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGVybDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnRvb2wtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm1rdGVtcDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5mZXN0aXZhbC1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5mZXN0aXZhbDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmxpYmdub21lcHJpbnQxNTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdub21lLWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5hdWRpb2ZpbGU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5lc291bmQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5mcmVldHlwZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmd0ays8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5pbWxpYjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdkay1waXhidWY8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlieG1sPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmxpYmF2YzEzOTQ8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlicmF3MTM5NDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmdhaWwtZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2FpbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmd0azItZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnbm9tZWNhbnZhcy1kZXZlbDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmxpYnRpZmY8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmpwZWc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmNvbXBhdC1nY2Mtb2JqYzwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5jb21wYXQtZ2NjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlib2JqYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cmVkaGF0LWFydHdvcms8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+cmVkaGF0LWxvZ29zPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cXQ8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT54ZGVsdGEtZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+eGRlbHRhPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+YXVtaXg8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+aW5pdHNjcmlwdHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdwbTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm5jdXJzZXM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5nLXdyYXA8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z3VpbGU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmxpYnVuZ2lmPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bW9kX3B5dGhvbjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5odHRwZDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+a25vZGU8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+a2RlbmV0d29yay1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5rZGVsaWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2NjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlicG5nPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cXQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJzdGRjKys8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+a29va2E8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+bGlia3NjYW48L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5zYW5lLWJhY2tlbmRzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5rZGVsaWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2NjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlianBlZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnBuZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnF0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlic3RkYysrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlidXNiPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnczbTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5pbmRleGh0bWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+b3BlbnNzbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PkltYWdlTWFnaWNrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3BtPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+aW1saWI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJqcGVnPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bmN1cnNlczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnBuZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnRpZmY8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ1bmdpZjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5odHRwZDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5tYWlsY2FwPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2F3azwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmZpbGU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5maW5kdXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5jaGtjb25maWc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ta3RlbXA8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5maWxldXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5zaC11dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnRleHR1dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnNoYWRvdy11dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5vcGVuc3NsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5kYjQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5leHBhdDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdkYm08L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+WEZyZWU4Ni1JU084ODU5LTE1LTEwMGRwaS1mb250czwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5jaGtmb250cGF0aDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtZm9udC11dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5yY3M8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5uZXRhdGFsazwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5jaGtjb25maWc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5pbml0c2NyaXB0czwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBhbTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnRjcF93cmFwcGVyczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm9wZW5zc2w8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5jcmFja2xpYjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5lbWFjczwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5pbmZvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+ZGV2PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmpwZWc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5uY3Vyc2VzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlicG5nPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlidGlmZjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnVuZ2lmPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WGF3M2Q8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cGVybC1saWJ3d3ctcGVybDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGVybC1VUkk8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsLUhUTUwtUGFyc2VyPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Z3JvZmY8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+bWt0ZW1wPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+aW5mbzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdjYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnN0ZGMrKzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPndpbmUtZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+d2luZTwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmdsaWI8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5tb3ppbGxhLWpzLWRlYnVnZ2VyPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmZpbGV1dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm1vemlsbGE8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+aG90cGx1Zy1ndGs8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z25vbWUtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmF1ZGlvZmlsZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+ZXNvdW5kPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3RrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmltbGliPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPm9wZW5zc2gtc2VydmVyPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5Pm9wZW5zc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5jaGtjb25maWc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5zaGFkb3ctdXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wYW08L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+a3JiNS1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+b3BlbnNzbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmtkZS1pMThuLVNsb3ZhazwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5yZWRoYXQtc3dpdGNoLXByaW50ZXItZ25vbWU8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+cmVkaGF0LXN3aXRjaC1wcmludGVyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2xhZGUyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cHlndGsyLWxpYmdsYWRlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cHlndGsyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cHl0aG9uPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Y2hrY29uZmlnPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+ZG1hbGxvYzwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5pbmZvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+dW5hcmo8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5nYWltPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5Pmd0ays8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdub21lLWRlc2t0b3A8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5hc3BlbGw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5odG1sdmlldzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5hdWRpb2ZpbGU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5lc291bmQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nZGstcGl4YnVmPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmxpYm1ycHJvamVjdDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5ndGsyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5nbm9tZS1weXRob24yLWJvbm9ibzwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5vcmJpdC1weXRob248L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ib25vYm8tYWN0aXZhdGlvbjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmJvbm9ibzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmJvbm9ib3VpPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliYXJ0X2xncGw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5hdGs8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PkdDb25mMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmd0azI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdub21lPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ25vbWVjYW52YXM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbm9tZS12ZnMyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGluYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pk9SQml0MjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBhbmdvPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlieG1sMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5icmlkZ2UtdXRpbHM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5WRmxpYjItZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+VkZsaWIyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPjRTdWl0ZTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5weXRob248L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5QeVhNTDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnNoLXV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5jZHJkYW88L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnY2M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJzdGRjKys8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5mbGltPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmVtYWNzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YXBlbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmluZm88L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5pbml0c2NyaXB0czwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5taW5nZXR0eTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdhd2s8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5zZWQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ta3RlbXA8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5lMmZzcHJvZ3M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wcm9jcHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5zeXNrbG9nZDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnNldHVwPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cHNtaXNjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+d2hpY2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ncmVwPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bW9kdXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT51dGlsLWxpbnV4PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bW91bnQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+U3lzVmluaXQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5pcHJvdXRlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+aXB1dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm5ldC10b29sczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJkZmx1c2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5yZWRoYXQtcmVsZWFzZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmNoa2NvbmZpZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnNoYWRvdy11dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmZpbGV1dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnNoLXV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5saWJ4bWwyLXB5dGhvbjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ4bWwyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cHl0aG9uPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT54cGRmLWNoaW5lc2Utc2ltcGxpZmllZDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT54cGRmPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+WEZyZWU4Ni14ZnM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+ZmlsZXV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+c2VkPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+c2hhZG93LXV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Y2hrY29uZmlnPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1mb250LXV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmdwaG90bzI8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+aG90cGx1ZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3JlcDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmZpbGV1dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxvY2tkZXY8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmpwZWc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5uY3Vyc2VzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cmVhZGxpbmU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ1c2I8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5wZXJsLUNHSTwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+bHZtPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPm5ld3QtZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+c2xhbmctZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5uZXd0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5wcm9jaW5mbzwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ0ZXJtY2FwPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cGVybC1CU0QtUmVzb3VyY2U8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+a29mZmljZS1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5rcmJhZnMtZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+a3JiYWZzPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+a29uY2Q8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Y2RyZWNvcmQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ta2lzb2ZzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YXJ0czwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmF1ZGlvZmlsZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+a2RlbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdjYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnBuZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnF0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlic3RkYysrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmhvdHBsdWc8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+dXNidXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5jaGtjb25maWc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5jb21wYXQtbGlic3RkYysrPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdjYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmlubjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5jaGtjb25maWc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ncmVwPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+dGV4dHV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+c2VkPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+ZmlsZXV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+c2gtdXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5jbGVhbmZlZWQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+aW5ld3M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5kYjQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJlbGY8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5hdDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5maWxldXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5jaGtjb25maWc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5maWxlPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cndhbGw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5zYW1iYS1jb21tb248L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmFjbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm9wZW5zc2w8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmN1cHMtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBhbTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBvcHQ8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5tb3ppbGxhLWNoYXQ8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+ZmlsZXV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bW96aWxsYTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5hbmFjb25kYS1oZWxwPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPm9hZjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBlcmw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+T1JCaXQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wb3B0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlieG1sPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmtkZXZlbG9wPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmtkZWxpYnMtZGV2ZWw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5tYWtlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGVybDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmF1dG9jb25mPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YXV0b21ha2U8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5mbGV4PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cXQtZGVzaWduZXI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5rZGVsaWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2NjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlianBlZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnBuZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnF0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlic3RkYysrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnV1Y3A8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+ZmlsZXV0aWxzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+aW5mbzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxvY2tkZXY8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cGVybDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+ZnJlZXR5cGU8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cGVybC1zdWlkcGVybDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5nZXR0ZXh0PC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmluZm88L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cHl0aG9uPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnY2M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnY2o8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Y2RwYXJhbm9pYS1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5jZHBhcmFub2lhLWxpYnM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5ndG9hc3RlcjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5jZHJlY29yZDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmNkcmRhbzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm1raXNvZnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5jZGRhMndhdjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnNveDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnVzZXJtb2RlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ndGsrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pk9SQml0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+ZXNvdW5kLWRldmVsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmVzb3VuZDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmF1ZGlvZmlsZS1kZXZlbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5naW1wLWRhdGEtZXh0cmFzPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPlhGcmVlODYtZm9udC11dGlsczwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmZyZWV0eXBlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2NjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlic3RkYysrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnJlZGhhdC1jb25maWcta2V5Ym9hcmQ8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+cHlndGsyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cHl0aG9uPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+dXNlcm1vZGU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5yaHBsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cHl4Zjg2Y29uZmlnPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnN0YXQ8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5nbnVtZXJpYy1kZXZlbDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbnVtZXJpYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnN0YXI8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+bGliYWNsPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5yd2hvPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmNoa2NvbmZpZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPm52aS1tMTduLW5vY2FubmE8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlidGVybWNhcDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnRlbG5ldDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pm5jdXJzZXM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5rZGViaW5kaW5ncy1rZGVqYXZhPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmtkZWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5rZGViaW5kaW5ncy1xdGphdmE8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnY2o8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdjYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmpwZWc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wY3JlPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlicG5nPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cXQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJzdGRjKys8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+a3BwcDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT51c2VybW9kZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmtkZWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnY2M8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJwbmc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5xdDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnN0ZGMrKzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5tYW4tcGFnZXMtcGw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+cmVhZGxpbmU8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+aW5mbzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmN1cmwtZGV2ZWw8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Y3VybDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5zbGFuZzwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPmVvZzwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliYXJ0X2xncGw8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5hdGs8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJib25vYm88L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ib25vYm8tYWN0aXZhdGlvbjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmJvbm9ib3VpPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5HQ29uZjI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ndGsyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYjI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnbm9tZTwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdub21lY2FudmFzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ25vbWVwcmludDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdub21ldWk8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbm9tZS12ZnMyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlianBlZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpbmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5PUkJpdDI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wYW5nbzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnBuZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBvcHQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJyc3ZnMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnhtbDI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+a3VpY2tzaG93PC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+a2RlbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdjYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmltbGliPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlianBlZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnBuZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnF0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlic3RkYysrPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlidGlmZjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYnVuZ2lmPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+emxpYjwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnllbHA8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+c2Nyb2xsa2VlcGVyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z3RrMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5Pmdub21lLXZmczI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5ndGtodG1sMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpYmdub21ldWk8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJib25vYm88L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJhcnRfbGdwbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmF0azwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJvbm9iby1hY3RpdmF0aW9uPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliYm9ub2JvdWk8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PkdDb25mMjwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWIyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ25vbWU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJnbm9tZWNhbnZhczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtbGliczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmxpbmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5PUkJpdDI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5wYW5nbzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBvcHQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJ4bWwyPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlieHNsdDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnpsaWI8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5PbW5pPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Y3Vwcy1saWJzPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+dGV0ZXgtYWZtPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnRldGV4PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+YmFzaDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+c2xybi1wdWxsPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnNscm48L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+b3BlbnNzbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+c2xhbmc8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5rZGViaW5kaW5ncy1rZGVjPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PnF0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+a2RlYmluZGluZ3MtcXRjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5rZGVsaWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2NjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+WEZyZWU4Ni1saWJzPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlianBlZzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnBjcmU8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJwbmc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5saWJzdGRjKys8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT56bGliPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+dXNidXRpbHM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+aHdkYXRhPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5lMmZzcHJvZ3M8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5hdWRpb2ZpbGU8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2xpYmM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+WEZyZWU4Ni1JU084ODU5LTItNzVkcGktZm9udHM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Y2hrZm9udHBhdGg8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWZvbnQtdXRpbHM8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+dHRmb250cy16aF9DTjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5jaGtmb250cGF0aDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PlhGcmVlODYtZm9udC11dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmZvbnRjb25maWc8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iYXNoPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Y2RsYWJlbGdlbjwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5wZXJsPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+Z2hvc3RzY3JpcHQtZm9udHM8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+Z2hvc3RzY3JpcHQ8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5mb250Y29uZmlnPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+RnJlZVdubi1saWJzPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPnF0Mi1YdDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgICA8ZGVwZW5kZW5jeT5xdDI8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmNvbXBhdC1saWJzdGRjKys8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5YRnJlZTg2LWxpYnM8L2RlcGVuZGVuY3k+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorICA8cGFja2FnZT4KKyAgICA8bmFtZT5jcHA8L25hbWU+CisgICAgPGRlcGVuZGVuY3lsaXN0PgorICAgICAgPGRlcGVuZGVuY3k+aW5mbzwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5nbGliYzwvZGVwZW5kZW5jeT4KKyAgICA8L2RlcGVuZGVuY3lsaXN0PgorICA8L3BhY2thZ2U+CisgIDxwYWNrYWdlPgorICAgIDxuYW1lPm9wcm9maWxlPC9uYW1lPgorICAgIDxkZXBlbmRlbmN5bGlzdD4KKyAgICAgIDxkZXBlbmRlbmN5Pmtlcm5lbDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmJhc2g8L2RlcGVuZGVuY3k+CisgICAgICA8ZGVwZW5kZW5jeT5iaW51dGlsczwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PmdsaWJjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGliZ2NjPC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+cG9wdDwvZGVwZW5kZW5jeT4KKyAgICAgIDxkZXBlbmRlbmN5PnF0PC9kZXBlbmRlbmN5PgorICAgICAgPGRlcGVuZGVuY3k+bGlic3RkYysrPC9kZXBlbmRlbmN5PgorICAgIDwvZGVwZW5kZW5jeWxpc3Q+CisgIDwvcGFja2FnZT4KKyAgPHBhY2thZ2U+CisgICAgPG5hbWU+c2FzaDwvbmFtZT4KKyAgICA8ZGVwZW5kZW5jeWxpc3Q+CisgICAgPC9kZXBlbmRlbmN5bGlzdD4KKyAgPC9wYWNrYWdlPgorPC9jb21wcz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL2RlbW8ucm5nIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvZGVtby5ybmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWE3ZjE3YwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL2RlbW8ucm5nCkBAIC0wLDAgKzEsMTEgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9Imlzby04ODU5LTEiPz4KKzxncmFtbWFyIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIKKyBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisKKzxpbmNsdWRlIGhyZWY9ImRlbW8yLnJuZyI+Cis8ZGVmaW5lIG5hbWU9IlRFSS5wcm9zZSI+PHJlZiBuYW1lPSJJTkNMVURFIi8+PC9kZWZpbmU+Cis8L2luY2x1ZGU+Cis8L2dyYW1tYXI+CisKKworCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy9kZW1vLnhtbCBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL2RlbW8ueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZiMGNhYzEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy9kZW1vLnhtbApAQCAtMCwwICsxIEBACis8VEVJLjI+aGVsbG88L1RFSS4yPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL2RlbW8yLnJuZyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL2RlbW8yLnJuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNTI4ZjczCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvZGVtbzIucm5nCkBAIC0wLDAgKzEsMjMgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8Z3JhbW1hciB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIHhtbG5zOnQ9Imh0dHA6Ly93d3cudGhhaW9wZW5zb3VyY2UuY29tL25zL2Fubm90YXRpb25zIiB4bWxuczphPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvY29tcGF0aWJpbGl0eS9hbm5vdGF0aW9ucy8xLjAiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKworICAgPHN0YXJ0PgorICAgICAgICAgPHJlZiBuYW1lPSJURUkuMiIvPgorICAgPC9zdGFydD4KKyAgIDxkZWZpbmUgbmFtZT0iSUdOT1JFIj4KKyAgICAgIDxub3RBbGxvd2VkLz4KKyAgIDwvZGVmaW5lPgorICAgPGRlZmluZSBuYW1lPSJJTkNMVURFIj4KKyAgICAgIDxlbXB0eS8+CisgICA8L2RlZmluZT4KKworCisgIDxpbmNsdWRlIGhyZWY9ImRlbW8zLnJuZyIvPgorCisgICA8ZGVmaW5lIG5hbWU9IlRFSS4yIj4KKyAgICAgIDxlbGVtZW50IG5hbWU9IlRFSS4yIj4KKyAgICAgICAgIDx0ZXh0Lz4KKyAgICAgIDwvZWxlbWVudD4KKyAgIDwvZGVmaW5lPgorCis8L2dyYW1tYXI+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvZGVtbzMucm5nIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvZGVtbzMucm5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjczZTFlYjYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy9kZW1vMy5ybmcKQEAgLTAsMCArMSw4IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPGdyYW1tYXIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiB4bWxuczp0PSJodHRwOi8vd3d3LnRoYWlvcGVuc291cmNlLmNvbS9ucy9hbm5vdGF0aW9ucyIgeG1sbnM6YT0iaHR0cDovL3JlbGF4bmcub3JnL25zL2NvbXBhdGliaWxpdHkvYW5ub3RhdGlvbnMvMS4wIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisKKyAgIDxkZWZpbmUgbmFtZT0iVEVJLnByb3NlIiBjb21iaW5lPSJpbnRlcmxlYXZlIj4KKyAgICAgIDxyZWYgbmFtZT0iSUdOT1JFIi8+CisgICA8L2RlZmluZT4KKworPC9ncmFtbWFyPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL2RvY2Jvb2sucm5nIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvZG9jYm9vay5ybmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODVhNmFlZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL2RvY2Jvb2sucm5nCkBAIC0wLDAgKzEsOTE0MSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCis8IS0tICRJZDogZG9jYm9vay5ybmcsdiAxLjUgMjAwMS8xMC8yMyAwNTo1Njo0NyBqamMgRXhwICQgLS0+DQorPGdyYW1tYXIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIg0KKyAgICAgICAgIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4NCisgICA8c3RhcnQ+DQorICAgICAgPGNob2ljZT4NCisgICAgICAgICA8cmVmIG5hbWU9InNldCIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iYm9vayIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iY2hhcHRlciIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iYXBwZW5kaXgiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImFydGljbGUiLz4NCisgICAgICAgICA8cmVmIG5hbWU9InBhcnQiLz4NCisgICAgICAgICA8cmVmIG5hbWU9InJlZmVyZW5jZSIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0icmVmZW50cnkiLz4NCisgICAgICAgICA8cmVmIG5hbWU9InNlY3Rpb24iLz4NCisgICAgICAgICA8cmVmIG5hbWU9InNlY3QxIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJzZWN0MiIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ic2VjdDMiLz4NCisgICAgICAgICA8cmVmIG5hbWU9InNlY3Q0Ii8+DQorICAgICAgICAgPHJlZiBuYW1lPSJzZWN0NSIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0icGFyYSIvPg0KKyAgICAgIDwvY2hvaWNlPg0KKyAgIDwvc3RhcnQ+DQorICAgPGRlZmluZSBuYW1lPSJuZHh0ZXJtLmNsYXNzIj4NCisgICAgICA8cmVmIG5hbWU9ImluZGV4dGVybSIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ibGlzdC5jbGFzcyI+DQorICAgICAgPGNob2ljZT4NCisgICAgICAgICA8cmVmIG5hbWU9ImNhbGxvdXRsaXN0Ii8+DQorICAgICAgICAgPHJlZiBuYW1lPSJnbG9zc2xpc3QiLz4NCisgICAgICAgICA8cmVmIG5hbWU9Iml0ZW1pemVkbGlzdCIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ib3JkZXJlZGxpc3QiLz4NCisgICAgICAgICA8cmVmIG5hbWU9InNlZ21lbnRlZGxpc3QiLz4NCisgICAgICAgICA8cmVmIG5hbWU9InNpbXBsZWxpc3QiLz4NCisgICAgICAgICA8cmVmIG5hbWU9InZhcmlhYmxlbGlzdCIvPg0KKyAgICAgIDwvY2hvaWNlPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iYWRtb24uY2xhc3MiPg0KKyAgICAgIDxjaG9pY2U+DQorICAgICAgICAgPHJlZiBuYW1lPSJjYXV0aW9uIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJpbXBvcnRhbnQiLz4NCisgICAgICAgICA8cmVmIG5hbWU9Im5vdGUiLz4NCisgICAgICAgICA8cmVmIG5hbWU9InRpcCIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0id2FybmluZyIvPg0KKyAgICAgIDwvY2hvaWNlPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ibGluZXNwZWNpZmljLmNsYXNzIj4NCisgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ibGl0ZXJhbGxheW91dCIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0icHJvZ3JhbWxpc3RpbmciLz4NCisgICAgICAgICA8cmVmIG5hbWU9InByb2dyYW1saXN0aW5nY28iLz4NCisgICAgICAgICA8cmVmIG5hbWU9InNjcmVlbiIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ic2NyZWVuY28iLz4NCisgICAgICAgICA8cmVmIG5hbWU9InNjcmVlbnNob3QiLz4NCisgICAgICA8L2Nob2ljZT4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Im1ldGhvZC5zeW5vcC5jbGFzcyI+DQorICAgICAgPGNob2ljZT4NCisgICAgICAgICA8cmVmIG5hbWU9ImNvbnN0cnVjdG9yc3lub3BzaXMiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImRlc3RydWN0b3JzeW5vcHNpcyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ibWV0aG9kc3lub3BzaXMiLz4NCisgICAgICA8L2Nob2ljZT4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InN5bm9wLmNsYXNzIj4NCisgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ic3lub3BzaXMiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImNtZHN5bm9wc2lzIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJmdW5jc3lub3BzaXMiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImNsYXNzc3lub3BzaXMiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImZpZWxkc3lub3BzaXMiLz4NCisgICAgICA8L2Nob2ljZT4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InBhcmEuY2xhc3MiPg0KKyAgICAgIDxjaG9pY2U+DQorICAgICAgICAgPHJlZiBuYW1lPSJmb3JtYWxwYXJhIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJwYXJhIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJzaW1wYXJhIi8+DQorICAgICAgPC9jaG9pY2U+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJpbmZvcm1hbC5jbGFzcyI+DQorICAgICAgPGNob2ljZT4NCisgICAgICAgICA8cmVmIG5hbWU9ImFkZHJlc3MiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImJsb2NrcXVvdGUiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImdyYXBoaWMiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImdyYXBoaWNjbyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ibWVkaWFvYmplY3QiLz4NCisgICAgICAgICA8cmVmIG5hbWU9Im1lZGlhb2JqZWN0Y28iLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImluZm9ybWFsZXF1YXRpb24iLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImluZm9ybWFsZXhhbXBsZSIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iaW5mb3JtYWxmaWd1cmUiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImluZm9ybWFsdGFibGUiLz4NCisgICAgICA8L2Nob2ljZT4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImZvcm1hbC5jbGFzcyI+DQorICAgICAgPGNob2ljZT4NCisgICAgICAgICA8cmVmIG5hbWU9ImVxdWF0aW9uIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJleGFtcGxlIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJmaWd1cmUiLz4NCisgICAgICAgICA8cmVmIG5hbWU9InRhYmxlIi8+DQorICAgICAgPC9jaG9pY2U+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJjb21wb3VuZC5jbGFzcyI+DQorICAgICAgPGNob2ljZT4NCisgICAgICAgICA8cmVmIG5hbWU9Im1zZ3NldCIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0icHJvY2VkdXJlIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJzaWRlYmFyIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJxYW5kYXNldCIvPg0KKyAgICAgIDwvY2hvaWNlPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iZ2Vub2JqLmNsYXNzIj4NCisgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iYW5jaG9yIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJicmlkZ2VoZWFkIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJyZW1hcmsiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImhpZ2hsaWdodHMiLz4NCisgICAgICA8L2Nob2ljZT4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImRlc2NvYmouY2xhc3MiPg0KKyAgICAgIDxjaG9pY2U+DQorICAgICAgICAgPHJlZiBuYW1lPSJhYnN0cmFjdCIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iYXV0aG9yYmx1cmIiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImVwaWdyYXBoIi8+DQorICAgICAgPC9jaG9pY2U+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJ4cmVmLmNoYXIuY2xhc3MiPg0KKyAgICAgIDxjaG9pY2U+DQorICAgICAgICAgPHJlZiBuYW1lPSJmb290bm90ZXJlZiIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ieHJlZiIvPg0KKyAgICAgIDwvY2hvaWNlPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iZ2VuLmNoYXIuY2xhc3MiPg0KKyAgICAgIDxjaG9pY2U+DQorICAgICAgICAgPHJlZiBuYW1lPSJhYmJyZXYiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImFjcm9ueW0iLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImNpdGF0aW9uIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJjaXRlcmVmZW50cnkiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImNpdGV0aXRsZSIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iZW1waGFzaXMiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImZpcnN0dGVybSIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iZm9yZWlnbnBocmFzZSIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iZ2xvc3N0ZXJtIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJmb290bm90ZSIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0icGhyYXNlIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJxdW90ZSIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0idHJhZGVtYXJrIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJ3b3JkYXN3b3JkIi8+DQorICAgICAgPC9jaG9pY2U+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJsaW5rLmNoYXIuY2xhc3MiPg0KKyAgICAgIDxjaG9pY2U+DQorICAgICAgICAgPHJlZiBuYW1lPSJsaW5rIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJvbGluayIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0idWxpbmsiLz4NCisgICAgICA8L2Nob2ljZT4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InRlY2guY2hhci5jbGFzcyI+DQorICAgICAgPGNob2ljZT4NCisgICAgICAgICA8cmVmIG5hbWU9ImFjdGlvbiIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iYXBwbGljYXRpb24iLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImNsYXNzbmFtZSIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ibWV0aG9kbmFtZSIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iaW50ZXJmYWNlbmFtZSIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iZXhjZXB0aW9ubmFtZSIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ib29jbGFzcyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ib29pbnRlcmZhY2UiLz4NCisgICAgICAgICA8cmVmIG5hbWU9Im9vZXhjZXB0aW9uIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJjb21tYW5kIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJjb21wdXRlcm91dHB1dCIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iZGF0YWJhc2UiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImVtYWlsIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJlbnZhciIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iZXJyb3Jjb2RlIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJlcnJvcm5hbWUiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImVycm9ydHlwZSIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iZmlsZW5hbWUiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImZ1bmN0aW9uIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJndWlidXR0b24iLz4NCisgICAgICAgICA8cmVmIG5hbWU9Imd1aWljb24iLz4NCisgICAgICAgICA8cmVmIG5hbWU9Imd1aWxhYmVsIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJndWltZW51Ii8+DQorICAgICAgICAgPHJlZiBuYW1lPSJndWltZW51aXRlbSIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iZ3Vpc3VibWVudSIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iaGFyZHdhcmUiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImludGVyZmFjZSIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ia2V5Y2FwIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJrZXljb2RlIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJrZXljb21ibyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ia2V5c3ltIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJsaXRlcmFsIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJjb25zdGFudCIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ibWFya3VwIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJtZWRpYWxhYmVsIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJtZW51Y2hvaWNlIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJtb3VzZWJ1dHRvbiIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ib3B0aW9uIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJvcHRpb25hbCIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0icGFyYW1ldGVyIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJwcm9tcHQiLz4NCisgICAgICAgICA8cmVmIG5hbWU9InByb3BlcnR5Ii8+DQorICAgICAgICAgPHJlZiBuYW1lPSJyZXBsYWNlYWJsZSIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0icmV0dXJudmFsdWUiLz4NCisgICAgICAgICA8cmVmIG5hbWU9InNnbWx0YWciLz4NCisgICAgICAgICA8cmVmIG5hbWU9InN0cnVjdGZpZWxkIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJzdHJ1Y3RuYW1lIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJzeW1ib2wiLz4NCisgICAgICAgICA8cmVmIG5hbWU9InN5c3RlbWl0ZW0iLz4NCisgICAgICAgICA8cmVmIG5hbWU9InRva2VuIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJ0eXBlIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJ1c2VyaW5wdXQiLz4NCisgICAgICAgICA8cmVmIG5hbWU9InZhcm5hbWUiLz4NCisgICAgICA8L2Nob2ljZT4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImJhc2UuY2hhci5jbGFzcyI+DQorICAgICAgPHJlZiBuYW1lPSJhbmNob3IiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImRvY2luZm8uY2hhci5jbGFzcyI+DQorICAgICAgPGNob2ljZT4NCisgICAgICAgICA8cmVmIG5hbWU9ImF1dGhvciIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iYXV0aG9yaW5pdGlhbHMiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImNvcnBhdXRob3IiLz4NCisgICAgICAgICA8cmVmIG5hbWU9Im1vZGVzcGVjIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJvdGhlcmNyZWRpdCIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0icHJvZHVjdG5hbWUiLz4NCisgICAgICAgICA8cmVmIG5hbWU9InByb2R1Y3RudW1iZXIiLz4NCisgICAgICAgICA8cmVmIG5hbWU9InJldmhpc3RvcnkiLz4NCisgICAgICA8L2Nob2ljZT4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Im90aGVyLmNoYXIuY2xhc3MiPg0KKyAgICAgIDxjaG9pY2U+DQorICAgICAgICAgPHJlZiBuYW1lPSJyZW1hcmsiLz4NCisgICAgICAgICA8cmVmIG5hbWU9InN1YnNjcmlwdCIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ic3VwZXJzY3JpcHQiLz4NCisgICAgICA8L2Nob2ljZT4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImlubGluZW9iai5jaGFyLmNsYXNzIj4NCisgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iaW5saW5lZ3JhcGhpYyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iaW5saW5lbWVkaWFvYmplY3QiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImlubGluZWVxdWF0aW9uIi8+DQorICAgICAgPC9jaG9pY2U+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJjb21wb25lbnQubWl4Ij4NCisgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ibGlzdC5jbGFzcyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iYWRtb24uY2xhc3MiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImxpbmVzcGVjaWZpYy5jbGFzcyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ic3lub3AuY2xhc3MiLz4NCisgICAgICAgICA8cmVmIG5hbWU9InBhcmEuY2xhc3MiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImluZm9ybWFsLmNsYXNzIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJmb3JtYWwuY2xhc3MiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImNvbXBvdW5kLmNsYXNzIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJnZW5vYmouY2xhc3MiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImRlc2NvYmouY2xhc3MiLz4NCisgICAgICAgICA8cmVmIG5hbWU9Im5keHRlcm0uY2xhc3MiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImJlZ2lucGFnZSIvPg0KKyAgICAgIDwvY2hvaWNlPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic2lkZWJhci5taXgiPg0KKyAgICAgIDxjaG9pY2U+DQorICAgICAgICAgPHJlZiBuYW1lPSJsaXN0LmNsYXNzIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJhZG1vbi5jbGFzcyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ibGluZXNwZWNpZmljLmNsYXNzIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJzeW5vcC5jbGFzcyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0icGFyYS5jbGFzcyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iaW5mb3JtYWwuY2xhc3MiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImZvcm1hbC5jbGFzcyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0icHJvY2VkdXJlIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJnZW5vYmouY2xhc3MiLz4NCisgICAgICAgICA8cmVmIG5hbWU9Im5keHRlcm0uY2xhc3MiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImJlZ2lucGFnZSIvPg0KKyAgICAgIDwvY2hvaWNlPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icWFuZGFzZXQubWl4Ij4NCisgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ibGlzdC5jbGFzcyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iYWRtb24uY2xhc3MiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImxpbmVzcGVjaWZpYy5jbGFzcyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ic3lub3AuY2xhc3MiLz4NCisgICAgICAgICA8cmVmIG5hbWU9InBhcmEuY2xhc3MiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImluZm9ybWFsLmNsYXNzIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJmb3JtYWwuY2xhc3MiLz4NCisgICAgICAgICA8cmVmIG5hbWU9InByb2NlZHVyZSIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iZ2Vub2JqLmNsYXNzIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJuZHh0ZXJtLmNsYXNzIi8+DQorICAgICAgPC9jaG9pY2U+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJyZXZkZXNjcmlwdGlvbi5taXgiPg0KKyAgICAgIDxjaG9pY2U+DQorICAgICAgICAgPHJlZiBuYW1lPSJsaXN0LmNsYXNzIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJhZG1vbi5jbGFzcyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ibGluZXNwZWNpZmljLmNsYXNzIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJzeW5vcC5jbGFzcyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0icGFyYS5jbGFzcyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iaW5mb3JtYWwuY2xhc3MiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImZvcm1hbC5jbGFzcyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0icHJvY2VkdXJlIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJnZW5vYmouY2xhc3MiLz4NCisgICAgICAgICA8cmVmIG5hbWU9Im5keHRlcm0uY2xhc3MiLz4NCisgICAgICA8L2Nob2ljZT4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImZvb3Rub3RlLm1peCI+DQorICAgICAgPGNob2ljZT4NCisgICAgICAgICA8cmVmIG5hbWU9Imxpc3QuY2xhc3MiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImxpbmVzcGVjaWZpYy5jbGFzcyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ic3lub3AuY2xhc3MiLz4NCisgICAgICAgICA8cmVmIG5hbWU9InBhcmEuY2xhc3MiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImluZm9ybWFsLmNsYXNzIi8+DQorICAgICAgPC9jaG9pY2U+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJleGFtcGxlLm1peCI+DQorICAgICAgPGNob2ljZT4NCisgICAgICAgICA8cmVmIG5hbWU9Imxpc3QuY2xhc3MiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImxpbmVzcGVjaWZpYy5jbGFzcyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ic3lub3AuY2xhc3MiLz4NCisgICAgICAgICA8cmVmIG5hbWU9InBhcmEuY2xhc3MiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImluZm9ybWFsLmNsYXNzIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJuZHh0ZXJtLmNsYXNzIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJiZWdpbnBhZ2UiLz4NCisgICAgICA8L2Nob2ljZT4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImhpZ2hsaWdodHMubWl4Ij4NCisgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ibGlzdC5jbGFzcyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iYWRtb24uY2xhc3MiLz4NCisgICAgICAgICA8cmVmIG5hbWU9InBhcmEuY2xhc3MiLz4NCisgICAgICAgICA8cmVmIG5hbWU9Im5keHRlcm0uY2xhc3MiLz4NCisgICAgICA8L2Nob2ljZT4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InBhcmEubWl4Ij4NCisgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ibGlzdC5jbGFzcyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iYWRtb24uY2xhc3MiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImxpbmVzcGVjaWZpYy5jbGFzcyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iaW5mb3JtYWwuY2xhc3MiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImZvcm1hbC5jbGFzcyIvPg0KKyAgICAgIDwvY2hvaWNlPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iYWRtb24ubWl4Ij4NCisgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ibGlzdC5jbGFzcyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ibGluZXNwZWNpZmljLmNsYXNzIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJzeW5vcC5jbGFzcyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0icGFyYS5jbGFzcyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iaW5mb3JtYWwuY2xhc3MiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImZvcm1hbC5jbGFzcyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0icHJvY2VkdXJlIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJzaWRlYmFyIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJhbmNob3IiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImJyaWRnZWhlYWQiLz4NCisgICAgICAgICA8cmVmIG5hbWU9InJlbWFyayIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ibmR4dGVybS5jbGFzcyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iYmVnaW5wYWdlIi8+DQorICAgICAgPC9jaG9pY2U+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJmaWd1cmUubWl4Ij4NCisgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ibGluZXNwZWNpZmljLmNsYXNzIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJzeW5vcC5jbGFzcyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iaW5mb3JtYWwuY2xhc3MiLz4NCisgICAgICAgICA8cmVmIG5hbWU9Im5keHRlcm0uY2xhc3MiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImJlZ2lucGFnZSIvPg0KKyAgICAgIDwvY2hvaWNlPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0idGFiZW50cnkubWl4Ij4NCisgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ibGlzdC5jbGFzcyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iYWRtb24uY2xhc3MiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImxpbmVzcGVjaWZpYy5jbGFzcyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0icGFyYS5jbGFzcyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iZ3JhcGhpYyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ibWVkaWFvYmplY3QiLz4NCisgICAgICA8L2Nob2ljZT4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Imdsb3NzZGVmLm1peCI+DQorICAgICAgPGNob2ljZT4NCisgICAgICAgICA8cmVmIG5hbWU9Imxpc3QuY2xhc3MiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImxpbmVzcGVjaWZpYy5jbGFzcyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ic3lub3AuY2xhc3MiLz4NCisgICAgICAgICA8cmVmIG5hbWU9InBhcmEuY2xhc3MiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImluZm9ybWFsLmNsYXNzIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJmb3JtYWwuY2xhc3MiLz4NCisgICAgICAgICA8cmVmIG5hbWU9InJlbWFyayIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ibmR4dGVybS5jbGFzcyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iYmVnaW5wYWdlIi8+DQorICAgICAgPC9jaG9pY2U+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJsZWdhbG5vdGljZS5taXgiPg0KKyAgICAgIDxjaG9pY2U+DQorICAgICAgICAgPHJlZiBuYW1lPSJsaXN0LmNsYXNzIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJhZG1vbi5jbGFzcyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ibGluZXNwZWNpZmljLmNsYXNzIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJwYXJhLmNsYXNzIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJibG9ja3F1b3RlIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJuZHh0ZXJtLmNsYXNzIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJiZWdpbnBhZ2UiLz4NCisgICAgICA8L2Nob2ljZT4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InRleHRvYmplY3QubWl4Ij4NCisgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ibGlzdC5jbGFzcyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iYWRtb24uY2xhc3MiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImxpbmVzcGVjaWZpYy5jbGFzcyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0icGFyYS5jbGFzcyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iYmxvY2txdW90ZSIvPg0KKyAgICAgIDwvY2hvaWNlPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ibWVkaWFvYmplY3QubWl4Ij4NCisgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgIDxyZWYgbmFtZT0idmlkZW9vYmplY3QiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImF1ZGlvb2JqZWN0Ii8+DQorICAgICAgICAgPHJlZiBuYW1lPSJpbWFnZW9iamVjdCIvPg0KKyAgICAgIDwvY2hvaWNlPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icGFyYS5jaGFyLm1peCI+DQorICAgICAgPGNob2ljZT4NCisgICAgICAgICA8cmVmIG5hbWU9InhyZWYuY2hhci5jbGFzcyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iZ2VuLmNoYXIuY2xhc3MiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImxpbmsuY2hhci5jbGFzcyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0idGVjaC5jaGFyLmNsYXNzIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJiYXNlLmNoYXIuY2xhc3MiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImRvY2luZm8uY2hhci5jbGFzcyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ib3RoZXIuY2hhci5jbGFzcyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iaW5saW5lb2JqLmNoYXIuY2xhc3MiLz4NCisgICAgICAgICA8cmVmIG5hbWU9InN5bm9wLmNsYXNzIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJuZHh0ZXJtLmNsYXNzIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJiZWdpbnBhZ2UiLz4NCisgICAgICA8L2Nob2ljZT4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InRpdGxlLmNoYXIubWl4Ij4NCisgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ieHJlZi5jaGFyLmNsYXNzIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJnZW4uY2hhci5jbGFzcyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ibGluay5jaGFyLmNsYXNzIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJ0ZWNoLmNoYXIuY2xhc3MiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImJhc2UuY2hhci5jbGFzcyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iZG9jaW5mby5jaGFyLmNsYXNzIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJvdGhlci5jaGFyLmNsYXNzIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJpbmxpbmVvYmouY2hhci5jbGFzcyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ibmR4dGVybS5jbGFzcyIvPg0KKyAgICAgIDwvY2hvaWNlPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ibmR4dGVybS5jaGFyLm1peCI+DQorICAgICAgPGNob2ljZT4NCisgICAgICAgICA8cmVmIG5hbWU9InhyZWYuY2hhci5jbGFzcyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iZ2VuLmNoYXIuY2xhc3MiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImxpbmsuY2hhci5jbGFzcyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0idGVjaC5jaGFyLmNsYXNzIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJiYXNlLmNoYXIuY2xhc3MiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImRvY2luZm8uY2hhci5jbGFzcyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ib3RoZXIuY2hhci5jbGFzcyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iaW5saW5lZ3JhcGhpYyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iaW5saW5lbWVkaWFvYmplY3QiLz4NCisgICAgICA8L2Nob2ljZT4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImNwdHIuY2hhci5taXgiPg0KKyAgICAgIDxjaG9pY2U+DQorICAgICAgICAgPHJlZiBuYW1lPSJsaW5rLmNoYXIuY2xhc3MiLz4NCisgICAgICAgICA8cmVmIG5hbWU9InRlY2guY2hhci5jbGFzcyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iYmFzZS5jaGFyLmNsYXNzIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJvdGhlci5jaGFyLmNsYXNzIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJpbmxpbmVncmFwaGljIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJpbmxpbmVtZWRpYW9iamVjdCIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ibmR4dGVybS5jbGFzcyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iYmVnaW5wYWdlIi8+DQorICAgICAgPC9jaG9pY2U+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJzbWFsbGNwdHIuY2hhci5taXgiPg0KKyAgICAgIDxjaG9pY2U+DQorICAgICAgICAgPHJlZiBuYW1lPSJyZXBsYWNlYWJsZSIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iaW5saW5lZ3JhcGhpYyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iaW5saW5lbWVkaWFvYmplY3QiLz4NCisgICAgICAgICA8cmVmIG5hbWU9Im5keHRlcm0uY2xhc3MiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImJlZ2lucGFnZSIvPg0KKyAgICAgIDwvY2hvaWNlPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0id29yZC5jaGFyLm1peCI+DQorICAgICAgPGNob2ljZT4NCisgICAgICAgICA8cmVmIG5hbWU9ImFjcm9ueW0iLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImVtcGhhc2lzIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJ0cmFkZW1hcmsiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImxpbmsuY2hhci5jbGFzcyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iYmFzZS5jaGFyLmNsYXNzIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJvdGhlci5jaGFyLmNsYXNzIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJpbmxpbmVncmFwaGljIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJpbmxpbmVtZWRpYW9iamVjdCIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ibmR4dGVybS5jbGFzcyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iYmVnaW5wYWdlIi8+DQorICAgICAgPC9jaG9pY2U+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJkb2NpbmZvLmNoYXIubWl4Ij4NCisgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ibGluay5jaGFyLmNsYXNzIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJlbXBoYXNpcyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0idHJhZGVtYXJrIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJyZXBsYWNlYWJsZSIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ib3RoZXIuY2hhci5jbGFzcyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iaW5saW5lZ3JhcGhpYyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iaW5saW5lbWVkaWFvYmplY3QiLz4NCisgICAgICAgICA8cmVmIG5hbWU9Im5keHRlcm0uY2xhc3MiLz4NCisgICAgICA8L2Nob2ljZT4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImZvcm1hbG9iamVjdC50aXRsZS5jb250ZW50Ij4NCisgICAgICA8cmVmIG5hbWU9InRpdGxlIi8+DQorICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgIDxyZWYgbmFtZT0idGl0bGVhYmJyZXYiLz4NCisgICAgICA8L29wdGlvbmFsPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iYXJjaC5hdHRyaWIiPg0KKyAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICA8YXR0cmlidXRlIG5hbWU9ImFyY2giPg0KKyAgICAgICAgICAgIDxkYXRhIHR5cGU9InN0cmluZyIvPg0KKyAgICAgICAgIDwvYXR0cmlidXRlPg0KKyAgICAgIDwvb3B0aW9uYWw+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJjb25kaXRpb24uYXR0cmliIj4NCisgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJjb25kaXRpb24iPg0KKyAgICAgICAgICAgIDxkYXRhIHR5cGU9InN0cmluZyIvPg0KKyAgICAgICAgIDwvYXR0cmlidXRlPg0KKyAgICAgIDwvb3B0aW9uYWw+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJjb25mb3JtYW5jZS5hdHRyaWIiPg0KKyAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICA8YXR0cmlidXRlIG5hbWU9ImNvbmZvcm1hbmNlIj4NCisgICAgICAgICAgICA8ZGF0YSB0eXBlPSJOTVRPS0VOIi8+DQorICAgICAgICAgPC9hdHRyaWJ1dGU+DQorICAgICAgPC9vcHRpb25hbD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Im9zLmF0dHJpYiI+DQorICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0ib3MiPg0KKyAgICAgICAgICAgIDxkYXRhIHR5cGU9InN0cmluZyIvPg0KKyAgICAgICAgIDwvYXR0cmlidXRlPg0KKyAgICAgIDwvb3B0aW9uYWw+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJyZXZpc2lvbi5hdHRyaWIiPg0KKyAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICA8YXR0cmlidXRlIG5hbWU9InJldmlzaW9uIj4NCisgICAgICAgICAgICA8ZGF0YSB0eXBlPSJzdHJpbmciLz4NCisgICAgICAgICA8L2F0dHJpYnV0ZT4NCisgICAgICA8L29wdGlvbmFsPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic2VjdXJpdHkuYXR0cmliIj4NCisgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJzZWN1cml0eSI+DQorICAgICAgICAgICAgPGRhdGEgdHlwZT0ic3RyaW5nIi8+DQorICAgICAgICAgPC9hdHRyaWJ1dGU+DQorICAgICAgPC9vcHRpb25hbD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InVzZXJsZXZlbC5hdHRyaWIiPg0KKyAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICA8YXR0cmlidXRlIG5hbWU9InVzZXJsZXZlbCI+DQorICAgICAgICAgICAgPGRhdGEgdHlwZT0ic3RyaW5nIi8+DQorICAgICAgICAgPC9hdHRyaWJ1dGU+DQorICAgICAgPC9vcHRpb25hbD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InZlbmRvci5hdHRyaWIiPg0KKyAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICA8YXR0cmlidXRlIG5hbWU9InZlbmRvciI+DQorICAgICAgICAgICAgPGRhdGEgdHlwZT0ic3RyaW5nIi8+DQorICAgICAgICAgPC9hdHRyaWJ1dGU+DQorICAgICAgPC9vcHRpb25hbD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImVmZmVjdGl2aXR5LmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJhcmNoLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iY29uZGl0aW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iY29uZm9ybWFuY2UuYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJvcy5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InJldmlzaW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0ic2VjdXJpdHkuYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJ1c2VybGV2ZWwuYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJ2ZW5kb3IuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJpZC5hdHRyaWIiPg0KKyAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICA8YXR0cmlidXRlIG5hbWU9ImlkIj4NCisgICAgICAgICAgICA8ZGF0YSB0eXBlPSJJRCIvPg0KKyAgICAgICAgIDwvYXR0cmlidXRlPg0KKyAgICAgIDwvb3B0aW9uYWw+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJpZHJlcS5hdHRyaWIiPg0KKyAgICAgIDxhdHRyaWJ1dGUgbmFtZT0iaWQiPg0KKyAgICAgICAgIDxkYXRhIHR5cGU9IklEIi8+DQorICAgICAgPC9hdHRyaWJ1dGU+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJsYW5nLmF0dHJpYiI+DQorICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0ibGFuZyI+DQorICAgICAgICAgICAgPGRhdGEgdHlwZT0ic3RyaW5nIi8+DQorICAgICAgICAgPC9hdHRyaWJ1dGU+DQorICAgICAgPC9vcHRpb25hbD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InJlbWFwLmF0dHJpYiI+DQorICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0icmVtYXAiPg0KKyAgICAgICAgICAgIDxkYXRhIHR5cGU9InN0cmluZyIvPg0KKyAgICAgICAgIDwvYXR0cmlidXRlPg0KKyAgICAgIDwvb3B0aW9uYWw+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJyb2xlLmF0dHJpYiI+DQorICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0icm9sZSI+DQorICAgICAgICAgICAgPGRhdGEgdHlwZT0ic3RyaW5nIi8+DQorICAgICAgICAgPC9hdHRyaWJ1dGU+DQorICAgICAgPC9vcHRpb25hbD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InhyZWZsYWJlbC5hdHRyaWIiPg0KKyAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICA8YXR0cmlidXRlIG5hbWU9InhyZWZsYWJlbCI+DQorICAgICAgICAgICAgPGRhdGEgdHlwZT0ic3RyaW5nIi8+DQorICAgICAgICAgPC9hdHRyaWJ1dGU+DQorICAgICAgPC9vcHRpb25hbD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InJldmlzaW9uZmxhZy5hdHRyaWIiPg0KKyAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICA8YXR0cmlidXRlIG5hbWU9InJldmlzaW9uZmxhZyI+DQorICAgICAgICAgICAgPGNob2ljZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+Y2hhbmdlZDwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPmFkZGVkPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+ZGVsZXRlZDwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPm9mZjwvdmFsdWU+DQorICAgICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgICAgPC9hdHRyaWJ1dGU+DQorICAgICAgPC9vcHRpb25hbD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImNvbW1vbi5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0iaWQuYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJsYW5nLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0icmVtYXAuYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJ4cmVmbGFiZWwuYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJyZXZpc2lvbmZsYWcuYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJlZmZlY3Rpdml0eS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImlkcmVxLmNvbW1vbi5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0iaWRyZXEuYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJsYW5nLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0icmVtYXAuYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJ4cmVmbGFiZWwuYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJyZXZpc2lvbmZsYWcuYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJlZmZlY3Rpdml0eS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImdyYXBoaWNzLmF0dHJpYiI+DQorICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0iZmlsZXJlZiI+DQorICAgICAgICAgICAgPGRhdGEgdHlwZT0ic3RyaW5nIi8+DQorICAgICAgICAgPC9hdHRyaWJ1dGU+DQorICAgICAgPC9vcHRpb25hbD4NCisgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJmb3JtYXQiPg0KKyAgICAgICAgICAgIDxjaG9pY2U+DQorICAgICAgICAgICAgICAgPHZhbHVlPkJNUDwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPkNHTS1DSEFSPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+Q0dNLUJJTkFSWTwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPkNHTS1DTEVBUjwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPkRJVFJPRkY8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5EVkk8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5FUFM8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5FUU48L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5GQVg8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5HSUY8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5HSUY4N2E8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5HSUY4OWE8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5KUEc8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5KUEVHPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+SUdFUzwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPlBDWDwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPlBJQzwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPlBORzwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPlBTPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+U0dNTDwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPlRCTDwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPlRFWDwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPlRJRkY8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5XTUY8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5XUEc8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5saW5lc3BlY2lmaWM8L3ZhbHVlPg0KKyAgICAgICAgICAgIDwvY2hvaWNlPg0KKyAgICAgICAgIDwvYXR0cmlidXRlPg0KKyAgICAgIDwvb3B0aW9uYWw+DQorICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0ic3JjY3JlZGl0Ij4NCisgICAgICAgICAgICA8ZGF0YSB0eXBlPSJzdHJpbmciLz4NCisgICAgICAgICA8L2F0dHJpYnV0ZT4NCisgICAgICA8L29wdGlvbmFsPg0KKyAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICA8YXR0cmlidXRlIG5hbWU9IndpZHRoIj4NCisgICAgICAgICAgICA8ZGF0YSB0eXBlPSJzdHJpbmciLz4NCisgICAgICAgICA8L2F0dHJpYnV0ZT4NCisgICAgICA8L29wdGlvbmFsPg0KKyAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICA8YXR0cmlidXRlIG5hbWU9ImRlcHRoIj4NCisgICAgICAgICAgICA8ZGF0YSB0eXBlPSJzdHJpbmciLz4NCisgICAgICAgICA8L2F0dHJpYnV0ZT4NCisgICAgICA8L29wdGlvbmFsPg0KKyAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICA8YXR0cmlidXRlIG5hbWU9ImFsaWduIj4NCisgICAgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5sZWZ0PC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+cmlnaHQ8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5jZW50ZXI8L3ZhbHVlPg0KKyAgICAgICAgICAgIDwvY2hvaWNlPg0KKyAgICAgICAgIDwvYXR0cmlidXRlPg0KKyAgICAgIDwvb3B0aW9uYWw+DQorICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0ic2NhbGUiPg0KKyAgICAgICAgICAgIDxkYXRhIHR5cGU9InN0cmluZyIvPg0KKyAgICAgICAgIDwvYXR0cmlidXRlPg0KKyAgICAgIDwvb3B0aW9uYWw+DQorICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0ic2NhbGVmaXQiPg0KKyAgICAgICAgICAgIDxjaG9pY2U+DQorICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT4xPC92YWx1ZT4NCisgICAgICAgICAgICA8L2Nob2ljZT4NCisgICAgICAgICA8L2F0dHJpYnV0ZT4NCisgICAgICA8L29wdGlvbmFsPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ia2V5YWN0aW9uLmF0dHJpYiI+DQorICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0iYWN0aW9uIj4NCisgICAgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5jbGljazwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPmRvdWJsZS1jbGljazwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPnByZXNzPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+c2VxPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+c2ltdWw8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5vdGhlcjwvdmFsdWU+DQorICAgICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgICAgPC9hdHRyaWJ1dGU+DQorICAgICAgPC9vcHRpb25hbD4NCisgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJvdGhlcmFjdGlvbiI+DQorICAgICAgICAgICAgPGRhdGEgdHlwZT0ic3RyaW5nIi8+DQorICAgICAgICAgPC9hdHRyaWJ1dGU+DQorICAgICAgPC9vcHRpb25hbD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImxhYmVsLmF0dHJpYiI+DQorICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0ibGFiZWwiPg0KKyAgICAgICAgICAgIDxkYXRhIHR5cGU9InN0cmluZyIvPg0KKyAgICAgICAgIDwvYXR0cmlidXRlPg0KKyAgICAgIDwvb3B0aW9uYWw+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJsaW5lc3BlY2lmaWMuYXR0cmliIj4NCisgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJmb3JtYXQiPg0KKyAgICAgICAgICAgIDx2YWx1ZT5saW5lc3BlY2lmaWM8L3ZhbHVlPg0KKyAgICAgICAgIDwvYXR0cmlidXRlPg0KKyAgICAgIDwvb3B0aW9uYWw+DQorICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0ibGluZW51bWJlcmluZyI+DQorICAgICAgICAgICAgPGNob2ljZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+bnVtYmVyZWQ8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT51bm51bWJlcmVkPC92YWx1ZT4NCisgICAgICAgICAgICA8L2Nob2ljZT4NCisgICAgICAgICA8L2F0dHJpYnV0ZT4NCisgICAgICA8L29wdGlvbmFsPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ibGlua2VuZC5hdHRyaWIiPg0KKyAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICA8YXR0cmlidXRlIG5hbWU9ImxpbmtlbmQiPg0KKyAgICAgICAgICAgIDxkYXRhIHR5cGU9IklEUkVGIi8+DQorICAgICAgICAgPC9hdHRyaWJ1dGU+DQorICAgICAgPC9vcHRpb25hbD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImxpbmtlbmRyZXEuYXR0cmliIj4NCisgICAgICA8YXR0cmlidXRlIG5hbWU9ImxpbmtlbmQiPg0KKyAgICAgICAgIDxkYXRhIHR5cGU9IklEUkVGIi8+DQorICAgICAgPC9hdHRyaWJ1dGU+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJsaW5rZW5kcy5hdHRyaWIiPg0KKyAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICA8YXR0cmlidXRlIG5hbWU9ImxpbmtlbmRzIj4NCisgICAgICAgICAgICA8ZGF0YSB0eXBlPSJJRFJFRlMiLz4NCisgICAgICAgICA8L2F0dHJpYnV0ZT4NCisgICAgICA8L29wdGlvbmFsPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ibWFyay5hdHRyaWIiPg0KKyAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICA8YXR0cmlidXRlIG5hbWU9Im1hcmsiPg0KKyAgICAgICAgICAgIDxkYXRhIHR5cGU9InN0cmluZyIvPg0KKyAgICAgICAgIDwvYXR0cmlidXRlPg0KKyAgICAgIDwvb3B0aW9uYWw+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJtb3JlaW5mby5hdHRyaWIiPg0KKyAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICA8YXR0cmlidXRlIG5hbWU9Im1vcmVpbmZvIj4NCisgICAgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5yZWZlbnRyeTwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPm5vbmU8L3ZhbHVlPg0KKyAgICAgICAgICAgIDwvY2hvaWNlPg0KKyAgICAgICAgIDwvYXR0cmlidXRlPg0KKyAgICAgIDwvb3B0aW9uYWw+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJwYWdlbnVtLmF0dHJpYiI+DQorICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0icGFnZW51bSI+DQorICAgICAgICAgICAgPGRhdGEgdHlwZT0ic3RyaW5nIi8+DQorICAgICAgICAgPC9hdHRyaWJ1dGU+DQorICAgICAgPC9vcHRpb25hbD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InN0YXR1cy5hdHRyaWIiPg0KKyAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICA8YXR0cmlidXRlIG5hbWU9InN0YXR1cyI+DQorICAgICAgICAgICAgPGRhdGEgdHlwZT0ic3RyaW5nIi8+DQorICAgICAgICAgPC9hdHRyaWJ1dGU+DQorICAgICAgPC9vcHRpb25hbD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9IndpZHRoLmF0dHJpYiI+DQorICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0id2lkdGgiPg0KKyAgICAgICAgICAgIDxkYXRhIHR5cGU9InN0cmluZyIvPg0KKyAgICAgICAgIDwvYXR0cmlidXRlPg0KKyAgICAgIDwvb3B0aW9uYWw+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJ0aXRsZS5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0idGl0bGUiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9InRpdGxlIj4NCisgICAgICAgICA8cmVmIG5hbWU9InRpdGxlLmF0dGxpc3QiLz4NCisgICAgICAgICA8bWl4ZWQ+DQorICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJ0aXRsZS5jaGFyLm1peCIvPg0KKyAgICAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8L21peGVkPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InRpdGxlLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0icGFnZW51bS5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InRpdGxlLnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJ0aXRsZWFiYnJldi5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0idGl0bGVhYmJyZXYiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9InRpdGxlYWJicmV2Ij4NCisgICAgICAgICA8cmVmIG5hbWU9InRpdGxlYWJicmV2LmF0dGxpc3QiLz4NCisgICAgICAgICA8bWl4ZWQ+DQorICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJ0aXRsZS5jaGFyLm1peCIvPg0KKyAgICAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8L21peGVkPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InRpdGxlYWJicmV2LmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0idGl0bGVhYmJyZXYucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InN1YnRpdGxlLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJzdWJ0aXRsZSI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0ic3VidGl0bGUiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ic3VidGl0bGUuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxtaXhlZD4NCisgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9InRpdGxlLmNoYXIubWl4Ii8+DQorICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDwvbWl4ZWQ+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic3VidGl0bGUuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJzdWJ0aXRsZS5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icGVyc29uLmlkZW50Lm1peCI+DQorICAgICAgPGNob2ljZT4NCisgICAgICAgICA8cmVmIG5hbWU9Imhvbm9yaWZpYyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iZmlyc3RuYW1lIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJzdXJuYW1lIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJsaW5lYWdlIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJvdGhlcm5hbWUiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImFmZmlsaWF0aW9uIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJhdXRob3JibHVyYiIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iY29udHJpYiIvPg0KKyAgICAgIDwvY2hvaWNlPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iYmlibGlvY29tcG9uZW50Lm1peCI+DQorICAgICAgPGNob2ljZT4NCisgICAgICAgICA8cmVmIG5hbWU9ImFiYnJldiIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iYWJzdHJhY3QiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImFkZHJlc3MiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImFydHBhZ2VudW1zIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJhdXRob3IiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImF1dGhvcmdyb3VwIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJhdXRob3Jpbml0aWFscyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iYmlibGlvbWlzYyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iYmlibGlvc2V0Ii8+DQorICAgICAgICAgPHJlZiBuYW1lPSJjb2xsYWIiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImNvbmZncm91cCIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iY29udHJhY3RudW0iLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImNvbnRyYWN0c3BvbnNvciIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iY29weXJpZ2h0Ii8+DQorICAgICAgICAgPHJlZiBuYW1lPSJjb3JwYXV0aG9yIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJjb3JwbmFtZSIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iZGF0ZSIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iZWRpdGlvbiIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iZWRpdG9yIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJpbnZwYXJ0bnVtYmVyIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJpc2JuIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJpc3NuIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJpc3N1ZW51bSIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ib3JnbmFtZSIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ib3RoZXJjcmVkaXQiLz4NCisgICAgICAgICA8cmVmIG5hbWU9InBhZ2VudW1zIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJwcmludGhpc3RvcnkiLz4NCisgICAgICAgICA8cmVmIG5hbWU9InByb2R1Y3RuYW1lIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJwcm9kdWN0bnVtYmVyIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJwdWJkYXRlIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJwdWJsaXNoZXIiLz4NCisgICAgICAgICA8cmVmIG5hbWU9InB1Ymxpc2hlcm5hbWUiLz4NCisgICAgICAgICA8cmVmIG5hbWU9InB1YnNudW1iZXIiLz4NCisgICAgICAgICA8cmVmIG5hbWU9InJlbGVhc2VpbmZvIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJyZXZoaXN0b3J5Ii8+DQorICAgICAgICAgPHJlZiBuYW1lPSJzZXJpZXN2b2xudW1zIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJzdWJ0aXRsZSIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0idGl0bGUiLz4NCisgICAgICAgICA8cmVmIG5hbWU9InRpdGxlYWJicmV2Ii8+DQorICAgICAgICAgPHJlZiBuYW1lPSJ2b2x1bWVudW0iLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImNpdGV0aXRsZSIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0icGVyc29uLmlkZW50Lm1peCIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ibmR4dGVybS5jbGFzcyIvPg0KKyAgICAgIDwvY2hvaWNlPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iYmlibGlvZW50cnkucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImJpYmxpb2VudHJ5Ij4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJiaWJsaW9lbnRyeSI+DQorICAgICAgICAgPHJlZiBuYW1lPSJiaWJsaW9lbnRyeS5hdHRsaXN0Ii8+DQorICAgICAgICAgPG9uZU9yTW9yZT4NCisgICAgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iYXJ0aWNsZWluZm8iLz4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9ImJpYmxpb2NvbXBvbmVudC5taXgiLz4NCisgICAgICAgICAgICA8L2Nob2ljZT4NCisgICAgICAgICA8L29uZU9yTW9yZT4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJiaWJsaW9lbnRyeS5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImJpYmxpb2VudHJ5LnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJiaWJsaW9taXhlZC5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iYmlibGlvbWl4ZWQiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9ImJpYmxpb21peGVkIj4NCisgICAgICAgICA8cmVmIG5hbWU9ImJpYmxpb21peGVkLmF0dGxpc3QiLz4NCisgICAgICAgICA8bWl4ZWQ+DQorICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPGNob2ljZT4NCisgICAgICAgICAgICAgICAgICA8cmVmIG5hbWU9ImJpYmxpb2NvbXBvbmVudC5taXgiLz4NCisgICAgICAgICAgICAgICAgICA8cmVmIG5hbWU9ImJpYmxpb21zZXQiLz4NCisgICAgICAgICAgICAgICA8L2Nob2ljZT4NCisgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPC9taXhlZD4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJiaWJsaW9taXhlZC5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImJpYmxpb21peGVkLnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJhcnRpY2xlaW5mby5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iaW5mb0NvbnRlbnRNb2RlbCI+DQorICAgICAgPG9uZU9yTW9yZT4NCisgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0iZ3JhcGhpYyIvPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0ibWVkaWFvYmplY3QiLz4NCisgICAgICAgICAgICA8cmVmIG5hbWU9ImxlZ2Fsbm90aWNlIi8+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJtb2Rlc3BlYyIvPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0ic3ViamVjdHNldCIvPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0ia2V5d29yZHNldCIvPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0iaXRlcm1zZXQiLz4NCisgICAgICAgICAgICA8cmVmIG5hbWU9ImJpYmxpb2NvbXBvbmVudC5taXgiLz4NCisgICAgICAgICA8L2Nob2ljZT4NCisgICAgICA8L29uZU9yTW9yZT4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImFydGljbGVpbmZvIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJhcnRpY2xlaW5mbyI+DQorICAgICAgICAgPHJlZiBuYW1lPSJhcnRpY2xlaW5mby5hdHRsaXN0Ii8+DQorICAgICAgICAgPHJlZiBuYW1lPSJpbmZvQ29udGVudE1vZGVsIi8+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iYXJ0aWNsZWluZm8uYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJhcnRpY2xlaW5mby5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iYmlibGlvc2V0LnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJiaWJsaW9zZXQiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9ImJpYmxpb3NldCI+DQorICAgICAgICAgPHJlZiBuYW1lPSJiaWJsaW9zZXQuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxvbmVPck1vcmU+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJiaWJsaW9jb21wb25lbnQubWl4Ii8+DQorICAgICAgICAgPC9vbmVPck1vcmU+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iYmlibGlvc2V0LmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iYmlibGlvc2V0LnJvbGUuYXR0cmliIi8+DQorICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0icmVsYXRpb24iPg0KKyAgICAgICAgICAgIDxkYXRhIHR5cGU9InN0cmluZyIvPg0KKyAgICAgICAgIDwvYXR0cmlidXRlPg0KKyAgICAgIDwvb3B0aW9uYWw+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJiaWJsaW9tc2V0LnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJiaWJsaW9tc2V0Ij4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJiaWJsaW9tc2V0Ij4NCisgICAgICAgICA8cmVmIG5hbWU9ImJpYmxpb21zZXQuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxtaXhlZD4NCisgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iYmlibGlvY29tcG9uZW50Lm1peCIvPg0KKyAgICAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iYmlibGlvbXNldCIvPg0KKyAgICAgICAgICAgICAgIDwvY2hvaWNlPg0KKyAgICAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8L21peGVkPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImJpYmxpb21zZXQuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJiaWJsaW9tc2V0LnJvbGUuYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0icmVsYXRpb24iPg0KKyAgICAgICAgICAgIDxkYXRhIHR5cGU9InN0cmluZyIvPg0KKyAgICAgICAgIDwvYXR0cmlidXRlPg0KKyAgICAgIDwvb3B0aW9uYWw+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJiaWJsaW9taXNjLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJiaWJsaW9taXNjIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJiaWJsaW9taXNjIj4NCisgICAgICAgICA8cmVmIG5hbWU9ImJpYmxpb21pc2MuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxtaXhlZD4NCisgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9InBhcmEuY2hhci5taXgiLz4NCisgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPC9taXhlZD4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJiaWJsaW9taXNjLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iYmlibGlvbWlzYy5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic3ViamVjdHNldC5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic3ViamVjdHNldCI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0ic3ViamVjdHNldCI+DQorICAgICAgICAgPHJlZiBuYW1lPSJzdWJqZWN0c2V0LmF0dGxpc3QiLz4NCisgICAgICAgICA8b25lT3JNb3JlPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0ic3ViamVjdCIvPg0KKyAgICAgICAgIDwvb25lT3JNb3JlPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InN1YmplY3RzZXQuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJzdWJqZWN0c2V0LnJvbGUuYXR0cmliIi8+DQorICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0ic2NoZW1lIj4NCisgICAgICAgICAgICA8ZGF0YSB0eXBlPSJOTVRPS0VOIi8+DQorICAgICAgICAgPC9hdHRyaWJ1dGU+DQorICAgICAgPC9vcHRpb25hbD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InN1YmplY3Qucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InN1YmplY3QiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3QiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ic3ViamVjdC5hdHRsaXN0Ii8+DQorICAgICAgICAgPG9uZU9yTW9yZT4NCisgICAgICAgICAgICA8cmVmIG5hbWU9InN1YmplY3R0ZXJtIi8+DQorICAgICAgICAgPC9vbmVPck1vcmU+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic3ViamVjdC5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InN1YmplY3Qucm9sZS5hdHRyaWIiLz4NCisgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJ3ZWlnaHQiPg0KKyAgICAgICAgICAgIDxkYXRhIHR5cGU9InN0cmluZyIvPg0KKyAgICAgICAgIDwvYXR0cmlidXRlPg0KKyAgICAgIDwvb3B0aW9uYWw+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJzdWJqZWN0dGVybS5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic3ViamVjdHRlcm0iPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9InN1YmplY3R0ZXJtIj4NCisgICAgICAgICA8cmVmIG5hbWU9InN1YmplY3R0ZXJtLmF0dGxpc3QiLz4NCisgICAgICAgICA8dGV4dC8+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic3ViamVjdHRlcm0uYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJzdWJqZWN0dGVybS5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ia2V5d29yZHNldC5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ia2V5d29yZHNldCI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0ia2V5d29yZHNldCI+DQorICAgICAgICAgPHJlZiBuYW1lPSJrZXl3b3Jkc2V0LmF0dGxpc3QiLz4NCisgICAgICAgICA8b25lT3JNb3JlPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0ia2V5d29yZCIvPg0KKyAgICAgICAgIDwvb25lT3JNb3JlPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImtleXdvcmRzZXQuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJrZXl3b3Jkc2V0LnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJrZXl3b3JkLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJrZXl3b3JkIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJrZXl3b3JkIj4NCisgICAgICAgICA8cmVmIG5hbWU9ImtleXdvcmQuYXR0bGlzdCIvPg0KKyAgICAgICAgIDx0ZXh0Lz4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJrZXl3b3JkLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0ia2V5d29yZC5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iaXRlcm1zZXQucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Iml0ZXJtc2V0Ij4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJpdGVybXNldCI+DQorICAgICAgICAgPHJlZiBuYW1lPSJpdGVybXNldC5hdHRsaXN0Ii8+DQorICAgICAgICAgPG9uZU9yTW9yZT4NCisgICAgICAgICAgICA8cmVmIG5hbWU9ImluZGV4dGVybSIvPg0KKyAgICAgICAgIDwvb25lT3JNb3JlPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Iml0ZXJtc2V0LmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iaXRlcm1zZXQucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Im1zZ3NldC5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ibXNnc2V0Ij4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJtc2dzZXQiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ibXNnc2V0LmF0dGxpc3QiLz4NCisgICAgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJmb3JtYWxvYmplY3QudGl0bGUuY29udGVudCIvPg0KKyAgICAgICAgIDwvb3B0aW9uYWw+DQorICAgICAgICAgPGNob2ljZT4NCisgICAgICAgICAgICA8b25lT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0ibXNnZW50cnkiLz4NCisgICAgICAgICAgICA8L29uZU9yTW9yZT4NCisgICAgICAgICAgICA8b25lT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0ic2ltcGxlbXNnZW50cnkiLz4NCisgICAgICAgICAgICA8L29uZU9yTW9yZT4NCisgICAgICAgICA8L2Nob2ljZT4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJtc2dzZXQuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJtc2dzZXQucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Im1zZ2VudHJ5LnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJtc2dlbnRyeSI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0ibXNnZW50cnkiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ibXNnZW50cnkuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxvbmVPck1vcmU+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJtc2ciLz4NCisgICAgICAgICA8L29uZU9yTW9yZT4NCisgICAgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJtc2dpbmZvIi8+DQorICAgICAgICAgPC9vcHRpb25hbD4NCisgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICA8cmVmIG5hbWU9Im1zZ2V4cGxhbiIvPg0KKyAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJtc2dlbnRyeS5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9Im1zZ2VudHJ5LnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJzaW1wbGVtc2dlbnRyeS5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic2ltcGxlbXNnZW50cnkiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9InNpbXBsZW1zZ2VudHJ5Ij4NCisgICAgICAgICA8cmVmIG5hbWU9InNpbXBsZW1zZ2VudHJ5LmF0dGxpc3QiLz4NCisgICAgICAgICA8cmVmIG5hbWU9Im1zZ3RleHQiLz4NCisgICAgICAgICA8cmVmIG5hbWU9Im1zZ2V4cGxhbiIvPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InNpbXBsZW1zZ2VudHJ5LmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0ic2ltcGxlbXNnZW50cnkucm9sZS5hdHRyaWIiLz4NCisgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJhdWRpZW5jZSI+DQorICAgICAgICAgICAgPGRhdGEgdHlwZT0ic3RyaW5nIi8+DQorICAgICAgICAgPC9hdHRyaWJ1dGU+DQorICAgICAgPC9vcHRpb25hbD4NCisgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJsZXZlbCI+DQorICAgICAgICAgICAgPGRhdGEgdHlwZT0ic3RyaW5nIi8+DQorICAgICAgICAgPC9hdHRyaWJ1dGU+DQorICAgICAgPC9vcHRpb25hbD4NCisgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJvcmlnaW4iPg0KKyAgICAgICAgICAgIDxkYXRhIHR5cGU9InN0cmluZyIvPg0KKyAgICAgICAgIDwvYXR0cmlidXRlPg0KKyAgICAgIDwvb3B0aW9uYWw+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJtc2cucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Im1zZyI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0ibXNnIj4NCisgICAgICAgICA8cmVmIG5hbWU9Im1zZy5hdHRsaXN0Ii8+DQorICAgICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0idGl0bGUiLz4NCisgICAgICAgICA8L29wdGlvbmFsPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ibXNnbWFpbiIvPg0KKyAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgIDxjaG9pY2U+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJtc2dzdWIiLz4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9Im1zZ3JlbCIvPg0KKyAgICAgICAgICAgIDwvY2hvaWNlPg0KKyAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJtc2cuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJtc2cucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Im1zZ21haW4ucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Im1zZ21haW4iPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9Im1zZ21haW4iPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ibXNnbWFpbi5hdHRsaXN0Ii8+DQorICAgICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0idGl0bGUiLz4NCisgICAgICAgICA8L29wdGlvbmFsPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ibXNndGV4dCIvPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Im1zZ21haW4uYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJtc2dtYWluLnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJtc2dzdWIucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Im1zZ3N1YiI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0ibXNnc3ViIj4NCisgICAgICAgICA8cmVmIG5hbWU9Im1zZ3N1Yi5hdHRsaXN0Ii8+DQorICAgICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0idGl0bGUiLz4NCisgICAgICAgICA8L29wdGlvbmFsPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ibXNndGV4dCIvPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Im1zZ3N1Yi5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9Im1zZ3N1Yi5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ibXNncmVsLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJtc2dyZWwiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9Im1zZ3JlbCI+DQorICAgICAgICAgPHJlZiBuYW1lPSJtc2dyZWwuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICAgICA8cmVmIG5hbWU9InRpdGxlIi8+DQorICAgICAgICAgPC9vcHRpb25hbD4NCisgICAgICAgICA8cmVmIG5hbWU9Im1zZ3RleHQiLz4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJtc2dyZWwuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJtc2dyZWwucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Im1zZ2luZm8ucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Im1zZ2luZm8iPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9Im1zZ2luZm8iPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ibXNnaW5mby5hdHRsaXN0Ii8+DQorICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgPGNob2ljZT4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9Im1zZ2xldmVsIi8+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJtc2dvcmlnIi8+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJtc2dhdWQiLz4NCisgICAgICAgICAgICA8L2Nob2ljZT4NCisgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ibXNnaW5mby5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9Im1zZ2luZm8ucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Im1zZ2xldmVsLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJtc2dsZXZlbCI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0ibXNnbGV2ZWwiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ibXNnbGV2ZWwuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxtaXhlZD4NCisgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9InNtYWxsY3B0ci5jaGFyLm1peCIvPg0KKyAgICAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8L21peGVkPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Im1zZ2xldmVsLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0ibXNnbGV2ZWwucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Im1zZ29yaWcucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Im1zZ29yaWciPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9Im1zZ29yaWciPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ibXNnb3JpZy5hdHRsaXN0Ii8+DQorICAgICAgICAgPG1peGVkPg0KKyAgICAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0ic21hbGxjcHRyLmNoYXIubWl4Ii8+DQorICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDwvbWl4ZWQ+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ibXNnb3JpZy5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9Im1zZ29yaWcucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Im1zZ2F1ZC5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ibXNnYXVkIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJtc2dhdWQiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ibXNnYXVkLmF0dGxpc3QiLz4NCisgICAgICAgICA8bWl4ZWQ+DQorICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJwYXJhLmNoYXIubWl4Ii8+DQorICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDwvbWl4ZWQ+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ibXNnYXVkLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0ibXNnYXVkLnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJtc2dleHBsYW4ucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Im1zZ2V4cGxhbiI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0ibXNnZXhwbGFuIj4NCisgICAgICAgICA8cmVmIG5hbWU9Im1zZ2V4cGxhbi5hdHRsaXN0Ii8+DQorICAgICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0idGl0bGUiLz4NCisgICAgICAgICA8L29wdGlvbmFsPg0KKyAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0iY29tcG9uZW50Lm1peCIvPg0KKyAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJtc2dleHBsYW4uYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJtc2dleHBsYW4ucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InFhbmRzZXQucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InFhbmRhc2V0Ij4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJxYW5kYXNldCI+DQorICAgICAgICAgPHJlZiBuYW1lPSJxYW5kYXNldC5hdHRsaXN0Ii8+DQorICAgICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0iZm9ybWFsb2JqZWN0LnRpdGxlLmNvbnRlbnQiLz4NCisgICAgICAgICA8L29wdGlvbmFsPg0KKyAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0icWFuZGFzZXQubWl4Ii8+DQorICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDxjaG9pY2U+DQorICAgICAgICAgICAgPG9uZU9yTW9yZT4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9InFhbmRhZGl2Ii8+DQorICAgICAgICAgICAgPC9vbmVPck1vcmU+DQorICAgICAgICAgICAgPG9uZU9yTW9yZT4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9InFhbmRhZW50cnkiLz4NCisgICAgICAgICAgICA8L29uZU9yTW9yZT4NCisgICAgICAgICA8L2Nob2ljZT4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJxYW5kYXNldC5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InFhbmRzZXQucm9sZS5hdHRyaWIiLz4NCisgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJkZWZhdWx0bGFiZWwiPg0KKyAgICAgICAgICAgIDxjaG9pY2U+DQorICAgICAgICAgICAgICAgPHZhbHVlPnFhbmRhPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+bnVtYmVyPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+bm9uZTwvdmFsdWU+DQorICAgICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgICAgPC9hdHRyaWJ1dGU+DQorICAgICAgPC9vcHRpb25hbD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InFhbmRhZGl2LnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJxYW5kYWRpdiI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0icWFuZGFkaXYiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0icWFuZGFkaXYuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICAgICA8cmVmIG5hbWU9ImZvcm1hbG9iamVjdC50aXRsZS5jb250ZW50Ii8+DQorICAgICAgICAgPC9vcHRpb25hbD4NCisgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICA8cmVmIG5hbWU9InFhbmRhc2V0Lm1peCIvPg0KKyAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgIDxvbmVPck1vcmU+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJxYW5kYWRpdiIvPg0KKyAgICAgICAgICAgIDwvb25lT3JNb3JlPg0KKyAgICAgICAgICAgIDxvbmVPck1vcmU+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJxYW5kYWVudHJ5Ii8+DQorICAgICAgICAgICAgPC9vbmVPck1vcmU+DQorICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icWFuZGFkaXYuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJxYW5kYWRpdi5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icWFuZGFlbnRyeS5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icWFuZGFlbnRyeSI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0icWFuZGFlbnRyeSI+DQorICAgICAgICAgPHJlZiBuYW1lPSJxYW5kYWVudHJ5LmF0dGxpc3QiLz4NCisgICAgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJyZXZoaXN0b3J5Ii8+DQorICAgICAgICAgPC9vcHRpb25hbD4NCisgICAgICAgICA8cmVmIG5hbWU9InF1ZXN0aW9uIi8+DQorICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJhbnN3ZXIiLz4NCisgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icWFuZGFlbnRyeS5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InFhbmRhZW50cnkucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InF1ZXN0aW9uLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJxdWVzdGlvbiI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0icXVlc3Rpb24iPg0KKyAgICAgICAgIDxyZWYgbmFtZT0icXVlc3Rpb24uYXR0bGlzdCIvPg0KKyAgICAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICAgICA8cmVmIG5hbWU9ImxhYmVsIi8+DQorICAgICAgICAgPC9vcHRpb25hbD4NCisgICAgICAgICA8b25lT3JNb3JlPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0icWFuZGFzZXQubWl4Ii8+DQorICAgICAgICAgPC9vbmVPck1vcmU+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icXVlc3Rpb24uYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJxdWVzdGlvbi5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iYW5zd2VyLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJhbnN3ZXIiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9ImFuc3dlciI+DQorICAgICAgICAgPHJlZiBuYW1lPSJhbnN3ZXIuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICAgICA8cmVmIG5hbWU9ImxhYmVsIi8+DQorICAgICAgICAgPC9vcHRpb25hbD4NCisgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICA8cmVmIG5hbWU9InFhbmRhc2V0Lm1peCIvPg0KKyAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICA8cmVmIG5hbWU9InFhbmRhZW50cnkiLz4NCisgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iYW5zd2VyLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iYW5zd2VyLnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJsYWJlbC5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ibGFiZWwiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9ImxhYmVsIj4NCisgICAgICAgICA8cmVmIG5hbWU9ImxhYmVsLmF0dGxpc3QiLz4NCisgICAgICAgICA8bWl4ZWQ+DQorICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJ3b3JkLmNoYXIubWl4Ii8+DQorICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDwvbWl4ZWQ+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ibGFiZWwuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJsYWJlbC5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icHJvY2VkdXJlLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJwcm9jZWR1cmUiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9InByb2NlZHVyZSI+DQorICAgICAgICAgPHJlZiBuYW1lPSJwcm9jZWR1cmUuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICAgICA8cmVmIG5hbWU9ImZvcm1hbG9iamVjdC50aXRsZS5jb250ZW50Ii8+DQorICAgICAgICAgPC9vcHRpb25hbD4NCisgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICA8cmVmIG5hbWU9ImNvbXBvbmVudC5taXgiLz4NCisgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPG9uZU9yTW9yZT4NCisgICAgICAgICAgICA8cmVmIG5hbWU9InN0ZXAiLz4NCisgICAgICAgICA8L29uZU9yTW9yZT4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJwcm9jZWR1cmUuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJwcm9jZWR1cmUucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InN0ZXAucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InN0ZXAiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9InN0ZXAiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ic3RlcC5hdHRsaXN0Ii8+DQorICAgICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0idGl0bGUiLz4NCisgICAgICAgICA8L29wdGlvbmFsPg0KKyAgICAgICAgIDxjaG9pY2U+DQorICAgICAgICAgICAgPGdyb3VwPg0KKyAgICAgICAgICAgICAgIDxvbmVPck1vcmU+DQorICAgICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJjb21wb25lbnQubWl4Ii8+DQorICAgICAgICAgICAgICAgPC9vbmVPck1vcmU+DQorICAgICAgICAgICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgICAgICAgICAgIDxyZWYgbmFtZT0ic3Vic3RlcHMiLz4NCisgICAgICAgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICAgICAgICA8cmVmIG5hbWU9ImNvbXBvbmVudC5taXgiLz4NCisgICAgICAgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPC9vcHRpb25hbD4NCisgICAgICAgICAgICA8L2dyb3VwPg0KKyAgICAgICAgICAgIDxncm91cD4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9InN1YnN0ZXBzIi8+DQorICAgICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJjb21wb25lbnQubWl4Ii8+DQorICAgICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgIDwvZ3JvdXA+DQorICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic3RlcC5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InN0ZXAucm9sZS5hdHRyaWIiLz4NCisgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJwZXJmb3JtYW5jZSI+DQorICAgICAgICAgICAgPGNob2ljZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+b3B0aW9uYWw8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5yZXF1aXJlZDwvdmFsdWU+DQorICAgICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgICAgPC9hdHRyaWJ1dGU+DQorICAgICAgPC9vcHRpb25hbD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InN1YnN0ZXBzLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJzdWJzdGVwcyI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0ic3Vic3RlcHMiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ic3Vic3RlcHMuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxvbmVPck1vcmU+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJzdGVwIi8+DQorICAgICAgICAgPC9vbmVPck1vcmU+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic3Vic3RlcHMuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJzdWJzdGVwcy5yb2xlLmF0dHJpYiIvPg0KKyAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICA8YXR0cmlidXRlIG5hbWU9InBlcmZvcm1hbmNlIj4NCisgICAgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5vcHRpb25hbDwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPnJlcXVpcmVkPC92YWx1ZT4NCisgICAgICAgICAgICA8L2Nob2ljZT4NCisgICAgICAgICA8L2F0dHJpYnV0ZT4NCisgICAgICA8L29wdGlvbmFsPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic2lkZWJhcmluZm8ucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InNpZGViYXJpbmZvIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJzaWRlYmFyaW5mbyI+DQorICAgICAgICAgPHJlZiBuYW1lPSJzaWRlYmFyaW5mby5hdHRsaXN0Ii8+DQorICAgICAgICAgPHRleHQvPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InNpZGViYXJpbmZvLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0ic2lkZWJhcmluZm8ucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InNpZGViYXIucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InNpZGViYXIiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9InNpZGViYXIiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ic2lkZWJhci5hdHRsaXN0Ii8+DQorICAgICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0ic2lkZWJhcmluZm8iLz4NCisgICAgICAgICA8L29wdGlvbmFsPg0KKyAgICAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICAgICA8cmVmIG5hbWU9ImZvcm1hbG9iamVjdC50aXRsZS5jb250ZW50Ii8+DQorICAgICAgICAgPC9vcHRpb25hbD4NCisgICAgICAgICA8b25lT3JNb3JlPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0ic2lkZWJhci5taXgiLz4NCisgICAgICAgICA8L29uZU9yTW9yZT4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJzaWRlYmFyLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0ic2lkZWJhci5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iYWJzdHJhY3Qucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImFic3RyYWN0Ij4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJhYnN0cmFjdCI+DQorICAgICAgICAgPHJlZiBuYW1lPSJhYnN0cmFjdC5hdHRsaXN0Ii8+DQorICAgICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0idGl0bGUiLz4NCisgICAgICAgICA8L29wdGlvbmFsPg0KKyAgICAgICAgIDxvbmVPck1vcmU+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJwYXJhLmNsYXNzIi8+DQorICAgICAgICAgPC9vbmVPck1vcmU+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iYWJzdHJhY3QuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJhYnN0cmFjdC5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iYXV0aG9yYmx1cmIucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImF1dGhvcmJsdXJiIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJhdXRob3JibHVyYiI+DQorICAgICAgICAgPHJlZiBuYW1lPSJhdXRob3JibHVyYi5hdHRsaXN0Ii8+DQorICAgICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0idGl0bGUiLz4NCisgICAgICAgICA8L29wdGlvbmFsPg0KKyAgICAgICAgIDxvbmVPck1vcmU+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJwYXJhLmNsYXNzIi8+DQorICAgICAgICAgPC9vbmVPck1vcmU+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iYXV0aG9yYmx1cmIuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJhdXRob3JibHVyYi5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iYmxvY2txdW90ZS5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iYmxvY2txdW90ZSI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0iYmxvY2txdW90ZSI+DQorICAgICAgICAgPHJlZiBuYW1lPSJibG9ja3F1b3RlLmF0dGxpc3QiLz4NCisgICAgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJ0aXRsZSIvPg0KKyAgICAgICAgIDwvb3B0aW9uYWw+DQorICAgICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0iYXR0cmlidXRpb24iLz4NCisgICAgICAgICA8L29wdGlvbmFsPg0KKyAgICAgICAgIDxvbmVPck1vcmU+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJjb21wb25lbnQubWl4Ii8+DQorICAgICAgICAgPC9vbmVPck1vcmU+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iYmxvY2txdW90ZS5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImJsb2NrcXVvdGUucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImF0dHJpYnV0aW9uLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJhdHRyaWJ1dGlvbiI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0iYXR0cmlidXRpb24iPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iYXR0cmlidXRpb24uYXR0bGlzdCIvPg0KKyAgICAgICAgIDxtaXhlZD4NCisgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9InBhcmEuY2hhci5taXgiLz4NCisgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPC9taXhlZD4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJhdHRyaWJ1dGlvbi5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImF0dHJpYnV0aW9uLnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJicmlkZ2VoZWFkLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJicmlkZ2VoZWFkIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJicmlkZ2VoZWFkIj4NCisgICAgICAgICA8cmVmIG5hbWU9ImJyaWRnZWhlYWQuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxtaXhlZD4NCisgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9InRpdGxlLmNoYXIubWl4Ii8+DQorICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDwvbWl4ZWQ+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iYnJpZGdlaGVhZC5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImJyaWRnZWhlYWQucm9sZS5hdHRyaWIiLz4NCisgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJyZW5kZXJhcyI+DQorICAgICAgICAgICAgPGNob2ljZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+b3RoZXI8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5zZWN0MTwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPnNlY3QyPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+c2VjdDM8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5zZWN0NDwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPnNlY3Q1PC92YWx1ZT4NCisgICAgICAgICAgICA8L2Nob2ljZT4NCisgICAgICAgICA8L2F0dHJpYnV0ZT4NCisgICAgICA8L29wdGlvbmFsPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icmVtYXJrLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJyZW1hcmsiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9InJlbWFyayI+DQorICAgICAgICAgPHJlZiBuYW1lPSJyZW1hcmsuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxtaXhlZD4NCisgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9InBhcmEuY2hhci5taXgiLz4NCisgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPC9taXhlZD4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJyZW1hcmsuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJyZW1hcmsucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImVwaWdyYXBoLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJlcGlncmFwaCI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0iZXBpZ3JhcGgiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iZXBpZ3JhcGguYXR0bGlzdCIvPg0KKyAgICAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICAgICA8cmVmIG5hbWU9ImF0dHJpYnV0aW9uIi8+DQorICAgICAgICAgPC9vcHRpb25hbD4NCisgICAgICAgICA8b25lT3JNb3JlPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0icGFyYS5jbGFzcyIvPg0KKyAgICAgICAgIDwvb25lT3JNb3JlPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImVwaWdyYXBoLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iZXBpZ3JhcGgucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImZvb3Rub3RlLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJmb290bm90ZSI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0iZm9vdG5vdGUiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iZm9vdG5vdGUuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxvbmVPck1vcmU+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJmb290bm90ZS5taXgiLz4NCisgICAgICAgICA8L29uZU9yTW9yZT4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJmb290bm90ZS5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImxhYmVsLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iZm9vdG5vdGUucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImhpZ2hsaWdodHMucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImhpZ2hsaWdodHMiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9ImhpZ2hsaWdodHMiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iaGlnaGxpZ2h0cy5hdHRsaXN0Ii8+DQorICAgICAgICAgPG9uZU9yTW9yZT4NCisgICAgICAgICAgICA8cmVmIG5hbWU9ImhpZ2hsaWdodHMubWl4Ii8+DQorICAgICAgICAgPC9vbmVPck1vcmU+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iaGlnaGxpZ2h0cy5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImhpZ2hsaWdodHMucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImZvcm1hbHBhcmEucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImZvcm1hbHBhcmEiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9ImZvcm1hbHBhcmEiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iZm9ybWFscGFyYS5hdHRsaXN0Ii8+DQorICAgICAgICAgPHJlZiBuYW1lPSJ0aXRsZSIvPg0KKyAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0ibmR4dGVybS5jbGFzcyIvPg0KKyAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8cmVmIG5hbWU9InBhcmEiLz4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJmb3JtYWxwYXJhLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iZm9ybWFscGFyYS5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icGFyYS5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icGFyYSI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0icGFyYSI+DQorICAgICAgICAgPHJlZiBuYW1lPSJwYXJhLmF0dGxpc3QiLz4NCisgICAgICAgICA8bWl4ZWQ+DQorICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPGNob2ljZT4NCisgICAgICAgICAgICAgICAgICA8cmVmIG5hbWU9InBhcmEuY2hhci5taXgiLz4NCisgICAgICAgICAgICAgICAgICA8cmVmIG5hbWU9InBhcmEubWl4Ii8+DQorICAgICAgICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDwvbWl4ZWQ+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icGFyYS5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InBhcmEucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InNpbXBhcmEucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InNpbXBhcmEiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9InNpbXBhcmEiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ic2ltcGFyYS5hdHRsaXN0Ii8+DQorICAgICAgICAgPG1peGVkPg0KKyAgICAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0icGFyYS5jaGFyLm1peCIvPg0KKyAgICAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8L21peGVkPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InNpbXBhcmEuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJzaW1wYXJhLnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJhZG1vbi5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iYWRtb25pdGlvblR5cGUiPg0KKyAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICA8cmVmIG5hbWU9InRpdGxlIi8+DQorICAgICAgPC9vcHRpb25hbD4NCisgICAgICA8b25lT3JNb3JlPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iYWRtb24ubWl4Ii8+DQorICAgICAgPC9vbmVPck1vcmU+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJpbXBvcnRhbnQiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9ImltcG9ydGFudCI+DQorICAgICAgICAgPHJlZiBuYW1lPSJpbXBvcnRhbnQuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iYWRtb25pdGlvblR5cGUiLz4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJpbXBvcnRhbnQuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJhZG1vbi5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0id2FybmluZyI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0id2FybmluZyI+DQorICAgICAgICAgPHJlZiBuYW1lPSJ3YXJuaW5nLmF0dGxpc3QiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImFkbW9uaXRpb25UeXBlIi8+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0id2FybmluZy5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImFkbW9uLnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJjYXV0aW9uIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJjYXV0aW9uIj4NCisgICAgICAgICA8cmVmIG5hbWU9ImNhdXRpb24uYXR0bGlzdCIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iYWRtb25pdGlvblR5cGUiLz4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJjYXV0aW9uLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iYWRtb24ucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Im5vdGUiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9Im5vdGUiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ibm90ZS5hdHRsaXN0Ii8+DQorICAgICAgICAgPHJlZiBuYW1lPSJhZG1vbml0aW9uVHlwZSIvPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Im5vdGUuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJhZG1vbi5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0idGlwIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJ0aXAiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0idGlwLmF0dGxpc3QiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImFkbW9uaXRpb25UeXBlIi8+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0idGlwLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iYWRtb24ucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Imdsb3NzbGlzdC5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iZ2xvc3NsaXN0Ij4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJnbG9zc2xpc3QiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iZ2xvc3NsaXN0LmF0dGxpc3QiLz4NCisgICAgICAgICA8b25lT3JNb3JlPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0iZ2xvc3NlbnRyeSIvPg0KKyAgICAgICAgIDwvb25lT3JNb3JlPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Imdsb3NzbGlzdC5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9Imdsb3NzbGlzdC5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iZ2xvc3NlbnRyeS5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iZ2xvc3NlbnRyeSI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0iZ2xvc3NlbnRyeSI+DQorICAgICAgICAgPHJlZiBuYW1lPSJnbG9zc2VudHJ5LmF0dGxpc3QiLz4NCisgICAgICAgICA8cmVmIG5hbWU9Imdsb3NzdGVybSIvPg0KKyAgICAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICAgICA8cmVmIG5hbWU9ImFjcm9ueW0iLz4NCisgICAgICAgICA8L29wdGlvbmFsPg0KKyAgICAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICAgICA8cmVmIG5hbWU9ImFiYnJldiIvPg0KKyAgICAgICAgIDwvb3B0aW9uYWw+DQorICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJuZHh0ZXJtLmNsYXNzIi8+DQorICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICAgICA8cmVmIG5hbWU9InJldmhpc3RvcnkiLz4NCisgICAgICAgICA8L29wdGlvbmFsPg0KKyAgICAgICAgIDxjaG9pY2U+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJnbG9zc3NlZSIvPg0KKyAgICAgICAgICAgIDxvbmVPck1vcmU+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJnbG9zc2RlZiIvPg0KKyAgICAgICAgICAgIDwvb25lT3JNb3JlPg0KKyAgICAgICAgIDwvY2hvaWNlPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Imdsb3NzZW50cnkuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJnbG9zc2VudHJ5LnJvbGUuYXR0cmliIi8+DQorICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0ic29ydGFzIj4NCisgICAgICAgICAgICA8ZGF0YSB0eXBlPSJzdHJpbmciLz4NCisgICAgICAgICA8L2F0dHJpYnV0ZT4NCisgICAgICA8L29wdGlvbmFsPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iZ2xvc3NkZWYucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Imdsb3NzZGVmIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJnbG9zc2RlZiI+DQorICAgICAgICAgPHJlZiBuYW1lPSJnbG9zc2RlZi5hdHRsaXN0Ii8+DQorICAgICAgICAgPG9uZU9yTW9yZT4NCisgICAgICAgICAgICA8cmVmIG5hbWU9Imdsb3NzZGVmLm1peCIvPg0KKyAgICAgICAgIDwvb25lT3JNb3JlPg0KKyAgICAgICAgIDxvbmVPck1vcmU+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJnbG9zc3NlZWFsc28iLz4NCisgICAgICAgICA8L29uZU9yTW9yZT4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJnbG9zc2RlZi5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9Imdsb3NzZGVmLnJvbGUuYXR0cmliIi8+DQorICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0ic3ViamVjdCI+DQorICAgICAgICAgICAgPGRhdGEgdHlwZT0ic3RyaW5nIi8+DQorICAgICAgICAgPC9hdHRyaWJ1dGU+DQorICAgICAgPC9vcHRpb25hbD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Imdsb3Nzc2VlLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJnbG9zc3NlZSI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0iZ2xvc3NzZWUiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iZ2xvc3NzZWUuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxtaXhlZD4NCisgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9InBhcmEuY2hhci5taXgiLz4NCisgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPC9taXhlZD4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJnbG9zc3NlZS5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9Imdsb3Nzc2VlLnJvbGUuYXR0cmliIi8+DQorICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0ib3RoZXJ0ZXJtIj4NCisgICAgICAgICAgICA8ZGF0YSB0eXBlPSJJRFJFRiIvPg0KKyAgICAgICAgIDwvYXR0cmlidXRlPg0KKyAgICAgIDwvb3B0aW9uYWw+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJnbG9zc3NlZWFsc28ucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Imdsb3Nzc2VlYWxzbyI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0iZ2xvc3NzZWVhbHNvIj4NCisgICAgICAgICA8cmVmIG5hbWU9Imdsb3Nzc2VlYWxzby5hdHRsaXN0Ii8+DQorICAgICAgICAgPG1peGVkPg0KKyAgICAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0icGFyYS5jaGFyLm1peCIvPg0KKyAgICAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8L21peGVkPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Imdsb3Nzc2VlYWxzby5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9Imdsb3Nzc2VlYWxzby5yb2xlLmF0dHJpYiIvPg0KKyAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICA8YXR0cmlidXRlIG5hbWU9Im90aGVydGVybSI+DQorICAgICAgICAgICAgPGRhdGEgdHlwZT0iSURSRUYiLz4NCisgICAgICAgICA8L2F0dHJpYnV0ZT4NCisgICAgICA8L29wdGlvbmFsPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iaXRlbWl6ZWRsaXN0LnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJpdGVtaXplZGxpc3QiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9Iml0ZW1pemVkbGlzdCI+DQorICAgICAgICAgPHJlZiBuYW1lPSJpdGVtaXplZGxpc3QuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICAgICA8cmVmIG5hbWU9ImZvcm1hbG9iamVjdC50aXRsZS5jb250ZW50Ii8+DQorICAgICAgICAgPC9vcHRpb25hbD4NCisgICAgICAgICA8b25lT3JNb3JlPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0ibGlzdGl0ZW0iLz4NCisgICAgICAgICA8L29uZU9yTW9yZT4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJpdGVtaXplZGxpc3QuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJtYXJrLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iaXRlbWl6ZWRsaXN0LnJvbGUuYXR0cmliIi8+DQorICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0ic3BhY2luZyI+DQorICAgICAgICAgICAgPGNob2ljZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+bm9ybWFsPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+Y29tcGFjdDwvdmFsdWU+DQorICAgICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgICAgPC9hdHRyaWJ1dGU+DQorICAgICAgPC9vcHRpb25hbD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Im9yZGVyZWRsaXN0LnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJvcmRlcmVkbGlzdCI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0ib3JkZXJlZGxpc3QiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ib3JkZXJlZGxpc3QuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICAgICA8cmVmIG5hbWU9ImZvcm1hbG9iamVjdC50aXRsZS5jb250ZW50Ii8+DQorICAgICAgICAgPC9vcHRpb25hbD4NCisgICAgICAgICA8b25lT3JNb3JlPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0ibGlzdGl0ZW0iLz4NCisgICAgICAgICA8L29uZU9yTW9yZT4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJvcmRlcmVkbGlzdC5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9Im9yZGVyZWRsaXN0LnJvbGUuYXR0cmliIi8+DQorICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0ibnVtZXJhdGlvbiI+DQorICAgICAgICAgICAgPGNob2ljZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+YXJhYmljPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+dXBwZXJhbHBoYTwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPmxvd2VyYWxwaGE8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT51cHBlcnJvbWFuPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+bG93ZXJyb21hbjwvdmFsdWU+DQorICAgICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgICAgPC9hdHRyaWJ1dGU+DQorICAgICAgPC9vcHRpb25hbD4NCisgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJpbmhlcml0bnVtIj4NCisgICAgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5pbmhlcml0PC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+aWdub3JlPC92YWx1ZT4NCisgICAgICAgICAgICA8L2Nob2ljZT4NCisgICAgICAgICA8L2F0dHJpYnV0ZT4NCisgICAgICA8L29wdGlvbmFsPg0KKyAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICA8YXR0cmlidXRlIG5hbWU9ImNvbnRpbnVhdGlvbiI+DQorICAgICAgICAgICAgPGNob2ljZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+Y29udGludWVzPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+cmVzdGFydHM8L3ZhbHVlPg0KKyAgICAgICAgICAgIDwvY2hvaWNlPg0KKyAgICAgICAgIDwvYXR0cmlidXRlPg0KKyAgICAgIDwvb3B0aW9uYWw+DQorICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0ic3BhY2luZyI+DQorICAgICAgICAgICAgPGNob2ljZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+bm9ybWFsPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+Y29tcGFjdDwvdmFsdWU+DQorICAgICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgICAgPC9hdHRyaWJ1dGU+DQorICAgICAgPC9vcHRpb25hbD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Imxpc3RpdGVtLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJsaXN0aXRlbSI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0ibGlzdGl0ZW0iPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ibGlzdGl0ZW0uYXR0bGlzdCIvPg0KKyAgICAgICAgIDxvbmVPck1vcmU+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJjb21wb25lbnQubWl4Ii8+DQorICAgICAgICAgPC9vbmVPck1vcmU+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ibGlzdGl0ZW0uYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJsaXN0aXRlbS5yb2xlLmF0dHJpYiIvPg0KKyAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICA8YXR0cmlidXRlIG5hbWU9Im92ZXJyaWRlIj4NCisgICAgICAgICAgICA8ZGF0YSB0eXBlPSJzdHJpbmciLz4NCisgICAgICAgICA8L2F0dHJpYnV0ZT4NCisgICAgICA8L29wdGlvbmFsPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic2VnbWVudGVkbGlzdC5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic2VnbWVudGVkbGlzdCI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0ic2VnbWVudGVkbGlzdCI+DQorICAgICAgICAgPHJlZiBuYW1lPSJzZWdtZW50ZWRsaXN0LmF0dGxpc3QiLz4NCisgICAgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJmb3JtYWxvYmplY3QudGl0bGUuY29udGVudCIvPg0KKyAgICAgICAgIDwvb3B0aW9uYWw+DQorICAgICAgICAgPHJlZiBuYW1lPSJzZWd0aXRsZSIvPg0KKyAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0ic2VndGl0bGUiLz4NCisgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPG9uZU9yTW9yZT4NCisgICAgICAgICAgICA8cmVmIG5hbWU9InNlZ2xpc3RpdGVtIi8+DQorICAgICAgICAgPC9vbmVPck1vcmU+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic2VnbWVudGVkbGlzdC5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InNlZ21lbnRlZGxpc3Qucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InNlZ3RpdGxlLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJzZWd0aXRsZSI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0ic2VndGl0bGUiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ic2VndGl0bGUuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxtaXhlZD4NCisgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9InRpdGxlLmNoYXIubWl4Ii8+DQorICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDwvbWl4ZWQ+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic2VndGl0bGUuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJzZWd0aXRsZS5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic2VnbGlzdGl0ZW0ucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InNlZ2xpc3RpdGVtIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJzZWdsaXN0aXRlbSI+DQorICAgICAgICAgPHJlZiBuYW1lPSJzZWdsaXN0aXRlbS5hdHRsaXN0Ii8+DQorICAgICAgICAgPHJlZiBuYW1lPSJzZWciLz4NCisgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICA8cmVmIG5hbWU9InNlZyIvPg0KKyAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJzZWdsaXN0aXRlbS5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InNlZ2xpc3RpdGVtLnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJzZWcucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InNlZyI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0ic2VnIj4NCisgICAgICAgICA8cmVmIG5hbWU9InNlZy5hdHRsaXN0Ii8+DQorICAgICAgICAgPG1peGVkPg0KKyAgICAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0icGFyYS5jaGFyLm1peCIvPg0KKyAgICAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8L21peGVkPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InNlZy5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InNlZy5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic2ltcGxlbGlzdC5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic2ltcGxlbGlzdCI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0ic2ltcGxlbGlzdCI+DQorICAgICAgICAgPHJlZiBuYW1lPSJzaW1wbGVsaXN0LmF0dGxpc3QiLz4NCisgICAgICAgICA8b25lT3JNb3JlPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0ibWVtYmVyIi8+DQorICAgICAgICAgPC9vbmVPck1vcmU+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic2ltcGxlbGlzdC5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InNpbXBsZWxpc3Qucm9sZS5hdHRyaWIiLz4NCisgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJjb2x1bW5zIj4NCisgICAgICAgICAgICA8ZGF0YSB0eXBlPSJpbnRlZ2VyIi8+DQorICAgICAgICAgPC9hdHRyaWJ1dGU+DQorICAgICAgPC9vcHRpb25hbD4NCisgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJ0eXBlIj4NCisgICAgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5pbmxpbmU8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT52ZXJ0PC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+aG9yaXo8L3ZhbHVlPg0KKyAgICAgICAgICAgIDwvY2hvaWNlPg0KKyAgICAgICAgIDwvYXR0cmlidXRlPg0KKyAgICAgIDwvb3B0aW9uYWw+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJtZW1iZXIucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Im1lbWJlciI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0ibWVtYmVyIj4NCisgICAgICAgICA8cmVmIG5hbWU9Im1lbWJlci5hdHRsaXN0Ii8+DQorICAgICAgICAgPG1peGVkPg0KKyAgICAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0icGFyYS5jaGFyLm1peCIvPg0KKyAgICAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8L21peGVkPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Im1lbWJlci5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9Im1lbWJlci5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0idmFyaWFibGVsaXN0LnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJ2YXJpYWJsZWxpc3QiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9InZhcmlhYmxlbGlzdCI+DQorICAgICAgICAgPHJlZiBuYW1lPSJ2YXJpYWJsZWxpc3QuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICAgICA8cmVmIG5hbWU9ImZvcm1hbG9iamVjdC50aXRsZS5jb250ZW50Ii8+DQorICAgICAgICAgPC9vcHRpb25hbD4NCisgICAgICAgICA8b25lT3JNb3JlPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0idmFybGlzdGVudHJ5Ii8+DQorICAgICAgICAgPC9vbmVPck1vcmU+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0idmFyaWFibGVsaXN0LmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0idmFyaWFibGVsaXN0LnJvbGUuYXR0cmliIi8+DQorICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0idGVybWxlbmd0aCI+DQorICAgICAgICAgICAgPGRhdGEgdHlwZT0ic3RyaW5nIi8+DQorICAgICAgICAgPC9hdHRyaWJ1dGU+DQorICAgICAgPC9vcHRpb25hbD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InZhcmxpc3RlbnRyeS5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0idmFybGlzdGVudHJ5Ij4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJ2YXJsaXN0ZW50cnkiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0idmFybGlzdGVudHJ5LmF0dGxpc3QiLz4NCisgICAgICAgICA8b25lT3JNb3JlPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0idGVybSIvPg0KKyAgICAgICAgIDwvb25lT3JNb3JlPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ibGlzdGl0ZW0iLz4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJ2YXJsaXN0ZW50cnkuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJ2YXJsaXN0ZW50cnkucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InRlcm0ucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InRlcm0iPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9InRlcm0iPg0KKyAgICAgICAgIDxyZWYgbmFtZT0idGVybS5hdHRsaXN0Ii8+DQorICAgICAgICAgPG1peGVkPg0KKyAgICAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0icGFyYS5jaGFyLm1peCIvPg0KKyAgICAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8L21peGVkPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InRlcm0uYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJ0ZXJtLnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJjYWxsb3V0bGlzdC5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iY2FsbG91dGxpc3QiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9ImNhbGxvdXRsaXN0Ij4NCisgICAgICAgICA8cmVmIG5hbWU9ImNhbGxvdXRsaXN0LmF0dGxpc3QiLz4NCisgICAgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJmb3JtYWxvYmplY3QudGl0bGUuY29udGVudCIvPg0KKyAgICAgICAgIDwvb3B0aW9uYWw+DQorICAgICAgICAgPG9uZU9yTW9yZT4NCisgICAgICAgICAgICA8cmVmIG5hbWU9ImNhbGxvdXQiLz4NCisgICAgICAgICA8L29uZU9yTW9yZT4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJjYWxsb3V0bGlzdC5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImNhbGxvdXRsaXN0LnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJjYWxsb3V0LnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJjYWxsb3V0Ij4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJjYWxsb3V0Ij4NCisgICAgICAgICA8cmVmIG5hbWU9ImNhbGxvdXQuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxvbmVPck1vcmU+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJjb21wb25lbnQubWl4Ii8+DQorICAgICAgICAgPC9vbmVPck1vcmU+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iY2FsbG91dC5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImNhbGxvdXQucm9sZS5hdHRyaWIiLz4NCisgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJhcmVhcmVmcyI+DQorICAgICAgICAgICAgPGRhdGEgdHlwZT0iSURSRUZTIi8+DQorICAgICAgICAgPC9hdHRyaWJ1dGU+DQorICAgICAgPC9vcHRpb25hbD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImV4YW1wbGUucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImV4YW1wbGUiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9ImV4YW1wbGUiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iZXhhbXBsZS5hdHRsaXN0Ii8+DQorICAgICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0iZm9ybWFsb2JqZWN0LnRpdGxlLmNvbnRlbnQiLz4NCisgICAgICAgICA8L29wdGlvbmFsPg0KKyAgICAgICAgIDxvbmVPck1vcmU+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJleGFtcGxlLm1peCIvPg0KKyAgICAgICAgIDwvb25lT3JNb3JlPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImV4YW1wbGUuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJsYWJlbC5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9IndpZHRoLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iZXhhbXBsZS5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iaW5mb3JtYWxleGFtcGxlLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJpbmZvcm1hbGV4YW1wbGUiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9ImluZm9ybWFsZXhhbXBsZSI+DQorICAgICAgICAgPHJlZiBuYW1lPSJpbmZvcm1hbGV4YW1wbGUuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxvbmVPck1vcmU+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJleGFtcGxlLm1peCIvPg0KKyAgICAgICAgIDwvb25lT3JNb3JlPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImluZm9ybWFsZXhhbXBsZS5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9IndpZHRoLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iaW5mb3JtYWxleGFtcGxlLnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJwcm9ncmFtbGlzdGluZ2NvLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJwcm9ncmFtbGlzdGluZ2NvIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJwcm9ncmFtbGlzdGluZ2NvIj4NCisgICAgICAgICA8cmVmIG5hbWU9InByb2dyYW1saXN0aW5nY28uYXR0bGlzdCIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iYXJlYXNwZWMiLz4NCisgICAgICAgICA8cmVmIG5hbWU9InByb2dyYW1saXN0aW5nIi8+DQorICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJjYWxsb3V0bGlzdCIvPg0KKyAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJwcm9ncmFtbGlzdGluZ2NvLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0icHJvZ3JhbWxpc3Rpbmdjby5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iYXJlYXNwZWMucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImFyZWFzcGVjIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJhcmVhc3BlYyI+DQorICAgICAgICAgPHJlZiBuYW1lPSJhcmVhc3BlYy5hdHRsaXN0Ii8+DQorICAgICAgICAgPG9uZU9yTW9yZT4NCisgICAgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iYXJlYSIvPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iYXJlYXNldCIvPg0KKyAgICAgICAgICAgIDwvY2hvaWNlPg0KKyAgICAgICAgIDwvb25lT3JNb3JlPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImFyZWFzcGVjLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iYXJlYXNwZWMucm9sZS5hdHRyaWIiLz4NCisgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJ1bml0cyI+DQorICAgICAgICAgICAgPGNob2ljZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+Y2Fsc3BhaXI8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5saW5lY29sdW1uPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+bGluZXJhbmdlPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+bGluZWNvbHVtbnBhaXI8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5vdGhlcjwvdmFsdWU+DQorICAgICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgICAgPC9hdHRyaWJ1dGU+DQorICAgICAgPC9vcHRpb25hbD4NCisgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJvdGhlcnVuaXRzIj4NCisgICAgICAgICAgICA8ZGF0YSB0eXBlPSJOTVRPS0VOIi8+DQorICAgICAgICAgPC9hdHRyaWJ1dGU+DQorICAgICAgPC9vcHRpb25hbD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImFyZWEucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImFyZWEiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9ImFyZWEiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iYXJlYS5hdHRsaXN0Ii8+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iYXJlYS5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImxhYmVsLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0ibGlua2VuZHMuYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJpZHJlcS5jb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJhcmVhLnJvbGUuYXR0cmliIi8+DQorICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0idW5pdHMiPg0KKyAgICAgICAgICAgIDxjaG9pY2U+DQorICAgICAgICAgICAgICAgPHZhbHVlPmNhbHNwYWlyPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+bGluZWNvbHVtbjwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPmxpbmVyYW5nZTwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPmxpbmVjb2x1bW5wYWlyPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+b3RoZXI8L3ZhbHVlPg0KKyAgICAgICAgICAgIDwvY2hvaWNlPg0KKyAgICAgICAgIDwvYXR0cmlidXRlPg0KKyAgICAgIDwvb3B0aW9uYWw+DQorICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0ib3RoZXJ1bml0cyI+DQorICAgICAgICAgICAgPGRhdGEgdHlwZT0iTk1UT0tFTiIvPg0KKyAgICAgICAgIDwvYXR0cmlidXRlPg0KKyAgICAgIDwvb3B0aW9uYWw+DQorICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJjb29yZHMiPg0KKyAgICAgICAgIDxkYXRhIHR5cGU9InN0cmluZyIvPg0KKyAgICAgIDwvYXR0cmlidXRlPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iYXJlYXNldC5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iYXJlYXNldCI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0iYXJlYXNldCI+DQorICAgICAgICAgPHJlZiBuYW1lPSJhcmVhc2V0LmF0dGxpc3QiLz4NCisgICAgICAgICA8b25lT3JNb3JlPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0iYXJlYSIvPg0KKyAgICAgICAgIDwvb25lT3JNb3JlPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImFyZWFzZXQuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJsYWJlbC5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImlkcmVxLmNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImFyZWFzZXQucm9sZS5hdHRyaWIiLz4NCisgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJ1bml0cyI+DQorICAgICAgICAgICAgPGNob2ljZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+Y2Fsc3BhaXI8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5saW5lY29sdW1uPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+bGluZXJhbmdlPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+bGluZWNvbHVtbnBhaXI8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5vdGhlcjwvdmFsdWU+DQorICAgICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgICAgPC9hdHRyaWJ1dGU+DQorICAgICAgPC9vcHRpb25hbD4NCisgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJvdGhlcnVuaXRzIj4NCisgICAgICAgICAgICA8ZGF0YSB0eXBlPSJOTVRPS0VOIi8+DQorICAgICAgICAgPC9hdHRyaWJ1dGU+DQorICAgICAgPC9vcHRpb25hbD4NCisgICAgICA8YXR0cmlidXRlIG5hbWU9ImNvb3JkcyI+DQorICAgICAgICAgPGRhdGEgdHlwZT0ic3RyaW5nIi8+DQorICAgICAgPC9hdHRyaWJ1dGU+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJwcm9ncmFtbGlzdGluZy5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icHJvZ3JhbWxpc3RpbmciPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9InByb2dyYW1saXN0aW5nIj4NCisgICAgICAgICA8cmVmIG5hbWU9InByb2dyYW1saXN0aW5nLmF0dGxpc3QiLz4NCisgICAgICAgICA8bWl4ZWQ+DQorICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPGNob2ljZT4NCisgICAgICAgICAgICAgICAgICA8cmVmIG5hbWU9InBhcmEuY2hhci5taXgiLz4NCisgICAgICAgICAgICAgICAgICA8cmVmIG5hbWU9ImNvIi8+DQorICAgICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJsaW5lYW5ub3RhdGlvbiIvPg0KKyAgICAgICAgICAgICAgIDwvY2hvaWNlPg0KKyAgICAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8L21peGVkPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InByb2dyYW1saXN0aW5nLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0id2lkdGguYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJsaW5lc3BlY2lmaWMuYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJwcm9ncmFtbGlzdGluZy5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ibGl0ZXJhbGxheW91dC5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ibGl0ZXJhbGxheW91dCI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0ibGl0ZXJhbGxheW91dCI+DQorICAgICAgICAgPHJlZiBuYW1lPSJsaXRlcmFsbGF5b3V0LmF0dGxpc3QiLz4NCisgICAgICAgICA8bWl4ZWQ+DQorICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPGNob2ljZT4NCisgICAgICAgICAgICAgICAgICA8cmVmIG5hbWU9InBhcmEuY2hhci5taXgiLz4NCisgICAgICAgICAgICAgICAgICA8cmVmIG5hbWU9ImNvIi8+DQorICAgICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJsaW5lYW5ub3RhdGlvbiIvPg0KKyAgICAgICAgICAgICAgIDwvY2hvaWNlPg0KKyAgICAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8L21peGVkPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImxpdGVyYWxsYXlvdXQuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJ3aWR0aC5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImxpbmVzcGVjaWZpYy5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImxpdGVyYWxsYXlvdXQucm9sZS5hdHRyaWIiLz4NCisgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJjbGFzcyI+DQorICAgICAgICAgICAgPGNob2ljZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+bW9ub3NwYWNlZDwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPm5vcm1hbDwvdmFsdWU+DQorICAgICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgICAgPC9hdHRyaWJ1dGU+DQorICAgICAgPC9vcHRpb25hbD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InNjcmVlbmNvLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJzY3JlZW5jbyI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0ic2NyZWVuY28iPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ic2NyZWVuY28uYXR0bGlzdCIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iYXJlYXNwZWMiLz4NCisgICAgICAgICA8cmVmIG5hbWU9InNjcmVlbiIvPg0KKyAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0iY2FsbG91dGxpc3QiLz4NCisgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic2NyZWVuY28uYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJzY3JlZW5jby5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic2NyZWVuLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJzY3JlZW4iPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9InNjcmVlbiI+DQorICAgICAgICAgPHJlZiBuYW1lPSJzY3JlZW4uYXR0bGlzdCIvPg0KKyAgICAgICAgIDxtaXhlZD4NCisgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgICAgICAgIDxyZWYgbmFtZT0icGFyYS5jaGFyLm1peCIvPg0KKyAgICAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iY28iLz4NCisgICAgICAgICAgICAgICAgICA8cmVmIG5hbWU9ImxpbmVhbm5vdGF0aW9uIi8+DQorICAgICAgICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDwvbWl4ZWQ+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic2NyZWVuLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0id2lkdGguYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJsaW5lc3BlY2lmaWMuYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJzY3JlZW4ucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InNjcmVlbnNob3Qucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InNjcmVlbnNob3QiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9InNjcmVlbnNob3QiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ic2NyZWVuc2hvdC5hdHRsaXN0Ii8+DQorICAgICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0ic2NyZWVuaW5mbyIvPg0KKyAgICAgICAgIDwvb3B0aW9uYWw+DQorICAgICAgICAgPGNob2ljZT4NCisgICAgICAgICAgICA8cmVmIG5hbWU9ImdyYXBoaWMiLz4NCisgICAgICAgICAgICA8cmVmIG5hbWU9ImdyYXBoaWNjbyIvPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0ibWVkaWFvYmplY3QiLz4NCisgICAgICAgICAgICA8cmVmIG5hbWU9Im1lZGlhb2JqZWN0Y28iLz4NCisgICAgICAgICA8L2Nob2ljZT4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJzY3JlZW5zaG90LmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0ic2NyZWVuc2hvdC5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic2NyZWVuaW5mby5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic2NyZWVuaW5mbyI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0ic2NyZWVuaW5mbyI+DQorICAgICAgICAgPHJlZiBuYW1lPSJzY3JlZW5pbmZvLmF0dGxpc3QiLz4NCisgICAgICAgICA8bWl4ZWQ+DQorICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJwYXJhLmNoYXIubWl4Ii8+DQorICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDwvbWl4ZWQ+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic2NyZWVuaW5mby5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InNjcmVlbmluZm8ucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImZpZ3VyZS5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iZmlndXJlIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJmaWd1cmUiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iZmlndXJlLmF0dGxpc3QiLz4NCisgICAgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJmb3JtYWxvYmplY3QudGl0bGUuY29udGVudCIvPg0KKyAgICAgICAgIDwvb3B0aW9uYWw+DQorICAgICAgICAgPG9uZU9yTW9yZT4NCisgICAgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iZmlndXJlLm1peCIvPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0ibGluay5jaGFyLmNsYXNzIi8+DQorICAgICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgICAgPC9vbmVPck1vcmU+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iZmlndXJlLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0ibGFiZWwuYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJmaWd1cmUucm9sZS5hdHRyaWIiLz4NCisgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJmbG9hdCI+DQorICAgICAgICAgICAgPGNob2ljZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPjE8L3ZhbHVlPg0KKyAgICAgICAgICAgIDwvY2hvaWNlPg0KKyAgICAgICAgIDwvYXR0cmlidXRlPg0KKyAgICAgIDwvb3B0aW9uYWw+DQorICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0icGd3aWRlIj4NCisgICAgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+MTwvdmFsdWU+DQorICAgICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgICAgPC9hdHRyaWJ1dGU+DQorICAgICAgPC9vcHRpb25hbD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImluZm9ybWFsZmlndXJlLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJpbmZvcm1hbGZpZ3VyZSI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0iaW5mb3JtYWxmaWd1cmUiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iaW5mb3JtYWxmaWd1cmUuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxvbmVPck1vcmU+DQorICAgICAgICAgICAgPGNob2ljZT4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9ImZpZ3VyZS5taXgiLz4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9ImxpbmsuY2hhci5jbGFzcyIvPg0KKyAgICAgICAgICAgIDwvY2hvaWNlPg0KKyAgICAgICAgIDwvb25lT3JNb3JlPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImluZm9ybWFsZmlndXJlLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0ibGFiZWwuYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJpbmZvcm1hbGZpZ3VyZS5yb2xlLmF0dHJpYiIvPg0KKyAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICA8YXR0cmlidXRlIG5hbWU9ImZsb2F0Ij4NCisgICAgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+MTwvdmFsdWU+DQorICAgICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgICAgPC9hdHRyaWJ1dGU+DQorICAgICAgPC9vcHRpb25hbD4NCisgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJwZ3dpZGUiPg0KKyAgICAgICAgICAgIDxjaG9pY2U+DQorICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT4xPC92YWx1ZT4NCisgICAgICAgICAgICA8L2Nob2ljZT4NCisgICAgICAgICA8L2F0dHJpYnV0ZT4NCisgICAgICA8L29wdGlvbmFsPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iZ3JhcGhpY2NvLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJncmFwaGljY28iPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9ImdyYXBoaWNjbyI+DQorICAgICAgICAgPHJlZiBuYW1lPSJncmFwaGljY28uYXR0bGlzdCIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iYXJlYXNwZWMiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImdyYXBoaWMiLz4NCisgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICA8cmVmIG5hbWU9ImNhbGxvdXRsaXN0Ii8+DQorICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImdyYXBoaWNjby5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImdyYXBoaWNjby5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iZ3JhcGhpYy5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iZ3JhcGhpYyI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0iZ3JhcGhpYyI+DQorICAgICAgICAgPHJlZiBuYW1lPSJncmFwaGljLmF0dGxpc3QiLz4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJncmFwaGljLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iZ3JhcGhpY3MuYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJncmFwaGljLnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJpbmxpbmVncmFwaGljLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJpbmxpbmVncmFwaGljIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJpbmxpbmVncmFwaGljIj4NCisgICAgICAgICA8cmVmIG5hbWU9ImlubGluZWdyYXBoaWMuYXR0bGlzdCIvPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImlubGluZWdyYXBoaWMuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJncmFwaGljcy5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImlubGluZWdyYXBoaWMucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Im1lZGlhb2JqZWN0LnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJtZWRpYW9iamVjdCI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0ibWVkaWFvYmplY3QiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ibWVkaWFvYmplY3QuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICAgICA8cmVmIG5hbWU9Im9iamVjdGluZm8iLz4NCisgICAgICAgICA8L29wdGlvbmFsPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ibWVkaWFvYmplY3QubWl4Ii8+DQorICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgPGNob2ljZT4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9Im1lZGlhb2JqZWN0Lm1peCIvPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0idGV4dG9iamVjdCIvPg0KKyAgICAgICAgICAgIDwvY2hvaWNlPg0KKyAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJjYXB0aW9uIi8+DQorICAgICAgICAgPC9vcHRpb25hbD4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJtZWRpYW9iamVjdC5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9Im1lZGlhb2JqZWN0LnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJpbmxpbmVtZWRpYW9iamVjdC5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iaW5saW5lbWVkaWFvYmplY3QiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9ImlubGluZW1lZGlhb2JqZWN0Ij4NCisgICAgICAgICA8cmVmIG5hbWU9ImlubGluZW1lZGlhb2JqZWN0LmF0dGxpc3QiLz4NCisgICAgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJvYmplY3RpbmZvIi8+DQorICAgICAgICAgPC9vcHRpb25hbD4NCisgICAgICAgICA8cmVmIG5hbWU9Im1lZGlhb2JqZWN0Lm1peCIvPg0KKyAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgIDxjaG9pY2U+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJtZWRpYW9iamVjdC5taXgiLz4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9InRleHRvYmplY3QiLz4NCisgICAgICAgICAgICA8L2Nob2ljZT4NCisgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iaW5saW5lbWVkaWFvYmplY3QuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJpbmxpbmVtZWRpYW9iamVjdC5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0idmlkZW9vYmplY3Qucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InZpZGVvb2JqZWN0Ij4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJ2aWRlb29iamVjdCI+DQorICAgICAgICAgPHJlZiBuYW1lPSJ2aWRlb29iamVjdC5hdHRsaXN0Ii8+DQorICAgICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0ib2JqZWN0aW5mbyIvPg0KKyAgICAgICAgIDwvb3B0aW9uYWw+DQorICAgICAgICAgPHJlZiBuYW1lPSJ2aWRlb2RhdGEiLz4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJ2aWRlb29iamVjdC5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InZpZGVvb2JqZWN0LnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJhdWRpb29iamVjdC5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iYXVkaW9vYmplY3QiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9ImF1ZGlvb2JqZWN0Ij4NCisgICAgICAgICA8cmVmIG5hbWU9ImF1ZGlvb2JqZWN0LmF0dGxpc3QiLz4NCisgICAgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJvYmplY3RpbmZvIi8+DQorICAgICAgICAgPC9vcHRpb25hbD4NCisgICAgICAgICA8cmVmIG5hbWU9ImF1ZGlvZGF0YSIvPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImF1ZGlvb2JqZWN0LmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iYXVkaW9vYmplY3Qucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImltYWdlb2JqZWN0LnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJpbWFnZW9iamVjdCI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0iaW1hZ2VvYmplY3QiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iaW1hZ2VvYmplY3QuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICAgICA8cmVmIG5hbWU9Im9iamVjdGluZm8iLz4NCisgICAgICAgICA8L29wdGlvbmFsPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iaW1hZ2VkYXRhIi8+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iaW1hZ2VvYmplY3QuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJpbWFnZW9iamVjdC5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0idGV4dG9iamVjdC5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0idGV4dG9iamVjdCI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0idGV4dG9iamVjdCI+DQorICAgICAgICAgPHJlZiBuYW1lPSJ0ZXh0b2JqZWN0LmF0dGxpc3QiLz4NCisgICAgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJvYmplY3RpbmZvIi8+DQorICAgICAgICAgPC9vcHRpb25hbD4NCisgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0icGhyYXNlIi8+DQorICAgICAgICAgICAgPG9uZU9yTW9yZT4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9InRleHRvYmplY3QubWl4Ii8+DQorICAgICAgICAgICAgPC9vbmVPck1vcmU+DQorICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0idGV4dG9iamVjdC5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InRleHRvYmplY3Qucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Im9iamVjdGluZm8ucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Im9iamVjdGluZm8iPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9Im9iamVjdGluZm8iPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ib2JqZWN0aW5mby5hdHRsaXN0Ii8+DQorICAgICAgICAgPHJlZiBuYW1lPSJpbmZvQ29udGVudE1vZGVsIi8+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ib2JqZWN0aW5mby5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9Im9iamVjdGluZm8ucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Im9iamVjdGRhdGEuYXR0cmliIj4NCisgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJmaWxlcmVmIj4NCisgICAgICAgICAgICA8ZGF0YSB0eXBlPSJzdHJpbmciLz4NCisgICAgICAgICA8L2F0dHJpYnV0ZT4NCisgICAgICA8L29wdGlvbmFsPg0KKyAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICA8YXR0cmlidXRlIG5hbWU9ImZvcm1hdCI+DQorICAgICAgICAgICAgPGNob2ljZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+Qk1QPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+Q0dNLUNIQVI8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5DR00tQklOQVJZPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+Q0dNLUNMRUFSPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+RElUUk9GRjwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPkRWSTwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPkVQUzwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPkVRTjwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPkZBWDwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPkdJRjwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPkdJRjg3YTwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPkdJRjg5YTwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPkpQRzwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPkpQRUc8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5JR0VTPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+UENYPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+UElDPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+UE5HPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+UFM8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5TR01MPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+VEJMPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+VEVYPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+VElGRjwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPldNRjwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPldQRzwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPmxpbmVzcGVjaWZpYzwvdmFsdWU+DQorICAgICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgICAgPC9hdHRyaWJ1dGU+DQorICAgICAgPC9vcHRpb25hbD4NCisgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJzcmNjcmVkaXQiPg0KKyAgICAgICAgICAgIDxkYXRhIHR5cGU9InN0cmluZyIvPg0KKyAgICAgICAgIDwvYXR0cmlidXRlPg0KKyAgICAgIDwvb3B0aW9uYWw+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJ2aWRlb2RhdGEucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InZpZGVvZGF0YSI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0idmlkZW9kYXRhIj4NCisgICAgICAgICA8cmVmIG5hbWU9InZpZGVvZGF0YS5hdHRsaXN0Ii8+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0idmlkZW9kYXRhLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0ib2JqZWN0ZGF0YS5hdHRyaWIiLz4NCisgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJ3aWR0aCI+DQorICAgICAgICAgICAgPGRhdGEgdHlwZT0ic3RyaW5nIi8+DQorICAgICAgICAgPC9hdHRyaWJ1dGU+DQorICAgICAgPC9vcHRpb25hbD4NCisgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJkZXB0aCI+DQorICAgICAgICAgICAgPGRhdGEgdHlwZT0ic3RyaW5nIi8+DQorICAgICAgICAgPC9hdHRyaWJ1dGU+DQorICAgICAgPC9vcHRpb25hbD4NCisgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJhbGlnbiI+DQorICAgICAgICAgICAgPGNob2ljZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+bGVmdDwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPnJpZ2h0PC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+Y2VudGVyPC92YWx1ZT4NCisgICAgICAgICAgICA8L2Nob2ljZT4NCisgICAgICAgICA8L2F0dHJpYnV0ZT4NCisgICAgICA8L29wdGlvbmFsPg0KKyAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICA8YXR0cmlidXRlIG5hbWU9InNjYWxlIj4NCisgICAgICAgICAgICA8ZGF0YSB0eXBlPSJzdHJpbmciLz4NCisgICAgICAgICA8L2F0dHJpYnV0ZT4NCisgICAgICA8L29wdGlvbmFsPg0KKyAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICA8YXR0cmlidXRlIG5hbWU9InNjYWxlZml0Ij4NCisgICAgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+MTwvdmFsdWU+DQorICAgICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgICAgPC9hdHRyaWJ1dGU+DQorICAgICAgPC9vcHRpb25hbD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImF1ZGlvZGF0YS5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iYXVkaW9kYXRhIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJhdWRpb2RhdGEiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iYXVkaW9kYXRhLmF0dGxpc3QiLz4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJhdWRpb2RhdGEuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJvYmplY3RkYXRhLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iYXVkaW9kYXRhLnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJpbWFnZWRhdGEucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImltYWdlZGF0YSI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0iaW1hZ2VkYXRhIj4NCisgICAgICAgICA8cmVmIG5hbWU9ImltYWdlZGF0YS5hdHRsaXN0Ii8+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iaW1hZ2VkYXRhLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0ib2JqZWN0ZGF0YS5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImltYWdlZGF0YS5yb2xlLmF0dHJpYiIvPg0KKyAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICA8YXR0cmlidXRlIG5hbWU9IndpZHRoIj4NCisgICAgICAgICAgICA8ZGF0YSB0eXBlPSJzdHJpbmciLz4NCisgICAgICAgICA8L2F0dHJpYnV0ZT4NCisgICAgICA8L29wdGlvbmFsPg0KKyAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICA8YXR0cmlidXRlIG5hbWU9ImRlcHRoIj4NCisgICAgICAgICAgICA8ZGF0YSB0eXBlPSJzdHJpbmciLz4NCisgICAgICAgICA8L2F0dHJpYnV0ZT4NCisgICAgICA8L29wdGlvbmFsPg0KKyAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICA8YXR0cmlidXRlIG5hbWU9ImFsaWduIj4NCisgICAgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5sZWZ0PC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+cmlnaHQ8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5jZW50ZXI8L3ZhbHVlPg0KKyAgICAgICAgICAgIDwvY2hvaWNlPg0KKyAgICAgICAgIDwvYXR0cmlidXRlPg0KKyAgICAgIDwvb3B0aW9uYWw+DQorICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0ic2NhbGUiPg0KKyAgICAgICAgICAgIDxkYXRhIHR5cGU9InN0cmluZyIvPg0KKyAgICAgICAgIDwvYXR0cmlidXRlPg0KKyAgICAgIDwvb3B0aW9uYWw+DQorICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0ic2NhbGVmaXQiPg0KKyAgICAgICAgICAgIDxjaG9pY2U+DQorICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT4xPC92YWx1ZT4NCisgICAgICAgICAgICA8L2Nob2ljZT4NCisgICAgICAgICA8L2F0dHJpYnV0ZT4NCisgICAgICA8L29wdGlvbmFsPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iY2FwdGlvbi5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iY2FwdGlvbiI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0iY2FwdGlvbiI+DQorICAgICAgICAgPHJlZiBuYW1lPSJjYXB0aW9uLmF0dGxpc3QiLz4NCisgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICA8cmVmIG5hbWU9InRleHRvYmplY3QubWl4Ii8+DQorICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImNhcHRpb24uYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJjYXB0aW9uLnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJtZWRpYW9iamVjdGNvLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJtZWRpYW9iamVjdGNvIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJtZWRpYW9iamVjdGNvIj4NCisgICAgICAgICA8cmVmIG5hbWU9Im1lZGlhb2JqZWN0Y28uYXR0bGlzdCIvPg0KKyAgICAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICAgICA8cmVmIG5hbWU9Im9iamVjdGluZm8iLz4NCisgICAgICAgICA8L29wdGlvbmFsPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iaW1hZ2VvYmplY3RjbyIvPg0KKyAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgIDxjaG9pY2U+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJpbWFnZW9iamVjdGNvIi8+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJ0ZXh0b2JqZWN0Ii8+DQorICAgICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Im1lZGlhb2JqZWN0Y28uYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJtZWRpYW9iamVjdGNvLnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJpbWFnZW9iamVjdGNvLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJpbWFnZW9iamVjdGNvIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJpbWFnZW9iamVjdGNvIj4NCisgICAgICAgICA8cmVmIG5hbWU9ImltYWdlb2JqZWN0Y28uYXR0bGlzdCIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iYXJlYXNwZWMiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImltYWdlb2JqZWN0Ii8+DQorICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJjYWxsb3V0bGlzdCIvPg0KKyAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJpbWFnZW9iamVjdGNvLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iaW1hZ2VvYmplY3Rjby5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iZXF1YXRpb24uY29udGVudCI+DQorICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iYWx0Ii8+DQorICAgICAgPC9vcHRpb25hbD4NCisgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgIDxvbmVPck1vcmU+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJncmFwaGljIi8+DQorICAgICAgICAgPC9vbmVPck1vcmU+DQorICAgICAgICAgPG9uZU9yTW9yZT4NCisgICAgICAgICAgICA8cmVmIG5hbWU9Im1lZGlhb2JqZWN0Ii8+DQorICAgICAgICAgPC9vbmVPck1vcmU+DQorICAgICAgPC9jaG9pY2U+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJpbmxpbmVlcXVhdGlvbi5jb250ZW50Ij4NCisgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgPHJlZiBuYW1lPSJhbHQiLz4NCisgICAgICA8L29wdGlvbmFsPg0KKyAgICAgIDxjaG9pY2U+DQorICAgICAgICAgPG9uZU9yTW9yZT4NCisgICAgICAgICAgICA8cmVmIG5hbWU9ImdyYXBoaWMiLz4NCisgICAgICAgICA8L29uZU9yTW9yZT4NCisgICAgICAgICA8b25lT3JNb3JlPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0iaW5saW5lbWVkaWFvYmplY3QiLz4NCisgICAgICAgICA8L29uZU9yTW9yZT4NCisgICAgICA8L2Nob2ljZT4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImVxdWF0aW9uLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJlcXVhdGlvbiI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0iZXF1YXRpb24iPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iZXF1YXRpb24uYXR0bGlzdCIvPg0KKyAgICAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICAgICA8cmVmIG5hbWU9ImZvcm1hbG9iamVjdC50aXRsZS5jb250ZW50Ii8+DQorICAgICAgICAgPC9vcHRpb25hbD4NCisgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0iaW5mb3JtYWxlcXVhdGlvbiIvPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0iZXF1YXRpb24uY29udGVudCIvPg0KKyAgICAgICAgIDwvY2hvaWNlPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImVxdWF0aW9uLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0ibGFiZWwuYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJlcXVhdGlvbi5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iaW5mb3JtYWxlcXVhdGlvbi5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iaW5mb3JtYWxlcXVhdGlvbiI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0iaW5mb3JtYWxlcXVhdGlvbiI+DQorICAgICAgICAgPHJlZiBuYW1lPSJpbmZvcm1hbGVxdWF0aW9uLmF0dGxpc3QiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImVxdWF0aW9uLmNvbnRlbnQiLz4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJpbmZvcm1hbGVxdWF0aW9uLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iaW5mb3JtYWxlcXVhdGlvbi5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iaW5saW5lZXF1YXRpb24ucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImlubGluZWVxdWF0aW9uIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJpbmxpbmVlcXVhdGlvbiI+DQorICAgICAgICAgPHJlZiBuYW1lPSJpbmxpbmVlcXVhdGlvbi5hdHRsaXN0Ii8+DQorICAgICAgICAgPHJlZiBuYW1lPSJpbmxpbmVlcXVhdGlvbi5jb250ZW50Ii8+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iaW5saW5lZXF1YXRpb24uYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJpbmxpbmVlcXVhdGlvbi5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iYWx0LnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJhbHQiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9ImFsdCI+DQorICAgICAgICAgPHJlZiBuYW1lPSJhbHQuYXR0bGlzdCIvPg0KKyAgICAgICAgIDx0ZXh0Lz4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJhbHQuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJhbHQucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InN5bm9wc2lzLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJzeW5vcHNpcyI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0ic3lub3BzaXMiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ic3lub3BzaXMuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxtaXhlZD4NCisgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgICAgICAgIDxyZWYgbmFtZT0icGFyYS5jaGFyLm1peCIvPg0KKyAgICAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iZ3JhcGhpYyIvPg0KKyAgICAgICAgICAgICAgICAgIDxyZWYgbmFtZT0ibWVkaWFvYmplY3QiLz4NCisgICAgICAgICAgICAgICAgICA8cmVmIG5hbWU9ImxpbmVhbm5vdGF0aW9uIi8+DQorICAgICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJjbyIvPg0KKyAgICAgICAgICAgICAgIDwvY2hvaWNlPg0KKyAgICAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8L21peGVkPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InN5bm9wc2lzLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0ibGFiZWwuYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJsaW5lc3BlY2lmaWMuYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJzeW5vcHNpcy5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iY21kc3lub3BzaXMucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImNtZHN5bm9wc2lzIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJjbWRzeW5vcHNpcyI+DQorICAgICAgICAgPHJlZiBuYW1lPSJjbWRzeW5vcHNpcy5hdHRsaXN0Ii8+DQorICAgICAgICAgPG9uZU9yTW9yZT4NCisgICAgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iY29tbWFuZCIvPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iYXJnIi8+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJncm91cCIvPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0ic2JyIi8+DQorICAgICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgICAgPC9vbmVPck1vcmU+DQorICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJzeW5vcGZyYWdtZW50Ii8+DQorICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImNtZHN5bm9wc2lzLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0ibGFiZWwuYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJjbWRzeW5vcHNpcy5yb2xlLmF0dHJpYiIvPg0KKyAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICA8YXR0cmlidXRlIG5hbWU9InNlcGNoYXIiPg0KKyAgICAgICAgICAgIDxkYXRhIHR5cGU9InN0cmluZyIvPg0KKyAgICAgICAgIDwvYXR0cmlidXRlPg0KKyAgICAgIDwvb3B0aW9uYWw+DQorICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0iY21kbGVuZ3RoIj4NCisgICAgICAgICAgICA8ZGF0YSB0eXBlPSJpbnRlZ2VyIi8+DQorICAgICAgICAgPC9hdHRyaWJ1dGU+DQorICAgICAgPC9vcHRpb25hbD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImFyZy5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iYXJnIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJhcmciPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iYXJnLmF0dGxpc3QiLz4NCisgICAgICAgICA8bWl4ZWQ+DQorICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPGNob2ljZT4NCisgICAgICAgICAgICAgICAgICA8cmVmIG5hbWU9ImFyZyIvPg0KKyAgICAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iZ3JvdXAiLz4NCisgICAgICAgICAgICAgICAgICA8cmVmIG5hbWU9Im9wdGlvbiIvPg0KKyAgICAgICAgICAgICAgICAgIDxyZWYgbmFtZT0ic3lub3BmcmFnbWVudHJlZiIvPg0KKyAgICAgICAgICAgICAgICAgIDxyZWYgbmFtZT0icmVwbGFjZWFibGUiLz4NCisgICAgICAgICAgICAgICAgICA8cmVmIG5hbWU9InNiciIvPg0KKyAgICAgICAgICAgICAgIDwvY2hvaWNlPg0KKyAgICAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8L21peGVkPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImFyZy5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImFyZy5yb2xlLmF0dHJpYiIvPg0KKyAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICA8YXR0cmlidXRlIG5hbWU9ImNob2ljZSI+DQorICAgICAgICAgICAgPGNob2ljZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+b3B0PC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+cmVxPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+cGxhaW48L3ZhbHVlPg0KKyAgICAgICAgICAgIDwvY2hvaWNlPg0KKyAgICAgICAgIDwvYXR0cmlidXRlPg0KKyAgICAgIDwvb3B0aW9uYWw+DQorICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0icmVwIj4NCisgICAgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5ub3JlcGVhdDwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPnJlcGVhdDwvdmFsdWU+DQorICAgICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgICAgPC9hdHRyaWJ1dGU+DQorICAgICAgPC9vcHRpb25hbD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Imdyb3VwLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJncm91cCI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0iZ3JvdXAiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iZ3JvdXAuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxvbmVPck1vcmU+DQorICAgICAgICAgICAgPGNob2ljZT4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9ImFyZyIvPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iZ3JvdXAiLz4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9Im9wdGlvbiIvPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0ic3lub3BmcmFnbWVudHJlZiIvPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0icmVwbGFjZWFibGUiLz4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9InNiciIvPg0KKyAgICAgICAgICAgIDwvY2hvaWNlPg0KKyAgICAgICAgIDwvb25lT3JNb3JlPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Imdyb3VwLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iZ3JvdXAucm9sZS5hdHRyaWIiLz4NCisgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJjaG9pY2UiPg0KKyAgICAgICAgICAgIDxjaG9pY2U+DQorICAgICAgICAgICAgICAgPHZhbHVlPm9wdDwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPnJlcTwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPnBsYWluPC92YWx1ZT4NCisgICAgICAgICAgICA8L2Nob2ljZT4NCisgICAgICAgICA8L2F0dHJpYnV0ZT4NCisgICAgICA8L29wdGlvbmFsPg0KKyAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICA8YXR0cmlidXRlIG5hbWU9InJlcCI+DQorICAgICAgICAgICAgPGNob2ljZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+bm9yZXBlYXQ8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5yZXBlYXQ8L3ZhbHVlPg0KKyAgICAgICAgICAgIDwvY2hvaWNlPg0KKyAgICAgICAgIDwvYXR0cmlidXRlPg0KKyAgICAgIDwvb3B0aW9uYWw+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJzYnIucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InNiciI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0ic2JyIj4NCisgICAgICAgICA8cmVmIG5hbWU9InNici5hdHRsaXN0Ii8+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic2JyLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0ic2JyLnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJzeW5vcGZyYWdtZW50cmVmLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJzeW5vcGZyYWdtZW50cmVmIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJzeW5vcGZyYWdtZW50cmVmIj4NCisgICAgICAgICA8cmVmIG5hbWU9InN5bm9wZnJhZ21lbnRyZWYuYXR0bGlzdCIvPg0KKyAgICAgICAgIDx0ZXh0Lz4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJzeW5vcGZyYWdtZW50cmVmLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0ibGlua2VuZHJlcS5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InN5bm9wZnJhZ21lbnRyZWYucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InN5bm9wZnJhZ21lbnQucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InN5bm9wZnJhZ21lbnQiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9InN5bm9wZnJhZ21lbnQiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ic3lub3BmcmFnbWVudC5hdHRsaXN0Ii8+DQorICAgICAgICAgPG9uZU9yTW9yZT4NCisgICAgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iYXJnIi8+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJncm91cCIvPg0KKyAgICAgICAgICAgIDwvY2hvaWNlPg0KKyAgICAgICAgIDwvb25lT3JNb3JlPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InN5bm9wZnJhZ21lbnQuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJpZHJlcS5jb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJzeW5vcGZyYWdtZW50LnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJmdW5jc3lub3BzaXMucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImZ1bmNzeW5vcHNpcyI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0iZnVuY3N5bm9wc2lzIj4NCisgICAgICAgICA8cmVmIG5hbWU9ImZ1bmNzeW5vcHNpcy5hdHRsaXN0Ii8+DQorICAgICAgICAgPG9uZU9yTW9yZT4NCisgICAgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iZnVuY3N5bm9wc2lzaW5mbyIvPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iZnVuY3Byb3RvdHlwZSIvPg0KKyAgICAgICAgICAgIDwvY2hvaWNlPg0KKyAgICAgICAgIDwvb25lT3JNb3JlPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImZ1bmNzeW5vcHNpcy5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImxhYmVsLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iZnVuY3N5bm9wc2lzLnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJmdW5jc3lub3BzaXNpbmZvLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJmdW5jc3lub3BzaXNpbmZvIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJmdW5jc3lub3BzaXNpbmZvIj4NCisgICAgICAgICA8cmVmIG5hbWU9ImZ1bmNzeW5vcHNpc2luZm8uYXR0bGlzdCIvPg0KKyAgICAgICAgIDxtaXhlZD4NCisgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iY3B0ci5jaGFyLm1peCIvPg0KKyAgICAgICAgICAgICAgICAgIDxyZWYgbmFtZT0ibGluZWFubm90YXRpb24iLz4NCisgICAgICAgICAgICAgICA8L2Nob2ljZT4NCisgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPC9taXhlZD4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJmdW5jc3lub3BzaXNpbmZvLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0ibGluZXNwZWNpZmljLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iZnVuY3N5bm9wc2lzaW5mby5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iZnVuY3Byb3RvdHlwZS5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iZnVuY3Byb3RvdHlwZSI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0iZnVuY3Byb3RvdHlwZSI+DQorICAgICAgICAgPHJlZiBuYW1lPSJmdW5jcHJvdG90eXBlLmF0dGxpc3QiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImZ1bmNkZWYiLz4NCisgICAgICAgICA8b25lT3JNb3JlPg0KKyAgICAgICAgICAgIDxjaG9pY2U+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJ2b2lkIi8+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJ2YXJhcmdzIi8+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJwYXJhbWRlZiIvPg0KKyAgICAgICAgICAgIDwvY2hvaWNlPg0KKyAgICAgICAgIDwvb25lT3JNb3JlPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImZ1bmNwcm90b3R5cGUuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJmdW5jcHJvdG90eXBlLnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJmdW5jZGVmLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJmdW5jZGVmIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJmdW5jZGVmIj4NCisgICAgICAgICA8cmVmIG5hbWU9ImZ1bmNkZWYuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxtaXhlZD4NCisgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgICAgICAgIDxyZWYgbmFtZT0icmVwbGFjZWFibGUiLz4NCisgICAgICAgICAgICAgICAgICA8cmVmIG5hbWU9ImZ1bmN0aW9uIi8+DQorICAgICAgICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDwvbWl4ZWQ+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iZnVuY2RlZi5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImZ1bmNkZWYucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InZvaWQucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InZvaWQiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9InZvaWQiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0idm9pZC5hdHRsaXN0Ii8+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0idm9pZC5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InZvaWQucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InZhcmFyZ3Mucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InZhcmFyZ3MiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9InZhcmFyZ3MiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0idmFyYXJncy5hdHRsaXN0Ii8+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0idmFyYXJncy5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InZhcmFyZ3Mucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InBhcmFtZGVmLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJwYXJhbWRlZiI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0icGFyYW1kZWYiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0icGFyYW1kZWYuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxtaXhlZD4NCisgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgICAgICAgIDxyZWYgbmFtZT0icmVwbGFjZWFibGUiLz4NCisgICAgICAgICAgICAgICAgICA8cmVmIG5hbWU9InBhcmFtZXRlciIvPg0KKyAgICAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iZnVuY3BhcmFtcyIvPg0KKyAgICAgICAgICAgICAgIDwvY2hvaWNlPg0KKyAgICAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8L21peGVkPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InBhcmFtZGVmLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0icGFyYW1kZWYucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImZ1bmNwYXJhbXMucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImZ1bmNwYXJhbXMiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9ImZ1bmNwYXJhbXMiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iZnVuY3BhcmFtcy5hdHRsaXN0Ii8+DQorICAgICAgICAgPG1peGVkPg0KKyAgICAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iY3B0ci5jaGFyLm1peCIvPg0KKyAgICAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8L21peGVkPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImZ1bmNwYXJhbXMuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJmdW5jcGFyYW1zLnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJjbGFzc3N5bm9wc2lzLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJjbGFzc3N5bm9wc2lzIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJjbGFzc3N5bm9wc2lzIj4NCisgICAgICAgICA8cmVmIG5hbWU9ImNsYXNzc3lub3BzaXMuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxvbmVPck1vcmU+DQorICAgICAgICAgICAgPGNob2ljZT4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9Im9vY2xhc3MiLz4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9Im9vaW50ZXJmYWNlIi8+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJvb2V4Y2VwdGlvbiIvPg0KKyAgICAgICAgICAgIDwvY2hvaWNlPg0KKyAgICAgICAgIDwvb25lT3JNb3JlPg0KKyAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgIDxjaG9pY2U+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJjbGFzc3N5bm9wc2lzaW5mbyIvPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iZmllbGRzeW5vcHNpcyIvPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0ibWV0aG9kLnN5bm9wLmNsYXNzIi8+DQorICAgICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImNsYXNzc3lub3BzaXMuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJjbGFzc3N5bm9wc2lzLnJvbGUuYXR0cmliIi8+DQorICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0ibGFuZ3VhZ2UiPg0KKyAgICAgICAgICAgIDxkYXRhIHR5cGU9InN0cmluZyIvPg0KKyAgICAgICAgIDwvYXR0cmlidXRlPg0KKyAgICAgIDwvb3B0aW9uYWw+DQorICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0iY2xhc3MiPg0KKyAgICAgICAgICAgIDxjaG9pY2U+DQorICAgICAgICAgICAgICAgPHZhbHVlPmNsYXNzPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+aW50ZXJmYWNlPC92YWx1ZT4NCisgICAgICAgICAgICA8L2Nob2ljZT4NCisgICAgICAgICA8L2F0dHJpYnV0ZT4NCisgICAgICA8L29wdGlvbmFsPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iY2xhc3NzeW5vcHNpc2luZm8ucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImNsYXNzc3lub3BzaXNpbmZvIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJjbGFzc3N5bm9wc2lzaW5mbyI+DQorICAgICAgICAgPHJlZiBuYW1lPSJjbGFzc3N5bm9wc2lzaW5mby5hdHRsaXN0Ii8+DQorICAgICAgICAgPG1peGVkPg0KKyAgICAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxjaG9pY2U+DQorICAgICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJjcHRyLmNoYXIubWl4Ii8+DQorICAgICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJsaW5lYW5ub3RhdGlvbiIvPg0KKyAgICAgICAgICAgICAgIDwvY2hvaWNlPg0KKyAgICAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8L21peGVkPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImNsYXNzc3lub3BzaXNpbmZvLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0ibGluZXNwZWNpZmljLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iY2xhc3NzeW5vcHNpc2luZm8ucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Im9vY2xhc3Mucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Im9vY2xhc3MiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9Im9vY2xhc3MiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ib29jbGFzcy5hdHRsaXN0Ii8+DQorICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJtb2RpZmllciIvPg0KKyAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8cmVmIG5hbWU9ImNsYXNzbmFtZSIvPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Im9vY2xhc3MuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJvb2NsYXNzLnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJvb2ludGVyZmFjZS5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ib29pbnRlcmZhY2UiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9Im9vaW50ZXJmYWNlIj4NCisgICAgICAgICA8cmVmIG5hbWU9Im9vaW50ZXJmYWNlLmF0dGxpc3QiLz4NCisgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICA8cmVmIG5hbWU9Im1vZGlmaWVyIi8+DQorICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iaW50ZXJmYWNlbmFtZSIvPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Im9vaW50ZXJmYWNlLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0ib29pbnRlcmZhY2Uucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Im9vZXhjZXB0aW9uLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJvb2V4Y2VwdGlvbiI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0ib29leGNlcHRpb24iPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ib29leGNlcHRpb24uYXR0bGlzdCIvPg0KKyAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0ibW9kaWZpZXIiLz4NCisgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPHJlZiBuYW1lPSJleGNlcHRpb25uYW1lIi8+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ib29leGNlcHRpb24uYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJvb2V4Y2VwdGlvbi5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ibW9kaWZpZXIucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Im1vZGlmaWVyIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJtb2RpZmllciI+DQorICAgICAgICAgPHJlZiBuYW1lPSJtb2RpZmllci5hdHRsaXN0Ii8+DQorICAgICAgICAgPG1peGVkPg0KKyAgICAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0ic21hbGxjcHRyLmNoYXIubWl4Ii8+DQorICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDwvbWl4ZWQ+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ibW9kaWZpZXIuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJtb2RpZmllci5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iaW50ZXJmYWNlbmFtZS5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iaW50ZXJmYWNlbmFtZSI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0iaW50ZXJmYWNlbmFtZSI+DQorICAgICAgICAgPHJlZiBuYW1lPSJpbnRlcmZhY2VuYW1lLmF0dGxpc3QiLz4NCisgICAgICAgICA8bWl4ZWQ+DQorICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJzbWFsbGNwdHIuY2hhci5taXgiLz4NCisgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPC9taXhlZD4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJpbnRlcmZhY2VuYW1lLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iaW50ZXJmYWNlbmFtZS5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iZXhjZXB0aW9ubmFtZS5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iZXhjZXB0aW9ubmFtZSI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0iZXhjZXB0aW9ubmFtZSI+DQorICAgICAgICAgPHJlZiBuYW1lPSJleGNlcHRpb25uYW1lLmF0dGxpc3QiLz4NCisgICAgICAgICA8bWl4ZWQ+DQorICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJzbWFsbGNwdHIuY2hhci5taXgiLz4NCisgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPC9taXhlZD4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJleGNlcHRpb25uYW1lLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iZXhjZXB0aW9ubmFtZS5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iZmllbGRzeW5vcHNpcy5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iZmllbGRzeW5vcHNpcyI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0iZmllbGRzeW5vcHNpcyI+DQorICAgICAgICAgPHJlZiBuYW1lPSJmaWVsZHN5bm9wc2lzLmF0dGxpc3QiLz4NCisgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICA8cmVmIG5hbWU9Im1vZGlmaWVyIi8+DQorICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICAgICA8cmVmIG5hbWU9InR5cGUiLz4NCisgICAgICAgICA8L29wdGlvbmFsPg0KKyAgICAgICAgIDxyZWYgbmFtZT0idmFybmFtZSIvPg0KKyAgICAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICAgICA8cmVmIG5hbWU9ImluaXRpYWxpemVyIi8+DQorICAgICAgICAgPC9vcHRpb25hbD4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJmaWVsZHN5bm9wc2lzLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iZmllbGRzeW5vcHNpcy5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iaW5pdGlhbGl6ZXIucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImluaXRpYWxpemVyIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJpbml0aWFsaXplciI+DQorICAgICAgICAgPHJlZiBuYW1lPSJpbml0aWFsaXplci5hdHRsaXN0Ii8+DQorICAgICAgICAgPG1peGVkPg0KKyAgICAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0ic21hbGxjcHRyLmNoYXIubWl4Ii8+DQorICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDwvbWl4ZWQ+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iaW5pdGlhbGl6ZXIuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJpbml0aWFsaXplci5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iY29uc3RydWN0b3JzeW5vcHNpcy5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iY29uc3RydWN0b3JzeW5vcHNpcyI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0iY29uc3RydWN0b3JzeW5vcHNpcyI+DQorICAgICAgICAgPHJlZiBuYW1lPSJjb25zdHJ1Y3RvcnN5bm9wc2lzLmF0dGxpc3QiLz4NCisgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICA8cmVmIG5hbWU9Im1vZGlmaWVyIi8+DQorICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICAgICA8cmVmIG5hbWU9Im1ldGhvZG5hbWUiLz4NCisgICAgICAgICA8L29wdGlvbmFsPg0KKyAgICAgICAgIDxjaG9pY2U+DQorICAgICAgICAgICAgPG9uZU9yTW9yZT4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9Im1ldGhvZHBhcmFtIi8+DQorICAgICAgICAgICAgPC9vbmVPck1vcmU+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJ2b2lkIi8+DQorICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJleGNlcHRpb25uYW1lIi8+DQorICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImNvbnN0cnVjdG9yc3lub3BzaXMuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJjb25zdHJ1Y3RvcnN5bm9wc2lzLnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJkZXN0cnVjdG9yc3lub3BzaXMucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImRlc3RydWN0b3JzeW5vcHNpcyI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0iZGVzdHJ1Y3RvcnN5bm9wc2lzIj4NCisgICAgICAgICA8cmVmIG5hbWU9ImRlc3RydWN0b3JzeW5vcHNpcy5hdHRsaXN0Ii8+DQorICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJtb2RpZmllciIvPg0KKyAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJtZXRob2RuYW1lIi8+DQorICAgICAgICAgPC9vcHRpb25hbD4NCisgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgIDxvbmVPck1vcmU+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJtZXRob2RwYXJhbSIvPg0KKyAgICAgICAgICAgIDwvb25lT3JNb3JlPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0idm9pZCIvPg0KKyAgICAgICAgIDwvY2hvaWNlPg0KKyAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0iZXhjZXB0aW9ubmFtZSIvPg0KKyAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJkZXN0cnVjdG9yc3lub3BzaXMuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJkZXN0cnVjdG9yc3lub3BzaXMucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Im1ldGhvZHN5bm9wc2lzLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJtZXRob2RzeW5vcHNpcyI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0ibWV0aG9kc3lub3BzaXMiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ibWV0aG9kc3lub3BzaXMuYXR0bGlzdCIvPg0KKyAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0ibW9kaWZpZXIiLz4NCisgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgICAgIDxjaG9pY2U+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJ0eXBlIi8+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJ2b2lkIi8+DQorICAgICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgICAgPC9vcHRpb25hbD4NCisgICAgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJtZXRob2RuYW1lIi8+DQorICAgICAgICAgPC9vcHRpb25hbD4NCisgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgIDxvbmVPck1vcmU+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJtZXRob2RwYXJhbSIvPg0KKyAgICAgICAgICAgIDwvb25lT3JNb3JlPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0idm9pZCIvPg0KKyAgICAgICAgIDwvY2hvaWNlPg0KKyAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0iZXhjZXB0aW9ubmFtZSIvPg0KKyAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICA8cmVmIG5hbWU9Im1vZGlmaWVyIi8+DQorICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Im1ldGhvZHN5bm9wc2lzLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0ibWV0aG9kc3lub3BzaXMucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Im1ldGhvZG5hbWUucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Im1ldGhvZG5hbWUiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9Im1ldGhvZG5hbWUiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ibWV0aG9kbmFtZS5hdHRsaXN0Ii8+DQorICAgICAgICAgPG1peGVkPg0KKyAgICAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0ic21hbGxjcHRyLmNoYXIubWl4Ii8+DQorICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDwvbWl4ZWQ+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ibWV0aG9kbmFtZS5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9Im1ldGhvZG5hbWUucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Im1ldGhvZHBhcmFtLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJtZXRob2RwYXJhbSI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0ibWV0aG9kcGFyYW0iPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ibWV0aG9kcGFyYW0uYXR0bGlzdCIvPg0KKyAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9Im1vZGlmaWVyIj4NCisgICAgICAgICAgICAgICA8dGV4dC8+DQorICAgICAgICAgICAgPC9lbGVtZW50Pg0KKyAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0idHlwZSI+DQorICAgICAgICAgICAgICAgPHRleHQvPg0KKyAgICAgICAgICAgIDwvZWxlbWVudD4NCisgICAgICAgICA8L29wdGlvbmFsPg0KKyAgICAgICAgIDxjaG9pY2U+DQorICAgICAgICAgICAgPGdyb3VwPg0KKyAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InBhcmFtZXRlciI+DQorICAgICAgICAgICAgICAgICAgPHRleHQvPg0KKyAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCisgICAgICAgICAgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW5pdGlhbGl6ZXIiPg0KKyAgICAgICAgICAgICAgICAgICAgIDx0ZXh0Lz4NCisgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQorICAgICAgICAgICAgICAgPC9vcHRpb25hbD4NCisgICAgICAgICAgICA8L2dyb3VwPg0KKyAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImZ1bmNwYXJhbXMiPg0KKyAgICAgICAgICAgICAgIDx0ZXh0Lz4NCisgICAgICAgICAgICA8L2VsZW1lbnQ+DQorICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0ibW9kaWZpZXIiPg0KKyAgICAgICAgICAgICAgIDx0ZXh0Lz4NCisgICAgICAgICAgICA8L2VsZW1lbnQ+DQorICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Im1ldGhvZHBhcmFtLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0ibWV0aG9kcGFyYW0ucm9sZS5hdHRyaWIiLz4NCisgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJjaG9pY2UiPg0KKyAgICAgICAgICAgIDxjaG9pY2U+DQorICAgICAgICAgICAgICAgPHZhbHVlPm9wdDwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPnJlcTwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPnBsYWluPC92YWx1ZT4NCisgICAgICAgICAgICA8L2Nob2ljZT4NCisgICAgICAgICA8L2F0dHJpYnV0ZT4NCisgICAgICA8L29wdGlvbmFsPg0KKyAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICA8YXR0cmlidXRlIG5hbWU9InJlcCI+DQorICAgICAgICAgICAgPGNob2ljZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+bm9yZXBlYXQ8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5yZXBlYXQ8L3ZhbHVlPg0KKyAgICAgICAgICAgIDwvY2hvaWNlPg0KKyAgICAgICAgIDwvYXR0cmlidXRlPg0KKyAgICAgIDwvb3B0aW9uYWw+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJhY2tuby5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iYWNrbm8iPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9ImFja25vIj4NCisgICAgICAgICA8cmVmIG5hbWU9ImFja25vLmF0dGxpc3QiLz4NCisgICAgICAgICA8bWl4ZWQ+DQorICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJkb2NpbmZvLmNoYXIubWl4Ii8+DQorICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDwvbWl4ZWQ+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iYWNrbm8uYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJhY2tuby5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iYWRkcmVzcy5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iYWRkcmVzcyI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0iYWRkcmVzcyI+DQorICAgICAgICAgPHJlZiBuYW1lPSJhZGRyZXNzLmF0dGxpc3QiLz4NCisgICAgICAgICA8bWl4ZWQ+DQorICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPGNob2ljZT4NCisgICAgICAgICAgICAgICAgICA8cmVmIG5hbWU9InBlcnNvbi5pZGVudC5taXgiLz4NCisgICAgICAgICAgICAgICAgICA8cmVmIG5hbWU9InN0cmVldCIvPg0KKyAgICAgICAgICAgICAgICAgIDxyZWYgbmFtZT0icG9iIi8+DQorICAgICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJwb3N0Y29kZSIvPg0KKyAgICAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iY2l0eSIvPg0KKyAgICAgICAgICAgICAgICAgIDxyZWYgbmFtZT0ic3RhdGUiLz4NCisgICAgICAgICAgICAgICAgICA8cmVmIG5hbWU9ImNvdW50cnkiLz4NCisgICAgICAgICAgICAgICAgICA8cmVmIG5hbWU9InBob25lIi8+DQorICAgICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJmYXgiLz4NCisgICAgICAgICAgICAgICAgICA8cmVmIG5hbWU9ImVtYWlsIi8+DQorICAgICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJvdGhlcmFkZHIiLz4NCisgICAgICAgICAgICAgICA8L2Nob2ljZT4NCisgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPC9taXhlZD4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJhZGRyZXNzLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0ibGluZXNwZWNpZmljLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iYWRkcmVzcy5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic3RyZWV0LnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJzdHJlZXQiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9InN0cmVldCI+DQorICAgICAgICAgPHJlZiBuYW1lPSJzdHJlZXQuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxtaXhlZD4NCisgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9ImRvY2luZm8uY2hhci5taXgiLz4NCisgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPC9taXhlZD4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJzdHJlZXQuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJzdHJlZXQucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InBvYi5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icG9iIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJwb2IiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0icG9iLmF0dGxpc3QiLz4NCisgICAgICAgICA8bWl4ZWQ+DQorICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJkb2NpbmZvLmNoYXIubWl4Ii8+DQorICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDwvbWl4ZWQ+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icG9iLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0icG9iLnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJwb3N0Y29kZS5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icG9zdGNvZGUiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9InBvc3Rjb2RlIj4NCisgICAgICAgICA8cmVmIG5hbWU9InBvc3Rjb2RlLmF0dGxpc3QiLz4NCisgICAgICAgICA8bWl4ZWQ+DQorICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJkb2NpbmZvLmNoYXIubWl4Ii8+DQorICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDwvbWl4ZWQ+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icG9zdGNvZGUuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJwb3N0Y29kZS5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iY2l0eS5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iY2l0eSI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0iY2l0eSI+DQorICAgICAgICAgPHJlZiBuYW1lPSJjaXR5LmF0dGxpc3QiLz4NCisgICAgICAgICA8bWl4ZWQ+DQorICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJkb2NpbmZvLmNoYXIubWl4Ii8+DQorICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDwvbWl4ZWQ+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iY2l0eS5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImNpdHkucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InN0YXRlLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJzdGF0ZSI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0ic3RhdGUiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ic3RhdGUuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxtaXhlZD4NCisgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9ImRvY2luZm8uY2hhci5taXgiLz4NCisgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPC9taXhlZD4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJzdGF0ZS5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InN0YXRlLnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJjb3VudHJ5LnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJjb3VudHJ5Ij4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJjb3VudHJ5Ij4NCisgICAgICAgICA8cmVmIG5hbWU9ImNvdW50cnkuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxtaXhlZD4NCisgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9ImRvY2luZm8uY2hhci5taXgiLz4NCisgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPC9taXhlZD4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJjb3VudHJ5LmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iY291bnRyeS5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icGhvbmUucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InBob25lIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJwaG9uZSI+DQorICAgICAgICAgPHJlZiBuYW1lPSJwaG9uZS5hdHRsaXN0Ii8+DQorICAgICAgICAgPG1peGVkPg0KKyAgICAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iZG9jaW5mby5jaGFyLm1peCIvPg0KKyAgICAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8L21peGVkPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InBob25lLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0icGhvbmUucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImZheC5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iZmF4Ij4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJmYXgiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iZmF4LmF0dGxpc3QiLz4NCisgICAgICAgICA8bWl4ZWQ+DQorICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJkb2NpbmZvLmNoYXIubWl4Ii8+DQorICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDwvbWl4ZWQ+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iZmF4LmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iZmF4LnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJvdGhlcmFkZHIucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Im90aGVyYWRkciI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0ib3RoZXJhZGRyIj4NCisgICAgICAgICA8cmVmIG5hbWU9Im90aGVyYWRkci5hdHRsaXN0Ii8+DQorICAgICAgICAgPG1peGVkPg0KKyAgICAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iZG9jaW5mby5jaGFyLm1peCIvPg0KKyAgICAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8L21peGVkPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Im90aGVyYWRkci5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9Im90aGVyYWRkci5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iYWZmaWxpYXRpb24ucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImFmZmlsaWF0aW9uIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJhZmZpbGlhdGlvbiI+DQorICAgICAgICAgPHJlZiBuYW1lPSJhZmZpbGlhdGlvbi5hdHRsaXN0Ii8+DQorICAgICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0ic2hvcnRhZmZpbCIvPg0KKyAgICAgICAgIDwvb3B0aW9uYWw+DQorICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJqb2J0aXRsZSIvPg0KKyAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJvcmduYW1lIi8+DQorICAgICAgICAgPC9vcHRpb25hbD4NCisgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICA8cmVmIG5hbWU9Im9yZ2RpdiIvPg0KKyAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICA8cmVmIG5hbWU9ImFkZHJlc3MiLz4NCisgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iYWZmaWxpYXRpb24uYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJhZmZpbGlhdGlvbi5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic2hvcnRhZmZpbC5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic2hvcnRhZmZpbCI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0ic2hvcnRhZmZpbCI+DQorICAgICAgICAgPHJlZiBuYW1lPSJzaG9ydGFmZmlsLmF0dGxpc3QiLz4NCisgICAgICAgICA8bWl4ZWQ+DQorICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJkb2NpbmZvLmNoYXIubWl4Ii8+DQorICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDwvbWl4ZWQ+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic2hvcnRhZmZpbC5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InNob3J0YWZmaWwucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImpvYnRpdGxlLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJqb2J0aXRsZSI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0iam9idGl0bGUiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iam9idGl0bGUuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxtaXhlZD4NCisgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9ImRvY2luZm8uY2hhci5taXgiLz4NCisgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPC9taXhlZD4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJqb2J0aXRsZS5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImpvYnRpdGxlLnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJvcmdkaXYucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Im9yZ2RpdiI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0ib3JnZGl2Ij4NCisgICAgICAgICA8cmVmIG5hbWU9Im9yZ2Rpdi5hdHRsaXN0Ii8+DQorICAgICAgICAgPG1peGVkPg0KKyAgICAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iZG9jaW5mby5jaGFyLm1peCIvPg0KKyAgICAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8L21peGVkPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Im9yZ2Rpdi5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9Im9yZ2Rpdi5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iYXJ0cGFnZW51bXMucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImFydHBhZ2VudW1zIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJhcnRwYWdlbnVtcyI+DQorICAgICAgICAgPHJlZiBuYW1lPSJhcnRwYWdlbnVtcy5hdHRsaXN0Ii8+DQorICAgICAgICAgPG1peGVkPg0KKyAgICAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iZG9jaW5mby5jaGFyLm1peCIvPg0KKyAgICAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8L21peGVkPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImFydHBhZ2VudW1zLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iYXJ0cGFnZW51bXMucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImF1dGhvci5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iYXV0aG9yIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJhdXRob3IiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iYXV0aG9yLmF0dGxpc3QiLz4NCisgICAgICAgICA8b25lT3JNb3JlPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0icGVyc29uLmlkZW50Lm1peCIvPg0KKyAgICAgICAgIDwvb25lT3JNb3JlPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImF1dGhvci5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImF1dGhvci5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iYXV0aG9yZ3JvdXAucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImF1dGhvcmdyb3VwIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJhdXRob3Jncm91cCI+DQorICAgICAgICAgPHJlZiBuYW1lPSJhdXRob3Jncm91cC5hdHRsaXN0Ii8+DQorICAgICAgICAgPG9uZU9yTW9yZT4NCisgICAgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iYXV0aG9yIi8+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJlZGl0b3IiLz4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9ImNvbGxhYiIvPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iY29ycGF1dGhvciIvPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0ib3RoZXJjcmVkaXQiLz4NCisgICAgICAgICAgICA8L2Nob2ljZT4NCisgICAgICAgICA8L29uZU9yTW9yZT4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJhdXRob3Jncm91cC5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImF1dGhvcmdyb3VwLnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJjb2xsYWIucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImNvbGxhYiI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0iY29sbGFiIj4NCisgICAgICAgICA8cmVmIG5hbWU9ImNvbGxhYi5hdHRsaXN0Ii8+DQorICAgICAgICAgPHJlZiBuYW1lPSJjb2xsYWJuYW1lIi8+DQorICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJhZmZpbGlhdGlvbiIvPg0KKyAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJjb2xsYWIuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJjb2xsYWIucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImNvbGxhYm5hbWUucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImNvbGxhYm5hbWUiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9ImNvbGxhYm5hbWUiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iY29sbGFibmFtZS5hdHRsaXN0Ii8+DQorICAgICAgICAgPG1peGVkPg0KKyAgICAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iZG9jaW5mby5jaGFyLm1peCIvPg0KKyAgICAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8L21peGVkPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImNvbGxhYm5hbWUuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJjb2xsYWJuYW1lLnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJhdXRob3Jpbml0aWFscy5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iYXV0aG9yaW5pdGlhbHMiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9ImF1dGhvcmluaXRpYWxzIj4NCisgICAgICAgICA8cmVmIG5hbWU9ImF1dGhvcmluaXRpYWxzLmF0dGxpc3QiLz4NCisgICAgICAgICA8bWl4ZWQ+DQorICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJkb2NpbmZvLmNoYXIubWl4Ii8+DQorICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDwvbWl4ZWQ+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iYXV0aG9yaW5pdGlhbHMuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJhdXRob3Jpbml0aWFscy5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iY29uZmdyb3VwLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJjb25mZ3JvdXAiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9ImNvbmZncm91cCI+DQorICAgICAgICAgPHJlZiBuYW1lPSJjb25mZ3JvdXAuYXR0bGlzdCIvPg0KKyAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgIDxjaG9pY2U+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJjb25mZGF0ZXMiLz4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9ImNvbmZ0aXRsZSIvPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iY29uZm51bSIvPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iYWRkcmVzcyIvPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iY29uZnNwb25zb3IiLz4NCisgICAgICAgICAgICA8L2Nob2ljZT4NCisgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iY29uZmdyb3VwLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iY29uZmdyb3VwLnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJjb25mZGF0ZXMucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImNvbmZkYXRlcyI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0iY29uZmRhdGVzIj4NCisgICAgICAgICA8cmVmIG5hbWU9ImNvbmZkYXRlcy5hdHRsaXN0Ii8+DQorICAgICAgICAgPG1peGVkPg0KKyAgICAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iZG9jaW5mby5jaGFyLm1peCIvPg0KKyAgICAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8L21peGVkPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImNvbmZkYXRlcy5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImNvbmZkYXRlcy5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iY29uZnRpdGxlLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJjb25mdGl0bGUiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9ImNvbmZ0aXRsZSI+DQorICAgICAgICAgPHJlZiBuYW1lPSJjb25mdGl0bGUuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxtaXhlZD4NCisgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9ImRvY2luZm8uY2hhci5taXgiLz4NCisgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPC9taXhlZD4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJjb25mdGl0bGUuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJjb25mdGl0bGUucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImNvbmZudW0ucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImNvbmZudW0iPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9ImNvbmZudW0iPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iY29uZm51bS5hdHRsaXN0Ii8+DQorICAgICAgICAgPG1peGVkPg0KKyAgICAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iZG9jaW5mby5jaGFyLm1peCIvPg0KKyAgICAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8L21peGVkPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImNvbmZudW0uYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJjb25mbnVtLnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJjb25mc3BvbnNvci5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iY29uZnNwb25zb3IiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9ImNvbmZzcG9uc29yIj4NCisgICAgICAgICA8cmVmIG5hbWU9ImNvbmZzcG9uc29yLmF0dGxpc3QiLz4NCisgICAgICAgICA8bWl4ZWQ+DQorICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJkb2NpbmZvLmNoYXIubWl4Ii8+DQorICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDwvbWl4ZWQ+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iY29uZnNwb25zb3IuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJjb25mc3BvbnNvci5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iY29udHJhY3RudW0ucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImNvbnRyYWN0bnVtIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJjb250cmFjdG51bSI+DQorICAgICAgICAgPHJlZiBuYW1lPSJjb250cmFjdG51bS5hdHRsaXN0Ii8+DQorICAgICAgICAgPG1peGVkPg0KKyAgICAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iZG9jaW5mby5jaGFyLm1peCIvPg0KKyAgICAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8L21peGVkPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImNvbnRyYWN0bnVtLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iY29udHJhY3RudW0ucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImNvbnRyYWN0c3BvbnNvci5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iY29udHJhY3RzcG9uc29yIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJjb250cmFjdHNwb25zb3IiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iY29udHJhY3RzcG9uc29yLmF0dGxpc3QiLz4NCisgICAgICAgICA8bWl4ZWQ+DQorICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJkb2NpbmZvLmNoYXIubWl4Ii8+DQorICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDwvbWl4ZWQ+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iY29udHJhY3RzcG9uc29yLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iY29udHJhY3RzcG9uc29yLnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJjb3B5cmlnaHQucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImNvcHlyaWdodCI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0iY29weXJpZ2h0Ij4NCisgICAgICAgICA8cmVmIG5hbWU9ImNvcHlyaWdodC5hdHRsaXN0Ii8+DQorICAgICAgICAgPG9uZU9yTW9yZT4NCisgICAgICAgICAgICA8cmVmIG5hbWU9InllYXIiLz4NCisgICAgICAgICA8L29uZU9yTW9yZT4NCisgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICA8cmVmIG5hbWU9ImhvbGRlciIvPg0KKyAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJjb3B5cmlnaHQuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJjb3B5cmlnaHQucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InllYXIucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InllYXIiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9InllYXIiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ieWVhci5hdHRsaXN0Ii8+DQorICAgICAgICAgPG1peGVkPg0KKyAgICAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iZG9jaW5mby5jaGFyLm1peCIvPg0KKyAgICAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8L21peGVkPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InllYXIuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJ5ZWFyLnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJob2xkZXIucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImhvbGRlciI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0iaG9sZGVyIj4NCisgICAgICAgICA8cmVmIG5hbWU9ImhvbGRlci5hdHRsaXN0Ii8+DQorICAgICAgICAgPG1peGVkPg0KKyAgICAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iZG9jaW5mby5jaGFyLm1peCIvPg0KKyAgICAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8L21peGVkPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImhvbGRlci5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImhvbGRlci5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iY29ycGF1dGhvci5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iY29ycGF1dGhvciI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0iY29ycGF1dGhvciI+DQorICAgICAgICAgPHJlZiBuYW1lPSJjb3JwYXV0aG9yLmF0dGxpc3QiLz4NCisgICAgICAgICA8bWl4ZWQ+DQorICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJkb2NpbmZvLmNoYXIubWl4Ii8+DQorICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDwvbWl4ZWQ+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iY29ycGF1dGhvci5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImNvcnBhdXRob3Iucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImNvcnBuYW1lLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJjb3JwbmFtZSI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0iY29ycG5hbWUiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iY29ycG5hbWUuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxtaXhlZD4NCisgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9ImRvY2luZm8uY2hhci5taXgiLz4NCisgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPC9taXhlZD4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJjb3JwbmFtZS5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImNvcnBuYW1lLnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJkYXRlLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJkYXRlIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJkYXRlIj4NCisgICAgICAgICA8cmVmIG5hbWU9ImRhdGUuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxtaXhlZD4NCisgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9ImRvY2luZm8uY2hhci5taXgiLz4NCisgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPC9taXhlZD4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJkYXRlLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iZGF0ZS5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iZWRpdGlvbi5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iZWRpdGlvbiI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0iZWRpdGlvbiI+DQorICAgICAgICAgPHJlZiBuYW1lPSJlZGl0aW9uLmF0dGxpc3QiLz4NCisgICAgICAgICA8bWl4ZWQ+DQorICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJkb2NpbmZvLmNoYXIubWl4Ii8+DQorICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDwvbWl4ZWQ+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iZWRpdGlvbi5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImVkaXRpb24ucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImVkaXRvci5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iZWRpdG9yIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJlZGl0b3IiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iZWRpdG9yLmF0dGxpc3QiLz4NCisgICAgICAgICA8b25lT3JNb3JlPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0icGVyc29uLmlkZW50Lm1peCIvPg0KKyAgICAgICAgIDwvb25lT3JNb3JlPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImVkaXRvci5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImVkaXRvci5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iaXNibi5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iaXNibiI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0iaXNibiI+DQorICAgICAgICAgPHJlZiBuYW1lPSJpc2JuLmF0dGxpc3QiLz4NCisgICAgICAgICA8bWl4ZWQ+DQorICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJkb2NpbmZvLmNoYXIubWl4Ii8+DQorICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDwvbWl4ZWQ+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iaXNibi5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImlzYm4ucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Imlzc24ucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Imlzc24iPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9Imlzc24iPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iaXNzbi5hdHRsaXN0Ii8+DQorICAgICAgICAgPG1peGVkPg0KKyAgICAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iZG9jaW5mby5jaGFyLm1peCIvPg0KKyAgICAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8L21peGVkPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Imlzc24uYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJpc3NuLnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJpbnZwYXJ0bnVtYmVyLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJpbnZwYXJ0bnVtYmVyIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJpbnZwYXJ0bnVtYmVyIj4NCisgICAgICAgICA8cmVmIG5hbWU9ImludnBhcnRudW1iZXIuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxtaXhlZD4NCisgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9ImRvY2luZm8uY2hhci5taXgiLz4NCisgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPC9taXhlZD4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJpbnZwYXJ0bnVtYmVyLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iaW52cGFydG51bWJlci5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iaXNzdWVudW0ucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Imlzc3VlbnVtIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJpc3N1ZW51bSI+DQorICAgICAgICAgPHJlZiBuYW1lPSJpc3N1ZW51bS5hdHRsaXN0Ii8+DQorICAgICAgICAgPG1peGVkPg0KKyAgICAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iZG9jaW5mby5jaGFyLm1peCIvPg0KKyAgICAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8L21peGVkPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Imlzc3VlbnVtLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iaXNzdWVudW0ucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImxlZ2Fsbm90aWNlLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJsZWdhbG5vdGljZSI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0ibGVnYWxub3RpY2UiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ibGVnYWxub3RpY2UuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICAgICA8cmVmIG5hbWU9InRpdGxlIi8+DQorICAgICAgICAgPC9vcHRpb25hbD4NCisgICAgICAgICA8b25lT3JNb3JlPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0ibGVnYWxub3RpY2UubWl4Ii8+DQorICAgICAgICAgPC9vbmVPck1vcmU+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ibGVnYWxub3RpY2UuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJsZWdhbG5vdGljZS5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ibW9kZXNwZWMucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Im1vZGVzcGVjIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJtb2Rlc3BlYyI+DQorICAgICAgICAgPHJlZiBuYW1lPSJtb2Rlc3BlYy5hdHRsaXN0Ii8+DQorICAgICAgICAgPG1peGVkPg0KKyAgICAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iZG9jaW5mby5jaGFyLm1peCIvPg0KKyAgICAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8L21peGVkPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Im1vZGVzcGVjLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0ibW9kZXNwZWMucm9sZS5hdHRyaWIiLz4NCisgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJhcHBsaWNhdGlvbiI+DQorICAgICAgICAgICAgPGNob2ljZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+Qk1QPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+Q0dNLUNIQVI8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5DR00tQklOQVJZPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+Q0dNLUNMRUFSPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+RElUUk9GRjwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPkRWSTwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPkVQUzwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPkVRTjwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPkZBWDwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPkdJRjwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPkdJRjg3YTwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPkdJRjg5YTwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPkpQRzwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPkpQRUc8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5JR0VTPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+UENYPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+UElDPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+UE5HPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+UFM8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5TR01MPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+VEJMPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+VEVYPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+VElGRjwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPldNRjwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPldQRzwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPmxpbmVzcGVjaWZpYzwvdmFsdWU+DQorICAgICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgICAgPC9hdHRyaWJ1dGU+DQorICAgICAgPC9vcHRpb25hbD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Im9yZ25hbWUucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Im9yZ25hbWUiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9Im9yZ25hbWUiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ib3JnbmFtZS5hdHRsaXN0Ii8+DQorICAgICAgICAgPG1peGVkPg0KKyAgICAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iZG9jaW5mby5jaGFyLm1peCIvPg0KKyAgICAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8L21peGVkPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Im9yZ25hbWUuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJvcmduYW1lLnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJvdGhlcmNyZWRpdC5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ib3RoZXJjcmVkaXQiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9Im90aGVyY3JlZGl0Ij4NCisgICAgICAgICA8cmVmIG5hbWU9Im90aGVyY3JlZGl0LmF0dGxpc3QiLz4NCisgICAgICAgICA8b25lT3JNb3JlPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0icGVyc29uLmlkZW50Lm1peCIvPg0KKyAgICAgICAgIDwvb25lT3JNb3JlPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Im90aGVyY3JlZGl0LmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0ib3RoZXJjcmVkaXQucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InBhZ2VudW1zLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJwYWdlbnVtcyI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0icGFnZW51bXMiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0icGFnZW51bXMuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxtaXhlZD4NCisgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9ImRvY2luZm8uY2hhci5taXgiLz4NCisgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPC9taXhlZD4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJwYWdlbnVtcy5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InBhZ2VudW1zLnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJjb250cmliLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJjb250cmliIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJjb250cmliIj4NCisgICAgICAgICA8cmVmIG5hbWU9ImNvbnRyaWIuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxtaXhlZD4NCisgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9ImRvY2luZm8uY2hhci5taXgiLz4NCisgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPC9taXhlZD4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJjb250cmliLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iY29udHJpYi5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iZmlyc3RuYW1lLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJmaXJzdG5hbWUiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9ImZpcnN0bmFtZSI+DQorICAgICAgICAgPHJlZiBuYW1lPSJmaXJzdG5hbWUuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxtaXhlZD4NCisgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9ImRvY2luZm8uY2hhci5taXgiLz4NCisgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPC9taXhlZD4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJmaXJzdG5hbWUuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJmaXJzdG5hbWUucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Imhvbm9yaWZpYy5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iaG9ub3JpZmljIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJob25vcmlmaWMiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iaG9ub3JpZmljLmF0dGxpc3QiLz4NCisgICAgICAgICA8bWl4ZWQ+DQorICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJkb2NpbmZvLmNoYXIubWl4Ii8+DQorICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDwvbWl4ZWQ+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iaG9ub3JpZmljLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iaG9ub3JpZmljLnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJsaW5lYWdlLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJsaW5lYWdlIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJsaW5lYWdlIj4NCisgICAgICAgICA8cmVmIG5hbWU9ImxpbmVhZ2UuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxtaXhlZD4NCisgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9ImRvY2luZm8uY2hhci5taXgiLz4NCisgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPC9taXhlZD4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJsaW5lYWdlLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0ibGluZWFnZS5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ib3RoZXJuYW1lLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJvdGhlcm5hbWUiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9Im90aGVybmFtZSI+DQorICAgICAgICAgPHJlZiBuYW1lPSJvdGhlcm5hbWUuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxtaXhlZD4NCisgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9ImRvY2luZm8uY2hhci5taXgiLz4NCisgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPC9taXhlZD4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJvdGhlcm5hbWUuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJvdGhlcm5hbWUucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InN1cm5hbWUucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InN1cm5hbWUiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9InN1cm5hbWUiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ic3VybmFtZS5hdHRsaXN0Ii8+DQorICAgICAgICAgPG1peGVkPg0KKyAgICAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iZG9jaW5mby5jaGFyLm1peCIvPg0KKyAgICAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8L21peGVkPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InN1cm5hbWUuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJzdXJuYW1lLnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJwcmludGhpc3Rvcnkucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InByaW50aGlzdG9yeSI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0icHJpbnRoaXN0b3J5Ij4NCisgICAgICAgICA8cmVmIG5hbWU9InByaW50aGlzdG9yeS5hdHRsaXN0Ii8+DQorICAgICAgICAgPG9uZU9yTW9yZT4NCisgICAgICAgICAgICA8cmVmIG5hbWU9InBhcmEuY2xhc3MiLz4NCisgICAgICAgICA8L29uZU9yTW9yZT4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJwcmludGhpc3RvcnkuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJwcmludGhpc3Rvcnkucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InByb2R1Y3RuYW1lLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJwcm9kdWN0bmFtZSI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0icHJvZHVjdG5hbWUiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0icHJvZHVjdG5hbWUuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxtaXhlZD4NCisgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9InBhcmEuY2hhci5taXgiLz4NCisgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPC9taXhlZD4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJwcm9kdWN0bmFtZS5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InByb2R1Y3RuYW1lLnJvbGUuYXR0cmliIi8+DQorICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0iY2xhc3MiPg0KKyAgICAgICAgICAgIDxjaG9pY2U+DQorICAgICAgICAgICAgICAgPHZhbHVlPnNlcnZpY2U8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT50cmFkZTwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPnJlZ2lzdGVyZWQ8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5jb3B5cmlnaHQ8L3ZhbHVlPg0KKyAgICAgICAgICAgIDwvY2hvaWNlPg0KKyAgICAgICAgIDwvYXR0cmlidXRlPg0KKyAgICAgIDwvb3B0aW9uYWw+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJwcm9kdWN0bnVtYmVyLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJwcm9kdWN0bnVtYmVyIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJwcm9kdWN0bnVtYmVyIj4NCisgICAgICAgICA8cmVmIG5hbWU9InByb2R1Y3RudW1iZXIuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxtaXhlZD4NCisgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9ImRvY2luZm8uY2hhci5taXgiLz4NCisgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPC9taXhlZD4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJwcm9kdWN0bnVtYmVyLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0icHJvZHVjdG51bWJlci5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icHViZGF0ZS5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icHViZGF0ZSI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0icHViZGF0ZSI+DQorICAgICAgICAgPHJlZiBuYW1lPSJwdWJkYXRlLmF0dGxpc3QiLz4NCisgICAgICAgICA8bWl4ZWQ+DQorICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJkb2NpbmZvLmNoYXIubWl4Ii8+DQorICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDwvbWl4ZWQ+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icHViZGF0ZS5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InB1YmRhdGUucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InB1Ymxpc2hlci5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icHVibGlzaGVyIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJwdWJsaXNoZXIiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0icHVibGlzaGVyLmF0dGxpc3QiLz4NCisgICAgICAgICA8cmVmIG5hbWU9InB1Ymxpc2hlcm5hbWUiLz4NCisgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICA8cmVmIG5hbWU9ImFkZHJlc3MiLz4NCisgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icHVibGlzaGVyLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0icHVibGlzaGVyLnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJwdWJsaXNoZXJuYW1lLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJwdWJsaXNoZXJuYW1lIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJwdWJsaXNoZXJuYW1lIj4NCisgICAgICAgICA8cmVmIG5hbWU9InB1Ymxpc2hlcm5hbWUuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxtaXhlZD4NCisgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9ImRvY2luZm8uY2hhci5taXgiLz4NCisgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPC9taXhlZD4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJwdWJsaXNoZXJuYW1lLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0icHVibGlzaGVybmFtZS5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icHVic251bWJlci5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icHVic251bWJlciI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0icHVic251bWJlciI+DQorICAgICAgICAgPHJlZiBuYW1lPSJwdWJzbnVtYmVyLmF0dGxpc3QiLz4NCisgICAgICAgICA8bWl4ZWQ+DQorICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJkb2NpbmZvLmNoYXIubWl4Ii8+DQorICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDwvbWl4ZWQ+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icHVic251bWJlci5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InB1YnNudW1iZXIucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InJlbGVhc2VpbmZvLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJyZWxlYXNlaW5mbyI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0icmVsZWFzZWluZm8iPg0KKyAgICAgICAgIDxyZWYgbmFtZT0icmVsZWFzZWluZm8uYXR0bGlzdCIvPg0KKyAgICAgICAgIDxtaXhlZD4NCisgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9ImRvY2luZm8uY2hhci5taXgiLz4NCisgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPC9taXhlZD4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJyZWxlYXNlaW5mby5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InJlbGVhc2VpbmZvLnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJyZXZoaXN0b3J5LnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJyZXZoaXN0b3J5Ij4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJyZXZoaXN0b3J5Ij4NCisgICAgICAgICA8cmVmIG5hbWU9InJldmhpc3RvcnkuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxvbmVPck1vcmU+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJyZXZpc2lvbiIvPg0KKyAgICAgICAgIDwvb25lT3JNb3JlPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InJldmhpc3RvcnkuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJyZXZoaXN0b3J5LnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJyZXZpc2lvbi5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icmV2aXNpb24iPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9InJldmlzaW9uIj4NCisgICAgICAgICA8cmVmIG5hbWU9InJldmlzaW9uLmF0dGxpc3QiLz4NCisgICAgICAgICA8cmVmIG5hbWU9InJldm51bWJlciIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iZGF0ZSIvPg0KKyAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0iYXV0aG9yaW5pdGlhbHMiLz4NCisgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgICAgIDxjaG9pY2U+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJyZXZyZW1hcmsiLz4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9InJldmRlc2NyaXB0aW9uIi8+DQorICAgICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgICAgPC9vcHRpb25hbD4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJyZXZpc2lvbi5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InJldmlzaW9uLnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJyZXZudW1iZXIucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InJldm51bWJlciI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0icmV2bnVtYmVyIj4NCisgICAgICAgICA8cmVmIG5hbWU9InJldm51bWJlci5hdHRsaXN0Ii8+DQorICAgICAgICAgPG1peGVkPg0KKyAgICAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iZG9jaW5mby5jaGFyLm1peCIvPg0KKyAgICAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8L21peGVkPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InJldm51bWJlci5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InJldm51bWJlci5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icmV2cmVtYXJrLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJyZXZyZW1hcmsiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9InJldnJlbWFyayI+DQorICAgICAgICAgPHJlZiBuYW1lPSJyZXZyZW1hcmsuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxtaXhlZD4NCisgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9ImRvY2luZm8uY2hhci5taXgiLz4NCisgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPC9taXhlZD4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJyZXZyZW1hcmsuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJyZXZyZW1hcmsucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InJldmRlc2NyaXB0aW9uLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJyZXZkZXNjcmlwdGlvbiI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0icmV2ZGVzY3JpcHRpb24iPg0KKyAgICAgICAgIDxyZWYgbmFtZT0icmV2ZGVzY3JpcHRpb24uYXR0bGlzdCIvPg0KKyAgICAgICAgIDxvbmVPck1vcmU+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJyZXZkZXNjcmlwdGlvbi5taXgiLz4NCisgICAgICAgICA8L29uZU9yTW9yZT4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJyZXZkZXNjcmlwdGlvbi5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InJldmRlc2NyaXB0aW9uLnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJzZXJpZXN2b2xudW1zLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJzZXJpZXN2b2xudW1zIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJzZXJpZXN2b2xudW1zIj4NCisgICAgICAgICA8cmVmIG5hbWU9InNlcmllc3ZvbG51bXMuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxtaXhlZD4NCisgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9ImRvY2luZm8uY2hhci5taXgiLz4NCisgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPC9taXhlZD4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJzZXJpZXN2b2xudW1zLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0ic2VyaWVzdm9sbnVtcy5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0idm9sdW1lbnVtLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJ2b2x1bWVudW0iPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9InZvbHVtZW51bSI+DQorICAgICAgICAgPHJlZiBuYW1lPSJ2b2x1bWVudW0uYXR0bGlzdCIvPg0KKyAgICAgICAgIDxtaXhlZD4NCisgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9ImRvY2luZm8uY2hhci5taXgiLz4NCisgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPC9taXhlZD4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJ2b2x1bWVudW0uYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJ2b2x1bWVudW0ucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImFjY2VsLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJhY2NlbCI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0iYWNjZWwiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iYWNjZWwuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxtaXhlZD4NCisgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9InNtYWxsY3B0ci5jaGFyLm1peCIvPg0KKyAgICAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8L21peGVkPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImFjY2VsLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iYWNjZWwucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImFjdGlvbi5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iYWN0aW9uIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJhY3Rpb24iPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iYWN0aW9uLmF0dGxpc3QiLz4NCisgICAgICAgICA8bWl4ZWQ+DQorICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJzbWFsbGNwdHIuY2hhci5taXgiLz4NCisgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPC9taXhlZD4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJhY3Rpb24uYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJtb3JlaW5mby5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImFjdGlvbi5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iYXBwbGljYXRpb24ucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImFwcGxpY2F0aW9uIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJhcHBsaWNhdGlvbiI+DQorICAgICAgICAgPHJlZiBuYW1lPSJhcHBsaWNhdGlvbi5hdHRsaXN0Ii8+DQorICAgICAgICAgPG1peGVkPg0KKyAgICAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0icGFyYS5jaGFyLm1peCIvPg0KKyAgICAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8L21peGVkPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImFwcGxpY2F0aW9uLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0ibW9yZWluZm8uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJhcHBsaWNhdGlvbi5yb2xlLmF0dHJpYiIvPg0KKyAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICA8YXR0cmlidXRlIG5hbWU9ImNsYXNzIj4NCisgICAgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5oYXJkd2FyZTwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPnNvZnR3YXJlPC92YWx1ZT4NCisgICAgICAgICAgICA8L2Nob2ljZT4NCisgICAgICAgICA8L2F0dHJpYnV0ZT4NCisgICAgICA8L29wdGlvbmFsPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iY2xhc3NuYW1lLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJjbGFzc25hbWUiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9ImNsYXNzbmFtZSI+DQorICAgICAgICAgPHJlZiBuYW1lPSJjbGFzc25hbWUuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxtaXhlZD4NCisgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9InNtYWxsY3B0ci5jaGFyLm1peCIvPg0KKyAgICAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8L21peGVkPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImNsYXNzbmFtZS5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImNsYXNzbmFtZS5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iY28ucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImNvIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJjbyI+DQorICAgICAgICAgPHJlZiBuYW1lPSJjby5hdHRsaXN0Ii8+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iY28uYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJsYWJlbC5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImxpbmtlbmRzLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iaWRyZXEuY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iY28ucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImNvbW1hbmQucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImNvbW1hbmQiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9ImNvbW1hbmQiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iY29tbWFuZC5hdHRsaXN0Ii8+DQorICAgICAgICAgPG1peGVkPg0KKyAgICAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iY3B0ci5jaGFyLm1peCIvPg0KKyAgICAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8L21peGVkPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImNvbW1hbmQuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJtb3JlaW5mby5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1hbmQucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImNvbXB1dGVyb3V0cHV0LnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJjb21wdXRlcm91dHB1dCI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0iY29tcHV0ZXJvdXRwdXQiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iY29tcHV0ZXJvdXRwdXQuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxtaXhlZD4NCisgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9ImNwdHIuY2hhci5taXgiLz4NCisgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPC9taXhlZD4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJjb21wdXRlcm91dHB1dC5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9Im1vcmVpbmZvLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tcHV0ZXJvdXRwdXQucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImRhdGFiYXNlLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJkYXRhYmFzZSI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0iZGF0YWJhc2UiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iZGF0YWJhc2UuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxtaXhlZD4NCisgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9InNtYWxsY3B0ci5jaGFyLm1peCIvPg0KKyAgICAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8L21peGVkPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImRhdGFiYXNlLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iZGF0YWJhc2Uucm9sZS5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9Im1vcmVpbmZvLmF0dHJpYiIvPg0KKyAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICA8YXR0cmlidXRlIG5hbWU9ImNsYXNzIj4NCisgICAgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5uYW1lPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+dGFibGU8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5maWVsZDwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPmtleTE8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5rZXkyPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+cmVjb3JkPC92YWx1ZT4NCisgICAgICAgICAgICA8L2Nob2ljZT4NCisgICAgICAgICA8L2F0dHJpYnV0ZT4NCisgICAgICA8L29wdGlvbmFsPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iZW1haWwucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImVtYWlsIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJlbWFpbCI+DQorICAgICAgICAgPHJlZiBuYW1lPSJlbWFpbC5hdHRsaXN0Ii8+DQorICAgICAgICAgPG1peGVkPg0KKyAgICAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iZG9jaW5mby5jaGFyLm1peCIvPg0KKyAgICAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8L21peGVkPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImVtYWlsLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iZW1haWwucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImVudmFyLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJlbnZhciI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0iZW52YXIiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iZW52YXIuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxtaXhlZD4NCisgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9ImRvY2luZm8uY2hhci5taXgiLz4NCisgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPC9taXhlZD4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJlbnZhci5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImVudmFyLnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJlcnJvcmNvZGUucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImVycm9yY29kZSI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0iZXJyb3Jjb2RlIj4NCisgICAgICAgICA8cmVmIG5hbWU9ImVycm9yY29kZS5hdHRsaXN0Ii8+DQorICAgICAgICAgPG1peGVkPg0KKyAgICAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0ic21hbGxjcHRyLmNoYXIubWl4Ii8+DQorICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDwvbWl4ZWQ+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iZXJyb3Jjb2RlLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0ibW9yZWluZm8uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJlcnJvcmNvZGUucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImVycm9ybmFtZS5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iZXJyb3JuYW1lIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJlcnJvcm5hbWUiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iZXJyb3JuYW1lLmF0dGxpc3QiLz4NCisgICAgICAgICA8bWl4ZWQ+DQorICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJzbWFsbGNwdHIuY2hhci5taXgiLz4NCisgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPC9taXhlZD4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJlcnJvcm5hbWUuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJlcnJvcm5hbWUucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImVycm9ydHlwZS5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iZXJyb3J0eXBlIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJlcnJvcnR5cGUiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iZXJyb3J0eXBlLmF0dGxpc3QiLz4NCisgICAgICAgICA8bWl4ZWQ+DQorICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJzbWFsbGNwdHIuY2hhci5taXgiLz4NCisgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPC9taXhlZD4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJlcnJvcnR5cGUuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJlcnJvcnR5cGUucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImZpbGVuYW1lLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJmaWxlbmFtZSI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0iZmlsZW5hbWUiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iZmlsZW5hbWUuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxtaXhlZD4NCisgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9InNtYWxsY3B0ci5jaGFyLm1peCIvPg0KKyAgICAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8L21peGVkPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImZpbGVuYW1lLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0ibW9yZWluZm8uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJmaWxlbmFtZS5yb2xlLmF0dHJpYiIvPg0KKyAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICA8YXR0cmlidXRlIG5hbWU9ImNsYXNzIj4NCisgICAgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5oZWFkZXJmaWxlPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+ZGV2aWNlZmlsZTwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPmxpYnJhcnlmaWxlPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+ZGlyZWN0b3J5PC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+c3ltbGluazwvdmFsdWU+DQorICAgICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgICAgPC9hdHRyaWJ1dGU+DQorICAgICAgPC9vcHRpb25hbD4NCisgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJwYXRoIj4NCisgICAgICAgICAgICA8ZGF0YSB0eXBlPSJzdHJpbmciLz4NCisgICAgICAgICA8L2F0dHJpYnV0ZT4NCisgICAgICA8L29wdGlvbmFsPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iZnVuY3Rpb24ucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImZ1bmN0aW9uIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJmdW5jdGlvbiI+DQorICAgICAgICAgPHJlZiBuYW1lPSJmdW5jdGlvbi5hdHRsaXN0Ii8+DQorICAgICAgICAgPG1peGVkPg0KKyAgICAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iY3B0ci5jaGFyLm1peCIvPg0KKyAgICAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8L21peGVkPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImZ1bmN0aW9uLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0ibW9yZWluZm8uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJmdW5jdGlvbi5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iZ3VpYnV0dG9uLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJndWlidXR0b24iPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9Imd1aWJ1dHRvbiI+DQorICAgICAgICAgPHJlZiBuYW1lPSJndWlidXR0b24uYXR0bGlzdCIvPg0KKyAgICAgICAgIDxtaXhlZD4NCisgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgICAgICAgIDxyZWYgbmFtZT0ic21hbGxjcHRyLmNoYXIubWl4Ii8+DQorICAgICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJhY2NlbCIvPg0KKyAgICAgICAgICAgICAgIDwvY2hvaWNlPg0KKyAgICAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8L21peGVkPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Imd1aWJ1dHRvbi5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9Im1vcmVpbmZvLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iZ3VpYnV0dG9uLnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJndWlpY29uLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJndWlpY29uIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJndWlpY29uIj4NCisgICAgICAgICA8cmVmIG5hbWU9Imd1aWljb24uYXR0bGlzdCIvPg0KKyAgICAgICAgIDxtaXhlZD4NCisgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgICAgICAgIDxyZWYgbmFtZT0ic21hbGxjcHRyLmNoYXIubWl4Ii8+DQorICAgICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJhY2NlbCIvPg0KKyAgICAgICAgICAgICAgIDwvY2hvaWNlPg0KKyAgICAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8L21peGVkPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Imd1aWljb24uYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJtb3JlaW5mby5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9Imd1aWljb24ucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Imd1aWxhYmVsLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJndWlsYWJlbCI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0iZ3VpbGFiZWwiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iZ3VpbGFiZWwuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxtaXhlZD4NCisgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgICAgICAgIDxyZWYgbmFtZT0ic21hbGxjcHRyLmNoYXIubWl4Ii8+DQorICAgICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJhY2NlbCIvPg0KKyAgICAgICAgICAgICAgIDwvY2hvaWNlPg0KKyAgICAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8L21peGVkPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Imd1aWxhYmVsLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0ibW9yZWluZm8uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJndWlsYWJlbC5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iZ3VpbWVudS5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iZ3VpbWVudSI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0iZ3VpbWVudSI+DQorICAgICAgICAgPHJlZiBuYW1lPSJndWltZW51LmF0dGxpc3QiLz4NCisgICAgICAgICA8bWl4ZWQ+DQorICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPGNob2ljZT4NCisgICAgICAgICAgICAgICAgICA8cmVmIG5hbWU9InNtYWxsY3B0ci5jaGFyLm1peCIvPg0KKyAgICAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iYWNjZWwiLz4NCisgICAgICAgICAgICAgICA8L2Nob2ljZT4NCisgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPC9taXhlZD4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJndWltZW51LmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0ibW9yZWluZm8uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJndWltZW51LnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJndWltZW51aXRlbS5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iZ3VpbWVudWl0ZW0iPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9Imd1aW1lbnVpdGVtIj4NCisgICAgICAgICA8cmVmIG5hbWU9Imd1aW1lbnVpdGVtLmF0dGxpc3QiLz4NCisgICAgICAgICA8bWl4ZWQ+DQorICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPGNob2ljZT4NCisgICAgICAgICAgICAgICAgICA8cmVmIG5hbWU9InNtYWxsY3B0ci5jaGFyLm1peCIvPg0KKyAgICAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iYWNjZWwiLz4NCisgICAgICAgICAgICAgICA8L2Nob2ljZT4NCisgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPC9taXhlZD4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJndWltZW51aXRlbS5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9Im1vcmVpbmZvLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iZ3VpbWVudWl0ZW0ucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Imd1aXN1Ym1lbnUucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Imd1aXN1Ym1lbnUiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9Imd1aXN1Ym1lbnUiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iZ3Vpc3VibWVudS5hdHRsaXN0Ii8+DQorICAgICAgICAgPG1peGVkPg0KKyAgICAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxjaG9pY2U+DQorICAgICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJzbWFsbGNwdHIuY2hhci5taXgiLz4NCisgICAgICAgICAgICAgICAgICA8cmVmIG5hbWU9ImFjY2VsIi8+DQorICAgICAgICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDwvbWl4ZWQ+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iZ3Vpc3VibWVudS5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9Im1vcmVpbmZvLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iZ3Vpc3VibWVudS5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iaGFyZHdhcmUucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImhhcmR3YXJlIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJoYXJkd2FyZSI+DQorICAgICAgICAgPHJlZiBuYW1lPSJoYXJkd2FyZS5hdHRsaXN0Ii8+DQorICAgICAgICAgPG1peGVkPg0KKyAgICAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0ic21hbGxjcHRyLmNoYXIubWl4Ii8+DQorICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDwvbWl4ZWQ+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iaGFyZHdhcmUuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJtb3JlaW5mby5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImhhcmR3YXJlLnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJpbnRlcmZhY2Uucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImludGVyZmFjZSI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0iaW50ZXJmYWNlIj4NCisgICAgICAgICA8cmVmIG5hbWU9ImludGVyZmFjZS5hdHRsaXN0Ii8+DQorICAgICAgICAgPG1peGVkPg0KKyAgICAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxjaG9pY2U+DQorICAgICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJzbWFsbGNwdHIuY2hhci5taXgiLz4NCisgICAgICAgICAgICAgICAgICA8cmVmIG5hbWU9ImFjY2VsIi8+DQorICAgICAgICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDwvbWl4ZWQ+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iaW50ZXJmYWNlLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0ibW9yZWluZm8uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJpbnRlcmZhY2Uucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImtleWNhcC5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ia2V5Y2FwIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJrZXljYXAiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ia2V5Y2FwLmF0dGxpc3QiLz4NCisgICAgICAgICA8bWl4ZWQ+DQorICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJzbWFsbGNwdHIuY2hhci5taXgiLz4NCisgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPC9taXhlZD4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJrZXljYXAuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJtb3JlaW5mby5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImtleWNhcC5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ia2V5Y29kZS5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ia2V5Y29kZSI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0ia2V5Y29kZSI+DQorICAgICAgICAgPHJlZiBuYW1lPSJrZXljb2RlLmF0dGxpc3QiLz4NCisgICAgICAgICA8bWl4ZWQ+DQorICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJzbWFsbGNwdHIuY2hhci5taXgiLz4NCisgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPC9taXhlZD4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJrZXljb2RlLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0ia2V5Y29kZS5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ia2V5Y29tYm8ucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImtleWNvbWJvIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJrZXljb21ibyI+DQorICAgICAgICAgPHJlZiBuYW1lPSJrZXljb21iby5hdHRsaXN0Ii8+DQorICAgICAgICAgPG9uZU9yTW9yZT4NCisgICAgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0ia2V5Y2FwIi8+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJrZXljb21ibyIvPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0ia2V5c3ltIi8+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJtb3VzZWJ1dHRvbiIvPg0KKyAgICAgICAgICAgIDwvY2hvaWNlPg0KKyAgICAgICAgIDwvb25lT3JNb3JlPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImtleWNvbWJvLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0ia2V5YWN0aW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0ibW9yZWluZm8uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJrZXljb21iby5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ia2V5c3lzbS5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ia2V5c3ltIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJrZXlzeW0iPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ia2V5c3ltLmF0dGxpc3QiLz4NCisgICAgICAgICA8bWl4ZWQ+DQorICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJzbWFsbGNwdHIuY2hhci5taXgiLz4NCisgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPC9taXhlZD4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJrZXlzeW0uYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJrZXlzeXNtLnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJsaW5lYW5ub3RhdGlvbi5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ibGluZWFubm90YXRpb24iPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9ImxpbmVhbm5vdGF0aW9uIj4NCisgICAgICAgICA8cmVmIG5hbWU9ImxpbmVhbm5vdGF0aW9uLmF0dGxpc3QiLz4NCisgICAgICAgICA8bWl4ZWQ+DQorICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJwYXJhLmNoYXIubWl4Ii8+DQorICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDwvbWl4ZWQ+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ibGluZWFubm90YXRpb24uYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJsaW5lYW5ub3RhdGlvbi5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ibGl0ZXJhbC5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ibGl0ZXJhbCI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0ibGl0ZXJhbCI+DQorICAgICAgICAgPHJlZiBuYW1lPSJsaXRlcmFsLmF0dGxpc3QiLz4NCisgICAgICAgICA8bWl4ZWQ+DQorICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJjcHRyLmNoYXIubWl4Ii8+DQorICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDwvbWl4ZWQ+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ibGl0ZXJhbC5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9Im1vcmVpbmZvLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0ibGl0ZXJhbC5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iY29uc3RhbnQucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImNvbnN0YW50Ij4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJjb25zdGFudCI+DQorICAgICAgICAgPHJlZiBuYW1lPSJjb25zdGFudC5hdHRsaXN0Ii8+DQorICAgICAgICAgPG1peGVkPg0KKyAgICAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0ic21hbGxjcHRyLmNoYXIubWl4Ii8+DQorICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDwvbWl4ZWQ+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iY29uc3RhbnQuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJjb25zdGFudC5yb2xlLmF0dHJpYiIvPg0KKyAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICA8YXR0cmlidXRlIG5hbWU9ImNsYXNzIj4NCisgICAgICAgICAgICA8dmFsdWU+bGltaXQ8L3ZhbHVlPg0KKyAgICAgICAgIDwvYXR0cmlidXRlPg0KKyAgICAgIDwvb3B0aW9uYWw+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJ2YXJuYW1lLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJ2YXJuYW1lIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJ2YXJuYW1lIj4NCisgICAgICAgICA8cmVmIG5hbWU9InZhcm5hbWUuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxtaXhlZD4NCisgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9InNtYWxsY3B0ci5jaGFyLm1peCIvPg0KKyAgICAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8L21peGVkPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InZhcm5hbWUuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJ2YXJuYW1lLnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJtYXJrdXAucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Im1hcmt1cCI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0ibWFya3VwIj4NCisgICAgICAgICA8cmVmIG5hbWU9Im1hcmt1cC5hdHRsaXN0Ii8+DQorICAgICAgICAgPG1peGVkPg0KKyAgICAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0ic21hbGxjcHRyLmNoYXIubWl4Ii8+DQorICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDwvbWl4ZWQ+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ibWFya3VwLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0ibWFya3VwLnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJtZWRpYWxhYmVsLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJtZWRpYWxhYmVsIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJtZWRpYWxhYmVsIj4NCisgICAgICAgICA8cmVmIG5hbWU9Im1lZGlhbGFiZWwuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxtaXhlZD4NCisgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9InNtYWxsY3B0ci5jaGFyLm1peCIvPg0KKyAgICAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8L21peGVkPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Im1lZGlhbGFiZWwuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJtZWRpYWxhYmVsLnJvbGUuYXR0cmliIi8+DQorICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0iY2xhc3MiPg0KKyAgICAgICAgICAgIDxjaG9pY2U+DQorICAgICAgICAgICAgICAgPHZhbHVlPmNhcnRyaWRnZTwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPmNkcm9tPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+ZGlzazwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPnRhcGU8L3ZhbHVlPg0KKyAgICAgICAgICAgIDwvY2hvaWNlPg0KKyAgICAgICAgIDwvYXR0cmlidXRlPg0KKyAgICAgIDwvb3B0aW9uYWw+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJtZW51Y2hvaWNlLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJtZW51Y2hvaWNlIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJtZW51Y2hvaWNlIj4NCisgICAgICAgICA8cmVmIG5hbWU9Im1lbnVjaG9pY2UuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICAgICA8cmVmIG5hbWU9InNob3J0Y3V0Ii8+DQorICAgICAgICAgPC9vcHRpb25hbD4NCisgICAgICAgICA8b25lT3JNb3JlPg0KKyAgICAgICAgICAgIDxjaG9pY2U+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJndWlidXR0b24iLz4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9Imd1aWljb24iLz4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9Imd1aWxhYmVsIi8+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJndWltZW51Ii8+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJndWltZW51aXRlbSIvPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iZ3Vpc3VibWVudSIvPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iaW50ZXJmYWNlIi8+DQorICAgICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgICAgPC9vbmVPck1vcmU+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ibWVudWNob2ljZS5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9Im1vcmVpbmZvLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0ibWVudWNob2ljZS5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic2hvcnRjdXQucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InNob3J0Y3V0Ij4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJzaG9ydGN1dCI+DQorICAgICAgICAgPHJlZiBuYW1lPSJzaG9ydGN1dC5hdHRsaXN0Ii8+DQorICAgICAgICAgPG9uZU9yTW9yZT4NCisgICAgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0ia2V5Y2FwIi8+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJrZXljb21ibyIvPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0ia2V5c3ltIi8+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJtb3VzZWJ1dHRvbiIvPg0KKyAgICAgICAgICAgIDwvY2hvaWNlPg0KKyAgICAgICAgIDwvb25lT3JNb3JlPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InNob3J0Y3V0LmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0ia2V5YWN0aW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0ibW9yZWluZm8uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJzaG9ydGN1dC5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ibW91c2VidXR0b24ucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Im1vdXNlYnV0dG9uIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJtb3VzZWJ1dHRvbiI+DQorICAgICAgICAgPHJlZiBuYW1lPSJtb3VzZWJ1dHRvbi5hdHRsaXN0Ii8+DQorICAgICAgICAgPG1peGVkPg0KKyAgICAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0ic21hbGxjcHRyLmNoYXIubWl4Ii8+DQorICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDwvbWl4ZWQ+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ibW91c2VidXR0b24uYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJtb3JlaW5mby5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9Im1vdXNlYnV0dG9uLnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJtc2d0ZXh0LnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJtc2d0ZXh0Ij4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJtc2d0ZXh0Ij4NCisgICAgICAgICA8cmVmIG5hbWU9Im1zZ3RleHQuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxvbmVPck1vcmU+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJjb21wb25lbnQubWl4Ii8+DQorICAgICAgICAgPC9vbmVPck1vcmU+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ibXNndGV4dC5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9Im1zZ3RleHQucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Im9wdGlvbi5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ib3B0aW9uIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJvcHRpb24iPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ib3B0aW9uLmF0dGxpc3QiLz4NCisgICAgICAgICA8bWl4ZWQ+DQorICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJzbWFsbGNwdHIuY2hhci5taXgiLz4NCisgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPC9taXhlZD4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJvcHRpb24uYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJvcHRpb24ucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Im9wdGlvbmFsLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJvcHRpb25hbCI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0ib3B0aW9uYWwiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ib3B0aW9uYWwuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxtaXhlZD4NCisgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9ImNwdHIuY2hhci5taXgiLz4NCisgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPC9taXhlZD4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJvcHRpb25hbC5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9Im9wdGlvbmFsLnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJwYXJhbWV0ZXIucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InBhcmFtZXRlciI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0icGFyYW1ldGVyIj4NCisgICAgICAgICA8cmVmIG5hbWU9InBhcmFtZXRlci5hdHRsaXN0Ii8+DQorICAgICAgICAgPG1peGVkPg0KKyAgICAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0ic21hbGxjcHRyLmNoYXIubWl4Ii8+DQorICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDwvbWl4ZWQ+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icGFyYW1ldGVyLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0ibW9yZWluZm8uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJwYXJhbWV0ZXIucm9sZS5hdHRyaWIiLz4NCisgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJjbGFzcyI+DQorICAgICAgICAgICAgPGNob2ljZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+Y29tbWFuZDwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPmZ1bmN0aW9uPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+b3B0aW9uPC92YWx1ZT4NCisgICAgICAgICAgICA8L2Nob2ljZT4NCisgICAgICAgICA8L2F0dHJpYnV0ZT4NCisgICAgICA8L29wdGlvbmFsPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icHJvbXB0LnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJwcm9tcHQiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9InByb21wdCI+DQorICAgICAgICAgPHJlZiBuYW1lPSJwcm9tcHQuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxtaXhlZD4NCisgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9InNtYWxsY3B0ci5jaGFyLm1peCIvPg0KKyAgICAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8L21peGVkPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InByb21wdC5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9Im1vcmVpbmZvLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0icHJvbXB0LnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJwcm9wZXJ0eS5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icHJvcGVydHkiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9InByb3BlcnR5Ij4NCisgICAgICAgICA8cmVmIG5hbWU9InByb3BlcnR5LmF0dGxpc3QiLz4NCisgICAgICAgICA8bWl4ZWQ+DQorICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJzbWFsbGNwdHIuY2hhci5taXgiLz4NCisgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPC9taXhlZD4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJwcm9wZXJ0eS5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9Im1vcmVpbmZvLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0icHJvcGVydHkucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InJlcGxhY2VhYmxlLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJyZXBsYWNlYWJsZSI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0icmVwbGFjZWFibGUiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0icmVwbGFjZWFibGUuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxtaXhlZD4NCisgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgICAgICAgIDxyZWYgbmFtZT0ibGluay5jaGFyLmNsYXNzIi8+DQorICAgICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJvcHRpb25hbCIvPg0KKyAgICAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iYmFzZS5jaGFyLmNsYXNzIi8+DQorICAgICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJvdGhlci5jaGFyLmNsYXNzIi8+DQorICAgICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJpbmxpbmVncmFwaGljIi8+DQorICAgICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJpbmxpbmVtZWRpYW9iamVjdCIvPg0KKyAgICAgICAgICAgICAgIDwvY2hvaWNlPg0KKyAgICAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8L21peGVkPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InJlcGxhY2VhYmxlLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0icmVwbGFjZWFibGUucm9sZS5hdHRyaWIiLz4NCisgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJjbGFzcyI+DQorICAgICAgICAgICAgPGNob2ljZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+Y29tbWFuZDwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPmZ1bmN0aW9uPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+b3B0aW9uPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+cGFyYW1ldGVyPC92YWx1ZT4NCisgICAgICAgICAgICA8L2Nob2ljZT4NCisgICAgICAgICA8L2F0dHJpYnV0ZT4NCisgICAgICA8L29wdGlvbmFsPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icmV0dXJudmFsdWUucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InJldHVybnZhbHVlIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJyZXR1cm52YWx1ZSI+DQorICAgICAgICAgPHJlZiBuYW1lPSJyZXR1cm52YWx1ZS5hdHRsaXN0Ii8+DQorICAgICAgICAgPG1peGVkPg0KKyAgICAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0ic21hbGxjcHRyLmNoYXIubWl4Ii8+DQorICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDwvbWl4ZWQ+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icmV0dXJudmFsdWUuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJyZXR1cm52YWx1ZS5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic2dtbHRhZy5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic2dtbHRhZyI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0ic2dtbHRhZyI+DQorICAgICAgICAgPHJlZiBuYW1lPSJzZ21sdGFnLmF0dGxpc3QiLz4NCisgICAgICAgICA8bWl4ZWQ+DQorICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJzbWFsbGNwdHIuY2hhci5taXgiLz4NCisgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPC9taXhlZD4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJzZ21sdGFnLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0ic2dtbHRhZy5yb2xlLmF0dHJpYiIvPg0KKyAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICA8YXR0cmlidXRlIG5hbWU9ImNsYXNzIj4NCisgICAgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5hdHRyaWJ1dGU8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5hdHR2YWx1ZTwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPmVsZW1lbnQ8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5lbmR0YWc8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5lbXB0eXRhZzwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPmdlbmVudGl0eTwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPm51bWNoYXJyZWY8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5wYXJhbWVudGl0eTwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPnBpPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+eG1scGk8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5zdGFydHRhZzwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPnNnbWxjb21tZW50PC92YWx1ZT4NCisgICAgICAgICAgICA8L2Nob2ljZT4NCisgICAgICAgICA8L2F0dHJpYnV0ZT4NCisgICAgICA8L29wdGlvbmFsPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic3RydWN0ZmllbGQucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InN0cnVjdGZpZWxkIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJzdHJ1Y3RmaWVsZCI+DQorICAgICAgICAgPHJlZiBuYW1lPSJzdHJ1Y3RmaWVsZC5hdHRsaXN0Ii8+DQorICAgICAgICAgPG1peGVkPg0KKyAgICAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0ic21hbGxjcHRyLmNoYXIubWl4Ii8+DQorICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDwvbWl4ZWQ+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic3RydWN0ZmllbGQuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJzdHJ1Y3RmaWVsZC5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic3RydWN0bmFtZS5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic3RydWN0bmFtZSI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0ic3RydWN0bmFtZSI+DQorICAgICAgICAgPHJlZiBuYW1lPSJzdHJ1Y3RuYW1lLmF0dGxpc3QiLz4NCisgICAgICAgICA8bWl4ZWQ+DQorICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJzbWFsbGNwdHIuY2hhci5taXgiLz4NCisgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPC9taXhlZD4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJzdHJ1Y3RuYW1lLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0ic3RydWN0bmFtZS5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic3ltYm9sLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJzeW1ib2wiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9InN5bWJvbCI+DQorICAgICAgICAgPHJlZiBuYW1lPSJzeW1ib2wuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxtaXhlZD4NCisgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9InNtYWxsY3B0ci5jaGFyLm1peCIvPg0KKyAgICAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8L21peGVkPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InN5bWJvbC5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InN5bWJvbC5yb2xlLmF0dHJpYiIvPg0KKyAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICA8YXR0cmlidXRlIG5hbWU9ImNsYXNzIj4NCisgICAgICAgICAgICA8dmFsdWU+bGltaXQ8L3ZhbHVlPg0KKyAgICAgICAgIDwvYXR0cmlidXRlPg0KKyAgICAgIDwvb3B0aW9uYWw+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJzeXN0ZW1pdGVtLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJzeXN0ZW1pdGVtIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJzeXN0ZW1pdGVtIj4NCisgICAgICAgICA8cmVmIG5hbWU9InN5c3RlbWl0ZW0uYXR0bGlzdCIvPg0KKyAgICAgICAgIDxtaXhlZD4NCisgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgICAgICAgIDxyZWYgbmFtZT0ic21hbGxjcHRyLmNoYXIubWl4Ii8+DQorICAgICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJhY3JvbnltIi8+DQorICAgICAgICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDwvbWl4ZWQ+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic3lzdGVtaXRlbS5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9Im1vcmVpbmZvLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0ic3lzdGVtaXRlbS5yb2xlLmF0dHJpYiIvPg0KKyAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICA8YXR0cmlidXRlIG5hbWU9ImNsYXNzIj4NCisgICAgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5jb25zdGFudDwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPmdyb3VwbmFtZTwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPmxpYnJhcnk8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5tYWNybzwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPm9zbmFtZTwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPnJlc291cmNlPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+c3lzdGVtbmFtZTwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPnVzZXJuYW1lPC92YWx1ZT4NCisgICAgICAgICAgICA8L2Nob2ljZT4NCisgICAgICAgICA8L2F0dHJpYnV0ZT4NCisgICAgICA8L29wdGlvbmFsPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0idG9rZW4ucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InRva2VuIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJ0b2tlbiI+DQorICAgICAgICAgPHJlZiBuYW1lPSJ0b2tlbi5hdHRsaXN0Ii8+DQorICAgICAgICAgPG1peGVkPg0KKyAgICAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0ic21hbGxjcHRyLmNoYXIubWl4Ii8+DQorICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDwvbWl4ZWQ+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0idG9rZW4uYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJ0b2tlbi5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0idHlwZS5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0idHlwZSI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0idHlwZSI+DQorICAgICAgICAgPHJlZiBuYW1lPSJ0eXBlLmF0dGxpc3QiLz4NCisgICAgICAgICA8bWl4ZWQ+DQorICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJzbWFsbGNwdHIuY2hhci5taXgiLz4NCisgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPC9taXhlZD4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJ0eXBlLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0idHlwZS5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0idXNlcmlucHV0LnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJ1c2VyaW5wdXQiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9InVzZXJpbnB1dCI+DQorICAgICAgICAgPHJlZiBuYW1lPSJ1c2VyaW5wdXQuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxtaXhlZD4NCisgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9ImNwdHIuY2hhci5taXgiLz4NCisgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPC9taXhlZD4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJ1c2VyaW5wdXQuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJtb3JlaW5mby5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InVzZXJpbnB1dC5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iYWJicmV2LnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJhYmJyZXYiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9ImFiYnJldiI+DQorICAgICAgICAgPHJlZiBuYW1lPSJhYmJyZXYuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxtaXhlZD4NCisgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9IndvcmQuY2hhci5taXgiLz4NCisgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPC9taXhlZD4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJhYmJyZXYuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJhYmJyZXYucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImFjcm9ueW0ucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImFjcm9ueW0iPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9ImFjcm9ueW0iPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iYWNyb255bS5hdHRsaXN0Ii8+DQorICAgICAgICAgPG1peGVkPg0KKyAgICAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0id29yZC5jaGFyLm1peCIvPg0KKyAgICAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8L21peGVkPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImFjcm9ueW0uYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJhY3JvbnltLnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJjaXRhdGlvbi5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iY2l0YXRpb24iPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9ImNpdGF0aW9uIj4NCisgICAgICAgICA8cmVmIG5hbWU9ImNpdGF0aW9uLmF0dGxpc3QiLz4NCisgICAgICAgICA8bWl4ZWQ+DQorICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJwYXJhLmNoYXIubWl4Ii8+DQorICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDwvbWl4ZWQ+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iY2l0YXRpb24uYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJjaXRhdGlvbi5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iY2l0ZXJlZmVudHJ5LnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJjaXRlcmVmZW50cnkiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9ImNpdGVyZWZlbnRyeSI+DQorICAgICAgICAgPHJlZiBuYW1lPSJjaXRlcmVmZW50cnkuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0icmVmZW50cnl0aXRsZSIvPg0KKyAgICAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICAgICA8cmVmIG5hbWU9Im1hbnZvbG51bSIvPg0KKyAgICAgICAgIDwvb3B0aW9uYWw+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iY2l0ZXJlZmVudHJ5LmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iY2l0ZXJlZmVudHJ5LnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJyZWZlbnRyeXRpdGxlLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJyZWZlbnRyeXRpdGxlIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJyZWZlbnRyeXRpdGxlIj4NCisgICAgICAgICA8cmVmIG5hbWU9InJlZmVudHJ5dGl0bGUuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxtaXhlZD4NCisgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9InBhcmEuY2hhci5taXgiLz4NCisgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPC9taXhlZD4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJyZWZlbnRyeXRpdGxlLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0icmVmZW50cnl0aXRsZS5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ibmFtdm9sbnVtLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJtYW52b2xudW0iPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9Im1hbnZvbG51bSI+DQorICAgICAgICAgPHJlZiBuYW1lPSJtYW52b2xudW0uYXR0bGlzdCIvPg0KKyAgICAgICAgIDxtaXhlZD4NCisgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9IndvcmQuY2hhci5taXgiLz4NCisgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPC9taXhlZD4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJtYW52b2xudW0uYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJuYW12b2xudW0ucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImNpdGV0aXRsZS5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iY2l0ZXRpdGxlIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJjaXRldGl0bGUiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iY2l0ZXRpdGxlLmF0dGxpc3QiLz4NCisgICAgICAgICA8bWl4ZWQ+DQorICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJwYXJhLmNoYXIubWl4Ii8+DQorICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDwvbWl4ZWQ+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iY2l0ZXRpdGxlLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iY2l0ZXRpdGxlLnJvbGUuYXR0cmliIi8+DQorICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0icHVid29yayI+DQorICAgICAgICAgICAgPGNob2ljZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+YXJ0aWNsZTwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPmJvb2s8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5jaGFwdGVyPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+cGFydDwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPnJlZmVudHJ5PC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+c2VjdGlvbjwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPmpvdXJuYWw8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5zZXJpZXM8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5zZXQ8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5tYW51c2NyaXB0PC92YWx1ZT4NCisgICAgICAgICAgICA8L2Nob2ljZT4NCisgICAgICAgICA8L2F0dHJpYnV0ZT4NCisgICAgICA8L29wdGlvbmFsPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iZW1waGFzaXMucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImVtcGhhc2lzIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJlbXBoYXNpcyI+DQorICAgICAgICAgPHJlZiBuYW1lPSJlbXBoYXNpcy5hdHRsaXN0Ii8+DQorICAgICAgICAgPG1peGVkPg0KKyAgICAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0icGFyYS5jaGFyLm1peCIvPg0KKyAgICAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8L21peGVkPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImVtcGhhc2lzLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iZW1waGFzaXMucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImZpcnN0dGVybS5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iZmlyc3R0ZXJtIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJmaXJzdHRlcm0iPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iZmlyc3R0ZXJtLmF0dGxpc3QiLz4NCisgICAgICAgICA8bWl4ZWQ+DQorICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJ3b3JkLmNoYXIubWl4Ii8+DQorICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDwvbWl4ZWQ+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iZmlyc3R0ZXJtLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iZmlyc3R0ZXJtLnJvbGUuYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJsaW5rZW5kLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iZm9yZWlnbnBocmFzZS5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iZm9yZWlnbnBocmFzZSI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0iZm9yZWlnbnBocmFzZSI+DQorICAgICAgICAgPHJlZiBuYW1lPSJmb3JlaWducGhyYXNlLmF0dGxpc3QiLz4NCisgICAgICAgICA8bWl4ZWQ+DQorICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJwYXJhLmNoYXIubWl4Ii8+DQorICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDwvbWl4ZWQ+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iZm9yZWlnbnBocmFzZS5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImZvcmVpZ25waHJhc2Uucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Imdsb3NzdGVybS5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iZ2xvc3N0ZXJtIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJnbG9zc3Rlcm0iPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iZ2xvc3N0ZXJtLmF0dGxpc3QiLz4NCisgICAgICAgICA8bWl4ZWQ+DQorICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJwYXJhLmNoYXIubWl4Ii8+DQorICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDwvbWl4ZWQ+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iZ2xvc3N0ZXJtLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iZ2xvc3N0ZXJtLnJvbGUuYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJsaW5rZW5kLmF0dHJpYiIvPg0KKyAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICA8YXR0cmlidXRlIG5hbWU9ImJhc2Vmb3JtIj4NCisgICAgICAgICAgICA8ZGF0YSB0eXBlPSJzdHJpbmciLz4NCisgICAgICAgICA8L2F0dHJpYnV0ZT4NCisgICAgICA8L29wdGlvbmFsPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icGhyYXNlLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJwaHJhc2UiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9InBocmFzZSI+DQorICAgICAgICAgPHJlZiBuYW1lPSJwaHJhc2UuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxtaXhlZD4NCisgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9InBhcmEuY2hhci5taXgiLz4NCisgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPC9taXhlZD4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJwaHJhc2UuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJwaHJhc2Uucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InF1b3RlLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJxdW90ZSI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0icXVvdGUiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0icXVvdGUuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxtaXhlZD4NCisgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9InBhcmEuY2hhci5taXgiLz4NCisgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPC9taXhlZD4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJxdW90ZS5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InF1b3RlLnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJzc3NjcmlwdC5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic3Vic2NyaXB0Q29udGVudE1vZGVsIj4NCisgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0ibGluay5jaGFyLmNsYXNzIi8+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJlbXBoYXNpcyIvPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0icmVwbGFjZWFibGUiLz4NCisgICAgICAgICAgICA8cmVmIG5hbWU9InN5bWJvbCIvPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0iaW5saW5lZ3JhcGhpYyIvPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0iaW5saW5lbWVkaWFvYmplY3QiLz4NCisgICAgICAgICAgICA8cmVmIG5hbWU9ImJhc2UuY2hhci5jbGFzcyIvPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0ib3RoZXIuY2hhci5jbGFzcyIvPg0KKyAgICAgICAgIDwvY2hvaWNlPg0KKyAgICAgIDwvemVyb09yTW9yZT4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InN1YnNjcmlwdCI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0ic3Vic2NyaXB0Ij4NCisgICAgICAgICA8cmVmIG5hbWU9InN1YnNjcmlwdC5hdHRsaXN0Ii8+DQorICAgICAgICAgPG1peGVkPg0KKyAgICAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0ic3Vic2NyaXB0Q29udGVudE1vZGVsIi8+DQorICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDwvbWl4ZWQ+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic3Vic2NyaXB0LmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0ic3NzY3JpcHQucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InN1cGVyc2NyaXB0Ij4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJzdXBlcnNjcmlwdCI+DQorICAgICAgICAgPHJlZiBuYW1lPSJzdXBlcnNjcmlwdC5hdHRsaXN0Ii8+DQorICAgICAgICAgPG1peGVkPg0KKyAgICAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0ic3Vic2NyaXB0Q29udGVudE1vZGVsIi8+DQorICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDwvbWl4ZWQ+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic3VwZXJzY3JpcHQuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJzc3NjcmlwdC5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0idHJhZGVtYXJrLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJ0cmFkZW1hcmsiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9InRyYWRlbWFyayI+DQorICAgICAgICAgPHJlZiBuYW1lPSJ0cmFkZW1hcmsuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxtaXhlZD4NCisgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgICAgICAgIDxyZWYgbmFtZT0ibGluay5jaGFyLmNsYXNzIi8+DQorICAgICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJ0ZWNoLmNoYXIuY2xhc3MiLz4NCisgICAgICAgICAgICAgICAgICA8cmVmIG5hbWU9ImJhc2UuY2hhci5jbGFzcyIvPg0KKyAgICAgICAgICAgICAgICAgIDxyZWYgbmFtZT0ib3RoZXIuY2hhci5jbGFzcyIvPg0KKyAgICAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iaW5saW5lZ3JhcGhpYyIvPg0KKyAgICAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iaW5saW5lbWVkaWFvYmplY3QiLz4NCisgICAgICAgICAgICAgICAgICA8cmVmIG5hbWU9ImVtcGhhc2lzIi8+DQorICAgICAgICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDwvbWl4ZWQ+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0idHJhZGVtYXJrLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0idHJhZGVtYXJrLnJvbGUuYXR0cmliIi8+DQorICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0iY2xhc3MiPg0KKyAgICAgICAgICAgIDxjaG9pY2U+DQorICAgICAgICAgICAgICAgPHZhbHVlPnNlcnZpY2U8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT50cmFkZTwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPnJlZ2lzdGVyZWQ8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5jb3B5cmlnaHQ8L3ZhbHVlPg0KKyAgICAgICAgICAgIDwvY2hvaWNlPg0KKyAgICAgICAgIDwvYXR0cmlidXRlPg0KKyAgICAgIDwvb3B0aW9uYWw+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJ3b3JkYXN3b3JkLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJ3b3JkYXN3b3JkIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJ3b3JkYXN3b3JkIj4NCisgICAgICAgICA8cmVmIG5hbWU9IndvcmRhc3dvcmQuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxtaXhlZD4NCisgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9IndvcmQuY2hhci5taXgiLz4NCisgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPC9taXhlZD4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJ3b3JkYXN3b3JkLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0id29yZGFzd29yZC5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ibGluay5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ibGluayI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0ibGluayI+DQorICAgICAgICAgPHJlZiBuYW1lPSJsaW5rLmF0dGxpc3QiLz4NCisgICAgICAgICA8bWl4ZWQ+DQorICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJwYXJhLmNoYXIubWl4Ii8+DQorICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDwvbWl4ZWQ+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ibGluay5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImxpbmtlbmRyZXEuYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJsaW5rLnJvbGUuYXR0cmliIi8+DQorICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0iZW5kdGVybSI+DQorICAgICAgICAgICAgPGRhdGEgdHlwZT0iSURSRUYiLz4NCisgICAgICAgICA8L2F0dHJpYnV0ZT4NCisgICAgICA8L29wdGlvbmFsPg0KKyAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICA8YXR0cmlidXRlIG5hbWU9InR5cGUiPg0KKyAgICAgICAgICAgIDxkYXRhIHR5cGU9InN0cmluZyIvPg0KKyAgICAgICAgIDwvYXR0cmlidXRlPg0KKyAgICAgIDwvb3B0aW9uYWw+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJvbGluay5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ib2xpbmsiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9Im9saW5rIj4NCisgICAgICAgICA8cmVmIG5hbWU9Im9saW5rLmF0dGxpc3QiLz4NCisgICAgICAgICA8bWl4ZWQ+DQorICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJwYXJhLmNoYXIubWl4Ii8+DQorICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDwvbWl4ZWQ+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ib2xpbmsuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJvbGluay5yb2xlLmF0dHJpYiIvPg0KKyAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICA8YXR0cmlidXRlIG5hbWU9Imxpbmttb2RlIj4NCisgICAgICAgICAgICA8ZGF0YSB0eXBlPSJJRFJFRiIvPg0KKyAgICAgICAgIDwvYXR0cmlidXRlPg0KKyAgICAgIDwvb3B0aW9uYWw+DQorICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0ibG9jYWxpbmZvIj4NCisgICAgICAgICAgICA8ZGF0YSB0eXBlPSJzdHJpbmciLz4NCisgICAgICAgICA8L2F0dHJpYnV0ZT4NCisgICAgICA8L29wdGlvbmFsPg0KKyAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICA8YXR0cmlidXRlIG5hbWU9InR5cGUiPg0KKyAgICAgICAgICAgIDxkYXRhIHR5cGU9InN0cmluZyIvPg0KKyAgICAgICAgIDwvYXR0cmlidXRlPg0KKyAgICAgIDwvb3B0aW9uYWw+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJ1bGluay5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0idWxpbmsiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9InVsaW5rIj4NCisgICAgICAgICA8cmVmIG5hbWU9InVsaW5rLmF0dGxpc3QiLz4NCisgICAgICAgICA8bWl4ZWQ+DQorICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJwYXJhLmNoYXIubWl4Ii8+DQorICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDwvbWl4ZWQ+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0idWxpbmsuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJ1bGluay5yb2xlLmF0dHJpYiIvPg0KKyAgICAgIDxhdHRyaWJ1dGUgbmFtZT0idXJsIj4NCisgICAgICAgICA8ZGF0YSB0eXBlPSJzdHJpbmciLz4NCisgICAgICA8L2F0dHJpYnV0ZT4NCisgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJ0eXBlIj4NCisgICAgICAgICAgICA8ZGF0YSB0eXBlPSJzdHJpbmciLz4NCisgICAgICAgICA8L2F0dHJpYnV0ZT4NCisgICAgICA8L29wdGlvbmFsPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iZm9vdG5vdGVyZWYucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImZvb3Rub3RlcmVmIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJmb290bm90ZXJlZiI+DQorICAgICAgICAgPHJlZiBuYW1lPSJmb290bm90ZXJlZi5hdHRsaXN0Ii8+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iZm9vdG5vdGVyZWYuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJsaW5rZW5kcmVxLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0ibGFiZWwuYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJmb290bm90ZXJlZi5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ieHJlZi5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ieHJlZiI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0ieHJlZiI+DQorICAgICAgICAgPHJlZiBuYW1lPSJ4cmVmLmF0dGxpc3QiLz4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJ4cmVmLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0ibGlua2VuZHJlcS5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InhyZWYucm9sZS5hdHRyaWIiLz4NCisgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJlbmR0ZXJtIj4NCisgICAgICAgICAgICA8ZGF0YSB0eXBlPSJJRFJFRiIvPg0KKyAgICAgICAgIDwvYXR0cmlidXRlPg0KKyAgICAgIDwvb3B0aW9uYWw+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJhbmNob3Iucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImFuY2hvciI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0iYW5jaG9yIj4NCisgICAgICAgICA8cmVmIG5hbWU9ImFuY2hvci5hdHRsaXN0Ii8+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iYW5jaG9yLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iaWRyZXEuYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJwYWdlbnVtLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0icmVtYXAuYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJ4cmVmbGFiZWwuYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJyZXZpc2lvbmZsYWcuYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJlZmZlY3Rpdml0eS5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImFuY2hvci5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iYmVnaW5wYWdlLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJiZWdpbnBhZ2UiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9ImJlZ2lucGFnZSI+DQorICAgICAgICAgPHJlZiBuYW1lPSJiZWdpbnBhZ2UuYXR0bGlzdCIvPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImJlZ2lucGFnZS5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9InBhZ2VudW0uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJiZWdpbnBhZ2Uucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImluZGV4dGVybS5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iaW5kZXh0ZXJtIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJpbmRleHRlcm0iPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iaW5kZXh0ZXJtLmF0dGxpc3QiLz4NCisgICAgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJwcmltYXJ5Ii8+DQorICAgICAgICAgPC9vcHRpb25hbD4NCisgICAgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgICAgPGNob2ljZT4NCisgICAgICAgICAgICAgICA8Z3JvdXA+DQorICAgICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJzZWNvbmRhcnkiLz4NCisgICAgICAgICAgICAgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgICAgICAgICAgICAgPGNob2ljZT4NCisgICAgICAgICAgICAgICAgICAgICAgICA8Z3JvdXA+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJ0ZXJ0aWFyeSIvPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWYgbmFtZT0ic2VlIi8+DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9uZU9yTW9yZT4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVmIG5hbWU9InNlZWFsc28iLz4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29uZU9yTW9yZT4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Nob2ljZT4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wdGlvbmFsPg0KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvZ3JvdXA+DQorICAgICAgICAgICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJzZWUiLz4NCisgICAgICAgICAgICAgICAgICAgICAgICA8b25lT3JNb3JlPg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWYgbmFtZT0ic2VlYWxzbyIvPg0KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvb25lT3JNb3JlPg0KKyAgICAgICAgICAgICAgICAgICAgIDwvY2hvaWNlPg0KKyAgICAgICAgICAgICAgICAgIDwvb3B0aW9uYWw+DQorICAgICAgICAgICAgICAgPC9ncm91cD4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9InNlZSIvPg0KKyAgICAgICAgICAgICAgIDxvbmVPck1vcmU+DQorICAgICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJzZWVhbHNvIi8+DQorICAgICAgICAgICAgICAgPC9vbmVPck1vcmU+DQorICAgICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgICAgPC9vcHRpb25hbD4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJpbmRleHRlcm0uYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJpbmRleHRlcm0ucm9sZS5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InBhZ2VudW0uYXR0cmliIi8+DQorICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0ic2NvcGUiPg0KKyAgICAgICAgICAgIDxjaG9pY2U+DQorICAgICAgICAgICAgICAgPHZhbHVlPmFsbDwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPmdsb2JhbDwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPmxvY2FsPC92YWx1ZT4NCisgICAgICAgICAgICA8L2Nob2ljZT4NCisgICAgICAgICA8L2F0dHJpYnV0ZT4NCisgICAgICA8L29wdGlvbmFsPg0KKyAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICA8YXR0cmlidXRlIG5hbWU9InNpZ25pZmljYW5jZSI+DQorICAgICAgICAgICAgPGNob2ljZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+cHJlZmVycmVkPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+bm9ybWFsPC92YWx1ZT4NCisgICAgICAgICAgICA8L2Nob2ljZT4NCisgICAgICAgICA8L2F0dHJpYnV0ZT4NCisgICAgICA8L29wdGlvbmFsPg0KKyAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICA8YXR0cmlidXRlIG5hbWU9ImNsYXNzIj4NCisgICAgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5zaW5ndWxhcjwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPnN0YXJ0b2ZyYW5nZTwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPmVuZG9mcmFuZ2U8L3ZhbHVlPg0KKyAgICAgICAgICAgIDwvY2hvaWNlPg0KKyAgICAgICAgIDwvYXR0cmlidXRlPg0KKyAgICAgIDwvb3B0aW9uYWw+DQorICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0ic3RhcnRyZWYiPg0KKyAgICAgICAgICAgIDxkYXRhIHR5cGU9IklEUkVGIi8+DQorICAgICAgICAgPC9hdHRyaWJ1dGU+DQorICAgICAgPC9vcHRpb25hbD4NCisgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJ6b25lIj4NCisgICAgICAgICAgICA8ZGF0YSB0eXBlPSJJRFJFRlMiLz4NCisgICAgICAgICA8L2F0dHJpYnV0ZT4NCisgICAgICA8L29wdGlvbmFsPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icHJpbXNlY3Rlci5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icHJpbWFyeSI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0icHJpbWFyeSI+DQorICAgICAgICAgPHJlZiBuYW1lPSJwcmltYXJ5LmF0dGxpc3QiLz4NCisgICAgICAgICA8bWl4ZWQ+DQorICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJuZHh0ZXJtLmNoYXIubWl4Ii8+DQorICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDwvbWl4ZWQ+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icHJpbWFyeS5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InByaW1zZWN0ZXIucm9sZS5hdHRyaWIiLz4NCisgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJzb3J0YXMiPg0KKyAgICAgICAgICAgIDxkYXRhIHR5cGU9InN0cmluZyIvPg0KKyAgICAgICAgIDwvYXR0cmlidXRlPg0KKyAgICAgIDwvb3B0aW9uYWw+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJzZWNvbmRhcnkiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9InNlY29uZGFyeSI+DQorICAgICAgICAgPHJlZiBuYW1lPSJzZWNvbmRhcnkuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxtaXhlZD4NCisgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9Im5keHRlcm0uY2hhci5taXgiLz4NCisgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPC9taXhlZD4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJzZWNvbmRhcnkuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJwcmltc2VjdGVyLnJvbGUuYXR0cmliIi8+DQorICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0ic29ydGFzIj4NCisgICAgICAgICAgICA8ZGF0YSB0eXBlPSJzdHJpbmciLz4NCisgICAgICAgICA8L2F0dHJpYnV0ZT4NCisgICAgICA8L29wdGlvbmFsPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0idGVydGlhcnkiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9InRlcnRpYXJ5Ij4NCisgICAgICAgICA8cmVmIG5hbWU9InRlcnRpYXJ5LmF0dGxpc3QiLz4NCisgICAgICAgICA8bWl4ZWQ+DQorICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJuZHh0ZXJtLmNoYXIubWl4Ii8+DQorICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDwvbWl4ZWQ+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0idGVydGlhcnkuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJwcmltc2VjdGVyLnJvbGUuYXR0cmliIi8+DQorICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0ic29ydGFzIj4NCisgICAgICAgICAgICA8ZGF0YSB0eXBlPSJzdHJpbmciLz4NCisgICAgICAgICA8L2F0dHJpYnV0ZT4NCisgICAgICA8L29wdGlvbmFsPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic2Vlc2VlYWxzby5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic2VlIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJzZWUiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ic2VlLmF0dGxpc3QiLz4NCisgICAgICAgICA8bWl4ZWQ+DQorICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJuZHh0ZXJtLmNoYXIubWl4Ii8+DQorICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDwvbWl4ZWQ+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic2VlLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0ic2Vlc2VlYWxzby5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic2VlYWxzbyI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0ic2VlYWxzbyI+DQorICAgICAgICAgPHJlZiBuYW1lPSJzZWVhbHNvLmF0dGxpc3QiLz4NCisgICAgICAgICA8bWl4ZWQ+DQorICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJuZHh0ZXJtLmNoYXIubWl4Ii8+DQorICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDwvbWl4ZWQ+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic2VlYWxzby5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InNlZXNlZWFsc28ucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImFwcGVuZGl4LmNsYXNzIj4NCisgICAgICA8cmVmIG5hbWU9ImFwcGVuZGl4Ii8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJhcnRpY2xlLmNsYXNzIj4NCisgICAgICA8cmVmIG5hbWU9ImFydGljbGUiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImJvb2suY2xhc3MiPg0KKyAgICAgIDxyZWYgbmFtZT0iYm9vayIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iY2hhcHRlci5jbGFzcyI+DQorICAgICAgPHJlZiBuYW1lPSJjaGFwdGVyIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJpbmRleC5jbGFzcyI+DQorICAgICAgPGNob2ljZT4NCisgICAgICAgICA8cmVmIG5hbWU9ImluZGV4Ii8+DQorICAgICAgICAgPHJlZiBuYW1lPSJzZXRpbmRleCIvPg0KKyAgICAgIDwvY2hvaWNlPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icmVmZW50cnkuY2xhc3MiPg0KKyAgICAgIDxyZWYgbmFtZT0icmVmZW50cnkiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Im5hdi5jbGFzcyI+DQorICAgICAgPGNob2ljZT4NCisgICAgICAgICA8cmVmIG5hbWU9InRvYyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ibG90Ii8+DQorICAgICAgICAgPHJlZiBuYW1lPSJpbmRleCIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iZ2xvc3NhcnkiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImJpYmxpb2dyYXBoeSIvPg0KKyAgICAgIDwvY2hvaWNlPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iZGl2Y29tcG9uZW50Lm1peCI+DQorICAgICAgPGNob2ljZT4NCisgICAgICAgICA8cmVmIG5hbWU9Imxpc3QuY2xhc3MiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImFkbW9uLmNsYXNzIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJsaW5lc3BlY2lmaWMuY2xhc3MiLz4NCisgICAgICAgICA8cmVmIG5hbWU9InN5bm9wLmNsYXNzIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJwYXJhLmNsYXNzIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJpbmZvcm1hbC5jbGFzcyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iZm9ybWFsLmNsYXNzIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJjb21wb3VuZC5jbGFzcyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iZ2Vub2JqLmNsYXNzIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJkZXNjb2JqLmNsYXNzIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJuZHh0ZXJtLmNsYXNzIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJiZWdpbnBhZ2UiLz4NCisgICAgICA8L2Nob2ljZT4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InJlZmNvbXBvbmVudC5taXgiPg0KKyAgICAgIDxjaG9pY2U+DQorICAgICAgICAgPHJlZiBuYW1lPSJsaXN0LmNsYXNzIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJhZG1vbi5jbGFzcyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ibGluZXNwZWNpZmljLmNsYXNzIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJzeW5vcC5jbGFzcyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0icGFyYS5jbGFzcyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iaW5mb3JtYWwuY2xhc3MiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImZvcm1hbC5jbGFzcyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iY29tcG91bmQuY2xhc3MiLz4NCisgICAgICAgICA8cmVmIG5hbWU9Imdlbm9iai5jbGFzcyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iZGVzY29iai5jbGFzcyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ibmR4dGVybS5jbGFzcyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iYmVnaW5wYWdlIi8+DQorICAgICAgPC9jaG9pY2U+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJpbmRleGRpdmNvbXBvbmVudC5taXgiPg0KKyAgICAgIDxjaG9pY2U+DQorICAgICAgICAgPHJlZiBuYW1lPSJpdGVtaXplZGxpc3QiLz4NCisgICAgICAgICA8cmVmIG5hbWU9Im9yZGVyZWRsaXN0Ii8+DQorICAgICAgICAgPHJlZiBuYW1lPSJ2YXJpYWJsZWxpc3QiLz4NCisgICAgICAgICA8cmVmIG5hbWU9InNpbXBsZWxpc3QiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImxpbmVzcGVjaWZpYy5jbGFzcyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ic3lub3AuY2xhc3MiLz4NCisgICAgICAgICA8cmVmIG5hbWU9InBhcmEuY2xhc3MiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImluZm9ybWFsLmNsYXNzIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJhbmNob3IiLz4NCisgICAgICAgICA8cmVmIG5hbWU9InJlbWFyayIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ibGluay5jaGFyLmNsYXNzIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJiZWdpbnBhZ2UiLz4NCisgICAgICA8L2Nob2ljZT4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InJlZm5hbWUuY2hhci5taXgiPg0KKyAgICAgIDxyZWYgbmFtZT0idGVjaC5jaGFyLmNsYXNzIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJwYXJ0Y29udGVudC5taXgiPg0KKyAgICAgIDxjaG9pY2U+DQorICAgICAgICAgPHJlZiBuYW1lPSJhcHBlbmRpeC5jbGFzcyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iY2hhcHRlci5jbGFzcyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ibmF2LmNsYXNzIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJhcnRpY2xlLmNsYXNzIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJwcmVmYWNlIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJyZWZlbnRyeS5jbGFzcyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0icmVmZXJlbmNlIi8+DQorICAgICAgPC9jaG9pY2U+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJyZWZpbmxpbmUuY2hhci5taXgiPg0KKyAgICAgIDxjaG9pY2U+DQorICAgICAgICAgPHJlZiBuYW1lPSJ4cmVmLmNoYXIuY2xhc3MiLz4NCisgICAgICAgICA8cmVmIG5hbWU9Imdlbi5jaGFyLmNsYXNzIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJsaW5rLmNoYXIuY2xhc3MiLz4NCisgICAgICAgICA8cmVmIG5hbWU9InRlY2guY2hhci5jbGFzcyIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iYmFzZS5jaGFyLmNsYXNzIi8+DQorICAgICAgICAgPHJlZiBuYW1lPSJkb2NpbmZvLmNoYXIuY2xhc3MiLz4NCisgICAgICAgICA8cmVmIG5hbWU9Im90aGVyLmNoYXIuY2xhc3MiLz4NCisgICAgICAgICA8cmVmIG5hbWU9Im5keHRlcm0uY2xhc3MiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImJlZ2lucGFnZSIvPg0KKyAgICAgIDwvY2hvaWNlPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icmVmY2xhc3MuY2hhci5taXgiPg0KKyAgICAgIDxyZWYgbmFtZT0iYXBwbGljYXRpb24iLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImRpdi50aXRsZS5jb250ZW50Ij4NCisgICAgICA8cmVmIG5hbWU9InRpdGxlIi8+DQorICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ic3VidGl0bGUiLz4NCisgICAgICA8L29wdGlvbmFsPg0KKyAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICA8cmVmIG5hbWU9InRpdGxlYWJicmV2Ii8+DQorICAgICAgPC9vcHRpb25hbD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImJvb2tjb21wb25lbnQudGl0bGUuY29udGVudCI+DQorICAgICAgPHJlZiBuYW1lPSJ0aXRsZSIvPg0KKyAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICA8cmVmIG5hbWU9InN1YnRpdGxlIi8+DQorICAgICAgPC9vcHRpb25hbD4NCisgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgPHJlZiBuYW1lPSJ0aXRsZWFiYnJldiIvPg0KKyAgICAgIDwvb3B0aW9uYWw+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJzZWN0LnRpdGxlLmNvbnRlbnQiPg0KKyAgICAgIDxyZWYgbmFtZT0idGl0bGUiLz4NCisgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgPHJlZiBuYW1lPSJzdWJ0aXRsZSIvPg0KKyAgICAgIDwvb3B0aW9uYWw+DQorICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgIDxyZWYgbmFtZT0idGl0bGVhYmJyZXYiLz4NCisgICAgICA8L29wdGlvbmFsPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icmVmc2VjdC50aXRsZS5jb250ZW50Ij4NCisgICAgICA8cmVmIG5hbWU9InRpdGxlIi8+DQorICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ic3VidGl0bGUiLz4NCisgICAgICA8L29wdGlvbmFsPg0KKyAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICA8cmVmIG5hbWU9InRpdGxlYWJicmV2Ii8+DQorICAgICAgPC9vcHRpb25hbD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImJvb2tjb21wb25lbnQuY29udGVudCI+DQorICAgICAgPGNob2ljZT4NCisgICAgICAgICA8Z3JvdXA+DQorICAgICAgICAgICAgPG9uZU9yTW9yZT4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9ImRpdmNvbXBvbmVudC5taXgiLz4NCisgICAgICAgICAgICA8L29uZU9yTW9yZT4NCisgICAgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgICAgICAgIDxyZWYgbmFtZT0ic2VjdDEiLz4NCisgICAgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJyZWZlbnRyeS5jbGFzcyIvPg0KKyAgICAgICAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICAgICA8cmVmIG5hbWU9InNpbXBsZXNlY3QiLz4NCisgICAgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJzZWN0aW9uIi8+DQorICAgICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgIDwvY2hvaWNlPg0KKyAgICAgICAgIDwvZ3JvdXA+DQorICAgICAgICAgPGNob2ljZT4NCisgICAgICAgICAgICA8b25lT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0ic2VjdDEiLz4NCisgICAgICAgICAgICA8L29uZU9yTW9yZT4NCisgICAgICAgICAgICA8b25lT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0icmVmZW50cnkuY2xhc3MiLz4NCisgICAgICAgICAgICA8L29uZU9yTW9yZT4NCisgICAgICAgICAgICA8b25lT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0ic2ltcGxlc2VjdCIvPg0KKyAgICAgICAgICAgIDwvb25lT3JNb3JlPg0KKyAgICAgICAgICAgIDxvbmVPck1vcmU+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJzZWN0aW9uIi8+DQorICAgICAgICAgICAgPC9vbmVPck1vcmU+DQorICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgPC9jaG9pY2U+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJzZXQucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InNldCI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0ic2V0Ij4NCisgICAgICAgICA8cmVmIG5hbWU9InNldC5hdHRsaXN0Ii8+DQorICAgICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0iZGl2LnRpdGxlLmNvbnRlbnQiLz4NCisgICAgICAgICA8L29wdGlvbmFsPg0KKyAgICAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICAgICA8cmVmIG5hbWU9InNldGluZm8iLz4NCisgICAgICAgICA8L29wdGlvbmFsPg0KKyAgICAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICAgICA8cmVmIG5hbWU9InRvYyIvPg0KKyAgICAgICAgIDwvb3B0aW9uYWw+DQorICAgICAgICAgPG9uZU9yTW9yZT4NCisgICAgICAgICAgICA8cmVmIG5hbWU9ImJvb2suY2xhc3MiLz4NCisgICAgICAgICA8L29uZU9yTW9yZT4NCisgICAgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJzZXRpbmRleCIvPg0KKyAgICAgICAgIDwvb3B0aW9uYWw+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic2V0LmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0ic3RhdHVzLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0ic2V0LnJvbGUuYXR0cmliIi8+DQorICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0iZnBpIj4NCisgICAgICAgICAgICA8ZGF0YSB0eXBlPSJzdHJpbmciLz4NCisgICAgICAgICA8L2F0dHJpYnV0ZT4NCisgICAgICA8L29wdGlvbmFsPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic2V0aW5mby5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic2V0aW5mbyI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0ic2V0aW5mbyI+DQorICAgICAgICAgPHJlZiBuYW1lPSJzZXRpbmZvLmF0dGxpc3QiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImluZm9Db250ZW50TW9kZWwiLz4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJzZXRpbmZvLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0ic2V0aW5mby5yb2xlLmF0dHJpYiIvPg0KKyAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICA8YXR0cmlidXRlIG5hbWU9ImNvbnRlbnRzIj4NCisgICAgICAgICAgICA8ZGF0YSB0eXBlPSJJRFJFRlMiLz4NCisgICAgICAgICA8L2F0dHJpYnV0ZT4NCisgICAgICA8L29wdGlvbmFsPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iYm9vay5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iYm9vayI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0iYm9vayI+DQorICAgICAgICAgPHJlZiBuYW1lPSJib29rLmF0dGxpc3QiLz4NCisgICAgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJkaXYudGl0bGUuY29udGVudCIvPg0KKyAgICAgICAgIDwvb3B0aW9uYWw+DQorICAgICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0iYm9va2luZm8iLz4NCisgICAgICAgICA8L29wdGlvbmFsPg0KKyAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgIDxjaG9pY2U+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJkZWRpY2F0aW9uIi8+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJ0b2MiLz4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9ImxvdCIvPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iZ2xvc3NhcnkiLz4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9ImJpYmxpb2dyYXBoeSIvPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0icHJlZmFjZSIvPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iY2hhcHRlci5jbGFzcyIvPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0icmVmZXJlbmNlIi8+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJwYXJ0Ii8+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJhcnRpY2xlLmNsYXNzIi8+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJhcHBlbmRpeC5jbGFzcyIvPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iaW5kZXguY2xhc3MiLz4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9ImNvbG9waG9uIi8+DQorICAgICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImJvb2suYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJsYWJlbC5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InN0YXR1cy5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImJvb2sucm9sZS5hdHRyaWIiLz4NCisgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJmcGkiPg0KKyAgICAgICAgICAgIDxkYXRhIHR5cGU9InN0cmluZyIvPg0KKyAgICAgICAgIDwvYXR0cmlidXRlPg0KKyAgICAgIDwvb3B0aW9uYWw+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJib29raW5mby5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iYm9va2luZm8iPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9ImJvb2tpbmZvIj4NCisgICAgICAgICA8cmVmIG5hbWU9ImJvb2tpbmZvLmF0dGxpc3QiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImluZm9Db250ZW50TW9kZWwiLz4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJib29raW5mby5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImJvb2tpbmZvLnJvbGUuYXR0cmliIi8+DQorICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0iY29udGVudHMiPg0KKyAgICAgICAgICAgIDxkYXRhIHR5cGU9IklEUkVGUyIvPg0KKyAgICAgICAgIDwvYXR0cmlidXRlPg0KKyAgICAgIDwvb3B0aW9uYWw+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJkZWRpY2F0aW9uLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJkZWRpY2F0aW9uIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJkZWRpY2F0aW9uIj4NCisgICAgICAgICA8cmVmIG5hbWU9ImRlZGljYXRpb24uYXR0bGlzdCIvPg0KKyAgICAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICAgICA8cmVmIG5hbWU9InNlY3QudGl0bGUuY29udGVudCIvPg0KKyAgICAgICAgIDwvb3B0aW9uYWw+DQorICAgICAgICAgPG9uZU9yTW9yZT4NCisgICAgICAgICAgICA8cmVmIG5hbWU9ImxlZ2Fsbm90aWNlLm1peCIvPg0KKyAgICAgICAgIDwvb25lT3JNb3JlPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImRlZGljYXRpb24uYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJzdGF0dXMuYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJkZWRpY2F0aW9uLnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJjb2xvcGhvbi5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iY29sb3Bob24iPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9ImNvbG9waG9uIj4NCisgICAgICAgICA8cmVmIG5hbWU9ImNvbG9waG9uLmF0dGxpc3QiLz4NCisgICAgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJzZWN0LnRpdGxlLmNvbnRlbnQiLz4NCisgICAgICAgICA8L29wdGlvbmFsPg0KKyAgICAgICAgIDxvbmVPck1vcmU+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJ0ZXh0b2JqZWN0Lm1peCIvPg0KKyAgICAgICAgIDwvb25lT3JNb3JlPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImNvbG9waG9uLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0ic3RhdHVzLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iY29sb3Bob24ucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InRvYy5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0idG9jIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJ0b2MiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0idG9jLmF0dGxpc3QiLz4NCisgICAgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJib29rY29tcG9uZW50LnRpdGxlLmNvbnRlbnQiLz4NCisgICAgICAgICA8L29wdGlvbmFsPg0KKyAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0idG9jZnJvbnQiLz4NCisgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgPGNob2ljZT4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9InRvY3BhcnQiLz4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9InRvY2NoYXAiLz4NCisgICAgICAgICAgICA8L2Nob2ljZT4NCisgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJ0b2NiYWNrIi8+DQorICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InRvYy5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9InBhZ2VudW0uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJ0b2Mucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InRvY2Zyb250LnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJ0b2Nmcm9udCI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0idG9jZnJvbnQiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0idG9jZnJvbnQuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxtaXhlZD4NCisgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9InBhcmEuY2hhci5taXgiLz4NCisgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPC9taXhlZD4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJ0b2Nmcm9udC5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImxhYmVsLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0ibGlua2VuZC5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InBhZ2VudW0uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJ0b2Nmcm9udC5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0idG9jZW50cnkucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InRvY2VudHJ5Ij4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJ0b2NlbnRyeSI+DQorICAgICAgICAgPHJlZiBuYW1lPSJ0b2NlbnRyeS5hdHRsaXN0Ii8+DQorICAgICAgICAgPG1peGVkPg0KKyAgICAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0icGFyYS5jaGFyLm1peCIvPg0KKyAgICAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8L21peGVkPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InRvY2VudHJ5LmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0ibGlua2VuZC5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InBhZ2VudW0uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJ0b2NlbnRyeS5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0idG9jcGFydC5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0idG9jcGFydCI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0idG9jcGFydCI+DQorICAgICAgICAgPHJlZiBuYW1lPSJ0b2NwYXJ0LmF0dGxpc3QiLz4NCisgICAgICAgICA8b25lT3JNb3JlPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0idG9jZW50cnkiLz4NCisgICAgICAgICA8L29uZU9yTW9yZT4NCisgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICA8cmVmIG5hbWU9InRvY2NoYXAiLz4NCisgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0idG9jcGFydC5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InRvY3BhcnQucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InRvY2NoYXAucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InRvY2NoYXAiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9InRvY2NoYXAiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0idG9jY2hhcC5hdHRsaXN0Ii8+DQorICAgICAgICAgPG9uZU9yTW9yZT4NCisgICAgICAgICAgICA8cmVmIG5hbWU9InRvY2VudHJ5Ii8+DQorICAgICAgICAgPC9vbmVPck1vcmU+DQorICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJ0b2NsZXZlbDEiLz4NCisgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0idG9jY2hhcC5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImxhYmVsLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0idG9jY2hhcC5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0idG9jbGV2ZWwxLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJ0b2NsZXZlbDEiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9InRvY2xldmVsMSI+DQorICAgICAgICAgPHJlZiBuYW1lPSJ0b2NsZXZlbDEuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxvbmVPck1vcmU+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJ0b2NlbnRyeSIvPg0KKyAgICAgICAgIDwvb25lT3JNb3JlPg0KKyAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0idG9jbGV2ZWwyIi8+DQorICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InRvY2xldmVsMS5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InRvY2xldmVsMS5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0idG9jbGV2ZWwyLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJ0b2NsZXZlbDIiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9InRvY2xldmVsMiI+DQorICAgICAgICAgPHJlZiBuYW1lPSJ0b2NsZXZlbDIuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxvbmVPck1vcmU+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJ0b2NlbnRyeSIvPg0KKyAgICAgICAgIDwvb25lT3JNb3JlPg0KKyAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0idG9jbGV2ZWwzIi8+DQorICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InRvY2xldmVsMi5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InRvY2xldmVsMi5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0idG9jbGV2ZWwzLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJ0b2NsZXZlbDMiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9InRvY2xldmVsMyI+DQorICAgICAgICAgPHJlZiBuYW1lPSJ0b2NsZXZlbDMuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxvbmVPck1vcmU+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJ0b2NlbnRyeSIvPg0KKyAgICAgICAgIDwvb25lT3JNb3JlPg0KKyAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0idG9jbGV2ZWw0Ii8+DQorICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InRvY2xldmVsMy5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InRvY2xldmVsMy5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0idG9jbGV2ZWw0LnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJ0b2NsZXZlbDQiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9InRvY2xldmVsNCI+DQorICAgICAgICAgPHJlZiBuYW1lPSJ0b2NsZXZlbDQuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxvbmVPck1vcmU+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJ0b2NlbnRyeSIvPg0KKyAgICAgICAgIDwvb25lT3JNb3JlPg0KKyAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0idG9jbGV2ZWw1Ii8+DQorICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InRvY2xldmVsNC5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InRvY2xldmVsNC5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0idG9jbGV2ZWw1LnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJ0b2NsZXZlbDUiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9InRvY2xldmVsNSI+DQorICAgICAgICAgPHJlZiBuYW1lPSJ0b2NsZXZlbDUuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxvbmVPck1vcmU+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJ0b2NlbnRyeSIvPg0KKyAgICAgICAgIDwvb25lT3JNb3JlPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InRvY2xldmVsNS5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InRvY2xldmVsNS5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0idG9jYmFjay5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0idG9jYmFjayI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0idG9jYmFjayI+DQorICAgICAgICAgPHJlZiBuYW1lPSJ0b2NiYWNrLmF0dGxpc3QiLz4NCisgICAgICAgICA8bWl4ZWQ+DQorICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJwYXJhLmNoYXIubWl4Ii8+DQorICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDwvbWl4ZWQ+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0idG9jYmFjay5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImxhYmVsLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0ibGlua2VuZC5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InBhZ2VudW0uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJ0b2NiYWNrLnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJsb3Qucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImxvdCI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0ibG90Ij4NCisgICAgICAgICA8cmVmIG5hbWU9ImxvdC5hdHRsaXN0Ii8+DQorICAgICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0iYm9va2NvbXBvbmVudC50aXRsZS5jb250ZW50Ii8+DQorICAgICAgICAgPC9vcHRpb25hbD4NCisgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICA8cmVmIG5hbWU9ImxvdGVudHJ5Ii8+DQorICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImxvdC5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImxhYmVsLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0ibG90LnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJsb3RlbnRyeS5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ibG90ZW50cnkiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9ImxvdGVudHJ5Ij4NCisgICAgICAgICA8cmVmIG5hbWU9ImxvdGVudHJ5LmF0dGxpc3QiLz4NCisgICAgICAgICA8bWl4ZWQ+DQorICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJwYXJhLmNoYXIubWl4Ii8+DQorICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDwvbWl4ZWQ+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ibG90ZW50cnkuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJwYWdlbnVtLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0ibGlua2VuZC5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImxvdGVudHJ5LnJvbGUuYXR0cmliIi8+DQorICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0ic3JjY3JlZGl0Ij4NCisgICAgICAgICAgICA8ZGF0YSB0eXBlPSJzdHJpbmciLz4NCisgICAgICAgICA8L2F0dHJpYnV0ZT4NCisgICAgICA8L29wdGlvbmFsPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iYXBwZW5kaXgucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImFwcGVuZGl4Ij4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJhcHBlbmRpeCI+DQorICAgICAgICAgPHJlZiBuYW1lPSJhcHBlbmRpeC5hdHRsaXN0Ii8+DQorICAgICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0iYXBwZW5kaXhpbmZvIi8+DQorICAgICAgICAgPC9vcHRpb25hbD4NCisgICAgICAgICA8cmVmIG5hbWU9ImJvb2tjb21wb25lbnQudGl0bGUuY29udGVudCIvPg0KKyAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0ibmF2LmNsYXNzIi8+DQorICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICAgICA8cmVmIG5hbWU9InRvY2NoYXAiLz4NCisgICAgICAgICA8L29wdGlvbmFsPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iYm9va2NvbXBvbmVudC5jb250ZW50Ii8+DQorICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJuYXYuY2xhc3MiLz4NCisgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iYXBwZW5kaXguYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJsYWJlbC5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InN0YXR1cy5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImFwcGVuZGl4LnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJjaGFwdGVyLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJjaGFwdGVyIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJjaGFwdGVyIj4NCisgICAgICAgICA8cmVmIG5hbWU9ImNoYXB0ZXIuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICAgICA8cmVmIG5hbWU9ImNoYXB0ZXJpbmZvIi8+DQorICAgICAgICAgPC9vcHRpb25hbD4NCisgICAgICAgICA8cmVmIG5hbWU9ImJvb2tjb21wb25lbnQudGl0bGUuY29udGVudCIvPg0KKyAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0ibmF2LmNsYXNzIi8+DQorICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICAgICA8cmVmIG5hbWU9InRvY2NoYXAiLz4NCisgICAgICAgICA8L29wdGlvbmFsPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iYm9va2NvbXBvbmVudC5jb250ZW50Ii8+DQorICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJuYXYuY2xhc3MiLz4NCisgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iY2hhcHRlci5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImxhYmVsLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0ic3RhdHVzLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iY2hhcHRlci5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icGFydC5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icGFydCI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0icGFydCI+DQorICAgICAgICAgPHJlZiBuYW1lPSJwYXJ0LmF0dGxpc3QiLz4NCisgICAgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJwYXJ0aW5mbyIvPg0KKyAgICAgICAgIDwvb3B0aW9uYWw+DQorICAgICAgICAgPHJlZiBuYW1lPSJib29rY29tcG9uZW50LnRpdGxlLmNvbnRlbnQiLz4NCisgICAgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJwYXJ0aW50cm8iLz4NCisgICAgICAgICA8L29wdGlvbmFsPg0KKyAgICAgICAgIDxvbmVPck1vcmU+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJwYXJ0Y29udGVudC5taXgiLz4NCisgICAgICAgICA8L29uZU9yTW9yZT4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJwYXJ0LmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0ibGFiZWwuYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJzdGF0dXMuYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJwYXJ0LnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJwcmVmYWNlLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJwcmVmYWNlIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJwcmVmYWNlIj4NCisgICAgICAgICA8cmVmIG5hbWU9InByZWZhY2UuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICAgICA8cmVmIG5hbWU9InByZWZhY2VpbmZvIi8+DQorICAgICAgICAgPC9vcHRpb25hbD4NCisgICAgICAgICA8cmVmIG5hbWU9ImJvb2tjb21wb25lbnQudGl0bGUuY29udGVudCIvPg0KKyAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0ibmF2LmNsYXNzIi8+DQorICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICAgICA8cmVmIG5hbWU9InRvY2NoYXAiLz4NCisgICAgICAgICA8L29wdGlvbmFsPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iYm9va2NvbXBvbmVudC5jb250ZW50Ii8+DQorICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJuYXYuY2xhc3MiLz4NCisgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icHJlZmFjZS5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9InN0YXR1cy5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InByZWZhY2Uucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InJlZmVyZW5jZS5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icmVmZXJlbmNlIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJyZWZlcmVuY2UiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0icmVmZXJlbmNlLmF0dGxpc3QiLz4NCisgICAgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJyZWZlcmVuY2VpbmZvIi8+DQorICAgICAgICAgPC9vcHRpb25hbD4NCisgICAgICAgICA8cmVmIG5hbWU9ImJvb2tjb21wb25lbnQudGl0bGUuY29udGVudCIvPg0KKyAgICAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICAgICA8cmVmIG5hbWU9InBhcnRpbnRybyIvPg0KKyAgICAgICAgIDwvb3B0aW9uYWw+DQorICAgICAgICAgPG9uZU9yTW9yZT4NCisgICAgICAgICAgICA8cmVmIG5hbWU9InJlZmVudHJ5LmNsYXNzIi8+DQorICAgICAgICAgPC9vbmVPck1vcmU+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icmVmZXJlbmNlLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0ibGFiZWwuYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJzdGF0dXMuYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJyZWZlcmVuY2Uucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InBhcnRpbnRyby5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icGFydGludHJvIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0aW50cm8iPg0KKyAgICAgICAgIDxyZWYgbmFtZT0icGFydGludHJvLmF0dGxpc3QiLz4NCisgICAgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJkaXYudGl0bGUuY29udGVudCIvPg0KKyAgICAgICAgIDwvb3B0aW9uYWw+DQorICAgICAgICAgPHJlZiBuYW1lPSJib29rY29tcG9uZW50LmNvbnRlbnQiLz4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJwYXJ0aW50cm8uYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJsYWJlbC5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InBhcnRpbnRyby5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iYXBwZW5kaXhpbmZvLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJhcHBlbmRpeGluZm8iPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9ImFwcGVuZGl4aW5mbyI+DQorICAgICAgICAgPHJlZiBuYW1lPSJhcHBlbmRpeGluZm8uYXR0bGlzdCIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iaW5mb0NvbnRlbnRNb2RlbCIvPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImFwcGVuZGl4aW5mby5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImFwcGVuZGl4aW5mby5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iYmlibGlvZ3JhcGh5aW5mby5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iYmlibGlvZ3JhcGh5aW5mbyI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0iYmlibGlvZ3JhcGh5aW5mbyI+DQorICAgICAgICAgPHJlZiBuYW1lPSJiaWJsaW9ncmFwaHlpbmZvLmF0dGxpc3QiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImluZm9Db250ZW50TW9kZWwiLz4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJiaWJsaW9ncmFwaHlpbmZvLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iYmlibGlvZ3JhcGh5aW5mby5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iY2hhcHRlcmluZm8ucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImNoYXB0ZXJpbmZvIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJjaGFwdGVyaW5mbyI+DQorICAgICAgICAgPHJlZiBuYW1lPSJjaGFwdGVyaW5mby5hdHRsaXN0Ii8+DQorICAgICAgICAgPHJlZiBuYW1lPSJpbmZvQ29udGVudE1vZGVsIi8+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iY2hhcHRlcmluZm8uYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJjaGFwdGVyaW5mby5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iZ2xvc3NhcnlpbmZvLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJnbG9zc2FyeWluZm8iPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9Imdsb3NzYXJ5aW5mbyI+DQorICAgICAgICAgPHJlZiBuYW1lPSJnbG9zc2FyeWluZm8uYXR0bGlzdCIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iaW5mb0NvbnRlbnRNb2RlbCIvPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Imdsb3NzYXJ5aW5mby5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9Imdsb3NzYXJ5aW5mby5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iaW5kZXhpbmZvLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJpbmRleGluZm8iPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9ImluZGV4aW5mbyI+DQorICAgICAgICAgPHJlZiBuYW1lPSJpbmRleGluZm8uYXR0bGlzdCIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iaW5mb0NvbnRlbnRNb2RlbCIvPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImluZGV4aW5mby5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImluZGV4aW5mby5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic2V0aW5kZXhpbmZvLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJzZXRpbmRleGluZm8iPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9InNldGluZGV4aW5mbyI+DQorICAgICAgICAgPHJlZiBuYW1lPSJzZXRpbmRleGluZm8uYXR0bGlzdCIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iaW5mb0NvbnRlbnRNb2RlbCIvPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InNldGluZGV4aW5mby5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InNldGluZGV4aW5mby5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icGFydGluZm8ucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InBhcnRpbmZvIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJwYXJ0aW5mbyI+DQorICAgICAgICAgPHJlZiBuYW1lPSJwYXJ0aW5mby5hdHRsaXN0Ii8+DQorICAgICAgICAgPHJlZiBuYW1lPSJpbmZvQ29udGVudE1vZGVsIi8+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icGFydGluZm8uYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJwYXJ0aW5mby5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icHJlZmFjZWluZm8ucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InByZWZhY2VpbmZvIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJwcmVmYWNlaW5mbyI+DQorICAgICAgICAgPHJlZiBuYW1lPSJwcmVmYWNlaW5mby5hdHRsaXN0Ii8+DQorICAgICAgICAgPHJlZiBuYW1lPSJpbmZvQ29udGVudE1vZGVsIi8+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icHJlZmFjZWluZm8uYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJwcmVmYWNlaW5mby5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icmVmZW50cnlpbmZvLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJyZWZlbnRyeWluZm8iPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9InJlZmVudHJ5aW5mbyI+DQorICAgICAgICAgPHJlZiBuYW1lPSJyZWZlbnRyeWluZm8uYXR0bGlzdCIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iaW5mb0NvbnRlbnRNb2RlbCIvPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InJlZmVudHJ5aW5mby5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InJlZmVudHJ5aW5mby5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icmVmc2VjdDFpbmZvLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJyZWZzZWN0MWluZm8iPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9InJlZnNlY3QxaW5mbyI+DQorICAgICAgICAgPHJlZiBuYW1lPSJyZWZzZWN0MWluZm8uYXR0bGlzdCIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iaW5mb0NvbnRlbnRNb2RlbCIvPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InJlZnNlY3QxaW5mby5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InJlZnNlY3QxaW5mby5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icmVmc2VjdDJpbmZvLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJyZWZzZWN0MmluZm8iPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9InJlZnNlY3QyaW5mbyI+DQorICAgICAgICAgPHJlZiBuYW1lPSJyZWZzZWN0MmluZm8uYXR0bGlzdCIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iaW5mb0NvbnRlbnRNb2RlbCIvPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InJlZnNlY3QyaW5mby5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InJlZnNlY3QyaW5mby5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icmVmc2VjdDNpbmZvLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJyZWZzZWN0M2luZm8iPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9InJlZnNlY3QzaW5mbyI+DQorICAgICAgICAgPHJlZiBuYW1lPSJyZWZzZWN0M2luZm8uYXR0bGlzdCIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iaW5mb0NvbnRlbnRNb2RlbCIvPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InJlZnNlY3QzaW5mby5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InJlZnNlY3QzaW5mby5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icmVmc3lub3BzaXNkaXZpbmZvLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJyZWZzeW5vcHNpc2RpdmluZm8iPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9InJlZnN5bm9wc2lzZGl2aW5mbyI+DQorICAgICAgICAgPHJlZiBuYW1lPSJyZWZzeW5vcHNpc2RpdmluZm8uYXR0bGlzdCIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iaW5mb0NvbnRlbnRNb2RlbCIvPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InJlZnN5bm9wc2lzZGl2aW5mby5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InJlZnN5bm9wc2lzZGl2aW5mby5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icmVmZXJlbmNlaW5mby5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icmVmZXJlbmNlaW5mbyI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0icmVmZXJlbmNlaW5mbyI+DQorICAgICAgICAgPHJlZiBuYW1lPSJyZWZlcmVuY2VpbmZvLmF0dGxpc3QiLz4NCisgICAgICAgICA8cmVmIG5hbWU9ImluZm9Db250ZW50TW9kZWwiLz4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJyZWZlcmVuY2VpbmZvLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0icmVmZXJlbmNlaW5mby5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic2VjdDFpbmZvLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJzZWN0MWluZm8iPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9InNlY3QxaW5mbyI+DQorICAgICAgICAgPHJlZiBuYW1lPSJzZWN0MWluZm8uYXR0bGlzdCIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iaW5mb0NvbnRlbnRNb2RlbCIvPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InNlY3QxaW5mby5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InNlY3QxaW5mby5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic2VjdDJpbmZvLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJzZWN0MmluZm8iPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9InNlY3QyaW5mbyI+DQorICAgICAgICAgPHJlZiBuYW1lPSJzZWN0MmluZm8uYXR0bGlzdCIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iaW5mb0NvbnRlbnRNb2RlbCIvPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InNlY3QyaW5mby5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InNlY3QyaW5mby5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic2VjdDNpbmZvLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJzZWN0M2luZm8iPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9InNlY3QzaW5mbyI+DQorICAgICAgICAgPHJlZiBuYW1lPSJzZWN0M2luZm8uYXR0bGlzdCIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iaW5mb0NvbnRlbnRNb2RlbCIvPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InNlY3QzaW5mby5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InNlY3QzaW5mby5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic2VjdDRpbmZvLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJzZWN0NGluZm8iPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9InNlY3Q0aW5mbyI+DQorICAgICAgICAgPHJlZiBuYW1lPSJzZWN0NGluZm8uYXR0bGlzdCIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iaW5mb0NvbnRlbnRNb2RlbCIvPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InNlY3Q0aW5mby5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InNlY3Q0aW5mby5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic2VjdDVpbmZvLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJzZWN0NWluZm8iPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9InNlY3Q1aW5mbyI+DQorICAgICAgICAgPHJlZiBuYW1lPSJzZWN0NWluZm8uYXR0bGlzdCIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iaW5mb0NvbnRlbnRNb2RlbCIvPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InNlY3Q1aW5mby5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InNlY3Q1aW5mby5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic2VjdGlvbi5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic2VjdGlvbiI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0ic2VjdGlvbiI+DQorICAgICAgICAgPHJlZiBuYW1lPSJzZWN0aW9uLmF0dGxpc3QiLz4NCisgICAgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJzZWN0aW9uaW5mbyIvPg0KKyAgICAgICAgIDwvb3B0aW9uYWw+DQorICAgICAgICAgPHJlZiBuYW1lPSJzZWN0LnRpdGxlLmNvbnRlbnQiLz4NCisgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICA8cmVmIG5hbWU9Im5hdi5jbGFzcyIvPg0KKyAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgIDxncm91cD4NCisgICAgICAgICAgICAgICA8b25lT3JNb3JlPg0KKyAgICAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iZGl2Y29tcG9uZW50Lm1peCIvPg0KKyAgICAgICAgICAgICAgIDwvb25lT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxjaG9pY2U+DQorICAgICAgICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJyZWZlbnRyeS5jbGFzcyIvPg0KKyAgICAgICAgICAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICAgICAgICA8cmVmIG5hbWU9InNlY3Rpb24iLz4NCisgICAgICAgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgICAgICAgPC9ncm91cD4NCisgICAgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgICAgIDxvbmVPck1vcmU+DQorICAgICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJyZWZlbnRyeS5jbGFzcyIvPg0KKyAgICAgICAgICAgICAgIDwvb25lT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxvbmVPck1vcmU+DQorICAgICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJzZWN0aW9uIi8+DQorICAgICAgICAgICAgICAgPC9vbmVPck1vcmU+DQorICAgICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJuYXYuY2xhc3MiLz4NCisgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic2VjdGlvbi5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImxhYmVsLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0ic3RhdHVzLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0ic2VjdGlvbi5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic2VjdGlvbmluZm8ucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InNlY3Rpb25pbmZvIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJzZWN0aW9uaW5mbyI+DQorICAgICAgICAgPHJlZiBuYW1lPSJzZWN0aW9uaW5mby5hdHRsaXN0Ii8+DQorICAgICAgICAgPHJlZiBuYW1lPSJpbmZvQ29udGVudE1vZGVsIi8+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic2VjdGlvbmluZm8uYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJzZWN0aW9uaW5mby5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic2VjdDEucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InNlY3QxIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJzZWN0MSI+DQorICAgICAgICAgPHJlZiBuYW1lPSJzZWN0MS5hdHRsaXN0Ii8+DQorICAgICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0ic2VjdDFpbmZvIi8+DQorICAgICAgICAgPC9vcHRpb25hbD4NCisgICAgICAgICA8cmVmIG5hbWU9InNlY3QudGl0bGUuY29udGVudCIvPg0KKyAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0ibmF2LmNsYXNzIi8+DQorICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDxjaG9pY2U+DQorICAgICAgICAgICAgPGdyb3VwPg0KKyAgICAgICAgICAgICAgIDxvbmVPck1vcmU+DQorICAgICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJkaXZjb21wb25lbnQubWl4Ii8+DQorICAgICAgICAgICAgICAgPC9vbmVPck1vcmU+DQorICAgICAgICAgICAgICAgPGNob2ljZT4NCisgICAgICAgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICAgICAgICA8cmVmIG5hbWU9InJlZmVudHJ5LmNsYXNzIi8+DQorICAgICAgICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgICAgICAgICAgIDxyZWYgbmFtZT0ic2VjdDIiLz4NCisgICAgICAgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJzaW1wbGVzZWN0Ii8+DQorICAgICAgICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDwvY2hvaWNlPg0KKyAgICAgICAgICAgIDwvZ3JvdXA+DQorICAgICAgICAgICAgPGNob2ljZT4NCisgICAgICAgICAgICAgICA8b25lT3JNb3JlPg0KKyAgICAgICAgICAgICAgICAgIDxyZWYgbmFtZT0icmVmZW50cnkuY2xhc3MiLz4NCisgICAgICAgICAgICAgICA8L29uZU9yTW9yZT4NCisgICAgICAgICAgICAgICA8b25lT3JNb3JlPg0KKyAgICAgICAgICAgICAgICAgIDxyZWYgbmFtZT0ic2VjdDIiLz4NCisgICAgICAgICAgICAgICA8L29uZU9yTW9yZT4NCisgICAgICAgICAgICAgICA8b25lT3JNb3JlPg0KKyAgICAgICAgICAgICAgICAgIDxyZWYgbmFtZT0ic2ltcGxlc2VjdCIvPg0KKyAgICAgICAgICAgICAgIDwvb25lT3JNb3JlPg0KKyAgICAgICAgICAgIDwvY2hvaWNlPg0KKyAgICAgICAgIDwvY2hvaWNlPg0KKyAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0ibmF2LmNsYXNzIi8+DQorICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InNlY3QxLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0ibGFiZWwuYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJzdGF0dXMuYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJzZWN0MS5yb2xlLmF0dHJpYiIvPg0KKyAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICA8YXR0cmlidXRlIG5hbWU9InJlbmRlcmFzIj4NCisgICAgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5zZWN0MjwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPnNlY3QzPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+c2VjdDQ8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5zZWN0NTwvdmFsdWU+DQorICAgICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgICAgPC9hdHRyaWJ1dGU+DQorICAgICAgPC9vcHRpb25hbD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InNlY3QyLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJzZWN0MiI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0ic2VjdDIiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ic2VjdDIuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICAgICA8cmVmIG5hbWU9InNlY3QyaW5mbyIvPg0KKyAgICAgICAgIDwvb3B0aW9uYWw+DQorICAgICAgICAgPHJlZiBuYW1lPSJzZWN0LnRpdGxlLmNvbnRlbnQiLz4NCisgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICA8cmVmIG5hbWU9Im5hdi5jbGFzcyIvPg0KKyAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgIDxncm91cD4NCisgICAgICAgICAgICAgICA8b25lT3JNb3JlPg0KKyAgICAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iZGl2Y29tcG9uZW50Lm1peCIvPg0KKyAgICAgICAgICAgICAgIDwvb25lT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxjaG9pY2U+DQorICAgICAgICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJyZWZlbnRyeS5jbGFzcyIvPg0KKyAgICAgICAgICAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICAgICAgICA8cmVmIG5hbWU9InNlY3QzIi8+DQorICAgICAgICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgICAgICAgICAgIDxyZWYgbmFtZT0ic2ltcGxlc2VjdCIvPg0KKyAgICAgICAgICAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICAgICAgICA8L2Nob2ljZT4NCisgICAgICAgICAgICA8L2dyb3VwPg0KKyAgICAgICAgICAgIDxjaG9pY2U+DQorICAgICAgICAgICAgICAgPG9uZU9yTW9yZT4NCisgICAgICAgICAgICAgICAgICA8cmVmIG5hbWU9InJlZmVudHJ5LmNsYXNzIi8+DQorICAgICAgICAgICAgICAgPC9vbmVPck1vcmU+DQorICAgICAgICAgICAgICAgPG9uZU9yTW9yZT4NCisgICAgICAgICAgICAgICAgICA8cmVmIG5hbWU9InNlY3QzIi8+DQorICAgICAgICAgICAgICAgPC9vbmVPck1vcmU+DQorICAgICAgICAgICAgICAgPG9uZU9yTW9yZT4NCisgICAgICAgICAgICAgICAgICA8cmVmIG5hbWU9InNpbXBsZXNlY3QiLz4NCisgICAgICAgICAgICAgICA8L29uZU9yTW9yZT4NCisgICAgICAgICAgICA8L2Nob2ljZT4NCisgICAgICAgICA8L2Nob2ljZT4NCisgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICA8cmVmIG5hbWU9Im5hdi5jbGFzcyIvPg0KKyAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJzZWN0Mi5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImxhYmVsLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0ic3RhdHVzLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0ic2VjdDIucm9sZS5hdHRyaWIiLz4NCisgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJyZW5kZXJhcyI+DQorICAgICAgICAgICAgPGNob2ljZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+c2VjdDE8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5zZWN0MzwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPnNlY3Q0PC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+c2VjdDU8L3ZhbHVlPg0KKyAgICAgICAgICAgIDwvY2hvaWNlPg0KKyAgICAgICAgIDwvYXR0cmlidXRlPg0KKyAgICAgIDwvb3B0aW9uYWw+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJzZWN0My5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic2VjdDMiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9InNlY3QzIj4NCisgICAgICAgICA8cmVmIG5hbWU9InNlY3QzLmF0dGxpc3QiLz4NCisgICAgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJzZWN0M2luZm8iLz4NCisgICAgICAgICA8L29wdGlvbmFsPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ic2VjdC50aXRsZS5jb250ZW50Ii8+DQorICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJuYXYuY2xhc3MiLz4NCisgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPGNob2ljZT4NCisgICAgICAgICAgICA8Z3JvdXA+DQorICAgICAgICAgICAgICAgPG9uZU9yTW9yZT4NCisgICAgICAgICAgICAgICAgICA8cmVmIG5hbWU9ImRpdmNvbXBvbmVudC5taXgiLz4NCisgICAgICAgICAgICAgICA8L29uZU9yTW9yZT4NCisgICAgICAgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgICAgICAgICAgIDxyZWYgbmFtZT0icmVmZW50cnkuY2xhc3MiLz4NCisgICAgICAgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJzZWN0NCIvPg0KKyAgICAgICAgICAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICAgICAgICA8cmVmIG5hbWU9InNpbXBsZXNlY3QiLz4NCisgICAgICAgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgICAgICAgPC9ncm91cD4NCisgICAgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgICAgIDxvbmVPck1vcmU+DQorICAgICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJyZWZlbnRyeS5jbGFzcyIvPg0KKyAgICAgICAgICAgICAgIDwvb25lT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxvbmVPck1vcmU+DQorICAgICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJzZWN0NCIvPg0KKyAgICAgICAgICAgICAgIDwvb25lT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxvbmVPck1vcmU+DQorICAgICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJzaW1wbGVzZWN0Ii8+DQorICAgICAgICAgICAgICAgPC9vbmVPck1vcmU+DQorICAgICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJuYXYuY2xhc3MiLz4NCisgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic2VjdDMuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJsYWJlbC5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InN0YXR1cy5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InNlY3QzLnJvbGUuYXR0cmliIi8+DQorICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0icmVuZGVyYXMiPg0KKyAgICAgICAgICAgIDxjaG9pY2U+DQorICAgICAgICAgICAgICAgPHZhbHVlPnNlY3QxPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+c2VjdDI8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5zZWN0NDwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPnNlY3Q1PC92YWx1ZT4NCisgICAgICAgICAgICA8L2Nob2ljZT4NCisgICAgICAgICA8L2F0dHJpYnV0ZT4NCisgICAgICA8L29wdGlvbmFsPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic2VjdDQucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InNlY3Q0Ij4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJzZWN0NCI+DQorICAgICAgICAgPHJlZiBuYW1lPSJzZWN0NC5hdHRsaXN0Ii8+DQorICAgICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0ic2VjdDRpbmZvIi8+DQorICAgICAgICAgPC9vcHRpb25hbD4NCisgICAgICAgICA8cmVmIG5hbWU9InNlY3QudGl0bGUuY29udGVudCIvPg0KKyAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0ibmF2LmNsYXNzIi8+DQorICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDxjaG9pY2U+DQorICAgICAgICAgICAgPGdyb3VwPg0KKyAgICAgICAgICAgICAgIDxvbmVPck1vcmU+DQorICAgICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJkaXZjb21wb25lbnQubWl4Ii8+DQorICAgICAgICAgICAgICAgPC9vbmVPck1vcmU+DQorICAgICAgICAgICAgICAgPGNob2ljZT4NCisgICAgICAgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICAgICAgICA8cmVmIG5hbWU9InJlZmVudHJ5LmNsYXNzIi8+DQorICAgICAgICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgICAgICAgICAgIDxyZWYgbmFtZT0ic2VjdDUiLz4NCisgICAgICAgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJzaW1wbGVzZWN0Ii8+DQorICAgICAgICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDwvY2hvaWNlPg0KKyAgICAgICAgICAgIDwvZ3JvdXA+DQorICAgICAgICAgICAgPGNob2ljZT4NCisgICAgICAgICAgICAgICA8b25lT3JNb3JlPg0KKyAgICAgICAgICAgICAgICAgIDxyZWYgbmFtZT0icmVmZW50cnkuY2xhc3MiLz4NCisgICAgICAgICAgICAgICA8L29uZU9yTW9yZT4NCisgICAgICAgICAgICAgICA8b25lT3JNb3JlPg0KKyAgICAgICAgICAgICAgICAgIDxyZWYgbmFtZT0ic2VjdDUiLz4NCisgICAgICAgICAgICAgICA8L29uZU9yTW9yZT4NCisgICAgICAgICAgICAgICA8b25lT3JNb3JlPg0KKyAgICAgICAgICAgICAgICAgIDxyZWYgbmFtZT0ic2ltcGxlc2VjdCIvPg0KKyAgICAgICAgICAgICAgIDwvb25lT3JNb3JlPg0KKyAgICAgICAgICAgIDwvY2hvaWNlPg0KKyAgICAgICAgIDwvY2hvaWNlPg0KKyAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0ibmF2LmNsYXNzIi8+DQorICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InNlY3Q0LmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0ibGFiZWwuYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJzdGF0dXMuYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJzZWN0NC5yb2xlLmF0dHJpYiIvPg0KKyAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICA8YXR0cmlidXRlIG5hbWU9InJlbmRlcmFzIj4NCisgICAgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5zZWN0MTwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPnNlY3QyPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+c2VjdDM8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5zZWN0NTwvdmFsdWU+DQorICAgICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgICAgPC9hdHRyaWJ1dGU+DQorICAgICAgPC9vcHRpb25hbD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InNlY3Q1LnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJzZWN0NSI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0ic2VjdDUiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ic2VjdDUuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICAgICA8cmVmIG5hbWU9InNlY3Q1aW5mbyIvPg0KKyAgICAgICAgIDwvb3B0aW9uYWw+DQorICAgICAgICAgPHJlZiBuYW1lPSJzZWN0LnRpdGxlLmNvbnRlbnQiLz4NCisgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICA8cmVmIG5hbWU9Im5hdi5jbGFzcyIvPg0KKyAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgIDxncm91cD4NCisgICAgICAgICAgICAgICA8b25lT3JNb3JlPg0KKyAgICAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iZGl2Y29tcG9uZW50Lm1peCIvPg0KKyAgICAgICAgICAgICAgIDwvb25lT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxjaG9pY2U+DQorICAgICAgICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJyZWZlbnRyeS5jbGFzcyIvPg0KKyAgICAgICAgICAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICAgICAgICA8cmVmIG5hbWU9InNpbXBsZXNlY3QiLz4NCisgICAgICAgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgICAgICAgPC9ncm91cD4NCisgICAgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgICAgIDxvbmVPck1vcmU+DQorICAgICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJyZWZlbnRyeS5jbGFzcyIvPg0KKyAgICAgICAgICAgICAgIDwvb25lT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxvbmVPck1vcmU+DQorICAgICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJzaW1wbGVzZWN0Ii8+DQorICAgICAgICAgICAgICAgPC9vbmVPck1vcmU+DQorICAgICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJuYXYuY2xhc3MiLz4NCisgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic2VjdDUuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJsYWJlbC5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InN0YXR1cy5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InNlY3Q1LnJvbGUuYXR0cmliIi8+DQorICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0icmVuZGVyYXMiPg0KKyAgICAgICAgICAgIDxjaG9pY2U+DQorICAgICAgICAgICAgICAgPHZhbHVlPnNlY3QxPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+c2VjdDI8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5zZWN0MzwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPnNlY3Q0PC92YWx1ZT4NCisgICAgICAgICAgICA8L2Nob2ljZT4NCisgICAgICAgICA8L2F0dHJpYnV0ZT4NCisgICAgICA8L29wdGlvbmFsPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic2ltcGxlc2VjdC5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic2ltcGxlc2VjdCI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0ic2ltcGxlc2VjdCI+DQorICAgICAgICAgPHJlZiBuYW1lPSJzaW1wbGVzZWN0LmF0dGxpc3QiLz4NCisgICAgICAgICA8cmVmIG5hbWU9InNlY3QudGl0bGUuY29udGVudCIvPg0KKyAgICAgICAgIDxvbmVPck1vcmU+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJkaXZjb21wb25lbnQubWl4Ii8+DQorICAgICAgICAgPC9vbmVPck1vcmU+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic2ltcGxlc2VjdC5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InNpbXBsZXNlY3Qucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImJpYmxpb2dyYXBoeS5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iYmlibGlvZ3JhcGh5Ij4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJiaWJsaW9ncmFwaHkiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iYmlibGlvZ3JhcGh5LmF0dGxpc3QiLz4NCisgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICA8cmVmIG5hbWU9ImJpYmxpb2dyYXBoeWluZm8iLz4NCisgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0iYm9va2NvbXBvbmVudC50aXRsZS5jb250ZW50Ii8+DQorICAgICAgICAgPC9vcHRpb25hbD4NCisgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICA8cmVmIG5hbWU9ImNvbXBvbmVudC5taXgiLz4NCisgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPGNob2ljZT4NCisgICAgICAgICAgICA8b25lT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iYmlibGlvZGl2Ii8+DQorICAgICAgICAgICAgPC9vbmVPck1vcmU+DQorICAgICAgICAgICAgPG9uZU9yTW9yZT4NCisgICAgICAgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iYmlibGlvZW50cnkiLz4NCisgICAgICAgICAgICAgICAgICA8cmVmIG5hbWU9ImJpYmxpb21peGVkIi8+DQorICAgICAgICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgICAgICAgPC9vbmVPck1vcmU+DQorICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iYmlibGlvZ3JhcGh5LmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0ic3RhdHVzLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iYmlibGlvZ3JhcGh5LnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJiaWJsaW9kaXYucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImJpYmxpb2RpdiI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0iYmlibGlvZGl2Ij4NCisgICAgICAgICA8cmVmIG5hbWU9ImJpYmxpb2Rpdi5hdHRsaXN0Ii8+DQorICAgICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0ic2VjdC50aXRsZS5jb250ZW50Ii8+DQorICAgICAgICAgPC9vcHRpb25hbD4NCisgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICA8cmVmIG5hbWU9ImNvbXBvbmVudC5taXgiLz4NCisgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPG9uZU9yTW9yZT4NCisgICAgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iYmlibGlvZW50cnkiLz4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9ImJpYmxpb21peGVkIi8+DQorICAgICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgICAgPC9vbmVPck1vcmU+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iYmlibGlvZGl2LmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0ic3RhdHVzLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iYmlibGlvZGl2LnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJnbG9zc2FyeS5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iZ2xvc3NhcnkiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9Imdsb3NzYXJ5Ij4NCisgICAgICAgICA8cmVmIG5hbWU9Imdsb3NzYXJ5LmF0dGxpc3QiLz4NCisgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICA8cmVmIG5hbWU9Imdsb3NzYXJ5aW5mbyIvPg0KKyAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJib29rY29tcG9uZW50LnRpdGxlLmNvbnRlbnQiLz4NCisgICAgICAgICA8L29wdGlvbmFsPg0KKyAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0iY29tcG9uZW50Lm1peCIvPg0KKyAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgIDxvbmVPck1vcmU+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJnbG9zc2RpdiIvPg0KKyAgICAgICAgICAgIDwvb25lT3JNb3JlPg0KKyAgICAgICAgICAgIDxvbmVPck1vcmU+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJnbG9zc2VudHJ5Ii8+DQorICAgICAgICAgICAgPC9vbmVPck1vcmU+DQorICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0iYmlibGlvZ3JhcGh5Ii8+DQorICAgICAgICAgPC9vcHRpb25hbD4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJnbG9zc2FyeS5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9InN0YXR1cy5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9Imdsb3NzYXJ5LnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJnbG9zc2Rpdi5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iZ2xvc3NkaXYiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9Imdsb3NzZGl2Ij4NCisgICAgICAgICA8cmVmIG5hbWU9Imdsb3NzZGl2LmF0dGxpc3QiLz4NCisgICAgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJzZWN0LnRpdGxlLmNvbnRlbnQiLz4NCisgICAgICAgICA8L29wdGlvbmFsPg0KKyAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0iY29tcG9uZW50Lm1peCIvPg0KKyAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8b25lT3JNb3JlPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0iZ2xvc3NlbnRyeSIvPg0KKyAgICAgICAgIDwvb25lT3JNb3JlPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9Imdsb3NzZGl2LmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0ic3RhdHVzLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iZ2xvc3NkaXYucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImluZGV4ZXMucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImluZGV4Ij4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJpbmRleCI+DQorICAgICAgICAgPHJlZiBuYW1lPSJpbmRleC5hdHRsaXN0Ii8+DQorICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJpbmRleGluZm8iLz4NCisgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0iYm9va2NvbXBvbmVudC50aXRsZS5jb250ZW50Ii8+DQorICAgICAgICAgPC9vcHRpb25hbD4NCisgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICA8cmVmIG5hbWU9ImNvbXBvbmVudC5taXgiLz4NCisgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPGNob2ljZT4NCisgICAgICAgICAgICA8b25lT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iaW5kZXhkaXYiLz4NCisgICAgICAgICAgICA8L29uZU9yTW9yZT4NCisgICAgICAgICAgICA8b25lT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iaW5kZXhlbnRyeSIvPg0KKyAgICAgICAgICAgIDwvb25lT3JNb3JlPg0KKyAgICAgICAgIDwvY2hvaWNlPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImluZGV4LmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iaW5kZXhlcy5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic2V0aW5kZXgiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9InNldGluZGV4Ij4NCisgICAgICAgICA8cmVmIG5hbWU9InNldGluZGV4LmF0dGxpc3QiLz4NCisgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICA8cmVmIG5hbWU9InNldGluZGV4aW5mbyIvPg0KKyAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJib29rY29tcG9uZW50LnRpdGxlLmNvbnRlbnQiLz4NCisgICAgICAgICA8L29wdGlvbmFsPg0KKyAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0iY29tcG9uZW50Lm1peCIvPg0KKyAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgIDxvbmVPck1vcmU+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJpbmRleGRpdiIvPg0KKyAgICAgICAgICAgIDwvb25lT3JNb3JlPg0KKyAgICAgICAgICAgIDxvbmVPck1vcmU+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJpbmRleGVudHJ5Ii8+DQorICAgICAgICAgICAgPC9vbmVPck1vcmU+DQorICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic2V0aW5kZXguYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJpbmRleGVzLnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJpbmRleGRpdi5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iaW5kZXhkaXYiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9ImluZGV4ZGl2Ij4NCisgICAgICAgICA8cmVmIG5hbWU9ImluZGV4ZGl2LmF0dGxpc3QiLz4NCisgICAgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJzZWN0LnRpdGxlLmNvbnRlbnQiLz4NCisgICAgICAgICA8L29wdGlvbmFsPg0KKyAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0iaW5kZXhkaXZjb21wb25lbnQubWl4Ii8+DQorICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0iaW5kZXhlbnRyeSIvPg0KKyAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8cmVmIG5hbWU9InNlZ21lbnRlZGxpc3QiLz4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJpbmRleGRpdi5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImluZGV4ZGl2LnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJpbmRleGVudHJ5LnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJpbmRleGVudHJ5Ij4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJpbmRleGVudHJ5Ij4NCisgICAgICAgICA8cmVmIG5hbWU9ImluZGV4ZW50cnkuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxyZWYgbmFtZT0icHJpbWFyeWllIi8+DQorICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgPGNob2ljZT4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9InNlZWllIi8+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJzZWVhbHNvaWUiLz4NCisgICAgICAgICAgICA8L2Nob2ljZT4NCisgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJzZWNvbmRhcnlpZSIvPg0KKyAgICAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxjaG9pY2U+DQorICAgICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJzZWVpZSIvPg0KKyAgICAgICAgICAgICAgICAgIDxyZWYgbmFtZT0ic2VlYWxzb2llIi8+DQorICAgICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJ0ZXJ0aWFyeWllIi8+DQorICAgICAgICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJpbmRleGVudHJ5LmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iaW5kZXhlbnRyeS5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icHJpbXNlY3RlcmllLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJwcmltYXJ5aWUiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9InByaW1hcnlpZSI+DQorICAgICAgICAgPHJlZiBuYW1lPSJwcmltYXJ5aWUuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxtaXhlZD4NCisgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9Im5keHRlcm0uY2hhci5taXgiLz4NCisgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPC9taXhlZD4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJwcmltYXJ5aWUuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJsaW5rZW5kcy5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InByaW1zZWN0ZXJpZS5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic2Vjb25kYXJ5aWUiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9InNlY29uZGFyeWllIj4NCisgICAgICAgICA8cmVmIG5hbWU9InNlY29uZGFyeWllLmF0dGxpc3QiLz4NCisgICAgICAgICA8bWl4ZWQ+DQorICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJuZHh0ZXJtLmNoYXIubWl4Ii8+DQorICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDwvbWl4ZWQ+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic2Vjb25kYXJ5aWUuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJsaW5rZW5kcy5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InByaW1zZWN0ZXJpZS5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0idGVydGlhcnlpZSI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0idGVydGlhcnlpZSI+DQorICAgICAgICAgPHJlZiBuYW1lPSJ0ZXJ0aWFyeWllLmF0dGxpc3QiLz4NCisgICAgICAgICA8bWl4ZWQ+DQorICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJuZHh0ZXJtLmNoYXIubWl4Ii8+DQorICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDwvbWl4ZWQ+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0idGVydGlhcnlpZS5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImxpbmtlbmRzLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0icHJpbXNlY3RlcmllLnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJzZWVpZS5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic2VlaWUiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9InNlZWllIj4NCisgICAgICAgICA8cmVmIG5hbWU9InNlZWllLmF0dGxpc3QiLz4NCisgICAgICAgICA8bWl4ZWQ+DQorICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJuZHh0ZXJtLmNoYXIubWl4Ii8+DQorICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDwvbWl4ZWQ+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic2VlaWUuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJsaW5rZW5kLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0ic2VlaWUucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InNlZWFsc29pZS5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic2VlYWxzb2llIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJzZWVhbHNvaWUiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0ic2VlYWxzb2llLmF0dGxpc3QiLz4NCisgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICA8cmVmIG5hbWU9Im5keHRlcm0uY2hhci5taXgiLz4NCisgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0ic2VlYWxzb2llLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0ibGlua2VuZHMuYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJzZWVhbHNvaWUucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InJlZmVudHJ5LnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJyZWZlbnRyeSI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0icmVmZW50cnkiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0icmVmZW50cnkuYXR0bGlzdCIvPg0KKyAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0ibmR4dGVybS5jbGFzcyIvPg0KKyAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJyZWZlbnRyeWluZm8iLz4NCisgICAgICAgICA8L29wdGlvbmFsPg0KKyAgICAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICAgICA8cmVmIG5hbWU9InJlZm1ldGEiLz4NCisgICAgICAgICA8L29wdGlvbmFsPg0KKyAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgIDxjaG9pY2U+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJyZW1hcmsiLz4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9ImxpbmsuY2hhci5jbGFzcyIvPg0KKyAgICAgICAgICAgIDwvY2hvaWNlPg0KKyAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8cmVmIG5hbWU9InJlZm5hbWVkaXYiLz4NCisgICAgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJyZWZzeW5vcHNpc2RpdiIvPg0KKyAgICAgICAgIDwvb3B0aW9uYWw+DQorICAgICAgICAgPG9uZU9yTW9yZT4NCisgICAgICAgICAgICA8cmVmIG5hbWU9InJlZnNlY3QxIi8+DQorICAgICAgICAgPC9vbmVPck1vcmU+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icmVmZW50cnkuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJzdGF0dXMuYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJyZWZlbnRyeS5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icmVmbWV0YS5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icmVmbWV0YSI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0icmVmbWV0YSI+DQorICAgICAgICAgPHJlZiBuYW1lPSJyZWZtZXRhLmF0dGxpc3QiLz4NCisgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICA8cmVmIG5hbWU9Im5keHRlcm0uY2xhc3MiLz4NCisgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPHJlZiBuYW1lPSJyZWZlbnRyeXRpdGxlIi8+DQorICAgICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0ibWFudm9sbnVtIi8+DQorICAgICAgICAgPC9vcHRpb25hbD4NCisgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICA8cmVmIG5hbWU9InJlZm1pc2NpbmZvIi8+DQorICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0ibmR4dGVybS5jbGFzcyIvPg0KKyAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJyZWZtZXRhLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0icmVmbWV0YS5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icmVmbWlzY2luZm8ucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InJlZm1pc2NpbmZvIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJyZWZtaXNjaW5mbyI+DQorICAgICAgICAgPHJlZiBuYW1lPSJyZWZtaXNjaW5mby5hdHRsaXN0Ii8+DQorICAgICAgICAgPG1peGVkPg0KKyAgICAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iZG9jaW5mby5jaGFyLm1peCIvPg0KKyAgICAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8L21peGVkPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InJlZm1pc2NpbmZvLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0icmVmbWlzY2luZm8ucm9sZS5hdHRyaWIiLz4NCisgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJjbGFzcyI+DQorICAgICAgICAgICAgPGRhdGEgdHlwZT0ic3RyaW5nIi8+DQorICAgICAgICAgPC9hdHRyaWJ1dGU+DQorICAgICAgPC9vcHRpb25hbD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InJlZm5hbWVkaXYucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InJlZm5hbWVkaXYiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9InJlZm5hbWVkaXYiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0icmVmbmFtZWRpdi5hdHRsaXN0Ii8+DQorICAgICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0icmVmZGVzY3JpcHRvciIvPg0KKyAgICAgICAgIDwvb3B0aW9uYWw+DQorICAgICAgICAgPG9uZU9yTW9yZT4NCisgICAgICAgICAgICA8cmVmIG5hbWU9InJlZm5hbWUiLz4NCisgICAgICAgICA8L29uZU9yTW9yZT4NCisgICAgICAgICA8cmVmIG5hbWU9InJlZnB1cnBvc2UiLz4NCisgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0icmVtYXJrIi8+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJsaW5rLmNoYXIuY2xhc3MiLz4NCisgICAgICAgICAgICA8L2Nob2ljZT4NCisgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icmVmbmFtZWRpdi5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InJlZm5hbWVkaXYucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InJlZmRlc2NyaXB0b3Iucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InJlZmRlc2NyaXB0b3IiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9InJlZmRlc2NyaXB0b3IiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0icmVmZGVzY3JpcHRvci5hdHRsaXN0Ii8+DQorICAgICAgICAgPG1peGVkPg0KKyAgICAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0icmVmbmFtZS5jaGFyLm1peCIvPg0KKyAgICAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8L21peGVkPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InJlZmRlc2NyaXB0b3IuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJyZWZkZXNjcmlwdG9yLnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJyZWZuYW1lLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJyZWZuYW1lIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJyZWZuYW1lIj4NCisgICAgICAgICA8cmVmIG5hbWU9InJlZm5hbWUuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxtaXhlZD4NCisgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9InJlZm5hbWUuY2hhci5taXgiLz4NCisgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPC9taXhlZD4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJyZWZuYW1lLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0icmVmbmFtZS5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icmVmcHVycG9zZS5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icmVmcHVycG9zZSI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0icmVmcHVycG9zZSI+DQorICAgICAgICAgPHJlZiBuYW1lPSJyZWZwdXJwb3NlLmF0dGxpc3QiLz4NCisgICAgICAgICA8bWl4ZWQ+DQorICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJyZWZpbmxpbmUuY2hhci5taXgiLz4NCisgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPC9taXhlZD4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJyZWZwdXJwb3NlLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0icmVmcHVycG9zZS5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icmVmY2xhc3Mucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InJlZmNsYXNzIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJyZWZjbGFzcyI+DQorICAgICAgICAgPHJlZiBuYW1lPSJyZWZjbGFzcy5hdHRsaXN0Ii8+DQorICAgICAgICAgPG1peGVkPg0KKyAgICAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0icmVmY2xhc3MuY2hhci5taXgiLz4NCisgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPC9taXhlZD4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJyZWZjbGFzcy5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InJlZmNsYXNzLnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJyZWZzeW5vcHNpc2Rpdi5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icmVmc3lub3BzaXNkaXYiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9InJlZnN5bm9wc2lzZGl2Ij4NCisgICAgICAgICA8cmVmIG5hbWU9InJlZnN5bm9wc2lzZGl2LmF0dGxpc3QiLz4NCisgICAgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJyZWZzeW5vcHNpc2RpdmluZm8iLz4NCisgICAgICAgICA8L29wdGlvbmFsPg0KKyAgICAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICAgICA8cmVmIG5hbWU9InJlZnNlY3QudGl0bGUuY29udGVudCIvPg0KKyAgICAgICAgIDwvb3B0aW9uYWw+DQorICAgICAgICAgPGNob2ljZT4NCisgICAgICAgICAgICA8Z3JvdXA+DQorICAgICAgICAgICAgICAgPG9uZU9yTW9yZT4NCisgICAgICAgICAgICAgICAgICA8cmVmIG5hbWU9InJlZmNvbXBvbmVudC5taXgiLz4NCisgICAgICAgICAgICAgICA8L29uZU9yTW9yZT4NCisgICAgICAgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICAgICAgICA8cmVmIG5hbWU9InJlZnNlY3QyIi8+DQorICAgICAgICAgICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgIDwvZ3JvdXA+DQorICAgICAgICAgICAgPG9uZU9yTW9yZT4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9InJlZnNlY3QyIi8+DQorICAgICAgICAgICAgPC9vbmVPck1vcmU+DQorICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icmVmc3lub3BzaXNkaXYuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb21tb24uYXR0cmliIi8+DQorICAgICAgPHJlZiBuYW1lPSJyZWZzeW5vcHNpc2Rpdi5yb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icmVmc2VjdDEucm9sZS5hdHRyaWIiPg0KKyAgICAgIDxyZWYgbmFtZT0icm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InJlZnNlY3QxIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJyZWZzZWN0MSI+DQorICAgICAgICAgPHJlZiBuYW1lPSJyZWZzZWN0MS5hdHRsaXN0Ii8+DQorICAgICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0icmVmc2VjdDFpbmZvIi8+DQorICAgICAgICAgPC9vcHRpb25hbD4NCisgICAgICAgICA8cmVmIG5hbWU9InJlZnNlY3QudGl0bGUuY29udGVudCIvPg0KKyAgICAgICAgIDxjaG9pY2U+DQorICAgICAgICAgICAgPGdyb3VwPg0KKyAgICAgICAgICAgICAgIDxvbmVPck1vcmU+DQorICAgICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJyZWZjb21wb25lbnQubWl4Ii8+DQorICAgICAgICAgICAgICAgPC9vbmVPck1vcmU+DQorICAgICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJyZWZzZWN0MiIvPg0KKyAgICAgICAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICAgICA8L2dyb3VwPg0KKyAgICAgICAgICAgIDxvbmVPck1vcmU+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJyZWZzZWN0MiIvPg0KKyAgICAgICAgICAgIDwvb25lT3JNb3JlPg0KKyAgICAgICAgIDwvY2hvaWNlPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InJlZnNlY3QxLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0ic3RhdHVzLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0iY29tbW9uLmF0dHJpYiIvPg0KKyAgICAgIDxyZWYgbmFtZT0icmVmc2VjdDEucm9sZS5hdHRyaWIiLz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InJlZnNlY3QyLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJyZWZzZWN0MiI+DQorICAgICAgPGVsZW1lbnQgbmFtZT0icmVmc2VjdDIiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0icmVmc2VjdDIuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICAgICA8cmVmIG5hbWU9InJlZnNlY3QyaW5mbyIvPg0KKyAgICAgICAgIDwvb3B0aW9uYWw+DQorICAgICAgICAgPHJlZiBuYW1lPSJyZWZzZWN0LnRpdGxlLmNvbnRlbnQiLz4NCisgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgIDxncm91cD4NCisgICAgICAgICAgICAgICA8b25lT3JNb3JlPg0KKyAgICAgICAgICAgICAgICAgIDxyZWYgbmFtZT0icmVmY29tcG9uZW50Lm1peCIvPg0KKyAgICAgICAgICAgICAgIDwvb25lT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgICAgICAgIDxyZWYgbmFtZT0icmVmc2VjdDMiLz4NCisgICAgICAgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgICAgPC9ncm91cD4NCisgICAgICAgICAgICA8b25lT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0icmVmc2VjdDMiLz4NCisgICAgICAgICAgICA8L29uZU9yTW9yZT4NCisgICAgICAgICA8L2Nob2ljZT4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJyZWZzZWN0Mi5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9InN0YXR1cy5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InJlZnNlY3QyLnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJyZWZzZWN0My5yb2xlLmF0dHJpYiI+DQorICAgICAgPHJlZiBuYW1lPSJyb2xlLmF0dHJpYiIvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icmVmc2VjdDMiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9InJlZnNlY3QzIj4NCisgICAgICAgICA8cmVmIG5hbWU9InJlZnNlY3QzLmF0dGxpc3QiLz4NCisgICAgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJyZWZzZWN0M2luZm8iLz4NCisgICAgICAgICA8L29wdGlvbmFsPg0KKyAgICAgICAgIDxyZWYgbmFtZT0icmVmc2VjdC50aXRsZS5jb250ZW50Ii8+DQorICAgICAgICAgPG9uZU9yTW9yZT4NCisgICAgICAgICAgICA8cmVmIG5hbWU9InJlZmNvbXBvbmVudC5taXgiLz4NCisgICAgICAgICA8L29uZU9yTW9yZT4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJyZWZzZWN0My5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9InN0YXR1cy5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9InJlZnNlY3QzLnJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJhcnRpY2xlLnJvbGUuYXR0cmliIj4NCisgICAgICA8cmVmIG5hbWU9InJvbGUuYXR0cmliIi8+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJhcnRpY2xlIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJhcnRpY2xlIj4NCisgICAgICAgICA8cmVmIG5hbWU9ImFydGljbGUuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICAgICA8cmVmIG5hbWU9ImRpdi50aXRsZS5jb250ZW50Ii8+DQorICAgICAgICAgPC9vcHRpb25hbD4NCisgICAgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJhcnRpY2xlaW5mbyIvPg0KKyAgICAgICAgIDwvb3B0aW9uYWw+DQorICAgICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0idG9jY2hhcCIvPg0KKyAgICAgICAgIDwvb3B0aW9uYWw+DQorICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJsb3QiLz4NCisgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgICAgPHJlZiBuYW1lPSJib29rY29tcG9uZW50LmNvbnRlbnQiLz4NCisgICAgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0ibmF2LmNsYXNzIi8+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJhcHBlbmRpeC5jbGFzcyIvPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iYWNrbm8iLz4NCisgICAgICAgICAgICA8L2Nob2ljZT4NCisgICAgICAgICA8L3plcm9Pck1vcmU+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iYXJ0aWNsZS5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9InN0YXR1cy5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi5hdHRyaWIiLz4NCisgICAgICA8cmVmIG5hbWU9ImFydGljbGUucm9sZS5hdHRyaWIiLz4NCisgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJjbGFzcyI+DQorICAgICAgICAgICAgPGNob2ljZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+am91cm5hbGFydGljbGU8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5wcm9kdWN0c2hlZXQ8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT53aGl0ZXBhcGVyPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+dGVjaHJlcG9ydDwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPnNwZWNpZmljYXRpb248L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5mYXE8L3ZhbHVlPg0KKyAgICAgICAgICAgIDwvY2hvaWNlPg0KKyAgICAgICAgIDwvYXR0cmlidXRlPg0KKyAgICAgIDwvb3B0aW9uYWw+DQorICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0icGFyZW50Ym9vayI+DQorICAgICAgICAgICAgPGRhdGEgdHlwZT0iSURSRUYiLz4NCisgICAgICAgICA8L2F0dHJpYnV0ZT4NCisgICAgICA8L29wdGlvbmFsPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0idGFibGUuYXR0Ij4NCisgICAgICA8ZW1wdHkvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0idGdyb3VwLmF0dCI+DQorICAgICAgPGVtcHR5Lz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImNvbHNwZWMuYXR0Ij4NCisgICAgICA8ZW1wdHkvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0idGhlYWQuYXR0Ij4NCisgICAgICA8ZW1wdHkvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0idGJvZHkuYXR0Ij4NCisgICAgICA8ZW1wdHkvPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0icm93LmF0dCI+DQorICAgICAgPGVtcHR5Lz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImVudHJ5LmF0dCI+DQorICAgICAgPGVtcHR5Lz4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InRhYmxlIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJ0YWJsZSI+DQorICAgICAgICAgPHJlZiBuYW1lPSJ0YWJsZS5hdHRsaXN0Ii8+DQorICAgICAgICAgPHJlZiBuYW1lPSJmb3JtYWxvYmplY3QudGl0bGUuY29udGVudCIvPg0KKyAgICAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICAgICA8cmVmIG5hbWU9Im5keHRlcm0uY2xhc3MiLz4NCisgICAgICAgICA8L29wdGlvbmFsPg0KKyAgICAgICAgIDxjaG9pY2U+DQorICAgICAgICAgICAgPG9uZU9yTW9yZT4NCisgICAgICAgICAgICAgICA8cmVmIG5hbWU9ImdyYXBoaWMiLz4NCisgICAgICAgICAgICA8L29uZU9yTW9yZT4NCisgICAgICAgICAgICA8b25lT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0ibWVkaWFvYmplY3QiLz4NCisgICAgICAgICAgICA8L29uZU9yTW9yZT4NCisgICAgICAgICAgICA8b25lT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0idGdyb3VwIi8+DQorICAgICAgICAgICAgPC9vbmVPck1vcmU+DQorICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0idGFibGUuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJ0YWJsZS5hdHQiLz4NCisgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJmcmFtZSI+DQorICAgICAgICAgICAgPGNob2ljZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+dG9wPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+Ym90dG9tPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+dG9wYm90PC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+YWxsPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+c2lkZXM8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5ub25lPC92YWx1ZT4NCisgICAgICAgICAgICA8L2Nob2ljZT4NCisgICAgICAgICA8L2F0dHJpYnV0ZT4NCisgICAgICA8L29wdGlvbmFsPg0KKyAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICA8YXR0cmlidXRlIG5hbWU9ImNvbHNlcCI+DQorICAgICAgICAgICAgPGNob2ljZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPjE8L3ZhbHVlPg0KKyAgICAgICAgICAgIDwvY2hvaWNlPg0KKyAgICAgICAgIDwvYXR0cmlidXRlPg0KKyAgICAgIDwvb3B0aW9uYWw+DQorICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0icm93c2VwIj4NCisgICAgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+MTwvdmFsdWU+DQorICAgICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgICAgPC9hdHRyaWJ1dGU+DQorICAgICAgPC9vcHRpb25hbD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImluZm9ybWFsdGFibGUiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9ImluZm9ybWFsdGFibGUiPg0KKyAgICAgICAgIDxyZWYgbmFtZT0iaW5mb3JtYWx0YWJsZS5hdHRsaXN0Ii8+DQorICAgICAgICAgPGNob2ljZT4NCisgICAgICAgICAgICA8b25lT3JNb3JlPg0KKyAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iZ3JhcGhpYyIvPg0KKyAgICAgICAgICAgIDwvb25lT3JNb3JlPg0KKyAgICAgICAgICAgIDxvbmVPck1vcmU+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJtZWRpYW9iamVjdCIvPg0KKyAgICAgICAgICAgIDwvb25lT3JNb3JlPg0KKyAgICAgICAgICAgIDxvbmVPck1vcmU+DQorICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJ0Z3JvdXAiLz4NCisgICAgICAgICAgICA8L29uZU9yTW9yZT4NCisgICAgICAgICA8L2Nob2ljZT4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJpbmZvcm1hbHRhYmxlLmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0idGFibGUuYXR0Ii8+DQorICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0iZnJhbWUiPg0KKyAgICAgICAgICAgIDxjaG9pY2U+DQorICAgICAgICAgICAgICAgPHZhbHVlPnRvcDwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPmJvdHRvbTwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPnRvcGJvdDwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPmFsbDwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPnNpZGVzPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+bm9uZTwvdmFsdWU+DQorICAgICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgICAgPC9hdHRyaWJ1dGU+DQorICAgICAgPC9vcHRpb25hbD4NCisgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJjb2xzZXAiPg0KKyAgICAgICAgICAgIDxjaG9pY2U+DQorICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT4xPC92YWx1ZT4NCisgICAgICAgICAgICA8L2Nob2ljZT4NCisgICAgICAgICA8L2F0dHJpYnV0ZT4NCisgICAgICA8L29wdGlvbmFsPg0KKyAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICA8YXR0cmlidXRlIG5hbWU9InJvd3NlcCI+DQorICAgICAgICAgICAgPGNob2ljZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPjE8L3ZhbHVlPg0KKyAgICAgICAgICAgIDwvY2hvaWNlPg0KKyAgICAgICAgIDwvYXR0cmlidXRlPg0KKyAgICAgIDwvb3B0aW9uYWw+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJ0Z3JvdXAiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9InRncm91cCI+DQorICAgICAgICAgPHJlZiBuYW1lPSJ0Z3JvdXAuYXR0bGlzdCIvPg0KKyAgICAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0iY29sc3BlYyIvPg0KKyAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJ0aGVhZCIvPg0KKyAgICAgICAgIDwvb3B0aW9uYWw+DQorICAgICAgICAgPHJlZiBuYW1lPSJ0Ym9keSIvPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InRncm91cC5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9InRncm91cC5hdHQiLz4NCisgICAgICA8YXR0cmlidXRlIG5hbWU9ImNvbHMiPg0KKyAgICAgICAgIDxkYXRhIHR5cGU9ImludGVnZXIiLz4NCisgICAgICA8L2F0dHJpYnV0ZT4NCisgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJjb2xzZXAiPg0KKyAgICAgICAgICAgIDxjaG9pY2U+DQorICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT4xPC92YWx1ZT4NCisgICAgICAgICAgICA8L2Nob2ljZT4NCisgICAgICAgICA8L2F0dHJpYnV0ZT4NCisgICAgICA8L29wdGlvbmFsPg0KKyAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICA8YXR0cmlidXRlIG5hbWU9InJvd3NlcCI+DQorICAgICAgICAgICAgPGNob2ljZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+MDwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPjE8L3ZhbHVlPg0KKyAgICAgICAgICAgIDwvY2hvaWNlPg0KKyAgICAgICAgIDwvYXR0cmlidXRlPg0KKyAgICAgIDwvb3B0aW9uYWw+DQorICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0iYWxpZ24iPg0KKyAgICAgICAgICAgIDxjaG9pY2U+DQorICAgICAgICAgICAgICAgPHZhbHVlPmxlZnQ8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5yaWdodDwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPmNlbnRlcjwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPmp1c3RpZnk8L3ZhbHVlPg0KKyAgICAgICAgICAgIDwvY2hvaWNlPg0KKyAgICAgICAgIDwvYXR0cmlidXRlPg0KKyAgICAgIDwvb3B0aW9uYWw+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJjb2xzcGVjIj4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJjb2xzcGVjIj4NCisgICAgICAgICA8cmVmIG5hbWU9ImNvbHNwZWMuYXR0bGlzdCIvPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImNvbHNwZWMuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJjb2xzcGVjLmF0dCIvPg0KKyAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICA8YXR0cmlidXRlIG5hbWU9ImNvbG51bSI+DQorICAgICAgICAgICAgPGRhdGEgdHlwZT0iaW50ZWdlciIvPg0KKyAgICAgICAgIDwvYXR0cmlidXRlPg0KKyAgICAgIDwvb3B0aW9uYWw+DQorICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0iY29sbmFtZSI+DQorICAgICAgICAgICAgPGRhdGEgdHlwZT0iTk1UT0tFTiIvPg0KKyAgICAgICAgIDwvYXR0cmlidXRlPg0KKyAgICAgIDwvb3B0aW9uYWw+DQorICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0iY29sd2lkdGgiPg0KKyAgICAgICAgICAgIDxkYXRhIHR5cGU9InN0cmluZyIvPg0KKyAgICAgICAgIDwvYXR0cmlidXRlPg0KKyAgICAgIDwvb3B0aW9uYWw+DQorICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0iY29sc2VwIj4NCisgICAgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+MTwvdmFsdWU+DQorICAgICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgICAgPC9hdHRyaWJ1dGU+DQorICAgICAgPC9vcHRpb25hbD4NCisgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJyb3dzZXAiPg0KKyAgICAgICAgICAgIDxjaG9pY2U+DQorICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT4xPC92YWx1ZT4NCisgICAgICAgICAgICA8L2Nob2ljZT4NCisgICAgICAgICA8L2F0dHJpYnV0ZT4NCisgICAgICA8L29wdGlvbmFsPg0KKyAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICA8YXR0cmlidXRlIG5hbWU9ImFsaWduIj4NCisgICAgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5sZWZ0PC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+cmlnaHQ8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5jZW50ZXI8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5qdXN0aWZ5PC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+Y2hhcjwvdmFsdWU+DQorICAgICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgICAgPC9hdHRyaWJ1dGU+DQorICAgICAgPC9vcHRpb25hbD4NCisgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJjaGFyIj4NCisgICAgICAgICAgICA8ZGF0YSB0eXBlPSJzdHJpbmciLz4NCisgICAgICAgICA8L2F0dHJpYnV0ZT4NCisgICAgICA8L29wdGlvbmFsPg0KKyAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICA8YXR0cmlidXRlIG5hbWU9ImNoYXJvZmYiPg0KKyAgICAgICAgICAgIDxkYXRhIHR5cGU9Ik5NVE9LRU4iLz4NCisgICAgICAgICA8L2F0dHJpYnV0ZT4NCisgICAgICA8L29wdGlvbmFsPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0idGhlYWQiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9InRoZWFkIj4NCisgICAgICAgICA8cmVmIG5hbWU9InRoZWFkLmF0dGxpc3QiLz4NCisgICAgICAgICA8b25lT3JNb3JlPg0KKyAgICAgICAgICAgIDxyZWYgbmFtZT0icm93Ii8+DQorICAgICAgICAgPC9vbmVPck1vcmU+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0idGhlYWQuYXR0bGlzdCI+DQorICAgICAgPHJlZiBuYW1lPSJ0aGVhZC5hdHQiLz4NCisgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJ2YWxpZ24iPg0KKyAgICAgICAgICAgIDxjaG9pY2U+DQorICAgICAgICAgICAgICAgPHZhbHVlPnRvcDwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPm1pZGRsZTwvdmFsdWU+DQorICAgICAgICAgICAgICAgPHZhbHVlPmJvdHRvbTwvdmFsdWU+DQorICAgICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgICAgPC9hdHRyaWJ1dGU+DQorICAgICAgPC9vcHRpb25hbD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InRib2R5Ij4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJ0Ym9keSI+DQorICAgICAgICAgPHJlZiBuYW1lPSJ0Ym9keS5hdHRsaXN0Ii8+DQorICAgICAgICAgPG9uZU9yTW9yZT4NCisgICAgICAgICAgICA8cmVmIG5hbWU9InJvdyIvPg0KKyAgICAgICAgIDwvb25lT3JNb3JlPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InRib2R5LmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0idGJvZHkuYXR0Ii8+DQorICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0idmFsaWduIj4NCisgICAgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT50b3A8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5taWRkbGU8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5ib3R0b208L3ZhbHVlPg0KKyAgICAgICAgICAgIDwvY2hvaWNlPg0KKyAgICAgICAgIDwvYXR0cmlidXRlPg0KKyAgICAgIDwvb3B0aW9uYWw+DQorICAgPC9kZWZpbmU+DQorICAgPGRlZmluZSBuYW1lPSJyb3ciPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9InJvdyI+DQorICAgICAgICAgPHJlZiBuYW1lPSJyb3cuYXR0bGlzdCIvPg0KKyAgICAgICAgIDxvbmVPck1vcmU+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJlbnRyeSIvPg0KKyAgICAgICAgIDwvb25lT3JNb3JlPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9InJvdy5hdHRsaXN0Ij4NCisgICAgICA8cmVmIG5hbWU9InJvdy5hdHQiLz4NCisgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJyb3dzZXAiPg0KKyAgICAgICAgICAgIDxjaG9pY2U+DQorICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT4xPC92YWx1ZT4NCisgICAgICAgICAgICA8L2Nob2ljZT4NCisgICAgICAgICA8L2F0dHJpYnV0ZT4NCisgICAgICA8L29wdGlvbmFsPg0KKyAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICA8YXR0cmlidXRlIG5hbWU9InZhbGlnbiI+DQorICAgICAgICAgICAgPGNob2ljZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+dG9wPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+bWlkZGxlPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+Ym90dG9tPC92YWx1ZT4NCisgICAgICAgICAgICA8L2Nob2ljZT4NCisgICAgICAgICA8L2F0dHJpYnV0ZT4NCisgICAgICA8L29wdGlvbmFsPg0KKyAgIDwvZGVmaW5lPg0KKyAgIDxkZWZpbmUgbmFtZT0iZW50cnkiPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9ImVudHJ5Ij4NCisgICAgICAgICA8cmVmIG5hbWU9ImVudHJ5LmF0dGxpc3QiLz4NCisgICAgICAgICA8bWl4ZWQ+DQorICAgICAgICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICAgICAgICAgPGNob2ljZT4NCisgICAgICAgICAgICAgICAgICA8cmVmIG5hbWU9InBhcmEuY2hhci5taXgiLz4NCisgICAgICAgICAgICAgICAgICA8cmVmIG5hbWU9InRhYmVudHJ5Lm1peCIvPg0KKyAgICAgICAgICAgICAgIDwvY2hvaWNlPg0KKyAgICAgICAgICAgIDwvemVyb09yTW9yZT4NCisgICAgICAgICA8L21peGVkPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICA8L2RlZmluZT4NCisgICA8ZGVmaW5lIG5hbWU9ImVudHJ5LmF0dGxpc3QiPg0KKyAgICAgIDxyZWYgbmFtZT0iZW50cnkuYXR0Ii8+DQorICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0iY29sbmFtZSI+DQorICAgICAgICAgICAgPGRhdGEgdHlwZT0iTk1UT0tFTiIvPg0KKyAgICAgICAgIDwvYXR0cmlidXRlPg0KKyAgICAgIDwvb3B0aW9uYWw+DQorICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0ibmFtZXN0Ij4NCisgICAgICAgICAgICA8ZGF0YSB0eXBlPSJOTVRPS0VOIi8+DQorICAgICAgICAgPC9hdHRyaWJ1dGU+DQorICAgICAgPC9vcHRpb25hbD4NCisgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJuYW1lZW5kIj4NCisgICAgICAgICAgICA8ZGF0YSB0eXBlPSJOTVRPS0VOIi8+DQorICAgICAgICAgPC9hdHRyaWJ1dGU+DQorICAgICAgPC9vcHRpb25hbD4NCisgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJtb3Jlcm93cyI+DQorICAgICAgICAgICAgPGRhdGEgdHlwZT0iaW50ZWdlciIvPg0KKyAgICAgICAgIDwvYXR0cmlidXRlPg0KKyAgICAgIDwvb3B0aW9uYWw+DQorICAgICAgPG9wdGlvbmFsPg0KKyAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0iY29sc2VwIj4NCisgICAgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT4wPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+MTwvdmFsdWU+DQorICAgICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgICAgPC9hdHRyaWJ1dGU+DQorICAgICAgPC9vcHRpb25hbD4NCisgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJyb3dzZXAiPg0KKyAgICAgICAgICAgIDxjaG9pY2U+DQorICAgICAgICAgICAgICAgPHZhbHVlPjA8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT4xPC92YWx1ZT4NCisgICAgICAgICAgICA8L2Nob2ljZT4NCisgICAgICAgICA8L2F0dHJpYnV0ZT4NCisgICAgICA8L29wdGlvbmFsPg0KKyAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICA8YXR0cmlidXRlIG5hbWU9ImFsaWduIj4NCisgICAgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5sZWZ0PC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+cmlnaHQ8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5jZW50ZXI8L3ZhbHVlPg0KKyAgICAgICAgICAgICAgIDx2YWx1ZT5qdXN0aWZ5PC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+Y2hhcjwvdmFsdWU+DQorICAgICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgICAgPC9hdHRyaWJ1dGU+DQorICAgICAgPC9vcHRpb25hbD4NCisgICAgICA8b3B0aW9uYWw+DQorICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJjaGFyIj4NCisgICAgICAgICAgICA8ZGF0YSB0eXBlPSJzdHJpbmciLz4NCisgICAgICAgICA8L2F0dHJpYnV0ZT4NCisgICAgICA8L29wdGlvbmFsPg0KKyAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICA8YXR0cmlidXRlIG5hbWU9ImNoYXJvZmYiPg0KKyAgICAgICAgICAgIDxkYXRhIHR5cGU9Ik5NVE9LRU4iLz4NCisgICAgICAgICA8L2F0dHJpYnV0ZT4NCisgICAgICA8L29wdGlvbmFsPg0KKyAgICAgIDxvcHRpb25hbD4NCisgICAgICAgICA8YXR0cmlidXRlIG5hbWU9InZhbGlnbiI+DQorICAgICAgICAgICAgPGNob2ljZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+dG9wPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+bWlkZGxlPC92YWx1ZT4NCisgICAgICAgICAgICAgICA8dmFsdWU+Ym90dG9tPC92YWx1ZT4NCisgICAgICAgICAgICA8L2Nob2ljZT4NCisgICAgICAgICA8L2F0dHJpYnV0ZT4NCisgICAgICA8L29wdGlvbmFsPg0KKyAgIDwvZGVmaW5lPg0KKzwvZ3JhbW1hcj4NCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy9kb2Nib29rXzAueG1sIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvZG9jYm9va18wLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZGUwNTFkCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvZG9jYm9va18wLnhtbApAQCAtMCwwICsxLDQ0NDggQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCFET0NUWVBFIGFydGljbGUgWworPCFFTlRJVFkgdmVyc2lvbiAiMS4wLjUzIj4KKzwhRU5USVRZIG1kYXNoICAiLS0iPgorPCFFTlRJVFkgaGVsbGlwICIuLi4iPgorPCFFTlRJVFkgY29weSAgICAgICAiJiN4MDBBOTsiPiA8IS0tIENPUFlSSUdIVCBTSUdOIC0tPgorICAgICAgICA8IS0tIHJlcGxhY2UgdmVyc2lvbiBhYm92ZSB3aXRoIGFjdHVhbCBhcHBsaWNhdGlvbiB2ZXJzaW9uIG51bWJlci0tPgorCTwhLS0gIFRlbXBsYXRlIFZlcnNpb246IDEuMC4xICAoZG8gbm90IHJlbW92ZSB0aGlzIGxpbmUpIC0tPgorCisKKworPCFFTlRJVFkgQVBQTEVULVRFTVBMQVRFLTF4LVNIRUxMIFNZU1RFTQorInRlbXBsYXRlcy9hcHBsZXRfdGVtcGxhdGVfMS1hcHBsZXQuc2dtbC5jZGF0YSI+Cis8IUVOVElUWSBBUFBMRVQtVEVNUExBVEUtMXggU1lTVEVNCisidGVtcGxhdGVzL2FwcGxldF90ZW1wbGF0ZV8xLnNnbWwuY2RhdGEiPgorXT4KKworPCEtLSAgVmVyc2lvbjogMS4wLjEgIC0tPgorCis8YXJ0aWNsZSBpZD0iaW5kZXgiPgorICA8YXJ0aWNsZWluZm8+CisKKyAgICA8YXV0aG9yZ3JvdXA+CisKKyAgICAgIDxhdXRob3I+CisgICAgICAgIDxmaXJzdG5hbWU+RGF2aWQ8L2ZpcnN0bmFtZT4KKyAgICAgICAgPHN1cm5hbWU+TWFzb248L3N1cm5hbWU+CisgICAgICAgIDxhZmZpbGlhdGlvbj4KKyAgICAgICAgICA8b3JnbmFtZT5SZWQgSGF0LCBJbmMuPC9vcmduYW1lPgorICAgICAgICAgIDxhZGRyZXNzPgorICAgICAgICAgICAgPGVtYWlsPmRjbUByZWRoYXQuY29tPC9lbWFpbD4KKyAgICAgICAgICA8L2FkZHJlc3M+CisgICAgICAgIDwvYWZmaWxpYXRpb24+CisgICAgICA8L2F1dGhvcj4KKworICAgICAgPGF1dGhvcj4KKyAgICAgICAgPGZpcnN0bmFtZT5EYW5pZWw8L2ZpcnN0bmFtZT4KKyAgICAgICAgPHN1cm5hbWU+TXVldGg8L3N1cm5hbWU+CisgICAgICAgIDxhZmZpbGlhdGlvbj4KKyAgICAgICAgICA8YWRkcmVzcz4KKyAgICAgICAgICAgIDxlbWFpbD5kLW11ZXRoQHVjaGljYWdvLmVkdTwvZW1haWw+CisgICAgICAgICAgPC9hZGRyZXNzPgorICAgICAgICA8L2FmZmlsaWF0aW9uPgorICAgICAgPC9hdXRob3I+CisKKyAgICAgIDxhdXRob3I+CisgICAgICAgIDxmaXJzdG5hbWU+QWxleGFuZGVyPC9maXJzdG5hbWU+CisgICAgICAgIDxzdXJuYW1lPktpcmlsbG92PC9zdXJuYW1lPgorICAgICAgICA8YWZmaWxpYXRpb24+CisgICAgICAgICAgPGFkZHJlc3M+CisgICAgICAgICAgICA8ZW1haWw+a2lyaWxsb3ZAbWF0aC5zdW55c2IuZWR1PC9lbWFpbD4KKyAgICAgICAgICA8L2FkZHJlc3M+CisgICAgICAgIDwvYWZmaWxpYXRpb24+CisgICAgICA8L2F1dGhvcj4KKworICAgIDwvYXV0aG9yZ3JvdXA+CisKKyAgICA8cmVsZWFzZWluZm8+CisgICAgICBUaGlzIGlzIGEgcHJlLXJlbGVhc2UhCisgICAgPC9yZWxlYXNlaW5mbz4KKyAgICAKKyAgICA8cmV2aGlzdG9yeT4KKyAgICAgIDxyZXZpc2lvbj4KKyAgICAgICAgPHJldm51bWJlcj4KKyAgICAgICAgICAwLjk5CisgICAgICAgIDwvcmV2bnVtYmVyPgorICAgICAgICA8ZGF0ZT4KKyAgICAgICAgIDA0LjEwLjIwMDAKKyAgICAgICAgPC9kYXRlPgorICAgICAgPC9yZXZpc2lvbj4KKyAgICA8L3Jldmhpc3Rvcnk+CisgICAgCisgICAgPGNvcHlyaWdodD4KKyAgICAgIDx5ZWFyPjIwMDA8L3llYXI+CisgICAgICA8aG9sZGVyPlJlZCBIYXQsIEluYy4sIERhbmllbCBNdWV0aCwgYW5kIEFsZXhhbmRlciBLaXJpbGxvdjwvaG9sZGVyPgorICAgIDwvY29weXJpZ2h0PgorCisgICAgPGxlZ2Fsbm90aWNlPgorICAgICA8cGFyYT4KKyAgICAgIFBlcm1pc3Npb24gaXMgZ3JhbnRlZCB0byBjb3B5LCBkaXN0cmlidXRlIGFuZC9vciBtb2RpZnkgdGhpcworICAgICAgZG9jdW1lbnQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSA8Y2l0ZXRpdGxlPkdOVSBGcmVlIERvY3VtZW50YXRpb24KKyAgICAgIExpY2Vuc2U8L2NpdGV0aXRsZT4sIFZlcnNpb24gMS4xIG9yIGFueSBsYXRlciB2ZXJzaW9uIHB1Ymxpc2hlZAorICAgICAgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiB3aXRoIG5vIEludmFyaWFudCBTZWN0aW9ucywgbm8KKyAgICAgIEZyb250LUNvdmVyIFRleHRzLCBhbmQgbm8gQmFjay1Db3ZlciBUZXh0cy4gWW91IG1heSBvYnRhaW4gYSBjb3B5CisgICAgICBvZiB0aGUgPGNpdGV0aXRsZT5HTlUgRnJlZSBEb2N1bWVudGF0aW9uIExpY2Vuc2U8L2NpdGV0aXRsZT4gZnJvbQorICAgICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiBieSB2aXNpdGluZyA8dWxpbmsgdHlwZT0iaHR0cCIKKyAgICAgIHVybD0iaHR0cDovL3d3dy5mc2Yub3JnIj50aGVpciBXZWIgc2l0ZTwvdWxpbms+IG9yIGJ5IHdyaXRpbmcgdG86CisgICAgICBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwKKyAgICAgIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgorICAgICA8L3BhcmE+CisgICAgIDxwYXJhPgorICAgICAgTWFueSBvZiB0aGUgbmFtZXMgdXNlZCBieSBjb21wYW5pZXMgdG8gZGlzdGluZ3Vpc2ggdGhlaXIgcHJvZHVjdHMgYW5kCisgICAgICBzZXJ2aWNlcyBhcmUgY2xhaW1lZCBhcyB0cmFkZW1hcmtzLiBXaGVyZSB0aG9zZSBuYW1lcyBhcHBlYXIgaW4gYW55CisgICAgICBHTk9NRSBkb2N1bWVudGF0aW9uLCBhbmQgdGhvc2UgdHJhZGVtYXJrcyBhcmUgbWFkZSBhd2FyZSB0byB0aGUgbWVtYmVycworICAgICAgb2YgdGhlIEdOT01FIERvY3VtZW50YXRpb24gUHJvamVjdCwgdGhlIG5hbWVzIGhhdmUgYmVlbiBwcmludGVkIGluIGNhcHMKKyAgICAgIG9yIGluaXRpYWwgY2Fwcy4KKyAgICAgPC9wYXJhPgorICAgIDwvbGVnYWxub3RpY2U+CisKKyAgICA8dGl0bGU+VGhlIEdOT01FIEhhbmRib29rIG9mIFdyaXRpbmcgU29mdHdhcmUgRG9jdW1lbnRhdGlvbjwvdGl0bGU+CisKKyAgPC9hcnRpY2xlaW5mbz4KKyAgCisgIDwhLS0gIyMjIyMjIyMjIyMjIyMjIyMgSW50cm9kdWN0aW9uICMjIyMjIyMjIyMjIyMjIyAtLT4KKworICA8c2VjdDEgaWQ9ImludHJvIj4KKyAgICA8dGl0bGU+SW50cm9kdWN0aW9uPC90aXRsZT4KKworICAgIDwhLS0gIyMjIyMjIyBJbnRyb2R1Y3Rpb24gfCBUaGUgR05PTUUgRG9jdW1lbnRhdGlvbiBQcm9qZWN0ICMjIyMjIyMgLS0+CisKKyAgICA8c2VjdDIgaWQ9ImdkcCI+CisgICAgICA8dGl0bGU+VGhlIEdOT01FIERvY3VtZW50YXRpb24gUHJvamVjdDwvdGl0bGU+CisKKyAgICAgIDxzZWN0MyBpZD0iZ29hbHMiPgorICAgICAgICA8dGl0bGU+R29hbHM8L3RpdGxlPgorICAgICAgICA8cGFyYT4KKyAgICAgICAgICBUaGUgR05PTUUgRG9jdW1lbnRhdGlvbiBQcm9qZWN0IChHRFApIGFpbXMgdG8gcHJvdmlkZSBHTk9NRQorICAgICAgICAgIGFuZCBHTk9NRSBhcHBsaWNhdGlvbnMgd2l0aCBhIGNvbXBsZXRlLCBpbnR1aXRpdmUsIGFuZCBjbGVhcgorICAgICAgICAgIGRvY3VtZW50YXRpb24gc3lzdGVtLiAgQXQgdGhlIGNlbnRlciBvZiB0aGUgR0RQIGlzIHRoZQorICAgICAgICAgIDxhcHBsaWNhdGlvbj5HTk9NRSBIZWxwIEJyb3dzZXI8L2FwcGxpY2F0aW9uPiwgd2hpY2gKKyAgICAgICAgICBwcmVzZW50cyBhIHVuaWZpZWQgaW50ZXJmYWNlIHRvIEdOT01FLXNwZWNpZmljIGRvY3VtZW50YXRpb24KKyAgICAgICAgICBhcyB3ZWxsIGFzIG90aGVyIExpbnV4IGRvY3VtZW50YXRpb24gc3VjaCBhcyBtYW4gcGFnZXMgYW5kCisgICAgICAgICAgdGV4aW5mbyBkb2N1bWVudHMuIFRoZSBHTk9NRSBIZWxwIFN5c3RlbSBwcm92aWRlcyBhCisgICAgICAgICAgY29tcHJlaGVuc2l2ZSB2aWV3IG9mIGRvY3VtZW50YXRpb24gb24gYSBtYWNoaW5lIGJ5CisgICAgICAgICAgZHluYW1pY2FsbHkgYXNzZW1ibGluZyB0aGUgZG9jdW1lbnRhdGlvbiBvZiBHTk9NRQorICAgICAgICAgIGFwcGxpY2F0aW9ucyBhbmQgY29tcG9uZW50cyB3aGljaCBhcmUgaW5zdGFsbGVkLiBUaGUgR0RQIGlzCisgICAgICAgICAgcmVzcG9uc2libGUgZm9yIHdyaXRpbmcgbnVtZXJvdXMgR05PTUUtcmVsYXRlZCBkb2N1bWVudHMsCisgICAgICAgICAgYm90aCBmb3IgZGV2ZWxvcGVycyBhbmQgZm9yIHVzZXJzLiAgRGV2ZWxvcGVyIGRvY3VtZW50YXRpb24KKyAgICAgICAgICBpbmNsdWRlcyA8dWxpbmsgdXJsPSJodHRwOi8vZGV2ZWxvcGVyLmdub21lLm9yZy9kb2MvQVBJLyIKKyAgICAgICAgICB0eXBlPSJodHRwIj5BUElzIGZvciB0aGUgR05PTUUgbGlicmFyaWVzPC91bGluaz4sIDx1bGluaworICAgICAgICAgIHVybD0iaHR0cDovL2RldmVsb3Blci5nbm9tZS5vcmcvZG9jL3doaXRlcGFwZXJzLyIKKyAgICAgICAgICB0eXBlPSJodHRwIj48Y2l0ZXRpdGxlPkdOT01FIFdoaXRlCisgICAgICAgICAgUGFwZXJzPC9jaXRldGl0bGU+PC91bGluaz4sIEdOT01FIGRldmVsb3BlciA8dWxpbmsKKyAgICAgICAgICB1cmw9Imh0dHA6Ly9kZXZlbG9wZXIuZ25vbWUub3JnL2RvYy90dXRvcmlhbHMvIgorICAgICAgICAgIHR5cGU9Imh0dHAiPnR1dG9yaWFsczwvdWxpbms+LCB0aGUgPHVsaW5rCisgICAgICAgICAgdXJsPSJodHRwOi8vZGV2ZWxvcGVyLmdub21lLm9yZy9kb2MvRkFRLyIKKyAgICAgICAgICB0eXBlPSJodHRwIj48Y2l0ZXRpdGxlPkdOT01FIERldmVsb3BlcgorICAgICAgICAgIEZBUTwvY2l0ZXRpdGxlPjwvdWxpbms+LCB0aGUgPHVsaW5rCisgICAgICAgICAgdXJsPSJodHRwOi8vZGV2ZWxvcGVyLmdub21lLm9yZyIgdHlwZT0iaHR0cCI+R05PTUUKKyAgICAgICAgICBEZXZlbG9wZXIncyBXZWJzaXRlPC91bGluaz4sIGFuZCA8Y2l0ZXRpdGxlPkdOT01FCisgICAgICAgICAgSGFuZGJvb2s8L2NpdGV0aXRsZT4ncywgc3VjaCBhcyB0aGUgb25lIHlvdSBhcmUgcmVhZGluZy4KKyAgICAgICAgICBVc2VyIGRvY3VtZW50YXRpb24gaW5jbHVkZSB0aGUgPHVsaW5rCisgICAgICAgICAgdXJsPSJodHRwOi8vd3d3Lmdub21lLm9yZy9sZWFybi8iCisgICAgICAgICAgdHlwZT0iaHR0cCI+PGNpdGV0aXRsZT5HTk9NRSBVc2VyJ3MKKyAgICAgICAgICBHdWlkZTwvY2l0ZXRpdGxlPjwvdWxpbms+LCB0aGUgPHVsaW5rCisgICAgICAgICAgdXJsPSJodHRwOi8vd3d3Lmdub21lLm9yZy9sZWFybi8iCisgICAgICAgICAgdHlwZT0iaHR0cCI+PGNpdGV0aXRsZT5HTk9NRSBGQVE8L2NpdGV0aXRsZT48L3VsaW5rPiwgYW5kCisgICAgICAgICAgR05PTUUgYXBwbGljYXRpb24gZG9jdW1lbnRhdGlvbi4gIE1vc3QgR05PTUUgYXBwbGljYXRpb25zCisgICAgICAgICAgaGF2ZSB0aGVpciBvd24gbWFudWFsIGluIGFkZGl0aW9uIHRvIGNvbnRleHQgc2Vuc2l0aXZlIGhlbHAuCisgICAgICAgIDwvcGFyYT4KKyAgICAgIDwvc2VjdDM+CisKKyAgICAgIDxzZWN0MyBpZD0iam9pbmluZyI+CisgICAgICAgPHRpdGxlPkpvaW5pbmcgdGhlIEdEUDwvdGl0bGU+CisgICAgICAgPHBhcmE+CisgICAgICAgICBEb2N1bWVudGluZyBHTk9NRSBhbmQgYWxsIHRoZSBudW1lcm91cyBHTk9NRSBhcHBsaWNhdGlvbnMgaXMKKyAgICAgICAgIGEgdmVyeSBsYXJnZSBwcm9qZWN0LiAgVGhlIEdEUCBpcyBhbHdheXMgbG9va2luZyBmb3IgcGVvcGxlCisgICAgICAgICB0byBoZWxwIHdyaXRlLCB1cGRhdGUsIGFuZCBlZGl0IGRvY3VtZW50YXRpb24uICBJZiB5b3UgYXJlCisgICAgICAgICBpbnRlcmVzdGVkIGluIGpvaW5pbmcgdGhlIEdEUCB0ZWFtLCB5b3Ugc2hvdWxkIGpvaW4gdGhlCisgICAgICAgICA8dWxpbmsgdXJsPSJodHRwOi8vbWFpbC5nbm9tZS5vcmcvbWFpbG1hbi9saXN0aW5mby9nbm9tZS1kb2MtbGlzdC8iPgorICAgICAgICAgPGNpdGV0aXRsZT5nbm9tZS1kb2MtbGlzdCBtYWlsaW5nIGxpc3Q8L2NpdGV0aXRsZT4gPC91bGluaz4uCisgICAgICAgICBSZWFkIDx4cmVmIGxpbmtlbmQ9ImdldHRpbmdzdGFydGVkIiAvPiwgZm9yIGhlbHAgc2VsZWN0aW5nIGEKKyAgICAgICAgIHByb2plY3QgdG8gd29yayBvbi4gIEZlZWwgZnJlZSB0byBpbnRyb2R1Y2UgeW91cnNlbGYgb24gdGhlCisgICAgICAgICBnbm9tZS1kb2MtbGlzdCBtYWlsaW5nIGxpc3QgYW5kIGluZGljYXRlIHdoaWNoIHByb2plY3QgeW91CisgICAgICAgICBpbnRlbmQgdG8gd29yayBvbiwgb3IgZWxzZSBhc2sgZm9yIHN1Z2dlc3Rpb25zIG9mIGltcG9ydGFudAorICAgICAgICAgZG9jdW1lbnRzIHdoaWNoIG5lZWQgd29yayBkb25lLiBZb3UgbWF5IGFsc28gd2FudCB0byBqb2luIHRoZQorICAgICAgICAgI2RvY3MgSVJDIGNoYW5uZWwgb24gaXJjLmdub21lLm9yZyB0byBtZWV0IG90aGVyIEdEUCBtZW1iZXJzCisgICAgICAgICBhbmQgZGlzY3VzcyBhbnkgcXVlc3Rpb25zIHlvdSBtYXkgaGF2ZS4gIEZvciBhIGxpc3Qgb2YgR0RQCisgICAgICAgICBwcm9qZWN0cyBhbmQgbWVtYmVycywgc2VlIHRoZQorICAgICAgICAgPHVsaW5rIHVybD0iaHR0cDovL2RldmVsb3Blci5nbm9tZS5vcmcvcHJvamVjdHMvZ2RwIj4KKyAgICAgICAgICAgPGNpdGV0aXRsZT5HRFAgV2Vic2l0ZTwvY2l0ZXRpdGxlPjwvdWxpbms+LgorICAgICAgIDwvcGFyYT4KKyAgICAgIDwvc2VjdDM+CisKKyAgICAgIDxzZWN0MyBpZD0iY29sbGFib3JhdGluZyI+CisgICAgICAgPHRpdGxlPkNvbGxhYm9yYXRpbmcgd2l0aCB0aGUgR0RQPC90aXRsZT4KKyAgICAgICA8cGFyYT4KKyAgICAgICAgR05PTUUgZGV2ZWxvcGVycywgcGFja2FnZXJzLCBhbmQgdHJhbnNsYXRvcnMgbWF5IG5vdCBiZQorICAgICAgICB3cml0aW5nIEdOT01FIGRvY3VtZW50YXRpb24gYnV0IHdpbGwgd2FudCB0byB1bmRlcnN0YW5kIGhvdworICAgICAgICB0aGUgR05PTUUgZG9jdW1lbnRhdGlvbiBzeXN0ZW0gd29ya3MgYW5kIHdpbGwgbmVlZCB0bworICAgICAgICBjb2xsYWJvcmF0ZSB3aXRoIEdEUCBtZW1iZXJzLiAgVGhpcyBkb2N1bWVudCBzaG91bGQgaGVscCB0bworICAgICAgICBvdXRsaW5lIHRoZSBzdHJ1Y3R1cmUgb2YgaG93IHRoZSBHTk9NRSBkb2N1bWVudGF0aW9uIHN5c3RlbQorICAgICAgICB3b3Jrcy4gIERldmVsb3BlcnMgd2hvIGRvIG5vdCB3cml0ZSB0aGUgZG9jdW1lbnRhdGlvbiBmb3IKKyAgICAgICAgdGhlaXIgYXBwbGljYXRpb25zIGFyZSBlbmNvdXJhZ2VkIHRvIGZpbmQgYSBHRFAgbWVtYmVyIHRvCisgICAgICAgIHdyaXRlIHRoZSBkb2N1bWVudGF0aW9uLiAgVGhpcyBpcyBiZXN0IGRvbmUgYnkgc2VuZGluZyBhbgorICAgICAgICBlbWFpbCB0byB0aGUgPHVsaW5rCisgICAgICAgIHVybD0iaHR0cDovL21haWwuZ25vbWUub3JnL21haWxtYW4vbGlzdGluZm8vZ25vbWUtZG9jLWxpc3QvIj4KKyAgICAgICAgPGNpdGV0aXRsZT5nbm9tZS1kb2MtbGlzdCBtYWlsaW5nIGxpc3Q8L2NpdGV0aXRsZT4gPC91bGluaz4KKyAgICAgICAgZGVzY3JpYmluZyB0aGUgYXBwbGljYXRpb24sIHdoZXJlIGl0IGNhbiBiZSBkb3dubG9hZGVkIGZyb20sCisgICAgICAgIGFuZCB0aGF0IHRoZSBkZXZlbG9wZXIocykgd291bGQgbGlrZSBhIEdEUCBtZW1iZXIgdG8gd3JpdGUKKyAgICAgICAgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGFwcGxpY2F0aW9uLiBUaGUgI2RvY3MgSVJDIGNoYW5uZWwgb24KKyAgICAgICAgaXJjLmdub21lLm9yZyBpcyBhbm90aGVyIG9wdGlvbiBmb3IgY29udGFjdGluZyBHRFAgbWVtYmVycy4KKyAgICAgICA8L3BhcmE+CisgICAgICA8L3NlY3QzPgorICAgIDwvc2VjdDI+CisKKyAgICA8IS0tICMjIyMjIyMgSW50cm9kdWN0aW9uIHwgTm90YXRpb24gYW5kIENvbnZlbnRpb25zICAjIyMjIyMjIC0tPgorCisgICAgPHNlY3QyIGlkPSJub3RhdGlvbiI+CisgICAgICA8dGl0bGU+Tm90YXRpb24gYW5kIENvbnZlbnRpb25zPC90aXRsZT4KKyAgICAgIDxwYXJhPgorICAgICAgICBUaGlzIEhhbmRib29rIHVzZXMgdGhlIGZvbGxvd2luZyBub3RhdGlvbjoKKyAgICAgICAgPGluZm9ybWFsdGFibGUgZnJhbWU9Im5vbmUiPgorICAgICAgICAgIDx0Z3JvdXAgY29scz0iMiI+CisgICAgICAgICAgICA8dGJvZHk+CisgICAgICAgICAgICAgIDxyb3c+CisgICAgICAgICAgICAgICAgPGVudHJ5PgorICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lIGNsYXNzPSJkaXJlY3RvcnkiPi91c3IvYmluPC9maWxlbmFtZT4KKyAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgIDxlbnRyeT4KKyAgICAgICAgICAgICAgICAgIERpcmVjdG9yeQorICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgIDwvcm93PgorICAgICAgICAgICAgICA8cm93PgorICAgICAgICAgICAgICAgIDxlbnRyeT4KKyAgICAgICAgICAgICAgICAgIDxmaWxlbmFtZT5mb28uc2dtbDwvZmlsZW5hbWU+CisgICAgICAgICAgICAgICAgPC9lbnRyeT4KKyAgICAgICAgICAgICAgICA8ZW50cnk+CisgICAgICAgICAgICAgICAgICBGaWxlbmFtZQorICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgIDwvcm93PgorICAgICAgICAgICAgICA8cm93PgorICAgICAgICAgICAgICAgIDxlbnRyeT4KKyAgICAgICAgICAgICAgICAgIDxjb21tYW5kPmNvbW1hbmQ8L2NvbW1hbmQ+CisgICAgICAgICAgICAgICAgPC9lbnRyeT4KKyAgICAgICAgICAgICAgICA8ZW50cnk+CisgICAgICAgICAgICAgICAgICBDb21tYW5kIG9yIHRleHQgdGhhdCB3b3VsZCBiZSB0eXBlZC4KKyAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICA8L3Jvdz4KKyAgICAgICAgICAgICAgPHJvdz4KKyAgICAgICAgICAgICAgICA8ZW50cnk+CisgICAgICAgICAgICAgICAgICA8Y29tbWFuZD48cmVwbGFjZWFibGU+cmVwbGFjZWFibGU8L3JlcGxhY2VhYmxlPjwvY29tbWFuZD4KKyAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICAgIDxlbnRyeT4KKyAgICAgICAgICAgICAgICAgICJWYXJpYWJsZSIgdGV4dCB0aGF0IGNhbiBiZSByZXBsYWNlZC4KKyAgICAgICAgICAgICAgICA8L2VudHJ5PgorICAgICAgICAgICAgICA8L3Jvdz4KKyAgICAgICAgICAgICAgPHJvdz4KKyAgICAgICAgICAgICAgICA8ZW50cnk+CisgICAgICAgICAgICAgICAgICA8bGl0ZXJhbD5Qcm9ncmFtIG9yIERvYyBDb2RlPC9saXRlcmFsPgorICAgICAgICAgICAgICAgIDwvZW50cnk+CisgICAgICAgICAgICAgICAgPGVudHJ5PlByb2dyYW0gb3IgZG9jdW1lbnQgY29kZTwvZW50cnk+CisgICAgICAgICAgICAgIDwvcm93PgorICAgICAgICAgICAgPC90Ym9keT4KKyAgICAgICAgICA8L3Rncm91cD4KKyAgICAgICAgPC9pbmZvcm1hbHRhYmxlPgorICAgICAgPC9wYXJhPgorICAgIDwvc2VjdDI+CisKKyAgICA8IS0tICMjIyMjIyMgSW50cm9kdWN0aW9uIHwgQWJvdXQgVGhpcyBIYW5kYm9vayAgIyMjIyMjIyAtLT4KKworICAgIDxzZWN0MiBpZD0iYWJvdXQiPgorICAgICAgPHRpdGxlPkFib3V0IFRoaXMgSGFuZGJvb2s8L3RpdGxlPgorICAgICAgPHBhcmE+CisgICAgICAgVGhpcyBIYW5kYm9vayBpcyBhIGd1aWRlIGZvciBib3RoIHdyaXRpbmcgZG9jdW1lbnRhdGlvbiBmb3IKKyAgICAgICBHTk9NRSBjb21wb25lbnRzIGFuZCBhcHBsaWNhdGlvbnMgYW5kIGZvciBwcm9wZXJseSBiaW5kaW5nIGFuZAorICAgICAgIHBhY2thZ2luZyBkb2N1bWVudGF0aW9uIGludG8gR05PTUUgYXBwbGljYXRpb25zLgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgVGhpcyBIYW5kYm9vaywgbGlrZSBhbGwgR05PTUUgZG9jdW1lbnRhdGlvbiwgd2FzIHdyaXR0ZW4gaW4KKyAgICAgICBEb2NCb29rKFNHTUwpIGFuZCBpcyBhdmFpbGFibGUgaW4gc2V2ZXJhbCBmb3JtYXRzIGluY2x1ZGluZworICAgICAgIFNHTUwsIEhUTUwsIFBvc3RTY3JpcHQsIGFuZCBQREYuICBGb3IgdGhlIGxhdGVzdCB2ZXJzaW9uLCBzZWUKKyAgICAgICA8dWxpbmsKKyAgICAgICB1cmw9Imh0dHA6Ly9kZXZlbG9wZXIuZ25vbWUub3JnL3Byb2plY3RzL2dkcC9oYW5kYm9vay5odG1sIj4gCisgICAgICAgPGNpdGV0aXRsZT5HZXR0aW5nIFRoZSBHTk9NRSBIYW5kYm9vayBvZiBXcml0aW5nIFNvZnR3YXJlCisgICAgICAgRG9jdW1lbnRhdGlvbjwvY2l0ZXRpdGxlPiA8L3VsaW5rPi4gIEFsdGVybmF0ZWx5LCBvbmUgbWF5CisgICAgICAgZG93bmxvYWQgaXQgYW5vbnltb3VzbHkgZnJvbSBHTk9NRSBDVlMgdW5kZXIgPGZpbGVuYW1lCisgICAgICAgY2xhc3M9ImRpcmVjdG9yeSI+Z25vbWUtZG9jdS9nZHA8L2ZpbGVuYW1lPi4KKyAgICAgIDwvcGFyYT4KKyAgICA8L3NlY3QyPgorICA8L3NlY3QxPgorCis8IS0tICMjIyMjIyMjIyMjIyMjIyMjIEdldHRpbmcgU3RhcnRlZCAgIyMjIyMjIyMjIyMjIyMjIC0tPgorCisgIDxzZWN0MSBpZD0iZ2V0dGluZ3N0YXJ0ZWQiPgorICAgIDx0aXRsZT5HZXR0aW5nIFN0YXJ0ZWQgV3JpdGluZyBHTk9NRSBEb2N1bWVudGF0aW9uPC90aXRsZT4KKworPCEtLSMjIyMjIyMgR2V0dGluZyBTdGFydGVkIHwgU2VsZWN0aW5nIEEgRG9jdW1lbnQgIyMjIyMjIyAtLT4KKworICAgIDxzZWN0MiBpZD0ic2VsZWN0aW5nIj4KKyAgICAgIDx0aXRsZT5TZWxlY3RpbmcgQSBEb2N1bWVudDwvdGl0bGU+CisgICAgCisgICAgICA8c2VjdDMgaWQ9Imtub3ciPgorICAgICAgICA8dGl0bGU+RG9jdW1lbnQgU29tZXRoaW5nIFlvdSBLbm93PC90aXRsZT4KKyAgICAgICAgPHBhcmE+CisgICAgICAgICAgVGhlIG1vc3QgZnJlcXVlbnRseSBhc2tlZCBxdWVzdGlvbiBvZiBuZXcgY29udHJpYnV0b3JzIHdobworICAgICAgICAgIGpvaW4gdGhlIEdEUCBpcyAid2hpY2ggZG9jdW1lbnQgc2hvdWxkIEkgc3RhcnQKKyAgICAgICAgICB3aXRoPyIuIEJlY2F1c2UgbW9zdCBwZW9wbGUgaW52b2x2ZWQgYXJlIHZvbHVudGVlcnMsIHdlIGRvCisgICAgICAgICAgbm90IDxlbXBoYXNpcz5hc3NpZ248L2VtcGhhc2lzPiBwcm9qZWN0cyBhbmQgYXBwbGljYXRpb25zIHRvCisgICAgICAgICAgd3JpdGUgZG9jdW1lbnRzIGZvci4gVGhlIGZpcnN0IHN0ZXAgaXMgYWxsIHlvdXJzIC0geW91IG11c3QKKyAgICAgICAgICBkZWNpZGUgd2hhdCBhYm91dCBHTk9NRSBpbnRlcmVzdHMgeW91IG1vc3QgYW5kIGZpbmQgb3V0IGlmCisgICAgICAgICAgaXQgaGFzIGNvbXBsZXRlIGRvY3VtZW50cyBvciBub3QuCisgICAgICAgIDwvcGFyYT4KKyAgICAgICAgPHBhcmE+CisgICAgICAgICAgSXQgaXMgYWxzbyBpbXBvcnRhbnQgdG8gc3BlbmQgc29tZSB0aW1lIHdpdGggR05PTUUgdG8gbWFrZQorICAgICAgICAgIHN1cmUgeW91IGFyZSBmYW1pbGlhciBlbm91Z2ggd2l0aCBpdCB0byBiZQorICAgICAgICAgIDxlbXBoYXNpcz5hdXRob3JpdGF0aXZlPC9lbXBoYXNpcz4gIGluIHlvdXIgd3JpdGluZy4gVGhlCisgICAgICAgICAgYmVzdCB3YXkgdG8gZG8gdGhpcyBpcyB0byBqdXN0IHNpdCBkb3duIGFuZCBwbGF5IHdpdGggR05PTUUKKyAgICAgICAgICBhcyBtdWNoIGFzIHBvc3NpYmxlIGJlZm9yZSBzdGFydGluZyB0byB3cml0ZS4KKyAgICAgICAgPC9wYXJhPgorICAgICAgICA8cGFyYT4KKyAgICAgICAgICBUaGUgZWFzaWVzdCB3YXkgdG8gZ2V0IHN0YXJ0ZWQgaXMgdG8gaW1wcm92ZSBleGlzdGluZworICAgICAgICAgIGRvY3VtZW50YXRpb24uIElmIHlvdSBub3RpY2Ugc29tZSBpbmFjY3VyYWNpZXMgb3Igb21pc3Npb25zCisgICAgICAgICAgaW4gdGhlIGRvY3VtZW50YXRpb24sIG9yIHlvdSB0aGluayB0aGF0IHlvdSBjYW4gZXhwbGFpbiB0aGUKKyAgICAgICAgICBtYXRlcmlhbCBtb3JlIGNsZWFybHksIGp1c3Qgc2VuZCB5b3VyIHN1Z2dlc3Rpb25zIHRvIHRoZQorICAgICAgICAgIGF1dGhvciBvZiB0aGUgb3JpZ2luYWwgZG9jdW1lbnRhdGlvbiBvciB0byB0aGUgR05PTUUKKyAgICAgICAgICBkb2N1bWVudGF0aW9uIHByb2plY3QgYXQgPGVtYWlsPmRvY3NAZ25vbWUub3JnPC9lbWFpbD4uCisgICAgICAgIDwvcGFyYT4KKyAgICAgIDwvc2VjdDM+CisgICAgICAKKyAgICAgIDxzZWN0MyBpZD0iZG9jdGFibGUiPgorICAgICAgICA8dGl0bGU+VGhlIEdOT01FIERvY3VtZW50YXRpb24gU3RhdHVzIFRhYmxlPC90aXRsZT4KKyAgICAgICAgPHBhcmE+CisgICAgICAgICAgVGhlIDxjaXRldGl0bGU+R0RQIERvY3VtZW50YXRpb24gU3RhdHVzIFRhYmxlPC9jaXRldGl0bGU+CisgICAgICAgICAgKDxjaXRldGl0bGU+RG9jVGFibGU8L2NpdGV0aXRsZT4pICg8dWxpbmsKKyAgICAgICAgICB1cmw9Imh0dHA6Ly93d3cuZ25vbWUub3JnL2dkcC9kb2N0YWJsZS8iCisgICAgICAgICAgdHlwZT0iaHR0cCI+aHR0cDovL3d3dy5nbm9tZS5vcmcvZ2RwL2RvY3RhYmxlLzwvdWxpbms+KSBpcyBhCisgICAgICAgICAgd2ViIHBhZ2Ugd2hpY2ggdHJhY2tzIHRoZSBzdGF0dXMgb2YgYWxsIHRoZSB2YXJpb3VzCisgICAgICAgICAgZG9jdW1lbnRhdGlvbiBjb21wb25lbnRzIG9mIEdOT01FLiAgVGhlc2UgY29tcG9uZW50cyBpbmNsdWRlCisgICAgICAgICAgYXBwbGljYXRpb24gZG9jdW1lbnRhdGlvbiwgaW50ZXJuYWwgR05PTUUgY29tcG9uZW50CisgICAgICAgICAgZG9jdW1lbnRhdGlvbiwgdXNlciBkb2N1bWVudGF0aW9uLCBhbmQgZGV2ZWxvcGVyCisgICAgICAgICAgZG9jdW1lbnRhdGlvbi4gIEZvciBlYWNoIGRvY3VtZW50YXRpb24gaXRlbSwgaXQgdHJhY2tzIHRoZQorICAgICAgICAgIGN1cnJlbnQgc3RhdHVzIG9mIHRoZSBkb2N1bWVudGF0aW9uLCB3aG8gaXMgd29ya2luZyBvbiB0aGUKKyAgICAgICAgICBwYXJ0aWN1bGFyIGRvY3VtZW50LCB3aGVyZSB0aGUgZG9jdW1lbnRhdGlvbiBjYW4gYmUgZm91bmQsCisgICAgICAgICAgYW5kIHByb3ZpZGVzIGEgZm9ydW0gZm9yIHRoZSBkaXNjdXNzaW9uIG9mIGVhY2ggaXRlbS4KKyAgICAgICAgPC9wYXJhPgorICAgICAgICA8cGFyYT4KKyAgICAgICAgICBZb3Ugc2hvdWxkIHVzZSB0aGUgPGNpdGV0aXRsZT5Eb2NUYWJsZTwvY2l0ZXRpdGxlPiB0byBoZWxwCisgICAgICAgICAgeW91IHNlbGVjdCBhIGRvY3VtZW50YXRpb24gaXRlbSB3aGljaCBuZWVkcyB3b3JrIGRvbmUuICBPbmNlCisgICAgICAgICAgeW91IGhhdmUgc2VsZWN0ZWQgYW4gaXRlbSB0byB3b3JrIG9uLCBwbGVhc2UgcmVnaXN0ZXIKKyAgICAgICAgICB5b3Vyc2VsZiBhcyBhbiBhdXRob3Igc28gdGhhdCBvdGhlciBhdXRob3JzIGRvIG5vdCBkdXBsaWNhdGUKKyAgICAgICAgICB5b3VyIHdvcmsgYW5kIG1heSBjb250YWN0IHlvdSB0byBoZWxwIG9yIG9mZmVyIHN1Z2dlc3Rpb25zLgorICAgICAgICAgIEFsc28gYmUgc3VyZSB0byBrZWVwIHRoZSBzdGF0dXMgaWNvbnMgdXAtdG8tZGF0ZSAgc28gdGhhdAorICAgICAgICAgIHRoZSBHRFAgdGVhbSBjYW4gZWFzaWx5IGlkZW50aWZ5IHdoaWNoIGl0ZW1zIG5lZWQgYWRkaXRpb25hbAorICAgICAgICAgIGhlbHAuICBUaGUgPGNpdGV0aXRsZT5Eb2NUYWJsZTwvY2l0ZXRpdGxlPiBhbHNvIGFsbG93cworICAgICAgICAgIHBlb3BsZSB0byBtYWtlIGFubm91bmNlbWVudHMgYW5kIHN1Z2dlc3Rpb25zIGFuZCB0byBkaXNjdXNzCisgICAgICAgICAgaXNzdWVzIGluIHRoZSBjb21tZW50cyBzZWN0aW9uLgorICAgICAgICA8L3BhcmE+CisgICAgICAgIDxub3RlPgorICAgICAgICAgPHRpdGxlPk5vdGU8L3RpdGxlPgorICAgICAgICAgPHBhcmE+CisgICAgICAgICAgTm90ZSB0aGF0IHRoZSBpbmZvcm1hdGlvbiBpbiB0aGUKKyAgICAgICAgICA8Y2l0ZXRpdGxlPkRvY1RhYmxlPC9jaXRldGl0bGU+IG1heSBub3QgYWx3YXlzIGJlIHVwLXRvLWRhdGUKKyAgICAgICAgICBvciBhY2N1cmF0ZS4gIFdoZW4geW91IGFzc2lnbiB5b3Vyc2VsZiB0byBkb2N1bWVudGluZyBhbgorICAgICAgICAgIGFwcGxpY2F0aW9uLCBtYWtlIHN1cmUgeW91IGZpbmQgb3V0IHRoZSBsYXRlc3Qgc3RhdHVzIG9mCisgICAgICAgICAgZG9jdW1lbnRhdGlvbiBieSBjb250YWN0aW5nIHRoZSBhcHBsaWNhdGlvbiBhdXRob3IuICAKKyAgICAgICAgIDwvcGFyYT4KKyAgICAgICAgPC9ub3RlPgorICAgICAgPC9zZWN0Mz4KKyAgICA8L3NlY3QyPgorCis8IS0tICMjIyMjIyMgR2V0dGluZyBTdGFydGVkIHwgSW5zdGFsbGluZyBBbmQgVXNpbmcgRG9jQm9vayAjIyMjIyMjIC0tPgorCisgICAgPHNlY3QyIGlkPSJkb2Nib29rIj4KKyAgICAgIDx0aXRsZT5JbnN0YWxsaW5nIGFuZCBVc2luZyBEb2NCb29rPC90aXRsZT4KKyAgICAgIDxwYXJhPgorICAgICAgICBBbGwgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIEdOT01FIHByb2plY3QgaXMgd3JpdHRlbiBpbiBTR01MCisgICAgICAgIHVzaW5nIHRoZSBEb2NCb29rIERURC4gVGhlcmUgYXJlIG1hbnkgYWR2YW50YWdlcyB0byB1c2luZworICAgICAgICB0aGlzIGZvciBkb2N1bWVudGF0aW9uLCBub3QgbGVhc3Qgb2Ygd2hpY2ggaXMgdGhlIHNpbmdsZQorICAgICAgICBzb3VyY2UgbmF0dXJlIG9mIFNHTUwuIFRvIGNvbnRyaWJ1dGUgdG8gdGhlIEdEUCB5b3Ugc2hvdWxkCisgICAgICAgIGxlYXJuIHRvIHVzZSBEb2NCb29rLgorICAgICAgPC9wYXJhPgorICAgICAgPG5vdGU+CisgICAgICAgIDx0aXRsZT5OT1RFPC90aXRsZT4KKyAgICAgICAgPHBhcmE+CisgICAgICAgICAgVG8gZ2V0IHN0YXJ0ZWQgd3JpdGluZyBmb3IgdGhlIEdEUCB5b3UgZG8gbm90IG5lZWQgdG8gcnVzaAorICAgICAgICAgIG91dCBhbmQgbGVhcm4gRG9jQm9vayAtIGlmIHlvdSBmZWVsIGl0IGlzIHRvbyBtdWNoIHRvIGhhbmRsZQorICAgICAgICAgIGZvciBub3csIHlvdSBjYW4gc3VibWl0IHBsYWluIEFTQ0lJIHRleHQgdG8gdGhlIDx1bGluaworICAgICAgICAgIHVybD0iaHR0cDovL21haWwuZ25vbWUub3JnL21haWxtYW4vbGlzdGluZm8vZ25vbWUtZG9jLWxpc3QvIj4KKyAgICAgICAgICA8Y2l0ZXRpdGxlPmdub21lLWRvYy1saXN0IG1haWxpbmcgbGlzdDwvY2l0ZXRpdGxlPgorICAgICAgICAgIDwvdWxpbms+YW5kIGEgdm9sdW50ZWVyIHdpbGwgbWFyayBpdCB1cCBmb3IgeW91LiBTZWVpbmcgeW91cgorICAgICAgICAgIGRvY3VtZW50IG1hcmtlZCB1cCB3aWxsIGFsc28gYmUgYSBncmVhdCB3YXkgZm9yIHlvdSB0byBzdGFydAorICAgICAgICAgIGxlYXJuaW5nIERvY0Jvb2suCisgICAgICAgIDwvcGFyYT4KKyAgICAgIDwvbm90ZT4KKyAgICAgIDxzZWN0MyBpZD0iaW5zdGFsbGluZ2RvY2Jvb2siPgorICAgICAgICA8dGl0bGU+SW5zdGFsbGluZyBEb2NCb29rPC90aXRsZT4KKyAgICAgICAgPHBhcmE+CisgICAgICAgICAgRG93bmxvYWQgYW5kIGluc3RhbGwgdGhlIGZvbGxvd2luZyA8dWxpbmsKKyAgICAgICAgICB1cmw9ImZ0cDovL3NvdXJjZXdhcmUuY3lnbnVzLmNvbTovcHViL2RvY2Jvb2stdG9vbHMvIgorICAgICAgICAgIHR5cGU9ImZ0cCI+RG9jQm9vayBUb29scyBwYWNrYWdlczwvdWxpbms+OiBqYWRlLCBkb2Nib29rLAorICAgICAgICAgIGphZGV0ZXgsIHNnbWwtY29tbW9uLCBhbmQgc3R5bGVzaGVldHMuIChSUE0gdXNlcnMgc2hvdWxkIG5vdGUKKyAgICAgICAgICB0aGF0IGphZGUgaXMgcGxhdGZvcm0gZGVwZW5kZW50IChlZy4gaTM4NiksIHdoaWxlIHRoZSBvdGhlciBwYWNrYWdlcworICAgICAgICAgIGFyZSBpbiB0aGUgPGZpbGVuYW1lIGNsYXNzPSJkaXJlY3RvcnkiPm5vYXJjaDwvZmlsZW5hbWU+CisgICAgICAgICAgZGlyZWN0b3J5LikgWW91IGNhbiBmaW5kIG1vcmUgCisgICAgICAgICAgaW5mb3JtYXRpb24gb24gRG9jQm9vayBUb29scyA8dWxpbmsgdXJsPSIKKyAgICAgICAgICBodHRwOi8vc291cmNld2FyZS5jeWdudXMuY29tL2RvY2Jvb2stdG9vbHMvIgorICAgICAgICAgIHR5cGU9Imh0dHAiPmhlcmU8L3VsaW5rPi4KKyAgICAgICAgPC9wYXJhPgorICAgICAgICA8cGFyYT4KKyAgICAgICAgICBJZiB5b3UgYXJlIGFuIDxhcHBsaWNhdGlvbj5FbWFjczwvYXBwbGljYXRpb24+IHVzZXIgeW91IG1heQorICAgICAgICAgIHdhbnQgdG8gZ3JhYiB0aGUgcHNnbWwgcGFja2FnZSBhcyB3ZWxsLiBUaGlzIGlzIGEgbWFqb3IgbW9kZQorICAgICAgICAgIGZvciBlZGl0aW5nIHNnbWwgZmlsZXMgaW4gPGFwcGxpY2F0aW9uPkVtYWNzPC9hcHBsaWNhdGlvbj4uCisgICAgICAgIDwvcGFyYT4KKyAgICAgIDwvc2VjdDM+CisgICAgICAKKyAgICAgIDxzZWN0MyBpZD0iZ2Rwc3R5bGVzaGVldHMiPgorICAgICAgICA8dGl0bGU+R0RQIFN0eWxlc2hlZXRzPC90aXRsZT4KKyAgICAgICAgPHBhcmE+CisgICAgICAgICAgVGhlIEdEUCB1c2VzIGl0cyBvd24gRG9jQm9vayBzdHlsZXNoZWV0cy4gIFRvIHVzZSB0aGUgR0RQCisgICAgICAgICAgc3R5bGVzaGVldHMsIHlvdSBzaG91bGQgZG93bmxvYWQgdGhlIGZpbGUKKyAgICAgICAgICA8ZmlsZW5hbWU+Z2RwLWJvdGguZHNsPC9maWxlbmFtZT4gZnJvbSB0aGUgPGZpbGVuYW1lCisgICAgICAgICAgY2xhc3M9ImRpcmVjdG9yeSI+Z25vbWUtZG9jdS9nZHAvZHNzc2w8L2ZpbGVuYW1lPiBtb2R1bGUgaW4KKyAgICAgICAgICBDVlMgKG9yIGZyb20gPHVsaW5rCisgICAgICAgICAgdXJsPSJodHRwOi8vZGV2ZWxvcGVyLmdub21lLm9yZy9wcm9qZWN0cy9nZHAvc3R5bGVzaGVldHMuaHRtbCI+CisgICAgICAgICAgR0RQIEN1c3RvbSBEU1NTTCBTdHlsZXNoZWV0PC91bGluaz4pYW5kIGNvcHkgaXQKKzwhLS0gICAgICBpbnRvIDxmaWxlbmFtZQorICAgICAgICAgIGNsYXNzPSJkaXJlY3RvcnkiPi91c3IvbGliL3NnbWwvc3R5bGVzaGVldHM8L2ZpbGVuYW1lPi4gWW91CisgICAgICAgICAgd2lsbCBuZWVkIHRvIHBvaW50IERvY0Jvb2sgVG9vbHMgdG8gdGhpcyBzdHlsZXNoZWV0IHdpdGggdGhlCisgICAgICAgICAgPGNvbW1hbmQ+PG9wdGlvbj4tZDwvb3B0aW9uPjwvY29tbWFuZD4gb3B0aW9uOgorICAgICAgICAgIDxjb21tYW5kPmRiMmh0bWwgLWQgL3Vzci9saWIvc2dtbC9zdHlsZXNoZWV0cy9nZHAtYm90aC5kc2wKKyAgICAgICAgICA8cmVwbGFjZWFibGU+Zm9vLnNnbWw8L3JlcGxhY2VhYmxlPjwvY29tbWFuZD4uIChDcmVhdGluZyBhbgorICAgICAgICAgIGFsaWFzIHRvIGluY2x1ZGUgdGhpcyBvcHRpb24gYW5kIHBhdGggaXMgY29udmVuaWVudC4pCisgICAgICAgICAgQWx0ZXJuYXRlbHksIHlvdSBjb3VsZCBvdmVyd3JpdGUKKyAgICAgICAgICA8ZmlsZW5hbWU+L3Vzci9saWIvc2dtbC9zdHlsZXNoZWV0cy9jeWdudXMtYm90aC5kc2w8L2ZpbGVuYW1lPgorICAgICAgICAgIHdpdGggPGZpbGVuYW1lPmdkcC1ib3RoLmRzbDwvZmlsZW5hbWU+LgorLS0+CisgICAgICAgICAgb3ZlciB0aGUgZmlsZQorICAgICAgICAgIDxmaWxlbmFtZT4vdXNyL2xpYi9zZ21sL3N0eWxlc2hlZXRzL2N5Z251cy1ib3RoLmRzbDwvZmlsZW5hbWU+LgorICAgICAgICAgIEFsdGVybmF0ZWx5LCB5b3UgY2FuIGRvd25sb2FkIGFuZCBpbnN0YWxsIHRoZQorICAgICAgICAgIDx1bGluayB1cmw9Imh0dHA6Ly9wZW9wbGUucmVkaGF0LmNvbS9kY20vc29mdHdhcmUuaHRtbCIKKyAgICAgICAgICB0eXBlPSJodHRwIj5nbm9tZS1kb2MtdG9vbHMgcGFja2FnZTwvdWxpbms+IHdoaWNoIHdpbGwgc2V0CisgICAgICAgICAgdXAgdGhlIHN0eWxlc2hlZXRzIGFzIHdlbGwgYXMgdGhlIERURCBkaXNjdXNzZWQgYmVsb3cuCisgICAgICAgIDwvcGFyYT4KKworPCEtLSAgICAgICAgPG5vdGU+CisgICAgICAgICAgPHBhcmE+CisgICAgICAgICAgICBUaGUgY3VycmVudCB2ZXJzaW9uIG9mIHRoZSBEb2NCb29rIFRvb2xzIGNvbW1hbmQKKyAgICAgICAgICAgIDxjb21tYW5kPmRiMnBzPC9jb21tYW5kPiBkb2VzIG5vdCBoYXZlIGEKKyAgICAgICAgICAgIDxjb21tYW5kPjxvcHRpb24+LWQ8L29wdGlvbj48L2NvbW1hbmQ+IG9wdGlvbi4gSW4gb3JkZXIgdG8KKyAgICAgICAgICAgIGNyZWF0ZSBQb3N0U2NyaXB0IG91dHB1dCwgeW91IG11c3Qgb3ZlcndyaXRlCisgICAgICAgICAgICA8ZmlsZW5hbWU+L3Vzci9saWIvc2dtbC9zdHlsZXNoZWV0cy9jeWdudXMtYm90aC5kc2w8L2ZpbGVuYW1lPgorICAgICAgICAgICAgd2l0aCA8ZmlsZW5hbWU+Z2RwLWJvdGguZHNsPC9maWxlbmFtZT4uCisgICAgICAgICAgPC9wYXJhPgorICAgICAgICA8L25vdGU+CistLT4KKyAgICAgIDwvc2VjdDM+CisgICAgICAKKyAgICAgIDxzZWN0MyBpZD0iZ2RwZHRkIj4KKyAgICAgICAgPHRpdGxlPkdEUCBEVEQgKFBORyBJbWFnZSBTdXBwb3J0KTwvdGl0bGU+CisgICAgICAgIDxwYXJhPgorICAgICAgICAgIER1ZSB0byBzb21lIGxpY2Vuc2UgaXNzdWVzIGludm9sdmVkIHdpdGggdGhlIGNyZWF0aW9uIG9mCisgICAgICAgICAgZ2lmcywgdGhlIEdOT01FIERvY3VtZW50YXRpb24gUHJvamVjdCBoYXMgZGVjaWRlZCB0byB1c2UgdGhlCisgICAgICAgICAgUE5HIGltYWdlIGZvcm1hdCBmb3IgYWxsIGltYWdlcyBpbiBHTk9NRSBkb2N1bWVudGF0aW9uLiBZb3UKKyAgICAgICAgICBjYW4gcmVhZCBtb3JlIGFib3V0IHRoZSBpc3N1ZXMgaW52b2x2ZWQgd2l0aCBnaWZzIGF0IDx1bGluaworICAgICAgICAgIHVybD0iaHR0cDovL3d3dy5nbnUub3JnL3BoaWxvc29waHkvZ2lmLmh0bWwiCisgICAgICAgICAgdHlwZT0iaHR0cCI+aHR0cDovL3d3dy5nbnUub3JnL3BoaWxvc29waHkvZ2lmLmh0bWw8L3VsaW5rPi4KKyAgICAgICAgPC9wYXJhPgorICAgICAgICA8cGFyYT4KKyAgICAgICAgICBUaGUgY3VycmVudCBEb2NCb29rIERURCgzLjEpIGRvZXMgbm90IGluY2x1ZGUgc3VwcG9ydCBmb3IKKyAgICAgICAgICBlbWJlZGRpbmcgUE5HIGltYWdlcyBpbiB5b3VyIGRvY3VtZW50cy4gIFNpbmNlIHRoZSBHRFAgdXNlcworICAgICAgICAgIG1hbnkgc2NyZWVuc2hvdHMgaW4gaXRzIGRvY3VtZW50YXRpb24sIHdlIHVzZSBvdXIgb3duCisgICAgICAgICAgdmFyaWF0aW9uIG9uIHRoZSBEb2NCb29rIERURCB3aGljaCBoYXMgUE5HIGltYWdlIHN1cHBvcnQuCisgICAgICAgICAgV2UgZW5jb3VyYWdlIGV2ZXJ5Ym9keSB0byB1c2UgdGhpcyBEVEQgaW5zdGVhZCBvZiB0aGUKKyAgICAgICAgICBkZWZhdWx0IERvY0Jvb2sgRFREIHNpbmNlIHlvdXIgc291cmNlIGRvY3VtZW50IGhlYWRlciBhbmQKKyAgICAgICAgICB5b3VyIG91dHB1dCBkb2N1bWVudCBhcHBlYXJhbmNlIHN1YnRseSB2YXJ5IGJldHdlZW4gdGhlIHR3bworICAgICAgICAgIERURCdzLiAgVG8gaW5zdGFsbCB0aGUgR0RQIGN1c3RvbSBEVEQgd2l0aCBQTkcgaW1hZ2Ugc3VwcG9ydAorICAgICAgICAgIGJ5IGhhbmQ6CisgICAgICAgIDwvcGFyYT4KKyAgICAgICAgPGl0ZW1pemVkbGlzdCBtYXJrPSJvcGVuY2lyY2xlIj4KKyAgICAgICAgICA8bGlzdGl0ZW0+CisgICAgICAgICAgICA8cGFyYT4KKyAgICAgICAgICAgICAgRG93bmxvYWQgPHVsaW5rCisgICAgICAgICAgICAgIHVybD0iaHR0cDovL3d3dy5sYWJzLnJlZGhhdC5jb20vcG5nL3BuZy1zdXBwb3J0Lmh0bWwiPnRoZQorICAgICAgICAgICAgICBHRFAgRG9jQm9vayBEVEQgZm9yIFBORyBzdXBwb3J0PC91bGluaz4gYW5kIGluc3RhbGwgaXQKKyAgICAgICAgICAgICAgd2hlcmUgeW91IGtlZXAgeW91ciBEVEQncy4gKE9uIFJlZCBIYXQgdXNlIDxmaWxlbmFtZQorICAgICAgICAgICAgICBjbGFzcz0iZGlyZWN0b3J5Ij4vdXNyL2xpYi9zZ21sLzwvZmlsZW5hbWU+LikgTm90ZSB0aGF0CisgICAgICAgICAgICAgIHRoZSAzLjAgRFREIGlzIG1pc3Npbmcgc3VwcG9ydCBmb3IgdGhlCisgICAgICAgICAgICAgIDxzZ21sdGFnPiZsdDtsZWdhbG5vdGljZT48L3NnbWx0YWc+IHRhZywgc28gaXQgaXMKKyAgICAgICAgICAgICAgcmVjb21tZW5kZWQgdGhhdCB5b3UgdXNlIHZlcnNpb24gMy4xCisgICAgICAgICAgICA8L3BhcmE+CisgICAgICAgICAgPC9saXN0aXRlbT4KKyAgICAgICAgICA8bGlzdGl0ZW0gb3ZlcnJpZGU9ImJ1bGxldCI+CisgICAgICAgICAgICA8cGFyYT4KKyAgICAgICAgICAgICAgQWRkIHRoZSBuZXcgRFREIHRvIHlvdXIgU0dNTCBDQVRBTE9HIGZpbGUuICBUaGUgbG9jYXRpb24KKyAgICAgICAgICAgICAgb2YgeW91ciBTR01MIENBVEFMT0cgZmlsZSBtYXkgdmFyeSBkZXBlbmRpbmcgdXBvbiB5b3VyCisgICAgICAgICAgICAgIGRpc3RyaWJ1dGlvbi4gKE9uIFJlZCBIYXQgaXQgaXMgdXN1YWxseSBpbgorICAgICAgICAgICAgICAvdXNyL2xpYi9zZ21sL0NBVEFMT0cuKSBBZGQgdGhlIGZvbGxvd2luZyBsaW5lIHRvIHRoaXMKKyAgICAgICAgICAgICAgZmlsZToKKyAgICAgICAgICAgICAgPHByb2dyYW1saXN0aW5nPgorUFVCTElDICItLy9HTk9NRS8vRFREIERvY0Jvb2sgUE5HIFZhcmlhbnQgVjEuMC8vRU4iICJwbmctc3VwcG9ydC0zLjAuZHRkIgorICAgICAgICAgICAgICA8L3Byb2dyYW1saXN0aW5nPiAKKyAgICAgICAgICAgICAgSWYgeW91IGFyZSB1c2luZyB0aGUgMy4xIERURCwgdXNlOgorICAgICAgICAgICAgICA8cHJvZ3JhbWxpc3Rpbmc+CitQVUJMSUMgIi0vL0dOT01FLy9EVEQgRG9jQm9vayBQTkcgVmFyaWFudCBWMS4xLy9FTiIgInBuZy1zdXBwb3J0LTMuMS5kdGQiCisgICAgICAgICAgICAgIDwvcHJvZ3JhbWxpc3Rpbmc+IAorICAgICAgICAgICAgPC9wYXJhPgorICAgICAgICAgIDwvbGlzdGl0ZW0+CisgICAgICAgIDwvaXRlbWl6ZWRsaXN0PgorICAgICAgICA8cGFyYT4KKyAgICAgICAgICBBbHRlcm5hdGVseSwgeW91IGNhbiBkb3dubG9hZCBhbmQgaW5zdGFsbCB0aGUKKyAgICAgICAgICA8dWxpbmsgdXJsPSJodHRwOi8vcGVvcGxlLnJlZGhhdC5jb20vZGNtL3NvZnR3YXJlLmh0bWwiCisgICAgICAgICAgdHlwZT0iaHR0cCI+Z25vbWUtZG9jLXRvb2xzIHBhY2thZ2U8L3VsaW5rPiB3aGljaCB3aWxsIHNldAorICAgICAgICAgIHVwIHRoZSBjdXN0b20gc3R5bGVzaGVldHMgYW5kIERURCBmb3IgeW91LgorICAgICAgICA8L3BhcmE+CisgICAgICAgIDxwYXJhPgorICAgICAgICAgIFRvIGluY2x1ZGUgUE5HIGZpbGVzIGluIHlvdXIgZG9jdW1lbnRzLCB5b3Ugd2lsbCBuZWVkIHRvCisgICAgICAgICAgaW5kaWNhdGUgdGhhdCB5b3UgYXJlIHVzaW5nIHRoaXMgc3BlY2lhbCBEVEQuICBUbyBkbworICAgICAgICAgIHRoaXMsIHVzZSB0aGUgZm9sbG93aW5nIGhlYWRlcnM6CisgICAgICAgIDwvcGFyYT4KKyAgICAgICAgPHBhcmE+CisgICAgICAgICAgQXJ0aWNsZXM6CisgICAgICAgICAgPHByb2dyYW1saXN0aW5nPgorPCFbQ0RBVEFbPCFET0NUWVBFIEFydGljbGUgUFVCTElDICItLy9HTk9NRS8vRFREIERvY0Jvb2sgUE5HIFZhcmlhbnQKK1YxLjEvL0VOIltdPl1dPgorICAgICAgICAgIDwvcHJvZ3JhbWxpc3Rpbmc+CisgICAgICAgIDwvcGFyYT4KKyAgICAgICAgPHBhcmE+CisgICAgICAgICAgQm9va3M6CisgICAgICAgICAgPHByb2dyYW1saXN0aW5nPgorPCFbQ0RBVEFbPCFET0NUWVBFIEJvb2sgUFVCTElDICItLy9HTk9NRS8vRFREIERvY0Jvb2sgUE5HIFZhcmlhbnQKK1YxLjEvL0VOIltdPl1dPgorICAgICAgICAgIDwvcHJvZ3JhbWxpc3Rpbmc+CisgICAgICAgIDwvcGFyYT4KKworICAgICAgPC9zZWN0Mz4KKyAgICAgIAorICAgICAgPHNlY3QzIGlkPSJlZGl0b3JzIj4KKyAgICAgICAgPHRpdGxlPkVkaXRvcnM8L3RpdGxlPgorICAgICAgICA8cGFyYT4KKyAgICAgICAgICBUaGVyZSBhcmUgbWFueSBlZGl0b3JzIG9uIExpbnV4IGFuZCBVTklYIHN5c3RlbXMgYXZhaWxhYmxlCisgICAgICAgICAgdG8geW91LiBXaGljaCBlZGl0b3IgeW91IHVzZSB0byB3b3JrIG9uIHRoZSBzZ21sIGRvY3VtZW50cworICAgICAgICAgIGlzIGNvbXBsZXRlbHkgdXAgdG8geW91LCBhcyBsb25nIGFzIHRoZSBlZGl0b3IgaXMgYWJsZSB0bworICAgICAgICAgIHByZXNlcnZlIHNnbWwgYW5kIHByb2R1Y2UgdGhlIHNvdXJjZSBpbiBhIGZvcm1hdCB0aGF0IGlzCisgICAgICAgICAgcmVhZGFibGUgYnkgZXZlcnlvbmUuCisgICAgICAgIDwvcGFyYT4KKyAgICAgICAgPHBhcmE+CisgICAgICAgICAgUHJvYmFibHkgdGhlIHR3byBtb3N0IHBvcHVsYXIgZWRpdG9ycyBhdmFpbGFibGUgYXJlCisgICAgICAgICAgPGFwcGxpY2F0aW9uPkVtYWNzPC9hcHBsaWNhdGlvbj4gYW5kCisgICAgICAgICAgPGFwcGxpY2F0aW9uPnZpPC9hcHBsaWNhdGlvbj4uIFRoZXNlIGFuZCBvdGhlciBlZGl0b3JzIGFyZQorICAgICAgICAgIHVzZWQgcmVndWxhcmx5IGJ5IG1lbWJlcnMgb2YgdGhlIEdEUC4gRW1hY3MgaGFzIGEgbWFqb3IKKyAgICAgICAgICBtb2RlLCBwc2dtbCwgZm9yIGVkaXRpbmcgc2dtbCBmaWxlcyB3aGljaCBjYW4gc2F2ZSB5b3UgdGltZQorICAgICAgICAgIGFuZCBlZmZvcnQgaW4gYWRkaW5nIGFuZCBjbG9zaW5nIHRhZ3MuIFlvdSB3aWxsIGZpbmQgdGhlCisgICAgICAgICAgcHNnbWwgcGFja2FnZSBpbiBEb2NCb29rIFRvb2xzLCB3aGljaCBpcyB0aGUgc3RhbmRhcmQgc2V0IG9mCisgICAgICAgICAgdG9vbHMgZm9yIHRoZSBHRFAuIFlvdSBtYXkgZmluZCBvdXQgbW9yZSBhYm91dCBEb2NCb29rIFRvb2xzCisgICAgICAgICAgaW4gPHhyZWYgbGlua2VuZD0iaW5zdGFsbGluZ2RvY2Jvb2siIC8+LgorICAgICAgICA8L3BhcmE+CisgICAgICA8L3NlY3QzPgorICAgICAgCisgICAgICA8c2VjdDMgaWQ9Im1ha2Utb3V0cHV0Ij4KKyAgICAgICAgPHRpdGxlPkNyZWF0aW5nIFNvbWV0aGluZyBVc2VmdWwgd2l0aCB5b3VyIERvY3M8L3RpdGxlPgorICAgICAgICA8cGFyYT4KKyAgICAgICAgICBUaGUgdG9vbHMgYXZhaWxhYmxlIGluIERvY0Jvb2sgVG9vbHMgYWxsb3cgeW91IHRvIGNvbnZlcnQKKyAgICAgICAgICB5b3VyIHNnbWwgZG9jdW1lbnQgdG8gbWFueSBkaWZmZXJlbnQgZm9ybWF0cyBpbmNsdWRpbmcgaHRtbAorICAgICAgICAgIGFuZCBQb3N0c2NyaXB0LiBUaGUgcHJpbWFyeSB0b29sIHVzZWQgdG8gZG8gdGhlIGNvbnZlcnNpb24KKyAgICAgICAgICBpcyBhbiBhcHBsaWNhdGlvbiBjYWxsZWQgPGFwcGxpY2F0aW9uPkphZGU8L2FwcGxpY2F0aW9uPi4gSW4KKyAgICAgICAgICBtb3N0IGNhc2VzIHlvdSB3aWxsIG5vdCBoYXZlIHRvIHdvcmsgZGlyZWN0bHkgd2l0aAorICAgICAgICAgIDxhcHBsaWNhdGlvbj5KYWRlPC9hcHBsaWNhdGlvbj47IEluc3RlYWQsICB5b3Ugd2lsbCB1c2UgdGhlCisgICAgICAgICAgc2NyaXB0cyBwcm92aWRlZCBieSBEb2NCb29rIFRvb2xzLgorICAgICAgICA8L3BhcmE+CisgICAgICAgIDxwYXJhPgorICAgICAgICAgIFRvIHByZXZpZXcgeW91ciBEb2NCb29rIGRvY3VtZW50LCBpdCBpcyBlYXNpZXN0IHRvIGNvbnZlcnQKKyAgICAgICAgICBpdCB0byA8ZmlsZW5hbWU+aHRtbDwvZmlsZW5hbWU+LiBJZiB5b3UgaGF2ZSBpbnN0YWxsZWQgdGhlCisgICAgICAgICAgRG9jQm9vayB0b29scyBkZXNjcmliZWQgYWJvdmUsIGFsbCB5b3UgaGF2ZSB0byBkbyBpcyB0byBydW4KKyAgICAgICAgICB0aGUgY29tbWFuZCA8cHJvbXB0PiQ8L3Byb21wdD48Y29tbWFuZD5kYjJodG1sCisgICAgICAgICAgbXlkb2N1bWVudC5zZ21sPC9jb21tYW5kPi4gSWYgdGhlcmUgYXJlIG5vIHNnbWwgc3ludGF4CisgICAgICAgICAgZXJyb3JzLCB0aGlzIHdpbGwgY3JlYXRlIGEgZGlyZWN0b3J5IDxmaWxlbmFtZQorICAgICAgICAgIGNsYXNzPSJkaXJlY3RvcnkiPm15ZG9jdW1lbnQ8L2ZpbGVuYW1lPiBhbmQgcGxhY2UgdGhlCisgICAgICAgICAgcmVzdWx0aW5nIGh0bWwgZmlsZXMgaW4gaXQuIFRoZSB0aXRsZSBwYWdlIG9mIHRoZSBkb2N1bWVudAorICAgICAgICAgIHdpbGwgdHlwaWNhbGx5IGJlCisgICAgICAgICAgPGZpbGVuYW1lPm15ZG9jdW1lbnQvaW5kZXguaHRtbDwvZmlsZW5hbWU+LiAgSWYgeW91IGhhdmUKKyAgICAgICAgICBzY3JlZW5zaG90cyBpbiB5b3VyIGRvY3VtZW50LCB5b3Ugd2lsbCBoYXZlIHRvIGNvcHkgdGhlc2UKKyAgICAgICAgICBmaWxlcyBpbnRvIHRoZSA8ZmlsZW5hbWUKKyAgICAgICAgICBjbGFzcz0iZGlyZWN0b3J5Ij5teWRvY3VtZW50PC9maWxlbmFtZT4gZGlyZWN0b3J5IGJ5CisgICAgICAgICAgaGFuZC4gWW91IGNhbiB1c2UgYW55IHdlYiBicm93c2VyIHRvIHZpZXcgeW91ciBkb2N1bWVudC4KKyAgICAgICAgICBOb3RlIHRoYXQgZXZlcnkgdGltZSB5b3UgcnVuIDxjb21tYW5kPmRiMmh0bWw8L2NvbW1hbmQ+LCBpdAorICAgICAgICAgIGNyZWF0ZXMgdGhlIDxmaWxlbmFtZQorICAgICAgICAgIGNsYXNzPSJkaXJlY3RvcnkiPm15ZG9jdW1lbnQ8L2ZpbGVuYW1lPiBkaXJlY3Rvcnkgb3Zlciwgc28KKyAgICAgICAgICB5b3Ugd2lsbCBoYXZlIHRvIGNvcHkgdGhlIHNjcmVlbnNob3RzIG92ZXIgZWFjaCB0aW1lLgorICAgICAgICA8L3BhcmE+CisgICAgICAgIDxwYXJhPgorICAgICAgICAgIFlvdSBjYW4gYWxzbyBjb252ZXJ0IHlvdXIgZG9jdW1lbnQgdG8gUG9zdFNjcmlwdCBieSBydW5uaW5nCisgICAgICAgICAgdGhlIGNvbW1hbmQgPHByb21wdD4kPC9wcm9tcHQ+PGNvbW1hbmQ+ZGIycHMKKyAgICAgICAgICBteWRvY3VtZW50LnNnbWw8L2NvbW1hbmQ+LCBhZnRlciB3aGljaCB5b3UgY2FuIHByaW50IG91dCBvcgorICAgICAgICAgIHZpZXcgdGhlIHJlc3VsdGluZyAucHMgZmlsZS4gIAorICAgICAgICA8L3BhcmE+CisgICAgICAgIDxub3RlPgorICAgICAgICAgIDx0aXRsZT5OT1RFPC90aXRsZT4KKyAgICAgICAgICA8cGFyYT4KKyAgICAgICAgICAgIFRoZSBodG1sIGZpbGVzIHlvdSBnZXQgd2lsbCBub3QgbG9vayBxdWl0ZSB0aGUgc2FtZSBhcyB0aGUKKyAgICAgICAgICAgIGRvY3VtZW50YXRpb24gZGlzdHJpYnV0ZWQgd2l0aCBHTk9NRSB1bmxlc3MgeW91IGhhdmUgdGhlCisgICAgICAgICAgICBjdXN0b20gc3R5bGVzaGVldHMgaW5zdGFsbGVkIG9uIHlvdXIgbWFjaGluZS4gRG9jQm9vaworICAgICAgICAgICAgVG9vbHMnIGRlZmF1bHQgc3R5bGVzaGVldHMgd2lsbCBwcm9kdWNlIGEgZGlmZmVyZW50IGxvb2sKKyAgICAgICAgICAgIHRvIHlvdXIgZG9jcy4gWW91IGNhbiByZWFkIG1vcmUgYWJvdXQgdGhlIEdEUCBzdHlsZXNoZWV0cworICAgICAgICAgICAgaW4gPHhyZWYgbGlua2VuZD0iZ2Rwc3R5bGVzaGVldHMiIC8+LgorICAgICAgICAgIDwvcGFyYT4KKyAgICAgICAgPC9ub3RlPgorICAgICAgPC9zZWN0Mz4KKyAgICAgIAorICAgICAgPHNlY3QzIGlkPSJqYWRlaW1hZ2VzIj4KKyAgICAgICAgPHRpdGxlPkltYWdlcyBpbiBEb2NCb29rIFRvb2xzPC90aXRsZT4KKyAgICAgICAgPHBhcmE+CisgICAgICAgICAgSWYgeW91ciBkb2N1bWVudCB1c2VzIGltYWdlcyB5b3Ugd2lsbCBuZWVkIHRvIHRha2Ugbm90ZSBvZiBhCisgICAgICAgICAgZmV3IHRoaW5ncyB0aGF0IHNob3VsZCB0YWtlIHBsYWNlIGluIG9yZGVyIGZvciB5b3UgdG8gbWFrZQorICAgICAgICAgIHVzZSBvZiB0aG9zZSBpbWFnZXMgaW4geW91ciBvdXRwdXQuCisgICAgICAgIDwvcGFyYT4KKyAgICAgICAgPHBhcmE+CisgICAgICAgICAgVGhlIERvY0Jvb2sgVG9vbHMgc2NyaXB0cyBhbmQgYXBwbGljYXRpb25zIGFyZSBzbWFydCBlbm91Z2gKKyAgICAgICAgICB0byBrbm93IHRoYXQgd2hlbiB5b3UgYXJlIGNyZWF0aW5nIGh0bWwgeW91IHdpbGwgYmUgdXNpbmcKKyAgICAgICAgICBQTkcgZmlsZXMgYW5kIHdoZW4geW91IGFyZSBjcmVhdGluZyBQb3N0c2NyaXB0IHlvdSB3aWxsIGJlCisgICAgICAgICAgdXNpbmcgRVBTIGZpbGVzICh5b3UgbXVzdCB1c2UgRVBTIHdpdGggUG9zdHNjcmlwdCkuCisgICAgICAgIDwvcGFyYT4KKyAgICAgICAgPHBhcmE+CisgICAgICAgICAgVGh1cywgeW91IHNob3VsZCBuZXZlciBleHBsaWNpdGx5CisgICAgICAgICAgaW5jbHVkZSB0aGUgZXh0ZW5zaW9uIG9mIHRoZSBpbWFnZSBmaWxlLCBzaW5jZSBEb2NCb29rCisgICAgICAgICAgVG9vbHMgd2lsbCBhdXRvbWF0aWNhbGx5IGluc2VydCBpdCBmb3IgeW91LiBGb3IgZXhhbXBsZToKKyAgICAgICAgPC9wYXJhPgorICAgICAgICA8cHJvZ3JhbWxpc3Rpbmc+Cis8IVtDREFUQVsKKzxmaWd1cmU+CisgPHRpdGxlPk15IEltYWdlPC90aXRsZT4KKyA8c2NyZWVuc2hvdD4KKyAgPHNjcmVlbmluZm8+U2FtcGxlIEdOT01FIERpc3BsYXk8L3NjcmVlbmluZm8+CisgIDxncmFwaGljICBmb3JtYXQ9InBuZyIgZmlsZXJlZj0ibXlmaWxlIiBzcmNjcmVkaXQ9Im1lIj4KKyAgPC9ncmFwaGljPgorIDwvc2NyZWVuc2hvdD4KKzwvZmlndXJlPgorXV0+ICAgICA8L3Byb2dyYW1saXN0aW5nPgorICAgICAgICA8cGFyYT4KKyAgICAgICAgICBZb3Ugd2lsbCBub3RpY2UgaW4gdGhpcyBleGFtcGxlIHRoYXQgdGhlIGZpbGUKKyAgICAgICAgICA8ZmlsZW5hbWU+bXlmaWxlLnBuZzwvZmlsZW5hbWU+IHdhcyByZWZlcnJlZCB0byBhcyBzaW1wbHkKKyAgICAgICAgICA8ZmlsZW5hbWU+bXlmaWxlPC9maWxlbmFtZT4uIE5vdyB3aGVuIHlvdSBydW4KKyAgICAgICAgICA8Y29tbWFuZD5kYjJodG1sPC9jb21tYW5kPiB0byBjcmVhdGUgYW4gaHRtbCBmaWxlLCBpdCB3aWxsCisgICAgICAgICAgYXV0b21hdGljYWxseSBsb29rIGZvciA8ZmlsZW5hbWU+bXlmaWxlLnBuZzwvZmlsZW5hbWU+IGluCisgICAgICAgICAgdGhlIGRpcmVjdG9yeS4KKyAgICAgICAgPC9wYXJhPgorICAgICAgICA8cGFyYT4KKyAgICAgICAgICBJZiB5b3Ugd2FudCB0byBjcmVhdGUgUG9zdFNjcmlwdCBvdXB1dCwgeW91IHdpbGwgbmVlZCB0byBjcmVhdGUgYW4KKyAgICAgICAgICBFUFMgdmVyc2lvbiBvZiB5b3VyIGltYWdlIGZpbGUgdG8gYmUgZGlzcGxheWVkIGluIHRoZQorICAgICAgICAgIFBvc3RTY3JpcHQgZmlsZS4gVGhlcmUgaXMgYSBzaW1wbGUgc2NyaXB0IGF2YWlsYWJsZSB3aGljaAorICAgICAgICAgIGFsbG93cyB5b3UgdG8gY2hhbmdlIGEgUE5HIGltYWdlIGludG8gYW4gRVBTIGZpbGUKKyAgICAgICAgICBlYXNpbHkuIFlvdSBjYW4gZG93bmxvYWQgdGhpcyBmaWxlIC0gaW1nMmVwcyAtIGZyb20gPHVsaW5rCisgICAgICAgICAgdXJsPSJodHRwOi8vcGVvcGxlLnJlZGhhdC5jb20vZGNtL3NnbWwuaHRtbCIKKyAgICAgICAgICB0eXBlPSJodG1sIj5odHRwOi8vcGVvcGxlLnJlZGhhdC5jb20vZGNtL3NnbWwuaHRtbDwvdWxpbms+CisgICAgICAgICAgKGxvb2sgZm9yIHRoZSBpbWcyZXBzIHNlY3Rpb24pLiAgTm90ZSB0aGF0IHRoaXMgc2NyaXB0IGlzCisgICAgICAgICAgaW5jbHVkZWQgaW4gdGhlIGdub21lLWRvYy10b29scyBwYWNrYWdlLCBzbyBpZiB5b3UgYXJlIHVzaW5nCisgICAgICAgICAgdGhpcyBwYWNrYWdlLCB5b3Ugc2hvdWxkIGFscmVhZHkgaGF2ZQorICAgICAgICAgIDxjb21tYW5kPmltZzJlcHM8L2NvbW1hbmQ+IG9uIHlvdSBzeXN0ZW0uCisgICAgICAgIDwvcGFyYT4KKyAgICAgIDwvc2VjdDM+CisgICAgICAKKyAgICAgIDxzZWN0MyBpZD0ibW9yZWRvY2Jvb2tpbmZvIj4KKyAgICAgICAgPHRpdGxlPkxlYXJuaW5nIERvY0Jvb2s8L3RpdGxlPgorICAgICAgICA8cGFyYT4KKyAgICAgICAgICBUaGVyZSBhcmUgbWFueSByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IGxlYXJuIERvY0Jvb2suCisgICAgICAgICAgVGhlIGZvbGxvd2luZyByZXNvdXJjZXMgb24gdGhlIHdlYiBhcmUgdXNlZnVsIGZvciBsZWFybmluZworICAgICAgICAgIERvY0Jvb2s6CisgICAgICAgIDwvcGFyYT4KKyAgICAgICAgPGl0ZW1pemVkbGlzdCBtYXJrPSJidWxsZXQiPgorICAgICAgICAgIDxsaXN0aXRlbT4KKyAgICAgICAgICAgIDxwYXJhPgorICAgICAgICAgICAgICA8dWxpbmsgdXJsPSJodHRwOi8vd3d3LmRvY2Jvb2sub3JnIgorICAgICAgICAgICAgICB0eXBlPSJodHRwIj5odHRwOi8vd3d3LmRvY2Jvb2sub3JnPC91bGluaz4gIC0gTm9ybWFuCisgICAgICAgICAgICAgIFdhbHNoJ3MgPGNpdGV0aXRsZT5Eb2NCb29rOiBUaGUgRGVmaW5pdGl2ZQorICAgICAgICAgICAgICBHdWlkZTwvY2l0ZXRpdGxlPi4gIE9ubGluZSBPJ1JlaWxseSBib29rIG9uIHVzaW5nCisgICAgICAgICAgICAgIERvY0Jvb2suIENvbnRhaW5zIGFuIGV4Y2VsbGVudCBlbGVtZW50IHJlZmVyZW5jZS4gTWF5IGJlCisgICAgICAgICAgICAgIHRvbyBmb3JtYWwgZm9yIGEgYmVnaW5uZXIuCisgICAgICAgICAgICA8L3BhcmE+CisgICAgICAgICAgPC9saXN0aXRlbT4KKyAgICAgICAgICA8bGlzdGl0ZW0+CisgICAgICAgICAgICA8cGFyYT4KKyAgICAgICAgICAgICAgPHVsaW5rCisgICAgICAgICAgICAgIHVybD0iaHR0cDovL3d3dy5vc3dnLm9yZy9vc3dnLW5pZ2h0bHkvb3N3Zy9lbl9VUy5JU09fODg1OS0xL2FydGljbGVzL0RvY0Jvb2stSW50cm8vZG9jYm9vay1pbnRyby9pbmRleC5odG1sIgorICAgICAgICAgICAgICB0eXBlPSJodHRwIj5BIFByYWN0aWNhbCBJbnRyb2R1Y3Rpb24gdG8gRG9jQm9vazwvdWxpbms+CisgICAgICAgICAgICAgIC0gVGhlIE9wZW4gU291cmNlIFdyaXRlcnMgR3JvdXAncyBpbnRyb2R1Y3Rpb24gdG8gdXNpbmcKKyAgICAgICAgICAgICAgRG9jQm9vay4gVGhpcyBpcyBhbiBleGNlbGxlbnQgSE9XLVRPIHR5cGUgYXJ0aWNsZSBvbgorICAgICAgICAgICAgICBnZXR0aW5nIHN0YXJ0ZWQuCisgICAgICAgICAgICA8L3BhcmE+CisgICAgICAgICAgPC9saXN0aXRlbT4KKyAgICAgICAgICA8bGlzdGl0ZW0+CisgICAgICAgICAgICA8cGFyYT4KKyAgICAgICAgICAgICAgPHVsaW5rCisgICAgICAgICAgICAgIHVybD0iaHR0cDovL25pcy13d3cubGFubC5nb3YvfnJvc2FsaWEvbXlkb2NzL2RvY2Jvb2staW50cm8vZG9jYm9vay1pbnRyby5odG1sIgorICAgICAgICAgICAgICB0eXBlPSJodHRwIj5HZXR0aW5nIEdvaW5nIHdpdGggRG9jQm9vazogTm90ZXMgZm9yCisgICAgICAgICAgICAgIEhhY2tlcnM8L3VsaW5rPiAtIE1hcmsgR2FsYXNzaSdzIGludHJvZHVjdGlvbiB0byBEb2NCb29rCisgICAgICAgICAgICAgIGZvciBoYWNrZXJzLiBUaGlzIGhhcyB0byBiZSBvbmUgb2YgdGhlIGZpcnN0CisgICAgICAgICAgICAgIGludHJvZHVjdGlvbnMgdG8gRG9jQm9vayBldmVyIC0gc3RpbGwgYXMgZ29vZCBhcyBpdCBldmVyCisgICAgICAgICAgICAgIHdhcy4KKyAgICAgICAgICAgIDwvcGFyYT4KKyAgICAgICAgICA8L2xpc3RpdGVtPgorICAgICAgICAgIDxsaXN0aXRlbT4KKyAgICAgICAgICAgIDxwYXJhPgorICAgICAgICAgICAgICA8dWxpbmsgdHlwZT0iaHR0cCIgdXJsPSJodHRwOi8vd3d3LmZyZWVic2Qub3JnL3R1dG9yaWFscy9kb2Nwcm9qLXByaW1lci8iPgorICAgICAgICAgICAgICBGcmVlQlNEIERvY3VtZW50YXRpb24gUHJvamVjdCBQcmltZXIgZm9yIE5ldworICAgICAgICAgICAgICBDb250cmlidXRvcnM8L3VsaW5rPiAtIEZyZWVCU0QgZG9jdW1lbnRhdGlvbiBwcm9qZWN0CisgICAgICAgICAgICAgIHByaW1lci4gQ2hhcHRlciA0LjIgcHJvdmlkZXMgYSB2ZXJ5IGdvb2QgaW50cm9kdWN0aW9uIHRvCisgICAgICAgICAgICAgIHdyaXRpbmcgZG9jdW1lbnRhdGlvbiB1c2luZyBEb2NCb29rLiBOb3RlIHRoYXQgaXQgYWxzbworICAgICAgICAgICAgICBkZXNjcmliZXMgc29tZSBjdXN0b20gZXh0ZW5zaW9ucyBvZiBEb2NCb29rOworICAgICAgICAgICAgICBmb3J0dW5hdGVseSwgdGhleSBhcmUgY2xlYXJseSBtYXJrZWQgYXMgc3VjaC4KKyAgICAgICAgICAgIDwvcGFyYT4KKyAgICAgICAgICA8L2xpc3RpdGVtPgorICAgICAgICA8L2l0ZW1pemVkbGlzdD4KKyAgICAgICAgPHBhcmE+CisgICAgICAgICAgTm9ybWFuIFdhbHNoJ3MgYm9vayBpcyBhbHNvIGF2YWlsYWJsZSBpbiBwcmludC4KKyAgICAgICAgPC9wYXJhPgorICAgICAgICA8cGFyYT4KKyAgICAgICAgICBUaGUgZm9sbG93aW5nIHNlY3Rpb25zIG9mIHRoaXMgZG9jdW1lbnQgYXJlIGRlc2lnbmVkIHRvIGhlbHAKKyAgICAgICAgICBkb2N1bWVudGF0aW9uIGF1dGhvcnMgd3JpdGUgY29ycmVjdCBhbmQgY29uc2lzdGVudCBEb2NCb29rOgorICAgICAgICA8L3BhcmE+CisgICAgICAgIDxpdGVtaXplZGxpc3QgbWFyaz0iYnVsbGV0Ij4KKyAgICAgICAgICA8bGlzdGl0ZW0+CisgICAgICAgICAgICA8cGFyYT4KKyAgICAgICAgICAgICAgPHhyZWYgbGlua2VuZD0iZG9jYm9va2Jhc2ljcyIgLz4gLSBEZXNjcmlwdGlvbnMgb2YKKyAgICAgICAgICAgICAgY29tbW9ubHkgdXNlZCBEb2NCb29rIHRhZ3MuCisgICAgICAgICAgICA8L3BhcmE+CisgICAgICAgICAgPC9saXN0aXRlbT4KKyAgICAgICAgPC9pdGVtaXplZGxpc3Q+CisgICAgICAgIDxwYXJhPgorICAgICAgICAgIFlvdSBtYXkgYWxzbyBkaXNjdXNzIHNwZWNpZmljIERvY0Jvb2sgcXVlc3Rpb25zIHdpdGggR0RQCisgICAgICAgICAgbWVtYmVycyBvbiB0aGUgI2RvY3MgSVJDIGNoYW5uZWwgYXQgaXJjLmdub21lLm9yZyBhbmQgb24gdGhlCisgICAgICAgICAgZ25vbWUtZG9jLWxpc3QgbWFpbGluZyBsaXN0LgorICAgICAgICA8L3BhcmE+CisgICAgICA8L3NlY3QzPgorICAgIDwvc2VjdDI+CisgICAKKzwhLS0gIyMjIyMjIyBHZXR0aW5nIFN0YXJ0ZWQgfCBHRFAgRG9jdW1lbnQgRXhhbXBsZXMgIyMjIyMjIyAtLT4KKzwhLS0KKyAgICA8c2VjdDIgaWQ9ImV4YW1wbGVzIj4KKyAgICAgIDx0aXRsZT5HRFAgRG9jdW1lbnQgRXhhbXBsZXM8L3RpdGxlPgorICAgICAgPHBhcmE+CisgICAgICAgIEV4YW1wbGVzIG9mIHZhcmlvdXMgdHlwZXMgb2YgR05PTUUgZG9jdW1lbnRzIGFyZSBmb3VuZCBpbgorICAgICAgICA8eHJlZiBsaW5rZW5kPSJleGFtcGxlcyIgLz4uICBUaGVyZSBpcyBhbHNvIGFuIGV4YW1wbGUgR05PTUUKKyAgICAgICAgYXBwbGljYXRpb24gd2l0aCBkb2N1bWVudGF0aW9uIGNhbGxlZAorICAgICAgICA8YXBwbGljYXRpb24+Z25vbWUtaGVsbG88L2FwcGxpY2F0aW9uPiBpbiBHTk9NRSBjdnMuCisgICAgICA8L3BhcmE+CisgICAgPC9zZWN0Mj4KKy0tPgorPCEtLSAjIyMjIyMjIEdldHRpbmcgU3RhcnRlZCB8IEdEUCBEb2N1bWVudCBUZW1wbGF0ZXMgIyMjIyMjIyAtLT4KKworICAgIDxzZWN0MiBpZD0iZ2RwdGVtcGxhdGVzIj4KKyAgICAgIDx0aXRsZT5HRFAgRG9jdW1lbnQgVGVtcGxhdGVzPC90aXRsZT4KKyAgICAgIDxwYXJhPgorICAgICAgICBUZW1wbGF0ZXMgZm9yIHZhcmlvdXMgdHlwZXMgb2YgR05PTUUgZG9jdW1lbnRzIGFyZSBmb3VuZCBpbgorICAgICAgICA8eHJlZiBsaW5rZW5kPSJ0ZW1wbGF0ZXMiIC8+LiAgVGhleSBhcmUga2VwdCBpbiBDVlMgaW4KKyAgICAgICAgZ25vbWUtZG9jdS9nZHAvdGVtcGxhdGVzLiBUaGUgZWFzaWVzdCBzb3VyY2UgdG8gZ2V0IHRoZW0gZnJvbQorICAgICAgICBpcyBwcm9iYWJseSB0aGUgPHVsaW5rCisgICAgICAgIHVybD0iaHR0cDovL2RldmVsb3Blci5nbm9tZS5vcmcvcHJvamVjdHMvZ2RwL3RlbXBsYXRlcy5odG1sIiAKKyAgICAgICAgdHlwZT0iaHR0cCI+R0RQCisgICAgICAgIERvY3VtZW50IFRlbXBsYXRlczwvdWxpbms+IHdlYiBwYWdlLCB3aGljaCBpcyB0eXBpY2FsbHkga2VwdAorICAgICAgICBjb21wbGV0ZWx5IHVwLXRvLWRhdGUgd2l0aCBDVlMgYW5kIGhhcyBhIGJhc2ljIGRlc2NyaXB0aW9uIG9mCisgICAgICAgIGVhY2ggZmlsZSBmcm9tIENWUy4KKyAgICAgIDwvcGFyYT4KKyAgICA8L3NlY3QyPgorCis8IS0tICMjIyMjIyMgR2V0dGluZyBTdGFydGVkIHwgU2NyZWVuc2hvdHMgIyMjIyMjIyAtLT4KKworICAgIDxzZWN0MiBpZD0ic2NyZWVuc2hvdHMiPgorICAgICAgPHRpdGxlPlNjcmVlbnNob3RzPC90aXRsZT4KKyAgICAgIDxwYXJhPgorICAgICAgICBNb3N0IEdOT01FIGRvY3VtZW50cyB3aWxsIGhhdmUgc2NyZWVuc2hvdHMgb2YgdGhlIHBhcnRpY3VsYXIKKyAgICAgICAgYXBwbGV0LCBhcHBsaWNhdGlvbiwgR05PTUUgY29tcG9uZW50LCBvciB3aWRnZXQgYmVpbmcKKyAgICAgICAgZGlzY3Vzc2VkLiAgQXMgZGlzY3Vzc2VkIGFib3ZlIGluIDx4cmVmIGxpbmtlbmQ9ImdkcGR0ZCIvPiB5b3UKKyAgICAgICAgd2lsbCBuZWVkIHRvIGluc3RhbGwgdGhlIHNwZWNpYWwgR0RQIERvY0Jvb2sgRFREIHdoaWNoCisgICAgICAgIHN1cHBvcnRzIFBORyBpbWFnZXMsIHRoZSBmb3JtYXQgdXNlZCBmb3IgYWxsIGltYWdlcyBpbiBHTk9NRQorICAgICAgICBkb2N1bWVudGF0aW9uLiBGb3IgdGhlIGJhc2ljIERvY0Jvb2sgc3RydWN0dXJlIHVzZWQgdG8gaW5zZXJ0CisgICAgICAgIGltYWdlcyBpbiBhIGRvY3VtZW50LCBzZWUgPHhyZWYgbGlua2VuZD0iamFkZWltYWdlcyIvPiBhYm92ZS4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxzZWN0MyBpZD0ic2NyZWVuc2hvdGFwcGVhcmFuY2UiPgorICAgICAgICA8dGl0bGU+U2NyZWVuc2hvdCBBcHBlYXJhbmNlPC90aXRsZT4KKyAgICAgICAgPHBhcmE+CisgICAgICAgICAgRm9yIGFsbCBzY3JlZW5zaG90cyBvZiB3aW5kb3dzIHRoYXQgdHlwaWNhbGx5IGhhdmUgYm9yZGVyCisgICAgICAgICAgZGVjb3JhdGlvbnMgKGUuZy4gYXBwbGljYXRpb25zIGFuZCBkaWFsb2dzLCBidXQgbm90IGFwcGxldHMKKyAgICAgICAgICBpbiBhIDxpbnRlcmZhY2U+cGFuZWw8L2ludGVyZmFjZT4pLCBHRFAgc3RhbmRhcmRzIGRpY3RhdGUKKyAgICAgICAgICB0aGUgYXBwZWFyYW5jZSBvZiB0aGUgd2luZG93LiAgKFRoaXMgaXMgdG8gbWluaW1pemUgcG9zc2libGUKKyAgICAgICAgICBjb25mdXNpb24gdG8gdGhlIHJlYWRlciwgaW1wcm92ZSB0aGUgYXBwZWFyYW5jZSBvZiBHTk9NRQorICAgICAgICAgIGRvY3VtZW50cywgYW5kIGd1YXJhbnRlZSB0aGUgc2NyZWVuc2hvdCBpcyByZWFkYWJsZSB3aGVuCisgICAgICAgICAgcHJpbnRlZC4pIEFsbCBzY3JlZW5zaG90cyBzaG91bGQgYmUgdGFrZW4gd2l0aCB0aGUgU2F3RmlzaAorICAgICAgICAgIChmb3JtZXJseSBrbm93biBhcyBTYXdtaWxsKSB3aW5kb3cgbWFuYWdlciB1c2luZyB0aGUKKyAgICAgICAgICBNaWNyb0d1aSB0aGVtZSBhbmQgSGVsdmV0aWNhIDEycHQgZm9udC4gKEEgZGlmZmVyZW50IHdpbmRvdworICAgICAgICAgIG1hbmFnZXIgY2FuIGJlIHVzZWQgcHJvdmlkZWQgdGhlIE1pY3JvR3VpIHRoZW1lIGlzIGF2YWlsYWJsZQorICAgICAgICAgIGZvciB0aGlzIHdpbmRvdyBtYW5hZ2VyIGFuZCB0aGUgYXBwZWFyYW5jZSBpcyBpZGVudGljYWwgdG8KKyAgICAgICAgICB0aGF0IHdoZW4gdXNpbmcgdGhlIFNhd0Zpc2ggd2luZG93IG1hbmFnZXIuKSBUaGUgZGVmYXVsdAorICAgICAgICAgIEdUSysgdGhlbWUoZ3RrKSBhbmQgZm9udCAoSGVsdmV0aWNhIDEyIHB0KSBzaG91bGQgYmUgdXNlZAorICAgICAgICAgIGZvciBhbGwgc2NyZWVuc2hvdHMuICBJZiB5b3UgYXJlIHVuYWJsZSB0byBwcm92aWRlCisgICAgICAgICAgc2NyZWVuc2hvdHMgaW4gdGhpcyBmb3JtLCB5b3Ugc2hvdWxkIGNyZWF0ZSBzY3JlZW5zaG90cyBhcworICAgICAgICAgIHlvdSB3aXNoIHRoZW0gdG8gYXBwZWFyIGFuZCBzZW5kIHRoZW0gdG8gdGhlCisgICAgICAgICAgPHVsaW5rIHVybD0iaHR0cDovL21haWwuZ25vbWUub3JnL21haWxtYW4vbGlzdGluZm8vZ25vbWUtZG9jLWxpc3QvIj4KKyAgICAgICAgICA8Y2l0ZXRpdGxlPmdub21lLWRvYy1saXN0IG1haWxpbmcgbGlzdDwvY2l0ZXRpdGxlPiA8L3VsaW5rPgorICAgICAgICAgIHJlcXVlc3RpbmcgYSBHRFAgbWVtYmVyIHJlcHJvZHVjZSB0aGVzZSBzY3JlZW5zaG90cyBpbiB0aGUKKyAgICAgICAgICBjb3JyZWN0IGZvcm1hdCBhbmQgZW1haWwgdGhlbSB0byB5b3UuCisgICAgICAgIDwvcGFyYT4KKyAgICAgIDwvc2VjdDM+CisgICAgICA8c2VjdDMgaWQ9InNjcmVlbnNob3R0b29scyI+CisgICAgICAgIDx0aXRsZT5TY3JlZW5zaG90IFRvb2xzPC90aXRsZT4KKyAgICAgICAgPHBhcmE+CisgICAgICAgICAgVGhlcmUgYXJlIG1hbnkgdG9vbHMgZm9yIHRha2luZyBzY3JlZW5zaG90cyBpbgorICAgICAgICAgIEdOT01FL0xpbnV4LiBQZXJoYXBzIHRoZSBtb3N0IGNvbnZlbmllbnQgaXMgdGhlCisgICAgICAgICAgPGFwcGxpY2F0aW9uPlNjcmVlbi1TaG9vdGVyIEFwcGxldDwvYXBwbGljYXRpb24+LiBKdXN0IGNsaWNrCisgICAgICAgICAgb24gdGhlIHdpbmRvdyBpY29uIGluIHRoZSBhcHBsZXQgYW5kIHRoZW4gb24gdGhlIHdpbmRvdyB5b3UKKyAgICAgICAgICB3b3VsZCBsaWtlIHRvIHRha2UgYSBzY3JlZW5zaG90IG9mLiAoTm90ZSB0aGF0CisgICAgICAgICAgYXQgdGhlIHRpbWUgb2YgdGhpcyB3cml0aW5nLCBQTkcgaW1hZ2VzIHRha2VuIGJ5CisgICAgICAgICAgc2NyZWVuc2hvb3RlciBkbyBub3QgYXBwZWFyIHByb3Blcmx5IGluCisgICAgICAgICAgPGFwcGxpY2F0aW9uPk5ldHNjYXBlPC9hcHBsaWNhdGlvbj4gb3IgdGhlCisgICAgICAgICAgPGFwcGxpY2F0aW9uPkdOT01FIEhlbHAgQnJvd3NlcjwvYXBwbGljYXRpb24+LiAgWW91CisgICAgICAgICAgc2hvdWxkIHNhdmUgeW91ciBzY3JlZW5zaG90IGFzIGEgR0lGIGFuZAorICAgICAgICAgIHRoZW4gdXNlIDxjb21tYW5kPmNvbnZlcnQgZmlsZW5hbWUuZ2lmCisgICAgICAgICAgZmlsZW5hbWUucG5nPC9jb21tYW5kPi4pIEZvciBhcHBsZXRzCisgICAgICAgICAgaW4gYSA8aW50ZXJmYWNlPlBhbmVsPC9pbnRlcmZhY2U+LAorICAgICAgICAgIDxhcHBsaWNhdGlvbj54djwvYXBwbGljYXRpb24+IGNhbiBiZSB1c2VkIHRvIGNyb3AgdGhlCisgICAgICAgICAgc2NyZWVuc2hvdCB0byBvbmx5IGluY2x1ZGUgdGhlIHJlbGV2YW50IHBvcnRpb24gb2YgdGhlCisgICAgICAgICAgPGludGVyZmFjZT5QYW5lbDwvaW50ZXJmYWNlPi4gTm90ZSB0aGF0CisgICAgICAgICAgPGFwcGxpY2F0aW9uPnh2PC9hcHBsaWNhdGlvbj4gYW5kIAorICAgICAgICAgIDxhcHBsaWNhdGlvbj5naW1wPC9hcHBsaWNhdGlvbj4gY2FuIGJvdGggYmUgdXNlZCBmb3IgdGFraW5nCisgICAgICAgICAgc2NyZWVuc2hvdHMsIGNyb3BwaW5nIHNjcmVlbnNob3RzLCBhbmQgY29udmVydGluZyBpbWFnZQorICAgICAgICAgIGZvcm1hdHMuIAorICAgICAgICA8L3BhcmE+CisgICAgICA8L3NlY3QzPgorICAgICAgPHNlY3QzIGlkPSJzY3JlZW5zaG90ZmlsZXMiPgorICAgICAgICA8dGl0bGU+U2NyZWVuc2hvdCBGaWxlczwvdGl0bGU+CisgICAgICAgIDxwYXJhPgorICAgICAgICAgIFNjcmVlbnNob3RzIHNob3VsZCBiZSBrZXB0IGluIHRoZSBtYWluIGRvY3VtZW50YXRpb24KKyAgICAgICAgICBkaXJlY3Rvcnkgd2l0aCB5b3VyIFNHTUwgZmlsZSBmb3IgYXBwbGV0cywgb3Igc2hvdWxkIGJlCisgICAgICAgICAga2VwdCBpbiBhIGRpcmVjdG9yeSBjYWxsZWQgImZpZ3MiIGZvciBhcHBsaWNhdGlvbiBhbmQgb3RoZXIKKyAgICAgICAgICBkb2N1bWVudGF0aW9uLiAgQWZ0ZXIgeW91IHVzZSA8Y29tbWFuZD5kYjJodG1sPC9jb21tYW5kPiB0bworICAgICAgICAgIGNvbnZlcnQgeW91ciBTR01MIGZpbGUgdG8gSFRNTCAoc2VlIDx4cmVmCisgICAgICAgICAgbGlua2VuZD0ibWFrZS1vdXRwdXQiLz4pLCB5b3Ugd2lsbCBuZWVkIHRvIGNvcHkgeW91cgorICAgICAgICAgIHNjcmVlbnNob3RzIChlaXRoZXIgdGhlIGluZGl2aWR1YWwgUE5HIGZpbGVzIGZvciBhcHBsZXQKKyAgICAgICAgICBkb2N1bWVudGF0aW9uLCBvciB0aGUgd2hvbGUgImZpZ3MiIGRpcmVjdG9yeSBmb3Igb3RoZXIKKyAgICAgICAgICBkb2N1bWVudGF0aW9uKSBpbnRvIHRoZSBuZXdseSBjcmVhdGVkIEhUTUwgZGlyZWN0b3J5LiAgTm90ZQorICAgICAgICAgIHRoYXQgZXZlcnkgdGltZSB5b3UgdXNlIDxjb21tYW5kPmRiMmh0bWw8L2NvbW1hbmQ+IHRoZSBIVE1MCisgICAgICAgICAgZGlyZWN0b3J5IGlzIGVyYXNlZCBhbmQgcmV3cml0dGVuLCBzbyBkbyBub3Qgc3RvcmUgeW91ciBvbmx5CisgICAgICAgICAgY29weSBvZiB0aGUgc2NyZWVuc2hvdHMgaW4gdGhhdCBkaXJlY3RvcnkuICBJZiB5b3Ugd2lzaCB0bworICAgICAgICAgIGNyZWF0ZSBQb3N0U2NyaXB0IG9yIFBERiBvdXRwdXQsIHlvdSB3aWxsIG5lZWQgdG8gbWFudWFsbHkKKyAgICAgICAgICBjb252ZXJ0IHRoZSBQTkcgaW1hZ2VzIHRvIEVQUyBhcyBkZXNjcmliZWQgaW4gPHhyZWYKKyAgICAgICAgICBsaW5rZW5kPSJqYWRlaW1hZ2VzIi8+LCBidXQgd2lsbCBub3QgbmVlZCB0byBjb3B5IHRoZXNlCisgICAgICAgICAgaW1hZ2VzIGZyb20gdGhlaXIgZGVmYXVsdCBsb2NhdGlvbiwgYXMgdGhleSBhcmUgaW5jbHVkZWQKKyAgICAgICAgICBkaXJlY3RseSBpbnRvIHRoZSBvdXRwdXQoUG9zdFNjcmlwdCBvZiBQREYpIGZpbGUuCisgICAgICAgIDwvcGFyYT4KKyAgICAgIDwvc2VjdDM+CisgICAgPC9zZWN0Mj4KKworCis8IS0tICMjIyMjIyMgR2V0dGluZyBTdGFydGVkIHwgQXBwbGljYXRpb24gQnVncyAjIyMjIyMjIC0tPgorCisgICAgPHNlY3QyIGlkPSJhcHBsaWNhdGlvbmJ1Z3MiPgorICAgICAgPHRpdGxlPkFwcGxpY2F0aW9uIEJ1Z3M8L3RpdGxlPgorICAgICAgPHBhcmE+CisgICAgICAgIERvY3VtZW50YXRpb24gYXV0aG9ycyB0ZW5kIHRvIGludmVzdGlnYXRlIGFuZCB0ZXN0IGFwcGxldHMgYW5kCisgICAgICAgIGFwcGxpY2F0aW9ucyBtb3JlIHRob3JvdWdobHkgdGhhbiBtb3N0IAorICAgICAgICB1c2Vycy4gIE9mdGVuIGRvY3VtZW50YXRpb24gYXV0aG9ycyB3aWxsIGRpc2NvdmVyIG9uZSBvcgorICAgICAgICBtb3JlIGJ1Z3MgaW4gdGhlIHNvZnR3YXJlLiAgVGhlc2UgYnVncyB2YXJ5IGZyb20gc21hbGwgb25lcywKKyAgICAgICAgc3VjaCBhcyBtaXMtc3BlbGxlZCB3b3JkcyBvciBtaXNzaW5nCisgICAgICAgIDxpbnRlcmZhY2U+QWJvdXQ8L2ludGVyZmFjZT4gZGlhbG9ncyBpbiB0aGUgbWVudSwgdG8gbGFyZ2UKKyAgICAgICAgb25lcyB3aGljaCBjYXVzZSB0aGUgYXBwbGV0IHRvIGNyYXNoLiAgQXMgYWxsIHVzZXJzLCB5b3UKKyAgICAgICAgc2hvdWxkIGJlIHN1cmUgdG8gcmVwb3J0IHRoZXNlIGJ1Z3Mgc28gdGhhdCBhcHBsaWNhdGlvbgorICAgICAgICBkZXZlbG9wZXJzIGtub3cgb2YgdGhlbSBhbmQgY2FuIGZpeCB0aGVtLiAgVGhlIGVhc2llc3Qgd2F5IHRvCisgICAgICAgIHN1Ym1pdCBhIGJ1ZyByZXBvcnQgaXMgYnkgdXNpbmcgdGhlIDxhcHBsaWNhdGlvbj5CdWcKKyAgICAgICAgQnVkZHk8L2FwcGxpY2F0aW9uPiBhcHBsZXQgd2hpY2ggaXMgcGFydCBvZiB0aGUgZ25vbWUtYXBwbGV0cworICAgICAgICBwYWNrYWdlLiAgCisgICAgICA8L3BhcmE+CisgICAgPC9zZWN0Mj4KKworCis8IS0tICMjIyMjIyMgR2V0dGluZyBTdGFydGVkIHwgVXNpbmcgQ1ZTICAjIyMjIyMjIC0tPgorCisgICAgPHNlY3QyIGlkPSJjdnMiPgorICAgICAgPHRpdGxlPlVzaW5nIENWUzwvdGl0bGU+CisgICAgICA8cGFyYT4KKyAgICAgICAgQ1ZTIChDb25jdXJyZW50IFZlcnNpb25zIFN5c3RlbSkgaXMgYSB0b29sIHRoYXQgYWxsb3dzCisgICAgICAgIG11bHRpcGxlIGRldmVsb3BlcnMgdG8gY29uY3VycmVudGx5IHdvcmsgb24gYSBzZXQgb2YKKyAgICAgICAgZG9jdW1lbnRzLCBrZWVwaW5nIHRyYWNrIG9mIHRoZSBtb2RpZmljYXRpb25zIG1hZGUgYnkgZWFjaAorICAgICAgICBwZXJzb24uICBUaGUgZmlsZXMgYXJlIHN0b3JlZCBvbiBhIHNlcnZlciBhbmQgZWFjaCBkZXZlbG9wZXIKKyAgICAgICAgY2hlY2tzIGZpbGVzIG91dCwgbW9kaWZpZXMgdGhlbSwgYW5kIHRoZW4gY2hlY2tzIGluIHRoZWlyCisgICAgICAgIG1vZGlmaWVkIHZlcnNpb24gb2YgdGhlIGZpbGVzLiAgTWFueSBHTk9NRSBwcm9ncmFtcyBhbmQKKyAgICAgICAgZG9jdW1lbnRzIGFyZSBzdG9yZWQgaW4gQ1ZTLiAgVGhlIEdOT01FIENWUyBzZXJ2ZXIgYWxsb3dzCisgICAgICAgIHVzZXJzIHRvIGFub255bW91c2x5IGNoZWNrIG91dCBDVlMgZmlsZXMuIE1vc3QgR0RQIG1lbWJlcnMKKyAgICAgICAgd2lsbCBuZWVkIHRvIHVzZSBhbm9ueW1vdXMgQ1ZTIHRvIGRvd25sb2FkIHRoZSBtb3N0IHVwLXRvLWRhdGUKKyAgICAgICAgdmVyc2lvbiBvZiBkb2N1bWVudGF0aW9uIG9yIHByb2dyYW1zLiAgTW9kaWZpZWQgZG9jdW1lbnRzIHdpbGwKKyAgICAgICAgdHlwaWNhbGx5IGJlIGVtYWlsZWQgdG8gdGhlIHRoZSBhcHBsaWNhdGlvbiBkZXZlbG9wZXIuIENvcmUKKyAgICAgICAgR0RQIG1lbWJlcnMgbWF5IGFsc28gYmUgZ3JhbnRlZCBsb2dpbiBDVlMgcHJpdmlsZWdlcyBzbyB0aGV5CisgICAgICAgIG1heSBjb21taXQgbW9kaWZpZWQgZmlsZXMgZGlyZWN0bHkgdG8gQ1ZTLgorICAgICAgPC9wYXJhPgorCisgICAgICA8c2VjdDMgaWQ9ImFub255bW91c2N2cyI+CisgICAgICAgIDx0aXRsZT5Bbm9ueW1vdXMgQ1ZTPC90aXRsZT4KKyAgICAgICAgPHBhcmE+CisgICAgICAgICAgVG8gYW5vbnltb3VzbHkgY2hlY2sgb3V0IGRvY3VtZW50cyBmcm9tIENWUywgeW91IG11c3QgZmlyc3QKKyAgICAgICAgICBsb2cgaW4uICBGcm9tIHRoZSBiYXNoIHNoZWxsLCB5b3Ugc2hvdWxkIHNldCB5b3VyIENWU1JPT1QKKyAgICAgICAgICBzaGVsbCB2YXJpYWJsZSB3aXRoIDxjb21tYW5kPiAgZXhwb3J0CisgICAgICAgICAgQ1ZTUk9PVD0nOnBzZXJ2ZXI6YW5vbnltb3VzQGFub25jdnMuZ25vbWUub3JnOi9jdnMvZ25vbWUnPC9jb21tYW5kPgorICAgICAgICAgIGFuZCB0aGVuIGxvZ2luIHdpdGggPGNvbW1hbmQ+Y3ZzIGxvZ2luPC9jb21tYW5kPih0aGVyZSBpcyBubworICAgICAgICAgIHBhc3N3b3JkLCBqdXN0IGhpdCByZXR1cm4pLiBBcyBhbiBleGFtcGxlLCB3ZSB3aWxsIHVzZSB0aGUKKyAgICAgICAgICAiZ25vbWUtZG9jdS9nZHAiIG1vZHVsZSB3aGljaCBjb250YWlucyB0aGlzIGFuZCBzZXZlcmFsCisgICAgICAgICAgb3RoZXIgZG9jdW1lbnRzLiBUbyBjaGVjayB0aGVzZSBkb2N1bWVudHMgb3V0IGZvciB0aGUgZmlyc3QKKyAgICAgICAgICB0aW1lLCB0eXBlIDxjb21tYW5kPmN2cyAtejMgY2hlY2tvdXQKKyAgICAgICAgICBnbm9tZS1kb2N1L2dkcDwvY29tbWFuZD4uIEFmdGVyIHlvdSBoYXZlIHRoaXMgZG9jdW1lbnQKKyAgICAgICAgICBjaGVja2VkIG91dCBhbmQgeW91IHdvdWxkIGxpa2UgdG8gZG93bmxvYWQgYW55IHVwZGF0ZXMgb24KKyAgICAgICAgICB0aGUgQ1ZTIHNlcnZlciwgdXNlIDxjb21tYW5kPmN2cyAtejMgdXBkYXRlIC1QZDwvY29tbWFuZD4uCisgICAgICAgIDwvcGFyYT4KKyAgICAgIDwvc2VjdDM+CisKKyAgICAgIDxzZWN0MyBpZD0ibG9naW5jdnMiPgorICAgICAgICA8dGl0bGU+TG9naW4gQ1ZTPC90aXRsZT4gIDxwYXJhPiAgSWYgeW91IGhhdmUgYmVlbiBnaXZlbiBhCisgICAgICAgIGxvZ2luIGZvciB0aGUgR05PTUUgQ1ZTIHNlcnZlciwgIHlvdSBtYXkgY29tbWl0IHlvdXIgZmlsZQorICAgICAgICBtb2RpZmljYXRpb25zIHRvIENWUy4gIEJlIHN1cmUgdG8gcmVhZCB0aGUgZm9sbG93aW5nIHNlY3Rpb24KKyAgICAgICAgb24gQ1ZTIGV0aXF1ZXR0ZSBiZWZvcmUgbWFraW5nIGFueSBjb21taXRzIHRvIENWUy4gIFRvIGxvZyBpbgorICAgICAgICB0byB0aGUgQ1ZTIHNlcnZlciBhcyB1c2VyCisgICAgICAgIDxjb21tYW5kPjxyZXBsYWNlYWJsZT51c2VybmFtZTwvcmVwbGFjZWFibGU+PC9jb21tYW5kPiB3aXRoIGEKKyAgICAgICAgcGFzc3dvcmQsIHlvdSBtdXN0IGZpcnN0IHNldCB5b3VyIENWU1JPT1Qgc2hlbGwgdmFyaWFibGUgd2l0aAorICAgICAgICA8Y29tbWFuZD4gZXhwb3J0CisgICAgICAgIENWU1JPT1Q9Jzpwc2VydmVyOjxyZXBsYWNlYWJsZT51c2VybmFtZTwvcmVwbGFjZWFibGU+QGN2cy5nbm9tZS5vcmc6L2N2cy9nbm9tZSc8L2NvbW1hbmQ+LgorICAgICAgICBMb2cgaW4gd2l0aCA8Y29tbWFuZD5jdnMgbG9naW48L2NvbW1hbmQ+IGFuZCBlbnRlciB5b3VyCisgICAgICAgIHBhc3N3b3JkLiBZb3UgbWF5IGNoZWNrIG91dCBhbmQgdXBkYXRlIG1vZHVsZXMgYXMgZGVzY3JpYmVkCisgICAgICAgIGFib3ZlIGZvciBhbm9ueW1vdXMgQ1ZTIGFjY2Vzcy4gIEFzIGEgbG9naW4gQ1ZTIHVzZXIsIHlvdSBtYXkKKyAgICAgICAgYWxzbyBjaGVjayBtb2RpZmllZCB2ZXJzaW9ucyBvZiBhIGZpbGUgaW50byB0aGUgQ1ZTIHNlcnZlci4KKyAgICAgICAgVG8gY2hlY2sKKyAgICAgICAgPGNvbW1hbmQ+PHJlcGxhY2VhYmxlPmZpbGVuYW1lPC9yZXBsYWNlYWJsZT48L2NvbW1hbmQ+IGludG8KKyAgICAgICAgdGhlIENWUyBzZXJ2ZXIsIHR5cGUgPGNvbW1hbmQ+Y3ZzIC16MyBjb21taXQKKyAgICAgICAgPHJlcGxhY2VhYmxlPmZpbGVuYW1lPC9yZXBsYWNlYWJsZT48L2NvbW1hbmQ+LiBZb3Ugd2lsbCBiZQorICAgICAgICBnaXZlbiBhIHZpIGVkaXRvciB3aW5kb3cgdG8gdHlwZSBpbiBhIGJyaWVmIGxvZyBlbnRyeSwKKyAgICAgICAgc3VtbWFyaXppbmcgeW91ciBjaGFuZ2VzLiAgVGhlIGRlZmF1bHQgZWRpdG9yIGNhbiBiZSBjaGFuZ2VkCisgICAgICAgIHVzaW5nIHRoZSA8dmFybmFtZT5FRElUT1I8L3Zhcm5hbWU+IGVudmlyb25tZW50IHZhcmlhYmxlIG9yCisgICAgICAgIHdpdGggdGhlIDxjb21tYW5kPjxvcHRpb24+LWU8L29wdGlvbj48L2NvbW1hbmQ+IG9wdGlvbi4gWW91CisgICAgICAgIG1heSBhbHNvIGNoZWNrIGluIGFueSBtb2RpZmljYXRpb25zIHRvIGZpbGVzIGluIHRoZSB3b3JraW5nCisgICAgICAgIGRpcmVjdG9yeSBhbmQgc3ViZGlyZWN0b3JpZXMgdXNpbmcgPGNvbW1hbmQ+Y3ZzIC16MworICAgICAgICBjb21taXQ8L2NvbW1hbmQ+LiAgVG8KKyAgICAgICAgYWRkIGEgbmV3IGZpbGUgdG8gdGhlIENWUyBzZXJ2ZXIsIHVzZSA8Y29tbWFuZD5jdnMgLXozIGFkZAorICAgICAgICA8cmVwbGFjZWFibGU+ZmlsZW5hbWU8L3JlcGxhY2VhYmxlPjwvY29tbWFuZD4sIGZvbGxvd2VkIGJ5IHRoZQorICAgICAgICBjb21taXQgY29tbWFuZC4KKyAgICAgICAgPC9wYXJhPgorICAgICAgPC9zZWN0Mz4KKworICAgICAgPHNlY3QzIGlkPSJjdnNldGlxdWV0dGUiPgorICAgICAgICA8dGl0bGU+Q1ZTIEV0aXF1ZXR0ZTwvdGl0bGU+CisgICAgICAgIDxwYXJhPgorICAgICAgICAgIEJlY2F1c2UgZmlsZXMgaW4gQ1ZTIGFyZSB0eXBpY2FsbHkgdXNlZCBhbmQgbW9kaWZpZWQgYnkKKyAgICAgICAgICBtdWx0aXBsZSBkZXZlbG9wZXJzIGFuZCBkb2N1bWVudGF0aW9uIGF1dGhvcnMsIHVzZXJzIHNob3VsZAorICAgICAgICAgIGV4ZXJjaXNlIGEgZmV3IHNpbXBsZSBwcmFjdGljZXMgb3V0IG9mIGNvdXJ0ZXN5IHRvd2FyZHMgdGhlCisgICAgICAgICAgb3RoZXIgQ1ZTIHVzZXJzIGFuZCB0aGUgcHJvamVjdCBsZWFkZXIuICBGaXJzdCwgeW91IHNob3VsZAorICAgICAgICAgIG5vdCBtYWtlIENWUyBjb21taXRzIHRvIGEgcGFja2FnZSB3aXRob3V0IGZpcnN0IGRpc2N1c3NpbmcKKyAgICAgICAgICB5b3VyIHBsYW5zIHdpdGggdGhlIHByb2plY3QgbGVhZGVyLiAgVGhpcyB3YXksIHRoZSBwcm9qZWN0CisgICAgICAgICAgbGVhZGVyIGtub3dzIHdobyBpcyBtb2RpZnlpbmcgdGhlIGZpbGVzIGFuZCBnZW5lcmFsbHksIHdoYXQKKyAgICAgICAgICBzb3J0IG9mIGNoYW5nZXMvZGV2ZWxvcG1lbnQgaXMgYmVpbmcgZG9uZS4gIEFsc28sIHdoZW5ldmVyIGEKKyAgICAgICAgICBDVlMgdXNlciBjb21taXRzIGEgZmlsZSB0byBDVlMsIHRoZXkgc2hvdWxkIG1ha2UgYW4gZW50cnkgaW4KKyAgICAgICAgICB0aGUgQ1ZTIGxvZyBhbmQgaW4gdGhlIDxmaWxlbmFtZT5DaGFuZ2VMb2c8L2ZpbGVuYW1lPiBzbworICAgICAgICAgIHRoYXQgb3RoZXIgdXNlcnMga25vdyB3aG8gaXMgbWFraW5nIG1vZGlmaWNhdGlvbnMgYW5kIHdoYXQKKyAgICAgICAgICBpcyBiZWluZyBtb2RpZmllZC4gIFdoZW4gbW9kaWZ5aW5nIGZpbGVzIGNyZWF0ZWQgYnkgb3RoZXJzLAorICAgICAgICAgIHlvdSBzaG91bGQgZm9sbG93IHRoZSBpbmRlbnRhdGlvbiBzY2hlbWUgdXNlZCBieSB0aGUgaW5pdGlhbAorICAgICAgICAgIGF1dGhvci4KKyAgICAgICAgPC9wYXJhPgorICAgICAgPC9zZWN0Mz4KKyAgICA8L3NlY3QyPgorICA8L3NlY3QxPgorICAKKzwhLS0gIyMjIyMjIyMjIyMjIyMjIyMgVGhlIEdOT01FIERvY3VtZW50YXRpb24gU3lzdGVtIyMjIyMjIyMjIyMjIyMjCistLT4KKworICA8c2VjdDEgaWQ9Imdub21lZG9jc3lzdGVtIj4KKyAgICA8dGl0bGU+VGhlIEdOT01FIERvY3VtZW50YXRpb24gU3lzdGVtPC90aXRsZT4KKworPCEtLSAjIyMjIyMjIFRoZSBHTk9NRSBEb2N1bWVudGF0aW9uIFN5c3RlbSB8IFRoZSBHTk9NRSBIZWxwIEJyb3dzZXIKKyMjIyMjIyMgLS0+CisgICAgCisgICAgPHNlY3QyIGlkPSJnbm9tZWhlbHBicm93c2VyIj4KKyAgICAgIDx0aXRsZT5UaGUgR05PTUUgSGVscCBCcm93c2VyPC90aXRsZT4KKyAgICAgIDxwYXJhPgorICAgICAgICBBdCB0aGUgY29yZSBvZiB0aGUgR05PTUUgaGVscCBzeXN0ZW0gaXMgdGhlIDxhcHBsaWNhdGlvbj5HTk9NRQorICAgICAgICBIZWxwIEJyb3dzZXI8L2FwcGxpY2F0aW9uPi4gVGhlIDxhcHBsaWNhdGlvbj5IZWxwCisgICAgICAgIEJyb3dzZXI8L2FwcGxpY2F0aW9uPiBwcm92aWRlcyBhIHVuaWZpZWQgaW50ZXJmYWNlIHRvIHNldmVyYWwKKyAgICAgICAgZGlzdGluY3QgZG9jdW1lbnRhdGlvbiBzeXN0ZW1zIG9uIExpbnV4L1VuaXggc3lzdGVtczogbWFuCisgICAgICAgIHBhZ2VzLCB0ZXhpbmZvIHBhZ2VzLCBMaW51eCBEb2N1bWVudGF0aW9uIFByb2plY3QoTERQKQorICAgICAgICBkb2N1bWVudHMsIEdOT01FIGFwcGxpY2F0aW9uIGRvY3VtZW50YXRpb24sIGFuZCBvdGhlciBHTk9NRQorICAgICAgICBkb2N1bWVudHMuCisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgVGhlIDxhcHBsaWNhdGlvbj5HTk9NRSBIZWxwIEJyb3dzZXI8L2FwcGxpY2F0aW9uPiB3b3JrcyBieQorICAgICAgICBzZWFyY2hpbmcgc3RhbmRhcmQgZGlyZWN0b3JpZXMgZm9yIGRvY3VtZW50cyB3aGljaCBhcmUgdG8gYmUKKyAgICAgICAgcHJlc2VudGVkLiAgVGh1cywgdGhlIGRvY3VtZW50YXRpb24gdGhhdCBhcHBlYXJzIGluIHRoZSBHSEIgaXMKKyAgICAgICAgc3BlY2lmaWMgdG8gZWFjaCBjb21wdXRlciBhbmQgd2lsbCB0eXBpY2FsbHkgb25seSByZXByZXNlbnQKKyAgICAgICAgc29mdHdhcmUgdGhhdCBpcyBpbnN0YWxsZWQgb24gdGhlIGNvbXB1dGVyLgorICAgICAgPC9wYXJhPgorICAgIDwvc2VjdDI+CisKKzwhLS0gIyMjIyMjIyBUaGUgR05PTUUgRG9jdW1lbnRhdGlvbiBTeXN0ZW0gfCBUaGUgR05PTUUgSGVscCBCcm93c2VyCisjIyMjIyMjIC0tPgorCisgICAgPHNlY3QyIGlkPSJnbm9tZWhlbHBicm93c2VyMiI+CisgICAgICA8dGl0bGU+VGhlIEdOT01FIEhlbHAgQnJvd3NlciAoR05PTUUtMi4wKTwvdGl0bGU+IDxwYXJhPiBJbgorICAgICAgR05PTUUgMi4wLCB0aGUgPGFwcGxpY2F0aW9uPkdOT01FIEhlbHAgQnJvd3NlcjwvYXBwbGljYXRpb24+CisgICAgICB3aWxsIGJlIHJlcGxhY2VkIGJ5IDxhcHBsaWNhdGlvbj5OYXV0aWx1czwvYXBwbGljYXRpb24+LgorICAgICAgTmF1dGlsdXMgd2lsbCBiZSB0aGUgZmlsZSBtYW5hZ2VyL2dyYXBoaWNhbCBzaGVsbCBmb3IgR05PTUUgMi4wCisgICAgICBhbmQgd2lsbCBhbHNvIGltcGxlbWVudCBhIG1vcmUgc29waGlzdGljYXRlZCBoZWxwIHN5c3RlbSB0aGFuCisgICAgICB0aGF0IHVzZWQgYnkgdGhlIDxhcHBsaWNhdGlvbj5HTk9NRSBIZWxwIEJyb3dzZXI8L2FwcGxpY2F0aW9uPgorICAgICAgdXNlZCBpbiBHTk9NRSAxLjAuICBJdCB3aWxsIHJlYWQgYW5kIGRpc3BsYXkgRG9jQm9vayBmaWxlcworICAgICAgZGlyZWN0bHksIGF2b2lkaW5nIHRoZSBuZWVkIGZvciBkdXBsaWNhdGluZyBkb2N1bWVudHMgaW4gYm90aAorICAgICAgRG9jQm9vayBhbmQgSFRNTCBmb3JtYXRzLiAgSXRzIGRpc3BsYXkgZW5naW5lIGZvciBEb2NCb29rIHdpbGwKKyAgICAgIGJlIG11Y2ggZmFzdGVyIHRoYW4gcnVubmluZyA8YXBwbGljYXRpb24+amFkZTwvYXBwbGljYXRpb24+IHRvCisgICAgICBjb252ZXJ0IHRvIEhUTUwgZm9yIHJlbmRlcmluZy4gIEJlY2F1c2UgaXQgdXNlcyB0aGUgb3JpZ2luYWwKKyAgICAgIERvY0Jvb2sgc291cmNlIGZvciBkb2N1bWVudGF0aW9uLCBpdCB3aWxsIGJlIHBvc3NpYmxlIHRvIGRvIG1vcmUKKyAgICAgIHNvcGhpc3RpY2F0ZWQgc2VhcmNoaW5nIHVzaW5nIHRoZSBtZXRhIGluZm9ybWF0aW9uIGluY2x1ZGVkIGluCisgICAgICB0aGUgZG9jdW1lbnRzLiAgQW5kIHNpbmNlIE5hdXRpbHVzIGlzIGEgdmlydHVhbCBmaWxlIHN5c3RlbQorICAgICAgbGF5ZXIgd2hpY2ggaXMgSW50ZXJuZXQtY2FwYWJsZSwgaXQgd2lsbCBiZSBhYmxlIHRvIGZpbmQgYW5kCisgICAgICBkaXNwbGF5IGRvY3VtZW50cyB3aGljaCBhcmUgb24gdGhlIHdlYiBhcyB3ZWxsIGFzIHRob3NlIG9uIHRoZQorICAgICAgbG9jYWwgZmlsZSBzeXN0ZW0uIEZvciBtb3JlIGluZm9ybWF0aW9uIG9uCisgICAgICA8YXBwbGljYXRpb24+TmF1dGlsdXM8L2FwcGxpY2F0aW9uPiwgdmlzaXQgdGhlICNuYXV0aWx1cyBJUkMKKyAgICAgIGNoYW5uZWwgb24gaXJjLmdub21lLm9yZy4gIDwvcGFyYT4KKyAgICA8L3NlY3QyPgorCis8IS0tICMjIyMjIyMgVGhlIEdOT01FIERvY3VtZW50YXRpb24gU3lzdGVtIHwgR05PTUUgT24tVGhlLUZseQorRG9jdW1lbnRhdGlvbiBHZW5lcmF0aW9uICAjIyMjIyMjIC0tPgorICAgIAorICAgIDxzZWN0MiBpZD0iZ25vbWVoZWxwb250aGVmbHkiPgorICAgICAgPHRpdGxlPkR5bmFtaWMgRG9jdW1lbnQgU3ludGhlc2lzKEdOT01FLTIuMCk8L3RpdGxlPgorICAgICAgPHBhcmE+CisgICAgICAgIEdOT01FIHVzZXMgdGhlIGRvY3VtZW50YXRpb24gcHJlc2VudGVkIGJ5IGFsbCB0aGUgdmFyaW91cworICAgICAgICBHTk9NRSBjb21wb25lbnRzIGFuZCBhcHBsaWNhdGlvbnMgaW5zdGFsbGVkIG9uIHRoZSBzeXN0ZW0gdG8KKyAgICAgICAgcHJlc2VudCBhIGNvbXBsZXRlIGFuZCBjdXN0b21pemVkIGRvY3VtZW50YXRpb24gZW52aXJvbm1lbnQKKyAgICAgICAgZGVzY3JpYmluZyBvbmx5IGNvbXBvbmVudHMgd2hpY2ggYXJlIGN1cnJlbnRseSBpbnN0YWxsZWQgb24gYQorICAgICAgICB1c2VycyBzeXN0ZW0uICBTb21lIG9mIHRoaXMgZG9jdW1lbnRhdGlvbiwgc3VjaCBhcyB0aGUgbWFudWFscworICAgICAgICBmb3IgYXBwbGV0cywgd2lsbCBiZSBjb21iaW5lZCBpbiBzdWNoIGEgd2F5IHRoYXQgaXQgYXBwZWFycyB0bworICAgICAgICBiZSBhIHNpbmdsZSBkb2N1bWVudC4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBCeSB1c2luZyBzdWNoIGEgc3lzdGVtLCB5b3UgY2FuIGJlIHN1cmUgdGhhdCBhbnkgR05PTUUgYXBwIHlvdQorICAgICAgICBpbnN0YWxsIHRoYXQgaGFzIGRvY3VtZW50YXRpb24gd2lsbCBzaG93IHVwIGluIHRoZSBpbmRleCwKKyAgICAgICAgdGFibGUgb2YgY29udGVudHMsIGFueSBzZWFyY2ggeW91IGRvIGluIHRoZSBoZWxwIGJyb3dzZXIuCisgICAgICA8L3BhcmE+CisgICAgPC9zZWN0Mj4KKyAgICAKKzwhLS0gIyMjIyMjIyBUaGUgR05PTUUgRG9jdW1lbnRhdGlvbiBTeXN0ZW0gfCBUaGUgR05PTUUgRG9jdW1lbnRhdGlvbgorQ29tcG9uZW50cyAgIyMjIyMjIyAtLT4KKworICAgIDxzZWN0MiBpZD0iZ25vbWVoZWxwY29tcG9uZW50cyI+CisgICAgICA8dGl0bGU+VGhlIEdOT01FIERvY3VtZW50YXRpb24gQ29tcG9uZW50czwvdGl0bGU+CisKKyAgICAgIDxzZWN0MyBpZD0iYXBwbGljYXRpb25tYW51YWxzaW50cm8iPgorICAgICAgICA8dGl0bGU+QXBwbGljYXRpb24gTWFudWFsczwvdGl0bGU+CisgICAgICAgIDxwYXJhPgorICAgICAgICAgIEV2ZXJ5IEdOT01FIGFwcGxpY2F0aW9uIHNob3VsZCBoYXZlIGFuIGFwcGxpY2F0aW9uIG1hbnVhbC4KKyAgICAgICAgICBBbiBhcHBsaWNhdGlvbiBtYW51YWwgaXMgYSBkb2N1bWVudCBzcGVjaWZpYyB0byB0aGUKKyAgICAgICAgICBwYXJ0aWN1bGFyIGFwcGxpY2F0aW9uIHdoaWNoIGV4cGxhaW5zIHRoZSB2YXJpb3VzIHdpbmRvd3MKKyAgICAgICAgICBhbmQgZmVhdHVyZXMgb2YgdGhlIGFwcGxpY2F0aW9uLiAgQXBwbGljYXRpb24gTWFudWFscworICAgICAgICAgIHR5cGljYWxseSB1c2Ugc2NyZWVuc2hvdHMgKFBORyBmb3JtYXQpIGZvciBjbGFyaXR5LiAgV3JpdGluZworICAgICAgICAgIGFwcGxpY2F0aW9uIG1hbnVhbHMgaXMgZGlzY3Vzc2VkIGluIG1vcmUgZGV0YWlsIGluIDx4cmVmCisgICAgICAgICAgbGlua2VuZD0id3JpdGluZ2FwcGxpY2F0aW9ubWFudWFscyIgLz4gYmVsb3cuCisgICAgICAgIDwvcGFyYT4KKyAgICAgIDwvc2VjdDM+CisKKyAgICAgIDxzZWN0MyBpZD0iYXBwbGljYXRpb25oZWxwaW50cm8iPgorICAgICAgICA8dGl0bGU+QXBwbGljYXRpb24gSGVscDwvdGl0bGU+CisgICAgICAgIDxwYXJhPgorICAgICAgICAgIEFwcGxpY2F0aW9ucyBzaG91bGQgaGF2ZSBhIDxndWlidXR0b24+SGVscDwvZ3VpYnV0dG9uPgorICAgICAgICAgIGJ1dHRvbiBvbiBzY3JlZW5zIG9uIHdoaWNoIHVzZXJzIG1heSBuZWVkIGhlbHAuICBUaGVzZQorICAgICAgICAgIDxndWlidXR0b24+SGVscDwvZ3VpYnV0dG9uPiBidXR0b25zIHNob3VsZCBwdWxsIHVwIHRoZQorICAgICAgICAgIGRlZmF1bHQgaGVscCBicm93c2VyLCBkZXRlcm1pbmVkIGJ5IHRoZQorICAgICAgICAgIDx2YXJuYW1lPmdoZWxwPC92YXJuYW1lPiBVUkwgSGFuZGxlciAoY29uZmlndXJlZCB1c2luZyB0aGUKKyAgICAgICAgICA8YXBwbGljYXRpb24+Q29udHJvbCBDZW50ZXI8L2FwcGxpY2F0aW9uPiksIHR5cGljYWxseSB0aGUKKyAgICAgICAgICA8YXBwbGljYXRpb24+R05PTUUgSGVscCBCcm93c2VyPC9hcHBsaWNhdGlvbj4uICBUaGUgaGVscAorICAgICAgICAgIGJyb3dzZXIgc2hvdWxkIHNob3cgZWl0aGVyIHRoZSBmaXJzdCBwYWdlIG9mIHRoZSBhcHBsaWNhdGlvbgorICAgICAgICAgIG1hbnVhbCwgb3IgZWxzZSB0aGUgcmVsZXZhbnQgcGFnZSB0aGVyZW9mLiBBcHBsaWNhdGlvbiBoZWxwCisgICAgICAgICAgaXMgZGVzY3JpYmVkIGluIG1vcmUgZGV0YWlsIGluIDx4cmVmCisgICAgICAgICAgbGlua2VuZD0iYXBwbGljYXRpb25oZWxwYnV0dG9ucyIgLz4gYmVsb3cuCisgICAgICAgIDwvcGFyYT4KKyAgICAgIDwvc2VjdDM+CisKKyAgICAgIDxzZWN0MyBpZD0iY29udGV4dHNlbnNpdGl2ZWhlbHBpbnRybyI+CisgICAgICAgIDx0aXRsZT5BcHBsaWNhdGlvbiBDb250ZXh0IFNlbnNpdGl2ZSBIZWxwIChjb21pbmcgaW4KKyAgICAgICAgR05PTUUtMi4wKTwvdGl0bGU+CisgICAgICAgIDxwYXJhPgorICAgICAgICAgIENvbnRleHQgc2Vuc2l0aXZlIGhlbHAgaXMgYSBzeXN0ZW0gd2hpY2ggd2lsbCBhbGxvdyB0aGUgdXNlcgorICAgICAgICAgIHRvIHF1ZXJ5IGFueSBwYXJ0IChidXR0b24sIHdpZGdldCwgZXRjLikgb2YgYW4gYXBwbGljYXRpb24KKyAgICAgICAgICB3aW5kb3cuICBUaGlzIGlzIGRvbmUgYnkgZWl0aGVyIGVudGVyaW5nIGEgQ1MgSGVscCBtb2RlIGJ5CisgICAgICAgICAgY2xpY2tpbmcgb24gYW4gaWNvbiBvciBieSByaWdodCBjbGlja2luZyBvbiB0aGUgYXBwbGljYXRpb24KKyAgICAgICAgICBwYXJ0IGFuZCBzZWxlY3RpbmcgIldoYXQncyBUaGlzIiBvciB3aGF0ZXZlciBpcyBkZWNpZGVkIG9uCisgICAgICAgICAgYXQgdGhlIHRpbWUuICBDb250ZXh0IHNlbnNpdGl2ZSBoZWxwIGlzIGRlc2NyaWJlZCBpbiBtb3JlCisgICAgICAgICAgZGV0YWlsIGluIDx4cmVmIGxpbmtlbmQ9IndyaXRpbmdjb250ZXh0c2Vuc2l0aXZlaGVscCIgLz4KKyAgICAgICAgICBiZWxvdy4KKyAgICAgICAgPC9wYXJhPgorICAgICAgPC9zZWN0Mz4KKworICAgICAgPHNlY3QzIGlkPSJ1c2VyZ3VpZGUiPgorICAgICAgICA8dGl0bGU+VGhlIEdOT01FIFVzZXIgR3VpZGU8L3RpdGxlPgorICAgICAgICA8cGFyYT4KKyAgICAgICAgICBUaGUgPGNpdGV0aXRsZT5HTk9NRSBVc2VyIEd1aWRlPC9jaXRldGl0bGU+IGRlc2NyaWJlcyB0aGUKKyAgICAgICAgICBHTk9NRSBkZXNrdG9wIGVudmlyb25tZW50IGFuZCBjb3JlIGNvbXBvbmVudHMgb2YgR05PTUUgc3VjaAorICAgICAgICAgIGFzIHRoZSA8YXBwbGljYXRpb24+cGFuZWw8L2FwcGxpY2F0aW9uPiBhbmQKKyAgICAgICAgICA8YXBwbGljYXRpb24+Y29udHJvbCBjZW50ZXI8L2FwcGxpY2F0aW9uPi4gSW4gR05PTUUgMS54IHRoaXMKKyAgICAgICAgICB3YXMgdGhlIG1haW4gYW5kIG9ubHkgc291cmNlIG9mIGRvY3VtZW50YXRpb24uIEluIEdOT01FIDIuMAorICAgICAgICAgIHRoaXMgd2lsbCBiZWNvbWUgYSBkb2N1bWVudCBmb3IgdGhlIHdlYiBhbmQgZm9yIHByaW50aW5nCisgICAgICAgICAgdGhhdCBpcyBkZXJpdmVkIGZyb20gdmFyaW91cyBwYXJ0cyBjaG9zZW4gaW4gdGhlIHN5c3RlbSB0aGF0CisgICAgICAgICAgYXJlIG5lY2Vzc2FyeSBmb3IgdGhlIG5ldyB1c2VyIHRvIHVuZGVyc3RhbmQuCisgICAgICAgIDwvcGFyYT4KKyAgICAgIDwvc2VjdDM+CisKKyAgICAgIDxzZWN0MyBpZD0idXNlcmRvY3MiPgorICAgICAgICA8dGl0bGU+VXNlciBEb2N1bWVudHM8L3RpdGxlPgorICAgICAgICA8cGFyYT4KKyAgICAgICAgICBBc2lkZSBmcm9tIHRoZSA8Y2l0ZXRpdGxlPkdOT01FIFVzZXIgR3VpZGU8L2NpdGV0aXRsZT4sCisgICAgICAgICAgdGhlcmUgYXJlIHNldmVyYWwgb3RoZXIgZG9jdW1lbnRzIHRvIGhlbHAgR05PTUUgdXNlcnMgbGVhcm4KKyAgICAgICAgICBHTk9NRSwgaW5jbHVkaW5nIHRoZSA8Y2l0ZXRpdGxlPkdOT01FIEZBUTwvY2l0ZXRpdGxlPiwKKyAgICAgICAgICA8Y2l0ZXRpdGxlPkdOT01FIEluc3RhbGxhdGlvbiBhbmQgQ29uZmlndXJhdGlvbgorICAgICAgICAgIEd1aWRlPC9jaXRldGl0bGU+LCBhbmQgdGhlIDxjaXRldGl0bGU+R05PTUUgQWRtaW5pc3RyYXRvcnMKKyAgICAgICAgICBHdWlkZTwvY2l0ZXRpdGxlPi4KKyAgICAgICAgPC9wYXJhPgorICAgICAgPC9zZWN0Mz4KKworICAgICAgPHNlY3QzIGlkPSJkZXZlbG9wZXJkb2NzIj4KKyAgICAgICAgPHRpdGxlPkRldmVsb3BlciBEb2N1bWVudHM8L3RpdGxlPgorICAgICAgICA8cGFyYT4KKyAgICAgICAgICBUaGVyZSBhcmUgbWFueSBXaGl0ZSBQYXBlcnMsIFR1dG9yaWFscywgSE9XVE8ncyBhbmQgRkFRJ3MgdG8KKyAgICAgICAgICBtYWtlIHByb2dyYW1taW5nIEdOT01FIGFuZCBHTk9NRSBhcHBsaWNhdGlvbnMgYXMgZWFzeSBhcworICAgICAgICAgIHBvc3NpYmxlLgorICAgICAgICA8L3BhcmE+CisgICAgICAgIDxwYXJhPgorICAgICAgICAgIEFQSSBkb2N1bWVudGF0aW9uIGlzIGFsc28gYXZhaWxhYmxlIGZvciB0aGUgR05PTUUgbGlicmFyaWVzLiBUaGlzIGlzCisgICAgICAgICAgZGV0YWlsZWQgZG9jdW1lbnRhdGlvbiBvZiB0aGUgY29kZSB0aGF0IGlzIHVzZWQgdG8gYnVpbGQgR05PTUUKKyAgICAgICAgICBhcHBzLiBZb3UgY2FuIGtlZXAgdXAgd2l0aCB0aGUgR05PTUUgQVBJIGRvY3Mgb24gdGhlIDx1bGluaworICAgICAgICAgIHVybD0iaHR0cDovL2RldmVsb3Blci5nbm9tZS5vcmcvZG9jL0FQSS8iIHR5cGU9Imh0dHAiPkdOT01FIEFQSQorICAgICAgICAgIFJlZmVyZW5jZTwvdWxpbms+IHBhZ2UuCisgICAgICAgIDwvcGFyYT4KKyAgICAgIDwvc2VjdDM+CisKKyAgICAgIDxzZWN0MyBpZD0icHJvamVjdGRvY3MiPgorICAgICAgICA8dGl0bGU+UHJvamVjdCBEb2N1bWVudHM8L3RpdGxlPgorICAgICAgICA8cGFyYT4KKyAgICAgICAgICBTb21lIEdOT01FIHByb2plY3RzIGhhdmUgZG9jdW1lbnRhdGlvbiB0byBtYWludGFpbgorICAgICAgICAgIGNvbnNpc3RlbmN5IGluIHRoZWlyIHByb2R1Y3QgYW5kIHRvIGhlbHAgbmV3IGNvbnRyaWJ1dG9ycworICAgICAgICAgIGdldCB1cCB0byBzcGVlZCBxdWlja2x5LiBBbW9uZyB0aGVzZSBhcmUgdGhlIEdEUCBkb2N1bWVudHMsCisgICAgICAgICAgc3VjaCBhcyB0aGUgb25lIHlvdSBhcmUgcmVhZGluZyBub3cuCisgICAgICAgIDwvcGFyYT4KKyAgICAgIDwvc2VjdDM+CisgICAgPC9zZWN0Mj4KKyAgPC9zZWN0MT4KKyAgCisgIAorPCEtLSAjIyMjIyMjIyMjIyMjIyMjIyBEb2NCb29rIEJhc2ljcyAjIyMjIyMjIyMjIyMjIyMgLS0+CisKKyAgPHNlY3QxIGlkPSJkb2Nib29rYmFzaWNzIj4KKyAgICA8dGl0bGU+RG9jQm9vayBCYXNpY3MgPC90aXRsZT4gIAorPCEtLSAjIyMjIyMjIERvY0Jvb2sgQmFzaWNzIHwgSW50cm9kdWN0aW9uIHRvIERvY0Jvb2sgIyMjIyMjIyAtLT4KKworICAgIDxzZWN0MiBpZD0iaW50cm90b2RvY2Jvb2siPgorICAgICAgPHRpdGxlPkludHJvZHVjdGlvbiB0byBEb2NCb29rPC90aXRsZT4KKyAgICAgIDxwYXJhPgorICAgICAgICBUbyB1bmRlcnN0YW5kIERvY0Jvb2ssIGEgYmFzaWMgdW5kZXJzdGFuZGluZyBvZiBTR01MIGlzCisgICAgICAgIGhlbHBmdWwuIFNHTUwgc3RhbmRzIGZvciBTdGFuZGFyZCBHZW5lcmFsIE1hcmt1cCBMYW5ndWFnZSBhbmQKKyAgICAgICAgaXMgb25lIG9mIHRoZSBmaXJzdCBtYXJrdXAgbGFuZ3VhZ2VzIGV2ZXJ5IGNyZWF0ZWQuIEhUTUwgaXMKKyAgICAgICAgYWN0dWFsbHkgZGVyaXZlZCBmcm9tIFNHTUwgYW5kIFhNTCBpcyBhIHN1YnNldCBvZiBTR01MLiAgU0dNTAorICAgICAgICB1c2VzIHdoYXQgaXMgY2FsbGVkIGEgRG9jdW1lbnQgVHlwZSBEZWZpbml0aW9uIHRvIHNwZWNpZnkKKyAgICAgICAgPGVtcGhhc2lzPmVsZW1lbnRzPC9lbXBoYXNpcz4gd2hpY2ggYXJlIGNvbnRhaW5lZCBiZXR3ZWVuCisgICAgICAgIGJyYWNrZXRzLCAmbHQ7IGFuZCA+LiBUZXh0IGlzIG1hcmtlZCBieSBib3RoIGJlZ2lubmluZyBhbmQKKyAgICAgICAgZW5kaW5nIGVsZW1lbnRzLCBmb3IgZXhhbXBsZSBpbiB0aGUgRG9jQm9vayBEVEQsIG9uZSBkZW5vdGVzIGEKKyAgICAgICAgdGl0bGUgd2l0aCA8c2dtbHRhZz4mbHQ7dGl0bGU+PC9zZ21sdGFnPlRoZQorICAgICAgICBUaXRsZTxzZ21sdGFnPiZsdDsvdGl0bGU+PC9zZ21sdGFnPi4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBUaGUgRFREIChpbiB0aGUgY2FzZSBvZiB0aGUgR0RQLCBEb2NCb29rKSBkZWZpbmVzIHJ1bGVzIGZvciBob3cgdGhlCisgICAgICAgIGVsZW1lbnRzIGNhbiBiZSB1c2VkLiBGb3IgZXhhbXBsZSwgaWYgb25lIGVsZW1lbnQgY2FuIG9ubHkgYmUgdXNlZCB3aGVuCisgICAgICAgIGVtYmVkZGVkIHdpdGhpbiBhbm90aGVyLCB0aGlzIGlzIGRlZmluZWQgaW4gdGhlIERURC4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPiAKKwlBbiBTR01MIGZpbGUgaXMganVzdCBhIHBsYWluIEFTQ0lJIGZpbGUgY29udGFpbmluZyB0aGUgdGV4dAorCXdpdGggdGhlIG1hcmt1cCBzcGVjaWZpZWQgYWJvdmUuIFRvIGNvbnZlcnQgaXQgIHRvIHNvbWUgZWFzaWx5CisJcmVhZGFibGUgZm9ybWF0LCB5b3UgbmVlZCBzcGVjaWFsIHRvb2xzLiBUaGUgR0RQIHVzZXMgPGVtcGhhc2lzPkRvY0Jvb2sKKyAgICAgICAgVG9vbHM8L2VtcGhhc2lzPiwgYSBmcmVlIHBhY2thZ2Ugb2YgdXRpbGl0aWVzIGZvciB3b3JraW5nIHdpdGggRG9jQm9vaworICAgICAgICB3aGljaCBpbmNsdWRlcyA8ZW1waGFzaXM+SmFkZTwvZW1waGFzaXM+LCB3aGljaCBkb2VzIHRoZSBTR01ML0RTU0wKKyAgICAgICAgcGFyc2luZy4gWW91IGNhbiByZWFkIG1vcmUgYWJvdXQgRG9jQm9vayBUb29scyBpbiA8eHJlZgorICAgICAgICBsaW5rZW5kPSJpbnN0YWxsaW5nZG9jYm9vayIgLz4uIAorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIFRoZSBmaW5hbCBhcHBlYXJhbmNlIG9mIHRoZSBvdXRwdXQgKGUuZy4gUG9zdFNjcmlwdCBvciBIVE1MKQorICAgICAgICBpcyBkZXRlcm1pbmVkIGJ5IGEKKyAgICAgICAgPGVtcGhhc2lzPnN0eWxlc2hlZXQ8L2VtcGhhc2lzPi4gU3R5bGVzaGVldHMgYXJlIGZpbGVzLAorICAgICAgICB3cml0dGVuIGluIGEgc3BlY2lhbCBsYW5ndWFnZSAoRFNTU0wgJm1kYXNoOyBEb2N1bWVudCBTdHlsZQorICAgICAgICBTZW1hbnRpY3MgYW5kIFNwZWNpZmljYXRpb24gTGFuZ3VhZ2UpLCB3aGljaCAgc3BlY2lmeSB0aGUKKyAgICAgICAgYXBwZWFyYW5jZSBvZiB2YXJpb3VzIERvY0Jvb2sgZWxlbWVudHMsIGZvciBleGFtcGxlLAorICAgICAgICB3aGF0IGZvbnRzIHRvIHVzZSBmb3IgdGl0bGVzIGFuZCB2YXJpb3VzIGlubGluZSBlbGVtZW50cywgcGFnZQorICAgICAgICBudW1iZXJpbmcgc3R5bGUsIGFuZCBtdWNoIG1vcmUuIERvY0Jvb2sgdG9vbHMgY29tZSB3aXRoIGEKKyAgICAgICAgY29sbGVjdGlvbiBvZiBzdHlsZXNoZWV0cyAoTm9ybWFuIFdhbHNoJ3MgbW9kdWxhcgorICAgICAgICBzdHlsZXNoZWV0cyk7IEdOT01FIERvY3VtZW50IFByb2plY3QgdXNlcyBzb21lIGN1c3RvbWl6ZWQKKyAgICAgICAgdmVyc2lvbiBvZiB0aGlzIHN0eWxlc2hlZXRzICZtZGFzaDsgc2VlIDx4cmVmCisgICAgICAgIGxpbmtlbmQ9ImdkcHN0eWxlc2hlZXRzIi8+LiAgIAorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIFRoZSBhZHZhbnRhZ2Ugb2Ygc3BlY2lmeWluZyB0aGUgPGVtcGhhc2lzPnN0cnVjdHVyZTwvZW1waGFzaXM+CisgICAgICAgIG9mIGEgZG9jdW1lbnQgd2l0aCBTR01MIGluc3RlYWQgb2Ygc3BlY2lmeWluZyB0aGUKKyAgICAgICAgPGVtcGhhc2lzPmFwcGVhcmFuY2U8L2VtcGhhc2lzPiBvZiB0aGUgZG9jdW1lbnQgd2l0aCBhIHR5cGljYWwKKyAgICAgICAgd29yZCBwcm9jZXNzb3IsIG9yIHdpdGggaHRtbCwgaXMgdGhhdCB0aGUgcmVzdWx0aW5nIGRvY3VtZW50CisgICAgICAgIGNhbiBiZSBwcm9jZXNzZWQgaW4gYSB2YXJpZXR5IG9mIHdheXMgdXNpbmcgdGhlIHN0cnVjdHVyYWwKKyAgICAgICAgaW5mb3JtYXRpb24uICBXaGVyZWFzIGZvcm1hdHRpbmcgYSBkb2N1bWVudCBmb3IgYXBwZWFyYW5jZQorICAgICAgICBhc3N1bWVzIGEgbWVkaXVtICh0eXBpY2FsbHkgd3JpdHRlbiB0ZXh0IG9uIGEgc3RhbmRhcmQtc2l6ZWQKKyAgICAgICAgcGllY2Ugb2YgcGFwZXIpLCBTR01MIGNhbiBiZSBwcm9jZXNzZWQgdG8gcHJvZHVjZSBvdXRwdXQgZm9yIGEKKyAgICAgICAgbGFyZ2UgdmFyaWV0eSBvZiBtZWRpYSBzdWNoIGFzIHRleHQsIHBvc3RzY3JpcHQsIEhUTUwsCisgICAgICAgIEJyYWlsbGUsIGF1ZGlvLCBhbmQgcG90ZW50aWFsbHkgbWFueSBvdGhlciBmb3JtYXRzLgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIFVzaW5nICdjb250ZW50JyBhcyB0aGUgZWxlbWVudHMgdG8gZGVmaW5lIHRoZSB0ZXh0IG9mIGEgZG9jdW1lbnQgYWxzbworICAgICAgICBhbGxvd3MgZm9yIHNlYXJjaCBlbmdpbmVzIHRvIG1ha2UgdXNlIG9mIHRoZSBhY3R1YWwgZWxlbWVudHMgdG8gbWFrZSBhCisgICAgICAgICJzbWFydGVyIHNlYXJjaCIuIEZvciBleGFtcGxlLCBpZiB5b3UgYXJlIHNlYXJjaGluZyBmb3IgYWxsIGRvY3VtZW50cworICAgICAgICB3cml0dGVuIGJ5IHRoZSBhdXRob3IgIlN1c2llIiB5b3VyIHNlYXJjaCBlbmdpbmUgY291bGQgYmUgbWFkZSBzbWFydAorICAgICAgICBlbm91Z2ggdG8gb25seSBzZWFyY2ggJmx0O2F1dGhvcj4gZWxlbWVudHMsIG1ha2luZyBmb3IgYSBmYXN0ZXIgYW5kIG1vcmUKKyAgICAgICAgYWNjdXJhdGUgc2VhcmNoLgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIFNpbmNlIHRoZSBvdmVyYWxsIGFwcGVhcmFuY2Ugb2YgdGhlIG91dHB1dCBpcyBkZXRlcm1pbmVkIG5vdCBieSB0aGUgRFRECisgICAgICAgIG9yIHRoZSBTR01MIGRvY3VtZW50LCBidXQgcmF0aGVyIGJ5IGEgc3R5bGVzaGVldCwgdGhlIGFwcGVhcmFuY2Ugb2YgYQorICAgICAgICBkb2N1bWVudCBjYW4gYmUgZWFzaWx5IGNoYW5nZWQganVzdCBieSBjaGFuZ2luZyB0aGUgc3R5bGVzaGVldC4gVGhpcworICAgICAgICBhbGxvd3MgZXZlcnlvbmUgaW4gdGhlIHByb2plY3QgdG8gY3JlYXRlIGRvY3VtZW50cyB0aGF0IGFsbCBsb29rIHRoZQorICAgICAgICBzYW1lLgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIEFzIHN0YXRlZCBiZWZvcmUsIHRoZSBHRFAgdXNlcyB0aGUgRG9jQm9vayBEVEQuICBGb3IgYSBsaXN0IG9mCisgICAgICAgIGludHJvZHVjdG9yeSBhbmQgcmVmZXJlbmNlIHJlc291cmNlcyBvbiBEb2NCb29rLCBzZWUgPHhyZWYKKyAgICAgICAgbGlua2VuZD0icmVzb3VyY2VzIiAvPi4gIFRoZSBmb2xsb3dpbmcgc2VjdGlvbnMgYWxzbyBwcm92aWRlCisgICAgICAgIGNvbnZlbmllbnQgaW5zdHJ1Y3Rpb25zIG9uIHdoaWNoIG1hcmt1cCB0YWdzIHRvIHVzZSBpbiB2YXJpb3VzCisgICAgICAgIGNpcmN1bXN0YW5jZXMuICBCZSBzdXJlIHRvIHJlYWQgPHhyZWYgbGlua2VuZD0iY29udmVudGlvbnMiIC8+CisgICAgICAgIGZvciBHRFAgZG9jdW1lbnRhdGlvbi1zcGVjaWZpYyBndWlkZWxpbmVzLgorICAgICAgPC9wYXJhPgorICAgIDwvc2VjdDI+CisgICAgCisgPCEtLSAjIyMjIyMgIERvY0Jvb2sgQmFzaWNzIHwgWE1MIGFuZCBTR01MICAgICAgICMjIyMjIyMjLS0+IAorIDxzZWN0MiBpZD0ieG1sIj4KKyAgICAgIDx0aXRsZT5YTUwgYW5kIFNHTUw8L3RpdGxlPgorCisgICAgICA8cGFyYT4gSW4gbm90IHNvIGRpc3RhbnQgZnV0dXJlIChwcm9iYWJseSBiZWZvcmUgR05PTUUgMi4wKSwKKyAgICAgIERvY0Jvb2sgaXRzZWxmIGFuZCBHTk9NRSBEb2N1bWVudGF0aW9uIHByb2plY3Qgd2lsbCBtaWdyYXRlIGZyb20KKyAgICAgIFNHTUwgdG8gWE1MLiBUaGlzIHRyYW5zaXRpb24gc2hvdWxkIGJlIHJlbGF0aXZlbHkgcGFpbmxlc3M6CisgICAgICAoYWxtb3N0KSBhbGwgRG9jQm9vayB0YWdzIHdpbGwgcmVtYWluIHRoZSBzYW1lLiBIb3dldmVyLCBYTUwgaGFzCisgICAgICBzdHJpY3RlciBzeW50YXggcnVsZXMgdGhhbiBTR01MOyB0aHVzLCBzb21lIGNvbnN0cnVjdGlvbnMgd2hpY2gKKyAgICAgIGFyZSB2YWxpZCBpbiBTR01MIHdpbGwgbm90IGJlIHZhbGlkIGluIFhNTC4gVGhlcmVmb3JlLCB0byBiZQorICAgICAgcmVhZHkgZm9yIHRoaXMgdHJhbnNpc3Rpb24sIGl0IGlzIDxlbXBoYXNpcz5zdHJvbmdseQorICAgICAgYWR2aXNlZDwvZW1waGFzaXM+IHRoYXQgdGhlIGRvY3VtZW50YXRpb24gd3JpdGVycyBjb25mb3JtIHRvIFhNTAorICAgICAgc3ludGF4IHJ1bGVzLiBIZXJlIGFyZSBtb3N0IGltcG9ydGFudCBkaWZmZXJlbmNlczoKKyAgICAgIDwvcGFyYT4KKwkKKyAgICAgIDx2YXJpYWJsZWxpc3Q+CisJICA8dmFybGlzdGVudHJ5PgorCSAgICA8dGVybT4gPGVtcGhhc2lzPk1pbmltaXphdGlvbjwvZW1waGFzaXM+PC90ZXJtPiAKKwkgICAgPGxpc3RpdGVtPgorCSAgICAKKwkgICAgPHBhcmE+CisJICAgICAgSXQgaXMgcG9zc2libGUgd2l0aCBzb21lIGltcGxlbWVudGF0aW9ucyBvZiBTR01MIHRvIHVzZQorCSAgICAgIG1pbmltaXphdGlvbnMgdG8gY2xvc2UgZWxlbWVudHMgaW4gYSBkb2N1bWVudCBieSB1c2luZworCSAgICAgICZsdDsvPiwgZm9yIGV4YW1wbGU6CisJICAgICAgPGxpdGVyYWw+PHNnbWx0YWc+Jmx0O3RpdGxlPjwvc2dtbHRhZz5UaGUKKwkJVGl0bGU8c2dtbHRhZz4mbHQ7Lz48L3NnbWx0YWc+PC9saXRlcmFsPi4gVGhpcyBpcyBub3QKKyAgICAgICAgICAgICAgYWxsb3dlZCBpbiBYTUwuIFlvdSBjYW4gdXNlIDxjb21tYW5kPnNnbWxub3JtPC9jb21tYW5kPiBjb21tYW5kLAorICAgICAgICAgICAgICBpbmNsdWRlZCBpbiBEb2NCb29rIFRvb2xzIHBhY2thZ2UsIHRvIGV4cGFuZCBtaW5pbWl6ZWQgdGFnczsKKyAgICAgICAgICAgICAgaWYgeW91IGFyZSB1c2luZyA8YXBwbGljYXRpb24+RW1hY3M8L2FwcGxpY2F0aW9uPiB3aXRoIHBzZ21sCisgICAgICAgICAgICAgIG1vZGUsIHlvdSBjYW4gYWxzbyB1c2UgbWVudSBjb21tYW5kCisgICAgICAgICAgPG1lbnVjaG9pY2U+CisgICAgICAgICAgICAgPGd1aW1lbnU+TW9kaWZ5PC9ndWltZW51PgorICAgICAgICAgICAgIDxndWltZW51aXRlbT5Ob3JtYWxpemU8L2d1aW1lbnVpdGVtPgorICAgICAgICAgIDwvbWVudWNob2ljZT4uCisgICAgICAgICA8L3BhcmE+IAorCSAgICA8L2xpc3RpdGVtPgorCSAgICA8L3Zhcmxpc3RlbnRyeT4KKwkgIDx2YXJsaXN0ZW50cnk+CisJICAgIDx0ZXJtPiA8ZW1waGFzaXM+U2VsZi1jbG9zaW5nIHRhZ3M8L2VtcGhhc2lzPjwvdGVybT4gCisJICAgIDxsaXN0aXRlbT4KKyAKKyAgICAgICAgIDxwYXJhPgorICAgICAgICAgICAgQWxzbywgaW4gU0dNTCBzb21lIHRhZ3MgYXJlIGFsbG93ZWQgbm90IHRvIGhhdmUgY2xvc2luZworICAgICAgICAgICAgdGFncy4gIEZvciBleGFtcGxlLCBpdCBpcyBsZWdhbCBmb3IKKyAgICAgICAgICAgIDxzZ21sdGFnPiZsdDt4cmVmPjwvc2dtbHRhZz4gbm90IHRvIGhhdmUgYSBjbG9zaW5nIHRhZzogCisgICAgICAgICAgICA8bGl0ZXJhbD48c2dtbHRhZz4mbHQ7eHJlZiAKKyAgICAgICAgICAgICAgICAgICBsaW5rZW5kPSJzb21laWQiPjwvc2dtbHRhZz48L2xpdGVyYWw+LiBJbgorICAgICAgICAgICAgWE1MLCBpdCBpcyBpbGxlZ2FsOyBpbnN0ZWFkLCB5b3Ugc2hvdWxkIHVzZSAgCisgICAgICAgICAgICA8bGl0ZXJhbD48c2dtbHRhZz4mbHQ7eHJlZiAKKyAgICAgICAgICAgICAgICAgICBsaW5rZW5kPSJzb21laWQiLz48L3NnbWx0YWc+PC9saXRlcmFsPiAobm90ZSB0aGUKKyAgICAgICAgICAgIHNsYXNoISkuCisgICAgICAgICAgPC9wYXJhPiAKKyAgPC9saXN0aXRlbT4KKyAgPC92YXJsaXN0ZW50cnk+CisKKwk8dmFybGlzdGVudHJ5PgorCSAgICA8dGVybT4gPGVtcGhhc2lzPkNhc2Ugc2Vuc2l0aXZlIHRhZ3M8L2VtcGhhc2lzPjwvdGVybT4gCisJICAgIDxsaXN0aXRlbT4KKwkgICAgPHBhcmE+CisJICAgICAgSW4gWE1MLCB1bmxpa2UgU0dNTCwgdGFncyBhcmUgY2FzZS1zZW5zdGl2ZQorCSAgICAgIDxzZ21sdGFnPiZsdDt0aXRsZT48L3NnbWx0YWc+IGFuZAorCSAgICAgIDxzZ21sdGFnPiZsdDtUSVRMRT48L3NnbWx0YWc+IGFyZSBkaWZmZXJlbnQgdGFncyEKKwkgICAgICBUaGVyZWZvcmUsIHBsZWFzZSBhbHdheXMgdXNlIGxvd2VyY2FzZSB0YWdzIChleGNlcHQgZm9yCisJICAgICAgdGhpbmdzIGxpa2UgPGxpdGVyYWw+RE9DVFlQRSwgQ0RBVEE8L2xpdGVyYWw+IGFuZAorCSAgICAgIDxsaXRlcmFsPkVOVElUWTwvbGl0ZXJhbD4sIHdoaWNoIGFyZSBub3QgRG9jQm9vayB0YWdzKS4gCisJICAgIDwvcGFyYT4KKwkgIDwvbGlzdGl0ZW0+CisJPC92YXJsaXN0ZW50cnk+CisKKworCis8L3ZhcmlhYmxlbGlzdD4gCis8L3NlY3QyPgorCisKKworICAgIDwhLS0gIyMjIyMjIyBEb2NCb29rIEJhc2ljcyB8IFN0cnVjdHVyZSBFbGVtZW50cyAjIyMjIyMjIC0tPgorCisgICAgCisgICAgPHNlY3QyIGlkPSJzdHJ1Y3R1cmUiPiA8dGl0bGU+IFN0cnVjdHVyZSBFbGVtZW50czwvdGl0bGU+CisKKyAgICAgIDxzZWN0MyBpZD0ic2VjdGlvbiI+CisgICAgICAgIDx0aXRsZT5TZWN0aW9ucyBhbmQgcGFyYWdyYXBoczwvdGl0bGU+CisgICAgICAgIDxwYXJhPgorICAgICAgICAgIFRvcC1sZXZlbCBlbGVtZW50IG9mIGEgYm9vayBib2R5IG11c3QgYmUKKyAgICAgICAgICA8c2dtbHRhZz4mbHQ7Y2hhcHRlcj48L3NnbWx0YWc+OyBpdCBtYXkgY29udGFpbiBvbmUgb3IgbW9yZQorICAgICAgICAgIDxzZ21sdGFnPiZsdDtzZWN0MT48L3NnbWx0YWc+LCBlYWNoIG9mIHRoZW0gbWF5IGNvbnRhaW4KKyAgICAgICAgICA8c2dtbHRhZz4mbHQ7c2VjdDI+PC9zZ21sdGFnPiBhbmQgc28gb24gdXAgdG8KKyAgICAgICAgICA8c2dtbHRhZz4mbHQ7c2VjdDU+PC9zZ21sdGFnPi4gVGhlIHRvcC1sZXZlbCBlbGVtZW50IG9mIGFuCisgICAgICAgICAgYXJ0aWNsZSBib2R5IGlzIGFsd2F5cworICAgICAgICAgIDxzZ21sdGFnPiZsdDtzZWN0MT48L3NnbWx0YWc+LiBSZWdhcmRsZXNzIG9mIHdoaWNoIGVsZW1lbnRzCisgICAgICAgICAgeW91IHVzZSwgZ2l2ZSBlYWNoIHN0cnVjdHVyYWwgZWxlbWVudCBhIHVuaXF1ZSBpZCwgc28gdGhhdAorICAgICAgICAgIHlvdSBjYW4gbGluayB0byBpdC4gRm9yIHVzYWdlIGV4YW1wbGUsIHNlZSB0aGUgdGVtcGxhdGUuCisgICAgICAgIDwvcGFyYT4KKyAgICAgICAgPHBhcmE+IFBsZWFzZSB0cnkgdG8gYXZvaWQgdXNpbmcgZGVlcGx5IG5lc3RlZCBzZWN0aW9uczsgZm9yCisgICAgICAgICAgbW9zdCBzaXR1YXRpb25zLCA8c2dtbHRhZz4mbHQ7c2VjdDE+PC9zZ21sdGFnPiBhbmQKKyAgICAgICAgICA8c2dtbHRhZz4mbHQ7c2VjdDI+PC9zZ21sdGFnPiBzaG91bGQgYmUgc3VmZmljaWVudC4gSWYgbm90LAorICAgICAgICAgIHlvdSBwcm9iYWJseSBzaG91bGQgc3BsaXQgeW91ciA8c2dtbHRhZz4mbHQ7c2VjdDE+PC9zZ21sdGFnPgorICAgICAgICAgIGludG8gc2V2ZXJhbCBzbWFsbGVyIG9uZXMuCisgICAgICAgIDwvcGFyYT4KKyAgICAgICAgPHBhcmE+IFVzZSB0aGUgdGFnIDxzZ21sdGFnPiZsdDtwYXJhPjwvc2dtbHRhZz4gZm9yCisgICAgICAgICAgcGFyYWdyYXBocywgZXZlbiBpZiB0aGVyZSBpcyBvbmx5IG9uZSBwYXJhZ3JhcGggaW4gYQorICAgICAgICAgIHNlY3Rpb24mbWRhc2g7c2VlIHRlbXBsYXRlIGZvciBleGFtcGxlcy4KKyAgICAgICAgPC9wYXJhPgorICAgICAgPC9zZWN0Mz4KKworICAgICAgPHNlY3QzIGlkPSJub3RlcyI+CisgICAgICAgIDx0aXRsZT5Ob3RlcywgV2FybmluZ3MsIEFuZCBUaXBzPC90aXRsZT4KKyAgICAgICAgPHBhcmE+CisgICAgICAgICAgRm9yIG5vdGVzLCB0aXBzLCB3YXJuaW5ncywgYW5kIGltcG9ydGFudCBpbmZvcm1hdGlvbiwgd2hpY2gKKyAgICAgICAgICBzaG91bGQgYmUgc2V0IGFwYXJ0IGZyb20gdGhlIG1haW4gdGV4dCAodXN1YWxseSBhcyBhCisgICAgICAgICAgcGFyYWdyYXBoIHdpdGggc29tZSB3YXJuaW5nIHNpZ24gb24gdGhlIG1hcmdpbiksIHVzZSB0YWdzCisgICAgICAgICAgPHNnbWx0YWc+Jmx0O25vdGU+PC9zZ21sdGFnPiwgPHNnbWx0YWc+Jmx0O3RpcD48L3NnbWx0YWc+LAorICAgICAgICAgIDxzZ21sdGFnPiZsdDt3YXJuaW5nPjwvc2dtbHRhZz4sCisgICAgICAgICAgPHNnbWx0YWc+Jmx0O2ltcG9ydGFudD48L3NnbWx0YWc+IHJlc3BlY3RpdmVseS4gRm9yIGV4YW1wbGU6CisgICAgICAgICAgPHByb2dyYW1saXN0aW5nPgorPCFbQ0RBVEFbCis8dGlwPgorIDx0aXRsZT5USVA8L3RpdGxlPgorIDxwYXJhPgorICBUbyBzcGVlZCB1cCBwcm9ncmFtIGNvbXBpbGF0aW9uLCB1c2UgPGFwcGxpY2F0aW9uPmdjYzwvYXBwbGljYXRpb24+CisgIGNvbXBpbGVyIHdpdGggUGVudGl1bSBvcHRpbWl6YXRpb24uCisgPC9wYXJhPgorPC90aXA+XV0+IDwvcHJvZ3JhbWxpc3Rpbmc+ICBwcm9kdWNlcworICAgICAgICA8L3BhcmE+CisgICAgICAgIDx0aXAgaWQ9ImV4dGlwIj4KKyAgICAgICAgICA8dGl0bGU+VElQPC90aXRsZT4KKyAgICAgICAgICA8cGFyYT4KKyAgICAgICAgICAgIFRvIHNwZWVkIHVwIHByb2dyYW0gY29tcGlsYXRpb24sIHVzZQorICAgICAgICAgICAgPGFwcGxpY2F0aW9uPmdjYzwvYXBwbGljYXRpb24+IGNvbXBpbGVyIHdpdGggUGVudGl1bQorICAgICAgICAgICAgb3B0aW1pemF0aW9uLiAgPC9wYXJhPgorICAgICAgICA8L3RpcD4KKyAgICAgICAgPHBhcmE+CisgICAgICAgICAgTm90ZSB0aGF0IHRoaXMgc2hvdWxkIG5vdCBiZSBpbnNpZGUgYQorICAgICAgICAgIDxzZ21sdGFnPiZsdDtwYXJhPjwvc2dtbHRhZz4gYnV0IGJldHdlZW4gcGFyYWdyYXBocy4KKyAgICAgICAgPC9wYXJhPgorICAgICAgPC9zZWN0Mz4KKyAgICAgIDxzZWN0MyBpZD0iZmlndXJlcyI+CisgICAgICAgIDx0aXRsZT4gU2NyZWVuc2hvdHMgYW5kIG90aGVyIGZpZ3VyZXM8L3RpdGxlPgorICAgICAgICA8cGFyYT4KKyAgICAgICAgICBUbyBpbmNsdWRlIHNjcmVlbnNob3RzIGFuZCBvdGhlciBmaWd1cmVzLCB1c2UgdGhlIGZvbGxvd2luZworICAgICAgICAgIHRhZ3M6CisgICAgICAgICAgCisgICAgICAgICAgPHByb2dyYW1saXN0aW5nPgorPCFbQ0RBVEFbCis8ZmlndXJlIGlkPSJzaG90MSI+CisgPHRpdGxlPlNjcmVlbnNob3Q8L3RpdGxlPgorIDxzY3JlZW5zaG90PgorICA8c2NyZWVuaW5mbz5TY3JlZW5zaG90IG9mIGEgcHJvZ3JhbTwvc2NyZWVuaW5mbz4KKyAgPGdyYXBoaWMgZm9ybWF0PSJQTkciICBmaWxlcmVmPSJmaWd1cmVzL2V4YW1wbGVfc2NyZWVuc2hvdCIgc3JjY3JlZGl0PSJNRSI+CisgIDwvZ3JhcGhpYz4KKyA8L3NjcmVlbnNob3Q+Cis8L2ZpZ3VyZT5dXT4KKyAgICAgICAgICA8L3Byb2dyYW1saXN0aW5nPgorICAgICAgICAgIHJlcGxhY2luZyA8ZmlsZW5hbWU+ZXhhbXBsZV9zY3JlZW5zaG90PC9maWxlbmFtZT4gd2l0aCB0aGUKKyAgICAgICAgICBhY3R1YWwgZmlsZSBuYW1lICh3aXRob3V0IGV4dGVuc2lvbikuIFRoZSByZXN1bHQgd2lsbCBsb29rIGxpa2UgdGhpczoKKyAgICAgICAgICAKKyAgICAgICAgICA8ZmlndXJlIGlkPSJzaG90MSI+CisgICAgICAgICAgICA8dGl0bGU+U2NyZWVuc2hvdDwvdGl0bGU+CisgICAgICAgICAgICA8c2NyZWVuc2hvdD4KKyAgICAgICAgICAgICAgPHNjcmVlbmluZm8+U2NyZWVuc2hvdCBvZiBhIHByb2dyYW08L3NjcmVlbmluZm8+CisgICAgICAgICAgICAgIDxncmFwaGljIGZvcm1hdD0iUE5HIgorCQkgICAgICAgZmlsZXJlZj0iZmlndXJlcy9leGFtcGxlX3NjcmVlbnNob3QiIHNyY2NyZWRpdD0iTUUiLz4KKyAgICAgICAgICAgICAgCisgICAgICAgICAgICA8L3NjcmVlbnNob3Q+CisgICAgICAgICAgPC9maWd1cmU+CisgICAgICAgIDwvcGFyYT4KKyAgICAgICAgPG5vdGU+CisgICAgICAgICAgPHRpdGxlPk5PVEU8L3RpdGxlPgorICAgICAgICAgIDxwYXJhPgorICAgICAgICAgICAgTm90aWNlIGluIHRoaXMgZXhhbXBsZSB0aGF0IHRoZSBzY3JlZW5zaG90IGZpbGUgbmFtZSBkb2VzCisgICAgICAgICAgICBub3QgaW5jbHVkZSB0aGUgZmlsZSB0eXBlIGV4dGVuc2lvbiAmbWRhc2g7IHRvIGZpbmQgb3V0CisgICAgICAgICAgICB3aHksIHBsZWFzZSByZWFkIDx4cmVmIGxpbmtlbmQ9ImphZGVpbWFnZXMiIC8+LgorICAgICAgICAgIDwvcGFyYT4KKyAgICAgICAgPC9ub3RlPiAgICAgICAgICAKKyAgICAgIDwvc2VjdDM+CisgICAgICA8c2VjdDMgaWQ9Imxpc3RpbmciPgorICAgICAgICA8dGl0bGU+UHJvZ3JhbSBsaXN0aW5ncyBhbmQgdGVybWluYWwgc2Vzc2lvbjwvdGl0bGU+IDxwYXJhPgorICAgICAgICAgIFRvIHNob3cgYSBmaWxlIGZyYWdtZW50Jm1kYXNoO2ZvciBleGFtcGxlLCBwcm9ncmFtCisgICAgICAgICAgbGlzdGluZyZtZGFzaDt1c2UgPHNnbWx0YWc+Jmx0O3Byb2dyYW1saXN0aW5nPjwvc2dtbHRhZz4gdGFnOgorICAgICAgICAgIDxwcm9ncmFtbGlzdGluZz4KKzwhW0NEQVRBWworPHByb2dyYW1saXN0aW5nPgorW0Rlc2t0b3AgRW50cnldIAorTmFtZT1HbnVtZXJpYyBzcHJlYWRzaGVldAorRXhlYz1nbnVtZXJpYyAKK0ljb249Z25vbWUtZ251bWVyaWMucG5nIAorVGVybWluYWw9MAorVHlwZT1BcHBsaWNhdGlvbgorPC9wcm9ncmFtbGlzdGluZz5dXT4KKyAgICAgICAgICA8L3Byb2dyYW1saXN0aW5nPgorICAgICAgICAgIHdoaWNoIHByb2R1Y2VzCisgICAgICAgICAgPHByb2dyYW1saXN0aW5nPgorW0Rlc2t0b3AgRW50cnldIAorTmFtZT1HbnVtZXJpYyBzcHJlYWRzaGVldCAKK0V4ZWM9Z251bWVyaWMKK0ljb249Z25vbWUtZ251bWVyaWMucG5nIAorVGVybWluYWw9MCAKK1R5cGU9QXBwbGljYXRpb24KKyAgICAgICAgICA8L3Byb2dyYW1saXN0aW5nPgorICAgICAgICAgIEFzIGEgbWF0dGVyIG9mIGZhY3QsIGFsbCBleGFtcGxlcyBpbiB0aGlzIGRvY3VtZW50IHdlcmUKKyAgICAgICAgICBwcm9kdWNlZCB1c2luZyA8c2dtbHRhZz4mbHQ7cHJvZ3JhbWxpc3Rpbmc+PC9zZ21sdGFnPi4KKyAgICAgICAgPC9wYXJhPgorICAgICAgICA8cGFyYT4KKyAgICAgICAgICBUbyBzaG93IGEgcmVjb3JkIG9mIHRlcm1pbmFsIHNlc3Npb24mbWRhc2g7aS5lLiwgc2VxdWVuY2Ugb2YKKyAgICAgICAgICBjb21tYW5kcyBlbnRlcmVkIGF0IHRoZSBjb21tYW5kIGxpbmUmbWRhc2g7dXNlCisgICAgICAgICAgPHNnbWx0YWc+Jmx0O3NjcmVlbj48L3NnbWx0YWc+IHRhZzoKKyAgICAgICAgICA8cHJvZ3JhbWxpc3Rpbmc+Cis8IVtDREFUQVsKKzxzY3JlZW4+Cis8cHJvbXB0PmJhc2gkPC9wcm9tcHQ+PHVzZXJpbnB1dD5tYWtlIGxvdmU8L3VzZXJpbnB1dD4gCittYWtlOiAqKiogTm8gcnVsZSB0byBtYWtlIHRhcmdldCBgbG92ZScuIFN0b3AuCis8L3NjcmVlbj5dXT4KKyAgICAgICAgICA8L3Byb2dyYW1saXN0aW5nPgorICAgICAgICAgIHdoaWNoIHByb2R1Y2VzCisgICAgICAgICAgPHNjcmVlbj4KKzxwcm9tcHQ+YmFzaCQ8L3Byb21wdD48dXNlcmlucHV0Pm1ha2UgbG92ZTwvdXNlcmlucHV0PiAgCittYWtlOiAqKiogTm8gcnVsZSB0byBtYWtlIHRhcmdldCBgbG92ZScuICBTdG9wLgorICAgICAgICAgIDwvc2NyZWVuPgorICAgICAgICAgIE5vdGUgdGhlIHVzZSBvZiB0YWdzIDxzZ21sdGFnPiZsdDtwcm9tcHQ+PC9zZ21sdGFnPiBhbmQKKyAgICAgICAgICA8c2dtbHRhZz4mbHQ7dXNlcmlucHV0Pjwvc2dtbHRhZz4gZm9yIG1hcmtpbmcgc3lzdGVtIHByb21wdAorICAgICAgICAgIGFuZCBjb21tYW5kcyBlbnRlcmVkIGJ5IHVzZXIuCisgICAgICAgICAgPG5vdGU+CisgICAgICAgICAgICA8dGl0bGU+Tk9URTwvdGl0bGU+CisgICAgICAgICAgICA8cGFyYT4KKyAgICAgICAgICAgICAgTm90ZSB0aGF0IGJvdGggPHNnbWx0YWc+Jmx0O3Byb2dyYW1saXN0aW5nPjwvc2dtbHRhZz4KKyAgICAgICAgICAgICAgYW5kIDxzZ21sdGFnPiZsdDtzY3JlZW4+PC9zZ21sdGFnPiBwcmVzZXJ2ZSBsaW5lYnJlYWtzLAorICAgICAgICAgICAgICBidXQgaW50ZXJwcmV0IFNHTUwgdGFncyAodW5saWtlIExhVGVYCisgICAgICAgICAgICAgIDxtYXJrdXA+dmVyYmF0aW08L21hcmt1cD4gZW52aXJvbm1lbnQpLiBUYWtlIGEgbG9vayBhdAorICAgICAgICAgICAgICB0aGUgc291cmNlIG9mIHRoaXMgZG9jdW1lbnQgdG8gc2VlIGhvdyB5b3UgY2FuIGhhdmUgU0dNTAorICAgICAgICAgICAgICB0YWdzIGxpdGVyYWxseSBzaG93biBidXQgbm90IGludGVycHJldGVkLAorICAgICAgICAgICAgPC9wYXJhPgorICAgICAgICAgIDwvbm90ZT4KKyAgICAgICAgPC9wYXJhPgorICAgICAgPC9zZWN0Mz4KKyAgICAgIDxzZWN0MyBpZD0ibGlzdHMiPgorCTx0aXRsZT4gTGlzdHM8L3RpdGxlPgorCTxwYXJhPgorCSAgVGhlIG1vc3QgY29tbW9uIGxpc3QgdHlwZXMgIGluIERvY0Jvb2sgYXJlCisJICA8c2dtbHRhZz4mbHQ7aXRlbWl6ZWRsaXN0Pjwvc2dtbHRhZz4sCisJICA8c2dtbHRhZz4mbHQ7b3JkZXJlZGxpc3Q+PC9zZ21sdGFnPiwgYW5kIAorCSAgPHNnbWx0YWc+Jmx0O3ZhcmlhYmxlbGlzdD48L3NnbWx0YWc+LgorCTwvcGFyYT4KKwk8dmFyaWFibGVsaXN0PgorCSAgPHZhcmxpc3RlbnRyeT4KKwkgICAgPHRlcm0+IDxzZ21sdGFnPiZsdDtpdGVtaXplZGxpc3Q+PC9zZ21sdGFnPjwvdGVybT4gCisJICAgIDxsaXN0aXRlbT48cGFyYT4gCisJCVRoaXMgaXMgdGhlIHNpbXBsZXN0IHVubnVtYmVyZWQgbGlzdCwgcGFyYWxsZWwgdG8KKwkgICAgPHNnbWx0YWc+Jmx0O3VsPjwvc2dtbHRhZz4gaW4gSFRNTC4gSGVyZSBpcyBhbiBleGFtcGxlOiAKKwkJPHByb2dyYW1saXN0aW5nPgorPCFbQ0RBVEFbCis8aXRlbWl6ZWRsaXN0PgorICA8bGlzdGl0ZW0+CisgICAgPHBhcmE+CisgICAgICA8Z3VpbGFiZWw+U2hvdyBiYWNrdXAgZmlsZXM8L2d1aWxhYmVsPiAmbWRhc2g7IFRoaXMgd2lsbAorICAgICAgc2hvdyBhbnkgYmFja3VwIGZpbGUgdGhhdCBtaWdodCBiZSBvbiB5b3VyIHN5c3RlbS4KKyAgICA8L3BhcmE+CisgIDwvbGlzdGl0ZW0+CisgIDxsaXN0aXRlbT4KKyAgICA8cGFyYT4KKyAgICAgIDxndWlsYWJlbD5TaG93IGhpZGRlbiBmaWxlczwvZ3VpbGFiZWw+ICZtZGFzaDsgVGhpcyB3aWxsCisgICAgICBzaG93IGFsbCAiZG90IGZpbGVzIiBvciBmaWxlcyB0aGF0IGJlZ2luIHdpdGggYSBkb3QuICBUaGlzCisgICAgICBmaWxlcyB0eXBpY2FsbHkgaW5jbHVkZSBjb25maWd1cmF0aW9uIGZpbGVzIGFuZCBkaXJlY3Rvcmllcy4KKyAgICA8L3BhcmE+CisgIDwvbGlzdGl0ZW0+CisgIDxsaXN0aXRlbT4KKyAgICA8cGFyYT4KKyAgICAgIDxndWlsYWJlbD5NaXggZmlsZXMgYW5kIGRpcmVjdG9yaWVzPC9ndWlsYWJlbD4gJm1kYXNoOyBUaGlzCisgICAgICBvcHRpb24gd2lsbCAgZGlzcGxheSBmaWxlcyBhbmQgZGlyZWN0b3JpZXMgaW4gdGhlIG9yZGVyIHlvdQorICAgICAgc29ydCB0aGVtIGluc3RlYWQgb2YgCisgICAgICBhbHdheXMgaGF2aW5nIGRpcmVjdG9yaWVzIHNob3duIGFib3ZlIGZpbGVzLgorICAgIDwvcGFyYT4KKyAgIDwvbGlzdGl0ZW0+Cis8L2l0ZW1pemVkbGlzdD4gCitdXT4KKwkJPC9wcm9ncmFtbGlzdGluZz4KKwkJYW5kIG91dHB1dDoKKyAgICAgICAgICAgICAgICA8L3BhcmE+CisJCTxpdGVtaXplZGxpc3Q+CisJCSAgPGxpc3RpdGVtPgorCQkgICAgPHBhcmE+CisJCSAgICAgIDxndWlsYWJlbD5TaG93IGJhY2t1cCBmaWxlczwvZ3VpbGFiZWw+ICZtZGFzaDsKKwkJICAgICAgVGhpcyB3aWxsIHNob3cgYW55IGJhY2t1cCBmaWxlIHRoYXQgbWlnaHQgYmUgb24KKwkJICAgICAgeW91ciBzeXN0ZW0uCisJCSAgICA8L3BhcmE+CisJCSAgPC9saXN0aXRlbT4KKworCQkgIDxsaXN0aXRlbT4KKwkJICAgIDxwYXJhPgorCQkgICAgICA8Z3VpbGFiZWw+U2hvdyBoaWRkZW4gZmlsZXM8L2d1aWxhYmVsPiAmbWRhc2g7CisJCSAgICAgIFRoaXMgd2lsbCBzaG93IGFsbCAiZG90IGZpbGVzIiBvciBmaWxlcyB0aGF0CisJCSAgICAgIGJlZ2luIHdpdGggYSBkb3QuICBUaGlzIGZpbGVzIHR5cGljYWxseSBpbmNsdWRlCisJCSAgICAgIGNvbmZpZ3VyYXRpb24gZmlsZXMgYW5kIGRpcmVjdG9yaWVzLgorCQkgICAgPC9wYXJhPgorCQkgIDwvbGlzdGl0ZW0+CisKKwkJICA8bGlzdGl0ZW0+CisJCSAgICA8cGFyYT4KKwkJICAgICAgPGd1aWxhYmVsPk1peCBmaWxlcyBhbmQgZGlyZWN0b3JpZXM8L2d1aWxhYmVsPgorCQkgICAgICAmbWRhc2g7IFRoaXMgb3B0aW9uIHdpbGwgZGlzcGxheSBmaWxlcyBhbmQKKwkJICAgICAgZGlyZWN0b3JpZXMgaW4gdGhlIG9yZGVyIHlvdSBzb3J0IHRoZW0gaW5zdGVhZAorCQkgICAgICBvZiBhbHdheXMgaGF2aW5nIGRpcmVjdG9yaWVzIHNob3duIGFib3ZlIGZpbGVzLgorCQkgICAgPC9wYXJhPgorCQkgIDwvbGlzdGl0ZW0+CisJCTwvaXRlbWl6ZWRsaXN0PgorICAgICAgICAgICAgICA8cGFyYT4gTm90ZSB0aGUgdXNlIG9mIDxzZ21sdGFnPiZhbXA7bWRhc2g7PC9zZ21sdGFnPgorICAgICAgICAgICAgICBmb3IgbG9uZyBkYXNoIChzZWUgPHhyZWYgbGlua2VuZD0ic3BlY3N5bWIiIC8+KS4gQWxzbywKKyAgICAgICAgICAgICAgcGxlYXNlIG5vdGUgdGhhdCB0aGUgcmVzdWx0IGxvb2tzIG11Y2ggbmljZXIgYmVjYXVzZSB0aGUKKyAgICAgICAgICAgICAgdGVybXMgYmVpbmcgZXhwbGFpbmVkICg8Z3VpbGFiZWw+U2hvdyBiYWNrdXAKKyAgICAgICAgICAgICAgZmlsZXM8L2d1aWxhYmVsPiwgZXRjLikgYXJlIHNldCBpbiBhIGRpZmZlcmVudCBmb250LiBJbgorICAgICAgICAgICAgICB0aGlzIGNhc2UsIGl0IHdhcyBhY2hpZXZlZCBieSB1c2luZyA8bGluaworICAgICAgICAgICAgICBsaW5rZW5kPSJndWkiPjxzZ21sdGFnPiZsdDtndWlsYWJlbD48L3NnbWx0YWc+PC9saW5rPgorICAgICAgICAgICAgICB0YWcuIEluIG90aGVyIGNhc2VzLCB1c2UgYXBwcm9wcmlhdGUgdGFncyBzdWNoIGFzCisgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9Imd1aSI+PHNnbWx0YWc+Jmx0O2d1aW1lbnVpdGVtPjwvc2dtbHRhZz48L2xpbms+LAorICAgICAgICAgICAgICA8bGluaworICAgICAgICAgICAgICBsaW5rZW5kPSJmaWxlbmFtZXMiPjxzZ21sdGFnPiZsdDtjb21tYW5kPjwvc2dtbHRhZz48L2xpbms+LAorICAgICAgICAgICAgICBvciAmbWRhc2g7IGlmIG5vbmUgb2YKKyAgICAgICAgICAgICAgdGhpcyBhcHBsaWVzICZtZGFzaDsgdXNlCisgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9Imd1aSI+PHNnbWx0YWc+Jmx0O2VtcGhhc2lzPjwvc2dtbHRhZz48L2xpbms+LgorCSAgICAgIDwvcGFyYT4KKwkgICAgPC9saXN0aXRlbT4KKwkgIDwvdmFybGlzdGVudHJ5PgorCSAgPHZhcmxpc3RlbnRyeT4KKwkgICAgPHRlcm0+IDxzZ21sdGFnPiZsdDtvcmRlcmVkbGlzdD48L3NnbWx0YWc+PC90ZXJtPiAKKwkgICAgPGxpc3RpdGVtPjxwYXJhPgorCQlUaGlzIGxpc3QgaXMgY29tcGxldGVseSBhbmFsb2dvdXMgdG8KKwkJPHNnbWx0YWc+Jmx0O2l0ZW1pemVkbGlzdD48L3NnbWx0YWc+IGFuZCBoYXMgdGhlIHNhbWUKKwkJc3ludGF4LCBidXQgIGl0IHByb2R1Y2VzIG51bWJlcmVkIGxpc3QuIEJ5IGRlZmF1bHQsCisJCXRoaXMgbGlzdCB1c2VzIEFyYWJpYyBudW1lcmFscyBmb3IgbnVtYmVyaW5nIGVudHJpZXM7CisJCXlvdSBjYW4gb3ZlcnJpZGUgdGhpcyB1c2luZyA8c2dtbHRhZz5udW1lcmF0aW9uPC9zZ21sdGFnPiwKKwkJZm9yIGV4YW1wbGUgPHNnbWx0YWc+Jmx0O29yZGVyZWRsaXN0CisJCSAgbnVtZXJhdGlvbj0ibG93ZXJyb21hbiI+PC9zZ21sdGFnPi4gUG9zc2libGUgdmFsdWVzIG9mCisJCXRoZXNlIGF0dHJpYnV0ZSBhcmUgPHNnbWx0YWc+YXJhYmljPC9zZ21sdGFnPiwKKwkJPHNnbWx0YWc+dXBwZXJhbHBoYTwvc2dtbHRhZz4sCisJCTxzZ21sdGFnPmxvd2VyYWxwaGE8L3NnbWx0YWc+LAorCQk8c2dtbHRhZz51cHBlcnJvbWFuPC9zZ21sdGFnPiwKKwkJPHNnbWx0YWc+bG93ZXJyb21hbjwvc2dtbHRhZz4uCisJICAgICAgPC9wYXJhPjwvbGlzdGl0ZW0+CisJICA8L3Zhcmxpc3RlbnRyeT4KKworCSAgPHZhcmxpc3RlbnRyeT4KKwkgICAgPHRlcm0+IDxzZ21sdGFnPiZsdDt2YXJpYWJsZWxpc3Q+PC9zZ21sdGFnPjwvdGVybT4KKwkgICAgPGxpc3RpdGVtPjxwYXJhPiBUaGlzIGxpc3QgaXMgdXNlZCB3aGVuIGVhY2ggZW50cnkgaXMKKwkgICAgcmF0aGVyIGxvbmcsIHNvIGl0IHNob3VsZCBiZSBmb3JtYXR0ZWQgYXMgYSBibG9jayBvZiB0ZXh0CisJICAgIHdpdGggc29tZSBzdWJ0aXRsZSwgbGlrZSBhIHNtYWxsIHN1YnNlY3Rpb24uICBUaGUKKwkgICAgPHNnbWx0YWc+Jmx0O3ZhcmlhYmxlbGlzdD48L3NnbWx0YWc+IGlzIG1vcmUgY29tcGxpY2F0ZWQKKwkgICAgdGhhbiBpdGVtaXplZGxpc3RzLCBidXQgZm9yIGxhcmdlciBibG9ja3Mgb2YgdGV4dCwgb3Igd2hlbgorCSAgICB5b3UncmUgZXhwbGFpbmluZyBvciBkZWZpbmluZyBzb21ldGhpbmcsIGl0J3MgYmVzdCB0byB1c2UKKwkgICAgdGhlbS4gIFRoZWlyIGdyZWF0ZXN0IGFkdmFudGFnZSBpcyB0aGF0IGl0J3MgZWFzaWVyIGZvciBhCisJICAgIGNvbXB1dGVyIHRvIHNlYXJjaC4gIFRoZSBsaW5lcyB5b3UgYXJlIHJlYWRpbmcgbm93IHdlcmUKKwkgICAgcHJvZHVjZWQgYnkgPHNnbWx0YWc+Jmx0O3ZhcmlhYmxlbGlzdD48L3NnbWx0YWc+LiBUaGUKKwkgICAgc291cmNlIGxvb2tlZCBsaWtlZCB0aGlzOgorCQk8cHJvZ3JhbWxpc3Rpbmc+Cis8IVtDREFUQVsKKzx2YXJpYWJsZWxpc3Q+CisgIDx2YXJsaXN0ZW50cnk+CisgICAgPHRlcm0+IDxzZ21sdGFnPiZsdDtpdGVtaXplZGxpc3Q+PC9zZ21sdGFnPjwvdGVybT4gCisgICAgPGxpc3RpdGVtPjxwYXJhPiAKKwlUaGlzIGlzIHRoZSBzaW1wbGVzdCB1bm51bWJlcmVkIGxpc3QsIHBhcmFsbGVsIHRvCisgICAgICAgIDxzZ21sdGFnPiZsdDt1bD48L3NnbWx0YWc+IGluIEhUTUwuIEhlcmUgaXMgYW4gZXhhbXBsZTouLi4KKyAgICA8L3BhcmE+PC9saXN0aXRlbT4KKyAgICA8L3Zhcmxpc3RlbnRyeT4KKyAgICA8dmFybGlzdGVudHJ5PgkJIAorCTx0ZXJtPiA8c2dtbHRhZz4mbHQ7b3JkZXJlZGxpc3Q+PC9zZ21sdGFnPjwvdGVybT4KKyAgICAgPGxpc3RpdGVtPjxwYXJhPgkKKwlUaGlzIGxpc3QgaXMgY29tcGxldGVseSBhbmFsb2dvdXMgdG8KKwk8c2dtbHRhZz4mbHQ7aXRlbWl6ZWRsaXN0Pjwvc2dtbHRhZz4gCisgICAgPC9wYXJhPjwvbGlzdGl0ZW0+CisgICAgPC92YXJsaXN0ZW50cnk+CisgICAgPHZhcmxpc3RlbnRyeT4JCSAKKwk8dGVybT4gPHNnbWx0YWc+Jmx0O3ZhcmlhYmxlbGlzdD48L3NnbWx0YWc+PC90ZXJtPgorICAgICA8bGlzdGl0ZW0+PHBhcmE+CQorCQlUaGlzIGxpc3QgaXMgdXNlZCB3aGVuIGVhY2ggZW50cnkgaXMgcmF0aGVyIGxvbmcsLi4uCisgICAgPC9wYXJhPjwvbGlzdGl0ZW0+CisgICAgPC92YXJsaXN0ZW50cnk+Cis8L3ZhcmlhYmxlbGlzdD4gICAgICAgIAorXV0+CisJCTwvcHJvZ3JhbWxpc3Rpbmc+CQkKKwkJPC9wYXJhPgorCSAgICA8L2xpc3RpdGVtPgorCSAgPC92YXJsaXN0ZW50cnk+CisJPC92YXJpYWJsZWxpc3Q+CisJPHBhcmE+CisJTGlzdHMgY2FuIGJlIG5lc3RlZDsgaW4gdGhpcyBjYXNlLCB0aGUgc3R5bGVzaGVldHMKKwlhcmUgc21hcnQgZW5vdWdoIHRvIGNoYW5nZSB0aGUgbnVtZXJhdGlvbiAoZm9yCisJPHNnbWx0YWc+Jmx0O29yZGVyZWRsaXN0Pjwvc2dtbHRhZz4pIG9yIG1hcmtzIG9mIGVhY2ggZW50cnkKKwkoaW4gIDxzZ21sdGFnPiZsdDtpdGVtaXplZGxpc3Q+PC9zZ21sdGFnPikgZm9yIHN1Yi1saXN0cworCTwvcGFyYT4KKyAgICAgIDwvc2VjdDM+CisKKyAgICA8L3NlY3QyPgorCis8IS0tICMjIyMjIyMgRG9jQm9vayBCYXNpY3MgfCBJbmxpbmUgRWxlbWVudHMgIyMjIyMjIyAtLT4KKworICAgIDxzZWN0MiBpZD0iaW5saW5lIj4KKyAgICAgIDx0aXRsZT5JbmxpbmUgRWxlbWVudHM8L3RpdGxlPgorCisgICAgICA8c2VjdDMgaWQ9Imd1aSI+CisgICAgICAgIDx0aXRsZT5HVUkgZWxlbWVudHM8L3RpdGxlPgorICAgICAgICA8aXRlbWl6ZWRsaXN0PgorICAgICAgICAgIDxsaXN0aXRlbT4KKyAgICAgICAgICAgIDxwYXJhPgorICAgICAgICAgICAgICA8c2dtbHRhZz4mbHQ7Z3VpYnV0dG9uPjwvc2dtbHRhZz4gJm1kYXNoOyB1c2VkIGZvcgorICAgICAgICAgICAgICBidXR0b25zLCBpbmNsdWRpbmcgY2hlY2tidXR0b25zIGFuZCByYWRpbyBidXR0b25zCisgICAgICAgICAgICA8L3BhcmE+CisgICAgICAgICAgPC9saXN0aXRlbT4KKyAgICAgICAgICAKKyAgICAgICAgICA8bGlzdGl0ZW0+CisgICAgICAgICAgICA8cGFyYT4KKyAgICAgICAgICAgICAgPHNnbWx0YWc+Jmx0O2d1aW1lbnU+PC9zZ21sdGFnPiwgCisgICAgICAgICAgICAgIDxzZ21sdGFnPiZsdDtndWlzdWJtZW51Pjwvc2dtbHRhZz4gJm1kYXNoO3VzZWQgZm9yIAorCSAgICAgIHRvcC1sZXZlbCBtZW51cyBhbmQgc3VibWVudXMKKyAgICAgICAgICAgICAgcmVzcGVjdGl2ZWx5LCBmb3IgZXhhbXBsZSA8bGl0ZXJhbD48IVtDREFUQVsKKyAgICAgICAgICAgICAgPGd1aXN1Ym1lbnU+VXRpbGl0aWVzPC9ndWlzdWJtZW51PiBzdWJtZW51IG9mIHRoZQorICAgICAgICAgICAgICA8Z3VpbWVudT5NYWluIE1lbnU8L2d1aW1lbnU+XV0+PC9saXRlcmFsPgorICAgICAgICAgICAgPC9wYXJhPgorICAgICAgICAgIDwvbGlzdGl0ZW0+CisgICAgICAgICAgCisgICAgICAgICAgPGxpc3RpdGVtPgorICAgICAgICAgICAgPHBhcmE+CisgICAgICAgICAgICAgIDxzZ21sdGFnPiZsdDtndWltZW51aXRlbT48L3NnbWx0YWc+Jm1kYXNoO2FuIGVudHJ5IGluIGEKKyAgICAgICAgICAgICAgbWVudQorICAgICAgICAgICAgPC9wYXJhPgorICAgICAgICAgIDwvbGlzdGl0ZW0+CisgICAgICAgICAgCisgICAgICAgICAgPGxpc3RpdGVtPgorICAgICAgICAgICAgPHBhcmE+CisgICAgICAgICAgICAgIDxzZ21sdGFnPiZsdDtndWlpY29uPjwvc2dtbHRhZz4mbWRhc2g7YW4gaWNvbgorICAgICAgICAgICAgPC9wYXJhPgorICAgICAgICAgIDwvbGlzdGl0ZW0+CisgICAgICAgICAgCisgICAgICAgICAgPGxpc3RpdGVtPgorICAgICAgICAgICAgPHBhcmE+CisgICAgICAgICAgICAgIDxzZ21sdGFnPiZsdDtndWlsYWJlbD48L3NnbWx0YWc+Jm1kYXNoO2ZvciBpdGVtcyB3aGljaCBoYXZlCisgICAgICAgICAgICAgIGxhYmVscywgbGlrZSB0YWJzLCBvciBib3VuZGluZyBib3hlcy4gCisgICAgICAgICAgICA8L3BhcmE+CisgICAgICAgICAgPC9saXN0aXRlbT4KKyAgICAgICAgICA8bGlzdGl0ZW0+CisgICAgICAgICAgICA8cGFyYT4KKyAgICAgICAgICAgICAgPHNnbWx0YWc+Jmx0O2ludGVyZmFjZT48L3NnbWx0YWc+Jm1kYXNoOyBmb3IgbW9zdCBldmVyeXRoaW5nCisgICAgICAgICAgICAgIGVsc2UuLi4gYSB3aW5kb3csIGEgZGlhbG9nIGJveCwgdGhlIFBhbmVsLCBldGMuCisgICAgICAgICAgICA8L3BhcmE+CisgICAgICAgICAgPC9saXN0aXRlbT4KKyAgICAgICAgPC9pdGVtaXplZGxpc3Q+CisgICAgICAgIDxwYXJhPgorICAgICAgICAgIElmIHlvdSBuZWVkIHRvIHJlZmVyIHRvIGEgc2VxdWVuY2Ugb2YgbWVudSBjaG9pY2VzLCBzdWNoIGFzCisgICAgICAgICAgPG1lbnVjaG9pY2U+CisgICAgICAgICAgICA8Z3VpbWVudT5NYWluIE1lbnU8L2d1aW1lbnU+CisgICAgICAgICAgICA8Z3Vpc3VibWVudT5VdGlsaXRpZXM8L2d1aXN1Ym1lbnU+IDxndWltZW51aXRlbT5HTk9NRQorICAgICAgICAgICAgdGVybWluYWw8L2d1aW1lbnVpdGVtPgorICAgICAgICAgIDwvbWVudWNob2ljZT4KKyAgICAgICAgICB0aGVyZSBpcyBhIHNwZWNpYWwgY29uc3RydWN0aW9uIGZvciB0aGlzLCB0b286CisgICAgICAgICAgPHByb2dyYW1saXN0aW5nPgorPCFbQ0RBVEFbCis8bWVudWNob2ljZT4KKyA8Z3VpbWVudT5NYWluIE1lbnU8L2d1aW1lbnU+IDxndWlzdWJtZW51PlV0aWxpdGllczwvZ3Vpc3VibWVudT4KKyA8Z3VpbWVudWl0ZW0+R05PTUUgdGVybWluYWw8L2d1aW1lbnVpdGVtPiA8L21lbnVjaG9pY2U+XV0+CisgICAgICAgICAgPC9wcm9ncmFtbGlzdGluZz4KKyAgICAgICAgPC9wYXJhPgorICAgICAgPC9zZWN0Mz4KKworICAgICAgPHNlY3QzIGlkPSJsaW5rcyI+CisgICAgICAgIDx0aXRsZT5MaW5rcyBhbmQgcmVmZXJlbmNlczwvdGl0bGU+CisgICAgICAgIDxwYXJhPgorICAgICAgICAgIFRvIHJlZmVyIHRvIGFub3RoZXIgcGxhY2UgaW4gdGhlIHNhbWUgZG9jdW1lbnQsIHlvdSBjYW4gdXNlCisgICAgICAgICAgdGFncyA8c2dtbHRhZz4mbHQ7eHJlZj48L3NnbWx0YWc+IGFuZAorICAgICAgICAgIDxzZ21sdGFnPiZsdDtsaW5rPjwvc2dtbHRhZz4uIFRoZSBmaXJzdCBvZiB0aGVtCisgICAgICAgICAgYXV0b21hdGljYWxseSBpbnNlcnRzIHRoZSBmdWxsIG5hbWUgb2YgdGhlIGVsZW1lbnQgeW91IHJlZmVyCisgICAgICAgICAgdG8gKHNlY3Rpb24sIGZpZ3VyZSwgZXRjLiksIHdoaWxlIHRoZSBzZWNvbmQganVzdCBjcmVhdGVzIGEKKyAgICAgICAgICBsaW5rIChpbiBIVE1MIG91dHB1dCkuIEhlcmUgaXMgYW4gZXhhbXBsZToKKyAgICAgICAgICA8cHJvZ3JhbWxpc3Rpbmc+Cis8IVtDREFUQVtBbiBleGFtcGxlIG9mIGEgPGxpbmsgbGlua2VuZD0iZXh0aXAiPnRpcDwvbGluaz4gd2FzIGdpdmVuIGluCis8eHJlZiBsaW5rZW5kPSJub3RlcyIgLz4uICBdXT4KKyAgICAgICAgICA8L3Byb2dyYW1saXN0aW5nPgorICAgICAgICAgIHdoaWNoIHByb2R1Y2VzOiBBbiBleGFtcGxlIG9mIGEgPGxpbmsKKyAgICAgICAgICBsaW5rZW5kPSJleHRpcCI+dGlwPC9saW5rPiB3YXMgZ2l2ZW4gaW4gIDx4cmVmCisgICAgICAgICAgbGlua2VuZD0ibm90ZXMiIC8+LgorICAgICAgICA8L3BhcmE+CisgICAgICAgIDxwYXJhPgorICAgICAgICAgIEhlcmUgPHNnbWx0YWc+bm90ZXM8L3NnbWx0YWc+IGFuZCA8c2dtbHRhZz5leHRpcDwvc2dtbHRhZz4KKyAgICAgICAgICBhcmUgdGhlIGlkIGF0dHJpYnV0ZXMgb2YgPHhyZWYgbGlua2VuZD0ibm90ZXMiIC8+IGFuZCBvZiB0aGUKKyAgICAgICAgICBleGFtcGxlIG9mIGEgdGlwIGluIGl0LgorICAgICAgICA8L3BhcmE+CisgICAgICAgIDxwYXJhPiAgVG8gcHJvZHVjZSBhIGxpbmsgIHRvIGFuIGV4dGVybmFsIHNvdXJjZSwgc3VjaCBhcyBhCisgICAgICAgICAgV2ViIHBhZ2Ugb3IgYSBsb2NhbCBmaWxlLCB1c2UgPHNnbWx0YWc+Jmx0O3VsaW5rPjwvc2dtbHRhZz4KKyAgICAgICAgICB0YWcsIGZvciBleGFtcGxlOgorICAgICAgICAgIDxwcm9ncmFtbGlzdGluZz4KKzwhW0NEQVRBWyBUbyBmaW5kIG1vcmUgYWJvdXQgR05PTUUsIHBsZWFzZSB2aXNpdCA8dWxpbmsgdHlwZT0iaHR0cCIKK3VybD0iaHR0cDovL3d3dy5nbm9tZS5vcmciPkdOT01FIFdlYiBwYWdlPC91bGluaz4gXV0+CisgICAgICAgICAgPC9wcm9ncmFtbGlzdGluZz4KKyAgICAgICAgICB3aGljaCBwcm9kdWNlczogIFRvIGZpbmQgbW9yZSBhYm91dCBHTk9NRSwgcGxlYXNlIHZpc2l0CisgICAgICAgICAgPHVsaW5rIHR5cGU9Imh0dHAiIHVybD0iaHR0cDovL3d3dy5nbm9tZS5vcmciPlRoZSBHTk9NRSBXZWIKKyAgICAgICAgICBTaXRlPC91bGluaz4gWW91IGNhbiB1c2UgYW55IG9mIHRoZSBzdGFuZGFyZCBVUkwgdHlwZXMsIHN1Y2gKKyAgICAgICAgICBhcyA8bGl0ZXJhbD5odHRwLCBmdHAsIGZpbGUsIHRlbG5ldCwgbWFpbHRvPC9saXRlcmFsPiAoaW4KKyAgICAgICAgICBtb3N0IGNhc2VzLCBob3dldmVyLCB1c2Ugb2YgPGxpdGVyYWw+bWFpbHRvPC9saXRlcmFsPiBpcworICAgICAgICAgIHVubmVjZXNzYXJ5Jm1kYXNoO3NlZSBkaXNjdXNzaW9uIG9mCisgICAgICAgICAgPHNnbWx0YWc+Jmx0O2VtYWlsPjwvc2dtbHRhZz4gdGFnKS4KKyAgICAgICAgPC9wYXJhPgorICAgICAgPC9zZWN0Mz4KKworICAgICAgPHNlY3QzIGlkPSJmaWxlbmFtZXMiPiAgPHRpdGxlPkZpbGVuYW1lcywgY29tbWFuZHMsIGFuZCBvdGhlcgorICAgICAgICBjb21wdXRlci1yZWxhdGVkIHRoaW5nczwvdGl0bGU+CisgICAgICAgIDxwYXJhPgorICAgICAgICAgIEhlcmUgYXJlIHNvbWUgdGFncyB1c2VkIHRvIGRlc2NyaWJlIG9wZXJhdGluZyBzeXN0ZW0tcmVsYXRlZAorICAgICAgICAgIHRoaW5nczogIAorICAgICAgICA8L3BhcmE+CisJPGl0ZW1pemVkbGlzdD4KKyAgICAgICAgICA8bGlzdGl0ZW0+CisgICAgICAgICAgICA8cGFyYT4gIDxzZ21sdGFnPiZsdDtmaWxlbmFtZT48L3NnbWx0YWc+ICZtZGFzaDsgdXNlZAorICAgICAgICAgICAgICBmb3IgZmlsZW5hbWVzLAorICAgICAgICAgICAgICBlLmcuPHNnbWx0YWc+Jmx0O2ZpbGVuYW1lPjwvc2dtbHRhZz4KKyAgICAgICAgICAgICAgICAgICAgZm9vLnNnbWwKKyAgICAgICAgICAgICAgICAgIDxzZ21sdGFnPiZsdDsvZmlsZW5hbWU+PC9zZ21sdGFnPiAKKyAgICAgICAgICAgICAgcHJvZHVjZXM6IDxmaWxlbmFtZT5mb28uc2dtbDwvZmlsZW5hbWU+LgorICAgICAgICAgICAgPC9wYXJhPgorICAgICAgICAgIDwvbGlzdGl0ZW0+CisgICAgICAgICAgPGxpc3RpdGVtPgorICAgICAgICAgICAgPHBhcmE+ICA8c2dtbHRhZz4mbHQ7ZmlsZW5hbWUKKyAgICAgICAgICAgICAgY2xhc3M9ImRpcmVjdG9yeSI+PC9zZ21sdGFnPiAmbWRhc2g7IHVzZWQgZm9yCisgICAgICAgICAgICAgIGRpcmVjdG9yaWVzLCBlLmcuPHNnbWx0YWc+Jmx0O2ZpbGVuYW1lCisgICAgICAgICAgICAgIGNsYXNzPSJkaXJlY3RvcnkiPjwvc2dtbHRhZz4vdXNyL2JpbgorICAgICAgICAgICAgICAgICAgPHNnbWx0YWc+Jmx0Oy9maWxlbmFtZT48L3NnbWx0YWc+CisgICAgICAgICAgICAgIHByb2R1Y2VzOiA8ZmlsZW5hbWUKKyAgICAgICAgICAgICAgY2xhc3M9ImRpcmVjdG9yeSI+L3Vzci9iaW48L2ZpbGVuYW1lPi4KKyAgICAgICAgICAgIDwvcGFyYT4KKyAgICAgICAgICA8L2xpc3RpdGVtPgorICAgICAgICAgIDxsaXN0aXRlbT4KKyAgICAgICAgICAgIDxwYXJhPgorICAgICAgICAgICAgICA8c2dtbHRhZz4mbHQ7YXBwbGljYXRpb24+PC9zZ21sdGFnPiAmbWRhc2g7IHVzZWQgZm9yCisgICAgICAgICAgICAgIGFwcGxpY2F0aW9uIG5hbWVzLAorICAgICAgICAgICAgICBlLmcuIDxzZ21sdGFnPiZsdDthcHBsaWNhdGlvbj48L3NnbWx0YWc+R251bWVyaWMKKyAgICAgICAgICAgICAgPHNnbWx0YWc+Jmx0Oy9hcHBsaWNhdGlvbj48L3NnbWx0YWc+IHByb2R1Y2VzOgorICAgICAgICAgICAgICA8YXBwbGljYXRpb24+R251bWVyaWM8L2FwcGxpY2F0aW9uPi4KKyAgICAgICAgICAgIDwvcGFyYT4KKyAgICAgICAgICA8L2xpc3RpdGVtPgorICAgICAgICAgIDxsaXN0aXRlbT4KKyAgICAgICAgICAgIDxwYXJhPgorCSAgICAgIDxzZ21sdGFnPiZsdDtlbnZhcj48L3NnbWx0YWc+ICZtZGFzaDsgdXNlZCBmb3IKKwkgICAgICBlbnZpcm9ubWVudCB2YXJpYWJsZXMsIGUuZy4gCisgICAgICAgICAgICAgIDxzZ21sdGFnPiZsdDtlbnZhcj48L3NnbWx0YWc+UEFUSDxzZ21sdGFnPiZsdDsvZW52YXI+PC9zZ21sdGFnPi4gCisgICAgICAgICAgICA8L3BhcmE+CisgICAgICAgICAgPC9saXN0aXRlbT4KKyAgCisgICAgICAgICAgPGxpc3RpdGVtPgorICAgICAgICAgICAgPHBhcmE+CisgICAgICAgICAgICAgIDxzZ21sdGFnPiZsdDtjb21tYW5kPjwvc2dtbHRhZz4gJm1kYXNoOyB1c2VkIGZvcgorICAgICAgICAgICAgICBjb21tYW5kcyBlbnRlcmVkIG9uIGNvbW1hbmQgbGluZSwgZS5nLgorICAgICAgICAgICAgICA8c2dtbHRhZz4mbHQ7Y29tbWFuZD48L3NnbWx0YWc+bWFrZSBpbnN0YWxsCisgICAgICAgICAgICAgIDxzZ21sdGFnPiZsdDsvY29tbWFuZD48L3NnbWx0YWc+IHByb2R1Y2VzOgorICAgICAgICAgICAgICA8Y29tbWFuZD5tYWtlIGluc3RhbGw8L2NvbW1hbmQ+LgorICAgICAgICAgICAgPC9wYXJhPgorICAgICAgICAgIDwvbGlzdGl0ZW0+CisgICAgICAgICAgPGxpc3RpdGVtPgorICAgICAgICAgICAgPHBhcmE+CisgICAgICAgICAgICAgIDxzZ21sdGFnPiZsdDtyZXBsYWNlYWJsZT48L3NnbWx0YWc+ICZtZGFzaDsgdXNlZCBmb3IKKyAgICAgICAgICAgICAgcmVwbGFjZWFibGUgdGV4dCwgZS5nLgorICAgICAgICAgICAgICA8c2dtbHRhZz4mbHQ7Y29tbWFuZD48L3NnbWx0YWc+ZGIyaHRtbDxzZ21sdGFnPiZsdDtyZXBsYWNlYWJsZT48L3NnbWx0YWc+CisgICAgICAgICAgICAgIGZvby5zZ21sCisgICAgICAgICAgICAgIDxzZ21sdGFnPiZsdDsvcmVwbGFjZWFibGU+PC9zZ21sdGFnPjxzZ21sdGFnPiZsdDsvY29tbWFuZD48L3NnbWx0YWc+CisgICAgICAgICAgICAgIHByb2R1Y2VzOiA8Y29tbWFuZD5kYjJodG1sCisgICAgICAgICAgICAgIDxyZXBsYWNlYWJsZT5mb28uc2dtbDwvcmVwbGFjZWFibGU+PC9jb21tYW5kPi4KKyAgICAgICAgICAgIDwvcGFyYT4KKyAgICAgICAgICA8L2xpc3RpdGVtPgorICAgICAgICA8L2l0ZW1pemVkbGlzdD4gIAorICAgICAgPC9zZWN0Mz4KKworICAgICAgPHNlY3QzIGlkPSJrZXlzIj4gICAKKyAgICAgICAgPHRpdGxlPktleWJvYXJkIGlucHV0PC90aXRsZT4gCisgICAgICAgIDxwYXJhPiBUbyBtYXJrIHVwIHRleHQgaW5wdXQgYnkgdGhlIHVzZXIsIHVzZQorICAgICAgICA8c2dtbHRhZz4mbHQ7dXNlcmlucHV0Pjwvc2dtbHRhZz4uCisgICAgICAgIDwvcGFyYT4KKyAgICAgICAgPHBhcmE+ICBUbyBtYXJrIGtleXN0cm9rZXMgc3VjaCBhcyBzaG9ydGN1dHMgYW5kIG90aGVyCisgICAgICAgICAgY29tbWFuZHMsIHVzZSA8c2dtbHRhZz4mbHQ7a2V5Y2FwPjwvc2dtbHRhZz4uIAorICAgICAgICAgIFRoaXMgaXMgdXNlZCBmb3IgbWFya2luZyB1cCB3aGF0IGlzIHByaW50ZWQgb24gdGhlIHRvcCAKKyAgICAgICAgICBvZiB0aGUgcGh5c2ljYWwga2V5IG9uIHRoZSBrZXlib2FyZC4gVGhlcmUgYXJlIGEgY291cGxlIG9mCisgICAgICAgICAgb3RoZXIgdGFncyBmb3Iga2V5cywgdG9vOiA8c2dtbHRhZz4mbHQ7a2V5c3ltJmd0Ozwvc2dtbHRhZz4KKyAgICAgICAgICBhbmQgPHNnbWx0YWc+Jmx0O2tleWNvZGUmZ3Q7PC9zZ21sdGFnPi4gSG93ZXZlciB5b3UgYXJlCisgICAgICAgICAgdW5saWtlbHkgdG8gbmVlZCB0aGVzZSBmb3IgbW9zdCBkb2N1bWVudGF0aW9uLiBGb3IgcmVmZXJlbmNlLAorICAgICAgICAgIDxzZ21sdGFnPiZsdDtrZXlzeW0mZ3Q7PC9zZ21sdGFnPiBpcyBmb3IgdGhlIDxxdW90ZT5zeW1ib2xpYworICAgICAgICAgIG5hbWU8L3F1b3RlPiBvZiBhIGtleS4gPHNnbWx0YWc+Jmx0O2tleWNvZGUmZ3Q7PC9zZ21sdGFnPiBpcworICAgICAgICAgIGZvciB0aGUgPHF1b3RlPnNjYW4gY29kZTwvcXVvdGU+IG9mIGEga2V5LiBUaGVzZSBhcmUgbm90CisgICAgICAgICAgdGVybXMgY29tbW9ubHkgcmVxdWlyZWQgaW4gPGFjcm9ueW0+R05PTUU8L2Fjcm9ueW0+IGRvY3VtZW50YXRpb24sCisgICAgICAgICAgYWx0aG91Z2ggPHNnbWx0YWc+Jmx0O2tleXN5bSZndDs8L3NnbWx0YWc+IGlzIHVzZWZ1bCBmb3IgbWFya2luZworICAgICAgICAgIHVwIGNvbnRyb2wgY29kZXMuCisgICAgICAgPC9wYXJhPgorICAgICAgIDxwYXJhPgorICAgICAgICAgIFRvIG1hcmsgdXAgYSBjb21iaW5hdGlvbiBvZiBrZXlzdHJva2VzLCB1c2UgdGhlCisgICAgICAgICAgPHNnbWx0YWc+Jmx0O2tleWNvbWJvPjwvc2dtbHRhZz4gd3JhcHBlcjoKKyAgICAgICAgICA8cHJvZ3JhbWxpc3Rpbmc+Cis8IVtDREFUQVsKKzxrZXljb21ibz4KKyA8a2V5Y2FwPkN0cmw8L2tleWNhcD4KKyA8a2V5Y2FwPkFsdDwva2V5Y2FwPgorIDxrZXljYXA+RjE8L2tleWNhcD4KKzwva2V5Y29tYm8+XV0+CisgICAgICAgICAgPC9wcm9ncmFtbGlzdGluZz4KKyAgICAgICAgPC9wYXJhPgorICAgICAgICA8cGFyYT4KKyAgICAgICAgICBGaW5hbGx5LCBpZiB5b3Ugd2FudCB0byBzaG93IGEgc2hvcnRjdXQgZm9yIHNvbWUgbWVudQorICAgICAgICAgIGNvbW1hbmQsIGhlcmUgYXJlIHRoZSBhcHByb3ByaWF0ZSB0YWdzIChyYXRoZXIgbG9uZyk6CisgICAgICAgICAgPHByb2dyYW1saXN0aW5nPgorPCFbQ0RBVEFbCis8bWVudWNob2ljZT4KKyA8c2hvcnRjdXQ+CisgIDxrZXljb21ibz48a2V5Y2FwPkN0cmw8L2tleWNhcD48a2V5Y2FwPnE8L2tleWNhcD48L2tleWNvbWJvPgorIDwvc2hvcnRjdXQ+IAorIDxndWltZW51aXRlbT4gUXVpdDwvZ3VpbWVudWl0ZW0+IAorPC9tZW51Y2hvaWNlPl1dPgorICAgICAgICAgIDwvcHJvZ3JhbWxpc3Rpbmc+CisgICAgICAgICAgd2hpY2ggcHJvZHVjZXMgc2ltcGx5CisgICAgICAgICAgPG1lbnVjaG9pY2U+CisgICAgICAgICAgICA8c2hvcnRjdXQ+ICAgPGtleXN5bT5DdHJsLXE8L2tleXN5bT4gPC9zaG9ydGN1dD4KKyAgICAgICAgICAgIDxndWltZW51aXRlbT4gUXVpdDwvZ3VpbWVudWl0ZW0+CisgICAgICAgICAgPC9tZW51Y2hvaWNlPgorICAgICAgICA8L3BhcmE+CisgICAgICA8L3NlY3QzPgorCisgICAgICA8c2VjdDMgaWQ9ImVtYWlsIj4KKyAgICAgICAgPHRpdGxlPkUtbWFpbCBhZGRyZXNzZXM8L3RpdGxlPiA8cGFyYT4gIFRvIG1hcmsgdXAgZS1tYWlsCisgICAgICAgIGFkZHJlc3MsIHVzZSA8c2dtbHRhZz4mbHQ7ZW1haWw+PC9zZ21sdGFnPjoKKyAgICAgICAgICA8cHJvZ3JhbWxpc3Rpbmc+Cis8IVtDREFUQVsgVGhlIGVhc2llc3Qgd2F5IHRvIGdldCBpbiB0b3VjaCB3aXRoIG1lIGlzIGJ5IGUtbWFpbAorKDxlbWFpbD5tZUBteWRvbWFpbi5jb208L2VtYWlsPildXT4KKyAgICAgICAgICA8L3Byb2dyYW1saXN0aW5nPgorICAgICAgICAgIHdoaWNoIHByb2R1Y2VzOiBUaGUgZWFzaWVzdCB3YXkgdG8gZ2V0IGluIHRvdWNoIHdpdGggbWUgaXMKKyAgICAgICAgICBieSBlLW1haWwgICg8ZW1haWw+bWVAbXlkb21haW4uY29tPC9lbWFpbD4pIE5vdGUgdGhhdAorICAgICAgICAgIDxzZ21sdGFnPiZsdDtlbWFpbD48L3NnbWx0YWc+IGF1dG9tYXRpY2FsbHkgcHJvZHVjZXMgYSBsaW5rCisgICAgICAgICAgaW4gaHRtbCB2ZXJzaW9uLgorICAgICAgICA8L3BhcmE+CisgICAgICA8L3NlY3QzPgorCisgICAgICA8c2VjdDMgaWQ9InNwZWNzeW1iIj4KKwk8dGl0bGU+IFNwZWNpYWwgc3ltYm9scyA8L3RpdGxlPgorCTxwYXJhPiAKKwkgIERvY0Jvb2sgYWxzbyBwcm92aWRlcyBzcGVjaWFsIG1lYW5zIGZvciBlbnRlcmluZworCXR5cG9ncmFwaGljIHN5bWJvbHMgd2hpY2ggY2FuIG5vdCBiZSBlbnRlcmVkIGRpcmVjdGx5CisJZm9ybSB0aGUga2V5Ym9hcmQgKHN1Y2ggYXMgY29weXJpZ2h0IHNpZ24pLiBUaGlzIGlzIGRvbmUgdXNpbmcKKwk8ZW1waGFzaXM+ZW50aXRpZXM8L2VtcGhhc2lzPiwgd2hpY2ggaXMgU0dNTCBhbmFsb2d1ZSBvZgorCW1hY3Jvcywgb3IgY29tbWFuZHMsIG9mIExhVGVYLiBUaGV5IGdlbmVyYWxseSBoYXZlIHRoZSBmb3JtIAorCSAgPHNnbWx0YWc+JmFtcDtlbnRpdHluYW1lOzwvc2dtbHRhZz4uIE5vdGUgdGhhdCB0aGUgc2VtaWNvbG9uCisJaXMgcmVxdWlyZWQuIAorCTwvcGFyYT4KKwk8cGFyYT4KKwkgIGhlcmUgaXMgcGFydGlhbCBsaXN0IG9mIG1vc3QgY29tbW9ubHkgdXNlZCBlbml0aXRlczoKKwk8L3BhcmE+CisJPGl0ZW1pemVkbGlzdD4KKwkgIDxsaXN0aXRlbT48cGFyYT4KKyAgICAgICAgICAgICA8c2dtbHRhZz4mYW1wO2FtcDs8L3NnbWx0YWc+ICZtZGFzaDsgYW1wZXJzZW5kICgmYW1wOykKKwkgIDwvcGFyYT48L2xpc3RpdGVtPgorCSAgPGxpc3RpdGVtPjxwYXJhPgorICAgICAgICAgICAgIDxzZ21sdGFnPiZhbXA7bHQ7PC9zZ21sdGFnPiAmbWRhc2g7IGxlZnQgYW5nbGUgYnJhY2tldCAoJmx0OykKKwkgIDwvcGFyYT48L2xpc3RpdGVtPgorCSAgPGxpc3RpdGVtPjxwYXJhPgorICAgICAgICAgICAgIDxzZ21sdGFnPiZhbXA7Y29weTs8L3NnbWx0YWc+ICZtZGFzaDsgY29weXJpZ2h0IHNpZ24gKCZjb3B5OykKKwkgIDwvcGFyYT48L2xpc3RpdGVtPgorCSAgPGxpc3RpdGVtPjxwYXJhPgorICAgICAgICAgICAgIDxzZ21sdGFnPiZhbXA7bWRhc2g7PC9zZ21sdGFnPiAmbWRhc2g7IGxvbmcgZGFzaCAoJm1kYXNoOykKKwkgIDwvcGFyYT48L2xpc3RpdGVtPgorCSAgPGxpc3RpdGVtPjxwYXJhPgorICAgICAgICAgICAgIDxzZ21sdGFnPiZhbXA7aGVsbGlwOzwvc2dtbHRhZz4gJm1kYXNoOyBlbGxpcHNpcyAoJmhlbGxpcDspCisJICA8L3BhcmE+PC9saXN0aXRlbT4KKwk8L2l0ZW1pemVkbGlzdD4KKwk8cGFyYT4KKwkgIE5vdGUgdGhhdCB0aGUgYWN0dWFsIGxvb2sgb2YgdGhlIHJlc3VsdGluZyBzeW1ib2xzIGRlcGVuZHMKKwkgIG9uIHRoZSBmb250cyB1c2VkIGJ5IHlvdXIgYnJvd3NlcjsgZm9yIGV4YW1wbGUsIGl0IG1pZ2h0CisJICBoYXBwZW4gdGhhdCBsb25nIGRhc2ggKDxzZ21sdGFnPiZhbXA7bWRhc2g7PC9zZ21sdGFnPikgbG9va3MKKwkgIGV4YWN0bHkgbGlrZSB0aGUgdXN1YWwgZGFzaCAoLSkuIEhvd2V2ZXIsIGluIHRoZSBQb3N0U2NyaXB0CisJICAoYW5kIHRodXMsIGluIHByaW50KSB0aGUgb3V0cHV0IHdpbGwgbG9vayBtYXJrZWRseSBiZXR0ZXIgaWYKKwkgIHlvdSB1c2UgYXBwcm9wcmlhdGUgdGFncy4gCisJPC9wYXJhPgorICAgICAgPC9zZWN0Mz4KKyAgICA8L3NlY3QyPgorICA8L3NlY3QxPgorICAKKzwhLS0gIyMjIyMjIyMjIyMjIyMjIyMgR0RQIERvY3VtZW50YXRpb24gQ29udmVudGlvbnMgIyMjIyMjIyMjIyMjIyMjIC0tPgorIAorICA8c2VjdDEgaWQ9ImNvbnZlbnRpb25zIj4KKyAgICA8dGl0bGU+R0RQIERvY3VtZW50YXRpb24gQ29udmVudGlvbnMgPC90aXRsZT4gCisKKzwhLS0gIyMjIyMjIyBHRFAgRG9jdW1lbnRhdGlvbiBDb252ZW50aW9ucyB8IEFsbCBEb2N1bWVudGF0aW9uICMjIyMjIyMgLS0+CisKKyAgICA8c2VjdDIgaWQ9ImNvbnZlbnRpb25zYWxsZG9jcyI+CisgICAgICA8dGl0bGU+Q29udmVudGlvbnMgZm9yIEFsbCBHRFAgRG9jdW1lbnRhdGlvbjwvdGl0bGU+CisgICAgICA8c2VjdDMgaWQ9InhtbGNvbXAiPgorCTx0aXRsZT4gWE1MIGNvbXBhdGliaWxpdHkgPC90aXRsZT4KKwk8cGFyYT4KKwkgIEFsbCBHTk9NRSBkb2N1bWVudGF0aW9uICBzaG91bGQgY29uZm9ybSB0byBYTUwgc3ludGF4CisJICByZXF1aXJlbWVudHMsIHdoaWNoIGFyZSBzdHJpY3RlciB0aGFuIFNHTUwgb25lcyAmbWRhc2g7IHNlZQorCSAgPHhyZWYgbGlua2VuZD0ieG1sIiAvPiBmb3IgbW9yZSBpbmZvcm1haW9uLgorCTwvcGFyYT4KKyAgICAgIDwvc2VjdDM+IAorCisgICAgICA8c2VjdDMgaWQ9ImF1dGhvcnNuYW1lcyI+IAorCTx0aXRsZT4gQXV0aG9ycycgbmFtZXM8L3RpdGxlPgorCTxwYXJhPiAKKwkgIEFsbCBHTk9NRSBkb2N1bWVudGF0aW9uIHNob3VsZCBjb250YWluIHRoZSBuYW1lcyBvZiBib3RoIHRoZQorCSAgYXBwbGljYXRpb24gYXV0aG9ycyBhbmQgZG9jdW1lbnRhdGlvbiBhdXRob3JzLCBhcyB3ZWxsIGFzIGEKKwkgIGxpbmsgdG8gdGhlIGFwcGxpY2F0aW9uIHdlYiBwYWdlIChpZiBpdCBleGlzdHMpIGFuZAorCSAgaW5mb3JtYXRpb24gZm9yIGJ1ZyBzdWJtaXNzaW9uICZtZGFzaDsgc2VlIHRlbXBsYXRlcyBmb3IgYW4KKwkgIGV4YW1wbGUuIAorCSAgPC9wYXJhPgorICAgICAgPC9zZWN0Mz4KKyAgICA8L3NlY3QyPgorCis8IS0tICMjIyMjIyMgR0RQIERvY3VtZW50YXRpb24gQ29udmVudGlvbnMgfCBBbGwgRG9jdW1lbnRhdGlvbiAjIyMjIyMjIC0tPgorCisgICAgPHNlY3QyIGlkPSJjb252ZW50aW9uc2FwcGRvY3MiPgorICAgICAgPHRpdGxlPkNvbnZlbnRpb25zIGZvciBBcHBsaWNhdGlvbiBEb2N1bWVudGF0aW9uPC90aXRsZT4KKworICAgICAgPHNlY3QzIGlkPSJhcHBsaWNhdGlvbnZlcnNpb25pZCI+CisgICAgICAgIDx0aXRsZT5BcHBsaWNhdGlvbiBWZXJzaW9uIElkZW50aWZpY2F0aW9uPC90aXRsZT4KKyAgICAgICAgPHBhcmE+CisgICAgICAgICAgQXBwbGljYXRpb24gZG9jdW1lbnRhdGlvbiBzaG91bGQgaWRlbnRpZnkgdGhlIHZlcnNpb24gb2YgdGhlCisgICAgICAgICAgYXBwbGljYXRpb24gZm9yIHdoaWNoIHRoZSBkb2N1bWVudGF0aW9uIGlzIHdyaXR0ZW46CisgICAgICAgICAgPHByb2dyYW1saXN0aW5nPgorPCFbQ0RBVEFbCis8c2VjdDEgaWQ9ImludHJvIj4KKyA8dGl0bGU+SW50cm9kdWN0aW9uPC90aXRsZT4KKyA8cGFyYT4KKyAgYmxhaC1ibGFoLWJsYWggVGhpcyBkb2N1bWVudCBkZXNjcmliZXMgdmVyc2lvbiAxLjAuNTMgb2YgZ2Zvby4KKyA8L3BhcmE+Cis8L3NlY3QxPl1dPgorICAgICAgICAgIDwvcHJvZ3JhbWxpc3Rpbmc+CisgICAgICAgIDwvcGFyYT4KKyAgICAgIDwvc2VjdDM+CisgICAgICA8c2VjdDMgaWQ9ImxpY2Vuc2UiPgorCTx0aXRsZT4gQ29weXJpZ2h0IGluZm9ybWF0aW9uIDwvdGl0bGU+IAorICAgICAgICA8cGFyYT4gQXBwbGljYXRpb24KKyAgICAgICAgZG9jdW1lbnRhdGlvbiBzaG91bGQgY29udGFpbiBhIGNvcHlyaWdodCBub3RpY2UsIHN0YXRpbmcgdGhlCisgICAgICAgIGxpY2Vuc2luZyB0ZXJtcy4gSXQgaXMgc3VnZ2VzdGVkIHRoYXQgeW91IHVzZSB0aGUgR05VIEZyZWUKKyAgICAgICAgRG9jdW1lbnRhdGlvbiBMaWNlbnNlLiAgWW91IGNvdWxkIGFsc28gdXNlIHNvbWUgb3RoZXIgbGljZW5zZQorICAgICAgICBhbGxvd2luZyBmcmVlIHJlZGlzdHJpYnV0aW9uLCBzdWNoIGFzIEdQTCBvciBPcGVuIENvbnRlbnQKKyAgICAgICAgbGljZW5zZS4gIElmIGRvY3VtZW50YXRpb24gdXNlcyBzb21lIHRyYWRlbWFya3MgKHN1Y2ggYXMgVU5JWCwKKyAgICAgICAgTGludXgsIFdpbmRvd3MsIGV0Yy4pLCBwcm9wZXIgbGVnYWwganVuayBzaG91bGQgYWxzbyBiZQorICAgICAgICBpbmNsdWRlZCAoc2VlIHRlbXBsYXRlcykuCisJPC9wYXJhPgorICAgICAgPC9zZWN0Mz4KKyAgICAgIDxzZWN0MyBpZD0ibGljZW5zZTIiPgorICAgICAgIDx0aXRsZT5Tb2Z0d2FyZSBsaWNlbnNlPC90aXRsZT4KKyAgICAgICA8cGFyYT4gCisgICAgICAgICBBbGwgR05PTUUgYXBwbGljYXRpb25zIG11c3QgY29udGFpbiBpbmZvcm1hdGlvbiBhYm91dCB0aGUKKyAgICAgICBsaWNlbnNlIChmb3Igc29mdHdhcmUsIG5vdCBmb3IgZG9jdW1lbnRhdGlvbiksIGVpdGhlciBpbiB0aGUKKyAgICAgICAiQWJvdXQiIGJveCBvciBpbiB0aGUgbWFudWFsLiAKKyAgICAgICA8L3BhcmE+CisgICAgICA8L3NlY3QzPgorCisgICAgICA8c2VjdDMgaWQ9ImJ1Z3RyYXEiPgorCTx0aXRsZT4gQnVnIHJlcG9ydGluZzwvdGl0bGU+IAkKKyAgICAgICAgPHBhcmE+IAorCSAgQXBwbGljYXRpb24gZG9jdW1lbnRhdGlvbiBzaG91bGQgZ2l2ZSBhbiBhZGRyZXNzIGZvcgorICAgICAgICByZXBvcnRpbmcgYnVncyBhbmQgZm9yIHN1Ym1pdHRpbmcgY29tbWVudHMgYWJvdXQgdGhlCisgICAgICAgIGRvY3VtZW50YWlvbiAoc2VlIHRlbXBsYXRlcyBmb3IgYW4gZXhhbXBsZSkuIAorICAgICAgIDwvcGFyYT4KKyAgICAgIDwvc2VjdDM+CisgICAgPC9zZWN0Mj4KKyAgPC9zZWN0MT4KKyAgCis8IS0tICMjIyMjIyMjIyMjIyMjIyMjIFdyaXRpbmcgQXBwbGljYXRpb24gTWFudWFscyAjIyMjIyMjIyMjIyMjIyMtLT4KKyAgCisgIDxzZWN0MSBpZD0id3JpdGluZ2FwcGxpY2F0aW9ubWFudWFscyI+CisgICAgPHRpdGxlPldyaXRpbmcgQXBwbGljYXRpb24gYW5kIEFwcGxldCBNYW51YWxzPC90aXRsZT4KKyAgICA8cGFyYT4KKyAgICAgICBFdmVyeSBHTk9NRSBhcHBsaWNhdGlvbiBvciBhcHBsZXQgc2hvdWxkIGhhdmUgYSBtYW51YWwgc3BlY2lmaWMKKyAgICAgIHRvIHRoYXQgcGFydGljdWxhciBhcHBsaWNhdGlvbi4gVGhpcyBtYW51YWwgc2hvdWxkIGJlIGEgY29tcGxldGUKKyAgICAgIGFuZCBhdXRob3JpdGF0aXZlIGd1aWRlLiAgVGhlIG1hbnVhbCBzaG91bGQgZGVzY3JpYmUgd2hhdCB0aGUKKyAgICAgIHByb2dyYW0gZG9lcyBhbmQgaG93IHRvIHVzZSBpdC4gIE1hbnVhbHMgd2lsbCB0eXBpY2FsbHkgZGVzY3JpYmUKKyAgICAgIGVhY2ggd2luZG93IG9yIHBhbmVsIHByZXNlbnRlZCB0byB0aGUgdXNlciB1c2luZyBzY3JlZW5zaG90cyAoaW4KKyAgICAgIFBORyBmb3JtYXQgb25seSkgd2hlbiBhcHByb3ByaWF0ZS4gIFRoZXkgc2hvdWxkIGFsc28gZGVzY3JpYmUKKyAgICAgIGVhY2ggZmVhdHVyZSBhbmQgcHJlZmVyZW5jZSBvcHRpb24gYXZhaWxhYmxlLgorICAgIDwvcGFyYT4KKyAgICA8bm90ZT4KKyAgICAgIDx0aXRsZT5Eb2N1bWVudGF0aW9uIEF2YWlsYWJpbGl0eTwvdGl0bGU+CisgICAgICA8cGFyYT4KKyAgICAgICAgQXBwbGljYXRpb25zIGFuZCBhcHBsZXRzIHNob3VsZCBub3QgcmVseSBvbiBkb2N1bWVudGF0aW9uCisgICAgICAgIHdoaWNoIGlzIG9ubHkgYXZhaWxhYmxlIG9uIHRoZSBpbnRlcm5ldC4gIEFsbCBtYW51YWxzIGFuZAorICAgICAgICBvdGhlciBkb2N1bWVudGF0aW9uIHNob3VsZCBiZSBwYWNrYWdlZCB3aXRoIHRoZSBhcHBsaWNhdGlvbiBvcgorICAgICAgICBhcHBsZXQgYW5kIGJlIG1hZGUgYXZhaWxhYmxlIHRvIHRoZSB1c2VyIHRocm91Z2ggdGhlIHN0YW5kYXJkCisgICAgICAgIEdOT01FIGhlbHAgc3lzdGVtIG1ldGhvZHMgZGVzY3JpYmVkIGJlbG93LgorICAgICAgPC9wYXJhPgorICAgIDwvbm90ZT4KKyAgICA8cGFyYT4gQXBwbGljYXRpb24gbWFudWFscyBzaG91bGQgYmUgYmFzZWQgb24gdGhlIHRlbXBsYXRlIGluCisgICAgPHhyZWYgbGlua2VuZD0idGVtcGxhdGUxIiAvPi4gIEFwcGxldCBtYW51YWxzIHNob3VsZCBiZSBiYXNlZCBvbgorICAgIHRoZSB0ZW1wbGF0ZXMgaW4gPHhyZWYgbGlua2VuZD0idGVtcGxhdGUyLTF4IiAvPiBmb3IgR05PTUUKKyAgICB2ZXJzaW9ucyAxLnggYW5kIHRoZSB0ZW1wbGF0ZXMgaW4gPHhyZWYgbGlua2VuZD0idGVtcGxhdGUyLTJ4IiAvPgorICAgIGZvciBHTk9NRSB2ZXJzaW9ucyAyLnguCisgICAgPC9wYXJhPgorICAgIDxub3RlPgorICAgICAgPHRpdGxlPk1hbnVhbHMgRm9yIExhcmdlIEFwcGxpY2F0aW9uczwvdGl0bGU+CisgICAgICA8cGFyYT4KKyAgICAgICAgTWFudWFscyBmb3IgdmVyeSBsYXJnZSBhcHBsaWNhdGlvbnMsIHN1Y2ggYXMgR05PTUUgV29ya3Nob3AKKyAgICAgICAgY29tcG9uZW50cyBzaG91bGQgYmUgYSA8c2dtbHRhZz4mbHQ7Ym9vaz48L3NnbWx0YWc+IChhbmQgdGh1cworICAgICAgICB1c2UgPHNnbWx0YWc+Jmx0O2NoYXB0ZXI+PC9zZ21sdGFnPiBmb3IgZWFjaCBwcmltYXJ5IHNlY3Rpb24pCisgICAgICAgICwgaW5zdGVhZCBvZiA8c2dtbHRhZz4mbHQ7YXJ0aWNsZT48L3NnbWx0YWc+IHdoaWNoIG1vc3QKKyAgICAgICAgYXBwbGljYXRpb25zIHVzZSh3aXRoIGVhY2ggcHJpbWFyeSBzZWN0aW9uIGJlaW5nIGEKKyAgICAgICAgPHNnbWx0YWc+Jmx0O3NlY3QxPjwvc2dtbHRhZz4pLgorICAgICAgPC9wYXJhPgorICAgIDwvbm90ZT4KKyAgICA8bm90ZT4KKyAgICAgIDx0aXRsZT5BcHBsZXQgTWFudWFscyBpbiBHTk9NRSAyLjA8L3RpdGxlPgorICAgICAgPHBhcmE+CisgICAgICAgIE5vdGUgdGhhdCBhcHBsZXQgbWFudWFscyBpbiBHTk9NRSAyLjAgYXJlIHRyZWF0ZWQgaW4gYSBzcGVjaWFsCisgICAgICAgIHdheS4gIFRoZSBtYW51YWxzIGZvciBhbGwgYXBwbGV0cyBhcmUgbWVyZ2VkIGludG8gYSBzaW5nbGUKKyAgICAgICAgdmlydHVhbCBkb2N1bWVudCBieSBOYXV0aWx1cy4gIEZvciB0aGlzIHJlYXNvbiwgdGhlIGhlYWRlcgorICAgICAgICBpbmZvcm1hdGlvbiBmb3IgYXBwbGV0IG1hbnVhbHMgaXMgb21pdHRlZCBhbmQgdGhlICBmaXJzdAorICAgICAgICBzZWN0aW9uIG9mIGVhY2ggYXBwbGV0IGlzCisgICAgICAgIDxzZ21sdGFnPiZsdDtzZWN0MT48L3NnbWx0YWc+LiBBcHBsZXQgbWFudWFscyB3aWxsIHR5cGljYWxseQorICAgICAgICBoYXZlIHNldmVyYWwgc2VjdGlvbnMsIGVhY2ggb2Ygd2hpY2ggaXMKKyAgICAgICAgPHNnbWx0YWc+Jmx0O3NlY3QyPjwvc2dtbHRhZz4uCisgICAgICA8L3BhcmE+CisgICAgPC9ub3RlPgorICAgIDxwYXJhPgorICAgICAgQXBwbGljYXRpb24gbWFudWFscyBzaG91bGQgYmUgbWFkZSBhdmFpbGFibGUgYnkgaGF2aW5nIGEKKyAgICAgICJNYW51YWwiIGVudHJ5IGluIHRoZSA8Z3VpbWVudT5IZWxwPC9ndWltZW51PiBwdWxsLWRvd24gbWVudQorICAgICAgYXQgdGhlIHRvcCBvZiB0aGUgCisgICAgICBhcHBsaWNhdGlvbiwgYXMgZGVzY3JpYmVkIGluIDx4cmVmIGxpbmtlbmQ9Imxpc3Rpbmdkb2NzaW5oZWxwbWVudSIgLz4uCisgICAgICBBcHBsZXRzIHNob3VsZCBtYWtlIHRoZWlyIG1hbnVhbHMgYXZhaWxhYmxlIGJ5CisgICAgICByaWdodC1jbGlja2luZyBvbiB0aGUgYXBwbGV0LiAKKyAgICA8L3BhcmE+CisgIDwvc2VjdDE+CisgIAorCis8IS0tICMjIyMjIyMjIyMjIyMjIyBMaXN0aW5nIERvY3VtZW50cyBpbiB0aGUgSGVscCBNZW51ICMjIyMjIyMjIyMjIyMgLS0+CisKKyAgPHNlY3QxIGlkPSJsaXN0aW5nZG9jc2luaGVscG1lbnUiPgorICAgIDx0aXRsZT5MaXN0aW5nIERvY3VtZW50cyBpbiB0aGUgSGVscCBNZW51PC90aXRsZT4KKworICAgIDxub3RlPgorICAgICAgPHRpdGxlPkRldmVsb3BlciBJbmZvcm1hdGlvbjwvdGl0bGU+CisgICAgICA8cGFyYT4KKyAgICAgICAgVGhpcyBzZWN0aW9uIGlzIGZvciBkZXZlbG9wZXJzLiAgRG9jdW1lbnRhdGlvbiBhdXRob3JzCisgICAgICAgIGdlbmVyYWxseSBkbyBub3QgbmVlZCB0byBrbm93IHRoaXMgbWF0ZXJpYWwuCisgICAgICA8L3BhcmE+CisgICAgPC9ub3RlPgorICAgIDxwYXJhPgorICAgICAgVHlwaWNhbGx5IHRoZSBhcHBsaWNhdGlvbiBtYW51YWwgYW5kIHBvc3NpYmx5IGFkZGl0aW9uYWwgaGVscAorICAgICAgZG9jdW1lbnRzIHdpbGwgYmUgbWFkZSBhdmFpbGFibGUgdG8gdGhlIHVzZXIgdW5kZXIgdGhlCisgICAgICA8Z3VpbWVudT5IZWxwPC9ndWltZW51PiBtZW51IGF0IHRoZSB0b3AgcmlnaHQgb2YgdGhlCisgICAgICBhcHBsaWNhdGlvbi4gVG8gZG8gdGhpcywgeW91IG11c3QgZmlyc3Qgd3JpdGUgYQorICAgICAgPGZpbGVuYW1lPnRvcGljLmRhdDwvZmlsZW5hbWU+IGZpbGUuIFRoZSBmb3JtYXQgZm9yIHRoaXMgZmlsZSBpczoKKyAgICAgIDxwcm9ncmFtbGlzdGluZz4KK09uZSBsaW5lIGZvciBlYWNoICd0b3BpYycuCisKK1R3byBjb2x1bW5zLCBhcyBkZWZpbmVkIGJ5IHBlcmwgLWUgJ3NwbGl0KC9ccysvLCRhbGluZSwyKScKKworRmlyc3QgY29sdW1uIGlzIHRoZSBIVE1MIGZpbGUgKGFuZCBvcHRpb25hbCBzZWN0aW9uKSBmb3IgdGhlIHRvcGljLAorcmVsYXRpdmUgdG8gdGhlIGFwcCdzIGhlbHAgZmlsZSBkaXIuCisKK1NlY29uZCBjb2x1bW4gaXMgdGhlIHVzZXItdmlzaWJsZSB0b3BpYyBuYW1lLgorICAgICAgPC9wcm9ncmFtbGlzdGluZz4KKyAgICAgIEZvciBleGFtcGxlLCA8YXBwbGljYXRpb24+R251bWVyaWM8L2FwcGxpY2F0aW9uPidzCisgICAgICA8ZmlsZW5hbWU+dG9waWMuZGF0PC9maWxlbmFtZT4gZmlsZSBpczoKKyAgICAgIDxwcm9ncmFtbGlzdGluZz4KK2dudW1lcmljLmh0bWwgICBHbnVtZXJpYyBtYW51YWwKK2Z1bmN0aW9uLXJlZmVyZW5jZS5odG1sIEdudW1lcmljIGZ1bmN0aW9uIHJlZmVyZW5jZQorICAgICAgPC9wcm9ncmFtbGlzdGluZz4KKyAgICAgIFdoZW4gdGhlIGFwcGxpY2F0aW9uIGlzIGluc3RhbGxlZCwgdGhlCisgICAgICA8ZmlsZW5hbWU+dG9waWMuZGF0PC9maWxlbmFtZT4gZmlsZSBzaG91bGQgYmUgcGxhY2VkIGluIHRoZQorICAgICAgPGZpbGVuYW1lCisgICAgICBjbGFzcz0iZGlyZWN0b3J5Ij4kcHJlZml4L3NoYXJlL2dub21lL2hlbHAvPHJlcGxhY2VhYmxlPmFwcG5hbWU8L3JlcGxhY2VhYmxlPi9DLzwvZmlsZW5hbWU+IGRpcmVjdG9yeQorICAgICAgd2hlcmUgPHJlcGxhY2VhYmxlPmFwcG5hbWU8L3JlcGxhY2VhYmxlPiBpcyByZXBsYWNlZCBieSB0aGUKKyAgICAgIGFwcGxpY2F0aW9uJ3MgbmFtZS4gIFRoZSBhcHBsaWNhdGlvbiBkb2N1bWVudGF0aW9uIChjb252ZXJ0ZWQKKyAgICAgIGZyb20gU0dNTCBpbnRvIEhUTUwgd2l0aCA8Y29tbWFuZD5kYjJodG1sPC9jb21tYW5kPikgc2hvdWxkIGJlCisgICAgICBwbGFjZWQgaW4gdGhpcyBkaXJlY3RvcnkgdG9vLgorICAgIDwvcGFyYT4KKyAgICA8bm90ZT4KKyAgICAgIDxwYXJhPgorICAgICAgIElmIHRoZSBoZWxwIGZpbGVzIGFyZSBub3QgcHJlc2VudCBpbiB0aGUgY29ycmVjdCBkaXJlY3RvcnksIHRoZQorICAgICAgIG1lbnUgaXRlbXMgd2lsbCBOT1QgYXBwZWFyIHdoZW4gdGhlIHByb2dyYW0gaXMgcnVuLiAKKyAgICAgIDwvcGFyYT4KKyAgICA8L25vdGU+CisgICAgPHBhcmE+CisgICAgICBUaGUgPGZpbGVuYW1lPnRvcGljLmRhdDwvZmlsZW5hbWU+IGZpbGUgaXMgdXNlZCBieSB0aGUgR05PTUUKKyAgICAgIG1lbnUgYnVpbGRpbmcgY29kZSB0byBnZW5lcmF0ZSB0aGUgPGd1aW1lbnU+SGVscDwvZ3VpbWVudT4KKyAgICAgIG1lbnUuIFdoZW4geW91IGRlZmluZSB5b3VyIG1lbnU6ICAKKzxwcm9ncmFtbGlzdGluZz4KK0dub21lVUlJbmZvIGhlbHBtZW51W10gPSB7CisgICAgICAgICAgICAgIHtHTk9NRV9BUFBfVUlfSVRFTSwgCisgICAgICAgICAgICAgICBOXygiQWJvdXQiKSwgTl8oIkluZm8gYWJvdXQgdGhpcyBwcm9ncmFtIiksCisgICAgICAgICAgICAgICBhYm91dF9jYiwgTlVMTCwgTlVMTCwgCisgICAgICAgICAgICAgICBHTk9NRV9BUFBfUElYTUFQX1NUT0NLLCBHTk9NRV9TVE9DS19NRU5VX0FCT1VULAorICAgICAgICAgICAgICAgMCwgMCwgTlVMTH0sCisgICAgICAgICAgICAgICBHTk9NRVVJSU5GT19TRVBBUkFUT1IsCisgICAgICAgICAgICAgICBHTk9NRVVJSU5GT19IRUxQKCI8ZW1waGFzaXM+YXBwbmFtZTwvZW1waGFzaXM+IiksCisgICAgICAgICAgICAgICBHTk9NRVVJSU5GT19FTkQKKyAgICAgICAgfTsKKzwvcHJvZ3JhbWxpc3Rpbmc+CisgICAgICB0aGUgbGluZSBzcGVjaWZ5aW5nIDx2YXJuYW1lPkdOT01FVUlJTkZPX0hFTFA8L3Zhcm5hbWU+IGNhdXNlcworICAgICAgR05PTUUgdG8gY3JlYXRlIGEgbWVudSBlbnRyeSB3aGljaCBpcyB0aWVkIHRvIHRoZSBkb2N1bWVudGF0aW9uCisgICAgICBpbiB0aGUgZGlyZWN0b3J5IG1lbnRpb25lZCBhYm92ZS4gQWxzbywgYWxsIHRoZSB0b3BpY3MgaW4gdGhlCisgICAgICA8ZmlsZW5hbWU+dG9waWMuZGF0PC9maWxlbmFtZT4gZmlsZSB3aWxsIGdldCBtZW51IGVudHJpZXMgaW4gdGhlCisgICAgICA8Z3VpbWVudT5IZWxwPC9ndWltZW51PiBtZW51LiBXaGVuIHRoZSB1c2VyIHNlbGVjdHMgYW55IG9mIHRoZXNlCisgICAgICB0b3BpY3MgZnJvbSB0aGUgPGd1aW1lbnU+SGVscDwvZ3VpbWVudT4gbWVudSwgYSBoZWxwIGJyb3dzZXIKKyAgICAgIHdpbGwgYmUgc3RhcnRlZCB3aXRoIHRoZSBhc3NvY2lhdGVkIEhUTUwgZG9jdW1lbnRhdGlvbi4KKyAgICA8L3BhcmE+CisgIDwvc2VjdDE+CisKKworPCEtLSAjIyMjIyMjIyMjIyMjIyMjIyBBcHBsaWNhdGlvbiBIZWxwIEJ1dHRvbnMgIyMjIyMjIyMjIyMjIyMjIC0tPgorCisgIDxzZWN0MSBpZD0iYXBwbGljYXRpb25oZWxwYnV0dG9ucyI+CisgICAgPHRpdGxlPkFwcGxpY2F0aW9uIEhlbHAgQnV0dG9uczwvdGl0bGU+CisKKyAgICA8bm90ZT4KKyAgICAgIDx0aXRsZT5EZXZlbG9wZXIgSW5mb3JtYXRpb248L3RpdGxlPgorICAgICAgPHBhcmE+CisgICAgICAgIFRoaXMgc2VjdGlvbiBpcyBmb3IgZGV2ZWxvcGVycy4gIERvY3VtZW50YXRpb24gYXV0aG9ycworICAgICAgICBnZW5lcmFsbHkgZG8gbm90IG5lZWQgdG8ga25vdyB0aGlzIG1hdGVyaWFsLgorICAgICAgPC9wYXJhPgorICAgIDwvbm90ZT4KKyAgICA8cGFyYT4KKyAgICAgIE1vc3QgR05PTUUgYXBwbGljYXRpb25zIHdpbGwgaGF2ZSA8Z3VpYnV0dG9uPkhlbHA8L2d1aWJ1dHRvbj4KKyAgICAgIGJ1dHRvbnMuICBUaGVzZSBhcmUgbW9zdCBvZnRlbiBzZWVuIGluIFByZWZlcmVuY2Ugd2luZG93cy4gKEFsbAorICAgICAgUHJlZmVyZW5jZSB3aW5kb3dzIHNob3VsZCBoYXZlIDxndWlidXR0b24+SGVscDwvZ3VpYnV0dG9uPgorICAgICAgYnV0dG9ucy4pIE1vc3QgPGd1aWJ1dHRvbj5IZWxwPC9ndWlidXR0b24+IGJ1dHRvbnMgd2lsbCBjb25uZWN0CisgICAgICB0byB0aGUgYXBwbGljYXRpb24gbWFudWFsLCBhbHRob3VnaCBzb21lIG1heSBjb25uZWN0IHRvIHNwZWNpYWwKKyAgICAgIGRvY3VtZW50cy4gIEJlY2F1c2UgdGhlIDxndWlidXR0b24+SGVscDwvZ3VpYnV0dG9uPiBidXR0b25zIGRvCisgICAgICBub3QgZ2VuZXJhbGx5IGhhdmUgdGhlaXIgb3duIHNwZWNpYWwgZG9jdW1lbnRhdGlvbiwgdGhlCisgICAgICBkb2N1bWVudGF0aW9uIGF1dGhvcihzKSBkbyBub3QgbmVlZCB0byBkbyB2ZXJ5IG11Y2guICBIb3dldmVyLAorICAgICAgdGhlIGFwcGxpY2F0aW9uIGF1dGhvciBtdXN0IGJlIGNhcmVmdWwgdG8gZ3VhcmFudGVlIHRoYXQgdGhlCisgICAgICBhcHBsaWNhdGlvbiBjb3JyZWN0bHkgb3BlbnMgdGhlIGhlbHAgZG9jdW1lbnRhdGlvbiB3aGVuIHRoZQorICAgICAgPGd1aWJ1dHRvbj5IZWxwPC9ndWlidXR0b24+IGJ1dHRvbnMgYXJlIHByZXNzZWQuICAKKyAgICA8L3BhcmE+CisgICAgPHBhcmE+CisgICAgICBUbyBtYWtlIHRoZSBIZWxwIGJ1dHRvbnMgY2FsbCB0aGUgY29ycmVjdCBkb2N1bWVudCBpbiB0aGUgR05PTUUgSGVscAorICAgICAgQnJvd3NlciB0aGUgZGV2ZWxvcGVyIHNob3VsZCBhZGQgY29kZSBiYXNlZCBvbiB0aGUgZm9sbG93aW5nIGV4YW1wbGU6CisgICAgPC9wYXJhPgorICAgIDxwcm9ncmFtbGlzdGluZz4KK2djaGFyICp0bXA7Cit0bXAgPSBnbm9tZV9oZWxwX2ZpbGVfZmluZF9maWxlICgibW9kdWxlIiwgInBhZ2UuaHRtbCIpOworaWYgKHRtcCkgeworICBnbm9tZV9oZWxwX2dvdG8oMCwgdG1wKTsKKyAgZ19mcmVlKHRtcCk7Cit9CisgICAgPC9wcm9ncmFtbGlzdGluZz4KKyAgICA8bm90ZT4KKyAgICAgIDx0aXRsZT5OT1RFPC90aXRsZT4KKyAgICAgIDxwYXJhPgorICAgICAgICBUaGUgZXhhbXBsZSBhYm92ZSBpcyBpbiB0aGUgQyBsYW5ndWFnZSwgcGxlYXNlIHJlZmVyIHRvIG90aGVyCisgICAgICAgIGRvY3VtZW50YXRpb24gb3IgZm9ydW1zIGZvciBvdGhlciBHTk9NRSBsYW5ndWFnZSBiaW5kaW5ncy4KKyAgICAgIDwvcGFyYT4KKyAgICA8L25vdGU+CisgPC9zZWN0MT4KKworPCEtLSAjIyMjIyMjIyMjIyMjIyMjIyBQYWNrYWdpbmcgQXBwbGV0IERvY3VtZW50YXRpb24gIyMjIyMjIyMjIyMjIyMjIC0tPgorCisgIDxzZWN0MSBpZD0icGFja2FnaW5nYXBwbGV0ZG9jcyI+CisgICAgPHRpdGxlPlBhY2thZ2luZyBBcHBsZXQgRG9jdW1lbnRhdGlvbjwvdGl0bGU+CisgICAgPHNlY3QyIGlkPSJhcHBsZXRmaWxlcyI+CisgICAgICA8dGl0bGU+QXBwbGV0IERvY3VtZW50YXRpb24gRmlsZXM8L3RpdGxlPgorICAgICAgPHBhcmE+CisgICAgICAgIEluIEdOT01FIDIuMCBlYWNoIGFwcGxldCB3aWxsIGhhdmUgaXRzIG93biBkb2N1bWVudGF0aW9uCisgICAgICAgIGluc3RhbGxlZCBzZXBhcmF0ZWx5LCBhbmQgdGhlIEdOT01FIDIuMCBoZWxwCisgICAgICAgIGJyb3dzZXIgKDxhcHBsaWNhdGlvbj5OYXV0aWx1czwvYXBwbGljYXRpb24+KSB3aWxsIGR5bmFtaWNhbGx5CisgICAgICAgIG1lcmdlIHRoZSBhcHBsZXQgZG9jdW1lbnRzIGludG8gYSBzaW5nbGUgdmlydHVhbCBib29rCisgICAgICAgIGNhbGxlZCA8Y2l0ZXRpdGxlPkdOT01FIEFwcGxldHM8L2NpdGV0aXRsZT4uIER1cmluZyB0aGUKKyAgICAgICAgdHJhbnNpdGlvbmFyeSBzdGFnZSBiZXR3ZWVuIEdOT01FIDEuMCBhbmQgR05PTUUgMi4wLCBlYWNoCisgICAgICAgIGFwcGxldCBpbiB0aGUgZ25vbWUtYXBwbGV0cyBwYWNrYWdlIGhhcyBpdHMgb3duIG1hbnVhbChzdG9yZWQKKyAgICAgICAgd2l0aCB0aGUgYXBwbGV0IGluIENWUyksIGJ1dCB0aGV5IGFyZSBtZXJnZWQgdG9nZXRoZXIgbWFudWFsbHkKKyAgICAgICAgdG8gY3JlYXRlIHRoZSA8Y2l0ZXRpdGxlPkdOT01FIEFwcGxldHM8L2NpdGV0aXRsZT4gYm9vayBiZWZvcmUKKyAgICAgICAgZGlzdHJpYnV0aW9uLiAgVGVsc2EgCisgICAgICAgIDxlbWFpbD5ob2JiaXRAYWxvc3MudWt1dS5vcmcudWs8L2VtYWlsPiBpcyB0aGUgbWFpbnRhaW5lciBvZgorICAgICAgICB0aGlzIGRvY3VtZW50LiAgQXBwbGV0IGRvY3VtZW50YXRpb24gc2hvdWxkIGJlIHNlbnQgdG8gVGVsc2EKKyAgICAgICAgKG9yIHBsYWNlZCBpbiBDVlMpIHdobyB3aWxsIG1ha2Ugc3VyZSB0aGV5IGFyZSBjb3JyZWN0bHkKKyAgICAgICAgcGFja2FnZWQgd2l0aCB0aGUgYXBwbGV0cy4gIFRoZSBhcHBsZXQgYXV0aG9yIHNob3VsZCBiZQorICAgICAgICBjb250YWN0ZWQgdG8gbW9kaWZ5IHRoZSBtZW51IGl0ZW1zIGFuZCBoZWxwIGJ1dHRvbnMgdG8gYmluZCB0bworICAgICAgICB0aGUgYXBwbGV0IGRvY3VtZW50YXRpb24gaWYgbmVjZXNzYXJ5LgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIEltYWdlcyB3aGljaCBhcmUgcGFydCBvZiB0aGUgYXBwbGV0IGRvY3VtZW50YXRpb24gc2hvdWxkIGJlIGluCisgICAgICAgIFBORyBmb3JtYXQgYW5kIHNob3VsZCByZXNpZGUgaW4gdGhlIHNhbWUgZGlyZWN0b3J5IGFzIHRoZSBTR01MCisgICAgICAgIGRvY3VtZW50IGZpbGUgaW4gQ1ZTKGdub21lLWFwcGxldHMvQVBQTEVUTkFNRS9oZWxwL0MpLgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIEFwcGxldHMgd2hpY2ggYXJlIG5vdCBwYXJ0IG9mIHRoZSBnbm9tZS1hcHBsZXRzIHBhY2thZ2UgbXVzdAorICAgICAgICBwYWNrYWdlIHRoZWlyIGRvY3VtZW50YXRpb24gd2l0aCB0aGUgcGFydGljdWxhciBhcHBsZXQKKyAgICAgICAgcGFja2FnZS4gVGhleSBzaG91bGQgdXNlIHRoZSBzYW1lIGFwcGxldCB0ZW1wbGF0ZSBhcyBvdGhlcgorICAgICAgICBhcHBsZXRzLiAgSG93ZXZlciwgdGhlIDxzZ21sdGFnPiZsdDt4cmVmPjwvc2dtbHRhZz4gbGlua3MgdG8KKyAgICAgICAgdGhlIGludHJvZHVjdG9yeSBjaGFwdGVyIG9mIHRoZSA8Y2l0ZXRpdGxlPkdOT01FCisgICAgICAgIEFwcGxldHM8L2NpdGV0aXRsZT4gIGJvb2sgbXVzdCBiZSByZW1vdmVkIChhcyB0aGUgMS54CisgICAgICAgIDxhcHBsaWNhdGlvbj5HTk9NRSBIZWxwIEJyb3dzZXI8L2FwcGxpY2F0aW9uPiBkb2VzIG5vdCBhbGxvdworICAgICAgICB5b3UgdG8gY3JlYXRlIGxpbmtzIGJldHdlZW4gc2VwYXJhdGUgZG9jdW1lbnRzKSBhbmQgcmVwbGFjZWQKKyAgICAgICAgd2l0aCBzdWl0YWJsZSB0ZXh0LiAgTm90ZSB0aGF0IHNpbmNlIHRoaXMgZG9jdW1lbnQgaXMgbm90IHBhcnQKKyAgICAgICAgb2YgdGhlIDxjaXRldGl0bGU+R05PTUUgQXBwbGV0czwvY2l0ZXRpdGxlPiBib29rLCB5b3UgbXVzdAorICAgICAgICByZW1lbWJlciB0byBhZGQgPHNnbWx0YWc+Jmx0O2xlZ2Fsbm90aWNlPjwvc2dtbHRhZz4gYW5kCisgICAgICAgIDxzZ21sdGFnPiZsdDtjb3B5cmlnaHQ+PC9zZ21sdGFnPiBzZWN0aW9ucy4KKyAgICAgIDwvcGFyYT4KKyAgICA8L3NlY3QyPgorCisgICAgPHNlY3QyIGlkPSJhcHBsZXRtZW51Ij4KKyAgICAgIDx0aXRsZT5BZGRpbmcgRG9jdW1lbnRhdGlvbiB0byBhbiBBcHBsZXQgTWVudTwvdGl0bGU+CisgICAgICA8bm90ZT4KKyAgICAgICAgPHRpdGxlPkRldmVsb3BlciBJbmZvcm1hdGlvbjwvdGl0bGU+CisgICAgICAgIDxwYXJhPgorICAgICAgICAgIFRoaXMgc2VjdGlvbiBpcyBmb3IgZGV2ZWxvcGVycy4gIERvY3VtZW50YXRpb24gYXV0aG9ycworICAgICAgICAgIGdlbmVyYWxseSBkbyBub3QgbmVlZCB0byBrbm93IHRoaXMgbWF0ZXJpYWwuCisgICAgICAgIDwvcGFyYT4KKyAgICAgIDwvbm90ZT4gCisgICAgICA8cGFyYT4KKyAgICAgICAgQXBwbGV0cyBzaG91bGQgaGF2ZSA8Z3VpbWVudT5BYm91dDwvZ3VpbWVudT4gYW5kCisgICAgICAgIDxndWltZW51Pk1hbnVhbDwvZ3VpbWVudT4gbWVudSBpdGVtcywgdHlwaWNhbGx5IGFzIHRoZSBmaXJzdAorICAgICAgICBhbmQgc2Vjb25kIHRvcC1tb3N0IGl0ZW1zIGluIHRoZSBtZW51IHJlc3BlY3RpdmVseS4gIFRoaXMKKyAgICAgICAgc2VjdGlvbiBkZXNjcmliZXMgaG93IHRoZSBkZXZlbG9wZXIgY3JlYXRlcyB0aGVzZSBtZW51IGl0ZW1zCisgICAgICAgIGFuZCBsaW5rcyB0aGVtIHRvIHRoZSBkb2N1bWVudGF0aW9uLgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIFRvIGFkZCBhbiBhcHBsZXQncyBtYW51YWwgdG8gaXRzIGFwcGxldCBtZW51LCB1c2U6Cis8cHJvZ3JhbWxpc3Rpbmc+CisvKiBhZGQgYW4gaXRlbSB0byB0aGUgYXBwbGV0IG1lbnUgKi8KK2FwcGxldF93aWRnZXRfcmVnaXN0ZXJfY2FsbGJhY2soQVBQTEVUX1dJREdFVChhcHBsZXQpLCAibWFudWFsIiwKK18oIk1hbnVhbCIpLCAmYW1wO29wZW5fbWFudWFsLCBOVUxMKTsKKzwvcHJvZ3JhbWxpc3Rpbmc+CisgICAgICAgIEhlcmUgdGhlIHNlY29uZCBhcmd1bWVudCBpcyBhbiBhcmJpdHJhcnkgbmFtZSBmb3IgdGhlCisgICAgICAgIGNhbGxiYWNrLCB0aGUgdGhpcmQgYXJndW1lbnQgaXMgdGhlIGxhYmVsIHdoaWNoIHdpbGwgYXBwZWFyCisgICAgICAgIHdoZW4gdGhlIHVzZXIgcmlnaHQgY2xpY2tzIG9uIHRoZSBhcHBsZXQsIGFuZCB0aGUgZm91cnRoCisgICAgICAgIGFyZ3VtZW50IGlzIHRoZSBjYWxsYmFjayBmdW5jdGlvbi4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBZb3Ugd2lsbCBuZWVkIHRvIHdyaXRlIGEgc2ltcGxlIGNhbGxiYWNrIGZ1bmN0aW9uIHRvIG9wZW4gdGhlCisgICAgICAgIGhlbHAgYnJvd3NlciB0byB0aGUgYXBwcm9wcmlhdGUgZG9jdW1lbnQuICBUaGlzIGlzIGRvbmUgdXNpbmcKKyAgICAgICAgdGhlIDxmdW5jdGlvbj5nbm9tZV9oZWxwX2ZpbGVfZmluZF9maWxlPC9mdW5jdGlvbj4gZnVuY3Rpb24sCisgICAgICAgIGFzIGRlc2NyaWJlZCBpbiA8eHJlZiBsaW5rZW5kPSJhcHBsaWNhdGlvbmhlbHBidXR0b25zIiAvPi4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBZb3Ugd2lsbCBhbHNvIHdhbnQgdG8gYWRkIGFuIDxndWltZW51PkFib3V0PC9ndWltZW51PiBtZW51CisgICAgICAgIGl0ZW0gdG8gdGhlIGFwcGxldCdzIG1lbnUuICBUaGlzIGlzIGEKKyAgICAgICAgc3RvY2sgbWVudSBpdGVtIGFuZCBpcyBkb25lOgorPHByb2dyYW1saXN0aW5nPgorYXBwbGV0X3dpZGdldF9yZWdpc3Rlcl9zdG9ja19jYWxsYmFjayAoQVBQTEVUX1dJREdFVChhcHBsZXQpLCAiYWJvdXQiLAorICAgICAgIEdOT01FX1NUT0NLX01FTlVfQUJPVVQsIF8oIkFib3V0IiksICZhbXA7bXlfYXBwbGV0X2NiX2Fib3V0LAorICAgICAgIE5VTEwpOworPC9wcm9ncmFtbGlzdGluZz4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBNb3JlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBhdCA8dWxpbmsgdHlwZT0iaHR0cCIKKyAgICAgICAgdXJsPSJodHRwOi8vZGV2ZWxvcGVyLmdub21lLm9yZy9kb2MvdHV0b3JpYWxzL2FwcGxldC9pbmRleC5odG1sIj5Xcml0aW5nCisgICAgICAgIEdOT01FIHBhbmVsIGFwcGxldHMgdXNpbmcgdGhlIEdUSysvR1RLLS0gd2lkZ2V0IHNldDwvdWxpbms+LgorICAgICAgPC9wYXJhPgorICAgIDwvc2VjdDI+CisgPC9zZWN0MT4KKworCis8IS0tICMjIyMjIyMjIyMjIyMjIyMjIFdyaXRpbmcgQ29udGV4dCBTZW5zaXRpdmUgSGVscCAjIyMjIyMjIyMjIyMjIyMKKy0tPgorCisgIDxzZWN0MSBpZD0id3JpdGluZ2NvbnRleHRzZW5zaXRpdmVoZWxwIj4KKyAgICA8dGl0bGU+V3JpdGluZyBDb250ZXh0IFNlbnNpdGl2ZSBIZWxwIChjb21pbmcgaW4gR05PTUUtMi4wKTwvdGl0bGU+CisgICAgPHBhcmE+CisgICAgICBDb250ZXh0IHNlbnNpdGl2ZSBoZWxwLCBhbHNvIGtub3duIGFzICJwb3AtdXAiIGhlbHAsIHdpbGwgYWxsb3cKKyAgICAgIGEgdXNlciB0byBvYnRhaW4gaGVscCBpbmZvcm1hdGlvbiBhYm91dCBzcGVjaWZpYyBidXR0b25zIG9yCisgICAgICBwYXJ0cyBvZiBhbiBhcHBsaWNhdGlvbi4KKyAgICA8L3BhcmE+CisgICAgPHBhcmE+CisgICAgICBDb250ZXh0IHNlbnNpdGl2ZSBoZWxwIGlzIHN0aWxsIHVuZGVyIGRldmVsb3BtZW50IGFuZCBub3QgYWxsCisgICAgICB0aGUgZGV0YWlscyBhcmUgYXZhaWxhYmxlIGF0IHRoaXMgdGltZS4gSG93ZXZlciwgdGhlIGJhc2ljcyBjYW4KKyAgICAgIGJlIHNob3duIGhlcmUgc28gdGhhdCB5b3UgY2FuIHVuZGVyc3RhbmQgaG93IHRoZSBzeXN0ZW0gd2lsbAorICAgICAgd29yay4KKyAgICA8L3BhcmE+CisgICAgPHBhcmE+CisgICAgICBUaGUgQ29udGV4dCBTZW5zaXRpdmUgSGVscCBzeXN0ZW0gaXMgZGVzaWduZWQgdG8gYWxsb3cgdGhlCisgICAgICBkZXZlbG9wZXIgdG8gZ2l2ZSBhbiBpZCB0byBhIHBhcnRpY3VsYXIgcG9ydGlvbiBvZiB0aGUgVXNlcgorICAgICAgSW50ZXJmYWNlLCBmb3IgZXhhbXBsZSwgYSBidXR0b24uIE9uY2UgdGhlIGludGVyZmFjZSBpcyBjb21wbGV0ZQorICAgICAgYSBQZXJsIHNjcmlwdCBjYW4gdGhlbiBiZSBydW4gYWdhaW5zdCB0aGUgaW50ZXJmYWNlIGNvZGUgdG8KKyAgICAgIGNyZWF0ZSBhICJtYXAiIGZpbGUuIFRoaXMgbWFwIGZpbGUgYWxsb3dzIHRoZSBkZXZlbG9wZXIgb3IKKyAgICAgIHdyaXRlciB0byBhc3NvY2lhdGUgcGFydGljdWxhciBwYXJhZ3JhcGggc2VjdGlvbnMgZnJvbSBhbiBYTUwKKyAgICAgIGRvY3VtZW50IHRvIHRoZSBpbnRlcmZhY2UgaXRlbXMuCisgICAgPC9wYXJhPgorICAgIDxwYXJhPgorICAgICAgVGhlIFhNTCB1c2VkIGZvciB0aGUgZG9jdW1lbnQgaXMgYSBzbWFsbCBYTUwgRFREIHRoYXQgaXMgYmVpbmcKKyAgICAgIGRldmVsb3BlZCB0byB1c2UgdGhlIHNhbWUgdGFncyAoYWxiZWl0LCBtdWNoIGZld2VyKSBhcyBEb2NCb29rCisgICAgICBzbyB0aGF0IHdyaXRlcnMgZG8gbm90IGhhdmUgdG8gcmUtbGVhcm4gYSBuZXcgRFRELgorICAgIDwvcGFyYT4KKyAgICA8cGFyYT4KKyAgICAgIE9uY2UgdGhlIGRvY3VtZW50IGlzIHdyaXR0ZW4gYW5kIG1hcCBmaWxlIGlzIGNvbXBsZXRlLCB3aGVuIHRoZQorICAgICAgdXNlciBsYXVuY2hlcyBjb250ZXh0IHNlbnNpdGl2ZSBoZWxwIG9uIHRoZSBpbnRlcmZhY2UgKGVpdGhlciBieQorICAgICAgcHJlc3NpbmcgYSBidXR0b24gYW5kIHRoZW4gY2xpY2tpbmcgb24gdGhlIGludGVyZmFjZSBpdGVtIHRoZXkKKyAgICAgIHdhbnQgaW5mb3JtYXRpb24gb24sIG9yIGJ5IHJpZ2h0IG1vdXNlIGNsaWNraW5nIG9uIHRoZSBpbnRlcmZhY2UKKyAgICAgIGl0ZW0gYW5kIHNlbGVjdGluZyBhIHBvcC11cCBtZW51IGl0ZW0gbGlrZSAiV2hhdCdzIFRoaXMiKSBhCisgICAgICBzbWFsbCB0cmFuc2llbnQgd2luZG93IHdpbGwgYXBwZWFyIHdpdGggYnJpZWYgYnV0IGRldGFpbGVkCisgICAgICBpbmZvcm1hdGlvbiBvbiB0aGUgaW50ZXJmYWNlIGl0ZW0uCisgICAgPC9wYXJhPgorICA8L3NlY3QxPgorCis8IS0tICMjIyMjIyMjIyMjIyMjIyMjIFJlZmVycmluZyB0byBPdGhlciBHTk9NRSBEb2N1bWVudGF0aW9uCisjIyMjIyMjIyMjIyMjIC0tPgorCisgIDxzZWN0MSBpZD0icmVmZXJyaW5nIj4KKyAgICA8dGl0bGU+UmVmZXJyaW5nIHRvIE90aGVyIEdOT01FIERvY3VtZW50YXRpb24gKGNvbWluZyBpbgorICAgIEdOT01FLTIuMCk8L3RpdGxlPgorICAgIDxwYXJhPgorICAgICAgSW4gdGhlIEdOT01FIDIuMCBIZWxwIFN5c3RlbSwgeW91IHdpbGwgYmUgYWJsZSB0byBjcmVhdGUgbGlua3MKKyAgICAgIGZyb20gb25lIGRvY3VtZW50IHRvIGFub3RoZXIuICBUaGUgZXhhY3QgbWVjaGFuaXNtIGZvciBkb2luZworICAgICAgdGhpcyBpcyBpbiBkZXZlbG9wbWVudC4KKyAgICA8L3BhcmE+CisgIDwvc2VjdDE+CisgIAorICAKKzwhLS0gIyMjIyMjIyMjIyMjIyMjIyMgQmFzaWNzIG9mIERvY3VtZW50YXRpb24gU3R5bGUgIyMjIyMjIyMjIyMjIyMjIC0tPgorCisgIDxzZWN0MSBpZD0iYmFzaWNzIj4KKyAgICA8dGl0bGU+QmFzaWNzIG9mIERvY3VtZW50YXRpb24gU3R5bGU8L3RpdGxlPgorICAgIDxwYXJhPgorICAgICAgIE1vc3QgcGVvcGxlIGhhdmUgbmV2ZXIgZW5qb3llZCByZWFkaW5nIGEgc29mdHdhcmUgbWFudWFsLCBhbmQKKyAgICAgICB0aGV5IHByb2JhYmx5IG5ldmVyIHdpbGwuICBNYW55IHRpbWVzLCB0aGV5J2xsIHJlYWQgdGhlCisgICAgICAgZG9jdW1lbnRhdGlvbiBvbmx5IHdoZW4gdGhleSBydW4gaW50byBwcm9ibGVtcywgYW5kIHRoZXknbGwgYmUKKyAgICAgICBmcnVzdHJhdGVkIGFuZCB1cHNldCBiZWZvcmUgdGhleSBldmVuIHJlYWQgYSB3b3JkLiAgT24gdGhlCisgICAgICAgb3RoZXIgaGFuZCwgc29tZSByZWFkZXJzIHdpbGwgcmVhZCB0aGUgbWFudWFsIGFsbCB0aGUgd2F5CisgICAgICAgdGhyb3VnaCwgb3IgYXQgbGVhc3QgbG9vayBhdCB0aGUgaW50cm9kdWN0aW9uIGJlZm9yZSB0aGV5CisgICAgICAgc3RhcnQuIFlvdXIgZG9jdW1lbnQgbWlnaHQgc2VydmUgYXMgYSByZWZlcmVuY2UgZm9yIGFuIGV4cGVydAorICAgICAgIG9yIGEgZ3VpZGUgdG8gYSBiZWdpbm5lciwgYW5kIGl0IG11c3QgaGF2ZSBlbm91Z2ggZGVwdGggdG8KKyAgICAgICBzYXRpc2Z5IHRoZSBmaXJzdCB3aXRob3V0IG92ZXJ3aGVsbWluZyB0aGUgc2Vjb25kLiAgSWRlYWxseSwgaXQKKyAgICAgICB3aWxsIHNlcnZlIGJlZ2lubmVycyBhcyB0aGV5IDxlbXBoYXNpcz5iZWNvbWU8L2VtcGhhc2lzPgorICAgICAgIGV4cGVydHMuIFJlbWVtYmVyLCB5b3VyIGdvYWwgaXMgdG8gcHJvZHVjZSA8ZW1waGFzaXM+Y29tcGxldGUsCisgICAgICAgaW50dWl0aXZlIGFuZCBjbGVhcjwvZW1waGFzaXM+IGRvY3VtZW50YXRpb24uCisgICAgPC9wYXJhPgorICAgIDxwYXJhPgorICAgICAgIEluIG9yZGVyIHRvIHdyaXRlIHVzZWZ1bCBkb2N1bWVudGF0aW9uLCB5b3UnbGwgaGF2ZSB0byBrbm93IHdobworICAgICAgIHlvdXIgYXVkaWVuY2UgaXMgbGlrZWx5IHRvIGJlLiAgVGhlbiwgeW91IGNhbiBsb29rIGZvciB0aGUKKyAgICAgICBwcm9ibGVtcyB0aGV5J3JlIGxpa2VseSB0byBydW4gaW50bywgYW5kIHNvbHZlIHRoZW0uICBJdCB3aWxsCisgICAgICAgYWxzbyBoZWxwIGlmIHlvdSBmb2N1cyBvbiB0aGUgdGFza3MgdXNlcnMgd2lsbCBwZXJmb3JtLCBhbmQKKyAgICAgICBncm91cCBmZWF0dXJlcyBhY2NvcmRpbmdseSwgcmF0aGVyIHRoYW4gc2ltcGx5IGRlc2NyaWJpbmcKKyAgICAgICBmZWF0dXJlcyBhdCByYW5kb20uICAKKyAgICA8L3BhcmE+CisKKzwhLS0gICoqKioqKioqKioqIEJhc2ljcyBvZiBEb2N1bWVudGF0aW9uIFN0eWxlOiBwbGFubmluZyAtLT4KKworICAgIDxzZWN0MiBpZD0ic3R5bGVwbGFubmluZyI+CisgICAgICA8dGl0bGU+UGxhbm5pbmc8L3RpdGxlPgorICAgICAgPHBhcmE+CisgICAgICAgICBCZWdpbiBkb2N1bWVudGluZyBieSBsZWFybmluZyBob3cgdG8gdXNlIHRoZSBhcHBsaWNhdGlvbiBhbmQKKyAgICAgICAgIHJlYWRpbmcgb3ZlciBhbnkgZXhpc3RpbmcgZG9jdW1lbnRhdGlvbi4gIFBheSBhdHRlbnRpb24gdG8KKyAgICAgICAgIHBsYWNlcyB3aGVyZSB5b3VyIGRvY3VtZW50IHdpbGwgZGlmZmVyIGZyb20gdGhlIHRlbXBsYXRlLiAgSXQKKyAgICAgICAgIG1heSBoZWxwIHRvIGRldmVsb3AgYSBkb2N1bWVudCBza2VsZXRvbjogYSB2YWxpZCBYTUwgb3IgU0dNTAorICAgICAgICAgZG9jdW1lbnQgdGhhdCBoYXMgbGl0dGxlIG9yIG5vIGNvbnRlbnQuICBGb3IgdmVyeSBsYXJnZQorICAgICAgICAgYXBwbGljYXRpb25zLCB5b3Ugd2lsbCBuZWVkIHRvIG1ha2Ugc2lnbmlmaWNhbnQgZGVwYXJ0dXJlcworICAgICAgICAgZnJvbSB0aGUgdGVtcGxhdGVzLCBzaW5jZSB5b3UnbGwgYmUgdXNpbmcgdGhlCisgICAgICAgICA8c2dtbHRhZz4mbHQ7Ym9vaz48L3NnbWx0YWc+IHRhZyBpbnN0ZWFkIG9mCisgICAgICAgICA8c2dtbHRhZz4mbHQ7Y2hhcHRlcj48L3NnbWx0YWc+IG9yCisgICAgICAgICA8c2dtbHRhZz4mbHQ7YXJ0aWNsZT48L3NnbWx0YWc+LgorICAgICAgPC9wYXJhPgorICAgIDwvc2VjdDI+CisKKworPCEtLSAjIyMjIyMjIEJhc2ljcyBvZiBEb2N1bWVudGF0aW9uIFN0eWxlIHwgQmFsYW5jZSAjIyMjIyMjIC0tPgorICAgIDxzZWN0MiBpZD0iYmFsYW5jZSI+CisgICAgICA8dGl0bGU+QWNoaWV2aW5nIGEgQmFsYW5jZWQgU3R5bGU8L3RpdGxlPgorCisgICAgICA8cGFyYT4gCisgICAgICAgICBKdXN0IGFzIHlvdSBuZWVkIHRvIGp1Z2dsZSBleHBlcnQgYW5kIG5vdmljZSByZWFkZXJzLAorICAgICAgICAgeW91J2xsIGhhdmUgdG8ganVnZ2xlIGEgbnVtYmVyIG9mIG90aGVyIGV4dHJlbWVzIGFzIHlvdSB3cml0ZToKKyAgICAgICAgIDxpdGVtaXplZGxpc3Q+CisgICAgICAgICAgPGxpc3RpdGVtPgorCSAgICA8cGFyYT4KKyAgICAgICAgICAgICAgRG9jdW1lbnRzIHNob3VsZCBiZSBjb21wbGV0ZSwgeWV0IGNvbmNpc2UuICBZb3Ugc2hvdWxkCisgICAgICAgICAgICAgIGRlc2NyaWJlIGV2ZXJ5IGZlYXR1cmUsIGJ1dCB5b3UnbGwgaGF2ZSBkZWNpZGUgaG93IG11Y2gKKyAgICAgICAgICAgICAgZGV0YWlsIGlzIHJlYWxseSBuZWNlc3NhcnkuICBJdCdzIG5vdCwgZm9yIGV4YW1wbGUsCisgICAgICAgICAgICAgIG5lY2Vzc2FyeSB0byBkZXNjcmliZSBldmVyeSBidXR0b24gYW5kIGZvcm0gZmllbGQgaW4gYQorICAgICAgICAgICAgICBkaWFsb2cgYm94LCBidXQgeW91IHNob3VsZCBtYWtlIHN1cmUgdGhhdCB5b3VyIHJlYWRlcnMKKyAgICAgICAgICAgICAga25vdyBob3cgdG8gYnJpbmcgdXAgdGhlIGRpYWxvZyBhbmQgd2hhdCBpdCBkb2VzLiAgSWYKKyAgICAgICAgICAgICAgeW91IHNwZW5kIGZld2VyIHdvcmRzIG9uIHRoZSBvYnZpb3VzLCB5b3UgY2FuIHNwZW5kIG1vcmUKKyAgICAgICAgICAgICAgdGltZSBjbGFyaWZ5aW5nIHRoZSBhbWJpZ3VvdXMgbGFiZWxzIGFuZCBleHBsYWluaW5nCisgICAgICAgICAgICAgIGl0ZW1zIHRoYXQgYXJlIG1vcmUgY29tcGxleC4KKyAgICAgICAgICAgIDwvcGFyYT4KKyAgICAgICAgICA8L2xpc3RpdGVtPgorCSAgPGxpc3RpdGVtPgorCSAgICA8cGFyYT4KKyAgICAgICAgICAgICAgQmUgZW5nYWdpbmcgYW5kIGZyaWVuZGx5LCB5ZXQgcHJvZmVzc2lvbmFsLiBHYW1lcworICAgICAgICAgICAgICBkb2N1bWVudHMgbWF5IGJlIGxlc3MgZm9ybWFsIHRoYW4gcHJvZHVjdGl2aXR5CisgICAgICAgICAgICAgIGFwcGxpY2F0aW9uIGRvY3VtZW50cyAocGVvcGxlIGRvbid0CisgICAgICAgICAgICAgIDxlbXBoYXNpcz51c2U8L2VtcGhhc2lzPiBnYW1lcywgdGhleQorICAgICAgICAgICAgICA8ZW1waGFzaXM+cGxheTwvZW1waGFzaXM+IHRoZW0pLCBidXQgYWxsIG9mIHRoZW0gc2hvdWxkCisgICAgICAgICAgICAgIG1haW50YWluIGEgc3RhbmRhcmQgb2Ygc3R5bGUgd2hpY2ggaG9sZHMgdGhlIHJlYWRlcidzCisgICAgICAgICAgICAgIGludGVyZXN0IHdpdGhvdXQgcmVzb3J0aW5nIHRvIGpva2VzIGFuZCB1bnRyYW5zbGF0YWJsZQorICAgICAgICAgICAgICBhbGx1c2lvbnMgb3IgcHVucy4KKyAgICAgICAgICAgPC9wYXJhPgorCSAgPC9saXN0aXRlbT4KKwkgIAorICAgCSAgPGxpc3RpdGVtPgorCSAgICA8cGFyYT4KKyAgICAgICAgICAgICAgRXhhbXBsZXMsIHRpcHMsIG5vdGVzLCBhbmQgc2NyZWVuc2hvdHMgYXJlIHVzZWZ1bCB0bworICAgICAgICAgICAgICBicmVhayB1cCBsb25nIHN0cmV0Y2hlcyBvZiB0ZXh0LCBidXQgdG9vIG1hbnkgY2FuIGdldCBpbgorICAgICAgICAgICAgICB0aGUgd2F5LCBhbmQgbWFrZSB5b3VyIGRvY3VtZW50cyB0b28gY2hvcHB5IHRvIHJlYWQuCisgICAgICAgICAgICAgIEl0J3MgZ29vZCB0byBwcm92aWRlIGEgc2NyZWVuc2hvdCBvZiBhbnkgZGlhbG9nIHdpbmRvd3MKKyAgICAgICAgICAgICAgYSB1c2VyIG1pZ2h0IHJ1biBpbnRvLCBidXQgaWYgYSBkaWFsb2cgYm94IGhhcyBzZXZlcmFsCisgICAgICAgICAgICAgIHRhYnMsIGl0J3Mgbm90IHVzdWFsbHkgbmVjZXNzYXJ5IHRvIGhhdmUgb25lIGZvciBlYWNoLgorICAgICAgICAgICA8L3BhcmE+CisJICA8L2xpc3RpdGVtPgorCisgICAJICA8bGlzdGl0ZW0+CisJICAgIDxwYXJhPgorICAgICAgICAgICAgICBUaGUgR0RQIHN0cml2ZXMgdG8gaGF2ZSBhbGwgb2YgaXRzIGRvY3VtZW50YXRpb24gY29uZm9ybQorICAgICAgICAgICAgICB0byBjZXJ0YWluIHN0YW5kYXJkcyBvZiBzdHlsZSBhbmQgY29udGVudCwgYnV0IGV2ZXJ5CisgICAgICAgICAgICAgIGRvY3VtZW50IChhbmQgZXZlcnkgd3JpdGVyKSBpcyBkaWZmZXJlbnQuICBZb3Ugd2lsbCBuZWVkCisgICAgICAgICAgICAgIHRvIHVzZSB5b3VyIGp1ZGdlbWVudCwgYW5kIHdyaXRlIGRvY3VtZW50cyB0byBmaXQgd2l0aAorICAgICAgICAgICAgICB0aGUgcmVzdCBvZiB0aGUgcHJvamVjdCwgd2l0aG91dCBjb21wcm9taXNpbmcgdGhlCisgICAgICAgICAgICAgIGluZGl2aWR1YWwgbmVlZHMgb2YgeW91ciBzdWJqZWN0LCBvciB5b3VyIG93bgorICAgICAgICAgICAgICBpbmRpdmlkdWFsaXR5IGFzIGEgd3JpdGVyLgorICAgICAgICAgICA8L3BhcmE+CisJICA8L2xpc3RpdGVtPgorCisJPC9pdGVtaXplZGxpc3Q+CisgICAgICAgPC9wYXJhPgorICAgIDwvc2VjdDI+CisKKworPCEtLSAjIyMjIyMjIEJhc2ljcyBvZiBEb2N1bWVudGF0aW9uIFN0eWxlIHwgU3RydWN0dXJlICMjIyMjIyMgLS0+CisKKyAgICA8c2VjdDIgaWQ9InN0eWxlc3RydWN0dXJlIj4KKyAgICAgIDx0aXRsZT5TdHJ1Y3R1cmU8L3RpdGxlPgorICAgICAgPHBhcmE+CisgICAgICAgICBJbiBnZW5lcmFsLCB5b3Ugd29uJ3QgaGF2ZSB0byB3b3JyeSB0b28gbXVjaCBhYm91dCBzdHJ1Y3R1cmUsCisgICAgICAgICBiZWNhdXNlIHRoZSB0ZW1wbGF0ZXMgcHJvdmlkZSB5b3Ugd2l0aCBhbiBleGNlbGxlbnQgZXhhbXBsZS4KKyAgICAgICAgIEFzIGEgZ2VuZXJhbCBydWxlLCB0cnkgdG8gZm9sbG93IHRoYXQgc3RydWN0dXJhbCBleGFtcGxlLgorICAgICAgICAgVGhhdCBtZWFucyB1c2luZyBsaW5rcywgaGllcmFyY2hpY2FsIG5lc3RpbmcsIGFuZCwgaWYKKyAgICAgICAgIG5lY2Vzc2FyeSwgYSBnbG9zc2FyeSBvciBpbmRleC4gIFlvdSBwcm9iYWJseSB3b24ndCBuZWVkIHRvCisgICAgICAgICB1c2UgZXZlcnkgYXZhaWxhYmxlIHN0cnVjdHVyYWwgdGFnLCBidXQgdGFrZSBhZHZhbnRhZ2Ugb2YKKyAgICAgICAgIHdoYXQgRG9jQm9vayBwcm92aWRlcyB5b3UuCisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgIEFzIHRvIGxpbmtpbmcsIHRoZXJlJ3Mgc29tZSBkaXNhZ3JlZW1lbnQgYWJvdXQgd2hldGhlciB0byB1c2UKKyAgICAgICAgIDxzZ21sdGFnPiZsdDt4cmVmPjwvc2dtbHRhZz4gPHNnbWx0YWc+Jmx0O2xpbms+PC9zZ21sdGFnPgorICAgICAgICAgd2hlbiB5b3UgbWFrZSBsaW5rcyB3aXRoaW4geW91ciBkb2N1bWVudHMuICBZb3UnbGwgaGF2ZSB0bworICAgICAgICAgZGVjaWRlLCBiYXNlZCBvbiB0aGUgZGlmZmVyZW50IHdheXMgdGhhdCB0aGV5IGFyZSBwcmVzZW50ZWQKKyAgICAgICAgIGluIG91dHB1dCwgd2hpY2ggaXMgbW9yZSBhcHByb3ByaWF0ZSBnaXZlbiB0aGUgY29udGV4dC4KKyAgICAgICAgIFJlZ2FyZGxlc3Mgb2Ygd2hpY2ggeW91IHVzZSwgeW91IHNob3VsZCBub3QgZm9yZ2V0IHRvIHVzZQorICAgICAgICAgdGhlbS4gIEhlbHAgeW91ciByZWFkZXJzIGZpbmQgaW5mb3JtYXRpb24gdGhhdCByZWxldmFudCB0bworICAgICAgICAgdGhlIGlzc3VlIGF0IGhhbmQuCisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgIFRoZSB0YWJsZSBvZiBjb250ZW50cyB3aWxsIGJlIGdlbmVyYXRlZCBhdXRvbWF0aWNhbGx5LCBidXQKKyAgICAgICAgIHlvdSB3aWxsIHByb2JhYmx5IGhhdmUgdG8gZGV2ZWxvcCB5b3VyIG93biBpbmRleCBpZiB5b3Ugd2lzaAorICAgICAgICAgdG8gaGF2ZSBvbmUuICBUaGUgTmF1dGlsdXMgSGVscCBCcm93c2VyIHdpbGwgaGF2ZSBuZXcsIGFuZAorICAgICAgICAgY3VycmVudGx5IHVua25vd24sIGluZGV4aW5nIGNhcGFiaWxpdGllcywgc28gaW5kZXggc3R5bGUgYW5kCisgICAgICAgICBzdHJ1Y3R1cmUgYXJlIHN0aWxsIHVuZGVyIGRpc2N1c3Npb24uICBUaGUgR05PTUUgVXNlcidzIEd1aWRlCisgICAgICAgICB3aWxsIGNvbnRhaW4gYSBnbG9zc2FyeSBpbiBpdHMgbmV4dCB2ZXJzaW9uczsgdW5sZXNzIHlvdSdyZQorICAgICAgICAgd3JpdGluZyBhPHNnbWx0YWc+Jmx0O2Jvb2s+PC9zZ21sdGFnPiwgaXQgd2lsbCBwcm9iYWJseSBiZSBiZXN0IHRvCisgICAgICAgICBjb250cmlidXRlIHRvIHRoYXQgcmF0aGVyIHRoYW4gZGV2ZWxvcGluZyB5b3VyIG93bi4KKyAgICAgIDwvcGFyYT4KKyAgICA8L3NlY3QyPgorPCEtLSAjIyMjIyMjIEJhc2ljcyBvZiBEb2N1bWVudGF0aW9uIFN0eWxlIHwgR3JhbW1hciAmIFNwZWxsaW5nICMjIyMjIyMgLS0+CisKKyAgICA8c2VjdDIgaWQ9InN0eWxlZ3JhbW1hciI+CisgICAgICA8dGl0bGU+R3JhbW1hciBhbmQgU3BlbGxpbmc8L3RpdGxlPgorICAgICAgPHBhcmE+CisgICAgICAgIE5vYm9keSBleHBlY3RzIHlvdSB0byBiZSBwZXJmZWN0OyB0aGV5IGp1c3QgZXhwZWN0IHRoZQorICAgICAgICBkb2N1bWVudGF0aW9uIGZvciB0aGVpciBzb2Z0d2FyZSB0byBiZSBlcnJvci1mcmVlLiAgVGhhdCBtZWFucworICAgICAgICB0aGF0LCBpbiB0aGUgc2FtZSB3YXkgdGhhdCBkZXZlbG9wZXJzIGxvb2sgZm9yIGJ1Z3MgYW5kIGFjY2VwdAorICAgICAgICBidWcgcmVwb3J0cywgd3JpdGVycyBtdXN0IGNoZWNrIGZvciBlcnJvcnMgaW4gdGhlaXIgZG9jdW1lbnRzLgorICAgICAgICBQb29yIGdyYW1tYXIsIGJhZCBzcGVsbGluZywgYW5kIGdyb3NzIHRlY2huaWNhbCBlcnJvcnMgaW4KKyAgICAgICAgZHJhZnQgZG9jdW1lbnRzIGFyZSBmaW5lLiAgSG93ZXZlciwgaWYgdGhvc2UgcHJvYmxlbXMgc2hvdyB1cAorICAgICAgICBpbiBhICJyZWFsIiByZWxlYXNlLCB0aGV5IGNhbiBjb3VudCBhZ2FpbnN0IHRoZSBjcmVkaWJpbGl0eSBvZgorICAgICAgICBHTk9NRSBhbmQgTGludXguICBUaGV5J2xsIGFsc28gbWFrZSB5b3UgbG9vayBiYWQuCisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICAgVGhlcmUgaXMgbm8gc3Vic3RpdHV0ZSBmb3IgYSBodW1hbiBwcm9vZnJlYWRlcjsgdXNlIGEKKyAgICAgICAgc3BlbGwtY2hlY2sgcHJvZ3JhbSwgdGhlbiByZWFkIGl0IG92ZXIgeW91cnNlbGYsIGFuZCB0aGVuIGZpbmQKKyAgICAgICAgc29tZW9uZSBlbHNlIHRvIGhlbHAgeW91LiAgT3RoZXIgR0RQIG1lbWJlcnMgYXJlLCBvZiBjb3Vyc2UsCisgICAgICAgIHdpbGxpbmcgYW5kIGFibGUgdG8gaGVscCB5b3UsIGJ1dCBub24td3JpdGVycyBhcmUgb2Z0ZW4gYXQKKyAgICAgICAgbGVhc3QgYXMgaGVscGZ1bC4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBQcm9vZnJlYWRpbmcgZG9jdW1lbnRzIGlzIGJvdGggYSBhbHNvIGEgZ29vZCB3YXkgdG8KKyAgICAgICAgZmFtaWxpYXJpemUgeW91cnNlbGYgd2l0aCBkb2N1bWVudGF0aW9uLCBhbmQgaXQgY2VydGFpbmx5CisgICAgICAgIG1ha2VzIHlvdSB2YWx1YWJsZSB0byB0aGUgR0RQLiBIZWxwIG90aGVyIHdyaXRlcnMgcHJvb2YgdGhlaXIKKyAgICAgICAgZG9jdW1lbnRzLCBhbmQgdGhleSB3aWxsIGhlbHAgeW91IHdpdGggeW91cnMuCisgICAgICA8L3BhcmE+CisgICAgPC9zZWN0Mj4KKyAgPC9zZWN0MT4KKyAgCis8IS0tICMjIyMjIyMjIyMjIyMjIyMjIFRlYW13b3JrICMjIyMjIyMjIyMjIyMjIyAtLT4KKworICA8c2VjdDEgaWQ9InRlYW13b3JrIj4KKyAgICA8dGl0bGU+VGVhbXdvcms8L3RpdGxlPiAgPCEtLSAjIyMjIyMjIFRlYW13b3JrIHwgV29ya2luZyBXaXRoIFRoZQorR0RQIFRlYW0gIyMjIyMjIyAtLT4KKworICAgIDxzZWN0MiBpZD0idGVhbXdvcmtnZHAiPgorICAgICAgPHRpdGxlPldvcmtpbmcgV2l0aCBUaGUgR0RQIFRlYW08L3RpdGxlPgorICAgICAgPHBhcmE+CisgICAgICAgIFRoZSBHRFAgdGVhbSBpcyBhIHZhbHVhYmxlIHJlc291cmNlIGZvciBhbnkgZG9jdW1lbnRhdGlvbgorICAgICAgICBhdXRob3IuICBHRFAgbWVtYmVycyBjYW4gYW5zd2VyIG1vc3QgcXVlc3Rpb25zIGRvY3VtZW50YXRpb24KKyAgICAgICAgYXV0aG9ycyBoYXZlIGR1cmluZyB0aGUgY291cnNlIG9mIHRoZWlyIHdvcmsuIEl0IGlzIGFsc28KKyAgICAgICAgaW1wb3J0YW50IHRvIG1ha2Ugc3VyZSB5b3UgYXJlIG5vdCBkdXBsaWNhdGluZyB3b3JrIG9mIG90aGVyCisgICAgICAgIEdEUCBtZW1iZXJzIGJ5IHZpc2l0aW5nIHRoZSA8Y2l0ZXRpdGxlPkdEUCBEb2N1bWVudGF0aW9uCisgICAgICAgIFN0YXR1cyBUYWJsZTwvY2l0ZXRpdGxlPiAoPHVsaW5rCisgICAgICAgIHVybD0iaHR0cDovL3d3dy5nbm9tZS5vcmcvZ2RwL2RvY3RhYmxlLyIKKyAgICAgICAgdHlwZT0iaHR0cCI+aHR0cDovL3d3dy5nbm9tZS5vcmcvZ2RwL2RvY3RhYmxlLzwvdWxpbms+KSBhbmQKKyAgICAgICAgYXNzaWduaW5nIGEgZG9jdW1lbnRhdGlvbiBpdGVtIHRvIHlvdXJzZWxmLiAgVGhpcyB0YWJsZSBhbHNvCisgICAgICAgIHByb3ZpZGVzIGEgZm9ydW0gZm9yIG1ha2luZyBzdWdnZXN0aW9ucyBhbmQgYW5ub3VuY2VtZW50cyBmb3IKKyAgICAgICAgZWFjaCBkb2N1bWVudGF0aW9uIGl0ZW0uICBUaGUgYmVzdCB3YXkgdG8gZ2V0IGluIHRvdWNoIHdpdGgKKyAgICAgICAgR0RQIG1lbWJlcnMgaXMgb24gdGhlICNkb2NzIElSQyBjaGFubmVsIGF0IGlyYy5nbm9tZS5vcmcgb3IKKyAgICAgICAgZWxzZSBieSBlbWFpbGluZyB0aGUgPHVsaW5rIHR5cGU9Imh0dHAiCisgICAgICAgIHVybD0iaHR0cDovL21haWwuZ25vbWUub3JnL21haWxtYW4vbGlzdGluZm8vZ25vbWUtZG9jLWxpc3QvIj4KKyAgICAgICAgPGNpdGV0aXRsZT5nbm9tZS1kb2MtbGlzdCBtYWlsaW5nIGxpc3Q8L2NpdGV0aXRsZT48L3VsaW5rPi4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBBZnRlciBhbiBhdXRob3IgaGFzIGZpbmlzaGVkIGEgZG9jdW1lbnQgKG9yIGV2ZW4gYSBkcmFmdAorICAgICAgICB2ZXJzaW9uIG9mIHRoZSBkb2N1bWVudCksIGl0IGlzIGEgZ29vZCBpZGVhIHRvIGFzayBhIG1lbWJlciBvZgorICAgICAgICB0aGUgR0RQIHRlYW0gdG8gcmVhZCB0aGUgZG9jdW1lbnQsIGNoZWNraW5nIGl0IGZvciBncmFtbWFyLAorICAgICAgICBwcm9wZXIgRG9jQm9vayBtYXJrdXAsIGFuZCBjbGFyaXR5LiAgT25lIG1heSB0eXBpY2FsbHkgZmluZAorICAgICAgICBhbm90aGVyIGF1dGhvciB0byBkbyB0aGlzIGJ5IGVpdGhlciBhc2tpbmcgb24gdGhlICNkb2NzIElSQworICAgICAgICBjaGFubmVsIGF0IGlyYy5nbm9tZS5vcmcgb3IgYnkgZW1haWxpbmcgdGhlIDx1bGluayB0eXBlPSJodHRwIgorICAgICAgICB1cmw9Imh0dHA6Ly9tYWlsLmdub21lLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2dub21lLWRvYy1saXN0LyI+CisgICAgICAgIDxjaXRldGl0bGU+Z25vbWUtZG9jLWxpc3QgbWFpbGluZyBsaXN0PC9jaXRldGl0bGU+PC91bGluaz4uCisgICAgICA8L3BhcmE+CisgICAgPC9zZWN0Mj4KKworPCEtLSAjIyMjIyMjIFRlYW13b3JrIHwgV29ya2luZyBXaXRoIERldmVsb3BlcnMgIyMjIyMjIyAtLT4KKworICAgIDxzZWN0MiBpZD0idGVhbXdvcmtkZXZlbG9wZXJzIj4KKyAgICAgIDx0aXRsZT5Xb3JraW5nIFdpdGggRGV2ZWxvcGVyczwvdGl0bGU+CisgICAgICA8cGFyYT4KKyAgICAgICAgV3JpdGluZyBkb2N1bWVudGF0aW9uIHR5cGljYWxseSBpbnZvbHZlcyBhIGNlcnRhaW4gYW1vdW50IG9mCisgICAgICAgIGludGVyYWN0aW9uIHdpdGggdGhlIGRldmVsb3BlcnMgb2YgR05PTUUgb3IgdGhlIGFwcGxpY2F0aW9uCisgICAgICAgIHdoaWNoIGlzIGJlaW5nIGRvY3VtZW50ZWQuICBPZnRlbiBhIGRvY3VtZW50IGF1dGhvciB3aWxsIG5lZWQKKyAgICAgICAgdG8gYXNrIHRoZSBkZXZlbG9wZXIgdGVjaG5pY2FsIHF1ZXN0aW9ucyBkdXJpbmcgdGhlIGNvdXJzZSBvZgorICAgICAgICB3cml0aW5nIGEgZG9jdW1lbnQuIEFmdGVyIHRoZSBkb2N1bWVudCBpcyBmaW5pc2hlZCwgaXQgaXMgZ29vZAorICAgICAgICBpZGVhIHRvIGFzayB0aGUgZGV2ZWxvcGVyIHRvIHJlYWQgdGhlIGRvY3VtZW50IHRvIG1ha2Ugc3VyZSBpdAorICAgICAgICBpcyB0ZWNobmljYWxseSBjb3JyZWN0LiAgVGhlIGRvY3VtZW50YXRpb24gYXV0aG9yIHNob3VsZCBhbHNvCisgICAgICAgIG1ha2Ugc3VyZSB0aGF0IHRoZSBhcHBsaWNhdGlvbiBhdXRob3IgY29ycmVjdGx5IGJpbmRzIGFuZAorICAgICAgICBwYWNrYWdlcyB0aGUgZG9jdW1lbnRhdGlvbiB3aXRoIHRoZSBhcHBsaWNhdGlvbi4KKyAgICAgIDwvcGFyYT4KKyAgICA8L3NlY3QyPgorCis8IS0tICMjIyMjIyMgVGVhbXdvcmsgfCBXb3JraW5nIFdpdGggVXNlcnMgIyMjIyMjIworCisgICAgPHNlY3QyIGlkPSJ0ZWFtd29ya3VzZXJzIj4KKyAgICAgIDx0aXRsZT5Xb3JraW5nIFdpdGggVXNlcnM8L3RpdGxlPgorICAgICAgPHBhcmE+CisgICAgICAgIFNvbWUgZG9jdW1lbnQgYXV0aG9ycyBtYXkgd2lzaCB0byBnZXQgZmVlZGJhY2sgb24gdGhlaXIKKyAgICAgICAgZG9jdW1lbnRzIGRpcmVjdGx5IGZyb20gdXNlcnMuICBUaGlzIG1heSBiZSBkb25lIGJ5IC4uLgorICAgICAgPC9wYXJhPgorICAgIDwvc2VjdDI+LS0+CisgIDwvc2VjdDE+CisgIAorPCEtLSAjIyMjIyMjIyMjIyMjIyMjIyBGaW5pc2hpbmcgYSBEb2N1bWVudCAjIyMjIyMjIyMjIyMjIyMgLS0+CisKKyAgPHNlY3QxIGlkPSJmaW5pc2hpbmciPgorICAgIDx0aXRsZT5GaW5pc2hpbmcgQSBEb2N1bWVudDwvdGl0bGU+CisKKzwhLS0gIyMjIyMjIyBGaW5pc2hpbmcgYSBEb2N1bWVudCB8IEVkaXR0aW5nIHRoZSBEb2N1bWVudCAjIyMjIyMjIC0tPgorCisgICAgPHNlY3QyIGlkPSJlZGl0dGluZyI+CisgICAgICA8dGl0bGU+RWRpdGluZyBUaGUgRG9jdW1lbnQ8L3RpdGxlPgorICAgICAgPHBhcmE+CisgICAgICAgIFdoZW4gdGhlIGRvY3VtZW50IGlzIGZpbmlzaGVkLCB0aGUgZG9jdW1lbnQgc2hvdWxkIGJlIGVkaXRlZAorICAgICAgICBieSBhbm90aGVyIG1lbWJlciBvZiB0aGUgR0RQIGZvciBzcGVsbGluZywgY2xhcml0eSwgYW5kCisgICAgICAgIERvY0Jvb2sgbWFya3VwLiBJdCBzaG91bGQgYWxzbyBiZSByZWFkIGJ5IGFuIGFwcGxpY2F0aW9uCisgICAgICAgIGF1dGhvciB0byBtYWtlIHN1cmUgdGhlIGRvY3VtZW50IGlzIHRlY2huaWNhbGx5IGFjY3VyYXRlLgorICAgICAgPC9wYXJhPgorICAgIDwvc2VjdDI+CisKKzwhLS0gIyMjIyMjIyBGaW5pc2hpbmcgYSBEb2N1bWVudCB8IFN1Ym1pdHRpbmcgdGhlIERvY3VtZW50ICMjIyMjIyMgLS0+CisKKyAgICA8c2VjdDIgaWQ9InN1Ym1pdHRpbmciPgorICAgICAgPHRpdGxlPlN1Ym1pdHRpbmcgVGhlIERvY3VtZW50PC90aXRsZT4KKyAgICAgIDxwYXJhPgorICAgICAgICBBZnRlciB0aGUgZG9jdW1lbnQgaGFzIGJlZW4gZWRpdGVkIGFuZCBjaGVja2VkIGZvciB0ZWNobmljYWwKKyAgICAgICAgYWNjdXJhY3ksIGl0IGlzIHJlYWR5IHRvIGJlIGNvbWJpbmVkIHdpdGggdGhlIGFwcGxpY2F0aW9uIG9yCisgICAgICAgIGRvY3VtZW50YXRpb24gcGFja2FnZS4gIFRoaXMgaXMgdHlwaWNhbGx5IGRvbmUgYnkgcGFzc2luZyB0aGUKKyAgICAgICAgZG9jdW1lbnQgdG8gdGhlIGFwcGxpY2F0aW9uIG9yIHBhY2thZ2UgZGV2ZWxvcGVyLiAgSW4gc29tZQorICAgICAgICBjYXNlcywgdGhlIGRvY3VtZW50cyBjYW4gYmUgY29tbWl0dGVkIGRpcmVjdGx5IGludG8gQ1ZTLAorICAgICAgICBob3dldmVyIHRoaXMgc2hvdWxkIG9ubHkgYmUgZG9uZSBhZnRlciBvYnRhaW5pbmcgcGVybWlzc2lvbiB0bworICAgICAgICBtYWtlIENWUyBjb21taXRzIGZyb20gdGhlIGRldmVsb3Blci4gIE5vdGUgdGhhdCBpbiBtYW55IGNhc2VzLAorICAgICAgICB0aGUgYXBwbGljYXRpb24gbWF5IG5lZWQgdG8gYmUgbW9kaWZpZWQgdG8gY29ycmVjdGx5IGxpbmsgdG8KKyAgICAgICAgdGhlIGRvY3VtZW50YXRpb24uICBUaGUgcGFja2FnaW5nIHN5c3RlbSAodGFyYmFsbHMgYW5kIGJpbmFyeQorICAgICAgICBwYWNrYWdlcykgbWF5IGFsc28gbmVlZCB0byBiZSBtb2RpZmllZCB0byBpbmNsdWRlIHRoZQorICAgICAgICBkb2N1bWVudGF0aW9uIGluIHRoZSBwYWNrYWdlLiAgR2VuZXJhbGx5LCB0aGlzIHNob3VsZCBiZSBkb25lCisgICAgICAgIGJ5IHRoZSBkZXZlbG9wZXJzLgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgIFRoZSBmaW5hbCBzdGVwIGlzIHRvIGVtYWlsIHRoZSBHTk9NRSBUcmFuc2xhdGlvbiBUZWFtIGF0CisgICAgICAgIDxlbWFpbD5nbm9tZS1pMThuQG51Y2xlY3UudW5hbS5teDwvZW1haWw+IHRvIG5vdGlmeSB0aGVtIHRoYXQKKyAgICAgICAgdGhlcmUgaXMgYSBuZXcgZG9jdW1lbnQgZm9yIHRoZW0gdG8gdHJhbnNsYXRlLgorICAgICAgPC9wYXJhPgorICAgIDwvc2VjdDI+CisgIDwvc2VjdDE+CisgIAorPCEtLSAjIyMjIyMjIyMjIyMjIyMjIyBSZXNvdXJjZXMgIyMjIyMjIyMjIyMjIyMjIC0tPgorCisgIDxzZWN0MSBpZD0icmVzb3VyY2VzIj4KKyAgICA8dGl0bGU+UmVzb3VyY2VzPC90aXRsZT4gCis8IS0tICMjIyMjIyMgUmVzb3VyY2VzIHwgUmVzb3VyY2VzIG9uIHRoZSBXZWIgIyMjIyMjIyAtLT4KKworICAgIDxzZWN0MiBpZD0icmVzb3VyY2Vzd2ViIj4KKyAgICAgIDx0aXRsZT5SZXNvdXJjZXMgT24gVGhlIFdlYjwvdGl0bGU+IDxwYXJhPiAgVGhlIDx1bGluaworICAgICAgdHlwZT0iaHR0cCIgdXJsPSJodHRwOi8vZGV2ZWxvcGVyLmdub21lLm9yZy9wcm9qZWN0cy9nZHAvIj5HTk9NRQorICAgICAgRG9jdW1lbnRhdGlvbiBQcm9qZWN0IFdlYiBwYWdlPC91bGluaz4gbGlzdHMgY3VycmVudCBHRFAgCisgICAgICBwcm9qZWN0cyBhbmQgbWVtYmVycy4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBUaGUgPHVsaW5rIHVybD0iaHR0cDovL3d3dy5nbm9tZS5vcmcvZ2RwL2RvY3RhYmxlLyIKKyAgICAgICAgdHlwZT0iaHR0cCI+R0RQIERvY3VtZW50YXRpb24gU3RhdHVzIFRhYmxlPC91bGluaz4gdHJhY2tzIHRoZQorICAgICAgICBzdGF0dXMgb2YgYWxsIHRoZSB2YXJpb3VzIGRvY3VtZW50YXRpb24gY29tcG9uZW50cyBvZiBHTk9NRS4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOb3JtYW4gV2Fsc2gncyAgPHVsaW5rIHVybD0iaHR0cDovL3d3dy5kb2Nib29rLm9yZyIKKyAgICAgICAgdHlwZT0iaHR0cCI+IDxjaXRldGl0bGU+RG9jQm9vazogVGhlIERlZmluaXRpdmUKKyAgICAgICAgR3VpZGU8L2NpdGV0aXRsZT48L3VsaW5rPiBpbiBhbiBleGNlbGxlbnQgYm9vayBvbiBEb2NCb29rLAorICAgICAgICBhdmFpbGFibGUgYm90aCBvbmxpbmUgYW5kIGluIHByaW50LgorICAgICAgPC9wYXJhPgorICAgIDwvc2VjdDI+CisKKzwhLS0gIyMjIyMjIyBSZXNvdXJjZXMgfCBCb29rcyAjIyMjIyMjIC0tPgorCisgICAgPHNlY3QyIGlkPSJyZXNvdXJjZXNib29rcyI+CisgICAgICA8dGl0bGU+Qm9va3M8L3RpdGxlPgorICAgICAgPHBhcmE+CisgICAgICAgIERvY2Jvb2s6IFRoZSBEZWZpbml0aXZlIEd1aWRlIGlzIGF2YWlsYWJsZSBpbiBib3RoIHByaW50ZWQKKyAgICAgICAgZm9ybSBhbmQgb24gdGhlIHdlYiBhdDoKKyAgICAgICAgPHVsaW5rIHVybD0iaHR0cDovL3d3dy5kb2Nib29rLm9yZy90ZGcvaW5kZXguaHRtbCI+CisgICAgICAgIDxjaXRldGl0bGU+RG9jYm9vazogVGhlIERlZmluaXRpdmUgR3VpZGU8L2NpdGV0aXRsZT4KKyAgICAgICAgPC91bGluaz4KKyAgICAgIDwvcGFyYT4KKyAgICA8L3NlY3QyPgorCis8IS0tICMjIyMjIyMgUmVzb3VyY2VzIHwgTWFpbGluZyBMaXN0cyAjIyMjIyMjIC0tPgorCisgICAgPHNlY3QyIGlkPSJtYWlsaW5nbGlzdHMiPgorICAgICAgPHRpdGxlPk1haWxpbmcgTGlzdHM8L3RpdGxlPgorICAgICAgPHBhcmE+CisgICAgICAgIFRoZSA8ZW1waGFzaXM+Z25vbWUtZG9jcy1saXN0PC9lbXBoYXNpcz4gbWFpbGluZyBsaXN0IGlzIHRoZQorICAgICAgICBtYWluIGRpc2N1c3Npb24gYXJlYSBmb3IgYWxsIGNvbnRyaWJ1dG9ycyB0byB0aGUgR05PTUUKKyAgICAgICAgRG9jdW1lbnRhdGlvbiBQcm9qZWN0LiBZb3UgY2FuIGZpbmQgb3V0IGhvdyB0byBzdWJzY3JpYmUgdG8KKyAgICAgICAgdGhpcyBsaXN0IG9uIDx1bGluaworICAgICAgICB1cmw9Imh0dHA6Ly93d3cuZ25vbWUub3JnL3Jlc291cmNlcy9tYWlsaW5nLWxpc3RzLmh0bWwiCisgICAgICAgIHR5cGU9Imh0dHAiPkdOT01FIE1haWxpbmcgTGlzdHM8L3VsaW5rPi4gIFRoaXMgaXMgYSByYXRoZXIKKyAgICAgICAgbG93LXZvbHVtZSBsaXN0LCBzbyB5b3Ugd2lsbCBub3QgYmUgZmxvb2RlZCB3aXRoIG1lc3NhZ2VzLgorICAgICAgPC9wYXJhPgorICAgIDwvc2VjdDI+CisKKzwhLS0gIyMjIyMjIyBSZXNvdXJjZXMgfCBJUkMgIyMjIyMjIyAtLT4KKworICAgIDxzZWN0MiBpZD0iaXJjIj4KKyAgICAgIDx0aXRsZT5JUkM8L3RpdGxlPgorICAgICAgPHBhcmE+CisgICAgICAgIEludGVybmV0IFJlbGF5IENoYXQgKElSQykgaXMgYSBmYXN0IGFuZCBlYXN5IHdheSB0byBnZXQgaW4KKyAgICAgICAgdG91Y2ggd2l0aCBvdGhlciBHRFAgbWVtYmVycy4gIFRoZXJlIGFyZSBnZW5lcmFsbHkgYXQgbGVhc3QgYQorICAgICAgICBmZXcgbWVtYmVycyBoZXJlIHdobyBjYW4gYW5zd2VyIHF1ZXN0aW9ucyBvciBkaXNjdXNzCisgICAgICAgIGRvY3VtZW50YXRpb24gaXNzdWVzLiAgVGhlIElSQyBjaGFubmVsIGlzICNkb2NzIGF0CisgICAgICAgIGlyYy5nbm9tZS5vcmcuCisgICAgICA8L3BhcmE+CisgICAgPC9zZWN0Mj4KKyAgPC9zZWN0MT4KKyAgCis8IS0tICMjIyMjIyMjIyMjIyMjIyMjIEV4YW1wbGUgRG9jcyAjIyMjIyMjIyMjIyMjIyMKKworICA8YXBwZW5kaXggaWQ9ImV4YW1wbGVkb2NzIj4KKyAgICA8dGl0bGU+RXhhbXBsZSBEb2NzPC90aXRsZT4gCisKKyMjIyMjIyMgRXhhbXBsZSBEb2NzIHwgRXhhbXBsZSAxOiBBcHBsaWNhdGlvbiBNYW51YWwgIyMjIyMjIyAKKworICAgIDxzZWN0MSBpZD0iZXgxIj4KKyAgICAgIDx0aXRsZT5FeGFtcGxlIDE6IEFwcGxpY2F0aW9uIE1hbnVhbDwvdGl0bGU+CisgICAgICA8cHJvZ3JhbWxpc3Rpbmc+Cis8IVtDREFUQVsgKFB1dCBzZ21sIGhlcmUuKV1dPiA8L3Byb2dyYW1saXN0aW5nPgorICAgIDwvc2VjdDE+CisKKyMjIyMjIyMgRXhhbXBsZSBEb2NzIHwgRXhhbXBsZSAyOiBBcHBsZXQgTWFudWFsICMjIyMjIyMgCisKKyAgICA8c2VjdDEgaWQ9ImV4MiI+CisgICAgICA8dGl0bGU+RXhhbXBsZSAyOiBBcHBsZXQgTWFudWFsPC90aXRsZT4KKyAgICAgIDxwcm9ncmFtbGlzdGluZz4KKzwhW0NEQVRBWyhQdXQgc2dtbCBoZXJlLildXT4gPC9wcm9ncmFtbGlzdGluZz4KKyAgICA8L3NlY3QxPgorCisjIyMjIyBFeGFtcGxlIERvY3MgfCBFeGFtcGxlIDM6IEFwcGxpY2F0aW9uIENvbnRleHQgU2Vuc2l0aXZlIEhlbHAgIyMjIworCisgICAgPHNlY3QxIGlkPSJleDMiPgorICAgICAgPHRpdGxlPkV4YW1wbGUgMzogQXBwbGljYXRpb24gQ29udGV4dCBTZW5zaXRpdmUgSGVscDwvdGl0bGU+CisgICAgICA8cHJvZ3JhbWxpc3Rpbmc+Cis8IVtDREFUQVsoUHV0IHNnbWwgaGVyZS4pXV0+IDwvcHJvZ3JhbWxpc3Rpbmc+CisgICAgPC9zZWN0MT4KKworIyMjIyMjIyBFeGFtcGxlIERvY3MgfCBFeGFtcGxlIDQ6IENvbXBsZXRlIEFwcGxpY2F0aW9uOiBnbm9tZS1oZWxsbyAgIyMjIyMjIworCisgICAgPHNlY3QxIGlkPSJleDQiPgorICAgICAgPHRpdGxlPkV4YW1wbGUgNDogQ29tcGxldGUgQXBwbGljYXRpb246IGdub21lLWhlbGxvPC90aXRsZT4KKyAgICAgIDxwcm9ncmFtbGlzdGluZz4KKzwhW0NEQVRBWyhQdXQgc2dtbCBoZXJlLildXT4gPC9wcm9ncmFtbGlzdGluZz4KKyAgICA8L3NlY3QxPgorCisjIyMjIyMjIEV4YW1wbGUgRG9jcyB8IEV4YW1wbGUgNTogVHV0b3JpYWwgIyMjIyMjIworCisgICAgPHNlY3QxIGlkPSJleDUiPgorICAgICAgPHRpdGxlPkV4YW1wbGUgNTogVHV0b3JpYWw8L3RpdGxlPgorICAgICAgPHByb2dyYW1saXN0aW5nPgorPCFbQ0RBVEFbKFB1dCBzZ21sIGhlcmUuKV1dPiA8L3Byb2dyYW1saXN0aW5nPgorICAgIDwvc2VjdDE+CisgIDwvYXBwZW5kaXg+LS0+CisgIAorPCEtLSAjIyMjIyMjIyMjIyMjIyMjIyBEb2N1bWVudCBUZW1wbGF0ZXMgIyMjIyMjIyMjIyMjIyMjIC0tPgorCisgIDxhcHBlbmRpeCBpZD0idGVtcGxhdGVzIj4KKyAgICA8dGl0bGU+RG9jdW1lbnQgVGVtcGxhdGVzPC90aXRsZT4gCis8IS0tICMjIyMjIyMgRG9jdW1lbnQgVGVtcGxhdGVzIHwgVGVtcGxhdGVzIDE6IEFwcGxpY2F0aW9uIE1hbnVhbCAjIyMjIyMjIC0tPgorCisgICAgPHNlY3QxIGlkPSJ0ZW1wbGF0ZTEiPgorICAgICAgPHRpdGxlPlRlbXBsYXRlIDE6IEFwcGxpY2F0aW9uIE1hbnVhbDwvdGl0bGU+CisgICAgICA8cGFyYT4KKyAgICAgICAgVGhlIGZvbGxvd2luZyB0ZW1wbGF0ZSBzaG91bGQgYmUgdXNlZCBmb3IgYWxsIGFwcGxpY2F0aW9uCisgICAgICAgIG1hbnVhbHMuICBZb3UgY2FuIGFsd2F5cyBnZXQgdGhlIGxhdGVzdCBjb3B5IG9mIHRoaXMKKyAgICAgICAgdGVtcGxhdGUgZnJvbSAgPHVsaW5rIHR5cGU9Imh0dHAiCisgICAgICAgIHVybD0iaHR0cDovL2RldmVsb3Blci5nbm9tZS5vcmcvcHJvamVjdHMvZ2RwL3RlbXBsYXRlcy5odG1sIj5HRFAKKyAgICAgICAgRG9jdW1lbnRhdGlvbiBUZW1wbGF0ZXM8L3VsaW5rPi4KKyAgICAgICAgPHByb2dyYW1saXN0aW5nPgorCis8IVtDREFUQVsKKzwhRE9DVFlQRSBBcnRpY2xlIFBVQkxJQyAiLS8vR05PTUUvL0RURCBEb2NCb29rIFBORyBWYXJpYW50IFYxLjEvL0VOIlsKKyAgICAgICAgPCEtLSBpZiBub3QgdXNpbmcgUE5HIGdyYXBoaWMsIHJlcGxhY2UgcmVmZXJlbmNlIGFib3ZlIHdpdGgKKyAgICAgICAgICAgICAuLi4uLlBVQkxJQyAiLS8vT0FTSVMvL0RURCBEb2NCb29rIFYzLjEvL0VOIlsKKyAgICAgICAgIC0tPgorPCFFTlRJVFkgdmVyc2lvbiAiMS4wLjUzIj4KKyAgICAgICAgPCEtLSByZXBsYWNlIHZlcnNpb24gYWJvdmUgd2l0aCBhY3R1YWwgYXBwbGljYXRpb24gdmVyc2lvbiBudW1iZXItLT4KKwk8IS0tICBUZW1wbGF0ZSBWZXJzaW9uOiAxLjAuMSAgKGRvIG5vdCByZW1vdmUgdGhpcyBsaW5lKSAtLT4KK10+CisKKworPCEtLSBUaGlzIGlzIGEgR05PTUUgZG9jdW1lbnRhdGlvbiB0ZW1wbGF0ZSwgZGVzaWduZWQgYnkgdGhlIEdOT01FCisgIERvY3VtZW50YXRpb24gUHJvamVjdCBUZWFtLiBQbGVhc2UgdXNlIGl0IGZvciB3cml0aW5nIEdOT01FCisgIGRvY3VtZW50YXRpb24sIG1ha2luZyBvYnZpb3VzIGNoYW5nZXMuIEluIHBhcnRpY3VsYXIsIGFsbCB0aGUgd29yZHMKKyAgd3JpdHRlbiBpbiBVUFBFUkNBU0UgKHdpdGggdGhlIGV4Y2VwdGlvbiBvZiBHTk9NRSkgc2hvdWxkIGJlCisgIHJlcGxhY2VkLiBBcyBmb3IgImxlZ2Fsbm90aWNlIiwgcGxlYXNlIGxlYXZlIHRoZSByZWZlcmVuY2UKKyAgdW5jaGFuZ2VkLgorCisgIFJlbWVtYmVyIHRoYXQgdGhpcyBpcyBhIGd1aWRlLCByYXRoZXIgdGhhbiBhIHBlcmZlY3QgbW9kZWwgdG8gZm9sbG93CisgIHNsYXZpc2hseS4gTWFrZSB5b3VyIG1hbnVhbCBsb2dpY2FsIGFuZCByZWFkYWJsZS4gIEFuZCBkb24ndCBmb3JnZXQKKyAgdG8gcmVtb3ZlIHRoZXNlIGNvbW1lbnRzIGluIHlvdXIgZmluYWwgZG9jdW1lbnRhdGlvbiEgIDstKQorICAtLT4KKworPCEtLSA9PT09PT09PT09PT09RG9jdW1lbnQgSGVhZGVyID09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorCis8YXJ0aWNsZSBpZD0iaW5kZXgiPiA8IS0tIHBsZWFzZSBkbyBub3QgY2hhbmdlIHRoZSBpZCAtLT4KKworICA8YXJ0aGVhZGVyPgorICAgIDx0aXRsZT5NWS1HTk9NRS1BUFA8L3RpdGxlPgorICAgIDxjb3B5cmlnaHQ+CisgICAgICA8eWVhcj4yMDAwPC95ZWFyPgorICAgICAgPGhvbGRlcj5NRS1USEUtQVVUSE9SPC9ob2xkZXI+CisgICAgPC9jb3B5cmlnaHQ+CisKKyAgPCEtLSB0cmFuc2xhdG9yczogdW5jb21tZW50IHRoaXM6CisKKyAgPGNvcHlyaWdodD4KKyAgIDx5ZWFyPjIwMDA8L3llYXI+CisgICA8aG9sZGVyPk1FLVRIRS1UUkFOU0xBVE9SIChMYXRpbiB0cmFuc2xhdGlvbik8L2hvbGRlcj4KKyAgPC9jb3B5cmlnaHQ+CisKKyAgIC0tPgorCisgIDwhLS0gZG8gbm90IHB1dCBhdXRob3JuYW1lIGluIHRoZSBoZWFkZXIgZXhjZXB0IGluIGNvcHlyaWdodCAtIHVzZQorICBzZWN0aW9uICJhdXRob3JzIiBiZWxvdyAtLT4KKworICAgIDxsZWdhbG5vdGljZT4KKyAgICAgIDxwYXJhPgorICAgICAgICBQZXJtaXNzaW9uIGlzIGdyYW50ZWQgdG8gY29weSwgZGlzdHJpYnV0ZSBhbmQvb3IgbW9kaWZ5IHRoaXMKKyAgICAgICAgZG9jdW1lbnQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSA8Y2l0ZXRpdGxlPkdOVSBGcmVlCisgICAgICAgIERvY3VtZW50YXRpb24gTGljZW5zZTwvY2l0ZXRpdGxlPiwgVmVyc2lvbiAxLjEgb3IgYW55IGxhdGVyCisgICAgICAgIHZlcnNpb24gcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24gd2l0aCBubworICAgICAgICBJbnZhcmlhbnQgU2VjdGlvbnMsIG5vIEZyb250LUNvdmVyIFRleHRzLCBhbmQgbm8gQmFjay1Db3ZlcgorICAgICAgICBUZXh0cy4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSA8Y2l0ZXRpdGxlPkdOVSBGcmVlCisgICAgICAgIERvY3VtZW50YXRpb24gTGljZW5zZTwvY2l0ZXRpdGxlPiBmcm9tIHRoZSBGcmVlIFNvZnR3YXJlCisgICAgICAgIEZvdW5kYXRpb24gYnkgdmlzaXRpbmcgPHVsaW5rIHR5cGU9Imh0dHAiCisgICAgICAgIHVybD0iaHR0cDovL3d3dy5mc2Yub3JnIj50aGVpciBXZWIgc2l0ZTwvdWxpbms+IG9yIGJ5IHdyaXRpbmcKKyAgICAgICAgdG86IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUKKyAgICAgICAgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcsIFVTQS4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBNYW55IG9mIHRoZSBuYW1lcyB1c2VkIGJ5IGNvbXBhbmllcyB0byBkaXN0aW5ndWlzaCB0aGVpcgorICAgICAgICBwcm9kdWN0cyBhbmQgc2VydmljZXMgYXJlIGNsYWltZWQgYXMgdHJhZGVtYXJrcy4gV2hlcmUgdGhvc2UKKyAgICAgICAgbmFtZXMgYXBwZWFyIGluIGFueSBHTk9NRSBkb2N1bWVudGF0aW9uLCBhbmQgdGhvc2UgdHJhZGVtYXJrcworICAgICAgICBhcmUgbWFkZSBhd2FyZSB0byB0aGUgbWVtYmVycyBvZiB0aGUgR05PTUUgRG9jdW1lbnRhdGlvbgorICAgICAgICBQcm9qZWN0LCB0aGUgbmFtZXMgaGF2ZSBiZWVuIHByaW50ZWQgaW4gY2FwcyBvciBpbml0aWFsIGNhcHMuCisgICAgICA8L3BhcmE+CisgICAgPC9sZWdhbG5vdGljZT4KKworICA8IS0tIHRoaXMgaXMgdGhlIHZlcnNpb24gb2YgbWFudWFsLCBub3QgYXBwbGljYXRpb24gLS0+IAorICAgIDxyZWxlYXNlaW5mbz4KKyAgICAgICBUaGlzIGlzIHZlcnNpb24gMS4wIG9mIE1ZLUdOT01FLUFQUCBtYW51YWwuCisgICAgPC9yZWxlYXNlaW5mbz4KKworICA8L2FydGhlYWRlcj4KKworIDwhLS0gPT09PT09PT09PT09PSBEb2N1bWVudCBCb2R5ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorCisgPCEtLSA9PT09PT09PT09PT09IEludHJvZHVjdGlvbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+CisgIDxzZWN0MSBpZD0iaW50cm8iPgorICAgIDx0aXRsZT5JbnRyb2R1Y3Rpb248L3RpdGxlPgorCisgICAgPHBhcmE+CisgICAgIDxhcHBsaWNhdGlvbj5NWS1HTk9NRS1BUFA8L2FwcGxpY2F0aW9uPiBpcyBhbiBhcHBsaWNhdGlvbiB3aGljaAorICAgICBwcm92ZXMgbWF0aGVtYXRpY2FsIHRoZW9yZW1zLiAgSXQgaGFzIGFsbCB0aGUgYmFzaWMgZmVhdHVyZXMKKyAgICAgZXhwZWN0ZWQgZnJvbSBhIG1hdGhlbWF0aWNhbCB0aGVvcmVtIHByb3ZlciwgYXMgd2VsbCBhcyBhIG51bWJlcgorICAgICBvZiBhZHZhbmNlZCBvbmVzLCBzdWNoIGFzIHByb29mIGJ5IGNvbmZ1c2lvbi4gIEluIGZhY3QsIG1hbnkgb2YKKyAgICAgdGhlIHByb29mcyBwcm9kdWNlZCBieSA8YXBwbGljYXRpb24+TVktR05PTUUtQVBQPC9hcHBsaWNhdGlvbj4KKyAgICAgYXJlIHNvIGNvbXBsZXggdGhhdCB0aGV5IGFyZSBjYXBhYmxlIG9mIHByb3ZpbmcgYWxtb3N0IGFueXRoaW5nCisgICAgIHdpdGggYSB2aXJ0dWFsbHkgbnVsbCBsaWtlbGlob29kIG9mIGJlaW5nIGRpc3Byb3Zlbi4gIEl0IGFsc28gaGFzCisgICAgIHRoZSB2ZXJ5IHBvcHVsYXIgcHJlZGVjZXNzb3Igb2YgcHJvb2YgYnkgY29uZnVzaW9uLCBwcm9vZiBieQorICAgICBkaWFsb2csIGZpcnN0IGltcGxlbWVudGVkIGJ5IFBsYXRvLgorICAgIDwvcGFyYT4KKyAgICA8cGFyYT4KKyAgICAgIEl0IGFsc28gYWxsb3dzIHlvdSB0byBzYXZlIGFuZCBwcmludCB0aGVvcmVtIHByb29mcyBhbmQgdG8gYWRkCisgICAgICBjb21tZW50cyB0byB0aGUgcHJvb2ZzIGl0IHByb2R1Y2VzLgorICAgIDwvcGFyYT4KKworICAgIDxwYXJhPgorICAgICAgVG8gcnVuIDxhcHBsaWNhdGlvbj5NWS1HTk9NRS1BUFA8L2FwcGxpY2F0aW9uPiwgc2VsZWN0CisgICAgICA8bWVudWNob2ljZT4KKwk8Z3Vpc3VibWVudT5TVUJNRU5VPC9ndWlzdWJtZW51PgorCTxndWltZW51aXRlbT5NWS1HTk9NRS1BUFA8L2d1aW1lbnVpdGVtPgorICAgICAgPC9tZW51Y2hvaWNlPgorICAgICAgZnJvbSB0aGUgPGd1aW1lbnU+TWFpbiBNZW51PC9ndWltZW51Piwgb3IgdHlwZQorICAgICAgPGNvbW1hbmQ+TVlHTk9NRUFQUDwvY29tbWFuZD4gb24gdGhlIGNvbW1hbmQgbGluZS4KKyAgPC9wYXJhPgorCisgICAgPHBhcmE+CisgICAgICA8YXBwbGljYXRpb24+TVktR05PTUUtQVBQPC9hcHBsaWNhdGlvbj4gaXMgaW5jbHVkZWQgaW4gdGhlCisgICAgICA8ZmlsZW5hbWU+R05PTUUtUEFDS0FHRTwvZmlsZW5hbWU+IHBhY2thZ2UsIHdoaWNoIGlzIHBhcnQgb2YgdGhlCisgICAgICBHTk9NRSBkZXNrdG9wIGVudmlyb25tZW50LiBUaGlzIGRvY3VtZW50IGRlc2NyaWJlcyB2ZXJzaW9uCisgICAgICAmdmVyc2lvbjsgb2YgPGFwcGxpY2F0aW9uPk1ZLUdOT01FLUFQUDwvYXBwbGljYXRpb24+LgorICAgIDwvcGFyYT4KKyAgPC9zZWN0MT4KKworCisgPCEtLSA9PT09PT09PT09PT09PT09IFVzYWdlID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorIDwhLS0gVGhpcyBzZWN0aW9uIHNob3VsZCBkZXNjcmliZSBiYXNpYyB1c2FnZSBvZiB0aGUgYXBwbGljYXRpb24uIC0tPgorCisgIDxzZWN0MSBpZD0idXNhZ2UiPgorICAgIDx0aXRsZT5Vc2luZyBNWS1HTk9NRS1BUFA8L3RpdGxlPgorICAgIDxwYXJhPgorICAgICAgPGFwcGxpY2F0aW9uPk1ZLUdOT01FLUFQUDwvYXBwbGljYXRpb24+IGNhbiBiZSB1c2VkIHRvIHByb2R1Y2UgYQorICAgICAgcGVyZmVjdCBwcm9vZiBvZiA8ZW1waGFzaXM+YW55PC9lbXBoYXNpcz4gbWF0aGVtYXRpY2FsIHRoZW9yZW0KKyAgICAgIChwcm92aWRlZCwgb2YgY291cnNlLCB0aGF0IHRoaXMgdGhlb3JlbSBpcyBjb3JyZWN0KSwgdGh1cworICAgICAgcHJvdmlkaW5nIGZvciBuZXcgdXNlcnMgYW4gZWFzeS10by11c2UgZ3JhcGhpY2FsIGludGVyZmFjZSB0bworICAgICAgbW9kZXJuIG1hdGhlbWF0aWNzLiBUaGlzIHNlY3Rpb24gZGVzY3JpYmVzIGJhc2ljIHVzYWdlIG9mCisgICAgICA8YXBwbGljYXRpb24+TVktR05PTUUtQVBQPC9hcHBsaWNhdGlvbj4uCisgICAgPC9wYXJhPgorCisgICAgPCEtLSA9PT09PT09PT0gQmFzaWMgVXNhZ2UgPT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorICAgIDxzZWN0MiBpZD0ibWFpbndpbiI+CisgICAgICA8dGl0bGU+QmFzaWMgdXNhZ2U8L3RpdGxlPgorICAgICAgPHBhcmE+CisgICAgICAgIFN0YXJ0aW5nIDxhcHBsaWNhdGlvbj5NWS1HTk9NRS1BUFA8L2FwcGxpY2F0aW9uPiBvcGVucyB0aGUKKyAgICAgICAgPGludGVyZmFjZT5NYWluIHdpbmRvdzwvaW50ZXJmYWNlPiwgc2hvd24gaW4gPHhyZWYKKyAgICAgICAgbGlua2VuZD0ibWFpbndpbmRvdy1maWciPi4gVGhlIHdpbmRvdyBpcyBhdCBmaXJzdCBlbXB0eS4KKworICAgICAgICA8IS0tID09PT0gRmlndXJlID09PT0gLS0+CisgICAgICAgIDxmaWd1cmUgaWQ9Im1haW53aW5kb3ctZmlnIj4KKwkgIDx0aXRsZT5NWS1HTk9NRS1BUFAgTWFpbiBXaW5kb3c8L3RpdGxlPgorCSAgPHNjcmVlbnNob3Q+CisJICAgIDxzY3JlZW5pbmZvPk1ZLUdOT01FLUFQUCBNYWluIFdpbmRvdzwvc2NyZWVuaW5mbz4KKwkgICAgPGdyYXBoaWMgZmlsZXJlZj0iU0NSRUVOU0hPVCIgZm9ybWF0PSJwbmciIHNyY2NyZWRpdD0iTUUiPgorICAgICAgICAgICAgPC9ncmFwaGljPgorCSAgPC9zY3JlZW5zaG90PgorCTwvZmlndXJlPgorICAgIDwhLS0gPT09PSBFbmQgb2YgRmlndXJlID09PT0gLS0+CisgICAgICA8L3BhcmE+IAorCisKKyA8IS0tIEZvciB0aGlzIGFwcCwgb25lIGNvdWxkIHB1dCAicHJvdmluZyIgb3IgImVkaXQiIChwcm9iYWJseSBldmVuCisgICAgICBib3RoIG9mIHRoZW0pIGFzIHNlY3QyJ3Mgc2VwZXJhdGUgZnJvbSB0aGUgbWFpbiB3aW5kb3cKKyAgICAgIHNlY3Rpb24uIFNpbmNlIHRoZXkgd2VyZSBib3RoIHNvIGNsb3NlbHkgaW52b2x2ZWQgd2l0aCB0aGUgbWFpbgorICAgICAgd2luZG93LCBJIGRlY2lkZWQgdG8gaGF2ZSB0aGVtIGFzIHNlY3QzJ3MgaXNudGVhZC4gSnVkZ2VtZW50CisgICAgICBjYWxsLiAtLT4KKworICAgICAgPHNlY3QzIGlkPSJwcm92aW5nIj4KKwk8dGl0bGU+UHJvdmluZyBhIFRoZW9yZW08L3RpdGxlPgorCTxwYXJhPgorICAgICAgICAgIFRvIGdldCBhIHByb29mIG9mIGEgdGhlb3JlbSwgc2VsZWN0CisgICAgICAgICAgPG1lbnVjaG9pY2U+CisJICAgIDxndWlzdWJtZW51PkZpbGU8L2d1aXN1Ym1lbnU+CisJICAgIDxndWltZW51aXRlbT5OZXc8L2d1aW1lbnVpdGVtPgorCSAgPC9tZW51Y2hvaWNlPiwKKyAgICAgICAgICAgIHdoaWNoIHdpbGwKKwkgICAgYnJpbmcgdXAgdGhlIDxpbnRlcmZhY2U+TmV3IFByb29mPC9pbnRlcmZhY2U+IGRpYWxvZyBib3guCisJICAgIEVudGVyIHRoZSBzdGF0ZW1lbnQgb2YgdGhlIHRoZW9yZW0gaW4gdGhlCisJICAgIDxndWlsYWJlbD5UaGVvcmVtIHN0YXRlbWVudDwvZ3VpbGFiZWw+IGZpZWxkLCBzZWxlY3QgeW91cgorCSAgICBkZXNpcmVkIHByb29mIHR5cGUgZnJvbSB0aGUgZHJvcC1kb3duIG1lbnUsIGFuZCBhbmQgcHJlc3MKKwkgICAgPGd1aWJ1dHRvbj5Qcm92ZSE8L2d1aWJ1dHRvbj4uCisgICAgICAgIDwvcGFyYT4KKwk8cGFyYT4KKyAgICAgICAgICBJZiA8YXBwbGljYXRpb24+TVktR05PTUUtQVBQPC9hcHBsaWNhdGlvbj4gY2Fubm90IHByb3ZlIHRoZQorICAgICAgICAgIHRoZW9yZW0gYnkgdGhlIG1ldGhvZCB5b3UgaGF2ZSBjaG9zZW4sIG9yIGlmIHlvdSBoYXZlIG5vdAorICAgICAgICAgIHNlbGVjdGVkIGEgcHJvb2YgdHlwZSBhdCBhbGwsCisgICAgICAgICAgPGFwcGxpY2F0aW9uPk1ZLUdOT01FLUFQUDwvYXBwbGljYXRpb24+IHdpbGwgYXR0ZW1wdCB0bworICAgICAgICAgIGNob29zZSB0aGUgb25lIHRoYXQgaXQgdGhpbmtzIGlzIG1vc3QgY29uY2x1c2l2ZS4gIEluIG9yZGVyLAorICAgICAgICAgIGl0IHdpbGwgYXR0ZW1wdCB0byBwcm92ZSB0aGUgdGhlb3JlbSB3aXRoIHRoZSBmb2xsb3dpbmcgdGVjaG5pcXVlczogCisgICAgIAorICAgICAgICAgICAgICAgIDx2YXJpYWJsZWxpc3Q+CisJICAgIDx2YXJsaXN0ZW50cnk+CisJICAgICAgPHRlcm0+RGVkdWN0aW9uPC90ZXJtPgorCSAgICAgIDxsaXN0aXRlbT4KKwkJPHBhcmE+CisgICAgICAgICAgICAgICAgICBUaGlzIGlzIGEgcHJvb2YgbWV0aG9kIHRoYXQgaXMgZ2VuZXJhbGx5IGFjY2VwdGVkCisgICAgICAgICAgICAgICAgICBmb3IgZnVsbCBjcmVkaXQgYnkgTG9naWMgcHJvZmVzc29ycy4KKyAgICAgICAgICAgICAgICA8L3BhcmE+CisJICAgICAgPC9saXN0aXRlbT4KKwkgICAgPC92YXJsaXN0ZW50cnk+CisJICAgIDx2YXJsaXN0ZW50cnk+CisgICAgICAgICAgICA8dGVybT5JbmR1Y3Rpb248L3Rlcm0+CisJICAgIDxsaXN0aXRlbT4KKwkgICAgICA8cGFyYT4KKyAgICAgICAgICAgICAgICBUaGlzIGxvZ2ljYWwgc3R5bGUgd2lsbCBhbHNvIGVhcm4geW91IGZ1bGwgY3JlZGl0IG9uCisgICAgICAgICAgICAgICAgeW91ciBob21ld29yay4KKyAgICAgICAgICAgICA8L3BhcmE+CisJICAgIDwvbGlzdGl0ZW0+CisgICAgICAgICAgICA8L3Zhcmxpc3RlbnRyeT4KKwkgICAgPHZhcmxpc3RlbnRyeT4KKwkgICAgICA8dGVybT5EaWFsb2c8L3Rlcm0+CisJICAgICAgPGxpc3RpdGVtPgorCSAgICAgIDxwYXJhPgorICAgICAgICAgICAgICAgIFRoaXMgbG9naWNhbCBtZXRob2QgaXMgYmVzdCBmb3IgUGhpbG9zb3BoeSBjbGFzc2VzLAorICAgICAgICAgICAgICAgIGFuZCB3aWxsIHByb2JhYmx5IG9ubHkgbWVyaXQgcGFydGlhbCBjcmVkaXQgb24gTG9naWMKKyAgICAgICAgICAgICAgICBvciBNYXRoZW1hdGljcyBob21ld29yay4KKyAgICAgICAgICAgICAgPC9wYXJhPgorCSAgICA8L2xpc3RpdGVtPgorICAgICAgICAgICAgPC92YXJsaXN0ZW50cnk+CisgICAgICAgICAgICA8dmFybGlzdGVudHJ5PgorCSAgICAgIDx0ZXJtPkNvbmZ1c2lvbjwvdGVybT4KKwkgICAgICA8bGlzdGl0ZW0+CisJICAgICAgPHBhcmE+CisgICAgICAgICAgICAgICAgU3VpdGFibGUgb25seSBmb3IgcG9saXRpY2FsIGRlYmF0ZXMsIGJhdHRsZXMgb2Ygd2l0cworICAgICAgICAgICAgICAgIGFnYWluc3QgdGhlIHVuYXJtZWQsIGFuZCBQaGlsb3NvcGh5IGNsYXNzZXMgZm9jdXNpbmcKKyAgICAgICAgICAgICAgICBvbiB0aGUgd29ya3Mgb2YgS2FudC4gVXNlIHdpdGggY2F1dGlvbi4KKyAgICAgICAgICAgICAgPC9wYXJhPgorCSAgICAgIDwvbGlzdGl0ZW0+CisJICAgIDwvdmFybGlzdGVudHJ5PgorCSAgPC92YXJpYWJsZWxpc3Q+CisgICAgICAgICAgPC9wYXJhPgorCisgICA8IS0tIFlvdSBtaWdodCB3YW50IHRvIGluY2x1ZGUgYSBub3RlLCB3YXJuaW5nLCBvciB0aXAsIGUuZy4gLS0+CisJCisJPHdhcm5pbmc+CisJICA8dGl0bGU+UHJvdmluZyBJbmNvcnJlY3QgVGhlb3JtczwvdGl0bGU+CisJICA8cGFyYT4KKyAgICAgICAgICAgIDxhcHBsaWNhdGlvbj5NWS1HTk9NRS1BUFA8L2FwcGxpY2F0aW9uPiBjYW5ub3QgcHJvdmUKKyAgICAgICAgICAgIGluY29ycmVjdCB0aGVvcmVtcy4gSWYgdGhlIHRoZW9yZW0geW91IGhhdmUgZW50ZXJlZCBpcyBub3QKKyAgICAgICAgICAgIGRlbW9uc3RyYWJseSB0cnVlLCB5b3Ugd2lsbCBnZXQgYSBtZXNzYWdlIHRvIHRoYXQgZWZmZWN0CisgICAgICAgICAgICBpbiB0aGUgbWFpbiB3aW5kb3cuICBUbyBkaXNwcm92ZSBhIHRoZW9yZW0sIGFzaworICAgICAgICAgICAgPGFwcGxpY2F0aW9uPk1ZLUdOT01FLUFQUDwvYXBwbGljYXRpb24+IHRvIHByb3ZlIGl0cworICAgICAgICAgICAgbG9naWNhbCBpbnZlcnNlLgorICAgICAgICAgIDwvcGFyYT4KKwk8L3dhcm5pbmc+CisgICAgICA8L3NlY3QzPgorICAgICAgPHNlY3QzIGlkPSJlZGl0aW5nIj4KKwk8dGl0bGU+RWRpdGluZyBQcm9vZnM8L3RpdGxlPgorCTxwYXJhPgorICAgICAgICAgIE9uY2UgeW91IGhhdmUgcHJvdmVuIHRoZSB0aGVvcmVtLCBpdCB3aWxsIGJlIGRpc3BsYXllZCBpbgorICAgICAgICAgIHRoZSA8aW50ZXJmYWNlPm1haW4gd2luZG93PC9pbnRlcmZhY2U+LiAgVGhlcmUsIHlvdSBjYW4gcmVhZAorICAgICAgICAgIGl0IG92ZXIsIGNob29zZSB0ZXh0IHN0eWxlcyBmb3IgZGlmZmVyZW50IHBvcnRpb25zIG9mIGl0LAorICAgICAgICAgIGFuZCBtYWtlIGNvbW1lbnRzIG9uIGl0LiBUaGlzIHNlY3Rpb24gd2lsbCBndWlkZSB5b3UgdGhyb3VnaAorICAgICAgICAgIHRoYXQgcHJvY2Vzcy4KKyAgICAgICAgPC9wYXJhPgorCTxwYXJhPgorICAgICAgICAgIFRvIGFsdGVyIHRleHQgc3R5bGVzLCBmaXJzdCBzZWxlY3QgdGhlIHN0YXRlbWVudCB5b3Ugd2lzaCB0bworICAgICAgICAgIGNoYW5nZSBieSBjbGlja2luZyBvbiBpdCBvbmNlLiAgWW91IGNhbiBzZWxlY3Qgc2V2ZXJhbAorICAgICAgICAgIHN0YXRlbWVudHMgYnkgVGhlbiwgY2hvb3NlIHRoZSBzdHlsZSB5b3Ugd2FudCB0byBhcHBseSBmcm9tCisgICAgICAgICAgdGhlIDxndWlzdWJtZW51PlN0eWxlPC9ndWlzdWJtZW51PiBzdWJtZW51IG9mIHRoZQorICAgICAgICAgIDxndWltZW51PkVkaXQ8L2d1aW1lbnU+IG1lbnUuCisgICAgICAgICAgPGFwcGxpY2F0aW9uPk1ZLUdOT01FLUFQUDwvYXBwbGljYXRpb24+IHdpbGwgY29udmVydCB0aGUKKyAgICAgICAgICB0ZXh0IHRvIHRoYXQgc3R5bGUuCisgICAgICAgIDwvcGFyYT4KKyAgICAgICAgPHBhcmE+CisgICAgICAgICAgWW91IGNhbiBhbHNvIGVudGVyIGNvbW1lbnRzIG9uIGEgc3RhdGVtZW50IGJ5IHNlbGVjdGluZyB0aGF0CisgICAgICAgICAgc3RhdGVtZW50LCBhbmQgdGhlbiBiZWdpbm5pbmcgdG8gdHlwZS4gIENvbW1lbnRzIHdpbGwgYXBwZWFyCisgICAgICAgICAgYWZ0ZXIgdGhlIHN0YXRlbWVudCB5b3UgaGF2ZSBzZWxlY3RlZC4KKyAgICAgICAgPC9wYXJhPgorCisJPG5vdGU+CisJICA8dGl0bGU+QWx0ZXJpbmcgVGhlIFByb29mcyBUaGVtc2VsdmVzPC90aXRsZT4KKyAgICAgICAgICA8cGFyYT4KKyAgICAgICAgICAgIDxhcHBsaWNhdGlvbj5NWS1HTk9NRS1BUFA8L2FwcGxpY2F0aW9uPiBkb2VzIG5vdCBhbGxvdyB5b3UKKyAgICAgICAgICAgIHRvIGFsdGVyIGEgcHJvb2YgaXQgaGFzIHByb2R1Y2VkIGl0c2VsZi4gIFlvdSBjYW4sIHNhdmUKKyAgICAgICAgICAgIHlvdXIgcHJvb2YgYXMgYSBwbGFpbiB0ZXh0IGZpbGUgKHVzaW5nIHRoZQorICAgICAgICAgICAgPGd1aW1lbnVpdGVtPlNhdmUgYXMuLi48L2d1aW1lbnVpdGVtPiBtZW51KSwgYW5kIGFsdGVyIGl0CisgICAgICAgICAgICB0aGF0IHdheS4gIEJlIGF3YXJlLCBob3dldmVyLCB0aGF0CisgICAgICAgICAgICA8YXBwbGljYXRpb24+TVktR05PTUUtQVBQPC9hcHBsaWNhdGlvbj4gdXNlcyBpdHMgb3duIGZpbGUKKyAgICAgICAgICAgIGZvcm1hdCBmb3Igc2F2ZWQgcHJvb2ZzLCBhbmQgY2Fubm90IHJlLW9wZW4gYSBmaWxlIHVubGVzcworICAgICAgICAgICAgaXQgaXMgaW4gdGhlIC5tZ2EgZm9ybWF0LgorICAgICAgICAgIDwvcGFyYT4KKwk8L25vdGU+CisgICAgICA8L3NlY3QzPgorCisKKyAgPCEtLSBJZiB0aGVyZSBhcmUgb3RoZXIgZnVuY3Rpb25zIHBlcmZvcm1lZCBmcm9tIHRoZSBtYWluIHdpbmRvdywKKyAgICAgICB0aGV5IGJlbG9uZyBoZXJlLiAgIC0tPgorCisgICAgPC9zZWN0Mj4KKyAKKyAgICA8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAKKyAgICAgIEFkZGl0aW9uYWwgU2VjdDIncyBzaG91bGQgZGVzY3JpYmUgYWRkaXRpb25hbCB3aW5kb3dzLCBzdWNoIGFzCisgICAgICBsYXJnZXIgZGlhbG9nIGJveGVzLCBvciBmdW5jdGlvbmFsaXR5IHRoYXQgZGlmZmVycyBzaWduaWZpY2FudGx5CisgICAgICBmcm9tIHRoZSBtb3N0IGltbWVkaWF0ZSBmdW5jdGlvbnMgb2YgdGhlIGFwcGxpY2F0aW9uLiBNYWtlIHRoZQorICAgICAgc3RydWN0dXJlIGxvZ2ljYWwuCisgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICAtLT4KKworCisgICAgPHNlY3QyIGlkPSJ0b29sYmFyIj4KKyAgICAgIDx0aXRsZT5Ub29sYmFyPC90aXRsZT4KKyAgICAgIDxwYXJhPgorICAgICAgICBUaGUgdG9vbGJhciAoc2hvd24gaW4gPHhyZWYgbGlua2VuZD0iZmlndXJlLXVzYWdlLXRvb2xiYXIiPikKKyAgICAgICAgcHJvdmlkZXMgYWNjZXNzIHRvIHNldmVyYWwgY29tbW9ubHkgdXNlZCByb3V0aW5lcy4KKyAgICAgICAgPGZpZ3VyZSBpZD0iZmlndXJlLXVzYWdlLXRvb2xiYXIiPgorCSAgPHRpdGxlPk1ZLUdOT01FLUFQUCBUb29sYmFyPC90aXRsZT4KKwkgIDxzY3JlZW5zaG90PgorCSAgICA8c2NyZWVuaW5mbz5NWS1HTk9NRS1BUFAgVG9vbGJhcjwvc2NyZWVuaW5mbz4KKwkgICAgPGdyYXBoaWMgZmlsZXJlZj0idXNhZ2UtdG9vbGJhci5wbmciIGZvcm1hdD0icG5nIj48L2dyYXBoaWM+CisJICA8L3NjcmVlbnNob3Q+CisJPC9maWd1cmU+CisgICAgICAgIDx2YXJpYWJsZWxpc3Q+CisJICA8dmFybGlzdGVudHJ5PgorCSAgICA8dGVybT5OZXc8L3Rlcm0+CisJICAgIDxsaXN0aXRlbT4KKwkgICAgICA8cGFyYT4KKyAgICAgICAgICAgICAgICBCcmluZ3MgdXAgdGhlIDxpbnRlcmZhY2U+TmV3IFRoZW9yZW08L2ludGVyZmFjZT4KKyAgICAgICAgICAgICAgICBkaWFsb2cuCisgICAgICAgICAgICAgIDwvcGFyYT4KKwkgICAgPC9saXN0aXRlbT4KKwkgIDwvdmFybGlzdGVudHJ5PgorCSAgPHZhcmxpc3RlbnRyeT4KKwkgICAgPHRlcm0+T3BlbjwvdGVybT4KKwkgICAgPGxpc3RpdGVtPgorCSAgICAgIDxwYXJhPgorICAgICAgICAgICAgICAgICBPcGVuIGFuIGV4aXNpdGluZyB0aGVvcmVtIHlvdSB3YW50IHRvIHByb3ZlLCBvciBhCisgICAgICAgICAgICAgICAgIGNvbXBsZXRlZCBwcm9vZiB5b3Ugd2lzaCB0byBwcmludCBvciBmb3JtYXQuCisgICAgICAgICAgICAgICA8L3BhcmE+CisJICAgIDwvbGlzdGl0ZW0+CisJICA8L3Zhcmxpc3RlbnRyeT4KKwkgIDx2YXJsaXN0ZW50cnk+CisJICAgIDx0ZXJtPlNhdmU8L3Rlcm0+CisJICAgIDxsaXN0aXRlbT4KKwkgICAgICA8cGFyYT4KKwkgICAgICAgICBTYXZlIHRoZSBjdXJyZW50IHRoZW9yZW0gcGVybWFuZW50bHkgaW4gYQorCSAgICAgICAgIGZpbGUuCisgICAgICAgICAgICAgICA8L3BhcmE+CisJICAgIDwvbGlzdGl0ZW0+IAorCSAgPC92YXJsaXN0ZW50cnk+CisJPC92YXJpYWJsZWxpc3Q+CisgICAgICAgPC9wYXJhPgorICAgIDwvc2VjdDI+CisgICAgPCEtLSA9PT09PT09PT0gTWVudXMgPT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPiAKKworICAgIDxzZWN0MiBpZD0ibWVudWJhciI+CisKKyAgICAgICA8IS0tIERlc2NyaWJpbmcgdGhlIG1lbnViYXIgZW5zdXJlcyBjb21wcmVoZW5zaXZlIGZlYXR1cmUKKyAgICAgICBjb3ZlcmFnZS4gTmVzdCBpdGVtaXplZGxpc3RzIGluc2lkZSB2YXJpYWJsZWxpc3RzIHNvIHRoYXQgZWFjaAorICAgICAgIG1lbnUgaXMgZWFzaWx5IGxvY2F0ZWQgYnkgaW5kZXhpbmcgc29mdHdhcmUuIFByb3BlciBpbmRlbnRhdGlvbgorICAgICAgIG1ha2VzIGl0IGVhc2llciEgLS0+CisKKyAgICAgIDx0aXRsZT5NZW51czwvdGl0bGU+CisgICAgICA8cGFyYT4KKwlUaGUgbWVudSBiYXIsIGxvY2F0ZWQgYXQgdGhlIHRvcCBvZiB0aGUgPGludGVyZmFjZT5NYWluCisJV2luZG93PC9pbnRlcmZhY2U+LCBjb250YWlucyB0aGUgZm9sbG93aW5nIG1lbnVzOgorICAgICAgIDwvcGFyYT4KKyAgICAgIDx2YXJpYWJsZWxpc3Q+CisJPHZhcmxpc3RlbnRyeT4KKwkgIDx0ZXJtPjxndWltZW51PkZpbGU8L2d1aW1lbnU+PC90ZXJtPgorCSAgPGxpc3RpdGVtPgorCSAgICA8cGFyYT4KKwkgICAgICAgVGhpcyBtZW51IGNvbnRhaW5zOgorCSAgICAgICA8aXRlbWl6ZWRsaXN0PgorCQk8bGlzdGl0ZW0+CisJCSAgPHBhcmE+CisJICAgICAgICAgICAgPG1lbnVjaG9pY2U+CisJCSAgICAgIDxzaG9ydGN1dD4KKwkJCTxrZXljYXA+RjM8L2tleWNhcD4KKwkJICAgICAgPC9zaG9ydGN1dD4KKwkJICAgICAgPGd1aW1lbnVpdGVtPk9wZW48L2d1aW1lbnVpdGVtPgorCQkgICAgIDwvbWVudWNob2ljZT4KKwkgICAgICAgICAgICAgJm1kYXNoOyBUaGlzIG9wZW5zIGEgZmlsZSB3aGljaCBpcyBzYXZlZCBvbiB5b3VyIGNvbXB1dGVyLgorCSAgICAgICAgICAgPC9wYXJhPgorCQk8L2xpc3RpdGVtPgorCQk8bGlzdGl0ZW0+CisJCSAgPHBhcmE+CisJICAgICAgICAgICAgIDxtZW51Y2hvaWNlPgorCQkgICAgICA8c2hvcnRjdXQ+CisJCQk8a2V5Y29tYm8+PGtleWNhcD5DdHJsPC9rZXljYXA+PGtleWNhcD5TPC9rZXljYXA+PC9rZXljb21ibz4KKwkJICAgICAgPC9zaG9ydGN1dD4KKwkJICAgICAgPGd1aW1lbnVpdGVtPlNhdmU8L2d1aW1lbnVpdGVtPgorCQkgICAgPC9tZW51Y2hvaWNlPgorCSAgICAgICAgICAgICZtZGFzaDsgVGhpcyBzYXZlcyB5b3VyIGZpbGUuCisJICAgICAgICAgIDwvcGFyYT4KKwkJPC9saXN0aXRlbT4KKwkJPGxpc3RpdGVtPgorCQkgIDxwYXJhPgorCSAgICAgICAgICAgICA8bWVudWNob2ljZT4KKwkJICAgICAgPHNob3J0Y3V0PgorCQkJPGtleWNvbWJvPjxrZXljYXA+Q3RybDwva2V5Y2FwPjxrZXljYXA+Vzwva2V5Y2FwPjwva2V5Y29tYm8+CisJCSAgICAgIDwvc2hvcnRjdXQ+CisJCSAgICAgIDxndWltZW51aXRlbT5DbG9zZTwvZ3VpbWVudWl0ZW0+CisJCSAgICA8L21lbnVjaG9pY2U+CisJICAgICAgICAgICAgJm1kYXNoOyBUaGlzIGNsb3NlcyB5b3VyIGZpbGUuCisJICAgICAgICAgIDwvcGFyYT4KKwkJPC9saXN0aXRlbT4KKwkJPGxpc3RpdGVtPgorCQkgIDxwYXJhPgorCSAgICAgICAgICAgIDxtZW51Y2hvaWNlPgorCQkgICAgICA8c2hvcnRjdXQ+CisJCQk8a2V5Y29tYm8+PGtleWNhcD5DdHJsPC9rZXljYXA+PGtleWNhcD5RPC9rZXljYXA+PC9rZXljb21ibz4KKwkJICAgICAgPC9zaG9ydGN1dD4KKwkJICAgICAgPGd1aW1lbnVpdGVtPkV4aXQ8L2d1aW1lbnVpdGVtPgorCQkgICAgPC9tZW51Y2hvaWNlPgorCSAgICAgICAgICAgICZtZGFzaDsgVGhpcyBxdWl0cyB0aGUgYXBwbGljYXRpb24uCisJICAgICAgICAgIDwvcGFyYT4KKwkJPC9saXN0aXRlbT4KKwkgICAgICA8L2l0ZW1pemVkbGlzdD4KKwkgIDwvcGFyYT4KKwkgIDwvbGlzdGl0ZW0+CisJPC92YXJsaXN0ZW50cnk+CisJCisJPHZhcmxpc3RlbnRyeT4KKwkgIDx0ZXJtPjxndWltZW51PkVkaXQ8L2d1aW1lbnU+PC90ZXJtPgorCSAgPGxpc3RpdGVtPgorCSAgICA8cGFyYT4KKwkgICBUaGlzIG1lbnUgY29udGFpbnM6CisJICAgPGl0ZW1pemVkbGlzdD4KKwkJPGxpc3RpdGVtPgorCQkgIDxwYXJhPgorCSAgICAgICAgICAgIDxtZW51Y2hvaWNlPgorCQkgICAgICA8c2hvcnRjdXQ+CisJCQk8a2V5Y29tYm8+PGtleWNhcD5DdHJsPC9rZXljYXA+PGtleWNhcD5YPC9rZXljYXA+PC9rZXljb21ibz4KKwkJICAgICAgPC9zaG9ydGN1dD4KKwkJICAgICAgPGd1aW1lbnVpdGVtPkN1dDwvZ3VpbWVudWl0ZW0+CisJCSAgICA8L21lbnVjaG9pY2U+CisJICAgICAgICAgICAgJm1kYXNoOyBUaGlzIHJlbW92ZXMgYW55IHRleHQgb3IgZGF0YSB3aGljaCBpcyBzZWxlY3RlZCBhbmQKKwkgICAgICAgICAgICBwbGFjZXMgaXQgaW4gdGhlIGJ1ZmZlci4KKwkgICAgICAgICAgPC9wYXJhPgorCQk8L2xpc3RpdGVtPgorCQk8bGlzdGl0ZW0+CisJCSAgPHBhcmE+CisJICAgICAgICAgICAgPG1lbnVjaG9pY2U+CisJCSAgICAgIDxzaG9ydGN1dD4KKwkJCTxrZXljb21ibz48a2V5Y2FwPkN0cmw8L2tleWNhcD48a2V5Y2FwPkM8L2tleWNhcD48L2tleWNvbWJvPgorCQkgICAgICA8L3Nob3J0Y3V0PgorCQkgICAgICA8Z3VpbWVudWl0ZW0+Q29weTwvZ3VpbWVudWl0ZW0+CisJCSAgICA8L21lbnVjaG9pY2U+CisJICAgICAgICAgICAgJm1kYXNoOyBUaGlzIGNvcGllcyBhbnkgdGV4dCBvciBkYXRhIHdoaWNoIGlzIHNlbGVjdGVkIGludG8KKwkgICAgICAgICAgICB0aGUgYnVmZmVyLgorCSAgICAgICAgICA8L3BhcmE+CisJCTwvbGlzdGl0ZW0+CisJCTxsaXN0aXRlbT4KKwkJICA8cGFyYT4KKwkgICAgICAgICAgIDxtZW51Y2hvaWNlPgorCQkgICAgICA8c2hvcnRjdXQ+CisJCQk8a2V5Y29tYm8+PGtleWNhcD5DdHJsPC9rZXljYXA+PGtleWNhcD5WPC9rZXljYXA+PC9rZXljb21ibz4KKwkJICAgICAgPC9zaG9ydGN1dD4KKwkJICAgICAgPGd1aW1lbnVpdGVtPlBhc3RlPC9ndWltZW51aXRlbT4KKwkJICAgIDwvbWVudWNob2ljZT4KKwkgICAgICAgICAgICAmbWRhc2g7IFRoaXMgcGFzdGVzIGFueSB0ZXh0IG9yIGRhdGEgd2hpY2ggaXMgY29waWVkIGludG8KKwkgICAgICAgICAgICB0aGUgYnVmZmVyLgorCSAgICAgICAgPC9wYXJhPgorCQk8L2xpc3RpdGVtPgorCQk8bGlzdGl0ZW0+CisJCSAgPHBhcmE+CisJICAgICAgICAgICAgIDxndWltZW51aXRlbT5DT01NQU5EMSZoZWxsaXA7PC9ndWltZW51aXRlbT4KKwkgICAgICAgICAgICAgJm1kYXNoOyBUaGlzIG9wZW5zIHRoZSA8aW50ZXJmYWNlPkNPTU1BTkQxPC9pbnRlcmZhY2U+CisJICAgICAgICAgICAgIGRpYWxvZywgd2hpY2ggaXMgdXNlZCB0byAuLi4uCisJICAgICAgICAgIDwvcGFyYT4KKwkJPC9saXN0aXRlbT4KKwkJPGxpc3RpdGVtPgorCQkgIDxwYXJhPgorCSAgICAgICAgICAgIDxndWltZW51aXRlbT5DT01NQU5EMjwvZ3VpbWVudWl0ZW0+CisJICAgICAgICAgICAgJm1kYXNoOyBUaGlzIC4uLi4KKwkgICAgICAgICAgPC9wYXJhPgorCQk8L2xpc3RpdGVtPgorCSAgICAgIDwvaXRlbWl6ZWRsaXN0PgorCSAgICA8L3BhcmE+CisJICA8L2xpc3RpdGVtPgorCTwvdmFybGlzdGVudHJ5PgorCQorCisJPHZhcmxpc3RlbnRyeT4KKwkgIDx0ZXJtPjxndWltZW51PlNldHRpbmdzPC9ndWltZW51PjwvdGVybT4KKwkgIDxsaXN0aXRlbT4KKwkgICAgPHBhcmE+CisJICAgVGhpcyBtZW51IGNvbnRhaW5zOgorCSAgIDxpdGVtaXplZGxpc3Q+CisJCTxsaXN0aXRlbT4KKwkJICA8cGFyYT4KKwkgICAgICA8Z3VpbWVudWl0ZW0+UHJlZmVyZW5jZXMmaGVsbGlwOzwvZ3VpbWVudWl0ZW0+CisJICAgICAgICZtZGFzaDsgVGhpcyBvcGVucyB0aGUgPGxpbmsKKwkgICAgICAgbGlua2VuZD0icHJlZnMiPjxpbnRlcmZhY2U+UHJlZmVyZW5jZXMKKwkgICAgICAgRGlhbG9nPC9pbnRlcmZhY2U+PC9saW5rPiwgd2hpY2ggYWxsb3dzIHlvdSB0byBjb25maWd1cmUKKwkgICAgICAgbWFueSBzZXR0aW5ncy4KKwkgICAgIDwvcGFyYT4KKwkJPC9saXN0aXRlbT4KKwkJPGxpc3RpdGVtPgorCQkgIDxwYXJhPgorCSAgICAgICAgICAgIDxndWltZW51aXRlbT5DT01NQU5EMzwvZ3VpbWVudWl0ZW0+ICZtZGFzaDsKKyAgICAJICAgICAgICAgICAgVGhpcyBjb21tYW5kIGRvZXMgc29tZXRoaW5nLgorICAgIAkgICAgCSAgIDwvcGFyYT4KKwkJPC9saXN0aXRlbT4KKwkgICAgICA8L2l0ZW1pemVkbGlzdD4KKwkgICAgPC9wYXJhPgorCSAgPC9saXN0aXRlbT4KKwk8L3Zhcmxpc3RlbnRyeT4KKwkKKwk8dmFybGlzdGVudHJ5PgorCSAgPHRlcm0+PGd1aW1lbnU+SGVscDwvZ3VpbWVudT48L3Rlcm0+CisJICA8bGlzdGl0ZW0+CisJICAgIDxwYXJhPgorCSAgICAgIFRoaXMgbWVudSBjb250YWluczoKKwkgICAgICAgPGl0ZW1pemVkbGlzdD4KKwkJPGxpc3RpdGVtPgorCQkgIDxwYXJhPgorCSAgICAgICAgICAgICA8Z3VpbWVudWl0ZW0+TWFudWFsPC9ndWltZW51aXRlbT4gJm1kYXNoOyBUaGlzCisgICAgCSAgICAgICAgICAgICAgb3BlbnMgdGhlIDxhcHBsaWNhdGlvbj5HTk9NRSBIZWxwCisgICAgCSAgICAgICAgICAgICAgQnJvd3NlcjwvYXBwbGljYXRpb24+IGFuZCBkaXNwbGF5cyB0aGlzIG1hbnVhbC4KKwkgICAgICAgICAgPC9wYXJhPgorCQk8L2xpc3RpdGVtPgorCQkKKwkJPGxpc3RpdGVtPgorCQkgIDxwYXJhPgorCSAgICAgICAgICAgIDxndWltZW51aXRlbT5BYm91dDwvZ3VpbWVudWl0ZW0+ICZtZGFzaDsgVGhpcworICAgIAkgICAgICAgICAgICBvcGVucyB0aGUgPGludGVyZmFjZT5BYm91dDwvaW50ZXJmYWNlPiBkaWFsb2cKKyAgICAJICAgICAgICAgICAgd2hpY2ggc2hvd3MgYmFzaWMgaW5mb3JtYXRpb24gYWJvdXQKKyAgICAJICAgICAgICAgICAgPGFwcGxpY2F0aW9uPk1ZLUdOT01FLUFQUDwvYXBwbGljYXRpb24+LCBzdWNoIGFzCisgICAgCSAgICAgICAgICAgIHRoZSBhdXRob3IncyBuYW1lLCB0aGUgYXBwbGljYXRpb24gdmVyc2lvbiBudW1iZXIsCisgICAgCSAgICAgICAgICAgIGFuZCB0aGUgVVJMIGZvciB0aGUgYXBwbGljYXRpb24ncyBXZWIgcGFnZSBpZiBvbmUKKyAgICAJICAgICAgICAgICAgZXhpc3RzLgorCSAgICAgICAgICA8L3BhcmE+CisJCTwvbGlzdGl0ZW0+CisJICAgICAgPC9pdGVtaXplZGxpc3Q+CisgICAgICAgICAgICA8L3BhcmE+CisJICA8L2xpc3RpdGVtPgorCTwvdmFybGlzdGVudHJ5PgorICAgICAgPC92YXJpYWJsZWxpc3Q+CisgICAgPC9zZWN0Mj4KKyAgPC9zZWN0MT4KKworCisKKyA8IS0tID09PT09PT09PT09PT0gQ3VzdG9taXphdGlvbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKworIDxzZWN0MSBpZD0icHJlZnMiPgorICA8dGl0bGU+Q3VzdG9taXphdGlvbjwvdGl0bGU+CisgIDxwYXJhPgorICAgVG8gY2hhbmdlIHRoZSBhcHBsaWNhdGlvbiBzZXR0aW5ncywgc2VsZWN0CisgICA8bWVudWNob2ljZT4KKyAgICA8Z3VpbWVudT5TZXR0aW5nczwvZ3VpbWVudT4KKyAgICA8Z3VpbWVudWl0ZW0+UHJlZmVyZW5jZXMuLi48L2d1aW1lbnVpdGVtPgorICAgPC9tZW51Y2hvaWNlPi4gIFRoaXMgb3BlbnMgdGhlCisgICA8aW50ZXJmYWNlPlByZWZlcmVuY2VzPC9pbnRlcmZhY2U+IGRpYWxvZywgc2hvd24gaW4gPHhyZWYKKyAgIGxpbmtlbmQ9InByZWZlcmVuY2VzLWZpZyI+LgorICA8L3BhcmE+CisKKyAgPGZpZ3VyZSBpZD0icHJlZmVyZW5jZXMtZmlnIj4KKyAgIDx0aXRsZT5QcmVmZXJlbmNlcyBEaWFsb2c8L3RpdGxlPgorICAgPHNjcmVlbnNob3Q+CisgICAgPHNjcmVlbmluZm8+UHJlZmVyZW5jZXMgRGlhbG9nPC9zY3JlZW5pbmZvPgorICAgIDxncmFwaGljIGZpbGVyZWY9IlNDUkVFTlNIT1QiIGZvcm1hdD0icG5nIgorICAgICBzcmNjcmVkaXQ9Ik1FIj4KKyAgICA8L2dyYXBoaWM+CisgICA8L3NjcmVlbnNob3Q+CisgIDwvZmlndXJlPgorCisgIDxwYXJhPgorICAgVGhlIHByb3BlcnRpZXMgaW4gdGhlIDxndWlsYWJlbD5QUkVGU1RBQk5BTUU8L2d1aWxhYmVsPiB0YWIgYXJlOgorICAgCisgICA8IS0tbWFueSBwZW9wbGUgdXNlIGl0ZW1pemVkbGlzdHMgaW4gY2FzZXMgbGlrZSB0aGlzLiBWYXJpYWJsZWxpc3RzCisgICBhcmUgbW9yZSBhcHByb3ByaWF0ZSAtLT4KKworICAgICAgPHZhcmlhYmxlbGlzdD4KKwk8dmFybGlzdGVudHJ5PgorCSAgPHRlcm0+IDxndWlsYWJlbD5EZWZhdWx0IFRleHQgU3R5bGU8L2d1aWxhYmVsPjwvdGVybT4KKwkgIDxsaXN0aXRlbT4KKwkgICAgPHBhcmE+CisgICAgICAgICAgICAgIFNlbGVjdCB0aGUgZGVmYXVsdCB0ZXh0IHN0eWxlIGZvciBzdGF0ZW1lbnRzIGluIHlvdXIKKyAgICAgICAgICAgICAgcHJvb2YuICBZb3UgY2FuIHN0aWxsIGNoYW5nZSB0aGUgc3R5bGUgZm9yIGluZGl2aWR1YWwKKyAgICAgICAgICAgICAgcHJvb2ZzIG9yIHNlY3Rpb25zIG9mIGEgcHJvb2YgYXQgYSBsYXRlciBkYXRlLgorICAgICAgICAgICAgPC9wYXJhPgorCSAgPC9saXN0aXRlbT4KKwk8L3Zhcmxpc3RlbnRyeT4KKwk8dmFybGlzdGVudHJ5PgorCSAgPHRlcm0+KENvbmZpZ3VyYXRpb24gSXRlbSBMYWJlbCk8L3Rlcm0+CisJICA8bGlzdGl0ZW0+CisJICAgIDxwYXJhPgorICAgICAgICAgICAgIChEZXNjcmlwdGlvbiBvZiBDb25maWd1cmF0aW9uKQorICAgICAgICAgICAgIDwvcGFyYT4KKwkgIDwvbGlzdGl0ZW0+CisJPC92YXJsaXN0ZW50cnk+CisJPHZhcmxpc3RlbnRyeT4KKwkgIDx0ZXJtPihDb25maWd1cmF0aW9uIEl0ZW0gTGFiZWwpPC90ZXJtPgorCSAgPGxpc3RpdGVtPgorCSAgICA8cGFyYT4KKyAgICAgICAgICAgICAoRGVzY3JpcHRpb24gb2YgQ29uZmlndXJhdGlvbikKKyAgICAgICAgICAgICA8L3BhcmE+CisJICA8L2xpc3RpdGVtPgorCTwvdmFybGlzdGVudHJ5PgorICAgICAgPC92YXJpYWJsZWxpc3Q+CisgICAgPC9wYXJhPgorCisgICAgPHBhcmE+CisgICAgIFRoZSBwcm9wZXJ0aWVzIGluIHRoZSA8Z3VpbGFiZWw+U0VDT05EVEFCTkFNRTwvZ3VpbGFiZWw+IHRhYiBhcmU6CisgICAgICAgPHZhcmlhYmxlbGlzdD4KKwk8dmFybGlzdGVudHJ5PgorCSAgPHRlcm0+KENvbmZpZ3VyYXRpb24gSXRlbSBMYWJlbCk8L3Rlcm0+CisJICA8bGlzdGl0ZW0+CisJICAgIDxwYXJhPgorICAgICAgICAgICAgIChEZXNjcmlwdGlvbiBvZiBDb25maWd1cmF0aW9uKQorICAgICAgICAgICAgIDwvcGFyYT4KKwkgIDwvbGlzdGl0ZW0+CisJPC92YXJsaXN0ZW50cnk+CisJPHZhcmxpc3RlbnRyeT4KKwkgIDx0ZXJtPihDb25maWd1cmF0aW9uIEl0ZW0gTGFiZWwpPC90ZXJtPgorCSAgPGxpc3RpdGVtPgorCSAgICA8cGFyYT4KKyAgICAgICAgICAgICAoRGVzY3JpcHRpb24gb2YgQ29uZmlndXJhdGlvbikKKyAgICAgICAgICAgICA8L3BhcmE+CisJICA8L2xpc3RpdGVtPgorCTwvdmFybGlzdGVudHJ5PgorICAgICAgPC92YXJpYWJsZWxpc3Q+CisgICAgPC9wYXJhPgorCisgIDxwYXJhPgorICAgIEFmdGVyIHlvdSBoYXZlIG1hZGUgYWxsIHRoZSBjaGFuZ2VzIHlvdSB3YW50LCBjbGljayBvbgorICAgIDxndWlidXR0b24+T0s8L2d1aWJ1dHRvbj4gdG8gYXBwbHkgdGhlIGNoYW5nZXMgYW5kIGNsb3NlIHRoZQorICAgIDxpbnRlcmZhY2U+UHJvcGVydGllczwvaW50ZXJmYWNlPiBkaWFsb2cuIFRvIGNhbmNlbCB0aGUgY2hhbmdlcworICAgIGFuZCByZXR1cm4gdG8gcHJldmlvdXMgdmFsdWVzLCBjbGljayB0aGUKKyAgICA8Z3VpYnV0dG9uPkNsb3NlPC9ndWlidXR0b24+IGJ1dHRvbi4KKyAgPC9wYXJhPgorCisgPC9zZWN0MT4KKworCisgPCEtLSA9PT09PT09PT09PT09IFZhcmlvdXMgU2VjdGlvbnMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+CisKKyA8IS0tIEhlcmUgeW91IHNob3VsZCBhZGQsIGlmIG5lY2Vzc2FyeSwgc2V2ZXJhbCBtb3JlIHNlY3QxJ3MsCisgZGVzY3JpYmluZyBvdGhlciB3aW5kb3dzIChiZXNpZGVzIHRoZSBtYWluIG9uZSksIGZpbGUgZm9ybWF0cywKKyBwcmVmZXJlbmNlcyBkaWFsb2dzLCAgZXRjLiBhcyBhcHByb3ByaWF0ZS4gVHJ5IG5vdCB0byBtYWtlIGFueSBvZgorIHRoZXNlIHNlY3Rpb25zIHRvbyBsb25nLiAtLT4KKworCisgPCEtLSA9PT09PT09PT09PT09IEJ1Z3MgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKyA8IS0tIFRoaXMgc2VjdGlvbiBzaG91bGQgZGVzY3JpYmUga25vd24gYnVncyBhbmQgbGltaXRhdGlvbnMgb2YKKyAgICAgIHRoZSBwcm9ncmFtIGlmIHRoZXJlIGFyZSBhbnkgLSBwbGVhc2UgYmUgZnJhbmsgYW5kIGxpc3QgYWxsCisgICAgICBwcm9ibGVtcyB5b3Uga25vdyBvZi4gLS0+CisgPHNlY3QxIGlkPSJidWdzIj4KKyAgPHRpdGxlPktub3duIEJ1Z3MgYW5kIExpbWl0YXRpb25zPC90aXRsZT4KKyAgPHBhcmE+CisgICBUaGlzIGFwcGxpY2F0aW9uIGhhcyBubyBrbm93biBidWdzLgorICA8L3BhcmE+CisgPC9zZWN0MT4KKworCis8IS0tID09PT09PT09PT09PT0gQXV0aG9ycyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKworIDxzZWN0MSBpZD0iYXV0aG9ycyI+CisgIDx0aXRsZT5BdXRob3JzPC90aXRsZT4KKyAgPHBhcmE+CisgICA8YXBwbGljYXRpb24+TVktR05PTUUtQVBQPC9hcHBsaWNhdGlvbj4gd2FzIHdyaXR0ZW4gYnkgR05PTUUtSEFDS0VSCisgICAoPGVtYWlsPmhhY2tlckBnbm9tZS5vcmc8L2VtYWlsPikuIFRvIGZpbmQgbW9yZSBpbmZvcm1hdGlvbiBhYm91dAorICAgPGFwcGxpY2F0aW9uPk1ZLUdOT01FLUFQUDwvYXBwbGljYXRpb24+LCBwbGVhc2UgdmlzaXQgdGhlIDx1bGluaworICAgdXJsPSJodHRwOi8vd3d3Lm15LWdub21lLWFwcC5vcmciIHR5cGU9Imh0dHAiPk1ZLUdOT01FLUFQUCBXZWIKKyAgIHBhZ2U8L3VsaW5rPi4gIFBsZWFzZSBzZW5kIGFsbCBjb21tZW50cywgc3VnZ2VzdGlvbnMsIGFuZCBidWcKKyAgIHJlcG9ydHMgdG8gdGhlIDx1bGluayB1cmw9Imh0dHA6Ly9idWdzLmdub21lLm9yZyIgdHlwZT0iaHR0cCI+R05PTUUKKyAgIGJ1ZyB0cmFja2luZyBkYXRhYmFzZTwvdWxpbms+LiAoSW5zdHJ1Y3Rpb25zIGZvciBzdWJtaXR0aW5nIGJ1ZworICAgcmVwb3J0cyBjYW4gYmUgZm91bmQgPHVsaW5rCisgICB1cmw9Imh0dHA6Ly9idWdzLmdub21lLm9yZy9SZXBvcnRpbmcuaHRtbCIgdHlwZT0iaHR0cCI+CisgICBvbi1saW5lPC91bGluaz4uKSAgWW91IGNhbiBhbHNvIHVzZSA8YXBwbGljYXRpb24+QnVnIFJlcG9ydAorICAgVG9vbDwvYXBwbGljYXRpb24+ICg8Y29tbWFuZD5idWctYnVkZHk8L2NvbW1hbmQ+KSwgYXZhaWxhYmxlIGluIHRoZQorICAgPGd1aXN1Ym1lbnU+VXRpbGl0aWVzPC9ndWlzdWJtZW51PiBzdWJtZW51IG9mIDxndWltZW51Pk1haW4KKyAgIE1lbnU8L2d1aW1lbnU+LCBmb3Igc3VibWl0dGluZyBidWcgcmVwb3J0cy4KKyAgPC9wYXJhPgorCisgIDxwYXJhPgorICAgVGhpcyBtYW51YWwgd2FzIHdyaXR0ZW4gYnkgTUUKKyAgICg8ZW1haWw+TVlOQU1FQE1ZQUREUkVTUzwvZW1haWw+KS4gUGxlYXNlIHNlbmQgYWxsIGNvbW1lbnRzIGFuZAorICAgc3VnZ2VzdGlvbnMgcmVnYXJkaW5nIHRoaXMgbWFudWFsIHRvIHRoZSA8dWxpbmsgdHlwZT0iaHR0cCIKKyAgIHVybD0iaHR0cDovL2RldmVsb3Blci5nbm9tZS5vcmcvcHJvamVjdHMvZ2RwIj5HTk9NRSBEb2N1bWVudGF0aW9uIAorICAgUHJvamVjdDwvdWxpbms+IGJ5IHNlbmRpbmcgYW4gZW1haWwgdG8gCisgICA8ZW1haWw+ZG9jc0Bnbm9tZS5vcmc8L2VtYWlsPi4gWW91IGNhbiBhbHNvIGFkZCB5b3VyIGNvbW1lbnRzIG9ubGluZSAKKyAgIGJ5IHVzaW5nIHRoZSA8dWxpbmsgdHlwZT0iaHR0cCIgCisgICB1cmw9Imh0dHA6Ly93d3cuZ25vbWUub3JnL2dkcC9kb2N0YWJsZS8iPkdOT01FIERvY3VtZW50YXRpb24gU3RhdHVzCisgICBUYWJsZTwvdWxpbms+LgorICA8L3BhcmE+CisKKyAgPCEtLSBGb3IgdHJhbnNsYXRpb25zOiB1bmNvbW1lbnQgdGhpczoKKworICA8cGFyYT4KKyAgIExhdGluIHRyYW5zbGF0aW9uIHdhcyBkb25lIGJ5IE1FCisgICAoPGVtYWlsPk1ZTkFNRUBNWUFERFJFU1M8L2VtYWlsPikuIFBsZWFzZSBzZW5kIGFsbCAgY29tbWVudHMgIGFuZAorICAgc3VnZ2VzdGlvbnMgcmVnYXJkaW5nIHRoaXMgdHJhbnNsYXRpb24gdG8gU09NRVdIRVJFLgorICA8L3BhcmE+CisKKyAgLS0+CisKKyA8L3NlY3QxPgorCisKKyA8IS0tID09PT09PT09PT09PT0gQXBwbGljYXRpb24gTGljZW5zZSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKworIDxzZWN0MSBpZD0ibGljZW5zZSI+CisgIDx0aXRsZT5MaWNlbnNlPC90aXRsZT4KKyAgPHBhcmE+CisgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSA8Y2l0ZXRpdGxlPkdOVSBHZW5lcmFsIFB1YmxpYworICAgTGljZW5zZTwvY2l0ZXRpdGxlPiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsKKyAgIGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyCisgICB2ZXJzaW9uLgorICA8L3BhcmE+CisgIDxwYXJhPgorICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAorICAgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICAgPGNpdGV0aXRsZT5HTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZTwvY2l0ZXRpdGxlPiBmb3IgbW9yZSBkZXRhaWxzLgorICA8L3BhcmE+CisgIDxwYXJhPgorICAgQSBjb3B5IG9mIHRoZSA8Y2l0ZXRpdGxlPkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlPC9jaXRldGl0bGU+IGlzCisgICBpbmNsdWRlZCBhcyBhbiBhcHBlbmRpeCB0byB0aGUgPGNpdGV0aXRsZT5HTk9NRSBVc2VycworICAgR3VpZGU8L2NpdGV0aXRsZT4uICBZb3UgbWF5IGFsc28gb2J0YWluIGEgY29weSBvZiB0aGUKKyAgIDxjaXRldGl0bGU+R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2U8L2NpdGV0aXRsZT4gZnJvbSB0aGUgRnJlZQorICAgU29mdHdhcmUgRm91bmRhdGlvbiBieSB2aXNpdGluZyA8dWxpbmsgdHlwZT0iaHR0cCIKKyAgIHVybD0iaHR0cDovL3d3dy5mc2Yub3JnIj50aGVpciBXZWIgc2l0ZTwvdWxpbms+IG9yIGJ5IHdyaXRpbmcgdG8KKyAgIDxhZGRyZXNzPgorICAgIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorICAgIDxzdHJlZXQ+NTkgVGVtcGxlIFBsYWNlPC9zdHJlZXQ+IC0gU3VpdGUgMzMwCisgICAgPGNpdHk+Qm9zdG9uPC9jaXR5PiwgPHN0YXRlPk1BPC9zdGF0ZT4gPHBvc3Rjb2RlPjAyMTExLTEzMDc8L3Bvc3Rjb2RlPgorICAgIDxjb3VudHJ5PlVTQTwvY291bnRyeT4KKyAgIDwvYWRkcmVzcz4KKyAgPC9wYXJhPgorIDwvc2VjdDE+Cis8L2FydGljbGU+CisKKworCisKKworCisKKworCitdXT4KKworCis8L3Byb2dyYW1saXN0aW5nPgorICAgICAgPC9wYXJhPgorICAgIDwvc2VjdDE+CisKKzwhLS0gIyMjIyMjIyBEb2N1bWVudCBUZW1wbGF0ZXMgfCBUZW1wbGF0ZXMgMi0xLng6IEFwcGxldCBNYW51YWwgIyMjIyMjIyAtLT4KKworICAgIDxzZWN0MSBpZD0idGVtcGxhdGUyLTF4Ij4KKyAgICAgIDx0aXRsZT5UZW1wbGF0ZSAyOiBBcHBsZXQgTWFudWFsIEZvciBHTk9NRSAxLng8L3RpdGxlPgorICAgICAgPHBhcmE+CisgICAgICAgIFRoZSBmb2xsb3dpbmcgdGVtcGxhdGVzIHNob3VsZCBiZSB1c2VkIGZvciBhbGwgYXBwbGV0CisgICAgICAgIG1hbnVhbHMgaW4gR05PTUUgMS54IHJlbGVhc2VzLiAgWW91IGNhbiBhbHdheXMgZ2V0IHRoZSBsYXRlc3QKKyAgICAgICAgY29weSBvZiB0aGVzZSB0ZW1wbGF0ZXMgZnJvbSAgPHVsaW5rIHR5cGU9Imh0dHAiCisgICAgICAgIHVybD0iaHR0cDovL2RldmVsb3Blci5nbm9tZS5vcmcvcHJvamVjdHMvZ2RwL3RlbXBsYXRlcy5odG1sIj5HRFAKKyAgICAgICAgRG9jdW1lbnRhdGlvbiBUZW1wbGF0ZXM8L3VsaW5rPi4gIE5vdGUgdGhhdCB0aGUgdGVtcGxhdGUKKyAgICAgICAgY29uc2lzdHMgb2YgdHdvIGZpbGVzOyB0aGUgZmlyc3QgZmlsZSBjYWxscyB0aGUgc2Vjb25kIGFzIGFuCisgICAgICAgIGVudGl0eS4gWW91IHNob3VsZCBuYW1lIHRoZSBmaXJzdCBmaWxlCisgICAgICAgIDxmaWxlbmFtZT48cmVwbGFjZWFibGU+YXBwbGV0bmFtZTwvcmVwbGFjZWFibGU+LWFwcGxldC5zZ21sPC9maWxlbmFtZT4KKyAgICAgICAgYW5kIHRoZSBzZWNvbmQgZmlsZSBzaG91bGQgYmUgbmFtZWQKKyAgICAgICAgPGZpbGVuYW1lPjxyZXBsYWNlYWJsZT5hcHBsZXRuYW1lPC9yZXBsYWNlYWJsZT4uc2dtbDwvZmlsZW5hbWU+LAorICAgICAgICB3aGVyZQorICAgICAgICA8ZmlsZW5hbWU+PHJlcGxhY2VhYmxlPmFwcGxldG5hbWU8L3JlcGxhY2VhYmxlPjwvZmlsZW5hbWU+IGlzCisgICAgICAgIHRoZSBuYW1lIG9mIHRoZSBhcHBsZXQuCisgICAgICAgIDxwcm9ncmFtbGlzdGluZz4KKworPCFbQ0RBVEFbCis8IURPQ1RZUEUgQXJ0aWNsZSBQVUJMSUMgIi0vL0dOT01FLy9EVEQgRG9jQm9vayBQTkcgVmFyaWFudCBWMS4xLy9FTiJbCisgPCFlbnRpdHkgQVBQTEVUTkFNRS5zZ21sIFNZU1RFTSAiYXBwbGV0X3RlbXBsYXRlXzEuc2dtbCI+CisgICAgICAgIDwhLS0gIFRlbXBsYXRlIFZlcnNpb246IDEuMC4xICAoZG8gbm90IHJlbW92ZSB0aGlzIGxpbmUpIC0tPgorXT4KKworPCEtLSBUaGlzIGlzIGEgR05PTUUgZG9jdW1lbnRhdGlvbiB0ZW1wbGF0ZSwgZGVzaWduZWQgYnkgdGhlIEdOT01FCisgIERvY3VtZW50YXRpb24gUHJvamVjdCBUZWFtLiBQbGVhc2UgdXNlIGl0IGZvciB3cml0aW5nIEdOT01FCisgIGRvY3VtZW50YXRpb24sIG1ha2luZyBvYnZpb3VzIGNoYW5nZXMuIEluIHBhcnRpY3VsYXIsIGFsbCB0aGUgd29yZHMKKyAgd3JpdHRlbiBpbiBVUFBFUkNBU0UgKHdpdGggdGhlIGV4Y2VwdGlvbiBvZiBHTk9NRSkgc2hvdWxkIGJlCisgIHJlcGxhY2VkLiBBcyBmb3IgImxlZ2Fsbm90aWNlIiwgcGxlYXNlIGxlYXZlIHRoZSByZWZlcmVuY2UKKyAgdW5jaGFuZ2VkLG1ha2Ugc3VyZSB0byBhZGQvcmVtb3ZlIHRyYWRlbWFya3MgdG8gdGhlIGxpc3QgYXMKKyAgYXBwcm9wcmlhdGUgZm9yIHlvdXIgZG9jdW1lbnQuCisKKyAgUGxlYXNlIGRvbid0IGZvcmdldCB0byByZW1vdmUgdGhlc2UgY29tbWVudHMgaW4geW91ciBmaW5hbCBkb2N1bWVudGF0aW9uLAorICB0aGFua3MgOy0pLgorLS0+CisKKzxhcnRpY2xlIGlkPSJpbmRleCI+IDwhLS0gcGxlYXNlIGRvIG5vdCBjaGFuZ2UgdGhlIGlkIC0tPgorCisgPCEtLSA9PT09PT09PT09PT09IERvY3VtZW50IEhlYWRlciA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKyA8YXJ0aGVhZGVyPiAKKyAgPHRpdGxlPkFQUExFVE5BTUUgQXBwbGV0PC90aXRsZT4KKyAgPGNvcHlyaWdodD4KKyAgIDx5ZWFyPjIwMDA8L3llYXI+CisgICA8aG9sZGVyPllPVVJGVUxMTkFNRTwvaG9sZGVyPgorICA8L2NvcHlyaWdodD4KKworICA8IS0tIHRyYW5zbGF0b3JzOiB1bmNvbW1lbnQgdGhpczoKKworICA8Y29weXJpZ2h0PgorICAgPHllYXI+MjAwMDwveWVhcj4KKyAgIDxob2xkZXI+TUUtVEhFLVRSQU5TTEFUT1IgKExhdGluIHRyYW5zbGF0aW9uKTwvaG9sZGVyPgorICA8L2NvcHlyaWdodD4KKworICAgLS0+CisKKyAgPCEtLSBkbyBub3QgcHV0IGF1dGhvcm5hbWUgaW4gdGhlIGhlYWRlciBleGNlcHQgaW4gY29weXJpZ2h0IC0gdXNlCisgIHNlY3Rpb24gImF1dGhvcnMiIGJlbG93IC0tPgorCisgIDxsZWdhbG5vdGljZT4KKyAgIDxwYXJhPgorICAgIFBlcm1pc3Npb24gaXMgZ3JhbnRlZCB0byBjb3B5LCBkaXN0cmlidXRlIGFuZC9vciBtb2RpZnkgdGhpcworICAgIGRvY3VtZW50IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgPGNpdGV0aXRsZT5HTlUgRnJlZSBEb2N1bWVudGF0aW9uCisgICAgTGljZW5zZTwvY2l0ZXRpdGxlPiwgVmVyc2lvbiAxLjEgb3IgYW55IGxhdGVyIHZlcnNpb24gcHVibGlzaGVkCisgICAgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiB3aXRoIG5vIEludmFyaWFudCBTZWN0aW9ucywgbm8KKyAgICBGcm9udC1Db3ZlciBUZXh0cywgYW5kIG5vIEJhY2stQ292ZXIgVGV4dHMuIFlvdSBtYXkgb2J0YWluIGEgY29weQorICAgIG9mIHRoZSA8Y2l0ZXRpdGxlPkdOVSBGcmVlIERvY3VtZW50YXRpb24gTGljZW5zZTwvY2l0ZXRpdGxlPiBmcm9tCisgICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiBieSB2aXNpdGluZyA8dWxpbmsgdHlwZT0iaHR0cCIKKyAgICB1cmw9Imh0dHA6Ly93d3cuZnNmLm9yZyI+dGhlaXIgV2ViIHNpdGU8L3VsaW5rPiBvciBieSB3cml0aW5nIHRvOgorICAgIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLAorICAgIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgorICAgPC9wYXJhPgorICAgPHBhcmE+CisgICAgTWFueSBvZiB0aGUgbmFtZXMgdXNlZCBieSBjb21wYW5pZXMgdG8gZGlzdGluZ3Vpc2ggdGhlaXIgcHJvZHVjdHMgYW5kCisgICAgc2VydmljZXMgYXJlIGNsYWltZWQgYXMgdHJhZGVtYXJrcy4gV2hlcmUgdGhvc2UgbmFtZXMgYXBwZWFyIGluIGFueQorICAgIEdOT01FIGRvY3VtZW50YXRpb24sIGFuZCB0aG9zZSB0cmFkZW1hcmtzIGFyZSBtYWRlIGF3YXJlIHRvIHRoZSBtZW1iZXJzCisgICAgb2YgdGhlIEdOT01FIERvY3VtZW50YXRpb24gUHJvamVjdCwgdGhlIG5hbWVzIGhhdmUgYmVlbiBwcmludGVkIGluIGNhcHMKKyAgICBvciBpbml0aWFsIGNhcHMuCisgICA8L3BhcmE+CisgIDwvbGVnYWxub3RpY2U+CisKKyAgPHJlbGVhc2VpbmZvPgorICAgVGhpcyBpcyB2ZXJzaW9uIFhYWCBvZiB0aGUgQVBQTEVUTkFNRSBhcHBsZXQgbWFudWFsLgorICA8L3JlbGVhc2VpbmZvPgorIDwvYXJ0aGVhZGVyPgorCisgPCEtLSA9PT09PT09PT09PT09IERvY3VtZW50IEJvZHkgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+CisKKyAmQVBQTEVUTkFNRS5zZ21sOworCis8L2FydGljbGU+CisKKworXV0+CisKKworPC9wcm9ncmFtbGlzdGluZz4KKyAgICAgICAgPHByb2dyYW1saXN0aW5nPgorPCFbQ0RBVEFbCisgICAgICAgIDwhLS0gIFRlbXBsYXRlIFZlcnNpb246IDEuMC4xICAoZG8gbm90IHJlbW92ZSB0aGlzIGxpbmUpIC0tPgorCisgPHNlY3QxIGlkPSJBUFBMRVQiPgorICA8dGl0bGU+QVBQTEVUIEFwcGxldDwvdGl0bGU+CisKKyAgPHBhcmE+CisgICA8YXBwbGljYXRpb24+QVBQTEVUPC9hcHBsaWNhdGlvbj4gYXBwbGV0LCBzaG93biBpbiA8eHJlZgorICAgbGlua2VuZD0iQVBQTEVUYXBwbGV0LWZpZyI+LCBhbGxvd3MgeW91IHRvICZoZWxsaXA7LiAgVG8gYWRkIHRoaXMKKyAgIGFwcGxldCB0byBhIDxpbnRlcmZhY2U+UGFuZWw8L2ludGVyZmFjZT4sIAorICAgcmlnaHQtY2xpY2sgb24gdGhlIDxpbnRlcmZhY2U+UGFuZWw8L2ludGVyZmFjZT4gYW5kIGNob29zZQorICAgPG1lbnVjaG9pY2U+CisgICAgPGd1aW1lbnU+UGFuZWw8L2d1aW1lbnU+CisgICAgPGd1aXN1Ym1lbnU+QWRkIHRvIHBhbmVsPC9ndWlzdWJtZW51PgorICAgIDxndWlzdWJtZW51PkFwcGxldDwvZ3Vpc3VibWVudT4KKyAgICA8Z3Vpc3VibWVudT5TRUNUSU9OPC9ndWlzdWJtZW51PgorICAgIDxndWltZW51aXRlbT5BUFBMRVQ8L2d1aW1lbnVpdGVtPgorICAgPC9tZW51Y2hvaWNlPi4KKyAgPC9wYXJhPgorCisgIDxmaWd1cmUgaWQ9IkFQUExFVGFwcGxldC1maWciPgorICAgPHRpdGxlPkFQUExFVCBBcHBsZXQ8L3RpdGxlPgorICAgPHNjcmVlbnNob3Q+CisgICAgPHNjcmVlbmluZm8+QVBQTEVUIEFwcGxldDwvc2NyZWVuaW5mbz4KKyAgICA8Z3JhcGhpYyBmb3JtYXQ9InBuZyIgZmlsZXJlZj0iQVBQTEVUX2FwcGxldCIgCisgICAgc3JjY3JlZGl0PSJZT1VSTkFNRSI+CisgICAgPC9ncmFwaGljPgorICAgPC9zY3JlZW5zaG90PgorICA8L2ZpZ3VyZT4KKworICA8IS0tID09PT09PT09PT09PT0gVXNhZ2UgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorICA8c2VjdDIgaWQ9IkFQUExFVC11c2FnZSI+CisgICA8dGl0bGU+VXNhZ2U8L3RpdGxlPgorICAgPHBhcmE+CisgICAgKFBsYWNlIGEgc2hvcnQgZGVzY3JpcHRpb24gb2YgaG93IHRvIHVzZSB0aGUgYXBwbGV0IGhlcmUuKQorICAgPC9wYXJhPgorCisgICA8cGFyYT4KKyAgICBSaWdodC1jbGlja2luZyBvbiB0aGUgYXBwbGV0IGJyaW5ncyB1cCBhIG1lbnUgY29udGFpbmluZyB0aGUKKyAgICBmb2xsb3dpbmcgaXRlbXM6CisgICAgPGl0ZW1pemVkbGlzdD4KKworICAgICA8bGlzdGl0ZW0+CisgICAgICA8cGFyYT4KKyAgICAgICA8Z3VpbWVudWl0ZW0+UHJvcGVydGllcyZoZWxsaXA7PC9ndWltZW51aXRlbT4gJm1kYXNoOworICAgICAgIG9wZW5zIHRoZSA8bGluayBsaW5rZW5kPSJBUFBMRVQtcHJlZnMiPgorICAgICAgIDxndWlsYWJlbD5Qcm9wZXJ0aWVzPC9ndWlsYWJlbD48L2xpbms+IGRpYWxvZy4KKyAgICAgIDwvcGFyYT4KKyAgICAgPC9saXN0aXRlbT4KKworICAgICA8bGlzdGl0ZW0+CisgICAgICA8cGFyYT4KKyAgICAgICA8Z3VpbWVudWl0ZW0+SGVscDwvZ3VpbWVudWl0ZW0+ICZtZGFzaDsKKyAgICAgICBkaXNwbGF5cyB0aGlzIGRvY3VtZW50LgorICAgICAgPC9wYXJhPgorICAgICA8L2xpc3RpdGVtPgorCisgICAgIDxsaXN0aXRlbT4KKyAgICAgIDxwYXJhPgorICAgICAgIDxndWltZW51aXRlbT5BYm91dCZoZWxsaXA7PC9ndWltZW51aXRlbT4gJm1kYXNoOworICAgICAgIHNob3dzIGJhc2ljIGluZm9ybWF0aW9uIGFib3V0IDxhcHBsaWNhdGlvbj5BUFBMRVQKKyAgICAgICBBcHBsZXQ8L2FwcGxpY2F0aW9uPiwgaW5jbHVkaW5nIHRoZSBhcHBsZXQncyB2ZXJzaW9uIGFuZCB0aGUKKyAgICAgICBhdXRob3IncyBuYW1lLgorICAgICAgPC9wYXJhPgorICAgICA8L2xpc3RpdGVtPgorCisgICAgPC9pdGVtaXplZGxpc3Q+CisgICA8L3BhcmE+CisgIDwvc2VjdDI+CisKKworICA8IS0tID09PT09PT09PT09PT0gQ3VzdG9taXphdGlvbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKyAgPHNlY3QyIGlkPSJBUFBMRVQtcHJlZnMiPgorICAgIDx0aXRsZT5DdXN0b21pemF0aW9uPC90aXRsZT4KKyAgICA8cGFyYT4KKyAgICAgIFlvdSBjYW4gY3VzdG9taXplIDxhcHBsaWNhdGlvbj5BUFBMRVQ8L2FwcGxpY2F0aW9uPgorICAgICAgYXBwbGV0IGJ5IHJpZ2h0LWNsaWNraW5nIG9uIGl0IGFuZCBjaG9vc2luZworICAgICAgPGd1aW1lbnVpdGVtPlByb3BlcnRpZXMmaGVsbGlwOzwvZ3VpbWVudWl0ZW0+LiBUaGlzIHdpbGwgb3BlbiB0aGUKKyAgICAgIDxpbnRlcmZhY2U+UHJvcGVydGllczwvaW50ZXJmYWNlPiBkaWFsb2coc2hvd24gaW4gPHhyZWYKKyAgICAgIGxpbmtlbmQ9IkFQUExFVC1zZXR0aW5ncy1maWciPiksIHdoaWNoIGFsbG93cyB5b3UgdG8KKyAgICAgIGNoYW5nZSB2YXJpb3VzIHNldHRpbmdzLgorICAgIDwvcGFyYT4KKworICAgIDxmaWd1cmUgaWQ9IkFQUExFVC1zZXR0aW5ncy1maWciPgorICAgICA8dGl0bGU+UHJvcGVydGllcyBkaWFsb2c8L3RpdGxlPgorICAgICA8c2NyZWVuc2hvdD4KKyAgICAgIDxzY3JlZW5pbmZvPlByb3BlcnRpZXMgZGlhbG9nPC9zY3JlZW5pbmZvPgorICAgICAgPGdyYXBoaWMgZm9ybWF0PSJwbmciIGZpbGVyZWY9IkFQUExFVF9zZXR0aW5ncyIKKyAgICAgIHNyY2NyZWRpdD0iWU9VUk5BTUUiPgorICAgICAgPC9ncmFwaGljPgorICAgICA8L3NjcmVlbnNob3Q+CisgICAgPC9maWd1cmU+CisKKyAgICA8cGFyYT4KKyAgICAgVGhlIHByb3BlcnRpZXMgYXJlOgorICAgICA8aXRlbWl6ZWRsaXN0PgorCisgICAgICA8bGlzdGl0ZW0+CisgICAgICAgPHBhcmE+CisgICAgICAgIChDb25maWd1cmF0aW9uIEl0ZW0gTGFiZWwpICZtZGFzaDsgSWYgdGhpcyBidXR0b24gaXMKKyAgICAgICAgY2hlY2tlZCZoZWxsaXA7KGRlc2NyaXB0aW9uKQorICAgICAgIDwvcGFyYT4KKyAgICAgIDwvbGlzdGl0ZW0+CisKKyAgICAgIDxsaXN0aXRlbT4KKyAgICAgICA8cGFyYT4KKyAgICAgICAgKENvbmZpZ3VyYXRpb24gSXRlbSBMYWJlbCkgJm1kYXNoOyBTZWxlY3RpbmcgdGhpcworICAgICAgICBidXR0b24maGVsbGlwOyhkZXNjcmlwdGlvbikKKyAgICAgICA8L3BhcmE+CisgICAgICA8L2xpc3RpdGVtPgorCisgICAgICA8bGlzdGl0ZW0+CisgICAgICAgPHBhcmE+CisgICAgICAgIChDb25maWd1cmF0aW9uIEl0ZW0gTGFiZWwpICZtZGFzaDsgRW50ZXIgdGhlIG5hbWUgb2YKKyAgICAgICAgJmhlbGxpcDsoZGVzY3JpcHRpb24pCisgICAgICAgPC9wYXJhPgorICAgICAgPC9saXN0aXRlbT4KKyAgICAgPC9pdGVtaXplZGxpc3Q+CisgICAgPC9wYXJhPgorCisgICAgPHBhcmE+IAorICAgICAgQWZ0ZXIgeW91IGhhdmUgbWFkZSBhbGwgdGhlIGNoYW5nZXMgeW91IHdhbnQsIGNsaWNrIG9uCisgICAgICA8Z3VpYnV0dG9uPk9LPC9ndWlidXR0b24+IHRvIGFwcGx5IHRoZSBjaGFuZ2VzIGFuZCBjbG9zZSB0aGUKKyAgICAgIDxpbnRlcmZhY2U+UHJvcGVydGllczwvaW50ZXJmYWNlPiBkaWFsb2cuIFRvIGNhbmNlbCB0aGUgY2hhbmdlcworICAgICAgYW5kIHJldHVybiB0byBwcmV2aW91cyB2YWx1ZXMsIGNsaWNrIHRoZQorICAgICAgPGd1aWJ1dHRvbj5DbG9zZTwvZ3VpYnV0dG9uPiBidXR0b24uCisgICAgPC9wYXJhPgorICA8L3NlY3QyPgorCisKKyAgPCEtLSA9PT09PT09PT09PT09IEJ1Z3MgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKyAgPCEtLSBUaGlzIHNlY3Rpb24gc2hvdWxkIGRlc2NyaWJlIGtub3duIGJ1Z3MgYW5kIGxpbWl0YXRpb25zIG9mCisgICAgICAgdGhlIHByb2dyYW0gaWYgdGhlcmUgYXJlIGFueSAtIHBsZWFzZSBiZSBmcmFuayBhbmQgbGlzdCBhbGwKKyAgICAgICBwcm9ibGVtcyB5b3Uga25vdyBvZiAtLT4KKyAgPHNlY3QyIGlkPSJidWdzIj4KKyAgIDx0aXRsZT5Lbm93biBCdWdzIGFuZCBMaW1pdGF0aW9uczwvdGl0bGU+CisgICA8cGFyYT4KKyAgICBUaGlzIGFwcGxldCBoYXMgbm8ga25vd24gYnVncy4KKyAgIDwvcGFyYT4KKyAgPC9zZWN0Mj4KKworCisgIDwhLS0gPT09PT09PT09PT09PSBBdXRob3JzID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorCisgIDxzZWN0MiBpZD0iYXV0aG9ycyI+CisgICA8dGl0bGU+QXV0aG9yczwvdGl0bGU+CisgICA8cGFyYT4KKyAgICA8YXBwbGljYXRpb24+QVBQTEVUPC9hcHBsaWNhdGlvbj4gd2FzIHdyaXR0ZW4gYnkgR05PTUUtSEFDS0VSCisgICAgKDxlbWFpbD5oYWNrZXJAZ25vbWUub3JnPC9lbWFpbD4pLiAgUGxlYXNlIHNlbmQgYWxsIGNvbW1lbnRzLAorICAgIHN1Z2dlc3Rpb25zLCBhbmQgYnVnIAorICAgIHJlcG9ydHMgdG8gdGhlIDx1bGluayB1cmw9Imh0dHA6Ly9idWdzLmdub21lLm9yZyIgdHlwZT0iaHR0cCI+R05PTUUKKyAgICBidWcgdHJhY2tpbmcgZGF0YWJhc2U8L3VsaW5rPi4gKEluc3RydWN0aW9ucyBmb3Igc3VibWl0dGluZyBidWcKKyAgICByZXBvcnRzIGNhbiBiZSBmb3VuZCA8dWxpbmsKKyAgICB1cmw9Imh0dHA6Ly9idWdzLmdub21lLm9yZy9SZXBvcnRpbmcuaHRtbCIgdHlwZT0iaHR0cCI+CisgICAgb24tbGluZTwvdWxpbms+LiAgWW91IGNhbiBhbHNvIHVzZSA8YXBwbGljYXRpb24+QnVnIFJlcG9ydAorICAgIFRvb2w8L2FwcGxpY2F0aW9uPiAoPGNvbW1hbmQ+YnVnLWJ1ZGR5PC9jb21tYW5kPiksIGF2YWlsYWJsZSBpbiB0aGUKKyAgICA8Z3Vpc3VibWVudT5VdGlsaXRpZXM8L2d1aXN1Ym1lbnU+IHN1Ym1lbnUgb2YgPGd1aW1lbnU+TWFpbgorICAgIE1lbnU8L2d1aW1lbnU+LCBmb3Igc3VibWl0dGluZyBidWcgcmVwb3J0cy4KKyAgIDwvcGFyYT4KKworICAgPHBhcmE+CisgICAgVGhpcyBtYW51YWwgd2FzIHdyaXR0ZW4gYnkgTUUKKyAgICAoPGVtYWlsPk1ZTkFNRUBNWUFERFJFU1M8L2VtYWlsPikuIFBsZWFzZSBzZW5kIGFsbCBjb21tZW50cyBhbmQKKyAgICBzdWdnZXN0aW9ucyByZWdhcmRpbmcgdGhpcyBtYW51YWwgdG8gdGhlIDx1bGluayB0eXBlPSJodHRwIgorICAgIHVybD0iaHR0cDovL2RldmVsb3Blci5nbm9tZS5vcmcvcHJvamVjdHMvZ2RwIj5HTk9NRSBEb2N1bWVudGF0aW9uCisgICAgUHJvamVjdDwvdWxpbms+ICBieSBzZW5kaW5nIGFuIGVtYWlsIHRvCisgICAgPGVtYWlsPmRvY3NAZ25vbWUub3JnPC9lbWFpbD4uIFlvdSBjYW4gYWxzbyBzdWJtaXQgY29tbWVudHMgb25saW5lCisgICAgYnkgdXNpbmcgdGhlIDx1bGluayB0eXBlPSJodHRwIgorICAgIHVybD0iaHR0cDovL3d3dy5nbm9tZS5vcmcvZ2RwL2RvY3RhYmxlLyI+R05PTUUgRG9jdW1lbnRhdGlvbgorICAgIFN0YXR1cyBUYWJsZTwvdWxpbms+LgorICAgPC9wYXJhPgorCisgICA8IS0tIEZvciB0cmFuc2xhdGlvbnM6IHVuY29tbWVudCB0aGlzOgorCisgICA8cGFyYT4KKyAgICBMYXRpbiB0cmFuc2xhdGlvbiB3YXMgZG9uZSBieSBNRQorICAgICg8ZW1haWw+TVlOQU1FQE1ZQUREUkVTUzwvZW1haWw+KS4gUGxlYXNlIHNlbmQgYWxsICBjb21tZW50cyAgYW5kCisgICAgc3VnZ2VzdGlvbnMgcmVnYXJkaW5nIHRoaXMgdHJhbnNsYXRpb24gdG8gU09NRVdIRVJFLgorICAgPC9wYXJhPgorCisgICAtLT4KKworICA8L3NlY3QyPgorCisKKyAgPCEtLSA9PT09PT09PT09PT09IEFwcGxpY2F0aW9uIExpY2Vuc2UgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+CisKKyAgPHNlY3QyIGlkPSJsaWNlbnNlIj4KKyAgIDx0aXRsZT5MaWNlbnNlPC90aXRsZT4KKyAgIDxwYXJhPgorICAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSA8Y2l0ZXRpdGxlPkdOVSBHZW5lcmFsIFB1YmxpYworICAgIExpY2Vuc2U8L2NpdGV0aXRsZT4gYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247CisgICAgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIKKyAgICB2ZXJzaW9uLgorICAgPC9wYXJhPgorICAgPHBhcmE+CisgICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAorICAgIFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgICAgPGNpdGV0aXRsZT5HTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZTwvY2l0ZXRpdGxlPiBmb3IgbW9yZSBkZXRhaWxzLgorICAgPC9wYXJhPgorICAgPHBhcmE+CisgICAgQSBjb3B5IG9mIHRoZSA8Y2l0ZXRpdGxlPkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlPC9jaXRldGl0bGU+IGlzCisgICAgaW5jbHVkZWQgYXMgYW4gYXBwZW5kaXggdG8gdGhlIDxjaXRldGl0bGU+R05PTUUgVXNlcnMKKyAgICBHdWlkZTwvY2l0ZXRpdGxlPi4gIFlvdSBtYXkgYWxzbyBvYnRhaW4gYSBjb3B5IG9mIHRoZQorICAgIDxjaXRldGl0bGU+R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2U8L2NpdGV0aXRsZT4gZnJvbSB0aGUgRnJlZQorICAgIFNvZnR3YXJlIEZvdW5kYXRpb24gYnkgdmlzaXRpbmcgPHVsaW5rIHR5cGU9Imh0dHAiCisgICAgdXJsPSJodHRwOi8vd3d3LmZzZi5vcmciPnRoZWlyIFdlYiBzaXRlPC91bGluaz4gb3IgYnkgd3JpdGluZyB0bworICAgIDxhZGRyZXNzPgorICAgICBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyAgICAgPHN0cmVldD41OSBUZW1wbGUgUGxhY2U8L3N0cmVldD4gLSBTdWl0ZSAzMzAKKyAgICAgPGNpdHk+Qm9zdG9uPC9jaXR5PiwgPHN0YXRlPk1BPC9zdGF0ZT4gPHBvc3Rjb2RlPjAyMTExLTEzMDc8L3Bvc3Rjb2RlPgorICAgICA8Y291bnRyeT5VU0E8L2NvdW50cnk+CisgICAgPC9hZGRyZXNzPgorICAgPC9wYXJhPgorICA8L3NlY3QyPgorCisgPC9zZWN0MT4KKworCisKKworXV0+CisKKworCis8L3Byb2dyYW1saXN0aW5nPgorICAgICAgPC9wYXJhPgorICAgIDwvc2VjdDE+CisKKzwhLS0gIyMjIyMjIyBEb2N1bWVudCBUZW1wbGF0ZXMgfCBUZW1wbGF0ZXMgMi0yLng6IEFwcGxldCBNYW51YWwgIyMjIyMjIyAtLT4KKworICAgIDxzZWN0MSBpZD0idGVtcGxhdGUyLTJ4Ij4KKyAgICAgIDx0aXRsZT5UZW1wbGF0ZSAyOiBBcHBsZXQgTWFudWFsIEZvciBHTk9NRSAyLng8L3RpdGxlPgorICAgICAgPHBhcmE+CisgICAgICAgIFRoZSBmb2xsb3dpbmcgdGVtcGxhdGVzIHNob3VsZCBiZSB1c2VkIGZvciBhbGwgYXBwbGV0CisgICAgICAgIG1hbnVhbHMgaW4gR05PTUUgMi54IHJlbGVhc2VzLiAgWW91IGNhbiBhbHdheXMgZ2V0IHRoZSBsYXRlc3QKKyAgICAgICAgY29weSBvZiB0aGVzZSB0ZW1wbGF0ZXMgZnJvbSAgPHVsaW5rIHR5cGU9Imh0dHAiCisgICAgICAgIHVybD0iaHR0cDovL2RldmVsb3Blci5nbm9tZS5vcmcvcHJvamVjdHMvZ2RwL3RlbXBsYXRlcy5odG1sIj5HRFAKKyAgICAgICAgRG9jdW1lbnRhdGlvbiBUZW1wbGF0ZXM8L3VsaW5rPi4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICBOb3RlIHRoYXQgdGhpcyB0ZW1wbGF0ZSBjb25zaXN0cyBvZiB0d28gZmlsZXMuICBUaGUgZmlyc3QgZmlsZQorICAgICAgICBpcyBhbiBpbnRyb2R1Y3RvcnkgY2hhcHRlci4gWW91IHNob3VsZCBub3QgbW9kaWZ5IHRoaXMKKyAgICAgICAgY2hhcHRlci4gVGhlIHNlY29uZCBmaWxlIGlzIHRoZSBhY3R1YWwgYXBwbGV0IGRvY3VtZW50LCB3aGljaAorICAgICAgICB5b3Ugc2hvdWxkIG1vZGlmeSB0byBkZXNjcmliZSB0aGUgYXBwbGV0IHlvdSBhcmUgZG9jdW1lbnRpbmcuCisgICAgICAgIFlvdSBjYW4gbmFtZSB0aGUgZmlyc3QgZmlsZSB3aGF0ZXZlciB5b3UgbGlrZSwgc3VjaCBhcworICAgICAgICA8ZmlsZW5hbWU+Z25vbWUtYXBwbGV0cy5zZ21sPC9maWxlbmFtZT4uICBOYW1lIHRoZSBzZWNvbmQgZmlsZQorICAgICAgICBhY2NvcmRpbmcgdG8gdGhlIGFwcGxldCdzIG5hbWU6CisgICAgICAgIDxmaWxlbmFtZT48cmVwbGFjZWFibGU+YXBwbGV0bmFtZTwvcmVwbGFjZWFibGU+LWFwcGxldC5zZ21sPC9maWxlbmFtZT4uCisgICAgICAgIE1ha2Ugc3VyZSB5b3UgdXBkYXRlIHRoZSBlbnRpdHkKKyAgICAgICAgYXQgdGhlIHRvcCBvZiB0aGUgc2hlbGwgZG9jdW1lbnQgdG8gcmVmbGVjdCB0aGUgbmV3IG5hbWUgb2YKKyAgICAgICAgdGhlIGFwcGxldCBkb2N1bWVudC4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgICA8cHJvZ3JhbWxpc3Rpbmc+Cis8IVtDREFUQVsKKzwhRE9DVFlQRSBib29rIFBVQkxJQyAiLS8vR05PTUUvL0RURCBEb2NCb29rIFBORyBWYXJpYW50IFYxLjEvL0VOIlsKKzwhRU5USVRZIFRFTVBMQVRFLUFQUExFVCBTWVNURU0gImdub21lLWFwcGxldC10ZW1wbGF0ZS5zZ21sLnBhcnQiPgorCitdPgorCis8Ym9vayBpZD0iZ25vbWUtYXBwbGV0cyI+CisKKyA8Ym9va2luZm8+CisgIDx0aXRsZT5HTk9NRSBBcHBsZXRzPC90aXRsZT4KKyAgPGF1dGhvcmdyb3VwPgorICAgPGF1dGhvcj48Zmlyc3RuYW1lPlRlbHNhPC9maXJzdG5hbWU+PHN1cm5hbWU+R3d5bm5lPC9zdXJuYW1lPjwvYXV0aG9yPgorICAgPGF1dGhvcj48Zmlyc3RuYW1lPkpvaG48L2ZpcnN0bmFtZT48c3VybmFtZT5GbGVjazwvc3VybmFtZT48L2F1dGhvcj4KKyAgIDxhdXRob3I+PGZpcnN0bmFtZT5EYXZpZDwvZmlyc3RuYW1lPjxzdXJuYW1lPk1hc29uPC9zdXJuYW1lPgorICAgICAgPGFmZmlsaWF0aW9uPjxvcmduYW1lPlJlZCBIYXQsIEluYy48L29yZ25hbWU+PC9hZmZpbGlhdGlvbj4KKyAgICA8L2F1dGhvcj4KKyAgICA8YXV0aG9yPjxmaXJzdG5hbWU+RGFuPC9maXJzdG5hbWU+PHN1cm5hbWU+TXVldGg8L3N1cm5hbWU+PC9hdXRob3I+CisgICAgPGF1dGhvcj48Zmlyc3RuYW1lPkFsZXhhbmRlcjwvZmlyc3RuYW1lPjxzdXJuYW1lPktpcmlsbG92PC9zdXJuYW1lPjwvYXV0aG9yPgorICA8L2F1dGhvcmdyb3VwPgorICA8ZWRpdGlvbj5HTk9NRSBBcHBsZXRzIHZlcnNpb24gMC4xIGZvciBHTk9NRSAxLjEuNTwvZWRpdGlvbj4KKyAgPHB1YmRhdGU+MjAwMDwvcHViZGF0ZT4KKyAgPGNvcHlyaWdodD4KKyAgIDx5ZWFyPjIwMDA8L3llYXI+CisgICA8aG9sZGVyPlRlbHNhIEd3eW5uZSwgSm9obiBGbGVjaywgUmVkIEhhdCBJbmMuLCBEYW4gTXVldGgsIGFuZAorICAgIEFsZXhhbmRlciBLaXJpbGxvdjwvaG9sZGVyPiAKKyAgPC9jb3B5cmlnaHQ+CisgIDxsZWdhbG5vdGljZT4KKyAgIDxwYXJhPgorICAgIFBlcm1pc3Npb24gaXMgZ3JhbnRlZCB0byBtYWtlIGFuZCBkaXN0cmlidXRlIHZlcmJhdGltIGNvcGllcyBvZiB0aGlzCisgICAgbWFudWFsIHByb3ZpZGVkIHRoZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIGFyZQorICAgIHByZXNlcnZlZCBvbiBhbGwgY29waWVzLgorICAgPC9wYXJhPgorICAgPHBhcmE+CisgICAgUGVybWlzc2lvbiBpcyBncmFudGVkIHRvIGNvcHkgYW5kIGRpc3RyaWJ1dGUgbW9kaWZpZWQgdmVyc2lvbnMgb2YKKyAgICB0aGlzIG1hbnVhbCB1bmRlciB0aGUgY29uZGl0aW9ucyBmb3IgdmVyYmF0aW0gY29weWluZywgcHJvdmlkZWQgdGhhdAorICAgIHRoZSBlbnRpcmUgcmVzdWx0aW5nIGRlcml2ZWQgd29yayBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgYQorICAgIHBlcm1pc3Npb24gbm90aWNlIGlkZW50aWNhbCB0byB0aGlzIG9uZS4KKyAgIDwvcGFyYT4KKyAgIDxwYXJhPgorICAgIFBlcm1pc3Npb24gaXMgZ3JhbnRlZCB0byBjb3B5IGFuZCBkaXN0cmlidXRlIHRyYW5zbGF0aW9ucyBvZiB0aGlzCisgICAgbWFudWFsIGludG8gYW5vdGhlciBsYW5ndWFnZSwgdW5kZXIgdGhlIGFib3ZlIGNvbmRpdGlvbnMgZm9yIG1vZGlmaWVkCisgICAgdmVyc2lvbnMsIGV4Y2VwdCB0aGF0IHRoaXMgcGVybWlzc2lvbiBub3RpY2UgbWF5IGJlIHN0YXRlZCBpbiBhCisgICAgdHJhbnNsYXRpb24gYXBwcm92ZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAgIDwvcGFyYT4KKyAgIDxwYXJhPgorICAgIE1hbnkgb2YgdGhlIG5hbWVzIHVzZWQgYnkgY29tcGFuaWVzIHRvIGRpc3Rpbmd1aXNoIHRoZWlyIHByb2R1Y3RzIGFuZAorICAgIHNlcnZpY2VzIGFyZSBjbGFpbWVkIGFzIHRyYWRlbWFya3MuIFdoZXJlIHRob3NlIG5hbWVzIGFwcGVhciBpbiBhbnkKKyAgICBHTk9NRSBkb2N1bWVudGF0aW9uLCBhbmQgdGhvc2UgdHJhZGVtYXJrcyBhcmUgbWFkZSBhd2FyZSB0byB0aGUgbWVtYmVycworICAgIG9mIHRoZSBHTk9NRSBEb2N1bWVudGF0aW9uIFByb2plY3QsIHRoZSBuYW1lcyBoYXZlIGJlZW4gcHJpbnRlZCBpbiBjYXBzCisgICAgb3IgaW5pdGlhbCBjYXBzLgorICAgPC9wYXJhPgorICA8L2xlZ2Fsbm90aWNlPgorIDwvYm9va2luZm8+CisKKyA8IS0tICMjIyMgSW50cm9kdWN0aW9uICMjIyMjIyAtLT4KKyA8Y2hhcHRlciBpZD0iYXBwbGV0cy1pbnRybyI+CisgIDx0aXRsZT5JbnRyb2R1Y3Rpb248L3RpdGxlPiAKKworICA8IS0tICMjIyMgSW50cm8gfCBXaGF0IEFyZSBBcHBsZXRzPyAjIyMjIyMgLS0+CisgIDxzZWN0MSBpZD0iYXBwbGV0cy13aGF0LWFyZSI+CisgICA8dGl0bGU+V2hhdCBBcmUgQXBwbGV0cz88L3RpdGxlPiAKKyAgIDxwYXJhPgorICAgIEFwcGxldHMgYXJlIG9uZSBvZiB0aGUgbW9zdCBwb3B1bGFyIGFuZCB1c2VmdWwgb2JqZWN0cyB5b3UgY2FuIGFkZAorICAgIHRvIHlvdXIgPGludGVyZmFjZT5QYW5lbDwvaW50ZXJmYWNlPiB0byBjdXN0b21pemUgeW91ciBkZXNrdG9wLgorICAgIEFuIGFwcGxldCBpcyBhIHNtYWxsIGFwcGxpY2F0aW9uIHdoaWNoIHJ1bnMgaW5zaWRlIGEgc21hbGwgYXJlYSBvZgorICAgIHlvdXIgPGludGVyZmFjZT5QYW5lbDwvaW50ZXJmYWNlPi4gQXBwbGV0cyBoYXZlIGJlZW4gd3JpdHRlbiBmb3IKKyAgICBhIHdpZGUgcmFuZ2Ugb2YgcHVycG9zZXMuICBTb21lIGFyZSB2ZXJ5IHBvd2VyZnVsIGludGVyYWN0aXZlCisgICAgdG9vbHMsIHN1Y2ggYXMgdGhlIDxhcHBsaWNhdGlvbj5UYXNrbGlzdDwvYXBwbGljYXRpb24+IEFwcGxldAorICAgIHdoaWNoIGFsbG93cyB5b3UgdG8gZWFzaWx5IAorICAgIGNvbnRyb2wgYWxsIG9mIHlvdXIgbWFpbiBhcHBsaWNhdGlvbnMuICBPdGhlcnMgYXJlIHNpbXBsZSBzeXN0ZW0KKyAgICBtb25pdG9ycywgZGlzcGxheWluZyBpbmZvcm1hdGlvbiBzdWNoIGFzIHRoZSBhbW91bnQgb2YgcG93ZXIgbGVmdAorICAgIGluIHRoZSBiYXR0ZXJ5IG9uIHlvdXIgbGFwdG9wIChzZWUgPGFwcGxpY2F0aW9uPkJhdHRlcnkgQ2hhcmdlCisgICAgTW9uaXRvcjwvYXBwbGljYXRpb24+KSBvciB3ZWF0aGVyCisgICAgaW5mb3JtYXRpb24oc2VlIDxhcHBsaWNhdGlvbj5HTk9NRSBXZWF0aGVyPC9hcHBsaWNhdGlvbj4pLiAgU29tZQorICAgIGFyZSBzaW1wbHkgZm9yIGFtdXNlbWVudChzZWUgPGFwcGxpY2F0aW9uPkZpc2g8L2FwcGxpY2F0aW9uPikuCisgICA8L3BhcmE+CisKKyAgIDxwYXJhPgorICAgIEFwcGxldHMgYXJlIHNpbWlsYXIgdG8gc3dhbGxvd2VkIGFwcGxpY2F0aW9ucyBpbiB0aGF0IGJvdGggb2YgdGhlbQorICAgIHJlc2lkZSB3aXRoaW4gdGhlIDxpbnRlcmZhY2U+UGFuZWw8L2ludGVyZmFjZT4uIEhvd2V2ZXIsIAorICAgIHN3YWxsb3dlZCBhcHBsaWNhdGlvbnMgYXJlIGdlbmVyYWxseSBhcHBsaWNhdGlvbnMgd2hpY2ggd2VyZQorICAgIG5vdCBkZXNpZ25lZCB0byBydW4gd2l0aGluIHRoZSA8aW50ZXJmYWNlPlBhbmVsPC9pbnRlcmZhY2U+LgorICAgIFR5cGljYWxseSBvbmUgd2lsbCBzd2FsbG93IGFuIGFwcGxpY2F0aW9uIHdoaWNoIGFscmVhZHkgZXhpc3RzIGluCisgICAgdGhlIG1haW4gPGludGVyZmFjZT5kZXNrdG9wPC9pbnRlcmZhY2U+IGFyZWEsIHB1dHRpbmcgaXQgaW50byB5b3VyCisgICAgPGludGVyZmFjZT5QYW5lbDwvaW50ZXJmYWNlPi4gIFRoZSBhcHBsaWNhdGlvbiB3aWxsIGNvbnRpbnVlIHRvCisgICAgcnVuIGluIHRoZSA8aW50ZXJmYWNlPlBhbmVsPC9pbnRlcmZhY2U+IHVudGlsIHlvdSBlbmQgdGhlCisgICAgYXBwbGljYXRpb24gb3IgIHVuc3dhbGxvdyBpdCwgIHBsYWNpbmcgaXQgYmFjayBvbnRvIHRoZSBtYWluIHBhcnQgb2YKKyAgICB5b3VyIGRlc2t0b3Agd2hlbiB5b3UgbmVlZCB0by4KKyAgIDwvcGFyYT4KKworICAgPHBhcmE+CisgICAgPGZpZ3VyZSBpZD0iZXhhbXBsZS1hcHBsZXRzLWZpZyI+CisgICAgIDx0aXRsZT5FeGFtcGxlIEFwcGxldHM8L3RpdGxlPgorICAgICA8c2NyZWVuc2hvdD4KKyAgICAgIDxzY3JlZW5pbmZvPkV4YW1wbGUgQXBwbGV0czwvc2NyZWVuaW5mbz4KKyAgICAgICA8Z3JhcGhpYyBmaWxlcmVmPSJleGFtcGxlX2FwcGxldHMiIGZvcm1hdD0icG5nIgorICAgICAgIHNyY2NyZWRpdD0ibXVldCI+CisgICAgICAgPC9ncmFwaGljPgorICAgICA8L3NjcmVlbnNob3Q+CisgICAgPC9maWd1cmU+CisgICAgU2V2ZXJhbCBleGFtcGxlIGFwcGxldHMgYXJlIHNob3duIGluIDx4cmVmCisgICAgbGlua2VuZD0iZXhhbXBsZS1hcHBsZXRzLWZpZyI+LiAgRnJvbSBsZWZ0IHRvIHJpZ2h0LCB0aGV5IGFyZTogKDEpCisgICAgPGFwcGxpY2F0aW9uPk1peGVyIEFwcGxldDwvYXBwbGljYXRpb24+LCB3aGljaCBhbGxvd3MgeW91IHRvIHR1cm4KKyAgICBvbi9vZmYgc291bmQgYW5kIGNvbnRyb2wgaXRzIHZvbHVtZSBieSBjbGlja2luZyBvbiB0aGUgYXBwbGV0LiAgKDIpCisgICAgPGFwcGxpY2F0aW9uPlNvdW5kIE1vbml0b3I8L2FwcGxpY2F0aW9uPiBBcHBsZXQsIHdoaWNoIGRpc3BsYXlzCisgICAgdGhlIGN1cnJlbnQgdm9sdW1lIG9mIHNvdW5kIGJlaW5nIHBsYXllZCBhbmQgYWxsb3dzIHlvdSB0byBjb250cm9sCisgICAgdmFyaW91cyBzb3VuZCBmZWF0dXJlcy4gICgzKSA8YXBwbGljYXRpb24+R1RDRDwvYXBwbGljYXRpb24+CisgICAgQXBwbGV0LCBhIENEIHBsYXllciB3aGljaCBoYXMgYWxsIGl0cyBjb250cm9scworICAgIGF2YWlsYWJsZSBpbiB0aGUgYXBwbGV0IGFuZCBkaXNwbGF5cyB0aGUgdHJhY2sgYW5kIHRpbWUuICg0KQorICAgIDxhcHBsaWNhdGlvbj5Ecml2ZSBNb3VudDwvYXBwbGljYXRpb24+IEFwcGxldCwgdXNlZCB0byBtb3VudCBhbmQKKyAgICB1bm1vdW50IGRyaXZlcyB3aXRoIGEgc2luZ2xlIGNsaWNrIG9mIHRoZSBtb3VzZS4gKDUpCisgICAgPGFwcGxpY2F0aW9uPkRlc2sgR3VpZGU8L2FwcGxpY2F0aW9uPiB3aGljaCBhbGxvd3MgeW91IHRvIHZpZXcKKyAgICBhbmQgY29udHJvbCBtdWx0aXBsZSB2aXJ0dWFsIHNjcmVlbnMuICg2KQorICAgIDxhcHBsaWNhdGlvbj5UYXNrbGlzdDwvYXBwbGljYXRpb24+IEFwcGxldCB3aGljaCBhbGxvd3MgeW91IHRvCisgICAgY29udHJvbCB5b3VyIHZhcmlvdXMgd2luZG93cyBhbmQgYXBwbGljYXRpb25zLgorICAgPC9wYXJhPgorICAgPHBhcmE+CisgICAgVGhlcmUgYXJlIG1hbnkgb3RoZXIgYXBwbGV0cyB0byBjaG9vc2UgZnJvbS4gIFRoZSByZXN0IG9mIHRoaXMKKyAgICBjaGFwdGVyIHdpbGwgZXhwbGFpbiB0aGUgYmFzaWMgaW5mb3JtYXRpb24gdG8gZ2V0IHlvdSBzdGFydGVkCisgICAgYWRkaW5nLCBtb3ZpbmcsIGFuZCByZW1vdmluZyBhcHBsZXRzIGZyb20geW91cgorICAgIDxpbnRlcmZhY2U+UGFuZWxzPC9pbnRlcmZhY2U+IGFuZCB1c2luZyB0aGVtLiBUaGUgZm9sbG93aW5nCisgICAgY2hhcHRlcnMgZ28gdGhyb3VnaCBlYWNoIG9mIHRoZSBzdGFuZGFyZCBHTk9NRSBhcHBsZXRzIGRlc2NyaWJpbmcKKyAgICB0aGVtIGluIGRldGFpbC4gIFRoZXJlIGFyZSBhbHNvIGFkZGl0aW9uYWwgYXBwbGV0cyB3aGljaCBjYW4gYmUKKyAgICBkb3dubG9hZGVkIG9mZiB0aGUgV2ViLiAgIFNlZSA8dWxpbmsgdHlwZT0iaHR0cCIKKyAgICAgdXJsPSJodHRwOi8vd3d3Lmdub21lLm9yZy9hcHBsaXN0L2xpc3QtbWFydGluLnBodG1sIj5UaGUgR05PTUUKKyAgICBTb2Z0d2FyZSBNYXA8L3VsaW5rPiBmb3IgbGlzdHMgb2YgYWRkaXRpb25hbCBHTk9NRSBhcHBsaWNhdGlvbnMKKyAgICBhbmQgYXBwbGV0cy4gCisgICA8L3BhcmE+CisgICA8cGFyYT4KKyAgICBBcyB5b3UgcmVhZCB0aHJvdWdoIHRoZSB0aGUgcmVzdCBvZiB0aGlzIGNoYXB0ZXIsIHlvdSBzaG91bGQgdHJ5CisgICAgYWRkaW5nIGFuZCByZW1vdmluZyBhcHBsZXRzIGZyb20geW91ciA8aW50ZXJmYWNlPlBhbmVsPC9pbnRlcmZhY2U+IGFuZAorICAgIGV4cGVyaW1lbnQgd2l0aCB0aGVtIGZyZWVseS4gIAorICAgPC9wYXJhPgorICA8L3NlY3QxPgorCisgIDwhLS0gIyMjIyBJbnRybyB8IEFkZGluZywgTW92aW5nLCBhbmQgUmVtb3ZpbmcgQXBwbGV0cyAjIyMjIyMgLS0+CisgIDxzZWN0MSBpZD0iYXBwbGV0LWFkZC1tb3ZlLXJlcGxhY2UiPgorICAgPHRpdGxlPkFkZGluZywgTW92aW5nLCBhbmQgUmVtb3ZpbmcgQXBwbGV0czwvdGl0bGU+CisKKyAgIDxzZWN0MiBpZD0iYWRkaW5nLWFwcGxldHMiPiAgIAorICAgIDx0aXRsZT5BZGRpbmcgQXBwbGV0cyB0byBhIFBhbmVsPC90aXRsZT4KKyAgICA8cGFyYT4KKyAgICAgVG8gYWRkIGFuIGFwcGxldCB0byBhIDxpbnRlcmZhY2U+UGFuZWw8L2ludGVyZmFjZT4sIHJpZ2h0LWNsaWNrCisgICAgIG9uIHRoZSA8aW50ZXJmYWNlPlBhbmVsPC9pbnRlcmZhY2U+IGFuZCBzZWxlY3QgCisgICAgIDxtZW51Y2hvaWNlPjxndWltZW51PlBhbmVsPC9ndWltZW51PjxndWlzdWJtZW51PkFkZCB0byBwYW5lbDwvZ3Vpc3VibWVudT4KKyAgICAgPGd1aXN1Ym1lbnU+QXBwbGV0PC9ndWlzdWJtZW51PjwvbWVudWNob2ljZT4uIFRoaXMgd2lsbCBzaG93IHlvdQorICAgICB0aGUgbWVudSBvZiBhbGwgdGhlIGFwcGxldHMgb24geW91ciBzeXN0ZW0sIGRpdmlkZWQgaW50bworICAgICBjYXRlZ29yaWVzLiBDaG9vc2luZyBhbnkgYXBwbGV0IGZyb20gdGhpcyBtZW51IHdpbGwgYWRkIGl0IHRvIHRoZQorICAgICA8aW50ZXJmYWNlPlBhbmVsPC9pbnRlcmZhY2U+LgorICAgIDwvcGFyYT4KKyAgIDwvc2VjdDI+CisKKyAgIDxzZWN0MiBpZD0ibW92aW5nLWFwcGxldHMiPgorICAgIDx0aXRsZT5Nb3ZpbmcgQXBwbGV0cyBJbiBvciBCZXR3ZWVuIFBhbmVsczwvdGl0bGU+CisgICAgPHBhcmE+CisgICAgIEl0IGlzIGVhc3kgdG8gbW92ZSBhcHBsZXRzIGluIGEgPGludGVyZmFjZT5QYW5lbDwvaW50ZXJmYWNlPiBvcgorICAgICBiZXR3ZWVuIHR3byA8aW50ZXJmYWNlPlBhbmVsczwvaW50ZXJmYWNlPi4gSWYgeW91IGhhdmUgYQorICAgICB0aHJlZS1idXR0b24gbW91c2UsIGp1c3QgbW92ZSB0aGUgbW91c2Ugb3ZlciB0aGUgYXBwbGV0LCBkZXByZXNzCisgICAgIHRoZSBtaWRkbGUgbW91c2UgYnV0dG9uIGFuZCBkcmFnIHRoZSBhcHBsZXQgdG8gaXRzIG5ldyBsb2NhdGlvbiwKKyAgICAgcmVsZWFzaW5nIHRoZSBtaWRkbGUgbW91c2UgYnV0dG9uIHdoZW4geW91IGFyZSBmaW5pc2hlZC4gIE5vdGUKKyAgICAgdGhhdCB5b3UgY2FuIGRyYWcgYXBwbGV0cyB3aXRoaW4gYSA8aW50ZXJmYWNlPlBhbmVsPC9pbnRlcmZhY2U+CisgICAgIG9yIGJldHdlZW4gdHdvIDxpbnRlcmZhY2U+UGFuZWxzPC9pbnRlcmZhY2U+IHRoaXMgd2F5LiBJZiB5b3UKKyAgICAgZG9uJ3QgaGF2ZSBhIHRocmVlLWJ1dHRvbiBtb3VzZSwganVzdCAKKyAgICAgcmlnaHQtY2xpY2sgb24gdGhlIGFwcGxldCBhbmQgY2hvb3NlCisgICAgIDxndWltZW51aXRlbT5Nb3ZlPC9ndWltZW51aXRlbT4uIFRoZSBjdXJzb3Igd2lsbCB0dXJuIGludG8gYQorICAgICBjcm9zcyBhbmQgdGhlIGFwcGxldCB3aWxsIG1vdmUgd2l0aCB5b3VyIG1vdXNlIHVudGlsIHlvdSBwcmVzcworICAgICBhbnkgbW91c2UgYnV0dG9uIHRvIGluZGljYXRlIHlvdSBhcmUgZmluaXNoZWQgbW92aW5nIGl0LgorICAgICBJZiwgaW4gdGhlIGNvdXJzZSBvZiB0aGlzIG1vdmVtZW50LCBpdCBoaXRzCisgICAgIG90aGVyIG9iamVjdHMsIHRoZSBiZWhhdmlvciBkZXBlbmRzIG9uIHRoZSBnbG9iYWwgcHJlZmVyZW5jZXMKKyAgICAgeW91IGhhdmUgc2V0IGZvciB5b3VyIDxpbnRlcmZhY2U+UGFuZWxzPC9pbnRlcmZhY2U+IGluIHRoZQorICAgICA8YXBwbGljYXRpb24+R05PTUUgQ29udHJvbCBDZW50ZXI8L2FwcGxpY2F0aW9uPjogdGhlIGFwcGxldCB5b3UgYXJlCisgICAgIG1vdmluZyBjYW4gc3dpdGNoIHBsYWNlcyB3aXRoIG90aGVyIG9iamVjdHMsICJwdXNoIiBhbGwgb2JqZWN0cworICAgICBpdCBtZWV0cywgb3IgImp1bXAiIG92ZXIgYWxsIG90aGVyIG9iamVjdHMgd2l0aG91dCBkaXN0dXJiaW5nCisgICAgIHRoZW0uIFlvdSBjYW4gYWxzbyBvdmVycmlkZSB0aGUgZGVmYXVsdCBiZWhhdmlvciBieSBob2xkaW5nCisgICAgIDxrZXljYXA+U2hpZnQ8L2tleWNhcD4gYnV0dG9uIChmb3IgInB1c2giIG1vZGUpLAorICAgICA8a2V5Y2FwPkN0cmw8L2tleWNhcD4gKGZvciAic3dpdGNoZWQiIG1vZGUpLCBvcgorICAgICA8a2V5Y2FwPkFsdDwva2V5Y2FwPiAoZm9yICJmcmVlIiBtb2RlLCBpLmUuIGp1bXBpbmcgb3RoZXIgb3RoZXIKKyAgICAgb2JqZWN0cyB3aXRob3V0IGRpc3R1cmJpbmcgdGhlbSkgYnV0dG9uIHdoaWxlIGRyYWdnaW5nLgorICAgIDwvcGFyYT4KKyAgICA8cGFyYT4KKyAgICAgVG8gY2hhbmdlIHRoZSBnbG9iYWwgUGFuZWwgcHJlZmVyZW5jZXMsIHJpZ2h0LWNsaWNrIG9uIGFueSBhcHBsZXQKKyAgICAgb3IgPGludGVyZmFjZT5QYW5lbDwvaW50ZXJmYWNlPiBhbmQgc2VsZWN0IAorICAgICA8bWVudWNob2ljZT4KKyAgICAgIDxndWltZW51PlBhbmVsPC9ndWltZW51PgorICAgICAgPGd1aW1lbnVpdGVtPkdsb2JhbCBQcmVmZXJlbmNlcy4uLjwvZ3VpbWVudWl0ZW0+CisgICAgIDwvbWVudWNob2ljZT4uCisgICAgIFRoZSA8Z3VpbGFiZWw+RGVmYXVsdCBtb3ZlbWVudCBtb2RlPC9ndWlsYWJlbD4gaXMgc2V0IHVuZGVyIHRoZQorICAgICA8Z3VpbGFiZWw+QXBwbGV0czwvZ3VpbGFiZWw+IHRhYi4KKyAgICA8L3BhcmE+CisgICA8L3NlY3QyPgorCisgICA8c2VjdDIgaWQ9InJlbW92aW5nLWFwcGxldHMiPgorICAgIDx0aXRsZT5SZW1vdmluZyBBcHBsZXRzIGZyb20gYSBQYW5lbDwvdGl0bGU+IAorICAgIDxwYXJhPiAgCisgICAgIFRvIHJlbW92ZSBhbiBhcHBsZXQgZnJvbSBhIDxpbnRlcmZhY2U+UGFuZWw8L2ludGVyZmFjZT4sCisgICAgIHJpZ2h0LWNsaWNrIG9uIHRoZSBhcHBsZXQgYW5kIHNlbGVjdCA8Z3VpbWVudWl0ZW0+UmVtb3ZlIGZyb20KKyAgICAgcGFuZWwuLi48L2d1aW1lbnVpdGVtPi4gCisgICAgPC9wYXJhPgorICAgPC9zZWN0Mj4KKyAgPC9zZWN0MT4KKworCisgIDwhLS0gIyMjIyBJbnRybyB8IFRoZSBSaWdodC1DbGljayBQb3AtVXAgTWVudSAjIyMjIyMgLS0+CisgIDxzZWN0MSBpZD0icmlnaHQtY2xpY2stcG9wLXVwLW1lbnUiPgorICAgPHRpdGxlPlRoZSBSaWdodC1DbGljayBQb3AtVXAgTWVudTwvdGl0bGU+CisgICA8cGFyYT4KKyAgICBDbGlja2luZyB0aGUgcmlnaHQgbW91c2UgYnV0dG9uIG9uIGFueSBhcHBsZXQgYnJpbmdzIHVwCisgICAgYSA8Z3VpbWVudT5wb3AtdXAgbWVudTwvZ3VpbWVudT4uIFRoaXMgCisgICAgbWVudSBhbHdheXMgaGFzIGNlcnRhaW4gc3RhbmRhcmQgbWVudSBpdGVtcyBpbiBpdCBhbmQKKyAgICBvZnRlbiBoYXMgYWRkaXRpb25hbCBpdGVtcyB3aGljaCB2YXJ5IGRlcGVuZGluZyBvbiB0aGUgcGFydGljdWxhcgorICAgIGFwcGxldC4gCisgICA8L3BhcmE+CisgICA8c2VjdDIgaWQ9InN0YW5kYXJkLXJpZ2h0LWNsaWNrLWl0ZW1zIj4gCisgICAgPHRpdGxlPlN0YW5kYXJkIFBvcC1VcCBJdGVtczwvdGl0bGU+CisgICAgPHBhcmE+CisgICAgIEFsbCBhcHBsZXRzIHNob3VsZCBoYXZlIHRoZSBmb2xsb3dpbmcgaXRlbXMgaW4gdGhlaXIgcmlnaHQtY2xpY2sKKyAgICAgPGd1aW1lbnU+cG9wLXVwIG1lbnU8L2d1aW1lbnU+OgorICAgICA8dmFyaWFibGVsaXN0PgorICAgICAgPHZhcmxpc3RlbnRyeT4KKyAgICAgICA8dGVybT5SZW1vdmUgZnJvbSBwYW5lbDwvdGVybT4KKyAgICAgICA8bGlzdGl0ZW0+CisgICAgICAgIDxwYXJhPgorICAgICAgICAgVGhlIDxndWltZW51aXRlbT5SZW1vdmUgZnJvbSBwYW5lbDwvZ3VpbWVudWl0ZW0+IG1lbnUgaXRlbQorICAgICAgICAgcmVtb3ZlcyB0aGUgYXBwbGV0IGZyb20gdGhlIDxpbnRlcmZhY2U+UGFuZWw8L2ludGVyZmFjZT4uIAorICAgICAgICA8L3BhcmE+CisgICAgICAgPC9saXN0aXRlbT4KKyAgICAgIDwvdmFybGlzdGVudHJ5PgorCisgICAgICA8dmFybGlzdGVudHJ5PgorICAgICAgIDx0ZXJtPk1vdmU8L3Rlcm0+CisgICAgICAgPGxpc3RpdGVtPgorICAgICAgICA8cGFyYT4KKyAgICAgICAgIEFmdGVyIHNlbGVjdGluZyA8Z3VpbWVudWl0ZW0+TW92ZTwvZ3VpbWVudWl0ZW0+LCB5b3VyIG1vdXNlCisgICAgICAgICBwb2ludGVyIHdpbGwgY2hhbmdlIGFwcGVhcmFuY2UgKHR5cGljYWxseSB0byBhIGNyb3NzIHdpdGgKKyAgICAgICAgIGFycm93cyBpbiBlYWNoIGRpcmVjdGlvbikuIEFzIHlvdSBtb3ZlIHlvdXIgbW91c2UsIHRoZSBhcHBsZXQKKyAgICAgICAgIHdpbGwgbW92ZSB3aXRoIGl0LiAgV2hlbiB5b3UgaGF2ZSBmaW5pc2hlZCBtb3ZpbmcgdGhlIGFwcGxldCwKKyAgICAgICAgIGNsaWNrIGFueSBtb3VzZSBidXR0b24gYW5kIHRoZSBhcHBsZXQgd2lsbCBhbmNob3IgaW4gaXRzCisgICAgICAgICBjdXJyZW50IHBvc2l0aW9uLiAgTm90ZSB0aGF0IGFwcGxldHMgY2FuIGJlIG1vdmVkIGJldHdlZW4gdHdvCisgICAgICAgICA8aW50ZXJmYWNlPlBhbmVsczwvaW50ZXJmYWNlPiB0aGlzIHdheS4KKyAgICAgICAgPC9wYXJhPgorICAgICAgIDwvbGlzdGl0ZW0+CisgICAgICA8L3Zhcmxpc3RlbnRyeT4KKworICAgICAgPHZhcmxpc3RlbnRyeT4KKyAgICAgICA8dGVybT5QYW5lbDwvdGVybT4KKyAgICAgICA8bGlzdGl0ZW0+CisgICAgICAgIDxwYXJhPgorICAgICAgICAgVGhlIDxndWlzdWJtZW51PlBhbmVsPC9ndWlzdWJtZW51PiBzdWJtZW51IGNvbnRhaW5zIHZhcmlvdXMKKyAgICAgICAgIGl0ZW1zIGFuZCBzdWJtZW51cyBmb3IgYWRkaW5nIGFuZCByZW1vdmluZworICAgICAgICAgPGludGVyZmFjZT5QYW5lbHM8L2ludGVyZmFjZT4gYW5kIGFwcGxldHMgYW5kIGZvciBjaGFuZ2luZworICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24uCisgICAgICAgIDwvcGFyYT4KKyAgICAgICA8L2xpc3RpdGVtPgorICAgICAgPC92YXJsaXN0ZW50cnk+CisKKyAgICAgIDx2YXJsaXN0ZW50cnk+CisgICAgICAgPHRlcm0+QWJvdXQ8L3Rlcm0+CisgICAgICAgPGxpc3RpdGVtPgorICAgICAgICA8cGFyYT4KKyAgICAgICAgIFRoZSA8Z3VpbWVudWl0ZW0+QWJvdXQuLi48L2d1aW1lbnVpdGVtPiBtZW51IGl0ZW0gYnJpbmdzIHVwIGEgCisgICAgICAgICBkaWFsb2d1ZSBib3ggY29udGFpbmluZyB2YXJpb3VzIGluZm9ybWF0aW9uIGFib3V0IHRoZSBhcHBsZXQsCisgICAgICAgICB0eXBpY2FsbHkgaW5jbHVkaW5nIHRoZSBhcHBsZXQncyAgbmFtZSwgdmVyc2lvbiwgYXV0aG9yLAorICAgICAgICAgY29weXJpZ2h0LCBsaWNlbnNlIGFuZCBkZXNjaXB0aW9uLiAKKyAgICAgICAgPC9wYXJhPgorICAgICAgIDwvbGlzdGl0ZW0+CisgICAgICA8L3Zhcmxpc3RlbnRyeT4KKworICAgICAgPHZhcmxpc3RlbnRyeT4KKyAgICAgICA8dGVybT5IZWxwPC90ZXJtPgorICAgICAgIDxsaXN0aXRlbT4KKyAgICAgICAgPHBhcmE+CisgICAgICAgICBUaGUgPGd1aW1lbnVpdGVtPkhlbHA8L2d1aW1lbnVpdGVtPiBtZW51IGl0ZW0gYnJpbmdzIHVwIHRoZSBoZWxwCisgICAgICAgICBtYW51YWwgZm9yIHRoZSBhcHBsZXQuIAorICAgICAgICA8L3BhcmE+CisgICAgICAgPC9saXN0aXRlbT4KKyAgICAgIDwvdmFybGlzdGVudHJ5PgorICAgICA8L3ZhcmlhYmxlbGlzdD4KKyAgICA8L3BhcmE+CisgICA8L3NlY3QyPgorCisgICA8c2VjdDIgaWQ9ImFwcGxldC1wcm9wZXJ0aWVzLWRpYWxvZyI+IAorICAgIDx0aXRsZT5UaGUgQXBwbGV0IFByb3BlcnRpZXMgRGlhbG9nPC90aXRsZT4KKyAgICA8cGFyYT4KKyAgICAgTWFueSBhcHBsZXRzIGhhdmUgY3VzdG9taXphYmxlIHByb3BlcnRpZXMuICBUaGVzZSBhcHBsZXRzIHdpbGwKKyAgICAgaGF2ZSBhIDxndWltZW51aXRlbT5Qcm9wZXJ0aWVzLi4uPC9ndWltZW51aXRlbT4gbWVudSBpdGVtIGluIHRoZWlyCisgICAgIHJpZ2h0LWNsaWNrIDxndWltZW51PnBvcC11cCBtZW51PC9ndWltZW51PiB3aGljaCBicmluZ3MgdXAgdGhlCisgICAgIDxpbnRlcmZhY2U+UHJvcGVydGllczwvaW50ZXJmYWNlPiBkaWFsb2cgd2hlcmUgeW91IGNhbiBhbHRlciB0aGUgCisgICAgIGFwcGVhcmFuY2Ugb3IgYmVoYXZpb3VyIG9mIHRoZSBhcHBsZXQuCisgICAgIDxmaWd1cmUgaWQ9ImV4YW1wbGUtcHJvcHMtZGlhbG9nLWZpZyI+CisgICAgICA8dGl0bGU+QW4gRXhhbXBsZSBBcHBsZXQgUHJvcGVydGllcyBEaWFsb2c8L3RpdGxlPgorICAgICAgPHNjcmVlbnNob3Q+CisgICAgICAgPHNjcmVlbmluZm8+QW4gRXhhbXBsZSBBcHBsZXRzIFByb3BlcnRpZXMgRGlhbG9nPC9zY3JlZW5pbmZvPgorICAgICAgIDxncmFwaGljIGZpbGVyZWY9ImFwcGxldF9wcm9wc19kaWFsb2ciIGZvcm1hdD0icG5nIgorICAgICAgICBzcmNjcmVkaXQ9Im11ZXQiPgorICAgICAgIDwvZ3JhcGhpYz4KKyAgICAgIDwvc2NyZWVuc2hvdD4KKyAgICAgPC9maWd1cmU+CisgICAgIEFsbCA8aW50ZXJmYWNlPlByb3BlcnRpZXM8L2ludGVyZmFjZT4gZGlhbG9ncyBoYXZlIHRoZSBmb2xsb3dpbmcKKyAgICAgYnV0dG9ucyBhdCB0aGUgYm90dG9tIG9mIHRoZSBkaWFsb2c6CisgICAgIDxpdGVtaXplZGxpc3Q+CisgICAgICA8bGlzdGl0ZW0+CisgICAgICAgPHBhcmE+CisgICAgICAgIDxndWlidXR0b24+T0s8L2d1aWJ1dHRvbj4gJm1kYXNoOworICAgICAgICBQcmVzc2luZyA8Z3VpYnV0dG9uPk9LPC9ndWlidXR0b24+IHdpbGwgYWN0aXZhdGUgYW55IGNoYW5nZXMKKyAgICAgICAgaW4gdGhlIHByb3BlcnRpZXMgeW91IGhhdmUgbWFkZSBhbmQgY2xvc2UgdGhlCisgICAgICAgIDxpbnRlcmZhY2U+UHJvcGVydGllczwvaW50ZXJmYWNlPiBkaWFsb2cuCisgICAgICAgPC9wYXJhPgorICAgICAgPC9saXN0aXRlbT4KKyAgICAgIDxsaXN0aXRlbT4KKyAgICAgICA8cGFyYT4KKyAgICAgICAgPGd1aWJ1dHRvbj5BcHBseTwvZ3VpYnV0dG9uPiAmbWRhc2g7CisgICAgICAgIFByZXNzaW5nIDxndWlidXR0b24+QXBwbHk8L2d1aWJ1dHRvbj4gYXQgYW55IHRpbWUgd2lsbAorICAgICAgICBtYWtlIHlvdXIgY2hhbmdlcyBhY3RpdmUgd2l0aG91dCBjbG9zaW5nIHRoZQorICAgICAgICA8aW50ZXJmYWNlPlByb3BlcnRpZXM8L2ludGVyZmFjZT4gZGlhbG9nLiAgVGhpcyBpcyBoZWxwZnVsIGlmCisgICAgICAgIHlvdSB3b3VsZCBsaWtlIHRvIHRlc3QgdGhlIGVmZmVjdHMgb2YgdGhlIGNoYW5nZXMgeW91IGhhdmUKKyAgICAgICAgbWFkZSBidXQgbWF5IHdhbnQgdG8gY29udGludWUgY2hhbmdpbmcgdGhlIHByb3BlcnRpZXMuCisgICAgICAgPC9wYXJhPgorICAgICAgPC9saXN0aXRlbT4KKyAgICAgIDxsaXN0aXRlbT4KKyAgICAgICA8cGFyYT4KKyAgICAgICAgPGd1aWJ1dHRvbj5DbG9zZTwvZ3VpYnV0dG9uPiAmbWRhc2g7CisgICAgICAgIFByZXNzaW5nIDxndWlidXR0b24+Q2xvc2U8L2d1aWJ1dHRvbj4gd2lsbCBjbG9zZSB0aGUKKyAgICAgICAgPGludGVyZmFjZT5Qcm9wZXJ0aWVzPC9pbnRlcmZhY2U+IGRpYWxvZy4gIE9ubHkgY2hhbmdlcyBpbiB0aGUKKyAgICAgICAgY29uZmlndXJhdGlvbiB3aGljaCB3ZXJlIHByZXZpb3VzbHkgYXBwbGllZCB3aXRoIHRoZQorICAgICAgICA8Z3VpYnV0dG9uPkFwcGx5PC9ndWlidXR0b24+IGJ1dHRvbiB3aWxsIHBlcnNpc3QuICBPdGhlcgorICAgICAgICBjaGFuZ2VzIHdpbGwgbm90IGJlIG1hZGUgYWN0aXZlLgorICAgICAgIDwvcGFyYT4KKyAgICAgIDwvbGlzdGl0ZW0+CisgICAgICA8bGlzdGl0ZW0+CisgICAgICAgPHBhcmE+CisgICAgICAgIDxndWlidXR0b24+SGVscDwvZ3VpYnV0dG9uPiAmbWRhc2g7CisgICAgICAgIFByZXNzaW5nIDxndWlidXR0b24+SGVscDwvZ3VpYnV0dG9uPiBicmluZ3MgdXAgdGhlIG1hbnVhbCBmb3IKKyAgICAgICAgdGhlIGFwcGxpY2F0aW9uLCBvcGVuaW5nIGl0IHRvIHRoZSBwYWdlIGRlc2NyaWJpbmcgdGhlCisgICAgICAgIDxpbnRlcmZhY2U+UHJvcGVydGllczwvaW50ZXJmYWNlPiBkaWFsb2cuCisgICAgICAgPC9wYXJhPgorICAgICAgPC9saXN0aXRlbT4KKyAgICAgPC9pdGVtaXplZGxpc3Q+CisgICAgPC9wYXJhPgorICAgPC9zZWN0Mj4KKyAKKyAgIDxzZWN0MiBpZD0iY29tbW9uLXJpZ2h0LWNsaWNrLWl0ZW1zIj4gCisgICAgPHRpdGxlPk90aGVyIENvbW1vbiBQb3AtVXAgSXRlbXM8L3RpdGxlPgorICAgIDxwYXJhPgorICAgICBNYW55IGFwcGxldHMgYWxzbyBoYXZlIG9uZSBvciBtb3JlIG9mIHRoZSBmb2xsb3dpbmcgaXRlbXMgaW4gdGhlaXIKKyAgICAgcmlnaHQtY2xpY2sgcG9wLXVwIG1lbnU6CisgICAgIDx2YXJpYWJsZWxpc3Q+CisgICAgICA8dmFybGlzdGVudHJ5PgorICAgICAgIDx0ZXJtPlJ1bi4uLjwvdGVybT4KKyAgICAgICA8bGlzdGl0ZW0+CisgICAgICAgIDxwYXJhPgorICAgICAgICAgVGhlIDxndWltZW51aXRlbT5SdW4uLi48L2d1aW1lbnVpdGVtPiBtZW51IGl0ZW0gZ2VuZXJhbGx5CisgICAgICAgICBpbnZva2VzIGEgcHJvZ3JhbSAgd2hpY2ggaXMgcmVsYXRlZCB0byB0aGUgYXBwbGV0IGluIHNvbWUgd2F5CisgICAgICAgICBidXQgd2hpY2ggcnVucyBpbiBpdHMgb3duIHdpbmRvdyByYXRoZXIgdGhhbiBpbiB0aGUKKyAgICAgICAgIHBhbmVsLiBGb3IgZXhhbXBsZTogCisgICAgICAgIDwvcGFyYT4KKyAgICAgICAgPG9yZGVyZWRsaXN0PgorICAgICAgICAgPGxpc3RpdGVtPgorICAgICAgICAgIDxwYXJhPgorICAgICAgICAgICBUaGUgPGFwcGxpY2F0aW9uPkNQVSBMb2FkPC9hcHBsaWNhdGlvbj4gYXBwbGV0LCB3aGljaCBtb25pdG9ycworICAgICAgICAgICB3aGF0IHByb2dyYW1zIGFyZSBydW5uaW5nLCBoYXMgYSA8Z3VpbWVudWl0ZW0+UnVuCisgICAgICAgICAgIGd0b3AuLi48L2d1aW1lbnVpdGVtPiAgbWVudSBpdGVtLiBTZWxlY3RpbmcgdGhpcyBtZW51IGl0ZW0KKyAgICAgICAgICAgc3RhcnRzIDxhcHBsaWNhdGlvbj5HVG9wPC9hcHBsaWNhdGlvbj4sIHdoaWNoIGFsbG93cyB5b3UgdG8KKyAgICAgICAgICAgdmlldyBhbmQgY29udHJvbCBwcm9ncmFtcyB3aGljaCBhcmUgcnVubmluZy4KKyAgICAgICAgICA8L3BhcmE+CisgICAgICAgICA8L2xpc3RpdGVtPgorICAgICAgICAgPGxpc3RpdGVtPgorICAgICAgICAgIDxwYXJhPgorICAgICAgICAgICBUaGUgPGFwcGxpY2F0aW9uPkNEIFBsYXllcjwvYXBwbGljYXRpb24+IGFwcGxldCBoYXMgYQorICAgICAgICAgICA8Z3VpbWVudWl0ZW0+UnVuIGd0Y2QuLi48L2d1aW1lbnVpdGVtPiBtZW51IGl0ZW0gd2hpY2gKKyAgICAgICAgICAgc3RhcnRzIHRoZSBHTk9NRSA8YXBwbGljYXRpb24+Q0QgUGxheWVyPC9hcHBsaWNhdGlvbj4gd2hlbgorICAgICAgICAgICBzZWxlY3RlZCwgd2hpY2ggaGFzIG1vcmUgY2FwYWJpbGl0aWVzIHRoYW4gdGhlIGFwcGxldC4KKyAgICAgICAgICA8L3BhcmE+CisgICAgICAgICA8L2xpc3RpdGVtPgorICAgICAgICA8L29yZGVyZWRsaXN0PgorICAgICAgIDwvbGlzdGl0ZW0+CisgICAgICA8L3Zhcmxpc3RlbnRyeT4KKyAgICAgPC92YXJpYWJsZWxpc3Q+CisgICAgPC9wYXJhPgorICAgPC9zZWN0Mj4KKyAgPC9zZWN0MT4KKyAgCisgIDxzZWN0MSBpZD0iZmVlZGJhY2siPgorICAgPHRpdGxlPkZlZWRiYWNrPC90aXRsZT4KKyAgIDxzZWN0MiBpZD0icmVwb3J0aW5nLWJ1Z3MiPiAKKyAgICA8dGl0bGU+UmVwb3J0aW5nIEFwcGxldCBCdWdzPC90aXRsZT4KKyAgICA8cGFyYT4KKyAgICAgR05PTUUgdXNlcnMgYXJlIGVuY291cmFnZWQgdG8gcmVwb3J0IGJ1Z3MgdG8gPHVsaW5rIHR5cGU9Imh0dHAiCisgICAgIHVybD0iaHR0cDovL2J1Z3MuZ25vbWUub3JnIj5UaGUgR05PTUUgQnVnIFRyYWNraW5nCisgICAgIFN5c3RlbTwvdWxpbms+LiAgVGhlIGVhc2llc3Qgd2F5IHRvIHN1Ym1pdCBidWdzIGlzIHRvIHVzZSB0aGUKKyAgICAgPGFwcGxpY2F0aW9uPkJ1ZyBSZXBvcnQgVG9vbDwvYXBwbGljYXRpb24+IHByb2dyYW0gYnkgc2VsZWN0aW5nCisgICAgIDxtZW51Y2hvaWNlPgorICAgICAgPGd1aW1lbnU+TWFpbiBNZW51PC9ndWltZW51PiA8Z3Vpc3VibWVudT5VdGlsaXRpZXM8L2d1aXN1Ym1lbnU+CisgICAgICA8Z3VpbWVudWl0ZW0+QnVnIFJlcG9ydCBUb29sPC9ndWltZW51aXRlbT4gCisgICAgIDwvbWVudWNob2ljZT4uCisgICAgIEJlIHN1cmUgdG8gYmUgY29tcGxldGUgaW4gZGVzY3JpYmluZyB3aGF0IHlvdSBkaWQgdG8gY2F1c2UgdGhlCisgICAgIGJ1ZyB0byBzdXJmYWNlIGFuZCwgaWYgcG9zc2libGUsIGRlc2NyaWJlIGhvdyB0aGUgZGV2ZWxvcGVyIGNhbgorICAgICByZXByb2R1Y2UgdGhlIHRoZSBzY2VuYXJpby4KKyAgICA8L3BhcmE+CisgICA8L3NlY3QyPgorICAgPHNlY3QyIGlkPSJkb2N1bWVudGF0aW9uLWZlZWRiYWNrIj4gCisgICAgPHRpdGxlPlByb3ZpZGluZyBGZWVkYmFjazwvdGl0bGU+CisgICAgPHBhcmE+CisgICAgIEdOT01FIHVzZXJzIGFyZSB3ZWxjb21lIHRvIHByb3ZpZGUgc3VnZ2VzdGlvbnMgZm9yIGhvdworICAgICBhcHBsaWNhdGlvbnMgYW5kIGRvY3VtZW50YXRpb24gY2FuIGJlIGltcHJvdmVkLiAgU3VnZ2VzdGlvbnMgZm9yCisgICAgIGFwcGxpY2F0aW9uIGNoYW5nZXMgc2hvdWxkIGJlIHN1Ym1pdHRlZCB1c2luZyB0aGUKKyAgICAgPGFwcGxpY2F0aW9uPkJ1ZyBSZXBvcnQgVG9vbDwvYXBwbGljYXRpb24+IGRpc2N1c3NlZCBhYm92ZS4KKyAgICAgU3VnZ2VzdGlvbnMgZm9yIGRvY3VtZW50YXRpb24gY2hhbmdlcyBjYW4gYmUgZW1haWxlZCBkaXJlY3RseSB0bworICAgICB0aGUgZG9jdW1lbnRhdGlvbiBhdXRob3IgKHdob3NlIGVtYWlsIHNob3VsZCBiZSBpbmNsdWRlZCBpbiB0aGUKKyAgICAgIkF1dGhvcnMiIHNlY3Rpb24gb2YgdGhlIGRvY3VtZW50KSBvciBieSBzZW5kaW5nIGFuIGVtYWlsIHRvCisgICAgIDxlbWFpbD5kb2NzQGdub21lLm9yZzwvZW1haWw+LiAKKyAgICA8L3BhcmE+CisgICA8L3NlY3QyPgorICAgPHNlY3QyIGlkPSJqb2luaW5nLWdub21lIj4gIAorICAgIDx0aXRsZT5Kb2luaW5nIEdOT01FPC90aXRsZT4KKyAgICA8cGFyYT4KKyAgICAgR05PTUUgaXMgYSBjb21tdW5pdHkgcHJvamVjdCwgY3JlYXRlZCBieSBodW5kcmVkcyBvZiBwcm9ncmFtbWVycywKKyAgICAgZG9jdW1lbnRhdGlvbiB3cml0ZXJzLCBpY29uIGRlc2lnbiBhcnRpc3RzLCB3ZWIgbWFzdGVycywgYW5kCisgICAgIG90aGVyIHBlb3BsZSwgbW9zdCBvZiB3aG9tIHdvcmsgb24gYSB2b2x1bnRlZXIgYmFzaXMuICBOZXcgR05PTUUKKyAgICAgY29udHJpYnV0b3JzIGFyZSBhbHdheXMgd2VsY29tZS4gVG8gam9pbiB0aGUgR05PTUUgdGVhbSwgdmlzaXQKKyAgICAgdGhlc2Ugd2ViIHNpdGVzOiBkZXZlbG9wZXJzICZtZGFzaDsgPHVsaW5rIHR5cGU9Imh0dHAiCisgICAgIHVybD0iaHR0cDovL2RldmVsb3Blci5nbm9tZS5vcmciPlRoZSBHTk9NRSBEZXZlbG9wbWVudAorICAgICBTaXRlPC91bGluaz4sIGRvY3VtZW50YXRpb24gd3JpdGVycyAmbWRhc2g7IDx1bGluayB0eXBlPSJodHRwIgorICAgICB1cmw9Imh0dHA6Ly9kZXZlbG9wZXIuZ25vbWUub3JnL3Byb2plY3RzL2dkcCI+VGhlIEdOT01FIERvY3VtZW50YXRpb24KKyAgICAgUHJvamVjdDwvdWxpbms+LCBpY29uIGRlc2lnbiBhcnRpc3RzICZtZGFzaDsgPHVsaW5rIHR5cGU9Imh0dHAiCisgICAgIHVybD0iaHR0cDovL2dub21lLWljb25zLnNvdXJjZWZvcmdlLm5ldC8iPkdub21lIEljb24gV2ViPC91bGluaz4sCisgICAgIGdlbmVyYWwgJm1kYXNoOyA8dWxpbmsgdHlwZT0iaHR0cCIKKyAgICAgdXJsPSJodHRwOi8vZGV2ZWxvcGVyLmdub21lLm9yZy9oZWxwaW5nLyI+SGVscGluZyBHTk9NRTwvdWxpbms+LAorICAgICBvciBqdXN0IGpvaW4gdGhlIGdub21lLWxpc3QgZW1haWwgbGlzdCAoc2VlIDx1bGluayB0eXBlPSJodHRwIgorICAgICB1cmw9Imh0dHA6Ly93d3cuZ25vbWUub3JnL3Jlc291cmNlcy9tYWlsaW5nLWxpc3RzLmh0bWwiPkdOT01FIE1haWxpbmcKKyAgICAgTGlzdHM8L3VsaW5rPikgdG8gZGlzY3VzcyB3aGF0IHlvdSBhcmUgaW50ZXJlc3RlZCBpbiBkb2luZy4KKyAgICA8L3BhcmE+CisgICA8L3NlY3QyPgorICA8L3NlY3QxPgorIDwvY2hhcHRlcj4KKworIDwhLS0gIyMjIyMjIyMjIyMjIyMjIFRlbXBsYXRlIEFwcGxldHMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIC0tPgorIDxjaGFwdGVyIGlkPSJ0ZW1wbGF0ZS1hcHBsZXRzIj4KKyAgPHRpdGxlPlRlbXBsYXRlIEFwcGxldHM8L3RpdGxlPgorCisgICZURU1QTEFURS1BUFBMRVQKKworIDwvY2hhcHRlcj4KKworPC9ib29rPgorCisKKworCisKKworCitdXT4KKwk8L3Byb2dyYW1saXN0aW5nPgorCQorICAgICAgICA8cHJvZ3JhbWxpc3Rpbmc+Cis8IVtDREFUQVsKKworICA8IS0tIFBsZWFzZSByZXBsYWNlIGV2ZXJ5d2hlcmUgYmVsb3cgR05PTUVBUFBMRVQgd2l0aCB0aGUgbmFtZSBvZiAtLT4KKyAgPCEtLSB5b3VyIGFwcGxldC4gTW9zdCBpbXBvcnRhbnRseSwgYWxsIGlkIGF0dHJpYnV0ZXMgc2hvdWxkIHN0YXJ0IC0tPgorICA8IS0tIHdpdGggdGhlIG5hbWUgb2YgeW91ciBhcHBsZXQgLSB0aGlzIGlzIG5lY2Vzc2FyeSB0byBhdm9pZCBuYW1lIC0tPgorICA8IS0tIGNvbmZsaWN0IGFtb25nIGRpZmZlcmVudCBhcHBsZXRzIC0tPiAKKyAgPCEtLSBQbGVhc2UgcmVwbGFjZSBZT1VSLU5BTUUgd2l0aCB5b3VyIG5hbWUgYW5kIFlPVVItRU1BSUwgd2l0aCB5b3VyIGVtYWlsLS0+CisgIDwhLS0gUGxlYXNlIHJlcGxhY2UgSEFDS0VSLU5BTUUgd2l0aCB0aGUgYXBwbGV0IGF1dGhvcidzIG5hbWUgYW5kIC0tPgorICA8IS0tIEhBQ0tFUi1FTUFJTCB3aXRoIHRoZSBhcHBsZXQgYXV0aG9yJ3MgZW1haWwgLS0+CisKKyAgPCEtLSBZb3Ugc2hvdWxkIG5hbWUgeW91ciBmaWxlOiBHTk9NRUFQUExFVC1hcHBsZXQuc2dtbCAtLT4KKyAgPCEtLSBTY3JlZW5zaG90cyBzaG91bGQgYmUgaW4gUE5HIGZvcm1hdCBhbmQgcGxhY2VkIGluIHRoZSAtLT4KKyAgPCEtLSBzYW1lIGRpcmVjdG9yeSBhcyBHTk9NRUFQUExFVC1hcHBsZXQuc2dtbCAtLT4KKworICA8IS0tIEFwcGxldCBkb2NzIHdpbGwgYmUgbWVyZ2VkIGludG8gPGNoYXB0ZXI+J3MgaW5zaWRlIGEgLS0+CisgIDwhLS0gPGJvb2s+LiBUaHVzLCB0aGUgaW5kZW50YXRpb24gYmVsb3cgKDIgc3BhY2VzIGJlZm9yZSB0aGUgPHNlY3QxPikgaXMgLS0+CisgIDwhLS0gY29ycmVjdC4tLT4KKworICA8IS0tIFBlcm1pc3Npb24gaXMgZ3JhbnRlZCB0byBtYWtlIGFuZCBkaXN0cmlidXRlIHZlcmJhdGltIGNvcGllcyBvZiAtLT4KKyAgPCEtLSB0aGlzIG1hbnVhbCBwcm92aWRlZCB0aGUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIC0tPgorICA8IS0tIG5vdGljZSBhcmUgIHByZXNlcnZlZCBvbiBhbGwgY29waWVzLiAtLT4KKyAgPCEtLSAtLT4KKyAgPCEtLSBQZXJtaXNzaW9uIGlzIGdyYW50ZWQgdG8gY29weSBhbmQgZGlzdHJpYnV0ZSBtb2RpZmllZCB2ZXJzaW9ucyBvZiAtLT4KKyAgPCEtLSB0aGlzIG1hbnVhbCB1bmRlciB0aGUgY29uZGl0aW9ucyBmb3IgdmVyYmF0aW0gY29weWluZywgcHJvdmlkZWQgLS0+CisgIDwhLS0gdGhhdCB0aGUgZW50aXJlIHJlc3VsdGluZyBkZXJpdmVkIHdvcmsgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIC0tPgorICA8IS0tIHRlcm1zIG9mIGEgcGVybWlzc2lvbiBub3RpY2UgaWRlbnRpY2FsIHRvIHRoaXMgb25lLiAtLT4KKyAgPCEtLSAtLT4KKyAgPCEtLSBQZXJtaXNzaW9uIGlzIGdyYW50ZWQgdG8gY29weSBhbmQgZGlzdHJpYnV0ZSB0cmFuc2xhdGlvbnMgb2YgdGhpcyAtLT4KKyAgPCEtLSBtYW51YWwgaW50byBhbm90aGVyIGxhbmd1YWdlLCB1bmRlciB0aGUgYWJvdmUgY29uZGl0aW9ucyBmb3IgLS0+CisgIDwhLS0gbW9kaWZpZWQgdmVyc2lvbnMsIGV4Y2VwdCB0aGF0IHRoaXMgcGVybWlzc2lvbiBub3RpY2UgbWF5IGJlIC0tPgorICA8IS0tIHN0YXRlZCBpbiBhIHRyYW5zbGF0aW9uIGFwcHJvdmVkIGJ5IHRoZSBGb3VuZGF0aW9uLiAtLT4KKworICA8IS0tICMjIyMjIyMjIyMjIyMjIyAgIEdOT01FQVBQTEVUICAgIyMjIyMjIyMjIyMjIyMjIC0tPgorICA8c2VjdDEgaWQ9IkdOT01FQVBQTEVUIj4KKyAgIDx0aXRsZT5HTk9NRUFQUExFVCBBcHBsZXQ8L3RpdGxlPiAKKworICAgPHBhcmE+IAorICAgIDxhcHBsaWNhdGlvbj5HTk9NRUFQUExFVDwvYXBwbGljYXRpb24+IGFwcGxldCwgc2hvd24gaW4gPHhyZWYKKyAgICBsaW5rZW5kPSJHTk9NRUFQUExFVC1maWciPiwgZG9lcyB0aGlzIGFuZCB0aGF0LiBUbyBsZWFybiBob3cgdG8KKyAgICBhZGQgdGhpcyBhcHBsZXQgdG8gYSA8aW50ZXJmYWNlPlBhbmVsPC9pbnRlcmZhY2U+LCBzZWUgPHhyZWYKKyAgICBsaW5rZW5kPSJhZGRpbmctYXBwbGV0cyI+LiAKKyAgIDwvcGFyYT4KKyAgCisgCisgICA8ZmlndXJlIGlkPSJHTk9NRUFQUExFVC1maWciPgorICAgPHRpdGxlPkdOT01FQVBQTEVUPC90aXRsZT4KKyAgIDxzY3JlZW5zaG90PgorICAgIDxzY3JlZW5pbmZvPkdOT01FQVBQTEVUPC9zY3JlZW5pbmZvPgorICAgIDxncmFwaGljIGZvcm1hdD0icG5nIiBmaWxlcmVmPSJHTk9NRUFQUExFVC1maWciIHNyY2NyZWRpdD0iTUUiPgorICAgIDwvZ3JhcGhpYz4KKyAgIDwvc2NyZWVuc2hvdD4KKyAgIDwvZmlndXJlPgorCisgICA8c2VjdDIgaWQ9IkdOT01FQVBQTEVULXVzYWdlIj4KKyAgICA8dGl0bGU+VXNhZ2U8L3RpdGxlPgorICAgIDxwYXJhPgorICAgICBUaGlzIGFwcGxldCBkb2VzIG5vdGhpbmcuIFRvIHVzZSBpdCwganVzdAorICAgICBsZWZ0LWNsaWNrIG9uIGl0IGFuZCBpdCB3aWxsIGluc3RhbnRseSBkbyBub3RoaW5nLiAgIAorICAgIDwvcGFyYT4KKyAgIDwvc2VjdDI+CisKKyAgIDxzZWN0MiBpZD0iR05PTUVBUFBMRVQtcmlnaHQtY2xpY2siPgorICAgIDx0aXRsZT5SaWdodC1DbGljayBQb3AtVXAgTWVudSBJdGVtczwvdGl0bGU+CisgICAgPHBhcmE+IAorICAgICBJbiBhZGRpdGlvbiB0byB0aGUgc3RhbmRhcmQgbWVudSBpdGVtcyAoc2VlIDx4cmVmCisgICAgIGxpbmtlbmQ9InN0YW5kYXJkLXJpZ2h0LWNsaWNrLWl0ZW1zIj4pLCB0aGUgcmlnaHQtY2xpY2sgcG9wLXVwIG1lbnUgaGFzIAorICAgICB0aGUgZm9sbG93aW5nIGl0ZW1zOiAKKyAgICAgPGl0ZW1pemVkbGlzdD4gCQorICAgICAgPGxpc3RpdGVtPgorICAgICAgIDxwYXJhPgorICAgICAgICA8Z3VpbWVudWl0ZW0+UHJvcGVydGllcy4uLjwvZ3VpbWVudWl0ZW0+ICZtZGFzaDsgVGhpcyBtZW51CisgICAgICAgIGl0ZW0gb3BlbnMgdGhlIDxpbnRlcmZhY2U+UHJvcGVydGllczwvaW50ZXJmYWNlPiBkaWFsb2cgKHNlZQorICAgICAgICA8eHJlZiBsaW5rZW5kPSJHTk9NRUFQUExFVC1wcm9wZXJ0aWVzIj4pIHdoaWNoIGFsbG93cyB5b3UgdG8KKyAgICAgICAgY3VzdG9taXplIHRoZSBhcHBlYXJhbmNlIGFuZCBiZWhhdmlvciBvZiB0aGlzIGFwcGxldC4KKyAgICAgICA8L3BhcmE+CisgICAgICA8L2xpc3RpdGVtPgorICAgICAgPGxpc3RpdGVtPgorICAgICAgIDxwYXJhPgorICAgICAgICA8Z3VpbWVudWl0ZW0+UnVuIEhlbGxvIFdvcmxkLi4uPC9ndWltZW51aXRlbT4gJm1kYXNoOyBUaGlzCisgICAgICAgIG1lbnUgaXRlbSBzdGFydHMgdGhlIHByb2dyYW0gPGFwcGxpY2F0aW9uPkhlbGxvCisgICAgICAgIFdvcmxkPC9hcHBsaWNhdGlvbj4sIHVzZWQgdG8gc2F5ICJoZWxsbyIgdG8gdGhlIHdvcmxkLiAKKyAgICAgICA8L3BhcmE+CisgICAgICA8L2xpc3RpdGVtPgorICAgICA8L2l0ZW1pemVkbGlzdD4KKyAgICA8L3BhcmE+CisgICA8L3NlY3QyPgorCisgICA8c2VjdDIgaWQ9IkdOT01FQVBQTEVULXByb3BlcnRpZXMiPgorICAgIDx0aXRsZT5Qcm9wZXJ0aWVzPC90aXRsZT4KKyAgICA8cGFyYT4KKyAgICAgWW91IGNhbiBjb25maWd1cmUgPGFwcGxpY2F0aW9uPkdOT01FQVBQTEVUPC9hcHBsaWNhdGlvbj4gYXBwbGV0IGJ5CisgICAgIHJpZ2h0LWNsaWNraW5nIG9uIHRoZSBhcHBsZXQgYW5kIGNob29zaW5nIHRoZQorICAgICA8Z3VpbWVudWl0ZW0+UHJvcGVydGllcy4uLjwvZ3VpbWVudWl0ZW0+IG1lbnUgaXRlbS4gVGhpcyB3aWxsIG9wZW4gdGhlCisgICAgIDxpbnRlcmZhY2U+UHJvcGVydGllczwvaW50ZXJmYWNlPiBkaWFsb2csIHNob3duIGluIDx4cmVmCisgICAgIGxpbmtlbmQ9IkdOT01FQVBQTEVULXByb3BlcnRpZXMtZmlnIj4uCisgICAgPC9wYXJhPgorICAgIDxmaWd1cmUgaWQ9IkdOT01FQVBQTEVULXByb3BlcnRpZXMtZmlnIj4KKyAgICAgPHRpdGxlPlByb3BlcnRpZXMgRGlhbG9nPC90aXRsZT4KKyAgICAgPHNjcmVlbnNob3Q+CisgICAgICA8c2NyZWVuaW5mbz5Qcm9wZXJ0aWVzIERpYWxvZzwvc2NyZWVuaW5mbz4gCisgICAgICA8Z3JhcGhpYyBmb3JtYXQ9InBuZyIgZmlsZXJlZj0iR05PTUVBUFBMRVQtcHJvcGVydGllcyIgc3JjY3JlZGl0PSJNRSI+CisgICAgICA8L2dyYXBoaWM+CisgICAgIDwvc2NyZWVuc2hvdD4KKyAgICA8L2ZpZ3VyZT4KKyAgICAKKyAgICA8cGFyYT4gCisgICAgIFRvIGNoYW5nZSB0aGUgY29sb3Igb2YgdGhlIGFwcGxldCwgY2xpY2sgb24gdGhlCisgICAgIDxndWlidXR0b24+Y29sb3I8L2d1aWJ1dHRvbj4gYnV0dG9uLiBUbyBjaGFuZ2Ugb3RoZXIgcHJvcGVydGllcywKKyAgICAgY2xpY2sgb24gb3RoZXIgYnV0dG9ucy4gCisgICAgPC9wYXJhPgorCisgICAgPHBhcmE+CisgICAgIEZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHRoZSA8aW50ZXJmYWNlPlByb3BlcnRpZXM8L2ludGVyZmFjZT4KKyAgICAgZGlhbG9nLCBpbmNsdWRpbmcgZGVzY3JpcHRpb25zIG9mIHRoZSA8Z3VpYnV0dG9uPk9LPC9ndWlidXR0b24+LAorICAgICA8Z3VpYnV0dG9uPkFwcGx5PC9ndWlidXR0b24+LCA8Z3VpYnV0dG9uPkNhbmNlbDwvZ3VpYnV0dG9uPiwgYW5kCisgICAgIDxndWlidXR0b24+SGVscDwvZ3VpYnV0dG9uPiBidXR0b25zLCBzZWUgPHhyZWYKKyAgICAgbGlua2VuZD0iYXBwbGV0LXByb3BlcnRpZXMtZGlhbG9nIj4uCisgICAgPC9wYXJhPgorICAgPC9zZWN0Mj4KKyAgCisgICA8c2VjdDIgaWQ9IkdOT01FQVBQTEVULWJ1Z3MiPgorICAgIDx0aXRsZT4gS25vd24gQnVncyBhbmQgTGltaXRhdGlvbnM8L3RpdGxlPgorICAgIDxwYXJhPgorICAgICBUaGVyZSBhcmUgbm8ga25vd24gYnVncyBpbiB0aGUKKyAgICAgPGFwcGxpY2F0aW9uPkdOT01FQVBQTEVUPC9hcHBsaWNhdGlvbj4gYXBwbGV0LiAKKyAgICA8L3BhcmE+CisgICA8L3NlY3QyPgorCisgICA8c2VjdDIgaWQ9IkdOT01FQVBQTEVULWF1dGhvcnMiPgorICAgIDx0aXRsZT5BdXRob3JzPC90aXRsZT4KKyAgICA8cGFyYT4KKyAgICAgVGhpcyBhcHBsZXQgd2FzIHdyaXRlbiBieSBIQUNLRVItTkFNRQorICAgICA8ZW1haWw+SEFDS0VSLUVNQUlMPC9lbWFpbD4uICBUaGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhpcyBhcHBsZXQKKyAgICAgd2hpY2ggeW91IGFyZSByZWFkaW5nIG5vdyB3YXMgd3JpdHRlbiBieQorICAgICBZT1VSLU5BTUUgPGVtYWlsPllPVVItRU1BSUw8L2VtYWlsPi4gRm9yIGluZm9ybWF0aW9uIG9uIHN1Ym1pdHRpbmcKKyAgICAgYnVnIHJlcG9ydHMgYW5kIHN1Z2dlc3Rpb25zIGZvciBpbXByb3ZlbWVudHMsIHNlZSA8eHJlZgorICAgICBsaW5rZW5kPSJmZWVkYmFjayI+LiAKKyAgICA8L3BhcmE+CisgICA8L3NlY3QyPgorCisgIDwvc2VjdDE+CisKKworCisKKworXV0+CisKKworPC9wcm9ncmFtbGlzdGluZz4KKyAgICAgIDwvcGFyYT4KKyAgICA8L3NlY3QxPgorCis8IS0tICMjIyMjIyMgRG9jdW1lbnQgVGVtcGxhdGVzIHwgVGVtcGxhdGVzIDM6IEFwcGxpY2F0aW9uIEhlbHAgIyMjIyMjIyAKKworICAgIDxzZWN0MSBpZD0idGVtcGxhdGUzIj4KKyAgICAgIDx0aXRsZT5UZW1wbGF0ZSAyOiBBcHBsaWNhdGlvbiBIZWxwPC90aXRsZT4KKyAgICAgIDxwcm9ncmFtbGlzdGluZz4KKzwhW0NEQVRBWyhQdXQgc2dtbCBoZXJlLildXT4gPC9wcm9ncmFtbGlzdGluZz4KKyAgICA8L3NlY3QxPgorCisjIyMjIyMjIERvY3VtZW50IFRlbXBsYXRlcyB8IFRlbXBsYXRlcyA0OiBBcHBsaWNhdGlvbiBDb250ZXh0IFNlbnNpdGl2ZSBIZWxwICMjIyMjIyMKKworICAgIDxzZWN0MSBpZD0idGVtcGxhdGU0Ij4KKyAgICAgIDx0aXRsZT5UZW1wbGF0ZSAzOiBBcHBsaWNhdGlvbiBDb250ZXh0IFNlbnNpdGl2ZSBIZWxwPC90aXRsZT4KKyAgICAgIDxwYXJhPgorICAgICAgICBDb250ZXh0IHNlbnNpdGl2ZSBoZWxwIGlzIHN0aWxsIGluIGRldmVsb3BtZW50LgorICAgICAgPC9wYXJhPgorICAgIDwvc2VjdDE+CisKKyMjIyMjIyMgRG9jdW1lbnQgVGVtcGxhdGVzIHwgVGVtcGxhdGVzIDU6IENvbXBsZXRlIEFwcGxpY2F0aW9uOiBnbm9tZS1oZWxsbyAgIyMjIyMjIyAKKworICAgIDxzZWN0MSBpZD0idGVtcGxhdGU1Ij4KKyAgICAgIDx0aXRsZT5UZW1wbGF0ZSA0OiBDb21wbGV0ZSBBcHBsaWNhdGlvbjogZ25vbWUtaGVsbG88L3RpdGxlPgorICAgICAgPHByb2dyYW1saXN0aW5nPgorPCFbQ0RBVEFbKFB1dCBzZ21sIGhlcmUuKV1dPgorICAgICAgPC9wcm9ncmFtbGlzdGluZz4gIAorICAgIDwvc2VjdDE+CisKKyMjIyMjIyMgRG9jdW1lbnQgVGVtcGxhdGVzIHwgVGVtcGxhdGVzIDY6IFR1dG9yaWFsICMjIyMjIyMgCisKKyAgICA8c2VjdDEgaWQ9InRlbXBsYXRlNiI+CisgICAgICA8dGl0bGU+VGVtcGxhdGUgNTogVHV0b3JpYWw8L3RpdGxlPgorICAgICAgPHByb2dyYW1saXN0aW5nPgorPCFbQ0RBVEFbKFB1dCBzZ21sIGhlcmUuKV1dPgorICAgICAgPC9wcm9ncmFtbGlzdGluZz4gIAorICAgIDwvc2VjdDE+LS0+CisgIDwvYXBwZW5kaXg+CisKKzwvYXJ0aWNsZT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL2VtcHR5MC5ybmcgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy9lbXB0eTAucm5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRiZTRmNWUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy9lbXB0eTAucm5nCkBAIC0wLDAgKzEsMTYgQEAKKzxncmFtbWFyIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+CisgIDxzdGFydD4KKyAgICA8cmVmIG5hbWU9InRvcCIvPgorICA8L3N0YXJ0PgorICA8ZGVmaW5lIG5hbWU9ImVtcHR5Ij4KKyAgICA8ZW1wdHkvPgorICA8L2RlZmluZT4KKyAgPGRlZmluZSBuYW1lPSJ0b3AiPgorICAgIDxlbGVtZW50IG5hbWU9InRvcCI+CisJPHJlZiBuYW1lPSJlbXB0eSIvPgorCTxlbGVtZW50IG5hbWU9ImEiPgorCSAgPHRleHQvPgorCTwvZWxlbWVudD4KKyAgICA8L2VsZW1lbnQ+CisgIDwvZGVmaW5lPgorPC9ncmFtbWFyPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvZW1wdHkwXzAueG1sIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvZW1wdHkwXzAueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMyYjQyYmMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy9lbXB0eTBfMC54bWwKQEAgLTAsMCArMSwzIEBACis8dG9wPgorICA8YS8+Cis8L3RvcD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL2VtcHR5MS5ybmcgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy9lbXB0eTEucm5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ1ZGNlZmYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy9lbXB0eTEucm5nCkBAIC0wLDAgKzEsMTggQEAKKzxncmFtbWFyIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+CisgIDxzdGFydD4KKyAgICA8cmVmIG5hbWU9InRvcCIvPgorICA8L3N0YXJ0PgorICA8ZGVmaW5lIG5hbWU9ImVtcHR5Ij4KKyAgICA8ZW1wdHkvPgorICA8L2RlZmluZT4KKyAgPGRlZmluZSBuYW1lPSJ0b3AiPgorICAgIDxlbGVtZW50IG5hbWU9InRvcCI+CisgICAgICA8Y2hvaWNlPgorICAgICAgICA8cmVmIG5hbWU9ImVtcHR5Ii8+CisgICAgICAgIDxlbGVtZW50IG5hbWU9ImEiPgorCSAgPHRleHQvPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2Nob2ljZT4KKyAgICA8L2VsZW1lbnQ+CisgIDwvZGVmaW5lPgorPC9ncmFtbWFyPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvZW1wdHkxXzAueG1sIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvZW1wdHkxXzAueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMyYjQyYmMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy9lbXB0eTFfMC54bWwKQEAgLTAsMCArMSwzIEBACis8dG9wPgorICA8YS8+Cis8L3RvcD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL2VtcHR5MV8xLnhtbCBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL2VtcHR5MV8xLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNWEwNGE3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvZW1wdHkxXzEueG1sCkBAIC0wLDAgKzEsMiBAQAorPHRvcD4KKzwvdG9wPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvaW5saW5lLnJuZyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL2lubGluZS5ybmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2I0MDk1OQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL2lubGluZS5ybmcKQEAgLTAsMCArMSwyMCBAQAorPGdyYW1tYXIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4KKyAgPHN0YXJ0PgorICAgIDxyZWYgbmFtZT0iaW5saW5lIi8+CisgIDwvc3RhcnQ+CisKKyAgPGRlZmluZSBuYW1lPSJpbmxpbmUiPgorICAgIDx6ZXJvT3JNb3JlPgorICAgICAgPGNob2ljZT4KKyAgICAgICAgPHRleHQvPgorICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIj4KKyAgICAgICAgICA8cmVmIG5hbWU9ImlubGluZSIvPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICAgIDxlbGVtZW50IG5hbWU9ImVtIj4KKyAgICAgICAgICA8cmVmIG5hbWU9ImlubGluZSIvPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICAgIDwhLS0gZXRjIC0tPgorICAgICAgPC9jaG9pY2U+CisgICAgPC96ZXJvT3JNb3JlPgorICA8L2RlZmluZT4KKzwvZ3JhbW1hcj4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL2lubGluZTIucm5nIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvaW5saW5lMi5ybmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDg4ZGMyYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL2lubGluZTIucm5nCkBAIC0wLDAgKzEsMjEgQEAKKzxncmFtbWFyIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+CisKKyAgPGRlZmluZSBuYW1lPSJpbmxpbmUiPgorICAgIDx6ZXJvT3JNb3JlPgorICAgICAgPHJlZiBuYW1lPSJpbmxpbmUuY2xhc3MiLz4KKyAgICA8L3plcm9Pck1vcmU+CisgIDwvZGVmaW5lPgorCisgIDxkZWZpbmUgbmFtZT0iaW5saW5lLmNsYXNzIj4KKyAgICA8Y2hvaWNlPgorICAgICAgPHRleHQvPgorICAgICAgPGVsZW1lbnQgbmFtZT0iYm9sZCI+CisJPHJlZiBuYW1lPSJpbmxpbmUiLz4KKyAgICAgIDwvZWxlbWVudD4KKyAgICAgIDxlbGVtZW50IG5hbWU9Iml0YWxpYyI+CisJPHJlZiBuYW1lPSJpbmxpbmUiLz4KKyAgICAgIDwvZWxlbWVudD4KKyAgICA8L2Nob2ljZT4KKyAgPC9kZWZpbmU+CisKKzwvZ3JhbW1hcj4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL2lubGluZTMucm5nIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvaW5saW5lMy5ybmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzJmOWRiNgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL2lubGluZTMucm5nCkBAIC0wLDAgKzEsMjIgQEAKKzxncmFtbWFyIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+CisKKyAgPGRlZmluZSBuYW1lPSJpbmxpbmUiPgorICAgIDx6ZXJvT3JNb3JlPgorICAgICAgPGNob2ljZT4KKwk8dGV4dC8+CisJPGVsZW1lbnQgbmFtZT0iYm9sZCI+CisJICA8cmVmIG5hbWU9ImlubGluZSIvPgorCTwvZWxlbWVudD4KKwk8ZWxlbWVudCBuYW1lPSJpdGFsaWMiPgorCSAgPHJlZiBuYW1lPSJpbmxpbmUiLz4KKwk8L2VsZW1lbnQ+CisJPHJlZiBuYW1lPSJpbmxpbmUuZXh0cmEiLz4KKyAgICAgIDwvY2hvaWNlPgorICAgIDwvemVyb09yTW9yZT4KKyAgPC9kZWZpbmU+CisKKyAgPGRlZmluZSBuYW1lPSJpbmxpbmUuZXh0cmEiPgorICAgIDxub3RBbGxvd2VkLz4KKyAgPC9kZWZpbmU+CisKKzwvZ3JhbW1hcj4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL2ludGVybGVhdmUwXzAucm5nIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvaW50ZXJsZWF2ZTBfMC5ybmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjEwNTU0OQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL2ludGVybGVhdmUwXzAucm5nCkBAIC0wLDAgKzEsMjQgQEAKKzxlbGVtZW50IG5hbWU9ImFkZHJlc3NCb29rIiAgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4KKyAgPHplcm9Pck1vcmU+CisgICAgPGVsZW1lbnQgbmFtZT0iY2FyZCI+CisgICAgICA8aW50ZXJsZWF2ZT4KKyAgICAgICAgPHplcm9Pck1vcmU+CisJICA8ZWxlbWVudCBuYW1lPSJuYW1lIj4KKwkgICAgPHRleHQvPgorCSAgPC9lbGVtZW50PgorCSAgPGVsZW1lbnQgbmFtZT0iZW1haWwiPgorCSAgICA8dGV4dC8+CisJICA8L2VsZW1lbnQ+CisgICAgICAgIDwvemVyb09yTW9yZT4KKyAgICAgICAgPHplcm9Pck1vcmU+CisJICA8ZWxlbWVudCBuYW1lPSJjb21wYW55Ij4KKwkgICAgPHRleHQvPgorCSAgPC9lbGVtZW50PgorCSAgPGVsZW1lbnQgbmFtZT0iZW1haWwiPgorCSAgICA8dGV4dC8+CisJICA8L2VsZW1lbnQ+CisgICAgICAgIDwvemVyb09yTW9yZT4KKyAgICAgIDwvaW50ZXJsZWF2ZT4KKyAgICA8L2VsZW1lbnQ+CisgIDwvemVyb09yTW9yZT4KKzwvZWxlbWVudD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL2ludGVybGVhdmUxXzAucm5nIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvaW50ZXJsZWF2ZTFfMC5ybmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZThlOTRkMAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL2ludGVybGVhdmUxXzAucm5nCkBAIC0wLDAgKzEsMTUgQEAKKzxlbGVtZW50IG5hbWU9ImRvYyIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4KKyAgPGludGVybGVhdmU+CisgICAgPGVsZW1lbnQgbmFtZT0iYSI+CisgICAgICA8ZW1wdHkvPgorICAgIDwvZWxlbWVudD4KKyAgICA8emVyb09yTW9yZT4KKyAgICAgIDxlbGVtZW50IG5hbWU9ImIiPgorICAgICAgICA8ZW1wdHkvPgorICAgICAgPC9lbGVtZW50PgorICAgIDwvemVyb09yTW9yZT4KKyAgPC9pbnRlcmxlYXZlPgorICA8ZWxlbWVudCBuYW1lPSJjIj4KKyAgICA8ZW1wdHkvPgorICA8L2VsZW1lbnQ+Cis8L2VsZW1lbnQ+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy9saWJ2aXJ0LnJuZyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL2xpYnZpcnQucm5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMxZjU4NmUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy9saWJ2aXJ0LnJuZwpAQCAtMCwwICsxLDEyNTggQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPGdyYW1tYXIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgIDwhLS0gV2UgaGFuZGxlIG9ubHkgZG9jdW1lbnQgZGVmaW5pbmcgYSBkb21haW4gLS0+CisgIDxzdGFydD4KKyAgICA8cmVmIG5hbWU9ImRvbWFpbiIvPgorICA8L3N0YXJ0PgorCisgIDwhLS0KKyAgICAgIFdlIGhhbmRsZSBvbmx5IGRvY3VtZW50IGRlZmluaW5nIGEgZG9tYWluCisgICAgLS0+CisgIDxkZWZpbmUgbmFtZT0iZG9tYWluIj4KKyAgICA8ZWxlbWVudCBuYW1lPSJkb21haW4iPgorICAgICAgPHJlZiBuYW1lPSJodnMiLz4KKyAgICAgIDxyZWYgbmFtZT0iaWRzIi8+CisgICAgICA8aW50ZXJsZWF2ZT4KKyAgICAgICAgPHJlZiBuYW1lPSJvcyIvPgorICAgICAgICA8cmVmIG5hbWU9ImNsb2NrIi8+CisgICAgICAgIDxyZWYgbmFtZT0icmVzb3VyY2VzIi8+CisgICAgICAgIDxyZWYgbmFtZT0iZmVhdHVyZXMiLz4KKyAgICAgICAgPHJlZiBuYW1lPSJ0ZXJtaW5hdGlvbiIvPgorICAgICAgICA8b3B0aW9uYWw+CisgICAgICAgICAgPHJlZiBuYW1lPSJkZXZpY2VzIi8+CisgICAgICAgIDwvb3B0aW9uYWw+CisgICAgICAgIDxvcHRpb25hbD4KKyAgICAgICAgICA8cmVmIG5hbWU9InNlY2xhYmVsIi8+CisgICAgICAgIDwvb3B0aW9uYWw+CisgICAgICA8L2ludGVybGVhdmU+CisgICAgPC9lbGVtZW50PgorICA8L2RlZmluZT4KKyAgPGRlZmluZSBuYW1lPSJzZWNsYWJlbCI+CisgICAgPGVsZW1lbnQgbmFtZT0ic2VjbGFiZWwiPgorICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJtb2RlbCI+CisgICAgICAgIDx0ZXh0Lz4KKyAgICAgIDwvYXR0cmlidXRlPgorICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJ0eXBlIj4KKyAgICAgICAgPGNob2ljZT4KKyAgICAgICAgICA8dmFsdWU+ZHluYW1pYzwvdmFsdWU+CisgICAgICAgICAgPHZhbHVlPnN0YXRpYzwvdmFsdWU+CisgICAgICAgIDwvY2hvaWNlPgorICAgICAgPC9hdHRyaWJ1dGU+CisgICAgICA8ZWxlbWVudCBuYW1lPSJsYWJlbCI+CisgICAgICAgIDx0ZXh0Lz4KKyAgICAgIDwvZWxlbWVudD4KKyAgICA8L2VsZW1lbnQ+CisgIDwvZGVmaW5lPgorICA8ZGVmaW5lIG5hbWU9Imh2cyI+CisgICAgPGF0dHJpYnV0ZSBuYW1lPSJ0eXBlIj4KKyAgICAgIDxjaG9pY2U+CisgICAgICAgIDx2YWx1ZT54ZW48L3ZhbHVlPgorICAgICAgICA8dmFsdWU+a3ZtPC92YWx1ZT4KKyAgICAgICAgPHZhbHVlPmtxZW11PC92YWx1ZT4KKyAgICAgICAgPHZhbHVlPnFlbXU8L3ZhbHVlPgorICAgICAgICA8dmFsdWU+bHhjPC92YWx1ZT4KKyAgICAgICAgPHZhbHVlPm9wZW52ejwvdmFsdWU+CisgICAgICAgIDx2YWx1ZT50ZXN0PC92YWx1ZT4KKyAgICAgIDwvY2hvaWNlPgorICAgIDwvYXR0cmlidXRlPgorICA8L2RlZmluZT4KKyAgPGRlZmluZSBuYW1lPSJvcyI+CisgICAgPGNob2ljZT4KKyAgICAgIDxyZWYgbmFtZT0ib3N4ZW4iLz4KKyAgICAgIDxyZWYgbmFtZT0ib3Nodm0iLz4KKyAgICAgIDxyZWYgbmFtZT0ib3NleGUiLz4KKyAgICA8L2Nob2ljZT4KKyAgPC9kZWZpbmU+CisgIDxkZWZpbmUgbmFtZT0ib3N4ZW4iPgorICAgIDxjaG9pY2U+CisgICAgICA8Z3JvdXA+CisgICAgICAgIDxvcHRpb25hbD4KKyAgICAgICAgICA8cmVmIG5hbWU9ImJvb3Rsb2FkZXIiLz4KKyAgICAgICAgPC9vcHRpb25hbD4KKyAgICAgICAgPGVsZW1lbnQgbmFtZT0ib3MiPgorICAgICAgICAgIDxyZWYgbmFtZT0ib3N0eXBleGVuIi8+CisgICAgICAgICAgPHJlZiBuYW1lPSJvc2Jvb3RrZXJuZWwiLz4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9ncm91cD4KKyAgICAgIDxncm91cD4KKyAgICAgICAgPHJlZiBuYW1lPSJib290bG9hZGVyIi8+CisgICAgICAgIDxvcHRpb25hbD4KKyAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJvcyI+CisgICAgICAgICAgICA8cmVmIG5hbWU9Im9zdHlwZXhlbiIvPgorICAgICAgICAgICAgPG9wdGlvbmFsPgorICAgICAgICAgICAgICA8cmVmIG5hbWU9Im9zYm9vdGtlcm5lbCIvPgorICAgICAgICAgICAgPC9vcHRpb25hbD4KKyAgICAgICAgICA8L2VsZW1lbnQ+CisgICAgICAgIDwvb3B0aW9uYWw+CisgICAgICA8L2dyb3VwPgorICAgIDwvY2hvaWNlPgorICA8L2RlZmluZT4KKyAgPGRlZmluZSBuYW1lPSJvc2h2bSI+CisgICAgPGVsZW1lbnQgbmFtZT0ib3MiPgorICAgICAgPHJlZiBuYW1lPSJvc3R5cGVodm0iLz4KKyAgICAgIDxpbnRlcmxlYXZlPgorICAgICAgICA8b3B0aW9uYWw+CisgICAgICAgICAgPGVsZW1lbnQgbmFtZT0ibG9hZGVyIj4KKyAgICAgICAgICAgIDxyZWYgbmFtZT0iYWJzRmlsZVBhdGgiLz4KKyAgICAgICAgICA8L2VsZW1lbnQ+CisgICAgICAgIDwvb3B0aW9uYWw+CisgICAgICAgIDxjaG9pY2U+CisgICAgICAgICAgPHJlZiBuYW1lPSJvc2Jvb3RrZXJuZWwiLz4KKyAgICAgICAgICA8cmVmIG5hbWU9Im9zYm9vdGRldiIvPgorICAgICAgICA8L2Nob2ljZT4KKyAgICAgIDwvaW50ZXJsZWF2ZT4KKyAgICA8L2VsZW1lbnQ+CisgIDwvZGVmaW5lPgorICA8ZGVmaW5lIG5hbWU9Im9zdHlwZXhlbiI+CisgICAgPGVsZW1lbnQgbmFtZT0idHlwZSI+CisgICAgICA8b3B0aW9uYWw+CisgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0iYXJjaCI+CisgICAgICAgICAgPGNob2ljZT4KKyAgICAgICAgICAgIDx2YWx1ZT5pNjg2PC92YWx1ZT4KKyAgICAgICAgICAgIDx2YWx1ZT54ODZfNjQ8L3ZhbHVlPgorICAgICAgICAgICAgPHZhbHVlPmlhNjQ8L3ZhbHVlPgorICAgICAgICAgIDwvY2hvaWNlPgorICAgICAgICA8L2F0dHJpYnV0ZT4KKyAgICAgIDwvb3B0aW9uYWw+CisgICAgICA8b3B0aW9uYWw+CisgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0ibWFjaGluZSI+CisgICAgICAgICAgPGNob2ljZT4KKyAgICAgICAgICAgIDx2YWx1ZT54ZW5wdjwvdmFsdWU+CisgICAgICAgICAgICA8dmFsdWU+eGVubmVyPC92YWx1ZT4KKyAgICAgICAgICA8L2Nob2ljZT4KKyAgICAgICAgPC9hdHRyaWJ1dGU+CisgICAgICA8L29wdGlvbmFsPgorICAgICAgPGNob2ljZT4KKyAgICAgICAgPHZhbHVlPnhlbjwvdmFsdWU+CisgICAgICAgIDx2YWx1ZT5saW51eDwvdmFsdWU+CisgICAgICA8L2Nob2ljZT4KKyAgICA8L2VsZW1lbnQ+CisgIDwvZGVmaW5lPgorICA8ZGVmaW5lIG5hbWU9Im9zdHlwZWh2bSI+CisgICAgPGVsZW1lbnQgbmFtZT0idHlwZSI+CisgICAgICA8b3B0aW9uYWw+CisgICAgICAgIDxjaG9pY2U+CisgICAgICAgICAgPHJlZiBuYW1lPSJodm14ODYiLz4KKyAgICAgICAgICA8cmVmIG5hbWU9Imh2bW1pcHMiLz4KKyAgICAgICAgICA8cmVmIG5hbWU9Imh2bXNwYXJjIi8+CisgICAgICAgICAgPHJlZiBuYW1lPSJodm1wcGMiLz4KKyAgICAgICAgPC9jaG9pY2U+CisgICAgICA8L29wdGlvbmFsPgorICAgICAgPHZhbHVlPmh2bTwvdmFsdWU+CisgICAgPC9lbGVtZW50PgorICA8L2RlZmluZT4KKyAgPGRlZmluZSBuYW1lPSJodm14ODYiPgorICAgIDxncm91cD4KKyAgICAgIDxhdHRyaWJ1dGUgbmFtZT0iYXJjaCI+CisgICAgICAgIDxjaG9pY2U+CisgICAgICAgICAgPHZhbHVlPmk2ODY8L3ZhbHVlPgorICAgICAgICAgIDx2YWx1ZT54ODZfNjQ8L3ZhbHVlPgorICAgICAgICA8L2Nob2ljZT4KKyAgICAgIDwvYXR0cmlidXRlPgorICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJtYWNoaW5lIj4KKyAgICAgICAgPGNob2ljZT4KKyAgICAgICAgICA8dmFsdWU+eGVuZnY8L3ZhbHVlPgorICAgICAgICAgIDx2YWx1ZT5wYzwvdmFsdWU+CisgICAgICAgICAgPHZhbHVlPmlzYXBjPC92YWx1ZT4KKyAgICAgICAgPC9jaG9pY2U+CisgICAgICA8L2F0dHJpYnV0ZT4KKyAgICA8L2dyb3VwPgorICA8L2RlZmluZT4KKyAgPGRlZmluZSBuYW1lPSJodm1taXBzIj4KKyAgICA8Z3JvdXA+CisgICAgICA8YXR0cmlidXRlIG5hbWU9ImFyY2giPgorICAgICAgICA8dmFsdWU+bWlwczwvdmFsdWU+CisgICAgICA8L2F0dHJpYnV0ZT4KKyAgICAgIDxhdHRyaWJ1dGUgbmFtZT0ibWFjaGluZSI+CisgICAgICAgIDx2YWx1ZT5taXBzPC92YWx1ZT4KKyAgICAgIDwvYXR0cmlidXRlPgorICAgIDwvZ3JvdXA+CisgIDwvZGVmaW5lPgorICA8ZGVmaW5lIG5hbWU9Imh2bXNwYXJjIj4KKyAgICA8Z3JvdXA+CisgICAgICA8YXR0cmlidXRlIG5hbWU9ImFyY2giPgorICAgICAgICA8dmFsdWU+c3BhcmM8L3ZhbHVlPgorICAgICAgPC9hdHRyaWJ1dGU+CisgICAgICA8YXR0cmlidXRlIG5hbWU9Im1hY2hpbmUiPgorICAgICAgICA8dmFsdWU+c3VuNG08L3ZhbHVlPgorICAgICAgPC9hdHRyaWJ1dGU+CisgICAgPC9ncm91cD4KKyAgPC9kZWZpbmU+CisgIDxkZWZpbmUgbmFtZT0iaHZtcHBjIj4KKyAgICA8Z3JvdXA+CisgICAgICA8YXR0cmlidXRlIG5hbWU9ImFyY2giPgorICAgICAgICA8dmFsdWU+cHBjPC92YWx1ZT4KKyAgICAgIDwvYXR0cmlidXRlPgorICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJtYWNoaW5lIj4KKyAgICAgICAgPGNob2ljZT4KKyAgICAgICAgICA8dmFsdWU+ZzNiZWlnZTwvdmFsdWU+CisgICAgICAgICAgPHZhbHVlPm1hYzk5PC92YWx1ZT4KKyAgICAgICAgICA8dmFsdWU+cHJlcDwvdmFsdWU+CisgICAgICAgIDwvY2hvaWNlPgorICAgICAgPC9hdHRyaWJ1dGU+CisgICAgPC9ncm91cD4KKyAgPC9kZWZpbmU+CisgIDxkZWZpbmUgbmFtZT0ib3NleGUiPgorICAgIDxlbGVtZW50IG5hbWU9Im9zIj4KKyAgICAgIDxlbGVtZW50IG5hbWU9InR5cGUiPgorICAgICAgICA8dmFsdWU+ZXhlPC92YWx1ZT4KKyAgICAgIDwvZWxlbWVudD4KKyAgICAgIDxpbnRlcmxlYXZlPgorICAgICAgICA8b3B0aW9uYWw+CisgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iaW5pdCI+CisgICAgICAgICAgICA8cmVmIG5hbWU9ImFic0ZpbGVQYXRoIi8+CisgICAgICAgICAgPC9lbGVtZW50PgorICAgICAgICA8L29wdGlvbmFsPgorICAgICAgPC9pbnRlcmxlYXZlPgorICAgIDwvZWxlbWVudD4KKyAgPC9kZWZpbmU+CisgIDwhLS0KKyAgICAgIFRoZSBJZGVudGlmaWVycyBjYW4gYmU6CisgICAgICAtIGFuIG9wdGlvbmFsIGlkIGF0dHJpYnV0ZSB3aXRoIGEgbnVtYmVyIG9uIHRoZSBkb21haW4gZWxlbWVudAorICAgICAgLSBhIG1hbmRhdG9yeSBuYW1lCisgICAgICAtIGFuIG9wdGlvbmFsIHV1aWQKKyAgICAtLT4KKyAgPGRlZmluZSBuYW1lPSJpZHMiPgorICAgIDxvcHRpb25hbD4KKyAgICAgIDxhdHRyaWJ1dGUgbmFtZT0iaWQiPgorICAgICAgICA8cmVmIG5hbWU9InVuc2lnbmVkSW50Ii8+CisgICAgICA8L2F0dHJpYnV0ZT4KKyAgICA8L29wdGlvbmFsPgorICAgIDxpbnRlcmxlYXZlPgorICAgICAgPGVsZW1lbnQgbmFtZT0ibmFtZSI+CisgICAgICAgIDxyZWYgbmFtZT0iZG9tYWluTmFtZSIvPgorICAgICAgPC9lbGVtZW50PgorICAgICAgPG9wdGlvbmFsPgorICAgICAgICA8ZWxlbWVudCBuYW1lPSJ1dWlkIj4KKyAgICAgICAgICA8cmVmIG5hbWU9IlVVSUQiLz4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9vcHRpb25hbD4KKyAgICA8L2ludGVybGVhdmU+CisgIDwvZGVmaW5lPgorICA8IS0tCisgICAgICBSZXNvdXJjZXMgdXNhZ2UgZGVmaW5lcyB0aGUgYW1vdW50IG9mIG1lbW9yeSAobWF4aW11bSBhbmQgcG9zc2libHkKKyAgICAgIGN1cnJlbnQgdXNhZ2UpIGFuZCBudW1iZXIgb2YgdmlydHVhbCBDUFVzIHVzZWQgYnkgdGhhdCBkb21haW4uCisgICAgICBXZSBjYW4ndCBjaGVjayBoZXJlIHRoZSBydWxlIHRoYXQgY3VycmVudE1lbW9yeSA8PSBtZW1vcnkKKyAgICAtLT4KKyAgPGRlZmluZSBuYW1lPSJyZXNvdXJjZXMiPgorICAgIDxpbnRlcmxlYXZlPgorICAgICAgPGVsZW1lbnQgbmFtZT0ibWVtb3J5Ij4KKyAgICAgICAgPHJlZiBuYW1lPSJtZW1vcnlLQiIvPgorICAgICAgPC9lbGVtZW50PgorICAgICAgPG9wdGlvbmFsPgorICAgICAgICA8ZWxlbWVudCBuYW1lPSJjdXJyZW50TWVtb3J5Ij4KKyAgICAgICAgICA8cmVmIG5hbWU9Im1lbW9yeUtCIi8+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvb3B0aW9uYWw+CisgICAgICA8b3B0aW9uYWw+CisJPGVsZW1lbnQgbmFtZT0ibWVtb3J5QmFja2luZyI+CisJICA8b3B0aW9uYWw+CisJICAgIDxlbGVtZW50IG5hbWU9Imh1Z2VwYWdlcyI+CisJICAgICAgPGVtcHR5Lz4KKwkgICAgPC9lbGVtZW50PgorCSAgPC9vcHRpb25hbD4KKwk8L2VsZW1lbnQ+CisgICAgICA8L29wdGlvbmFsPgorICAgICAgPG9wdGlvbmFsPgorICAgICAgICA8ZWxlbWVudCBuYW1lPSJ2Y3B1Ij4KKyAgICAgICAgICA8b3B0aW9uYWw+CisgICAgICAgICAgICA8YXR0cmlidXRlIG5hbWU9ImNwdXNldCIvPgorICAgICAgICAgIDwvb3B0aW9uYWw+CisgICAgICAgICAgPHJlZiBuYW1lPSJjb3VudENQVSIvPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L29wdGlvbmFsPgorICAgIDwvaW50ZXJsZWF2ZT4KKyAgPC9kZWZpbmU+CisgIDxkZWZpbmUgbmFtZT0iY2xvY2siPgorICAgIDxvcHRpb25hbD4KKyAgICAgIDxlbGVtZW50IG5hbWU9ImNsb2NrIj4KKyAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJvZmZzZXQiPgorICAgICAgICAgIDxjaG9pY2U+CisgICAgICAgICAgICA8dmFsdWU+bG9jYWx0aW1lPC92YWx1ZT4KKyAgICAgICAgICAgIDx2YWx1ZT51dGM8L3ZhbHVlPgorICAgICAgICAgIDwvY2hvaWNlPgorICAgICAgICA8L2F0dHJpYnV0ZT4KKyAgICAgICAgPGVtcHR5Lz4KKyAgICAgIDwvZWxlbWVudD4KKyAgICA8L29wdGlvbmFsPgorICA8L2RlZmluZT4KKyAgPCEtLQorICAgICAgQSBib290bG9hZGVyIG1heSBiZSB1c2VkIHRvIGV4dHJhY3QgdGhlIE9TIGluZm9ybWF0aW9uIGluc3RlYWQgb2YKKyAgICAgIGRlZmluaW5nIHRoZSBPUyBwYXJhbWV0ZXIgaW4gdGhlIGluc3RhbmNlLiBJdCBwb2ludHMganVzdCB0byB0aGUKKyAgICAgIGJpbmFyeSBvciBzY3JpcHQgdXNlZCB0byBleHRyYWN0IHRoZSBkYXRhIGZyb20gdGhlIGZpcnN0IGRpc2sgZGV2aWNlLgorICAgIC0tPgorICA8ZGVmaW5lIG5hbWU9ImJvb3Rsb2FkZXIiPgorICAgIDxpbnRlcmxlYXZlPgorICAgICAgPGVsZW1lbnQgbmFtZT0iYm9vdGxvYWRlciI+CisgICAgICAgIDxjaG9pY2U+CisgICAgICAgICAgPHJlZiBuYW1lPSJhYnNGaWxlUGF0aCIvPgorICAgICAgICAgIDxlbXB0eS8+CisgICAgICAgIDwvY2hvaWNlPgorICAgICAgPC9lbGVtZW50PgorICAgICAgPG9wdGlvbmFsPgorICAgICAgICA8ZWxlbWVudCBuYW1lPSJib290bG9hZGVyX2FyZ3MiPgorICAgICAgICAgIDx0ZXh0Lz4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9vcHRpb25hbD4KKyAgICA8L2ludGVybGVhdmU+CisgIDwvZGVmaW5lPgorICA8ZGVmaW5lIG5hbWU9Im9zYm9vdGtlcm5lbCI+CisgICAgPGludGVybGVhdmU+CisgICAgICA8ZWxlbWVudCBuYW1lPSJrZXJuZWwiPgorICAgICAgICA8cmVmIG5hbWU9ImFic0ZpbGVQYXRoIi8+CisgICAgICA8L2VsZW1lbnQ+CisgICAgICA8b3B0aW9uYWw+CisgICAgICAgIDxlbGVtZW50IG5hbWU9ImluaXRyZCI+CisgICAgICAgICAgPHJlZiBuYW1lPSJhYnNGaWxlUGF0aCIvPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L29wdGlvbmFsPgorICAgICAgPG9wdGlvbmFsPgorICAgICAgICA8ZWxlbWVudCBuYW1lPSJyb290Ij4KKyAgICAgICAgICA8cmVmIG5hbWU9ImRldmljZVBhdGgiLz4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9vcHRpb25hbD4KKyAgICAgIDxvcHRpb25hbD4KKyAgICAgICAgPGVsZW1lbnQgbmFtZT0iY21kbGluZSI+CisgICAgICAgICAgPHRleHQvPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L29wdGlvbmFsPgorICAgIDwvaW50ZXJsZWF2ZT4KKyAgPC9kZWZpbmU+CisgIDxkZWZpbmUgbmFtZT0ib3Nib290ZGV2Ij4KKyAgICA8ZWxlbWVudCBuYW1lPSJib290Ij4KKyAgICAgIDxhdHRyaWJ1dGUgbmFtZT0iZGV2Ij4KKyAgICAgICAgPGNob2ljZT4KKyAgICAgICAgICA8dmFsdWU+aGQ8L3ZhbHVlPgorICAgICAgICAgIDx2YWx1ZT5mZDwvdmFsdWU+CisgICAgICAgICAgPHZhbHVlPmNkcm9tPC92YWx1ZT4KKyAgICAgICAgICA8dmFsdWU+bmV0d29yazwvdmFsdWU+CisgICAgICAgIDwvY2hvaWNlPgorICAgICAgPC9hdHRyaWJ1dGU+CisgICAgICA8ZW1wdHkvPgorICAgIDwvZWxlbWVudD4KKyAgPC9kZWZpbmU+CisgIDxkZWZpbmUgbmFtZT0iZGlza3NwZWMiPgorICAgIDxvcHRpb25hbD4KKyAgICAgIDxyZWYgbmFtZT0iZHJpdmVyIi8+CisgICAgPC9vcHRpb25hbD4KKyAgICA8cmVmIG5hbWU9InRhcmdldCIvPgorICAgIDxvcHRpb25hbD4KKyAgICAgIDxlbGVtZW50IG5hbWU9InJlYWRvbmx5Ij4KKyAgICAgICAgPGVtcHR5Lz4KKyAgICAgIDwvZWxlbWVudD4KKyAgICA8L29wdGlvbmFsPgorICAgIDxvcHRpb25hbD4KKyAgICAgIDxlbGVtZW50IG5hbWU9InNoYXJlYWJsZSI+CisgICAgICAgIDxlbXB0eS8+CisgICAgICA8L2VsZW1lbnQ+CisgICAgPC9vcHRpb25hbD4KKyAgICA8b3B0aW9uYWw+CisgICAgICA8ZWxlbWVudCBuYW1lPSJzZXJpYWwiPgorICAgICAgICA8cmVmIG5hbWU9ImRpc2tTZXJpYWwiLz4KKyAgICAgIDwvZWxlbWVudD4KKyAgICA8L29wdGlvbmFsPgorICA8L2RlZmluZT4KKyAgPCEtLQorICAgICAgQSBkaXNrIGRlc2NyaXB0aW9uIGNhbiBiZSBlaXRoZXIgb2YgdHlwZSBmaWxlIG9yIGJsb2NrCisgICAgICBUaGUgbmFtZSBvZiB0aGUgYXR0cmlidXRlIG9uIHRoZSBzb3VyY2UgZWxlbWVudCBkZXBlbmRzIG9uIHRoZSB0eXBlCisKKyAgICAtLT4KKyAgPGRlZmluZSBuYW1lPSJkaXNrIj4KKyAgICA8ZWxlbWVudCBuYW1lPSJkaXNrIj4KKyAgICAgIDxvcHRpb25hbD4KKyAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJkZXZpY2UiPgorICAgICAgICAgIDxjaG9pY2U+CisgICAgICAgICAgICA8dmFsdWU+ZmxvcHB5PC92YWx1ZT4KKyAgICAgICAgICAgIDx2YWx1ZT5kaXNrPC92YWx1ZT4KKyAgICAgICAgICAgIDx2YWx1ZT5jZHJvbTwvdmFsdWU+CisgICAgICAgICAgPC9jaG9pY2U+CisgICAgICAgIDwvYXR0cmlidXRlPgorICAgICAgPC9vcHRpb25hbD4KKyAgICAgIDxjaG9pY2U+CisgICAgICAgIDxncm91cD4KKyAgICAgICAgICA8YXR0cmlidXRlIG5hbWU9InR5cGUiPgorICAgICAgICAgICAgPHZhbHVlPmZpbGU8L3ZhbHVlPgorICAgICAgICAgIDwvYXR0cmlidXRlPgorICAgICAgICAgIDxpbnRlcmxlYXZlPgorICAgICAgICAgICAgPG9wdGlvbmFsPgorICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJzb3VyY2UiPgorICAgICAgICAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0iZmlsZSI+CisgICAgICAgICAgICAgICAgICA8cmVmIG5hbWU9ImFic0ZpbGVQYXRoIi8+CisgICAgICAgICAgICAgICAgPC9hdHRyaWJ1dGU+CisgICAgICAgICAgICAgICAgPGVtcHR5Lz4KKyAgICAgICAgICAgICAgPC9lbGVtZW50PgorICAgICAgICAgICAgPC9vcHRpb25hbD4KKyAgICAgICAgICAgIDxyZWYgbmFtZT0iZGlza3NwZWMiLz4KKyAgICAgICAgICA8L2ludGVybGVhdmU+CisgICAgICAgIDwvZ3JvdXA+CisgICAgICAgIDxncm91cD4KKyAgICAgICAgICA8YXR0cmlidXRlIG5hbWU9InR5cGUiPgorICAgICAgICAgICAgPHZhbHVlPmJsb2NrPC92YWx1ZT4KKyAgICAgICAgICA8L2F0dHJpYnV0ZT4KKyAgICAgICAgICA8aW50ZXJsZWF2ZT4KKyAgICAgICAgICAgIDxvcHRpb25hbD4KKyAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0ic291cmNlIj4KKyAgICAgICAgICAgICAgICA8YXR0cmlidXRlIG5hbWU9ImRldiI+CisgICAgICAgICAgICAgICAgICA8cmVmIG5hbWU9ImRldmljZU5hbWUiLz4KKyAgICAgICAgICAgICAgICA8L2F0dHJpYnV0ZT4KKyAgICAgICAgICAgICAgICA8ZW1wdHkvPgorICAgICAgICAgICAgICA8L2VsZW1lbnQ+CisgICAgICAgICAgICA8L29wdGlvbmFsPgorICAgICAgICAgICAgPHJlZiBuYW1lPSJkaXNrc3BlYyIvPgorICAgICAgICAgIDwvaW50ZXJsZWF2ZT4KKyAgICAgICAgPC9ncm91cD4KKyAgICAgICAgPHJlZiBuYW1lPSJkaXNrc3BlYyIvPgorICAgICAgPC9jaG9pY2U+CisgICAgPC9lbGVtZW50PgorICA8L2RlZmluZT4KKyAgPGRlZmluZSBuYW1lPSJ0YXJnZXQiPgorICAgIDxlbGVtZW50IG5hbWU9InRhcmdldCI+CisgICAgICA8YXR0cmlidXRlIG5hbWU9ImRldiI+CisgICAgICAgIDxyZWYgbmFtZT0iZGV2aWNlTmFtZSIvPgorICAgICAgPC9hdHRyaWJ1dGU+CisgICAgICA8b3B0aW9uYWw+CisgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0iYnVzIj4KKyAgICAgICAgICA8Y2hvaWNlPgorICAgICAgICAgICAgPHZhbHVlPmlkZTwvdmFsdWU+CisgICAgICAgICAgICA8dmFsdWU+ZmRjPC92YWx1ZT4KKyAgICAgICAgICAgIDx2YWx1ZT5zY3NpPC92YWx1ZT4KKyAgICAgICAgICAgIDx2YWx1ZT52aXJ0aW88L3ZhbHVlPgorICAgICAgICAgICAgPHZhbHVlPnhlbjwvdmFsdWU+CisgICAgICAgICAgICA8dmFsdWU+dXNiPC92YWx1ZT4KKyAgICAgICAgICAgIDx2YWx1ZT51bWw8L3ZhbHVlPgorICAgICAgICAgIDwvY2hvaWNlPgorICAgICAgICA8L2F0dHJpYnV0ZT4KKyAgICAgIDwvb3B0aW9uYWw+CisgICAgPC9lbGVtZW50PgorICA8L2RlZmluZT4KKyAgPCEtLQorICAgICAgRGlzayBtYXkgdXNlIGEgc3BlY2lhbCBkcml2ZXIgZm9yIGFjY2Vzcy4gQ3VycmVudGx5IHRoaXMgaXMKKyAgICAgIG9ubHkgZGVmaW5lZCBmb3IgWGVuIGZvciB0YXAvYWlvIGFuZCBmaWxlLCBidXQgd2lsbCBjZXJ0YWlubHkgYmUKKyAgICAgIGV4dGVuZGVkIGluIHRoZSBmdXR1cmUsIGFuZCBsaWJ2aXJ0IGRvZXNuJ3QgbG9vayBmb3Igc3BlY2lmaWMgdmFsdWVzLgorICAgIC0tPgorICA8ZGVmaW5lIG5hbWU9ImRyaXZlciI+CisgICAgPGVsZW1lbnQgbmFtZT0iZHJpdmVyIj4KKyAgICAgIDxjaG9pY2U+CisgICAgICAgIDxncm91cD4KKyAgICAgICAgICA8cmVmIG5hbWU9ImRyaXZlckZvcm1hdCIvPgorICAgICAgICAgIDxvcHRpb25hbD4KKyAgICAgICAgICAgIDxyZWYgbmFtZT0iZHJpdmVyQ2FjaGUiLz4KKyAgICAgICAgICA8L29wdGlvbmFsPgorICAgICAgICA8L2dyb3VwPgorICAgICAgICA8Z3JvdXA+CisgICAgICAgICAgPG9wdGlvbmFsPgorICAgICAgICAgICAgPHJlZiBuYW1lPSJkcml2ZXJGb3JtYXQiLz4KKyAgICAgICAgICA8L29wdGlvbmFsPgorICAgICAgICAgIDxyZWYgbmFtZT0iZHJpdmVyQ2FjaGUiLz4KKyAgICAgICAgPC9ncm91cD4KKyAgICAgIDwvY2hvaWNlPgorICAgICAgPGVtcHR5Lz4KKyAgICA8L2VsZW1lbnQ+CisgIDwvZGVmaW5lPgorICA8ZGVmaW5lIG5hbWU9ImRyaXZlckZvcm1hdCI+CisgICAgPGF0dHJpYnV0ZSBuYW1lPSJuYW1lIj4KKyAgICAgIDxyZWYgbmFtZT0iZ2VuZXJpY05hbWUiLz4KKyAgICA8L2F0dHJpYnV0ZT4KKyAgICA8b3B0aW9uYWw+CisgICAgICA8YXR0cmlidXRlIG5hbWU9InR5cGUiPgorICAgICAgICA8cmVmIG5hbWU9ImdlbmVyaWNOYW1lIi8+CisgICAgICA8L2F0dHJpYnV0ZT4KKyAgICA8L29wdGlvbmFsPgorICA8L2RlZmluZT4KKyAgPGRlZmluZSBuYW1lPSJkcml2ZXJDYWNoZSI+CisgICAgPGF0dHJpYnV0ZSBuYW1lPSJjYWNoZSI+CisgICAgICA8Y2hvaWNlPgorICAgICAgICA8dmFsdWU+bm9uZTwvdmFsdWU+CisgICAgICAgIDx2YWx1ZT53cml0ZWJhY2s8L3ZhbHVlPgorICAgICAgICA8dmFsdWU+d3JpdGV0aHJvdWdoPC92YWx1ZT4KKyAgICAgIDwvY2hvaWNlPgorICAgIDwvYXR0cmlidXRlPgorICA8L2RlZmluZT4KKyAgPGRlZmluZSBuYW1lPSJmaWxlc3lzdGVtIj4KKyAgICA8ZWxlbWVudCBuYW1lPSJmaWxlc3lzdGVtIj4KKyAgICAgIDxjaG9pY2U+CisgICAgICAgIDxncm91cD4KKyAgICAgICAgICA8YXR0cmlidXRlIG5hbWU9InR5cGUiPgorICAgICAgICAgICAgPHZhbHVlPmZpbGU8L3ZhbHVlPgorICAgICAgICAgIDwvYXR0cmlidXRlPgorICAgICAgICAgIDxpbnRlcmxlYXZlPgorICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0ic291cmNlIj4KKyAgICAgICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJmaWxlIj4KKyAgICAgICAgICAgICAgICA8cmVmIG5hbWU9ImFic0ZpbGVQYXRoIi8+CisgICAgICAgICAgICAgIDwvYXR0cmlidXRlPgorICAgICAgICAgICAgICA8ZW1wdHkvPgorICAgICAgICAgICAgPC9lbGVtZW50PgorICAgICAgICAgICAgPHJlZiBuYW1lPSJmaWxlc3lzdGVtdGd0Ii8+CisgICAgICAgICAgPC9pbnRlcmxlYXZlPgorICAgICAgICA8L2dyb3VwPgorICAgICAgICA8Z3JvdXA+CisgICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJ0eXBlIj4KKyAgICAgICAgICAgIDx2YWx1ZT5ibG9jazwvdmFsdWU+CisgICAgICAgICAgPC9hdHRyaWJ1dGU+CisgICAgICAgICAgPGludGVybGVhdmU+CisgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJzb3VyY2UiPgorICAgICAgICAgICAgICA8YXR0cmlidXRlIG5hbWU9ImRldiI+CisgICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJkZXZpY2VOYW1lIi8+CisgICAgICAgICAgICAgIDwvYXR0cmlidXRlPgorICAgICAgICAgICAgICA8ZW1wdHkvPgorICAgICAgICAgICAgPC9lbGVtZW50PgorICAgICAgICAgICAgPHJlZiBuYW1lPSJmaWxlc3lzdGVtdGd0Ii8+CisgICAgICAgICAgPC9pbnRlcmxlYXZlPgorICAgICAgICA8L2dyb3VwPgorICAgICAgICA8Z3JvdXA+CisgICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJ0eXBlIj4KKyAgICAgICAgICAgIDx2YWx1ZT5tb3VudDwvdmFsdWU+CisgICAgICAgICAgPC9hdHRyaWJ1dGU+CisgICAgICAgICAgPGludGVybGVhdmU+CisgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJzb3VyY2UiPgorICAgICAgICAgICAgICA8YXR0cmlidXRlIG5hbWU9ImRpciI+CisgICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJhYnNGaWxlUGF0aCIvPgorICAgICAgICAgICAgICA8L2F0dHJpYnV0ZT4KKyAgICAgICAgICAgICAgPGVtcHR5Lz4KKyAgICAgICAgICAgIDwvZWxlbWVudD4KKyAgICAgICAgICAgIDxyZWYgbmFtZT0iZmlsZXN5c3RlbXRndCIvPgorICAgICAgICAgIDwvaW50ZXJsZWF2ZT4KKyAgICAgICAgPC9ncm91cD4KKyAgICAgICAgPGdyb3VwPgorICAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0idHlwZSI+CisgICAgICAgICAgICA8dmFsdWU+dGVtcGxhdGU8L3ZhbHVlPgorICAgICAgICAgIDwvYXR0cmlidXRlPgorICAgICAgICAgIDxpbnRlcmxlYXZlPgorICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0ic291cmNlIj4KKyAgICAgICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJuYW1lIj4KKyAgICAgICAgICAgICAgICA8cmVmIG5hbWU9ImdlbmVyaWNOYW1lIi8+CisgICAgICAgICAgICAgIDwvYXR0cmlidXRlPgorICAgICAgICAgICAgICA8ZW1wdHkvPgorICAgICAgICAgICAgPC9lbGVtZW50PgorICAgICAgICAgICAgPHJlZiBuYW1lPSJmaWxlc3lzdGVtdGd0Ii8+CisgICAgICAgICAgPC9pbnRlcmxlYXZlPgorICAgICAgICA8L2dyb3VwPgorICAgICAgPC9jaG9pY2U+CisgICAgPC9lbGVtZW50PgorICA8L2RlZmluZT4KKyAgPGRlZmluZSBuYW1lPSJmaWxlc3lzdGVtdGd0Ij4KKyAgICA8ZWxlbWVudCBuYW1lPSJ0YXJnZXQiPgorICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJkaXIiPgorICAgICAgICA8cmVmIG5hbWU9ImFic0RpclBhdGgiLz4KKyAgICAgIDwvYXR0cmlidXRlPgorICAgICAgPGVtcHR5Lz4KKyAgICA8L2VsZW1lbnQ+CisgIDwvZGVmaW5lPgorICA8IS0tCisgICAgICBBbiBpbnRlcmZhY2UgZGVzY3JpcHRpb24gY2FuIGVpdGhlciBiZSBvZiB0eXBlIGJyaWRnZSBpbiB3aGljaCBjYXNlCisgICAgICBpdCB3aWxsIHVzZSBhIGJyaWRnaW5nIHNvdXJjZSwgb3Igb2YgdHlwZSBldGhlcm5ldCB3aGljaCB1c2VzIGEgZGV2aWNlCisgICAgICBzb3VyY2UgYW5kIGEgZGV2aWNlIHRhcmdldCBpbnN0ZWFkLiBUaGV5IGJvdGggc2hhcmUgYSBzZXQgb2YgaW50ZXJmYWNlCisgICAgICBvcHRpb25zLiBGSVhNRQorICAgIC0tPgorICA8ZGVmaW5lIG5hbWU9ImludGVyZmFjZSI+CisgICAgPGVsZW1lbnQgbmFtZT0iaW50ZXJmYWNlIj4KKyAgICAgIDxjaG9pY2U+CisgICAgICAgIDxncm91cD4KKyAgICAgICAgICA8YXR0cmlidXRlIG5hbWU9InR5cGUiPgorICAgICAgICAgICAgPHZhbHVlPmJyaWRnZTwvdmFsdWU+CisgICAgICAgICAgPC9hdHRyaWJ1dGU+CisgICAgICAgICAgPGludGVybGVhdmU+CisgICAgICAgICAgICA8b3B0aW9uYWw+CisgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InNvdXJjZSI+CisgICAgICAgICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJicmlkZ2UiPgorICAgICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJkZXZpY2VOYW1lIi8+CisgICAgICAgICAgICAgICAgPC9hdHRyaWJ1dGU+CisgICAgICAgICAgICAgICAgPGVtcHR5Lz4KKyAgICAgICAgICAgICAgPC9lbGVtZW50PgorICAgICAgICAgICAgPC9vcHRpb25hbD4KKyAgICAgICAgICAgIDxyZWYgbmFtZT0iaW50ZXJmYWNlLW9wdGlvbnMiLz4KKyAgICAgICAgICA8L2ludGVybGVhdmU+CisgICAgICAgIDwvZ3JvdXA+CisgICAgICAgIDxncm91cD4KKyAgICAgICAgICA8YXR0cmlidXRlIG5hbWU9InR5cGUiPgorICAgICAgICAgICAgPHZhbHVlPmV0aGVybmV0PC92YWx1ZT4KKyAgICAgICAgICA8L2F0dHJpYnV0ZT4KKyAgICAgICAgICA8aW50ZXJsZWF2ZT4KKyAgICAgICAgICAgIDxvcHRpb25hbD4KKyAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0ic291cmNlIj4KKyAgICAgICAgICAgICAgICA8YXR0cmlidXRlIG5hbWU9ImRldiI+CisgICAgICAgICAgICAgICAgICA8cmVmIG5hbWU9ImRldmljZU5hbWUiLz4KKyAgICAgICAgICAgICAgICA8L2F0dHJpYnV0ZT4KKyAgICAgICAgICAgICAgICA8ZW1wdHkvPgorICAgICAgICAgICAgICA8L2VsZW1lbnQ+CisgICAgICAgICAgICA8L29wdGlvbmFsPgorICAgICAgICAgICAgPHJlZiBuYW1lPSJpbnRlcmZhY2Utb3B0aW9ucyIvPgorICAgICAgICAgIDwvaW50ZXJsZWF2ZT4KKyAgICAgICAgPC9ncm91cD4KKyAgICAgICAgPGdyb3VwPgorICAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0idHlwZSI+CisgICAgICAgICAgICA8dmFsdWU+bmV0d29yazwvdmFsdWU+CisgICAgICAgICAgPC9hdHRyaWJ1dGU+CisgICAgICAgICAgPGludGVybGVhdmU+CisgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJzb3VyY2UiPgorICAgICAgICAgICAgICA8YXR0cmlidXRlIG5hbWU9Im5ldHdvcmsiPgorICAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iZGV2aWNlTmFtZSIvPgorICAgICAgICAgICAgICA8L2F0dHJpYnV0ZT4KKyAgICAgICAgICAgICAgPGVtcHR5Lz4KKyAgICAgICAgICAgIDwvZWxlbWVudD4KKyAgICAgICAgICAgIDxyZWYgbmFtZT0iaW50ZXJmYWNlLW9wdGlvbnMiLz4KKyAgICAgICAgICA8L2ludGVybGVhdmU+CisgICAgICAgIDwvZ3JvdXA+CisgICAgICAgIDxncm91cD4KKyAgICAgICAgICA8YXR0cmlidXRlIG5hbWU9InR5cGUiPgorICAgICAgICAgICAgPHZhbHVlPnVzZXI8L3ZhbHVlPgorICAgICAgICAgIDwvYXR0cmlidXRlPgorICAgICAgICAgIDxpbnRlcmxlYXZlPgorICAgICAgICAgICAgPHJlZiBuYW1lPSJpbnRlcmZhY2Utb3B0aW9ucyIvPgorICAgICAgICAgIDwvaW50ZXJsZWF2ZT4KKyAgICAgICAgPC9ncm91cD4KKyAgICAgICAgPGdyb3VwPgorICAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0idHlwZSI+CisgICAgICAgICAgICA8dmFsdWU+aW50ZXJuYWw8L3ZhbHVlPgorICAgICAgICAgIDwvYXR0cmlidXRlPgorICAgICAgICAgIDxpbnRlcmxlYXZlPgorICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0ic291cmNlIj4KKyAgICAgICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJuYW1lIj4KKyAgICAgICAgICAgICAgICA8cmVmIG5hbWU9ImRldmljZU5hbWUiLz4KKyAgICAgICAgICAgICAgPC9hdHRyaWJ1dGU+CisgICAgICAgICAgICAgIDxlbXB0eS8+CisgICAgICAgICAgICA8L2VsZW1lbnQ+CisgICAgICAgICAgICA8cmVmIG5hbWU9ImludGVyZmFjZS1vcHRpb25zIi8+CisgICAgICAgICAgPC9pbnRlcmxlYXZlPgorICAgICAgICA8L2dyb3VwPgorICAgICAgPC9jaG9pY2U+CisgICAgPC9lbGVtZW50PgorICA8L2RlZmluZT4KKyAgPCEtLQorICAgICAgVGhlIGludGVyZmFjZSBvcHRpb25zIHBvc3NpYmxlIGFyZToKKyAgICAgICAgLSB0aGUgTUFDIGFkZHJlc3MKKyAgICAgICAgLSB0aGUgSVAgYWRkcmVzcyBib3VuZCB0byB0aGUgaW50ZXJmYWNlCisgICAgICAgIC0gdGhlIG5hbWUgb2YgdGhlIHNjcmlwdCB1c2VkIHRvIHNldCB1cCB0aGUgYmluZGluZworICAgICAgICAtIHRoZSB0YXJnZXQgZGV2aWNlIHVzZWQKKyAgICAtLT4KKyAgPGRlZmluZSBuYW1lPSJpbnRlcmZhY2Utb3B0aW9ucyI+CisgICAgPGludGVybGVhdmU+CisgICAgICA8b3B0aW9uYWw+CisgICAgICAgIDxlbGVtZW50IG5hbWU9InRhcmdldCI+CisgICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJkZXYiPgorICAgICAgICAgICAgPHJlZiBuYW1lPSJkZXZpY2VOYW1lIi8+CisgICAgICAgICAgPC9hdHRyaWJ1dGU+CisgICAgICAgICAgPGVtcHR5Lz4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9vcHRpb25hbD4KKyAgICAgIDxvcHRpb25hbD4KKyAgICAgICAgPGVsZW1lbnQgbmFtZT0ibWFjIj4KKyAgICAgICAgICA8YXR0cmlidXRlIG5hbWU9ImFkZHJlc3MiPgorICAgICAgICAgICAgPHJlZiBuYW1lPSJhZGRyTUFDIi8+CisgICAgICAgICAgPC9hdHRyaWJ1dGU+CisgICAgICAgICAgPGVtcHR5Lz4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9vcHRpb25hbD4KKyAgICAgIDxvcHRpb25hbD4KKyAgICAgICAgPGVsZW1lbnQgbmFtZT0iaXAiPgorICAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0iYWRkcmVzcyI+CisgICAgICAgICAgICA8cmVmIG5hbWU9ImFkZHJJUCIvPgorICAgICAgICAgIDwvYXR0cmlidXRlPgorICAgICAgICAgIDxlbXB0eS8+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvb3B0aW9uYWw+CisgICAgICA8b3B0aW9uYWw+CisgICAgICAgIDxlbGVtZW50IG5hbWU9InNjcmlwdCI+CisgICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJwYXRoIj4KKyAgICAgICAgICAgIDxyZWYgbmFtZT0iZmlsZVBhdGgiLz4KKyAgICAgICAgICA8L2F0dHJpYnV0ZT4KKyAgICAgICAgICA8ZW1wdHkvPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L29wdGlvbmFsPgorICAgICAgPG9wdGlvbmFsPgorICAgICAgICA8ZWxlbWVudCBuYW1lPSJtb2RlbCI+CisgICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJ0eXBlIi8+CisgICAgICAgICAgPGVtcHR5Lz4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9vcHRpb25hbD4KKyAgICA8L2ludGVybGVhdmU+CisgIDwvZGVmaW5lPgorICA8IS0tCisgICAgICBBbiBlbXVsYXRvciBkZXNjcmlwdGlvbiBpcyBqdXN0IGEgcGF0aCB0byB0aGUgYmluYXJ5IHVzZWQgZm9yIHRoZSB0YXNrCisgICAgLS0+CisgIDxkZWZpbmUgbmFtZT0iZW11bGF0b3IiPgorICAgIDxlbGVtZW50IG5hbWU9ImVtdWxhdG9yIj4KKyAgICAgIDxyZWYgbmFtZT0iYWJzRmlsZVBhdGgiLz4KKyAgICA8L2VsZW1lbnQ+CisgIDwvZGVmaW5lPgorICA8IS0tCisgICAgICBBIGdyYXBoaWMgZGVzY3JpcHRpb24sIGN1cnJlbnRseSBpbiBYZW4gb25seSAyIHR5cGVzIGFyZSBzdXBwb3J0ZWQ6CisgICAgICAgIC0gc2RsIHdpdGggb3B0aW9uYWwgZGlzcGxheSwgeGF1dGggYW5kIGZ1bGxzY3JlZW4KKyAgICAgICAgLSB2bmMgd2l0aCBhIHJlcXVpcmVkIHBvcnQgYW5kIG9wdGlvbmFsIGxpc3RlbiBJUCBhZGRyZXNzLCBwYXNzd29yZAorICAgICAgICAgIGFuZCBrZXltYXAKKyAgICAtLT4KKyAgPGRlZmluZSBuYW1lPSJncmFwaGljIj4KKyAgICA8ZWxlbWVudCBuYW1lPSJncmFwaGljcyI+CisgICAgICA8Y2hvaWNlPgorICAgICAgICA8Z3JvdXA+CisgICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJ0eXBlIj4KKyAgICAgICAgICAgIDx2YWx1ZT5zZGw8L3ZhbHVlPgorICAgICAgICAgIDwvYXR0cmlidXRlPgorICAgICAgICAgIDxvcHRpb25hbD4KKyAgICAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0iZGlzcGxheSI+CisgICAgICAgICAgICAgIDx0ZXh0Lz4KKyAgICAgICAgICAgIDwvYXR0cmlidXRlPgorICAgICAgICAgIDwvb3B0aW9uYWw+CisgICAgICAgICAgPG9wdGlvbmFsPgorICAgICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJ4YXV0aCI+CisgICAgICAgICAgICAgIDx0ZXh0Lz4KKyAgICAgICAgICAgIDwvYXR0cmlidXRlPgorICAgICAgICAgIDwvb3B0aW9uYWw+CisgICAgICAgICAgPG9wdGlvbmFsPgorICAgICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJmdWxsc2NyZWVuIj4KKyAgICAgICAgICAgICAgPGNob2ljZT4KKyAgICAgICAgICAgICAgICA8dmFsdWU+eWVzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8dmFsdWU+bm88L3ZhbHVlPgorICAgICAgICAgICAgICA8L2Nob2ljZT4KKyAgICAgICAgICAgIDwvYXR0cmlidXRlPgorICAgICAgICAgIDwvb3B0aW9uYWw+CisgICAgICAgIDwvZ3JvdXA+CisgICAgICAgIDxncm91cD4KKyAgICAgICAgICA8YXR0cmlidXRlIG5hbWU9InR5cGUiPgorICAgICAgICAgICAgPHZhbHVlPnZuYzwvdmFsdWU+CisgICAgICAgICAgPC9hdHRyaWJ1dGU+CisgICAgICAgICAgPG9wdGlvbmFsPgorICAgICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJwb3J0Ij4KKyAgICAgICAgICAgICAgPHJlZiBuYW1lPSJQb3J0TnVtYmVyIi8+CisgICAgICAgICAgICA8L2F0dHJpYnV0ZT4KKyAgICAgICAgICA8L29wdGlvbmFsPgorICAgICAgICAgIDxvcHRpb25hbD4KKyAgICAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0iYXV0b3BvcnQiPgorICAgICAgICAgICAgICA8Y2hvaWNlPgorICAgICAgICAgICAgICAgIDx2YWx1ZT55ZXM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDx2YWx1ZT5ubzwvdmFsdWU+CisgICAgICAgICAgICAgIDwvY2hvaWNlPgorICAgICAgICAgICAgPC9hdHRyaWJ1dGU+CisgICAgICAgICAgPC9vcHRpb25hbD4KKyAgICAgICAgICA8b3B0aW9uYWw+CisgICAgICAgICAgICA8YXR0cmlidXRlIG5hbWU9Imxpc3RlbiI+CisgICAgICAgICAgICAgIDxyZWYgbmFtZT0iYWRkcklQIi8+CisgICAgICAgICAgICA8L2F0dHJpYnV0ZT4KKyAgICAgICAgICA8L29wdGlvbmFsPgorICAgICAgICAgIDxvcHRpb25hbD4KKyAgICAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0icGFzc3dkIj4KKyAgICAgICAgICAgICAgPHRleHQvPgorICAgICAgICAgICAgPC9hdHRyaWJ1dGU+CisgICAgICAgICAgPC9vcHRpb25hbD4KKyAgICAgICAgICA8b3B0aW9uYWw+CisgICAgICAgICAgICA8YXR0cmlidXRlIG5hbWU9ImtleW1hcCI+CisgICAgICAgICAgICAgIDx0ZXh0Lz4KKyAgICAgICAgICAgIDwvYXR0cmlidXRlPgorICAgICAgICAgIDwvb3B0aW9uYWw+CisgICAgICAgIDwvZ3JvdXA+CisgICAgICAgIDxncm91cD4KKyAgICAgICAgICA8YXR0cmlidXRlIG5hbWU9InR5cGUiPgorICAgICAgICAgICAgPHZhbHVlPnJkcDwvdmFsdWU+CisgICAgICAgICAgPC9hdHRyaWJ1dGU+CisgICAgICAgICAgPG9wdGlvbmFsPgorICAgICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJwb3J0Ij4KKyAgICAgICAgICAgICAgPHJlZiBuYW1lPSJQb3J0TnVtYmVyIi8+CisgICAgICAgICAgICA8L2F0dHJpYnV0ZT4KKyAgICAgICAgICA8L29wdGlvbmFsPgorICAgICAgICAgIDxvcHRpb25hbD4KKyAgICAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0iYXV0b3BvcnQiPgorICAgICAgICAgICAgICA8Y2hvaWNlPgorICAgICAgICAgICAgICAgIDx2YWx1ZT55ZXM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDx2YWx1ZT5ubzwvdmFsdWU+CisgICAgICAgICAgICAgIDwvY2hvaWNlPgorICAgICAgICAgICAgPC9hdHRyaWJ1dGU+CisgICAgICAgICAgPC9vcHRpb25hbD4KKyAgICAgICAgICA8b3B0aW9uYWw+CisgICAgICAgICAgICA8YXR0cmlidXRlIG5hbWU9InJlcGxhY2VVc2VyIj4KKyAgICAgICAgICAgICAgPGNob2ljZT4KKyAgICAgICAgICAgICAgICA8dmFsdWU+eWVzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICA8dmFsdWU+bm88L3ZhbHVlPgorICAgICAgICAgICAgICA8L2Nob2ljZT4KKyAgICAgICAgICAgIDwvYXR0cmlidXRlPgorICAgICAgICAgIDwvb3B0aW9uYWw+CisgICAgICAgICAgPG9wdGlvbmFsPgorICAgICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJtdWx0aVVzZXIiPgorICAgICAgICAgICAgICA8Y2hvaWNlPgorICAgICAgICAgICAgICAgIDx2YWx1ZT55ZXM8L3ZhbHVlPgorICAgICAgICAgICAgICAgIDx2YWx1ZT5ubzwvdmFsdWU+CisgICAgICAgICAgICAgIDwvY2hvaWNlPgorICAgICAgICAgICAgPC9hdHRyaWJ1dGU+CisgICAgICAgICAgPC9vcHRpb25hbD4KKyAgICAgICAgICA8b3B0aW9uYWw+CisgICAgICAgICAgICA8YXR0cmlidXRlIG5hbWU9Imxpc3RlbiI+CisgICAgICAgICAgICAgIDxyZWYgbmFtZT0iYWRkcklQIi8+CisgICAgICAgICAgICA8L2F0dHJpYnV0ZT4KKyAgICAgICAgICA8L29wdGlvbmFsPgorICAgICAgICA8L2dyb3VwPgorICAgICAgICA8Z3JvdXA+CisgICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJ0eXBlIj4KKyAgICAgICAgICAgIDx2YWx1ZT5kZXNrdG9wPC92YWx1ZT4KKyAgICAgICAgICA8L2F0dHJpYnV0ZT4KKyAgICAgICAgICA8b3B0aW9uYWw+CisgICAgICAgICAgICA8YXR0cmlidXRlIG5hbWU9ImRpc3BsYXkiPgorICAgICAgICAgICAgICA8dGV4dC8+CisgICAgICAgICAgICA8L2F0dHJpYnV0ZT4KKyAgICAgICAgICA8L29wdGlvbmFsPgorICAgICAgICAgIDxvcHRpb25hbD4KKyAgICAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0iZnVsbHNjcmVlbiI+CisgICAgICAgICAgICAgIDxjaG9pY2U+CisgICAgICAgICAgICAgICAgPHZhbHVlPnllczwvdmFsdWU+CisgICAgICAgICAgICAgICAgPHZhbHVlPm5vPC92YWx1ZT4KKyAgICAgICAgICAgICAgPC9jaG9pY2U+CisgICAgICAgICAgICA8L2F0dHJpYnV0ZT4KKyAgICAgICAgICA8L29wdGlvbmFsPgorICAgICAgICA8L2dyb3VwPgorICAgICAgPC9jaG9pY2U+CisgICAgPC9lbGVtZW50PgorICA8L2RlZmluZT4KKyAgPCEtLQorICAgICBBIGdyYXBoaWMgZGVzY3JpcHRpb24sIGN1cnJlbnRseSBpbiBYZW4gb25seSAyIHR5cGVzIGFyZSBzdXBwb3J0ZWQ6CisgICAgICAgLSBzZGwgd2l0aCBvcHRpb25hbCBkaXNwbGF5LCB4YXV0aCBhbmQgZnVsbHNjcmVlbgorICAgICAgIC0gdm5jIHdpdGggYSByZXF1aXJlZCBwb3J0IGFuZCBvcHRpb25hbCBsaXN0ZW4gSVAgYWRkcmVzcywgcGFzc3dvcmQKKyAgICAgICAgIGFuZCBrZXltYXAKKyAgIC0tPgorICA8ZGVmaW5lIG5hbWU9InZpZGVvIj4KKyAgICA8ZWxlbWVudCBuYW1lPSJ2aWRlbyI+CisgICAgICA8b3B0aW9uYWw+CisJPGVsZW1lbnQgbmFtZT0ibW9kZWwiPgorICAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0idHlwZSI+CisgICAgICAgICAgICA8Y2hvaWNlPgorICAgICAgICAgICAgICA8dmFsdWU+dmdhPC92YWx1ZT4KKyAgICAgICAgICAgICAgPHZhbHVlPmNpcnJ1czwvdmFsdWU+CisgICAgICAgICAgICAgIDx2YWx1ZT52bXZnYTwvdmFsdWU+CisgICAgICAgICAgICAgIDx2YWx1ZT54ZW48L3ZhbHVlPgorICAgICAgICAgICAgICA8dmFsdWU+dmJveDwvdmFsdWU+CisgICAgICAgICAgICA8L2Nob2ljZT4KKyAgICAgICAgICA8L2F0dHJpYnV0ZT4KKyAgICAgICAgICA8b3B0aW9uYWw+CisgICAgICAgICAgICA8YXR0cmlidXRlIG5hbWU9InZyYW0iPgorICAgICAgICAgICAgICA8cmVmIG5hbWU9InVuc2lnbmVkSW50Ii8+CisgICAgICAgICAgICA8L2F0dHJpYnV0ZT4KKyAgICAgICAgICA8L29wdGlvbmFsPgorICAgICAgICAgIDxvcHRpb25hbD4KKyAgICAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0iaGVhZHMiPgorICAgICAgICAgICAgICA8cmVmIG5hbWU9InVuc2lnbmVkSW50Ii8+CisgICAgICAgICAgICA8L2F0dHJpYnV0ZT4KKyAgICAgICAgICA8L29wdGlvbmFsPgorICAgICAgICAgIDxvcHRpb25hbD4KKyAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImFjY2VsZXJhdGlvbiI+CisgICAgICAgICAgICAgIDxvcHRpb25hbD4KKyAgICAgICAgICAgICAgICA8YXR0cmlidXRlIG5hbWU9ImFjY2VsM2QiPgorICAgICAgICAgICAgICAgICAgPGNob2ljZT4KKyAgICAgICAgICAgICAgICAgICAgPHZhbHVlPnllczwvdmFsdWU+CisgICAgICAgICAgICAgICAgICAgIDx2YWx1ZT5ubzwvdmFsdWU+CisgICAgICAgICAgICAgICAgICA8L2Nob2ljZT4KKyAgICAgICAgICAgICAgICA8L2F0dHJpYnV0ZT4KKyAgICAgICAgICAgICAgPC9vcHRpb25hbD4KKyAgICAgICAgICAgICAgPG9wdGlvbmFsPgorICAgICAgICAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0iYWNjZWwyZCI+CisgICAgICAgICAgICAgICAgICA8Y2hvaWNlPgorICAgICAgICAgICAgICAgICAgICA8dmFsdWU+eWVzPC92YWx1ZT4KKyAgICAgICAgICAgICAgICAgICAgPHZhbHVlPm5vPC92YWx1ZT4KKyAgICAgICAgICAgICAgICAgIDwvY2hvaWNlPgorICAgICAgICAgICAgICAgIDwvYXR0cmlidXRlPgorICAgICAgICAgICAgICA8L29wdGlvbmFsPgorICAgICAgICAgICAgPC9lbGVtZW50PgorICAgICAgICAgIDwvb3B0aW9uYWw+CisJPC9lbGVtZW50PgorICAgICAgPC9vcHRpb25hbD4KKyAgICA8L2VsZW1lbnQ+CisgIDwvZGVmaW5lPgorICA8IS0tCisgICAgICBXaGVuIGEgZG9tYWluIHRlcm1pbmF0ZXMgbXVsdGlwbGUgcG9saWNpZXMgY2FuIGJlIGFwcGxpZWQgZGVwZW5kaW5nCisgICAgICBvbiBob3cgaXQgZW5kZWQ6CisgICAgLS0+CisgIDxkZWZpbmUgbmFtZT0idGVybWluYXRpb24iPgorICAgIDxpbnRlcmxlYXZlPgorICAgICAgPG9wdGlvbmFsPgorICAgICAgICA8ZWxlbWVudCBuYW1lPSJvbl9yZWJvb3QiPgorICAgICAgICAgIDxyZWYgbmFtZT0ib2ZmT3B0aW9ucyIvPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L29wdGlvbmFsPgorICAgICAgPG9wdGlvbmFsPgorICAgICAgICA8ZWxlbWVudCBuYW1lPSJvbl9wb3dlcm9mZiI+CisgICAgICAgICAgPHJlZiBuYW1lPSJvZmZPcHRpb25zIi8+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvb3B0aW9uYWw+CisgICAgICA8b3B0aW9uYWw+CisgICAgICAgIDxlbGVtZW50IG5hbWU9Im9uX2NyYXNoIj4KKyAgICAgICAgICA8cmVmIG5hbWU9Im9mZk9wdGlvbnMiLz4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9vcHRpb25hbD4KKyAgICA8L2ludGVybGVhdmU+CisgIDwvZGVmaW5lPgorICA8IS0tCisgICAgICBPcHRpb25zIHdoZW4gYSBkb21haW4gdGVybWluYXRlczoKKyAgICAgIGRlc3Ryb3k6IFRoZSBkb21haW4gaXMgY2xlYW5lZCB1cAorICAgICAgcmVzdGFydDogQSBuZXcgZG9tYWluIGlzIHN0YXJ0ZWQgaW4gcGxhY2Ugb2YgdGhlIG9sZCBvbmUKKyAgICAgIHByZXNlcnZlOiBUaGUgZG9tYWluIHdpbGwgcmVtYWluIGluIG1lbW9yeSB1bnRpbCBpdCBpcyBkZXN0cm95ZWQgbWFudWFsbHkKKyAgICAgIHJlbmFtZS1yZXN0YXJ0OiBhIHZhcmlhbnQgb2YgdGhlIHByZXZpb3VzIG9uZSBidXQgd2hlcmUgdGhlIG9sZCBkb21haW4gaXMKKyAgICAgICAgICAgICAgICAgICAgICByZW5hbWVkIGJlZm9yZSBiZWluZyBzYXZlZCB0byBhbGxvdyBhIHJlc3RhcnQKKyAgICAtLT4KKyAgPGRlZmluZSBuYW1lPSJvZmZPcHRpb25zIj4KKyAgICA8Y2hvaWNlPgorICAgICAgPHZhbHVlPmRlc3Ryb3k8L3ZhbHVlPgorICAgICAgPHZhbHVlPnJlc3RhcnQ8L3ZhbHVlPgorICAgICAgPHZhbHVlPnByZXNlcnZlPC92YWx1ZT4KKyAgICAgIDx2YWx1ZT5yZW5hbWUtcmVzdGFydDwvdmFsdWU+CisgICAgPC9jaG9pY2U+CisgIDwvZGVmaW5lPgorICA8IS0tCisgICAgICBTcGVjaWZpYyBzZXR1cCBmb3IgYSBxZW11IGVtdWxhdGVkIGNoYXJhY3RlciBkZXZpY2UuICBOb3RlOiB0aGlzCisgICAgICBkZWZpbml0aW9uIGRvZXNuJ3QgZnVsbHkgc3BlY2lmeSB0aGUgY29uc3RyYWludHMgb24gdGhpcyBub2RlLgorICAgIC0tPgorICA8ZGVmaW5lIG5hbWU9InFlbXVjZGV2Ij4KKyAgICA8YXR0cmlidXRlIG5hbWU9InR5cGUiPgorICAgICAgPGNob2ljZT4KKyAgICAgICAgPHZhbHVlPmRldjwvdmFsdWU+CisgICAgICAgIDx2YWx1ZT5maWxlPC92YWx1ZT4KKyAgICAgICAgPHZhbHVlPnBpcGU8L3ZhbHVlPgorICAgICAgICA8dmFsdWU+dW5peDwvdmFsdWU+CisgICAgICAgIDx2YWx1ZT50Y3A8L3ZhbHVlPgorICAgICAgICA8dmFsdWU+dWRwPC92YWx1ZT4KKyAgICAgICAgPHZhbHVlPm51bGw8L3ZhbHVlPgorICAgICAgICA8dmFsdWU+c3RkaW88L3ZhbHVlPgorICAgICAgICA8dmFsdWU+dmM8L3ZhbHVlPgorICAgICAgICA8dmFsdWU+cHR5PC92YWx1ZT4KKyAgICAgIDwvY2hvaWNlPgorICAgIDwvYXR0cmlidXRlPgorICAgIDxpbnRlcmxlYXZlPgorICAgICAgPG9wdGlvbmFsPgorICAgICAgICA8b25lT3JNb3JlPgorICAgICAgICAgIDxlbGVtZW50IG5hbWU9InNvdXJjZSI+CisgICAgICAgICAgICA8b3B0aW9uYWw+CisgICAgICAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0ibW9kZSIvPgorICAgICAgICAgICAgPC9vcHRpb25hbD4KKyAgICAgICAgICAgIDxvcHRpb25hbD4KKyAgICAgICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJwYXRoIi8+CisgICAgICAgICAgICA8L29wdGlvbmFsPgorICAgICAgICAgICAgPG9wdGlvbmFsPgorICAgICAgICAgICAgICA8YXR0cmlidXRlIG5hbWU9Imhvc3QiLz4KKyAgICAgICAgICAgIDwvb3B0aW9uYWw+CisgICAgICAgICAgICA8b3B0aW9uYWw+CisgICAgICAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0ic2VydmljZSIvPgorICAgICAgICAgICAgPC9vcHRpb25hbD4KKyAgICAgICAgICAgIDxvcHRpb25hbD4KKyAgICAgICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJ3aXJlbW9kZSIvPgorICAgICAgICAgICAgPC9vcHRpb25hbD4KKyAgICAgICAgICA8L2VsZW1lbnQ+CisgICAgICAgIDwvb25lT3JNb3JlPgorICAgICAgPC9vcHRpb25hbD4KKyAgICAgIDxvcHRpb25hbD4KKyAgICAgICAgPGVsZW1lbnQgbmFtZT0icHJvdG9jb2wiPgorICAgICAgICAgIDxvcHRpb25hbD4KKyAgICAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0idHlwZSIvPgorICAgICAgICAgIDwvb3B0aW9uYWw+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvb3B0aW9uYWw+CisgICAgICA8b3B0aW9uYWw+CisgICAgICAgIDxlbGVtZW50IG5hbWU9InRhcmdldCI+CisgICAgICAgICAgPG9wdGlvbmFsPgorICAgICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJwb3J0Ii8+CisgICAgICAgICAgPC9vcHRpb25hbD4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9vcHRpb25hbD4KKyAgICA8L2ludGVybGVhdmU+CisgIDwvZGVmaW5lPgorICA8IS0tCisgICAgICBUaGUgZGVzY3JpcHRpb24gZm9yIGEgY29uc29sZQorICAgICAganVzdCBhIHR0eSBkZXZpY2UKKyAgICAtLT4KKyAgPGRlZmluZSBuYW1lPSJjb25zb2xlIj4KKyAgICA8ZWxlbWVudCBuYW1lPSJjb25zb2xlIj4KKyAgICAgIDxjaG9pY2U+CisgICAgICAgIDxncm91cD4KKyAgICAgICAgICA8b3B0aW9uYWw+CisgICAgICAgICAgICA8YXR0cmlidXRlIG5hbWU9InR0eSI+CisgICAgICAgICAgICAgIDxyZWYgbmFtZT0iZGV2aWNlUGF0aCIvPgorICAgICAgICAgICAgPC9hdHRyaWJ1dGU+CisgICAgICAgICAgPC9vcHRpb25hbD4KKyAgICAgICAgICA8ZW1wdHkvPgorICAgICAgICA8L2dyb3VwPgorICAgICAgICA8cmVmIG5hbWU9InFlbXVjZGV2Ii8+CisgICAgICA8L2Nob2ljZT4KKyAgICA8L2VsZW1lbnQ+CisgIDwvZGVmaW5lPgorICA8ZGVmaW5lIG5hbWU9InNvdW5kIj4KKyAgICA8ZWxlbWVudCBuYW1lPSJzb3VuZCI+CisgICAgICA8YXR0cmlidXRlIG5hbWU9Im1vZGVsIj4KKyAgICAgICAgPGNob2ljZT4KKyAgICAgICAgICA8dmFsdWU+c2IxNjwvdmFsdWU+CisgICAgICAgICAgPHZhbHVlPmVzMTM3MDwvdmFsdWU+CisgICAgICAgICAgPHZhbHVlPnBjc3BrPC92YWx1ZT4KKyAgICAgICAgICA8dmFsdWU+YWM5NzwvdmFsdWU+CisgICAgICAgIDwvY2hvaWNlPgorICAgICAgPC9hdHRyaWJ1dGU+CisgICAgPC9lbGVtZW50PgorICA8L2RlZmluZT4KKyAgPGRlZmluZSBuYW1lPSJwYXJhbGxlbCI+CisgICAgPGVsZW1lbnQgbmFtZT0icGFyYWxsZWwiPgorICAgICAgPHJlZiBuYW1lPSJxZW11Y2RldiIvPgorICAgIDwvZWxlbWVudD4KKyAgPC9kZWZpbmU+CisgIDxkZWZpbmUgbmFtZT0ic2VyaWFsIj4KKyAgICA8ZWxlbWVudCBuYW1lPSJzZXJpYWwiPgorICAgICAgPHJlZiBuYW1lPSJxZW11Y2RldiIvPgorICAgIDwvZWxlbWVudD4KKyAgPC9kZWZpbmU+CisgIDxkZWZpbmUgbmFtZT0iaW5wdXQiPgorICAgIDxlbGVtZW50IG5hbWU9ImlucHV0Ij4KKyAgICAgIDxhdHRyaWJ1dGUgbmFtZT0idHlwZSI+CisgICAgICAgIDxjaG9pY2U+CisgICAgICAgICAgPHZhbHVlPnRhYmxldDwvdmFsdWU+CisgICAgICAgICAgPHZhbHVlPm1vdXNlPC92YWx1ZT4KKyAgICAgICAgPC9jaG9pY2U+CisgICAgICA8L2F0dHJpYnV0ZT4KKyAgICAgIDxvcHRpb25hbD4KKyAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJidXMiPgorICAgICAgICAgIDxjaG9pY2U+CisgICAgICAgICAgICA8dmFsdWU+cHMyPC92YWx1ZT4KKyAgICAgICAgICAgIDx2YWx1ZT51c2I8L3ZhbHVlPgorICAgICAgICAgICAgPHZhbHVlPnhlbjwvdmFsdWU+CisgICAgICAgICAgPC9jaG9pY2U+CisgICAgICAgIDwvYXR0cmlidXRlPgorICAgICAgPC9vcHRpb25hbD4KKyAgICA8L2VsZW1lbnQ+CisgIDwvZGVmaW5lPgorICA8ZGVmaW5lIG5hbWU9Imhvc3RkZXYiPgorICAgIDxlbGVtZW50IG5hbWU9Imhvc3RkZXYiPgorICAgICAgPG9wdGlvbmFsPgorICAgICAgICA8YXR0cmlidXRlIG5hbWU9Im1vZGUiPgorICAgICAgICAgIDxjaG9pY2U+CisgICAgICAgICAgICA8dmFsdWU+c3Vic3lzdGVtPC92YWx1ZT4KKyAgICAgICAgICAgIDx2YWx1ZT5jYXBhYmlsaXRpZXM8L3ZhbHVlPgorICAgICAgICAgIDwvY2hvaWNlPgorICAgICAgICA8L2F0dHJpYnV0ZT4KKyAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJ0eXBlIj4KKyAgICAgICAgICA8Y2hvaWNlPgorICAgICAgICAgICAgPHZhbHVlPnVzYjwvdmFsdWU+CisgICAgICAgICAgICA8dmFsdWU+cGNpPC92YWx1ZT4KKyAgICAgICAgICA8L2Nob2ljZT4KKyAgICAgICAgPC9hdHRyaWJ1dGU+CisgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0ibWFuYWdlZCI+CisgICAgICAgICAgPGNob2ljZT4KKyAgICAgICAgICAgIDx2YWx1ZT55ZXM8L3ZhbHVlPgorICAgICAgICAgICAgPHZhbHVlPm5vPC92YWx1ZT4KKyAgICAgICAgICA8L2Nob2ljZT4KKyAgICAgICAgPC9hdHRyaWJ1dGU+CisgICAgICA8L29wdGlvbmFsPgorICAgICAgPGdyb3VwPgorICAgICAgICA8ZWxlbWVudCBuYW1lPSJzb3VyY2UiPgorICAgICAgICAgIDxjaG9pY2U+CisgICAgICAgICAgICA8cmVmIG5hbWU9InVzYnByb2R1Y3QiLz4KKyAgICAgICAgICAgIDxyZWYgbmFtZT0idXNiYWRkcmVzcyIvPgorICAgICAgICAgICAgPHJlZiBuYW1lPSJwY2lhZGRyZXNzIi8+CisgICAgICAgICAgPC9jaG9pY2U+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvZ3JvdXA+CisgICAgPC9lbGVtZW50PgorICA8L2RlZmluZT4KKyAgPGRlZmluZSBuYW1lPSJ1c2Jwcm9kdWN0Ij4KKyAgICA8ZWxlbWVudCBuYW1lPSJ2ZW5kb3IiPgorICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJpZCI+CisgICAgICAgIDxyZWYgbmFtZT0idXNiSWQiLz4KKyAgICAgIDwvYXR0cmlidXRlPgorICAgIDwvZWxlbWVudD4KKyAgICA8ZWxlbWVudCBuYW1lPSJwcm9kdWN0Ij4KKyAgICAgIDxhdHRyaWJ1dGUgbmFtZT0iaWQiPgorICAgICAgICA8cmVmIG5hbWU9InVzYklkIi8+CisgICAgICA8L2F0dHJpYnV0ZT4KKyAgICA8L2VsZW1lbnQ+CisgIDwvZGVmaW5lPgorICA8ZGVmaW5lIG5hbWU9InVzYmFkZHJlc3MiPgorICAgIDxlbGVtZW50IG5hbWU9ImFkZHJlc3MiPgorICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJidXMiPgorICAgICAgICA8cmVmIG5hbWU9InVzYkFkZHIiLz4KKyAgICAgIDwvYXR0cmlidXRlPgorICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJkZXZpY2UiPgorICAgICAgICA8cmVmIG5hbWU9InVzYkFkZHIiLz4KKyAgICAgIDwvYXR0cmlidXRlPgorICAgIDwvZWxlbWVudD4KKyAgPC9kZWZpbmU+CisgIDxkZWZpbmUgbmFtZT0icGNpYWRkcmVzcyI+CisgICAgPGVsZW1lbnQgbmFtZT0iYWRkcmVzcyI+CisgICAgICA8b3B0aW9uYWw+CisgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0iZG9tYWluIj4KKyAgICAgICAgICA8cmVmIG5hbWU9InBjaURvbWFpbiIvPgorICAgICAgICA8L2F0dHJpYnV0ZT4KKyAgICAgIDwvb3B0aW9uYWw+CisgICAgICA8YXR0cmlidXRlIG5hbWU9ImJ1cyI+CisgICAgICAgIDxyZWYgbmFtZT0icGNpQnVzIi8+CisgICAgICA8L2F0dHJpYnV0ZT4KKyAgICAgIDxhdHRyaWJ1dGUgbmFtZT0ic2xvdCI+CisgICAgICAgIDxyZWYgbmFtZT0icGNpU2xvdCIvPgorICAgICAgPC9hdHRyaWJ1dGU+CisgICAgICA8YXR0cmlidXRlIG5hbWU9ImZ1bmN0aW9uIj4KKyAgICAgICAgPHJlZiBuYW1lPSJwY2lGdW5jIi8+CisgICAgICA8L2F0dHJpYnV0ZT4KKyAgICA8L2VsZW1lbnQ+CisgIDwvZGVmaW5lPgorICA8IS0tCisgICAgICBEZXZpY2VzIGF0dGFjaGVkIHRvIGEgZG9tYWluLgorICAgIC0tPgorICA8ZGVmaW5lIG5hbWU9ImRldmljZXMiPgorICAgIDxlbGVtZW50IG5hbWU9ImRldmljZXMiPgorICAgICAgPGludGVybGVhdmU+CisgICAgICAgIDxvcHRpb25hbD4KKyAgICAgICAgICA8cmVmIG5hbWU9ImVtdWxhdG9yIi8+CisgICAgICAgIDwvb3B0aW9uYWw+CisgICAgICAgIDx6ZXJvT3JNb3JlPgorICAgICAgICAgIDxjaG9pY2U+CisgICAgICAgICAgICA8cmVmIG5hbWU9ImRpc2siLz4KKyAgICAgICAgICAgIDxyZWYgbmFtZT0iZmlsZXN5c3RlbSIvPgorICAgICAgICAgICAgPHJlZiBuYW1lPSJpbnRlcmZhY2UiLz4KKyAgICAgICAgICAgIDxyZWYgbmFtZT0iaW5wdXQiLz4KKyAgICAgICAgICAgIDxyZWYgbmFtZT0ic291bmQiLz4KKyAgICAgICAgICAgIDxyZWYgbmFtZT0iaG9zdGRldiIvPgorICAgICAgICAgICAgPHJlZiBuYW1lPSJncmFwaGljIi8+CisgICAgICAgICAgICA8cmVmIG5hbWU9InZpZGVvIi8+CisgICAgICAgICAgICA8cmVmIG5hbWU9ImNvbnNvbGUiLz4KKyAgICAgICAgICAgIDxyZWYgbmFtZT0icGFyYWxsZWwiLz4KKyAgICAgICAgICAgIDxyZWYgbmFtZT0ic2VyaWFsIi8+CisgICAgICAgICAgPC9jaG9pY2U+CisgICAgICAgIDwvemVyb09yTW9yZT4KKyAgICAgIDwvaW50ZXJsZWF2ZT4KKyAgICA8L2VsZW1lbnQ+CisgIDwvZGVmaW5lPgorICA8IS0tCisgICAgICBBIHNldCBvZiBvcHRpb25hbCBmZWF0dXJlczogUEFFLCBBUElDIGFuZCBBQ1BJIHN1cHBvcnQKKyAgICAtLT4KKyAgPGRlZmluZSBuYW1lPSJmZWF0dXJlcyI+CisgICAgPG9wdGlvbmFsPgorICAgICAgPGVsZW1lbnQgbmFtZT0iZmVhdHVyZXMiPgorICAgICAgICA8aW50ZXJsZWF2ZT4KKyAgICAgICAgICA8b3B0aW9uYWw+CisgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJwYWUiPgorICAgICAgICAgICAgICA8ZW1wdHkvPgorICAgICAgICAgICAgPC9lbGVtZW50PgorICAgICAgICAgIDwvb3B0aW9uYWw+CisgICAgICAgICAgPG9wdGlvbmFsPgorICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iYXBpYyI+CisgICAgICAgICAgICAgIDxlbXB0eS8+CisgICAgICAgICAgICA8L2VsZW1lbnQ+CisgICAgICAgICAgPC9vcHRpb25hbD4KKyAgICAgICAgICA8b3B0aW9uYWw+CisgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJhY3BpIj4KKyAgICAgICAgICAgICAgPGVtcHR5Lz4KKyAgICAgICAgICAgIDwvZWxlbWVudD4KKyAgICAgICAgICA8L29wdGlvbmFsPgorICAgICAgICA8L2ludGVybGVhdmU+CisgICAgICA8L2VsZW1lbnQ+CisgICAgPC9vcHRpb25hbD4KKyAgPC9kZWZpbmU+CisgIDwhLS0KKyAgICAgICBUeXBlIGxpYnJhcnkKKworICAgICAgIE91ciB1bnNpZ25lZEludCBkb2Vzbid0IGFsbG93IGEgbGVhZGluZyAnKycgaW4gaXRzIGxleGljYWwgZm9ybQorICAgICAgIEEgZG9tYWluIG5hbWUgc2hvdWwgYmUgbWFkZSBvZiBhc2NpaSwgbnVtYmVycywgXy0rIGFuZCBpcyBub24tZW1wdHkKKyAgICAgICBVVUlEIGN1cnJlbnRseSBhbGxvd3Mgb25seSB0aGUgMzIgY2hhcmFjdGVycyBzdHJpY3Qgc3ludGF4CisgICAgICAgbWVtb3J5S0IgcmVxdWVzdCBhdCBsZWFzdCA0TWJ5dGVzIHRob3VnaCBYZW4gd2lsbCBncm93IGJpZ2dlciBpZiB0b28gbG93CisgICAgLS0+CisgIDxkZWZpbmUgbmFtZT0idW5zaWduZWRJbnQiPgorICAgIDxkYXRhIHR5cGU9InVuc2lnbmVkSW50Ij4KKyAgICAgIDxwYXJhbSBuYW1lPSJwYXR0ZXJuIj5bMC05XSs8L3BhcmFtPgorICAgIDwvZGF0YT4KKyAgPC9kZWZpbmU+CisgIDxkZWZpbmUgbmFtZT0iY291bnRDUFUiPgorICAgIDxkYXRhIHR5cGU9InVuc2lnbmVkU2hvcnQiPgorICAgICAgPHBhcmFtIG5hbWU9InBhdHRlcm4iPlswLTldKzwvcGFyYW0+CisgICAgICA8cGFyYW0gbmFtZT0ibWluSW5jbHVzaXZlIj4xPC9wYXJhbT4KKyAgICA8L2RhdGE+CisgIDwvZGVmaW5lPgorICA8ZGVmaW5lIG5hbWU9IlBvcnROdW1iZXIiPgorICAgIDxkYXRhIHR5cGU9InNob3J0Ij4KKyAgICAgIDxwYXJhbSBuYW1lPSJtaW5JbmNsdXNpdmUiPi0xPC9wYXJhbT4KKyAgICA8L2RhdGE+CisgIDwvZGVmaW5lPgorICA8ZGVmaW5lIG5hbWU9Im1lbW9yeUtCIj4KKyAgICA8ZGF0YSB0eXBlPSJ1bnNpZ25lZEludCI+CisgICAgICA8cGFyYW0gbmFtZT0icGF0dGVybiI+WzAtOV0rPC9wYXJhbT4KKyAgICAgIDxwYXJhbSBuYW1lPSJtaW5JbmNsdXNpdmUiPjQwMDA8L3BhcmFtPgorICAgIDwvZGF0YT4KKyAgPC9kZWZpbmU+CisgIDxkZWZpbmUgbmFtZT0iZG9tYWluTmFtZSI+CisgICAgPGRhdGEgdHlwZT0ic3RyaW5nIj4KKyAgICAgIDxwYXJhbSBuYW1lPSJwYXR0ZXJuIj5bQS1aYS16MC05X1wuXCtcLSZhbXA7Oi9dKzwvcGFyYW0+CisgICAgPC9kYXRhPgorICA8L2RlZmluZT4KKyAgPGRlZmluZSBuYW1lPSJkaXNrU2VyaWFsIj4KKyAgICA8ZGF0YSB0eXBlPSJzdHJpbmciPgorICAgICAgPHBhcmFtIG5hbWU9InBhdHRlcm4iPltBLVphLXowLTlfXC5cK1wtXSs8L3BhcmFtPgorICAgIDwvZGF0YT4KKyAgPC9kZWZpbmU+CisgIDxkZWZpbmUgbmFtZT0iZ2VuZXJpY05hbWUiPgorICAgIDxkYXRhIHR5cGU9InN0cmluZyI+CisgICAgICA8cGFyYW0gbmFtZT0icGF0dGVybiI+W2EtekEtWjAtOV9cK1wtXSs8L3BhcmFtPgorICAgIDwvZGF0YT4KKyAgPC9kZWZpbmU+CisgIDxkZWZpbmUgbmFtZT0iVVVJRCI+CisgICAgPGNob2ljZT4KKyAgICAgIDxkYXRhIHR5cGU9InN0cmluZyI+CisgICAgICAgIDxwYXJhbSBuYW1lPSJwYXR0ZXJuIj5bYS1mQS1GMC05XXszMn08L3BhcmFtPgorICAgICAgPC9kYXRhPgorICAgICAgPGRhdGEgdHlwZT0ic3RyaW5nIj4KKyAgICAgICAgPHBhcmFtIG5hbWU9InBhdHRlcm4iPlthLWZBLUYwLTldezh9XC0oW2EtZkEtRjAtOV17NH1cLSl7M31bYS1mQS1GMC05XXsxMn08L3BhcmFtPgorICAgICAgPC9kYXRhPgorICAgIDwvY2hvaWNlPgorICA8L2RlZmluZT4KKyAgPGRlZmluZSBuYW1lPSJmaWxlUGF0aCI+CisgICAgPGRhdGEgdHlwZT0ic3RyaW5nIj4KKyAgICAgIDxwYXJhbSBuYW1lPSJwYXR0ZXJuIj5bYS16QS1aMC05X1wuXCtcLSZhbXA7LyVdKzwvcGFyYW0+CisgICAgPC9kYXRhPgorICA8L2RlZmluZT4KKyAgPGRlZmluZSBuYW1lPSJhYnNGaWxlUGF0aCI+CisgICAgPGRhdGEgdHlwZT0ic3RyaW5nIj4KKyAgICAgIDxwYXJhbSBuYW1lPSJwYXR0ZXJuIj4vW2EtekEtWjAtOV9cLlwrXC0mYW1wOy8lXSs8L3BhcmFtPgorICAgIDwvZGF0YT4KKyAgPC9kZWZpbmU+CisgIDxkZWZpbmUgbmFtZT0iYWJzRGlyUGF0aCI+CisgICAgPGRhdGEgdHlwZT0ic3RyaW5nIj4KKyAgICAgIDxwYXJhbSBuYW1lPSJwYXR0ZXJuIj4vW2EtekEtWjAtOV9cLlwrXC0mYW1wOy8lXSo8L3BhcmFtPgorICAgIDwvZGF0YT4KKyAgPC9kZWZpbmU+CisgIDxkZWZpbmUgbmFtZT0iZGV2aWNlUGF0aCI+CisgICAgPGRhdGEgdHlwZT0ic3RyaW5nIj4KKyAgICAgIDxwYXJhbSBuYW1lPSJwYXR0ZXJuIj4vW2EtekEtWjAtOV9cK1wtLyVdKzwvcGFyYW0+CisgICAgPC9kYXRhPgorICA8L2RlZmluZT4KKyAgPGRlZmluZSBuYW1lPSJkZXZpY2VOYW1lIj4KKyAgICA8ZGF0YSB0eXBlPSJzdHJpbmciPgorICAgICAgPHBhcmFtIG5hbWU9InBhdHRlcm4iPlthLXpBLVowLTlfXC5cLTovXSs8L3BhcmFtPgorICAgIDwvZGF0YT4KKyAgPC9kZWZpbmU+CisgIDxkZWZpbmUgbmFtZT0iYWRkck1BQyI+CisgICAgPGRhdGEgdHlwZT0ic3RyaW5nIj4KKyAgICAgIDxwYXJhbSBuYW1lPSJwYXR0ZXJuIj4oW2EtZkEtRjAtOV17Mn06KXs1fVthLWZBLUYwLTldezJ9PC9wYXJhbT4KKyAgICA8L2RhdGE+CisgIDwvZGVmaW5lPgorICA8ZGVmaW5lIG5hbWU9ImFkZHJJUCI+CisgICAgPGRhdGEgdHlwZT0ic3RyaW5nIj4KKyAgICAgIDxwYXJhbSBuYW1lPSJwYXR0ZXJuIj4oWzAtMl0/WzAtOV0/WzAtOV1cLil7M31bMC0yXT9bMC05XT9bMC05XTwvcGFyYW0+CisgICAgPC9kYXRhPgorICA8L2RlZmluZT4KKyAgPGRlZmluZSBuYW1lPSJ1c2JJZCI+CisgICAgPGRhdGEgdHlwZT0ic3RyaW5nIj4KKyAgICAgIDxwYXJhbSBuYW1lPSJwYXR0ZXJuIj4oMHgpP1swLTlhLWZBLUZdezEsNH08L3BhcmFtPgorICAgIDwvZGF0YT4KKyAgPC9kZWZpbmU+CisgIDxkZWZpbmUgbmFtZT0idXNiQWRkciI+CisgICAgPGRhdGEgdHlwZT0ic3RyaW5nIj4KKyAgICAgIDxwYXJhbSBuYW1lPSJwYXR0ZXJuIj4oMHgpP1swLTlhLWZBLUZdezEsM308L3BhcmFtPgorICAgIDwvZGF0YT4KKyAgPC9kZWZpbmU+CisgIDxkZWZpbmUgbmFtZT0icGNpRG9tYWluIj4KKyAgICA8ZGF0YSB0eXBlPSJzdHJpbmciPgorICAgICAgPHBhcmFtIG5hbWU9InBhdHRlcm4iPigweCk/WzAtOWEtZkEtRl17MSw0fTwvcGFyYW0+CisgICAgPC9kYXRhPgorICA8L2RlZmluZT4KKyAgPGRlZmluZSBuYW1lPSJwY2lCdXMiPgorICAgIDxkYXRhIHR5cGU9InN0cmluZyI+CisgICAgICA8cGFyYW0gbmFtZT0icGF0dGVybiI+KDB4KT9bMC05YS1mQS1GXXsxLDJ9PC9wYXJhbT4KKyAgICA8L2RhdGE+CisgIDwvZGVmaW5lPgorICA8ZGVmaW5lIG5hbWU9InBjaVNsb3QiPgorICAgIDxkYXRhIHR5cGU9InN0cmluZyI+CisgICAgICA8cGFyYW0gbmFtZT0icGF0dGVybiI+KDB4KT9bMC0xXT9bMC05YS1mQS1GXTwvcGFyYW0+CisgICAgPC9kYXRhPgorICA8L2RlZmluZT4KKyAgPGRlZmluZSBuYW1lPSJwY2lGdW5jIj4KKyAgICA8ZGF0YSB0eXBlPSJzdHJpbmciPgorICAgICAgPHBhcmFtIG5hbWU9InBhdHRlcm4iPigweCk/WzAtN108L3BhcmFtPgorICAgIDwvZGF0YT4KKyAgPC9kZWZpbmU+Cis8L2dyYW1tYXI+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy9saWJ2aXJ0XzAueG1sIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvbGlidmlydF8wLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMTdkOWQ1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvbGlidmlydF8wLnhtbApAQCAtMCwwICsxLDIzIEBACis8ZG9tYWluIHR5cGU9J3hlbicgaWQ9JzYnPgorICA8bmFtZT5wdnRlc3Q8L25hbWU+CisgIDx1dWlkPjU5NmE1ZDIxNzFmNDhmYjJlMDY4ZTIzODZhNWM0MTNlPC91dWlkPgorICA8b3M+CisgICAgPHR5cGU+bGludXg8L3R5cGU+CisgICAgPGtlcm5lbD4vdmFyL2xpYi94ZW4vdm1saW51ei4yRG4yWVQ8L2tlcm5lbD4KKyAgICA8aW5pdHJkPi92YXIvbGliL3hlbi9pbml0cmQuaW1nLjB1LVZocTwvaW5pdHJkPgorICAgIDxjbWRsaW5lPiBtZXRob2Q9aHR0cDovL2Rvd25sb2FkLmZlZG9yYS5kZXZlbC5yZWRoYXQuY29tL3B1Yi9mZWRvcmEvbGludXgvY29yZS90ZXN0LzUuOTEveDg2XzY0L29zICA8L2NtZGxpbmU+CisgIDwvb3M+CisgIDxtZW1vcnk+NDMwMDgwPC9tZW1vcnk+CisgIDx2Y3B1PjI8L3ZjcHU+CisgIDxvbl9wb3dlcm9mZj5kZXN0cm95PC9vbl9wb3dlcm9mZj4KKyAgPG9uX3JlYm9vdD5kZXN0cm95PC9vbl9yZWJvb3Q+CisgIDxvbl9jcmFzaD5kZXN0cm95PC9vbl9jcmFzaD4KKyAgPGRldmljZXM+CisgICAgPGRpc2sgdHlwZT0nZmlsZScgZGV2aWNlPSdkaXNrJz4KKyAgICAgIDxkcml2ZXIgbmFtZT0nZmlsZScvPgorICAgICAgPHNvdXJjZSBmaWxlPScvcm9vdC9zb21lLmltZycvPgorICAgICAgPHRhcmdldCBkZXY9J3h2ZGEnLz4KKyAgICA8L2Rpc2s+CisgICAgPGdyYXBoaWNzIHR5cGU9J3ZuYycgcG9ydD0nLTEnIGF1dG9wb3J0PSd5ZXMnIGxpc3Rlbj0iMTI3LjAuMC4xIiBwYXNzd2Q9IjEyMzQ1NiIga2V5bWFwPSJqYSIvPgorICA8L2RldmljZXM+Cis8L2RvbWFpbj4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL2xpc3Qucm5nIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvbGlzdC5ybmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTdkZTE3YwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL2xpc3Qucm5nCkBAIC0wLDAgKzEsMjMgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8Z3JhbW1hcgorICAgIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIKKyAgICB4bWxuczphPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvY29tcGF0aWJpbGl0eS9hbm5vdGF0aW9ucy8xLjAiCisgICAgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorCis8ZGVmaW5lIG5hbWU9InBhdHRlcm4xIj4KKyAgICA8ZGF0YSB0eXBlPSJzdHJpbmciPgorICAgICAgICA8cGFyYW0gbmFtZT0icGF0dGVybiI+LT8oWzAtOV0rKFwuWzAtOV0qKT98XC5bMC05XSspPC9wYXJhbT4KKyAgICA8L2RhdGE+Cis8L2RlZmluZT4KKworPHN0YXJ0PgorICAgIDxlbGVtZW50IG5hbWU9ImVsZW0xIj4KKyAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJhdHRyMSI+CisgICAgICAgICAgICA8bGlzdD4KKyAgICAgICAgICAgICAgICA8cmVmIG5hbWU9InBhdHRlcm4xIi8+CisgICAgICAgICAgICA8L2xpc3Q+CisgICAgICAgIDwvYXR0cmlidXRlPgorICAgIDwvZWxlbWVudD4KKzwvc3RhcnQ+CisKKzwvZ3JhbW1hcj4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL2xpc3RfMC54bWwgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy9saXN0XzAueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE2YjRkNjAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy9saXN0XzAueG1sCkBAIC0wLDAgKzEgQEAKKzxlbGVtMSBhdHRyMT0iMCIvPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvbGlzdF8xLnhtbCBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL2xpc3RfMS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTg5MDdjYwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL2xpc3RfMS54bWwKQEAgLTAsMCArMSBAQAorPGVsZW0xIGF0dHIxPSJhIi8+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy9wYXR0ZXJuMS5ybmcgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy9wYXR0ZXJuMS5ybmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTU4NWU4NQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3BhdHRlcm4xLnJuZwpAQCAtMCwwICsxLDggQEAKKzxncm91cCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPgorICA8ZWxlbWVudCBuYW1lPSJhIj4KKyAgICA8dGV4dC8+CisgIDwvZWxlbWVudD4KKyAgPGVsZW1lbnQgbmFtZT0iYiI+CisgICAgPHRleHQvPgorICA8L2VsZW1lbnQ+Cis8L2dyb3VwPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvcGF0dGVybjIucm5nIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvcGF0dGVybjIucm5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY2YTRhNDQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy9wYXR0ZXJuMi5ybmcKQEAgLTAsMCArMSw5IEBACis8Z3JvdXAgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4KKyAgPGVsZW1lbnQgbmFtZT0iYyI+CisgICAgPHRleHQvPgorICA8L2VsZW1lbnQ+CisgIDxlbGVtZW50IG5hbWU9ImQiPgorICAgIDx0ZXh0Lz4KKyAgPC9lbGVtZW50PgorPC9ncm91cD4KKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvcHJvb2ZzeXN0ZW0ucm5nIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvcHJvb2ZzeXN0ZW0ucm5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdmZTZiZDMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy9wcm9vZnN5c3RlbS5ybmcKQEAgLTAsMCArMSw5NiBAQAorPGdyYW1tYXIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIg0KKyAgICAgICAgIG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvcHJvb2ZzeXN0ZW0iPg0KKw0KKzxzdGFydD4NCisgIDxlbGVtZW50IG5hbWU9InByb29mU3lzdGVtIj4NCisgICAgPG9uZU9yTW9yZT4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJydWxlIj4NCisgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0ibmFtZSIvPg0KKwk8emVyb09yTW9yZT4NCisJICA8cmVmIG5hbWU9ImFudGVjZWRlbnQiLz4NCisJPC96ZXJvT3JNb3JlPg0KKwk8cmVmIG5hbWU9ImNvbnNlcXVlbnQiLz4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgIDwvb25lT3JNb3JlPg0KKyAgPC9lbGVtZW50Pg0KKzwvc3RhcnQ+DQorDQorPGRlZmluZSBuYW1lPSJmb3JtdWxhIj4NCisgIDxlbGVtZW50IG5hbWU9ImZvcm11bGEiPg0KKyAgICA8Y2hvaWNlPg0KKyAgICAgIDxyZWYgbmFtZT0ianVkZ2VtZW50Ii8+DQorICAgICAgPHJlZiBuYW1lPSJleHByIi8+DQorICAgIDwvY2hvaWNlPg0KKyAgPC9lbGVtZW50Pg0KKzwvZGVmaW5lPg0KKw0KKzxkZWZpbmUgbmFtZT0iY29uc2VxdWVudCI+DQorICA8cmVmIG5hbWU9Imp1ZGdlbWVudCIvPg0KKzwvZGVmaW5lPg0KKw0KKzxkZWZpbmUgbmFtZT0iYW50ZWNlZGVudCI+DQorICA8cmVmIG5hbWU9Imp1ZGdlbWVudCIvPg0KKzwvZGVmaW5lPg0KKw0KKzxkZWZpbmUgbmFtZT0ianVkZ2VtZW50Ij4NCisgIDxjaG9pY2U+DQorICAgIDxlbGVtZW50IG5hbWU9Imp1ZGdlbWVudCI+DQorICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJuYW1lIi8+DQorICAgICAgPHplcm9Pck1vcmU+DQorCTxyZWYgbmFtZT0iZXhwciIvPg0KKyAgICAgIDwvemVyb09yTW9yZT4NCisgICAgPC9lbGVtZW50Pg0KKyAgICA8ZWxlbWVudCBuYW1lPSJub3QiPg0KKyAgICAgIDxyZWYgbmFtZT0ianVkZ2VtZW50Ii8+DQorICAgIDwvZWxlbWVudD4NCisgIDwvY2hvaWNlPg0KKzwvZGVmaW5lPg0KKw0KKzxkZWZpbmUgbmFtZT0iZXhwciI+DQorICA8Y2hvaWNlPg0KKyAgICA8ZWxlbWVudCBuYW1lPSJ2YXIiPg0KKyAgICAgIDxhdHRyaWJ1dGUgbmFtZT0icmFuZ2UiLz4NCisgICAgICA8b3B0aW9uYWw+DQorCTxhdHRyaWJ1dGUgbmFtZT0iaW5kZXgiLz4NCisgICAgICA8L29wdGlvbmFsPg0KKyAgICAgIDxvcHRpb25hbD4NCisJPGF0dHJpYnV0ZSBuYW1lPSJzdWIiLz4NCisgICAgICA8L29wdGlvbmFsPg0KKyAgICA8L2VsZW1lbnQ+DQorICAgIDxlbGVtZW50IG5hbWU9ImZ1bmN0aW9uIj4NCisgICAgICA8YXR0cmlidXRlIG5hbWU9Im5hbWUiLz4NCisgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgIDxyZWYgbmFtZT0iZXhwciIvPg0KKyAgICAgIDwvemVyb09yTW9yZT4NCisgICAgPC9lbGVtZW50Pg0KKyAgICA8ZWxlbWVudCBuYW1lPSJlbGVtZW50Ij4NCisgICAgICA8YXR0cmlidXRlIG5hbWU9Im5hbWUiLz4NCisgICAgICA8emVyb09yTW9yZT4NCisgICAgICAgIDxlbGVtZW50IG5hbWU9ImF0dHJpYnV0ZSI+DQorICAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0ibmFtZSIvPg0KKyAgICAgICAgICA8cmVmIG5hbWU9ImV4cHIiLz4gDQorICAgICAgICA8L2VsZW1lbnQ+DQorICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICAgIDxvcHRpb25hbD4NCisgICAgICAgIDxyZWYgbmFtZT0iY29udGV4dCIvPg0KKyAgICAgIDwvb3B0aW9uYWw+DQorICAgICAgPHplcm9Pck1vcmU+DQorICAgICAgICA8cmVmIG5hbWU9ImV4cHIiLz4NCisgICAgICA8L3plcm9Pck1vcmU+DQorICAgIDwvZWxlbWVudD4NCisgICAgPGVsZW1lbnQgbmFtZT0iZ3JvdXAiPg0KKyAgICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgICAgPHJlZiBuYW1lPSJleHByIi8+DQorICAgICAgPC96ZXJvT3JNb3JlPg0KKyAgICA8L2VsZW1lbnQ+DQorICAgIDxlbGVtZW50IG5hbWU9InN0cmluZyI+PHRleHQvPjwvZWxlbWVudD4NCisgIDwvY2hvaWNlPg0KKzwvZGVmaW5lPg0KKw0KKzxkZWZpbmUgbmFtZT0iY29udGV4dCI+DQorICA8ZWxlbWVudCBuYW1lPSJjb250ZXh0Ij4NCisgICAgPHJlZiBuYW1lPSJleHByIi8+DQorICA8L2VsZW1lbnQ+DQorPC9kZWZpbmU+DQorDQorPC9ncmFtbWFyPg0KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL3JuZ2J1Zy0wMDEuZXh0IGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvcm5nYnVnLTAwMS5leHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2IxODgzZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3JuZ2J1Zy0wMDEuZXh0CkBAIC0wLDAgKzEsMTMgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8Z3JhbW1hciB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPgorICA8c3RhcnQ+CisgICAgPHJlZiBuYW1lPSJlMiIvPgorICA8L3N0YXJ0PgorICA8ZGVmaW5lIG5hbWU9ImUyIj4KKyAgICA8ZWxlbWVudCBuYW1lPSJlMiI+CisgICAgICA8ZWxlbWVudCBuYW1lPSJlMyI+CisgICAgICAgIDx0ZXh0Lz4KKyAgICAgIDwvZWxlbWVudD4KKyAgICA8L2VsZW1lbnQ+CisgIDwvZGVmaW5lPgorPC9ncmFtbWFyPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvcm5nYnVnLTAwMS5ybmcgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy9ybmdidWctMDAxLnJuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYmI1YjBhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvcm5nYnVnLTAwMS5ybmcKQEAgLTAsMCArMSwxNiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxncmFtbWFyIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+CisgIDxzdGFydD4KKyAgICA8cmVmIG5hbWU9InJvb3QiLz4KKyAgPC9zdGFydD4KKyAgPGRlZmluZSBuYW1lPSJyb290Ij4KKyAgICA8ZWxlbWVudCBuYW1lPSJyb290Ij4KKyAgICAgIDxpbnRlcmxlYXZlPgorICAgICAgICA8ZWxlbWVudCBuYW1lPSJlMSI+CisgICAgICAgICAgPHRleHQvPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICAgIDxleHRlcm5hbFJlZiBocmVmPSJybmdidWctMDAxLmV4dCIvPgorICAgICAgPC9pbnRlcmxlYXZlPgorICAgIDwvZWxlbWVudD4KKyAgPC9kZWZpbmU+Cis8L2dyYW1tYXI+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy9ybmdidWctMDAxLnhtbCBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3JuZ2J1Zy0wMDEueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgzYmE3M2UKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy9ybmdidWctMDAxLnhtbApAQCAtMCwwICsxLDYgQEAKKyAgICAgPHJvb3Q+CisgICAgICAgICA8ZTE+eDwvZTE+CisgICAgICAgICA8ZTI+CisgICAgICAgICAgICAgPGUzPnk8L2UzPgorICAgICAgICAgPC9lMj4KKyAgICAgPC9yb290PgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvc3BlYy5ybmcgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy9zcGVjLnJuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NjUwZjcxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvc3BlYy5ybmcKQEAgLTAsMCArMSw2MCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pg0KKzwhLS0gJElkOiBzcGVjLnJuZyx2IDEuMyAyMDAxLzEwLzIzIDA1OjU0OjI0IGpqYyBFeHAgJCAtLT4NCis8Z3JhbW1hciB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiDQorICAgICAgICAgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiDQorICAgICAgICAgIHhtbG5zOnA9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9wcm9vZnN5c3RlbSI+DQorDQorPHN0YXJ0Pg0KKyAgPGdyYW1tYXI+DQorICAgIDxpbmNsdWRlIGhyZWY9ImRvY2Jvb2sucm5nIi8+DQorICAgIDxkZWZpbmUgbmFtZT0ic3lub3AuY2xhc3MiIGNvbWJpbmU9ImNob2ljZSI+DQorICAgICAgPGNob2ljZT4NCisgICAgICAgIDxwYXJlbnRSZWYgbmFtZT0icm5ncmVmIi8+DQorICAgICAgICA8cGFyZW50UmVmIG5hbWU9ImdyYW1tYXJyZWYiLz4NCisgICAgICAgIDxncmFtbWFyPg0KKyAgICAgICAgICA8aW5jbHVkZSBocmVmPSJwcm9vZnN5c3RlbS5ybmciLz4NCisgICAgICAgICAgPHN0YXJ0IGNvbWJpbmU9ImNob2ljZSI+DQorICAgICAgICAgICAgPHJlZiBuYW1lPSJmb3JtdWxhIi8+DQorICAgICAgICAgIDwvc3RhcnQ+DQorICAgICAgICA8L2dyYW1tYXI+DQorICAgICAgPC9jaG9pY2U+DQorICAgIDwvZGVmaW5lPg0KKyAgICA8ZGVmaW5lIG5hbWU9InRlY2guY2hhci5jbGFzcyIgY29tYmluZT0iY2hvaWNlIj4NCisgICAgICA8cGFyZW50UmVmIG5hbWU9InRlcm1zIi8+DQorICAgIDwvZGVmaW5lPg0KKyAgPC9ncmFtbWFyPg0KKzwvc3RhcnQ+DQorDQorPGRlZmluZSBuYW1lPSJybmdyZWYiPg0KKyAgPGVsZW1lbnQgbmFtZT0icm5ncmVmIj4NCisgICAgPGF0dHJpYnV0ZSBuYW1lPSJzcmMiPg0KKyAgICAgIDxkYXRhIHR5cGU9ImFueVVSSSIvPg0KKyAgICA8L2F0dHJpYnV0ZT4NCisgIDwvZWxlbWVudD4NCis8L2RlZmluZT4NCisNCis8ZGVmaW5lIG5hbWU9ImdyYW1tYXJyZWYiPg0KKyAgPGVsZW1lbnQgbmFtZT0iZ3JhbW1hcnJlZiI+DQorICAgIDxhdHRyaWJ1dGUgbmFtZT0ic3JjIj4NCisgICAgICA8ZGF0YSB0eXBlPSJhbnlVUkkiLz4NCisgICAgPC9hdHRyaWJ1dGU+DQorICA8L2VsZW1lbnQ+DQorPC9kZWZpbmU+DQorDQorPGRlZmluZSBuYW1lPSJ0ZXJtcyI+DQorICA8Z3JhbW1hcj4NCisgICAgIDxpbmNsdWRlIGhyZWY9InByb29mc3lzdGVtLnJuZyI+DQorICAgICAgIDxzdGFydD4NCisgICAgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgICAgPHJlZiBuYW1lPSJleHByIi8+DQorICAgICAgICAgICA8cmVmIG5hbWU9Imp1ZGdlbWVudCIvPg0KKyAgICAgICAgICAgPHJlZiBuYW1lPSJjb250ZXh0Ii8+DQorICAgICAgICAgPC9jaG9pY2U+DQorICAgICAgIDwvc3RhcnQ+DQorICAgICA8L2luY2x1ZGU+DQorICA8L2dyYW1tYXI+DQorPC9kZWZpbmU+DQorDQorPC9ncmFtbWFyPg0KKw0KKyANCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy9zcGVjMS5ybmcgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy9zcGVjMS5ybmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZThlOWVmMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3NwZWMxLnJuZwpAQCAtMCwwICsxLDE0IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxlbGVtZW50IG5hbWU9ImZvbyIKKyAgICAgICAgIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIKKyAgICAgICAgIHhtbG5zOmE9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9hbm5vdGF0aW9uLzEuMCIKKyAgICAgICAgIHhtbG5zOmV4MT0iaHR0cDovL3d3dy5leGFtcGxlLmNvbS9uMSIKKyAgICAgICAgIHhtbG5zOmV4Mj0iaHR0cDovL3d3dy5leGFtcGxlLmNvbS9uMiI+CisgIDxhOmRvY3VtZW50YXRpb24+QSBmb28gZWxlbWVudC48L2E6ZG9jdW1lbnRhdGlvbj4KKyAgPGVsZW1lbnQgbmFtZT0iZXgxOmJhcjEiPgorICAgIDxlbXB0eS8+CisgIDwvZWxlbWVudD4KKyAgPGVsZW1lbnQgbmFtZT0iZXgyOmJhcjIiPgorICAgIDxlbXB0eS8+CisgIDwvZWxlbWVudD4KKzwvZWxlbWVudD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL3NwZWMxXzEueG1sIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvc3BlYzFfMS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTEyYjYyMAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3NwZWMxXzEueG1sCkBAIC0wLDAgKzEsMyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8Zm9vPjxwcmUxOmJhcjEgeG1sbnM6cHJlMT0iaHR0cDovL3d3dy5leGFtcGxlLmNvbS9uMSIvPjxwcmUyOmJhcjIgeG1sbnM6cHJlMj0iaHR0cDovL3d3dy5leGFtcGxlLmNvbS9uMiIvPjwvZm9vPgorCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy9zcGVjXzAueG1sIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvc3BlY18wLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYjhmN2JlCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvc3BlY18wLnhtbApAQCAtMCwwICsxLDM1ODkgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9Imlzby04ODU5LTEiPz4NCis8IURPQ1RZUEUgYXJ0aWNsZSBbDQorPCEtLSBFTEVNRU5UIGRlY2xhcmF0aW9ucyB3b3JrIGFyb3VuZCBNU1hNTCBidWcuIC0tPg0KKzwhRUxFTUVOVCBzZWN0aW9uIEFOWT4NCis8IUFUVExJU1Qgc2VjdGlvbiBpZCBJRCAjSU1QTElFRD4NCis8IUVMRU1FTlQgYXBwZW5kaXggQU5ZPg0KKzwhQVRUTElTVCBhcHBlbmRpeCBpZCBJRCAjSU1QTElFRD4NCis8IUVMRU1FTlQgYmlibGlvbWl4ZWQgQU5ZPg0KKzwhQVRUTElTVCBiaWJsaW9taXhlZCBpZCBJRCAjSU1QTElFRD4NCitdPg0KKzxhcnRpY2xlIHN0YXR1cz0iQ29tbWl0dGVlIFNwZWNpZmljYXRpb24iIHhtbG5zOnA9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9wcm9vZnN5c3RlbSI+DQorDQorPGFydGljbGVpbmZvPg0KKzxyZWxlYXNlaW5mbz4kSWQ6IHNwZWMueG1sLHYgMS4xNTkgMjAwMS8xMi8wMiAxMjoxMjoxMiBqamMgRXhwICQ8L3JlbGVhc2VpbmZvPg0KKzx0aXRsZT5SRUxBWCBORyBTcGVjaWZpY2F0aW9uPC90aXRsZT4NCis8YXV0aG9yZ3JvdXA+DQorPGVkaXRvcj4NCisgIDxmaXJzdG5hbWU+SmFtZXM8L2ZpcnN0bmFtZT48c3VybmFtZT5DbGFyazwvc3VybmFtZT4NCisgIDxhZmZpbGlhdGlvbj4NCisgICAgPGFkZHJlc3M+PGVtYWlsPmpqY0BqY2xhcmsuY29tPC9lbWFpbD48L2FkZHJlc3M+DQorICA8L2FmZmlsaWF0aW9uPg0KKzwvZWRpdG9yPg0KKzxlZGl0b3I+DQorICA8c3VybmFtZT5NVVJBVEE8L3N1cm5hbWU+PGZpcnN0bmFtZT5NYWtvdG88L2ZpcnN0bmFtZT4NCisgIDxhZmZpbGlhdGlvbj4NCisgICAgPGFkZHJlc3M+PGVtYWlsPkVCMk0tTVJUQGFzYWhpLW5ldC5vci5qcDwvZW1haWw+PC9hZGRyZXNzPg0KKyAgPC9hZmZpbGlhdGlvbj4NCis8L2VkaXRvcj4NCis8L2F1dGhvcmdyb3VwPg0KKzxwdWJkYXRlPjMgRGVjZW1iZXIgMjAwMTwvcHViZGF0ZT4NCis8cmVsZWFzZWluZm8gcm9sZT0ibWV0YSI+DQorJElkOiBzcGVjLnhtbCx2IDEuMTU5IDIwMDEvMTIvMDIgMTI6MTI6MTIgampjIEV4cCAkDQorPC9yZWxlYXNlaW5mbz4NCisNCis8Y29weXJpZ2h0Pjx5ZWFyPjIwMDE8L3llYXI+PGhvbGRlcj5PQVNJUzwvaG9sZGVyPjwvY29weXJpZ2h0Pg0KKw0KKzxsZWdhbG5vdGljZT4NCisNCis8cGFyYT5Db3B5cmlnaHQgJiMxNjk7IFRoZSBPcmdhbml6YXRpb24gZm9yIHRoZSBBZHZhbmNlbWVudCBvZg0KK1N0cnVjdHVyZWQgSW5mb3JtYXRpb24gU3RhbmRhcmRzIFtPQVNJU10gMjAwMS4gQWxsIFJpZ2h0cw0KK1Jlc2VydmVkLjwvcGFyYT4NCisNCis8cGFyYT5UaGlzIGRvY3VtZW50IGFuZCB0cmFuc2xhdGlvbnMgb2YgaXQgbWF5IGJlIGNvcGllZCBhbmQgZnVybmlzaGVkDQordG8gb3RoZXJzLCBhbmQgZGVyaXZhdGl2ZSB3b3JrcyB0aGF0IGNvbW1lbnQgb24gb3Igb3RoZXJ3aXNlIGV4cGxhaW4NCitpdCBvciBhc3Npc3QgaW4gaXRzIGltcGxlbWVudGF0aW9uIG1heSBiZSBwcmVwYXJlZCwgY29waWVkLCBwdWJsaXNoZWQNCithbmQgZGlzdHJpYnV0ZWQsIGluIHdob2xlIG9yIGluIHBhcnQsIHdpdGhvdXQgcmVzdHJpY3Rpb24gb2YgYW55IGtpbmQsDQorcHJvdmlkZWQgdGhhdCB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwYXJhZ3JhcGggYXJlDQoraW5jbHVkZWQgb24gYWxsIHN1Y2ggY29waWVzIGFuZCBkZXJpdmF0aXZlIHdvcmtzLiBIb3dldmVyLCB0aGlzDQorZG9jdW1lbnQgaXRzZWxmIG1heSBub3QgYmUgbW9kaWZpZWQgaW4gYW55IHdheSwgc3VjaCBhcyBieSByZW1vdmluZw0KK3RoZSBjb3B5cmlnaHQgbm90aWNlIG9yIHJlZmVyZW5jZXMgdG8gT0FTSVMsIGV4Y2VwdCBhcyBuZWVkZWQgZm9yIHRoZQ0KK3B1cnBvc2Ugb2YgZGV2ZWxvcGluZyBPQVNJUyBzcGVjaWZpY2F0aW9ucywgaW4gd2hpY2ggY2FzZSB0aGUNCitwcm9jZWR1cmVzIGZvciBjb3B5cmlnaHRzIGRlZmluZWQgaW4gdGhlIE9BU0lTIEludGVsbGVjdHVhbCBQcm9wZXJ0eQ0KK1JpZ2h0cyBkb2N1bWVudCBtdXN0IGJlIGZvbGxvd2VkLCBvciBhcyByZXF1aXJlZCB0byB0cmFuc2xhdGUgaXQgaW50bw0KK2xhbmd1YWdlcyBvdGhlciB0aGFuIEVuZ2xpc2guPC9wYXJhPg0KKw0KKzxwYXJhPlRoZSBsaW1pdGVkIHBlcm1pc3Npb25zIGdyYW50ZWQgYWJvdmUgYXJlIHBlcnBldHVhbCBhbmQgd2lsbCBub3QNCitiZSByZXZva2VkIGJ5IE9BU0lTIG9yIGl0cyBzdWNjZXNzb3JzIG9yIGFzc2lnbnMuPC9wYXJhPg0KKw0KKzxwYXJhPlRoaXMgZG9jdW1lbnQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQgaGVyZWluIGlzIHByb3ZpZGVkDQorb24gYW4gPHF1b3RlPkFTIElTPC9xdW90ZT4gYmFzaXMgYW5kIE9BU0lTIERJU0NMQUlNUyBBTEwgV0FSUkFOVElFUywNCitFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gQU5ZIFdBUlJBTlRZIFRIQVQgVEhFDQorVVNFIE9GIFRIRSBJTkZPUk1BVElPTiBIRVJFSU4gV0lMTCBOT1QgSU5GUklOR0UgQU5ZIFJJR0hUUyBPUiBBTlkNCitJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIE9SIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUg0KK1BVUlBPU0UuPC9wYXJhPg0KKw0KKzwvbGVnYWxub3RpY2U+DQorDQorPGxlZ2Fsbm90aWNlIHJvbGU9InN0YXR1cyI+PHRpdGxlPlN0YXR1cyBvZiB0aGlzIERvY3VtZW50PC90aXRsZT4NCisNCis8cGFyYT5UaGlzIENvbW1pdHRlZSBTcGVjaWZpY2F0aW9uIHdhcyBhcHByb3ZlZCBmb3IgcHVibGljYXRpb24gYnkgdGhlDQorT0FTSVMgUkVMQVggTkcgdGVjaG5pY2FsIGNvbW1pdHRlZS4gSXQgaXMgYSBzdGFibGUgZG9jdW1lbnQgd2hpY2gNCityZXByZXNlbnRzIHRoZSBjb25zZW5zdXMgb2YgdGhlIGNvbW1pdHRlZS4gQ29tbWVudHMgb24gdGhpcyBkb2N1bWVudA0KK21heSBiZSBzZW50IHRvIDx1bGluaw0KK3VybD0ibWFpbHRvOnJlbGF4LW5nLWNvbW1lbnRAbGlzdHMub2FzaXMtb3Blbi5vcmciDQorPnJlbGF4LW5nLWNvbW1lbnRAbGlzdHMub2FzaXMtb3Blbi5vcmc8L3VsaW5rPi48L3BhcmE+DQorDQorPHBhcmE+QSBsaXN0IG9mIGtub3duIGVycm9ycyBpbiB0aGlzIGRvY3VtZW50IGlzIGF2YWlsYWJsZSBhdCA8dWxpbmsNCit1cmw9Imh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvY29tbWl0dGVlcy9yZWxheC1uZy9zcGVjLTIwMDExMjAzLWVycmF0YS5odG1sIg0KKz5odHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL2NvbW1pdHRlZXMvcmVsYXgtbmcvc3BlYy0yMDAxMTIwMy1lcnJhdGEuaHRtbDwvdWxpbmsNCis+LjwvcGFyYT4NCisNCis8L2xlZ2Fsbm90aWNlPg0KKw0KKzxhYnN0cmFjdD4NCis8cGFyYT5UaGlzIGlzIHRoZSBkZWZpbml0aXZlIHNwZWNpZmljYXRpb24gb2YgUkVMQVggTkcsIGEgc2ltcGxlDQorc2NoZW1hIGxhbmd1YWdlIGZvciBYTUwsIGJhc2VkIG9uIDx4cmVmIGxpbmtlbmQ9InJlbGF4Ii8+IGFuZCA8eHJlZg0KK2xpbmtlbmQ9InRyZXgiLz4uIEEgUkVMQVggTkcgc2NoZW1hIHNwZWNpZmllcyBhIHBhdHRlcm4gZm9yIHRoZQ0KK3N0cnVjdHVyZSBhbmQgY29udGVudCBvZiBhbiBYTUwgZG9jdW1lbnQuIEEgUkVMQVggTkcgc2NoZW1hIGlzIGl0c2VsZg0KK2FuIFhNTCBkb2N1bWVudC48L3BhcmE+DQorPC9hYnN0cmFjdD4NCisNCis8cmV2aGlzdG9yeT4NCis8cmV2aXNpb24+DQorICA8cmV2bnVtYmVyPkNvbW1pdHRlZSBTcGVjaWZpY2F0aW9uPC9yZXZudW1iZXI+DQorICA8ZGF0ZT4zIERlY2VtYmVyIDIwMDE8L2RhdGU+DQorPC9yZXZpc2lvbj4NCis8cmV2aXNpb24+DQorICA8cmV2bnVtYmVyPkNvbW1pdHRlZSBTcGVjaWZpY2F0aW9uPC9yZXZudW1iZXI+DQorICA8ZGF0ZT4xMSBBdWd1c3QgMjAwMTwvZGF0ZT4NCis8L3JldmlzaW9uPg0KKzwvcmV2aGlzdG9yeT4NCis8L2FydGljbGVpbmZvPg0KKw0KKw0KKzxzZWN0aW9uPg0KKzx0aXRsZT5JbnRyb2R1Y3Rpb248L3RpdGxlPg0KKw0KKzxwYXJhPlRoaXMgZG9jdW1lbnQgc3BlY2lmaWVzPC9wYXJhPg0KKw0KKzxpdGVtaXplZGxpc3Q+DQorDQorPGxpc3RpdGVtPjxwYXJhPndoZW4gYW4gWE1MIGRvY3VtZW50IGlzIGEgY29ycmVjdCBSRUxBWCBORw0KK3NjaGVtYTwvcGFyYT48L2xpc3RpdGVtPg0KKw0KKzxsaXN0aXRlbT48cGFyYT53aGVuIGFuIFhNTCBkb2N1bWVudCBpcyB2YWxpZCB3aXRoIHJlc3BlY3QgdG8gYQ0KK2NvcnJlY3QgUkVMQVggTkcgc2NoZW1hPC9wYXJhPjwvbGlzdGl0ZW0+DQorDQorPC9pdGVtaXplZGxpc3Q+DQorDQorPHBhcmE+QW4gWE1MIGRvY3VtZW50IHRoYXQgaXMgYmVpbmcgdmFsaWRhdGVkIHdpdGggcmVzcGVjdCB0byBhIFJFTEFYIE5HDQorc2NoZW1hIGlzIHJlZmVycmVkIHRvIGFzIGFuIGluc3RhbmNlLjwvcGFyYT4NCisNCis8cGFyYT5UaGUgc3RydWN0dXJlIG9mIHRoaXMgZG9jdW1lbnQgaXMgYXMgZm9sbG93cy4gIDx4cmVmDQorbGlua2VuZD0iZGF0YS1tb2RlbCIvPiBkZXNjcmliZXMgdGhlIGRhdGEgbW9kZWwsIHdoaWNoIGlzIHRoZQ0KK2Fic3RyYWN0aW9uIG9mIGFuIFhNTCBkb2N1bWVudCB1c2VkIHRocm91Z2hvdXQgdGhlIHJlc3Qgb2YgdGhlDQorZG9jdW1lbnQuICA8eHJlZiBsaW5rZW5kPSJmdWxsLXN5bnRheCIvPiBkZXNjcmliZXMgdGhlIHN5bnRheCBvZiBhDQorUkVMQVggTkcgc2NoZW1hOyBhbnkgY29ycmVjdCBSRUxBWCBORyBzY2hlbWEgbXVzdCBjb25mb3JtIHRvIHRoaXMNCitzeW50YXguICA8eHJlZiBsaW5rZW5kPSJzaW1wbGlmaWNhdGlvbiIvPiBkZXNjcmliZXMgYSBzZXF1ZW5jZSBvZg0KK3RyYW5zZm9ybWF0aW9ucyB0aGF0IGFyZSBhcHBsaWVkIHRvIHNpbXBsaWZ5IGEgUkVMQVggTkcgc2NoZW1hOw0KK2FwcGx5aW5nIHRoZSB0cmFuc2Zvcm1hdGlvbnMgYWxzbyBpbnZvbHZlcyBjaGVja2luZyBjZXJ0YWluDQorcmVzdHJpY3Rpb25zIHRoYXQgbXVzdCBiZSBzYXRpc2ZpZWQgYnkgYSBjb3JyZWN0IFJFTEFYIE5HDQorc2NoZW1hLiA8eHJlZiBsaW5rZW5kPSJzaW1wbGUtc3ludGF4Ii8+IGRlc2NyaWJlcyB0aGUgc3ludGF4IHRoYXQNCityZXN1bHRzIGZyb20gYXBwbHlpbmcgdGhlIHRyYW5zZm9ybWF0aW9uczsgdGhpcyBzaW1wbGUgc3ludGF4IGlzIGENCitzdWJzZXQgb2YgdGhlIGZ1bGwgc3ludGF4LiAgPHhyZWYgbGlua2VuZD0ic2VtYW50aWNzIi8+IGRlc2NyaWJlcyB0aGUNCitzZW1hbnRpY3Mgb2YgYSBjb3JyZWN0IFJFTEFYIE5HIHNjaGVtYSB0aGF0IHVzZXMgdGhlIHNpbXBsZSBzeW50YXg7DQordGhlIHNlbWFudGljcyBzcGVjaWZ5IHdoZW4gYW4gZWxlbWVudCBpcyB2YWxpZCB3aXRoIHJlc3BlY3QgdG8gYSBSRUxBWA0KK05HIHNjaGVtYS4gIDx4cmVmIGxpbmtlbmQ9InJlc3RyaWN0aW9uIi8+IGRlc2NyaWJlcyByZXN0cmljdGlvbnMgaW4NCit0ZXJtcyBvZiB0aGUgc2ltcGxlIHN5bnRheDsgYSBjb3JyZWN0IFJFTEFYIE5HIHNjaGVtYSBtdXN0IGJlIHN1Y2gNCit0aGF0LCBhZnRlciB0cmFuc2Zvcm1hdGlvbiBpbnRvIHRoZSBzaW1wbGUgZm9ybSwgaXQgc2F0aXNmaWVzIHRoZXNlDQorcmVzdHJpY3Rpb25zLiBGaW5hbGx5LCA8eHJlZiBsaW5rZW5kPSJjb25mb3JtYW5jZSIvPiBkZXNjcmliZXMNCitjb25mb3JtYW5jZSByZXF1aXJlbWVudHMgZm9yIFJFTEFYIE5HIHZhbGlkYXRvcnMuPC9wYXJhPg0KKw0KKzxwYXJhPkEgdHV0b3JpYWwgaXMgYXZhaWxhYmxlIHNlcGFyYXRlbHkgKHNlZSA8eHJlZg0KK2xpbmtlbmQ9InR1dG9yaWFsIi8+KS48L3BhcmE+DQorDQorPC9zZWN0aW9uPg0KKw0KKzxzZWN0aW9uIGlkPSJkYXRhLW1vZGVsIj4NCis8dGl0bGU+RGF0YSBtb2RlbDwvdGl0bGU+DQorDQorPHBhcmE+UkVMQVggTkcgZGVhbHMgd2l0aCBYTUwgZG9jdW1lbnRzIHJlcHJlc2VudGluZyBib3RoIHNjaGVtYXMgYW5kDQoraW5zdGFuY2VzIHRocm91Z2ggYW4gYWJzdHJhY3QgZGF0YSBtb2RlbC4gIFhNTCBkb2N1bWVudHMgcmVwcmVzZW50aW5nDQorc2NoZW1hcyBhbmQgaW5zdGFuY2VzIG11c3QgYmUgd2VsbC1mb3JtZWQgaW4gY29uZm9ybWFuY2Ugd2l0aCA8eHJlZg0KK2xpbmtlbmQ9InhtbC1yZWMiLz4gYW5kIG11c3QgY29uZm9ybSB0byB0aGUgY29uc3RyYWludHMgb2YgPHhyZWYNCitsaW5rZW5kPSJ4bWwtbmFtZXMiLz4uPC9wYXJhPg0KKw0KKzxwYXJhPkFuIFhNTCBkb2N1bWVudCBpcyByZXByZXNlbnRlZCBieSBhbiBlbGVtZW50LiAgQW4gZWxlbWVudCBjb25zaXN0cw0KK29mPC9wYXJhPg0KKw0KKzxpdGVtaXplZGxpc3Q+DQorDQorPGxpc3RpdGVtPjxwYXJhPmEgbmFtZTwvcGFyYT48L2xpc3RpdGVtPg0KKw0KKzxsaXN0aXRlbT48cGFyYT5hIGNvbnRleHQ8L3BhcmE+PC9saXN0aXRlbT4NCisNCis8bGlzdGl0ZW0+PHBhcmE+YSBzZXQgb2YgYXR0cmlidXRlczwvcGFyYT48L2xpc3RpdGVtPg0KKw0KKzxsaXN0aXRlbT48cGFyYT5hbiBvcmRlcmVkIHNlcXVlbmNlIG9mIHplcm8gb3IgbW9yZSBjaGlsZHJlbjsgZWFjaA0KK2NoaWxkIGlzIGVpdGhlciBhbiBlbGVtZW50IG9yIGEgbm9uLWVtcHR5IHN0cmluZzsgdGhlIHNlcXVlbmNlIG5ldmVyIGNvbnRhaW5zDQordHdvIGNvbnNlY3V0aXZlIHN0cmluZ3M8L3BhcmE+PC9saXN0aXRlbT4NCisNCis8L2l0ZW1pemVkbGlzdD4NCisNCis8cGFyYT5BIG5hbWUgY29uc2lzdHMgb2Y8L3BhcmE+DQorDQorPGl0ZW1pemVkbGlzdD4NCis8bGlzdGl0ZW0+PHBhcmE+YSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBuYW1lc3BhY2UgVVJJOyB0aGUgZW1wdHkNCitzdHJpbmcgaGFzIHNwZWNpYWwgc2lnbmlmaWNhbmNlLCByZXByZXNlbnRpbmcgdGhlIGFic2VuY2Ugb2YgYW55DQorbmFtZXNwYWNlPC9wYXJhPjwvbGlzdGl0ZW0+DQorDQorPGxpc3RpdGVtPjxwYXJhPmEgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgbG9jYWwgbmFtZTsgdGhpcyBzdHJpbmcgbWF0Y2hlcyB0aGUgTkNOYW1lDQorcHJvZHVjdGlvbiBvZiA8eHJlZiBsaW5rZW5kPSJ4bWwtbmFtZXMiLz48L3BhcmE+PC9saXN0aXRlbT4NCis8L2l0ZW1pemVkbGlzdD4NCisNCis8cGFyYT5BIGNvbnRleHQgY29uc2lzdHMgb2Y8L3BhcmE+DQorDQorPGl0ZW1pemVkbGlzdD4NCis8bGlzdGl0ZW0+PHBhcmE+YSBiYXNlIFVSSTwvcGFyYT48L2xpc3RpdGVtPg0KKzxsaXN0aXRlbT48cGFyYT5hIG5hbWVzcGFjZSBtYXA7IHRoaXMgbWFwcyBwcmVmaXhlcyB0byBuYW1lc3BhY2UgVVJJcywNCithbmQgYWxzbyBtYXkgc3BlY2lmeSBhIGRlZmF1bHQgbmFtZXNwYWNlIFVSSSAoYXMgZGVjbGFyZWQNCitieSB0aGUgPGxpdGVyYWw+eG1sbnM8L2xpdGVyYWw+IGF0dHJpYnV0ZSk8L3BhcmE+PC9saXN0aXRlbT4NCis8L2l0ZW1pemVkbGlzdD4NCisNCis8cGFyYT5BbiBhdHRyaWJ1dGUgY29uc2lzdHMgb2Y8L3BhcmE+DQorDQorPGl0ZW1pemVkbGlzdD4NCis8bGlzdGl0ZW0+PHBhcmE+YSBuYW1lPC9wYXJhPjwvbGlzdGl0ZW0+DQorPGxpc3RpdGVtPjxwYXJhPmEgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgdmFsdWU8L3BhcmE+PC9saXN0aXRlbT4NCis8L2l0ZW1pemVkbGlzdD4NCisNCis8cGFyYT5BIHN0cmluZyBjb25zaXN0cyBvZiBhIHNlcXVlbmNlIG9mIHplcm8gb3IgbW9yZSBjaGFyYWN0ZXJzLA0KK3doZXJlIGEgY2hhcmFjdGVyIGlzIGFzIGRlZmluZWQgaW4gPHhyZWYgbGlua2VuZD0ieG1sLXJlYyIvPi48L3BhcmE+DQorDQorPHBhcmE+VGhlIGVsZW1lbnQgZm9yIGFuIFhNTCBkb2N1bWVudCBpcyBjb25zdHJ1Y3RlZCBmcm9tIGFuIGluc3RhbmNlDQorb2YgdGhlIDx4cmVmIGxpbmtlbmQ9ImluZm9zZXQiLz4gYXMgZm9sbG93cy4gIFdlIHVzZSB0aGUgbm90YXRpb24NCitbPHJlcGxhY2VhYmxlPng8L3JlcGxhY2VhYmxlPl0gdG8gcmVmZXIgdG8gdGhlIHZhbHVlIG9mIHRoZQ0KKzxyZXBsYWNlYWJsZT54PC9yZXBsYWNlYWJsZT4gcHJvcGVydHkgb2YgYW4gaW5mb3JtYXRpb24gaXRlbS4gQW4NCitlbGVtZW50IGlzIGNvbnN0cnVjdGVkIGZyb20gYSBkb2N1bWVudCBpbmZvcm1hdGlvbiBpdGVtIGJ5DQorY29uc3RydWN0aW5nIGFuIGVsZW1lbnQgZnJvbSB0aGUgW2RvY3VtZW50IGVsZW1lbnRdLiAgQW4gZWxlbWVudCBpcw0KK2NvbnN0cnVjdGVkIGZyb20gYW4gZWxlbWVudCBpbmZvcm1hdGlvbiBpdGVtIGJ5IGNvbnN0cnVjdGluZyB0aGUgbmFtZQ0KK2Zyb20gdGhlIFtuYW1lc3BhY2UgbmFtZV0gYW5kIFtsb2NhbCBuYW1lXSwgdGhlIGNvbnRleHQgZnJvbSB0aGUgW2Jhc2UNCitVUkldIGFuZCBbaW4tc2NvcGUgbmFtZXNwYWNlc10sIHRoZSBhdHRyaWJ1dGVzIGZyb20gdGhlIFthdHRyaWJ1dGVzXSwNCithbmQgdGhlIGNoaWxkcmVuIGZyb20gdGhlIFtjaGlsZHJlbl0uICBUaGUgYXR0cmlidXRlcyBvZiBhbiBlbGVtZW50DQorYXJlIGNvbnN0cnVjdGVkIGZyb20gdGhlIHVub3JkZXJlZCBzZXQgb2YgYXR0cmlidXRlIGluZm9ybWF0aW9uIGl0ZW1zDQorYnkgY29uc3RydWN0aW5nIGFuIGF0dHJpYnV0ZSBmb3IgZWFjaCBhdHRyaWJ1dGUgaW5mb3JtYXRpb24gaXRlbS4gIFRoZQ0KK2NoaWxkcmVuIG9mIGFuIGVsZW1lbnQgYXJlIGNvbnN0cnVjdGVkIGZyb20gdGhlIGxpc3Qgb2YgY2hpbGQNCitpbmZvcm1hdGlvbiBpdGVtcyBmaXJzdCBieSByZW1vdmluZyBpbmZvcm1hdGlvbiBpdGVtcyBvdGhlciB0aGFuDQorZWxlbWVudCBpbmZvcm1hdGlvbiBpdGVtcyBhbmQgY2hhcmFjdGVyIGluZm9ybWF0aW9uIGl0ZW1zLCBhbmQgdGhlbiBieQ0KK2NvbnN0cnVjdGluZyBhbiBlbGVtZW50IGZvciBlYWNoIGVsZW1lbnQgaW5mb3JtYXRpb24gaXRlbSBpbiB0aGUgbGlzdA0KK2FuZCBhIHN0cmluZyBmb3IgZWFjaCBtYXhpbWFsIHNlcXVlbmNlIG9mIGNoYXJhY3RlciBpbmZvcm1hdGlvbiBpdGVtcy4NCitBbiBhdHRyaWJ1dGUgaXMgY29uc3RydWN0ZWQgZnJvbSBhbiBhdHRyaWJ1dGUgaW5mb3JtYXRpb24gaXRlbSBieQ0KK2NvbnN0cnVjdGluZyB0aGUgbmFtZSBmcm9tIHRoZSBbbmFtZXNwYWNlIG5hbWVdIGFuZCBbbG9jYWwgbmFtZV0sIGFuZA0KK3RoZSB2YWx1ZSBmcm9tIHRoZSBbbm9ybWFsaXplZCB2YWx1ZV0uICBXaGVuIGNvbnN0cnVjdGluZyB0aGUgbmFtZSBvZg0KK2FuIGVsZW1lbnQgb3IgYXR0cmlidXRlIGZyb20gdGhlIFtuYW1lc3BhY2UgbmFtZV0gYW5kIFtsb2NhbCBuYW1lXSwgaWYNCit0aGUgW25hbWVzcGFjZSBuYW1lXSBwcm9wZXJ0eSBpcyBub3QgcHJlc2VudCwgdGhlbiB0aGUgbmFtZSBpcw0KK2NvbnN0cnVjdGVkIGZyb20gYW4gZW1wdHkgc3RyaW5nIGFuZCB0aGUgW2xvY2FsIG5hbWVdLiBBIHN0cmluZyBpcw0KK2NvbnN0cnVjdGVkIGZyb20gYSBzZXF1ZW5jZSBvZiBjaGFyYWN0ZXIgaW5mb3JtYXRpb24gaXRlbXMgYnkNCitjb25zdHJ1Y3RpbmcgYSBjaGFyYWN0ZXIgZnJvbSB0aGUgW2NoYXJhY3RlciBjb2RlXSBvZiBlYWNoIGNoYXJhY3Rlcg0KK2luZm9ybWF0aW9uIGl0ZW0uPC9wYXJhPg0KKw0KKzxwYXJhPkl0IGlzIHBvc3NpYmxlIGZvciB0aGVyZSB0byBiZSBtdWx0aXBsZSBkaXN0aW5jdCBpbmZvc2V0cyBmb3IgYQ0KK3NpbmdsZSBYTUwgZG9jdW1lbnQuICBUaGlzIGlzIGJlY2F1c2UgWE1MIHBhcnNlcnMgYXJlIG5vdCByZXF1aXJlZCB0bw0KK3Byb2Nlc3MgYWxsIERURCBkZWNsYXJhdGlvbnMgb3IgZXhwYW5kIGFsbCBleHRlcm5hbCBwYXJzZWQgZ2VuZXJhbA0KK2VudGl0aWVzLiAgQW1vbmdzdCB0aGVzZSBtdWx0aXBsZSBpbmZvc2V0cywgdGhlcmUgaXMgZXhhY3RseSBvbmUNCitpbmZvc2V0IGZvciB3aGljaCBbYWxsIGRlY2xhcmF0aW9ucyBwcm9jZXNzZWRdIGlzIHRydWUgYW5kIHdoaWNoIGRvZXMNCitub3QgY29udGFpbiBhbnkgdW5leHBhbmRlZCBlbnRpdHkgcmVmZXJlbmNlIGluZm9ybWF0aW9uIGl0ZW1zLiAgVGhpcw0KK2lzIHRoZSBpbmZvc2V0IHRoYXQgaXMgdGhlIGJhc2lzIGZvciBkZWZpbmluZyB0aGUgUkVMQVggTkcgZGF0YQ0KK21vZGVsLjwvcGFyYT4NCisNCis8c2VjdGlvbiBpZD0iZGF0YS1tb2RlbC1leGFtcGxlIj4NCis8dGl0bGU+RXhhbXBsZTwvdGl0bGU+DQorDQorPHBhcmE+U3VwcG9zZSB0aGUgZG9jdW1lbnQNCis8bGl0ZXJhbD5odHRwOi8vd3d3LmV4YW1wbGUuY29tL2RvYy54bWw8L2xpdGVyYWw+IGlzIGFzDQorZm9sbG93czo8L3BhcmE+DQorDQorPHByb2dyYW1saXN0aW5nPjwhW0NEQVRBWzw/eG1sIHZlcnNpb249IjEuMCI/Pg0KKzxmb28+PHByZTE6YmFyMSB4bWxuczpwcmUxPSJodHRwOi8vd3d3LmV4YW1wbGUuY29tL24xIi8+PHByZTI6YmFyMg0KKyAgeG1sbnM6cHJlMj0iaHR0cDovL3d3dy5leGFtcGxlLmNvbS9uMiIvPjwvZm9vPg0KK11dPjwvcHJvZ3JhbWxpc3Rpbmc+DQorDQorPHBhcmE+VGhlIGVsZW1lbnQgcmVwcmVzZW50aW5nIHRoaXMgZG9jdW1lbnQgaGFzPC9wYXJhPg0KKw0KKzxpdGVtaXplZGxpc3Q+DQorPGxpc3RpdGVtPjxwYXJhPmEgbmFtZSB3aGljaCBoYXM8L3BhcmE+DQorPGl0ZW1pemVkbGlzdD4NCisNCis8bGlzdGl0ZW0+PHBhcmE+dGhlIGVtcHR5IHN0cmluZyBhcyB0aGUgbmFtZXNwYWNlIFVSSSwgcmVwcmVzZW50aW5nDQordGhlIGFic2VuY2Ugb2YgYW55IG5hbWVzcGFjZTwvcGFyYT48L2xpc3RpdGVtPg0KKw0KKzxsaXN0aXRlbT48cGFyYT48bGl0ZXJhbD5mb288L2xpdGVyYWw+IGFzIHRoZSBsb2NhbA0KK25hbWU8L3BhcmE+PC9saXN0aXRlbT4NCisNCis8L2l0ZW1pemVkbGlzdD4NCisNCis8L2xpc3RpdGVtPg0KKw0KKzxsaXN0aXRlbT48cGFyYT5hIGNvbnRleHQgd2hpY2ggaGFzPC9wYXJhPg0KKw0KKzxpdGVtaXplZGxpc3Q+DQorPGxpc3RpdGVtPjxwYXJhPjxsaXRlcmFsPmh0dHA6Ly93d3cuZXhhbXBsZS5jb20vZG9jLnhtbDwvbGl0ZXJhbD4gYXMgdGhlIGJhc2UNCitVUkk8L3BhcmE+PC9saXN0aXRlbT4NCisNCis8bGlzdGl0ZW0+PHBhcmE+YSBuYW1lc3BhY2UgbWFwIHdoaWNoPC9wYXJhPg0KKw0KKzxpdGVtaXplZGxpc3Q+DQorDQorPGxpc3RpdGVtPjxwYXJhPm1hcHMgdGhlIHByZWZpeCA8bGl0ZXJhbD54bWw8L2xpdGVyYWw+IHRvIHRoZQ0KK25hbWVzcGFjZSBVUkkNCis8bGl0ZXJhbD5odHRwOi8vd3d3LnczLm9yZy9YTUwvMTk5OC9uYW1lc3BhY2U8L2xpdGVyYWw+DQorKHRoZSA8bGl0ZXJhbD54bWw8L2xpdGVyYWw+IHByZWZpeCBpcyBpbXBsaWNpdGx5IGRlY2xhcmVkDQorYnkgZXZlcnkgWE1MIGRvY3VtZW50KTwvcGFyYT48L2xpc3RpdGVtPg0KKw0KKzxsaXN0aXRlbT48cGFyYT5zcGVjaWZpZXMgdGhlIGVtcHR5IHN0cmluZyBhcyB0aGUgZGVmYXVsdCBuYW1lc3BhY2UNCitVUkk8L3BhcmE+PC9saXN0aXRlbT4NCisNCis8L2l0ZW1pemVkbGlzdD4NCisNCis8L2xpc3RpdGVtPg0KKw0KKzwvaXRlbWl6ZWRsaXN0Pg0KKw0KKzwvbGlzdGl0ZW0+DQorDQorPGxpc3RpdGVtPjxwYXJhPmFuIGVtcHR5IHNldCBvZiBhdHRyaWJ1dGVzPC9wYXJhPjwvbGlzdGl0ZW0+DQorDQorPGxpc3RpdGVtPjxwYXJhPmEgc2VxdWVuY2Ugb2YgY2hpbGRyZW4gY29uc2lzdGluZw0KK29mIGFuIGVsZW1lbnQgd2hpY2ggaGFzPC9wYXJhPg0KKw0KKzxpdGVtaXplZGxpc3Q+DQorPGxpc3RpdGVtPjxwYXJhPmEgbmFtZSB3aGljaCBoYXM8L3BhcmE+DQorPGl0ZW1pemVkbGlzdD4NCisNCis8bGlzdGl0ZW0+PHBhcmE+PGxpdGVyYWw+aHR0cDovL3d3dy5leGFtcGxlLmNvbS9uMTwvbGl0ZXJhbD4gYXMgdGhlDQorbmFtZXNwYWNlIFVSSTwvcGFyYT48L2xpc3RpdGVtPg0KKw0KKzxsaXN0aXRlbT48cGFyYT48bGl0ZXJhbD5iYXIxPC9saXRlcmFsPiBhcyB0aGUgbG9jYWwNCituYW1lPC9wYXJhPjwvbGlzdGl0ZW0+DQorDQorPC9pdGVtaXplZGxpc3Q+DQorDQorPC9saXN0aXRlbT4NCisNCis8bGlzdGl0ZW0+PHBhcmE+YSBjb250ZXh0IHdoaWNoIGhhczwvcGFyYT4NCisNCis8aXRlbWl6ZWRsaXN0Pg0KKzxsaXN0aXRlbT48cGFyYT48bGl0ZXJhbD5odHRwOi8vd3d3LmV4YW1wbGUuY29tL2RvYy54bWw8L2xpdGVyYWw+IGFzIHRoZSBiYXNlDQorVVJJPC9wYXJhPjwvbGlzdGl0ZW0+DQorDQorPGxpc3RpdGVtPjxwYXJhPmEgbmFtZXNwYWNlIG1hcCB3aGljaDwvcGFyYT4NCisNCis8aXRlbWl6ZWRsaXN0Pg0KKw0KKzxsaXN0aXRlbT48cGFyYT5tYXBzIHRoZSBwcmVmaXggPGxpdGVyYWw+cHJlMTwvbGl0ZXJhbD4gdG8gdGhlDQorbmFtZXNwYWNlIFVSSQ0KKzxsaXRlcmFsPmh0dHA6Ly93d3cuZXhhbXBsZS5jb20vbjE8L2xpdGVyYWw+PC9wYXJhPjwvbGlzdGl0ZW0+DQorDQorPGxpc3RpdGVtPjxwYXJhPm1hcHMgdGhlIHByZWZpeCA8bGl0ZXJhbD54bWw8L2xpdGVyYWw+IHRvIHRoZQ0KK25hbWVzcGFjZSBVUkkNCis8bGl0ZXJhbD5odHRwOi8vd3d3LnczLm9yZy9YTUwvMTk5OC9uYW1lc3BhY2U8L2xpdGVyYWw+PC9wYXJhPjwvbGlzdGl0ZW0+DQorDQorPGxpc3RpdGVtPjxwYXJhPnNwZWNpZmllcyB0aGUgZW1wdHkgc3RyaW5nIGFzIHRoZSBkZWZhdWx0IG5hbWVzcGFjZQ0KK1VSSTwvcGFyYT48L2xpc3RpdGVtPg0KKw0KKzwvaXRlbWl6ZWRsaXN0Pg0KKw0KKzwvbGlzdGl0ZW0+DQorDQorPC9pdGVtaXplZGxpc3Q+DQorDQorPC9saXN0aXRlbT4NCisNCis8bGlzdGl0ZW0+PHBhcmE+YW4gZW1wdHkgc2V0IG9mIGF0dHJpYnV0ZXM8L3BhcmE+PC9saXN0aXRlbT4NCisNCis8bGlzdGl0ZW0+PHBhcmE+YW4gZW1wdHkgc2VxdWVuY2Ugb2YgY2hpbGRyZW48L3BhcmE+PC9saXN0aXRlbT4NCisNCis8L2l0ZW1pemVkbGlzdD4NCisNCis8cGFyYT5mb2xsb3dlZCBieSBhbiBlbGVtZW50IHdoaWNoIGhhczwvcGFyYT4NCisgDQorPGl0ZW1pemVkbGlzdD4NCis8bGlzdGl0ZW0+PHBhcmE+YSBuYW1lIHdoaWNoIGhhczwvcGFyYT4NCis8aXRlbWl6ZWRsaXN0Pg0KKw0KKzxsaXN0aXRlbT48cGFyYT48bGl0ZXJhbD5odHRwOi8vd3d3LmV4YW1wbGUuY29tL24yPC9saXRlcmFsPiBhcyB0aGUNCituYW1lc3BhY2UgVVJJPC9wYXJhPjwvbGlzdGl0ZW0+DQorDQorPGxpc3RpdGVtPjxwYXJhPjxsaXRlcmFsPmJhcjI8L2xpdGVyYWw+IGFzIHRoZSBsb2NhbA0KK25hbWU8L3BhcmE+PC9saXN0aXRlbT4NCisNCis8L2l0ZW1pemVkbGlzdD4NCisNCis8L2xpc3RpdGVtPg0KKw0KKzxsaXN0aXRlbT48cGFyYT5hIGNvbnRleHQgd2hpY2ggaGFzPC9wYXJhPg0KKw0KKzxpdGVtaXplZGxpc3Q+DQorPGxpc3RpdGVtPjxwYXJhPjxsaXRlcmFsPmh0dHA6Ly93d3cuZXhhbXBsZS5jb20vZG9jLnhtbDwvbGl0ZXJhbD4gYXMgdGhlIGJhc2UNCitVUkk8L3BhcmE+PC9saXN0aXRlbT4NCisNCis8bGlzdGl0ZW0+PHBhcmE+YSBuYW1lc3BhY2UgbWFwIHdoaWNoPC9wYXJhPg0KKw0KKzxpdGVtaXplZGxpc3Q+DQorDQorPGxpc3RpdGVtPjxwYXJhPm1hcHMgdGhlIHByZWZpeCA8bGl0ZXJhbD5wcmUyPC9saXRlcmFsPiB0byB0aGUNCituYW1lc3BhY2UgVVJJDQorPGxpdGVyYWw+aHR0cDovL3d3dy5leGFtcGxlLmNvbS9uMjwvbGl0ZXJhbD48L3BhcmE+PC9saXN0aXRlbT4NCisNCis8bGlzdGl0ZW0+PHBhcmE+bWFwcyB0aGUgcHJlZml4IDxsaXRlcmFsPnhtbDwvbGl0ZXJhbD4gdG8gdGhlDQorbmFtZXNwYWNlIFVSSQ0KKzxsaXRlcmFsPmh0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZTwvbGl0ZXJhbD48L3BhcmE+PC9saXN0aXRlbT4NCisNCis8bGlzdGl0ZW0+PHBhcmE+c3BlY2lmaWVzIHRoZSBlbXB0eSBzdHJpbmcgYXMgdGhlIGRlZmF1bHQgbmFtZXNwYWNlDQorVVJJPC9wYXJhPjwvbGlzdGl0ZW0+DQorDQorPC9pdGVtaXplZGxpc3Q+DQorDQorPC9saXN0aXRlbT4NCisNCis8L2l0ZW1pemVkbGlzdD4NCisNCis8L2xpc3RpdGVtPg0KKw0KKzxsaXN0aXRlbT48cGFyYT5hbiBlbXB0eSBzZXQgb2YgYXR0cmlidXRlczwvcGFyYT48L2xpc3RpdGVtPg0KKw0KKzxsaXN0aXRlbT48cGFyYT5hbiBlbXB0eSBzZXF1ZW5jZSBvZiBjaGlsZHJlbjwvcGFyYT48L2xpc3RpdGVtPg0KKw0KKzwvaXRlbWl6ZWRsaXN0Pg0KKw0KKzwvbGlzdGl0ZW0+DQorPC9pdGVtaXplZGxpc3Q+DQorDQorPC9zZWN0aW9uPg0KKw0KKzwvc2VjdGlvbj4NCisNCis8c2VjdGlvbiBpZD0iZnVsbC1zeW50YXgiPg0KKzx0aXRsZT5GdWxsIHN5bnRheDwvdGl0bGU+DQorDQorPHBhcmE+VGhlIGZvbGxvd2luZyBncmFtbWFyIHN1bW1hcml6ZXMgdGhlIHN5bnRheCBvZiBSRUxBWCBORy4NCitBbHRob3VnaCB3ZSB1c2UgYSBub3RhdGlvbiBiYXNlZCBvbiB0aGUgWE1MIHJlcHJlc2VudGF0aW9uIG9mIGFuIFJFTEFYDQorTkcgc2NoZW1hIGFzIGEgc2VxdWVuY2Ugb2YgY2hhcmFjdGVycywgdGhlIGdyYW1tYXIgbXVzdCBiZSB1bmRlcnN0b29kDQorYXMgb3BlcmF0aW5nIGF0IHRoZSBkYXRhIG1vZGVsIGxldmVsLiAgRm9yIGV4YW1wbGUsIGFsdGhvdWdoIHRoZQ0KK3N5bnRheCB1c2VzIDxsaXRlcmFsPjwhW0NEQVRBWzx0ZXh0Lz5dXT48L2xpdGVyYWw+LCBhbiBpbnN0YW5jZSBvcg0KK3NjaGVtYSBjYW4gdXNlIDxsaXRlcmFsPjwhW0NEQVRBWzx0ZXh0PjwvdGV4dD5dXT48L2xpdGVyYWw+IGluc3RlYWQsDQorYmVjYXVzZSB0aGV5IGJvdGggcmVwcmVzZW50IHRoZSBzYW1lIGVsZW1lbnQgYXQgdGhlIGRhdGEgbW9kZWwgbGV2ZWwuDQorQWxsIGVsZW1lbnRzIHNob3duIGluIHRoZSBncmFtbWFyIGFyZSBxdWFsaWZpZWQgd2l0aCB0aGUgbmFtZXNwYWNlDQorVVJJOjwvcGFyYT4NCisNCis8cHJvZ3JhbWxpc3Rpbmc+aHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjA8L3Byb2dyYW1saXN0aW5nPg0KKw0KKzxwYXJhPlRoZSBzeW1ib2xzIFFOYW1lIGFuZCBOQ05hbWUgYXJlIGRlZmluZWQgaW4gPHhyZWYNCitsaW5rZW5kPSJ4bWwtbmFtZXMiLz4uICBUaGUgYW55VVJJIHN5bWJvbCBoYXMgdGhlIHNhbWUgbWVhbmluZyBhcyB0aGUNCithbnlVUkkgZGF0YXR5cGUgb2YgPHhyZWYgbGlua2VuZD0ieG1sc2NoZW1hLTIiLz46IGl0IGluZGljYXRlcyBhDQorc3RyaW5nIHRoYXQsIGFmdGVyIGVzY2FwaW5nIG9mIGRpc2FsbG93ZWQgdmFsdWVzIGFzIGRlc2NyaWJlZCBpbg0KK1NlY3Rpb24gNS40IG9mIDx4cmVmIGxpbmtlbmQ9InhsaW5rIi8+LCBpcyBhIFVSSSByZWZlcmVuY2UgYXMgZGVmaW5lZA0KK2luIDx4cmVmIGxpbmtlbmQ9InJmYzIzOTYiLz4gKGFzIG1vZGlmaWVkIGJ5IDx4cmVmDQorbGlua2VuZD0icmZjMjczMiIvPikuICBUaGUgc3ltYm9sIHN0cmluZyBtYXRjaGVzIGFueSBzdHJpbmcuPC9wYXJhPg0KKw0KKzxwYXJhPkluIGFkZGl0aW9uIHRvIHRoZSBhdHRyaWJ1dGVzIHNob3duIGV4cGxpY2l0bHksIGFueSBlbGVtZW50IGNhbg0KK2hhdmUgYW4gPGxpdGVyYWw+bnM8L2xpdGVyYWw+IGF0dHJpYnV0ZSBhbmQgYW55IGVsZW1lbnQgY2FuIGhhdmUgYQ0KKzxsaXRlcmFsPmRhdGF0eXBlTGlicmFyeTwvbGl0ZXJhbD4gYXR0cmlidXRlLiBUaGUNCis8bGl0ZXJhbD5uczwvbGl0ZXJhbD4gYXR0cmlidXRlIGNhbiBoYXZlIGFueSB2YWx1ZS4gIFRoZSB2YWx1ZSBvZiB0aGUNCis8bGl0ZXJhbD5kYXRhdHlwZUxpYnJhcnk8L2xpdGVyYWw+IGF0dHJpYnV0ZSBtdXN0IG1hdGNoIHRoZSBhbnlVUkkNCitzeW1ib2wgYXMgZGVzY3JpYmVkIGluIHRoZSBwcmV2aW91cyBwYXJhZ3JhcGg7IGluIGFkZGl0aW9uLCBpdCBtdXN0DQorbm90IHVzZSB0aGUgcmVsYXRpdmUgZm9ybSBvZiBVUkkgcmVmZXJlbmNlIGFuZCBtdXN0IG5vdCBoYXZlIGENCitmcmFnbWVudCBpZGVudGlmaWVyOyBhcyBhbiBleGNlcHRpb24gdG8gdGhpcywgdGhlIHZhbHVlIG1heSBiZSB0aGUNCitlbXB0eSBzdHJpbmcuPC9wYXJhPg0KKw0KKzxwYXJhPkFueSBlbGVtZW50IGNhbiBhbHNvIGhhdmUgZm9yZWlnbiBhdHRyaWJ1dGVzIGluIGFkZGl0aW9uIHRvIHRoZQ0KK2F0dHJpYnV0ZXMgc2hvd24gaW4gdGhlIGdyYW1tYXIuIEEgZm9yZWlnbiBhdHRyaWJ1dGUgaXMgYW4gYXR0cmlidXRlDQord2l0aCBhIG5hbWUgd2hvc2UgbmFtZXNwYWNlIFVSSSBpcyBuZWl0aGVyIHRoZSBlbXB0eSBzdHJpbmcgbm9yIHRoZQ0KK1JFTEFYIE5HIG5hbWVzcGFjZSBVUkkuICBBbnkgZWxlbWVudCB0aGF0IGNhbm5vdCBoYXZlIHN0cmluZyBjaGlsZHJlbg0KKyh0aGF0IGlzLCBhbnkgZWxlbWVudCBvdGhlciB0aGFuIDxsaXRlcmFsPnZhbHVlPC9saXRlcmFsPiwgPGxpdGVyYWw+cGFyYW08L2xpdGVyYWw+DQorYW5kIDxsaXRlcmFsPm5hbWU8L2xpdGVyYWw+KSBtYXkgaGF2ZSBmb3JlaWduIGNoaWxkIGVsZW1lbnRzIGluIGFkZGl0aW9uDQordG8gdGhlIGNoaWxkIGVsZW1lbnRzIHNob3duIGluIHRoZSBncmFtbWFyLiBBIGZvcmVpZ24gZWxlbWVudCBpcyBhbg0KK2VsZW1lbnQgd2l0aCBhIG5hbWUgd2hvc2UgbmFtZXNwYWNlIFVSSSBpcyBub3QgdGhlIFJFTEFYIE5HIG5hbWVzcGFjZQ0KK1VSSS4gIFRoZXJlIGFyZSBubyBjb25zdHJhaW50cyBvbiB0aGUgcmVsYXRpdmUgcG9zaXRpb24gb2YgZm9yZWlnbg0KK2NoaWxkIGVsZW1lbnRzIHdpdGggcmVzcGVjdCB0byBvdGhlciBjaGlsZCBlbGVtZW50cy48L3BhcmE+DQorDQorPHBhcmE+QW55IGVsZW1lbnQgY2FuIGFsc28gaGF2ZSBhcyBjaGlsZHJlbiBzdHJpbmdzIHRoYXQgY29uc2lzdA0KK2VudGlyZWx5IG9mIHdoaXRlc3BhY2UgY2hhcmFjdGVycywgd2hlcmUgYSB3aGl0ZXNwYWNlIGNoYXJhY3RlciBpcyBvbmUNCitvZiAjeDIwLCAjeDksICN4RCBvciAjeEEuIFRoZXJlIGFyZSBubyBjb25zdHJhaW50cyBvbiB0aGUgcmVsYXRpdmUNCitwb3NpdGlvbiBvZiB3aGl0ZXNwYWNlIHN0cmluZyBjaGlsZHJlbiB3aXRoIHJlc3BlY3QgdG8gY2hpbGQNCitlbGVtZW50cy48L3BhcmE+DQorDQorPHBhcmE+TGVhZGluZyBhbmQgdHJhaWxpbmcgd2hpdGVzcGFjZSBpcyBhbGxvd2VkIGZvciB2YWx1ZSBvZiBlYWNoDQorPGxpdGVyYWw+bmFtZTwvbGl0ZXJhbD4sIDxsaXRlcmFsPnR5cGU8L2xpdGVyYWw+IGFuZA0KKzxsaXRlcmFsPmNvbWJpbmU8L2xpdGVyYWw+IGF0dHJpYnV0ZSBhbmQgZm9yIHRoZSBjb250ZW50IG9mIGVhY2gNCis8bGl0ZXJhbD5uYW1lPC9saXRlcmFsPiBlbGVtZW50LjwvcGFyYT4NCisNCis8Z3JhbW1hcnJlZiBzcmM9ImZ1bGwucm5nIi8+DQorDQorPHNlY3Rpb24gaWQ9ImZ1bGwtc3ludGF4LWV4YW1wbGUiPg0KKzx0aXRsZT5FeGFtcGxlPC90aXRsZT4NCisNCis8cGFyYT5IZXJlIGlzIGFuIGV4YW1wbGUgb2YgYSBzY2hlbWEgaW4gdGhlIGZ1bGwgc3ludGF4IGZvciB0aGUNCitkb2N1bWVudCBpbiA8eHJlZiBsaW5rZW5kPSJkYXRhLW1vZGVsLWV4YW1wbGUiLz4uPC9wYXJhPg0KKw0KKzxwcm9ncmFtbGlzdGluZz48IVtDREFUQVs8P3htbCB2ZXJzaW9uPSIxLjAiPz4NCis8ZWxlbWVudCBuYW1lPSJmb28iDQorICAgICAgICAgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIg0KKyAgICAgICAgIHhtbG5zOmE9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9hbm5vdGF0aW9uLzEuMCINCisgICAgICAgICB4bWxuczpleDE9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20vbjEiDQorICAgICAgICAgeG1sbnM6ZXgyPSJodHRwOi8vd3d3LmV4YW1wbGUuY29tL24yIj4NCisgIDxhOmRvY3VtZW50YXRpb24+QSBmb28gZWxlbWVudC48L2E6ZG9jdW1lbnQ+DQorICA8ZWxlbWVudCBuYW1lPSJleDE6YmFyMSI+DQorICAgIDxlbXB0eS8+DQorICA8L2VsZW1lbnQ+DQorICA8ZWxlbWVudCBuYW1lPSJleDI6YmFyMiI+DQorICAgIDxlbXB0eS8+DQorICA8L2VsZW1lbnQ+DQorPC9lbGVtZW50Pl1dPjwvcHJvZ3JhbWxpc3Rpbmc+DQorDQorPC9zZWN0aW9uPg0KKw0KKzwvc2VjdGlvbj4NCisNCis8c2VjdGlvbiBpZD0ic2ltcGxpZmljYXRpb24iPg0KKzx0aXRsZT5TaW1wbGlmaWNhdGlvbjwvdGl0bGU+DQorDQorPHBhcmE+VGhlIGZ1bGwgc3ludGF4IGdpdmVuIGluIHRoZSBwcmV2aW91cyBzZWN0aW9uIGlzIHRyYW5zZm9ybWVkDQoraW50byBhIHNpbXBsZXIgc3ludGF4IGJ5IGFwcGx5aW5nIHRoZSBmb2xsb3dpbmcgdHJhbnNmb3JtYXRpb24gcnVsZXMNCitpbiBvcmRlci4gVGhlIGVmZmVjdCBtdXN0IGJlIGFzIGlmIGVhY2ggcnVsZSB3YXMgYXBwbGllZCB0byBhbGwNCitlbGVtZW50cyBpbiB0aGUgc2NoZW1hIGJlZm9yZSB0aGUgbmV4dCBydWxlIGlzIGFwcGxpZWQuICBBDQordHJhbnNmb3JtYXRpb24gcnVsZSBtYXkgYWxzbyBzcGVjaWZ5IGNvbnN0cmFpbnRzIHRoYXQgbXVzdCBiZQ0KK3NhdGlzZmllZCBieSBhIGNvcnJlY3Qgc2NoZW1hLiBUaGUgdHJhbnNmb3JtYXRpb24gcnVsZXMgYXJlIGFwcGxpZWQNCithdCB0aGUgZGF0YSBtb2RlbCBsZXZlbC4gIEJlZm9yZSB0aGUgdHJhbnNmb3JtYXRpb25zIGFyZSBhcHBsaWVkLCB0aGUNCitzY2hlbWEgaXMgcGFyc2VkIGludG8gYW4gaW5zdGFuY2Ugb2YgdGhlIGRhdGEgbW9kZWwuPC9wYXJhPg0KKw0KKzxzZWN0aW9uPg0KKzx0aXRsZT5Bbm5vdGF0aW9uczwvdGl0bGU+DQorDQorPHBhcmE+Rm9yZWlnbiBhdHRyaWJ1dGVzIGFuZCBlbGVtZW50cyBhcmUgcmVtb3ZlZC48L3BhcmE+DQorDQorPG5vdGU+PHBhcmE+SXQgaXMgc2FmZSB0byByZW1vdmUgPGxpdGVyYWw+eG1sOmJhc2U8L2xpdGVyYWw+DQorYXR0cmlidXRlcyBhdCB0aGlzIHN0YWdlIGJlY2F1c2UgPGxpdGVyYWw+eG1sOmJhc2U8L2xpdGVyYWw+DQorYXR0cmlidXRlcyBhcmUgdXNlZCBpbiBkZXRlcm1pbmluZyB0aGUgW2Jhc2UgVVJJXSBvZiBhbiBlbGVtZW50DQoraW5mb3JtYXRpb24gaXRlbSwgd2hpY2ggaXMgaW4gdHVybiB1c2VkIHRvIGNvbnN0cnVjdCB0aGUgYmFzZSBVUkkgb2YNCit0aGUgY29udGV4dCBvZiBhbiBlbGVtZW50LiAgVGh1cywgYWZ0ZXIgYSBkb2N1bWVudCBoYXMgYmVlbiBwYXJzZWQNCitpbnRvIGFuIGluc3RhbmNlIG9mIHRoZSBkYXRhIG1vZGVsLCA8bGl0ZXJhbD54bWw6YmFzZTwvbGl0ZXJhbD4NCithdHRyaWJ1dGVzIGNhbiBiZSBkaXNjYXJkZWQuPC9wYXJhPjwvbm90ZT4NCisNCis8L3NlY3Rpb24+DQorDQorPHNlY3Rpb24+DQorPHRpdGxlPldoaXRlc3BhY2U8L3RpdGxlPg0KKw0KKzxwYXJhPkZvciBlYWNoIGVsZW1lbnQgb3RoZXIgdGhhbiA8bGl0ZXJhbD52YWx1ZTwvbGl0ZXJhbD4gYW5kDQorPGxpdGVyYWw+cGFyYW08L2xpdGVyYWw+LCBlYWNoIGNoaWxkIHRoYXQgaXMgYSBzdHJpbmcgY29udGFpbmluZyBvbmx5DQord2hpdGVzcGFjZSBjaGFyYWN0ZXJzIGlzIHJlbW92ZWQuPC9wYXJhPg0KKw0KKzxwYXJhPkxlYWRpbmcgYW5kIHRyYWlsaW5nIHdoaXRlc3BhY2UgY2hhcmFjdGVycyBhcmUgcmVtb3ZlZCBmcm9tIHRoZQ0KK3ZhbHVlIG9mIGVhY2ggPGxpdGVyYWw+bmFtZTwvbGl0ZXJhbD4sIDxsaXRlcmFsPnR5cGU8L2xpdGVyYWw+IGFuZA0KKzxsaXRlcmFsPmNvbWJpbmU8L2xpdGVyYWw+IGF0dHJpYnV0ZSBhbmQgZnJvbSB0aGUgY29udGVudCBvZiBlYWNoDQorPGxpdGVyYWw+bmFtZTwvbGl0ZXJhbD4gZWxlbWVudC48L3BhcmE+DQorDQorPC9zZWN0aW9uPg0KKw0KKzxzZWN0aW9uPg0KKzx0aXRsZT48bGl0ZXJhbD5kYXRhdHlwZUxpYnJhcnk8L2xpdGVyYWw+IGF0dHJpYnV0ZTwvdGl0bGU+DQorDQorPHBhcmE+VGhlIHZhbHVlIG9mIGVhY2ggPGxpdGVyYWw+ZGF0YXR5cGVMaWJhcnk8L2xpdGVyYWw+IGF0dHJpYnV0ZSBpcw0KK3RyYW5zZm9ybWVkIGJ5IGVzY2FwaW5nIGRpc2FsbG93ZWQgY2hhcmFjdGVycyBhcyBzcGVjaWZpZWQgaW4gU2VjdGlvbg0KKzUuNCBvZiA8eHJlZiBsaW5rZW5kPSJ4bGluayIvPi48L3BhcmE+DQorDQorPHBhcmE+Rm9yIGFueSA8bGl0ZXJhbD5kYXRhPC9saXRlcmFsPiBvciA8bGl0ZXJhbD52YWx1ZTwvbGl0ZXJhbD4NCitlbGVtZW50IHRoYXQgZG9lcyBub3QgaGF2ZSBhIDxsaXRlcmFsPmRhdGF0eXBlTGlicmFyeTwvbGl0ZXJhbD4NCithdHRyaWJ1dGUsIGEgPGxpdGVyYWw+ZGF0YXR5cGVMaWJyYXJ5PC9saXRlcmFsPiBhdHRyaWJ1dGUgaXMNCithZGRlZC4gVGhlIHZhbHVlIG9mIHRoZSBhZGRlZCA8bGl0ZXJhbD5kYXRhdHlwZUxpYnJhcnk8L2xpdGVyYWw+DQorYXR0cmlidXRlIGlzIHRoZSB2YWx1ZSBvZiB0aGUgPGxpdGVyYWw+ZGF0YXR5cGVMaWJyYXJ5PC9saXRlcmFsPg0KK2F0dHJpYnV0ZSBvZiB0aGUgbmVhcmVzdCBhbmNlc3RvciBlbGVtZW50IHRoYXQgaGFzIGENCis8bGl0ZXJhbD5kYXRhdHlwZUxpYnJhcnk8L2xpdGVyYWw+IGF0dHJpYnV0ZSwgb3IgdGhlIGVtcHR5IHN0cmluZyBpZg0KK3RoZXJlIGlzIG5vIHN1Y2ggYW5jZXN0b3IuIFRoZW4sIGFueSA8bGl0ZXJhbD5kYXRhdHlwZUxpYnJhcnk8L2xpdGVyYWw+DQorYXR0cmlidXRlIHRoYXQgaXMgb24gYW4gZWxlbWVudCBvdGhlciB0aGFuIDxsaXRlcmFsPmRhdGE8L2xpdGVyYWw+IG9yDQorPGxpdGVyYWw+dmFsdWU8L2xpdGVyYWw+IGlzIHJlbW92ZWQuPC9wYXJhPg0KKw0KKzwvc2VjdGlvbj4NCisNCis8c2VjdGlvbj4NCis8dGl0bGU+PGxpdGVyYWw+dHlwZTwvbGl0ZXJhbD4gYXR0cmlidXRlIG9mIDxsaXRlcmFsPnZhbHVlPC9saXRlcmFsPiBlbGVtZW50PC90aXRsZT4NCisNCis8cGFyYT5Gb3IgYW55IDxsaXRlcmFsPnZhbHVlPC9saXRlcmFsPiBlbGVtZW50IHRoYXQgZG9lcyBub3QgaGF2ZSBhDQorPGxpdGVyYWw+dHlwZTwvbGl0ZXJhbD4gYXR0cmlidXRlLCBhIDxsaXRlcmFsPnR5cGU8L2xpdGVyYWw+IGF0dHJpYnV0ZQ0KK2lzIGFkZGVkIHdpdGggdmFsdWUgPGxpdGVyYWw+dG9rZW48L2xpdGVyYWw+IGFuZCB0aGUgdmFsdWUgb2YgdGhlDQorPGxpdGVyYWw+ZGF0YXR5cGVMaWJyYXJ5PC9saXRlcmFsPiBhdHRyaWJ1dGUgaXMgY2hhbmdlZCB0byB0aGUgZW1wdHkNCitzdHJpbmcuPC9wYXJhPg0KKw0KKzwvc2VjdGlvbj4NCisNCis8c2VjdGlvbiBpZD0iaHJlZiI+DQorPHRpdGxlPjxsaXRlcmFsPmhyZWY8L2xpdGVyYWw+IGF0dHJpYnV0ZTwvdGl0bGU+DQorDQorPHBhcmE+VGhlIHZhbHVlIG9mIHRoZSA8bGl0ZXJhbD5ocmVmPC9saXRlcmFsPiBhdHRyaWJ1dGUgb24gYW4NCis8bGl0ZXJhbD5leHRlcm5hbFJlZjwvbGl0ZXJhbD4gb3IgPGxpdGVyYWw+aW5jbHVkZTwvbGl0ZXJhbD4gZWxlbWVudA0KK2lzIGZpcnN0IHRyYW5zZm9ybWVkIGJ5IGVzY2FwaW5nIGRpc2FsbG93ZWQgY2hhcmFjdGVycyBhcyBzcGVjaWZpZWQgaW4NCitTZWN0aW9uIDUuNCBvZiA8eHJlZiBsaW5rZW5kPSJ4bGluayIvPi4gIFRoZSBVUkkgcmVmZXJlbmNlIGlzIHRoZW4NCityZXNvbHZlZCBpbnRvIGFuIGFic29sdXRlIGZvcm0gYXMgZGVzY3JpYmVkIGluIHNlY3Rpb24gNS4yIG9mIDx4cmVmDQorbGlua2VuZD0icmZjMjM5NiIvPiB1c2luZyB0aGUgYmFzZSBVUkkgZnJvbSB0aGUgY29udGV4dCBvZiB0aGUgZWxlbWVudA0KK3RoYXQgYmVhcnMgdGhlIDxsaXRlcmFsPmhyZWY8L2xpdGVyYWw+IGF0dHJpYnV0ZS48L3BhcmE+DQorDQorPHBhcmE+VGhlIHZhbHVlIG9mIHRoZSA8bGl0ZXJhbD5ocmVmPC9saXRlcmFsPiBhdHRyaWJ1dGUgd2lsbCBiZSB1c2VkDQordG8gY29uc3RydWN0IGFuIGVsZW1lbnQgKGFzIHNwZWNpZmllZCBpbiA8eHJlZg0KK2xpbmtlbmQ9ImRhdGEtbW9kZWwiLz4pLiBUaGlzIG11c3QgYmUgZG9uZSBhcyBmb2xsb3dzLiAgVGhlIFVSSQ0KK3JlZmVyZW5jZSBjb25zaXN0cyBvZiB0aGUgVVJJIGl0c2VsZiBhbmQgYW4gb3B0aW9uYWwgZnJhZ21lbnQNCitpZGVudGlmaWVyLiBUaGUgcmVzb3VyY2UgaWRlbnRpZmllZCBieSB0aGUgVVJJIGlzIHJldHJpZXZlZC4gIFRoZQ0KK3Jlc3VsdCBpcyBhIE1JTUUgZW50aXR5OiBhIHNlcXVlbmNlIG9mIGJ5dGVzIGxhYmVsZWQgd2l0aCBhIE1JTUUNCittZWRpYSB0eXBlLiAgVGhlIG1lZGlhIHR5cGUgZGV0ZXJtaW5lcyBob3cgYW4gZWxlbWVudCBpcyBjb25zdHJ1Y3RlZA0KK2Zyb20gdGhlIE1JTUUgZW50aXR5IGFuZCBvcHRpb25hbCBmcmFnbWVudCBpZGVudGlmaWVyLiAgV2hlbiB0aGUgbWVkaWENCit0eXBlIGlzIDxsaXRlcmFsPmFwcGxpY2F0aW9uL3htbDwvbGl0ZXJhbD4gb3INCis8bGl0ZXJhbD50ZXh0L3htbDwvbGl0ZXJhbD4sIHRoZSBNSU1FIGVudGl0eSBtdXN0IGJlIHBhcnNlZCBhcyBhbiBYTUwNCitkb2N1bWVudCBpbiBhY2NvcmRhbmNlIHdpdGggdGhlIGFwcGxpY2FibGUgUkZDIChhdCB0aGUgdGVybSBvZiB3cml0aW5nDQorPHhyZWYgbGlua2VuZD0icmZjMzAyMyIvPikgYW5kIGFuIGVsZW1lbnQgY29uc3RydWN0ZWQgZnJvbSB0aGUgcmVzdWx0DQorb2YgdGhlIHBhcnNlIGFzIHNwZWNpZmllZCBpbiA8eHJlZiBsaW5rZW5kPSJkYXRhLW1vZGVsIi8+LiAgSW4NCitwYXJ0aWN1bGFyLCB0aGUgPGxpdGVyYWw+Y2hhcnNldDwvbGl0ZXJhbD4gcGFyYW1ldGVyIG11c3QgYmUgaGFuZGxlZA0KK2FzIHNwZWNpZmllZCBieSB0aGUgUkZDLiBUaGlzIHNwZWNpZmljYXRpb24gZG9lcyBub3QgZGVmaW5lIHRoZQ0KK2hhbmRsaW5nIG9mIG1lZGlhIHR5cGVzIG90aGVyIHRoYW4gPGxpdGVyYWw+YXBwbGljYXRpb24veG1sPC9saXRlcmFsPg0KK2FuZCA8bGl0ZXJhbD50ZXh0L3htbDwvbGl0ZXJhbD4uIFRoZSA8bGl0ZXJhbD5ocmVmPC9saXRlcmFsPiBhdHRyaWJ1dGUNCittdXN0IG5vdCBpbmNsdWRlIGEgZnJhZ21lbnQgaWRlbnRpZmllciB1bmxlc3MgdGhlIHJlZ2lzdHJhdGlvbiBvZiB0aGUNCittZWRpYSB0eXBlIG9mIHRoZSByZXNvdXJjZSBpZGVudGlmaWVkIGJ5IHRoZSBhdHRyaWJ1dGUgZGVmaW5lcyB0aGUNCitpbnRlcnByZXRhdGlvbiBvZiBmcmFnbWVudCBpZGVudGlmaWVycyBmb3IgdGhhdCBtZWRpYSB0eXBlLjwvcGFyYT4NCisNCis8bm90ZT48cGFyYT48eHJlZiBsaW5rZW5kPSJyZmMzMDIzIi8+IGRvZXMgbm90IGRlZmluZSB0aGUNCitpbnRlcnByZXRhdGlvbiBvZiBmcmFnbWVudCBpZGVudGlmaWVycyBmb3INCis8bGl0ZXJhbD5hcHBsaWNhdGlvbi94bWw8L2xpdGVyYWw+IG9yDQorPGxpdGVyYWw+dGV4dC94bWw8L2xpdGVyYWw+LjwvcGFyYT48L25vdGU+DQorDQorPC9zZWN0aW9uPg0KKw0KKzxzZWN0aW9uPg0KKzx0aXRsZT48bGl0ZXJhbD5leHRlcm5hbFJlZjwvbGl0ZXJhbD4gZWxlbWVudDwvdGl0bGU+DQorDQorPHBhcmE+QW4gPGxpdGVyYWw+ZXh0ZXJuYWxSZWY8L2xpdGVyYWw+IGVsZW1lbnQgaXMgdHJhbnNmb3JtZWQgYXMNCitmb2xsb3dzLiAgQW4gZWxlbWVudCBpcyBjb25zdHJ1Y3RlZCB1c2luZyB0aGUgVVJJIHJlZmVyZW5jZSB0aGF0IGlzDQordGhlIHZhbHVlIG9mIDxsaXRlcmFsPmhyZWY8L2xpdGVyYWw+IGF0dHJpYnV0ZSBhcyBzcGVjaWZpZWQgaW4gPHhyZWYNCitsaW5rZW5kPSJocmVmIi8+LiBUaGlzIGVsZW1lbnQgbXVzdCBtYXRjaCB0aGUgc3ludGF4IGZvciBwYXR0ZXJuLiAgVGhlDQorZWxlbWVudCBpcyB0cmFuc2Zvcm1lZCBieSByZWN1cnNpdmVseSBhcHBseWluZyB0aGUgcnVsZXMgZnJvbSB0aGlzDQorc3Vic2VjdGlvbiBhbmQgZnJvbSBwcmV2aW91cyBzdWJzZWN0aW9ucyBvZiB0aGlzIHNlY3Rpb24uIFRoaXMgbXVzdA0KK25vdCByZXN1bHQgaW4gYSBsb29wLiBJbiBvdGhlciB3b3JkcywgdGhlIHRyYW5zZm9ybWF0aW9uIG9mIHRoZQ0KK3JlZmVyZW5jZWQgZWxlbWVudCBtdXN0IG5vdCByZXF1aXJlIHRoZSBkZXJlZmVyZW5jaW5nIG9mIGFuDQorPGxpdGVyYWw+ZXh0ZXJuYWxSZWY8L2xpdGVyYWw+IGF0dHJpYnV0ZSB3aXRoIGFuDQorPGxpdGVyYWw+aHJlZjwvbGl0ZXJhbD4gYXR0cmlidXRlIHdpdGggdGhlIHNhbWUgdmFsdWUuPC9wYXJhPg0KKw0KKzxwYXJhPkFueSA8bGl0ZXJhbD5uczwvbGl0ZXJhbD4gYXR0cmlidXRlIG9uIHRoZQ0KKzxsaXRlcmFsPmV4dGVybmFsUmVmPC9saXRlcmFsPiBlbGVtZW50IGlzIHRyYW5zZmVycmVkIHRvIHRoZQ0KK3JlZmVyZW5jZWQgZWxlbWVudCBpZiB0aGUgcmVmZXJlbmNlZCBlbGVtZW50IGRvZXMgbm90IGFscmVhZHkgaGF2ZSBhbg0KKzxsaXRlcmFsPm5zPC9saXRlcmFsPiBhdHRyaWJ1dGUuICBUaGUgPGxpdGVyYWw+ZXh0ZXJuYWxSZWY8L2xpdGVyYWw+DQorZWxlbWVudCBpcyB0aGVuIHJlcGxhY2VkIGJ5IHRoZSByZWZlcmVuY2VkIGVsZW1lbnQuPC9wYXJhPg0KKw0KKzwvc2VjdGlvbj4NCisNCis8c2VjdGlvbj4NCis8dGl0bGU+PGxpdGVyYWw+aW5jbHVkZTwvbGl0ZXJhbD4gZWxlbWVudDwvdGl0bGU+DQorDQorPHBhcmE+QW4gPGxpdGVyYWw+aW5jbHVkZTwvbGl0ZXJhbD4gZWxlbWVudCBpcyB0cmFuc2Zvcm1lZCBhcyBmb2xsb3dzLg0KK0FuIGVsZW1lbnQgaXMgY29uc3RydWN0ZWQgdXNpbmcgdGhlIFVSSSByZWZlcmVuY2UgdGhhdCBpcyB0aGUgdmFsdWUgb2YNCis8bGl0ZXJhbD5ocmVmPC9saXRlcmFsPiBhdHRyaWJ1dGUgYXMgc3BlY2lmaWVkIGluIDx4cmVmDQorbGlua2VuZD0iaHJlZiIvPi4gIFRoaXMgZWxlbWVudCBtdXN0IGJlIGEgPGxpdGVyYWw+Z3JhbW1hcjwvbGl0ZXJhbD4NCitlbGVtZW50LCBtYXRjaGluZyB0aGUgc3ludGF4IGZvciBncmFtbWFyLjwvcGFyYT4NCisNCis8cGFyYT5UaGlzIDxsaXRlcmFsPmdyYW1tYXI8L2xpdGVyYWw+IGVsZW1lbnQgaXMgdHJhbnNmb3JtZWQgYnkNCityZWN1cnNpdmVseSBhcHBseWluZyB0aGUgcnVsZXMgZnJvbSB0aGlzIHN1YnNlY3Rpb24gYW5kIGZyb20gcHJldmlvdXMNCitzdWJzZWN0aW9ucyBvZiB0aGlzIHNlY3Rpb24uICBUaGlzIG11c3Qgbm90IHJlc3VsdCBpbiBhIGxvb3AuIEluIG90aGVyDQord29yZHMsIHRoZSB0cmFuc2Zvcm1hdGlvbiBvZiB0aGUgPGxpdGVyYWw+Z3JhbW1hcjwvbGl0ZXJhbD4gZWxlbWVudA0KK211c3Qgbm90IHJlcXVpcmUgdGhlIGRlcmVmZXJlbmNpbmcgb2YgYW4gPGxpdGVyYWw+aW5jbHVkZTwvbGl0ZXJhbD4NCithdHRyaWJ1dGUgd2l0aCBhbiA8bGl0ZXJhbD5ocmVmPC9saXRlcmFsPiBhdHRyaWJ1dGUgd2l0aCB0aGUgc2FtZQ0KK3ZhbHVlLjwvcGFyYT4NCisNCis8cGFyYT5EZWZpbmUgdGhlIDxmaXJzdHRlcm0+Y29tcG9uZW50czwvZmlyc3R0ZXJtPiBvZiBhbiBlbGVtZW50IHRvDQorYmUgdGhlIGNoaWxkcmVuIG9mIHRoZSBlbGVtZW50IHRvZ2V0aGVyIHdpdGggdGhlIGNvbXBvbmVudHMgb2YgYW55DQorPGxpdGVyYWw+ZGl2PC9saXRlcmFsPiBjaGlsZCBlbGVtZW50cy4gIElmIHRoZQ0KKzxsaXRlcmFsPmluY2x1ZGU8L2xpdGVyYWw+IGVsZW1lbnQgaGFzIGEgPGxpdGVyYWw+c3RhcnQ8L2xpdGVyYWw+DQorY29tcG9uZW50LCB0aGVuIHRoZSA8bGl0ZXJhbD5ncmFtbWFyPC9saXRlcmFsPiBlbGVtZW50IG11c3QgaGF2ZSBhDQorPGxpdGVyYWw+c3RhcnQ8L2xpdGVyYWw+IGNvbXBvbmVudC4gIElmIHRoZSA8bGl0ZXJhbD5pbmNsdWRlPC9saXRlcmFsPg0KK2VsZW1lbnQgaGFzIGEgPGxpdGVyYWw+c3RhcnQ8L2xpdGVyYWw+IGNvbXBvbmVudCwgdGhlbiBhbGwNCis8bGl0ZXJhbD5zdGFydDwvbGl0ZXJhbD4gY29tcG9uZW50cyBhcmUgcmVtb3ZlZCBmcm9tIHRoZQ0KKzxsaXRlcmFsPmdyYW1tYXI8L2xpdGVyYWw+IGVsZW1lbnQuICBJZiB0aGUgPGxpdGVyYWw+aW5jbHVkZTwvbGl0ZXJhbD4NCitlbGVtZW50IGhhcyBhIDxsaXRlcmFsPmRlZmluZTwvbGl0ZXJhbD4gY29tcG9uZW50LCB0aGVuIHRoZQ0KKzxsaXRlcmFsPmdyYW1tYXI8L2xpdGVyYWw+IGVsZW1lbnQgbXVzdCBoYXZlIGENCis8bGl0ZXJhbD5kZWZpbmU8L2xpdGVyYWw+IGNvbXBvbmVudCB3aXRoIHRoZSBzYW1lIG5hbWUuICBGb3IgZXZlcnkNCis8bGl0ZXJhbD5kZWZpbmU8L2xpdGVyYWw+IGNvbXBvbmVudCBvZiB0aGUgPGxpdGVyYWw+aW5jbHVkZTwvbGl0ZXJhbD4NCitlbGVtZW50LCBhbGwgPGxpdGVyYWw+ZGVmaW5lPC9saXRlcmFsPiBjb21wb25lbnRzIHdpdGggdGhlIHNhbWUgbmFtZQ0KK2FyZSByZW1vdmVkIGZyb20gdGhlIDxsaXRlcmFsPmdyYW1tYXI8L2xpdGVyYWw+IGVsZW1lbnQuPC9wYXJhPg0KKw0KKzxwYXJhPlRoZSA8bGl0ZXJhbD5pbmNsdWRlPC9saXRlcmFsPiBlbGVtZW50IGlzIHRyYW5zZm9ybWVkIGludG8gYQ0KKzxsaXRlcmFsPmRpdjwvbGl0ZXJhbD4gZWxlbWVudC4gIFRoZSBhdHRyaWJ1dGVzIG9mIHRoZQ0KKzxsaXRlcmFsPmRpdjwvbGl0ZXJhbD4gZWxlbWVudCBhcmUgdGhlIGF0dHJpYnV0ZXMgb2YgdGhlDQorPGxpdGVyYWw+aW5jbHVkZTwvbGl0ZXJhbD4gZWxlbWVudCBvdGhlciB0aGFuIHRoZQ0KKzxsaXRlcmFsPmhyZWY8L2xpdGVyYWw+IGF0dHJpYnV0ZS4gIFRoZSBjaGlsZHJlbiBvZiB0aGUNCis8bGl0ZXJhbD5kaXY8L2xpdGVyYWw+IGVsZW1lbnQgYXJlIHRoZSA8bGl0ZXJhbD5ncmFtbWFyPC9saXRlcmFsPg0KK2VsZW1lbnQgKGFmdGVyIHRoZSByZW1vdmFsIG9mIHRoZSA8bGl0ZXJhbD5zdGFydDwvbGl0ZXJhbD4gYW5kDQorPGxpdGVyYWw+ZGVmaW5lPC9saXRlcmFsPiBjb21wb25lbnRzIGRlc2NyaWJlZCBieSB0aGUgcHJlY2VkaW5nDQorcGFyYWdyYXBoKSBmb2xsb3dlZCBieSB0aGUgY2hpbGRyZW4gb2YgdGhlIDxsaXRlcmFsPmluY2x1ZGU8L2xpdGVyYWw+DQorZWxlbWVudC4gIFRoZSA8bGl0ZXJhbD5ncmFtbWFyPC9saXRlcmFsPiBlbGVtZW50IGlzIHRoZW4gcmVuYW1lZCB0bw0KKzxsaXRlcmFsPmRpdjwvbGl0ZXJhbD4uPC9wYXJhPg0KKw0KKzwvc2VjdGlvbj4NCisNCis8c2VjdGlvbj4NCis8dGl0bGU+PGxpdGVyYWw+bmFtZTwvbGl0ZXJhbD4gYXR0cmlidXRlIG9mIDxsaXRlcmFsPmVsZW1lbnQ8L2xpdGVyYWw+DQorYW5kIDxsaXRlcmFsPmF0dHJpYnV0ZTwvbGl0ZXJhbD4gZWxlbWVudHM8L3RpdGxlPg0KKw0KKzxwYXJhPlRoZSA8bGl0ZXJhbD5uYW1lPC9saXRlcmFsPiBhdHRyaWJ1dGUgb24gYW4NCis8bGl0ZXJhbD5lbGVtZW50PC9saXRlcmFsPiBvciA8bGl0ZXJhbD5hdHRyaWJ1dGU8L2xpdGVyYWw+IGVsZW1lbnQgaXMNCit0cmFuc2Zvcm1lZCBpbnRvIGEgPGxpdGVyYWw+bmFtZTwvbGl0ZXJhbD4gY2hpbGQgZWxlbWVudC48L3BhcmE+DQorDQorPHBhcmE+SWYgYW4gPGxpdGVyYWw+YXR0cmlidXRlPC9saXRlcmFsPiBlbGVtZW50IGhhcyBhDQorPGxpdGVyYWw+bmFtZTwvbGl0ZXJhbD4gYXR0cmlidXRlIGJ1dCBubyA8bGl0ZXJhbD5uczwvbGl0ZXJhbD4NCithdHRyaWJ1dGUsIHRoZW4gYW4gPGxpdGVyYWw+bnM9IiI8L2xpdGVyYWw+IGF0dHJpYnV0ZSBpcyBhZGRlZCB0byB0aGUNCis8bGl0ZXJhbD5uYW1lPC9saXRlcmFsPiBjaGlsZCBlbGVtZW50LjwvcGFyYT4NCisNCis8L3NlY3Rpb24+DQorDQorPHNlY3Rpb24+DQorPHRpdGxlPjxsaXRlcmFsPm5zPC9saXRlcmFsPiBhdHRyaWJ1dGU8L3RpdGxlPg0KKw0KKzxwYXJhPkZvciBhbnkgPGxpdGVyYWw+bmFtZTwvbGl0ZXJhbD4sIDxsaXRlcmFsPm5zTmFtZTwvbGl0ZXJhbD4gb3INCis8bGl0ZXJhbD52YWx1ZTwvbGl0ZXJhbD4gZWxlbWVudCB0aGF0IGRvZXMgbm90IGhhdmUgYW4NCis8bGl0ZXJhbD5uczwvbGl0ZXJhbD4gYXR0cmlidXRlLCBhbiA8bGl0ZXJhbD5uczwvbGl0ZXJhbD4gYXR0cmlidXRlIGlzDQorYWRkZWQuIFRoZSB2YWx1ZSBvZiB0aGUgYWRkZWQgPGxpdGVyYWw+bnM8L2xpdGVyYWw+IGF0dHJpYnV0ZSBpcyB0aGUNCit2YWx1ZSBvZiB0aGUgPGxpdGVyYWw+bnM8L2xpdGVyYWw+IGF0dHJpYnV0ZSBvZiB0aGUgbmVhcmVzdCBhbmNlc3Rvcg0KK2VsZW1lbnQgdGhhdCBoYXMgYW4gPGxpdGVyYWw+bnM8L2xpdGVyYWw+IGF0dHJpYnV0ZSwgb3IgdGhlIGVtcHR5DQorc3RyaW5nIGlmIHRoZXJlIGlzIG5vIHN1Y2ggYW5jZXN0b3IuIFRoZW4sIGFueSA8bGl0ZXJhbD5uczwvbGl0ZXJhbD4NCithdHRyaWJ1dGUgdGhhdCBpcyBvbiBhbiBlbGVtZW50IG90aGVyIHRoYW4gPGxpdGVyYWw+bmFtZTwvbGl0ZXJhbD4sDQorPGxpdGVyYWw+bnNOYW1lPC9saXRlcmFsPiBvciA8bGl0ZXJhbD52YWx1ZTwvbGl0ZXJhbD4gaXMNCityZW1vdmVkLjwvcGFyYT4NCisNCis8bm90ZT48cGFyYT5UaGUgdmFsdWUgb2YgdGhlIDxsaXRlcmFsPm5zPC9saXRlcmFsPiBhdHRyaWJ1dGUgaXMNCis8ZW1waGFzaXMgcm9sZT0ic3Ryb25nIj5ub3Q8L2VtcGhhc2lzPiB0cmFuc2Zvcm1lZCBlaXRoZXIgYnkgZXNjYXBpbmcNCitkaXNhbGxvd2VkIGNoYXJhY3RlcnMsIG9yIGluIGFueSBvdGhlciB3YXksIGJlY2F1c2UgdGhlIHZhbHVlIG9mIHRoZQ0KKzxsaXRlcmFsPm5zPC9saXRlcmFsPiBhdHRyaWJ1dGUgaXMgY29tcGFyZWQgYWdhaW5zdCBuYW1lc3BhY2UgVVJJcyBpbg0KK3RoZSBpbnN0YW5jZSwgd2hpY2ggYXJlIG5vdCBzdWJqZWN0IHRvIGFueQ0KK3RyYW5zZm9ybWF0aW9uLjwvcGFyYT48L25vdGU+DQorDQorPG5vdGU+PHBhcmE+U2luY2UgPGxpdGVyYWw+aW5jbHVkZTwvbGl0ZXJhbD4gYW5kDQorPGxpdGVyYWw+ZXh0ZXJuYWxSZWY8L2xpdGVyYWw+IGVsZW1lbnRzIGFyZSByZXNvbHZlZCBhZnRlcg0KKzxsaXRlcmFsPmRhdGF0eXBlTGlicmFyeTwvbGl0ZXJhbD4gYXR0cmlidXRlcyBhcmUgYWRkZWQgYnV0IGJlZm9yZQ0KKzxsaXRlcmFsPm5zPC9saXRlcmFsPiBhdHRyaWJ1dGVzIGFyZSBhZGRlZCwgPGxpdGVyYWw+bnM8L2xpdGVyYWw+DQorYXR0cmlidXRlcyBhcmUgaW5oZXJpdGVkIGludG8gZXh0ZXJuYWwgc2NoZW1hcyBidXQNCis8bGl0ZXJhbD5kYXRhdHlwZUxpYnJhcnk8L2xpdGVyYWw+IGF0dHJpYnV0ZXMgYXJlIG5vdC48L3BhcmE+PC9ub3RlPg0KKw0KKzwvc2VjdGlvbj4NCisNCis8c2VjdGlvbj4NCis8dGl0bGU+UU5hbWVzPC90aXRsZT4NCisNCis8cGFyYT5Gb3IgYW55IDxsaXRlcmFsPm5hbWU8L2xpdGVyYWw+IGVsZW1lbnQgY29udGFpbmluZyBhIHByZWZpeCwgdGhlDQorcHJlZml4IGlzIHJlbW92ZWQgYW5kIGFuIDxsaXRlcmFsPm5zPC9saXRlcmFsPiBhdHRyaWJ1dGUgaXMgYWRkZWQNCityZXBsYWNpbmcgYW55IGV4aXN0aW5nIDxsaXRlcmFsPm5zPC9saXRlcmFsPiBhdHRyaWJ1dGUuIFRoZSB2YWx1ZSBvZg0KK3RoZSBhZGRlZCA8bGl0ZXJhbD5uczwvbGl0ZXJhbD4gYXR0cmlidXRlIGlzIHRoZSB2YWx1ZSB0byB3aGljaCB0aGUNCituYW1lc3BhY2UgbWFwIG9mIHRoZSBjb250ZXh0IG9mIHRoZSA8bGl0ZXJhbD5uYW1lPC9saXRlcmFsPiBlbGVtZW50DQorbWFwcyB0aGUgcHJlZml4LiAgVGhlIGNvbnRleHQgbXVzdCBoYXZlIGEgbWFwcGluZyBmb3IgdGhlDQorcHJlZml4LjwvcGFyYT4NCisNCis8L3NlY3Rpb24+DQorDQorPHNlY3Rpb24+DQorPHRpdGxlPjxsaXRlcmFsPmRpdjwvbGl0ZXJhbD4gZWxlbWVudDwvdGl0bGU+DQorDQorPHBhcmE+RWFjaCA8bGl0ZXJhbD5kaXY8L2xpdGVyYWw+IGVsZW1lbnQgaXMgcmVwbGFjZWQgYnkgaXRzDQorY2hpbGRyZW4uPC9wYXJhPg0KKw0KKzwvc2VjdGlvbj4NCisNCis8c2VjdGlvbiBpZD0ibnVtYmVyLWNoaWxkLWVsZW1lbnRzIj4NCis8dGl0bGU+TnVtYmVyIG9mIGNoaWxkIGVsZW1lbnRzPC90aXRsZT4NCisNCis8cGFyYT5BIDxsaXRlcmFsPmRlZmluZTwvbGl0ZXJhbD4sIDxsaXRlcmFsPm9uZU9yTW9yZTwvbGl0ZXJhbD4sDQorPGxpdGVyYWw+emVyb09yTW9yZTwvbGl0ZXJhbD4sIDxsaXRlcmFsPm9wdGlvbmFsPC9saXRlcmFsPiwgPGxpdGVyYWw+bGlzdDwvbGl0ZXJhbD4gb3INCis8bGl0ZXJhbD5taXhlZDwvbGl0ZXJhbD4gZWxlbWVudCBpcyB0cmFuc2Zvcm1lZCBzbyB0aGF0IGl0IGhhcyBleGFjdGx5DQorb25lIGNoaWxkIGVsZW1lbnQuICBJZiBpdCBoYXMgbW9yZSB0aGFuIG9uZSBjaGlsZCBlbGVtZW50LCB0aGVuIGl0cw0KK2NoaWxkIGVsZW1lbnRzIGFyZSB3cmFwcGVkIGluIGEgPGxpdGVyYWw+Z3JvdXA8L2xpdGVyYWw+DQorZWxlbWVudC4gU2ltaWxhcmx5LCBhbiA8bGl0ZXJhbD5lbGVtZW50PC9saXRlcmFsPiBlbGVtZW50IGlzIHRyYW5zZm9ybWVkIHNvDQordGhhdCBpdCBoYXMgZXhhY3RseSB0d28gY2hpbGQgZWxlbWVudHMsIHRoZSBmaXJzdCBiZWluZyBhIG5hbWUgY2xhc3MNCithbmQgdGhlIHNlY29uZCBiZWluZyBhIHBhdHRlcm4uIElmIGl0IGhhcyBtb3JlIHRoYW4gdHdvIGNoaWxkIGVsZW1lbnRzLA0KK3RoZW4gdGhlIGNoaWxkIGVsZW1lbnRzIG90aGVyIHRoYW4gdGhlIGZpcnN0IGFyZSB3cmFwcGVkIGluIGENCis8bGl0ZXJhbD5ncm91cDwvbGl0ZXJhbD4gZWxlbWVudC48L3BhcmE+DQorDQorPHBhcmE+QSA8bGl0ZXJhbD5leGNlcHQ8L2xpdGVyYWw+IGVsZW1lbnQgaXMgdHJhbnNmb3JtZWQNCitzbyB0aGF0IGl0IGhhcyBleGFjdGx5IG9uZSBjaGlsZCBlbGVtZW50LiBJZiBpdCBoYXMgbW9yZQ0KK3RoYW4gb25lIGNoaWxkIGVsZW1lbnQsIHRoZW4gaXRzIGNoaWxkIGVsZW1lbnRzIGFyZSB3cmFwcGVkDQoraW4gYSA8bGl0ZXJhbD5jaG9pY2U8L2xpdGVyYWw+IGVsZW1lbnQuPC9wYXJhPg0KKw0KKzxwYXJhPklmIGFuIDxsaXRlcmFsPmF0dHJpYnV0ZTwvbGl0ZXJhbD4gZWxlbWVudCBoYXMgb25seSBvbmUgY2hpbGQNCitlbGVtZW50IChhIG5hbWUgY2xhc3MpLCB0aGVuIGEgPGxpdGVyYWw+dGV4dDwvbGl0ZXJhbD4gZWxlbWVudCBpcw0KK2FkZGVkLjwvcGFyYT4NCisNCis8cGFyYT5BIDxsaXRlcmFsPmNob2ljZTwvbGl0ZXJhbD4sIDxsaXRlcmFsPmdyb3VwPC9saXRlcmFsPiBvcg0KKzxsaXRlcmFsPmludGVybGVhdmU8L2xpdGVyYWw+IGVsZW1lbnQgaXMgdHJhbnNmb3JtZWQgc28gdGhhdCBpdCBoYXMNCitleGFjdGx5IHR3byBjaGlsZCBlbGVtZW50cy4gSWYgaXQgaGFzIG9uZSBjaGlsZCBlbGVtZW50LCB0aGVuIGl0IGlzDQorcmVwbGFjZWQgYnkgaXRzIGNoaWxkIGVsZW1lbnQuICBJZiBpdCBoYXMgbW9yZSB0aGFuIHR3byBjaGlsZA0KK2VsZW1lbnRzLCB0aGVuIHRoZSBmaXJzdCB0d28gY2hpbGQgZWxlbWVudHMgYXJlIGNvbWJpbmVkIGludG8gYSBuZXcNCitlbGVtZW50IHdpdGggdGhlIHNhbWUgbmFtZSBhcyB0aGUgcGFyZW50IGVsZW1lbnQgYW5kIHdpdGggdGhlIGZpcnN0DQordHdvIGNoaWxkIGVsZW1lbnRzIGFzIGl0cyBjaGlsZHJlbi4gIEZvciBleGFtcGxlLDwvcGFyYT4NCisNCis8cHJvZ3JhbWxpc3Rpbmc+Jmx0O2Nob2ljZSZndDsgPHJlcGxhY2VhYmxlPnAxPC9yZXBsYWNlYWJsZT4gPHJlcGxhY2VhYmxlPnAyPC9yZXBsYWNlYWJsZT4gPHJlcGxhY2VhYmxlPnAzPC9yZXBsYWNlYWJsZT4gJmx0Oy9jaG9pY2UmZ3Q7PC9wcm9ncmFtbGlzdGluZz4NCisNCis8cGFyYT5pcyB0cmFuc2Zvcm1lZCB0bzwvcGFyYT4NCisNCis8cHJvZ3JhbWxpc3Rpbmc+Jmx0O2Nob2ljZSZndDsgJmx0O2Nob2ljZSZndDsgPHJlcGxhY2VhYmxlPnAxPC9yZXBsYWNlYWJsZT4gPHJlcGxhY2VhYmxlPnAyPC9yZXBsYWNlYWJsZT4gJmx0Oy9jaG9pY2UmZ3Q7IDxyZXBsYWNlYWJsZT5wMzwvcmVwbGFjZWFibGU+ICZsdDsvY2hvaWNlJmd0OzwvcHJvZ3JhbWxpc3Rpbmc+DQorDQorPHBhcmE+VGhpcyByZWR1Y2VzIHRoZSBudW1iZXIgb2YgY2hpbGQgZWxlbWVudHMgYnkgb25lLiBUaGUNCit0cmFuc2Zvcm1hdGlvbiBpcyBhcHBsaWVkIHJlcGVhdGVkbHkgdW50aWwgdGhlcmUgYXJlIGV4YWN0bHkgdHdvIGNoaWxkDQorZWxlbWVudHMuPC9wYXJhPg0KKw0KKzwvc2VjdGlvbj4NCisNCis8c2VjdGlvbj4NCis8dGl0bGU+PGxpdGVyYWw+bWl4ZWQ8L2xpdGVyYWw+IGVsZW1lbnQ8L3RpdGxlPg0KKw0KKzxwYXJhPkEgPGxpdGVyYWw+bWl4ZWQ8L2xpdGVyYWw+IGVsZW1lbnQgaXMgdHJhbnNmb3JtZWQgaW50byBhbg0KK2ludGVybGVhdmluZyB3aXRoIGEgPGxpdGVyYWw+dGV4dDwvbGl0ZXJhbD4gZWxlbWVudDo8L3BhcmE+DQorDQorPHByb2dyYW1saXN0aW5nPiZsdDttaXhlZD4gPHJlcGxhY2VhYmxlPnA8L3JlcGxhY2VhYmxlPiAmbHQ7L21peGVkPjwvcHJvZ3JhbWxpc3Rpbmc+DQorDQorPHBhcmE+aXMgdHJhbnNmb3JtZWQgaW50bzwvcGFyYT4NCisNCis8cHJvZ3JhbWxpc3Rpbmc+Jmx0O2ludGVybGVhdmU+IDxyZXBsYWNlYWJsZT5wPC9yZXBsYWNlYWJsZT4gJmx0O3RleHQvPiAmbHQ7L2ludGVybGVhdmU+PC9wcm9ncmFtbGlzdGluZz4NCisNCis8L3NlY3Rpb24+DQorDQorPHNlY3Rpb24+DQorPHRpdGxlPjxsaXRlcmFsPm9wdGlvbmFsPC9saXRlcmFsPiBlbGVtZW50PC90aXRsZT4NCisNCis8cGFyYT5BbiA8bGl0ZXJhbD5vcHRpb25hbDwvbGl0ZXJhbD4gZWxlbWVudCBpcyB0cmFuc2Zvcm1lZCBpbnRvDQorYSBjaG9pY2Ugd2l0aCA8bGl0ZXJhbD5lbXB0eTwvbGl0ZXJhbD46PC9wYXJhPg0KKw0KKzxwcm9ncmFtbGlzdGluZz4mbHQ7b3B0aW9uYWw+IDxyZXBsYWNlYWJsZT5wPC9yZXBsYWNlYWJsZT4gJmx0Oy9vcHRpb25hbD48L3Byb2dyYW1saXN0aW5nPg0KKw0KKzxwYXJhPmlzIHRyYW5zZm9ybWVkIGludG88L3BhcmE+DQorDQorPHByb2dyYW1saXN0aW5nPiZsdDtjaG9pY2U+IDxyZXBsYWNlYWJsZT5wPC9yZXBsYWNlYWJsZT4gJmx0O2VtcHR5Lz4gJmx0Oy9jaG9pY2U+PC9wcm9ncmFtbGlzdGluZz4NCisNCis8L3NlY3Rpb24+DQorDQorPHNlY3Rpb24+DQorPHRpdGxlPjxsaXRlcmFsPnplcm9Pck1vcmU8L2xpdGVyYWw+IGVsZW1lbnQ8L3RpdGxlPg0KKw0KKzxwYXJhPkEgPGxpdGVyYWw+emVyb09yTW9yZTwvbGl0ZXJhbD4gZWxlbWVudCBpcyB0cmFuc2Zvcm1lZCBpbnRvIGEgY2hvaWNlDQorYmV0d2VlbiA8bGl0ZXJhbD5vbmVPck1vcmU8L2xpdGVyYWw+IGFuZA0KKzxsaXRlcmFsPmVtcHR5PC9saXRlcmFsPjo8L3BhcmE+DQorDQorPHByb2dyYW1saXN0aW5nPiZsdDt6ZXJvT3JNb3JlPiA8cmVwbGFjZWFibGU+cDwvcmVwbGFjZWFibGU+ICZsdDsvemVyb09yTW9yZT48L3Byb2dyYW1saXN0aW5nPg0KKw0KKzxwYXJhPmlzIHRyYW5zZm9ybWVkIGludG88L3BhcmE+DQorDQorPHByb2dyYW1saXN0aW5nPiZsdDtjaG9pY2U+ICZsdDtvbmVPck1vcmU+IDxyZXBsYWNlYWJsZT5wPC9yZXBsYWNlYWJsZT4gJmx0Oy9vbmVPck1vcmU+ICZsdDtlbXB0eS8+ICZsdDsvY2hvaWNlPjwvcHJvZ3JhbWxpc3Rpbmc+DQorDQorPC9zZWN0aW9uPg0KKw0KKzxzZWN0aW9uIGlkPSJjb25zdHJhaW50cyI+DQorPHRpdGxlPkNvbnN0cmFpbnRzPC90aXRsZT4NCisNCis8cGFyYT5JbiB0aGlzIHJ1bGUsIG5vIHRyYW5zZm9ybWF0aW9uIGlzIHBlcmZvcm1lZCwgYnV0IHZhcmlvdXMNCitjb25zdHJhaW50cyBhcmUgY2hlY2tlZC48L3BhcmE+DQorDQorPG5vdGU+PHBhcmE+VGhlIGNvbnN0cmFpbnRzIGluIHRoaXMgc2VjdGlvbiwgdW5saWtlIHRoZSBjb25zdHJhaW50cw0KK3NwZWNpZmllZCBpbiA8eHJlZiBsaW5rZW5kPSJyZXN0cmljdGlvbiIvPiwgY2FuIGJlIGNoZWNrZWQgd2l0aG91dA0KK3Jlc29sdmluZyBhbnkgPGxpdGVyYWw+cmVmPC9saXRlcmFsPiBlbGVtZW50cywgYW5kIGFyZSBhY2NvcmRpbmdseQ0KK2FwcGxpZWQgZXZlbiB0byBwYXR0ZXJucyB0aGF0IHdpbGwgZGlzYXBwZWFyIGR1cmluZyBsYXRlciBzdGFnZXMgb2YNCitzaW1wbGlmaWNhdGlvbiBiZWNhdXNlIHRoZXkgYXJlIG5vdCByZWFjaGFibGUgKHNlZSA8eHJlZg0KK2xpbmtlbmQ9ImRlZmluZS1yZWYiLz4pIG9yIGJlY2F1c2Ugb2YgPGxpdGVyYWw+bm90QWxsb3dlZDwvbGl0ZXJhbD4NCisoc2VlIDx4cmVmIGxpbmtlbmQ9Im5vdEFsbG93ZWQiLz4pLjwvcGFyYT48L25vdGU+DQorDQorPHBhcmE+QW4gPGxpdGVyYWw+ZXhjZXB0PC9saXRlcmFsPiBlbGVtZW50IHRoYXQgaXMgYSBjaGlsZCBvZiBhbg0KKzxsaXRlcmFsPmFueU5hbWU8L2xpdGVyYWw+IGVsZW1lbnQgbXVzdCBub3QgaGF2ZSBhbnkNCis8bGl0ZXJhbD5hbnlOYW1lPC9saXRlcmFsPiBkZXNjZW5kYW50IGVsZW1lbnRzLiBBbg0KKzxsaXRlcmFsPmV4Y2VwdDwvbGl0ZXJhbD4gZWxlbWVudCB0aGF0IGlzIGEgY2hpbGQgb2YgYW4NCis8bGl0ZXJhbD5uc05hbWU8L2xpdGVyYWw+IGVsZW1lbnQgbXVzdCBub3QgaGF2ZSBhbnkNCis8bGl0ZXJhbD5uc05hbWU8L2xpdGVyYWw+IG9yIDxsaXRlcmFsPmFueU5hbWU8L2xpdGVyYWw+IGRlc2NlbmRhbnQNCitlbGVtZW50cy48L3BhcmE+DQorDQorPHBhcmE+QSA8bGl0ZXJhbD5uYW1lPC9saXRlcmFsPiBlbGVtZW50IHRoYXQgb2NjdXJzIGFzIHRoZSBmaXJzdCBjaGlsZA0KK29mIGFuIDxsaXRlcmFsPmF0dHJpYnV0ZTwvbGl0ZXJhbD4gZWxlbWVudCBvciBhcyB0aGUgZGVzY2VuZGFudCBvZiB0aGUNCitmaXJzdCBjaGlsZCBvZiBhbiA8bGl0ZXJhbD5hdHRyaWJ1dGU8L2xpdGVyYWw+IGVsZW1lbnQgYW5kIHRoYXQgaGFzIGFuDQorPGxpdGVyYWw+bnM8L2xpdGVyYWw+IGF0dHJpYnV0ZSB3aXRoIHZhbHVlIGVxdWFsIHRvIHRoZSBlbXB0eSBzdHJpbmcNCittdXN0IG5vdCBoYXZlIGNvbnRlbnQgZXF1YWwgdG8gPGxpdGVyYWw+eG1sbnM8L2xpdGVyYWw+LjwvcGFyYT4NCisNCis8cGFyYT5BIDxsaXRlcmFsPm5hbWU8L2xpdGVyYWw+IG9yIDxsaXRlcmFsPm5zTmFtZTwvbGl0ZXJhbD4gZWxlbWVudA0KK3RoYXQgb2NjdXJzIGFzIHRoZSBmaXJzdCBjaGlsZCBvZiBhbiA8bGl0ZXJhbD5hdHRyaWJ1dGU8L2xpdGVyYWw+DQorZWxlbWVudCBvciBhcyB0aGUgZGVzY2VuZGFudCBvZiB0aGUgZmlyc3QgY2hpbGQgb2YgYW4NCis8bGl0ZXJhbD5hdHRyaWJ1dGU8L2xpdGVyYWw+IGVsZW1lbnQgbXVzdCBub3QgaGF2ZSBhbg0KKzxsaXRlcmFsPm5zPC9saXRlcmFsPiBhdHRyaWJ1dGUgd2l0aCB2YWx1ZQ0KKzxsaXRlcmFsPmh0dHA6Ly93d3cudzMub3JnLzIwMDAveG1sbnM8L2xpdGVyYWw+LjwvcGFyYT4NCisNCis8bm90ZT48cGFyYT5UaGUgPHhyZWYgbGlua2VuZD0iaW5mb3NldCIvPiBkZWZpbmVzIHRoZSBuYW1lc3BhY2UgVVJJIG9mDQorbmFtZXNwYWNlIGRlY2xhcmF0aW9uIGF0dHJpYnV0ZXMgdG8gYmUNCis8bGl0ZXJhbD5odHRwOi8vd3d3LnczLm9yZy8yMDAwL3htbG5zPC9saXRlcmFsPi48L3BhcmE+PC9ub3RlPg0KKw0KKzxwYXJhPkEgPGxpdGVyYWw+ZGF0YTwvbGl0ZXJhbD4gb3IgPGxpdGVyYWw+dmFsdWU8L2xpdGVyYWw+IGVsZW1lbnQNCittdXN0IGJlIGNvcnJlY3QgaW4gaXRzIHVzZSBvZiBkYXRhdHlwZXMuIFNwZWNpZmljYWxseSwgdGhlDQorPGxpdGVyYWw+dHlwZTwvbGl0ZXJhbD4gYXR0cmlidXRlIG11c3QgaWRlbnRpZnkgYSBkYXRhdHlwZSB3aXRoaW4gdGhlDQorZGF0YXR5cGUgbGlicmFyeSBpZGVudGlmaWVkIGJ5IHRoZSB2YWx1ZSBvZiB0aGUNCis8bGl0ZXJhbD5kYXRhdHlwZUxpYnJhcnk8L2xpdGVyYWw+IGF0dHJpYnV0ZS4gIEZvciBhDQorPGxpdGVyYWw+ZGF0YTwvbGl0ZXJhbD4gZWxlbWVudCwgdGhlIHBhcmFtZXRlciBsaXN0IG11c3QgYmUgb25lIHRoYXQNCitpcyBhbGxvd2VkIGJ5IHRoZSBkYXRhdHlwZSAoc2VlIDx4cmVmDQorbGlua2VuZD0iZGF0YS1wYXR0ZXJuIi8+KS48L3BhcmE+DQorDQorPC9zZWN0aW9uPg0KKw0KKzxzZWN0aW9uPg0KKzx0aXRsZT48bGl0ZXJhbD5jb21iaW5lPC9saXRlcmFsPiBhdHRyaWJ1dGU8L3RpdGxlPg0KKw0KKzxwYXJhPkZvciBlYWNoIDxsaXRlcmFsPmdyYW1tYXI8L2xpdGVyYWw+IGVsZW1lbnQsIGFsbA0KKzxsaXRlcmFsPmRlZmluZTwvbGl0ZXJhbD4gZWxlbWVudHMgd2l0aCB0aGUgc2FtZSBuYW1lIGFyZSBjb21iaW5lZA0KK3RvZ2V0aGVyLiAgRm9yIGFueSBuYW1lLCB0aGVyZSBtdXN0IG5vdCBiZSBtb3JlIHRoYW4gb25lDQorPGxpdGVyYWw+ZGVmaW5lPC9saXRlcmFsPiBlbGVtZW50IHdpdGggdGhhdCBuYW1lIHRoYXQgZG9lcyBub3QgaGF2ZSBhDQorPGxpdGVyYWw+Y29tYmluZTwvbGl0ZXJhbD4gYXR0cmlidXRlLiAgRm9yIGFueSBuYW1lLCBpZiB0aGVyZSBpcyBhDQorPGxpdGVyYWw+ZGVmaW5lPC9saXRlcmFsPiBlbGVtZW50IHdpdGggdGhhdCBuYW1lIHRoYXQgaGFzIGENCis8bGl0ZXJhbD5jb21iaW5lPC9saXRlcmFsPiBhdHRyaWJ1dGUgd2l0aCB0aGUgdmFsdWUNCis8bGl0ZXJhbD5jaG9pY2U8L2xpdGVyYWw+LCB0aGVuIHRoZXJlIG11c3Qgbm90IGFsc28gYmUgYQ0KKzxsaXRlcmFsPmRlZmluZTwvbGl0ZXJhbD4gZWxlbWVudCB3aXRoIHRoYXQgbmFtZSB0aGF0IGhhcyBhDQorPGxpdGVyYWw+Y29tYmluZTwvbGl0ZXJhbD4gYXR0cmlidXRlIHdpdGggdGhlIHZhbHVlDQorPGxpdGVyYWw+aW50ZXJsZWF2ZTwvbGl0ZXJhbD4uIFRodXMsIGZvciBhbnkgbmFtZSwgaWYgdGhlcmUgaXMgbW9yZQ0KK3RoYW4gb25lIDxsaXRlcmFsPmRlZmluZTwvbGl0ZXJhbD4gZWxlbWVudCB3aXRoIHRoYXQgbmFtZSwgdGhlbiB0aGVyZQ0KK2lzIGEgdW5pcXVlIHZhbHVlIGZvciB0aGUgPGxpdGVyYWw+Y29tYmluZTwvbGl0ZXJhbD4gYXR0cmlidXRlIGZvcg0KK3RoYXQgbmFtZS4gIEFmdGVyIGRldGVybWluaW5nIHRoaXMgdW5pcXVlIHZhbHVlLCB0aGUNCis8bGl0ZXJhbD5jb21iaW5lPC9saXRlcmFsPiBhdHRyaWJ1dGVzIGFyZSByZW1vdmVkLiAgQSBwYWlyIG9mDQorZGVmaW5pdGlvbnM8L3BhcmE+DQorDQorPHByb2dyYW1saXN0aW5nPiZsdDtkZWZpbmUgbmFtZT0iPHJlcGxhY2VhYmxlPm48L3JlcGxhY2VhYmxlPiImZ3Q7DQorICA8cmVwbGFjZWFibGU+cDE8L3JlcGxhY2VhYmxlPg0KKyZsdDsvZGVmaW5lPg0KKyZsdDtkZWZpbmUgbmFtZT0iPHJlcGxhY2VhYmxlPm48L3JlcGxhY2VhYmxlPiImZ3Q7DQorICA8cmVwbGFjZWFibGU+cDI8L3JlcGxhY2VhYmxlPg0KKyZsdDsvZGVmaW5lPjwvcHJvZ3JhbWxpc3Rpbmc+DQorDQorPHBhcmE+aXMgY29tYmluZWQgaW50bzwvcGFyYT4NCisNCis8cHJvZ3JhbWxpc3Rpbmc+Jmx0O2RlZmluZSBuYW1lPSI8cmVwbGFjZWFibGU+bjwvcmVwbGFjZWFibGU+Ij4NCisgICZsdDs8cmVwbGFjZWFibGU+YzwvcmVwbGFjZWFibGU+Jmd0Ow0KKyAgICA8cmVwbGFjZWFibGU+cDE8L3JlcGxhY2VhYmxlPg0KKyAgICA8cmVwbGFjZWFibGU+cDI8L3JlcGxhY2VhYmxlPg0KKyAgJmx0Oy88cmVwbGFjZWFibGU+YzwvcmVwbGFjZWFibGU+Jmd0Ow0KKyZsdDsvZGVmaW5lPjwvcHJvZ3JhbWxpc3Rpbmc+DQorDQorPHBhcmE+d2hlcmUgPHJlcGxhY2VhYmxlPmM8L3JlcGxhY2VhYmxlPiBpcyB0aGUgdmFsdWUgb2YgdGhlDQorPGxpdGVyYWw+Y29tYmluZTwvbGl0ZXJhbD4gYXR0cmlidXRlLiBQYWlycyBvZiBkZWZpbml0aW9ucyBhcmUNCitjb21iaW5lZCB1bnRpbCB0aGVyZSBpcyBleGFjdGx5IG9uZSA8bGl0ZXJhbD5kZWZpbmU8L2xpdGVyYWw+IGVsZW1lbnQNCitmb3IgZWFjaCBuYW1lLjwvcGFyYT4NCisNCis8cGFyYT5TaW1pbGFybHksIGZvciBlYWNoIDxsaXRlcmFsPmdyYW1tYXI8L2xpdGVyYWw+IGVsZW1lbnQgYWxsDQorPGxpdGVyYWw+c3RhcnQ8L2xpdGVyYWw+IGVsZW1lbnRzIGFyZSBjb21iaW5lZCB0b2dldGhlci4gIFRoZXJlIG11c3QNCitub3QgYmUgbW9yZSB0aGFuIG9uZSA8bGl0ZXJhbD5zdGFydDwvbGl0ZXJhbD4gZWxlbWVudCB0aGF0IGRvZXMgbm90DQoraGF2ZSBhIDxsaXRlcmFsPmNvbWJpbmU8L2xpdGVyYWw+IGF0dHJpYnV0ZS4gIElmIHRoZXJlIGlzIGENCis8bGl0ZXJhbD5zdGFydDwvbGl0ZXJhbD4gZWxlbWVudCB0aGF0IGhhcyBhIDxsaXRlcmFsPmNvbWJpbmU8L2xpdGVyYWw+DQorYXR0cmlidXRlIHdpdGggdGhlIHZhbHVlIDxsaXRlcmFsPmNob2ljZTwvbGl0ZXJhbD4sIHRoZXJlIG11c3Qgbm90DQorYWxzbyBiZSBhIDxsaXRlcmFsPnN0YXJ0PC9saXRlcmFsPiBlbGVtZW50IHRoYXQgaGFzIGENCis8bGl0ZXJhbD5jb21iaW5lPC9saXRlcmFsPiBhdHRyaWJ1dGUgd2l0aCB0aGUgdmFsdWUNCis8bGl0ZXJhbD5pbnRlcmxlYXZlPC9saXRlcmFsPi48L3BhcmE+DQorDQorPC9zZWN0aW9uPg0KKw0KKzxzZWN0aW9uPg0KKzx0aXRsZT48bGl0ZXJhbD5ncmFtbWFyPC9saXRlcmFsPiBlbGVtZW50PC90aXRsZT4NCisNCis8cGFyYT5JbiB0aGlzIHJ1bGUsIHRoZSBzY2hlbWEgaXMgdHJhbnNmb3JtZWQgc28gdGhhdCBpdHMgdG9wLWxldmVsDQorZWxlbWVudCBpcyA8bGl0ZXJhbD5ncmFtbWFyPC9saXRlcmFsPiBhbmQgc28gdGhhdCBpdCBoYXMgbm8gb3RoZXINCis8bGl0ZXJhbD5ncmFtbWFyPC9saXRlcmFsPiBlbGVtZW50cy48L3BhcmE+DQorDQorPHBhcmE+RGVmaW5lIHRoZSA8Zmlyc3R0ZXJtPmluLXNjb3BlIGdyYW1tYXI8L2ZpcnN0dGVybT4gZm9yIGFuDQorZWxlbWVudCB0byBiZSB0aGUgbmVhcmVzdCBhbmNlc3RvciA8bGl0ZXJhbD5ncmFtbWFyPC9saXRlcmFsPiBlbGVtZW50LiAgQQ0KKzxsaXRlcmFsPnJlZjwvbGl0ZXJhbD4gZWxlbWVudCA8Zmlyc3R0ZXJtPnJlZmVycyB0bzwvZmlyc3R0ZXJtPiBhDQorPGxpdGVyYWw+ZGVmaW5lPC9saXRlcmFsPiBlbGVtZW50IGlmIHRoZSB2YWx1ZSBvZiB0aGVpcg0KKzxsaXRlcmFsPm5hbWU8L2xpdGVyYWw+IGF0dHJpYnV0ZXMgaXMgdGhlIHNhbWUgYW5kIHRoZWlyIGluLXNjb3BlDQorZ3JhbW1hcnMgYXJlIHRoZSBzYW1lLiAgQSA8bGl0ZXJhbD5wYXJlbnRSZWY8L2xpdGVyYWw+IGVsZW1lbnQNCis8Zmlyc3R0ZXJtPnJlZmVycyB0bzwvZmlyc3R0ZXJtPiBhIDxsaXRlcmFsPmRlZmluZTwvbGl0ZXJhbD4gZWxlbWVudA0KK2lmIHRoZSB2YWx1ZSBvZiB0aGVpciA8bGl0ZXJhbD5uYW1lPC9saXRlcmFsPiBhdHRyaWJ1dGVzIGlzIHRoZSBzYW1lDQorYW5kIHRoZSBpbi1zY29wZSBncmFtbWFyIG9mIHRoZSBpbi1zY29wZSBncmFtbWFyIG9mIHRoZQ0KKzxsaXRlcmFsPnBhcmVudFJlZjwvbGl0ZXJhbD4gZWxlbWVudCBpcyB0aGUgc2FtZSBhcyB0aGUgaW4tc2NvcGUNCitncmFtbWFyIG9mIHRoZSA8bGl0ZXJhbD5kZWZpbmU8L2xpdGVyYWw+IGVsZW1lbnQuIEV2ZXJ5DQorPGxpdGVyYWw+cmVmPC9saXRlcmFsPiBvciA8bGl0ZXJhbD5wYXJlbnRSZWY8L2xpdGVyYWw+IGVsZW1lbnQgbXVzdA0KK3JlZmVyIHRvIGEgPGxpdGVyYWw+ZGVmaW5lPC9saXRlcmFsPiBlbGVtZW50LiAgQQ0KKzxsaXRlcmFsPmdyYW1tYXI8L2xpdGVyYWw+IG11c3QgaGF2ZSBhIDxsaXRlcmFsPnN0YXJ0PC9saXRlcmFsPiBjaGlsZA0KK2VsZW1lbnQuPC9wYXJhPg0KKw0KKzxwYXJhPkZpcnN0LCB0cmFuc2Zvcm0gdGhlIHRvcC1sZXZlbCBwYXR0ZXJuDQorPHJlcGxhY2VhYmxlPnA8L3JlcGxhY2VhYmxlPiBpbnRvDQorPGxpdGVyYWw+Jmx0O2dyYW1tYXI+Jmx0O3N0YXJ0PjxyZXBsYWNlYWJsZT5wPC9yZXBsYWNlYWJsZT4mbHQ7L3N0YXJ0PiZsdDsvZ3JhbW1hcj48L2xpdGVyYWw+Lg0KK05leHQsIHJlbmFtZSA8bGl0ZXJhbD5kZWZpbmU8L2xpdGVyYWw+IGVsZW1lbnRzIHNvIHRoYXQgbm8gdHdvDQorPGxpdGVyYWw+ZGVmaW5lPC9saXRlcmFsPiBlbGVtZW50cyBhbnl3aGVyZSBpbiB0aGUgc2NoZW1hIGhhdmUgdGhlDQorc2FtZSBuYW1lLiAgVG8gcmVuYW1lIGEgPGxpdGVyYWw+ZGVmaW5lPC9saXRlcmFsPiBlbGVtZW50LCBjaGFuZ2UgdGhlDQordmFsdWUgb2YgaXRzIDxsaXRlcmFsPm5hbWU8L2xpdGVyYWw+IGF0dHJpYnV0ZSBhbmQgY2hhbmdlIHRoZSB2YWx1ZSBvZg0KK3RoZSA8bGl0ZXJhbD5uYW1lPC9saXRlcmFsPiBhdHRyaWJ1dGUgb2YgYWxsIDxsaXRlcmFsPnJlZjwvbGl0ZXJhbD4NCithbmQgPGxpdGVyYWw+cGFyZW50UmVmPC9saXRlcmFsPiBlbGVtZW50cyB0aGF0IHJlZmVyIHRvIHRoYXQNCis8bGl0ZXJhbD5kZWZpbmU8L2xpdGVyYWw+IGVsZW1lbnQuIE5leHQsIG1vdmUgYWxsDQorPGxpdGVyYWw+ZGVmaW5lPC9saXRlcmFsPiBlbGVtZW50cyB0byBiZSBjaGlsZHJlbiBvZiB0aGUgdG9wLWxldmVsDQorPGxpdGVyYWw+Z3JhbW1hcjwvbGl0ZXJhbD4gZWxlbWVudCwgcmVwbGFjZSBlYWNoIG5lc3RlZA0KKzxsaXRlcmFsPmdyYW1tYXI8L2xpdGVyYWw+IGVsZW1lbnQgYnkgdGhlIGNoaWxkIG9mIGl0cw0KKzxsaXRlcmFsPnN0YXJ0PC9saXRlcmFsPiBlbGVtZW50IGFuZCByZW5hbWUgZWFjaA0KKzxsaXRlcmFsPnBhcmVudFJlZjwvbGl0ZXJhbD4gZWxlbWVudCB0byA8bGl0ZXJhbD5yZWY8L2xpdGVyYWw+LjwvcGFyYT4NCisNCis8L3NlY3Rpb24+DQorDQorDQorPHNlY3Rpb24gaWQ9ImRlZmluZS1yZWYiPg0KKzx0aXRsZT48bGl0ZXJhbD5kZWZpbmU8L2xpdGVyYWw+IGFuZCA8bGl0ZXJhbD5yZWY8L2xpdGVyYWw+IGVsZW1lbnRzPC90aXRsZT4NCisNCis8cGFyYT5JbiB0aGlzIHJ1bGUsIHRoZSBncmFtbWFyIGlzIHRyYW5zZm9ybWVkIHNvIHRoYXQgZXZlcnkNCis8bGl0ZXJhbD5lbGVtZW50PC9saXRlcmFsPiBlbGVtZW50IGlzIHRoZSBjaGlsZCBvZiBhDQorPGxpdGVyYWw+ZGVmaW5lPC9saXRlcmFsPiBlbGVtZW50LCBhbmQgdGhlIGNoaWxkIG9mIGV2ZXJ5DQorPGxpdGVyYWw+ZGVmaW5lPC9saXRlcmFsPiBlbGVtZW50IGlzIGFuIDxsaXRlcmFsPmVsZW1lbnQ8L2xpdGVyYWw+DQorZWxlbWVudC48L3BhcmE+DQorDQorPHBhcmE+Rmlyc3QsIHJlbW92ZSBhbnkgPGxpdGVyYWw+ZGVmaW5lPC9saXRlcmFsPiBlbGVtZW50IHRoYXQgaXMgbm90DQorPGZpcnN0dGVybT5yZWFjaGFibGU8L2ZpcnN0dGVybT4uICBBIDxsaXRlcmFsPmRlZmluZTwvbGl0ZXJhbD4gZWxlbWVudA0KK2lzIHJlYWNoYWJsZSBpZiB0aGVyZSBpcyByZWFjaGFibGUgPGxpdGVyYWw+cmVmPC9saXRlcmFsPiBlbGVtZW50DQorcmVmZXJyaW5nIHRvIGl0LiAgQSA8bGl0ZXJhbD5yZWY8L2xpdGVyYWw+IGVsZW1lbnQgaXMgcmVhY2hhYmxlIGlmIGl0DQoraXMgdGhlIGRlc2NlbmRhbnQgb2YgdGhlIDxsaXRlcmFsPnN0YXJ0PC9saXRlcmFsPiBlbGVtZW50IG9yIG9mIGENCityZWFjaGFibGUgPGxpdGVyYWw+ZGVmaW5lPC9saXRlcmFsPiBlbGVtZW50LiBOb3csIGZvcg0KK2VhY2ggPGxpdGVyYWw+ZWxlbWVudDwvbGl0ZXJhbD4gZWxlbWVudCB0aGF0IGlzIG5vdCB0aGUgY2hpbGQgb2YgYQ0KKzxsaXRlcmFsPmRlZmluZTwvbGl0ZXJhbD4gZWxlbWVudCwgYWRkIGEgPGxpdGVyYWw+ZGVmaW5lPC9saXRlcmFsPg0KK2VsZW1lbnQgdG8gdGhlIDxsaXRlcmFsPmdyYW1tYXI8L2xpdGVyYWw+IGVsZW1lbnQsIGFuZCByZXBsYWNlIHRoZQ0KKzxsaXRlcmFsPmVsZW1lbnQ8L2xpdGVyYWw+IGVsZW1lbnQgYnkgYSA8bGl0ZXJhbD5yZWY8L2xpdGVyYWw+IGVsZW1lbnQNCityZWZlcnJpbmcgdG8gdGhlIGFkZGVkIDxsaXRlcmFsPmRlZmluZTwvbGl0ZXJhbD4gZWxlbWVudC4gVGhlIHZhbHVlIG9mDQordGhlIDxsaXRlcmFsPm5hbWU8L2xpdGVyYWw+IGF0dHJpYnV0ZSBvZiB0aGUgYWRkZWQNCis8bGl0ZXJhbD5kZWZpbmU8L2xpdGVyYWw+IGVsZW1lbnQgbXVzdCBiZSBkaWZmZXJlbnQgZnJvbSB2YWx1ZSBvZiB0aGUNCis8bGl0ZXJhbD5uYW1lPC9saXRlcmFsPiBhdHRyaWJ1dGUgb2YgYWxsIG90aGVyDQorPGxpdGVyYWw+ZGVmaW5lPC9saXRlcmFsPiBlbGVtZW50cy4gVGhlIGNoaWxkIG9mIHRoZSBhZGRlZA0KKzxsaXRlcmFsPmRlZmluZTwvbGl0ZXJhbD4gZWxlbWVudCBpcyB0aGUgPGxpdGVyYWw+ZWxlbWVudDwvbGl0ZXJhbD4NCitlbGVtZW50LjwvcGFyYT4NCisNCis8cGFyYT5EZWZpbmUgYSA8bGl0ZXJhbD5yZWY8L2xpdGVyYWw+IGVsZW1lbnQgdG8gYmUNCis8Zmlyc3R0ZXJtPmV4cGFuZGFibGU8L2ZpcnN0dGVybT4gaWYgaXQgcmVmZXJzIHRvIGENCis8bGl0ZXJhbD5kZWZpbmU8L2xpdGVyYWw+IGVsZW1lbnQgd2hvc2UgY2hpbGQgaXMgbm90IGFuDQorPGxpdGVyYWw+ZWxlbWVudDwvbGl0ZXJhbD4gZWxlbWVudC4gIEZvciBlYWNoIDxsaXRlcmFsPnJlZjwvbGl0ZXJhbD4NCitlbGVtZW50IHRoYXQgaXMgZXhwYW5kYWJsZSBhbmQgaXMgYSBkZXNjZW5kYW50IG9mIGENCis8bGl0ZXJhbD5zdGFydDwvbGl0ZXJhbD4gZWxlbWVudCBvciBhbiA8bGl0ZXJhbD5lbGVtZW50PC9saXRlcmFsPg0KK2VsZW1lbnQsIGV4cGFuZCBpdCBieSByZXBsYWNpbmcgdGhlIDxsaXRlcmFsPnJlZjwvbGl0ZXJhbD4gZWxlbWVudCBieQ0KK3RoZSBjaGlsZCBvZiB0aGUgPGxpdGVyYWw+ZGVmaW5lPC9saXRlcmFsPiBlbGVtZW50IHRvIHdoaWNoIGl0IHJlZmVycyBhbmQNCit0aGVuIHJlY3Vyc2l2ZWx5IGV4cGFuZGluZyBhbnkgZXhwYW5kYWJsZSA8bGl0ZXJhbD5yZWY8L2xpdGVyYWw+DQorZWxlbWVudHMgaW4gdGhpcyByZXBsYWNlbWVudC4gIFRoaXMgbXVzdCBub3QgcmVzdWx0IGluIGEgbG9vcC4NCitJbiBvdGhlciB3b3JkcyBleHBhbmRpbmcgdGhlIHJlcGxhY2VtZW50IG9mIGENCis8bGl0ZXJhbD5yZWY8L2xpdGVyYWw+IGVsZW1lbnQgaGF2aW5nIGEgPGxpdGVyYWw+bmFtZTwvbGl0ZXJhbD4gd2l0aA0KK3ZhbHVlIDxyZXBsYWNlYWJsZT5uPC9yZXBsYWNlYWJsZT4gbXVzdCBub3QgcmVxdWlyZSB0aGUgZXhwYW5zaW9uIG9mDQorPGxpdGVyYWw+cmVmPC9saXRlcmFsPiBlbGVtZW50IGFsc28gaGF2aW5nIGEgPGxpdGVyYWw+bmFtZTwvbGl0ZXJhbD4NCit3aXRoIHZhbHVlIDxyZXBsYWNlYWJsZT5uPC9yZXBsYWNlYWJsZT4uICBGaW5hbGx5LCByZW1vdmUgYW55DQorPGxpdGVyYWw+ZGVmaW5lPC9saXRlcmFsPiBlbGVtZW50IHdob3NlIGNoaWxkIGlzIG5vdCBhbg0KKzxsaXRlcmFsPmVsZW1lbnQ8L2xpdGVyYWw+IGVsZW1lbnQuPC9wYXJhPg0KKw0KKzwvc2VjdGlvbj4NCisNCis8c2VjdGlvbiBpZD0ibm90QWxsb3dlZCI+DQorPHRpdGxlPjxsaXRlcmFsPm5vdEFsbG93ZWQ8L2xpdGVyYWw+IGVsZW1lbnQ8L3RpdGxlPg0KKw0KKzxwYXJhPkluIHRoaXMgcnVsZSwgdGhlIGdyYW1tYXIgaXMgdHJhbnNmb3JtZWQgc28gdGhhdCBhDQorPGxpdGVyYWw+bm90QWxsb3dlZDwvbGl0ZXJhbD4gZWxlbWVudCBvY2N1cnMgb25seSBhcyB0aGUgY2hpbGQgb2YNCithIDxsaXRlcmFsPnN0YXJ0PC9saXRlcmFsPiBvciA8bGl0ZXJhbD5lbGVtZW50PC9saXRlcmFsPiBlbGVtZW50LiAgQW4NCis8bGl0ZXJhbD5hdHRyaWJ1dGU8L2xpdGVyYWw+LCA8bGl0ZXJhbD5saXN0PC9saXRlcmFsPiwNCis8bGl0ZXJhbD5ncm91cDwvbGl0ZXJhbD4sIDxsaXRlcmFsPmludGVybGVhdmU8L2xpdGVyYWw+LA0KK29yIDxsaXRlcmFsPm9uZU9yTW9yZTwvbGl0ZXJhbD4gZWxlbWVudCB0aGF0IGhhcyBhDQorPGxpdGVyYWw+bm90QWxsb3dlZDwvbGl0ZXJhbD4gY2hpbGQgZWxlbWVudCBpcyB0cmFuc2Zvcm1lZCBpbnRvIGENCis8bGl0ZXJhbD5ub3RBbGxvd2VkPC9saXRlcmFsPiBlbGVtZW50LiAgQSA8bGl0ZXJhbD5jaG9pY2U8L2xpdGVyYWw+DQorZWxlbWVudCB0aGF0IGhhcyB0d28gPGxpdGVyYWw+bm90QWxsb3dlZDwvbGl0ZXJhbD4gY2hpbGQgZWxlbWVudHMgaXMNCit0cmFuc2Zvcm1lZCBpbnRvIGEgPGxpdGVyYWw+bm90QWxsb3dlZDwvbGl0ZXJhbD4gZWxlbWVudC4gIEENCis8bGl0ZXJhbD5jaG9pY2U8L2xpdGVyYWw+IGVsZW1lbnQgdGhhdCBoYXMgb25lDQorPGxpdGVyYWw+bm90QWxsb3dlZDwvbGl0ZXJhbD4gY2hpbGQgZWxlbWVudCBpcyB0cmFuc2Zvcm1lZCBpbnRvIGl0cw0KK290aGVyIGNoaWxkIGVsZW1lbnQuIEFuIDxsaXRlcmFsPmV4Y2VwdDwvbGl0ZXJhbD4gZWxlbWVudCB0aGF0IGhhcyBhDQorPGxpdGVyYWw+bm90QWxsb3dlZDwvbGl0ZXJhbD4gY2hpbGQgZWxlbWVudCBpcyByZW1vdmVkLg0KK1RoZSBwcmVjZWRpbmcgdHJhbnNmb3JtYXRpb25zIGFyZSBhcHBsaWVkDQorcmVwZWF0ZWRseSB1bnRpbCBub25lIG9mIHRoZW0gaXMgYXBwbGljYWJsZSBhbnkgbW9yZS4NCitBbnkgPGxpdGVyYWw+ZGVmaW5lPC9saXRlcmFsPiBlbGVtZW50IHRoYXQgaXMgbm8gbG9uZ2VyIHJlYWNoYWJsZQ0KK2lzIHJlbW92ZWQuPC9wYXJhPg0KKw0KKzwvc2VjdGlvbj4NCisNCis8c2VjdGlvbj4NCis8dGl0bGU+PGxpdGVyYWw+ZW1wdHk8L2xpdGVyYWw+IGVsZW1lbnQ8L3RpdGxlPg0KKw0KKzxwYXJhPkluIHRoaXMgcnVsZSwgdGhlIGdyYW1tYXIgaXMgdHJhbnNmb3JtZWQgc28gdGhhdCBhbg0KKzxsaXRlcmFsPmVtcHR5PC9saXRlcmFsPiBlbGVtZW50IGRvZXMgbm90IG9jY3VyIGFzIGEgY2hpbGQgb2YgYQ0KKzxsaXRlcmFsPmdyb3VwPC9saXRlcmFsPiwgPGxpdGVyYWw+aW50ZXJsZWF2ZTwvbGl0ZXJhbD4sIG9yDQorPGxpdGVyYWw+b25lT3JNb3JlPC9saXRlcmFsPiBlbGVtZW50IG9yIGFzIHRoZSBzZWNvbmQgY2hpbGQgb2YNCithIDxsaXRlcmFsPmNob2ljZTwvbGl0ZXJhbD4gZWxlbWVudC4gQSA8bGl0ZXJhbD5ncm91cDwvbGl0ZXJhbD4sDQorPGxpdGVyYWw+aW50ZXJsZWF2ZTwvbGl0ZXJhbD4gb3IgPGxpdGVyYWw+Y2hvaWNlPC9saXRlcmFsPiBlbGVtZW50DQordGhhdCBoYXMgdHdvIDxsaXRlcmFsPmVtcHR5PC9saXRlcmFsPiBjaGlsZCBlbGVtZW50cyBpcyB0cmFuc2Zvcm1lZA0KK2ludG8gYW4gPGxpdGVyYWw+ZW1wdHk8L2xpdGVyYWw+IGVsZW1lbnQuICBBIDxsaXRlcmFsPmdyb3VwPC9saXRlcmFsPg0KK29yIDxsaXRlcmFsPmludGVybGVhdmU8L2xpdGVyYWw+IGVsZW1lbnQgdGhhdCBoYXMgb25lDQorPGxpdGVyYWw+ZW1wdHk8L2xpdGVyYWw+IGNoaWxkIGVsZW1lbnQgaXMgdHJhbnNmb3JtZWQgaW50byBpdHMgb3RoZXINCitjaGlsZCBlbGVtZW50LiAgQSA8bGl0ZXJhbD5jaG9pY2U8L2xpdGVyYWw+IGVsZW1lbnQgd2hvc2UNCitzZWNvbmQgY2hpbGQgZWxlbWVudCBpcyBhbiA8bGl0ZXJhbD5lbXB0eTwvbGl0ZXJhbD4gZWxlbWVudCBpcw0KK3RyYW5zZm9ybWVkIGJ5IGludGVyY2hhbmdpbmcgaXRzIHR3byBjaGlsZCBlbGVtZW50cy4gIEENCis8bGl0ZXJhbD5vbmVPck1vcmU8L2xpdGVyYWw+IGVsZW1lbnQgdGhhdCBoYXMgYW4NCis8bGl0ZXJhbD5lbXB0eTwvbGl0ZXJhbD4gY2hpbGQgZWxlbWVudCBpcyB0cmFuc2Zvcm1lZCBpbnRvIGFuDQorPGxpdGVyYWw+ZW1wdHk8L2xpdGVyYWw+IGVsZW1lbnQuIFRoZSBwcmVjZWRpbmcgdHJhbnNmb3JtYXRpb25zIGFyZSBhcHBsaWVkDQorcmVwZWF0ZWRseSB1bnRpbCBub25lIG9mIHRoZW0gaXMgYXBwbGljYWJsZSBhbnkgbW9yZS48L3BhcmE+DQorDQorPC9zZWN0aW9uPg0KKw0KKzwvc2VjdGlvbj4NCisNCis8c2VjdGlvbiBpZD0ic2ltcGxlLXN5bnRheCI+DQorPHRpdGxlPlNpbXBsZSBzeW50YXg8L3RpdGxlPg0KKw0KKzxwYXJhPkFmdGVyIGFwcGx5aW5nIGFsbCB0aGUgcnVsZXMgaW4gPHhyZWYNCitsaW5rZW5kPSJzaW1wbGlmaWNhdGlvbiIvPiwgdGhlIHNjaGVtYSB3aWxsIG1hdGNoIHRoZSBmb2xsb3dpbmcNCitncmFtbWFyOjwvcGFyYT4NCisNCis8Z3JhbW1hcnJlZiBzcmM9InNpbXBsZS5ybmciLz4NCisNCis8cGFyYT5XaXRoIHRoaXMgZ3JhbW1hciwgbm8gZWxlbWVudHMgb3IgYXR0cmlidXRlcyBhcmUgYWxsb3dlZCBvdGhlcg0KK3RoYW4gdGhvc2UgZXhwbGljaXRseSBzaG93bi48L3BhcmE+DQorDQorPHNlY3Rpb24gaWQ9InNpbXBsZS1zeW50YXgtZXhhbXBsZSI+DQorPHRpdGxlPkV4YW1wbGU8L3RpdGxlPg0KKw0KKzxwYXJhPlRoZSBmb2xsb3dpbmcgaXMgYW4gZXhhbXBsZSBvZiBob3cgdGhlIHNjaGVtYSBpbiA8eHJlZg0KK2xpbmtlbmQ9ImZ1bGwtc3ludGF4LWV4YW1wbGUiLz4gY2FuIGJlIHRyYW5zZm9ybWVkIGludG8gdGhlIHNpbXBsZQ0KK3N5bnRheDo8L3BhcmE+DQorDQorPHByb2dyYW1saXN0aW5nPjwhW0NEQVRBWzw/eG1sIHZlcnNpb249IjEuMCI/Pg0KKzxncmFtbWFyIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8c3RhcnQ+DQorICAgIDxyZWYgbmFtZT0iZm9vLmVsZW1lbnQiLz4NCisgIDwvc3RhcnQ+DQorDQorICA8ZGVmaW5lIG5hbWU9ImZvby5lbGVtZW50Ij4NCisgICAgPGVsZW1lbnQ+DQorICAgICAgPG5hbWUgbnM9IiI+Zm9vPC9uYW1lPg0KKyAgICAgIDxncm91cD4NCisgICAgICAgIDxyZWYgbmFtZT0iYmFyMS5lbGVtZW50Ii8+DQorICAgICAgICA8cmVmIG5hbWU9ImJhcjIuZWxlbWVudCIvPg0KKyAgICAgIDwvZ3JvdXA+DQorICAgIDwvZWxlbWVudD4NCisgIDwvZGVmaW5lPg0KKw0KKyAgPGRlZmluZSBuYW1lPSJiYXIxLmVsZW1lbnQiPg0KKyAgICA8ZWxlbWVudD4NCisgICAgICA8bmFtZSBucz0iaHR0cDovL3d3dy5leGFtcGxlLmNvbS9uMSI+YmFyMTwvbmFtZT4NCisgICAgICA8ZW1wdHkvPg0KKyAgICA8L2VsZW1lbnQ+DQorICA8L2RlZmluZT4NCisNCisgIDxkZWZpbmUgbmFtZT0iYmFyMi5lbGVtZW50Ij4NCisgICAgPGVsZW1lbnQ+DQorICAgICAgPG5hbWUgbnM9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20vbjIiPmJhcjI8L25hbWU+DQorICAgICAgPGVtcHR5Lz4NCisgICAgPC9lbGVtZW50Pg0KKyAgPC9kZWZpbmU+DQorPC9ncmFtbWFyPl1dPjwvcHJvZ3JhbWxpc3Rpbmc+DQorDQorPG5vdGU+PHBhcmE+U3RyaWN0bHkgc3BlYWtpbmcsIHRoZSByZXN1bHQgb2Ygc2ltcGxpZmljYXRpb24gaXMgYW4NCitpbnN0YW5jZSBvZiB0aGUgZGF0YSBtb2RlbCByYXRoZXIgdGhhbiBhbiBYTUwgZG9jdW1lbnQuICBGb3INCitjb252ZW5pZW5jZSwgd2UgdXNlIGFuIFhNTCBkb2N1bWVudCB0byByZXByZXNlbnQgYW4gaW5zdGFuY2Ugb2YgdGhlDQorZGF0YSBtb2RlbC48L3BhcmE+PC9ub3RlPg0KKw0KKzwvc2VjdGlvbj4NCisNCis8L3NlY3Rpb24+DQorDQorPHNlY3Rpb24gaWQ9InNlbWFudGljcyI+DQorPHRpdGxlPlNlbWFudGljczwvdGl0bGU+DQorDQorPHBhcmE+SW4gdGhpcyBzZWN0aW9uLCB3ZSBkZWZpbmUgdGhlIHNlbWFudGljcyBvZiBhIGNvcnJlY3QgUkVMQVggTkcNCitzY2hlbWEgdGhhdCBoYXMgYmVlbiB0cmFuc2Zvcm1lZCBpbnRvIHRoZSBzaW1wbGUgc3ludGF4LiAgVGhlDQorc2VtYW50aWNzIG9mIGEgUkVMQVggTkcgc2NoZW1hIGNvbnNpc3Qgb2YgYSBzcGVjaWZpY2F0aW9uIG9mIHdoYXQgWE1MDQorZG9jdW1lbnRzIGFyZSB2YWxpZCB3aXRoIHJlc3BlY3QgdG8gdGhhdCBzY2hlbWEuICBUaGUgc2VtYW50aWNzIGFyZQ0KK2Rlc2NyaWJlZCBmb3JtYWxseS4gIFRoZSBmb3JtYWxpc20gdXNlcyBheGlvbXMgYW5kIGluZmVyZW5jZSBydWxlcy4NCitBeGlvbXMgYXJlIHByb3Bvc2l0aW9ucyB0aGF0IGFyZSBwcm92YWJsZSB1bmNvbmRpdGlvbmFsbHkuICBBbg0KK2luZmVyZW5jZSBydWxlIGNvbnNpc3RzIG9mIG9uZSBvciBtb3JlIGFudGVjZWRlbnRzIGFuZCBleGFjdGx5IG9uZQ0KK2NvbnNlcXVlbnQuICBBbiBhbnRlY2VkZW50IGlzIGVpdGhlciBwb3NpdGl2ZSBvciBuZWdhdGl2ZS4gIElmIGFsbCB0aGUNCitwb3NpdGl2ZSBhbnRlY2VkZW50cyBvZiBhbiBpbmZlcmVuY2UgcnVsZSBhcmUgcHJvdmFibGUgYW5kIG5vbmUgb2YgdGhlDQorbmVnYXRpdmUgYW50ZWNlZGVudHMgYXJlIHByb3ZhYmxlLCB0aGVuIHRoZSBjb25zZXF1ZW50IG9mIHRoZQ0KK2luZmVyZW5jZSBydWxlIGlzIHByb3ZhYmxlLiBBbiBYTUwgZG9jdW1lbnQgaXMgdmFsaWQgd2l0aCByZXNwZWN0IHRvIGENCitSRUxBWCBORyBzY2hlbWEgaWYgYW5kIG9ubHkgaWYgdGhlIHByb3Bvc2l0aW9uIHRoYXQgaXQgaXMgdmFsaWQgaXMNCitwcm92YWJsZSBpbiB0aGUgZm9ybWFsaXNtIHNwZWNpZmllZCBpbiB0aGlzIHNlY3Rpb24uPC9wYXJhPg0KKw0KKzxub3RlPjxwYXJhPlRoaXMga2luZCBvZiBmb3JtYWxpc20gaXMgc2ltaWxhciB0byBhIHByb29mIHN5c3RlbS4NCitIb3dldmVyLCBhIHRyYWRpdGlvbmFsIHByb29mIHN5c3RlbSBvbmx5IGhhcyBwb3NpdGl2ZQ0KK2FudGVjZWRlbnRzLjwvcGFyYT48L25vdGU+DQorDQorPHBhcmE+VGhlIG5vdGF0aW9uIGZvciBpbmZlcmVuY2UgcnVsZXMgc2VwYXJhdGVzIHRoZSBhbnRlY2VkZW50cyBmcm9tDQordGhlIGNvbnNlcXVlbnQgYnkgYSBob3Jpem9udGFsIGxpbmU6IHRoZSBhbnRlY2VkZW50cyBhcmUgYWJvdmUgdGhlDQorbGluZTsgdGhlIGNvbnNlcXVlbnQgaXMgYmVsb3cgdGhlIGxpbmUuICBJZiBhbiBhbnRlY2VkZW50IGlzIG9mIHRoZQ0KK2Zvcm0gbm90KDxyZXBsYWNlYWJsZT5wPC9yZXBsYWNlYWJsZT4pLCB0aGVuIGl0IGlzIGEgbmVnYXRpdmUNCithbnRlY2VkZW50OyBvdGhlcndpc2UsIGl0IGlzIGEgcG9zaXRpdmUgYW50ZWNlZGVudC4gIEJvdGggYXhpb21zIGFuZA0KK2luZmVyZW5jZXMNCitydWxlcyBtYXkgdXNlIHZhcmlhYmxlcy4gIEEgdmFyaWFibGUgaGFzIGEgbmFtZSBhbmQgb3B0aW9uYWxseSBhDQorc3Vic2NyaXB0LiAgVGhlIG5hbWUgb2YgYSB2YXJpYWJsZSBpcyBpdGFsaWNpemVkLiAgRWFjaCB2YXJpYWJsZSBoYXMgYQ0KK3JhbmdlIHRoYXQgaXMgZGV0ZXJtaW5lZCBieSBpdHMgbmFtZS4gIEF4aW9tcyBhbmQgaW5mZXJlbmNlIHJ1bGVzIGFyZQ0KK2ltcGxpY2l0bHkgdW5pdmVyc2FsbHkgcXVhbnRpZmllZCBvdmVyIHRoZSB2YXJpYWJsZXMgdGhleSBjb250YWluLiAgV2UNCitleHBsYWluIHRoaXMgZnVydGhlciBiZWxvdy48L3BhcmE+DQorDQorPHBhcmE+VGhlIHBvc3NpYmlsaXR5IHRoYXQgYW4gaW5mZXJlbmNlIHJ1bGUgb3IgYXhpb20gbWF5IGNvbnRhaW4gbW9yZQ0KK3RoYW4gb25lIG9jY3VycmVuY2Ugb2YgYSBwYXJ0aWN1bGFyIHZhcmlhYmxlIHJlcXVpcmVzIHRoYXQgYW4gaWRlbnRpdHkNCityZWxhdGlvbiBiZSBkZWZpbmVkIG9uIGVhY2gga2luZCBvZiBvYmplY3Qgb3ZlciB3aGljaCBhIHZhcmlhYmxlIGNhbg0KK3JhbmdlLiAgVGhlIGlkZW50aXR5IHJlbGF0aW9uIGZvciBhbGwga2luZHMgb2Ygb2JqZWN0IGlzIHZhbHVlLWJhc2VkLg0KK1R3byBvYmplY3RzIG9mIGEgcGFydGljdWxhciBraW5kIGFyZSBpZGVudGljYWwgaWYgdGhlIGNvbnN0aXR1ZW50cyBvZg0KK3RoZSBvYmplY3RzIGFyZSBpZGVudGljYWwuICBGb3IgZXhhbXBsZSwgdHdvIGF0dHJpYnV0ZXMgYXJlIGNvbnNpZGVyZWQNCit0aGUgc2FtZSBpZiB0aGV5IGhhdmUgdGhlIHNhbWUgbmFtZSBhbmQgdGhlIHNhbWUgdmFsdWUuIFR3byBjaGFyYWN0ZXJzDQorYXJlIGlkZW50aWNhbCBpZiB0aGVpciBVbmljb2RlIGNoYXJhY3RlciBjb2RlcyBhcmUgdGhlIHNhbWUuPC9wYXJhPg0KKw0KKzxzZWN0aW9uIGlkPSJuYW1lLWNsYXNzZXMiPg0KKzx0aXRsZT5OYW1lIGNsYXNzZXM8L3RpdGxlPg0KKw0KKzxwYXJhPlRoZSBtYWluIHNlbWFudGljIGNvbmNlcHQgZm9yIG5hbWUgY2xhc3NlcyBpcyB0aGF0IG9mIGEgbmFtZQ0KK2JlbG9uZ2luZyB0byBhIG5hbWUgY2xhc3MuIEEgbmFtZSBjbGFzcyBpcyBhbiBlbGVtZW50IHRoYXQgbWF0Y2hlcyB0aGUNCitwcm9kdWN0aW9uIG5hbWVDbGFzcy4gQSBuYW1lIGlzIGFzIGRlZmluZWQgaW4gPHhyZWYNCitsaW5rZW5kPSJkYXRhLW1vZGVsIi8+OiBpdCBjb25zaXN0cyBvZiBhIG5hbWVzcGFjZSBVUkkgYW5kIGEgbG9jYWwNCituYW1lLjwvcGFyYT4NCisNCis8cGFyYT5XZSB1c2UgdGhlIGZvbGxvd2luZyBub3RhdGlvbjo8L3BhcmE+DQorDQorPHZhcmlhYmxlbGlzdD4NCisNCis8dmFybGlzdGVudHJ5Pjx0ZXJtPjxwOnZhciByYW5nZT0ibmFtZSIvPjwvdGVybT48bGlzdGl0ZW0+PHBhcmE+aXMgYSB2YXJpYWJsZQ0KK3RoYXQgcmFuZ2VzIG92ZXIgbmFtZXM8L3BhcmE+PC9saXN0aXRlbT48L3Zhcmxpc3RlbnRyeT4NCisNCis8dmFybGlzdGVudHJ5Pjx0ZXJtPjxwOnZhciByYW5nZT0ibmFtZUNsYXNzIi8+PC90ZXJtPjxsaXN0aXRlbT48cGFyYT5yYW5nZXMgb3ZlciBuYW1lIGNsYXNzZXM8L3BhcmE+PC9saXN0aXRlbT48L3Zhcmxpc3RlbnRyeT4NCisNCis8dmFybGlzdGVudHJ5Pjx0ZXJtPjxwOmp1ZGdlbWVudCBuYW1lPSJiZWxvbmdzIj4NCisgICAgICA8cDp2YXIgcmFuZ2U9Im5hbWUiLz4NCisgICAgICA8cDp2YXIgcmFuZ2U9Im5hbWVDbGFzcyIvPg0KKyAgICA8L3A6anVkZ2VtZW50PjwvdGVybT48bGlzdGl0ZW0+PHBhcmE+DQorICAgIA0KK2Fzc2VydHMgdGhhdCBuYW1lIDxwOnZhciByYW5nZT0ibmFtZSIvPiBpcyBhIG1lbWJlciBvZiBuYW1lIGNsYXNzIDxwOnZhciByYW5nZT0ibmFtZUNsYXNzIi8+DQorDQorPC9wYXJhPjwvbGlzdGl0ZW0+PC92YXJsaXN0ZW50cnk+DQorDQorPC92YXJpYWJsZWxpc3Q+DQorDQorPHBhcmE+V2UgYXJlIG5vdyByZWFkeSBmb3Igb3VyIGZpcnN0IGF4aW9tLCB3aGljaCBpcyBjYWxsZWQgImFueU5hbWUNCisxIjo8L3BhcmE+DQorDQorPHA6cHJvb2ZTeXN0ZW0+DQorICA8cDpydWxlIG5hbWU9ImFueU5hbWUgMSI+DQorICAgIDxwOmp1ZGdlbWVudCBuYW1lPSJiZWxvbmdzIj4NCisgICAgICA8cDp2YXIgcmFuZ2U9Im5hbWUiLz4NCisgICAgICA8cDplbGVtZW50IG5hbWU9ImFueU5hbWUiLz4NCisgICAgPC9wOmp1ZGdlbWVudD4NCisgIDwvcDpydWxlPg0KKzwvcDpwcm9vZlN5c3RlbT4NCisNCis8cGFyYT5UaGlzIHNheXMgZm9yIGFueSBuYW1lIDxwOnZhciByYW5nZT0ibmFtZSIvPiwgPHA6dmFyDQorcmFuZ2U9Im5hbWUiLz4gYmVsb25ncyB0byB0aGUgbmFtZSBjbGFzcyA8cDplbGVtZW50IG5hbWU9ImFueU5hbWUiLz4sDQoraW4gb3RoZXIgd29yZHMgPHA6ZWxlbWVudCBuYW1lPSJhbnlOYW1lIi8+IG1hdGNoZXMgYW55IG5hbWUuIE5vdGUgdGhlDQorZWZmZWN0IG9mIHRoZSBpbXBsaWNpdCB1bml2ZXJzYWwgcXVhbnRpZmljYXRpb24gb3ZlciB0aGUgdmFyaWFibGVzIGluDQordGhlIGF4aW9tOiB0aGlzIGlzIHdoYXQgbWFrZXMgdGhlIGF4aW9tIGFwcGx5IGZvciBhbnkgbmFtZSA8cDp2YXINCityYW5nZT0ibmFtZSIvPi48L3BhcmE+DQorDQorPHBhcmE+T3VyIGZpcnN0IGluZmVyZW5jZSBydWxlIGlzIGFsbW9zdCBhcyBzaW1wbGU6PC9wYXJhPg0KKw0KKzxwOnByb29mU3lzdGVtPg0KKyAgPHA6cnVsZSBuYW1lPSJhbnlOYW1lIDIiPg0KKyAgICA8cDpub3Q+DQorICAgICAgPHA6anVkZ2VtZW50IG5hbWU9ImJlbG9uZ3MiPg0KKwk8cDp2YXIgcmFuZ2U9Im5hbWUiLz4NCisJPHA6dmFyIHJhbmdlPSJuYW1lQ2xhc3MiLz4NCisgICAgICA8L3A6anVkZ2VtZW50Pg0KKyAgICA8L3A6bm90Pg0KKyAgICA8cDpqdWRnZW1lbnQgbmFtZT0iYmVsb25ncyI+DQorICAgICAgPHA6dmFyIHJhbmdlPSJuYW1lIi8+DQorICAgICAgPHA6ZWxlbWVudCBuYW1lPSJhbnlOYW1lIj4NCisgICAgICAgIDxwOmVsZW1lbnQgbmFtZT0iZXhjZXB0Ij4NCisgIAkgIDxwOnZhciByYW5nZT0ibmFtZUNsYXNzIi8+DQorICAgICAgICA8L3A6ZWxlbWVudD4NCisgICAgICA8L3A6ZWxlbWVudD4NCisgICAgPC9wOmp1ZGdlbWVudD4NCisgIDwvcDpydWxlPg0KKw0KKzwvcDpwcm9vZlN5c3RlbT4NCisNCis8cGFyYT5UaGlzIHNheXMgdGhhdCBmb3IgYW55IG5hbWUgPHA6dmFyIHJhbmdlPSJuYW1lIi8+DQorYW5kIGZvciBhbnkgbmFtZSBjbGFzcyAJPHA6dmFyIHJhbmdlPSJuYW1lQ2xhc3MiLz4sDQoraWYgPHA6dmFyIHJhbmdlPSJuYW1lIi8+IGRvZXMgbm90IGJlbG9uZyB0byA8cDp2YXIgcmFuZ2U9Im5hbWVDbGFzcyIvPiwNCit0aGVuIDxwOnZhciByYW5nZT0ibmFtZSIvPiBiZWxvbmdzIHRvIA0KKyAgICAgIDxwOmVsZW1lbnQgbmFtZT0iYW55TmFtZSI+DQorICAgICAgICA8cDplbGVtZW50IG5hbWU9ImV4Y2VwdCI+DQorICAJICA8cDp2YXIgcmFuZ2U9Im5hbWVDbGFzcyIvPg0KKyAgICAgICAgPC9wOmVsZW1lbnQ+DQorICAgICAgPC9wOmVsZW1lbnQ+LiBJbiBvdGhlciB3b3JkcywgICAgICAgPHA6ZWxlbWVudCBuYW1lPSJhbnlOYW1lIj4NCisgICAgICAgIDxwOmVsZW1lbnQgbmFtZT0iZXhjZXB0Ij4NCisgIAkgIDxwOnZhciByYW5nZT0ibmFtZUNsYXNzIi8+DQorICAgICAgICA8L3A6ZWxlbWVudD4NCisgICAgICA8L3A6ZWxlbWVudD4gbWF0Y2hlcyBhbnkgbmFtZSB0aGF0IGRvZXMgbm90IG1hdGNoIDxwOnZhciByYW5nZT0ibmFtZUNsYXNzIi8+LjwvcGFyYT4NCisNCis8cGFyYT5XZSBub3cgbmVlZCB0aGUgZm9sbG93aW5nIGFkZGl0aW9uYWwgbm90YXRpb246PC9wYXJhPg0KKw0KKzx2YXJpYWJsZWxpc3Q+DQorDQorPHZhcmxpc3RlbnRyeT48dGVybT48cDp2YXIgcmFuZ2U9Im5jbmFtZSIvPjwvdGVybT4NCisNCis8bGlzdGl0ZW0+PHBhcmE+cmFuZ2VzIG92ZXIgbG9jYWwgbmFtZXM7IGEgbG9jYWwgbmFtZSBpcyBhIHN0cmluZyB0aGF0DQorbWF0Y2hlcyB0aGUgTkNOYW1lIHByb2R1Y3Rpb24gb2YgPHhyZWYgbGlua2VuZD0ieG1sLW5hbWVzIi8+LCB0aGF0IGlzLA0KK2EgbmFtZSB3aXRoIG5vIGNvbG9uczwvcGFyYT48L2xpc3RpdGVtPg0KKzwvdmFybGlzdGVudHJ5Pg0KKw0KKzx2YXJsaXN0ZW50cnk+PHRlcm0+PHA6dmFyIHJhbmdlPSJ1cmkiLz48L3Rlcm0+PGxpc3RpdGVtPjxwYXJhPnJhbmdlcyBvdmVyIFVSSXM8L3BhcmE+PC9saXN0aXRlbT48L3Zhcmxpc3RlbnRyeT4NCisNCis8dmFybGlzdGVudHJ5Pg0KKzx0ZXJtPg0KKyAgPHA6ZnVuY3Rpb24gbmFtZT0ibmFtZSI+DQorICAgIDxwOnZhciByYW5nZT0idXJpIi8+DQorICAgIDxwOnZhciByYW5nZT0ibmNuYW1lIi8+DQorICA8L3A6ZnVuY3Rpb24+DQorPC90ZXJtPg0KKzxsaXN0aXRlbT48cGFyYT5jb25zdHJ1Y3RzIGEgbmFtZSB3aXRoIFVSSSA8cDp2YXIgcmFuZ2U9InVyaSIvPiBhbmQgbG9jYWwNCituYW1lIDxwOnZhciByYW5nZT0ibmNuYW1lIi8+PC9wYXJhPjwvbGlzdGl0ZW0+DQorPC92YXJsaXN0ZW50cnk+DQorDQorPC92YXJpYWJsZWxpc3Q+DQorDQorPHBhcmE+VGhlIHJlbWFpbmluZyBheGlvbXMgYW5kIGluZmVyZW5jZSBydWxlcyBmb3IgbmFtZSBjbGFzc2VzIGFyZSBhcw0KK2ZvbGxvd3M6PC9wYXJhPg0KKw0KKzxwOnByb29mU3lzdGVtPg0KKw0KKyAgPHA6cnVsZSBuYW1lPSJuc05hbWUgMSI+DQorICAgIDxwOmp1ZGdlbWVudCBuYW1lPSJiZWxvbmdzIj4NCisgICAgICA8cDpmdW5jdGlvbiBuYW1lPSJuYW1lIj4NCisgICAgICAgIDxwOnZhciByYW5nZT0idXJpIi8+DQorICAgICAgICA8cDp2YXIgcmFuZ2U9Im5jbmFtZSIvPg0KKyAgICAgIDwvcDpmdW5jdGlvbj4NCisgICAgICA8cDplbGVtZW50IG5hbWU9Im5zTmFtZSI+DQorICAgICAgICA8cDphdHRyaWJ1dGUgbmFtZT0ibnMiPg0KKyAgICAgICAgICA8cDp2YXIgcmFuZ2U9InVyaSIvPg0KKyAgICAgICAgPC9wOmF0dHJpYnV0ZT4NCisgICAgICA8L3A6ZWxlbWVudD4NCisgICAgPC9wOmp1ZGdlbWVudD4NCisgIDwvcDpydWxlPg0KKw0KKyAgPHA6cnVsZSBuYW1lPSJuc05hbWUgMiI+DQorICAgIDxwOm5vdD4NCisgICAgICA8cDpqdWRnZW1lbnQgbmFtZT0iYmVsb25ncyI+DQorCTxwOmZ1bmN0aW9uIG5hbWU9Im5hbWUiPg0KKwkgIDxwOnZhciByYW5nZT0idXJpIi8+DQorCSAgPHA6dmFyIHJhbmdlPSJuY25hbWUiLz4NCisJPC9wOmZ1bmN0aW9uPg0KKwk8cDp2YXIgcmFuZ2U9Im5hbWVDbGFzcyIvPg0KKyAgICAgIDwvcDpqdWRnZW1lbnQ+DQorICAgIDwvcDpub3Q+DQorICAgIDxwOmp1ZGdlbWVudCBuYW1lPSJiZWxvbmdzIj4NCisgICAgICA8cDpmdW5jdGlvbiBuYW1lPSJuYW1lIj4NCisgICAgICAgIDxwOnZhciByYW5nZT0idXJpIi8+DQorICAgICAgICA8cDp2YXIgcmFuZ2U9Im5jbmFtZSIvPg0KKyAgICAgIDwvcDpmdW5jdGlvbj4NCisgICAgICA8cDplbGVtZW50IG5hbWU9Im5zTmFtZSI+DQorICAgICAgICA8cDphdHRyaWJ1dGUgbmFtZT0ibnMiPg0KKyAgICAgICAgICA8cDp2YXIgcmFuZ2U9InVyaSIvPg0KKyAgICAgICAgPC9wOmF0dHJpYnV0ZT4NCisgICAgICAgIDxwOmVsZW1lbnQgbmFtZT0iZXhjZXB0Ij4NCisgICAgICAgICAgPHA6dmFyIHJhbmdlPSJuYW1lQ2xhc3MiLz4NCisgICAgICAgIDwvcDplbGVtZW50Pg0KKyAgICAgIDwvcDplbGVtZW50Pg0KKyAgICA8L3A6anVkZ2VtZW50Pg0KKyAgPC9wOnJ1bGU+DQorDQorICA8cDpydWxlIG5hbWU9Im5hbWUiPg0KKyAgICA8cDpqdWRnZW1lbnQgbmFtZT0iYmVsb25ncyI+DQorICAgICAgPHA6ZnVuY3Rpb24gbmFtZT0ibmFtZSI+DQorICAgICAgICA8cDp2YXIgcmFuZ2U9InVyaSIvPg0KKyAgICAgICAgPHA6dmFyIHJhbmdlPSJuY25hbWUiLz4NCisgICAgICA8L3A6ZnVuY3Rpb24+DQorICAgICAgPHA6ZWxlbWVudCBuYW1lPSJuYW1lIj4NCisgICAgICAgIDxwOmF0dHJpYnV0ZSBuYW1lPSJucyI+DQorICAgICAgICAgIDxwOnZhciByYW5nZT0idXJpIi8+DQorICAgICAgICA8L3A6YXR0cmlidXRlPg0KKyAgICAgICAgPHA6dmFyIHJhbmdlPSJuY25hbWUiLz4NCisgICAgICA8L3A6ZWxlbWVudD4NCisgICAgPC9wOmp1ZGdlbWVudD4NCisgIDwvcDpydWxlPg0KKw0KKyAgPHA6cnVsZSBuYW1lPSJuYW1lIGNob2ljZSAxIj4NCisgICAgPHA6anVkZ2VtZW50IG5hbWU9ImJlbG9uZ3MiPg0KKyAgICAgIDxwOnZhciByYW5nZT0ibmFtZSIvPg0KKyAgICAgIDxwOnZhciByYW5nZT0ibmFtZUNsYXNzIiBzdWI9IjEiLz4NCisgICAgPC9wOmp1ZGdlbWVudD4NCisgICAgPHA6anVkZ2VtZW50IG5hbWU9ImJlbG9uZ3MiPg0KKyAgICAgIDxwOnZhciByYW5nZT0ibmFtZSIvPg0KKyAgICAgIDxwOmVsZW1lbnQgbmFtZT0iY2hvaWNlIj4NCisgICAgICAgIDxwOnZhciByYW5nZT0ibmFtZUNsYXNzIiBzdWI9IjEiLz4NCisgICAgICAgIDxwOnZhciByYW5nZT0ibmFtZUNsYXNzIiBzdWI9IjIiLz4NCisgICAgICA8L3A6ZWxlbWVudD4NCisgICAgPC9wOmp1ZGdlbWVudD4NCisgIDwvcDpydWxlPg0KKw0KKyAgPHA6cnVsZSBuYW1lPSJuYW1lIGNob2ljZSAyIj4NCisgICAgPHA6anVkZ2VtZW50IG5hbWU9ImJlbG9uZ3MiPg0KKyAgICAgIDxwOnZhciByYW5nZT0ibmFtZSIvPg0KKyAgICAgIDxwOnZhciByYW5nZT0ibmFtZUNsYXNzIiBzdWI9IjIiLz4NCisgICAgPC9wOmp1ZGdlbWVudD4NCisgICAgPHA6anVkZ2VtZW50IG5hbWU9ImJlbG9uZ3MiPg0KKyAgICAgIDxwOnZhciByYW5nZT0ibmFtZSIvPg0KKyAgICAgIDxwOmVsZW1lbnQgbmFtZT0iY2hvaWNlIj4NCisgICAgICAgIDxwOnZhciByYW5nZT0ibmFtZUNsYXNzIiBzdWI9IjEiLz4NCisgICAgICAgIDxwOnZhciByYW5nZT0ibmFtZUNsYXNzIiBzdWI9IjIiLz4NCisgICAgICA8L3A6ZWxlbWVudD4NCisgICAgPC9wOmp1ZGdlbWVudD4NCisgIDwvcDpydWxlPg0KKw0KKzwvcDpwcm9vZlN5c3RlbT4NCisNCis8L3NlY3Rpb24+DQorDQorDQorPHNlY3Rpb24+DQorPHRpdGxlPlBhdHRlcm5zPC90aXRsZT4NCisNCis8cGFyYT5UaGUgYXhpb21zIGFuZCBpbmZlcmVuY2UgcnVsZXMgZm9yIHBhdHRlcm5zIHVzZSB0aGUgZm9sbG93aW5nDQorbm90YXRpb246PC9wYXJhPg0KKw0KKzx2YXJpYWJsZWxpc3Q+DQorDQorPHZhcmxpc3RlbnRyeT48dGVybT48cDp2YXIgcmFuZ2U9ImNvbnRleHQiLz48L3Rlcm0+PGxpc3RpdGVtPjxwYXJhPnJhbmdlcw0KK292ZXIgY29udGV4dHMgKGFzIGRlZmluZWQgaW4gPHhyZWYNCitsaW5rZW5kPSJkYXRhLW1vZGVsIi8+KTwvcGFyYT48L2xpc3RpdGVtPjwvdmFybGlzdGVudHJ5Pg0KKw0KKzx2YXJsaXN0ZW50cnk+PHRlcm0+PHA6dmFyIHJhbmdlPSJhdHQiLz48L3Rlcm0+PGxpc3RpdGVtPjxwYXJhPnJhbmdlcyBvdmVyDQorc2V0cyBvZiBhdHRyaWJ1dGVzOyBhIHNldCB3aXRoIGEgc2luZ2xlIG1lbWJlcg0KK2lzIGNvbnNpZGVyZWQgdGhlIHNhbWUgYXMgdGhhdCBtZW1iZXI8L3BhcmE+PC9saXN0aXRlbT48L3Zhcmxpc3RlbnRyeT4NCisNCis8dmFybGlzdGVudHJ5Pjx0ZXJtPjxwOnZhcg0KK3JhbmdlPSJtaXhlZCIvPjwvdGVybT48bGlzdGl0ZW0+PHBhcmE+cmFuZ2VzIG92ZXIgc2VxdWVuY2VzIG9mDQorZWxlbWVudHMgYW5kIHN0cmluZ3M7IGEgc2VxdWVuY2Ugd2l0aCBhIHNpbmdsZSBtZW1iZXIgaXMgY29uc2lkZXJlZA0KK3RoZSBzYW1lIGFzIHRoYXQgbWVtYmVyOyB0aGUgc2VxdWVuY2VzIHJhbmdlZCBvdmVyIGJ5IDxwOnZhcg0KK3JhbmdlPSJtaXhlZCIvPiBtYXkgY29udGFpbiBjb25zZWN1dGl2ZSBzdHJpbmdzIGFuZCBtYXkgY29udGFpbiBzdHJpbmdzDQordGhhdCBhcmUgZW1wdHk7IHRodXMsIHRoZXJlIGFyZSBzZXF1ZW5jZXMgcmFuZ2VkIG92ZXIgYnkgPHA6dmFyDQorcmFuZ2U9Im1peGVkIi8+IHRoYXQgY2Fubm90IG9jY3VyIGFzIHRoZSBjaGlsZHJlbiBvZiBhbg0KK2VsZW1lbnQ8L3BhcmE+PC9saXN0aXRlbT48L3Zhcmxpc3RlbnRyeT4NCisNCis8dmFybGlzdGVudHJ5Pjx0ZXJtPjxwOnZhciByYW5nZT0icGF0dGVybiIvPjwvdGVybT48bGlzdGl0ZW0+PHBhcmE+cmFuZ2VzDQorb3ZlciBwYXR0ZXJucyAoZWxlbWVudHMgbWF0Y2hpbmcgdGhlIHBhdHRlcm4NCitwcm9kdWN0aW9uKTwvcGFyYT48L2xpc3RpdGVtPjwvdmFybGlzdGVudHJ5Pg0KKw0KKzx2YXJsaXN0ZW50cnk+PHRlcm0+PHA6anVkZ2VtZW50IG5hbWU9Im1hdGNoIj4NCisgICAgICA8cDp2YXIgcmFuZ2U9ImNvbnRleHQiLz4NCisgICAgICA8cDp2YXIgcmFuZ2U9ImF0dCIvPg0KKyAgICAgIDxwOnZhciByYW5nZT0ibWl4ZWQiLz4NCisgICAgICA8cDp2YXIgcmFuZ2U9InBhdHRlcm4iLz4NCisgICAgPC9wOmp1ZGdlbWVudD48L3Rlcm0+PGxpc3RpdGVtPjxwYXJhPg0KKyAgICANCithc3NlcnRzIHRoYXQgd2l0aCByZXNwZWN0IHRvIGNvbnRleHQgPHA6dmFyIHJhbmdlPSJjb250ZXh0Ii8+LCB0aGUNCithdHRyaWJ1dGVzIDxwOnZhciByYW5nZT0iYXR0Ii8+IGFuZCB0aGUgc2VxdWVuY2Ugb2YgZWxlbWVudHMgYW5kDQorc3RyaW5ncyA8cDp2YXIgcmFuZ2U9Im1peGVkIi8+IG1hdGNoZXMgdGhlIHBhdHRlcm4gPHA6dmFyDQorcmFuZ2U9InBhdHRlcm4iLz48L3BhcmE+PC9saXN0aXRlbT48L3Zhcmxpc3RlbnRyeT4NCisNCis8L3ZhcmlhYmxlbGlzdD4NCisNCis8c2VjdGlvbiBpZD0iY2hvaWNlLXBhdHRlcm4iPg0KKzx0aXRsZT48bGl0ZXJhbD5jaG9pY2U8L2xpdGVyYWw+IHBhdHRlcm48L3RpdGxlPg0KKw0KKzxwYXJhPlRoZSBzZW1hbnRpY3Mgb2YgdGhlIDxsaXRlcmFsPmNob2ljZTwvbGl0ZXJhbD4gcGF0dGVybiBhcmUgYXMgZm9sbG93czo8L3BhcmE+DQorDQorPHA6cHJvb2ZTeXN0ZW0+DQorICA8cDpydWxlIG5hbWU9ImNob2ljZSAxIj4NCisNCisgICAgPHA6anVkZ2VtZW50IG5hbWU9Im1hdGNoIj4NCisgICAgICA8cDp2YXIgcmFuZ2U9ImNvbnRleHQiLz4NCisgICAgICA8cDp2YXIgcmFuZ2U9ImF0dCIvPg0KKyAgICAgIDxwOnZhciByYW5nZT0ibWl4ZWQiLz4NCisgICAgICA8cDp2YXIgcmFuZ2U9InBhdHRlcm4iIHN1Yj0iMSIvPg0KKyAgICA8L3A6anVkZ2VtZW50Pg0KKw0KKyAgICA8cDpqdWRnZW1lbnQgbmFtZT0ibWF0Y2giPg0KKyAgICAgIDxwOnZhciByYW5nZT0iY29udGV4dCIvPg0KKyAgICAgIDxwOnZhciByYW5nZT0iYXR0Ii8+DQorICAgICAgPHA6dmFyIHJhbmdlPSJtaXhlZCIvPg0KKyAgICAgIDxwOmVsZW1lbnQgbmFtZT0iY2hvaWNlIj4NCisJPHA6dmFyIHJhbmdlPSJwYXR0ZXJuIiBzdWI9IjEiLz4NCisJPHA6dmFyIHJhbmdlPSJwYXR0ZXJuIiBzdWI9IjIiLz4NCisgICAgICA8L3A6ZWxlbWVudD4NCisgICAgPC9wOmp1ZGdlbWVudD4NCisNCisgIDwvcDpydWxlPg0KKw0KKyAgPHA6cnVsZSBuYW1lPSJjaG9pY2UgMiI+DQorDQorICAgIDxwOmp1ZGdlbWVudCBuYW1lPSJtYXRjaCI+DQorICAgICAgPHA6dmFyIHJhbmdlPSJjb250ZXh0Ii8+DQorICAgICAgPHA6dmFyIHJhbmdlPSJhdHQiLz4NCisgICAgICA8cDp2YXIgcmFuZ2U9Im1peGVkIi8+DQorICAgICAgPHA6dmFyIHJhbmdlPSJwYXR0ZXJuIiBzdWI9IjIiLz4NCisgICAgPC9wOmp1ZGdlbWVudD4NCisNCisgICAgPHA6anVkZ2VtZW50IG5hbWU9Im1hdGNoIj4NCisgICAgICA8cDp2YXIgcmFuZ2U9ImNvbnRleHQiLz4NCisgICAgICA8cDp2YXIgcmFuZ2U9ImF0dCIvPg0KKyAgICAgIDxwOnZhciByYW5nZT0ibWl4ZWQiLz4NCisgICAgICA8cDplbGVtZW50IG5hbWU9ImNob2ljZSI+DQorCTxwOnZhciByYW5nZT0icGF0dGVybiIgc3ViPSIxIi8+DQorCTxwOnZhciByYW5nZT0icGF0dGVybiIgc3ViPSIyIi8+DQorICAgICAgPC9wOmVsZW1lbnQ+DQorICAgIDwvcDpqdWRnZW1lbnQ+DQorDQorICA8L3A6cnVsZT4NCisNCisNCis8L3A6cHJvb2ZTeXN0ZW0+DQorDQorPC9zZWN0aW9uPg0KKw0KKzxzZWN0aW9uPg0KKzx0aXRsZT48bGl0ZXJhbD5ncm91cDwvbGl0ZXJhbD4gcGF0dGVybjwvdGl0bGU+DQorDQorPHBhcmE+V2UgdXNlIHRoZSBmb2xsb3dpbmcgYWRkaXRpb25hbCBub3RhdGlvbjo8L3BhcmE+DQorDQorPHZhcmlhYmxlbGlzdD4NCisNCis8dmFybGlzdGVudHJ5Pjx0ZXJtPjxwOmZ1bmN0aW9uIG5hbWU9ImFwcGVuZCI+DQorCTxwOnZhciByYW5nZT0ibWl4ZWQiIHN1Yj0iMSIvPg0KKwk8cDp2YXIgcmFuZ2U9Im1peGVkIiBzdWI9IjIiLz4NCisgICAgICA8L3A6ZnVuY3Rpb24+PC90ZXJtPjxsaXN0aXRlbT4NCis8cGFyYT5yZXByZXNlbnRzIHRoZSBjb25jYXRlbmF0aW9uIG9mIHRoZSBzZXF1ZW5jZXMgPHA6dmFyIHJhbmdlPSJtaXhlZCIgc3ViPSIxIi8+IGFuZCA8cDp2YXIgcmFuZ2U9Im1peGVkIiBzdWI9IjIiLz4NCisNCis8L3BhcmE+PC9saXN0aXRlbT48L3Zhcmxpc3RlbnRyeT4NCisNCis8dmFybGlzdGVudHJ5Pjx0ZXJtPjxwOmZ1bmN0aW9uIG5hbWU9InVuaW9uIj4NCisJPHA6dmFyIHJhbmdlPSJhdHQiIHN1Yj0iMSIvPg0KKwk8cDp2YXIgcmFuZ2U9ImF0dCIgc3ViPSIyIi8+DQorICAgICAgPC9wOmZ1bmN0aW9uPjwvdGVybT48bGlzdGl0ZW0+DQorPHBhcmE+cmVwcmVzZW50cyB0aGUgdW5pb24gb2YgPHA6dmFyIHJhbmdlPSJhdHQiIHN1Yj0iMSIvPg0KK2FuZCA8cDp2YXIgcmFuZ2U9ImF0dCIgc3ViPSIyIi8+PC9wYXJhPg0KKzwvbGlzdGl0ZW0+DQorPC92YXJsaXN0ZW50cnk+DQorDQorPC92YXJpYWJsZWxpc3Q+DQorDQorPHBhcmE+VGhlIHNlbWFudGljcyBvZiB0aGUgPGxpdGVyYWw+Z3JvdXA8L2xpdGVyYWw+IHBhdHRlcm4gYXJlIGFzIGZvbGxvd3M6PC9wYXJhPg0KKw0KKzxwOnByb29mU3lzdGVtPg0KKyAgPHA6cnVsZSBuYW1lPSJncm91cCI+DQorDQorICAgIDxwOmp1ZGdlbWVudCBuYW1lPSJtYXRjaCI+DQorICAgICAgPHA6dmFyIHJhbmdlPSJjb250ZXh0Ii8+DQorICAgICAgPHA6dmFyIHJhbmdlPSJhdHQiIHN1Yj0iMSIvPg0KKyAgICAgIDxwOnZhciByYW5nZT0ibWl4ZWQiIHN1Yj0iMSIvPg0KKyAgICAgIDxwOnZhciByYW5nZT0icGF0dGVybiIgc3ViPSIxIi8+DQorICAgIDwvcDpqdWRnZW1lbnQ+DQorDQorICAgIDxwOmp1ZGdlbWVudCBuYW1lPSJtYXRjaCI+DQorICAgICAgPHA6dmFyIHJhbmdlPSJjb250ZXh0Ii8+DQorICAgICAgPHA6dmFyIHJhbmdlPSJhdHQiIHN1Yj0iMiIvPg0KKyAgICAgIDxwOnZhciByYW5nZT0ibWl4ZWQiIHN1Yj0iMiIvPg0KKyAgICAgIDxwOnZhciByYW5nZT0icGF0dGVybiIgc3ViPSIyIi8+DQorICAgIDwvcDpqdWRnZW1lbnQ+DQorDQorICAgIDxwOmp1ZGdlbWVudCBuYW1lPSJtYXRjaCI+DQorICAgICAgPHA6dmFyIHJhbmdlPSJjb250ZXh0Ii8+DQorICAgICAgPHA6ZnVuY3Rpb24gbmFtZT0idW5pb24iPg0KKwk8cDp2YXIgcmFuZ2U9ImF0dCIgc3ViPSIxIi8+DQorCTxwOnZhciByYW5nZT0iYXR0IiBzdWI9IjIiLz4NCisgICAgICA8L3A6ZnVuY3Rpb24+DQorICAgICAgPHA6ZnVuY3Rpb24gbmFtZT0iYXBwZW5kIj4NCisJPHA6dmFyIHJhbmdlPSJtaXhlZCIgc3ViPSIxIi8+DQorCTxwOnZhciByYW5nZT0ibWl4ZWQiIHN1Yj0iMiIvPg0KKyAgICAgIDwvcDpmdW5jdGlvbj4NCisgICAgICA8cDplbGVtZW50IG5hbWU9Imdyb3VwIj4NCisJPHA6dmFyIHJhbmdlPSJwYXR0ZXJuIiBzdWI9IjEiLz4NCisJPHA6dmFyIHJhbmdlPSJwYXR0ZXJuIiBzdWI9IjIiLz4NCisgICAgICA8L3A6ZWxlbWVudD4NCisgICAgPC9wOmp1ZGdlbWVudD4NCisNCisgIDwvcDpydWxlPg0KKw0KKzwvcDpwcm9vZlN5c3RlbT4NCisNCis8bm90ZT48cGFyYT5UaGUgcmVzdHJpY3Rpb24gaW4gPHhyZWYgbGlua2VuZD0iYXR0cmlidXRlLXJlc3RyaWN0aW9ucyIvPg0KK2Vuc3VyZXMgdGhhdCB0aGUgc2V0IG9mIGF0dHJpYnV0ZXMgY29uc3RydWN0ZWQgaW4gdGhlIGNvbnNlcXVlbnQgd2lsbA0KK25vdCBoYXZlIG11bHRpcGxlIGF0dHJpYnV0ZXMgd2l0aCB0aGUgc2FtZSBuYW1lLjwvcGFyYT48L25vdGU+DQorDQorPC9zZWN0aW9uPg0KKw0KKw0KKzxzZWN0aW9uIGlkPSJlbXB0eS1wYXR0ZXJuIj4NCis8dGl0bGU+PGxpdGVyYWw+ZW1wdHk8L2xpdGVyYWw+IHBhdHRlcm48L3RpdGxlPg0KKw0KKzxwYXJhPldlIHVzZSB0aGUgZm9sbG93aW5nIGFkZGl0aW9uYWwgbm90YXRpb246PC9wYXJhPg0KKw0KKzx2YXJpYWJsZWxpc3Q+DQorPHZhcmxpc3RlbnRyeT48dGVybT48cDpmdW5jdGlvbiBuYW1lPSJlbXB0eVNlcXVlbmNlIi8+PC90ZXJtPjxsaXN0aXRlbT48cGFyYT5yZXByZXNlbnRzIGFuIGVtcHR5IHNlcXVlbmNlPC9wYXJhPjwvbGlzdGl0ZW0+PC92YXJsaXN0ZW50cnk+DQorDQorPHZhcmxpc3RlbnRyeT48dGVybT48cDpmdW5jdGlvbiBuYW1lPSJlbXB0eVNldCIvPjwvdGVybT48bGlzdGl0ZW0+PHBhcmE+cmVwcmVzZW50cyBhbiBlbXB0eSBzZXQ8L3BhcmE+PC9saXN0aXRlbT48L3Zhcmxpc3RlbnRyeT4NCisNCis8L3ZhcmlhYmxlbGlzdD4NCisNCis8cGFyYT5UaGUgc2VtYW50aWNzIG9mIHRoZSA8bGl0ZXJhbD5lbXB0eTwvbGl0ZXJhbD4gcGF0dGVybiBhcmUgYXMgZm9sbG93czo8L3BhcmE+DQorDQorPHA6cHJvb2ZTeXN0ZW0+DQorICA8cDpydWxlIG5hbWU9ImVtcHR5Ij4NCisgICAgPHA6anVkZ2VtZW50IG5hbWU9Im1hdGNoIj4NCisgICAgICA8cDp2YXIgcmFuZ2U9ImNvbnRleHQiLz4NCisgICAgICA8cDpmdW5jdGlvbiBuYW1lPSJlbXB0eVNldCIvPg0KKyAgICAgIDxwOmZ1bmN0aW9uIG5hbWU9ImVtcHR5U2VxdWVuY2UiLz4NCisgICAgICA8cDplbGVtZW50IG5hbWU9ImVtcHR5Ij48L3A6ZWxlbWVudD4NCisgICAgICA8cDpmdW5jdGlvbiBuYW1lPSJlbXB0eVNldCIvPg0KKyAgICAgIDxwOmZ1bmN0aW9uIG5hbWU9ImVtcHR5U2V0Ii8+DQorICAgIDwvcDpqdWRnZW1lbnQ+DQorICA8L3A6cnVsZT4NCis8L3A6cHJvb2ZTeXN0ZW0+DQorDQorPC9zZWN0aW9uPg0KKw0KKw0KKzxzZWN0aW9uIGlkPSJ0ZXh0LXBhdHRlcm4iPg0KKzx0aXRsZT48bGl0ZXJhbD50ZXh0PC9saXRlcmFsPiBwYXR0ZXJuPC90aXRsZT4NCisNCis8cGFyYT5XZSB1c2UgdGhlIGZvbGxvd2luZyBhZGRpdGlvbmFsIG5vdGF0aW9uOjwvcGFyYT4NCisNCis8dmFyaWFibGVsaXN0Pg0KKzx2YXJsaXN0ZW50cnk+PHRlcm0+PHA6dmFyIHJhbmdlPSJzdHJpbmciLz48L3Rlcm0+PGxpc3RpdGVtPjxwYXJhPnJhbmdlcw0KK292ZXIgc3RyaW5nczwvcGFyYT48L2xpc3RpdGVtPjwvdmFybGlzdGVudHJ5Pg0KKzwvdmFyaWFibGVsaXN0Pg0KKw0KKzxwYXJhPlRoZSBzZW1hbnRpY3Mgb2YgdGhlIDxsaXRlcmFsPnRleHQ8L2xpdGVyYWw+IHBhdHRlcm4gYXJlIGFzIGZvbGxvd3M6PC9wYXJhPg0KKw0KKzxwOnByb29mU3lzdGVtPg0KKyAgPHA6cnVsZSBuYW1lPSJ0ZXh0IDEiPg0KKyAgICA8cDpqdWRnZW1lbnQgbmFtZT0ibWF0Y2giPg0KKyAgICAgIDxwOnZhciByYW5nZT0iY29udGV4dCIvPg0KKyAgICAgIDxwOmZ1bmN0aW9uIG5hbWU9ImVtcHR5U2V0Ii8+DQorICAgICAgPHA6ZnVuY3Rpb24gbmFtZT0iZW1wdHlTZXF1ZW5jZSIvPg0KKyAgICAgIDxwOmVsZW1lbnQgbmFtZT0idGV4dCI+PC9wOmVsZW1lbnQ+DQorICAgICAgPHA6ZnVuY3Rpb24gbmFtZT0iZW1wdHlTZXQiLz4NCisgICAgICA8cDpmdW5jdGlvbiBuYW1lPSJlbXB0eVNldCIvPg0KKyAgICA8L3A6anVkZ2VtZW50Pg0KKyAgPC9wOnJ1bGU+DQorDQorICA8cDpydWxlIG5hbWU9InRleHQgMiI+DQorICAgIDxwOmp1ZGdlbWVudCBuYW1lPSJtYXRjaCI+DQorICAgICAgPHA6dmFyIHJhbmdlPSJjb250ZXh0Ii8+DQorICAgICAgPHA6ZnVuY3Rpb24gbmFtZT0iZW1wdHlTZXQiLz4NCisgICAgICA8cDp2YXIgcmFuZ2U9Im1peGVkIi8+DQorICAgICAgPHA6ZWxlbWVudCBuYW1lPSJ0ZXh0Ij48L3A6ZWxlbWVudD4NCisgICAgICA8cDpmdW5jdGlvbiBuYW1lPSJlbXB0eVNldCIvPg0KKyAgICAgIDxwOmZ1bmN0aW9uIG5hbWU9ImVtcHR5U2V0Ii8+DQorICAgIDwvcDpqdWRnZW1lbnQ+DQorICAgIDxwOmp1ZGdlbWVudCBuYW1lPSJtYXRjaCI+DQorICAgICAgPHA6dmFyIHJhbmdlPSJjb250ZXh0Ii8+DQorICAgICAgPHA6ZnVuY3Rpb24gbmFtZT0iZW1wdHlTZXQiLz4NCisgICAgICA8cDpmdW5jdGlvbiBuYW1lPSJhcHBlbmQiPg0KKyAgICAgICAgPHA6dmFyIHJhbmdlPSJtaXhlZCIvPg0KKyAgICAgICAgPHA6dmFyIHJhbmdlPSJzdHJpbmciLz4NCisgICAgICA8L3A6ZnVuY3Rpb24+DQorICAgICAgPHA6ZWxlbWVudCBuYW1lPSJ0ZXh0Ij48L3A6ZWxlbWVudD4NCisgICAgICA8cDpmdW5jdGlvbiBuYW1lPSJlbXB0eVNldCIvPg0KKyAgICAgIDxwOmZ1bmN0aW9uIG5hbWU9ImVtcHR5U2V0Ii8+DQorICAgIDwvcDpqdWRnZW1lbnQ+DQorICA8L3A6cnVsZT4NCisNCis8L3A6cHJvb2ZTeXN0ZW0+DQorDQorPHBhcmE+VGhlIGVmZmVjdCBvZiB0aGUgYWJvdmUgcnVsZSBpcyB0aGF0IGEgPGxpdGVyYWw+dGV4dDwvbGl0ZXJhbD4NCitlbGVtZW50IG1hdGNoZXMgemVybyBvciBtb3JlIHN0cmluZ3MuPC9wYXJhPg0KKw0KKzwvc2VjdGlvbj4NCisNCisNCis8c2VjdGlvbj4NCis8dGl0bGU+PGxpdGVyYWw+b25lT3JNb3JlPC9saXRlcmFsPiBwYXR0ZXJuPC90aXRsZT4NCisNCis8cGFyYT5XZSB1c2UgdGhlIGZvbGxvd2luZyBhZGRpdGlvbmFsIG5vdGF0aW9uOjwvcGFyYT4NCisNCis8dmFyaWFibGVsaXN0Pg0KKzx2YXJsaXN0ZW50cnk+PHRlcm0+PHA6anVkZ2VtZW50IG5hbWU9ImRpc2pvaW50Ij4NCisgICAgICA8cDp2YXIgcmFuZ2U9ImF0dCIgc3ViPSIxIi8+DQorICAgICAgPHA6dmFyIHJhbmdlPSJhdHQiIHN1Yj0iMiIvPg0KKyAgICA8L3A6anVkZ2VtZW50PjwvdGVybT48bGlzdGl0ZW0+PHBhcmE+DQorYXNzZXJ0cyB0aGF0IHRoZXJlIGlzIG5vIG5hbWUgdGhhdCBpcw0KK3RoZSBuYW1lIG9mIGJvdGggYW4gYXR0cmlidXRlIGluIDxwOnZhciByYW5nZT0iYXR0IiBzdWI9IjEiLz4NCithbmQgb2YgYW4gYXR0cmlidXRlIGluIDxwOnZhciByYW5nZT0iYXR0IiBzdWI9IjIiLz4NCis8L3BhcmE+PC9saXN0aXRlbT48L3Zhcmxpc3RlbnRyeT4NCis8L3ZhcmlhYmxlbGlzdD4NCisNCis8cGFyYT5UaGUgc2VtYW50aWNzIG9mIHRoZSA8bGl0ZXJhbD5vbmVPck1vcmU8L2xpdGVyYWw+IHBhdHRlcm4gYXJlIGFzIGZvbGxvd3M6PC9wYXJhPg0KKw0KKzxwOnByb29mU3lzdGVtPg0KKyAgPHA6cnVsZSBuYW1lPSJvbmVPck1vcmUgMSI+DQorICAgIDxwOmp1ZGdlbWVudCBuYW1lPSJtYXRjaCI+DQorICAgICAgPHA6dmFyIHJhbmdlPSJjb250ZXh0Ii8+DQorICAgICAgPHA6dmFyIHJhbmdlPSJhdHQiLz4NCisgICAgICA8cDp2YXIgcmFuZ2U9Im1peGVkIi8+DQorICAgICAgPHA6dmFyIHJhbmdlPSJwYXR0ZXJuIi8+DQorICAgIDwvcDpqdWRnZW1lbnQ+DQorDQorICAgIDxwOmp1ZGdlbWVudCBuYW1lPSJtYXRjaCI+DQorICAgICAgPHA6dmFyIHJhbmdlPSJjb250ZXh0Ii8+DQorICAgICAgPHA6dmFyIHJhbmdlPSJhdHQiLz4NCisgICAgICA8cDp2YXIgcmFuZ2U9Im1peGVkIi8+DQorICAgICAgPHA6ZWxlbWVudCBuYW1lPSJvbmVPck1vcmUiPg0KKyAgICAgICAgPHA6dmFyIHJhbmdlPSJwYXR0ZXJuIi8+DQorICAgICAgPC9wOmVsZW1lbnQ+DQorICAgIDwvcDpqdWRnZW1lbnQ+DQorICA8L3A6cnVsZT4NCisNCisgIDxwOnJ1bGUgbmFtZT0ib25lT3JNb3JlIDIiPg0KKyAgICA8cDpqdWRnZW1lbnQgbmFtZT0ibWF0Y2giPg0KKyAgICAgIDxwOnZhciByYW5nZT0iY29udGV4dCIvPg0KKyAgICAgIDxwOnZhciByYW5nZT0iYXR0IiBzdWI9IjEiLz4NCisgICAgICA8cDp2YXIgcmFuZ2U9Im1peGVkIiBzdWI9IjEiLz4NCisgICAgICA8cDp2YXIgcmFuZ2U9InBhdHRlcm4iLz4NCisgICAgPC9wOmp1ZGdlbWVudD4NCisNCisgICAgPHA6anVkZ2VtZW50IG5hbWU9Im1hdGNoIj4NCisgICAgICA8cDp2YXIgcmFuZ2U9ImNvbnRleHQiLz4NCisgICAgICA8cDp2YXIgcmFuZ2U9ImF0dCIgc3ViPSIyIi8+DQorICAgICAgPHA6dmFyIHJhbmdlPSJtaXhlZCIgc3ViPSIyIi8+DQorICAgICAgPHA6ZWxlbWVudCBuYW1lPSJvbmVPck1vcmUiPg0KKyAgICAgICAgPHA6dmFyIHJhbmdlPSJwYXR0ZXJuIi8+DQorICAgICAgPC9wOmVsZW1lbnQ+DQorICAgIDwvcDpqdWRnZW1lbnQ+DQorDQorICAgIDxwOmp1ZGdlbWVudCBuYW1lPSJkaXNqb2ludCI+DQorICAgICAgPHA6dmFyIHJhbmdlPSJhdHQiIHN1Yj0iMSIvPg0KKyAgICAgIDxwOnZhciByYW5nZT0iYXR0IiBzdWI9IjIiLz4NCisgICAgPC9wOmp1ZGdlbWVudD4NCisNCisgICAgPHA6anVkZ2VtZW50IG5hbWU9Im1hdGNoIj4NCisgICAgICA8cDp2YXIgcmFuZ2U9ImNvbnRleHQiLz4NCisgICAgICA8cDpmdW5jdGlvbiBuYW1lPSJ1bmlvbiI+DQorCTxwOnZhciByYW5nZT0iYXR0IiBzdWI9IjEiLz4NCisJPHA6dmFyIHJhbmdlPSJhdHQiIHN1Yj0iMiIvPg0KKyAgICAgIDwvcDpmdW5jdGlvbj4NCisgICAgICA8cDpmdW5jdGlvbiBuYW1lPSJhcHBlbmQiPg0KKwk8cDp2YXIgcmFuZ2U9Im1peGVkIiBzdWI9IjEiLz4NCisJPHA6dmFyIHJhbmdlPSJtaXhlZCIgc3ViPSIyIi8+DQorICAgICAgPC9wOmZ1bmN0aW9uPg0KKyAgICAgIDxwOmVsZW1lbnQgbmFtZT0ib25lT3JNb3JlIj4NCisgICAgICAgIDxwOnZhciByYW5nZT0icGF0dGVybiIvPg0KKyAgICAgIDwvcDplbGVtZW50Pg0KKyAgICA8L3A6anVkZ2VtZW50Pg0KKyAgPC9wOnJ1bGU+DQorDQorPC9wOnByb29mU3lzdGVtPg0KKw0KKzwvc2VjdGlvbj4NCisNCisNCis8c2VjdGlvbj4NCis8dGl0bGU+PGxpdGVyYWw+aW50ZXJsZWF2ZTwvbGl0ZXJhbD4gcGF0dGVybjwvdGl0bGU+DQorDQorPHBhcmE+V2UgdXNlIHRoZSBmb2xsb3dpbmcgYWRkaXRpb25hbCBub3RhdGlvbjo8L3BhcmE+DQorDQorPHZhcmlhYmxlbGlzdD4NCis8dmFybGlzdGVudHJ5Pjx0ZXJtPjxwOmp1ZGdlbWVudCBuYW1lPSJpbnRlcmxlYXZlIj4NCisgICAgICA8cDp2YXIgcmFuZ2U9Im1peGVkIiBzdWI9IjEiLz4NCisgICAgICA8cDp2YXIgcmFuZ2U9Im1peGVkIiBzdWI9IjIiLz4NCisgICAgICA8cDp2YXIgcmFuZ2U9Im1peGVkIiBzdWI9IjMiLz4NCisgICAgPC9wOmp1ZGdlbWVudD48L3Rlcm0+PGxpc3RpdGVtPjxwYXJhPg0KKyAgICANCithc3NlcnRzIHRoYXQgPHA6dmFyIHJhbmdlPSJtaXhlZCIgc3ViPSIxIi8+DQoraXMgYW4gaW50ZXJsZWF2aW5nIG9mIDxwOnZhciByYW5nZT0ibWl4ZWQiIHN1Yj0iMiIvPg0KK2FuZCA8cDp2YXIgcmFuZ2U9Im1peGVkIiBzdWI9IjMiLz4NCis8L3BhcmE+PC9saXN0aXRlbT48L3Zhcmxpc3RlbnRyeT4NCisNCis8L3ZhcmlhYmxlbGlzdD4NCisNCis8cGFyYT5UaGUgc2VtYW50aWNzIG9mIGludGVybGVhdmluZyBhcmUgZGVmaW5lZCBieSB0aGUgZm9sbG93aW5nIHJ1bGVzLjwvcGFyYT4NCisNCisNCis8cDpwcm9vZlN5c3RlbT4NCisgIDxwOnJ1bGUgbmFtZT0iaW50ZXJsZWF2ZXMgMSI+DQorICAgDQorICAgIDxwOmp1ZGdlbWVudCBuYW1lPSJpbnRlcmxlYXZlIj4NCisgICAgICA8cDpmdW5jdGlvbiBuYW1lPSJlbXB0eVNlcXVlbmNlIi8+DQorICAgICAgPHA6ZnVuY3Rpb24gbmFtZT0iZW1wdHlTZXF1ZW5jZSIvPg0KKyAgICAgIDxwOmZ1bmN0aW9uIG5hbWU9ImVtcHR5U2VxdWVuY2UiLz4NCisgICAgPC9wOmp1ZGdlbWVudD4NCisNCisgIDwvcDpydWxlPg0KKw0KKyAgPHA6cnVsZSBuYW1lPSJpbnRlcmxlYXZlcyAyIj4NCisgICANCisgICAgPHA6anVkZ2VtZW50IG5hbWU9ImludGVybGVhdmUiPg0KKyAgICAgIDxwOnZhciByYW5nZT0ibWl4ZWQiIHN1Yj0iMSIvPg0KKyAgICAgIDxwOnZhciByYW5nZT0ibWl4ZWQiIHN1Yj0iMiIvPg0KKyAgICAgIDxwOnZhciByYW5nZT0ibWl4ZWQiIHN1Yj0iMyIvPg0KKyAgICA8L3A6anVkZ2VtZW50Pg0KKw0KKyAgICA8cDpqdWRnZW1lbnQgbmFtZT0iaW50ZXJsZWF2ZSI+DQorICAgICAgPHA6ZnVuY3Rpb24gbmFtZT0iYXBwZW5kIj4NCisgICAgICAgIDxwOnZhciByYW5nZT0ibWl4ZWQiIHN1Yj0iNCIvPg0KKyAgICAgICAgPHA6dmFyIHJhbmdlPSJtaXhlZCIgc3ViPSIxIi8+DQorICAgICAgPC9wOmZ1bmN0aW9uPg0KKyAgICAgIDxwOmZ1bmN0aW9uIG5hbWU9ImFwcGVuZCI+DQorICAgICAgICA8cDp2YXIgcmFuZ2U9Im1peGVkIiBzdWI9IjQiLz4NCisgICAgICAgIDxwOnZhciByYW5nZT0ibWl4ZWQiIHN1Yj0iMiIvPg0KKyAgICAgIDwvcDpmdW5jdGlvbj4NCisgICAgICA8cDp2YXIgcmFuZ2U9Im1peGVkIiBzdWI9IjMiLz4NCisgICAgPC9wOmp1ZGdlbWVudD4NCisNCisgIDwvcDpydWxlPg0KKw0KKyAgPHA6cnVsZSBuYW1lPSJpbnRlcmxlYXZlcyAzIj4NCisgICANCisgICAgPHA6anVkZ2VtZW50IG5hbWU9ImludGVybGVhdmUiPg0KKyAgICAgIDxwOnZhciByYW5nZT0ibWl4ZWQiIHN1Yj0iMSIvPg0KKyAgICAgIDxwOnZhciByYW5nZT0ibWl4ZWQiIHN1Yj0iMiIvPg0KKyAgICAgIDxwOnZhciByYW5nZT0ibWl4ZWQiIHN1Yj0iMyIvPg0KKyAgICA8L3A6anVkZ2VtZW50Pg0KKw0KKyAgICA8cDpqdWRnZW1lbnQgbmFtZT0iaW50ZXJsZWF2ZSI+DQorICAgICAgPHA6ZnVuY3Rpb24gbmFtZT0iYXBwZW5kIj4NCisgICAgICAgIDxwOnZhciByYW5nZT0ibWl4ZWQiIHN1Yj0iNCIvPg0KKyAgICAgICAgPHA6dmFyIHJhbmdlPSJtaXhlZCIgc3ViPSIxIi8+DQorICAgICAgPC9wOmZ1bmN0aW9uPg0KKyAgICAgIDxwOnZhciByYW5nZT0ibWl4ZWQiIHN1Yj0iMiIvPg0KKyAgICAgIDxwOmZ1bmN0aW9uIG5hbWU9ImFwcGVuZCI+DQorICAgICAgICA8cDp2YXIgcmFuZ2U9Im1peGVkIiBzdWI9IjQiLz4NCisgICAgICAgIDxwOnZhciByYW5nZT0ibWl4ZWQiIHN1Yj0iMyIvPg0KKyAgICAgIDwvcDpmdW5jdGlvbj4NCisgICAgPC9wOmp1ZGdlbWVudD4NCisNCisgIDwvcDpydWxlPg0KKw0KKzwvcDpwcm9vZlN5c3RlbT4NCisNCis8cGFyYT5Gb3IgZXhhbXBsZSwgdGhlIGludGVybGVhdmluZ3Mgb2YNCis8bGl0ZXJhbD48IVtDREFUQVs8YS8+PGEvPl1dPjwvbGl0ZXJhbD4gYW5kDQorPGxpdGVyYWw+PCFbQ0RBVEFbPGIvPl1dPjwvbGl0ZXJhbD4gYXJlDQorPGxpdGVyYWw+PCFbQ0RBVEFbPGEvPjxhLz48Yi8+XV0+PC9saXRlcmFsPiwNCis8bGl0ZXJhbD48IVtDREFUQVs8YS8+PGIvPjxhLz5dXT48L2xpdGVyYWw+LCBhbmQNCis8bGl0ZXJhbD48IVtDREFUQVs8Yi8+PGEvPjxhLz5dXT48L2xpdGVyYWw+LjwvcGFyYT4NCisNCis8cGFyYT5UaGUgc2VtYW50aWNzIG9mIHRoZSA8bGl0ZXJhbD5pbnRlcmxlYXZlPC9saXRlcmFsPiBwYXR0ZXJuIGFyZQ0KK2FzIGZvbGxvd3M6PC9wYXJhPg0KKw0KKzxwOnByb29mU3lzdGVtPg0KKyAgPHA6cnVsZSBuYW1lPSJpbnRlcmxlYXZlIj4NCisNCisgICAgPHA6anVkZ2VtZW50IG5hbWU9Im1hdGNoIj4NCisgICAgICA8cDp2YXIgcmFuZ2U9ImNvbnRleHQiLz4NCisgICAgICA8cDp2YXIgcmFuZ2U9ImF0dCIgc3ViPSIxIi8+DQorICAgICAgPHA6dmFyIHJhbmdlPSJtaXhlZCIgc3ViPSIxIi8+DQorICAgICAgPHA6dmFyIHJhbmdlPSJwYXR0ZXJuIiBzdWI9IjEiLz4NCisgICAgPC9wOmp1ZGdlbWVudD4NCisNCisgICAgPHA6anVkZ2VtZW50IG5hbWU9Im1hdGNoIj4NCisgICAgICA8cDp2YXIgcmFuZ2U9ImNvbnRleHQiLz4NCisgICAgICA8cDp2YXIgcmFuZ2U9ImF0dCIgc3ViPSIyIi8+DQorICAgICAgPHA6dmFyIHJhbmdlPSJtaXhlZCIgc3ViPSIyIi8+DQorICAgICAgPHA6dmFyIHJhbmdlPSJwYXR0ZXJuIiBzdWI9IjIiLz4NCisgICAgPC9wOmp1ZGdlbWVudD4NCisNCisgICAgPHA6anVkZ2VtZW50IG5hbWU9ImludGVybGVhdmUiPg0KKyAgICAgIDxwOnZhciByYW5nZT0ibWl4ZWQiIHN1Yj0iMyIvPg0KKyAgICAgIDxwOnZhciByYW5nZT0ibWl4ZWQiIHN1Yj0iMSIvPg0KKyAgICAgIDxwOnZhciByYW5nZT0ibWl4ZWQiIHN1Yj0iMiIvPg0KKyAgICA8L3A6anVkZ2VtZW50Pg0KKw0KKw0KKyAgICA8cDpqdWRnZW1lbnQgbmFtZT0ibWF0Y2giPg0KKyAgICAgIDxwOnZhciByYW5nZT0iY29udGV4dCIvPg0KKyAgICAgIDxwOmZ1bmN0aW9uIG5hbWU9InVuaW9uIj4NCisJPHA6dmFyIHJhbmdlPSJhdHQiIHN1Yj0iMSIvPg0KKwk8cDp2YXIgcmFuZ2U9ImF0dCIgc3ViPSIyIi8+DQorICAgICAgPC9wOmZ1bmN0aW9uPg0KKyAgICAgIDxwOnZhciByYW5nZT0ibWl4ZWQiIHN1Yj0iMyIvPg0KKyAgICAgIDxwOmVsZW1lbnQgbmFtZT0iaW50ZXJsZWF2ZSI+DQorCTxwOnZhciByYW5nZT0icGF0dGVybiIgc3ViPSIxIi8+DQorCTxwOnZhciByYW5nZT0icGF0dGVybiIgc3ViPSIyIi8+DQorICAgICAgPC9wOmVsZW1lbnQ+DQorICAgIDwvcDpqdWRnZW1lbnQ+DQorDQorICA8L3A6cnVsZT4NCisNCis8L3A6cHJvb2ZTeXN0ZW0+DQorDQorPG5vdGU+PHBhcmE+VGhlIHJlc3RyaWN0aW9uIGluIDx4cmVmIGxpbmtlbmQ9ImF0dHJpYnV0ZS1yZXN0cmljdGlvbnMiLz4NCitlbnN1cmVzIHRoYXQgdGhlIHNldCBvZiBhdHRyaWJ1dGVzIGNvbnN0cnVjdGVkIGluIHRoZSBjb25zZXF1ZW50IHdpbGwNCitub3QgaGF2ZSBtdWx0aXBsZSBhdHRyaWJ1dGVzIHdpdGggdGhlIHNhbWUgbmFtZS48L3BhcmE+PC9ub3RlPg0KKw0KKzwvc2VjdGlvbj4NCisNCis8c2VjdGlvbiBpZD0iZWxlbWVudC1wYXR0ZXJuIj4NCis8dGl0bGU+PGxpdGVyYWw+ZWxlbWVudDwvbGl0ZXJhbD4gYW5kIDxsaXRlcmFsPmF0dHJpYnV0ZTwvbGl0ZXJhbD4gcGF0dGVybjwvdGl0bGU+DQorDQorPHBhcmE+VGhlIHZhbHVlIG9mIGFuIGF0dHJpYnV0ZSBpcyBhbHdheXMgYSBzaW5nbGUgc3RyaW5nLCB3aGljaCBtYXkNCitiZSBlbXB0eS4gIFRodXMsIHRoZSBlbXB0eSBzZXF1ZW5jZSBpcyBub3QgYSBwb3NzaWJsZSBhdHRyaWJ1dGUgdmFsdWUuDQorT24gdGhlIGhhbmQsIHRoZSBjaGlsZHJlbiBvZiBhbiBlbGVtZW50IGNhbiBiZSBhbiBlbXB0eSBzZXF1ZW5jZSBhbmQNCitjYW5ub3QgY29uc2lzdCBvZiBhbiBlbXB0eSBzdHJpbmcuICBJbiBvcmRlciB0byBlbnN1cmUgdGhhdCB2YWxpZGF0aW9uDQoraGFuZGxlcyBhdHRyaWJ1dGVzIGFuZCBlbGVtZW50cyBjb25zaXN0ZW50bHksIHdlIGludHJvZHVjZSBhIHZhcmlhbnQNCitvZiBtYXRjaGluZyBjYWxsZWQgPGZpcnN0dGVybT53ZWFrIG1hdGNoaW5nPC9maXJzdHRlcm0+LiAgV2Vhaw0KK21hdGNoaW5nIGlzIHVzZWQgd2hlbiBtYXRjaGluZyB0aGUgcGF0dGVybiBmb3IgdGhlIHZhbHVlIG9mIGFuDQorYXR0cmlidXRlIG9yIGZvciB0aGUgYXR0cmlidXRlcyBhbmQgY2hpbGRyZW4gb2YgYW4gZWxlbWVudC4gIFdlIHVzZQ0KK3RoZSBmb2xsb3dpbmcgbm90YXRpb24gdG8gZGVmaW5lIHdlYWsgbWF0Y2hpbmcuPC9wYXJhPg0KKw0KKzx2YXJpYWJsZWxpc3Q+DQorDQorPHZhcmxpc3RlbnRyeT48dGVybT48cDpmdW5jdGlvbg0KK25hbWU9ImVtcHR5U3RyaW5nIi8+PC90ZXJtPjxsaXN0aXRlbT48cGFyYT5yZXByZXNlbnRzIGFuIGVtcHR5DQorc3RyaW5nPC9wYXJhPjwvbGlzdGl0ZW0+PC92YXJsaXN0ZW50cnk+DQorDQorPHZhcmxpc3RlbnRyeT48dGVybT48cDp2YXINCityYW5nZT0id2hpdGVTcGFjZSIvPjwvdGVybT48bGlzdGl0ZW0+PHBhcmE+cmFuZ2VzIG92ZXIgdGhlIGVtcHR5DQorc2VxdWVuY2UgYW5kIHN0cmluZ3MgdGhhdCBjb25zaXN0IGVudGlyZWx5IG9mDQord2hpdGVzcGFjZTwvcGFyYT48L2xpc3RpdGVtPjwvdmFybGlzdGVudHJ5Pg0KKw0KKzx2YXJsaXN0ZW50cnk+PHRlcm0+PHA6anVkZ2VtZW50IG5hbWU9IndlYWtNYXRjaCI+DQorICAgICAgPHA6dmFyIHJhbmdlPSJjb250ZXh0Ii8+DQorICAgICAgPHA6dmFyIHJhbmdlPSJhdHQiLz4NCisgICAgICA8cDp2YXIgcmFuZ2U9Im1peGVkIi8+DQorICAgICAgPHA6dmFyIHJhbmdlPSJwYXR0ZXJuIi8+DQorICAgIDwvcDpqdWRnZW1lbnQ+PC90ZXJtPjxsaXN0aXRlbT48cGFyYT4NCisgICAgDQorYXNzZXJ0cyB0aGF0IHdpdGggcmVzcGVjdCB0byBjb250ZXh0IDxwOnZhciByYW5nZT0iY29udGV4dCIvPiwgdGhlDQorYXR0cmlidXRlcyA8cDp2YXIgcmFuZ2U9ImF0dCIvPiBhbmQgdGhlIHNlcXVlbmNlIG9mIGVsZW1lbnRzIGFuZA0KK3N0cmluZ3MgPHA6dmFyIHJhbmdlPSJtaXhlZCIvPiB3ZWFrbHkgbWF0Y2hlcyB0aGUgcGF0dGVybiA8cDp2YXINCityYW5nZT0icGF0dGVybiIvPjwvcGFyYT48L2xpc3RpdGVtPjwvdmFybGlzdGVudHJ5Pg0KKw0KKzwvdmFyaWFibGVsaXN0Pg0KKw0KKzxwYXJhPlRoZSBzZW1hbnRpY3Mgb2Ygd2VhayBtYXRjaGluZyBhcmUgYXMgZm9sbG93czo8L3BhcmE+DQorDQorPHA6cHJvb2ZTeXN0ZW0+DQorICA8cDpydWxlIG5hbWU9IndlYWsgbWF0Y2ggMSI+DQorICAgIDxwOmp1ZGdlbWVudCBuYW1lPSJtYXRjaCI+DQorICAgICAgPHA6dmFyIHJhbmdlPSJjb250ZXh0Ii8+DQorICAgICAgPHA6dmFyIHJhbmdlPSJhdHQiLz4NCisgICAgICA8cDp2YXIgcmFuZ2U9Im1peGVkIi8+DQorICAgICAgPHA6dmFyIHJhbmdlPSJwYXR0ZXJuIi8+DQorICAgIDwvcDpqdWRnZW1lbnQ+DQorICAgIDxwOmp1ZGdlbWVudCBuYW1lPSJ3ZWFrTWF0Y2giPg0KKyAgICAgIDxwOnZhciByYW5nZT0iY29udGV4dCIvPg0KKyAgICAgIDxwOnZhciByYW5nZT0iYXR0Ii8+DQorICAgICAgPHA6dmFyIHJhbmdlPSJtaXhlZCIvPg0KKyAgICAgIDxwOnZhciByYW5nZT0icGF0dGVybiIvPg0KKyAgICA8L3A6anVkZ2VtZW50Pg0KKyAgPC9wOnJ1bGU+DQorICA8cDpydWxlIG5hbWU9IndlYWsgbWF0Y2ggMiI+DQorICAgIDxwOmp1ZGdlbWVudCBuYW1lPSJtYXRjaCI+DQorICAgICAgPHA6dmFyIHJhbmdlPSJjb250ZXh0Ii8+DQorICAgICAgPHA6dmFyIHJhbmdlPSJhdHQiLz4NCisgICAgICA8cDpmdW5jdGlvbiBuYW1lPSJlbXB0eVNlcXVlbmNlIi8+DQorICAgICAgPHA6dmFyIHJhbmdlPSJwYXR0ZXJuIi8+DQorICAgIDwvcDpqdWRnZW1lbnQ+DQorICAgIDxwOmp1ZGdlbWVudCBuYW1lPSJ3ZWFrTWF0Y2giPg0KKyAgICAgIDxwOnZhciByYW5nZT0iY29udGV4dCIvPg0KKyAgICAgIDxwOnZhciByYW5nZT0iYXR0Ii8+DQorICAgICAgPHA6dmFyIHJhbmdlPSJ3aGl0ZVNwYWNlIi8+DQorICAgICAgPHA6dmFyIHJhbmdlPSJwYXR0ZXJuIi8+DQorICAgIDwvcDpqdWRnZW1lbnQ+DQorICA8L3A6cnVsZT4NCisgIDxwOnJ1bGUgbmFtZT0id2VhayBtYXRjaCAzIj4NCisgICAgPHA6anVkZ2VtZW50IG5hbWU9Im1hdGNoIj4NCisgICAgICA8cDp2YXIgcmFuZ2U9ImNvbnRleHQiLz4NCisgICAgICA8cDp2YXIgcmFuZ2U9ImF0dCIvPg0KKyAgICAgIDxwOmZ1bmN0aW9uIG5hbWU9ImVtcHR5U3RyaW5nIi8+DQorICAgICAgPHA6dmFyIHJhbmdlPSJwYXR0ZXJuIi8+DQorICAgIDwvcDpqdWRnZW1lbnQ+DQorICAgIDxwOmp1ZGdlbWVudCBuYW1lPSJ3ZWFrTWF0Y2giPg0KKyAgICAgIDxwOnZhciByYW5nZT0iY29udGV4dCIvPg0KKyAgICAgIDxwOnZhciByYW5nZT0iYXR0Ii8+DQorICAgICAgPHA6ZnVuY3Rpb24gbmFtZT0iZW1wdHlTZXF1ZW5jZSIvPg0KKyAgICAgIDxwOnZhciByYW5nZT0icGF0dGVybiIvPg0KKyAgICA8L3A6anVkZ2VtZW50Pg0KKyAgPC9wOnJ1bGU+DQorPC9wOnByb29mU3lzdGVtPg0KKw0KKzxwYXJhPldlIHVzZSB0aGUgZm9sbG93aW5nIGFkZGl0aW9uYWwgbm90YXRpb246PC9wYXJhPg0KKw0KKzx2YXJpYWJsZWxpc3Q+DQorDQorPHZhcmxpc3RlbnRyeT48dGVybT48cDpmdW5jdGlvbiBuYW1lPSJhdHRyaWJ1dGUiPg0KKyAgICAgICAgPHA6dmFyIHJhbmdlPSJuYW1lIi8+DQorICAgICAgICA8cDp2YXIgcmFuZ2U9InN0cmluZyIvPg0KKyAgICAgIDwvcDpmdW5jdGlvbj48L3Rlcm0+PGxpc3RpdGVtPjxwYXJhPg0KKyAgICAgIA0KK2NvbnN0cnVjdHMgYW4gYXR0cmlidXRlIHdpdGggbmFtZSA8cDp2YXIgcmFuZ2U9Im5hbWUiLz4NCithbmQgdmFsdWUgPHA6dmFyIHJhbmdlPSJzdHJpbmciLz4NCis8L3BhcmE+PC9saXN0aXRlbT48L3Zhcmxpc3RlbnRyeT4NCisNCis8dmFybGlzdGVudHJ5Pjx0ZXJtPjxwOmZ1bmN0aW9uIG5hbWU9ImVsZW1lbnQiPg0KKwk8cDp2YXIgcmFuZ2U9Im5hbWUiLz4NCisgICAgICAgIDxwOnZhciByYW5nZT0iY29udGV4dCIvPg0KKwk8cDp2YXIgcmFuZ2U9ImF0dCIvPg0KKwk8cDp2YXIgcmFuZ2U9Im1peGVkIi8+DQorICAgICAgPC9wOmZ1bmN0aW9uPjwvdGVybT48bGlzdGl0ZW0+PHBhcmE+DQorICAgICAgDQorY29uc3RydWN0cyBhbiBlbGVtZW50IHdpdGggbmFtZSA8cDp2YXIgcmFuZ2U9Im5hbWUiLz4sDQorY29udGV4dCA8cDp2YXIgcmFuZ2U9ImNvbnRleHQiLz4sDQorYXR0cmlidXRlcyA8cDp2YXIgcmFuZ2U9ImF0dCIvPg0KK2FuZCBtaXhlZCBzZXF1ZW5jZSA8cDp2YXIgcmFuZ2U9Im1peGVkIi8+IGFzIGNoaWxkcmVuDQorPC9wYXJhPjwvbGlzdGl0ZW0+PC92YXJsaXN0ZW50cnk+DQorDQorPHZhcmxpc3RlbnRyeT48dGVybT48cDpqdWRnZW1lbnQgbmFtZT0ib2tBc0NoaWxkcmVuIj4NCisgICAgICA8cDp2YXIgcmFuZ2U9Im1peGVkIi8+DQorICAgIDwvcDpqdWRnZW1lbnQ+PC90ZXJtPjxsaXN0aXRlbT48cGFyYT4NCisgICAgDQorYXNzZXJ0cyB0aGF0IHRoZSBtaXhlZCBzZXF1ZW5jZSA8cDp2YXIgcmFuZ2U9Im1peGVkIi8+IGNhbiBvY2N1ciBhcw0KK3RoZSBjaGlsZHJlbiBvZiBhbiBlbGVtZW50OiBpdCBkb2VzIG5vdCBjb250YWluIGFueSBtZW1iZXIgdGhhdCBpcyBhbg0KK2VtcHR5IHN0cmluZywgbm9yIGRvZXMgaXQgY29udGFpbiB0d28gY29uc2VjdXRpdmUgbWVtYmVycyB0aGF0IGFyZQ0KK2JvdGggc3RyaW5nczwvcGFyYT48L2xpc3RpdGVtPjwvdmFybGlzdGVudHJ5Pg0KKw0KKzx2YXJsaXN0ZW50cnk+PHRlcm0+PHA6anVkZ2VtZW50IG5hbWU9ImJpbmQiPg0KKyAgICAgIDxwOnZhciByYW5nZT0ibmNuYW1lIi8+DQorICAgICAgPHA6dmFyIHJhbmdlPSJuYW1lQ2xhc3MiLz4NCisgICAgICA8cDp2YXIgcmFuZ2U9InBhdHRlcm4iLz4NCisgICAgPC9wOmp1ZGdlbWVudD48L3Rlcm0+PGxpc3RpdGVtPjxwYXJhPg0KKyAgICANCithc3NlcnRzIHRoYXQgdGhlIGdyYW1tYXIgY29udGFpbnMNCis8cDplbGVtZW50IG5hbWU9ImRlZmluZSI+DQorICA8cDphdHRyaWJ1dGUgbmFtZT0ibmFtZSI+DQorICAgIDxwOnZhciByYW5nZT0ibmNuYW1lIi8+DQorICA8L3A6YXR0cmlidXRlPg0KKyAgPHA6ZWxlbWVudCBuYW1lPSJlbGVtZW50Ij4NCisgICAgIDxwOnZhciByYW5nZT0ibmFtZUNsYXNzIi8+DQorICAgICA8cDp2YXIgcmFuZ2U9InBhdHRlcm4iLz4NCisgIDwvcDplbGVtZW50Pg0KKzwvcDplbGVtZW50Pg0KKzwvcGFyYT48L2xpc3RpdGVtPjwvdmFybGlzdGVudHJ5Pg0KKw0KKzwvdmFyaWFibGVsaXN0Pg0KKw0KKzxwYXJhPlRoZSBzZW1hbnRpY3Mgb2YgdGhlIDxsaXRlcmFsPmF0dHJpYnV0ZTwvbGl0ZXJhbD4gcGF0dGVybiBhcmUgYXMgZm9sbG93czo8L3BhcmE+DQorDQorPHA6cHJvb2ZTeXN0ZW0+DQorICA8cDpydWxlIG5hbWU9ImF0dHJpYnV0ZSI+DQorDQorICAgIDxwOmp1ZGdlbWVudCBuYW1lPSJ3ZWFrTWF0Y2giPg0KKyAgICAgIDxwOnZhciByYW5nZT0iY29udGV4dCIvPg0KKyAgICAgIDxwOmZ1bmN0aW9uIG5hbWU9ImVtcHR5U2V0Ii8+DQorICAgICAgPHA6dmFyIHJhbmdlPSJzdHJpbmciLz4NCisgICAgICA8cDp2YXIgcmFuZ2U9InBhdHRlcm4iLz4NCisgICAgPC9wOmp1ZGdlbWVudD4NCisNCisgICAgPHA6anVkZ2VtZW50IG5hbWU9ImJlbG9uZ3MiPg0KKyAgICAgIDxwOnZhciByYW5nZT0ibmFtZSIvPg0KKyAgICAgIDxwOnZhciByYW5nZT0ibmFtZUNsYXNzIi8+DQorICAgIDwvcDpqdWRnZW1lbnQ+DQorDQorICAgIDxwOmp1ZGdlbWVudCBuYW1lPSJtYXRjaCI+DQorICAgICAgPHA6dmFyIHJhbmdlPSJjb250ZXh0Ii8+DQorICAgICAgPHA6ZnVuY3Rpb24gbmFtZT0iYXR0cmlidXRlIj4NCisgICAgICAgIDxwOnZhciByYW5nZT0ibmFtZSIvPg0KKyAgICAgICAgPHA6dmFyIHJhbmdlPSJzdHJpbmciLz4NCisgICAgICA8L3A6ZnVuY3Rpb24+DQorICAgICAgPHA6ZnVuY3Rpb24gbmFtZT0iZW1wdHlTZXF1ZW5jZSIvPg0KKyAgICAgIDxwOmVsZW1lbnQgbmFtZT0iYXR0cmlidXRlIj4NCisgICAgICAgIDxwOnZhciByYW5nZT0ibmFtZUNsYXNzIi8+DQorCTxwOnZhciByYW5nZT0icGF0dGVybiIvPg0KKyAgICAgIDwvcDplbGVtZW50Pg0KKyAgICA8L3A6anVkZ2VtZW50Pg0KKw0KKyAgPC9wOnJ1bGU+DQorDQorPC9wOnByb29mU3lzdGVtPg0KKw0KKzxwYXJhPlRoZSBzZW1hbnRpY3Mgb2YgdGhlIDxsaXRlcmFsPmVsZW1lbnQ8L2xpdGVyYWw+IHBhdHRlcm4gYXJlIGFzIGZvbGxvd3M6PC9wYXJhPg0KKw0KKzxwOnByb29mU3lzdGVtPg0KKyAgPHA6cnVsZSBuYW1lPSJlbGVtZW50Ij4NCisNCisgICAgPHA6anVkZ2VtZW50IG5hbWU9IndlYWtNYXRjaCI+DQorICAgICAgPHA6dmFyIHJhbmdlPSJjb250ZXh0IiBzdWI9IjEiLz4NCisgICAgICA8cDp2YXIgcmFuZ2U9ImF0dCIvPg0KKyAgICAgIDxwOnZhciByYW5nZT0ibWl4ZWQiLz4NCisgICAgICA8cDp2YXIgcmFuZ2U9InBhdHRlcm4iLz4NCisgICAgPC9wOmp1ZGdlbWVudD4NCisNCisgICAgPHA6anVkZ2VtZW50IG5hbWU9ImJlbG9uZ3MiPg0KKyAgICAgIDxwOnZhciByYW5nZT0ibmFtZSIvPg0KKyAgICAgIDxwOnZhciByYW5nZT0ibmFtZUNsYXNzIi8+DQorICAgIDwvcDpqdWRnZW1lbnQ+DQorDQorICAgIDxwOmp1ZGdlbWVudCBuYW1lPSJva0FzQ2hpbGRyZW4iPg0KKyAgICAgIDxwOnZhciByYW5nZT0ibWl4ZWQiLz4NCisgICAgPC9wOmp1ZGdlbWVudD4NCisNCisgICAgPHA6anVkZ2VtZW50IG5hbWU9ImJpbmQiPg0KKyAgICAgIDxwOnZhciByYW5nZT0ibmNuYW1lIi8+DQorICAgICAgPHA6dmFyIHJhbmdlPSJuYW1lQ2xhc3MiLz4NCisgICAgICA8cDp2YXIgcmFuZ2U9InBhdHRlcm4iLz4NCisgICAgPC9wOmp1ZGdlbWVudD4NCisNCisgICAgPHA6anVkZ2VtZW50IG5hbWU9Im1hdGNoIj4NCisgICAgICA8cDp2YXIgcmFuZ2U9ImNvbnRleHQiIHN1Yj0iMiIvPg0KKyAgICAgIDxwOmZ1bmN0aW9uIG5hbWU9ImVtcHR5U2V0Ii8+DQorICAgICAgPHA6ZnVuY3Rpb24gbmFtZT0iYXBwZW5kIj4NCisgICAgICAgIDxwOnZhciByYW5nZT0id2hpdGVTcGFjZSIgc3ViPSIxIi8+DQorCTxwOmZ1bmN0aW9uIG5hbWU9ImVsZW1lbnQiPg0KKwkgIDxwOnZhciByYW5nZT0ibmFtZSIvPg0KKwkgIDxwOnZhciByYW5nZT0iY29udGV4dCIgc3ViPSIxIi8+DQorCSAgPHA6dmFyIHJhbmdlPSJhdHQiLz4NCisJICA8cDp2YXIgcmFuZ2U9Im1peGVkIi8+DQorCTwvcDpmdW5jdGlvbj4NCisgICAgICAgIDxwOnZhciByYW5nZT0id2hpdGVTcGFjZSIgc3ViPSIyIi8+DQorICAgICAgPC9wOmZ1bmN0aW9uPg0KKyAgICAgIDxwOmVsZW1lbnQgbmFtZT0icmVmIj4NCisgICAgICAgIDxwOmF0dHJpYnV0ZSBuYW1lPSJuYW1lIj4NCisgICAgICAgICAgPHA6dmFyIHJhbmdlPSJuY25hbWUiLz4NCisgICAgICAgIDwvcDphdHRyaWJ1dGU+DQorICAgICAgPC9wOmVsZW1lbnQ+DQorICAgIDwvcDpqdWRnZW1lbnQ+DQorDQorICA8L3A6cnVsZT4NCisNCis8L3A6cHJvb2ZTeXN0ZW0+DQorDQorDQorPC9zZWN0aW9uPg0KKw0KKzxzZWN0aW9uIGlkPSJkYXRhLXBhdHRlcm4iPg0KKzx0aXRsZT48bGl0ZXJhbD5kYXRhPC9saXRlcmFsPiBhbmQgPGxpdGVyYWw+dmFsdWU8L2xpdGVyYWw+IHBhdHRlcm48L3RpdGxlPg0KKw0KKzxwYXJhPlJFTEFYIE5HIHJlbGllcyBvbiBkYXRhdHlwZSBsaWJyYXJpZXMgdG8gcGVyZm9ybSBkYXRhdHlwaW5nLg0KK0EgZGF0YXR5cGUgbGlicmFyeSBpcyBpZGVudGlmaWVkIGJ5IGEgVVJJLiAgQSBkYXRhdHlwZSB3aXRoaW4gYQ0KK2RhdGF0eXBlIGxpYnJhcnkgaXMgaWRlbnRpZmllZCBieSBhbiBOQ05hbWUuICBBIGRhdGF0eXBlIGxpYnJhcnkNCitwcm92aWRlcyB0d28gc2VydmljZXMuPC9wYXJhPg0KKw0KKzxpdGVtaXplZGxpc3Q+DQorDQorPGxpc3RpdGVtPjxwYXJhPkl0IGNhbiBkZXRlcm1pbmUgd2hldGhlciBhIHN0cmluZyBpcyBhIGxlZ2FsDQorcmVwcmVzZW50YXRpb24gb2YgYSBkYXRhdHlwZS4gVGhpcyBzZXJ2aWNlIGFjY2VwdHMgYSBsaXN0IG9mIHplcm8gb3INCittb3JlIHBhcmFtZXRlcnMuIEZvciBleGFtcGxlLCBhIHN0cmluZyBkYXRhdHlwZSBtaWdodCBoYXZlIGEgcGFyYW1ldGVyDQorc3BlY2lmeWluZyB0aGUgbGVuZ3RoIG9mIGEgc3RyaW5nLiAgVGhlIGRhdGF0eXBlIGxpYnJhcnkgZGV0ZXJtaW5lcw0KK3doYXQgcGFyYW1ldGVycyBhcmUgYXBwbGljYWJsZSBmb3IgZWFjaCBkYXRhdHlwZS48L3BhcmE+PC9saXN0aXRlbT4NCisNCis8bGlzdGl0ZW0+PHBhcmE+SXQgY2FuIGRldGVybWluZSB3aGV0aGVyIHR3byBzdHJpbmdzIHJlcHJlc2VudCB0aGUNCitzYW1lIHZhbHVlIG9mIGEgZGF0YXR5cGUuICBUaGlzIHNlcnZpY2UgZG9lcyBub3QgaGF2ZSBhbnkNCitwYXJhbWV0ZXJzLjwvcGFyYT48L2xpc3RpdGVtPg0KKw0KKzwvaXRlbWl6ZWRsaXN0Pg0KKw0KKzxwYXJhPkJvdGggc2VydmljZXMgbWF5IG1ha2UgdXNlIG9mIHRoZSBjb250ZXh0IG9mIGEgc3RyaW5nLiAgRm9yDQorZXhhbXBsZSwgYSBkYXRhdHlwZSByZXByZXNlbnRpbmcgYSBRTmFtZSB3b3VsZCB1c2UgdGhlIG5hbWVzcGFjZQ0KK21hcC48L3BhcmE+DQorDQorPHBhcmE+V2UgdXNlIHRoZSBmb2xsb3dpbmcgYWRkaXRpb25hbCBub3RhdGlvbjo8L3BhcmE+DQorDQorPHZhcmlhYmxlbGlzdD4NCis8dmFybGlzdGVudHJ5Pjx0ZXJtPjxwOmp1ZGdlbWVudCBuYW1lPSJkYXRhdHlwZUFsbG93cyI+DQorICAgICAgPHA6dmFyIHJhbmdlPSJ1cmkiLz4NCisgICAgICA8cDp2YXIgcmFuZ2U9Im5jbmFtZSIvPg0KKyAgICAgIDxwOnZhciByYW5nZT0icGFyYW1zIi8+DQorICAgICAgPHA6dmFyIHJhbmdlPSJzdHJpbmciLz4NCisgICAgICA8cDp2YXIgcmFuZ2U9ImNvbnRleHQiLz4NCisgICAgPC9wOmp1ZGdlbWVudD48L3Rlcm0+PGxpc3RpdGVtPjxwYXJhPg0KKyAgICANCithc3NlcnRzIHRoYXQgaW4gdGhlIGRhdGF0eXBlIGxpYnJhcnkgaWRlbnRpZmllZCBieSBVUkkgPHA6dmFyIHJhbmdlPSJ1cmkiLz4sIHRoZSBzdHJpbmcgPHA6dmFyIHJhbmdlPSJzdHJpbmciLz4gaW50ZXJwcmV0ZWQgd2l0aA0KK2NvbnRleHQgPHA6dmFyIHJhbmdlPSJjb250ZXh0Ii8+IGlzIGEgbGVnYWwNCit2YWx1ZSBvZiBkYXRhdHlwZSA8cDp2YXIgcmFuZ2U9Im5jbmFtZSIvPiB3aXRoIHBhcmFtZXRlcnMgPHA6dmFyIHJhbmdlPSJwYXJhbXMiLz48L3BhcmE+PC9saXN0aXRlbT48L3Zhcmxpc3RlbnRyeT4NCisNCis8dmFybGlzdGVudHJ5Pjx0ZXJtPjxwOmp1ZGdlbWVudCBuYW1lPSJkYXRhdHlwZUVxdWFsIj4NCisgICAgICA8cDp2YXIgcmFuZ2U9InVyaSIvPg0KKyAgICAgIDxwOnZhciByYW5nZT0ibmNuYW1lIi8+DQorICAgICAgPHA6dmFyIHJhbmdlPSJzdHJpbmciIHN1Yj0iMSIvPg0KKyAgICAgIDxwOnZhciByYW5nZT0iY29udGV4dCIgc3ViPSIxIi8+DQorICAgICAgPHA6dmFyIHJhbmdlPSJzdHJpbmciIHN1Yj0iMiIvPg0KKyAgICAgIDxwOnZhciByYW5nZT0iY29udGV4dCIgc3ViPSIyIi8+DQorICAgIDwvcDpqdWRnZW1lbnQ+PC90ZXJtPjxsaXN0aXRlbT48cGFyYT4NCisgICAgDQorYXNzZXJ0cyB0aGF0IGluIHRoZSBkYXRhdHlwZSBsaWJyYXJ5IGlkZW50aWZpZWQgYnkgVVJJIDxwOnZhciByYW5nZT0idXJpIi8+LCBzdHJpbmcgPHA6dmFyIHJhbmdlPSJzdHJpbmciIHN1Yj0iMSIvPiBpbnRlcnByZXRlZCB3aXRoDQorY29udGV4dCA8cDp2YXIgcmFuZ2U9ImNvbnRleHQiIHN1Yj0iMSIvPiByZXByZXNlbnRzIHRoZSBzYW1lIHZhbHVlIG9mDQordGhlIGRhdGF0eXBlIDxwOnZhciByYW5nZT0ibmNuYW1lIi8+IGFzIHRoZSBzdHJpbmcgPHA6dmFyIHJhbmdlPSJzdHJpbmciIHN1Yj0iMiIvPiBpbnRlcnByZXRlZCBpbiB0aGUgY29udGV4dCBvZiA8cDp2YXIgcmFuZ2U9ImNvbnRleHQiIHN1Yj0iMiIvPg0KKzwvcGFyYT48L2xpc3RpdGVtPjwvdmFybGlzdGVudHJ5Pg0KKw0KKzx2YXJsaXN0ZW50cnk+PHRlcm0+PHA6dmFyIHJhbmdlPSJwYXJhbXMiLz48L3Rlcm0+PGxpc3RpdGVtPjxwYXJhPnJhbmdlcyBvdmVyIHNlcXVlbmNlcyBvZiBwYXJhbWV0ZXJzPC9wYXJhPjwvbGlzdGl0ZW0+PC92YXJsaXN0ZW50cnk+DQorDQorPHZhcmxpc3RlbnRyeT48dGVybT48cDpjb250ZXh0Pg0KKyAgICAgPHA6dmFyIHJhbmdlPSJjb250ZXh0Ii8+DQorICAgPC9wOmNvbnRleHQ+PC90ZXJtPjxsaXN0aXRlbT48cGFyYT4NCisgICANCit3aXRoaW4gdGhlIHN0YXJ0LXRhZyBvZiBhIHBhdHRlcm4gcmVmZXJzIHRvIHRoZSBjb250ZXh0DQorb2YgdGhlIHBhdHRlcm4gZWxlbWVudA0KKzwvcGFyYT48L2xpc3RpdGVtPjwvdmFybGlzdGVudHJ5Pg0KKw0KKzx2YXJsaXN0ZW50cnk+DQorPHRlcm0+DQorICA8cDpmdW5jdGlvbiBuYW1lPSJjb250ZXh0Ij4NCisgICAgIDxwOnZhciByYW5nZT0idXJpIi8+DQorICAgICA8cDp2YXIgcmFuZ2U9ImNvbnRleHQiLz4NCisgIDwvcDpmdW5jdGlvbj4NCis8L3Rlcm0+DQorPGxpc3RpdGVtPjxwYXJhPmNvbnN0cnVjdHMgYSBjb250ZXh0IHdoaWNoIGlzIHRoZSBzYW1lIGFzIDxwOnZhciByYW5nZT0iY29udGV4dCIvPg0KK2V4Y2VwdCB0aGF0IHRoZSBkZWZhdWx0IG5hbWVzcGFjZSBpcyA8cDp2YXIgcmFuZ2U9InVyaSIvPjsgaWYgPHA6dmFyDQorcmFuZ2U9InVyaSIvPiBpcyB0aGUgZW1wdHkgc3RyaW5nLCB0aGVuIHRoZXJlIGlzIG5vIGRlZmF1bHQgbmFtZXNwYWNlDQoraW4gdGhlIGNvbnN0cnVjdGVkIGNvbnRleHQ8L3BhcmE+PC9saXN0aXRlbT48L3Zhcmxpc3RlbnRyeT4NCisNCis8L3ZhcmlhYmxlbGlzdD4NCisNCis8cGFyYT5UaGUgZGF0YXR5cGVFcXVhbCBmdW5jdGlvbiBtdXN0IGJlIHJlZmxleGl2ZSwgdHJhbnNpdGl2ZQ0KK2FuZCBzeW1tZXRyaWMsIHRoYXQgaXMsIHRoZSBmb2xsb3dpbmcgaW5mZXJlbmNlIHJ1bGVzIG11c3QgaG9sZDo8L3BhcmE+DQorDQorPHA6cHJvb2ZTeXN0ZW0+DQorICA8cDpydWxlIG5hbWU9ImRhdGF0eXBlRXF1YWwgcmVmbGV4aXZlIj4NCisgICAgPHA6anVkZ2VtZW50IG5hbWU9ImRhdGF0eXBlQWxsb3dzIj4NCisgICAgICA8cDp2YXIgcmFuZ2U9InVyaSIvPg0KKyAgICAgIDxwOnZhciByYW5nZT0ibmNuYW1lIi8+DQorICAgICAgPHA6dmFyIHJhbmdlPSJwYXJhbXMiLz4NCisgICAgICA8cDp2YXIgcmFuZ2U9InN0cmluZyIvPg0KKyAgICAgIDxwOnZhciByYW5nZT0iY29udGV4dCIvPg0KKyAgICA8L3A6anVkZ2VtZW50Pg0KKyAgICA8cDpqdWRnZW1lbnQgbmFtZT0iZGF0YXR5cGVFcXVhbCI+DQorICAgICAgPHA6dmFyIHJhbmdlPSJ1cmkiLz4NCisgICAgICA8cDp2YXIgcmFuZ2U9Im5jbmFtZSIvPg0KKyAgICAgIDxwOnZhciByYW5nZT0ic3RyaW5nIi8+DQorICAgICAgPHA6dmFyIHJhbmdlPSJjb250ZXh0Ii8+DQorICAgICAgPHA6dmFyIHJhbmdlPSJzdHJpbmciLz4NCisgICAgICA8cDp2YXIgcmFuZ2U9ImNvbnRleHQiLz4NCisgICAgPC9wOmp1ZGdlbWVudD4NCisgIDwvcDpydWxlPg0KKyAgPHA6cnVsZSBuYW1lPSJkYXRhdHlwZUVxdWFsIHRyYW5zaXRpdmUiPg0KKyAgICA8cDpqdWRnZW1lbnQgbmFtZT0iZGF0YXR5cGVFcXVhbCI+DQorICAgICAgPHA6dmFyIHJhbmdlPSJ1cmkiLz4NCisgICAgICA8cDp2YXIgcmFuZ2U9Im5jbmFtZSIvPg0KKyAgICAgIDxwOnZhciByYW5nZT0ic3RyaW5nIiBzdWI9IjEiLz4NCisgICAgICA8cDp2YXIgcmFuZ2U9ImNvbnRleHQiIHN1Yj0iMSIvPg0KKyAgICAgIDxwOnZhciByYW5nZT0ic3RyaW5nIiBzdWI9IjIiLz4NCisgICAgICA8cDp2YXIgcmFuZ2U9ImNvbnRleHQiIHN1Yj0iMiIvPg0KKyAgICA8L3A6anVkZ2VtZW50Pg0KKyAgICA8cDpqdWRnZW1lbnQgbmFtZT0iZGF0YXR5cGVFcXVhbCI+DQorICAgICAgPHA6dmFyIHJhbmdlPSJ1cmkiLz4NCisgICAgICA8cDp2YXIgcmFuZ2U9Im5jbmFtZSIvPg0KKyAgICAgIDxwOnZhciByYW5nZT0ic3RyaW5nIiBzdWI9IjIiLz4NCisgICAgICA8cDp2YXIgcmFuZ2U9ImNvbnRleHQiIHN1Yj0iMyIvPg0KKyAgICAgIDxwOnZhciByYW5nZT0ic3RyaW5nIiBzdWI9IjMiLz4NCisgICAgICA8cDp2YXIgcmFuZ2U9ImNvbnRleHQiIHN1Yj0iMyIvPg0KKyAgICA8L3A6anVkZ2VtZW50Pg0KKyAgICA8cDpqdWRnZW1lbnQgbmFtZT0iZGF0YXR5cGVFcXVhbCI+DQorICAgICAgPHA6dmFyIHJhbmdlPSJ1cmkiLz4NCisgICAgICA8cDp2YXIgcmFuZ2U9Im5jbmFtZSIvPg0KKyAgICAgIDxwOnZhciByYW5nZT0ic3RyaW5nIiBzdWI9IjEiLz4NCisgICAgICA8cDp2YXIgcmFuZ2U9ImNvbnRleHQiIHN1Yj0iMSIvPg0KKyAgICAgIDxwOnZhciByYW5nZT0ic3RyaW5nIiBzdWI9IjMiLz4NCisgICAgICA8cDp2YXIgcmFuZ2U9ImNvbnRleHQiIHN1Yj0iMyIvPg0KKyAgICA8L3A6anVkZ2VtZW50Pg0KKyAgPC9wOnJ1bGU+DQorICA8cDpydWxlIG5hbWU9ImRhdGF0eXBlRXF1YWwgc3ltbWV0cmljIj4NCisgICAgPHA6anVkZ2VtZW50IG5hbWU9ImRhdGF0eXBlRXF1YWwiPg0KKyAgICAgIDxwOnZhciByYW5nZT0idXJpIi8+DQorICAgICAgPHA6dmFyIHJhbmdlPSJuY25hbWUiLz4NCisgICAgICA8cDp2YXIgcmFuZ2U9InN0cmluZyIgc3ViPSIxIi8+DQorICAgICAgPHA6dmFyIHJhbmdlPSJjb250ZXh0IiBzdWI9IjEiLz4NCisgICAgICA8cDp2YXIgcmFuZ2U9InN0cmluZyIgc3ViPSIyIi8+DQorICAgICAgPHA6dmFyIHJhbmdlPSJjb250ZXh0IiBzdWI9IjIiLz4NCisgICAgPC9wOmp1ZGdlbWVudD4NCisgICAgPHA6anVkZ2VtZW50IG5hbWU9ImRhdGF0eXBlRXF1YWwiPg0KKyAgICAgIDxwOnZhciByYW5nZT0idXJpIi8+DQorICAgICAgPHA6dmFyIHJhbmdlPSJuY25hbWUiLz4NCisgICAgICA8cDp2YXIgcmFuZ2U9InN0cmluZyIgc3ViPSIyIi8+DQorICAgICAgPHA6dmFyIHJhbmdlPSJjb250ZXh0IiBzdWI9IjIiLz4NCisgICAgICA8cDp2YXIgcmFuZ2U9InN0cmluZyIgc3ViPSIxIi8+DQorICAgICAgPHA6dmFyIHJhbmdlPSJjb250ZXh0IiBzdWI9IjEiLz4NCisgICAgPC9wOmp1ZGdlbWVudD4NCisgIDwvcDpydWxlPg0KKzwvcDpwcm9vZlN5c3RlbT4NCisNCis8cGFyYT5UaGUgc2VtYW50aWNzIG9mIHRoZSA8bGl0ZXJhbD5kYXRhPC9saXRlcmFsPiBhbmQNCis8bGl0ZXJhbD52YWx1ZTwvbGl0ZXJhbD4gcGF0dGVybnMgYXJlIGFzIGZvbGxvd3M6PC9wYXJhPg0KKw0KKzxwOnByb29mU3lzdGVtPg0KKyAgPHA6cnVsZSBuYW1lPSJ2YWx1ZSI+DQorICAgIDxwOmp1ZGdlbWVudCBuYW1lPSJkYXRhdHlwZUVxdWFsIj4NCisgICAgICA8cDp2YXIgcmFuZ2U9InVyaSIgc3ViPSIxIi8+DQorICAgICAgPHA6dmFyIHJhbmdlPSJuY25hbWUiLz4NCisgICAgICA8cDp2YXIgcmFuZ2U9InN0cmluZyIgc3ViPSIxIi8+DQorICAgICAgPHA6dmFyIHJhbmdlPSJjb250ZXh0IiBzdWI9IjEiLz4NCisgICAgICA8cDp2YXIgcmFuZ2U9InN0cmluZyIgc3ViPSIyIi8+DQorICAgICAgPHA6ZnVuY3Rpb24gbmFtZT0iY29udGV4dCI+DQorICAgICAgICA8cDp2YXIgcmFuZ2U9InVyaSIgc3ViPSIyIi8+DQorICAgICAgICA8cDp2YXIgcmFuZ2U9ImNvbnRleHQiIHN1Yj0iMiIvPg0KKyAgICAgIDwvcDpmdW5jdGlvbj4NCisgICAgPC9wOmp1ZGdlbWVudD4NCisgICAgPHA6anVkZ2VtZW50IG5hbWU9Im1hdGNoIj4NCisgICAgICA8cDp2YXIgcmFuZ2U9ImNvbnRleHQiIHN1Yj0iMSIvPg0KKyAgICAgIDxwOmZ1bmN0aW9uIG5hbWU9ImVtcHR5U2V0Ii8+DQorICAgICAgPHA6dmFyIHJhbmdlPSJzdHJpbmciIHN1Yj0iMSIvPg0KKyAgICAgIDxwOmVsZW1lbnQgbmFtZT0idmFsdWUiPg0KKyAgICAgICAgPHA6YXR0cmlidXRlIG5hbWU9ImRhdGF0eXBlTGlicmFyeSI+DQorICAgICAgICAgIDxwOnZhciByYW5nZT0idXJpIiBzdWI9IjEiLz4NCisgICAgICAgIDwvcDphdHRyaWJ1dGU+DQorICAgICAgICA8cDphdHRyaWJ1dGUgbmFtZT0idHlwZSI+DQorICAgICAgICAgIDxwOnZhciByYW5nZT0ibmNuYW1lIi8+DQorICAgICAgICA8L3A6YXR0cmlidXRlPg0KKyAgICAgICAgPHA6YXR0cmlidXRlIG5hbWU9Im5zIj4NCisgICAgICAgICAgPHA6dmFyIHJhbmdlPSJ1cmkiIHN1Yj0iMiIvPg0KKyAgICAgICAgPC9wOmF0dHJpYnV0ZT4NCisgICAgICAgIDxwOmNvbnRleHQ+DQorICAgICAgICAgIDxwOnZhciByYW5nZT0iY29udGV4dCIgc3ViPSIyIi8+DQorICAgICAgICA8L3A6Y29udGV4dD4NCisgICAgICAgIDxwOnZhciByYW5nZT0ic3RyaW5nIiBzdWI9IjIiLz4NCisgICAgICA8L3A6ZWxlbWVudD4NCisgICAgICA8cDpmdW5jdGlvbiBuYW1lPSJlbXB0eVNldCIvPg0KKyAgICAgIDxwOmZ1bmN0aW9uIG5hbWU9ImVtcHR5U2V0Ii8+DQorICAgIDwvcDpqdWRnZW1lbnQ+DQorICA8L3A6cnVsZT4NCisNCisgIDxwOnJ1bGUgbmFtZT0iZGF0YSAxIj4NCisgICAgPHA6anVkZ2VtZW50IG5hbWU9ImRhdGF0eXBlQWxsb3dzIj4NCisgICAgICA8cDp2YXIgcmFuZ2U9InVyaSIvPg0KKyAgICAgIDxwOnZhciByYW5nZT0ibmNuYW1lIi8+DQorICAgICAgPHA6dmFyIHJhbmdlPSJwYXJhbXMiLz4NCisgICAgICA8cDp2YXIgcmFuZ2U9InN0cmluZyIvPg0KKyAgICAgIDxwOnZhciByYW5nZT0iY29udGV4dCIvPg0KKyAgICA8L3A6anVkZ2VtZW50Pg0KKyAgICA8cDpqdWRnZW1lbnQgbmFtZT0ibWF0Y2giPg0KKyAgICAgIDxwOnZhciByYW5nZT0iY29udGV4dCIvPg0KKyAgICAgIDxwOmZ1bmN0aW9uIG5hbWU9ImVtcHR5U2V0Ii8+DQorICAgICAgPHA6dmFyIHJhbmdlPSJzdHJpbmciLz4NCisgICAgICA8cDplbGVtZW50IG5hbWU9ImRhdGEiPg0KKyAgICAgICAgPHA6YXR0cmlidXRlIG5hbWU9ImRhdGF0eXBlTGlicmFyeSI+DQorICAgICAgICAgIDxwOnZhciByYW5nZT0idXJpIi8+DQorICAgICAgICA8L3A6YXR0cmlidXRlPg0KKyAgICAgICAgPHA6YXR0cmlidXRlIG5hbWU9InR5cGUiPg0KKyAgICAgICAgICA8cDp2YXIgcmFuZ2U9Im5jbmFtZSIvPg0KKyAgICAgICAgPC9wOmF0dHJpYnV0ZT4NCisgICAgICAgIDxwOnZhciByYW5nZT0icGFyYW1zIi8+DQorICAgICAgPC9wOmVsZW1lbnQ+DQorICAgICAgPHA6ZnVuY3Rpb24gbmFtZT0iZW1wdHlTZXQiLz4NCisgICAgICA8cDpmdW5jdGlvbiBuYW1lPSJlbXB0eVNldCIvPg0KKyAgICA8L3A6anVkZ2VtZW50Pg0KKyAgPC9wOnJ1bGU+DQorDQorICA8cDpydWxlIG5hbWU9ImRhdGEgMiI+DQorICAgIDxwOmp1ZGdlbWVudCBuYW1lPSJkYXRhdHlwZUFsbG93cyI+DQorICAgICAgPHA6dmFyIHJhbmdlPSJ1cmkiLz4NCisgICAgICA8cDp2YXIgcmFuZ2U9Im5jbmFtZSIvPg0KKyAgICAgIDxwOnZhciByYW5nZT0icGFyYW1zIi8+DQorICAgICAgPHA6dmFyIHJhbmdlPSJzdHJpbmciLz4NCisgICAgICA8cDp2YXIgcmFuZ2U9ImNvbnRleHQiLz4NCisgICAgPC9wOmp1ZGdlbWVudD4NCisgICAgPHA6bm90Pg0KKyAgICAgIDxwOmp1ZGdlbWVudCBuYW1lPSJtYXRjaCI+DQorCTxwOnZhciByYW5nZT0iY29udGV4dCIvPg0KKwk8cDp2YXIgcmFuZ2U9ImF0dCIvPg0KKwk8cDp2YXIgcmFuZ2U9InN0cmluZyIvPg0KKyAgICAgICAgPHA6dmFyIHJhbmdlPSJwYXR0ZXJuIi8+DQorICAgICAgPC9wOmp1ZGdlbWVudD4NCisgICAgPC9wOm5vdD4NCisgICAgPHA6anVkZ2VtZW50IG5hbWU9Im1hdGNoIj4NCisgICAgICA8cDp2YXIgcmFuZ2U9ImNvbnRleHQiLz4NCisgICAgICA8cDpmdW5jdGlvbiBuYW1lPSJlbXB0eVNldCIvPg0KKyAgICAgIDxwOnZhciByYW5nZT0ic3RyaW5nIi8+DQorICAgICAgPHA6ZWxlbWVudCBuYW1lPSJkYXRhIj4NCisgICAgICAgIDxwOmF0dHJpYnV0ZSBuYW1lPSJkYXRhdHlwZUxpYnJhcnkiPg0KKyAgICAgICAgICA8cDp2YXIgcmFuZ2U9InVyaSIvPg0KKyAgICAgICAgPC9wOmF0dHJpYnV0ZT4NCisgICAgICAgIDxwOmF0dHJpYnV0ZSBuYW1lPSJ0eXBlIj4NCisgICAgICAgICAgPHA6dmFyIHJhbmdlPSJuY25hbWUiLz4NCisgICAgICAgIDwvcDphdHRyaWJ1dGU+DQorICAgICAgICA8cDp2YXIgcmFuZ2U9InBhcmFtcyIvPg0KKyAgICAgICAgPHA6ZWxlbWVudCBuYW1lPSJleGNlcHQiPg0KKyAgICAgICAgICA8cDp2YXIgcmFuZ2U9InBhdHRlcm4iLz4NCisgICAgICAgIDwvcDplbGVtZW50Pg0KKyAgICAgIDwvcDplbGVtZW50Pg0KKyAgICAgIDxwOmZ1bmN0aW9uIG5hbWU9ImVtcHR5U2V0Ii8+DQorICAgICAgPHA6ZnVuY3Rpb24gbmFtZT0iZW1wdHlTZXQiLz4NCisgICAgPC9wOmp1ZGdlbWVudD4NCisgIDwvcDpydWxlPg0KKw0KKzwvcDpwcm9vZlN5c3RlbT4NCisNCis8L3NlY3Rpb24+DQorDQorPHNlY3Rpb24gaWQ9ImJ1aWx0LWluLWRhdGF0eXBlIj4NCis8dGl0bGU+QnVpbHQtaW4gZGF0YXR5cGUgbGlicmFyeTwvdGl0bGU+DQorDQorPHBhcmE+VGhlIGVtcHR5IFVSSSBpZGVudGlmaWVzIGEgc3BlY2lhbCBidWlsdC1pbiBkYXRhdHlwZSBsaWJyYXJ5Lg0KK1RoaXMgcHJvdmlkZXMgdHdvIGRhdGF0eXBlcywgPGxpdGVyYWw+c3RyaW5nPC9saXRlcmFsPiBhbmQNCis8bGl0ZXJhbD50b2tlbjwvbGl0ZXJhbD4uICBObyBwYXJhbWV0ZXJzIGFyZSBhbGxvd2VkIGZvciBlaXRoZXIgb2YNCit0aGVzZSBkYXRhdHlwZXMuPC9wYXJhPg0KKw0KKzx2YXJpYWJsZWxpc3Q+DQorPHZhcmxpc3RlbnRyeT48dGVybT4NCisgICAgPHA6anVkZ2VtZW50IG5hbWU9ImVxdWFsIj4NCisgICAgICA8cDp2YXIgcmFuZ2U9InN0cmluZyIgc3ViPSIxIi8+DQorICAgICAgPHA6dmFyIHJhbmdlPSJzdHJpbmciIHN1Yj0iMiIvPg0KKyAgICA8L3A6anVkZ2VtZW50PjwvdGVybT4NCis8bGlzdGl0ZW0+PHBhcmE+YXNzZXJ0cyB0aGF0IDxwOnZhciByYW5nZT0ic3RyaW5nIiBzdWI9IjEiLz4NCithbmQgPHA6dmFyIHJhbmdlPSJzdHJpbmciIHN1Yj0iMiIvPiBhcmUgaWRlbnRpY2FsPC9wYXJhPjwvbGlzdGl0ZW0+DQorPC92YXJsaXN0ZW50cnk+DQorDQorPHZhcmxpc3RlbnRyeT48dGVybT4NCisgICAgICA8cDpmdW5jdGlvbiBuYW1lPSJub3JtYWxpemVXaGl0ZVNwYWNlIj4NCisgICAgICAgIDxwOnZhciByYW5nZT0ic3RyaW5nIi8+DQorICAgICAgPC9wOmZ1bmN0aW9uPg0KKzwvdGVybT4NCis8bGlzdGl0ZW0+PHBhcmE+cmV0dXJucyB0aGUgc3RyaW5nIDxwOnZhciByYW5nZT0ic3RyaW5nIi8+LA0KK3dpdGggbGVhZGluZyBhbmQgdHJhaWxpbmcgd2hpdGVzcGFjZSBjaGFyYWN0ZXJzIHJlbW92ZWQsDQorYW5kIHdpdGggZWFjaCBvdGhlciBtYXhpbWFsIHNlcXVlbmNlIG9mIHdoaXRlc3BhY2UgY2hhcmFjdGVycw0KK3JlcGxhY2VkIGJ5IGEgc2luZ2xlIHNwYWNlIGNoYXJhY3RlciA8L3BhcmE+PC9saXN0aXRlbT4NCis8L3Zhcmxpc3RlbnRyeT4NCis8L3ZhcmlhYmxlbGlzdD4NCisNCis8cGFyYT5UaGUgc2VtYW50aWNzIG9mIHRoZSB0d28gYnVpbHQtaW4gZGF0YXR5cGVzIGFyZSBhcw0KK2ZvbGxvd3M6PC9wYXJhPg0KKw0KKzxwOnByb29mU3lzdGVtPg0KKw0KKyAgPHA6cnVsZSBuYW1lPSJzdHJpbmcgYWxsb3dzIj4NCisgICAgPHA6anVkZ2VtZW50IG5hbWU9ImRhdGF0eXBlQWxsb3dzIj4NCisgICAgICA8cDpmdW5jdGlvbiBuYW1lPSJlbXB0eVN0cmluZyIvPg0KKyAgICAgIDxwOnN0cmluZz5zdHJpbmc8L3A6c3RyaW5nPg0KKyAgICAgIDxwOmZ1bmN0aW9uIG5hbWU9ImVtcHR5U2VxdWVuY2UiLz4NCisgICAgICA8cDp2YXIgcmFuZ2U9InN0cmluZyIvPg0KKyAgICAgIDxwOnZhciByYW5nZT0iY29udGV4dCIvPg0KKyAgICA8L3A6anVkZ2VtZW50Pg0KKyAgPC9wOnJ1bGU+DQorDQorICA8cDpydWxlIG5hbWU9InN0cmluZyBlcXVhbCI+DQorICAgIDxwOmp1ZGdlbWVudCBuYW1lPSJkYXRhdHlwZUVxdWFsIj4NCisgICAgICA8cDpmdW5jdGlvbiBuYW1lPSJlbXB0eVN0cmluZyIvPg0KKyAgICAgIDxwOnN0cmluZz5zdHJpbmc8L3A6c3RyaW5nPg0KKyAgICAgIDxwOnZhciByYW5nZT0ic3RyaW5nIi8+DQorICAgICAgPHA6dmFyIHJhbmdlPSJjb250ZXh0IiBzdWI9IjEiLz4NCisgICAgICA8cDp2YXIgcmFuZ2U9InN0cmluZyIvPg0KKyAgICAgIDxwOnZhciByYW5nZT0iY29udGV4dCIgc3ViPSIyIi8+DQorICAgIDwvcDpqdWRnZW1lbnQ+DQorICA8L3A6cnVsZT4NCisNCisgIDxwOnJ1bGUgbmFtZT0idG9rZW4gYWxsb3dzIj4NCisgICAgPHA6anVkZ2VtZW50IG5hbWU9ImRhdGF0eXBlQWxsb3dzIj4NCisgICAgICA8cDpmdW5jdGlvbiBuYW1lPSJlbXB0eVN0cmluZyIvPg0KKyAgICAgIDxwOnN0cmluZz50b2tlbjwvcDpzdHJpbmc+DQorICAgICAgPHA6ZnVuY3Rpb24gbmFtZT0iZW1wdHlTZXF1ZW5jZSIvPg0KKyAgICAgIDxwOnZhciByYW5nZT0ic3RyaW5nIi8+DQorICAgICAgPHA6dmFyIHJhbmdlPSJjb250ZXh0Ii8+DQorICAgIDwvcDpqdWRnZW1lbnQ+DQorICA8L3A6cnVsZT4NCisNCisgIDxwOnJ1bGUgbmFtZT0idG9rZW4gZXF1YWwiPg0KKyAgICA8cDpqdWRnZW1lbnQgbmFtZT0iZXF1YWwiPg0KKyAgICAgIDxwOmZ1bmN0aW9uIG5hbWU9Im5vcm1hbGl6ZVdoaXRlU3BhY2UiPg0KKyAgICAgICAgPHA6dmFyIHJhbmdlPSJzdHJpbmciIHN1Yj0iMSIvPg0KKyAgICAgIDwvcDpmdW5jdGlvbj4NCisgICAgICA8cDpmdW5jdGlvbiBuYW1lPSJub3JtYWxpemVXaGl0ZVNwYWNlIj4NCisgICAgICAgIDxwOnZhciByYW5nZT0ic3RyaW5nIiBzdWI9IjIiLz4NCisgICAgICA8L3A6ZnVuY3Rpb24+DQorICAgIDwvcDpqdWRnZW1lbnQ+DQorICAgIDxwOmp1ZGdlbWVudCBuYW1lPSJkYXRhdHlwZUVxdWFsIj4NCisgICAgICA8cDpmdW5jdGlvbiBuYW1lPSJlbXB0eVN0cmluZyIvPg0KKyAgICAgIDxwOnN0cmluZz50b2tlbjwvcDpzdHJpbmc+DQorICAgICAgPHA6dmFyIHJhbmdlPSJzdHJpbmciIHN1Yj0iMSIvPg0KKyAgICAgIDxwOnZhciByYW5nZT0iY29udGV4dCIgc3ViPSIxIi8+DQorICAgICAgPHA6dmFyIHJhbmdlPSJzdHJpbmciIHN1Yj0iMiIvPg0KKyAgICAgIDxwOnZhciByYW5nZT0iY29udGV4dCIgc3ViPSIyIi8+DQorICAgIDwvcDpqdWRnZW1lbnQ+DQorICA8L3A6cnVsZT4NCisNCis8L3A6cHJvb2ZTeXN0ZW0+DQorDQorPC9zZWN0aW9uPg0KKw0KKzxzZWN0aW9uPg0KKzx0aXRsZT48bGl0ZXJhbD5saXN0PC9saXRlcmFsPiBwYXR0ZXJuPC90aXRsZT4NCisNCis8cGFyYT5XZSB1c2UgdGhlIGZvbGxvd2luZyBhZGRpdGlvbmFsIG5vdGF0aW9uOjwvcGFyYT4NCisNCis8dmFyaWFibGVsaXN0Pg0KKzx2YXJsaXN0ZW50cnk+PHRlcm0+PHA6ZnVuY3Rpb24gbmFtZT0ic3BsaXQiPg0KKyAgICAgICAgPHA6dmFyIHJhbmdlPSJzdHJpbmciLz4NCisgICAgICA8L3A6ZnVuY3Rpb24+PC90ZXJtPjxsaXN0aXRlbT48cGFyYT4NCisgICAgICANCityZXR1cm5zIGEgc2VxdWVuY2Ugb2Ygc3RyaW5ncyBvbmUgZm9yIGVhY2ggd2hpdGVzcGFjZSBkZWxpbWl0ZWQgdG9rZW4NCitvZiA8cDp2YXIgcmFuZ2U9InN0cmluZyIvPjsgZWFjaCBzdHJpbmcgaW4gdGhlIHJldHVybmVkIHNlcXVlbmNlIHdpbGwNCitiZSBub24tZW1wdHkgYW5kIHdpbGwgbm90IGNvbnRhaW4gYW55DQord2hpdGVzcGFjZTwvcGFyYT48L2xpc3RpdGVtPjwvdmFybGlzdGVudHJ5Pg0KKw0KKzwvdmFyaWFibGVsaXN0Pg0KKw0KKzxwYXJhPlRoZSBzZW1hbnRpY3Mgb2YgdGhlIDxsaXRlcmFsPmxpc3Q8L2xpdGVyYWw+IHBhdHRlcm4gYXJlIGFzIGZvbGxvd3M6PC9wYXJhPg0KKw0KKzxwOnByb29mU3lzdGVtPg0KKyAgPHA6cnVsZSBuYW1lPSJsaXN0Ij4NCisNCisgICAgPHA6anVkZ2VtZW50IG5hbWU9Im1hdGNoIj4NCisgICAgICA8cDp2YXIgcmFuZ2U9ImNvbnRleHQiLz4NCisgICAgICA8cDpmdW5jdGlvbiBuYW1lPSJlbXB0eVNldCIvPg0KKyAgICAgIDxwOmZ1bmN0aW9uIG5hbWU9InNwbGl0Ij4NCisgICAgICAgIDxwOnZhciByYW5nZT0ic3RyaW5nIi8+DQorICAgICAgPC9wOmZ1bmN0aW9uPg0KKyAgICAgIDxwOnZhciByYW5nZT0icGF0dGVybiIvPg0KKyAgICA8L3A6anVkZ2VtZW50Pg0KKw0KKyAgICA8cDpqdWRnZW1lbnQgbmFtZT0ibWF0Y2giPg0KKyAgICAgIDxwOnZhciByYW5nZT0iY29udGV4dCIvPg0KKyAgICAgIDxwOmZ1bmN0aW9uIG5hbWU9ImVtcHR5U2V0Ii8+DQorICAgICAgPHA6dmFyIHJhbmdlPSJzdHJpbmciLz4NCisgICAgICA8cDplbGVtZW50IG5hbWU9Imxpc3QiPg0KKwk8cDp2YXIgcmFuZ2U9InBhdHRlcm4iLz4NCisgICAgICA8L3A6ZWxlbWVudD4NCisgICAgPC9wOmp1ZGdlbWVudD4NCisNCisgIDwvcDpydWxlPg0KKzwvcDpwcm9vZlN5c3RlbT4NCisNCis8bm90ZT48cGFyYT5JdCBpcyBjcnVjaWFsIGluIHRoZSBhYm92ZSBpbmZlcmVuY2UgcnVsZSB0aGF0IHRoZQ0KK3NlcXVlbmNlIHRoYXQgaXMgbWF0Y2hlZCBhZ2FpbnN0IGEgcGF0dGVybiBjYW4gY29udGFpbiBjb25zZWN1dGl2ZQ0KK3N0cmluZ3MuPC9wYXJhPjwvbm90ZT4NCisNCis8L3NlY3Rpb24+DQorDQorPC9zZWN0aW9uPg0KKw0KKzxzZWN0aW9uIGlkPSJ2YWxpZGl0eSI+DQorPHRpdGxlPlZhbGlkaXR5PC90aXRsZT4NCisNCis8cGFyYT5Ob3cgd2UgY2FuIGRlZmluZSB3aGVuIGFuIGVsZW1lbnQgaXMgdmFsaWQgd2l0aCByZXNwZWN0IHRvIGENCitzY2hlbWEuICBXZSB1c2UgdGhlIGZvbGxvd2luZyBhZGRpdGlvbmFsIG5vdGF0aW9uOjwvcGFyYT4NCisNCis8dmFyaWFibGVsaXN0Pg0KKw0KKzx2YXJsaXN0ZW50cnk+PHRlcm0+PHA6dmFyIHJhbmdlPSJlbGVtZW50Ii8+PC90ZXJtPjxsaXN0aXRlbT48cGFyYT5yYW5nZXMgb3ZlciBlbGVtZW50czwvcGFyYT48L2xpc3RpdGVtPjwvdmFybGlzdGVudHJ5Pg0KKw0KKzx2YXJsaXN0ZW50cnk+PHRlcm0+PHA6anVkZ2VtZW50IG5hbWU9InZhbGlkIj4NCisgICAgICA8cDp2YXIgcmFuZ2U9ImVsZW1lbnQiLz4NCisgICAgPC9wOmp1ZGdlbWVudD48L3Rlcm0+PGxpc3RpdGVtPjxwYXJhPg0KKyAgICANCithc3NlcnRzIHRoYXQgdGhlIGVsZW1lbnQgPHA6dmFyIHJhbmdlPSJlbGVtZW50Ii8+IGlzIHZhbGlkIHdpdGgNCityZXNwZWN0IHRvIHRoZSBncmFtbWFyPC9wYXJhPjwvbGlzdGl0ZW0+PC92YXJsaXN0ZW50cnk+DQorDQorPHZhcmxpc3RlbnRyeT48dGVybT48cDpqdWRnZW1lbnQgbmFtZT0ic3RhcnQiPg0KKyAgICAgIDxwOnZhciByYW5nZT0icGF0dGVybiIvPg0KKyAgICA8L3A6anVkZ2VtZW50PjwvdGVybT48bGlzdGl0ZW0+PHBhcmE+DQorYXNzZXJ0cyB0aGF0IHRoZSBncmFtbWFyIGNvbnRhaW5zDQorPHA6ZWxlbWVudCBuYW1lPSJzdGFydCI+PHA6dmFyIHJhbmdlPSJwYXR0ZXJuIi8+IDwvcDplbGVtZW50PjwvcGFyYT48L2xpc3RpdGVtPjwvdmFybGlzdGVudHJ5Pg0KKw0KKzwvdmFyaWFibGVsaXN0Pg0KKw0KKzxwYXJhPkFuIGVsZW1lbnQgaXMgdmFsaWQgaWYgdG9nZXRoZXIgd2l0aCBhbiBlbXB0eSBzZXQgb2YgYXR0cmlidXRlcw0KK2l0IG1hdGNoZXMgdGhlIDxsaXRlcmFsPnN0YXJ0PC9saXRlcmFsPiBwYXR0ZXJuIG9mIHRoZSBncmFtbWFyLjwvcGFyYT4NCisNCis8cDpwcm9vZlN5c3RlbT4NCisgIDxwOnJ1bGUgbmFtZT0idmFsaWQiPg0KKyAgICA8cDpqdWRnZW1lbnQgbmFtZT0ic3RhcnQiPg0KKyAgICAgIDxwOnZhciByYW5nZT0icGF0dGVybiIvPg0KKyAgICA8L3A6anVkZ2VtZW50Pg0KKyAgICA8cDpqdWRnZW1lbnQgbmFtZT0ibWF0Y2giPg0KKyAgICAgIDxwOnZhciByYW5nZT0iY29udGV4dCIvPg0KKyAgICAgIDxwOmZ1bmN0aW9uIG5hbWU9ImVtcHR5U2V0Ii8+DQorICAgICAgPHA6dmFyIHJhbmdlPSJlbGVtZW50Ii8+DQorICAgICAgPHA6dmFyIHJhbmdlPSJwYXR0ZXJuIi8+DQorICAgIDwvcDpqdWRnZW1lbnQ+DQorICAgIDxwOmp1ZGdlbWVudCBuYW1lPSJ2YWxpZCI+DQorICAgICAgPHA6dmFyIHJhbmdlPSJlbGVtZW50Ii8+DQorICAgIDwvcDpqdWRnZW1lbnQ+DQorICA8L3A6cnVsZT4NCisgICAgICANCisNCis8L3A6cHJvb2ZTeXN0ZW0+DQorDQorPC9zZWN0aW9uPg0KKw0KKzxzZWN0aW9uPg0KKzx0aXRsZT5FeGFtcGxlPC90aXRsZT4NCisNCis8cGFyYT5MZXQgPHA6dmFyIHJhbmdlPSJlbGVtZW50IiBzdWI9IjAiLz4gYmU8L3BhcmE+DQorDQorPHA6Zm9ybXVsYT4NCisNCis8cDpmdW5jdGlvbiBuYW1lPSJlbGVtZW50Ij4NCisgIDxwOmZ1bmN0aW9uIG5hbWU9Im5hbWUiPg0KKyAgICA8cDpmdW5jdGlvbiBuYW1lPSJlbXB0eVN0cmluZyIvPg0KKyAgICA8cDpzdHJpbmc+Zm9vPC9wOnN0cmluZz4NCisgIDwvcDpmdW5jdGlvbj4NCisgIDxwOnZhciByYW5nZT0iY29udGV4dCIgc3ViPSIwIi8+DQorICA8cDpmdW5jdGlvbiBuYW1lPSJlbXB0eVNldCIvPg0KKyAgPHA6dmFyIHJhbmdlPSJtaXhlZCIvPg0KKzwvcDpmdW5jdGlvbj4NCisNCis8L3A6Zm9ybXVsYT4NCisNCis8cGFyYT53aGVyZSA8cDp2YXIgcmFuZ2U9Im1peGVkIi8+IGlzPC9wYXJhPg0KKw0KKzxwOmZvcm11bGE+DQorICA8cDpmdW5jdGlvbiBuYW1lPSJhcHBlbmQiPg0KKyAgICA8cDp2YXIgcmFuZ2U9ImVsZW1lbnQiIHN1Yj0iMSIvPg0KKyAgICA8cDp2YXIgcmFuZ2U9ImVsZW1lbnQiIHN1Yj0iMiIvPg0KKyAgPC9wOmZ1bmN0aW9uPg0KKzwvcDpmb3JtdWxhPg0KKw0KKzxwYXJhPmFuZCA8cDp2YXIgcmFuZ2U9ImVsZW1lbnQiIHN1Yj0iMSIvPiBpczwvcGFyYT4NCisNCis8cDpmb3JtdWxhPg0KKyAgPHA6ZnVuY3Rpb24gbmFtZT0iZWxlbWVudCI+DQorICAgIDxwOmZ1bmN0aW9uIG5hbWU9Im5hbWUiPg0KKyAgICAgIDxwOnN0cmluZz5odHRwOi8vd3d3LmV4YW1wbGUuY29tL24xPC9wOnN0cmluZz4NCisgICAgICA8cDpzdHJpbmc+YmFyMTwvcDpzdHJpbmc+DQorICAgIDwvcDpmdW5jdGlvbj4NCisgICAgPHA6dmFyIHJhbmdlPSJjb250ZXh0IiBzdWI9IjEiLz4NCisgICAgPHA6ZnVuY3Rpb24gbmFtZT0iZW1wdHlTZXQiLz4NCisgICAgPHA6ZnVuY3Rpb24gbmFtZT0iZW1wdHlTZXF1ZW5jZSIvPg0KKyAgPC9wOmZ1bmN0aW9uPg0KKzwvcDpmb3JtdWxhPg0KKw0KKzxwYXJhPmFuZCA8cDp2YXIgcmFuZ2U9ImVsZW1lbnQiIHN1Yj0iMiIvPiBpczwvcGFyYT4NCisNCis8cDpmb3JtdWxhPg0KKyAgPHA6ZnVuY3Rpb24gbmFtZT0iZWxlbWVudCI+DQorICAgIDxwOmZ1bmN0aW9uIG5hbWU9Im5hbWUiPg0KKyAgICAgIDxwOnN0cmluZz5odHRwOi8vd3d3LmV4YW1wbGUuY29tL24yPC9wOnN0cmluZz4NCisgICAgICA8cDpzdHJpbmc+YmFyMjwvcDpzdHJpbmc+DQorICAgIDwvcDpmdW5jdGlvbj4NCisgICAgPHA6dmFyIHJhbmdlPSJjb250ZXh0IiBzdWI9IjIiLz4NCisgICAgPHA6ZnVuY3Rpb24gbmFtZT0iZW1wdHlTZXQiLz4NCisgICAgPHA6ZnVuY3Rpb24gbmFtZT0iZW1wdHlTZXF1ZW5jZSIvPg0KKyAgPC9wOmZ1bmN0aW9uPg0KKzwvcDpmb3JtdWxhPg0KKw0KKzxwYXJhPkFzc3VtaW5nIGFwcHJvcHJpYXRlIGRlZmluaXRpb25zIG9mIDxwOnZhciByYW5nZT0iY29udGV4dCINCitzdWI9IjAiLz4sIDxwOnZhciByYW5nZT0iY29udGV4dCIgc3ViPSIxIi8+IGFuZCA8cDp2YXIgcmFuZ2U9ImNvbnRleHQiDQorc3ViPSIyIi8+LCB0aGlzIHJlcHJlc2VudHMgdGhlIGRvY3VtZW50IGluIDx4cmVmDQorbGlua2VuZD0iZGF0YS1tb2RlbC1leGFtcGxlIi8+LjwvcGFyYT4NCisNCis8cGFyYT5XZSBub3cgc2hvdyBob3cgPHA6dmFyIHJhbmdlPSJlbGVtZW50IiBzdWI9IjAiLz4gY2FuIGJlIHNob3duIHRvDQorYmUgdmFsaWQgd2l0aCByZXNwZWN0IHRvIHRoZSBzY2hlbWEgaW4gPHhyZWYNCitsaW5rZW5kPSJzaW1wbGUtc3ludGF4LWV4YW1wbGUiLz4uICBUaGUgc2NoZW1hIGlzIGVxdWl2YWxlbnQgdG8gdGhlDQorZm9sbG93aW5nIHByb3Bvc2l0aW9uczo8L3BhcmE+DQorDQorPHA6Zm9ybXVsYT4NCisgIDxwOmp1ZGdlbWVudCBuYW1lPSJzdGFydCI+DQorICAgIDxwOmVsZW1lbnQgbmFtZT0icmVmIj4NCisgICAgICA8cDphdHRyaWJ1dGUgbmFtZT0ibmFtZSI+PHA6c3RyaW5nPmZvbzwvcDpzdHJpbmc+PC9wOmF0dHJpYnV0ZT4NCisgICAgPC9wOmVsZW1lbnQ+DQorICA8L3A6anVkZ2VtZW50Pg0KKzwvcDpmb3JtdWxhPg0KKw0KKzxwOmZvcm11bGE+DQorICA8cDpqdWRnZW1lbnQgbmFtZT0iYmluZCI+DQorICAgIDxwOnN0cmluZz5mb28uZWxlbWVudDwvcDpzdHJpbmc+DQorICAgIDxwOmVsZW1lbnQgbmFtZT0ibmFtZSI+DQorICAgICAgPHA6YXR0cmlidXRlIG5hbWU9Im5zIj48cDpmdW5jdGlvbiBuYW1lPSJlbXB0eVN0cmluZyIvPjwvcDphdHRyaWJ1dGU+DQorICAgICAgPHA6c3RyaW5nPmZvbzwvcDpzdHJpbmc+DQorICAgIDwvcDplbGVtZW50Pg0KKyAgICA8cDplbGVtZW50IG5hbWU9Imdyb3VwIj4NCisgICAgICA8cDplbGVtZW50IG5hbWU9InJlZiI+DQorCTxwOmF0dHJpYnV0ZSBuYW1lPSJuYW1lIj4NCisJICA8cDpzdHJpbmc+YmFyMTwvcDpzdHJpbmc+DQorCTwvcDphdHRyaWJ1dGU+DQorICAgICAgPC9wOmVsZW1lbnQ+DQorICAgICAgPHA6ZWxlbWVudCBuYW1lPSJyZWYiPg0KKwk8cDphdHRyaWJ1dGUgbmFtZT0ibmFtZSI+DQorCSAgPHA6c3RyaW5nPmJhcjI8L3A6c3RyaW5nPg0KKwk8L3A6YXR0cmlidXRlPg0KKyAgICAgIDwvcDplbGVtZW50Pg0KKyAgICA8L3A6ZWxlbWVudD4NCisgIDwvcDpqdWRnZW1lbnQ+DQorPC9wOmZvcm11bGE+DQorDQorPHA6Zm9ybXVsYT4NCisgIDxwOmp1ZGdlbWVudCBuYW1lPSJiaW5kIj4NCisgICAgPHA6c3RyaW5nPmJhcjEuZWxlbWVudDwvcDpzdHJpbmc+DQorICAgIDxwOmVsZW1lbnQgbmFtZT0ibmFtZSI+DQorICAgICAgPHA6YXR0cmlidXRlIG5hbWU9Im5zIj4NCisJPHA6c3RyaW5nPmh0dHA6Ly93d3cuZXhhbXBsZS5jb20vbjE8L3A6c3RyaW5nPg0KKyAgICAgIDwvcDphdHRyaWJ1dGU+DQorICAgICAgPHA6c3RyaW5nPmJhcjE8L3A6c3RyaW5nPg0KKyAgICA8L3A6ZWxlbWVudD4NCisgICAgPHA6ZWxlbWVudCBuYW1lPSJlbXB0eSIvPg0KKyAgPC9wOmp1ZGdlbWVudD4NCis8L3A6Zm9ybXVsYT4NCisNCis8cDpmb3JtdWxhPg0KKyAgPHA6anVkZ2VtZW50IG5hbWU9ImJpbmQiPg0KKyAgICA8cDpzdHJpbmc+YmFyMi5lbGVtZW50PC9wOnN0cmluZz4NCisgICAgPHA6ZWxlbWVudCBuYW1lPSJuYW1lIj4NCisgICAgICA8cDphdHRyaWJ1dGUgbmFtZT0ibnMiPg0KKwk8cDpzdHJpbmc+aHR0cDovL3d3dy5leGFtcGxlLmNvbS9uMjwvcDpzdHJpbmc+DQorICAgICAgPC9wOmF0dHJpYnV0ZT4NCisgICAgICA8cDpzdHJpbmc+YmFyMjwvcDpzdHJpbmc+DQorICAgIDwvcDplbGVtZW50Pg0KKyAgICA8cDplbGVtZW50IG5hbWU9ImVtcHR5Ii8+DQorICA8L3A6anVkZ2VtZW50Pg0KKzwvcDpmb3JtdWxhPg0KKw0KKw0KKzxwYXJhPkxldCBuYW1lIGNsYXNzIDxwOnZhciByYW5nZT0ibmFtZUNsYXNzIiBzdWI9IjEiLz4gYmU8L3BhcmE+DQorDQorPHA6Zm9ybXVsYT4NCisgIDxwOmVsZW1lbnQgbmFtZT0ibmFtZSI+DQorICAgIDxwOmF0dHJpYnV0ZSBuYW1lPSJucyI+DQorICAgICAgPHA6c3RyaW5nPmh0dHA6Ly93d3cuZXhhbXBsZS5jb20vbjE8L3A6c3RyaW5nPg0KKyAgICA8L3A6YXR0cmlidXRlPg0KKyAgICA8cDpzdHJpbmc+YmFyMTwvcDpzdHJpbmc+DQorICA8L3A6ZWxlbWVudD4NCis8L3A6Zm9ybXVsYT4NCisNCis8cGFyYT5hbmQgbGV0IDxwOnZhciByYW5nZT0ibmFtZUNsYXNzIiBzdWI9IjIiLz4gYmU8L3BhcmE+DQorDQorPHA6Zm9ybXVsYT4NCisgIDxwOmVsZW1lbnQgbmFtZT0ibmFtZSI+DQorICAgIDxwOmF0dHJpYnV0ZSBuYW1lPSJucyI+DQorICAgICAgPHA6c3RyaW5nPmh0dHA6Ly93d3cuZXhhbXBsZS5jb20vbjI8L3A6c3RyaW5nPg0KKyAgICA8L3A6YXR0cmlidXRlPg0KKyAgICA8cDpzdHJpbmc+YmFyMjwvcDpzdHJpbmc+DQorICA8L3A6ZWxlbWVudD4NCis8L3A6Zm9ybXVsYT4NCisNCis8cGFyYT5UaGVuLCBieSB0aGUgaW5mZXJlbmNlIHJ1bGUgKG5hbWUpIGluIDx4cmVmDQorbGlua2VuZD0ibmFtZS1jbGFzc2VzIi8+LCB3ZSBoYXZlPC9wYXJhPg0KKw0KKzxwOmZvcm11bGE+DQorICA8cDpqdWRnZW1lbnQgbmFtZT0iYmVsb25ncyI+DQorICAgIDxwOmZ1bmN0aW9uIG5hbWU9Im5hbWUiPg0KKyAgICAgIDxwOnN0cmluZz5odHRwOi8vd3d3LmV4YW1wbGUuY29tL24xPC9wOnN0cmluZz4NCisgICAgICA8cDpzdHJpbmc+YmFyMTwvcDpzdHJpbmc+DQorICAgIDwvcDpmdW5jdGlvbj4NCisgICAgPHA6dmFyIHJhbmdlPSJuYW1lQ2xhc3MiIHN1Yj0iMSIvPg0KKyAgPC9wOmp1ZGdlbWVudD4NCis8L3A6Zm9ybXVsYT4NCisNCis8cGFyYT5hbmQ8L3BhcmE+DQorDQorPHA6Zm9ybXVsYT4NCisgIDxwOmp1ZGdlbWVudCBuYW1lPSJiZWxvbmdzIj4NCisgICAgPHA6ZnVuY3Rpb24gbmFtZT0ibmFtZSI+DQorICAgICAgPHA6c3RyaW5nPmh0dHA6Ly93d3cuZXhhbXBsZS5jb20vbjI8L3A6c3RyaW5nPg0KKyAgICAgIDxwOnN0cmluZz5iYXIyPC9wOnN0cmluZz4NCisgICAgPC9wOmZ1bmN0aW9uPg0KKyAgICA8cDp2YXIgcmFuZ2U9Im5hbWVDbGFzcyIgc3ViPSIyIi8+DQorICA8L3A6anVkZ2VtZW50Pg0KKzwvcDpmb3JtdWxhPg0KKw0KKw0KKzxwYXJhPkJ5IHRoZSBpbmZlcmVuY2UgcnVsZSAoZW1wdHkpIGluIDx4cmVmIGxpbmtlbmQ9ImVtcHR5LXBhdHRlcm4iLz4sDQord2UgaGF2ZTwvcGFyYT4NCisNCis8cDpmb3JtdWxhPg0KKyAgPHA6anVkZ2VtZW50IG5hbWU9Im1hdGNoIj4NCisgICAgPHA6dmFyIHJhbmdlPSJjb250ZXh0IiBzdWI9IjEiLz4NCisgICAgPHA6ZnVuY3Rpb24gbmFtZT0iZW1wdHlTZXQiLz4NCisgICAgPHA6ZnVuY3Rpb24gbmFtZT0iZW1wdHlTZXF1ZW5jZSIvPg0KKyAgICA8cDplbGVtZW50IG5hbWU9ImVtcHR5Ij48L3A6ZWxlbWVudD4NCisgIDwvcDpqdWRnZW1lbnQ+DQorPC9wOmZvcm11bGE+DQorDQorPHBhcmE+YW5kPC9wYXJhPg0KKw0KKzxwOmZvcm11bGE+DQorICA8cDpqdWRnZW1lbnQgbmFtZT0ibWF0Y2giPg0KKyAgICA8cDp2YXIgcmFuZ2U9ImNvbnRleHQiIHN1Yj0iMiIvPg0KKyAgICA8cDpmdW5jdGlvbiBuYW1lPSJlbXB0eVNldCIvPg0KKyAgICA8cDpmdW5jdGlvbiBuYW1lPSJlbXB0eVNlcXVlbmNlIi8+DQorICAgIDxwOmVsZW1lbnQgbmFtZT0iZW1wdHkiPjwvcDplbGVtZW50Pg0KKyAgPC9wOmp1ZGdlbWVudD4NCis8L3A6Zm9ybXVsYT4NCisNCis8cGFyYT5UaHVzIGJ5IHRoZSBpbmZlcmVuY2UgcnVsZSAoZWxlbWVudCkgaW4gPHhyZWYNCitsaW5rZW5kPSJlbGVtZW50LXBhdHRlcm4iLz4sIHdlIGhhdmU8L3BhcmE+DQorDQorPHA6Zm9ybXVsYT4NCisgIDxwOmp1ZGdlbWVudCBuYW1lPSJtYXRjaCI+DQorICAgIDxwOnZhciByYW5nZT0iY29udGV4dCIgc3ViPSIwIi8+DQorICAgIDxwOmZ1bmN0aW9uIG5hbWU9ImVtcHR5U2V0Ii8+DQorICAgIDxwOnZhciByYW5nZT0iZWxlbWVudCIgc3ViPSIxIi8+DQorICAgIDxwOmVsZW1lbnQgbmFtZT0icmVmIj4NCisgICAgICA8cDphdHRyaWJ1dGUgbmFtZT0ibmFtZSI+DQorICAgICAgICA8cDpzdHJpbmc+YmFyMTwvcDpzdHJpbmc+DQorICAgICAgPC9wOmF0dHJpYnV0ZT4NCisgICAgPC9wOmVsZW1lbnQ+DQorICA8L3A6anVkZ2VtZW50Pg0KKzwvcDpmb3JtdWxhPg0KKw0KKzxwYXJhPk5vdGUgdGhhdCB3ZSBoYXZlIGNob3NlbiA8cDp2YXINCityYW5nZT0iY29udGV4dCIgc3ViPSIwIi8+LCBzaW5jZSBhbnkgY29udGV4dCBpcyBhbGxvd2VkLjwvcGFyYT4NCisNCis8cGFyYT5MaWtld2lzZSwgd2UgaGF2ZTwvcGFyYT4NCisNCis8cDpmb3JtdWxhPg0KKyAgPHA6anVkZ2VtZW50IG5hbWU9Im1hdGNoIj4NCisgICAgPHA6dmFyIHJhbmdlPSJjb250ZXh0IiBzdWI9IjAiLz4NCisgICAgPHA6ZnVuY3Rpb24gbmFtZT0iZW1wdHlTZXQiLz4NCisgICAgPHA6dmFyIHJhbmdlPSJlbGVtZW50IiBzdWI9IjIiLz4NCisgICAgPHA6ZWxlbWVudCBuYW1lPSJyZWYiPg0KKyAgICAgIDxwOmF0dHJpYnV0ZSBuYW1lPSJuYW1lIj4NCisgICAgICAgIDxwOnN0cmluZz5iYXIyPC9wOnN0cmluZz4NCisgICAgICA8L3A6YXR0cmlidXRlPg0KKyAgICA8L3A6ZWxlbWVudD4NCisgIDwvcDpqdWRnZW1lbnQ+DQorPC9wOmZvcm11bGE+DQorDQorPHBhcmE+QnkgdGhlIGluZmVyZW5jZSBydWxlIChncm91cCkgaW4gPHhyZWYNCitsaW5rZW5kPSJjaG9pY2UtcGF0dGVybiIvPiwgd2UgaGF2ZTwvcGFyYT4NCisNCis8cDpmb3JtdWxhPg0KKyAgPHA6anVkZ2VtZW50IG5hbWU9Im1hdGNoIj4NCisgICAgPHA6dmFyIHJhbmdlPSJjb250ZXh0IiBzdWI9IjAiLz4NCisgICAgPHA6ZnVuY3Rpb24gbmFtZT0iZW1wdHlTZXQiLz4NCisgICAgPHA6ZnVuY3Rpb24gbmFtZT0iYXBwZW5kIj4NCisgICAgICA8cDp2YXIgcmFuZ2U9ImVsZW1lbnQiIHN1Yj0iMSIvPg0KKyAgICAgIDxwOnZhciByYW5nZT0iZWxlbWVudCIgc3ViPSIyIi8+DQorICAgIDwvcDpmdW5jdGlvbj4NCisgICAgPHA6ZWxlbWVudCBuYW1lPSJncm91cCI+DQorICAgICAgPHA6ZWxlbWVudCBuYW1lPSJyZWYiPg0KKyAgICAgICAgPHA6YXR0cmlidXRlIG5hbWU9Im5hbWUiPg0KKyAgICAgICAgICA8cDpzdHJpbmc+YmFyMTwvcDpzdHJpbmc+DQorICAgICAgICA8L3A6YXR0cmlidXRlPg0KKyAgICAgIDwvcDplbGVtZW50Pg0KKyAgICAgIDxwOmVsZW1lbnQgbmFtZT0icmVmIj4NCisgICAgICAgIDxwOmF0dHJpYnV0ZSBuYW1lPSJuYW1lIj4NCisgICAgICAgICAgPHA6c3RyaW5nPmJhcjI8L3A6c3RyaW5nPg0KKyAgICAgICAgPC9wOmF0dHJpYnV0ZT4NCisgICAgICA8L3A6ZWxlbWVudD4NCisgICAgPC9wOmVsZW1lbnQ+DQorICA8L3A6anVkZ2VtZW50Pg0KKzwvcDpmb3JtdWxhPg0KKw0KKzxwYXJhPkJ5IHRoZSBpbmZlcmVuY2UgcnVsZSAoZWxlbWVudCkgaW4gPHhyZWYNCitsaW5rZW5kPSJlbGVtZW50LXBhdHRlcm4iLz4sIHdlIGhhdmU8L3BhcmE+DQorDQorPHA6Zm9ybXVsYT4NCisgIDxwOmp1ZGdlbWVudCBuYW1lPSJtYXRjaCI+DQorICAgIDxwOnZhciByYW5nZT0iY29udGV4dCIgc3ViPSIzIi8+DQorICAgIDxwOmZ1bmN0aW9uIG5hbWU9ImVtcHR5U2V0Ii8+DQorICAgIDxwOmZ1bmN0aW9uIG5hbWU9ImVsZW1lbnQiPg0KKyAgICAgIDxwOmZ1bmN0aW9uIG5hbWU9Im5hbWUiPg0KKyAgICAgICAgPHA6ZnVuY3Rpb24gbmFtZT0iZW1wdHlTdHJpbmciLz4NCisgICAgICAgIDxwOnN0cmluZz5mb288L3A6c3RyaW5nPg0KKyAgICAgIDwvcDpmdW5jdGlvbj4NCisgICAgICA8cDp2YXIgcmFuZ2U9ImNvbnRleHQiIHN1Yj0iMCIvPg0KKyAgICAgIDxwOmZ1bmN0aW9uIG5hbWU9ImVtcHR5U2V0Ii8+DQorICAgICAgPHA6dmFyIHJhbmdlPSJtaXhlZCIvPg0KKyAgICA8L3A6ZnVuY3Rpb24+DQorICAgIDxwOmVsZW1lbnQgbmFtZT0icmVmIj4NCisgICAgICA8cDphdHRyaWJ1dGUgbmFtZT0ibmFtZSI+DQorICAgICAgICA8cDpzdHJpbmc+Zm9vPC9wOnN0cmluZz4NCisgICAgICA8L3A6YXR0cmlidXRlPg0KKyAgICA8L3A6ZWxlbWVudD4NCisgIDwvcDpqdWRnZW1lbnQ+DQorPC9wOmZvcm11bGE+DQorDQorPHBhcmE+SGVyZSA8cDp2YXIgcmFuZ2U9ImNvbnRleHQiIHN1Yj0iMyIvPiBpcyBhbiBhcmJpdHJhcnkNCitjb250ZXh0LjwvcGFyYT4NCisNCis8cGFyYT5UaHVzIHdlIGNhbiBhcHBseSB0aGUgaW5mZXJlbmNlIHJ1bGUgKHZhbGlkKSBpbiA8eHJlZg0KK2xpbmtlbmQ9InZhbGlkaXR5Ii8+IGFuZCBvYnRhaW48L3BhcmE+DQorDQorPHA6Zm9ybXVsYT4NCisgIDxwOmp1ZGdlbWVudCBuYW1lPSJ2YWxpZCI+DQorICAgIDxwOnZhciByYW5nZT0iZWxlbWVudCIgc3ViPSIwIi8+DQorICA8L3A6anVkZ2VtZW50Pg0KKzwvcDpmb3JtdWxhPg0KKw0KKzwvc2VjdGlvbj4NCisNCis8L3NlY3Rpb24+DQorDQorPHNlY3Rpb24gaWQ9InJlc3RyaWN0aW9uIj4NCis8dGl0bGU+UmVzdHJpY3Rpb25zPC90aXRsZT4NCisNCis8cGFyYT5UaGUgZm9sbG93aW5nIGNvbnN0cmFpbnRzIGFyZSBhbGwgY2hlY2tlZCBhZnRlciB0aGUgZ3JhbW1hciBoYXMNCitiZWVuIHRyYW5zZm9ybWVkIHRvIHRoZSBzaW1wbGUgZm9ybSBkZXNjcmliZWQgaW4gPHhyZWYNCitsaW5rZW5kPSJzaW1wbGUtc3ludGF4Ii8+LiBUaGUgcHVycG9zZSBvZiB0aGVzZSByZXN0cmljdGlvbnMgaXMgdG8NCitjYXRjaCB1c2VyIGVycm9ycyBhbmQgdG8gZmFjaWxpdGF0ZSBpbXBsZW1lbnRhdGlvbi48L3BhcmE+DQorDQorPHNlY3Rpb24gaWQ9ImNvbnRleHR1YWwtcmVzdHJpY3Rpb24iPg0KKzx0aXRsZT5Db250ZXh0dWFsIHJlc3RyaWN0aW9uczwvdGl0bGU+DQorDQorPHBhcmE+SW4gdGhpcyBzZWN0aW9uIHdlIGRlc2NyaWJlIHJlc3RyaWN0aW9ucyBvbiB3aGVyZSBlbGVtZW50cyBhcmUNCithbGxvd2VkIGluIHRoZSBzY2hlbWEgYmFzZWQgb24gdGhlIG5hbWVzIG9mIHRoZSBhbmNlc3RvciBlbGVtZW50cy4gV2UNCit1c2UgdGhlIGNvbmNlcHQgb2YgYSA8Zmlyc3R0ZXJtPnByb2hpYml0ZWQgcGF0aDwvZmlyc3R0ZXJtPiB0bw0KK2Rlc2NyaWJlIHRoZXNlIHJlc3RyaWN0aW9ucy4gQSBwYXRoIGlzIGEgc2VxdWVuY2Ugb2YgTkNOYW1lcyBzZXBhcmF0ZWQNCitieSA8bGl0ZXJhbD4vPC9saXRlcmFsPiBvciA8bGl0ZXJhbD4vLzwvbGl0ZXJhbD4uPC9wYXJhPg0KKw0KKzxpdGVtaXplZGxpc3Q+DQorDQorPGxpc3RpdGVtPjxwYXJhPkFuIGVsZW1lbnQgbWF0Y2hlcyBhIHBhdGgNCis8cmVwbGFjZWFibGU+eDwvcmVwbGFjZWFibGU+LCB3aGVyZSA8cmVwbGFjZWFibGU+eDwvcmVwbGFjZWFibGU+IGlzIGFuDQorTkNOYW1lLCBpZiBhbmQgb25seSBpZiB0aGUgbG9jYWwgbmFtZSBvZiB0aGUgZWxlbWVudCBpcw0KKzxyZXBsYWNlYWJsZT54PC9yZXBsYWNlYWJsZT48L3BhcmE+PC9saXN0aXRlbT4NCisNCis8bGlzdGl0ZW0+PHBhcmE+QW4gZWxlbWVudCBtYXRjaGVzIGEgcGF0aA0KKzxyZXBsYWNlYWJsZT54PC9yZXBsYWNlYWJsZT48bGl0ZXJhbD4vPC9saXRlcmFsPjxyZXBsYWNlYWJsZT5wPC9yZXBsYWNlYWJsZT4sDQord2hlcmUgPHJlcGxhY2VhYmxlPng8L3JlcGxhY2VhYmxlPiBpcyBhbiBOQ05hbWUgYW5kDQorPHJlcGxhY2VhYmxlPnA8L3JlcGxhY2VhYmxlPiBpcyBhIHBhdGgsIGlmIGFuZCBvbmx5IGlmIHRoZSBsb2NhbCBuYW1lDQorb2YgdGhlIGVsZW1lbnQgaXMgPHJlcGxhY2VhYmxlPng8L3JlcGxhY2VhYmxlPiBhbmQgdGhlIGVsZW1lbnQgaGFzIGENCitjaGlsZCB0aGF0IG1hdGNoZXMgPHJlcGxhY2VhYmxlPnA8L3JlcGxhY2VhYmxlPjwvcGFyYT48L2xpc3RpdGVtPg0KKw0KKzxsaXN0aXRlbT48cGFyYT5BbiBlbGVtZW50IG1hdGNoZXMgYSBwYXRoDQorPHJlcGxhY2VhYmxlPng8L3JlcGxhY2VhYmxlPjxsaXRlcmFsPi8vPC9saXRlcmFsPjxyZXBsYWNlYWJsZT5wPC9yZXBsYWNlYWJsZT4sDQord2hlcmUgPHJlcGxhY2VhYmxlPng8L3JlcGxhY2VhYmxlPiBpcyBhbiBOQ05hbWUgYW5kDQorPHJlcGxhY2VhYmxlPnA8L3JlcGxhY2VhYmxlPiBpcyBhIHBhdGgsIGlmIGFuZCBvbmx5IGlmIHRoZSBsb2NhbCBuYW1lDQorb2YgdGhlIGVsZW1lbnQgaXMgPHJlcGxhY2VhYmxlPng8L3JlcGxhY2VhYmxlPiBhbmQgdGhlIGVsZW1lbnQgaGFzIGENCitkZXNjZW5kYW50IHRoYXQgbWF0Y2hlcyA8cmVwbGFjZWFibGU+cDwvcmVwbGFjZWFibGU+PC9wYXJhPjwvbGlzdGl0ZW0+DQorDQorPC9pdGVtaXplZGxpc3Q+DQorDQorPHBhcmE+Rm9yIGV4YW1wbGUsIHRoZSBlbGVtZW50PC9wYXJhPg0KKw0KKzxwcm9ncmFtbGlzdGluZz48IVtDREFUQVs8Zm9vPg0KKyAgPGJhcj4NCisgICAgPGJhei8+DQorICA8L2Jhcj4NCis8L2Zvbz5dXT48L3Byb2dyYW1saXN0aW5nPg0KKw0KKzxwYXJhPm1hdGNoZXMgdGhlIHBhdGhzIDxsaXRlcmFsPmZvbzwvbGl0ZXJhbD4sDQorPGxpdGVyYWw+Zm9vL2JhcjwvbGl0ZXJhbD4sIDxsaXRlcmFsPmZvby8vYmFyPC9saXRlcmFsPiwNCis8bGl0ZXJhbD5mb28vL2JhejwvbGl0ZXJhbD4sIDxsaXRlcmFsPmZvby9iYXIvYmF6PC9saXRlcmFsPiwNCis8bGl0ZXJhbD5mb28vYmFyLy9iYXo8L2xpdGVyYWw+IGFuZCA8bGl0ZXJhbD5mb28vL2Jhci9iYXo8L2xpdGVyYWw+LA0KK2J1dCBub3QgPGxpdGVyYWw+Zm9vL2JhejwvbGl0ZXJhbD4gb3INCis8bGl0ZXJhbD5mb29iYXI8L2xpdGVyYWw+LjwvcGFyYT4NCisNCis8cGFyYT5BIGNvcnJlY3QgUkVMQVggTkcgc2NoZW1hIG11c3QgYmUgc3VjaCB0aGF0LCBhZnRlcg0KK3RyYW5zZm9ybWF0aW9uIHRvIHRoZSBzaW1wbGUgZm9ybSwgaXQgZG9lcyBub3QgY29udGFpbiBhbnkgZWxlbWVudA0KK3RoYXQgbWF0Y2hlcyBhIHByb2hpYml0ZWQgcGF0aC48L3BhcmE+DQorDQorPHNlY3Rpb24+DQorPHRpdGxlPjxsaXRlcmFsPmF0dHJpYnV0ZTwvbGl0ZXJhbD4gcGF0dGVybjwvdGl0bGU+DQorDQorPHBhcmE+VGhlIGZvbGxvd2luZyBwYXRocyBhcmUgcHJvaGliaXRlZDo8L3BhcmE+DQorDQorPGl0ZW1pemVkbGlzdD4NCis8bGlzdGl0ZW0+PHBhcmE+PGxpdGVyYWw+YXR0cmlidXRlLy9yZWY8L2xpdGVyYWw+PC9wYXJhPjwvbGlzdGl0ZW0+DQorPGxpc3RpdGVtPjxwYXJhPjxsaXRlcmFsPmF0dHJpYnV0ZS8vYXR0cmlidXRlPC9saXRlcmFsPjwvcGFyYT48L2xpc3RpdGVtPg0KKzwvaXRlbWl6ZWRsaXN0Pg0KKw0KKzwvc2VjdGlvbj4NCisNCis8c2VjdGlvbj4NCis8dGl0bGU+PGxpdGVyYWw+b25lT3JNb3JlPC9saXRlcmFsPiBwYXR0ZXJuPC90aXRsZT4NCisNCis8cGFyYT5UaGUgZm9sbG93aW5nIHBhdGhzIGFyZSBwcm9oaWJpdGVkOjwvcGFyYT4NCisNCis8aXRlbWl6ZWRsaXN0Pg0KKzxsaXN0aXRlbT48cGFyYT48bGl0ZXJhbD5vbmVPck1vcmUvL2dyb3VwLy9hdHRyaWJ1dGU8L2xpdGVyYWw+PC9wYXJhPjwvbGlzdGl0ZW0+DQorPGxpc3RpdGVtPjxwYXJhPjxsaXRlcmFsPm9uZU9yTW9yZS8vaW50ZXJsZWF2ZS8vYXR0cmlidXRlPC9saXRlcmFsPjwvcGFyYT48L2xpc3RpdGVtPg0KKzwvaXRlbWl6ZWRsaXN0Pg0KKw0KKzwvc2VjdGlvbj4NCisNCis8c2VjdGlvbiBpZD0ibGlzdC1yZXN0cmljdGlvbnMiPg0KKzx0aXRsZT48bGl0ZXJhbD5saXN0PC9saXRlcmFsPiBwYXR0ZXJuPC90aXRsZT4NCisNCis8cGFyYT5UaGUgZm9sbG93aW5nIHBhdGhzIGFyZSBwcm9oaWJpdGVkOjwvcGFyYT4NCisNCis8aXRlbWl6ZWRsaXN0Pg0KKzxsaXN0aXRlbT48cGFyYT48bGl0ZXJhbD5saXN0Ly9saXN0PC9saXRlcmFsPjwvcGFyYT48L2xpc3RpdGVtPg0KKzxsaXN0aXRlbT48cGFyYT48bGl0ZXJhbD5saXN0Ly9yZWY8L2xpdGVyYWw+PC9wYXJhPjwvbGlzdGl0ZW0+DQorPGxpc3RpdGVtPjxwYXJhPjxsaXRlcmFsPmxpc3QvL2F0dHJpYnV0ZTwvbGl0ZXJhbD48L3BhcmE+PC9saXN0aXRlbT4NCis8bGlzdGl0ZW0+PHBhcmE+PGxpdGVyYWw+bGlzdC8vdGV4dDwvbGl0ZXJhbD48L3BhcmE+PC9saXN0aXRlbT4NCis8bGlzdGl0ZW0+PHBhcmE+PGxpdGVyYWw+bGlzdC8vaW50ZXJsZWF2ZTwvbGl0ZXJhbD48L3BhcmE+PC9saXN0aXRlbT4NCis8L2l0ZW1pemVkbGlzdD4NCis8L3NlY3Rpb24+DQorDQorPHNlY3Rpb24gaWQ9ImNvbnRleHQtZGF0YS1leGNlcHQiPg0KKzx0aXRsZT48bGl0ZXJhbD5leGNlcHQ8L2xpdGVyYWw+IGluIDxsaXRlcmFsPmRhdGE8L2xpdGVyYWw+IHBhdHRlcm48L3RpdGxlPg0KKw0KKzxwYXJhPlRoZSBmb2xsb3dpbmcgcGF0aHMgYXJlIHByb2hpYml0ZWQ6PC9wYXJhPg0KKw0KKzxpdGVtaXplZGxpc3Q+DQorPGxpc3RpdGVtPjxwYXJhPjxsaXRlcmFsPmRhdGEvZXhjZXB0Ly9hdHRyaWJ1dGU8L2xpdGVyYWw+PC9wYXJhPjwvbGlzdGl0ZW0+DQorPGxpc3RpdGVtPjxwYXJhPjxsaXRlcmFsPmRhdGEvZXhjZXB0Ly9yZWY8L2xpdGVyYWw+PC9wYXJhPjwvbGlzdGl0ZW0+DQorPGxpc3RpdGVtPjxwYXJhPjxsaXRlcmFsPmRhdGEvZXhjZXB0Ly90ZXh0PC9saXRlcmFsPjwvcGFyYT48L2xpc3RpdGVtPg0KKzxsaXN0aXRlbT48cGFyYT48bGl0ZXJhbD5kYXRhL2V4Y2VwdC8vbGlzdDwvbGl0ZXJhbD48L3BhcmE+PC9saXN0aXRlbT4NCis8bGlzdGl0ZW0+PHBhcmE+PGxpdGVyYWw+ZGF0YS9leGNlcHQvL2dyb3VwPC9saXRlcmFsPjwvcGFyYT48L2xpc3RpdGVtPg0KKzxsaXN0aXRlbT48cGFyYT48bGl0ZXJhbD5kYXRhL2V4Y2VwdC8vaW50ZXJsZWF2ZTwvbGl0ZXJhbD48L3BhcmE+PC9saXN0aXRlbT4NCis8bGlzdGl0ZW0+PHBhcmE+PGxpdGVyYWw+ZGF0YS9leGNlcHQvL29uZU9yTW9yZTwvbGl0ZXJhbD48L3BhcmE+PC9saXN0aXRlbT4NCis8bGlzdGl0ZW0+PHBhcmE+PGxpdGVyYWw+ZGF0YS9leGNlcHQvL2VtcHR5PC9saXRlcmFsPjwvcGFyYT48L2xpc3RpdGVtPg0KKzwvaXRlbWl6ZWRsaXN0Pg0KKw0KKzxub3RlPjxwYXJhPlRoaXMgaW1wbGllcyB0aGF0IGFuIDxsaXRlcmFsPmV4Y2VwdDwvbGl0ZXJhbD4gZWxlbWVudA0KK3dpdGggYSA8bGl0ZXJhbD5kYXRhPC9saXRlcmFsPiBwYXJlbnQgY2FuIGNvbnRhaW4gb25seQ0KKzxsaXRlcmFsPmRhdGE8L2xpdGVyYWw+LCA8bGl0ZXJhbD52YWx1ZTwvbGl0ZXJhbD4gYW5kDQorPGxpdGVyYWw+Y2hvaWNlPC9saXRlcmFsPiBlbGVtZW50cy48L3BhcmE+PC9ub3RlPg0KKw0KKzwvc2VjdGlvbj4NCisNCis8c2VjdGlvbiBpZD0iY29udGV4dC1zdGFydCI+DQorPHRpdGxlPjxsaXRlcmFsPnN0YXJ0PC9saXRlcmFsPiBlbGVtZW50PC90aXRsZT4NCisNCis8cGFyYT5UaGUgZm9sbG93aW5nIHBhdGhzIGFyZSBwcm9oaWJpdGVkOjwvcGFyYT4NCisNCis8aXRlbWl6ZWRsaXN0Pg0KKzxsaXN0aXRlbT48cGFyYT48bGl0ZXJhbD5zdGFydC8vYXR0cmlidXRlPC9saXRlcmFsPjwvcGFyYT48L2xpc3RpdGVtPg0KKzxsaXN0aXRlbT48cGFyYT48bGl0ZXJhbD5zdGFydC8vZGF0YTwvbGl0ZXJhbD48L3BhcmE+PC9saXN0aXRlbT4NCis8bGlzdGl0ZW0+PHBhcmE+PGxpdGVyYWw+c3RhcnQvL3ZhbHVlPC9saXRlcmFsPjwvcGFyYT48L2xpc3RpdGVtPg0KKzxsaXN0aXRlbT48cGFyYT48bGl0ZXJhbD5zdGFydC8vdGV4dDwvbGl0ZXJhbD48L3BhcmE+PC9saXN0aXRlbT4NCis8bGlzdGl0ZW0+PHBhcmE+PGxpdGVyYWw+c3RhcnQvL2xpc3Q8L2xpdGVyYWw+PC9wYXJhPjwvbGlzdGl0ZW0+DQorPGxpc3RpdGVtPjxwYXJhPjxsaXRlcmFsPnN0YXJ0Ly9ncm91cDwvbGl0ZXJhbD48L3BhcmE+PC9saXN0aXRlbT4NCis8bGlzdGl0ZW0+PHBhcmE+PGxpdGVyYWw+c3RhcnQvL2ludGVybGVhdmU8L2xpdGVyYWw+PC9wYXJhPjwvbGlzdGl0ZW0+DQorPGxpc3RpdGVtPjxwYXJhPjxsaXRlcmFsPnN0YXJ0Ly9vbmVPck1vcmU8L2xpdGVyYWw+PC9wYXJhPjwvbGlzdGl0ZW0+DQorPGxpc3RpdGVtPjxwYXJhPjxsaXRlcmFsPnN0YXJ0Ly9lbXB0eTwvbGl0ZXJhbD48L3BhcmE+PC9saXN0aXRlbT4NCis8L2l0ZW1pemVkbGlzdD4NCis8L3NlY3Rpb24+DQorDQorPC9zZWN0aW9uPg0KKw0KKzxzZWN0aW9uIGlkPSJzdHJpbmctc2VxdWVuY2VzIj4NCis8dGl0bGU+U3RyaW5nIHNlcXVlbmNlczwvdGl0bGU+DQorDQorPHBhcmE+UkVMQVggTkcgZG9lcyBub3QgYWxsb3cgYSBwYXR0ZXJuIHN1Y2ggYXM6PC9wYXJhPg0KKw0KKzxwcm9ncmFtbGlzdGluZz48IVtDREFUQVs8ZWxlbWVudCBuYW1lPSJmb28iPg0KKyAgPGdyb3VwPg0KKyAgICA8ZGF0YSB0eXBlPSJpbnQiLz4NCisgICAgPGVsZW1lbnQgbmFtZT0iYmFyIj4NCisgICAgICA8ZW1wdHkvPg0KKyAgICA8L2VsZW1lbnQ+DQorICA8L2dyb3VwPg0KKzwvZWxlbWVudD5dXT48L3Byb2dyYW1saXN0aW5nPg0KKw0KKzxwYXJhPk5vciBkb2VzIGl0IGFsbG93IGEgcGF0dGVybiBzdWNoIGFzOjwvcGFyYT4NCisNCis8cHJvZ3JhbWxpc3Rpbmc+PCFbQ0RBVEFbPGVsZW1lbnQgbmFtZT0iZm9vIj4NCisgIDxncm91cD4NCisgICAgPGRhdGEgdHlwZT0iaW50Ii8+DQorICAgIDx0ZXh0Lz4NCisgIDwvZ3JvdXA+DQorPC9lbGVtZW50Pl1dPjwvcHJvZ3JhbWxpc3Rpbmc+DQorDQorPHBhcmE+TW9yZSBnZW5lcmFsbHksIGlmIHRoZSBwYXR0ZXJuIGZvciB0aGUgY29udGVudCBvZiBhbiBlbGVtZW50IG9yDQorYXR0cmlidXRlIGNvbnRhaW5zPC9wYXJhPg0KKw0KKzxpdGVtaXplZGxpc3Q+DQorDQorPGxpc3RpdGVtPjxwYXJhPmEgcGF0dGVybiB0aGF0IGNhbiBtYXRjaCBhIGNoaWxkDQorKHRoYXQgaXMsIGFuIDxsaXRlcmFsPmVsZW1lbnQ8L2xpdGVyYWw+LCA8bGl0ZXJhbD5kYXRhPC9saXRlcmFsPiwNCis8bGl0ZXJhbD52YWx1ZTwvbGl0ZXJhbD4sIDxsaXRlcmFsPmxpc3Q8L2xpdGVyYWw+IG9yDQorPGxpdGVyYWw+dGV4dDwvbGl0ZXJhbD4gcGF0dGVybiksIGFuZDwvcGFyYT48L2xpc3RpdGVtPg0KKw0KKzxsaXN0aXRlbT48cGFyYT5hIHBhdHRlcm4gdGhhdCBtYXRjaGVzIGEgc2luZ2xlIHN0cmluZyAodGhhdCBpcywgYQ0KKzxsaXRlcmFsPmRhdGE8L2xpdGVyYWw+LCA8bGl0ZXJhbD52YWx1ZTwvbGl0ZXJhbD4gb3INCis8bGl0ZXJhbD5saXN0PC9saXRlcmFsPiBwYXR0ZXJuKSw8L3BhcmE+PC9saXN0aXRlbT4NCisNCis8L2l0ZW1pemVkbGlzdD4NCisNCis8cGFyYT50aGVuIHRoZSB0d28gcGF0dGVybnMgbXVzdCBiZSBhbHRlcm5hdGl2ZXMgdG8gZWFjaCBvdGhlci48L3BhcmE+DQorDQorPHBhcmE+VGhpcyBydWxlIGRvZXMgbm90IGFwcGx5IHRvIHBhdHRlcm5zIG9jY3VycmluZyB3aXRoaW4gYQ0KKzxsaXRlcmFsPmxpc3Q8L2xpdGVyYWw+IHBhdHRlcm4uPC9wYXJhPg0KKw0KKzxwYXJhPlRvIGZvcm1hbGl6ZSB0aGlzLCB3ZSB1c2UgdGhlIGNvbmNlcHQgb2YgYSBjb250ZW50LXR5cGUuICBBDQorcGF0dGVybiB0aGF0IGlzIGFsbG93YWJsZSBhcyB0aGUgY29udGVudCBvZiBhbiBlbGVtZW50IGhhcyBvbmUgb2YNCit0aHJlZSBjb250ZW50LXR5cGVzOiBlbXB0eSwgY29tcGxleCBhbmQgc2ltcGxlLiAgV2UgdXNlIHRoZSBmb2xsb3dpbmcNCitub3RhdGlvbi48L3BhcmE+DQorDQorPHZhcmlhYmxlbGlzdD4NCisNCis8dmFybGlzdGVudHJ5Pg0KKzx0ZXJtPjxwOmZ1bmN0aW9uIG5hbWU9ImVtcHR5Ii8+PC90ZXJtPg0KKzxsaXN0aXRlbT48cGFyYT5yZXR1cm5zIHRoZSBlbXB0eSBjb250ZW50LXR5cGU8L3BhcmE+PC9saXN0aXRlbT4NCis8L3Zhcmxpc3RlbnRyeT4NCisNCis8dmFybGlzdGVudHJ5Pg0KKzx0ZXJtPjxwOmZ1bmN0aW9uIG5hbWU9ImNvbXBsZXgiLz48L3Rlcm0+DQorPGxpc3RpdGVtPjxwYXJhPnJldHVybnMgdGhlIGNvbXBsZXggY29udGVudC10eXBlPC9wYXJhPjwvbGlzdGl0ZW0+DQorPC92YXJsaXN0ZW50cnk+DQorDQorPHZhcmxpc3RlbnRyeT4NCis8dGVybT48cDpmdW5jdGlvbiBuYW1lPSJzaW1wbGUiLz48L3Rlcm0+DQorPGxpc3RpdGVtPjxwYXJhPnJldHVybnMgdGhlIHNpbXBsZSBjb250ZW50LXR5cGU8L3BhcmE+PC9saXN0aXRlbT4NCis8L3Zhcmxpc3RlbnRyeT4NCisNCis8dmFybGlzdGVudHJ5Pjx0ZXJtPjxwOnZhciByYW5nZT0iY29udGVudFR5cGUiLz48L3Rlcm0+DQorPGxpc3RpdGVtPjxwYXJhPnJhbmdlcyBvdmVyIGNvbnRlbnQtdHlwZXM8L3BhcmE+PC9saXN0aXRlbT4NCis8L3Zhcmxpc3RlbnRyeT4NCisNCis8dmFybGlzdGVudHJ5Pjx0ZXJtPg0KKyAgPHA6anVkZ2VtZW50IG5hbWU9Imdyb3VwYWJsZSI+DQorICAgIDxwOnZhciByYW5nZT0iY29udGVudFR5cGUiIHN1Yj0iMSIvPg0KKyAgICA8cDp2YXIgcmFuZ2U9ImNvbnRlbnRUeXBlIiBzdWI9IjIiLz4NCisgIDwvcDpqdWRnZW1lbnQ+DQorPC90ZXJtPg0KKzxsaXN0aXRlbT48cGFyYT5hc3NlcnRzIHRoYXQgdGhlIGNvbnRlbnQtdHlwZXMgPHA6dmFyDQorcmFuZ2U9ImNvbnRlbnRUeXBlIiBzdWI9IjEiLz4gYW5kIDxwOnZhciByYW5nZT0iY29udGVudFR5cGUiIHN1Yj0iMiIvPg0KK2FyZSBncm91cGFibGU8L3BhcmE+PC9saXN0aXRlbT4NCis8L3Zhcmxpc3RlbnRyeT4NCisNCis8L3ZhcmlhYmxlbGlzdD4NCisNCis8cGFyYT5UaGUgZW1wdHkgY29udGVudC10eXBlIGlzIGdyb3VwYWJsZSB3aXRoIGFueXRoaW5nLiAgSW4gYWRkaXRpb24sDQordGhlIGNvbXBsZXggY29udGVudC10eXBlIGlzIGdyb3VwYWJsZSB3aXRoIHRoZSBjb21wbGV4IGNvbnRlbnQtdHlwZS4gVGhlDQorZm9sbG93aW5nIHJ1bGVzIGZvcm1hbGl6ZSB0aGlzLjwvcGFyYT4NCisNCis8cDpwcm9vZlN5c3RlbT4NCis8cDpydWxlIG5hbWU9Imdyb3VwIGVtcHR5IDEiPg0KKyAgPHA6anVkZ2VtZW50IG5hbWU9Imdyb3VwYWJsZSI+DQorICAgIDxwOmZ1bmN0aW9uIG5hbWU9ImVtcHR5Ii8+DQorICAgIDxwOnZhciByYW5nZT0iY29udGVudFR5cGUiLz4NCisgIDwvcDpqdWRnZW1lbnQ+DQorPC9wOnJ1bGU+DQorPHA6cnVsZSBuYW1lPSJncm91cCBlbXB0eSAyIj4NCisgIDxwOmp1ZGdlbWVudCBuYW1lPSJncm91cGFibGUiPg0KKyAgICA8cDp2YXIgcmFuZ2U9ImNvbnRlbnRUeXBlIi8+DQorICAgIDxwOmZ1bmN0aW9uIG5hbWU9ImVtcHR5Ii8+DQorICA8L3A6anVkZ2VtZW50Pg0KKzwvcDpydWxlPg0KKzxwOnJ1bGUgbmFtZT0iZ3JvdXAgY29tcGxleCI+DQorICA8cDpqdWRnZW1lbnQgbmFtZT0iZ3JvdXBhYmxlIj4NCisgICAgPHA6ZnVuY3Rpb24gbmFtZT0iY29tcGxleCIvPg0KKyAgICA8cDpmdW5jdGlvbiBuYW1lPSJjb21wbGV4Ii8+DQorICA8L3A6anVkZ2VtZW50Pg0KKzwvcDpydWxlPg0KKzwvcDpwcm9vZlN5c3RlbT4NCisNCis8cGFyYT5Tb21lIHBhdHRlcm5zIGhhdmUgYSBjb250ZW50LXR5cGUuIFdlIHVzZSB0aGUgZm9sbG93aW5nDQorYWRkaXRpb25hbCBub3RhdGlvbi48L3BhcmE+DQorDQorPHZhcmlhYmxlbGlzdD4NCisNCis8dmFybGlzdGVudHJ5Pjx0ZXJtPg0KKyAgPHA6anVkZ2VtZW50IG5hbWU9ImNvbnRlbnRUeXBlIj4NCisgICAgPHA6dmFyIHJhbmdlPSJwYXR0ZXJuIi8+DQorICAgIDxwOnZhciByYW5nZT0iY29udGVudFR5cGUiLz4NCisgIDwvcDpqdWRnZW1lbnQ+DQorPC90ZXJtPg0KKzxsaXN0aXRlbT48cGFyYT5hc3NlcnRzIHRoYXQgcGF0dGVybiA8cDp2YXIgcmFuZ2U9InBhdHRlcm4iLz4gaGFzDQorY29udGVudC10eXBlIDxwOnZhciByYW5nZT0iY29udGVudFR5cGUiLz48L3BhcmE+PC9saXN0aXRlbT4NCis8L3Zhcmxpc3RlbnRyeT4NCisNCis8dmFybGlzdGVudHJ5Pjx0ZXJtPg0KKyAgPHA6ZnVuY3Rpb24gbmFtZT0ibWF4Ij4NCisgICAgPHA6dmFyIHJhbmdlPSJjb250ZW50VHlwZSIgc3ViPSIxIi8+DQorICAgIDxwOnZhciByYW5nZT0iY29udGVudFR5cGUiIHN1Yj0iMiIvPg0KKyAgPC9wOmZ1bmN0aW9uPg0KKzwvdGVybT4NCis8bGlzdGl0ZW0+PHBhcmE+cmV0dXJucyB0aGUgbWF4aW11bSBvZiA8cDp2YXIgcmFuZ2U9ImNvbnRlbnRUeXBlIg0KK3N1Yj0iMSIvPiBhbmQgPHA6dmFyIHJhbmdlPSJjb250ZW50VHlwZSIgc3ViPSIyIi8+IHdoZXJlIHRoZQ0KK2NvbnRlbnQtdHlwZXMgaW4gaW5jcmVhc2luZyBvcmRlciBhcmUgPHA6ZnVuY3Rpb24gbmFtZT0iZW1wdHkiLz4sDQorPHA6ZnVuY3Rpb24gbmFtZT0iY29tcGxleCIvPiwgPHA6ZnVuY3Rpb24NCituYW1lPSJzaW1wbGUiLz48L3BhcmE+PC9saXN0aXRlbT4NCis8L3Zhcmxpc3RlbnRyeT4NCisNCis8L3ZhcmlhYmxlbGlzdD4NCisNCis8cGFyYT5UaGUgZm9sbG93aW5nIHJ1bGVzIGRlZmluZSB3aGVuIGEgcGF0dGVybiBoYXMgYSBjb250ZW50LXR5cGUgYW5kLA0KK2lmIHNvLCB3aGF0IGl0IGlzLjwvcGFyYT4NCisNCis8cDpwcm9vZlN5c3RlbT4NCis8cDpydWxlIG5hbWU9InZhbHVlIj4NCisgIDxwOmp1ZGdlbWVudCBuYW1lPSJjb250ZW50VHlwZSI+DQorICAgIDxwOmVsZW1lbnQgbmFtZT0idmFsdWUiPg0KKyAgICAgIDxwOmF0dHJpYnV0ZSBuYW1lPSJkYXRhdHlwZUxpYnJhcnkiPg0KKwk8cDp2YXIgcmFuZ2U9InVyaSIgc3ViPSIxIi8+DQorICAgICAgPC9wOmF0dHJpYnV0ZT4NCisgICAgICA8cDphdHRyaWJ1dGUgbmFtZT0idHlwZSI+DQorCTxwOnZhciByYW5nZT0ibmNuYW1lIi8+DQorICAgICAgPC9wOmF0dHJpYnV0ZT4NCisgICAgICA8cDphdHRyaWJ1dGUgbmFtZT0ibnMiPg0KKwk8cDp2YXIgcmFuZ2U9InVyaSIgc3ViPSIyIi8+DQorICAgICAgPC9wOmF0dHJpYnV0ZT4NCisgICAgICA8cDp2YXIgcmFuZ2U9InN0cmluZyIvPg0KKyAgICA8L3A6ZWxlbWVudD4NCisgICAgPHA6ZnVuY3Rpb24gbmFtZT0ic2ltcGxlIi8+DQorICA8L3A6anVkZ2VtZW50Pg0KKzwvcDpydWxlPg0KKw0KKzxwOnJ1bGUgbmFtZT0iZGF0YSAxIj4NCisgIDxwOmp1ZGdlbWVudCBuYW1lPSJjb250ZW50VHlwZSI+DQorICAgIDxwOmVsZW1lbnQgbmFtZT0iZGF0YSI+DQorICAgICAgPHA6YXR0cmlidXRlIG5hbWU9ImRhdGF0eXBlTGlicmFyeSI+DQorCTxwOnZhciByYW5nZT0idXJpIi8+DQorICAgICAgPC9wOmF0dHJpYnV0ZT4NCisgICAgICA8cDphdHRyaWJ1dGUgbmFtZT0idHlwZSI+DQorCTxwOnZhciByYW5nZT0ibmNuYW1lIi8+DQorICAgICAgPC9wOmF0dHJpYnV0ZT4NCisgICAgICA8cDp2YXIgcmFuZ2U9InBhcmFtcyIvPg0KKyAgICA8L3A6ZWxlbWVudD4NCisgICAgPHA6ZnVuY3Rpb24gbmFtZT0ic2ltcGxlIi8+DQorICA8L3A6anVkZ2VtZW50Pg0KKzwvcDpydWxlPg0KKw0KKzxwOnJ1bGUgbmFtZT0iZGF0YSAyIj4NCisgIDxwOmp1ZGdlbWVudCBuYW1lPSJjb250ZW50VHlwZSI+DQorICAgIDxwOnZhciByYW5nZT0icGF0dGVybiIvPg0KKyAgICA8cDp2YXIgcmFuZ2U9ImNvbnRlbnRUeXBlIi8+DQorICA8L3A6anVkZ2VtZW50Pg0KKyAgPHA6anVkZ2VtZW50IG5hbWU9ImNvbnRlbnRUeXBlIj4NCisgICAgPHA6ZWxlbWVudCBuYW1lPSJkYXRhIj4NCisgICAgICA8cDphdHRyaWJ1dGUgbmFtZT0iZGF0YXR5cGVMaWJyYXJ5Ij4NCisJPHA6dmFyIHJhbmdlPSJ1cmkiLz4NCisgICAgICA8L3A6YXR0cmlidXRlPg0KKyAgICAgIDxwOmF0dHJpYnV0ZSBuYW1lPSJ0eXBlIj4NCisJPHA6dmFyIHJhbmdlPSJuY25hbWUiLz4NCisgICAgICA8L3A6YXR0cmlidXRlPg0KKyAgICAgIDxwOnZhciByYW5nZT0icGFyYW1zIi8+DQorICAgICAgPHA6ZWxlbWVudCBuYW1lPSJleGNlcHQiPg0KKyAgICAgICAgPHA6dmFyIHJhbmdlPSJwYXR0ZXJuIi8+DQorICAgICAgPC9wOmVsZW1lbnQ+DQorICAgIDwvcDplbGVtZW50Pg0KKyAgICA8cDpmdW5jdGlvbiBuYW1lPSJzaW1wbGUiLz4NCisgIDwvcDpqdWRnZW1lbnQ+DQorPC9wOnJ1bGU+DQorDQorPHA6cnVsZSBuYW1lPSJsaXN0Ij4NCisgIDxwOmp1ZGdlbWVudCBuYW1lPSJjb250ZW50VHlwZSI+DQorICAgIDxwOmVsZW1lbnQgbmFtZT0ibGlzdCI+DQorICAgICAgPHA6dmFyIHJhbmdlPSJwYXR0ZXJuIi8+DQorICAgIDwvcDplbGVtZW50Pg0KKyAgICA8cDpmdW5jdGlvbiBuYW1lPSJzaW1wbGUiLz4NCisgIDwvcDpqdWRnZW1lbnQ+DQorPC9wOnJ1bGU+DQorDQorPHA6cnVsZSBuYW1lPSJ0ZXh0Ij4NCisgIDxwOmp1ZGdlbWVudCBuYW1lPSJjb250ZW50VHlwZSI+DQorICAgIDxwOmVsZW1lbnQgbmFtZT0idGV4dCIvPg0KKyAgICA8cDpmdW5jdGlvbiBuYW1lPSJjb21wbGV4Ii8+DQorICA8L3A6anVkZ2VtZW50Pg0KKzwvcDpydWxlPg0KKw0KKzxwOnJ1bGUgbmFtZT0icmVmIj4NCisgIDxwOmp1ZGdlbWVudCBuYW1lPSJjb250ZW50VHlwZSI+DQorICAgIDxwOmVsZW1lbnQgbmFtZT0icmVmIj4NCisgICAgICA8cDphdHRyaWJ1dGUgbmFtZT0ibmFtZSI+DQorCTxwOnZhciByYW5nZT0ibmNuYW1lIi8+DQorICAgICAgPC9wOmF0dHJpYnV0ZT4NCisgICAgPC9wOmVsZW1lbnQ+DQorICAgIDxwOmZ1bmN0aW9uIG5hbWU9ImNvbXBsZXgiLz4NCisgIDwvcDpqdWRnZW1lbnQ+DQorPC9wOnJ1bGU+DQorDQorPHA6cnVsZSBuYW1lPSJlbXB0eSI+DQorICA8cDpqdWRnZW1lbnQgbmFtZT0iY29udGVudFR5cGUiPg0KKyAgICA8cDplbGVtZW50IG5hbWU9ImVtcHR5Ii8+DQorICAgIDxwOmZ1bmN0aW9uIG5hbWU9ImVtcHR5Ii8+DQorICA8L3A6anVkZ2VtZW50Pg0KKzwvcDpydWxlPg0KKw0KKzxwOnJ1bGUgbmFtZT0iYXR0cmlidXRlIj4NCisgIDxwOmp1ZGdlbWVudCBuYW1lPSJjb250ZW50VHlwZSI+DQorICAgIDxwOnZhciByYW5nZT0icGF0dGVybiIvPg0KKyAgICA8cDp2YXIgcmFuZ2U9ImNvbnRlbnRUeXBlIi8+DQorICA8L3A6anVkZ2VtZW50Pg0KKyAgPHA6anVkZ2VtZW50IG5hbWU9ImNvbnRlbnRUeXBlIj4NCisgICAgPHA6ZWxlbWVudCBuYW1lPSJhdHRyaWJ1dGUiPg0KKyAgICAgIDxwOnZhciByYW5nZT0ibmFtZUNsYXNzIi8+DQorICAgICAgPHA6dmFyIHJhbmdlPSJwYXR0ZXJuIi8+DQorICAgIDwvcDplbGVtZW50Pg0KKyAgICA8cDpmdW5jdGlvbiBuYW1lPSJlbXB0eSIvPg0KKyAgPC9wOmp1ZGdlbWVudD4NCis8L3A6cnVsZT4NCisNCis8cDpydWxlIG5hbWU9Imdyb3VwIj4NCisgIDxwOmp1ZGdlbWVudCBuYW1lPSJjb250ZW50VHlwZSI+DQorICAgIDxwOnZhciByYW5nZT0icGF0dGVybiIgc3ViPSIxIi8+DQorICAgIDxwOnZhciByYW5nZT0iY29udGVudFR5cGUiIHN1Yj0iMSIvPg0KKyAgPC9wOmp1ZGdlbWVudD4NCisgIDxwOmp1ZGdlbWVudCBuYW1lPSJjb250ZW50VHlwZSI+DQorICAgIDxwOnZhciByYW5nZT0icGF0dGVybiIgc3ViPSIyIi8+DQorICAgIDxwOnZhciByYW5nZT0iY29udGVudFR5cGUiIHN1Yj0iMiIvPg0KKyAgPC9wOmp1ZGdlbWVudD4NCisgIDxwOmp1ZGdlbWVudCBuYW1lPSJncm91cGFibGUiPg0KKyAgICA8cDp2YXIgcmFuZ2U9ImNvbnRlbnRUeXBlIiBzdWI9IjEiLz4NCisgICAgPHA6dmFyIHJhbmdlPSJjb250ZW50VHlwZSIgc3ViPSIyIi8+DQorICA8L3A6anVkZ2VtZW50Pg0KKyAgPHA6anVkZ2VtZW50IG5hbWU9ImNvbnRlbnRUeXBlIj4NCisgICAgPHA6ZWxlbWVudCBuYW1lPSJncm91cCI+DQorICAgICAgPHA6dmFyIHJhbmdlPSJwYXR0ZXJuIiBzdWI9IjEiLz4NCisgICAgICA8cDp2YXIgcmFuZ2U9InBhdHRlcm4iIHN1Yj0iMiIvPg0KKyAgICA8L3A6ZWxlbWVudD4NCisgICAgPHA6ZnVuY3Rpb24gbmFtZT0ibWF4Ij4NCisgICAgICA8cDp2YXIgcmFuZ2U9ImNvbnRlbnRUeXBlIiBzdWI9IjEiLz4NCisgICAgICA8cDp2YXIgcmFuZ2U9ImNvbnRlbnRUeXBlIiBzdWI9IjIiLz4NCisgICAgPC9wOmZ1bmN0aW9uPg0KKyAgPC9wOmp1ZGdlbWVudD4NCis8L3A6cnVsZT4NCisNCis8cDpydWxlIG5hbWU9ImludGVybGVhdmUiPg0KKyAgPHA6anVkZ2VtZW50IG5hbWU9ImNvbnRlbnRUeXBlIj4NCisgICAgPHA6dmFyIHJhbmdlPSJwYXR0ZXJuIiBzdWI9IjEiLz4NCisgICAgPHA6dmFyIHJhbmdlPSJjb250ZW50VHlwZSIgc3ViPSIxIi8+DQorICA8L3A6anVkZ2VtZW50Pg0KKyAgPHA6anVkZ2VtZW50IG5hbWU9ImNvbnRlbnRUeXBlIj4NCisgICAgPHA6dmFyIHJhbmdlPSJwYXR0ZXJuIiBzdWI9IjIiLz4NCisgICAgPHA6dmFyIHJhbmdlPSJjb250ZW50VHlwZSIgc3ViPSIyIi8+DQorICA8L3A6anVkZ2VtZW50Pg0KKyAgPHA6anVkZ2VtZW50IG5hbWU9Imdyb3VwYWJsZSI+DQorICAgIDxwOnZhciByYW5nZT0iY29udGVudFR5cGUiIHN1Yj0iMSIvPg0KKyAgICA8cDp2YXIgcmFuZ2U9ImNvbnRlbnRUeXBlIiBzdWI9IjIiLz4NCisgIDwvcDpqdWRnZW1lbnQ+DQorICA8cDpqdWRnZW1lbnQgbmFtZT0iY29udGVudFR5cGUiPg0KKyAgICA8cDplbGVtZW50IG5hbWU9ImludGVybGVhdmUiPg0KKyAgICAgIDxwOnZhciByYW5nZT0icGF0dGVybiIgc3ViPSIxIi8+DQorICAgICAgPHA6dmFyIHJhbmdlPSJwYXR0ZXJuIiBzdWI9IjIiLz4NCisgICAgPC9wOmVsZW1lbnQ+DQorICAgIDxwOmZ1bmN0aW9uIG5hbWU9Im1heCI+DQorICAgICAgPHA6dmFyIHJhbmdlPSJjb250ZW50VHlwZSIgc3ViPSIxIi8+DQorICAgICAgPHA6dmFyIHJhbmdlPSJjb250ZW50VHlwZSIgc3ViPSIyIi8+DQorICAgIDwvcDpmdW5jdGlvbj4NCisgIDwvcDpqdWRnZW1lbnQ+DQorPC9wOnJ1bGU+DQorDQorPHA6cnVsZSBuYW1lPSJvbmVPck1vcmUiPg0KKyAgPHA6anVkZ2VtZW50IG5hbWU9ImNvbnRlbnRUeXBlIj4NCisgICAgPHA6dmFyIHJhbmdlPSJwYXR0ZXJuIi8+DQorICAgIDxwOnZhciByYW5nZT0iY29udGVudFR5cGUiLz4NCisgIDwvcDpqdWRnZW1lbnQ+DQorICA8cDpqdWRnZW1lbnQgbmFtZT0iZ3JvdXBhYmxlIj4NCisgICAgPHA6dmFyIHJhbmdlPSJjb250ZW50VHlwZSIvPg0KKyAgICA8cDp2YXIgcmFuZ2U9ImNvbnRlbnRUeXBlIi8+DQorICA8L3A6anVkZ2VtZW50Pg0KKyAgPHA6anVkZ2VtZW50IG5hbWU9ImNvbnRlbnRUeXBlIj4NCisgICAgPHA6ZWxlbWVudCBuYW1lPSJvbmVPck1vcmUiPg0KKyAgICAgIDxwOnZhciByYW5nZT0icGF0dGVybiIvPg0KKyAgICA8L3A6ZWxlbWVudD4NCisgICAgPHA6dmFyIHJhbmdlPSJjb250ZW50VHlwZSIvPg0KKyAgPC9wOmp1ZGdlbWVudD4NCis8L3A6cnVsZT4NCisNCis8cDpydWxlIG5hbWU9ImNob2ljZSI+DQorICA8cDpqdWRnZW1lbnQgbmFtZT0iY29udGVudFR5cGUiPg0KKyAgICA8cDp2YXIgcmFuZ2U9InBhdHRlcm4iIHN1Yj0iMSIvPg0KKyAgICA8cDp2YXIgcmFuZ2U9ImNvbnRlbnRUeXBlIiBzdWI9IjEiLz4NCisgIDwvcDpqdWRnZW1lbnQ+DQorICA8cDpqdWRnZW1lbnQgbmFtZT0iY29udGVudFR5cGUiPg0KKyAgICA8cDp2YXIgcmFuZ2U9InBhdHRlcm4iIHN1Yj0iMiIvPg0KKyAgICA8cDp2YXIgcmFuZ2U9ImNvbnRlbnRUeXBlIiBzdWI9IjIiLz4NCisgIDwvcDpqdWRnZW1lbnQ+DQorICA8cDpqdWRnZW1lbnQgbmFtZT0iY29udGVudFR5cGUiPg0KKyAgICA8cDplbGVtZW50IG5hbWU9ImNob2ljZSI+DQorICAgICAgPHA6dmFyIHJhbmdlPSJwYXR0ZXJuIiBzdWI9IjEiLz4NCisgICAgICA8cDp2YXIgcmFuZ2U9InBhdHRlcm4iIHN1Yj0iMiIvPg0KKyAgICA8L3A6ZWxlbWVudD4NCisgICAgPHA6ZnVuY3Rpb24gbmFtZT0ibWF4Ij4NCisgICAgICA8cDp2YXIgcmFuZ2U9ImNvbnRlbnRUeXBlIiBzdWI9IjEiLz4NCisgICAgICA8cDp2YXIgcmFuZ2U9ImNvbnRlbnRUeXBlIiBzdWI9IjIiLz4NCisgICAgPC9wOmZ1bmN0aW9uPg0KKyAgPC9wOmp1ZGdlbWVudD4NCis8L3A6cnVsZT4NCisNCis8L3A6cHJvb2ZTeXN0ZW0+DQorDQorPG5vdGU+PHBhcmE+VGhlIGFudGVjZWRlbnQgaW4gdGhlIChkYXRhIDIpIHJ1bGUgYWJvdmUgaXMgaW4gZmFjdA0KK3JlZHVuZGFudCBiZWNhdXNlIG9mIHRoZSBwcm9oaWJpdGVkIHBhdGhzIGluIDx4cmVmDQorbGlua2VuZD0iY29udGV4dC1kYXRhLWV4Y2VwdCIvPi48L3BhcmE+PC9ub3RlPg0KKw0KKzxwYXJhPk5vdyB3ZSBjYW4gZGVzY3JpYmUgdGhlIHJlc3RyaWN0aW9uLiBXZSB1c2UgdGhlIGZvbGxvd2luZw0KK25vdGF0aW9uLjwvcGFyYT4NCisNCis8dmFyaWFibGVsaXN0Pg0KKw0KKzx2YXJsaXN0ZW50cnk+PHRlcm0+DQorICA8cDpqdWRnZW1lbnQgbmFtZT0iaW5jb3JyZWN0U2NoZW1hIi8+DQorPC90ZXJtPg0KKzxsaXN0aXRlbT48cGFyYT5hc3NlcnRzIHRoYXQgdGhlIHNjaGVtYSBpcyBpbmNvcnJlY3Q8L3BhcmE+PC9saXN0aXRlbT4NCis8L3Zhcmxpc3RlbnRyeT4NCisNCis8L3ZhcmlhYmxlbGlzdD4NCisNCis8cGFyYT5BbGwgcGF0dGVybnMgb2NjdXJyaW5nIGFzIHRoZSBjb250ZW50IG9mIGFuIGVsZW1lbnQgcGF0dGVybiBtdXN0DQoraGF2ZSBhIGNvbnRlbnQtdHlwZS48L3BhcmE+DQorDQorPHA6cHJvb2ZTeXN0ZW0+DQorDQorPHA6cnVsZSBuYW1lPSJlbGVtZW50Ij4NCisgIDxwOmp1ZGdlbWVudCBuYW1lPSJiaW5kIj4NCisgICAgPHA6dmFyIHJhbmdlPSJuY25hbWUiLz4NCisgICAgPHA6dmFyIHJhbmdlPSJuYW1lQ2xhc3MiLz4NCisgICAgPHA6dmFyIHJhbmdlPSJwYXR0ZXJuIi8+DQorICA8L3A6anVkZ2VtZW50Pg0KKyAgPHA6bm90Pg0KKyAgICA8cDpqdWRnZW1lbnQgbmFtZT0iY29udGVudFR5cGUiPg0KKyAgICAgIDxwOnZhciByYW5nZT0icGF0dGVybiIvPg0KKyAgICAgIDxwOnZhciByYW5nZT0iY29udGVudFR5cGUiLz4NCisgICAgPC9wOmp1ZGdlbWVudD4NCisgIDwvcDpub3Q+DQorICA8cDpqdWRnZW1lbnQgbmFtZT0iaW5jb3JyZWN0U2NoZW1hIi8+DQorPC9wOnJ1bGU+DQorDQorPC9wOnByb29mU3lzdGVtPg0KKw0KKzwvc2VjdGlvbj4NCisNCis8c2VjdGlvbiBpZD0iYXR0cmlidXRlLXJlc3RyaWN0aW9ucyI+DQorPHRpdGxlPlJlc3RyaWN0aW9ucyBvbiBhdHRyaWJ1dGVzPC90aXRsZT4NCisNCis8cGFyYT5EdXBsaWNhdGUgYXR0cmlidXRlcyBhcmUgbm90IGFsbG93ZWQuICBNb3JlIHByZWNpc2VseSwgZm9yIGENCitwYXR0ZXJuIDxsaXRlcmFsPiZsdDtncm91cD4gPHJlcGxhY2VhYmxlPnAxPC9yZXBsYWNlYWJsZT4NCis8cmVwbGFjZWFibGU+cDI8L3JlcGxhY2VhYmxlPiAmbHQ7L2dyb3VwPjwvbGl0ZXJhbD4gb3INCis8bGl0ZXJhbD4mbHQ7aW50ZXJsZWF2ZT4gPHJlcGxhY2VhYmxlPnAxPC9yZXBsYWNlYWJsZT4NCis8cmVwbGFjZWFibGU+cDI8L3JlcGxhY2VhYmxlPiAmbHQ7L2ludGVybGVhdmU+PC9saXRlcmFsPiwgdGhlcmUgbXVzdA0KK25vdCBiZSBhIG5hbWUgdGhhdCBiZWxvbmdzIHRvIGJvdGggdGhlIG5hbWUgY2xhc3Mgb2YgYW4NCis8bGl0ZXJhbD5hdHRyaWJ1dGU8L2xpdGVyYWw+IHBhdHRlcm4gb2NjdXJyaW5nIGluDQorPHJlcGxhY2VhYmxlPnAxPC9yZXBsYWNlYWJsZT4gYW5kIHRoZSBuYW1lIGNsYXNzIG9mIGFuDQorPGxpdGVyYWw+YXR0cmlidXRlPC9saXRlcmFsPiBwYXR0ZXJuIG9jY3VycmluZyBpbg0KKzxyZXBsYWNlYWJsZT5wMjwvcmVwbGFjZWFibGU+LiBBIHBhdHRlcm4gPHJlcGxhY2VhYmxlPnAxPC9yZXBsYWNlYWJsZT4NCitpcyBkZWZpbmVkIHRvIDxmaXJzdHRlcm0+b2NjdXIgaW48L2ZpcnN0dGVybT4gYSBwYXR0ZXJuDQorPHJlcGxhY2VhYmxlPnAyPC9yZXBsYWNlYWJsZT4gaWY8L3BhcmE+DQorDQorPGl0ZW1pemVkbGlzdD4NCisNCis8bGlzdGl0ZW0+PHBhcmE+PHJlcGxhY2VhYmxlPnAxPC9yZXBsYWNlYWJsZT4gaXMNCis8cmVwbGFjZWFibGU+cDI8L3JlcGxhY2VhYmxlPiwgb3I8L3BhcmE+PC9saXN0aXRlbT4NCisNCis8bGlzdGl0ZW0+PHBhcmE+PHJlcGxhY2VhYmxlPnAyPC9yZXBsYWNlYWJsZT4gaXMgYQ0KKzxsaXRlcmFsPmNob2ljZTwvbGl0ZXJhbD4sIDxsaXRlcmFsPmludGVybGVhdmU8L2xpdGVyYWw+LA0KKzxsaXRlcmFsPmdyb3VwPC9saXRlcmFsPiBvciA8bGl0ZXJhbD5vbmVPck1vcmU8L2xpdGVyYWw+IGVsZW1lbnQgYW5kDQorPHJlcGxhY2VhYmxlPnAxPC9yZXBsYWNlYWJsZT4gb2NjdXJzIGluIG9uZSBvciBtb3JlIGNoaWxkcmVuIG9mDQorPHJlcGxhY2VhYmxlPnAyPC9yZXBsYWNlYWJsZT4uPC9wYXJhPjwvbGlzdGl0ZW0+DQorDQorPC9pdGVtaXplZGxpc3Q+DQorDQorPHBhcmE+QXR0cmlidXRlcyB1c2luZyBpbmZpbml0ZSBuYW1lIGNsYXNzZXMgbXVzdCBiZSByZXBlYXRlZC4gIE1vcmUNCitwcmVjaXNlbHksIGFuIDxsaXRlcmFsPmF0dHJpYnV0ZTwvbGl0ZXJhbD4gZWxlbWVudCB0aGF0IGhhcyBhbg0KKzxsaXRlcmFsPmFueU5hbWU8L2xpdGVyYWw+IG9yIDxsaXRlcmFsPm5zTmFtZTwvbGl0ZXJhbD4gZGVzY2VuZGFudA0KK2VsZW1lbnQgbXVzdCBoYXZlIGEgPGxpdGVyYWw+b25lT3JNb3JlPC9saXRlcmFsPiBhbmNlc3Rvcg0KK2VsZW1lbnQuPC9wYXJhPg0KKw0KKzxub3RlPjxwYXJhPlRoaXMgcmVzdHJpY3Rpb24gaXMgbmVjZXNzYXJ5IGZvciBjbG9zdXJlIHVuZGVyDQorbmVnYXRpb24uPC9wYXJhPjwvbm90ZT4NCisNCis8L3NlY3Rpb24+DQorDQorPHNlY3Rpb24gaWQ9ImludGVybGVhdmUtcmVzdHJpY3Rpb25zIj4NCis8dGl0bGU+UmVzdHJpY3Rpb25zIG9uIDxsaXRlcmFsPmludGVybGVhdmU8L2xpdGVyYWw+PC90aXRsZT4NCisNCis8cGFyYT5Gb3IgYSBwYXR0ZXJuIDxsaXRlcmFsPiZsdDtpbnRlcmxlYXZlPg0KKzxyZXBsYWNlYWJsZT5wMTwvcmVwbGFjZWFibGU+IDxyZXBsYWNlYWJsZT5wMjwvcmVwbGFjZWFibGU+DQorJmx0Oy9pbnRlcmxlYXZlPjwvbGl0ZXJhbD4sPC9wYXJhPg0KKw0KKzxpdGVtaXplZGxpc3Q+DQorDQorPGxpc3RpdGVtPjxwYXJhPnRoZXJlIG11c3Qgbm90IGJlIGEgbmFtZSB0aGF0IGJlbG9uZ3MgdG8gYm90aCB0aGUgbmFtZQ0KK2NsYXNzIG9mIGFuIDxsaXRlcmFsPmVsZW1lbnQ8L2xpdGVyYWw+IHBhdHRlcm4gcmVmZXJlbmNlZCBieSBhDQorPGxpdGVyYWw+cmVmPC9saXRlcmFsPiBwYXR0ZXJuIG9jY3VycmluZyBpbg0KKzxyZXBsYWNlYWJsZT5wMTwvcmVwbGFjZWFibGU+IGFuZCB0aGUgbmFtZSBjbGFzcyBvZiBhbg0KKzxsaXRlcmFsPmVsZW1lbnQ8L2xpdGVyYWw+IHBhdHRlcm4gcmVmZXJlbmNlZCBieSBhDQorPGxpdGVyYWw+cmVmPC9saXRlcmFsPiBwYXR0ZXJuIG9jY3VycmluZyBpbg0KKzxyZXBsYWNlYWJsZT5wMjwvcmVwbGFjZWFibGU+LCBhbmQ8L3BhcmE+PC9saXN0aXRlbT4NCisNCis8bGlzdGl0ZW0+PHBhcmE+YSA8bGl0ZXJhbD50ZXh0PC9saXRlcmFsPiBwYXR0ZXJuIG11c3Qgbm90IG9jY3VyIGluDQorYm90aCA8cmVwbGFjZWFibGU+cDE8L3JlcGxhY2VhYmxlPiBhbmQNCis8cmVwbGFjZWFibGU+cDI8L3JlcGxhY2VhYmxlPi48L3BhcmE+PC9saXN0aXRlbT4NCisNCis8L2l0ZW1pemVkbGlzdD4NCisNCis8cGFyYT48eHJlZiBsaW5rZW5kPSJhdHRyaWJ1dGUtcmVzdHJpY3Rpb25zIi8+IGRlZmluZXMgd2hlbiBvbmUNCitwYXR0ZXJuIGlzIGNvbnNpZGVyZWQgdG8gb2NjdXIgaW4gYW5vdGhlciBwYXR0ZXJuLjwvcGFyYT4NCisNCis8L3NlY3Rpb24+DQorDQorPC9zZWN0aW9uPg0KKw0KKzxzZWN0aW9uIGlkPSJjb25mb3JtYW5jZSI+DQorPHRpdGxlPkNvbmZvcm1hbmNlPC90aXRsZT4NCisNCis8cGFyYT5BIGNvbmZvcm1pbmcgUkVMQVggTkcgdmFsaWRhdG9yIG11c3QgYmUgYWJsZSB0byBkZXRlcm1pbmUgZm9yDQorYW55IFhNTCBkb2N1bWVudCB3aGV0aGVyIGl0IGlzIGEgY29ycmVjdCBSRUxBWCBORyBzY2hlbWEuICBBDQorY29uZm9ybWluZyBSRUxBWCBORyB2YWxpZGF0b3IgbXVzdCBiZSBhYmxlIHRvIGRldGVybWluZSBmb3IgYW55IFhNTA0KK2RvY3VtZW50IGFuZCBmb3IgYW55IGNvcnJlY3QgUkVMQVggTkcgc2NoZW1hIHdoZXRoZXIgdGhlIGRvY3VtZW50IGlzDQordmFsaWQgd2l0aCByZXNwZWN0IHRvIHRoZSBzY2hlbWEuPC9wYXJhPg0KKw0KKzxwYXJhPkhvd2V2ZXIsIHRoZSByZXF1aXJlbWVudHMgaW4gdGhlIHByZWNlZGluZyBwYXJhZ3JhcGggZG8gbm90DQorYXBwbHkgaWYgdGhlIHNjaGVtYSB1c2VzIGEgZGF0YXR5cGUgbGlicmFyeSB0aGF0IHRoZSB2YWxpZGF0b3IgZG9lcw0KK25vdCBzdXBwb3J0LiAgQSBjb25mb3JtaW5nIFJFTEFYIE5HIHZhbGlkYXRvciBpcyBvbmx5IHJlcXVpcmVkIHRvDQorc3VwcG9ydCB0aGUgYnVpbHQtaW4gZGF0YXR5cGUgbGlicmFyeSBkZXNjcmliZWQgaW4gPHhyZWYNCitsaW5rZW5kPSJidWlsdC1pbi1kYXRhdHlwZSIvPi4gIEEgdmFsaWRhdG9yIHRoYXQgY2xhaW1zIGNvbmZvcm1hbmNlIHRvDQorUkVMQVggTkcgc2hvdWxkIGRvY3VtZW50IHdoaWNoIGRhdGF0eXBlIGxpYnJhcmllcyBpdCBzdXBwb3J0cy4gIFRoZQ0KK3JlcXVpcmVtZW50cyBpbiB0aGUgcHJlY2VkaW5nIHBhcmFncmFwaCBhbHNvIGRvIG5vdCBhcHBseSBpZiB0aGUNCitzY2hlbWEgaW5jbHVkZXMgPGxpdGVyYWw+ZXh0ZXJuYWxSZWY8L2xpdGVyYWw+IG9yDQorPGxpdGVyYWw+aW5jbHVkZTwvbGl0ZXJhbD4gZWxlbWVudHMgYW5kIHRoZSB2YWxpZGF0b3IgaXMgdW5hYmxlIHRvDQorcmV0cmlldmUgdGhlIHJlc291cmNlIGlkZW50aWZpZWQgYnkgdGhlIFVSSSBvciBpcyB1bmFibGUgdG8gY29uc3RydWN0DQorYW4gZWxlbWVudCBmcm9tIHRoZSByZXRyaWV2ZWQgcmVzb3VyY2UuICBBIHZhbGlkYXRvciB0aGF0IGNsYWltcw0KK2NvbmZvcm1hbmNlIHRvIFJFTEFYIE5HIHNob3VsZCBkb2N1bWVudCBpdHMgY2FwYWJpbGl0aWVzIGZvciBoYW5kbGluZw0KK1VSSSByZWZlcmVuY2VzLjwvcGFyYT4NCisNCis8L3NlY3Rpb24+DQorDQorPGFwcGVuZGl4Pg0KKzx0aXRsZT5SRUxBWCBORyBzY2hlbWEgZm9yIFJFTEFYIE5HPC90aXRsZT4NCisNCis8cm5ncmVmIHNyYz0icmVsYXhuZy5ybmciLz4NCisNCis8L2FwcGVuZGl4Pg0KKw0KKzxhcHBlbmRpeD4NCis8dGl0bGU+Q2hhbmdlcyBzaW5jZSB2ZXJzaW9uIDAuOTwvdGl0bGU+DQorDQorPHBhcmE+VGhlIGNoYW5nZXMgaW4gdGhpcyB2ZXJzaW9uIHJlbGF0aXZlIHRvIHZlcnNpb24gMC45DQorYXJlIGFzIGZvbGxvd3M6PC9wYXJhPg0KKw0KKzxpdGVtaXplZGxpc3Q+DQorDQorPGxpc3RpdGVtPjxwYXJhPmluIHRoZSBuYW1lc3BhY2UgVVJJLCA8bGl0ZXJhbD4wLjk8L2xpdGVyYWw+IGhhcyBiZWVuDQorY2hhbmdlZCB0byA8bGl0ZXJhbD4xLjA8L2xpdGVyYWw+PC9wYXJhPjwvbGlzdGl0ZW0+DQorDQorPGxpc3RpdGVtPjxwYXJhPjxsaXRlcmFsPmRhdGEvZXhjZXB0Ly9lbXB0eTwvbGl0ZXJhbD4gaGFzIGJlZW4gYWRkZWQNCithcyBhIHByb2hpYml0ZWQgcGF0aCAoc2VlIDx4cmVmDQorbGlua2VuZD0iY29udGV4dC1kYXRhLWV4Y2VwdCIvPik8L3BhcmE+PC9saXN0aXRlbT4NCisNCis8bGlzdGl0ZW0+PHBhcmE+PGxpdGVyYWw+c3RhcnQvL2VtcHR5PC9saXRlcmFsPiBoYXMgYmVlbiBhZGRlZA0KK2FzIGEgcHJvaGliaXRlZCBwYXRoIChzZWUgPHhyZWYNCitsaW5rZW5kPSJjb250ZXh0LXN0YXJ0Ii8+KTwvcGFyYT48L2xpc3RpdGVtPg0KKw0KKzxsaXN0aXRlbT48cGFyYT48eHJlZiBsaW5rZW5kPSJudW1iZXItY2hpbGQtZWxlbWVudHMiLz4gbm93IHNwZWNpZmllcyBob3cgYQ0KKzxsaXRlcmFsPmxpc3Q8L2xpdGVyYWw+IGVsZW1lbnQgd2l0aCBtb3JlIHRoYW4gb25lIGNoaWxkIGVsZW1lbnQgaXMNCit0cmFuc2Zvcm1lZDwvcGFyYT48L2xpc3RpdGVtPg0KKw0KKzxsaXN0aXRlbT48cGFyYT48eHJlZiBsaW5rZW5kPSJub3RBbGxvd2VkIi8+IG5vdyBzcGVjaWZpZXMgaG93IGENCis8bGl0ZXJhbD5ub3RBbGxvd2VkPC9saXRlcmFsPiBlbGVtZW50IG9jY3VycmluZyBpbiBhbg0KKzxsaXRlcmFsPmV4Y2VwdDwvbGl0ZXJhbD4gZWxlbWVudCBpcyB0cmFuc2Zvcm1lZDwvcGFyYT48L2xpc3RpdGVtPg0KKw0KKzxsaXN0aXRlbT48cGFyYT5hbHRob3VnaCBhIHJlbGF0aXZlIFVSSSBpcyBub3QgYWxsb3dlZCBhcyB0aGUgdmFsdWUgb2YNCit0aGUgPGxpdGVyYWw+bnM8L2xpdGVyYWw+IGFuZCA8bGl0ZXJhbD5kYXRhdHlwZUxpYnJhcnk8L2xpdGVyYWw+DQorYXR0cmlidXRlcywgYW4gZW1wdHkgc3RyaW5nIGlzIGFsbG93ZWQgKHNlZSA8eHJlZg0KK2xpbmtlbmQ9ImZ1bGwtc3ludGF4Ii8+KTwvcGFyYT48L2xpc3RpdGVtPg0KKw0KKzxsaXN0aXRlbT48cGFyYT50aGUgcmVtb3ZhbCBvZiB1bnJlYWNoYWJsZSBkZWZpbml0aW9ucyBpbiA8eHJlZg0KK2xpbmtlbmQ9ImRlZmluZS1yZWYiLz4gaXMgbm93IGNvcnJlY3RseSBzcGVjaWZpZWQ8L3BhcmE+PC9saXN0aXRlbT4NCisNCis8bGlzdGl0ZW0+PHBhcmE+PHhyZWYgbGlua2VuZD0ibm90QWxsb3dlZCIvPiBub3cgc3BlY2lmaWVzIHRoYXQNCis8bGl0ZXJhbD5kZWZpbmU8L2xpdGVyYWw+IGVsZW1lbnRzIHRoYXQgYXJlIG5vIGxvbmdlciByZWFjaGFibGUgYXJlDQorcmVtb3ZlZDwvcGFyYT48L2xpc3RpdGVtPg0KKw0KKzxsaXN0aXRlbT48cGFyYT48eHJlZiBsaW5rZW5kPSJjb25zdHJhaW50cyIvPiBoYXMgYmVlbiBhZGRlZDsgdGhlDQorcmVzdHJpY3Rpb25zIG9uIHRoZSBjb250ZW50cyBvZiA8bGl0ZXJhbD5leGNlcHQ8L2xpdGVyYWw+IGluIG5hbWUNCitjbGFzc2VzIHRoYXQgYXJlIG5vdyBzcGVjaWZpZWQgaW4gdGhlIG5ld2x5IGFkZGVkIHNlY3Rpb24gd2VyZQ0KK3ByZXZpb3VzbHkgc3BlY2lmaWVkIGluIGEgc3Vic2VjdGlvbiBvZiA8eHJlZg0KK2xpbmtlbmQ9ImNvbnRleHR1YWwtcmVzdHJpY3Rpb24iLz4sIHdoaWNoIGhhcyBiZWVuDQorcmVtb3ZlZDwvcGFyYT48L2xpc3RpdGVtPg0KKw0KKzxsaXN0aXRlbT48cGFyYT50aGUgdHJlYXRtZW50IG9mIGVsZW1lbnQgYW5kIGF0dHJpYnV0ZSB2YWx1ZXMgdGhhdA0KK2NvbnNpc3Qgb25seSBvZiB3aGl0ZXNwYWNlIGhhcyBiZWVuIHJlZmluZWQgKHNlZSA8eHJlZg0KK2xpbmtlbmQ9ImVsZW1lbnQtcGF0dGVybiIvPiBhbmQgPHhyZWYNCitsaW5rZW5kPSJkYXRhLXBhdHRlcm4iLz4pPC9wYXJhPjwvbGlzdGl0ZW0+DQorDQorPGxpc3RpdGVtPjxwYXJhPmF0dHJpYnV0ZXMgd2l0aCBpbmZpbml0ZSBuYW1lIGNsYXNzZXMgYXJlIG5vdyByZXF1aXJlZA0KK3RvIGJlIHJlcGVhdGVkIChzZWUgPHhyZWYNCitsaW5rZW5kPSJhdHRyaWJ1dGUtcmVzdHJpY3Rpb25zIi8+KTwvcGFyYT48L2xpc3RpdGVtPg0KKw0KKzxsaXN0aXRlbT48cGFyYT5yZXN0cmljdGlvbnMgaGF2ZSBiZWVuIGltcG9zZWQgb24NCis8bGl0ZXJhbD5pbnRlcmxlYXZlPC9saXRlcmFsPiAoc2VlIDx4cmVmDQorbGlua2VuZD0iaW50ZXJsZWF2ZS1yZXN0cmljdGlvbnMiLz4pOyA8bGl0ZXJhbD5saXN0Ly9pbnRlcmxlYXZlPC9saXRlcmFsPg0KK2hhcyBiZWVuIGFkZGVkIGFzIGEgcHJvaGliaXRlZCBwYXRoIChzZWUgPHhyZWYNCitsaW5rZW5kPSJsaXN0LXJlc3RyaWN0aW9ucyIvPik8L3BhcmE+PC9saXN0aXRlbT4NCisNCis8bGlzdGl0ZW0+PHBhcmE+c29tZSBvZiB0aGUgcHJvaGliaXRlZCBwYXRocyBpbiA8eHJlZg0KK2xpbmtlbmQ9ImNvbnRleHR1YWwtcmVzdHJpY3Rpb24iLz4gaGF2ZSBiZWVuIGNvcnJlY3RlZCB0byB1c2UNCis8bGl0ZXJhbD5yZWY8L2xpdGVyYWw+IHJhdGhlciB0aGFuDQorPGxpdGVyYWw+ZWxlbWVudDwvbGl0ZXJhbD48L3BhcmE+PC9saXN0aXRlbT4NCisNCis8bGlzdGl0ZW0+PHBhcmE+YW4gZXJyb3IgaW4gdGhlIGluZmVyZW5jZSBydWxlICh0ZXh0IDEpIGluIDx4cmVmDQorbGlua2VuZD0idGV4dC1wYXR0ZXJuIi8+IGhhcyBiZWVuIGNvcnJlY3RlZDwvcGFyYT48L2xpc3RpdGVtPg0KKw0KKzxsaXN0aXRlbT48cGFyYT50aGUgdmFsdWUgb2YgdGhlIDxsaXRlcmFsPm5zPC9saXRlcmFsPiBhdHRyaWJ1dGUgaXMNCitub3cgdW5jb25zdHJhaW5lZCAoc2VlIDx4cmVmDQorbGlua2VuZD0iZnVsbC1zeW50YXgiLz4pPC9wYXJhPjwvbGlzdGl0ZW0+DQorDQorPC9pdGVtaXplZGxpc3Q+DQorDQorPC9hcHBlbmRpeD4NCisNCis8YXBwZW5kaXg+DQorPHRpdGxlPlJFTEFYIE5HIFRDIChOb24tTm9ybWF0aXZlKTwvdGl0bGU+DQorDQorPHBhcmE+VGhpcyBzcGVjaWZpY2F0aW9uIHdhcyBwcmVwYXJlZCBhbmQgYXBwcm92ZWQgZm9yIHB1YmxpY2F0aW9uIGJ5DQordGhlIFJFTEFYIE5HIFRDLiBUaGUgY3VycmVudCBtZW1iZXJzIG9mIHRoZSBUQyBhcmU6PC9wYXJhPg0KKw0KKzxpdGVtaXplZGxpc3Q+DQorPGxpc3RpdGVtPjxwYXJhPkZhYmlvIEFyY2luaWVnYXM8L3BhcmE+PC9saXN0aXRlbT4NCis8bGlzdGl0ZW0+PHBhcmE+SmFtZXMgQ2xhcms8L3BhcmE+PC9saXN0aXRlbT4NCis8bGlzdGl0ZW0+PHBhcmE+TWlrZSBGaXR6Z2VyYWxkPC9wYXJhPjwvbGlzdGl0ZW0+DQorPGxpc3RpdGVtPjxwYXJhPktBV0FHVUNISSBLb2hzdWtlPC9wYXJhPjwvbGlzdGl0ZW0+DQorPGxpc3RpdGVtPjxwYXJhPkpvc2ggTHViZWxsPC9wYXJhPjwvbGlzdGl0ZW0+DQorPGxpc3RpdGVtPjxwYXJhPk1VUkFUQSBNYWtvdG88L3BhcmE+PC9saXN0aXRlbT4NCis8bGlzdGl0ZW0+PHBhcmE+Tm9ybWFuIFdhbHNoPC9wYXJhPjwvbGlzdGl0ZW0+DQorPGxpc3RpdGVtPjxwYXJhPkRhdmlkIFdlYmJlcjwvcGFyYT48L2xpc3RpdGVtPg0KKzwvaXRlbWl6ZWRsaXN0Pg0KKw0KKzwvYXBwZW5kaXg+DQorDQorPGJpYmxpb2dyYXBoeT48dGl0bGU+UmVmZXJlbmNlczwvdGl0bGU+DQorDQorPGJpYmxpb2Rpdj48dGl0bGU+Tm9ybWF0aXZlPC90aXRsZT4NCisNCis8YmlibGlvbWl4ZWQgaWQ9InhtbC1yZWMiPjxhYmJyZXY+WE1MIDEuMDwvYWJicmV2PlRpbSBCcmF5LA0KK0plYW4gUGFvbGksIGFuZA0KK0MuIE0uIFNwZXJiZXJnLU1jUXVlZW4sIEV2ZSBNYWxlciwgZWRpdG9ycy4NCis8Y2l0ZXRpdGxlPjx1bGluayB1cmw9Imh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy14bWwiPkV4dGVuc2libGUgTWFya3VwDQorTGFuZ3VhZ2UgKFhNTCkgMS4wIFNlY29uZCBFZGl0aW9uPC91bGluaz48L2NpdGV0aXRsZT4uDQorVzNDIChXb3JsZCBXaWRlIFdlYiBDb25zb3J0aXVtKSwgMjAwMC48L2JpYmxpb21peGVkPg0KKw0KKzxiaWJsaW9taXhlZCBpZD0ieG1sLW5hbWVzIj48YWJicmV2PlhNTCBOYW1lc3BhY2VzPC9hYmJyZXY+VGltIEJyYXksDQorRGF2ZSBIb2xsYW5kZXIsDQorYW5kIEFuZHJldyBMYXltYW4sIGVkaXRvcnMuDQorPGNpdGV0aXRsZT48dWxpbmsgdXJsPSJodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMteG1sLW5hbWVzLyI+TmFtZXNwYWNlcyBpbg0KK1hNTDwvdWxpbms+PC9jaXRldGl0bGU+Lg0KK1czQyAoV29ybGQgV2lkZSBXZWIgQ29uc29ydGl1bSksIDE5OTkuPC9iaWJsaW9taXhlZD4NCisNCis8YmlibGlvbWl4ZWQgaWQ9InhsaW5rIj48YWJicmV2PlhMaW5rPC9hYmJyZXY+U3RldmUgRGVSb3NlLCBFdmUgTWFsZXINCithbmQgRGF2aWQgT3JjaGFyZCwgZWRpdG9ycy4NCis8Y2l0ZXRpdGxlPjx1bGluayB1cmw9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hsaW5rLyI+WE1MIExpbmtpbmcNCitMYW5ndWFnZSAoWExpbmspIFZlcnNpb24gMS4wPC91bGluaz48L2NpdGV0aXRsZT4uDQorVzNDIChXb3JsZCBXaWRlIFdlYiBDb25zb3J0aXVtKSwgMjAwMS48L2JpYmxpb21peGVkPg0KKw0KKzxiaWJsaW9taXhlZCBpZD0iaW5mb3NldCI+PGFiYnJldj5YTUwgSW5mb3NldDwvYWJicmV2PkpvaG4gQ293YW4sIFJpY2hhcmQgVG9iaW4sDQorZWRpdG9ycy4NCis8Y2l0ZXRpdGxlPjx1bGluayB1cmw9Imh0dHA6Ly93d3cudzMub3JnL1RSL3htbC1pbmZvc2V0LyI+WE1MDQorSW5mb3JtYXRpb24gU2V0PC91bGluaz48L2NpdGV0aXRsZT4uDQorVzNDIChXb3JsZCBXaWRlIFdlYiBDb25zb3J0aXVtKSwgMjAwMS48L2JpYmxpb21peGVkPg0KKw0KKzxiaWJsaW9taXhlZCBpZD0icmZjMjM5NiI+PGFiYnJldj5SRkMgMjM5NjwvYWJicmV2PlQuIEJlcm5lcnMtTGVlLCBSLiBGaWVsZGluZywgTC4gTWFzaW50ZXIuDQorPGNpdGV0aXRsZT48dWxpbmsgdXJsPSJodHRwOi8vd3d3LmlldGYub3JnL3JmYy9yZmMyMzk2LnR4dCIgPlJGQyAyMzk2Og0KK1VuaWZvcm0gUmVzb3VyY2UgSWRlbnRpZmllcnMgKFVSSSk6IEdlbmVyaWMNCitTeW50YXg8L3VsaW5rPjwvY2l0ZXRpdGxlPi4NCitJRVRGIChJbnRlcm5ldCBFbmdpbmVlcmluZyBUYXNrIEZvcmNlKS4gMTk5OC48L2JpYmxpb21peGVkPg0KKw0KKzxiaWJsaW9taXhlZCBpZD0icmZjMjczMiI+PGFiYnJldj5SRkMgMjczMjwvYWJicmV2PlIuIEhpbmRlbiwgQi4gQ2FycGVudGVyLCBMLiBNYXNpbnRlci4NCis8Y2l0ZXRpdGxlPjx1bGluayB1cmw9Imh0dHA6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzI3MzIudHh0Ij5SRkMgMjczMjogRm9ybWF0IGZvciBMaXRlcmFsIElQdjYgQWRkcmVzc2VzIGluIFVSTCdzPC91bGluaz48L2NpdGV0aXRsZT4uDQorSUVURiAoSW50ZXJuZXQgRW5naW5lZXJpbmcgVGFzayBGb3JjZSksIDE5OTkuPC9iaWJsaW9taXhlZD4NCisNCis8YmlibGlvbWl4ZWQgaWQ9InJmYzMwMjMiPjxhYmJyZXY+UkZDIDMwMjM8L2FiYnJldj4gTS4gTXVyYXRhLA0KK1MuIFN0LkxhdXJlbnQsIEQuIEtvaG4uICA8Y2l0ZXRpdGxlPjx1bGluaw0KK3VybD0iaHR0cDovL3d3dy5pZXRmLm9yZy9yZmMvcmZjMzAyMy50eHQiPlJGQyAzMDIzOiBYTUwgTWVkaWENCitUeXBlczwvdWxpbms+PC9jaXRldGl0bGU+LiBJRVRGIChJbnRlcm5ldCBFbmdpbmVlcmluZyBUYXNrIEZvcmNlKSwNCisyMDAxLjwvYmlibGlvbWl4ZWQ+DQorDQorPC9iaWJsaW9kaXY+DQorDQorPGJpYmxpb2Rpdj48dGl0bGU+Tm9uLU5vcm1hdGl2ZTwvdGl0bGU+DQorDQorPGJpYmxpb21peGVkIGlkPSJ4bWxzY2hlbWEtMiI+PGFiYnJldj5XM0MgWE1MIFNjaGVtYSBEYXRhdHlwZXM8L2FiYnJldj5QYXVsIFYuIEJpcm9uLCBBc2hvayBNYWxob3RyYSwgZWRpdG9ycy4NCis8Y2l0ZXRpdGxlPjx1bGluayB1cmw9Imh0dHA6Ly93d3cudzMub3JnL1RSL3htbHNjaGVtYS0yLyI+WE1MIFNjaGVtYSBQYXJ0IDI6IERhdGF0eXBlczwvdWxpbms+PC9jaXRldGl0bGU+Lg0KK1czQyAoV29ybGQgV2lkZSBXZWIgQ29uc29ydGl1bSksIDIwMDEuPC9iaWJsaW9taXhlZD4NCisNCis8YmlibGlvbWl4ZWQgaWQ9InRyZXgiPjxhYmJyZXY+VFJFWDwvYWJicmV2PkphbWVzIENsYXJrLg0KKzxjaXRldGl0bGU+PHVsaW5rIHVybD0iaHR0cDovL3d3dy50aGFpb3BlbnNvdXJjZS5jb20vdHJleC8iPlRSRVggLSBUcmVlIFJlZ3VsYXIgRXhwcmVzc2lvbnMgZm9yIFhNTDwvdWxpbms+PC9jaXRldGl0bGU+Lg0KK1RoYWkgT3BlbiBTb3VyY2UgU29mdHdhcmUgQ2VudGVyLCAyMDAxLjwvYmlibGlvbWl4ZWQ+DQorDQorPGJpYmxpb21peGVkIGlkPSJyZWxheCI+PGFiYnJldj5SRUxBWDwvYWJicmV2Pk1VUkFUQSBNYWtvdG8uDQorPGNpdGV0aXRsZT48dWxpbmsgdXJsPSJodHRwOi8vd3d3LnhtbC5nci5qcC9yZWxheC8iPlJFTEFYIChSZWd1bGFyDQorTGFuZ3VhZ2UgZGVzY3JpcHRpb24gZm9yIFhNTCk8L3VsaW5rPjwvY2l0ZXRpdGxlPi4gIElOU1RBQw0KKyhJbmZvcm1hdGlvbiBUZWNobm9sb2d5IFJlc2VhcmNoIGFuZCBTdGFuZGFyZGl6YXRpb24gQ2VudGVyKSwgMjAwMS48L2JpYmxpb21peGVkPg0KKw0KKzxiaWJsaW9taXhlZCBpZD0ieHNmZCI+PGFiYnJldj5YTUwgU2NoZW1hIEZvcm1hbDwvYWJicmV2PkFsbGVuIEJyb3duLA0KK01hdHRoZXcgRnVjaHMsIEpvbmF0aGFuIFJvYmllLCBQaGlsaXAgV2FkbGVyLCBlZGl0b3JzLg0KKzxjaXRldGl0bGU+PHVsaW5rIHVybD0iaHR0cDovL3d3dy53My5vcmcvVFIveG1sc2NoZW1hLWZvcm1hbC8iPlhNTCBTY2hlbWE6IEZvcm1hbCBEZXNjcmlwdGlvbjwvdWxpbms+PC9jaXRldGl0bGU+Lg0KK1czQyAoV29ybGQgV2lkZSBXZWIgQ29uc29ydGl1bSksIDIwMDEuPC9iaWJsaW9taXhlZD4NCisNCis8YmlibGlvbWl4ZWQgaWQ9InR1dG9yaWFsIj48YWJicmV2PlR1dG9yaWFsPC9hYmJyZXY+SmFtZXMgQ2xhcmssDQorTWFrb3RvIE1VUkFUQSwgZWRpdG9ycy4gIDxjaXRldGl0bGU+PHVsaW5rDQordXJsPSJodHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL2NvbW1pdHRlZXMvcmVsYXgtbmcvdHV0b3JpYWwuaHRtbCI+UkVMQVgNCitORyBUdXRvcmlhbDwvdWxpbms+PC9jaXRldGl0bGU+LiAgT0FTSVMsIDIwMDEuPC9iaWJsaW9taXhlZD4NCisNCis8L2JpYmxpb2Rpdj4NCisNCis8L2JpYmxpb2dyYXBoeT4NCisNCis8L2FydGljbGU+DQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvdGFibGUucm5nIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdGFibGUucm5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMxNGU2MDMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90YWJsZS5ybmcKQEAgLTAsMCArMSwyMSBAQAorPGdyYW1tYXIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4KKworPGRlZmluZSBuYW1lPSJjZWxsLmNvbnRlbnQiPgorICA8bm90QWxsb3dlZC8+Cis8L2RlZmluZT4KKworPHN0YXJ0PgorICA8ZWxlbWVudCBuYW1lPSJ0YWJsZSI+CisgICAgPG9uZU9yTW9yZT4KKyAgICAgIDxlbGVtZW50IG5hbWU9InRyIj4KKyAgICAgICAgPG9uZU9yTW9yZT4KKwkgIDxlbGVtZW50IG5hbWU9InRkIj4KKwkgICAgPHJlZiBuYW1lPSJjZWxsLmNvbnRlbnQiLz4KKwkgIDwvZWxlbWVudD4KKyAgICAgICAgPC9vbmVPck1vcmU+CisgICAgICA8L2VsZW1lbnQ+CisgICAgPC9vbmVPck1vcmU+CisgIDwvZWxlbWVudD4KKzwvc3RhcnQ+CisKKzwvZ3JhbW1hcj4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL3Rlc3RzdWl0ZS54bWwgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90ZXN0c3VpdGUueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA5YThmMzgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90ZXN0c3VpdGUueG1sCkBAIC0wLDAgKzEsMTcwOCBAQAorPHRlc3RTdWl0ZT4NCis8YXV0aG9yPkRhbmllbCBWZWlsbGFyZDwvYXV0aG9yPg0KKzxlbWFpbD5kYW5pZWxAdmVpbGxhcmQuY29tPC9lbWFpbD4NCis8ZG9jdW1lbnRhdGlvbj5Gb3IgbGlieG1sMiBpbXBsZW1lbnRhdGlvbiBvZiBSZWxheCBORyBzcGVjLjwvZG9jdW1lbnRhdGlvbj4NCis8dGVzdFN1aXRlPg0KKzxkb2N1bWVudGF0aW9uPlRlc3Qgb2Ygbm9kZSBtYXRjaGVzPC9kb2N1bWVudGF0aW9uPg0KKzx0ZXN0Q2FzZT4NCis8Y29ycmVjdD4NCis8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPGFueU5hbWU+DQorICAgIDxleGNlcHQ+DQorICAgICAgPG5zTmFtZSBucz0iaHR0cDovL2V4YW1wbGUub3JnIi8+DQorICAgIDwvZXhjZXB0Pg0KKyAgPC9hbnlOYW1lPg0KKyAgPGVtcHR5Lz4NCis8L2VsZW1lbnQ+DQorPC9jb3JyZWN0Pg0KKzx2YWxpZD4NCis8Zm9vLz4NCis8L3ZhbGlkPg0KKzx2YWxpZD4NCis8Zm9vIHhtbG5zPSJodHRwOi8vZXhhbXBsZS5vcmcvIi8+DQorPC92YWxpZD4NCis8dmFsaWQ+DQorPGZvbyB4bWxucz0iaHR0cDovL0VYQU1QTEUuT1JHIi8+DQorPC92YWxpZD4NCis8aW52YWxpZD4NCis8Zm9vIHhtbG5zPSJodHRwOi8vZXhhbXBsZS5vcmciLz4NCis8L2ludmFsaWQ+DQorPGludmFsaWQ+DQorPGE6Zm9vIHhtbG5zOmE9Imh0dHA6Ly9leGFtcGxlLm9yZyIvPg0KKzwvaW52YWxpZD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8Y29ycmVjdD4NCis8ZWxlbWVudCBuYW1lPSJ0b3AiIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8aW50ZXJsZWF2ZT4NCisgICAgPGVsZW1lbnQgbmFtZT0iZm9vIiBucz0iaHR0cDovL2V4YW1wbGUub3JnIj4NCisgICAgICA8ZW1wdHkvPg0KKyAgICA8L2VsZW1lbnQ+DQorICAgIDxlbGVtZW50Pg0KKyAgICAgIDxhbnlOYW1lPg0KKwk8ZXhjZXB0Pg0KKwkgIDxuc05hbWUgbnM9Imh0dHA6Ly9leGFtcGxlLm9yZyIvPg0KKwk8L2V4Y2VwdD4NCisgICAgICA8L2FueU5hbWU+DQorICAgICAgPGVtcHR5Lz4NCisgICAgPC9lbGVtZW50Pg0KKyAgPC9pbnRlcmxlYXZlPg0KKzwvZWxlbWVudD4NCis8L2NvcnJlY3Q+DQorPGludmFsaWQ+DQorPHRvcD4NCis8Zm9vLz4NCis8YmFyLz4NCis8L3RvcD4NCis8L2ludmFsaWQ+DQorPGludmFsaWQ+DQorPHRvcD4NCis8Zm9vIHhtbG5zPSJodHRwOi8vZXhhbXBsZS5vcmciLz4NCis8YmFyIHhtbG5zPSJodHRwOi8vZXhhbXBsZS5vcmciLz4NCis8L3RvcD4NCis8L2ludmFsaWQ+DQorPHZhbGlkPg0KKzx0b3A+DQorPGZvbyB4bWxucz0iaHR0cDovL2V4YW1wbGUub3JnIi8+DQorPGJhci8+DQorPC90b3A+DQorPC92YWxpZD4NCis8dmFsaWQ+DQorPHRvcD4NCis8YmFyLz4NCis8Zm9vIHhtbG5zPSJodHRwOi8vZXhhbXBsZS5vcmciLz4NCis8L3RvcD4NCis8L3ZhbGlkPg0KKzx2YWxpZD4NCis8dG9wPg0KKzxmb28geG1sbnM9Imh0dHA6Ly9leGFtcGxlLm9yZyIvPg0KKzxiYXIgeG1sbnM9Imh0dHA6Ly9leGFtcGxlLm9yZy8iLz4NCis8L3RvcD4NCis8L3ZhbGlkPg0KKzx2YWxpZD4NCis8dG9wPg0KKzxiYXIgeG1sbnM9Imh0dHA6Ly9leGFtcGxlLm9yZy8iLz4NCis8Zm9vIHhtbG5zPSJodHRwOi8vZXhhbXBsZS5vcmciLz4NCis8L3RvcD4NCis8L3ZhbGlkPg0KKzwvdGVzdENhc2U+DQorPC90ZXN0U3VpdGU+DQorPHRlc3RTdWl0ZT4NCis8ZG9jdW1lbnRhdGlvbj5UZXN0IG9mIGluZGV0ZXJtaW5pc208L2RvY3VtZW50YXRpb24+DQorPHRlc3RDYXNlPg0KKzxjb3JyZWN0Pg0KKzxlbGVtZW50IG5hbWU9ImZvbyIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDx6ZXJvT3JNb3JlPg0KKyAgICA8ZWxlbWVudCBuYW1lPSJiYXIiPg0KKyAgICAgIDxlbXB0eS8+DQorICAgIDwvZWxlbWVudD4NCisgIDwvemVyb09yTW9yZT4NCisgIDxlbGVtZW50IG5hbWU9ImJheiI+DQorICAgIDxlbXB0eS8+DQorICA8L2VsZW1lbnQ+DQorPC9lbGVtZW50Pg0KKzwvY29ycmVjdD4NCis8aW52YWxpZD4NCis8Zm9vLz4NCis8L2ludmFsaWQ+DQorPHZhbGlkPg0KKzxmb28+DQorICA8YmF6Lz4NCis8L2Zvbz4NCis8L3ZhbGlkPg0KKzx2YWxpZD4NCis8Zm9vPg0KKyAgPGJhci8+DQorICA8YmF6Lz4NCis8L2Zvbz4NCis8L3ZhbGlkPg0KKzx2YWxpZD4NCis8Zm9vPg0KKyAgPGJhci8+DQorICA8YmFyLz4NCisgIDxiYXIvPg0KKyAgPGJhei8+DQorPC9mb28+DQorPC92YWxpZD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8Y29ycmVjdD4NCis8ZWxlbWVudCBuYW1lPSJmb28iIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8emVyb09yTW9yZT4NCisgICAgPGVsZW1lbnQgbmFtZT0iYmFyIj4NCisgICAgICA8ZW1wdHkvPg0KKyAgICA8L2VsZW1lbnQ+DQorICA8L3plcm9Pck1vcmU+DQorICA8ZWxlbWVudCBuYW1lPSJiYXIiPg0KKyAgICA8ZW1wdHkvPg0KKyAgPC9lbGVtZW50Pg0KKzwvZWxlbWVudD4NCis8L2NvcnJlY3Q+DQorPGludmFsaWQ+DQorPGZvby8+DQorPC9pbnZhbGlkPg0KKzx2YWxpZD4NCis8Zm9vPg0KKyAgPGJhci8+DQorPC9mb28+DQorPC92YWxpZD4NCis8dmFsaWQ+DQorPGZvbz4NCisgIDxiYXIvPg0KKyAgPGJhci8+DQorPC9mb28+DQorPC92YWxpZD4NCis8dmFsaWQ+DQorPGZvbz4NCisgIDxiYXIvPg0KKyAgPGJhci8+DQorICA8YmFyLz4NCisgIDxiYXIvPg0KKzwvZm9vPg0KKzwvdmFsaWQ+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPGNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0iZm9vIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPGdyb3VwPg0KKyAgICA8emVyb09yTW9yZT4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJiYXIiPg0KKyAgICAgICAgPGVtcHR5Lz4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgIDwvemVyb09yTW9yZT4NCisgICAgPGVsZW1lbnQgbmFtZT0iYmF6Ij4NCisgICAgICA8ZW1wdHkvPg0KKyAgICA8L2VsZW1lbnQ+DQorICA8L2dyb3VwPg0KKzwvZWxlbWVudD4NCis8L2NvcnJlY3Q+DQorPGludmFsaWQ+DQorPGZvby8+DQorPC9pbnZhbGlkPg0KKzx2YWxpZD4NCis8Zm9vPg0KKyAgPGJhei8+DQorPC9mb28+DQorPC92YWxpZD4NCis8dmFsaWQ+DQorPGZvbz4NCisgIDxiYXIvPg0KKyAgPGJhei8+DQorPC9mb28+DQorPC92YWxpZD4NCis8dmFsaWQ+DQorPGZvbz4NCisgIDxiYXIvPg0KKyAgPGJhci8+DQorICA8YmFyLz4NCisgIDxiYXovPg0KKzwvZm9vPg0KKzwvdmFsaWQ+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPGNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0iZm9vIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPGdyb3VwPg0KKyAgICA8emVyb09yTW9yZT4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJiYXIiPg0KKyAgICAgICAgPGVtcHR5Lz4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgIDwvemVyb09yTW9yZT4NCisgICAgPGVsZW1lbnQgbmFtZT0iYmFyIj4NCisgICAgICA8ZW1wdHkvPg0KKyAgICA8L2VsZW1lbnQ+DQorICA8L2dyb3VwPg0KKzwvZWxlbWVudD4NCis8L2NvcnJlY3Q+DQorPGludmFsaWQ+DQorPGZvby8+DQorPC9pbnZhbGlkPg0KKzx2YWxpZD4NCis8Zm9vPg0KKyAgPGJhci8+DQorPC9mb28+DQorPC92YWxpZD4NCis8dmFsaWQ+DQorPGZvbz4NCisgIDxiYXIvPg0KKyAgPGJhci8+DQorPC9mb28+DQorPC92YWxpZD4NCis8dmFsaWQ+DQorPGZvbz4NCisgIDxiYXIvPg0KKyAgPGJhci8+DQorICA8YmFyLz4NCisgIDxiYXIvPg0KKzwvZm9vPg0KKzwvdmFsaWQ+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPGNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0iZm9vIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPGNob2ljZT4NCisgICAgPHplcm9Pck1vcmU+DQorICAgICAgPGVsZW1lbnQgbmFtZT0iYmFyIj4NCisgICAgICAgIDxlbXB0eS8+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgICA8L3plcm9Pck1vcmU+DQorICAgIDxlbGVtZW50IG5hbWU9ImJheiI+DQorICAgICAgPGVtcHR5Lz4NCisgICAgPC9lbGVtZW50Pg0KKyAgPC9jaG9pY2U+DQorPC9lbGVtZW50Pg0KKzwvY29ycmVjdD4NCis8dmFsaWQ+DQorPGZvby8+DQorPC92YWxpZD4NCis8dmFsaWQ+DQorPGZvbz4NCisgIDxiYXovPg0KKzwvZm9vPg0KKzwvdmFsaWQ+DQorPHZhbGlkPg0KKzxmb28+DQorICA8YmFyLz4NCisgIDxiYXIvPg0KKyAgPGJhci8+DQorPC9mb28+DQorPC92YWxpZD4NCis8aW52YWxpZD4NCis8Zm9vPg0KKyAgPGJhci8+DQorICA8YmF6Lz4NCis8L2Zvbz4NCis8L2ludmFsaWQ+DQorPGludmFsaWQ+DQorPGZvbz4NCisgIDxiYXIvPg0KKyAgPGJhci8+DQorICA8YmFyLz4NCisgIDxiYXIvPg0KKyAgPGJhei8+DQorPC9mb28+DQorPC9pbnZhbGlkPg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxjb3JyZWN0Pg0KKzxlbGVtZW50IG5hbWU9ImZvbyIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxjaG9pY2U+DQorICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9ImJhciI+DQorICAgICAgICA8ZW1wdHkvPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICAgPC96ZXJvT3JNb3JlPg0KKyAgICA8ZWxlbWVudCBuYW1lPSJiYXoiPg0KKyAgICAgIDxlbXB0eS8+DQorICAgIDwvZWxlbWVudD4NCisgIDwvY2hvaWNlPg0KKyAgPGVsZW1lbnQgbmFtZT0iYmF6Ij4NCisgICAgPGVtcHR5Lz4NCisgIDwvZWxlbWVudD4NCis8L2VsZW1lbnQ+DQorPC9jb3JyZWN0Pg0KKzxpbnZhbGlkPg0KKzxmb28vPg0KKzwvaW52YWxpZD4NCis8dmFsaWQ+DQorPGZvbz4NCisgIDxiYXovPg0KKzwvZm9vPg0KKzwvdmFsaWQ+DQorPHZhbGlkPg0KKzxmb28+DQorICA8YmF6Lz4NCisgIDxiYXovPg0KKzwvZm9vPg0KKzwvdmFsaWQ+DQorPHZhbGlkPg0KKzxmb28+DQorICA8YmFyLz4NCisgIDxiYXIvPg0KKyAgPGJhci8+DQorICA8YmF6Lz4NCis8L2Zvbz4NCis8L3ZhbGlkPg0KKzxpbnZhbGlkPg0KKzxmb28+DQorICA8YmFyLz4NCisgIDxiYXovPg0KKyAgPGJhei8+DQorPC9mb28+DQorPC9pbnZhbGlkPg0KKzxpbnZhbGlkPg0KKzxmb28+DQorICA8YmF6Lz4NCisgIDxiYXIvPg0KKyAgPGJhei8+DQorPC9mb28+DQorPC9pbnZhbGlkPg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxjb3JyZWN0Pg0KKzxlbGVtZW50IG5hbWU9ImZvbyIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxjaG9pY2U+DQorICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9ImJhciI+DQorICAgICAgICA8ZW1wdHkvPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICAgPC96ZXJvT3JNb3JlPg0KKyAgICA8ZWxlbWVudCBuYW1lPSJiYXIiPg0KKyAgICAgIDxlbXB0eS8+DQorICAgIDwvZWxlbWVudD4NCisgIDwvY2hvaWNlPg0KKzwvZWxlbWVudD4NCis8L2NvcnJlY3Q+DQorPHZhbGlkPg0KKzxmb28vPg0KKzwvdmFsaWQ+DQorPHZhbGlkPg0KKzxmb28+DQorICA8YmFyLz4NCis8L2Zvbz4NCis8L3ZhbGlkPg0KKzx2YWxpZD4NCis8Zm9vPg0KKyAgPGJhci8+DQorICA8YmFyLz4NCis8L2Zvbz4NCis8L3ZhbGlkPg0KKzx2YWxpZD4NCis8Zm9vPg0KKyAgPGJhci8+DQorICA8YmFyLz4NCisgIDxiYXIvPg0KKyAgPGJhci8+DQorPC9mb28+DQorPC92YWxpZD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8Y29ycmVjdD4NCis8ZWxlbWVudCBuYW1lPSJmb28iIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8Y2hvaWNlPg0KKyAgICA8emVyb09yTW9yZT4NCisgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgPGVsZW1lbnQgbmFtZT0iYmFyIj4NCisgICAgICAgICAgPGVtcHR5Lz4NCisgICAgICAgIDwvZWxlbWVudD4NCisgICAgICAgIDxlbGVtZW50IG5hbWU9ImJheiI+DQorICAgICAgICAgIDxlbXB0eS8+DQorICAgICAgICA8L2VsZW1lbnQ+DQorICAgICAgPC9jaG9pY2U+DQorICAgIDwvemVyb09yTW9yZT4NCisgICAgPGVsZW1lbnQgbmFtZT0iYmFyIj4NCisgICAgICA8ZW1wdHkvPg0KKyAgICA8L2VsZW1lbnQ+DQorICA8L2Nob2ljZT4NCis8L2VsZW1lbnQ+DQorPC9jb3JyZWN0Pg0KKzx2YWxpZD4NCis8Zm9vLz4NCis8L3ZhbGlkPg0KKzx2YWxpZD4NCis8Zm9vPg0KKyAgPGJhci8+DQorPC9mb28+DQorPC92YWxpZD4NCis8dmFsaWQ+DQorPGZvbz4NCisgIDxiYXovPg0KKyAgPGJhci8+DQorPC9mb28+DQorPC92YWxpZD4NCis8dmFsaWQ+DQorPGZvbz4NCisgIDxiYXIvPg0KKyAgPGJhci8+DQorICA8YmFyLz4NCisgIDxiYXIvPg0KKzwvZm9vPg0KKzwvdmFsaWQ+DQorPHZhbGlkPg0KKzxmb28+DQorICA8YmF6Lz4NCisgIDxiYXovPg0KKyAgPGJhei8+DQorICA8YmF6Lz4NCis8L2Zvbz4NCis8L3ZhbGlkPg0KKzx2YWxpZD4NCis8Zm9vPg0KKyAgPGJhei8+DQorICA8YmFyLz4NCisgIDxiYXovPg0KKyAgPGJhci8+DQorPC9mb28+DQorPC92YWxpZD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8Y29ycmVjdD4NCis8ZWxlbWVudCBuYW1lPSJmb28iIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8b3B0aW9uYWw+DQorICAgIDxlbGVtZW50IG5hbWU9ImJhciI+DQorICAgICAgPGVtcHR5Lz4NCisgICAgPC9lbGVtZW50Pg0KKyAgPC9vcHRpb25hbD4NCisgIDxlbGVtZW50IG5hbWU9ImJheiI+DQorICAgIDxlbXB0eS8+DQorICA8L2VsZW1lbnQ+DQorPC9lbGVtZW50Pg0KKzwvY29ycmVjdD4NCis8aW52YWxpZD4NCis8Zm9vLz4NCis8L2ludmFsaWQ+DQorPHZhbGlkPg0KKzxmb28+DQorICA8YmF6Lz4NCis8L2Zvbz4NCis8L3ZhbGlkPg0KKzx2YWxpZD4NCis8Zm9vPg0KKyAgPGJhci8+DQorICA8YmF6Lz4NCis8L2Zvbz4NCis8L3ZhbGlkPg0KKzxpbnZhbGlkPg0KKzxmb28+DQorICA8YmFyLz4NCisgIDxiYXIvPg0KKyAgPGJhei8+DQorPC9mb28+DQorPC9pbnZhbGlkPg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxjb3JyZWN0Pg0KKzxlbGVtZW50IG5hbWU9ImZvbyIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxvcHRpb25hbD4NCisgICAgPGVsZW1lbnQgbmFtZT0iYmFyIj4NCisgICAgICA8ZW1wdHkvPg0KKyAgICA8L2VsZW1lbnQ+DQorICA8L29wdGlvbmFsPg0KKyAgPGVsZW1lbnQgbmFtZT0iYmFyIj4NCisgICAgPGVtcHR5Lz4NCisgIDwvZWxlbWVudD4NCis8L2VsZW1lbnQ+DQorPC9jb3JyZWN0Pg0KKzxpbnZhbGlkPg0KKzxmb28vPg0KKzwvaW52YWxpZD4NCis8dmFsaWQ+DQorPGZvbz4NCisgIDxiYXIvPg0KKzwvZm9vPg0KKzwvdmFsaWQ+DQorPHZhbGlkPg0KKzxmb28+DQorICA8YmFyLz4NCisgIDxiYXIvPg0KKzwvZm9vPg0KKzwvdmFsaWQ+DQorPGludmFsaWQ+DQorPGZvbz4NCisgIDxiYXIvPg0KKyAgPGJhci8+DQorICA8YmFyLz4NCis8L2Zvbz4NCis8L2ludmFsaWQ+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPGNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0iZm9vIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPG9wdGlvbmFsPg0KKyAgICA8b25lT3JNb3JlPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9ImJhciI+DQorICAgICAgICA8ZW1wdHkvPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICAgPC9vbmVPck1vcmU+DQorICA8L29wdGlvbmFsPg0KKyAgPGVsZW1lbnQgbmFtZT0iYmF6Ij4NCisgICAgPGVtcHR5Lz4NCisgIDwvZWxlbWVudD4NCis8L2VsZW1lbnQ+DQorPC9jb3JyZWN0Pg0KKzxpbnZhbGlkPg0KKzxmb28vPg0KKzwvaW52YWxpZD4NCis8dmFsaWQ+DQorPGZvbz4NCisgIDxiYXovPg0KKzwvZm9vPg0KKzwvdmFsaWQ+DQorPHZhbGlkPg0KKzxmb28+DQorICA8YmFyLz4NCisgIDxiYXovPg0KKzwvZm9vPg0KKzwvdmFsaWQ+DQorPHZhbGlkPg0KKzxmb28+DQorICA8YmFyLz4NCisgIDxiYXIvPg0KKyAgPGJhei8+DQorPC9mb28+DQorPC92YWxpZD4NCis8aW52YWxpZD4NCis8Zm9vPg0KKyAgPGJhci8+DQorICA8YmFyLz4NCis8L2Zvbz4NCis8L2ludmFsaWQ+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPGNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0iZm9vIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPG9wdGlvbmFsPg0KKyAgICA8b25lT3JNb3JlPg0KKyAgICAgIDxlbGVtZW50IG5hbWU9ImJhciI+DQorICAgICAgICA8ZW1wdHkvPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICAgPC9vbmVPck1vcmU+DQorICA8L29wdGlvbmFsPg0KKyAgPGVsZW1lbnQgbmFtZT0iYmFyIj4NCisgICAgPGVtcHR5Lz4NCisgIDwvZWxlbWVudD4NCis8L2VsZW1lbnQ+DQorPC9jb3JyZWN0Pg0KKzxpbnZhbGlkPg0KKzxmb28vPg0KKzwvaW52YWxpZD4NCis8dmFsaWQ+DQorPGZvbz4NCisgIDxiYXIvPg0KKzwvZm9vPg0KKzwvdmFsaWQ+DQorPHZhbGlkPg0KKzxmb28+DQorICA8YmFyLz4NCisgIDxiYXIvPg0KKzwvZm9vPg0KKzwvdmFsaWQ+DQorPHZhbGlkPg0KKzxmb28+DQorICA8YmFyLz4NCisgIDxiYXIvPg0KKyAgPGJhci8+DQorPC9mb28+DQorPC92YWxpZD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8Y29ycmVjdD4NCis8ZWxlbWVudCBuYW1lPSJmb28iIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8Z3JvdXA+DQorICAgIDx6ZXJvT3JNb3JlPg0KKyAgICAgIDxjaG9pY2U+DQorICAgICAgICA8ZWxlbWVudCBuYW1lPSJiYXIiPg0KKyAgICAgICAgICA8ZW1wdHkvPg0KKyAgICAgICAgPC9lbGVtZW50Pg0KKyAgICAgICAgPGVsZW1lbnQgbmFtZT0iYmF6Ij4NCisgICAgICAgICAgPGVtcHR5Lz4NCisgICAgICAgIDwvZWxlbWVudD4NCisgICAgICA8L2Nob2ljZT4NCisgICAgPC96ZXJvT3JNb3JlPg0KKyAgICA8ZWxlbWVudCBuYW1lPSJiYXIiPg0KKyAgICAgIDxlbXB0eS8+DQorICAgIDwvZWxlbWVudD4NCisgIDwvZ3JvdXA+DQorPC9lbGVtZW50Pg0KKzwvY29ycmVjdD4NCis8aW52YWxpZD4NCis8Zm9vLz4NCis8L2ludmFsaWQ+DQorPHZhbGlkPg0KKzxmb28+DQorICA8YmFyLz4NCis8L2Zvbz4NCis8L3ZhbGlkPg0KKzx2YWxpZD4NCis8Zm9vPg0KKyAgPGJhei8+DQorICA8YmFyLz4NCis8L2Zvbz4NCis8L3ZhbGlkPg0KKzx2YWxpZD4NCis8Zm9vPg0KKyAgPGJhci8+DQorICA8YmFyLz4NCisgIDxiYXIvPg0KKyAgPGJhci8+DQorPC9mb28+DQorPC92YWxpZD4NCis8dmFsaWQ+DQorPGZvbz4NCisgIDxiYXovPg0KKyAgPGJhei8+DQorICA8YmF6Lz4NCisgIDxiYXIvPg0KKzwvZm9vPg0KKzwvdmFsaWQ+DQorPHZhbGlkPg0KKzxmb28+DQorICA8YmF6Lz4NCisgIDxiYXIvPg0KKyAgPGJhei8+DQorICA8YmFyLz4NCis8L2Zvbz4NCis8L3ZhbGlkPg0KKzxpbnZhbGlkPg0KKzxmb28+DQorICA8YmFyLz4NCisgIDxiYXovPg0KKyAgPGJhci8+DQorICA8YmF6Lz4NCis8L2Zvbz4NCis8L2ludmFsaWQ+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPGNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0ibGlzdCIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxvbmVPck1vcmU+DQorICAgIDxlbGVtZW50IG5hbWU9ImxhYmVsIj4NCisgICAgICA8ZW1wdHkvPg0KKyAgICA8L2VsZW1lbnQ+DQorICAgIDxvcHRpb25hbD4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJvcHQiPg0KKyAgICAgICAgPGVtcHR5Lz4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgIDwvb3B0aW9uYWw+DQorICAgIDxlbGVtZW50IG5hbWU9Iml0ZW0iPg0KKyAgICAgIDxlbXB0eS8+DQorICAgIDwvZWxlbWVudD4NCisgIDwvb25lT3JNb3JlPg0KKzwvZWxlbWVudD4NCis8L2NvcnJlY3Q+DQorPGludmFsaWQ+DQorPGxpc3Q+DQorPC9saXN0Pg0KKzwvaW52YWxpZD4NCis8dmFsaWQ+DQorPGxpc3Q+DQorICA8bGFiZWwvPg0KKyAgPGl0ZW0vPg0KKzwvbGlzdD4NCis8L3ZhbGlkPg0KKzx2YWxpZD4NCis8bGlzdD4NCisgIDxsYWJlbC8+DQorICA8aXRlbS8+DQorICA8bGFiZWwvPg0KKyAgPGl0ZW0vPg0KKzwvbGlzdD4NCis8L3ZhbGlkPg0KKzx2YWxpZD4NCis8bGlzdD4NCisgIDxsYWJlbC8+DQorICA8b3B0Lz4NCisgIDxpdGVtLz4NCisgIDxsYWJlbC8+DQorICA8b3B0Lz4NCisgIDxpdGVtLz4NCis8L2xpc3Q+DQorPC92YWxpZD4NCis8aW52YWxpZD4NCis8bGlzdD4NCisgIDxsYWJlbC8+DQorICA8aXRlbS8+DQorICA8bGFiZWwvPg0KKyAgPG9wdC8+DQorICA8b3B0Lz4NCisgIDxpdGVtLz4NCis8L2xpc3Q+DQorPC9pbnZhbGlkPg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxjb3JyZWN0Pg0KKzxlbGVtZW50IG5hbWU9Imxpc3QiIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8b25lT3JNb3JlPg0KKyAgICA8ZWxlbWVudCBuYW1lPSJsYWJlbCI+DQorICAgICAgPGVtcHR5Lz4NCisgICAgPC9lbGVtZW50Pg0KKyAgICA8emVyb09yTW9yZT4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJvcHQiPg0KKyAgICAgICAgPGVtcHR5Lz4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgIDwvemVyb09yTW9yZT4NCisgICAgPGVsZW1lbnQgbmFtZT0iaXRlbSI+DQorICAgICAgPGVtcHR5Lz4NCisgICAgPC9lbGVtZW50Pg0KKyAgPC9vbmVPck1vcmU+DQorPC9lbGVtZW50Pg0KKzwvY29ycmVjdD4NCis8aW52YWxpZD4NCis8bGlzdD4NCis8L2xpc3Q+DQorPC9pbnZhbGlkPg0KKzx2YWxpZD4NCis8bGlzdD4NCisgIDxsYWJlbC8+DQorICA8aXRlbS8+DQorPC9saXN0Pg0KKzwvdmFsaWQ+DQorPHZhbGlkPg0KKzxsaXN0Pg0KKyAgPGxhYmVsLz4NCisgIDxpdGVtLz4NCisgIDxsYWJlbC8+DQorICA8aXRlbS8+DQorPC9saXN0Pg0KKzwvdmFsaWQ+DQorPHZhbGlkPg0KKzxsaXN0Pg0KKyAgPGxhYmVsLz4NCisgIDxvcHQvPg0KKyAgPGl0ZW0vPg0KKyAgPGxhYmVsLz4NCisgIDxvcHQvPg0KKyAgPGl0ZW0vPg0KKzwvbGlzdD4NCis8L3ZhbGlkPg0KKzx2YWxpZD4NCis8bGlzdD4NCisgIDxsYWJlbC8+DQorICA8aXRlbS8+DQorICA8bGFiZWwvPg0KKyAgPG9wdC8+DQorICA8b3B0Lz4NCisgIDxpdGVtLz4NCis8L2xpc3Q+DQorPC92YWxpZD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8Y29ycmVjdD4NCis8ZWxlbWVudCBuYW1lPSJsaXN0IiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPG9uZU9yTW9yZT4NCisgICAgPGVsZW1lbnQgbmFtZT0ibGFiZWwiPg0KKyAgICAgIDxlbXB0eS8+DQorICAgIDwvZWxlbWVudD4NCisgICAgPHplcm9Pck1vcmU+DQorICAgICAgPGVsZW1lbnQgbmFtZT0ib3B0Ij4NCisgICAgICAgIDxlbXB0eS8+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgICAgIDxlbGVtZW50IG5hbWU9Im9wdDIiPg0KKyAgICAgICAgPGVtcHR5Lz4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgIDwvemVyb09yTW9yZT4NCisgICAgPGVsZW1lbnQgbmFtZT0iaXRlbSI+DQorICAgICAgPGVtcHR5Lz4NCisgICAgPC9lbGVtZW50Pg0KKyAgPC9vbmVPck1vcmU+DQorPC9lbGVtZW50Pg0KKzwvY29ycmVjdD4NCis8aW52YWxpZD4NCis8bGlzdD4NCis8L2xpc3Q+DQorPC9pbnZhbGlkPg0KKzx2YWxpZD4NCis8bGlzdD4NCisgIDxsYWJlbC8+DQorICA8aXRlbS8+DQorPC9saXN0Pg0KKzwvdmFsaWQ+DQorPHZhbGlkPg0KKzxsaXN0Pg0KKyAgPGxhYmVsLz4NCisgIDxpdGVtLz4NCisgIDxsYWJlbC8+DQorICA8aXRlbS8+DQorPC9saXN0Pg0KKzwvdmFsaWQ+DQorPHZhbGlkPg0KKzxsaXN0Pg0KKyAgPGxhYmVsLz4NCisgIDxvcHQvPg0KKyAgPG9wdDIvPg0KKyAgPGl0ZW0vPg0KKyAgPGxhYmVsLz4NCisgIDxvcHQvPg0KKyAgPG9wdDIvPg0KKyAgPGl0ZW0vPg0KKzwvbGlzdD4NCis8L3ZhbGlkPg0KKzx2YWxpZD4NCis8bGlzdD4NCisgIDxsYWJlbC8+DQorICA8aXRlbS8+DQorICA8bGFiZWwvPg0KKyAgPG9wdC8+DQorICA8b3B0Mi8+DQorICA8b3B0Lz4NCisgIDxvcHQyLz4NCisgIDxpdGVtLz4NCis8L2xpc3Q+DQorPC92YWxpZD4NCis8aW52YWxpZD4NCis8bGlzdD4NCisgIDxsYWJlbC8+DQorICA8b3B0Lz4NCisgIDxpdGVtLz4NCisgIDxsYWJlbC8+DQorICA8aXRlbS8+DQorPC9saXN0Pg0KKzwvaW52YWxpZD4NCis8aW52YWxpZD4NCis8bGlzdD4NCisgIDxsYWJlbC8+DQorICA8aXRlbS8+DQorICA8bGFiZWwvPg0KKyAgPG9wdDIvPg0KKyAgPG9wdC8+DQorICA8aXRlbS8+DQorPC9saXN0Pg0KKzwvaW52YWxpZD4NCis8aW52YWxpZD4NCis8bGlzdD4NCisgIDxsYWJlbC8+DQorICA8aXRlbS8+DQorICA8bGFiZWwvPg0KKyAgPG9wdC8+DQorICA8b3B0Mi8+DQorICA8b3B0Lz4NCisgIDxpdGVtLz4NCis8L2xpc3Q+DQorPC9pbnZhbGlkPg0KKzwvdGVzdENhc2U+DQorPC90ZXN0U3VpdGU+DQorPHRlc3RTdWl0ZT4NCis8ZG9jdW1lbnRhdGlvbj5UZXN0IG9mIGdyYW1tYXJzIG1lcmdpbmc8L2RvY3VtZW50YXRpb24+DQorPHRlc3RDYXNlPg0KKzxyZXNvdXJjZSBuYW1lPSJkYmsucm5nIj4NCis8Z3JhbW1hciB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPHN0YXJ0Pg0KKyAgICA8cmVmIG5hbWU9InAiLz4NCisgIDwvc3RhcnQ+DQorICA8ZGVmaW5lIG5hbWU9InAuZXh0Ij4NCisgICAgPG5vdEFsbG93ZWQvPg0KKyAgPC9kZWZpbmU+DQorICA8ZGVmaW5lIG5hbWU9InAiPg0KKyAgICA8ZWxlbWVudCBuYW1lPSJwIj4NCisgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgPHJlZiBuYW1lPSJwLmV4dCIvPg0KKwk8ZW1wdHkvPg0KKyAgICAgICAgPGVsZW1lbnQgbmFtZT0iYSI+DQorICAgICAgICAgIDx0ZXh0Lz4NCisgICAgICAgIDwvZWxlbWVudD4NCisgICAgICA8L2Nob2ljZT4NCisgICAgPC9lbGVtZW50Pg0KKyAgPC9kZWZpbmU+DQorPC9ncmFtbWFyPg0KKzwvcmVzb3VyY2U+DQorPGNvcnJlY3Q+DQorPGdyYW1tYXIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxzdGFydD4NCisgICAgPGdyYW1tYXI+DQorICAgICAgPGluY2x1ZGUgaHJlZj0iZGJrLnJuZyIvPg0KKyAgICAgIDxkZWZpbmUgbmFtZT0icC5leHQiIGNvbWJpbmU9ImNob2ljZSI+DQorICAgICAgICA8ZWxlbWVudCBuYW1lPSJiIj4NCisgICAgICAgICAgPHRleHQvPg0KKyAgICAgICAgPC9lbGVtZW50Pg0KKyAgICAgIDwvZGVmaW5lPg0KKyAgICA8L2dyYW1tYXI+DQorICA8L3N0YXJ0Pg0KKzwvZ3JhbW1hcj4NCis8L2NvcnJlY3Q+DQorPHZhbGlkPg0KKzxwLz4NCis8L3ZhbGlkPg0KKzx2YWxpZD4NCis8cD4NCisgIDxhLz4NCis8L3A+DQorPC92YWxpZD4NCis8dmFsaWQ+DQorPHA+DQorICA8Yi8+DQorPC9wPg0KKzwvdmFsaWQ+DQorPGludmFsaWQ+DQorPGIvPg0KKzwvaW52YWxpZD4NCis8aW52YWxpZD4NCis8cD4NCisgIDxiLz4NCisgIDxiLz4NCis8L3A+DQorPC9pbnZhbGlkPg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxyZXNvdXJjZSBuYW1lPSJkYmsucm5nIj4NCis8Z3JhbW1hciB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPHN0YXJ0Pg0KKyAgICA8cmVmIG5hbWU9InAiLz4NCisgIDwvc3RhcnQ+DQorICA8ZGVmaW5lIG5hbWU9InAuZXh0Ij4NCisgICAgPG5vdEFsbG93ZWQvPg0KKyAgPC9kZWZpbmU+DQorICA8ZGVmaW5lIG5hbWU9InAiPg0KKyAgICA8ZWxlbWVudCBuYW1lPSJwIj4NCisgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgPHJlZiBuYW1lPSJwLmV4dCIvPg0KKwk8ZW1wdHkvPg0KKyAgICAgICAgPGVsZW1lbnQgbmFtZT0iYSI+DQorICAgICAgICAgIDx0ZXh0Lz4NCisgICAgICAgIDwvZWxlbWVudD4NCisgICAgICA8L2Nob2ljZT4NCisgICAgPC9lbGVtZW50Pg0KKyAgPC9kZWZpbmU+DQorICA8ZGVmaW5lIG5hbWU9ImMiPg0KKyAgICA8ZWxlbWVudCBuYW1lPSJjIj4NCisgICAgICA8ZW1wdHkvPg0KKyAgICA8L2VsZW1lbnQ+DQorICA8L2RlZmluZT4NCis8L2dyYW1tYXI+DQorPC9yZXNvdXJjZT4NCis8Y29ycmVjdD4NCis8Z3JhbW1hciB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPHN0YXJ0Pg0KKyAgICA8Z3JhbW1hcj4NCisgICAgICA8aW5jbHVkZSBocmVmPSJkYmsucm5nIi8+DQorICAgICAgPGRlZmluZSBuYW1lPSJwLmV4dCIgY29tYmluZT0iY2hvaWNlIj4NCisgICAgICAgIDxjaG9pY2U+DQorCSAgPHJlZiBuYW1lPSJjIi8+DQorCSAgPHBhcmVudFJlZiBuYW1lPSJkIi8+DQorICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImIiPg0KKyAgICAgICAgICAgIDx0ZXh0Lz4NCisgICAgICAgICAgPC9lbGVtZW50Pg0KKyAgICAgICAgPC9jaG9pY2U+DQorICAgICAgPC9kZWZpbmU+DQorICAgIDwvZ3JhbW1hcj4NCisgIDwvc3RhcnQ+DQorICA8ZGVmaW5lIG5hbWU9ImQiPg0KKyAgICA8ZWxlbWVudCBuYW1lPSJkIj4NCisgICAgICA8ZW1wdHkvPg0KKyAgICA8L2VsZW1lbnQ+DQorICA8L2RlZmluZT4NCis8L2dyYW1tYXI+DQorPC9jb3JyZWN0Pg0KKzx2YWxpZD4NCis8cC8+DQorPC92YWxpZD4NCis8dmFsaWQ+DQorPHA+DQorICA8YS8+DQorPC9wPg0KKzwvdmFsaWQ+DQorPHZhbGlkPg0KKzxwPg0KKyAgPGIvPg0KKzwvcD4NCis8L3ZhbGlkPg0KKzx2YWxpZD4NCis8cD4NCisgIDxjLz4NCis8L3A+DQorPC92YWxpZD4NCis8dmFsaWQ+DQorPHA+DQorICA8ZC8+DQorPC9wPg0KKzwvdmFsaWQ+DQorPGludmFsaWQ+DQorPGIvPg0KKzwvaW52YWxpZD4NCis8aW52YWxpZD4NCis8Yy8+DQorPC9pbnZhbGlkPg0KKzxpbnZhbGlkPg0KKzxkLz4NCis8L2ludmFsaWQ+DQorPGludmFsaWQ+DQorPHA+DQorICA8Yi8+DQorICA8Yy8+DQorPC9wPg0KKzwvaW52YWxpZD4NCis8aW52YWxpZD4NCis8cD4NCisgIDxkLz4NCisgIDxjLz4NCis8L3A+DQorPC9pbnZhbGlkPg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxyZXNvdXJjZSBuYW1lPSJkYmsucm5nIj4NCis8Z3JhbW1hciB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPHN0YXJ0Pg0KKyAgICA8cmVmIG5hbWU9InAiLz4NCisgIDwvc3RhcnQ+DQorICA8ZGVmaW5lIG5hbWU9InAuZXh0Ij4NCisgICAgPG5vdEFsbG93ZWQvPg0KKyAgPC9kZWZpbmU+DQorICA8ZGVmaW5lIG5hbWU9InAiPg0KKyAgICA8ZWxlbWVudCBuYW1lPSJwIj4NCisgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgPHJlZiBuYW1lPSJwLmV4dCIvPg0KKwk8ZW1wdHkvPg0KKyAgICAgICAgPGVsZW1lbnQgbmFtZT0iYSI+DQorICAgICAgICAgIDx0ZXh0Lz4NCisgICAgICAgIDwvZWxlbWVudD4NCisgICAgICA8L2Nob2ljZT4NCisgICAgPC9lbGVtZW50Pg0KKyAgPC9kZWZpbmU+DQorICA8ZGVmaW5lIG5hbWU9ImMiPg0KKyAgICA8ZWxlbWVudCBuYW1lPSJjIj4NCisgICAgICA8ZW1wdHkvPg0KKyAgICA8L2VsZW1lbnQ+DQorICA8L2RlZmluZT4NCis8L2dyYW1tYXI+DQorPC9yZXNvdXJjZT4NCis8cmVzb3VyY2UgbmFtZT0icHJvb2Yucm5nIj4NCis8Z3JhbW1hciB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPHN0YXJ0Pg0KKyAgICA8cmVmIG5hbWU9ImUiLz4NCisgIDwvc3RhcnQ+DQorICA8ZGVmaW5lIG5hbWU9ImQiPg0KKyAgICA8ZWxlbWVudCBuYW1lPSJkIj4NCisgICAgICA8ZW1wdHkvPg0KKyAgICA8L2VsZW1lbnQ+DQorICA8L2RlZmluZT4NCisgIDxkZWZpbmUgbmFtZT0iZSI+DQorICAgIDxlbGVtZW50IG5hbWU9ImUiPg0KKyAgICAgIDxlbXB0eS8+DQorICAgIDwvZWxlbWVudD4NCisgIDwvZGVmaW5lPg0KKyAgPGRlZmluZSBuYW1lPSJmIj4NCisgICAgPGVsZW1lbnQgbmFtZT0iZiI+DQorICAgICAgPGVtcHR5Lz4NCisgICAgPC9lbGVtZW50Pg0KKyAgPC9kZWZpbmU+DQorPC9ncmFtbWFyPg0KKzwvcmVzb3VyY2U+DQorPGNvcnJlY3Q+DQorPGdyYW1tYXIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxzdGFydD4NCisgICAgPGdyYW1tYXI+DQorICAgICAgPGluY2x1ZGUgaHJlZj0iZGJrLnJuZyIvPg0KKyAgICAgIDxkZWZpbmUgbmFtZT0icC5leHQiIGNvbWJpbmU9ImNob2ljZSI+DQorICAgICAgICA8Y2hvaWNlPg0KKwkgIDxyZWYgbmFtZT0iYyIvPg0KKwkgIDxncmFtbWFyPg0KKwkgICAgPGluY2x1ZGUgaHJlZj0icHJvb2Yucm5nIi8+DQorCSAgICA8c3RhcnQgY29tYmluZT0iY2hvaWNlIj4NCisJICAgICAgPHJlZiBuYW1lPSJkIi8+DQorCSAgICA8L3N0YXJ0Pg0KKwkgIDwvZ3JhbW1hcj4NCisgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iYiI+DQorICAgICAgICAgICAgPHRleHQvPg0KKyAgICAgICAgICA8L2VsZW1lbnQ+DQorICAgICAgICA8L2Nob2ljZT4NCisgICAgICA8L2RlZmluZT4NCisgICAgPC9ncmFtbWFyPg0KKyAgPC9zdGFydD4NCisgIDxkZWZpbmUgbmFtZT0iZyI+DQorICAgIDxlbGVtZW50IG5hbWU9ImciPg0KKyAgICAgIDxlbXB0eS8+DQorICAgIDwvZWxlbWVudD4NCisgIDwvZGVmaW5lPg0KKzwvZ3JhbW1hcj4NCis8L2NvcnJlY3Q+DQorPHZhbGlkPg0KKzxwLz4NCis8L3ZhbGlkPg0KKzx2YWxpZD4NCis8cD4NCisgIDxhLz4NCis8L3A+DQorPC92YWxpZD4NCis8dmFsaWQ+DQorPHA+DQorICA8Yi8+DQorPC9wPg0KKzwvdmFsaWQ+DQorPHZhbGlkPg0KKzxwPg0KKyAgPGMvPg0KKzwvcD4NCis8L3ZhbGlkPg0KKzx2YWxpZD4NCis8cD4NCisgIDxkLz4NCis8L3A+DQorPC92YWxpZD4NCis8dmFsaWQ+DQorPHA+DQorICA8ZS8+DQorPC9wPg0KKzwvdmFsaWQ+DQorPGludmFsaWQ+DQorPHA+DQorICA8Zi8+DQorPC9wPg0KKzwvaW52YWxpZD4NCis8aW52YWxpZD4NCis8cD4NCisgIDxnLz4NCis8L3A+DQorPC9pbnZhbGlkPg0KKzxpbnZhbGlkPg0KKzxiLz4NCis8L2ludmFsaWQ+DQorPGludmFsaWQ+DQorPGMvPg0KKzwvaW52YWxpZD4NCis8aW52YWxpZD4NCis8ZC8+DQorPC9pbnZhbGlkPg0KKzxpbnZhbGlkPg0KKzxlLz4NCis8L2ludmFsaWQ+DQorPGludmFsaWQ+DQorPGYvPg0KKzwvaW52YWxpZD4NCis8aW52YWxpZD4NCis8Zy8+DQorPC9pbnZhbGlkPg0KKzxpbnZhbGlkPg0KKzxwPg0KKyAgPGQvPg0KKyAgPGMvPg0KKzwvcD4NCis8L2ludmFsaWQ+DQorPGludmFsaWQ+DQorPHA+DQorICA8ZC8+DQorICA8ZS8+DQorPC9wPg0KKzwvaW52YWxpZD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8cmVzb3VyY2UgbmFtZT0iZGJrLnJuZyI+DQorPGdyYW1tYXIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxzdGFydD4NCisgICAgPHJlZiBuYW1lPSJwIi8+DQorICA8L3N0YXJ0Pg0KKyAgPGRlZmluZSBuYW1lPSJwLmV4dCI+DQorICAgIDxub3RBbGxvd2VkLz4NCisgIDwvZGVmaW5lPg0KKyAgPGRlZmluZSBuYW1lPSJwIj4NCisgICAgPGVsZW1lbnQgbmFtZT0icCI+DQorICAgICAgPGNob2ljZT4NCisgICAgICAgIDxyZWYgbmFtZT0icC5leHQiLz4NCisJPGVtcHR5Lz4NCisgICAgICAgIDxlbGVtZW50IG5hbWU9ImEiPg0KKyAgICAgICAgICA8dGV4dC8+DQorICAgICAgICA8L2VsZW1lbnQ+DQorICAgICAgPC9jaG9pY2U+DQorICAgIDwvZWxlbWVudD4NCisgIDwvZGVmaW5lPg0KKyAgPGRlZmluZSBuYW1lPSJjIj4NCisgICAgPGVsZW1lbnQgbmFtZT0iYyI+DQorICAgICAgPGVtcHR5Lz4NCisgICAgPC9lbGVtZW50Pg0KKyAgPC9kZWZpbmU+DQorPC9ncmFtbWFyPg0KKzwvcmVzb3VyY2U+DQorPHJlc291cmNlIG5hbWU9InByb29mLnJuZyI+DQorPGdyYW1tYXIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIg0KKyAgICAgICAgIG5zPSJodHRwOi8vZXhhbXBsZS5vcmcvbnMvcHJvb2ZzeXN0ZW0iPg0KKyAgPHN0YXJ0Pg0KKyAgICA8cmVmIG5hbWU9ImUiLz4NCisgIDwvc3RhcnQ+DQorICA8ZGVmaW5lIG5hbWU9ImQiPg0KKyAgICA8ZWxlbWVudCBuYW1lPSJkIj4NCisgICAgICA8ZW1wdHkvPg0KKyAgICA8L2VsZW1lbnQ+DQorICA8L2RlZmluZT4NCisgIDxkZWZpbmUgbmFtZT0iZSI+DQorICAgIDxlbGVtZW50IG5hbWU9ImUiPg0KKyAgICAgIDxlbXB0eS8+DQorICAgIDwvZWxlbWVudD4NCisgIDwvZGVmaW5lPg0KKyAgPGRlZmluZSBuYW1lPSJmIj4NCisgICAgPGVsZW1lbnQgbmFtZT0iZiI+DQorICAgICAgPGVtcHR5Lz4NCisgICAgPC9lbGVtZW50Pg0KKyAgPC9kZWZpbmU+DQorPC9ncmFtbWFyPg0KKzwvcmVzb3VyY2U+DQorPGNvcnJlY3Q+DQorPGdyYW1tYXIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4NCisgIDxzdGFydD4NCisgICAgPGdyYW1tYXI+DQorICAgICAgPGluY2x1ZGUgaHJlZj0iZGJrLnJuZyIvPg0KKyAgICAgIDxkZWZpbmUgbmFtZT0icC5leHQiIGNvbWJpbmU9ImNob2ljZSI+DQorICAgICAgICA8Y2hvaWNlPg0KKwkgIDxyZWYgbmFtZT0iYyIvPg0KKwkgIDxncmFtbWFyPg0KKwkgICAgPGluY2x1ZGUgaHJlZj0icHJvb2Yucm5nIi8+DQorCSAgICA8c3RhcnQgY29tYmluZT0iY2hvaWNlIj4NCisJICAgICAgPHJlZiBuYW1lPSJkIi8+DQorCSAgICA8L3N0YXJ0Pg0KKwkgIDwvZ3JhbW1hcj4NCisgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iYiI+DQorICAgICAgICAgICAgPHRleHQvPg0KKyAgICAgICAgICA8L2VsZW1lbnQ+DQorICAgICAgICA8L2Nob2ljZT4NCisgICAgICA8L2RlZmluZT4NCisgICAgPC9ncmFtbWFyPg0KKyAgPC9zdGFydD4NCisgIDxkZWZpbmUgbmFtZT0iZyI+DQorICAgIDxlbGVtZW50IG5hbWU9ImciPg0KKyAgICAgIDxlbXB0eS8+DQorICAgIDwvZWxlbWVudD4NCisgIDwvZGVmaW5lPg0KKzwvZ3JhbW1hcj4NCis8L2NvcnJlY3Q+DQorPHZhbGlkPg0KKzxwLz4NCis8L3ZhbGlkPg0KKzx2YWxpZD4NCis8cD4NCisgIDxhLz4NCis8L3A+DQorPC92YWxpZD4NCis8dmFsaWQ+DQorPHA+DQorICA8Yi8+DQorPC9wPg0KKzwvdmFsaWQ+DQorPHZhbGlkPg0KKzxwPg0KKyAgPGMvPg0KKzwvcD4NCis8L3ZhbGlkPg0KKzx2YWxpZD4NCis8cCB4bWxuczpwPSJodHRwOi8vZXhhbXBsZS5vcmcvbnMvcHJvb2ZzeXN0ZW0iPg0KKyAgPHA6ZC8+DQorPC9wPg0KKzwvdmFsaWQ+DQorPGludmFsaWQ+DQorPHA+DQorICA8ZC8+DQorPC9wPg0KKzwvaW52YWxpZD4NCis8dmFsaWQ+DQorPHAgeG1sbnM6cD0iaHR0cDovL2V4YW1wbGUub3JnL25zL3Byb29mc3lzdGVtIj4NCisgIDxwOmUvPg0KKzwvcD4NCis8L3ZhbGlkPg0KKzxpbnZhbGlkPg0KKzxwPg0KKyAgPGUvPg0KKzwvcD4NCis8L2ludmFsaWQ+DQorPGludmFsaWQ+DQorPHAgeG1sbnM6cD0iaHR0cDovL2V4YW1wbGUub3JnL25zL3Byb29mc3lzdGVtIj4NCisgIDxwOmYvPg0KKzwvcD4NCis8L2ludmFsaWQ+DQorPGludmFsaWQ+DQorPHA+DQorICA8Zi8+DQorPC9wPg0KKzwvaW52YWxpZD4NCis8aW52YWxpZD4NCis8cD4NCisgIDxnLz4NCis8L3A+DQorPC9pbnZhbGlkPg0KKzxpbnZhbGlkPg0KKzxiLz4NCis8L2ludmFsaWQ+DQorPGludmFsaWQ+DQorPGMvPg0KKzwvaW52YWxpZD4NCis8aW52YWxpZD4NCis8ZC8+DQorPC9pbnZhbGlkPg0KKzxpbnZhbGlkPg0KKzxlLz4NCis8L2ludmFsaWQ+DQorPGludmFsaWQ+DQorPGYvPg0KKzwvaW52YWxpZD4NCis8aW52YWxpZD4NCis8Zy8+DQorPC9pbnZhbGlkPg0KKzxpbnZhbGlkPg0KKzxwIHhtbG5zOnA9Imh0dHA6Ly9leGFtcGxlLm9yZy9ucy9wcm9vZnN5c3RlbSI+DQorICA8cDpkLz4NCisgIDxjLz4NCis8L3A+DQorPC9pbnZhbGlkPg0KKzxpbnZhbGlkPg0KKzxwIHhtbG5zOnA9Imh0dHA6Ly9leGFtcGxlLm9yZy9ucy9wcm9vZnN5c3RlbSI+DQorICA8cDpkLz4NCisgIDxwOmUvPg0KKzwvcD4NCis8L2ludmFsaWQ+DQorPC90ZXN0Q2FzZT4NCis8dGVzdENhc2U+DQorPHJlc291cmNlIG5hbWU9ImV4dC5ybmciPg0KKzxncmFtbWFyIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8c3RhcnQ+DQorICAgIDxyZWYgbmFtZT0icCIvPg0KKyAgPC9zdGFydD4NCisgIDxkZWZpbmUgbmFtZT0icCI+DQorICAgIDxlbGVtZW50IG5hbWU9InAiPg0KKyAgICAgIDxlbXB0eS8+DQorICAgIDwvZWxlbWVudD4NCisgIDwvZGVmaW5lPg0KKzwvZ3JhbW1hcj4NCis8L3Jlc291cmNlPg0KKzxjb3JyZWN0Pg0KKzxncmFtbWFyIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+DQorICA8c3RhcnQ+DQorICAgIDxlbGVtZW50IG5hbWU9InRvcCI+DQorICAgICAgPGNob2ljZT4NCisgICAgICAgIDxyZWYgbmFtZT0iaW5jbHVkZTEiLz4NCisgICAgICAgIDxyZWYgbmFtZT0iaW5jbHVkZTIiLz4NCisgICAgICA8L2Nob2ljZT4NCisgICAgPC9lbGVtZW50Pg0KKyAgPC9zdGFydD4NCisgIDxkZWZpbmUgbmFtZT0iaW5jbHVkZTEiPg0KKyAgICA8Z3JhbW1hcj4NCisgICAgICA8aW5jbHVkZSBocmVmPSJleHQucm5nIj4NCisgICAgICAgIDxzdGFydD4NCisJIDxlbGVtZW50IG5hbWU9ImEiPg0KKwkgICA8Y2hvaWNlPg0KKwkgICAgIDxlbXB0eS8+DQorCSAgICAgPHJlZiBuYW1lPSJwIi8+DQorCSAgIDwvY2hvaWNlPg0KKwkgPC9lbGVtZW50Pg0KKwk8L3N0YXJ0Pg0KKyAgICAgIDwvaW5jbHVkZT4NCisgICAgPC9ncmFtbWFyPg0KKyAgPC9kZWZpbmU+DQorICA8ZGVmaW5lIG5hbWU9ImluY2x1ZGUyIj4NCisgICAgPGdyYW1tYXI+DQorICAgICAgPGluY2x1ZGUgaHJlZj0iZXh0LnJuZyI+DQorICAgICAgICA8c3RhcnQ+DQorCSA8ZWxlbWVudCBuYW1lPSJiIj4NCisJICAgPGNob2ljZT4NCisJICAgICA8ZW1wdHkvPg0KKwkgICAgIDxyZWYgbmFtZT0icCIvPg0KKwkgICA8L2Nob2ljZT4NCisJIDwvZWxlbWVudD4NCisJPC9zdGFydD4NCisgICAgICA8L2luY2x1ZGU+DQorICAgIDwvZ3JhbW1hcj4NCisgIDwvZGVmaW5lPg0KKzwvZ3JhbW1hcj4NCis8L2NvcnJlY3Q+DQorPGludmFsaWQ+DQorPHRvcC8+DQorPC9pbnZhbGlkPg0KKzxpbnZhbGlkPg0KKzxhLz4NCis8L2ludmFsaWQ+DQorPGludmFsaWQ+DQorPGIvPg0KKzwvaW52YWxpZD4NCis8aW52YWxpZD4NCis8cC8+DQorPC9pbnZhbGlkPg0KKzx2YWxpZD4NCis8dG9wPg0KKyAgPGEvPg0KKzwvdG9wPg0KKzwvdmFsaWQ+DQorPHZhbGlkPg0KKzx0b3A+DQorICA8Yi8+DQorPC90b3A+DQorPC92YWxpZD4NCis8dmFsaWQ+DQorPHRvcD4NCisgIDxhPg0KKyAgICA8cC8+DQorICA8L2E+DQorPC90b3A+DQorPC92YWxpZD4NCis8dmFsaWQ+DQorPHRvcD4NCisgIDxiPg0KKyAgICA8cC8+DQorICA8L2I+DQorPC90b3A+DQorPC92YWxpZD4NCis8L3Rlc3RDYXNlPg0KKzwvdGVzdFN1aXRlPg0KKzx0ZXN0U3VpdGU+DQorPGRvY3VtZW50YXRpb24+VGVzdCBvZiBJRC9JRFJFRjwvZG9jdW1lbnRhdGlvbj4NCis8dGVzdENhc2U+DQorPGNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0idG9wIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiDQorICAgICAgICAgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPg0KKyAgPHplcm9Pck1vcmU+DQorICAgIDxjaG9pY2U+DQorICAgICAgPGVsZW1lbnQgbmFtZT0icmVmIj4NCisgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0iaWQiPg0KKwkgIDxkYXRhIHR5cGU9IklEIi8+DQorCTwvYXR0cmlidXRlPg0KKwk8dGV4dC8+DQorICAgICAgPC9lbGVtZW50Pg0KKyAgICAgIDxlbGVtZW50IG5hbWU9InhyZWYiPg0KKyAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJsaW5rIj4NCisJICA8ZGF0YSB0eXBlPSJJRFJFRiIvPg0KKwk8L2F0dHJpYnV0ZT4NCisJPHRleHQvPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICAgPC9jaG9pY2U+DQorICA8L3plcm9Pck1vcmU+DQorPC9lbGVtZW50Pg0KKzwvY29ycmVjdD4NCis8dmFsaWQ+DQorPHRvcD4NCis8L3RvcD4NCis8L3ZhbGlkPg0KKzxpbnZhbGlkPg0KKzx0b3A+DQorICA8eHJlZiBsaW5rPSJpZDEiLz4NCis8L3RvcD4NCis8L2ludmFsaWQ+DQorPHZhbGlkPg0KKzx0b3A+DQorICA8cmVmIGlkPSJpZDEiLz4NCis8L3RvcD4NCis8L3ZhbGlkPg0KKzx2YWxpZD4NCis8dG9wPg0KKyAgPHhyZWYgbGluaz0iaWQxIi8+DQorICA8cmVmIGlkPSJpZDEiLz4NCis8L3RvcD4NCis8L3ZhbGlkPg0KKzx2YWxpZD4NCis8dG9wPg0KKyAgPHhyZWYgbGluaz0iICBpZDEgIi8+DQorICA8cmVmIGlkPSIgICAgIGlkMSAgICIvPg0KKyAgPHhyZWYgbGluaz0iaWQxICIvPg0KKyAgPHhyZWYgbGluaz0iICBpZDEiLz4NCis8L3RvcD4NCis8L3ZhbGlkPg0KKzx2YWxpZD4NCis8dG9wPg0KKyAgPHJlZiBpZD0iaWQxIi8+DQorICA8eHJlZiBsaW5rPSJpZDEiLz4NCis8L3RvcD4NCis8L3ZhbGlkPg0KKzxpbnZhbGlkPg0KKzx0b3A+DQorICA8cmVmIGlkPSJpZDEiLz4NCisgIDxyZWYgaWQ9ImlkMSIvPg0KKzwvdG9wPg0KKzwvaW52YWxpZD4NCis8L3Rlc3RDYXNlPg0KKzx0ZXN0Q2FzZT4NCis8Y29ycmVjdD4NCis8ZWxlbWVudCBuYW1lPSJ0b3AiIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCINCisgICAgICAgICBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+DQorICA8emVyb09yTW9yZT4NCisgICAgPGNob2ljZT4NCisgICAgICA8ZWxlbWVudCBuYW1lPSJyZWYiPg0KKyAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJpZCI+DQorCSAgPGRhdGEgdHlwZT0iSUQiLz4NCisJPC9hdHRyaWJ1dGU+DQorCTx0ZXh0Lz4NCisgICAgICA8L2VsZW1lbnQ+DQorICAgICAgPGVsZW1lbnQgbmFtZT0ieHJlZiI+DQorICAgICAgICA8YXR0cmlidXRlIG5hbWU9ImxpbmsiPg0KKwkgIDxkYXRhIHR5cGU9IklEUkVGUyIvPg0KKwk8L2F0dHJpYnV0ZT4NCisJPHRleHQvPg0KKyAgICAgIDwvZWxlbWVudD4NCisgICAgPC9jaG9pY2U+DQorICA8L3plcm9Pck1vcmU+DQorPC9lbGVtZW50Pg0KKzwvY29ycmVjdD4NCis8dmFsaWQ+DQorPHRvcD4NCis8L3RvcD4NCis8L3ZhbGlkPg0KKzxpbnZhbGlkPg0KKzx0b3A+DQorICA8eHJlZiBsaW5rPSJpZDEiLz4NCis8L3RvcD4NCis8L2ludmFsaWQ+DQorPHZhbGlkPg0KKzx0b3A+DQorICA8cmVmIGlkPSJpZDEiLz4NCis8L3RvcD4NCis8L3ZhbGlkPg0KKzx2YWxpZD4NCis8dG9wPg0KKyAgPHhyZWYgbGluaz0iaWQxIi8+DQorICA8cmVmIGlkPSJpZDEiLz4NCis8L3RvcD4NCis8L3ZhbGlkPg0KKzx2YWxpZD4NCis8dG9wPg0KKyAgPHhyZWYgbGluaz0iaWQxIGlkMSIvPg0KKyAgPHJlZiBpZD0iaWQxIi8+DQorPC90b3A+DQorPC92YWxpZD4NCis8dmFsaWQ+DQorPHRvcD4NCisgIDxyZWYgaWQ9ImlkMSIvPg0KKyAgPHhyZWYgbGluaz0iaWQxIi8+DQorPC90b3A+DQorPC92YWxpZD4NCis8dmFsaWQ+DQorPHRvcD4NCisgIDxyZWYgaWQ9ImlkMiIvPg0KKyAgPHhyZWYgbGluaz0iaWQxIGlkMiIvPg0KKyAgPHJlZiBpZD0iaWQxIi8+DQorPC90b3A+DQorPC92YWxpZD4NCis8dmFsaWQ+DQorPHRvcD4NCisgIDxyZWYgaWQ9ImlkMiIvPg0KKyAgPHhyZWYgbGluaz0iIGlkMiAgICBpZDEgICBpZDIgIi8+DQorICA8cmVmIGlkPSJpZDEiLz4NCis8L3RvcD4NCis8L3ZhbGlkPg0KKzxpbnZhbGlkPg0KKzx0b3A+DQorICA8cmVmIGlkPSJpZDIiLz4NCisgIDx4cmVmIGxpbms9ImlkMSBpZDIiLz4NCis8L3RvcD4NCis8L2ludmFsaWQ+DQorPGludmFsaWQ+DQorPHRvcD4NCisgIDx4cmVmIGxpbms9ImlkMSBpZDIiLz4NCisgIDxyZWYgaWQ9ImlkMSIvPg0KKzwvdG9wPg0KKzwvaW52YWxpZD4NCis8aW52YWxpZD4NCis8dG9wPg0KKyAgPHJlZiBpZD0iaWQxIi8+DQorICA8cmVmIGlkPSJpZDEiLz4NCis8L3RvcD4NCis8L2ludmFsaWQ+DQorPC90ZXN0Q2FzZT4NCis8L3Rlc3RTdWl0ZT4NCis8dGVzdFN1aXRlPg0KKzxkb2N1bWVudGF0aW9uPlRlc3Qgb2YgRU5USVRZL0VOVElUSUVTPC9kb2N1bWVudGF0aW9uPg0KKzx0ZXN0Q2FzZT4NCis8Y29ycmVjdD4NCis8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPg0KKyAgPGRhdGEgdHlwZT0iRU5USVRZIi8+DQorPC9lbGVtZW50Pg0KKzwvY29ycmVjdD4NCis8aW52YWxpZD4NCis8ZG9jPjwvZG9jPg0KKzwvaW52YWxpZD4NCis8aW52YWxpZD4NCis8ZG9jPmZvbzwvZG9jPg0KKzwvaW52YWxpZD4NCis8dmFsaWQgZHRkPSImIzEwOyZsdDshRE9DVFlQRSBkb2MgWyYjMTA7Jmx0OyFFTlRJVFkgZm9vIFNZU1RFTSAnd2hhdGV2ZXInIE5EQVRBIGpwZWcmZ3Q7JiMxMDtdJmd0OyI+DQorPGRvYz5mb288L2RvYz4NCis8L3ZhbGlkPg0KKzx2YWxpZCBkdGQ9IiYjMTA7Jmx0OyFET0NUWVBFIGRvYyBbJiMxMDsmbHQ7IUVOVElUWSBmb28gU1lTVEVNICd3aGF0ZXZlcicgTkRBVEEganBlZyZndDsmIzEwO10mZ3Q7Ij4NCis8ZG9jPiAgZm9vIDwvZG9jPg0KKzwvdmFsaWQ+DQorPGludmFsaWQgZHRkPSImIzEwOyZsdDshRE9DVFlQRSBkb2MgWyYjMTA7Jmx0OyFFTlRJVFkgZm9vIFNZU1RFTSAnd2hhdGV2ZXInIE5EQVRBIGpwZWcmZ3Q7JiMxMDtdJmd0OyI+DQorPGRvYz5mb28gYmFyPC9kb2M+DQorPC9pbnZhbGlkPg0KKzwvdGVzdENhc2U+DQorPHRlc3RDYXNlPg0KKzxjb3JyZWN0Pg0KKzxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+DQorICA8ZGF0YSB0eXBlPSJFTlRJVElFUyIvPg0KKzwvZWxlbWVudD4NCis8L2NvcnJlY3Q+DQorPGludmFsaWQ+DQorPGRvYz48L2RvYz4NCis8L2ludmFsaWQ+DQorPGludmFsaWQ+DQorPGRvYz5mb288L2RvYz4NCis8L2ludmFsaWQ+DQorPHZhbGlkIGR0ZD0iJiMxMDsmbHQ7IURPQ1RZUEUgZG9jIFsmIzEwOyZsdDshRU5USVRZIGZvbyBTWVNURU0gJ3doYXRldmVyJyBOREFUQSBqcGVnJmd0OyAmIzEwOyZsdDshRU5USVRZIGJhciBTWVNURU0gJ3doYXRldmVyJyBOREFUQSBqcGVnJmd0OyAmIzEwO10mZ3Q7Ij4NCis8ZG9jPiBmb28gYmFyIDwvZG9jPg0KKzwvdmFsaWQ+DQorPHZhbGlkIGR0ZD0iJiMxMDsmbHQ7IURPQ1RZUEUgZG9jIFsmIzEwOyZsdDshRU5USVRZIGZvbyBTWVNURU0gJ3doYXRldmVyJyBOREFUQSBqcGVnJmd0OyAmIzEwOyZsdDshRU5USVRZIGJhciBTWVNURU0gJ3doYXRldmVyJyBOREFUQSBqcGVnJmd0OyAmIzEwO10mZ3Q7Ij4NCis8ZG9jPiBmb28gYmFyIGZvbzwvZG9jPg0KKzwvdmFsaWQ+DQorPGludmFsaWQgZHRkPSImIzEwOyZsdDshRE9DVFlQRSBkb2MgWyYjMTA7Jmx0OyFFTlRJVFkgZm9vIFNZU1RFTSAnd2hhdGV2ZXInIE5EQVRBIGpwZWcmZ3Q7XSZndDsiPg0KKzxkb2M+Zm9vIGJhcjwvZG9jPg0KKzwvaW52YWxpZD4NCis8L3Rlc3RDYXNlPg0KKzwvdGVzdFN1aXRlPg0KKzx0ZXN0U3VpdGU+DQorPGRvY3VtZW50YXRpb24+VGVzdCBvZiBNaXhlZDwvZG9jdW1lbnRhdGlvbj4NCis8dGVzdENhc2U+DQorPGNvcnJlY3Q+DQorPGVsZW1lbnQgbmFtZT0ibWl4IiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPg0KKyAgPG1peGVkPg0KKyAgICA8emVyb09yTW9yZT4NCisgICAgICA8Y2hvaWNlPg0KKyAgICAgICAgPGVsZW1lbnQgbmFtZT0iYSI+DQorCSAgPGVtcHR5Lz4NCisJPC9lbGVtZW50Pg0KKyAgICAgICAgPGVsZW1lbnQgbmFtZT0iYiI+DQorCSAgPGVtcHR5Lz4NCisJPC9lbGVtZW50Pg0KKyAgICAgICAgPGVsZW1lbnQgbmFtZT0iYyI+DQorCSAgPGVtcHR5Lz4NCisJPC9lbGVtZW50Pg0KKyAgICAgIDwvY2hvaWNlPg0KKyAgICA8L3plcm9Pck1vcmU+DQorICA8L21peGVkPg0KKyAgPGVsZW1lbnQgbmFtZT0iZCI+DQorICAgIDxlbXB0eS8+DQorICA8L2VsZW1lbnQ+DQorPC9lbGVtZW50Pg0KKzwvY29ycmVjdD4NCis8dmFsaWQ+DQorPG1peD4NCisgIDxkLz4NCis8L21peD4NCis8L3ZhbGlkPg0KKzx2YWxpZD4NCis8bWl4Pg0KKyAgPGIvPg0KKyAgPGEvPg0KKyAgPGMvPg0KKyAgPGIvPg0KKyAgPGQvPg0KKzwvbWl4Pg0KKzwvdmFsaWQ+DQorPHZhbGlkPg0KKzxtaXg+DQorICBtaXhlZA0KKyAgPGMvPg0KKyAgPGQvPg0KKzwvbWl4Pg0KKzwvdmFsaWQ+DQorPHZhbGlkPg0KKzxtaXg+DQorICA8Yy8+DQorICBtaXhlZA0KKyAgPGQvPg0KKzwvbWl4Pg0KKzwvdmFsaWQ+DQorPHZhbGlkPg0KKzxtaXg+DQorICA8Yi8+DQorICBpcw0KKyAgPGEvPg0KKyAgaW50ZXINCisgIDxjLz4NCisgIG1peGVkDQorICA8Yi8+DQorICA8ZC8+DQorPC9taXg+DQorPC92YWxpZD4NCis8dmFsaWQ+DQorPG1peD4NCisgIG1peGVkDQorICA8Yi8+DQorICAuDQorICA8ZC8+DQorPC9taXg+DQorPC92YWxpZD4NCis8dmFsaWQ+DQorPG1peD4NCisgIHRoaXMNCisgIDxiLz4NCisgIGlzDQorICA8YS8+DQorICBpbnRlcg0KKyAgPGMvPg0KKyAgbWl4ZWQNCisgIDxiLz4NCisgIC4NCisgIDxkLz4NCis8L21peD4NCis8L3ZhbGlkPg0KKzwvdGVzdENhc2U+DQorPC90ZXN0U3VpdGU+DQorPC90ZXN0U3VpdGU+DQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IxMF8xLnJuZyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yMTBfMS5ybmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOThkZjI3NwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yMTBfMS5ybmcKQEAgLTAsMCArMSw0IEBACis8ZWxlbWVudCBuYW1lPSJmb28iIG5zPSJodHRwOi8vd3d3LmV4YW1wbGUuY29tIgorICAgICAgICAgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4KKyAgPGVtcHR5Lz4KKzwvZWxlbWVudD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yMTBfMTAucm5nIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IxMF8xMC5ybmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzc1YjYyOAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yMTBfMTAucm5nCkBAIC0wLDAgKzEsMTMgQEAKKzxlbGVtZW50IG5hbWU9ImFkZHJlc3NCb29rIiBucz0iaHR0cDovL3d3dy5leGFtcGxlLmNvbS9hZGRyZXNzQm9vayIKKyAgICAgICAgIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+CisgIDx6ZXJvT3JNb3JlPgorICAgIDxlbGVtZW50IG5hbWU9ImNhcmQiIG5zPSJodHRwOi8vd3d3LmV4YW1wbGUuY29tL2FkZHJlc3NCb29rIj4KKyAgICAgIDxlbGVtZW50IG5hbWU9Im5hbWUiIG5zPSJodHRwOi8vd3d3LmV4YW1wbGUuY29tL2FkZHJlc3MiPgorICAgICAgICA8dGV4dC8+CisgICAgICA8L2VsZW1lbnQ+CisgICAgICA8ZWxlbWVudCBuYW1lPSJlbWFpbCIgbnM9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20vYWRkcmVzcyI+CisgICAgICAgIDx0ZXh0Lz4KKyAgICAgIDwvZWxlbWVudD4KKyAgICA8L2VsZW1lbnQ+CisgIDwvemVyb09yTW9yZT4KKzwvZWxlbWVudD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yMTBfMTBfMS54bWwgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjEwXzEwXzEueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYwNzk4MmEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjEwXzEwXzEueG1sCkBAIC0wLDAgKzEsNSBAQAorPGE6YWRkcmVzc0Jvb2sgeG1sbnM6YT0iaHR0cDovL3d3dy5leGFtcGxlLmNvbS9hZGRyZXNzQm9vayI+CisgIDxhOmNhcmQgeG1sbnM9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20vYWRkcmVzcyI+CisgICAgPG5hbWU+Zm9vPC9uYW1lPjxlbWFpbD5iYXI8L2VtYWlsPgorICA8L2E6Y2FyZD4KKzwvYTphZGRyZXNzQm9vaz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yMTBfMV8xLnhtbCBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yMTBfMV8xLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44OTgxOTNkCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IxMF8xXzEueG1sCkBAIC0wLDAgKzEgQEAKKzxmb28geG1sbnM9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20iLz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yMTBfMV8yLnhtbCBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yMTBfMV8yLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNmQ5MDBhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IxMF8xXzIueG1sCkBAIC0wLDAgKzEgQEAKKzxlOmZvbyB4bWxuczplPSJodHRwOi8vd3d3LmV4YW1wbGUuY29tIi8+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjEwXzFfMy54bWwgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjEwXzFfMy54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzU2YzczZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yMTBfMV8zLnhtbApAQCAtMCwwICsxIEBACis8ZXhhbXBsZTpmb28geG1sbnM6ZXhhbXBsZT0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSIvPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IxMF8xXzQueG1sIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IxMF8xXzQueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYxOTk5ZjgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjEwXzFfNC54bWwKQEAgLTAsMCArMSBAQAorPGZvby8+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjEwXzFfNS54bWwgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjEwXzFfNS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWQwZjA0OAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yMTBfMV81LnhtbApAQCAtMCwwICsxIEBACis8ZTpmb28geG1sbnM6ZT0iaHR0cDovL1dXVy5FWEFNUExFLkNPTSIvPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IxMF8xXzYueG1sIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IxMF8xXzYueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdkZDZhZWQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjEwXzFfNi54bWwKQEAgLTAsMCArMSBAQAorPGV4YW1wbGU6Zm9vIHhtbG5zOmV4YW1wbGU9Imh0dHA6Ly93d3cuZXhhbXBsZS5uZXQiLz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yMTBfMi5ybmcgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjEwXzIucm5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmViZjA4ZGUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjEwXzIucm5nCkBAIC0wLDAgKzEsMyBAQAorPGVsZW1lbnQgbmFtZT0iZm9vIiBucz0iIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPgorICA8ZW1wdHkvPgorPC9lbGVtZW50PgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IxMF8yXzEueG1sIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IxMF8yXzEueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI0ZTBiMjIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjEwXzJfMS54bWwKQEAgLTAsMCArMSBAQAorPGZvbyB4bWxucz0iIi8+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjEwXzJfMi54bWwgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjEwXzJfMi54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjE5OTlmOAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yMTBfMl8yLnhtbApAQCAtMCwwICsxIEBACis8Zm9vLz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yMTBfMl8zLnhtbCBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yMTBfMl8zLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44OTgxOTNkCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IxMF8yXzMueG1sCkBAIC0wLDAgKzEgQEAKKzxmb28geG1sbnM9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20iLz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yMTBfMl80LnhtbCBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yMTBfMl80LnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNmQ5MDBhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IxMF8yXzQueG1sCkBAIC0wLDAgKzEgQEAKKzxlOmZvbyB4bWxuczplPSJodHRwOi8vd3d3LmV4YW1wbGUuY29tIi8+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjEwXzMucm5nIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IxMF8zLnJuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NmY4Y2QxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IxMF8zLnJuZwpAQCAtMCwwICsxLDEyIEBACis8ZWxlbWVudCBuYW1lPSJhZGRyZXNzQm9vayIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4KKyAgPHplcm9Pck1vcmU+CisgICAgPGVsZW1lbnQgbmFtZT0iY2FyZCI+CisgICAgICA8ZWxlbWVudCBuYW1lPSJuYW1lIj4KKyAgICAgICAgPHRleHQvPgorICAgICAgPC9lbGVtZW50PgorICAgICAgPGVsZW1lbnQgbmFtZT0iZW1haWwiPgorICAgICAgICA8dGV4dC8+CisgICAgICA8L2VsZW1lbnQ+CisgICAgPC9lbGVtZW50PgorICA8L3plcm9Pck1vcmU+Cis8L2VsZW1lbnQ+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjEwXzNfMS54bWwgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjEwXzNfMS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjkzZGYxOAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yMTBfM18xLnhtbApAQCAtMCwwICsxLDMgQEAKKzxhZGRyZXNzQm9vaz4KKyAgPGNhcmQ+PG5hbWU+Zm9vPC9uYW1lPjxlbWFpbD5iYXI8L2VtYWlsPjwvY2FyZD4KKzwvYWRkcmVzc0Jvb2s+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjEwXzQucm5nIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IxMF80LnJuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YTBhZDM0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IxMF80LnJuZwpAQCAtMCwwICsxLDEyIEBACis8ZWxlbWVudCBuYW1lPSJhZGRyZXNzQm9vayIgbnM9IiIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4KKyAgPHplcm9Pck1vcmU+CisgICAgPGVsZW1lbnQgbmFtZT0iY2FyZCIgbnM9IiI+CisgICAgICA8ZWxlbWVudCBuYW1lPSJuYW1lIiBucz0iIj4KKyAgICAgICAgPHRleHQvPgorICAgICAgPC9lbGVtZW50PgorICAgICAgPGVsZW1lbnQgbmFtZT0iZW1haWwiIG5zPSIiPgorICAgICAgICA8dGV4dC8+CisgICAgICA8L2VsZW1lbnQ+CisgICAgPC9lbGVtZW50PgorICA8L3plcm9Pck1vcmU+Cis8L2VsZW1lbnQ+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjEwXzRfMS54bWwgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjEwXzRfMS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjkzZGYxOAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yMTBfNF8xLnhtbApAQCAtMCwwICsxLDMgQEAKKzxhZGRyZXNzQm9vaz4KKyAgPGNhcmQ+PG5hbWU+Zm9vPC9uYW1lPjxlbWFpbD5iYXI8L2VtYWlsPjwvY2FyZD4KKzwvYWRkcmVzc0Jvb2s+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjEwXzUucm5nIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IxMF81LnJuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NWY1NDE4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IxMF81LnJuZwpAQCAtMCwwICsxLDEzIEBACis8ZWxlbWVudCBuYW1lPSJhZGRyZXNzQm9vayIgbnM9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20iCisgICAgICAgICB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPgorICA8emVyb09yTW9yZT4KKyAgICA8ZWxlbWVudCBuYW1lPSJjYXJkIj4KKyAgICAgIDxlbGVtZW50IG5hbWU9Im5hbWUiPgorICAgICAgICA8dGV4dC8+CisgICAgICA8L2VsZW1lbnQ+CisgICAgICA8ZWxlbWVudCBuYW1lPSJlbWFpbCI+CisgICAgICAgIDx0ZXh0Lz4KKyAgICAgIDwvZWxlbWVudD4KKyAgICA8L2VsZW1lbnQ+CisgIDwvemVyb09yTW9yZT4KKzwvZWxlbWVudD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yMTBfNV8xLnhtbCBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yMTBfNV8xLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NGU2MmYwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IxMF81XzEueG1sCkBAIC0wLDAgKzEsMyBAQAorPGFkZHJlc3NCb29rIHhtbG5zPSJodHRwOi8vd3d3LmV4YW1wbGUuY29tIj4KKyAgPGNhcmQ+PG5hbWU+Zm9vPC9uYW1lPjxlbWFpbD5iYXI8L2VtYWlsPjwvY2FyZD4KKzwvYWRkcmVzc0Jvb2s+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjEwXzYucm5nIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IxMF82LnJuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZDUwNTQ3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IxMF82LnJuZwpAQCAtMCwwICsxLDEzIEBACis8ZWxlbWVudCBuYW1lPSJhZGRyZXNzQm9vayIgbnM9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20iCisgICAgICAgICB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPgorICA8emVyb09yTW9yZT4KKyAgICA8ZWxlbWVudCBuYW1lPSJjYXJkIiBucz0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSI+CisgICAgICA8ZWxlbWVudCBuYW1lPSJuYW1lIiBucz0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSI+CisgICAgICAgIDx0ZXh0Lz4KKyAgICAgIDwvZWxlbWVudD4KKyAgICAgIDxlbGVtZW50IG5hbWU9ImVtYWlsIiBucz0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSI+CisgICAgICAgIDx0ZXh0Lz4KKyAgICAgIDwvZWxlbWVudD4KKyAgICA8L2VsZW1lbnQ+CisgIDwvemVyb09yTW9yZT4KKzwvZWxlbWVudD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yMTBfNl8xLnhtbCBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yMTBfNl8xLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NGU2MmYwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IxMF82XzEueG1sCkBAIC0wLDAgKzEsMyBAQAorPGFkZHJlc3NCb29rIHhtbG5zPSJodHRwOi8vd3d3LmV4YW1wbGUuY29tIj4KKyAgPGNhcmQ+PG5hbWU+Zm9vPC9uYW1lPjxlbWFpbD5iYXI8L2VtYWlsPjwvY2FyZD4KKzwvYWRkcmVzc0Jvb2s+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjEwXzcucm5nIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IxMF83LnJuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZTkzZGY3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IxMF83LnJuZwpAQCAtMCwwICsxLDkgQEAKKzxlbGVtZW50IG5hbWU9ImFkZHJlc3NCb29rIiBucz0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSIKKyAgICAgICAgIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+CisgIDx6ZXJvT3JNb3JlPgorICAgIDxlbGVtZW50IG5hbWU9ImNhcmQiPgorICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJuYW1lIi8+CisgICAgICA8YXR0cmlidXRlIG5hbWU9ImVtYWlsIi8+CisgICAgPC9lbGVtZW50PgorICA8L3plcm9Pck1vcmU+Cis8L2VsZW1lbnQ+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjEwXzdfMS54bWwgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjEwXzdfMS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzQwZDBkMwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yMTBfN18xLnhtbApAQCAtMCwwICsxLDMgQEAKKzxhZGRyZXNzQm9vayB4bWxucz0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSI+CisgIDxjYXJkIG5hbWU9IkpvaG4gU21pdGgiIGVtYWlsPSJqc0BleGFtcGxlLmNvbSIvPgorPC9hZGRyZXNzQm9vaz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yMTBfN18yLnhtbCBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yMTBfN18yLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NzQzNmU1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IxMF83XzIueG1sCkBAIC0wLDAgKzEsMyBAQAorPGV4YW1wbGU6YWRkcmVzc0Jvb2sgeG1sbnM6ZXhhbXBsZT0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSI+CisgIDxleGFtcGxlOmNhcmQgbmFtZT0iSm9obiBTbWl0aCIgZW1haWw9ImpzQGV4YW1wbGUuY29tIi8+Cis8L2V4YW1wbGU6YWRkcmVzc0Jvb2s+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjEwXzdfMy54bWwgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjEwXzdfMy54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2Y1OGE4YgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yMTBfN18zLnhtbApAQCAtMCwwICsxLDMgQEAKKzxleGFtcGxlOmFkZHJlc3NCb29rIHhtbG5zOmV4YW1wbGU9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20iPgorICA8ZXhhbXBsZTpjYXJkIGV4YW1wbGU6bmFtZT0iSm9obiBTbWl0aCIgZXhhbXBsZTplbWFpbD0ianNAZXhhbXBsZS5jb20iLz4KKzwvZXhhbXBsZTphZGRyZXNzQm9vaz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yMTBfOC5ybmcgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjEwXzgucm5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNhZWZmZWMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjEwXzgucm5nCkBAIC0wLDAgKzEsOSBAQAorPGVsZW1lbnQgbmFtZT0iYWRkcmVzc0Jvb2siIG5zPSJodHRwOi8vd3d3LmV4YW1wbGUuY29tIgorICAgICAgICAgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4KKyAgPHplcm9Pck1vcmU+CisgICAgPGVsZW1lbnQgbmFtZT0iY2FyZCIgbnM9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20iPgorICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJuYW1lIiBucz0iIi8+CisgICAgICA8YXR0cmlidXRlIG5hbWU9ImVtYWlsIiBucz0iIi8+CisgICAgPC9lbGVtZW50PgorICA8L3plcm9Pck1vcmU+Cis8L2VsZW1lbnQ+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjEwXzhfMS54bWwgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjEwXzhfMS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzQwZDBkMwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yMTBfOF8xLnhtbApAQCAtMCwwICsxLDMgQEAKKzxhZGRyZXNzQm9vayB4bWxucz0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSI+CisgIDxjYXJkIG5hbWU9IkpvaG4gU21pdGgiIGVtYWlsPSJqc0BleGFtcGxlLmNvbSIvPgorPC9hZGRyZXNzQm9vaz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yMTBfOF8yLnhtbCBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yMTBfOF8yLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NzQzNmU1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IxMF84XzIueG1sCkBAIC0wLDAgKzEsMyBAQAorPGV4YW1wbGU6YWRkcmVzc0Jvb2sgeG1sbnM6ZXhhbXBsZT0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSI+CisgIDxleGFtcGxlOmNhcmQgbmFtZT0iSm9obiBTbWl0aCIgZW1haWw9ImpzQGV4YW1wbGUuY29tIi8+Cis8L2V4YW1wbGU6YWRkcmVzc0Jvb2s+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjEwXzhfMy54bWwgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjEwXzhfMy54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2Y1OGE4YgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yMTBfOF8zLnhtbApAQCAtMCwwICsxLDMgQEAKKzxleGFtcGxlOmFkZHJlc3NCb29rIHhtbG5zOmV4YW1wbGU9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20iPgorICA8ZXhhbXBsZTpjYXJkIGV4YW1wbGU6bmFtZT0iSm9obiBTbWl0aCIgZXhhbXBsZTplbWFpbD0ianNAZXhhbXBsZS5jb20iLz4KKzwvZXhhbXBsZTphZGRyZXNzQm9vaz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yMTBfOS5ybmcgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjEwXzkucm5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM5NTRhOTEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjEwXzkucm5nCkBAIC0wLDAgKzEsMTQgQEAKKzxlbGVtZW50IG5hbWU9ImFiOmFkZHJlc3NCb29rIiB4bWxuczphYj0iaHR0cDovL3d3dy5leGFtcGxlLmNvbS9hZGRyZXNzQm9vayIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxuczphPSJodHRwOi8vd3d3LmV4YW1wbGUuY29tL2FkZHJlc3MiCisgICAgICAgICB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPgorICA8emVyb09yTW9yZT4KKyAgICA8ZWxlbWVudCBuYW1lPSJhYjpjYXJkIj4KKyAgICAgIDxlbGVtZW50IG5hbWU9ImE6bmFtZSI+CisgICAgICAgIDx0ZXh0Lz4KKyAgICAgIDwvZWxlbWVudD4KKyAgICAgIDxlbGVtZW50IG5hbWU9ImE6ZW1haWwiPgorICAgICAgICA8dGV4dC8+CisgICAgICA8L2VsZW1lbnQ+CisgICAgPC9lbGVtZW50PgorICA8L3plcm9Pck1vcmU+Cis8L2VsZW1lbnQ+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjEwXzlfMS54bWwgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjEwXzlfMS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjA3OTgyYQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yMTBfOV8xLnhtbApAQCAtMCwwICsxLDUgQEAKKzxhOmFkZHJlc3NCb29rIHhtbG5zOmE9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20vYWRkcmVzc0Jvb2siPgorICA8YTpjYXJkIHhtbG5zPSJodHRwOi8vd3d3LmV4YW1wbGUuY29tL2FkZHJlc3MiPgorICAgIDxuYW1lPmZvbzwvbmFtZT48ZW1haWw+YmFyPC9lbWFpbD4KKyAgPC9hOmNhcmQ+Cis8L2E6YWRkcmVzc0Jvb2s+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjExXzEucm5nIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IxMV8xLnJuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNTExYWYxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IxMV8xLnJuZwpAQCAtMCwwICsxLDIyIEBACis8Z3JhbW1hciB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPgorCisgIDxzdGFydD4KKyAgICA8cmVmIG5hbWU9ImFueUVsZW1lbnQiLz4KKyAgPC9zdGFydD4KKworICA8ZGVmaW5lIG5hbWU9ImFueUVsZW1lbnQiPgorICAgIDxlbGVtZW50PgorICAgICAgPGFueU5hbWUvPgorICAgICAgPHplcm9Pck1vcmU+CisJPGNob2ljZT4KKwkgIDxhdHRyaWJ1dGU+CisJICAgIDxhbnlOYW1lLz4KKwkgIDwvYXR0cmlidXRlPgorCSAgPHRleHQvPgorCSAgPHJlZiBuYW1lPSJhbnlFbGVtZW50Ii8+CisJPC9jaG9pY2U+CisgICAgICA8L3plcm9Pck1vcmU+CisgICAgPC9lbGVtZW50PgorICA8L2RlZmluZT4KKworPC9ncmFtbWFyPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IxMV8xXzEueG1sIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IxMV8xXzEueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI1MTFhZjEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjExXzFfMS54bWwKQEAgLTAsMCArMSwyMiBAQAorPGdyYW1tYXIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4KKworICA8c3RhcnQ+CisgICAgPHJlZiBuYW1lPSJhbnlFbGVtZW50Ii8+CisgIDwvc3RhcnQ+CisKKyAgPGRlZmluZSBuYW1lPSJhbnlFbGVtZW50Ij4KKyAgICA8ZWxlbWVudD4KKyAgICAgIDxhbnlOYW1lLz4KKyAgICAgIDx6ZXJvT3JNb3JlPgorCTxjaG9pY2U+CisJICA8YXR0cmlidXRlPgorCSAgICA8YW55TmFtZS8+CisJICA8L2F0dHJpYnV0ZT4KKwkgIDx0ZXh0Lz4KKwkgIDxyZWYgbmFtZT0iYW55RWxlbWVudCIvPgorCTwvY2hvaWNlPgorICAgICAgPC96ZXJvT3JNb3JlPgorICAgIDwvZWxlbWVudD4KKyAgPC9kZWZpbmU+CisKKzwvZ3JhbW1hcj4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yMTFfMV8yLnhtbCBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yMTFfMV8yLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNDVmYzNiCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IxMV8xXzIueG1sCkBAIC0wLDAgKzEsNyBAQAorPGFkZHJlc3NCb29rPgorICA8Y2FyZD4KKyAgICA8bmFtZT5mb288L25hbWU+CisgICAgPGVtYWlsPmJhcjwvZW1haWw+CisgICAgPG5vdGU+dGhpcyBndXkgaXMgPGVtPmFubm95aW5nPC9lbT4gITwvbm90ZT4KKyAgPC9jYXJkPgorPC9hZGRyZXNzQm9vaz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yMTFfMV8zLnhtbCBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yMTFfMV8zLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNzc4Y2UwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IxMV8xXzMueG1sCkBAIC0wLDAgKzEsNDE5NyBAQAorPD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nSVNPLTg4NTktMScgc3RhbmRhbG9uZT0nbm8nPz4KKzwhRE9DVFlQRSBzcGVjIFNZU1RFTSAiLi4vdmFsaWQvZHRkcy9zcGVjLmR0ZCIgWworCis8IS0tIExBU1QgVE9VQ0hFRCBCWTogVGltIEJyYXksIDggRmVicnVhcnkgMTk5NyAtLT4KKworPCEtLSBUaGUgd29yZHMgJ0ZJTkFMIEVESVQnIGluIGNvbW1lbnRzIG1hcmsgcGxhY2VzIHdoZXJlIGNoYW5nZXMKK25lZWQgdG8gYmUgbWFkZSBhZnRlciBhcHByb3ZhbCBvZiB0aGUgZG9jdW1lbnQgYnkgdGhlIEVSQiwgYmVmb3JlCitwdWJsaWNhdGlvbi4gIC0tPgorCis8IUVOVElUWSBYTUwudmVyc2lvbiAiMS4wIj4KKzwhRU5USVRZIGRvYy5kYXRlICIxMCBGZWJydWFyeSAxOTk4Ij4KKzwhRU5USVRZIGlzbzYuZG9jLmRhdGUgIjE5OTgwMjEwIj4KKzwhRU5USVRZIHczYy5kb2MuZGF0ZSAiMDItRmViLTE5OTgiPgorPCFFTlRJVFkgZHJhZnQuZGF5ICcxMCc+Cis8IUVOVElUWSBkcmFmdC5tb250aCAnRmVicnVhcnknPgorPCFFTlRJVFkgZHJhZnQueWVhciAnMTk5OCc+CisKKzwhRU5USVRZIFdlYlNHTUwgCisgJ1dlYlNHTUwgQWRhcHRhdGlvbnMgQW5uZXggdG8gSVNPIDg4NzknPgorCis8IUVOVElUWSBsdCAgICAgIjwiPiAKKzwhRU5USVRZIGd0ICAgICAiPiI+IAorPCFFTlRJVFkgeG1scGlvICInJmx0Oz94bWwnIj4KKzwhRU5USVRZIHBpYyAgICAiJz8+JyI+Cis8IUVOVElUWSBiciAgICAgIlxuIj4KKzwhRU5USVRZIGNlbGxiYWNrICcjYzBkOWMwJz4KKzwhRU5USVRZIG1kYXNoICAiLS0iPiA8IS0tICYjeDIwMTQsIGJ1dCBuc2dtbHMgZG9lc24ndCBncm9rIGhleCAtLT4KKzwhRU5USVRZIGNvbSAgICAiLS0iPgorPCFFTlRJVFkgY29tbyAgICItLSI+Cis8IUVOVElUWSBjb21jICAgIi0tIj4KKzwhRU5USVRZIGhjcm8gICAiJmFtcDsjeCI+Cis8IS0tIDwhRU5USVRZIG5ic3AgIqAiPiAtLT4KKzwhRU5USVRZIG5ic3AgICAiJiMxNjA7Ij4KKzwhRU5USVRZIG1hZ2ljZW50cyAiPGNvZGU+YW1wPC9jb2RlPiwKKzxjb2RlPmx0PC9jb2RlPiwKKzxjb2RlPmd0PC9jb2RlPiwKKzxjb2RlPmFwb3M8L2NvZGU+LAorPGNvZGU+cXVvdDwvY29kZT4iPgorIAorPCEtLSBhdWRpZW5jZSBhbmQgZGlzdHJpYnV0aW9uIHN0YXR1czogIGZvciB1c2UgYXQgcHVibGljYXRpb24gdGltZSAtLT4KKzwhRU5USVRZIGRvYy5hdWRpZW5jZSAicHVibGljIHJldmlldyBhbmQgZGlzY3Vzc2lvbiI+Cis8IUVOVElUWSBkb2MuZGlzdHJpYnV0aW9uICJtYXkgYmUgZGlzdHJpYnV0ZWQgZnJlZWx5LCBhcyBsb25nIGFzCithbGwgdGV4dCBhbmQgbGVnYWwgbm90aWNlcyByZW1haW4gaW50YWN0Ij4KKworXT4KKworPCEtLSBmb3IgUGFub3JhbWEgKi0tPgorPD9WRVJCQVRJTSAiZWciID8+CisKKzxzcGVjPgorPGhlYWRlcj4KKzx0aXRsZT5FeHRlbnNpYmxlIE1hcmt1cCBMYW5ndWFnZSAoWE1MKSAxLjA8L3RpdGxlPgorPHZlcnNpb24+PC92ZXJzaW9uPgorPHczYy1kZXNpZ25hdGlvbj5SRUMteG1sLSZpc282LmRvYy5kYXRlOzwvdzNjLWRlc2lnbmF0aW9uPgorPHczYy1kb2N0eXBlPlczQyBSZWNvbW1lbmRhdGlvbjwvdzNjLWRvY3R5cGU+Cis8cHViZGF0ZT48ZGF5PiZkcmFmdC5kYXk7PC9kYXk+PG1vbnRoPiZkcmFmdC5tb250aDs8L21vbnRoPjx5ZWFyPiZkcmFmdC55ZWFyOzwveWVhcj48L3B1YmRhdGU+CisKKzxwdWJsb2M+Cis8bG9jICBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi8xOTk4L1JFQy14bWwtJmlzbzYuZG9jLmRhdGU7Ij4KK2h0dHA6Ly93d3cudzMub3JnL1RSLzE5OTgvUkVDLXhtbC0maXNvNi5kb2MuZGF0ZTs8L2xvYz4KKzxsb2MgIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSLzE5OTgvUkVDLXhtbC0maXNvNi5kb2MuZGF0ZTsueG1sIj4KK2h0dHA6Ly93d3cudzMub3JnL1RSLzE5OTgvUkVDLXhtbC0maXNvNi5kb2MuZGF0ZTsueG1sPC9sb2M+Cis8bG9jICBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi8xOTk4L1JFQy14bWwtJmlzbzYuZG9jLmRhdGU7Lmh0bWwiPgoraHR0cDovL3d3dy53My5vcmcvVFIvMTk5OC9SRUMteG1sLSZpc282LmRvYy5kYXRlOy5odG1sPC9sb2M+Cis8bG9jICBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi8xOTk4L1JFQy14bWwtJmlzbzYuZG9jLmRhdGU7LnBkZiI+CitodHRwOi8vd3d3LnczLm9yZy9UUi8xOTk4L1JFQy14bWwtJmlzbzYuZG9jLmRhdGU7LnBkZjwvbG9jPgorPGxvYyAgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvMTk5OC9SRUMteG1sLSZpc282LmRvYy5kYXRlOy5wcyI+CitodHRwOi8vd3d3LnczLm9yZy9UUi8xOTk4L1JFQy14bWwtJmlzbzYuZG9jLmRhdGU7LnBzPC9sb2M+Cis8L3B1YmxvYz4KKzxsYXRlc3Rsb2M+Cis8bG9jICBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMteG1sIj4KK2h0dHA6Ly93d3cudzMub3JnL1RSL1JFQy14bWw8L2xvYz4KKzwvbGF0ZXN0bG9jPgorPHByZXZsb2NzPgorPGxvYyAgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvUFIteG1sLTk3MTIwOCI+CitodHRwOi8vd3d3LnczLm9yZy9UUi9QUi14bWwtOTcxMjA4PC9sb2M+Cis8IS0tCis8bG9jICBocmVmPSdodHRwOi8vd3d3LnczLm9yZy9UUi9XRC14bWwtOTYxMTE0Jz4KK2h0dHA6Ly93d3cudzMub3JnL1RSL1dELXhtbC05NjExMTQ8L2xvYz4KKzxsb2MgIGhyZWY9J2h0dHA6Ly93d3cudzMub3JnL1RSL1dELXhtbC1sYW5nLTk3MDMzMSc+CitodHRwOi8vd3d3LnczLm9yZy9UUi9XRC14bWwtbGFuZy05NzAzMzE8L2xvYz4KKzxsb2MgIGhyZWY9J2h0dHA6Ly93d3cudzMub3JnL1RSL1dELXhtbC1sYW5nLTk3MDYzMCc+CitodHRwOi8vd3d3LnczLm9yZy9UUi9XRC14bWwtbGFuZy05NzA2MzA8L2xvYz4KKzxsb2MgIGhyZWY9J2h0dHA6Ly93d3cudzMub3JnL1RSL1dELXhtbC05NzA4MDcnPgoraHR0cDovL3d3dy53My5vcmcvVFIvV0QteG1sLTk3MDgwNzwvbG9jPgorPGxvYyAgaHJlZj0naHR0cDovL3d3dy53My5vcmcvVFIvV0QteG1sLTk3MTExNyc+CitodHRwOi8vd3d3LnczLm9yZy9UUi9XRC14bWwtOTcxMTE3PC9sb2M+LS0+Cis8L3ByZXZsb2NzPgorPGF1dGhsaXN0PgorPGF1dGhvcj48bmFtZT5UaW0gQnJheTwvbmFtZT4KKzxhZmZpbGlhdGlvbj5UZXh0dWFsaXR5IGFuZCBOZXRzY2FwZTwvYWZmaWxpYXRpb24+Cis8ZW1haWwgCitocmVmPSJtYWlsdG86dGJyYXlAdGV4dHVhbGl0eS5jb20iPnRicmF5QHRleHR1YWxpdHkuY29tPC9lbWFpbD48L2F1dGhvcj4KKzxhdXRob3I+PG5hbWU+SmVhbiBQYW9saTwvbmFtZT4KKzxhZmZpbGlhdGlvbj5NaWNyb3NvZnQ8L2FmZmlsaWF0aW9uPgorPGVtYWlsIGhyZWY9Im1haWx0bzpqZWFucGFAbWljcm9zb2Z0LmNvbSI+amVhbnBhQG1pY3Jvc29mdC5jb208L2VtYWlsPjwvYXV0aG9yPgorPGF1dGhvcj48bmFtZT5DLiBNLiBTcGVyYmVyZy1NY1F1ZWVuPC9uYW1lPgorPGFmZmlsaWF0aW9uPlVuaXZlcnNpdHkgb2YgSWxsaW5vaXMgYXQgQ2hpY2FnbzwvYWZmaWxpYXRpb24+Cis8ZW1haWwgaHJlZj0ibWFpbHRvOmNtc21jcUB1aWMuZWR1Ij5jbXNtY3FAdWljLmVkdTwvZW1haWw+PC9hdXRob3I+Cis8L2F1dGhsaXN0PgorPGFic3RyYWN0PgorPHA+VGhlIEV4dGVuc2libGUgTWFya3VwIExhbmd1YWdlIChYTUwpIGlzIGEgc3Vic2V0IG9mCitTR01MIHRoYXQgaXMgY29tcGxldGVseSBkZXNjcmliZWQgaW4gdGhpcyBkb2N1bWVudC4gSXRzIGdvYWwgaXMgdG8KK2VuYWJsZSBnZW5lcmljIFNHTUwgdG8gYmUgc2VydmVkLCByZWNlaXZlZCwgYW5kIHByb2Nlc3NlZCBvbiB0aGUgV2ViCitpbiB0aGUgd2F5IHRoYXQgaXMgbm93IHBvc3NpYmxlIHdpdGggSFRNTC4gWE1MIGhhcyBiZWVuIGRlc2lnbmVkIGZvcgorZWFzZSBvZiBpbXBsZW1lbnRhdGlvbiBhbmQgZm9yIGludGVyb3BlcmFiaWxpdHkgd2l0aCBib3RoIFNHTUwgYW5kCitIVE1MLjwvcD4KKzwvYWJzdHJhY3Q+Cis8c3RhdHVzPgorPHA+VGhpcyBkb2N1bWVudCBoYXMgYmVlbiByZXZpZXdlZCBieSBXM0MgTWVtYmVycyBhbmQKK290aGVyIGludGVyZXN0ZWQgcGFydGllcyBhbmQgaGFzIGJlZW4gZW5kb3JzZWQgYnkgdGhlCitEaXJlY3RvciBhcyBhIFczQyBSZWNvbW1lbmRhdGlvbi4gSXQgaXMgYSBzdGFibGUKK2RvY3VtZW50IGFuZCBtYXkgYmUgdXNlZCBhcyByZWZlcmVuY2UgbWF0ZXJpYWwgb3IgY2l0ZWQKK2FzIGEgbm9ybWF0aXZlIHJlZmVyZW5jZSBmcm9tIGFub3RoZXIgZG9jdW1lbnQuIFczQydzCityb2xlIGluIG1ha2luZyB0aGUgUmVjb21tZW5kYXRpb24gaXMgdG8gZHJhdyBhdHRlbnRpb24KK3RvIHRoZSBzcGVjaWZpY2F0aW9uIGFuZCB0byBwcm9tb3RlIGl0cyB3aWRlc3ByZWFkCitkZXBsb3ltZW50LiBUaGlzIGVuaGFuY2VzIHRoZSBmdW5jdGlvbmFsaXR5IGFuZAoraW50ZXJvcGVyYWJpbGl0eSBvZiB0aGUgV2ViLjwvcD4KKzxwPgorVGhpcyBkb2N1bWVudCBzcGVjaWZpZXMgYSBzeW50YXggY3JlYXRlZCBieSBzdWJzZXR0aW5nIGFuIGV4aXN0aW5nLAord2lkZWx5IHVzZWQgaW50ZXJuYXRpb25hbCB0ZXh0IHByb2Nlc3Npbmcgc3RhbmRhcmQgKFN0YW5kYXJkCitHZW5lcmFsaXplZCBNYXJrdXAgTGFuZ3VhZ2UsIElTTyA4ODc5OjE5ODYoRSkgYXMgYW1lbmRlZCBhbmQKK2NvcnJlY3RlZCkgZm9yIHVzZSBvbiB0aGUgV29ybGQgV2lkZSBXZWIuICBJdCBpcyBhIHByb2R1Y3Qgb2YgdGhlIFczQworWE1MIEFjdGl2aXR5LCBkZXRhaWxzIG9mIHdoaWNoIGNhbiBiZSBmb3VuZCBhdCA8bG9jCitocmVmPSdodHRwOi8vd3d3LnczLm9yZy9YTUwnPmh0dHA6Ly93d3cudzMub3JnL1hNTDwvbG9jPi4gIEEgbGlzdCBvZgorY3VycmVudCBXM0MgUmVjb21tZW5kYXRpb25zIGFuZCBvdGhlciB0ZWNobmljYWwgZG9jdW1lbnRzIGNhbiBiZSBmb3VuZAorYXQgPGxvYyBocmVmPSdodHRwOi8vd3d3LnczLm9yZy9UUic+aHR0cDovL3d3dy53My5vcmcvVFI8L2xvYz4uCis8L3A+Cis8cD5UaGlzIHNwZWNpZmljYXRpb24gdXNlcyB0aGUgdGVybSBVUkksIHdoaWNoIGlzIGRlZmluZWQgYnkgPGJpYnJlZgorcmVmPSJCZXJuZXJzLUxlZSIvPiwgYSB3b3JrIGluIHByb2dyZXNzIGV4cGVjdGVkIHRvIHVwZGF0ZSA8YmlicmVmCityZWY9IlJGQzE3MzgiLz4gYW5kIDxiaWJyZWYgcmVmPSJSRkMxODA4Ii8+LiAKKzwvcD4KKzxwPlRoZSBsaXN0IG9mIGtub3duIGVycm9ycyBpbiB0aGlzIHNwZWNpZmljYXRpb24gaXMgCithdmFpbGFibGUgYXQgCis8bG9jIGhyZWY9J2h0dHA6Ly93d3cudzMub3JnL1hNTC94bWwtMTk5ODAyMTAtZXJyYXRhJz5odHRwOi8vd3d3LnczLm9yZy9YTUwveG1sLTE5OTgwMjEwLWVycmF0YTwvbG9jPi48L3A+Cis8cD5QbGVhc2UgcmVwb3J0IGVycm9ycyBpbiB0aGlzIGRvY3VtZW50IHRvIAorPGxvYyBocmVmPSdtYWlsdG86eG1sLWVkaXRvckB3My5vcmcnPnhtbC1lZGl0b3JAdzMub3JnPC9sb2M+LgorPC9wPgorPC9zdGF0dXM+CisKKworPHB1YnN0bXQ+Cis8cD5DaGljYWdvLCBWYW5jb3V2ZXIsIE1vdW50YWluIFZpZXcsIGV0IGFsLjoKK1dvcmxkLVdpZGUgV2ViIENvbnNvcnRpdW0sIFhNTCBXb3JraW5nIEdyb3VwLCAxOTk2LCAxOTk3LjwvcD4KKzwvcHVic3RtdD4KKzxzb3VyY2VkZXNjPgorPHA+Q3JlYXRlZCBpbiBlbGVjdHJvbmljIGZvcm0uPC9wPgorPC9zb3VyY2VkZXNjPgorPGxhbmd1c2FnZT4KKzxsYW5ndWFnZSBpZD0nRU4nPkVuZ2xpc2g8L2xhbmd1YWdlPgorPGxhbmd1YWdlIGlkPSdlYm5mJz5FeHRlbmRlZCBCYWNrdXMtTmF1ciBGb3JtIChmb3JtYWwgZ3JhbW1hcik8L2xhbmd1YWdlPgorPC9sYW5ndXNhZ2U+Cis8cmV2aXNpb25kZXNjPgorPHNsaXN0PgorPHNpdGVtPjE5OTctMTItMDMgOiBDTVNNY1EgOiB5ZXQgZnVydGhlciBjaGFuZ2VzPC9zaXRlbT4KKzxzaXRlbT4xOTk3LTEyLTAyIDogVEIgOiBmdXJ0aGVyIGNoYW5nZXMgKHNlZSBUQiB0byBYTUwgV0csCisyIERlY2VtYmVyIDE5OTcpPC9zaXRlbT4KKzxzaXRlbT4xOTk3LTEyLTAyIDogQ01TTWNRIDogZGVhbCB3aXRoIGFzIG1hbnkgY29ycmVjdGlvbnMgYW5kCitjb21tZW50cyBmcm9tIHRoZSBwcm9vZnJlYWRlcnMgYXMgcG9zc2libGU6CitlbnRpZnkgaGFyZC1jb2RlZCBkb2N1bWVudCBkYXRlIGluIHB1YmRhdGUgZWxlbWVudCwKK2NoYW5nZSBleHBhbnNpb24gb2YgZW50aXR5IFdlYlNHTUwsCit1cGRhdGUgc3RhdHVzIGRlc2NyaXB0aW9uIGFzIHBlciBEYW4gQ29ubm9sbHkgKGFtIG5vdCBzdXJlCithYm91dCByZWZlcm5lY2UgdG8gQmVybmVycy1MZWUgZXQgYWwuKSwKK2FkZCAnVGhlJyB0byBhYnN0cmFjdCBhcyBwZXIgV0cgZGVjaXNpb24sCittb3ZlIFJlbGF0aW9uc2hpcCB0byBFeGlzdGluZyBTdGFuZGFyZHMgdG8gYmFjayBtYXR0ZXIgYW5kCitjb21iaW5lIHdpdGggUmVmZXJlbmNlcywKK3JlLW9yZGVyIGJhY2sgbWF0dGVyIHNvIG5vcm1hdGl2ZSBhcHBlbmRpY2VzIGNvbWUgZmlyc3QsCityZS10YWcgYmFjayBtYXR0ZXIgc28gaW5mb3JtYXRpdmUgYXBwZW5kaWNlcyBhcmUgdGFnZ2VkIGluZm9ybWRpdjEsCityZW1vdmUgWFhYIFhYWCBmcm9tIGxpc3Qgb2YgJ25vcm1hdGl2ZScgc3BlY3MgaW4gcHJvc2UsCittb3ZlIHNvbWUgcmVmZXJlbmNlcyBmcm9tIE90aGVyIFJlZmVyZW5jZXMgdG8gTm9ybWF0aXZlIFJlZmVyZW5jZXMsCithZGQgUkZDIDE3MzgsIDE4MDgsIGFuZCAyMTQxIHRvIE90aGVyIFJlZmVyZW5jZXMgKHRoZXkgYXJlIG5vdAorbm9ybWF0aXZlIHNpbmNlIHdlIGRvIG5vdCByZXF1aXJlIHRoZSBwcm9jZXNzb3IgdG8gZW5mb3JjZSBhbnkgCitydWxlcyBiYXNlZCBvbiB0aGVtKSwKK2FkZCByZWZlcmVuY2UgdG8gJ0ZpZWxkaW5nIGRyYWZ0JyAoQmVybmVycy1MZWUgZXQgYWwuKSwKK21vdmUgbm90YXRpb24gc2VjdGlvbiB0byBlbmQgb2YgYm9keSwKK2Ryb3AgVVJJY2hhciBub24tdGVybWluYWwgYW5kIHVzZSBTa2lwTGl0IGluc3RlYWQsCitsb3NlIHN0cmF5IHJlZmVyZW5jZSB0byBkZWZ1bmN0IG5vbnRlcm1pbmFsICdtYXJrdXBkZWNscycsCittb3ZlIHJlZmVyZW5jZSB0byBBaG8gZXQgYWwuIGludG8gYXBwZW5kaXggKFRpbSdzIHJpZ2h0KSwKK2FkZCBwcm9zZSBub3RlIHNheWluZyB0aGF0IGhhc2ggbWFya3MgYW5kIGZyYWdtZW50IGlkZW50aWZpZXJzIGFyZQorTk9UIHBhcnQgb2YgdGhlIFVSSSBmb3JtYWxseSBzcGVha2luZywgYW5kIGFyZSBOT1QgbGVnYWwgaW4gCitzeXN0ZW0gaWRlbnRpZmllcnMgKHByb2Nlc3NvciAnbWF5JyBzaWduYWwgYW4gZXJyb3IpLgorV29yayB0aHJvdWdoOgorVGltIEJyYXkgcmVhY3RpbmcgdG8gSmFtZXMgQ2xhcmssCitUaW0gQnJheSBvbiBoaXMgb3duLAorRXZlIE1hbGVyLAorCitOT1QgRE9ORSBZRVQ6CitjaGFuZ2UgYmluYXJ5IC8gdGV4dCB0byB1bnBhcnNlZCAvIHBhcnNlZC4KK2hhbmRsZSBKYW1lcydzIHN1Z2dlc3Rpb24gYWJvdXQgJmx0OyBpbiBhdHRyaXVidGUgdmFsdWVzCit1cHBlcmNhc2UgaGV4IGNoYXJhY3RlcnMsCituYW1lY2hhciBsaXN0LAorPC9zaXRlbT4KKzxzaXRlbT4xOTk3LTEyLTAxIDogSkIgOiBhZGQgc29tZSBjb2x1bW4td2lkdGggcGFyYW1ldGVyczwvc2l0ZW0+Cis8c2l0ZW0+MTk5Ny0xMi0wMSA6IENNU01jUSA6IGJlZ2luIHJvdW5kIG9mIGNoYW5nZXMgdG8gaW5jb3Jwb3JhdGUKK3JlY2VudCBXRyBkZWNpc2lvbnMgYW5kIG90aGVyIGNvcnJlY3Rpb25zOgorYmluZGluZyBzb3VyY2VzIG9mIGNoYXJhY3RlciBlbmNvZGluZyBpbmZvICgyNyBBdWcgLyAzIFNlcHQpLAorY29ycmVjdCB3b3JkaW5nIG9mIEZhdXN0IHF1b3RhdGlvbiAocmVzdG9yZSBkcm9wcGVkIGxpbmUpLAorZHJvcCBTREQgZnJvbSBFbmNvZGluZ0RlY2wsCitjaGFuZ2UgdGV4dCBhdCB2ZXJzaW9uIG51bWJlciAxLjAsCitkcm9wIG1pc2xlYWRpbmcgKHdyb25nISkgc2VudGVuY2UgYWJvdXQgaWdub3JhYmxlcyBhbmQgZXh0ZW5kZXJzLAorbW9kaWZ5IGRlZmluaXRpb24gb2YgUENEYXRhIHRvIG1ha2UgYmFyIG9uIG1zYyBncmFtbWF0aWNhbCwKK2NoYW5nZSBncmFtbWFyJ3MgaGFuZGxpbmcgb2YgaW50ZXJuYWwgc3Vic2V0IChkcm9wIG5vbi10ZXJtaW5hbCBtYXJrdXBkZWNscyksCitjaGFuZ2UgZGVmaW5pdGlvbiBvZiBpbmNsdWRlU2VjdCB0byBhbGxvdyBjb25kaXRpb25hbCBzZWN0aW9ucywKK2FkZCBpbnRlZ3JhbC1kZWNsYXJhdGlvbiBjb25zdHJhaW50IG9uIGludGVybmFsIHN1YnNldCwKK2Ryb3AgbWlzbGVhZGluZyAvIGRhbmdlcm91cyBzZW50ZW5jZSBhYm91dCByZWxhdGlvbnNoaXAgb2YKK2VudGl0aWVzIHdpdGggc3lzdGVtIHN0b3JhZ2Ugb2JqZWN0cywKK2NoYW5nZSB0YWJsZSBib2R5IHRhZyB0byBodGJvZHkgYXMgcGVyIEVNIGNoYW5nZSB0byBEVEQsCithZGQgcnVsZSBhYm91dCBzcGFjZSBub3JtYWxpemF0aW9uIGluIHB1YmxpYyBpZGVudGlmaWVycywKK2FkZCBkZXNjcmlwdGlvbiBvZiBob3cgdG8gZ2VuZXJhdGUgb3VyIG5hbWUtc3BhY2UgcnVsZXMgZnJvbSAKK1VuaWNvZGUgY2hhcmFjdGVyIGRhdGFiYXNlIChuZWVkcyBmdXJ0aGVyIHdvcmshKS4KKzwvc2l0ZW0+Cis8c2l0ZW0+MTk5Ny0xMC0wOCA6IFRCIDogUmVtb3ZlZCAlLWNvbnN0cnVjdHMgYWdhaW4sIG5ldyBydWxlcworZm9yIFBFIGFwcGVhcmFuY2UuPC9zaXRlbT4KKzxzaXRlbT4xOTk3LTEwLTAxIDogVEIgOiBDYXNlLXNlbnNpdGl2ZSBtYXJrdXA7IGNsZWFuZWQgdXAKK2VsZW1lbnQtdHlwZSBkZWZzLCBsb3RzYSBsaXR0bGUgZWRpdHMgZm9yIHN0eWxlPC9zaXRlbT4KKzxzaXRlbT4xOTk3LTA5LTI1IDogVEIgOiBDaGFuZ2UgdG8gZWxtJ3MgbmV3IERURCwgd2l0aAorc3Vic3RhbnRpYWwgZGV0YWlsIGNsZWFudXAgYXMgYSBzaWRlLWVmZmVjdDwvc2l0ZW0+Cis8c2l0ZW0+MTk5Ny0wNy0yNCA6IENNU01jUSA6IGNvcnJlY3QgZXJyb3IgKGxvc3QgKikgaW4gZGVmaW5pdGlvbiAKK29mIGlnbm9yZVNlY3RDb250ZW50cyAodGhhbmtzIHRvIE1ha290byBNdXJhdGEpPC9zaXRlbT4KKzxzaXRlbT5BbGxvdyBhbGwgZW1wdHkgZWxlbWVudHMgdG8gaGF2ZSBlbmQtdGFncywgY29uc2lzdGVudCB3aXRoCitTR01MIFRDIChhcyBwZXIgSkpDKS48L3NpdGVtPgorPHNpdGVtPjE5OTctMDctMjMgOiBDTVNNY1EgOiBwcmUtZW1wdGl2ZSBzdHJpa2Ugb24gcGVuZGluZyBjb3JyZWN0aW9uczoKK2ludHJvZHVjZSB0aGUgdGVybSAnZW1wdHktZWxlbWVudCB0YWcnLCBub3RlIHRoYXQgYWxsIGVtcHR5IGVsZW1lbnRzCittYXkgdXNlIGl0LCBhbmQgZWxlbWVudHMgZGVjbGFyZWQgRU1QVFkgbXVzdCB1c2UgaXQuCitBZGQgV0ZDIHJlcXVpcmluZyBlbmNvZGluZyBkZWNsIHRvIGNvbWUgZmlyc3QgaW4gYW4gZW50aXR5LgorUmVkZWZpbmUgbm90YXRpb25zIHRvIHBvaW50IHRvIFBJcyBhcyB3ZWxsIGFzIGJpbmFyeSBlbnRpdGllcy4KK0NoYW5nZSBhdXRvZGV0ZWN0aW9uIHRhYmxlIGJ5IHJlbW92aW5nIGJ5dGVzIDMgYW5kIDQgZnJvbSAKK2V4YW1wbGVzIHdpdGggQnl0ZSBPcmRlciBNYXJrLgorQWRkIGNvbnRlbnQgbW9kZWwgYXMgYSB0ZXJtIGFuZCBjbGFyaWZ5IHRoYXQgaXQgYXBwbGllcyB0byBib3RoCittaXhlZCBhbmQgZWxlbWVudCBjb250ZW50LgorPC9zaXRlbT4KKzxzaXRlbT4xOTk3LTA2LTMwIDogQ01TTWNRIDogY2hhbmdlIGRhdGUsIHNvbWUgY29zbWV0aWMgY2hhbmdlcywKK2NoYW5nZXMgdG8gcHJvZHVjdGlvbnMgZm9yIGNob2ljZSwgc2VxLCBNaXhlZCwgTm90YXRpb25UeXBlLAorRW51bWVyYXRpb24uICBGb2xsb3cgSmFtZXMgQ2xhcmsncyBzdWdnZXN0aW9uIGFuZCBwcm9oaWJpdCAKK2NvbmRpdGlvbmFsIHNlY3Rpb25zIGluIGludGVybmFsIHN1YnNldC4gIFRPIERPOiAgc2ltcGxpZnkKK3Byb2R1Y3Rpb24gZm9yIGlnbm9yZWQgc2VjdGlvbnMgYXMgYSByZXN1bHQsIHNpbmNlIHdlIGRvbid0IAorbmVlZCB0byB3b3JyeSBhYm91dCBwYXJzZXJzIHdoaWNoIGRvbid0IGV4cGFuZCBQRXJlZnMgZmluZGluZworYSBjb25kaXRpb25hbCBzZWN0aW9uLjwvc2l0ZW0+Cis8c2l0ZW0+MTk5Ny0wNi0yOSA6IFRCIDogdmFyaW91cyBlZGl0czwvc2l0ZW0+Cis8c2l0ZW0+MTk5Ny0wNi0yOSA6IENNU01jUSA6IGZ1cnRoZXIgY2hhbmdlczoKK1N1cHByZXNzIG9sZCBGSU5BTCBFRElUIGNvbW1lbnRzIGFuZCBzb21lIGRlYWQgbWF0ZXJpYWwuCitSZXZpc2Ugb2NjdXJyZW5jZXMgb2YgJSBpbiBncmFtbWFyIHRvIGV4cGxvaXQgSGVucnkgVGhvbXBzb24ncyBwdW4sCitlc3BlY2lhbGx5IG1hcmt1cGRlY2wgYW5kIGF0dGRlZi4KK1JlbW92ZSBSTUQgcmVxdWlyZW1lbnQgcmVsYXRpbmcgdG8gZWxlbWVudCBjb250ZW50ICg/KS4KKzwvc2l0ZW0+Cis8c2l0ZW0+MTk5Ny0wNi0yOCA6IENNU01jUSA6IFZhcmlvdXMgY2hhbmdlcyBmb3IgMSBKdWx5IGRyYWZ0OgorQWRkIHRleHQgZm9yIGRyYWNvbmlhbiBlcnJvciBoYW5kbGluZyAoaW50cm9kdWNlCit0aGUgdGVybSBGYXRhbCBFcnJvcikuCitSRSBkZWxldGEgZXN0IChjaGFuZ2luZyB3b3JkaW5nIGZyb20gCitvcmlnaW5hbCBhbm5vdW5jZW1lbnQgdG8gcmVzdHJpY3QgdGhlIHJlcXVpcmVtZW50IHRvIHZhbGlkYXRpbmcKK3BhcnNlcnMpLgorVGFnIGRlZmluaXRpb24gb2YgdmFsaWRhdGluZyBwcm9jZXNzb3IgYW5kIGxpbmsgdG8gaXQuCitBZGQgY29sb24gYXMgbmFtZSBjaGFyYWN0ZXIuCitDaGFuZ2UgZGVmIG9mICVvcGVyYXRvci4KK0NoYW5nZSBzdGFuZGFyZCBkZWZpbml0aW9ucyBvZiBsdCwgZ3QsIGFtcC4KK1N0cmlwIGxlYWRpbmcgemVyb3MgZnJvbSAjeDAwbm4gZm9ybXMuPC9zaXRlbT4KKzxzaXRlbT4xOTk3LTA0LTAyIDogQ01TTWNRIDogZmluYWwgY29ycmVjdGlvbnMgb2YgZWRpdG9yaWFsIGVycm9ycworZm91bmQgaW4gbGFzdCBuaWdodCdzIHByb29mcmVhZGluZy4gIFJldmVyc2UgY291cnNlIG9uY2UgbW9yZSBvbgord2VsbC1mb3JtZWQ6ICAgV2Vic3RlcidzIFNlY29uZCBoeXBoZW5hdGVzIGl0LCBhbmQgdGhhdCdzIGVub3VnaAorZm9yIG1lLjwvc2l0ZW0+Cis8c2l0ZW0+MTk5Ny0wNC0wMSA6IENNU01jUSA6IGNvcnJlY3Rpb25zIGZyb20gSkpDLCBFTSwgSFQsIGFuZCBzZWxmPC9zaXRlbT4KKzxzaXRlbT4xOTk3LTAzLTMxIDogVGltIEJyYXkgOiBtYW55IGNoYW5nZXM8L3NpdGVtPgorPHNpdGVtPjE5OTctMDMtMjkgOiBDTVNNY1EgOiBzb21lIEhlbnJ5IFRob21wc29uIChvbiBlbnRpdHkgaGFuZGxpbmcpLAorc29tZSBDaGFybGVzIEdvbGRmYXJiLCBzb21lIEVSQiBkZWNpc2lvbnMgKFBFIGhhbmRsaW5nIGluIG1pc2NlbGxhbmVvdXMKK2RlY2xhcmF0aW9ucy4gIENoYW5nZWQgSWRlbnQgZWxlbWVudCB0byBhY2NlcHQgZGVmIGF0dHJpYnV0ZS4KK0FsbG93IG5vcm1hbGl6YXRpb24gb2YgVW5pY29kZSBjaGFyYWN0ZXJzLiAgbW92ZSBkZWYgb2Ygc3lzdGVtbGl0ZXJhbAoraW50byBzZWN0aW9uIG9uIGxpdGVyYWxzLjwvc2l0ZW0+Cis8c2l0ZW0+MTk5Ny0wMy0yOCA6IENNU01jUSA6IG1ha2UgYXMgbWFueSBjb3JyZWN0aW9ucyBhcyBwb3NzaWJsZSwgZnJvbQorVGVycnkgQWxsZW4sIE5vcmJlcnQgTWlrdWxhLCBKYW1lcyBDbGFyaywgSm9uIEJvc2FrLCBIZW5yeSBUaG9tcHNvbiwKK1BhdWwgR3Jvc3NvLCBhbmQgc2VsZi4gIEFtb25nIG90aGVyIHRoaW5nczogIGdpdmUgaW4gb24gIndlbGwgZm9ybWVkIgorKFRlcnJ5IGlzIHJpZ2h0KSwgdGVudGF0aXZlbHkgcmVuYW1lIFF1b3RlZENEYXRhIGFzIEF0dFZhbHVlCithbmQgTGl0ZXJhbCBhcyBFbnRpdHlWYWx1ZSB0byBiZSBtb3JlIGluZm9ybWF0aXZlLCBzaW5jZSBhdHRyaWJ1dGUKK3ZhbHVlcyBhcmUgdGhlIDxlbXBoPm9ubHk8L2VtcGg+IHBsYWNlIFF1b3RlZENEYXRhIHdhcyB1c2VkLCBhbmQKK3ZpY2UgdmVyc2EgZm9yIGVudGl0eSB0ZXh0IGFuZCBMaXRlcmFsLiAoSSdkIGNhbGwgaXQgRW50aXR5IFRleHQsIAorYnV0IDg4NzkgdXNlcyB0aGF0IG5hbWUgZm9yIGJvdGggaW50ZXJuYWwgYW5kIGV4dGVybmFsIGVudGl0aWVzLik8L3NpdGVtPgorPHNpdGVtPjE5OTctMDMtMjYgOiBDTVNNY1EgOiByZXN5bmNoIHRoZSB0d28gZm9ya3Mgb2YgdGhpcyBkcmFmdCwgcmVhcHBseQorbXkgY2hhbmdlcyBkYXRlZCAwMy0yMCBhbmQgMDMtMjEuICBOb3JtYWxpemUgb2xkICdtYXkgbm90JyB0byAnbXVzdCBub3QnCitleGNlcHQgaW4gdGhlIG9uZSBjYXNlIHdoZXJlIGl0IG1lYW50ICdtYXkgb3IgbWF5IG5vdCcuPC9zaXRlbT4KKzxzaXRlbT4xOTk3LTAzLTIxIDogVEIgOiBtYXNzaXZlIGNoYW5nZXMgb24gcGxhbmUgZmxpZ2h0IGZyb20gQ2hpY2FnbwordG8gVmFuY291dmVyPC9zaXRlbT4KKzxzaXRlbT4xOTk3LTAzLTIxIDogQ01TTWNRIDogY29ycmVjdCBhcyBtYW55IHJlcG9ydGVkIGVycm9ycyBhcyBwb3NzaWJsZS4KKzwvc2l0ZW0+Cis8c2l0ZW0+MTk5Ny0wMy0yMCA6IENNU01jUSA6IGNvcnJlY3QgdHlwb3MgbGlzdGVkIGluIENNU01jUSBoYW5kIGNvcHkgb2Ygc3BlYy48L3NpdGVtPgorPHNpdGVtPjE5OTctMDMtMjAgOiBDTVNNY1EgOiBjb3NtZXRpYyBjaGFuZ2VzIHByZXBhcmF0b3J5IHRvIHJldmlzaW9uIGZvcgorV1dXIGNvbmZlcmVuY2UgQXByaWwgMTk5NzogIHJlc3RvcmUgc29tZSBvZiB0aGUgaW50ZXJuYWwgZW50aXR5IAorcmVmZXJlbmNlcyAoZS5nLiB0byBkb2NkYXRlLCBldGMuKSwgY2hhbmdlIGNoYXJhY3RlciB4QTAgdG8gJmFtcDtuYnNwOworYW5kIGRlZmluZSBuYnNwIGFzICZhbXA7IzE2MDssIGFuZCByZWZpbGwgYSBsb3Qgb2YgcGFyYWdyYXBocyBmb3IKK2xlZ2liaWxpdHkuPC9zaXRlbT4KKzxzaXRlbT4xOTk2LTExLTEyIDogQ01TTWNRIDogcmV2aXNlIHVzaW5nIFRpbSdzIGVkaXRzOgorQWRkIGxpc3QgdHlwZSBvZiBOVU1CRVJFRCBhbmQgY2hhbmdlIG1vc3QgbGlzdHMgZWl0aGVyIHRvCitCVUxMRVRTIG9yIHRvIE5VTUJFUkVELgorU3VwcHJlc3MgUXVvdGVkTmFtZXMsIE5hbWVzIChub3QgdXNlZCkuCitDb3JyZWN0IHRyaXZpYWwtZ3JhbW1hciBkb2MgdHlwZSBkZWNsLgorUmVuYW1lICdtYXJrZWQgc2VjdGlvbicgYXMgJ0NEQVRBIHNlY3Rpb24nIHBhc3NpbS4KK0Fsc28gZWRpdHMgZnJvbSBKYW1lcyBDbGFyazoKK0RlZmluZSB0aGUgc2V0IG9mIGNoYXJhY3RlcnMgZnJvbSB3aGljaCBbXmFiY10gc3VidHJhY3RzLgorQ2hhcnJlZiBzaG91bGQgdXNlIGp1c3QgWzAtOV0gbm90IERpZ2l0LgorTG9jYXRpb24gaW5mbyBuZWVkcyBjbGVhbmVyIHRyZWF0bWVudDogIHJlbW92ZT8gIChFUkIKK3F1ZXN0aW9uKS4KK09uZSBleGFtcGxlIG9mIGEgUEkgaGFzIHdyb25nIHBpYy4KK0NsYXJpZnkgZGlzY3Vzc2lvbiBvZiBlbmNvZGluZyBuYW1lcy4KK0VuY29kaW5nIGZhaWx1cmUgc2hvdWxkIGxlYWQgdG8gdW5zcGVjaWZpZWQgcmVzdWx0czsgZG9uJ3QKK3ByZXNjcmliZSBlcnJvciByZWNvdmVyeS4KK0Rvbid0IHJlcXVpcmUgZXhwb3N1cmUgb2YgZW50aXR5IGJvdW5kYXJpZXMuCitJZ25vcmUgd2hpdGUgc3BhY2UgaW4gZWxlbWVudCBjb250ZW50LgorUmVzZXJ2ZSBlbnRpdHkgbmFtZXMgb2YgdGhlIGZvcm0gdS1OTk5OLgorQ2xhcmlmeSByZWxhdGl2ZSBVUkxzLgorQW5kIHNvbWUgb2YgbXkgb3duOgorQ29ycmVjdCBwcm9kdWN0aW9ucyBmb3IgY29udGVudCBtb2RlbDogIG1vZGVsIGNhbm5vdAorY29uc2lzdCBvZiBhIG5hbWUsIHNvICJlbGVtZW50cyA6Oj0gY3AiIGlzIG5vIGdvb2QuCis8L3NpdGVtPgorPHNpdGVtPjE5OTYtMTEtMTEgOiBDTVNNY1EgOiByZXZpc2UgZm9yIHN0eWxlLgorQWRkIG5ldyByaHMgdG8gZW50aXR5IGRlY2xhcmF0aW9uLCBmb3IgcGFyYW1ldGVyIGVudGl0aWVzLjwvc2l0ZW0+Cis8c2l0ZW0+MTk5Ni0xMS0xMCA6IENNU01jUSA6IHJldmlzZSBmb3Igc3R5bGUuCitGaXggLyBjb21wbGV0ZSBzZWN0aW9uIG9uIG5hbWVzLCBjaGFyYWN0ZXJzLgorQWRkIHNlY3Rpb25zIG9uIHBhcmFtZXRlciBlbnRpdGllcywgY29uZGl0aW9uYWwgc2VjdGlvbnMuCitTdGlsbCB0byBkbzogIEFkZCBjb21wYXRpYmlsaXR5IG5vdGUgb24gZGV0ZXJtaW5pc3RpYyBjb250ZW50IG1vZGVscy4KK0ZpbmlzaCBzdHlsaXN0aWMgcmV2aXNpb24uPC9zaXRlbT4KKzxzaXRlbT4xOTk2LTEwLTMxIDogVEIgOiBBZGQgRW50aXR5IEhhbmRsaW5nIHNlY3Rpb248L3NpdGVtPgorPHNpdGVtPjE5OTYtMTAtMzAgOiBUQiA6IENsZWFuIHVwIHRlcm0gJmFtcDsgdGVybWRlZi4gIFNsaXAgaW4KK0VSQiBkZWNpc2lvbiByZSBFTVBUWS48L3NpdGVtPgorPHNpdGVtPjE5OTYtMTAtMjggOiBUQiA6IENoYW5nZSBEVEQuICBJbXBsZW1lbnQgc29tZSBvZiBNaWNoYWVsJ3MKK3N1Z2dlc3Rpb25zLiAgQ2hhbmdlIGNvbW1lbnRzIGJhY2sgdG8gLy8uICBJbnRyb2R1Y2UgbGFuZ3VhZ2UgZm9yCitYTUwgbmFtZXNwYWNlIHJlc2VydmF0aW9uLiAgQWRkIHNlY3Rpb24gb24gd2hpdGUtc3BhY2UgaGFuZGxpbmcuCitMb3RzIG1vcmUgY2xlYW51cC48L3NpdGVtPgorPHNpdGVtPjE5OTYtMTAtMjQgOiBDTVNNY1EgOiBxdWljayB0d2Vha3MsIGltcGxlbWVudCBzb21lIEVSQgorZGVjaXNpb25zLiAgQ2hhcmFjdGVycyBhcmUgbm90IGludGVnZXJzLiAgQ29tbWVudHMgYXJlIC8qICovIG5vdCAvLy4KK0FkZCBiaWJsaW9ncmFwaGljIHJlZnMgdG8gMTA2NDYsIEh5VGltZSwgVW5pY29kZS4KK1JlbmFtZSBvbGQgQ2RhdGEgYXMgTXNEYXRhIHNpbmNlIGl0J3MgPGVtcGg+b25seTwvZW1waD4gc2VlbgoraW4gbWFya2VkIHNlY3Rpb25zLiAgQ2FsbCB0aGVtIGF0dHJpYnV0ZS12YWx1ZSBwYWlycyBub3QKK25hbWUtdmFsdWUgcGFpcnMsIGV4Y2VwdCBvbmNlLiAgSW50ZXJuYWwgc3Vic2V0IGlzIG9wdGlvbmFsLCBuZWVkcworJz8nLiAgSW1wbGllZCBhdHRyaWJ1dGVzIHNob3VsZCBiZSBzaWduYWxlZCB0byB0aGUgYXBwLCBub3QKK2hhdmUgdmFsdWVzIHN1cHBsaWVkIGJ5IHByb2Nlc3Nvci48L3NpdGVtPgorPHNpdGVtPjE5OTYtMTAtMTYgOiBUQiA6IHRyYWNrIGRvd24gJmFtcDsgZXhjaXNlIGFsbCBEU0QgcmVmZXJlbmNlczsKK2ludHJvZHVjZSBzb21lIEVCTkYgZm9yIGVudGl0eSBkZWNsYXJhdGlvbnMuPC9zaXRlbT4KKzxzaXRlbT4xOTk2LTEwLT8/IDogVEIgOiBjb25zaXN0ZW5jeSBjaGVjaywgZml4IHVwIHNjcmFwcyBzbwordGhleSBhbGwgcGFyc2UsIGdldCBmb3JtYXR0ZXIgd29ya2luZywgY29ycmVjdCBhIGZldyBwcm9kdWN0aW9ucy48L3NpdGVtPgorPHNpdGVtPjE5OTYtMTAtMTAvMTEgOiBDTVNNY1EgOiB2YXJpb3VzIG1haW50ZW5hbmNlLCBzdHlsaXN0aWMsIGFuZAorb3JnYW5pemF0aW9uYWwgY2hhbmdlczoKK1JlcGxhY2UgYSBmZXcgbGl0ZXJhbHMgd2l0aCB4bWxwaW8gYW5kCitwaWMgZW50aXRpZXMsIHRvIG1ha2UgdGhlbSBjb25zaXN0ZW50IGFuZCBlbnN1cmUgd2UgY2FuIGNoYW5nZSBwaWMKK3JlbGlhYmx5IHdoZW4gdGhlIEVSQiB2b3Rlcy4KK0Ryb3AgcGFyYWdyYXBoIG9uIHJlY29nbml6ZXJzIGZyb20gbm90YXRpb24gc2VjdGlvbi4KK0FkZCBtYXRjaCwgZXhhY3QgbWF0Y2ggdG8gdGVybWlub2xvZ3kuCitNb3ZlIG9sZCAyLjIgWE1MIFByb2Nlc3NvcnMgYW5kIEFwcHMgaW50byBpbnRyby4KK01lbnRpb24gY29tbWVudHMsIFBJcywgYW5kIG1hcmtlZCBzZWN0aW9ucyBpbiBkaXNjdXNzaW9uIG9mCitkZWxpbWl0ZXIgZXNjYXBpbmcuCitTdHJlYW1saW5lIGRpc2N1c3Npb24gb2YgZG9jdHlwZSBkZWNsIHN5bnRheC4KK0Ryb3Agb2xkIHNlY3Rpb24gb2YgJ1BJIHN5bnRheCcgZm9yIGRvY3R5cGUgZGVjbCwgYW5kIGFkZAorc2VjdGlvbiBvbiBwYXJ0aWFsLURURCBzdW1tYXJ5IFBJcyB0byBlbmQgb2YgTG9naWNhbCBTdHJ1Y3R1cmVzCitzZWN0aW9uLgorUmV2aXNlIERTRCBzeW50YXggc2VjdGlvbiB0byB1c2UgVGltJ3Mgc3Vic2V0LWluLWEtUEkKK21lY2hhbmlzbS48L3NpdGVtPgorPHNpdGVtPjE5OTYtMTAtMTAgOiBUQiA6IGVsaW1pbmF0ZSBuYW1lIHJlY29nbml6ZXJzIChhbmQgbW9yZT8pPC9zaXRlbT4KKzxzaXRlbT4xOTk2LTEwLTA5IDogQ01TTWNRIDogcmV2aXNlIGZvciBzdHlsZSwgY29uc2lzdGVuY3kgdGhyb3VnaCAyLjMKKyhDaGFyYWN0ZXJzKTwvc2l0ZW0+Cis8c2l0ZW0+MTk5Ni0xMC0wOSA6IENNU01jUSA6IHJlLXVuaXRlIGV2ZXJ5dGhpbmcgZm9yIGNvbnZlbmllbmNlLAorYXQgbGVhc3QgdGVtcG9yYXJpbHksIGFuZCByZXZpc2UgcXVpY2tseTwvc2l0ZW0+Cis8c2l0ZW0+MTk5Ni0xMC0wOCA6IFRCIDogZmlyc3QgbWFqb3IgaG9tb2dlbml6YXRpb24gcGFzczwvc2l0ZW0+Cis8c2l0ZW0+MTk5Ni0xMC0wOCA6IFRCIDogdHVybiAiY3VycmVudCIgYXR0cmlidXRlIG9uIGRpdiB0eXBlIGludG8gCitDREFUQTwvc2l0ZW0+Cis8c2l0ZW0+MTk5Ni0xMC0wMiA6IFRCIDogcmVtb3VsZCBpbnRvIHNrZWxldG9uICsgZW50aXRpZXM8L3NpdGVtPgorPHNpdGVtPjE5OTYtMDktMzAgOiBDTVNNY1EgOiBhZGQgYSBmZXcgbW9yZSBzZWN0aW9ucyBwcmlvciB0byBleGNoYW5nZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGggVGltLjwvc2l0ZW0+Cis8c2l0ZW0+MTk5Ni0wOS0yMCA6IENNU01jUSA6IGZpbmlzaCB0cmFuc2NyaWJpbmcgbm90ZXMuPC9zaXRlbT4KKzxzaXRlbT4xOTk2LTA5LTE5IDogQ01TTWNRIDogYmVnaW4gdHJhbnNjcmliaW5nIG5vdGVzIGZvciBkcmFmdC48L3NpdGVtPgorPHNpdGVtPjE5OTYtMDktMTMgOiBDTVNNY1EgOiBtYWRlIG91dGxpbmUgZnJvbSBub3RlcyBvZiAwOS0wNiwKK2RvIHNvbWUgaG91c2VrZWVwaW5nPC9zaXRlbT4KKzwvc2xpc3Q+Cis8L3JldmlzaW9uZGVzYz4KKzwvaGVhZGVyPgorPGJvZHk+IAorPGRpdjEgaWQ9J3NlYy1pbnRybyc+Cis8aGVhZD5JbnRyb2R1Y3Rpb248L2hlYWQ+Cis8cD5FeHRlbnNpYmxlIE1hcmt1cCBMYW5ndWFnZSwgYWJicmV2aWF0ZWQgWE1MLCBkZXNjcmliZXMgYSBjbGFzcyBvZgorZGF0YSBvYmplY3RzIGNhbGxlZCA8dGVybXJlZiBkZWY9ImR0LXhtbC1kb2MiPlhNTCBkb2N1bWVudHM8L3Rlcm1yZWY+IGFuZAorcGFydGlhbGx5IGRlc2NyaWJlcyB0aGUgYmVoYXZpb3Igb2YgCitjb21wdXRlciBwcm9ncmFtcyB3aGljaCBwcm9jZXNzIHRoZW0uIFhNTCBpcyBhbiBhcHBsaWNhdGlvbiBwcm9maWxlIG9yCityZXN0cmljdGVkIGZvcm0gb2YgU0dNTCwgdGhlIFN0YW5kYXJkIEdlbmVyYWxpemVkIE1hcmt1cCAKK0xhbmd1YWdlIDxiaWJyZWYgcmVmPSdJU084ODc5Jy8+LgorQnkgY29uc3RydWN0aW9uLCBYTUwgZG9jdW1lbnRzIAorYXJlIGNvbmZvcm1pbmcgU0dNTCBkb2N1bWVudHMuCis8L3A+Cis8cD5YTUwgZG9jdW1lbnRzIGFyZSBtYWRlIHVwIG9mIHN0b3JhZ2UgdW5pdHMgY2FsbGVkIDx0ZXJtcmVmCitkZWY9ImR0LWVudGl0eSI+ZW50aXRpZXM8L3Rlcm1yZWY+LCB3aGljaCBjb250YWluIGVpdGhlciBwYXJzZWQKK29yIHVucGFyc2VkIGRhdGEuCitQYXJzZWQgZGF0YSBpcyBtYWRlIHVwIG9mIDx0ZXJtcmVmIGRlZj0iZHQtY2hhcmFjdGVyIj5jaGFyYWN0ZXJzPC90ZXJtcmVmPiwKK3NvbWUgCitvZiB3aGljaCBmb3JtIDx0ZXJtcmVmIGRlZj0iZHQtY2hhcmRhdGEiPmNoYXJhY3RlciBkYXRhPC90ZXJtcmVmPiwgCithbmQgc29tZSBvZiB3aGljaCBmb3JtIDx0ZXJtcmVmIGRlZj0iZHQtbWFya3VwIj5tYXJrdXA8L3Rlcm1yZWY+LgorTWFya3VwIGVuY29kZXMgYSBkZXNjcmlwdGlvbiBvZiB0aGUgZG9jdW1lbnQncyBzdG9yYWdlIGxheW91dCBhbmQKK2xvZ2ljYWwgc3RydWN0dXJlLiBYTUwgcHJvdmlkZXMgYSBtZWNoYW5pc20gdG8gaW1wb3NlIGNvbnN0cmFpbnRzIG9uCit0aGUgc3RvcmFnZSBsYXlvdXQgYW5kIGxvZ2ljYWwgc3RydWN0dXJlLjwvcD4KKzxwPjx0ZXJtZGVmIGlkPSJkdC14bWwtcHJvYyIgdGVybT0iWE1MIFByb2Nlc3NvciI+QSBzb2Z0d2FyZSBtb2R1bGUKK2NhbGxlZCBhbiA8dGVybT5YTUwgcHJvY2Vzc29yPC90ZXJtPiBpcyB1c2VkIHRvIHJlYWQgWE1MIGRvY3VtZW50cworYW5kIHByb3ZpZGUgYWNjZXNzIHRvIHRoZWlyIGNvbnRlbnQgYW5kIHN0cnVjdHVyZS48L3Rlcm1kZWY+IDx0ZXJtZGVmCitpZD0iZHQtYXBwIiB0ZXJtPSJBcHBsaWNhdGlvbiI+SXQgaXMgYXNzdW1lZCB0aGF0IGFuIFhNTCBwcm9jZXNzb3IgaXMKK2RvaW5nIGl0cyB3b3JrIG9uIGJlaGFsZiBvZiBhbm90aGVyIG1vZHVsZSwgY2FsbGVkIHRoZQorPHRlcm0+YXBwbGljYXRpb248L3Rlcm0+LjwvdGVybWRlZj4gVGhpcyBzcGVjaWZpY2F0aW9uIGRlc2NyaWJlcyB0aGUKK3JlcXVpcmVkIGJlaGF2aW9yIG9mIGFuIFhNTCBwcm9jZXNzb3IgaW4gdGVybXMgb2YgaG93IGl0IG11c3QgcmVhZCBYTUwKK2RhdGEgYW5kIHRoZSBpbmZvcm1hdGlvbiBpdCBtdXN0IHByb3ZpZGUgdG8gdGhlIGFwcGxpY2F0aW9uLjwvcD4KKyAKKzxkaXYyIGlkPSdzZWMtb3JpZ2luLWdvYWxzJz4KKzxoZWFkPk9yaWdpbiBhbmQgR29hbHM8L2hlYWQ+Cis8cD5YTUwgd2FzIGRldmVsb3BlZCBieSBhbiBYTUwgV29ya2luZyBHcm91cCAob3JpZ2luYWxseSBrbm93biBhcyB0aGUKK1NHTUwgRWRpdG9yaWFsIFJldmlldyBCb2FyZCkgZm9ybWVkIHVuZGVyIHRoZSBhdXNwaWNlcyBvZiB0aGUgV29ybGQKK1dpZGUgV2ViIENvbnNvcnRpdW0gKFczQykgaW4gMTk5Ni4KK0l0IHdhcyBjaGFpcmVkIGJ5IEpvbiBCb3NhayBvZiBTdW4KK01pY3Jvc3lzdGVtcyB3aXRoIHRoZSBhY3RpdmUgcGFydGljaXBhdGlvbiBvZiBhbiBYTUwgU3BlY2lhbAorSW50ZXJlc3QgR3JvdXAgKHByZXZpb3VzbHkga25vd24gYXMgdGhlIFNHTUwgV29ya2luZyBHcm91cCkgYWxzbworb3JnYW5pemVkIGJ5IHRoZSBXM0MuIFRoZSBtZW1iZXJzaGlwIG9mIHRoZSBYTUwgV29ya2luZyBHcm91cCBpcyBnaXZlbgoraW4gYW4gYXBwZW5kaXguIERhbiBDb25ub2xseSBzZXJ2ZWQgYXMgdGhlIFdHJ3MgY29udGFjdCB3aXRoIHRoZSBXM0MuCis8L3A+Cis8cD5UaGUgZGVzaWduIGdvYWxzIGZvciBYTUwgYXJlOjxvbGlzdD4KKzxpdGVtPjxwPlhNTCBzaGFsbCBiZSBzdHJhaWdodGZvcndhcmRseSB1c2FibGUgb3ZlciB0aGUKK0ludGVybmV0LjwvcD48L2l0ZW0+Cis8aXRlbT48cD5YTUwgc2hhbGwgc3VwcG9ydCBhIHdpZGUgdmFyaWV0eSBvZiBhcHBsaWNhdGlvbnMuPC9wPjwvaXRlbT4KKzxpdGVtPjxwPlhNTCBzaGFsbCBiZSBjb21wYXRpYmxlIHdpdGggU0dNTC48L3A+PC9pdGVtPgorPGl0ZW0+PHA+SXQgc2hhbGwgYmUgZWFzeSB0byB3cml0ZSBwcm9ncmFtcyB3aGljaCBwcm9jZXNzIFhNTAorZG9jdW1lbnRzLjwvcD48L2l0ZW0+Cis8aXRlbT48cD5UaGUgbnVtYmVyIG9mIG9wdGlvbmFsIGZlYXR1cmVzIGluIFhNTCBpcyB0byBiZSBrZXB0IHRvIHRoZQorYWJzb2x1dGUgbWluaW11bSwgaWRlYWxseSB6ZXJvLjwvcD48L2l0ZW0+Cis8aXRlbT48cD5YTUwgZG9jdW1lbnRzIHNob3VsZCBiZSBodW1hbi1sZWdpYmxlIGFuZCByZWFzb25hYmx5CitjbGVhci48L3A+PC9pdGVtPgorPGl0ZW0+PHA+VGhlIFhNTCBkZXNpZ24gc2hvdWxkIGJlIHByZXBhcmVkIHF1aWNrbHkuPC9wPjwvaXRlbT4KKzxpdGVtPjxwPlRoZSBkZXNpZ24gb2YgWE1MIHNoYWxsIGJlIGZvcm1hbCBhbmQgY29uY2lzZS48L3A+PC9pdGVtPgorPGl0ZW0+PHA+WE1MIGRvY3VtZW50cyBzaGFsbCBiZSBlYXN5IHRvIGNyZWF0ZS48L3A+PC9pdGVtPgorPGl0ZW0+PHA+VGVyc2VuZXNzIGluIFhNTCBtYXJrdXAgaXMgb2YgbWluaW1hbCBpbXBvcnRhbmNlLjwvcD48L2l0ZW0+PC9vbGlzdD4KKzwvcD4KKzxwPlRoaXMgc3BlY2lmaWNhdGlvbiwgCit0b2dldGhlciB3aXRoIGFzc29jaWF0ZWQgc3RhbmRhcmRzCisoVW5pY29kZSBhbmQgSVNPL0lFQyAxMDY0NiBmb3IgY2hhcmFjdGVycywKK0ludGVybmV0IFJGQyAxNzY2IGZvciBsYW5ndWFnZSBpZGVudGlmaWNhdGlvbiB0YWdzLCAKK0lTTyA2MzkgZm9yIGxhbmd1YWdlIG5hbWUgY29kZXMsIGFuZCAKK0lTTyAzMTY2IGZvciBjb3VudHJ5IG5hbWUgY29kZXMpLAorcHJvdmlkZXMgYWxsIHRoZSBpbmZvcm1hdGlvbiBuZWNlc3NhcnkgdG8gdW5kZXJzdGFuZCAKK1hNTCBWZXJzaW9uICZYTUwudmVyc2lvbjsKK2FuZCBjb25zdHJ1Y3QgY29tcHV0ZXIgcHJvZ3JhbXMgdG8gcHJvY2VzcyBpdC48L3A+Cis8cD5UaGlzIHZlcnNpb24gb2YgdGhlIFhNTCBzcGVjaWZpY2F0aW9uCis8IS0tIGlzIGZvciAmZG9jLmF1ZGllbmNlOy4tLT4KKyZkb2MuZGlzdHJpYnV0aW9uOy48L3A+CisKKzwvZGl2Mj4KKyAKKworCisgCis8ZGl2MiBpZD0nc2VjLXRlcm1pbm9sb2d5Jz4KKzxoZWFkPlRlcm1pbm9sb2d5PC9oZWFkPgorIAorPHA+VGhlIHRlcm1pbm9sb2d5IHVzZWQgdG8gZGVzY3JpYmUgWE1MIGRvY3VtZW50cyBpcyBkZWZpbmVkIGluIHRoZSBib2R5IG9mCit0aGlzIHNwZWNpZmljYXRpb24uCitUaGUgdGVybXMgZGVmaW5lZCBpbiB0aGUgZm9sbG93aW5nIGxpc3QgYXJlIHVzZWQgaW4gYnVpbGRpbmcgdGhvc2UKK2RlZmluaXRpb25zIGFuZCBpbiBkZXNjcmliaW5nIHRoZSBhY3Rpb25zIG9mIGFuIFhNTCBwcm9jZXNzb3I6Cis8Z2xpc3Q+Cis8Z2l0ZW0+Cis8bGFiZWw+bWF5PC9sYWJlbD4KKzxkZWY+PHA+PHRlcm1kZWYgaWQ9ImR0LW1heSIgdGVybT0iTWF5Ij5Db25mb3JtaW5nIGRvY3VtZW50cyBhbmQgWE1MCitwcm9jZXNzb3JzIGFyZSBwZXJtaXR0ZWQgdG8gYnV0IG5lZWQgbm90IGJlaGF2ZSBhcworZGVzY3JpYmVkLjwvdGVybWRlZj48L3A+PC9kZWY+Cis8L2dpdGVtPgorPGdpdGVtPgorPGxhYmVsPm11c3Q8L2xhYmVsPgorPGRlZj48cD5Db25mb3JtaW5nIGRvY3VtZW50cyBhbmQgWE1MIHByb2Nlc3NvcnMgCithcmUgcmVxdWlyZWQgdG8gYmVoYXZlIGFzIGRlc2NyaWJlZDsgb3RoZXJ3aXNlIHRoZXkgYXJlIGluIGVycm9yLgorPCEtLSBkbyBOT1QgY2hhbmdlIHRoaXMhIHRoaXMgaXMgd2hhdCBkZWZpbmVzIGEgdmlvbGF0aW9uIG9mCithICdtdXN0JyBjbGF1c2UgYXMgJ2FuIGVycm9yJy4gLU1TTSAtLT4KKzwvcD48L2RlZj4KKzwvZ2l0ZW0+Cis8Z2l0ZW0+Cis8bGFiZWw+ZXJyb3I8L2xhYmVsPgorPGRlZj48cD48dGVybWRlZiBpZD0nZHQtZXJyb3InIHRlcm09J0Vycm9yJworPkEgdmlvbGF0aW9uIG9mIHRoZSBydWxlcyBvZiB0aGlzCitzcGVjaWZpY2F0aW9uOyByZXN1bHRzIGFyZQordW5kZWZpbmVkLiAgQ29uZm9ybWluZyBzb2Z0d2FyZSBtYXkgZGV0ZWN0IGFuZCByZXBvcnQgYW4gZXJyb3IgYW5kIG1heQorcmVjb3ZlciBmcm9tIGl0LjwvdGVybWRlZj48L3A+PC9kZWY+Cis8L2dpdGVtPgorPGdpdGVtPgorPGxhYmVsPmZhdGFsIGVycm9yPC9sYWJlbD4KKzxkZWY+PHA+PHRlcm1kZWYgaWQ9ImR0LWZhdGFsIiB0ZXJtPSJGYXRhbCBFcnJvciI+QW4gZXJyb3IKK3doaWNoIGEgY29uZm9ybWluZyA8dGVybXJlZiBkZWY9ImR0LXhtbC1wcm9jIj5YTUwgcHJvY2Vzc29yPC90ZXJtcmVmPgorbXVzdCBkZXRlY3QgYW5kIHJlcG9ydCB0byB0aGUgYXBwbGljYXRpb24uCitBZnRlciBlbmNvdW50ZXJpbmcgYSBmYXRhbCBlcnJvciwgdGhlCitwcm9jZXNzb3IgbWF5IGNvbnRpbnVlCitwcm9jZXNzaW5nIHRoZSBkYXRhIHRvIHNlYXJjaCBmb3IgZnVydGhlciBlcnJvcnMgYW5kIG1heSByZXBvcnQgc3VjaAorZXJyb3JzIHRvIHRoZSBhcHBsaWNhdGlvbi4gIEluIG9yZGVyIHRvIHN1cHBvcnQgY29ycmVjdGlvbiBvZiBlcnJvcnMsCit0aGUgcHJvY2Vzc29yIG1heSBtYWtlIHVucHJvY2Vzc2VkIGRhdGEgZnJvbSB0aGUgZG9jdW1lbnQgKHdpdGgKK2ludGVybWluZ2xlZCBjaGFyYWN0ZXIgZGF0YSBhbmQgbWFya3VwKSBhdmFpbGFibGUgdG8gdGhlIGFwcGxpY2F0aW9uLgorT25jZSBhIGZhdGFsIGVycm9yIGlzIGRldGVjdGVkLCBob3dldmVyLCB0aGUgcHJvY2Vzc29yIG11c3Qgbm90Citjb250aW51ZSBub3JtYWwgcHJvY2Vzc2luZyAoaS5lLiwgaXQgbXVzdCBub3QKK2NvbnRpbnVlIHRvIHBhc3MgY2hhcmFjdGVyIGRhdGEgYW5kIGluZm9ybWF0aW9uIGFib3V0IHRoZSBkb2N1bWVudCdzCitsb2dpY2FsIHN0cnVjdHVyZSB0byB0aGUgYXBwbGljYXRpb24gaW4gdGhlIG5vcm1hbCB3YXkpLgorPC90ZXJtZGVmPjwvcD48L2RlZj4KKzwvZ2l0ZW0+Cis8Z2l0ZW0+Cis8bGFiZWw+YXQgdXNlciBvcHRpb248L2xhYmVsPgorPGRlZj48cD5Db25mb3JtaW5nIHNvZnR3YXJlIG1heSBvciBtdXN0IChkZXBlbmRpbmcgb24gdGhlIG1vZGFsIHZlcmIgaW4gdGhlCitzZW50ZW5jZSkgYmVoYXZlIGFzIGRlc2NyaWJlZDsgaWYgaXQgZG9lcywgaXQgbXVzdAorcHJvdmlkZSB1c2VycyBhIG1lYW5zIHRvIGVuYWJsZSBvciBkaXNhYmxlIHRoZSBiZWhhdmlvcgorZGVzY3JpYmVkLjwvcD48L2RlZj4KKzwvZ2l0ZW0+Cis8Z2l0ZW0+Cis8bGFiZWw+dmFsaWRpdHkgY29uc3RyYWludDwvbGFiZWw+Cis8ZGVmPjxwPkEgcnVsZSB3aGljaCBhcHBsaWVzIHRvIGFsbCAKKzx0ZXJtcmVmIGRlZj0iZHQtdmFsaWQiPnZhbGlkPC90ZXJtcmVmPiBYTUwgZG9jdW1lbnRzLgorVmlvbGF0aW9ucyBvZiB2YWxpZGl0eSBjb25zdHJhaW50cyBhcmUgZXJyb3JzOyB0aGV5IG11c3QsIGF0IHVzZXIgb3B0aW9uLCAKK2JlIHJlcG9ydGVkIGJ5IAorPHRlcm1yZWYgZGVmPSJkdC12YWxpZGF0aW5nIj52YWxpZGF0aW5nIFhNTCBwcm9jZXNzb3JzPC90ZXJtcmVmPi48L3A+PC9kZWY+Cis8L2dpdGVtPgorPGdpdGVtPgorPGxhYmVsPndlbGwtZm9ybWVkbmVzcyBjb25zdHJhaW50PC9sYWJlbD4KKzxkZWY+PHA+QSBydWxlIHdoaWNoIGFwcGxpZXMgdG8gYWxsIDx0ZXJtcmVmCitkZWY9ImR0LXdlbGxmb3JtZWQiPndlbGwtZm9ybWVkPC90ZXJtcmVmPiBYTUwgZG9jdW1lbnRzLgorVmlvbGF0aW9ucyBvZiB3ZWxsLWZvcm1lZG5lc3MgY29uc3RyYWludHMgYXJlIAorPHRlcm1yZWYgZGVmPSJkdC1mYXRhbCI+ZmF0YWwgZXJyb3JzPC90ZXJtcmVmPi48L3A+PC9kZWY+Cis8L2dpdGVtPgorCis8Z2l0ZW0+Cis8bGFiZWw+bWF0Y2g8L2xhYmVsPgorPGRlZj48cD48dGVybWRlZiBpZD0iZHQtbWF0Y2giIHRlcm09Im1hdGNoIj4oT2Ygc3RyaW5ncyBvciBuYW1lczopIAorVHdvIHN0cmluZ3Mgb3IgbmFtZXMgYmVpbmcgY29tcGFyZWQgbXVzdCBiZSBpZGVudGljYWwuCitDaGFyYWN0ZXJzIHdpdGggbXVsdGlwbGUgcG9zc2libGUgcmVwcmVzZW50YXRpb25zIGluIElTTy9JRUMgMTA2NDYgKGUuZy4KK2NoYXJhY3RlcnMgd2l0aCAKK2JvdGggcHJlY29tcG9zZWQgYW5kIGJhc2UrZGlhY3JpdGljIGZvcm1zKSBtYXRjaCBvbmx5IGlmIHRoZXkgaGF2ZSB0aGUKK3NhbWUgcmVwcmVzZW50YXRpb24gaW4gYm90aCBzdHJpbmdzLgorQXQgdXNlciBvcHRpb24sIHByb2Nlc3NvcnMgbWF5IG5vcm1hbGl6ZSBzdWNoIGNoYXJhY3RlcnMgdG8KK3NvbWUgY2Fub25pY2FsIGZvcm0uCitObyBjYXNlIGZvbGRpbmcgaXMgcGVyZm9ybWVkLiAKKyhPZiBzdHJpbmdzIGFuZCBydWxlcyBpbiB0aGUgZ3JhbW1hcjopICAKK0Egc3RyaW5nIG1hdGNoZXMgYSBncmFtbWF0aWNhbCBwcm9kdWN0aW9uIGlmIGl0IGJlbG9uZ3MgdG8gdGhlCitsYW5ndWFnZSBnZW5lcmF0ZWQgYnkgdGhhdCBwcm9kdWN0aW9uLgorKE9mIGNvbnRlbnQgYW5kIGNvbnRlbnQgbW9kZWxzOikKK0FuIGVsZW1lbnQgbWF0Y2hlcyBpdHMgZGVjbGFyYXRpb24gd2hlbiBpdCBjb25mb3JtcworaW4gdGhlIGZhc2hpb24gZGVzY3JpYmVkIGluIHRoZSBjb25zdHJhaW50Cis8c3BlY3JlZiByZWY9J2VsZW1lbnR2YWxpZCcvPi4KKzwvdGVybWRlZj4KKzwvcD48L2RlZj4KKzwvZ2l0ZW0+Cis8Z2l0ZW0+Cis8bGFiZWw+Zm9yIGNvbXBhdGliaWxpdHk8L2xhYmVsPgorPGRlZj48cD48dGVybWRlZiBpZD0iZHQtY29tcGF0IiB0ZXJtPSJGb3IgQ29tcGF0aWJpbGl0eSI+QSBmZWF0dXJlIG9mCitYTUwgaW5jbHVkZWQgc29sZWx5IHRvIGVuc3VyZSB0aGF0IFhNTCByZW1haW5zIGNvbXBhdGlibGUgd2l0aCBTR01MLgorPC90ZXJtZGVmPjwvcD48L2RlZj4KKzwvZ2l0ZW0+Cis8Z2l0ZW0+Cis8bGFiZWw+Zm9yIGludGVyb3BlcmFiaWxpdHk8L2xhYmVsPgorPGRlZj48cD48dGVybWRlZiBpZD0iZHQtaW50ZXJvcCIgdGVybT0iRm9yIGludGVyb3BlcmFiaWxpdHkiPkEKK25vbi1iaW5kaW5nIHJlY29tbWVuZGF0aW9uIGluY2x1ZGVkIHRvIGluY3JlYXNlIHRoZSBjaGFuY2VzIHRoYXQgWE1MCitkb2N1bWVudHMgY2FuIGJlIHByb2Nlc3NlZCBieSB0aGUgZXhpc3RpbmcgaW5zdGFsbGVkIGJhc2Ugb2YgU0dNTAorcHJvY2Vzc29ycyB3aGljaCBwcmVkYXRlIHRoZQorJldlYlNHTUw7LjwvdGVybWRlZj48L3A+PC9kZWY+Cis8L2dpdGVtPgorPC9nbGlzdD4KKzwvcD4KKzwvZGl2Mj4KKworIAorPC9kaXYxPgorPCEtLSAmRG9jczsgLS0+CisgCis8ZGl2MSBpZD0nc2VjLWRvY3VtZW50cyc+Cis8aGVhZD5Eb2N1bWVudHM8L2hlYWQ+CisgCis8cD48dGVybWRlZiBpZD0iZHQteG1sLWRvYyIgdGVybT0iWE1MIERvY3VtZW50Ij4KK0EgZGF0YSBvYmplY3QgaXMgYW4KKzx0ZXJtPlhNTCBkb2N1bWVudDwvdGVybT4gaWYgaXQgaXMKKzx0ZXJtcmVmIGRlZj0iZHQtd2VsbGZvcm1lZCI+d2VsbC1mb3JtZWQ8L3Rlcm1yZWY+LCBhcworZGVmaW5lZCBpbiB0aGlzIHNwZWNpZmljYXRpb24uCitBIHdlbGwtZm9ybWVkIFhNTCBkb2N1bWVudCBtYXkgaW4gYWRkaXRpb24gYmUKKzx0ZXJtcmVmIGRlZj0iZHQtdmFsaWQiPnZhbGlkPC90ZXJtcmVmPiBpZiBpdCBtZWV0cyBjZXJ0YWluIGZ1cnRoZXIgCitjb25zdHJhaW50cy48L3Rlcm1kZWY+PC9wPgorIAorPHA+RWFjaCBYTUwgZG9jdW1lbnQgaGFzIGJvdGggYSBsb2dpY2FsIGFuZCBhIHBoeXNpY2FsIHN0cnVjdHVyZS4KK1BoeXNpY2FsbHksIHRoZSBkb2N1bWVudCBpcyBjb21wb3NlZCBvZiB1bml0cyBjYWxsZWQgPHRlcm1yZWYKK2RlZj0iZHQtZW50aXR5Ij5lbnRpdGllczwvdGVybXJlZj4uICBBbiBlbnRpdHkgbWF5IDx0ZXJtcmVmCitkZWY9ImR0LWVudHJlZiI+cmVmZXI8L3Rlcm1yZWY+IHRvIG90aGVyIGVudGl0aWVzIHRvIGNhdXNlIHRoZWlyCitpbmNsdXNpb24gaW4gdGhlIGRvY3VtZW50LiBBIGRvY3VtZW50IGJlZ2lucyBpbiBhICJyb290IiAgb3IgPHRlcm1yZWYKK2RlZj0iZHQtZG9jZW50Ij5kb2N1bWVudCBlbnRpdHk8L3Rlcm1yZWY+LgorTG9naWNhbGx5LCB0aGUgZG9jdW1lbnQgaXMgY29tcG9zZWQgb2YgZGVjbGFyYXRpb25zLCBlbGVtZW50cywgCitjb21tZW50cywKK2NoYXJhY3RlciByZWZlcmVuY2VzLCBhbmQKK3Byb2Nlc3NpbmcKK2luc3RydWN0aW9ucywgYWxsIG9mIHdoaWNoIGFyZSBpbmRpY2F0ZWQgaW4gdGhlIGRvY3VtZW50IGJ5IGV4cGxpY2l0CittYXJrdXAuCitUaGUgbG9naWNhbCBhbmQgcGh5c2ljYWwgc3RydWN0dXJlcyBtdXN0IG5lc3QgcHJvcGVybHksIGFzIGRlc2NyaWJlZCAgCitpbiA8c3BlY3JlZiByZWY9J3dmLWVudGl0aWVzJy8+LgorPC9wPgorIAorPGRpdjIgaWQ9J3NlYy13ZWxsLWZvcm1lZCc+Cis8aGVhZD5XZWxsLUZvcm1lZCBYTUwgRG9jdW1lbnRzPC9oZWFkPgorIAorPHA+PHRlcm1kZWYgaWQ9ImR0LXdlbGxmb3JtZWQiIHRlcm09IldlbGwtRm9ybWVkIj4KK0EgdGV4dHVhbCBvYmplY3QgaXMgCithIHdlbGwtZm9ybWVkIFhNTCBkb2N1bWVudCBpZjo8L3Rlcm1kZWY+Cis8b2xpc3Q+Cis8aXRlbT48cD5UYWtlbiBhcyBhIHdob2xlLCBpdAorbWF0Y2hlcyB0aGUgcHJvZHVjdGlvbiBsYWJlbGVkIDxudCBkZWY9J05ULWRvY3VtZW50Jz5kb2N1bWVudDwvbnQ+LjwvcD48L2l0ZW0+Cis8aXRlbT48cD5JdAorbWVldHMgYWxsIHRoZSB3ZWxsLWZvcm1lZG5lc3MgY29uc3RyYWludHMgZ2l2ZW4gaW4gdGhpcyBzcGVjaWZpY2F0aW9uLjwvcD4KKzwvaXRlbT4KKzxpdGVtPjxwPkVhY2ggb2YgdGhlIDx0ZXJtcmVmIGRlZj0nZHQtcGFyc2VkZW50Jz5wYXJzZWQgZW50aXRpZXM8L3Rlcm1yZWY+IAord2hpY2ggaXMgcmVmZXJlbmNlZCBkaXJlY3RseSBvciBpbmRpcmVjdGx5IHdpdGhpbiB0aGUgZG9jdW1lbnQgaXMKKzx0aXRsZXJlZiBocmVmPSd3Zi1lbnRpdGllcyc+d2VsbC1mb3JtZWQ8L3RpdGxlcmVmPi48L3A+PC9pdGVtPgorPC9vbGlzdD48L3A+Cis8cD4KKzxzY3JhcCBsYW5nPSdlYm5mJyBpZD0nZG9jdW1lbnQnPgorPGhlYWQ+RG9jdW1lbnQ8L2hlYWQ+Cis8cHJvZCBpZD0nTlQtZG9jdW1lbnQnPjxsaHM+ZG9jdW1lbnQ8L2xocz4KKzxyaHM+PG50IGRlZj0nTlQtcHJvbG9nJz5wcm9sb2c8L250PiAKKzxudCBkZWY9J05ULWVsZW1lbnQnPmVsZW1lbnQ8L250PiAKKzxudCBkZWY9J05ULU1pc2MnPk1pc2M8L250Pio8L3Jocz48L3Byb2Q+Cis8L3NjcmFwPgorPC9wPgorPHA+TWF0Y2hpbmcgdGhlIDxudCBkZWY9Ik5ULWRvY3VtZW50Ij5kb2N1bWVudDwvbnQ+IHByb2R1Y3Rpb24gCitpbXBsaWVzIHRoYXQ6Cis8b2xpc3Q+Cis8aXRlbT48cD5JdCBjb250YWlucyBvbmUgb3IgbW9yZQorPHRlcm1yZWYgZGVmPSJkdC1lbGVtZW50Ij5lbGVtZW50czwvdGVybXJlZj4uPC9wPgorPC9pdGVtPgorPCEtLSogTi5CLiBzb21lIHJlYWRlcnMgKG5vdGFibHkgSkMpIGZpbmQgdGhlIGZvbGxvd2luZworcGFyYWdyYXBoIGF3a3dhcmQgYW5kIHJlZHVuZGFudC4gIEkgYWdyZWUgaXQncyBsb2dpY2FsbHkgcmVkdW5kYW50OgoraXQgKnNheXMqIGl0IGlzIHN1bW1hcml6aW5nIHRoZSBsb2dpY2FsIGltcGxpY2F0aW9ucyBvZgorbWF0Y2hpbmcgdGhlIGdyYW1tYXIsIGFuZCB0aGF0IG1lYW5zIGJ5IGRlZmluaXRpb24gaXQncworbG9naWNhbGx5IHJlZHVuZGFudC4gIEkgZG9uJ3QgdGhpbmsgaXQncyByaGV0b3JpY2FsbHkKK3JlZHVuZGFudCBvciB1bm5lY2Vzc2FyeSwgdGhvdWdoLCBzbyBJJ20ga2VlcGluZyBpdC4gIEl0Citjb3VsZCBob3dldmVyIHVzZSBzb21lIHJlY2FzdGluZyB3aGVuIHRoZSBlZGl0b3JzIGFyZSBmZWVsaW5nCitzdHJvbmdlci4gLU1TTSAqLS0+Cis8aXRlbT48cD48dGVybWRlZiBpZD0iZHQtcm9vdCIgdGVybT0iUm9vdCBFbGVtZW50Ij5UaGVyZSBpcyAgZXhhY3RseQorb25lIGVsZW1lbnQsIGNhbGxlZCB0aGUgPHRlcm0+cm9vdDwvdGVybT4sIG9yIGRvY3VtZW50IGVsZW1lbnQsICBubworcGFydCBvZiB3aGljaCBhcHBlYXJzIGluIHRoZSA8dGVybXJlZgorZGVmPSJkdC1jb250ZW50Ij5jb250ZW50PC90ZXJtcmVmPiBvZiBhbnkgb3RoZXIgZWxlbWVudC48L3Rlcm1kZWY+CitGb3IgYWxsIG90aGVyIGVsZW1lbnRzLCBpZiB0aGUgc3RhcnQtdGFnIGlzIGluIHRoZSBjb250ZW50IG9mIGFub3RoZXIKK2VsZW1lbnQsIHRoZSBlbmQtdGFnIGlzIGluIHRoZSBjb250ZW50IG9mIHRoZSBzYW1lIGVsZW1lbnQuICBNb3JlCitzaW1wbHkgc3RhdGVkLCB0aGUgZWxlbWVudHMsIGRlbGltaXRlZCBieSBzdGFydC0gYW5kIGVuZC10YWdzLCBuZXN0Citwcm9wZXJseSB3aXRoaW4gZWFjaCBvdGhlci4KKzwvcD48L2l0ZW0+Cis8L29saXN0PgorPC9wPgorPHA+PHRlcm1kZWYgaWQ9ImR0LXBhcmVudGNoaWxkIiB0ZXJtPSJQYXJlbnQvQ2hpbGQiPkFzIGEgY29uc2VxdWVuY2UgCitvZiB0aGlzLAorZm9yIGVhY2ggbm9uLXJvb3QgZWxlbWVudAorPGNvZGU+QzwvY29kZT4gaW4gdGhlIGRvY3VtZW50LCB0aGVyZSBpcyBvbmUgb3RoZXIgZWxlbWVudCA8Y29kZT5QPC9jb2RlPgoraW4gdGhlIGRvY3VtZW50IHN1Y2ggdGhhdCAKKzxjb2RlPkM8L2NvZGU+IGlzIGluIHRoZSBjb250ZW50IG9mIDxjb2RlPlA8L2NvZGU+LCBidXQgaXMgbm90IGluCit0aGUgY29udGVudCBvZiBhbnkgb3RoZXIgZWxlbWVudCB0aGF0IGlzIGluIHRoZSBjb250ZW50IG9mCis8Y29kZT5QPC9jb2RlPi4gIAorPGNvZGU+UDwvY29kZT4gaXMgcmVmZXJyZWQgdG8gYXMgdGhlCis8dGVybT5wYXJlbnQ8L3Rlcm0+IG9mIDxjb2RlPkM8L2NvZGU+LCBhbmQgPGNvZGU+QzwvY29kZT4gYXMgYQorPHRlcm0+Y2hpbGQ8L3Rlcm0+IG9mIDxjb2RlPlA8L2NvZGU+LjwvdGVybWRlZj48L3A+PC9kaXYyPgorIAorPGRpdjIgaWQ9ImNoYXJzZXRzIj4KKzxoZWFkPkNoYXJhY3RlcnM8L2hlYWQ+CisgCis8cD48dGVybWRlZiBpZD0iZHQtdGV4dCIgdGVybT0iVGV4dCI+QSBwYXJzZWQgZW50aXR5IGNvbnRhaW5zCis8dGVybT50ZXh0PC90ZXJtPiwgYSBzZXF1ZW5jZSBvZiAKKzx0ZXJtcmVmIGRlZj0iZHQtY2hhcmFjdGVyIj5jaGFyYWN0ZXJzPC90ZXJtcmVmPiwgCit3aGljaCBtYXkgcmVwcmVzZW50IG1hcmt1cCBvciBjaGFyYWN0ZXIgZGF0YS48L3Rlcm1kZWY+IAorPHRlcm1kZWYgaWQ9ImR0LWNoYXJhY3RlciIgdGVybT0iQ2hhcmFjdGVyIj5BIDx0ZXJtPmNoYXJhY3RlcjwvdGVybT4gCitpcyBhbiBhdG9taWMgdW5pdCBvZiB0ZXh0IGFzIHNwZWNpZmllZCBieQorSVNPL0lFQyAxMDY0NiA8YmlicmVmIHJlZj0iSVNPMTA2NDYiLz4uCitMZWdhbCBjaGFyYWN0ZXJzIGFyZSB0YWIsIGNhcnJpYWdlIHJldHVybiwgbGluZSBmZWVkLCBhbmQgdGhlIGxlZ2FsCitncmFwaGljIGNoYXJhY3RlcnMgb2YgVW5pY29kZSBhbmQgSVNPL0lFQyAxMDY0Ni4KK1RoZSB1c2Ugb2YgImNvbXBhdGliaWxpdHkgY2hhcmFjdGVycyIsIGFzIGRlZmluZWQgaW4gc2VjdGlvbiA2LjgKK29mIDxiaWJyZWYgcmVmPSdVbmljb2RlJy8+LCBpcyBkaXNjb3VyYWdlZC4KKzwvdGVybWRlZj4gCis8c2NyYXAgbGFuZz0iZWJuZiIgaWQ9ImNoYXIzMiI+Cis8aGVhZD5DaGFyYWN0ZXIgUmFuZ2U8L2hlYWQ+Cis8cHJvZGdyb3VwIHBjdzI9IjQiIHBjdzQ9IjE3LjUiIHBjdzU9IjExIj4KKzxwcm9kIGlkPSJOVC1DaGFyIj48bGhzPkNoYXI8L2xocz4gCis8cmhzPiN4OSB8ICN4QSB8ICN4RCB8IFsjeDIwLSN4RDdGRl0gfCBbI3hFMDAwLSN4RkZGRF0gCit8IFsjeDEwMDAwLSN4MTBGRkZGXTwvcmhzPiAKKzxjb20+YW55IFVuaWNvZGUgY2hhcmFjdGVyLCBleGNsdWRpbmcgdGhlCitzdXJyb2dhdGUgYmxvY2tzLCBGRkZFLCBhbmQgRkZGRi48L2NvbT4gPC9wcm9kPgorPC9wcm9kZ3JvdXA+Cis8L3NjcmFwPgorPC9wPgorCis8cD5UaGUgbWVjaGFuaXNtIGZvciBlbmNvZGluZyBjaGFyYWN0ZXIgY29kZSBwb2ludHMgaW50byBiaXQgcGF0dGVybnMgbWF5Cit2YXJ5IGZyb20gZW50aXR5IHRvIGVudGl0eS4gQWxsIFhNTCBwcm9jZXNzb3JzIG11c3QgYWNjZXB0IHRoZSBVVEYtOAorYW5kIFVURi0xNiBlbmNvZGluZ3Mgb2YgMTA2NDY7IHRoZSBtZWNoYW5pc21zIGZvciBzaWduYWxpbmcgd2hpY2ggb2YKK3RoZSB0d28gaXMgaW4gdXNlLCBvciBmb3IgYnJpbmdpbmcgb3RoZXIgZW5jb2RpbmdzIGludG8gcGxheSwgYXJlCitkaXNjdXNzZWQgbGF0ZXIsIGluIDxzcGVjcmVmIHJlZj0nY2hhcmVuY29kaW5nJy8+LgorPC9wPgorPCEtLQorPHA+UmVnYXJkbGVzcyBvZiB0aGUgc3BlY2lmaWMgZW5jb2RpbmcgdXNlZCwgYW55IGNoYXJhY3RlciBpbiB0aGUgSVNPL0lFQworMTA2NDYgY2hhcmFjdGVyIHNldCBtYXkgYmUgcmVmZXJyZWQgdG8gYnkgdGhlIGRlY2ltYWwgb3IgaGV4YWRlY2ltYWwKK2VxdWl2YWxlbnQgb2YgaXRzIAorVUNTLTQgY29kZSB2YWx1ZS4KKzwvcD4tLT4KKzwvZGl2Mj4KKyAKKzxkaXYyIGlkPSdzZWMtY29tbW9uLXN5bic+Cis8aGVhZD5Db21tb24gU3ludGFjdGljIENvbnN0cnVjdHM8L2hlYWQ+CisgCis8cD5UaGlzIHNlY3Rpb24gZGVmaW5lcyBzb21lIHN5bWJvbHMgdXNlZCB3aWRlbHkgaW4gdGhlIGdyYW1tYXIuPC9wPgorPHA+PG50IGRlZj0iTlQtUyI+UzwvbnQ+ICh3aGl0ZSBzcGFjZSkgY29uc2lzdHMgb2Ygb25lIG9yIG1vcmUgc3BhY2UgKCN4MjApCitjaGFyYWN0ZXJzLCBjYXJyaWFnZSByZXR1cm5zLCBsaW5lIGZlZWRzLCBvciB0YWJzLgorCis8c2NyYXAgbGFuZz0iZWJuZiIgaWQ9J3doaXRlJz4KKzxoZWFkPldoaXRlIFNwYWNlPC9oZWFkPgorPHByb2Rncm91cCBwY3cyPSI0IiBwY3c0PSIxNy41IiBwY3c1PSIxMSI+Cis8cHJvZCBpZD0nTlQtUyc+PGxocz5TPC9saHM+Cis8cmhzPigjeDIwIHwgI3g5IHwgI3hEIHwgI3hBKSs8L3Jocz4KKzwvcHJvZD4KKzwvcHJvZGdyb3VwPgorPC9zY3JhcD48L3A+Cis8cD5DaGFyYWN0ZXJzIGFyZSBjbGFzc2lmaWVkIGZvciBjb252ZW5pZW5jZSBhcyBsZXR0ZXJzLCBkaWdpdHMsIG9yIG90aGVyCitjaGFyYWN0ZXJzLiAgTGV0dGVycyBjb25zaXN0IG9mIGFuIGFscGhhYmV0aWMgb3Igc3lsbGFiaWMgCitiYXNlIGNoYXJhY3RlciBwb3NzaWJseQorZm9sbG93ZWQgYnkgb25lIG9yIG1vcmUgY29tYmluaW5nIGNoYXJhY3RlcnMsIG9yIG9mIGFuIGlkZW9ncmFwaGljCitjaGFyYWN0ZXIuICAKK0Z1bGwgZGVmaW5pdGlvbnMgb2YgdGhlIHNwZWNpZmljIGNoYXJhY3RlcnMgaW4gZWFjaCBjbGFzcworYXJlIGdpdmVuIGluIDxzcGVjcmVmIHJlZj0nQ2hhckNsYXNzZXMnLz4uPC9wPgorPHA+PHRlcm1kZWYgaWQ9ImR0LW5hbWUiIHRlcm09Ik5hbWUiPkEgPHRlcm0+TmFtZTwvdGVybT4gaXMgYSB0b2tlbgorYmVnaW5uaW5nIHdpdGggYSBsZXR0ZXIgb3Igb25lIG9mIGEgZmV3IHB1bmN0dWF0aW9uIGNoYXJhY3RlcnMsIGFuZCBjb250aW51aW5nCit3aXRoIGxldHRlcnMsIGRpZ2l0cywgaHlwaGVucywgdW5kZXJzY29yZXMsIGNvbG9ucywgb3IgZnVsbCBzdG9wcywgdG9nZXRoZXIKK2tub3duIGFzIG5hbWUgY2hhcmFjdGVycy48L3Rlcm1kZWY+CitOYW1lcyBiZWdpbm5pbmcgd2l0aCB0aGUgc3RyaW5nICI8Y29kZT54bWw8L2NvZGU+Iiwgb3IgYW55IHN0cmluZword2hpY2ggd291bGQgbWF0Y2ggPGNvZGU+KCgnWCd8J3gnKSAoJ00nfCdtJykgKCdMJ3wnbCcpKTwvY29kZT4sIGFyZQorcmVzZXJ2ZWQgZm9yIHN0YW5kYXJkaXphdGlvbiBpbiB0aGlzIG9yIGZ1dHVyZSB2ZXJzaW9ucyBvZiB0aGlzCitzcGVjaWZpY2F0aW9uLgorPC9wPgorPG5vdGU+Cis8cD5UaGUgY29sb24gY2hhcmFjdGVyIHdpdGhpbiBYTUwgbmFtZXMgaXMgcmVzZXJ2ZWQgZm9yIGV4cGVyaW1lbnRhdGlvbiB3aXRoCituYW1lIHNwYWNlcy4gIAorSXRzIG1lYW5pbmcgaXMgZXhwZWN0ZWQgdG8gYmUKK3N0YW5kYXJkaXplZCBhdCBzb21lIGZ1dHVyZSBwb2ludCwgYXQgd2hpY2ggcG9pbnQgdGhvc2UgZG9jdW1lbnRzIAordXNpbmcgdGhlIGNvbG9uIGZvciBleHBlcmltZW50YWwgcHVycG9zZXMgbWF5IG5lZWQgdG8gYmUgdXBkYXRlZC4KKyhUaGVyZSBpcyBubyBndWFyYW50ZWUgdGhhdCBhbnkgbmFtZS1zcGFjZSBtZWNoYW5pc20KK2Fkb3B0ZWQgZm9yIFhNTCB3aWxsIGluIGZhY3QgdXNlIHRoZSBjb2xvbiBhcyBhIG5hbWUtc3BhY2UgZGVsaW1pdGVyLikKK0luIHByYWN0aWNlLCB0aGlzIG1lYW5zIHRoYXQgYXV0aG9ycyBzaG91bGQgbm90IHVzZSB0aGUgY29sb24gaW4gWE1MCituYW1lcyBleGNlcHQgYXMgcGFydCBvZiBuYW1lLXNwYWNlIGV4cGVyaW1lbnRzLCBidXQgdGhhdCBYTUwgcHJvY2Vzc29ycworc2hvdWxkIGFjY2VwdCB0aGUgY29sb24gYXMgYSBuYW1lIGNoYXJhY3Rlci48L3A+Cis8L25vdGU+Cis8cD5BbgorPG50IGRlZj0nTlQtTm10b2tlbic+Tm10b2tlbjwvbnQ+IChuYW1lIHRva2VuKSBpcyBhbnkgbWl4dHVyZSBvZgorbmFtZSBjaGFyYWN0ZXJzLgorPHNjcmFwIGxhbmc9J2VibmYnPgorPGhlYWQ+TmFtZXMgYW5kIFRva2VuczwvaGVhZD4KKzxwcm9kIGlkPSdOVC1OYW1lQ2hhcic+PGxocz5OYW1lQ2hhcjwvbGhzPgorPHJocz48bnQgZGVmPSJOVC1MZXR0ZXIiPkxldHRlcjwvbnQ+IAorfCA8bnQgZGVmPSdOVC1EaWdpdCc+RGlnaXQ8L250PiAKK3wgJy4nIHwgJy0nIHwgJ18nIHwgJzonCit8IDxudCBkZWY9J05ULUNvbWJpbmluZ0NoYXInPkNvbWJpbmluZ0NoYXI8L250PiAKK3wgPG50IGRlZj0nTlQtRXh0ZW5kZXInPkV4dGVuZGVyPC9udD48L3Jocz4KKzwvcHJvZD4KKzxwcm9kIGlkPSdOVC1OYW1lJz48bGhzPk5hbWU8L2xocz4KKzxyaHM+KDxudCBkZWY9J05ULUxldHRlcic+TGV0dGVyPC9udD4gfCAnXycgfCAnOicpCisoPG50IGRlZj0nTlQtTmFtZUNoYXInPk5hbWVDaGFyPC9udD4pKjwvcmhzPjwvcHJvZD4KKzxwcm9kIGlkPSdOVC1OYW1lcyc+PGxocz5OYW1lczwvbGhzPgorPHJocz48bnQgZGVmPSdOVC1OYW1lJz5OYW1lPC9udD4gCisoPG50IGRlZj0nTlQtUyc+UzwvbnQ+IDxudCBkZWY9J05ULU5hbWUnPk5hbWU8L250PikqPC9yaHM+PC9wcm9kPgorPHByb2QgaWQ9J05ULU5tdG9rZW4nPjxsaHM+Tm10b2tlbjwvbGhzPgorPHJocz4oPG50IGRlZj0nTlQtTmFtZUNoYXInPk5hbWVDaGFyPC9udD4pKzwvcmhzPjwvcHJvZD4KKzxwcm9kIGlkPSdOVC1ObXRva2Vucyc+PGxocz5ObXRva2VuczwvbGhzPgorPHJocz48bnQgZGVmPSdOVC1ObXRva2VuJz5ObXRva2VuPC9udD4gKDxudCBkZWY9J05ULVMnPlM8L250PiA8bnQgZGVmPSdOVC1ObXRva2VuJz5ObXRva2VuPC9udD4pKjwvcmhzPjwvcHJvZD4KKzwvc2NyYXA+Cis8L3A+Cis8cD5MaXRlcmFsIGRhdGEgaXMgYW55IHF1b3RlZCBzdHJpbmcgbm90IGNvbnRhaW5pbmcKK3RoZSBxdW90YXRpb24gbWFyayB1c2VkIGFzIGEgZGVsaW1pdGVyIGZvciB0aGF0IHN0cmluZy4KK0xpdGVyYWxzIGFyZSB1c2VkCitmb3Igc3BlY2lmeWluZyB0aGUgY29udGVudCBvZiBpbnRlcm5hbCBlbnRpdGllcworKDxudCBkZWY9J05ULUVudGl0eVZhbHVlJz5FbnRpdHlWYWx1ZTwvbnQ+KSwKK3RoZSB2YWx1ZXMgb2YgYXR0cmlidXRlcyAoPG50IGRlZj0nTlQtQXR0VmFsdWUnPkF0dFZhbHVlPC9udD4pLCAKK2FuZCBleHRlcm5hbCBpZGVudGlmaWVycyAKKyg8bnQgZGVmPSJOVC1TeXN0ZW1MaXRlcmFsIj5TeXN0ZW1MaXRlcmFsPC9udD4pLiAgCitOb3RlIHRoYXQgYSA8bnQgZGVmPSdOVC1TeXN0ZW1MaXRlcmFsJz5TeXN0ZW1MaXRlcmFsPC9udD4KK2NhbiBiZSBwYXJzZWQgd2l0aG91dCBzY2FubmluZyBmb3IgbWFya3VwLgorPHNjcmFwIGxhbmc9J2VibmYnPgorPGhlYWQ+TGl0ZXJhbHM8L2hlYWQ+Cis8cHJvZCBpZD0nTlQtRW50aXR5VmFsdWUnPjxsaHM+RW50aXR5VmFsdWU8L2xocz4KKzxyaHM+JyInIAorKFteJSZhbXA7Il0gCit8IDxudCBkZWY9J05ULVBFUmVmZXJlbmNlJz5QRVJlZmVyZW5jZTwvbnQ+IAorfCA8bnQgZGVmPSdOVC1SZWZlcmVuY2UnPlJlZmVyZW5jZTwvbnQ+KSoKKyciJyAKKzwvcmhzPgorPHJocz58Jm5ic3A7IAorIiciIAorKFteJSZhbXA7J10gCit8IDxudCBkZWY9J05ULVBFUmVmZXJlbmNlJz5QRVJlZmVyZW5jZTwvbnQ+IAorfCA8bnQgZGVmPSdOVC1SZWZlcmVuY2UnPlJlZmVyZW5jZTwvbnQ+KSogCisiJyI8L3Jocz4KKzwvcHJvZD4KKzxwcm9kIGlkPSdOVC1BdHRWYWx1ZSc+PGxocz5BdHRWYWx1ZTwvbGhzPgorPHJocz4nIicgCisoW14mbHQ7JmFtcDsiXSAKK3wgPG50IGRlZj0nTlQtUmVmZXJlbmNlJz5SZWZlcmVuY2U8L250PikqIAorJyInIAorPC9yaHM+Cis8cmhzPnwmbmJzcDsgCisiJyIgCisoW14mbHQ7JmFtcDsnXSAKK3wgPG50IGRlZj0nTlQtUmVmZXJlbmNlJz5SZWZlcmVuY2U8L250PikqIAorIiciPC9yaHM+Cis8L3Byb2Q+Cis8cHJvZCBpZD0iTlQtU3lzdGVtTGl0ZXJhbCI+PGxocz5TeXN0ZW1MaXRlcmFsPC9saHM+Cis8cmhzPignIicgW14iXSogJyInKSB8Jm5ic3A7KCInIiBbXiddKiAiJyIpCis8L3Jocz4KKzwvcHJvZD4KKzxwcm9kIGlkPSJOVC1QdWJpZExpdGVyYWwiPjxsaHM+UHViaWRMaXRlcmFsPC9saHM+Cis8cmhzPiciJyA8bnQgZGVmPSdOVC1QdWJpZENoYXInPlB1YmlkQ2hhcjwvbnQ+KiAKKyciJyAKK3wgIiciICg8bnQgZGVmPSdOVC1QdWJpZENoYXInPlB1YmlkQ2hhcjwvbnQ+IC0gIiciKSogIiciPC9yaHM+Cis8L3Byb2Q+Cis8cHJvZCBpZD0iTlQtUHViaWRDaGFyIj48bGhzPlB1YmlkQ2hhcjwvbGhzPgorPHJocz4jeDIwIHwgI3hEIHwgI3hBIAorfCZuYnNwO1thLXpBLVowLTldCit8Jm5ic3A7Wy0nKCkrLC4vOj0/OyEqI0AkXyVdPC9yaHM+Cis8L3Byb2Q+Cis8L3NjcmFwPgorPC9wPgorCis8L2RpdjI+CisKKzxkaXYyIGlkPSdzeW50YXgnPgorPGhlYWQ+Q2hhcmFjdGVyIERhdGEgYW5kIE1hcmt1cDwvaGVhZD4KKyAKKzxwPjx0ZXJtcmVmIGRlZj0nZHQtdGV4dCc+VGV4dDwvdGVybXJlZj4gY29uc2lzdHMgb2YgaW50ZXJtaW5nbGVkIAorPHRlcm1yZWYgZGVmPSJkdC1jaGFyZGF0YSI+Y2hhcmFjdGVyCitkYXRhPC90ZXJtcmVmPiBhbmQgbWFya3VwLgorPHRlcm1kZWYgaWQ9ImR0LW1hcmt1cCIgdGVybT0iTWFya3VwIj48dGVybT5NYXJrdXA8L3Rlcm0+IHRha2VzIHRoZSBmb3JtIG9mCis8dGVybXJlZiBkZWY9ImR0LXN0YWciPnN0YXJ0LXRhZ3M8L3Rlcm1yZWY+LAorPHRlcm1yZWYgZGVmPSJkdC1ldGFnIj5lbmQtdGFnczwvdGVybXJlZj4sCis8dGVybXJlZiBkZWY9ImR0LWVtcHR5Ij5lbXB0eS1lbGVtZW50IHRhZ3M8L3Rlcm1yZWY+LAorPHRlcm1yZWYgZGVmPSJkdC1lbnRyZWYiPmVudGl0eSByZWZlcmVuY2VzPC90ZXJtcmVmPiwKKzx0ZXJtcmVmIGRlZj0iZHQtY2hhcnJlZiI+Y2hhcmFjdGVyIHJlZmVyZW5jZXM8L3Rlcm1yZWY+LAorPHRlcm1yZWYgZGVmPSJkdC1jb21tZW50Ij5jb21tZW50czwvdGVybXJlZj4sCis8dGVybXJlZiBkZWY9ImR0LWNkc2VjdGlvbiI+Q0RBVEEgc2VjdGlvbjwvdGVybXJlZj4gZGVsaW1pdGVycywKKzx0ZXJtcmVmIGRlZj0iZHQtZG9jdHlwZSI+ZG9jdW1lbnQgdHlwZSBkZWNsYXJhdGlvbnM8L3Rlcm1yZWY+LCBhbmQKKzx0ZXJtcmVmIGRlZj0iZHQtcGkiPnByb2Nlc3NpbmcgaW5zdHJ1Y3Rpb25zPC90ZXJtcmVmPi4KKzwvdGVybWRlZj4KKzwvcD4KKzxwPjx0ZXJtZGVmIGlkPSJkdC1jaGFyZGF0YSIgdGVybT0iQ2hhcmFjdGVyIERhdGEiPkFsbCB0ZXh0IHRoYXQgaXMgbm90IG1hcmt1cAorY29uc3RpdHV0ZXMgdGhlIDx0ZXJtPmNoYXJhY3RlciBkYXRhPC90ZXJtPiBvZgordGhlIGRvY3VtZW50LjwvdGVybWRlZj48L3A+Cis8cD5UaGUgYW1wZXJzYW5kIGNoYXJhY3RlciAoJmFtcDspIGFuZCB0aGUgbGVmdCBhbmdsZSBicmFja2V0ICgmbHQ7KQorbWF5IGFwcGVhciBpbiB0aGVpciBsaXRlcmFsIGZvcm0gPGVtcGg+b25seTwvZW1waD4gd2hlbiB1c2VkIGFzIG1hcmt1cAorZGVsaW1pdGVycywgb3Igd2l0aGluIGEgPHRlcm1yZWYgZGVmPSJkdC1jb21tZW50Ij5jb21tZW50PC90ZXJtcmVmPiwgYQorPHRlcm1yZWYgZGVmPSJkdC1waSI+cHJvY2Vzc2luZyBpbnN0cnVjdGlvbjwvdGVybXJlZj4sIAorb3IgYSA8dGVybXJlZiBkZWY9ImR0LWNkc2VjdGlvbiI+Q0RBVEEgc2VjdGlvbjwvdGVybXJlZj4uICAKKworVGhleSBhcmUgYWxzbyBsZWdhbCB3aXRoaW4gdGhlIDx0ZXJtcmVmIGRlZj0nZHQtbGl0ZW50dmFsJz5saXRlcmFsIGVudGl0eQordmFsdWU8L3Rlcm1yZWY+IG9mIGFuIGludGVybmFsIGVudGl0eSBkZWNsYXJhdGlvbjsgc2VlCis8c3BlY3JlZiByZWY9J3dmLWVudGl0aWVzJy8+LgorPCEtLSBGSU5BTCBFRElUOiAgcmVzdG9yZSBpbnRlcm5hbCBlbnRpdHkgZGVjbCBvciBsZWF2ZSBpdCBvdXQuIC0tPgorSWYgdGhleSBhcmUgbmVlZGVkIGVsc2V3aGVyZSwKK3RoZXkgbXVzdCBiZSA8dGVybXJlZiBkZWY9ImR0LWVzY2FwZSI+ZXNjYXBlZDwvdGVybXJlZj4KK3VzaW5nIGVpdGhlciA8dGVybXJlZiBkZWY9J2R0LWNoYXJyZWYnPm51bWVyaWMgY2hhcmFjdGVyIHJlZmVyZW5jZXM8L3Rlcm1yZWY+CitvciB0aGUgc3RyaW5ncworIjxjb2RlPiZhbXA7YW1wOzwvY29kZT4iIGFuZCAiPGNvZGU+JmFtcDtsdDs8L2NvZGU+IiByZXNwZWN0aXZlbHkuIAorVGhlIHJpZ2h0IGFuZ2xlCiticmFja2V0ICg+KSBtYXkgYmUgcmVwcmVzZW50ZWQgdXNpbmcgdGhlIHN0cmluZworIjxjb2RlPiZhbXA7Z3Q7PC9jb2RlPiIsIGFuZCBtdXN0LCA8dGVybXJlZiBkZWY9J2R0LWNvbXBhdCc+Zm9yCitjb21wYXRpYmlsaXR5PC90ZXJtcmVmPiwgCitiZSBlc2NhcGVkIHVzaW5nCisiPGNvZGU+JmFtcDtndDs8L2NvZGU+IiBvciBhIGNoYXJhY3RlciByZWZlcmVuY2UgCit3aGVuIGl0IGFwcGVhcnMgaW4gdGhlIHN0cmluZworIjxjb2RlPl1dJmd0OzwvY29kZT4iCitpbiBjb250ZW50LCAKK3doZW4gdGhhdCBzdHJpbmcgaXMgbm90IG1hcmtpbmcgdGhlIGVuZCBvZiAKK2EgPHRlcm1yZWYgZGVmPSJkdC1jZHNlY3Rpb24iPkNEQVRBIHNlY3Rpb248L3Rlcm1yZWY+LiAKKzwvcD4KKzxwPgorSW4gdGhlIGNvbnRlbnQgb2YgZWxlbWVudHMsIGNoYXJhY3RlciBkYXRhIAoraXMgYW55IHN0cmluZyBvZiBjaGFyYWN0ZXJzIHdoaWNoIGRvZXMKK25vdCBjb250YWluIHRoZSBzdGFydC1kZWxpbWl0ZXIgb2YgYW55IG1hcmt1cC4gIAorSW4gYSBDREFUQSBzZWN0aW9uLCBjaGFyYWN0ZXIgZGF0YQoraXMgYW55IHN0cmluZyBvZiBjaGFyYWN0ZXJzIG5vdCBpbmNsdWRpbmcgdGhlIENEQVRBLXNlY3Rpb24tY2xvc2UKK2RlbGltaXRlciwgIjxjb2RlPl1dJmd0OzwvY29kZT4iLjwvcD4KKzxwPgorVG8gYWxsb3cgYXR0cmlidXRlIHZhbHVlcyB0byBjb250YWluIGJvdGggc2luZ2xlIGFuZCBkb3VibGUgcXVvdGVzLCB0aGUKK2Fwb3N0cm9waGUgb3Igc2luZ2xlLXF1b3RlIGNoYXJhY3RlciAoJykgbWF5IGJlIHJlcHJlc2VudGVkIGFzCisiPGNvZGU+JmFtcDthcG9zOzwvY29kZT4iLCBhbmQgdGhlIGRvdWJsZS1xdW90ZSBjaGFyYWN0ZXIgKCIpIGFzCisiPGNvZGU+JmFtcDtxdW90OzwvY29kZT4iLgorPHNjcmFwIGxhbmc9ImVibmYiPgorPGhlYWQ+Q2hhcmFjdGVyIERhdGE8L2hlYWQ+Cis8cHJvZCBpZD0nTlQtQ2hhckRhdGEnPgorPGxocz5DaGFyRGF0YTwvbGhzPgorPHJocz5bXiZsdDsmYW1wO10qIC0gKFteJmx0OyZhbXA7XSogJ11dJmd0OycgW14mbHQ7JmFtcDtdKik8L3Jocz4KKzwvcHJvZD4KKzwvc2NyYXA+Cis8L3A+Cis8L2RpdjI+CisgCis8ZGl2MiBpZD0nc2VjLWNvbW1lbnRzJz4KKzxoZWFkPkNvbW1lbnRzPC9oZWFkPgorIAorPHA+PHRlcm1kZWYgaWQ9ImR0LWNvbW1lbnQiIHRlcm09IkNvbW1lbnQiPjx0ZXJtPkNvbW1lbnRzPC90ZXJtPiBtYXkgCithcHBlYXIgYW55d2hlcmUgaW4gYSBkb2N1bWVudCBvdXRzaWRlIG90aGVyIAorPHRlcm1yZWYgZGVmPSdkdC1tYXJrdXAnPm1hcmt1cDwvdGVybXJlZj47IGluIGFkZGl0aW9uLAordGhleSBtYXkgYXBwZWFyIHdpdGhpbiB0aGUgZG9jdW1lbnQgdHlwZSBkZWNsYXJhdGlvbgorYXQgcGxhY2VzIGFsbG93ZWQgYnkgdGhlIGdyYW1tYXIuCitUaGV5IGFyZSBub3QgcGFydCBvZiB0aGUgZG9jdW1lbnQncyA8dGVybXJlZiBkZWY9ImR0LWNoYXJkYXRhIj5jaGFyYWN0ZXIKK2RhdGE8L3Rlcm1yZWY+OyBhbiBYTUwKK3Byb2Nlc3NvciBtYXksIGJ1dCBuZWVkIG5vdCwgbWFrZSBpdCBwb3NzaWJsZSBmb3IgYW4gYXBwbGljYXRpb24gdG8KK3JldHJpZXZlIHRoZSB0ZXh0IG9mIGNvbW1lbnRzLgorPHRlcm1yZWYgZGVmPSJkdC1jb21wYXQiPkZvciBjb21wYXRpYmlsaXR5PC90ZXJtcmVmPiwgdGhlIHN0cmluZworIjxjb2RlPi0tPC9jb2RlPiIgKGRvdWJsZS1oeXBoZW4pIG11c3Qgbm90IG9jY3VyIHdpdGhpbgorY29tbWVudHMuCis8c2NyYXAgbGFuZz0iZWJuZiI+Cis8aGVhZD5Db21tZW50czwvaGVhZD4KKzxwcm9kIGlkPSdOVC1Db21tZW50Jz48bGhzPkNvbW1lbnQ8L2xocz4KKzxyaHM+JyZsdDshLS0nCisoKDxudCBkZWY9J05ULUNoYXInPkNoYXI8L250PiAtICctJykgCit8ICgnLScgKDxudCBkZWY9J05ULUNoYXInPkNoYXI8L250PiAtICctJykpKSogCisnLS0+JzwvcmhzPgorPC9wcm9kPgorPC9zY3JhcD4KKzwvdGVybWRlZj48L3A+Cis8cD5BbiBleGFtcGxlIG9mIGEgY29tbWVudDoKKzxlZz4mbHQ7ISZjb21vOyBkZWNsYXJhdGlvbnMgZm9yICZsdDtoZWFkPiAmYW1wOyAmbHQ7Ym9keT4gJmNvbWM7Jmd0OzwvZWc+Cis8L3A+Cis8L2RpdjI+CisgCis8ZGl2MiBpZD0nc2VjLXBpJz4KKzxoZWFkPlByb2Nlc3NpbmcgSW5zdHJ1Y3Rpb25zPC9oZWFkPgorIAorPHA+PHRlcm1kZWYgaWQ9ImR0LXBpIiB0ZXJtPSJQcm9jZXNzaW5nIGluc3RydWN0aW9uIj48dGVybT5Qcm9jZXNzaW5nCitpbnN0cnVjdGlvbnM8L3Rlcm0+IChQSXMpIGFsbG93IGRvY3VtZW50cyB0byBjb250YWluIGluc3RydWN0aW9ucworZm9yIGFwcGxpY2F0aW9ucy4KKyAKKzxzY3JhcCBsYW5nPSJlYm5mIj4KKzxoZWFkPlByb2Nlc3NpbmcgSW5zdHJ1Y3Rpb25zPC9oZWFkPgorPHByb2QgaWQ9J05ULVBJJz48bGhzPlBJPC9saHM+Cis8cmhzPicmbHQ7PycgPG50IGRlZj0nTlQtUElUYXJnZXQnPlBJVGFyZ2V0PC9udD4gCisoPG50IGRlZj0nTlQtUyc+UzwvbnQ+IAorKDxudCBkZWY9J05ULUNoYXInPkNoYXI8L250PiogLSAKKyg8bnQgZGVmPSdOVC1DaGFyJz5DaGFyPC9udD4qICZwaWM7IDxudCBkZWY9J05ULUNoYXInPkNoYXI8L250PiopKSk/CismcGljOzwvcmhzPjwvcHJvZD4KKzxwcm9kIGlkPSdOVC1QSVRhcmdldCc+PGxocz5QSVRhcmdldDwvbGhzPgorPHJocz48bnQgZGVmPSdOVC1OYW1lJz5OYW1lPC9udD4gLSAKKygoJ1gnIHwgJ3gnKSAoJ00nIHwgJ20nKSAoJ0wnIHwgJ2wnKSk8L3Jocz4KKzwvcHJvZD4KKzwvc2NyYXA+PC90ZXJtZGVmPgorUElzIGFyZSBub3QgcGFydCBvZiB0aGUgZG9jdW1lbnQncyA8dGVybXJlZiBkZWY9ImR0LWNoYXJkYXRhIj5jaGFyYWN0ZXIKK2RhdGE8L3Rlcm1yZWY+LCBidXQgbXVzdCBiZSBwYXNzZWQgdGhyb3VnaCB0byB0aGUgYXBwbGljYXRpb24uIFRoZQorUEkgYmVnaW5zIHdpdGggYSB0YXJnZXQgKDxudCBkZWY9J05ULVBJVGFyZ2V0Jz5QSVRhcmdldDwvbnQ+KSB1c2VkCit0byBpZGVudGlmeSB0aGUgYXBwbGljYXRpb24gdG8gd2hpY2ggdGhlIGluc3RydWN0aW9uIGlzIGRpcmVjdGVkLiAgCitUaGUgdGFyZ2V0IG5hbWVzICI8Y29kZT5YTUw8L2NvZGU+IiwgIjxjb2RlPnhtbDwvY29kZT4iLCBhbmQgc28gb24gYXJlCityZXNlcnZlZCBmb3Igc3RhbmRhcmRpemF0aW9uIGluIHRoaXMgb3IgZnV0dXJlIHZlcnNpb25zIG9mIHRoaXMKK3NwZWNpZmljYXRpb24uCitUaGUgCitYTUwgPHRlcm1yZWYgZGVmPSdkdC1ub3RhdGlvbic+Tm90YXRpb248L3Rlcm1yZWY+IG1lY2hhbmlzbQorbWF5IGJlIHVzZWQgZm9yCitmb3JtYWwgZGVjbGFyYXRpb24gb2YgUEkgdGFyZ2V0cy4KKzwvcD4KKzwvZGl2Mj4KKyAKKzxkaXYyIGlkPSdzZWMtY2RhdGEtc2VjdCc+Cis8aGVhZD5DREFUQSBTZWN0aW9uczwvaGVhZD4KKyAKKzxwPjx0ZXJtZGVmIGlkPSJkdC1jZHNlY3Rpb24iIHRlcm09IkNEQVRBIFNlY3Rpb24iPjx0ZXJtPkNEQVRBIHNlY3Rpb25zPC90ZXJtPgorbWF5IG9jY3VyIAorYW55d2hlcmUgY2hhcmFjdGVyIGRhdGEgbWF5IG9jY3VyOyB0aGV5IGFyZQordXNlZCB0byBlc2NhcGUgYmxvY2tzIG9mIHRleHQgY29udGFpbmluZyBjaGFyYWN0ZXJzIHdoaWNoIHdvdWxkCitvdGhlcndpc2UgYmUgcmVjb2duaXplZCBhcyBtYXJrdXAuICBDREFUQSBzZWN0aW9ucyBiZWdpbiB3aXRoIHRoZQorc3RyaW5nICI8Y29kZT4mbHQ7IVtDREFUQVs8L2NvZGU+IiBhbmQgZW5kIHdpdGggdGhlIHN0cmluZworIjxjb2RlPl1dJmd0OzwvY29kZT4iOgorPHNjcmFwIGxhbmc9ImVibmYiPgorPGhlYWQ+Q0RBVEEgU2VjdGlvbnM8L2hlYWQ+Cis8cHJvZCBpZD0nTlQtQ0RTZWN0Jz48bGhzPkNEU2VjdDwvbGhzPgorPHJocz48bnQgZGVmPSdOVC1DRFN0YXJ0Jz5DRFN0YXJ0PC9udD4gCis8bnQgZGVmPSdOVC1DRGF0YSc+Q0RhdGE8L250PiAKKzxudCBkZWY9J05ULUNERW5kJz5DREVuZDwvbnQ+PC9yaHM+PC9wcm9kPgorPHByb2QgaWQ9J05ULUNEU3RhcnQnPjxsaHM+Q0RTdGFydDwvbGhzPgorPHJocz4nJmx0OyFbQ0RBVEFbJzwvcmhzPgorPC9wcm9kPgorPHByb2QgaWQ9J05ULUNEYXRhJz48bGhzPkNEYXRhPC9saHM+Cis8cmhzPig8bnQgZGVmPSdOVC1DaGFyJz5DaGFyPC9udD4qIC0gCisoPG50IGRlZj0nTlQtQ2hhcic+Q2hhcjwvbnQ+KiAnXV0mZ3Q7JyA8bnQgZGVmPSdOVC1DaGFyJz5DaGFyPC9udD4qKSkKKzwvcmhzPgorPC9wcm9kPgorPHByb2QgaWQ9J05ULUNERW5kJz48bGhzPkNERW5kPC9saHM+Cis8cmhzPiddXSZndDsnPC9yaHM+Cis8L3Byb2Q+Cis8L3NjcmFwPgorCitXaXRoaW4gYSBDREFUQSBzZWN0aW9uLCBvbmx5IHRoZSA8bnQgZGVmPSdOVC1DREVuZCc+Q0RFbmQ8L250PiBzdHJpbmcgaXMKK3JlY29nbml6ZWQgYXMgbWFya3VwLCBzbyB0aGF0IGxlZnQgYW5nbGUgYnJhY2tldHMgYW5kIGFtcGVyc2FuZHMgbWF5IG9jY3VyIGluCit0aGVpciBsaXRlcmFsIGZvcm07IHRoZXkgbmVlZCBub3QgKGFuZCBjYW5ub3QpIGJlIGVzY2FwZWQgdXNpbmcKKyI8Y29kZT4mYW1wO2x0OzwvY29kZT4iIGFuZCAiPGNvZGU+JmFtcDthbXA7PC9jb2RlPiIuICBDREFUQSBzZWN0aW9ucworY2Fubm90IG5lc3QuPC90ZXJtZGVmPgorPC9wPgorCis8cD5BbiBleGFtcGxlIG9mIGEgQ0RBVEEgc2VjdGlvbiwgaW4gd2hpY2ggIjxjb2RlPiZsdDtncmVldGluZz48L2NvZGU+IiBhbmQgCisiPGNvZGU+Jmx0Oy9ncmVldGluZz48L2NvZGU+IgorYXJlIHJlY29nbml6ZWQgYXMgPHRlcm1yZWYgZGVmPSdkdC1jaGFyZGF0YSc+Y2hhcmFjdGVyIGRhdGE8L3Rlcm1yZWY+LCBub3QKKzx0ZXJtcmVmIGRlZj0nZHQtbWFya3VwJz5tYXJrdXA8L3Rlcm1yZWY+OgorPGVnPiZsdDshW0NEQVRBWyZsdDtncmVldGluZz5IZWxsbywgd29ybGQhJmx0Oy9ncmVldGluZz5dXSZndDs8L2VnPgorPC9wPgorPC9kaXYyPgorIAorPGRpdjIgaWQ9J3NlYy1wcm9sb2ctZHRkJz4KKzxoZWFkPlByb2xvZyBhbmQgRG9jdW1lbnQgVHlwZSBEZWNsYXJhdGlvbjwvaGVhZD4KKyAKKzxwPjx0ZXJtZGVmIGlkPSdkdC14bWxkZWNsJyB0ZXJtPSdYTUwgRGVjbGFyYXRpb24nPlhNTCBkb2N1bWVudHMgCittYXksIGFuZCBzaG91bGQsIAorYmVnaW4gd2l0aCBhbiA8dGVybT5YTUwgZGVjbGFyYXRpb248L3Rlcm0+IHdoaWNoIHNwZWNpZmllcwordGhlIHZlcnNpb24gb2YKK1hNTCBiZWluZyB1c2VkLjwvdGVybWRlZj4KK0ZvciBleGFtcGxlLCB0aGUgZm9sbG93aW5nIGlzIGEgY29tcGxldGUgWE1MIGRvY3VtZW50LCA8dGVybXJlZgorZGVmPSJkdC13ZWxsZm9ybWVkIj53ZWxsLWZvcm1lZDwvdGVybXJlZj4gYnV0IG5vdAorPHRlcm1yZWYgZGVmPSJkdC12YWxpZCI+dmFsaWQ8L3Rlcm1yZWY+OgorPGVnPjwhW0NEQVRBWzw/eG1sIHZlcnNpb249IjEuMCI/PgorPGdyZWV0aW5nPkhlbGxvLCB3b3JsZCE8L2dyZWV0aW5nPgorXV0+PC9lZz4KK2FuZCBzbyBpcyB0aGlzOgorPGVnPjwhW0NEQVRBWzxncmVldGluZz5IZWxsbywgd29ybGQhPC9ncmVldGluZz4KK11dPjwvZWc+Cis8L3A+CisKKzxwPlRoZSB2ZXJzaW9uIG51bWJlciAiPGNvZGU+MS4wPC9jb2RlPiIgc2hvdWxkIGJlIHVzZWQgdG8gaW5kaWNhdGUKK2NvbmZvcm1hbmNlIHRvIHRoaXMgdmVyc2lvbiBvZiB0aGlzIHNwZWNpZmljYXRpb247IGl0IGlzIGFuIGVycm9yCitmb3IgYSBkb2N1bWVudCB0byB1c2UgdGhlIHZhbHVlICI8Y29kZT4xLjA8L2NvZGU+IiAKK2lmIGl0IGRvZXMgbm90IGNvbmZvcm0gdG8gdGhpcyB2ZXJzaW9uIG9mIHRoaXMgc3BlY2lmaWNhdGlvbi4KK0l0IGlzIHRoZSBpbnRlbnQKK29mIHRoZSBYTUwgd29ya2luZyBncm91cCB0byBnaXZlIGxhdGVyIHZlcnNpb25zIG9mIHRoaXMgc3BlY2lmaWNhdGlvbgorbnVtYmVycyBvdGhlciB0aGFuICI8Y29kZT4xLjA8L2NvZGU+IiwgYnV0IHRoaXMgaW50ZW50IGRvZXMgbm90CitpbmRpY2F0ZSBhCitjb21taXRtZW50IHRvIHByb2R1Y2UgYW55IGZ1dHVyZSB2ZXJzaW9ucyBvZiBYTUwsIG5vciBpZiBhbnkgYXJlIHByb2R1Y2VkLCB0bwordXNlIGFueSBwYXJ0aWN1bGFyIG51bWJlcmluZyBzY2hlbWUuCitTaW5jZSBmdXR1cmUgdmVyc2lvbnMgYXJlIG5vdCBydWxlZCBvdXQsIHRoaXMgY29uc3RydWN0IGlzIHByb3ZpZGVkIAorYXMgYSBtZWFucyB0byBhbGxvdyB0aGUgcG9zc2liaWxpdHkgb2YgYXV0b21hdGljIHZlcnNpb24gcmVjb2duaXRpb24sIHNob3VsZAoraXQgYmVjb21lIG5lY2Vzc2FyeS4KK1Byb2Nlc3NvcnMgbWF5IHNpZ25hbCBhbiBlcnJvciBpZiB0aGV5IHJlY2VpdmUgZG9jdW1lbnRzIGxhYmVsZWQgd2l0aCAKK3ZlcnNpb25zIHRoZXkgZG8gbm90IHN1cHBvcnQuIAorPC9wPgorPHA+VGhlIGZ1bmN0aW9uIG9mIHRoZSBtYXJrdXAgaW4gYW4gWE1MIGRvY3VtZW50IGlzIHRvIGRlc2NyaWJlIGl0cworc3RvcmFnZSBhbmQgbG9naWNhbCBzdHJ1Y3R1cmUgYW5kIHRvIGFzc29jaWF0ZSBhdHRyaWJ1dGUtdmFsdWUgcGFpcnMKK3dpdGggaXRzIGxvZ2ljYWwgc3RydWN0dXJlcy4gIFhNTCBwcm92aWRlcyBhIG1lY2hhbmlzbSwgdGhlIDx0ZXJtcmVmCitkZWY9ImR0LWRvY3R5cGUiPmRvY3VtZW50IHR5cGUgZGVjbGFyYXRpb248L3Rlcm1yZWY+LCB0byBkZWZpbmUKK2NvbnN0cmFpbnRzIG9uIHRoZSBsb2dpY2FsIHN0cnVjdHVyZSBhbmQgdG8gc3VwcG9ydCB0aGUgdXNlIG9mCitwcmVkZWZpbmVkIHN0b3JhZ2UgdW5pdHMuCisKKzx0ZXJtZGVmIGlkPSJkdC12YWxpZCIgdGVybT0iVmFsaWRpdHkiPkFuIFhNTCBkb2N1bWVudCBpcyAKKzx0ZXJtPnZhbGlkPC90ZXJtPiBpZiBpdCBoYXMgYW4gYXNzb2NpYXRlZCBkb2N1bWVudCB0eXBlCitkZWNsYXJhdGlvbiBhbmQgaWYgdGhlIGRvY3VtZW50Citjb21wbGllcyB3aXRoIHRoZSBjb25zdHJhaW50cyBleHByZXNzZWQgaW4gaXQuPC90ZXJtZGVmPjwvcD4KKzxwPlRoZSBkb2N1bWVudCB0eXBlIGRlY2xhcmF0aW9uIG11c3QgYXBwZWFyIGJlZm9yZQordGhlIGZpcnN0IDx0ZXJtcmVmIGRlZj0iZHQtZWxlbWVudCI+ZWxlbWVudDwvdGVybXJlZj4gaW4gdGhlIGRvY3VtZW50LgorPHNjcmFwIGxhbmc9ImVibmYiIGlkPSd4bWxkb2MnPgorPGhlYWQ+UHJvbG9nPC9oZWFkPgorPHByb2Rncm91cCBwY3cyPSI2IiBwY3c0PSIxNy41IiBwY3c1PSI5Ij4KKzxwcm9kIGlkPSdOVC1wcm9sb2cnPjxsaHM+cHJvbG9nPC9saHM+Cis8cmhzPjxudCBkZWY9J05ULVhNTERlY2wnPlhNTERlY2w8L250Pj8gCis8bnQgZGVmPSdOVC1NaXNjJz5NaXNjPC9udD4qIAorKDxudCBkZWY9J05ULWRvY3R5cGVkZWNsJz5kb2N0eXBlZGVjbDwvbnQ+IAorPG50IGRlZj0nTlQtTWlzYyc+TWlzYzwvbnQ+Kik/PC9yaHM+PC9wcm9kPgorPHByb2QgaWQ9J05ULVhNTERlY2wnPjxsaHM+WE1MRGVjbDwvbGhzPgorPHJocz4meG1scGlvOyAKKzxudCBkZWY9J05ULVZlcnNpb25JbmZvJz5WZXJzaW9uSW5mbzwvbnQ+IAorPG50IGRlZj0nTlQtRW5jb2RpbmdEZWNsJz5FbmNvZGluZ0RlY2w8L250Pj8gCis8bnQgZGVmPSdOVC1TRERlY2wnPlNERGVjbDwvbnQ+PyAKKzxudCBkZWY9Ik5ULVMiPlM8L250Pj8gCismcGljOzwvcmhzPgorPC9wcm9kPgorPHByb2QgaWQ9J05ULVZlcnNpb25JbmZvJz48bGhzPlZlcnNpb25JbmZvPC9saHM+Cis8cmhzPjxudCBkZWY9Ik5ULVMiPlM8L250PiAndmVyc2lvbicgPG50IGRlZj0nTlQtRXEnPkVxPC9udD4gCisoJyA8bnQgZGVmPSJOVC1WZXJzaW9uTnVtIj5WZXJzaW9uTnVtPC9udD4gJyAKK3wgIiA8bnQgZGVmPSJOVC1WZXJzaW9uTnVtIj5WZXJzaW9uTnVtPC9udD4gIik8L3Jocz4KKzwvcHJvZD4KKzxwcm9kIGlkPSdOVC1FcSc+PGxocz5FcTwvbGhzPgorPHJocz48bnQgZGVmPSdOVC1TJz5TPC9udD4/ICc9JyA8bnQgZGVmPSdOVC1TJz5TPC9udD4/PC9yaHM+PC9wcm9kPgorPHByb2QgaWQ9Ik5ULVZlcnNpb25OdW0iPgorPGxocz5WZXJzaW9uTnVtPC9saHM+Cis8cmhzPihbYS16QS1aMC05Xy46XSB8ICctJykrPC9yaHM+Cis8L3Byb2Q+Cis8cHJvZCBpZD0nTlQtTWlzYyc+PGxocz5NaXNjPC9saHM+Cis8cmhzPjxudCBkZWY9J05ULUNvbW1lbnQnPkNvbW1lbnQ8L250PiB8IDxudCBkZWY9J05ULVBJJz5QSTwvbnQ+IHwgCis8bnQgZGVmPSdOVC1TJz5TPC9udD48L3Jocz48L3Byb2Q+Cis8L3Byb2Rncm91cD4KKzwvc2NyYXA+PC9wPgorCis8cD48dGVybWRlZiBpZD0iZHQtZG9jdHlwZSIgdGVybT0iRG9jdW1lbnQgVHlwZSBEZWNsYXJhdGlvbiI+VGhlIFhNTAorPHRlcm0+ZG9jdW1lbnQgdHlwZSBkZWNsYXJhdGlvbjwvdGVybT4gCitjb250YWlucyBvciBwb2ludHMgdG8gCis8dGVybXJlZiBkZWY9J2R0LW1hcmt1cGRlY2wnPm1hcmt1cCBkZWNsYXJhdGlvbnM8L3Rlcm1yZWY+IAordGhhdCBwcm92aWRlIGEgZ3JhbW1hciBmb3IgYQorY2xhc3Mgb2YgZG9jdW1lbnRzLiAgCitUaGlzIGdyYW1tYXIgaXMga25vd24gYXMgYSBkb2N1bWVudCB0eXBlIGRlZmluaXRpb24sCitvciA8dGVybT5EVEQ8L3Rlcm0+LiAgCitUaGUgZG9jdW1lbnQgdHlwZSBkZWNsYXJhdGlvbiBjYW4gcG9pbnQgdG8gYW4gZXh0ZXJuYWwgc3Vic2V0IChhCitzcGVjaWFsIGtpbmQgb2YgCis8dGVybXJlZiBkZWY9J2R0LWV4dGVudCc+ZXh0ZXJuYWwgZW50aXR5PC90ZXJtcmVmPikgY29udGFpbmluZyBtYXJrdXAKK2RlY2xhcmF0aW9ucywgb3IgY2FuIAorY29udGFpbiB0aGUgbWFya3VwIGRlY2xhcmF0aW9ucyBkaXJlY3RseSBpbiBhbiBpbnRlcm5hbCBzdWJzZXQsIG9yIGNhbiBkbworYm90aC4gICAKK1RoZSBEVEQgZm9yIGEgZG9jdW1lbnQgY29uc2lzdHMgb2YgYm90aCBzdWJzZXRzIHRha2VuCit0b2dldGhlci48L3Rlcm1kZWY+Cis8L3A+Cis8cD48dGVybWRlZiBpZD0iZHQtbWFya3VwZGVjbCIgdGVybT0ibWFya3VwIGRlY2xhcmF0aW9uIj4KK0EgPHRlcm0+bWFya3VwIGRlY2xhcmF0aW9uPC90ZXJtPiBpcyAKK2FuIDx0ZXJtcmVmIGRlZj0iZHQtZWxkZWNsIj5lbGVtZW50IHR5cGUgZGVjbGFyYXRpb248L3Rlcm1yZWY+LCAKK2FuIDx0ZXJtcmVmIGRlZj0iZHQtYXR0ZGVjbCI+YXR0cmlidXRlLWxpc3QgZGVjbGFyYXRpb248L3Rlcm1yZWY+LCAKK2FuIDx0ZXJtcmVmIGRlZj0iZHQtZW50ZGVjbCI+ZW50aXR5IGRlY2xhcmF0aW9uPC90ZXJtcmVmPiwgb3IKK2EgPHRlcm1yZWYgZGVmPSJkdC1ub3RkZWNsIj5ub3RhdGlvbiBkZWNsYXJhdGlvbjwvdGVybXJlZj4uCis8L3Rlcm1kZWY+CitUaGVzZSBkZWNsYXJhdGlvbnMgbWF5IGJlIGNvbnRhaW5lZCBpbiB3aG9sZSBvciBpbiBwYXJ0Cit3aXRoaW4gPHRlcm1yZWYgZGVmPSdkdC1QRSc+cGFyYW1ldGVyIGVudGl0aWVzPC90ZXJtcmVmPiwKK2FzIGRlc2NyaWJlZCBpbiB0aGUgd2VsbC1mb3JtZWRuZXNzIGFuZCB2YWxpZGl0eSBjb25zdHJhaW50cyBiZWxvdy4KK0ZvciBmdWxsZXIgaW5mb3JtYXRpb24sIHNlZQorPHNwZWNyZWYgcmVmPSJzZWMtcGh5c2ljYWwtc3RydWN0Ii8+LjwvcD4KKzxzY3JhcCBsYW5nPSJlYm5mIiBpZD0nZHRkJz4KKzxoZWFkPkRvY3VtZW50IFR5cGUgRGVmaW5pdGlvbjwvaGVhZD4KKzxwcm9kZ3JvdXAgcGN3Mj0iNiIgcGN3ND0iMTcuNSIgcGN3NT0iOSI+Cis8cHJvZCBpZD0nTlQtZG9jdHlwZWRlY2wnPjxsaHM+ZG9jdHlwZWRlY2w8L2xocz4KKzxyaHM+JyZsdDshRE9DVFlQRScgPG50IGRlZj0nTlQtUyc+UzwvbnQ+IAorPG50IGRlZj0nTlQtTmFtZSc+TmFtZTwvbnQ+ICg8bnQgZGVmPSdOVC1TJz5TPC9udD4gCis8bnQgZGVmPSdOVC1FeHRlcm5hbElEJz5FeHRlcm5hbElEPC9udD4pPyAKKzxudCBkZWY9J05ULVMnPlM8L250Pj8gKCdbJyAKKyg8bnQgZGVmPSdOVC1tYXJrdXBkZWNsJz5tYXJrdXBkZWNsPC9udD4gCit8IDxudCBkZWY9J05ULVBFUmVmZXJlbmNlJz5QRVJlZmVyZW5jZTwvbnQ+IAorfCA8bnQgZGVmPSdOVC1TJz5TPC9udD4pKgorJ10nIAorPG50IGRlZj0nTlQtUyc+UzwvbnQ+Pyk/ICc+JzwvcmhzPgorPHZjIGRlZj0idmMtcm9vdHR5cGUiLz4KKzwvcHJvZD4KKzxwcm9kIGlkPSdOVC1tYXJrdXBkZWNsJz48bGhzPm1hcmt1cGRlY2w8L2xocz4KKzxyaHM+PG50IGRlZj0nTlQtZWxlbWVudGRlY2wnPmVsZW1lbnRkZWNsPC9udD4gCit8IDxudCBkZWY9J05ULUF0dGxpc3REZWNsJz5BdHRsaXN0RGVjbDwvbnQ+IAorfCA8bnQgZGVmPSdOVC1FbnRpdHlEZWNsJz5FbnRpdHlEZWNsPC9udD4gCit8IDxudCBkZWY9J05ULU5vdGF0aW9uRGVjbCc+Tm90YXRpb25EZWNsPC9udD4gCit8IDxudCBkZWY9J05ULVBJJz5QSTwvbnQ+IAorfCA8bnQgZGVmPSdOVC1Db21tZW50Jz5Db21tZW50PC9udD4KKzwvcmhzPgorPHZjIGRlZj0ndmMtUEVpbk1hcmt1cERlY2wnLz4KKzx3ZmMgZGVmPSJ3ZmMtUEVpbkludGVybmFsU3Vic2V0Ii8+Cis8L3Byb2Q+CisKKzwvcHJvZGdyb3VwPgorPC9zY3JhcD4KKworPHA+VGhlIG1hcmt1cCBkZWNsYXJhdGlvbnMgbWF5IGJlIG1hZGUgdXAgaW4gd2hvbGUgb3IgaW4gcGFydCBvZgordGhlIDx0ZXJtcmVmIGRlZj0nZHQtcmVwbHRleHQnPnJlcGxhY2VtZW50IHRleHQ8L3Rlcm1yZWY+IG9mIAorPHRlcm1yZWYgZGVmPSdkdC1QRSc+cGFyYW1ldGVyIGVudGl0aWVzPC90ZXJtcmVmPi4KK1RoZSBwcm9kdWN0aW9ucyBsYXRlciBpbiB0aGlzIHNwZWNpZmljYXRpb24gZm9yCitpbmRpdmlkdWFsIG5vbnRlcm1pbmFscyAoPG50IGRlZj0nTlQtZWxlbWVudGRlY2wnPmVsZW1lbnRkZWNsPC9udD4sCis8bnQgZGVmPSdOVC1BdHRsaXN0RGVjbCc+QXR0bGlzdERlY2w8L250PiwgYW5kIHNvIG9uKSBkZXNjcmliZSAKK3RoZSBkZWNsYXJhdGlvbnMgPGVtcGg+YWZ0ZXI8L2VtcGg+IGFsbCB0aGUgcGFyYW1ldGVyIGVudGl0aWVzIGhhdmUgYmVlbiAKKzx0ZXJtcmVmIGRlZj0nZHQtaW5jbHVkZSc+aW5jbHVkZWQ8L3Rlcm1yZWY+LjwvcD4KKworPHZjbm90ZSBpZD0idmMtcm9vdHR5cGUiPgorPGhlYWQ+Um9vdCBFbGVtZW50IFR5cGU8L2hlYWQ+Cis8cD4KK1RoZSA8bnQgZGVmPSdOVC1OYW1lJz5OYW1lPC9udD4gaW4gdGhlIGRvY3VtZW50IHR5cGUgZGVjbGFyYXRpb24gbXVzdAorbWF0Y2ggdGhlIGVsZW1lbnQgdHlwZSBvZiB0aGUgPHRlcm1yZWYgZGVmPSdkdC1yb290Jz5yb290IGVsZW1lbnQ8L3Rlcm1yZWY+LgorPC9wPgorPC92Y25vdGU+CisKKzx2Y25vdGUgaWQ9J3ZjLVBFaW5NYXJrdXBEZWNsJz4KKzxoZWFkPlByb3BlciBEZWNsYXJhdGlvbi9QRSBOZXN0aW5nPC9oZWFkPgorPHA+UGFyYW1ldGVyLWVudGl0eSAKKzx0ZXJtcmVmIGRlZj0nZHQtcmVwbHRleHQnPnJlcGxhY2VtZW50IHRleHQ8L3Rlcm1yZWY+IG11c3QgYmUgcHJvcGVybHkgbmVzdGVkCit3aXRoIG1hcmt1cCBkZWNsYXJhdGlvbnMuIAorVGhhdCBpcyB0byBzYXksIGlmIGVpdGhlciB0aGUgZmlyc3QgY2hhcmFjdGVyCitvciB0aGUgbGFzdCBjaGFyYWN0ZXIgb2YgYSBtYXJrdXAKK2RlY2xhcmF0aW9uICg8bnQgZGVmPSdOVC1tYXJrdXBkZWNsJz5tYXJrdXBkZWNsPC9udD4gYWJvdmUpCitpcyBjb250YWluZWQgaW4gdGhlIHJlcGxhY2VtZW50IHRleHQgZm9yIGEgCis8dGVybXJlZiBkZWY9J2R0LVBFUmVmJz5wYXJhbWV0ZXItZW50aXR5IHJlZmVyZW5jZTwvdGVybXJlZj4sCitib3RoIG11c3QgYmUgY29udGFpbmVkIGluIHRoZSBzYW1lIHJlcGxhY2VtZW50IHRleHQuPC9wPgorPC92Y25vdGU+Cis8d2Zjbm90ZSBpZD0id2ZjLVBFaW5JbnRlcm5hbFN1YnNldCI+Cis8aGVhZD5QRXMgaW4gSW50ZXJuYWwgU3Vic2V0PC9oZWFkPgorPHA+SW4gdGhlIGludGVybmFsIERURCBzdWJzZXQsIAorPHRlcm1yZWYgZGVmPSdkdC1QRVJlZic+cGFyYW1ldGVyLWVudGl0eSByZWZlcmVuY2VzPC90ZXJtcmVmPgorY2FuIG9jY3VyIG9ubHkgd2hlcmUgbWFya3VwIGRlY2xhcmF0aW9ucyBjYW4gb2NjdXIsIG5vdAord2l0aGluIG1hcmt1cCBkZWNsYXJhdGlvbnMuICAoVGhpcyBkb2VzIG5vdCBhcHBseSB0bworcmVmZXJlbmNlcyB0aGF0IG9jY3VyIGluCitleHRlcm5hbCBwYXJhbWV0ZXIgZW50aXRpZXMgb3IgdG8gdGhlIGV4dGVybmFsIHN1YnNldC4pCis8L3A+Cis8L3dmY25vdGU+Cis8cD4KK0xpa2UgdGhlIGludGVybmFsIHN1YnNldCwgdGhlIGV4dGVybmFsIHN1YnNldCBhbmQgCithbnkgZXh0ZXJuYWwgcGFyYW1ldGVyIGVudGl0aWVzIHJlZmVycmVkIHRvIGluIHRoZSBEVEQgCittdXN0IGNvbnNpc3Qgb2YgYSBzZXJpZXMgb2YgY29tcGxldGUgbWFya3VwIGRlY2xhcmF0aW9ucyBvZiB0aGUgdHlwZXMgCithbGxvd2VkIGJ5IHRoZSBub24tdGVybWluYWwgc3ltYm9sCis8bnQgZGVmPSJOVC1tYXJrdXBkZWNsIj5tYXJrdXBkZWNsPC9udD4sIGludGVyc3BlcnNlZCB3aXRoIHdoaXRlIHNwYWNlCitvciA8dGVybXJlZiBkZWY9ImR0LVBFUmVmIj5wYXJhbWV0ZXItZW50aXR5IHJlZmVyZW5jZXM8L3Rlcm1yZWY+LgorSG93ZXZlciwgcG9ydGlvbnMgb2YgdGhlIGNvbnRlbnRzCitvZiB0aGUgCitleHRlcm5hbCBzdWJzZXQgb3Igb2YgZXh0ZXJuYWwgcGFyYW1ldGVyIGVudGl0aWVzIG1heSBjb25kaXRpb25hbGx5IGJlIGlnbm9yZWQKK2J5IHVzaW5nIAordGhlIDx0ZXJtcmVmIGRlZj0iZHQtY29uZC1zZWN0aW9uIj5jb25kaXRpb25hbCBzZWN0aW9uPC90ZXJtcmVmPgorY29uc3RydWN0OyB0aGlzIGlzIG5vdCBhbGxvd2VkIGluIHRoZSBpbnRlcm5hbCBzdWJzZXQuCisKKzxzY3JhcCBpZD0iZXh0LVN1YnNldCI+Cis8aGVhZD5FeHRlcm5hbCBTdWJzZXQ8L2hlYWQ+Cis8cHJvZGdyb3VwIHBjdzI9IjYiIHBjdzQ9IjE3LjUiIHBjdzU9IjkiPgorPHByb2QgaWQ9J05ULWV4dFN1YnNldCc+PGxocz5leHRTdWJzZXQ8L2xocz4KKzxyaHM+PG50IGRlZj0nTlQtVGV4dERlY2wnPlRleHREZWNsPC9udD4/Cis8bnQgZGVmPSdOVC1leHRTdWJzZXREZWNsJz5leHRTdWJzZXREZWNsPC9udD48L3Jocz48L3Byb2Q+Cis8cHJvZCBpZD0nTlQtZXh0U3Vic2V0RGVjbCc+PGxocz5leHRTdWJzZXREZWNsPC9saHM+Cis8cmhzPigKKzxudCBkZWY9J05ULW1hcmt1cGRlY2wnPm1hcmt1cGRlY2w8L250PiAKK3wgPG50IGRlZj0nTlQtY29uZGl0aW9uYWxTZWN0Jz5jb25kaXRpb25hbFNlY3Q8L250PiAKK3wgPG50IGRlZj0nTlQtUEVSZWZlcmVuY2UnPlBFUmVmZXJlbmNlPC9udD4gCit8IDxudCBkZWY9J05ULVMnPlM8L250PgorKSo8L3Jocz4KKzwvcHJvZD4KKzwvcHJvZGdyb3VwPgorPC9zY3JhcD48L3A+Cis8cD5UaGUgZXh0ZXJuYWwgc3Vic2V0IGFuZCBleHRlcm5hbCBwYXJhbWV0ZXIgZW50aXRpZXMgYWxzbyBkaWZmZXIgCitmcm9tIHRoZSBpbnRlcm5hbCBzdWJzZXQgaW4gdGhhdCBpbiB0aGVtLAorPHRlcm1yZWYgZGVmPSJkdC1QRVJlZiI+cGFyYW1ldGVyLWVudGl0eSByZWZlcmVuY2VzPC90ZXJtcmVmPgorYXJlIHBlcm1pdHRlZCA8ZW1waD53aXRoaW48L2VtcGg+IG1hcmt1cCBkZWNsYXJhdGlvbnMsCitub3Qgb25seSA8ZW1waD5iZXR3ZWVuPC9lbXBoPiBtYXJrdXAgZGVjbGFyYXRpb25zLjwvcD4KKzxwPkFuIGV4YW1wbGUgb2YgYW4gWE1MIGRvY3VtZW50IHdpdGggYSBkb2N1bWVudCB0eXBlIGRlY2xhcmF0aW9uOgorPGVnPjwhW0NEQVRBWzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCFET0NUWVBFIGdyZWV0aW5nIFNZU1RFTSAiaGVsbG8uZHRkIj4KKzxncmVldGluZz5IZWxsbywgd29ybGQhPC9ncmVldGluZz4KK11dPjwvZWc+CitUaGUgPHRlcm1yZWYgZGVmPSJkdC1zeXNpZCI+c3lzdGVtIGlkZW50aWZpZXI8L3Rlcm1yZWY+IAorIjxjb2RlPmhlbGxvLmR0ZDwvY29kZT4iIGdpdmVzIHRoZSBVUkkgb2YgYSBEVEQgZm9yIHRoZSBkb2N1bWVudC48L3A+Cis8cD5UaGUgZGVjbGFyYXRpb25zIGNhbiBhbHNvIGJlIGdpdmVuIGxvY2FsbHksIGFzIGluIHRoaXMgCitleGFtcGxlOgorPGVnPjwhW0NEQVRBWzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04IiA/PgorPCFET0NUWVBFIGdyZWV0aW5nIFsKKyAgPCFFTEVNRU5UIGdyZWV0aW5nICgjUENEQVRBKT4KK10+Cis8Z3JlZXRpbmc+SGVsbG8sIHdvcmxkITwvZ3JlZXRpbmc+CitdXT48L2VnPgorSWYgYm90aCB0aGUgZXh0ZXJuYWwgYW5kIGludGVybmFsIHN1YnNldHMgYXJlIHVzZWQsIHRoZSAKK2ludGVybmFsIHN1YnNldCBpcyBjb25zaWRlcmVkIHRvIG9jY3VyIGJlZm9yZSB0aGUgZXh0ZXJuYWwgc3Vic2V0LgorPCEtLSAnaXMgY29uc2lkZXJlZCB0byc/IGJvby4gd2hhenphdCBtZWFuPyAtLT4KK1RoaXMgaGFzIHRoZSBlZmZlY3QgdGhhdCBlbnRpdHkgYW5kIGF0dHJpYnV0ZS1saXN0IGRlY2xhcmF0aW9ucyBpbiB0aGUKK2ludGVybmFsIHN1YnNldCB0YWtlIHByZWNlZGVuY2Ugb3ZlciB0aG9zZSBpbiB0aGUgZXh0ZXJuYWwgc3Vic2V0LgorPC9wPgorPC9kaXYyPgorIAorPGRpdjIgaWQ9J3NlYy1ybWQnPgorPGhlYWQ+U3RhbmRhbG9uZSBEb2N1bWVudCBEZWNsYXJhdGlvbjwvaGVhZD4KKzxwPk1hcmt1cCBkZWNsYXJhdGlvbnMgY2FuIGFmZmVjdCB0aGUgY29udGVudCBvZiB0aGUgZG9jdW1lbnQsCithcyBwYXNzZWQgZnJvbSBhbiA8dGVybXJlZiBkZWY9ImR0LXhtbC1wcm9jIj5YTUwgcHJvY2Vzc29yPC90ZXJtcmVmPiAKK3RvIGFuIGFwcGxpY2F0aW9uOyBleGFtcGxlcyBhcmUgYXR0cmlidXRlIGRlZmF1bHRzIGFuZCBlbnRpdHkKK2RlY2xhcmF0aW9ucy4KK1RoZSBzdGFuZGFsb25lIGRvY3VtZW50IGRlY2xhcmF0aW9uLAord2hpY2ggbWF5IGFwcGVhciBhcyBhIGNvbXBvbmVudCBvZiB0aGUgWE1MIGRlY2xhcmF0aW9uLCBzaWduYWxzCit3aGV0aGVyIG9yIG5vdCB0aGVyZSBhcmUgc3VjaCBkZWNsYXJhdGlvbnMgd2hpY2ggYXBwZWFyIGV4dGVybmFsIHRvIAordGhlIDx0ZXJtcmVmIGRlZj0nZHQtZG9jZW50Jz5kb2N1bWVudCBlbnRpdHk8L3Rlcm1yZWY+LgorPHNjcmFwIGxhbmc9ImVibmYiIGlkPSdmdWxsZHRkJz4KKzxoZWFkPlN0YW5kYWxvbmUgRG9jdW1lbnQgRGVjbGFyYXRpb248L2hlYWQ+Cis8cHJvZGdyb3VwIHBjdzI9IjQiIHBjdzQ9IjE5LjUiIHBjdzU9IjkiPgorPHByb2QgaWQ9J05ULVNERGVjbCc+PGxocz5TRERlY2w8L2xocz4KKzxyaHM+Cis8bnQgZGVmPSJOVC1TIj5TPC9udD4gCisnc3RhbmRhbG9uZScgPG50IGRlZj0nTlQtRXEnPkVxPC9udD4gCisoKCInIiAoJ3llcycgfCAnbm8nKSAiJyIpIHwgKCciJyAoJ3llcycgfCAnbm8nKSAnIicpKQorPC9yaHM+Cis8dmMgZGVmPSd2Yy1jaGVjay1ybWQnLz48L3Byb2Q+Cis8L3Byb2Rncm91cD4KKzwvc2NyYXA+PC9wPgorPHA+CitJbiBhIHN0YW5kYWxvbmUgZG9jdW1lbnQgZGVjbGFyYXRpb24sIHRoZSB2YWx1ZSAiPGNvZGU+eWVzPC9jb2RlPiIgaW5kaWNhdGVzCit0aGF0IHRoZXJlIAorYXJlIG5vIG1hcmt1cCBkZWNsYXJhdGlvbnMgZXh0ZXJuYWwgdG8gdGhlIDx0ZXJtcmVmIGRlZj0nZHQtZG9jZW50Jz5kb2N1bWVudAorZW50aXR5PC90ZXJtcmVmPiAoZWl0aGVyIGluIHRoZSBEVEQgZXh0ZXJuYWwgc3Vic2V0LCBvciBpbiBhbgorZXh0ZXJuYWwgcGFyYW1ldGVyIGVudGl0eSByZWZlcmVuY2VkIGZyb20gdGhlIGludGVybmFsIHN1YnNldCkKK3doaWNoIGFmZmVjdCB0aGUgaW5mb3JtYXRpb24gcGFzc2VkIGZyb20gdGhlIFhNTCBwcm9jZXNzb3IgdG8KK3RoZSBhcHBsaWNhdGlvbi4gIAorVGhlIHZhbHVlICI8Y29kZT5ubzwvY29kZT4iIGluZGljYXRlcyB0aGF0IHRoZXJlIGFyZSBvciBtYXkgYmUgc3VjaAorZXh0ZXJuYWwgbWFya3VwIGRlY2xhcmF0aW9ucy4KK05vdGUgdGhhdCB0aGUgc3RhbmRhbG9uZSBkb2N1bWVudCBkZWNsYXJhdGlvbiBvbmx5IAorZGVub3RlcyB0aGUgcHJlc2VuY2Ugb2YgZXh0ZXJuYWwgPGVtcGg+ZGVjbGFyYXRpb25zPC9lbXBoPjsgdGhlIHByZXNlbmNlLCBpbiBhCitkb2N1bWVudCwgb2YgCityZWZlcmVuY2VzIHRvIGV4dGVybmFsIDxlbXBoPmVudGl0aWVzPC9lbXBoPiwgd2hlbiB0aG9zZSBlbnRpdGllcyBhcmUKK2ludGVybmFsbHkgZGVjbGFyZWQsIAorZG9lcyBub3QgY2hhbmdlIGl0cyBzdGFuZGFsb25lIHN0YXR1cy48L3A+Cis8cD5JZiB0aGVyZSBhcmUgbm8gZXh0ZXJuYWwgbWFya3VwIGRlY2xhcmF0aW9ucywgdGhlIHN0YW5kYWxvbmUgZG9jdW1lbnQKK2RlY2xhcmF0aW9uIGhhcyBubyBtZWFuaW5nLiAKK0lmIHRoZXJlIGFyZSBleHRlcm5hbCBtYXJrdXAgZGVjbGFyYXRpb25zIGJ1dCB0aGVyZSBpcyBubyBzdGFuZGFsb25lCitkb2N1bWVudCBkZWNsYXJhdGlvbiwgdGhlIHZhbHVlICI8Y29kZT5ubzwvY29kZT4iIGlzIGFzc3VtZWQuPC9wPgorPHA+QW55IFhNTCBkb2N1bWVudCBmb3Igd2hpY2ggPGNvZGU+c3RhbmRhbG9uZT0ibm8iPC9jb2RlPiBob2xkcyBjYW4gCitiZSBjb252ZXJ0ZWQgYWxnb3JpdGhtaWNhbGx5IHRvIGEgc3RhbmRhbG9uZSBkb2N1bWVudCwgCit3aGljaCBtYXkgYmUgZGVzaXJhYmxlIGZvciBzb21lIG5ldHdvcmsgZGVsaXZlcnkgYXBwbGljYXRpb25zLjwvcD4KKzx2Y25vdGUgaWQ9J3ZjLWNoZWNrLXJtZCc+Cis8aGVhZD5TdGFuZGFsb25lIERvY3VtZW50IERlY2xhcmF0aW9uPC9oZWFkPgorPHA+VGhlIHN0YW5kYWxvbmUgZG9jdW1lbnQgZGVjbGFyYXRpb24gbXVzdCBoYXZlCit0aGUgdmFsdWUgIjxjb2RlPm5vPC9jb2RlPiIgaWYgYW55IGV4dGVybmFsIG1hcmt1cCBkZWNsYXJhdGlvbnMKK2NvbnRhaW4gZGVjbGFyYXRpb25zIG9mOjwvcD48dWxpc3Q+Cis8aXRlbT48cD5hdHRyaWJ1dGVzIHdpdGggPHRlcm1yZWYgZGVmPSJkdC1kZWZhdWx0Ij5kZWZhdWx0PC90ZXJtcmVmPiB2YWx1ZXMsIGlmCitlbGVtZW50cyB0byB3aGljaAordGhlc2UgYXR0cmlidXRlcyBhcHBseSBhcHBlYXIgaW4gdGhlIGRvY3VtZW50IHdpdGhvdXQKK3NwZWNpZmljYXRpb25zIG9mIHZhbHVlcyBmb3IgdGhlc2UgYXR0cmlidXRlcywgb3I8L3A+PC9pdGVtPgorPGl0ZW0+PHA+ZW50aXRpZXMgKG90aGVyIHRoYW4gJm1hZ2ljZW50czspLCAKK2lmIDx0ZXJtcmVmIGRlZj0iZHQtZW50cmVmIj5yZWZlcmVuY2VzPC90ZXJtcmVmPiB0byB0aG9zZQorZW50aXRpZXMgYXBwZWFyIGluIHRoZSBkb2N1bWVudCwgb3I8L3A+Cis8L2l0ZW0+Cis8aXRlbT48cD5hdHRyaWJ1dGVzIHdpdGggdmFsdWVzIHN1YmplY3QgdG8KKzx0aXRsZXJlZiBocmVmPSdBVk5vcm1hbGl6ZSc+bm9ybWFsaXphdGlvbjwvdGl0bGVyZWY+LCB3aGVyZSB0aGUKK2F0dHJpYnV0ZSBhcHBlYXJzIGluIHRoZSBkb2N1bWVudCB3aXRoIGEgdmFsdWUgd2hpY2ggd2lsbAorY2hhbmdlIGFzIGEgcmVzdWx0IG9mIG5vcm1hbGl6YXRpb24sIG9yPC9wPgorPC9pdGVtPgorPGl0ZW0+Cis8cD5lbGVtZW50IHR5cGVzIHdpdGggPHRlcm1yZWYgZGVmPSJkdC1lbGVtY29udGVudCI+ZWxlbWVudCBjb250ZW50PC90ZXJtcmVmPiwgCitpZiB3aGl0ZSBzcGFjZSBvY2N1cnMKK2RpcmVjdGx5IHdpdGhpbiBhbnkgaW5zdGFuY2Ugb2YgdGhvc2UgdHlwZXMuCis8L3A+PC9pdGVtPgorPC91bGlzdD4KKworPC92Y25vdGU+Cis8cD5BbiBleGFtcGxlIFhNTCBkZWNsYXJhdGlvbiB3aXRoIGEgc3RhbmRhbG9uZSBkb2N1bWVudCBkZWNsYXJhdGlvbjo8ZWcKKz4mbHQ7P3htbCB2ZXJzaW9uPSImWE1MLnZlcnNpb247IiBzdGFuZGFsb25lPSd5ZXMnPz48L2VnPjwvcD4KKzwvZGl2Mj4KKzxkaXYyIGlkPSdzZWMtd2hpdGUtc3BhY2UnPgorPGhlYWQ+V2hpdGUgU3BhY2UgSGFuZGxpbmc8L2hlYWQ+CisKKzxwPkluIGVkaXRpbmcgWE1MIGRvY3VtZW50cywgaXQgaXMgb2Z0ZW4gY29udmVuaWVudCB0byB1c2UgIndoaXRlIHNwYWNlIgorKHNwYWNlcywgdGFicywgYW5kIGJsYW5rIGxpbmVzLCBkZW5vdGVkIGJ5IHRoZSBub250ZXJtaW5hbCAKKzxudCBkZWY9J05ULVMnPlM8L250PiBpbiB0aGlzIHNwZWNpZmljYXRpb24pIHRvCitzZXQgYXBhcnQgdGhlIG1hcmt1cCBmb3IgZ3JlYXRlciByZWFkYWJpbGl0eS4gIFN1Y2ggd2hpdGUgc3BhY2UgaXMgdHlwaWNhbGx5Citub3QgaW50ZW5kZWQgZm9yIGluY2x1c2lvbiBpbiB0aGUgZGVsaXZlcmVkIHZlcnNpb24gb2YgdGhlIGRvY3VtZW50LgorT24gdGhlIG90aGVyIGhhbmQsICJzaWduaWZpY2FudCIgd2hpdGUgc3BhY2UgdGhhdCBzaG91bGQgYmUgcHJlc2VydmVkIGluIHRoZQorZGVsaXZlcmVkIHZlcnNpb24gaXMgY29tbW9uLCBmb3IgZXhhbXBsZSBpbiBwb2V0cnkgYW5kCitzb3VyY2UgY29kZS48L3A+Cis8cD5BbiA8dGVybXJlZiBkZWY9J2R0LXhtbC1wcm9jJz5YTUwgcHJvY2Vzc29yPC90ZXJtcmVmPiAKK211c3QgYWx3YXlzIHBhc3MgYWxsIGNoYXJhY3RlcnMgaW4gYSBkb2N1bWVudCB0aGF0IGFyZSBub3QKK21hcmt1cCB0aHJvdWdoIHRvIHRoZSBhcHBsaWNhdGlvbi4gICBBIDx0ZXJtcmVmIGRlZj0nZHQtdmFsaWRhdGluZyc+Cit2YWxpZGF0aW5nIFhNTCBwcm9jZXNzb3I8L3Rlcm1yZWY+IG11c3QgYWxzbyBpbmZvcm0gdGhlIGFwcGxpY2F0aW9uCit3aGljaCAgb2YgdGhlc2UgY2hhcmFjdGVycyBjb25zdGl0dXRlIHdoaXRlIHNwYWNlIGFwcGVhcmluZworaW4gPHRlcm1yZWYgZGVmPSJkdC1lbGVtY29udGVudCI+ZWxlbWVudCBjb250ZW50PC90ZXJtcmVmPi4KKzwvcD4KKzxwPkEgc3BlY2lhbCA8dGVybXJlZiBkZWY9J2R0LWF0dHInPmF0dHJpYnV0ZTwvdGVybXJlZj4gCituYW1lZCA8a3c+eG1sOnNwYWNlPC9rdz4gbWF5IGJlIGF0dGFjaGVkIHRvIGFuIGVsZW1lbnQKK3RvIHNpZ25hbCBhbiBpbnRlbnRpb24gdGhhdCBpbiB0aGF0IGVsZW1lbnQsCit3aGl0ZSBzcGFjZSBzaG91bGQgYmUgcHJlc2VydmVkIGJ5IGFwcGxpY2F0aW9ucy4KK0luIHZhbGlkIGRvY3VtZW50cywgdGhpcyBhdHRyaWJ1dGUsIGxpa2UgYW55IG90aGVyLCBtdXN0IGJlIAorPHRlcm1yZWYgZGVmPSJkdC1hdHRkZWNsIj5kZWNsYXJlZDwvdGVybXJlZj4gaWYgaXQgaXMgdXNlZC4KK1doZW4gZGVjbGFyZWQsIGl0IG11c3QgYmUgZ2l2ZW4gYXMgYW4gCis8dGVybXJlZiBkZWY9J2R0LWVudW1lcmF0ZWQnPmVudW1lcmF0ZWQgdHlwZTwvdGVybXJlZj4gd2hvc2Ugb25seQorcG9zc2libGUgdmFsdWVzIGFyZSAiPGNvZGU+ZGVmYXVsdDwvY29kZT4iIGFuZCAiPGNvZGU+cHJlc2VydmU8L2NvZGU+Ii4KK0ZvciBleGFtcGxlOjxlZz48IVtDREFUQVsgICAgPCFBVFRMSVNUIHBvZW0gICB4bWw6c3BhY2UgKGRlZmF1bHR8cHJlc2VydmUpICdwcmVzZXJ2ZSc+XV0+PC9lZz48L3A+Cis8cD5UaGUgdmFsdWUgIjxjb2RlPmRlZmF1bHQ8L2NvZGU+IiBzaWduYWxzIHRoYXQgYXBwbGljYXRpb25zJworZGVmYXVsdCB3aGl0ZS1zcGFjZSBwcm9jZXNzaW5nIG1vZGVzIGFyZSBhY2NlcHRhYmxlIGZvciB0aGlzIGVsZW1lbnQ7IHRoZQordmFsdWUgIjxjb2RlPnByZXNlcnZlPC9jb2RlPiIgaW5kaWNhdGVzIHRoZSBpbnRlbnQgdGhhdCBhcHBsaWNhdGlvbnMgcHJlc2VydmUKK2FsbCB0aGUgd2hpdGUgc3BhY2UuCitUaGlzIGRlY2xhcmVkIGludGVudCBpcyBjb25zaWRlcmVkIHRvIGFwcGx5IHRvIGFsbCBlbGVtZW50cyB3aXRoaW4gdGhlIGNvbnRlbnQKK29mIHRoZSBlbGVtZW50IHdoZXJlIGl0IGlzIHNwZWNpZmllZCwgdW5sZXNzIG92ZXJyaWRlbiB3aXRoIGFub3RoZXIgaW5zdGFuY2UKK29mIHRoZSA8a3c+eG1sOnNwYWNlPC9rdz4gYXR0cmlidXRlLgorPC9wPgorPHA+VGhlIDx0ZXJtcmVmIGRlZj0nZHQtcm9vdCc+cm9vdCBlbGVtZW50PC90ZXJtcmVmPiBvZiBhbnkgZG9jdW1lbnQKK2lzIGNvbnNpZGVyZWQgdG8gaGF2ZSBzaWduYWxlZCBubyBpbnRlbnRpb25zIGFzIHJlZ2FyZHMgYXBwbGljYXRpb24gc3BhY2UKK2hhbmRsaW5nLCB1bmxlc3MgaXQgcHJvdmlkZXMgYSB2YWx1ZSBmb3IgCit0aGlzIGF0dHJpYnV0ZSBvciB0aGUgYXR0cmlidXRlIGlzIGRlY2xhcmVkIHdpdGggYSBkZWZhdWx0IHZhbHVlLgorPC9wPgorCis8L2RpdjI+Cis8ZGl2MiBpZD0nc2VjLWxpbmUtZW5kcyc+Cis8aGVhZD5FbmQtb2YtTGluZSBIYW5kbGluZzwvaGVhZD4KKzxwPlhNTCA8dGVybXJlZiBkZWY9J2R0LXBhcnNlZGVudCc+cGFyc2VkIGVudGl0aWVzPC90ZXJtcmVmPiBhcmUgb2Z0ZW4gc3RvcmVkIGluCitjb21wdXRlciBmaWxlcyB3aGljaCwgZm9yIGVkaXRpbmcgY29udmVuaWVuY2UsIGFyZSBvcmdhbml6ZWQgaW50byBsaW5lcy4KK1RoZXNlIGxpbmVzIGFyZSB0eXBpY2FsbHkgc2VwYXJhdGVkIGJ5IHNvbWUgY29tYmluYXRpb24gb2YgdGhlIGNoYXJhY3RlcnMKK2NhcnJpYWdlLXJldHVybiAoI3hEKSBhbmQgbGluZS1mZWVkICgjeEEpLjwvcD4KKzxwPlRvIHNpbXBsaWZ5IHRoZSB0YXNrcyBvZiA8dGVybXJlZiBkZWY9J2R0LWFwcCc+YXBwbGljYXRpb25zPC90ZXJtcmVmPiwKK3doZXJldmVyIGFuIGV4dGVybmFsIHBhcnNlZCBlbnRpdHkgb3IgdGhlIGxpdGVyYWwgZW50aXR5IHZhbHVlCitvZiBhbiBpbnRlcm5hbCBwYXJzZWQgZW50aXR5IGNvbnRhaW5zIGVpdGhlciB0aGUgbGl0ZXJhbCAKK3R3by1jaGFyYWN0ZXIgc2VxdWVuY2UgIiN4RCN4QSIgb3IgYSBzdGFuZGFsb25lIGxpdGVyYWwKKyN4RCwgYW4gPHRlcm1yZWYgZGVmPSdkdC14bWwtcHJvYyc+WE1MIHByb2Nlc3NvcjwvdGVybXJlZj4gbXVzdCAKK3Bhc3MgdG8gdGhlIGFwcGxpY2F0aW9uIHRoZSBzaW5nbGUgY2hhcmFjdGVyICN4QS4KKyhUaGlzIGJlaGF2aW9yIGNhbiAKK2NvbnZlbmllbnRseSBiZSBwcm9kdWNlZCBieSBub3JtYWxpemluZyBhbGwgCitsaW5lIGJyZWFrcyB0byAjeEEgb24gaW5wdXQsIGJlZm9yZSBwYXJzaW5nLikKKzwvcD4KKzwvZGl2Mj4KKzxkaXYyIGlkPSdzZWMtbGFuZy10YWcnPgorPGhlYWQ+TGFuZ3VhZ2UgSWRlbnRpZmljYXRpb248L2hlYWQ+Cis8cD5JbiBkb2N1bWVudCBwcm9jZXNzaW5nLCBpdCBpcyBvZnRlbiB1c2VmdWwgdG8KK2lkZW50aWZ5IHRoZSBuYXR1cmFsIG9yIGZvcm1hbCBsYW5ndWFnZSAKK2luIHdoaWNoIHRoZSBjb250ZW50IGlzIAord3JpdHRlbi4KK0Egc3BlY2lhbCA8dGVybXJlZiBkZWY9ImR0LWF0dHIiPmF0dHJpYnV0ZTwvdGVybXJlZj4gbmFtZWQKKzxrdz54bWw6bGFuZzwva3c+IG1heSBiZSBpbnNlcnRlZCBpbgorZG9jdW1lbnRzIHRvIHNwZWNpZnkgdGhlIAorbGFuZ3VhZ2UgdXNlZCBpbiB0aGUgY29udGVudHMgYW5kIGF0dHJpYnV0ZSB2YWx1ZXMgCitvZiBhbnkgZWxlbWVudCBpbiBhbiBYTUwgZG9jdW1lbnQuCitJbiB2YWxpZCBkb2N1bWVudHMsIHRoaXMgYXR0cmlidXRlLCBsaWtlIGFueSBvdGhlciwgbXVzdCBiZSAKKzx0ZXJtcmVmIGRlZj0iZHQtYXR0ZGVjbCI+ZGVjbGFyZWQ8L3Rlcm1yZWY+IGlmIGl0IGlzIHVzZWQuCitUaGUgdmFsdWVzIG9mIHRoZSBhdHRyaWJ1dGUgYXJlIGxhbmd1YWdlIGlkZW50aWZpZXJzIGFzIGRlZmluZWQKK2J5IDxiaWJyZWYgcmVmPSJSRkMxNzY2Ii8+LCAiVGFncyBmb3IgdGhlIElkZW50aWZpY2F0aW9uIG9mIExhbmd1YWdlcyI6Cis8c2NyYXAgbGFuZz0nZWJuZic+Cis8aGVhZD5MYW5ndWFnZSBJZGVudGlmaWNhdGlvbjwvaGVhZD4KKzxwcm9kIGlkPSdOVC1MYW5ndWFnZUlEJz48bGhzPkxhbmd1YWdlSUQ8L2xocz4KKzxyaHM+PG50IGRlZj0nTlQtTGFuZ2NvZGUnPkxhbmdjb2RlPC9udD4gCisoJy0nIDxudCBkZWY9J05ULVN1YmNvZGUnPlN1YmNvZGU8L250PikqPC9yaHM+PC9wcm9kPgorPHByb2QgaWQ9J05ULUxhbmdjb2RlJz48bGhzPkxhbmdjb2RlPC9saHM+Cis8cmhzPjxudCBkZWY9J05ULUlTTzYzOUNvZGUnPklTTzYzOUNvZGU8L250PiB8IAorPG50IGRlZj0nTlQtSWFuYUNvZGUnPklhbmFDb2RlPC9udD4gfCAKKzxudCBkZWY9J05ULVVzZXJDb2RlJz5Vc2VyQ29kZTwvbnQ+PC9yaHM+Cis8L3Byb2Q+Cis8cHJvZCBpZD0nTlQtSVNPNjM5Q29kZSc+PGxocz5JU082MzlDb2RlPC9saHM+Cis8cmhzPihbYS16XSB8IFtBLVpdKSAoW2Etel0gfCBbQS1aXSk8L3Jocz48L3Byb2Q+Cis8cHJvZCBpZD0nTlQtSWFuYUNvZGUnPjxsaHM+SWFuYUNvZGU8L2xocz4KKzxyaHM+KCdpJyB8ICdJJykgJy0nIChbYS16XSB8IFtBLVpdKSs8L3Jocz48L3Byb2Q+Cis8cHJvZCBpZD0nTlQtVXNlckNvZGUnPjxsaHM+VXNlckNvZGU8L2xocz4KKzxyaHM+KCd4JyB8ICdYJykgJy0nIChbYS16XSB8IFtBLVpdKSs8L3Jocz48L3Byb2Q+Cis8cHJvZCBpZD0nTlQtU3ViY29kZSc+PGxocz5TdWJjb2RlPC9saHM+Cis8cmhzPihbYS16XSB8IFtBLVpdKSs8L3Jocz48L3Byb2Q+Cis8L3NjcmFwPgorVGhlIDxudCBkZWY9J05ULUxhbmdjb2RlJz5MYW5nY29kZTwvbnQ+IG1heSBiZSBhbnkgb2YgdGhlIGZvbGxvd2luZzoKKzx1bGlzdD4KKzxpdGVtPjxwPmEgdHdvLWxldHRlciBsYW5ndWFnZSBjb2RlIGFzIGRlZmluZWQgYnkgCis8YmlicmVmIHJlZj0iSVNPNjM5Ii8+LCAiQ29kZXMKK2ZvciB0aGUgcmVwcmVzZW50YXRpb24gb2YgbmFtZXMgb2YgbGFuZ3VhZ2VzIjwvcD48L2l0ZW0+Cis8aXRlbT48cD5hIGxhbmd1YWdlIGlkZW50aWZpZXIgcmVnaXN0ZXJlZCB3aXRoIHRoZSBJbnRlcm5ldAorQXNzaWduZWQgTnVtYmVycyBBdXRob3JpdHkgPGJpYnJlZiByZWY9J0lBTkEnLz47IHRoZXNlIGJlZ2luIHdpdGggdGhlIAorcHJlZml4ICI8Y29kZT5pLTwvY29kZT4iIChvciAiPGNvZGU+SS08L2NvZGU+Iik8L3A+PC9pdGVtPgorPGl0ZW0+PHA+YSBsYW5ndWFnZSBpZGVudGlmaWVyIGFzc2lnbmVkIGJ5IHRoZSB1c2VyLCBvciBhZ3JlZWQgb24KK2JldHdlZW4gcGFydGllcyBpbiBwcml2YXRlIHVzZTsgdGhlc2UgbXVzdCBiZWdpbiB3aXRoIHRoZQorcHJlZml4ICI8Y29kZT54LTwvY29kZT4iIG9yICI8Y29kZT5YLTwvY29kZT4iIGluIG9yZGVyIHRvIGVuc3VyZSB0aGF0IHRoZXkgZG8gbm90IGNvbmZsaWN0IAord2l0aCBuYW1lcyBsYXRlciBzdGFuZGFyZGl6ZWQgb3IgcmVnaXN0ZXJlZCB3aXRoIElBTkE8L3A+PC9pdGVtPgorPC91bGlzdD48L3A+Cis8cD5UaGVyZSBtYXkgYmUgYW55IG51bWJlciBvZiA8bnQgZGVmPSdOVC1TdWJjb2RlJz5TdWJjb2RlPC9udD4gc2VnbWVudHM7IGlmCit0aGUgZmlyc3QgCitzdWJjb2RlIHNlZ21lbnQgZXhpc3RzIGFuZCB0aGUgU3ViY29kZSBjb25zaXN0cyBvZiB0d28gCitsZXR0ZXJzLCB0aGVuIGl0IG11c3QgYmUgYSBjb3VudHJ5IGNvZGUgZnJvbSAKKzxiaWJyZWYgcmVmPSJJU08zMTY2Ii8+LCAiQ29kZXMgCitmb3IgdGhlIHJlcHJlc2VudGF0aW9uIG9mIG5hbWVzIG9mIGNvdW50cmllcy4iCitJZiB0aGUgZmlyc3QgCitzdWJjb2RlIGNvbnNpc3RzIG9mIG1vcmUgdGhhbiB0d28gbGV0dGVycywgaXQgbXVzdCBiZQorYSBzdWJjb2RlIGZvciB0aGUgbGFuZ3VhZ2UgaW4gcXVlc3Rpb24gcmVnaXN0ZXJlZCB3aXRoIElBTkEsCit1bmxlc3MgdGhlIDxudCBkZWY9J05ULUxhbmdjb2RlJz5MYW5nY29kZTwvbnQ+IGJlZ2lucyB3aXRoIHRoZSBwcmVmaXggCisiPGNvZGU+eC08L2NvZGU+IiBvcgorIjxjb2RlPlgtPC9jb2RlPiIuIDwvcD4KKzxwPkl0IGlzIGN1c3RvbWFyeSB0byBnaXZlIHRoZSBsYW5ndWFnZSBjb2RlIGluIGxvd2VyIGNhc2UsIGFuZAordGhlIGNvdW50cnkgY29kZSAoaWYgYW55KSBpbiB1cHBlciBjYXNlLgorTm90ZSB0aGF0IHRoZXNlIHZhbHVlcywgdW5saWtlIG90aGVyIG5hbWVzIGluIFhNTCBkb2N1bWVudHMsCithcmUgY2FzZSBpbnNlbnNpdGl2ZS48L3A+Cis8cD5Gb3IgZXhhbXBsZToKKzxlZz48IVtDREFUQVs8cCB4bWw6bGFuZz0iZW4iPlRoZSBxdWljayBicm93biBmb3gganVtcHMgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPHAgeG1sOmxhbmc9ImVuLUdCIj5XaGF0IGNvbG91ciBpcyBpdD88L3A+Cis8cCB4bWw6bGFuZz0iZW4tVVMiPldoYXQgY29sb3IgaXMgaXQ/PC9wPgorPHNwIHdobz0iRmF1c3QiIGRlc2M9J2xlaXNlJyB4bWw6bGFuZz0iZGUiPgorICA8bD5IYWJlIG51biwgYWNoISBQaGlsb3NvcGhpZSw8L2w+CisgIDxsPkp1cmlzdGVyZWksIHVuZCBNZWRpemluPC9sPgorICA8bD51bmQgbGVpZGVyIGF1Y2ggVGhlb2xvZ2llPC9sPgorICA8bD5kdXJjaGF1cyBzdHVkaWVydCBtaXQgaGVp32VtIEJlbfxoJ24uPC9sPgorICA8L3NwPl1dPjwvZWc+PC9wPgorPCEtLTxwPlRoZSB4bWw6bGFuZyB2YWx1ZSBpcyBjb25zaWRlcmVkIHRvIGFwcGx5IGJvdGggdG8gdGhlIGNvbnRlbnRzIG9mIGFuCitlbGVtZW50IGFuZCAKKyh1bmxlc3Mgb3RoZXJ3aXNlIHZpYSBhdHRyaWJ1dGUgZGVmYXVsdCB2YWx1ZXMpIHRvIHRoZQordmFsdWVzIG9mIGFsbCBvZiBpdHMgYXR0cmlidXRlcyB3aXRoIGZyZWUtdGV4dCAoQ0RBVEEpIHZhbHVlcy4gIC0tPgorPHA+VGhlIGludGVudCBkZWNsYXJlZCB3aXRoIDxrdz54bWw6bGFuZzwva3c+IGlzIGNvbnNpZGVyZWQgdG8gYXBwbHkgdG8KK2FsbCBhdHRyaWJ1dGVzIGFuZCBjb250ZW50IG9mIHRoZSBlbGVtZW50IHdoZXJlIGl0IGlzIHNwZWNpZmllZCwKK3VubGVzcyBvdmVycmlkZGVuIHdpdGggYW4gaW5zdGFuY2Ugb2YgPGt3PnhtbDpsYW5nPC9rdz4KK29uIGFub3RoZXIgZWxlbWVudCB3aXRoaW4gdGhhdCBjb250ZW50LjwvcD4KKzwhLS0KK0lmIG5vCit2YWx1ZSBpcyBzcGVjaWZpZWQgZm9yIHhtbDpsYW5nIG9uIGFuIGVsZW1lbnQsIGFuZCBubyBkZWZhdWx0IHZhbHVlIGlzCitkZWZpbmVkIGZvciBpdCBpbiB0aGUgRFRELCB0aGVuIHRoZSB4bWw6bGFuZyBhdHRyaWJ1dGUgb2YgYW55IGVsZW1lbnQKK3Rha2VzIHRoZSBzYW1lIHZhbHVlIGl0IGhhcyBpbiB0aGUgcGFyZW50IGVsZW1lbnQsIGlmIGFueS4gIFRoZSB0d28KK3RlY2huaWNhbCB0ZXJtcyBpbiB0aGUgZm9sbG93aW5nIGV4YW1wbGUgYm90aCBoYXZlIHRoZSBzYW1lIGVmZmVjdGl2ZQordmFsdWUgZm9yIHhtbDpsYW5nOgorCisgIDxwIHhtbDpsYW5nPSJlbiI+SGVyZSB0aGUga2V5d29yZHMgYXJlCisgIDx0ZXJtIHhtbDpsYW5nPSJlbiI+c2hpZnQ8L3Rlcm0+IGFuZAorICA8dGVybT5yZWR1Y2U8L3Rlcm0+LiAuLi48L3A+CisKK1RoZSBhcHBsaWNhdGlvbiwgbm90IHRoZSBYTUwgcHJvY2Vzc29yLCBpcyByZXNwb25zaWJsZSBmb3IgdGhpcyAnCitpbmhlcml0YW5jZScgb2YgYXR0cmlidXRlIHZhbHVlcy4KKy0tPgorPHA+QSBzaW1wbGUgZGVjbGFyYXRpb24gZm9yIDxrdz54bWw6bGFuZzwva3c+IG1pZ2h0IHRha2UKK3RoZSBmb3JtCis8ZWc+eG1sOmxhbmcgIE5NVE9LRU4gICNJTVBMSUVEPC9lZz4KK2J1dCBzcGVjaWZpYyBkZWZhdWx0IHZhbHVlcyBtYXkgYWxzbyBiZSBnaXZlbiwgaWYgYXBwcm9wcmlhdGUuICBJbiBhCitjb2xsZWN0aW9uIG9mIEZyZW5jaCBwb2VtcyBmb3IgRW5nbGlzaCBzdHVkZW50cywgd2l0aCBnbG9zc2VzIGFuZAorbm90ZXMgaW4gRW5nbGlzaCwgdGhlIHhtbDpsYW5nIGF0dHJpYnV0ZSBtaWdodCBiZSBkZWNsYXJlZCB0aGlzIHdheToKKzxlZz48IVtDREFUQVsgICAgPCFBVFRMSVNUIHBvZW0gICB4bWw6bGFuZyBOTVRPS0VOICdmcic+CisgICAgPCFBVFRMSVNUIGdsb3NzICB4bWw6bGFuZyBOTVRPS0VOICdlbic+CisgICAgPCFBVFRMSVNUIG5vdGUgICB4bWw6bGFuZyBOTVRPS0VOICdlbic+XV0+PC9lZz4KKzwvcD4KKworPC9kaXYyPgorPC9kaXYxPgorPCEtLSAmRWxlbWVudHM7IC0tPgorIAorPGRpdjEgaWQ9J3NlYy1sb2dpY2FsLXN0cnVjdCc+Cis8aGVhZD5Mb2dpY2FsIFN0cnVjdHVyZXM8L2hlYWQ+CisgCis8cD48dGVybWRlZiBpZD0iZHQtZWxlbWVudCIgdGVybT0iRWxlbWVudCI+RWFjaCA8dGVybXJlZgorZGVmPSJkdC14bWwtZG9jIj5YTUwgZG9jdW1lbnQ8L3Rlcm1yZWY+IGNvbnRhaW5zIG9uZSBvciBtb3JlCis8dGVybT5lbGVtZW50czwvdGVybT4sIHRoZSBib3VuZGFyaWVzIG9mIHdoaWNoIGFyZSAKK2VpdGhlciBkZWxpbWl0ZWQgYnkgPHRlcm1yZWYgZGVmPSJkdC1zdGFnIj5zdGFydC10YWdzPC90ZXJtcmVmPiAKK2FuZCA8dGVybXJlZiBkZWY9ImR0LWV0YWciPmVuZC10YWdzPC90ZXJtcmVmPiwgb3IsIGZvciA8dGVybXJlZgorZGVmPSJkdC1lbXB0eSI+ZW1wdHk8L3Rlcm1yZWY+IGVsZW1lbnRzLCBieSBhbiA8dGVybXJlZgorZGVmPSJkdC1lZXRhZyI+ZW1wdHktZWxlbWVudCB0YWc8L3Rlcm1yZWY+LiBFYWNoIGVsZW1lbnQgaGFzIGEgdHlwZSwKK2lkZW50aWZpZWQgYnkgbmFtZSwgc29tZXRpbWVzIGNhbGxlZCBpdHMgImdlbmVyaWMKK2lkZW50aWZpZXIiIChHSSksIGFuZCBtYXkgaGF2ZSBhIHNldCBvZgorYXR0cmlidXRlIHNwZWNpZmljYXRpb25zLjwvdGVybWRlZj4gIEVhY2ggYXR0cmlidXRlIHNwZWNpZmljYXRpb24gCitoYXMgYSA8dGVybXJlZgorZGVmPSJkdC1hdHRybmFtZSI+bmFtZTwvdGVybXJlZj4gYW5kIGEgPHRlcm1yZWYKK2RlZj0iZHQtYXR0cnZhbCI+dmFsdWU8L3Rlcm1yZWY+LgorPC9wPgorPHNjcmFwIGxhbmc9J2VibmYnPjxoZWFkPkVsZW1lbnQ8L2hlYWQ+Cis8cHJvZCBpZD0nTlQtZWxlbWVudCc+PGxocz5lbGVtZW50PC9saHM+Cis8cmhzPjxudCBkZWY9J05ULUVtcHR5RWxlbVRhZyc+RW1wdHlFbGVtVGFnPC9udD48L3Jocz4KKzxyaHM+fCA8bnQgZGVmPSdOVC1TVGFnJz5TVGFnPC9udD4gPG50IGRlZj0nTlQtY29udGVudCc+Y29udGVudDwvbnQ+IAorPG50IGRlZj0nTlQtRVRhZyc+RVRhZzwvbnQ+PC9yaHM+Cis8d2ZjIGRlZj0nR0lNYXRjaCcvPgorPHZjIGRlZj0nZWxlbWVudHZhbGlkJy8+Cis8L3Byb2Q+Cis8L3NjcmFwPgorPHA+VGhpcyBzcGVjaWZpY2F0aW9uIGRvZXMgbm90IGNvbnN0cmFpbiB0aGUgc2VtYW50aWNzLCB1c2UsIG9yIChiZXlvbmQKK3N5bnRheCkgbmFtZXMgb2YgdGhlIGVsZW1lbnQgdHlwZXMgYW5kIGF0dHJpYnV0ZXMsIGV4Y2VwdCB0aGF0IG5hbWVzCitiZWdpbm5pbmcgd2l0aCBhIG1hdGNoIHRvIDxjb2RlPigoJ1gnfCd4JykoJ00nfCdtJykoJ0wnfCdsJykpPC9jb2RlPgorYXJlIHJlc2VydmVkIGZvciBzdGFuZGFyZGl6YXRpb24gaW4gdGhpcyBvciBmdXR1cmUgdmVyc2lvbnMgb2YgdGhpcworc3BlY2lmaWNhdGlvbi4KKzwvcD4KKzx3ZmNub3RlIGlkPSdHSU1hdGNoJz4KKzxoZWFkPkVsZW1lbnQgVHlwZSBNYXRjaDwvaGVhZD4KKzxwPgorVGhlIDxudCBkZWY9J05ULU5hbWUnPk5hbWU8L250PiBpbiBhbiBlbGVtZW50J3MgZW5kLXRhZyBtdXN0IG1hdGNoIAordGhlIGVsZW1lbnQgdHlwZSBpbgordGhlIHN0YXJ0LXRhZy4KKzwvcD4KKzwvd2Zjbm90ZT4KKzx2Y25vdGUgaWQ9J2VsZW1lbnR2YWxpZCc+Cis8aGVhZD5FbGVtZW50IFZhbGlkPC9oZWFkPgorPHA+QW4gZWxlbWVudCBpcwordmFsaWQgaWYKK3RoZXJlIGlzIGEgZGVjbGFyYXRpb24gbWF0Y2hpbmcgCis8bnQgZGVmPSdOVC1lbGVtZW50ZGVjbCc+ZWxlbWVudGRlY2w8L250PiB3aGVyZSB0aGUKKzxudCBkZWY9J05ULU5hbWUnPk5hbWU8L250PiBtYXRjaGVzIHRoZSBlbGVtZW50IHR5cGUsIGFuZAorb25lIG9mIHRoZSBmb2xsb3dpbmcgaG9sZHM6PC9wPgorPG9saXN0PgorPGl0ZW0+PHA+VGhlIGRlY2xhcmF0aW9uIG1hdGNoZXMgPGt3PkVNUFRZPC9rdz4gYW5kIHRoZSBlbGVtZW50IGhhcyBubyAKKzx0ZXJtcmVmIGRlZj0nZHQtY29udGVudCc+Y29udGVudDwvdGVybXJlZj4uPC9wPjwvaXRlbT4KKzxpdGVtPjxwPlRoZSBkZWNsYXJhdGlvbiBtYXRjaGVzIDxudCBkZWY9J05ULWNoaWxkcmVuJz5jaGlsZHJlbjwvbnQ+IGFuZAordGhlIHNlcXVlbmNlIG9mIAorPHRlcm1yZWYgZGVmPSJkdC1wYXJlbnRjaGlsZCI+Y2hpbGQgZWxlbWVudHM8L3Rlcm1yZWY+CitiZWxvbmdzIHRvIHRoZSBsYW5ndWFnZSBnZW5lcmF0ZWQgYnkgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBpbgordGhlIGNvbnRlbnQgbW9kZWwsIHdpdGggb3B0aW9uYWwgd2hpdGUgc3BhY2UgKGNoYXJhY3RlcnMgCittYXRjaGluZyB0aGUgbm9udGVybWluYWwgPG50IGRlZj0nTlQtUyc+UzwvbnQ+KSBiZXR3ZWVuIGVhY2ggcGFpcgorb2YgY2hpbGQgZWxlbWVudHMuPC9wPjwvaXRlbT4KKzxpdGVtPjxwPlRoZSBkZWNsYXJhdGlvbiBtYXRjaGVzIDxudCBkZWY9J05ULU1peGVkJz5NaXhlZDwvbnQ+IGFuZCAKK3RoZSBjb250ZW50IGNvbnNpc3RzIG9mIDx0ZXJtcmVmIGRlZj0nZHQtY2hhcmRhdGEnPmNoYXJhY3RlciAKK2RhdGE8L3Rlcm1yZWY+IGFuZCA8dGVybXJlZiBkZWY9J2R0LXBhcmVudGNoaWxkJz5jaGlsZCBlbGVtZW50czwvdGVybXJlZj4KK3dob3NlIHR5cGVzIG1hdGNoIG5hbWVzIGluIHRoZSBjb250ZW50IG1vZGVsLjwvcD48L2l0ZW0+Cis8aXRlbT48cD5UaGUgZGVjbGFyYXRpb24gbWF0Y2hlcyA8a3c+QU5ZPC9rdz4sIGFuZCB0aGUgdHlwZXMKK29mIGFueSA8dGVybXJlZiBkZWY9J2R0LXBhcmVudGNoaWxkJz5jaGlsZCBlbGVtZW50czwvdGVybXJlZj4gaGF2ZQorYmVlbiBkZWNsYXJlZC48L3A+PC9pdGVtPgorPC9vbGlzdD4KKzwvdmNub3RlPgorCis8ZGl2MiBpZD0nc2VjLXN0YXJ0dGFncyc+Cis8aGVhZD5TdGFydC1UYWdzLCBFbmQtVGFncywgYW5kIEVtcHR5LUVsZW1lbnQgVGFnczwvaGVhZD4KKyAKKzxwPjx0ZXJtZGVmIGlkPSJkdC1zdGFnIiB0ZXJtPSJTdGFydC1UYWciPlRoZSBiZWdpbm5pbmcgb2YgZXZlcnkKK25vbi1lbXB0eSBYTUwgZWxlbWVudCBpcyBtYXJrZWQgYnkgYSA8dGVybT5zdGFydC10YWc8L3Rlcm0+LgorPHNjcmFwIGxhbmc9J2VibmYnPgorPGhlYWQ+U3RhcnQtdGFnPC9oZWFkPgorPHByb2Rncm91cCBwY3cyPSI2IiBwY3c0PSIxNSIgcGN3NT0iMTEuNSI+Cis8cHJvZCBpZD0nTlQtU1RhZyc+PGxocz5TVGFnPC9saHM+Cis8cmhzPicmbHQ7JyA8bnQgZGVmPSdOVC1OYW1lJz5OYW1lPC9udD4gCisoPG50IGRlZj0nTlQtUyc+UzwvbnQ+IDxudCBkZWY9J05ULUF0dHJpYnV0ZSc+QXR0cmlidXRlPC9udD4pKiAKKzxudCBkZWY9J05ULVMnPlM8L250Pj8gJz4nPC9yaHM+Cis8d2ZjIGRlZj0idW5pcWF0dHNwZWMiLz4KKzwvcHJvZD4KKzxwcm9kIGlkPSdOVC1BdHRyaWJ1dGUnPjxsaHM+QXR0cmlidXRlPC9saHM+Cis8cmhzPjxudCBkZWY9J05ULU5hbWUnPk5hbWU8L250PiA8bnQgZGVmPSdOVC1FcSc+RXE8L250PiAKKzxudCBkZWY9J05ULUF0dFZhbHVlJz5BdHRWYWx1ZTwvbnQ+PC9yaHM+Cis8dmMgZGVmPSdWYWx1ZVR5cGUnLz4KKzx3ZmMgZGVmPSdOb0V4dGVybmFsUmVmcycvPgorPHdmYyBkZWY9J0NsZWFuQXR0clZhbHMnLz48L3Byb2Q+Cis8L3Byb2Rncm91cD4KKzwvc2NyYXA+CitUaGUgPG50IGRlZj0nTlQtTmFtZSc+TmFtZTwvbnQ+IGluCit0aGUgc3RhcnQtIGFuZCBlbmQtdGFncyBnaXZlcyB0aGUgCitlbGVtZW50J3MgPHRlcm0+dHlwZTwvdGVybT4uPC90ZXJtZGVmPgorPHRlcm1kZWYgaWQ9ImR0LWF0dHIiIHRlcm09IkF0dHJpYnV0ZSI+CitUaGUgPG50IGRlZj0nTlQtTmFtZSc+TmFtZTwvbnQ+LTxudCBkZWY9J05ULUF0dFZhbHVlJz5BdHRWYWx1ZTwvbnQ+IHBhaXJzIGFyZQorcmVmZXJyZWQgdG8gYXMgCit0aGUgPHRlcm0+YXR0cmlidXRlIHNwZWNpZmljYXRpb25zPC90ZXJtPiBvZiB0aGUgZWxlbWVudDwvdGVybWRlZj4sCis8dGVybWRlZiBpZD0iZHQtYXR0cm5hbWUiIHRlcm09IkF0dHJpYnV0ZSBOYW1lIj53aXRoIHRoZSAKKzxudCBkZWY9J05ULU5hbWUnPk5hbWU8L250PiBpbiBlYWNoIHBhaXIKK3JlZmVycmVkIHRvIGFzIHRoZSA8dGVybT5hdHRyaWJ1dGUgbmFtZTwvdGVybT48L3Rlcm1kZWY+IGFuZAorPHRlcm1kZWYgaWQ9ImR0LWF0dHJ2YWwiIHRlcm09IkF0dHJpYnV0ZSBWYWx1ZSI+dGhlIGNvbnRlbnQgb2YgdGhlCis8bnQgZGVmPSdOVC1BdHRWYWx1ZSc+QXR0VmFsdWU8L250PiAodGhlIHRleHQgYmV0d2VlbiB0aGUKKzxjb2RlPic8L2NvZGU+IG9yIDxjb2RlPiI8L2NvZGU+IGRlbGltaXRlcnMpCithcyB0aGUgPHRlcm0+YXR0cmlidXRlIHZhbHVlPC90ZXJtPi48L3Rlcm1kZWY+Cis8L3A+Cis8d2Zjbm90ZSBpZD0ndW5pcWF0dHNwZWMnPgorPGhlYWQ+VW5pcXVlIEF0dCBTcGVjPC9oZWFkPgorPHA+CitObyBhdHRyaWJ1dGUgbmFtZSBtYXkgYXBwZWFyIG1vcmUgdGhhbiBvbmNlIGluIHRoZSBzYW1lIHN0YXJ0LXRhZworb3IgZW1wdHktZWxlbWVudCB0YWcuCis8L3A+Cis8L3dmY25vdGU+Cis8dmNub3RlIGlkPSdWYWx1ZVR5cGUnPgorPGhlYWQ+QXR0cmlidXRlIFZhbHVlIFR5cGU8L2hlYWQ+Cis8cD4KK1RoZSBhdHRyaWJ1dGUgbXVzdCBoYXZlIGJlZW4gZGVjbGFyZWQ7IHRoZSB2YWx1ZSBtdXN0IGJlIG9mIHRoZSB0eXBlIAorZGVjbGFyZWQgZm9yIGl0LgorKEZvciBhdHRyaWJ1dGUgdHlwZXMsIHNlZSA8c3BlY3JlZiByZWY9J2F0dGRlY2xzJy8+LikKKzwvcD4KKzwvdmNub3RlPgorPHdmY25vdGUgaWQ9J05vRXh0ZXJuYWxSZWZzJz4KKzxoZWFkPk5vIEV4dGVybmFsIEVudGl0eSBSZWZlcmVuY2VzPC9oZWFkPgorPHA+CitBdHRyaWJ1dGUgdmFsdWVzIGNhbm5vdCBjb250YWluIGRpcmVjdCBvciBpbmRpcmVjdCBlbnRpdHkgcmVmZXJlbmNlcyAKK3RvIGV4dGVybmFsIGVudGl0aWVzLgorPC9wPgorPC93ZmNub3RlPgorPHdmY25vdGUgaWQ9J0NsZWFuQXR0clZhbHMnPgorPGhlYWQ+Tm8gPGNvZGU+Jmx0OzwvY29kZT4gaW4gQXR0cmlidXRlIFZhbHVlczwvaGVhZD4KKzxwPlRoZSA8dGVybXJlZiBkZWY9J2R0LXJlcGx0ZXh0Jz5yZXBsYWNlbWVudCB0ZXh0PC90ZXJtcmVmPiBvZiBhbnkgZW50aXR5CityZWZlcnJlZCB0byBkaXJlY3RseSBvciBpbmRpcmVjdGx5IGluIGFuIGF0dHJpYnV0ZQordmFsdWUgKG90aGVyIHRoYW4gIjxjb2RlPiZhbXA7bHQ7PC9jb2RlPiIpIG11c3Qgbm90IGNvbnRhaW4KK2EgPGNvZGU+Jmx0OzwvY29kZT4uCis8L3A+PC93ZmNub3RlPgorPHA+QW4gZXhhbXBsZSBvZiBhIHN0YXJ0LXRhZzoKKzxlZz4mbHQ7dGVybWRlZiBpZD0iZHQtZG9nIiB0ZXJtPSJkb2ciPjwvZWc+PC9wPgorPHA+PHRlcm1kZWYgaWQ9ImR0LWV0YWciIHRlcm09IkVuZCBUYWciPlRoZSBlbmQgb2YgZXZlcnkgZWxlbWVudCAKK3RoYXQgYmVnaW5zIHdpdGggYSBzdGFydC10YWcgbXVzdAorYmUgbWFya2VkIGJ5IGFuIDx0ZXJtPmVuZC10YWc8L3Rlcm0+Citjb250YWluaW5nIGEgbmFtZSB0aGF0IGVjaG9lcyB0aGUgZWxlbWVudCdzIHR5cGUgYXMgZ2l2ZW4gaW4gdGhlCitzdGFydC10YWc6Cis8c2NyYXAgbGFuZz0nZWJuZic+Cis8aGVhZD5FbmQtdGFnPC9oZWFkPgorPHByb2Rncm91cCBwY3cyPSI2IiBwY3c0PSIxNSIgcGN3NT0iMTEuNSI+Cis8cHJvZCBpZD0nTlQtRVRhZyc+PGxocz5FVGFnPC9saHM+Cis8cmhzPicmbHQ7LycgPG50IGRlZj0nTlQtTmFtZSc+TmFtZTwvbnQ+IAorPG50IGRlZj0nTlQtUyc+UzwvbnQ+PyAnPic8L3Jocz48L3Byb2Q+Cis8L3Byb2Rncm91cD4KKzwvc2NyYXA+Cis8L3Rlcm1kZWY+PC9wPgorPHA+QW4gZXhhbXBsZSBvZiBhbiBlbmQtdGFnOjxlZz4mbHQ7L3Rlcm1kZWY+PC9lZz48L3A+Cis8cD48dGVybWRlZiBpZD0iZHQtY29udGVudCIgdGVybT0iQ29udGVudCI+VGhlIAorPHRlcm1yZWYgZGVmPSdkdC10ZXh0Jz50ZXh0PC90ZXJtcmVmPiBiZXR3ZWVuIHRoZSBzdGFydC10YWcgYW5kCitlbmQtdGFnIGlzIGNhbGxlZCB0aGUgZWxlbWVudCdzCis8dGVybT5jb250ZW50PC90ZXJtPjoKKzxzY3JhcCBsYW5nPSdlYm5mJz4KKzxoZWFkPkNvbnRlbnQgb2YgRWxlbWVudHM8L2hlYWQ+Cis8cHJvZGdyb3VwIHBjdzI9IjYiIHBjdzQ9IjE1IiBwY3c1PSIxMS41Ij4KKzxwcm9kIGlkPSdOVC1jb250ZW50Jz48bGhzPmNvbnRlbnQ8L2xocz4KKzxyaHM+KDxudCBkZWY9J05ULWVsZW1lbnQnPmVsZW1lbnQ8L250PiB8IDxudCBkZWY9J05ULUNoYXJEYXRhJz5DaGFyRGF0YTwvbnQ+IAorfCA8bnQgZGVmPSdOVC1SZWZlcmVuY2UnPlJlZmVyZW5jZTwvbnQ+IHwgPG50IGRlZj0nTlQtQ0RTZWN0Jz5DRFNlY3Q8L250PiAKK3wgPG50IGRlZj0nTlQtUEknPlBJPC9udD4gfCA8bnQgZGVmPSdOVC1Db21tZW50Jz5Db21tZW50PC9udD4pKjwvcmhzPgorPC9wcm9kPgorPC9wcm9kZ3JvdXA+Cis8L3NjcmFwPgorPC90ZXJtZGVmPjwvcD4KKzxwPjx0ZXJtZGVmIGlkPSJkdC1lbXB0eSIgdGVybT0iRW1wdHkiPklmIGFuIGVsZW1lbnQgaXMgPHRlcm0+ZW1wdHk8L3Rlcm0+LAoraXQgbXVzdCBiZSByZXByZXNlbnRlZCBlaXRoZXIgYnkgYSBzdGFydC10YWcgaW1tZWRpYXRlbHkgZm9sbG93ZWQKK2J5IGFuIGVuZC10YWcgb3IgYnkgYW4gZW1wdHktZWxlbWVudCB0YWcuPC90ZXJtZGVmPgorPHRlcm1kZWYgaWQ9ImR0LWVldGFnIiB0ZXJtPSJlbXB0eS1lbGVtZW50IHRhZyI+QW4gCis8dGVybT5lbXB0eS1lbGVtZW50IHRhZzwvdGVybT4gdGFrZXMgYSBzcGVjaWFsIGZvcm06Cis8c2NyYXAgbGFuZz0nZWJuZic+Cis8aGVhZD5UYWdzIGZvciBFbXB0eSBFbGVtZW50czwvaGVhZD4KKzxwcm9kZ3JvdXAgcGN3Mj0iNiIgcGN3ND0iMTUiIHBjdzU9IjExLjUiPgorPHByb2QgaWQ9J05ULUVtcHR5RWxlbVRhZyc+PGxocz5FbXB0eUVsZW1UYWc8L2xocz4KKzxyaHM+JyZsdDsnIDxudCBkZWY9J05ULU5hbWUnPk5hbWU8L250PiAoPG50IGRlZj0nTlQtUyc+UzwvbnQ+IAorPG50IGRlZj0nTlQtQXR0cmlidXRlJz5BdHRyaWJ1dGU8L250PikqIDxudCBkZWY9J05ULVMnPlM8L250Pj8gCisnLyZndDsnPC9yaHM+Cis8d2ZjIGRlZj0idW5pcWF0dHNwZWMiLz4KKzwvcHJvZD4KKzwvcHJvZGdyb3VwPgorPC9zY3JhcD4KKzwvdGVybWRlZj48L3A+Cis8cD5FbXB0eS1lbGVtZW50IHRhZ3MgbWF5IGJlIHVzZWQgZm9yIGFueSBlbGVtZW50IHdoaWNoIGhhcyBubworY29udGVudCwgd2hldGhlciBvciBub3QgaXQgaXMgZGVjbGFyZWQgdXNpbmcgdGhlIGtleXdvcmQKKzxrdz5FTVBUWTwva3c+LgorPHRlcm1yZWYgZGVmPSdkdC1pbnRlcm9wJz5Gb3IgaW50ZXJvcGVyYWJpbGl0eTwvdGVybXJlZj4sIHRoZSBlbXB0eS1lbGVtZW50Cit0YWcgbXVzdCBiZSB1c2VkLCBhbmQgY2FuIG9ubHkgYmUgdXNlZCwgZm9yIGVsZW1lbnRzIHdoaWNoIGFyZQorPHRlcm1yZWYgZGVmPSdkdC1lbGRlY2wnPmRlY2xhcmVkPC90ZXJtcmVmPiA8a3c+RU1QVFk8L2t3Pi48L3A+Cis8cD5FeGFtcGxlcyBvZiBlbXB0eSBlbGVtZW50czoKKzxlZz4mbHQ7SU1HIGFsaWduPSJsZWZ0IgorIHNyYz0iaHR0cDovL3d3dy53My5vcmcvSWNvbnMvV1dXL3czY19ob21lIiAvPgorJmx0O2JyPiZsdDsvYnI+CismbHQ7YnIvPjwvZWc+PC9wPgorPC9kaXYyPgorIAorPGRpdjIgaWQ9J2VsZW1kZWNscyc+Cis8aGVhZD5FbGVtZW50IFR5cGUgRGVjbGFyYXRpb25zPC9oZWFkPgorIAorPHA+VGhlIDx0ZXJtcmVmIGRlZj0iZHQtZWxlbWVudCI+ZWxlbWVudDwvdGVybXJlZj4gc3RydWN0dXJlIG9mIGFuCis8dGVybXJlZiBkZWY9ImR0LXhtbC1kb2MiPlhNTCBkb2N1bWVudDwvdGVybXJlZj4gbWF5LCBmb3IgCis8dGVybXJlZiBkZWY9ImR0LXZhbGlkIj52YWxpZGF0aW9uPC90ZXJtcmVmPiBwdXJwb3NlcywgCitiZSBjb25zdHJhaW5lZAordXNpbmcgZWxlbWVudCB0eXBlIGFuZCBhdHRyaWJ1dGUtbGlzdCBkZWNsYXJhdGlvbnMuCitBbiBlbGVtZW50IHR5cGUgZGVjbGFyYXRpb24gY29uc3RyYWlucyB0aGUgZWxlbWVudCdzCis8dGVybXJlZiBkZWY9ImR0LWNvbnRlbnQiPmNvbnRlbnQ8L3Rlcm1yZWY+LgorPC9wPgorCis8cD5FbGVtZW50IHR5cGUgZGVjbGFyYXRpb25zIG9mdGVuIGNvbnN0cmFpbiB3aGljaCBlbGVtZW50IHR5cGVzIGNhbgorYXBwZWFyIGFzIDx0ZXJtcmVmIGRlZj0iZHQtcGFyZW50Y2hpbGQiPmNoaWxkcmVuPC90ZXJtcmVmPiBvZiB0aGUgZWxlbWVudC4KK0F0IHVzZXIgb3B0aW9uLCBhbiBYTUwgcHJvY2Vzc29yIG1heSBpc3N1ZSBhIHdhcm5pbmcKK3doZW4gYSBkZWNsYXJhdGlvbiBtZW50aW9ucyBhbiBlbGVtZW50IHR5cGUgZm9yIHdoaWNoIG5vIGRlY2xhcmF0aW9uCitpcyBwcm92aWRlZCwgYnV0IHRoaXMgaXMgbm90IGFuIGVycm9yLjwvcD4KKzxwPjx0ZXJtZGVmIGlkPSJkdC1lbGRlY2wiIHRlcm09IkVsZW1lbnQgVHlwZSBkZWNsYXJhdGlvbiI+QW4gPHRlcm0+ZWxlbWVudAordHlwZSBkZWNsYXJhdGlvbjwvdGVybT4gdGFrZXMgdGhlIGZvcm06Cis8c2NyYXAgbGFuZz0nZWJuZic+Cis8aGVhZD5FbGVtZW50IFR5cGUgRGVjbGFyYXRpb248L2hlYWQ+Cis8cHJvZGdyb3VwIHBjdzI9IjUuNSIgcGN3ND0iMTgiIHBjdzU9IjkiPgorPHByb2QgaWQ9J05ULWVsZW1lbnRkZWNsJz48bGhzPmVsZW1lbnRkZWNsPC9saHM+Cis8cmhzPicmbHQ7IUVMRU1FTlQnIDxudCBkZWY9J05ULVMnPlM8L250PiAKKzxudCBkZWY9J05ULU5hbWUnPk5hbWU8L250PiAKKzxudCBkZWY9J05ULVMnPlM8L250PiAKKzxudCBkZWY9J05ULWNvbnRlbnRzcGVjJz5jb250ZW50c3BlYzwvbnQ+Cis8bnQgZGVmPSdOVC1TJz5TPC9udD4/ICc+JzwvcmhzPgorPHZjIGRlZj0nRURVbmlxdWUnLz48L3Byb2Q+Cis8cHJvZCBpZD0nTlQtY29udGVudHNwZWMnPjxsaHM+Y29udGVudHNwZWM8L2xocz4KKzxyaHM+J0VNUFRZJyAKK3wgJ0FOWScgCit8IDxudCBkZWY9J05ULU1peGVkJz5NaXhlZDwvbnQ+IAorfCA8bnQgZGVmPSdOVC1jaGlsZHJlbic+Y2hpbGRyZW48L250PgorPC9yaHM+Cis8L3Byb2Q+Cis8L3Byb2Rncm91cD4KKzwvc2NyYXA+Cit3aGVyZSB0aGUgPG50IGRlZj0nTlQtTmFtZSc+TmFtZTwvbnQ+IGdpdmVzIHRoZSBlbGVtZW50IHR5cGUgCitiZWluZyBkZWNsYXJlZC48L3Rlcm1kZWY+Cis8L3A+CisKKzx2Y25vdGUgaWQ9J0VEVW5pcXVlJz4KKzxoZWFkPlVuaXF1ZSBFbGVtZW50IFR5cGUgRGVjbGFyYXRpb248L2hlYWQ+Cis8cD4KK05vIGVsZW1lbnQgdHlwZSBtYXkgYmUgZGVjbGFyZWQgbW9yZSB0aGFuIG9uY2UuCis8L3A+Cis8L3Zjbm90ZT4KKworPHA+RXhhbXBsZXMgb2YgZWxlbWVudCB0eXBlIGRlY2xhcmF0aW9uczoKKzxlZz4mbHQ7IUVMRU1FTlQgYnIgRU1QVFk+CismbHQ7IUVMRU1FTlQgcCAoI1BDREFUQXxlbXBoKSogPgorJmx0OyFFTEVNRU5UICVuYW1lLnBhcmE7ICVjb250ZW50LnBhcmE7ID4KKyZsdDshRUxFTUVOVCBjb250YWluZXIgQU5ZPjwvZWc+PC9wPgorIAorPGRpdjMgaWQ9J3NlYy1lbGVtZW50LWNvbnRlbnQnPgorPGhlYWQ+RWxlbWVudCBDb250ZW50PC9oZWFkPgorIAorPHA+PHRlcm1kZWYgaWQ9J2R0LWVsZW1jb250ZW50JyB0ZXJtPSdFbGVtZW50IGNvbnRlbnQnPkFuIGVsZW1lbnQgPHRlcm1yZWYKK2RlZj0iZHQtc3RhZyI+dHlwZTwvdGVybXJlZj4gaGFzCis8dGVybT5lbGVtZW50IGNvbnRlbnQ8L3Rlcm0+IHdoZW4gZWxlbWVudHMgb2YgdGhhdAordHlwZSBtdXN0IGNvbnRhaW4gb25seSA8dGVybXJlZiBkZWY9J2R0LXBhcmVudGNoaWxkJz5jaGlsZDwvdGVybXJlZj4gCitlbGVtZW50cyAobm8gY2hhcmFjdGVyIGRhdGEpLCBvcHRpb25hbGx5IHNlcGFyYXRlZCBieSAKK3doaXRlIHNwYWNlIChjaGFyYWN0ZXJzIG1hdGNoaW5nIHRoZSBub250ZXJtaW5hbCAKKzxudCBkZWY9J05ULVMnPlM8L250PikuCis8L3Rlcm1kZWY+CitJbiB0aGlzIGNhc2UsIHRoZQorY29uc3RyYWludCBpbmNsdWRlcyBhIGNvbnRlbnQgbW9kZWwsIGEgc2ltcGxlIGdyYW1tYXIgZ292ZXJuaW5nCit0aGUgYWxsb3dlZCB0eXBlcyBvZiB0aGUgY2hpbGQKK2VsZW1lbnRzIGFuZCB0aGUgb3JkZXIgaW4gd2hpY2ggdGhleSBhcmUgYWxsb3dlZCB0byBhcHBlYXIuICAKK1RoZSBncmFtbWFyIGlzIGJ1aWx0IG9uCitjb250ZW50IHBhcnRpY2xlcyAoPG50IGRlZj0nTlQtY3AnPmNwPC9udD5zKSwgd2hpY2ggY29uc2lzdCBvZiBuYW1lcywgCitjaG9pY2UgbGlzdHMgb2YgY29udGVudCBwYXJ0aWNsZXMsIG9yCitzZXF1ZW5jZSBsaXN0cyBvZiBjb250ZW50IHBhcnRpY2xlczoKKzxzY3JhcCBsYW5nPSdlYm5mJz4KKzxoZWFkPkVsZW1lbnQtY29udGVudCBNb2RlbHM8L2hlYWQ+Cis8cHJvZGdyb3VwIHBjdzI9IjUuNSIgcGN3ND0iMTYiIHBjdzU9IjExIj4KKzxwcm9kIGlkPSdOVC1jaGlsZHJlbic+PGxocz5jaGlsZHJlbjwvbGhzPgorPHJocz4oPG50IGRlZj0nTlQtY2hvaWNlJz5jaG9pY2U8L250PiAKK3wgPG50IGRlZj0nTlQtc2VxJz5zZXE8L250PikgCisoJz8nIHwgJyonIHwgJysnKT88L3Jocz48L3Byb2Q+Cis8cHJvZCBpZD0nTlQtY3AnPjxsaHM+Y3A8L2xocz4KKzxyaHM+KDxudCBkZWY9J05ULU5hbWUnPk5hbWU8L250PiAKK3wgPG50IGRlZj0nTlQtY2hvaWNlJz5jaG9pY2U8L250PiAKK3wgPG50IGRlZj0nTlQtc2VxJz5zZXE8L250PikgCisoJz8nIHwgJyonIHwgJysnKT88L3Jocz48L3Byb2Q+Cis8cHJvZCBpZD0nTlQtY2hvaWNlJz48bGhzPmNob2ljZTwvbGhzPgorPHJocz4nKCcgPG50IGRlZj0nTlQtUyc+UzwvbnQ+PyBjcCAKKyggPG50IGRlZj0nTlQtUyc+UzwvbnQ+PyAnfCcgPG50IGRlZj0nTlQtUyc+UzwvbnQ+PyA8bnQgZGVmPSdOVC1jcCc+Y3A8L250PiApKgorPG50IGRlZj0nTlQtUyc+UzwvbnQ+PyAnKSc8L3Jocz4KKzx2YyBkZWY9J3ZjLVBFaW5Hcm91cCcvPjwvcHJvZD4KKzxwcm9kIGlkPSdOVC1zZXEnPjxsaHM+c2VxPC9saHM+Cis8cmhzPicoJyA8bnQgZGVmPSdOVC1TJz5TPC9udD4/IGNwIAorKCA8bnQgZGVmPSdOVC1TJz5TPC9udD4/ICcsJyA8bnQgZGVmPSdOVC1TJz5TPC9udD4/IDxudCBkZWY9J05ULWNwJz5jcDwvbnQ+ICkqCis8bnQgZGVmPSdOVC1TJz5TPC9udD4/ICcpJzwvcmhzPgorPHZjIGRlZj0ndmMtUEVpbkdyb3VwJy8+PC9wcm9kPgorCis8L3Byb2Rncm91cD4KKzwvc2NyYXA+Cit3aGVyZSBlYWNoIDxudCBkZWY9J05ULU5hbWUnPk5hbWU8L250PiBpcyB0aGUgdHlwZSBvZiBhbiBlbGVtZW50IHdoaWNoIG1heQorYXBwZWFyIGFzIGEgPHRlcm1yZWYgZGVmPSJkdC1wYXJlbnRjaGlsZCI+Y2hpbGQ8L3Rlcm1yZWY+LiAgCitBbnkgY29udGVudAorcGFydGljbGUgaW4gYSBjaG9pY2UgbGlzdCBtYXkgYXBwZWFyIGluIHRoZSA8dGVybXJlZgorZGVmPSJkdC1lbGVtY29udGVudCI+ZWxlbWVudCBjb250ZW50PC90ZXJtcmVmPiBhdCB0aGUgbG9jYXRpb24gd2hlcmUKK3RoZSBjaG9pY2UgbGlzdCBhcHBlYXJzIGluIHRoZSBncmFtbWFyOworY29udGVudCBwYXJ0aWNsZXMgb2NjdXJyaW5nIGluIGEgc2VxdWVuY2UgbGlzdCBtdXN0IGVhY2gKK2FwcGVhciBpbiB0aGUgPHRlcm1yZWYgZGVmPSJkdC1lbGVtY29udGVudCI+ZWxlbWVudCBjb250ZW50PC90ZXJtcmVmPiBpbiB0aGUKK29yZGVyIGdpdmVuIGluIHRoZSBsaXN0LiAgCitUaGUgb3B0aW9uYWwgY2hhcmFjdGVyIGZvbGxvd2luZyBhIG5hbWUgb3IgbGlzdCBnb3Zlcm5zCit3aGV0aGVyIHRoZSBlbGVtZW50IG9yIHRoZSBjb250ZW50IHBhcnRpY2xlcyBpbiB0aGUgbGlzdCBtYXkgb2NjdXIgb25lCitvciBtb3JlICg8Y29kZT4rPC9jb2RlPiksIHplcm8gb3IgbW9yZSAoPGNvZGU+KjwvY29kZT4pLCBvciB6ZXJvIG9yIAorb25lIHRpbWVzICg8Y29kZT4/PC9jb2RlPikuICAKK1RoZSBhYnNlbmNlIG9mIHN1Y2ggYW4gb3BlcmF0b3IgbWVhbnMgdGhhdCB0aGUgZWxlbWVudCBvciBjb250ZW50IHBhcnRpY2xlCittdXN0IGFwcGVhciBleGFjdGx5IG9uY2UuCitUaGlzIHN5bnRheAorYW5kIG1lYW5pbmcgYXJlIGlkZW50aWNhbCB0byB0aG9zZSB1c2VkIGluIHRoZSBwcm9kdWN0aW9ucyBpbiB0aGlzCitzcGVjaWZpY2F0aW9uLjwvcD4KKzxwPgorVGhlIGNvbnRlbnQgb2YgYW4gZWxlbWVudCBtYXRjaGVzIGEgY29udGVudCBtb2RlbCBpZiBhbmQgb25seSBpZiBpdCBpcworcG9zc2libGUgdG8gdHJhY2Ugb3V0IGEgcGF0aCB0aHJvdWdoIHRoZSBjb250ZW50IG1vZGVsLCBvYmV5aW5nIHRoZQorc2VxdWVuY2UsIGNob2ljZSwgYW5kIHJlcGV0aXRpb24gb3BlcmF0b3JzIGFuZCBtYXRjaGluZyBlYWNoIGVsZW1lbnQgaW4KK3RoZSBjb250ZW50IGFnYWluc3QgYW4gZWxlbWVudCB0eXBlIGluIHRoZSBjb250ZW50IG1vZGVsLiAgPHRlcm1yZWYKK2RlZj0nZHQtY29tcGF0Jz5Gb3IgY29tcGF0aWJpbGl0eTwvdGVybXJlZj4sIGl0IGlzIGFuIGVycm9yCitpZiBhbiBlbGVtZW50IGluIHRoZSBkb2N1bWVudCBjYW4KK21hdGNoIG1vcmUgdGhhbiBvbmUgb2NjdXJyZW5jZSBvZiBhbiBlbGVtZW50IHR5cGUgaW4gdGhlIGNvbnRlbnQgbW9kZWwuCitGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIDxzcGVjcmVmIHJlZj0iZGV0ZXJtaW5pc20iLz4uCis8IS0tIGFwcGVuZGl4IDxzcGVjcmVmIHJlZj0iZGV0ZXJtaW5pc20iLz4uIC0tPgorPCEtLSBhcHBlbmRpeCBvbiBkZXRlcm1pbmlzdGljIGNvbnRlbnQgbW9kZWxzLiAtLT4KKzwvcD4KKzx2Y25vdGUgaWQ9J3ZjLVBFaW5Hcm91cCc+Cis8aGVhZD5Qcm9wZXIgR3JvdXAvUEUgTmVzdGluZzwvaGVhZD4KKzxwPlBhcmFtZXRlci1lbnRpdHkgCis8dGVybXJlZiBkZWY9J2R0LXJlcGx0ZXh0Jz5yZXBsYWNlbWVudCB0ZXh0PC90ZXJtcmVmPiBtdXN0IGJlIHByb3Blcmx5IG5lc3RlZAord2l0aCBwYXJlbnRoZXRpemVkIGdyb3Vwcy4KK1RoYXQgaXMgdG8gc2F5LCBpZiBlaXRoZXIgb2YgdGhlIG9wZW5pbmcgb3IgY2xvc2luZyBwYXJlbnRoZXNlcworaW4gYSA8bnQgZGVmPSdOVC1jaG9pY2UnPmNob2ljZTwvbnQ+LCA8bnQgZGVmPSdOVC1zZXEnPnNlcTwvbnQ+LCBvcgorPG50IGRlZj0nTlQtTWl4ZWQnPk1peGVkPC9udD4gY29uc3RydWN0IAoraXMgY29udGFpbmVkIGluIHRoZSByZXBsYWNlbWVudCB0ZXh0IGZvciBhIAorPHRlcm1yZWYgZGVmPSdkdC1QRVJlZic+cGFyYW1ldGVyIGVudGl0eTwvdGVybXJlZj4sCitib3RoIG11c3QgYmUgY29udGFpbmVkIGluIHRoZSBzYW1lIHJlcGxhY2VtZW50IHRleHQuPC9wPgorPHA+PHRlcm1yZWYgZGVmPSdkdC1pbnRlcm9wJz5Gb3IgaW50ZXJvcGVyYWJpbGl0eTwvdGVybXJlZj4sIAoraWYgYSBwYXJhbWV0ZXItZW50aXR5IHJlZmVyZW5jZSBhcHBlYXJzIGluIGEgCis8bnQgZGVmPSdOVC1jaG9pY2UnPmNob2ljZTwvbnQ+LCA8bnQgZGVmPSdOVC1zZXEnPnNlcTwvbnQ+LCBvcgorPG50IGRlZj0nTlQtTWl4ZWQnPk1peGVkPC9udD4gY29uc3RydWN0LCBpdHMgcmVwbGFjZW1lbnQgdGV4dAorc2hvdWxkIG5vdCBiZSBlbXB0eSwgYW5kIAorbmVpdGhlciB0aGUgZmlyc3Qgbm9yIGxhc3Qgbm9uLWJsYW5rCitjaGFyYWN0ZXIgb2YgdGhlIHJlcGxhY2VtZW50IHRleHQgc2hvdWxkIGJlIGEgY29ubmVjdG9yIAorKDxjb2RlPnw8L2NvZGU+IG9yIDxjb2RlPiw8L2NvZGU+KS4KKzwvcD4KKzwvdmNub3RlPgorPHA+RXhhbXBsZXMgb2YgZWxlbWVudC1jb250ZW50IG1vZGVsczoKKzxlZz4mbHQ7IUVMRU1FTlQgc3BlYyAoZnJvbnQsIGJvZHksIGJhY2s/KT4KKyZsdDshRUxFTUVOVCBkaXYxIChoZWFkLCAocCB8IGxpc3QgfCBub3RlKSosIGRpdjIqKT4KKyZsdDshRUxFTUVOVCBkaWN0aW9uYXJ5LWJvZHkgKCVkaXYubWl4OyB8ICVkaWN0Lm1peDspKj48L2VnPjwvcD4KKzwvZGl2Mz4KKworPGRpdjMgaWQ9J3NlYy1taXhlZC1jb250ZW50Jz4KKzxoZWFkPk1peGVkIENvbnRlbnQ8L2hlYWQ+CisgCis8cD48dGVybWRlZiBpZD0nZHQtbWl4ZWQnIHRlcm09J01peGVkIENvbnRlbnQnPkFuIGVsZW1lbnQgCis8dGVybXJlZiBkZWY9J2R0LXN0YWcnPnR5cGU8L3Rlcm1yZWY+IGhhcyAKKzx0ZXJtPm1peGVkIGNvbnRlbnQ8L3Rlcm0+IHdoZW4gZWxlbWVudHMgb2YgdGhhdCB0eXBlIG1heSBjb250YWluCitjaGFyYWN0ZXIgZGF0YSwgb3B0aW9uYWxseSBpbnRlcnNwZXJzZWQgd2l0aAorPHRlcm1yZWYgZGVmPSJkdC1wYXJlbnRjaGlsZCI+Y2hpbGQ8L3Rlcm1yZWY+IGVsZW1lbnRzLjwvdGVybWRlZj4KK0luIHRoaXMgY2FzZSwgdGhlIHR5cGVzIG9mIHRoZSBjaGlsZCBlbGVtZW50cworbWF5IGJlIGNvbnN0cmFpbmVkLCBidXQgbm90IHRoZWlyIG9yZGVyIG9yIHRoZWlyIG51bWJlciBvZiBvY2N1cnJlbmNlczoKKzxzY3JhcCBsYW5nPSdlYm5mJz4KKzxoZWFkPk1peGVkLWNvbnRlbnQgRGVjbGFyYXRpb248L2hlYWQ+Cis8cHJvZGdyb3VwIHBjdzI9IjUuNSIgcGN3ND0iMTYiIHBjdzU9IjExIj4KKzxwcm9kIGlkPSdOVC1NaXhlZCc+PGxocz5NaXhlZDwvbGhzPgorPHJocz4nKCcgPG50IGRlZj0nTlQtUyc+UzwvbnQ+PyAKKycjUENEQVRBJworKDxudCBkZWY9J05ULVMnPlM8L250Pj8gCisnfCcgCis8bnQgZGVmPSdOVC1TJz5TPC9udD4/IAorPG50IGRlZj0nTlQtTmFtZSc+TmFtZTwvbnQ+KSogCis8bnQgZGVmPSdOVC1TJz5TPC9udD4/IAorJykqJyA8L3Jocz4KKzxyaHM+fCAnKCcgPG50IGRlZj0nTlQtUyc+UzwvbnQ+PyAnI1BDREFUQScgPG50IGRlZj0nTlQtUyc+UzwvbnQ+PyAnKScKKzwvcmhzPjx2YyBkZWY9J3ZjLVBFaW5Hcm91cCcvPgorPHZjIGRlZj0ndmMtTWl4ZWRDaGlsZHJlblVuaXF1ZScvPgorPC9wcm9kPgorCis8L3Byb2Rncm91cD4KKzwvc2NyYXA+Cit3aGVyZSB0aGUgPG50IGRlZj0nTlQtTmFtZSc+TmFtZTwvbnQ+cyBnaXZlIHRoZSB0eXBlcyBvZiBlbGVtZW50cwordGhhdCBtYXkgYXBwZWFyIGFzIGNoaWxkcmVuLgorPC9wPgorPHZjbm90ZSBpZD0ndmMtTWl4ZWRDaGlsZHJlblVuaXF1ZSc+Cis8aGVhZD5ObyBEdXBsaWNhdGUgVHlwZXM8L2hlYWQ+Cis8cD5UaGUgc2FtZSBuYW1lIG11c3Qgbm90IGFwcGVhciBtb3JlIHRoYW4gb25jZSBpbiBhIHNpbmdsZSBtaXhlZC1jb250ZW50CitkZWNsYXJhdGlvbi4KKzwvcD48L3Zjbm90ZT4KKzxwPkV4YW1wbGVzIG9mIG1peGVkIGNvbnRlbnQgZGVjbGFyYXRpb25zOgorPGVnPiZsdDshRUxFTUVOVCBwICgjUENEQVRBfGF8dWx8YnxpfGVtKSo+CismbHQ7IUVMRU1FTlQgcCAoI1BDREFUQSB8ICVmb250OyB8ICVwaHJhc2U7IHwgJXNwZWNpYWw7IHwgJWZvcm07KSogPgorJmx0OyFFTEVNRU5UIGIgKCNQQ0RBVEEpPjwvZWc+PC9wPgorPC9kaXYzPgorPC9kaXYyPgorIAorPGRpdjIgaWQ9J2F0dGRlY2xzJz4KKzxoZWFkPkF0dHJpYnV0ZS1MaXN0IERlY2xhcmF0aW9uczwvaGVhZD4KKyAKKzxwPjx0ZXJtcmVmIGRlZj0iZHQtYXR0ciI+QXR0cmlidXRlczwvdGVybXJlZj4gYXJlIHVzZWQgdG8gYXNzb2NpYXRlCituYW1lLXZhbHVlIHBhaXJzIHdpdGggPHRlcm1yZWYgZGVmPSJkdC1lbGVtZW50Ij5lbGVtZW50czwvdGVybXJlZj4uCitBdHRyaWJ1dGUgc3BlY2lmaWNhdGlvbnMgbWF5IGFwcGVhciBvbmx5IHdpdGhpbiA8dGVybXJlZgorZGVmPSJkdC1zdGFnIj5zdGFydC10YWdzPC90ZXJtcmVmPgorYW5kIDx0ZXJtcmVmIGRlZj0iZHQtZWV0YWciPmVtcHR5LWVsZW1lbnQgdGFnczwvdGVybXJlZj47IAordGh1cywgdGhlIHByb2R1Y3Rpb25zIHVzZWQgdG8KK3JlY29nbml6ZSB0aGVtIGFwcGVhciBpbiA8c3BlY3JlZiByZWY9J3NlYy1zdGFydHRhZ3MnLz4uICAKK0F0dHJpYnV0ZS1saXN0CitkZWNsYXJhdGlvbnMgbWF5IGJlIHVzZWQ6Cis8dWxpc3Q+Cis8aXRlbT48cD5UbyBkZWZpbmUgdGhlIHNldCBvZiBhdHRyaWJ1dGVzIHBlcnRhaW5pbmcgdG8gYSBnaXZlbgorZWxlbWVudCB0eXBlLjwvcD48L2l0ZW0+Cis8aXRlbT48cD5UbyBlc3RhYmxpc2ggdHlwZSBjb25zdHJhaW50cyBmb3IgdGhlc2UKK2F0dHJpYnV0ZXMuPC9wPjwvaXRlbT4KKzxpdGVtPjxwPlRvIHByb3ZpZGUgPHRlcm1yZWYgZGVmPSJkdC1kZWZhdWx0Ij5kZWZhdWx0IHZhbHVlczwvdGVybXJlZj4KK2ZvciBhdHRyaWJ1dGVzLjwvcD48L2l0ZW0+Cis8L3VsaXN0PgorPC9wPgorPHA+PHRlcm1kZWYgaWQ9ImR0LWF0dGRlY2wiIHRlcm09IkF0dHJpYnV0ZS1MaXN0IERlY2xhcmF0aW9uIj4KKzx0ZXJtPkF0dHJpYnV0ZS1saXN0IGRlY2xhcmF0aW9uczwvdGVybT4gc3BlY2lmeSB0aGUgbmFtZSwgZGF0YSB0eXBlLCBhbmQgZGVmYXVsdAordmFsdWUgKGlmIGFueSkgb2YgZWFjaCBhdHRyaWJ1dGUgYXNzb2NpYXRlZCB3aXRoIGEgZ2l2ZW4gZWxlbWVudCB0eXBlOgorPHNjcmFwIGxhbmc9J2VibmYnPgorPGhlYWQ+QXR0cmlidXRlLWxpc3QgRGVjbGFyYXRpb248L2hlYWQ+Cis8cHJvZCBpZD0nTlQtQXR0bGlzdERlY2wnPjxsaHM+QXR0bGlzdERlY2w8L2xocz4KKzxyaHM+JyZsdDshQVRUTElTVCcgPG50IGRlZj0nTlQtUyc+UzwvbnQ+IAorPG50IGRlZj0nTlQtTmFtZSc+TmFtZTwvbnQ+IAorPG50IGRlZj0nTlQtQXR0RGVmJz5BdHREZWY8L250PioKKzxudCBkZWY9J05ULVMnPlM8L250Pj8gJyZndDsnPC9yaHM+Cis8L3Byb2Q+Cis8cHJvZCBpZD0nTlQtQXR0RGVmJz48bGhzPkF0dERlZjwvbGhzPgorPHJocz48bnQgZGVmPSdOVC1TJz5TPC9udD4gPG50IGRlZj0nTlQtTmFtZSc+TmFtZTwvbnQ+IAorPG50IGRlZj0nTlQtUyc+UzwvbnQ+IDxudCBkZWY9J05ULUF0dFR5cGUnPkF0dFR5cGU8L250PiAKKzxudCBkZWY9J05ULVMnPlM8L250PiA8bnQgZGVmPSdOVC1EZWZhdWx0RGVjbCc+RGVmYXVsdERlY2w8L250PjwvcmhzPgorPC9wcm9kPgorPC9zY3JhcD4KK1RoZSA8bnQgZGVmPSJOVC1OYW1lIj5OYW1lPC9udD4gaW4gdGhlCis8bnQgZGVmPSdOVC1BdHRsaXN0RGVjbCc+QXR0bGlzdERlY2w8L250PiBydWxlIGlzIHRoZSB0eXBlIG9mIGFuIGVsZW1lbnQuICBBdAordXNlciBvcHRpb24sIGFuIFhNTCBwcm9jZXNzb3IgbWF5IGlzc3VlIGEgd2FybmluZyBpZiBhdHRyaWJ1dGVzIGFyZQorZGVjbGFyZWQgZm9yIGFuIGVsZW1lbnQgdHlwZSBub3QgaXRzZWxmIGRlY2xhcmVkLCBidXQgdGhpcyBpcyBub3QgYW4KK2Vycm9yLiAgVGhlIDxudCBkZWY9J05ULU5hbWUnPk5hbWU8L250PiBpbiB0aGUgCis8bnQgZGVmPSdOVC1BdHREZWYnPkF0dERlZjwvbnQ+IHJ1bGUgaXMKK3RoZSBuYW1lIG9mIHRoZSBhdHRyaWJ1dGUuPC90ZXJtZGVmPjwvcD4KKzxwPgorV2hlbiBtb3JlIHRoYW4gb25lIDxudCBkZWY9J05ULUF0dGxpc3REZWNsJz5BdHRsaXN0RGVjbDwvbnQ+IGlzIHByb3ZpZGVkIGZvciBhCitnaXZlbiBlbGVtZW50IHR5cGUsIHRoZSBjb250ZW50cyBvZiBhbGwgdGhvc2UgcHJvdmlkZWQgYXJlIG1lcmdlZC4gIFdoZW4KK21vcmUgdGhhbiBvbmUgZGVmaW5pdGlvbiBpcyBwcm92aWRlZCBmb3IgdGhlIHNhbWUgYXR0cmlidXRlIG9mIGEKK2dpdmVuIGVsZW1lbnQgdHlwZSwgdGhlIGZpcnN0IGRlY2xhcmF0aW9uIGlzIGJpbmRpbmcgYW5kIGxhdGVyCitkZWNsYXJhdGlvbnMgYXJlIGlnbm9yZWQuICAKKzx0ZXJtcmVmIGRlZj0nZHQtaW50ZXJvcCc+Rm9yIGludGVyb3BlcmFiaWxpdHksPC90ZXJtcmVmPiB3cml0ZXJzIG9mIERURHMKK21heSBjaG9vc2UgdG8gcHJvdmlkZSBhdCBtb3N0IG9uZSBhdHRyaWJ1dGUtbGlzdCBkZWNsYXJhdGlvbgorZm9yIGEgZ2l2ZW4gZWxlbWVudCB0eXBlLCBhdCBtb3N0IG9uZSBhdHRyaWJ1dGUgZGVmaW5pdGlvbgorZm9yIGEgZ2l2ZW4gYXR0cmlidXRlIG5hbWUsIGFuZCBhdCBsZWFzdCBvbmUgYXR0cmlidXRlIGRlZmluaXRpb24KK2luIGVhY2ggYXR0cmlidXRlLWxpc3QgZGVjbGFyYXRpb24uCitGb3IgaW50ZXJvcGVyYWJpbGl0eSwgYW4gWE1MIHByb2Nlc3NvciBtYXkgYXQgdXNlciBvcHRpb24KK2lzc3VlIGEgd2FybmluZyB3aGVuIG1vcmUgdGhhbiBvbmUgYXR0cmlidXRlLWxpc3QgZGVjbGFyYXRpb24gaXMKK3Byb3ZpZGVkIGZvciBhIGdpdmVuIGVsZW1lbnQgdHlwZSwgb3IgbW9yZSB0aGFuIG9uZSBhdHRyaWJ1dGUgZGVmaW5pdGlvbgoraXMgcHJvdmlkZWQgCitmb3IgYSBnaXZlbiBhdHRyaWJ1dGUsIGJ1dCB0aGlzIGlzIG5vdCBhbiBlcnJvci4KKzwvcD4KKworPGRpdjMgaWQ9J3NlYy1hdHRyaWJ1dGUtdHlwZXMnPgorPGhlYWQ+QXR0cmlidXRlIFR5cGVzPC9oZWFkPgorIAorPHA+WE1MIGF0dHJpYnV0ZSB0eXBlcyBhcmUgb2YgdGhyZWUga2luZHM6ICBhIHN0cmluZyB0eXBlLCBhCitzZXQgb2YgdG9rZW5pemVkIHR5cGVzLCBhbmQgZW51bWVyYXRlZCB0eXBlcy4gIFRoZSBzdHJpbmcgdHlwZSBtYXkgdGFrZQorYW55IGxpdGVyYWwgc3RyaW5nIGFzIGEgdmFsdWU7IHRoZSB0b2tlbml6ZWQgdHlwZXMgaGF2ZSB2YXJ5aW5nIGxleGljYWwKK2FuZCBzZW1hbnRpYyBjb25zdHJhaW50cywgYXMgbm90ZWQ6Cis8c2NyYXAgbGFuZz0nZWJuZic+Cis8aGVhZD5BdHRyaWJ1dGUgVHlwZXM8L2hlYWQ+Cis8cHJvZGdyb3VwIHBjdzQ9IjE0IiBwY3c1PSIxMS41Ij4KKzxwcm9kIGlkPSdOVC1BdHRUeXBlJz48bGhzPkF0dFR5cGU8L2xocz4KKzxyaHM+PG50IGRlZj0nTlQtU3RyaW5nVHlwZSc+U3RyaW5nVHlwZTwvbnQ+IAorfCA8bnQgZGVmPSdOVC1Ub2tlbml6ZWRUeXBlJz5Ub2tlbml6ZWRUeXBlPC9udD4gCit8IDxudCBkZWY9J05ULUVudW1lcmF0ZWRUeXBlJz5FbnVtZXJhdGVkVHlwZTwvbnQ+Cis8L3Jocz4KKzwvcHJvZD4KKzxwcm9kIGlkPSdOVC1TdHJpbmdUeXBlJz48bGhzPlN0cmluZ1R5cGU8L2xocz4KKzxyaHM+J0NEQVRBJzwvcmhzPgorPC9wcm9kPgorPHByb2QgaWQ9J05ULVRva2VuaXplZFR5cGUnPjxsaHM+VG9rZW5pemVkVHlwZTwvbGhzPgorPHJocz4nSUQnPC9yaHM+Cis8dmMgZGVmPSdpZCcvPgorPHZjIGRlZj0nb25lLWlkLXBlci1lbCcvPgorPHZjIGRlZj0naWQtZGVmYXVsdCcvPgorPHJocz58ICdJRFJFRic8L3Jocz4KKzx2YyBkZWY9J2lkcmVmJy8+Cis8cmhzPnwgJ0lEUkVGUyc8L3Jocz4KKzx2YyBkZWY9J2lkcmVmJy8+Cis8cmhzPnwgJ0VOVElUWSc8L3Jocz4KKzx2YyBkZWY9J2VudG5hbWUnLz4KKzxyaHM+fCAnRU5USVRJRVMnPC9yaHM+Cis8dmMgZGVmPSdlbnRuYW1lJy8+Cis8cmhzPnwgJ05NVE9LRU4nPC9yaHM+Cis8dmMgZGVmPSdubXRvaycvPgorPHJocz58ICdOTVRPS0VOUyc8L3Jocz4KKzx2YyBkZWY9J25tdG9rJy8+PC9wcm9kPgorPC9wcm9kZ3JvdXA+Cis8L3NjcmFwPgorPC9wPgorPHZjbm90ZSBpZD0naWQnID4KKzxoZWFkPklEPC9oZWFkPgorPHA+CitWYWx1ZXMgb2YgdHlwZSA8a3c+SUQ8L2t3PiBtdXN0IG1hdGNoIHRoZSAKKzxudCBkZWY9J05ULU5hbWUnPk5hbWU8L250PiBwcm9kdWN0aW9uLiAgCitBIG5hbWUgbXVzdCBub3QgYXBwZWFyIG1vcmUgdGhhbiBvbmNlIGluCithbiBYTUwgZG9jdW1lbnQgYXMgYSB2YWx1ZSBvZiB0aGlzIHR5cGU7IGkuZS4sIElEIHZhbHVlcyBtdXN0IHVuaXF1ZWx5CitpZGVudGlmeSB0aGUgZWxlbWVudHMgd2hpY2ggYmVhciB0aGVtLiAgIAorPC9wPgorPC92Y25vdGU+Cis8dmNub3RlIGlkPSdvbmUtaWQtcGVyLWVsJz4KKzxoZWFkPk9uZSBJRCBwZXIgRWxlbWVudCBUeXBlPC9oZWFkPgorPHA+Tm8gZWxlbWVudCB0eXBlIG1heSBoYXZlIG1vcmUgdGhhbiBvbmUgSUQgYXR0cmlidXRlIHNwZWNpZmllZC48L3A+Cis8L3Zjbm90ZT4KKzx2Y25vdGUgaWQ9J2lkLWRlZmF1bHQnPgorPGhlYWQ+SUQgQXR0cmlidXRlIERlZmF1bHQ8L2hlYWQ+Cis8cD5BbiBJRCBhdHRyaWJ1dGUgbXVzdCBoYXZlIGEgZGVjbGFyZWQgZGVmYXVsdCBvZiA8a3c+I0lNUExJRUQ8L2t3PiBvcgorPGt3PiNSRVFVSVJFRDwva3c+LjwvcD4KKzwvdmNub3RlPgorPHZjbm90ZSBpZD0naWRyZWYnPgorPGhlYWQ+SURSRUY8L2hlYWQ+Cis8cD4KK1ZhbHVlcyBvZiB0eXBlIDxrdz5JRFJFRjwva3c+IG11c3QgbWF0Y2gKK3RoZSA8bnQgZGVmPSJOVC1OYW1lIj5OYW1lPC9udD4gcHJvZHVjdGlvbiwgYW5kCit2YWx1ZXMgb2YgdHlwZSA8a3c+SURSRUZTPC9rdz4gbXVzdCBtYXRjaAorPG50IGRlZj0iTlQtTmFtZXMiPk5hbWVzPC9udD47IAorZWFjaCA8bnQgZGVmPSdOVC1OYW1lJz5OYW1lPC9udD4gbXVzdCBtYXRjaCB0aGUgdmFsdWUgb2YgYW4gSUQgYXR0cmlidXRlIG9uIAorc29tZSBlbGVtZW50IGluIHRoZSBYTUwgZG9jdW1lbnQ7IGkuZS4gPGt3PklEUkVGPC9rdz4gdmFsdWVzIG11c3QgCittYXRjaCB0aGUgdmFsdWUgb2Ygc29tZSBJRCBhdHRyaWJ1dGUuIAorPC9wPgorPC92Y25vdGU+Cis8dmNub3RlIGlkPSdlbnRuYW1lJz4KKzxoZWFkPkVudGl0eSBOYW1lPC9oZWFkPgorPHA+CitWYWx1ZXMgb2YgdHlwZSA8a3c+RU5USVRZPC9rdz4gCittdXN0IG1hdGNoIHRoZSA8bnQgZGVmPSJOVC1OYW1lIj5OYW1lPC9udD4gcHJvZHVjdGlvbiwKK3ZhbHVlcyBvZiB0eXBlIDxrdz5FTlRJVElFUzwva3c+IG11c3QgbWF0Y2gKKzxudCBkZWY9Ik5ULU5hbWVzIj5OYW1lczwvbnQ+OworZWFjaCA8bnQgZGVmPSJOVC1OYW1lIj5OYW1lPC9udD4gbXVzdCAKK21hdGNoIHRoZQorbmFtZSBvZiBhbiA8dGVybXJlZiBkZWY9ImR0LXVucGFyc2VkIj51bnBhcnNlZCBlbnRpdHk8L3Rlcm1yZWY+IGRlY2xhcmVkIGluIHRoZQorPHRlcm1yZWYgZGVmPSJkdC1kb2N0eXBlIj5EVEQ8L3Rlcm1yZWY+LgorPC9wPgorPC92Y25vdGU+Cis8dmNub3RlIGlkPSdubXRvayc+Cis8aGVhZD5OYW1lIFRva2VuPC9oZWFkPgorPHA+CitWYWx1ZXMgb2YgdHlwZSA8a3c+Tk1UT0tFTjwva3c+IG11c3QgbWF0Y2ggdGhlCis8bnQgZGVmPSJOVC1ObXRva2VuIj5ObXRva2VuPC9udD4gcHJvZHVjdGlvbjsKK3ZhbHVlcyBvZiB0eXBlIDxrdz5OTVRPS0VOUzwva3c+IG11c3QgCittYXRjaCA8dGVybXJlZiBkZWY9Ik5ULU5tdG9rZW5zIj5ObXRva2VuczwvdGVybXJlZj4uCis8L3A+Cis8L3Zjbm90ZT4KKzwhLS0gd2h5PworPHA+VGhlIFhNTCBwcm9jZXNzb3IgbXVzdCBub3JtYWxpemUgYXR0cmlidXRlIHZhbHVlcyBiZWZvcmUKK3Bhc3NpbmcgdGhlbSB0byB0aGUgYXBwbGljYXRpb24sIGFzIGRlc2NyaWJlZCBpbiAKKzxzcGVjcmVmIHJlZj0iQVZOb3JtYWxpemUiLz4uPC9wPi0tPgorPHA+PHRlcm1kZWYgaWQ9J2R0LWVudW1lcmF0ZWQnIHRlcm09J0VudW1lcmF0ZWQgQXR0cmlidXRlCitWYWx1ZXMnPjx0ZXJtPkVudW1lcmF0ZWQgYXR0cmlidXRlczwvdGVybT4gY2FuIHRha2Ugb25lIAorb2YgYSBsaXN0IG9mIHZhbHVlcyBwcm92aWRlZCBpbiB0aGUgZGVjbGFyYXRpb248L3Rlcm1kZWY+LiBUaGVyZSBhcmUgdHdvCitraW5kcyBvZiBlbnVtZXJhdGVkIHR5cGVzOgorPHNjcmFwIGxhbmc9J2VibmYnPgorPGhlYWQ+RW51bWVyYXRlZCBBdHRyaWJ1dGUgVHlwZXM8L2hlYWQ+Cis8cHJvZCBpZD0nTlQtRW51bWVyYXRlZFR5cGUnPjxsaHM+RW51bWVyYXRlZFR5cGU8L2xocz4gCis8cmhzPjxudCBkZWY9J05ULU5vdGF0aW9uVHlwZSc+Tm90YXRpb25UeXBlPC9udD4gCit8IDxudCBkZWY9J05ULUVudW1lcmF0aW9uJz5FbnVtZXJhdGlvbjwvbnQ+Cis8L3Jocz48L3Byb2Q+Cis8cHJvZCBpZD0nTlQtTm90YXRpb25UeXBlJz48bGhzPk5vdGF0aW9uVHlwZTwvbGhzPiAKKzxyaHM+J05PVEFUSU9OJyAKKzxudCBkZWY9J05ULVMnPlM8L250PiAKKycoJyAKKzxudCBkZWY9J05ULVMnPlM8L250Pj8gIAorPG50IGRlZj0nTlQtTmFtZSc+TmFtZTwvbnQ+IAorKDxudCBkZWY9J05ULVMnPlM8L250Pj8gJ3wnIDxudCBkZWY9J05ULVMnPlM8L250Pj8gIAorPG50IGRlZj0nTlQtTmFtZSc+TmFtZTwvbnQ+KSoKKzxudCBkZWY9J05ULVMnPlM8L250Pj8gJyknCis8L3Jocz4KKzx2YyBkZWY9J25vdGF0bicgLz48L3Byb2Q+Cis8cHJvZCBpZD0nTlQtRW51bWVyYXRpb24nPjxsaHM+RW51bWVyYXRpb248L2xocz4gCis8cmhzPicoJyA8bnQgZGVmPSdOVC1TJz5TPC9udD4/Cis8bnQgZGVmPSdOVC1ObXRva2VuJz5ObXRva2VuPC9udD4gCisoPG50IGRlZj0nTlQtUyc+UzwvbnQ+PyAnfCcgCis8bnQgZGVmPSdOVC1TJz5TPC9udD4/ICAKKzxudCBkZWY9J05ULU5tdG9rZW4nPk5tdG9rZW48L250PikqIAorPG50IGRlZj0nTlQtUyc+UzwvbnQ+PyAKKycpJzwvcmhzPiAKKzx2YyBkZWY9J2VudW0nLz48L3Byb2Q+Cis8L3NjcmFwPgorQSA8a3c+Tk9UQVRJT048L2t3PiBhdHRyaWJ1dGUgaWRlbnRpZmllcyBhIAorPHRlcm1yZWYgZGVmPSdkdC1ub3RhdGlvbic+bm90YXRpb248L3Rlcm1yZWY+LCBkZWNsYXJlZCBpbiB0aGUgCitEVEQgd2l0aCBhc3NvY2lhdGVkIHN5c3RlbSBhbmQvb3IgcHVibGljIGlkZW50aWZpZXJzLCB0bworYmUgdXNlZCBpbiBpbnRlcnByZXRpbmcgdGhlIGVsZW1lbnQgdG8gd2hpY2ggdGhlIGF0dHJpYnV0ZQoraXMgYXR0YWNoZWQuCis8L3A+CisKKzx2Y25vdGUgaWQ9J25vdGF0bic+Cis8aGVhZD5Ob3RhdGlvbiBBdHRyaWJ1dGVzPC9oZWFkPgorPHA+CitWYWx1ZXMgb2YgdGhpcyB0eXBlIG11c3QgbWF0Y2gKK29uZSBvZiB0aGUgPHRpdGxlcmVmIGhyZWY9J05vdGF0aW9ucyc+bm90YXRpb248L3RpdGxlcmVmPiBuYW1lcyBpbmNsdWRlZCBpbgordGhlIGRlY2xhcmF0aW9uOyBhbGwgbm90YXRpb24gbmFtZXMgaW4gdGhlIGRlY2xhcmF0aW9uIG11c3QKK2JlIGRlY2xhcmVkLgorPC9wPgorPC92Y25vdGU+Cis8dmNub3RlIGlkPSdlbnVtJz4KKzxoZWFkPkVudW1lcmF0aW9uPC9oZWFkPgorPHA+CitWYWx1ZXMgb2YgdGhpcyB0eXBlCittdXN0IG1hdGNoIG9uZSBvZiB0aGUgPG50IGRlZj0nTlQtTm10b2tlbic+Tm10b2tlbjwvbnQ+IHRva2VucyBpbiB0aGUKK2RlY2xhcmF0aW9uLiAKKzwvcD4KKzwvdmNub3RlPgorPHA+PHRlcm1yZWYgZGVmPSdkdC1pbnRlcm9wJz5Gb3IgaW50ZXJvcGVyYWJpbGl0eSw8L3Rlcm1yZWY+IHRoZSBzYW1lCis8bnQgZGVmPSdOVC1ObXRva2VuJz5ObXRva2VuPC9udD4gc2hvdWxkIG5vdCBvY2N1ciBtb3JlIHRoYW4gb25jZSBpbiB0aGUKK2VudW1lcmF0ZWQgYXR0cmlidXRlIHR5cGVzIG9mIGEgc2luZ2xlIGVsZW1lbnQgdHlwZS4KKzwvcD4KKzwvZGl2Mz4KKworPGRpdjMgaWQ9J3NlYy1hdHRyLWRlZmF1bHRzJz4KKzxoZWFkPkF0dHJpYnV0ZSBEZWZhdWx0czwvaGVhZD4KKyAKKzxwPkFuIDx0ZXJtcmVmIGRlZj0iZHQtYXR0ZGVjbCI+YXR0cmlidXRlIGRlY2xhcmF0aW9uPC90ZXJtcmVmPiBwcm92aWRlcworaW5mb3JtYXRpb24gb24gd2hldGhlcgordGhlIGF0dHJpYnV0ZSdzIHByZXNlbmNlIGlzIHJlcXVpcmVkLCBhbmQgaWYgbm90LCBob3cgYW4gWE1MIHByb2Nlc3NvciBzaG91bGQKK3JlYWN0IGlmIGEgZGVjbGFyZWQgYXR0cmlidXRlIGlzIGFic2VudCBpbiBhIGRvY3VtZW50LgorPHNjcmFwIGxhbmc9J2VibmYnPgorPGhlYWQ+QXR0cmlidXRlIERlZmF1bHRzPC9oZWFkPgorPHByb2Rncm91cCBwY3c0PSIxNCIgcGN3NT0iMTEuNSI+Cis8cHJvZCBpZD0nTlQtRGVmYXVsdERlY2wnPjxsaHM+RGVmYXVsdERlY2w8L2xocz4KKzxyaHM+JyNSRVFVSVJFRCcgCit8Jm5ic3A7JyNJTVBMSUVEJyA8L3Jocz4KKzxyaHM+fCAoKCcjRklYRUQnIFMpPyA8bnQgZGVmPSdOVC1BdHRWYWx1ZSc+QXR0VmFsdWU8L250Pik8L3Jocz4KKzx2YyBkZWY9J1JlcXVpcmVkQXR0cicvPgorPHZjIGRlZj0nZGVmYXR0cnZhbGlkJy8+Cis8d2ZjIGRlZj0iQ2xlYW5BdHRyVmFscyIvPgorPHZjIGRlZj0nRml4ZWRBdHRyJy8+Cis8L3Byb2Q+Cis8L3Byb2Rncm91cD4KKzwvc2NyYXA+CisKKzwvcD4KKzxwPkluIGFuIGF0dHJpYnV0ZSBkZWNsYXJhdGlvbiwgPGt3PiNSRVFVSVJFRDwva3c+IG1lYW5zIHRoYXQgdGhlCithdHRyaWJ1dGUgbXVzdCBhbHdheXMgYmUgcHJvdmlkZWQsIDxrdz4jSU1QTElFRDwva3c+IHRoYXQgbm8gZGVmYXVsdCAKK3ZhbHVlIGlzIHByb3ZpZGVkLgorPCEtLSBub3QgYW55IG1vcmUhIQorPGt3PiNJTVBMSUVEPC9rdz4gbWVhbnMgdGhhdCBpZiB0aGUgYXR0cmlidXRlIGlzIG9taXR0ZWQKK2Zyb20gYW4gZWxlbWVudCBvZiB0aGlzIHR5cGUsCit0aGUgWE1MIHByb2Nlc3NvciBtdXN0IGluZm9ybSB0aGUgYXBwbGljYXRpb24KK3RoYXQgbm8gdmFsdWUgd2FzIHNwZWNpZmllZDsgbm8gY29uc3RyYWludCBpcyBwbGFjZWQgb24gdGhlIGJlaGF2aW9yCitvZiB0aGUgYXBwbGljYXRpb24uIC0tPgorPHRlcm1kZWYgaWQ9ImR0LWRlZmF1bHQiIHRlcm09IkF0dHJpYnV0ZSBEZWZhdWx0Ij5JZiB0aGUgCitkZWNsYXJhdGlvbgoraXMgbmVpdGhlciA8a3c+I1JFUVVJUkVEPC9rdz4gbm9yIDxrdz4jSU1QTElFRDwva3c+LCB0aGVuIHRoZQorPG50IGRlZj0nTlQtQXR0VmFsdWUnPkF0dFZhbHVlPC9udD4gdmFsdWUgY29udGFpbnMgdGhlIGRlY2xhcmVkCis8dGVybT5kZWZhdWx0PC90ZXJtPiB2YWx1ZTsgdGhlIDxrdz4jRklYRUQ8L2t3PiBrZXl3b3JkIHN0YXRlcyB0aGF0Cit0aGUgYXR0cmlidXRlIG11c3QgYWx3YXlzIGhhdmUgdGhlIGRlZmF1bHQgdmFsdWUuCitJZiBhIGRlZmF1bHQgdmFsdWUKK2lzIGRlY2xhcmVkLCB3aGVuIGFuIFhNTCBwcm9jZXNzb3IgZW5jb3VudGVycyBhbiBvbWl0dGVkIGF0dHJpYnV0ZSwgaXQKK2lzIHRvIGJlaGF2ZSBhcyB0aG91Z2ggdGhlIGF0dHJpYnV0ZSB3ZXJlIHByZXNlbnQgd2l0aCAKK3RoZSBkZWNsYXJlZCBkZWZhdWx0IHZhbHVlLjwvdGVybWRlZj48L3A+Cis8dmNub3RlIGlkPSdSZXF1aXJlZEF0dHInPgorPGhlYWQ+UmVxdWlyZWQgQXR0cmlidXRlPC9oZWFkPgorPHA+SWYgdGhlIGRlZmF1bHQgZGVjbGFyYXRpb24gaXMgdGhlIGtleXdvcmQgPGt3PiNSRVFVSVJFRDwva3c+LCB0aGVuCit0aGUgYXR0cmlidXRlIG11c3QgYmUgc3BlY2lmaWVkIGZvcgorYWxsIGVsZW1lbnRzIG9mIHRoZSB0eXBlIGluIHRoZSBhdHRyaWJ1dGUtbGlzdCBkZWNsYXJhdGlvbi4KKzwvcD48L3Zjbm90ZT4KKzx2Y25vdGUgaWQ9J2RlZmF0dHJ2YWxpZCc+Cis8aGVhZD5BdHRyaWJ1dGUgRGVmYXVsdCBMZWdhbDwvaGVhZD4KKzxwPgorVGhlIGRlY2xhcmVkCitkZWZhdWx0IHZhbHVlIG11c3QgbWVldCB0aGUgbGV4aWNhbCBjb25zdHJhaW50cyBvZiB0aGUgZGVjbGFyZWQgYXR0cmlidXRlIHR5cGUuCis8L3A+Cis8L3Zjbm90ZT4KKzx2Y25vdGUgaWQ9J0ZpeGVkQXR0cic+Cis8aGVhZD5GaXhlZCBBdHRyaWJ1dGUgRGVmYXVsdDwvaGVhZD4KKzxwPklmIGFuIGF0dHJpYnV0ZSBoYXMgYSBkZWZhdWx0IHZhbHVlIGRlY2xhcmVkIHdpdGggdGhlIAorPGt3PiNGSVhFRDwva3c+IGtleXdvcmQsIGluc3RhbmNlcyBvZiB0aGF0IGF0dHJpYnV0ZSBtdXN0CittYXRjaCB0aGUgZGVmYXVsdCB2YWx1ZS4KKzwvcD48L3Zjbm90ZT4KKworPHA+RXhhbXBsZXMgb2YgYXR0cmlidXRlLWxpc3QgZGVjbGFyYXRpb25zOgorPGVnPiZsdDshQVRUTElTVCB0ZXJtZGVmCisgICAgICAgICAgaWQgICAgICBJRCAgICAgICNSRVFVSVJFRAorICAgICAgICAgIG5hbWUgICAgQ0RBVEEgICAjSU1QTElFRD4KKyZsdDshQVRUTElTVCBsaXN0CisgICAgICAgICAgdHlwZSAgICAoYnVsbGV0c3xvcmRlcmVkfGdsb3NzYXJ5KSAgIm9yZGVyZWQiPgorJmx0OyFBVFRMSVNUIGZvcm0KKyAgICAgICAgICBtZXRob2QgIENEQVRBICAgI0ZJWEVEICJQT1NUIj48L2VnPjwvcD4KKzwvZGl2Mz4KKzxkaXYzIGlkPSdBVk5vcm1hbGl6ZSc+Cis8aGVhZD5BdHRyaWJ1dGUtVmFsdWUgTm9ybWFsaXphdGlvbjwvaGVhZD4KKzxwPkJlZm9yZSB0aGUgdmFsdWUgb2YgYW4gYXR0cmlidXRlIGlzIHBhc3NlZCB0byB0aGUgYXBwbGljYXRpb24KK29yIGNoZWNrZWQgZm9yIHZhbGlkaXR5LCB0aGUKK1hNTCBwcm9jZXNzb3IgbXVzdCBub3JtYWxpemUgaXQgYXMgZm9sbG93czoKKzx1bGlzdD4KKzxpdGVtPjxwPmEgY2hhcmFjdGVyIHJlZmVyZW5jZSBpcyBwcm9jZXNzZWQgYnkgYXBwZW5kaW5nIHRoZSByZWZlcmVuY2VkICAgIAorY2hhcmFjdGVyIHRvIHRoZSBhdHRyaWJ1dGUgdmFsdWU8L3A+PC9pdGVtPgorPGl0ZW0+PHA+YW4gZW50aXR5IHJlZmVyZW5jZSBpcyBwcm9jZXNzZWQgYnkgcmVjdXJzaXZlbHkgcHJvY2Vzc2luZyB0aGUKK3JlcGxhY2VtZW50IHRleHQgb2YgdGhlIGVudGl0eTwvcD48L2l0ZW0+Cis8aXRlbT48cD5hIHdoaXRlc3BhY2UgY2hhcmFjdGVyICgjeDIwLCAjeEQsICN4QSwgI3g5KSBpcyBwcm9jZXNzZWQgYnkKK2FwcGVuZGluZyAjeDIwIHRvIHRoZSBub3JtYWxpemVkIHZhbHVlLCBleGNlcHQgdGhhdCBvbmx5IGEgc2luZ2xlICN4MjAKK2lzIGFwcGVuZGVkIGZvciBhICIjeEQjeEEiIHNlcXVlbmNlIHRoYXQgaXMgcGFydCBvZiBhbiBleHRlcm5hbAorcGFyc2VkIGVudGl0eSBvciB0aGUgbGl0ZXJhbCBlbnRpdHkgdmFsdWUgb2YgYW4gaW50ZXJuYWwgcGFyc2VkCitlbnRpdHk8L3A+PC9pdGVtPgorPGl0ZW0+PHA+b3RoZXIgY2hhcmFjdGVycyBhcmUgcHJvY2Vzc2VkIGJ5IGFwcGVuZGluZyB0aGVtIHRvIHRoZSBub3JtYWxpemVkCit2YWx1ZTwvcD4KKzwvaXRlbT48L3VsaXN0PgorPC9wPgorPHA+SWYgdGhlIGRlY2xhcmVkIHZhbHVlIGlzIG5vdCBDREFUQSwgdGhlbiB0aGUgWE1MIHByb2Nlc3NvciBtdXN0CitmdXJ0aGVyIHByb2Nlc3MgdGhlIG5vcm1hbGl6ZWQgYXR0cmlidXRlIHZhbHVlIGJ5IGRpc2NhcmRpbmcgYW55CitsZWFkaW5nIGFuZCB0cmFpbGluZyBzcGFjZSAoI3gyMCkgY2hhcmFjdGVycywgYW5kIGJ5IHJlcGxhY2luZworc2VxdWVuY2VzIG9mIHNwYWNlICgjeDIwKSBjaGFyYWN0ZXJzIGJ5IGEgc2luZ2xlIHNwYWNlICgjeDIwKQorY2hhcmFjdGVyLjwvcD4KKzxwPgorQWxsIGF0dHJpYnV0ZXMgZm9yIHdoaWNoIG5vIGRlY2xhcmF0aW9uIGhhcyBiZWVuIHJlYWQgc2hvdWxkIGJlIHRyZWF0ZWQKK2J5IGEgbm9uLXZhbGlkYXRpbmcgcGFyc2VyIGFzIGlmIGRlY2xhcmVkCis8a3c+Q0RBVEE8L2t3Pi4KKzwvcD4KKzwvZGl2Mz4KKzwvZGl2Mj4KKzxkaXYyIGlkPSdzZWMtY29uZGl0aW9uLXNlY3QnPgorPGhlYWQ+Q29uZGl0aW9uYWwgU2VjdGlvbnM8L2hlYWQ+Cis8cD48dGVybWRlZiBpZD0nZHQtY29uZC1zZWN0aW9uJyB0ZXJtPSdjb25kaXRpb25hbCBzZWN0aW9uJz4KKzx0ZXJtPkNvbmRpdGlvbmFsIHNlY3Rpb25zPC90ZXJtPiBhcmUgcG9ydGlvbnMgb2YgdGhlCis8dGVybXJlZiBkZWY9J2R0LWRvY3R5cGUnPmRvY3VtZW50IHR5cGUgZGVjbGFyYXRpb24gZXh0ZXJuYWwgc3Vic2V0PC90ZXJtcmVmPgord2hpY2ggYXJlIAoraW5jbHVkZWQgaW4sIG9yIGV4Y2x1ZGVkIGZyb20sIHRoZSBsb2dpY2FsIHN0cnVjdHVyZSBvZiB0aGUgRFREIGJhc2VkIG9uCit0aGUga2V5d29yZCB3aGljaCBnb3Zlcm5zIHRoZW0uPC90ZXJtZGVmPgorPHNjcmFwIGxhbmc9J2VibmYnPgorPGhlYWQ+Q29uZGl0aW9uYWwgU2VjdGlvbjwvaGVhZD4KKzxwcm9kZ3JvdXAgcGN3Mj0iOSIgcGN3ND0iMTQuNSI+Cis8cHJvZCBpZD0nTlQtY29uZGl0aW9uYWxTZWN0Jz48bGhzPmNvbmRpdGlvbmFsU2VjdDwvbGhzPgorPHJocz48bnQgZGVmPSdOVC1pbmNsdWRlU2VjdCc+aW5jbHVkZVNlY3Q8L250PgorfCA8bnQgZGVmPSdOVC1pZ25vcmVTZWN0Jz5pZ25vcmVTZWN0PC9udD4KKzwvcmhzPgorPC9wcm9kPgorPHByb2QgaWQ9J05ULWluY2x1ZGVTZWN0Jz48bGhzPmluY2x1ZGVTZWN0PC9saHM+Cis8cmhzPicmbHQ7IVsnIFM/ICdJTkNMVURFJyBTPyAnWycgCisKKzxudCBkZWY9Ik5ULWV4dFN1YnNldERlY2wiPmV4dFN1YnNldERlY2w8L250PgorJ11dJmd0OycKKzwvcmhzPgorPC9wcm9kPgorPHByb2QgaWQ9J05ULWlnbm9yZVNlY3QnPjxsaHM+aWdub3JlU2VjdDwvbGhzPgorPHJocz4nJmx0OyFbJyBTPyAnSUdOT1JFJyBTPyAnWycgCis8bnQgZGVmPSJOVC1pZ25vcmVTZWN0Q29udGVudHMiPmlnbm9yZVNlY3RDb250ZW50czwvbnQ+KgorJ11dJmd0Oyc8L3Jocz4KKzwvcHJvZD4KKworPHByb2QgaWQ9J05ULWlnbm9yZVNlY3RDb250ZW50cyc+PGxocz5pZ25vcmVTZWN0Q29udGVudHM8L2xocz4KKzxyaHM+PG50IGRlZj0nTlQtSWdub3JlJz5JZ25vcmU8L250PgorKCcmbHQ7IVsnIDxudCBkZWY9J05ULWlnbm9yZVNlY3RDb250ZW50cyc+aWdub3JlU2VjdENvbnRlbnRzPC9udD4gJ11dJmd0OycgCis8bnQgZGVmPSdOVC1JZ25vcmUnPklnbm9yZTwvbnQ+KSo8L3Jocz48L3Byb2Q+Cis8cHJvZCBpZD0nTlQtSWdub3JlJz48bGhzPklnbm9yZTwvbGhzPgorPHJocz48bnQgZGVmPSdOVC1DaGFyJz5DaGFyPC9udD4qIC0gCisoPG50IGRlZj0nTlQtQ2hhcic+Q2hhcjwvbnQ+KiAoJyZsdDshWycgfCAnXV0mZ3Q7JykgCis8bnQgZGVmPSdOVC1DaGFyJz5DaGFyPC9udD4qKQorPC9yaHM+PC9wcm9kPgorCis8L3Byb2Rncm91cD4KKzwvc2NyYXA+Cis8L3A+Cis8cD5MaWtlIHRoZSBpbnRlcm5hbCBhbmQgZXh0ZXJuYWwgRFREIHN1YnNldHMsIGEgY29uZGl0aW9uYWwgc2VjdGlvbgorbWF5IGNvbnRhaW4gb25lIG9yIG1vcmUgY29tcGxldGUgZGVjbGFyYXRpb25zLAorY29tbWVudHMsIHByb2Nlc3NpbmcgaW5zdHJ1Y3Rpb25zLCAKK29yIG5lc3RlZCBjb25kaXRpb25hbCBzZWN0aW9ucywgaW50ZXJtaW5nbGVkIHdpdGggd2hpdGUgc3BhY2UuCis8L3A+Cis8cD5JZiB0aGUga2V5d29yZCBvZiB0aGUKK2NvbmRpdGlvbmFsIHNlY3Rpb24gaXMgPGt3PklOQ0xVREU8L2t3PiwgdGhlbiB0aGUgY29udGVudHMgb2YgdGhlIGNvbmRpdGlvbmFsCitzZWN0aW9uIGFyZSBwYXJ0IG9mIHRoZSBEVEQuCitJZiB0aGUga2V5d29yZCBvZiB0aGUgY29uZGl0aW9uYWwKK3NlY3Rpb24gaXMgPGt3PklHTk9SRTwva3c+LCB0aGVuIHRoZSBjb250ZW50cyBvZiB0aGUgY29uZGl0aW9uYWwgc2VjdGlvbiBhcmUKK25vdCBsb2dpY2FsbHkgcGFydCBvZiB0aGUgRFRELgorTm90ZSB0aGF0IGZvciByZWxpYWJsZSBwYXJzaW5nLCB0aGUgY29udGVudHMgb2YgZXZlbiBpZ25vcmVkCitjb25kaXRpb25hbCBzZWN0aW9ucyBtdXN0IGJlIHJlYWQgaW4gb3JkZXIgdG8KK2RldGVjdCBuZXN0ZWQgY29uZGl0aW9uYWwgc2VjdGlvbnMgYW5kIGVuc3VyZSB0aGF0IHRoZSBlbmQgb2YgdGhlCitvdXRlcm1vc3QgKGlnbm9yZWQpIGNvbmRpdGlvbmFsIHNlY3Rpb24gaXMgcHJvcGVybHkgZGV0ZWN0ZWQuCitJZiBhIGNvbmRpdGlvbmFsIHNlY3Rpb24gd2l0aCBhCitrZXl3b3JkIG9mIDxrdz5JTkNMVURFPC9rdz4gb2NjdXJzIHdpdGhpbiBhIGxhcmdlciBjb25kaXRpb25hbAorc2VjdGlvbiB3aXRoIGEga2V5d29yZCBvZiA8a3c+SUdOT1JFPC9rdz4sIGJvdGggdGhlIG91dGVyIGFuZCB0aGUKK2lubmVyIGNvbmRpdGlvbmFsIHNlY3Rpb25zIGFyZSBpZ25vcmVkLjwvcD4KKzxwPklmIHRoZSBrZXl3b3JkIG9mIHRoZSBjb25kaXRpb25hbCBzZWN0aW9uIGlzIGEgCitwYXJhbWV0ZXItZW50aXR5IHJlZmVyZW5jZSwgdGhlIHBhcmFtZXRlciBlbnRpdHkgbXVzdCBiZSByZXBsYWNlZCBieSBpdHMKK2NvbnRlbnQgYmVmb3JlIHRoZSBwcm9jZXNzb3IgZGVjaWRlcyB3aGV0aGVyIHRvCitpbmNsdWRlIG9yIGlnbm9yZSB0aGUgY29uZGl0aW9uYWwgc2VjdGlvbi48L3A+Cis8cD5BbiBleGFtcGxlOgorPGVnPiZsdDshRU5USVRZICUgZHJhZnQgJ0lOQ0xVREUnID4KKyZsdDshRU5USVRZICUgZmluYWwgJ0lHTk9SRScgPgorIAorJmx0OyFbJWRyYWZ0O1sKKyZsdDshRUxFTUVOVCBib29rIChjb21tZW50cyosIHRpdGxlLCBib2R5LCBzdXBwbGVtZW50cz8pPgorXV0mZ3Q7CismbHQ7IVslZmluYWw7WworJmx0OyFFTEVNRU5UIGJvb2sgKHRpdGxlLCBib2R5LCBzdXBwbGVtZW50cz8pPgorXV0mZ3Q7Cis8L2VnPgorPC9wPgorPC9kaXYyPgorCisKKzwhLS0gCis8ZGl2MiBpZD0nc2VjLXBhc3MtdG8tYXBwJz4KKzxoZWFkPlhNTCBQcm9jZXNzb3IgVHJlYXRtZW50IG9mIExvZ2ljYWwgU3RydWN0dXJlPC9oZWFkPgorPHA+V2hlbiBhbiBYTUwgcHJvY2Vzc29yIGVuY291bnRlcnMgYSBzdGFydC10YWcsIGl0IG11c3QgbWFrZQorYXQgbGVhc3QgdGhlIGZvbGxvd2luZyBpbmZvcm1hdGlvbiBhdmFpbGFibGUgdG8gdGhlIGFwcGxpY2F0aW9uOgorPHVsaXN0PgorPGl0ZW0+Cis8cD50aGUgZWxlbWVudCB0eXBlJ3MgZ2VuZXJpYyBpZGVudGlmaWVyPC9wPgorPC9pdGVtPgorPGl0ZW0+Cis8cD50aGUgbmFtZXMgb2YgYXR0cmlidXRlcyBrbm93biB0byBhcHBseSB0byB0aGlzIGVsZW1lbnQgdHlwZQorKHZhbGlkYXRpbmcgcHJvY2Vzc29ycyBtdXN0IG1ha2UgYXZhaWxhYmxlIG5hbWVzIG9mIGFsbCBhdHRyaWJ1dGVzCitkZWNsYXJlZCBmb3IgdGhlIGVsZW1lbnQgdHlwZTsgbm9uLXZhbGlkYXRpbmcgcHJvY2Vzc29ycyBtdXN0CittYWtlIGF2YWlsYWJsZSBhdCBsZWFzdCB0aGUgbmFtZXMgb2YgdGhlIGF0dHJpYnV0ZXMgZm9yIHdoaWNoCit2YWx1ZXMgYXJlIHNwZWNpZmllZC4KKzwvcD4KKzwvaXRlbT4KKzwvdWxpc3Q+Cis8L3A+Cis8L2RpdjI+CistLT4gCisKKzwvZGl2MT4KKzwhLS0gJkVudGl0aWVzOyAtLT4KKyAKKzxkaXYxIGlkPSdzZWMtcGh5c2ljYWwtc3RydWN0Jz4KKzxoZWFkPlBoeXNpY2FsIFN0cnVjdHVyZXM8L2hlYWQ+CisgCis8cD48dGVybWRlZiBpZD0iZHQtZW50aXR5IiB0ZXJtPSJFbnRpdHkiPkFuIFhNTCBkb2N1bWVudCBtYXkgY29uc2lzdAorb2Ygb25lIG9yIG1hbnkgc3RvcmFnZSB1bml0cy4gICBUaGVzZSBhcmUgY2FsbGVkCis8dGVybT5lbnRpdGllczwvdGVybT47IHRoZXkgYWxsIGhhdmUgPHRlcm0+Y29udGVudDwvdGVybT4gYW5kIGFyZSBhbGwKKyhleGNlcHQgZm9yIHRoZSBkb2N1bWVudCBlbnRpdHksIHNlZSBiZWxvdywgYW5kIAordGhlIDx0ZXJtcmVmIGRlZj0nZHQtZG9jdHlwZSc+ZXh0ZXJuYWwgRFREIHN1YnNldDwvdGVybXJlZj4pIAoraWRlbnRpZmllZCBieSA8dGVybT5uYW1lPC90ZXJtPi4KKzwvdGVybWRlZj4KK0VhY2ggWE1MIGRvY3VtZW50IGhhcyBvbmUgZW50aXR5CitjYWxsZWQgdGhlIDx0ZXJtcmVmIGRlZj0iZHQtZG9jZW50Ij5kb2N1bWVudCBlbnRpdHk8L3Rlcm1yZWY+LCB3aGljaCBzZXJ2ZXMKK2FzIHRoZSBzdGFydGluZyBwb2ludCBmb3IgdGhlIDx0ZXJtcmVmIGRlZj0iZHQteG1sLXByb2MiPlhNTAorcHJvY2Vzc29yPC90ZXJtcmVmPiBhbmQgbWF5IGNvbnRhaW4gdGhlIHdob2xlIGRvY3VtZW50LjwvcD4KKzxwPkVudGl0aWVzIG1heSBiZSBlaXRoZXIgcGFyc2VkIG9yIHVucGFyc2VkLgorPHRlcm1kZWYgaWQ9ImR0LXBhcnNlZGVudCIgdGVybT0iVGV4dCBFbnRpdHkiPkEgPHRlcm0+cGFyc2VkIGVudGl0eSdzPC90ZXJtPgorY29udGVudHMgYXJlIHJlZmVycmVkIHRvIGFzIGl0cyAKKzx0ZXJtcmVmIGRlZj0nZHQtcmVwbHRleHQnPnJlcGxhY2VtZW50IHRleHQ8L3Rlcm1yZWY+OwordGhpcyA8dGVybXJlZiBkZWY9ImR0LXRleHQiPnRleHQ8L3Rlcm1yZWY+IGlzIGNvbnNpZGVyZWQgYW4KK2ludGVncmFsIHBhcnQgb2YgdGhlIGRvY3VtZW50LjwvdGVybWRlZj48L3A+CisKKzxwPjx0ZXJtZGVmIGlkPSJkdC11bnBhcnNlZCIgdGVybT0iVW5wYXJzZWQgRW50aXR5Ij5BbiAKKzx0ZXJtPnVucGFyc2VkIGVudGl0eTwvdGVybT4gCitpcyBhIHJlc291cmNlIHdob3NlIGNvbnRlbnRzIG1heSBvciBtYXkgbm90IGJlCis8dGVybXJlZiBkZWY9J2R0LXRleHQnPnRleHQ8L3Rlcm1yZWY+LCBhbmQgaWYgdGV4dCwgbWF5IG5vdCBiZSBYTUwuCitFYWNoIHVucGFyc2VkIGVudGl0eQoraGFzIGFuIGFzc29jaWF0ZWQgPHRlcm1yZWYKK2RlZj0iZHQtbm90YXRpb24iPm5vdGF0aW9uPC90ZXJtcmVmPiwgaWRlbnRpZmllZCBieSBuYW1lLgorQmV5b25kIGEgcmVxdWlyZW1lbnQKK3RoYXQgYW4gWE1MIHByb2Nlc3NvciBtYWtlIHRoZSBpZGVudGlmaWVycyBmb3IgdGhlIGVudGl0eSBhbmQgCitub3RhdGlvbiBhdmFpbGFibGUgdG8gdGhlIGFwcGxpY2F0aW9uLAorWE1MIHBsYWNlcyBubyBjb25zdHJhaW50cyBvbiB0aGUgY29udGVudHMgb2YgdW5wYXJzZWQgZW50aXRpZXMuPC90ZXJtZGVmPiAKKzwvcD4KKzxwPgorUGFyc2VkIGVudGl0aWVzIGFyZSBpbnZva2VkIGJ5IG5hbWUgdXNpbmcgZW50aXR5IHJlZmVyZW5jZXM7Cit1bnBhcnNlZCBlbnRpdGllcyBieSBuYW1lLCBnaXZlbiBpbiB0aGUgdmFsdWUgb2YgPGt3PkVOVElUWTwva3c+CitvciA8a3c+RU5USVRJRVM8L2t3PgorYXR0cmlidXRlcy48L3A+Cis8cD48dGVybWRlZiBpZD0nZ2VuLWVudGl0eScgdGVybT0nZ2VuZXJhbCBlbnRpdHknCis+PHRlcm0+R2VuZXJhbCBlbnRpdGllczwvdGVybT4KK2FyZSBlbnRpdGllcyBmb3IgdXNlIHdpdGhpbiB0aGUgZG9jdW1lbnQgY29udGVudC4KK0luIHRoaXMgc3BlY2lmaWNhdGlvbiwgZ2VuZXJhbCBlbnRpdGllcyBhcmUgc29tZXRpbWVzIHJlZmVycmVkIAordG8gd2l0aCB0aGUgdW5xdWFsaWZpZWQgdGVybSA8ZW1waD5lbnRpdHk8L2VtcGg+IHdoZW4gdGhpcyBsZWFkcwordG8gbm8gYW1iaWd1aXR5LjwvdGVybWRlZj4gCis8dGVybWRlZiBpZD0nZHQtUEUnIHRlcm09J1BhcmFtZXRlciBlbnRpdHknPlBhcmFtZXRlciBlbnRpdGllcyAKK2FyZSBwYXJzZWQgZW50aXRpZXMgZm9yIHVzZSB3aXRoaW4gdGhlIERURC48L3Rlcm1kZWY+CitUaGVzZSB0d28gdHlwZXMgb2YgZW50aXRpZXMgdXNlIGRpZmZlcmVudCBmb3JtcyBvZiByZWZlcmVuY2UgYW5kCithcmUgcmVjb2duaXplZCBpbiBkaWZmZXJlbnQgY29udGV4dHMuCitGdXJ0aGVybW9yZSwgdGhleSBvY2N1cHkgZGlmZmVyZW50IG5hbWVzcGFjZXM7IGEgcGFyYW1ldGVyIGVudGl0eSBhbmQKK2EgZ2VuZXJhbCBlbnRpdHkgd2l0aCB0aGUgc2FtZSBuYW1lIGFyZSB0d28gZGlzdGluY3QgZW50aXRpZXMuCis8L3A+CisKKzxkaXYyIGlkPSdzZWMtcmVmZXJlbmNlcyc+Cis8aGVhZD5DaGFyYWN0ZXIgYW5kIEVudGl0eSBSZWZlcmVuY2VzPC9oZWFkPgorPHA+PHRlcm1kZWYgaWQ9ImR0LWNoYXJyZWYiIHRlcm09IkNoYXJhY3RlciBSZWZlcmVuY2UiPgorQSA8dGVybT5jaGFyYWN0ZXIgcmVmZXJlbmNlPC90ZXJtPiByZWZlcnMgdG8gYSBzcGVjaWZpYyBjaGFyYWN0ZXIgaW4gdGhlCitJU08vSUVDIDEwNjQ2IGNoYXJhY3RlciBzZXQsIGZvciBleGFtcGxlIG9uZSBub3QgZGlyZWN0bHkgYWNjZXNzaWJsZSBmcm9tCithdmFpbGFibGUgaW5wdXQgZGV2aWNlcy4KKzxzY3JhcCBsYW5nPSdlYm5mJz4KKzxoZWFkPkNoYXJhY3RlciBSZWZlcmVuY2U8L2hlYWQ+Cis8cHJvZCBpZD0nTlQtQ2hhclJlZic+PGxocz5DaGFyUmVmPC9saHM+Cis8cmhzPicmYW1wOyMnIFswLTldKyAnOycgPC9yaHM+Cis8cmhzPnwgJyZoY3JvOycgWzAtOWEtZkEtRl0rICc7JzwvcmhzPgorPHdmYyBkZWY9IndmLUxlZ2FsY2hhciIvPgorPC9wcm9kPgorPC9zY3JhcD4KKzx3ZmNub3RlIGlkPSJ3Zi1MZWdhbGNoYXIiPgorPGhlYWQ+TGVnYWwgQ2hhcmFjdGVyPC9oZWFkPgorPHA+Q2hhcmFjdGVycyByZWZlcnJlZCB0byB1c2luZyBjaGFyYWN0ZXIgcmVmZXJlbmNlcyBtdXN0CittYXRjaCB0aGUgcHJvZHVjdGlvbiBmb3IKKzx0ZXJtcmVmIGRlZj0iTlQtQ2hhciI+Q2hhcjwvdGVybXJlZj4uPC9wPgorPC93ZmNub3RlPgorSWYgdGhlIGNoYXJhY3RlciByZWZlcmVuY2UgYmVnaW5zIHdpdGggIjxjb2RlPiZhbXA7I3g8L2NvZGU+IiwgdGhlIGRpZ2l0cyBhbmQKK2xldHRlcnMgdXAgdG8gdGhlIHRlcm1pbmF0aW5nIDxjb2RlPjs8L2NvZGU+IHByb3ZpZGUgYSBoZXhhZGVjaW1hbAorcmVwcmVzZW50YXRpb24gb2YgdGhlIGNoYXJhY3RlcidzIGNvZGUgcG9pbnQgaW4gSVNPL0lFQyAxMDY0Ni4KK0lmIGl0IGJlZ2lucyBqdXN0IHdpdGggIjxjb2RlPiZhbXA7IzwvY29kZT4iLCB0aGUgZGlnaXRzIHVwIHRvIHRoZSB0ZXJtaW5hdGluZworPGNvZGU+OzwvY29kZT4gcHJvdmlkZSBhIGRlY2ltYWwgcmVwcmVzZW50YXRpb24gb2YgdGhlIGNoYXJhY3RlcidzIAorY29kZSBwb2ludC4KKzwvdGVybWRlZj4KKzwvcD4KKzxwPjx0ZXJtZGVmIGlkPSJkdC1lbnRyZWYiIHRlcm09IkVudGl0eSBSZWZlcmVuY2UiPkFuIDx0ZXJtPmVudGl0eQorcmVmZXJlbmNlPC90ZXJtPiByZWZlcnMgdG8gdGhlIGNvbnRlbnQgb2YgYSBuYW1lZCBlbnRpdHkuPC90ZXJtZGVmPgorPHRlcm1kZWYgaWQ9J2R0LUdFUmVmJyB0ZXJtPSdHZW5lcmFsIEVudGl0eSBSZWZlcmVuY2UnPlJlZmVyZW5jZXMgdG8gCitwYXJzZWQgZ2VuZXJhbCBlbnRpdGllcwordXNlIGFtcGVyc2FuZCAoPGNvZGU+JmFtcDs8L2NvZGU+KSBhbmQgc2VtaWNvbG9uICg8Y29kZT47PC9jb2RlPikgYXMKK2RlbGltaXRlcnMuPC90ZXJtZGVmPgorPHRlcm1kZWYgaWQ9J2R0LVBFUmVmJyB0ZXJtPSdQYXJhbWV0ZXItZW50aXR5IHJlZmVyZW5jZSc+Cis8dGVybT5QYXJhbWV0ZXItZW50aXR5IHJlZmVyZW5jZXM8L3Rlcm0+IHVzZSBwZXJjZW50LXNpZ24gKDxjb2RlPiU8L2NvZGU+KSBhbmQKK3NlbWljb2xvbiAKKyg8Y29kZT47PC9jb2RlPikgYXMgZGVsaW1pdGVycy48L3Rlcm1kZWY+Cis8L3A+Cis8c2NyYXAgbGFuZz0iZWJuZiI+Cis8aGVhZD5FbnRpdHkgUmVmZXJlbmNlPC9oZWFkPgorPHByb2QgaWQ9J05ULVJlZmVyZW5jZSc+PGxocz5SZWZlcmVuY2U8L2xocz4KKzxyaHM+PG50IGRlZj0nTlQtRW50aXR5UmVmJz5FbnRpdHlSZWY8L250PiAKK3wgPG50IGRlZj0nTlQtQ2hhclJlZic+Q2hhclJlZjwvbnQ+PC9yaHM+PC9wcm9kPgorPHByb2QgaWQ9J05ULUVudGl0eVJlZic+PGxocz5FbnRpdHlSZWY8L2xocz4KKzxyaHM+JyZhbXA7JyA8bnQgZGVmPSdOVC1OYW1lJz5OYW1lPC9udD4gJzsnPC9yaHM+Cis8d2ZjIGRlZj0nd2YtZW50ZGVjbGFyZWQnLz4KKzx2YyBkZWY9J3ZjLWVudGRlY2xhcmVkJy8+Cis8d2ZjIGRlZj0ndGV4dGVudCcvPgorPHdmYyBkZWY9J25vcmVjdXJzaW9uJy8+Cis8L3Byb2Q+Cis8cHJvZCBpZD0nTlQtUEVSZWZlcmVuY2UnPjxsaHM+UEVSZWZlcmVuY2U8L2xocz4KKzxyaHM+JyUnIDxudCBkZWY9J05ULU5hbWUnPk5hbWU8L250PiAnOyc8L3Jocz4KKzx2YyBkZWY9J3ZjLWVudGRlY2xhcmVkJy8+Cis8d2ZjIGRlZj0nbm9yZWN1cnNpb24nLz4KKzx3ZmMgZGVmPSdpbmR0ZCcvPgorPC9wcm9kPgorPC9zY3JhcD4KKworPHdmY25vdGUgaWQ9J3dmLWVudGRlY2xhcmVkJz4KKzxoZWFkPkVudGl0eSBEZWNsYXJlZDwvaGVhZD4KKzxwPkluIGEgZG9jdW1lbnQgd2l0aG91dCBhbnkgRFRELCBhIGRvY3VtZW50IHdpdGggb25seSBhbiBpbnRlcm5hbAorRFREIHN1YnNldCB3aGljaCBjb250YWlucyBubyBwYXJhbWV0ZXIgZW50aXR5IHJlZmVyZW5jZXMsIG9yIGEgZG9jdW1lbnQgd2l0aAorIjxjb2RlPnN0YW5kYWxvbmU9J3llcyc8L2NvZGU+IiwgCit0aGUgPG50IGRlZj0nTlQtTmFtZSc+TmFtZTwvbnQ+IGdpdmVuIGluIHRoZSBlbnRpdHkgcmVmZXJlbmNlIG11c3QgCis8dGVybXJlZiBkZWY9ImR0LW1hdGNoIj5tYXRjaDwvdGVybXJlZj4gdGhhdCBpbiBhbiAKKzx0aXRsZXJlZiBocmVmPSdzZWMtZW50aXR5LWRlY2wnPmVudGl0eSBkZWNsYXJhdGlvbjwvdGl0bGVyZWY+LCBleGNlcHQgdGhhdAord2VsbC1mb3JtZWQgZG9jdW1lbnRzIG5lZWQgbm90IGRlY2xhcmUgCithbnkgb2YgdGhlIGZvbGxvd2luZyBlbnRpdGllczogJm1hZ2ljZW50czsuICAKK1RoZSBkZWNsYXJhdGlvbiBvZiBhIHBhcmFtZXRlciBlbnRpdHkgbXVzdCBwcmVjZWRlIGFueSByZWZlcmVuY2UgdG8gaXQuCitTaW1pbGFybHksIHRoZSBkZWNsYXJhdGlvbiBvZiBhIGdlbmVyYWwgZW50aXR5IG11c3QgcHJlY2VkZSBhbnkKK3JlZmVyZW5jZSB0byBpdCB3aGljaCBhcHBlYXJzIGluIGEgZGVmYXVsdCB2YWx1ZSBpbiBhbiBhdHRyaWJ1dGUtbGlzdAorZGVjbGFyYXRpb24uPC9wPgorPHA+Tm90ZSB0aGF0IGlmIGVudGl0aWVzIGFyZSBkZWNsYXJlZCBpbiB0aGUgZXh0ZXJuYWwgc3Vic2V0IG9yIGluIAorZXh0ZXJuYWwgcGFyYW1ldGVyIGVudGl0aWVzLCBhIG5vbi12YWxpZGF0aW5nIHByb2Nlc3NvciBpcyAKKzx0aXRsZXJlZiBocmVmPSdpbmNsdWRlLWlmLXZhbGlkJz5ub3Qgb2JsaWdhdGVkIHRvPC90aXRsZXJlZj4gcmVhZAorYW5kIHByb2Nlc3MgdGhlaXIgZGVjbGFyYXRpb25zOyBmb3Igc3VjaCBkb2N1bWVudHMsIHRoZSBydWxlIHRoYXQKK2FuIGVudGl0eSBtdXN0IGJlIGRlY2xhcmVkIGlzIGEgd2VsbC1mb3JtZWRuZXNzIGNvbnN0cmFpbnQgb25seQoraWYgPHRpdGxlcmVmIGhyZWY9J3NlYy1ybWQnPnN0YW5kYWxvbmU9J3llcyc8L3RpdGxlcmVmPi48L3A+Cis8L3dmY25vdGU+Cis8dmNub3RlIGlkPSJ2Yy1lbnRkZWNsYXJlZCI+Cis8aGVhZD5FbnRpdHkgRGVjbGFyZWQ8L2hlYWQ+Cis8cD5JbiBhIGRvY3VtZW50IHdpdGggYW4gZXh0ZXJuYWwgc3Vic2V0IG9yIGV4dGVybmFsIHBhcmFtZXRlcgorZW50aXRpZXMgd2l0aCAiPGNvZGU+c3RhbmRhbG9uZT0nbm8nPC9jb2RlPiIsCit0aGUgPG50IGRlZj0nTlQtTmFtZSc+TmFtZTwvbnQ+IGdpdmVuIGluIHRoZSBlbnRpdHkgcmVmZXJlbmNlIG11c3QgPHRlcm1yZWYKK2RlZj0iZHQtbWF0Y2giPm1hdGNoPC90ZXJtcmVmPiB0aGF0IGluIGFuIAorPHRpdGxlcmVmIGhyZWY9J3NlYy1lbnRpdHktZGVjbCc+ZW50aXR5IGRlY2xhcmF0aW9uPC90aXRsZXJlZj4uCitGb3IgaW50ZXJvcGVyYWJpbGl0eSwgdmFsaWQgZG9jdW1lbnRzIHNob3VsZCBkZWNsYXJlIHRoZSBlbnRpdGllcyAKKyZtYWdpY2VudHM7LCBpbiB0aGUgZm9ybQorc3BlY2lmaWVkIGluIDxzcGVjcmVmIHJlZj0ic2VjLXByZWRlZmluZWQtZW50Ii8+LgorVGhlIGRlY2xhcmF0aW9uIG9mIGEgcGFyYW1ldGVyIGVudGl0eSBtdXN0IHByZWNlZGUgYW55IHJlZmVyZW5jZSB0byBpdC4KK1NpbWlsYXJseSwgdGhlIGRlY2xhcmF0aW9uIG9mIGEgZ2VuZXJhbCBlbnRpdHkgbXVzdCBwcmVjZWRlIGFueQorcmVmZXJlbmNlIHRvIGl0IHdoaWNoIGFwcGVhcnMgaW4gYSBkZWZhdWx0IHZhbHVlIGluIGFuIGF0dHJpYnV0ZS1saXN0CitkZWNsYXJhdGlvbi48L3A+Cis8L3Zjbm90ZT4KKzwhLS0gRklOQUwgRURJVDogIGlzIHRoaXMgZHVwbGljYXRpb24gdG9vIGNsdW1zeT8gLS0+Cis8d2Zjbm90ZSBpZD0ndGV4dGVudCc+Cis8aGVhZD5QYXJzZWQgRW50aXR5PC9oZWFkPgorPHA+CitBbiBlbnRpdHkgcmVmZXJlbmNlIG11c3Qgbm90IGNvbnRhaW4gdGhlIG5hbWUgb2YgYW4gPHRlcm1yZWYKK2RlZj0iZHQtdW5wYXJzZWQiPnVucGFyc2VkIGVudGl0eTwvdGVybXJlZj4uIFVucGFyc2VkIGVudGl0aWVzIG1heSBiZSByZWZlcnJlZAordG8gb25seSBpbiA8dGVybXJlZiBkZWY9ImR0LWF0dHJ2YWwiPmF0dHJpYnV0ZSB2YWx1ZXM8L3Rlcm1yZWY+IGRlY2xhcmVkIHRvCitiZSBvZiB0eXBlIDxrdz5FTlRJVFk8L2t3PiBvciA8a3c+RU5USVRJRVM8L2t3Pi4KKzwvcD4KKzwvd2Zjbm90ZT4KKzx3ZmNub3RlIGlkPSdub3JlY3Vyc2lvbic+Cis8aGVhZD5ObyBSZWN1cnNpb248L2hlYWQ+Cis8cD4KK0EgcGFyc2VkIGVudGl0eSBtdXN0IG5vdCBjb250YWluIGEgcmVjdXJzaXZlIHJlZmVyZW5jZSB0byBpdHNlbGYsCitlaXRoZXIgZGlyZWN0bHkgb3IgaW5kaXJlY3RseS4KKzwvcD4KKzwvd2Zjbm90ZT4KKzx3ZmNub3RlIGlkPSdpbmR0ZCc+Cis8aGVhZD5JbiBEVEQ8L2hlYWQ+Cis8cD4KK1BhcmFtZXRlci1lbnRpdHkgcmVmZXJlbmNlcyBtYXkgb25seSBhcHBlYXIgaW4gdGhlIAorPHRlcm1yZWYgZGVmPSdkdC1kb2N0eXBlJz5EVEQ8L3Rlcm1yZWY+LgorPC9wPgorPC93ZmNub3RlPgorPHA+RXhhbXBsZXMgb2YgY2hhcmFjdGVyIGFuZCBlbnRpdHkgcmVmZXJlbmNlczoKKzxlZz5UeXBlICZsdDtrZXk+bGVzcy10aGFuJmx0Oy9rZXk+ICgmaGNybzszQzspIHRvIHNhdmUgb3B0aW9ucy4KK1RoaXMgZG9jdW1lbnQgd2FzIHByZXBhcmVkIG9uICZhbXA7ZG9jZGF0ZTsgYW5kCitpcyBjbGFzc2lmaWVkICZhbXA7c2VjdXJpdHktbGV2ZWw7LjwvZWc+PC9wPgorPHA+RXhhbXBsZSBvZiBhIHBhcmFtZXRlci1lbnRpdHkgcmVmZXJlbmNlOgorPGVnPjwhW0NEQVRBWzwhLS0gZGVjbGFyZSB0aGUgcGFyYW1ldGVyIGVudGl0eSAiSVNPTGF0MiIuLi4gLS0+Cis8IUVOVElUWSAlIElTT0xhdDIKKyAgICAgICAgIFNZU1RFTSAiaHR0cDovL3d3dy54bWwuY29tL2lzby9pc29sYXQyLXhtbC5lbnRpdGllcyIgPgorPCEtLSAuLi4gbm93IHJlZmVyZW5jZSBpdC4gLS0+CislSVNPTGF0MjtdXT48L2VnPjwvcD4KKzwvZGl2Mj4KKyAKKzxkaXYyIGlkPSdzZWMtZW50aXR5LWRlY2wnPgorPGhlYWQ+RW50aXR5IERlY2xhcmF0aW9uczwvaGVhZD4KKyAKKzxwPjx0ZXJtZGVmIGlkPSJkdC1lbnRkZWNsIiB0ZXJtPSJlbnRpdHkgZGVjbGFyYXRpb24iPgorRW50aXRpZXMgYXJlIGRlY2xhcmVkIHRodXM6Cis8c2NyYXAgbGFuZz0nZWJuZic+Cis8aGVhZD5FbnRpdHkgRGVjbGFyYXRpb248L2hlYWQ+Cis8cHJvZGdyb3VwIHBjdzI9IjUiIHBjdzQ9IjE4LjUiPgorPHByb2QgaWQ9J05ULUVudGl0eURlY2wnPjxsaHM+RW50aXR5RGVjbDwvbGhzPgorPHJocz48bnQgZGVmPSJOVC1HRURlY2wiPkdFRGVjbDwvbnQ+PCEtLTwvcmhzPjxjb20+R2VuZXJhbCBlbnRpdGllczwvY29tPgorPHJocz4tLT4gfCA8bnQgZGVmPSJOVC1QRURlY2wiPlBFRGVjbDwvbnQ+PC9yaHM+Cis8IS0tPGNvbT5QYXJhbWV0ZXIgZW50aXRpZXM8L2NvbT4tLT4KKzwvcHJvZD4KKzxwcm9kIGlkPSdOVC1HRURlY2wnPjxsaHM+R0VEZWNsPC9saHM+Cis8cmhzPicmbHQ7IUVOVElUWScgPG50IGRlZj0nTlQtUyc+UzwvbnQ+IDxudCBkZWY9J05ULU5hbWUnPk5hbWU8L250PiAKKzxudCBkZWY9J05ULVMnPlM8L250PiA8bnQgZGVmPSdOVC1FbnRpdHlEZWYnPkVudGl0eURlZjwvbnQ+IAorPG50IGRlZj0nTlQtUyc+UzwvbnQ+PyAnJmd0Oyc8L3Jocz4KKzwvcHJvZD4KKzxwcm9kIGlkPSdOVC1QRURlY2wnPjxsaHM+UEVEZWNsPC9saHM+Cis8cmhzPicmbHQ7IUVOVElUWScgPG50IGRlZj0nTlQtUyc+UzwvbnQ+ICclJyA8bnQgZGVmPSdOVC1TJz5TPC9udD4gCis8bnQgZGVmPSdOVC1OYW1lJz5OYW1lPC9udD4gPG50IGRlZj0nTlQtUyc+UzwvbnQ+IAorPG50IGRlZj0nTlQtUEVEZWYnPlBFRGVmPC9udD4gPG50IGRlZj0nTlQtUyc+UzwvbnQ+PyAnJmd0Oyc8L3Jocz4KKzwhLS08Y29tPlBhcmFtZXRlciBlbnRpdGllczwvY29tPi0tPgorPC9wcm9kPgorPHByb2QgaWQ9J05ULUVudGl0eURlZic+PGxocz5FbnRpdHlEZWY8L2xocz4KKzxyaHM+PG50IGRlZj0nTlQtRW50aXR5VmFsdWUnPkVudGl0eVZhbHVlPC9udD4KKzwhLS08L3Jocz4KKzxyaHM+LS0+fCAoPG50IGRlZj0nTlQtRXh0ZXJuYWxJRCc+RXh0ZXJuYWxJRDwvbnQ+IAorPG50IGRlZj0nTlQtTkRhdGFEZWNsJz5ORGF0YURlY2w8L250Pj8pPC9yaHM+Cis8IS0tIDxudCBkZWY9J05ULUV4dGVybmFsRGVmJz5FeHRlcm5hbERlZjwvbnQ+PC9yaHM+IC0tPgorPC9wcm9kPgorPCEtLSBGSU5BTCBFRElUOiB3aGF0IGhhcHBlbmVkIHRvIFdGcyBoZXJlPyAtLT4KKzxwcm9kIGlkPSdOVC1QRURlZic+PGxocz5QRURlZjwvbGhzPgorPHJocz48bnQgZGVmPSdOVC1FbnRpdHlWYWx1ZSc+RW50aXR5VmFsdWU8L250PiAKK3wgPG50IGRlZj0nTlQtRXh0ZXJuYWxJRCc+RXh0ZXJuYWxJRDwvbnQ+PC9yaHM+PC9wcm9kPgorPC9wcm9kZ3JvdXA+Cis8L3NjcmFwPgorVGhlIDxudCBkZWY9J05ULU5hbWUnPk5hbWU8L250PiBpZGVudGlmaWVzIHRoZSBlbnRpdHkgaW4gYW4KKzx0ZXJtcmVmIGRlZj0iZHQtZW50cmVmIj5lbnRpdHkgcmVmZXJlbmNlPC90ZXJtcmVmPiBvciwgaW4gdGhlIGNhc2Ugb2YgYW4KK3VucGFyc2VkIGVudGl0eSwgaW4gdGhlIHZhbHVlIG9mIGFuIDxrdz5FTlRJVFk8L2t3PiBvciA8a3c+RU5USVRJRVM8L2t3PgorYXR0cmlidXRlLgorSWYgdGhlIHNhbWUgZW50aXR5IGlzIGRlY2xhcmVkIG1vcmUgdGhhbiBvbmNlLCB0aGUgZmlyc3QgZGVjbGFyYXRpb24KK2VuY291bnRlcmVkIGlzIGJpbmRpbmc7IGF0IHVzZXIgb3B0aW9uLCBhbiBYTUwgcHJvY2Vzc29yIG1heSBpc3N1ZSBhCit3YXJuaW5nIGlmIGVudGl0aWVzIGFyZSBkZWNsYXJlZCBtdWx0aXBsZSB0aW1lcy48L3Rlcm1kZWY+Cis8L3A+CisKKzxkaXYzIGlkPSdzZWMtaW50ZXJuYWwtZW50Jz4KKzxoZWFkPkludGVybmFsIEVudGl0aWVzPC9oZWFkPgorIAorPHA+PHRlcm1kZWYgaWQ9J2R0LWludGVybmVudCcgdGVybT0iSW50ZXJuYWwgRW50aXR5IFJlcGxhY2VtZW50IFRleHQiPklmIAordGhlIGVudGl0eSBkZWZpbml0aW9uIGlzIGFuIAorPG50IGRlZj0nTlQtRW50aXR5VmFsdWUnPkVudGl0eVZhbHVlPC9udD4sICAKK3RoZSBkZWZpbmVkIGVudGl0eSBpcyBjYWxsZWQgYW4gPHRlcm0+aW50ZXJuYWwgZW50aXR5PC90ZXJtPi4gIAorVGhlcmUgaXMgbm8gc2VwYXJhdGUgcGh5c2ljYWwKK3N0b3JhZ2Ugb2JqZWN0LCBhbmQgdGhlIGNvbnRlbnQgb2YgdGhlIGVudGl0eSBpcyBnaXZlbiBpbiB0aGUKK2RlY2xhcmF0aW9uLiA8L3Rlcm1kZWY+CitOb3RlIHRoYXQgc29tZSBwcm9jZXNzaW5nIG9mIGVudGl0eSBhbmQgY2hhcmFjdGVyIHJlZmVyZW5jZXMgaW4gdGhlCis8dGVybXJlZiBkZWY9J2R0LWxpdGVudHZhbCc+bGl0ZXJhbCBlbnRpdHkgdmFsdWU8L3Rlcm1yZWY+IG1heSBiZSByZXF1aXJlZCB0bworcHJvZHVjZSB0aGUgY29ycmVjdCA8dGVybXJlZiBkZWY9J2R0LXJlcGx0ZXh0Jz5yZXBsYWNlbWVudCAKK3RleHQ8L3Rlcm1yZWY+OiBzZWUgPHNwZWNyZWYgcmVmPSdpbnRlcm4tcmVwbGFjZW1lbnQnLz4uCis8L3A+Cis8cD5BbiBpbnRlcm5hbCBlbnRpdHkgaXMgYSA8dGVybXJlZiBkZWY9ImR0LXBhcnNlZGVudCI+cGFyc2VkCitlbnRpdHk8L3Rlcm1yZWY+LjwvcD4KKzxwPkV4YW1wbGUgb2YgYW4gaW50ZXJuYWwgZW50aXR5IGRlY2xhcmF0aW9uOgorPGVnPiZsdDshRU5USVRZIFB1Yi1TdGF0dXMgIlRoaXMgaXMgYSBwcmUtcmVsZWFzZSBvZiB0aGUKKyBzcGVjaWZpY2F0aW9uLiI+PC9lZz48L3A+Cis8L2RpdjM+CisgCis8ZGl2MyBpZD0nc2VjLWV4dGVybmFsLWVudCc+Cis8aGVhZD5FeHRlcm5hbCBFbnRpdGllczwvaGVhZD4KKyAKKzxwPjx0ZXJtZGVmIGlkPSJkdC1leHRlbnQiIHRlcm09IkV4dGVybmFsIEVudGl0eSI+SWYgdGhlIGVudGl0eSBpcyBub3QKK2ludGVybmFsLCBpdCBpcyBhbiA8dGVybT5leHRlcm5hbAorZW50aXR5PC90ZXJtPiwgZGVjbGFyZWQgYXMgZm9sbG93czoKKzxzY3JhcCBsYW5nPSdlYm5mJz4KKzxoZWFkPkV4dGVybmFsIEVudGl0eSBEZWNsYXJhdGlvbjwvaGVhZD4KKzwhLS0KKzxwcm9kIGlkPSdOVC1FeHRlcm5hbERlZic+PGxocz5FeHRlcm5hbERlZjwvbGhzPgorPHJocz48L3Byb2Q+IC0tPgorPHByb2QgaWQ9J05ULUV4dGVybmFsSUQnPjxsaHM+RXh0ZXJuYWxJRDwvbGhzPgorPHJocz4nU1lTVEVNJyA8bnQgZGVmPSdOVC1TJz5TPC9udD4gCis8bnQgZGVmPSdOVC1TeXN0ZW1MaXRlcmFsJz5TeXN0ZW1MaXRlcmFsPC9udD48L3Jocz4KKzxyaHM+fCAnUFVCTElDJyA8bnQgZGVmPSdOVC1TJz5TPC9udD4gCis8bnQgZGVmPSdOVC1QdWJpZExpdGVyYWwnPlB1YmlkTGl0ZXJhbDwvbnQ+IAorPG50IGRlZj0nTlQtUyc+UzwvbnQ+IAorPG50IGRlZj0nTlQtU3lzdGVtTGl0ZXJhbCc+U3lzdGVtTGl0ZXJhbDwvbnQ+Cis8L3Jocz4KKzwvcHJvZD4KKzxwcm9kIGlkPSdOVC1ORGF0YURlY2wnPjxsaHM+TkRhdGFEZWNsPC9saHM+Cis8cmhzPjxudCBkZWY9J05ULVMnPlM8L250PiAnTkRBVEEnIDxudCBkZWY9J05ULVMnPlM8L250PiAKKzxudCBkZWY9J05ULU5hbWUnPk5hbWU8L250PjwvcmhzPgorPHZjIGRlZj0nbm90LWRlY2xhcmVkJy8+PC9wcm9kPgorPC9zY3JhcD4KK0lmIHRoZSA8bnQgZGVmPSdOVC1ORGF0YURlY2wnPk5EYXRhRGVjbDwvbnQ+IGlzIHByZXNlbnQsIHRoaXMgaXMgYQorZ2VuZXJhbCA8dGVybXJlZiBkZWY9ImR0LXVucGFyc2VkIj51bnBhcnNlZAorZW50aXR5PC90ZXJtcmVmPjsgb3RoZXJ3aXNlIGl0IGlzIGEgcGFyc2VkIGVudGl0eS48L3Rlcm1kZWY+PC9wPgorPHZjbm90ZSBpZD0nbm90LWRlY2xhcmVkJz4KKzxoZWFkPk5vdGF0aW9uIERlY2xhcmVkPC9oZWFkPgorPHA+CitUaGUgPG50IGRlZj0nTlQtTmFtZSc+TmFtZTwvbnQ+IG11c3QgbWF0Y2ggdGhlIGRlY2xhcmVkIG5hbWUgb2YgYQorPHRlcm1yZWYgZGVmPSJkdC1ub3RhdGlvbiI+bm90YXRpb248L3Rlcm1yZWY+LgorPC9wPgorPC92Y25vdGU+Cis8cD48dGVybWRlZiBpZD0iZHQtc3lzaWQiIHRlcm09IlN5c3RlbSBJZGVudGlmaWVyIj5UaGUKKzxudCBkZWY9J05ULVN5c3RlbUxpdGVyYWwnPlN5c3RlbUxpdGVyYWw8L250PiAKK2lzIGNhbGxlZCB0aGUgZW50aXR5J3MgPHRlcm0+c3lzdGVtIGlkZW50aWZpZXI8L3Rlcm0+LiBJdCBpcyBhIFVSSSwKK3doaWNoIG1heSBiZSB1c2VkIHRvIHJldHJpZXZlIHRoZSBlbnRpdHkuPC90ZXJtZGVmPgorTm90ZSB0aGF0IHRoZSBoYXNoIG1hcmsgKDxjb2RlPiM8L2NvZGU+KSBhbmQgZnJhZ21lbnQgaWRlbnRpZmllciAKK2ZyZXF1ZW50bHkgdXNlZCB3aXRoIFVSSXMgYXJlIG5vdCwgZm9ybWFsbHksIHBhcnQgb2YgdGhlIFVSSSBpdHNlbGY7IAorYW4gWE1MIHByb2Nlc3NvciBtYXkgc2lnbmFsIGFuIGVycm9yIGlmIGEgZnJhZ21lbnQgaWRlbnRpZmllciBpcyAKK2dpdmVuIGFzIHBhcnQgb2YgYSBzeXN0ZW0gaWRlbnRpZmllci4KK1VubGVzcyBvdGhlcndpc2UgcHJvdmlkZWQgYnkgaW5mb3JtYXRpb24gb3V0c2lkZSB0aGUgc2NvcGUgb2YgdGhpcworc3BlY2lmaWNhdGlvbiAoZS5nLiBhIHNwZWNpYWwgWE1MIGVsZW1lbnQgdHlwZSBkZWZpbmVkIGJ5IGEgcGFydGljdWxhcgorRFRELCBvciBhIHByb2Nlc3NpbmcgaW5zdHJ1Y3Rpb24gZGVmaW5lZCBieSBhIHBhcnRpY3VsYXIgYXBwbGljYXRpb24KK3NwZWNpZmljYXRpb24pLCByZWxhdGl2ZSBVUklzIGFyZSByZWxhdGl2ZSB0byB0aGUgbG9jYXRpb24gb2YgdGhlCityZXNvdXJjZSB3aXRoaW4gd2hpY2ggdGhlIGVudGl0eSBkZWNsYXJhdGlvbiBvY2N1cnMuCitBIFVSSSBtaWdodCB0aHVzIGJlIHJlbGF0aXZlIHRvIHRoZSAKKzx0ZXJtcmVmIGRlZj0nZHQtZG9jZW50Jz5kb2N1bWVudCBlbnRpdHk8L3Rlcm1yZWY+LCB0byB0aGUgZW50aXR5Citjb250YWluaW5nIHRoZSA8dGVybXJlZiBkZWY9J2R0LWRvY3R5cGUnPmV4dGVybmFsIERURCBzdWJzZXQ8L3Rlcm1yZWY+LCAKK29yIHRvIHNvbWUgb3RoZXIgPHRlcm1yZWYgZGVmPSdkdC1leHRlbnQnPmV4dGVybmFsIHBhcmFtZXRlciBlbnRpdHk8L3Rlcm1yZWY+LgorPC9wPgorPHA+QW4gWE1MIHByb2Nlc3NvciBzaG91bGQgaGFuZGxlIGEgbm9uLUFTQ0lJIGNoYXJhY3RlciBpbiBhIFVSSSBieQorcmVwcmVzZW50aW5nIHRoZSBjaGFyYWN0ZXIgaW4gVVRGLTggYXMgb25lIG9yIG1vcmUgYnl0ZXMsIGFuZCB0aGVuIAorZXNjYXBpbmcgdGhlc2UgYnl0ZXMgd2l0aCB0aGUgVVJJIGVzY2FwaW5nIG1lY2hhbmlzbSAoaS5lLiwgYnkKK2NvbnZlcnRpbmcgZWFjaCBieXRlIHRvICVISCwgd2hlcmUgSEggaXMgdGhlIGhleGFkZWNpbWFsIG5vdGF0aW9uIG9mIHRoZQorYnl0ZSB2YWx1ZSkuPC9wPgorPHA+PHRlcm1kZWYgaWQ9ImR0LXB1YmlkIiB0ZXJtPSJQdWJsaWMgaWRlbnRpZmllciI+CitJbiBhZGRpdGlvbiB0byBhIHN5c3RlbSBpZGVudGlmaWVyLCBhbiBleHRlcm5hbCBpZGVudGlmaWVyIG1heQoraW5jbHVkZSBhIDx0ZXJtPnB1YmxpYyBpZGVudGlmaWVyPC90ZXJtPi48L3Rlcm1kZWY+ICAKK0FuIFhNTCBwcm9jZXNzb3IgYXR0ZW1wdGluZyB0byByZXRyaWV2ZSB0aGUgZW50aXR5J3MgY29udGVudCBtYXkgdXNlIHRoZSBwdWJsaWMKK2lkZW50aWZpZXIgdG8gdHJ5IHRvIGdlbmVyYXRlIGFuIGFsdGVybmF0aXZlIFVSSS4gIElmIHRoZSBwcm9jZXNzb3IKK2lzIHVuYWJsZSB0byBkbyBzbywgaXQgbXVzdCB1c2UgdGhlIFVSSSBzcGVjaWZpZWQgaW4gdGhlIHN5c3RlbQorbGl0ZXJhbC4gIEJlZm9yZSBhIG1hdGNoIGlzIGF0dGVtcHRlZCwgYWxsIHN0cmluZ3MKK29mIHdoaXRlIHNwYWNlIGluIHRoZSBwdWJsaWMgaWRlbnRpZmllciBtdXN0IGJlIG5vcm1hbGl6ZWQgdG8gc2luZ2xlIHNwYWNlIGNoYXJhY3RlcnMgKCN4MjApLAorYW5kIGxlYWRpbmcgYW5kIHRyYWlsaW5nIHdoaXRlIHNwYWNlIG11c3QgYmUgcmVtb3ZlZC48L3A+Cis8cD5FeGFtcGxlcyBvZiBleHRlcm5hbCBlbnRpdHkgZGVjbGFyYXRpb25zOgorPGVnPiZsdDshRU5USVRZIG9wZW4taGF0Y2gKKyAgICAgICAgIFNZU1RFTSAiaHR0cDovL3d3dy50ZXh0dWFsaXR5LmNvbS9ib2lsZXJwbGF0ZS9PcGVuSGF0Y2gueG1sIj4KKyZsdDshRU5USVRZIG9wZW4taGF0Y2gKKyAgICAgICAgIFBVQkxJQyAiLS8vVGV4dHVhbGl0eS8vVEVYVCBTdGFuZGFyZCBvcGVuLWhhdGNoIGJvaWxlcnBsYXRlLy9FTiIKKyAgICAgICAgICJodHRwOi8vd3d3LnRleHR1YWxpdHkuY29tL2JvaWxlcnBsYXRlL09wZW5IYXRjaC54bWwiPgorJmx0OyFFTlRJVFkgaGF0Y2gtcGljCisgICAgICAgICBTWVNURU0gIi4uL2dyYWZpeC9PcGVuSGF0Y2guZ2lmIgorICAgICAgICAgTkRBVEEgZ2lmID48L2VnPjwvcD4KKzwvZGl2Mz4KKyAKKzwvZGl2Mj4KKworPGRpdjIgaWQ9J1RleHRFbnRpdGllcyc+Cis8aGVhZD5QYXJzZWQgRW50aXRpZXM8L2hlYWQ+Cis8ZGl2MyBpZD0nc2VjLVRleHREZWNsJz4KKzxoZWFkPlRoZSBUZXh0IERlY2xhcmF0aW9uPC9oZWFkPgorPHA+RXh0ZXJuYWwgcGFyc2VkIGVudGl0aWVzIG1heSBlYWNoIGJlZ2luIHdpdGggYSA8dGVybT50ZXh0CitkZWNsYXJhdGlvbjwvdGVybT4uIAorPHNjcmFwIGxhbmc9J2VibmYnPgorPGhlYWQ+VGV4dCBEZWNsYXJhdGlvbjwvaGVhZD4KKzxwcm9kZ3JvdXAgcGN3ND0iMTIuNSIgcGN3NT0iMTMiPgorPHByb2QgaWQ9J05ULVRleHREZWNsJz48bGhzPlRleHREZWNsPC9saHM+Cis8cmhzPiZ4bWxwaW87IAorPG50IGRlZj0nTlQtVmVyc2lvbkluZm8nPlZlcnNpb25JbmZvPC9udD4/Cis8bnQgZGVmPSdOVC1FbmNvZGluZ0RlY2wnPkVuY29kaW5nRGVjbDwvbnQ+Cis8bnQgZGVmPSdOVC1TJz5TPC9udD4/ICZwaWM7PC9yaHM+Cis8L3Byb2Q+Cis8L3Byb2Rncm91cD4KKzwvc2NyYXA+Cis8L3A+Cis8cD5UaGUgdGV4dCBkZWNsYXJhdGlvbiBtdXN0IGJlIHByb3ZpZGVkIGxpdGVyYWxseSwgbm90CitieSByZWZlcmVuY2UgdG8gYSBwYXJzZWQgZW50aXR5LgorTm8gdGV4dCBkZWNsYXJhdGlvbiBtYXkgYXBwZWFyIGF0IGFueSBwb3NpdGlvbiBvdGhlciB0aGFuIHRoZSBiZWdpbm5pbmcgb2YKK2FuIGV4dGVybmFsIHBhcnNlZCBlbnRpdHkuPC9wPgorPC9kaXYzPgorPGRpdjMgaWQ9J3dmLWVudGl0aWVzJz4KKzxoZWFkPldlbGwtRm9ybWVkIFBhcnNlZCBFbnRpdGllczwvaGVhZD4KKzxwPlRoZSBkb2N1bWVudCBlbnRpdHkgaXMgd2VsbC1mb3JtZWQgaWYgaXQgbWF0Y2hlcyB0aGUgcHJvZHVjdGlvbiBsYWJlbGVkCis8bnQgZGVmPSdOVC1kb2N1bWVudCc+ZG9jdW1lbnQ8L250Pi4KK0FuIGV4dGVybmFsIGdlbmVyYWwgCitwYXJzZWQgZW50aXR5IGlzIHdlbGwtZm9ybWVkIGlmIGl0IG1hdGNoZXMgdGhlIHByb2R1Y3Rpb24gbGFiZWxlZAorPG50IGRlZj0nTlQtZXh0UGFyc2VkRW50Jz5leHRQYXJzZWRFbnQ8L250Pi4KK0FuIGV4dGVybmFsIHBhcmFtZXRlcgorZW50aXR5IGlzIHdlbGwtZm9ybWVkIGlmIGl0IG1hdGNoZXMgdGhlIHByb2R1Y3Rpb24gbGFiZWxlZAorPG50IGRlZj0nTlQtZXh0UEUnPmV4dFBFPC9udD4uCis8c2NyYXAgbGFuZz0nZWJuZic+Cis8aGVhZD5XZWxsLUZvcm1lZCBFeHRlcm5hbCBQYXJzZWQgRW50aXR5PC9oZWFkPgorPHByb2QgaWQ9J05ULWV4dFBhcnNlZEVudCc+PGxocz5leHRQYXJzZWRFbnQ8L2xocz4KKzxyaHM+PG50IGRlZj0nTlQtVGV4dERlY2wnPlRleHREZWNsPC9udD4/IAorPG50IGRlZj0nTlQtY29udGVudCc+Y29udGVudDwvbnQ+PC9yaHM+Cis8L3Byb2Q+Cis8cHJvZCBpZD0nTlQtZXh0UEUnPjxsaHM+ZXh0UEU8L2xocz4KKzxyaHM+PG50IGRlZj0nTlQtVGV4dERlY2wnPlRleHREZWNsPC9udD4/IAorPG50IGRlZj0nTlQtZXh0U3Vic2V0RGVjbCc+ZXh0U3Vic2V0RGVjbDwvbnQ+PC9yaHM+Cis8L3Byb2Q+Cis8L3NjcmFwPgorQW4gaW50ZXJuYWwgZ2VuZXJhbCBwYXJzZWQgZW50aXR5IGlzIHdlbGwtZm9ybWVkIGlmIGl0cyByZXBsYWNlbWVudCB0ZXh0IAorbWF0Y2hlcyB0aGUgcHJvZHVjdGlvbiBsYWJlbGVkCis8bnQgZGVmPSdOVC1jb250ZW50Jz5jb250ZW50PC9udD4uCitBbGwgaW50ZXJuYWwgcGFyYW1ldGVyIGVudGl0aWVzIGFyZSB3ZWxsLWZvcm1lZCBieSBkZWZpbml0aW9uLgorPC9wPgorPHA+QSBjb25zZXF1ZW5jZSBvZiB3ZWxsLWZvcm1lZG5lc3MgaW4gZW50aXRpZXMgaXMgdGhhdCB0aGUgbG9naWNhbCAKK2FuZCBwaHlzaWNhbCBzdHJ1Y3R1cmVzIGluIGFuIFhNTCBkb2N1bWVudCBhcmUgcHJvcGVybHkgbmVzdGVkOyBubyAKKzx0ZXJtcmVmIGRlZj0nZHQtc3RhZyc+c3RhcnQtdGFnPC90ZXJtcmVmPiwKKzx0ZXJtcmVmIGRlZj0nZHQtZXRhZyc+ZW5kLXRhZzwvdGVybXJlZj4sCis8dGVybXJlZiBkZWY9ImR0LWVtcHR5Ij5lbXB0eS1lbGVtZW50IHRhZzwvdGVybXJlZj4sCis8dGVybXJlZiBkZWY9J2R0LWVsZW1lbnQnPmVsZW1lbnQ8L3Rlcm1yZWY+LCAKKzx0ZXJtcmVmIGRlZj0nZHQtY29tbWVudCc+Y29tbWVudDwvdGVybXJlZj4sIAorPHRlcm1yZWYgZGVmPSdkdC1waSc+cHJvY2Vzc2luZyBpbnN0cnVjdGlvbjwvdGVybXJlZj4sIAorPHRlcm1yZWYgZGVmPSdkdC1jaGFycmVmJz5jaGFyYWN0ZXIKK3JlZmVyZW5jZTwvdGVybXJlZj4sIG9yCis8dGVybXJlZiBkZWY9J2R0LWVudHJlZic+ZW50aXR5IHJlZmVyZW5jZTwvdGVybXJlZj4gCitjYW4gYmVnaW4gaW4gb25lIGVudGl0eSBhbmQgZW5kIGluIGFub3RoZXIuPC9wPgorPC9kaXYzPgorPGRpdjMgaWQ9J2NoYXJlbmNvZGluZyc+Cis8aGVhZD5DaGFyYWN0ZXIgRW5jb2RpbmcgaW4gRW50aXRpZXM8L2hlYWQ+CisgCis8cD5FYWNoIGV4dGVybmFsIHBhcnNlZCBlbnRpdHkgaW4gYW4gWE1MIGRvY3VtZW50IG1heSB1c2UgYSBkaWZmZXJlbnQKK2VuY29kaW5nIGZvciBpdHMgY2hhcmFjdGVycy4gQWxsIFhNTCBwcm9jZXNzb3JzIG11c3QgYmUgYWJsZSB0byByZWFkCitlbnRpdGllcyBpbiBlaXRoZXIgVVRGLTggb3IgVVRGLTE2LiAKKworPC9wPgorPHA+RW50aXRpZXMgZW5jb2RlZCBpbiBVVEYtMTYgbXVzdAorYmVnaW4gd2l0aCB0aGUgQnl0ZSBPcmRlciBNYXJrIGRlc2NyaWJlZCBieSBJU08vSUVDIDEwNjQ2IEFubmV4IEUgYW5kCitVbmljb2RlIEFwcGVuZGl4IEIgKHRoZSBaRVJPIFdJRFRIIE5PLUJSRUFLIFNQQUNFIGNoYXJhY3RlciwgI3hGRUZGKS4KK1RoaXMgaXMgYW4gZW5jb2Rpbmcgc2lnbmF0dXJlLCBub3QgcGFydCBvZiBlaXRoZXIgdGhlIG1hcmt1cCBvciB0aGUKK2NoYXJhY3RlciBkYXRhIG9mIHRoZSBYTUwgZG9jdW1lbnQuCitYTUwgcHJvY2Vzc29ycyBtdXN0IGJlIGFibGUgdG8gdXNlIHRoaXMgY2hhcmFjdGVyIHRvCitkaWZmZXJlbnRpYXRlIGJldHdlZW4gVVRGLTggYW5kIFVURi0xNiBlbmNvZGVkIGRvY3VtZW50cy48L3A+Cis8cD5BbHRob3VnaCBhbiBYTUwgcHJvY2Vzc29yIGlzIHJlcXVpcmVkIHRvIHJlYWQgb25seSBlbnRpdGllcyBpbgordGhlIFVURi04IGFuZCBVVEYtMTYgZW5jb2RpbmdzLCBpdCBpcyByZWNvZ25pemVkIHRoYXQgb3RoZXIgZW5jb2RpbmdzIGFyZQordXNlZCBhcm91bmQgdGhlIHdvcmxkLCBhbmQgaXQgbWF5IGJlIGRlc2lyZWQgZm9yIFhNTCBwcm9jZXNzb3JzCit0byByZWFkIGVudGl0aWVzIHRoYXQgdXNlIHRoZW0uCitQYXJzZWQgZW50aXRpZXMgd2hpY2ggYXJlIHN0b3JlZCBpbiBhbiBlbmNvZGluZyBvdGhlciB0aGFuCitVVEYtOCBvciBVVEYtMTYgbXVzdCBiZWdpbiB3aXRoIGEgPHRpdGxlcmVmIGhyZWY9J1RleHREZWNsJz50ZXh0CitkZWNsYXJhdGlvbjwvdGl0bGVyZWY+IGNvbnRhaW5pbmcgYW4gZW5jb2RpbmcgZGVjbGFyYXRpb246Cis8c2NyYXAgbGFuZz0nZWJuZic+Cis8aGVhZD5FbmNvZGluZyBEZWNsYXJhdGlvbjwvaGVhZD4KKzxwcm9kIGlkPSdOVC1FbmNvZGluZ0RlY2wnPjxsaHM+RW5jb2RpbmdEZWNsPC9saHM+Cis8cmhzPjxudCBkZWY9Ik5ULVMiPlM8L250PgorJ2VuY29kaW5nJyA8bnQgZGVmPSdOVC1FcSc+RXE8L250PiAKKygnIicgPG50IGRlZj0nTlQtRW5jTmFtZSc+RW5jTmFtZTwvbnQ+ICciJyB8IAorIiciIDxudCBkZWY9J05ULUVuY05hbWUnPkVuY05hbWU8L250PiAiJyIgKQorPC9yaHM+Cis8L3Byb2Q+Cis8cHJvZCBpZD0nTlQtRW5jTmFtZSc+PGxocz5FbmNOYW1lPC9saHM+Cis8cmhzPltBLVphLXpdIChbQS1aYS16MC05Ll9dIHwgJy0nKSo8L3Jocz4KKzxjb20+RW5jb2RpbmcgbmFtZSBjb250YWlucyBvbmx5IExhdGluIGNoYXJhY3RlcnM8L2NvbT4KKzwvcHJvZD4KKzwvc2NyYXA+CitJbiB0aGUgPHRlcm1yZWYgZGVmPSdkdC1kb2NlbnQnPmRvY3VtZW50IGVudGl0eTwvdGVybXJlZj4sIHRoZSBlbmNvZGluZworZGVjbGFyYXRpb24gaXMgcGFydCBvZiB0aGUgPHRlcm1yZWYgZGVmPSJkdC14bWxkZWNsIj5YTUwgZGVjbGFyYXRpb248L3Rlcm1yZWY+LgorVGhlIDxudCBkZWY9Ik5ULUVuY05hbWUiPkVuY05hbWU8L250PiBpcyB0aGUgbmFtZSBvZiB0aGUgZW5jb2RpbmcgdXNlZC4KKzwvcD4KKzwhLS0gRklOQUwgRURJVDogIGNoZWNrIG5hbWUgb2YgSUFOQSBhbmQgY2hhcnNldCBuYW1lcyAtLT4KKzxwPkluIGFuIGVuY29kaW5nIGRlY2xhcmF0aW9uLCB0aGUgdmFsdWVzCisiPGNvZGU+VVRGLTg8L2NvZGU+IiwKKyI8Y29kZT5VVEYtMTY8L2NvZGU+IiwKKyI8Y29kZT5JU08tMTA2NDYtVUNTLTI8L2NvZGU+IiwgYW5kCisiPGNvZGU+SVNPLTEwNjQ2LVVDUy00PC9jb2RlPiIgc2hvdWxkIGJlIAordXNlZCBmb3IgdGhlIHZhcmlvdXMgZW5jb2RpbmdzIGFuZCB0cmFuc2Zvcm1hdGlvbnMgb2YgVW5pY29kZSAvCitJU08vSUVDIDEwNjQ2LCB0aGUgdmFsdWVzCisiPGNvZGU+SVNPLTg4NTktMTwvY29kZT4iLAorIjxjb2RlPklTTy04ODU5LTI8L2NvZGU+IiwgLi4uCisiPGNvZGU+SVNPLTg4NTktOTwvY29kZT4iIHNob3VsZCBiZSB1c2VkIGZvciB0aGUgcGFydHMgb2YgSVNPIDg4NTksIGFuZAordGhlIHZhbHVlcworIjxjb2RlPklTTy0yMDIyLUpQPC9jb2RlPiIsCisiPGNvZGU+U2hpZnRfSklTPC9jb2RlPiIsIGFuZAorIjxjb2RlPkVVQy1KUDwvY29kZT4iCitzaG91bGQgYmUgdXNlZCBmb3IgdGhlIHZhcmlvdXMgZW5jb2RlZCBmb3JtcyBvZiBKSVMgWC0wMjA4LTE5OTcuICBYTUwKK3Byb2Nlc3NvcnMgbWF5IHJlY29nbml6ZSBvdGhlciBlbmNvZGluZ3M7IGl0IGlzIHJlY29tbWVuZGVkIHRoYXQKK2NoYXJhY3RlciBlbmNvZGluZ3MgcmVnaXN0ZXJlZCAoYXMgPGVtcGg+Y2hhcnNldDwvZW1waD5zKSAKK3dpdGggdGhlIEludGVybmV0IEFzc2lnbmVkIE51bWJlcnMKK0F1dGhvcml0eSA8YmlicmVmIHJlZj0nSUFOQScvPiwgb3RoZXIgdGhhbiB0aG9zZSBqdXN0IGxpc3RlZCwgc2hvdWxkIGJlCityZWZlcnJlZCB0bwordXNpbmcgdGhlaXIgcmVnaXN0ZXJlZCBuYW1lcy4KK05vdGUgdGhhdCB0aGVzZSByZWdpc3RlcmVkIG5hbWVzIGFyZSBkZWZpbmVkIHRvIGJlIAorY2FzZS1pbnNlbnNpdGl2ZSwgc28gcHJvY2Vzc29ycyB3aXNoaW5nIHRvIG1hdGNoIGFnYWluc3QgdGhlbSAKK3Nob3VsZCBkbyBzbyBpbiBhIGNhc2UtaW5zZW5zaXRpdmUKK3dheS48L3A+Cis8cD5JbiB0aGUgYWJzZW5jZSBvZiBpbmZvcm1hdGlvbiBwcm92aWRlZCBieSBhbiBleHRlcm5hbAordHJhbnNwb3J0IHByb3RvY29sIChlLmcuIEhUVFAgb3IgTUlNRSksIAoraXQgaXMgYW4gPHRlcm1yZWYgZGVmPSJkdC1lcnJvciI+ZXJyb3I8L3Rlcm1yZWY+IGZvciBhbiBlbnRpdHkgaW5jbHVkaW5nCithbiBlbmNvZGluZyBkZWNsYXJhdGlvbiB0byBiZSBwcmVzZW50ZWQgdG8gdGhlIFhNTCBwcm9jZXNzb3IgCitpbiBhbiBlbmNvZGluZyBvdGhlciB0aGFuIHRoYXQgbmFtZWQgaW4gdGhlIGRlY2xhcmF0aW9uLCAKK2ZvciBhbiBlbmNvZGluZyBkZWNsYXJhdGlvbiB0byBvY2N1ciBvdGhlciB0aGFuIGF0IHRoZSBiZWdpbm5pbmcgCitvZiBhbiBleHRlcm5hbCBlbnRpdHksIG9yIGZvcgorYW4gZW50aXR5IHdoaWNoIGJlZ2lucyB3aXRoIG5laXRoZXIgYSBCeXRlIE9yZGVyIE1hcmsgbm9yIGFuIGVuY29kaW5nCitkZWNsYXJhdGlvbiB0byB1c2UgYW4gZW5jb2Rpbmcgb3RoZXIgdGhhbiBVVEYtOC4KK05vdGUgdGhhdCBzaW5jZSBBU0NJSQoraXMgYSBzdWJzZXQgb2YgVVRGLTgsIG9yZGluYXJ5IEFTQ0lJIGVudGl0aWVzIGRvIG5vdCBzdHJpY3RseSBuZWVkCithbiBlbmNvZGluZyBkZWNsYXJhdGlvbi48L3A+CisKKzxwPkl0IGlzIGEgPHRlcm1yZWYgZGVmPSdkdC1mYXRhbCc+ZmF0YWwgZXJyb3I8L3Rlcm1yZWY+IHdoZW4gYW4gWE1MIHByb2Nlc3NvcgorZW5jb3VudGVycyBhbiBlbnRpdHkgd2l0aCBhbiBlbmNvZGluZyB0aGF0IGl0IGlzIHVuYWJsZSB0byBwcm9jZXNzLjwvcD4KKzxwPkV4YW1wbGVzIG9mIGVuY29kaW5nIGRlY2xhcmF0aW9uczoKKzxlZz4mbHQ7P3htbCBlbmNvZGluZz0nVVRGLTgnPz4KKyZsdDs/eG1sIGVuY29kaW5nPSdFVUMtSlAnPz48L2VnPjwvcD4KKzwvZGl2Mz4KKzwvZGl2Mj4KKzxkaXYyIGlkPSdlbnRwcm9jJz4KKzxoZWFkPlhNTCBQcm9jZXNzb3IgVHJlYXRtZW50IG9mIEVudGl0aWVzIGFuZCBSZWZlcmVuY2VzPC9oZWFkPgorPHA+VGhlIHRhYmxlIGJlbG93IHN1bW1hcml6ZXMgdGhlIGNvbnRleHRzIGluIHdoaWNoIGNoYXJhY3RlciByZWZlcmVuY2VzLAorZW50aXR5IHJlZmVyZW5jZXMsIGFuZCBpbnZvY2F0aW9ucyBvZiB1bnBhcnNlZCBlbnRpdGllcyBtaWdodCBhcHBlYXIgYW5kIHRoZQorcmVxdWlyZWQgYmVoYXZpb3Igb2YgYW4gPHRlcm1yZWYgZGVmPSdkdC14bWwtcHJvYyc+WE1MIHByb2Nlc3NvcjwvdGVybXJlZj4gaW4KK2VhY2ggY2FzZS4gIAorVGhlIGxhYmVscyBpbiB0aGUgbGVmdG1vc3QgY29sdW1uIGRlc2NyaWJlIHRoZSByZWNvZ25pdGlvbiBjb250ZXh0OgorPGdsaXN0PgorPGdpdGVtPjxsYWJlbD5SZWZlcmVuY2UgaW4gQ29udGVudDwvbGFiZWw+Cis8ZGVmPjxwPmFzIGEgcmVmZXJlbmNlCithbnl3aGVyZSBhZnRlciB0aGUgPHRlcm1yZWYgZGVmPSdkdC1zdGFnJz5zdGFydC10YWc8L3Rlcm1yZWY+IGFuZAorYmVmb3JlIHRoZSA8dGVybXJlZiBkZWY9J2R0LWV0YWcnPmVuZC10YWc8L3Rlcm1yZWY+IG9mIGFuIGVsZW1lbnQ7IGNvcnJlc3BvbmRzCit0byB0aGUgbm9udGVybWluYWwgPG50IGRlZj0nTlQtY29udGVudCc+Y29udGVudDwvbnQ+LjwvcD48L2RlZj4KKzwvZ2l0ZW0+Cis8Z2l0ZW0+Cis8bGFiZWw+UmVmZXJlbmNlIGluIEF0dHJpYnV0ZSBWYWx1ZTwvbGFiZWw+Cis8ZGVmPjxwPmFzIGEgcmVmZXJlbmNlIHdpdGhpbiBlaXRoZXIgdGhlIHZhbHVlIG9mIGFuIGF0dHJpYnV0ZSBpbiBhIAorPHRlcm1yZWYgZGVmPSdkdC1zdGFnJz5zdGFydC10YWc8L3Rlcm1yZWY+LCBvciBhIGRlZmF1bHQKK3ZhbHVlIGluIGFuIDx0ZXJtcmVmIGRlZj0nZHQtYXR0ZGVjbCc+YXR0cmlidXRlIGRlY2xhcmF0aW9uPC90ZXJtcmVmPjsKK2NvcnJlc3BvbmRzIHRvIHRoZSBub250ZXJtaW5hbAorPG50IGRlZj0nTlQtQXR0VmFsdWUnPkF0dFZhbHVlPC9udD4uPC9wPjwvZGVmPjwvZ2l0ZW0+Cis8Z2l0ZW0+Cis8bGFiZWw+T2NjdXJzIGFzIEF0dHJpYnV0ZSBWYWx1ZTwvbGFiZWw+Cis8ZGVmPjxwPmFzIGEgPG50IGRlZj0nTlQtTmFtZSc+TmFtZTwvbnQ+LCBub3QgYSByZWZlcmVuY2UsIGFwcGVhcmluZyBlaXRoZXIgYXMKK3RoZSB2YWx1ZSBvZiBhbiAKK2F0dHJpYnV0ZSB3aGljaCBoYXMgYmVlbiBkZWNsYXJlZCBhcyB0eXBlIDxrdz5FTlRJVFk8L2t3Piwgb3IgYXMgb25lIG9mCit0aGUgc3BhY2Utc2VwYXJhdGVkIHRva2VucyBpbiB0aGUgdmFsdWUgb2YgYW4gYXR0cmlidXRlIHdoaWNoIGhhcyBiZWVuCitkZWNsYXJlZCBhcyB0eXBlIDxrdz5FTlRJVElFUzwva3c+LjwvcD4KKzwvZGVmPjwvZ2l0ZW0+Cis8Z2l0ZW0+PGxhYmVsPlJlZmVyZW5jZSBpbiBFbnRpdHkgVmFsdWU8L2xhYmVsPgorPGRlZj48cD5hcyBhIHJlZmVyZW5jZQord2l0aGluIGEgcGFyYW1ldGVyIG9yIGludGVybmFsIGVudGl0eSdzIAorPHRlcm1yZWYgZGVmPSdkdC1saXRlbnR2YWwnPmxpdGVyYWwgZW50aXR5IHZhbHVlPC90ZXJtcmVmPiBpbgordGhlIGVudGl0eSdzIGRlY2xhcmF0aW9uOyBjb3JyZXNwb25kcyB0byB0aGUgbm9udGVybWluYWwgCis8bnQgZGVmPSdOVC1FbnRpdHlWYWx1ZSc+RW50aXR5VmFsdWU8L250Pi48L3A+PC9kZWY+PC9naXRlbT4KKzxnaXRlbT48bGFiZWw+UmVmZXJlbmNlIGluIERURDwvbGFiZWw+Cis8ZGVmPjxwPmFzIGEgcmVmZXJlbmNlIHdpdGhpbiBlaXRoZXIgdGhlIGludGVybmFsIG9yIGV4dGVybmFsIHN1YnNldHMgb2YgdGhlIAorPHRlcm1yZWYgZGVmPSdkdC1kb2N0eXBlJz5EVEQ8L3Rlcm1yZWY+LCBidXQgb3V0c2lkZQorb2YgYW4gPG50IGRlZj0nTlQtRW50aXR5VmFsdWUnPkVudGl0eVZhbHVlPC9udD4gb3IKKzxudCBkZWY9Ik5ULUF0dFZhbHVlIj5BdHRWYWx1ZTwvbnQ+LjwvcD48L2RlZj4KKzwvZ2l0ZW0+Cis8L2dsaXN0PjwvcD4KKzxodGFibGUgYm9yZGVyPScxJyBjZWxscGFkZGluZz0nNycgYWxpZ249J2NlbnRlcic+Cis8aHRib2R5PgorPHRyPjx0ZCBiZ2NvbG9yPScmY2VsbGJhY2s7JyByb3dzcGFuPScyJyBjb2xzcGFuPScxJz48L3RkPgorPHRkIGJnY29sb3I9JyZjZWxsYmFjazsnIGFsaWduPSdjZW50ZXInIHZhbGlnbj0nYm90dG9tJyBjb2xzcGFuPSc0Jz5FbnRpdHkgVHlwZTwvdGQ+Cis8dGQgYmdjb2xvcj0nJmNlbGxiYWNrOycgcm93c3Bhbj0nMicgYWxpZ249J2NlbnRlcic+Q2hhcmFjdGVyPC90ZD4KKzwvdHI+Cis8dHIgYWxpZ249J2NlbnRlcicgdmFsaWduPSdib3R0b20nPgorPHRkIGJnY29sb3I9JyZjZWxsYmFjazsnPlBhcmFtZXRlcjwvdGQ+Cis8dGQgYmdjb2xvcj0nJmNlbGxiYWNrOyc+SW50ZXJuYWwKK0dlbmVyYWw8L3RkPgorPHRkIGJnY29sb3I9JyZjZWxsYmFjazsnPkV4dGVybmFsIFBhcnNlZAorR2VuZXJhbDwvdGQ+Cis8dGQgYmdjb2xvcj0nJmNlbGxiYWNrOyc+VW5wYXJzZWQ8L3RkPgorPC90cj4KKzx0ciBhbGlnbj0nY2VudGVyJyB2YWxpZ249J21pZGRsZSc+CisKKzx0ZCBiZ2NvbG9yPScmY2VsbGJhY2s7JyBhbGlnbj0ncmlnaHQnPlJlZmVyZW5jZQoraW4gQ29udGVudDwvdGQ+Cis8dGQgYmdjb2xvcj0nJmNlbGxiYWNrOyc+PHRpdGxlcmVmIGhyZWY9J25vdC1yZWNvZ25pemVkJz5Ob3QgcmVjb2duaXplZDwvdGl0bGVyZWY+PC90ZD4KKzx0ZCBiZ2NvbG9yPScmY2VsbGJhY2s7Jz48dGl0bGVyZWYgaHJlZj0naW5jbHVkZWQnPkluY2x1ZGVkPC90aXRsZXJlZj48L3RkPgorPHRkIGJnY29sb3I9JyZjZWxsYmFjazsnPjx0aXRsZXJlZiBocmVmPSdpbmNsdWRlLWlmLXZhbGlkJz5JbmNsdWRlZCBpZiB2YWxpZGF0aW5nPC90aXRsZXJlZj48L3RkPgorPHRkIGJnY29sb3I9JyZjZWxsYmFjazsnPjx0aXRsZXJlZiBocmVmPSdmb3JiaWRkZW4nPkZvcmJpZGRlbjwvdGl0bGVyZWY+PC90ZD4KKzx0ZCBiZ2NvbG9yPScmY2VsbGJhY2s7Jz48dGl0bGVyZWYgaHJlZj0naW5jbHVkZWQnPkluY2x1ZGVkPC90aXRsZXJlZj48L3RkPgorPC90cj4KKzx0ciBhbGlnbj0nY2VudGVyJyB2YWxpZ249J21pZGRsZSc+Cis8dGQgYmdjb2xvcj0nJmNlbGxiYWNrOycgYWxpZ249J3JpZ2h0Jz5SZWZlcmVuY2UKK2luIEF0dHJpYnV0ZSBWYWx1ZTwvdGQ+Cis8dGQgYmdjb2xvcj0nJmNlbGxiYWNrOyc+PHRpdGxlcmVmIGhyZWY9J25vdC1yZWNvZ25pemVkJz5Ob3QgcmVjb2duaXplZDwvdGl0bGVyZWY+PC90ZD4KKzx0ZCBiZ2NvbG9yPScmY2VsbGJhY2s7Jz48dGl0bGVyZWYgaHJlZj0naW5saXRlcmFsJz5JbmNsdWRlZCBpbiBsaXRlcmFsPC90aXRsZXJlZj48L3RkPgorPHRkIGJnY29sb3I9JyZjZWxsYmFjazsnPjx0aXRsZXJlZiBocmVmPSdmb3JiaWRkZW4nPkZvcmJpZGRlbjwvdGl0bGVyZWY+PC90ZD4KKzx0ZCBiZ2NvbG9yPScmY2VsbGJhY2s7Jz48dGl0bGVyZWYgaHJlZj0nZm9yYmlkZGVuJz5Gb3JiaWRkZW48L3RpdGxlcmVmPjwvdGQ+Cis8dGQgYmdjb2xvcj0nJmNlbGxiYWNrOyc+PHRpdGxlcmVmIGhyZWY9J2luY2x1ZGVkJz5JbmNsdWRlZDwvdGl0bGVyZWY+PC90ZD4KKzwvdHI+Cis8dHIgYWxpZ249J2NlbnRlcicgdmFsaWduPSdtaWRkbGUnPgorPHRkIGJnY29sb3I9JyZjZWxsYmFjazsnIGFsaWduPSdyaWdodCc+T2NjdXJzIGFzCitBdHRyaWJ1dGUgVmFsdWU8L3RkPgorPHRkIGJnY29sb3I9JyZjZWxsYmFjazsnPjx0aXRsZXJlZiBocmVmPSdub3QtcmVjb2duaXplZCc+Tm90IHJlY29nbml6ZWQ8L3RpdGxlcmVmPjwvdGQ+Cis8dGQgYmdjb2xvcj0nJmNlbGxiYWNrOyc+PHRpdGxlcmVmIGhyZWY9J25vdC1yZWNvZ25pemVkJz5Gb3JiaWRkZW48L3RpdGxlcmVmPjwvdGQ+Cis8dGQgYmdjb2xvcj0nJmNlbGxiYWNrOyc+PHRpdGxlcmVmIGhyZWY9J25vdC1yZWNvZ25pemVkJz5Gb3JiaWRkZW48L3RpdGxlcmVmPjwvdGQ+Cis8dGQgYmdjb2xvcj0nJmNlbGxiYWNrOyc+PHRpdGxlcmVmIGhyZWY9J25vdGlmeSc+Tm90aWZ5PC90aXRsZXJlZj48L3RkPgorPHRkIGJnY29sb3I9JyZjZWxsYmFjazsnPjx0aXRsZXJlZiBocmVmPSdub3QgcmVjb2duaXplZCc+Tm90IHJlY29nbml6ZWQ8L3RpdGxlcmVmPjwvdGQ+Cis8L3RyPgorPHRyIGFsaWduPSdjZW50ZXInIHZhbGlnbj0nbWlkZGxlJz4KKzx0ZCBiZ2NvbG9yPScmY2VsbGJhY2s7JyBhbGlnbj0ncmlnaHQnPlJlZmVyZW5jZQoraW4gRW50aXR5VmFsdWU8L3RkPgorPHRkIGJnY29sb3I9JyZjZWxsYmFjazsnPjx0aXRsZXJlZiBocmVmPSdpbmxpdGVyYWwnPkluY2x1ZGVkIGluIGxpdGVyYWw8L3RpdGxlcmVmPjwvdGQ+Cis8dGQgYmdjb2xvcj0nJmNlbGxiYWNrOyc+PHRpdGxlcmVmIGhyZWY9J2J5cGFzcyc+QnlwYXNzZWQ8L3RpdGxlcmVmPjwvdGQ+Cis8dGQgYmdjb2xvcj0nJmNlbGxiYWNrOyc+PHRpdGxlcmVmIGhyZWY9J2J5cGFzcyc+QnlwYXNzZWQ8L3RpdGxlcmVmPjwvdGQ+Cis8dGQgYmdjb2xvcj0nJmNlbGxiYWNrOyc+PHRpdGxlcmVmIGhyZWY9J2ZvcmJpZGRlbic+Rm9yYmlkZGVuPC90aXRsZXJlZj48L3RkPgorPHRkIGJnY29sb3I9JyZjZWxsYmFjazsnPjx0aXRsZXJlZiBocmVmPSdpbmNsdWRlZCc+SW5jbHVkZWQ8L3RpdGxlcmVmPjwvdGQ+Cis8L3RyPgorPHRyIGFsaWduPSdjZW50ZXInIHZhbGlnbj0nbWlkZGxlJz4KKzx0ZCBiZ2NvbG9yPScmY2VsbGJhY2s7JyBhbGlnbj0ncmlnaHQnPlJlZmVyZW5jZQoraW4gRFREPC90ZD4KKzx0ZCBiZ2NvbG9yPScmY2VsbGJhY2s7Jz48dGl0bGVyZWYgaHJlZj0nYXMtUEUnPkluY2x1ZGVkIGFzIFBFPC90aXRsZXJlZj48L3RkPgorPHRkIGJnY29sb3I9JyZjZWxsYmFjazsnPjx0aXRsZXJlZiBocmVmPSdmb3JiaWRkZW4nPkZvcmJpZGRlbjwvdGl0bGVyZWY+PC90ZD4KKzx0ZCBiZ2NvbG9yPScmY2VsbGJhY2s7Jz48dGl0bGVyZWYgaHJlZj0nZm9yYmlkZGVuJz5Gb3JiaWRkZW48L3RpdGxlcmVmPjwvdGQ+Cis8dGQgYmdjb2xvcj0nJmNlbGxiYWNrOyc+PHRpdGxlcmVmIGhyZWY9J2ZvcmJpZGRlbic+Rm9yYmlkZGVuPC90aXRsZXJlZj48L3RkPgorPHRkIGJnY29sb3I9JyZjZWxsYmFjazsnPjx0aXRsZXJlZiBocmVmPSdmb3JiaWRkZW4nPkZvcmJpZGRlbjwvdGl0bGVyZWY+PC90ZD4KKzwvdHI+Cis8L2h0Ym9keT4KKzwvaHRhYmxlPgorPGRpdjMgaWQ9J25vdC1yZWNvZ25pemVkJz4KKzxoZWFkPk5vdCBSZWNvZ25pemVkPC9oZWFkPgorPHA+T3V0c2lkZSB0aGUgRFRELCB0aGUgPGNvZGU+JTwvY29kZT4gY2hhcmFjdGVyIGhhcyBubworc3BlY2lhbCBzaWduaWZpY2FuY2U7IHRodXMsIHdoYXQgd291bGQgYmUgcGFyYW1ldGVyIGVudGl0eSByZWZlcmVuY2VzIGluIHRoZQorRFREIGFyZSBub3QgcmVjb2duaXplZCBhcyBtYXJrdXAgaW4gPG50IGRlZj0nTlQtY29udGVudCc+Y29udGVudDwvbnQ+LgorU2ltaWxhcmx5LCB0aGUgbmFtZXMgb2YgdW5wYXJzZWQgZW50aXRpZXMgYXJlIG5vdCByZWNvZ25pemVkIGV4Y2VwdAord2hlbiB0aGV5IGFwcGVhciBpbiB0aGUgdmFsdWUgb2YgYW4gYXBwcm9wcmlhdGVseSBkZWNsYXJlZCBhdHRyaWJ1dGUuCis8L3A+Cis8L2RpdjM+Cis8ZGl2MyBpZD0naW5jbHVkZWQnPgorPGhlYWQ+SW5jbHVkZWQ8L2hlYWQ+Cis8cD48dGVybWRlZiBpZD0iZHQtaW5jbHVkZSIgdGVybT0iSW5jbHVkZSI+QW4gZW50aXR5IGlzIAorPHRlcm0+aW5jbHVkZWQ8L3Rlcm0+IHdoZW4gaXRzIAorPHRlcm1yZWYgZGVmPSdkdC1yZXBsdGV4dCc+cmVwbGFjZW1lbnQgdGV4dDwvdGVybXJlZj4gaXMgcmV0cmlldmVkIAorYW5kIHByb2Nlc3NlZCwgaW4gcGxhY2Ugb2YgdGhlIHJlZmVyZW5jZSBpdHNlbGYsCithcyB0aG91Z2ggaXQgd2VyZSBwYXJ0IG9mIHRoZSBkb2N1bWVudCBhdCB0aGUgbG9jYXRpb24gdGhlCityZWZlcmVuY2Ugd2FzIHJlY29nbml6ZWQuCitUaGUgcmVwbGFjZW1lbnQgdGV4dCBtYXkgY29udGFpbiBib3RoIAorPHRlcm1yZWYgZGVmPSdkdC1jaGFyZGF0YSc+Y2hhcmFjdGVyIGRhdGE8L3Rlcm1yZWY+CithbmQgKGV4Y2VwdCBmb3IgcGFyYW1ldGVyIGVudGl0aWVzKSA8dGVybXJlZiBkZWY9ImR0LW1hcmt1cCI+bWFya3VwPC90ZXJtcmVmPiwKK3doaWNoIG11c3QgYmUgcmVjb2duaXplZCBpbgordGhlIHVzdWFsIHdheSwgZXhjZXB0IHRoYXQgdGhlIHJlcGxhY2VtZW50IHRleHQgb2YgZW50aXRpZXMgdXNlZCB0byBlc2NhcGUKK21hcmt1cCBkZWxpbWl0ZXJzICh0aGUgZW50aXRpZXMgJm1hZ2ljZW50czspIGlzIGFsd2F5cyB0cmVhdGVkIGFzCitkYXRhLiAgKFRoZSBzdHJpbmcgIjxjb2RlPkFUJmFtcDthbXA7VDs8L2NvZGU+IiBleHBhbmRzIHRvCisiPGNvZGU+QVQmYW1wO1Q7PC9jb2RlPiIgYW5kIHRoZSByZW1haW5pbmcgYW1wZXJzYW5kIGlzIG5vdCByZWNvZ25pemVkCithcyBhbiBlbnRpdHktcmVmZXJlbmNlIGRlbGltaXRlci4pIAorQSBjaGFyYWN0ZXIgcmVmZXJlbmNlIGlzIDx0ZXJtPmluY2x1ZGVkPC90ZXJtPiB3aGVuIHRoZSBpbmRpY2F0ZWQKK2NoYXJhY3RlciBpcyBwcm9jZXNzZWQgaW4gcGxhY2Ugb2YgdGhlIHJlZmVyZW5jZSBpdHNlbGYuCis8L3Rlcm1kZWY+PC9wPgorPC9kaXYzPgorPGRpdjMgaWQ9J2luY2x1ZGUtaWYtdmFsaWQnPgorPGhlYWQ+SW5jbHVkZWQgSWYgVmFsaWRhdGluZzwvaGVhZD4KKzxwPldoZW4gYW4gWE1MIHByb2Nlc3NvciByZWNvZ25pemVzIGEgcmVmZXJlbmNlIHRvIGEgcGFyc2VkIGVudGl0eSwgaW4gb3JkZXIKK3RvIDx0ZXJtcmVmIGRlZj0iZHQtdmFsaWQiPnZhbGlkYXRlPC90ZXJtcmVmPgordGhlIGRvY3VtZW50LCB0aGUgcHJvY2Vzc29yIG11c3QgCis8dGVybXJlZiBkZWY9ImR0LWluY2x1ZGUiPmluY2x1ZGU8L3Rlcm1yZWY+IGl0cworcmVwbGFjZW1lbnQgdGV4dC4KK0lmIHRoZSBlbnRpdHkgaXMgZXh0ZXJuYWwsIGFuZCB0aGUgcHJvY2Vzc29yIGlzIG5vdAorYXR0ZW1wdGluZyB0byB2YWxpZGF0ZSB0aGUgWE1MIGRvY3VtZW50LCB0aGUKK3Byb2Nlc3NvciA8dGVybXJlZiBkZWY9ImR0LW1heSI+bWF5PC90ZXJtcmVmPiwgYnV0IG5lZWQgbm90LCAKK2luY2x1ZGUgdGhlIGVudGl0eSdzIHJlcGxhY2VtZW50IHRleHQuCitJZiBhIG5vbi12YWxpZGF0aW5nIHBhcnNlciBkb2VzIG5vdCBpbmNsdWRlIHRoZSByZXBsYWNlbWVudCB0ZXh0LAoraXQgbXVzdCBpbmZvcm0gdGhlIGFwcGxpY2F0aW9uIHRoYXQgaXQgcmVjb2duaXplZCwgYnV0IGRpZCBub3QKK3JlYWQsIHRoZSBlbnRpdHkuPC9wPgorPHA+VGhpcyBydWxlIGlzIGJhc2VkIG9uIHRoZSByZWNvZ25pdGlvbiB0aGF0IHRoZSBhdXRvbWF0aWMgaW5jbHVzaW9uCitwcm92aWRlZCBieSB0aGUgU0dNTCBhbmQgWE1MIGVudGl0eSBtZWNoYW5pc20sIHByaW1hcmlseSBkZXNpZ25lZAordG8gc3VwcG9ydCBtb2R1bGFyaXR5IGluIGF1dGhvcmluZywgaXMgbm90IG5lY2Vzc2FyaWx5IAorYXBwcm9wcmlhdGUgZm9yIG90aGVyIGFwcGxpY2F0aW9ucywgaW4gcGFydGljdWxhciBkb2N1bWVudCBicm93c2luZy4KK0Jyb3dzZXJzLCBmb3IgZXhhbXBsZSwgd2hlbiBlbmNvdW50ZXJpbmcgYW4gZXh0ZXJuYWwgcGFyc2VkIGVudGl0eSByZWZlcmVuY2UsCittaWdodCBjaG9vc2UgdG8gcHJvdmlkZSBhIHZpc3VhbCBpbmRpY2F0aW9uIG9mIHRoZSBlbnRpdHkncworcHJlc2VuY2UgYW5kIHJldHJpZXZlIGl0IGZvciBkaXNwbGF5IG9ubHkgb24gZGVtYW5kLgorPC9wPgorPC9kaXYzPgorPGRpdjMgaWQ9J2ZvcmJpZGRlbic+Cis8aGVhZD5Gb3JiaWRkZW48L2hlYWQ+Cis8cD5UaGUgZm9sbG93aW5nIGFyZSBmb3JiaWRkZW4sIGFuZCBjb25zdGl0dXRlCis8dGVybXJlZiBkZWY9J2R0LWZhdGFsJz5mYXRhbDwvdGVybXJlZj4gZXJyb3JzOgorPHVsaXN0PgorPGl0ZW0+PHA+dGhlIGFwcGVhcmFuY2Ugb2YgYSByZWZlcmVuY2UgdG8gYW4KKzx0ZXJtcmVmIGRlZj0nZHQtdW5wYXJzZWQnPnVucGFyc2VkIGVudGl0eTwvdGVybXJlZj4uCis8L3A+PC9pdGVtPgorPGl0ZW0+PHA+dGhlIGFwcGVhcmFuY2Ugb2YgYW55IGNoYXJhY3RlciBvciBnZW5lcmFsLWVudGl0eSByZWZlcmVuY2UgaW4gdGhlCitEVEQgZXhjZXB0IHdpdGhpbiBhbiA8bnQgZGVmPSdOVC1FbnRpdHlWYWx1ZSc+RW50aXR5VmFsdWU8L250PiBvciAKKzxudCBkZWY9Ik5ULUF0dFZhbHVlIj5BdHRWYWx1ZTwvbnQ+LjwvcD48L2l0ZW0+Cis8aXRlbT48cD5hIHJlZmVyZW5jZSB0byBhbiBleHRlcm5hbCBlbnRpdHkgaW4gYW4gYXR0cmlidXRlIHZhbHVlLjwvcD4KKzwvaXRlbT4KKzwvdWxpc3Q+Cis8L3A+Cis8L2RpdjM+Cis8ZGl2MyBpZD0naW5saXRlcmFsJz4KKzxoZWFkPkluY2x1ZGVkIGluIExpdGVyYWw8L2hlYWQ+Cis8cD5XaGVuIGFuIDx0ZXJtcmVmIGRlZj0nZHQtZW50cmVmJz5lbnRpdHkgcmVmZXJlbmNlPC90ZXJtcmVmPiBhcHBlYXJzIGluIGFuCithdHRyaWJ1dGUgdmFsdWUsIG9yIGEgcGFyYW1ldGVyIGVudGl0eSByZWZlcmVuY2UgYXBwZWFycyBpbiBhIGxpdGVyYWwgZW50aXR5Cit2YWx1ZSwgaXRzIDx0ZXJtcmVmIGRlZj0nZHQtcmVwbHRleHQnPnJlcGxhY2VtZW50IHRleHQ8L3Rlcm1yZWY+IGlzCitwcm9jZXNzZWQgaW4gcGxhY2Ugb2YgdGhlIHJlZmVyZW5jZSBpdHNlbGYgYXMgdGhvdWdoIGl0Cit3ZXJlIHBhcnQgb2YgdGhlIGRvY3VtZW50IGF0IHRoZSBsb2NhdGlvbiB0aGUgcmVmZXJlbmNlIHdhcyByZWNvZ25pemVkLAorZXhjZXB0IHRoYXQgYSBzaW5nbGUgb3IgZG91YmxlIHF1b3RlIGNoYXJhY3RlciBpbiB0aGUgcmVwbGFjZW1lbnQgdGV4dAoraXMgYWx3YXlzIHRyZWF0ZWQgYXMgYSBub3JtYWwgZGF0YSBjaGFyYWN0ZXIgYW5kIHdpbGwgbm90IHRlcm1pbmF0ZSB0aGUKK2xpdGVyYWwuIAorRm9yIGV4YW1wbGUsIHRoaXMgaXMgd2VsbC1mb3JtZWQ6Cis8ZWc+PCFbQ0RBVEFbPCFFTlRJVFkgJSBZTiAnIlllcyInID4KKzwhRU5USVRZIFdoYXRIZVNhaWQgIkhlIHNhaWQgJllOOyIgPl1dPjwvZWc+Cit3aGlsZSB0aGlzIGlzIG5vdDoKKzxlZz4mbHQ7IUVOVElUWSBFbmRBdHRyICIyNyciID4KKyZsdDtlbGVtZW50IGF0dHJpYnV0ZT0nYS0mYW1wO0VuZEF0dHI7PjwvZWc+Cis8L3A+PC9kaXYzPgorPGRpdjMgaWQ9J25vdGlmeSc+Cis8aGVhZD5Ob3RpZnk8L2hlYWQ+Cis8cD5XaGVuIHRoZSBuYW1lIG9mIGFuIDx0ZXJtcmVmIGRlZj0nZHQtdW5wYXJzZWQnPnVucGFyc2VkCitlbnRpdHk8L3Rlcm1yZWY+IGFwcGVhcnMgYXMgYSB0b2tlbiBpbiB0aGUKK3ZhbHVlIG9mIGFuIGF0dHJpYnV0ZSBvZiBkZWNsYXJlZCB0eXBlIDxrdz5FTlRJVFk8L2t3PiBvciA8a3c+RU5USVRJRVM8L2t3PiwKK2EgdmFsaWRhdGluZyBwcm9jZXNzb3IgbXVzdCBpbmZvcm0gdGhlCithcHBsaWNhdGlvbiBvZiB0aGUgPHRlcm1yZWYgZGVmPSdkdC1zeXNpZCc+c3lzdGVtPC90ZXJtcmVmPiAKK2FuZCA8dGVybXJlZiBkZWY9J2R0LXB1YmlkJz5wdWJsaWM8L3Rlcm1yZWY+IChpZiBhbnkpCitpZGVudGlmaWVycyBmb3IgYm90aCB0aGUgZW50aXR5IGFuZCBpdHMgYXNzb2NpYXRlZAorPHRlcm1yZWYgZGVmPSJkdC1ub3RhdGlvbiI+bm90YXRpb248L3Rlcm1yZWY+LjwvcD4KKzwvZGl2Mz4KKzxkaXYzIGlkPSdieXBhc3MnPgorPGhlYWQ+QnlwYXNzZWQ8L2hlYWQ+Cis8cD5XaGVuIGEgZ2VuZXJhbCBlbnRpdHkgcmVmZXJlbmNlIGFwcGVhcnMgaW4gdGhlCis8bnQgZGVmPSdOVC1FbnRpdHlWYWx1ZSc+RW50aXR5VmFsdWU8L250PiBpbiBhbiBlbnRpdHkgZGVjbGFyYXRpb24sCitpdCBpcyBieXBhc3NlZCBhbmQgbGVmdCBhcyBpcy48L3A+Cis8L2RpdjM+Cis8ZGl2MyBpZD0nYXMtUEUnPgorPGhlYWQ+SW5jbHVkZWQgYXMgUEU8L2hlYWQ+Cis8cD5KdXN0IGFzIHdpdGggZXh0ZXJuYWwgcGFyc2VkIGVudGl0aWVzLCBwYXJhbWV0ZXIgZW50aXRpZXMKK25lZWQgb25seSBiZSA8dGl0bGVyZWYgaHJlZj0naW5jbHVkZS1pZi12YWxpZCc+aW5jbHVkZWQgaWYKK3ZhbGlkYXRpbmc8L3RpdGxlcmVmPi4gCitXaGVuIGEgcGFyYW1ldGVyLWVudGl0eSByZWZlcmVuY2UgaXMgcmVjb2duaXplZCBpbiB0aGUgRFRECithbmQgaW5jbHVkZWQsIGl0cyAKKzx0ZXJtcmVmIGRlZj0nZHQtcmVwbHRleHQnPnJlcGxhY2VtZW50Cit0ZXh0PC90ZXJtcmVmPiBpcyBlbmxhcmdlZCBieSB0aGUgYXR0YWNobWVudCBvZiBvbmUgbGVhZGluZyBhbmQgb25lIGZvbGxvd2luZworc3BhY2UgKCN4MjApIGNoYXJhY3RlcjsgdGhlIGludGVudCBpcyB0byBjb25zdHJhaW4gdGhlIHJlcGxhY2VtZW50Cit0ZXh0IG9mIHBhcmFtZXRlciAKK2VudGl0aWVzIHRvIGNvbnRhaW4gYW4gaW50ZWdyYWwgbnVtYmVyIG9mIGdyYW1tYXRpY2FsIHRva2VucyBpbiB0aGUgRFRELgorPC9wPgorPC9kaXYzPgorCis8L2RpdjI+Cis8ZGl2MiBpZD0naW50ZXJuLXJlcGxhY2VtZW50Jz4KKzxoZWFkPkNvbnN0cnVjdGlvbiBvZiBJbnRlcm5hbCBFbnRpdHkgUmVwbGFjZW1lbnQgVGV4dDwvaGVhZD4KKzxwPkluIGRpc2N1c3NpbmcgdGhlIHRyZWF0bWVudAorb2YgaW50ZXJuYWwgZW50aXRpZXMsIGl0IGlzICAKK3VzZWZ1bCB0byBkaXN0aW5ndWlzaCB0d28gZm9ybXMgb2YgdGhlIGVudGl0eSdzIHZhbHVlLgorPHRlcm1kZWYgaWQ9ImR0LWxpdGVudHZhbCIgdGVybT0nTGl0ZXJhbCBFbnRpdHkgVmFsdWUnPlRoZSA8dGVybT5saXRlcmFsCitlbnRpdHkgdmFsdWU8L3Rlcm0+IGlzIHRoZSBxdW90ZWQgc3RyaW5nIGFjdHVhbGx5CitwcmVzZW50IGluIHRoZSBlbnRpdHkgZGVjbGFyYXRpb24sIGNvcnJlc3BvbmRpbmcgdG8gdGhlCitub24tdGVybWluYWwgPG50IGRlZj0nTlQtRW50aXR5VmFsdWUnPkVudGl0eVZhbHVlPC9udD4uPC90ZXJtZGVmPgorPHRlcm1kZWYgaWQ9J2R0LXJlcGx0ZXh0JyB0ZXJtPSdSZXBsYWNlbWVudCBUZXh0Jz5UaGUgPHRlcm0+cmVwbGFjZW1lbnQKK3RleHQ8L3Rlcm0+IGlzIHRoZSBjb250ZW50IG9mIHRoZSBlbnRpdHksIGFmdGVyCityZXBsYWNlbWVudCBvZiBjaGFyYWN0ZXIgcmVmZXJlbmNlcyBhbmQgcGFyYW1ldGVyLWVudGl0eQorcmVmZXJlbmNlcy4KKzwvdGVybWRlZj48L3A+CisKKzxwPlRoZSBsaXRlcmFsIGVudGl0eSB2YWx1ZSAKK2FzIGdpdmVuIGluIGFuIGludGVybmFsIGVudGl0eSBkZWNsYXJhdGlvbgorKDxudCBkZWY9J05ULUVudGl0eVZhbHVlJz5FbnRpdHlWYWx1ZTwvbnQ+KSBtYXkgY29udGFpbiBjaGFyYWN0ZXIsCitwYXJhbWV0ZXItZW50aXR5LCBhbmQgZ2VuZXJhbC1lbnRpdHkgcmVmZXJlbmNlcy4KK1N1Y2ggcmVmZXJlbmNlcyBtdXN0IGJlIGNvbnRhaW5lZCBlbnRpcmVseSB3aXRoaW4gdGhlCitsaXRlcmFsIGVudGl0eSB2YWx1ZS4KK1RoZSBhY3R1YWwgcmVwbGFjZW1lbnQgdGV4dCB0aGF0IGlzIAorPHRlcm1yZWYgZGVmPSdkdC1pbmNsdWRlJz5pbmNsdWRlZDwvdGVybXJlZj4gYXMgZGVzY3JpYmVkIGFib3ZlCittdXN0IGNvbnRhaW4gdGhlIDxlbXBoPnJlcGxhY2VtZW50IHRleHQ8L2VtcGg+IG9mIGFueSAKK3BhcmFtZXRlciBlbnRpdGllcyByZWZlcnJlZCB0bywgYW5kIG11c3QgY29udGFpbiB0aGUgY2hhcmFjdGVyCityZWZlcnJlZCB0bywgaW4gcGxhY2Ugb2YgYW55IGNoYXJhY3RlciByZWZlcmVuY2VzIGluIHRoZQorbGl0ZXJhbCBlbnRpdHkgdmFsdWU7IGhvd2V2ZXIsCitnZW5lcmFsLWVudGl0eSByZWZlcmVuY2VzIG11c3QgYmUgbGVmdCBhcy1pcywgdW5leHBhbmRlZC4KK0ZvciBleGFtcGxlLCBnaXZlbiB0aGUgZm9sbG93aW5nIGRlY2xhcmF0aW9uczoKKworPGVnPjwhW0NEQVRBWzwhRU5USVRZICUgcHViICAgICImI3hjOTtkaXRpb25zIEdhbGxpbWFyZCIgPgorPCFFTlRJVFkgICByaWdodHMgIkFsbCByaWdodHMgcmVzZXJ2ZWQiID4KKzwhRU5USVRZICAgYm9vayAgICJMYSBQZXN0ZTogQWxiZXJ0IENhbXVzLCAKKyYjeEE5OyAxOTQ3ICVwdWI7LiAmcmlnaHRzOyIgPl1dPjwvZWc+Cit0aGVuIHRoZSByZXBsYWNlbWVudCB0ZXh0IGZvciB0aGUgZW50aXR5ICI8Y29kZT5ib29rPC9jb2RlPiIgaXM6Cis8ZWc+TGEgUGVzdGU6IEFsYmVydCBDYW11cywgCismIzE2OTsgMTk0NyAmIzIwMTtkaXRpb25zIEdhbGxpbWFyZC4gJmFtcDtyaWdodHM7PC9lZz4KK1RoZSBnZW5lcmFsLWVudGl0eSByZWZlcmVuY2UgIjxjb2RlPiZhbXA7cmlnaHRzOzwvY29kZT4iIHdvdWxkIGJlIGV4cGFuZGVkCitzaG91bGQgdGhlIHJlZmVyZW5jZSAiPGNvZGU+JmFtcDtib29rOzwvY29kZT4iIGFwcGVhciBpbiB0aGUgZG9jdW1lbnQncworY29udGVudCBvciBhbiBhdHRyaWJ1dGUgdmFsdWUuPC9wPgorPHA+VGhlc2Ugc2ltcGxlIHJ1bGVzIG1heSBoYXZlIGNvbXBsZXggaW50ZXJhY3Rpb25zOyBmb3IgYSBkZXRhaWxlZAorZGlzY3Vzc2lvbiBvZiBhIGRpZmZpY3VsdCBleGFtcGxlLCBzZWUKKzxzcGVjcmVmIHJlZj0nc2VjLWVudGV4cGFuZCcvPi4KKzwvcD4KKworPC9kaXYyPgorPGRpdjIgaWQ9J3NlYy1wcmVkZWZpbmVkLWVudCc+Cis8aGVhZD5QcmVkZWZpbmVkIEVudGl0aWVzPC9oZWFkPgorPHA+PHRlcm1kZWYgaWQ9ImR0LWVzY2FwZSIgdGVybT0iZXNjYXBlIj5FbnRpdHkgYW5kIGNoYXJhY3RlcgorcmVmZXJlbmNlcyBjYW4gYm90aCBiZSB1c2VkIHRvIDx0ZXJtPmVzY2FwZTwvdGVybT4gdGhlIGxlZnQgYW5nbGUgYnJhY2tldCwKK2FtcGVyc2FuZCwgYW5kIG90aGVyIGRlbGltaXRlcnMuICAgQSBzZXQgb2YgZ2VuZXJhbCBlbnRpdGllcworKCZtYWdpY2VudHM7KSBpcyBzcGVjaWZpZWQgZm9yIHRoaXMgcHVycG9zZS4KK051bWVyaWMgY2hhcmFjdGVyIHJlZmVyZW5jZXMgbWF5IGFsc28gYmUgdXNlZDsgdGhleSBhcmUKK2V4cGFuZGVkIGltbWVkaWF0ZWx5IHdoZW4gcmVjb2duaXplZCBhbmQgbXVzdCBiZSB0cmVhdGVkIGFzCitjaGFyYWN0ZXIgZGF0YSwgc28gdGhlIG51bWVyaWMgY2hhcmFjdGVyIHJlZmVyZW5jZXMKKyI8Y29kZT4mYW1wOyM2MDs8L2NvZGU+IiBhbmQgIjxjb2RlPiZhbXA7IzM4OzwvY29kZT4iIG1heSBiZSB1c2VkIHRvIAorZXNjYXBlIDxjb2RlPiZsdDs8L2NvZGU+IGFuZCA8Y29kZT4mYW1wOzwvY29kZT4gd2hlbiB0aGV5IG9jY3VyCitpbiBjaGFyYWN0ZXIgZGF0YS48L3Rlcm1kZWY+PC9wPgorPHA+QWxsIFhNTCBwcm9jZXNzb3JzIG11c3QgcmVjb2duaXplIHRoZXNlIGVudGl0aWVzIHdoZXRoZXIgdGhleQorYXJlIGRlY2xhcmVkIG9yIG5vdC4gIAorPHRlcm1yZWYgZGVmPSdkdC1pbnRlcm9wJz5Gb3IgaW50ZXJvcGVyYWJpbGl0eTwvdGVybXJlZj4sCit2YWxpZCBYTUwgZG9jdW1lbnRzIHNob3VsZCBkZWNsYXJlIHRoZXNlCitlbnRpdGllcywgbGlrZSBhbnkgb3RoZXJzLCBiZWZvcmUgdXNpbmcgdGhlbS4KK0lmIHRoZSBlbnRpdGllcyBpbiBxdWVzdGlvbiBhcmUgZGVjbGFyZWQsIHRoZXkgbXVzdCBiZSBkZWNsYXJlZAorYXMgaW50ZXJuYWwgZW50aXRpZXMgd2hvc2UgcmVwbGFjZW1lbnQgdGV4dCBpcyB0aGUgc2luZ2xlCitjaGFyYWN0ZXIgYmVpbmcgZXNjYXBlZCBvciBhIGNoYXJhY3RlciByZWZlcmVuY2UgdG8KK3RoYXQgY2hhcmFjdGVyLCBhcyBzaG93biBiZWxvdy4KKzxlZz48IVtDREFUQVs8IUVOVElUWSBsdCAgICAgIiYjMzg7IzYwOyI+IAorPCFFTlRJVFkgZ3QgICAgICImIzYyOyI+IAorPCFFTlRJVFkgYW1wICAgICImIzM4OyMzODsiPiAKKzwhRU5USVRZIGFwb3MgICAiJiMzOTsiPiAKKzwhRU5USVRZIHF1b3QgICAiJiMzNDsiPiAKK11dPjwvZWc+CitOb3RlIHRoYXQgdGhlIDxjb2RlPiZsdDs8L2NvZGU+IGFuZCA8Y29kZT4mYW1wOzwvY29kZT4gY2hhcmFjdGVycworaW4gdGhlIGRlY2xhcmF0aW9ucyBvZiAiPGNvZGU+bHQ8L2NvZGU+IiBhbmQgIjxjb2RlPmFtcDwvY29kZT4iCithcmUgZG91Ymx5IGVzY2FwZWQgdG8gbWVldCB0aGUgcmVxdWlyZW1lbnQgdGhhdCBlbnRpdHkgcmVwbGFjZW1lbnQKK2JlIHdlbGwtZm9ybWVkLgorPC9wPgorPC9kaXYyPgorCis8ZGl2MiBpZD0nTm90YXRpb25zJz4KKzxoZWFkPk5vdGF0aW9uIERlY2xhcmF0aW9uczwvaGVhZD4KKyAKKzxwPjx0ZXJtZGVmIGlkPSJkdC1ub3RhdGlvbiIgdGVybT0iTm90YXRpb24iPjx0ZXJtPk5vdGF0aW9uczwvdGVybT4gaWRlbnRpZnkgYnkKK25hbWUgdGhlIGZvcm1hdCBvZiA8dGVybXJlZiBkZWY9ImR0LWV4dGVudCI+dW5wYXJzZWQKK2VudGl0aWVzPC90ZXJtcmVmPiwgdGhlCitmb3JtYXQgb2YgZWxlbWVudHMgd2hpY2ggYmVhciBhIG5vdGF0aW9uIGF0dHJpYnV0ZSwgCitvciB0aGUgYXBwbGljYXRpb24gdG8gd2hpY2ggIAorYSA8dGVybXJlZiBkZWY9ImR0LXBpIj5wcm9jZXNzaW5nIGluc3RydWN0aW9uPC90ZXJtcmVmPiBpcworYWRkcmVzc2VkLjwvdGVybWRlZj48L3A+Cis8cD48dGVybWRlZiBpZD0iZHQtbm90ZGVjbCIgdGVybT0iTm90YXRpb24gRGVjbGFyYXRpb24iPgorPHRlcm0+Tm90YXRpb24gZGVjbGFyYXRpb25zPC90ZXJtPgorcHJvdmlkZSBhIG5hbWUgZm9yIHRoZSBub3RhdGlvbiwgZm9yIHVzZSBpbgorZW50aXR5IGFuZCBhdHRyaWJ1dGUtbGlzdCBkZWNsYXJhdGlvbnMgYW5kIGluIGF0dHJpYnV0ZSBzcGVjaWZpY2F0aW9ucywKK2FuZCBhbiBleHRlcm5hbCBpZGVudGlmaWVyIGZvciB0aGUgbm90YXRpb24gd2hpY2ggbWF5IGFsbG93IGFuIFhNTAorcHJvY2Vzc29yIG9yIGl0cyBjbGllbnQgYXBwbGljYXRpb24gdG8gbG9jYXRlIGEgaGVscGVyIGFwcGxpY2F0aW9uCitjYXBhYmxlIG9mIHByb2Nlc3NpbmcgZGF0YSBpbiB0aGUgZ2l2ZW4gbm90YXRpb24uCis8c2NyYXAgbGFuZz0nZWJuZic+Cis8aGVhZD5Ob3RhdGlvbiBEZWNsYXJhdGlvbnM8L2hlYWQ+Cis8cHJvZCBpZD0nTlQtTm90YXRpb25EZWNsJz48bGhzPk5vdGF0aW9uRGVjbDwvbGhzPgorPHJocz4nJmx0OyFOT1RBVElPTicgPG50IGRlZj0nTlQtUyc+UzwvbnQ+IDxudCBkZWY9J05ULU5hbWUnPk5hbWU8L250PiAKKzxudCBkZWY9J05ULVMnPlM8L250PiAKKyg8bnQgZGVmPSdOVC1FeHRlcm5hbElEJz5FeHRlcm5hbElEPC9udD4gfCAKKzxudCBkZWY9J05ULVB1YmxpY0lEJz5QdWJsaWNJRDwvbnQ+KQorPG50IGRlZj0nTlQtUyc+UzwvbnQ+PyAnPic8L3Jocz48L3Byb2Q+Cis8cHJvZCBpZD0nTlQtUHVibGljSUQnPjxsaHM+UHVibGljSUQ8L2xocz4KKzxyaHM+J1BVQkxJQycgPG50IGRlZj0nTlQtUyc+UzwvbnQ+IAorPG50IGRlZj0nTlQtUHViaWRMaXRlcmFsJz5QdWJpZExpdGVyYWw8L250PiAKKzwvcmhzPjwvcHJvZD4KKzwvc2NyYXA+Cis8L3Rlcm1kZWY+PC9wPgorPHA+WE1MIHByb2Nlc3NvcnMgbXVzdCBwcm92aWRlIGFwcGxpY2F0aW9ucyB3aXRoIHRoZSBuYW1lIGFuZCBleHRlcm5hbAoraWRlbnRpZmllcihzKSBvZiBhbnkgbm90YXRpb24gZGVjbGFyZWQgYW5kIHJlZmVycmVkIHRvIGluIGFuIGF0dHJpYnV0ZQordmFsdWUsIGF0dHJpYnV0ZSBkZWZpbml0aW9uLCBvciBlbnRpdHkgZGVjbGFyYXRpb24uICBUaGV5IG1heQorYWRkaXRpb25hbGx5IHJlc29sdmUgdGhlIGV4dGVybmFsIGlkZW50aWZpZXIgaW50byB0aGUKKzx0ZXJtcmVmIGRlZj0iZHQtc3lzaWQiPnN5c3RlbSBpZGVudGlmaWVyPC90ZXJtcmVmPiwKK2ZpbGUgbmFtZSwgb3Igb3RoZXIgaW5mb3JtYXRpb24gbmVlZGVkIHRvIGFsbG93IHRoZQorYXBwbGljYXRpb24gdG8gY2FsbCBhIHByb2Nlc3NvciBmb3IgZGF0YSBpbiB0aGUgbm90YXRpb24gZGVzY3JpYmVkLiAgKEl0CitpcyBub3QgYW4gZXJyb3IsIGhvd2V2ZXIsIGZvciBYTUwgZG9jdW1lbnRzIHRvIGRlY2xhcmUgYW5kIHJlZmVyIHRvCitub3RhdGlvbnMgZm9yIHdoaWNoIG5vdGF0aW9uLXNwZWNpZmljIGFwcGxpY2F0aW9ucyBhcmUgbm90IGF2YWlsYWJsZSBvbgordGhlIHN5c3RlbSB3aGVyZSB0aGUgWE1MIHByb2Nlc3NvciBvciBhcHBsaWNhdGlvbiBpcyBydW5uaW5nLik8L3A+Cis8L2RpdjI+CisKKyAKKzxkaXYyIGlkPSdzZWMtZG9jLWVudGl0eSc+Cis8aGVhZD5Eb2N1bWVudCBFbnRpdHk8L2hlYWQ+CisgCis8cD48dGVybWRlZiBpZD0iZHQtZG9jZW50IiB0ZXJtPSJEb2N1bWVudCBFbnRpdHkiPlRoZSA8dGVybT5kb2N1bWVudAorZW50aXR5PC90ZXJtPiBzZXJ2ZXMgYXMgdGhlIHJvb3Qgb2YgdGhlIGVudGl0eQordHJlZSBhbmQgYSBzdGFydGluZy1wb2ludCBmb3IgYW4gPHRlcm1yZWYgZGVmPSJkdC14bWwtcHJvYyI+WE1MCitwcm9jZXNzb3I8L3Rlcm1yZWY+LjwvdGVybWRlZj4KK1RoaXMgc3BlY2lmaWNhdGlvbiBkb2VzCitub3Qgc3BlY2lmeSBob3cgdGhlIGRvY3VtZW50IGVudGl0eSBpcyB0byBiZSBsb2NhdGVkIGJ5IGFuIFhNTAorcHJvY2Vzc29yOyB1bmxpa2Ugb3RoZXIgZW50aXRpZXMsIHRoZSBkb2N1bWVudCBlbnRpdHkgaGFzIG5vIG5hbWUgYW5kIG1pZ2h0Cit3ZWxsIGFwcGVhciBvbiBhIHByb2Nlc3NvciBpbnB1dCBzdHJlYW0gCit3aXRob3V0IGFueSBpZGVudGlmaWNhdGlvbiBhdCBhbGwuPC9wPgorPC9kaXYyPgorCisKKzwvZGl2MT4KKzwhLS0gJkNvbmZvcm1hbmNlOyAtLT4KKyAKKzxkaXYxIGlkPSdzZWMtY29uZm9ybWFuY2UnPgorPGhlYWQ+Q29uZm9ybWFuY2U8L2hlYWQ+CisgCis8ZGl2MiBpZD0ncHJvYy10eXBlcyc+Cis8aGVhZD5WYWxpZGF0aW5nIGFuZCBOb24tVmFsaWRhdGluZyBQcm9jZXNzb3JzPC9oZWFkPgorPHA+Q29uZm9ybWluZyA8dGVybXJlZiBkZWY9ImR0LXhtbC1wcm9jIj5YTUwgcHJvY2Vzc29yczwvdGVybXJlZj4gZmFsbCBpbnRvIHR3bworY2xhc3NlczogdmFsaWRhdGluZyBhbmQgbm9uLXZhbGlkYXRpbmcuPC9wPgorPHA+VmFsaWRhdGluZyBhbmQgbm9uLXZhbGlkYXRpbmcgcHJvY2Vzc29ycyBhbGlrZSBtdXN0IHJlcG9ydAordmlvbGF0aW9ucyBvZiB0aGlzIHNwZWNpZmljYXRpb24ncyB3ZWxsLWZvcm1lZG5lc3MgY29uc3RyYWludHMKK2luIHRoZSBjb250ZW50IG9mIHRoZQorPHRlcm1yZWYgZGVmPSdkdC1kb2NlbnQnPmRvY3VtZW50IGVudGl0eTwvdGVybXJlZj4gYW5kIGFueSAKK290aGVyIDx0ZXJtcmVmIGRlZj0nZHQtcGFyc2VkZW50Jz5wYXJzZWQgZW50aXRpZXM8L3Rlcm1yZWY+IHRoYXQgCit0aGV5IHJlYWQuPC9wPgorPHA+PHRlcm1kZWYgaWQ9ImR0LXZhbGlkYXRpbmciIHRlcm09IlZhbGlkYXRpbmcgUHJvY2Vzc29yIj4KKzx0ZXJtPlZhbGlkYXRpbmcgcHJvY2Vzc29yczwvdGVybT4gbXVzdCByZXBvcnQKK3Zpb2xhdGlvbnMgb2YgdGhlIGNvbnN0cmFpbnRzIGV4cHJlc3NlZCBieSB0aGUgZGVjbGFyYXRpb25zIGluIHRoZQorPHRlcm1yZWYgZGVmPSJkdC1kb2N0eXBlIj5EVEQ8L3Rlcm1yZWY+LCBhbmQKK2ZhaWx1cmVzIHRvIGZ1bGZpbGwgdGhlIHZhbGlkaXR5IGNvbnN0cmFpbnRzIGdpdmVuCitpbiB0aGlzIHNwZWNpZmljYXRpb24uCis8L3Rlcm1kZWY+CitUbyBhY2NvbXBsaXNoIHRoaXMsIHZhbGlkYXRpbmcgWE1MIHByb2Nlc3NvcnMgbXVzdCByZWFkIGFuZCBwcm9jZXNzIHRoZSBlbnRpcmUKK0RURCBhbmQgYWxsIGV4dGVybmFsIHBhcnNlZCBlbnRpdGllcyByZWZlcmVuY2VkIGluIHRoZSBkb2N1bWVudC4KKzwvcD4KKzxwPk5vbi12YWxpZGF0aW5nIHByb2Nlc3NvcnMgYXJlIHJlcXVpcmVkIHRvIGNoZWNrIG9ubHkgdGhlIAorPHRlcm1yZWYgZGVmPSdkdC1kb2NlbnQnPmRvY3VtZW50IGVudGl0eTwvdGVybXJlZj4sIGluY2x1ZGluZwordGhlIGVudGlyZSBpbnRlcm5hbCBEVEQgc3Vic2V0LCBmb3Igd2VsbC1mb3JtZWRuZXNzLgorPHRlcm1kZWYgaWQ9J2R0LXVzZS1tZGVjbCcgdGVybT0nUHJvY2VzcyBEZWNsYXJhdGlvbnMnPgorV2hpbGUgdGhleSBhcmUgbm90IHJlcXVpcmVkIHRvIGNoZWNrIHRoZSBkb2N1bWVudCBmb3IgdmFsaWRpdHksCit0aGV5IGFyZSByZXF1aXJlZCB0byAKKzx0ZXJtPnByb2Nlc3M8L3Rlcm0+IGFsbCB0aGUgZGVjbGFyYXRpb25zIHRoZXkgcmVhZCBpbiB0aGUKK2ludGVybmFsIERURCBzdWJzZXQgYW5kIGluIGFueSBwYXJhbWV0ZXIgZW50aXR5IHRoYXQgdGhleQorcmVhZCwgdXAgdG8gdGhlIGZpcnN0IHJlZmVyZW5jZQordG8gYSBwYXJhbWV0ZXIgZW50aXR5IHRoYXQgdGhleSBkbyA8ZW1waD5ub3Q8L2VtcGg+IHJlYWQ7IHRoYXQgaXMgdG8gCitzYXksIHRoZXkgbXVzdAordXNlIHRoZSBpbmZvcm1hdGlvbiBpbiB0aG9zZSBkZWNsYXJhdGlvbnMgdG8KKzx0aXRsZXJlZiBocmVmPSdBVk5vcm1hbGl6ZSc+bm9ybWFsaXplPC90aXRsZXJlZj4gYXR0cmlidXRlIHZhbHVlcywKKzx0aXRsZXJlZiBocmVmPSdpbmNsdWRlZCc+aW5jbHVkZTwvdGl0bGVyZWY+IHRoZSByZXBsYWNlbWVudCB0ZXh0IG9mIAoraW50ZXJuYWwgZW50aXRpZXMsIGFuZCBzdXBwbHkgCis8dGl0bGVyZWYgaHJlZj0nc2VjLWF0dHItZGVmYXVsdHMnPmRlZmF1bHQgYXR0cmlidXRlIHZhbHVlczwvdGl0bGVyZWY+LgorPC90ZXJtZGVmPgorVGhleSBtdXN0IG5vdCA8dGVybXJlZiBkZWY9J2R0LXVzZS1tZGVjbCc+cHJvY2VzczwvdGVybXJlZj4KKzx0ZXJtcmVmIGRlZj0nZHQtZW50ZGVjbCc+ZW50aXR5IGRlY2xhcmF0aW9uczwvdGVybXJlZj4gb3IgCis8dGVybXJlZiBkZWY9J2R0LWF0dGRlY2wnPmF0dHJpYnV0ZS1saXN0IGRlY2xhcmF0aW9uczwvdGVybXJlZj4gCitlbmNvdW50ZXJlZCBhZnRlciBhIHJlZmVyZW5jZSB0byBhIHBhcmFtZXRlciBlbnRpdHkgdGhhdCBpcyBub3QKK3JlYWQsIHNpbmNlIHRoZSBlbnRpdHkgbWF5IGhhdmUgY29udGFpbmVkIG92ZXJyaWRpbmcgZGVjbGFyYXRpb25zLgorPC9wPgorPC9kaXYyPgorPGRpdjIgaWQ9J3NhZmUtYmVoYXZpb3InPgorPGhlYWQ+VXNpbmcgWE1MIFByb2Nlc3NvcnM8L2hlYWQ+Cis8cD5UaGUgYmVoYXZpb3Igb2YgYSB2YWxpZGF0aW5nIFhNTCBwcm9jZXNzb3IgaXMgaGlnaGx5IHByZWRpY3RhYmxlOyBpdAorbXVzdCByZWFkIGV2ZXJ5IHBpZWNlIG9mIGEgZG9jdW1lbnQgYW5kIHJlcG9ydCBhbGwgd2VsbC1mb3JtZWRuZXNzIGFuZAordmFsaWRpdHkgdmlvbGF0aW9ucy4KK0xlc3MgaXMgcmVxdWlyZWQgb2YgYSBub24tdmFsaWRhdGluZyBwcm9jZXNzb3I7IGl0IG5lZWQgbm90IHJlYWQgYW55CitwYXJ0IG9mIHRoZSBkb2N1bWVudCBvdGhlciB0aGFuIHRoZSBkb2N1bWVudCBlbnRpdHkuCitUaGlzIGhhcyB0d28gZWZmZWN0cyB0aGF0IG1heSBiZSBpbXBvcnRhbnQgdG8gdXNlcnMgb2YgWE1MIHByb2Nlc3NvcnM6Cis8dWxpc3Q+Cis8aXRlbT48cD5DZXJ0YWluIHdlbGwtZm9ybWVkbmVzcyBlcnJvcnMsIHNwZWNpZmljYWxseSB0aG9zZSB0aGF0IHJlcXVpcmUKK3JlYWRpbmcgZXh0ZXJuYWwgZW50aXRpZXMsIG1heSBub3QgYmUgZGV0ZWN0ZWQgYnkgYSBub24tdmFsaWRhdGluZyBwcm9jZXNzb3IuCitFeGFtcGxlcyBpbmNsdWRlIHRoZSBjb25zdHJhaW50cyBlbnRpdGxlZCAKKzx0aXRsZXJlZiBocmVmPSd3Zi1lbnRkZWNsYXJlZCc+RW50aXR5IERlY2xhcmVkPC90aXRsZXJlZj4sIAorPHRpdGxlcmVmIGhyZWY9J3dmLXRleHRlbnQnPlBhcnNlZCBFbnRpdHk8L3RpdGxlcmVmPiwgYW5kCis8dGl0bGVyZWYgaHJlZj0nd2Ytbm9yZWN1cnNpb24nPk5vIFJlY3Vyc2lvbjwvdGl0bGVyZWY+LCBhcyB3ZWxsCithcyBzb21lIG9mIHRoZSBjYXNlcyBkZXNjcmliZWQgYXMKKzx0aXRsZXJlZiBocmVmPSdmb3JiaWRkZW4nPmZvcmJpZGRlbjwvdGl0bGVyZWY+IGluIAorPHNwZWNyZWYgcmVmPSdlbnRwcm9jJy8+LjwvcD48L2l0ZW0+Cis8aXRlbT48cD5UaGUgaW5mb3JtYXRpb24gcGFzc2VkIGZyb20gdGhlIHByb2Nlc3NvciB0byB0aGUgYXBwbGljYXRpb24gbWF5Cit2YXJ5LCBkZXBlbmRpbmcgb24gd2hldGhlciB0aGUgcHJvY2Vzc29yIHJlYWRzCitwYXJhbWV0ZXIgYW5kIGV4dGVybmFsIGVudGl0aWVzLgorRm9yIGV4YW1wbGUsIGEgbm9uLXZhbGlkYXRpbmcgcHJvY2Vzc29yIG1heSBub3QgCis8dGl0bGVyZWYgaHJlZj0nQVZOb3JtYWxpemUnPm5vcm1hbGl6ZTwvdGl0bGVyZWY+IGF0dHJpYnV0ZSB2YWx1ZXMsCis8dGl0bGVyZWYgaHJlZj0naW5jbHVkZWQnPmluY2x1ZGU8L3RpdGxlcmVmPiB0aGUgcmVwbGFjZW1lbnQgdGV4dCBvZiAKK2ludGVybmFsIGVudGl0aWVzLCBvciBzdXBwbHkgCis8dGl0bGVyZWYgaHJlZj0nc2VjLWF0dHItZGVmYXVsdHMnPmRlZmF1bHQgYXR0cmlidXRlIHZhbHVlczwvdGl0bGVyZWY+LAord2hlcmUgZG9pbmcgc28gZGVwZW5kcyBvbiBoYXZpbmcgcmVhZCBkZWNsYXJhdGlvbnMgaW4gCitleHRlcm5hbCBvciBwYXJhbWV0ZXIgZW50aXRpZXMuPC9wPjwvaXRlbT4KKzwvdWxpc3Q+Cis8L3A+Cis8cD5Gb3IgbWF4aW11bSByZWxpYWJpbGl0eSBpbiBpbnRlcm9wZXJhdGluZyBiZXR3ZWVuIGRpZmZlcmVudCBYTUwKK3Byb2Nlc3NvcnMsIGFwcGxpY2F0aW9ucyB3aGljaCB1c2Ugbm9uLXZhbGlkYXRpbmcgcHJvY2Vzc29ycyBzaG91bGQgbm90IAorcmVseSBvbiBhbnkgYmVoYXZpb3JzIG5vdCByZXF1aXJlZCBvZiBzdWNoIHByb2Nlc3NvcnMuCitBcHBsaWNhdGlvbnMgd2hpY2ggcmVxdWlyZSBmYWNpbGl0aWVzIHN1Y2ggYXMgdGhlIHVzZSBvZiBkZWZhdWx0CithdHRyaWJ1dGVzIG9yIGludGVybmFsIGVudGl0aWVzIHdoaWNoIGFyZSBkZWNsYXJlZCBpbiBleHRlcm5hbAorZW50aXRpZXMgc2hvdWxkIHVzZSB2YWxpZGF0aW5nIFhNTCBwcm9jZXNzb3JzLjwvcD4KKzwvZGl2Mj4KKzwvZGl2MT4KKworPGRpdjEgaWQ9J3NlYy1ub3RhdGlvbic+Cis8aGVhZD5Ob3RhdGlvbjwvaGVhZD4KKyAKKzxwPlRoZSBmb3JtYWwgZ3JhbW1hciBvZiBYTUwgaXMgZ2l2ZW4gaW4gdGhpcyBzcGVjaWZpY2F0aW9uIHVzaW5nIGEgc2ltcGxlCitFeHRlbmRlZCBCYWNrdXMtTmF1ciBGb3JtIChFQk5GKSBub3RhdGlvbi4gIEVhY2ggcnVsZSBpbiB0aGUgZ3JhbW1hciBkZWZpbmVzCitvbmUgc3ltYm9sLCBpbiB0aGUgZm9ybQorPGVnPnN5bWJvbCA6Oj0gZXhwcmVzc2lvbjwvZWc+PC9wPgorPHA+U3ltYm9scyBhcmUgd3JpdHRlbiB3aXRoIGFuIGluaXRpYWwgY2FwaXRhbCBsZXR0ZXIgaWYgdGhleSBhcmUKK2RlZmluZWQgYnkgYSByZWd1bGFyIGV4cHJlc3Npb24sIG9yIHdpdGggYW4gaW5pdGlhbCBsb3dlciBjYXNlIGxldHRlciAKK290aGVyd2lzZS4KK0xpdGVyYWwgc3RyaW5ncyBhcmUgcXVvdGVkLgorCis8L3A+CisKKzxwPldpdGhpbiB0aGUgZXhwcmVzc2lvbiBvbiB0aGUgcmlnaHQtaGFuZCBzaWRlIG9mIGEgcnVsZSwgdGhlIGZvbGxvd2luZworZXhwcmVzc2lvbnMgYXJlIHVzZWQgdG8gbWF0Y2ggc3RyaW5ncyBvZiBvbmUgb3IgbW9yZSBjaGFyYWN0ZXJzOgorPGdsaXN0PgorPGdpdGVtPgorPGxhYmVsPjxjb2RlPiN4TjwvY29kZT48L2xhYmVsPgorPGRlZj48cD53aGVyZSA8Y29kZT5OPC9jb2RlPiBpcyBhIGhleGFkZWNpbWFsIGludGVnZXIsIHRoZQorZXhwcmVzc2lvbiBtYXRjaGVzIHRoZSBjaGFyYWN0ZXIgaW4gSVNPL0lFQyAxMDY0NiB3aG9zZSBjYW5vbmljYWwKKyhVQ1MtNCkgCitjb2RlIHZhbHVlLCB3aGVuIGludGVycHJldGVkIGFzIGFuIHVuc2lnbmVkIGJpbmFyeSBudW1iZXIsIGhhcwordGhlIHZhbHVlIGluZGljYXRlZC4gIFRoZSBudW1iZXIgb2YgbGVhZGluZyB6ZXJvcyBpbiB0aGUKKzxjb2RlPiN4TjwvY29kZT4gZm9ybSBpcyBpbnNpZ25pZmljYW50OyB0aGUgbnVtYmVyIG9mIGxlYWRpbmcKK3plcm9zIGluIHRoZSBjb3JyZXNwb25kaW5nIGNvZGUgdmFsdWUgCitpcyBnb3Zlcm5lZCBieSB0aGUgY2hhcmFjdGVyCitlbmNvZGluZyBpbiB1c2UgYW5kIGlzIG5vdCBzaWduaWZpY2FudCBmb3IgWE1MLjwvcD48L2RlZj4KKzwvZ2l0ZW0+Cis8Z2l0ZW0+Cis8bGFiZWw+PGNvZGU+W2EtekEtWl08L2NvZGU+LCA8Y29kZT5bI3hOLSN4Tl08L2NvZGU+PC9sYWJlbD4KKzxkZWY+PHA+bWF0Y2hlcyBhbnkgPHRlcm1yZWYgZGVmPSdkdC1jaGFyYWN0ZXInPmNoYXJhY3RlcjwvdGVybXJlZj4gCit3aXRoIGEgdmFsdWUgaW4gdGhlIHJhbmdlKHMpIGluZGljYXRlZCAoaW5jbHVzaXZlKS48L3A+PC9kZWY+Cis8L2dpdGVtPgorPGdpdGVtPgorPGxhYmVsPjxjb2RlPlteYS16XTwvY29kZT4sIDxjb2RlPlteI3hOLSN4Tl08L2NvZGU+PC9sYWJlbD4KKzxkZWY+PHA+bWF0Y2hlcyBhbnkgPHRlcm1yZWYgZGVmPSdkdC1jaGFyYWN0ZXInPmNoYXJhY3RlcjwvdGVybXJlZj4gCit3aXRoIGEgdmFsdWUgPGVtcGg+b3V0c2lkZTwvZW1waD4gdGhlCityYW5nZSBpbmRpY2F0ZWQuPC9wPjwvZGVmPgorPC9naXRlbT4KKzxnaXRlbT4KKzxsYWJlbD48Y29kZT5bXmFiY108L2NvZGU+LCA8Y29kZT5bXiN4TiN4TiN4Tl08L2NvZGU+PC9sYWJlbD4KKzxkZWY+PHA+bWF0Y2hlcyBhbnkgPHRlcm1yZWYgZGVmPSdkdC1jaGFyYWN0ZXInPmNoYXJhY3RlcjwvdGVybXJlZj4KK3dpdGggYSB2YWx1ZSBub3QgYW1vbmcgdGhlIGNoYXJhY3RlcnMgZ2l2ZW4uPC9wPjwvZGVmPgorPC9naXRlbT4KKzxnaXRlbT4KKzxsYWJlbD48Y29kZT4ic3RyaW5nIjwvY29kZT48L2xhYmVsPgorPGRlZj48cD5tYXRjaGVzIGEgbGl0ZXJhbCBzdHJpbmcgPHRlcm1yZWYgZGVmPSJkdC1tYXRjaCI+bWF0Y2hpbmc8L3Rlcm1yZWY+Cit0aGF0IGdpdmVuIGluc2lkZSB0aGUgZG91YmxlIHF1b3Rlcy48L3A+PC9kZWY+Cis8L2dpdGVtPgorPGdpdGVtPgorPGxhYmVsPjxjb2RlPidzdHJpbmcnPC9jb2RlPjwvbGFiZWw+Cis8ZGVmPjxwPm1hdGNoZXMgYSBsaXRlcmFsIHN0cmluZyA8dGVybXJlZiBkZWY9ImR0LW1hdGNoIj5tYXRjaGluZzwvdGVybXJlZj4KK3RoYXQgZ2l2ZW4gaW5zaWRlIHRoZSBzaW5nbGUgcXVvdGVzLjwvcD48L2RlZj4KKzwvZ2l0ZW0+Cis8L2dsaXN0PgorVGhlc2Ugc3ltYm9scyBtYXkgYmUgY29tYmluZWQgdG8gbWF0Y2ggbW9yZSBjb21wbGV4IHBhdHRlcm5zIGFzIGZvbGxvd3MsCit3aGVyZSA8Y29kZT5BPC9jb2RlPiBhbmQgPGNvZGU+QjwvY29kZT4gcmVwcmVzZW50IHNpbXBsZSBleHByZXNzaW9uczoKKzxnbGlzdD4KKzxnaXRlbT4KKzxsYWJlbD4oPGNvZGU+ZXhwcmVzc2lvbjwvY29kZT4pPC9sYWJlbD4KKzxkZWY+PHA+PGNvZGU+ZXhwcmVzc2lvbjwvY29kZT4gaXMgdHJlYXRlZCBhcyBhIHVuaXQgCithbmQgbWF5IGJlIGNvbWJpbmVkIGFzIGRlc2NyaWJlZCBpbiB0aGlzIGxpc3QuPC9wPjwvZGVmPgorPC9naXRlbT4KKzxnaXRlbT4KKzxsYWJlbD48Y29kZT5BPzwvY29kZT48L2xhYmVsPgorPGRlZj48cD5tYXRjaGVzIDxjb2RlPkE8L2NvZGU+IG9yIG5vdGhpbmc7IG9wdGlvbmFsIDxjb2RlPkE8L2NvZGU+LjwvcD48L2RlZj4KKzwvZ2l0ZW0+Cis8Z2l0ZW0+Cis8bGFiZWw+PGNvZGU+QSBCPC9jb2RlPjwvbGFiZWw+Cis8ZGVmPjxwPm1hdGNoZXMgPGNvZGU+QTwvY29kZT4gZm9sbG93ZWQgYnkgPGNvZGU+QjwvY29kZT4uPC9wPjwvZGVmPgorPC9naXRlbT4KKzxnaXRlbT4KKzxsYWJlbD48Y29kZT5BIHwgQjwvY29kZT48L2xhYmVsPgorPGRlZj48cD5tYXRjaGVzIDxjb2RlPkE8L2NvZGU+IG9yIDxjb2RlPkI8L2NvZGU+IGJ1dCBub3QgYm90aC48L3A+PC9kZWY+Cis8L2dpdGVtPgorPGdpdGVtPgorPGxhYmVsPjxjb2RlPkEgLSBCPC9jb2RlPjwvbGFiZWw+Cis8ZGVmPjxwPm1hdGNoZXMgYW55IHN0cmluZyB0aGF0IG1hdGNoZXMgPGNvZGU+QTwvY29kZT4gYnV0IGRvZXMgbm90IG1hdGNoCis8Y29kZT5CPC9jb2RlPi4KKzwvcD48L2RlZj4KKzwvZ2l0ZW0+Cis8Z2l0ZW0+Cis8bGFiZWw+PGNvZGU+QSs8L2NvZGU+PC9sYWJlbD4KKzxkZWY+PHA+bWF0Y2hlcyBvbmUgb3IgbW9yZSBvY2N1cnJlbmNlcyBvZiA8Y29kZT5BPC9jb2RlPi48L3A+PC9kZWY+Cis8L2dpdGVtPgorPGdpdGVtPgorPGxhYmVsPjxjb2RlPkEqPC9jb2RlPjwvbGFiZWw+Cis8ZGVmPjxwPm1hdGNoZXMgemVybyBvciBtb3JlIG9jY3VycmVuY2VzIG9mIDxjb2RlPkE8L2NvZGU+LjwvcD48L2RlZj4KKzwvZ2l0ZW0+CisKKzwvZ2xpc3Q+CitPdGhlciBub3RhdGlvbnMgdXNlZCBpbiB0aGUgcHJvZHVjdGlvbnMgYXJlOgorPGdsaXN0PgorPGdpdGVtPgorPGxhYmVsPjxjb2RlPi8qIC4uLiAqLzwvY29kZT48L2xhYmVsPgorPGRlZj48cD5jb21tZW50LjwvcD48L2RlZj4KKzwvZ2l0ZW0+Cis8Z2l0ZW0+Cis8bGFiZWw+PGNvZGU+WyB3ZmM6IC4uLiBdPC9jb2RlPjwvbGFiZWw+Cis8ZGVmPjxwPndlbGwtZm9ybWVkbmVzcyBjb25zdHJhaW50OyB0aGlzIGlkZW50aWZpZXMgYnkgbmFtZSBhIAorY29uc3RyYWludCBvbiAKKzx0ZXJtcmVmIGRlZj0iZHQtd2VsbGZvcm1lZCI+d2VsbC1mb3JtZWQ8L3Rlcm1yZWY+IGRvY3VtZW50cworYXNzb2NpYXRlZCB3aXRoIGEgcHJvZHVjdGlvbi48L3A+PC9kZWY+Cis8L2dpdGVtPgorPGdpdGVtPgorPGxhYmVsPjxjb2RlPlsgdmM6IC4uLiBdPC9jb2RlPjwvbGFiZWw+Cis8ZGVmPjxwPnZhbGlkaXR5IGNvbnN0cmFpbnQ7IHRoaXMgaWRlbnRpZmllcyBieSBuYW1lIGEgY29uc3RyYWludCBvbgorPHRlcm1yZWYgZGVmPSJkdC12YWxpZCI+dmFsaWQ8L3Rlcm1yZWY+IGRvY3VtZW50cyBhc3NvY2lhdGVkIHdpdGgKK2EgcHJvZHVjdGlvbi48L3A+PC9kZWY+Cis8L2dpdGVtPgorPC9nbGlzdD4KKzwvcD48L2RpdjE+CisKKzwvYm9keT4KKzxiYWNrPgorPCEtLSAmU0dNTDsgLS0+CisgCisKKzwhLS0gJkJpYmxpbzsgLS0+Cis8ZGl2MSBpZD0nc2VjLWJpYmxpb2dyYXBoeSc+CisKKzxoZWFkPlJlZmVyZW5jZXM8L2hlYWQ+Cis8ZGl2MiBpZD0nc2VjLWV4aXN0aW5nLXN0ZHMnPgorPGhlYWQ+Tm9ybWF0aXZlIFJlZmVyZW5jZXM8L2hlYWQ+CisKKzxibGlzdD4KKzxiaWJsIGlkPSdJQU5BJyBrZXk9J0lBTkEnPgorKEludGVybmV0IEFzc2lnbmVkIE51bWJlcnMgQXV0aG9yaXR5KSA8ZW1waD5PZmZpY2lhbCBOYW1lcyBmb3IgCitDaGFyYWN0ZXIgU2V0czwvZW1waD4sCitlZC4gS2VsZCBTaW1vbnNlbiBldCBhbC4KK1NlZSA8bG9jIGhyZWY9J2Z0cDovL2Z0cC5pc2kuZWR1L2luLW5vdGVzL2lhbmEvYXNzaWdubWVudHMvY2hhcmFjdGVyLXNldHMnPmZ0cDovL2Z0cC5pc2kuZWR1L2luLW5vdGVzL2lhbmEvYXNzaWdubWVudHMvY2hhcmFjdGVyLXNldHM8L2xvYz4uCis8L2JpYmw+CisKKzxiaWJsIGlkPSdSRkMxNzY2JyBrZXk9J0lFVEYgUkZDIDE3NjYnPgorSUVURiAoSW50ZXJuZXQgRW5naW5lZXJpbmcgVGFzayBGb3JjZSkuCis8ZW1waD5SRkMgMTc2NjogIFRhZ3MgZm9yIHRoZSBJZGVudGlmaWNhdGlvbiBvZiBMYW5ndWFnZXM8L2VtcGg+LAorZWQuIEguIEFsdmVzdHJhbmQuCisxOTk1LgorPC9iaWJsPgorCis8YmlibCBpZD0nSVNPNjM5JyBrZXk9J0lTTyA2MzknPgorKEludGVybmF0aW9uYWwgT3JnYW5pemF0aW9uIGZvciBTdGFuZGFyZGl6YXRpb24pLgorPGVtcGg+SVNPIDYzOToxOTg4IChFKS4KK0NvZGUgZm9yIHRoZSByZXByZXNlbnRhdGlvbiBvZiBuYW1lcyBvZiBsYW5ndWFnZXMuPC9lbXBoPgorW0dlbmV2YV06ICBJbnRlcm5hdGlvbmFsIE9yZ2FuaXphdGlvbiBmb3IKK1N0YW5kYXJkaXphdGlvbiwgMTk4OC48L2JpYmw+CisKKzxiaWJsIGlkPSdJU08zMTY2JyBrZXk9J0lTTyAzMTY2Jz4KKyhJbnRlcm5hdGlvbmFsIE9yZ2FuaXphdGlvbiBmb3IgU3RhbmRhcmRpemF0aW9uKS4KKzxlbXBoPklTTyAzMTY2LTE6MTk5NyAoRSkuCitDb2RlcyBmb3IgdGhlIHJlcHJlc2VudGF0aW9uIG9mIG5hbWVzIG9mIGNvdW50cmllcyBhbmQgdGhlaXIgc3ViZGl2aXNpb25zIAorJm1kYXNoOyBQYXJ0IDE6IENvdW50cnkgY29kZXM8L2VtcGg+CitbR2VuZXZhXTogIEludGVybmF0aW9uYWwgT3JnYW5pemF0aW9uIGZvcgorU3RhbmRhcmRpemF0aW9uLCAxOTk3LjwvYmlibD4KKworPGJpYmwgaWQ9J0lTTzEwNjQ2JyBrZXk9J0lTTy9JRUMgMTA2NDYnPklTTworKEludGVybmF0aW9uYWwgT3JnYW5pemF0aW9uIGZvciBTdGFuZGFyZGl6YXRpb24pLgorPGVtcGg+SVNPL0lFQyAxMDY0Ni0xOTkzIChFKS4gIEluZm9ybWF0aW9uIHRlY2hub2xvZ3kgJm1kYXNoOyBVbml2ZXJzYWwKK011bHRpcGxlLU9jdGV0IENvZGVkIENoYXJhY3RlciBTZXQgKFVDUykgJm1kYXNoOyBQYXJ0IDE6CitBcmNoaXRlY3R1cmUgYW5kIEJhc2ljIE11bHRpbGluZ3VhbCBQbGFuZS48L2VtcGg+CitbR2VuZXZhXTogIEludGVybmF0aW9uYWwgT3JnYW5pemF0aW9uIGZvcgorU3RhbmRhcmRpemF0aW9uLCAxOTkzIChwbHVzIGFtZW5kbWVudHMgQU0gMSB0aHJvdWdoIEFNIDcpLgorPC9iaWJsPgorCis8YmlibCBpZD0nVW5pY29kZScga2V5PSdVbmljb2RlJz5UaGUgVW5pY29kZSBDb25zb3J0aXVtLgorPGVtcGg+VGhlIFVuaWNvZGUgU3RhbmRhcmQsIFZlcnNpb24gMi4wLjwvZW1waD4KK1JlYWRpbmcsIE1hc3MuOiAgQWRkaXNvbi1XZXNsZXkgRGV2ZWxvcGVycyBQcmVzcywgMTk5Ni48L2JpYmw+CisKKzwvYmxpc3Q+CisKKzwvZGl2Mj4KKworPGRpdjI+PGhlYWQ+T3RoZXIgUmVmZXJlbmNlczwvaGVhZD4gCisKKzxibGlzdD4KKworPGJpYmwgaWQ9J0Fobycga2V5PSdBaG8vVWxsbWFuJz5BaG8sIEFsZnJlZCBWLiwgCitSYXZpIFNldGhpLCBhbmQgSmVmZnJleSBELiBVbGxtYW4uCis8ZW1waD5Db21waWxlcnM6ICBQcmluY2lwbGVzLCBUZWNobmlxdWVzLCBhbmQgVG9vbHM8L2VtcGg+LgorUmVhZGluZzogIEFkZGlzb24tV2VzbGV5LCAxOTg2LCBycHQuIGNvcnIuIDE5ODguPC9iaWJsPgorCis8YmlibCBpZD0iQmVybmVycy1MZWUiIHhtbC1saW5rPSJzaW1wbGUiIGtleT0iQmVybmVycy1MZWUgZXQgYWwuIj4KK0Jlcm5lcnMtTGVlLCBULiwgUi4gRmllbGRpbmcsIGFuZCBMLiBNYXNpbnRlci4KKzxlbXBoPlVuaWZvcm0gUmVzb3VyY2UgSWRlbnRpZmllcnMgKFVSSSk6ICBHZW5lcmljIFN5bnRheCBhbmQKK1NlbWFudGljczwvZW1waD4uCisxOTk3LgorKFdvcmsgaW4gcHJvZ3Jlc3M7IHNlZSB1cGRhdGVzIHRvIFJGQzE3MzguKTwvYmlibD4KKworPGJpYmwgaWQ9J0FCSycga2V5PSdCcvxnZ2VtYW5uLUtsZWluJz5CcvxnZ2VtYW5uLUtsZWluLCBBbm5lLgorPGVtcGg+UmVndWxhciBFeHByZXNzaW9ucyBpbnRvIEZpbml0ZSBBdXRvbWF0YTwvZW1waD4uCitFeHRlbmRlZCBhYnN0cmFjdCBpbiBJLiBTaW1vbiwgSHJzZy4sIExBVElOIDE5OTIsIAorUy4gOTctOTguIFNwcmluZ2VyLVZlcmxhZywgQmVybGluIDE5OTIuIAorRnVsbCBWZXJzaW9uIGluIFRoZW9yZXRpY2FsIENvbXB1dGVyIFNjaWVuY2UgMTIwOiAxOTctMjEzLCAxOTkzLgorCis8L2JpYmw+CisKKzxiaWJsIGlkPSdBQktEVycga2V5PSdCcvxnZ2VtYW5uLUtsZWluIGFuZCBXb29kJz5CcvxnZ2VtYW5uLUtsZWluLCBBbm5lLAorYW5kIERlcmljayBXb29kLgorPGVtcGg+RGV0ZXJtaW5pc3RpYyBSZWd1bGFyIExhbmd1YWdlczwvZW1waD4uCitVbml2ZXJzaXTkdCBGcmVpYnVyZywgSW5zdGl0dXQgZvxyIEluZm9ybWF0aWssCitCZXJpY2h0IDM4LCBPa3RvYmVyIDE5OTEuCis8L2JpYmw+CisKKzxiaWJsIGlkPSdDbGFyaycga2V5PSdDbGFyayc+SmFtZXMgQ2xhcmsuCitDb21wYXJpc29uIG9mIFNHTUwgYW5kIFhNTC4gU2VlCis8bG9jIGhyZWY9J2h0dHA6Ly93d3cudzMub3JnL1RSL05PVEUtc2dtbC14bWwtOTcxMjE1Jz5odHRwOi8vd3d3LnczLm9yZy9UUi9OT1RFLXNnbWwteG1sLTk3MTIxNTwvbG9jPi4KKzwvYmlibD4KKzxiaWJsIGlkPSJSRkMxNzM4IiB4bWwtbGluaz0ic2ltcGxlIiBrZXk9IklFVEYgUkZDMTczOCI+CitJRVRGIChJbnRlcm5ldCBFbmdpbmVlcmluZyBUYXNrIEZvcmNlKS4KKzxlbXBoPlJGQyAxNzM4OiAgVW5pZm9ybSBSZXNvdXJjZSBMb2NhdG9ycyAoVVJMKTwvZW1waD4sIAorZWQuIFQuIEJlcm5lcnMtTGVlLCBMLiBNYXNpbnRlciwgTS4gTWNDYWhpbGwuCisxOTk0LgorPC9iaWJsPgorCis8YmlibCBpZD0iUkZDMTgwOCIgeG1sLWxpbms9InNpbXBsZSIga2V5PSJJRVRGIFJGQzE4MDgiPgorSUVURiAoSW50ZXJuZXQgRW5naW5lZXJpbmcgVGFzayBGb3JjZSkuCis8ZW1waD5SRkMgMTgwODogIFJlbGF0aXZlIFVuaWZvcm0gUmVzb3VyY2UgTG9jYXRvcnM8L2VtcGg+LCAKK2VkLiBSLiBGaWVsZGluZy4KKzE5OTUuCis8L2JpYmw+CisKKzxiaWJsIGlkPSJSRkMyMTQxIiB4bWwtbGluaz0ic2ltcGxlIiBrZXk9IklFVEYgUkZDMjE0MSI+CitJRVRGIChJbnRlcm5ldCBFbmdpbmVlcmluZyBUYXNrIEZvcmNlKS4KKzxlbXBoPlJGQyAyMTQxOiAgVVJOIFN5bnRheDwvZW1waD4sIAorZWQuIFIuIE1vYXRzLgorMTk5Ny4KKzwvYmlibD4KKworPGJpYmwgaWQ9J0lTTzg4NzknIGtleT0nSVNPIDg4NzknPklTTworKEludGVybmF0aW9uYWwgT3JnYW5pemF0aW9uIGZvciBTdGFuZGFyZGl6YXRpb24pLgorPGVtcGg+SVNPIDg4Nzk6MTk4NihFKS4gIEluZm9ybWF0aW9uIHByb2Nlc3NpbmcgJm1kYXNoOyBUZXh0IGFuZCBPZmZpY2UKK1N5c3RlbXMgJm1kYXNoOyBTdGFuZGFyZCBHZW5lcmFsaXplZCBNYXJrdXAgTGFuZ3VhZ2UgKFNHTUwpLjwvZW1waD4gIEZpcnN0CitlZGl0aW9uICZtZGFzaDsgMTk4Ni0xMC0xNS4gIFtHZW5ldmFdOiAgSW50ZXJuYXRpb25hbCBPcmdhbml6YXRpb24gZm9yCitTdGFuZGFyZGl6YXRpb24sIDE5ODYuCis8L2JpYmw+CisKKworPGJpYmwgaWQ9J0lTTzEwNzQ0JyBrZXk9J0lTTy9JRUMgMTA3NDQnPklTTworKEludGVybmF0aW9uYWwgT3JnYW5pemF0aW9uIGZvciBTdGFuZGFyZGl6YXRpb24pLgorPGVtcGg+SVNPL0lFQyAxMDc0NC0xOTkyIChFKS4gIEluZm9ybWF0aW9uIHRlY2hub2xvZ3kgJm1kYXNoOworSHlwZXJtZWRpYS9UaW1lLWJhc2VkIFN0cnVjdHVyaW5nIExhbmd1YWdlIChIeVRpbWUpLgorPC9lbXBoPgorW0dlbmV2YV06ICBJbnRlcm5hdGlvbmFsIE9yZ2FuaXphdGlvbiBmb3IKK1N0YW5kYXJkaXphdGlvbiwgMTk5Mi4KKzxlbXBoPkV4dGVuZGVkIEZhY2lsaXRpZXMgQW5uZXhlLjwvZW1waD4KK1tHZW5ldmFdOiAgSW50ZXJuYXRpb25hbCBPcmdhbml6YXRpb24gZm9yCitTdGFuZGFyZGl6YXRpb24sIDE5OTYuIAorPC9iaWJsPgorCisKKworPC9ibGlzdD4KKzwvZGl2Mj4KKzwvZGl2MT4KKzxkaXYxIGlkPSdDaGFyQ2xhc3Nlcyc+Cis8aGVhZD5DaGFyYWN0ZXIgQ2xhc3NlczwvaGVhZD4KKzxwPkZvbGxvd2luZyB0aGUgY2hhcmFjdGVyaXN0aWNzIGRlZmluZWQgaW4gdGhlIFVuaWNvZGUgc3RhbmRhcmQsCitjaGFyYWN0ZXJzIGFyZSBjbGFzc2VkIGFzIGJhc2UgY2hhcmFjdGVycyAoYW1vbmcgb3RoZXJzLCB0aGVzZQorY29udGFpbiB0aGUgYWxwaGFiZXRpYyBjaGFyYWN0ZXJzIG9mIHRoZSBMYXRpbiBhbHBoYWJldCwgd2l0aG91dAorZGlhY3JpdGljcyksIGlkZW9ncmFwaGljIGNoYXJhY3RlcnMsIGFuZCBjb21iaW5pbmcgY2hhcmFjdGVycyAoYW1vbmcKK290aGVycywgdGhpcyBjbGFzcyBjb250YWlucyBtb3N0IGRpYWNyaXRpY3MpOyB0aGVzZSBjbGFzc2VzIGNvbWJpbmUKK3RvIGZvcm0gdGhlIGNsYXNzIG9mIGxldHRlcnMuICBEaWdpdHMgYW5kIGV4dGVuZGVycyBhcmUKK2Fsc28gZGlzdGluZ3Vpc2hlZC4KKzxzY3JhcCBsYW5nPSJlYm5mIiBpZD0iQ0hBUkFDVEVSUyI+Cis8aGVhZD5DaGFyYWN0ZXJzPC9oZWFkPgorPHByb2Rncm91cCBwY3czPSIzIiBwY3c0PSIxNSI+Cis8cHJvZCBpZD0iTlQtTGV0dGVyIj48bGhzPkxldHRlcjwvbGhzPgorPHJocz48bnQgZGVmPSJOVC1CYXNlQ2hhciI+QmFzZUNoYXI8L250PiAKK3wgPG50IGRlZj0iTlQtSWRlb2dyYXBoaWMiPklkZW9ncmFwaGljPC9udD48L3Jocz4gPC9wcm9kPgorPHByb2QgaWQ9J05ULUJhc2VDaGFyJz48bGhzPkJhc2VDaGFyPC9saHM+Cis8cmhzPlsjeDAwNDEtI3gwMDVBXQorfCZuYnNwO1sjeDAwNjEtI3gwMDdBXQorfCZuYnNwO1sjeDAwQzAtI3gwMEQ2XQorfCZuYnNwO1sjeDAwRDgtI3gwMEY2XQorfCZuYnNwO1sjeDAwRjgtI3gwMEZGXQorfCZuYnNwO1sjeDAxMDAtI3gwMTMxXQorfCZuYnNwO1sjeDAxMzQtI3gwMTNFXQorfCZuYnNwO1sjeDAxNDEtI3gwMTQ4XQorfCZuYnNwO1sjeDAxNEEtI3gwMTdFXQorfCZuYnNwO1sjeDAxODAtI3gwMUMzXQorfCZuYnNwO1sjeDAxQ0QtI3gwMUYwXQorfCZuYnNwO1sjeDAxRjQtI3gwMUY1XQorfCZuYnNwO1sjeDAxRkEtI3gwMjE3XQorfCZuYnNwO1sjeDAyNTAtI3gwMkE4XQorfCZuYnNwO1sjeDAyQkItI3gwMkMxXQorfCZuYnNwOyN4MDM4NgorfCZuYnNwO1sjeDAzODgtI3gwMzhBXQorfCZuYnNwOyN4MDM4QworfCZuYnNwO1sjeDAzOEUtI3gwM0ExXQorfCZuYnNwO1sjeDAzQTMtI3gwM0NFXQorfCZuYnNwO1sjeDAzRDAtI3gwM0Q2XQorfCZuYnNwOyN4MDNEQQorfCZuYnNwOyN4MDNEQworfCZuYnNwOyN4MDNERQorfCZuYnNwOyN4MDNFMAorfCZuYnNwO1sjeDAzRTItI3gwM0YzXQorfCZuYnNwO1sjeDA0MDEtI3gwNDBDXQorfCZuYnNwO1sjeDA0MEUtI3gwNDRGXQorfCZuYnNwO1sjeDA0NTEtI3gwNDVDXQorfCZuYnNwO1sjeDA0NUUtI3gwNDgxXQorfCZuYnNwO1sjeDA0OTAtI3gwNEM0XQorfCZuYnNwO1sjeDA0QzctI3gwNEM4XQorfCZuYnNwO1sjeDA0Q0ItI3gwNENDXQorfCZuYnNwO1sjeDA0RDAtI3gwNEVCXQorfCZuYnNwO1sjeDA0RUUtI3gwNEY1XQorfCZuYnNwO1sjeDA0RjgtI3gwNEY5XQorfCZuYnNwO1sjeDA1MzEtI3gwNTU2XQorfCZuYnNwOyN4MDU1OQorfCZuYnNwO1sjeDA1NjEtI3gwNTg2XQorfCZuYnNwO1sjeDA1RDAtI3gwNUVBXQorfCZuYnNwO1sjeDA1RjAtI3gwNUYyXQorfCZuYnNwO1sjeDA2MjEtI3gwNjNBXQorfCZuYnNwO1sjeDA2NDEtI3gwNjRBXQorfCZuYnNwO1sjeDA2NzEtI3gwNkI3XQorfCZuYnNwO1sjeDA2QkEtI3gwNkJFXQorfCZuYnNwO1sjeDA2QzAtI3gwNkNFXQorfCZuYnNwO1sjeDA2RDAtI3gwNkQzXQorfCZuYnNwOyN4MDZENQorfCZuYnNwO1sjeDA2RTUtI3gwNkU2XQorfCZuYnNwO1sjeDA5MDUtI3gwOTM5XQorfCZuYnNwOyN4MDkzRAorfCZuYnNwO1sjeDA5NTgtI3gwOTYxXQorfCZuYnNwO1sjeDA5ODUtI3gwOThDXQorfCZuYnNwO1sjeDA5OEYtI3gwOTkwXQorfCZuYnNwO1sjeDA5OTMtI3gwOUE4XQorfCZuYnNwO1sjeDA5QUEtI3gwOUIwXQorfCZuYnNwOyN4MDlCMgorfCZuYnNwO1sjeDA5QjYtI3gwOUI5XQorfCZuYnNwO1sjeDA5REMtI3gwOUREXQorfCZuYnNwO1sjeDA5REYtI3gwOUUxXQorfCZuYnNwO1sjeDA5RjAtI3gwOUYxXQorfCZuYnNwO1sjeDBBMDUtI3gwQTBBXQorfCZuYnNwO1sjeDBBMEYtI3gwQTEwXQorfCZuYnNwO1sjeDBBMTMtI3gwQTI4XQorfCZuYnNwO1sjeDBBMkEtI3gwQTMwXQorfCZuYnNwO1sjeDBBMzItI3gwQTMzXQorfCZuYnNwO1sjeDBBMzUtI3gwQTM2XQorfCZuYnNwO1sjeDBBMzgtI3gwQTM5XQorfCZuYnNwO1sjeDBBNTktI3gwQTVDXQorfCZuYnNwOyN4MEE1RQorfCZuYnNwO1sjeDBBNzItI3gwQTc0XQorfCZuYnNwO1sjeDBBODUtI3gwQThCXQorfCZuYnNwOyN4MEE4RAorfCZuYnNwO1sjeDBBOEYtI3gwQTkxXQorfCZuYnNwO1sjeDBBOTMtI3gwQUE4XQorfCZuYnNwO1sjeDBBQUEtI3gwQUIwXQorfCZuYnNwO1sjeDBBQjItI3gwQUIzXQorfCZuYnNwO1sjeDBBQjUtI3gwQUI5XQorfCZuYnNwOyN4MEFCRAorfCZuYnNwOyN4MEFFMAorfCZuYnNwO1sjeDBCMDUtI3gwQjBDXQorfCZuYnNwO1sjeDBCMEYtI3gwQjEwXQorfCZuYnNwO1sjeDBCMTMtI3gwQjI4XQorfCZuYnNwO1sjeDBCMkEtI3gwQjMwXQorfCZuYnNwO1sjeDBCMzItI3gwQjMzXQorfCZuYnNwO1sjeDBCMzYtI3gwQjM5XQorfCZuYnNwOyN4MEIzRAorfCZuYnNwO1sjeDBCNUMtI3gwQjVEXQorfCZuYnNwO1sjeDBCNUYtI3gwQjYxXQorfCZuYnNwO1sjeDBCODUtI3gwQjhBXQorfCZuYnNwO1sjeDBCOEUtI3gwQjkwXQorfCZuYnNwO1sjeDBCOTItI3gwQjk1XQorfCZuYnNwO1sjeDBCOTktI3gwQjlBXQorfCZuYnNwOyN4MEI5QworfCZuYnNwO1sjeDBCOUUtI3gwQjlGXQorfCZuYnNwO1sjeDBCQTMtI3gwQkE0XQorfCZuYnNwO1sjeDBCQTgtI3gwQkFBXQorfCZuYnNwO1sjeDBCQUUtI3gwQkI1XQorfCZuYnNwO1sjeDBCQjctI3gwQkI5XQorfCZuYnNwO1sjeDBDMDUtI3gwQzBDXQorfCZuYnNwO1sjeDBDMEUtI3gwQzEwXQorfCZuYnNwO1sjeDBDMTItI3gwQzI4XQorfCZuYnNwO1sjeDBDMkEtI3gwQzMzXQorfCZuYnNwO1sjeDBDMzUtI3gwQzM5XQorfCZuYnNwO1sjeDBDNjAtI3gwQzYxXQorfCZuYnNwO1sjeDBDODUtI3gwQzhDXQorfCZuYnNwO1sjeDBDOEUtI3gwQzkwXQorfCZuYnNwO1sjeDBDOTItI3gwQ0E4XQorfCZuYnNwO1sjeDBDQUEtI3gwQ0IzXQorfCZuYnNwO1sjeDBDQjUtI3gwQ0I5XQorfCZuYnNwOyN4MENERQorfCZuYnNwO1sjeDBDRTAtI3gwQ0UxXQorfCZuYnNwO1sjeDBEMDUtI3gwRDBDXQorfCZuYnNwO1sjeDBEMEUtI3gwRDEwXQorfCZuYnNwO1sjeDBEMTItI3gwRDI4XQorfCZuYnNwO1sjeDBEMkEtI3gwRDM5XQorfCZuYnNwO1sjeDBENjAtI3gwRDYxXQorfCZuYnNwO1sjeDBFMDEtI3gwRTJFXQorfCZuYnNwOyN4MEUzMAorfCZuYnNwO1sjeDBFMzItI3gwRTMzXQorfCZuYnNwO1sjeDBFNDAtI3gwRTQ1XQorfCZuYnNwO1sjeDBFODEtI3gwRTgyXQorfCZuYnNwOyN4MEU4NAorfCZuYnNwO1sjeDBFODctI3gwRTg4XQorfCZuYnNwOyN4MEU4QQorfCZuYnNwOyN4MEU4RAorfCZuYnNwO1sjeDBFOTQtI3gwRTk3XQorfCZuYnNwO1sjeDBFOTktI3gwRTlGXQorfCZuYnNwO1sjeDBFQTEtI3gwRUEzXQorfCZuYnNwOyN4MEVBNQorfCZuYnNwOyN4MEVBNworfCZuYnNwO1sjeDBFQUEtI3gwRUFCXQorfCZuYnNwO1sjeDBFQUQtI3gwRUFFXQorfCZuYnNwOyN4MEVCMAorfCZuYnNwO1sjeDBFQjItI3gwRUIzXQorfCZuYnNwOyN4MEVCRAorfCZuYnNwO1sjeDBFQzAtI3gwRUM0XQorfCZuYnNwO1sjeDBGNDAtI3gwRjQ3XQorfCZuYnNwO1sjeDBGNDktI3gwRjY5XQorfCZuYnNwO1sjeDEwQTAtI3gxMEM1XQorfCZuYnNwO1sjeDEwRDAtI3gxMEY2XQorfCZuYnNwOyN4MTEwMAorfCZuYnNwO1sjeDExMDItI3gxMTAzXQorfCZuYnNwO1sjeDExMDUtI3gxMTA3XQorfCZuYnNwOyN4MTEwOQorfCZuYnNwO1sjeDExMEItI3gxMTBDXQorfCZuYnNwO1sjeDExMEUtI3gxMTEyXQorfCZuYnNwOyN4MTEzQworfCZuYnNwOyN4MTEzRQorfCZuYnNwOyN4MTE0MAorfCZuYnNwOyN4MTE0QworfCZuYnNwOyN4MTE0RQorfCZuYnNwOyN4MTE1MAorfCZuYnNwO1sjeDExNTQtI3gxMTU1XQorfCZuYnNwOyN4MTE1OQorfCZuYnNwO1sjeDExNUYtI3gxMTYxXQorfCZuYnNwOyN4MTE2MworfCZuYnNwOyN4MTE2NQorfCZuYnNwOyN4MTE2NworfCZuYnNwOyN4MTE2OQorfCZuYnNwO1sjeDExNkQtI3gxMTZFXQorfCZuYnNwO1sjeDExNzItI3gxMTczXQorfCZuYnNwOyN4MTE3NQorfCZuYnNwOyN4MTE5RQorfCZuYnNwOyN4MTFBOAorfCZuYnNwOyN4MTFBQgorfCZuYnNwO1sjeDExQUUtI3gxMUFGXQorfCZuYnNwO1sjeDExQjctI3gxMUI4XQorfCZuYnNwOyN4MTFCQQorfCZuYnNwO1sjeDExQkMtI3gxMUMyXQorfCZuYnNwOyN4MTFFQgorfCZuYnNwOyN4MTFGMAorfCZuYnNwOyN4MTFGOQorfCZuYnNwO1sjeDFFMDAtI3gxRTlCXQorfCZuYnNwO1sjeDFFQTAtI3gxRUY5XQorfCZuYnNwO1sjeDFGMDAtI3gxRjE1XQorfCZuYnNwO1sjeDFGMTgtI3gxRjFEXQorfCZuYnNwO1sjeDFGMjAtI3gxRjQ1XQorfCZuYnNwO1sjeDFGNDgtI3gxRjREXQorfCZuYnNwO1sjeDFGNTAtI3gxRjU3XQorfCZuYnNwOyN4MUY1OQorfCZuYnNwOyN4MUY1QgorfCZuYnNwOyN4MUY1RAorfCZuYnNwO1sjeDFGNUYtI3gxRjdEXQorfCZuYnNwO1sjeDFGODAtI3gxRkI0XQorfCZuYnNwO1sjeDFGQjYtI3gxRkJDXQorfCZuYnNwOyN4MUZCRQorfCZuYnNwO1sjeDFGQzItI3gxRkM0XQorfCZuYnNwO1sjeDFGQzYtI3gxRkNDXQorfCZuYnNwO1sjeDFGRDAtI3gxRkQzXQorfCZuYnNwO1sjeDFGRDYtI3gxRkRCXQorfCZuYnNwO1sjeDFGRTAtI3gxRkVDXQorfCZuYnNwO1sjeDFGRjItI3gxRkY0XQorfCZuYnNwO1sjeDFGRjYtI3gxRkZDXQorfCZuYnNwOyN4MjEyNgorfCZuYnNwO1sjeDIxMkEtI3gyMTJCXQorfCZuYnNwOyN4MjEyRQorfCZuYnNwO1sjeDIxODAtI3gyMTgyXQorfCZuYnNwO1sjeDMwNDEtI3gzMDk0XQorfCZuYnNwO1sjeDMwQTEtI3gzMEZBXQorfCZuYnNwO1sjeDMxMDUtI3gzMTJDXQorfCZuYnNwO1sjeEFDMDAtI3hEN0EzXQorPC9yaHM+PC9wcm9kPgorPHByb2QgaWQ9J05ULUlkZW9ncmFwaGljJz48bGhzPklkZW9ncmFwaGljPC9saHM+Cis8cmhzPlsjeDRFMDAtI3g5RkE1XQorfCZuYnNwOyN4MzAwNworfCZuYnNwO1sjeDMwMjEtI3gzMDI5XQorPC9yaHM+PC9wcm9kPgorPHByb2QgaWQ9J05ULUNvbWJpbmluZ0NoYXInPjxsaHM+Q29tYmluaW5nQ2hhcjwvbGhzPgorPHJocz5bI3gwMzAwLSN4MDM0NV0KK3wmbmJzcDtbI3gwMzYwLSN4MDM2MV0KK3wmbmJzcDtbI3gwNDgzLSN4MDQ4Nl0KK3wmbmJzcDtbI3gwNTkxLSN4MDVBMV0KK3wmbmJzcDtbI3gwNUEzLSN4MDVCOV0KK3wmbmJzcDtbI3gwNUJCLSN4MDVCRF0KK3wmbmJzcDsjeDA1QkYKK3wmbmJzcDtbI3gwNUMxLSN4MDVDMl0KK3wmbmJzcDsjeDA1QzQKK3wmbmJzcDtbI3gwNjRCLSN4MDY1Ml0KK3wmbmJzcDsjeDA2NzAKK3wmbmJzcDtbI3gwNkQ2LSN4MDZEQ10KK3wmbmJzcDtbI3gwNkRELSN4MDZERl0KK3wmbmJzcDtbI3gwNkUwLSN4MDZFNF0KK3wmbmJzcDtbI3gwNkU3LSN4MDZFOF0KK3wmbmJzcDtbI3gwNkVBLSN4MDZFRF0KK3wmbmJzcDtbI3gwOTAxLSN4MDkwM10KK3wmbmJzcDsjeDA5M0MKK3wmbmJzcDtbI3gwOTNFLSN4MDk0Q10KK3wmbmJzcDsjeDA5NEQKK3wmbmJzcDtbI3gwOTUxLSN4MDk1NF0KK3wmbmJzcDtbI3gwOTYyLSN4MDk2M10KK3wmbmJzcDtbI3gwOTgxLSN4MDk4M10KK3wmbmJzcDsjeDA5QkMKK3wmbmJzcDsjeDA5QkUKK3wmbmJzcDsjeDA5QkYKK3wmbmJzcDtbI3gwOUMwLSN4MDlDNF0KK3wmbmJzcDtbI3gwOUM3LSN4MDlDOF0KK3wmbmJzcDtbI3gwOUNCLSN4MDlDRF0KK3wmbmJzcDsjeDA5RDcKK3wmbmJzcDtbI3gwOUUyLSN4MDlFM10KK3wmbmJzcDsjeDBBMDIKK3wmbmJzcDsjeDBBM0MKK3wmbmJzcDsjeDBBM0UKK3wmbmJzcDsjeDBBM0YKK3wmbmJzcDtbI3gwQTQwLSN4MEE0Ml0KK3wmbmJzcDtbI3gwQTQ3LSN4MEE0OF0KK3wmbmJzcDtbI3gwQTRCLSN4MEE0RF0KK3wmbmJzcDtbI3gwQTcwLSN4MEE3MV0KK3wmbmJzcDtbI3gwQTgxLSN4MEE4M10KK3wmbmJzcDsjeDBBQkMKK3wmbmJzcDtbI3gwQUJFLSN4MEFDNV0KK3wmbmJzcDtbI3gwQUM3LSN4MEFDOV0KK3wmbmJzcDtbI3gwQUNCLSN4MEFDRF0KK3wmbmJzcDtbI3gwQjAxLSN4MEIwM10KK3wmbmJzcDsjeDBCM0MKK3wmbmJzcDtbI3gwQjNFLSN4MEI0M10KK3wmbmJzcDtbI3gwQjQ3LSN4MEI0OF0KK3wmbmJzcDtbI3gwQjRCLSN4MEI0RF0KK3wmbmJzcDtbI3gwQjU2LSN4MEI1N10KK3wmbmJzcDtbI3gwQjgyLSN4MEI4M10KK3wmbmJzcDtbI3gwQkJFLSN4MEJDMl0KK3wmbmJzcDtbI3gwQkM2LSN4MEJDOF0KK3wmbmJzcDtbI3gwQkNBLSN4MEJDRF0KK3wmbmJzcDsjeDBCRDcKK3wmbmJzcDtbI3gwQzAxLSN4MEMwM10KK3wmbmJzcDtbI3gwQzNFLSN4MEM0NF0KK3wmbmJzcDtbI3gwQzQ2LSN4MEM0OF0KK3wmbmJzcDtbI3gwQzRBLSN4MEM0RF0KK3wmbmJzcDtbI3gwQzU1LSN4MEM1Nl0KK3wmbmJzcDtbI3gwQzgyLSN4MEM4M10KK3wmbmJzcDtbI3gwQ0JFLSN4MENDNF0KK3wmbmJzcDtbI3gwQ0M2LSN4MENDOF0KK3wmbmJzcDtbI3gwQ0NBLSN4MENDRF0KK3wmbmJzcDtbI3gwQ0Q1LSN4MENENl0KK3wmbmJzcDtbI3gwRDAyLSN4MEQwM10KK3wmbmJzcDtbI3gwRDNFLSN4MEQ0M10KK3wmbmJzcDtbI3gwRDQ2LSN4MEQ0OF0KK3wmbmJzcDtbI3gwRDRBLSN4MEQ0RF0KK3wmbmJzcDsjeDBENTcKK3wmbmJzcDsjeDBFMzEKK3wmbmJzcDtbI3gwRTM0LSN4MEUzQV0KK3wmbmJzcDtbI3gwRTQ3LSN4MEU0RV0KK3wmbmJzcDsjeDBFQjEKK3wmbmJzcDtbI3gwRUI0LSN4MEVCOV0KK3wmbmJzcDtbI3gwRUJCLSN4MEVCQ10KK3wmbmJzcDtbI3gwRUM4LSN4MEVDRF0KK3wmbmJzcDtbI3gwRjE4LSN4MEYxOV0KK3wmbmJzcDsjeDBGMzUKK3wmbmJzcDsjeDBGMzcKK3wmbmJzcDsjeDBGMzkKK3wmbmJzcDsjeDBGM0UKK3wmbmJzcDsjeDBGM0YKK3wmbmJzcDtbI3gwRjcxLSN4MEY4NF0KK3wmbmJzcDtbI3gwRjg2LSN4MEY4Ql0KK3wmbmJzcDtbI3gwRjkwLSN4MEY5NV0KK3wmbmJzcDsjeDBGOTcKK3wmbmJzcDtbI3gwRjk5LSN4MEZBRF0KK3wmbmJzcDtbI3gwRkIxLSN4MEZCN10KK3wmbmJzcDsjeDBGQjkKK3wmbmJzcDtbI3gyMEQwLSN4MjBEQ10KK3wmbmJzcDsjeDIwRTEKK3wmbmJzcDtbI3gzMDJBLSN4MzAyRl0KK3wmbmJzcDsjeDMwOTkKK3wmbmJzcDsjeDMwOUEKKzwvcmhzPjwvcHJvZD4KKzxwcm9kIGlkPSdOVC1EaWdpdCc+PGxocz5EaWdpdDwvbGhzPgorPHJocz5bI3gwMDMwLSN4MDAzOV0KK3wmbmJzcDtbI3gwNjYwLSN4MDY2OV0KK3wmbmJzcDtbI3gwNkYwLSN4MDZGOV0KK3wmbmJzcDtbI3gwOTY2LSN4MDk2Rl0KK3wmbmJzcDtbI3gwOUU2LSN4MDlFRl0KK3wmbmJzcDtbI3gwQTY2LSN4MEE2Rl0KK3wmbmJzcDtbI3gwQUU2LSN4MEFFRl0KK3wmbmJzcDtbI3gwQjY2LSN4MEI2Rl0KK3wmbmJzcDtbI3gwQkU3LSN4MEJFRl0KK3wmbmJzcDtbI3gwQzY2LSN4MEM2Rl0KK3wmbmJzcDtbI3gwQ0U2LSN4MENFRl0KK3wmbmJzcDtbI3gwRDY2LSN4MEQ2Rl0KK3wmbmJzcDtbI3gwRTUwLSN4MEU1OV0KK3wmbmJzcDtbI3gwRUQwLSN4MEVEOV0KK3wmbmJzcDtbI3gwRjIwLSN4MEYyOV0KKzwvcmhzPjwvcHJvZD4KKzxwcm9kIGlkPSdOVC1FeHRlbmRlcic+PGxocz5FeHRlbmRlcjwvbGhzPgorPHJocz4jeDAwQjcKK3wmbmJzcDsjeDAyRDAKK3wmbmJzcDsjeDAyRDEKK3wmbmJzcDsjeDAzODcKK3wmbmJzcDsjeDA2NDAKK3wmbmJzcDsjeDBFNDYKK3wmbmJzcDsjeDBFQzYKK3wmbmJzcDsjeDMwMDUKK3wmbmJzcDtbI3gzMDMxLSN4MzAzNV0KK3wmbmJzcDtbI3gzMDlELSN4MzA5RV0KK3wmbmJzcDtbI3gzMEZDLSN4MzBGRV0KKzwvcmhzPjwvcHJvZD4KKworPC9wcm9kZ3JvdXA+Cis8L3NjcmFwPgorPC9wPgorPHA+VGhlIGNoYXJhY3RlciBjbGFzc2VzIGRlZmluZWQgaGVyZSBjYW4gYmUgZGVyaXZlZCBmcm9tIHRoZQorVW5pY29kZSBjaGFyYWN0ZXIgZGF0YWJhc2UgYXMgZm9sbG93czoKKzx1bGlzdD4KKzxpdGVtPgorPHA+TmFtZSBzdGFydCBjaGFyYWN0ZXJzIG11c3QgaGF2ZSBvbmUgb2YgdGhlIGNhdGVnb3JpZXMgTGwsIEx1LAorTG8sIEx0LCBObC48L3A+Cis8L2l0ZW0+Cis8aXRlbT4KKzxwPk5hbWUgY2hhcmFjdGVycyBvdGhlciB0aGFuIE5hbWUtc3RhcnQgY2hhcmFjdGVycyAKK211c3QgaGF2ZSBvbmUgb2YgdGhlIGNhdGVnb3JpZXMgTWMsIE1lLCBNbiwgTG0sIG9yIE5kLjwvcD4KKzwvaXRlbT4KKzxpdGVtPgorPHA+Q2hhcmFjdGVycyBpbiB0aGUgY29tcGF0aWJpbGl0eSBhcmVhIChpLmUuIHdpdGggY2hhcmFjdGVyIGNvZGUKK2dyZWF0ZXIgdGhhbiAjeEY5MDAgYW5kIGxlc3MgdGhhbiAjeEZGRkUpIGFyZSBub3QgYWxsb3dlZCBpbiBYTUwKK25hbWVzLjwvcD4KKzwvaXRlbT4KKzxpdGVtPgorPHA+Q2hhcmFjdGVycyB3aGljaCBoYXZlIGEgZm9udCBvciBjb21wYXRpYmlsaXR5IGRlY29tcG9zaXRpb24gKGkuZS4gdGhvc2UKK3dpdGggYSAiY29tcGF0aWJpbGl0eSBmb3JtYXR0aW5nIHRhZyIgaW4gZmllbGQgNSBvZiB0aGUgZGF0YWJhc2UgLS0KK21hcmtlZCBieSBmaWVsZCA1IGJlZ2lubmluZyB3aXRoIGEgIiZsdDsiKSBhcmUgbm90IGFsbG93ZWQuPC9wPgorPC9pdGVtPgorPGl0ZW0+Cis8cD5UaGUgZm9sbG93aW5nIGNoYXJhY3RlcnMgYXJlIHRyZWF0ZWQgYXMgbmFtZS1zdGFydCBjaGFyYWN0ZXJzCityYXRoZXIgdGhhbiBuYW1lIGNoYXJhY3RlcnMsIGJlY2F1c2UgdGhlIHByb3BlcnR5IGZpbGUgY2xhc3NpZmllcwordGhlbSBhcyBBbHBoYWJldGljOiAgWyN4MDJCQi0jeDAyQzFdLCAjeDA1NTksICN4MDZFNSwgI3gwNkU2LjwvcD4KKzwvaXRlbT4KKzxpdGVtPgorPHA+Q2hhcmFjdGVycyAjeDIwREQtI3gyMEUwIGFyZSBleGNsdWRlZCAoaW4gYWNjb3JkYW5jZSB3aXRoIAorVW5pY29kZSwgc2VjdGlvbiA1LjE0KS48L3A+Cis8L2l0ZW0+Cis8aXRlbT4KKzxwPkNoYXJhY3RlciAjeDAwQjcgaXMgY2xhc3NpZmllZCBhcyBhbiBleHRlbmRlciwgYmVjYXVzZSB0aGUKK3Byb3BlcnR5IGxpc3Qgc28gaWRlbnRpZmllcyBpdC48L3A+Cis8L2l0ZW0+Cis8aXRlbT4KKzxwPkNoYXJhY3RlciAjeDAzODcgaXMgYWRkZWQgYXMgYSBuYW1lIGNoYXJhY3RlciwgYmVjYXVzZSAjeDAwQjcKK2lzIGl0cyBjYW5vbmljYWwgZXF1aXZhbGVudC48L3A+Cis8L2l0ZW0+Cis8aXRlbT4KKzxwPkNoYXJhY3RlcnMgJzonIGFuZCAnXycgYXJlIGFsbG93ZWQgYXMgbmFtZS1zdGFydCBjaGFyYWN0ZXJzLjwvcD4KKzwvaXRlbT4KKzxpdGVtPgorPHA+Q2hhcmFjdGVycyAnLScgYW5kICcuJyBhcmUgYWxsb3dlZCBhcyBuYW1lIGNoYXJhY3RlcnMuPC9wPgorPC9pdGVtPgorPC91bGlzdD4KKzwvcD4KKzwvZGl2MT4KKzxpbmZvcm0tZGl2MSBpZD0ic2VjLXhtbC1hbmQtc2dtbCI+Cis8aGVhZD5YTUwgYW5kIFNHTUw8L2hlYWQ+CisgCis8cD5YTUwgaXMgZGVzaWduZWQgdG8gYmUgYSBzdWJzZXQgb2YgU0dNTCwgaW4gdGhhdCBldmVyeQorPHRlcm1yZWYgZGVmPSJkdC12YWxpZCI+dmFsaWQ8L3Rlcm1yZWY+IFhNTCBkb2N1bWVudCBzaG91bGQgYWxzbyBiZSBhCitjb25mb3JtYW50IFNHTUwgZG9jdW1lbnQuCitGb3IgYSBkZXRhaWxlZCBjb21wYXJpc29uIG9mIHRoZSBhZGRpdGlvbmFsIHJlc3RyaWN0aW9ucyB0aGF0IFhNTCBwbGFjZXMgb24KK2RvY3VtZW50cyBiZXlvbmQgdGhvc2Ugb2YgU0dNTCwgc2VlIDxiaWJyZWYgcmVmPSdDbGFyaycvPi4KKzwvcD4KKzwvaW5mb3JtLWRpdjE+Cis8aW5mb3JtLWRpdjEgaWQ9InNlYy1lbnRleHBhbmQiPgorPGhlYWQ+RXhwYW5zaW9uIG9mIEVudGl0eSBhbmQgQ2hhcmFjdGVyIFJlZmVyZW5jZXM8L2hlYWQ+Cis8cD5UaGlzIGFwcGVuZGl4IGNvbnRhaW5zIHNvbWUgZXhhbXBsZXMgaWxsdXN0cmF0aW5nIHRoZQorc2VxdWVuY2Ugb2YgZW50aXR5LSBhbmQgY2hhcmFjdGVyLXJlZmVyZW5jZSByZWNvZ25pdGlvbiBhbmQKK2V4cGFuc2lvbiwgYXMgc3BlY2lmaWVkIGluIDxzcGVjcmVmIHJlZj0nZW50cHJvYycvPi48L3A+Cis8cD4KK0lmIHRoZSBEVEQgY29udGFpbnMgdGhlIGRlY2xhcmF0aW9uIAorPGVnPjwhW0NEQVRBWzwhRU5USVRZIGV4YW1wbGUgIjxwPkFuIGFtcGVyc2FuZCAoJiMzODsjMzg7KSBtYXkgYmUgZXNjYXBlZAorbnVtZXJpY2FsbHkgKCYjMzg7IzM4OyMzODspIG9yIHdpdGggYSBnZW5lcmFsIGVudGl0eQorKCZhbXA7YW1wOykuPC9wPiIgPgorXV0+PC9lZz4KK3RoZW4gdGhlIFhNTCBwcm9jZXNzb3Igd2lsbCByZWNvZ25pemUgdGhlIGNoYXJhY3RlciByZWZlcmVuY2VzIAord2hlbiBpdCBwYXJzZXMgdGhlIGVudGl0eSBkZWNsYXJhdGlvbiwgYW5kIHJlc29sdmUgdGhlbSBiZWZvcmUgCitzdG9yaW5nIHRoZSBmb2xsb3dpbmcgc3RyaW5nIGFzIHRoZQordmFsdWUgb2YgdGhlIGVudGl0eSAiPGNvZGU+ZXhhbXBsZTwvY29kZT4iOgorPGVnPjwhW0NEQVRBWzxwPkFuIGFtcGVyc2FuZCAoJiMzODspIG1heSBiZSBlc2NhcGVkCitudW1lcmljYWxseSAoJiMzODsjMzg7KSBvciB3aXRoIGEgZ2VuZXJhbCBlbnRpdHkKKygmYW1wO2FtcDspLjwvcD4KK11dPjwvZWc+CitBIHJlZmVyZW5jZSBpbiB0aGUgZG9jdW1lbnQgdG8gIjxjb2RlPiZhbXA7ZXhhbXBsZTs8L2NvZGU+IiAKK3dpbGwgY2F1c2UgdGhlIHRleHQgdG8gYmUgcmVwYXJzZWQsIGF0IHdoaWNoIHRpbWUgdGhlIAorc3RhcnQtIGFuZCBlbmQtdGFncyBvZiB0aGUgIjxjb2RlPnA8L2NvZGU+IiBlbGVtZW50IHdpbGwgYmUgcmVjb2duaXplZCAKK2FuZCB0aGUgdGhyZWUgcmVmZXJlbmNlcyB3aWxsIGJlIHJlY29nbml6ZWQgYW5kIGV4cGFuZGVkLCAKK3Jlc3VsdGluZyBpbiBhICI8Y29kZT5wPC9jb2RlPiIgZWxlbWVudCB3aXRoIHRoZSBmb2xsb3dpbmcgY29udGVudAorKGFsbCBkYXRhLCBubyBkZWxpbWl0ZXJzIG9yIG1hcmt1cCk6Cis8ZWc+PCFbQ0RBVEFbQW4gYW1wZXJzYW5kICgmKSBtYXkgYmUgZXNjYXBlZAorbnVtZXJpY2FsbHkgKCYjMzg7KSBvciB3aXRoIGEgZ2VuZXJhbCBlbnRpdHkKKygmYW1wOykuCitdXT48L2VnPgorPC9wPgorPHA+QSBtb3JlIGNvbXBsZXggZXhhbXBsZSB3aWxsIGlsbHVzdHJhdGUgdGhlIHJ1bGVzIGFuZCB0aGVpcgorZWZmZWN0cyBmdWxseS4gIEluIHRoZSBmb2xsb3dpbmcgZXhhbXBsZSwgdGhlIGxpbmUgbnVtYmVycyBhcmUKK3NvbGVseSBmb3IgcmVmZXJlbmNlLgorPGVnPjwhW0NEQVRBWzEgPD94bWwgdmVyc2lvbj0nMS4wJz8+CisyIDwhRE9DVFlQRSB0ZXN0IFsKKzMgPCFFTEVNRU5UIHRlc3QgKCNQQ0RBVEEpID4KKzQgPCFFTlRJVFkgJSB4eCAnJiMzNzt6ejsnPgorNSA8IUVOVElUWSAlIHp6ICcmIzYwOyFFTlRJVFkgdHJpY2t5ICJlcnJvci1wcm9uZSIgPicgPgorNiAleHg7Cis3IF0+Cis4IDx0ZXN0PlRoaXMgc2FtcGxlIHNob3dzIGEgJnRyaWNreTsgbWV0aG9kLjwvdGVzdD4KK11dPjwvZWc+CitUaGlzIHByb2R1Y2VzIHRoZSBmb2xsb3dpbmc6Cis8dWxpc3Qgc3BhY2luZz0iY29tcGFjdCI+Cis8aXRlbT48cD5pbiBsaW5lIDQsIHRoZSByZWZlcmVuY2UgdG8gY2hhcmFjdGVyIDM3IGlzIGV4cGFuZGVkIGltbWVkaWF0ZWx5LAorYW5kIHRoZSBwYXJhbWV0ZXIgZW50aXR5ICI8Y29kZT54eDwvY29kZT4iIGlzIHN0b3JlZCBpbiB0aGUgc3ltYm9sCit0YWJsZSB3aXRoIHRoZSB2YWx1ZSAiPGNvZGU+JXp6OzwvY29kZT4iLiAgU2luY2UgdGhlIHJlcGxhY2VtZW50IHRleHQKK2lzIG5vdCByZXNjYW5uZWQsIHRoZSByZWZlcmVuY2UgdG8gcGFyYW1ldGVyIGVudGl0eSAiPGNvZGU+eno8L2NvZGU+IgoraXMgbm90IHJlY29nbml6ZWQuICAoQW5kIGl0IHdvdWxkIGJlIGFuIGVycm9yIGlmIGl0IHdlcmUsIHNpbmNlCisiPGNvZGU+eno8L2NvZGU+IiBpcyBub3QgeWV0IGRlY2xhcmVkLik8L3A+PC9pdGVtPgorPGl0ZW0+PHA+aW4gbGluZSA1LCB0aGUgY2hhcmFjdGVyIHJlZmVyZW5jZSAiPGNvZGU+JmFtcDsjNjA7PC9jb2RlPiIgaXMKK2V4cGFuZGVkIGltbWVkaWF0ZWx5IGFuZCB0aGUgcGFyYW1ldGVyIGVudGl0eSAiPGNvZGU+eno8L2NvZGU+IiBpcworc3RvcmVkIHdpdGggdGhlIHJlcGxhY2VtZW50IHRleHQgCisiPGNvZGU+Jmx0OyFFTlRJVFkgdHJpY2t5ICJlcnJvci1wcm9uZSIgPjwvY29kZT4iLAord2hpY2ggaXMgYSB3ZWxsLWZvcm1lZCBlbnRpdHkgZGVjbGFyYXRpb24uPC9wPjwvaXRlbT4KKzxpdGVtPjxwPmluIGxpbmUgNiwgdGhlIHJlZmVyZW5jZSB0byAiPGNvZGU+eHg8L2NvZGU+IiBpcyByZWNvZ25pemVkLAorYW5kIHRoZSByZXBsYWNlbWVudCB0ZXh0IG9mICI8Y29kZT54eDwvY29kZT4iIChuYW1lbHkgCisiPGNvZGU+JXp6OzwvY29kZT4iKSBpcyBwYXJzZWQuICBUaGUgcmVmZXJlbmNlIHRvICI8Y29kZT56ejwvY29kZT4iCitpcyByZWNvZ25pemVkIGluIGl0cyB0dXJuLCBhbmQgaXRzIHJlcGxhY2VtZW50IHRleHQgCisoIjxjb2RlPiZsdDshRU5USVRZIHRyaWNreSAiZXJyb3ItcHJvbmUiID48L2NvZGU+IikgaXMgcGFyc2VkLgorVGhlIGdlbmVyYWwgZW50aXR5ICI8Y29kZT50cmlja3k8L2NvZGU+IiBoYXMgbm93IGJlZW4KK2RlY2xhcmVkLCB3aXRoIHRoZSByZXBsYWNlbWVudCB0ZXh0ICI8Y29kZT5lcnJvci1wcm9uZTwvY29kZT4iLjwvcD48L2l0ZW0+Cis8aXRlbT48cD4KK2luIGxpbmUgOCwgdGhlIHJlZmVyZW5jZSB0byB0aGUgZ2VuZXJhbCBlbnRpdHkgIjxjb2RlPnRyaWNreTwvY29kZT4iIGlzCityZWNvZ25pemVkLCBhbmQgaXQgaXMgZXhwYW5kZWQsIHNvIHRoZSBmdWxsIGNvbnRlbnQgb2YgdGhlCisiPGNvZGU+dGVzdDwvY29kZT4iIGVsZW1lbnQgaXMgdGhlIHNlbGYtZGVzY3JpYmluZyAoYW5kIHVuZ3JhbW1hdGljYWwpIHN0cmluZworPGVtcGg+VGhpcyBzYW1wbGUgc2hvd3MgYSBlcnJvci1wcm9uZSBtZXRob2QuPC9lbXBoPgorPC9wPjwvaXRlbT4KKzwvdWxpc3Q+Cis8L3A+Cis8L2luZm9ybS1kaXYxPiAKKzxpbmZvcm0tZGl2MSBpZD0iZGV0ZXJtaW5pc20iPgorPGhlYWQ+RGV0ZXJtaW5pc3RpYyBDb250ZW50IE1vZGVsczwvaGVhZD4KKzxwPjx0ZXJtcmVmIGRlZj0nZHQtY29tcGF0Jz5Gb3IgY29tcGF0aWJpbGl0eTwvdGVybXJlZj4sIGl0IGlzCityZXF1aXJlZAordGhhdCBjb250ZW50IG1vZGVscyBpbiBlbGVtZW50IHR5cGUgZGVjbGFyYXRpb25zIGJlIGRldGVybWluaXN0aWMuICAKKzwvcD4KKzwhLS0gRklOQUwgRURJVDogIFdlYlNHTUwgYWxsb3dzIGFtYmlndWl0eT8gLS0+Cis8cD5TR01MCityZXF1aXJlcyBkZXRlcm1pbmlzdGljIGNvbnRlbnQgbW9kZWxzIChpdCBjYWxscyB0aGVtCisidW5hbWJpZ3VvdXMiKTsgWE1MIHByb2Nlc3NvcnMgYnVpbHQgdXNpbmcgU0dNTCBzeXN0ZW1zIG1heQorZmxhZyBub24tZGV0ZXJtaW5pc3RpYyBjb250ZW50IG1vZGVscyBhcyBlcnJvcnMuPC9wPgorPHA+Rm9yIGV4YW1wbGUsIHRoZSBjb250ZW50IG1vZGVsIDxjb2RlPigoYiwgYykgfCAoYiwgZCkpPC9jb2RlPiBpcworbm9uLWRldGVybWluaXN0aWMsIGJlY2F1c2UgZ2l2ZW4gYW4gaW5pdGlhbCA8Y29kZT5iPC9jb2RlPiB0aGUgcGFyc2VyCitjYW5ub3Qga25vdyB3aGljaCA8Y29kZT5iPC9jb2RlPiBpbiB0aGUgbW9kZWwgaXMgYmVpbmcgbWF0Y2hlZCB3aXRob3V0Citsb29raW5nIGFoZWFkIHRvIHNlZSB3aGljaCBlbGVtZW50IGZvbGxvd3MgdGhlIDxjb2RlPmI8L2NvZGU+LgorSW4gdGhpcyBjYXNlLCB0aGUgdHdvIHJlZmVyZW5jZXMgdG8KKzxjb2RlPmI8L2NvZGU+IGNhbiBiZSBjb2xsYXBzZWQgCitpbnRvIGEgc2luZ2xlIHJlZmVyZW5jZSwgbWFraW5nIHRoZSBtb2RlbCByZWFkCis8Y29kZT4oYiwgKGMgfCBkKSk8L2NvZGU+LiAgQW4gaW5pdGlhbCA8Y29kZT5iPC9jb2RlPiBub3cgY2xlYXJseQorbWF0Y2hlcyBvbmx5IGEgc2luZ2xlIG5hbWUgaW4gdGhlIGNvbnRlbnQgbW9kZWwuICBUaGUgcGFyc2VyIGRvZXNuJ3QKK25lZWQgdG8gbG9vayBhaGVhZCB0byBzZWUgd2hhdCBmb2xsb3dzOyBlaXRoZXIgPGNvZGU+YzwvY29kZT4gb3IKKzxjb2RlPmQ8L2NvZGU+IHdvdWxkIGJlIGFjY2VwdGVkLjwvcD4KKzxwPk1vcmUgZm9ybWFsbHk6ICBhIGZpbml0ZSBzdGF0ZSBhdXRvbWF0b24gbWF5IGJlIGNvbnN0cnVjdGVkIGZyb20gdGhlCitjb250ZW50IG1vZGVsIHVzaW5nIHRoZSBzdGFuZGFyZCBhbGdvcml0aG1zLCBlLmcuIGFsZ29yaXRobSAzLjUgCitpbiBzZWN0aW9uIDMuOQorb2YgQWhvLCBTZXRoaSwgYW5kIFVsbG1hbiA8YmlicmVmIHJlZj0nQWhvJy8+LgorSW4gbWFueSBzdWNoIGFsZ29yaXRobXMsIGEgZm9sbG93IHNldCBpcyBjb25zdHJ1Y3RlZCBmb3IgZWFjaCAKK3Bvc2l0aW9uIGluIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gKGkuZS4sIGVhY2ggbGVhZiAKK25vZGUgaW4gdGhlIAorc3ludGF4IHRyZWUgZm9yIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pOworaWYgYW55IHBvc2l0aW9uIGhhcyBhIGZvbGxvdyBzZXQgaW4gd2hpY2ggCittb3JlIHRoYW4gb25lIGZvbGxvd2luZyBwb3NpdGlvbiBpcyAKK2xhYmVsZWQgd2l0aCB0aGUgc2FtZSBlbGVtZW50IHR5cGUgbmFtZSwgCit0aGVuIHRoZSBjb250ZW50IG1vZGVsIGlzIGluIGVycm9yCithbmQgbWF5IGJlIHJlcG9ydGVkIGFzIGFuIGVycm9yLgorPC9wPgorPHA+QWxnb3JpdGhtcyBleGlzdCB3aGljaCBhbGxvdyBtYW55IGJ1dCBub3QgYWxsIG5vbi1kZXRlcm1pbmlzdGljCitjb250ZW50IG1vZGVscyB0byBiZSByZWR1Y2VkIGF1dG9tYXRpY2FsbHkgdG8gZXF1aXZhbGVudCBkZXRlcm1pbmlzdGljCittb2RlbHM7IHNlZSBCcvxnZ2VtYW5uLUtsZWluIDE5OTEgPGJpYnJlZiByZWY9J0FCSycvPi48L3A+Cis8L2luZm9ybS1kaXYxPgorPGluZm9ybS1kaXYxIGlkPSJzZWMtZ3Vlc3NpbmciPgorPGhlYWQ+QXV0b2RldGVjdGlvbiBvZiBDaGFyYWN0ZXIgRW5jb2RpbmdzPC9oZWFkPgorPHA+VGhlIFhNTCBlbmNvZGluZyBkZWNsYXJhdGlvbiBmdW5jdGlvbnMgYXMgYW4gaW50ZXJuYWwgbGFiZWwgb24gZWFjaAorZW50aXR5LCBpbmRpY2F0aW5nIHdoaWNoIGNoYXJhY3RlciBlbmNvZGluZyBpcyBpbiB1c2UuICBCZWZvcmUgYW4gWE1MCitwcm9jZXNzb3IgY2FuIHJlYWQgdGhlIGludGVybmFsIGxhYmVsLCBob3dldmVyLCBpdCBhcHBhcmVudGx5IGhhcyB0bwora25vdyB3aGF0IGNoYXJhY3RlciBlbmNvZGluZyBpcyBpbiB1c2UmbWRhc2g7d2hpY2ggaXMgd2hhdCB0aGUgaW50ZXJuYWwgbGFiZWwKK2lzIHRyeWluZyB0byBpbmRpY2F0ZS4gIEluIHRoZSBnZW5lcmFsIGNhc2UsIHRoaXMgaXMgYSBob3BlbGVzcworc2l0dWF0aW9uLiBJdCBpcyBub3QgZW50aXJlbHkgaG9wZWxlc3MgaW4gWE1MLCBob3dldmVyLCBiZWNhdXNlIFhNTAorbGltaXRzIHRoZSBnZW5lcmFsIGNhc2UgaW4gdHdvIHdheXM6ICBlYWNoIGltcGxlbWVudGF0aW9uIGlzIGFzc3VtZWQKK3RvIHN1cHBvcnQgb25seSBhICBmaW5pdGUgc2V0IG9mIGNoYXJhY3RlciBlbmNvZGluZ3MsIGFuZCB0aGUgWE1MCitlbmNvZGluZyBkZWNsYXJhdGlvbiBpcyByZXN0cmljdGVkIGluIHBvc2l0aW9uIGFuZCBjb250ZW50IGluIG9yZGVyIHRvCittYWtlIGl0IGZlYXNpYmxlIHRvIGF1dG9kZXRlY3QgdGhlIGNoYXJhY3RlciBlbmNvZGluZyBpbiB1c2UgaW4gZWFjaAorZW50aXR5IGluIG5vcm1hbCBjYXNlcy4gIEFsc28sIGluIG1hbnkgY2FzZXMgb3RoZXIgc291cmNlcyBvZiBpbmZvcm1hdGlvbgorYXJlIGF2YWlsYWJsZSBpbiBhZGRpdGlvbiB0byB0aGUgWE1MIGRhdGEgc3RyZWFtIGl0c2VsZi4gIAorVHdvIGNhc2VzIG1heSBiZSBkaXN0aW5ndWlzaGVkLCAKK2RlcGVuZGluZyBvbiB3aGV0aGVyIHRoZSBYTUwgZW50aXR5IGlzIHByZXNlbnRlZCB0byB0aGUKK3Byb2Nlc3NvciB3aXRob3V0LCBvciB3aXRoLCBhbnkgYWNjb21wYW55aW5nCisoZXh0ZXJuYWwpIGluZm9ybWF0aW9uLiAgV2UgY29uc2lkZXIgdGhlIGZpcnN0IGNhc2UgZmlyc3QuCis8L3A+Cis8cD4KK0JlY2F1c2UgZWFjaCBYTUwgZW50aXR5IG5vdCBpbiBVVEYtOCBvciBVVEYtMTYgZm9ybWF0IDxlbXBoPm11c3Q8L2VtcGg+CitiZWdpbiB3aXRoIGFuIFhNTCBlbmNvZGluZyBkZWNsYXJhdGlvbiwgaW4gd2hpY2ggdGhlIGZpcnN0ICBjaGFyYWN0ZXJzCittdXN0IGJlICc8Y29kZT4mbHQ7P3htbDwvY29kZT4nLCBhbnkgY29uZm9ybWluZyBwcm9jZXNzb3IgY2FuIGRldGVjdCwKK2FmdGVyIHR3byB0byBmb3VyIG9jdGV0cyBvZiBpbnB1dCwgd2hpY2ggb2YgdGhlIGZvbGxvd2luZyBjYXNlcyBhcHBseS4gCitJbiByZWFkaW5nIHRoaXMgbGlzdCwgaXQgbWF5IGhlbHAgdG8ga25vdyB0aGF0IGluIFVDUy00LCAnJmx0OycgaXMKKyI8Y29kZT4jeDAwMDAwMDNDPC9jb2RlPiIgYW5kICc/JyBpcyAiPGNvZGU+I3gwMDAwMDAzRjwvY29kZT4iLCBhbmQgdGhlIEJ5dGUKK09yZGVyIE1hcmsgcmVxdWlyZWQgb2YgVVRGLTE2IGRhdGEgc3RyZWFtcyBpcyAiPGNvZGU+I3hGRUZGPC9jb2RlPiIuPC9wPgorPHA+Cis8dWxpc3Q+Cis8aXRlbT4KKzxwPjxjb2RlPjAwIDAwIDAwIDNDPC9jb2RlPjogVUNTLTQsIGJpZy1lbmRpYW4gbWFjaGluZSAoMTIzNCBvcmRlcik8L3A+Cis8L2l0ZW0+Cis8aXRlbT4KKzxwPjxjb2RlPjNDIDAwIDAwIDAwPC9jb2RlPjogVUNTLTQsIGxpdHRsZS1lbmRpYW4gbWFjaGluZSAoNDMyMSBvcmRlcik8L3A+Cis8L2l0ZW0+Cis8aXRlbT4KKzxwPjxjb2RlPjAwIDAwIDNDIDAwPC9jb2RlPjogVUNTLTQsIHVudXN1YWwgb2N0ZXQgb3JkZXIgKDIxNDMpPC9wPgorPC9pdGVtPgorPGl0ZW0+Cis8cD48Y29kZT4wMCAzQyAwMCAwMDwvY29kZT46IFVDUy00LCB1bnVzdWFsIG9jdGV0IG9yZGVyICgzNDEyKTwvcD4KKzwvaXRlbT4KKzxpdGVtPgorPHA+PGNvZGU+RkUgRkY8L2NvZGU+OiBVVEYtMTYsIGJpZy1lbmRpYW48L3A+Cis8L2l0ZW0+Cis8aXRlbT4KKzxwPjxjb2RlPkZGIEZFPC9jb2RlPjogVVRGLTE2LCBsaXR0bGUtZW5kaWFuPC9wPgorPC9pdGVtPgorPGl0ZW0+Cis8cD48Y29kZT4wMCAzQyAwMCAzRjwvY29kZT46IFVURi0xNiwgYmlnLWVuZGlhbiwgbm8gQnl0ZSBPcmRlciBNYXJrCisoYW5kIHRodXMsIHN0cmljdGx5IHNwZWFraW5nLCBpbiBlcnJvcik8L3A+Cis8L2l0ZW0+Cis8aXRlbT4KKzxwPjxjb2RlPjNDIDAwIDNGIDAwPC9jb2RlPjogVVRGLTE2LCBsaXR0bGUtZW5kaWFuLCBubyBCeXRlIE9yZGVyIE1hcmsKKyhhbmQgdGh1cywgc3RyaWN0bHkgc3BlYWtpbmcsIGluIGVycm9yKTwvcD4KKzwvaXRlbT4KKzxpdGVtPgorPHA+PGNvZGU+M0MgM0YgNzggNkQ8L2NvZGU+OiBVVEYtOCwgSVNPIDY0NiwgQVNDSUksIHNvbWUgcGFydCBvZiBJU08gODg1OSwgCitTaGlmdC1KSVMsIEVVQywgb3IgYW55IG90aGVyIDctYml0LCA4LWJpdCwgb3IgbWl4ZWQtd2lkdGggZW5jb2RpbmcKK3doaWNoIGVuc3VyZXMgdGhhdCB0aGUgY2hhcmFjdGVycyBvZiBBU0NJSSBoYXZlIHRoZWlyIG5vcm1hbCBwb3NpdGlvbnMsCit3aWR0aCwKK2FuZCB2YWx1ZXM7IHRoZSBhY3R1YWwgZW5jb2RpbmcgZGVjbGFyYXRpb24gbXVzdCBiZSByZWFkIHRvIAorZGV0ZWN0IHdoaWNoIG9mIHRoZXNlIGFwcGxpZXMsIGJ1dCBzaW5jZSBhbGwgb2YgdGhlc2UgZW5jb2RpbmdzCit1c2UgdGhlIHNhbWUgYml0IHBhdHRlcm5zIGZvciB0aGUgQVNDSUkgY2hhcmFjdGVycywgdGhlIGVuY29kaW5nIAorZGVjbGFyYXRpb24gaXRzZWxmIG1heSBiZSByZWFkIHJlbGlhYmx5Cis8L3A+Cis8L2l0ZW0+Cis8aXRlbT4KKzxwPjxjb2RlPjRDIDZGIEE3IDk0PC9jb2RlPjogRUJDRElDIChpbiBzb21lIGZsYXZvcjsgdGhlIGZ1bGwKK2VuY29kaW5nIGRlY2xhcmF0aW9uIG11c3QgYmUgcmVhZCB0byB0ZWxsIHdoaWNoIGNvZGUgcGFnZSBpcyBpbiAKK3VzZSk8L3A+Cis8L2l0ZW0+Cis8aXRlbT4KKzxwPm90aGVyOiBVVEYtOCB3aXRob3V0IGFuIGVuY29kaW5nIGRlY2xhcmF0aW9uLCBvciBlbHNlIAordGhlIGRhdGEgc3RyZWFtIGlzIGNvcnJ1cHQsIGZyYWdtZW50YXJ5LCBvciBlbmNsb3NlZCBpbgorYSB3cmFwcGVyIG9mIHNvbWUga2luZDwvcD4KKzwvaXRlbT4KKzwvdWxpc3Q+Cis8L3A+Cis8cD4KK1RoaXMgbGV2ZWwgb2YgYXV0b2RldGVjdGlvbiBpcyBlbm91Z2ggdG8gcmVhZCB0aGUgWE1MIGVuY29kaW5nCitkZWNsYXJhdGlvbiBhbmQgcGFyc2UgdGhlIGNoYXJhY3Rlci1lbmNvZGluZyBpZGVudGlmaWVyLCB3aGljaCBpcworc3RpbGwgbmVjZXNzYXJ5IHRvIGRpc3Rpbmd1aXNoIHRoZSBpbmRpdmlkdWFsIG1lbWJlcnMgb2YgZWFjaCBmYW1pbHkKK29mIGVuY29kaW5ncyAoZS5nLiB0byB0ZWxsICBVVEYtOCBmcm9tIDg4NTksIGFuZCB0aGUgcGFydHMgb2YgODg1OQorZnJvbSBlYWNoIG90aGVyLCBvciB0byBkaXN0aW5ndWlzaCB0aGUgc3BlY2lmaWMgRUJDRElDIGNvZGUgcGFnZSBpbgordXNlLCBhbmQgc28gb24pLgorPC9wPgorPHA+CitCZWNhdXNlIHRoZSBjb250ZW50cyBvZiB0aGUgZW5jb2RpbmcgZGVjbGFyYXRpb24gYXJlIHJlc3RyaWN0ZWQgdG8KK0FTQ0lJIGNoYXJhY3RlcnMsIGEgcHJvY2Vzc29yIGNhbiByZWxpYWJseSByZWFkIHRoZSBlbnRpcmUgZW5jb2RpbmcKK2RlY2xhcmF0aW9uIGFzIHNvb24gYXMgaXQgaGFzIGRldGVjdGVkIHdoaWNoIGZhbWlseSBvZiBlbmNvZGluZ3MgaXMgaW4KK3VzZS4gIFNpbmNlIGluIHByYWN0aWNlLCBhbGwgd2lkZWx5IHVzZWQgY2hhcmFjdGVyIGVuY29kaW5ncyBmYWxsIGludG8KK29uZSBvZiB0aGUgY2F0ZWdvcmllcyBhYm92ZSwgdGhlIFhNTCBlbmNvZGluZyBkZWNsYXJhdGlvbiBhbGxvd3MKK3JlYXNvbmFibHkgcmVsaWFibGUgaW4tYmFuZCBsYWJlbGluZyBvZiBjaGFyYWN0ZXIgZW5jb2RpbmdzLCBldmVuIHdoZW4KK2V4dGVybmFsIHNvdXJjZXMgb2YgaW5mb3JtYXRpb24gYXQgdGhlIG9wZXJhdGluZy1zeXN0ZW0gb3IKK3RyYW5zcG9ydC1wcm90b2NvbCBsZXZlbCBhcmUgdW5yZWxpYWJsZS4KKzwvcD4KKzxwPgorT25jZSB0aGUgcHJvY2Vzc29yIGhhcyBkZXRlY3RlZCB0aGUgY2hhcmFjdGVyIGVuY29kaW5nIGluIHVzZSwgaXQgY2FuCithY3QgYXBwcm9wcmlhdGVseSwgd2hldGhlciBieSBpbnZva2luZyBhIHNlcGFyYXRlIGlucHV0IHJvdXRpbmUgZm9yCitlYWNoIGNhc2UsIG9yIGJ5IGNhbGxpbmcgdGhlIHByb3BlciBjb252ZXJzaW9uIGZ1bmN0aW9uIG9uIGVhY2gKK2NoYXJhY3RlciBvZiBpbnB1dC4gCis8L3A+Cis8cD4KK0xpa2UgYW55IHNlbGYtbGFiZWxpbmcgc3lzdGVtLCB0aGUgWE1MIGVuY29kaW5nIGRlY2xhcmF0aW9uIHdpbGwgbm90Cit3b3JrIGlmIGFueSBzb2Z0d2FyZSBjaGFuZ2VzIHRoZSBlbnRpdHkncyBjaGFyYWN0ZXIgc2V0IG9yIGVuY29kaW5nCit3aXRob3V0IHVwZGF0aW5nIHRoZSBlbmNvZGluZyBkZWNsYXJhdGlvbi4gIEltcGxlbWVudG9ycyBvZgorY2hhcmFjdGVyLWVuY29kaW5nIHJvdXRpbmVzIHNob3VsZCBiZSBjYXJlZnVsIHRvIGVuc3VyZSB0aGUgYWNjdXJhY3kKK29mIHRoZSBpbnRlcm5hbCBhbmQgZXh0ZXJuYWwgaW5mb3JtYXRpb24gdXNlZCB0byBsYWJlbCB0aGUgZW50aXR5LgorPC9wPgorPHA+VGhlIHNlY29uZCBwb3NzaWJsZSBjYXNlIG9jY3VycyB3aGVuIHRoZSBYTUwgZW50aXR5IGlzIGFjY29tcGFuaWVkCitieSBlbmNvZGluZyBpbmZvcm1hdGlvbiwgYXMgaW4gc29tZSBmaWxlIHN5c3RlbXMgYW5kIHNvbWUgbmV0d29yaworcHJvdG9jb2xzLgorV2hlbiBtdWx0aXBsZSBzb3VyY2VzIG9mIGluZm9ybWF0aW9uIGFyZSBhdmFpbGFibGUsCisKK3RoZWlyIHJlbGF0aXZlCitwcmlvcml0eSBhbmQgdGhlIHByZWZlcnJlZCBtZXRob2Qgb2YgaGFuZGxpbmcgY29uZmxpY3Qgc2hvdWxkIGJlCitzcGVjaWZpZWQgYXMgcGFydCBvZiB0aGUgaGlnaGVyLWxldmVsIHByb3RvY29sIHVzZWQgdG8gZGVsaXZlciBYTUwuCitSdWxlcyBmb3IgdGhlIHJlbGF0aXZlIHByaW9yaXR5IG9mIHRoZSBpbnRlcm5hbCBsYWJlbCBhbmQgdGhlCitNSU1FLXR5cGUgbGFiZWwgaW4gYW4gZXh0ZXJuYWwgaGVhZGVyLCBmb3IgZXhhbXBsZSwgc2hvdWxkIGJlIHBhcnQgb2YgdGhlCitSRkMgZG9jdW1lbnQgZGVmaW5pbmcgdGhlIHRleHQveG1sIGFuZCBhcHBsaWNhdGlvbi94bWwgTUlNRSB0eXBlcy4gSW4KK3RoZSBpbnRlcmVzdHMgb2YgaW50ZXJvcGVyYWJpbGl0eSwgaG93ZXZlciwgdGhlIGZvbGxvd2luZyBydWxlcworYXJlIHJlY29tbWVuZGVkLgorPHVsaXN0PgorPGl0ZW0+PHA+SWYgYW4gWE1MIGVudGl0eSBpcyBpbiBhIGZpbGUsIHRoZSBCeXRlLU9yZGVyIE1hcmsKK2FuZCBlbmNvZGluZy1kZWNsYXJhdGlvbiBQSSBhcmUgdXNlZCAoaWYgcHJlc2VudCkgdG8gZGV0ZXJtaW5lIHRoZQorY2hhcmFjdGVyIGVuY29kaW5nLiAgQWxsIG90aGVyIGhldXJpc3RpY3MgYW5kIHNvdXJjZXMgb2YgaW5mb3JtYXRpb24KK2FyZSBzb2xlbHkgZm9yIGVycm9yIHJlY292ZXJ5LgorPC9wPjwvaXRlbT4KKzxpdGVtPjxwPklmIGFuIFhNTCBlbnRpdHkgaXMgZGVsaXZlcmVkIHdpdGggYQorTUlNRSB0eXBlIG9mIHRleHQveG1sLCB0aGVuIHRoZSA8Y29kZT5jaGFyc2V0PC9jb2RlPiBwYXJhbWV0ZXIKK29uIHRoZSBNSU1FIHR5cGUgZGV0ZXJtaW5lcyB0aGUKK2NoYXJhY3RlciBlbmNvZGluZyBtZXRob2Q7IGFsbCBvdGhlciBoZXVyaXN0aWNzIGFuZCBzb3VyY2VzIG9mCitpbmZvcm1hdGlvbiBhcmUgc29sZWx5IGZvciBlcnJvciByZWNvdmVyeS4KKzwvcD48L2l0ZW0+Cis8aXRlbT48cD5JZiBhbiBYTUwgZW50aXR5IGlzIGRlbGl2ZXJlZCAKK3dpdGggYQorTUlNRSB0eXBlIG9mIGFwcGxpY2F0aW9uL3htbCwgdGhlbiB0aGUgQnl0ZS1PcmRlciBNYXJrIGFuZAorZW5jb2RpbmctZGVjbGFyYXRpb24gUEkgYXJlIHVzZWQgKGlmIHByZXNlbnQpIHRvIGRldGVybWluZSB0aGUKK2NoYXJhY3RlciBlbmNvZGluZy4gIEFsbCBvdGhlciBoZXVyaXN0aWNzIGFuZCBzb3VyY2VzIG9mCitpbmZvcm1hdGlvbiBhcmUgc29sZWx5IGZvciBlcnJvciByZWNvdmVyeS4KKzwvcD48L2l0ZW0+Cis8L3VsaXN0PgorVGhlc2UgcnVsZXMgYXBwbHkgb25seSBpbiB0aGUgYWJzZW5jZSBvZiBwcm90b2NvbC1sZXZlbCBkb2N1bWVudGF0aW9uOworaW4gcGFydGljdWxhciwgd2hlbiB0aGUgTUlNRSB0eXBlcyB0ZXh0L3htbCBhbmQgYXBwbGljYXRpb24veG1sIGFyZQorZGVmaW5lZCwgdGhlIHJlY29tbWVuZGF0aW9ucyBvZiB0aGUgcmVsZXZhbnQgUkZDIHdpbGwgc3VwZXJzZWRlCit0aGVzZSBydWxlcy4KKzwvcD4KKworPC9pbmZvcm0tZGl2MT4KKworPGluZm9ybS1kaXYxIGlkPSJzZWMteG1sLXdnIj4KKzxoZWFkPlczQyBYTUwgV29ya2luZyBHcm91cDwvaGVhZD4KKyAKKzxwPlRoaXMgc3BlY2lmaWNhdGlvbiB3YXMgcHJlcGFyZWQgYW5kIGFwcHJvdmVkIGZvciBwdWJsaWNhdGlvbiBieSB0aGUKK1czQyBYTUwgV29ya2luZyBHcm91cCAoV0cpLiAgV0cgYXBwcm92YWwgb2YgdGhpcyBzcGVjaWZpY2F0aW9uIGRvZXMKK25vdCBuZWNlc3NhcmlseSBpbXBseSB0aGF0IGFsbCBXRyBtZW1iZXJzIHZvdGVkIGZvciBpdHMgYXBwcm92YWwuICAKK1RoZSBjdXJyZW50IGFuZCBmb3JtZXIgbWVtYmVycyBvZiB0aGUgWE1MIFdHIGFyZTo8L3A+CisgCis8b3JnbGlzdD4KKzxtZW1iZXI+PG5hbWU+Sm9uIEJvc2FrLCBTdW48L25hbWU+PHJvbGU+Q2hhaXI8L3JvbGU+PC9tZW1iZXI+Cis8bWVtYmVyPjxuYW1lPkphbWVzIENsYXJrPC9uYW1lPjxyb2xlPlRlY2huaWNhbCBMZWFkPC9yb2xlPjwvbWVtYmVyPgorPG1lbWJlcj48bmFtZT5UaW0gQnJheSwgVGV4dHVhbGl0eSBhbmQgTmV0c2NhcGU8L25hbWU+PHJvbGU+WE1MIENvLWVkaXRvcjwvcm9sZT48L21lbWJlcj4KKzxtZW1iZXI+PG5hbWU+SmVhbiBQYW9saSwgTWljcm9zb2Z0PC9uYW1lPjxyb2xlPlhNTCBDby1lZGl0b3I8L3JvbGU+PC9tZW1iZXI+Cis8bWVtYmVyPjxuYW1lPkMuIE0uIFNwZXJiZXJnLU1jUXVlZW4sIFUuIG9mIElsbC48L25hbWU+PHJvbGU+WE1MCitDby1lZGl0b3I8L3JvbGU+PC9tZW1iZXI+Cis8bWVtYmVyPjxuYW1lPkRhbiBDb25ub2xseSwgVzNDPC9uYW1lPjxyb2xlPlczQyBMaWFpc29uPC9yb2xlPjwvbWVtYmVyPgorPG1lbWJlcj48bmFtZT5QYXVsYSBBbmdlcnN0ZWluLCBUZXhjZWw8L25hbWU+PC9tZW1iZXI+Cis8bWVtYmVyPjxuYW1lPlN0ZXZlIERlUm9zZSwgSU5TTzwvbmFtZT48L21lbWJlcj4KKzxtZW1iZXI+PG5hbWU+RGF2ZSBIb2xsYW5kZXIsIEhQPC9uYW1lPjwvbWVtYmVyPgorPG1lbWJlcj48bmFtZT5FbGlvdCBLaW1iZXIsIElTT0dFTjwvbmFtZT48L21lbWJlcj4KKzxtZW1iZXI+PG5hbWU+RXZlIE1hbGVyLCBBcmJvclRleHQ8L25hbWU+PC9tZW1iZXI+Cis8bWVtYmVyPjxuYW1lPlRvbSBNYWdsaWVyeSwgTkNTQTwvbmFtZT48L21lbWJlcj4KKzxtZW1iZXI+PG5hbWU+TXVycmF5IE1hbG9uZXksIE11em1vIGFuZCBHcmlmPC9uYW1lPjwvbWVtYmVyPgorPG1lbWJlcj48bmFtZT5NYWtvdG8gTXVyYXRhLCBGdWppIFhlcm94IEluZm9ybWF0aW9uIFN5c3RlbXM8L25hbWU+PC9tZW1iZXI+Cis8bWVtYmVyPjxuYW1lPkpvZWwgTmF2YSwgQWRvYmU8L25hbWU+PC9tZW1iZXI+Cis8bWVtYmVyPjxuYW1lPkNvbmxldGggTydDb25uZWxsLCBWaWduZXR0ZTwvbmFtZT48L21lbWJlcj4KKzxtZW1iZXI+PG5hbWU+UGV0ZXIgU2hhcnBlLCBTb2Z0UXVhZDwvbmFtZT48L21lbWJlcj4KKzxtZW1iZXI+PG5hbWU+Sm9obiBUaWd1ZSwgRGF0YUNoYW5uZWw8L25hbWU+PC9tZW1iZXI+Cis8L29yZ2xpc3Q+CisKKzwvaW5mb3JtLWRpdjE+Cis8L2JhY2s+Cis8L3NwZWM+Cis8IS0tIEtlZXAgdGhpcyBjb21tZW50IGF0IHRoZSBlbmQgb2YgdGhlIGZpbGUKK0xvY2FsIHZhcmlhYmxlczoKK21vZGU6IHNnbWwKK3NnbWwtZGVmYXVsdC1kdGQtZmlsZToifi9zZ21sL3NwZWMuY2VkIgorc2dtbC1vbWl0dGFnOnQKK3NnbWwtc2hvcnR0YWc6dAorRW5kOgorLS0+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjExXzIucm5nIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IxMV8yLnJuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMzhhYzQ4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IxMV8yLnJuZwpAQCAtMCwwICsxLDE0IEBACis8ZWxlbWVudCBuYW1lPSJjYXJkIiBucz0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSIKKyAgICAgICAgIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+CisgIDx6ZXJvT3JNb3JlPgorICAgIDxhdHRyaWJ1dGU+CisgICAgICA8YW55TmFtZT4KKyAgICAgICAgPGV4Y2VwdD4KKyAgICAgICAgICA8bnNOYW1lLz4KKyAgICAgICAgICA8bnNOYW1lIG5zPSIiLz4KKyAgICAgICAgPC9leGNlcHQ+CisgICAgICA8L2FueU5hbWU+CisgICAgPC9hdHRyaWJ1dGU+CisgIDwvemVyb09yTW9yZT4KKyAgPHRleHQvPgorPC9lbGVtZW50PgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IxMV8yXzEueG1sIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IxMV8yXzEueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJiODRlYmIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjExXzJfMS54bWwKQEAgLTAsMCArMSw1IEBACis8Y2FyZCB4bWxucz0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSIKKyAgICAgeG1sbnM6YT0iaHR0cDovL3d3dy5leGFtcGxlLmNvbS9hIiBhOmZvbz0id29ya3MiCisgICAgIHhtbG5zOmI9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20vYiIgYjpmb289IndvcmtzIj4KKyAgIFRoaXMgc2hvdWxkIHdvcmsKKzwvY2FyZD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yMTFfMl8yLnhtbCBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yMTFfMl8yLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMDZiNGU3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IxMV8yXzIueG1sCkBAIC0wLDAgKzEsNSBAQAorPGNhcmQgeG1sbnM9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20iCisgICAgIHhtbG5zOmE9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20vYSIgYTpmb289IndvcmtzIgorICAgICB4bWxuczpiPSJodHRwOi8vd3d3LmV4YW1wbGUuY29tIiBiOmZvbz0iZmFpbHMiPgorICAgVGhpcyBzaG91bGQgZmFpbAorPC9jYXJkPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IxMV8yXzMueG1sIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IxMV8yXzMueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM4NDljMDMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjExXzJfMy54bWwKQEAgLTAsMCArMSw1IEBACis8Y2FyZCB4bWxucz0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSIKKyAgICAgeG1sbnM6YT0iaHR0cDovL2V4YW1wbGUuY29tL2EiIGE6Zm9vPSJ3b3JrcyIKKyAgICAgYj0iZmFpbHMiPgorICAgVGhpcyBzaG91bGQgZmFpbAorPC9jYXJkPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IxMV8zLnJuZyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yMTFfMy5ybmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzJlMDQxZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yMTFfMy5ybmcKQEAgLTAsMCArMSwxNSBAQAorPGVsZW1lbnQgbmFtZT0iZXhhbXBsZSIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4KKyAgPHplcm9Pck1vcmU+CisgICAgPGF0dHJpYnV0ZT4KKyAgICAgIDxhbnlOYW1lLz4KKyAgICA8L2F0dHJpYnV0ZT4KKyAgPC96ZXJvT3JNb3JlPgorICA8b3B0aW9uYWw+CisgICAgPGF0dHJpYnV0ZSBuYW1lPSJ4bWw6c3BhY2UiPgorICAgICAgPGNob2ljZT4KKyAgICAgICAgPHZhbHVlPmRlZmF1bHQ8L3ZhbHVlPgorICAgICAgICA8dmFsdWU+cHJlc2VydmU8L3ZhbHVlPgorICAgICAgPC9jaG9pY2U+CisgICAgPC9hdHRyaWJ1dGU+CisgIDwvb3B0aW9uYWw+Cis8L2VsZW1lbnQ+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjExXzNfMS54bWwgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjExXzNfMS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDFiNDdmYwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yMTFfM18xLnhtbApAQCAtMCwwICsxIEBACis8ZXhhbXBsZSBmb289ImJhciIgeG1sOnNwYWNlPSJkZWZhdWx0Ii8+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjExXzQucm5nIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IxMV80LnJuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNThjN2E1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IxMV80LnJuZwpAQCAtMCwwICsxLDE5IEBACis8ZWxlbWVudCBuYW1lPSJleGFtcGxlIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPgorICA8emVyb09yTW9yZT4KKyAgICA8YXR0cmlidXRlPgorICAgICAgPGFueU5hbWU+CisgICAgICAgIDxleGNlcHQ+CisgICAgICAgICAgPG5hbWU+eG1sOnNwYWNlPC9uYW1lPgorICAgICAgICA8L2V4Y2VwdD4KKyAgICAgIDwvYW55TmFtZT4KKyAgICA8L2F0dHJpYnV0ZT4KKyAgPC96ZXJvT3JNb3JlPgorICA8b3B0aW9uYWw+CisgICAgPGF0dHJpYnV0ZSBuYW1lPSJ4bWw6c3BhY2UiPgorICAgICAgPGNob2ljZT4KKyAgICAgICAgPHZhbHVlPmRlZmF1bHQ8L3ZhbHVlPgorICAgICAgICA8dmFsdWU+cHJlc2VydmU8L3ZhbHVlPgorICAgICAgPC9jaG9pY2U+CisgICAgPC9hdHRyaWJ1dGU+CisgIDwvb3B0aW9uYWw+Cis8L2VsZW1lbnQ+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjExXzRfMS54bWwgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjExXzRfMS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDFiNDdmYwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yMTFfNF8xLnhtbApAQCAtMCwwICsxIEBACis8ZXhhbXBsZSBmb289ImJhciIgeG1sOnNwYWNlPSJkZWZhdWx0Ii8+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjEyXzEucm5nIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IxMl8xLnJuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zOTAyNjg3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IxMl8xLnJuZwpAQCAtMCwwICsxLDEzIEBACis8ZWxlbWVudCBuYW1lPSJhZGRyZXNzQm9vayIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiB4bWxuczphPSJodHRwOi8vd3d3LmV4YW1wbGUuY29tL2Fubm90YXRpb24iPgorICA8emVyb09yTW9yZT4KKyAgICA8ZWxlbWVudCBuYW1lPSJjYXJkIj4KKyAgICAgIDxhOmRvY3VtZW50YXRpb24+SW5mb3JtYXRpb24gYWJvdXQgYSBzaW5nbGUgZW1haWwgYWRkcmVzcy48L2E6ZG9jdW1lbnRhdGlvbj4KKyAgICAgIDxlbGVtZW50IG5hbWU9Im5hbWUiPgorICAgICAgICA8dGV4dC8+CisgICAgICA8L2VsZW1lbnQ+CisgICAgICA8ZWxlbWVudCBuYW1lPSJlbWFpbCI+CisgICAgICAgIDx0ZXh0Lz4KKyAgICAgIDwvZWxlbWVudD4KKyAgICA8L2VsZW1lbnQ+CisgIDwvemVyb09yTW9yZT4KKzwvZWxlbWVudD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yMTJfMV8xLnhtbCBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yMTJfMV8xLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42OTNkZjE4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IxMl8xXzEueG1sCkBAIC0wLDAgKzEsMyBAQAorPGFkZHJlc3NCb29rPgorICA8Y2FyZD48bmFtZT5mb288L25hbWU+PGVtYWlsPmJhcjwvZW1haWw+PC9jYXJkPgorPC9hZGRyZXNzQm9vaz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yMTNfMS5ybmcgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjEzXzEucm5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY5NDUxNDIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjEzXzEucm5nCkBAIC0wLDAgKzEsMzMgQEAKKzxncmFtbWFyIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+CisKKzxzdGFydD4KKyAgPGVsZW1lbnQgbmFtZT0iZG9jIj4KKyAgICA8emVyb09yTW9yZT4KKyAgICAgIDxjaG9pY2U+CisJPGVsZW1lbnQgbmFtZT0icCI+CisJICA8cmVmIG5hbWU9ImlubGluZSIvPgorCTwvZWxlbWVudD4KKwk8Z3JhbW1hcj4KKwkgIDxpbmNsdWRlIGhyZWY9InRhYmxlLnJuZyI+CisJICAgIDxkZWZpbmUgbmFtZT0iY2VsbC5jb250ZW50Ij4KKwkgICAgICA8cGFyZW50UmVmIG5hbWU9ImlubGluZSIvPgorCSAgICA8L2RlZmluZT4KKyAgICAgICAgICA8L2luY2x1ZGU+CisJPC9ncmFtbWFyPgorICAgICAgPC9jaG9pY2U+CisgICAgPC96ZXJvT3JNb3JlPgorICA8L2VsZW1lbnQ+Cis8L3N0YXJ0PgorCis8ZGVmaW5lIG5hbWU9ImlubGluZSI+CisgIDx6ZXJvT3JNb3JlPgorICAgIDxjaG9pY2U+CisgICAgICA8dGV4dC8+CisgICAgICA8ZWxlbWVudCBuYW1lPSJlbSI+CisgICAgICAgIDxyZWYgbmFtZT0iaW5saW5lIi8+CisgICAgICA8L2VsZW1lbnQ+CisgICAgPC9jaG9pY2U+CisgIDwvemVyb09yTW9yZT4KKzwvZGVmaW5lPgorCis8L2dyYW1tYXI+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjEzXzFfMS54bWwgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjEzXzFfMS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTVjYjQzNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yMTNfMV8xLnhtbApAQCAtMCwwICsxLDEyIEBACis8ZG9jPgorICA8cD5zdGFydDwvcD4KKyAgPHRhYmxlPgorICAgIDx0cj4KKyAgICAgIDx0ZD4gPGVtPmhlbGxvPC9lbT4gITwvdGQ+CisgICAgPC90cj4KKyAgICA8dHI+CisgICAgICA8dGQ+PC90ZD4KKyAgICA8L3RyPgorICA8L3RhYmxlPgorICA8cD5lbmQ8L3A+Cis8L2RvYz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yMTRfMS5ybmcgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjE0XzEucm5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg3NDQzNTYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjE0XzEucm5nCkBAIC0wLDAgKzEsNTMgQEAKKzxlbGVtZW50IG5hbWU9Imh0bWwiIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+CisgIDxlbGVtZW50IG5hbWU9ImhlYWQiPgorICAgIDxlbGVtZW50IG5hbWU9InRpdGxlIj4KKyAgICAgIDx0ZXh0Lz4KKyAgICA8L2VsZW1lbnQ+CisgIDwvZWxlbWVudD4KKyAgPGVsZW1lbnQgbmFtZT0iYm9keSI+CisgICAgPGVsZW1lbnQgbmFtZT0idGFibGUiPgorICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJjbGFzcyI+CisgICAgICAgIDx2YWx1ZT5hZGRyZXNzQm9vazwvdmFsdWU+CisgICAgICA8L2F0dHJpYnV0ZT4KKyAgICAgIDxvbmVPck1vcmU+CisgICAgICAgIDxlbGVtZW50IG5hbWU9InRyIj4KKwkgIDxhdHRyaWJ1dGUgbmFtZT0iY2xhc3MiPgorCSAgICA8dmFsdWU+Y2FyZDwvdmFsdWU+CisJICA8L2F0dHJpYnV0ZT4KKyAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJ0ZCI+CisJICAgIDxhdHRyaWJ1dGUgbmFtZT0iY2xhc3MiPgorCSAgICAgIDx2YWx1ZT5uYW1lPC92YWx1ZT4KKwkgICAgPC9hdHRyaWJ1dGU+CisgICAgICAgICAgICA8aW50ZXJsZWF2ZT4KKyAgICAgICAgICAgICAgPHRleHQvPgorICAgICAgICAgICAgICA8b3B0aW9uYWw+CisgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3BhbiI+CisgICAgICAgICAgICAgICAgICA8YXR0cmlidXRlIG5hbWU9ImNsYXNzIj4KKyAgICAgICAgICAgICAgICAgICAgPHZhbHVlPmdpdmVuTmFtZTwvdmFsdWU+CisgICAgICAgICAgICAgICAgICA8L2F0dHJpYnV0ZT4KKyAgICAgICAgICAgICAgICAgIDx0ZXh0Lz4KKyAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CisgICAgICAgICAgICAgIDwvb3B0aW9uYWw+CisgICAgICAgICAgICAgIDxvcHRpb25hbD4KKyAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJzcGFuIj4KKyAgICAgICAgICAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0iY2xhc3MiPgorICAgICAgICAgICAgICAgICAgICA8dmFsdWU+ZmFtaWx5TmFtZTwvdmFsdWU+CisgICAgICAgICAgICAgICAgICA8L2F0dHJpYnV0ZT4KKyAgICAgICAgICAgICAgICAgIDx0ZXh0Lz4KKyAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CisgICAgICAgICAgICAgIDwvb3B0aW9uYWw+CisgICAgICAgICAgICA8L2ludGVybGVhdmU+CisgICAgICAgICAgPC9lbGVtZW50PgorICAgICAgICAgIDxlbGVtZW50IG5hbWU9InRkIj4KKwkgICAgPGF0dHJpYnV0ZSBuYW1lPSJjbGFzcyI+CisJICAgICAgPHZhbHVlPmVtYWlsPC92YWx1ZT4KKwkgICAgPC9hdHRyaWJ1dGU+CisgICAgICAgICAgICA8dGV4dC8+CisgICAgICAgICAgPC9lbGVtZW50PgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L29uZU9yTW9yZT4KKyAgICA8L2VsZW1lbnQ+CisgIDwvZWxlbWVudD4KKzwvZWxlbWVudD4KKworCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjFfMS5ybmcgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjFfMS5ybmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODZmOGNkMQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yMV8xLnJuZwpAQCAtMCwwICsxLDEyIEBACis8ZWxlbWVudCBuYW1lPSJhZGRyZXNzQm9vayIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4KKyAgPHplcm9Pck1vcmU+CisgICAgPGVsZW1lbnQgbmFtZT0iY2FyZCI+CisgICAgICA8ZWxlbWVudCBuYW1lPSJuYW1lIj4KKyAgICAgICAgPHRleHQvPgorICAgICAgPC9lbGVtZW50PgorICAgICAgPGVsZW1lbnQgbmFtZT0iZW1haWwiPgorICAgICAgICA8dGV4dC8+CisgICAgICA8L2VsZW1lbnQ+CisgICAgPC9lbGVtZW50PgorICA8L3plcm9Pck1vcmU+Cis8L2VsZW1lbnQ+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjFfMV8xLnhtbCBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yMV8xXzEueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVkYWM4YmEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjFfMV8xLnhtbApAQCAtMCwwICsxLDEwIEBACis8YWRkcmVzc0Jvb2s+CisgIDxjYXJkPgorICAgIDxuYW1lPkpvaG4gU21pdGg8L25hbWU+CisgICAgPGVtYWlsPmpzQGV4YW1wbGUuY29tPC9lbWFpbD4KKyAgPC9jYXJkPgorICA8Y2FyZD4KKyAgICA8bmFtZT5GcmVkIEJsb2dnczwvbmFtZT4KKyAgICA8ZW1haWw+ZmJAZXhhbXBsZS5uZXQ8L2VtYWlsPgorICA8L2NhcmQ+Cis8L2FkZHJlc3NCb29rPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IxXzIucm5nIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IxXzIucm5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVkOWNmN2EKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjFfMi5ybmcKQEAgLTAsMCArMSwxMiBAQAorPGVsZW1lbnQgbmFtZT0iYWRkcmVzc0Jvb2siIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+CisgIDxvbmVPck1vcmU+CisgICAgPGVsZW1lbnQgbmFtZT0iY2FyZCI+CisgICAgICA8ZWxlbWVudCBuYW1lPSJuYW1lIj4KKyAgICAgICAgPHRleHQvPgorICAgICAgPC9lbGVtZW50PgorICAgICAgPGVsZW1lbnQgbmFtZT0iZW1haWwiPgorICAgICAgICA8dGV4dC8+CisgICAgICA8L2VsZW1lbnQ+CisgICAgPC9lbGVtZW50PgorICA8L29uZU9yTW9yZT4KKzwvZWxlbWVudD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yMV8yXzEueG1sIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IxXzJfMS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWRhYzhiYQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yMV8yXzEueG1sCkBAIC0wLDAgKzEsMTAgQEAKKzxhZGRyZXNzQm9vaz4KKyAgPGNhcmQ+CisgICAgPG5hbWU+Sm9obiBTbWl0aDwvbmFtZT4KKyAgICA8ZW1haWw+anNAZXhhbXBsZS5jb208L2VtYWlsPgorICA8L2NhcmQ+CisgIDxjYXJkPgorICAgIDxuYW1lPkZyZWQgQmxvZ2dzPC9uYW1lPgorICAgIDxlbWFpbD5mYkBleGFtcGxlLm5ldDwvZW1haWw+CisgIDwvY2FyZD4KKzwvYWRkcmVzc0Jvb2s+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjFfMy5ybmcgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjFfMy5ybmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjM4ODZkMAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yMV8zLnJuZwpAQCAtMCwwICsxLDE3IEBACis8ZWxlbWVudCBuYW1lPSJhZGRyZXNzQm9vayIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4KKyAgPHplcm9Pck1vcmU+CisgICAgPGVsZW1lbnQgbmFtZT0iY2FyZCI+CisgICAgICA8ZWxlbWVudCBuYW1lPSJuYW1lIj4KKyAgICAgICAgPHRleHQvPgorICAgICAgPC9lbGVtZW50PgorICAgICAgPGVsZW1lbnQgbmFtZT0iZW1haWwiPgorICAgICAgICA8dGV4dC8+CisgICAgICA8L2VsZW1lbnQ+CisgICAgICA8b3B0aW9uYWw+CisJPGVsZW1lbnQgbmFtZT0ibm90ZSI+CisJICA8dGV4dC8+CisJPC9lbGVtZW50PgorICAgICAgPC9vcHRpb25hbD4KKyAgICA8L2VsZW1lbnQ+CisgIDwvemVyb09yTW9yZT4KKzwvZWxlbWVudD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yMV8zXzEueG1sIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IxXzNfMS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWRhYzhiYQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yMV8zXzEueG1sCkBAIC0wLDAgKzEsMTAgQEAKKzxhZGRyZXNzQm9vaz4KKyAgPGNhcmQ+CisgICAgPG5hbWU+Sm9obiBTbWl0aDwvbmFtZT4KKyAgICA8ZW1haWw+anNAZXhhbXBsZS5jb208L2VtYWlsPgorICA8L2NhcmQ+CisgIDxjYXJkPgorICAgIDxuYW1lPkZyZWQgQmxvZ2dzPC9uYW1lPgorICAgIDxlbWFpbD5mYkBleGFtcGxlLm5ldDwvZW1haWw+CisgIDwvY2FyZD4KKzwvYWRkcmVzc0Jvb2s+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjFfNC5ybmcgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjFfNC5ybmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTc0NGZjZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yMV80LnJuZwpAQCAtMCwwICsxLDEyIEBACis8cm5nOmVsZW1lbnQgbmFtZT0iYWRkcmVzc0Jvb2siIHhtbG5zOnJuZz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPgorICA8cm5nOnplcm9Pck1vcmU+CisgICAgPHJuZzplbGVtZW50IG5hbWU9ImNhcmQiPgorICAgICAgPHJuZzplbGVtZW50IG5hbWU9Im5hbWUiPgorICAgICAgICA8cm5nOnRleHQvPgorICAgICAgPC9ybmc6ZWxlbWVudD4KKyAgICAgIDxybmc6ZWxlbWVudCBuYW1lPSJlbWFpbCI+CisgICAgICAgIDxybmc6dGV4dC8+CisgICAgICA8L3JuZzplbGVtZW50PgorICAgIDwvcm5nOmVsZW1lbnQ+CisgIDwvcm5nOnplcm9Pck1vcmU+Cis8L3JuZzplbGVtZW50PgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IxXzRfMS54bWwgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjFfNF8xLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZGFjOGJhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IxXzRfMS54bWwKQEAgLTAsMCArMSwxMCBAQAorPGFkZHJlc3NCb29rPgorICA8Y2FyZD4KKyAgICA8bmFtZT5Kb2huIFNtaXRoPC9uYW1lPgorICAgIDxlbWFpbD5qc0BleGFtcGxlLmNvbTwvZW1haWw+CisgIDwvY2FyZD4KKyAgPGNhcmQ+CisgICAgPG5hbWU+RnJlZCBCbG9nZ3M8L25hbWU+CisgICAgPGVtYWlsPmZiQGV4YW1wbGUubmV0PC9lbWFpbD4KKyAgPC9jYXJkPgorPC9hZGRyZXNzQm9vaz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yMl8xLnJuZyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yMl8xLnJuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NmEzY2U0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IyXzEucm5nCkBAIC0wLDAgKzEsMjcgQEAKKzxlbGVtZW50IG5hbWU9ImFkZHJlc3NCb29rIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPgorICA8emVyb09yTW9yZT4KKyAgICA8ZWxlbWVudCBuYW1lPSJjYXJkIj4KKyAgICAgIDxjaG9pY2U+CisgICAgICAgIDxlbGVtZW50IG5hbWU9Im5hbWUiPgorICAgICAgICAgIDx0ZXh0Lz4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgICA8Z3JvdXA+CisgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iZ2l2ZW5OYW1lIj4KKyAgICAgICAgICAgIDx0ZXh0Lz4KKyAgICAgICAgICA8L2VsZW1lbnQ+CisgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iZmFtaWx5TmFtZSI+CisgICAgICAgICAgICA8dGV4dC8+CisgICAgICAgICAgPC9lbGVtZW50PgorICAgICAgICA8L2dyb3VwPgorICAgICAgPC9jaG9pY2U+CisgICAgICA8ZWxlbWVudCBuYW1lPSJlbWFpbCI+CisgICAgICAgIDx0ZXh0Lz4KKyAgICAgIDwvZWxlbWVudD4KKyAgICAgIDxvcHRpb25hbD4KKwk8ZWxlbWVudCBuYW1lPSJub3RlIj4KKwkgIDx0ZXh0Lz4KKwk8L2VsZW1lbnQ+CisgICAgICA8L29wdGlvbmFsPgorICAgIDwvZWxlbWVudD4KKyAgPC96ZXJvT3JNb3JlPgorPC9lbGVtZW50PgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IyXzFfMS54bWwgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjJfMV8xLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43OWI1NTg0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IyXzFfMS54bWwKQEAgLTAsMCArMSwxMSBAQAorPGFkZHJlc3NCb29rPgorICA8Y2FyZD4KKyAgICA8Z2l2ZW5OYW1lPkpvaG48L2dpdmVuTmFtZT4KKyAgICA8ZmFtaWx5TmFtZT5TbWl0aDwvZmFtaWx5TmFtZT4KKyAgICA8ZW1haWw+anNAZXhhbXBsZS5jb208L2VtYWlsPgorICA8L2NhcmQ+CisgIDxjYXJkPgorICAgIDxuYW1lPkZyZWQgQmxvZ2dzPC9uYW1lPgorICAgIDxlbWFpbD5mYkBleGFtcGxlLm5ldDwvZW1haWw+CisgIDwvY2FyZD4KKzwvYWRkcmVzc0Jvb2s+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjNfMS5ybmcgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjNfMS5ybmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzhkNjczNgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yM18xLnJuZwpAQCAtMCwwICsxLDEyIEBACis8ZWxlbWVudCBuYW1lPSJhZGRyZXNzQm9vayIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4KKyAgPHplcm9Pck1vcmU+CisgICAgPGVsZW1lbnQgbmFtZT0iY2FyZCI+CisgICAgICA8YXR0cmlidXRlIG5hbWU9Im5hbWUiPgorICAgICAgICA8dGV4dC8+CisgICAgICA8L2F0dHJpYnV0ZT4KKyAgICAgIDxhdHRyaWJ1dGUgbmFtZT0iZW1haWwiPgorICAgICAgICA8dGV4dC8+CisgICAgICA8L2F0dHJpYnV0ZT4KKyAgICA8L2VsZW1lbnQ+CisgIDwvemVyb09yTW9yZT4KKzwvZWxlbWVudD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yM18xXzEueG1sIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IzXzFfMS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjk4NDllNgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yM18xXzEueG1sCkBAIC0wLDAgKzEsMyBAQAorPGFkZHJlc3NCb29rPgorICA8Y2FyZCBuYW1lPSJKb2huIFNtaXRoIiBlbWFpbD0ianNAZXhhbXBsZS5jb20iLz4KKzwvYWRkcmVzc0Jvb2s+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjNfMV8yLnhtbCBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yM18xXzIueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU5YTc2NmYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjNfMV8yLnhtbApAQCAtMCwwICsxLDMgQEAKKzxhZGRyZXNzQm9vaz4KKyAgPGNhcmQgZW1haWw9ImpzQGV4YW1wbGUuY29tIiBuYW1lPSJKb2huIFNtaXRoIi8+Cis8L2FkZHJlc3NCb29rPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IzXzIucm5nIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IzXzIucm5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVlYjZmYTQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjNfMi5ybmcKQEAgLTAsMCArMSw4IEBACis8ZWxlbWVudCBuYW1lPSJjYXJkIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPgorICA8ZWxlbWVudCBuYW1lPSJuYW1lIj4KKyAgICA8dGV4dC8+CisgIDwvZWxlbWVudD4KKyAgPGVsZW1lbnQgbmFtZT0iZW1haWwiPgorICAgIDx0ZXh0Lz4KKyAgPC9lbGVtZW50PgorPC9lbGVtZW50PgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IzXzJfMS54bWwgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjNfMl8xLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43M2MyZmE2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IzXzJfMS54bWwKQEAgLTAsMCArMSBAQAorPGNhcmQ+PGVtYWlsPmpzQGV4YW1wbGUuY29tPC9lbWFpbD48bmFtZT5Kb2huIFNtaXRoPC9uYW1lPjwvY2FyZD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yM18zLnJuZyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yM18zLnJuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NjE5M2U4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IzXzMucm5nCkBAIC0wLDAgKzEsMTcgQEAKKzxlbGVtZW50IG5hbWU9ImFkZHJlc3NCb29rIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPgorICA8emVyb09yTW9yZT4KKyAgICA8ZWxlbWVudCBuYW1lPSJjYXJkIj4KKyAgICAgIDxhdHRyaWJ1dGUgbmFtZT0ibmFtZSI+CisgICAgICAgIDx0ZXh0Lz4KKyAgICAgIDwvYXR0cmlidXRlPgorICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJlbWFpbCI+CisgICAgICAgIDx0ZXh0Lz4KKyAgICAgIDwvYXR0cmlidXRlPgorICAgICAgPG9wdGlvbmFsPgorICAgICAgICA8YXR0cmlidXRlIG5hbWU9Im5vdGUiPgorICAgICAgICAgIDx0ZXh0Lz4KKyAgICAgICAgPC9hdHRyaWJ1dGU+CisgICAgICA8L29wdGlvbmFsPgorICAgIDwvZWxlbWVudD4KKyAgPC96ZXJvT3JNb3JlPgorPC9lbGVtZW50PgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IzXzNfMS54bWwgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjNfM18xLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kOWM5NTYwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IzXzNfMS54bWwKQEAgLTAsMCArMSw0IEBACis8YWRkcmVzc0Jvb2s+CisgIDxjYXJkIG5hbWU9ImZvbyIgZW1haWw9ImJhciIvPgorICA8Y2FyZCBuYW1lPSJmb28yIiBub3RlPSJzZWNvbmQiIGVtYWlsPSJiYXIyIi8+Cis8L2FkZHJlc3NCb29rPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IzXzQucm5nIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IzXzQucm5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlhNjM5MTcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjNfNC5ybmcKQEAgLTAsMCArMSwyMiBAQAorPGVsZW1lbnQgbmFtZT0iYWRkcmVzc0Jvb2siICB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPgorICA8emVyb09yTW9yZT4KKyAgICA8ZWxlbWVudCBuYW1lPSJjYXJkIj4KKyAgICAgIDxjaG9pY2U+CisgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0ibmFtZSI+CisgICAgICAgICAgPHRleHQvPgorICAgICAgICA8L2F0dHJpYnV0ZT4KKyAgICAgICAgPGdyb3VwPgorICAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0iZ2l2ZW5OYW1lIj4KKyAgICAgICAgICAgIDx0ZXh0Lz4KKyAgICAgICAgICA8L2F0dHJpYnV0ZT4KKyAgICAgICAgICA8YXR0cmlidXRlIG5hbWU9ImZhbWlseU5hbWUiPgorICAgICAgICAgICAgPHRleHQvPgorICAgICAgICAgIDwvYXR0cmlidXRlPgorICAgICAgICA8L2dyb3VwPgorICAgICAgPC9jaG9pY2U+CisgICAgICA8YXR0cmlidXRlIG5hbWU9ImVtYWlsIj4KKyAgICAgICAgPHRleHQvPgorICAgICAgPC9hdHRyaWJ1dGU+CisgICAgPC9lbGVtZW50PgorICA8L3plcm9Pck1vcmU+Cis8L2VsZW1lbnQ+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjNfNF8xLnhtbCBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yM180XzEueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJiMmE1NGIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjNfNF8xLnhtbApAQCAtMCwwICsxLDQgQEAKKzxhZGRyZXNzQm9vaz4KKyAgPGNhcmQgbmFtZT0iZm9vIiBlbWFpbD0iYmFyIi8+CisgIDxjYXJkIGdpdmVuTmFtZT0iZCIgZmFtaWx5TmFtZT0idiIgZW1haWw9ImJhciIvPgorPC9hZGRyZXNzQm9vaz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yM181LnJuZyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yM181LnJuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MjlmMjE5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IzXzUucm5nCkBAIC0wLDAgKzEsMjIgQEAKKzxlbGVtZW50IG5hbWU9ImFkZHJlc3NCb29rIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPgorICA8emVyb09yTW9yZT4KKyAgICA8ZWxlbWVudCBuYW1lPSJjYXJkIj4KKyAgICAgIDxjaG9pY2U+CisJPGVsZW1lbnQgbmFtZT0ibmFtZSI+CisJICA8dGV4dC8+CisJPC9lbGVtZW50PgorCTxhdHRyaWJ1dGUgbmFtZT0ibmFtZSI+CisJICA8dGV4dC8+CisJPC9hdHRyaWJ1dGU+CisgICAgICA8L2Nob2ljZT4KKyAgICAgIDxjaG9pY2U+CisJPGVsZW1lbnQgbmFtZT0iZW1haWwiPgorCSAgPHRleHQvPgorCTwvZWxlbWVudD4KKwk8YXR0cmlidXRlIG5hbWU9ImVtYWlsIj4KKwkgIDx0ZXh0Lz4KKwk8L2F0dHJpYnV0ZT4KKyAgICAgIDwvY2hvaWNlPgorICAgIDwvZWxlbWVudD4KKyAgPC96ZXJvT3JNb3JlPgorPC9lbGVtZW50PgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IzXzVfMS54bWwgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjNfNV8xLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNDU3MjIwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IzXzVfMS54bWwKQEAgLTAsMCArMSw3IEBACis8YWRkcmVzc0Jvb2s+Cis8Y2FyZCBuYW1lPSJKb2huIFNtaXRoIiBlbWFpbD0ianNAZXhhbXBsZS5jb20iLz4KKzxjYXJkIGVtYWlsPSJqc0BleGFtcGxlLmNvbSIgbmFtZT0iSm9obiBTbWl0aCIvPgorPGNhcmQgZW1haWw9ImpzQGV4YW1wbGUuY29tIj48bmFtZT5Kb2huIFNtaXRoPC9uYW1lPjwvY2FyZD4KKzxjYXJkIG5hbWU9IkpvaG4gU21pdGgiPjxlbWFpbD5qc0BleGFtcGxlLmNvbTwvZW1haWw+PC9jYXJkPgorPGNhcmQ+PG5hbWU+Sm9obiBTbWl0aDwvbmFtZT48ZW1haWw+anNAZXhhbXBsZS5jb208L2VtYWlsPjwvY2FyZD4KKzwvYWRkcmVzc0Jvb2s+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjNfNV8yLnhtbCBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yM181XzIueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJhYTU2ZGMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjNfNV8yLnhtbApAQCAtMCwwICsxLDMgQEAKKzxhZGRyZXNzQm9vaz4KKzxjYXJkPjxlbWFpbD5qc0BleGFtcGxlLmNvbTwvZW1haWw+PG5hbWU+Sm9obiBTbWl0aDwvbmFtZT48L2NhcmQ+Cis8L2FkZHJlc3NCb29rPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IzXzYucm5nIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IzXzYucm5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFjODgxNGEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjNfNi5ybmcKQEAgLTAsMCArMSw4IEBACis8ZWxlbWVudCBuYW1lPSJhZGRyZXNzQm9vayIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4KKyAgPHplcm9Pck1vcmU+CisgICAgPGVsZW1lbnQgbmFtZT0iY2FyZCI+CisgICAgICA8YXR0cmlidXRlIG5hbWU9ImVtYWlsIi8+CisgICAgPC9lbGVtZW50PgorICA8L3plcm9Pck1vcmU+Cis8L2VsZW1lbnQ+CisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yM182XzEueG1sIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IzXzZfMS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODA4MTczNAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yM182XzEueG1sCkBAIC0wLDAgKzEsMyBAQAorPGFkZHJlc3NCb29rPgorPGNhcmQgZW1haWw9ImpzQGV4YW1wbGUuY29tIi8+Cis8L2FkZHJlc3NCb29rPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IzXzcucm5nIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IzXzcucm5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg0ZmY1NzYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjNfNy5ybmcKQEAgLTAsMCArMSwyIEBACis8ZWxlbWVudCBuYW1lPSJ4IiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiLz4KKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IzXzdfMS54bWwgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjNfN18xLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MWFhNmQ3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IzXzdfMS54bWwKQEAgLTAsMCArMSBAQAorPHgvPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IzXzgucm5nIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IzXzgucm5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFiNzgwZTYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjNfOC5ybmcKQEAgLTAsMCArMSwxNyBAQAorPGVsZW1lbnQgbmFtZT0iYWRkcmVzc0Jvb2siIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+CisgIDx6ZXJvT3JNb3JlPgorICAgIDxlbGVtZW50IG5hbWU9ImNhcmQiPgorICAgICAgPGVsZW1lbnQgbmFtZT0ibmFtZSI+CisgICAgICAgIDx0ZXh0Lz4KKyAgICAgIDwvZWxlbWVudD4KKyAgICAgIDxlbGVtZW50IG5hbWU9ImVtYWlsIj4KKyAgICAgICAgPHRleHQvPgorICAgICAgPC9lbGVtZW50PgorICAgICAgPG9wdGlvbmFsPgorICAgICAgICA8ZWxlbWVudCBuYW1lPSJwcmVmZXJzSFRNTCI+CisgICAgICAgICAgPGVtcHR5Lz4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9vcHRpb25hbD4KKyAgICA8L2VsZW1lbnQ+CisgIDwvemVyb09yTW9yZT4KKzwvZWxlbWVudD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yM184XzEueG1sIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IzXzhfMS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGQ0N2UyNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yM184XzEueG1sCkBAIC0wLDAgKzEsNCBAQAorPGFkZHJlc3NCb29rPgorICA8Y2FyZD48bmFtZT5mb288L25hbWU+PGVtYWlsPmJhcjwvZW1haWw+PHByZWZlcnNIVE1MLz48L2NhcmQ+CisgIDxjYXJkPjxuYW1lPmZvbzwvbmFtZT48ZW1haWw+YmFyPC9lbWFpbD48L2NhcmQ+Cis8L2FkZHJlc3NCb29rPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IzXzkucm5nIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IzXzkucm5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEzODk1Y2MKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjNfOS5ybmcKQEAgLTAsMCArMSw1IEBACis8ZWxlbWVudCBuYW1lPSJjYXJkIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPgorICA8YXR0cmlidXRlIG5hbWU9ImVtYWlsIj4KKyAgICA8dGV4dC8+CisgIDwvYXR0cmlidXRlPgorPC9lbGVtZW50PgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IzXzlfMS54bWwgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjNfOV8xLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MTUzYmM4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3IzXzlfMS54bWwKQEAgLTAsMCArMSBAQAorPGNhcmQgZW1haWw9ImZvbyIvPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I0XzEucm5nIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I0XzEucm5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRkMTA2MDIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjRfMS5ybmcKQEAgLTAsMCArMSwyMiBAQAorPGdyYW1tYXIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4KKworICA8c3RhcnQ+CisgICAgPGVsZW1lbnQgbmFtZT0iYWRkcmVzc0Jvb2siPgorICAgICAgPHplcm9Pck1vcmU+CisJPGVsZW1lbnQgbmFtZT0iY2FyZCI+CisJICA8cmVmIG5hbWU9ImNhcmRDb250ZW50Ii8+CisJPC9lbGVtZW50PgorICAgICAgPC96ZXJvT3JNb3JlPgorICAgIDwvZWxlbWVudD4KKyAgPC9zdGFydD4KKworICA8ZGVmaW5lIG5hbWU9ImNhcmRDb250ZW50Ij4KKyAgICA8ZWxlbWVudCBuYW1lPSJuYW1lIj4KKyAgICAgIDx0ZXh0Lz4KKyAgICA8L2VsZW1lbnQ+CisgICAgPGVsZW1lbnQgbmFtZT0iZW1haWwiPgorICAgICAgPHRleHQvPgorICAgIDwvZWxlbWVudD4KKyAgPC9kZWZpbmU+CisKKzwvZ3JhbW1hcj4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yNF8xXzEueG1sIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I0XzFfMS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWI4NjE2YQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yNF8xXzEueG1sCkBAIC0wLDAgKzEsNCBAQAorPGFkZHJlc3NCb29rPgorICA8Y2FyZD48bmFtZT5Kb2huIFNtaXRoPC9uYW1lPjxlbWFpbD5qc0BleGFtcGxlLmNvbSI8L2VtYWlsPjwvY2FyZD4KKyAgPGNhcmQ+PG5hbWU+Sm9obiBTbWl0aDI8L25hbWU+PGVtYWlsPmpzMkBleGFtcGxlLmNvbSI8L2VtYWlsPjwvY2FyZD4KKzwvYWRkcmVzc0Jvb2s+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjRfMi5ybmcgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjRfMi5ybmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjQ0YjA2ZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yNF8yLnJuZwpAQCAtMCwwICsxLDM0IEBACis8Z3JhbW1hciB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPgorCisgIDxzdGFydD4KKyAgICA8cmVmIG5hbWU9IkFkZHJlc3NCb29rIi8+CisgIDwvc3RhcnQ+CisKKyAgPGRlZmluZSBuYW1lPSJBZGRyZXNzQm9vayI+CisgICAgPGVsZW1lbnQgbmFtZT0iYWRkcmVzc0Jvb2siPgorICAgICAgPHplcm9Pck1vcmU+CisgICAgICAgIDxyZWYgbmFtZT0iQ2FyZCIvPgorICAgICAgPC96ZXJvT3JNb3JlPgorICAgIDwvZWxlbWVudD4KKyAgPC9kZWZpbmU+CisKKyAgPGRlZmluZSBuYW1lPSJDYXJkIj4KKyAgICA8ZWxlbWVudCBuYW1lPSJjYXJkIj4KKyAgICAgIDxyZWYgbmFtZT0iTmFtZSIvPgorICAgICAgPHJlZiBuYW1lPSJFbWFpbCIvPgorICAgIDwvZWxlbWVudD4KKyAgPC9kZWZpbmU+CisKKyAgPGRlZmluZSBuYW1lPSJOYW1lIj4KKyAgICA8ZWxlbWVudCBuYW1lPSJuYW1lIj4KKyAgICAgIDx0ZXh0Lz4KKyAgICA8L2VsZW1lbnQ+CisgIDwvZGVmaW5lPgorCisgIDxkZWZpbmUgbmFtZT0iRW1haWwiPgorICAgIDxlbGVtZW50IG5hbWU9ImVtYWlsIj4KKyAgICAgIDx0ZXh0Lz4KKyAgICA8L2VsZW1lbnQ+CisgIDwvZGVmaW5lPgorCis8L2dyYW1tYXI+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjRfMl8xLnhtbCBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yNF8yXzEueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjliODYxNmEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjRfMl8xLnhtbApAQCAtMCwwICsxLDQgQEAKKzxhZGRyZXNzQm9vaz4KKyAgPGNhcmQ+PG5hbWU+Sm9obiBTbWl0aDwvbmFtZT48ZW1haWw+anNAZXhhbXBsZS5jb20iPC9lbWFpbD48L2NhcmQ+CisgIDxjYXJkPjxuYW1lPkpvaG4gU21pdGgyPC9uYW1lPjxlbWFpbD5qczJAZXhhbXBsZS5jb20iPC9lbWFpbD48L2NhcmQ+Cis8L2FkZHJlc3NCb29rPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I0XzMucm5nIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I0XzMucm5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBmMmEwYTkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjRfMy5ybmcKQEAgLTAsMCArMSwyNyBAQAorPGdyYW1tYXIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4KKyAgPHN0YXJ0PgorICAgIDxlbGVtZW50IG5hbWU9InAiPgorICAgICAgPHJlZiBuYW1lPSJpbmxpbmUiLz4KKyAgICA8L2VsZW1lbnQ+CisgIDwvc3RhcnQ+CisKKyAgPGRlZmluZSBuYW1lPSJpbmxpbmUiPgorICAgIDx6ZXJvT3JNb3JlPgorICAgICAgPGNob2ljZT4KKyAgICAgICAgPHRleHQvPgorICAgICAgICA8ZWxlbWVudCBuYW1lPSJib2xkIj4KKyAgICAgICAgICA8cmVmIG5hbWU9ImlubGluZSIvPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICAgIDxlbGVtZW50IG5hbWU9Iml0YWxpYyI+CisgICAgICAgICAgPHJlZiBuYW1lPSJpbmxpbmUiLz4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgICA8ZWxlbWVudCBuYW1lPSJzcGFuIj4KKyAgICAgICAgICA8b3B0aW9uYWw+CisgICAgICAgICAgICA8YXR0cmlidXRlIG5hbWU9InN0eWxlIi8+CisgICAgICAgICAgPC9vcHRpb25hbD4KKyAgICAgICAgICA8cmVmIG5hbWU9ImlubGluZSIvPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2Nob2ljZT4KKyAgICA8L3plcm9Pck1vcmU+CisgIDwvZGVmaW5lPgorPC9ncmFtbWFyPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I0XzNfMS54bWwgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjRfM18xLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMWVlODgyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I0XzNfMS54bWwKQEAgLTAsMCArMSBAQAorPHA+PC9wPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I0XzNfMi54bWwgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjRfM18yLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYThiOTUzCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I0XzNfMi54bWwKQEAgLTAsMCArMSBAQAorPHA+YTwvcD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yNF8zXzMueG1sIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I0XzNfMy54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGJmOWJkNQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yNF8zXzMueG1sCkBAIC0wLDAgKzEgQEAKKzxwPjxib2xkPjwvYm9sZD48L3A+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjRfM180LnhtbCBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yNF8zXzQueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVjMjg0ZTYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjRfM180LnhtbApAQCAtMCwwICsxIEBACis8cD48Ym9sZD48aXRhbGljPmM8L2l0YWxpYz48L2JvbGQ+PC9wPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I0XzNfNS54bWwgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjRfM181LnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZGM3YWYyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I0XzNfNS54bWwKQEAgLTAsMCArMSBAQAorPHA+YTxib2xkPmI8aXRhbGljPmM8L2l0YWxpYz5kPC9ib2xkPmU8c3Bhbj5mPC9zcGFuPmc8L3A+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjRfM182LnhtbCBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yNF8zXzYueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY3MTU3NjMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjRfM182LnhtbApAQCAtMCwwICsxIEBACis8cD5hPGJvbGQ+YjxzcGFuIHN0eWxlPSJmb28iPmM8L3NwYW4+ZDwvYm9sZD5lPGl0YWxpYz5mPC9pdGFsaWM+ZzwvcD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yNF80LnJuZyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yNF80LnJuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZTRmMTljCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I0XzQucm5nCkBAIC0wLDAgKzEsMjggQEAKKzxncmFtbWFyIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+CisgIDxzdGFydD4KKyAgICA8ZWxlbWVudCBuYW1lPSJwIj4KKyAgICAgIDxyZWYgbmFtZT0iaW5saW5lIi8+CisgICAgPC9lbGVtZW50PgorICA8L3N0YXJ0PgorCisgIDxkZWZpbmUgbmFtZT0iaW5saW5lIj4KKyAgICA8Y2hvaWNlPgorICAgICAgPHRleHQvPgorICAgICAgPGVsZW1lbnQgbmFtZT0iYm9sZCI+CisgICAgICAgIDxyZWYgbmFtZT0iaW5saW5lIi8+CisgICAgICA8L2VsZW1lbnQ+CisgICAgICA8ZWxlbWVudCBuYW1lPSJpdGFsaWMiPgorICAgICAgICA8cmVmIG5hbWU9ImlubGluZSIvPgorICAgICAgPC9lbGVtZW50PgorICAgICAgPGVsZW1lbnQgbmFtZT0ic3BhbiI+CisgICAgICAgIDxvcHRpb25hbD4KKyAgCTxhdHRyaWJ1dGUgbmFtZT0ic3R5bGUiLz4KKyAgICAgICAgPC9vcHRpb25hbD4KKyAgICAgICAgPHJlZiBuYW1lPSJpbmxpbmUiLz4KKyAgICAgIDwvZWxlbWVudD4KKyAgICA8L2Nob2ljZT4KKyAgICA8b3B0aW9uYWw+CisgICAgICA8cmVmIG5hbWU9ImlubGluZSIvPgorICAgIDwvb3B0aW9uYWw+CisgIDwvZGVmaW5lPgorPC9ncmFtbWFyPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I0XzRfMS54bWwgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjRfNF8xLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZGM3YWYyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I0XzRfMS54bWwKQEAgLTAsMCArMSBAQAorPHA+YTxib2xkPmI8aXRhbGljPmM8L2l0YWxpYz5kPC9ib2xkPmU8c3Bhbj5mPC9zcGFuPmc8L3A+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjVfMS5ybmcgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjVfMS5ybmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTAzYTA0MwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yNV8xLnJuZwpAQCAtMCwwICsxLDMgQEAKKzxlbGVtZW50IG5hbWU9Im51bWJlciIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4KKyAgPGRhdGEgdHlwZT0iaW50IiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyIvPgorPC9lbGVtZW50PgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I1XzFfMS54bWwgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjVfMV8xLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYTAxODUzCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I1XzFfMS54bWwKQEAgLTAsMCArMSBAQAorPG51bWJlcj41PC9udW1iZXI+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjVfMi5ybmcgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjVfMi5ybmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWQ3NDlkYwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yNV8yLnJuZwpAQCAtMCwwICsxLDkgQEAKKzxlbGVtZW50IG5hbWU9InBvaW50IiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiCisgICAgICAgICBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgIDxlbGVtZW50IG5hbWU9IngiPgorICAgIDxkYXRhIHR5cGU9ImRvdWJsZSIvPgorICA8L2VsZW1lbnQ+CisgIDxlbGVtZW50IG5hbWU9InkiPgorICAgIDxkYXRhIHR5cGU9ImRvdWJsZSIvPgorICA8L2VsZW1lbnQ+Cis8L2VsZW1lbnQ+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjVfMl8xLnhtbCBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yNV8yXzEueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc1YzM4N2QKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjVfMl8xLnhtbApAQCAtMCwwICsxIEBACis8cG9pbnQ+PHg+MTwveD48eT41LjIwPC95PjwvcG9pbnQ+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjVfMy5ybmcgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjVfMy5ybmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTQ5ZjZlYwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yNV8zLnJuZwpAQCAtMCwwICsxLDYgQEAKKzxlbGVtZW50IG5hbWU9ImJhZCIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4KKyAgPGRhdGEgdHlwZT0ic3RyaW5nIi8+CisgIDxlbGVtZW50IG5hbWU9Im5vdGUiPgorICAgIDx0ZXh0Lz4KKyAgPC9lbGVtZW50PgorPC9lbGVtZW50PgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I1XzNfMS54bWwgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjVfM18xLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZDczMDk4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I1XzNfMS54bWwKQEAgLTAsMCArMSBAQAorPGJhZD41PG5vdGU+ZmFpbHM8L25vdGU+PC9iYWQ+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjVfNC5ybmcgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjVfNC5ybmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTZhYWU5NAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yNV80LnJuZwpAQCAtMCwwICsxLDYgQEAKKzxlbGVtZW50IG5hbWU9Im9rIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPgorICA8ZGF0YSB0eXBlPSJzdHJpbmciLz4KKyAgPGF0dHJpYnV0ZSBuYW1lPSJub3RlIj4KKyAgICA8dGV4dC8+CisgIDwvYXR0cmlidXRlPgorPC9lbGVtZW50PgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I1XzRfMS54bWwgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjVfNF8xLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jOWNkZWY0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I1XzRfMS54bWwKQEAgLTAsMCArMSBAQAorPG9rIG5vdGU9ImZvbyI+NTwvb2s+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjVfNS5ybmcgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjVfNS5ybmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjYyMGFiOAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yNV81LnJuZwpAQCAtMCwwICsxLDUgQEAKKzxlbGVtZW50IG5hbWU9ImVtYWlsIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPgorICA8ZGF0YSB0eXBlPSJzdHJpbmciPgorICAgIDxwYXJhbSBuYW1lPSJtYXhMZW5ndGgiPjEyNzwvcGFyYW0+CisgIDwvZGF0YT4KKzwvZWxlbWVudD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yNl8xLnJuZyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yNl8xLnJuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YTA2MDkyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I2XzEucm5nCkBAIC0wLDAgKzEsMTAgQEAKKzxlbGVtZW50IG5hbWU9ImNhcmQiIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+CisgIDxhdHRyaWJ1dGUgbmFtZT0ibmFtZSIvPgorICA8YXR0cmlidXRlIG5hbWU9ImVtYWlsIi8+CisgIDxhdHRyaWJ1dGUgbmFtZT0icHJlZmVycmVkRm9ybWF0Ij4KKyAgICA8Y2hvaWNlPgorICAgICAgPHZhbHVlPmh0bWw8L3ZhbHVlPgorICAgICAgPHZhbHVlPnRleHQ8L3ZhbHVlPgorICAgIDwvY2hvaWNlPgorICA8L2F0dHJpYnV0ZT4KKzwvZWxlbWVudD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yNl8xXzEueG1sIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I2XzFfMS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzA0NjBhZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yNl8xXzEueG1sCkBAIC0wLDAgKzEgQEAKKzxjYXJkIG5hbWU9ImZvbyIgZW1haWw9ImJhciIgcHJlZmVycmVkRm9ybWF0PSJ0ZXh0Ii8+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjZfMV8yLnhtbCBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yNl8xXzIueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJmM2RmYzIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjZfMV8yLnhtbApAQCAtMCwwICsxIEBACis8Y2FyZCBuYW1lPSJmb28iIGVtYWlsPSJiYXIiIHByZWZlcnJlZEZvcm1hdD0iaHRtbCIvPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I2XzFfMy54bWwgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjZfMV8zLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MDM4ZDc5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I2XzFfMy54bWwKQEAgLTAsMCArMSBAQAorPGNhcmQgbmFtZT0iZm9vIiBlbWFpbD0iYmFyIiBwcmVmZXJyZWRGb3JtYXQ9ImVycm9yIi8+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjZfMV80LnhtbCBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yNl8xXzQueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBhZDY0ZGQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjZfMV80LnhtbApAQCAtMCwwICsxIEBACis8Y2FyZCBuYW1lPSJKb2huIFNtaXRoIiBlbWFpbD0ianNAZXhhbXBsZS5jb20iIHByZWZlcnJlZEZvcm1hdD0iICBodG1sICAiLz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yNl8xXzUueG1sIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I2XzFfNS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzVkMjJiZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yNl8xXzUueG1sCkBAIC0wLDAgKzEsMiBAQAorPGNhcmQgbmFtZT0iSm9obiBTbWl0aCIgZW1haWw9ImpzQGV4YW1wbGUuY29tIiBwcmVmZXJyZWRGb3JtYXQ9Imh0bWwiLz4KKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I2XzIucm5nIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I2XzIucm5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEyMzdmYTcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjZfMi5ybmcKQEAgLTAsMCArMSwxNCBAQAorPGVsZW1lbnQgbmFtZT0iY2FyZCIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4KKyAgPGVsZW1lbnQgbmFtZT0ibmFtZSI+CisgICAgPHRleHQvPgorICA8L2VsZW1lbnQ+CisgIDxlbGVtZW50IG5hbWU9ImVtYWlsIj4KKyAgICA8dGV4dC8+CisgIDwvZWxlbWVudD4KKyAgPGVsZW1lbnQgbmFtZT0icHJlZmVycmVkRm9ybWF0Ij4KKyAgICA8Y2hvaWNlPgorICAgICAgPHZhbHVlPmh0bWw8L3ZhbHVlPgorICAgICAgPHZhbHVlPnRleHQ8L3ZhbHVlPgorICAgIDwvY2hvaWNlPgorICA8L2VsZW1lbnQ+Cis8L2VsZW1lbnQ+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjZfMl8xLnhtbCBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yNl8yXzEueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUwNjRiZjIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjZfMl8xLnhtbApAQCAtMCwwICsxLDUgQEAKKzxjYXJkPgorICA8bmFtZT5Kb2huIFNtaXRoPC9uYW1lPgorICA8ZW1haWw+anNAZXhhbXBsZS5jb208L2VtYWlsPgorICA8cHJlZmVycmVkRm9ybWF0PnRleHQ8L3ByZWZlcnJlZEZvcm1hdD4KKzwvY2FyZD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yNl8yXzIueG1sIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I2XzJfMi54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTdkYTJlOAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yNl8yXzIueG1sCkBAIC0wLDAgKzEsNSBAQAorPGNhcmQ+CisgIDxuYW1lPkpvaG4gU21pdGg8L25hbWU+CisgIDxlbWFpbD5qc0BleGFtcGxlLmNvbTwvZW1haWw+CisgIDxwcmVmZXJyZWRGb3JtYXQ+aHRtbDwvcHJlZmVycmVkRm9ybWF0PgorPC9jYXJkPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I2XzJfMy54bWwgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjZfMl8zLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hY2NhOTc5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I2XzJfMy54bWwKQEAgLTAsMCArMSw1IEBACis8Y2FyZD4KKyAgPG5hbWU+Sm9obiBTbWl0aDwvbmFtZT4KKyAgPGVtYWlsPmpzQGV4YW1wbGUuY29tPC9lbWFpbD4KKyAgPHByZWZlcnJlZEZvcm1hdD4gIGh0bWwgIDwvcHJlZmVycmVkRm9ybWF0PgorPC9jYXJkPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I2XzJfNC54bWwgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjZfMl80LnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jM2Y3MjNiCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I2XzJfNC54bWwKQEAgLTAsMCArMSw1IEBACis8Y2FyZD4KKyAgPG5hbWU+Sm9obiBTbWl0aDwvbmFtZT4KKyAgPGVtYWlsPmpzQGV4YW1wbGUuY29tPC9lbWFpbD4KKyAgPHByZWZlcnJlZEZvcm1hdD5lcnJvcjwvcHJlZmVycmVkRm9ybWF0PgorPC9jYXJkPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I2XzMucm5nIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I2XzMucm5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA2ODNkMGIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjZfMy5ybmcKQEAgLTAsMCArMSwxMCBAQAorPGVsZW1lbnQgbmFtZT0iY2FyZCIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4KKyAgPGF0dHJpYnV0ZSBuYW1lPSJuYW1lIi8+CisgIDxhdHRyaWJ1dGUgbmFtZT0iZW1haWwiLz4KKyAgPGF0dHJpYnV0ZSBuYW1lPSJwcmVmZXJyZWRGb3JtYXQiPgorICAgIDxjaG9pY2U+CisgICAgICA8dmFsdWUgdHlwZT0ic3RyaW5nIj5odG1sPC92YWx1ZT4KKyAgICAgIDx2YWx1ZSB0eXBlPSJzdHJpbmciPnRleHQ8L3ZhbHVlPgorICAgIDwvY2hvaWNlPgorICA8L2F0dHJpYnV0ZT4KKzwvZWxlbWVudD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yNl8zXzEueG1sIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I2XzNfMS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGFkNjRkZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yNl8zXzEueG1sCkBAIC0wLDAgKzEgQEAKKzxjYXJkIG5hbWU9IkpvaG4gU21pdGgiIGVtYWlsPSJqc0BleGFtcGxlLmNvbSIgcHJlZmVycmVkRm9ybWF0PSIgIGh0bWwgICIvPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I3XzEucm5nIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I3XzEucm5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjExNmU5MTIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjdfMS5ybmcKQEAgLTAsMCArMSw3IEBACis8ZWxlbWVudCBuYW1lPSJ2ZWN0b3IiIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIKKyAgICAgICAgIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgPGxpc3Q+CisgICAgPGRhdGEgdHlwZT0iZmxvYXQiLz4KKyAgICA8ZGF0YSB0eXBlPSJmbG9hdCIvPgorICA8L2xpc3Q+Cis8L2VsZW1lbnQ+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjdfMV8xLnhtbCBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yN18xXzEueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNmMDNlZWEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjdfMV8xLnhtbApAQCAtMCwwICsxIEBACis8dmVjdG9yPjEuMiAzLjQ8L3ZlY3Rvcj4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yN18xXzIueG1sIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I3XzFfMi54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWRiZmRiZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yN18xXzIueG1sCkBAIC0wLDAgKzEgQEAKKzx2ZWN0b3I+MS4yPC92ZWN0b3I+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjdfMV8zLnhtbCBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yN18xXzMueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY5ZWViNWMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjdfMV8zLnhtbApAQCAtMCwwICsxIEBACis8dmVjdG9yPjEuMiAzLjQgNS42PC92ZWN0b3I+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjdfMV80LnhtbCBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yN18xXzQueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM5YmRhN2YKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjdfMV80LnhtbApAQCAtMCwwICsxIEBACis8dmVjdG9yPiAgMS4yIDMuNCA8L3ZlY3Rvcj4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yN18yLnJuZyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yN18yLnJuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMWM3MWQyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I3XzIucm5nCkBAIC0wLDAgKzEsOCBAQAorPGVsZW1lbnQgbmFtZT0idmVjdG9yIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiCisgICAgICAgICBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgIDxsaXN0PgorICAgIDxvbmVPck1vcmU+CisgICAgICA8ZGF0YSB0eXBlPSJkb3VibGUiLz4KKyAgICA8L29uZU9yTW9yZT4KKyAgPC9saXN0PgorPC9lbGVtZW50PgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I3XzJfMS54bWwgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjdfMl8xLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZGJmZGJkCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I3XzJfMS54bWwKQEAgLTAsMCArMSBAQAorPHZlY3Rvcj4xLjI8L3ZlY3Rvcj4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yN18yXzIueG1sIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I3XzJfMi54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjllZWI1YwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yN18yXzIueG1sCkBAIC0wLDAgKzEgQEAKKzx2ZWN0b3I+MS4yIDMuNCA1LjY8L3ZlY3Rvcj4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yN18yXzMueG1sIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I3XzJfMy54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTI3NGJhZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yN18yXzMueG1sCkBAIC0wLDAgKzEgQEAKKzx2ZWN0b3I+ICAxLjIgICAzLjQgICA8L3ZlY3Rvcj4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yN18yXzQueG1sIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I3XzJfNC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzE5YmE1ZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yN18yXzQueG1sCkBAIC0wLDAgKzEgQEAKKzx2ZWN0b3I+PC92ZWN0b3I+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjdfMy5ybmcgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjdfMy5ybmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2JlZGFmOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yN18zLnJuZwpAQCAtMCwwICsxLDkgQEAKKzxlbGVtZW50IG5hbWU9InBhdGgiIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIKKyAgICAgICAgIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgPGxpc3Q+CisgICAgPG9uZU9yTW9yZT4KKyAgICAgIDxkYXRhIHR5cGU9ImRvdWJsZSIvPgorICAgICAgPGRhdGEgdHlwZT0iZG91YmxlIi8+CisgICAgPC9vbmVPck1vcmU+CisgIDwvbGlzdD4KKzwvZWxlbWVudD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yN18zXzEueG1sIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I3XzNfMS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmY2MWI1MAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yN18zXzEueG1sCkBAIC0wLDAgKzEgQEAKKzxwYXRoPjEuMiAzLjQ8L3BhdGg+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjdfM18yLnhtbCBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yN18zXzIueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ1YjQ4NTcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjdfM18yLnhtbApAQCAtMCwwICsxIEBACis8cGF0aD4xLjIgMy40IDUgNiA3IDg8L3BhdGg+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjdfM18zLnhtbCBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yN18zXzMueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRhYmQxN2QKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjdfM18zLnhtbApAQCAtMCwwICsxIEBACis8cGF0aD4gIDEuMiAgIDMuNCAgIDUgICA2ICA8L3BhdGg+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjdfM180LnhtbCBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yN18zXzQueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYyMDk5YWUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjdfM180LnhtbApAQCAtMCwwICsxIEBACis8cGF0aD4xLjIgMy40IDUuNjwvcGF0aD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yN18zXzUueG1sIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I3XzNfNS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmVmNWYyNQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yN18zXzUueG1sCkBAIC0wLDAgKzEgQEAKKzxwYXRoPjEuMjwvcGF0aD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yOF8xLnJuZyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yOF8xLnJuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jN2JiZThiCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I4XzEucm5nCkBAIC0wLDAgKzEsMTUgQEAKKzxlbGVtZW50IG5hbWU9ImFkZHJlc3NCb29rIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPgorICA8emVyb09yTW9yZT4KKyAgICA8ZWxlbWVudCBuYW1lPSJjYXJkIj4KKyAgICAgIDxpbnRlcmxlYXZlPgorCTxlbGVtZW50IG5hbWU9Im5hbWUiPgorCSAgPHRleHQvPgorCTwvZWxlbWVudD4KKwk8ZWxlbWVudCBuYW1lPSJlbWFpbCI+CisJICA8dGV4dC8+CisJPC9lbGVtZW50PgorICAgICAgPC9pbnRlcmxlYXZlPgorICAgIDwvZWxlbWVudD4KKyAgPC96ZXJvT3JNb3JlPgorPC9lbGVtZW50PgorCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjhfMV8xLnhtbCBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yOF8xXzEueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhmMWUxYTgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjhfMV8xLnhtbApAQCAtMCwwICsxLDYgQEAKKzxhZGRyZXNzQm9vaz4KKyAgPGNhcmQ+CisgICAgPGVtYWlsPmJAYjwvZW1haWw+CisgICAgPG5hbWU+YjwvbmFtZT4KKyAgPC9jYXJkPgorPC9hZGRyZXNzQm9vaz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yOF8xXzIueG1sIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I4XzFfMi54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzFmMzc2NwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yOF8xXzIueG1sCkBAIC0wLDAgKzEsNyBAQAorPGFkZHJlc3NCb29rPgorICA8Y2FyZD4KKyAgICA8bmFtZT5iPC9uYW1lPgorICAgIDxlbWFpbD5iQGI8L2VtYWlsPgorICA8L2NhcmQ+Cis8L2FkZHJlc3NCb29rPgorCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjhfMi5ybmcgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjhfMi5ybmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDk1OTY4ZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yOF8yLnJuZwpAQCAtMCwwICsxLDU3IEBACis8Z3JhbW1hciB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPgorICA8c3RhcnQ+CisgICAgPHJlZiBuYW1lPSJoZWFkIi8+CisgIDwvc3RhcnQ+CisgIDxkZWZpbmUgbmFtZT0iaGVhZCI+CisgICAgPGVsZW1lbnQgbmFtZT0iaGVhZCI+CisgICAgICA8aW50ZXJsZWF2ZT4KKyAgICAgICAgPHJlZiBuYW1lPSJ0aXRsZSIvPgorICAgICAgICA8b3B0aW9uYWw+CisgICAgICAgICAgPHJlZiBuYW1lPSJiYXNlIi8+CisgICAgICAgIDwvb3B0aW9uYWw+CisgICAgICAgIDx6ZXJvT3JNb3JlPgorICAgICAgICAgIDxyZWYgbmFtZT0ic3R5bGUiLz4KKyAgICAgICAgPC96ZXJvT3JNb3JlPgorICAgICAgICA8emVyb09yTW9yZT4KKyAgICAgICAgICA8cmVmIG5hbWU9InNjcmlwdCIvPgorICAgICAgICA8L3plcm9Pck1vcmU+CisgICAgICAgIDx6ZXJvT3JNb3JlPgorICAgICAgICAgIDxyZWYgbmFtZT0ibGluayIvPgorICAgICAgICA8L3plcm9Pck1vcmU+CisgICAgICAgIDx6ZXJvT3JNb3JlPgorICAgICAgICAgIDxyZWYgbmFtZT0ibWV0YSIvPgorICAgICAgICA8L3plcm9Pck1vcmU+CisgICAgICA8L2ludGVybGVhdmU+CisgICAgPC9lbGVtZW50PgorICA8L2RlZmluZT4KKyAgPGRlZmluZSBuYW1lPSJ0aXRsZSI+CisgICAgPGVsZW1lbnQgbmFtZT0idGl0bGUiPgorICAgICAgPHRleHQvPgorICAgIDwvZWxlbWVudD4KKyAgPC9kZWZpbmU+CisgIDxkZWZpbmUgbmFtZT0iYmFzZSI+CisgICAgPGVsZW1lbnQgbmFtZT0iYmFzZSI+CisgICAgICA8dGV4dC8+CisgICAgPC9lbGVtZW50PgorICA8L2RlZmluZT4KKyAgPGRlZmluZSBuYW1lPSJzdHlsZSI+CisgICAgPGVsZW1lbnQgbmFtZT0ic3R5bGUiPgorICAgICAgPHRleHQvPgorICAgIDwvZWxlbWVudD4KKyAgPC9kZWZpbmU+CisgIDxkZWZpbmUgbmFtZT0ic2NyaXB0Ij4KKyAgICA8ZWxlbWVudCBuYW1lPSJzY3JpcHQiPgorICAgICAgPHRleHQvPgorICAgIDwvZWxlbWVudD4KKyAgPC9kZWZpbmU+CisgIDxkZWZpbmUgbmFtZT0ibWV0YSI+CisgICAgPGVsZW1lbnQgbmFtZT0ibWV0YSI+CisgICAgICA8dGV4dC8+CisgICAgPC9lbGVtZW50PgorICA8L2RlZmluZT4KKyAgPGRlZmluZSBuYW1lPSJsaW5rIj4KKyAgICA8ZWxlbWVudCBuYW1lPSJsaW5rIj4KKyAgICAgIDx0ZXh0Lz4KKyAgICA8L2VsZW1lbnQ+CisgIDwvZGVmaW5lPgorPC9ncmFtbWFyPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I4XzJfMS54bWwgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjhfMl8xLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZWQ4MGQ0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I4XzJfMS54bWwKQEAgLTAsMCArMSw1IEBACis8aGVhZD4KKyAgPG1ldGE+bWV0YTE8L21ldGE+CisgIDx0aXRsZT5mb288L3RpdGxlPgorICA8bWV0YT5tZXRhMjwvbWV0YT4KKzwvaGVhZD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yOF8yXzIueG1sIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I4XzJfMi54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjRjMmU2YgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yOF8yXzIueG1sCkBAIC0wLDAgKzEsMzYgQEAKKzxoZWFkPgorICA8bWV0YT5tZXRhPC9tZXRhPgorICA8bWV0YT5tZXRhPC9tZXRhPgorICA8c2NyaXB0PnNjcmlwdDwvc2NyaXB0PgorICA8bGluaz5saW5rPC9saW5rPgorICA8c3R5bGU+bGluazwvc3R5bGU+CisgIDxzY3JpcHQ+c2NyaXB0PC9zY3JpcHQ+CisgIDxsaW5rPmxpbms8L2xpbms+CisgIDxzdHlsZT5saW5rPC9zdHlsZT4KKyAgPGJhc2U+YmFzZTwvYmFzZT4KKyAgPHRpdGxlPmZvbzwvdGl0bGU+CisgIDxtZXRhPm1ldGE8L21ldGE+CisgIDxzY3JpcHQ+c2NyaXB0PC9zY3JpcHQ+CisgIDxsaW5rPmxpbms8L2xpbms+CisgIDxzdHlsZT5saW5rPC9zdHlsZT4KKyAgPG1ldGE+bWV0YTwvbWV0YT4KKyAgPG1ldGE+bWV0YTwvbWV0YT4KKyAgPG1ldGE+bWV0YTwvbWV0YT4KKyAgPG1ldGE+bWV0YTwvbWV0YT4KKyAgPG1ldGE+bWV0YTwvbWV0YT4KKyAgPHNjcmlwdD5zY3JpcHQ8L3NjcmlwdD4KKyAgPGxpbms+bGluazwvbGluaz4KKyAgPHN0eWxlPmxpbms8L3N0eWxlPgorICA8c2NyaXB0PnNjcmlwdDwvc2NyaXB0PgorICA8bGluaz5saW5rPC9saW5rPgorICA8c3R5bGU+bGluazwvc3R5bGU+CisgIDxzY3JpcHQ+c2NyaXB0PC9zY3JpcHQ+CisgIDxsaW5rPmxpbms8L2xpbms+CisgIDxzdHlsZT5saW5rPC9zdHlsZT4KKyAgPHNjcmlwdD5zY3JpcHQ8L3NjcmlwdD4KKyAgPGxpbms+bGluazwvbGluaz4KKyAgPHN0eWxlPmxpbms8L3N0eWxlPgorICA8c2NyaXB0PnNjcmlwdDwvc2NyaXB0PgorICA8bGluaz5saW5rPC9saW5rPgorICA8c3R5bGU+bGluazwvc3R5bGU+Cis8L2hlYWQ+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjhfMl8zLnhtbCBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yOF8yXzMueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkyMGY5OWQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjhfMl8zLnhtbApAQCAtMCwwICsxLDMgQEAKKzxoZWFkPgorICA8dGl0bGU+dGl0bGU8L3RpdGxlPgorPC9oZWFkPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I4XzJfNC54bWwgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjhfMl80LnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42OGYzODY1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I4XzJfNC54bWwKQEAgLTAsMCArMSw2IEBACis8aGVhZD4KKyAgPG1ldGE+bWV0YTE8L21ldGE+CisgIDx0aXRsZT5mb288L3RpdGxlPgorICA8bWV0YT5tZXRhMjwvbWV0YT4KKyAgPHRpdGxlPmVycm9yPC90aXRsZT4KKzwvaGVhZD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yOF8yXzUueG1sIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I4XzJfNS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzViOWQ1MwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yOF8yXzUueG1sCkBAIC0wLDAgKzEsMyBAQAorPGhlYWQ+CisgIDxtZXRhPm1ldGEyPC9tZXRhPgorPC9oZWFkPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I4XzJfNi54bWwgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjhfMl82LnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMGZiNGM3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I4XzJfNi54bWwKQEAgLTAsMCArMSw1IEBACis8aGVhZD4KKyAgPGJhc2U+YmFzZTwvYmFzZT4KKyAgPHRpdGxlPmZvbzwvdGl0bGU+CisgIDxiYXNlPmVycm9yPC9iYXNlPgorPC9oZWFkPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I4XzMucm5nIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I4XzMucm5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI2ODgxNGQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjhfMy5ybmcKQEAgLTAsMCArMSw5IEBACis8ZWxlbWVudCBuYW1lPSJjb250ZW50IiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPgorICA8aW50ZXJsZWF2ZT4KKyAgICA8dGV4dC8+CisgICAgPGVsZW1lbnQgbmFtZT0icCI+CisgICAgICA8dGV4dC8+CisgICAgPC9lbGVtZW50PgorICA8L2ludGVybGVhdmU+Cis8L2VsZW1lbnQ+CisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yOF8zXzEueG1sIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I4XzNfMS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODZlYTQ0NwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yOF8zXzEueG1sCkBAIC0wLDAgKzEgQEAKKzxjb250ZW50PiBob3cgYXJlIHlvdSA8cD4gJ3lhdSBkZSBwb2VsbGUgPC9wPiA/IDwvY29udGVudD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yOV8xLnJuZyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yOV8xLnJuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40M2E1OWZjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I5XzEucm5nCkBAIC0wLDAgKzEsMTcgQEAKKzxlbGVtZW50IG5hbWU9ImFkZHJlc3NCb29rIiB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPgorICA8emVyb09yTW9yZT4KKyAgICA8ZWxlbWVudCBuYW1lPSJjYXJkIj4KKyAgICAgIDxlbGVtZW50IG5hbWU9Im5hbWUiPgorICAgICAgICA8dGV4dC8+CisgICAgICA8L2VsZW1lbnQ+CisgICAgICA8ZWxlbWVudCBuYW1lPSJlbWFpbCI+CisgICAgICAgIDx0ZXh0Lz4KKyAgICAgIDwvZWxlbWVudD4KKyAgICAgIDxvcHRpb25hbD4KKwk8ZWxlbWVudCBuYW1lPSJub3RlIj4KKwkgIDxleHRlcm5hbFJlZiBocmVmPSJpbmxpbmUucm5nIi8+CisJPC9lbGVtZW50PgorICAgICAgPC9vcHRpb25hbD4KKyAgICA8L2VsZW1lbnQ+CisgIDwvemVyb09yTW9yZT4KKzwvZWxlbWVudD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yOV8xMC5ybmcgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjlfMTAucm5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM1YjM4ZGIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjlfMTAucm5nCkBAIC0wLDAgKzEsMjYgQEAKKzxncmFtbWFyIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+CisKKyAgPGluY2x1ZGUgaHJlZj0iaW5saW5lMy5ybmciLz4KKworICA8c3RhcnQ+CisgICAgPGVsZW1lbnQgbmFtZT0iZG9jIj4KKyAgICAgIDx6ZXJvT3JNb3JlPgorCTxlbGVtZW50IG5hbWU9InAiPgorCSAgPHJlZiBuYW1lPSJpbmxpbmUiLz4KKwk8L2VsZW1lbnQ+CisgICAgICA8L3plcm9Pck1vcmU+CisgICAgPC9lbGVtZW50PgorICA8L3N0YXJ0PgorCisgIDxkZWZpbmUgbmFtZT0iaW5saW5lLmV4dHJhIiBjb21iaW5lPSJjaG9pY2UiPgorICAgIDxjaG9pY2U+CisgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIj4KKwk8cmVmIG5hbWU9ImlubGluZSIvPgorICAgICAgPC9lbGVtZW50PgorICAgICAgPGVsZW1lbnQgbmFtZT0iZW0iPgorCTxyZWYgbmFtZT0iaW5saW5lIi8+CisgICAgICA8L2VsZW1lbnQ+CisgICAgPC9jaG9pY2U+CisgIDwvZGVmaW5lPgorICAKKzwvZ3JhbW1hcj4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yOV8xMF8xLnhtbCBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yOV8xMF8xLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMzlhMDc5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I5XzEwXzEueG1sCkBAIC0wLDAgKzEsMyBAQAorPGRvYz4KKyAgPHA+YTxib2xkPmI8ZW0+YzxpdGFsaWM+ZDwvaXRhbGljPmU8L2VtPmY8L2JvbGQ+ZzwvcD4KKzwvZG9jPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I5XzExLnJuZyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yOV8xMS5ybmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2Y2M2IwMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yOV8xMS5ybmcKQEAgLTAsMCArMSwxNiBAQAorPGdyYW1tYXIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4KKworICA8aW5jbHVkZSBocmVmPSJhZGRyZXNzQm9vay5ybmciPgorCisgICAgPGRlZmluZSBuYW1lPSJjYXJkQ29udGVudCI+CisgICAgICA8ZWxlbWVudCBuYW1lPSJuYW1lIj4KKwk8dGV4dC8+CisgICAgICA8L2VsZW1lbnQ+CisgICAgICA8ZWxlbWVudCBuYW1lPSJlbWFpbEFkZHJlc3MiPgorCTx0ZXh0Lz4KKyAgICAgIDwvZWxlbWVudD4KKyAgICA8L2RlZmluZT4KKworICA8L2luY2x1ZGU+CisKKzwvZ3JhbW1hcj4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yOV8xMV8xLnhtbCBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yOV8xMV8xLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNTQyZmE2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I5XzExXzEueG1sCkBAIC0wLDAgKzEsMyBAQAorPGFkZHJlc3NCb29rPgorICA8Y2FyZD48bmFtZT5mb288L25hbWU+PGVtYWlsQWRkcmVzcz5iYXI8L2VtYWlsQWRkcmVzcz48L2NhcmQ+Cis8L2FkZHJlc3NCb29rPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I5XzEyLnJuZyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yOV8xMi5ybmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmUxMGI4NQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yOV8xMi5ybmcKQEAgLTAsMCArMSwyMiBAQAorPGdyYW1tYXIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4KKworICA8c3RhcnQ+CisgICAgPGVsZW1lbnQgbmFtZT0iYWRkcmVzc0Jvb2siPgorICAgICAgPHplcm9Pck1vcmU+CisJPGVsZW1lbnQgbmFtZT0iY2FyZCI+CisJICA8cmVmIG5hbWU9ImNhcmRDb250ZW50Ii8+CisJPC9lbGVtZW50PgorICAgICAgPC96ZXJvT3JNb3JlPgorICAgIDwvZWxlbWVudD4KKyAgPC9zdGFydD4KKworICA8ZGVmaW5lIG5hbWU9ImNhcmRDb250ZW50Ij4KKyAgICA8ZWxlbWVudCBuYW1lPSJuYW1lIj4KKyAgICAgIDx0ZXh0Lz4KKyAgICA8L2VsZW1lbnQ+CisgICAgPGVsZW1lbnQgbmFtZT0iZW1haWxBZGRyZXNzIj4KKyAgICAgIDx0ZXh0Lz4KKyAgICA8L2VsZW1lbnQ+CisgIDwvZGVmaW5lPgorCis8L2dyYW1tYXI+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjlfMTJfMS54bWwgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjlfMTJfMS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzU0MmZhNgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yOV8xMl8xLnhtbApAQCAtMCwwICsxLDMgQEAKKzxhZGRyZXNzQm9vaz4KKyAgPGNhcmQ+PG5hbWU+Zm9vPC9uYW1lPjxlbWFpbEFkZHJlc3M+YmFyPC9lbWFpbEFkZHJlc3M+PC9jYXJkPgorPC9hZGRyZXNzQm9vaz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yOV8xXzEueG1sIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I5XzFfMS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjQ1ZmMzYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yOV8xXzEueG1sCkBAIC0wLDAgKzEsNyBAQAorPGFkZHJlc3NCb29rPgorICA8Y2FyZD4KKyAgICA8bmFtZT5mb288L25hbWU+CisgICAgPGVtYWlsPmJhcjwvZW1haWw+CisgICAgPG5vdGU+dGhpcyBndXkgaXMgPGVtPmFubm95aW5nPC9lbT4gITwvbm90ZT4KKyAgPC9jYXJkPgorPC9hZGRyZXNzQm9vaz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yOV8yLnJuZyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yOV8yLnJuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYjQzNGJkCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I5XzIucm5nCkBAIC0wLDAgKzEsNyBAQAorPGVsZW1lbnQgbmFtZT0iZGF0YSIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4KKyAgPGNob2ljZT4KKyAgICA8ZXh0ZXJuYWxSZWYgaHJlZj0icGF0dGVybjEucm5nIi8+CisgICAgPGV4dGVybmFsUmVmIGhyZWY9InBhdHRlcm4yLnJuZyIvPgorICA8L2Nob2ljZT4KKzwvZWxlbWVudD4KKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I5XzJfMS54bWwgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjlfMl8xLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yY2E1NGVlCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I5XzJfMS54bWwKQEAgLTAsMCArMSw0IEBACis8ZGF0YT4KKyAgPGE+YTwvYT4KKyAgPGI+YTwvYj4KKzwvZGF0YT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yOV8yXzIueG1sIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I5XzJfMi54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmNhNTRlZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yOV8yXzIueG1sCkBAIC0wLDAgKzEsNCBAQAorPGRhdGE+CisgIDxhPmE8L2E+CisgIDxiPmE8L2I+Cis8L2RhdGE+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjlfMy5ybmcgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjlfMy5ybmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjJjNmU3ZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yOV8zLnJuZwpAQCAtMCwwICsxLDM3IEBACis8Z3JhbW1hciB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPgorICA8c3RhcnQ+CisgICAgPGVsZW1lbnQgbmFtZT0iZGF0YSI+CisgICAgICA8aW50ZXJsZWF2ZT4KKyAgICAgICAgPHRleHQvPgorCTxyZWYgbmFtZT0iaW5saW5lLmNsYXNzIi8+CisgICAgICA8L2ludGVybGVhdmU+CisgICAgPC9lbGVtZW50PgorICA8L3N0YXJ0PgorCisgIDxkZWZpbmUgbmFtZT0iaW5saW5lLmNsYXNzIiBjb21iaW5lPSJjaG9pY2UiPgorICAgIDxlbGVtZW50IG5hbWU9ImJvbGQiPgorICAgICAgPHJlZiBuYW1lPSJpbmxpbmUiLz4KKyAgICA8L2VsZW1lbnQ+CisgIDwvZGVmaW5lPgorICAKKyAgPGRlZmluZSBuYW1lPSJpbmxpbmUuY2xhc3MiIGNvbWJpbmU9ImNob2ljZSI+CisgICAgPGVsZW1lbnQgbmFtZT0iaXRhbGljIj4KKyAgICAgIDxyZWYgbmFtZT0iaW5saW5lIi8+CisgICAgPC9lbGVtZW50PgorICA8L2RlZmluZT4KKworICA8ZGVmaW5lIG5hbWU9ImlubGluZSI+CisgICAgPHplcm9Pck1vcmU+CisgICAgICA8Y2hvaWNlPgorICAgICAgICA8dGV4dC8+CisgICAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiPgorICAgICAgICAgIDxyZWYgbmFtZT0iaW5saW5lIi8+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgICAgPGVsZW1lbnQgbmFtZT0iZW0iPgorICAgICAgICAgIDxyZWYgbmFtZT0iaW5saW5lIi8+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgICAgPCEtLSBldGMgLS0+CisgICAgICA8L2Nob2ljZT4KKyAgICA8L3plcm9Pck1vcmU+CisgIDwvZGVmaW5lPgorPC9ncmFtbWFyPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I5XzNfMS54bWwgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjlfM18xLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MGJmYTIwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I5XzNfMS54bWwKQEAgLTAsMCArMSBAQAorPGRhdGE+IGEgPGJvbGQ+IGIgPGVtPiBjIDwvZW0+IGQgPC9ib2xkPiBlIDwvZGF0YT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yOV8zXzIueG1sIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I5XzNfMi54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjA4OTU0MgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yOV8zXzIueG1sCkBAIC0wLDAgKzEgQEAKKzxkYXRhPiBhIDxpdGFsaWM+IGIgPGNvZGU+IGMgPC9jb2RlPiBkIDxlbT5mb288L2VtPiA8L2l0YWxpYz4gZSA8L2RhdGE+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjlfNC5ybmcgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjlfNC5ybmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDNiN2U4ZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yOV80LnJuZwpAQCAtMCwwICsxLDM2IEBACis8Z3JhbW1hciB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPgorICA8c3RhcnQ+CisgICAgPGVsZW1lbnQgbmFtZT0iZGF0YSI+CisgICAgICA8aW50ZXJsZWF2ZT4KKyAgICAgICAgPHRleHQvPgorCTxyZWYgbmFtZT0iaW5saW5lLmNsYXNzIi8+CisgICAgICA8L2ludGVybGVhdmU+CisgICAgPC9lbGVtZW50PgorICA8L3N0YXJ0PgorCisgIDxkZWZpbmUgbmFtZT0iaW5saW5lLmNsYXNzIj4KKyAgICA8Y2hvaWNlPgorICAgICAgPGVsZW1lbnQgbmFtZT0iYm9sZCI+CisgICAgICAgIDxyZWYgbmFtZT0iaW5saW5lIi8+CisgICAgICA8L2VsZW1lbnQ+CisgICAgICA8ZWxlbWVudCBuYW1lPSJpdGFsaWMiPgorICAgICAgICA8cmVmIG5hbWU9ImlubGluZSIvPgorICAgICAgPC9lbGVtZW50PgorICAgIDwvY2hvaWNlPgorICA8L2RlZmluZT4KKworICA8ZGVmaW5lIG5hbWU9ImlubGluZSI+CisgICAgPHplcm9Pck1vcmU+CisgICAgICA8Y2hvaWNlPgorICAgICAgICA8dGV4dC8+CisgICAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiPgorICAgICAgICAgIDxyZWYgbmFtZT0iaW5saW5lIi8+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgICAgPGVsZW1lbnQgbmFtZT0iZW0iPgorICAgICAgICAgIDxyZWYgbmFtZT0iaW5saW5lIi8+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgICAgPCEtLSBldGMgLS0+CisgICAgICA8L2Nob2ljZT4KKyAgICA8L3plcm9Pck1vcmU+CisgIDwvZGVmaW5lPgorPC9ncmFtbWFyPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I5XzRfMS54bWwgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjlfNF8xLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MGJmYTIwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I5XzRfMS54bWwKQEAgLTAsMCArMSBAQAorPGRhdGE+IGEgPGJvbGQ+IGIgPGVtPiBjIDwvZW0+IGQgPC9ib2xkPiBlIDwvZGF0YT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yOV80XzIueG1sIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I5XzRfMi54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjA4OTU0MgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yOV80XzIueG1sCkBAIC0wLDAgKzEgQEAKKzxkYXRhPiBhIDxpdGFsaWM+IGIgPGNvZGU+IGMgPC9jb2RlPiBkIDxlbT5mb288L2VtPiA8L2l0YWxpYz4gZSA8L2RhdGE+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjlfNS5ybmcgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjlfNS5ybmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjhiMGE4NAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yOV81LnJuZwpAQCAtMCwwICsxLDI1IEBACis8Z3JhbW1hciB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPgorCisgIDxzdGFydD4KKyAgICA8ZWxlbWVudCBuYW1lPSJhZGRyZXNzQm9vayI+CisgICAgICA8emVyb09yTW9yZT4KKwk8ZWxlbWVudCBuYW1lPSJjYXJkIj4KKwkgIDxyZWYgbmFtZT0iY2FyZC5hdHRsaXN0Ii8+CisJPC9lbGVtZW50PgorICAgICAgPC96ZXJvT3JNb3JlPgorICAgIDwvZWxlbWVudD4KKyAgPC9zdGFydD4KKworICA8ZGVmaW5lIG5hbWU9ImNhcmQuYXR0bGlzdCIgY29tYmluZT0iaW50ZXJsZWF2ZSI+CisgICAgPGF0dHJpYnV0ZSBuYW1lPSJuYW1lIj4KKyAgICAgIDx0ZXh0Lz4KKyAgICA8L2F0dHJpYnV0ZT4KKyAgPC9kZWZpbmU+CisKKyAgPGRlZmluZSBuYW1lPSJjYXJkLmF0dGxpc3QiIGNvbWJpbmU9ImludGVybGVhdmUiPgorICAgIDxhdHRyaWJ1dGUgbmFtZT0iZW1haWwiPgorICAgICAgPHRleHQvPgorICAgIDwvYXR0cmlidXRlPgorICA8L2RlZmluZT4KKworPC9ncmFtbWFyPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I5XzVfMS54bWwgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjlfNV8xLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNzU3NTNiCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I5XzVfMS54bWwKQEAgLTAsMCArMSwzIEBACis8YWRkcmVzc0Jvb2s+CisgIDxjYXJkIG5hbWU9ImZvbyIgZW1haWw9ImJhciIvPgorPC9hZGRyZXNzQm9vaz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yOV81XzIueG1sIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I5XzVfMi54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWZmMWQzYwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yOV81XzIueG1sCkBAIC0wLDAgKzEsMyBAQAorPGFkZHJlc3NCb29rPgorICA8Y2FyZCBuYW1lPSJmb28iLz4KKzwvYWRkcmVzc0Jvb2s+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjlfNV8zLnhtbCBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yOV81XzMueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI3MGM1YmYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjlfNV8zLnhtbApAQCAtMCwwICsxLDMgQEAKKzxhZGRyZXNzQm9vaz4KKyAgPGNhcmQgbmFtZT0iZm9vIiBlbWFpbD0iYmFyIiBlcnJvcj0iZXh0cmEiLz4KKzwvYWRkcmVzc0Jvb2s+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjlfNi5ybmcgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjlfNi5ybmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDczMDAzOAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yOV82LnJuZwpAQCAtMCwwICsxLDI0IEBACis8Z3JhbW1hciB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPgorCisgIDxzdGFydD4KKyAgICA8ZWxlbWVudCBuYW1lPSJhZGRyZXNzQm9vayI+CisgICAgICA8emVyb09yTW9yZT4KKwk8ZWxlbWVudCBuYW1lPSJjYXJkIj4KKwkgIDxyZWYgbmFtZT0iY2FyZC5hdHRsaXN0Ii8+CisJPC9lbGVtZW50PgorICAgICAgPC96ZXJvT3JNb3JlPgorICAgIDwvZWxlbWVudD4KKyAgPC9zdGFydD4KKworICA8ZGVmaW5lIG5hbWU9ImNhcmQuYXR0bGlzdCI+CisgICAgPGdyb3VwPgorICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJuYW1lIj4KKwk8dGV4dC8+CisgICAgICA8L2F0dHJpYnV0ZT4KKyAgICAgIDxhdHRyaWJ1dGUgbmFtZT0iZW1haWwiPgorCTx0ZXh0Lz4KKyAgICAgIDwvYXR0cmlidXRlPgorICAgIDwvZ3JvdXA+CisgIDwvZGVmaW5lPgorCis8L2dyYW1tYXI+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjlfNl8xLnhtbCBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yOV82XzEueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI3NTc1M2IKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjlfNl8xLnhtbApAQCAtMCwwICsxLDMgQEAKKzxhZGRyZXNzQm9vaz4KKyAgPGNhcmQgbmFtZT0iZm9vIiBlbWFpbD0iYmFyIi8+Cis8L2FkZHJlc3NCb29rPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I5XzZfMi54bWwgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjlfNl8yLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZmYxZDNjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I5XzZfMi54bWwKQEAgLTAsMCArMSwzIEBACis8YWRkcmVzc0Jvb2s+CisgIDxjYXJkIG5hbWU9ImZvbyIvPgorPC9hZGRyZXNzQm9vaz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yOV82XzMueG1sIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I5XzZfMy54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjcwYzViZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yOV82XzMueG1sCkBAIC0wLDAgKzEsMyBAQAorPGFkZHJlc3NCb29rPgorICA8Y2FyZCBuYW1lPSJmb28iIGVtYWlsPSJiYXIiIGVycm9yPSJleHRyYSIvPgorPC9hZGRyZXNzQm9vaz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yOV83LnJuZyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yOV83LnJuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZTVlNTA5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I5Xzcucm5nCkBAIC0wLDAgKzEsMjYgQEAKKzxncmFtbWFyIHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCI+CisKKyAgPGluY2x1ZGUgaHJlZj0iaW5saW5lMi5ybmciLz4KKworICA8c3RhcnQ+CisgICAgPGVsZW1lbnQgbmFtZT0iZG9jIj4KKyAgICAgIDx6ZXJvT3JNb3JlPgorCTxlbGVtZW50IG5hbWU9InAiPgorCSAgPHJlZiBuYW1lPSJpbmxpbmUiLz4KKwk8L2VsZW1lbnQ+CisgICAgICA8L3plcm9Pck1vcmU+CisgICAgPC9lbGVtZW50PgorICA8L3N0YXJ0PgorCisgIDxkZWZpbmUgbmFtZT0iaW5saW5lLmNsYXNzIiBjb21iaW5lPSJjaG9pY2UiPgorICAgIDxjaG9pY2U+CisgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIj4KKwk8cmVmIG5hbWU9ImlubGluZSIvPgorICAgICAgPC9lbGVtZW50PgorICAgICAgPGVsZW1lbnQgbmFtZT0iZW0iPgorCTxyZWYgbmFtZT0iaW5saW5lIi8+CisgICAgICA8L2VsZW1lbnQ+CisgICAgPC9jaG9pY2U+CisgIDwvZGVmaW5lPgorICAKKzwvZ3JhbW1hcj4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yOV83XzEueG1sIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I5XzdfMS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTM5YTA3OQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yOV83XzEueG1sCkBAIC0wLDAgKzEsMyBAQAorPGRvYz4KKyAgPHA+YTxib2xkPmI8ZW0+YzxpdGFsaWM+ZDwvaXRhbGljPmU8L2VtPmY8L2JvbGQ+ZzwvcD4KKzwvZG9jPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I5Xzgucm5nIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I5Xzgucm5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE2YTE0MWQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjlfOC5ybmcKQEAgLTAsMCArMSw0MiBAQAorPGdyYW1tYXIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4KKworICA8ZGVmaW5lIG5hbWU9ImlubGluZSI+CisgICAgPHplcm9Pck1vcmU+CisgICAgICA8cmVmIG5hbWU9ImlubGluZS5jbGFzcyIvPgorICAgIDwvemVyb09yTW9yZT4KKyAgPC9kZWZpbmU+CisKKyAgPGRlZmluZSBuYW1lPSJpbmxpbmUuY2xhc3MiPgorICAgIDxjaG9pY2U+CisgICAgICA8dGV4dC8+CisgICAgICA8ZWxlbWVudCBuYW1lPSJib2xkIj4KKwk8cmVmIG5hbWU9ImlubGluZSIvPgorICAgICAgPC9lbGVtZW50PgorICAgICAgPGVsZW1lbnQgbmFtZT0iaXRhbGljIj4KKwk8cmVmIG5hbWU9ImlubGluZSIvPgorICAgICAgPC9lbGVtZW50PgorICAgIDwvY2hvaWNlPgorICA8L2RlZmluZT4KKworICA8c3RhcnQ+CisgICAgPGVsZW1lbnQgbmFtZT0iZG9jIj4KKyAgICAgIDx6ZXJvT3JNb3JlPgorCTxlbGVtZW50IG5hbWU9InAiPgorCSAgPHJlZiBuYW1lPSJpbmxpbmUiLz4KKwk8L2VsZW1lbnQ+CisgICAgICA8L3plcm9Pck1vcmU+CisgICAgPC9lbGVtZW50PgorICA8L3N0YXJ0PgorCisgIDxkZWZpbmUgbmFtZT0iaW5saW5lLmNsYXNzIiBjb21iaW5lPSJjaG9pY2UiPgorICAgIDxjaG9pY2U+CisgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIj4KKwk8cmVmIG5hbWU9ImlubGluZSIvPgorICAgICAgPC9lbGVtZW50PgorICAgICAgPGVsZW1lbnQgbmFtZT0iZW0iPgorCTxyZWYgbmFtZT0iaW5saW5lIi8+CisgICAgICA8L2VsZW1lbnQ+CisgICAgPC9jaG9pY2U+CisgIDwvZGVmaW5lPgorICAKKzwvZ3JhbW1hcj4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yOV84XzEueG1sIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I5XzhfMS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTM5YTA3OQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yOV84XzEueG1sCkBAIC0wLDAgKzEsMyBAQAorPGRvYz4KKyAgPHA+YTxib2xkPmI8ZW0+YzxpdGFsaWM+ZDwvaXRhbGljPmU8L2VtPmY8L2JvbGQ+ZzwvcD4KKzwvZG9jPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I5Xzkucm5nIGIvbGlieG1sMi90ZXN0L3JlbGF4bmcvdHV0b3I5Xzkucm5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlmMmU1ZWEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjlfOS5ybmcKQEAgLTAsMCArMSwzNyBAQAorPGdyYW1tYXIgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIj4KKworICA8ZGVmaW5lIG5hbWU9ImlubGluZSI+CisgICAgPHplcm9Pck1vcmU+CisgICAgICA8cmVmIG5hbWU9ImlubGluZS5jbGFzcyIvPgorICAgIDwvemVyb09yTW9yZT4KKyAgPC9kZWZpbmU+CisKKyAgPGRlZmluZSBuYW1lPSJpbmxpbmUuY2xhc3MiPgorICAgIDxjaG9pY2U+CisgICAgICA8dGV4dC8+CisgICAgICA8ZWxlbWVudCBuYW1lPSJib2xkIj4KKwk8cmVmIG5hbWU9ImlubGluZSIvPgorICAgICAgPC9lbGVtZW50PgorICAgICAgPGVsZW1lbnQgbmFtZT0iaXRhbGljIj4KKwk8cmVmIG5hbWU9ImlubGluZSIvPgorICAgICAgPC9lbGVtZW50PgorICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSI+CisJPHJlZiBuYW1lPSJpbmxpbmUiLz4KKyAgICAgIDwvZWxlbWVudD4KKyAgICAgIDxlbGVtZW50IG5hbWU9ImVtIj4KKwk8cmVmIG5hbWU9ImlubGluZSIvPgorICAgICAgPC9lbGVtZW50PgorICAgIDwvY2hvaWNlPgorICA8L2RlZmluZT4KKworICA8c3RhcnQ+CisgICAgPGVsZW1lbnQgbmFtZT0iZG9jIj4KKyAgICAgIDx6ZXJvT3JNb3JlPgorCTxlbGVtZW50IG5hbWU9InAiPgorCSAgPHJlZiBuYW1lPSJpbmxpbmUiLz4KKwk8L2VsZW1lbnQ+CisgICAgICA8L3plcm9Pck1vcmU+CisgICAgPC9lbGVtZW50PgorICA8L3N0YXJ0PgorCis8L2dyYW1tYXI+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjlfOV8xLnhtbCBiL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yOV85XzEueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEzOWEwNzkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvcjlfOV8xLnhtbApAQCAtMCwwICsxLDMgQEAKKzxkb2M+CisgIDxwPmE8Ym9sZD5iPGVtPmM8aXRhbGljPmQ8L2l0YWxpYz5lPC9lbT5mPC9ib2xkPmc8L3A+Cis8L2RvYz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9yZWxheG5nL3R1dG9yQS5ybmcgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvckEucm5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI5ZWY0ZTEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvcmVsYXhuZy90dXRvckEucm5nCkBAIC0wLDAgKzEsMzM0IEBACis8Z3JhbW1hciBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyIKKyAgbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIgorICB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiPgorCisgIDxzdGFydD4KKyAgICA8cmVmIG5hbWU9InBhdHRlcm4iLz4KKyAgPC9zdGFydD4KKworICA8ZGVmaW5lIG5hbWU9InBhdHRlcm4iPgorICAgIDxjaG9pY2U+CisgICAgICA8ZWxlbWVudCBuYW1lPSJlbGVtZW50Ij4KKyAgICAgICAgPGNob2ljZT4KKyAgICAgICAgICA8YXR0cmlidXRlIG5hbWU9Im5hbWUiPgorICAgICAgICAgICAgPGRhdGEgdHlwZT0iUU5hbWUiLz4KKyAgICAgICAgICA8L2F0dHJpYnV0ZT4KKyAgICAgICAgICA8cmVmIG5hbWU9Im9wZW4tbmFtZS1jbGFzcyIvPgorICAgICAgICA8L2Nob2ljZT4KKyAgICAgICAgPHJlZiBuYW1lPSJjb21tb24tYXR0cyIvPgorICAgICAgICA8cmVmIG5hbWU9Im9wZW4tcGF0dGVybnMiLz4KKyAgICAgIDwvZWxlbWVudD4KKyAgICAgIDxlbGVtZW50IG5hbWU9ImF0dHJpYnV0ZSI+CisgICAgICAgIDxyZWYgbmFtZT0iY29tbW9uLWF0dHMiLz4KKyAgICAgICAgPGNob2ljZT4KKyAgICAgICAgICA8YXR0cmlidXRlIG5hbWU9Im5hbWUiPgorICAgICAgICAgICAgPGRhdGEgdHlwZT0iUU5hbWUiLz4KKyAgICAgICAgICA8L2F0dHJpYnV0ZT4KKyAgICAgICAgICA8cmVmIG5hbWU9Im9wZW4tbmFtZS1jbGFzcyIvPgorICAgICAgICA8L2Nob2ljZT4KKyAgICAgICAgPGludGVybGVhdmU+CisgICAgICAgICAgPHJlZiBuYW1lPSJvdGhlciIvPgorICAgICAgICAgIDxvcHRpb25hbD4KKyAgICAgICAgICAgIDxyZWYgbmFtZT0icGF0dGVybiIvPgorICAgICAgICAgIDwvb3B0aW9uYWw+CisgICAgICAgIDwvaW50ZXJsZWF2ZT4KKyAgICAgIDwvZWxlbWVudD4KKyAgICAgIDxlbGVtZW50IG5hbWU9Imdyb3VwIj4KKyAgICAgICAgPHJlZiBuYW1lPSJjb21tb24tYXR0cyIvPgorICAgICAgICA8cmVmIG5hbWU9Im9wZW4tcGF0dGVybnMiLz4KKyAgICAgIDwvZWxlbWVudD4KKyAgICAgIDxlbGVtZW50IG5hbWU9ImludGVybGVhdmUiPgorICAgICAgICA8cmVmIG5hbWU9ImNvbW1vbi1hdHRzIi8+CisgICAgICAgIDxyZWYgbmFtZT0ib3Blbi1wYXR0ZXJucyIvPgorICAgICAgPC9lbGVtZW50PgorICAgICAgPGVsZW1lbnQgbmFtZT0iY2hvaWNlIj4KKyAgICAgICAgPHJlZiBuYW1lPSJjb21tb24tYXR0cyIvPgorICAgICAgICA8cmVmIG5hbWU9Im9wZW4tcGF0dGVybnMiLz4KKyAgICAgIDwvZWxlbWVudD4KKyAgICAgIDxlbGVtZW50IG5hbWU9Im9wdGlvbmFsIj4KKyAgICAgICAgPHJlZiBuYW1lPSJjb21tb24tYXR0cyIvPgorICAgICAgICA8cmVmIG5hbWU9Im9wZW4tcGF0dGVybnMiLz4KKyAgICAgIDwvZWxlbWVudD4KKyAgICAgIDxlbGVtZW50IG5hbWU9Inplcm9Pck1vcmUiPgorICAgICAgICA8cmVmIG5hbWU9ImNvbW1vbi1hdHRzIi8+CisgICAgICAgIDxyZWYgbmFtZT0ib3Blbi1wYXR0ZXJucyIvPgorICAgICAgPC9lbGVtZW50PgorICAgICAgPGVsZW1lbnQgbmFtZT0ib25lT3JNb3JlIj4KKyAgICAgICAgPHJlZiBuYW1lPSJjb21tb24tYXR0cyIvPgorICAgICAgICA8cmVmIG5hbWU9Im9wZW4tcGF0dGVybnMiLz4KKyAgICAgIDwvZWxlbWVudD4KKyAgICAgIDxlbGVtZW50IG5hbWU9Imxpc3QiPgorICAgICAgICA8cmVmIG5hbWU9ImNvbW1vbi1hdHRzIi8+CisgICAgICAgIDxyZWYgbmFtZT0ib3Blbi1wYXR0ZXJucyIvPgorICAgICAgPC9lbGVtZW50PgorICAgICAgPGVsZW1lbnQgbmFtZT0ibWl4ZWQiPgorICAgICAgICA8cmVmIG5hbWU9ImNvbW1vbi1hdHRzIi8+CisgICAgICAgIDxyZWYgbmFtZT0ib3Blbi1wYXR0ZXJucyIvPgorICAgICAgPC9lbGVtZW50PgorICAgICAgPGVsZW1lbnQgbmFtZT0icmVmIj4KKyAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJuYW1lIj4KKyAgICAgICAgICA8ZGF0YSB0eXBlPSJOQ05hbWUiLz4KKyAgICAgICAgPC9hdHRyaWJ1dGU+CisgICAgICAgIDxyZWYgbmFtZT0iY29tbW9uLWF0dHMiLz4KKyAgICAgICAgPHJlZiBuYW1lPSJvdGhlciIvPgorICAgICAgPC9lbGVtZW50PgorICAgICAgPGVsZW1lbnQgbmFtZT0icGFyZW50UmVmIj4KKyAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJuYW1lIj4KKyAgICAgICAgICA8ZGF0YSB0eXBlPSJOQ05hbWUiLz4KKyAgICAgICAgPC9hdHRyaWJ1dGU+CisgICAgICAgIDxyZWYgbmFtZT0iY29tbW9uLWF0dHMiLz4KKyAgICAgICAgPHJlZiBuYW1lPSJvdGhlciIvPgorICAgICAgPC9lbGVtZW50PgorICAgICAgPGVsZW1lbnQgbmFtZT0iZW1wdHkiPgorICAgICAgICA8cmVmIG5hbWU9ImNvbW1vbi1hdHRzIi8+CisgICAgICAgIDxyZWYgbmFtZT0ib3RoZXIiLz4KKyAgICAgIDwvZWxlbWVudD4KKyAgICAgIDxlbGVtZW50IG5hbWU9InRleHQiPgorICAgICAgICA8cmVmIG5hbWU9ImNvbW1vbi1hdHRzIi8+CisgICAgICAgIDxyZWYgbmFtZT0ib3RoZXIiLz4KKyAgICAgIDwvZWxlbWVudD4KKyAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIj4KKyAgICAgICAgPG9wdGlvbmFsPgorICAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0idHlwZSI+CisgICAgICAgICAgICA8ZGF0YSB0eXBlPSJOQ05hbWUiLz4KKyAgICAgICAgICA8L2F0dHJpYnV0ZT4KKyAgICAgICAgPC9vcHRpb25hbD4KKyAgICAgICAgPHJlZiBuYW1lPSJjb21tb24tYXR0cyIvPgorICAgICAgICA8dGV4dC8+CisgICAgICA8L2VsZW1lbnQ+CisgICAgICA8ZWxlbWVudCBuYW1lPSJkYXRhIj4KKyAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJ0eXBlIj4KKyAgICAgICAgICA8ZGF0YSB0eXBlPSJOQ05hbWUiLz4KKyAgICAgICAgPC9hdHRyaWJ1dGU+CisgICAgICAgIDxyZWYgbmFtZT0iY29tbW9uLWF0dHMiLz4KKyAgICAgICAgPGludGVybGVhdmU+CisgICAgICAgICAgPHJlZiBuYW1lPSJvdGhlciIvPgorICAgICAgICAgIDxncm91cD4KKyAgICAgICAgICAgIDx6ZXJvT3JNb3JlPgorICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJwYXJhbSI+CisgICAgICAgICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJuYW1lIj4KKyAgICAgICAgICAgICAgICAgIDxkYXRhIHR5cGU9Ik5DTmFtZSIvPgorICAgICAgICAgICAgICAgIDwvYXR0cmlidXRlPgorICAgICAgICAgICAgICAgIDxyZWYgbmFtZT0iY29tbW9uLWF0dHMiLz4KKyAgICAgICAgICAgICAgICA8dGV4dC8+CisgICAgICAgICAgICAgIDwvZWxlbWVudD4KKyAgICAgICAgICAgIDwvemVyb09yTW9yZT4KKyAgICAgICAgICAgIDxvcHRpb25hbD4KKyAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iZXhjZXB0Ij4KKyAgICAgICAgICAgICAgICA8cmVmIG5hbWU9ImNvbW1vbi1hdHRzIi8+CisgICAgICAgICAgICAgICAgPHJlZiBuYW1lPSJvcGVuLXBhdHRlcm5zIi8+CisgICAgICAgICAgICAgIDwvZWxlbWVudD4KKyAgICAgICAgICAgIDwvb3B0aW9uYWw+CisgICAgICAgICAgPC9ncm91cD4KKyAgICAgICAgPC9pbnRlcmxlYXZlPgorICAgICAgPC9lbGVtZW50PgorICAgICAgPGVsZW1lbnQgbmFtZT0ibm90QWxsb3dlZCI+CisgICAgICAgIDxyZWYgbmFtZT0iY29tbW9uLWF0dHMiLz4KKyAgICAgICAgPHJlZiBuYW1lPSJvdGhlciIvPgorICAgICAgPC9lbGVtZW50PgorICAgICAgPGVsZW1lbnQgbmFtZT0iZXh0ZXJuYWxSZWYiPgorICAgICAgICA8YXR0cmlidXRlIG5hbWU9ImhyZWYiPgorICAgICAgICAgIDxkYXRhIHR5cGU9ImFueVVSSSIvPgorICAgICAgICA8L2F0dHJpYnV0ZT4KKyAgICAgICAgPHJlZiBuYW1lPSJjb21tb24tYXR0cyIvPgorICAgICAgICA8cmVmIG5hbWU9Im90aGVyIi8+CisgICAgICA8L2VsZW1lbnQ+CisgICAgICA8ZWxlbWVudCBuYW1lPSJncmFtbWFyIj4KKyAgICAgICAgPHJlZiBuYW1lPSJjb21tb24tYXR0cyIvPgorICAgICAgICA8cmVmIG5hbWU9ImdyYW1tYXItY29udGVudCIvPgorICAgICAgPC9lbGVtZW50PgorICAgIDwvY2hvaWNlPgorICA8L2RlZmluZT4KKworICA8ZGVmaW5lIG5hbWU9ImdyYW1tYXItY29udGVudCI+CisgICAgPGludGVybGVhdmU+CisgICAgICA8cmVmIG5hbWU9Im90aGVyIi8+CisgICAgICA8emVyb09yTW9yZT4KKyAgICAgICAgPGNob2ljZT4KKyAgICAgICAgICA8cmVmIG5hbWU9InN0YXJ0LWVsZW1lbnQiLz4KKyAgICAgICAgICA8cmVmIG5hbWU9ImRlZmluZS1lbGVtZW50Ii8+CisgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGl2Ij4KKyAgICAgICAgICAgIDxyZWYgbmFtZT0iY29tbW9uLWF0dHMiLz4KKyAgICAgICAgICAgIDxyZWYgbmFtZT0iZ3JhbW1hci1jb250ZW50Ii8+CisgICAgICAgICAgPC9lbGVtZW50PgorICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImluY2x1ZGUiPgorICAgICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJocmVmIj4KKyAgICAgICAgICAgICAgPGRhdGEgdHlwZT0iYW55VVJJIi8+CisgICAgICAgICAgICA8L2F0dHJpYnV0ZT4KKyAgICAgICAgICAgIDxyZWYgbmFtZT0iY29tbW9uLWF0dHMiLz4KKyAgICAgICAgICAgIDxyZWYgbmFtZT0iaW5jbHVkZS1jb250ZW50Ii8+CisgICAgICAgICAgPC9lbGVtZW50PgorICAgICAgICA8L2Nob2ljZT4KKyAgICAgIDwvemVyb09yTW9yZT4KKyAgICA8L2ludGVybGVhdmU+CisgIDwvZGVmaW5lPgorCisgIDxkZWZpbmUgbmFtZT0iaW5jbHVkZS1jb250ZW50Ij4KKyAgICA8aW50ZXJsZWF2ZT4KKyAgICAgIDxyZWYgbmFtZT0ib3RoZXIiLz4KKyAgICAgIDx6ZXJvT3JNb3JlPgorICAgICAgICA8Y2hvaWNlPgorICAgICAgICAgIDxyZWYgbmFtZT0ic3RhcnQtZWxlbWVudCIvPgorICAgICAgICAgIDxyZWYgbmFtZT0iZGVmaW5lLWVsZW1lbnQiLz4KKyAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJkaXYiPgorICAgICAgICAgICAgPHJlZiBuYW1lPSJjb21tb24tYXR0cyIvPgorICAgICAgICAgICAgPHJlZiBuYW1lPSJpbmNsdWRlLWNvbnRlbnQiLz4KKyAgICAgICAgICA8L2VsZW1lbnQ+CisgICAgICAgIDwvY2hvaWNlPgorICAgICAgPC96ZXJvT3JNb3JlPgorICAgIDwvaW50ZXJsZWF2ZT4KKyAgPC9kZWZpbmU+CisKKyAgPGRlZmluZSBuYW1lPSJzdGFydC1lbGVtZW50Ij4KKyAgICA8ZWxlbWVudCBuYW1lPSJzdGFydCI+CisgICAgICA8cmVmIG5hbWU9ImNvbWJpbmUtYXR0Ii8+CisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi1hdHRzIi8+CisgICAgICA8cmVmIG5hbWU9Im9wZW4tcGF0dGVybiIvPgorICAgIDwvZWxlbWVudD4KKyAgPC9kZWZpbmU+CisKKyAgPGRlZmluZSBuYW1lPSJkZWZpbmUtZWxlbWVudCI+CisgICAgPGVsZW1lbnQgbmFtZT0iZGVmaW5lIj4KKyAgICAgIDxhdHRyaWJ1dGUgbmFtZT0ibmFtZSI+CisgICAgICAgIDxkYXRhIHR5cGU9Ik5DTmFtZSIvPgorICAgICAgPC9hdHRyaWJ1dGU+CisgICAgICA8cmVmIG5hbWU9ImNvbWJpbmUtYXR0Ii8+CisgICAgICA8cmVmIG5hbWU9ImNvbW1vbi1hdHRzIi8+CisgICAgICA8cmVmIG5hbWU9Im9wZW4tcGF0dGVybnMiLz4KKyAgICA8L2VsZW1lbnQ+CisgIDwvZGVmaW5lPgorCisgIDxkZWZpbmUgbmFtZT0iY29tYmluZS1hdHQiPgorICAgIDxvcHRpb25hbD4KKyAgICAgIDxhdHRyaWJ1dGUgbmFtZT0iY29tYmluZSI+CisgICAgICAgIDxjaG9pY2U+CisgICAgICAgICAgPHZhbHVlPmNob2ljZTwvdmFsdWU+CisgICAgICAgICAgPHZhbHVlPmludGVybGVhdmU8L3ZhbHVlPgorICAgICAgICA8L2Nob2ljZT4KKyAgICAgIDwvYXR0cmlidXRlPgorICAgIDwvb3B0aW9uYWw+CisgIDwvZGVmaW5lPgorCisgIDxkZWZpbmUgbmFtZT0ib3Blbi1wYXR0ZXJucyI+CisgICAgPGludGVybGVhdmU+CisgICAgICA8cmVmIG5hbWU9Im90aGVyIi8+CisgICAgICA8b25lT3JNb3JlPgorICAgICAgICA8cmVmIG5hbWU9InBhdHRlcm4iLz4KKyAgICAgIDwvb25lT3JNb3JlPgorICAgIDwvaW50ZXJsZWF2ZT4KKyAgPC9kZWZpbmU+CisKKyAgPGRlZmluZSBuYW1lPSJvcGVuLXBhdHRlcm4iPgorICAgIDxpbnRlcmxlYXZlPgorICAgICAgPHJlZiBuYW1lPSJvdGhlciIvPgorICAgICAgPHJlZiBuYW1lPSJwYXR0ZXJuIi8+CisgICAgPC9pbnRlcmxlYXZlPgorICA8L2RlZmluZT4KKworICA8ZGVmaW5lIG5hbWU9Im5hbWUtY2xhc3MiPgorICAgIDxjaG9pY2U+CisgICAgICA8ZWxlbWVudCBuYW1lPSJuYW1lIj4KKyAgICAgICAgPHJlZiBuYW1lPSJjb21tb24tYXR0cyIvPgorICAgICAgICA8ZGF0YSB0eXBlPSJRTmFtZSIvPgorICAgICAgPC9lbGVtZW50PgorICAgICAgPGVsZW1lbnQgbmFtZT0iYW55TmFtZSI+CisgICAgICAgIDxyZWYgbmFtZT0iY29tbW9uLWF0dHMiLz4KKyAgICAgICAgPHJlZiBuYW1lPSJleGNlcHQtbmFtZS1jbGFzcyIvPgorICAgICAgPC9lbGVtZW50PgorICAgICAgPGVsZW1lbnQgbmFtZT0ibnNOYW1lIj4KKyAgICAgICAgPHJlZiBuYW1lPSJjb21tb24tYXR0cyIvPgorICAgICAgICA8cmVmIG5hbWU9ImV4Y2VwdC1uYW1lLWNsYXNzIi8+CisgICAgICA8L2VsZW1lbnQ+CisgICAgICA8ZWxlbWVudCBuYW1lPSJjaG9pY2UiPgorICAgICAgICA8cmVmIG5hbWU9ImNvbW1vbi1hdHRzIi8+CisgICAgICAgIDxyZWYgbmFtZT0ib3Blbi1uYW1lLWNsYXNzZXMiLz4KKyAgICAgIDwvZWxlbWVudD4KKyAgICA8L2Nob2ljZT4KKyAgPC9kZWZpbmU+CisKKyAgPGRlZmluZSBuYW1lPSJleGNlcHQtbmFtZS1jbGFzcyI+CisgICAgPGludGVybGVhdmU+CisgICAgICA8cmVmIG5hbWU9Im90aGVyIi8+CisgICAgICA8b3B0aW9uYWw+CisgICAgICAgIDxlbGVtZW50IG5hbWU9ImV4Y2VwdCI+CisgICAgICAgICAgPHJlZiBuYW1lPSJvcGVuLW5hbWUtY2xhc3NlcyIvPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L29wdGlvbmFsPgorICAgIDwvaW50ZXJsZWF2ZT4KKyAgPC9kZWZpbmU+CisKKyAgPGRlZmluZSBuYW1lPSJvcGVuLW5hbWUtY2xhc3NlcyI+CisgICAgPGludGVybGVhdmU+CisgICAgICA8cmVmIG5hbWU9Im90aGVyIi8+CisgICAgICA8b25lT3JNb3JlPgorICAgICAgICA8cmVmIG5hbWU9Im5hbWUtY2xhc3MiLz4KKyAgICAgIDwvb25lT3JNb3JlPgorICAgIDwvaW50ZXJsZWF2ZT4KKyAgPC9kZWZpbmU+CisKKyAgPGRlZmluZSBuYW1lPSJvcGVuLW5hbWUtY2xhc3MiPgorICAgIDxpbnRlcmxlYXZlPgorICAgICAgPHJlZiBuYW1lPSJvdGhlciIvPgorICAgICAgPHJlZiBuYW1lPSJuYW1lLWNsYXNzIi8+CisgICAgPC9pbnRlcmxlYXZlPgorICA8L2RlZmluZT4KKworICA8ZGVmaW5lIG5hbWU9ImNvbW1vbi1hdHRzIj4KKyAgICA8b3B0aW9uYWw+CisgICAgICA8YXR0cmlidXRlIG5hbWU9Im5zIi8+CisgICAgPC9vcHRpb25hbD4KKyAgICA8b3B0aW9uYWw+CisgICAgICA8YXR0cmlidXRlIG5hbWU9ImRhdGF0eXBlTGlicmFyeSI+CisgICAgICAgIDxkYXRhIHR5cGU9ImFueVVSSSIvPgorICAgICAgPC9hdHRyaWJ1dGU+CisgICAgPC9vcHRpb25hbD4KKyAgICA8emVyb09yTW9yZT4KKyAgICAgIDxhdHRyaWJ1dGU+CisgICAgICAgIDxhbnlOYW1lPgorICAgICAgICAgIDxleGNlcHQ+CisgICAgICAgICAgICA8bnNOYW1lLz4KKyAgICAgICAgICAgIDxuc05hbWUgbnM9IiIvPgorICAgICAgICAgIDwvZXhjZXB0PgorICAgICAgICA8L2FueU5hbWU+CisgICAgICA8L2F0dHJpYnV0ZT4KKyAgICA8L3plcm9Pck1vcmU+CisgIDwvZGVmaW5lPgorCisgIDxkZWZpbmUgbmFtZT0ib3RoZXIiPgorICAgIDx6ZXJvT3JNb3JlPgorICAgICAgPGVsZW1lbnQ+CisgICAgICAgIDxhbnlOYW1lPgorICAgICAgICAgIDxleGNlcHQ+CisgICAgICAgICAgICA8bnNOYW1lLz4KKyAgICAgICAgICA8L2V4Y2VwdD4KKyAgICAgICAgPC9hbnlOYW1lPgorICAgICAgICA8emVyb09yTW9yZT4KKyAgICAgICAgICA8Y2hvaWNlPgorICAgICAgICAgICAgPGF0dHJpYnV0ZT4KKyAgICAgICAgICAgICAgPGFueU5hbWUvPgorICAgICAgICAgICAgPC9hdHRyaWJ1dGU+CisgICAgICAgICAgICA8dGV4dC8+CisgICAgICAgICAgICA8cmVmIG5hbWU9ImFueSIvPgorICAgICAgICAgIDwvY2hvaWNlPgorICAgICAgICA8L3plcm9Pck1vcmU+CisgICAgICA8L2VsZW1lbnQ+CisgICAgPC96ZXJvT3JNb3JlPgorICA8L2RlZmluZT4KKworICA8ZGVmaW5lIG5hbWU9ImFueSI+CisgICAgPGVsZW1lbnQ+CisgICAgICA8YW55TmFtZS8+CisgICAgICA8emVyb09yTW9yZT4KKyAgICAgICAgPGNob2ljZT4KKyAgICAgICAgICA8YXR0cmlidXRlPgorICAgICAgICAgICAgPGFueU5hbWUvPgorICAgICAgICAgIDwvYXR0cmlidXRlPgorICAgICAgICAgIDx0ZXh0Lz4KKyAgICAgICAgICA8cmVmIG5hbWU9ImFueSIvPgorICAgICAgICA8L2Nob2ljZT4KKyAgICAgIDwvemVyb09yTW9yZT4KKyAgICA8L2VsZW1lbnQ+CisgIDwvZGVmaW5lPgorCis8L2dyYW1tYXI+CisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzLzU3MDcwMl8wLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzLzU3MDcwMl8wLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NzRlNTZmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvNTcwNzAyXzAueG1sCkBAIC0wLDAgKzEsMTMgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IS0tIGVkaXRlZCB3aXRoIFhNTCBTcHkgdjQuMyBVIChodHRwOi8vd3d3LnhtbHNweS5jb20pIGJ5IGFzZGYgKGZkc2EpIC0tPgorPCEtLVNhbXBsZSBYTUwgZmlsZSBnZW5lcmF0ZWQgYnkgWE1MIFNweSB2NC4zIFUgKGh0dHA6Ly93d3cueG1sc3B5LmNvbSktLT4KKzxkbl9sZW5fbGlzdCB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIgoreHNpOm5vTmFtZXNwYWNlU2NoZW1hTG9jYXRpb249Ilo6XHByb3RvXHdzaWZcdGVtcC54c2QiPgorICAgICAgICA8ZG5fbGVuZ3RoPjE1PC9kbl9sZW5ndGg+CisgICAgICAgIDxkZXN0cm95PjEyNzwvZGVzdHJveT4KKyAgICAgICAgPGRuX2xlbmd0aD4xNTwvZG5fbGVuZ3RoPgorICAgICAgICA8ZGVzdHJveT4xMjc8L2Rlc3Ryb3k+CisgICAgICAgIDxkbl9sZW5ndGg+MTU8L2RuX2xlbmd0aD4KKyAgICAgICAgPGRlc3Ryb3k+MTI3PC9kZXN0cm95PgorPC9kbl9sZW5fbGlzdD4KKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvNTcwNzAyXzAueHNkIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvNTcwNzAyXzAueHNkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM5N2E0ZDYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy81NzA3MDJfMC54c2QKQEAgLTAsMCArMSwyNSBAQAorPHhzOnNjaGVtYSB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiCitlbGVtZW50Rm9ybURlZmF1bHQ9InF1YWxpZmllZCIgYXR0cmlidXRlRm9ybURlZmF1bHQ9InVucXVhbGlmaWVkIj4KKzx4czplbGVtZW50IG5hbWU9ImRuX2xlbl9saXN0Ij4KKzx4czpjb21wbGV4VHlwZT4KKyAgPHhzOnNlcXVlbmNlIG1heE9jY3Vycz0iMyI+CisgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJkbl9sZW5ndGgiIG1pbk9jY3Vycz0iMCI+CisgICAgICAgICAgPHhzOmFubm90YXRpb24+CisgICAgICAgICAgICAgIDx4czpkb2N1bWVudGF0aW9uPkRlc3RpbmF0aW9uIE51bWJlciBMZW5ndGg8L3hzOmRvY3VtZW50YXRpb24+CisgICAgICAgICAgPC94czphbm5vdGF0aW9uPgorICAgICAgICAgIDx4czpzaW1wbGVUeXBlPgorICAgICAgICAgICAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6Ynl0ZSI+CisgICAgICAgICAgICAgICAgICA8eHM6bWluSW5jbHVzaXZlIHZhbHVlPSIxIi8+CisgICAgICAgICAgICAgICAgICA8eHM6bWF4SW5jbHVzaXZlIHZhbHVlPSIxNSIvPgorICAgICAgICAgICAgICA8L3hzOnJlc3RyaWN0aW9uPgorICAgICAgICAgIDwveHM6c2ltcGxlVHlwZT4KKyAgICAgIDwveHM6ZWxlbWVudD4KKyAgICAgIDx4czplbGVtZW50IG5hbWU9ImRlc3Ryb3kiIHR5cGU9InhzOmJ5dGUiIG1pbk9jY3Vycz0iMCI+CisgICAgICAgICAgPHhzOmFubm90YXRpb24+CisgICAgICAgICAgICAgIDx4czpkb2N1bWVudGF0aW9uPmRlc3Ryb3kgZmxhZzwveHM6ZG9jdW1lbnRhdGlvbj4KKyAgICAgICAgICA8L3hzOmFubm90YXRpb24+CisgICAgICA8L3hzOmVsZW1lbnQ+CisgIDwveHM6c2VxdWVuY2U+Cis8L3hzOmNvbXBsZXhUeXBlPgorPC94czplbGVtZW50PgorPC94czpzY2hlbWE+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy81Nzk3NDZfMC54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy81Nzk3NDZfMC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2U0MmYyYQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzLzU3OTc0Nl8wLnhtbApAQCAtMCwwICsxLDMgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPGNvbnRhY3Q+Cis8L2NvbnRhY3Q+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy81Nzk3NDZfMC54c2QgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy81Nzk3NDZfMC54c2QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTY5NWZlNgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzLzU3OTc0Nl8wLnhzZApAQCAtMCwwICsxLDExIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzx4c2Q6c2NoZW1hIHhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiPgorICAgPHhzZDplbGVtZW50IG5hbWU9ICJjb250YWN0IiB0eXBlPSJDb250YWN0VHlwZSIvPgorICAgPHhzZDpjb21wbGV4VHlwZSBuYW1lPSJDb250YWN0VHlwZSI+CisgICAgICA8eHNkOmNob2ljZSBtaW5PY2N1cnM9IjIiIG1heE9jY3Vycz0iMiI+CisgICAgICAgICA8eHNkOmVsZW1lbnQgbmFtZT0iY3VzdG9tZXIiIHR5cGU9InhzZDpzdHJpbmciIC8+CisgICAgICAgICA8eHNkOmVsZW1lbnQgbmFtZT0iY29tbWVudCIgdHlwZT0ieHNkOnN0cmluZyIgIG1pbk9jY3Vycz0iMCIvPgorICAgICAgPC94c2Q6Y2hvaWNlPgorICAgPC94c2Q6Y29tcGxleFR5cGU+Cis8L3hzZDpzY2hlbWE+IAorCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy81Nzk3NDZfMS54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy81Nzk3NDZfMS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTJmM2Q0ZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzLzU3OTc0Nl8xLnhtbApAQCAtMCwwICsxLDQgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPGNvbnRhY3Q+CisgIDxjdXN0b21lci8+Cis8L2NvbnRhY3Q+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy81Nzk3NDZfMS54c2QgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy81Nzk3NDZfMS54c2QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTM1NDk2NwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzLzU3OTc0Nl8xLnhzZApAQCAtMCwwICsxLDEwIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzx4c2Q6c2NoZW1hIHhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiPgorICAgPHhzZDplbGVtZW50IG5hbWU9ICJjb250YWN0IiB0eXBlPSJDb250YWN0VHlwZSIvPgorICAgPHhzZDpjb21wbGV4VHlwZSBuYW1lPSJDb250YWN0VHlwZSI+CisgICAgICA8eHNkOmNob2ljZSBtaW5PY2N1cnM9IjEiIG1heE9jY3Vycz0iMiI+CisgICAgICAgICA8eHNkOmVsZW1lbnQgbmFtZT0iY3VzdG9tZXIiIHR5cGU9InhzZDpzdHJpbmciIC8+CisgICAgICAgICA8eHNkOmVsZW1lbnQgbmFtZT0iY29tbWVudCIgdHlwZT0ieHNkOnN0cmluZyIgIG1pbk9jY3Vycz0iMCIvPgorICAgICAgPC94c2Q6Y2hvaWNlPgorICAgPC94c2Q6Y29tcGxleFR5cGU+Cis8L3hzZDpzY2hlbWE+IApkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvNTc5NzQ2XzIueG1sIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvNTc5NzQ2XzIueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVkMTZkZWEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy81Nzk3NDZfMi54bWwKQEAgLTAsMCArMSw1IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxjb250YWN0PgorICA8Y3VzdG9tZXIvPgorICA8Y3VzdG9tZXIvPgorPC9jb250YWN0PgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvNTc5NzQ2XzMueG1sIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvNTc5NzQ2XzMueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFlZGNjMjEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy81Nzk3NDZfMy54bWwKQEAgLTAsMCArMSw3IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxjb250YWN0PgorICA8Y3VzdG9tZXIvPgorICA8Y29tbWVudC8+CisgIDxjdXN0b21lci8+CisgIDxjb21tZW50Lz4KKzwvY29udGFjdD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzLzU3OTc0Nl80LnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzLzU3OTc0Nl80LnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NGJkYzU1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvNTc5NzQ2XzQueG1sCkBAIC0wLDAgKzEsNSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8Y29udGFjdD4KKyAgPGN1c3RvbWVyLz4KKyAgPGNvbW1lbnQvPgorPC9jb250YWN0PgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvNTc5NzQ2XzUueG1sIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvNTc5NzQ2XzUueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI0YjEzNTAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy81Nzk3NDZfNS54bWwKQEAgLTAsMCArMSw2IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxjb250YWN0PgorICA8Y29tbWVudC8+CisgIDxjdXN0b21lci8+CisgIDxjb21tZW50Lz4KKzwvY29udGFjdD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzLzU4Mjg4Ny1hdHRyaWJ1dGUueHNkIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvNTgyODg3LWF0dHJpYnV0ZS54c2QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzVkN2Q0YQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzLzU4Mjg4Ny1hdHRyaWJ1dGUueHNkCkBAIC0wLDAgKzEsMTIgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8eHM6c2NoZW1hIHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIKKwkgICB4bWxucz0iaHR0cDovL3d3dy5leGFtcGxlLm9yZy90ZXN0LWltcG9ydC1jYXNlIgorCSAgIHRhcmdldE5hbWVzcGFjZT0iaHR0cDovL3d3dy5leGFtcGxlLm9yZy90ZXN0LWltcG9ydC1jYXNlIj4KKworICA8eHM6c2ltcGxlVHlwZSBuYW1lPSJ0ZXN0LWF0dHJpYnV0ZSI+CisgICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+CisgICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9InRoaXMiIC8+CisgICAgPC94czpyZXN0cmljdGlvbj4KKyAgPC94czpzaW1wbGVUeXBlPgorCis8L3hzOnNjaGVtYT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzLzU4Mjg4Ny1jb21tb24ueHNkIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvNTgyODg3LWNvbW1vbi54c2QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzFjMzg1ZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzLzU4Mjg4Ny1jb21tb24ueHNkCkBAIC0wLDAgKzEsOCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzx4czpzY2hlbWEgeG1sbnM6eHM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIgorCSAgIHhtbG5zPSJodHRwOi8vd3d3LmV4YW1wbGUub3JnL3Rlc3QtaW1wb3J0LWNhc2UiCisJICAgdGFyZ2V0TmFtZXNwYWNlPSJodHRwOi8vd3d3LmV4YW1wbGUub3JnL3Rlc3QtaW1wb3J0LWNhc2UiPgorICA8eHM6aW5jbHVkZSBzY2hlbWFMb2NhdGlvbj0iLi81ODI4ODctZWxlbWVudC54c2QiIC8+CisgIDx4czppbmNsdWRlIHNjaGVtYUxvY2F0aW9uPSIuLzU4Mjg4Ny1hdHRyaWJ1dGUueHNkIiAvPgorCis8L3hzOnNjaGVtYT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzLzU4Mjg4Ny1lbGVtZW50LnhzZCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzLzU4Mjg4Ny1lbGVtZW50LnhzZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNTYyMDIxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvNTgyODg3LWVsZW1lbnQueHNkCkBAIC0wLDAgKzEsMTEgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8eHM6c2NoZW1hIHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIKKwkgICB4bWxucz0iaHR0cDovL3d3dy5leGFtcGxlLm9yZy90ZXN0LWltcG9ydC1jYXNlIgorCSAgIHRhcmdldE5hbWVzcGFjZT0iaHR0cDovL3d3dy5leGFtcGxlLm9yZy90ZXN0LWltcG9ydC1jYXNlIj4KKyAgPHhzOmluY2x1ZGUgc2NoZW1hTG9jYXRpb249Ii4vNTgyODg3LWNvbW1vbi54c2QiIC8+CisKKyAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9InRlc3QtZWxlbWVudCI+CisgICAgPHhzOmF0dHJpYnV0ZSBuYW1lPSJ0ZXN0LWF0dHJpYnV0ZSIgdHlwZT0idGVzdC1hdHRyaWJ1dGUiIC8+CisgIDwveHM6Y29tcGxleFR5cGU+CisgIDx4czplbGVtZW50IG5hbWU9InRlc3QtZWxlbWVudCIgdHlwZT0idGVzdC1lbGVtZW50IiAvPgorPC94czpzY2hlbWE+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy81ODI4ODdfMC54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy81ODI4ODdfMC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGE3NDcxNAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzLzU4Mjg4N18wLnhtbApAQCAtMCwwICsxLDcgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8dGVzdC1jYXNlIHhtbG5zPSJodHRwOi8vd3d3LmV4YW1wbGUub3JnL3Rlc3QtY2FzZSIKKwkgICB4bWxuczp0Yz0iaHR0cDovL3d3dy5leGFtcGxlLm9yZy90ZXN0LWltcG9ydC1jYXNlIgorCSAgIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiCisJICAgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vd3d3LmV4YW1wbGUub3JnL3Rlc3QtY2FzZSAuLzU4Mjg4Ny1jYXNlLnhzZCI+CisgIDx0Yzp0ZXN0LWVsZW1lbnQgdGVzdC1hdHRyaWJ1dGU9InRoaXMiIC8+Cis8L3Rlc3QtY2FzZT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzLzU4Mjg4N18wLnhzZCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzLzU4Mjg4N18wLnhzZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hM2IxNzVhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvNTgyODg3XzAueHNkCkBAIC0wLDAgKzEsMTcgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8eHM6c2NoZW1hIHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIKKwkgICB4bWxuczp0Yz0iaHR0cDovL3d3dy5leGFtcGxlLm9yZy90ZXN0LWltcG9ydC1jYXNlIgorCSAgIHhtbG5zPSJodHRwOi8vd3d3LmV4YW1wbGUub3JnL3Rlc3QtY2FzZSIKKwkgICB0YXJnZXROYW1lc3BhY2U9Imh0dHA6Ly93d3cuZXhhbXBsZS5vcmcvdGVzdC1jYXNlIj4KKworICA8eHM6aW1wb3J0IG5hbWVzcGFjZT0iaHR0cDovL3d3dy5leGFtcGxlLm9yZy90ZXN0LWltcG9ydC1jYXNlIgorCSAgICAgc2NoZW1hTG9jYXRpb249Ii4vNTgyODg3LWNvbW1vbi54c2QiIC8+CisKKyAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9InRlc3QtY2FzZSI+CisgICAgPHhzOnNlcXVlbmNlPgorICAgICAgPHhzOmVsZW1lbnQgcmVmPSJ0Yzp0ZXN0LWVsZW1lbnQiIC8+CisgICAgPC94czpzZXF1ZW5jZT4KKyAgPC94czpjb21wbGV4VHlwZT4KKyAgPHhzOmVsZW1lbnQgbmFtZT0idGVzdC1jYXNlIiB0eXBlPSJ0ZXN0LWNhc2UiIC8+CisKKzwveHM6c2NoZW1hPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvNTgyOTA2LTEtY29tbW9uLnhzZCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzLzU4MjkwNi0xLWNvbW1vbi54c2QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWE3Y2JkYQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzLzU4MjkwNi0xLWNvbW1vbi54c2QKQEAgLTAsMCArMSw2IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCEtLSAkSWQkIC0tPgorPHhzOnNjaGVtYSB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiCisgICAgICAgICAgIGVsZW1lbnRGb3JtRGVmYXVsdD0icXVhbGlmaWVkIgorICAgICAgICAgICBhdHRyaWJ1dGVGb3JtRGVmYXVsdD0idW5xdWFsaWZpZWQiPgorPC94czpzY2hlbWE+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy81ODI5MDYtMS1wcm9nMS54c2QgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy81ODI5MDYtMS1wcm9nMS54c2QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzNkZGU1NgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzLzU4MjkwNi0xLXByb2cxLnhzZApAQCAtMCwwICsxLDExIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCEtLSAkSWQkIC0tPgorPHhzOnNjaGVtYSB4bWxucz0iaHR0cDovL2V4YW1wbGUuY29tL3htbC9Qcm9nMSIKKyAgICAgICAgICAgeG1sbnM6eHM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIgorICAgICAgICAgICBlbGVtZW50Rm9ybURlZmF1bHQ9InF1YWxpZmllZCIKKyAgICAgICAgICAgYXR0cmlidXRlRm9ybURlZmF1bHQ9InVucXVhbGlmaWVkIgorICAgICAgICAgICB0YXJnZXROYW1lc3BhY2U9Imh0dHA6Ly9leGFtcGxlLmNvbS94bWwvUHJvZzEiPgorCisgICAgPHhzOmluY2x1ZGUgc2NoZW1hTG9jYXRpb249IjU4MjkwNi0xLWNvbW1vbi54c2QiLz4KKworPC94czpzY2hlbWE+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy81ODI5MDYtMS1wcm9nMi1pbmNsdWRlLnhzZCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzLzU4MjkwNi0xLXByb2cyLWluY2x1ZGUueHNkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg3MDFjZmMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy81ODI5MDYtMS1wcm9nMi1pbmNsdWRlLnhzZApAQCAtMCwwICsxLDkgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IS0tICRJZCQgLS0+Cis8eHM6c2NoZW1hIHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIKKyAgICAgICAgICAgZWxlbWVudEZvcm1EZWZhdWx0PSJxdWFsaWZpZWQiIGF0dHJpYnV0ZUZvcm1EZWZhdWx0PSJ1bnF1YWxpZmllZCIKKyAgICAgICAgICAgeG1sOmxhbmc9ImVuIj4KKworICAgIDx4czppbmNsdWRlIHNjaGVtYUxvY2F0aW9uPSI1ODI5MDYtMS1jb21tb24ueHNkIi8+CisKKzwveHM6c2NoZW1hPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvNTgyOTA2LTEtcHJvZzIueHNkIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvNTgyOTA2LTEtcHJvZzIueHNkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ1MjhmZmYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy81ODI5MDYtMS1wcm9nMi54c2QKQEAgLTAsMCArMSwxMyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhLS0gJElkJCAtLT4KKzx4czpzY2hlbWEgeG1sbnM9Imh0dHA6Ly9leGFtcGxlLmNvbS94bWwvUHJvZzIiCisgICAgICAgICAgIHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIKKyAgICAgICAgICAgZWxlbWVudEZvcm1EZWZhdWx0PSJxdWFsaWZpZWQiCisgICAgICAgICAgIGF0dHJpYnV0ZUZvcm1EZWZhdWx0PSJ1bnF1YWxpZmllZCIKKyAgICAgICAgICAgdGFyZ2V0TmFtZXNwYWNlPSJodHRwOi8vZXhhbXBsZS5jb20veG1sL1Byb2cyIj4KKworICAgIDx4czppbmNsdWRlIHNjaGVtYUxvY2F0aW9uPSI1ODI5MDYtMS1jb21tb24ueHNkIi8+CisKKyAgICA8eHM6aW5jbHVkZSBzY2hlbWFMb2NhdGlvbj0iNTgyOTA2LTEtcHJvZzItaW5jbHVkZS54c2QiLz4KKworPC94czpzY2hlbWE+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy81ODI5MDYtMV8wLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzLzU4MjkwNi0xXzAueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMxMWQ4NWYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy81ODI5MDYtMV8wLnhtbApAQCAtMCwwICsxLDUgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8Q29sbGVjdGVkT3V0cHV0IHhtbG5zPSJodHRwOi8vZXhhbXBsZS5jb20veG1sL0FnZ3JlZ2F0b3IiCisgICAgICAgICAgICAgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIKKyAgICAgICAgICAgICB4c2k6c2NoZW1hTG9jYXRpb249Imh0dHA6Ly9leGFtcGxlLmNvbS94bWwvQWdncmVnYXRvcgorICAgICAgICAgICAgIDU4MjkwNi0xLnhzZCI+NS4zPC9Db2xsZWN0ZWRPdXRwdXQ+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy81ODI5MDYtMV8wLnhzZCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzLzU4MjkwNi0xXzAueHNkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU3OGY1YTQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy81ODI5MDYtMV8wLnhzZApAQCAtMCwwICsxLDIwIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCEtLSAkSWQkIC0tPgorPHhzOnNjaGVtYSB4bWxucz0iaHR0cDovL2V4YW1wbGUuY29tL3htbC9BZ2dyZWdhdG9yIgorICAgICAgICAgICB4bWxuczpwcm9nMT0iaHR0cDovL2V4YW1wbGUuY29tL3htbC9Qcm9nMSIKKyAgICAgICAgICAgeG1sbnM6cHJvZzI9Imh0dHA6Ly9leGFtcGxlLmNvbS94bWwvUHJvZzIiCisgICAgICAgICAgIHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIKKyAgICAgICAgICAgZWxlbWVudEZvcm1EZWZhdWx0PSJxdWFsaWZpZWQiCisgICAgICAgICAgIGF0dHJpYnV0ZUZvcm1EZWZhdWx0PSJ1bnF1YWxpZmllZCIKKyAgICAgICAgICAgdGFyZ2V0TmFtZXNwYWNlPSJodHRwOi8vZXhhbXBsZS5jb20veG1sL0FnZ3JlZ2F0b3IiPgorCisgICAgPHhzOmltcG9ydCBzY2hlbWFMb2NhdGlvbj0iNTgyOTA2LTEtcHJvZzEueHNkIgorICAgICAgICAgICAgICAgbmFtZXNwYWNlPSJodHRwOi8vZXhhbXBsZS5jb20veG1sL1Byb2cxIiAvPgorCisgICAgPHhzOmltcG9ydCBzY2hlbWFMb2NhdGlvbj0iNTgyOTA2LTEtcHJvZzIueHNkIgorICAgICAgICAgICAgICAgbmFtZXNwYWNlPSJodHRwOi8vZXhhbXBsZS5jb20veG1sL1Byb2cyIgorICAgICAgICAgICAgICAgLz4KKworICAgIDx4czplbGVtZW50IG5hbWU9IkNvbGxlY3RlZE91dHB1dCIgdHlwZT0ieHM6ZmxvYXQiLz4KKworPC94czpzY2hlbWE+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy81ODI5MDYtMi1jb21tb24ueHNkIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvNTgyOTA2LTItY29tbW9uLnhzZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jM2I4YzM3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvNTgyOTA2LTItY29tbW9uLnhzZApAQCAtMCwwICsxLDcgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IS0tICRJZCQgLS0+Cis8eHM6c2NoZW1hIHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIKKyAgICAgICAgICAgZWxlbWVudEZvcm1EZWZhdWx0PSJxdWFsaWZpZWQiCisgICAgICAgICAgIGF0dHJpYnV0ZUZvcm1EZWZhdWx0PSJ1bnF1YWxpZmllZCIKKyAgICAgICAgICAgdGFyZ2V0TmFtZXNwYWNlPSJodHRwOi8vZXhhbXBsZS5jb20veG1sL1Byb2czIj4KKzwveHM6c2NoZW1hPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvNTgyOTA2LTItcHJvZzEueHNkIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvNTgyOTA2LTItcHJvZzEueHNkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVjZDJkNDEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy81ODI5MDYtMi1wcm9nMS54c2QKQEAgLTAsMCArMSwxMSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhLS0gJElkJCAtLT4KKzx4czpzY2hlbWEgeG1sbnM9Imh0dHA6Ly9leGFtcGxlLmNvbS94bWwvUHJvZzEiCisgICAgICAgICAgIHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIKKyAgICAgICAgICAgZWxlbWVudEZvcm1EZWZhdWx0PSJxdWFsaWZpZWQiCisgICAgICAgICAgIGF0dHJpYnV0ZUZvcm1EZWZhdWx0PSJ1bnF1YWxpZmllZCIKKyAgICAgICAgICAgdGFyZ2V0TmFtZXNwYWNlPSJodHRwOi8vZXhhbXBsZS5jb20veG1sL1Byb2cxIj4KKworICAgIDx4czppbmNsdWRlIHNjaGVtYUxvY2F0aW9uPSI1ODI5MDYtMi1jb21tb24ueHNkIi8+CisKKzwveHM6c2NoZW1hPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvNTgyOTA2LTItcHJvZzItaW5jbHVkZS54c2QgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy81ODI5MDYtMi1wcm9nMi1pbmNsdWRlLnhzZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40OTg1YWEzCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvNTgyOTA2LTItcHJvZzItaW5jbHVkZS54c2QKQEAgLTAsMCArMSw5IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCEtLSAkSWQkIC0tPgorPHhzOnNjaGVtYSB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiCisgICAgICAgICAgIGVsZW1lbnRGb3JtRGVmYXVsdD0icXVhbGlmaWVkIiBhdHRyaWJ1dGVGb3JtRGVmYXVsdD0idW5xdWFsaWZpZWQiCisgICAgICAgICAgIHhtbDpsYW5nPSJlbiI+CisKKyAgICA8eHM6aW5jbHVkZSBzY2hlbWFMb2NhdGlvbj0iNTgyOTA2LTItY29tbW9uLnhzZCIvPgorCis8L3hzOnNjaGVtYT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzLzU4MjkwNi0yLXByb2cyLnhzZCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzLzU4MjkwNi0yLXByb2cyLnhzZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NDQ2ZjIxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvNTgyOTA2LTItcHJvZzIueHNkCkBAIC0wLDAgKzEsMTMgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IS0tICRJZCQgLS0+Cis8eHM6c2NoZW1hIHhtbG5zPSJodHRwOi8vZXhhbXBsZS5jb20veG1sL1Byb2cyIgorICAgICAgICAgICB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiCisgICAgICAgICAgIGVsZW1lbnRGb3JtRGVmYXVsdD0icXVhbGlmaWVkIgorICAgICAgICAgICBhdHRyaWJ1dGVGb3JtRGVmYXVsdD0idW5xdWFsaWZpZWQiCisgICAgICAgICAgIHRhcmdldE5hbWVzcGFjZT0iaHR0cDovL2V4YW1wbGUuY29tL3htbC9Qcm9nMiI+CisKKyAgICA8eHM6aW5jbHVkZSBzY2hlbWFMb2NhdGlvbj0iNTgyOTA2LTItY29tbW9uLnhzZCIvPgorCisgICAgPHhzOmluY2x1ZGUgc2NoZW1hTG9jYXRpb249IjU4MjkwNi0yLXByb2cyLWluY2x1ZGUueHNkIi8+CisKKzwveHM6c2NoZW1hPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvNTgyOTA2LTJfMC54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy81ODI5MDYtMl8wLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOTI4OTU3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvNTgyOTA2LTJfMC54bWwKQEAgLTAsMCArMSw1IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPENvbGxlY3RlZE91dHB1dCB4bWxucz0iaHR0cDovL2V4YW1wbGUuY29tL3htbC9BZ2dyZWdhdG9yIgorICAgICAgICAgICAgIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiCisgICAgICAgICAgICAgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vZXhhbXBsZS5jb20veG1sL0FnZ3JlZ2F0b3IKKyAgICAgICAgICAgICA1ODI5MDYtMi0wLnhzZCI+NS4zPC9Db2xsZWN0ZWRPdXRwdXQ+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy81ODI5MDYtMl8wLnhzZCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzLzU4MjkwNi0yXzAueHNkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2MmViYjgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy81ODI5MDYtMl8wLnhzZApAQCAtMCwwICsxLDIwIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCEtLSAkSWQkIC0tPgorPHhzOnNjaGVtYSB4bWxucz0iaHR0cDovL2V4YW1wbGUuY29tL3htbC9BZ2dyZWdhdG9yIgorICAgICAgICAgICB4bWxuczpwcm9nMT0iaHR0cDovL2V4YW1wbGUuY29tL3htbC9Qcm9nMSIKKyAgICAgICAgICAgeG1sbnM6cHJvZzI9Imh0dHA6Ly9leGFtcGxlLmNvbS94bWwvUHJvZzIiCisgICAgICAgICAgIHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIKKyAgICAgICAgICAgZWxlbWVudEZvcm1EZWZhdWx0PSJxdWFsaWZpZWQiCisgICAgICAgICAgIGF0dHJpYnV0ZUZvcm1EZWZhdWx0PSJ1bnF1YWxpZmllZCIKKyAgICAgICAgICAgdGFyZ2V0TmFtZXNwYWNlPSJodHRwOi8vZXhhbXBsZS5jb20veG1sL0FnZ3JlZ2F0b3IiPgorCisgICAgPHhzOmltcG9ydCBzY2hlbWFMb2NhdGlvbj0iNTgyOTA2LTItcHJvZzEueHNkIgorICAgICAgICAgICAgICAgbmFtZXNwYWNlPSJodHRwOi8vZXhhbXBsZS5jb20veG1sL1Byb2cxIiAvPgorCisgICAgPHhzOmltcG9ydCBzY2hlbWFMb2NhdGlvbj0iNTgyOTA2LTItcHJvZzIueHNkIgorICAgICAgICAgICAgICAgbmFtZXNwYWNlPSJodHRwOi8vZXhhbXBsZS5jb20veG1sL1Byb2cyIgorICAgICAgICAgICAgICAgLz4KKworICAgIDx4czplbGVtZW50IG5hbWU9IkNvbGxlY3RlZE91dHB1dCIgdHlwZT0ieHM6ZmxvYXQiLz4KKworPC94czpzY2hlbWE+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbGwueHNkIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYWxsLnhzZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMmU3MGUzCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYWxsLnhzZApAQCAtMCwwICsxLDE2IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzx4c2Q6c2NoZW1hIHhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiPgorICA8eHNkOmNvbXBsZXhUeXBlIG5hbWU9IlB1cmNoYXNlT3JkZXJUeXBlIj4KKyAgICA8eHNkOnNlcXVlbmNlPgorICAgICAgPHhzZDphbGw+CisgICAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJzaGlwVG8iIHR5cGU9IlVTQWRkcmVzcyIvPgorICAgICAgICA8eHNkOmVsZW1lbnQgbmFtZT0iYmlsbFRvIiB0eXBlPSJVU0FkZHJlc3MiLz4KKyAgICAgICAgPHhzZDplbGVtZW50IG5hbWU9Iml0ZW1zIiB0eXBlPSJJdGVtcyIvPgorICAgICAgPC94c2Q6YWxsPgorICAgICAgPHhzZDpzZXF1ZW5jZT4KKyAgICAgICAgPHhzZDplbGVtZW50IHJlZj0iY29tbWVudCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIvPgorICAgICAgPC94c2Q6c2VxdWVuY2U+CisgICAgPC94c2Q6c2VxdWVuY2U+CisgICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0ib3JkZXJEYXRlIiB0eXBlPSJ4c2Q6ZGF0ZSIvPgorICA8L3hzZDpjb21wbGV4VHlwZT4KKzwveHNkOnNjaGVtYT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2FsbDFfMC54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbGwxXzAueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY1MDA4OGMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbGwxXzAueG1sCkBAIC0wLDAgKzEsNCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8YT4KKyAgPGIvPgorPC9hPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvYWxsMV8wLnhzZCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2FsbDFfMC54c2QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjhmZWUwZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2FsbDFfMC54c2QKQEAgLTAsMCArMSwxMCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8eHM6c2NoZW1hIHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+CisgIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBIj4KKyAgICA8eHM6YWxsPgorICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iYiIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiLz4KKyAgICA8L3hzOmFsbD4KKyAgPC94czpjb21wbGV4VHlwZT4KKworICA8eHM6ZWxlbWVudCBuYW1lPSJhIiB0eXBlPSJBIi8+Cis8L3hzOnNjaGVtYT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2FsbF8wLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2FsbF8wLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYjViMGZhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYWxsXzAueG1sCkBAIC0wLDAgKzEgQEAKKzxkb2M+PGEvPjxiLz48Yy8+PC9kb2M+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbGxfMC54c2QgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbGxfMC54c2QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTVjMDRlZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2FsbF8wLnhzZApAQCAtMCwwICsxLDEyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzx4c2Q6c2NoZW1hIHhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiPgorICA8eHNkOmVsZW1lbnQgbmFtZT0iZG9jIj4KKyAgICA8eHNkOmNvbXBsZXhUeXBlPgorICAgICAgPHhzZDphbGwgbWluT2NjdXJzPSIxIj4KKyAgICAgICAgPHhzZDplbGVtZW50IG5hbWU9ImEiLz4KKyAgICAgICAgPHhzZDplbGVtZW50IG5hbWU9ImIiLz4KKyAgICAgICAgPHhzZDplbGVtZW50IG5hbWU9ImMiLz4KKyAgICAgIDwveHNkOmFsbD4KKyAgICA8L3hzZDpjb21wbGV4VHlwZT4KKyAgPC94c2Q6ZWxlbWVudD4KKzwveHNkOnNjaGVtYT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2FsbF8xLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2FsbF8xLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MWQ3OTdlCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYWxsXzEueG1sCkBAIC0wLDAgKzEsMiBAQAorPGRvYz48Yi8+PGMvPjxhLz48L2RvYz4KKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvYWxsXzEueHNkIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYWxsXzEueHNkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJjMzg2ZjMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbGxfMS54c2QKQEAgLTAsMCArMSwxMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8eHNkOnNjaGVtYSB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIj4KKyAgPHhzZDplbGVtZW50IG5hbWU9ImRvYyI+CisgICAgPHhzZDpjb21wbGV4VHlwZT4KKyAgICAgIDx4c2Q6YWxsIG1pbk9jY3Vycz0iMCI+CisgICAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJhIi8+CisgICAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJiIi8+CisgICAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJjIi8+CisgICAgICA8L3hzZDphbGw+CisgICAgPC94c2Q6Y29tcGxleFR5cGU+CisgIDwveHNkOmVsZW1lbnQ+Cis8L3hzZDpzY2hlbWE+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbGxfMi54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbGxfMi54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2MxNTgwYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2FsbF8yLnhtbApAQCAtMCwwICsxIEBACis8ZG9jPjxiLz48YS8+PGMvPjwvZG9jPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvYWxsXzIueHNkIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYWxsXzIueHNkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYzMGIwZGYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbGxfMi54c2QKQEAgLTAsMCArMSwxMSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8eHNkOnNjaGVtYSB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIj4KKyAgPHhzZDplbGVtZW50IG5hbWU9ImRvYyI+CisgICAgPHhzZDpjb21wbGV4VHlwZT4KKyAgICAgIDx4c2Q6YWxsPgorICAgICAgICA8eHNkOmVsZW1lbnQgbmFtZT0iYSIvPgorICAgICAgICA8eHNkOmVsZW1lbnQgbWluT2NjdXJzPSIwIiBuYW1lPSJiIi8+CisgICAgICA8L3hzZDphbGw+CisgICAgPC94c2Q6Y29tcGxleFR5cGU+CisgIDwveHNkOmVsZW1lbnQ+Cis8L3hzZDpzY2hlbWE+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbGxfMy54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbGxfMy54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzAxMWIzZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2FsbF8zLnhtbApAQCAtMCwwICsxIEBACis8ZG9jPjxhLz48Yi8+PC9kb2M+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbGxfNC54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbGxfNC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWZhODA3YwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2FsbF80LnhtbApAQCAtMCwwICsxIEBACis8ZG9jPjwvZG9jPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvYWxsXzUueG1sIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYWxsXzUueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ2OGYzMjEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbGxfNS54bWwKQEAgLTAsMCArMSBAQAorPGRvYz48YS8+PGIvPjxhLz48L2RvYz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2FsbF82LnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2FsbF82LnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZGQ3MWIxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYWxsXzYueG1sCkBAIC0wLDAgKzEgQEAKKzxkb2M+PGEvPjwvZG9jPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvYWxsXzcueG1sIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYWxsXzcueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMwMTFiM2YKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbGxfNy54bWwKQEAgLTAsMCArMSBAQAorPGRvYz48YS8+PGIvPjwvZG9jPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvYWxsc2dfMC54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbGxzZ18wLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MTQ2NDZmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYWxsc2dfMC54bWwKQEAgLTAsMCArMSw3IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxmb28geG1sbnM9InVybjp0ZXN0OmZvbyIgCisJeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIKKwl4c2k6c2NoZW1hTG9jYXRpb249InVybjp0ZXN0OmZvbyBzZy1hbGwueHNkIj4KKwk8Z20tQi0yLz4KKwk8Z20tQS0xLz4JCis8L2Zvbz4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbGxzZ18wLnhzZCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2FsbHNnXzAueHNkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjExZDI3YTgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbGxzZ18wLnhzZApAQCAtMCwwICsxLDI2IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzx4c2Q6c2NoZW1hIHhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiCisJdGFyZ2V0TmFtZXNwYWNlPSJ1cm46dGVzdDpmb28iCisJeG1sbnM6Zm9vPSJ1cm46dGVzdDpmb28iPgorCisJPCEtLSBTdWJzdGl0dXRpb24gZ3JvdXAgaGVhZHMuIC0tPgorCTx4c2Q6ZWxlbWVudCBuYW1lPSJnaC1BIiBhYnN0cmFjdD0idHJ1ZSIvPgorCTx4c2Q6ZWxlbWVudCBuYW1lPSJnaC1CIiBhYnN0cmFjdD0idHJ1ZSIvPgorCisJPCEtLSBTdWJzdGl0dXRpb24gZ3JvdXAgbWVtYmVycy4gLS0+CisJPHhzZDplbGVtZW50IG5hbWU9ImdtLUEtMSIgc3Vic3RpdHV0aW9uR3JvdXA9ImZvbzpnaC1BIi8+CisJPHhzZDplbGVtZW50IG5hbWU9ImdtLUEtMiIgc3Vic3RpdHV0aW9uR3JvdXA9ImZvbzpnaC1BIi8+CisKKwk8eHNkOmVsZW1lbnQgbmFtZT0iZ20tQi0xIiBzdWJzdGl0dXRpb25Hcm91cD0iZm9vOmdoLUIiLz4KKwk8eHNkOmVsZW1lbnQgbmFtZT0iZ20tQi0yIiBzdWJzdGl0dXRpb25Hcm91cD0iZm9vOmdoLUIiLz4KKworCTx4c2Q6ZWxlbWVudCBuYW1lPSJmb28iPgorCQk8eHNkOmNvbXBsZXhUeXBlPgorCQkJPHhzZDphbGw+CisJCQkJPHhzZDplbGVtZW50IHJlZj0iZm9vOmdoLUEiLz4KKwkJCQk8eHNkOmVsZW1lbnQgcmVmPSJmb286Z2gtQiIvPgorCQkJPC94c2Q6YWxsPgorCQk8L3hzZDpjb21wbGV4VHlwZT4KKwk8L3hzZDplbGVtZW50PgorCis8L3hzZDpzY2hlbWE+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvYWxsc2dfMS54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbGxzZ18xLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMWRjOWM0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYWxsc2dfMS54bWwKQEAgLTAsMCArMSw4IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxmb28geG1sbnM9InVybjp0ZXN0OmZvbyIgCisJeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIKKwl4c2k6c2NoZW1hTG9jYXRpb249InVybjp0ZXN0OmZvbyBzZy1hbGwueHNkIj4KKwk8Z20tQi0yLz4KKwk8Z20tQS0yLz4JCis8L2Zvbz4KKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvYWxsc2dfMi54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbGxzZ18yLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMzljYjdhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYWxsc2dfMi54bWwKQEAgLTAsMCArMSw4IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxmb28geG1sbnM9InVybjp0ZXN0OmZvbyIgCisJeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIKKwl4c2k6c2NoZW1hTG9jYXRpb249InVybjp0ZXN0OmZvbyBzZy1hbGwueHNkIj4KKwk8Z20tQS0yLz4JCisJPGdtLUItMi8+Cis8L2Zvbz4KKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvYWxsc2dfMy54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbGxzZ18zLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYzM3YjdiCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYWxsc2dfMy54bWwKQEAgLTAsMCArMSw3IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxmb28geG1sbnM9InVybjp0ZXN0OmZvbyIgCisJeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIKKwl4c2k6c2NoZW1hTG9jYXRpb249InVybjp0ZXN0OmZvbyBzZy1hbGwueHNkIj4KKwk8Z20tQi0yLz4KKwk8Z20tQi0xLz4JCis8L2Zvbz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2FsbHNnXzQueG1sIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYWxsc2dfNC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmJiNjU0YQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2FsbHNnXzQueG1sCkBAIC0wLDAgKzEsNyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8Zm9vIHhtbG5zPSJ1cm46dGVzdDpmb28iIAorCXhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiCisJeHNpOnNjaGVtYUxvY2F0aW9uPSJ1cm46dGVzdDpmb28gc2ctYWxsLnhzZCI+CisJPGdtLUEtMS8+CisJPGdtLUEtMS8+CQorPC9mb28+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbGxzZ181LnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2FsbHNnXzUueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ0ZGRlM2UKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbGxzZ181LnhtbApAQCAtMCwwICsxLDggQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPGZvbyB4bWxucz0idXJuOnRlc3Q6Zm9vIiAKKwl4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIgorCXhzaTpzY2hlbWFMb2NhdGlvbj0idXJuOnRlc3Q6Zm9vIHNnLWFsbC54c2QiPgorCTxnbS1CLTEvPgorCTxnbS1BLTIvPgkKKwk8Z20tQi0yLz4KKzwvZm9vPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvYW5ub3QtZXJyXzAueG1sIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYW5ub3QtZXJyXzAueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZlOTJiMGEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbm5vdC1lcnJfMC54bWwKQEAgLTAsMCArMSw0IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxmb28geG1sbnM9Imh0dHA6Ly9GT08iIAorCXhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIAorCXhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL0ZPTyBhbm5vdC1lcnJfMC54c2QiLz4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbm5vdC1lcnJfMC54c2QgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbm5vdC1lcnJfMC54c2QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTRkODE4YwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2Fubm90LWVycl8wLnhzZApAQCAtMCwwICsxLDIxIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzx4c2Q6c2NoZW1hIHhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiCisJdGFyZ2V0TmFtZXNwYWNlPSJodHRwOi8vRk9PIgorCXhtbG5zOmdvbz0iaHR0cDovL0dPTyIKKwl4bWxuczpidXQ9Imh0dHA6Ly9CVVQiPgorCTx4c2Q6ZWxlbWVudCBuYW1lPSJmb28iIHhtbDpsYW5nPSJoaGgiPgorCQk8eHNkOmFubm90YXRpb24gaWQ9ImlkMSIgZGVhdGg9ImlzIGEgZ29vZCBlbnRlcnRhaW5lciIgYnV0OnN1Y2g9ImlzIGxpZmUiPgorCQkgICAgSSBzaG91bGRuJ3QgZG8gdGhpcyBoZXJlLi4uCisJCQk8eHNkOmFwcGluZm8gaWQ9ImlkMiIgc291cmNlPSJzb21ld2hlcmUiIAorCQkJCWdvbzpmdW49ImJhZyIgZnVuPSJhbm90aGVyIGZ1bi1iYWciPgorCQkJCXdlZWVsbGwKKwkJCTwveHNkOmFwcGluZm8+CisJCQk8eHNkOmRvY3VtZW50YXRpb24geG1sOmxhbmc9IioiIGlkPSJpZDMiIHNvdXJjZT0iYW55d2hlcmUiIAorCQkJCWdvbzptb3RoZXJzPSJvZiBpbnZlbnRpb24iIG1vdGhlcnM9ImRvbid0IGRvIHlvdXIgZGlzaGVzIj4KKwkJCQlobW1tbW1tCisJCQk8L3hzZDpkb2N1bWVudGF0aW9uPgorCQkJLi4uYW5kIGhlcmUgYXMgd2VsbCAtIG1vcmUgdGhhbiBldmVyCisJCTwveHNkOmFubm90YXRpb24+CQorCTwveHNkOmVsZW1lbnQ+CisKKzwveHNkOnNjaGVtYT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2FueTFfMC54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbnkxXzAueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkxMjY0ZTQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbnkxXzAueG1sCkBAIC0wLDAgKzEsMjEgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IklTTy04ODU5LTEiPz4KKzwhLS0gVGVzdHMgeHNkOmFueSB3aXRoICIjI2FueSIuIC0tPgorPGZvbzpmb28gCisJeG1sbnM6Zm9vPSJodHRwOi8vRk9PIiAKKwl4bWxuczpiYXI9Imh0dHA6Ly9CQVIiCisJeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgCisJeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vRk9PIGFueTFfMC54c2QiPgorCisJPGZvbzphbnl0aGluZz4KKwkJPGZvbzpib28gYm9vQXR0cj0iMTIzIi8+CisJPC9mb286YW55dGhpbmc+CisJPGJhcjphbnl0aGluZz4KKwkJPGZvbzpib28gYm9vQXR0cj0iMjEzIi8+CisJPC9iYXI6YW55dGhpbmc+CisJPGFueXRoaW5nPgorCQk8Zm9vOmJvbyBib29BdHRyPSIyMTMiLz4KKwk8L2FueXRoaW5nPgorCQorCis8L2Zvbzpmb28+CisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2FueTFfMC54c2QgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbnkxXzAueHNkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVkMDA4N2IKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbnkxXzAueHNkCkBAIC0wLDAgKzEsMjIgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCEtLSBUZXN0cyB4c2Q6YW55IHdpdGggIiMjYW55Ii4gLS0+Cis8eHNkOnNjaGVtYSAKKwl4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIgorCXRhcmdldE5hbWVzcGFjZT0iaHR0cDovL0ZPTyIKKwl4bWxuczpmb289Imh0dHA6Ly9GT08iPgkJCisKKwk8eHNkOmVsZW1lbnQgbmFtZT0iYm9vIj4KKwkJPHhzZDpjb21wbGV4VHlwZT4KKwkJCTx4c2Q6YXR0cmlidXRlIG5hbWU9ImJvb0F0dHIiIHR5cGU9InhzZDppbnRlZ2VyIiAvPgorCQk8L3hzZDpjb21wbGV4VHlwZT4KKwk8L3hzZDplbGVtZW50PgorCisJPHhzZDplbGVtZW50IG5hbWU9ImZvbyI+CisJCTx4c2Q6Y29tcGxleFR5cGU+CisJCQk8eHNkOnNlcXVlbmNlPgorCQkJCTx4c2Q6YW55IG5hbWVzcGFjZT0iIyNhbnkiIHByb2Nlc3NDb250ZW50cz0ibGF4IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0iMyIvPgorCQkJPC94c2Q6c2VxdWVuY2U+CisJCTwveHNkOmNvbXBsZXhUeXBlPgorCTwveHNkOmVsZW1lbnQ+CisKKzwveHNkOnNjaGVtYT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbnkyXzAueG1sIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYW55Ml8wLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjQ5YTJjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYW55Ml8wLnhtbApAQCAtMCwwICsxLDI0IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJJU08tODg1OS0xIj8+Cis8IS0tIFRlc3RzIHhzZDphbnkgd2l0aCBhIHNldCBvZiBuYW1lc3BhY2VzLCBpY2x1ZGluZyAKKwkiIyNsb2NhbCIgYW5kICIjI3RhcmdldE5hbWVzcGFjZSIuIC0tPgorPGZvbzpmb28gCisJeG1sbnM6Zm9vPSJodHRwOi8vRk9PIgorCXhtbG5zOmJhcj0iaHR0cDovL0JBUiIKKwl4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiAKKwl4c2k6c2NoZW1hTG9jYXRpb249Imh0dHA6Ly9GT08gYW55Ml8wLnhzZCI+CisJCisJPGZvbzphbnl0aGluZz4KKwkJPGZvbzpib28gYm9vQXR0cj0iMTIzIi8+CQkKKwk8L2Zvbzphbnl0aGluZz4KKworCTxiYXI6YW55dGhpbmc+CisJCTxmb286Ym9vIGJvb0F0dHI9IjEyMyIvPgkJCisJPC9iYXI6YW55dGhpbmc+CisKKwk8YW55dGhpbmc+CisJCTxmb286Ym9vIGJvb0F0dHI9IjEyMyIvPgkJCisJPC9hbnl0aGluZz4KKwkKKwkKKzwvZm9vOmZvbz4KKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvYW55Ml8wLnhzZCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2FueTJfMC54c2QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmJmNzI2ZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2FueTJfMC54c2QKQEAgLTAsMCArMSwyNiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IS0tIFRlc3RzIHhzZDphbnkgd2l0aCBhIHNldCBvZiBuYW1lc3BhY2VzLCBpY2x1ZGluZyAKKwkiIyNsb2NhbCIgYW5kICIjI3RhcmdldE5hbWVzcGFjZSIuIC0tPgorPHhzZDpzY2hlbWEgCisJeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIKKwl0YXJnZXROYW1lc3BhY2U9Imh0dHA6Ly9GT08iCisJeG1sbnM6Zm9vPSJodHRwOi8vRk9PIj4JCQorCisJPHhzZDplbGVtZW50IG5hbWU9ImJvbyI+CisJCTx4c2Q6Y29tcGxleFR5cGU+CisJCQk8eHNkOmF0dHJpYnV0ZSBuYW1lPSJib29BdHRyIiB0eXBlPSJ4c2Q6aW50ZWdlciIgLz4KKwkJPC94c2Q6Y29tcGxleFR5cGU+CisJPC94c2Q6ZWxlbWVudD4KKworCTx4c2Q6ZWxlbWVudCBuYW1lPSJmb28iPgorCQk8eHNkOmNvbXBsZXhUeXBlPgorCQkJPHhzZDpzZXF1ZW5jZT4KKwkJCQk8eHNkOmFueSAKKwkJCQkJbmFtZXNwYWNlPSIjI3RhcmdldE5hbWVzcGFjZSBodHRwOi8vQkFSICMjbG9jYWwiIAorCQkJCQlwcm9jZXNzQ29udGVudHM9ImxheCIgCisJCQkJCW1heE9jY3Vycz0iMyIvPgorCQkJPC94c2Q6c2VxdWVuY2U+CisJCTwveHNkOmNvbXBsZXhUeXBlPgorCTwveHNkOmVsZW1lbnQ+CisKKzwveHNkOnNjaGVtYT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbnkzXzAueG1sIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYW55M18wLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNThmOTFjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYW55M18wLnhtbApAQCAtMCwwICsxLDE3IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJJU08tODg1OS0xIj8+Cis8IS0tIFRlc3RzIHhzZDphbnkuCisJaW52YWxpZDogPGJhci5BLz4gYW5kIDxmb286YmFyLkIvPgorCXZhbGlkOiA8YmFyOmJhci5DLz4KKy0tPgorPGZvbzpmb28gCisJeG1sbnM6Zm9vPSJodHRwOi8vRk9PIiAKKwl4bWxuczpiYXI9Imh0dHA6Ly9CQVIiCisJeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgCisJeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vRk9PIGFueTNfMC54c2QiPgorCisJPGJhci5BLz4JCisJPGZvbzpiYXIuQi8+CQorCTxiYXI6YmFyLkMvPgorCQorPC9mb286Zm9vPgorCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbnkzXzAueHNkIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYW55M18wLnhzZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNWMyOWY2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYW55M18wLnhzZApAQCAtMCwwICsxLDE3IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzx4c2Q6c2NoZW1hIAorCXhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiCisJdGFyZ2V0TmFtZXNwYWNlPSJodHRwOi8vRk9PIgorCXhtbG5zOmZvbz0iaHR0cDovL0ZPTyI+CQkKKworCTx4c2Q6ZWxlbWVudCBuYW1lPSJmb28iPgorCQk8eHNkOmNvbXBsZXhUeXBlPgorCQkJPHhzZDpzZXF1ZW5jZT4KKwkJCQk8eHNkOmFueSBuYW1lc3BhY2U9IiMjb3RoZXIiIHByb2Nlc3NDb250ZW50cz0ibGF4Ii8+CisJCQkJPHhzZDphbnkgbmFtZXNwYWNlPSIjI290aGVyIiBwcm9jZXNzQ29udGVudHM9ImxheCIvPgorCQkJCTx4c2Q6YW55IG5hbWVzcGFjZT0iIyNvdGhlciIgcHJvY2Vzc0NvbnRlbnRzPSJsYXgiLz4KKwkJCTwveHNkOnNlcXVlbmNlPgorCQk8L3hzZDpjb21wbGV4VHlwZT4KKwk8L3hzZDplbGVtZW50PgorCQorPC94c2Q6c2NoZW1hPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2FueTRfMC54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbnk0XzAueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE2MjAzOTcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbnk0XzAueG1sCkBAIC0wLDAgKzEsMTcgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IklTTy04ODU5LTEiPz4KKzwhLS0gVGVzdHMgeHNkOmFueS4KKwlpbnZhbGlkOiA8YmFyLkEvPiBhbmQgPGZvbzpiYXIuQi8+CisJdmFsaWQ6IDxiYXI6YmFyLkMvPgorLS0+Cis8Zm9vOmZvbyAKKwl4bWxuczpmb289Imh0dHA6Ly9GT08iIAorCXhtbG5zOmJhcj0iaHR0cDovL0JBUiIKKwl4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiAKKwl4c2k6c2NoZW1hTG9jYXRpb249Imh0dHA6Ly9GT08gYW55NF8wLnhzZCI+CisKKwk8Zm9vOmFueXRoaW5nPgorCQk8Zm9vOmJvbyBib29BdHRyPSIxMjMiLz4KKwk8L2Zvbzphbnl0aGluZz4JCisJCis8L2Zvbzpmb28+CisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2FueTRfMC54c2QgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbnk0XzAueHNkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZhOTM1NzcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbnk0XzAueHNkCkBAIC0wLDAgKzEsMjggQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPHhzZDpzY2hlbWEgCisJeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIKKwl0YXJnZXROYW1lc3BhY2U9Imh0dHA6Ly9GT08iCisJeG1sbnM6Zm9vPSJodHRwOi8vRk9PIj4JCQorCisJPHhzZDplbGVtZW50IG5hbWU9ImJvbyI+CisJCTx4c2Q6Y29tcGxleFR5cGU+CisJCQk8eHNkOmF0dHJpYnV0ZSBuYW1lPSJib29BdHRyIiB0eXBlPSJ4c2Q6aW50ZWdlciIgLz4KKwkJPC94c2Q6Y29tcGxleFR5cGU+CisJPC94c2Q6ZWxlbWVudD4KKworCTx4c2Q6ZWxlbWVudCBuYW1lPSJmb28iPgorCQk8eHNkOmNvbXBsZXhUeXBlPgorCQkJPHhzZDpjaG9pY2U+CisJCQkJPHhzZDphbnkgbmFtZXNwYWNlPSJodHRwOi8vRk9PIiBwcm9jZXNzQ29udGVudHM9ImxheCIgbWF4T2NjdXJzPSIxIi8+CisJCQkJPHhzZDplbGVtZW50IG5hbWU9ImFueXRoaW5nIiBmb3JtPSJxdWFsaWZpZWQiPgorCQkJCQk8eHNkOmNvbXBsZXhUeXBlPgorCQkJCQkJPHhzZDpzZXF1ZW5jZT4KKwkJCQkJCQk8eHNkOmVsZW1lbnQgcmVmPSJmb286Ym9vIi8+CisJCQkJCQk8L3hzZDpzZXF1ZW5jZT4KKwkJCQkJPC94c2Q6Y29tcGxleFR5cGU+CisJCQkJPC94c2Q6ZWxlbWVudD4KKwkJCTwveHNkOmNob2ljZT4KKwkJPC94c2Q6Y29tcGxleFR5cGU+CisJPC94c2Q6ZWxlbWVudD4KKwkKKzwveHNkOnNjaGVtYT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbnk1XzAueG1sIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYW55NV8wLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNzE2Y2IxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYW55NV8wLnhtbApAQCAtMCwwICsxLDcgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPGZvbyB4bWxucz0idXJuOnRlc3Q6Zm9vIgorCXhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIAorCXhzaTpzY2hlbWFMb2NhdGlvbj0idXJuOnRlc3Q6Zm9vIGFueTVfMC54c2QiPgorCTxib28vPgorCTxib28vPgorPC9mb28+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbnk1XzAueHNkIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYW55NV8wLnhzZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MGM4Nzg5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYW55NV8wLnhzZApAQCAtMCwwICsxLDEzIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzx4c2Q6c2NoZW1hIHhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiCisJdGFyZ2V0TmFtZXNwYWNlPSJ1cm46dGVzdDpmb28iCisJZWxlbWVudEZvcm1EZWZhdWx0PSJxdWFsaWZpZWQiPgorCTx4c2Q6ZWxlbWVudCBuYW1lPSJmb28iPgorCQk8eHNkOmNvbXBsZXhUeXBlPgorCQkJPHhzZDpzZXF1ZW5jZT4KKwkJCQk8eHNkOmVsZW1lbnQgbmFtZT0iYm9vIi8+CisJCQkJPHhzZDphbnkgbmFtZXNwYWNlPSIjI290aGVyIiBtYXhPY2N1cnM9IjUiIHByb2Nlc3NDb250ZW50cz0ibGF4Ii8+CisJCQk8L3hzZDpzZXF1ZW5jZT4KKwkJPC94c2Q6Y29tcGxleFR5cGU+CisJPC94c2Q6ZWxlbWVudD4KKzwveHNkOnNjaGVtYT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbnk1XzEueG1sIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYW55NV8xLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MWRjYjU0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYW55NV8xLnhtbApAQCAtMCwwICsxLDEyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxmb28geG1sbnM9InVybjp0ZXN0OmZvbyIKKwl4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiAKKwl4c2k6c2NoZW1hTG9jYXRpb249InVybjp0ZXN0OmZvbyBhbnk1XzAueHNkIj4KKwk8Ym9vLz4KKwk8Ym9vIHhtbG5zPSJ1cm46dGVzdDpiYXIiLz4KKwk8Ym9vIHhtbG5zPSJ1cm46dGVzdDpiYXIiLz4KKwk8Ym9vIHhtbG5zPSJ1cm46dGVzdDpiYXIiLz4KKwk8Ym9vIHhtbG5zPSJ1cm46dGVzdDpiYXIiLz4KKwk8Ym9vIHhtbG5zPSJ1cm46dGVzdDpiYXIiLz4KKwk8Ym9vIHhtbG5zPSJ1cm46dGVzdDpiYXIiLz4KKzwvZm9vPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvYW55NV8xLnhzZCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2FueTVfMS54c2QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGQzYzlkZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2FueTVfMS54c2QKQEAgLTAsMCArMSwxNCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8eHNkOnNjaGVtYSB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIgorCXRhcmdldE5hbWVzcGFjZT0idXJuOnRlc3Q6Zm9vIgorCWVsZW1lbnRGb3JtRGVmYXVsdD0icXVhbGlmaWVkIj4KKwk8eHNkOmVsZW1lbnQgbmFtZT0iZm9vIj4KKwkJPHhzZDpjb21wbGV4VHlwZT4KKwkJCTx4c2Q6c2VxdWVuY2U+CisJCQkJPHhzZDplbGVtZW50IG5hbWU9ImJvbyIvPgorCQkJCTx4c2Q6YW55IG5hbWVzcGFjZT0iIyNvdGhlciIgbWF4T2NjdXJzPSI1IiBwcm9jZXNzQ29udGVudHM9ImxheCIvPgorCQkJCTx4c2Q6ZWxlbWVudCBuYW1lPSJib28iLz4KKwkJCTwveHNkOnNlcXVlbmNlPgorCQk8L3hzZDpjb21wbGV4VHlwZT4KKwk8L3hzZDplbGVtZW50PgorPC94c2Q6c2NoZW1hPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvYW55NV8yLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2FueTVfMi54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTg0MzRkMQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2FueTVfMi54bWwKQEAgLTAsMCArMSw4IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxmb28geG1sbnM9InVybjp0ZXN0OmZvbyIKKwl4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiAKKwl4c2k6c2NoZW1hTG9jYXRpb249InVybjp0ZXN0OmZvbyBhbnk1XzAueHNkIj4KKwk8Ym9vLz4KKwk8Ym9vIHhtbG5zPSJ1cm46dGVzdDpiYXIiLz4KKwk8Ym9vLz4KKzwvZm9vPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvYW55NV8zLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2FueTVfMy54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODI4YzRiMwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2FueTVfMy54bWwKQEAgLTAsMCArMSwxMSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8Zm9vIHhtbG5zPSJ1cm46dGVzdDpmb28iCisJeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgCisJeHNpOnNjaGVtYUxvY2F0aW9uPSJ1cm46dGVzdDpmb28gYW55NV8wLnhzZCI+CisJPGJvby8+CisJPGJvbyB4bWxucz0idXJuOnRlc3Q6YmFyIi8+CisJPGJvbyB4bWxucz0idXJuOnRlc3Q6YmFyIi8+CisJPGJvbyB4bWxucz0idXJuOnRlc3Q6YmFyIi8+CisJPGJvbyB4bWxucz0idXJuOnRlc3Q6YmFyIi8+CisJPGJvbyB4bWxucz0idXJuOnRlc3Q6YmFyIi8+Cis8L2Zvbz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2FueTVfNC54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbnk1XzQueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkxZGNiNTQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbnk1XzQueG1sCkBAIC0wLDAgKzEsMTIgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPGZvbyB4bWxucz0idXJuOnRlc3Q6Zm9vIgorCXhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIAorCXhzaTpzY2hlbWFMb2NhdGlvbj0idXJuOnRlc3Q6Zm9vIGFueTVfMC54c2QiPgorCTxib28vPgorCTxib28geG1sbnM9InVybjp0ZXN0OmJhciIvPgorCTxib28geG1sbnM9InVybjp0ZXN0OmJhciIvPgorCTxib28geG1sbnM9InVybjp0ZXN0OmJhciIvPgorCTxib28geG1sbnM9InVybjp0ZXN0OmJhciIvPgorCTxib28geG1sbnM9InVybjp0ZXN0OmJhciIvPgorCTxib28geG1sbnM9InVybjp0ZXN0OmJhciIvPgorPC9mb28+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbnk1XzUueG1sIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYW55NV81LnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMDlkOGExCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYW55NV81LnhtbApAQCAtMCwwICsxLDEyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxmb28geG1sbnM9InVybjp0ZXN0OmZvbyIKKwl4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiAKKwl4c2k6c2NoZW1hTG9jYXRpb249InVybjp0ZXN0OmZvbyBhbnk1XzAueHNkIj4KKwk8Ym9vLz4KKwk8Ym9vIHhtbG5zPSJ1cm46dGVzdDpiYXIiLz4KKwk8Ym9vIHhtbG5zPSJ1cm46dGVzdDpiYXIiLz4KKwk8Ym9vIHhtbG5zPSJ1cm46dGVzdDpiYXIiLz4KKwk8Ym9vIHhtbG5zPSJ1cm46dGVzdDpiYXIiLz4KKwk8Ym9vIHhtbG5zPSJ1cm46dGVzdDpiYXIiLz4KKwk8Ym9vLz4KKzwvZm9vPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvYW55NV82LnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2FueTVfNi54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2IwYWQ3MwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2FueTVfNi54bWwKQEAgLTAsMCArMSwxMyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8Zm9vIHhtbG5zPSJ1cm46dGVzdDpmb28iCisJeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgCisJeHNpOnNjaGVtYUxvY2F0aW9uPSJ1cm46dGVzdDpmb28gYW55NV8wLnhzZCI+CisJPGJvby8+CisJPGJvbyB4bWxucz0idXJuOnRlc3Q6YmFyIi8+CisJPGJvbyB4bWxucz0idXJuOnRlc3Q6YmFyIi8+CisJPGJvbyB4bWxucz0idXJuOnRlc3Q6YmFyIi8+CisJPGJvbyB4bWxucz0idXJuOnRlc3Q6YmFyIi8+CisJPGJvbyB4bWxucz0idXJuOnRlc3Q6YmFyIi8+CisJPGJvbyB4bWxucz0idXJuOnRlc3Q6YmFyIi8+CisJPGJvby8+Cis8L2Zvbz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2FueTZfMC54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbnk2XzAueG1sCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjA2OGExYTkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbnk2XzAueG1sCkBAIC0wLDAgKzEsOCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IS0tIER1bW15IGluc3RhbmNlIGZvciBhbnktMV8xLnhzZCAtLT4KKzxmb286Zm9vIHhtbG5zOmZvbz0idXJuOnRlc3Q6Zm9vIiB4bWxuczptb289InVybjp0ZXN0Om1vbyIKKwl4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIgorCXhzaTpzY2hlbWFMb2NhdGlvbj0idXJuOnRlc3Q6Zm9vIGFueS0xXzEueHNkIj4KKwk8Zm9vOmJhci8+CisJPG1vbzptb28vPgorPC9mb286Zm9vPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2FueTZfMS54c2QgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbnk2XzEueHNkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIzYjJmNWQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbnk2XzEueHNkCkBAIC0wLDAgKzEsMzYgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCEtLQorQ29udGVudCBtb2RlbCBlcnJvcjoKKworYW55LWVyci1ub3QtZGV0ZXJtaW5pc3QtMS54c2Q6Mjk6IGVsZW1lbnQgY29tcGxleFR5cGU6IFNjaGVtYXMgcGFyc2VyIGVycm9yIDogCitsb2NhbCBjb21wbGV4IHR5cGU6IFRoZSBjb250ZW50IG1vZGVsIGlzIG5vdCBkZXRlcm1pbmlzdC4KKworQXMgcGVyIFhlcmNlcyBhbmQgWFNWIHRoaXMgc2NoZW1hIGlzIE9LLgorCitUaGUgcHJvYmxlbSBhcHBlYXJzIHdoZW4gdGhlIG1heE9jY3VycyBvZiA8YmFyPiBpcyBncmVhdGVyIHRoYW4KK3RoZSBvbmUgb2YgdGhlIDxhbnk+IHdpbGRjYXJkLiBBZGRpdGlvbmFsbHkgaWYgYm90aCBhcmUgInVuYm91bmRlZCIuCitJZiB0aGUgbGF0dGVyIGlzIGEgZGlmZmVyZW50IGlzc3VlIHdlIHNob3VsZCBhZGQgYW4gZXhwbGljaXQgdGVzdAorZm9yIGl0LgorCitFeGFtcGxlczoKKzxiYXI+ICAgICAgICA8YW55PiAgICAgICAgcmVzdWx0CisgMiAgICAgICAgICAgIDEgICAgICAgICAgIGVycm9yCisgMiAgICAgICAgICAgIDIgICAgICAgICAgIE9LCisgMSAgICAgICAgICAgIDIgICAgICAgICAgIE9LCisgdW5ib3VuZGVkICAgIDIgICAgICAgICAgIGVycm9yCisgdW5ib3VuZGVkICAgIHVuYm91bmRlZCAgIGVycm9yCisgMiAgICAgICAgICAgIHVuYm91bmRlZCAgIE9LCistLT4KKworPHhzOnNjaGVtYSB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiCisJdGFyZ2V0TmFtZXNwYWNlPSJ1cm46dGVzdDpmb28iCisJZWxlbWVudEZvcm1EZWZhdWx0PSJxdWFsaWZpZWQiPgorCTx4czplbGVtZW50IG5hbWU9ImZvbyI+CisJCTx4czpjb21wbGV4VHlwZT4KKwkJCTx4czpzZXF1ZW5jZT4KKwkJCQk8eHM6ZWxlbWVudCBuYW1lPSJiYXIiIG1heE9jY3Vycz0iMiIvPgorCQkJCTx4czphbnkgbmFtZXNwYWNlPSIjI290aGVyIiBtYXhPY2N1cnM9IjEiIHByb2Nlc3NDb250ZW50cz0ibGF4Ii8+CisJCSAgCTwveHM6c2VxdWVuY2U+CisJCTwveHM6Y29tcGxleFR5cGU+CisJPC94czplbGVtZW50PgorPC94czpzY2hlbWE+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvYW55Nl8yLnhzZCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2FueTZfMi54c2QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTU1MmNhOAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2FueTZfMi54c2QKQEAgLTAsMCArMSwxOSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IS0tCisgICJlbGVtZW50IGNvbXBsZXhUeXBlOiBTY2hlbWFzIHBhcnNlciBlcnJvciA6CisgICBsb2NhbCBjb21wbGV4IHR5cGU6IFRoZSBjb250ZW50IG1vZGVsIGlzIG5vdCBkZXRlcm1pbmlzdC4iCisKKyAgVGhpcyBzY2hlbWEgaXMgT0sgd2l0aCBYU1YgYW5kIFhlcmNlcy4gCistLT4KKzx4czpzY2hlbWEgeG1sbnM6eHM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIgorCXRhcmdldE5hbWVzcGFjZT0idXJuOnRlc3Q6Zm9vIgorCWVsZW1lbnRGb3JtRGVmYXVsdD0icXVhbGlmaWVkIj4KKwk8eHM6ZWxlbWVudCBuYW1lPSJmb28iPgorCQk8eHM6Y29tcGxleFR5cGU+CisJCQk8eHM6c2VxdWVuY2U+CisJCQkJPHhzOmVsZW1lbnQgbmFtZT0iYmFyIiBtYXhPY2N1cnM9InVuYm91bmRlZCIvPgorCQkJCTx4czphbnkgbmFtZXNwYWNlPSIjI290aGVyIiBwcm9jZXNzQ29udGVudHM9ImxheCIvPgorCQkgIAk8L3hzOnNlcXVlbmNlPgorCQk8L3hzOmNvbXBsZXhUeXBlPgorCTwveHM6ZWxlbWVudD4KKzwveHM6c2NoZW1hPiAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2FueTdfMC54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbnk3XzAueG1sCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjI4OGIxZTcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbnk3XzAueG1sCkBAIC0wLDAgKzEsMTkgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCEtLSAKK05vIGVycm9yIHJlcG9ydGVkLgorCitTZWVtcyBsaWtlIDxtb28+IGlzIGFjY2VwdGVkLCBidXQgc2hvdWxkIG5vdCwgc2luY2UgIiMjb3RoZXIiIHJ1bGVzIG91dAorZWxlbWVudHMgaW4gbm8gbmFtZXNwYWNlLgorCitYZXJjZXMgcmVwb3J0czoKK2FueS1lcnItMi54bWw6MTgsODogKEVycm9yKSBjdmMtY29tcGxleC10eXBlLjIuNC5hOiBJbnZhbGlkIGNvbnRlbnQgc3RhcnRpbmcgCit3aXRoIGVsZW1lbnQgJ21vbycuIAorT25lIG9mICd7InVybjp0ZXN0OmZvbyI6YmFyLCBXQ1sjI290aGVyOiJ1cm46dGVzdDpmb28iXX0nIGlzIGV4cGVjdGVkLgorCistLT4KKzxmb286Zm9vIHhtbG5zOmZvbz0idXJuOnRlc3Q6Zm9vIiB4bWxuczptb289InVybjp0ZXN0Om1vbyIKKwl4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIgorCXhzaTpzY2hlbWFMb2NhdGlvbj0idXJuOnRlc3Q6Zm9vIGFueS0yXzEueHNkIj4KKwk8Zm9vOmJhci8+CisJPG1vby8+Cis8L2Zvbzpmb28+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbnk3XzEueG1sIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYW55N18xLnhtbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42MjRjNzEyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYW55N18xLnhtbApAQCAtMCwwICsxLDE4IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhLS0gCitFcnJvciByZXBvcnRlZDoKKworYW55LTJfMS54bWw6MTc6IGVsZW1lbnQgYmFyOiBTY2hlbWFzIHZhbGlkaXR5IGVycm9yIDogCitFbGVtZW50ICd7dXJuOnRlc3Q6Zm9vfWJhcic6IFRoaXMgZWxlbWVudCBpcyBub3QgZXhwZWN0ZWQuIAorRXhwZWN0ZWQgaXMgb25lIG9mICggeyMjb3RoZXI6dXJuOnRlc3Q6Zm9vfSogKS4KKworVGlueSBnbGl0Y2g6IHRoZSBlcnJvciByZXBvcnQgbWVjaGFuaXNtIGZhaWxzIHRvIHJlY29nbml6ZQordGhhdCB0aGVyZSBpcyBvbmx5IG9uZSBlbGVtZW50IG9mIGNob2ljZS4gSXQgc2hvdWxkIHJlcG9ydDoKKyJFeGNlcHRlZCBpcyAoIHsjI290aGVyOnVybjp0ZXN0OmZvb30qICkuIi4KKy0tPgorPGZvbzpmb28geG1sbnM6Zm9vPSJ1cm46dGVzdDpmb28iIHhtbG5zOm1vbz0idXJuOnRlc3Q6bW9vIgorCXhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiCisJeHNpOnNjaGVtYUxvY2F0aW9uPSJ1cm46dGVzdDpmb28gYW55LTJfMS54c2QiPgorCTxmb286YmFyLz4KKwk8Zm9vOmJhci8+Cis8L2Zvbzpmb28+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvYW55N18xLnhzZCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2FueTdfMS54c2QKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTQ2OTA0ZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2FueTdfMS54c2QKQEAgLTAsMCArMSwxMyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+DQorPHhzOnNjaGVtYSB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiDQorCXRhcmdldE5hbWVzcGFjZT0idXJuOnRlc3Q6Zm9vIg0KKwllbGVtZW50Rm9ybURlZmF1bHQ9InF1YWxpZmllZCI+DQorCTx4czplbGVtZW50IG5hbWU9ImZvbyI+DQorCQk8eHM6Y29tcGxleFR5cGU+DQorCQkJPHhzOnNlcXVlbmNlPg0KKwkJCQk8eHM6ZWxlbWVudCBuYW1lPSJiYXIiLz4NCisJCQkJPHhzOmFueSBuYW1lc3BhY2U9IiMjb3RoZXIiIHByb2Nlc3NDb250ZW50cz0ibGF4Ii8+DQorCQkJPC94czpzZXF1ZW5jZT4NCisJCTwveHM6Y29tcGxleFR5cGU+DQorCTwveHM6ZWxlbWVudD4NCis8L3hzOnNjaGVtYT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbnk3XzIueG1sIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYW55N18yLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NmQ4NGQwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYW55N18yLnhtbApAQCAtMCwwICsxLDIwIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhLS0gCitObyBlcnJvciByZXBvcnRlZC4KKworU2VlbXMgbGlrZSA8bW9vPiBpcyBhY2NlcHRlZCwgYnV0IHNob3VsZCBub3QsIHNpbmNlICIjI290aGVyIiBydWxlcyBvdXQKK2VsZW1lbnRzIGluIG5vIG5hbWVzcGFjZS4KKworWGVyY2VzIHJlcG9ydHM6CithbnktZXJyLTIueG1sOjE4LDg6IChFcnJvcikgY3ZjLWNvbXBsZXgtdHlwZS4yLjQuYTogSW52YWxpZCBjb250ZW50IHN0YXJ0aW5nIAord2l0aCBlbGVtZW50ICdtb28nLiAKK09uZSBvZiAneyJ1cm46dGVzdDpmb28iOmJhciwgV0NbIyNvdGhlcjoidXJuOnRlc3Q6Zm9vIl19JyBpcyBleHBlY3RlZC4KKworLS0+Cis8Zm9vOmZvbyB4bWxuczpmb289InVybjp0ZXN0OmZvbyIgeG1sbnM6bW9vPSJ1cm46dGVzdDptb28iCisJeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIKKwl4c2k6c2NoZW1hTG9jYXRpb249InVybjp0ZXN0OmZvbyBhbnk3XzIueHNkIj4KKwk8Zm9vOmJhci8+CisJPG1vbzptb28vPgkKKzwvZm9vOmZvbz4KKyAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2FueTdfMi54c2QgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbnk3XzIueHNkCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmNhYmZkOTgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbnk3XzIueHNkCkBAIC0wLDAgKzEsMTMgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/Pg0KKzx4czpzY2hlbWEgeG1sbnM6eHM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIg0KKwl0YXJnZXROYW1lc3BhY2U9InVybjp0ZXN0OmZvbyINCisJZWxlbWVudEZvcm1EZWZhdWx0PSJxdWFsaWZpZWQiPg0KKwk8eHM6ZWxlbWVudCBuYW1lPSJmb28iPg0KKwkJPHhzOmNvbXBsZXhUeXBlPg0KKwkJCTx4czpzZXF1ZW5jZT4NCisJCQkJPHhzOmVsZW1lbnQgbmFtZT0iYmFyIi8+DQorCQkJCTx4czphbnkgbmFtZXNwYWNlPSIjI290aGVyIiBwcm9jZXNzQ29udGVudHM9ImxheCIgbWF4T2NjdXJzPSIyIi8+DQorCQkJPC94czpzZXF1ZW5jZT4NCisJCTwveHM6Y29tcGxleFR5cGU+DQorCTwveHM6ZWxlbWVudD4NCis8L3hzOnNjaGVtYT4NCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbnk4XzAueG1sIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYW55OF8wLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZTg3Y2ZmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYW55OF8wLnhtbApAQCAtMCwwICsxLDkgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPGZvbzpmb28geG1sbnM6Zm9vPSJ1cm46dGVzdDpmb28iCisJeG1sbnM6bW9vPSJ1cm46dGVzdDptb28iCisJeG1sbnM6Ym9vPSJ1cm46dGVzdDpib28iCisJeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIKKwl4c2k6c2NoZW1hTG9jYXRpb249InVybjp0ZXN0OmZvbyBhbnk4XzEueHNkIj4KKwk8Zm9vOmJhci8+CisgICAgICAgIDxmb286YmFyLz4gIAorPC9mb286Zm9vPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvYW55OF8xLnhzZCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2FueThfMS54c2QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTI2NDg5MwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2FueThfMS54c2QKQEAgLTAsMCArMSwyMCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IS0tCisgICJlbGVtZW50IGNvbXBsZXhUeXBlOiBTY2hlbWFzIHBhcnNlciBlcnJvciA6IAorICAgbG9jYWwgY29tcGxleCB0eXBlOiBUaGUgY29udGVudCBtb2RlbCBpcyBub3QgZGV0ZXJtaW5pc3QuIgorCisgIFRoaXMgc2NoZW1hIGlzIE9LIHdpdGggWFNWIGFuZCBYZXJjZXMuIAorLS0+DQorPHhzOnNjaGVtYSB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiDQorCXRhcmdldE5hbWVzcGFjZT0idXJuOnRlc3Q6Zm9vIg0KKwllbGVtZW50Rm9ybURlZmF1bHQ9InF1YWxpZmllZCI+DQorCTx4czplbGVtZW50IG5hbWU9ImZvbyI+DQorCQk8eHM6Y29tcGxleFR5cGU+DQorCQkJPHhzOnNlcXVlbmNlPg0KKwkJCQk8eHM6ZWxlbWVudCBuYW1lPSJiYXIiLz4NCisJCQkJPHhzOmFueSBuYW1lc3BhY2U9IiMjb3RoZXIiIHByb2Nlc3NDb250ZW50cz0ibGF4IiBtaW5PY2N1cnM9IjAiLz4KKwkJCQk8eHM6ZWxlbWVudCBuYW1lPSJiYXIiLz4NCisJCQk8L3hzOnNlcXVlbmNlPg0KKwkJPC94czpjb21wbGV4VHlwZT4NCisJPC94czplbGVtZW50Pg0KKzwveHM6c2NoZW1hPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvYW55QXR0ci1kZXJpdmUtZXJyb3JzMV8wLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2FueUF0dHItZGVyaXZlLWVycm9yczFfMC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOThlOTQ4YwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2FueUF0dHItZGVyaXZlLWVycm9yczFfMC54bWwKQEAgLTAsMCArMSwzMCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/PgorPGZvbworCXhtbG5zPSJodHRwOi8vRk9PIiAKKwl4bWxuczpmb289Imh0dHA6Ly9GT08iIAorCXhtbG5zOmJhcj0iaHR0cDovL0JBUiIgCisJeG1sbnM6ZG9vPSJodHRwOi8vRE9PIiAKKwl4bWxuczppbXBvcnQ9Imh0dHA6Ly9JTVBPUlQiIAorCXhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIAorCXhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL0ZPTyBhbnlBdHRyLWRlcml2ZS1lcnJvcnMxXzAueHNkIj4KKworCTxkZXJpdmUuMV8xIGJhckE9Im8iIGJhcjpiYXJCPSJvIiBmb286YmFyQz0ibyIvPgorCTxkZXJpdmUuMV80IGJhckE9Im8iIGJhcjpiYXJCPSJvIiBmb286YmFyQz0ibyIvPgorCTxkZXJpdmUuMl8xIGJhckE9Im8iIGJhcjpiYXJCPSJvIiBmb286YmFyQz0ibyIgZG9vOmJhckQ9Im8iIC8+CisJPGRlcml2ZS4zXzEgYmFyQT0ibyIgZm9vOmJhckM9Im8iIGRvbzpiYXJEPSJvIiAvPgorCTxkZXJpdmUuNF8xIGJhcjpiYXJCPSJvIiBmb286YmFyQz0ibyIgZG9vOmJhckQ9Im8iLz4KKworCTxkZXJpdmUuNV8xX2EgYmFyQT0ibyIgYmFyOmJhckI9Im8iIGZvbzpiYXJDPSJvIiBkb286YmFyRD0ibyIgLz4KKwk8ZGVyaXZlLjVfMV9iIGJhckE9Im8iIGJhcjpiYXJCPSJvIiBmb286YmFyQz0ibyIgZG9vOmJhckQ9Im8iIC8+CisKKwk8ZGVyaXZlLjVfMl9hIGJhcjpiYXJCPSJvIiBmb286YmFyQz0ibyIgZG9vOmJhckQ9Im8iIC8+CisJPGRlcml2ZS41XzJfYiBiYXI6YmFyQj0ibyIgZm9vOmJhckM9Im8iIGRvbzpiYXJEPSJvIiAvPgorCisJPGRlcml2ZS41XzRfYSBiYXI6YmFyQj0ibyIgZG9vOmJhckQ9Im8iIC8+CisJPGRlcml2ZS41XzRfYiBiYXI6YmFyQj0ibyIgZG9vOmJhckQ9Im8iIC8+CisKKwk8ZGVyaXZlLjZfMSBiYXJBPSJvIiBiYXI6YmFyQj0ibyIgZm9vOmJhckM9Im8iIGRvbzpiYXJEPSJvIi8+CisJPGRlcml2ZS42XzIgYmFyOmJhckI9Im8iIGZvbzpiYXJDPSJvIiBkb286YmFyRD0ibyIvPgorPC9mb28+CisKKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvYW55QXR0ci1kZXJpdmUtZXJyb3JzMV8wLnhzZCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2FueUF0dHItZGVyaXZlLWVycm9yczFfMC54c2QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWFiOWJhYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2FueUF0dHItZGVyaXZlLWVycm9yczFfMC54c2QKQEAgLTAsMCArMSwyMjMgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IklTTy04ODU5LTEiPz4KKzx4c2Q6c2NoZW1hIHhtbG5zOmZvbz0iaHR0cDovL0ZPTyIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6aW1wb3J0PSJodHRwOi8vSU1QT1JUIgorCXRhcmdldE5hbWVzcGFjZT0iaHR0cDovL0ZPTyIgZWxlbWVudEZvcm1EZWZhdWx0PSJxdWFsaWZpZWQiPgorCTx4c2Q6aW1wb3J0IG5hbWVzcGFjZT0iaHR0cDovL0lNUE9SVCIgc2NoZW1hTG9jYXRpb249ImFueUF0dHIuaW1wb3J0QS4xXzAueHNkIi8+CQorCTx4c2Q6aW1wb3J0IHNjaGVtYUxvY2F0aW9uPSJhbnlBdHRyLmltcG9ydEIuMV8wLnhzZCIvPgorCTx4c2Q6ZWxlbWVudCBuYW1lPSJmb28iPgorCQk8eHNkOmNvbXBsZXhUeXBlPgorCQkgICAgPHhzZDpzZXF1ZW5jZT4JCQkJCisJCQkJPCEtLSBBdHRyaWJ1dGUgV2lsZGNhcmQgVW5pb24gLS0+CisJCQkJPHhzZDplbGVtZW50IG5hbWU9ImRlcml2ZS4xXzEiIHR5cGU9ImZvbzp0eXBlLjFfMSIvPgorCQkJCTx4c2Q6ZWxlbWVudCBuYW1lPSJkZXJpdmUuMV80IiB0eXBlPSJmb286dHlwZS4xXzQiLz4KKwkJCQk8eHNkOmVsZW1lbnQgbmFtZT0iZGVyaXZlLjJfMSIgdHlwZT0iZm9vOnR5cGUuMl8xIi8+CisJCQkJPHhzZDplbGVtZW50IG5hbWU9ImRlcml2ZS4zXzEiIHR5cGU9ImZvbzp0eXBlLjNfMSIvPgorCQkJCTx4c2Q6ZWxlbWVudCBuYW1lPSJkZXJpdmUuNF8xIiB0eXBlPSJmb286dHlwZS40XzEiLz4KKwkJCQk8eHNkOmVsZW1lbnQgbmFtZT0iZGVyaXZlLjVfMV9hIiB0eXBlPSJmb286dHlwZS41XzFfYSIvPgorCQkJCTx4c2Q6ZWxlbWVudCBuYW1lPSJkZXJpdmUuNV8xX2IiIHR5cGU9ImZvbzp0eXBlLjVfMV9iIi8+CisJCQkJPHhzZDplbGVtZW50IG5hbWU9ImRlcml2ZS41XzJfYSIgdHlwZT0iZm9vOnR5cGUuNV8yX2EiLz4KKwkJCQk8eHNkOmVsZW1lbnQgbmFtZT0iZGVyaXZlLjVfMl9iIiB0eXBlPSJmb286dHlwZS41XzJfYiIvPgorCQkJCTx4c2Q6ZWxlbWVudCBuYW1lPSJkZXJpdmUuNV80X2EiIHR5cGU9ImZvbzp0eXBlLjVfNF9hIi8+CisJCQkJPHhzZDplbGVtZW50IG5hbWU9ImRlcml2ZS41XzRfYiIgdHlwZT0iZm9vOnR5cGUuNV80X2IiLz4KKwkJCQk8eHNkOmVsZW1lbnQgbmFtZT0iZGVyaXZlLjZfMSIgICB0eXBlPSJmb286dHlwZS42XzEiLz4KKwkJCQk8eHNkOmVsZW1lbnQgbmFtZT0iZGVyaXZlLjZfMiIgICB0eXBlPSJmb286dHlwZS42XzIiLz4KKwkJCTwveHNkOnNlcXVlbmNlPgorCQk8L3hzZDpjb21wbGV4VHlwZT4KKwk8L3hzZDplbGVtZW50PgorCQorCTwhLS0gQXR0cmlidXRlIFdpbGRjYXJkIFVuaW9uIC0tPgorCisJPCEtLSAxLiBJZiBPMSBhbmQgTzIgYXJlIHRoZSBzYW1lIHZhbHVlLCB0aGVuIHRoYXQgdmFsdWUgbXVzdCBiZSB0aGUgdmFsdWUuIC0tPgorCTx4c2Q6Y29tcGxleFR5cGUgbmFtZT0idHlwZS4xXzEiPgkKKwkJPHhzZDpjb21wbGV4Q29udGVudD4KKwkJCTx4c2Q6ZXh0ZW5zaW9uIGJhc2U9ImZvbzp0eXBlLmJhc2UuMV8xIj4KKwkJCQk8eHNkOmFueUF0dHJpYnV0ZSBuYW1lc3BhY2U9IiMjYW55IiBwcm9jZXNzQ29udGVudHM9ImxheCIvPgkKKwkJCTwveHNkOmV4dGVuc2lvbj4KKwkJPC94c2Q6Y29tcGxleENvbnRlbnQ+CisJPC94c2Q6Y29tcGxleFR5cGU+CisJPHhzZDpjb21wbGV4VHlwZSBuYW1lPSJ0eXBlLmJhc2UuMV8xIj4JCisJCTx4c2Q6YXR0cmlidXRlR3JvdXAgcmVmPSJmb286YXR0ckdyLjFfMSIvPgkJCQorCQk8eHNkOmFueUF0dHJpYnV0ZSBuYW1lc3BhY2U9IiMjYW55IiBwcm9jZXNzQ29udGVudHM9ImxheCIvPgkKKwk8L3hzZDpjb21wbGV4VHlwZT4KKwk8eHNkOmF0dHJpYnV0ZUdyb3VwIG5hbWU9ImF0dHJHci4xXzEiPgorCQk8eHNkOmFueUF0dHJpYnV0ZSBuYW1lc3BhY2U9IiMjYW55IiBwcm9jZXNzQ29udGVudHM9ImxheCIvPgorCTwveHNkOmF0dHJpYnV0ZUdyb3VwPgorCisJPHhzZDpjb21wbGV4VHlwZSBuYW1lPSJ0eXBlLjFfNCI+CQorCQk8eHNkOmNvbXBsZXhDb250ZW50PgorCQkJPHhzZDpleHRlbnNpb24gYmFzZT0iZm9vOnR5cGUuYmFzZS4xXzQiPgorCQkJCTx4c2Q6YW55QXR0cmlidXRlIG5hbWVzcGFjZT0iaHR0cDovL0JBUiAjI2xvY2FsIGh0dHA6Ly9GT08iIHByb2Nlc3NDb250ZW50cz0ibGF4Ii8+CQorCQkJPC94c2Q6ZXh0ZW5zaW9uPgorCQk8L3hzZDpjb21wbGV4Q29udGVudD4KKwk8L3hzZDpjb21wbGV4VHlwZT4KKyAgICA8eHNkOmNvbXBsZXhUeXBlIG5hbWU9InR5cGUuYmFzZS4xXzQiPgkKKwkJPHhzZDphdHRyaWJ1dGVHcm91cCByZWY9ImZvbzphdHRyR3IuMV80Ii8+CQkJCisJCTx4c2Q6YW55QXR0cmlidXRlIG5hbWVzcGFjZT0iIyNsb2NhbCBodHRwOi8vQkFSICAgIyN0YXJnZXROYW1lc3BhY2UgIiBwcm9jZXNzQ29udGVudHM9ImxheCIvPgkKKwk8L3hzZDpjb21wbGV4VHlwZT4KKwk8eHNkOmF0dHJpYnV0ZUdyb3VwIG5hbWU9ImF0dHJHci4xXzQiPgorCQk8eHNkOmFueUF0dHJpYnV0ZSBuYW1lc3BhY2U9IiAgaHR0cDovL0ZPTyAgaHR0cDovL0JBUiAjI2xvY2FsIi8+CisJPC94c2Q6YXR0cmlidXRlR3JvdXA+CisKKwk8IS0tIDIuIElmIGVpdGhlciBPMSBvciBPMiBpcyBhbnksIHRoZW4gYW55IG11c3QgYmUgdGhlIHZhbHVlLiAtLT4KKwk8eHNkOmNvbXBsZXhUeXBlIG5hbWU9InR5cGUuMl8xIj4JCisJCTx4c2Q6Y29tcGxleENvbnRlbnQ+CisJCQk8eHNkOmV4dGVuc2lvbiBiYXNlPSJmb286dHlwZS5iYXNlLjJfMSI+CisJCQkJPHhzZDphbnlBdHRyaWJ1dGUgbmFtZXNwYWNlPSIjI2FueSIgcHJvY2Vzc0NvbnRlbnRzPSJsYXgiLz4JCisJCQk8L3hzZDpleHRlbnNpb24+CisJCTwveHNkOmNvbXBsZXhDb250ZW50PgorCTwveHNkOmNvbXBsZXhUeXBlPgorCTx4c2Q6Y29tcGxleFR5cGUgbmFtZT0idHlwZS5iYXNlLjJfMSI+CQorCQk8eHNkOmF0dHJpYnV0ZUdyb3VwIHJlZj0iZm9vOmF0dHJHci4yXzEiLz4JCQkKKwkJPHhzZDphbnlBdHRyaWJ1dGUgbmFtZXNwYWNlPSIjI2FueSIgcHJvY2Vzc0NvbnRlbnRzPSJsYXgiLz4JCisJPC94c2Q6Y29tcGxleFR5cGU+CisJPHhzZDphdHRyaWJ1dGVHcm91cCBuYW1lPSJhdHRyR3IuMl8xIj4KKwkJPHhzZDphbnlBdHRyaWJ1dGUgbmFtZXNwYWNlPSIjI2xvY2FsICMjdGFyZ2V0TmFtZXNwYWNlIi8+CisJPC94c2Q6YXR0cmlidXRlR3JvdXA+CisKKwk8IS0tIDMuIElmIGJvdGggTzEgYW5kIE8yIGFyZSBzZXRzIG9mIChuYW1lc3BhY2UgbmFtZXMgb3Igt2Fic2VudLcpLCAKKwkJdGhlbiB0aGUgdW5pb24gb2YgdGhvc2Ugc2V0cyBtdXN0IGJlIHRoZSB2YWx1ZS4gLS0+CisJPHhzZDpjb21wbGV4VHlwZSBuYW1lPSJ0eXBlLjNfMSI+CQorCQk8eHNkOmNvbXBsZXhDb250ZW50PgorCQkJPHhzZDpleHRlbnNpb24gYmFzZT0iZm9vOnR5cGUuYmFzZS4zXzEiPgorCQkJCTx4c2Q6YW55QXR0cmlidXRlIG5hbWVzcGFjZT0iIyN0YXJnZXROYW1lc3BhY2UgaHR0cDovL0RPTyIgcHJvY2Vzc0NvbnRlbnRzPSJsYXgiLz4JCisJCQk8L3hzZDpleHRlbnNpb24+CisJCTwveHNkOmNvbXBsZXhDb250ZW50PgorCTwveHNkOmNvbXBsZXhUeXBlPgorCTx4c2Q6Y29tcGxleFR5cGUgbmFtZT0idHlwZS5iYXNlLjNfMSI+CQorCQk8eHNkOmF0dHJpYnV0ZUdyb3VwIHJlZj0iZm9vOmF0dHJHci4zXzEiLz4JCQkKKwkJPHhzZDphbnlBdHRyaWJ1dGUgbmFtZXNwYWNlPSIjI2xvY2FsIiBwcm9jZXNzQ29udGVudHM9ImxheCIvPgkKKwk8L3hzZDpjb21wbGV4VHlwZT4KKwk8eHNkOmF0dHJpYnV0ZUdyb3VwIG5hbWU9ImF0dHJHci4zXzEiPgorCQk8eHNkOmFueUF0dHJpYnV0ZSBuYW1lc3BhY2U9IiMjbG9jYWwgIyN0YXJnZXROYW1lc3BhY2UgaHR0cDovL0JBUiIvPgorCTwveHNkOmF0dHJpYnV0ZUdyb3VwPgorCTwhLS0gNCBJZiB0aGUgdHdvIGFyZSBuZWdhdGlvbnMgb2YgZGlmZmVyZW50IHZhbHVlcyAobmFtZXNwYWNlIAorCSBuYW1lcyBvciC3YWJzZW50tyksIHRoZW4gYSBwYWlyIG9mIG5vdCBhbmQgt2Fic2VudLcgbXVzdCBiZSB0aGUgdmFsdWUuIC0tPgorCTx4c2Q6Y29tcGxleFR5cGUgbmFtZT0idHlwZS40XzEiPgkKKwkJPHhzZDpjb21wbGV4Q29udGVudD4KKwkJCTx4c2Q6ZXh0ZW5zaW9uIGJhc2U9ImltcC50eXBlLmJhc2UuZGVyaXZlLjRfMSI+CisJCQkJPHhzZDphbnlBdHRyaWJ1dGUgbmFtZXNwYWNlPSIjI290aGVyIiBwcm9jZXNzQ29udGVudHM9ImxheCIvPgkKKwkJCTwveHNkOmV4dGVuc2lvbj4KKwkJPC94c2Q6Y29tcGxleENvbnRlbnQ+CisJPC94c2Q6Y29tcGxleFR5cGU+CisJPCEtLSA1IElmIGVpdGhlciBPMSBvciBPMiBpcyBhIHBhaXIgb2Ygbm90IGFuZCBhIG5hbWVzcGFjZSBuYW1lIGFuZCAKKwkgIHRoZSBvdGhlciBpcyBhIHNldCBvZiAobmFtZXNwYWNlIG5hbWVzIG9yILdhYnNlbnS3KSAoY2FsbCB0aGlzIHNldCBTKSwgCisJICB0aGVuIFRoZSBhcHByb3ByaWF0ZSBjYXNlIGFtb25nIHRoZSBmb2xsb3dpbmcgbXVzdCBiZSB0cnVlOiAtLT4KKwk8IS0tIDUuMSBJZiB0aGUgc2V0IFMgaW5jbHVkZXMgYm90aCB0aGUgbmVnYXRlZCBuYW1lc3BhY2UgbmFtZSBhbmQgCisJICC3YWJzZW50tywgdGhlbiBhbnkgbXVzdCBiZSB0aGUgdmFsdWUuIC0tPgorCTx4c2Q6Y29tcGxleFR5cGUgbmFtZT0idHlwZS41XzFfYSI+CQorCQk8eHNkOmNvbXBsZXhDb250ZW50PgorCQkJPHhzZDpleHRlbnNpb24gYmFzZT0iZm9vOnR5cGUuYmFzZS41XzFfYSI+CisJCQkJPHhzZDphbnlBdHRyaWJ1dGUgbmFtZXNwYWNlPSIjI2xvY2FsICMjdGFyZ2V0TmFtZXNwYWNlIiBwcm9jZXNzQ29udGVudHM9ImxheCIvPgkKKwkJCTwveHNkOmV4dGVuc2lvbj4KKwkJPC94c2Q6Y29tcGxleENvbnRlbnQ+CisJPC94c2Q6Y29tcGxleFR5cGU+CisJPHhzZDpjb21wbGV4VHlwZSBuYW1lPSJ0eXBlLmJhc2UuNV8xX2EiPgkKKwkJPHhzZDphbnlBdHRyaWJ1dGUgbmFtZXNwYWNlPSIjI290aGVyIiBwcm9jZXNzQ29udGVudHM9ImxheCIvPgkKKwk8L3hzZDpjb21wbGV4VHlwZT4KKworCTx4c2Q6Y29tcGxleFR5cGUgbmFtZT0idHlwZS41XzFfYiI+CQorCQk8eHNkOmNvbXBsZXhDb250ZW50PgorCQkJPHhzZDpleHRlbnNpb24gYmFzZT0iZm9vOnR5cGUuYmFzZS41XzFfYiI+CisJCQkJPHhzZDphbnlBdHRyaWJ1dGUgbmFtZXNwYWNlPSIjI290aGVyIiBwcm9jZXNzQ29udGVudHM9ImxheCIvPgkKKwkJCTwveHNkOmV4dGVuc2lvbj4KKwkJPC94c2Q6Y29tcGxleENvbnRlbnQ+CisJPC94c2Q6Y29tcGxleFR5cGU+CisJPHhzZDpjb21wbGV4VHlwZSBuYW1lPSJ0eXBlLmJhc2UuNV8xX2IiPgkKKwkJPHhzZDphbnlBdHRyaWJ1dGUgbmFtZXNwYWNlPSIjI2xvY2FsICMjdGFyZ2V0TmFtZXNwYWNlIiBwcm9jZXNzQ29udGVudHM9ImxheCIvPgkKKwk8L3hzZDpjb21wbGV4VHlwZT4KKworCTwhLS0gNS4yIElmIHRoZSBzZXQgUyBpbmNsdWRlcyB0aGUgbmVnYXRlZCBuYW1lc3BhY2UgbmFtZSBidXQgbm90ILdhYnNlbnS3LCAKKwkgIHRoZW4gYSBwYWlyIG9mIG5vdCBhbmQgt2Fic2VudLcgbXVzdCBiZSB0aGUgdmFsdWUuIC0tPgorCTx4c2Q6Y29tcGxleFR5cGUgbmFtZT0idHlwZS41XzJfYSI+CQorCQk8eHNkOmNvbXBsZXhDb250ZW50PgorCQkJPHhzZDpleHRlbnNpb24gYmFzZT0iZm9vOnR5cGUuYmFzZS41XzJfYSI+CisJCQkJPHhzZDphbnlBdHRyaWJ1dGUgbmFtZXNwYWNlPSIjI3RhcmdldE5hbWVzcGFjZSBodHRwOi8vQkFSIiBwcm9jZXNzQ29udGVudHM9ImxheCIvPgkKKwkJCTwveHNkOmV4dGVuc2lvbj4KKwkJPC94c2Q6Y29tcGxleENvbnRlbnQ+CisJPC94c2Q6Y29tcGxleFR5cGU+CisJPHhzZDpjb21wbGV4VHlwZSBuYW1lPSJ0eXBlLmJhc2UuNV8yX2EiPgkKKwkJPHhzZDphbnlBdHRyaWJ1dGUgbmFtZXNwYWNlPSIjI290aGVyIiBwcm9jZXNzQ29udGVudHM9ImxheCIvPgkKKwk8L3hzZDpjb21wbGV4VHlwZT4KKworCTx4c2Q6Y29tcGxleFR5cGUgbmFtZT0idHlwZS41XzJfYiI+CQorCQk8eHNkOmNvbXBsZXhDb250ZW50PgorCQkJPHhzZDpleHRlbnNpb24gYmFzZT0iZm9vOnR5cGUuYmFzZS41XzJfYiI+CisJCQkJPHhzZDphbnlBdHRyaWJ1dGUgbmFtZXNwYWNlPSIjI290aGVyIiBwcm9jZXNzQ29udGVudHM9ImxheCIvPgkKKwkJCTwveHNkOmV4dGVuc2lvbj4KKwkJPC94c2Q6Y29tcGxleENvbnRlbnQ+CisJPC94c2Q6Y29tcGxleFR5cGU+CisJPHhzZDpjb21wbGV4VHlwZSBuYW1lPSJ0eXBlLmJhc2UuNV8yX2IiPgkKKwkJPHhzZDphbnlBdHRyaWJ1dGUgbmFtZXNwYWNlPSIjI3RhcmdldE5hbWVzcGFjZSBodHRwOi8vQkFSIiBwcm9jZXNzQ29udGVudHM9ImxheCIvPgkKKwk8L3hzZDpjb21wbGV4VHlwZT4KKwk8IS0tIDUuMyBJZiB0aGUgc2V0IFMgaW5jbHVkZXMgt2Fic2VudLcgYnV0IG5vdCB0aGUgbmVnYXRlZCBuYW1lc3BhY2UgbmFtZSwgCisJICB0aGVuIHRoZSB1bmlvbiBpcyBub3QgZXhwcmVzc2libGUuIC0tPgorCTwhLS0KKwk8eHNkOmNvbXBsZXhUeXBlIG5hbWU9InR5cGUuNV8zX2EiPgkKKwkJPHhzZDpjb21wbGV4Q29udGVudD4KKwkJCTx4c2Q6ZXh0ZW5zaW9uIGJhc2U9ImZvbzp0eXBlLmJhc2UuNV8zX2EiPgorCQkJCTx4c2Q6YW55QXR0cmlidXRlIG5hbWVzcGFjZT0iIyNsb2NhbCBodHRwOi8vQkFSIiBwcm9jZXNzQ29udGVudHM9ImxheCIvPgkKKwkJCTwveHNkOmV4dGVuc2lvbj4KKwkJPC94c2Q6Y29tcGxleENvbnRlbnQ+CisJPC94c2Q6Y29tcGxleFR5cGU+CisJPHhzZDpjb21wbGV4VHlwZSBuYW1lPSJ0eXBlLmJhc2UuNV8zX2EiPgkKKwkJPHhzZDphbnlBdHRyaWJ1dGUgbmFtZXNwYWNlPSIjI290aGVyIiBwcm9jZXNzQ29udGVudHM9ImxheCIvPgkKKwk8L3hzZDpjb21wbGV4VHlwZT4KKworCTx4c2Q6Y29tcGxleFR5cGUgbmFtZT0idHlwZS41XzNfYiI+CQorCQk8eHNkOmNvbXBsZXhDb250ZW50PgorCQkJPHhzZDpleHRlbnNpb24gYmFzZT0iZm9vOnR5cGUuYmFzZS41XzNfYiI+CisJCQkJPHhzZDphbnlBdHRyaWJ1dGUgbmFtZXNwYWNlPSIjI290aGVyIiBwcm9jZXNzQ29udGVudHM9ImxheCIvPgkKKwkJCTwveHNkOmV4dGVuc2lvbj4KKwkJPC94c2Q6Y29tcGxleENvbnRlbnQ+CisJPC94c2Q6Y29tcGxleFR5cGU+CisJPHhzZDpjb21wbGV4VHlwZSBuYW1lPSJ0eXBlLmJhc2UuNV8zX2IiPgkKKwkJPHhzZDphbnlBdHRyaWJ1dGUgbmFtZXNwYWNlPSIjI2xvY2FsIGh0dHA6Ly9CQVIiIHByb2Nlc3NDb250ZW50cz0ibGF4Ii8+CQorCTwveHNkOmNvbXBsZXhUeXBlPgorCS0tPgorCTwhLS0gNS40IElmIHRoZSBzZXQgUyBkb2VzIG5vdCBpbmNsdWRlIGVpdGhlciB0aGUgbmVnYXRlZCBuYW1lc3BhY2UgbmFtZSAKKwkJb3Igt2Fic2VudLcsIHRoZW4gd2hpY2hldmVyIG9mIE8xIG9yIE8yIGlzIGEgcGFpciBvZiBub3QgYW5kIGEgbmFtZXNwYWNlIAorCQluYW1lIG11c3QgYmUgdGhlIHZhbHVlLiAtLT4KKwk8eHNkOmNvbXBsZXhUeXBlIG5hbWU9InR5cGUuNV80X2EiPgkKKwkJPHhzZDpjb21wbGV4Q29udGVudD4KKwkJCTx4c2Q6ZXh0ZW5zaW9uIGJhc2U9ImZvbzp0eXBlLmJhc2UuNV80X2EiPgorCQkJCTx4c2Q6YW55QXR0cmlidXRlIG5hbWVzcGFjZT0iaHR0cDovL0JBUiIgcHJvY2Vzc0NvbnRlbnRzPSJsYXgiLz4JCisJCQk8L3hzZDpleHRlbnNpb24+CisJCTwveHNkOmNvbXBsZXhDb250ZW50PgorCTwveHNkOmNvbXBsZXhUeXBlPgorCTx4c2Q6Y29tcGxleFR5cGUgbmFtZT0idHlwZS5iYXNlLjVfNF9hIj4JCisJCTx4c2Q6YW55QXR0cmlidXRlIG5hbWVzcGFjZT0iIyNvdGhlciIgcHJvY2Vzc0NvbnRlbnRzPSJsYXgiLz4JCisJPC94c2Q6Y29tcGxleFR5cGU+CisKKwk8eHNkOmNvbXBsZXhUeXBlIG5hbWU9InR5cGUuNV80X2IiPgkKKwkJPHhzZDpjb21wbGV4Q29udGVudD4KKwkJCTx4c2Q6ZXh0ZW5zaW9uIGJhc2U9ImZvbzp0eXBlLmJhc2UuNV80X2IiPgorCQkJCTx4c2Q6YW55QXR0cmlidXRlIG5hbWVzcGFjZT0iIyNvdGhlciIgcHJvY2Vzc0NvbnRlbnRzPSJsYXgiLz4JCisJCQk8L3hzZDpleHRlbnNpb24+CisJCTwveHNkOmNvbXBsZXhDb250ZW50PgorCTwveHNkOmNvbXBsZXhUeXBlPgorCTx4c2Q6Y29tcGxleFR5cGUgbmFtZT0idHlwZS5iYXNlLjVfNF9iIj4JCisJCTx4c2Q6YW55QXR0cmlidXRlIG5hbWVzcGFjZT0iaHR0cDovL0JBUiIgcHJvY2Vzc0NvbnRlbnRzPSJsYXgiLz4JCisJPC94c2Q6Y29tcGxleFR5cGU+CisJPCEtLSA2IElmIGVpdGhlciBPMSBvciBPMiBpcyBhIHBhaXIgb2Ygbm90IGFuZCC3YWJzZW50tyBhbmQgdGhlIG90aGVyIGlzIGEgCisJICBzZXQgb2YgKG5hbWVzcGFjZSBuYW1lcyBvciC3YWJzZW50tykgKGFnYWluLCBjYWxsIHRoaXMgc2V0IFMpLCB0aGVuIFRoZSAKKwkgIGFwcHJvcHJpYXRlIGNhc2UgYW1vbmcgdGhlIGZvbGxvd2luZyBtdXN0IGJlIHRydWU6IC0tPgorCTwhLS0gNi4xIElmIHRoZSBzZXQgUyBpbmNsdWRlcyC3YWJzZW50tywgdGhlbiBhbnkgbXVzdCBiZSB0aGUgdmFsdWUuIC0tPgorCTx4c2Q6Y29tcGxleFR5cGUgbmFtZT0idHlwZS42XzEiPgkKKwkJPHhzZDpjb21wbGV4Q29udGVudD4KKwkJCTx4c2Q6ZXh0ZW5zaW9uIGJhc2U9ImltcC50eXBlLmJhc2UuZGVyaXZlLjYiPgorCQkJCTx4c2Q6YW55QXR0cmlidXRlIG5hbWVzcGFjZT0iIyNsb2NhbCBodHRwOi8vQkFSIiBwcm9jZXNzQ29udGVudHM9ImxheCIvPgkKKwkJCTwveHNkOmV4dGVuc2lvbj4KKwkJPC94c2Q6Y29tcGxleENvbnRlbnQ+CisJPC94c2Q6Y29tcGxleFR5cGU+CisJPCEtLSA2LjIgSWYgdGhlIHNldCBTIGRvZXMgbm90IGluY2x1ZGUgt2Fic2VudLcsIHRoZW4gYSBwYWlyIG9mIG5vdCBhbmQgt2Fic2VudLcgCisJICBtdXN0IGJlIHRoZSB2YWx1ZS4gLS0+CisJPHhzZDpjb21wbGV4VHlwZSBuYW1lPSJ0eXBlLjZfMiI+CQorCQk8eHNkOmNvbXBsZXhDb250ZW50PgorCQkJPHhzZDpleHRlbnNpb24gYmFzZT0iaW1wLnR5cGUuYmFzZS5kZXJpdmUuNiI+CisJCQkJPHhzZDphbnlBdHRyaWJ1dGUgbmFtZXNwYWNlPSJodHRwOi8vQkFSIGh0dHA6Ly9ET08iIHByb2Nlc3NDb250ZW50cz0ibGF4Ii8+CQorCQkJPC94c2Q6ZXh0ZW5zaW9uPgorCQk8L3hzZDpjb21wbGV4Q29udGVudD4KKwk8L3hzZDpjb21wbGV4VHlwZT4KKworPC94c2Q6c2NoZW1hPgorCisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2FueUF0dHItZGVyaXZlMV8wLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2FueUF0dHItZGVyaXZlMV8wLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZTg5ZjQ1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYW55QXR0ci1kZXJpdmUxXzAueG1sCkBAIC0wLDAgKzEsMzAgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IklTTy04ODU5LTEiPz4KKzxmb28KKwl4bWxucz0iaHR0cDovL0ZPTyIgCisJeG1sbnM6Zm9vPSJodHRwOi8vRk9PIiAKKwl4bWxuczpiYXI9Imh0dHA6Ly9CQVIiIAorCXhtbG5zOmRvbz0iaHR0cDovL0RPTyIgCisJeG1sbnM6aW1wb3J0PSJodHRwOi8vSU1QT1JUIiAKKwl4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiAKKwl4c2k6c2NoZW1hTG9jYXRpb249Imh0dHA6Ly9GT08gYW55QXR0ci1kZXJpdmUxXzAueHNkIj4KKworCTxkZXJpdmUuMV8xIGJhckE9Im8iIGJhcjpiYXJCPSJvIiBmb286YmFyQz0ibyIvPgorCTxkZXJpdmUuMV80IGJhckE9Im8iIGJhcjpiYXJCPSJvIiBmb286YmFyQz0ibyIvPgorCTxkZXJpdmUuMl8xIGJhckE9Im8iIGJhcjpiYXJCPSJvIiBmb286YmFyQz0ibyIgZG9vOmJhckQ9Im8iIC8+CisJPGRlcml2ZS4zXzEgYmFyQT0ibyIgZm9vOmJhckM9Im8iIGRvbzpiYXJEPSJvIiAvPgorCTxkZXJpdmUuNF8xIGJhcjpiYXJCPSJvIiBmb286YmFyQz0ibyIgZG9vOmJhckQ9Im8iLz4KKworCTxkZXJpdmUuNV8xX2EgYmFyQT0ibyIgYmFyOmJhckI9Im8iIGZvbzpiYXJDPSJvIiBkb286YmFyRD0ibyIgLz4KKwk8ZGVyaXZlLjVfMV9iIGJhckE9Im8iIGJhcjpiYXJCPSJvIiBmb286YmFyQz0ibyIgZG9vOmJhckQ9Im8iIC8+CisKKwk8ZGVyaXZlLjVfMl9hIGJhcjpiYXJCPSJvIiBmb286YmFyQz0ibyIgZG9vOmJhckQ9Im8iIC8+CisJPGRlcml2ZS41XzJfYiBiYXI6YmFyQj0ibyIgZm9vOmJhckM9Im8iIGRvbzpiYXJEPSJvIiAvPgorCisJPGRlcml2ZS41XzRfYSBiYXI6YmFyQj0ibyIgZG9vOmJhckQ9Im8iIC8+CisJPGRlcml2ZS41XzRfYiBiYXI6YmFyQj0ibyIgZG9vOmJhckQ9Im8iIC8+CisKKwk8ZGVyaXZlLjZfMSBiYXJBPSJvIiBiYXI6YmFyQj0ibyIgZm9vOmJhckM9Im8iIGRvbzpiYXJEPSJvIi8+CisJPGRlcml2ZS42XzIgYmFyOmJhckI9Im8iIGZvbzpiYXJDPSJvIiBkb286YmFyRD0ibyIvPgorPC9mb28+CisKKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvYW55QXR0ci1kZXJpdmUxXzAueHNkIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYW55QXR0ci1kZXJpdmUxXzAueHNkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJjMTRkOTkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbnlBdHRyLWRlcml2ZTFfMC54c2QKQEAgLTAsMCArMSwyMjcgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IklTTy04ODU5LTEiPz4KKzx4c2Q6c2NoZW1hIHhtbG5zOmZvbz0iaHR0cDovL0ZPTyIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6aW1wb3J0PSJodHRwOi8vSU1QT1JUIgorCXRhcmdldE5hbWVzcGFjZT0iaHR0cDovL0ZPTyIgZWxlbWVudEZvcm1EZWZhdWx0PSJxdWFsaWZpZWQiPgorCTx4c2Q6aW1wb3J0IG5hbWVzcGFjZT0iaHR0cDovL0lNUE9SVCIgc2NoZW1hTG9jYXRpb249ImFueUF0dHIuaW1wb3J0QS4xXzAueHNkIi8+CQorCTx4c2Q6aW1wb3J0IHNjaGVtYUxvY2F0aW9uPSJhbnlBdHRyLmltcG9ydEIuMV8wLnhzZCIvPgorCTx4c2Q6ZWxlbWVudCBuYW1lPSJmb28iPgorCQk8eHNkOmNvbXBsZXhUeXBlPgorCQkgICAgPHhzZDpzZXF1ZW5jZT4JCQkJCisJCQkJPCEtLSBBdHRyaWJ1dGUgV2lsZGNhcmQgVW5pb24gLS0+CisJCQkJPHhzZDplbGVtZW50IG5hbWU9ImRlcml2ZS4xXzEiIHR5cGU9ImZvbzp0eXBlLjFfMSIvPgorCQkJCTx4c2Q6ZWxlbWVudCBuYW1lPSJkZXJpdmUuMV80IiB0eXBlPSJmb286dHlwZS4xXzQiLz4KKworCQkJCTx4c2Q6ZWxlbWVudCBuYW1lPSJkZXJpdmUuMl8xIiB0eXBlPSJmb286dHlwZS4yXzEiLz4KKworCQkJCTx4c2Q6ZWxlbWVudCBuYW1lPSJkZXJpdmUuM18xIiB0eXBlPSJmb286dHlwZS4zXzEiLz4KKworCQkJCTx4c2Q6ZWxlbWVudCBuYW1lPSJkZXJpdmUuNF8xIiB0eXBlPSJmb286dHlwZS40XzEiLz4KKworCQkJCTx4c2Q6ZWxlbWVudCBuYW1lPSJkZXJpdmUuNV8xX2EiIHR5cGU9ImZvbzp0eXBlLjVfMV9hIi8+CisJCQkJPHhzZDplbGVtZW50IG5hbWU9ImRlcml2ZS41XzFfYiIgdHlwZT0iZm9vOnR5cGUuNV8xX2IiLz4KKwkJCQk8eHNkOmVsZW1lbnQgbmFtZT0iZGVyaXZlLjVfMl9hIiB0eXBlPSJmb286dHlwZS41XzJfYSIvPgorCQkJCTx4c2Q6ZWxlbWVudCBuYW1lPSJkZXJpdmUuNV8yX2IiIHR5cGU9ImZvbzp0eXBlLjVfMl9iIi8+CisJCQkJPHhzZDplbGVtZW50IG5hbWU9ImRlcml2ZS41XzRfYSIgdHlwZT0iZm9vOnR5cGUuNV80X2EiLz4KKwkJCQk8eHNkOmVsZW1lbnQgbmFtZT0iZGVyaXZlLjVfNF9iIiB0eXBlPSJmb286dHlwZS41XzRfYiIvPgorCQkJCTx4c2Q6ZWxlbWVudCBuYW1lPSJkZXJpdmUuNl8xIiAgIHR5cGU9ImZvbzp0eXBlLjZfMSIvPgorCQkJCTx4c2Q6ZWxlbWVudCBuYW1lPSJkZXJpdmUuNl8yIiAgIHR5cGU9ImZvbzp0eXBlLjZfMiIvPgorCQkJPC94c2Q6c2VxdWVuY2U+CisJCTwveHNkOmNvbXBsZXhUeXBlPgorCTwveHNkOmVsZW1lbnQ+CisJCisJPCEtLSBBdHRyaWJ1dGUgV2lsZGNhcmQgVW5pb24gLS0+CisKKwk8IS0tIDEuIElmIE8xIGFuZCBPMiBhcmUgdGhlIHNhbWUgdmFsdWUsIHRoZW4gdGhhdCB2YWx1ZSBtdXN0IGJlIHRoZSB2YWx1ZS4gLS0+CisJPHhzZDpjb21wbGV4VHlwZSBuYW1lPSJ0eXBlLjFfMSI+CQorCQk8eHNkOmNvbXBsZXhDb250ZW50PgorCQkJPHhzZDpleHRlbnNpb24gYmFzZT0iZm9vOnR5cGUuYmFzZS4xXzEiPgorCQkJCTx4c2Q6YW55QXR0cmlidXRlIG5hbWVzcGFjZT0iIyNhbnkiIHByb2Nlc3NDb250ZW50cz0ibGF4Ii8+CQorCQkJPC94c2Q6ZXh0ZW5zaW9uPgorCQk8L3hzZDpjb21wbGV4Q29udGVudD4KKwk8L3hzZDpjb21wbGV4VHlwZT4KKwk8eHNkOmNvbXBsZXhUeXBlIG5hbWU9InR5cGUuYmFzZS4xXzEiPgkKKwkJPHhzZDphdHRyaWJ1dGVHcm91cCByZWY9ImZvbzphdHRyR3IuMV8xIi8+CQkJCisJCTx4c2Q6YW55QXR0cmlidXRlIG5hbWVzcGFjZT0iIyNhbnkiIHByb2Nlc3NDb250ZW50cz0ibGF4Ii8+CQorCTwveHNkOmNvbXBsZXhUeXBlPgorCTx4c2Q6YXR0cmlidXRlR3JvdXAgbmFtZT0iYXR0ckdyLjFfMSI+CisJCTx4c2Q6YW55QXR0cmlidXRlIG5hbWVzcGFjZT0iIyNhbnkiIHByb2Nlc3NDb250ZW50cz0ibGF4Ii8+CisJPC94c2Q6YXR0cmlidXRlR3JvdXA+CisKKwk8eHNkOmNvbXBsZXhUeXBlIG5hbWU9InR5cGUuMV80Ij4JCisJCTx4c2Q6Y29tcGxleENvbnRlbnQ+CisJCQk8eHNkOmV4dGVuc2lvbiBiYXNlPSJmb286dHlwZS5iYXNlLjFfNCI+CisJCQkJPHhzZDphbnlBdHRyaWJ1dGUgbmFtZXNwYWNlPSJodHRwOi8vQkFSICMjbG9jYWwgaHR0cDovL0ZPTyIgcHJvY2Vzc0NvbnRlbnRzPSJsYXgiLz4JCisJCQk8L3hzZDpleHRlbnNpb24+CisJCTwveHNkOmNvbXBsZXhDb250ZW50PgorCTwveHNkOmNvbXBsZXhUeXBlPgorICAgIDx4c2Q6Y29tcGxleFR5cGUgbmFtZT0idHlwZS5iYXNlLjFfNCI+CQorCQk8eHNkOmF0dHJpYnV0ZUdyb3VwIHJlZj0iZm9vOmF0dHJHci4xXzQiLz4JCQkKKwkJPHhzZDphbnlBdHRyaWJ1dGUgbmFtZXNwYWNlPSIjI2xvY2FsIGh0dHA6Ly9CQVIgICAjI3RhcmdldE5hbWVzcGFjZSAiIHByb2Nlc3NDb250ZW50cz0ibGF4Ii8+CQorCTwveHNkOmNvbXBsZXhUeXBlPgorCTx4c2Q6YXR0cmlidXRlR3JvdXAgbmFtZT0iYXR0ckdyLjFfNCI+CisJCTx4c2Q6YW55QXR0cmlidXRlIG5hbWVzcGFjZT0iICBodHRwOi8vRk9PICBodHRwOi8vQkFSICMjbG9jYWwiLz4KKwk8L3hzZDphdHRyaWJ1dGVHcm91cD4KKworCTwhLS0gMi4gSWYgZWl0aGVyIE8xIG9yIE8yIGlzIGFueSwgdGhlbiBhbnkgbXVzdCBiZSB0aGUgdmFsdWUuIC0tPgorCTx4c2Q6Y29tcGxleFR5cGUgbmFtZT0idHlwZS4yXzEiPgkKKwkJPHhzZDpjb21wbGV4Q29udGVudD4KKwkJCTx4c2Q6ZXh0ZW5zaW9uIGJhc2U9ImZvbzp0eXBlLmJhc2UuMl8xIj4KKwkJCQk8eHNkOmFueUF0dHJpYnV0ZSBuYW1lc3BhY2U9IiMjYW55IiBwcm9jZXNzQ29udGVudHM9ImxheCIvPgkKKwkJCTwveHNkOmV4dGVuc2lvbj4KKwkJPC94c2Q6Y29tcGxleENvbnRlbnQ+CisJPC94c2Q6Y29tcGxleFR5cGU+CisJPHhzZDpjb21wbGV4VHlwZSBuYW1lPSJ0eXBlLmJhc2UuMl8xIj4JCisJCTx4c2Q6YXR0cmlidXRlR3JvdXAgcmVmPSJmb286YXR0ckdyLjJfMSIvPgkJCQorCQk8eHNkOmFueUF0dHJpYnV0ZSBuYW1lc3BhY2U9IiMjYW55IiBwcm9jZXNzQ29udGVudHM9ImxheCIvPgkKKwk8L3hzZDpjb21wbGV4VHlwZT4KKwk8eHNkOmF0dHJpYnV0ZUdyb3VwIG5hbWU9ImF0dHJHci4yXzEiPgorCQk8eHNkOmFueUF0dHJpYnV0ZSBuYW1lc3BhY2U9IiMjbG9jYWwgIyN0YXJnZXROYW1lc3BhY2UiLz4KKwk8L3hzZDphdHRyaWJ1dGVHcm91cD4KKworCTwhLS0gMy4gSWYgYm90aCBPMSBhbmQgTzIgYXJlIHNldHMgb2YgKG5hbWVzcGFjZSBuYW1lcyBvciC3YWJzZW50tyksIAorCQl0aGVuIHRoZSB1bmlvbiBvZiB0aG9zZSBzZXRzIG11c3QgYmUgdGhlIHZhbHVlLiAtLT4KKwk8eHNkOmNvbXBsZXhUeXBlIG5hbWU9InR5cGUuM18xIj4JCisJCTx4c2Q6Y29tcGxleENvbnRlbnQ+CisJCQk8eHNkOmV4dGVuc2lvbiBiYXNlPSJmb286dHlwZS5iYXNlLjNfMSI+CisJCQkJPHhzZDphbnlBdHRyaWJ1dGUgbmFtZXNwYWNlPSIjI3RhcmdldE5hbWVzcGFjZSBodHRwOi8vRE9PIiBwcm9jZXNzQ29udGVudHM9ImxheCIvPgkKKwkJCTwveHNkOmV4dGVuc2lvbj4KKwkJPC94c2Q6Y29tcGxleENvbnRlbnQ+CisJPC94c2Q6Y29tcGxleFR5cGU+CisJPHhzZDpjb21wbGV4VHlwZSBuYW1lPSJ0eXBlLmJhc2UuM18xIj4JCisJCTx4c2Q6YXR0cmlidXRlR3JvdXAgcmVmPSJmb286YXR0ckdyLjNfMSIvPgkJCQorCQk8eHNkOmFueUF0dHJpYnV0ZSBuYW1lc3BhY2U9IiMjbG9jYWwiIHByb2Nlc3NDb250ZW50cz0ibGF4Ii8+CQorCTwveHNkOmNvbXBsZXhUeXBlPgorCTx4c2Q6YXR0cmlidXRlR3JvdXAgbmFtZT0iYXR0ckdyLjNfMSI+CisJCTx4c2Q6YW55QXR0cmlidXRlIG5hbWVzcGFjZT0iIyNsb2NhbCAjI3RhcmdldE5hbWVzcGFjZSBodHRwOi8vQkFSIi8+CisJPC94c2Q6YXR0cmlidXRlR3JvdXA+CisJPCEtLSA0IElmIHRoZSB0d28gYXJlIG5lZ2F0aW9ucyBvZiBkaWZmZXJlbnQgdmFsdWVzIChuYW1lc3BhY2UgCisJIG5hbWVzIG9yILdhYnNlbnS3KSwgdGhlbiBhIHBhaXIgb2Ygbm90IGFuZCC3YWJzZW50tyBtdXN0IGJlIHRoZSB2YWx1ZS4gLS0+CisJPHhzZDpjb21wbGV4VHlwZSBuYW1lPSJ0eXBlLjRfMSI+CQorCQk8eHNkOmNvbXBsZXhDb250ZW50PgorCQkJPHhzZDpleHRlbnNpb24gYmFzZT0iaW1wLnR5cGUuYmFzZS5kZXJpdmUuNF8xIj4KKwkJCQk8eHNkOmFueUF0dHJpYnV0ZSBuYW1lc3BhY2U9IiMjb3RoZXIiIHByb2Nlc3NDb250ZW50cz0ibGF4Ii8+CQorCQkJPC94c2Q6ZXh0ZW5zaW9uPgorCQk8L3hzZDpjb21wbGV4Q29udGVudD4KKwk8L3hzZDpjb21wbGV4VHlwZT4KKwk8IS0tIDUgSWYgZWl0aGVyIE8xIG9yIE8yIGlzIGEgcGFpciBvZiBub3QgYW5kIGEgbmFtZXNwYWNlIG5hbWUgYW5kIAorCSAgdGhlIG90aGVyIGlzIGEgc2V0IG9mIChuYW1lc3BhY2UgbmFtZXMgb3Igt2Fic2VudLcpIChjYWxsIHRoaXMgc2V0IFMpLCAKKwkgIHRoZW4gVGhlIGFwcHJvcHJpYXRlIGNhc2UgYW1vbmcgdGhlIGZvbGxvd2luZyBtdXN0IGJlIHRydWU6IC0tPgorCTwhLS0gNS4xIElmIHRoZSBzZXQgUyBpbmNsdWRlcyBib3RoIHRoZSBuZWdhdGVkIG5hbWVzcGFjZSBuYW1lIGFuZCAKKwkgILdhYnNlbnS3LCB0aGVuIGFueSBtdXN0IGJlIHRoZSB2YWx1ZS4gLS0+CisJPHhzZDpjb21wbGV4VHlwZSBuYW1lPSJ0eXBlLjVfMV9hIj4JCisJCTx4c2Q6Y29tcGxleENvbnRlbnQ+CisJCQk8eHNkOmV4dGVuc2lvbiBiYXNlPSJmb286dHlwZS5iYXNlLjVfMV9hIj4KKwkJCQk8eHNkOmFueUF0dHJpYnV0ZSBuYW1lc3BhY2U9IiMjbG9jYWwgIyN0YXJnZXROYW1lc3BhY2UiIHByb2Nlc3NDb250ZW50cz0ibGF4Ii8+CQorCQkJPC94c2Q6ZXh0ZW5zaW9uPgorCQk8L3hzZDpjb21wbGV4Q29udGVudD4KKwk8L3hzZDpjb21wbGV4VHlwZT4KKwk8eHNkOmNvbXBsZXhUeXBlIG5hbWU9InR5cGUuYmFzZS41XzFfYSI+CQorCQk8eHNkOmFueUF0dHJpYnV0ZSBuYW1lc3BhY2U9IiMjb3RoZXIiIHByb2Nlc3NDb250ZW50cz0ibGF4Ii8+CQorCTwveHNkOmNvbXBsZXhUeXBlPgorCisJPHhzZDpjb21wbGV4VHlwZSBuYW1lPSJ0eXBlLjVfMV9iIj4JCisJCTx4c2Q6Y29tcGxleENvbnRlbnQ+CisJCQk8eHNkOmV4dGVuc2lvbiBiYXNlPSJmb286dHlwZS5iYXNlLjVfMV9iIj4KKwkJCQk8eHNkOmFueUF0dHJpYnV0ZSBuYW1lc3BhY2U9IiMjb3RoZXIiIHByb2Nlc3NDb250ZW50cz0ibGF4Ii8+CQorCQkJPC94c2Q6ZXh0ZW5zaW9uPgorCQk8L3hzZDpjb21wbGV4Q29udGVudD4KKwk8L3hzZDpjb21wbGV4VHlwZT4KKwk8eHNkOmNvbXBsZXhUeXBlIG5hbWU9InR5cGUuYmFzZS41XzFfYiI+CQorCQk8eHNkOmFueUF0dHJpYnV0ZSBuYW1lc3BhY2U9IiMjbG9jYWwgIyN0YXJnZXROYW1lc3BhY2UiIHByb2Nlc3NDb250ZW50cz0ibGF4Ii8+CQorCTwveHNkOmNvbXBsZXhUeXBlPgorCisJPCEtLSA1LjIgSWYgdGhlIHNldCBTIGluY2x1ZGVzIHRoZSBuZWdhdGVkIG5hbWVzcGFjZSBuYW1lIGJ1dCBub3Qgt2Fic2VudLcsIAorCSAgdGhlbiBhIHBhaXIgb2Ygbm90IGFuZCC3YWJzZW50tyBtdXN0IGJlIHRoZSB2YWx1ZS4gLS0+CisJPHhzZDpjb21wbGV4VHlwZSBuYW1lPSJ0eXBlLjVfMl9hIj4JCisJCTx4c2Q6Y29tcGxleENvbnRlbnQ+CisJCQk8eHNkOmV4dGVuc2lvbiBiYXNlPSJmb286dHlwZS5iYXNlLjVfMl9hIj4KKwkJCQk8eHNkOmFueUF0dHJpYnV0ZSBuYW1lc3BhY2U9IiMjdGFyZ2V0TmFtZXNwYWNlIGh0dHA6Ly9CQVIiIHByb2Nlc3NDb250ZW50cz0ibGF4Ii8+CQorCQkJPC94c2Q6ZXh0ZW5zaW9uPgorCQk8L3hzZDpjb21wbGV4Q29udGVudD4KKwk8L3hzZDpjb21wbGV4VHlwZT4KKwk8eHNkOmNvbXBsZXhUeXBlIG5hbWU9InR5cGUuYmFzZS41XzJfYSI+CQorCQk8eHNkOmFueUF0dHJpYnV0ZSBuYW1lc3BhY2U9IiMjb3RoZXIiIHByb2Nlc3NDb250ZW50cz0ibGF4Ii8+CQorCTwveHNkOmNvbXBsZXhUeXBlPgorCisJPHhzZDpjb21wbGV4VHlwZSBuYW1lPSJ0eXBlLjVfMl9iIj4JCisJCTx4c2Q6Y29tcGxleENvbnRlbnQ+CisJCQk8eHNkOmV4dGVuc2lvbiBiYXNlPSJmb286dHlwZS5iYXNlLjVfMl9iIj4KKwkJCQk8eHNkOmFueUF0dHJpYnV0ZSBuYW1lc3BhY2U9IiMjb3RoZXIiIHByb2Nlc3NDb250ZW50cz0ibGF4Ii8+CQorCQkJPC94c2Q6ZXh0ZW5zaW9uPgorCQk8L3hzZDpjb21wbGV4Q29udGVudD4KKwk8L3hzZDpjb21wbGV4VHlwZT4KKwk8eHNkOmNvbXBsZXhUeXBlIG5hbWU9InR5cGUuYmFzZS41XzJfYiI+CQorCQk8eHNkOmFueUF0dHJpYnV0ZSBuYW1lc3BhY2U9IiMjdGFyZ2V0TmFtZXNwYWNlIGh0dHA6Ly9CQVIiIHByb2Nlc3NDb250ZW50cz0ibGF4Ii8+CQorCTwveHNkOmNvbXBsZXhUeXBlPgorCTwhLS0gNS4zIElmIHRoZSBzZXQgUyBpbmNsdWRlcyC3YWJzZW50tyBidXQgbm90IHRoZSBuZWdhdGVkIG5hbWVzcGFjZSBuYW1lLCAKKwkgIHRoZW4gdGhlIHVuaW9uIGlzIG5vdCBleHByZXNzaWJsZS4gLS0+CisJPCEtLQorCTx4c2Q6Y29tcGxleFR5cGUgbmFtZT0idHlwZS41XzNfYSI+CQorCQk8eHNkOmNvbXBsZXhDb250ZW50PgorCQkJPHhzZDpleHRlbnNpb24gYmFzZT0iZm9vOnR5cGUuYmFzZS41XzNfYSI+CisJCQkJPHhzZDphbnlBdHRyaWJ1dGUgbmFtZXNwYWNlPSIjI2xvY2FsIGh0dHA6Ly9CQVIiIHByb2Nlc3NDb250ZW50cz0ibGF4Ii8+CQorCQkJPC94c2Q6ZXh0ZW5zaW9uPgorCQk8L3hzZDpjb21wbGV4Q29udGVudD4KKwk8L3hzZDpjb21wbGV4VHlwZT4KKwk8eHNkOmNvbXBsZXhUeXBlIG5hbWU9InR5cGUuYmFzZS41XzNfYSI+CQorCQk8eHNkOmFueUF0dHJpYnV0ZSBuYW1lc3BhY2U9IiMjb3RoZXIiIHByb2Nlc3NDb250ZW50cz0ibGF4Ii8+CQorCTwveHNkOmNvbXBsZXhUeXBlPgorCisJPHhzZDpjb21wbGV4VHlwZSBuYW1lPSJ0eXBlLjVfM19iIj4JCisJCTx4c2Q6Y29tcGxleENvbnRlbnQ+CisJCQk8eHNkOmV4dGVuc2lvbiBiYXNlPSJmb286dHlwZS5iYXNlLjVfM19iIj4KKwkJCQk8eHNkOmFueUF0dHJpYnV0ZSBuYW1lc3BhY2U9IiMjb3RoZXIiIHByb2Nlc3NDb250ZW50cz0ibGF4Ii8+CQorCQkJPC94c2Q6ZXh0ZW5zaW9uPgorCQk8L3hzZDpjb21wbGV4Q29udGVudD4KKwk8L3hzZDpjb21wbGV4VHlwZT4KKwk8eHNkOmNvbXBsZXhUeXBlIG5hbWU9InR5cGUuYmFzZS41XzNfYiI+CQorCQk8eHNkOmFueUF0dHJpYnV0ZSBuYW1lc3BhY2U9IiMjbG9jYWwgaHR0cDovL0JBUiIgcHJvY2Vzc0NvbnRlbnRzPSJsYXgiLz4JCisJPC94c2Q6Y29tcGxleFR5cGU+CisJLS0+CisJPCEtLSA1LjQgSWYgdGhlIHNldCBTIGRvZXMgbm90IGluY2x1ZGUgZWl0aGVyIHRoZSBuZWdhdGVkIG5hbWVzcGFjZSBuYW1lIAorCQlvciC3YWJzZW50tywgdGhlbiB3aGljaGV2ZXIgb2YgTzEgb3IgTzIgaXMgYSBwYWlyIG9mIG5vdCBhbmQgYSBuYW1lc3BhY2UgCisJCW5hbWUgbXVzdCBiZSB0aGUgdmFsdWUuIC0tPgorCTx4c2Q6Y29tcGxleFR5cGUgbmFtZT0idHlwZS41XzRfYSI+CQorCQk8eHNkOmNvbXBsZXhDb250ZW50PgorCQkJPHhzZDpleHRlbnNpb24gYmFzZT0iZm9vOnR5cGUuYmFzZS41XzRfYSI+CisJCQkJPHhzZDphbnlBdHRyaWJ1dGUgbmFtZXNwYWNlPSJodHRwOi8vQkFSIiBwcm9jZXNzQ29udGVudHM9ImxheCIvPgkKKwkJCTwveHNkOmV4dGVuc2lvbj4KKwkJPC94c2Q6Y29tcGxleENvbnRlbnQ+CisJPC94c2Q6Y29tcGxleFR5cGU+CisJPHhzZDpjb21wbGV4VHlwZSBuYW1lPSJ0eXBlLmJhc2UuNV80X2EiPgkKKwkJPHhzZDphbnlBdHRyaWJ1dGUgbmFtZXNwYWNlPSIjI290aGVyIiBwcm9jZXNzQ29udGVudHM9ImxheCIvPgkKKwk8L3hzZDpjb21wbGV4VHlwZT4KKworCTx4c2Q6Y29tcGxleFR5cGUgbmFtZT0idHlwZS41XzRfYiI+CQorCQk8eHNkOmNvbXBsZXhDb250ZW50PgorCQkJPHhzZDpleHRlbnNpb24gYmFzZT0iZm9vOnR5cGUuYmFzZS41XzRfYiI+CisJCQkJPHhzZDphbnlBdHRyaWJ1dGUgbmFtZXNwYWNlPSIjI290aGVyIiBwcm9jZXNzQ29udGVudHM9ImxheCIvPgkKKwkJCTwveHNkOmV4dGVuc2lvbj4KKwkJPC94c2Q6Y29tcGxleENvbnRlbnQ+CisJPC94c2Q6Y29tcGxleFR5cGU+CisJPHhzZDpjb21wbGV4VHlwZSBuYW1lPSJ0eXBlLmJhc2UuNV80X2IiPgkKKwkJPHhzZDphbnlBdHRyaWJ1dGUgbmFtZXNwYWNlPSJodHRwOi8vQkFSIiBwcm9jZXNzQ29udGVudHM9ImxheCIvPgkKKwk8L3hzZDpjb21wbGV4VHlwZT4KKwk8IS0tIDYgSWYgZWl0aGVyIE8xIG9yIE8yIGlzIGEgcGFpciBvZiBub3QgYW5kILdhYnNlbnS3IGFuZCB0aGUgb3RoZXIgaXMgYSAKKwkgIHNldCBvZiAobmFtZXNwYWNlIG5hbWVzIG9yILdhYnNlbnS3KSAoYWdhaW4sIGNhbGwgdGhpcyBzZXQgUyksIHRoZW4gVGhlIAorCSAgYXBwcm9wcmlhdGUgY2FzZSBhbW9uZyB0aGUgZm9sbG93aW5nIG11c3QgYmUgdHJ1ZTogLS0+CisJPCEtLSA2LjEgSWYgdGhlIHNldCBTIGluY2x1ZGVzILdhYnNlbnS3LCB0aGVuIGFueSBtdXN0IGJlIHRoZSB2YWx1ZS4gLS0+CisJPHhzZDpjb21wbGV4VHlwZSBuYW1lPSJ0eXBlLjZfMSI+CQorCQk8eHNkOmNvbXBsZXhDb250ZW50PgorCQkJPHhzZDpleHRlbnNpb24gYmFzZT0iaW1wLnR5cGUuYmFzZS5kZXJpdmUuNiI+CisJCQkJPHhzZDphbnlBdHRyaWJ1dGUgbmFtZXNwYWNlPSIjI2xvY2FsIGh0dHA6Ly9CQVIiIHByb2Nlc3NDb250ZW50cz0ibGF4Ii8+CQorCQkJPC94c2Q6ZXh0ZW5zaW9uPgorCQk8L3hzZDpjb21wbGV4Q29udGVudD4KKwk8L3hzZDpjb21wbGV4VHlwZT4KKwk8IS0tIDYuMiBJZiB0aGUgc2V0IFMgZG9lcyBub3QgaW5jbHVkZSC3YWJzZW50tywgdGhlbiBhIHBhaXIgb2Ygbm90IGFuZCC3YWJzZW50tyAKKwkgIG11c3QgYmUgdGhlIHZhbHVlLiAtLT4KKwk8eHNkOmNvbXBsZXhUeXBlIG5hbWU9InR5cGUuNl8yIj4JCisJCTx4c2Q6Y29tcGxleENvbnRlbnQ+CisJCQk8eHNkOmV4dGVuc2lvbiBiYXNlPSJpbXAudHlwZS5iYXNlLmRlcml2ZS42Ij4KKwkJCQk8eHNkOmFueUF0dHJpYnV0ZSBuYW1lc3BhY2U9Imh0dHA6Ly9CQVIgaHR0cDovL0RPTyIgcHJvY2Vzc0NvbnRlbnRzPSJsYXgiLz4JCisJCQk8L3hzZDpleHRlbnNpb24+CisJCTwveHNkOmNvbXBsZXhDb250ZW50PgorCTwveHNkOmNvbXBsZXhUeXBlPgorCis8L3hzZDpzY2hlbWE+CisKKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvYW55QXR0ci1kZXJpdmUyXzAueG1sIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYW55QXR0ci1kZXJpdmUyXzAueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM5MGNiODgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbnlBdHRyLWRlcml2ZTJfMC54bWwKQEAgLTAsMCArMSw5IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJJU08tODg1OS0xIj8+Cis8IS0tIAorLS0+Cis8Zm9vIHhtbG5zPSJodHRwOi8vRk9PIiB4bWxuczpmb289Imh0dHA6Ly9GT08iICB4bWxuczpiYXI9Imh0dHA6Ly9CQVIiIHhtbG5zOmJvbz0iaHR0cDovL0JPTyIgeG1sbnM6ZG9vPSJodHRwOi8vRE9PIiAKKwl4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiAKKwl4c2k6c2NoZW1hTG9jYXRpb249Imh0dHA6Ly9GT08gYXR0ckdyb3VwLXdpbGRjYXJkMV8wLnhzZCIgCisJZm9vOmJhcj0ibyIgZG9vOmJhcj0ibyIvPgorCQorCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbnlBdHRyLWRlcml2ZTJfMC54c2QgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbnlBdHRyLWRlcml2ZTJfMC54c2QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2E3NGQ2OAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2FueUF0dHItZGVyaXZlMl8wLnhzZApAQCAtMCwwICsxLDMzIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJJU08tODg1OS0xIiA/PgorPCEtLSAKKy0tPgorPHNjaGVtYSB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIAorCXRhcmdldE5hbWVzcGFjZT0iaHR0cDovL0ZPTyIgCisJeG1sbnM6Zm9vPSJodHRwOi8vRk9PIiBlbGVtZW50Rm9ybURlZmF1bHQ9InF1YWxpZmllZCIgYXR0cmlidXRlRm9ybURlZmF1bHQ9InF1YWxpZmllZCI+CisJCisJPGVsZW1lbnQgbmFtZT0iZm9vIj4KKwkJPGNvbXBsZXhUeXBlPgorCQkJPGNvbXBsZXhDb250ZW50PgorCQkJCTxleHRlbnNpb24gYmFzZT0iZm9vOnR5cGUuQSI+CQkJCSAgCSAgCQkJCisJCQkJCTxhbnlBdHRyaWJ1dGUgbmFtZXNwYWNlPSJodHRwOi8vRE9PIiBwcm9jZXNzQ29udGVudHM9InNraXAiLz4KKwkJCQk8L2V4dGVuc2lvbj4KKwkJCTwvY29tcGxleENvbnRlbnQ+CisJCTwvY29tcGxleFR5cGU+ICAgIAorCTwvZWxlbWVudD4gIAorCisJPGNvbXBsZXhUeXBlIG5hbWU9InR5cGUuQSI+CQkKKwkJPGF0dHJpYnV0ZUdyb3VwIHJlZj0iZm9vOmF0dHJHci5BXzEiLz4KKwkJPGF0dHJpYnV0ZUdyb3VwIHJlZj0iZm9vOmF0dHJHci5BXzIiLz4KKwkJPGFueUF0dHJpYnV0ZSBuYW1lc3BhY2U9Imh0dHA6Ly9GT08iIHByb2Nlc3NDb250ZW50cz0ic2tpcCIvPgorCTwvY29tcGxleFR5cGU+CisKKwk8YXR0cmlidXRlR3JvdXAgbmFtZT0iYXR0ckdyLkFfMSI+CisJCTxhbnlBdHRyaWJ1dGUgbmFtZXNwYWNlPSJodHRwOi8vRk9PIGh0dHA6Ly9CT08iIHByb2Nlc3NDb250ZW50cz0ic2tpcCIvPgorCTwvYXR0cmlidXRlR3JvdXA+CisKKwk8YXR0cmlidXRlR3JvdXAgbmFtZT0iYXR0ckdyLkFfMiI+CisJCTxhbnlBdHRyaWJ1dGUgbmFtZXNwYWNlPSJodHRwOi8vQkFSIGh0dHA6Ly9ET08gaHR0cDovL0ZPTyIgcHJvY2Vzc0NvbnRlbnRzPSJza2lwIi8+CisJPC9hdHRyaWJ1dGVHcm91cD4KKworCis8L3NjaGVtYT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2FueUF0dHItZXJyb3JzMV8wLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2FueUF0dHItZXJyb3JzMV8wLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NjlhNWJiCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYW55QXR0ci1lcnJvcnMxXzAueG1sCkBAIC0wLDAgKzEsMjYgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IklTTy04ODU5LTEiPz4KKzxmb28KKwl4bWxucz0iaHR0cDovL0ZPTyIgCisJeG1sbnM6Zm9vPSJodHRwOi8vRk9PIiAKKwl4bWxuczpiYXI9Imh0dHA6Ly9CQVIiIAorCXhtbG5zOmltcG9ydD0iaHR0cDovL0lNUE9SVCIgCisJeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgCisJeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vRk9PIGZpbGU6Ly8vYzovZGV2L2xpYnhtbDIvcGF0Y2hlcy8yMDA0LTA1LTE3L2FueUF0dHItZXJyb3JzMV8wLnhzZCI+CisKKwk8IS0tIG5vdCBhbGxvd2VkOiBmb286YmFyQyAtLT4KKwk8YmFzaWMuQiBmb286YmFyQz0ibyIvPgorCTwhLS0gbm90IGFsbG93ZWQ6IGZvbzpiYXJDIC0tPgorCTxiYXNpYy5DIGZvbzpiYXJDPSJvIi8+CisJPCEtLSBub3QgYWxsb3dlZDogYmFyQSwgYmFyOmJhckIgLS0+CisJPGJhc2ljLkQgYmFyQT0ibyIgYmFyOmJhckI9Im8iLz4KKwk8IS0tIG5vdCBhbGxvd2VkOiBiYXI6YmFyQiAtLT4KKwk8aW50ZXJzLjJfMSBiYXJBPSJvIiBiYXI6YmFyQj0ibyIgZm9vOmJhckM9Im8iLz4KKwk8IS0tIG5vdCBhbGxvd2VkOiBiYXJBLCBmb286YmFyQyAtLT4KKwk8aW50ZXJzLjNfMSBiYXJBPSJvIiBiYXI6YmFyQj0ibyIgZm9vOmJhckM9Im8iLz4KKwk8IS0tIG5vdCBhbGxvd2VkOiBiYXI6YmFyQiAtLT4KKwk8aW50ZXJzLjRfMSBiYXJBPSJvIiBiYXI6YmFyQj0ibyIgZm9vOmJhckM9Im8iLz4KKwk8IS0tIG5vdCBhbGxvd2VkOiBiYXJBLCBmb286YmFyQyAtLT4KKwk8aW50ZXJzLjZfMSBiYXJBPSJvIiBiYXI6YmFyQj0ibyIgZm9vOmJhckM9Im8iLz4KKzwvZm9vPgorCisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2FueUF0dHItcHJvY2Vzc0NvbnRlbnRzLWVycjFfMC54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbnlBdHRyLXByb2Nlc3NDb250ZW50cy1lcnIxXzAueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEwMTIyZjQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbnlBdHRyLXByb2Nlc3NDb250ZW50cy1lcnIxXzAueG1sCkBAIC0wLDAgKzEsMTEgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IklTTy04ODU5LTEiPz4KKzxmb28KKwl4bWxucz0iaHR0cDovL0ZPTyIgCisJeG1sbnM6Zm9vPSJodHRwOi8vRk9PIiAKKwl4bWxuczpiYXI9Imh0dHA6Ly9CQVIiIAkKKwl4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiAKKwl4c2k6c2NoZW1hTG9jYXRpb249Imh0dHA6Ly9GT08gYW55QXR0ci1wcm9jZXNzQ29udGVudHMxXzAueHNkIj4KKwk8ZWxlbS5sYXggZm9vOmJhcj0ibyBvIi8+CisJPGVsZW0uc3RyaWN0IGZvbzpiYXJCPSJHQiIvPgorPC9mb28+CisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2FueUF0dHItcHJvY2Vzc0NvbnRlbnRzLWVycjFfMC54c2QgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbnlBdHRyLXByb2Nlc3NDb250ZW50cy1lcnIxXzAueHNkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNjMmEwZmQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbnlBdHRyLXByb2Nlc3NDb250ZW50cy1lcnIxXzAueHNkCkBAIC0wLDAgKzEsMjYgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IklTTy04ODU5LTEiPz4KKzx4c2Q6c2NoZW1hIHhtbG5zOmZvbz0iaHR0cDovL0ZPTyIgCisJeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgCisJZWxlbWVudEZvcm1EZWZhdWx0PSJxdWFsaWZpZWQiCisJdGFyZ2V0TmFtZXNwYWNlPSJodHRwOi8vRk9PIj4KKworCTx4c2Q6ZWxlbWVudCBuYW1lPSJmb28iPgorCQk8eHNkOmNvbXBsZXhUeXBlPgorCQkgICAgPHhzZDpzZXF1ZW5jZT4JCQkKKwkJCQk8eHNkOmVsZW1lbnQgbmFtZT0iZWxlbS5sYXgiIHR5cGU9ImZvbzp0eXBlLmxheCIvPgkJCQkKKwkJCQk8eHNkOmVsZW1lbnQgbmFtZT0iZWxlbS5zdHJpY3QiIHR5cGU9ImZvbzp0eXBlLnN0cmljdCIvPgkJCQkKKwkJCTwveHNkOnNlcXVlbmNlPgorCQk8L3hzZDpjb21wbGV4VHlwZT4KKwk8L3hzZDplbGVtZW50PgorCisJPHhzZDphdHRyaWJ1dGUgbmFtZT0iYmFyIiB0eXBlPSJ4c2Q6bGFuZ3VhZ2UiIC8+CQorCisJPHhzZDpjb21wbGV4VHlwZSBuYW1lPSJ0eXBlLmxheCI+CQkJCisJCTx4c2Q6YW55QXR0cmlidXRlIG5hbWVzcGFjZT0iIyNhbnkiIHByb2Nlc3NDb250ZW50cz0ibGF4Ii8+CQorCTwveHNkOmNvbXBsZXhUeXBlPgorCTx4c2Q6Y29tcGxleFR5cGUgbmFtZT0idHlwZS5zdHJpY3QiPgkJCQorCQk8eHNkOmFueUF0dHJpYnV0ZSBuYW1lc3BhY2U9IiMjYW55IiBwcm9jZXNzQ29udGVudHM9InN0cmljdCIvPgkKKwk8L3hzZDpjb21wbGV4VHlwZT4KKwkKKzwveHNkOnNjaGVtYT4KKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvYW55QXR0ci1wcm9jZXNzQ29udGVudHMxXzAueG1sIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYW55QXR0ci1wcm9jZXNzQ29udGVudHMxXzAueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY4MjEwODkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbnlBdHRyLXByb2Nlc3NDb250ZW50czFfMC54bWwKQEAgLTAsMCArMSwxMyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/PgorPGZvbworCXhtbG5zPSJodHRwOi8vRk9PIiAKKwl4bWxuczpmb289Imh0dHA6Ly9GT08iIAorCXhtbG5zOmJhcj0iaHR0cDovL0JBUiIgCQorCXhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIAorCXhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL0ZPTyBhbnlBdHRyLXByb2Nlc3NDb250ZW50czFfMC54c2QiPgorCTxlbGVtLmxheC5BIGZvbzpiYXJBXzE9IlBMIi8+CisJPGVsZW0ubGF4LkIgZm9vOmJhckFfMj0ibyIvPgorCTxlbGVtLnN0cmljdCBmb286YmFyQj0iRlIiLz4KKwk8ZWxlbS5za2lwIGZvbzpiYXJDPSJvIi8+Cis8L2Zvbz4KKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvYW55QXR0ci1wcm9jZXNzQ29udGVudHMxXzAueHNkIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYW55QXR0ci1wcm9jZXNzQ29udGVudHMxXzAueHNkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE0Njg3MDIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbnlBdHRyLXByb2Nlc3NDb250ZW50czFfMC54c2QKQEAgLTAsMCArMSwzMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/PgorPHhzZDpzY2hlbWEgeG1sbnM6Zm9vPSJodHRwOi8vRk9PIiAKKwl4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiAKKwllbGVtZW50Rm9ybURlZmF1bHQ9InF1YWxpZmllZCIKKwl0YXJnZXROYW1lc3BhY2U9Imh0dHA6Ly9GT08iPgorCisJPHhzZDplbGVtZW50IG5hbWU9ImZvbyI+CisJCTx4c2Q6Y29tcGxleFR5cGU+CisJCSAgICA8eHNkOnNlcXVlbmNlPgkJCQorCQkJCTx4c2Q6ZWxlbWVudCBuYW1lPSJlbGVtLmxheC5BIiB0eXBlPSJmb286dHlwZS5sYXgiLz4JCQkJCisJCQkJPHhzZDplbGVtZW50IG5hbWU9ImVsZW0ubGF4LkIiIHR5cGU9ImZvbzp0eXBlLmxheCIvPgkJCQkKKwkJCQk8eHNkOmVsZW1lbnQgbmFtZT0iZWxlbS5zdHJpY3QiIHR5cGU9ImZvbzp0eXBlLnN0cmljdCIvPgkJCQkKKwkJCQk8eHNkOmVsZW1lbnQgbmFtZT0iZWxlbS5za2lwIiB0eXBlPSJmb286dHlwZS5za2lwIi8+CQkJCQorCQkJPC94c2Q6c2VxdWVuY2U+CisJCTwveHNkOmNvbXBsZXhUeXBlPgorCTwveHNkOmVsZW1lbnQ+CisKKwk8eHNkOmF0dHJpYnV0ZSBuYW1lPSJiYXJBIiB0eXBlPSJ4c2Q6bGFuZ3VhZ2UiIC8+CisJPHhzZDphdHRyaWJ1dGUgbmFtZT0iYmFyQiIgdHlwZT0ieHNkOmxhbmd1YWdlIiAvPgorCisJPHhzZDpjb21wbGV4VHlwZSBuYW1lPSJ0eXBlLmxheCI+CQkJCisJCTx4c2Q6YW55QXR0cmlidXRlIG5hbWVzcGFjZT0iIyNhbnkiIHByb2Nlc3NDb250ZW50cz0ibGF4Ii8+CQorCTwveHNkOmNvbXBsZXhUeXBlPgorCTx4c2Q6Y29tcGxleFR5cGUgbmFtZT0idHlwZS5zdHJpY3QiPgkJCQorCQk8eHNkOmFueUF0dHJpYnV0ZSBuYW1lc3BhY2U9IiMjYW55Ii8+CQorCTwveHNkOmNvbXBsZXhUeXBlPgorCTx4c2Q6Y29tcGxleFR5cGUgbmFtZT0idHlwZS5za2lwIj4JCQkKKwkJPHhzZDphbnlBdHRyaWJ1dGUgbmFtZXNwYWNlPSIjI2FueSIgcHJvY2Vzc0NvbnRlbnRzPSJza2lwIi8+CQorCTwveHNkOmNvbXBsZXhUeXBlPgorCQorPC94c2Q6c2NoZW1hPgorCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbnlBdHRyLmltcG9ydEEuMV8wLnhzZCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2FueUF0dHIuaW1wb3J0QS4xXzAueHNkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkyZTBiYmUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbnlBdHRyLmltcG9ydEEuMV8wLnhzZApAQCAtMCwwICsxLDI0IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzx4c2Q6c2NoZW1hIHhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHRhcmdldE5hbWVzcGFjZT0iaHR0cDovL0lNUE9SVCIgCisJeG1sbnM6aW1wPSJodHRwOi8vSU1QT1JUIiB4bWxuczpib289Imh0dHA6Ly9CT08iPgorCisJPHhzZDphdHRyaWJ1dGVHcm91cCBuYW1lPSJhdHRyR3IuaW50ZXJzLjVfMSI+CisJCTx4c2Q6YW55QXR0cmlidXRlIG5hbWVzcGFjZT0iIyNvdGhlciIvPgorCTwveHNkOmF0dHJpYnV0ZUdyb3VwPgkKKworCTx4c2Q6ZWxlbWVudCBuYW1lPSJpbXAuZWxlbWVudCIvPgkJCisKKwk8eHNkOmF0dHJpYnV0ZSBuYW1lPSJpbXAuYXR0cmlidXRlIiB0eXBlPSJ4c2Q6c3RyaW5nIi8+CisKKwk8eHNkOmdyb3VwIG5hbWU9ImltcC5ncm91cCI+CisJCTx4c2Q6c2VxdWVuY2U+CisJCQk8eHNkOmVsZW1lbnQgcmVmPSJpbXA6aW1wLmVsZW1lbnQiLz4KKwkJPC94c2Q6c2VxdWVuY2U+CisJPC94c2Q6Z3JvdXA+CisKKwk8eHNkOmNvbXBsZXhUeXBlIG5hbWU9ImltcC5jb21wbGV4VHlwZSI+CisJCTx4c2Q6YXR0cmlidXRlIHJlZj0iaW1wOmltcC5hdHRyaWJ1dGUiLz4KKwk8L3hzZDpjb21wbGV4VHlwZT4KKworPC94c2Q6c2NoZW1hPgorCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbnlBdHRyLmltcG9ydEIuMV8wLnhzZCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2FueUF0dHIuaW1wb3J0Qi4xXzAueHNkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMzZWFiYTgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbnlBdHRyLmltcG9ydEIuMV8wLnhzZApAQCAtMCwwICsxLDIxIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzx4c2Q6c2NoZW1hIHhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiPgorCisJPHhzZDphdHRyaWJ1dGVHcm91cCBuYW1lPSJhdHRyR3IuaW50ZXJzLjZfMSI+CisJCTx4c2Q6YW55QXR0cmlidXRlIG5hbWVzcGFjZT0iIyNvdGhlciIvPgorCTwveHNkOmF0dHJpYnV0ZUdyb3VwPgorCisJPHhzZDpjb21wbGV4VHlwZSBuYW1lPSJpbXAudHlwZS5iYXNlLmludGVycy40XzEiPgkKKwkJPHhzZDphbnlBdHRyaWJ1dGUgbmFtZXNwYWNlPSIjI290aGVyIiBwcm9jZXNzQ29udGVudHM9ImxheCIvPgkKKwk8L3hzZDpjb21wbGV4VHlwZT4KKworCTx4c2Q6Y29tcGxleFR5cGUgbmFtZT0iaW1wLnR5cGUuYmFzZS5kZXJpdmUuNF8xIj4JCisJCTx4c2Q6YW55QXR0cmlidXRlIG5hbWVzcGFjZT0iIyNvdGhlciIgcHJvY2Vzc0NvbnRlbnRzPSJsYXgiLz4JCisJPC94c2Q6Y29tcGxleFR5cGU+CisKKwk8eHNkOmNvbXBsZXhUeXBlIG5hbWU9ImltcC50eXBlLmJhc2UuZGVyaXZlLjYiPgkKKwkJPHhzZDphbnlBdHRyaWJ1dGUgbmFtZXNwYWNlPSIjI290aGVyIiBwcm9jZXNzQ29udGVudHM9ImxheCIvPgkKKwk8L3hzZDpjb21wbGV4VHlwZT4KKworPC94c2Q6c2NoZW1hPgorCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbnlBdHRyMV8wLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2FueUF0dHIxXzAueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUwYjViMTYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbnlBdHRyMV8wLnhtbApAQCAtMCwwICsxLDMxIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJJU08tODg1OS0xIj8+Cis8Zm9vCisJeG1sbnM9Imh0dHA6Ly9GT08iIAorCXhtbG5zOmZvbz0iaHR0cDovL0ZPTyIgCisJeG1sbnM6YmFyPSJodHRwOi8vQkFSIiAKKwl4bWxuczpib289Imh0dHA6Ly9CT08iIAorCXhtbG5zOmltcG9ydD0iaHR0cDovL0lNUE9SVCIgCisJeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgCisJeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vRk9PIGFueUF0dHIxXzAueHNkIj4KKwk8aW1wb3J0OmltcC5lbGVtZW50Lz4KKwk8aW1wLmF0dHJpYnV0ZSBpbXBvcnQ6aW1wLmF0dHJpYnV0ZT0icCIvPgorCTxpbXAuZ3JvdXA+CisJCTxpbXBvcnQ6aW1wLmVsZW1lbnQvPgorCTwvaW1wLmdyb3VwPgorCTxiYXNpYy5BIGJhcjpiYXJBPSJvIi8+CisJPGJhc2ljLkIgYmFyOmJhckI9Im8iLz4KKwk8YmFzaWMuQyBiYXJDPSJvIi8+CisJPGJhc2ljLkQgZm9vOmJhckQ9Im8iLz4KKwk8YmFzaWMuRSBiYXJBPSJvIiBiYXI6YmFyQj0ibyIgZm9vOmJhckM9Im8iLz4KKwk8aW50ZXJzLjFfMSBiYXJBPSJvIiBiYXI6YmFyQj0ibyIgZm9vOmJhckM9Im8iLz4KKwk8aW50ZXJzLjFfMiBiYXI6YmFyQj0ibyIvPgorCTxpbnRlcnMuMV8zIGJhckE9Im8iIGZvbzpiYXJDPSJvIi8+CisJPGludGVycy4xXzQgYmFyQT0ibyIgYmFyOmJhckI9Im8iIGZvbzpiYXJDPSJvIi8+CisJPGludGVycy4yXzEgYmFyQT0ibyIgZm9vOmJhckM9Im8iLz4KKwk8aW50ZXJzLjNfMSBiYXI6YmFyQj0ibyIvPgorCTxpbnRlcnMuNF8xIGJhckE9Im8iIGZvbzpiYXJDPSJvIi8+CisJPCEtLWludGVycy41XzEgYmFyQT0ibyIgYmFyOmJhckI9Im8iIGZvbzpiYXJDPSJvIi8tLT4KKwk8aW50ZXJzLjZfMSBiYXI6YmFyQj0ibyIvPgorPC9mb28+CisKKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvYW55QXR0cjFfMC54c2QgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hbnlBdHRyMV8wLnhzZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZmNmODk4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYW55QXR0cjFfMC54c2QKQEAgLTAsMCArMSwxNDQgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IklTTy04ODU5LTEiPz4KKzx4c2Q6c2NoZW1hIHhtbG5zOmZvbz0iaHR0cDovL0ZPTyIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6aW1wb3J0PSJodHRwOi8vSU1QT1JUIgorCXRhcmdldE5hbWVzcGFjZT0iaHR0cDovL0ZPTyIgZWxlbWVudEZvcm1EZWZhdWx0PSJxdWFsaWZpZWQiPgorCTx4c2Q6aW1wb3J0IG5hbWVzcGFjZT0iaHR0cDovL0lNUE9SVCIgc2NoZW1hTG9jYXRpb249ImFueUF0dHIuaW1wb3J0QS4xXzAueHNkIi8+CQorCTx4c2Q6aW1wb3J0IHNjaGVtYUxvY2F0aW9uPSJhbnlBdHRyLmltcG9ydEIuMV8wLnhzZCIvPgorCTx4c2Q6ZWxlbWVudCBuYW1lPSJmb28iPgorCQk8eHNkOmNvbXBsZXhUeXBlPgorCQkgICAgPHhzZDpzZXF1ZW5jZT4KKwkJCQk8IS0tIEltcG9ydCAtLT4KKwkJCQk8eHNkOmVsZW1lbnQgcmVmPSJpbXBvcnQ6aW1wLmVsZW1lbnQiLz4JCQkJCQkJCisJCQkJPHhzZDplbGVtZW50IG5hbWU9ImltcC5hdHRyaWJ1dGUiPgorCQkJCQk8eHNkOmNvbXBsZXhUeXBlPgorCQkJCQkJPHhzZDphdHRyaWJ1dGUgcmVmPSJpbXBvcnQ6aW1wLmF0dHJpYnV0ZSIvPgorCQkJCQk8L3hzZDpjb21wbGV4VHlwZT4KKwkJCQk8L3hzZDplbGVtZW50PgkKKwkJCQk8eHNkOmVsZW1lbnQgbmFtZT0iaW1wLmdyb3VwIj4KKwkJCQkJPHhzZDpjb21wbGV4VHlwZT4KKwkJCQkJCTx4c2Q6Z3JvdXAgcmVmPSJpbXBvcnQ6aW1wLmdyb3VwIi8+CisJCQkJCTwveHNkOmNvbXBsZXhUeXBlPgorCQkJCTwveHNkOmVsZW1lbnQ+CQorCQkJCTwhLS0gQmFzaWMgLS0+CisJCQkJPHhzZDplbGVtZW50IG5hbWU9ImJhc2ljLkEiIHR5cGU9ImZvbzp0eXBlLmJhc2ljLkEiLz4KKwkJCQk8eHNkOmVsZW1lbnQgbmFtZT0iYmFzaWMuQiIgdHlwZT0iZm9vOnR5cGUuYmFzaWMuQiIvPgorCQkJCTx4c2Q6ZWxlbWVudCBuYW1lPSJiYXNpYy5DIiB0eXBlPSJmb286dHlwZS5iYXNpYy5DIi8+CisJCQkJPHhzZDplbGVtZW50IG5hbWU9ImJhc2ljLkQiIHR5cGU9ImZvbzp0eXBlLmJhc2ljLkQiLz4KKwkJCQk8eHNkOmVsZW1lbnQgbmFtZT0iYmFzaWMuRSIgdHlwZT0iZm9vOnR5cGUuYmFzaWMuRSIvPgorCQkJCTwhLS0gQXR0cmlidXRlIFdpbGRjYXJkIEludGVyc2VjdGlvbiAtLT4KKwkJCQk8eHNkOmVsZW1lbnQgbmFtZT0iaW50ZXJzLjFfMSIgdHlwZT0iZm9vOnR5cGUuaW50ZXJzLjFfMSIvPgorCQkJCTx4c2Q6ZWxlbWVudCBuYW1lPSJpbnRlcnMuMV8yIiB0eXBlPSJmb286dHlwZS5pbnRlcnMuMV8yIi8+CisJCQkJPHhzZDplbGVtZW50IG5hbWU9ImludGVycy4xXzMiIHR5cGU9ImZvbzp0eXBlLmludGVycy4xXzMiLz4KKwkJCQk8eHNkOmVsZW1lbnQgbmFtZT0iaW50ZXJzLjFfNCIgdHlwZT0iZm9vOnR5cGUuaW50ZXJzLjFfNCIvPgorCisJCQkJPHhzZDplbGVtZW50IG5hbWU9ImludGVycy4yXzEiIHR5cGU9ImZvbzp0eXBlLmludGVycy4yXzEiLz4KKworCQkJCTx4c2Q6ZWxlbWVudCBuYW1lPSJpbnRlcnMuM18xIiB0eXBlPSJmb286dHlwZS5pbnRlcnMuM18xIi8+CisKKwkJCQk8eHNkOmVsZW1lbnQgbmFtZT0iaW50ZXJzLjRfMSIgdHlwZT0iZm9vOnR5cGUuaW50ZXJzLjRfMSIvPgorCisJCQkJPCEtLXhzZDplbGVtZW50IG5hbWU9ImludGVycy41XzEiIHR5cGU9InR5cGUuaW50ZXJzLjVfMSIvLS0+CisJCQkJPHhzZDplbGVtZW50IG5hbWU9ImludGVycy42XzEiIHR5cGU9ImZvbzp0eXBlLmludGVycy42XzEiLz4KKwkJCTwveHNkOnNlcXVlbmNlPgorCQk8L3hzZDpjb21wbGV4VHlwZT4KKwk8L3hzZDplbGVtZW50PgorCQorCTwhLS0gQmFzaWMgLS0+CisJPHhzZDpjb21wbGV4VHlwZSBuYW1lPSJ0eXBlLmJhc2ljLkEiPgkJCQkKKwkJPHhzZDphbnlBdHRyaWJ1dGUgbmFtZXNwYWNlPSIjI2FueSIgcHJvY2Vzc0NvbnRlbnRzPSJsYXgiLz4JCisJPC94c2Q6Y29tcGxleFR5cGU+CisJPHhzZDpjb21wbGV4VHlwZSBuYW1lPSJ0eXBlLmJhc2ljLkIiPgkJCQkKKwkJPHhzZDphbnlBdHRyaWJ1dGUgbmFtZXNwYWNlPSIjI290aGVyIiBwcm9jZXNzQ29udGVudHM9ImxheCIvPgkKKwk8L3hzZDpjb21wbGV4VHlwZT4KKwk8eHNkOmNvbXBsZXhUeXBlIG5hbWU9InR5cGUuYmFzaWMuQyI+CQkJCQorCQk8eHNkOmFueUF0dHJpYnV0ZSBuYW1lc3BhY2U9IiMjbG9jYWwiIHByb2Nlc3NDb250ZW50cz0ibGF4Ii8+CQorCTwveHNkOmNvbXBsZXhUeXBlPgorCTx4c2Q6Y29tcGxleFR5cGUgbmFtZT0idHlwZS5iYXNpYy5EIj4JCQkJCisJCTx4c2Q6YW55QXR0cmlidXRlIG5hbWVzcGFjZT0iIyN0YXJnZXROYW1lc3BhY2UiIHByb2Nlc3NDb250ZW50cz0ibGF4Ii8+CQorCTwveHNkOmNvbXBsZXhUeXBlPgorCTx4c2Q6Y29tcGxleFR5cGUgbmFtZT0idHlwZS5iYXNpYy5FIj4JCQkJCisJCTx4c2Q6YW55QXR0cmlidXRlIG5hbWVzcGFjZT0iIyN0YXJnZXROYW1lc3BhY2UgIyNsb2NhbCBodHRwOi8vQkFSIiBwcm9jZXNzQ29udGVudHM9ImxheCIvPgkKKwk8L3hzZDpjb21wbGV4VHlwZT4KKwk8IS0tIEF0dHJpYnV0ZSBXaWxkY2FyZCBJbnRlcnNlY3Rpb24gLS0+CisKKwk8IS0tIDEuIElmIE8xIGFuZCBPMiBhcmUgdGhlIHNhbWUgdmFsdWUsIHRoZW4gdGhhdCB2YWx1ZSBtdXN0IGJlIHRoZSB2YWx1ZS4gLS0+CisJPHhzZDpjb21wbGV4VHlwZSBuYW1lPSJ0eXBlLmludGVycy4xXzEiPgkKKwkJPHhzZDphdHRyaWJ1dGVHcm91cCByZWY9ImZvbzphdHRyR3IuaW50ZXJzLjFfMSIvPgkJCQorCQk8eHNkOmFueUF0dHJpYnV0ZSBuYW1lc3BhY2U9IiMjYW55IiBwcm9jZXNzQ29udGVudHM9ImxheCIvPgkKKwk8L3hzZDpjb21wbGV4VHlwZT4KKwk8eHNkOmF0dHJpYnV0ZUdyb3VwIG5hbWU9ImF0dHJHci5pbnRlcnMuMV8xIj4KKwkJPHhzZDphbnlBdHRyaWJ1dGUgbmFtZXNwYWNlPSIjI2FueSIvPgorCTwveHNkOmF0dHJpYnV0ZUdyb3VwPgorCTx4c2Q6Y29tcGxleFR5cGUgbmFtZT0idHlwZS5pbnRlcnMuMV8yIj4JCisJCTx4c2Q6YXR0cmlidXRlR3JvdXAgcmVmPSJmb286YXR0ckdyLmludGVycy4xXzIiLz4JCQkKKwkJPHhzZDphbnlBdHRyaWJ1dGUgbmFtZXNwYWNlPSIjI290aGVyIiBwcm9jZXNzQ29udGVudHM9ImxheCIvPgkKKwk8L3hzZDpjb21wbGV4VHlwZT4KKwk8eHNkOmF0dHJpYnV0ZUdyb3VwIG5hbWU9ImF0dHJHci5pbnRlcnMuMV8yIj4KKwkJPHhzZDphbnlBdHRyaWJ1dGUgbmFtZXNwYWNlPSIjI290aGVyIi8+CisJPC94c2Q6YXR0cmlidXRlR3JvdXA+CisJPHhzZDpjb21wbGV4VHlwZSBuYW1lPSJ0eXBlLmludGVycy4xXzMiPgkKKwkJPHhzZDphdHRyaWJ1dGVHcm91cCByZWY9ImZvbzphdHRyR3IuaW50ZXJzLjFfMyIvPgkJCQorCQk8eHNkOmFueUF0dHJpYnV0ZSBuYW1lc3BhY2U9IiMjbG9jYWwgIyN0YXJnZXROYW1lc3BhY2UiIHByb2Nlc3NDb250ZW50cz0ibGF4Ii8+CQorCTwveHNkOmNvbXBsZXhUeXBlPgorCTx4c2Q6YXR0cmlidXRlR3JvdXAgbmFtZT0iYXR0ckdyLmludGVycy4xXzMiPgorCQk8eHNkOmFueUF0dHJpYnV0ZSBuYW1lc3BhY2U9IiMjbG9jYWwgICMjdGFyZ2V0TmFtZXNwYWNlIi8+CisJPC94c2Q6YXR0cmlidXRlR3JvdXA+CisJPHhzZDpjb21wbGV4VHlwZSBuYW1lPSJ0eXBlLmludGVycy4xXzQiPgkKKwkJPHhzZDphdHRyaWJ1dGVHcm91cCByZWY9ImZvbzphdHRyR3IuaW50ZXJzLjFfNCIvPgkJCQorCQk8eHNkOmFueUF0dHJpYnV0ZSBuYW1lc3BhY2U9IiMjbG9jYWwgaHR0cDovL0JBUiAgICMjdGFyZ2V0TmFtZXNwYWNlICIgcHJvY2Vzc0NvbnRlbnRzPSJsYXgiLz4JCisJPC94c2Q6Y29tcGxleFR5cGU+CisJPHhzZDphdHRyaWJ1dGVHcm91cCBuYW1lPSJhdHRyR3IuaW50ZXJzLjFfNCI+CisJCTx4c2Q6YW55QXR0cmlidXRlIG5hbWVzcGFjZT0iICAjI3RhcmdldE5hbWVzcGFjZSAgaHR0cDovL0JBUiAjI2xvY2FsIi8+CisJPC94c2Q6YXR0cmlidXRlR3JvdXA+CisKKwk8IS0tIDIuIElmIGVpdGhlciBPMSBvciBPMiBpcyBhbnksIHRoZW4gdGhlIG90aGVyIG11c3QgYmUgdGhlIHZhbHVlLiAtLT4KKwk8eHNkOmNvbXBsZXhUeXBlIG5hbWU9InR5cGUuaW50ZXJzLjJfMSI+CQorCQk8eHNkOmF0dHJpYnV0ZUdyb3VwIHJlZj0iZm9vOmF0dHJHci5pbnRlcnMuMl8xIi8+CQkJCisJCTx4c2Q6YW55QXR0cmlidXRlIG5hbWVzcGFjZT0iIyNhbnkiIHByb2Nlc3NDb250ZW50cz0ibGF4Ii8+CQorCTwveHNkOmNvbXBsZXhUeXBlPgorCTx4c2Q6YXR0cmlidXRlR3JvdXAgbmFtZT0iYXR0ckdyLmludGVycy4yXzEiPgorCQk8eHNkOmFueUF0dHJpYnV0ZSBuYW1lc3BhY2U9IiMjbG9jYWwgIyN0YXJnZXROYW1lc3BhY2UiLz4KKwk8L3hzZDphdHRyaWJ1dGVHcm91cD4KKwk8IS0tIDMuIElmIGVpdGhlciBPMSBvciBPMiBpcyBhIHBhaXIgb2Ygbm90IGFuZCBhIHZhbHVlIChhIG5hbWVzcGFjZSBuYW1lIG9yILdhYnNlbnS3KSAKKwkgIGFuZCB0aGUgb3RoZXIgaXMgYSBzZXQgb2YgKG5hbWVzcGFjZSBuYW1lcyBvciC3YWJzZW50tyksIHRoZW4gdGhhdCBzZXQsIG1pbnVzIHRoZSAKKwkgIG5lZ2F0ZWQgdmFsdWUgaWYgaXQgd2FzIGluIHRoZSBzZXQsIG1pbnVzILdhYnNlbnS3IGlmIGl0IHdhcyBpbiB0aGUgc2V0LCBtdXN0IGJlIHRoZSB2YWx1ZS4gLS0+CisJPHhzZDpjb21wbGV4VHlwZSBuYW1lPSJ0eXBlLmludGVycy4zXzEiPgkKKwkJPHhzZDphdHRyaWJ1dGVHcm91cCByZWY9ImZvbzphdHRyR3IuaW50ZXJzLjNfMSIvPgkJCQorCQk8eHNkOmFueUF0dHJpYnV0ZSBuYW1lc3BhY2U9IiMjb3RoZXIiIHByb2Nlc3NDb250ZW50cz0ibGF4Ii8+CQorCTwveHNkOmNvbXBsZXhUeXBlPgorCTx4c2Q6YXR0cmlidXRlR3JvdXAgbmFtZT0iYXR0ckdyLmludGVycy4zXzEiPgorCQk8eHNkOmFueUF0dHJpYnV0ZSBuYW1lc3BhY2U9IiMjbG9jYWwgIyN0YXJnZXROYW1lc3BhY2UgaHR0cDovL0JBUiIvPgorCTwveHNkOmF0dHJpYnV0ZUdyb3VwPgorCTwhLS0gNC4gSWYgYm90aCBPMSBhbmQgTzIgYXJlIHNldHMgb2YgKG5hbWVzcGFjZSBuYW1lcyBvciC3YWJzZW50tyksIHRoZW4gdGhlIAorCSAgaW50ZXJzZWN0aW9uIG9mIHRob3NlIHNldHMgbXVzdCBiZSB0aGUgdmFsdWUuIC0tPgorCTx4c2Q6Y29tcGxleFR5cGUgbmFtZT0idHlwZS5pbnRlcnMuNF8xIj4JCisJCTx4c2Q6YXR0cmlidXRlR3JvdXAgcmVmPSJmb286YXR0ckdyLmludGVycy40XzEiLz4JCQkKKwkJPHhzZDphbnlBdHRyaWJ1dGUgbmFtZXNwYWNlPSIjI2xvY2FsICMjdGFyZ2V0TmFtZXNwYWNlIGh0dHA6Ly9CQVIiIHByb2Nlc3NDb250ZW50cz0ibGF4Ii8+CQorCTwveHNkOmNvbXBsZXhUeXBlPgorCTx4c2Q6YXR0cmlidXRlR3JvdXAgbmFtZT0iYXR0ckdyLmludGVycy40XzEiPgorCQk8eHNkOmFueUF0dHJpYnV0ZSBuYW1lc3BhY2U9IiMjbG9jYWwgIyN0YXJnZXROYW1lc3BhY2UiLz4KKwk8L3hzZDphdHRyaWJ1dGVHcm91cD4KKwk8IS0tIDUuIElmIHRoZSB0d28gYXJlIG5lZ2F0aW9ucyBvZiBkaWZmZXJlbnQgbmFtZXNwYWNlIG5hbWVzLCAKKwkgIHRoZW4gdGhlIGludGVyc2VjdGlvbiBpcyBub3QgZXhwcmVzc2libGUuIC0tPgorCSAgPCEtLQorCTx4c2Q6Y29tcGxleFR5cGUgbmFtZT0idHlwZS5pbnRlcnMuNV8xIj4JCisJCTx4c2Q6YXR0cmlidXRlR3JvdXAgcmVmPSJpbXBvcnQ6YXR0ckdyLmludGVycy41XzEiLz4JCQkKKwkJPHhzZDphbnlBdHRyaWJ1dGUgbmFtZXNwYWNlPSIjI290aGVyIiBwcm9jZXNzQ29udGVudHM9ImxheCIvPgkKKwk8L3hzZDpjb21wbGV4VHlwZT4KKwktLT4KKwk8IS0tNi4gSWYgdGhlIG9uZSBpcyBhIG5lZ2F0aW9uIG9mIGEgbmFtZXNwYWNlIG5hbWUgYW5kIHRoZSBvdGhlciBpcyBhIG5lZ2F0aW9uIG9mILdhYnNlbnS3LCAKKwkgIHRoZW4gdGhlIG9uZSB3aGljaCBpcyB0aGUgbmVnYXRpb24gb2YgYSBuYW1lc3BhY2UgbmFtZSBtdXN0IGJlIHRoZSB2YWx1ZS4gCisKKwkgIFRoaXMgb25lIHVzZXMgYW4gYXR0cmlidXRlIGdyb3VwIGZyb20gYW4gaW1wb3J0ZWQgc2NoZW1hIHdpdGggbm8gdGFyZ2V0TmFtZXNwYWNlLgorCS0tPgorCTx4c2Q6Y29tcGxleFR5cGUgbmFtZT0idHlwZS5pbnRlcnMuNl8xIj4JCisJCTx4c2Q6YXR0cmlidXRlR3JvdXAgcmVmPSJhdHRyR3IuaW50ZXJzLjZfMSIvPgkJCQorCQk8eHNkOmFueUF0dHJpYnV0ZSBuYW1lc3BhY2U9IiMjb3RoZXIiIHByb2Nlc3NDb250ZW50cz0ibGF4Ii8+CQorCTwveHNkOmNvbXBsZXhUeXBlPgorCisJPHhzZDphdHRyaWJ1dGVHcm91cCBuYW1lPSJhdHRyR3JBIj4KKwkJPHhzZDphbnlBdHRyaWJ1dGUgbmFtZXNwYWNlPSIjI3RhcmdldE5hbWVzcGFjZSIvPgorCTwveHNkOmF0dHJpYnV0ZUdyb3VwPiAKKworPC94c2Q6c2NoZW1hPgorCisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2F0dHIwXzAueG1sIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYXR0cjBfMC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2I1YjFhNgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2F0dHIwXzAueG1sCkBAIC0wLDAgKzEgQEAKKzxmb28gaWQ9ImFiYyIvPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvYXR0cjBfMC54c2QgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hdHRyMF8wLnhzZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMjAzMWJhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYXR0cjBfMC54c2QKQEAgLTAsMCArMSwxMyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8eHNkOnNjaGVtYSB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIj4KKyAgPHhzZDplbGVtZW50IG5hbWU9ImZvbyI+CisgICAgPHhzZDpjb21wbGV4VHlwZT4KKyAgICAgIDx4c2Q6c2ltcGxlQ29udGVudD4KKyAgICAgICAgPHhzZDpleHRlbnNpb24gYmFzZT0ieHNkOnN0cmluZyI+CisgICAgICAgICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0iaWQiIHR5cGU9InhzZDpJRCIvPgorICAgICAgICA8L3hzZDpleHRlbnNpb24+CisgICAgICA8L3hzZDpzaW1wbGVDb250ZW50PgorICAgIDwveHNkOmNvbXBsZXhUeXBlPgorICA8L3hzZDplbGVtZW50PgorPC94c2Q6c2NoZW1hPgorCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hdHRydXNlXzBfMC54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hdHRydXNlXzBfMC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjQxYWIyNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2F0dHJ1c2VfMF8wLnhtbApAQCAtMCwwICsxLDggQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IklTTy04ODU5LTEiID8+Cis8Zm9vPgorICA8YmFyQSBhdHRyPSJiYXIiLz4KKyAgPGJhckIgYXR0cj0iYmFyIi8+CisgIDxiYXJCIC8+CisgIDxiYXJDLz4KKzwvZm9vPgorCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hdHRydXNlXzBfMC54c2QgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hdHRydXNlXzBfMC54c2QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmM5Y2NlZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2F0dHJ1c2VfMF8wLnhzZApAQCAtMCwwICsxLDMyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJJU08tODg1OS0xIiA/PgorCis8eHM6c2NoZW1hIHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+CisKKyAgPHhzOmVsZW1lbnQgbmFtZT0iZm9vIj4KKyAgICA8eHM6Y29tcGxleFR5cGU+CisgICAgICAgIDx4czpjaG9pY2UgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCI+CisgICAgICAgIAorICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9ImJhckEiICA+CisgICAgICAgICAgICA8eHM6Y29tcGxleFR5cGU+ICAgICAgICAgICAgCisgICAgICAgICAgICAgIDx4czphdHRyaWJ1dGUgbmFtZT0iYXR0ciIgdHlwZT0ieHM6c3RyaW5nIiB1c2U9InJlcXVpcmVkIiAvPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgIDwveHM6Y29tcGxleFR5cGU+CisgICAgICAgICAgPC94czplbGVtZW50PgorICAgICAgICAgIAorICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9ImJhckIiID4KKyAgICAgICAgICAgIDx4czpjb21wbGV4VHlwZT4KKyAgICAgICAgICAgICAgPHhzOmF0dHJpYnV0ZSBuYW1lPSJhdHRyIiB0eXBlPSJ4czpzdHJpbmciIHVzZT0ib3B0aW9uYWwiIC8+CisgICAgICAgICAgICA8L3hzOmNvbXBsZXhUeXBlPiAgCisgICAgICAgICAgPC94czplbGVtZW50PgorICAgICAgICAgIAorICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9ImJhckMiID4KKyAgICAgICAgICAgIDx4czpjb21wbGV4VHlwZT4KKyAgICAgICAgICAgICAgPHhzOmF0dHJpYnV0ZSBuYW1lPSJhdHRyIiB0eXBlPSJ4czpzdHJpbmciIHVzZT0icHJvaGliaXRlZCIgLz4KKyAgICAgICAgICAgIDwveHM6Y29tcGxleFR5cGU+ICAKKyAgICAgICAgICA8L3hzOmVsZW1lbnQ+CisgICAgICAgICAgCisgICAgICAgIDwveHM6Y2hvaWNlPgorICAgIDwveHM6Y29tcGxleFR5cGU+CisgIDwveHM6ZWxlbWVudD4KKworPC94czpzY2hlbWE+CisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2F0dHJ1c2VfMF8xLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2F0dHJ1c2VfMF8xLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iODU3YzZkCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYXR0cnVzZV8wXzEueG1sCkBAIC0wLDAgKzEsOCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSIgPz4KKzxmb28+CisgIDxiYXJBIC8+CisgIDxiYXJCIGF0dHI9ImJhciIvPgorICA8YmFyQiAvPgorICA8YmFyQy8+Cis8L2Zvbz4KKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvYXR0cnVzZV8wXzIueG1sIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYXR0cnVzZV8wXzIueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY1NWNjZGMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9hdHRydXNlXzBfMi54bWwKQEAgLTAsMCArMSw4IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJJU08tODg1OS0xIiA/PgorPGZvbz4KKyAgPGJhckEgYXR0cj0iYmFyIiAvPgorICA8YmFyQiBhdHRyPSJiYXIiLz4KKyAgPGJhckIgLz4KKyAgPGJhckMgYXR0cj0iYmFyIiAvPgorPC9mb28+CisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2J1ZzE0MTMxMl8wLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2J1ZzE0MTMxMl8wLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZDdhYmIxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYnVnMTQxMzEyXzAueG1sCkBAIC0wLDAgKzEsMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/PgorPGZvbyB4bWxucz0iaHR0cDovL0ZPTyI+bGFsYWxhPC9mb28+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9idWcxNDEzMTJfMC54c2QgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9idWcxNDEzMTJfMC54c2QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzlhN2UyYwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2J1ZzE0MTMxMl8wLnhzZApAQCAtMCwwICsxLDE2IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJJU08tODg1OS0xIj8+Cis8c2NoZW1hIAorICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIAorICB0YXJnZXROYW1lc3BhY2U9Imh0dHA6Ly9GT08iCisgIHhtbG5zOmZvbz0iaHR0cDovL0ZPTyI+CisgIAorCTxlbGVtZW50IG5hbWU9ImZvbyIgdHlwZT0iZm9vOmZvb1R5cGUiIG5pbGxhYmxlPSJmYWxzZSIgLz4KKwkKKwk8Y29tcGxleFR5cGUgbmFtZT0iZm9vVHlwZSIgbWl4ZWQ9InRydWUiPgorCQk8c2ltcGxlQ29udGVudD4KKwkJCTxleHRlbnNpb24gYmFzZT0ic3RyaW5nIiAvPgorCQk8L3NpbXBsZUNvbnRlbnQ+CisJPC9jb21wbGV4VHlwZT4KKwkKKzwvc2NoZW1hPgorCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9idWcxNDEzMzMueG1sIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYnVnMTQxMzMzLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMTRhYTQ2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYnVnMTQxMzMzLnhtbApAQCAtMCwwICsxLDkgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IklTTy04ODU5LTEiPz4KKzxmb28gCisgIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIAorICB4c2k6bm9OYW1lc3BhY2VTY2hlbWFMb2NhdGlvbj0iYnVnMTQxMzMzLnhzZCIgYXR0ckE9InZhbHVlQSI+CisKKwk8YmFyIGF0dHJBPSJ2YWx1ZUEiIGF0dHJCPSJ2YWx1ZUIiLz4KKworPC9mb28+CisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2J1ZzE0MTMzMy54c2QgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9idWcxNDEzMzMueHNkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFiODFhN2IKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9idWcxNDEzMzMueHNkCkBAIC0wLDAgKzEsMjUgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IklTTy04ODU5LTEiPz4KKzx4czpzY2hlbWEgeG1sbnM6eHM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiBlbGVtZW50Rm9ybURlZmF1bHQ9InVucXVhbGlmaWVkIj4KKworCTx4czplbGVtZW50IG5hbWU9ImZvbyIgdHlwZT0iYmFzZVR5cGUiLz4KKworCTx4czpjb21wbGV4VHlwZSBuYW1lPSJiYXNlVHlwZSI+CisJCTx4czphbGw+CisJCQk8eHM6ZWxlbWVudCBuYW1lPSJiYXIiIHR5cGU9ImRlcml2ZWRUeXBlIiBtaW5PY2N1cnM9IjAiLz4KKwkJPC94czphbGw+CisJCTx4czphdHRyaWJ1dGUgbmFtZT0iYXR0ckEiIHR5cGU9InhzOnN0cmluZyIgdXNlPSJyZXF1aXJlZCIvPgorCTwveHM6Y29tcGxleFR5cGU+CisKKwk8eHM6Y29tcGxleFR5cGUgbmFtZT0iZGVyaXZlZFR5cGUiPgorCQk8eHM6Y29tcGxleENvbnRlbnQ+CisJCQk8eHM6ZXh0ZW5zaW9uIGJhc2U9ImJhc2VUeXBlIj4KKwkJCQk8eHM6YXR0cmlidXRlIG5hbWU9ImF0dHJCIiB0eXBlPSJ4czpzdHJpbmciIHVzZT0icmVxdWlyZWQiLz4KKwkJCTwveHM6ZXh0ZW5zaW9uPgorCQk8L3hzOmNvbXBsZXhDb250ZW50PgorCTwveHM6Y29tcGxleFR5cGU+CisJCis8L3hzOnNjaGVtYT4KKworCisKKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvYnVnMTQxMzMzXzAueG1sIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYnVnMTQxMzMzXzAueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUxNGFhNDYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9idWcxNDEzMzNfMC54bWwKQEAgLTAsMCArMSw5IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJJU08tODg1OS0xIj8+Cis8Zm9vIAorICB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiAKKyAgeHNpOm5vTmFtZXNwYWNlU2NoZW1hTG9jYXRpb249ImJ1ZzE0MTMzMy54c2QiIGF0dHJBPSJ2YWx1ZUEiPgorCisJPGJhciBhdHRyQT0idmFsdWVBIiBhdHRyQj0idmFsdWVCIi8+CisKKzwvZm9vPgorCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9idWcxNDEzMzNfMC54c2QgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9idWcxNDEzMzNfMC54c2QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWI4MWE3YgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2J1ZzE0MTMzM18wLnhzZApAQCAtMCwwICsxLDI1IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJJU08tODg1OS0xIj8+Cis8eHM6c2NoZW1hIHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgZWxlbWVudEZvcm1EZWZhdWx0PSJ1bnF1YWxpZmllZCI+CisKKwk8eHM6ZWxlbWVudCBuYW1lPSJmb28iIHR5cGU9ImJhc2VUeXBlIi8+CisKKwk8eHM6Y29tcGxleFR5cGUgbmFtZT0iYmFzZVR5cGUiPgorCQk8eHM6YWxsPgorCQkJPHhzOmVsZW1lbnQgbmFtZT0iYmFyIiB0eXBlPSJkZXJpdmVkVHlwZSIgbWluT2NjdXJzPSIwIi8+CisJCTwveHM6YWxsPgorCQk8eHM6YXR0cmlidXRlIG5hbWU9ImF0dHJBIiB0eXBlPSJ4czpzdHJpbmciIHVzZT0icmVxdWlyZWQiLz4KKwk8L3hzOmNvbXBsZXhUeXBlPgorCisJPHhzOmNvbXBsZXhUeXBlIG5hbWU9ImRlcml2ZWRUeXBlIj4KKwkJPHhzOmNvbXBsZXhDb250ZW50PgorCQkJPHhzOmV4dGVuc2lvbiBiYXNlPSJiYXNlVHlwZSI+CisJCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJhdHRyQiIgdHlwZT0ieHM6c3RyaW5nIiB1c2U9InJlcXVpcmVkIi8+CisJCQk8L3hzOmV4dGVuc2lvbj4KKwkJPC94czpjb21wbGV4Q29udGVudD4KKwk8L3hzOmNvbXBsZXhUeXBlPgorCQorPC94czpzY2hlbWE+CisKKworCisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2J1ZzE0Mzk1MS5pbXAgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9idWcxNDM5NTEuaW1wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU4NDIwZDMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9idWcxNDM5NTEuaW1wCkBAIC0wLDAgKzEsMTIgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IklTTy04ODU5LTEiID8+Cis8eHM6c2NoZW1hIHRhcmdldE5hbWVzcGFjZT0iaHR0cDovL3d3dy5uZXdwb3J0LW5ldHdvcmtzLmNvbS9OTkwiIAoreG1sbnM6bm5sPSJodHRwOi8vd3d3Lm5ld3BvcnQtbmV0d29ya3MuY29tL05OTCIgCit4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIGVsZW1lbnRGb3JtRGVmYXVsdD0icXVhbGlmaWVkIiAKK2F0dHJpYnV0ZUZvcm1EZWZhdWx0PSJ1bnF1YWxpZmllZCIgdmVyc2lvbj0iMS4wMCI+CisJPHhzOmdyb3VwIG5hbWU9InNjaGVtYTJncm91cCI+CisJCTx4czpzZXF1ZW5jZT4KKwkJCTx4czplbGVtZW50IG5hbWU9ImZpbGUiIHR5cGU9InhzOnN0cmluZyIgCitkZWZhdWx0PSIkRmlsZSQiLz4KKwkJPC94czpzZXF1ZW5jZT4KKwk8L3hzOmdyb3VwPgorPC94czpzY2hlbWE+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9idWcxNDM5NTFfMC54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9idWcxNDM5NTFfMC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTc0MmEwZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2J1ZzE0Mzk1MV8wLnhtbApAQCAtMCwwICsxLDkgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IklTTy04ODU5LTEiPz4KKzxNZW51RGVmaW5pdGlvbkZpbGUgeG1sbnM6bm5sPSJodHRwOi8vd3d3Lm5ld3BvcnQtbmV0d29ya3MuY29tL05OTCIgCit4bWxucz0iaHR0cDovL3d3dy5uZXdwb3J0LW5ldHdvcmtzLmNvbS9jbGkiICAKK3htbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIAoreHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vd3d3Lm5ld3BvcnQtbmV0d29ya3MuY29tL2NsaSBidWcxNDM5NTFfMC54c2QiPgorCTxubmw6ZmlsZT4kRmlsZTogLy9kZXBvdC9OTkwvUjEuMF9TYW5kTV9EZXYvUHJvamVjdHMvU2FuZE0vc3JjL3Vpc3VwcG9ydAorL3htbC9jbGlUZXN0Q29tbWFuZHMueG1sICQ8L25ubDpmaWxlPgorPC9NZW51RGVmaW5pdGlvbkZpbGU+CisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2J1ZzE0Mzk1MV8wLnhzZCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2J1ZzE0Mzk1MV8wLnhzZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNWM5NTExCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYnVnMTQzOTUxXzAueHNkCkBAIC0wLDAgKzEsMTcgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IklTTy04ODU5LTEiID8+Cis8eHM6c2NoZW1hIHRhcmdldE5hbWVzcGFjZT0iaHR0cDovL3d3dy5uZXdwb3J0LW5ldHdvcmtzLmNvbS9jbGkiIAorCXhtbG5zOm5ubD0iaHR0cDovL3d3dy5uZXdwb3J0LW5ldHdvcmtzLmNvbS9OTkwiIAorCXhtbG5zOmNsaT0iaHR0cDovL3d3dy5uZXdwb3J0LW5ldHdvcmtzLmNvbS9jbGkiIAorCXhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgCisJZWxlbWVudEZvcm1EZWZhdWx0PSJxdWFsaWZpZWQiIGF0dHJpYnV0ZUZvcm1EZWZhdWx0PSJ1bnF1YWxpZmllZCIgCisJdmVyc2lvbj0iMS4wMCI+CisJPHhzOmltcG9ydCBuYW1lc3BhY2U9Imh0dHA6Ly93d3cubmV3cG9ydC1uZXR3b3Jrcy5jb20vTk5MIiBzY2hlbWFMb2NhdGlvbj0iYnVnMTQzOTUxLmltcCIvPgorCTx4czplbGVtZW50IG5hbWU9Ik1lbnVEZWZpbml0aW9uRmlsZSI+CisJCTx4czpjb21wbGV4VHlwZT4KKwkJCTx4czpzZXF1ZW5jZT4KKwkJCQk8eHM6Z3JvdXAgcmVmPSJubmw6c2NoZW1hMmdyb3VwIi8+CisJCQk8L3hzOnNlcXVlbmNlPgorCQk8L3hzOmNvbXBsZXhUeXBlPgorCTwveHM6ZWxlbWVudD4KKzwveHM6c2NoZW1hPgorCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9idWcxNDUyNDYueHNkLmltcCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2J1ZzE0NTI0Ni54c2QuaW1wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdkOTJlMWMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9idWcxNDUyNDYueHNkLmltcApAQCAtMCwwICsxLDExOSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzx4czpzY2hlbWEgeG1sbnM6eHM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIgorICAgICAgICAgICB4bWxucz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCisgICAgICAgICAgIHRhcmdldE5hbWVzcGFjZT0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCisgICAgICAgICAgIGVsZW1lbnRGb3JtRGVmYXVsdD0icXVhbGlmaWVkIgorICAgICAgICAgICBhdHRyaWJ1dGVGb3JtRGVmYXVsdD0idW5xdWFsaWZpZWQiPgorCisgIDx4czphbm5vdGF0aW9uPgorICAgIDx4czpkb2N1bWVudGF0aW9uIHhtbDpsYW5nPSJlbiI+CisgICAgICBEQ01FUyAxLjEgWE1MIFNjaGVtYQorICAgICAgWE1MIFNjaGVtYSBmb3IgaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8gbmFtZXNwYWNlCisKKyAgICAgIENyZWF0ZWQgMjAwMy0wNC0wMgorCisgICAgICBDcmVhdGVkIGJ5IAorCisgICAgICBUaW0gQ29sZSAodC1jb2xlM0B1aXVjLmVkdSkKKyAgICAgIFRvbSBIYWJpbmcgKHRoYWJpbmdAdWl1Yy5lZHUpCisgICAgICBKYW5lIEh1bnRlciAoamFuZUBkc3RjLmVkdS5hdSkKKyAgICAgIFBldGUgSm9obnN0b24gKHAuam9obnN0b25AdWtvbG4uYWMudWspLAorICAgICAgQ2FybCBMYWdvemUgKGxhZ296ZUBjcy5jb3JuZWxsLmVkdSkKKworICAgICAgVGhpcyBzY2hlbWEgZGVjbGFyZXMgWE1MIGVsZW1lbnRzIGZvciB0aGUgMTUgREMgZWxlbWVudHMgZnJvbSB0aGUKKyAgICAgIGh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIG5hbWVzcGFjZS4KKworICAgICAgSXQgZGVmaW5lcyBhIGNvbXBsZXhUeXBlIFNpbXBsZUxpdGVyYWwgd2hpY2ggcGVybWl0cyBtaXhlZCBjb250ZW50IAorICAgICAgYW5kIG1ha2VzIHRoZSB4bWw6bGFuZyBhdHRyaWJ1dGUgYXZhaWxhYmxlLiBJdCBkaXNhbGxvd3MgY2hpbGQgZWxlbWVudHMgYnkKKyAgICAgIHVzZSBvZiBtaW5PY2NjdXJzL21heE9jY3Vycy4KKworICAgICAgSG93ZXZlciwgdGhpcyBjb21wbGV4VHlwZSBkb2VzIHBlcm1pdCB0aGUgZGVyaXZhdGlvbiBvZiBvdGhlciBjb21wbGV4VHlwZXMKKyAgICAgIHdoaWNoIHdvdWxkIHBlcm1pdCBjaGlsZCBlbGVtZW50cy4KKworICAgICAgQWxsIGVsZW1lbnRzIGFyZSBkZWNsYXJlZCBhcyBzdWJzdGl0dXRhYmxlIGZvciB0aGUgYWJzdHJhY3QgZWxlbWVudCBhbnksIAorICAgICAgd2hpY2ggbWVhbnMgdGhhdCB0aGUgZGVmYXVsdCB0eXBlIGZvciBhbGwgZWxlbWVudHMgaXMgZGM6U2ltcGxlTGl0ZXJhbC4KKworICAgIDwveHM6ZG9jdW1lbnRhdGlvbj4KKworICA8L3hzOmFubm90YXRpb24+CisKKworICA8eHM6aW1wb3J0IG5hbWVzcGFjZT0iaHR0cDovL3d3dy53My5vcmcvWE1MLzE5OTgvbmFtZXNwYWNlIgorICAgICAgICAgICAgIHNjaGVtYUxvY2F0aW9uPSJ4bWwueHNkIj4gCisgIDwveHM6aW1wb3J0PgorCTwhLS1odHRwOi8vd3d3LnczLm9yZy8yMDAxLzAzL3htbC54c2QtLT4KKyAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNpbXBsZUxpdGVyYWwiPgorICAgICAgICA8eHM6YW5ub3RhdGlvbj4KKyAgICAgICAgPHhzOmRvY3VtZW50YXRpb24geG1sOmxhbmc9ImVuIj4KKyAgICAgICAgICAgIFRoaXMgaXMgdGhlIGRlZmF1bHQgdHlwZSBmb3IgYWxsIG9mIHRoZSBEQyBlbGVtZW50cy4KKyAgICAgICAgICAgIEl0IHBlcm1pdHMgdGV4dCBjb250ZW50IG9ubHkgd2l0aCBvcHRpb25hbAorICAgICAgICAgICAgeG1sOmxhbmcgYXR0cmlidXRlLgorICAgICAgICAgICAgVGV4dCBpcyBhbGxvd2VkIGJlY2F1c2UgbWl4ZWQ9InRydWUiLCBidXQgc3ViLWVsZW1lbnRzCisgICAgICAgICAgICBhcmUgZGlzYWxsb3dlZCBiZWNhdXNlIG1pbk9jY3Vycz0iMCIgYW5kIG1heE9jY3Vycz0iMCIgCisgICAgICAgICAgICBhcmUgb24gdGhlIHhzOmFueSB0YWcuCisKKyAgICAJICAgIFRoaXMgY29tcGxleFR5cGUgYWxsb3dzIGZvciByZXN0cmljdGlvbiBvciBleHRlbnNpb24gcGVybWl0dGluZworICAgICAgICAgICAgY2hpbGQgZWxlbWVudHMuCisgICAgCTwveHM6ZG9jdW1lbnRhdGlvbj4KKyAgCTwveHM6YW5ub3RhdGlvbj4KKworICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJ0cnVlIj4KKyAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6YW55VHlwZSI+CisgICAgIDx4czpzZXF1ZW5jZT4KKyAgICAgIDx4czphbnkgcHJvY2Vzc0NvbnRlbnRzPSJsYXgiIG1pbk9jY3Vycz0iMSIgbWF4T2NjdXJzPSIyIi8+CisgICAgIDwveHM6c2VxdWVuY2U+CisgICAgIDx4czphdHRyaWJ1dGUgcmVmPSJ4bWw6bGFuZyIgdXNlPSJvcHRpb25hbCIvPgorICAgIDwveHM6cmVzdHJpY3Rpb24+CisgICA8L3hzOmNvbXBsZXhDb250ZW50PgorICA8L3hzOmNvbXBsZXhUeXBlPgorCisgIDx4czplbGVtZW50IG5hbWU9ImFueSIgdHlwZT0iU2ltcGxlTGl0ZXJhbCIgYWJzdHJhY3Q9InRydWUiLz4KKworICA8eHM6ZWxlbWVudCBuYW1lPSJ0aXRsZSIgc3Vic3RpdHV0aW9uR3JvdXA9ImFueSIvPgorICA8eHM6ZWxlbWVudCBuYW1lPSJjcmVhdG9yIiBzdWJzdGl0dXRpb25Hcm91cD0iYW55Ii8+CisgIDx4czplbGVtZW50IG5hbWU9InN1YmplY3QiIHN1YnN0aXR1dGlvbkdyb3VwPSJhbnkiLz4KKyAgPHhzOmVsZW1lbnQgbmFtZT0iZGVzY3JpcHRpb24iIHN1YnN0aXR1dGlvbkdyb3VwPSJhbnkiLz4KKyAgPHhzOmVsZW1lbnQgbmFtZT0icHVibGlzaGVyIiBzdWJzdGl0dXRpb25Hcm91cD0iYW55Ii8+CisgIDx4czplbGVtZW50IG5hbWU9ImNvbnRyaWJ1dG9yIiBzdWJzdGl0dXRpb25Hcm91cD0iYW55Ii8+CisgIDx4czplbGVtZW50IG5hbWU9ImRhdGUiIHN1YnN0aXR1dGlvbkdyb3VwPSJhbnkiLz4KKyAgPHhzOmVsZW1lbnQgbmFtZT0idHlwZSIgc3Vic3RpdHV0aW9uR3JvdXA9ImFueSIvPgorICA8eHM6ZWxlbWVudCBuYW1lPSJmb3JtYXQiIHN1YnN0aXR1dGlvbkdyb3VwPSJhbnkiLz4KKyAgPHhzOmVsZW1lbnQgbmFtZT0iaWRlbnRpZmllciIgc3Vic3RpdHV0aW9uR3JvdXA9ImFueSIvPgorICA8eHM6ZWxlbWVudCBuYW1lPSJzb3VyY2UiIHN1YnN0aXR1dGlvbkdyb3VwPSJhbnkiLz4KKyAgPHhzOmVsZW1lbnQgbmFtZT0ibGFuZ3VhZ2UiIHN1YnN0aXR1dGlvbkdyb3VwPSJhbnkiLz4KKyAgPHhzOmVsZW1lbnQgbmFtZT0icmVsYXRpb24iIHN1YnN0aXR1dGlvbkdyb3VwPSJhbnkiLz4KKyAgPHhzOmVsZW1lbnQgbmFtZT0iY292ZXJhZ2UiIHN1YnN0aXR1dGlvbkdyb3VwPSJhbnkiLz4KKyAgPHhzOmVsZW1lbnQgbmFtZT0icmlnaHRzIiBzdWJzdGl0dXRpb25Hcm91cD0iYW55Ii8+CisKKyAgPHhzOmdyb3VwIG5hbWU9ImVsZW1lbnRzR3JvdXAiPgorICAJPHhzOmFubm90YXRpb24+CisgICAgCTx4czpkb2N1bWVudGF0aW9uIHhtbDpsYW5nPSJlbiI+CisgICAgCSAgICBUaGlzIGdyb3VwIGlzIGluY2x1ZGVkIGFzIGEgY29udmVuaWVuY2UgZm9yIHNjaGVtYSBhdXRob3JzCisgICAgICAgICAgICB3aG8gbmVlZCB0byByZWZlciB0byBhbGwgdGhlIGVsZW1lbnRzIGluIHRoZSAKKyAgICAgICAgICAgIGh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIG5hbWVzcGFjZS4KKyAgICAJPC94czpkb2N1bWVudGF0aW9uPgorICAJPC94czphbm5vdGF0aW9uPgorCisgIDx4czpzZXF1ZW5jZT4KKyAgICA8eHM6Y2hvaWNlIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiPgorICAgICAgPHhzOmVsZW1lbnQgcmVmPSJhbnkiLz4KKyAgICA8L3hzOmNob2ljZT4KKyAgICA8L3hzOnNlcXVlbmNlPgorICA8L3hzOmdyb3VwPgorCisgIDx4czpjb21wbGV4VHlwZSBuYW1lPSJlbGVtZW50Q29udGFpbmVyIj4KKyAgCTx4czphbm5vdGF0aW9uPgorICAgIAk8eHM6ZG9jdW1lbnRhdGlvbiB4bWw6bGFuZz0iZW4iPgorICAgIAkJVGhpcyBjb21wbGV4VHlwZSBpcyBpbmNsdWRlZCBhcyBhIGNvbnZlbmllbmNlIGZvciBzY2hlbWEgYXV0aG9ycyB3aG8gbmVlZCB0byBkZWZpbmUgYSByb290CisgICAgCQlvciBjb250YWluZXIgZWxlbWVudCBmb3IgYWxsIG9mIHRoZSBEQyBlbGVtZW50cy4KKyAgICAJPC94czpkb2N1bWVudGF0aW9uPgorICAJPC94czphbm5vdGF0aW9uPgorCisgICAgPHhzOmNob2ljZT4KKyAgICAgIDx4czpncm91cCByZWY9ImVsZW1lbnRzR3JvdXAiLz4KKyAgICA8L3hzOmNob2ljZT4KKyAgPC94czpjb21wbGV4VHlwZT4KKworCis8L3hzOnNjaGVtYT4KKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvYnVnMTQ1MjQ2XzAueG1sIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYnVnMTQ1MjQ2XzAueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA5MDUwYzYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9idWcxNDUyNDZfMC54bWwKQEAgLTAsMCArMSwzMCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhLS1ET0NUWVBFIGdpbWwgU1lTVEVNICJodHRwOi8vZ2l0ay5zb3VyY2Vmb3JnZS5uZXQvZ2ltbC5kdGQiLS0+Cis8IS0tICRJZDogZ2l0a1RlbXBsYXRlX21lc3NhZ2UueG1sLmluLHYgMS4xMSAyMDA0LzAxLzA3IDE0OjIxOjE3IGVuc29uaWMgRXhwICQKKyAqIEBmaWxlICAgZ2l0a1RlbXBsYXRlX21lc3NhZ2UueG1sCisgKiBAYXV0aG9yIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KKyAqIEBkYXRlICAgVGh1IEphbiAxNyAxMToyMjozOCAyMDAyCisgKiAKKyAqIEBicmllZiAgbWVzc2FnZSBkaWFsb2cgdGVtcGxhdGUKKyAqIEBpbmdyb3VwIGdpdGtjb3JlCisgKgorLS0+Cis8Z2ltbCB4bWxucz0iaHR0cDovL2dpdGsuc291cmNlZm9yZ2UubmV0LyIgCisJeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgCisJeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vZ2l0ay5zb3VyY2Vmb3JnZS5uZXQvIGJ1ZzE0NTI0Ni54c2QiCQorCXhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgCisJeG1sbnM6aTE4bj0iaHR0cDovL2FwYWNoZS5vcmcvY29jb29uL2kxOG4vMi4wIiAKKwk+CisgIDxkaWFsb2cgZm9jdXM9ImN0cmwiPgorICAgIDxtZXRhPgorICAgICAgPGRjOnRpdGxlPjxpMThuOnRleHQ+bWVzc2FnZTwvaTE4bjp0ZXh0PjwvZGM6dGl0bGU+CisgICAgPC9tZXRhPgorCSAgPGRpYWxvZ3dpZGdldHM+CisgICAgIAk8ZGlhbG9nd2lkZ2V0IGlkPSJPa2F5Ii8+CisJICA8L2RpYWxvZ3dpZGdldHM+CisgICAgPHdpZGdldGdyb3VwPgorICAgICAgPHdpZGdldCBpZD0iTWVzc2FnZSIgdHlwZT0ibGFiZWwiLz4KKyAgICA8L3dpZGdldGdyb3VwPgorICA8L2RpYWxvZz4KKzwvZ2ltbD4KKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvYnVnMTQ1MjQ2XzAueHNkIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYnVnMTQ1MjQ2XzAueHNkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjljZmU4YzYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9idWcxNDUyNDZfMC54c2QKQEAgLTAsMCArMSwxNzMgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgPz4KKzwhLS0gIAorICogJElkOiBnaW1sLnhzZCx2IDEuMyAyMDA0LzA2LzI1IDA5OjAzOjUzIGVuc29uaWMgRXhwICQKKyAqIEBmaWxlICAgZ2ltbC54c2QKKyAqIEBhdXRob3IgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgorICogQGRhdGUgICBUaHUgSnVuIDI0IDE3OjI4OjI2IE1FU1QgMjAwNAorICogCisgKiBAYnJpZWYgIGdpbWwgZG9jdW1lbnQgc2NoZW1hIGRlZmluaXRpb24KKyAqIEBpbmdyb3VwIGdpdGtjb3JlCisgKgorLS0+Cis8eHM6c2NoZW1hIHRhcmdldE5hbWVzcGFjZT0iaHR0cDovL2dpdGsuc291cmNlZm9yZ2UubmV0LyIKKwkJeG1sbnM9Imh0dHA6Ly9naXRrLnNvdXJjZWZvcmdlLm5ldC8iCisJCXhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIKKwkJeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgorCQl4bWxuczppMThuPSJodHRwOi8vYXBhY2hlLm9yZy9jb2Nvb24vaTE4bi8yLjAvIj4KKwk8eHM6YW5ub3RhdGlvbj4KKwkJPHhzOmRvY3VtZW50YXRpb24+CisJCQlUaGlzIHNjaGVtYSBkZXNjcmliZXMgZ2ltbCBkaWFsb2cgc291cmNlcworCQk8L3hzOmRvY3VtZW50YXRpb24+CisgIDwveHM6YW5ub3RhdGlvbj4KKworICA8eHM6aW1wb3J0IG5hbWVzcGFjZT0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCisJCXNjaGVtYUxvY2F0aW9uPSJidWcxNDUyNDYueHNkLmltcCIKKwkvPgorICA8IS0teHM6aW1wb3J0IG5hbWVzcGFjZT0iaHR0cDovL2FwYWNoZS5vcmcvY29jb29uL2kxOG4vMi4wLyIKKwkJc2NoZW1hTG9jYXRpb249ImZpbGU6Ly8uL2kxOG4ueHNkIgorCS8tLT4KKyAKKyA8IS0tIGZvcmVpZ24gbmFtZXNwYWNlCisJIDx4czplbGVtZW50IG5hbWU9InRpdGxlIj4KKwkJCTx4czpjb21wbGV4VHlwZSBtaXhlZD0idHJ1ZSI+CisJCQkJPHhzOmNob2ljZSBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIj4KKwkJCQk8L3hzOmNob2ljZT4KKwkJCTwveHM6Y29tcGxleFR5cGU+CisJCTwveHM6ZWxlbWVudD4KKwkKKwkJPHhzOmVsZW1lbnQgbmFtZT0idGV4dCI+CisJCQk8eHM6Y29tcGxleFR5cGUgbWl4ZWQ9InRydWUiPjwveHM6Y29tcGxleFR5cGU+CisJCTwveHM6ZWxlbWVudD4KKyAtLT4KKwkKKwk8eHM6ZWxlbWVudCBuYW1lPSJvcHRpb24iPgorCQk8eHM6Y29tcGxleFR5cGUgbWl4ZWQ9InRydWUiPgorCQkJPHhzOmNob2ljZSBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIj48L3hzOmNob2ljZT4KKwkJPC94czpjb21wbGV4VHlwZT4KKwk8L3hzOmVsZW1lbnQ+CisJCisJPHhzOmVsZW1lbnQgbmFtZT0ib3B0aW9ucyI+CisJCTx4czpjb21wbGV4VHlwZT4KKwkJCTx4czpzZXF1ZW5jZSBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIj4KKwkJCQk8eHM6ZWxlbWVudCByZWY9Im9wdGlvbiIvPgorCQkJPC94czpzZXF1ZW5jZT4KKwkJPC94czpjb21wbGV4VHlwZT4KKwk8L3hzOmVsZW1lbnQ+CisJCisJPHhzOmVsZW1lbnQgbmFtZT0iZGlzYWJsZWQiPgorCQk8eHM6Y29tcGxleFR5cGUgbWl4ZWQ9InRydWUiPjwveHM6Y29tcGxleFR5cGU+CisJPC94czplbGVtZW50PgorCQorCTx4czplbGVtZW50IG5hbWU9InJlcXVpcmVkIj4KKwkJPHhzOmNvbXBsZXhUeXBlIG1peGVkPSJ0cnVlIj48L3hzOmNvbXBsZXhUeXBlPgorCTwveHM6ZWxlbWVudD4KKwkKKwk8eHM6ZWxlbWVudCBuYW1lPSJ2YWx1ZSI+CisJCTx4czpjb21wbGV4VHlwZSBtaXhlZD0idHJ1ZSI+PC94czpjb21wbGV4VHlwZT4KKwk8L3hzOmVsZW1lbnQ+CisJCisJPHhzOmVsZW1lbnQgbmFtZT0ibGFiZWwiPgorCQk8eHM6Y29tcGxleFR5cGUgbWl4ZWQ9InRydWUiPgorCQkJPHhzOmNob2ljZSBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0iMSI+PC94czpjaG9pY2U+CisJCTwveHM6Y29tcGxleFR5cGU+CisJPC94czplbGVtZW50PgorCQorCTx4czplbGVtZW50IG5hbWU9IndpZGdldCI+CisJCTx4czpjb21wbGV4VHlwZT4KKwkJCTx4czpzZXF1ZW5jZT4KKwkJCQk8eHM6ZWxlbWVudCByZWY9Im1ldGEiIG1pbk9jY3Vycz0iMCIvPgorCQkJCTx4czplbGVtZW50IHJlZj0ibGFiZWwiIG1pbk9jY3Vycz0iMCIvPgorCQkJCTx4czplbGVtZW50IHJlZj0iZGlzYWJsZWQiIG1pbk9jY3Vycz0iMCIvPgorCQkJCTx4czplbGVtZW50IHJlZj0idmFsdWUiIG1pbk9jY3Vycz0iMCIvPgorCQkJCTx4czplbGVtZW50IHJlZj0ib3B0aW9ucyIgbWluT2NjdXJzPSIwIi8+CisJCQk8L3hzOnNlcXVlbmNlPgorCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJpZCIgdHlwZT0ieHM6SUQiLz4KKwkJCTx4czphdHRyaWJ1dGUgbmFtZT0idHlwZSIgZGVmYXVsdD0iYWN0aW9uIj4KKwkJCQk8eHM6c2ltcGxlVHlwZT4KKwkJCQkJPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+CisJCQkJCQk8eHM6ZW51bWVyYXRpb24gdmFsdWU9ImFjdGlvbiIvPgorCQkJCQkJPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJjaGFyYWN0ZXJpbnB1dCIvPgorCQkJCQkJPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJjaGFyYWN0ZXJpbnB1dF9udW1lcmljIi8+CisJCQkJCQk8eHM6ZW51bWVyYXRpb24gdmFsdWU9ImNoYXJhY3RlcmlucHV0X2FscGhhYmV0aWMiLz4KKwkJCQkJCTx4czplbnVtZXJhdGlvbiB2YWx1ZT0ib3B0aW9uY2hvaWNlIi8+CisJCQkJCQk8eHM6ZW51bWVyYXRpb24gdmFsdWU9Im9wdGlvbmNob2ljZV9ib29sZWFuIi8+CisJCQkJCQk8eHM6ZW51bWVyYXRpb24gdmFsdWU9Im9wdGlvbmNob2ljZV9zaW5nbGUiLz4KKwkJCQkJCTx4czplbnVtZXJhdGlvbiB2YWx1ZT0ib3B0aW9uY2hvaWNlX3NpbmdsZV9jb21wYWN0Ii8+CisJCQkJCQk8eHM6ZW51bWVyYXRpb24gdmFsdWU9ImxhYmVsIi8+CisJCQkJCTwveHM6cmVzdHJpY3Rpb24+CisJCQkJPC94czpzaW1wbGVUeXBlPgorCQkJPC94czphdHRyaWJ1dGU+CisJCQk8eHM6YXR0cmlidXRlIG5hbWU9Imhhc0ZvY3VzIiBkZWZhdWx0PSJmYWxzZSI+CisJCQkJPHhzOnNpbXBsZVR5cGU+CisJCQkJCTx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPgorCQkJCQkJPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJ0cnVlIi8+CisJCQkJCQk8eHM6ZW51bWVyYXRpb24gdmFsdWU9ImZhbHNlIi8+CisJCQkJCTwveHM6cmVzdHJpY3Rpb24+CisJCQkJPC94czpzaW1wbGVUeXBlPgorCQkJPC94czphdHRyaWJ1dGU+CisJCTwveHM6Y29tcGxleFR5cGU+CisJPC94czplbGVtZW50PgorCQorCTx4czplbGVtZW50IG5hbWU9IndpZGdldGdyb3VwIj4KKwkJPHhzOmNvbXBsZXhUeXBlPgorCQkJPHhzOnNlcXVlbmNlPgorCQkJCTx4czplbGVtZW50IHJlZj0ibWV0YSIgbWluT2NjdXJzPSIwIi8+CisJCQkJPHhzOmVsZW1lbnQgcmVmPSJsYWJlbCIgbWluT2NjdXJzPSIwIi8+CisJCQkJPHhzOmVsZW1lbnQgcmVmPSJ3aWRnZXQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiLz4KKwkJCQk8eHM6ZWxlbWVudCByZWY9IndpZGdldGdyb3VwIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIi8+CisJCQk8L3hzOnNlcXVlbmNlPgorCQk8L3hzOmNvbXBsZXhUeXBlPgorCTwveHM6ZWxlbWVudD4KKwkKKwk8eHM6ZWxlbWVudCBuYW1lPSJkaWFsb2d3aWRnZXQiPgorCQk8eHM6Y29tcGxleFR5cGUgbWl4ZWQ9InRydWUiPgorCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJpZCIgdHlwZT0ieHM6SUQiLz4KKwkJPC94czpjb21wbGV4VHlwZT4KKwk8L3hzOmVsZW1lbnQ+CisJCisJPHhzOmVsZW1lbnQgbmFtZT0iZGlhbG9nd2lkZ2V0cyI+CisJCTx4czpjb21wbGV4VHlwZT4KKwkJCTx4czpzZXF1ZW5jZT4KKwkJCQk8eHM6ZWxlbWVudCByZWY9ImRpYWxvZ3dpZGdldCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiLz4KKwkJCTwveHM6c2VxdWVuY2U+CisJCTwveHM6Y29tcGxleFR5cGU+CisJPC94czplbGVtZW50PgorCQorCTx4czplbGVtZW50IG5hbWU9Im1ldGEiPgorCQk8eHM6Y29tcGxleFR5cGU+CisJCQk8eHM6c2VxdWVuY2U+CisJCQkJPHhzOmVsZW1lbnQgcmVmPSJkYzp0aXRsZSIvPgorCQkJPC94czpzZXF1ZW5jZT4KKwkJPC94czpjb21wbGV4VHlwZT4KKwk8L3hzOmVsZW1lbnQ+CisJCisJPHhzOmVsZW1lbnQgbmFtZT0iZGlhbG9nIj4KKwkJPHhzOmNvbXBsZXhUeXBlPgorCQkJPHhzOnNlcXVlbmNlPgorCQkJCTx4czplbGVtZW50IHJlZj0ibWV0YSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9IjEiLz4KKwkJCQk8eHM6ZWxlbWVudCByZWY9ImRpYWxvZ3dpZGdldHMiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSIxIi8+CisJCQkJPHhzOmVsZW1lbnQgcmVmPSJ3aWRnZXRncm91cCIgbWluT2NjdXJzPSIxIiBtYXhPY2N1cnM9InVuYm91bmRlZCIvPgorCQkJPC94czpzZXF1ZW5jZT4KKwkJCTx4czphdHRyaWJ1dGUgbmFtZT0iaWQiIHR5cGU9InhzOklEIi8+CisJCQk8eHM6YXR0cmlidXRlIG5hbWU9ImZvY3VzIiBkZWZhdWx0PSJtYWluIj4KKwkJCQk8eHM6c2ltcGxlVHlwZT4KKwkJCQkJPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+CisJCQkJCQk8eHM6ZW51bWVyYXRpb24gdmFsdWU9Im1haW4iLz4KKwkJCQkJCTx4czplbnVtZXJhdGlvbiB2YWx1ZT0iY3RybCIvPgorCQkJCQk8L3hzOnJlc3RyaWN0aW9uPgorCQkJCTwveHM6c2ltcGxlVHlwZT4KKwkJCTwveHM6YXR0cmlidXRlPgorCQk8L3hzOmNvbXBsZXhUeXBlPgorCTwveHM6ZWxlbWVudD4KKwkKKwk8eHM6ZWxlbWVudCBuYW1lPSJnaW1sIj4KKwkJPHhzOmNvbXBsZXhUeXBlPgorCQkJPHhzOnNlcXVlbmNlPgorCQkJCTx4czplbGVtZW50IHJlZj0iZGlhbG9nIiBtaW5PY2N1cnM9IjEiIG1heE9jY3Vycz0iMSIvPgorCQkJPC94czpzZXF1ZW5jZT4KKwkJCTwhLS14czphdHRyaWJ1dGUgbmFtZT0ieG1sbnMiIHR5cGU9InhzOnN0cmluZyIgZml4ZWQ9Imh0dHA6Ly9naXRrLnNvdXJjZWZvcmdlLm5ldC8iLy0tPgorCQk8L3hzOmNvbXBsZXhUeXBlPgorCTwveHM6ZWxlbWVudD4KKworPC94czpzY2hlbWE+CisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2J1ZzE1MjQ3MF8xLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2J1ZzE1MjQ3MF8xLnhtbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hZGNhMjM3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYnVnMTUyNDcwXzEueG1sCkBAIC0wLDAgKzEsOSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8cm9hcDpkZXZpY2VIZWxsbworICB4bWxuczpyb2FwPSJ1cm46b21hOmJhYzpkbGRybTpyb2FwLTEuMCIKKyAgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSI+CisgICAgPGRldmljZUlEPgorICAgICAgICA8a2V5SWRlbnRpZmllcgorPjxoYXNoPnZYRU5jK1VtLzkvTnZtWUtpSERMYUVySzBnaz08L2hhc2g+PC9rZXlJZGVudGlmaWVyPgorICAgIDwvZGV2aWNlSUQ+Cis8L3JvYXA6ZGV2aWNlSGVsbG8+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvYnVnMTUyNDcwXzEueHNkIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYnVnMTUyNDcwXzEueHNkCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjdmYzk3NDcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9idWcxNTI0NzBfMS54c2QKQEAgLTAsMCArMSw0OSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8c2NoZW1hIAorICB0YXJnZXROYW1lc3BhY2U9InVybjpvbWE6YmFjOmRsZHJtOnJvYXAtMS4wIgorICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiCisgIHhtbG5zOnJvYXA9InVybjpvbWE6YmFjOmRsZHJtOnJvYXAtMS4wIgorICB4bWxuczpkcz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC8wOS94bWxkc2lnIyIKKyAgeG1sbnM6eGVuYz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS8wNC94bWxlbmMjIgorICBlbGVtZW50Rm9ybURlZmF1bHQ9InVucXVhbGlmaWVkIgorICBhdHRyaWJ1dGVGb3JtRGVmYXVsdD0idW5xdWFsaWZpZWQiPgorPCEtLSBCYXNpYyBUeXBlcyAtLT4KKzxjb21wbGV4VHlwZSBuYW1lPSJSZXF1ZXN0IiBhYnN0cmFjdD0idHJ1ZSIvPgorPCEtLSBCYXNpYyB0eXBlcyB0byBpZGVudGlmeSBlbnRpdGllcyAtLT4KKworPGNvbXBsZXhUeXBlIG5hbWU9IklkZW50aWZpZXIiPgorICA8Y2hvaWNlPgorICAgIDxlbGVtZW50IG5hbWU9ImtleUlkZW50aWZpZXIiIHR5cGU9InJvYXA6WDUwOVNQS0lIYXNoIi8+IDwhLS0gd2FzOiB0eXBlPSJyb2FwOktleUlkZW50aWZpZXIiIC0tPgorICA8L2Nob2ljZT4KKzwvY29tcGxleFR5cGU+CisKKzxjb21wbGV4VHlwZSBuYW1lPSJLZXlJZGVudGlmaWVyIiAvPiA8IS0tIHJlbW92ZWQ6IGFic3RyYWN0PSJ0cnVlIiAtLT4KKworPGNvbXBsZXhUeXBlIG5hbWU9Ilg1MDlTUEtJSGFzaCI+CisgIDxjb21wbGV4Q29udGVudD4KKyAgICA8ZXh0ZW5zaW9uIGJhc2U9InJvYXA6S2V5SWRlbnRpZmllciI+CisgICAgICA8c2VxdWVuY2U+CisgICAgICAgIDxlbGVtZW50IG5hbWU9Imhhc2giIHR5cGU9ImJhc2U2NEJpbmFyeSIvPgorICAgICAgPC9zZXF1ZW5jZT4KKyAgICAgIDxhdHRyaWJ1dGUgbmFtZT0iYWxnb3JpdGhtIiB0eXBlPSJhbnlVUkkiCisgICAgICAgICAgICAgICAgIGRlZmF1bHQ9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvMDkveG1sZHNpZyNzaGExIi8+IAorICAgIDwvZXh0ZW5zaW9uPgorICA8L2NvbXBsZXhDb250ZW50PgorPC9jb21wbGV4VHlwZT4KKworPGVsZW1lbnQgbmFtZT0iZGV2aWNlSGVsbG8iIHR5cGU9InJvYXA6RGV2aWNlSGVsbG8iLz4KKworPGNvbXBsZXhUeXBlIG5hbWU9IkRldmljZUhlbGxvIj4KKyAgPGNvbXBsZXhDb250ZW50PgorICAgIDxleHRlbnNpb24gYmFzZT0icm9hcDpSZXF1ZXN0Ij4KKyAgICAgIDxzZXF1ZW5jZT4KKyAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGV2aWNlSUQiIHR5cGU9InJvYXA6SWRlbnRpZmllciIKKyAgICAgICAgICAgICAgICAgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiLz4gCisgICAgICA8L3NlcXVlbmNlPgorICAgIDwvZXh0ZW5zaW9uPgorICA8L2NvbXBsZXhDb250ZW50PgorPC9jb21wbGV4VHlwZT4KKworPC9zY2hlbWE+CisKKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvYnVnMTY3NzU0XzAueG1sIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYnVnMTY3NzU0XzAueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU1ZWM3ZDcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9idWcxNjc3NTRfMC54bWwKQEAgLTAsMCArMSwxMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8dGVzdCB4bWxucz0iaHR0cDovL3d3dy5leGFtcGxlLmNvbS9UZXN0IiAKKyAgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgCisgIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL3d3dy5leGFtcGxlLmNvbS9UZXN0IGJ1ZzE2Nzc1NC54c2QiPiAKKyAgICAgICAgPGNoaWxkPiAKKyAgICAgICAgICAgICAgICA8Zm9vLz4gCisgICAgICAgIDwvY2hpbGQ+IAorICAgICAgICA8Y2hpbGQ+IAorICAgICAgICAgICAgICAgIDxmb28vPiAKKyAgICAgICAgICAgICAgICA8am9lLz4gCisgICAgICAgIDwvY2hpbGQ+IAorPC90ZXN0PiAKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2J1ZzE2Nzc1NF8wLnhzZCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2J1ZzE2Nzc1NF8wLnhzZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNzg4M2QyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYnVnMTY3NzU0XzAueHNkCkBAIC0wLDAgKzEsMjkgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPHhzZDpzY2hlbWEgIAorICAgICAgICB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiAgCisgICAgICAgIHhtbG5zOnRhcmdldD0iaHR0cDovL3d3dy5leGFtcGxlLmNvbS9UZXN0IiAgCisgICAgICAgIHRhcmdldE5hbWVzcGFjZT0iaHR0cDovL3d3dy5leGFtcGxlLmNvbS9UZXN0IiAgCisgICAgICAgIHZlcnNpb249IjEuMCIgIAorICAgICAgICBlbGVtZW50Rm9ybURlZmF1bHQ9InF1YWxpZmllZCIgPiAgCisgICAgCisgICAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJmb28iIC8+ICAKKyAgICAgICAgPHhzZDplbGVtZW50IG5hbWU9ImJhciIgLz4gIAorICAgICAgICA8eHNkOmVsZW1lbnQgbmFtZT0iam9lIiAvPiAgCisgIAorICAgICAgICA8eHNkOmNvbXBsZXhUeXBlIG5hbWU9ImRvbWluaWsiPiAgCisgICAgICAgICAgICAgICAgPHhzZDphbGw+ICAKKyAgICAgICAgICAgICAgICAgICAgICAgIDx4c2Q6ZWxlbWVudCBtaW5PY2N1cnM9IjAiIHJlZj0idGFyZ2V0OmZvbyIgLz4gIAorICAgICAgICAgICAgICAgICAgICAgICAgPHhzZDplbGVtZW50IG1pbk9jY3Vycz0iMCIgcmVmPSJ0YXJnZXQ6YmFyIiAvPiAgCisgICAgICAgICAgICAgICAgICAgICAgICA8eHNkOmVsZW1lbnQgbWluT2NjdXJzPSIwIiByZWY9InRhcmdldDpqb2UiIC8+ICAKKyAgICAgICAgICAgICAgICA8L3hzZDphbGw+ICAKKyAgICAgICAgPC94c2Q6Y29tcGxleFR5cGU+ICAKKyAgCisgICAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJ0ZXN0Ij4gIAorICAgICAgICAgICAgICAgIDx4c2Q6Y29tcGxleFR5cGU+ICAKKyAgICAgICAgICAgICAgICAgICAgICAgIDx4c2Q6c2VxdWVuY2U+ICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHhzZDplbGVtZW50IG1heE9jY3Vycz0idW5ib3VuZGVkIiBuYW1lPSJjaGlsZCIgdHlwZT0idGFyZ2V0OmRvbWluaWsiIC8+ICAKKyAgICAgICAgICAgICAgICAgICAgICAgIDwveHNkOnNlcXVlbmNlPiAgCisgICAgICAgICAgICAgICAgPC94c2Q6Y29tcGxleFR5cGU+ICAKKyAgICAgICAgPC94c2Q6ZWxlbWVudD4gIAorICAKKzwveHNkOnNjaGVtYT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9idWczMDM1NjZfMS54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9idWczMDM1NjZfMS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWJmNTZkYwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2J1ZzMwMzU2Nl8xLnhtbApAQCAtMCwwICsxLDE5IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxUZXN0CisgIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiCisgIHhzaTpub05hbWVzcGFjZVNjaGVtYUxvY2F0aW9uPSJidWczMDM1NjZfMS54c2QiPgorICA8Q291bnRyeSBjb2RlPSJEIj4KKyAgICA8Q2l0eSBuYW1lPSJCZXJsaW4iCisgICAgICAgICAgY29kZT0iQiI+CisgICAgICA8UGFydCBjb3VudHJ5PSJEIi8+CisgICAgICA8UGFydCBjb3VudHJ5PSJCIi8+CisgICAgPC9DaXR5PgorICA8L0NvdW50cnk+CisgIDxDb3VudHJ5IGNvZGU9IkYiPgorICAgIDxDaXR5IG5hbWU9IlBhcmlzIiBjb2RlPSJQIj4KKyAgICAgIDxQYXJ0IGNvdW50cnk9IkYiLz4KKyAgICAgIDxQYXJ0IGNvdW50cnk9IkYiLz4KKyAgICA8L0NpdHk+CisgIDwvQ291bnRyeT4KKzwvVGVzdD4KKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvYnVnMzAzNTY2XzEueHNkIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYnVnMzAzNTY2XzEueHNkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZlZTk5ZjcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9idWczMDM1NjZfMS54c2QKQEAgLTAsMCArMSw2MyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8eHNkOnNjaGVtYSB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIj4KKworICA8eHNkOnNpbXBsZVR5cGUgbmFtZT0iY29kZVR5cGUiPgorICAgIDx4c2Q6cmVzdHJpY3Rpb24gYmFzZT0ieHNkOnN0cmluZyI+CisgICAgICA8eHNkOnBhdHRlcm4gdmFsdWU9IltBLVpdKyIvPgorICAgIDwveHNkOnJlc3RyaWN0aW9uPgorICA8L3hzZDpzaW1wbGVUeXBlPgorCisgIDx4c2Q6ZWxlbWVudCBuYW1lPSJUZXN0Ij4KKyAgICA8eHNkOmNvbXBsZXhUeXBlPgorICAgICAgPHhzZDpzZXF1ZW5jZT4KKyAgICAgICAgPHhzZDplbGVtZW50IHJlZj0iQ291bnRyeSIKKyAgICAgICAgICAgICAgICAgICAgIG1heE9jY3Vycz0idW5ib3VuZGVkIi8+CisgICAgICA8L3hzZDpzZXF1ZW5jZT4KKyAgICA8L3hzZDpjb21wbGV4VHlwZT4KKyAgPC94c2Q6ZWxlbWVudD4KKworICA8eHNkOmVsZW1lbnQgbmFtZT0iQ291bnRyeSI+CisgICAgPHhzZDpjb21wbGV4VHlwZT4KKyAgICAgIDx4c2Q6c2VxdWVuY2U+CisgICAgICAgIDx4c2Q6ZWxlbWVudCByZWY9IkNpdHkiCisgICAgICAgICAgICAgICAgICAgICBtYXhPY2N1cnM9InVuYm91bmRlZCIvPgorICAgICAgPC94c2Q6c2VxdWVuY2U+CisgICAgICA8eHNkOmF0dHJpYnV0ZSBuYW1lPSJjb2RlIgorICAgICAgICAgICAgICAgICAgICAgdHlwZT0iY29kZVR5cGUiCisgICAgICAgICAgICAgICAgICAgICB1c2U9InJlcXVpcmVkIi8+CisgICAgPC94c2Q6Y29tcGxleFR5cGU+CisgICAgPHhzZDprZXkgbmFtZT0iQ291bnRyeUR1bW15S2V5Ij4KKyAgICAgIDx4c2Q6c2VsZWN0b3IgeHBhdGg9Ii4iLz4KKyAgICAgIDx4c2Q6ZmllbGQgeHBhdGg9IkBjb2RlIi8+CisgICAgPC94c2Q6a2V5PgorICAgIDx4c2Q6a2V5cmVmIG5hbWU9IlBhcnRSZWZDb3VudHJ5RHVtbXkiCisgICAgICByZWZlcj0iQ291bnRyeUR1bW15S2V5Ij4KKyAgICAgIDx4c2Q6c2VsZWN0b3IgeHBhdGg9Ii4vL1BhcnQiLz4KKyAgICAgIDx4c2Q6ZmllbGQgeHBhdGg9IkBjb3VudHJ5Ii8+CisgICAgPC94c2Q6a2V5cmVmPgorICA8L3hzZDplbGVtZW50PgorCisgIDx4c2Q6ZWxlbWVudCBuYW1lPSJDaXR5Ij4KKyAgICA8eHNkOmNvbXBsZXhUeXBlPgorICAgICAgPHhzZDpzZXF1ZW5jZT4KKyAgICAgICAgPHhzZDplbGVtZW50IHJlZj0iUGFydCIKKyAgICAgICAgICAgICAgICAgICAgIG1pbk9jY3Vycz0iMiIKKyAgICAgICAgICAgICAgICAgICAgIG1heE9jY3Vycz0iMiIvPgorICAgICAgPC94c2Q6c2VxdWVuY2U+CisgICAgICA8eHNkOmF0dHJpYnV0ZSBuYW1lPSJuYW1lIgorICAgICAgICAgICAgICAgICAgICAgdHlwZT0ieHNkOnN0cmluZyIKKyAgICAgICAgICAgICAgICAgICAgIHVzZT0icmVxdWlyZWQiLz4KKyAgICAgIDx4c2Q6YXR0cmlidXRlIG5hbWU9ImNvZGUiCisgICAgICAgICAgICAgICAgICAgICB0eXBlPSJ4c2Q6c3RyaW5nIgorICAgICAgICAgICAgICAgICAgICAgdXNlPSJyZXF1aXJlZCIvPgorICAgIDwveHNkOmNvbXBsZXhUeXBlPgorICA8L3hzZDplbGVtZW50PgorCisgIDx4c2Q6ZWxlbWVudCBuYW1lPSJQYXJ0Ij4KKyAgICA8eHNkOmNvbXBsZXhUeXBlPgorICAgICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0iY291bnRyeSIKKyAgICAgICAgICAgICAgICAgICAgdHlwZT0iY29kZVR5cGUiCisgICAgICAgICAgICAgICAgICAgIHVzZT0icmVxdWlyZWQiLz4KKyAgICA8L3hzZDpjb21wbGV4VHlwZT4KKyAgPC94c2Q6ZWxlbWVudD4KKzwveHNkOnNjaGVtYT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9idWczMDY4MDZfMC54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9idWczMDY4MDZfMC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTBjNTVlMQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2J1ZzMwNjgwNl8wLnhtbApAQCAtMCwwICsxLDExMSBAQAorPD94bWwgdmVyc2lvbiA9ICcxLjAnPz4KKzx0YXJnZXRHZW9tZXRyeQorICB4bWxuczp4c2k9J2h0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlJworICB4c2k6bm9OYW1lc3BhY2VTY2hlbWFMb2NhdGlvbj0nYnVnMzA2ODA2XzEueHNkJz4KKyAgPCEtLSB0eXBlIDEgY3lsaW5kZXIgKG9yaWdpbmFsKSAtLT4KKyAgPGNvbXBvbmVudCBuYW1lPSIxNTAyIj4KKyAgICA8ZGVzY3JpcHRpb24+L2FsbC90dXJiaW5lL3IudHVyYnNoYWZ0PC9kZXNjcmlwdGlvbj4KKyAgICA8Y3lsaW5kZXIgbmFtZT0icy50dXJic2hhZnQiPgorICAgICAgPHJhZGl1cyBkaW1lbnNpb249J0wnIExlbmd0aD0naW5jaCc+ICAgICAxLjM3NSA8L3JhZGl1cz4KKyAgICAgIDxsZW5ndGggZGltZW5zaW9uPSdMJyBMZW5ndGg9J2luY2gnPiAgICAzMC4yNTAgPC9sZW5ndGg+CisgICAgICA8Y3lsLXRyYW5zZm9ybT4KKyAgICAgICAgPHRyYW5zbGF0aW9uIGRpbWVuc2lvbj0nTCcgTGVuZ3RoPSdpbmNoJz4gICAtMTMuMTI1ICAgICAwLjAwMCAgICAgMC4wMDA8L3RyYW5zbGF0aW9uPgorICAgICAgICA8cm90YXRpb24gZGltZW5zaW9uPSdMJyBMZW5ndGg9J2RlZ3JlZSc+ICAgIC0wLjAwMCAgICA5MC4wMDAgICAgIDAuMDAwPC9yb3RhdGlvbj4KKyAgICAgIDwvY3lsLXRyYW5zZm9ybT4KKyAgICAgIDxkZXNjcmlwdGlvbj4vYWxsL3R1cmJpbmUvci50dXJic2hhZnQvcy50dXJic2hhZnQ8L2Rlc2NyaXB0aW9uPgorICAgIDwvY3lsaW5kZXI+CisgIDwvY29tcG9uZW50PgorCis8Z2VvbWV0cnlHcm91cCBuYW1lPSdnMCc+CisgIDwhLS0gdHlwZSAyIGN5bGluZGVyIChuZXcsIHZlcnNpb24yKSAtLT4KKyAgPGNvbXBvbmVudCBuYW1lPSIxNTAyIj4KKyAgICA8ZGVzY3JpcHRpb24+L2FsbC90dXJiaW5lL3IudHVyYnNoYWZ0PC9kZXNjcmlwdGlvbj4KKyAgICA8Y3lsaW5kZXIgbmFtZT0icy50dXJic2hhZnQiPgorICAgICAgPHJhZGl1cyBkaW1lbnNpb249J0wnIExlbmd0aD0naW5jaCc+ICAgICAxLjM3NSA8L3JhZGl1cz4KKyAgICAgIDxiYXNlMSBkaW1lbnNpb249J0wnIExlbmd0aD0naW5jaCc+ICAwIDAgMCA8L2Jhc2UxPgorICAgICAgPGJhc2UyIGRpbWVuc2lvbj0nTCcgTGVuZ3RoPSdpbmNoJz4gIDEuMSAxLjEgMS4xIDwvYmFzZTI+CisgICAgICA8ZGVzY3JpcHRpb24+L2FsbC90dXJiaW5lL3IudHVyYnNoYWZ0L3MudHVyYnNoYWZ0PC9kZXNjcmlwdGlvbj4KKyAgICA8L2N5bGluZGVyPgorICA8L2NvbXBvbmVudD4KKworPGdlb21ldHJ5R3JvdXAgbmFtZT0nZzEnPgorICA8IS0tIHR5cGUgMiBjeWxpbmRlciAobmV3LCB2ZXJzaW9uMikgLS0+CisgIDxjb21wb25lbnQgbmFtZT0iMTUwMiI+CisgICAgPGRlc2NyaXB0aW9uPi9hbGwvdHVyYmluZS9yLnR1cmJzaGFmdDwvZGVzY3JpcHRpb24+CisgICAgPGN5bGluZGVyIG5hbWU9InMudHVyYnNoYWZ0Ij4KKyAgICAgIDxyYWRpdXMgZGltZW5zaW9uPSdMJyBMZW5ndGg9J2luY2gnPiAgICAgMS4zNzUgPC9yYWRpdXM+CisgICAgICA8YmFzZTEgZGltZW5zaW9uPSdMJyBMZW5ndGg9J2luY2gnPiAgMCAwIDAgPC9iYXNlMT4KKyAgICAgIDxiYXNlMiBkaW1lbnNpb249J0wnIExlbmd0aD0naW5jaCc+ICAxLjEgMS4xIDEuMSA8L2Jhc2UyPgorICAgICAgPGRlc2NyaXB0aW9uPi9hbGwvdHVyYmluZS9yLnR1cmJzaGFmdC9zLnR1cmJzaGFmdDwvZGVzY3JpcHRpb24+CisgICAgPC9jeWxpbmRlcj4KKyAgPC9jb21wb25lbnQ+Cis8L2dlb21ldHJ5R3JvdXA+CisKKyAgPCEtLSB0eXBlIDIgY3lsaW5kZXIgKG5ldywgdmVyc2lvbjIpIC0tPgorICA8Y29tcG9uZW50IG5hbWU9IjE1MDIiPgorICAgIDxkZXNjcmlwdGlvbj4vYWxsL3R1cmJpbmUvci50dXJic2hhZnQ8L2Rlc2NyaXB0aW9uPgorICAgIDxjeWxpbmRlciBuYW1lPSJzLnR1cmJzaGFmdCI+CisgICAgICA8cmFkaXVzIGRpbWVuc2lvbj0nTCcgTGVuZ3RoPSdpbmNoJz4gICAgIDEuMzc1IDwvcmFkaXVzPgorICAgICAgPGJhc2UxIGRpbWVuc2lvbj0nTCcgTGVuZ3RoPSdpbmNoJz4gIDAgMCAwIDwvYmFzZTE+CisgICAgICA8YmFzZTIgZGltZW5zaW9uPSdMJyBMZW5ndGg9J2luY2gnPiAgMS4xIDEuMSAxLjEgPC9iYXNlMj4KKyAgICAgIDxkZXNjcmlwdGlvbj4vYWxsL3R1cmJpbmUvci50dXJic2hhZnQvcy50dXJic2hhZnQ8L2Rlc2NyaXB0aW9uPgorICAgIDwvY3lsaW5kZXI+CisgIDwvY29tcG9uZW50PgorCisgIDwhLS0gdHlwZSAyIGN5bGluZGVyIChuZXcsIHZlcnNpb24yKSAtLT4KKyAgPGNvbXBvbmVudCBuYW1lPSIxNTAyIj4KKyAgICA8ZGVzY3JpcHRpb24+L2FsbC90dXJiaW5lL3IudHVyYnNoYWZ0PC9kZXNjcmlwdGlvbj4KKyAgICA8Y3lsaW5kZXIgbmFtZT0icy50dXJic2hhZnQiPgorICAgICAgPHJhZGl1cyBkaW1lbnNpb249J0wnIExlbmd0aD0naW5jaCc+ICAgICAxLjM3NSA8L3JhZGl1cz4KKyAgICAgIDxiYXNlMSBkaW1lbnNpb249J0wnIExlbmd0aD0naW5jaCc+ICAwIDAgMCA8L2Jhc2UxPgorICAgICAgPGJhc2UyIGRpbWVuc2lvbj0nTCcgTGVuZ3RoPSdpbmNoJz4gIDEuMSAxLjEgMS4xIDwvYmFzZTI+CisgICAgICA8ZGVzY3JpcHRpb24+L2FsbC90dXJiaW5lL3IudHVyYnNoYWZ0L3MudHVyYnNoYWZ0PC9kZXNjcmlwdGlvbj4KKyAgICA8L2N5bGluZGVyPgorICA8L2NvbXBvbmVudD4KKzwvZ2VvbWV0cnlHcm91cD4KKworICA8IS0tIHR5cGUgMiBjeWxpbmRlciAobmV3LCB2ZXJzaW9uMikgLS0+CisgIDxjb21wb25lbnQgbmFtZT0iMTUwMiI+CisgICAgPGRlc2NyaXB0aW9uPi9hbGwvdHVyYmluZS9yLnR1cmJzaGFmdDwvZGVzY3JpcHRpb24+CisgICAgPGN5bGluZGVyIG5hbWU9InMudHVyYnNoYWZ0Ij4KKyAgICAgIDxyYWRpdXMgZGltZW5zaW9uPSdMJyBMZW5ndGg9J2luY2gnPiAgICAgMS4zNzUgPC9yYWRpdXM+CisgICAgICA8YmFzZTEgZGltZW5zaW9uPSdMJyBMZW5ndGg9J2luY2gnPiAgMCAwIDAgPC9iYXNlMT4KKyAgICAgIDxiYXNlMiBkaW1lbnNpb249J0wnIExlbmd0aD0naW5jaCc+ICAxLjEgMS4xIDEuMSA8L2Jhc2UyPgorICAgICAgPGRlc2NyaXB0aW9uPi9hbGwvdHVyYmluZS9yLnR1cmJzaGFmdC9zLnR1cmJzaGFmdDwvZGVzY3JpcHRpb24+CisgICAgPC9jeWxpbmRlcj4KKyAgPC9jb21wb25lbnQ+CisKKyAgPCEtLSB0eXBlIDIgY3lsaW5kZXIgKG5ldywgdmVyc2lvbjIpIC0tPgorICA8Y29tcG9uZW50IG5hbWU9IjE1MDIiPgorICAgIDxkZXNjcmlwdGlvbj4vYWxsL3R1cmJpbmUvci50dXJic2hhZnQ8L2Rlc2NyaXB0aW9uPgorICAgIDxjeWxpbmRlciBuYW1lPSJzLnR1cmJzaGFmdCI+CisgICAgICA8cmFkaXVzIGRpbWVuc2lvbj0nTCcgTGVuZ3RoPSdpbmNoJz4gICAgIDEuMzc1IDwvcmFkaXVzPgorICAgICAgPGJhc2UxIGRpbWVuc2lvbj0nTCcgTGVuZ3RoPSdpbmNoJz4gIDAgMCAwIDwvYmFzZTE+CisgICAgICA8YmFzZTIgZGltZW5zaW9uPSdMJyBMZW5ndGg9J2luY2gnPiAgMS4xIDEuMSAxLjEgPC9iYXNlMj4KKyAgICAgIDxkZXNjcmlwdGlvbj4vYWxsL3R1cmJpbmUvci50dXJic2hhZnQvcy50dXJic2hhZnQ8L2Rlc2NyaXB0aW9uPgorICAgIDwvY3lsaW5kZXI+CisgIDwvY29tcG9uZW50PgorCisgIDwhLS0gdHlwZSAyIGN5bGluZGVyIChuZXcsIHZlcnNpb24yKSAtLT4KKyAgPGNvbXBvbmVudCBuYW1lPSIxNTAyIj4KKyAgICA8ZGVzY3JpcHRpb24+L2FsbC90dXJiaW5lL3IudHVyYnNoYWZ0PC9kZXNjcmlwdGlvbj4KKyAgICA8Y3lsaW5kZXIgbmFtZT0icy50dXJic2hhZnQiPgorICAgICAgPHJhZGl1cyBkaW1lbnNpb249J0wnIExlbmd0aD0naW5jaCc+ICAgICAxLjM3NSA8L3JhZGl1cz4KKyAgICAgIDxiYXNlMSBkaW1lbnNpb249J0wnIExlbmd0aD0naW5jaCc+ICAwIDAgMCA8L2Jhc2UxPgorICAgICAgPGJhc2UyIGRpbWVuc2lvbj0nTCcgTGVuZ3RoPSdpbmNoJz4gIDEuMSAxLjEgMS4xIDwvYmFzZTI+CisgICAgICA8ZGVzY3JpcHRpb24+L2FsbC90dXJiaW5lL3IudHVyYnNoYWZ0L3MudHVyYnNoYWZ0PC9kZXNjcmlwdGlvbj4KKyAgICA8L2N5bGluZGVyPgorICA8L2NvbXBvbmVudD4KKworICA8IS0tIHR5cGUgMiBjeWxpbmRlciAobmV3LCB2ZXJzaW9uMikgLS0+CisgIDxjb21wb25lbnQgbmFtZT0iMTUwMiI+CisgICAgPGRlc2NyaXB0aW9uPi9hbGwvdHVyYmluZS9yLnR1cmJzaGFmdDwvZGVzY3JpcHRpb24+CisgICAgPGN5bGluZGVyIG5hbWU9InMudHVyYnNoYWZ0Ij4KKyAgICAgIDxyYWRpdXMgZGltZW5zaW9uPSdMJyBMZW5ndGg9J2luY2gnPiAgICAgMS4zNzUgPC9yYWRpdXM+CisgICAgICA8YmFzZTEgZGltZW5zaW9uPSdMJyBMZW5ndGg9J2luY2gnPiAgMCAwIDAgPC9iYXNlMT4KKyAgICAgIDxiYXNlMiBkaW1lbnNpb249J0wnIExlbmd0aD0naW5jaCc+ICAxLjEgMS4xIDEuMSA8L2Jhc2UyPgorICAgICAgPGRlc2NyaXB0aW9uPi9hbGwvdHVyYmluZS9yLnR1cmJzaGFmdC9zLnR1cmJzaGFmdDwvZGVzY3JpcHRpb24+CisgICAgPC9jeWxpbmRlcj4KKyAgPC9jb21wb25lbnQ+CisKKzwvdGFyZ2V0R2VvbWV0cnk+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9idWczMDY4MDZfMS54c2QgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9idWczMDY4MDZfMS54c2QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWRjODA1ZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2J1ZzMwNjgwNl8xLnhzZApAQCAtMCwwICsxLDU0NCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzx4czpzY2hlbWEgeG1sbnM6eHM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiBlbGVtZW50Rm9ybURlZmF1bHQ9InF1YWxpZmllZCI+CisgIDx4czplbGVtZW50IG5hbWU9InRhcmdldEdlb21ldHJ5Ij4KKyAgICA8eHM6Y29tcGxleFR5cGU+CisgICAgICA8eHM6Z3JvdXAgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgcmVmPSJnZW9tZXRyeS1lbGVtZW50Ii8+CisgICAgPC94czpjb21wbGV4VHlwZT4KKyAgPC94czplbGVtZW50PgorICA8eHM6ZWxlbWVudCBuYW1lPSJnZW9tZXRyeUdyb3VwIiB0eXBlPSJnZW9tZXRyeUdyb3VwLWNvbnRlbnQiLz4KKyAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Imdlb21ldHJ5R3JvdXAtY29udGVudCI+CisgICAgPHhzOmdyb3VwIG1heE9jY3Vycz0idW5ib3VuZGVkIiByZWY9Imdlb21ldHJ5LWVsZW1lbnQiLz4KKyAgICA8eHM6YXR0cmlidXRlIG5hbWU9Im5hbWUiIHVzZT0icmVxdWlyZWQiIHR5cGU9InhzOnRva2VuIi8+CisgIDwveHM6Y29tcGxleFR5cGU+CisgIDx4czpncm91cCBuYW1lPSJnZW9tZXRyeS1lbGVtZW50Ij4KKyAgICA8eHM6c2VxdWVuY2U+CisgICAgICA8eHM6Y2hvaWNlIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiPgorICAgICAgICA8eHM6ZWxlbWVudCByZWY9ImNvbXBvbmVudCIvPgorICAgICAgICA8eHM6ZWxlbWVudCByZWY9Imdlb21ldHJ5R3JvdXAiLz4KKyAgICAgIDwveHM6Y2hvaWNlPgorICAgIDwveHM6c2VxdWVuY2U+CisgIDwveHM6Z3JvdXA+CisgIDx4czplbGVtZW50IG5hbWU9ImNvbXBvbmVudCI+CisgICAgPHhzOmNvbXBsZXhUeXBlPgorICAgICAgPHhzOnNlcXVlbmNlPgorICAgICAgICA8eHM6ZWxlbWVudCBtaW5PY2N1cnM9IjAiIHJlZj0iZGVzY3JpcHRpb24iLz4KKyAgICAgICAgPHhzOmNob2ljZSBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIj4KKyAgICAgICAgICA8eHM6ZWxlbWVudCByZWY9ImN5bGluZGVyIi8+CisgICAgICAgICAgPHhzOmVsZW1lbnQgcmVmPSJlbGxpcHNvaWQiLz4KKyAgICAgICAgICA8eHM6ZWxlbWVudCByZWY9ImZhY2VTZXQiLz4KKyAgICAgICAgICA8eHM6ZWxlbWVudCByZWY9InR1YmUiLz4KKyAgICAgICAgICA8eHM6ZWxlbWVudCByZWY9InNwaGVyZSIvPgorICAgICAgICAgIDx4czplbGVtZW50IHJlZj0iYm94Ii8+CisgICAgICAgICAgPHhzOmVsZW1lbnQgcmVmPSJleHRydXNpb24iLz4KKyAgICAgICAgPC94czpjaG9pY2U+CisgICAgICA8L3hzOnNlcXVlbmNlPgorICAgICAgPHhzOmF0dHJpYnV0ZUdyb3VwIHJlZj0ibmFtZS1hdHRyaWJ1dGUiLz4KKyAgICA8L3hzOmNvbXBsZXhUeXBlPgorICA8L3hzOmVsZW1lbnQ+CisgIDx4czplbGVtZW50IG5hbWU9InRyYW5zbGF0aW9uIj4KKyAgICA8eHM6Y29tcGxleFR5cGU+CisgICAgICA8eHM6c2ltcGxlQ29udGVudD4KKyAgICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0aHJlZS1kb3VibGVzLWxpc3QiPgorICAgICAgICAgIDx4czphdHRyaWJ1dGVHcm91cCByZWY9ImRpbWVuc2lvbi1hdHRyaWJ1dGUiLz4KKyAgICAgICAgICA8eHM6YXR0cmlidXRlR3JvdXAgcmVmPSJMZW5ndGgtYXR0cmlidXRlIi8+CisgICAgICAgIDwveHM6ZXh0ZW5zaW9uPgorICAgICAgPC94czpzaW1wbGVDb250ZW50PgorICAgIDwveHM6Y29tcGxleFR5cGU+CisgIDwveHM6ZWxlbWVudD4KKyAgPHhzOmVsZW1lbnQgbmFtZT0icm90YXRpb24iPgorICAgIDx4czpjb21wbGV4VHlwZT4KKyAgICAgIDx4czpzaW1wbGVDb250ZW50PgorICAgICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRocmVlLWRvdWJsZXMtbGlzdCI+CisgICAgICAgICAgPHhzOmF0dHJpYnV0ZUdyb3VwIHJlZj0iZGltZW5zaW9uLWF0dHJpYnV0ZSIvPgorICAgICAgICAgIDx4czphdHRyaWJ1dGVHcm91cCByZWY9Ikxlbmd0aC1hdHRyaWJ1dGUiLz4KKyAgICAgICAgPC94czpleHRlbnNpb24+CisgICAgICA8L3hzOnNpbXBsZUNvbnRlbnQ+CisgICAgPC94czpjb21wbGV4VHlwZT4KKyAgPC94czplbGVtZW50PgorICA8eHM6ZWxlbWVudCBuYW1lPSJhYm91dCI+CisgICAgPHhzOmNvbXBsZXhUeXBlPgorICAgICAgPHhzOnNpbXBsZUNvbnRlbnQ+CisgICAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idGhyZWUtZG91Ymxlcy1saXN0Ij4KKyAgICAgICAgICA8eHM6YXR0cmlidXRlR3JvdXAgcmVmPSJkaW1lbnNpb24tYXR0cmlidXRlIi8+CisgICAgICAgICAgPHhzOmF0dHJpYnV0ZUdyb3VwIHJlZj0iTGVuZ3RoLWF0dHJpYnV0ZSIvPgorICAgICAgICA8L3hzOmV4dGVuc2lvbj4KKyAgICAgIDwveHM6c2ltcGxlQ29udGVudD4KKyAgICA8L3hzOmNvbXBsZXhUeXBlPgorICA8L3hzOmVsZW1lbnQ+CisgIDx4czplbGVtZW50IG5hbWU9Imxlbmd0aCI+CisgICAgPHhzOmNvbXBsZXhUeXBlPgorICAgICAgPHhzOnNpbXBsZUNvbnRlbnQ+CisgICAgICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czphbnlUeXBlIj4KKyAgICAgICAgICA8eHM6c2ltcGxlVHlwZT4KKyAgICAgICAgICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpkb3VibGUiPgorICAgICAgICAgICAgICA8eHM6bWluRXhjbHVzaXZlIHZhbHVlPSIwIi8+CisgICAgICAgICAgICA8L3hzOnJlc3RyaWN0aW9uPgorICAgICAgICAgIDwveHM6c2ltcGxlVHlwZT4KKyAgICAgICAgICA8eHM6YXR0cmlidXRlR3JvdXAgcmVmPSJkaW1lbnNpb24tYXR0cmlidXRlIi8+CisgICAgICAgICAgPHhzOmF0dHJpYnV0ZUdyb3VwIHJlZj0iTGVuZ3RoLWF0dHJpYnV0ZSIvPgorICAgICAgICA8L3hzOnJlc3RyaWN0aW9uPgorICAgICAgPC94czpzaW1wbGVDb250ZW50PgorICAgIDwveHM6Y29tcGxleFR5cGU+CisgIDwveHM6ZWxlbWVudD4KKyAgPHhzOmVsZW1lbnQgbmFtZT0icmFkaXVzIj4KKyAgICA8eHM6Y29tcGxleFR5cGU+CisgICAgICA8eHM6c2ltcGxlQ29udGVudD4KKyAgICAgICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOmFueVR5cGUiPgorICAgICAgICAgIDx4czpzaW1wbGVUeXBlPgorICAgICAgICAgICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOmRvdWJsZSI+CisgICAgICAgICAgICAgIDx4czptaW5FeGNsdXNpdmUgdmFsdWU9IjAiLz4KKyAgICAgICAgICAgIDwveHM6cmVzdHJpY3Rpb24+CisgICAgICAgICAgPC94czpzaW1wbGVUeXBlPgorICAgICAgICAgIDx4czphdHRyaWJ1dGVHcm91cCByZWY9ImRpbWVuc2lvbi1hdHRyaWJ1dGUiLz4KKyAgICAgICAgICA8eHM6YXR0cmlidXRlR3JvdXAgcmVmPSJMZW5ndGgtYXR0cmlidXRlIi8+CisgICAgICAgIDwveHM6cmVzdHJpY3Rpb24+CisgICAgICA8L3hzOnNpbXBsZUNvbnRlbnQ+CisgICAgPC94czpjb21wbGV4VHlwZT4KKyAgPC94czplbGVtZW50PgorICA8eHM6ZWxlbWVudCBuYW1lPSJiYXNlMSI+CisgICAgPHhzOmNvbXBsZXhUeXBlPgorICAgICAgPHhzOnNpbXBsZUNvbnRlbnQ+CisgICAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idGhyZWUtZG91Ymxlcy1saXN0Ij4KKyAgICAgICAgICA8eHM6YXR0cmlidXRlR3JvdXAgcmVmPSJkaW1lbnNpb24tYXR0cmlidXRlIi8+CisgICAgICAgICAgPHhzOmF0dHJpYnV0ZUdyb3VwIHJlZj0iTGVuZ3RoLWF0dHJpYnV0ZSIvPgorICAgICAgICA8L3hzOmV4dGVuc2lvbj4KKyAgICAgIDwveHM6c2ltcGxlQ29udGVudD4KKyAgICA8L3hzOmNvbXBsZXhUeXBlPgorICA8L3hzOmVsZW1lbnQ+CisgIDx4czplbGVtZW50IG5hbWU9ImJhc2UyIj4KKyAgICA8eHM6Y29tcGxleFR5cGU+CisgICAgICA8eHM6c2ltcGxlQ29udGVudD4KKyAgICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0aHJlZS1kb3VibGVzLWxpc3QiPgorICAgICAgICAgIDx4czphdHRyaWJ1dGVHcm91cCByZWY9ImRpbWVuc2lvbi1hdHRyaWJ1dGUiLz4KKyAgICAgICAgICA8eHM6YXR0cmlidXRlR3JvdXAgcmVmPSJMZW5ndGgtYXR0cmlidXRlIi8+CisgICAgICAgIDwveHM6ZXh0ZW5zaW9uPgorICAgICAgPC94czpzaW1wbGVDb250ZW50PgorICAgIDwveHM6Y29tcGxleFR5cGU+CisgIDwveHM6ZWxlbWVudD4KKyAgPHhzOmVsZW1lbnQgbmFtZT0idHJhbnNmb3JtIj4KKyAgICA8eHM6Y29tcGxleFR5cGU+CisgICAgICA8eHM6c2VxdWVuY2U+CisgICAgICAgIDx4czplbGVtZW50IG1pbk9jY3Vycz0iMCIgcmVmPSJ0cmFuc2xhdGlvbiIvPgorICAgICAgICA8eHM6ZWxlbWVudCBtaW5PY2N1cnM9IjAiIHJlZj0icm90YXRpb24iLz4KKyAgICAgICAgPHhzOmVsZW1lbnQgbWluT2NjdXJzPSIwIiByZWY9ImFib3V0Ii8+CisgICAgICA8L3hzOnNlcXVlbmNlPgorICAgIDwveHM6Y29tcGxleFR5cGU+CisgIDwveHM6ZWxlbWVudD4KKyAgPHhzOmVsZW1lbnQgbmFtZT0iY3lsLXRyYW5zZm9ybSI+CisgICAgPHhzOmNvbXBsZXhUeXBlPgorICAgICAgPHhzOnNlcXVlbmNlPgorICAgICAgICA8eHM6ZWxlbWVudCByZWY9InRyYW5zbGF0aW9uIi8+CisgICAgICAgIDx4czplbGVtZW50IG1pbk9jY3Vycz0iMCIgcmVmPSJyb3RhdGlvbiIvPgorICAgICAgICA8eHM6ZWxlbWVudCBtaW5PY2N1cnM9IjAiIHJlZj0iYWJvdXQiLz4KKyAgICAgIDwveHM6c2VxdWVuY2U+CisgICAgPC94czpjb21wbGV4VHlwZT4KKyAgPC94czplbGVtZW50PgorICA8eHM6ZWxlbWVudCBuYW1lPSJjeWxpbmRlciI+CisgICAgPHhzOmNvbXBsZXhUeXBlPgorICAgICAgPHhzOmNob2ljZSBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIj4KKyAgICAgICAgPHhzOmVsZW1lbnQgcmVmPSJyYWRpdXMiLz4KKyAgICAgICAgPHhzOmNob2ljZT4KKyAgICAgICAgICA8eHM6Y2hvaWNlPgorICAgICAgICAgICAgPHhzOmVsZW1lbnQgcmVmPSJsZW5ndGgiLz4KKyAgICAgICAgICAgIDx4czplbGVtZW50IHJlZj0iY3lsLXRyYW5zZm9ybSIvPgorICAgICAgICAgIDwveHM6Y2hvaWNlPgorICAgICAgICAgIDx4czpjaG9pY2U+CisgICAgICAgICAgICA8eHM6ZWxlbWVudCByZWY9ImJhc2UxIi8+CisgICAgICAgICAgICA8eHM6ZWxlbWVudCByZWY9ImJhc2UyIi8+CisgICAgICAgICAgICA8eHM6ZWxlbWVudCBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiByZWY9InRyYW5zZm9ybSIvPgorICAgICAgICAgIDwveHM6Y2hvaWNlPgorICAgICAgICA8L3hzOmNob2ljZT4KKyAgICAgICAgPHhzOmVsZW1lbnQgcmVmPSJkZXNjcmlwdGlvbiIvPgorICAgICAgICA8eHM6ZWxlbWVudCByZWY9InZNYXRlcmlhbCIvPgorICAgICAgPC94czpjaG9pY2U+CisgICAgICA8eHM6YXR0cmlidXRlR3JvdXAgcmVmPSJuYW1lLWF0dHJpYnV0ZSIvPgorICAgIDwveHM6Y29tcGxleFR5cGU+CisgIDwveHM6ZWxlbWVudD4KKyAgPHhzOmVsZW1lbnQgbmFtZT0iZWxsaXBzb2lkIj4KKyAgICA8eHM6Y29tcGxleFR5cGU+CisgICAgICA8eHM6Y2hvaWNlIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiPgorICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJyYWRpdXMiPgorICAgICAgICAgIDx4czpjb21wbGV4VHlwZT4KKyAgICAgICAgICAgIDx4czpzaW1wbGVDb250ZW50PgorICAgICAgICAgICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRocmVlLWRvdWJsZXMtbGlzdCI+CisgICAgICAgICAgICAgICAgPHhzOmF0dHJpYnV0ZUdyb3VwIHJlZj0ibGVuZ3RoLWF0dHJpYnV0ZSIvPgorICAgICAgICAgICAgICA8L3hzOmV4dGVuc2lvbj4KKyAgICAgICAgICAgIDwveHM6c2ltcGxlQ29udGVudD4KKyAgICAgICAgICA8L3hzOmNvbXBsZXhUeXBlPgorICAgICAgICA8L3hzOmVsZW1lbnQ+CisgICAgICAgIDx4czplbGVtZW50IHJlZj0idk1hdGVyaWFsIi8+CisgICAgICAgIDx4czplbGVtZW50IHJlZj0idHJhbnNmb3JtIi8+CisgICAgICA8L3hzOmNob2ljZT4KKyAgICAgIDx4czphdHRyaWJ1dGVHcm91cCByZWY9Im5hbWUtYXR0cmlidXRlIi8+CisgICAgPC94czpjb21wbGV4VHlwZT4KKyAgPC94czplbGVtZW50PgorICA8eHM6ZWxlbWVudCBuYW1lPSJmYWNlU2V0Ij4KKyAgICA8eHM6Y29tcGxleFR5cGU+CisgICAgICA8eHM6Y2hvaWNlIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiPgorICAgICAgICA8eHM6ZWxlbWVudCByZWY9ImRlc2NyaXB0aW9uIi8+CisgICAgICAgIDx4czplbGVtZW50IHJlZj0idmVydGV4X25vcm1hbHMiLz4KKyAgICAgICAgPHhzOmVsZW1lbnQgcmVmPSJ2ZXJ0aWNlcyIvPgorICAgICAgICA8eHM6ZWxlbWVudCByZWY9ImZhY2V0cyIvPgorICAgICAgICA8eHM6Z3JvdXAgcmVmPSJvcHRpb25hbC1jb250ZW50Ii8+CisgICAgICA8L3hzOmNob2ljZT4KKyAgICAgIDx4czphdHRyaWJ1dGUgbmFtZT0ibmFtZSIgdHlwZT0ieHM6dG9rZW4iLz4KKyAgICA8L3hzOmNvbXBsZXhUeXBlPgorICA8L3hzOmVsZW1lbnQ+CisgIDx4czplbGVtZW50IG5hbWU9ImZhY2V0cyIgdHlwZT0iZmFjZXRzLWNvbnRlbnQiLz4KKyAgPHhzOnNpbXBsZVR5cGUgbmFtZT0iZmFjZXRzLWNvbnRlbnQiPgorICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJpbnRlZ2VyLWxpc3QiLz4KKyAgPC94czpzaW1wbGVUeXBlPgorICA8eHM6ZWxlbWVudCBuYW1lPSJ2ZXJ0ZXhfbm9ybWFscyIgdHlwZT0idmVydGV4X25vcm1hbHMtY29udGVudCIvPgorICA8eHM6Y29tcGxleFR5cGUgbmFtZT0idmVydGV4X25vcm1hbHMtY29udGVudCI+CisgICAgPHhzOnNpbXBsZUNvbnRlbnQ+CisgICAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6YW55VHlwZSI+CisgICAgICAgIDx4czpzaW1wbGVUeXBlPgorICAgICAgICAgIDx4czpyZXN0cmljdGlvbj4KKyAgICAgICAgICAgIDx4czpzaW1wbGVUeXBlPgorICAgICAgICAgICAgICA8eHM6bGlzdD4KKyAgICAgICAgICAgICAgICA8eHM6c2ltcGxlVHlwZT4KKyAgICAgICAgICAgICAgICAgIDx4czp1bmlvbj4KKyAgICAgICAgICAgICAgICAgICAgPHhzOnNpbXBsZVR5cGU+CisgICAgICAgICAgICAgICAgICAgICAgPHhzOnVuaW9uIG1lbWJlclR5cGVzPSJ4czpkb3VibGUgeHM6ZG91YmxlIHhzOmRvdWJsZSIvPgorICAgICAgICAgICAgICAgICAgICA8L3hzOnNpbXBsZVR5cGU+CisgICAgICAgICAgICAgICAgICAgIDx4czpzaW1wbGVUeXBlPgorICAgICAgICAgICAgICAgICAgICAgIDx4czp1bmlvbiBtZW1iZXJUeXBlcz0ieHM6ZG91YmxlIHhzOmRvdWJsZSB4czpkb3VibGUiLz4KKyAgICAgICAgICAgICAgICAgICAgPC94czpzaW1wbGVUeXBlPgorICAgICAgICAgICAgICAgICAgICA8eHM6c2ltcGxlVHlwZT4KKyAgICAgICAgICAgICAgICAgICAgICA8eHM6dW5pb24gbWVtYmVyVHlwZXM9InhzOmRvdWJsZSB4czpkb3VibGUgeHM6ZG91YmxlIi8+CisgICAgICAgICAgICAgICAgICAgIDwveHM6c2ltcGxlVHlwZT4KKyAgICAgICAgICAgICAgICAgICAgPHhzOnNpbXBsZVR5cGU+CisgICAgICAgICAgICAgICAgICAgICAgPHhzOnVuaW9uIG1lbWJlclR5cGVzPSJ4czpkb3VibGUgeHM6ZG91YmxlIHhzOmRvdWJsZSIvPgorICAgICAgICAgICAgICAgICAgICA8L3hzOnNpbXBsZVR5cGU+CisgICAgICAgICAgICAgICAgICA8L3hzOnVuaW9uPgorICAgICAgICAgICAgICAgIDwveHM6c2ltcGxlVHlwZT4KKyAgICAgICAgICAgICAgPC94czpsaXN0PgorICAgICAgICAgICAgPC94czpzaW1wbGVUeXBlPgorICAgICAgICAgICAgPHhzOm1pbkxlbmd0aCB2YWx1ZT0iOSIvPgorICAgICAgICAgIDwveHM6cmVzdHJpY3Rpb24+CisgICAgICAgIDwveHM6c2ltcGxlVHlwZT4KKyAgICAgICAgPHhzOmF0dHJpYnV0ZUdyb3VwIHJlZj0ibGVuZ3RoLWF0dHJpYnV0ZSIvPgorICAgICAgPC94czpyZXN0cmljdGlvbj4KKyAgICA8L3hzOnNpbXBsZUNvbnRlbnQ+CisgIDwveHM6Y29tcGxleFR5cGU+CisgIDx4czplbGVtZW50IG5hbWU9InZlcnRpY2VzIiB0eXBlPSJ2ZXJ0aWNlcy1jb250ZW50Ii8+CisgIDx4czpjb21wbGV4VHlwZSBuYW1lPSJ2ZXJ0aWNlcy1jb250ZW50Ij4KKyAgICA8eHM6c2ltcGxlQ29udGVudD4KKyAgICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czphbnlUeXBlIj4KKyAgICAgICAgPHhzOnNpbXBsZVR5cGU+CisgICAgICAgICAgPHhzOnJlc3RyaWN0aW9uPgorICAgICAgICAgICAgPHhzOnNpbXBsZVR5cGU+CisgICAgICAgICAgICAgIDx4czpsaXN0PgorICAgICAgICAgICAgICAgIDx4czpzaW1wbGVUeXBlPgorICAgICAgICAgICAgICAgICAgPHhzOnVuaW9uPgorICAgICAgICAgICAgICAgICAgICA8eHM6c2ltcGxlVHlwZT4KKyAgICAgICAgICAgICAgICAgICAgICA8eHM6dW5pb24gbWVtYmVyVHlwZXM9InhzOmRvdWJsZSB4czpkb3VibGUgeHM6ZG91YmxlIi8+CisgICAgICAgICAgICAgICAgICAgIDwveHM6c2ltcGxlVHlwZT4KKyAgICAgICAgICAgICAgICAgICAgPHhzOnNpbXBsZVR5cGU+CisgICAgICAgICAgICAgICAgICAgICAgPHhzOnVuaW9uIG1lbWJlclR5cGVzPSJ4czpkb3VibGUgeHM6ZG91YmxlIHhzOmRvdWJsZSIvPgorICAgICAgICAgICAgICAgICAgICA8L3hzOnNpbXBsZVR5cGU+CisgICAgICAgICAgICAgICAgICAgIDx4czpzaW1wbGVUeXBlPgorICAgICAgICAgICAgICAgICAgICAgIDx4czp1bmlvbiBtZW1iZXJUeXBlcz0ieHM6ZG91YmxlIHhzOmRvdWJsZSB4czpkb3VibGUiLz4KKyAgICAgICAgICAgICAgICAgICAgPC94czpzaW1wbGVUeXBlPgorICAgICAgICAgICAgICAgICAgICA8eHM6c2ltcGxlVHlwZT4KKyAgICAgICAgICAgICAgICAgICAgICA8eHM6dW5pb24gbWVtYmVyVHlwZXM9InhzOmRvdWJsZSB4czpkb3VibGUgeHM6ZG91YmxlIi8+CisgICAgICAgICAgICAgICAgICAgIDwveHM6c2ltcGxlVHlwZT4KKyAgICAgICAgICAgICAgICAgIDwveHM6dW5pb24+CisgICAgICAgICAgICAgICAgPC94czpzaW1wbGVUeXBlPgorICAgICAgICAgICAgICA8L3hzOmxpc3Q+CisgICAgICAgICAgICA8L3hzOnNpbXBsZVR5cGU+CisgICAgICAgICAgICA8eHM6bWluTGVuZ3RoIHZhbHVlPSI5Ii8+CisgICAgICAgICAgPC94czpyZXN0cmljdGlvbj4KKyAgICAgICAgPC94czpzaW1wbGVUeXBlPgorICAgICAgICA8eHM6YXR0cmlidXRlR3JvdXAgcmVmPSJsZW5ndGgtYXR0cmlidXRlIi8+CisgICAgICA8L3hzOnJlc3RyaWN0aW9uPgorICAgIDwveHM6c2ltcGxlQ29udGVudD4KKyAgPC94czpjb21wbGV4VHlwZT4KKyAgPHhzOmVsZW1lbnQgbmFtZT0idHViZSIgdHlwZT0idHViZS1jb250ZW50Ii8+CisgIDx4czpjb21wbGV4VHlwZSBuYW1lPSJ0dWJlLWNvbnRlbnQiPgorICAgIDx4czpjaG9pY2UgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCI+CisgICAgICA8eHM6ZWxlbWVudCByZWY9InNwaW5lIi8+CisgICAgICA8eHM6ZWxlbWVudCByZWY9InJhZGl1cyIvPgorICAgICAgPHhzOmdyb3VwIHJlZj0ib3B0aW9uYWwtY29udGVudCIvPgorICAgIDwveHM6Y2hvaWNlPgorICAgIDx4czphdHRyaWJ1dGVHcm91cCByZWY9Im5hbWUtYXR0cmlidXRlIi8+CisgIDwveHM6Y29tcGxleFR5cGU+CisgIDx4czplbGVtZW50IG5hbWU9InNwaW5lIiB0eXBlPSJzcGluZS1jb250ZW50Ii8+CisgIDx4czpjb21wbGV4VHlwZSBuYW1lPSJzcGluZS1jb250ZW50Ij4KKyAgICA8eHM6c2ltcGxlQ29udGVudD4KKyAgICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czphbnlUeXBlIj4KKyAgICAgICAgPHhzOnNpbXBsZVR5cGU+CisgICAgICAgICAgPHhzOnJlc3RyaWN0aW9uPgorICAgICAgICAgICAgPHhzOnNpbXBsZVR5cGU+CisgICAgICAgICAgICAgIDx4czpsaXN0PgorICAgICAgICAgICAgICAgIDx4czpzaW1wbGVUeXBlPgorICAgICAgICAgICAgICAgICAgPHhzOnVuaW9uPgorICAgICAgICAgICAgICAgICAgICA8eHM6c2ltcGxlVHlwZT4KKyAgICAgICAgICAgICAgICAgICAgICA8eHM6dW5pb24gbWVtYmVyVHlwZXM9InhzOmRvdWJsZSB4czpkb3VibGUgeHM6ZG91YmxlIi8+CisgICAgICAgICAgICAgICAgICAgIDwveHM6c2ltcGxlVHlwZT4KKyAgICAgICAgICAgICAgICAgICAgPHhzOnNpbXBsZVR5cGU+CisgICAgICAgICAgICAgICAgICAgICAgPHhzOnVuaW9uIG1lbWJlclR5cGVzPSJ4czpkb3VibGUgeHM6ZG91YmxlIHhzOmRvdWJsZSIvPgorICAgICAgICAgICAgICAgICAgICA8L3hzOnNpbXBsZVR5cGU+CisgICAgICAgICAgICAgICAgICA8L3hzOnVuaW9uPgorICAgICAgICAgICAgICAgIDwveHM6c2ltcGxlVHlwZT4KKyAgICAgICAgICAgICAgPC94czpsaXN0PgorICAgICAgICAgICAgPC94czpzaW1wbGVUeXBlPgorICAgICAgICAgICAgPHhzOm1pbkxlbmd0aCB2YWx1ZT0iNiIvPgorICAgICAgICAgIDwveHM6cmVzdHJpY3Rpb24+CisgICAgICAgIDwveHM6c2ltcGxlVHlwZT4KKyAgICAgICAgPHhzOmF0dHJpYnV0ZUdyb3VwIHJlZj0ibGVuZ3RoLWF0dHJpYnV0ZSIvPgorICAgICAgPC94czpyZXN0cmljdGlvbj4KKyAgICA8L3hzOnNpbXBsZUNvbnRlbnQ+CisgIDwveHM6Y29tcGxleFR5cGU+CisgIDx4czplbGVtZW50IG5hbWU9InNwaGVyZSIgdHlwZT0ic3BoZXJlLWNvbnRlbnQiLz4KKyAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9InNwaGVyZS1jb250ZW50Ij4KKyAgICA8eHM6Y2hvaWNlIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiPgorICAgICAgPHhzOmVsZW1lbnQgcmVmPSJyYWRpdXMiLz4KKyAgICAgIDx4czplbGVtZW50IHJlZj0icG9zaXRpb24iLz4KKyAgICA8L3hzOmNob2ljZT4KKyAgICA8eHM6YXR0cmlidXRlR3JvdXAgcmVmPSJuYW1lLWF0dHJpYnV0ZSIvPgorICA8L3hzOmNvbXBsZXhUeXBlPgorICA8eHM6ZWxlbWVudCBuYW1lPSJwb3NpdGlvbiIgdHlwZT0icG9zaXRpb24tY29udGVudCIvPgorICA8eHM6Y29tcGxleFR5cGUgbmFtZT0icG9zaXRpb24tY29udGVudCI+CisgICAgPHhzOnNpbXBsZUNvbnRlbnQ+CisgICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRocmVlLWRvdWJsZXMtbGlzdCI+CisgICAgICAgIDx4czphdHRyaWJ1dGVHcm91cCByZWY9Imxlbmd0aC1hdHRyaWJ1dGUiLz4KKyAgICAgIDwveHM6ZXh0ZW5zaW9uPgorICAgIDwveHM6c2ltcGxlQ29udGVudD4KKyAgPC94czpjb21wbGV4VHlwZT4KKyAgPHhzOmVsZW1lbnQgbmFtZT0iYm94IiB0eXBlPSJib3gtY29udGVudCIvPgorICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iYm94LWNvbnRlbnQiPgorICAgIDx4czpjaG9pY2UgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCI+CisgICAgICA8eHM6ZWxlbWVudCByZWY9InNpemUiLz4KKyAgICAgIDx4czpjaG9pY2U+CisgICAgICAgIDx4czplbGVtZW50IHJlZj0icG9zaXRpb24iLz4KKyAgICAgICAgPHhzOmVsZW1lbnQgcmVmPSJ0cmFuc2Zvcm0iLz4KKyAgICAgIDwveHM6Y2hvaWNlPgorICAgIDwveHM6Y2hvaWNlPgorICAgIDx4czphdHRyaWJ1dGVHcm91cCByZWY9Im5hbWUtYXR0cmlidXRlIi8+CisgIDwveHM6Y29tcGxleFR5cGU+CisgIDx4czplbGVtZW50IG5hbWU9InNpemUiIHR5cGU9InNpemUtY29udGVudCIvPgorICA8eHM6Y29tcGxleFR5cGUgbmFtZT0ic2l6ZS1jb250ZW50Ij4KKyAgICA8eHM6c2ltcGxlQ29udGVudD4KKyAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idGhyZWUtZG91Ymxlcy1saXN0Ij4KKyAgICAgICAgPHhzOmF0dHJpYnV0ZUdyb3VwIHJlZj0ibGVuZ3RoLWF0dHJpYnV0ZSIvPgorICAgICAgPC94czpleHRlbnNpb24+CisgICAgPC94czpzaW1wbGVDb250ZW50PgorICA8L3hzOmNvbXBsZXhUeXBlPgorICA8eHM6ZWxlbWVudCBuYW1lPSJleHRydXNpb24iIHR5cGU9ImV4dHJ1c2lvbi1jb250ZW50Ii8+CisgIDx4czpjb21wbGV4VHlwZSBuYW1lPSJleHRydXNpb24tY29udGVudCI+CisgICAgPHhzOmNob2ljZSBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIj4KKyAgICAgIDx4czplbGVtZW50IHJlZj0ic3BpbmUiLz4KKyAgICAgIDx4czplbGVtZW50IHJlZj0ic2NhbGUiLz4KKyAgICAgIDx4czplbGVtZW50IHJlZj0iY3Jvc3NTZWN0aW9uIi8+CisgICAgICA8eHM6Z3JvdXAgcmVmPSJvcHRpb25hbC1jb250ZW50Ii8+CisgICAgPC94czpjaG9pY2U+CisgICAgPHhzOmF0dHJpYnV0ZUdyb3VwIHJlZj0ibmFtZS1hdHRyaWJ1dGUiLz4KKyAgPC94czpjb21wbGV4VHlwZT4KKyAgPHhzOmVsZW1lbnQgbmFtZT0ic2NhbGUiIHR5cGU9InNjYWxlLWNvbnRlbnQiLz4KKyAgPHhzOnNpbXBsZVR5cGUgbmFtZT0ic2NhbGUtY29udGVudCI+CisgICAgPHhzOnJlc3RyaWN0aW9uPgorICAgICAgPHhzOnNpbXBsZVR5cGU+CisgICAgICAgIDx4czpsaXN0PgorICAgICAgICAgIDx4czpzaW1wbGVUeXBlPgorICAgICAgICAgICAgPHhzOnVuaW9uIG1lbWJlclR5cGVzPSJ4czpkb3VibGUgeHM6ZG91YmxlIi8+CisgICAgICAgICAgPC94czpzaW1wbGVUeXBlPgorICAgICAgICA8L3hzOmxpc3Q+CisgICAgICA8L3hzOnNpbXBsZVR5cGU+CisgICAgICA8eHM6bWluTGVuZ3RoIHZhbHVlPSIyIi8+CisgICAgPC94czpyZXN0cmljdGlvbj4KKyAgPC94czpzaW1wbGVUeXBlPgorICA8eHM6ZWxlbWVudCBuYW1lPSJjcm9zc1NlY3Rpb24iIHR5cGU9ImNyb3NzU2VjdGlvbi1jb250ZW50Ii8+CisgIDx4czpjb21wbGV4VHlwZSBuYW1lPSJjcm9zc1NlY3Rpb24tY29udGVudCI+CisgICAgPHhzOnNpbXBsZUNvbnRlbnQ+CisgICAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6YW55VHlwZSI+CisgICAgICAgIDx4czpzaW1wbGVUeXBlPgorICAgICAgICAgIDx4czpyZXN0cmljdGlvbj4KKyAgICAgICAgICAgIDx4czpzaW1wbGVUeXBlPgorICAgICAgICAgICAgICA8eHM6bGlzdD4KKyAgICAgICAgICAgICAgICA8eHM6c2ltcGxlVHlwZT4KKyAgICAgICAgICAgICAgICAgIDx4czp1bmlvbj4KKyAgICAgICAgICAgICAgICAgICAgPHhzOnNpbXBsZVR5cGU+CisgICAgICAgICAgICAgICAgICAgICAgPHhzOnVuaW9uIG1lbWJlclR5cGVzPSJ4czpkb3VibGUgeHM6ZG91YmxlIHhzOmRvdWJsZSIvPgorICAgICAgICAgICAgICAgICAgICA8L3hzOnNpbXBsZVR5cGU+CisgICAgICAgICAgICAgICAgICAgIDx4czpzaW1wbGVUeXBlPgorICAgICAgICAgICAgICAgICAgICAgIDx4czp1bmlvbiBtZW1iZXJUeXBlcz0ieHM6ZG91YmxlIHhzOmRvdWJsZSB4czpkb3VibGUiLz4KKyAgICAgICAgICAgICAgICAgICAgPC94czpzaW1wbGVUeXBlPgorICAgICAgICAgICAgICAgICAgICA8eHM6c2ltcGxlVHlwZT4KKyAgICAgICAgICAgICAgICAgICAgICA8eHM6dW5pb24gbWVtYmVyVHlwZXM9InhzOmRvdWJsZSB4czpkb3VibGUgeHM6ZG91YmxlIi8+CisgICAgICAgICAgICAgICAgICAgIDwveHM6c2ltcGxlVHlwZT4KKyAgICAgICAgICAgICAgICAgIDwveHM6dW5pb24+CisgICAgICAgICAgICAgICAgPC94czpzaW1wbGVUeXBlPgorICAgICAgICAgICAgICA8L3hzOmxpc3Q+CisgICAgICAgICAgICA8L3hzOnNpbXBsZVR5cGU+CisgICAgICAgICAgICA8eHM6bWluTGVuZ3RoIHZhbHVlPSI5Ii8+CisgICAgICAgICAgPC94czpyZXN0cmljdGlvbj4KKyAgICAgICAgPC94czpzaW1wbGVUeXBlPgorICAgICAgICA8eHM6YXR0cmlidXRlR3JvdXAgcmVmPSJsZW5ndGgtYXR0cmlidXRlIi8+CisgICAgICAgIDx4czphdHRyaWJ1dGVHcm91cCByZWY9ImNsb3NlZC1hdHRyaWJ1dGUiLz4KKyAgICAgIDwveHM6cmVzdHJpY3Rpb24+CisgICAgPC94czpzaW1wbGVDb250ZW50PgorICA8L3hzOmNvbXBsZXhUeXBlPgorICA8eHM6YXR0cmlidXRlR3JvdXAgbmFtZT0iY2xvc2VkLWF0dHJpYnV0ZSI+CisgICAgPHhzOmF0dHJpYnV0ZSBuYW1lPSJjbG9zZWQiIHVzZT0icmVxdWlyZWQiIHR5cGU9InhzOmJvb2xlYW4iLz4KKyAgPC94czphdHRyaWJ1dGVHcm91cD4KKyAgPHhzOmdyb3VwIG5hbWU9Im9wdGlvbmFsLWNvbnRlbnQiPgorICAgIDx4czphbm5vdGF0aW9uPgorICAgICAgPHhzOmRvY3VtZW50YXRpb24+Z2xvYmFsICMjIyMjIyMjIyMjIyM8L3hzOmRvY3VtZW50YXRpb24+CisgICAgPC94czphbm5vdGF0aW9uPgorICAgIDx4czpzZXF1ZW5jZT4KKyAgICAgIDx4czpjaG9pY2UgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCI+CisgICAgICAgIDx4czplbGVtZW50IHJlZj0idHJhbnNmb3JtIi8+CisgICAgICAgIDx4czplbGVtZW50IHJlZj0idk1hdGVyaWFsIi8+CisgICAgICA8L3hzOmNob2ljZT4KKyAgICA8L3hzOnNlcXVlbmNlPgorICA8L3hzOmdyb3VwPgorICA8eHM6ZWxlbWVudCBuYW1lPSJkZXNjcmlwdGlvbiIgdHlwZT0ieHM6c3RyaW5nIi8+CisgIDx4czphdHRyaWJ1dGVHcm91cCBuYW1lPSJsZW5ndGgtYXR0cmlidXRlIj4KKyAgICA8eHM6YXR0cmlidXRlR3JvdXAgcmVmPSJkaW1lbnNpb24tYXR0cmlidXRlIi8+CisgICAgPHhzOmF0dHJpYnV0ZUdyb3VwIHJlZj0iTGVuZ3RoLWF0dHJpYnV0ZSIvPgorICA8L3hzOmF0dHJpYnV0ZUdyb3VwPgorICA8eHM6YXR0cmlidXRlR3JvdXAgbmFtZT0iZGltZW5zaW9uLWF0dHJpYnV0ZSI+CisgICAgPHhzOmF0dHJpYnV0ZSBuYW1lPSJkaW1lbnNpb24iIHVzZT0icmVxdWlyZWQiPgorICAgICAgPHhzOnNpbXBsZVR5cGU+CisgICAgICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czp0b2tlbiI+CisgICAgICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJMIi8+CisgICAgICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJGIi8+CisgICAgICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJNIi8+CisgICAgICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJUIi8+CisgICAgICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJGL0wiLz4KKyAgICAgICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkYvTEwiLz4KKyAgICAgICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkYvTExMIi8+CisgICAgICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJGL1QiLz4KKyAgICAgICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkYvVFQiLz4KKyAgICAgICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkYvVFRUIi8+CisgICAgICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJML1QiLz4KKyAgICAgICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkwvVFQiLz4KKyAgICAgICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkxMTExMIi8+CisgICAgICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEL0QiLz4KKyAgICAgICAgPC94czpyZXN0cmljdGlvbj4KKyAgICAgIDwveHM6c2ltcGxlVHlwZT4KKyAgICA8L3hzOmF0dHJpYnV0ZT4KKyAgPC94czphdHRyaWJ1dGVHcm91cD4KKyAgPHhzOmF0dHJpYnV0ZUdyb3VwIG5hbWU9Ikxlbmd0aC1hdHRyaWJ1dGUiPgorICAgIDx4czphdHRyaWJ1dGUgbmFtZT0iTGVuZ3RoIiB1c2U9InJlcXVpcmVkIj4KKyAgICAgIDx4czpzaW1wbGVUeXBlPgorICAgICAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6dG9rZW4iPgorICAgICAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0ibWV0ZXIiLz4KKyAgICAgICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Im0iLz4KKyAgICAgICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9ImZvb3QiLz4KKyAgICAgICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9ImYiLz4KKyAgICAgICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9ImluY2giLz4KKyAgICAgICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9ImluIi8+CisgICAgICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJjZW50aW1ldGVyIi8+CisgICAgICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJjbSIvPgorICAgICAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iZGVjaW1ldGVyIi8+CisgICAgICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJkbSIvPgorICAgICAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0ibWlsbGltZXRlciIvPgorICAgICAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0ibW0iLz4KKyAgICAgICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9ImRlZ3JlZSIvPgorICAgICAgICA8L3hzOnJlc3RyaWN0aW9uPgorICAgICAgPC94czpzaW1wbGVUeXBlPgorICAgIDwveHM6YXR0cmlidXRlPgorICA8L3hzOmF0dHJpYnV0ZUdyb3VwPgorICA8eHM6YXR0cmlidXRlR3JvdXAgbmFtZT0iVGltZS1hdHRyaWJ1dGUiPgorICAgIDx4czphdHRyaWJ1dGUgbmFtZT0iVGltZSIgdXNlPSJyZXF1aXJlZCI+CisgICAgICA8eHM6c2ltcGxlVHlwZT4KKyAgICAgICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnRva2VuIj4KKyAgICAgICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9InNlY29uZCIvPgorICAgICAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0icyIvPgorICAgICAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0ic2VjIi8+CisgICAgICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJtaW51dGUiLz4KKyAgICAgICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Im1pbiIvPgorICAgICAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iaG91ciIvPgorICAgICAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iaHIiLz4KKyAgICAgICAgPC94czpyZXN0cmljdGlvbj4KKyAgICAgIDwveHM6c2ltcGxlVHlwZT4KKyAgICA8L3hzOmF0dHJpYnV0ZT4KKyAgPC94czphdHRyaWJ1dGVHcm91cD4KKyAgPHhzOmF0dHJpYnV0ZUdyb3VwIG5hbWU9IkZvcmNlLWF0dHJpYnV0ZSI+CisgICAgPHhzOmF0dHJpYnV0ZSBuYW1lPSJGb3JjZSIgdXNlPSJyZXF1aXJlZCI+CisgICAgICA8eHM6c2ltcGxlVHlwZT4KKyAgICAgICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnRva2VuIj4KKyAgICAgICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Im5ld3RvbiIvPgorICAgICAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0ibiIvPgorICAgICAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0icG91bmQiLz4KKyAgICAgICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9ImdyYWluIi8+CisgICAgICAgIDwveHM6cmVzdHJpY3Rpb24+CisgICAgICA8L3hzOnNpbXBsZVR5cGU+CisgICAgPC94czphdHRyaWJ1dGU+CisgIDwveHM6YXR0cmlidXRlR3JvdXA+CisgIDx4czphdHRyaWJ1dGVHcm91cCBuYW1lPSJNYXNzLWF0dHJpYnV0ZSI+CisgICAgPHhzOmF0dHJpYnV0ZSBuYW1lPSJNYXNzIiB1c2U9InJlcXVpcmVkIj4KKyAgICAgIDx4czpzaW1wbGVUeXBlPgorICAgICAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6dG9rZW4iPgorICAgICAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0ia2lsb2dyYW0iLz4KKyAgICAgICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9ImtnIi8+CisgICAgICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJncmFtIi8+CisgICAgICAgIDwveHM6cmVzdHJpY3Rpb24+CisgICAgICA8L3hzOnNpbXBsZVR5cGU+CisgICAgPC94czphdHRyaWJ1dGU+CisgIDwveHM6YXR0cmlidXRlR3JvdXA+CisgIDx4czphdHRyaWJ1dGVHcm91cCBuYW1lPSJEaW1lbnNpb25sZXNzLWF0dHJpYnV0ZSI+CisgICAgPHhzOmF0dHJpYnV0ZSBuYW1lPSJEaW1lbnNpb25sZXNzIiB1c2U9InJlcXVpcmVkIj4KKyAgICAgIDx4czpzaW1wbGVUeXBlPgorICAgICAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6dG9rZW4iPgorICAgICAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0icmFkaWFuIi8+CisgICAgICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJyYWQiLz4KKyAgICAgICAgPC94czpyZXN0cmljdGlvbj4KKyAgICAgIDwveHM6c2ltcGxlVHlwZT4KKyAgICA8L3hzOmF0dHJpYnV0ZT4KKyAgPC94czphdHRyaWJ1dGVHcm91cD4KKyAgPHhzOnNpbXBsZVR5cGUgbmFtZT0idGhyZWUtZG91Ymxlcy1saXN0Ij4KKyAgICA8eHM6cmVzdHJpY3Rpb24+CisgICAgICA8eHM6c2ltcGxlVHlwZT4KKyAgICAgICAgPHhzOmxpc3Q+CisgICAgICAgICAgPHhzOnNpbXBsZVR5cGU+CisgICAgICAgICAgICA8eHM6dW5pb24gbWVtYmVyVHlwZXM9InhzOmRvdWJsZSB4czpkb3VibGUgeHM6ZG91YmxlIi8+CisgICAgICAgICAgPC94czpzaW1wbGVUeXBlPgorICAgICAgICA8L3hzOmxpc3Q+CisgICAgICA8L3hzOnNpbXBsZVR5cGU+CisgICAgICA8eHM6bGVuZ3RoIHZhbHVlPSIzIi8+CisgICAgPC94czpyZXN0cmljdGlvbj4KKyAgPC94czpzaW1wbGVUeXBlPgorICA8eHM6c2ltcGxlVHlwZSBuYW1lPSJpbnRlZ2VyLWxpc3QiPgorICAgIDx4czpyZXN0cmljdGlvbj4KKyAgICAgIDx4czpzaW1wbGVUeXBlPgorICAgICAgICA8eHM6bGlzdD4KKyAgICAgICAgICA8eHM6c2ltcGxlVHlwZT4KKyAgICAgICAgICAgIDx4czp1bmlvbiBtZW1iZXJUeXBlcz0ieHM6aW50ZWdlciB4czppbnRlZ2VyIi8+CisgICAgICAgICAgPC94czpzaW1wbGVUeXBlPgorICAgICAgICA8L3hzOmxpc3Q+CisgICAgICA8L3hzOnNpbXBsZVR5cGU+CisgICAgICA8eHM6bWluTGVuZ3RoIHZhbHVlPSIxIi8+CisgICAgPC94czpyZXN0cmljdGlvbj4KKyAgPC94czpzaW1wbGVUeXBlPgorICA8eHM6YXR0cmlidXRlR3JvdXAgbmFtZT0ibmFtZS1hdHRyaWJ1dGUiPgorICAgIDx4czphdHRyaWJ1dGUgbmFtZT0ibmFtZSIgdXNlPSJyZXF1aXJlZCIgdHlwZT0ieHM6dG9rZW4iLz4KKyAgPC94czphdHRyaWJ1dGVHcm91cD4KKyAgPHhzOmF0dHJpYnV0ZUdyb3VwIG5hbWU9ImRlc2NyaXB0aW9uLWF0dHJpYnV0ZSI+CisgICAgPHhzOmF0dHJpYnV0ZSBuYW1lPSJkZXNjcmlwdGlvbiIgdXNlPSJyZXF1aXJlZCIvPgorICA8L3hzOmF0dHJpYnV0ZUdyb3VwPgorICA8eHM6ZWxlbWVudCBuYW1lPSJ2TWF0ZXJpYWwiPgorICAgIDx4czpjb21wbGV4VHlwZT4KKyAgICAgIDx4czpzZXF1ZW5jZT4KKyAgICAgICAgPHhzOmVsZW1lbnQgbWluT2NjdXJzPSIwIiByZWY9ImRpZmZ1c2VDb2xvciIvPgorICAgICAgICA8eHM6ZWxlbWVudCBtaW5PY2N1cnM9IjAiIHJlZj0iZW1pc3NpdmVDb2xvciIvPgorICAgICAgICA8eHM6ZWxlbWVudCBtaW5PY2N1cnM9IjAiIHJlZj0ic3BlY3VsYXJDb2xvciIvPgorICAgICAgICA8eHM6ZWxlbWVudCBtaW5PY2N1cnM9IjAiIHJlZj0ic2hpbmluZXNzIi8+CisgICAgICAgIDx4czplbGVtZW50IG1pbk9jY3Vycz0iMCIgcmVmPSJ0cmFuc3BhcmVuY3kiLz4KKyAgICAgICAgPHhzOmVsZW1lbnQgbWluT2NjdXJzPSIwIiByZWY9ImFtYmllbnRJbnRlbnNpdHkiLz4KKyAgICAgICAgPHhzOmVsZW1lbnQgbWluT2NjdXJzPSIwIiByZWY9IkRFRiIvPgorICAgICAgICA8eHM6ZWxlbWVudCBtaW5PY2N1cnM9IjAiIHJlZj0iVVNFIi8+CisgICAgICA8L3hzOnNlcXVlbmNlPgorICAgIDwveHM6Y29tcGxleFR5cGU+CisgIDwveHM6ZWxlbWVudD4KKyAgPHhzOmVsZW1lbnQgbmFtZT0iZGlmZnVzZUNvbG9yIiB0eXBlPSJ4czpzdHJpbmciLz4KKyAgPHhzOmVsZW1lbnQgbmFtZT0iZW1pc3NpdmVDb2xvciIgdHlwZT0ieHM6c3RyaW5nIi8+CisgIDx4czplbGVtZW50IG5hbWU9InNwZWN1bGFyQ29sb3IiIHR5cGU9InhzOnN0cmluZyIvPgorICA8eHM6ZWxlbWVudCBuYW1lPSJzaGluaW5lc3MiIHR5cGU9InhzOnN0cmluZyIvPgorICA8eHM6ZWxlbWVudCBuYW1lPSJ0cmFuc3BhcmVuY3kiIHR5cGU9InhzOnN0cmluZyIvPgorICA8eHM6ZWxlbWVudCBuYW1lPSJhbWJpZW50SW50ZW5zaXR5IiB0eXBlPSJ4czpzdHJpbmciLz4KKyAgPHhzOmVsZW1lbnQgbmFtZT0iREVGIiB0eXBlPSJ4czpzdHJpbmciLz4KKyAgPHhzOmVsZW1lbnQgbmFtZT0iVVNFIiB0eXBlPSJ4czpzdHJpbmciLz4KKzwveHM6c2NoZW1hPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvYnVnMzA5MzM4XzAueG1sIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYnVnMzA5MzM4XzAueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMzY2JmOTUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9idWczMDkzMzhfMC54bWwKQEAgLTAsMCArMSw0IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxmb28geG1sbnM9InVybjp0ZXN0OmZvbyIKKwl4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIgorCXhzaTpzY2hlbWFMb2NhdGlvbj0idXJuOnRlc3Q6Zm9vIGJ1ZzMwOTMzOC54c2QiPjIwMDAuMDA8L2Zvbz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2J1ZzMwOTMzOF8xLnhzZCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2J1ZzMwOTMzOF8xLnhzZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYWE1ODZjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYnVnMzA5MzM4XzEueHNkCkBAIC0wLDAgKzEsMTMgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPHhzZDpzY2hlbWEgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIKKwl4bWxuczpmPSJ1cm46dGVzdDpmb28iCisJdGFyZ2V0TmFtZXNwYWNlPSJ1cm46dGVzdDpmb28iPgorCTx4c2Q6ZWxlbWVudCBuYW1lPSJmb28iIHR5cGU9ImY6Zm9vVHlwZSIvPgorCisJPHhzZDpzaW1wbGVUeXBlIG5hbWU9ImZvb1R5cGUiPgorCQk8eHNkOnJlc3RyaWN0aW9uIGJhc2U9InhzZDpkZWNpbWFsIj4KKwkJCTx4c2Q6bWluRXhjbHVzaXZlIHZhbHVlPSIwIi8+CisJCTwveHNkOnJlc3RyaWN0aW9uPgorCTwveHNkOnNpbXBsZVR5cGU+CisKKzwveHNkOnNjaGVtYT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9idWczMTAyNjRfMC54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9idWczMTAyNjRfMC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOThmMDU3YwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2J1ZzMxMDI2NF8wLnhtbApAQCAtMCwwICsxLDQxIEBACis8YyB4bWxucz0iaHR0cDovL215bnMiID4KKyAgIDxhLz4gPCEtLSAxIC0tPgorICAgPGEvPiA8IS0tIDIgLS0+CisgICA8YS8+IDwhLS0gMyAtLT4KKyAgIDxhLz4gPCEtLSA0IC0tPgorICAgPGEvPiA8IS0tIDUgLS0+CisgICA8YS8+IDwhLS0gNiAtLT4KKyAgIDxhLz4gPCEtLSA3IC0tPgorICAgPGEvPiA8IS0tIDggLS0+CisgICA8YS8+IDwhLS0gOSAtLT4KKyAgIDxhLz4gPCEtLSAxMCAtLT4KKyAgIDxhLz4gPCEtLSAxIC0tPgorICAgPGEvPiA8IS0tIDIgLS0+CisgICA8YS8+IDwhLS0gMyAtLT4KKyAgIDxhLz4gPCEtLSA0IC0tPgorICAgPGEvPiA8IS0tIDUgLS0+CisgICA8YS8+IDwhLS0gNiAtLT4KKyAgIDxhLz4gPCEtLSA3IC0tPgorICAgPGEvPiA8IS0tIDggLS0+CisgICA8YS8+IDwhLS0gOSAtLT4KKyAgIDxhLz4gPCEtLSAyMCAtLT4KKyAgIDxhLz4gPCEtLSAxIC0tPgorICAgPGEvPiA8IS0tIDIgLS0+CisgICA8YS8+IDwhLS0gMyAtLT4KKyAgIDxhLz4gPCEtLSA0IC0tPgorICAgPGEvPiA8IS0tIDUgLS0+CisgICA8YS8+IDwhLS0gNiAtLT4KKyAgIDxhLz4gPCEtLSA3IC0tPgorICAgPGEvPiA8IS0tIDggLS0+CisgICA8YS8+IDwhLS0gOSAtLT4KKyAgIDxhLz4gPCEtLSAzMCAtLT4KKyAgIDxhLz4gPCEtLSAxIC0tPgorICAgPGEvPiA8IS0tIDIgLS0+CisgICA8YS8+IDwhLS0gMyAtLT4KKyAgIDxhLz4gPCEtLSA0IC0tPgorICAgPGEvPiA8IS0tIDUgLS0+CisgICA8YS8+IDwhLS0gNiAtLT4KKyAgIDxhLz4gPCEtLSA3IC0tPgorICAgPGEvPiA8IS0tIDggLS0+Cis8L2M+CisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2J1ZzMxMDI2NF8wLnhzZCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2J1ZzMxMDI2NF8wLnhzZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZjJiMzMzCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYnVnMzEwMjY0XzAueHNkCkBAIC0wLDAgKzEsMTggQEAKKzx4czpzY2hlbWEgeG1sbnM6dG5zPSJodHRwOi8vbXlucyIKKyAgICAgICAgdGFyZ2V0TmFtZXNwYWNlPSJodHRwOi8vbXlucyIKKyAgICAgICAgeG1sbnM6eHM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIgorPgorCisgIDx4czplbGVtZW50IG5hbWU9ImEiIC8+CisKKyAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9ImMiID4KKyAgICAgICAgPHhzOnNlcXVlbmNlIG1pbk9jY3Vycz0iMiIgbWF4T2NjdXJzPSI0Ij4KKyAgICAgICAgICAgICA8eHM6c2VxdWVuY2UgbWluT2NjdXJzPSIxOSIgbWF4T2NjdXJzPSIyMCI+CisgICAgICAgICAgICAgICAgICA8eHM6ZWxlbWVudCByZWY9InRuczphIiAvPgorICAgICAgICAgICAgIDwveHM6c2VxdWVuY2U+CisgICAgICAgIDwveHM6c2VxdWVuY2U+CisgIDwveHM6Y29tcGxleFR5cGU+CisKKyAgPHhzOmVsZW1lbnQgbmFtZT0iYyIgdHlwZT0idG5zOmMiIC8+CisKKzwveHM6c2NoZW1hPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvYnVnMzEyOTU3XzAueG1sIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYnVnMzEyOTU3XzAueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMyMjQ0NGYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9idWczMTI5NTdfMC54bWwKQEAgLTAsMCArMSwxNCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/Pg0KKzxmYW1pbHkgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSINCisJeHNpOm5vTmFtZXNwYWNlU2NoZW1hTG9jYXRpb249ImJ1ZzMxMjk1N18xLnhzZCINCisJbmFtZT0idGVzdCI+DQorICAgIDxzaWJsaW5ncz4NCisgICAgCTxzaWJsaW5nIG5hbWU9ImdpbGwiLz4NCisgICAgPC9zaWJsaW5ncz4NCisgICAgPHNpc3RlcnM+DQorICAgIAk8c2lzdGVyIG5hbWU9ImdpbGwiLz4NCisgICAgCTxzaXN0ZXIgbmFtZT0iYW5uaWUiLz4NCisgICAgPC9zaXN0ZXJzPg0KKzwvZmFtaWx5PiANCisNCisNCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9idWczMTI5NTdfMS54c2QgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9idWczMTI5NTdfMS54c2QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmI3OTcyZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2J1ZzMxMjk1N18xLnhzZApAQCAtMCwwICsxLDM5IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJJU08tODg1OS0xIj8+DQorPHhzOnNjaGVtYSB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiPg0KKw0KKyAgPHhzOmVsZW1lbnQgbmFtZT0iZmFtaWx5IiB0eXBlPSJmYW1pbHlfdHlwZSI+DQorICAgICAgPHhzOmtleSBuYW1lPSJzaWJsaW5nX2tleSI+DQorICAgICAgICA8eHM6c2VsZWN0b3IgeHBhdGg9InNpYmxpbmdzL3NpYmxpbmciLz4NCisgICAgICAgIDx4czpmaWVsZCB4cGF0aD0iQG5hbWUiLz4NCisgICAgICA8L3hzOmtleT4NCisgICAgICA8eHM6a2V5cmVmIG5hbWU9InNpYmxpbmdfa2V5X3JlZiIgcmVmZXI9InNpYmxpbmdfa2V5Ij4NCisgICAgICAgIDx4czpzZWxlY3RvciB4cGF0aD0ic2lzdGVycy9zaXN0ZXIiLz4NCisgICAgICAgIDx4czpmaWVsZCB4cGF0aD0iQG5hbWUiLz4NCisgICAgPC94czprZXlyZWY+DQorICA8L3hzOmVsZW1lbnQ+DQorICAgIDx4czpjb21wbGV4VHlwZSBuYW1lPSJmYW1pbHlfdHlwZSI+DQorICAgICAgPHhzOnNlcXVlbmNlPg0KKyAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0ic2libGluZ3MiIHR5cGU9InNpYmxpbmdzX3R5cGUiIC8+DQorICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJzaXN0ZXJzIiB0eXBlPSJzaXN0ZXJzX3R5cGUiICAvPg0KKyAgICAgIDwveHM6c2VxdWVuY2U+DQorICAgICAgPHhzOmF0dHJpYnV0ZSBuYW1lPSJuYW1lIiB0eXBlPSJ4czpzdHJpbmciLz4NCisgICAgPC94czpjb21wbGV4VHlwZT4NCisgICAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9InNpYmxpbmdzX3R5cGUiPg0KKyAgICAgIDx4czpzZXF1ZW5jZT4NCisgICAgICAgIDx4czplbGVtZW50IG5hbWU9InNpYmxpbmciIHR5cGU9InNpYmxpbmdfdHlwZSIgbWluT2NjdXJzPSIwIiAgDQorbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQorICAgICAgPC94czpzZXF1ZW5jZT4NCisgICAgPC94czpjb21wbGV4VHlwZT4gICAgDQorICAgIDx4czpjb21wbGV4VHlwZSBuYW1lPSJzaXN0ZXJzX3R5cGUiPg0KKyAgICAgIDx4czpzZXF1ZW5jZT4NCisgICAgICAgIDx4czplbGVtZW50IG5hbWU9InNpc3RlciIgdHlwZT0ic2lzdGVyX3R5cGUiIG1pbk9jY3Vycz0iMCIgIA0KK21heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KKyAgICAgIDwveHM6c2VxdWVuY2U+DQorICAgIDwveHM6Y29tcGxleFR5cGU+ICAgICAgICANCisJPHhzOmNvbXBsZXhUeXBlIG5hbWU9InNpYmxpbmdfdHlwZSI+DQorCQk8eHM6YXR0cmlidXRlIG5hbWU9Im5hbWUiIHR5cGU9InhzOnN0cmluZyIvPg0KKwk8L3hzOmNvbXBsZXhUeXBlPg0KKwk8eHM6Y29tcGxleFR5cGUgbmFtZT0ic2lzdGVyX3R5cGUiPg0KKwkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJuYW1lIiB0eXBlPSJ4czpzdHJpbmciLz4NCisJPC94czpjb21wbGV4VHlwZT4gICAgDQorPC94czpzY2hlbWE+DQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvYnVnMzEzOTgyXzAueG1sIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYnVnMzEzOTgyXzAueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE4YzgxZWEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9idWczMTM5ODJfMC54bWwKQEAgLTAsMCArMSw0IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPHRlc3REZWNpbWFsRmFjZXQgeG1sbnM9Imh0dHA6Ly93d3cuZm9vLmNvbSIKK3htbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiCisgICAgICAgIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL3d3dy5mb28uY29tIGJ1ZzMxMzk4Ml8wLnhzZCI+MC45OTwvdGVzdERlY2ltYWxGYWNldD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2J1ZzMxMzk4Ml8wLnhzZCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2J1ZzMxMzk4Ml8wLnhzZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42OWQwNjEzCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYnVnMzEzOTgyXzAueHNkCkBAIC0wLDAgKzEsMTEgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8eHNkOnNjaGVtYSB0YXJnZXROYW1lc3BhY2U9Imh0dHA6Ly93d3cuZm9vLmNvbSIgZWxlbWVudEZvcm1EZWZhdWx0PSJxdWFsaWZpZWQiCit4bWxucz0iaHR0cDovL3d3dy5mb28uY29tIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIj4KKyAgICAgICAgPHhzZDplbGVtZW50IG5hbWU9InRlc3REZWNpbWFsRmFjZXQiPgorICAgICAgICAgICAgICAgIDx4c2Q6c2ltcGxlVHlwZT4KKyAgICAgICAgICAgICAgICAgICAgICAgIDx4c2Q6cmVzdHJpY3Rpb24gYmFzZT0ieHNkOmRlY2ltYWwiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8eHNkOm1pbkluY2x1c2l2ZSB2YWx1ZT0iMCIvPgorICAgICAgICAgICAgICAgICAgICAgICAgPC94c2Q6cmVzdHJpY3Rpb24+CisgICAgICAgICAgICAgICAgPC94c2Q6c2ltcGxlVHlwZT4KKyAgICAgICAgPC94c2Q6ZWxlbWVudD4KKzwveHNkOnNjaGVtYT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2J1ZzMyMTQ3NV8wLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2J1ZzMyMTQ3NV8wLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MTkwMjMxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYnVnMzIxNDc1XzAueG1sCkBAIC0wLDAgKzEsMTAgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9Imlzby04ODU5LTEiPz4KKzxhbmltYXRpb24geG1sbnM9Imh0dHA6Ly93d3cuY29sbGFkYS5vcmcvMjAwNS8xMS9DT0xMQURBU2NoZW1hIgorICAgIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiCisgICAgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vd3d3LmNvbGxhZGEub3JnLzIwMDUvMTEvQ09MTEFEQVNjaGVtYSBidWczMjE0NzUueHNkIj4KKyAgICA8YXNzZXQvPgorICAgIDxzb3VyY2UvPgorICAgIDxzYW1wbGVyLz4KKyAgICA8Y2hhbm5lbC8+Cis8L2FuaW1hdGlvbj4KKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvYnVnMzIxNDc1XzEueHNkIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYnVnMzIxNDc1XzEueHNkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI3MTRhMGQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9idWczMjE0NzVfMS54c2QKQEAgLTAsMCArMSw0OCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8eHM6c2NoZW1hIHRhcmdldE5hbWVzcGFjZT0iaHR0cDovL3d3dy5jb2xsYWRhLm9yZy8yMDA1LzExL0NPTExBREFTY2hlbWEiCisgICAgeG1sbnM9Imh0dHA6Ly93d3cuY29sbGFkYS5vcmcvMjAwNS8xMS9DT0xMQURBU2NoZW1hIgorICAgIHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIKKyAgICB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIgorICAgIGVsZW1lbnRGb3JtRGVmYXVsdD0icXVhbGlmaWVkIiB2ZXJzaW9uPSIxLjQuMCIgeG1sOmxhbmc9IkVOIj4KKyAgICA8eHM6ZWxlbWVudCBuYW1lPSJhbmltYXRpb24iPgorICAgICAgICA8eHM6Y29tcGxleFR5cGU+CisgICAgICAgICAgICA8eHM6c2VxdWVuY2U+CisgICAgICAgICAgICAgICAgPHhzOmVsZW1lbnQgcmVmPSJhc3NldCIgbWluT2NjdXJzPSIwIi8+CisgICAgICAgICAgICAgICAgPHhzOmNob2ljZT4KKyAgICAgICAgICAgICAgICAgICAgPHhzOnNlcXVlbmNlPgorICAgICAgICAgICAgICAgICAgICAgICAgPHhzOmVsZW1lbnQgcmVmPSJzb3VyY2UiIG1heE9jY3Vycz0idW5ib3VuZGVkIi8+CisgICAgICAgICAgICAgICAgICAgICAgICA8eHM6Y2hvaWNlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx4czpzZXF1ZW5jZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHhzOmVsZW1lbnQgcmVmPSJzYW1wbGVyIiBtYXhPY2N1cnM9InVuYm91bmRlZCIvPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8eHM6ZWxlbWVudCByZWY9ImNoYW5uZWwiIG1heE9jY3Vycz0idW5ib3VuZGVkIi8+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx4czplbGVtZW50IHJlZj0iYW5pbWF0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIi8+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC94czpzZXF1ZW5jZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8eHM6ZWxlbWVudCByZWY9ImFuaW1hdGlvbiIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiLz4KKyAgICAgICAgICAgICAgICAgICAgICAgIDwveHM6Y2hvaWNlPgorICAgICAgICAgICAgICAgICAgICA8L3hzOnNlcXVlbmNlPgorICAgICAgICAgICAgICAgICAgICA8eHM6c2VxdWVuY2U+CisgICAgICAgICAgICAgICAgICAgICAgICA8eHM6ZWxlbWVudCByZWY9InNhbXBsZXIiIG1heE9jY3Vycz0idW5ib3VuZGVkIi8+CisgICAgICAgICAgICAgICAgICAgICAgICA8eHM6ZWxlbWVudCByZWY9ImNoYW5uZWwiIG1heE9jY3Vycz0idW5ib3VuZGVkIi8+CisgICAgICAgICAgICAgICAgICAgICAgICA8eHM6ZWxlbWVudCByZWY9ImFuaW1hdGlvbiIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIvPgorICAgICAgICAgICAgICAgICAgICA8L3hzOnNlcXVlbmNlPgorICAgICAgICAgICAgICAgICAgICA8eHM6ZWxlbWVudCByZWY9ImFuaW1hdGlvbiIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiLz4KKyAgICAgICAgICAgICAgICA8L3hzOmNob2ljZT4KKyAgICAgICAgICAgICAgICA8eHM6ZWxlbWVudCByZWY9ImV4dHJhIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIi8+CisgICAgICAgICAgICA8L3hzOnNlcXVlbmNlPgorICAgICAgICAgICAgPHhzOmF0dHJpYnV0ZSBuYW1lPSJpZCIgdHlwZT0ieHM6SUQiLz4KKyAgICAgICAgICAgIDx4czphdHRyaWJ1dGUgbmFtZT0ibmFtZSIgdHlwZT0ieHM6TkNOYW1lIi8+CisgICAgICAgIDwveHM6Y29tcGxleFR5cGU+CisgICAgPC94czplbGVtZW50PgorCisgICAgPHhzOmVsZW1lbnQgbmFtZT0iZXh0cmEiLz4KKyAgICA8eHM6ZWxlbWVudCBuYW1lPSJhc3NldCIvPgorICAgIDx4czplbGVtZW50IG5hbWU9ImNoYW5uZWwiLz4KKyAgICA8eHM6ZWxlbWVudCBuYW1lPSJzYW1wbGVyIi8+CisgICAgPHhzOmVsZW1lbnQgbmFtZT0ic291cmNlIi8+CisgICAgPHhzOmVsZW1lbnQgbmFtZT0idGVjaG5pcXVlIi8+Cis8L3hzOnNjaGVtYT4KKworCisKKworICAgICAgICAgICAgIApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2J1ZzMyMjQxMV8wLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2J1ZzMyMjQxMV8wLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mODgzNjQ4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYnVnMzIyNDExXzAueG1sCkBAIC0wLDAgKzEsOTMgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IklTTy04ODU5LTEiIHN0YW5kYWxvbmU9Im5vIj8+Cis8RUxFTUVOVFM+CisgIDxFTEVNRU5UPgorICAgIDxpdGVtcz4KKyAgICAgIDxpdGVtPjE8L2l0ZW0+CisgICAgICA8aXRlbT4yPC9pdGVtPgorICAgICAgPGl0ZW0+MzwvaXRlbT4KKyAgICAgIDxpdGVtPjQ8L2l0ZW0+CisgICAgICA8aXRlbT41PC9pdGVtPgorICAgICAgPCEtLSBTb21lIGR1cGxzLiAtLT4KKyAgICAgIDxpdGVtPmR1cGwxPC9pdGVtPgorICAgICAgPGl0ZW0+ZHVwbDI8L2l0ZW0+CisgICAgICA8aXRlbT5kdXBsMzwvaXRlbT4KKyAgICAgIDxpdGVtPmR1cGw0PC9pdGVtPgorICAgICAgPGl0ZW0+ZHVwbDU8L2l0ZW0+CisgICAgICA8aXRlbT5kdXBsNjwvaXRlbT4KKyAgICAgIDxpdGVtPmR1cGw3PC9pdGVtPgorICAgICAgPGl0ZW0+ZHVwbDg8L2l0ZW0+CisgICAgICA8aXRlbT5kdXBsOTwvaXRlbT4KKyAgICAgIDxpdGVtPmR1cGwxMDwvaXRlbT4KKyAgICAgIDxpdGVtPmR1cGwxMTwvaXRlbT4KKworICAgICAgPGl0ZW0+NjwvaXRlbT4KKyAgICAgIDxpdGVtPjc8L2l0ZW0+CisgICAgICA8aXRlbT44PC9pdGVtPgorICAgICAgPGl0ZW0+OTwvaXRlbT4KKyAgICAgIDxpdGVtPjEwPC9pdGVtPgorICAgICAgPGl0ZW0+MTE8L2l0ZW0+CisgICAgICA8aXRlbXM+CisgICAgICAgIDxpdGVtPjEyPC9pdGVtPgorICAgICAgICA8aXRlbT4xMzwvaXRlbT4KKyAgICAgICAgPGl0ZW0+MTQ8L2l0ZW0+CisgICAgICAgIDxpdGVtPjE1PC9pdGVtPgorICAgICAgICA8IS0tIFNvbWUgZHVwbHMuIC0tPgorICAgICAgICA8aXRlbT5kdXBsMTwvaXRlbT4KKyAgICAgICAgPGl0ZW0+ZHVwbDI8L2l0ZW0+CisgICAgICAgIDxpdGVtPmR1cGwzPC9pdGVtPgorICAgICAgICA8aXRlbT5kdXBsNDwvaXRlbT4KKyAgICAgICAgPGl0ZW0+ZHVwbDU8L2l0ZW0+CisgICAgICAgIDxpdGVtPmR1cGw2PC9pdGVtPgorICAgICAgICA8aXRlbT5kdXBsNzwvaXRlbT4KKyAgICAgICAgPGl0ZW0+ZHVwbDg8L2l0ZW0+CisgICAgICAgIDxpdGVtPmR1cGw5PC9pdGVtPgorICAgICAgICA8aXRlbT5kdXBsMTA8L2l0ZW0+CisgICAgICAgIDxpdGVtPmR1cGwxMTwvaXRlbT4KKworICAgICAgICA8aXRlbT4xNjwvaXRlbT4KKyAgICAgICAgPGl0ZW0+MTc8L2l0ZW0+CisgICAgICAgIDxpdGVtPjE4PC9pdGVtPgorICAgICAgICA8aXRlbT4xOTwvaXRlbT4KKyAgICAgICAgPGl0ZW0+MjA8L2l0ZW0+CisgICAgICAgIDxpdGVtPjIxPC9pdGVtPgorICAgICAgPC9pdGVtcz4KKyAgICAgIDxpdGVtcz4KKyAgICAgICAgPGl0ZW0+MjI8L2l0ZW0+CisgICAgICAgIDxpdGVtPjIzPC9pdGVtPgorICAgICAgICA8aXRlbT4yNDwvaXRlbT4KKyAgICAgICAgPGl0ZW0+MjU8L2l0ZW0+CisgICAgICAgIDxpdGVtPjI2PC9pdGVtPgorICAgICAgICA8aXRlbT4yNzwvaXRlbT4KKyAgICAgICAgPGl0ZW0+Mjg8L2l0ZW0+CisgICAgICAgIDxpdGVtPjI5PC9pdGVtPgorICAgICAgICA8aXRlbT4zMDwvaXRlbT4KKyAgICAgICAgPGl0ZW0+MzE8L2l0ZW0+CisgICAgICAgIDxpdGVtPjMyPC9pdGVtPgorICAgICAgICA8aXRlbT4zMzwvaXRlbT4KKyAgICAgICAgPGl0ZW0+MzQ8L2l0ZW0+CisgICAgICAgIDxpdGVtPjM1PC9pdGVtPgorICAgICAgICA8aXRlbT4zNjwvaXRlbT4KKyAgICAgICAgPGl0ZW0+Mzc8L2l0ZW0+CisgICAgICAgIDxpdGVtPjM4PC9pdGVtPgorICAgICAgICA8aXRlbT4zOTwvaXRlbT4KKyAgICAgICAgPGl0ZW0+NDA8L2l0ZW0+CisgICAgICAgIDxpdGVtPjQxPC9pdGVtPgorICAgICAgICA8IS0tIFNvbWUgZHVwbHMuIC0tPgorICAgICAgICA8aXRlbT5kdXBsMTwvaXRlbT4KKyAgICAgICAgPGl0ZW0+ZHVwbDI8L2l0ZW0+CisgICAgICAgIDxpdGVtPmR1cGwzPC9pdGVtPgorICAgICAgICA8aXRlbT5kdXBsNDwvaXRlbT4KKyAgICAgICAgPGl0ZW0+ZHVwbDU8L2l0ZW0+CisgICAgICAgIDxpdGVtPmR1cGw2PC9pdGVtPgorICAgICAgICA8aXRlbT5kdXBsNzwvaXRlbT4KKyAgICAgICAgPGl0ZW0+ZHVwbDg8L2l0ZW0+CisgICAgICAgIDxpdGVtPmR1cGw5PC9pdGVtPgorICAgICAgICA8aXRlbT5kdXBsMTA8L2l0ZW0+CisgICAgICAgIDxpdGVtPmR1cGwxMTwvaXRlbT4KKyAgICAgIDwvaXRlbXM+CisgICAgPC9pdGVtcz4KKyAgICA8IS0tIEtleXJlZnMuIC0tPgorICAgIDxyZWY+NDE8L3JlZj4KKyAgPC9FTEVNRU5UPgorPC9FTEVNRU5UUz4KKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvYnVnMzIyNDExXzEueHNkIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYnVnMzIyNDExXzEueHNkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM4M2RlZTYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9idWczMjI0MTFfMS54c2QKQEAgLTAsMCArMSwzNSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/PgorPHhzZDpzY2hlbWEgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+CisKKyAgPHhzZDplbGVtZW50IG5hbWU9Iml0ZW1zIj4KKyAgICA8eHNkOmNvbXBsZXhUeXBlPgorICAgICAgPHhzZDpzZXF1ZW5jZT4KKyAgICAgICAgPHhzZDplbGVtZW50IG5hbWU9Iml0ZW0iIG1heE9jY3Vycz0idW5ib3VuZGVkIiB0eXBlPSJ4c2Q6c3RyaW5nIi8+CisgICAgICAgIDx4c2Q6ZWxlbWVudCByZWY9Iml0ZW1zIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0iMiIvPgorICAgICAgPC94c2Q6c2VxdWVuY2U+CisgICAgPC94c2Q6Y29tcGxleFR5cGU+CisgICAgPHhzZDp1bmlxdWUgbmFtZT0iSXRlbVVuaXF1ZSI+CisgICAgICA8eHNkOnNlbGVjdG9yIHhwYXRoPSJpdGVtIi8+CisgICAgICA8eHNkOmZpZWxkIHhwYXRoPSIuIi8+CisgICAgPC94c2Q6dW5pcXVlPgorICA8L3hzZDplbGVtZW50PgorCisgIDx4c2Q6ZWxlbWVudCBuYW1lPSJFTEVNRU5UUyI+CisgICAgPHhzZDpjb21wbGV4VHlwZT4KKyAgICAgIDx4c2Q6c2VxdWVuY2U+CisgICAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJFTEVNRU5UIj4KKyAgICAgICAgICA8eHNkOmNvbXBsZXhUeXBlPgorICAgICAgICAgICAgPHhzZDpzZXF1ZW5jZT4KKyAgICAgICAgICAgICAgPHhzZDplbGVtZW50IHJlZj0iaXRlbXMiLz4KKyAgICAgICAgICAgICAgPHhzZDplbGVtZW50IG5hbWU9InJlZiIgdHlwZT0ieHNkOnN0cmluZyIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiLz4KKyAgICAgICAgICAgIDwveHNkOnNlcXVlbmNlPgorICAgICAgICAgIDwveHNkOmNvbXBsZXhUeXBlPgorICAgICAgICAgIDx4c2Q6a2V5cmVmIG5hbWU9Ikl0ZW1SZWYiIHJlZmVyPSJJdGVtVW5pcXVlIj4KKyAgICAgICAgICAgIDx4c2Q6c2VsZWN0b3IgeHBhdGg9InJlZiIvPgorICAgICAgICAgICAgPHhzZDpmaWVsZCB4cGF0aD0iLiIvPgorICAgICAgICAgIDwveHNkOmtleXJlZj4KKyAgICAgICAgPC94c2Q6ZWxlbWVudD4KKyAgICAgIDwveHNkOnNlcXVlbmNlPgorICAgIDwveHNkOmNvbXBsZXhUeXBlPgorICA8L3hzZDplbGVtZW50PgorPC94c2Q6c2NoZW1hPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvYnVnMzIzNTEwXzAueG1sIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYnVnMzIzNTEwXzAueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNlNzY0N2QKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9idWczMjM1MTBfMC54bWwKQEAgLTAsMCArMSwzIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJpc28tODg1OS0xIj8+Cis8Zm9vLz4KKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvYnVnMzIzNTEwXzEueHNkIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYnVnMzIzNTEwXzEueHNkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhiMDQ3Y2UKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9idWczMjM1MTBfMS54c2QKQEAgLTAsMCArMSwxMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8eHM6c2NoZW1hIHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgZWxlbWVudEZvcm1EZWZhdWx0PSJxdWFsaWZpZWQiPgorCisgICAgPHhzOmVsZW1lbnQgbmFtZT0iZm9vIj4KKyAgICAgICAgPHhzOmNvbXBsZXhUeXBlPgorICAgICAgICAgICAgPHhzOnNlcXVlbmNlPgorICAgICAgICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9ImJhciIgbWluT2NjdXJzPSIxIiBtYXhPY2N1cnM9InVuYm91bmRlZCIvPgorICAgICAgICAgICAgPC94czpzZXF1ZW5jZT4KKyAgICAgICAgPC94czpjb21wbGV4VHlwZT4KKyAgICA8L3hzOmVsZW1lbnQ+CisKKzwveHM6c2NoZW1hPiAgICAgICAgICAgICAgClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvYnVnNDU1OTUzXzAueG1sIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYnVnNDU1OTUzXzAueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ0ODkwN2MKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9idWc0NTU5NTNfMC54bWwKQEAgLTAsMCArMSw5IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Pg0KKzxwcmU6TWFpbkVsZW1lbnQgeG1sbnM6cHJlPSJodHRwOi8vd3d3LnRlbXB1cmkub3JnL01haW5TY2hlbWEiIHhtbG5zOm5zPSJodHRwOi8vd3d3LnRlbXB1cmkub3JnL0ltcG9ydGVkU2NoZW1hIj4NCisgPHByZTpNYWluQSBNYWluSUQ9IjEiLz4NCisgPG5zOkFub3RoZXJFbGVtZW50Pg0KKyAgIDxuczpCIEJJRD0iMyI+DQorICAgICA8bnM6TXlCPkVNUFRZPC9uczpNeUI+DQorICAgPC9uczpCPg0KKyA8L25zOkFub3RoZXJFbGVtZW50Pg0KKzwvcHJlOk1haW5FbGVtZW50PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2J1ZzQ1NTk1M18wLnhzZCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2J1ZzQ1NTk1M18wLnhzZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNjM1NTcwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvYnVnNDU1OTUzXzAueHNkCkBAIC0wLDAgKzEsMjkgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04IiA/PiANCis8eHM6c2NoZW1hIHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSINCisgICAgICAgICAgIHRhcmdldE5hbWVzcGFjZT0iaHR0cDovL3d3dy50ZW1wdXJpLm9yZy9NYWluU2NoZW1hIg0KKyAgICAgICAgICAgeG1sbnM6dG5zPSJodHRwOi8vd3d3LnRlbXB1cmkub3JnL01haW5TY2hlbWEiDQorICAgICAgICAgICB4bWxuczpucz0iaHR0cDovL3d3dy50ZW1wdXJpLm9yZy9JbXBvcnRlZFNjaGVtYSINCisgICAgICAgICAgIGVsZW1lbnRGb3JtRGVmYXVsdD0icXVhbGlmaWVkIiA+DQorICAgICAgICAgICANCisgIDx4czppbXBvcnQgbmFtZXNwYWNlPSJodHRwOi8vd3d3LnRlbXB1cmkub3JnL0ltcG9ydGVkU2NoZW1hIiBzY2hlbWFMb2NhdGlvbj0iLi9pbXBvcnQtNDU1OTUzLnhzZCIgLz4NCisgIA0KKyAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik15TWFpblR5cGUiPg0KKyAgICA8eHM6c2VxdWVuY2U+DQorICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWFpbkEiPg0KKyAgICAgICAgPHhzOmNvbXBsZXhUeXBlPg0KKyAgICAgICAgICA8eHM6YXR0cmlidXRlIG5hbWU9Ik1haW5JRCIgdHlwZT0ieHM6aW50Ii8+DQorICAgICAgICA8L3hzOmNvbXBsZXhUeXBlPg0KKyAgICAgIDwveHM6ZWxlbWVudD4NCisgICAgICA8eHM6ZWxlbWVudCByZWY9Im5zOkFub3RoZXJFbGVtZW50IiAvPg0KKyAgICA8L3hzOnNlcXVlbmNlPg0KKyAgPC94czpjb21wbGV4VHlwZT4NCisNCisgIDx4czplbGVtZW50IG5hbWU9Ik1haW5FbGVtZW50IiB0eXBlPSJ0bnM6TXlNYWluVHlwZSI+DQorICAgIDx4czprZXkgbmFtZT0iTWFpbktleSIgPg0KKyAgICAgIDx4czpzZWxlY3RvciB4cGF0aD0idG5zOk1haW5BIiAvPg0KKyAgICAgIDx4czpmaWVsZCB4cGF0aD0iQE1haW5JRCIgLz4NCisgICAgPC94czprZXk+DQorICA8L3hzOmVsZW1lbnQ+DQorDQorDQorPC94czpzY2hlbWE+DQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvY2hhbmdlbG9nMDkzXzAueG1sIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvY2hhbmdlbG9nMDkzXzAueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRiNDk2MTIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9jaGFuZ2Vsb2cwOTNfMC54bWwKQEAgLTAsMCArMSwxNCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8Y2hhbmdlbG9nCisJeG1sbnM9Imh0dHA6Ly93d3cuYmxhY2twZXJsLmNvbS9YTUwvQ2hhbmdlTG9nIiAKKwl4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIgorCXhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL3d3dy5ibGFja3BlcmwuY29tL1hNTC9DaGFuZ2VMb2cgY2hhbmdlbG9nMDkzLnhzZCI+CisJPGRlc2NyaXB0aW9uIGxhbmc9IlBMIi8+CisJPGRlc2NyaXB0aW9uIGxhbmc9IlBMIi8+CisJPHJlbGVhc2UgdmVyc2lvbj0iMSIgZGF0ZT0iMjAwNS0wNC0wOFQyMToxMjowMCI+CisJCTxpdGVtPgorCQkJPGZpbGUgcGF0aD0iYWJjIi8+CisJCQk8ZGVzY3JpcHRpb24gbGFuZz0iRlIiLz4KKwkJPC9pdGVtPgorCTwvcmVsZWFzZT4KKzwvY2hhbmdlbG9nPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvY2hhbmdlbG9nMDkzXzEueHNkIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvY2hhbmdlbG9nMDkzXzEueHNkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNmMmJjYzYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9jaGFuZ2Vsb2cwOTNfMS54c2QKQEAgLTAsMCArMSwyNTMgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPHhzZDpzY2hlbWEgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIKKyAgICB4bWxuczp0bnM9Imh0dHA6Ly93d3cuYmxhY2twZXJsLmNvbS9YTUwvQ2hhbmdlTG9nIgorICAgIHRhcmdldE5hbWVzcGFjZT0iaHR0cDovL3d3dy5ibGFja3BlcmwuY29tL1hNTC9DaGFuZ2VMb2ciCisgICAgZWxlbWVudEZvcm1EZWZhdWx0PSJxdWFsaWZpZWQiIGF0dHJpYnV0ZUZvcm1EZWZhdWx0PSJ1bnF1YWxpZmllZCIKKyAgICB2ZXJzaW9uPSIwLjkzIiBpZD0iY2hhbmdlbG9nMC45MyI+CisgIDwhLS0KKyAgICAgIFJlZmVyIHRvIHRoaXMgc2NoZW1hIHVzaW5nIHRoZSBmb2xsb3dpbmcgbmFtZXNwYWNlOgorICAgICAgaHR0cDovL3d3dy5ibGFja3BlcmwuY29tL1hNTC9DaGFuZ2VMb2cKKyAgLS0+CisgIDx4c2Q6YW5ub3RhdGlvbj4KKyAgICA8eHNkOmRvY3VtZW50YXRpb24+CisgICAgICBBIGRlc2NyaXB0aW9uIG9mIGFuIFhNTCBhcHBsaWNhdGlvbiB3aGljaCBpdGVtaXplcyBjaGFuZ2VzIG92ZXIgdGhlCisgICAgICBsaWZlLXNwYW4gb2YgYSBzb2Z0d2FyZSBwcm9qZWN0LiBDaGFuZ2VzIGFyZSB0cmFja2VkIGJ5IHJlbGVhc2VzLCB3aXRoIGEKKyAgICAgIGdyYW51bGFyaXR5IG9mIGluZGl2aWR1YWwgaXRlbXMgbWFkZSB1cCBvZiBmaWxlcyB0aGF0IHdlcmUgYWZmZWN0ZWQuCisgICAgPC94c2Q6ZG9jdW1lbnRhdGlvbj4KKyAgICA8eHNkOmFwcGluZm8geG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIj4KKyAgICAgIDxkYzpjcmVhdG9yPlJhbmR5IEouIFJheSAocmpyYXlAYmxhY2twZXJsLmNvbSk8L2RjOmNyZWF0b3I+CisgICAgICA8ZGM6ZGF0ZT4yMDA0LTExLTIyPC9kYzpkYXRlPgorICAgICAgPGRjOnN1YmplY3Q+Y2hhbmdlbG9nLHhtbCxzY2hlbWE8L2RjOnN1YmplY3Q+CisgICAgICA8ZGM6ZGVzY3JpcHRpb24+CisgICAgICAgIEFuIFhNTCBTY2hlbWEgZGVjbGFyYXRpb24gZGVzY3JpYmluZyBhbiBYTUwgZXhwcmVzc2lvbiBvZiBzb2Z0d2FyZQorICAgICAgICBwcm9qZWN0IGNoYW5nZS1sb2dzLgorICAgICAgPC9kYzpkZXNjcmlwdGlvbj4KKyAgICA8L3hzZDphcHBpbmZvPgorICAgIDx4c2Q6YXBwaW5mbz4KKyAgICAgIDxyZGY6UkRGIHhtbG5zOmNjPSJodHRwOi8vd2ViLnJlc291cmNlLm9yZy9jYy8iCisgICAgICAgICAgICAgICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCisgICAgICAgICAgICAgICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgorICAgICAgICA8Y2M6V29yayByZGY6YWJvdXQ9IiI+CisgICAgICAgICAgPGRjOnRpdGxlPlhNTCBTY2hlbWEgZm9yIENoYW5nZWxvZ3M8L2RjOnRpdGxlPgorICAgICAgICAgIDxkYzpkZXNjcmlwdGlvbj4KKyAgICAgICAgICAgIEFuIFhNTCBTY2hlbWEgZGVjbGFyYXRpb24gZGVzY3JpYmluZyBhbiBYTUwgZXhwcmVzc2lvbiBvZiBzb2Z0d2FyZQorICAgICAgICAgICAgcHJvamVjdCBjaGFuZ2UtbG9ncy4KKyAgICAgICAgICA8L2RjOmRlc2NyaXB0aW9uPgorICAgICAgICAgIDxkYzpjcmVhdG9yPgorICAgICAgICAgICAgPGNjOkFnZW50PgorICAgICAgICAgICAgICA8ZGM6dGl0bGU+UmFuZHkgSi4gUmF5PC9kYzp0aXRsZT4KKyAgICAgICAgICAgIDwvY2M6QWdlbnQ+CisgICAgICAgICAgPC9kYzpjcmVhdG9yPgorICAgICAgICAgIDxkYzpyaWdodHM+CisgICAgICAgICAgICA8Y2M6QWdlbnQ+CisgICAgICAgICAgICAgIDxkYzp0aXRsZT5SYW5keSBKLiBSYXk8L2RjOnRpdGxlPgorICAgICAgICAgICAgPC9jYzpBZ2VudD4KKyAgICAgICAgICA8L2RjOnJpZ2h0cz4KKyAgICAgICAgICA8ZGM6dHlwZSByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9UZXh0IiAvPgorICAgICAgICAgIDxjYzpsaWNlbnNlIHJkZjpyZXNvdXJjZT0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnktc2EvMi4wLyIgLz4KKyAgICAgICAgPC9jYzpXb3JrPgorICAgICAgICA8Y2M6TGljZW5zZSByZGY6YWJvdXQ9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LXNhLzIuMC8iPgorICAgICAgICAgIDxjYzpwZXJtaXRzIHJkZjpyZXNvdXJjZT0iaHR0cDovL3dlYi5yZXNvdXJjZS5vcmcvY2MvUmVwcm9kdWN0aW9uIiAvPgorICAgICAgICAgIDxjYzpwZXJtaXRzIHJkZjpyZXNvdXJjZT0iaHR0cDovL3dlYi5yZXNvdXJjZS5vcmcvY2MvRGlzdHJpYnV0aW9uIiAvPgorICAgICAgICAgIDxjYzpyZXF1aXJlcyByZGY6cmVzb3VyY2U9Imh0dHA6Ly93ZWIucmVzb3VyY2Uub3JnL2NjL05vdGljZSIgLz4KKyAgICAgICAgICA8Y2M6cmVxdWlyZXMgcmRmOnJlc291cmNlPSJodHRwOi8vd2ViLnJlc291cmNlLm9yZy9jYy9BdHRyaWJ1dGlvbiIgLz4KKyAgICAgICAgICA8Y2M6cGVybWl0cyByZGY6cmVzb3VyY2U9Imh0dHA6Ly93ZWIucmVzb3VyY2Uub3JnL2NjL0Rlcml2YXRpdmVXb3JrcyIgLz4KKyAgICAgICAgICA8Y2M6cmVxdWlyZXMgcmRmOnJlc291cmNlPSJodHRwOi8vd2ViLnJlc291cmNlLm9yZy9jYy9TaGFyZUFsaWtlIiAvPgorICAgICAgICA8L2NjOkxpY2Vuc2U+CisgICAgICA8L3JkZjpSREY+CisgICAgPC94c2Q6YXBwaW5mbz4KKyAgPC94c2Q6YW5ub3RhdGlvbj4KKworICA8eHNkOmNvbXBsZXhUeXBlIGlkPSJpbmZvcm1hdGlvblR5cGUiIG5hbWU9ImluZm9ybWF0aW9uVHlwZSIKKyAgICAgICAgICAgICAgICAgICBtaXhlZD0idHJ1ZSI+CisgICAgPHhzZDphbm5vdGF0aW9uPgorICAgICAgPHhzZDpkb2N1bWVudGF0aW9uPgorICAgICAgICBBbiBvcGVuLWVuZGVkIGNvbnRhaW5lciB0eXBlIGZvciBpbmNsdWRpbmcgdmVyc2lvbi1jb250cm9sIGluZm9ybWF0aW9uCisgICAgICAgIGF0IHZhcmlvdXMgbGV2ZWxzIHdpdGhpbiB0aGUgY2hhbmdlbG9nIHN0cnVjdHVyZS4gVGhpcyBpcyB0aGUgb25seQorICAgICAgICB0eXBlIHdoaWNoIGV4cGxpY2l0bHkgcGVybWl0cyBjb250ZW50IGZyb20gZm9yZWlnbiBuYW1lc3BhY2VzLgorICAgICAgPC94c2Q6ZG9jdW1lbnRhdGlvbj4KKyAgICA8L3hzZDphbm5vdGF0aW9uPgorICAgIDx4c2Q6c2VxdWVuY2UgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG1pbk9jY3Vycz0iMCI+CisgICAgICA8eHNkOmFueSBwcm9jZXNzQ29udGVudHM9ImxheCIgLz4KKyAgICA8L3hzZDpzZXF1ZW5jZT4KKyAgICA8eHNkOmF0dHJpYnV0ZSBuYW1lPSJzb3VyY2UiIHR5cGU9InhzZDphbnlVUkkiIC8+CisgICAgPHhzZDphbnlBdHRyaWJ1dGUgbmFtZXNwYWNlPSIjI290aGVyIiBwcm9jZXNzQ29udGVudHM9ImxheCIgLz4KKyAgPC94c2Q6Y29tcGxleFR5cGU+CisKKyAgPHhzZDpjb21wbGV4VHlwZSBpZD0iZGVzY3JpcHRpb25UeXBlIiBuYW1lPSJkZXNjcmlwdGlvblR5cGUiPgorICAgIDx4c2Q6YW5ub3RhdGlvbj4KKyAgICAgIDx4c2Q6ZG9jdW1lbnRhdGlvbj4KKyAgICAgICAgQSBkZXNjcmlwdGlvbiBibG9jayBpcyB1c2VkIHRvIGRvY3VtZW50IGV2ZXJ5dGhpbmcgZnJvbSBzcGVjaWZpYyBjaGFuZ2UKKyAgICAgICAgaXRlbXMgdG8gdGhlIHJlbGVhc2UgYXMgYSB3aG9sZS4KKyAgICAgIDwveHNkOmRvY3VtZW50YXRpb24+CisgICAgPC94c2Q6YW5ub3RhdGlvbj4KKyAgICA8eHNkOnNpbXBsZUNvbnRlbnQ+CisgICAgICA8eHNkOmV4dGVuc2lvbiBiYXNlPSJ4c2Q6c3RyaW5nIj4KKyAgICAgICAgPHhzZDphdHRyaWJ1dGUgZGVmYXVsdD0iZW4tVVMiIG5hbWU9ImxhbmciIHR5cGU9InhzZDpsYW5ndWFnZSIgLz4KKyAgICAgIDwveHNkOmV4dGVuc2lvbj4KKyAgICA8L3hzZDpzaW1wbGVDb250ZW50PgorICA8L3hzZDpjb21wbGV4VHlwZT4KKworICA8eHNkOnNpbXBsZVR5cGUgaWQ9InZlcnNpb25TdHJpbmciIG5hbWU9InZlcnNpb25TdHJpbmciPgorICAgIDx4c2Q6YW5ub3RhdGlvbj4KKyAgICAgIDx4c2Q6ZG9jdW1lbnRhdGlvbj4KKyAgICAgICAgVGhlIHZlcnNpb25TdHJpbmcgdHlwZSBpcyBhcHBsaWVkIHRvIGF0dHJpYnV0ZXMgdGhhdCBkZXNjcmliZSBzaW1wbGUKKyAgICAgICAgcmV2aXNpb24tbnVtYmVyIHN0cmluZ3MuIEl0IG9ubHkgc3VwcG9ydHMgQ1ZTIChSQ1MpIHN0eWxlZCB2ZXJzaW9uCisgICAgICAgIG51bWJlcnMuCisgICAgICA8L3hzZDpkb2N1bWVudGF0aW9uPgorICAgIDwveHNkOmFubm90YXRpb24+CisgICAgPHhzZDpyZXN0cmljdGlvbiBiYXNlPSJ4c2Q6c3RyaW5nIj4KKyAgICAgIDx4c2Q6cGF0dGVybiB2YWx1ZT0iXGQrKFwuXGQrKSoiIC8+CisgICAgPC94c2Q6cmVzdHJpY3Rpb24+CisgIDwveHNkOnNpbXBsZVR5cGU+CisKKyAgPHhzZDpjb21wbGV4VHlwZSBpZD0iZmlsZVR5cGUiIG5hbWU9ImZpbGVUeXBlIj4KKyAgICA8eHNkOmFubm90YXRpb24+CisgICAgICA8eHNkOmRvY3VtZW50YXRpb24+CisgICAgICAgIFRoZSBmaWxlVHlwZSBkZWZpbml0aW9uIGlzIHVzZWQgZm9yIHRoZSBmaWxlIGVsZW1lbnQsIGEgcGFydCBvZiB0aGUKKyAgICAgICAgaXRlbVR5cGUgZGVjbGFyYXRpb24uIEl0IGlzIGRlZmluZWQgc2VwYXJhdGVseSBzbyB0aGF0IGl0IGNhbiBiZQorICAgICAgICByZWZlcnJlZCB0byBmcm9tIG11bHRpcGxlIHBsYWNlcy4KKyAgICAgIDwveHNkOmRvY3VtZW50YXRpb24+CisgICAgPC94c2Q6YW5ub3RhdGlvbj4KKyAgICA8eHNkOnNlcXVlbmNlIG1heE9jY3Vycz0iMSIgbWluT2NjdXJzPSIwIj4KKyAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJkZXNjcmlwdGlvbiIgdHlwZT0idG5zOmRlc2NyaXB0aW9uVHlwZSIKKyAgICAgICAgICAgICAgICAgICBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPgorICAgICAgPHhzZDplbGVtZW50IG1heE9jY3Vycz0iMSIgbWluT2NjdXJzPSIwIiBuYW1lPSJ2Yy1pbmZvcm1hdGlvbiIKKyAgICAgICAgICAgICAgICAgICB0eXBlPSJ0bnM6aW5mb3JtYXRpb25UeXBlIiBuaWxsYWJsZT0idHJ1ZSIgLz4KKyAgICA8L3hzZDpzZXF1ZW5jZT4KKyAgICA8eHNkOmF0dHJpYnV0ZSBuYW1lPSJwYXRoIiB0eXBlPSJ4c2Q6c3RyaW5nIiB1c2U9InJlcXVpcmVkIiAvPgorICAgIDx4c2Q6YXR0cmlidXRlIG5hbWU9InJldmlzaW9uIiB0eXBlPSJ0bnM6dmVyc2lvblN0cmluZyIgdXNlPSJvcHRpb25hbCIvPgorICAgIDx4c2Q6YXR0cmlidXRlIG5hbWU9ImF1dGhvciIgdHlwZT0ieHNkOk5NVE9LRU4iIHVzZT0ib3B0aW9uYWwiIC8+CisgICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0iYWN0aW9uIiB1c2U9Im9wdGlvbmFsIj4KKyAgICAgIDx4c2Q6c2ltcGxlVHlwZT4KKyAgICAgICAgPHhzZDpyZXN0cmljdGlvbiBiYXNlPSJ4c2Q6Tk1UT0tFTiI+CisgICAgICAgICAgPHhzZDplbnVtZXJhdGlvbiB2YWx1ZT0iQUREIiAvPgorICAgICAgICAgIDx4c2Q6ZW51bWVyYXRpb24gdmFsdWU9IkRFTEVURSIgLz4KKyAgICAgICAgICA8eHNkOmVudW1lcmF0aW9uIHZhbHVlPSJSRVNUT1JFIiAvPgorICAgICAgICAgIDx4c2Q6ZW51bWVyYXRpb24gdmFsdWU9Ik1PVkUiIC8+CisgICAgICAgIDwveHNkOnJlc3RyaWN0aW9uPgorICAgICAgPC94c2Q6c2ltcGxlVHlwZT4KKyAgICA8L3hzZDphdHRyaWJ1dGU+CisgICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0ibm90ZSIgdHlwZT0ieHNkOnN0cmluZyIgdXNlPSJvcHRpb25hbCIgLz4KKyAgPC94c2Q6Y29tcGxleFR5cGU+CisKKyAgPHhzZDplbGVtZW50IGlkPSJmaWxlIiBuYW1lPSJmaWxlIiBuaWxsYWJsZT0idHJ1ZSIgdHlwZT0idG5zOmZpbGVUeXBlIj4KKyAgICA8eHNkOmFubm90YXRpb24+CisgICAgICA8eHNkOmRvY3VtZW50YXRpb24+CisgICAgICAgIEEgZmlsZSBlbGVtZW50IGNvbnRhaW5zIGEgc2luZ2xlIGJsb2NrIHJlcHJlc2VudGluZyBhIGZpbGVUeXBlLgorICAgICAgPC94c2Q6ZG9jdW1lbnRhdGlvbj4KKyAgICA8L3hzZDphbm5vdGF0aW9uPgorICAgIDx4c2Q6dW5pcXVlIG5hbWU9ImZpbGVEZXNjcmlwdGlvbkxhbmdDb25zdHJhaW50Ij4KKyAgICAgIDx4c2Q6c2VsZWN0b3IgeHBhdGg9InRuczpkZXNjcmlwdGlvbiIgLz4KKyAgICAgIDx4c2Q6ZmllbGQgeHBhdGg9IkBsYW5nIiAvPgorICAgIDwveHNkOnVuaXF1ZT4KKyAgPC94c2Q6ZWxlbWVudD4KKworICA8eHNkOmNvbXBsZXhUeXBlIGlkPSJpdGVtVHlwZSIgbmFtZT0iaXRlbVR5cGUiPgorICAgIDx4c2Q6YW5ub3RhdGlvbj4KKyAgICAgIDx4c2Q6ZG9jdW1lbnRhdGlvbj4KKyAgICAgICAgVGhlc2UgZWxlbWVudCBibG9ja3MgZGVmaW5lIGEgc2luZ2xlIGNoYW5nZS1pdGVtIHdpdGhpbiB0aGUgc2NvcGUgb2YgYQorICAgICAgICBnaXZlbiByZWxlYXNlLiBBIGNoYW5nZS1pdGVtIGNvbnNpc3RzIG9mIG9uZSBvciBtb3JlIGZpbGVzIHRoYXQgd2VyZQorICAgICAgICBhZmZlY3RlZCwgYW5kIGEgZGVzY3JpcHRpb24gb2YgdGhlIGNoYW5nZSBpdHNlbGYuCisgICAgICA8L3hzZDpkb2N1bWVudGF0aW9uPgorICAgIDwveHNkOmFubm90YXRpb24+CisgICAgPHhzZDpzZXF1ZW5jZT4KKyAgICAgIDx4c2Q6ZWxlbWVudCBtYXhPY2N1cnM9IjEiIG1pbk9jY3Vycz0iMCIgbmFtZT0idmMtaW5mb3JtYXRpb24iCisgICAgICAgICAgICAgICAgICAgdHlwZT0idG5zOmluZm9ybWF0aW9uVHlwZSIgbmlsbGFibGU9InRydWUiIC8+CisgICAgICA8eHNkOmNob2ljZSBtaW5PY2N1cnM9IjEiIG1heE9jY3Vycz0iMSI+CisgICAgICAgIDx4c2Q6ZWxlbWVudCByZWY9InRuczpmaWxlIiAvPgorICAgICAgICA8eHNkOmVsZW1lbnQgbmFtZT0iZmlsZXNldCIgbmlsbGFibGU9ImZhbHNlIj4KKyAgICAgICAgICA8eHNkOmNvbXBsZXhUeXBlPgorICAgICAgICAgICAgPHhzZDpzZXF1ZW5jZT4KKyAgICAgICAgICAgICAgPHhzZDplbGVtZW50IG1heE9jY3Vycz0iMSIgbWluT2NjdXJzPSIwIiBuYW1lPSJ2Yy1pbmZvcm1hdGlvbiIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InRuczppbmZvcm1hdGlvblR5cGUiIG5pbGxhYmxlPSJ0cnVlIiAvPgorICAgICAgICAgICAgICA8eHNkOmVsZW1lbnQgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG1pbk9jY3Vycz0iMSIgcmVmPSJ0bnM6ZmlsZSIgLz4KKyAgICAgICAgICAgIDwveHNkOnNlcXVlbmNlPgorICAgICAgICAgIDwveHNkOmNvbXBsZXhUeXBlPgorICAgICAgICA8L3hzZDplbGVtZW50PgorICAgICAgPC94c2Q6Y2hvaWNlPgorICAgICAgPHhzZDplbGVtZW50IG5hbWU9ImRlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6ZGVzY3JpcHRpb25UeXBlIgorICAgICAgICAgICAgICAgICAgIG1pbk9jY3Vycz0iMSIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+CisgICAgPC94c2Q6c2VxdWVuY2U+CisgICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0iaWQiIHR5cGU9InhzZDpJRCIgLz4KKyAgPC94c2Q6Y29tcGxleFR5cGU+CisKKyAgPHhzZDplbGVtZW50IGlkPSJpdGVtIiBuYW1lPSJpdGVtIiBuaWxsYWJsZT0iZmFsc2UiIHR5cGU9InRuczppdGVtVHlwZSI+CisgICAgPHhzZDphbm5vdGF0aW9uPgorICAgICAgPHhzZDpkb2N1bWVudGF0aW9uPgorICAgICAgICBBbiBpdGVtIGVsZW1lbnQgY29udGFpbnMgYSBzaW5nbGUgYmxvY2sgcmVwcmVzZW50aW5nIGFuIGl0ZW1UeXBlLgorICAgICAgPC94c2Q6ZG9jdW1lbnRhdGlvbj4KKyAgICA8L3hzZDphbm5vdGF0aW9uPgorICAgIDx4c2Q6dW5pcXVlIG5hbWU9Iml0ZW1EZXNjcmlwdGlvbkxhbmdDb25zdHJhaW50Ij4KKyAgICAgIDx4c2Q6c2VsZWN0b3IgeHBhdGg9InRuczpkZXNjcmlwdGlvbiIgLz4KKyAgICAgIDx4c2Q6ZmllbGQgeHBhdGg9IkBsYW5nIiAvPgorICAgIDwveHNkOnVuaXF1ZT4KKyAgPC94c2Q6ZWxlbWVudD4KKworICA8eHNkOmNvbXBsZXhUeXBlIGlkPSJyZWxlYXNlVHlwZSIgbmFtZT0icmVsZWFzZVR5cGUiPgorICAgIDx4c2Q6YW5ub3RhdGlvbj4KKyAgICAgIDx4c2Q6ZG9jdW1lbnRhdGlvbj4KKyAgICAgICAgVGhlIHJlbGVhc2UgaXMgdGhlIHByaW1hcnkgcGllY2Ugb2YgaW5mb3JtYXRpb24gdGhhdCBhIGNoYW5nZWxvZworICAgICAgICBjb2xsZWN0cyBhbmQgb3JnYW5pemVzLiBBIHJlbGVhc2UgY29udGFpbnMgYW4gb3B0aW9uYWwgZGVzY3JpcHRpb24sCisgICAgICAgIGZvbGxvd2VkIGJ5IG9uZSBvciBtb3JlIGl0ZW0gYmxvY2tzLiBUaGUgcmVsZWFzZSBlbGVtZW50IGlzIGFsc28gdGhlCisgICAgICAgIGdyZWF0ZXN0IHVzZXIgb2YgYXR0cmlidXRlcyBiZXNpZGVzIHRoZSBmaWxlIGVsZW1lbnQuIEEgcmVsZWFzZSBlbGVtZW50CisgICAgICAgIG11c3QgaGF2ZSBhdCBsZWFzdCBhICJ2ZXJzaW9uIiBhdHRyaWJ1dGUsIHVuaXF1ZWx5IGlkZW50aWZ5aW5nIHRoZQorICAgICAgICByZWxlYXNlIGl0c2VsZi4gQWRkaXRpb25hbGx5LCBpdCBtYXkgaGF2ZSAidGFnIiB0byBhc3NvY2lhdGUgaXQgd2l0aAorICAgICAgICBhIHJlbGVhc2Utc3lzdGVtIHRhZyBhbmQgImRhdGUiIHRvIHNwZWNpZnkgdGhlIGRhdGUgdGhlIHJlbGVhc2Ugd2FzCisgICAgICAgIGNyZWF0ZWQuCisgICAgICA8L3hzZDpkb2N1bWVudGF0aW9uPgorICAgIDwveHNkOmFubm90YXRpb24+CisgICAgPHhzZDpzZXF1ZW5jZT4KKyAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJkZXNjcmlwdGlvbiIgdHlwZT0idG5zOmRlc2NyaXB0aW9uVHlwZSIKKyAgICAgICAgICAgICAgICAgICBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPgorICAgICAgPHhzZDplbGVtZW50IG1heE9jY3Vycz0idW5ib3VuZGVkIiBtaW5PY2N1cnM9IjAiIG5hbWU9ImluZm9ybWF0aW9uIgorICAgICAgICAgICAgICAgICAgIHR5cGU9InRuczppbmZvcm1hdGlvblR5cGUiIG5pbGxhYmxlPSJ0cnVlIiAvPgorICAgICAgPHhzZDplbGVtZW50IG1heE9jY3Vycz0iMSIgbWluT2NjdXJzPSIwIiBuYW1lPSJ2Yy1pbmZvcm1hdGlvbiIKKyAgICAgICAgICAgICAgICAgICB0eXBlPSJ0bnM6aW5mb3JtYXRpb25UeXBlIiBuaWxsYWJsZT0idHJ1ZSIgLz4KKyAgICAgIDx4c2Q6ZWxlbWVudCBtYXhPY2N1cnM9InVuYm91bmRlZCIgbWluT2NjdXJzPSIxIiByZWY9InRuczppdGVtIiAvPgorICAgIDwveHNkOnNlcXVlbmNlPgorICAgIDx4c2Q6YXR0cmlidXRlIG5hbWU9InZlcnNpb24iIHR5cGU9InhzZDp0b2tlbiIgdXNlPSJyZXF1aXJlZCIgLz4KKyAgICA8eHNkOmF0dHJpYnV0ZSBuYW1lPSJ0YWciIHR5cGU9InhzZDpOTVRPS0VOIiAvPgorICAgIDx4c2Q6YXR0cmlidXRlIG5hbWU9ImRhdGUiIHR5cGU9InhzZDp0b2tlbiIgdXNlPSJyZXF1aXJlZCIgLz4gPCEtLSB0eXBlPSJ4c2Q6ZGF0ZVRpbWUiICAtLT4KKyAgPC94c2Q6Y29tcGxleFR5cGU+CisKKyAgPHhzZDplbGVtZW50IGlkPSJyZWxlYXNlIiBuYW1lPSJyZWxlYXNlIiBuaWxsYWJsZT0iZmFsc2UiCisgICAgICAgICAgICAgICB0eXBlPSJ0bnM6cmVsZWFzZVR5cGUiPgorICAgIDx4c2Q6YW5ub3RhdGlvbj4KKyAgICAgIDx4c2Q6ZG9jdW1lbnRhdGlvbj4KKyAgICAgIDwveHNkOmRvY3VtZW50YXRpb24+CisgICAgPC94c2Q6YW5ub3RhdGlvbj4KKyAgICA8eHNkOnVuaXF1ZSBuYW1lPSJyZWxlYXNlRGVzY3JpcHRpb25MYW5nQ29uc3RyYWludCI+CisgICAgICA8eHNkOnNlbGVjdG9yIHhwYXRoPSJ0bnM6ZGVzY3JpcHRpb24iIC8+CisgICAgICA8eHNkOmZpZWxkIHhwYXRoPSJAbGFuZyIgLz4KKyAgICA8L3hzZDp1bmlxdWU+CisgIDwveHNkOmVsZW1lbnQ+CisKKyAgPHhzZDplbGVtZW50IGlkPSJjaGFuZ2Vsb2ciIG5hbWU9ImNoYW5nZWxvZyIgbmlsbGFibGU9ImZhbHNlIj4KKyAgICA8eHNkOmFubm90YXRpb24+CisgICAgICA8eHNkOmRvY3VtZW50YXRpb24+CisgICAgICAgIFRoZSBjaGFuZ2Vsb2cgZWxlbWVudCBpcyBpbnRlbmRlZCBhcyB0aGUgZG9jdW1lbnQgcm9vdCBlbGVtZW50LiBJdAorICAgICAgICBjb250YWlucyBhbiBvdmVydmlldyBlbGVtZW50IChpZGVudGljYWwgaW4gc3RydWN0dXJlIHRvIHRoZSBkZXNjcmlwdGlvbgorICAgICAgICBlbGVtZW50LCBidXQgbmFtZWQgZGlmZmVyZW50bHkgdG8gcHJldmVudCBjb2xsaXNpb24gaW4gWFBhdGggcXVlcmllcykKKyAgICAgICAgYW5kIG9uZSBvciBtb3JlIHJlbGVhc2UgYmxvY2tzLgorICAgICAgPC94c2Q6ZG9jdW1lbnRhdGlvbj4KKyAgICA8L3hzZDphbm5vdGF0aW9uPgorICAgIDx4c2Q6Y29tcGxleFR5cGU+CisgICAgICA8eHNkOnNlcXVlbmNlPgorICAgICAgICA8eHNkOmVsZW1lbnQgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG1pbk9jY3Vycz0iMSIgbmFtZT0iZGVzY3JpcHRpb24iCisgICAgICAgICAgICAgICAgICAgICBuaWxsYWJsZT0iZmFsc2UiIHR5cGU9InRuczpkZXNjcmlwdGlvblR5cGUiIC8+CisgICAgICAgIDx4c2Q6ZWxlbWVudCBtYXhPY2N1cnM9InVuYm91bmRlZCIgbWluT2NjdXJzPSIwIiBuYW1lPSJpbmZvcm1hdGlvbiIKKyAgICAgICAgICAgICAgICAgICB0eXBlPSJ0bnM6aW5mb3JtYXRpb25UeXBlIiBuaWxsYWJsZT0idHJ1ZSIgLz4KKyAgICAgICAgPHhzZDplbGVtZW50IG1heE9jY3Vycz0iMSIgbWluT2NjdXJzPSIwIiBuYW1lPSJ2Yy1pbmZvcm1hdGlvbiIKKyAgICAgICAgICAgICAgICAgICAgIHR5cGU9InRuczppbmZvcm1hdGlvblR5cGUiIG5pbGxhYmxlPSJ0cnVlIiAvPgorICAgICAgICA8eHNkOmVsZW1lbnQgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG1pbk9jY3Vycz0iMSIgcmVmPSJ0bnM6cmVsZWFzZSIgLz4KKyAgICAgIDwveHNkOnNlcXVlbmNlPgorICAgIDwveHNkOmNvbXBsZXhUeXBlPgorICAgIDx4c2Q6dW5pcXVlIG5hbWU9ImNoYW5nZWxvZ0Rlc2NyaXB0aW9uTGFuZ0NvbnN0cmFpbnQiPgorICAgICAgPHhzZDpzZWxlY3RvciB4cGF0aD0idG5zOmRlc2NyaXB0aW9uIiAvPgorICAgICAgPHhzZDpmaWVsZCB4cGF0aD0iQGxhbmciIC8+CisgICAgPC94c2Q6dW5pcXVlPgorICA8L3hzZDplbGVtZW50PgorCis8L3hzZDpzY2hlbWE+CisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2Nob2ljZV8wLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2Nob2ljZV8wLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NzdiMDM5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvY2hvaWNlXzAueG1sCkBAIC0wLDAgKzEsMyBAQAorPGRvYz4KKzxhLz4KKzwvZG9jPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvY2hvaWNlXzAueHNkIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvY2hvaWNlXzAueHNkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE0OTFiNmIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9jaG9pY2VfMC54c2QKQEAgLTAsMCArMSwxMyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8eHM6c2NoZW1hIHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+CisgIDx4czplbGVtZW50IG5hbWU9ImRvYyI+CisgICAgPHhzOmNvbXBsZXhUeXBlPgorICAgICAgPHhzOnNlcXVlbmNlPgorICAgICAgICA8eHM6Y2hvaWNlIG1pbk9jY3Vycz0iMSIgbWF4T2NjdXJzPSIxIj4KKyAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJhIi8+CisgICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iYiIvPgorICAgICAgICA8L3hzOmNob2ljZT4KKyAgICAgIDwveHM6c2VxdWVuY2U+CisgICAgPC94czpjb21wbGV4VHlwZT4KKyAgPC94czplbGVtZW50PgorPC94czpzY2hlbWE+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9jaG9pY2VfMS54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9jaG9pY2VfMS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDVjMGRkMQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2Nob2ljZV8xLnhtbApAQCAtMCwwICsxLDMgQEAKKzxkb2M+Cis8Yi8+Cis8L2RvYz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2Nob2ljZV8xLnhzZCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2Nob2ljZV8xLnhzZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMDYxNGQwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvY2hvaWNlXzEueHNkCkBAIC0wLDAgKzEsMTMgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPHhzOnNjaGVtYSB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiPgorICA8eHM6ZWxlbWVudCBuYW1lPSJkb2MiPgorICAgIDx4czpjb21wbGV4VHlwZT4KKyAgICAgIDx4czpzZXF1ZW5jZT4KKyAgICAgICAgPHhzOmNob2ljZSBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0iMSI+CisgICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iYSIvPgorICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9ImIiLz4KKyAgICAgICAgPC94czpjaG9pY2U+CisgICAgICA8L3hzOnNlcXVlbmNlPgorICAgIDwveHM6Y29tcGxleFR5cGU+CisgIDwveHM6ZWxlbWVudD4KKzwveHM6c2NoZW1hPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvY2hvaWNlXzIueG1sIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvY2hvaWNlXzIueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdiMjdmMTcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9jaG9pY2VfMi54bWwKQEAgLTAsMCArMSw0IEBACis8ZG9jPgorPGEvPgorPGIvPgorPC9kb2M+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9jaG9pY2VfMi54c2QgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9jaG9pY2VfMi54c2QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWYyYjA5NAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2Nob2ljZV8yLnhzZApAQCAtMCwwICsxLDEzIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzx4czpzY2hlbWEgeG1sbnM6eHM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIj4KKyAgPHhzOmVsZW1lbnQgbmFtZT0iZG9jIj4KKyAgICA8eHM6Y29tcGxleFR5cGU+CisgICAgICA8eHM6c2VxdWVuY2U+CisgICAgICAgIDx4czpjaG9pY2UgbWluT2NjdXJzPSIxIiBtYXhPY2N1cnM9IjMiPgorICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9ImEiLz4KKyAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJiIi8+CisgICAgICAgIDwveHM6Y2hvaWNlPgorICAgICAgPC94czpzZXF1ZW5jZT4KKyAgICA8L3hzOmNvbXBsZXhUeXBlPgorICA8L3hzOmVsZW1lbnQ+Cis8L3hzOnNjaGVtYT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2Nob2ljZV8zLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2Nob2ljZV8zLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMzU4MTA5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvY2hvaWNlXzMueG1sCkBAIC0wLDAgKzEsNCBAQAorPGRvYz4KKzxhLz4KKzxhLz4KKzwvZG9jPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvY2hvaWNlXzQueG1sIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvY2hvaWNlXzQueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYzNjkyM2MKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9jaG9pY2VfNC54bWwKQEAgLTAsMCArMSwyIEBACis8ZG9jPgorPC9kb2M+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9jaG9pY2VfNS54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9jaG9pY2VfNS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzM0NWE2OAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2Nob2ljZV81LnhtbApAQCAtMCwwICsxLDYgQEAKKzxkb2M+Cis8YS8+Cis8Yi8+Cis8YS8+Cis8L2RvYz4KKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvY2hvaWNlXzYueG1sIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvY2hvaWNlXzYueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM5NDE1M2QKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9jaG9pY2VfNi54bWwKQEAgLTAsMCArMSw3IEBACis8ZG9jPgorPGEvPgorPGIvPgorPGEvPgorPGEvPgorPC9kb2M+CisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2NvbXBsZXgtdHlwZS1leHRlbnNpb25fMC54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9jb21wbGV4LXR5cGUtZXh0ZW5zaW9uXzAueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhjZGRhMjMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9jb21wbGV4LXR5cGUtZXh0ZW5zaW9uXzAueG1sCkBAIC0wLDAgKzEsMTIgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8SXRlbXNMaXN0IHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiPgorIDxJdGVtIHhzaTp0eXBlPSJJdGVtV2l0aE51bWJlciI+CisgIDxOYW1lPk5hbWUxPC9OYW1lPgorICA8TnVtYmVyPjIwPC9OdW1iZXI+CisgPC9JdGVtPgorIDxJdGVtIHhzaTp0eXBlPSJJdGVtV2l0aE51bWJlciI+CisgIDxOYW1lPk5hbWUxPC9OYW1lPgorICA8TmFtZT5OYW1lMjwvTmFtZT4KKyAgPE51bWJlcj4yMDwvTnVtYmVyPgorIDwvSXRlbT4KKzwvSXRlbXNMaXN0PgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvY29tcGxleC10eXBlLWV4dGVuc2lvbl8wLnhzZCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2NvbXBsZXgtdHlwZS1leHRlbnNpb25fMC54c2QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmE2MjM3YQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2NvbXBsZXgtdHlwZS1leHRlbnNpb25fMC54c2QKQEAgLTAsMCArMSwyNyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8eHM6c2NoZW1hIHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+CisKKyA8eHM6Y29tcGxleFR5cGUgbmFtZT0iSXRlbSIgYWJzdHJhY3Q9InRydWUiPgorICA8eHM6c2VxdWVuY2UgbWluT2NjdXJzPSIxIiBtYXhPY2N1cnM9InVuYm91bmRlZCI+CisgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmFtZSIgdHlwZT0ieHM6c3RyaW5nIi8+CisgIDwveHM6c2VxdWVuY2U+CisgPC94czpjb21wbGV4VHlwZT4KKworIDx4czpjb21wbGV4VHlwZSBuYW1lPSJJdGVtV2l0aE51bWJlciI+CisgIDx4czpjb21wbGV4Q29udGVudD4KKyAgIDx4czpleHRlbnNpb24gYmFzZT0iSXRlbSI+CisgICAgPHhzOnNlcXVlbmNlPgorICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOdW1iZXIiIHR5cGU9InhzOm5vbk5lZ2F0aXZlSW50ZWdlciIvPgorICAgIDwveHM6c2VxdWVuY2U+CisgICA8L3hzOmV4dGVuc2lvbj4KKyAgPC94czpjb21wbGV4Q29udGVudD4KKyA8L3hzOmNvbXBsZXhUeXBlPgorCisgPHhzOmVsZW1lbnQgbmFtZT0iSXRlbXNMaXN0Ij4KKyAgPHhzOmNvbXBsZXhUeXBlPgorICAgPHhzOnNlcXVlbmNlPgorICAgIDx4czplbGVtZW50IG5hbWU9Ikl0ZW0iIHR5cGU9Ikl0ZW0iIG1heE9jY3Vycz0idW5ib3VuZGVkIi8+CisgICA8L3hzOnNlcXVlbmNlPgorICA8L3hzOmNvbXBsZXhUeXBlPgorIDwveHM6ZWxlbWVudD4KKzwveHM6c2NoZW1hPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvY29zLWN0LWV4dGVuZHMtMS0zXzAueG1sIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvY29zLWN0LWV4dGVuZHMtMS0zXzAueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEwYjhhNTkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9jb3MtY3QtZXh0ZW5kcy0xLTNfMC54bWwKQEAgLTAsMCArMSw5IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJJU08tODg1OS0xIj8+Cis8IS0tIAorLS0+Cis8Zm9vIHhtbG5zPSJodHRwOi8vRk9PIiB4bWxuczpmb289Imh0dHA6Ly9GT08iIAorCXhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIAorCXhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL0ZPTyBjb3MtY3QtZXh0ZW5kcy0xLTNfMC54c2QiPgorCTxiYXIuQSBmb286YmFyPSJvIi8+CisJPGJhci5CIGZvbzpiYXI9Im8iLz4KKzwvZm9vPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvY29zLWN0LWV4dGVuZHMtMS0zXzAueHNkIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvY29zLWN0LWV4dGVuZHMtMS0zXzAueHNkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc2NTVhOGUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9jb3MtY3QtZXh0ZW5kcy0xLTNfMC54c2QKQEAgLTAsMCArMSw1MSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSIgPz4KKzwhLS0KKwlTY2hlbWEgQ29tcG9uZW50IENvbnN0cmFpbnQ6IERlcml2YXRpb24gVmFsaWQgKEV4dGVuc2lvbikKKworCTEuMyBJZiBpdCBoYXMgYW4ge2F0dHJpYnV0ZSB3aWxkY2FyZH0sIHRoZSBjb21wbGV4IHR5cGUgZGVmaW5pdGlvbiBtdXN0IAorCWFsc28gaGF2ZSBvbmUsIGFuZCB0aGUgYmFzZSB0eXBlIGRlZmluaXRpb24ncyB7YXR0cmlidXRlIHdpbGRjYXJkfSdzIAorCXtuYW1lc3BhY2UgY29uc3RyYWludH0gbXVzdCBiZSBhIHN1YnNldCBvZiB0aGUgY29tcGxleCB0eXBlIGRlZmluaXRpb24ncyAKKwl7YXR0cmlidXRlIHdpbGRjYXJkfSdzIHtuYW1lc3BhY2UgY29uc3RyYWludH0sIGFzIGRlZmluZWQgYnkgV2lsZGNhcmQgU3Vic2V0ICinMy4xMC42KS4KKy0tPgorPHNjaGVtYSB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIAkKKwl0YXJnZXROYW1lc3BhY2U9Imh0dHA6Ly9GT08iIAorCXhtbG5zOmZvbz0iaHR0cDovL0ZPTyIKKwllbGVtZW50Rm9ybURlZmF1bHQ9InF1YWxpZmllZCI+CisJCisJPGVsZW1lbnQgbmFtZT0iZm9vIj4KKwkJPGNvbXBsZXhUeXBlPgorCQkJPHNlcXVlbmNlPgorCQkJCTxlbGVtZW50IG5hbWU9ImJhci5BIiB0eXBlPSJmb286dHlwZS5BIiAvPgorCQkJCTxlbGVtZW50IG5hbWU9ImJhci5CIiB0eXBlPSJmb286dHlwZS5CIiAvPgorCQkJPC9zZXF1ZW5jZT4KKwkJPC9jb21wbGV4VHlwZT4gICAgCisJPC9lbGVtZW50PiAgCisKKwk8Y29tcGxleFR5cGUgbmFtZT0idHlwZS5BIj4KKwkJPGNvbXBsZXhDb250ZW50PgorCQkJPCEtLSBUaGlzIGlzIE9LLCBzaW5jZSB0aGUgY29tcGxldGUgd2lsZGNhcmQKKwkJCSAgaXMgdGhlIHdpbGRjYXJkIG9mIHRoZSBiYXNlIHR5cGUuIC0tPgorCQkJPGV4dGVuc2lvbiBiYXNlPSJmb286YmFzZS50eXBlLkEiIC8+CQkJCSAgCSAgCQkJCQkJCisJCTwvY29tcGxleENvbnRlbnQ+CisJPC9jb21wbGV4VHlwZT4gICAgCisKKwk8Y29tcGxleFR5cGUgbmFtZT0iYmFzZS50eXBlLkEiPgorCQk8YW55QXR0cmlidXRlIG5hbWVzcGFjZT0iIyNhbnkiIHByb2Nlc3NDb250ZW50cz0ic2tpcCIgLz4JCQorCTwvY29tcGxleFR5cGU+ICAgIAorCisJPGNvbXBsZXhUeXBlIG5hbWU9InR5cGUuQiI+CisJCTxjb21wbGV4Q29udGVudD4KKwkJCTxleHRlbnNpb24gYmFzZT0iZm9vOmJhc2UudHlwZS5CIj4JCisJCQkJPCEtLSBUaGlzIGlzIE9LLCBzaW5jZSB0aGUgY29tcGxldGUgd2lsZGNhcmQgaXMgYSB1bmlvbgorCQkJCSAgb2YgIiMjYW55IiBhbmQgImh0dHA6Ly9GT08iID0gIiMjYW55Ii4gVGh1cyB0aGUgY29tcGxldGUKKwkJCQkgIHdpbGRjYXJkIGlzIGVxdWFsIHRvIHRoYXQgb25lIGluIHRoZSBiYXNlIGNsYXNzLiAtLT4KKwkJCQk8YW55QXR0cmlidXRlIG5hbWVzcGFjZT0iaHR0cDovL0ZPTyIgcHJvY2Vzc0NvbnRlbnRzPSJza2lwIiAvPgorCQkJPC9leHRlbnNpb24+CisJCTwvY29tcGxleENvbnRlbnQ+CisJPC9jb21wbGV4VHlwZT4gICAgCisKKwk8Y29tcGxleFR5cGUgbmFtZT0iYmFzZS50eXBlLkIiPgorCQk8YW55QXR0cmlidXRlIG5hbWVzcGFjZT0iIyNhbnkiIHByb2Nlc3NDb250ZW50cz0ic2tpcCIgLz4JCQorCTwvY29tcGxleFR5cGU+ICAgIAorCis8L3NjaGVtYT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2Nvcy1zdC1yZXN0cmljdHMtMS0yLWVycl8wLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2Nvcy1zdC1yZXN0cmljdHMtMS0yLWVycl8wLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZjYwZTViCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvY29zLXN0LXJlc3RyaWN0cy0xLTItZXJyXzAueG1sCkBAIC0wLDAgKzEsMyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8Zm9vIHhtbG5zPSJodHRwOi8vRk9PIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiAKKwl4c2k6c2NoZW1hTG9jYXRpb249Imh0dHA6Ly9GT08gY29zLXN0LXJlc3RyaWN0cy0xLTItZXJyXzAueHNkIj4xIDI8L2Zvbz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2Nvcy1zdC1yZXN0cmljdHMtMS0yLWVycl8wLnhzZCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2Nvcy1zdC1yZXN0cmljdHMtMS0yLWVycl8wLnhzZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZDNmYWJmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvY29zLXN0LXJlc3RyaWN0cy0xLTItZXJyXzAueHNkCkBAIC0wLDAgKzEsMzAgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IklTTy04ODU5LTEiPz4KKzxzY2hlbWEgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiAKKwl0YXJnZXROYW1lc3BhY2U9Imh0dHA6Ly9GT08iIHhtbG5zOmZvbz0iaHR0cDovL0ZPTyI+CisKKwk8ZWxlbWVudCBuYW1lPSJmb28iIHR5cGU9ImZvbzp0eXBlLkEiLz4KKworCTxzaW1wbGVUeXBlIG5hbWU9InR5cGUuQSI+CisJCTxyZXN0cmljdGlvbj4KKwkJCTxzaW1wbGVUeXBlPgorCQkJCTxsaXN0IGl0ZW1UeXBlPSJpbnRlZ2VyIi8+CQkJCisJCQk8L3NpbXBsZVR5cGU+CisJCQk8bGVuZ3RoIHZhbHVlPSIzIi8+CisJCTwvcmVzdHJpY3Rpb24+CisJPC9zaW1wbGVUeXBlPgorCisJPCEtLXJlc3RyaWN0aW9uIGJhc2U9ImZvbzp0eXBlLmJhc2UuQSI+CisJCQkKKwk8L3Jlc3RyaWN0aW9uLS0+CisKKwk8c2ltcGxlVHlwZSBuYW1lPSJ0eXBlLmJhc2UuQSI+CisJCTxyZXN0cmljdGlvbj4KKwkJCTxzaW1wbGVUeXBlPgorCQkJCTxsaXN0IGl0ZW1UeXBlPSJpbnRlZ2VyIi8+CQkJCQorCQkJPC9zaW1wbGVUeXBlPgorCQk8L3Jlc3RyaWN0aW9uPgorCTwvc2ltcGxlVHlwZT4KKworCQorCis8L3NjaGVtYT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2N0LXNjLW5vYmFzZV8wLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2N0LXNjLW5vYmFzZV8wLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44Njc4NDEwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvY3Qtc2Mtbm9iYXNlXzAueG1sCkBAIC0wLDAgKzEsNCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8Zm9vIHhtbG5zPSJodHRwOi8vRk9PIgorICB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiAKKyAgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vRk9PIGN0LXNjLW5vYmFzZV8wLnhzZCIvPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2N0LXNjLW5vYmFzZV8wLnhzZCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2N0LXNjLW5vYmFzZV8wLnhzZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMDBlOTQxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvY3Qtc2Mtbm9iYXNlXzAueHNkCkBAIC0wLDAgKzEsMjQgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPHhzZDpzY2hlbWEgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIKKwl0YXJnZXROYW1lc3BhY2U9Imh0dHA6Ly9GT08iCisJeG1sbnM6Zm9vPSJodHRwOi8vRk9PIj4KKworCTx4c2Q6Y29tcGxleFR5cGUgbmFtZT0iYmFzZSI+CisJCTx4c2Q6c2ltcGxlQ29udGVudD4KKwkJCTx4c2Q6ZXh0ZW5zaW9uIGJhc2U9InhzZDpzdHJpbmciLz4KKwkJPC94c2Q6c2ltcGxlQ29udGVudD4KKwk8L3hzZDpjb21wbGV4VHlwZT4KKworCTx4c2Q6ZWxlbWVudCBuYW1lPSJmb28iPgorCQk8eHNkOmNvbXBsZXhUeXBlPgorCQkJPHhzZDpzaW1wbGVDb250ZW50PgorCQkJCTx4c2Q6cmVzdHJpY3Rpb24gYmFzZT0iZm9vOmJhc2UiPgorCQkJCQk8eHNkOnNpbXBsZVR5cGU+CisJCQkJCQk8eHNkOnJlc3RyaWN0aW9uIGJhc2U9InhzZDpzdHJpbmciLz4KKwkJCQkJPC94c2Q6c2ltcGxlVHlwZT4KKwkJCQk8L3hzZDpyZXN0cmljdGlvbj4KKwkJCTwveHNkOnNpbXBsZUNvbnRlbnQ+CisJCTwveHNkOmNvbXBsZXhUeXBlPgorCTwveHNkOmVsZW1lbnQ+CisKKzwveHNkOnNjaGVtYT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9kYXRlXzAueG1sIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvZGF0ZV8wLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YzY3N2VkCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvZGF0ZV8wLnhtbApAQCAtMCwwICsxLDI2IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxkYXRlPgorICA8dGltZT4wMTowMjo1OTwvdGltZT4KKyAgPHRpbWUxPjAxOjAyOjU5PC90aW1lMT4KKyAgPHRpbWUyPjEyOjU5OjU5LjAwMDE8L3RpbWUyPgorICA8dGltZTI+MTI6MDA6MDA8L3RpbWUyPgorICA8ZGF0ZTE+MTk5Ni0wNS0yMDwvZGF0ZTE+CisgIDxkYXRlMT4yMDAyLTA1LTE4PC9kYXRlMT4KKyAgPGRhdGUyPjE5OTYtMDUtMTlaPC9kYXRlMj4KKyAgPGRhdGUyPjIwMDItMDUtMTlaPC9kYXRlMj4KKyAgPGRhdGUxPjIwMDItMDUtMThaPC9kYXRlMT4KKyAgPGRhdGUxPjIwMDAtMDUtMThaPC9kYXRlMT4KKyAgPGR0MT4yMDAwLTA1LTE4VDAwOjAwOjAwPC9kdDE+CisgIDxkdDI+MjAwMi0wNS0xOVQyMTozMDowMC45OTwvZHQyPgorICA8ZHQxPjE5NjktMTItMzFUMjM6MDA6MDEtMDE6MDA8L2R0MT4KKyAgPGhvbD4tLTAxLTAxPC9ob2w+CisgIDxob2w+LS0wNy0wNDwvaG9sPgorICA8aG9sPi0tMTItMjU8L2hvbD4KKyAgPHllYXIxPjIwMDI8L3llYXIxPgorICA8eWVhcm1vbjE+MjAwMi0wNTwveWVhcm1vbjE+CisgIDxtb24xPi0tMDVaPC9tb24xPgorICA8ZGF5MT4tLS0zMTwvZGF5MT4KKyAgPG1vbnRoZGF5MT4tLTAyLTI4WjwvbW9udGhkYXkxPgorICA8bW9udGhkYXkxPi0tMTItMzEtMDY6MDA8L21vbnRoZGF5MT4KKyAgPGR0Mj4yMDAzLTA0LTMwVDE4OjAwOjAwLTA2OjAwPC9kdDI+Cis8L2RhdGU+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9kYXRlXzAueHNkIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvZGF0ZV8wLnhzZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MjQ3Mzk0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvZGF0ZV8wLnhzZApAQCAtMCwwICsxLDEyMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8eHNkOnNjaGVtYSB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIj4KKyAgPHhzZDphbm5vdGF0aW9uPgorICAgIDx4c2Q6ZG9jdW1lbnRhdGlvbiB4bWw6bGFuZz0iZW4iPgorICAgICAgICBUZXN0aW5nIGRhdGUvdGltZSBkYXRhIHR5cGVzCisgICAgPC94c2Q6ZG9jdW1lbnRhdGlvbj4KKyAgPC94c2Q6YW5ub3RhdGlvbj4KKyAgPHhzZDplbGVtZW50IG5hbWU9ImRhdGUiPgorICAgIDx4c2Q6Y29tcGxleFR5cGU+CisgICAgICA8eHNkOnNlcXVlbmNlPgorICAgICAgICA8eHNkOmNob2ljZSBtaW5PY2N1cnM9IjEiIG1heE9jY3Vycz0idW5ib3VuZGVkIj4KKyAgICAgICAgICA8eHNkOmVsZW1lbnQgbmFtZT0idGltZSIgdHlwZT0ieHNkOnRpbWUiLz4KKyAgICAgICAgICA8eHNkOmVsZW1lbnQgbmFtZT0idGltZTEiPgorICAgICAgICAgICAgPHhzZDpzaW1wbGVUeXBlPgorICAgICAgICAgICAgICA8eHNkOnJlc3RyaWN0aW9uIGJhc2U9InhzZDp0aW1lIj4KKyAgICAgICAgICAgICAgICA8eHNkOm1heEluY2x1c2l2ZSB2YWx1ZT0iMjM6NTk6NTkuOTk5OTk5OSIvPgorICAgICAgICAgICAgICAgIDx4c2Q6bWluSW5jbHVzaXZlIHZhbHVlPSIwMDowMDowMCIvPgorICAgICAgICAgICAgICA8L3hzZDpyZXN0cmljdGlvbj4KKyAgICAgICAgICAgIDwveHNkOnNpbXBsZVR5cGU+CisgICAgICAgICAgPC94c2Q6ZWxlbWVudD4KKyAgICAgICAgICA8eHNkOmVsZW1lbnQgbmFtZT0idGltZTIiPgorICAgICAgICAgICAgPHhzZDpzaW1wbGVUeXBlPgorICAgICAgICAgICAgICA8eHNkOnJlc3RyaWN0aW9uIGJhc2U9InhzZDp0aW1lIj4KKyAgICAgICAgICAgICAgICA8eHNkOm1heEluY2x1c2l2ZSB2YWx1ZT0iMTM6NTA6NTAiLz4KKyAgICAgICAgICAgICAgICA8eHNkOm1pbkluY2x1c2l2ZSB2YWx1ZT0iMTI6MDA6MDAiLz4KKyAgICAgICAgICAgICAgPC94c2Q6cmVzdHJpY3Rpb24+CisgICAgICAgICAgICA8L3hzZDpzaW1wbGVUeXBlPgorICAgICAgICAgIDwveHNkOmVsZW1lbnQ+CisgICAgICAgICAgPHhzZDplbGVtZW50IG5hbWU9ImRhdGUxIj4KKyAgICAgICAgICAgIDx4c2Q6c2ltcGxlVHlwZT4KKyAgICAgICAgICAgICAgPHhzZDpyZXN0cmljdGlvbiBiYXNlPSJ4c2Q6ZGF0ZSI+CisgICAgICAgICAgICAgICAgPHhzZDptYXhFeGNsdXNpdmUgdmFsdWU9IjIwMDItMDUtMTkiLz4KKyAgICAgICAgICAgICAgICA8eHNkOm1pbkV4Y2x1c2l2ZSB2YWx1ZT0iMTk5Ni0wNS0xOSIvPgorICAgICAgICAgICAgICA8L3hzZDpyZXN0cmljdGlvbj4KKyAgICAgICAgICAgIDwveHNkOnNpbXBsZVR5cGU+CisgICAgICAgICAgPC94c2Q6ZWxlbWVudD4KKyAgICAgICAgICA8eHNkOmVsZW1lbnQgbmFtZT0iZGF0ZTIiPgorICAgICAgICAgICAgPHhzZDpzaW1wbGVUeXBlPgorICAgICAgICAgICAgICA8eHNkOnJlc3RyaWN0aW9uIGJhc2U9InhzZDpkYXRlIj4KKyAgICAgICAgICAgICAgICA8eHNkOm1heEluY2x1c2l2ZSB2YWx1ZT0iMjAwMi0wNS0xOVoiLz4KKyAgICAgICAgICAgICAgICA8eHNkOm1pbkluY2x1c2l2ZSB2YWx1ZT0iMTk5Ni0wNS0xOVoiLz4KKyAgICAgICAgICAgICAgPC94c2Q6cmVzdHJpY3Rpb24+CisgICAgICAgICAgICA8L3hzZDpzaW1wbGVUeXBlPgorICAgICAgICAgIDwveHNkOmVsZW1lbnQ+CisgICAgICAgICAgPHhzZDplbGVtZW50IG5hbWU9ImR0MSI+CisgICAgICAgICAgICA8eHNkOnNpbXBsZVR5cGU+CisgICAgICAgICAgICAgIDx4c2Q6cmVzdHJpY3Rpb24gYmFzZT0ieHNkOmRhdGVUaW1lIj4KKyAgICAgICAgICAgICAgICA8eHNkOm1heEV4Y2x1c2l2ZSB2YWx1ZT0iMjAwMi0wMS0wMVQwMDowMDowMFoiLz4KKyAgICAgICAgICAgICAgICA8eHNkOm1pbkV4Y2x1c2l2ZSB2YWx1ZT0iMTk3MC0wMS0wMVQwMDowMDowMFoiLz4KKyAgICAgICAgICAgICAgPC94c2Q6cmVzdHJpY3Rpb24+CisgICAgICAgICAgICA8L3hzZDpzaW1wbGVUeXBlPgorICAgICAgICAgIDwveHNkOmVsZW1lbnQ+CisgICAgICAgICAgPHhzZDplbGVtZW50IG5hbWU9ImR0MiI+CisgICAgICAgICAgICA8eHNkOnNpbXBsZVR5cGU+CisgICAgICAgICAgICAgIDx4c2Q6cmVzdHJpY3Rpb24gYmFzZT0ieHNkOmRhdGVUaW1lIj4KKyAgICAgICAgICAgICAgICA8eHNkOm1heEluY2x1c2l2ZSB2YWx1ZT0iMjAwMy0wNS0wMVQwMDowMDowMFoiLz4KKyAgICAgICAgICAgICAgICA8eHNkOm1pbkluY2x1c2l2ZSB2YWx1ZT0iMTk5Ni0wNS0xOVQyMTozMDowMFoiLz4KKyAgICAgICAgICAgICAgPC94c2Q6cmVzdHJpY3Rpb24+CisgICAgICAgICAgICA8L3hzZDpzaW1wbGVUeXBlPgorICAgICAgICAgIDwveHNkOmVsZW1lbnQ+CisgICAgICAgICAgPHhzZDplbGVtZW50IG5hbWU9ImhvbCIgdHlwZT0iaG9saWRheXMiLz4KKyAgICAgICAgICA8eHNkOmVsZW1lbnQgbmFtZT0ieWVhcjEiPgorICAgICAgICAgICAgPHhzZDpzaW1wbGVUeXBlPgorICAgICAgICAgICAgICA8eHNkOnJlc3RyaWN0aW9uIGJhc2U9InhzZDpnWWVhciI+CisgICAgICAgICAgICAgICAgPHhzZDptYXhJbmNsdXNpdmUgdmFsdWU9IjIwMDNaIi8+CisgICAgICAgICAgICAgICAgPHhzZDptaW5JbmNsdXNpdmUgdmFsdWU9IjE5OTZaIi8+CisgICAgICAgICAgICAgIDwveHNkOnJlc3RyaWN0aW9uPgorICAgICAgICAgICAgPC94c2Q6c2ltcGxlVHlwZT4KKyAgICAgICAgICA8L3hzZDplbGVtZW50PgorICAgICAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJ5ZWFybW9uMSI+CisgICAgICAgICAgICA8eHNkOnNpbXBsZVR5cGU+CisgICAgICAgICAgICAgIDx4c2Q6cmVzdHJpY3Rpb24gYmFzZT0ieHNkOmdZZWFyTW9udGgiPgorICAgICAgICAgICAgICAgIDx4c2Q6bWF4SW5jbHVzaXZlIHZhbHVlPSIyMDAzLTA1WiIvPgorICAgICAgICAgICAgICAgIDx4c2Q6bWluSW5jbHVzaXZlIHZhbHVlPSIxOTk2LTA1WiIvPgorICAgICAgICAgICAgICA8L3hzZDpyZXN0cmljdGlvbj4KKyAgICAgICAgICAgIDwveHNkOnNpbXBsZVR5cGU+CisgICAgICAgICAgPC94c2Q6ZWxlbWVudD4KKyAgICAgICAgICA8eHNkOmVsZW1lbnQgbmFtZT0ibW9uMSI+CisgICAgICAgICAgICA8eHNkOnNpbXBsZVR5cGU+CisgICAgICAgICAgICAgIDx4c2Q6cmVzdHJpY3Rpb24gYmFzZT0ieHNkOmdNb250aCI+CisgICAgICAgICAgICAgICAgPHhzZDptaW5JbmNsdXNpdmUgdmFsdWU9Ii0tMDFaIi8+CisgICAgICAgICAgICAgICAgPHhzZDptYXhJbmNsdXNpdmUgdmFsdWU9Ii0tMDVaIi8+CisgICAgICAgICAgICAgIDwveHNkOnJlc3RyaWN0aW9uPgorICAgICAgICAgICAgPC94c2Q6c2ltcGxlVHlwZT4KKyAgICAgICAgICA8L3hzZDplbGVtZW50PgorICAgICAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJkYXkxIj4KKyAgICAgICAgICAgIDx4c2Q6c2ltcGxlVHlwZT4KKyAgICAgICAgICAgICAgPHhzZDpyZXN0cmljdGlvbiBiYXNlPSJ4c2Q6Z0RheSI+CisgICAgICAgICAgICAgICAgPHhzZDptaW5JbmNsdXNpdmUgdmFsdWU9Ii0tLTI4Ii8+CisgICAgICAgICAgICAgICAgPHhzZDptYXhJbmNsdXNpdmUgdmFsdWU9Ii0tLTMxIi8+CisgICAgICAgICAgICAgIDwveHNkOnJlc3RyaWN0aW9uPgorICAgICAgICAgICAgPC94c2Q6c2ltcGxlVHlwZT4KKyAgICAgICAgICA8L3hzZDplbGVtZW50PgorICAgICAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJtb250aGRheTEiIHR5cGU9InhzZDpnTW9udGhEYXkiLz4KKyAgICAgICAgPC94c2Q6Y2hvaWNlPgorICAgICAgPC94c2Q6c2VxdWVuY2U+CisgICAgPC94c2Q6Y29tcGxleFR5cGU+CisgIDwveHNkOmVsZW1lbnQ+CisgIDx4c2Q6c2ltcGxlVHlwZSBuYW1lPSdob2xpZGF5cyc+CisgICAgPHhzZDphbm5vdGF0aW9uPgorICAgICAgPHhzZDpkb2N1bWVudGF0aW9uPnNvbWUgVVMgaG9saWRheXM8L3hzZDpkb2N1bWVudGF0aW9uPgorICAgIDwveHNkOmFubm90YXRpb24+CisgICAgPHhzZDpyZXN0cmljdGlvbiBiYXNlPSd4c2Q6Z01vbnRoRGF5Jz4KKyAgICAgIDx4c2Q6ZW51bWVyYXRpb24gdmFsdWU9Jy0tMDEtMDEnPgorICAgICAgICA8eHNkOmFubm90YXRpb24+CisgICAgICAgICAgPHhzZDpkb2N1bWVudGF0aW9uPk5ldyBZZWFyJ3MgZGF5PC94c2Q6ZG9jdW1lbnRhdGlvbj4KKyAgICAgICAgPC94c2Q6YW5ub3RhdGlvbj4KKyAgICAgIDwveHNkOmVudW1lcmF0aW9uPgorICAgICAgPHhzZDplbnVtZXJhdGlvbiB2YWx1ZT0nLS0wNy0wNCc+CisgICAgICAgIDx4c2Q6YW5ub3RhdGlvbj4KKyAgICAgICAgICA8eHNkOmRvY3VtZW50YXRpb24+NHRoIG9mIEp1bHk8L3hzZDpkb2N1bWVudGF0aW9uPgorICAgICAgICA8L3hzZDphbm5vdGF0aW9uPgorICAgICAgPC94c2Q6ZW51bWVyYXRpb24+CisgICAgICA8eHNkOmVudW1lcmF0aW9uIHZhbHVlPSctLTEyLTI1Jz4KKyAgICAgICAgPHhzZDphbm5vdGF0aW9uPgorICAgICAgICAgIDx4c2Q6ZG9jdW1lbnRhdGlvbj5DaHJpc3RtYXM8L3hzZDpkb2N1bWVudGF0aW9uPgorICAgICAgICA8L3hzZDphbm5vdGF0aW9uPgorICAgICAgPC94c2Q6ZW51bWVyYXRpb24+CisgICAgPC94c2Q6cmVzdHJpY3Rpb24+CisgIDwveHNkOnNpbXBsZVR5cGU+Cis8L3hzZDpzY2hlbWE+CisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2RlY2ltYWwtMS54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9kZWNpbWFsLTEueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ1NjhmZjEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9kZWNpbWFsLTEueG1sCkBAIC0wLDAgKzEsMzcgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCEtLSB0ZXN0IHRoZSB2YWx1ZXM6CisJICAtICBCQUQKKwkgICsgIEJBRAorCSAgMS4KKwkgIC4xCisJICAwLgorCSAgLjAKKwkgIC0gMSBCQUQKKwkgICsgMSBCQUQKKwkgIC4gICBCQUQKKwkgIDAwMCAgIQorCS0tPgorPGZvbworCXhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiCisJeHNpOm5vTmFtZXNwYWNlU2NoZW1hTG9jYXRpb249ImRlY2ltYWwtMS54c2QiPgorCTwhLS0gVGhlIGdvb2Qgb25lcy4gLS0+CisJPHZhbD4gMC4gPC92YWw+CisJPHZhbD4gLjAgPC92YWw+CisJPHZhbD4gLjEwIDwvdmFsPgorCTx2YWw+IDAxLiA8L3ZhbD4KKwk8dmFsPiAwMDAgPC92YWw+CQorCTx2YWw+MTIzNDU2Nzg5MDEyMzQ1Njc4PC92YWw+CisJPHZhbD4tMTIzNDU2Nzg5MDEyMzQ1Njc4PC92YWw+CisJPHZhbD4wLjEyMzQ1Njc4OTAxMjM0NTY3ODwvdmFsPgorCTx2YWw+LTAuMTIzNDU2Nzg5MDEyMzQ1Njc4PC92YWw+CisJPCEtLSBUaGUgYmFkIG9uZXMuIC0tPgorCTx2YWw+LjwvdmFsPgorCTx2YWw+LTwvdmFsPgorCTx2YWw+KzwvdmFsPgorCTx2YWw+KjwvdmFsPgorCTx2YWw+LSAxPC92YWw+CisJPHZhbD4rIDE8L3ZhbD4KKwk8dmFsPisgMDwvdmFsPgorCTx2YWw+LSAwPC92YWw+CisJPCEtLXJlZj4wLjA8L3JlZi0tPgkKKzwvZm9vPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvZGVjaW1hbC0xLnhzZCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2RlY2ltYWwtMS54c2QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODMwY2EzZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2RlY2ltYWwtMS54c2QKQEAgLTAsMCArMSwyOSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8eHNkOnNjaGVtYSB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIj4KKwkKKwk8eHNkOnNpbXBsZVR5cGUgbmFtZT0ibXlEZWNpbWFsIj4KKwkJPHhzZDpyZXN0cmljdGlvbiBiYXNlPSJ4c2Q6ZGVjaW1hbCI+CQkJCisJCQk8eHNkOnRvdGFsRGlnaXRzIHZhbHVlPSIxOCIvPgkJCQorCQk8L3hzZDpyZXN0cmljdGlvbj4KKwk8L3hzZDpzaW1wbGVUeXBlPgorCisJPHhzZDplbGVtZW50IG5hbWU9ImZvbyI+CisJCTx4c2Q6Y29tcGxleFR5cGU+CisJCQk8eHNkOnNlcXVlbmNlPgorCQkJCTx4c2Q6ZWxlbWVudCBuYW1lPSJ2YWwiIHR5cGU9Im15RGVjaW1hbCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiLz4KKwkJCQk8eHNkOmVsZW1lbnQgbmFtZT0icmVmIiB0eXBlPSJteURlY2ltYWwiIG1pbk9jY3Vycz0iMCIvPgorCQkJPC94c2Q6c2VxdWVuY2U+CisJCTwveHNkOmNvbXBsZXhUeXBlPgorCisJCTwhLS14c2Q6a2V5IG5hbWU9Im15S2V5Ij4KKwkJCTx4c2Q6c2VsZWN0b3IgeHBhdGg9InZhbCIvPgorCQkJPHhzZDpmaWVsZCB4cGF0aD0iLiIvPgorCQk8L3hzZDprZXk+CisKKwkJPHhzZDprZXlyZWYgbmFtZT0ibXlLZXlSZWYiIHJlZmVyPSJteUtleSI+CisJCQk8eHNkOnNlbGVjdG9yIHhwYXRoPSJyZWYiLz4KKwkJCTx4c2Q6ZmllbGQgeHBhdGg9Ii4iLz4KKwkJPC94c2Q6a2V5cmVmLS0+CisJPC94c2Q6ZWxlbWVudD4KKworPC94c2Q6c2NoZW1hPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvZGVjaW1hbC0xXzAueG1sIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvZGVjaW1hbC0xXzAueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdiZjM3MTkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9kZWNpbWFsLTFfMC54bWwKQEAgLTAsMCArMSwyNCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8Zm9vCisgICAgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIKKyAgICB4c2k6bm9OYW1lc3BhY2VTY2hlbWFMb2NhdGlvbj0iZGVjaW1hbC0xLnhzZCI+CisgICAgPCEtLSBUaGUgZ29vZCBvbmVzLiAtLT4KKyAgICA8dmFsPiAwLiA8L3ZhbD4KKyAgICA8dmFsPiAuMCA8L3ZhbD4KKyAgICA8dmFsPiAuMTAgPC92YWw+CisgICAgPHZhbD4gMDEuIDwvdmFsPgorICAgIDx2YWw+IDAwMCA8L3ZhbD4KKyAgICA8dmFsPjEyMzQ1Njc4OTAxMjM0NTY3ODwvdmFsPgorICAgIDx2YWw+LTEyMzQ1Njc4OTAxMjM0NTY3ODwvdmFsPgorICAgIDx2YWw+MC4xMjM0NTY3ODkwMTIzNDU2Nzg8L3ZhbD4KKyAgICA8dmFsPi0wLjEyMzQ1Njc4OTAxMjM0NTY3ODwvdmFsPgorICAgIDwhLS0gVGhlIGJhZCBvbmVzLiAtLT4KKyAgICA8dmFsPi48L3ZhbD4KKyAgICA8dmFsPi08L3ZhbD4KKyAgICA8dmFsPis8L3ZhbD4KKyAgICA8dmFsPio8L3ZhbD4KKyAgICA8dmFsPi0gMTwvdmFsPgorICAgIDx2YWw+KyAxPC92YWw+CisgICAgPHZhbD4rIDA8L3ZhbD4KKyAgICA8dmFsPi0gMDwvdmFsPgorPC9mb28+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9kZWNpbWFsLTFfMS54c2QgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9kZWNpbWFsLTFfMS54c2QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjU5OGM4NgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2RlY2ltYWwtMV8xLnhzZApAQCAtMCwwICsxLDE5IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzx4c2Q6c2NoZW1hIHhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiPgorCisgICAgPHhzZDpzaW1wbGVUeXBlIG5hbWU9Im15RGVjaW1hbCI+CisgICAgICAgIDx4c2Q6cmVzdHJpY3Rpb24gYmFzZT0ieHNkOmRlY2ltYWwiPgorICAgICAgICAgICAgPHhzZDp0b3RhbERpZ2l0cyB2YWx1ZT0iMTgiLz4KKyAgICAgICAgPC94c2Q6cmVzdHJpY3Rpb24+CisgICAgPC94c2Q6c2ltcGxlVHlwZT4KKworICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJmb28iPgorICAgICAgICA8eHNkOmNvbXBsZXhUeXBlPgorICAgICAgICAgICAgPHhzZDpzZXF1ZW5jZT4KKyAgICAgICAgICAgICAgICA8eHNkOmVsZW1lbnQgbmFtZT0idmFsIiB0eXBlPSJteURlY2ltYWwiIG1heE9jY3Vycz0idW5ib3VuZGVkIi8+CisgICAgICAgICAgICA8L3hzZDpzZXF1ZW5jZT4KKyAgICAgICAgPC94c2Q6Y29tcGxleFR5cGU+CisKKyAgICA8L3hzZDplbGVtZW50PgorCis8L3hzZDpzY2hlbWE+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9kZWNpbWFsLTJfMC54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9kZWNpbWFsLTJfMC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTY2Zjc4MQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2RlY2ltYWwtMl8wLnhtbApAQCAtMCwwICsxLDE0IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxmb28KKyAgICB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIgorICAgIHhzaTpub05hbWVzcGFjZVNjaGVtYUxvY2F0aW9uPSJkZWNpbWFsLTIueHNkIj4KKyAgICA8IS0tIFRoZSBnb29kIG9uZXMuIC0tPgorICAgIDx2YWw+MC4xPC92YWw+CisgICAgPHZhbD4wLjAwMTwvdmFsPgorICAgIDx2YWw+MC4wPC92YWw+CisgICAgPHZhbD4tMC4wPC92YWw+CisgICAgPHZhbD4xPC92YWw+CisgICAgPCEtLSBUaGUgYmFkIG9uZXMuIC0tPgorICAgIDx2YWw+LTAuMTwvdmFsPgorICAgIDx2YWw+LTE8L3ZhbD4KKzwvZm9vPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvZGVjaW1hbC0yXzEueHNkIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvZGVjaW1hbC0yXzEueHNkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNjNzE2NzAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9kZWNpbWFsLTJfMS54c2QKQEAgLTAsMCArMSwxOCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8eHNkOnNjaGVtYSB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIj4KKworICAgIDx4c2Q6c2ltcGxlVHlwZSBuYW1lPSJteURlY2ltYWwiPgorICAgICAgICA8eHNkOnJlc3RyaWN0aW9uIGJhc2U9InhzZDpkZWNpbWFsIj4KKyAgICAgICAgICAgIDx4c2Q6bWluSW5jbHVzaXZlIHZhbHVlPSIwIi8+CisgICAgICAgIDwveHNkOnJlc3RyaWN0aW9uPgorICAgIDwveHNkOnNpbXBsZVR5cGU+CisKKyAgICA8eHNkOmVsZW1lbnQgbmFtZT0iZm9vIj4KKyAgICAgICAgPHhzZDpjb21wbGV4VHlwZT4KKyAgICAgICAgICAgIDx4c2Q6c2VxdWVuY2U+CisgICAgICAgICAgICAgICAgPHhzZDplbGVtZW50IG5hbWU9InZhbCIgdHlwZT0ibXlEZWNpbWFsIiBtYXhPY2N1cnM9InVuYm91bmRlZCIvPgorICAgICAgICAgICAgPC94c2Q6c2VxdWVuY2U+CisgICAgICAgIDwveHNkOmNvbXBsZXhUeXBlPgorICAgIDwveHNkOmVsZW1lbnQ+CisKKzwveHNkOnNjaGVtYT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2RlY2ltYWwtM18wLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2RlY2ltYWwtM18wLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZWMxZWQzCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvZGVjaW1hbC0zXzAueG1sCkBAIC0wLDAgKzEsMTcgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPGZvbworICAgIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiCisgICAgeHNpOm5vTmFtZXNwYWNlU2NoZW1hTG9jYXRpb249ImRlY2ltYWwtMy54c2QiPgorICAgIDwhLS0gVGhlIGdvb2Qgb25lcy4gLS0+CisgICAgPHZhbD4wLjEyPC92YWw+CisgICAgPHZhbD4wLjA8L3ZhbD4KKyAgICA8dmFsPjAuMDI8L3ZhbD4KKyAgICA8dmFsPjEyPC92YWw+CisgICAgPHZhbD4xLjI8L3ZhbD4KKyAgICA8IS0tIFRoZSBiYWQgb25lcy4gLS0+CisgICAgPHZhbD4wLjEyMzwvdmFsPgorICAgIDx2YWw+MC4wMjM8L3ZhbD4KKyAgICA8dmFsPjEyMzwvdmFsPgorICAgIDx2YWw+MTIuMzwvdmFsPgorPC9mb28+CisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2RlY2ltYWwtM18xLnhzZCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2RlY2ltYWwtM18xLnhzZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yM2FlOGY3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvZGVjaW1hbC0zXzEueHNkCkBAIC0wLDAgKzEsMTggQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPHhzZDpzY2hlbWEgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+CisKKyAgICA8eHNkOnNpbXBsZVR5cGUgbmFtZT0ibXlEZWNpbWFsIj4KKyAgICAgICAgPHhzZDpyZXN0cmljdGlvbiBiYXNlPSJ4c2Q6ZGVjaW1hbCI+CisgICAgICAgICAgICA8eHNkOnRvdGFsRGlnaXRzIHZhbHVlPSIyIi8+CisgICAgICAgIDwveHNkOnJlc3RyaWN0aW9uPgorICAgIDwveHNkOnNpbXBsZVR5cGU+CisKKyAgICA8eHNkOmVsZW1lbnQgbmFtZT0iZm9vIj4KKyAgICAgICAgPHhzZDpjb21wbGV4VHlwZT4KKyAgICAgICAgICAgIDx4c2Q6c2VxdWVuY2U+CisgICAgICAgICAgICAgICAgPHhzZDplbGVtZW50IG5hbWU9InZhbCIgdHlwZT0ibXlEZWNpbWFsIiBtYXhPY2N1cnM9InVuYm91bmRlZCIvPgorICAgICAgICAgICAgPC94c2Q6c2VxdWVuY2U+CisgICAgICAgIDwveHNkOmNvbXBsZXhUeXBlPgorICAgIDwveHNkOmVsZW1lbnQ+CisKKzwveHNkOnNjaGVtYT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2Rlcml2YXRpb24tb2stZXh0ZW5zaW9uLWVycl8wLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2Rlcml2YXRpb24tb2stZXh0ZW5zaW9uLWVycl8wLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jY2ZhMzQ4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvZGVyaXZhdGlvbi1vay1leHRlbnNpb24tZXJyXzAueG1sCkBAIC0wLDAgKzEsOSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/PgorPGZvbyB4bWxucz0iaHR0cDovL0ZPTyIgCisJeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgCisJeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vRk9PIGRlcml2YXRpb24tb2stZXh0ZW5zaW9uLWVycl8wLnhzZCIKKwliYXJBXzE9Im8iIGJhckFfMj0ibyIvPgorICAgCisKKworCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9kZXJpdmF0aW9uLW9rLWV4dGVuc2lvbi1lcnJfMC54c2QgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9kZXJpdmF0aW9uLW9rLWV4dGVuc2lvbi1lcnJfMC54c2QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODliZTU4MQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2Rlcml2YXRpb24tb2stZXh0ZW5zaW9uLWVycl8wLnhzZApAQCAtMCwwICsxLDIyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJJU08tODg1OS0xIj8+Cis8eHM6c2NoZW1hIHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgCisJeG1sbnM9Imh0dHA6Ly9GT08iIHRhcmdldE5hbWVzcGFjZT0iaHR0cDovL0ZPTyI+CisKKwk8eHM6ZWxlbWVudCBuYW1lPSJmb28iPgorCQk8eHM6Y29tcGxleFR5cGU+CisJCQk8eHM6Y29tcGxleENvbnRlbnQ+CisJCQkJPHhzOmV4dGVuc2lvbiBiYXNlPSJ0eXBlQSI+CQkJCQkJCQkJCQorCQkJCQk8eHM6YXR0cmlidXRlIG5hbWU9ImJhckFfMSIgdHlwZT0ieHM6c3RyaW5nIiAgdXNlPSJvcHRpb25hbCIvPgkJCQkJCisJCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0iYmFyQV8yIiB0eXBlPSJ4czpzdHJpbmciICB1c2U9InJlcXVpcmVkIi8+CQkJCQkKKwkJCQk8L3hzOmV4dGVuc2lvbj4KKwkJCTwveHM6Y29tcGxleENvbnRlbnQ+CisJCTwveHM6Y29tcGxleFR5cGU+CisJPC94czplbGVtZW50PgorCisJPHhzOmNvbXBsZXhUeXBlIG5hbWU9InR5cGVBIj4KKwkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJiYXJBXzEiIHR5cGU9InhzOnN0cmluZyIgdXNlPSJyZXF1aXJlZCIvPgkJCQkKKwk8L3hzOmNvbXBsZXhUeXBlPgorCis8L3hzOnNjaGVtYT4KKworCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9kZXJpdmF0aW9uLW9rLWV4dGVuc2lvbl8wLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2Rlcml2YXRpb24tb2stZXh0ZW5zaW9uXzAueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBjZjg3MWUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9kZXJpdmF0aW9uLW9rLWV4dGVuc2lvbl8wLnhtbApAQCAtMCwwICsxLDkgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IklTTy04ODU5LTEiPz4KKzxmb28geG1sbnM9Imh0dHA6Ly9GT08iIAorCXhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIAorCXhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL0ZPTyBkZXJpdmF0aW9uLW9rLWV4dGVuc2lvbl8wLnhzZCIKKwliYXJBXzE9Im8iIGJhckFfMj0ibyIvPgorICAgCisKKworCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9kZXJpdmF0aW9uLW9rLWV4dGVuc2lvbl8wLnhzZCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2Rlcml2YXRpb24tb2stZXh0ZW5zaW9uXzAueHNkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI5OTA2NWIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9kZXJpdmF0aW9uLW9rLWV4dGVuc2lvbl8wLnhzZApAQCAtMCwwICsxLDIyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJJU08tODg1OS0xIj8+Cis8eHM6c2NoZW1hIHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgCisJeG1sbnM9Imh0dHA6Ly9GT08iIHRhcmdldE5hbWVzcGFjZT0iaHR0cDovL0ZPTyI+CisKKwk8eHM6ZWxlbWVudCBuYW1lPSJmb28iPgorCQk8eHM6Y29tcGxleFR5cGU+CisJCQk8eHM6Y29tcGxleENvbnRlbnQ+CisJCQkJPHhzOmV4dGVuc2lvbiBiYXNlPSJ0eXBlQSI+CisJCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0iYmFyQV8yIiB0eXBlPSJ4czpzdHJpbmciICB1c2U9InJlcXVpcmVkIi8+CQkJCQkKKwkJCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJiYXJBXzEiIHR5cGU9InhzOnN0cmluZyIgIHVzZT0icHJvaGliaXRlZCIvPgkJCQkJCisJCQkJPC94czpleHRlbnNpb24+CisJCQk8L3hzOmNvbXBsZXhDb250ZW50PgorCQk8L3hzOmNvbXBsZXhUeXBlPgorCTwveHM6ZWxlbWVudD4KKworCTx4czpjb21wbGV4VHlwZSBuYW1lPSJ0eXBlQSI+CisJCTx4czphdHRyaWJ1dGUgbmFtZT0iYmFyQV8xIiB0eXBlPSJ4czpzdHJpbmciIHVzZT0icmVxdWlyZWQiLz4JCQkJCisJPC94czpjb21wbGV4VHlwZT4KKworPC94czpzY2hlbWE+CisKKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvZGVyaXZhdGlvbi1vay1yZXN0cmljdGlvbi0yLTEtMV8wLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2Rlcml2YXRpb24tb2stcmVzdHJpY3Rpb24tMi0xLTFfMC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTkyZmIwYwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2Rlcml2YXRpb24tb2stcmVzdHJpY3Rpb24tMi0xLTFfMC54bWwKQEAgLTAsMCArMSw4IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJJU08tODg1OS0xIj8+Cis8Zm9vIHhtbG5zPSJodHRwOi8vRk9PIiAKKwl4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiAKKwl4c2k6c2NoZW1hTG9jYXRpb249Imh0dHA6Ly9GT08gZGVyaXZhdGlvbi1vay1yZXN0cmljdGlvbi0yLTEtMV8wLnhzZCIvPgorICAgCisKKworCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9kZXJpdmF0aW9uLW9rLXJlc3RyaWN0aW9uLTItMS0xXzAueHNkIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvZGVyaXZhdGlvbi1vay1yZXN0cmljdGlvbi0yLTEtMV8wLnhzZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOTFmZTQzCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvZGVyaXZhdGlvbi1vay1yZXN0cmljdGlvbi0yLTEtMV8wLnhzZApAQCAtMCwwICsxLDU2IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJJU08tODg1OS0xIj8+Cis8eHM6c2NoZW1hIHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgCisJeG1sbnM9Imh0dHA6Ly9GT08iIHRhcmdldE5hbWVzcGFjZT0iaHR0cDovL0ZPTyI+CisKKwk8eHM6ZWxlbWVudCBuYW1lPSJmb28iPgorCQk8eHM6Y29tcGxleFR5cGU+CisJCQk8eHM6Y29tcGxleENvbnRlbnQ+CisJCQkJPHhzOnJlc3RyaWN0aW9uIGJhc2U9InR5cGVBIj4KKwkJCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJiYXJBXzEiIHR5cGU9InhzOnN0cmluZyIgIHVzZT0ib3B0aW9uYWwiLz4KKwkJCQkJPCEtLSBPSyAtLT4JCQkJCQkJCQorCQkJCQk8eHM6YXR0cmlidXRlIG5hbWU9ImJhckFfMiIgdHlwZT0ieHM6c3RyaW5nIiAgdXNlPSJyZXF1aXJlZCIvPgorCQkJCQk8IS0tIE9LIC0tPgkJCQkJCQkJCQorCQkJCQk8eHM6YXR0cmlidXRlIG5hbWU9ImJhckFfMyIgdHlwZT0ieHM6c3RyaW5nIiAgdXNlPSJwcm9oaWJpdGVkIi8+CisJCQkJCTwhLS0gT0sgLS0+CQorCisJCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0iYmFyQl8xIiB0eXBlPSJ4czpzdHJpbmciICB1c2U9Im9wdGlvbmFsIi8+CQkKKwkJCQkJPCEtLSAyLjEuMSBpbmNvbnNpc3RlbnQgKCBPUiAzICkgLS0+CQkJCQkJCQorCQkJCQk8eHM6YXR0cmlidXRlIG5hbWU9ImJhckJfMiIgdHlwZT0ieHM6c3RyaW5nIiAgdXNlPSJyZXF1aXJlZCIvPgorCQkJCQk8IS0tIE9LIC0tPgkKKwkJCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJiYXJCXzMiIHR5cGU9InhzOnN0cmluZyIgIHVzZT0icHJvaGliaXRlZCIvPgorCQkJCQk8IS0tIDMgLS0+CQkJCQkJCQkJCisKKwkJCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJiYXJDXzEiIHR5cGU9InhzOnN0cmluZyIgIHVzZT0ib3B0aW9uYWwiLz4KKwkJCQkJPCEtLSAyLjIgIG5vIG1hdGNoIGluIGJhc2UgLS0+CQkJCQkJCQkKKwkJCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJiYXJDXzIiIHR5cGU9InhzOnN0cmluZyIgIHVzZT0icmVxdWlyZWQiLz4JCisJCQkJCTwhLS0gMi4yICBubyBtYXRjaCBpbiBiYXNlIC0tPgkJCQkKKwkJCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJiYXJDXzMiIHR5cGU9InhzOnN0cmluZyIgIHVzZT0icHJvaGliaXRlZCIvPgorCQkJCQk8IS0tIE9LIC0tPgkKKworCQkJCQk8eHM6YXR0cmlidXRlIG5hbWU9ImJhckRfMSIgdHlwZT0ieHM6c3RyaW5nIiAgdXNlPSJvcHRpb25hbCIvPgorCQkJCQk8IS0tIDIuMiAgbm8gbWF0Y2ggaW4gYmFzZSAtLT4JCisJCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0iYmFyRF8yIiB0eXBlPSJ4czpzdHJpbmciICB1c2U9InJlcXVpcmVkIi8+CisJCQkJCTwhLS0gMi4yICBubyBtYXRjaCBpbiBiYXNlIC0tPgkKKwkJCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJiYXJEXzMiIHR5cGU9InhzOnN0cmluZyIgIHVzZT0icHJvaGliaXRlZCIvPgorCQkJCQk8IS0tIE9LIC0tPgkKKworCQkJCTwveHM6cmVzdHJpY3Rpb24+CisJCQk8L3hzOmNvbXBsZXhDb250ZW50PgorCQk8L3hzOmNvbXBsZXhUeXBlPgorCTwveHM6ZWxlbWVudD4KKworCTx4czpjb21wbGV4VHlwZSBuYW1lPSJ0eXBlQSI+CisJCTx4czphdHRyaWJ1dGUgbmFtZT0iYmFyQV8xIiB0eXBlPSJ4czpzdHJpbmciIHVzZT0ib3B0aW9uYWwiLz4JCQkKKwkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJiYXJBXzIiIHR5cGU9InhzOnN0cmluZyIgdXNlPSJvcHRpb25hbCIvPgkJCQorCQk8eHM6YXR0cmlidXRlIG5hbWU9ImJhckFfMyIgdHlwZT0ieHM6c3RyaW5nIiB1c2U9Im9wdGlvbmFsIi8+CQorCQk8eHM6YXR0cmlidXRlIG5hbWU9ImJhckJfMSIgdHlwZT0ieHM6c3RyaW5nIiB1c2U9InJlcXVpcmVkIi8+CQkKKwkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJiYXJCXzIiIHR5cGU9InhzOnN0cmluZyIgdXNlPSJyZXF1aXJlZCIvPgkJCisJCTx4czphdHRyaWJ1dGUgbmFtZT0iYmFyQl8zIiB0eXBlPSJ4czpzdHJpbmciIHVzZT0icmVxdWlyZWQiLz4JCQkKKwkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJiYXJDXzEiIHR5cGU9InhzOnN0cmluZyIgdXNlPSJwcm9oaWJpdGVkIi8+CQorCQk8eHM6YXR0cmlidXRlIG5hbWU9ImJhckNfMiIgdHlwZT0ieHM6c3RyaW5nIiB1c2U9InByb2hpYml0ZWQiLz4JCisJCTx4czphdHRyaWJ1dGUgbmFtZT0iYmFyQ18zIiB0eXBlPSJ4czpzdHJpbmciIHVzZT0icHJvaGliaXRlZCIvPiAKKwk8L3hzOmNvbXBsZXhUeXBlPgorCis8L3hzOnNjaGVtYT4KKworCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9kZXJpdmF0aW9uLW9rLXJlc3RyaWN0aW9uLTQtMS1lcnJfMC54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9kZXJpdmF0aW9uLW9rLXJlc3RyaWN0aW9uLTQtMS1lcnJfMC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjAyMWViOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2Rlcml2YXRpb24tb2stcmVzdHJpY3Rpb24tNC0xLWVycl8wLnhtbApAQCAtMCwwICsxLDggQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IklTTy04ODU5LTEiPz4KKzxmb28geG1sbnM9Imh0dHA6Ly9GT08iIHhtbG5zOmZvbz0iaHR0cDovL0ZPTyIKKwl4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiAKKwl4c2k6c2NoZW1hTG9jYXRpb249Imh0dHA6Ly9GT08gZGVyaXZhdGlvbi1vay1yZXN0cmljdGlvbi00LTEtZXJyXzAueHNkIj4KKwk8YmFyLkEgLz4KKwk8YmFyLkIgLz4KKwk8YmFyLkMgLz4KKzwvZm9vPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvZGVyaXZhdGlvbi1vay1yZXN0cmljdGlvbi00LTEtZXJyXzAueHNkIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvZGVyaXZhdGlvbi1vay1yZXN0cmljdGlvbi00LTEtZXJyXzAueHNkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM3NDAwYWMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9kZXJpdmF0aW9uLW9rLXJlc3RyaWN0aW9uLTQtMS1lcnJfMC54c2QKQEAgLTAsMCArMSw2OSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSIgPz4KKzwhLS0gCisJU2NoZW1hIENvbXBvbmVudCBDb25zdHJhaW50OiBEZXJpdmF0aW9uIFZhbGlkIChSZXN0cmljdGlvbiwgQ29tcGxleCkKKworCTQgSWYgdGhlcmUgaXMgYW4ge2F0dHJpYnV0ZSB3aWxkY2FyZH0sIGFsbCBvZiB0aGUgZm9sbG93aW5nIG11c3QgYmUgdHJ1ZToKKworCTQuMSBUaGUge2Jhc2UgdHlwZSBkZWZpbml0aW9ufSBtdXN0IGFsc28gaGF2ZSBvbmUuCisKKwk0LjIgVGhlIGNvbXBsZXggdHlwZSBkZWZpbml0aW9uJ3Mge2F0dHJpYnV0ZSB3aWxkY2FyZH0ncyB7bmFtZXNwYWNlIGNvbnN0cmFpbnR9IAorCW11c3QgYmUgYSBzdWJzZXQgb2YgdGhlIHtiYXNlIHR5cGUgZGVmaW5pdGlvbn0ncyB7YXR0cmlidXRlIHdpbGRjYXJkfSdzIHtuYW1lc3BhY2UgCisJY29uc3RyYWludH0sIGFzIGRlZmluZWQgYnkgV2lsZGNhcmQgU3Vic2V0ICinMy4xMC42KS4KKworCTQuMyBVbmxlc3MgdGhlIHtiYXNlIHR5cGUgZGVmaW5pdGlvbn0gaXMgdGhlILd1ci10eXBlIGRlZmluaXRpb263LCB0aGUgY29tcGxleCB0eXBlIAorCWRlZmluaXRpb24ncyB7YXR0cmlidXRlIHdpbGRjYXJkfSdzIHtwcm9jZXNzIGNvbnRlbnRzfSBtdXN0IGJlIGlkZW50aWNhbCB0byBvciBzdHJvbmdlciAKKwl0aGFuIHRoZSB7YmFzZSB0eXBlIGRlZmluaXRpb259J3Mge2F0dHJpYnV0ZSB3aWxkY2FyZH0ncyB7cHJvY2VzcyBjb250ZW50c30sIAorCXdoZXJlIHN0cmljdCBpcyBzdHJvbmdlciB0aGFuIGxheCBpcyBzdHJvbmdlciB0aGFuIHNraXAuCistLT4KKzxzY2hlbWEgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiAKKwl0YXJnZXROYW1lc3BhY2U9Imh0dHA6Ly9GT08iIAorCXhtbG5zOmZvbz0iaHR0cDovL0ZPTyIKKwk+CisJCisJPGVsZW1lbnQgbmFtZT0iZm9vIj4KKwkJPGNvbXBsZXhUeXBlPgorCQkJPHNlcXVlbmNlPgorCQkJCTxlbGVtZW50IG5hbWU9ImJhci5BIiB0eXBlPSJmb286dHlwZS5BIiAvPgorCQkJCTxlbGVtZW50IG5hbWU9ImJhci5CIiB0eXBlPSJmb286dHlwZS5CIiAvPgorCQkJCTxlbGVtZW50IG5hbWU9ImJhci5DIiB0eXBlPSJmb286dHlwZS5DIiAvPgorCQkJPC9zZXF1ZW5jZT4KKwkJPC9jb21wbGV4VHlwZT4gICAgCisJPC9lbGVtZW50PiAgCisKKwk8Y29tcGxleFR5cGUgbmFtZT0idHlwZS5BIj4KKwkJPGNvbXBsZXhDb250ZW50PgorCQkJPHJlc3RyaWN0aW9uIGJhc2U9ImZvbzpiYXNlLnR5cGUuQSI+CQkJCSAgCSAgCQkJCisJCQkJPGFueUF0dHJpYnV0ZSBuYW1lc3BhY2U9IiMjYW55IiBwcm9jZXNzQ29udGVudHM9InNraXAiIC8+CisJCQk8L3Jlc3RyaWN0aW9uPgorCQk8L2NvbXBsZXhDb250ZW50PgorCTwvY29tcGxleFR5cGU+ICAgIAorCisJPGNvbXBsZXhUeXBlIG5hbWU9ImJhc2UudHlwZS5BIj4KKwkJPGF0dHJpYnV0ZSBuYW1lPSJiYXIiIHR5cGU9InN0cmluZyIvPgkJCisJPC9jb21wbGV4VHlwZT4gICAgCisKKwk8Y29tcGxleFR5cGUgbmFtZT0idHlwZS5CIj4KKwkJPGNvbXBsZXhDb250ZW50PgorCQkJPHJlc3RyaWN0aW9uIGJhc2U9ImZvbzpiYXNlLnR5cGUuQiI+CQkJCSAgCSAgCQkJCisJCQkJPGFueUF0dHJpYnV0ZSBuYW1lc3BhY2U9IiMjYW55IiBwcm9jZXNzQ29udGVudHM9InNraXAiIC8+CisJCQk8L3Jlc3RyaWN0aW9uPgorCQk8L2NvbXBsZXhDb250ZW50PgorCTwvY29tcGxleFR5cGU+ICAgIAorCisJPGNvbXBsZXhUeXBlIG5hbWU9ImJhc2UudHlwZS5CIj4KKwkJPGFueUF0dHJpYnV0ZSBuYW1lc3BhY2U9Imh0dHA6Ly9GT08iIHByb2Nlc3NDb250ZW50cz0ic2tpcCIgLz4JCQorCTwvY29tcGxleFR5cGU+ICAgIAorCisJPGNvbXBsZXhUeXBlIG5hbWU9InR5cGUuQyI+CisJCTxjb21wbGV4Q29udGVudD4KKwkJCTxyZXN0cmljdGlvbiBiYXNlPSJmb286YmFzZS50eXBlLkMiPgkJCQkgIAkgIAkJCQorCQkJCTxhbnlBdHRyaWJ1dGUgbmFtZXNwYWNlPSIjI2FueSIgcHJvY2Vzc0NvbnRlbnRzPSJza2lwIiAvPgorCQkJPC9yZXN0cmljdGlvbj4KKwkJPC9jb21wbGV4Q29udGVudD4KKwk8L2NvbXBsZXhUeXBlPiAgICAKKworCTxjb21wbGV4VHlwZSBuYW1lPSJiYXNlLnR5cGUuQyI+CisJCTxhbnlBdHRyaWJ1dGUgbmFtZXNwYWNlPSIjI2FueSIgcHJvY2Vzc0NvbnRlbnRzPSJsYXgiIC8+CQkKKwk8L2NvbXBsZXhUeXBlPiAgICAKKworPC9zY2hlbWE+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9kZXJpdmF0aW9uLXJlc3RyaWN0aW9uLWFueUF0dHJfMC54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9kZXJpdmF0aW9uLXJlc3RyaWN0aW9uLWFueUF0dHJfMC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjZlN2QzZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2Rlcml2YXRpb24tcmVzdHJpY3Rpb24tYW55QXR0cl8wLnhtbApAQCAtMCwwICsxLDEyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJJU08tODg1OS0xIj8+Cis8Zm9vIAorCXhtbG5zOmY9Imh0dHA6Ly9GT08iIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIAorCXhtbG5zOmJhcj0iaHR0cDovL0JBUiIKKwl4c2k6bm9OYW1lc3BhY2VTY2hlbWFMb2NhdGlvbj0iZmlsZTovLy9jOi9kZXYvbGlieG1sMi9wYXRjaGVzLzIwMDQtMDUtMTcvZGVyaXZhdGlvbi1yZXN0cmljdGlvbi1hbnlBdHRyXzAueHNkIiAKKwk+CisJPGJhciBiYXJBPSJvb28iIC8+Cis8L2Zvbz4KKyAgIAorCisKKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvZGVyaXZhdGlvbi1yZXN0cmljdGlvbi1hbnlBdHRyXzAueHNkIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvZGVyaXZhdGlvbi1yZXN0cmljdGlvbi1hbnlBdHRyXzAueHNkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY3MmMzMTYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9kZXJpdmF0aW9uLXJlc3RyaWN0aW9uLWFueUF0dHJfMC54c2QKQEAgLTAsMCArMSwyNCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/PgorPHhzOnNjaGVtYSB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIAkKKwllbGVtZW50Rm9ybURlZmF1bHQ9InVucXVhbGlmaWVkIj4KKworCTx4czplbGVtZW50IG5hbWU9ImZvbyI+CisJCTx4czpjb21wbGV4VHlwZT4KKwkJICAgIDx4czpzZXF1ZW5jZT4KKwkJCQk8eHM6ZWxlbWVudCBuYW1lPSJiYXIiIHR5cGU9InR5cGVBIi8+CisJCQk8L3hzOnNlcXVlbmNlPgorCQk8L3hzOmNvbXBsZXhUeXBlPgorCTwveHM6ZWxlbWVudD4KKworCTx4czphdHRyaWJ1dGVHcm91cCBuYW1lPSJhdHRyR3JBIj4KKwkJPHhzOmFueUF0dHJpYnV0ZSBuYW1lc3BhY2U9IiMjdGFyZ2V0TmFtZXNwYWNlIi8+CisJPC94czphdHRyaWJ1dGVHcm91cD4KKworCTx4czpjb21wbGV4VHlwZSBuYW1lPSJ0eXBlQSI+CQkJCQorCQk8eHM6YXR0cmlidXRlR3JvdXAgcmVmPSJhdHRyR3JBIiAvPgkJCQkJCisJCTx4czphbnlBdHRyaWJ1dGUgbmFtZXNwYWNlPSIjI3RhcmdldE5hbWVzcGFjZSIgcHJvY2Vzc0NvbnRlbnRzPSJsYXgiLz4JCisJPC94czpjb21wbGV4VHlwZT4KKworPC94czpzY2hlbWE+CisKKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvZGVyaXZhdGlvbi1yZXN0cmljdGlvbi1hbnlUeXBlLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2Rlcml2YXRpb24tcmVzdHJpY3Rpb24tYW55VHlwZS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzg2YzUwYQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2Rlcml2YXRpb24tcmVzdHJpY3Rpb24tYW55VHlwZS54bWwKQEAgLTAsMCArMSw5IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJJU08tODg1OS0xIj8+Cis8Zm9vIHhtbG5zPSJodHRwOi8vRk9PIiAKKwl4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiAKKwl4c2k6c2NoZW1hTG9jYXRpb249Imh0dHA6Ly9GT08gZmlsZTovLy9jOi9kZXYvbGlieG1sMi9wYXRjaGVzLzIwMDQtMDUtMTcvZGVyaXZhdGlvbi1yZXN0cmljdGlvbi1hbnlUeXBlLnhzZCIgCisJYmFyQV8yPSJ4eHgiLz4KKyAgIAorCisKKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvZGVyaXZhdGlvbi1yZXN0cmljdGlvbi1hbnlUeXBlLnhzZCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2Rlcml2YXRpb24tcmVzdHJpY3Rpb24tYW55VHlwZS54c2QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWMyMTdkMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2Rlcml2YXRpb24tcmVzdHJpY3Rpb24tYW55VHlwZS54c2QKQEAgLTAsMCArMSwyMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/PgorPHhzOnNjaGVtYSB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIAorCXhtbG5zPSJodHRwOi8vRk9PIiB0YXJnZXROYW1lc3BhY2U9Imh0dHA6Ly9GT08iPgorCisJPHhzOmVsZW1lbnQgbmFtZT0iZm9vIj4KKwkJPHhzOmNvbXBsZXhUeXBlPgorCQkJPHhzOmNvbXBsZXhDb250ZW50PgorCQkJCTx4czpleHRlbnNpb24gYmFzZT0ieHM6YW55VHlwZSI+CisJCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0iYmFyQV8xIiB0eXBlPSJ4czpzdHJpbmciICB1c2U9Im9wdGlvbmFsIi8+CisJCQkJCTwhLS0gT0sgLS0+CQkJCQkJCQkKKwkJCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJiYXJBXzIiIHR5cGU9InhzOnN0cmluZyIgIHVzZT0icmVxdWlyZWQiLz4KKwkJCQkJPCEtLSBPSyAtLT4JCQkJCQkJCQkKKwkJCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJiYXJBXzMiIHR5cGU9InhzOnN0cmluZyIgIHVzZT0icHJvaGliaXRlZCIvPgorCQkJCQk8IS0tIE9LIC0tPgkKKwkJCQk8L3hzOmV4dGVuc2lvbj4KKwkJCTwveHM6Y29tcGxleENvbnRlbnQ+CisJCTwveHM6Y29tcGxleFR5cGU+CisJPC94czplbGVtZW50PgkKKworPC94czpzY2hlbWE+CisKKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvZGV0ZXIwXzAueG1sIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvZGV0ZXIwXzAueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBlYTFhNDEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9kZXRlcjBfMC54bWwKQEAgLTAsMCArMSw1IEBACis8Ym9vaz4KKyAgPG9kZC1wYWdlPmZpcnN0IHBhZ2U8L29kZC1wYWdlPgorICA8ZXZlbi1wYWdlPnNlY29uZCBwYWdlPC9ldmVuLXBhZ2U+CisgIDxvZGQtcGFnZT50aGlyZCBwYWdlPC9vZGQtcGFnZT4KKzwvYm9vaz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2RldGVyMF8wLnhzZCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2RldGVyMF8wLnhzZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YjVkYTY5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvZGV0ZXIwXzAueHNkCkBAIC0wLDAgKzEsMTYgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8eHM6c2NoZW1hIHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+CisgIDx4czplbGVtZW50IG5hbWU9Im9kZC1wYWdlIiB0eXBlPSJ4czpzdHJpbmciLz4KKyAgPHhzOmVsZW1lbnQgbmFtZT0iZXZlbi1wYWdlIiB0eXBlPSJ4czpzdHJpbmciLz4KKyAgPHhzOmVsZW1lbnQgbmFtZT0iYm9vayI+CisgICAgPHhzOmNvbXBsZXhUeXBlPgorICAgICAgPHhzOnNlcXVlbmNlPgorICAgICAgICA8eHM6c2VxdWVuY2UgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCI+CisgICAgICAgICAgPHhzOmVsZW1lbnQgcmVmPSJvZGQtcGFnZSIvPgorICAgICAgICAgIDx4czplbGVtZW50IHJlZj0iZXZlbi1wYWdlIi8+CisgICAgICAgIDwveHM6c2VxdWVuY2U+CisgICAgICAgIDx4czplbGVtZW50IHJlZj0ib2RkLXBhZ2UiIG1pbk9jY3Vycz0iMCIvPgorICAgICAgPC94czpzZXF1ZW5jZT4KKyAgICA8L3hzOmNvbXBsZXhUeXBlPgorICA8L3hzOmVsZW1lbnQ+Cis8L3hzOnNjaGVtYT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2R1cl8wLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2R1cl8wLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZTg0OTQzCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvZHVyXzAueG1sCkBAIC0wLDAgKzEsMTMgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPGR1cmF0aW9uPgorICA8c2Vjb25kMT5QVDAuOVM8L3NlY29uZDE+CisgIDxzZWNvbmQyPlBUMC4xUzwvc2Vjb25kMj4KKyAgPHNlY29uZDI+UFQwLjk5OTk5OVM8L3NlY29uZDI+CisgIDxtb250aDE+UDBZMjdEPC9tb250aDE+CisgIDxtb250aDE+UDI3RFQyM0g1OU01OVM8L21vbnRoMT4KKyAgPG1vbnRoMj5QMFk8L21vbnRoMj4KKyAgPHllYXIxPlAzNjdEVDIzSDU5TTU5UzwveWVhcjE+CisgIDx5ZWFyMT5QMTNNPC95ZWFyMT4KKyAgPHllYXIyPlAxMk08L3llYXIyPgorICA8bW9udGgzPlBUODYzOTlTPC9tb250aDM+Cis8L2R1cmF0aW9uPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvZHVyXzAueHNkIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvZHVyXzAueHNkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM3NGMwMzgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9kdXJfMC54c2QKQEAgLTAsMCArMSw3MiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8eHNkOnNjaGVtYSB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIj4KKyAgPHhzZDphbm5vdGF0aW9uPgorICAgIDx4c2Q6ZG9jdW1lbnRhdGlvbiB4bWw6bGFuZz0iZW4iPgorICAgICAgVGVzdGluZyBkdXJhdGlvbiBkYXRhIHR5cGVzCisgICAgPC94c2Q6ZG9jdW1lbnRhdGlvbj4KKyAgPC94c2Q6YW5ub3RhdGlvbj4KKyAgPHhzZDplbGVtZW50IG5hbWU9ImR1cmF0aW9uIj4KKyAgICA8eHNkOmNvbXBsZXhUeXBlPgorICAgICAgPHhzZDpzZXF1ZW5jZT4KKyAgICAgICAgPHhzZDpjaG9pY2UgbWluT2NjdXJzPSIxIiBtYXhPY2N1cnM9InVuYm91bmRlZCI+CisgICAgICAgICAgPHhzZDplbGVtZW50IG5hbWU9InNlY29uZDEiPgorICAgICAgICAgICAgPHhzZDpzaW1wbGVUeXBlPgorICAgICAgICAgICAgICA8eHNkOnJlc3RyaWN0aW9uIGJhc2U9InhzZDpkdXJhdGlvbiI+CisgICAgICAgICAgICAgICAgPHhzZDptYXhFeGNsdXNpdmUgdmFsdWU9IlBUMVMiLz4KKyAgICAgICAgICAgICAgICA8eHNkOm1pbkV4Y2x1c2l2ZSB2YWx1ZT0iUFQwLjFTIi8+CisgICAgICAgICAgICAgIDwveHNkOnJlc3RyaWN0aW9uPgorICAgICAgICAgICAgPC94c2Q6c2ltcGxlVHlwZT4KKyAgICAgICAgICA8L3hzZDplbGVtZW50PgorICAgICAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJzZWNvbmQyIj4KKyAgICAgICAgICAgIDx4c2Q6c2ltcGxlVHlwZT4KKyAgICAgICAgICAgICAgPHhzZDpyZXN0cmljdGlvbiBiYXNlPSJ4c2Q6ZHVyYXRpb24iPgorICAgICAgICAgICAgICAgIDx4c2Q6bWF4SW5jbHVzaXZlIHZhbHVlPSJQVDFTIi8+CisgICAgICAgICAgICAgICAgPHhzZDptaW5JbmNsdXNpdmUgdmFsdWU9IlBUMC4xUyIvPgorICAgICAgICAgICAgICA8L3hzZDpyZXN0cmljdGlvbj4KKyAgICAgICAgICAgIDwveHNkOnNpbXBsZVR5cGU+CisgICAgICAgICAgPC94c2Q6ZWxlbWVudD4KKyAgICAgICAgICA8eHNkOmVsZW1lbnQgbmFtZT0ibW9udGgxIj4KKyAgICAgICAgICAgIDx4c2Q6c2ltcGxlVHlwZT4KKyAgICAgICAgICAgICAgPHhzZDpyZXN0cmljdGlvbiBiYXNlPSJ4c2Q6ZHVyYXRpb24iPgorICAgICAgICAgICAgICAgIDx4c2Q6bWF4RXhjbHVzaXZlIHZhbHVlPSJQMU0iLz4KKyAgICAgICAgICAgICAgICA8eHNkOm1pbkV4Y2x1c2l2ZSB2YWx1ZT0iUDBNIi8+CisgICAgICAgICAgICAgIDwveHNkOnJlc3RyaWN0aW9uPgorICAgICAgICAgICAgPC94c2Q6c2ltcGxlVHlwZT4KKyAgICAgICAgICA8L3hzZDplbGVtZW50PgorICAgICAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJtb250aDIiPgorICAgICAgICAgICAgPHhzZDpzaW1wbGVUeXBlPgorICAgICAgICAgICAgICA8eHNkOnJlc3RyaWN0aW9uIGJhc2U9InhzZDpkdXJhdGlvbiI+CisgICAgICAgICAgICAgICAgPHhzZDptYXhJbmNsdXNpdmUgdmFsdWU9IlAxTSIvPgorICAgICAgICAgICAgICAgIDx4c2Q6bWluSW5jbHVzaXZlIHZhbHVlPSJQME0iLz4KKyAgICAgICAgICAgICAgPC94c2Q6cmVzdHJpY3Rpb24+CisgICAgICAgICAgICA8L3hzZDpzaW1wbGVUeXBlPgorICAgICAgICAgIDwveHNkOmVsZW1lbnQ+CisgICAgICAgICAgPHhzZDplbGVtZW50IG5hbWU9Im1vbnRoMyIgdHlwZT0iTVNEIi8+CisgICAgICAgICAgPHhzZDplbGVtZW50IG5hbWU9InllYXIxIj4KKyAgICAgICAgICAgIDx4c2Q6c2ltcGxlVHlwZT4KKyAgICAgICAgICAgICAgPHhzZDpyZXN0cmljdGlvbiBiYXNlPSJ4c2Q6ZHVyYXRpb24iPgorICAgICAgICAgICAgICAgIDx4c2Q6bWF4RXhjbHVzaXZlIHZhbHVlPSJQMlkiLz4KKyAgICAgICAgICAgICAgICA8eHNkOm1pbkV4Y2x1c2l2ZSB2YWx1ZT0iUDFZIi8+CisgICAgICAgICAgICAgIDwveHNkOnJlc3RyaWN0aW9uPgorICAgICAgICAgICAgPC94c2Q6c2ltcGxlVHlwZT4KKyAgICAgICAgICA8L3hzZDplbGVtZW50PgorICAgICAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJ5ZWFyMiI+CisgICAgICAgICAgICA8eHNkOnNpbXBsZVR5cGU+CisgICAgICAgICAgICAgIDx4c2Q6cmVzdHJpY3Rpb24gYmFzZT0ieHNkOmR1cmF0aW9uIj4KKyAgICAgICAgICAgICAgICA8eHNkOm1heEluY2x1c2l2ZSB2YWx1ZT0iUDJZIi8+CisgICAgICAgICAgICAgICAgPHhzZDptaW5JbmNsdXNpdmUgdmFsdWU9IlAxWSIvPgorICAgICAgICAgICAgICA8L3hzZDpyZXN0cmljdGlvbj4KKyAgICAgICAgICAgIDwveHNkOnNpbXBsZVR5cGU+CisgICAgICAgICAgPC94c2Q6ZWxlbWVudD4KKyAgICAgICAgPC94c2Q6Y2hvaWNlPgorICAgICAgPC94c2Q6c2VxdWVuY2U+CisgICAgPC94c2Q6Y29tcGxleFR5cGU+CisgIDwveHNkOmVsZW1lbnQ+CisgIDx4c2Q6c2ltcGxlVHlwZSBuYW1lPSJNU0QiPgorICAgIDx4c2Q6cmVzdHJpY3Rpb24gYmFzZT0ieHNkOmR1cmF0aW9uIj4KKyAgICAgIDx4c2Q6bWF4RXhjbHVzaXZlIHZhbHVlPSJQVDI0SCIvPgorICAgICAgPHhzZDptaW5FeGNsdXNpdmUgdmFsdWU9Ii1QVDI0SCIvPgorICAgIDwveHNkOnJlc3RyaWN0aW9uPgorICA8L3hzZDpzaW1wbGVUeXBlPgorPC94c2Q6c2NoZW1hPgorCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9lbGVtMF8wLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2VsZW0wXzAueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY3NDFjNTgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9lbGVtMF8wLnhtbApAQCAtMCwwICsxLDMgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/Pg0KKzxkb2MvPg0KKw0KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2VsZW0wXzAueHNkIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvZWxlbTBfMC54c2QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmM1YmY1ZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2VsZW0wXzAueHNkCkBAIC0wLDAgKzEsMTYgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPHhzZDpzY2hlbWEgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+CisgIDx4c2Q6YW5ub3RhdGlvbj4KKyAgICA8eHNkOmRvY3VtZW50YXRpb24+CisgICAgICBUZXN0aW5nIG1pbiBhbmQgbWF4IG9jY3VyYW5jZSBhdHRyaWJ1dGVzIG9uIGVsZW1lbnQKKyAgICA8L3hzZDpkb2N1bWVudGF0aW9uPgorICA8L3hzZDphbm5vdGF0aW9uPgorCisgIDx4c2Q6ZWxlbWVudCBuYW1lPSJkb2MiPgorICAgIDx4c2Q6Y29tcGxleFR5cGU+CisgICAgICA8eHNkOnNlcXVlbmNlPgorICAgICAgICA8eHNkOmVsZW1lbnQgbmFtZT0nYScgbWluT2NjdXJzPScwJyBtYXhPY2N1cnM9JzMnLz4KKyAgICAgIDwveHNkOnNlcXVlbmNlPgorICAgIDwveHNkOmNvbXBsZXhUeXBlPgorICA8L3hzZDplbGVtZW50PgorPC94c2Q6c2NoZW1hPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvZWxlbWVudC1lcnJfMC54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9lbGVtZW50LWVycl8wLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZjQzZmQ5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvZWxlbWVudC1lcnJfMC54bWwKQEAgLTAsMCArMSw0IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxmb28geG1sbnM9Imh0dHA6Ly9GT08iIAorCXhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIAorCXhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL0ZPTyBlbGVtZW50LWVycl8wLnhzZCIvPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2VsZW1lbnQtZXJyXzAueHNkIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvZWxlbWVudC1lcnJfMC54c2QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTI2MDRjOAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2VsZW1lbnQtZXJyXzAueHNkCkBAIC0wLDAgKzEsMzkgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPHhzZDpzY2hlbWEgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIKKwl0YXJnZXROYW1lc3BhY2U9Imh0dHA6Ly9GT08iCisJeG1sbnM6Zm9vPSJodHRwOi8vRk9PIgorCXhtbG5zOmdvbz0iaHR0cDovL0dPTyI+CisJCisJPHhzZDplbGVtZW50IG5hbWU9ImJhciIgdHlwZT0ieHNkOnN0cmluZyIvPgorCTx4c2Q6ZWxlbWVudCB0eXBlPSJ4c2Q6c3RyaW5nIi8+CisgICAgPHhzZDplbGVtZW50IG5hbWU9ImZvbyIgCisJCXJlZj0iZm9vOmJhciIgbWluT2NjdXJzPSIzIiBtYXhPY2N1cnM9IjIiIAorCQlhYnN0cmFjdD0idHJ1ZSIgYmxvY2s9ImZsdXRlIgorCQlmb3JtPSJxdWFsaWZpZWQiIGlkPSJiMTIiIG5pbGxhYmxlPSJ0cnVlIiAKKwkJc3Vic3RpdHV0aW9uR3JvdXA9ImZvbzpiYXIiIAorCQlkZWZhdWx0PSJKaW1pIiBmaXhlZD0iSGVuZHJpeCIgZmluYWw9ImZhbnRhc3kiPgorCisJCTx4c2Q6Y29tcGxleFR5cGU+CisJCQk8eHNkOnNlcXVlbmNlPgorCQkJCTx4c2Q6ZWxlbWVudCByZWY9ImZvbzpiYXIiIG5hbWU9Im15b215IiBtaW5PY2N1cnM9IjMiIAorCQkJCQltYXhPY2N1cnM9IjIiIGFic3RyYWN0PSJ0cnVlIiBibG9jaz0iZmx1dGUiCisJCQkJCWZvcm09InF1YWxpZmllZCIgaWQ9ImIxMyIgbmlsbGFibGU9InRydWUiIAorCQkJCQlzdWJzdGl0dXRpb25Hcm91cD0iZm9vOmJhciIgdHlwZT0ieHNkOnN0cmluZyIgCisJCQkJCWRlZmF1bHQ9IkppbWkiIGZpeGVkPSJIZW5kcml4IiBmaW5hbD0iZmFudGFzeSI+CisJCQkJCTx4c2Q6Y29tcGxleFR5cGUvPgorCQkJCQk8eHNkOnNpbXBsZVR5cGUvPgorCQkJCTwveHNkOmVsZW1lbnQ+CisJCQkJPHhzZDplbGVtZW50IG5hbWU9Im15b215IiBtYXhPY2N1cnM9IjAiCisJCQkJCWFic3RyYWN0PSJ0cnVlIiBibG9jaz0iZmx1dGUiCisJCQkJCWZvcm09InF1YWxpZmllZCIgaWQ9ImIxNCIgbmlsbGFibGU9InRydWUiIAorCQkJCQlzdWJzdGl0dXRpb25Hcm91cD0iZm9vOmJhciIgdHlwZT0ieHNkOnN0cmluZyIgCisJCQkJCWRlZmF1bHQ9IkppbWkiIGZpeGVkPSJIZW5kcml4IiBmaW5hbD0iZmFudGFzeSI+CisJCQkJCTx4c2Q6Y29tcGxleFR5cGUvPgorCQkJCQk8eHNkOnNpbXBsZVR5cGUvPgorCQkJCTwveHNkOmVsZW1lbnQ+CisJCQk8L3hzZDpzZXF1ZW5jZT4KKwkJPC94c2Q6Y29tcGxleFR5cGU+CisKKwk8L3hzZDplbGVtZW50PgorCis8L3hzZDpzY2hlbWE+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9lbGVtZW50LW1pbm1heC1lcnJfMC54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9lbGVtZW50LW1pbm1heC1lcnJfMC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjJjNWVjMQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2VsZW1lbnQtbWlubWF4LWVycl8wLnhtbApAQCAtMCwwICsxLDUgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPGZvbyB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiAKKwl4c2k6bm9OYW1lc3BhY2VTY2hlbWFMb2NhdGlvbj0iZWxlbWVudC1taW5tYXgtZXJyXzAueHNkIj4KKwk8YmFyLz4KKzwvZm9vPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2VsZW1lbnQtbWlubWF4LWVycl8wLnhzZCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2VsZW1lbnQtbWlubWF4LWVycl8wLnhzZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMzg0ZTdjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvZWxlbWVudC1taW5tYXgtZXJyXzAueHNkCkBAIC0wLDAgKzEsMTEgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPHhzZDpzY2hlbWEgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+CisJPHhzZDplbGVtZW50IG5hbWU9ImZvbyI+CisJCTx4c2Q6Y29tcGxleFR5cGU+CisJCQk8eHNkOnNlcXVlbmNlPgorCQkJCTx4c2Q6ZWxlbWVudCBuYW1lPSJiYXIiIG1pbk9jY3Vycz0iMSIgbWF4T2NjdXJzPSIwIi8+CisJCQk8L3hzZDpzZXF1ZW5jZT4KKwkJPC94c2Q6Y29tcGxleFR5cGU+CisJPC94c2Q6ZWxlbWVudD4KKworPC94c2Q6c2NoZW1hPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2VtcHR5LXZhbHVlXzAueG1sIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvZW1wdHktdmFsdWVfMC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTcwNThlMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2VtcHR5LXZhbHVlXzAueG1sCkBAIC0wLDAgKzEsMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxlbGVtZW50MS8+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9lbXB0eS12YWx1ZV8xLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2VtcHR5LXZhbHVlXzEueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY3NGJhODYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9lbXB0eS12YWx1ZV8xLnhtbApAQCAtMCwwICsxLDIgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8ZWxlbWVudDIgYXR0PSJ0ZXN0Ii8+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9lbXB0eS12YWx1ZV8xLnhzZCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2VtcHR5LXZhbHVlXzEueHNkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVlMTdkNWYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9lbXB0eS12YWx1ZV8xLnhzZApAQCAtMCwwICsxLDI0IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzx4czpzY2hlbWEgeG1sbnM6eHM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIgorCWVsZW1lbnRGb3JtRGVmYXVsdD0icXVhbGlmaWVkIgorCWF0dHJpYnV0ZUZvcm1EZWZhdWx0PSJ1bnF1YWxpZmllZCI+CisgIDx4czpzaW1wbGVUeXBlIG5hbWU9Im15RG91YmxlIj4KKyAgICA8eHM6dW5pb24gbWVtYmVyVHlwZXM9InhzOmRvdWJsZSI+CisgICAgICA8eHM6c2ltcGxlVHlwZT4KKyAgICAgICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+CisJICA8eHM6cGF0dGVybiB2YWx1ZT0iXHMqKE4vQSk/XHMqIi8+CisJPC94czpyZXN0cmljdGlvbj4KKyAgICAgIDwveHM6c2ltcGxlVHlwZT4KKyAgICA8L3hzOnVuaW9uPgorICA8L3hzOnNpbXBsZVR5cGU+CisgIDx4czplbGVtZW50IG5hbWU9ImVsZW1lbnQxIiB0eXBlPSJteURvdWJsZSIvPgorICA8eHM6ZWxlbWVudCBuYW1lPSJlbGVtZW50MiI+CisgICAgPHhzOmNvbXBsZXhUeXBlPgorICAgICAgPHhzOnNpbXBsZUNvbnRlbnQ+CisgICAgICAgIDx4czpleHRlbnNpb24gYmFzZT0ibXlEb3VibGUiPgorCSAgPHhzOmF0dHJpYnV0ZSBuYW1lPSJhdHQiIHR5cGU9InhzOnN0cmluZyIvPgorICAgICAgICA8L3hzOmV4dGVuc2lvbj4KKyAgICAgIDwveHM6c2ltcGxlQ29udGVudD4KKyAgICA8L3hzOmNvbXBsZXhUeXBlPgorICA8L3hzOmVsZW1lbnQ+Cis8L3hzOnNjaGVtYT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2VtcHR5XzAueG1sIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvZW1wdHlfMC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTk5MDZiNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2VtcHR5XzAueG1sCkBAIC0wLDAgKzEgQEAKKzxpbnRlcm5hdGlvbmFsUHJpY2UgY3VycmVuY3k9IkVVUiIgdmFsdWU9IjQyMy40NiIvPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvZW1wdHlfMC54c2QgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9lbXB0eV8wLnhzZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NmU1ZjQ1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvZW1wdHlfMC54c2QKQEAgLTAsMCArMSwxMyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8eHNkOnNjaGVtYSB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIj4KKyAgPHhzZDplbGVtZW50IG5hbWU9ImludGVybmF0aW9uYWxQcmljZSI+CisgICAgPHhzZDpjb21wbGV4VHlwZT4KKyAgICAgIDx4c2Q6Y29tcGxleENvbnRlbnQ+CisgICAgICAgIDx4c2Q6cmVzdHJpY3Rpb24gYmFzZT0ieHNkOmFueVR5cGUiPgorICAgICAgICAgIDx4c2Q6YXR0cmlidXRlIG5hbWU9ImN1cnJlbmN5IiB0eXBlPSJ4c2Q6c3RyaW5nIi8+CisgICAgICAgICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0idmFsdWUiIHR5cGU9InhzZDpkZWNpbWFsIi8+CisgICAgICAgIDwveHNkOnJlc3RyaWN0aW9uPgorICAgICAgPC94c2Q6Y29tcGxleENvbnRlbnQ+CisgICAgPC94c2Q6Y29tcGxleFR5cGU+CisgIDwveHNkOmVsZW1lbnQ+Cis8L3hzZDpzY2hlbWE+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9lbXB0eV8xLnhzZCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2VtcHR5XzEueHNkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJjODFjMDkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9lbXB0eV8xLnhzZApAQCAtMCwwICsxLDkgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPHhzZDpzY2hlbWEgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+CisgIDx4c2Q6ZWxlbWVudCBuYW1lPSJpbnRlcm5hdGlvbmFsUHJpY2UiPgorICAgIDx4c2Q6Y29tcGxleFR5cGU+CisgICAgICA8eHNkOmF0dHJpYnV0ZSBuYW1lPSJjdXJyZW5jeSIgdHlwZT0ieHNkOnN0cmluZyIvPgorICAgICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0idmFsdWUiIHR5cGU9InhzZDpkZWNpbWFsIi8+CisgICAgPC94c2Q6Y29tcGxleFR5cGU+CisgIDwveHNkOmVsZW1lbnQ+Cis8L3hzZDpzY2hlbWE+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9leHRlbnNpb24wXzAueG1sIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvZXh0ZW5zaW9uMF8wLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MGRkMzQ4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvZXh0ZW5zaW9uMF8wLnhtbApAQCAtMCwwICsxLDcgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPGFkZHJlc3NlZT4KKyAgPGZvcmVuYW1lPkFsYmVydDwvZm9yZW5hbWU+CisgIDxmb3JlbmFtZT5Bcm5vbGQ8L2ZvcmVuYW1lPgorICA8c3VybmFtZT5Hb3JlPC9zdXJuYW1lPgorICA8Z2VuZXJhdGlvbj5KcjwvZ2VuZXJhdGlvbj4KKzwvYWRkcmVzc2VlPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvZXh0ZW5zaW9uMF8wLnhzZCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2V4dGVuc2lvbjBfMC54c2QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDg5NzUxYQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2V4dGVuc2lvbjBfMC54c2QKQEAgLTAsMCArMSwyMCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8eHM6c2NoZW1hIHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+CisgIDx4czpjb21wbGV4VHlwZSBuYW1lPSJwZXJzb25OYW1lIj4KKyAgICA8eHM6c2VxdWVuY2U+CisgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJ0aXRsZSIgbWluT2NjdXJzPSIwIi8+CisgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJmb3JlbmFtZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIvPgorICAgICAgPHhzOmVsZW1lbnQgbmFtZT0ic3VybmFtZSIvPgorICAgIDwveHM6c2VxdWVuY2U+CisgIDwveHM6Y29tcGxleFR5cGU+CisgIDx4czpjb21wbGV4VHlwZSBuYW1lPSJleHRlbmRlZE5hbWUiPgorICAgIDx4czpjb21wbGV4Q29udGVudD4KKyAgICAgIDx4czpleHRlbnNpb24gYmFzZT0icGVyc29uTmFtZSI+CisgICAgICAgIDx4czpzZXF1ZW5jZT4KKyAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJnZW5lcmF0aW9uIiBtaW5PY2N1cnM9IjAiLz4KKyAgICAgICAgPC94czpzZXF1ZW5jZT4KKyAgICAgIDwveHM6ZXh0ZW5zaW9uPgorICAgIDwveHM6Y29tcGxleENvbnRlbnQ+CisgIDwveHM6Y29tcGxleFR5cGU+CisgIDx4czplbGVtZW50IG5hbWU9ImFkZHJlc3NlZSIgdHlwZT0iZXh0ZW5kZWROYW1lIi8+Cis8L3hzOnNjaGVtYT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2V4dGVuc2lvbjFfMC54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9leHRlbnNpb24xXzAueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVjM2EwYzkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9leHRlbnNpb24xXzAueG1sCkBAIC0wLDAgKzEgQEAKKzx0aXRsZSBsYW5nPSJmciI+c2FsdXQ8L3RpdGxlPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvZXh0ZW5zaW9uMV8wLnhzZCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2V4dGVuc2lvbjFfMC54c2QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGExMWUxNAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2V4dGVuc2lvbjFfMC54c2QKQEAgLTAsMCArMSwxNyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8eHM6c2NoZW1hIHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+CisgIDx4czpzaW1wbGVUeXBlIG5hbWU9InN0cmluZzI1NSI+CisgICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnRva2VuIj4KKyAgICAgIDx4czptYXhMZW5ndGggdmFsdWU9IjI1NSIvPgorICAgIDwveHM6cmVzdHJpY3Rpb24+CisgIDwveHM6c2ltcGxlVHlwZT4KKyAgPHhzOmVsZW1lbnQgbmFtZT0idGl0bGUiPgorICAgIDx4czpjb21wbGV4VHlwZT4KKyAgICAgIDx4czpzaW1wbGVDb250ZW50PgorICAgICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InN0cmluZzI1NSI+CisgICAgICAgICAgPHhzOmF0dHJpYnV0ZSBuYW1lPSJsYW5nIiB0eXBlPSJ4czpsYW5ndWFnZSIvPgorICAgICAgICA8L3hzOmV4dGVuc2lvbj4KKyAgICAgIDwveHM6c2ltcGxlQ29udGVudD4KKyAgICA8L3hzOmNvbXBsZXhUeXBlPgorICA8L3hzOmVsZW1lbnQ+Cis8L3hzOnNjaGVtYT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2V4dGVuc2lvbjFfMS54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9leHRlbnNpb24xXzEueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc3ODBjZjYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9leHRlbnNpb24xXzEueG1sCkBAIC0wLDAgKzEgQEAKKzx0aXRsZSBsYW5ndWU9ImZyIj5zYWx1dDwvdGl0bGU+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9leHRlbnNpb24xXzIueG1sIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvZXh0ZW5zaW9uMV8yLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZDY1YmIwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvZXh0ZW5zaW9uMV8yLnhtbApAQCAtMCwwICsxIEBACis8dGl0bGUgbGFuZz0iZnIiPjxzYWx1dC8+PC90aXRsZT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2V4dGVuc2lvbjJfMC54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9leHRlbnNpb24yXzAueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIwMmM5ODgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9leHRlbnNpb24yXzAueG1sCkBAIC0wLDAgKzEsNCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8Zm9vIHhtbG5zPSJodHRwOi8vbXlucyIKKyAgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIKKyAgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vbXlucyBleHRlbnNpb24yXzEueHNkIi8+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9leHRlbnNpb24yXzEueHNkIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvZXh0ZW5zaW9uMl8xLnhzZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZmE4OGFmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvZXh0ZW5zaW9uMl8xLnhzZApAQCAtMCwwICsxLDE3IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorICAgPHhzOnNjaGVtYSB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiCisgICAgICAgICAgICAgIHhtbG5zPSJodHRwOi8vbXlucyIKKyAgICAgICAgICAgICAgdGFyZ2V0TmFtZXNwYWNlPSJodHRwOi8vbXlucyIKKyAgICAgICAgICAgICAgZWxlbWVudEZvcm1EZWZhdWx0PSJxdWFsaWZpZWQiCisgICAgICAgICAgICAgIGF0dHJpYnV0ZUZvcm1EZWZhdWx0PSJ1bnF1YWxpZmllZCIKKyAgICAgICAgICAgICAgeG1sOmxhbmc9ImVuIj4KKworICAgICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iZGF0YUlubGluZVR5cGUiPgorICAgICAgIDx4czpjb21wbGV4Q29udGVudD4KKyAgICAgICAgIDx4czpleHRlbnNpb24gYmFzZT0ieHM6YW55VHlwZSIvPgorICAgICAgIDwveHM6Y29tcGxleENvbnRlbnQ+CisgICAgIDwveHM6Y29tcGxleFR5cGU+CisgICAgIAorICAgICA8eHM6ZWxlbWVudCBuYW1lPSJmb28iIHR5cGU9ImRhdGFJbmxpbmVUeXBlIi8+CisKKyAgIDwveHM6c2NoZW1hPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvZmFjZXQtdW5pb25TVC1lcnIxXzAueG1sIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvZmFjZXQtdW5pb25TVC1lcnIxXzAueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI0N2RmNjEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9mYWNldC11bmlvblNULWVycjFfMC54bWwKQEAgLTAsMCArMSw0IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxmb28geG1sbnM9Imh0dHA6Ly9GT08iIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIAorCXhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL0ZPTyBmYWNldC11bmlvblNULWVycjFfMC54c2QiPnRpbnk8L2Zvbz4KKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvZmFjZXQtdW5pb25TVC1lcnIxXzAueHNkIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvZmFjZXQtdW5pb25TVC1lcnIxXzAueHNkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ3NjY2OGIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9mYWNldC11bmlvblNULWVycjFfMC54c2QKQEAgLTAsMCArMSwyNyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8eHNkOnNjaGVtYSB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIgorICB0YXJnZXROYW1lc3BhY2U9Imh0dHA6Ly9GT08iIHhtbG5zOmZvbz0iaHR0cDovL0ZPTyI+CisKKyAgCTx4c2Q6ZWxlbWVudCBuYW1lPSJmb28iIHR5cGU9ImZvbzpmb29UeXBlLkIiLz4KKworCTx4c2Q6c2ltcGxlVHlwZSBuYW1lPSJmb29UeXBlLkIiPgorCQk8eHNkOnJlc3RyaWN0aW9uIGJhc2U9ImZvbzpmb29UeXBlLkEiPgorCQkJPHhzZDplbnVtZXJhdGlvbiB2YWx1ZT0ibWVkaXVtIi8+CisJCTwveHNkOnJlc3RyaWN0aW9uPgorCTwveHNkOnNpbXBsZVR5cGU+CisKKwk8eHNkOnNpbXBsZVR5cGUgbmFtZT0iZm9vVHlwZS5BIj4KKyAgICAJPHhzZDp1bmlvbj4KKyAgICAgIAkJPHhzZDpzaW1wbGVUeXBlPgorICAgICAgICAJCTx4c2Q6cmVzdHJpY3Rpb24gYmFzZT0ieHNkOk5NVE9LRU4iPgorICAgICAgICAgIAkJCTx4c2Q6ZW51bWVyYXRpb24gdmFsdWU9InNtYWxsIi8+CisgICAgICAgICAgCQkJPHhzZDplbnVtZXJhdGlvbiB2YWx1ZT0ibWVkaXVtIi8+CisgICAgICAgICAgCQkJPHhzZDplbnVtZXJhdGlvbiB2YWx1ZT0ibGFyZ2UiLz4KKyAgICAgICAgCQk8L3hzZDpyZXN0cmljdGlvbj4KKyAgICAgIAkJPC94c2Q6c2ltcGxlVHlwZT4KKyAgICAJPC94c2Q6dW5pb24+CisgIAk8L3hzZDpzaW1wbGVUeXBlPgorCisKKworPC94c2Q6c2NoZW1hPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvZmFjZXQtd2hpdGVTcGFjZV8wLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2ZhY2V0LXdoaXRlU3BhY2VfMC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGJhMjZjYQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2ZhY2V0LXdoaXRlU3BhY2VfMC54bWwKQEAgLTAsMCArMSw3IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxmb28geG1sbnM9Imh0dHA6Ly9GT08iIAorCXhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIAkKKwl4c2k6c2NoZW1hTG9jYXRpb249Imh0dHA6Ly9GT08gZmFjZXQtd2hpdGVTcGFjZV8wLnhzZCI+aG1tbQorCisJZgkJZglmZgkJZgorCTwvZm9vPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2ZhY2V0LXdoaXRlU3BhY2VfMC54c2QgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9mYWNldC13aGl0ZVNwYWNlXzAueHNkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgzZWYxNDIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9mYWNldC13aGl0ZVNwYWNlXzAueHNkCkBAIC0wLDAgKzEsMTIgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPHhzZDpzY2hlbWEgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIKKwl0YXJnZXROYW1lc3BhY2U9Imh0dHA6Ly9GT08iIHhtbG5zPSJodHRwOi8vRk9PIj4KKworCTx4c2Q6ZWxlbWVudCBuYW1lPSJmb28iPgorCQk8eHNkOnNpbXBsZVR5cGU+CisJCQk8eHNkOnJlc3RyaWN0aW9uIGJhc2U9InhzZDpzdHJpbmciPgorCQkJCTx4c2Q6d2hpdGVTcGFjZSB2YWx1ZT0icmVwbGFjZSIvPgkJCQkKKwkJCTwveHNkOnJlc3RyaWN0aW9uPgorCQk8L3hzZDpzaW1wbGVUeXBlPgorCTwveHNkOmVsZW1lbnQ+Cis8L3hzZDpzY2hlbWE+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvZ3JvdXAwXzAueG1sIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvZ3JvdXAwXzAueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJmNThiYTYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9ncm91cDBfMC54bWwKQEAgLTAsMCArMSwzIEBACis8YXV0aG9yPgorICA8bmFtZT5Gb28gQmFyPC9uYW1lPgorPC9hdXRob3I+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9ncm91cDBfMC54c2QgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9ncm91cDBfMC54c2QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2RmYTM5MwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2dyb3VwMF8wLnhzZApAQCAtMCwwICsxLDE4IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgorPHhzOnNjaGVtYSB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiPgorICA8eHM6Z3JvdXAgbmFtZT0ibmFtZSI+CisgICAgPHhzOmNob2ljZT4KKyAgICAgIDx4czplbGVtZW50IG5hbWU9Im5hbWUiIHR5cGU9InhzOnN0cmluZyIvPgorICAgICAgPHhzOnNlcXVlbmNlPgorICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJmaXJzdC1uYW1lIiB0eXBlPSJ4czpzdHJpbmciLz4KKyAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0ibWlkZGxlLW5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIi8+CisgICAgICAgIDx4czplbGVtZW50IG5hbWU9Imxhc3QtbmFtZSIgdHlwZT0ieHM6c3RyaW5nIi8+CisgICAgICA8L3hzOnNlcXVlbmNlPgorICAgIDwveHM6Y2hvaWNlPgorICA8L3hzOmdyb3VwPgorICA8eHM6ZWxlbWVudCBuYW1lPSJhdXRob3IiPgorICAgIDx4czpjb21wbGV4VHlwZT4KKyAgICAgIDx4czpncm91cCByZWY9Im5hbWUiLz4KKyAgICA8L3hzOmNvbXBsZXhUeXBlPgorICA8L3hzOmVsZW1lbnQ+Cis8L3hzOnNjaGVtYT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2hleGJpbmFyeV8wLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2hleGJpbmFyeV8wLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NTEzNDQ1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvaGV4YmluYXJ5XzAueG1sCkBAIC0wLDAgKzEsMjAgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPHhzZF9oZXhCaW5hcnk+CisgIDxoZXg+MDA8L2hleD4KKyAgPGhleD4wMTIzNDU2Nzg5QUJDREVGPC9oZXg+CisgIDxoZXg+YWJjZGVmMDEyMzQ1Njc4OTwvaGV4PgorICA8aGV4PjAxMjM0NTY3ODlhYmNkZWY8L2hleD4KKyAgPGhleD4wMTIzNDU2Nzg5QUJDREVGPC9oZXg+CisgIDxoZXg+MDEyMzQ1Njc4OWFiY2RlZjAxMjM0NTY3ODlBQkNERUY8L2hleD4KKyAgPGhleD4wMTIzNDU2Nzg5YWJjZGVmMDEyMzQ1Njc4OUFCQ0RFRjAxMjM0NTY3ODlhYmNkZWYwMTIzNDU2Nzg5QUJDREVGMDEyMzQ1Njc4OWFiY2RlZjAxMjM0NTY3ODlBQkNERUYwMTIzNDU2Nzg5YWJjZGVmMDEyMzQ1Njc4OUFCQ0RFRjAxMjM0NTY3ODlhYmNkZWYwMTIzNDU2Nzg5QUJDREVGPC9oZXg+CisgIDxoZXg+MDEyMzQ1Njc4OTk4NzY1NDMyMTA8L2hleD4KKyAgPGhleD4wMDExMjIzMzQ0NTU2Njc3ODg5OWFBYkJjQ2REZUVmRjwvaGV4PgorICA8aGV4PkEwQjFDMkQzRTRGNTwvaGV4PgorICA8IS0tIG1pbkxlbmd0aCBhbmQgbWF4TGVuZ3RoIC0tPgorICA8aGV4Mj4wMDwvaGV4Mj4KKyAgPGhleDI+MDAwMDAwMDAwMDAwMDAwMDwvaGV4Mj4KKyAgPGhleDI+MTEyMjMzNDQ1NTY2Nzc4ODwvaGV4Mj4KKyAgPCEtLSBsZW5ndGggLS0+CisgIDxoZXgzPmFiY2Q8L2hleDM+CisgIDxoZXgzPjBlZDA8L2hleDM+Cis8L3hzZF9oZXhCaW5hcnk+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9oZXhiaW5hcnlfMC54c2QgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9oZXhiaW5hcnlfMC54c2QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjBhNmJlYwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2hleGJpbmFyeV8wLnhzZApAQCAtMCwwICsxLDM1IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzx4c2Q6c2NoZW1hIHhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiCisJICAgIGVsZW1lbnRGb3JtRGVmYXVsdD0idW5xdWFsaWZpZWQiCisJICAgIGF0dHJpYnV0ZUZvcm1EZWZhdWx0PSJ1bnF1YWxpZmllZCI+CisgIDx4c2Q6YW5ub3RhdGlvbj4KKyAgICA8eHNkOmRvY3VtZW50YXRpb24geG1sOmxhbmc9ImVuIj4KKyAgICAgICAgVGVzdGluZyBoZXhCaW5hcnkgZGF0YSB0eXBlcworICAgIDwveHNkOmRvY3VtZW50YXRpb24+CisgIDwveHNkOmFubm90YXRpb24+CisgIDx4c2Q6ZWxlbWVudCBuYW1lPSJ4c2RfaGV4QmluYXJ5Ij4KKyAgICA8eHNkOmNvbXBsZXhUeXBlPgorICAgICAgPHhzZDpzZXF1ZW5jZT4KKyAgICAgICAgPHhzZDpjaG9pY2UgbWluT2NjdXJzPSIxIiBtYXhPY2N1cnM9InVuYm91bmRlZCI+CisgICAgICAgICAgPHhzZDplbGVtZW50IG5hbWU9ImhleCIgdHlwZT0ieHNkOmhleEJpbmFyeSIvPgorICAgICAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJoZXgyIj4KKyAgICAgICAgICAgIDx4c2Q6c2ltcGxlVHlwZT4KKyAgICAgICAgICAgICAgPHhzZDpyZXN0cmljdGlvbiBiYXNlPSJ4c2Q6aGV4QmluYXJ5Ij4KKyAgICAgICAgICAgICAgICA8eHNkOm1heExlbmd0aCB2YWx1ZT0iOCIvPgorICAgICAgICAgICAgICAgIDx4c2Q6bWluTGVuZ3RoIHZhbHVlPSIxIi8+CisgICAgICAgICAgICAgIDwveHNkOnJlc3RyaWN0aW9uPgorICAgICAgICAgICAgPC94c2Q6c2ltcGxlVHlwZT4KKyAgICAgICAgICA8L3hzZDplbGVtZW50PgorICAgICAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJoZXgzIj4KKyAgICAgICAgICAgIDx4c2Q6c2ltcGxlVHlwZT4KKyAgICAgICAgICAgICAgPHhzZDpyZXN0cmljdGlvbiBiYXNlPSJ4c2Q6aGV4QmluYXJ5Ij4KKyAgICAgICAgICAgICAgICA8eHNkOmxlbmd0aCB2YWx1ZT0iMiIvPgorICAgICAgICAgICAgICA8L3hzZDpyZXN0cmljdGlvbj4KKyAgICAgICAgICAgIDwveHNkOnNpbXBsZVR5cGU+CisgICAgICAgICAgPC94c2Q6ZWxlbWVudD4KKyAgICAgICAgPC94c2Q6Y2hvaWNlPgorICAgICAgPC94c2Q6c2VxdWVuY2U+CisgICAgPC94c2Q6Y29tcGxleFR5cGU+CisgIDwveHNkOmVsZW1lbnQ+Cis8L3hzZDpzY2hlbWE+CisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2hleGJpbmFyeV8xLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2hleGJpbmFyeV8xLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZjM0ODU0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvaGV4YmluYXJ5XzEueG1sCkBAIC0wLDAgKzEsMTUgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCEtLSBhbGwgKGV4Y2VwdCAyIGZpcnN0KSBzaG91bGQgZmFpbCB0byB2YWxpZGF0ZSAtLT4KKzx4c2RfaGV4QmluYXJ5PgorICA8aGV4PjwvaGV4PgorICA8aGV4Lz4KKyAgPGhleD4wPC9oZXg+CisgIDxoZXg+MDEyMzQ1Njc4OUFCQ0RFRkdIPC9oZXg+CisgIDxoZXg+K2FiY2RlZjAxMjM0NTY3ODk8L2hleD4KKyAgPGhleD4tMDEyMzQ1Njc4OWFiY2RlZjwvaGV4PgorICA8IS0tIG1pbkxlbmd0aCBhbmQgbWF4TGVuZ3RoIC0tPgorICA8aGV4Mj4xMTIyMzM0NDU1NjY3Nzg4OTk8L2hleDI+CisgIDwhLS0gbGVuZ3RoIC0tPgorICA8aGV4Mz5hYjwvaGV4Mz4KKyAgPGhleDM+MDBmZWRjPC9oZXgzPgorPC94c2RfaGV4QmluYXJ5PgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvaWRjLWtleXJlZi1lcnIxXzAueG1sIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvaWRjLWtleXJlZi1lcnIxXzAueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY0YTFkMGIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9pZGMta2V5cmVmLWVycjFfMC54bWwKQEAgLTAsMCArMSwxNCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8Rm9vCisJeG1sbnM9InVybjp0ZXN0OmZvbyIKKwl4bWxuczpmb289InVybjp0ZXN0OmZvbyIKKwl4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIgorCXhzaTpzY2hlbWFMb2NhdGlvbj0idXJuOnRlc3Q6Zm9vIGlkYy1rZXlyZWZfMS54c2QiPgorCisgICAgPERlZj4KKyAgICAgICAgPExpbmsgZm9vOmxpbmtLZXk9Ikw0Ii8+CisgICAgPC9EZWY+CisKKyAgICA8UmVmIGZvbzpsaW5rUmVmPSJMNCIvPgorCis8L0Zvbz4gClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvaWRjLWtleXJlZi1lcnIxXzEueHNkIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvaWRjLWtleXJlZi1lcnIxXzEueHNkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQzYzc2OWYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9pZGMta2V5cmVmLWVycjFfMS54c2QKQEAgLTAsMCArMSw1MyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8eHM6c2NoZW1hCisgICAgdGFyZ2V0TmFtZXNwYWNlPSJ1cm46dGVzdDpmb28iCisgICAgeG1sbnM6eHM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIgorICAgIHhtbG5zOmZvbz0idXJuOnRlc3Q6Zm9vIgorICAgIGVsZW1lbnRGb3JtRGVmYXVsdD0icXVhbGlmaWVkIgorICAgIGF0dHJpYnV0ZUZvcm1EZWZhdWx0PSJxdWFsaWZpZWQiPgorICAKKyAgIDx4czplbGVtZW50IG5hbWU9IkxpbmsiPgorICAgICAgIDx4czpjb21wbGV4VHlwZT4KKyAgICAgICAgICAgPHhzOnNpbXBsZUNvbnRlbnQ+CisgICAgICAgICAgICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InhzOnN0cmluZyI+CisgICAgICAgICAgICAgICAgICAgPHhzOmF0dHJpYnV0ZSBuYW1lPSJsaW5rS2V5IiB0eXBlPSJ4czpzdHJpbmciIHVzZT0icmVxdWlyZWQiLz4KKyAgICAgICAgICAgICAgIDwveHM6ZXh0ZW5zaW9uPgorICAgICAgICAgICA8L3hzOnNpbXBsZUNvbnRlbnQ+CisgICAgICAgPC94czpjb21wbGV4VHlwZT4KKyAgIDwveHM6ZWxlbWVudD4KKyAgICAgIAorICAgIAorICA8IS0tICAtLT4KKyAgPHhzOmVsZW1lbnQgbmFtZT0iRm9vIj4KKyAgICA8eHM6Y29tcGxleFR5cGU+CisgICAgICA8eHM6c2VxdWVuY2U+CisJICAgICAgICAgIAorICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWYiPgorICAgICAgICAgICAgPHhzOmNvbXBsZXhUeXBlPgorICAgICAgICAgICAgICAgIDx4czpzZXF1ZW5jZT4KKyAgICAgICAgICAgICAgICAgICAgPHhzOmVsZW1lbnQgcmVmPSJmb286TGluayIvPgorICAgICAgICAgICAgICAgIDwveHM6c2VxdWVuY2U+CisgICAgICAgICAgICA8L3hzOmNvbXBsZXhUeXBlPgorICAgICAgICA8L3hzOmVsZW1lbnQ+CisgICAgICAgIAorICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWYiPgorICAgICAgICAgICAgPHhzOmNvbXBsZXhUeXBlPgorICAgICAgICAgICAgICAgIDx4czphdHRyaWJ1dGUgbmFtZT0ibGlua1JlZiIgdXNlPSJyZXF1aXJlZCIvPgorICAgICAgICAgICAgPC94czpjb21wbGV4VHlwZT4KKyAgICAgICAgPC94czplbGVtZW50PgorCisgICAgICA8L3hzOnNlcXVlbmNlPgorCTwveHM6Y29tcGxleFR5cGU+ICAgICAgCisKKwk8eHM6a2V5IG5hbWU9IkxpbmtLZXkiPgorCSAgPHhzOnNlbGVjdG9yIHhwYXRoPSIuLy9mb286TGluayB8IC4vL2ZvbzpMaW5rIi8+CisJICA8eHM6ZmllbGQgeHBhdGg9IkBmb286bGlua0tleSIvPgorCTwveHM6a2V5PgorCisJPHhzOmtleXJlZiBuYW1lPSJMaW5rS2V5UmVmIiByZWZlcj0iZm9vOkxpbmtLZXkiPgorCSAgPHhzOnNlbGVjdG9yIHhwYXRoPSIuLy9mb286UmVmIi8+CisJICA8eHM6ZmllbGQgeHBhdGg9IkBmb286bGlua1JlZiIvPgorCTwveHM6a2V5cmVmPiAgICAKKyAgPC94czplbGVtZW50PgorCis8L3hzOnNjaGVtYT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9pbXBvcnQtNDU1OTUzLnhzZCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2ltcG9ydC00NTU5NTMueHNkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ2MTNkOGYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9pbXBvcnQtNDU1OTUzLnhzZApAQCAtMCwwICsxLDI0IEBACis8P3htbCB2ZXJzaW9uPScxLjAnIGVuY29kaW5nPSdVVEYtOCc/Pg0KKzx4czpzY2hlbWEgdGFyZ2V0TmFtZXNwYWNlPSJodHRwOi8vd3d3LnRlbXB1cmkub3JnL0ltcG9ydGVkU2NoZW1hIiBlbGVtZW50Rm9ybURlZmF1bHQ9InF1YWxpZmllZCIgeG1sbnM6dG5zPSJodHRwOi8vd3d3LnRlbXB1cmkub3JnL0ltcG9ydGVkU2NoZW1hIiB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiPg0KKyAgDQorICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQW5vdGhlclR5cGUiPg0KKyAgICA8eHM6c2VxdWVuY2U+DQorICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQiI+DQorICAgICAgICA8eHM6Y29tcGxleFR5cGU+DQorICAgICAgICAgIDx4czpzZXF1ZW5jZT4NCisgICAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNeUIiIHR5cGU9InhzOnN0cmluZyIgLz4NCisgICAgICAgICAgPC94czpzZXF1ZW5jZT4NCisgICAgICAgICAgPHhzOmF0dHJpYnV0ZSBuYW1lPSJCSUQiIHR5cGU9InhzOmludCIvPg0KKyAgICAgICAgPC94czpjb21wbGV4VHlwZT4NCisgICAgICA8L3hzOmVsZW1lbnQ+DQorICAgIDwveHM6c2VxdWVuY2U+DQorICA8L3hzOmNvbXBsZXhUeXBlPg0KKw0KKyAgPHhzOmVsZW1lbnQgbmFtZT0iQW5vdGhlckVsZW1lbnQiIHR5cGU9InRuczpBbm90aGVyVHlwZSI+DQorICAgIDx4czprZXkgbmFtZT0iQW5vdGhlcktleSI+DQorICAgICA8eHM6c2VsZWN0b3IgeHBhdGg9InRuczpCIi8+DQorICAgICA8eHM6ZmllbGQgeHBhdGg9IkBCSUQiLz4NCisgICAgPC94czprZXk+DQorICA8L3hzOmVsZW1lbnQ+DQorDQorPC94czpzY2hlbWE+DQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvaW1wb3J0LWJhZC0xXzAuaW1wIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvaW1wb3J0LWJhZC0xXzAuaW1wCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmQ3MGMwMTIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9pbXBvcnQtYmFkLTFfMC5pbXAKQEAgLTAsMCArMSw1IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzx4c2Q6bGFsYWxhIAorCXhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiCisJdGFyZ2V0TmFtZXNwYWNlPSJodHRwOi8vQkFSIj4KKzwveHNkOmxhbGFsYT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9pbXBvcnQwXzAuaW1wIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvaW1wb3J0MF8wLmltcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZTQ0NmQ4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvaW1wb3J0MF8wLmltcApAQCAtMCwwICsxLDEzIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPHhzOnNjaGVtYSB0YXJnZXROYW1lc3BhY2U9Imh0dHA6Ly9leGFtcGxlLm5ldC94bWxzY2hlbWEyIgorICAgICAgICAgICB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiCisJICAgeG1sbnM9Imh0dHA6Ly9leGFtcGxlLm5ldC94bWxzY2hlbWEyIgorCSAgIGVsZW1lbnRGb3JtRGVmYXVsdD0icXVhbGlmaWVkIiBhdHRyaWJ1dGVGb3JtRGVmYXVsdD0idW5xdWFsaWZpZWQiPgorCis8eHM6c2ltcGxlVHlwZSBuYW1lPSJ0Zm9vIj4KKyAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOk5NVE9LRU4iPgorICAgIDx4czptYXhMZW5ndGggdmFsdWU9IjIiLz4KKyAgPC94czpyZXN0cmljdGlvbj4KKzwveHM6c2ltcGxlVHlwZT4KKworPC94czpzY2hlbWE+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9pbXBvcnQwXzAueG1sIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvaW1wb3J0MF8wLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YmE3ZTNmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvaW1wb3J0MF8wLnhtbApAQCAtMCwwICsxLDggQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IklTTy04ODU5LTEiPz4KKzxiYXIgeG1sbnM9Imh0dHA6Ly9leGFtcGxlLm5ldC94bWxzY2hlbWEiCisgICAgIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiCisgICAgIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL2V4YW1wbGUubmV0L3htbHNjaGVtYSB0ZXN0SW1wb3J0VHlwZXMueHNkIj4KKyAgPGZvbzE+CisgICAgeHkKKyAgPC9mb28xPgorPC9iYXI+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9pbXBvcnQwXzAueHNkIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvaW1wb3J0MF8wLnhzZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOTczZDY0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvaW1wb3J0MF8wLnhzZApAQCAtMCwwICsxLDIxIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPHhzOnNjaGVtYSB0YXJnZXROYW1lc3BhY2U9Imh0dHA6Ly9leGFtcGxlLm5ldC94bWxzY2hlbWEiCisgICAgICAgICAgIHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIKKwkgICB4bWxuczpuczE9Imh0dHA6Ly9leGFtcGxlLm5ldC94bWxzY2hlbWEiCisJICAgeG1sbnM6bnMyPSJodHRwOi8vZXhhbXBsZS5uZXQveG1sc2NoZW1hMiIKKwkgICB4bWxucz0iaHR0cDovL2V4YW1wbGUubmV0L3htbHNjaGVtYSIKKwkgICBlbGVtZW50Rm9ybURlZmF1bHQ9InF1YWxpZmllZCIgYXR0cmlidXRlRm9ybURlZmF1bHQ9InVucXVhbGlmaWVkIj4KKworPHhzOmltcG9ydCBuYW1lc3BhY2U9Imh0dHA6Ly9leGFtcGxlLm5ldC94bWxzY2hlbWEyIgorICAgICAgICAgICBzY2hlbWFMb2NhdGlvbj0iaW1wb3J0MF8wLmltcCIvPgorCis8eHM6ZWxlbWVudCBuYW1lPSJiYXIiPgorICA8eHM6Y29tcGxleFR5cGU+CisgICAgPHhzOnNlcXVlbmNlPgorICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iZm9vMSIgdHlwZT0ibnMyOnRmb28iLz4KKyAgICA8L3hzOnNlcXVlbmNlPgorICA8L3hzOmNvbXBsZXhUeXBlPgorPC94czplbGVtZW50PgorCisKKzwveHM6c2NoZW1hPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvaW1wb3J0MV8wLmltcCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2ltcG9ydDFfMC5pbXAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjdmZDJlYwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2ltcG9ydDFfMC5pbXAKQEAgLTAsMCArMSw4IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzx4c2Q6c2NoZW1hIAorCXhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiCisJdGFyZ2V0TmFtZXNwYWNlPSJodHRwOi8vQkFSIj4KKworCTx4c2Q6ZWxlbWVudCBuYW1lPSJiYXIuQSIvPgkKKworPC94c2Q6c2NoZW1hPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2ltcG9ydDFfMC54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9pbXBvcnQxXzAueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcwNDY1MjEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9pbXBvcnQxXzAueG1sCkBAIC0wLDAgKzEsMTEgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCEtLSBUaGlzIG9uZSB0ZXN0cyB0aGUgZG9jdW1lbnQgYWNjZXNzIHN0cmF0ZWd5IGZvciA8aW1wb3J0PiAtLT4KKzxmb286Zm9vIAorCXhtbG5zOmZvbz0iaHR0cDovL0ZPTyIgCisJeG1sbnM6YmFyPSJodHRwOi8vQkFSIgorCXhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIAorCXhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL0ZPTyBpbXBvcnQxXzAueHNkIj4KKwk8Zm9vOmJhci8+CisJPGJhcjpiYXIuQS8+CisJPGJhcjpiYXIuQi8+Cis8L2Zvbzpmb28+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvaW1wb3J0MV8wLnhzZCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2ltcG9ydDFfMC54c2QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzA5MTM5YwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2ltcG9ydDFfMC54c2QKQEAgLTAsMCArMSwzMCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IS0tIFRoaXMgb25lIHRlc3RzIHRoZSBkb2N1bWVudCBhY2Nlc3Mgc3RyYXRlZ3kgZm9yIDxpbXBvcnQ+IC0tPgorPHhzZDpzY2hlbWEgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIKKwl0YXJnZXROYW1lc3BhY2U9Imh0dHA6Ly9GT08iCisJeG1sbnM6Zm9vPSJodHRwOi8vRk9PIgorCXhtbG5zOmJhcj0iaHR0cDovL0JBUiIKKwllbGVtZW50Rm9ybURlZmF1bHQ9InF1YWxpZmllZCI+CisJPHhzZDppbXBvcnQgbmFtZXNwYWNlPSJodHRwOi8vQkFSIiAvPgorCQkKKwk8IS0tIFRoaXMgZG9jdW1lbnQgZG9lcyBub3QgZXhpc3QuIC0tPgorCTx4c2Q6aW1wb3J0IG5hbWVzcGFjZT0iaHR0cDovL0JBUiIgc2NoZW1hTG9jYXRpb249ImltcG9ydDFfMGJjLmltcCIgLz4KKwk8IS0tIFRoaXMgZG9jdW1lbnQgaXMgb2suIC0tPgorCTx4c2Q6aW1wb3J0IG5hbWVzcGFjZT0iaHR0cDovL0JBUiIgc2NoZW1hTG9jYXRpb249ImltcG9ydDFfMC5pbXAiIC8+CisJPCEtLSBUaGlzIGRvY3VtZW50IHdpbGwgYmUgc2tpcHBlZCwgc2luY2UgYSBzY2hlbWEgZm9yIHRoZSBuYW1lc3BhY2UKKwkgICAgICJodHRwOi8vQkFSIiB3YXMgYWxyZWFkeSBpbXBvcnRlZC4gLS0+CisJPHhzZDppbXBvcnQgbmFtZXNwYWNlPSJodHRwOi8vQkFSIiBzY2hlbWFMb2NhdGlvbj0iaW1wb3J0MV8wYi5pbXAiIC8+CisJCisKKwk8eHNkOmVsZW1lbnQgbmFtZT0iZm9vIj4KKwkJPHhzZDpjb21wbGV4VHlwZT4KKwkJCTx4c2Q6c2VxdWVuY2U+CisJCQkJPHhzZDplbGVtZW50IG5hbWU9ImJhciIvPgkJCQkJCQkJCisJCQkJPHhzZDplbGVtZW50IHJlZj0iYmFyOmJhci5BIi8+CisJCQkJPCEtLSBUaGUgcmVmZXJlbmNlIGNhbm5vdCBiZSByZXNvbHZlZCBzaW5jZQorCQkJCSAgICAgImltcG9ydDFfMGIuaW1wIiB3YXMgc2tpcHBlZCAtLT4KKwkJCQk8eHNkOmVsZW1lbnQgcmVmPSJiYXI6YmFyLkIiLz4JCQkJCisJCQk8L3hzZDpzZXF1ZW5jZT4JCisJCTwveHNkOmNvbXBsZXhUeXBlPgorCTwveHNkOmVsZW1lbnQ+Cis8L3hzZDpzY2hlbWE+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvaW1wb3J0MV8wYi5pbXAgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9pbXBvcnQxXzBiLmltcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MGJkZGQ3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvaW1wb3J0MV8wYi5pbXAKQEAgLTAsMCArMSw4IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzx4c2Q6c2NoZW1hIAorCXhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiCisJdGFyZ2V0TmFtZXNwYWNlPSJodHRwOi8vQkFSIj4KKworCTx4c2Q6ZWxlbWVudCBuYW1lPSJiYXIuQiIvPgkKKworPC94c2Q6c2NoZW1hPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2ltcG9ydDJfMC5pbXAgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9pbXBvcnQyXzAuaW1wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI5OGU2YjEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9pbXBvcnQyXzAuaW1wCkBAIC0wLDAgKzEsMjQgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8eHNkOnNjaGVtYSB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIgorCXRhcmdldE5hbWVzcGFjZT0iaHR0cDovL0ZPTyIKKwl4bWxuczpmb289Imh0dHA6Ly9GT08iCisJeG1sbnM6YmFyPSJodHRwOi8vQkFSIgorCWVsZW1lbnRGb3JtRGVmYXVsdD0icXVhbGlmaWVkIj4KKworCTwhLS0gV2UgbmVlZCB0byBpbXBvcnQgdGhlIG5hbWVzcGFjZSBmb3IgdGhlIHNjaGVtYSB0byBiZSB2YWxpZC4gLS0+CisJPHhzZDppbXBvcnQgbmFtZXNwYWNlPSJodHRwOi8vQkFSIi8+CisKKwk8eHNkOmVsZW1lbnQgbmFtZT0iZm9vIj4KKwkJPHhzZDpjb21wbGV4VHlwZT4JCQkJCQkJCisJCQk8eHNkOnNlcXVlbmNlPgkJCQkKKwkJCQk8eHNkOmVsZW1lbnQgbmFtZT0iZm9vLkIiIHR5cGU9ImJhcjpmb29UeXBlIi8+CisJCQkJPHhzZDplbGVtZW50IHJlZj0iYmFyOmJhciIvPgkJCQkKKwkJCTwveHNkOnNlcXVlbmNlPgorCQkJPHhzZDphdHRyaWJ1dGUgbmFtZT0iZm9vLmF0dHIiLz4JCQkKKwkJCQorCQk8L3hzZDpjb21wbGV4VHlwZT4JCQorCTwveHNkOmVsZW1lbnQ+CisKKwkKKworPC94c2Q6c2NoZW1hPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvaW1wb3J0Ml8wLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2ltcG9ydDJfMC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjc3MjNkNAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2ltcG9ydDJfMC54bWwKQEAgLTAsMCArMSw4IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJJU08tODg1OS0xIj8+Cis8Zm9vOmZvbyB4bWxuczpmb289Imh0dHA6Ly9GT08iCisJeG1sbnM6YmFyPSJodHRwOi8vQkFSIgorCXhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiCisJeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vQkFSIGltcG9ydDJfMC54c2QiIGZvby5hdHRyPSJvbyI+CisJPGZvbzpmb28uQi8+CisJPGJhcjpiYXIvPgorPC9mb286Zm9vPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvaW1wb3J0Ml8wLnhzZCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2ltcG9ydDJfMC54c2QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjkyMmJlYwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2ltcG9ydDJfMC54c2QKQEAgLTAsMCArMSwyNCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8eHNkOnNjaGVtYSB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIgorCXhtbG5zOmZvbz0iaHR0cDovL0ZPTyIKKwl0YXJnZXROYW1lc3BhY2U9Imh0dHA6Ly9CQVIiCisJZWxlbWVudEZvcm1EZWZhdWx0PSJxdWFsaWZpZWQiPgorCisJPHhzZDppbXBvcnQgbmFtZXNwYWNlPSJodHRwOi8vRk9PIiBzY2hlbWFMb2NhdGlvbj0iaW1wb3J0Ml8wLmltcCIvPgorCisJPHhzZDpzaW1wbGVUeXBlIG5hbWU9ImZvb1R5cGUiPgorCQk8eHNkOnJlc3RyaWN0aW9uIGJhc2U9InhzZDpzdHJpbmciPgorCQkJPHhzZDptYXhMZW5ndGggdmFsdWU9IjEwIi8+CisJCTwveHNkOnJlc3RyaWN0aW9uPgorCTwveHNkOnNpbXBsZVR5cGU+CisKKwk8eHNkOmVsZW1lbnQgbmFtZT0iYmFyIj4KKwkJPHhzZDpjb21wbGV4VHlwZT4KKwkJCTx4c2Q6c2VxdWVuY2U+CisJCQkJPHhzZDplbGVtZW50IHJlZj0iZm9vOmZvbyIgbWluT2NjdXJzPSIwIi8+CisJCQk8L3hzZDpzZXF1ZW5jZT4KKwkJPC94c2Q6Y29tcGxleFR5cGU+CisJPC94c2Q6ZWxlbWVudD4KKworCis8L3hzZDpzY2hlbWE+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9pbmNsdWRlMV8wLmluYyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2luY2x1ZGUxXzAuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE3NDVhYmUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9pbmNsdWRlMV8wLmluYwpAQCAtMCwwICsxLDI4IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzx4c2Q6c2NoZW1hIHhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiID4KKworCTx4c2Q6c2ltcGxlVHlwZSBuYW1lPSJiYXJUeXBlIj4KKwkJPHhzZDpyZXN0cmljdGlvbiBiYXNlPSJ4c2Q6c3RyaW5nIj4KKwkJCTx4c2Q6bWF4TGVuZ3RoIHZhbHVlPSIxMCIgLz4KKwkJPC94c2Q6cmVzdHJpY3Rpb24+CisJPC94c2Q6c2ltcGxlVHlwZT4KKworCTx4c2Q6YXR0cmlidXRlIG5hbWU9ImJhciIgdHlwZT0iYmFyVHlwZSIgZml4ZWQ9Im8iLz4KKworCTx4c2Q6ZWxlbWVudCBuYW1lPSJiYXIuQiIgdHlwZT0ieHNkOmFueVVSSSIgYmxvY2s9IiNhbGwiIG5pbGxhYmxlPSJ0cnVlIiBmaW5hbD0icmVzdHJpY3Rpb24gZXh0ZW5zaW9uIi8+CisJCisJPHhzZDplbGVtZW50IG5hbWU9ImJhciI+CisJCTx4c2Q6Y29tcGxleFR5cGU+CisJCQk8eHNkOnNlcXVlbmNlPgorCQkJCTx4c2Q6ZWxlbWVudCBuYW1lPSJiYXIuQSIgYmxvY2s9InJlc3RyaWN0aW9uIiBmb3JtPSJxdWFsaWZpZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPgorCQkJCTx4c2Q6ZWxlbWVudCByZWY9ImJhci5CIi8+CisJCQk8L3hzZDpzZXF1ZW5jZT4KKwkJCQorCQkJPHhzZDphdHRyaWJ1dGUgcmVmPSJiYXIiIHhtbDpsYW5nPSJERSI+CisJCQkJPHhzZDphbm5vdGF0aW9uLz4KKwkJCTwveHNkOmF0dHJpYnV0ZT4KKwkJCTx4c2Q6YXR0cmlidXRlIG5hbWU9InVyaSIgdHlwZT0ieHNkOnRva2VuIiAvPgorCQk8L3hzZDpjb21wbGV4VHlwZT4KKwk8L3hzZDplbGVtZW50PgorCis8L3hzZDpzY2hlbWE+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvaW5jbHVkZTFfMC54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9pbmNsdWRlMV8wLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZmZlZTBlCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvaW5jbHVkZTFfMC54bWwKQEAgLTAsMCArMSw4IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxmb286Zm9vIHhtbG5zOmZvbz0iaHR0cDovL0ZPTyIgCisJeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgCisJeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vRk9PIGluY2x1ZGUxXzAueHNkIiBmb286cmVxPSJvbyI+CisJPGZvbzpiYXIgZm9vOmJhcj0ibyIgIHVyaT0iYXNkIj48Zm9vOmJhci5BLz48Zm9vOmJhci5CPmFueVVSSTwvZm9vOmJhci5CPjwvZm9vOmJhcj4KKwk8Ym9vLz4KKwkKKzwvZm9vOmZvbz4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9pbmNsdWRlMV8wLnhzZCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2luY2x1ZGUxXzAueHNkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVlNmQ4MzcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9pbmNsdWRlMV8wLnhzZApAQCAtMCwwICsxLDE1IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzx4c2Q6c2NoZW1hIHhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiCisJdGFyZ2V0TmFtZXNwYWNlPSJodHRwOi8vRk9PIgorCXhtbG5zOmZvbz0iaHR0cDovL0ZPTyIgdmVyc2lvbj0iIj4KKwk8eHNkOmluY2x1ZGUgc2NoZW1hTG9jYXRpb249ImluY2x1ZGUxXzAuaW5jIiAvPgorCTx4c2Q6ZWxlbWVudCBuYW1lPSJmb28iPgorCQk8eHNkOmNvbXBsZXhUeXBlPgorCQkJPHhzZDpzZXF1ZW5jZT4KKwkJCQk8eHNkOmVsZW1lbnQgcmVmPSJmb286YmFyIi8+CisJCQkJPHhzZDplbGVtZW50IG5hbWU9ImJvbyIgdHlwZT0ieHNkOnN0cmluZyIvPgorCQkJPC94c2Q6c2VxdWVuY2U+CQorCQkJPHhzZDphdHRyaWJ1dGUgbmFtZT0icmVxIiB1c2U9InJlcXVpcmVkIiBmb3JtPSJxdWFsaWZpZWQiLz4JCQorCQk8L3hzZDpjb21wbGV4VHlwZT4KKwk8L3hzZDplbGVtZW50PgorPC94c2Q6c2NoZW1hPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2luY2x1ZGUyXzAuaW5jIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvaW5jbHVkZTJfMC5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzEwNGNkNQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2luY2x1ZGUyXzAuaW5jCkBAIC0wLDAgKzEsMTcgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPHhzZDpzY2hlbWEgCisJeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIKKwllbGVtZW50Rm9ybURlZmF1bHQ9InF1YWxpZmllZCIgYXR0cmlidXRlRm9ybURlZmF1bHQ9InF1YWxpZmllZCIKKwlibG9ja0RlZmF1bHQ9ImV4dGVuc2lvbiIgZmluYWxEZWZhdWx0PSJleHRlbnNpb24iPgorCisJPHhzZDplbGVtZW50IG5hbWU9ImJhciI+CisJCTx4c2Q6Y29tcGxleFR5cGU+CisJCQk8eHNkOnNlcXVlbmNlPgorCQkJCTx4c2Q6ZWxlbWVudCBuYW1lPSJiYXIuQiIgdHlwZT0ieHNkOmFueVR5cGUiLz4KKwkJCTwveHNkOnNlcXVlbmNlPgorCQkJPHhzZDphdHRyaWJ1dGUgbmFtZT0iYmFyIi8+CisJCTwveHNkOmNvbXBsZXhUeXBlPgorCQkKKwk8L3hzZDplbGVtZW50PgorCis8L3hzZDpzY2hlbWE+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvaW5jbHVkZTJfMC54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9pbmNsdWRlMl8wLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNDYwYjkzCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvaW5jbHVkZTJfMC54bWwKQEAgLTAsMCArMSw5IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxmb286Zm9vIAorCXhtbG5zOmZvbz0iaHR0cDovL0ZPTyIgCisJeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgCisJeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vRk9PIGluY2x1ZGUyXzAueHNkIj4KKwk8Zm9vOmJhciBmb286YmFyPSJvb28iPgorCQk8Zm9vOmJhci5CIGZvbzpiYXI9Im9vbyIvPgorCTwvZm9vOmJhcj4JCis8L2Zvbzpmb28+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvaW5jbHVkZTJfMC54c2QgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9pbmNsdWRlMl8wLnhzZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZjYzMTAyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvaW5jbHVkZTJfMC54c2QKQEAgLTAsMCArMSwxNCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8eHNkOnNjaGVtYSB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIgorCXRhcmdldE5hbWVzcGFjZT0iaHR0cDovL0ZPTyIKKwl4bWxuczpmb289Imh0dHA6Ly9GT08iPgorCTx4c2Q6aW5jbHVkZSBzY2hlbWFMb2NhdGlvbj0iaW5jbHVkZTJfMC5pbmMiIC8+CisKKwk8eHNkOmVsZW1lbnQgbmFtZT0iZm9vIj4KKwkJPHhzZDpjb21wbGV4VHlwZT4KKwkJCTx4c2Q6c2VxdWVuY2U+CisJCQkJPHhzZDplbGVtZW50IHJlZj0iZm9vOmJhciIvPgkJCQkKKwkJCTwveHNkOnNlcXVlbmNlPgkKKwkJPC94c2Q6Y29tcGxleFR5cGU+CisJPC94c2Q6ZWxlbWVudD4KKzwveHNkOnNjaGVtYT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9pbmNsdWRlM18wLmluYyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2luY2x1ZGUzXzAuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMwNDM2ZTgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9pbmNsdWRlM18wLmluYwpAQCAtMCwwICsxLDUgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPHhzZDpzY2hlbWEgCisJeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+CisJPHhzZDplbGVtZW50IG5hbWU9ImJhciIgLz4KKzwveHNkOnNjaGVtYT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9pbmNsdWRlM18wLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2luY2x1ZGUzXzAueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU4ODBjYzUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9pbmNsdWRlM18wLnhtbApAQCAtMCwwICsxLDcgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPGZvbzpmb28gCisJeG1sbnM6Zm9vPSJodHRwOi8vRk9PIiAKKwl4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiAKKwl4c2k6c2NoZW1hTG9jYXRpb249Imh0dHA6Ly9GT08gaW5jbHVkZTNfMC54c2QiPgorCTxmb286YmFyIC8+Cis8L2Zvbzpmb28+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvaW5jbHVkZTNfMC54c2QgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9pbmNsdWRlM18wLnhzZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MzE5NDg2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvaW5jbHVkZTNfMC54c2QKQEAgLTAsMCArMSw5IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzx4c2Q6c2NoZW1hIHhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiCisJdGFyZ2V0TmFtZXNwYWNlPSJodHRwOi8vRk9PIgorCXhtbG5zOmZvbz0iaHR0cDovL0ZPTyI+CisJPHhzZDppbmNsdWRlIHNjaGVtYUxvY2F0aW9uPSJpbmNsdWRlM18wLmluYyIgLz4KKworCTx4c2Q6ZWxlbWVudCBuYW1lPSJiYXIiLz4KKwk8eHNkOmVsZW1lbnQgbmFtZT0iZm9vIi8+Cis8L3hzZDpzY2hlbWE+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvaXRlbV8wLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2l0ZW1fMC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTlkMDc5MAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2l0ZW1fMC54bWwKQEAgLTAsMCArMSw2IEBACis8SXRlbSBwYXJ0TnVtPSI5MjYtQUEiIHNoaXBCeT0iYWlyIj4KKzxwcm9kdWN0TmFtZT5mb288L3Byb2R1Y3ROYW1lPgorPHF1YW50aXR5PjI8L3F1YW50aXR5PgorPFVTUHJpY2U+MS4wPC9VU1ByaWNlPgorPGNvbW1lbnQ+Tm8gY29tbWVudCAhPC9jb21tZW50PgorPC9JdGVtPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvaXRlbV8wLnhzZCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2l0ZW1fMC54c2QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzE1ZTA2ZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2l0ZW1fMC54c2QKQEAgLTAsMCArMSwzOSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8eHNkOnNjaGVtYSB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIj4KKyAgPHhzZDplbGVtZW50IG5hbWU9ImNvbW1lbnQiIHR5cGU9InhzZDpzdHJpbmciLz4KKyAgPCEtLSBTdG9jayBLZWVwaW5nIFVuaXQsIGEgY29kZSBmb3IgaWRlbnRpZnlpbmcgcHJvZHVjdHMgLS0+CisgIDx4c2Q6c2ltcGxlVHlwZSBuYW1lPSJTS1UiPgorICAgIDx4c2Q6cmVzdHJpY3Rpb24gYmFzZT0ieHNkOnN0cmluZyI+CisgICAgICA8eHNkOnBhdHRlcm4gdmFsdWU9IlxkezN9LVtBLVpdezJ9Ii8+CisgICAgPC94c2Q6cmVzdHJpY3Rpb24+CisgIDwveHNkOnNpbXBsZVR5cGU+CisgIDx4c2Q6ZWxlbWVudCBuYW1lPSJJdGVtIj4KKyAgICA8eHNkOmNvbXBsZXhUeXBlPgorICAgICAgPHhzZDpzZXF1ZW5jZT4KKyAgICAgICAgPHhzZDplbGVtZW50IG5hbWU9InByb2R1Y3ROYW1lIiB0eXBlPSJ4c2Q6c3RyaW5nIi8+CisgICAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJxdWFudGl0eSI+CisgICAgICAgICAgPHhzZDpzaW1wbGVUeXBlPgorICAgICAgICAgICAgPHhzZDpyZXN0cmljdGlvbiBiYXNlPSJ4c2Q6cG9zaXRpdmVJbnRlZ2VyIj4KKyAgICAgICAgICAgICAgPHhzZDptYXhFeGNsdXNpdmUgdmFsdWU9IjEwMCIvPgorICAgICAgICAgICAgPC94c2Q6cmVzdHJpY3Rpb24+CisgICAgICAgICAgPC94c2Q6c2ltcGxlVHlwZT4KKyAgICAgICAgPC94c2Q6ZWxlbWVudD4KKyAgICAgICAgPHhzZDplbGVtZW50IG5hbWU9IlVTUHJpY2UiIHR5cGU9InhzZDpkZWNpbWFsIi8+CisgICAgICAgIDx4c2Q6ZWxlbWVudCByZWY9ImNvbW1lbnQiIG1pbk9jY3Vycz0iMCIvPgorICAgICAgICA8eHNkOmVsZW1lbnQgbmFtZT0ic2hpcERhdGUiIHR5cGU9InhzZDpkYXRlIiBtaW5PY2N1cnM9IjAiLz4KKyAgICAgIDwveHNkOnNlcXVlbmNlPgorICAgICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0icGFydE51bSIgdHlwZT0iU0tVIiB1c2U9InJlcXVpcmVkIi8+CisgICAgICA8IS0tIGFkZCB3ZWlnaHRLZyBhbmQgc2hpcEJ5IGF0dHJpYnV0ZXMgLS0+CisgICAgICA8eHNkOmF0dHJpYnV0ZSBuYW1lPSJ3ZWlnaHRLZyIgdHlwZT0ieHNkOmRlY2ltYWwiLz4KKyAgICAgIDx4c2Q6YXR0cmlidXRlIG5hbWU9InNoaXBCeSI+CisgICAgICAgIDx4c2Q6c2ltcGxlVHlwZT4KKyAgICAgICAgICA8eHNkOnJlc3RyaWN0aW9uIGJhc2U9InhzZDpzdHJpbmciPgorICAgICAgICAgICAgPHhzZDplbnVtZXJhdGlvbiB2YWx1ZT0iYWlyIi8+CisgICAgICAgICAgICA8eHNkOmVudW1lcmF0aW9uIHZhbHVlPSJsYW5kIi8+CisgICAgICAgICAgICA8eHNkOmVudW1lcmF0aW9uIHZhbHVlPSJhbnkiLz4KKyAgICAgICAgICA8L3hzZDpyZXN0cmljdGlvbj4KKyAgICAgICAgPC94c2Q6c2ltcGxlVHlwZT4KKyAgICAgIDwveHNkOmF0dHJpYnV0ZT4KKyAgICA8L3hzZDpjb21wbGV4VHlwZT4KKyAgPC94c2Q6ZWxlbWVudD4KKzwveHNkOnNjaGVtYT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2l0ZW1fMS54c2QgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9pdGVtXzEueHNkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNjZjk2NmUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9pdGVtXzEueHNkCkBAIC0wLDAgKzEsNDIgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPHhzZDpzY2hlbWEgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+CisgIDx4c2Q6ZWxlbWVudCBuYW1lPSJjb21tZW50IiB0eXBlPSJ4c2Q6c3RyaW5nIi8+Cis8IS0tIFN0b2NrIEtlZXBpbmcgVW5pdCwgYSBjb2RlIGZvciBpZGVudGlmeWluZyBwcm9kdWN0cyAtLT4KKyAgPHhzZDpzaW1wbGVUeXBlIG5hbWU9IlNLVSI+CisgICAgPHhzZDpyZXN0cmljdGlvbiBiYXNlPSJ4c2Q6c3RyaW5nIj4KKyAgICAgIDx4c2Q6cGF0dGVybiB2YWx1ZT0iXGR7M30tW0EtWl17Mn0iLz4KKyAgICA8L3hzZDpyZXN0cmljdGlvbj4KKyAgPC94c2Q6c2ltcGxlVHlwZT4KKyAgPHhzZDplbGVtZW50IG5hbWU9Ikl0ZW0iPgorICAgIDx4c2Q6Y29tcGxleFR5cGU+CisgICAgICA8eHNkOnNlcXVlbmNlPgorICAgICAgICA8eHNkOmVsZW1lbnQgbmFtZT0icHJvZHVjdE5hbWUiIHR5cGU9InhzZDpzdHJpbmciLz4KKyAgICAgICAgPHhzZDplbGVtZW50IG5hbWU9InF1YW50aXR5Ij4KKyAgICAgICAgICA8eHNkOnNpbXBsZVR5cGU+CisgICAgICAgICAgICA8eHNkOnJlc3RyaWN0aW9uIGJhc2U9InhzZDpwb3NpdGl2ZUludGVnZXIiPgorICAgICAgICAgICAgICA8eHNkOm1heEV4Y2x1c2l2ZSB2YWx1ZT0iMTAwIi8+CisgICAgICAgICAgICA8L3hzZDpyZXN0cmljdGlvbj4KKyAgICAgICAgICA8L3hzZDpzaW1wbGVUeXBlPgorICAgICAgICA8L3hzZDplbGVtZW50PgorICAgICAgICA8eHNkOmVsZW1lbnQgbmFtZT0iVVNQcmljZSIgdHlwZT0ieHNkOmRlY2ltYWwiLz4KKyAgICAgICAgPHhzZDplbGVtZW50IHJlZj0iY29tbWVudCIgbWluT2NjdXJzPSIwIi8+CisgICAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJzaGlwRGF0ZSIgdHlwZT0ieHNkOmRhdGUiIG1pbk9jY3Vycz0iMCIvPgorICAgICAgPC94c2Q6c2VxdWVuY2U+Cis8IS0tIGF0dHJpYnV0ZUdyb3VwIHJlcGxhY2VzIGluZGl2aWR1YWwgZGVjbGFyYXRpb25zIC0tPgorICAgICAgPHhzZDphdHRyaWJ1dGVHcm91cCByZWY9Ikl0ZW1EZWxpdmVyeSIvPgorICAgIDwveHNkOmNvbXBsZXhUeXBlPgorICA8L3hzZDplbGVtZW50PgorICA8eHNkOmF0dHJpYnV0ZUdyb3VwIG5hbWU9Ikl0ZW1EZWxpdmVyeSI+CisgICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0icGFydE51bSIgdHlwZT0iU0tVIiB1c2U9InJlcXVpcmVkIi8+CisgICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0id2VpZ2h0S2ciIHR5cGU9InhzZDpkZWNpbWFsIi8+CisgICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0ic2hpcEJ5Ij4KKyAgICAgIDx4c2Q6c2ltcGxlVHlwZT4KKyAgICAgICAgPHhzZDpyZXN0cmljdGlvbiBiYXNlPSJ4c2Q6c3RyaW5nIj4KKyAgICAgICAgICA8eHNkOmVudW1lcmF0aW9uIHZhbHVlPSJhaXIiLz4KKyAgICAgICAgICA8eHNkOmVudW1lcmF0aW9uIHZhbHVlPSJsYW5kIi8+CisgICAgICAgICAgPHhzZDplbnVtZXJhdGlvbiB2YWx1ZT0iYW55Ii8+CisgICAgICAgIDwveHNkOnJlc3RyaWN0aW9uPgorICAgICAgPC94c2Q6c2ltcGxlVHlwZT4KKyAgICA8L3hzZDphdHRyaWJ1dGU+CisgIDwveHNkOmF0dHJpYnV0ZUdyb3VwPgorPC94c2Q6c2NoZW1hPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvbGVuZ3RoMV8wLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2xlbmd0aDFfMC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGE4Y2QzZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2xlbmd0aDFfMC54bWwKQEAgLTAsMCArMSBAQAorPHdpZHRoIHVuaXQ9ImNtIj4yNTwvd2lkdGg+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9sZW5ndGgxXzAueHNkIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvbGVuZ3RoMV8wLnhzZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YTFiYTBmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvbGVuZ3RoMV8wLnhzZApAQCAtMCwwICsxLDExIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzx4czpzY2hlbWEgeG1sbnM6eHM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIj4KKyAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Imxlbmd0aDEiPgorICAgIDx4czpzaW1wbGVDb250ZW50PgorICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ4czpub25OZWdhdGl2ZUludGVnZXIiPgorICAgICAgICA8eHM6YXR0cmlidXRlIG5hbWU9InVuaXQiIHR5cGU9InhzOk5NVE9LRU4iLz4KKyAgICAgIDwveHM6ZXh0ZW5zaW9uPgorICAgIDwveHM6c2ltcGxlQ29udGVudD4KKyAgPC94czpjb21wbGV4VHlwZT4KKyAgPHhzOmVsZW1lbnQgbmFtZT0id2lkdGgiIHR5cGU9Imxlbmd0aDEiLz4KKzwveHM6c2NoZW1hPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvbGVuZ3RoMl8wLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2xlbmd0aDJfMC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWM4NTFkYQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2xlbmd0aDJfMC54bWwKQEAgLTAsMCArMSw1IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxkZXB0aD4KKyAgPHNpemU+MjU8L3NpemU+CisgIDx1bml0PmNtPC91bml0PgorPC9kZXB0aD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2xlbmd0aDJfMC54c2QgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9sZW5ndGgyXzAueHNkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc2ZDczYzAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9sZW5ndGgyXzAueHNkCkBAIC0wLDAgKzEsMTQgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPHhzOnNjaGVtYSB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiPgorICA8eHM6Y29tcGxleFR5cGUgbmFtZT0ibGVuZ3RoMiI+CisgICAgPHhzOmNvbXBsZXhDb250ZW50PgorICAgICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOmFueVR5cGUiPgorICAgICAgICA8eHM6c2VxdWVuY2U+CisgICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0ic2l6ZSIgdHlwZT0ieHM6bm9uTmVnYXRpdmVJbnRlZ2VyIi8+CisgICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0idW5pdCIgdHlwZT0ieHM6Tk1UT0tFTiIvPgorICAgICAgICA8L3hzOnNlcXVlbmNlPgorICAgICAgPC94czpyZXN0cmljdGlvbj4KKyAgICA8L3hzOmNvbXBsZXhDb250ZW50PgorICA8L3hzOmNvbXBsZXhUeXBlPgorICA8eHM6ZWxlbWVudCBuYW1lPSJkZXB0aCIgdHlwZT0ibGVuZ3RoMiIvPgorPC94czpzY2hlbWE+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9sZW5ndGgzXzAueG1sIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvbGVuZ3RoM18wLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41Yzg1MWRhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvbGVuZ3RoM18wLnhtbApAQCAtMCwwICsxLDUgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPGRlcHRoPgorICA8c2l6ZT4yNTwvc2l6ZT4KKyAgPHVuaXQ+Y208L3VuaXQ+Cis8L2RlcHRoPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvbGVuZ3RoM18wLnhzZCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2xlbmd0aDNfMC54c2QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjk3ZTY4OAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2xlbmd0aDNfMC54c2QKQEAgLTAsMCArMSwxMCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8eHM6c2NoZW1hIHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+CisgIDx4czpjb21wbGV4VHlwZSBuYW1lPSJsZW5ndGgzIj4KKyAgICA8eHM6c2VxdWVuY2U+CisgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJzaXplIiB0eXBlPSJ4czpub24tcG9zaXRpdmUtaW50ZWdlciIvPgorICAgICAgPHhzOmVsZW1lbnQgbmFtZT0idW5pdCIgdHlwZT0ieHM6Tk1UT0tFTiIvPgorICAgIDwveHM6c2VxdWVuY2U+CisgIDwveHM6Y29tcGxleFR5cGU+CisgIDx4czplbGVtZW50IG5hbWU9ImRlcHRoIiB0eXBlPSJsZW5ndGgzIi8+Cis8L3hzOnNjaGVtYT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2xpc3QwXzAueG1sIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvbGlzdDBfMC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTU4ZmU4YgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2xpc3QwXzAueG1sCkBAIC0wLDAgKzEsNiBAQAorPHRlc3Q+CisgIDxzdHJpbmc+aGVsbG8gd29ybGQ8L3N0cmluZz4KKyAgPHN0cmluZz5oZWxsbyB3b3JsZDwvc3RyaW5nPgorICA8c3RyaW5nPmhlbGxvIHdvcmxkPC9zdHJpbmc+CisgIDxzdHJpbmc+aGVsbG8gd29ybGQ8L3N0cmluZz4KKzwvdGVzdD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2xpc3QwXzAueHNkIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvbGlzdDBfMC54c2QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzNkN2Q2NgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL2xpc3QwXzAueHNkCkBAIC0wLDAgKzEsMTMgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8eHM6c2NoZW1hIHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgZWxlbWVudEZvcm1EZWZhdWx0PSJxdWFsaWZpZWQiIGF0dHJpYnV0ZUZvcm1EZWZhdWx0PSJ1bnF1YWxpZmllZCI+CisgIDx4czplbGVtZW50IG5hbWU9InRlc3QiPgorICAgIDx4czphbm5vdGF0aW9uPgorICAgICAgPHhzOmRvY3VtZW50YXRpb24+Q29tbWVudCBkZXNjcmliaW5nIHlvdXIgcm9vdCBlbGVtZW50PC94czpkb2N1bWVudGF0aW9uPgorICAgIDwveHM6YW5ub3RhdGlvbj4KKyAgICA8eHM6Y29tcGxleFR5cGU+CisgICAgICA8eHM6c2VxdWVuY2U+CisgICAgICAgIDx4czplbGVtZW50IG5hbWU9InN0cmluZyIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjIiIG1heE9jY3Vycz0idW5ib3VuZGVkIi8+CisgICAgICA8L3hzOnNlcXVlbmNlPgorICAgIDwveHM6Y29tcGxleFR5cGU+CisgIDwveHM6ZWxlbWVudD4KKzwveHM6c2NoZW1hPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvbGlzdDBfMS54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9saXN0MF8xLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ODc4ZTVkCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvbGlzdDBfMS54bWwKQEAgLTAsMCArMSwzIEBACis8dGVzdD4KKyAgPHN0cmluZz5oZWxsbyB3b3JsZDwvc3RyaW5nPgorPC90ZXN0PgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvbGlzdDBfMS54c2QgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9saXN0MF8xLnhzZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44OTY2MDc1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvbGlzdDBfMS54c2QKQEAgLTAsMCArMSwxMyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzx4czpzY2hlbWEgeG1sbnM6eHM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiBlbGVtZW50Rm9ybURlZmF1bHQ9InF1YWxpZmllZCIgYXR0cmlidXRlRm9ybURlZmF1bHQ9InVucXVhbGlmaWVkIj4KKyAgPHhzOmVsZW1lbnQgbmFtZT0idGVzdCI+CisgICAgPHhzOmFubm90YXRpb24+CisgICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5Db21tZW50IGRlc2NyaWJpbmcgeW91ciByb290IGVsZW1lbnQ8L3hzOmRvY3VtZW50YXRpb24+CisgICAgPC94czphbm5vdGF0aW9uPgorICAgIDx4czpjb21wbGV4VHlwZT4KKyAgICAgIDx4czpzZXF1ZW5jZT4KKyAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0ic3RyaW5nIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMiIgbWF4T2NjdXJzPSIzIi8+CisgICAgICA8L3hzOnNlcXVlbmNlPgorICAgIDwveHM6Y29tcGxleFR5cGU+CisgIDwveHM6ZWxlbWVudD4KKzwveHM6c2NoZW1hPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvbGlzdDBfMi54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9saXN0MF8yLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOTRkNDgxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvbGlzdDBfMi54bWwKQEAgLTAsMCArMSw0IEBACis8dGVzdD4KKyAgPHN0cmluZz5oZWxsbyB3b3JsZDwvc3RyaW5nPgorICA8c3RyaW5nPmhlbGxvIHdvcmxkPC9zdHJpbmc+Cis8L3Rlc3Q+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9taXhlZDBfMC54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9taXhlZDBfMC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTg2NDM0MwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL21peGVkMF8wLnhtbApAQCAtMCwwICsxIEBACis8bXk+eDwvbXk+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9taXhlZDBfMC54c2QgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9taXhlZDBfMC54c2QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTgyMjI2ZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL21peGVkMF8wLnhzZApAQCAtMCwwICsxLDUgQEAKKzx4czpzY2hlbWEgeG1sbnM6eHM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hJz4KKyA8eHM6ZWxlbWVudCBuYW1lPSdteSc+CisgIDx4czpjb21wbGV4VHlwZSBtaXhlZD0ndHJ1ZScvPgorIDwveHM6ZWxlbWVudD4KKzwveHM6c2NoZW1hPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvbWl4ZWQxXzAueG1sIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvbWl4ZWQxXzAueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ4Y2Y2MzMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9taXhlZDFfMC54bWwKQEAgLTAsMCArMSBAQAorPG15IG15YXR0cj0neSc+eDwvbXk+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9taXhlZDFfMC54c2QgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9taXhlZDFfMC54c2QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTllYTZjYwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL21peGVkMV8wLnhzZApAQCAtMCwwICsxLDcgQEAKKzx4czpzY2hlbWEgeG1sbnM6eHM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hJz4KKyA8eHM6ZWxlbWVudCBuYW1lPSdteSc+CisgIDx4czpjb21wbGV4VHlwZSBtaXhlZD0ndHJ1ZSc+CisgICA8eHM6YXR0cmlidXRlIG5hbWU9J215YXR0cicgdHlwZT0neHM6c3RyaW5nJyB1c2U9J3JlcXVpcmVkJy8+CisgIDwveHM6Y29tcGxleFR5cGU+CisgPC94czplbGVtZW50PgorPC94czpzY2hlbWE+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9uczBfMC54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9uczBfMC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWNiYWYxZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL25zMF8wLnhtbApAQCAtMCwwICsxLDIgQEAKKzxmb28geG1sbnM9Imh0dHA6Ly9leGFtcGxlLmNvbS94c2QvbnMiIGlkPSJhYmMiLz4KKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvbnMwXzAueHNkIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvbnMwXzAueHNkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM4OTUxZDYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9uczBfMC54c2QKQEAgLTAsMCArMSwxNiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8eHNkOnNjaGVtYSB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIgorCSAgICB0YXJnZXROYW1lc3BhY2U9Imh0dHA6Ly9leGFtcGxlLmNvbS94c2QvbnMiCisgICAgICAgICAgICBlbGVtZW50Rm9ybURlZmF1bHQ9InF1YWxpZmllZCIKKwkgICAgYXR0cmlidXRlRm9ybURlZmF1bHQ9InVucXVhbGlmaWVkIj4KKyAgPHhzZDplbGVtZW50IG5hbWU9ImZvbyI+CisgICAgPHhzZDpjb21wbGV4VHlwZT4KKyAgICAgIDx4c2Q6c2ltcGxlQ29udGVudD4KKyAgICAgICAgPHhzZDpleHRlbnNpb24gYmFzZT0ieHNkOnN0cmluZyI+CisgICAgICAgICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0iaWQiIHR5cGU9InhzZDpJRCIvPgorICAgICAgICA8L3hzZDpleHRlbnNpb24+CisgICAgICA8L3hzZDpzaW1wbGVDb250ZW50PgorICAgIDwveHNkOmNvbXBsZXhUeXBlPgorICA8L3hzZDplbGVtZW50PgorPC94c2Q6c2NoZW1hPgorCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9uczBfMS54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9uczBfMS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjU1MGY1YwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL25zMF8xLnhtbApAQCAtMCwwICsxLDIgQEAKKzxuOmZvbyB4bWxuczpuPSJodHRwOi8vZXhhbXBsZS5jb20veHNkL25zIiBpZD0iYWJjIi8+CisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL25zMF8xLnhzZCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL25zMF8xLnhzZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZjJlNzlhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvbnMwXzEueHNkCkBAIC0wLDAgKzEsMTYgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPHhzZDpzY2hlbWEgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIKKwkgICAgdGFyZ2V0TmFtZXNwYWNlPSJodHRwOi8vZXhhbXBsZS5jb20veHNkL25zIgorICAgICAgICAgICAgZWxlbWVudEZvcm1EZWZhdWx0PSJxdWFsaWZpZWQiCisJICAgIGF0dHJpYnV0ZUZvcm1EZWZhdWx0PSJxdWFsaWZpZWQiPgorICA8eHNkOmVsZW1lbnQgbmFtZT0iZm9vIj4KKyAgICA8eHNkOmNvbXBsZXhUeXBlPgorICAgICAgPHhzZDpzaW1wbGVDb250ZW50PgorICAgICAgICA8eHNkOmV4dGVuc2lvbiBiYXNlPSJ4c2Q6c3RyaW5nIj4KKyAgICAgICAgICA8eHNkOmF0dHJpYnV0ZSBuYW1lPSJpZCIgdHlwZT0ieHNkOklEIi8+CisgICAgICAgIDwveHNkOmV4dGVuc2lvbj4KKyAgICAgIDwveHNkOnNpbXBsZUNvbnRlbnQ+CisgICAgPC94c2Q6Y29tcGxleFR5cGU+CisgIDwveHNkOmVsZW1lbnQ+Cis8L3hzZDpzY2hlbWE+CisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL25zMF8yLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL25zMF8yLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZjJiZGJhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvbnMwXzIueG1sCkBAIC0wLDAgKzEsMiBAQAorPGZvbyBpZD0iYWJjIi8+CisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL25zMF8zLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL25zMF8zLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YzVjMWU0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvbnMwXzMueG1sCkBAIC0wLDAgKzEsMiBAQAorPG46Zm9vIHhtbG5zOm49Imh0dHA6Ly9leGFtcGxlLmNvbS94c2QvbnMiIG46aWQ9ImFiYyIvPgorCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9uczBfNC54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9uczBfNC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGNkZDQxOAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL25zMF80LnhtbApAQCAtMCwwICsxLDMgQEAKKzxsOmZvbyB4bWxuczpsPSJodHRwOi8vZXhhbXBsZS5jb20veHNkL25zIgorICAgICAgIHhtbG5zOmI9Imh0dHA6Ly9leGFtcGxlLmNvbS94c2QvbnMiIGI6aWQ9ImFiYyIvPgorCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9uczFfMC54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9uczFfMC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDEwZWQyNgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL25zMV8wLnhtbApAQCAtMCwwICsxLDIgQEAKKzxteSB4bWxucz0naHR0cDovL215Lm5zLycKKz5zb21lPC9teT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL25zMV8wLnhzZCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL25zMV8wLnhzZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNzdlYzU3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvbnMxXzAueHNkCkBAIC0wLDAgKzEsMyBAQAorPHNjaGVtYSB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEnIHRhcmdldE5hbWVzcGFjZT0naHR0cDovL215Lm5zLyc+CisgPGVsZW1lbnQgbmFtZT0nbXknIHR5cGU9J3N0cmluZycvPgorPC9zY2hlbWE+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9uczJfMC54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9uczJfMC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzNiYjEyNgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL25zMl8wLnhtbApAQCAtMCwwICsxIEBACis8bTpteSB4bWxuczptPSdodHRwOi8vbXkubnMvJyBtOm90aGVyPScxJz5jb250ZW50PC9tOm15PgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvbnMyXzAueHNkIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvbnMyXzAueHNkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkzOTNiZWIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9uczJfMC54c2QKQEAgLTAsMCArMSwxNSBAQAorPHNjaGVtYSB4bWxuczpteT0naHR0cDovL215Lm5zLycKKyAgICAgICAgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hJworCXRhcmdldE5hbWVzcGFjZT0naHR0cDovL215Lm5zLycKKwk+CisgPGF0dHJpYnV0ZSBuYW1lPSdvdGhlcicgdHlwZT0nc3RyaW5nJy8+CisgPGVsZW1lbnQgbmFtZT0nbXknPgorICAgPGNvbXBsZXhUeXBlPgorICAgICA8c2ltcGxlQ29udGVudD4KKyAgICAgICA8ZXh0ZW5zaW9uIGJhc2U9J3N0cmluZyc+CisgICAgICAgICA8YXR0cmlidXRlIHJlZj0nbXk6b3RoZXInLz4KKyAgICAgICA8L2V4dGVuc2lvbj4KKyAgICAgPC9zaW1wbGVDb250ZW50PgorICAgPC9jb21wbGV4VHlwZT4KKyA8L2VsZW1lbnQ+Cis8L3NjaGVtYT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL252ZGN2ZV8wLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL252ZGN2ZV8wLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMGEwYWVkCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvbnZkY3ZlXzAueG1sCkBAIC0wLDAgKzEsNTIzNSBAQAorPD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4KKzxudmQgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM9Imh0dHA6Ly9udmQubmlzdC5nb3YvZmVlZHMvY3ZlLzEuMiIgbnZkX3htbF92ZXJzaW9uPSIxLjIiIHB1Yl9kYXRlPSIyMDA4LTEwLTE3IiB4c2k6c2NoZW1hTG9jYXRpb249Imh0dHA6Ly9udmQubmlzdC5nb3YvZmVlZHMvY3ZlLzEuMiBodHRwOi8vbnZkLm5pc3QuZ292L3NjaGVtYS9udmRjdmUueHNkIj4KKyAgICA8ZW50cnkgQ1ZTU192ZWN0b3I9IihBVjpOL0FDOk0vQXU6Ti9DOlAvSTpQL0E6UCkiIENWU1NfYmFzZV9zY29yZT0iNi44IiBDVlNTX2V4cGxvaXRfc3Vic2NvcmU9IjguNiIgQ1ZTU19pbXBhY3Rfc3Vic2NvcmU9IjYuNCIgbmFtZT0iQ1ZFLTIwMDgtNDUwMyIgc2VxPSIyMDA4LTQ1MDMiIHNldmVyaXR5PSJNZWRpdW0iIHR5cGU9IkNWRSIgcHVibGlzaGVkPSIyMDA4LTEwLTA5IiBDVlNTX3ZlcnNpb249IjIuMCIgQ1ZTU19zY29yZT0iNi44IiBtb2RpZmllZD0iMjAwOC0xMC0xMSI+DQorICAgICAgICA8ZGVzYz4NCisgICAgICAgICAgICA8ZGVzY3JpcHQgc291cmNlPSJjdmUiPlRoZSBTZXR0aW5ncyBNYW5hZ2VyIGluIEFkb2JlIEZsYXNoIFBsYXllciA5LjAuMTI0LjAgYW5kIGVhcmxpZXIgYWxsb3dzIHJlbW90ZSBhdHRhY2tlcnMgdG8gY2F1c2UgdmljdGltcyB0byB1bmtub3dpbmdseSBjbGljayBvbiBhIGxpbmsgb3IgZGlhbG9nIHZpYSBhY2Nlc3MgY29udHJvbCBkaWFsb2dzIGRpc2d1aXNlZCBhcyBub3JtYWwgZ3JhcGhpY2FsIGVsZW1lbnRzLCBhcyBkZW1vbnN0cmF0ZWQgYnkgaGlqYWNraW5nIHRoZSBjYW1lcmEgb3IgbWljcm9waG9uZSwgYW5kIHJlbGF0ZWQgdG8gImNsaWNramFja2luZy4iPC9kZXNjcmlwdD4NCisgICAgICAgIDwvZGVzYz4NCisgICAgICAgIDxsb3NzX3R5cGVzPg0KKyAgICAgICAgICAgIDxhdmFpbCAvPg0KKyAgICAgICAgICAgIDxjb25mIC8+DQorICAgICAgICAgICAgPGludCAvPg0KKyAgICAgICAgPC9sb3NzX3R5cGVzPg0KKyAgICAgICAgPHJhbmdlPg0KKyAgICAgICAgICAgIDxuZXR3b3JrIC8+DQorICAgICAgICAgICAgPHVzZXJfaW5pdCAvPg0KKyAgICAgICAgPC9yYW5nZT4NCisgICAgICAgIDxyZWZzPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJYRiIgdXJsPSJodHRwOi8veGZvcmNlLmlzcy5uZXQveGZvcmNlL3hmZGIvNDU3MjEiPmFkb2JlLWZsYXNoLWNsaWNrLWhpamFja2luZyg0NTcyMSk8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iU0VDVFJBQ0siIHVybD0iaHR0cDovL3d3dy5zZWN1cml0eXRyYWNrZXIuY29tL2lkPzEwMjA5OTYiPjEwMjA5OTY8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQklEIiB1cmw9Imh0dHA6Ly93d3cuc2VjdXJpdHlmb2N1cy5jb20vYmlkLzMxNjI1Ij4zMTYyNTwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJGUlNJUlQiIHVybD0iaHR0cDovL3d3dy5mcnNpcnQuY29tL2VuZ2xpc2gvYWR2aXNvcmllcy8yMDA4LzI3NjQiPkFEVi0yMDA4LTI3NjQ8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQ09ORklSTSIgdXJsPSJodHRwOi8vd3d3LmFkb2JlLmNvbS9zdXBwb3J0L3NlY3VyaXR5L2Fkdmlzb3JpZXMvYXBzYTA4LTA4Lmh0bWwiIGFkdj0iMSI+aHR0cDovL3d3dy5hZG9iZS5jb20vc3VwcG9ydC9zZWN1cml0eS9hZHZpc29yaWVzL2Fwc2EwOC0wOC5odG1sPC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IlNFQ1VOSUEiIHVybD0iaHR0cDovL3NlY3VuaWEuY29tL2Fkdmlzb3JpZXMvMzIxNjMiIGFkdj0iMSI+MzIxNjM8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iTUlTQyIgdXJsPSJodHRwOi8vaGEuY2tlcnMub3JnL2Jsb2cvMjAwODEwMDcvY2xpY2tqYWNraW5nLWRldGFpbHMvIj5odHRwOi8vaGEuY2tlcnMub3JnL2Jsb2cvMjAwODEwMDcvY2xpY2tqYWNraW5nLWRldGFpbHMvPC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9Ik1JU0MiIHVybD0iaHR0cDovL2Jsb2cuZ3V5YS5uZXQvMjAwOC8xMC8wNy9tYWxpY2lvdXMtY2FtZXJhLXNweWluZy11c2luZy1jbGlja2phY2tpbmcvIj5odHRwOi8vYmxvZy5ndXlhLm5ldC8yMDA4LzEwLzA3L21hbGljaW91cy1jYW1lcmEtc3B5aW5nLXVzaW5nLWNsaWNramFja2luZy88L3JlZj4NCisgICAgICAgIDwvcmVmcz4NCisgICAgICAgIDx2dWxuX3NvZnQ+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJhZG9iZSIgbmFtZT0iZmxhc2hfcGxheWVyIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI3IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjcuMCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI3LjAuMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI3LjAuMjUiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249IiIgbnVtPSI3LjAuNjMiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249IjpsaW51eCIgbnVtPSI3LjAuNjMiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNy4wLjY5LjAiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNy4wLjcwLjAiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249IiIgbnVtPSI3LjBfcjY3IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSI6c29sYXJpcyIgbnVtPSI3LjBfcjY3IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjcuMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI3LjEuMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI3LjIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249IiIgbnVtPSI4IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSI6cHJvZmVzc2lvbmFsIiBudW09IjgiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249Ijpwcm8iIG51bT0iOCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI4LjAiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iOC4wLjI0LjAiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iOC4wLjM0LjAiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iOC4wLjM1LjAiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iOC4wLjM5LjAiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iOSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI5LjAuMTE0LjAiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iOS4wLjExNS4wIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjkuMC4xMjQuMCIgcHJldj0iMSIgLz4NCisgICAgICAgICAgICA8L3Byb2Q+DQorICAgICAgICA8L3Z1bG5fc29mdD4NCisgICAgPC9lbnRyeT4KKyAgICA8ZW50cnkgQ1ZTU192ZWN0b3I9IihBVjpOL0FDOk0vQXU6Ti9DOlAvSTpQL0E6UCkiIENWU1NfYmFzZV9zY29yZT0iNi44IiBDVlNTX2V4cGxvaXRfc3Vic2NvcmU9IjguNiIgQ1ZTU19pbXBhY3Rfc3Vic2NvcmU9IjYuNCIgbmFtZT0iQ1ZFLTIwMDgtNDUwNCIgc2VxPSIyMDA4LTQ1MDQiIHNldmVyaXR5PSJNZWRpdW0iIHR5cGU9IkNWRSIgcHVibGlzaGVkPSIyMDA4LTEwLTA5IiBDVlNTX3ZlcnNpb249IjIuMCIgQ1ZTU19zY29yZT0iNi44IiBtb2RpZmllZD0iMjAwOC0xMC0wOSI+DQorICAgICAgICA8ZGVzYz4NCisgICAgICAgICAgICA8ZGVzY3JpcHQgc291cmNlPSJjdmUiPkhlYXAtYmFzZWQgYnVmZmVyIG92ZXJmbG93IGluIE1wbGF5ZXIuZXhlIGluIEhlcm9zb2Z0IEluYy4gSGVybyBEVkQgUGxheWVyIDMuMC44IGFsbG93cyB1c2VyLWFzc2lzdGVkIHJlbW90ZSBhdHRhY2tlcnMgdG8gZXhlY3V0ZSBhcmJpdHJhcnkgY29kZSB2aWEgYW4gTTN1IGZpbGUgd2l0aCBhICJsb25nIGVudHJ5LiIgTk9URTogdGhlIHByb3ZlbmFuY2Ugb2YgdGhpcyBpbmZvcm1hdGlvbiBpcyB1bmtub3duOyB0aGUgZGV0YWlscyBhcmUgb2J0YWluZWQgc29sZWx5IGZyb20gdGhpcmQgcGFydHkgaW5mb3JtYXRpb24uPC9kZXNjcmlwdD4NCisgICAgICAgIDwvZGVzYz4NCisgICAgICAgIDxsb3NzX3R5cGVzPg0KKyAgICAgICAgICAgIDxhdmFpbCAvPg0KKyAgICAgICAgICAgIDxjb25mIC8+DQorICAgICAgICAgICAgPGludCAvPg0KKyAgICAgICAgICAgIDxzZWNfcHJvdCBvdGhlcj0iMSIgLz4NCisgICAgICAgIDwvbG9zc190eXBlcz4NCisgICAgICAgIDxyYW5nZT4NCisgICAgICAgICAgICA8bmV0d29yayAvPg0KKyAgICAgICAgICAgIDx1c2VyX2luaXQgLz4NCisgICAgICAgIDwvcmFuZ2U+DQorICAgICAgICA8cmVmcz4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQklEIiB1cmw9Imh0dHA6Ly93d3cuc2VjdXJpdHlmb2N1cy5jb20vYmlkLzMxNjI3Ij4zMTYyNzwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJTRUNVTklBIiB1cmw9Imh0dHA6Ly9zZWN1bmlhLmNvbS9hZHZpc29yaWVzLzMxOTMzIiBhZHY9IjEiPjMxOTMzPC9yZWY+DQorICAgICAgICA8L3JlZnM+DQorICAgICAgICA8dnVsbl9zb2Z0Pg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0iaGVyb3NvZnQiIG5hbWU9Imhlcm9fZHZkX3BsYXllciI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMy4wLjgiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgPC92dWxuX3NvZnQ+DQorICAgIDwvZW50cnk+CisgICAgPGVudHJ5IENWU1NfdmVjdG9yPSIoQVY6Ti9BQzpML0F1Ok4vQzpOL0k6Ti9BOkMpIiBDVlNTX2Jhc2Vfc2NvcmU9IjcuOCIgQ1ZTU19leHBsb2l0X3N1YnNjb3JlPSIxMC4wIiBDVlNTX2ltcGFjdF9zdWJzY29yZT0iNi45IiBuYW1lPSJDVkUtMjAwOC00NTA1IiBzZXE9IjIwMDgtNDUwNSIgc2V2ZXJpdHk9IkhpZ2giIHR5cGU9IkNWRSIgcHVibGlzaGVkPSIyMDA4LTEwLTA5IiBDVlNTX3ZlcnNpb249IjIuMCIgQ1ZTU19zY29yZT0iNy44IiBtb2RpZmllZD0iMjAwOC0xMC0wOSI+DQorICAgICAgICA8ZGVzYz4NCisgICAgICAgICAgICA8ZGVzY3JpcHQgc291cmNlPSJjdmUiPlVuc3BlY2lmaWVkIHZ1bG5lcmFiaWxpdHkgaW4gSUJNIExvdHVzIFF1aWNrciA4LjEgYmVmb3JlIEZpeCBwYWNrIDEgKDguMS4wLjEpIG1pZ2h0IGFsbG93IGF0dGFja2VycyB0byBjYXVzZSBhIGRlbmlhbCBvZiBzZXJ2aWNlIChzeXN0ZW0gY3Jhc2gpIHZpYSBhICJub25zdGFuZGFyZCBVUkwgYXJndW1lbnQiIHRvIHRoZSBPcGVuRG9jdW1lbnQgY29tbWFuZC4gTk9URTogZHVlIHRvIGxhY2sgb2YgZGV0YWlscyBmcm9tIHRoZSB2ZW5kb3IsIGl0IGlzIG5vdCBjbGVhciB3aGV0aGVyIHRoaXMgaXMgYSB2dWxuZXJhYmlsaXR5LjwvZGVzY3JpcHQ+DQorICAgICAgICA8L2Rlc2M+DQorICAgICAgICA8bG9zc190eXBlcz4NCisgICAgICAgICAgICA8YXZhaWwgLz4NCisgICAgICAgIDwvbG9zc190eXBlcz4NCisgICAgICAgIDxyYW5nZT4NCisgICAgICAgICAgICA8bmV0d29yayAvPg0KKyAgICAgICAgPC9yYW5nZT4NCisgICAgICAgIDxyZWZzPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJYRiIgdXJsPSJodHRwOi8veGZvcmNlLmlzcy5uZXQveGZvcmNlL3hmZGIvNDU2OTIiPmxvdHVzLXF1aWNrci1vcGVuZG9jdW1lbnQtZG9zKDQ1NjkyKTwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJCSUQiIHVybD0iaHR0cDovL3d3dy5zZWN1cml0eWZvY3VzLmNvbS9iaWQvMzE2MDgiPjMxNjA4PC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkZSU0lSVCIgdXJsPSJodHRwOi8vd3d3LmZyc2lydC5jb20vZW5nbGlzaC9hZHZpc29yaWVzLzIwMDgvMjc1MyIgYWR2PSIxIj5BRFYtMjAwOC0yNzUzPC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkNPTkZJUk0iIHVybD0iaHR0cDovL3d3dy0wMS5pYm0uY29tL3N1cHBvcnQvZG9jdmlldy53c3M/dWlkPXN3ZzI3MDEzMzQxIj5odHRwOi8vd3d3LTAxLmlibS5jb20vc3VwcG9ydC9kb2N2aWV3Lndzcz91aWQ9c3dnMjcwMTMzNDE8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iU0VDVU5JQSIgdXJsPSJodHRwOi8vc2VjdW5pYS5jb20vYWR2aXNvcmllcy8zMjA5OCIgYWR2PSIxIj4zMjA5ODwvcmVmPg0KKyAgICAgICAgPC9yZWZzPg0KKyAgICAgICAgPHZ1bG5fc29mdD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9ImlibSIgbmFtZT0ibG90dXNfcXVpY2tyIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI4LjEiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgPC92dWxuX3NvZnQ+DQorICAgIDwvZW50cnk+CisgICAgPGVudHJ5IENWU1NfdmVjdG9yPSIoQVY6Ti9BQzpML0F1Ok4vQzpQL0k6UC9BOlApIiBDVlNTX2Jhc2Vfc2NvcmU9IjcuNSIgQ1ZTU19leHBsb2l0X3N1YnNjb3JlPSIxMC4wIiBDVlNTX2ltcGFjdF9zdWJzY29yZT0iNi40IiBuYW1lPSJDVkUtMjAwOC00NTA2IiBzZXE9IjIwMDgtNDUwNiIgc2V2ZXJpdHk9IkhpZ2giIHR5cGU9IkNWRSIgcHVibGlzaGVkPSIyMDA4LTEwLTA5IiBDVlNTX3ZlcnNpb249IjIuMCIgQ1ZTU19zY29yZT0iNy41IiBtb2RpZmllZD0iMjAwOC0xMC0xMSI+DQorICAgICAgICA8ZGVzYz4NCisgICAgICAgICAgICA8ZGVzY3JpcHQgc291cmNlPSJjdmUiPlVuc3BlY2lmaWVkIHZ1bG5lcmFiaWxpdHkgaW4gSUJNIExvdHVzIFF1aWNrciA4LjEgYmVmb3JlIEZpeCBwYWNrIDEgKDguMS4wLjEpIGFsbG93cyBhIHBsYWNlIG1hbmFnZXIgdG8gImRlbW90ZSBvciBkZWxldGUgYSBwbGFjZSBzdXBlcnVzZXIgZ3JvdXAiIHZpYSB1bmtub3duIHZlY3RvcnMuPC9kZXNjcmlwdD4NCisgICAgICAgIDwvZGVzYz4NCisgICAgICAgIDxsb3NzX3R5cGVzPg0KKyAgICAgICAgICAgIDxhdmFpbCAvPg0KKyAgICAgICAgICAgIDxjb25mIC8+DQorICAgICAgICAgICAgPGludCAvPg0KKyAgICAgICAgICAgIDxzZWNfcHJvdCBvdGhlcj0iMSIgLz4NCisgICAgICAgIDwvbG9zc190eXBlcz4NCisgICAgICAgIDxyYW5nZT4NCisgICAgICAgICAgICA8bmV0d29yayAvPg0KKyAgICAgICAgPC9yYW5nZT4NCisgICAgICAgIDxyZWZzPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJYRiIgdXJsPSJodHRwOi8veGZvcmNlLmlzcy5uZXQveGZvcmNlL3hmZGIvNDU2OTQiPmxvdHVzLXF1aWNrci1wbGFjZW1hbmFnZXItc2VjdXJpdHktYnlwYXNzKDQ1Njk0KTwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJCSUQiIHVybD0iaHR0cDovL3d3dy5zZWN1cml0eWZvY3VzLmNvbS9iaWQvMzE2MDgiPjMxNjA4PC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkZSU0lSVCIgdXJsPSJodHRwOi8vd3d3LmZyc2lydC5jb20vZW5nbGlzaC9hZHZpc29yaWVzLzIwMDgvMjc1MyIgYWR2PSIxIj5BRFYtMjAwOC0yNzUzPC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkNPTkZJUk0iIHVybD0iaHR0cDovL3d3dy0wMS5pYm0uY29tL3N1cHBvcnQvZG9jdmlldy53c3M/dWlkPXN3ZzI3MDEzMzQxIj5odHRwOi8vd3d3LTAxLmlibS5jb20vc3VwcG9ydC9kb2N2aWV3Lndzcz91aWQ9c3dnMjcwMTMzNDE8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iU0VDVU5JQSIgdXJsPSJodHRwOi8vc2VjdW5pYS5jb20vYWR2aXNvcmllcy8zMjA5OCIgYWR2PSIxIj4zMjA5ODwvcmVmPg0KKyAgICAgICAgPC9yZWZzPg0KKyAgICAgICAgPHZ1bG5fc29mdD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9ImlibSIgbmFtZT0ibG90dXNfcXVpY2tyIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI4LjEiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgPC92dWxuX3NvZnQ+DQorICAgIDwvZW50cnk+CisgICAgPGVudHJ5IENWU1NfdmVjdG9yPSIoQVY6Ti9BQzpML0F1Ok4vQzpQL0k6UC9BOlApIiBDVlNTX2Jhc2Vfc2NvcmU9IjcuNSIgQ1ZTU19leHBsb2l0X3N1YnNjb3JlPSIxMC4wIiBDVlNTX2ltcGFjdF9zdWJzY29yZT0iNi40IiBuYW1lPSJDVkUtMjAwOC00NTA3IiBzZXE9IjIwMDgtNDUwNyIgc2V2ZXJpdHk9IkhpZ2giIHR5cGU9IkNWRSIgcHVibGlzaGVkPSIyMDA4LTEwLTA5IiBDVlNTX3ZlcnNpb249IjIuMCIgQ1ZTU19zY29yZT0iNy41IiBtb2RpZmllZD0iMjAwOC0xMC0wOSI+DQorICAgICAgICA8ZGVzYz4NCisgICAgICAgICAgICA8ZGVzY3JpcHQgc291cmNlPSJjdmUiPlVuc3BlY2lmaWVkIHZ1bG5lcmFiaWxpdHkgaW4gSUJNIExvdHVzIFF1aWNrciA4LjEgYmVmb3JlIEZpeCBwYWNrIDEgKDguMS4wLjEpIGFsbG93cyBlZGl0b3JzIHRvIGRlbGV0ZSBwYWdlcyB0aGF0IHdlcmUgY3JlYXRlZCBieSBhIGRpZmZlcmVudCBhdXRob3IgdmlhIHVua25vd24gdmVjdG9ycy48L2Rlc2NyaXB0Pg0KKyAgICAgICAgPC9kZXNjPg0KKyAgICAgICAgPGxvc3NfdHlwZXM+DQorICAgICAgICAgICAgPGF2YWlsIC8+DQorICAgICAgICAgICAgPGNvbmYgLz4NCisgICAgICAgICAgICA8aW50IC8+DQorICAgICAgICA8L2xvc3NfdHlwZXM+DQorICAgICAgICA8cmFuZ2U+DQorICAgICAgICAgICAgPG5ldHdvcmsgLz4NCisgICAgICAgIDwvcmFuZ2U+DQorICAgICAgICA8cmVmcz4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iWEYiIHVybD0iaHR0cDovL3hmb3JjZS5pc3MubmV0L3hmb3JjZS94ZmRiLzQ1NjkzIj5sb3R1cy1xdWlja3ItZWRpdG9yLXNlY3VyaXR5LWJ5cGFzcyg0NTY5Myk8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQklEIiB1cmw9Imh0dHA6Ly93d3cuc2VjdXJpdHlmb2N1cy5jb20vYmlkLzMxNjA4Ij4zMTYwODwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJGUlNJUlQiIHVybD0iaHR0cDovL3d3dy5mcnNpcnQuY29tL2VuZ2xpc2gvYWR2aXNvcmllcy8yMDA4LzI3NTMiIGFkdj0iMSI+QURWLTIwMDgtMjc1MzwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJDT05GSVJNIiB1cmw9Imh0dHA6Ly93d3ctMDEuaWJtLmNvbS9zdXBwb3J0L2RvY3ZpZXcud3NzP3VpZD1zd2cyNzAxMzM0MSI+aHR0cDovL3d3dy0wMS5pYm0uY29tL3N1cHBvcnQvZG9jdmlldy53c3M/dWlkPXN3ZzI3MDEzMzQxPC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IlNFQ1VOSUEiIHVybD0iaHR0cDovL3NlY3VuaWEuY29tL2Fkdmlzb3JpZXMvMzIwOTgiIGFkdj0iMSI+MzIwOTg8L3JlZj4NCisgICAgICAgIDwvcmVmcz4NCisgICAgICAgIDx2dWxuX3NvZnQ+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJpYm0iIG5hbWU9ImxvdHVzX3F1aWNrciI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iOC4xIiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgIDwvdnVsbl9zb2Z0Pg0KKyAgICA8L2VudHJ5PgorICAgIDxlbnRyeSBDVlNTX3ZlY3Rvcj0iKEFWOk4vQUM6TC9BdTpOL0M6Ti9JOk4vQTpDKSIgQ1ZTU19iYXNlX3Njb3JlPSI3LjgiIENWU1NfZXhwbG9pdF9zdWJzY29yZT0iMTAuMCIgQ1ZTU19pbXBhY3Rfc3Vic2NvcmU9IjYuOSIgbmFtZT0iQ1ZFLTIwMDgtNDUwOCIgc2VxPSIyMDA4LTQ1MDgiIHNldmVyaXR5PSJIaWdoIiB0eXBlPSJDVkUiIHB1Ymxpc2hlZD0iMjAwOC0xMC0wOSIgQ1ZTU192ZXJzaW9uPSIyLjAiIENWU1Nfc2NvcmU9IjcuOCIgbW9kaWZpZWQ9IjIwMDgtMTAtMDkiPg0KKyAgICAgICAgPGRlc2M+DQorICAgICAgICAgICAgPGRlc2NyaXB0IHNvdXJjZT0iY3ZlIj5TdGFjay1iYXNlZCBidWZmZXIgb3ZlcmZsb3cgaW4gdGhlIGZpbGUgcGFyc2luZyBmdW5jdGlvbiBpbiBUb25lYyBJbnRlcm5ldCBEb3dubG9hZCBNYW5hZ2VyLCBwb3NzaWJseSA1LjE0IGFuZCBlYXJsaWVyLCBhbGxvd3MgcmVtb3RlIGF0dGFja2VycyB0byBjYXVzZSBhIGRlbmlhbCBvZiBzZXJ2aWNlIChjcmFzaCkgYW5kIHBvc3NpYmx5IGV4ZWN1dGUgYXJiaXRyYXJ5IGNvZGUgdmlhIGEgY3JhZnRlZCBBcHBsZURvdWJsZSBmaWxlIGNvbnRhaW5pbmcgYSBsb25nIHN0cmluZy4gIE5PVEU6IHRoaXMgaXMgcHJvYmFibHkgYSBkaWZmZXJlbnQgdnVsbmVyYWJpbGl0eSB0aGFuIENWRS0yMDA1LTIyMTAuPC9kZXNjcmlwdD4NCisgICAgICAgIDwvZGVzYz4NCisgICAgICAgIDxsb3NzX3R5cGVzPg0KKyAgICAgICAgICAgIDxhdmFpbCAvPg0KKyAgICAgICAgPC9sb3NzX3R5cGVzPg0KKyAgICAgICAgPHJhbmdlPg0KKyAgICAgICAgICAgIDxuZXR3b3JrIC8+DQorICAgICAgICA8L3JhbmdlPg0KKyAgICAgICAgPHJlZnM+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IlhGIiB1cmw9Imh0dHA6Ly94Zm9yY2UuaXNzLm5ldC94Zm9yY2UveGZkYi80NTcxMSI+aW50ZXJuZXRkb3dubG9hZG1hbmFnZXItZmlsZS1ibyg0NTcxMSk8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQklEIiB1cmw9Imh0dHA6Ly93d3cuc2VjdXJpdHlmb2N1cy5jb20vYmlkLzMxNjAzIj4zMTYwMzwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJNSVNDIiB1cmw9Imh0dHA6Ly9kb3dubG9hZHMuc2VjdXJpdHlmb2N1cy5jb20vdnVsbmVyYWJpbGl0aWVzL2V4cGxvaXRzLzMxNjAzLnBsIj5odHRwOi8vZG93bmxvYWRzLnNlY3VyaXR5Zm9jdXMuY29tL3Z1bG5lcmFiaWxpdGllcy9leHBsb2l0cy8zMTYwMy5wbDwvcmVmPg0KKyAgICAgICAgPC9yZWZzPg0KKyAgICAgICAgPHZ1bG5fc29mdD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9InRvbmVjX2luYy4iIG5hbWU9ImludGVybmV0X2Rvd25sb2FkX21hbmFnZXIiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjUuMTQiIHByZXY9IjEiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgPC92dWxuX3NvZnQ+DQorICAgIDwvZW50cnk+CisgICAgPGVudHJ5IENWU1NfdmVjdG9yPSIoQVY6Ti9BQzpML0F1Ok4vQzpDL0k6Qy9BOkMpIiBDVlNTX2Jhc2Vfc2NvcmU9IjEwLjAiIENWU1NfZXhwbG9pdF9zdWJzY29yZT0iMTAuMCIgQ1ZTU19pbXBhY3Rfc3Vic2NvcmU9IjEwLjAiIG5hbWU9IkNWRS0yMDA4LTQ1MDkiIHNlcT0iMjAwOC00NTA5IiBzZXZlcml0eT0iSGlnaCIgdHlwZT0iQ1ZFIiBwdWJsaXNoZWQ9IjIwMDgtMTAtMDkiIENWU1NfdmVyc2lvbj0iMi4wIiBDVlNTX3Njb3JlPSIxMC4wIiBtb2RpZmllZD0iMjAwOC0xMC0wOSI+DQorICAgICAgICA8ZGVzYz4NCisgICAgICAgICAgICA8ZGVzY3JpcHQgc291cmNlPSJjdmUiPlVucmVzdHJpY3RlZCBmaWxlIHVwbG9hZCB2dWxuZXJhYmlsaXR5IGluIHByb2Nlc3NGaWxlcy5waHAgaW4gRk9TUyBHYWxsZXJ5IEFkbWluIGFuZCBGT1NTIEdhbGxlcnkgUHVibGljIDEuMCBiZXRhIGFsbG93cyByZW1vdGUgYXR0YWNrZXJzIHRvIGV4ZWN1dGUgYXJiaXRyYXJ5IGNvZGUgYnkgdXBsb2FkaW5nIGEgZmlsZSB3aXRoIGFuIGV4ZWN1dGFibGUgZXh0ZW5zaW9uLCB0aGVuIGFjY2Vzc2luZyBpdCB2aWEgYSBkaXJlY3QgcmVxdWVzdCB0byB0aGUgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3RvcnkuPC9kZXNjcmlwdD4NCisgICAgICAgIDwvZGVzYz4NCisgICAgICAgIDxsb3NzX3R5cGVzPg0KKyAgICAgICAgICAgIDxhdmFpbCAvPg0KKyAgICAgICAgICAgIDxjb25mIC8+DQorICAgICAgICAgICAgPGludCAvPg0KKyAgICAgICAgICAgIDxzZWNfcHJvdCBhZG1pbj0iMSIgLz4NCisgICAgICAgIDwvbG9zc190eXBlcz4NCisgICAgICAgIDxyYW5nZT4NCisgICAgICAgICAgICA8bmV0d29yayAvPg0KKyAgICAgICAgPC9yYW5nZT4NCisgICAgICAgIDxyZWZzPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJYRiIgdXJsPSJodHRwOi8veGZvcmNlLmlzcy5uZXQveGZvcmNlL3hmZGIvNDU2ODMiPmZvc3NnYWxsZXJ5LW11bHRpcGxlLWZpbGUtdXBsb2FkKDQ1NjgzKTwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJCSUQiIHVybD0iaHR0cDovL3d3dy5zZWN1cml0eWZvY3VzLmNvbS9iaWQvMzE1NzQiPjMxNTc0PC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9Ik1JTFcwUk0iIHVybD0iaHR0cDovL3d3dy5taWx3MHJtLmNvbS9leHBsb2l0cy82NjgwIj42NjgwPC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9Ik1JTFcwUk0iIHVybD0iaHR0cDovL3d3dy5taWx3MHJtLmNvbS9leHBsb2l0cy82Njc0Ij42Njc0PC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9Ik1JTFcwUk0iIHVybD0iaHR0cDovL3d3dy5taWx3MHJtLmNvbS9leHBsb2l0cy82NjcwIj42NjcwPC9yZWY+DQorICAgICAgICA8L3JlZnM+DQorICAgICAgICA8dnVsbl9zb2Z0Pg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0iZm9zc19nYWxsZXJ5IiBuYW1lPSJmb3NzX2dhbGxlcnkiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJiZXRhIiBudW09IjEuMCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iYmV0YTpwdWJsaWMiIG51bT0iMS4wIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJiZXRhOmFkbWluIiBudW09IjEuMCIgLz4NCisgICAgICAgICAgICA8L3Byb2Q+DQorICAgICAgICA8L3Z1bG5fc29mdD4NCisgICAgPC9lbnRyeT4KKyAgICA8ZW50cnkgQ1ZTU192ZWN0b3I9IihBVjpML0FDOkwvQXU6Ti9DOk4vSTpOL0E6QykiIENWU1NfYmFzZV9zY29yZT0iNC45IiBDVlNTX2V4cGxvaXRfc3Vic2NvcmU9IjMuOSIgQ1ZTU19pbXBhY3Rfc3Vic2NvcmU9IjYuOSIgbmFtZT0iQ1ZFLTIwMDgtNDUxMCIgc2VxPSIyMDA4LTQ1MTAiIHNldmVyaXR5PSJNZWRpdW0iIHR5cGU9IkNWRSIgcHVibGlzaGVkPSIyMDA4LTEwLTA5IiBDVlNTX3ZlcnNpb249IjIuMCIgQ1ZTU19zY29yZT0iNC45IiBtb2RpZmllZD0iMjAwOC0xMC0wOSI+DQorICAgICAgICA8ZGVzYz4NCisgICAgICAgICAgICA8ZGVzY3JpcHQgc291cmNlPSJjdmUiPk1pY3Jvc29mdCBXaW5kb3dzIFZpc3RhIEhvbWUgYW5kIFVsdGltYXRlIEVkaXRpb24gU1AxIGFuZCBlYXJsaWVyIGFsbG93cyBsb2NhbCB1c2VycyB0byBjYXVzZSBhIGRlbmlhbCBvZiBzZXJ2aWNlIChwYWdlIGZhdWx0IGFuZCBzeXN0ZW0gY3Jhc2gpIHZpYSBtdWx0aXBsZSBhdHRlbXB0cyB0byBhY2Nlc3MgYSB2aXJ0dWFsIGFkZHJlc3MgaW4gYSBQQUdFX05PQUNDRVNTIG1lbW9yeSBwYWdlLjwvZGVzY3JpcHQ+DQorICAgICAgICA8L2Rlc2M+DQorICAgICAgICA8bG9zc190eXBlcz4NCisgICAgICAgICAgICA8YXZhaWwgLz4NCisgICAgICAgIDwvbG9zc190eXBlcz4NCisgICAgICAgIDxyYW5nZT4NCisgICAgICAgICAgICA8bG9jYWwgLz4NCisgICAgICAgIDwvcmFuZ2U+DQorICAgICAgICA8cmVmcz4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQklEIiB1cmw9Imh0dHA6Ly93d3cuc2VjdXJpdHlmb2N1cy5jb20vYmlkLzMxNTcwIj4zMTU3MDwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJNSUxXMFJNIiB1cmw9Imh0dHA6Ly93d3cubWlsdzBybS5jb20vZXhwbG9pdHMvNjY3MSI+NjY3MTwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJTRUNVTklBIiB1cmw9Imh0dHA6Ly9zZWN1bmlhLmNvbS9hZHZpc29yaWVzLzMyMTE1IiBhZHY9IjEiPjMyMTE1PC9yZWY+DQorICAgICAgICA8L3JlZnM+DQorICAgICAgICA8dnVsbl9zb2Z0Pg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0ibWljcm9zb2Z0IiBuYW1lPSJ3aW5kb3dzLW50Ij4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iIiBudW09InZpc3RhIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSI6aG9tZV9wcmVtaXVtIiBudW09InZpc3RhIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSI6eDY0LWhvbWVfcHJlbWl1bSIgbnVtPSJ2aXN0YSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iOng2NC11bHRpbWF0ZSIgbnVtPSJ2aXN0YSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0ic3AxIiBudW09InZpc3RhIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJzcDE6eDY0LWhvbWVfcHJlbWl1bSIgbnVtPSJ2aXN0YSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0ic3AxOnVsdGltYXRlIiBudW09InZpc3RhIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJzcDE6eDY0LXVsdGltYXRlIiBudW09InZpc3RhIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJzcDE6aG9tZV9wcmVtaXVtIiBudW09InZpc3RhIiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgIDwvdnVsbl9zb2Z0Pg0KKyAgICA8L2VudHJ5PgorICAgIDxlbnRyeSBDVlNTX3ZlY3Rvcj0iKEFWOk4vQUM6TC9BdTpOL0M6UC9JOk4vQTpOKSIgQ1ZTU19iYXNlX3Njb3JlPSI1LjAiIENWU1NfZXhwbG9pdF9zdWJzY29yZT0iMTAuMCIgQ1ZTU19pbXBhY3Rfc3Vic2NvcmU9IjIuOSIgbmFtZT0iQ1ZFLTIwMDgtNDUxMSIgc2VxPSIyMDA4LTQ1MTEiIHNldmVyaXR5PSJNZWRpdW0iIHR5cGU9IkNWRSIgcHVibGlzaGVkPSIyMDA4LTEwLTA5IiBDVlNTX3ZlcnNpb249IjIuMCIgQ1ZTU19zY29yZT0iNS4wIiBtb2RpZmllZD0iMjAwOC0xMC0wOSI+DQorICAgICAgICA8ZGVzYz4NCisgICAgICAgICAgICA8ZGVzY3JpcHQgc291cmNlPSJjdmUiPlRvZGQgV29vbHVtcyBBU1AgTmV3cyBNYW5hZ2VtZW50LCBwb3NzaWJseSAyLjIxLCBzdG9yZXMgZGIvbmV3cy5tZGIgdW5kZXIgdGhlIHdlYiByb290IHdpdGggaW5zdWZmaWNpZW50IGFjY2VzcyBjb250cm9sLCB3aGljaCBhbGxvd3MgcmVtb3RlIGF0dGFja2VycyB0byBvYnRhaW4gc2Vuc2l0aXZlIGluZm9ybWF0aW9uIHZpYSBhIGRpcmVjdCByZXF1ZXN0LjwvZGVzY3JpcHQ+DQorICAgICAgICA8L2Rlc2M+DQorICAgICAgICA8bG9zc190eXBlcz4NCisgICAgICAgICAgICA8Y29uZiAvPg0KKyAgICAgICAgPC9sb3NzX3R5cGVzPg0KKyAgICAgICAgPHJhbmdlPg0KKyAgICAgICAgICAgIDxuZXR3b3JrIC8+DQorICAgICAgICA8L3JhbmdlPg0KKyAgICAgICAgPHJlZnM+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkJVR1RSQVEiIHVybD0iaHR0cDovL3d3dy5zZWN1cml0eWZvY3VzLmNvbS9hcmNoaXZlLzEvYXJjaGl2ZS8xLzQ5Njc4Ny8xMDAvMC90aHJlYWRlZCI+MjAwODA5MjcgQVNQIE5ld3MgUmVtb3RlIFBhc3N3b3JkIERpc2Nsb3VzZSBWdWxuZXJhYmlsaXR5PC9yZWY+DQorICAgICAgICA8L3JlZnM+DQorICAgICAgICA8dnVsbl9zb2Z0Pg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0idG9kZF93b29sdW1zIiBuYW1lPSJhc3BfbmV3c19tYW5hZ2VtZW50Ij4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjIxIiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgIDwvdnVsbl9zb2Z0Pg0KKyAgICA8L2VudHJ5PgorICAgIDxlbnRyeSBDVlNTX3ZlY3Rvcj0iKEFWOk4vQUM6TC9BdTpOL0M6UC9JOk4vQTpOKSIgQ1ZTU19iYXNlX3Njb3JlPSI1LjAiIENWU1NfZXhwbG9pdF9zdWJzY29yZT0iMTAuMCIgQ1ZTU19pbXBhY3Rfc3Vic2NvcmU9IjIuOSIgbmFtZT0iQ1ZFLTIwMDgtNDUxMiIgc2VxPSIyMDA4LTQ1MTIiIHNldmVyaXR5PSJNZWRpdW0iIHR5cGU9IkNWRSIgcHVibGlzaGVkPSIyMDA4LTEwLTA5IiBDVlNTX3ZlcnNpb249IjIuMCIgQ1ZTU19zY29yZT0iNS4wIiBtb2RpZmllZD0iMjAwOC0xMC0wOSI+DQorICAgICAgICA8ZGVzYz4NCisgICAgICAgICAgICA8ZGVzY3JpcHQgc291cmNlPSJjdmUiPkFTUC9NUyBBY2Nlc3MgU2hvdXRib3gsIHByb2JhYmx5IDEuMSBiZXRhLCBzdG9yZXMgZGIvc2hvdXRkYi5tZGIgdW5kZXIgdGhlIHdlYiByb290IHdpdGggaW5zdWZmaWNpZW50IGFjY2VzcyBjb250cm9sLCB3aGljaCBhbGxvd3MgcmVtb3RlIGF0dGFja2VycyB0byBvYnRhaW4gc2Vuc2l0aXZlIGluZm9ybWF0aW9uIHZpYSBhIGRpcmVjdCByZXF1ZXN0LjwvZGVzY3JpcHQ+DQorICAgICAgICA8L2Rlc2M+DQorICAgICAgICA8bG9zc190eXBlcz4NCisgICAgICAgICAgICA8Y29uZiAvPg0KKyAgICAgICAgPC9sb3NzX3R5cGVzPg0KKyAgICAgICAgPHJhbmdlPg0KKyAgICAgICAgICAgIDxuZXR3b3JrIC8+DQorICAgICAgICA8L3JhbmdlPg0KKyAgICAgICAgPHJlZnM+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkJVR1RSQVEiIHVybD0iaHR0cDovL3d3dy5zZWN1cml0eWZvY3VzLmNvbS9hcmNoaXZlLzEvYXJjaGl2ZS8xLzQ5Njc4OS8xMDAvMC90aHJlYWRlZCI+MjAwODA5Mjcgc2hvdXRib3ggUmVtb3RlIFBhc3N3b3JkIERpc2Nsb3VzZSBWdWxuZXJhYmlsaXR5PC9yZWY+DQorICAgICAgICA8L3JlZnM+DQorICAgIDwvZW50cnk+CisgICAgPGVudHJ5IENWU1NfdmVjdG9yPSIoQVY6Ti9BQzpNL0F1Ok4vQzpOL0k6UC9BOk4pIiBDVlNTX2Jhc2Vfc2NvcmU9IjQuMyIgQ1ZTU19leHBsb2l0X3N1YnNjb3JlPSI4LjYiIENWU1NfaW1wYWN0X3N1YnNjb3JlPSIyLjkiIG5hbWU9IkNWRS0yMDA4LTQ1MTMiIHNlcT0iMjAwOC00NTEzIiBzZXZlcml0eT0iTWVkaXVtIiB0eXBlPSJDVkUiIHB1Ymxpc2hlZD0iMjAwOC0xMC0wOSIgQ1ZTU192ZXJzaW9uPSIyLjAiIENWU1Nfc2NvcmU9IjQuMyIgbW9kaWZpZWQ9IjIwMDgtMTAtMDkiPg0KKyAgICAgICAgPGRlc2M+DQorICAgICAgICAgICAgPGRlc2NyaXB0IHNvdXJjZT0iY3ZlIj5Dcm9zcy1zaXRlIHNjcmlwdGluZyAoWFNTKSB2dWxuZXJhYmlsaXR5IGluIEJCY29kZSBBUEkgbW9kdWxlIGluIFBob3J1bSA1LjIuOCBhbGxvd3MgcmVtb3RlIGF0dGFja2VycyB0byBpbmplY3QgYXJiaXRyYXJ5IHdlYiBzY3JpcHQgb3IgSFRNTCB2aWEgbmVzdGVkIEJCY29kZSBpbWFnZSB0YWdzLjwvZGVzY3JpcHQ+DQorICAgICAgICA8L2Rlc2M+DQorICAgICAgICA8bG9zc190eXBlcz4NCisgICAgICAgICAgICA8aW50IC8+DQorICAgICAgICA8L2xvc3NfdHlwZXM+DQorICAgICAgICA8cmFuZ2U+DQorICAgICAgICAgICAgPG5ldHdvcmsgLz4NCisgICAgICAgICAgICA8dXNlcl9pbml0IC8+DQorICAgICAgICA8L3JhbmdlPg0KKyAgICAgICAgPHJlZnM+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IlhGIiB1cmw9Imh0dHA6Ly94Zm9yY2UuaXNzLm5ldC94Zm9yY2UveGZkYi80NTY4NiI+cGhvcnVtLWltZy14c3MoNDU2ODYpPC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkJJRCIgdXJsPSJodHRwOi8vd3d3LnNlY3VyaXR5Zm9jdXMuY29tL2JpZC8zMTU4OSI+MzE1ODk8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQ09ORklSTSIgdXJsPSJodHRwOi8vdHJhYy5waG9ydW0ub3JnL2NoYW5nZXNldC8zNTI4Ij5odHRwOi8vdHJhYy5waG9ydW0ub3JnL2NoYW5nZXNldC8zNTI4PC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9Ik1JU0MiIHVybD0iaHR0cDovL251bGxlZGNvcmUuY29tLz9wPTEyNiI+aHR0cDovL251bGxlZGNvcmUuY29tLz9wPTEyNjwvcmVmPg0KKyAgICAgICAgPC9yZWZzPg0KKyAgICAgICAgPHZ1bG5fc29mdD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9InBob3J1bSIgbmFtZT0icGhvcnVtIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI1LjIuOCIgLz4NCisgICAgICAgICAgICA8L3Byb2Q+DQorICAgICAgICA8L3Z1bG5fc29mdD4NCisgICAgPC9lbnRyeT4KKyAgICA8ZW50cnkgQ1ZTU192ZWN0b3I9IihBVjpOL0FDOkwvQXU6Ti9DOk4vSTpOL0E6UCkiIENWU1NfYmFzZV9zY29yZT0iNS4wIiBDVlNTX2V4cGxvaXRfc3Vic2NvcmU9IjEwLjAiIENWU1NfaW1wYWN0X3N1YnNjb3JlPSIyLjkiIG5hbWU9IkNWRS0yMDA4LTQ1MTQiIHNlcT0iMjAwOC00NTE0IiBzZXZlcml0eT0iTWVkaXVtIiB0eXBlPSJDVkUiIHB1Ymxpc2hlZD0iMjAwOC0xMC0wOSIgQ1ZTU192ZXJzaW9uPSIyLjAiIENWU1Nfc2NvcmU9IjUuMCIgbW9kaWZpZWQ9IjIwMDgtMTAtMDkiPg0KKyAgICAgICAgPGRlc2M+DQorICAgICAgICAgICAgPGRlc2NyaXB0IHNvdXJjZT0iY3ZlIj5UaGUgSFRNTCBwYXJzZXIgaW4gS0RFIEtvbnF1ZXJvciAzLjUuOSBhbGxvd3MgcmVtb3RlIGF0dGFja2VycyB0byBjYXVzZSBhIGRlbmlhbCBvZiBzZXJ2aWNlIChhcHBsaWNhdGlvbiBjcmFzaCkgdmlhIGEgZm9udCB0YWcgd2l0aCBhIGxvbmcgY29sb3IgdmFsdWUsIHdoaWNoIHRyaWdnZXJzIGFuIGFzc2VydGlvbiBlcnJvci48L2Rlc2NyaXB0Pg0KKyAgICAgICAgPC9kZXNjPg0KKyAgICAgICAgPGxvc3NfdHlwZXM+DQorICAgICAgICAgICAgPGF2YWlsIC8+DQorICAgICAgICA8L2xvc3NfdHlwZXM+DQorICAgICAgICA8cmFuZ2U+DQorICAgICAgICAgICAgPG5ldHdvcmsgLz4NCisgICAgICAgIDwvcmFuZ2U+DQorICAgICAgICA8cmVmcz4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQklEIiB1cmw9Imh0dHA6Ly93d3cuc2VjdXJpdHlmb2N1cy5jb20vYmlkLzMxNjA1Ij4zMTYwNTwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJNSUxXMFJNIiB1cmw9Imh0dHA6Ly93d3cubWlsdzBybS5jb20vZXhwbG9pdHMvNjY4OSI+NjY4OTwvcmVmPg0KKyAgICAgICAgPC9yZWZzPg0KKyAgICAgICAgPHZ1bG5fc29mdD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9ImtvbnF1ZXJvciIgbmFtZT0ia29ucXVlcm9yIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIzLjUuOSIgLz4NCisgICAgICAgICAgICA8L3Byb2Q+DQorICAgICAgICA8L3Z1bG5fc29mdD4NCisgICAgPC9lbnRyeT4KKyAgICA8ZW50cnkgQ1ZTU192ZWN0b3I9IihBVjpOL0FDOkwvQXU6Ti9DOlAvSTpQL0E6UCkiIENWU1NfYmFzZV9zY29yZT0iNy41IiBDVlNTX2V4cGxvaXRfc3Vic2NvcmU9IjEwLjAiIENWU1NfaW1wYWN0X3N1YnNjb3JlPSI2LjQiIG5hbWU9IkNWRS0yMDA4LTQ1MTUiIHNlcT0iMjAwOC00NTE1IiBzZXZlcml0eT0iSGlnaCIgdHlwZT0iQ1ZFIiBwdWJsaXNoZWQ9IjIwMDgtMTAtMDkiIENWU1NfdmVyc2lvbj0iMi4wIiBDVlNTX3Njb3JlPSI3LjUiIG1vZGlmaWVkPSIyMDA4LTEwLTA5Ij4NCisgICAgICAgIDxkZXNjPg0KKyAgICAgICAgICAgIDxkZXNjcmlwdCBzb3VyY2U9ImN2ZSI+Qmx1ZSBDb2F0IEs5IFdlYiBQcm90ZWN0aW9uIDQuMC4yMzAgQmV0YSByZWxpZXMgb24gY2xpZW50LXNpZGUgSmF2YVNjcmlwdCBhcyBhIHByb3RlY3Rpb24gbWVjaGFuaXNtLCB3aGljaCBhbGxvd3MgcmVtb3RlIGF0dGFja2VycyB0byBieXBhc3MgYXV0aGVudGljYXRpb24gYW5kIGFjY2VzcyB0aGUgKDEpIHN1bW1hcnksICgyKSBkZXRhaWwsICgzKSBvdmVycmlkZXMsIGFuZCAoNCkgcHdlbWFpbCBwYWdlcyBieSBkaXNhYmxpbmcgSmF2YVNjcmlwdC48L2Rlc2NyaXB0Pg0KKyAgICAgICAgPC9kZXNjPg0KKyAgICAgICAgPGxvc3NfdHlwZXM+DQorICAgICAgICAgICAgPGF2YWlsIC8+DQorICAgICAgICAgICAgPGNvbmYgLz4NCisgICAgICAgICAgICA8aW50IC8+DQorICAgICAgICA8L2xvc3NfdHlwZXM+DQorICAgICAgICA8cmFuZ2U+DQorICAgICAgICAgICAgPG5ldHdvcmsgLz4NCisgICAgICAgIDwvcmFuZ2U+DQorICAgICAgICA8cmVmcz4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iWEYiIHVybD0iaHR0cDovL3hmb3JjZS5pc3MubmV0L3hmb3JjZS94ZmRiLzQ1Njk2Ij5rOXdlYnByb3RlY3Rpb24tbXVsdGlwbGUtYXV0aC1ieXBhc3MoNDU2OTYpPC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkJJRCIgdXJsPSJodHRwOi8vd3d3LnNlY3VyaXR5Zm9jdXMuY29tL2JpZC8zMTU4NCI+MzE1ODQ8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iRlVMTERJU0MiIHVybD0iaHR0cDovL3NlY2xpc3RzLm9yZy9mdWxsZGlzY2xvc3VyZS8yMDA4L09jdC8wMDcwLmh0bWwiPjIwMDgxMDA0IEJsdWUgQ29hdCBLOSBXZWIgUHJvdGVjdGlvbiBWNC4wLjIzMCBCZXRhIFZ1bG5lcmFiaWxpdHk8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iTUlTQyIgdXJsPSJodHRwOi8vZGljYXMzMDAwLmJsb2dzcG90LmNvbS8yMDA4LzEwL2JsdWUtY29hdC1rOS13ZWItcHJvdGVjdGlvbi12NDAyMzAtYmV0YS5odG1sIj5odHRwOi8vZGljYXMzMDAwLmJsb2dzcG90LmNvbS8yMDA4LzEwL2JsdWUtY29hdC1rOS13ZWItcHJvdGVjdGlvbi12NDAyMzAtYmV0YS5odG1sPC9yZWY+DQorICAgICAgICA8L3JlZnM+DQorICAgICAgICA8dnVsbl9zb2Z0Pg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0iYmx1ZV9jb2F0X3N5c3RlbXMiIG5hbWU9Ims5X3dlYl9wcm90ZWN0aW9uIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iYmV0YSIgbnVtPSI0LjAuMjMwIiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgIDwvdnVsbl9zb2Z0Pg0KKyAgICA8L2VudHJ5PgorICAgIDxlbnRyeSBDVlNTX3ZlY3Rvcj0iKEFWOk4vQUM6TC9BdTpOL0M6UC9JOlAvQTpQKSIgQ1ZTU19iYXNlX3Njb3JlPSI3LjUiIENWU1NfZXhwbG9pdF9zdWJzY29yZT0iMTAuMCIgQ1ZTU19pbXBhY3Rfc3Vic2NvcmU9IjYuNCIgbmFtZT0iQ1ZFLTIwMDgtNDUxNiIgc2VxPSIyMDA4LTQ1MTYiIHNldmVyaXR5PSJIaWdoIiB0eXBlPSJDVkUiIHB1Ymxpc2hlZD0iMjAwOC0xMC0wOSIgQ1ZTU192ZXJzaW9uPSIyLjAiIENWU1Nfc2NvcmU9IjcuNSIgbW9kaWZpZWQ9IjIwMDgtMTAtMDkiPg0KKyAgICAgICAgPGRlc2M+DQorICAgICAgICAgICAgPGRlc2NyaXB0IHNvdXJjZT0iY3ZlIj5TUUwgaW5qZWN0aW9uIHZ1bG5lcmFiaWxpdHkgaW4gZ2FsZXJpZS5waHAgaW4gR2FsZXJpZSAzLjIgYWxsb3dzIHJlbW90ZSBhdHRhY2tlcnMgdG8gZXhlY3V0ZSBhcmJpdHJhcnkgU1FMIGNvbW1hbmRzIHZpYSB0aGUgcGljIHBhcmFtZXRlci48L2Rlc2NyaXB0Pg0KKyAgICAgICAgPC9kZXNjPg0KKyAgICAgICAgPGxvc3NfdHlwZXM+DQorICAgICAgICAgICAgPGF2YWlsIC8+DQorICAgICAgICAgICAgPGNvbmYgLz4NCisgICAgICAgICAgICA8aW50IC8+DQorICAgICAgICAgICAgPHNlY19wcm90IG90aGVyPSIxIiAvPg0KKyAgICAgICAgPC9sb3NzX3R5cGVzPg0KKyAgICAgICAgPHJhbmdlPg0KKyAgICAgICAgICAgIDxuZXR3b3JrIC8+DQorICAgICAgICA8L3JhbmdlPg0KKyAgICAgICAgPHJlZnM+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IlhGIiB1cmw9Imh0dHA6Ly94Zm9yY2UuaXNzLm5ldC94Zm9yY2UveGZkYi80NTY5OCI+Z2FsZXJpZS1waWMtc3FsLWluamVjdGlvbig0NTY5OCk8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQklEIiB1cmw9Imh0dHA6Ly93d3cuc2VjdXJpdHlmb2N1cy5jb20vYmlkLzMxNTkzIj4zMTU5MzwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJNSUxXMFJNIiB1cmw9Imh0dHA6Ly93d3cubWlsdzBybS5jb20vZXhwbG9pdHMvNjY3NSI+NjY3NTwvcmVmPg0KKyAgICAgICAgPC9yZWZzPg0KKyAgICAgICAgPHZ1bG5fc29mdD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9ImdhbGVyaWUiIG5hbWU9ImdhbGVyaWUiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjMuMiIgLz4NCisgICAgICAgICAgICA8L3Byb2Q+DQorICAgICAgICA8L3Z1bG5fc29mdD4NCisgICAgPC9lbnRyeT4KKyAgICA8ZW50cnkgQ1ZTU192ZWN0b3I9IihBVjpOL0FDOkwvQXU6Ti9DOlAvSTpQL0E6UCkiIENWU1NfYmFzZV9zY29yZT0iNy41IiBDVlNTX2V4cGxvaXRfc3Vic2NvcmU9IjEwLjAiIENWU1NfaW1wYWN0X3N1YnNjb3JlPSI2LjQiIG5hbWU9IkNWRS0yMDA4LTQ1MTciIHNlcT0iMjAwOC00NTE3IiBzZXZlcml0eT0iSGlnaCIgdHlwZT0iQ1ZFIiBwdWJsaXNoZWQ9IjIwMDgtMTAtMDkiIENWU1NfdmVyc2lvbj0iMi4wIiBDVlNTX3Njb3JlPSI3LjUiIG1vZGlmaWVkPSIyMDA4LTEwLTA5Ij4NCisgICAgICAgIDxkZXNjPg0KKyAgICAgICAgICAgIDxkZXNjcmlwdCBzb3VyY2U9ImN2ZSI+U1FMIGluamVjdGlvbiB2dWxuZXJhYmlsaXR5IGluIGxlZ2dpLnBocCBpbiBnZWNjQkJsaXRlIDIuMCBhbGxvd3MgcmVtb3RlIGF0dGFja2VycyB0byBleGVjdXRlIGFyYml0cmFyeSBTUUwgY29tbWFuZHMgdmlhIHRoZSBpZCBwYXJhbWV0ZXIuPC9kZXNjcmlwdD4NCisgICAgICAgIDwvZGVzYz4NCisgICAgICAgIDxsb3NzX3R5cGVzPg0KKyAgICAgICAgICAgIDxhdmFpbCAvPg0KKyAgICAgICAgICAgIDxjb25mIC8+DQorICAgICAgICAgICAgPGludCAvPg0KKyAgICAgICAgICAgIDxzZWNfcHJvdCBvdGhlcj0iMSIgLz4NCisgICAgICAgIDwvbG9zc190eXBlcz4NCisgICAgICAgIDxyYW5nZT4NCisgICAgICAgICAgICA8bmV0d29yayAvPg0KKyAgICAgICAgPC9yYW5nZT4NCisgICAgICAgIDxyZWZzPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJCSUQiIHVybD0iaHR0cDovL3d3dy5zZWN1cml0eWZvY3VzLmNvbS9iaWQvMzE1ODUiPjMxNTg1PC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9Ik1JTFcwUk0iIHVybD0iaHR0cDovL3d3dy5taWx3MHJtLmNvbS9leHBsb2l0cy82Njc3Ij42Njc3PC9yZWY+DQorICAgICAgICA8L3JlZnM+DQorICAgICAgICA8dnVsbl9zb2Z0Pg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0iZ2VjY2JibGl0ZSIgbmFtZT0iZ2VjY2JibGl0ZSI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi4wIiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgIDwvdnVsbl9zb2Z0Pg0KKyAgICA8L2VudHJ5PgorICAgIDxlbnRyeSBDVlNTX3ZlY3Rvcj0iKEFWOk4vQUM6TC9BdTpOL0M6UC9JOlAvQTpQKSIgQ1ZTU19iYXNlX3Njb3JlPSI3LjUiIENWU1NfZXhwbG9pdF9zdWJzY29yZT0iMTAuMCIgQ1ZTU19pbXBhY3Rfc3Vic2NvcmU9IjYuNCIgbmFtZT0iQ1ZFLTIwMDgtNDUxOCIgc2VxPSIyMDA4LTQ1MTgiIHNldmVyaXR5PSJIaWdoIiB0eXBlPSJDVkUiIHB1Ymxpc2hlZD0iMjAwOC0xMC0wOSIgQ1ZTU192ZXJzaW9uPSIyLjAiIENWU1Nfc2NvcmU9IjcuNSIgbW9kaWZpZWQ9IjIwMDgtMTAtMTAiPg0KKyAgICAgICAgPGRlc2M+DQorICAgICAgICAgICAgPGRlc2NyaXB0IHNvdXJjZT0iY3ZlIj5NdWx0aXBsZSBTUUwgaW5qZWN0aW9uIHZ1bG5lcmFiaWxpdGllcyBpbiBGYXN0cHVibGlzaCBDTVMgMS45LjkuOS45IGQgKDEuOTk5OSBkKSBhbGxvdyByZW1vdGUgYXR0YWNrZXJzIHRvIGV4ZWN1dGUgYXJiaXRyYXJ5IFNRTCBjb21tYW5kcyB2aWEgdGhlICgxKSBzcHJhY2hlIHBhcmFtZXRlciB0byBpbmRleDIucGhwIGFuZCB0aGUgKDIpIGFydGlrZWwgcGFyYW1ldGVyIHRvIGluZGV4LnBocC48L2Rlc2NyaXB0Pg0KKyAgICAgICAgPC9kZXNjPg0KKyAgICAgICAgPGxvc3NfdHlwZXM+DQorICAgICAgICAgICAgPGF2YWlsIC8+DQorICAgICAgICAgICAgPGNvbmYgLz4NCisgICAgICAgICAgICA8aW50IC8+DQorICAgICAgICAgICAgPHNlY19wcm90IG90aGVyPSIxIiAvPg0KKyAgICAgICAgPC9sb3NzX3R5cGVzPg0KKyAgICAgICAgPHJhbmdlPg0KKyAgICAgICAgICAgIDxuZXR3b3JrIC8+DQorICAgICAgICA8L3JhbmdlPg0KKyAgICAgICAgPHJlZnM+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkJJRCIgdXJsPSJodHRwOi8vd3d3LnNlY3VyaXR5Zm9jdXMuY29tL2JpZC8zMTU4MiI+MzE1ODI8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iTUlMVzBSTSIgdXJsPSJodHRwOi8vd3d3Lm1pbHcwcm0uY29tL2V4cGxvaXRzLzY2NzgiPjY2Nzg8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iU0VDVU5JQSIgdXJsPSJodHRwOi8vc2VjdW5pYS5jb20vYWR2aXNvcmllcy8zMjEyNiIgYWR2PSIxIj4zMjEyNjwvcmVmPg0KKyAgICAgICAgPC9yZWZzPg0KKyAgICAgICAgPHZ1bG5fc29mdD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9ImZhc3RwdWJsaXNoIiBuYW1lPSJmYXN0cHVibGlzaF9jbXMiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuOS45LjkuOWQiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS45OTk5ZCIgLz4NCisgICAgICAgICAgICA8L3Byb2Q+DQorICAgICAgICA8L3Z1bG5fc29mdD4NCisgICAgPC9lbnRyeT4KKyAgICA8ZW50cnkgQ1ZTU192ZWN0b3I9IihBVjpOL0FDOkwvQXU6Ti9DOlAvSTpQL0E6UCkiIENWU1NfYmFzZV9zY29yZT0iNy41IiBDVlNTX2V4cGxvaXRfc3Vic2NvcmU9IjEwLjAiIENWU1NfaW1wYWN0X3N1YnNjb3JlPSI2LjQiIG5hbWU9IkNWRS0yMDA4LTQ1MTkiIHNlcT0iMjAwOC00NTE5IiBzZXZlcml0eT0iSGlnaCIgdHlwZT0iQ1ZFIiBwdWJsaXNoZWQ9IjIwMDgtMTAtMDkiIENWU1NfdmVyc2lvbj0iMi4wIiBDVlNTX3Njb3JlPSI3LjUiIG1vZGlmaWVkPSIyMDA4LTEwLTEwIj4NCisgICAgICAgIDxkZXNjPg0KKyAgICAgICAgICAgIDxkZXNjcmlwdCBzb3VyY2U9ImN2ZSI+TXVsdGlwbGUgZGlyZWN0b3J5IHRyYXZlcnNhbCB2dWxuZXJhYmlsaXRpZXMgaW4gRmFzdHB1Ymxpc2ggQ01TIDEuOTk5OSBkIGFsbG93IHJlbW90ZSBhdHRhY2tlcnMgdG8gaW5jbHVkZSBhbmQgZXhlY3V0ZSBhcmJpdHJhcnkgbG9jYWwgZmlsZXMgdmlhIGEgLi4gKGRvdCBkb3QpIGluIHRoZSB0YXJnZXQgcGFyYW1ldGVyIHRvICgxKSBpbmRleDIucGhwIGFuZCAoMikgaW5kZXgucGhwLjwvZGVzY3JpcHQ+DQorICAgICAgICA8L2Rlc2M+DQorICAgICAgICA8bG9zc190eXBlcz4NCisgICAgICAgICAgICA8YXZhaWwgLz4NCisgICAgICAgICAgICA8Y29uZiAvPg0KKyAgICAgICAgICAgIDxpbnQgLz4NCisgICAgICAgIDwvbG9zc190eXBlcz4NCisgICAgICAgIDxyYW5nZT4NCisgICAgICAgICAgICA8bmV0d29yayAvPg0KKyAgICAgICAgPC9yYW5nZT4NCisgICAgICAgIDxyZWZzPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJCSUQiIHVybD0iaHR0cDovL3d3dy5zZWN1cml0eWZvY3VzLmNvbS9iaWQvMzE1ODIiPjMxNTgyPC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9Ik1JTFcwUk0iIHVybD0iaHR0cDovL3d3dy5taWx3MHJtLmNvbS9leHBsb2l0cy82Njc4Ij42Njc4PC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IlNFQ1VOSUEiIHVybD0iaHR0cDovL3NlY3VuaWEuY29tL2Fkdmlzb3JpZXMvMzIxMjYiIGFkdj0iMSI+MzIxMjY8L3JlZj4NCisgICAgICAgIDwvcmVmcz4NCisgICAgICAgIDx2dWxuX3NvZnQ+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJmYXN0cHVibGlzaCIgbmFtZT0iZmFzdHB1Ymxpc2hfY21zIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjkuOS45LjlkIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuOTk5OWQiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgPC92dWxuX3NvZnQ+DQorICAgIDwvZW50cnk+CisgICAgPGVudHJ5IENWU1NfdmVjdG9yPSIoQVY6Ti9BQzpNL0F1Ok4vQzpOL0k6UC9BOk4pIiBDVlNTX2Jhc2Vfc2NvcmU9IjQuMyIgQ1ZTU19leHBsb2l0X3N1YnNjb3JlPSI4LjYiIENWU1NfaW1wYWN0X3N1YnNjb3JlPSIyLjkiIG5hbWU9IkNWRS0yMDA4LTQ1MjAiIHNlcT0iMjAwOC00NTIwIiBzZXZlcml0eT0iTWVkaXVtIiB0eXBlPSJDVkUiIHB1Ymxpc2hlZD0iMjAwOC0xMC0wOSIgQ1ZTU192ZXJzaW9uPSIyLjAiIENWU1Nfc2NvcmU9IjQuMyIgbW9kaWZpZWQ9IjIwMDgtMTAtMTAiPg0KKyAgICAgICAgPGRlc2M+DQorICAgICAgICAgICAgPGRlc2NyaXB0IHNvdXJjZT0iY3ZlIj5Dcm9zcy1zaXRlIHNjcmlwdGluZyAoWFNTKSB2dWxuZXJhYmlsaXR5IGluIGJ1bGtfdXBkYXRlLnBsIGluIEF1dG9OZXNzdXMgYmVmb3JlIDEuMi4yIGFsbG93cyByZW1vdGUgYXR0YWNrZXJzIHRvIGluamVjdCBhcmJpdHJhcnkgd2ViIHNjcmlwdCBvciBIVE1MIHZpYSB0aGUgcmVtYXJrIHBhcmFtZXRlci48L2Rlc2NyaXB0Pg0KKyAgICAgICAgPC9kZXNjPg0KKyAgICAgICAgPGxvc3NfdHlwZXM+DQorICAgICAgICAgICAgPGludCAvPg0KKyAgICAgICAgPC9sb3NzX3R5cGVzPg0KKyAgICAgICAgPHJhbmdlPg0KKyAgICAgICAgICAgIDxuZXR3b3JrIC8+DQorICAgICAgICAgICAgPHVzZXJfaW5pdCAvPg0KKyAgICAgICAgPC9yYW5nZT4NCisgICAgICAgIDxyZWZzPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJCSUQiIHBhdGNoPSIxIiB1cmw9Imh0dHA6Ly93d3cuc2VjdXJpdHlmb2N1cy5jb20vYmlkLzMxNTU5Ij4zMTU1OTwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJDT05GSVJNIiBwYXRjaD0iMSIgdXJsPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3Qvc2hvd25vdGVzLnBocD9ncm91cF9pZD0yMTYzNjcmYW1wO3JlbGVhc2VfaWQ9NjMwMTI0Ij5odHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3Qvc2hvd25vdGVzLnBocD9ncm91cF9pZD0yMTYzNjcmYW1wO3JlbGVhc2VfaWQ9NjMwMTI0PC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IlhGIiB1cmw9Imh0dHA6Ly94Zm9yY2UuaXNzLm5ldC94Zm9yY2UveGZkYi80NTYzNCI+YXV0b25lc3N1cy1idWxrdXBkYXRlLXhzcyg0NTYzNCk8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iTUlTQyIgdXJsPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3RyYWNrZXIvaW5kZXgucGhwP2Z1bmM9ZGV0YWlsJmFtcDthaWQ9MjE0MTg4NCZhbXA7Z3JvdXBfaWQ9MjE2MzY3JmFtcDthdGlkPTEwMzczOTQiIGFkdj0iMSI+aHR0cDovL3NvdXJjZWZvcmdlLm5ldC90cmFja2VyL2luZGV4LnBocD9mdW5jPWRldGFpbCZhbXA7YWlkPTIxNDE4ODQmYW1wO2dyb3VwX2lkPTIxNjM2NyZhbXA7YXRpZD0xMDM3Mzk0PC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IlNFQ1VOSUEiIHVybD0iaHR0cDovL3NlY3VuaWEuY29tL2Fkdmlzb3JpZXMvMzIwNDYiIGFkdj0iMSI+MzIwNDY8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iTUlTQyIgdXJsPSJodHRwOi8vYXV0b25lc3N1cy5jdnMuc291cmNlZm9yZ2UubmV0L3ZpZXd2Yy9hdXRvbmVzc3VzL0F1dG9OZXNzdXMvd3d3L2J1bGtfdXBkYXRlLnBsP3IxPTEuMiZhbXA7cjI9MS4zIj5odHRwOi8vYXV0b25lc3N1cy5jdnMuc291cmNlZm9yZ2UubmV0L3ZpZXd2Yy9hdXRvbmVzc3VzL0F1dG9OZXNzdXMvd3d3L2J1bGtfdXBkYXRlLnBsP3IxPTEuMiZhbXA7cjI9MS4zPC9yZWY+DQorICAgICAgICA8L3JlZnM+DQorICAgICAgICA8dnVsbl9zb2Z0Pg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0iYXV0b25lc3N1cyIgbmFtZT0iYXV0b25lc3N1cyI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4wIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjEuMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4yLjEiIHByZXY9IjEiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgPC92dWxuX3NvZnQ+DQorICAgIDwvZW50cnk+CisgICAgPGVudHJ5IENWU1NfdmVjdG9yPSIoQVY6Ti9BQzpML0F1Ok4vQzpQL0k6UC9BOlApIiBDVlNTX2Jhc2Vfc2NvcmU9IjcuNSIgQ1ZTU19leHBsb2l0X3N1YnNjb3JlPSIxMC4wIiBDVlNTX2ltcGFjdF9zdWJzY29yZT0iNi40IiBuYW1lPSJDVkUtMjAwOC00NTIxIiBzZXE9IjIwMDgtNDUyMSIgc2V2ZXJpdHk9IkhpZ2giIHR5cGU9IkNWRSIgcHVibGlzaGVkPSIyMDA4LTEwLTA5IiBDVlNTX3ZlcnNpb249IjIuMCIgQ1ZTU19zY29yZT0iNy41IiBtb2RpZmllZD0iMjAwOC0xMC0xMCI+DQorICAgICAgICA8ZGVzYz4NCisgICAgICAgICAgICA8ZGVzY3JpcHQgc291cmNlPSJjdmUiPlNRTCBpbmplY3Rpb24gdnVsbmVyYWJpbGl0eSBpbiB0aGlzcmFpZHByb2dyZXNzLnBocCBpbiB0aGUgV29ybGQgb2YgV2FyY3JhZnQgdHJhY2tlciBpbmZ1c2lvbiAocmFpZHRyYWNrZXJfcGFuZWwpIG1vZHVsZSAyLjAgZm9yIFBIUC1GdXNpb24gYWxsb3dzIHJlbW90ZSBhdHRhY2tlcnMgdG8gZXhlY3V0ZSBhcmJpdHJhcnkgU1FMIGNvbW1hbmRzIHZpYSB0aGUgSU5GT19SQUlEX0lEIHBhcmFtZXRlci48L2Rlc2NyaXB0Pg0KKyAgICAgICAgPC9kZXNjPg0KKyAgICAgICAgPGxvc3NfdHlwZXM+DQorICAgICAgICAgICAgPGF2YWlsIC8+DQorICAgICAgICAgICAgPGNvbmYgLz4NCisgICAgICAgICAgICA8aW50IC8+DQorICAgICAgICAgICAgPHNlY19wcm90IG90aGVyPSIxIiAvPg0KKyAgICAgICAgPC9sb3NzX3R5cGVzPg0KKyAgICAgICAgPHJhbmdlPg0KKyAgICAgICAgICAgIDxuZXR3b3JrIC8+DQorICAgICAgICA8L3JhbmdlPg0KKyAgICAgICAgPHJlZnM+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkJJRCIgdXJsPSJodHRwOi8vd3d3LnNlY3VyaXR5Zm9jdXMuY29tL2JpZC8zMTU3OSI+MzE1Nzk8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iTUlMVzBSTSIgdXJsPSJodHRwOi8vd3d3Lm1pbHcwcm0uY29tL2V4cGxvaXRzLzY2ODIiPjY2ODI8L3JlZj4NCisgICAgICAgIDwvcmVmcz4NCisgICAgICAgIDx2dWxuX3NvZnQ+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJwaHAtZnVzaW9uIiBuYW1lPSJ3b3JsZF9vZl93YXJjcmFmdF90cmFja2VyX2luZnVzaW9uX21vZHVsZSI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi4wIiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgIDwvdnVsbl9zb2Z0Pg0KKyAgICA8L2VudHJ5PgorICAgIDxlbnRyeSBDVlNTX3ZlY3Rvcj0iKEFWOk4vQUM6TC9BdTpOL0M6UC9JOlAvQTpQKSIgQ1ZTU19iYXNlX3Njb3JlPSI3LjUiIENWU1NfZXhwbG9pdF9zdWJzY29yZT0iMTAuMCIgQ1ZTU19pbXBhY3Rfc3Vic2NvcmU9IjYuNCIgbmFtZT0iQ1ZFLTIwMDgtNDUyMiIgc2VxPSIyMDA4LTQ1MjIiIHNldmVyaXR5PSJIaWdoIiB0eXBlPSJDVkUiIHB1Ymxpc2hlZD0iMjAwOC0xMC0wOSIgQ1ZTU192ZXJzaW9uPSIyLjAiIENWU1Nfc2NvcmU9IjcuNSIgbW9kaWZpZWQ9IjIwMDgtMTAtMTAiPg0KKyAgICAgICAgPGRlc2M+DQorICAgICAgICAgICAgPGRlc2NyaXB0IHNvdXJjZT0iY3ZlIj5NdWx0aXBsZSBkaXJlY3RvcnkgdHJhdmVyc2FsIHZ1bG5lcmFiaWxpdGllcyBpbiBKTXdlYiBNUDMgTXVzaWMgQXVkaW8gU2VhcmNoIGFuZCBEb3dubG9hZCBTY3JpcHQgYWxsb3cgcmVtb3RlIGF0dGFja2VycyB0byBpbmNsdWRlIGFuZCBleGVjdXRlIGFyYml0cmFyeSBsb2NhbCBmaWxlcyB2aWEgYSAuLiAoZG90IGRvdCkgaW4gdGhlIHNyYyBwYXJhbWV0ZXIgdG8gKDEpIGxpc3Rlbi5waHAgYW5kICgyKSBkb3dubG9hZC5waHAuPC9kZXNjcmlwdD4NCisgICAgICAgIDwvZGVzYz4NCisgICAgICAgIDxsb3NzX3R5cGVzPg0KKyAgICAgICAgICAgIDxhdmFpbCAvPg0KKyAgICAgICAgICAgIDxjb25mIC8+DQorICAgICAgICAgICAgPGludCAvPg0KKyAgICAgICAgICAgIDxzZWNfcHJvdCBvdGhlcj0iMSIgLz4NCisgICAgICAgIDwvbG9zc190eXBlcz4NCisgICAgICAgIDxyYW5nZT4NCisgICAgICAgICAgICA8bmV0d29yayAvPg0KKyAgICAgICAgPC9yYW5nZT4NCisgICAgICAgIDxyZWZzPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJCSUQiIHVybD0iaHR0cDovL3d3dy5zZWN1cml0eWZvY3VzLmNvbS9iaWQvMzE1NzMiPjMxNTczPC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9Ik1JTFcwUk0iIHVybD0iaHR0cDovL3d3dy5taWx3MHJtLmNvbS9leHBsb2l0cy82NjY5Ij42NjY5PC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IlNFQ1VOSUEiIHVybD0iaHR0cDovL3NlY3VuaWEuY29tL2Fkdmlzb3JpZXMvMzIxNDEiIGFkdj0iMSI+MzIxNDE8L3JlZj4NCisgICAgICAgIDwvcmVmcz4NCisgICAgICAgIDx2dWxuX3NvZnQ+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJqZXNzZS13ZWIiIG5hbWU9Imptd2ViX21wM19tdXNpY19hdWRpb19zZWFyY2hfYW5kX2Rvd25sb2FkX3NjcmlwdCI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iIiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgIDwvdnVsbl9zb2Z0Pg0KKyAgICA8L2VudHJ5PgorICAgIDxlbnRyeSBDVlNTX3ZlY3Rvcj0iKEFWOk4vQUM6TC9BdTpOL0M6UC9JOlAvQTpQKSIgQ1ZTU19iYXNlX3Njb3JlPSI3LjUiIENWU1NfZXhwbG9pdF9zdWJzY29yZT0iMTAuMCIgQ1ZTU19pbXBhY3Rfc3Vic2NvcmU9IjYuNCIgbmFtZT0iQ1ZFLTIwMDgtNDUyMyIgc2VxPSIyMDA4LTQ1MjMiIHNldmVyaXR5PSJIaWdoIiB0eXBlPSJDVkUiIHB1Ymxpc2hlZD0iMjAwOC0xMC0wOSIgQ1ZTU192ZXJzaW9uPSIyLjAiIENWU1Nfc2NvcmU9IjcuNSIgbW9kaWZpZWQ9IjIwMDgtMTAtMTAiPg0KKyAgICAgICAgPGRlc2M+DQorICAgICAgICAgICAgPGRlc2NyaXB0IHNvdXJjZT0iY3ZlIj5TUUwgaW5qZWN0aW9uIHZ1bG5lcmFiaWxpdHkgaW4gbG9naW4ucGhwIGluIElQIFJlZyAwLjQgYW5kIGVhcmxpZXIgYWxsb3dzIHJlbW90ZSBhdHRhY2tlcnMgdG8gZXhlY3V0ZSBhcmJpdHJhcnkgU1FMIGNvbW1hbmRzIHZpYSB0aGUgdXNlcl9uYW1lIHBhcmFtZXRlci48L2Rlc2NyaXB0Pg0KKyAgICAgICAgPC9kZXNjPg0KKyAgICAgICAgPGxvc3NfdHlwZXM+DQorICAgICAgICAgICAgPGF2YWlsIC8+DQorICAgICAgICAgICAgPGNvbmYgLz4NCisgICAgICAgICAgICA8aW50IC8+DQorICAgICAgICAgICAgPHNlY19wcm90IG90aGVyPSIxIiAvPg0KKyAgICAgICAgPC9sb3NzX3R5cGVzPg0KKyAgICAgICAgPHJhbmdlPg0KKyAgICAgICAgICAgIDxuZXR3b3JrIC8+DQorICAgICAgICA8L3JhbmdlPg0KKyAgICAgICAgPHJlZnM+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IlhGIiB1cmw9Imh0dHA6Ly94Zm9yY2UuaXNzLm5ldC94Zm9yY2UveGZkYi80NTY0MSI+aXByZWctbG9naW4tc3FsLWluamVjdGlvbig0NTY0MSk8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQklEIiB1cmw9Imh0dHA6Ly93d3cuc2VjdXJpdHlmb2N1cy5jb20vYmlkLzMxNTYxIj4zMTU2MTwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJNSUxXMFJNIiB1cmw9Imh0dHA6Ly93d3cubWlsdzBybS5jb20vZXhwbG9pdHMvNjY1NyI+NjY1NzwvcmVmPg0KKyAgICAgICAgPC9yZWZzPg0KKyAgICAgICAgPHZ1bG5fc29mdD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9ImlwX3JlZyIgbmFtZT0iaXBfcmVnIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIwLjEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMC4yIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjAuMyIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIwLjQiIHByZXY9IjEiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgPC92dWxuX3NvZnQ+DQorICAgIDwvZW50cnk+CisgICAgPGVudHJ5IENWU1NfdmVjdG9yPSIoQVY6Ti9BQzpML0F1Ok4vQzpQL0k6UC9BOlApIiBDVlNTX2Jhc2Vfc2NvcmU9IjcuNSIgQ1ZTU19leHBsb2l0X3N1YnNjb3JlPSIxMC4wIiBDVlNTX2ltcGFjdF9zdWJzY29yZT0iNi40IiBuYW1lPSJDVkUtMjAwOC00NTI0IiBzZXE9IjIwMDgtNDUyNCIgc2V2ZXJpdHk9IkhpZ2giIHR5cGU9IkNWRSIgcHVibGlzaGVkPSIyMDA4LTEwLTA5IiBDVlNTX3ZlcnNpb249IjIuMCIgQ1ZTU19zY29yZT0iNy41IiBtb2RpZmllZD0iMjAwOC0xMC0xMCI+DQorICAgICAgICA8ZGVzYz4NCisgICAgICAgICAgICA8ZGVzY3JpcHQgc291cmNlPSJjdmUiPlNRTCBpbmplY3Rpb24gdnVsbmVyYWJpbGl0eSBpbiB0aGUgIkNoZWNrIFVzZXIiIGZlYXR1cmUgKGluY2x1ZGVzL2NoZWNrX3VzZXIucGhwKSBpbiBBZGFwdENNUyBMaXRlIGFuZCBBZGFwdENNUyBQcm8gMS4zIGFsbG93cyByZW1vdGUgYXR0YWNrZXJzIHRvIGV4ZWN1dGUgYXJiaXRyYXJ5IFNRTCBjb21tYW5kcyB2aWEgdGhlIHVzZXJfbmFtZSBwYXJhbWV0ZXIuPC9kZXNjcmlwdD4NCisgICAgICAgIDwvZGVzYz4NCisgICAgICAgIDxsb3NzX3R5cGVzPg0KKyAgICAgICAgICAgIDxhdmFpbCAvPg0KKyAgICAgICAgICAgIDxjb25mIC8+DQorICAgICAgICAgICAgPGludCAvPg0KKyAgICAgICAgICAgIDxzZWNfcHJvdCBvdGhlcj0iMSIgLz4NCisgICAgICAgIDwvbG9zc190eXBlcz4NCisgICAgICAgIDxyYW5nZT4NCisgICAgICAgICAgICA8bmV0d29yayAvPg0KKyAgICAgICAgPC9yYW5nZT4NCisgICAgICAgIDxyZWZzPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJDT05GSVJNIiBwYXRjaD0iMSIgdXJsPSJodHRwOi8vd3d3LmFkYXB0Y21zLmNvbS9hcnRpY2xlLzUxL05ld3MvVVJHRU5ULUFkYXB0Q01TLTEzLVNlY3VyaXR5LUZpeC1SZWxlYXNlZC8iIGFkdj0iMSI+aHR0cDovL3d3dy5hZGFwdGNtcy5jb20vYXJ0aWNsZS81MS9OZXdzL1VSR0VOVC1BZGFwdENNUy0xMy1TZWN1cml0eS1GaXgtUmVsZWFzZWQvPC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IlNFQ1VOSUEiIHBhdGNoPSIxIiB1cmw9Imh0dHA6Ly9zZWN1bmlhLmNvbS9hZHZpc29yaWVzLzMyMTcxIiBhZHY9IjEiPjMyMTcxPC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IlhGIiB1cmw9Imh0dHA6Ly94Zm9yY2UuaXNzLm5ldC94Zm9yY2UveGZkYi80NTY0MiI+YWRhcHRjbXNsaXRlLWNoZWNrdXNlci1zcWwtaW5qZWN0aW9uKDQ1NjQyKTwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJCSUQiIHVybD0iaHR0cDovL3d3dy5zZWN1cml0eWZvY3VzLmNvbS9iaWQvMzE1NTciPjMxNTU3PC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9Ik1JTFcwUk0iIHVybD0iaHR0cDovL3d3dy5taWx3MHJtLmNvbS9leHBsb2l0cy82NjYyIj42NjYyPC9yZWY+DQorICAgICAgICA8L3JlZnM+DQorICAgICAgICA8dnVsbl9zb2Z0Pg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0iYWRhcHRjbXMiIG5hbWU9ImFkYXB0Y21zIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0idW5rbm93biIgbnVtPSIxLjMiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InVua25vd246bGl0ZSIgbnVtPSIxLjMiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InVua25vd246cHJvIiBudW09IjEuMyIgLz4NCisgICAgICAgICAgICA8L3Byb2Q+DQorICAgICAgICA8L3Z1bG5fc29mdD4NCisgICAgPC9lbnRyeT4KKyAgICA8ZW50cnkgQ1ZTU192ZWN0b3I9IihBVjpOL0FDOkwvQXU6Ti9DOlAvSTpQL0E6UCkiIENWU1NfYmFzZV9zY29yZT0iNy41IiBDVlNTX2V4cGxvaXRfc3Vic2NvcmU9IjEwLjAiIENWU1NfaW1wYWN0X3N1YnNjb3JlPSI2LjQiIG5hbWU9IkNWRS0yMDA4LTQ1MjUiIHNlcT0iMjAwOC00NTI1IiBzZXZlcml0eT0iSGlnaCIgdHlwZT0iQ1ZFIiBwdWJsaXNoZWQ9IjIwMDgtMTAtMDkiIENWU1NfdmVyc2lvbj0iMi4wIiBDVlNTX3Njb3JlPSI3LjUiIG1vZGlmaWVkPSIyMDA4LTEwLTEwIj4NCisgICAgICAgIDxkZXNjPg0KKyAgICAgICAgICAgIDxkZXNjcmlwdCBzb3VyY2U9ImN2ZSI+U1FMIGluamVjdGlvbiB2dWxuZXJhYmlsaXR5IGluIGluZGV4LnBocCBpbiBBbXBKdWtlIDAuNy41IGFsbG93cyByZW1vdGUgYXR0YWNrZXJzIHRvIGV4ZWN1dGUgYXJiaXRyYXJ5IFNRTCBjb21tYW5kcyB2aWEgdGhlIHNwZWNpYWwgcGFyYW1ldGVyIGluIGEgcGVyZm9ybWVyaWQgYWN0aW9uLjwvZGVzY3JpcHQ+DQorICAgICAgICA8L2Rlc2M+DQorICAgICAgICA8bG9zc190eXBlcz4NCisgICAgICAgICAgICA8YXZhaWwgLz4NCisgICAgICAgICAgICA8Y29uZiAvPg0KKyAgICAgICAgICAgIDxpbnQgLz4NCisgICAgICAgICAgICA8c2VjX3Byb3Qgb3RoZXI9IjEiIC8+DQorICAgICAgICA8L2xvc3NfdHlwZXM+DQorICAgICAgICA8cmFuZ2U+DQorICAgICAgICAgICAgPG5ldHdvcmsgLz4NCisgICAgICAgIDwvcmFuZ2U+DQorICAgICAgICA8cmVmcz4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQklEIiB1cmw9Imh0dHA6Ly93d3cuc2VjdXJpdHlmb2N1cy5jb20vYmlkLzMxNTkyIj4zMTU5MjwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJTRUNVTklBIiB1cmw9Imh0dHA6Ly9zZWN1bmlhLmNvbS9hZHZpc29yaWVzLzMyMTY4IiBhZHY9IjEiPjMyMTY4PC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9Ik1JU0MiIHVybD0iaHR0cDovL3BhY2tldHN0b3JtLmxpbnV4c2VjdXJpdHkuY29tLzA4MTAtZXhwbG9pdHMvYW1wanVrZS1zcWwudHh0Ij5odHRwOi8vcGFja2V0c3Rvcm0ubGludXhzZWN1cml0eS5jb20vMDgxMC1leHBsb2l0cy9hbXBqdWtlLXNxbC50eHQ8L3JlZj4NCisgICAgICAgIDwvcmVmcz4NCisgICAgICAgIDx2dWxuX3NvZnQ+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJhbXBqdWtlIiBuYW1lPSJhbXBqdWtlIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIwLjcuNSIgLz4NCisgICAgICAgICAgICA8L3Byb2Q+DQorICAgICAgICA8L3Z1bG5fc29mdD4NCisgICAgPC9lbnRyeT4KKyAgICA8ZW50cnkgQ1ZTU192ZWN0b3I9IihBVjpOL0FDOkwvQXU6Ti9DOkMvSTpDL0E6QykiIENWU1NfYmFzZV9zY29yZT0iMTAuMCIgQ1ZTU19leHBsb2l0X3N1YnNjb3JlPSIxMC4wIiBDVlNTX2ltcGFjdF9zdWJzY29yZT0iMTAuMCIgbmFtZT0iQ1ZFLTIwMDgtNDUyNiIgc2VxPSIyMDA4LTQ1MjYiIHNldmVyaXR5PSJIaWdoIiB0eXBlPSJDVkUiIHB1Ymxpc2hlZD0iMjAwOC0xMC0wOSIgQ1ZTU192ZXJzaW9uPSIyLjAiIENWU1Nfc2NvcmU9IjEwLjAiIG1vZGlmaWVkPSIyMDA4LTEwLTEwIj4NCisgICAgICAgIDxkZXNjPg0KKyAgICAgICAgICAgIDxkZXNjcmlwdCBzb3VyY2U9ImN2ZSI+TXVsdGlwbGUgZGlyZWN0b3J5IHRyYXZlcnNhbCB2dWxuZXJhYmlsaXRpZXMgaW4gQ0NNUyAzLjEgYWxsb3cgcmVtb3RlIGF0dGFja2VycyB0byBpbmNsdWRlIGFuZCBleGVjdXRlIGFyYml0cmFyeSBsb2NhbCBmaWxlcyB2aWEgYSAuLiAoZG90IGRvdCkgaW4gdGhlIHNraW4gcGFyYW1ldGVyIHRvICgxKSBpbmRleC5waHAsICgyKSBmb3J1bXMucGhwLCAoMykgYWRtaW4ucGhwLCAoNCkgaGVhZGVyLnBocCwgKDUpIHBhZ2VzL3N0b3J5LnBocCBhbmQgKDYpIHBhZ2VzL3BvbGwucGhwLjwvZGVzY3JpcHQ+DQorICAgICAgICA8L2Rlc2M+DQorICAgICAgICA8bG9zc190eXBlcz4NCisgICAgICAgICAgICA8YXZhaWwgLz4NCisgICAgICAgICAgICA8Y29uZiAvPg0KKyAgICAgICAgICAgIDxpbnQgLz4NCisgICAgICAgIDwvbG9zc190eXBlcz4NCisgICAgICAgIDxyYW5nZT4NCisgICAgICAgICAgICA8bmV0d29yayAvPg0KKyAgICAgICAgPC9yYW5nZT4NCisgICAgICAgIDxyZWZzPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJCSUQiIHVybD0iaHR0cDovL3d3dy5zZWN1cml0eWZvY3VzLmNvbS9iaWQvMzE1NjYiPjMxNTY2PC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9Ik1JTFcwUk0iIHVybD0iaHR0cDovL3d3dy5taWx3MHJtLmNvbS9leHBsb2l0cy82NjYzIj42NjYzPC9yZWY+DQorICAgICAgICA8L3JlZnM+DQorICAgICAgICA8dnVsbl9zb2Z0Pg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0iY3VzdG9tY21zIiBuYW1lPSJjY21zIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIzLjEiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgPC92dWxuX3NvZnQ+DQorICAgIDwvZW50cnk+CisgICAgPGVudHJ5IENWU1NfdmVjdG9yPSIoQVY6Ti9BQzpML0F1Ok4vQzpQL0k6UC9BOlApIiBDVlNTX2Jhc2Vfc2NvcmU9IjcuNSIgQ1ZTU19leHBsb2l0X3N1YnNjb3JlPSIxMC4wIiBDVlNTX2ltcGFjdF9zdWJzY29yZT0iNi40IiBuYW1lPSJDVkUtMjAwOC00NTI3IiBzZXE9IjIwMDgtNDUyNyIgc2V2ZXJpdHk9IkhpZ2giIHR5cGU9IkNWRSIgcHVibGlzaGVkPSIyMDA4LTEwLTA5IiBDVlNTX3ZlcnNpb249IjIuMCIgQ1ZTU19zY29yZT0iNy41IiBtb2RpZmllZD0iMjAwOC0xMC0xMCI+DQorICAgICAgICA8ZGVzYz4NCisgICAgICAgICAgICA8ZGVzY3JpcHQgc291cmNlPSJjdmUiPlNRTCBpbmplY3Rpb24gdnVsbmVyYWJpbGl0eSBpbiByZWNlcHQucGhwIGluIHRoZSBSZWNlcGllcyAoUmVjZXB0KSBtb2R1bGUgMS4xIGZvciBQSFAtRnVzaW9uIGFsbG93cyByZW1vdGUgYXR0YWNrZXJzIHRvIGV4ZWN1dGUgYXJiaXRyYXJ5IFNRTCBjb21tYW5kcyB2aWEgdGhlIGthdF9pZCBwYXJhbWV0ZXIgaW4gYSBrYXRlZ29yaWVyIGFjdGlvbi4gIE5PVEU6IHNvbWUgb2YgdGhlc2UgZGV0YWlscyBhcmUgb2J0YWluZWQgZnJvbSB0aGlyZCBwYXJ0eSBpbmZvcm1hdGlvbi48L2Rlc2NyaXB0Pg0KKyAgICAgICAgPC9kZXNjPg0KKyAgICAgICAgPGxvc3NfdHlwZXM+DQorICAgICAgICAgICAgPGF2YWlsIC8+DQorICAgICAgICAgICAgPGNvbmYgLz4NCisgICAgICAgICAgICA8aW50IC8+DQorICAgICAgICAgICAgPHNlY19wcm90IG90aGVyPSIxIiAvPg0KKyAgICAgICAgPC9sb3NzX3R5cGVzPg0KKyAgICAgICAgPHJhbmdlPg0KKyAgICAgICAgICAgIDxuZXR3b3JrIC8+DQorICAgICAgICA8L3JhbmdlPg0KKyAgICAgICAgPHJlZnM+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkJJRCIgdXJsPSJodHRwOi8vd3d3LnNlY3VyaXR5Zm9jdXMuY29tL2JpZC8zMTU3OCI+MzE1Nzg8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iTUlMVzBSTSIgdXJsPSJodHRwOi8vd3d3Lm1pbHcwcm0uY29tL2V4cGxvaXRzLzY2ODMiPjY2ODM8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iU0VDVU5JQSIgdXJsPSJodHRwOi8vc2VjdW5pYS5jb20vYWR2aXNvcmllcy8zMjAwNCIgYWR2PSIxIj4zMjAwNDwvcmVmPg0KKyAgICAgICAgPC9yZWZzPg0KKyAgICAgICAgPHZ1bG5fc29mdD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9InBocC1mdXNpb24iIG5hbWU9InJlY2VwaWVzX21vZHVsZSI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4xIiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgIDwvdnVsbl9zb2Z0Pg0KKyAgICA8L2VudHJ5PgorICAgIDxlbnRyeSBDVlNTX3ZlY3Rvcj0iKEFWOk4vQUM6TC9BdTpOL0M6UC9JOlAvQTpQKSIgQ1ZTU19iYXNlX3Njb3JlPSI3LjUiIENWU1NfZXhwbG9pdF9zdWJzY29yZT0iMTAuMCIgQ1ZTU19pbXBhY3Rfc3Vic2NvcmU9IjYuNCIgbmFtZT0iQ1ZFLTIwMDgtNDUyOCIgc2VxPSIyMDA4LTQ1MjgiIHNldmVyaXR5PSJIaWdoIiB0eXBlPSJDVkUiIHB1Ymxpc2hlZD0iMjAwOC0xMC0wOSIgQ1ZTU192ZXJzaW9uPSIyLjAiIENWU1Nfc2NvcmU9IjcuNSIgbW9kaWZpZWQ9IjIwMDgtMTAtMTAiPg0KKyAgICAgICAgPGRlc2M+DQorICAgICAgICAgICAgPGRlc2NyaXB0IHNvdXJjZT0iY3ZlIj5EaXJlY3RvcnkgdHJhdmVyc2FsIHZ1bG5lcmFiaWxpdHkgaW4gbm90ZXMucGhwIGluIFBobGF0bGluZSdzIFBlcnNvbmFsIEluZm9ybWF0aW9uIE1hbmFnZXIgKHBQSU0pIDEuMDEgYWxsb3dzIHJlbW90ZSBhdHRhY2tlcnMgdG8gaW5jbHVkZSBhbmQgZXhlY3V0ZSBhcmJpdHJhcnkgbG9jYWwgZmlsZXMgdmlhIGEgLi4gKGRvdCBkb3QpIGluIHRoZSBpZCBwYXJhbWV0ZXIgaW4gYW4gZWRpdCBhY3Rpb24uPC9kZXNjcmlwdD4NCisgICAgICAgIDwvZGVzYz4NCisgICAgICAgIDxsb3NzX3R5cGVzPg0KKyAgICAgICAgICAgIDxhdmFpbCAvPg0KKyAgICAgICAgICAgIDxjb25mIC8+DQorICAgICAgICAgICAgPGludCAvPg0KKyAgICAgICAgICAgIDxzZWNfcHJvdCBvdGhlcj0iMSIgLz4NCisgICAgICAgIDwvbG9zc190eXBlcz4NCisgICAgICAgIDxyYW5nZT4NCisgICAgICAgICAgICA8bmV0d29yayAvPg0KKyAgICAgICAgPC9yYW5nZT4NCisgICAgICAgIDxyZWZzPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJCSUQiIHVybD0iaHR0cDovL3d3dy5zZWN1cml0eWZvY3VzLmNvbS9iaWQvMzE1NzEiPjMxNTcxPC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9Ik1JTFcwUk0iIHVybD0iaHR0cDovL3d3dy5taWx3MHJtLmNvbS9leHBsb2l0cy82NjY3Ij42NjY3PC9yZWY+DQorICAgICAgICA8L3JlZnM+DQorICAgICAgICA8dnVsbl9zb2Z0Pg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0icGhsYXRsaW5lIiBuYW1lPSJwZXJzb25hbF9pbmZvcm1hdGlvbl9tYW5hZ2VyIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjAxIiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgIDwvdnVsbl9zb2Z0Pg0KKyAgICA8L2VudHJ5PgorICAgIDxlbnRyeSBDVlNTX3ZlY3Rvcj0iKEFWOk4vQUM6TC9BdTpOL0M6UC9JOlAvQTpQKSIgQ1ZTU19iYXNlX3Njb3JlPSI3LjUiIENWU1NfZXhwbG9pdF9zdWJzY29yZT0iMTAuMCIgQ1ZTU19pbXBhY3Rfc3Vic2NvcmU9IjYuNCIgbmFtZT0iQ1ZFLTIwMDgtNDUyOSIgc2VxPSIyMDA4LTQ1MjkiIHNldmVyaXR5PSJIaWdoIiB0eXBlPSJDVkUiIHB1Ymxpc2hlZD0iMjAwOC0xMC0wOSIgQ1ZTU192ZXJzaW9uPSIyLjAiIENWU1Nfc2NvcmU9IjcuNSIgbW9kaWZpZWQ9IjIwMDgtMTAtMTEiPg0KKyAgICAgICAgPGRlc2M+DQorICAgICAgICAgICAgPGRlc2NyaXB0IHNvdXJjZT0iY3ZlIj5NdWx0aXBsZSBQSFAgcmVtb3RlIGZpbGUgaW5jbHVzaW9uIHZ1bG5lcmFiaWxpdGllcyBpbiBhc2lDTVMgYWxwaGEgMC4yMDggYWxsb3cgcmVtb3RlIGF0dGFja2VycyB0byBleGVjdXRlIGFyYml0cmFyeSBQSFAgY29kZSB2aWEgYSBVUkwgaW4gdGhlIF9FTlZbYXNpY21zXVtwYXRoXSBwYXJhbWV0ZXIgdG8gKDEpIEFzc29jaWF0aW9uLnBocCwgKDIpIEJpZ01hdGgucGhwLCAoMykgRGlmZmllSGVsbG1hbi5waHAsICg0KSBEdW1iU3RvcmUucGhwLCAoNSkgRXh0ZW5zaW9uLnBocCwgKDYpIEZpbGVTdG9yZS5waHAsICg3KSBITUFDLnBocCwgKDgpIE1lbWNhY2hlZFN0b3JlLnBocCwgKDkpIE1lc3NhZ2UucGhwLCAoMTApIE5vbmNlLnBocCwgKDExKSBTUUxTdG9yZS5waHAsICgxMikgU1JlZy5waHAsICgxMykgVHJ1c3RSb290LnBocCwgYW5kICgxNCkgVVJJTm9ybS5waHAgaW4gY2xhc3Nlcy9BdXRoL09wZW5JRC87IGFuZCAoMTUpIFhSRFMucGhwLCAoMTYpIFhSSS5waHAgYW5kICgxNykgWFJJUmVzLnBocCBpbiBjbGFzc2VzL0F1dGgvWWFkaXMvLjwvZGVzY3JpcHQ+DQorICAgICAgICA8L2Rlc2M+DQorICAgICAgICA8bG9zc190eXBlcz4NCisgICAgICAgICAgICA8YXZhaWwgLz4NCisgICAgICAgICAgICA8Y29uZiAvPg0KKyAgICAgICAgICAgIDxpbnQgLz4NCisgICAgICAgICAgICA8c2VjX3Byb3Qgb3RoZXI9IjEiIC8+DQorICAgICAgICA8L2xvc3NfdHlwZXM+DQorICAgICAgICA8cmFuZ2U+DQorICAgICAgICAgICAgPG5ldHdvcmsgLz4NCisgICAgICAgIDwvcmFuZ2U+DQorICAgICAgICA8cmVmcz4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQklEIiB1cmw9Imh0dHA6Ly93d3cuc2VjdXJpdHlmb2N1cy5jb20vYmlkLzMxNjAxIj4zMTYwMTwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJNSUxXMFJNIiB1cmw9Imh0dHA6Ly93d3cubWlsdzBybS5jb20vZXhwbG9pdHMvNjY4NSI+NjY4NTwvcmVmPg0KKyAgICAgICAgPC9yZWZzPg0KKyAgICAgICAgPHZ1bG5fc29mdD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9ImFzaWNtcyIgbmFtZT0iYXNpY21zIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iYWxwaGEiIG51bT0iMC4yMDgiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgPC92dWxuX3NvZnQ+DQorICAgIDwvZW50cnk+CisgICAgPGVudHJ5IENWU1NfdmVjdG9yPSIoQVY6Ti9BQzpNL0F1Ok4vQzpOL0k6UC9BOk4pIiBDVlNTX2Jhc2Vfc2NvcmU9IjQuMyIgQ1ZTU19leHBsb2l0X3N1YnNjb3JlPSI4LjYiIENWU1NfaW1wYWN0X3N1YnNjb3JlPSIyLjkiIG5hbWU9IkNWRS0yMDA4LTQ1MzAiIHNlcT0iMjAwOC00NTMwIiBzZXZlcml0eT0iTWVkaXVtIiB0eXBlPSJDVkUiIHB1Ymxpc2hlZD0iMjAwOC0xMC0wOSIgQ1ZTU192ZXJzaW9uPSIyLjAiIENWU1Nfc2NvcmU9IjQuMyIgbW9kaWZpZWQ9IjIwMDgtMTAtMTAiPg0KKyAgICAgICAgPGRlc2M+DQorICAgICAgICAgICAgPGRlc2NyaXB0IHNvdXJjZT0iY3ZlIj5Dcm9zcy1zaXRlIHNjcmlwdGluZyAoWFNTKSB2dWxuZXJhYmlsaXR5IGluIEJyaWxsaWFudCBHYWxsZXJ5IDUueCBiZWZvcmUgNS54LTQuMiwgYSBtb2R1bGUgZm9yIERydXBhbCwgYWxsb3dzIHJlbW90ZSBhdXRoZW50aWNhdGVkIHVzZXJzIHdpdGggcGVybWlzc2lvbnMgdG8gaW5qZWN0IGFyYml0cmFyeSB3ZWIgc2NyaXB0IG9yIEhUTUwgdmlhIHVuc3BlY2lmaWVkIHZlY3RvcnMgcmVsYXRlZCB0byBwb3N0aW5nIG9mIGFuc3dlcnMuPC9kZXNjcmlwdD4NCisgICAgICAgIDwvZGVzYz4NCisgICAgICAgIDxsb3NzX3R5cGVzPg0KKyAgICAgICAgICAgIDxpbnQgLz4NCisgICAgICAgIDwvbG9zc190eXBlcz4NCisgICAgICAgIDxyYW5nZT4NCisgICAgICAgICAgICA8bmV0d29yayAvPg0KKyAgICAgICAgICAgIDx1c2VyX2luaXQgLz4NCisgICAgICAgIDwvcmFuZ2U+DQorICAgICAgICA8cmVmcz4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQ09ORklSTSIgcGF0Y2g9IjEiIHVybD0iaHR0cDovL2RydXBhbC5vcmcvbm9kZS8zMTU5MTkiIGFkdj0iMSI+aHR0cDovL2RydXBhbC5vcmcvbm9kZS8zMTU5MTk8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iWEYiIHVybD0iaHR0cDovL3hmb3JjZS5pc3MubmV0L3hmb3JjZS94ZmRiLzQ1NjM2Ij5icmlsbGlhbnRnYWxsZXJ5LXVuc3BlY2lmaWVkLXhzcyg0NTYzNik8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQklEIiB1cmw9Imh0dHA6Ly93d3cuc2VjdXJpdHlmb2N1cy5jb20vYmlkLzMxNTU0Ij4zMTU1NDwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJTRUNVTklBIiB1cmw9Imh0dHA6Ly9zZWN1bmlhLmNvbS9hZHZpc29yaWVzLzMyMTA2IiBhZHY9IjEiPjMyMTA2PC9yZWY+DQorICAgICAgICA8L3JlZnM+DQorICAgICAgICA8dnVsbl9zb2Z0Pg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0iZHJ1cGFsIiBuYW1lPSJicmlsbGlhbnRfZ2FsbGVyeSI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNS54LTEuMCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI1LngtMS4xIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjUueC0xLjIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNS54LTIuMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI1LngtMi4xMCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI1LngtMi4xMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI1LngtMi4xMiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI1LngtMi4xMyIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI1LngtMi4xNCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI1LngtMi4xNSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI1LngtMi4xNiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI1LngtMi4xNyIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI1LngtMi4yIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjUueC0yLjMiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNS54LTIuNCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI1LngtMi41IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjUueC0yLjYiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNS54LTIuNyIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI1LngtMi44IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjUueC0yLjkiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNS54LTMuMCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI1LngtMy4xIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjUueC0zLjIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNS54LTMuMyIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI1LngtNC4wIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjUueC00LjEiIHByZXY9IjEiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgPC92dWxuX3NvZnQ+DQorICAgIDwvZW50cnk+CisgICAgPGVudHJ5IENWU1NfdmVjdG9yPSIoQVY6Ti9BQzpML0F1Ok4vQzpQL0k6UC9BOlApIiBDVlNTX2Jhc2Vfc2NvcmU9IjcuNSIgQ1ZTU19leHBsb2l0X3N1YnNjb3JlPSIxMC4wIiBDVlNTX2ltcGFjdF9zdWJzY29yZT0iNi40IiBuYW1lPSJDVkUtMjAwOC00NTMxIiBzZXE9IjIwMDgtNDUzMSIgc2V2ZXJpdHk9IkhpZ2giIHR5cGU9IkNWRSIgcHVibGlzaGVkPSIyMDA4LTEwLTA5IiBDVlNTX3ZlcnNpb249IjIuMCIgQ1ZTU19zY29yZT0iNy41IiBtb2RpZmllZD0iMjAwOC0xMC0xMCI+DQorICAgICAgICA8ZGVzYz4NCisgICAgICAgICAgICA8ZGVzY3JpcHQgc291cmNlPSJjdmUiPlNRTCBpbmplY3Rpb24gdnVsbmVyYWJpbGl0eSBpbiBCcmlsbGlhbnQgR2FsbGVyeSA1LnggYmVmb3JlIDUueC00LjIsIGEgbW9kdWxlIGZvciBEcnVwYWwsIGFsbG93cyByZW1vdGUgYXR0YWNrZXJzIHRvIGV4ZWN1dGUgYXJiaXRyYXJ5IFNRTCBjb21tYW5kcyB2aWEgdW5zcGVjaWZpZWQgdmVjdG9ycywgcmVsYXRlZCB0byBxdWVyaWVzLiAgTk9URTogdGhpcyBtaWdodCBiZSB0aGUgc2FtZSBpc3N1ZSBhcyBDVkUtMjAwOC00MzM4LjwvZGVzY3JpcHQ+DQorICAgICAgICA8L2Rlc2M+DQorICAgICAgICA8bG9zc190eXBlcz4NCisgICAgICAgICAgICA8YXZhaWwgLz4NCisgICAgICAgICAgICA8Y29uZiAvPg0KKyAgICAgICAgICAgIDxpbnQgLz4NCisgICAgICAgIDwvbG9zc190eXBlcz4NCisgICAgICAgIDxyYW5nZT4NCisgICAgICAgICAgICA8bmV0d29yayAvPg0KKyAgICAgICAgPC9yYW5nZT4NCisgICAgICAgIDxyZWZzPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJYRiIgcGF0Y2g9IjEiIHVybD0iaHR0cDovL3hmb3JjZS5pc3MubmV0L3hmb3JjZS94ZmRiLzQ1NjM3Ij5icmlsbGlhbnRnYWxsZXJ5LXVuc3BlY2lmaWVkLXNxbC1pbmplY3Rpb24oNDU2MzcpPC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkJJRCIgcGF0Y2g9IjEiIHVybD0iaHR0cDovL3d3dy5zZWN1cml0eWZvY3VzLmNvbS9iaWQvMzE1NTQiPjMxNTU0PC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IlNFQ1VOSUEiIHBhdGNoPSIxIiB1cmw9Imh0dHA6Ly9zZWN1bmlhLmNvbS9hZHZpc29yaWVzLzMyMTA2IiBhZHY9IjEiPjMyMTA2PC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkNPTkZJUk0iIHBhdGNoPSIxIiB1cmw9Imh0dHA6Ly9kcnVwYWwub3JnL25vZGUvMzE1OTE5Ij5odHRwOi8vZHJ1cGFsLm9yZy9ub2RlLzMxNTkxOTwvcmVmPg0KKyAgICAgICAgPC9yZWZzPg0KKyAgICAgICAgPHZ1bG5fc29mdD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9ImRydXBhbCIgbmFtZT0iYnJpbGxpYW50X2dhbGxlcnkiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjUueC0xLjAiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNS54LTEuMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI1LngtMS4yIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjUueC0yLjEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNS54LTIuMTAiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNS54LTIuMTEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNS54LTIuMTIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNS54LTIuMTMiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNS54LTIuMTQiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNS54LTIuMTUiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNS54LTIuMTYiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNS54LTIuMTciIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNS54LTIuMiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI1LngtMi4zIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjUueC0yLjQiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNS54LTIuNSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI1LngtMi42IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjUueC0yLjciIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNS54LTIuOCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI1LngtMi45IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjUueC0zLjAiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNS54LTMuMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI1LngtMy4yIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjUueC0zLjMiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNS54LTQuMCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI1LngtNC4xIiBwcmV2PSIxIiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgIDwvdnVsbl9zb2Z0Pg0KKyAgICA8L2VudHJ5PgorICAgIDxlbnRyeSBDVlNTX3ZlY3Rvcj0iKEFWOk4vQUM6TS9BdTpOL0M6Ti9JOlAvQTpOKSIgQ1ZTU19iYXNlX3Njb3JlPSI0LjMiIENWU1NfZXhwbG9pdF9zdWJzY29yZT0iOC42IiBDVlNTX2ltcGFjdF9zdWJzY29yZT0iMi45IiBuYW1lPSJDVkUtMjAwOC00NTMyIiBzZXE9IjIwMDgtNDUzMiIgc2V2ZXJpdHk9Ik1lZGl1bSIgdHlwZT0iQ1ZFIiBwdWJsaXNoZWQ9IjIwMDgtMTAtMDkiIENWU1NfdmVyc2lvbj0iMi4wIiBDVlNTX3Njb3JlPSI0LjMiIG1vZGlmaWVkPSIyMDA4LTEwLTEwIj4NCisgICAgICAgIDxkZXNjPg0KKyAgICAgICAgICAgIDxkZXNjcmlwdCBzb3VyY2U9ImN2ZSI+Q3Jvc3Mtc2l0ZSBzY3JpcHRpbmcgKFhTUykgdnVsbmVyYWJpbGl0eSBpbiBpbmRleC5waHAgaW4gTWF4aVNjcmlwdCBXZWJzaXRlIERpcmVjdG9yeSBhbGxvd3MgcmVtb3RlIGF0dGFja2VycyB0byBpbmplY3QgYXJiaXRyYXJ5IHdlYiBzY3JpcHQgb3IgSFRNTCB2aWEgdGhlIGtleXdvcmQgcGFyYW1ldGVyIGluIGEgc2VhcmNoIGFjdGlvbi48L2Rlc2NyaXB0Pg0KKyAgICAgICAgPC9kZXNjPg0KKyAgICAgICAgPGxvc3NfdHlwZXM+DQorICAgICAgICAgICAgPGludCAvPg0KKyAgICAgICAgPC9sb3NzX3R5cGVzPg0KKyAgICAgICAgPHJhbmdlPg0KKyAgICAgICAgICAgIDxuZXR3b3JrIC8+DQorICAgICAgICAgICAgPHVzZXJfaW5pdCAvPg0KKyAgICAgICAgPC9yYW5nZT4NCisgICAgICAgIDxyZWZzPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJYRiIgdXJsPSJodHRwOi8veGZvcmNlLmlzcy5uZXQveGZvcmNlL3hmZGIvNDU2NTciPndlYnNpdGVkaXJlY3RvcnktaW5kZXgteHNzKDQ1NjU3KTwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJCSUQiIHVybD0iaHR0cDovL3d3dy5zZWN1cml0eWZvY3VzLmNvbS9iaWQvMzE1NjIiPjMxNTYyPC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkJVR1RSQVEiIHVybD0iaHR0cDovL3d3dy5zZWN1cml0eWZvY3VzLmNvbS9hcmNoaXZlLzEvYXJjaGl2ZS8xLzQ5Njk2Ny8xMDAvMC90aHJlYWRlZCI+MjAwODEwMDMgV2Vic2l0ZSBEaXJlY3RvcnkgLSBYU1MgRXhwbG9pdDwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJTRUNVTklBIiB1cmw9Imh0dHA6Ly9zZWN1bmlhLmNvbS9hZHZpc29yaWVzLzMyMTc2IiBhZHY9IjEiPjMyMTc2PC9yZWY+DQorICAgICAgICA8L3JlZnM+DQorICAgICAgICA8dnVsbl9zb2Z0Pg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0ibWF4aXNjcmlwdCIgbmFtZT0id2Vic2l0ZV9kaXJlY3RvcnkiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IiIgLz4NCisgICAgICAgICAgICA8L3Byb2Q+DQorICAgICAgICA8L3Z1bG5fc29mdD4NCisgICAgPC9lbnRyeT4KKyAgICA8ZW50cnkgQ1ZTU192ZWN0b3I9IihBVjpOL0FDOk0vQXU6Ti9DOlAvSTpQL0E6UCkiIENWU1NfYmFzZV9zY29yZT0iNi44IiBDVlNTX2V4cGxvaXRfc3Vic2NvcmU9IjguNiIgQ1ZTU19pbXBhY3Rfc3Vic2NvcmU9IjYuNCIgbmFtZT0iQ1ZFLTIwMDgtMzQzMiIgc2VxPSIyMDA4LTM0MzIiIHNldmVyaXR5PSJNZWRpdW0iIHR5cGU9IkNWRSIgcHVibGlzaGVkPSIyMDA4LTEwLTEwIiBDVlNTX3ZlcnNpb249IjIuMCIgQ1ZTU19zY29yZT0iNi44IiBtb2RpZmllZD0iMjAwOC0xMC0xMCI+DQorICAgICAgICA8ZGVzYz4NCisgICAgICAgICAgICA8ZGVzY3JpcHQgc291cmNlPSJjdmUiPkhlYXAtYmFzZWQgYnVmZmVyIG92ZXJmbG93IGluIHRoZSBtY2hfZXhwYW5kX3dpbGRjYXJkcyBmdW5jdGlvbiBpbiBvc191bml4LmMgaW4gVmltIDYuMiBhbmQgNi4zIGFsbG93cyB1c2VyLWFzc2lzdGVkIGF0dGFja2VycyB0byBleGVjdXRlIGFyYml0cmFyeSBjb2RlIHZpYSBzaGVsbCBtZXRhY2hhcmFjdGVycyBpbiBmaWxlbmFtZXMsIGFzIGRlbW9uc3RyYXRlZCBieSB0aGUgbmV0cncudjMgdGVzdCBjYXNlLjwvZGVzY3JpcHQ+DQorICAgICAgICA8L2Rlc2M+DQorICAgICAgICA8bG9zc190eXBlcz4NCisgICAgICAgICAgICA8YXZhaWwgLz4NCisgICAgICAgICAgICA8Y29uZiAvPg0KKyAgICAgICAgICAgIDxpbnQgLz4NCisgICAgICAgIDwvbG9zc190eXBlcz4NCisgICAgICAgIDxyYW5nZT4NCisgICAgICAgICAgICA8bmV0d29yayAvPg0KKyAgICAgICAgICAgIDx1c2VyX2luaXQgLz4NCisgICAgICAgIDwvcmFuZ2U+DQorICAgICAgICA8cmVmcz4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQklEIiBwYXRjaD0iMSIgdXJsPSJodHRwOi8vd3d3LnNlY3VyaXR5Zm9jdXMuY29tL2JpZC8zMTY4MSI+MzE2ODE8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQVBQTEUiIHBhdGNoPSIxIiB1cmw9Imh0dHA6Ly9saXN0cy5hcHBsZS5jb20vYXJjaGl2ZXMvc2VjdXJpdHktYW5ub3VuY2UvMjAwOC9PY3QvbXNnMDAwMDEuaHRtbCI+QVBQTEUtU0EtMjAwOC0xMC0wOTwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJNTElTVCIgdXJsPSJodHRwOi8vd3d3Lm9wZW53YWxsLmNvbS9saXN0cy9vc3Mtc2VjdXJpdHkvMjAwOC8wOC8wMS8xIj5bb3NzLXNlY3VyaXR5XSAyMDA4MDczMSBSZTogUmU6IE1vcmUgYXJiaXRyYXJ5IGNvZGUgZXhlY3V0aW9ucyBpbiBOZXRydzwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJNTElTVCIgdXJsPSJodHRwOi8vd3d3Lm9wZW53YWxsLmNvbS9saXN0cy9vc3Mtc2VjdXJpdHkvMjAwOC8wNy8xNS80Ij5bb3NzLXNlY3VyaXR5XSAyMDA4MDcxNSBSZTogUmU6IE1vcmUgYXJiaXRyYXJ5IGNvZGUgZXhlY3V0aW9ucyBpbiBOZXRydzwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJDT05GSVJNIiB1cmw9ImZ0cDovL2Z0cC52aW0ub3JnL3B1Yi92aW0vcGF0Y2hlcy82LjMvNi4zLjA1OSI+ZnRwOi8vZnRwLnZpbS5vcmcvcHViL3ZpbS9wYXRjaGVzLzYuMy82LjMuMDU5PC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkNPTkZJUk0iIHVybD0iZnRwOi8vZnRwLnZpbS5vcmcvcHViL3ZpbS9wYXRjaGVzLzYuMi40MjkiPmZ0cDovL2Z0cC52aW0ub3JnL3B1Yi92aW0vcGF0Y2hlcy82LjIuNDI5PC9yZWY+DQorICAgICAgICA8L3JlZnM+DQorICAgICAgICA8dnVsbl9zb2Z0Pg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0idmltIiBuYW1lPSJ2aW0iPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjYuMiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI2LjMiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgPC92dWxuX3NvZnQ+DQorICAgIDwvZW50cnk+CisgICAgPGVudHJ5IENWU1NfdmVjdG9yPSIoQVY6Ti9BQzpML0F1Ok4vQzpDL0k6Qy9BOkMpIiBDVlNTX2Jhc2Vfc2NvcmU9IjEwLjAiIENWU1NfZXhwbG9pdF9zdWJzY29yZT0iMTAuMCIgQ1ZTU19pbXBhY3Rfc3Vic2NvcmU9IjEwLjAiIG5hbWU9IkNWRS0yMDA4LTM2NDEiIHNlcT0iMjAwOC0zNjQxIiBzZXZlcml0eT0iSGlnaCIgdHlwZT0iQ1ZFIiBwdWJsaXNoZWQ9IjIwMDgtMTAtMTAiIENWU1NfdmVyc2lvbj0iMi4wIiBDVlNTX3Njb3JlPSIxMC4wIiBtb2RpZmllZD0iMjAwOC0xMC0xNSI+DQorICAgICAgICA8ZGVzYz4NCisgICAgICAgICAgICA8ZGVzY3JpcHQgc291cmNlPSJjdmUiPlRoZSBIZXdsZXR0LVBhY2thcmQgR3JhcGhpY3MgTGFuZ3VhZ2UgKEhQR0wpIGZpbHRlciBpbiBDVVBTIGJlZm9yZSAxLjMuOSBhbGxvd3MgcmVtb3RlIGF0dGFja2VycyB0byBleGVjdXRlIGFyYml0cmFyeSBjb2RlIHZpYSBjcmFmdGVkIHBlbiB3aWR0aCBhbmQgcGVuIGNvbG9yIG9wY29kZXMgdGhhdCBvdmVyd3JpdGUgYXJiaXRyYXJ5IG1lbW9yeS48L2Rlc2NyaXB0Pg0KKyAgICAgICAgPC9kZXNjPg0KKyAgICAgICAgPGxvc3NfdHlwZXM+DQorICAgICAgICAgICAgPGF2YWlsIC8+DQorICAgICAgICAgICAgPGNvbmYgLz4NCisgICAgICAgICAgICA8aW50IC8+DQorICAgICAgICA8L2xvc3NfdHlwZXM+DQorICAgICAgICA8cmFuZ2U+DQorICAgICAgICAgICAgPG5ldHdvcmsgLz4NCisgICAgICAgIDwvcmFuZ2U+DQorICAgICAgICA8cmVmcz4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQklEIiBwYXRjaD0iMSIgdXJsPSJodHRwOi8vd3d3LnNlY3VyaXR5Zm9jdXMuY29tL2JpZC8zMTY4MSI+MzE2ODE8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQ09ORklSTSIgcGF0Y2g9IjEiIHVybD0iaHR0cDovL2N1cHMub3JnL2FydGljbGVzLnBocD9MNTc1IiBhZHY9IjEiPmh0dHA6Ly93d3cuY3Vwcy5vcmcvYXJ0aWNsZXMucGhwP0w1NzU8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iUkVESEFUIiB1cmw9Imh0dHA6Ly93d3cucmVkaGF0LmNvbS9zdXBwb3J0L2VycmF0YS9SSFNBLTIwMDgtMDkzNy5odG1sIj5SSFNBLTIwMDg6MDkzNzwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJNQU5EUklWQSIgdXJsPSJodHRwOi8vd3d3Lm1hbmRyaXZhLmNvbS9zZWN1cml0eS9hZHZpc29yaWVzP25hbWU9TURWU0EtMjAwODoyMTEiPk1EVlNBLTIwMDg6MjExPC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkZSU0lSVCIgdXJsPSJodHRwOi8vd3d3LmZyc2lydC5jb20vZW5nbGlzaC9hZHZpc29yaWVzLzIwMDgvMjc4MiI+QURWLTIwMDgtMjc4MjwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJDT05GSVJNIiB1cmw9Imh0dHA6Ly93d3cuY3Vwcy5vcmcvc3RyLnBocD9MMjkxMSI+aHR0cDovL3d3dy5jdXBzLm9yZy9zdHIucGhwP0wyOTExPC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IlNFQ1VOSUEiIHVybD0iaHR0cDovL3NlY3VuaWEuY29tL2Fkdmlzb3JpZXMvMzIyMjYiPjMyMjI2PC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IlNFQ1VOSUEiIHVybD0iaHR0cDovL3NlY3VuaWEuY29tL2Fkdmlzb3JpZXMvMzIwODQiPjMyMDg0PC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkFQUExFIiB1cmw9Imh0dHA6Ly9saXN0cy5hcHBsZS5jb20vYXJjaGl2ZXMvc2VjdXJpdHktYW5ub3VuY2UvMjAwOC9PY3QvbXNnMDAwMDEuaHRtbCI+QVBQTEUtU0EtMjAwOC0xMC0wOTwvcmVmPg0KKyAgICAgICAgPC9yZWZzPg0KKyAgICAgICAgPHZ1bG5fc29mdD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9ImFwcGxlIiBuYW1lPSJjdXBzIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4xLjEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4xLjEwIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMS4xMC0xIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMS4xMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjEuMTIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4xLjEzIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMS4xNCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjEuMTUiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4xLjE2IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMS4xNyIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjEuMTgiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InJjMSIgbnVtPSIxLjEuMTkiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InJjMiIgbnVtPSIxLjEuMTkiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InJjMyIgbnVtPSIxLjEuMTkiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InJjNCIgbnVtPSIxLjEuMTkiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InJjNSIgbnVtPSIxLjEuMTkiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4xLjIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InJjMSIgbnVtPSIxLjEuMjAiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InJjMiIgbnVtPSIxLjEuMjAiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InJjMyIgbnVtPSIxLjEuMjAiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InJjNCIgbnVtPSIxLjEuMjAiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InJjNSIgbnVtPSIxLjEuMjAiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InJjNiIgbnVtPSIxLjEuMjAiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InJjMSIgbnVtPSIxLjEuMjEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InJjMiIgbnVtPSIxLjEuMjEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InJjMSIgbnVtPSIxLjEuMjIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InJjMiIgbnVtPSIxLjEuMjIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InJjMSIgbnVtPSIxLjEuMjMiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4xLjMiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4xLjQiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4xLjUiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4xLjUtMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjEuNS0yIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMS42IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMS42LTEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4xLjYtMiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjEuNi0zIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMS43IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMS44IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMS45IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMS45LTEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249ImIxIiBudW09IjEuMiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iYjIiIG51bT0iMS4yIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJyYzEiIG51bT0iMS4yIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJyYzIiIG51bT0iMS4yIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJyYzMiIG51bT0iMS4yIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMi4wIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMi4xIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMi4xMCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjIuMTEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4yLjEyIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMi4yIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMi4zIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMi40IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMi41IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMi42IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMi43IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMi44IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMi45IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJiMSIgbnVtPSIxLjMiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InJjMSIgbnVtPSIxLjMiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InJjMiIgbnVtPSIxLjMiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4zLjAiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4zLjEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4zLjIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4zLjMiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4zLjQiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4zLjUiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4zLjYiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4zLjciIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4zLjgiIHByZXY9IjEiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgPC92dWxuX3NvZnQ+DQorICAgIDwvZW50cnk+CisgICAgPGVudHJ5IENWU1NfdmVjdG9yPSIoQVY6Ti9BQzpNL0F1Ok4vQzpDL0k6Qy9BOkMpIiBDVlNTX2Jhc2Vfc2NvcmU9IjkuMyIgQ1ZTU19leHBsb2l0X3N1YnNjb3JlPSI4LjYiIENWU1NfaW1wYWN0X3N1YnNjb3JlPSIxMC4wIiBuYW1lPSJDVkUtMjAwOC0zNjQyIiBzZXE9IjIwMDgtMzY0MiIgc2V2ZXJpdHk9IkhpZ2giIHR5cGU9IkNWRSIgcHVibGlzaGVkPSIyMDA4LTEwLTEwIiBDVlNTX3ZlcnNpb249IjIuMCIgQ1ZTU19zY29yZT0iOS4zIiBtb2RpZmllZD0iMjAwOC0xMC0xMCI+DQorICAgICAgICA8ZGVzYz4NCisgICAgICAgICAgICA8ZGVzY3JpcHQgc291cmNlPSJjdmUiPkJ1ZmZlciBvdmVyZmxvdyBpbiBDb2xvclN5bmMgaW4gTWFjIE9TIFggMTAuNC4xMSBhbmQgMTAuNS41IGFsbG93cyByZW1vdGUgYXR0YWNrZXJzIHRvIGNhdXNlIGEgZGVuaWFsIG9mIHNlcnZpY2UgKGFwcGxpY2F0aW9uIHRlcm1pbmF0aW9uKSBhbmQgcG9zc2libHkgZXhlY3V0ZSBhcmJpdHJhcnkgY29kZSB2aWEgYW4gaW1hZ2Ugd2l0aCBhIGNyYWZ0ZWQgSUNDIHByb2ZpbGUuPC9kZXNjcmlwdD4NCisgICAgICAgIDwvZGVzYz4NCisgICAgICAgIDxsb3NzX3R5cGVzPg0KKyAgICAgICAgICAgIDxhdmFpbCAvPg0KKyAgICAgICAgICAgIDxjb25mIC8+DQorICAgICAgICAgICAgPGludCAvPg0KKyAgICAgICAgPC9sb3NzX3R5cGVzPg0KKyAgICAgICAgPHJhbmdlPg0KKyAgICAgICAgICAgIDxuZXR3b3JrIC8+DQorICAgICAgICAgICAgPHVzZXJfaW5pdCAvPg0KKyAgICAgICAgPC9yYW5nZT4NCisgICAgICAgIDxyZWZzPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJCSUQiIHVybD0iaHR0cDovL3d3dy5zZWN1cml0eWZvY3VzLmNvbS9iaWQvMzE2ODEiPjMxNjgxPC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkFQUExFIiB1cmw9Imh0dHA6Ly9saXN0cy5hcHBsZS5jb20vYXJjaGl2ZXMvc2VjdXJpdHktYW5ub3VuY2UvMjAwOC9PY3QvbXNnMDAwMDEuaHRtbCI+QVBQTEUtU0EtMjAwOC0xMC0wOTwvcmVmPg0KKyAgICAgICAgPC9yZWZzPg0KKyAgICAgICAgPHZ1bG5fc29mdD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9ImFwcGxlIiBuYW1lPSJtYWNfb3NfeCI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMTAuNC4xMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxMC41LjUiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0iYXBwbGUiIG5hbWU9Im1hY19vc194X3NlcnZlciI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMTAuNC4xMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxMC41LjUiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgPC92dWxuX3NvZnQ+DQorICAgIDwvZW50cnk+CisgICAgPGVudHJ5IENWU1NfdmVjdG9yPSIoQVY6Ti9BQzpML0F1Ok4vQzpOL0k6Ti9BOkMpIiBDVlNTX2Jhc2Vfc2NvcmU9IjcuOCIgQ1ZTU19leHBsb2l0X3N1YnNjb3JlPSIxMC4wIiBDVlNTX2ltcGFjdF9zdWJzY29yZT0iNi45IiBuYW1lPSJDVkUtMjAwOC0zNjQzIiBzZXE9IjIwMDgtMzY0MyIgc2V2ZXJpdHk9IkhpZ2giIHR5cGU9IkNWRSIgcHVibGlzaGVkPSIyMDA4LTEwLTEwIiBDVlNTX3ZlcnNpb249IjIuMCIgQ1ZTU19zY29yZT0iNy44IiBtb2RpZmllZD0iMjAwOC0xMC0xMCI+DQorICAgICAgICA8ZGVzYz4NCisgICAgICAgICAgICA8ZGVzY3JpcHQgc291cmNlPSJjdmUiPlVuc3BlY2lmaWVkIHZ1bG5lcmFiaWxpdHkgaW4gRmluZGVyIGluIE1hYyBPUyBYIDEwLjUuNSBhbGxvd3MgdXNlci1hc3Npc3RlZCBhdHRhY2tlcnMgdG8gY2F1c2UgYSBkZW5pYWwgb2Ygc2VydmljZSAoY29udGludW91cyB0ZXJtaW5hdGlvbiBhbmQgcmVzdGFydCkgdmlhIGEgY3JhZnRlZCBEZXNrdG9wIGZpbGUgdGhhdCBnZW5lcmF0ZXMgYW4gZXJyb3Igd2hlbiBwcm9kdWNpbmcgaXRzIGljb24sIHJlbGF0ZWQgdG8gYW4gImVycm9yIHJlY292ZXJ5IGlzc3VlLiI8L2Rlc2NyaXB0Pg0KKyAgICAgICAgPC9kZXNjPg0KKyAgICAgICAgPGxvc3NfdHlwZXM+DQorICAgICAgICAgICAgPGF2YWlsIC8+DQorICAgICAgICA8L2xvc3NfdHlwZXM+DQorICAgICAgICA8cmFuZ2U+DQorICAgICAgICAgICAgPG5ldHdvcmsgLz4NCisgICAgICAgIDwvcmFuZ2U+DQorICAgICAgICA8cmVmcz4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQklEIiBwYXRjaD0iMSIgdXJsPSJodHRwOi8vd3d3LnNlY3VyaXR5Zm9jdXMuY29tL2JpZC8zMTY4MSI+MzE2ODE8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQVBQTEUiIHVybD0iaHR0cDovL2xpc3RzLmFwcGxlLmNvbS9hcmNoaXZlcy9zZWN1cml0eS1hbm5vdW5jZS8yMDA4L09jdC9tc2cwMDAwMS5odG1sIiBhZHY9IjEiPkFQUExFLVNBLTIwMDgtMTAtMDk8L3JlZj4NCisgICAgICAgIDwvcmVmcz4NCisgICAgICAgIDx2dWxuX3NvZnQ+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJhcHBsZSIgbmFtZT0ibWFjX29zX3giPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEwLjUuNSIgLz4NCisgICAgICAgICAgICA8L3Byb2Q+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJhcHBsZSIgbmFtZT0ibWFjX29zX3hfc2VydmVyIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxMC41LjUiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgPC92dWxuX3NvZnQ+DQorICAgIDwvZW50cnk+CisgICAgPGVudHJ5IENWU1NfdmVjdG9yPSIoQVY6TC9BQzpML0F1Ok4vQzpDL0k6Qy9BOkMpIiBDVlNTX2Jhc2Vfc2NvcmU9IjcuMiIgQ1ZTU19leHBsb2l0X3N1YnNjb3JlPSIzLjkiIENWU1NfaW1wYWN0X3N1YnNjb3JlPSIxMC4wIiBuYW1lPSJDVkUtMjAwOC0zNjQ1IiBzZXE9IjIwMDgtMzY0NSIgc2V2ZXJpdHk9IkhpZ2giIHR5cGU9IkNWRSIgcHVibGlzaGVkPSIyMDA4LTEwLTEwIiBDVlNTX3ZlcnNpb249IjIuMCIgQ1ZTU19zY29yZT0iNy4yIiBtb2RpZmllZD0iMjAwOC0xMC0xMCI+DQorICAgICAgICA8ZGVzYz4NCisgICAgICAgICAgICA8ZGVzY3JpcHQgc291cmNlPSJjdmUiPkhlYXAtYmFzZWQgYnVmZmVyIG92ZXJmbG93IGluIHRoZSBsb2NhbCBJUEMgY29tcG9uZW50IGluIHRoZSBFQVBPTENvbnRyb2xsZXIgcGx1Z2luIGZvciBjb25maWdkIChOZXR3b3JraW5nIGNvbXBvbmVudCkgaW4gTWFjIE9TIFggMTAuNC4xMSBhbmQgMTAuNS41IGFsbG93cyBsb2NhbCB1c2VycyB0byBleGVjdXRlIGFyYml0cmFyeSBjb2RlIHZpYSB1bmtub3duIHZlY3RvcnMuPC9kZXNjcmlwdD4NCisgICAgICAgIDwvZGVzYz4NCisgICAgICAgIDxsb3NzX3R5cGVzPg0KKyAgICAgICAgICAgIDxhdmFpbCAvPg0KKyAgICAgICAgICAgIDxjb25mIC8+DQorICAgICAgICAgICAgPGludCAvPg0KKyAgICAgICAgICAgIDxzZWNfcHJvdCBhZG1pbj0iMSIgLz4NCisgICAgICAgIDwvbG9zc190eXBlcz4NCisgICAgICAgIDxyYW5nZT4NCisgICAgICAgICAgICA8bG9jYWwgLz4NCisgICAgICAgIDwvcmFuZ2U+DQorICAgICAgICA8cmVmcz4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQklEIiBwYXRjaD0iMSIgdXJsPSJodHRwOi8vd3d3LnNlY3VyaXR5Zm9jdXMuY29tL2JpZC8zMTY4MSI+MzE2ODE8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQVBQTEUiIHVybD0iaHR0cDovL2xpc3RzLmFwcGxlLmNvbS9hcmNoaXZlcy9zZWN1cml0eS1hbm5vdW5jZS8yMDA4L09jdC9tc2cwMDAwMS5odG1sIiBhZHY9IjEiPkFQUExFLVNBLTIwMDgtMTAtMDk8L3JlZj4NCisgICAgICAgIDwvcmVmcz4NCisgICAgICAgIDx2dWxuX3NvZnQ+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJhcHBsZSIgbmFtZT0ibWFjX29zX3giPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEwLjQuMTEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMTAuNS41IiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9ImFwcGxlIiBuYW1lPSJtYWNfb3NfeF9zZXJ2ZXIiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEwLjQuMTEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMTAuNS41IiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgIDwvdnVsbl9zb2Z0Pg0KKyAgICA8L2VudHJ5PgorICAgIDxlbnRyeSBDVlNTX3ZlY3Rvcj0iKEFWOk4vQUM6TS9BdTpOL0M6UC9JOlAvQTpQKSIgQ1ZTU19iYXNlX3Njb3JlPSI2LjgiIENWU1NfZXhwbG9pdF9zdWJzY29yZT0iOC42IiBDVlNTX2ltcGFjdF9zdWJzY29yZT0iNi40IiBuYW1lPSJDVkUtMjAwOC0zNjQ2IiBzZXE9IjIwMDgtMzY0NiIgc2V2ZXJpdHk9Ik1lZGl1bSIgdHlwZT0iQ1ZFIiBwdWJsaXNoZWQ9IjIwMDgtMTAtMTAiIENWU1NfdmVyc2lvbj0iMi4wIiBDVlNTX3Njb3JlPSI2LjgiIG1vZGlmaWVkPSIyMDA4LTEwLTEwIj4NCisgICAgICAgIDxkZXNjPg0KKyAgICAgICAgICAgIDxkZXNjcmlwdCBzb3VyY2U9ImN2ZSI+VGhlIFBvc3RmaXggY29uZmlndXJhdGlvbiBmaWxlIGluIE1hYyBPUyBYIDEwLjUuNSBjYXVzZXMgUG9zdGZpeCB0byBiZSBuZXR3b3JrLWFjY2Vzc2libGUgd2hlbiBtYWlsIGlzIHNlbnQgZnJvbSBhIGxvY2FsIGNvbW1hbmQtbGluZSB0b29sLCB3aGljaCBhbGxvd3MgcmVtb3RlIGF0dGFja2VycyB0byBzZW5kIG1haWwgdG8gbG9jYWwgTWFjIE9TIFggdXNlcnMuPC9kZXNjcmlwdD4NCisgICAgICAgIDwvZGVzYz4NCisgICAgICAgIDxsb3NzX3R5cGVzPg0KKyAgICAgICAgICAgIDxhdmFpbCAvPg0KKyAgICAgICAgICAgIDxjb25mIC8+DQorICAgICAgICAgICAgPGludCAvPg0KKyAgICAgICAgICAgIDxzZWNfcHJvdCBvdGhlcj0iMSIgLz4NCisgICAgICAgIDwvbG9zc190eXBlcz4NCisgICAgICAgIDxyYW5nZT4NCisgICAgICAgICAgICA8bmV0d29yayAvPg0KKyAgICAgICAgPC9yYW5nZT4NCisgICAgICAgIDxyZWZzPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJCSUQiIHVybD0iaHR0cDovL3d3dy5zZWN1cml0eWZvY3VzLmNvbS9iaWQvMzE2ODEiPjMxNjgxPC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkFQUExFIiB1cmw9Imh0dHA6Ly9saXN0cy5hcHBsZS5jb20vYXJjaGl2ZXMvc2VjdXJpdHktYW5ub3VuY2UvMjAwOC9PY3QvbXNnMDAwMDEuaHRtbCI+QVBQTEUtU0EtMjAwOC0xMC0wOTwvcmVmPg0KKyAgICAgICAgPC9yZWZzPg0KKyAgICAgICAgPHZ1bG5fc29mdD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9ImFwcGxlIiBuYW1lPSJtYWNfb3NfeCI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMTAuNS41IiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgIDwvdnVsbl9zb2Z0Pg0KKyAgICA8L2VudHJ5PgorICAgIDxlbnRyeSBDVlNTX3ZlY3Rvcj0iKEFWOk4vQUM6TS9BdTpOL0M6Qy9JOkMvQTpDKSIgQ1ZTU19iYXNlX3Njb3JlPSI5LjMiIENWU1NfZXhwbG9pdF9zdWJzY29yZT0iOC42IiBDVlNTX2ltcGFjdF9zdWJzY29yZT0iMTAuMCIgbmFtZT0iQ1ZFLTIwMDgtMzY0NyIgc2VxPSIyMDA4LTM2NDciIHNldmVyaXR5PSJIaWdoIiB0eXBlPSJDVkUiIHB1Ymxpc2hlZD0iMjAwOC0xMC0xMCIgQ1ZTU192ZXJzaW9uPSIyLjAiIENWU1Nfc2NvcmU9IjkuMyIgbW9kaWZpZWQ9IjIwMDgtMTAtMTAiPg0KKyAgICAgICAgPGRlc2M+DQorICAgICAgICAgICAgPGRlc2NyaXB0IHNvdXJjZT0iY3ZlIj5CdWZmZXIgb3ZlcmZsb3cgaW4gUFNOb3JtYWxpemVyIGluIE1hYyBPUyBYIDEwLjQuMTEgYW5kIDEwLjUuNSBhbGxvd3MgcmVtb3RlIGF0dGFja2VycyB0byBjYXVzZSBhIGRlbmlhbCBvZiBzZXJ2aWNlIChhcHBsaWNhdGlvbiB0ZXJtaW5hdGlvbikgYW5kIGV4ZWN1dGUgYXJiaXRyYXJ5IGNvZGUgdmlhIGEgUG9zdFNjcmlwdCBmaWxlIHdpdGggYSBjcmFmdGVkIGJvdW5kaW5nIGJveCBjb21tZW50LjwvZGVzY3JpcHQ+DQorICAgICAgICA8L2Rlc2M+DQorICAgICAgICA8bG9zc190eXBlcz4NCisgICAgICAgICAgICA8YXZhaWwgLz4NCisgICAgICAgICAgICA8Y29uZiAvPg0KKyAgICAgICAgICAgIDxpbnQgLz4NCisgICAgICAgICAgICA8c2VjX3Byb3QgYWRtaW49IjEiIC8+DQorICAgICAgICA8L2xvc3NfdHlwZXM+DQorICAgICAgICA8cmFuZ2U+DQorICAgICAgICAgICAgPG5ldHdvcmsgLz4NCisgICAgICAgICAgICA8dXNlcl9pbml0IC8+DQorICAgICAgICA8L3JhbmdlPg0KKyAgICAgICAgPHJlZnM+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkJJRCIgdXJsPSJodHRwOi8vd3d3LnNlY3VyaXR5Zm9jdXMuY29tL2JpZC8zMTY4MSI+MzE2ODE8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQVBQTEUiIHVybD0iaHR0cDovL2xpc3RzLmFwcGxlLmNvbS9hcmNoaXZlcy9zZWN1cml0eS1hbm5vdW5jZS8yMDA4L09jdC9tc2cwMDAwMS5odG1sIj5BUFBMRS1TQS0yMDA4LTEwLTA5PC9yZWY+DQorICAgICAgICA8L3JlZnM+DQorICAgICAgICA8dnVsbl9zb2Z0Pg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0iYXBwbGUiIG5hbWU9Im1hY19vc194Ij4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxMC40LjExIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEwLjUuNSIgLz4NCisgICAgICAgICAgICA8L3Byb2Q+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJhcHBsZSIgbmFtZT0ibWFjX29zX3hfc2VydmVyIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxMC40LjExIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEwLjUuNSIgLz4NCisgICAgICAgICAgICA8L3Byb2Q+DQorICAgICAgICA8L3Z1bG5fc29mdD4NCisgICAgPC9lbnRyeT4KKyAgICA8ZW50cnkgQ1ZTU192ZWN0b3I9IihBVjpOL0FDOkwvQXU6Ti9DOkMvSTpDL0E6QykiIENWU1NfYmFzZV9zY29yZT0iMTAuMCIgQ1ZTU19leHBsb2l0X3N1YnNjb3JlPSIxMC4wIiBDVlNTX2ltcGFjdF9zdWJzY29yZT0iMTAuMCIgbmFtZT0iQ1ZFLTIwMDgtNDIxMSIgc2VxPSIyMDA4LTQyMTEiIHNldmVyaXR5PSJIaWdoIiB0eXBlPSJDVkUiIHB1Ymxpc2hlZD0iMjAwOC0xMC0xMCIgQ1ZTU192ZXJzaW9uPSIyLjAiIENWU1Nfc2NvcmU9IjEwLjAiIG1vZGlmaWVkPSIyMDA4LTEwLTEwIj4NCisgICAgICAgIDxkZXNjPg0KKyAgICAgICAgICAgIDxkZXNjcmlwdCBzb3VyY2U9ImN2ZSI+SW50ZWdlciBzaWduZWRuZXNzIGVycm9yIGluIFF1aWNrTG9vayBpbiBNYWMgT1MgWCAxMC41LjUgYWxsb3dzIHJlbW90ZSBhdHRhY2tlcnMgdG8gY2F1c2UgYSBkZW5pYWwgb2Ygc2VydmljZSAoYXBwbGljYXRpb24gdGVybWluYXRpb24pIGFuZCBleGVjdXRlIGFyYml0cmFyeSBjb2RlIHZpYSBhIGNyYWZ0ZWQgTWljcm9zb2Z0IEV4Y2VsIGZpbGUgdGhhdCB0cmlnZ2VycyBhbiBvdXQtb2YtYm91bmRzIG1lbW9yeSBhY2Nlc3MuPC9kZXNjcmlwdD4NCisgICAgICAgIDwvZGVzYz4NCisgICAgICAgIDxsb3NzX3R5cGVzPg0KKyAgICAgICAgICAgIDxhdmFpbCAvPg0KKyAgICAgICAgICAgIDxjb25mIC8+DQorICAgICAgICAgICAgPGludCAvPg0KKyAgICAgICAgICAgIDxzZWNfcHJvdCBhZG1pbj0iMSIgLz4NCisgICAgICAgIDwvbG9zc190eXBlcz4NCisgICAgICAgIDxyYW5nZT4NCisgICAgICAgICAgICA8bmV0d29yayAvPg0KKyAgICAgICAgPC9yYW5nZT4NCisgICAgICAgIDxyZWZzPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJCSUQiIHBhdGNoPSIxIiB1cmw9Imh0dHA6Ly93d3cuc2VjdXJpdHlmb2N1cy5jb20vYmlkLzMxNjgxIj4zMTY4MTwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJBUFBMRSIgdXJsPSJodHRwOi8vbGlzdHMuYXBwbGUuY29tL2FyY2hpdmVzL3NlY3VyaXR5LWFubm91bmNlLzIwMDgvT2N0L21zZzAwMDAxLmh0bWwiPkFQUExFLVNBLTIwMDgtMTAtMDk8L3JlZj4NCisgICAgICAgIDwvcmVmcz4NCisgICAgICAgIDx2dWxuX3NvZnQ+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJhcHBsZSIgbmFtZT0ibWFjX29zX3giPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEwLjUuNSIgLz4NCisgICAgICAgICAgICA8L3Byb2Q+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJhcHBsZSIgbmFtZT0ibWFjX29zX3hfc2VydmVyIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxMC41LjUiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgPC92dWxuX3NvZnQ+DQorICAgIDwvZW50cnk+CisgICAgPGVudHJ5IENWU1NfdmVjdG9yPSIoQVY6Ti9BQzpML0F1Ok4vQzpDL0k6Qy9BOkMpIiBDVlNTX2Jhc2Vfc2NvcmU9IjEwLjAiIENWU1NfZXhwbG9pdF9zdWJzY29yZT0iMTAuMCIgQ1ZTU19pbXBhY3Rfc3Vic2NvcmU9IjEwLjAiIG5hbWU9IkNWRS0yMDA4LTQyMTIiIHNlcT0iMjAwOC00MjEyIiBzZXZlcml0eT0iSGlnaCIgdHlwZT0iQ1ZFIiBwdWJsaXNoZWQ9IjIwMDgtMTAtMTAiIENWU1NfdmVyc2lvbj0iMi4wIiBDVlNTX3Njb3JlPSIxMC4wIiBtb2RpZmllZD0iMjAwOC0xMC0xMCI+DQorICAgICAgICA8ZGVzYz4NCisgICAgICAgICAgICA8ZGVzY3JpcHQgc291cmNlPSJjdmUiPlVuc3BlY2lmaWVkIHZ1bG5lcmFiaWxpdHkgaW4gcmxvZ2luZCBpbiB0aGUgcmxvZ2luIGNvbXBvbmVudCBpbiBNYWMgT1MgWCAxMC40LjExIGFuZCAxMC41LjUgYXBwbGllcyBob3N0cy5lcXVpdiBlbnRyaWVzIHRvIHJvb3QgZGVzcGl0ZSB3aGF0IGlzIHN0YXRlZCBpbiBkb2N1bWVudGF0aW9uLCB3aGljaCBtaWdodCBhbGxvdyByZW1vdGUgYXR0YWNrZXJzIHRvIGJ5cGFzcyBpbnRlbmRlZCBhY2Nlc3MgcmVzdHJpY3Rpb25zLjwvZGVzY3JpcHQ+DQorICAgICAgICA8L2Rlc2M+DQorICAgICAgICA8bG9zc190eXBlcz4NCisgICAgICAgICAgICA8YXZhaWwgLz4NCisgICAgICAgICAgICA8Y29uZiAvPg0KKyAgICAgICAgICAgIDxpbnQgLz4NCisgICAgICAgICAgICA8c2VjX3Byb3QgYWRtaW49IjEiIC8+DQorICAgICAgICA8L2xvc3NfdHlwZXM+DQorICAgICAgICA8cmFuZ2U+DQorICAgICAgICAgICAgPG5ldHdvcmsgLz4NCisgICAgICAgIDwvcmFuZ2U+DQorICAgICAgICA8cmVmcz4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQklEIiBwYXRjaD0iMSIgdXJsPSJodHRwOi8vd3d3LnNlY3VyaXR5Zm9jdXMuY29tL2JpZC8zMTY4MSI+MzE2ODE8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQVBQTEUiIHVybD0iaHR0cDovL2xpc3RzLmFwcGxlLmNvbS9hcmNoaXZlcy9zZWN1cml0eS1hbm5vdW5jZS8yMDA4L09jdC9tc2cwMDAwMS5odG1sIiBhZHY9IjEiPkFQUExFLVNBLTIwMDgtMTAtMDk8L3JlZj4NCisgICAgICAgIDwvcmVmcz4NCisgICAgICAgIDx2dWxuX3NvZnQ+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJhcHBsZSIgbmFtZT0ibWFjX29zX3giPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEwLjQuMTEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMTAuNS41IiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9ImFwcGxlIiBuYW1lPSJtYWNfb3NfeF9zZXJ2ZXIiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEwLjQuMTEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMTAuNS41IiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgIDwvdnVsbl9zb2Z0Pg0KKyAgICA8L2VudHJ5PgorICAgIDxlbnRyeSBDVlNTX3ZlY3Rvcj0iKEFWOkwvQUM6TC9BdTpOL0M6UC9JOlAvQTpQKSIgQ1ZTU19iYXNlX3Njb3JlPSI0LjYiIENWU1NfZXhwbG9pdF9zdWJzY29yZT0iMy45IiBDVlNTX2ltcGFjdF9zdWJzY29yZT0iNi40IiBuYW1lPSJDVkUtMjAwOC00MjE0IiBzZXE9IjIwMDgtNDIxNCIgc2V2ZXJpdHk9Ik1lZGl1bSIgdHlwZT0iQ1ZFIiBwdWJsaXNoZWQ9IjIwMDgtMTAtMTAiIENWU1NfdmVyc2lvbj0iMi4wIiBDVlNTX3Njb3JlPSI0LjYiIG1vZGlmaWVkPSIyMDA4LTEwLTEwIj4NCisgICAgICAgIDxkZXNjPg0KKyAgICAgICAgICAgIDxkZXNjcmlwdCBzb3VyY2U9ImN2ZSI+VW5zcGVjaWZpZWQgdnVsbmVyYWJpbGl0eSBpbiBTY3JpcHQgRWRpdG9yIGluIE1hYyBPUyBYIDEwLjQuMTEgYW5kIDEwLjUuNSBhbGxvd3MgbG9jYWwgdXNlcnMgdG8gY2F1c2UgdGhlIHNjcmlwdGluZyBkaWN0aW9uYXJ5IHRvIGJlIHdyaXR0ZW4gdG8gYXJiaXRyYXJ5IGxvY2F0aW9ucywgcmVsYXRlZCB0byBhbiAiaW5zZWN1cmUgZmlsZSBvcGVyYXRpb24iIG9uIHRlbXBvcmFyeSBmaWxlcy48L2Rlc2NyaXB0Pg0KKyAgICAgICAgPC9kZXNjPg0KKyAgICAgICAgPGxvc3NfdHlwZXM+DQorICAgICAgICAgICAgPGF2YWlsIC8+DQorICAgICAgICAgICAgPGNvbmYgLz4NCisgICAgICAgICAgICA8aW50IC8+DQorICAgICAgICA8L2xvc3NfdHlwZXM+DQorICAgICAgICA8cmFuZ2U+DQorICAgICAgICAgICAgPGxvY2FsIC8+DQorICAgICAgICA8L3JhbmdlPg0KKyAgICAgICAgPHJlZnM+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkJJRCIgdXJsPSJodHRwOi8vd3d3LnNlY3VyaXR5Zm9jdXMuY29tL2JpZC8zMTY4MSI+MzE2ODE8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQVBQTEUiIHVybD0iaHR0cDovL2xpc3RzLmFwcGxlLmNvbS9hcmNoaXZlcy9zZWN1cml0eS1hbm5vdW5jZS8yMDA4L09jdC9tc2cwMDAwMS5odG1sIj5BUFBMRS1TQS0yMDA4LTEwLTA5PC9yZWY+DQorICAgICAgICA8L3JlZnM+DQorICAgICAgICA8dnVsbl9zb2Z0Pg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0iYXBwbGUiIG5hbWU9Im1hY19vc194Ij4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxMC40LjExIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEwLjUuNSIgLz4NCisgICAgICAgICAgICA8L3Byb2Q+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJhcHBsZSIgbmFtZT0ibWFjX29zX3hfc2VydmVyIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxMC40LjExIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEwLjUuNSIgLz4NCisgICAgICAgICAgICA8L3Byb2Q+DQorICAgICAgICA8L3Z1bG5fc29mdD4NCisgICAgPC9lbnRyeT4KKyAgICA8ZW50cnkgQ1ZTU192ZWN0b3I9IihBVjpOL0FDOkwvQXU6Ti9DOlAvSTpQL0E6UCkiIENWU1NfYmFzZV9zY29yZT0iNy41IiBDVlNTX2V4cGxvaXRfc3Vic2NvcmU9IjEwLjAiIENWU1NfaW1wYWN0X3N1YnNjb3JlPSI2LjQiIG5hbWU9IkNWRS0yMDA4LTQyMTUiIHNlcT0iMjAwOC00MjE1IiBzZXZlcml0eT0iSGlnaCIgdHlwZT0iQ1ZFIiBwdWJsaXNoZWQ9IjIwMDgtMTAtMTAiIENWU1NfdmVyc2lvbj0iMi4wIiBDVlNTX3Njb3JlPSI3LjUiIG1vZGlmaWVkPSIyMDA4LTEwLTEwIj4NCisgICAgICAgIDxkZXNjPg0KKyAgICAgICAgICAgIDxkZXNjcmlwdCBzb3VyY2U9ImN2ZSI+V2VibG9nIGluIE1hYyBPUyBYIFNlcnZlciAxMC40LjExIGRvZXMgbm90IHByb3Blcmx5IGNoZWNrIGFuIGVycm9yIGNvbmRpdGlvbiB3aGVuIGEgd2VibG9nIHBvc3RpbmcgYWNjZXNzIGNvbnRyb2wgbGlzdCBpcyBzcGVjaWZpZWQgZm9yIGEgdXNlciB0aGF0IGhhcyBtdWx0aXBsZSBzaG9ydCBuYW1lcywgd2hpY2ggbWlnaHQgYWxsb3cgYXR0YWNrZXJzIHRvIGJ5cGFzcyBpbnRlbmRlZCBhY2Nlc3MgcmVzdHJpY3Rpb25zLjwvZGVzY3JpcHQ+DQorICAgICAgICA8L2Rlc2M+DQorICAgICAgICA8bG9zc190eXBlcz4NCisgICAgICAgICAgICA8YXZhaWwgLz4NCisgICAgICAgICAgICA8Y29uZiAvPg0KKyAgICAgICAgICAgIDxpbnQgLz4NCisgICAgICAgICAgICA8c2VjX3Byb3Qgb3RoZXI9IjEiIC8+DQorICAgICAgICA8L2xvc3NfdHlwZXM+DQorICAgICAgICA8cmFuZ2U+DQorICAgICAgICAgICAgPG5ldHdvcmsgLz4NCisgICAgICAgIDwvcmFuZ2U+DQorICAgICAgICA8cmVmcz4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQklEIiBwYXRjaD0iMSIgdXJsPSJodHRwOi8vd3d3LnNlY3VyaXR5Zm9jdXMuY29tL2JpZC8zMTY4MSI+MzE2ODE8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQVBQTEUiIHVybD0iaHR0cDovL2xpc3RzLmFwcGxlLmNvbS9hcmNoaXZlcy9zZWN1cml0eS1hbm5vdW5jZS8yMDA4L09jdC9tc2cwMDAwMS5odG1sIiBhZHY9IjEiPkFQUExFLVNBLTIwMDgtMTAtMDk8L3JlZj4NCisgICAgICAgIDwvcmVmcz4NCisgICAgICAgIDx2dWxuX3NvZnQ+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJhcHBsZSIgbmFtZT0ibWFjX29zX3hfc2VydmVyIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxMC40LjExIiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgIDwvdnVsbl9zb2Z0Pg0KKyAgICA8L2VudHJ5PgorICAgIDxlbnRyeSBDVlNTX3ZlY3Rvcj0iKEFWOkwvQUM6TS9BdTpOL0M6Qy9JOkMvQTpDKSIgQ1ZTU19iYXNlX3Njb3JlPSI2LjkiIENWU1NfZXhwbG9pdF9zdWJzY29yZT0iMy40IiBDVlNTX2ltcGFjdF9zdWJzY29yZT0iMTAuMCIgbmFtZT0iQ1ZFLTIwMDgtNDM5NCIgc2VxPSIyMDA4LTQzOTQiIHNldmVyaXR5PSJNZWRpdW0iIHR5cGU9IkNWRSIgcHVibGlzaGVkPSIyMDA4LTEwLTEwIiBDVlNTX3ZlcnNpb249IjIuMCIgQ1ZTU19zY29yZT0iNi45IiBtb2RpZmllZD0iMjAwOC0xMC0xMCI+DQorICAgICAgICA8ZGVzYz4NCisgICAgICAgICAgICA8ZGVzY3JpcHQgc291cmNlPSJjdmUiPk11bHRpcGxlIHVudHJ1c3RlZCBzZWFyY2ggcGF0aCB2dWxuZXJhYmlsaXRpZXMgaW4gUG9ydGFnZSBiZWZvcmUgMi4xLjQuNSBpbmNsdWRlIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IGluIHRoZSBQeXRob24gc2VhcmNoIHBhdGgsIHdoaWNoIGFsbG93cyBsb2NhbCB1c2VycyB0byBleGVjdXRlIGFyYml0cmFyeSBjb2RlIHZpYSBhIG1vZGlmaWVkIFB5dGhvbiBtb2R1bGUgdGhhdCBpcyBsb2FkZWQgYnkgdGhlICgxKSB5cy1hcHBzL3BvcnRhZ2UsICgyKSBuZXQtbWFpbC9mZXRjaG1haWwsICgzKSBhcHAtZWRpdG9ycy9sZW8gZWJ1aWxkcywgYW5kIG90aGVyIGVidWlsZHMuPC9kZXNjcmlwdD4NCisgICAgICAgIDwvZGVzYz4NCisgICAgICAgIDxsb3NzX3R5cGVzPg0KKyAgICAgICAgICAgIDxhdmFpbCAvPg0KKyAgICAgICAgICAgIDxjb25mIC8+DQorICAgICAgICAgICAgPGludCAvPg0KKyAgICAgICAgICAgIDxzZWNfcHJvdCBhZG1pbj0iMSIgLz4NCisgICAgICAgIDwvbG9zc190eXBlcz4NCisgICAgICAgIDxyYW5nZT4NCisgICAgICAgICAgICA8bG9jYWwgLz4NCisgICAgICAgICAgICA8dXNlcl9pbml0IC8+DQorICAgICAgICA8L3JhbmdlPg0KKyAgICAgICAgPHJlZnM+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkJJRCIgdXJsPSJodHRwOi8vd3d3LnNlY3VyaXR5Zm9jdXMuY29tL2JpZC8zMTY3MCI+MzE2NzA8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iR0VOVE9PIiB1cmw9Imh0dHA6Ly9zZWN1cml0eS5nZW50b28ub3JnL2dsc2EvZ2xzYS0yMDA4MTAtMDIueG1sIj5HTFNBLTIwMDgxMC0wMjwvcmVmPg0KKyAgICAgICAgPC9yZWZzPg0KKyAgICAgICAgPHZ1bG5fc29mdD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9ImdlbnRvbyIgbmFtZT0icG9ydGFnZSI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InIzIiBudW09IjIuMC41MS4yMiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0icjIiIG51bT0iMi4xLjEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi4xLjMuMTAiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi4xLjQuNCIgcHJldj0iMSIgLz4NCisgICAgICAgICAgICA8L3Byb2Q+DQorICAgICAgICA8L3Z1bG5fc29mdD4NCisgICAgPC9lbnRyeT4KKyAgICA8ZW50cnkgQ1ZTU192ZWN0b3I9IihBVjpOL0FDOk0vQXU6Ti9DOk4vSTpQL0E6TikiIENWU1NfYmFzZV9zY29yZT0iNC4zIiBDVlNTX2V4cGxvaXRfc3Vic2NvcmU9IjguNiIgQ1ZTU19pbXBhY3Rfc3Vic2NvcmU9IjIuOSIgbmFtZT0iQ1ZFLTIwMDgtNDUzMyIgc2VxPSIyMDA4LTQ1MzMiIHNldmVyaXR5PSJNZWRpdW0iIHR5cGU9IkNWRSIgcHVibGlzaGVkPSIyMDA4LTEwLTEwIiBDVlNTX3ZlcnNpb249IjIuMCIgQ1ZTU19zY29yZT0iNC4zIiBtb2RpZmllZD0iMjAwOC0xMC0xMCI+DQorICAgICAgICA8ZGVzYz4NCisgICAgICAgICAgICA8ZGVzY3JpcHQgc291cmNlPSJjdmUiPkNyb3NzLXNpdGUgc2NyaXB0aW5nIChYU1MpIHZ1bG5lcmFiaWxpdHkgaW4gS2FudGFuIFdFQiBTZXJ2ZXIgMS44IGFuZCBlYXJsaWVyIGFsbG93cyByZW1vdGUgYXR0YWNrZXJzIHRvIGluamVjdCBhcmJpdHJhcnkgd2ViIHNjcmlwdCBvciBIVE1MIHZpYSB1bmtub3duIHZlY3RvcnMuPC9kZXNjcmlwdD4NCisgICAgICAgIDwvZGVzYz4NCisgICAgICAgIDxzb2xzPg0KKyAgICAgICAgICAgIDxzb2wgc291cmNlPSJudmQiPlBhdGNoIEluZm9ybWF0aW9uIC0gaHR0cDovL3VueW9yYS5zYWt1cmEubmUuanAvc29mdC9FYXN5SFRUUFNlcnZlci9pbmRleC5odG1sPC9zb2w+DQorICAgICAgICA8L3NvbHM+DQorICAgICAgICA8bG9zc190eXBlcz4NCisgICAgICAgICAgICA8aW50IC8+DQorICAgICAgICA8L2xvc3NfdHlwZXM+DQorICAgICAgICA8cmFuZ2U+DQorICAgICAgICAgICAgPG5ldHdvcmsgLz4NCisgICAgICAgICAgICA8dXNlcl9pbml0IC8+DQorICAgICAgICA8L3JhbmdlPg0KKyAgICAgICAgPHJlZnM+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkJJRCIgcGF0Y2g9IjEiIHVybD0iaHR0cDovL3d3dy5zZWN1cml0eWZvY3VzLmNvbS9iaWQvMzEyNDQiPjMxMjQ0PC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9Ik9TVkRCIiB1cmw9Imh0dHA6Ly93d3cub3N2ZGIub3JnLzQ4MjIyIj40ODIyMjwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJKVk5EQiIgdXJsPSJodHRwOi8vanZuZGIuanZuLmpwL2VuL2NvbnRlbnRzLzIwMDgvSlZOREItMjAwOC0wMDAwNjAuaHRtbCI+SlZOREItMjAwOC0wMDAwNjA8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iSlZOIiB1cmw9Imh0dHA6Ly9qdm4uanAvZW4vanAvSlZOOTQxNjMxMDcvaW5kZXguaHRtbCI+SlZOIzk0MTYzMTA3PC9yZWY+DQorICAgICAgICA8L3JlZnM+DQorICAgICAgICA8dnVsbl9zb2Z0Pg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0ia2F0YW4iIG5hbWU9IndlYl9zZXJ2ZXIiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuNiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjgiIHByZXY9IjEiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgPC92dWxuX3NvZnQ+DQorICAgIDwvZW50cnk+CisgICAgPGVudHJ5IENWU1NfdmVjdG9yPSIoQVY6Ti9BQzpML0F1Ok4vQzpQL0k6UC9BOlApIiBDVlNTX2Jhc2Vfc2NvcmU9IjcuNSIgQ1ZTU19leHBsb2l0X3N1YnNjb3JlPSIxMC4wIiBDVlNTX2ltcGFjdF9zdWJzY29yZT0iNi40IiBuYW1lPSJDVkUtMjAwOC00NTM0IiBzZXE9IjIwMDgtNDUzNCIgc2V2ZXJpdHk9IkhpZ2giIHR5cGU9IkNWRSIgcHVibGlzaGVkPSIyMDA4LTEwLTEwIiBDVlNTX3ZlcnNpb249IjIuMCIgQ1ZTU19zY29yZT0iNy41IiBtb2RpZmllZD0iMjAwOC0xMC0xMCI+DQorICAgICAgICA8ZGVzYz4NCisgICAgICAgICAgICA8ZGVzY3JpcHQgc291cmNlPSJjdmUiPlNRTCBpbmplY3Rpb24gdnVsbmVyYWJpbGl0eSBpbiBFQy1DVUJFIFZlcjIgMi4xLjJhIGFuZCBlYXJsaWVyLCBhbmQgVmVyMiBSQyAyLjMuMC1yYzEgYW5kIGVhcmxpZXIsIGFsbG93cyByZW1vdGUgYXR0YWNrZXJzIHRvIGV4ZWN1dGUgYXJiaXRyYXJ5IFNRTCBjb21tYW5kcyB2aWEgdW5zcGVjaWZpZWQgdmVjdG9ycy48L2Rlc2NyaXB0Pg0KKyAgICAgICAgPC9kZXNjPg0KKyAgICAgICAgPGxvc3NfdHlwZXM+DQorICAgICAgICAgICAgPGF2YWlsIC8+DQorICAgICAgICAgICAgPGNvbmYgLz4NCisgICAgICAgICAgICA8aW50IC8+DQorICAgICAgICAgICAgPHNlY19wcm90IG90aGVyPSIxIiAvPg0KKyAgICAgICAgPC9sb3NzX3R5cGVzPg0KKyAgICAgICAgPHJhbmdlPg0KKyAgICAgICAgICAgIDxuZXR3b3JrIC8+DQorICAgICAgICA8L3JhbmdlPg0KKyAgICAgICAgPHJlZnM+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkNPTkZJUk0iIHBhdGNoPSIxIiB1cmw9Imh0dHA6Ly93d3cuZWMtY3ViZS5uZXQvaW5mby8wODA4MjkiPmh0dHA6Ly93d3cuZWMtY3ViZS5uZXQvaW5mby8wODA4Mjk8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iU0VDVU5JQSIgdXJsPSJodHRwOi8vc2VjdW5pYS5jb20vYWR2aXNvcmllcy8zMjA2NSIgYWR2PSIxIj4zMjA2NTwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJKVk5EQiIgdXJsPSJodHRwOi8vanZuZGIuanZuLmpwL2phL2NvbnRlbnRzLzIwMDgvSlZOREItMjAwOC0wMDAwNjUuaHRtbCI+SlZOREItMjAwOC0wMDAwNjU8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iSlZOIiB1cmw9Imh0dHA6Ly9qdm4uanAvZW4vanAvSlZOODExMTE1NDEvaW5kZXguaHRtbCI+SlZOIzgxMTExNTQxPC9yZWY+DQorICAgICAgICA8L3JlZnM+DQorICAgICAgICA8dnVsbl9zb2Z0Pg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0iZWMtY3ViZSIgbmFtZT0iZWMtY3ViZSI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4wIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuNC43IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJiMiIgbnVtPSIxLjUuMCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjEuMmEiIHByZXY9IjEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi4zLjAiIHByZXY9IjEiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgPC92dWxuX3NvZnQ+DQorICAgIDwvZW50cnk+CisgICAgPGVudHJ5IENWU1NfdmVjdG9yPSIoQVY6Ti9BQzpNL0F1Ok4vQzpOL0k6UC9BOk4pIiBDVlNTX2Jhc2Vfc2NvcmU9IjQuMyIgQ1ZTU19leHBsb2l0X3N1YnNjb3JlPSI4LjYiIENWU1NfaW1wYWN0X3N1YnNjb3JlPSIyLjkiIG5hbWU9IkNWRS0yMDA4LTQ1MzUiIHNlcT0iMjAwOC00NTM1IiBzZXZlcml0eT0iTWVkaXVtIiB0eXBlPSJDVkUiIHB1Ymxpc2hlZD0iMjAwOC0xMC0xMCIgQ1ZTU192ZXJzaW9uPSIyLjAiIENWU1Nfc2NvcmU9IjQuMyIgbW9kaWZpZWQ9IjIwMDgtMTAtMTAiPg0KKyAgICAgICAgPGRlc2M+DQorICAgICAgICAgICAgPGRlc2NyaXB0IHNvdXJjZT0iY3ZlIj5Dcm9zcy1zaXRlIHNjcmlwdGluZyAoWFNTKSB2dWxuZXJhYmlsaXR5IGluIEVDLUNVQkUgVmVyMiAyLjEuMmEgYW5kIGVhcmxpZXIsIEVDLUNVQkUgVmVyMiBCZXRhKFJDKSAyLjIuMC1iZXRhIGFuZCBlYXJsaWVyLCBhbmQgRUMtQ1VCRSBDb21tdW5pdHkgRWRpdGlvbiBOaWdobHktQnVpbGQgcjE3NjIzIGFuZCBlYXJsaWVyIGFsbG93cyByZW1vdGUgYXR0YWNrZXJzIHRvIGluamVjdCBhcmJpdHJhcnkgd2ViIHNjcmlwdCBvciBIVE1MIHZpYSB1bnNwZWNpZmllZCB2ZWN0b3JzLCBhIGRpZmZlcmVudCBpc3N1ZSB0aGFuIENWRS0yMDA4LTQ1MzYgYW5kIENWRS0yMDA4LTQ1MzcuPC9kZXNjcmlwdD4NCisgICAgICAgIDwvZGVzYz4NCisgICAgICAgIDxsb3NzX3R5cGVzPg0KKyAgICAgICAgICAgIDxpbnQgLz4NCisgICAgICAgIDwvbG9zc190eXBlcz4NCisgICAgICAgIDxyYW5nZT4NCisgICAgICAgICAgICA8bmV0d29yayAvPg0KKyAgICAgICAgICAgIDx1c2VyX2luaXQgLz4NCisgICAgICAgIDwvcmFuZ2U+DQorICAgICAgICA8cmVmcz4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iTUlTQyIgcGF0Y2g9IjEiIHVybD0iaHR0cDovL3d3dy5lYy1jdWJlLm5ldC9yZWxlYXNlL2RldGFpbC5waHA/cmVsZWFzZV9pZD0xOTMiIGFkdj0iMSI+aHR0cDovL3d3dy5lYy1jdWJlLm5ldC9yZWxlYXNlL2RldGFpbC5waHA/cmVsZWFzZV9pZD0xOTM8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iU0VDVU5JQSIgdXJsPSJodHRwOi8vc2VjdW5pYS5jb20vYWR2aXNvcmllcy8zMjA2NSI+MzIwNjU8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iSlZOREIiIHVybD0iaHR0cDovL2p2bmRiLmp2bi5qcC9qYS9jb250ZW50cy8yMDA4L0pWTkRCLTIwMDgtMDAwMDY0Lmh0bWwiPkpWTkRCLTIwMDgtMDAwMDY0PC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkpWTiIgdXJsPSJodHRwOi8vanZuLmpwL2VuL2pwL0pWTjk5OTE2NTYzL2luZGV4Lmh0bWwiPkpWTiM5OTkxNjU2MzwvcmVmPg0KKyAgICAgICAgPC9yZWZzPg0KKyAgICAgICAgPHZ1bG5fc29mdD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9ImVjLWN1YmUiIG5hbWU9ImVjLWN1YmUiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjQuNyIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iYjIiIG51bT0iMS41LjAiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi4xLjJhIiBwcmV2PSIxIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuMy4wIiBwcmV2PSIxIiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgIDwvdnVsbl9zb2Z0Pg0KKyAgICA8L2VudHJ5PgorICAgIDxlbnRyeSBDVlNTX3ZlY3Rvcj0iKEFWOk4vQUM6TS9BdTpOL0M6Ti9JOlAvQTpOKSIgQ1ZTU19iYXNlX3Njb3JlPSI0LjMiIENWU1NfZXhwbG9pdF9zdWJzY29yZT0iOC42IiBDVlNTX2ltcGFjdF9zdWJzY29yZT0iMi45IiBuYW1lPSJDVkUtMjAwOC00NTM2IiBzZXE9IjIwMDgtNDUzNiIgc2V2ZXJpdHk9Ik1lZGl1bSIgdHlwZT0iQ1ZFIiBwdWJsaXNoZWQ9IjIwMDgtMTAtMTAiIENWU1NfdmVyc2lvbj0iMi4wIiBDVlNTX3Njb3JlPSI0LjMiIG1vZGlmaWVkPSIyMDA4LTEwLTEwIj4NCisgICAgICAgIDxkZXNjPg0KKyAgICAgICAgICAgIDxkZXNjcmlwdCBzb3VyY2U9ImN2ZSI+Q3Jvc3Mtc2l0ZSBzY3JpcHRpbmcgKFhTUykgdnVsbmVyYWJpbGl0eSBpbiBFQy1DVUJFIFZlcjEgMS40LjYgYW5kIGVhcmxpZXIsIFZlcjEgQmV0YSAxLjUuMC1iZXRhIGFuZCBlYXJsaWVyLCBWZXIyIDIuMS4yYSBhbmQgZWFybGllciwgVmVyMiBCZXRhKFJDKSAyLjIuMC1iZXRhIGFuZCBlYXJsaWVyLCBDb21tdW5pdHkgRWRpdGlvbiAxLjMuNCBhbmQgZWFybGllciwgYW5kIENvbW11bml0eSBFZGl0aW9uIE5pZ2h0bHktQnVpbGQgcjE3MzE5IGFuZCBlYXJsaWVyIGFsbG93cyByZW1vdGUgYXR0YWNrZXJzIHRvIGluamVjdCBhcmJpdHJhcnkgd2ViIHNjcmlwdCBvciBIVE1MIHZpYSB1bnNwZWNpZmllZCB2ZWN0b3JzLCBhIGRpZmZlcmVudCBpc3N1ZSB0aGFuIENWRS0yMDA4LTQ1MzUgYW5kIENWRS0yMDA4LTQ1MzcuPC9kZXNjcmlwdD4NCisgICAgICAgIDwvZGVzYz4NCisgICAgICAgIDxsb3NzX3R5cGVzPg0KKyAgICAgICAgICAgIDxpbnQgLz4NCisgICAgICAgIDwvbG9zc190eXBlcz4NCisgICAgICAgIDxyYW5nZT4NCisgICAgICAgICAgICA8bmV0d29yayAvPg0KKyAgICAgICAgICAgIDx1c2VyX2luaXQgLz4NCisgICAgICAgIDwvcmFuZ2U+DQorICAgICAgICA8cmVmcz4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iTUlTQyIgcGF0Y2g9IjEiIHVybD0iaHR0cDovL3d3dy5lYy1jdWJlLm5ldC9yZWxlYXNlL2RldGFpbC5waHA/cmVsZWFzZV9pZD0xOTMiIGFkdj0iMSI+aHR0cDovL3d3dy5lYy1jdWJlLm5ldC9yZWxlYXNlL2RldGFpbC5waHA/cmVsZWFzZV9pZD0xOTM8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iU0VDVU5JQSIgcGF0Y2g9IjEiIHVybD0iaHR0cDovL3NlY3VuaWEuY29tL2Fkdmlzb3JpZXMvMzIwNjUiIGFkdj0iMSI+MzIwNjU8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iSlZOIiB1cmw9Imh0dHA6Ly9qdm4uanAvZW4vanAvSlZOMzYwODU0ODcvaW5kZXguaHRtbCI+SlZOIzM2MDg1NDg3PC9yZWY+DQorICAgICAgICA8L3JlZnM+DQorICAgICAgICA8dnVsbl9zb2Z0Pg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0iZWMtY3ViZSIgbmFtZT0iZWMtY3ViZSI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4wIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJ1bmtub3duIiBudW09IjEuMy40IiBwcmV2PSIxIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJ1bmtub3duOmNvbW11bml0eV9lZGl0aW9uIiBudW09IjEuMy40IiBwcmV2PSIxIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuNC43IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJiMiIgbnVtPSIxLjUuMCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjEuMmEiIHByZXY9IjEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi4zLjAiIHByZXY9IjEiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgPC92dWxuX3NvZnQ+DQorICAgIDwvZW50cnk+CisgICAgPGVudHJ5IENWU1NfdmVjdG9yPSIoQVY6Ti9BQzpNL0F1Ok4vQzpOL0k6UC9BOk4pIiBDVlNTX2Jhc2Vfc2NvcmU9IjQuMyIgQ1ZTU19leHBsb2l0X3N1YnNjb3JlPSI4LjYiIENWU1NfaW1wYWN0X3N1YnNjb3JlPSIyLjkiIG5hbWU9IkNWRS0yMDA4LTQ1MzciIHNlcT0iMjAwOC00NTM3IiBzZXZlcml0eT0iTWVkaXVtIiB0eXBlPSJDVkUiIHB1Ymxpc2hlZD0iMjAwOC0xMC0xMCIgQ1ZTU192ZXJzaW9uPSIyLjAiIENWU1Nfc2NvcmU9IjQuMyIgbW9kaWZpZWQ9IjIwMDgtMTAtMTAiPg0KKyAgICAgICAgPGRlc2M+DQorICAgICAgICAgICAgPGRlc2NyaXB0IHNvdXJjZT0iY3ZlIj5Dcm9zcy1zaXRlIHNjcmlwdGluZyAoWFNTKSB2dWxuZXJhYmlsaXR5IGluIEVDLUNVQkUgVmVyMSAxLjQuNiBhbmQgZWFybGllciwgVmVyMSBCZXRhIDEuNS4wLWJldGEgYW5kIGVhcmxpZXIsIFZlcjIgMi4xLjJhIGFuZCBlYXJsaWVyLCBWZXIyIEJldGEoUkMpIDIuMS4xLWJldGEgYW5kIGVhcmxpZXIsIENvbW11bml0eSBFZGl0aW9uIDEuMy40IGFuZCBlYXJsaWVyLCBhbmQgQ29tbXVuaXR5IEVkaXRpb24gTmlnaHRseS1CdWlsZCByMTczMzYgYW5kIGVhcmxpZXIgYWxsb3dzIHJlbW90ZSBhdHRhY2tlcnMgdG8gaW5qZWN0IGFyYml0cmFyeSB3ZWIgc2NyaXB0IG9yIEhUTUwgdmlhIHVuc3BlY2lmaWVkIHZlY3RvcnMsIGEgZGlmZmVyZW50IGlzc3VlIHRoYW4gQ1ZFLTIwMDgtNDUzNSBhbmQgQ1ZFLTIwMDgtNDUzNi48L2Rlc2NyaXB0Pg0KKyAgICAgICAgPC9kZXNjPg0KKyAgICAgICAgPGxvc3NfdHlwZXM+DQorICAgICAgICAgICAgPGludCAvPg0KKyAgICAgICAgPC9sb3NzX3R5cGVzPg0KKyAgICAgICAgPHJhbmdlPg0KKyAgICAgICAgICAgIDxuZXR3b3JrIC8+DQorICAgICAgICAgICAgPHVzZXJfaW5pdCAvPg0KKyAgICAgICAgPC9yYW5nZT4NCisgICAgICAgIDxyZWZzPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJNSVNDIiBwYXRjaD0iMSIgdXJsPSJodHRwOi8vd3d3LmVjLWN1YmUubmV0L3JlbGVhc2UvZGV0YWlsLnBocD9yZWxlYXNlX2lkPTE5MyIgYWR2PSIxIj5odHRwOi8vd3d3LmVjLWN1YmUubmV0L3JlbGVhc2UvZGV0YWlsLnBocD9yZWxlYXNlX2lkPTE5MzwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJTRUNVTklBIiB1cmw9Imh0dHA6Ly9zZWN1bmlhLmNvbS9hZHZpc29yaWVzLzMyMDY1IiBhZHY9IjEiPjMyMDY1PC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkpWTkRCIiB1cmw9Imh0dHA6Ly9qdm5kYi5qdm4uanAvamEvY29udGVudHMvMjAwOC9KVk5EQi0yMDA4LTAwMDA2Mi5odG1sIj5KVk5EQi0yMDA4LTAwMDA2MjwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJKVk4iIHVybD0iaHR0cDovL2p2bi5qcC9lbi9qcC9KVk4yNjYyMTY0Ni9pbmRleC5odG1sIj5KVk4jMjY2MjE2NDY8L3JlZj4NCisgICAgICAgIDwvcmVmcz4NCisgICAgICAgIDx2dWxuX3NvZnQ+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJlYy1jdWJlIiBuYW1lPSJlYy1jdWJlIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjAiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InVua25vd24iIG51bT0iMS4zLjQiIHByZXY9IjEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InVua25vd246Y29tbXVuaXR5X2VkaXRpb24iIG51bT0iMS4zLjQiIHByZXY9IjEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS40LjciIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249ImIyIiBudW09IjEuNS4wIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuMS4yYSIgcHJldj0iMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjMuMCIgcHJldj0iMSIgLz4NCisgICAgICAgICAgICA8L3Byb2Q+DQorICAgICAgICA8L3Z1bG5fc29mdD4NCisgICAgPC9lbnRyeT4KKyAgICA8ZW50cnkgQ1ZTU192ZWN0b3I9IihBVjpOL0FDOk0vQXU6Ti9DOlAvSTpOL0E6TikiIENWU1NfYmFzZV9zY29yZT0iNC4zIiBDVlNTX2V4cGxvaXRfc3Vic2NvcmU9IjguNiIgQ1ZTU19pbXBhY3Rfc3Vic2NvcmU9IjIuOSIgbmFtZT0iQ1ZFLTIwMDgtMzI3MSIgc2VxPSIyMDA4LTMyNzEiIHNldmVyaXR5PSJNZWRpdW0iIHR5cGU9IkNWRSIgcHVibGlzaGVkPSIyMDA4LTEwLTEzIiBDVlNTX3ZlcnNpb249IjIuMCIgQ1ZTU19zY29yZT0iNC4zIiBtb2RpZmllZD0iMjAwOC0xMC0xNCI+DQorICAgICAgICA8ZGVzYz4NCisgICAgICAgICAgICA8ZGVzY3JpcHQgc291cmNlPSJjdmUiPkFwYWNoZSBUb21jYXQgNS41LjAgYW5kIDQuMS4wIHRocm91Z2ggNC4xLjMxIGFsbG93cyByZW1vdGUgYXR0YWNrZXJzIHRvIGJ5cGFzcyBhbiBJUCBhZGRyZXNzIHJlc3RyaWN0aW9uIGFuZCBvYnRhaW4gc2Vuc2l0aXZlIGluZm9ybWF0aW9uIHZpYSBhIHJlcXVlc3QgdGhhdCBpcyBwcm9jZXNzZWQgY29uY3VycmVudGx5IHdpdGggYW5vdGhlciByZXF1ZXN0IGJ1dCBpbiBhIGRpZmZlcmVudCB0aHJlYWQsIGxlYWRpbmcgdG8gYW4gaW5zdGFuY2UtdmFyaWFibGUgb3ZlcndyaXRlIGFzc29jaWF0ZWQgd2l0aCBhICJzeW5jaHJvbml6YXRpb24gcHJvYmxlbSIgYW5kIGxhY2sgb2YgdGhyZWFkIHNhZmV0eSwgYW5kIHJlbGF0ZWQgdG8gUmVtb3RlRmlsdGVyVmFsdmUsIFJlbW90ZUFkZHJWYWx2ZSwgYW5kIFJlbW90ZUhvc3RWYWx2ZS48L2Rlc2NyaXB0Pg0KKyAgICAgICAgPC9kZXNjPg0KKyAgICAgICAgPGxvc3NfdHlwZXM+DQorICAgICAgICAgICAgPGNvbmYgLz4NCisgICAgICAgIDwvbG9zc190eXBlcz4NCisgICAgICAgIDxyYW5nZT4NCisgICAgICAgICAgICA8bmV0d29yayAvPg0KKyAgICAgICAgPC9yYW5nZT4NCisgICAgICAgIDxyZWZzPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJDT05GSVJNIiB1cmw9Imh0dHBzOi8vaXNzdWVzLmFwYWNoZS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTI1ODM1Ij5odHRwczovL2lzc3Vlcy5hcGFjaGUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0yNTgzNTwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJCSUQiIHVybD0iaHR0cDovL3d3dy5zZWN1cml0eWZvY3VzLmNvbS9iaWQvMzE2OTgiPjMxNjk4PC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkJVR1RSQVEiIHVybD0iaHR0cDovL3d3dy5zZWN1cml0eWZvY3VzLmNvbS9hcmNoaXZlLzEvYXJjaGl2ZS8xLzQ5NzIyMC8xMDAvMC90aHJlYWRlZCI+MjAwODEwMDkgW1NFQ1VSSVRZXSBDVkUtMjAwOC0zMjcxIC0gQXBhY2hlIFRvbWNhdCBpbmZvcm1hdGlvbiBkaXNjbG9zdXJlPC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkNPTkZJUk0iIHVybD0iaHR0cDovL3d3dy5mdWppdHN1LmNvbS9nbG9iYWwvc3VwcG9ydC9zb2Z0d2FyZS9zZWN1cml0eS9wcm9kdWN0cy1mL2ludGVyc3RhZ2UtMjAwODA2ZS5odG1sIj5odHRwOi8vd3d3LmZ1aml0c3UuY29tL2dsb2JhbC9zdXBwb3J0L3NvZnR3YXJlL3NlY3VyaXR5L3Byb2R1Y3RzLWYvaW50ZXJzdGFnZS0yMDA4MDZlLmh0bWw8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQ09ORklSTSIgdXJsPSJodHRwOi8vdG9tY2F0LmFwYWNoZS5vcmcvc2VjdXJpdHktNS5odG1sIj5odHRwOi8vdG9tY2F0LmFwYWNoZS5vcmcvc2VjdXJpdHktNS5odG1sPC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkNPTkZJUk0iIHVybD0iaHR0cDovL3RvbWNhdC5hcGFjaGUub3JnL3NlY3VyaXR5LTQuaHRtbCIgYWR2PSIxIj5odHRwOi8vdG9tY2F0LmFwYWNoZS5vcmcvc2VjdXJpdHktNC5odG1sPC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IlNFQ1VOSUEiIHVybD0iaHR0cDovL3NlY3VuaWEuY29tL2Fkdmlzb3JpZXMvMzIyMzQiIGFkdj0iMSI+MzIyMzQ8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iSlZOIiB1cmw9Imh0dHA6Ly9qdm4uanAvZW4vanAvSlZOMzA3MzIyMzkvaW5kZXguaHRtbCI+SlZOIzMwNzMyMjM5PC9yZWY+DQorICAgICAgICA8L3JlZnM+DQorICAgICAgICA8dnVsbl9zb2Z0Pg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0iYXBhY2hlIiBuYW1lPSJ0b21jYXQiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjQuMS4wIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjQuMS4xIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjQuMS4xMCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI0LjEuMTEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNC4xLjEyIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjQuMS4xMyIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI0LjEuMTQiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNC4xLjE1IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjQuMS4xNiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI0LjEuMTciIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNC4xLjE4IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjQuMS4xOSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI0LjEuMiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI0LjEuMjAiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNC4xLjIxIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjQuMS4yMiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI0LjEuMjMiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNC4xLjI0IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjQuMS4yNSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI0LjEuMjYiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNC4xLjI3IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjQuMS4yOCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI0LjEuMjkiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249ImJldGEiIG51bT0iNC4xLjMiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNC4xLjMwIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjQuMS4zMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI0LjEuNCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI0LjEuNSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI0LjEuNiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI0LjEuNyIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI0LjEuOCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI0LjEuOSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI1LjUuMCIgLz4NCisgICAgICAgICAgICA8L3Byb2Q+DQorICAgICAgICA8L3Z1bG5fc29mdD4NCisgICAgPC9lbnRyeT4KKyAgICA8ZW50cnkgQ1ZTU192ZWN0b3I9IihBVjpOL0FDOkwvQXU6Ti9DOlAvSTpQL0E6QykiIENWU1NfYmFzZV9zY29yZT0iOS4wIiBDVlNTX2V4cGxvaXRfc3Vic2NvcmU9IjEwLjAiIENWU1NfaW1wYWN0X3N1YnNjb3JlPSI4LjUiIG5hbWU9IkNWRS0yMDA4LTM1NDQiIHNlcT0iMjAwOC0zNTQ0IiBzZXZlcml0eT0iSGlnaCIgdHlwZT0iQ1ZFIiBwdWJsaXNoZWQ9IjIwMDgtMTAtMTMiIENWU1NfdmVyc2lvbj0iMi4wIiBDVlNTX3Njb3JlPSI5LjAiIG1vZGlmaWVkPSIyMDA4LTEwLTE0Ij4NCisgICAgICAgIDxkZXNjPg0KKyAgICAgICAgICAgIDxkZXNjcmlwdCBzb3VyY2U9ImN2ZSI+TXVsdGlwbGUgc3RhY2stYmFzZWQgYnVmZmVyIG92ZXJmbG93cyBpbiBvdmFsYXJtc3J2IGluIEhQIE9wZW5WaWV3IE5ldHdvcmsgTm9kZSBNYW5hZ2VyIChPViBOTk0pIDcuNTEsIGFuZCBwb3NzaWJseSA3LjAxLCA3LjUwLCBhbmQgNy41MywgYWxsb3cgcmVtb3RlIGF0dGFja2VycyB0byBleGVjdXRlIGFyYml0cmFyeSBjb2RlIHZpYSBhIGxvbmcgKDEpIFJFUVVFU1RfU0VWX0NIQU5HRSAoYWthIG51bWJlciA0NyksICgyKSBSRVFVRVNUX1NBVkVfU1RBVEUgKGFrYSBudW1iZXIgNjEpLCBvciAoMykgUkVRVUVTVF9SRVNUT1JFX1NUQVRFIChha2EgbnVtYmVyIDYyKSByZXF1ZXN0IHRvIFRDUCBwb3J0IDI5NTQuPC9kZXNjcmlwdD4NCisgICAgICAgIDwvZGVzYz4NCisgICAgICAgIDxsb3NzX3R5cGVzPg0KKyAgICAgICAgICAgIDxhdmFpbCAvPg0KKyAgICAgICAgICAgIDxjb25mIC8+DQorICAgICAgICAgICAgPGludCAvPg0KKyAgICAgICAgPC9sb3NzX3R5cGVzPg0KKyAgICAgICAgPHJhbmdlPg0KKyAgICAgICAgICAgIDxuZXR3b3JrIC8+DQorICAgICAgICA8L3JhbmdlPg0KKyAgICAgICAgPHJlZnM+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkhQIiBwYXRjaD0iMSIgdXJsPSJodHRwOi8vaDIwMDAwLnd3dzIuaHAuY29tL2JpenN1cHBvcnQvVGVjaFN1cHBvcnQvRG9jdW1lbnQuanNwP29iamVjdElEPWMwMTUzNzI3NSIgYWR2PSIxIj5TU1JUMDgwMDQyPC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkJJRCIgdXJsPSJodHRwOi8vd3d3LnNlY3VyaXR5Zm9jdXMuY29tL2JpZC8yODY2OCI+Mjg2Njg8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQlVHVFJBUSIgdXJsPSJodHRwOi8vd3d3LnNlY3VyaXR5Zm9jdXMuY29tL2FyY2hpdmUvMS80OTA1NDEiPjIwMDgwNDA3IE11bHRpcGxlIHZ1bG5lcmFiaWxpdGllcyBpbiBIUCBPcGVuVmlldyBOTk0gNy41MzwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJTRUNVTklBIiB1cmw9Imh0dHA6Ly9zZWN1bmlhLmNvbS9hZHZpc29yaWVzLzMxNjg4IiBhZHY9IjEiPjMxNjg4PC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9Ik1JU0MiIHVybD0iaHR0cDovL2Rvd25sb2Fkcy5zZWN1cml0eWZvY3VzLmNvbS92dWxuZXJhYmlsaXRpZXMvZXhwbG9pdHMvMjg2NjguYyI+aHR0cDovL2Rvd25sb2Fkcy5zZWN1cml0eWZvY3VzLmNvbS92dWxuZXJhYmlsaXRpZXMvZXhwbG9pdHMvMjg2NjguYzwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJNSVNDIiB1cmw9Imh0dHA6Ly9hbHVpZ2kuYWx0ZXJ2aXN0YS5vcmcvYWR2L2Nsb3NlZHZpZXdfb2xkLWFkdi50eHQiPmh0dHA6Ly9hbHVpZ2kuYWx0ZXJ2aXN0YS5vcmcvYWR2L2Nsb3NlZHZpZXdfb2xkLWFkdi50eHQ8L3JlZj4NCisgICAgICAgIDwvcmVmcz4NCisgICAgICAgIDx2dWxuX3NvZnQ+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJocCIgbmFtZT0ib3BlbnZpZXdfbmV0d29ya19ub2RlX21hbmFnZXIiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjcuMDEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNy41MCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI3LjUxIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjcuNTMiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgPC92dWxuX3NvZnQ+DQorICAgIDwvZW50cnk+CisgICAgPGVudHJ5IENWU1NfdmVjdG9yPSIoQVY6Ti9BQzpML0F1Ok4vQzpOL0k6Ti9BOkMpIiBDVlNTX2Jhc2Vfc2NvcmU9IjcuOCIgQ1ZTU19leHBsb2l0X3N1YnNjb3JlPSIxMC4wIiBDVlNTX2ltcGFjdF9zdWJzY29yZT0iNi45IiBuYW1lPSJDVkUtMjAwOC0zNTQ1IiBzZXE9IjIwMDgtMzU0NSIgc2V2ZXJpdHk9IkhpZ2giIHR5cGU9IkNWRSIgcHVibGlzaGVkPSIyMDA4LTEwLTEzIiBDVlNTX3ZlcnNpb249IjIuMCIgQ1ZTU19zY29yZT0iNy44IiBtb2RpZmllZD0iMjAwOC0xMC0xNCI+DQorICAgICAgICA8ZGVzYz4NCisgICAgICAgICAgICA8ZGVzY3JpcHQgc291cmNlPSJjdmUiPlVuc3BlY2lmaWVkIHZ1bG5lcmFiaWxpdHkgaW4gb3Z0b3BtZCBpbiBIUCBPcGVuVmlldyBOZXR3b3JrIE5vZGUgTWFuYWdlciAoT1YgTk5NKSA3LjAxLCA3LjUxLCBhbmQgNy41MyBhbGxvd3MgcmVtb3RlIGF0dGFja2VycyB0byBjYXVzZSBhIGRlbmlhbCBvZiBzZXJ2aWNlIHZpYSB1bmtub3duIHZlY3RvcnMsIGEgZGlmZmVyZW50IHZ1bG5lcmFiaWxpdHkgdGhhbiBDVkUtMjAwOC0zNTM2LCBDVkUtMjAwOC0zNTM3LCBhbmQgQ1ZFLTIwMDgtMzU0NC4gIE5PVEU6IGR1ZSB0byBpbnN1ZmZpY2llbnQgZGV0YWlscyBmcm9tIHRoZSB2ZW5kb3IsIGl0IGlzIG5vdCBjbGVhciB3aGV0aGVyIHRoaXMgaXMgdGhlIHNhbWUgYXMgQ1ZFLTIwMDgtMTg1My48L2Rlc2NyaXB0Pg0KKyAgICAgICAgPC9kZXNjPg0KKyAgICAgICAgPGxvc3NfdHlwZXM+DQorICAgICAgICAgICAgPGF2YWlsIC8+DQorICAgICAgICA8L2xvc3NfdHlwZXM+DQorICAgICAgICA8cmFuZ2U+DQorICAgICAgICAgICAgPG5ldHdvcmsgLz4NCisgICAgICAgIDwvcmFuZ2U+DQorICAgICAgICA8cmVmcz4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iSFAiIHBhdGNoPSIxIiB1cmw9Imh0dHA6Ly9tYXJjLmluZm8vP2w9YnVndHJhcSZhbXA7bT0xMjIzNTY5MDcwMDQwNzUmYW1wO3c9MiI+U1NSVDA4MDA0NjwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJCSUQiIHVybD0iaHR0cDovL3d3dy5zZWN1cml0eWZvY3VzLmNvbS9iaWQvMzE2NjkiPjMxNjY5PC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IlNFQ1RSQUNLIiB1cmw9Imh0dHA6Ly9zZWN1cml0eXRyYWNrZXIuY29tL2lkPzEwMjEwMTQiPjEwMjEwMTQ8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iU0VDVU5JQSIgdXJsPSJodHRwOi8vc2VjdW5pYS5jb20vYWR2aXNvcmllcy8yOTc5NiIgYWR2PSIxIj4yOTc5NjwvcmVmPg0KKyAgICAgICAgPC9yZWZzPg0KKyAgICAgICAgPHZ1bG5fc29mdD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9ImhwIiBuYW1lPSJvcGVudmlld19uZXR3b3JrX25vZGVfbWFuYWdlciI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNy4wMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI3LjUxIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjcuNTMiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgPC92dWxuX3NvZnQ+DQorICAgIDwvZW50cnk+CisgICAgPGVudHJ5IENWU1NfdmVjdG9yPSIoQVY6Ti9BQzpNL0F1Ok4vQzpOL0k6UC9BOk4pIiBDVlNTX2Jhc2Vfc2NvcmU9IjQuMyIgQ1ZTU19leHBsb2l0X3N1YnNjb3JlPSI4LjYiIENWU1NfaW1wYWN0X3N1YnNjb3JlPSIyLjkiIG5hbWU9IkNWRS0yMDA4LTQ0MTEiIHNlcT0iMjAwOC00NDExIiBzZXZlcml0eT0iTWVkaXVtIiB0eXBlPSJDVkUiIHB1Ymxpc2hlZD0iMjAwOC0xMC0xMyIgQ1ZTU192ZXJzaW9uPSIyLjAiIENWU1Nfc2NvcmU9IjQuMyIgbW9kaWZpZWQ9IjIwMDgtMTAtMTMiPg0KKyAgICAgICAgPGRlc2M+DQorICAgICAgICAgICAgPGRlc2NyaXB0IHNvdXJjZT0iY3ZlIj5Dcm9zcy1zaXRlIHNjcmlwdGluZyAoWFNTKSB2dWxuZXJhYmlsaXR5IGluIEhQIFN5c3RlbSBNYW5hZ2VtZW50IEhvbWVwYWdlIChTTUgpIGJlZm9yZSAyLjEuMTUuMjEwIG9uIExpbnV4IGFuZCBXaW5kb3dzIGFsbG93cyByZW1vdGUgYXR0YWNrZXJzIHRvIGluamVjdCBhcmJpdHJhcnkgd2ViIHNjcmlwdCBvciBIVE1MIHZpYSB1bnNwZWNpZmllZCB2ZWN0b3JzLCBhIGRpZmZlcmVudCB2dWxuZXJhYmlsaXR5IHRoYW4gQ1ZFLTIwMDgtMTY2My48L2Rlc2NyaXB0Pg0KKyAgICAgICAgPC9kZXNjPg0KKyAgICAgICAgPGxvc3NfdHlwZXM+DQorICAgICAgICAgICAgPGludCAvPg0KKyAgICAgICAgPC9sb3NzX3R5cGVzPg0KKyAgICAgICAgPHJhbmdlPg0KKyAgICAgICAgICAgIDxuZXR3b3JrIC8+DQorICAgICAgICAgICAgPHVzZXJfaW5pdCAvPg0KKyAgICAgICAgPC9yYW5nZT4NCisgICAgICAgIDxyZWZzPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJCSUQiIHBhdGNoPSIxIiB1cmw9Imh0dHA6Ly93d3cuc2VjdXJpdHlmb2N1cy5jb20vYmlkLzMxNjYzIj4zMTY2MzwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJGUlNJUlQiIHBhdGNoPSIxIiB1cmw9Imh0dHA6Ly93d3cuZnJzaXJ0LmNvbS9lbmdsaXNoL2Fkdmlzb3JpZXMvMjAwOC8yNzc4IiBhZHY9IjEiPkFEVi0yMDA4LTI3Nzg8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iU0VDVFJBQ0siIHVybD0iaHR0cDovL3NlY3VyaXR5dHJhY2tlci5jb20vaWQ/MTAyMTAxNSI+MTAyMTAxNTwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJTRUNVTklBIiB1cmw9Imh0dHA6Ly9zZWN1bmlhLmNvbS9hZHZpc29yaWVzLzMyMTk5IiBhZHY9IjEiPjMyMTk5PC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkhQIiB1cmw9Imh0dHA6Ly9tYXJjLmluZm8vP2w9YnVndHJhcSZhbXA7bT0xMjIzNTY1ODg0Mjk2MjYmYW1wO3c9MiI+SFBTQk1BMDIzNzY8L3JlZj4NCisgICAgICAgIDwvcmVmcz4NCisgICAgICAgIDx2dWxuX3NvZnQ+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJocCIgbmFtZT0ic3lzdGVtX21hbmFnZW1lbnRfaG9tZXBhZ2UiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuMC4wIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuMC4xIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuMC4yIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjEuMC0xMDMiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi4xLjAtMTAzKGEpIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuMS4wLTEwOSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjEuMC0xMTgiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi4xLjEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi4xLjEwIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuMS4xMC0xODYiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi4xLjExIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuMS4xMS0xOTciIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi4xLjEyLTExOCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjEuMTItMjAwIiBwcmV2PSIxIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuMS4yIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuMS4yLTEyNyIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjEuMyIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjEuMy4xMzIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi4xLjQiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi4xLjQtMTQzIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuMS41IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuMS41LTE0NiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjEuNiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjEuNi0xNTYiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi4xLjciIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi4xLjctMTY4IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuMS44IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuMS44LTE3NyIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjEuOSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjEuOS0xNzgiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgPC92dWxuX3NvZnQ+DQorICAgIDwvZW50cnk+CisgICAgPGVudHJ5IENWU1NfdmVjdG9yPSIoQVY6TC9BQzpML0F1Ok4vQzpQL0k6Ti9BOk4pIiBDVlNTX2Jhc2Vfc2NvcmU9IjIuMSIgQ1ZTU19leHBsb2l0X3N1YnNjb3JlPSIzLjkiIENWU1NfaW1wYWN0X3N1YnNjb3JlPSIyLjkiIG5hbWU9IkNWRS0yMDA4LTQ1NDAiIHNlcT0iMjAwOC00NTQwIiBzZXZlcml0eT0iTG93IiB0eXBlPSJDVkUiIHB1Ymxpc2hlZD0iMjAwOC0xMC0xMyIgQ1ZTU192ZXJzaW9uPSIyLjAiIENWU1Nfc2NvcmU9IjIuMSIgbW9kaWZpZWQ9IjIwMDgtMTAtMTQiPg0KKyAgICAgICAgPGRlc2M+DQorICAgICAgICAgICAgPGRlc2NyaXB0IHNvdXJjZT0iY3ZlIj5XaW5kb3dzIE1vYmlsZSA2IG9uIHRoZSBIVEMgSGVybWVzIGRldmljZSBtYWtlcyBXTEFOIHBhc3N3b3JkcyBhdmFpbGFibGUgdG8gYW4gYXV0by1jb21wbGV0aW9uIG1lY2hhbmlzbSBmb3IgdGhlIHBhc3N3b3JkIGlucHV0IGZpZWxkLCB3aGljaCBhbGxvd3MgcGh5c2ljYWxseSBwcm94aW1hdGUgYXR0YWNrZXJzIHRvIGJ5cGFzcyBwYXNzd29yZCBhdXRoZW50aWNhdGlvbiBhbmQgb2J0YWluIFdMQU4gYWNjZXNzLjwvZGVzY3JpcHQ+DQorICAgICAgICA8L2Rlc2M+DQorICAgICAgICA8bG9zc190eXBlcz4NCisgICAgICAgICAgICA8Y29uZiAvPg0KKyAgICAgICAgPC9sb3NzX3R5cGVzPg0KKyAgICAgICAgPHJhbmdlPg0KKyAgICAgICAgICAgIDxsb2NhbCAvPg0KKyAgICAgICAgPC9yYW5nZT4NCisgICAgICAgIDxyZWZzPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJCVUdUUkFRIiB1cmw9Imh0dHA6Ly93d3cuc2VjdXJpdHlmb2N1cy5jb20vYXJjaGl2ZS8xL2FyY2hpdmUvMS80OTcxNTEvMTAwLzAvdGhyZWFkZWQiPjIwMDgxMDA4IFdpbmRvd3MgTW9iaWxlIDYgaW5zZWN1cmUgcGFzc3dvcmQgaGFuZGxpbmcgYW5kIHRvbyBzaG9ydCBXTEFOLXBhc3N3b3JkPC9yZWY+DQorICAgICAgICA8L3JlZnM+DQorICAgICAgICA8dnVsbl9zb2Z0Pg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0ibWljcm9zb2Z0IiBuYW1lPSJ3aW5kb3dzX21vYmlsZSI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNi4wIiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgIDwvdnVsbl9zb2Z0Pg0KKyAgICA8L2VudHJ5PgorICAgIDxlbnRyeSBDVlNTX3ZlY3Rvcj0iKEFWOk4vQUM6TC9BdTpOL0M6Qy9JOkMvQTpDKSIgQ1ZTU19iYXNlX3Njb3JlPSIxMC4wIiBDVlNTX2V4cGxvaXRfc3Vic2NvcmU9IjEwLjAiIENWU1NfaW1wYWN0X3N1YnNjb3JlPSIxMC4wIiBuYW1lPSJDVkUtMjAwOC00NTQxIiBzZXE9IjIwMDgtNDU0MSIgc2V2ZXJpdHk9IkhpZ2giIHR5cGU9IkNWRSIgcHVibGlzaGVkPSIyMDA4LTEwLTEzIiBDVlNTX3ZlcnNpb249IjIuMCIgQ1ZTU19zY29yZT0iMTAuMCIgbW9kaWZpZWQ9IjIwMDgtMTAtMTQiPg0KKyAgICAgICAgPGRlc2M+DQorICAgICAgICAgICAgPGRlc2NyaXB0IHNvdXJjZT0iY3ZlIj5IZWFwLWJhc2VkIGJ1ZmZlciBvdmVyZmxvdyBpbiB0aGUgRlRQIHN1YnN5c3RlbSBpbiBTdW4gSmF2YSBTeXN0ZW0gV2ViIFByb3h5IFNlcnZlciA0LjAgdGhyb3VnaCA0LjAuNyBhbGxvd3MgcmVtb3RlIGF0dGFja2VycyB0byBleGVjdXRlIGFyYml0cmFyeSBjb2RlIHZpYSB1bnNwZWNpZmllZCB2ZWN0b3JzLjwvZGVzY3JpcHQ+DQorICAgICAgICA8L2Rlc2M+DQorICAgICAgICA8bG9zc190eXBlcz4NCisgICAgICAgICAgICA8YXZhaWwgLz4NCisgICAgICAgICAgICA8Y29uZiAvPg0KKyAgICAgICAgICAgIDxpbnQgLz4NCisgICAgICAgIDwvbG9zc190eXBlcz4NCisgICAgICAgIDxyYW5nZT4NCisgICAgICAgICAgICA8bmV0d29yayAvPg0KKyAgICAgICAgPC9yYW5nZT4NCisgICAgICAgIDxyZWZzPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJYRiIgdXJsPSJodHRwOi8veGZvcmNlLmlzcy5uZXQveGZvcmNlL3hmZGIvNDU3ODIiPnN1bi13ZWJwcm94eS1mdHAtYm8oNDU3ODIpPC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkJJRCIgdXJsPSJodHRwOi8vd3d3LnNlY3VyaXR5Zm9jdXMuY29tL2JpZC8zMTY5MSI+MzE2OTE8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iRlJTSVJUIiB1cmw9Imh0dHA6Ly93d3cuZnJzaXJ0LmNvbS9lbmdsaXNoL2Fkdmlzb3JpZXMvMjAwOC8yNzgxIiBhZHY9IjEiPkFEVi0yMDA4LTI3ODE8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iU1VOQUxFUlQiIHVybD0iaHR0cDovL3N1bnNvbHZlLnN1bi5jb20vc2VhcmNoL2RvY3VtZW50LmRvP2Fzc2V0a2V5PTEtMjYtMjQyOTg2LTEiPjI0Mjk4NjwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJTRUNUUkFDSyIgdXJsPSJodHRwOi8vc2VjdXJpdHl0cmFja2VyLmNvbS9pZD8xMDIxMDM4Ij4xMDIxMDM4PC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IlNFQ1VOSUEiIHVybD0iaHR0cDovL3NlY3VuaWEuY29tL2Fkdmlzb3JpZXMvMzIyMjciIGFkdj0iMSI+MzIyMjc8L3JlZj4NCisgICAgICAgIDwvcmVmcz4NCisgICAgICAgIDx2dWxuX3NvZnQ+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJzdW4iIG5hbWU9ImphdmFfc3lzdGVtX3dlYl9wcm94eV9zZXJ2ZXIiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJzcDEiIG51bT0iNC4wIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJzcDEiIG51bT0iNC4wLjEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InNwMiIgbnVtPSI0LjAuMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0ic3AzIiBudW09IjQuMC4xIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJzcDQiIG51bT0iNC4wLjEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InNwNSIgbnVtPSI0LjAuMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0ic3A2IiBudW09IjQuMC4xIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJzcDEiIG51bT0iNC4wLjIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InNwMiIgbnVtPSI0LjAuMiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0ic3AzIiBudW09IjQuMC4yIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJzcDQiIG51bT0iNC4wLjIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InNwNSIgbnVtPSI0LjAuMiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0ic3A2IiBudW09IjQuMC4yIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJzcDEiIG51bT0iNC4wLjMiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InNwMiIgbnVtPSI0LjAuMyIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0ic3AzIiBudW09IjQuMC4zIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJzcDQiIG51bT0iNC4wLjMiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InNwNSIgbnVtPSI0LjAuMyIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0ic3A2IiBudW09IjQuMC4zIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJzcDEiIG51bT0iNC4wLjQiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InNwMiIgbnVtPSI0LjAuNCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0ic3AzIiBudW09IjQuMC40IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJzcDQiIG51bT0iNC4wLjQiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InNwNSIgbnVtPSI0LjAuNCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0ic3A2IiBudW09IjQuMC40IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJzcDEiIG51bT0iNC4wLjUiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InNwMiIgbnVtPSI0LjAuNSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0ic3AzIiBudW09IjQuMC41IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJzcDQiIG51bT0iNC4wLjUiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InNwNSIgbnVtPSI0LjAuNSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0ic3A2IiBudW09IjQuMC41IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSIiIG51bT0iNC4wLjYiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249Ijp3aW5kb3dzIiBudW09IjQuMC42IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSI6eDg2IiBudW09IjQuMC42IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSI6aHBfdXgiIG51bT0iNC4wLjYiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249IjpzcGFyYyIgbnVtPSI0LjAuNiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iOmxpbnV4IiBudW09IjQuMC42IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSIiIG51bT0iNC4wLjciIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249IjpzcGFyYyIgbnVtPSI0LjAuNyIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iOndpbmRvd3MiIG51bT0iNC4wLjciIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249Ijp4ODYiIG51bT0iNC4wLjciIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249IjpocF91eCIgbnVtPSI0LjAuNyIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iOmxpbnV4IiBudW09IjQuMC43IiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgIDwvdnVsbl9zb2Z0Pg0KKyAgICA8L2VudHJ5PgorICAgIDxlbnRyeSBDVlNTX3ZlY3Rvcj0iKEFWOk4vQUM6TS9BdTpTL0M6Ti9JOlAvQTpOKSIgQ1ZTU19iYXNlX3Njb3JlPSIzLjUiIENWU1NfZXhwbG9pdF9zdWJzY29yZT0iNi44IiBDVlNTX2ltcGFjdF9zdWJzY29yZT0iMi45IiBuYW1lPSJDVkUtMjAwOC00NTQyIiBzZXE9IjIwMDgtNDU0MiIgc2V2ZXJpdHk9IkxvdyIgdHlwZT0iQ1ZFIiBwdWJsaXNoZWQ9IjIwMDgtMTAtMTMiIENWU1NfdmVyc2lvbj0iMi4wIiBDVlNTX3Njb3JlPSIzLjUiIG1vZGlmaWVkPSIyMDA4LTEwLTE0Ij4NCisgICAgICAgIDxkZXNjPg0KKyAgICAgICAgICAgIDxkZXNjcmlwdCBzb3VyY2U9ImN2ZSI+Q3Jvc3Mtc2l0ZSBzY3JpcHRpbmcgKFhTUykgdnVsbmVyYWJpbGl0eSBpbiBDaXNjbyBVbml0eSA0LnggYmVmb3JlIDQuMigxKUVTMTYyLCA1LnggYmVmb3JlIDUuMCgxKUVTNTYsIGFuZCA3LnggYmVmb3JlIDcuMCgyKUVTOCBhbGxvd3MgcmVtb3RlIGF1dGhlbnRpY2F0ZWQgYWRtaW5pc3RyYXRvcnMgdG8gaW5qZWN0IGFyYml0cmFyeSB3ZWIgc2NyaXB0IG9yIEhUTUwgYnkgZW50ZXJpbmcgaXQgaW4gdGhlIGRhdGFiYXNlIChha2EgZGF0YSBzdG9yZSkuPC9kZXNjcmlwdD4NCisgICAgICAgIDwvZGVzYz4NCisgICAgICAgIDxsb3NzX3R5cGVzPg0KKyAgICAgICAgICAgIDxpbnQgLz4NCisgICAgICAgIDwvbG9zc190eXBlcz4NCisgICAgICAgIDxyYW5nZT4NCisgICAgICAgICAgICA8bmV0d29yayAvPg0KKyAgICAgICAgICAgIDx1c2VyX2luaXQgLz4NCisgICAgICAgIDwvcmFuZ2U+DQorICAgICAgICA8cmVmcz4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iTUlTQyIgdXJsPSJodHRwOi8vd3d3LnZvaXBzaGllbGQuY29tL3Jlc2VhcmNoLWRldGFpbHMucGhwP2lkPTEyNyI+aHR0cDovL3d3dy52b2lwc2hpZWxkLmNvbS9yZXNlYXJjaC1kZXRhaWxzLnBocD9pZD0xMjc8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQklEIiB1cmw9Imh0dHA6Ly93d3cuc2VjdXJpdHlmb2N1cy5jb20vYmlkLzMxNjQyIj4zMTY0MjwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJGUlNJUlQiIHVybD0iaHR0cDovL3d3dy5mcnNpcnQuY29tL2VuZ2xpc2gvYWR2aXNvcmllcy8yMDA4LzI3NzEiIGFkdj0iMSI+QURWLTIwMDgtMjc3MTwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJDSVNDTyIgdXJsPSJodHRwOi8vd3d3LmNpc2NvLmNvbS9lbi9VUy9wcm9kdWN0cy9wcm9kdWN0c19zZWN1cml0eV9yZXNwb25zZTA5MTg2YTAwODBhMGQ4NjEuaHRtbCIgYWR2PSIxIj4yMDA4MTAwOCBWb0lQc2hpZWxkIFJlcG9ydGVkIFZ1bG5lcmFiaWxpdGllcyBpbiBDaXNjbyBVbml0eSBTZXJ2ZXI8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iU0VDVFJBQ0siIHVybD0iaHR0cDovL3NlY3VyaXR5dHJhY2tlci5jb20vaWQ/MTAyMTAxMiI+MTAyMTAxMjwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJTRUNVTklBIiB1cmw9Imh0dHA6Ly9zZWN1bmlhLmNvbS9hZHZpc29yaWVzLzMyMjA3IiBhZHY9IjEiPjMyMjA3PC9yZWY+DQorICAgICAgICA8L3JlZnM+DQorICAgICAgICA8dnVsbl9zb2Z0Pg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0iY2lzY28iIG5hbWU9InVuaXR5Ij4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI0LjAiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNC4wKDEpIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjQuMCgyKSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0ic3IyIiBudW09IjQuMCgzKSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0ic3IxIiBudW09IjQuMCg0KSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI0LjAoNSkiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNC4xKDEpIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjQuMigxKSIgcHJldj0iMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI1LjAiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNS4wKDEpIiBwcmV2PSIxIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjcuMCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI3LjAoMikiIHByZXY9IjEiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgPC92dWxuX3NvZnQ+DQorICAgIDwvZW50cnk+CisgICAgPGVudHJ5IENWU1NfdmVjdG9yPSIoQVY6Ti9BQzpNL0F1Ok4vQzpOL0k6Ti9BOkMpIiBDVlNTX2Jhc2Vfc2NvcmU9IjcuMSIgQ1ZTU19leHBsb2l0X3N1YnNjb3JlPSI4LjYiIENWU1NfaW1wYWN0X3N1YnNjb3JlPSI2LjkiIG5hbWU9IkNWRS0yMDA4LTQ1NDMiIHNlcT0iMjAwOC00NTQzIiBzZXZlcml0eT0iSGlnaCIgdHlwZT0iQ1ZFIiBwdWJsaXNoZWQ9IjIwMDgtMTAtMTMiIENWU1NfdmVyc2lvbj0iMi4wIiBDVlNTX3Njb3JlPSI3LjEiIG1vZGlmaWVkPSIyMDA4LTEwLTE0Ij4NCisgICAgICAgIDxkZXNjPg0KKyAgICAgICAgICAgIDxkZXNjcmlwdCBzb3VyY2U9ImN2ZSI+Q2lzY28gVW5pdHkgNC54IGJlZm9yZSA0LjIoMSlFUzE2MSwgNS54IGJlZm9yZSA1LjAoMSlFUzUzLCBhbmQgNy54IGJlZm9yZSA3LjAoMilFUzgsIHdoZW4gdXNpbmcgYW5vbnltb3VzIGF1dGhlbnRpY2F0aW9uIChha2EgbmF0aXZlIFVuaXR5IGF1dGhlbnRpY2F0aW9uKSwgYWxsb3dzIHJlbW90ZSBhdHRhY2tlcnMgdG8gY2F1c2UgYSBkZW5pYWwgb2Ygc2VydmljZSAoc2Vzc2lvbiBleGhhdXN0aW9uKSB2aWEgYSBsYXJnZSBudW1iZXIgb2YgY29ubmVjdGlvbnMuPC9kZXNjcmlwdD4NCisgICAgICAgIDwvZGVzYz4NCisgICAgICAgIDxsb3NzX3R5cGVzPg0KKyAgICAgICAgICAgIDxhdmFpbCAvPg0KKyAgICAgICAgPC9sb3NzX3R5cGVzPg0KKyAgICAgICAgPHJhbmdlPg0KKyAgICAgICAgICAgIDxuZXR3b3JrIC8+DQorICAgICAgICA8L3JhbmdlPg0KKyAgICAgICAgPHJlZnM+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9Ik1JU0MiIHVybD0iaHR0cDovL3d3dy52b2lwc2hpZWxkLmNvbS9yZXNlYXJjaC1kZXRhaWxzLnBocD9pZD0xMjgiPmh0dHA6Ly93d3cudm9pcHNoaWVsZC5jb20vcmVzZWFyY2gtZGV0YWlscy5waHA/aWQ9MTI4PC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkJJRCIgdXJsPSJodHRwOi8vd3d3LnNlY3VyaXR5Zm9jdXMuY29tL2JpZC8zMTY0MiI+MzE2NDI8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iRlJTSVJUIiB1cmw9Imh0dHA6Ly93d3cuZnJzaXJ0LmNvbS9lbmdsaXNoL2Fkdmlzb3JpZXMvMjAwOC8yNzcxIiBhZHY9IjEiPkFEVi0yMDA4LTI3NzE8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQ0lTQ08iIHVybD0iaHR0cDovL3d3dy5jaXNjby5jb20vZW4vVVMvcHJvZHVjdHMvcHJvZHVjdHNfc2VjdXJpdHlfcmVzcG9uc2UwOTE4NmEwMDgwYTBkODYxLmh0bWwiIGFkdj0iMSI+MjAwODEwMDggVm9JUHNoaWVsZCBSZXBvcnRlZCBWdWxuZXJhYmlsaXRpZXMgaW4gQ2lzY28gVW5pdHkgU2VydmVyPC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IlNFQ1RSQUNLIiB1cmw9Imh0dHA6Ly9zZWN1cml0eXRyYWNrZXIuY29tL2lkPzEwMjEwMTMiPjEwMjEwMTM8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iU0VDVU5JQSIgdXJsPSJodHRwOi8vc2VjdW5pYS5jb20vYWR2aXNvcmllcy8zMjE4NyIgYWR2PSIxIj4zMjE4NzwvcmVmPg0KKyAgICAgICAgPC9yZWZzPg0KKyAgICAgICAgPHZ1bG5fc29mdD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9ImNpc2NvIiBuYW1lPSJ1bml0eSI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNC4wIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjQuMCgxKSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI0LjAoMikiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InNyMiIgbnVtPSI0LjAoMykiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InNyMSIgbnVtPSI0LjAoNCkiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNC4wKDUpIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjQuMSgxKSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI0LjIoMSkiIHByZXY9IjEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNS4wIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjUuMCgxKSIgcHJldj0iMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI3LjAiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNy4wKDIpIiBwcmV2PSIxIiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgIDwvdnVsbl9zb2Z0Pg0KKyAgICA8L2VudHJ5PgorICAgIDxlbnRyeSBDVlNTX3ZlY3Rvcj0iKEFWOk4vQUM6TC9BdTpOL0M6Ti9JOk4vQTpQKSIgQ1ZTU19iYXNlX3Njb3JlPSI1LjAiIENWU1NfZXhwbG9pdF9zdWJzY29yZT0iMTAuMCIgQ1ZTU19pbXBhY3Rfc3Vic2NvcmU9IjIuOSIgbmFtZT0iQ1ZFLTIwMDgtNDU0NCIgc2VxPSIyMDA4LTQ1NDQiIHNldmVyaXR5PSJNZWRpdW0iIHR5cGU9IkNWRSIgcHVibGlzaGVkPSIyMDA4LTEwLTEzIiBDVlNTX3ZlcnNpb249IjIuMCIgQ1ZTU19zY29yZT0iNS4wIiBtb2RpZmllZD0iMjAwOC0xMC0xNCI+DQorICAgICAgICA8ZGVzYz4NCisgICAgICAgICAgICA8ZGVzY3JpcHQgc291cmNlPSJjdmUiPlVuc3BlY2lmaWVkIHZ1bG5lcmFiaWxpdHkgaW4gYW4gdW5zcGVjaWZpZWQgTWljcm9zb2Z0IEFQSSwgYXMgdXNlZCBieSBDaXNjbyBVbml0eSBhbmQgcG9zc2libHkgb3RoZXIgcHJvZHVjdHMsIGFsbG93cyByZW1vdGUgYXR0YWNrZXJzIHRvIGNhdXNlIGEgZGVuaWFsIG9mIHNlcnZpY2UgYnkgc2VuZGluZyBjcmFmdGVkIHBhY2tldHMgdG8gZHluYW1pYyBVRFAgcG9ydHMsIHJlbGF0ZWQgdG8gYSAicHJvY2Vzc2luZyBlcnJvci4iPC9kZXNjcmlwdD4NCisgICAgICAgIDwvZGVzYz4NCisgICAgICAgIDxsb3NzX3R5cGVzPg0KKyAgICAgICAgICAgIDxhdmFpbCAvPg0KKyAgICAgICAgPC9sb3NzX3R5cGVzPg0KKyAgICAgICAgPHJhbmdlPg0KKyAgICAgICAgICAgIDxuZXR3b3JrIC8+DQorICAgICAgICA8L3JhbmdlPg0KKyAgICAgICAgPHJlZnM+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9Ik1JU0MiIHVybD0iaHR0cDovL3d3dy52b2lwc2hpZWxkLmNvbS9yZXNlYXJjaC1kZXRhaWxzLnBocD9pZD0xMjkiPmh0dHA6Ly93d3cudm9pcHNoaWVsZC5jb20vcmVzZWFyY2gtZGV0YWlscy5waHA/aWQ9MTI5PC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkJJRCIgdXJsPSJodHRwOi8vd3d3LnNlY3VyaXR5Zm9jdXMuY29tL2JpZC8zMTY0MiI+MzE2NDI8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iRlJTSVJUIiB1cmw9Imh0dHA6Ly93d3cuZnJzaXJ0LmNvbS9lbmdsaXNoL2Fkdmlzb3JpZXMvMjAwOC8yNzcxIiBhZHY9IjEiPkFEVi0yMDA4LTI3NzE8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQ0lTQ08iIHVybD0iaHR0cDovL3d3dy5jaXNjby5jb20vZW4vVVMvcHJvZHVjdHMvcHJvZHVjdHNfc2VjdXJpdHlfcmVzcG9uc2UwOTE4NmEwMDgwYTBkODYxLmh0bWwiIGFkdj0iMSI+MjAwODEwMDggVm9JUHNoaWVsZCBSZXBvcnRlZCBWdWxuZXJhYmlsaXRpZXMgaW4gQ2lzY28gVW5pdHkgU2VydmVyPC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IlNFQ1RSQUNLIiB1cmw9Imh0dHA6Ly9zZWN1cml0eXRyYWNrZXIuY29tL2lkPzEwMjEwMjAiPjEwMjEwMjA8L3JlZj4NCisgICAgICAgIDwvcmVmcz4NCisgICAgICAgIDx2dWxuX3NvZnQ+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJjaXNjbyIgbmFtZT0idW5pdHkiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IiIgLz4NCisgICAgICAgICAgICA8L3Byb2Q+DQorICAgICAgICA8L3Z1bG5fc29mdD4NCisgICAgPC9lbnRyeT4KKyAgICA8ZW50cnkgQ1ZTU192ZWN0b3I9IihBVjpOL0FDOkwvQXU6Uy9DOlAvSTpOL0E6TikiIENWU1NfYmFzZV9zY29yZT0iNC4wIiBDVlNTX2V4cGxvaXRfc3Vic2NvcmU9IjguMCIgQ1ZTU19pbXBhY3Rfc3Vic2NvcmU9IjIuOSIgbmFtZT0iQ1ZFLTIwMDgtNDU0NSIgc2VxPSIyMDA4LTQ1NDUiIHNldmVyaXR5PSJNZWRpdW0iIHR5cGU9IkNWRSIgcHVibGlzaGVkPSIyMDA4LTEwLTEzIiBDVlNTX3ZlcnNpb249IjIuMCIgQ1ZTU19zY29yZT0iNC4wIiBtb2RpZmllZD0iMjAwOC0xMC0xNCI+DQorICAgICAgICA8ZGVzYz4NCisgICAgICAgICAgICA8ZGVzY3JpcHQgc291cmNlPSJjdmUiPkNpc2NvIFVuaXR5IDQueCBiZWZvcmUgNC4yKDEpRVMxNjEsIDUueCBiZWZvcmUgNS4wKDEpRVM1MywgYW5kIDcueCBiZWZvcmUgNy4wKDIpRVM4IHVzZXMgd2VhayBwZXJtaXNzaW9ucyBmb3IgdGhlIEQ6XENvbW1TZXJ2ZXJcUmVwb3J0cyBkaXJlY3RvcnksIHdoaWNoIGFsbG93cyByZW1vdGUgYXV0aGVudGljYXRlZCB1c2VycyB0byBvYnRhaW4gc2Vuc2l0aXZlIGluZm9ybWF0aW9uIGJ5IHJlYWRpbmcgZmlsZXMgaW4gdGhpcyBkaXJlY3RvcnkuPC9kZXNjcmlwdD4NCisgICAgICAgIDwvZGVzYz4NCisgICAgICAgIDxsb3NzX3R5cGVzPg0KKyAgICAgICAgICAgIDxjb25mIC8+DQorICAgICAgICA8L2xvc3NfdHlwZXM+DQorICAgICAgICA8cmFuZ2U+DQorICAgICAgICAgICAgPG5ldHdvcmsgLz4NCisgICAgICAgIDwvcmFuZ2U+DQorICAgICAgICA8cmVmcz4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iTUlTQyIgdXJsPSJodHRwOi8vd3d3LnZvaXBzaGllbGQuY29tL3Jlc2VhcmNoLWRldGFpbHMucGhwP2lkPTEzMCI+aHR0cDovL3d3dy52b2lwc2hpZWxkLmNvbS9yZXNlYXJjaC1kZXRhaWxzLnBocD9pZD0xMzA8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQklEIiB1cmw9Imh0dHA6Ly93d3cuc2VjdXJpdHlmb2N1cy5jb20vYmlkLzMxNjQyIj4zMTY0MjwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJGUlNJUlQiIHVybD0iaHR0cDovL3d3dy5mcnNpcnQuY29tL2VuZ2xpc2gvYWR2aXNvcmllcy8yMDA4LzI3NzEiIGFkdj0iMSI+QURWLTIwMDgtMjc3MTwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJDSVNDTyIgdXJsPSJodHRwOi8vd3d3LmNpc2NvLmNvbS9lbi9VUy9wcm9kdWN0cy9wcm9kdWN0c19zZWN1cml0eV9yZXNwb25zZTA5MTg2YTAwODBhMGQ4NjEuaHRtbCIgYWR2PSIxIj4yMDA4MTAwOCBWb0lQc2hpZWxkIFJlcG9ydGVkIFZ1bG5lcmFiaWxpdGllcyBpbiBDaXNjbyBVbml0eSBTZXJ2ZXI8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iU0VDVFJBQ0siIHVybD0iaHR0cDovL3NlY3VyaXR5dHJhY2tlci5jb20vaWQ/MTAyMTAyMiI+MTAyMTAyMjwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJTRUNVTklBIiB1cmw9Imh0dHA6Ly9zZWN1bmlhLmNvbS9hZHZpc29yaWVzLzMyMTg3IiBhZHY9IjEiPjMyMTg3PC9yZWY+DQorICAgICAgICA8L3JlZnM+DQorICAgICAgICA8dnVsbl9zb2Z0Pg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0iY2lzY28iIG5hbWU9InVuaXR5Ij4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI0LjAiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNC4wKDEpIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjQuMCgyKSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0ic3IyIiBudW09IjQuMCgzKSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0ic3IxIiBudW09IjQuMCg0KSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI0LjAoNSkiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNC4xKDEpIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjQuMigxKSIgcHJldj0iMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI1LjAiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNS4wKDEpIiBwcmV2PSIxIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjcuMCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI3LjAoMikiIHByZXY9IjEiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgPC92dWxuX3NvZnQ+DQorICAgIDwvZW50cnk+CisgICAgPGVudHJ5IENWU1NfdmVjdG9yPSIoQVY6Ti9BQzpML0F1Ok4vQzpOL0k6Ti9BOkMpIiBDVlNTX2Jhc2Vfc2NvcmU9IjcuOCIgQ1ZTU19leHBsb2l0X3N1YnNjb3JlPSIxMC4wIiBDVlNTX2ltcGFjdF9zdWJzY29yZT0iNi45IiBuYW1lPSJDVkUtMjAwOC00NDQxIiBzZXE9IjIwMDgtNDQ0MSIgc2V2ZXJpdHk9IkhpZ2giIHR5cGU9IkNWRSIgcHVibGlzaGVkPSIyMDA4LTEwLTE0IiBDVlNTX3ZlcnNpb249IjIuMCIgQ1ZTU19zY29yZT0iNy44IiBtb2RpZmllZD0iMjAwOC0xMC0xNyI+DQorICAgICAgICA8ZGVzYz4NCisgICAgICAgICAgICA8ZGVzY3JpcHQgc291cmNlPSJjdmUiPlRoZSBNYXJ2ZWxsIGRyaXZlciBmb3IgdGhlIExpbmtzeXMgV0FQNDQwME4gV2ktRmkgYWNjZXNzIHBvaW50IHdpdGggZmlybXdhcmUgMS4yLjE0IG9uIHRoZSBNYXJ2ZWxsIDg4VzgzNjFQLUJFTTEgY2hpcHNldCwgd2hlbiBXRVAgbW9kZSBpcyBlbmFibGVkLCBkb2VzIG5vdCBwcm9wZXJseSBwYXJzZSBtYWxmb3JtZWQgODAyLjExIGZyYW1lcywgd2hpY2ggYWxsb3dzIHJlbW90ZSBhdHRhY2tlcnMgdG8gY2F1c2UgYSBkZW5pYWwgb2Ygc2VydmljZSAocmVib290IG9yIGhhbmctdXApIHZpYSBhIG1hbGZvcm1lZCBhc3NvY2lhdGlvbiByZXF1ZXN0IGNvbnRhaW5pbmcgdGhlIFdFUCBmbGFnLCBhcyBkZW1vbnN0cmF0ZWQgYnkgYSByZXF1ZXN0IHRoYXQgaXMgdG9vIHNob3J0LCBhIGRpZmZlcmVudCB2dWxuZXJhYmlsaXR5IHRoYW4gQ1ZFLTIwMDgtMTE0NCBhbmQgQ1ZFLTIwMDgtMTE5Ny48L2Rlc2NyaXB0Pg0KKyAgICAgICAgPC9kZXNjPg0KKyAgICAgICAgPGxvc3NfdHlwZXM+DQorICAgICAgICAgICAgPGF2YWlsIC8+DQorICAgICAgICA8L2xvc3NfdHlwZXM+DQorICAgICAgICA8cmFuZ2U+DQorICAgICAgICAgICAgPG5ldHdvcmsgLz4NCisgICAgICAgIDwvcmFuZ2U+DQorICAgICAgICA8cmVmcz4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iWEYiIHVybD0iaHR0cDovL3hmb3JjZS5pc3MubmV0L3hmb3JjZS94ZmRiLzQ1ODQxIj5saW5rc3lzLXdhcDQ0MDBuLXJlcXVlc3QtZG9zKDQ1ODQxKTwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJCSUQiIHVybD0iaHR0cDovL3d3dy5zZWN1cml0eWZvY3VzLmNvbS9iaWQvMzE3NDIiPjMxNzQyPC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkJVR1RSQVEiIHVybD0iaHR0cDovL3d3dy5zZWN1cml0eWZvY3VzLmNvbS9hcmNoaXZlLzEvYXJjaGl2ZS8xLzQ5NzI4NS8xMDAvMC90aHJlYWRlZCI+MjAwODEwMTMgTWFydmVsbCBEcml2ZXIgTWFsZm9ybWVkIEFzc29jaWF0aW9uIFJlcXVlc3QgVnVsbmVyYWJpbGl0eTwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJGUlNJUlQiIHVybD0iaHR0cDovL3d3dy5mcnNpcnQuY29tL2VuZ2xpc2gvYWR2aXNvcmllcy8yMDA4LzI4MDUiPkFEVi0yMDA4LTI4MDU8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iU0VDVU5JQSIgdXJsPSJodHRwOi8vc2VjdW5pYS5jb20vYWR2aXNvcmllcy8zMjI1OSI+MzIyNTk8L3JlZj4NCisgICAgICAgIDwvcmVmcz4NCisgICAgICAgIDx2dWxuX3NvZnQ+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJsaW5rc3lzIiBuYW1lPSJ3YXA0MDBuIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjIuMTQiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgPC92dWxuX3NvZnQ+DQorICAgIDwvZW50cnk+CisgICAgPGVudHJ5IENWU1NfdmVjdG9yPSIoQVY6Ti9BQzpNL0F1Ok4vQzpOL0k6Ti9BOlApIiBDVlNTX2Jhc2Vfc2NvcmU9IjQuMyIgQ1ZTU19leHBsb2l0X3N1YnNjb3JlPSI4LjYiIENWU1NfaW1wYWN0X3N1YnNjb3JlPSIyLjkiIG5hbWU9IkNWRS0yMDA4LTQ1NDYiIHNlcT0iMjAwOC00NTQ2IiBzZXZlcml0eT0iTWVkaXVtIiB0eXBlPSJDVkUiIHB1Ymxpc2hlZD0iMjAwOC0xMC0xNCIgQ1ZTU192ZXJzaW9uPSIyLjAiIENWU1Nfc2NvcmU9IjQuMyIgbW9kaWZpZWQ9IjIwMDgtMTAtMTQiPg0KKyAgICAgICAgPGRlc2M+DQorICAgICAgICAgICAgPGRlc2NyaXB0IHNvdXJjZT0iY3ZlIj5BZG9iZSBGbGFzaCBQbGF5ZXIgOS4wLjQ1LjAsIDkuMC4xMTIuMCwgOS4wLjEyNC4wLCBhbmQgMTAuMC4xMi4xMCBhbGxvd3MgcmVtb3RlIHdlYiBzZXJ2ZXJzIHRvIGNhdXNlIGEgZGVuaWFsIG9mIHNlcnZpY2UgKE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZSBhbmQgYnJvd3NlciBjcmFzaCkgYnkgcmV0dXJuaW5nIGEgZGlmZmVyZW50IHJlc3BvbnNlIHdoZW4gYW4gSFRUUCByZXF1ZXN0IGlzIHNlbnQgYSBzZWNvbmQgdGltZSwgYXMgZGVtb25zdHJhdGVkIGJ5IHR3byByZXNwb25zZXMgdGhhdCBwcm92aWRlIFNXRiBmaWxlcyB3aXRoIGRpZmZlcmVudCBTV0YgdmVyc2lvbiBudW1iZXJzLjwvZGVzY3JpcHQ+DQorICAgICAgICA8L2Rlc2M+DQorICAgICAgICA8bG9zc190eXBlcz4NCisgICAgICAgICAgICA8YXZhaWwgLz4NCisgICAgICAgIDwvbG9zc190eXBlcz4NCisgICAgICAgIDxyYW5nZT4NCisgICAgICAgICAgICA8bmV0d29yayAvPg0KKyAgICAgICAgICAgIDx1c2VyX2luaXQgLz4NCisgICAgICAgIDwvcmFuZ2U+DQorICAgICAgICA8cmVmcz4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQlVHVFJBUSIgdXJsPSJodHRwOi8vd3d3LnNlY3VyaXR5Zm9jdXMuY29tL2FyY2hpdmUvMS9hcmNoaXZlLzEvNDk2OTI5LzEwMC8wL3RocmVhZGVkIj4yMDA4MTAwMiBBZG9iZSBGbGFzaCBQbGF5ZXIgcGx1Zy1pbiBudWxsIHBvaW50ZXIgZGVyZWZlcmVuY2UgYW5kIGJyb3dzZXIgY3Jhc2g8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iTUlTQyIgdXJsPSJodHRwOi8vd3d3Lm1vY2hpbWVkaWEuY29tL35tYXR0aGV3L2ZsYXNoY3Jhc2gvIj5odHRwOi8vd3d3Lm1vY2hpbWVkaWEuY29tL35tYXR0aGV3L2ZsYXNoY3Jhc2gvPC9yZWY+DQorICAgICAgICA8L3JlZnM+DQorICAgICAgICA8dnVsbl9zb2Z0Pg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0iYWRvYmUiIG5hbWU9ImZsYXNoX3BsYXllciI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMTAuMC4xMi4xMCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI5LjAuMTEyLjAiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iOS4wLjExNS4wIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjkuMC40NS4wIiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgIDwvdnVsbl9zb2Z0Pg0KKyAgICA8L2VudHJ5PgorICAgIDxlbnRyeSBDVlNTX3ZlY3Rvcj0iKEFWOk4vQUM6TS9BdTpOL0M6Qy9JOkMvQTpDKSIgQ1ZTU19iYXNlX3Njb3JlPSI5LjMiIENWU1NfZXhwbG9pdF9zdWJzY29yZT0iOC42IiBDVlNTX2ltcGFjdF9zdWJzY29yZT0iMTAuMCIgbmFtZT0iQ1ZFLTIwMDgtNDU0NyIgc2VxPSIyMDA4LTQ1NDciIHNldmVyaXR5PSJIaWdoIiB0eXBlPSJDVkUiIHB1Ymxpc2hlZD0iMjAwOC0xMC0xNCIgQ1ZTU192ZXJzaW9uPSIyLjAiIENWU1Nfc2NvcmU9IjkuMyIgbW9kaWZpZWQ9IjIwMDgtMTAtMTUiPg0KKyAgICAgICAgPGRlc2M+DQorICAgICAgICAgICAgPGRlc2NyaXB0IHNvdXJjZT0iY3ZlIj5IZWFwLWJhc2VkIGJ1ZmZlciBvdmVyZmxvdyBpbiB0aGUgUGR2ckF0bC5QZHZyT2N4LjEgQWN0aXZlWCBjb250cm9sIChwZHZyYXRsLmRsbCkgaW4gRFZSSE9TVCBXZWIgQ01TIE9DWCAxLjAuMS4yNSBhbGxvd3MgcmVtb3RlIGF0dGFja2VycyB0byBleGVjdXRlIGFyYml0cmFyeSBjb2RlIHZpYSBhIGxvbmcgc2Vjb25kIGFyZ3VtZW50IHRvIHRoZSBUaW1lU3BhbkZvcm1hdCBtZXRob2QuPC9kZXNjcmlwdD4NCisgICAgICAgIDwvZGVzYz4NCisgICAgICAgIDxsb3NzX3R5cGVzPg0KKyAgICAgICAgICAgIDxhdmFpbCAvPg0KKyAgICAgICAgICAgIDxjb25mIC8+DQorICAgICAgICAgICAgPGludCAvPg0KKyAgICAgICAgPC9sb3NzX3R5cGVzPg0KKyAgICAgICAgPHJhbmdlPg0KKyAgICAgICAgICAgIDxuZXR3b3JrIC8+DQorICAgICAgICA8L3JhbmdlPg0KKyAgICAgICAgPHJlZnM+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IlhGIiB1cmw9Imh0dHA6Ly94Zm9yY2UuaXNzLm5ldC94Zm9yY2UveGZkYi8zOTY0MCI+ZHZyaG9zdC1wZHZyb2N4LWJvKDM5NjQwKTwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJCSUQiIHVybD0iaHR0cDovL3d3dy5zZWN1cml0eWZvY3VzLmNvbS9iaWQvMjcyNjciPjI3MjY3PC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9Ik1JTFcwUk0iIHVybD0iaHR0cDovL3d3dy5taWx3MHJtLmNvbS9leHBsb2l0cy80OTAzIj40OTAzPC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IlNFQ1VOSUEiIHVybD0iaHR0cDovL3NlY3VuaWEuY29tL2Fkdmlzb3JpZXMvMjg0NDMiIGFkdj0iMSI+Mjg0NDM8L3JlZj4NCisgICAgICAgIDwvcmVmcz4NCisgICAgICAgIDx2dWxuX3NvZnQ+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJkdnJob3N0IiBuYW1lPSJ3ZWJfY21zIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjAuMS4yNSIgLz4NCisgICAgICAgICAgICA8L3Byb2Q+DQorICAgICAgICA8L3Z1bG5fc29mdD4NCisgICAgPC9lbnRyeT4KKyAgICA8ZW50cnkgQ1ZTU192ZWN0b3I9IihBVjpOL0FDOk0vQXU6Ti9DOkMvSTpDL0E6QykiIENWU1NfYmFzZV9zY29yZT0iOS4zIiBDVlNTX2V4cGxvaXRfc3Vic2NvcmU9IjguNiIgQ1ZTU19pbXBhY3Rfc3Vic2NvcmU9IjEwLjAiIG5hbWU9IkNWRS0yMDA4LTQ1NDgiIHNlcT0iMjAwOC00NTQ4IiBzZXZlcml0eT0iSGlnaCIgdHlwZT0iQ1ZFIiBwdWJsaXNoZWQ9IjIwMDgtMTAtMTQiIENWU1NfdmVyc2lvbj0iMi4wIiBDVlNTX3Njb3JlPSI5LjMiIG1vZGlmaWVkPSIyMDA4LTEwLTE1Ij4NCisgICAgICAgIDxkZXNjPg0KKyAgICAgICAgICAgIDxkZXNjcmlwdCBzb3VyY2U9ImN2ZSI+U3RhY2stYmFzZWQgYnVmZmVyIG92ZXJmbG93IGluIHRoZSBQVFpDYW1QYW5lbEN0cmwgQWN0aXZlWCBjb250cm9sIChDYW1QYW5lbC5kbGwpIGluIFJUUyBTZW50cnkgMi4xLjAuMiBhbGxvd3MgcmVtb3RlIGF0dGFja2VycyB0byBleGVjdXRlIGFyYml0cmFyeSBjb2RlIHZpYSBhIGxvbmcgc2Vjb25kIGFyZ3VtZW50IHRvIHRoZSBDb25uZWN0U2VydmVyIG1ldGhvZC48L2Rlc2NyaXB0Pg0KKyAgICAgICAgPC9kZXNjPg0KKyAgICAgICAgPGxvc3NfdHlwZXM+DQorICAgICAgICAgICAgPGF2YWlsIC8+DQorICAgICAgICAgICAgPGNvbmYgLz4NCisgICAgICAgICAgICA8aW50IC8+DQorICAgICAgICAgICAgPHNlY19wcm90IGFkbWluPSIxIiAvPg0KKyAgICAgICAgPC9sb3NzX3R5cGVzPg0KKyAgICAgICAgPHJhbmdlPg0KKyAgICAgICAgICAgIDxuZXR3b3JrIC8+DQorICAgICAgICAgICAgPHVzZXJfaW5pdCAvPg0KKyAgICAgICAgPC9yYW5nZT4NCisgICAgICAgIDxyZWZzPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJYRiIgdXJsPSJodHRwOi8veGZvcmNlLmlzcy5uZXQveGZvcmNlL3hmZGIvMzk3MjUiPnJ0c3NlbnRyeS1wdHpjYW1wYW5lbGN0cmwtYm8oMzk3MjUpPC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkJJRCIgdXJsPSJodHRwOi8vd3d3LnNlY3VyaXR5Zm9jdXMuY29tL2JpZC8yNzMwNCI+MjczMDQ8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iTUlMVzBSTSIgdXJsPSJodHRwOi8vd3d3Lm1pbHcwcm0uY29tL2V4cGxvaXRzLzQ5MTgiPjQ5MTg8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iU0VDVU5JQSIgdXJsPSJodHRwOi8vc2VjdW5pYS5jb20vYWR2aXNvcmllcy8yODQzNSIgYWR2PSIxIj4yODQzNTwvcmVmPg0KKyAgICAgICAgPC9yZWZzPg0KKyAgICAgICAgPHZ1bG5fc29mdD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9InJ0c3NlbnRyeSIgbmFtZT0icnRzc2VudHJ5Ij4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjEuMC4yIiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgIDwvdnVsbl9zb2Z0Pg0KKyAgICA8L2VudHJ5PgorICAgIDxlbnRyeSBDVlNTX3ZlY3Rvcj0iKEFWOk4vQUM6SC9BdTpOL0M6UC9JOk4vQTpOKSIgQ1ZTU19iYXNlX3Njb3JlPSIyLjYiIENWU1NfZXhwbG9pdF9zdWJzY29yZT0iNC45IiBDVlNTX2ltcGFjdF9zdWJzY29yZT0iMi45IiBuYW1lPSJDVkUtMjAwOC00NTQ5IiBzZXE9IjIwMDgtNDU0OSIgc2V2ZXJpdHk9IkxvdyIgdHlwZT0iQ1ZFIiBwdWJsaXNoZWQ9IjIwMDgtMTAtMTQiIENWU1NfdmVyc2lvbj0iMi4wIiBDVlNTX3Njb3JlPSIyLjYiIG1vZGlmaWVkPSIyMDA4LTEwLTE1Ij4NCisgICAgICAgIDxkZXNjPg0KKyAgICAgICAgICAgIDxkZXNjcmlwdCBzb3VyY2U9ImN2ZSI+VGhlIEltYWdlU2hhY2sgVG9vbGJhciBBY3RpdmVYIGNvbnRyb2wgKEltYWdlU2hhY2tUb29sYmFyLmRsbCkgaW4gSW1hZ2VTaGFjayBUb29sYmFyIDQuNS43LCBwb3NzaWJseSBpbmNsdWRpbmcgNC41LjcuNjksIGFsbG93cyByZW1vdGUgYXR0YWNrZXJzIHRvIGZvcmNlIHRoZSB1cGxvYWQgb2YgYXJiaXRyYXJ5IGltYWdlIGZpbGVzIHRvIHRoZSBJbWFnZVNoYWNrIHNpdGUgdmlhIGEgZmlsZTogVVJJIGFyZ3VtZW50IHRvIHRoZSBCdWlsZFNsaWRlU2hvdyBtZXRob2QuPC9kZXNjcmlwdD4NCisgICAgICAgIDwvZGVzYz4NCisgICAgICAgIDxsb3NzX3R5cGVzPg0KKyAgICAgICAgICAgIDxjb25mIC8+DQorICAgICAgICA8L2xvc3NfdHlwZXM+DQorICAgICAgICA8cmFuZ2U+DQorICAgICAgICAgICAgPG5ldHdvcmsgLz4NCisgICAgICAgICAgICA8dXNlcl9pbml0IC8+DQorICAgICAgICA8L3JhbmdlPg0KKyAgICAgICAgPHJlZnM+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IlhGIiB1cmw9Imh0dHA6Ly94Zm9yY2UuaXNzLm5ldC94Zm9yY2UveGZkYi8zOTkyMSI+dG9vbGJhci1pbWFnZXNoYWNrdG9vbGJhci1pbmZvLWRpc2Nsb3N1cmUoMzk5MjEpPC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkJJRCIgdXJsPSJodHRwOi8vd3d3LnNlY3VyaXR5Zm9jdXMuY29tL2JpZC8yNzQzOSI+Mjc0Mzk8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQlVHVFJBUSIgdXJsPSJodHRwOi8vd3d3LnNlY3VyaXR5Zm9jdXMuY29tL2FyY2hpdmUvMS9hcmNoaXZlLzEvNDg2OTQxLzEwMC8yMDAvdGhyZWFkZWQiPjIwMDgwMTI0IEltYWdlU2hhY2sgVG9vbGJhciBGaWxlVXBsb2FkZXIgQ2xhc3MgaW5zZWN1cml0aWVzPC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9Ik1JTFcwUk0iIHVybD0iaHR0cDovL3d3dy5taWx3MHJtLmNvbS9leHBsb2l0cy80OTgxIj40OTgxPC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IlNFQ1VOSUEiIHVybD0iaHR0cDovL3NlY3VuaWEuY29tL2Fkdmlzb3JpZXMvMjg2NDQiIGFkdj0iMSI+Mjg2NDQ8L3JlZj4NCisgICAgICAgIDwvcmVmcz4NCisgICAgICAgIDx2dWxuX3NvZnQ+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJpbWFnZXNoYWNrIiBuYW1lPSJpbWFnZXNoYWNrX3Rvb2xiYXIiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjQuNS43IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjQuNS43LjY5IiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgIDwvdnVsbl9zb2Z0Pg0KKyAgICA8L2VudHJ5PgorICAgIDxlbnRyeSBDVlNTX3ZlY3Rvcj0iKEFWOk4vQUM6TC9BdTpOL0M6Ti9JOk4vQTpQKSIgQ1ZTU19iYXNlX3Njb3JlPSI1LjAiIENWU1NfZXhwbG9pdF9zdWJzY29yZT0iMTAuMCIgQ1ZTU19pbXBhY3Rfc3Vic2NvcmU9IjIuOSIgbmFtZT0iQ1ZFLTIwMDgtNDU1MSIgc2VxPSIyMDA4LTQ1NTEiIHNldmVyaXR5PSJNZWRpdW0iIHR5cGU9IkNWRSIgcHVibGlzaGVkPSIyMDA4LTEwLTE0IiBDVlNTX3ZlcnNpb249IjIuMCIgQ1ZTU19zY29yZT0iNS4wIiBtb2RpZmllZD0iMjAwOC0xMC0xNSI+DQorICAgICAgICA8ZGVzYz4NCisgICAgICAgICAgICA8ZGVzY3JpcHQgc291cmNlPSJjdmUiPnN0cm9uZ1N3YW4gNC4yLjYgYW5kIGVhcmxpZXIgYWxsb3dzIHJlbW90ZSBhdHRhY2tlcnMgdG8gY2F1c2UgYSBkZW5pYWwgb2Ygc2VydmljZSAoZGFlbW9uIGNyYXNoKSB2aWEgYW4gSUtFX1NBX0lOSVQgbWVzc2FnZSB3aXRoIGEgbGFyZ2UgbnVtYmVyIG9mIE5VTEwgdmFsdWVzIGluIGEgS2V5IEV4Y2hhbmdlIHBheWxvYWQsIHdoaWNoIHRyaWdnZXJzIGEgTlVMTCBwb2ludGVyIGRlcmVmZXJlbmNlIGZvciB0aGUgcmV0dXJuIHZhbHVlIG9mIHRoZSBtcHpfZXhwb3J0IGZ1bmN0aW9uIGluIHRoZSBHTlUgTXVsdGlwcmVjaXNpb24gTGlicmFyeSAoR01QKS48L2Rlc2NyaXB0Pg0KKyAgICAgICAgPC9kZXNjPg0KKyAgICAgICAgPGxvc3NfdHlwZXM+DQorICAgICAgICAgICAgPGF2YWlsIC8+DQorICAgICAgICA8L2xvc3NfdHlwZXM+DQorICAgICAgICA8cmFuZ2U+DQorICAgICAgICAgICAgPG5ldHdvcmsgLz4NCisgICAgICAgIDwvcmFuZ2U+DQorICAgICAgICA8cmVmcz4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iU0VDVFJBQ0siIHVybD0iaHR0cDovL3d3dy5zZWN1cml0eXRyYWNrZXIuY29tL2lkPzEwMjA5MDMiPjEwMjA5MDM8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQklEIiB1cmw9Imh0dHA6Ly93d3cuc2VjdXJpdHlmb2N1cy5jb20vYmlkLzMxMjkxIj4zMTI5MTwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJGUlNJUlQiIHVybD0iaHR0cDovL3d3dy5mcnNpcnQuY29tL2VuZ2xpc2gvYWR2aXNvcmllcy8yMDA4LzI2NjAiIGFkdj0iMSI+QURWLTIwMDgtMjY2MDwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJTRUNVTklBIiB1cmw9Imh0dHA6Ly9zZWN1bmlhLmNvbS9hZHZpc29yaWVzLzMxOTYzIiBhZHY9IjEiPjMxOTYzPC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9Ik1JU0MiIHVybD0iaHR0cDovL2xhYnMubXVkeW5hbWljcy5jb20vYWR2aXNvcmllcy9NVS0yMDA4MDktMDEudHh0Ij5odHRwOi8vbGFicy5tdWR5bmFtaWNzLmNvbS9hZHZpc29yaWVzL01VLTIwMDgwOS0wMS50eHQ8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQ09ORklSTSIgdXJsPSJodHRwOi8vZG93bmxvYWQuc3Ryb25nc3dhbi5vcmcvQ0hBTkdFUzQudHh0Ij5odHRwOi8vZG93bmxvYWQuc3Ryb25nc3dhbi5vcmcvQ0hBTkdFUzQudHh0PC9yZWY+DQorICAgICAgICA8L3JlZnM+DQorICAgICAgICA8dnVsbl9zb2Z0Pg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0ic3Ryb25nc3dhbiIgbmFtZT0ic3Ryb25nc3dhbiI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi4wLjAiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi4wLjEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi4wLjIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi4xLjAiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi4xLjEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi4xLjIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi4xLjMiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi4xLjQiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi4xLjUiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi4yLjAiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi4yLjEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi4yLjIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi4zLjAiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi4zLjEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi4zLjIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi40LjAiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi40LjBhIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNC4xIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNC4yIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNC4zIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNS4wIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNS4xIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNS4yIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNS4zIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNS40IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNS41IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNS42IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNS43IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNi4wIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNi4xIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNi4yIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNi4zIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNi40IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNy4wIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjQuMC4wIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjQuMC4xIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjQuMC4yIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjQuMC4zIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjQuMC40IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjQuMC41IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjQuMC42IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjQuMC43IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjQuMS4wIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjQuMS4xIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjQuMS4xMCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI0LjEuMTEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNC4xLjIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNC4xLjMiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNC4xLjQiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNC4xLjUiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNC4xLjYiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNC4xLjciIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNC4xLjgiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNC4xLjkiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNC4yLjAiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNC4yLjEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNC4yLjIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNC4yLjMiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNC4yLjQiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNC4yLjUiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNC4yLjYiIHByZXY9IjEiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgPC92dWxuX3NvZnQ+DQorICAgIDwvZW50cnk+CisgICAgPGVudHJ5IENWU1NfdmVjdG9yPSIoQVY6Ti9BQzpML0F1Ok4vQzpQL0k6UC9BOlApIiBDVlNTX2Jhc2Vfc2NvcmU9IjcuNSIgQ1ZTU19leHBsb2l0X3N1YnNjb3JlPSIxMC4wIiBDVlNTX2ltcGFjdF9zdWJzY29yZT0iNi40IiBuYW1lPSJDVkUtMjAwOC00NTUyIiBzZXE9IjIwMDgtNDU1MiIgc2V2ZXJpdHk9IkhpZ2giIHR5cGU9IkNWRSIgcHVibGlzaGVkPSIyMDA4LTEwLTE0IiBDVlNTX3ZlcnNpb249IjIuMCIgQ1ZTU19zY29yZT0iNy41IiBtb2RpZmllZD0iMjAwOC0xMC0xNSI+DQorICAgICAgICA8ZGVzYz4NCisgICAgICAgICAgICA8ZGVzY3JpcHQgc291cmNlPSJjdmUiPm5mcy11dGlscyAxLjAuOSwgYW5kIHBvc3NpYmx5IG90aGVyIHZlcnNpb25zIGJlZm9yZSAxLjEuMywgaW52b2tlcyB0aGUgaG9zdF9jdGwgZnVuY3Rpb24gd2l0aCB0aGUgd3Jvbmcgb3JkZXIgb2YgYXJndW1lbnRzLCB3aGljaCBjYXVzZXMgVENQIFdyYXBwZXJzIHRvIGlnbm9yZSBuZXRncm91cHMgYW5kIGFsbG93cyByZW1vdGUgYXR0YWNrZXJzIHRvIGJ5cGFzcyBpbnRlbmRlZCBhY2Nlc3MgcmVzdHJpY3Rpb25zLjwvZGVzY3JpcHQ+DQorICAgICAgICA8L2Rlc2M+DQorICAgICAgICA8bG9zc190eXBlcz4NCisgICAgICAgICAgICA8YXZhaWwgLz4NCisgICAgICAgICAgICA8Y29uZiAvPg0KKyAgICAgICAgICAgIDxpbnQgLz4NCisgICAgICAgICAgICA8c2VjX3Byb3Qgb3RoZXI9IjEiIC8+DQorICAgICAgICA8L2xvc3NfdHlwZXM+DQorICAgICAgICA8cmFuZ2U+DQorICAgICAgICAgICAgPG5ldHdvcmsgLz4NCisgICAgICAgIDwvcmFuZ2U+DQorICAgICAgICA8cmVmcz4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQ09ORklSTSIgdXJsPSJodHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20vc2hvd19idWcuY2dpP2lkPTQ1ODY3NiI+aHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL3Nob3dfYnVnLmNnaT9pZD00NTg2NzY8L3JlZj4NCisgICAgICAgIDwvcmVmcz4NCisgICAgICAgIDx2dWxuX3NvZnQ+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJuZnMiIG5hbWU9Im5mcy11dGlscyI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMC4yIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjAuMi4xIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjAuMy4xIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjAuMy4zIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjAuMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjAuMTAiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4wLjExIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMC4xMiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjAuMiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjAuMyIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjAuNCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjAuNiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0icHJlLTEiIG51bT0iMS4wLjciIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InByZS0yIiBudW09IjEuMC43IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJyYy0xIiBudW09IjEuMC44IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJyYy0yIiBudW09IjEuMC44IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJyYy0zIiBudW09IjEuMC44IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJyYy00IiBudW09IjEuMC44IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMC45IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJyYy0xIiBudW09IjEuMS4wIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMS4xIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMS4yIiBwcmV2PSIxIiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgIDwvdnVsbl9zb2Z0Pg0KKyAgICA8L2VudHJ5PgorICAgIDxlbnRyeSBDVlNTX3ZlY3Rvcj0iKEFWOk4vQUM6TC9BdTpOL0M6UC9JOlAvQTpQKSIgQ1ZTU19iYXNlX3Njb3JlPSI3LjUiIENWU1NfZXhwbG9pdF9zdWJzY29yZT0iMTAuMCIgQ1ZTU19pbXBhY3Rfc3Vic2NvcmU9IjYuNCIgbmFtZT0iQ1ZFLTIwMDgtMzYzOSIgc2VxPSIyMDA4LTM2MzkiIHNldmVyaXR5PSJIaWdoIiB0eXBlPSJDVkUiIHB1Ymxpc2hlZD0iMjAwOC0xMC0xNCIgQ1ZTU192ZXJzaW9uPSIyLjAiIENWU1Nfc2NvcmU9IjcuNSIgbW9kaWZpZWQ9IjIwMDgtMTAtMTUiPg0KKyAgICAgICAgPGRlc2M+DQorICAgICAgICAgICAgPGRlc2NyaXB0IHNvdXJjZT0iY3ZlIj5IZWFwLWJhc2VkIGJ1ZmZlciBvdmVyZmxvdyBpbiB0aGUgcmVhZF9ybGUxNiBmdW5jdGlvbiBpbiBpbWFnZXRvcHMgaW4gQ1VQUyBiZWZvcmUgMS4zLjkgYWxsb3dzIHJlbW90ZSBhdHRhY2tlcnMgdG8gZXhlY3V0ZSBhcmJpdHJhcnkgY29kZSB2aWEgYW4gU0dJIGltYWdlIHdpdGggbWFsZm9ybWVkIFJ1biBMZW5ndGggRW5jb2RlZCAoUkxFKSBkYXRhIGNvbnRhaW5pbmcgYSBzbWFsbCBpbWFnZSBhbmQgYSBsYXJnZSByb3cgY291bnQuPC9kZXNjcmlwdD4NCisgICAgICAgIDwvZGVzYz4NCisgICAgICAgIDxsb3NzX3R5cGVzPg0KKyAgICAgICAgICAgIDxhdmFpbCAvPg0KKyAgICAgICAgICAgIDxjb25mIC8+DQorICAgICAgICAgICAgPGludCAvPg0KKyAgICAgICAgICAgIDxzZWNfcHJvdCBvdGhlcj0iMSIgLz4NCisgICAgICAgIDwvbG9zc190eXBlcz4NCisgICAgICAgIDxyYW5nZT4NCisgICAgICAgICAgICA8bmV0d29yayAvPg0KKyAgICAgICAgPC9yYW5nZT4NCisgICAgICAgIDxyZWZzPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJTRUNUUkFDSyIgdXJsPSJodHRwOi8vd3d3LnNlY3VyaXR5dHJhY2tlci5jb20vaWQ/MTAyMTAzMyI+MTAyMTAzMzwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJCSUQiIHVybD0iaHR0cDovL3d3dy5zZWN1cml0eWZvY3VzLmNvbS9iaWQvMzE2OTAiPjMxNjkwPC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IlJFREhBVCIgdXJsPSJodHRwOi8vd3d3LnJlZGhhdC5jb20vc3VwcG9ydC9lcnJhdGEvUkhTQS0yMDA4LTA5MzcuaHRtbCI+UkhTQS0yMDA4OjA5Mzc8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iTUFORFJJVkEiIHVybD0iaHR0cDovL3d3dy5tYW5kcml2YS5jb20vc2VjdXJpdHkvYWR2aXNvcmllcz9uYW1lPU1EVlNBLTIwMDg6MjExIj5NRFZTQS0yMDA4OjIxMTwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJGUlNJUlQiIHVybD0iaHR0cDovL3d3dy5mcnNpcnQuY29tL2VuZ2xpc2gvYWR2aXNvcmllcy8yMDA4LzI3ODIiIGFkdj0iMSI+QURWLTIwMDgtMjc4MjwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJDT05GSVJNIiB1cmw9Imh0dHA6Ly93d3cuY3Vwcy5vcmcvc3RyLnBocD9MMjkxOCIgYWR2PSIxIj5odHRwOi8vd3d3LmN1cHMub3JnL3N0ci5waHA/TDI5MTg8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQ09ORklSTSIgdXJsPSJodHRwOi8vd3d3LmN1cHMub3JnL2FydGljbGVzLnBocD9MNTc1Ij5odHRwOi8vd3d3LmN1cHMub3JnL2FydGljbGVzLnBocD9MNTc1PC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IlNFQ1VOSUEiIHVybD0iaHR0cDovL3NlY3VuaWEuY29tL2Fkdmlzb3JpZXMvMzIyMjYiIGFkdj0iMSI+MzIyMjY8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iU0VDVU5JQSIgdXJsPSJodHRwOi8vc2VjdW5pYS5jb20vYWR2aXNvcmllcy8zMjA4NCIgYWR2PSIxIj4zMjA4NDwvcmVmPg0KKyAgICAgICAgPC9yZWZzPg0KKyAgICAgICAgPHZ1bG5fc29mdD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9ImFwcGxlIiBuYW1lPSJjdXBzIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4xLjEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4xLjEwIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMS4xMC0xIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMS4xMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjEuMTIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4xLjEzIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMS4xNCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjEuMTUiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4xLjE2IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMS4xNyIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjEuMTgiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InJjMSIgbnVtPSIxLjEuMTkiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InJjMiIgbnVtPSIxLjEuMTkiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InJjMyIgbnVtPSIxLjEuMTkiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InJjNCIgbnVtPSIxLjEuMTkiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InJjNSIgbnVtPSIxLjEuMTkiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4xLjIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InJjMSIgbnVtPSIxLjEuMjAiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InJjMiIgbnVtPSIxLjEuMjAiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InJjMyIgbnVtPSIxLjEuMjAiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InJjNCIgbnVtPSIxLjEuMjAiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InJjNSIgbnVtPSIxLjEuMjAiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InJjNiIgbnVtPSIxLjEuMjAiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InJjMSIgbnVtPSIxLjEuMjEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InJjMiIgbnVtPSIxLjEuMjEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InJjMSIgbnVtPSIxLjEuMjIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InJjMiIgbnVtPSIxLjEuMjIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InJjMSIgbnVtPSIxLjEuMjMiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4xLjMiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4xLjQiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4xLjUiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4xLjUtMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjEuNS0yIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMS42IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMS42LTEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4xLjYtMiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjEuNi0zIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMS43IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMS44IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMS45IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMS45LTEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249ImIxIiBudW09IjEuMiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iYjIiIG51bT0iMS4yIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJyYzEiIG51bT0iMS4yIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJyYzIiIG51bT0iMS4yIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJyYzMiIG51bT0iMS4yIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMi4wIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMi4xIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMi4xMCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjIuMTEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4yLjEyIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMi4yIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMi4zIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMi40IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMi41IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMi42IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMi43IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMi44IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMi45IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJiMSIgbnVtPSIxLjMiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InJjMSIgbnVtPSIxLjMiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InJjMiIgbnVtPSIxLjMiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4zLjAiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4zLjEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4zLjIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4zLjMiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4zLjQiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4zLjUiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4zLjYiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4zLjciIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4zLjgiIHByZXY9IjEiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgPC92dWxuX3NvZnQ+DQorICAgIDwvZW50cnk+CisgICAgPGVudHJ5IENWU1NfdmVjdG9yPSIoQVY6Ti9BQzpNL0F1Ok4vQzpQL0k6UC9BOlApIiBDVlNTX2Jhc2Vfc2NvcmU9IjYuOCIgQ1ZTU19leHBsb2l0X3N1YnNjb3JlPSI4LjYiIENWU1NfaW1wYWN0X3N1YnNjb3JlPSI2LjQiIG5hbWU9IkNWRS0yMDA4LTM2NDAiIHNlcT0iMjAwOC0zNjQwIiBzZXZlcml0eT0iTWVkaXVtIiB0eXBlPSJDVkUiIHB1Ymxpc2hlZD0iMjAwOC0xMC0xNCIgQ1ZTU192ZXJzaW9uPSIyLjAiIENWU1Nfc2NvcmU9IjYuOCIgbW9kaWZpZWQ9IjIwMDgtMTAtMTUiPg0KKyAgICAgICAgPGRlc2M+DQorICAgICAgICAgICAgPGRlc2NyaXB0IHNvdXJjZT0iY3ZlIj5JbnRlZ2VyIG92ZXJmbG93IGluIHRoZSBXcml0ZVByb2xvZyBmdW5jdGlvbiBpbiB0ZXh0dG9wcyBpbiBDVVBTIGJlZm9yZSAxLjMuOSBhbGxvd3MgcmVtb3RlIGF0dGFja2VycyB0byBleGVjdXRlIGFyYml0cmFyeSBjb2RlIHZpYSBhIGNyYWZ0ZWQgUG9zdFNjcmlwdCBmaWxlIHRoYXQgdHJpZ2dlcnMgYSBoZWFwLWJhc2VkIGJ1ZmZlciBvdmVyZmxvdy48L2Rlc2NyaXB0Pg0KKyAgICAgICAgPC9kZXNjPg0KKyAgICAgICAgPGxvc3NfdHlwZXM+DQorICAgICAgICAgICAgPGF2YWlsIC8+DQorICAgICAgICAgICAgPGNvbmYgLz4NCisgICAgICAgICAgICA8aW50IC8+DQorICAgICAgICA8L2xvc3NfdHlwZXM+DQorICAgICAgICA8cmFuZ2U+DQorICAgICAgICAgICAgPG5ldHdvcmsgLz4NCisgICAgICAgIDwvcmFuZ2U+DQorICAgICAgICA8cmVmcz4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iU0VDVFJBQ0siIHVybD0iaHR0cDovL3d3dy5zZWN1cml0eXRyYWNrZXIuY29tL2lkPzEwMjEwMzQiPjEwMjEwMzQ8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQklEIiB1cmw9Imh0dHA6Ly93d3cuc2VjdXJpdHlmb2N1cy5jb20vYmlkLzMxNjkwIj4zMTY5MDwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJSRURIQVQiIHVybD0iaHR0cDovL3d3dy5yZWRoYXQuY29tL3N1cHBvcnQvZXJyYXRhL1JIU0EtMjAwOC0wOTM3Lmh0bWwiPlJIU0EtMjAwODowOTM3PC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9Ik1BTkRSSVZBIiB1cmw9Imh0dHA6Ly93d3cubWFuZHJpdmEuY29tL3NlY3VyaXR5L2Fkdmlzb3JpZXM/bmFtZT1NRFZTQS0yMDA4OjIxMSI+TURWU0EtMjAwODoyMTE8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iRlJTSVJUIiB1cmw9Imh0dHA6Ly93d3cuZnJzaXJ0LmNvbS9lbmdsaXNoL2Fkdmlzb3JpZXMvMjAwOC8yNzgyIiBhZHY9IjEiPkFEVi0yMDA4LTI3ODI8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQ09ORklSTSIgdXJsPSJodHRwOi8vd3d3LmN1cHMub3JnL3N0ci5waHA/TDI5MTkiPmh0dHA6Ly93d3cuY3Vwcy5vcmcvc3RyLnBocD9MMjkxOTwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJDT05GSVJNIiB1cmw9Imh0dHA6Ly93d3cuY3Vwcy5vcmcvYXJ0aWNsZXMucGhwP0w1NzUiPmh0dHA6Ly93d3cuY3Vwcy5vcmcvYXJ0aWNsZXMucGhwP0w1NzU8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iU0VDVU5JQSIgdXJsPSJodHRwOi8vc2VjdW5pYS5jb20vYWR2aXNvcmllcy8zMjIyNiIgYWR2PSIxIj4zMjIyNjwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJTRUNVTklBIiB1cmw9Imh0dHA6Ly9zZWN1bmlhLmNvbS9hZHZpc29yaWVzLzMyMDg0IiBhZHY9IjEiPjMyMDg0PC9yZWY+DQorICAgICAgICA8L3JlZnM+DQorICAgICAgICA8dnVsbl9zb2Z0Pg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0iYXBwbGUiIG5hbWU9ImN1cHMiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjEuMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjEuMTAiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4xLjEwLTEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4xLjExIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMS4xMiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjEuMTMiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4xLjE0IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMS4xNSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjEuMTYiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4xLjE3IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMS4xOCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0icmMxIiBudW09IjEuMS4xOSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0icmMyIiBudW09IjEuMS4xOSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0icmMzIiBudW09IjEuMS4xOSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0icmM0IiBudW09IjEuMS4xOSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0icmM1IiBudW09IjEuMS4xOSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjEuMiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0icmMxIiBudW09IjEuMS4yMCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0icmMyIiBudW09IjEuMS4yMCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0icmMzIiBudW09IjEuMS4yMCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0icmM0IiBudW09IjEuMS4yMCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0icmM1IiBudW09IjEuMS4yMCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0icmM2IiBudW09IjEuMS4yMCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0icmMxIiBudW09IjEuMS4yMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0icmMyIiBudW09IjEuMS4yMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0icmMxIiBudW09IjEuMS4yMiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0icmMyIiBudW09IjEuMS4yMiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0icmMxIiBudW09IjEuMS4yMyIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjEuMyIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjEuNCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjEuNSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjEuNS0xIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMS41LTIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4xLjYiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4xLjYtMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjEuNi0yIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMS42LTMiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4xLjciIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4xLjgiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4xLjkiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4xLjktMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iYjEiIG51bT0iMS4yIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJiMiIgbnVtPSIxLjIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InJjMSIgbnVtPSIxLjIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InJjMiIgbnVtPSIxLjIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InJjMyIgbnVtPSIxLjIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4yLjAiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4yLjEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4yLjEwIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMi4xMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjIuMTIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4yLjIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4yLjMiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4yLjQiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4yLjUiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4yLjYiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4yLjciIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4yLjgiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4yLjkiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249ImIxIiBudW09IjEuMyIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0icmMxIiBudW09IjEuMyIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0icmMyIiBudW09IjEuMyIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjMuMCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjMuMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjMuMiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjMuMyIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjMuNCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjMuNSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjMuNiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjMuNyIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjMuOCIgcHJldj0iMSIgLz4NCisgICAgICAgICAgICA8L3Byb2Q+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJjdXBzIiBuYW1lPSJjdXBzIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgPC92dWxuX3NvZnQ+DQorICAgIDwvZW50cnk+CisgICAgPGVudHJ5IENWU1NfdmVjdG9yPSIoQVY6Ti9BQzpNL0F1Ok4vQzpDL0k6Qy9BOkMpIiBDVlNTX2Jhc2Vfc2NvcmU9IjkuMyIgQ1ZTU19leHBsb2l0X3N1YnNjb3JlPSI4LjYiIENWU1NfaW1wYWN0X3N1YnNjb3JlPSIxMC4wIiBuYW1lPSJDVkUtMjAwOC00Mzg1IiBzZXE9IjIwMDgtNDM4NSIgc2V2ZXJpdHk9IkhpZ2giIHR5cGU9IkNWRSIgcHVibGlzaGVkPSIyMDA4LTEwLTE0IiBDVlNTX3ZlcnNpb249IjIuMCIgQ1ZTU19zY29yZT0iOS4zIiBtb2RpZmllZD0iMjAwOC0xMC0xNSI+DQorICAgICAgICA8ZGVzYz4NCisgICAgICAgICAgICA8ZGVzY3JpcHQgc291cmNlPSJjdmUiPkh1c2Rhd2csIExMQyBTeXN0ZW1zIFJlcXVpcmVtZW50cyBMYWIgMyBhbGxvd3MgcmVtb3RlIGF0dGFja2VycyB0byBmb3JjZSB0aGUgZG93bmxvYWQgYW5kIGV4ZWN1dGlvbiBvZiBhcmJpdHJhcnkgcHJvZ3JhbXMgdmlhIHVua25vd24gdmVjdG9ycyBpbiAoMSkgQWN0aXZlWCBjb250cm9sIChzeXNyZXFsYWIuZGxsLCBzeXNyZXFsYWJzbGkuZGxsLCBvciBzeXNyZXFsYWIyLmRsbCkgYW5kICgyKSBKYXZhIGFwcGxldCBpbiBSTEFwcGxldC5jbGFzcyBpbiBzeXNyZXFsYWIyLmphciBvciBzeXNyZXFsYWIuamFyLjwvZGVzY3JpcHQ+DQorICAgICAgICA8L2Rlc2M+DQorICAgICAgICA8bG9zc190eXBlcz4NCisgICAgICAgICAgICA8YXZhaWwgLz4NCisgICAgICAgICAgICA8Y29uZiAvPg0KKyAgICAgICAgICAgIDxpbnQgLz4NCisgICAgICAgIDwvbG9zc190eXBlcz4NCisgICAgICAgIDxyYW5nZT4NCisgICAgICAgICAgICA8bmV0d29yayAvPg0KKyAgICAgICAgPC9yYW5nZT4NCisgICAgICAgIDxyZWZzPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJDRVJULVZOIiB1cmw9Imh0dHA6Ly93d3cua2IuY2VydC5vcmcvdnVscy9pZC8xNjY2NTEiIGFkdj0iMSI+VlUjMTY2NjUxPC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkNPTkZJUk0iIHVybD0iaHR0cDovL3d3dy5zeXN0ZW1yZXF1aXJlbWVudHNsYWIuY29tL2J1bGxldGlucy9zZWN1cml0eV9idWxsZXRpbl8xLmh0bWwiIGFkdj0iMSI+aHR0cDovL3d3dy5zeXN0ZW1yZXF1aXJlbWVudHNsYWIuY29tL2J1bGxldGlucy9zZWN1cml0eV9idWxsZXRpbl8xLmh0bWw8L3JlZj4NCisgICAgICAgIDwvcmVmcz4NCisgICAgICAgIDx2dWxuX3NvZnQ+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJzeXN0ZW1yZXF1aXJlbWVudHNsYWIiIG5hbWU9InN5c3RlbV9yZXF1aXJlbWVudHNfbGFiIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIzIiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgIDwvdnVsbl9zb2Z0Pg0KKyAgICA8L2VudHJ5PgorICAgIDxlbnRyeSBDVlNTX3ZlY3Rvcj0iKEFWOk4vQUM6TC9BdTpOL0M6Qy9JOkMvQTpDKSIgQ1ZTU19iYXNlX3Njb3JlPSIxMC4wIiBDVlNTX2V4cGxvaXRfc3Vic2NvcmU9IjEwLjAiIENWU1NfaW1wYWN0X3N1YnNjb3JlPSIxMC4wIiBuYW1lPSJDVkUtMjAwOC00Mzk3IiBzZXE9IjIwMDgtNDM5NyIgc2V2ZXJpdHk9IkhpZ2giIHR5cGU9IkNWRSIgcHVibGlzaGVkPSIyMDA4LTEwLTE0IiBDVlNTX3ZlcnNpb249IjIuMCIgQ1ZTU19zY29yZT0iMTAuMCIgbW9kaWZpZWQ9IjIwMDgtMTAtMTUiPg0KKyAgICAgICAgPGRlc2M+DQorICAgICAgICAgICAgPGRlc2NyaXB0IHNvdXJjZT0iY3ZlIj5EaXJlY3RvcnkgdHJhdmVyc2FsIHZ1bG5lcmFiaWxpdHkgaW4gdGhlIFJQQyBpbnRlcmZhY2UgKGFzZGJhcGkuZGxsKSBpbiBDQSBBUkNzZXJ2ZSBCYWNrdXAgKGZvcm1lcmx5IEJyaWdodFN0b3IgQVJDc2VydmUgQmFja3VwKSByMTEuMSB0aHJvdWdoIHIxMi4wIGFsbG93cyByZW1vdGUgYXR0YWNrZXJzIHRvIGV4ZWN1dGUgYXJiaXRyYXJ5IGNvbW1hbmRzIHZpYSBhIC4uIChkb3QgZG90KSBpbiBhbiBSUEMgY2FsbCB3aXRoIG9wbnVtIDB4MTBBLjwvZGVzY3JpcHQ+DQorICAgICAgICA8L2Rlc2M+DQorICAgICAgICA8bG9zc190eXBlcz4NCisgICAgICAgICAgICA8YXZhaWwgLz4NCisgICAgICAgICAgICA8Y29uZiAvPg0KKyAgICAgICAgICAgIDxpbnQgLz4NCisgICAgICAgICAgICA8c2VjX3Byb3QgYWRtaW49IjEiIC8+DQorICAgICAgICA8L2xvc3NfdHlwZXM+DQorICAgICAgICA8cmFuZ2U+DQorICAgICAgICAgICAgPG5ldHdvcmsgLz4NCisgICAgICAgIDwvcmFuZ2U+DQorICAgICAgICA8cmVmcz4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQ09ORklSTSIgcGF0Y2g9IjEiIHVybD0iaHR0cHM6Ly9zdXBwb3J0LmNhLmNvbS9pcmovcG9ydGFsL2Fub255bW91cy9waHBzdXBjb250ZW50P2NvbnRlbnRJRD0xODgxNDMiIGFkdj0iMSI+aHR0cHM6Ly9zdXBwb3J0LmNhLmNvbS9pcmovcG9ydGFsL2Fub255bW91cy9waHBzdXBjb250ZW50P2NvbnRlbnRJRD0xODgxNDM8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQlVHVFJBUSIgdXJsPSJodHRwOi8vd3d3LnNlY3VyaXR5Zm9jdXMuY29tL2FyY2hpdmUvMS9hcmNoaXZlLzEvNDk3MjgxLzEwMC8wL3RocmVhZGVkIj4yMDA4MTAxMSBDQSBCcmlnaHRTdG9yIEFSQ1NlcnZlIEJhY2tVcCBNZXNzYWdlIEVuZ2luZSBSZW1vdGUgQ29tbWFuZCBJbmplY3Rpb24gVnVsbmVyYWJpbGl0eTwvcmVmPg0KKyAgICAgICAgPC9yZWZzPg0KKyAgICAgICAgPHZ1bG5fc29mdD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9ImNhIiBuYW1lPSJhcmNzZXJ2ZV9iYWNrdXAiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09InIxMS4xIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09InIxMS41IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09InIxMi4wIiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9ImNhIiBuYW1lPSJidXNpbmVzc19wcm90ZWN0aW9uX3N1aXRlIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iIiBudW09InIyIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSI6bWljcm9zb2Z0X3NtYWxsX2J1c2luZXNzX3NlcnZlcl9wcmVtaXVtIiBudW09InIyIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSI6bWljcm9zb2Z0X3NtYWxsX2J1c2luZXNzX3NlcnZlcl9zdGFuZGFyZCIgbnVtPSJyMiIgLz4NCisgICAgICAgICAgICA8L3Byb2Q+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJjYSIgbmFtZT0ic2VydmVyX3Byb3RlY3Rpb25fc3VpdGUiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09InIyIiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgIDwvdnVsbl9zb2Z0Pg0KKyAgICA8L2VudHJ5PgorICAgIDxlbnRyeSBDVlNTX3ZlY3Rvcj0iKEFWOk4vQUM6TC9BdTpOL0M6Ti9JOk4vQTpQKSIgQ1ZTU19iYXNlX3Njb3JlPSI1LjAiIENWU1NfZXhwbG9pdF9zdWJzY29yZT0iMTAuMCIgQ1ZTU19pbXBhY3Rfc3Vic2NvcmU9IjIuOSIgbmFtZT0iQ1ZFLTIwMDgtNDM5OCIgc2VxPSIyMDA4LTQzOTgiIHNldmVyaXR5PSJNZWRpdW0iIHR5cGU9IkNWRSIgcHVibGlzaGVkPSIyMDA4LTEwLTE0IiBDVlNTX3ZlcnNpb249IjIuMCIgQ1ZTU19zY29yZT0iNS4wIiBtb2RpZmllZD0iMjAwOC0xMC0xNSI+DQorICAgICAgICA8ZGVzYz4NCisgICAgICAgICAgICA8ZGVzY3JpcHQgc291cmNlPSJjdmUiPlVuc3BlY2lmaWVkIHZ1bG5lcmFiaWxpdHkgaW4gdGhlIHRhcGUgZW5naW5lIHNlcnZpY2UgaW4gYXNkYmFwaS5kbGwgaW4gQ0EgQVJDc2VydmUgQmFja3VwIChmb3JtZXJseSBCcmlnaHRTdG9yIEFSQ3NlcnZlIEJhY2t1cCkgcjExLjEgdGhyb3VnaCByMTIuMCBhbGxvd3MgcmVtb3RlIGF0dGFja2VycyB0byBjYXVzZSBhIGRlbmlhbCBvZiBzZXJ2aWNlIChjcmFzaCkgdmlhIGEgY3JhZnRlZCByZXF1ZXN0LjwvZGVzY3JpcHQ+DQorICAgICAgICA8L2Rlc2M+DQorICAgICAgICA8bG9zc190eXBlcz4NCisgICAgICAgICAgICA8YXZhaWwgLz4NCisgICAgICAgIDwvbG9zc190eXBlcz4NCisgICAgICAgIDxyYW5nZT4NCisgICAgICAgICAgICA8bmV0d29yayAvPg0KKyAgICAgICAgPC9yYW5nZT4NCisgICAgICAgIDxyZWZzPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJDT05GSVJNIiB1cmw9Imh0dHBzOi8vc3VwcG9ydC5jYS5jb20vaXJqL3BvcnRhbC9hbm9ueW1vdXMvcGhwc3VwY29udGVudD9jb250ZW50SUQ9MTg4MTQzIiBhZHY9IjEiPmh0dHBzOi8vc3VwcG9ydC5jYS5jb20vaXJqL3BvcnRhbC9hbm9ueW1vdXMvcGhwc3VwY29udGVudD9jb250ZW50SUQ9MTg4MTQzPC9yZWY+DQorICAgICAgICA8L3JlZnM+DQorICAgICAgICA8dnVsbl9zb2Z0Pg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0iY2EiIG5hbWU9ImFyY3NlcnZlX2JhY2t1cCI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0icjExLjEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0icjExLjUiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0icjEyLjAiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0iY2EiIG5hbWU9ImJ1c2luZXNzX3Byb3RlY3Rpb25fc3VpdGUiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSIiIG51bT0icjIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249IjptaWNyb3NvZnRfc21hbGxfYnVzaW5lc3Nfc2VydmVyX3ByZW1pdW0iIG51bT0icjIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249IjptaWNyb3NvZnRfc21hbGxfYnVzaW5lc3Nfc2VydmVyX3N0YW5kYXJkIiBudW09InIyIiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9ImNhIiBuYW1lPSJzZXJ2ZXJfcHJvdGVjdGlvbl9zdWl0ZSI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0icjIiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgPC92dWxuX3NvZnQ+DQorICAgIDwvZW50cnk+CisgICAgPGVudHJ5IENWU1NfdmVjdG9yPSIoQVY6Ti9BQzpML0F1Ok4vQzpOL0k6Ti9BOlApIiBDVlNTX2Jhc2Vfc2NvcmU9IjUuMCIgQ1ZTU19leHBsb2l0X3N1YnNjb3JlPSIxMC4wIiBDVlNTX2ltcGFjdF9zdWJzY29yZT0iMi45IiBuYW1lPSJDVkUtMjAwOC00Mzk5IiBzZXE9IjIwMDgtNDM5OSIgc2V2ZXJpdHk9Ik1lZGl1bSIgdHlwZT0iQ1ZFIiBwdWJsaXNoZWQ9IjIwMDgtMTAtMTQiIENWU1NfdmVyc2lvbj0iMi4wIiBDVlNTX3Njb3JlPSI1LjAiIG1vZGlmaWVkPSIyMDA4LTEwLTE1Ij4NCisgICAgICAgIDxkZXNjPg0KKyAgICAgICAgICAgIDxkZXNjcmlwdCBzb3VyY2U9ImN2ZSI+VW5zcGVjaWZpZWQgdnVsbmVyYWJpbGl0eSBpbiB0aGUgZGF0YWJhc2UgZW5naW5lIHNlcnZpY2UgaW4gYXNkYmFwaS5kbGwgaW4gQ0EgQVJDc2VydmUgQmFja3VwIChmb3JtZXJseSBCcmlnaHRTdG9yIEFSQ3NlcnZlIEJhY2t1cCkgcjExLjEgdGhyb3VnaCByMTIuMCBhbGxvd3MgcmVtb3RlIGF0dGFja2VycyB0byBjYXVzZSBhIGRlbmlhbCBvZiBzZXJ2aWNlIChjcmFzaCkgdmlhIGEgY3JhZnRlZCByZXF1ZXN0LCByZWxhdGVkIHRvICJpbnN1ZmZpY2llbnQgdmFsaWRhdGlvbi4iPC9kZXNjcmlwdD4NCisgICAgICAgIDwvZGVzYz4NCisgICAgICAgIDxsb3NzX3R5cGVzPg0KKyAgICAgICAgICAgIDxhdmFpbCAvPg0KKyAgICAgICAgPC9sb3NzX3R5cGVzPg0KKyAgICAgICAgPHJhbmdlPg0KKyAgICAgICAgICAgIDxuZXR3b3JrIC8+DQorICAgICAgICA8L3JhbmdlPg0KKyAgICAgICAgPHJlZnM+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkNPTkZJUk0iIHBhdGNoPSIxIiB1cmw9Imh0dHBzOi8vc3VwcG9ydC5jYS5jb20vaXJqL3BvcnRhbC9hbm9ueW1vdXMvcGhwc3VwY29udGVudD9jb250ZW50SUQ9MTg4MTQzIiBhZHY9IjEiPmh0dHBzOi8vc3VwcG9ydC5jYS5jb20vaXJqL3BvcnRhbC9hbm9ueW1vdXMvcGhwc3VwY29udGVudD9jb250ZW50SUQ9MTg4MTQzPC9yZWY+DQorICAgICAgICA8L3JlZnM+DQorICAgICAgICA8dnVsbl9zb2Z0Pg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0iY2EiIG5hbWU9ImFyY3NlcnZlX2JhY2t1cCI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0icjExLjEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0icjExLjUiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0icjEyLjAiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0iY2EiIG5hbWU9ImJ1c2luZXNzX3Byb3RlY3Rpb25fc3VpdGUiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSIiIG51bT0icjIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249IjptaWNyb3NvZnRfc21hbGxfYnVzaW5lc3Nfc2VydmVyX3ByZW1pdW0iIG51bT0icjIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249IjptaWNyb3NvZnRfc21hbGxfYnVzaW5lc3Nfc2VydmVyX3N0YW5kYXJkIiBudW09InIyIiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9ImNhIiBuYW1lPSJzZXJ2ZXJfcHJvdGVjdGlvbl9zdWl0ZSI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0icjIiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgPC92dWxuX3NvZnQ+DQorICAgIDwvZW50cnk+CisgICAgPGVudHJ5IENWU1NfdmVjdG9yPSIoQVY6Ti9BQzpML0F1Ok4vQzpOL0k6Ti9BOlApIiBDVlNTX2Jhc2Vfc2NvcmU9IjUuMCIgQ1ZTU19leHBsb2l0X3N1YnNjb3JlPSIxMC4wIiBDVlNTX2ltcGFjdF9zdWJzY29yZT0iMi45IiBuYW1lPSJDVkUtMjAwOC00NDAwIiBzZXE9IjIwMDgtNDQwMCIgc2V2ZXJpdHk9Ik1lZGl1bSIgdHlwZT0iQ1ZFIiBwdWJsaXNoZWQ9IjIwMDgtMTAtMTQiIENWU1NfdmVyc2lvbj0iMi4wIiBDVlNTX3Njb3JlPSI1LjAiIG1vZGlmaWVkPSIyMDA4LTEwLTE1Ij4NCisgICAgICAgIDxkZXNjPg0KKyAgICAgICAgICAgIDxkZXNjcmlwdCBzb3VyY2U9ImN2ZSI+VW5zcGVjaWZpZWQgdnVsbmVyYWJpbGl0eSBpbiBhc2RiYXBpLmRsbCBpbiBDQSBBUkNzZXJ2ZSBCYWNrdXAgKGZvcm1lcmx5IEJyaWdodFN0b3IgQVJDc2VydmUgQmFja3VwKSByMTEuMSB0aHJvdWdoIHIxMi4wIGFsbG93cyByZW1vdGUgYXR0YWNrZXJzIHRvIGNhdXNlIGEgZGVuaWFsIG9mIHNlcnZpY2UgKGNyYXNoIG9mIG11bHRpcGxlIHNlcnZpY2VzKSB2aWEgY3JhZnRlZCBhdXRoZW50aWNhdGlvbiBjcmVkZW50aWFscywgcmVsYXRlZCB0byAiaW5zdWZmaWNpZW50IHZhbGlkYXRpb24uIjwvZGVzY3JpcHQ+DQorICAgICAgICA8L2Rlc2M+DQorICAgICAgICA8bG9zc190eXBlcz4NCisgICAgICAgICAgICA8YXZhaWwgLz4NCisgICAgICAgIDwvbG9zc190eXBlcz4NCisgICAgICAgIDxyYW5nZT4NCisgICAgICAgICAgICA8bmV0d29yayAvPg0KKyAgICAgICAgPC9yYW5nZT4NCisgICAgICAgIDxyZWZzPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJDT05GSVJNIiBwYXRjaD0iMSIgdXJsPSJodHRwczovL3N1cHBvcnQuY2EuY29tL2lyai9wb3J0YWwvYW5vbnltb3VzL3BocHN1cGNvbnRlbnQ/Y29udGVudElEPTE4ODE0MyIgYWR2PSIxIj5odHRwczovL3N1cHBvcnQuY2EuY29tL2lyai9wb3J0YWwvYW5vbnltb3VzL3BocHN1cGNvbnRlbnQ/Y29udGVudElEPTE4ODE0MzwvcmVmPg0KKyAgICAgICAgPC9yZWZzPg0KKyAgICAgICAgPHZ1bG5fc29mdD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9ImNhIiBuYW1lPSJhcmNzZXJ2ZV9iYWNrdXAiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09InIxMS4xIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09InIxMS41IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09InIxMi4wIiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9ImNhIiBuYW1lPSJidXNpbmVzc19wcm90ZWN0aW9uX3N1aXRlIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iIiBudW09InIyIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSI6bWljcm9zb2Z0X3NtYWxsX2J1c2luZXNzX3NlcnZlcl9wcmVtaXVtIiBudW09InIyIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSI6bWljcm9zb2Z0X3NtYWxsX2J1c2luZXNzX3NlcnZlcl9zdGFuZGFyZCIgbnVtPSJyMiIgLz4NCisgICAgICAgICAgICA8L3Byb2Q+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJjYSIgbmFtZT0ic2VydmVyX3Byb3RlY3Rpb25fc3VpdGUiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09InIyIiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgIDwvdnVsbl9zb2Z0Pg0KKyAgICA8L2VudHJ5PgorICAgIDxlbnRyeSBDVlNTX3ZlY3Rvcj0iKEFWOk4vQUM6TS9BdTpTL0M6Qy9JOkMvQTpDKSIgQ1ZTU19iYXNlX3Njb3JlPSI4LjUiIENWU1NfZXhwbG9pdF9zdWJzY29yZT0iNi44IiBDVlNTX2ltcGFjdF9zdWJzY29yZT0iMTAuMCIgbmFtZT0iQ1ZFLTIwMDgtNDU1NSIgc2VxPSIyMDA4LTQ1NTUiIHNldmVyaXR5PSJIaWdoIiB0eXBlPSJDVkUiIHB1Ymxpc2hlZD0iMjAwOC0xMC0xNCIgQ1ZTU192ZXJzaW9uPSIyLjAiIENWU1Nfc2NvcmU9IjguNSIgbW9kaWZpZWQ9IjIwMDgtMTAtMTUiPg0KKyAgICAgICAgPGRlc2M+DQorICAgICAgICAgICAgPGRlc2NyaXB0IHNvdXJjZT0iY3ZlIj5TdGFjay1iYXNlZCBidWZmZXIgb3ZlcmZsb3cgaW4gdGhlIHB1c2hfc3ViZyBmdW5jdGlvbiBpbiBwYXJzZXIueSAobGliL2dyYXBoL3BhcnNlci5jKSBpbiBHcmFwaHZpeiAyLjIwLjIsIGFuZCBwb3NzaWJseSBlYXJsaWVyIHZlcnNpb25zLCBhbGxvd3MgdXNlci1hc3Npc3RlZCByZW1vdGUgYXR0YWNrZXJzIHRvIGNhdXNlIGEgZGVuaWFsIG9mIHNlcnZpY2UgKG1lbW9yeSBjb3JydXB0aW9uKSBvciBleGVjdXRlIGFyYml0cmFyeSBjb2RlIHZpYSBhIERPVCBmaWxlIHdpdGggYSBsYXJnZSBudW1iZXIgb2YgQWdyYXBoX3QgZWxlbWVudHMuPC9kZXNjcmlwdD4NCisgICAgICAgIDwvZGVzYz4NCisgICAgICAgIDxsb3NzX3R5cGVzPg0KKyAgICAgICAgICAgIDxhdmFpbCAvPg0KKyAgICAgICAgICAgIDxjb25mIC8+DQorICAgICAgICAgICAgPGludCAvPg0KKyAgICAgICAgICAgIDxzZWNfcHJvdCBhZG1pbj0iMSIgLz4NCisgICAgICAgIDwvbG9zc190eXBlcz4NCisgICAgICAgIDxyYW5nZT4NCisgICAgICAgICAgICA8bmV0d29yayAvPg0KKyAgICAgICAgICAgIDx1c2VyX2luaXQgLz4NCisgICAgICAgIDwvcmFuZ2U+DQorICAgICAgICA8cmVmcz4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQklEIiBwYXRjaD0iMSIgdXJsPSJodHRwOi8vd3d3LnNlY3VyaXR5Zm9jdXMuY29tL2JpZC8zMTY0OCI+MzE2NDg8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQlVHVFJBUSIgdXJsPSJodHRwOi8vd3d3LnNlY3VyaXR5Zm9jdXMuY29tL2FyY2hpdmUvMS9hcmNoaXZlLzEvNDk3MTUwLzEwMC8wL3RocmVhZGVkIj4yMDA4MTAwOCBBZHZpc29yeTogR3JhcGh2aXogQnVmZmVyIE92ZXJmbG93IENvZGUgRXhlY3V0aW9uPC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IlNFQ1VOSUEiIHVybD0iaHR0cDovL3NlY3VuaWEuY29tL2Fkdmlzb3JpZXMvMzIxODYiIGFkdj0iMSI+MzIxODY8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iTUlTQyIgdXJsPSJodHRwOi8vcm9lZWhheS5ibG9nc3BvdC5jb20vMjAwOC8xMC9ncmFwaHZpei1idWZmZXItb3ZlcmZsb3ctY29kZS1leGVjdXRpb24uaHRtbCI+aHR0cDovL3JvZWVoYXkuYmxvZ3Nwb3QuY29tLzIwMDgvMTAvZ3JhcGh2aXotYnVmZmVyLW92ZXJmbG93LWNvZGUtZXhlY3V0aW9uLmh0bWw8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQ09ORklSTSIgdXJsPSJodHRwOi8vYnVncy5nZW50b28ub3JnL3Nob3dfYnVnLmNnaT9pZD0yNDA2MzYiPmh0dHA6Ly9idWdzLmdlbnRvby5vcmcvc2hvd19idWcuY2dpP2lkPTI0MDYzNjwvcmVmPg0KKyAgICAgICAgPC9yZWZzPg0KKyAgICAgICAgPHZ1bG5fc29mdD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9ImdyYXBodml6IiBuYW1lPSJncmFwaHZpeiI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4xMF8yMDAzLTA5LTE1XzA0MTVfMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjEwXzIwMDMtMDktMTVfMDQxNV8yIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMTIuMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjEyLjIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4xMi4zIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMTQuMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjE2LjEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS41LjEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS41LjIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS41LjMiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS43LjE2LjEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS43LjE2LjIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS43LjUuMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjcuNS4yIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuNy41LjMiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS43LjUuNCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjcuNS41IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuNy41LjYiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS43LjUuNyIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjcuNV8wLjEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS43LjVfMC4yIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuNy41XzAuMyIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjguNS4xIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuOC41LjIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS44LjkuMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjEwIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuMTIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi4xNCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjE2IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuMTgiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi4yIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuMi4xIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuMi4xLjEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi4yLjIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi4yMC4wIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuMjAuMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjIwLjIiIHByZXY9IjEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi40IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjgiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgPC92dWxuX3NvZnQ+DQorICAgIDwvZW50cnk+CisgICAgPGVudHJ5IENWU1NfdmVjdG9yPSIoQVY6TC9BQzpML0F1Ok4vQzpQL0k6Ti9BOk4pIiBDVlNTX2Jhc2Vfc2NvcmU9IjIuMSIgQ1ZTU19leHBsb2l0X3N1YnNjb3JlPSIzLjkiIENWU1NfaW1wYWN0X3N1YnNjb3JlPSIyLjkiIG5hbWU9IkNWRS0yMDA4LTI1ODgiIHNlcT0iMjAwOC0yNTg4IiBzZXZlcml0eT0iTG93IiB0eXBlPSJDVkUiIHB1Ymxpc2hlZD0iMjAwOC0xMC0xNCIgQ1ZTU192ZXJzaW9uPSIyLjAiIENWU1Nfc2NvcmU9IjIuMSIgbW9kaWZpZWQ9IjIwMDgtMTAtMTUiPg0KKyAgICAgICAgPGRlc2M+DQorICAgICAgICAgICAgPGRlc2NyaXB0IHNvdXJjZT0iY3ZlIj5VbnNwZWNpZmllZCB2dWxuZXJhYmlsaXR5IGluIHRoZSBPcmFjbGUgSkRldmVsb3BlciBjb21wb25lbnQgaW4gT3JhY2xlIEFwcGxpY2F0aW9uIFNlcnZlciAxMC4xLjIuMiBhbGxvd3MgbG9jYWwgdXNlcnMgdG8gYWZmZWN0IGNvbmZpZGVudGlhbGl0eSB2aWEgdW5rbm93biB2ZWN0b3JzLjwvZGVzY3JpcHQ+DQorICAgICAgICA8L2Rlc2M+DQorICAgICAgICA8bG9zc190eXBlcz4NCisgICAgICAgICAgICA8Y29uZiAvPg0KKyAgICAgICAgPC9sb3NzX3R5cGVzPg0KKyAgICAgICAgPHJhbmdlPg0KKyAgICAgICAgICAgIDxsb2NhbCAvPg0KKyAgICAgICAgPC9yYW5nZT4NCisgICAgICAgIDxyZWZzPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJDT05GSVJNIiB1cmw9Imh0dHA6Ly93d3cub3JhY2xlLmNvbS90ZWNobm9sb2d5L2RlcGxveS9zZWN1cml0eS9jcml0aWNhbC1wYXRjaC11cGRhdGVzL2NwdW9jdDIwMDguaHRtbCIgYWR2PSIxIj5odHRwOi8vd3d3Lm9yYWNsZS5jb20vdGVjaG5vbG9neS9kZXBsb3kvc2VjdXJpdHkvY3JpdGljYWwtcGF0Y2gtdXBkYXRlcy9jcHVvY3QyMDA4Lmh0bWw8L3JlZj4NCisgICAgICAgIDwvcmVmcz4NCisgICAgICAgIDx2dWxuX3NvZnQ+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJvcmFjbGUiIG5hbWU9ImpkZXZlbG9wZXIiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEwLjEuMi4yIiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgIDwvdnVsbl9zb2Z0Pg0KKyAgICA8L2VudHJ5PgorICAgIDxlbnRyeSBDVlNTX3ZlY3Rvcj0iKEFWOkwvQUM6TC9BdTpTL0M6Ti9JOk4vQTpQKSIgQ1ZTU19iYXNlX3Njb3JlPSIxLjciIENWU1NfZXhwbG9pdF9zdWJzY29yZT0iMy4xIiBDVlNTX2ltcGFjdF9zdWJzY29yZT0iMi45IiBuYW1lPSJDVkUtMjAwOC0yNjE5IiBzZXE9IjIwMDgtMjYxOSIgc2V2ZXJpdHk9IkxvdyIgdHlwZT0iQ1ZFIiBwdWJsaXNoZWQ9IjIwMDgtMTAtMTQiIENWU1NfdmVyc2lvbj0iMi4wIiBDVlNTX3Njb3JlPSIxLjciIG1vZGlmaWVkPSIyMDA4LTEwLTE1Ij4NCisgICAgICAgIDxkZXNjPg0KKyAgICAgICAgICAgIDxkZXNjcmlwdCBzb3VyY2U9ImN2ZSI+VW5zcGVjaWZpZWQgdnVsbmVyYWJpbGl0eSBpbiB0aGUgT3JhY2xlIFJlcG9ydHMgRGV2ZWxvcGVyIGNvbXBvbmVudCBpbiBPcmFjbGUgQXBwbGljYXRpb24gU2VydmVyIDEuMC4yLjIsIDkuMC40LjMsIGFuZCAxMC4xLjIuMiwgYW5kIEUtQnVzaW5lc3MgU3VpdGUgMTEuNS4xMC4yLCBhbGxvd3MgcmVtb3RlIGF1dGhlbnRpY2F0ZWQgdXNlcnMgdG8gYWZmZWN0IGF2YWlsYWJpbGl0eSB2aWEgdW5rbm93biB2ZWN0b3JzLjwvZGVzY3JpcHQ+DQorICAgICAgICA8L2Rlc2M+DQorICAgICAgICA8bG9zc190eXBlcz4NCisgICAgICAgICAgICA8YXZhaWwgLz4NCisgICAgICAgIDwvbG9zc190eXBlcz4NCisgICAgICAgIDxyYW5nZT4NCisgICAgICAgICAgICA8bG9jYWwgLz4NCisgICAgICAgIDwvcmFuZ2U+DQorICAgICAgICA8cmVmcz4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQ09ORklSTSIgdXJsPSJodHRwOi8vd3d3Lm9yYWNsZS5jb20vdGVjaG5vbG9neS9kZXBsb3kvc2VjdXJpdHkvY3JpdGljYWwtcGF0Y2gtdXBkYXRlcy9jcHVvY3QyMDA4Lmh0bWwiIGFkdj0iMSI+aHR0cDovL3d3dy5vcmFjbGUuY29tL3RlY2hub2xvZ3kvZGVwbG95L3NlY3VyaXR5L2NyaXRpY2FsLXBhdGNoLXVwZGF0ZXMvY3B1b2N0MjAwOC5odG1sPC9yZWY+DQorICAgICAgICA8L3JlZnM+DQorICAgICAgICA8dnVsbl9zb2Z0Pg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0ib3JhY2xlIiBuYW1lPSJhcHBsaWNhdGlvbl9zZXJ2ZXIiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMC4yLjIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMTAuMS4yLjIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iOS4wLjQuMyIgLz4NCisgICAgICAgICAgICA8L3Byb2Q+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJvcmFjbGUiIG5hbWU9ImUtYnVzaW5lc3Nfc3VpdGUiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjExLjUuMTAuMiIgLz4NCisgICAgICAgICAgICA8L3Byb2Q+DQorICAgICAgICA8L3Z1bG5fc29mdD4NCisgICAgPC9lbnRyeT4KKyAgICA8ZW50cnkgQ1ZTU192ZWN0b3I9IihBVjpOL0FDOkwvQXU6Uy9DOlAvSTpQL0E6UCkiIENWU1NfYmFzZV9zY29yZT0iNi41IiBDVlNTX2V4cGxvaXRfc3Vic2NvcmU9IjguMCIgQ1ZTU19pbXBhY3Rfc3Vic2NvcmU9IjYuNCIgbmFtZT0iQ1ZFLTIwMDgtMjYyNCIgc2VxPSIyMDA4LTI2MjQiIHNldmVyaXR5PSJNZWRpdW0iIHR5cGU9IkNWRSIgcHVibGlzaGVkPSIyMDA4LTEwLTE0IiBDVlNTX3ZlcnNpb249IjIuMCIgQ1ZTU19zY29yZT0iNi41IiBtb2RpZmllZD0iMjAwOC0xMC0xNSI+DQorICAgICAgICA8ZGVzYz4NCisgICAgICAgICAgICA8ZGVzY3JpcHQgc291cmNlPSJjdmUiPlVuc3BlY2lmaWVkIHZ1bG5lcmFiaWxpdHkgaW4gdGhlIE9yYWNsZSBPTEFQIGNvbXBvbmVudCBpbiBPcmFjbGUgRGF0YWJhc2UgMTAuMS4wLjUgYWxsb3dzIHJlbW90ZSBhdXRoZW50aWNhdGVkIHVzZXJzIHRvIGFmZmVjdCBjb25maWRlbnRpYWxpdHksIGludGVncml0eSwgYW5kIGF2YWlsYWJpbGl0eSB2aWEgdW5rbm93biB2ZWN0b3JzLjwvZGVzY3JpcHQ+DQorICAgICAgICA8L2Rlc2M+DQorICAgICAgICA8bG9zc190eXBlcz4NCisgICAgICAgICAgICA8YXZhaWwgLz4NCisgICAgICAgICAgICA8Y29uZiAvPg0KKyAgICAgICAgICAgIDxpbnQgLz4NCisgICAgICAgICAgICA8c2VjX3Byb3Qgb3RoZXI9IjEiIC8+DQorICAgICAgICA8L2xvc3NfdHlwZXM+DQorICAgICAgICA8cmFuZ2U+DQorICAgICAgICAgICAgPG5ldHdvcmsgLz4NCisgICAgICAgIDwvcmFuZ2U+DQorICAgICAgICA8cmVmcz4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQ09ORklSTSIgdXJsPSJodHRwOi8vd3d3Lm9yYWNsZS5jb20vdGVjaG5vbG9neS9kZXBsb3kvc2VjdXJpdHkvY3JpdGljYWwtcGF0Y2gtdXBkYXRlcy9jcHVvY3QyMDA4Lmh0bWwiIGFkdj0iMSI+aHR0cDovL3d3dy5vcmFjbGUuY29tL3RlY2hub2xvZ3kvZGVwbG95L3NlY3VyaXR5L2NyaXRpY2FsLXBhdGNoLXVwZGF0ZXMvY3B1b2N0MjAwOC5odG1sPC9yZWY+DQorICAgICAgICA8L3JlZnM+DQorICAgICAgICA8dnVsbl9zb2Z0Pg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0ib3JhY2xlIiBuYW1lPSJkYXRhYmFzZV8xMGciPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEwLjEuMC41IiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgIDwvdnVsbl9zb2Z0Pg0KKyAgICA8L2VudHJ5PgorICAgIDxlbnRyeSBDVlNTX3ZlY3Rvcj0iKEFWOk4vQUM6SC9BdTpOL0M6UC9JOlAvQTpOKSIgQ1ZTU19iYXNlX3Njb3JlPSI0LjAiIENWU1NfZXhwbG9pdF9zdWJzY29yZT0iNC45IiBDVlNTX2ltcGFjdF9zdWJzY29yZT0iNC45IiBuYW1lPSJDVkUtMjAwOC0yNjI1IiBzZXE9IjIwMDgtMjYyNSIgc2V2ZXJpdHk9Ik1lZGl1bSIgdHlwZT0iQ1ZFIiBwdWJsaXNoZWQ9IjIwMDgtMTAtMTQiIENWU1NfdmVyc2lvbj0iMi4wIiBDVlNTX3Njb3JlPSI0LjAiIG1vZGlmaWVkPSIyMDA4LTEwLTE1Ij4NCisgICAgICAgIDxkZXNjPg0KKyAgICAgICAgICAgIDxkZXNjcmlwdCBzb3VyY2U9ImN2ZSI+VW5zcGVjaWZpZWQgdnVsbmVyYWJpbGl0eSBpbiB0aGUgQ29yZSBSREJNUyBjb21wb25lbnQgaW4gT3JhY2xlIERhdGFiYXNlIDkuMi4wLjgsIDkuMi4wLjhEViwgMTAuMS4wLjUsIGFuZCAxMC4yLjAuMiBhbGxvd3MgcmVtb3RlIGF0dGFja2VycyB0byBhZmZlY3QgY29uZmlkZW50aWFsaXR5IGFuZCBpbnRlZ3JpdHkgdmlhIHVua25vd24gdmVjdG9ycy48L2Rlc2NyaXB0Pg0KKyAgICAgICAgPC9kZXNjPg0KKyAgICAgICAgPGxvc3NfdHlwZXM+DQorICAgICAgICAgICAgPGNvbmYgLz4NCisgICAgICAgICAgICA8aW50IC8+DQorICAgICAgICA8L2xvc3NfdHlwZXM+DQorICAgICAgICA8cmFuZ2U+DQorICAgICAgICAgICAgPG5ldHdvcmsgLz4NCisgICAgICAgIDwvcmFuZ2U+DQorICAgICAgICA8cmVmcz4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQ09ORklSTSIgdXJsPSJodHRwOi8vd3d3Lm9yYWNsZS5jb20vdGVjaG5vbG9neS9kZXBsb3kvc2VjdXJpdHkvY3JpdGljYWwtcGF0Y2gtdXBkYXRlcy9jcHVvY3QyMDA4Lmh0bWwiPmh0dHA6Ly93d3cub3JhY2xlLmNvbS90ZWNobm9sb2d5L2RlcGxveS9zZWN1cml0eS9jcml0aWNhbC1wYXRjaC11cGRhdGVzL2NwdW9jdDIwMDguaHRtbDwvcmVmPg0KKyAgICAgICAgPC9yZWZzPg0KKyAgICAgICAgPHZ1bG5fc29mdD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9Im9yYWNsZSIgbmFtZT0iZGF0YWJhc2VfMTBnIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxMC4xLjAuNSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxMC4yLjAuMiIgLz4NCisgICAgICAgICAgICA8L3Byb2Q+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJvcmFjbGUiIG5hbWU9ImRhdGFiYXNlXzlpIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI5LjIuMC44IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjkuMi4wLjhkdiIgLz4NCisgICAgICAgICAgICA8L3Byb2Q+DQorICAgICAgICA8L3Z1bG5fc29mdD4NCisgICAgPC9lbnRyeT4KKyAgICA8ZW50cnkgQ1ZTU192ZWN0b3I9IihBVjpOL0FDOkwvQXU6Ti9DOk4vSTpQL0E6TikiIENWU1NfYmFzZV9zY29yZT0iNS4wIiBDVlNTX2V4cGxvaXRfc3Vic2NvcmU9IjEwLjAiIENWU1NfaW1wYWN0X3N1YnNjb3JlPSIyLjkiIG5hbWU9IkNWRS0yMDA4LTM5NzUiIHNlcT0iMjAwOC0zOTc1IiBzZXZlcml0eT0iTWVkaXVtIiB0eXBlPSJDVkUiIHB1Ymxpc2hlZD0iMjAwOC0xMC0xNCIgQ1ZTU192ZXJzaW9uPSIyLjAiIENWU1Nfc2NvcmU9IjUuMCIgbW9kaWZpZWQ9IjIwMDgtMTAtMTUiPg0KKyAgICAgICAgPGRlc2M+DQorICAgICAgICAgICAgPGRlc2NyaXB0IHNvdXJjZT0iY3ZlIj5VbnNwZWNpZmllZCB2dWxuZXJhYmlsaXR5IGluIHRoZSBPcmFjbGUgUG9ydGFsIGNvbXBvbmVudCBpbiBPcmFjbGUgQXBwbGljYXRpb24gU2VydmVyIDkuMC40LjMgYW5kIDEwLjEuMi4zIGFsbG93cyByZW1vdGUgYXR0YWNrZXJzIHRvIGFmZmVjdCBpbnRlZ3JpdHkgdmlhIHVua25vd24gdmVjdG9ycy48L2Rlc2NyaXB0Pg0KKyAgICAgICAgPC9kZXNjPg0KKyAgICAgICAgPGxvc3NfdHlwZXM+DQorICAgICAgICAgICAgPGludCAvPg0KKyAgICAgICAgPC9sb3NzX3R5cGVzPg0KKyAgICAgICAgPHJhbmdlPg0KKyAgICAgICAgICAgIDxuZXR3b3JrIC8+DQorICAgICAgICA8L3JhbmdlPg0KKyAgICAgICAgPHJlZnM+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkNPTkZJUk0iIHVybD0iaHR0cDovL3d3dy5vcmFjbGUuY29tL3RlY2hub2xvZ3kvZGVwbG95L3NlY3VyaXR5L2NyaXRpY2FsLXBhdGNoLXVwZGF0ZXMvY3B1b2N0MjAwOC5odG1sIiBhZHY9IjEiPmh0dHA6Ly93d3cub3JhY2xlLmNvbS90ZWNobm9sb2d5L2RlcGxveS9zZWN1cml0eS9jcml0aWNhbC1wYXRjaC11cGRhdGVzL2NwdW9jdDIwMDguaHRtbDwvcmVmPg0KKyAgICAgICAgPC9yZWZzPg0KKyAgICAgICAgPHZ1bG5fc29mdD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9Im9yYWNsZSIgbmFtZT0iYXBwbGljYXRpb25fc2VydmVyIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxMC4xLjIuMyIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI5LjAuNC4zIiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgIDwvdnVsbl9zb2Z0Pg0KKyAgICA8L2VudHJ5PgorICAgIDxlbnRyeSBDVlNTX3ZlY3Rvcj0iKEFWOk4vQUM6TC9BdTpTL0M6UC9JOlAvQTpOKSIgQ1ZTU19iYXNlX3Njb3JlPSI1LjUiIENWU1NfZXhwbG9pdF9zdWJzY29yZT0iOC4wIiBDVlNTX2ltcGFjdF9zdWJzY29yZT0iNC45IiBuYW1lPSJDVkUtMjAwOC0zOTc2IiBzZXE9IjIwMDgtMzk3NiIgc2V2ZXJpdHk9Ik1lZGl1bSIgdHlwZT0iQ1ZFIiBwdWJsaXNoZWQ9IjIwMDgtMTAtMTQiIENWU1NfdmVyc2lvbj0iMi4wIiBDVlNTX3Njb3JlPSI1LjUiIG1vZGlmaWVkPSIyMDA4LTEwLTE1Ij4NCisgICAgICAgIDxkZXNjPg0KKyAgICAgICAgICAgIDxkZXNjcmlwdCBzb3VyY2U9ImN2ZSI+VW5zcGVjaWZpZWQgdnVsbmVyYWJpbGl0eSBpbiB0aGUgT3JhY2xlIFNwYXRpYWwgY29tcG9uZW50IGluIE9yYWNsZSBEYXRhYmFzZSA5LjIuMC44LCA5LjIuMC44RFYsIDEwLjEuMC41LCBhbmQgMTAuMi4wLjMgYWxsb3dzIHJlbW90ZSBhdXRoZW50aWNhdGVkIHVzZXJzIHRvIGFmZmVjdCBjb25maWRlbnRpYWxpdHkgYW5kIGludGVncml0eSB2aWEgdW5rbm93biB2ZWN0b3JzLjwvZGVzY3JpcHQ+DQorICAgICAgICA8L2Rlc2M+DQorICAgICAgICA8bG9zc190eXBlcz4NCisgICAgICAgICAgICA8Y29uZiAvPg0KKyAgICAgICAgICAgIDxpbnQgLz4NCisgICAgICAgIDwvbG9zc190eXBlcz4NCisgICAgICAgIDxyYW5nZT4NCisgICAgICAgICAgICA8bmV0d29yayAvPg0KKyAgICAgICAgPC9yYW5nZT4NCisgICAgICAgIDxyZWZzPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJDT05GSVJNIiB1cmw9Imh0dHA6Ly93d3cub3JhY2xlLmNvbS90ZWNobm9sb2d5L2RlcGxveS9zZWN1cml0eS9jcml0aWNhbC1wYXRjaC11cGRhdGVzL2NwdW9jdDIwMDguaHRtbCIgYWR2PSIxIj5odHRwOi8vd3d3Lm9yYWNsZS5jb20vdGVjaG5vbG9neS9kZXBsb3kvc2VjdXJpdHkvY3JpdGljYWwtcGF0Y2gtdXBkYXRlcy9jcHVvY3QyMDA4Lmh0bWw8L3JlZj4NCisgICAgICAgIDwvcmVmcz4NCisgICAgICAgIDx2dWxuX3NvZnQ+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJvcmFjbGUiIG5hbWU9ImRhdGFiYXNlXzEwZyI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMTAuMS4wLjUiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMTAuMi4wLjMiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0ib3JhY2xlIiBuYW1lPSJkYXRhYmFzZV85aSI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iOS4yLjAuOCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI5LjIuMC44ZHYiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgPC92dWxuX3NvZnQ+DQorICAgIDwvZW50cnk+CisgICAgPGVudHJ5IENWU1NfdmVjdG9yPSIoQVY6Ti9BQzpML0F1Ok4vQzpOL0k6UC9BOk4pIiBDVlNTX2Jhc2Vfc2NvcmU9IjUuMCIgQ1ZTU19leHBsb2l0X3N1YnNjb3JlPSIxMC4wIiBDVlNTX2ltcGFjdF9zdWJzY29yZT0iMi45IiBuYW1lPSJDVkUtMjAwOC0zOTc3IiBzZXE9IjIwMDgtMzk3NyIgc2V2ZXJpdHk9Ik1lZGl1bSIgdHlwZT0iQ1ZFIiBwdWJsaXNoZWQ9IjIwMDgtMTAtMTQiIENWU1NfdmVyc2lvbj0iMi4wIiBDVlNTX3Njb3JlPSI1LjAiIG1vZGlmaWVkPSIyMDA4LTEwLTE1Ij4NCisgICAgICAgIDxkZXNjPg0KKyAgICAgICAgICAgIDxkZXNjcmlwdCBzb3VyY2U9ImN2ZSI+VW5zcGVjaWZpZWQgdnVsbmVyYWJpbGl0eSBpbiB0aGUgT3JhY2xlIFBvcnRhbCBjb21wb25lbnQgaW4gT3JhY2xlIEFwcGxpY2F0aW9uIFNlcnZlciA5LjAuNC4zIGFuZCAxMC4xLjIuMyBhbGxvd3MgcmVtb3RlIGF0dGFja2VycyB0byBhZmZlY3QgaW50ZWdyaXR5IHZpYSB1bmtub3duIHZlY3RvcnMuPC9kZXNjcmlwdD4NCisgICAgICAgIDwvZGVzYz4NCisgICAgICAgIDxsb3NzX3R5cGVzPg0KKyAgICAgICAgICAgIDxpbnQgLz4NCisgICAgICAgIDwvbG9zc190eXBlcz4NCisgICAgICAgIDxyYW5nZT4NCisgICAgICAgICAgICA8bmV0d29yayAvPg0KKyAgICAgICAgPC9yYW5nZT4NCisgICAgICAgIDxyZWZzPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJDT05GSVJNIiB1cmw9Imh0dHA6Ly93d3cub3JhY2xlLmNvbS90ZWNobm9sb2d5L2RlcGxveS9zZWN1cml0eS9jcml0aWNhbC1wYXRjaC11cGRhdGVzL2NwdW9jdDIwMDguaHRtbCIgYWR2PSIxIj5odHRwOi8vd3d3Lm9yYWNsZS5jb20vdGVjaG5vbG9neS9kZXBsb3kvc2VjdXJpdHkvY3JpdGljYWwtcGF0Y2gtdXBkYXRlcy9jcHVvY3QyMDA4Lmh0bWw8L3JlZj4NCisgICAgICAgIDwvcmVmcz4NCisgICAgICAgIDx2dWxuX3NvZnQ+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJvcmFjbGUiIG5hbWU9ImFwcGxpY2F0aW9uX3NlcnZlciI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMTAuMS4yLjMiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iOS4wLjQuMyIgLz4NCisgICAgICAgICAgICA8L3Byb2Q+DQorICAgICAgICA8L3Z1bG5fc29mdD4NCisgICAgPC9lbnRyeT4KKyAgICA8ZW50cnkgQ1ZTU192ZWN0b3I9IihBVjpOL0FDOk0vQXU6Uy9DOlAvSTpQL0E6TikiIENWU1NfYmFzZV9zY29yZT0iNC45IiBDVlNTX2V4cGxvaXRfc3Vic2NvcmU9IjYuOCIgQ1ZTU19pbXBhY3Rfc3Vic2NvcmU9IjQuOSIgbmFtZT0iQ1ZFLTIwMDgtMzk4MCIgc2VxPSIyMDA4LTM5ODAiIHNldmVyaXR5PSJNZWRpdW0iIHR5cGU9IkNWRSIgcHVibGlzaGVkPSIyMDA4LTEwLTE0IiBDVlNTX3ZlcnNpb249IjIuMCIgQ1ZTU19zY29yZT0iNC45IiBtb2RpZmllZD0iMjAwOC0xMC0xNSI+DQorICAgICAgICA8ZGVzYz4NCisgICAgICAgICAgICA8ZGVzY3JpcHQgc291cmNlPSJjdmUiPlVuc3BlY2lmaWVkIHZ1bG5lcmFiaWxpdHkgaW4gdGhlIFVwZ3JhZGUgY29tcG9uZW50IGluIE9yYWNsZSBEYXRhYmFzZSAxMC4xLjAuNSBhbmQgMTAuMi4wLjMgYWxsb3dzIHJlbW90ZSBhdXRoZW50aWNhdGVkIHVzZXJzIHRvIGFmZmVjdCBjb25maWRlbnRpYWxpdHkgYW5kIGludGVncml0eSB2aWEgdW5rbm93biB2ZWN0b3JzLjwvZGVzY3JpcHQ+DQorICAgICAgICA8L2Rlc2M+DQorICAgICAgICA8bG9zc190eXBlcz4NCisgICAgICAgICAgICA8Y29uZiAvPg0KKyAgICAgICAgICAgIDxpbnQgLz4NCisgICAgICAgIDwvbG9zc190eXBlcz4NCisgICAgICAgIDxyYW5nZT4NCisgICAgICAgICAgICA8bmV0d29yayAvPg0KKyAgICAgICAgPC9yYW5nZT4NCisgICAgICAgIDxyZWZzPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJDT05GSVJNIiB1cmw9Imh0dHA6Ly93d3cub3JhY2xlLmNvbS90ZWNobm9sb2d5L2RlcGxveS9zZWN1cml0eS9jcml0aWNhbC1wYXRjaC11cGRhdGVzL2NwdW9jdDIwMDguaHRtbCIgYWR2PSIxIj5odHRwOi8vd3d3Lm9yYWNsZS5jb20vdGVjaG5vbG9neS9kZXBsb3kvc2VjdXJpdHkvY3JpdGljYWwtcGF0Y2gtdXBkYXRlcy9jcHVvY3QyMDA4Lmh0bWw8L3JlZj4NCisgICAgICAgIDwvcmVmcz4NCisgICAgICAgIDx2dWxuX3NvZnQ+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJvcmFjbGUiIG5hbWU9ImRhdGFiYXNlXzEwZyI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMTAuMS4wLjUiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMTAuMi4wLjMiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgPC92dWxuX3NvZnQ+DQorICAgIDwvZW50cnk+CisgICAgPGVudHJ5IENWU1NfdmVjdG9yPSIoQVY6Ti9BQzpML0F1OlMvQzpQL0k6UC9BOk4pIiBDVlNTX2Jhc2Vfc2NvcmU9IjUuNSIgQ1ZTU19leHBsb2l0X3N1YnNjb3JlPSI4LjAiIENWU1NfaW1wYWN0X3N1YnNjb3JlPSI0LjkiIG5hbWU9IkNWRS0yMDA4LTM5ODIiIHNlcT0iMjAwOC0zOTgyIiBzZXZlcml0eT0iTWVkaXVtIiB0eXBlPSJDVkUiIHB1Ymxpc2hlZD0iMjAwOC0xMC0xNCIgQ1ZTU192ZXJzaW9uPSIyLjAiIENWU1Nfc2NvcmU9IjUuNSIgbW9kaWZpZWQ9IjIwMDgtMTAtMTUiPg0KKyAgICAgICAgPGRlc2M+DQorICAgICAgICAgICAgPGRlc2NyaXB0IHNvdXJjZT0iY3ZlIj5VbnNwZWNpZmllZCB2dWxuZXJhYmlsaXR5IGluIHRoZSBXb3Jrc3BhY2UgTWFuYWdlciBjb21wb25lbnQgaW4gT3JhY2xlIERhdGFiYXNlIDkuMi4wLjgsIDkuMi4wLjhEViwgMTAuMS4wLjUsIDEwLjIuMC4zLCBhbmQgMTEuMS4wLjYgYWxsb3dzIHJlbW90ZSBhdXRoZW50aWNhdGVkIHVzZXJzIHRvIGFmZmVjdCBjb25maWRlbnRpYWxpdHkgYW5kIGludGVncml0eSwgcmVsYXRlZCB0byBTWVMuTFQgYW5kIFdNU1lTLkxULjwvZGVzY3JpcHQ+DQorICAgICAgICA8L2Rlc2M+DQorICAgICAgICA8bG9zc190eXBlcz4NCisgICAgICAgICAgICA8Y29uZiAvPg0KKyAgICAgICAgICAgIDxpbnQgLz4NCisgICAgICAgIDwvbG9zc190eXBlcz4NCisgICAgICAgIDxyYW5nZT4NCisgICAgICAgICAgICA8bmV0d29yayAvPg0KKyAgICAgICAgPC9yYW5nZT4NCisgICAgICAgIDxyZWZzPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJDT05GSVJNIiB1cmw9Imh0dHA6Ly93d3cub3JhY2xlLmNvbS90ZWNobm9sb2d5L2RlcGxveS9zZWN1cml0eS9jcml0aWNhbC1wYXRjaC11cGRhdGVzL2NwdW9jdDIwMDguaHRtbCIgYWR2PSIxIj5odHRwOi8vd3d3Lm9yYWNsZS5jb20vdGVjaG5vbG9neS9kZXBsb3kvc2VjdXJpdHkvY3JpdGljYWwtcGF0Y2gtdXBkYXRlcy9jcHVvY3QyMDA4Lmh0bWw8L3JlZj4NCisgICAgICAgIDwvcmVmcz4NCisgICAgICAgIDx2dWxuX3NvZnQ+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJvcmFjbGUiIG5hbWU9ImRhdGFiYXNlXzEwZyI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMTAuMS4wLjUiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMTAuMi4wLjMiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0ib3JhY2xlIiBuYW1lPSJkYXRhYmFzZV8xMWkiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjExLjEuMC42IiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9Im9yYWNsZSIgbmFtZT0iZGF0YWJhc2VfOWkiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjkuMi4wLjgiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iOS4yLjAuOGR2IiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgIDwvdnVsbl9zb2Z0Pg0KKyAgICA8L2VudHJ5PgorICAgIDxlbnRyeSBDVlNTX3ZlY3Rvcj0iKEFWOk4vQUM6TC9BdTpTL0M6UC9JOlAvQTpOKSIgQ1ZTU19iYXNlX3Njb3JlPSI1LjUiIENWU1NfZXhwbG9pdF9zdWJzY29yZT0iOC4wIiBDVlNTX2ltcGFjdF9zdWJzY29yZT0iNC45IiBuYW1lPSJDVkUtMjAwOC0zOTgzIiBzZXE9IjIwMDgtMzk4MyIgc2V2ZXJpdHk9Ik1lZGl1bSIgdHlwZT0iQ1ZFIiBwdWJsaXNoZWQ9IjIwMDgtMTAtMTQiIENWU1NfdmVyc2lvbj0iMi4wIiBDVlNTX3Njb3JlPSI1LjUiIG1vZGlmaWVkPSIyMDA4LTEwLTE1Ij4NCisgICAgICAgIDxkZXNjPg0KKyAgICAgICAgICAgIDxkZXNjcmlwdCBzb3VyY2U9ImN2ZSI+VW5zcGVjaWZpZWQgdnVsbmVyYWJpbGl0eSBpbiB0aGUgV29ya3NwYWNlIE1hbmFnZXIgY29tcG9uZW50IGluIE9yYWNsZSBEYXRhYmFzZSA5LjIuMC44LCA5LjIuMC44RFYsIDEwLjEuMC41LCAxMC4yLjAuMywgYW5kIDExLjEuMC42IGFsbG93cyByZW1vdGUgYXV0aGVudGljYXRlZCB1c2VycyB0byBhZmZlY3QgY29uZmlkZW50aWFsaXR5IGFuZCBpbnRlZ3JpdHksIHJlbGF0ZWQgdG8gU1lTLkxUIGFuZCBXTVNZUy5MVC48L2Rlc2NyaXB0Pg0KKyAgICAgICAgPC9kZXNjPg0KKyAgICAgICAgPGxvc3NfdHlwZXM+DQorICAgICAgICAgICAgPGNvbmYgLz4NCisgICAgICAgICAgICA8aW50IC8+DQorICAgICAgICA8L2xvc3NfdHlwZXM+DQorICAgICAgICA8cmFuZ2U+DQorICAgICAgICAgICAgPG5ldHdvcmsgLz4NCisgICAgICAgIDwvcmFuZ2U+DQorICAgICAgICA8cmVmcz4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQ09ORklSTSIgdXJsPSJodHRwOi8vd3d3Lm9yYWNsZS5jb20vdGVjaG5vbG9neS9kZXBsb3kvc2VjdXJpdHkvY3JpdGljYWwtcGF0Y2gtdXBkYXRlcy9jcHVvY3QyMDA4Lmh0bWwiIGFkdj0iMSI+aHR0cDovL3d3dy5vcmFjbGUuY29tL3RlY2hub2xvZ3kvZGVwbG95L3NlY3VyaXR5L2NyaXRpY2FsLXBhdGNoLXVwZGF0ZXMvY3B1b2N0MjAwOC5odG1sPC9yZWY+DQorICAgICAgICA8L3JlZnM+DQorICAgICAgICA8dnVsbl9zb2Z0Pg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0ib3JhY2xlIiBuYW1lPSJkYXRhYmFzZV8xMGciPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEwLjEuMC41IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEwLjIuMC4zIiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9Im9yYWNsZSIgbmFtZT0iZGF0YWJhc2VfMTFpIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxMS4xLjAuNiIgLz4NCisgICAgICAgICAgICA8L3Byb2Q+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJvcmFjbGUiIG5hbWU9ImRhdGFiYXNlXzlpIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI5LjIuMC44IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjkuMi4wLjhkdiIgLz4NCisgICAgICAgICAgICA8L3Byb2Q+DQorICAgICAgICA8L3Z1bG5fc29mdD4NCisgICAgPC9lbnRyeT4KKyAgICA8ZW50cnkgQ1ZTU192ZWN0b3I9IihBVjpOL0FDOkwvQXU6Uy9DOlAvSTpQL0E6TikiIENWU1NfYmFzZV9zY29yZT0iNS41IiBDVlNTX2V4cGxvaXRfc3Vic2NvcmU9IjguMCIgQ1ZTU19pbXBhY3Rfc3Vic2NvcmU9IjQuOSIgbmFtZT0iQ1ZFLTIwMDgtMzk4NCIgc2VxPSIyMDA4LTM5ODQiIHNldmVyaXR5PSJNZWRpdW0iIHR5cGU9IkNWRSIgcHVibGlzaGVkPSIyMDA4LTEwLTE0IiBDVlNTX3ZlcnNpb249IjIuMCIgQ1ZTU19zY29yZT0iNS41IiBtb2RpZmllZD0iMjAwOC0xMC0xNSI+DQorICAgICAgICA8ZGVzYz4NCisgICAgICAgICAgICA8ZGVzY3JpcHQgc291cmNlPSJjdmUiPlVuc3BlY2lmaWVkIHZ1bG5lcmFiaWxpdHkgaW4gdGhlIFdvcmtzcGFjZSBNYW5hZ2VyIGNvbXBvbmVudCBpbiBPcmFjbGUgRGF0YWJhc2UgOS4yLjAuOCwgOS4yLjAuOERWLCAxMC4xLjAuNSwgMTAuMi4wLjMsIGFuZCAxMS4xLjAuNiBhbGxvd3MgcmVtb3RlIGF1dGhlbnRpY2F0ZWQgdXNlcnMgdG8gYWZmZWN0IGNvbmZpZGVudGlhbGl0eSBhbmQgaW50ZWdyaXR5LCByZWxhdGVkIHRvIFNZUy5MVCBhbmQgV01TWVMuTFQuPC9kZXNjcmlwdD4NCisgICAgICAgIDwvZGVzYz4NCisgICAgICAgIDxsb3NzX3R5cGVzPg0KKyAgICAgICAgICAgIDxjb25mIC8+DQorICAgICAgICAgICAgPGludCAvPg0KKyAgICAgICAgPC9sb3NzX3R5cGVzPg0KKyAgICAgICAgPHJhbmdlPg0KKyAgICAgICAgICAgIDxuZXR3b3JrIC8+DQorICAgICAgICA8L3JhbmdlPg0KKyAgICAgICAgPHJlZnM+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkNPTkZJUk0iIHVybD0iaHR0cDovL3d3dy5vcmFjbGUuY29tL3RlY2hub2xvZ3kvZGVwbG95L3NlY3VyaXR5L2NyaXRpY2FsLXBhdGNoLXVwZGF0ZXMvY3B1b2N0MjAwOC5odG1sIiBhZHY9IjEiPmh0dHA6Ly93d3cub3JhY2xlLmNvbS90ZWNobm9sb2d5L2RlcGxveS9zZWN1cml0eS9jcml0aWNhbC1wYXRjaC11cGRhdGVzL2NwdW9jdDIwMDguaHRtbDwvcmVmPg0KKyAgICAgICAgPC9yZWZzPg0KKyAgICAgICAgPHZ1bG5fc29mdD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9Im9yYWNsZSIgbmFtZT0iZGF0YWJhc2VfMTBnIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxMC4xLjAuNSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxMC4yLjAuMyIgLz4NCisgICAgICAgICAgICA8L3Byb2Q+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJvcmFjbGUiIG5hbWU9ImRhdGFiYXNlXzExaSI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMTEuMS4wLjYiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0ib3JhY2xlIiBuYW1lPSJkYXRhYmFzZV85aSI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iOS4yLjAuOCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI5LjIuMC44ZHYiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgPC92dWxuX3NvZnQ+DQorICAgIDwvZW50cnk+CisgICAgPGVudHJ5IENWU1NfdmVjdG9yPSIoQVY6Ti9BQzpML0F1Ok4vQzpQL0k6Ti9BOk4pIiBDVlNTX2Jhc2Vfc2NvcmU9IjUuMCIgQ1ZTU19leHBsb2l0X3N1YnNjb3JlPSIxMC4wIiBDVlNTX2ltcGFjdF9zdWJzY29yZT0iMi45IiBuYW1lPSJDVkUtMjAwOC0zOTg1IiBzZXE9IjIwMDgtMzk4NSIgc2V2ZXJpdHk9Ik1lZGl1bSIgdHlwZT0iQ1ZFIiBwdWJsaXNoZWQ9IjIwMDgtMTAtMTQiIENWU1NfdmVyc2lvbj0iMi4wIiBDVlNTX3Njb3JlPSI1LjAiIG1vZGlmaWVkPSIyMDA4LTEwLTE1Ij4NCisgICAgICAgIDxkZXNjPg0KKyAgICAgICAgICAgIDxkZXNjcmlwdCBzb3VyY2U9ImN2ZSI+VW5zcGVjaWZpZWQgdnVsbmVyYWJpbGl0eSBpbiB0aGUgT3JhY2xlIEFwcGxpY2F0aW9ucyBUZWNobm9sb2d5IFN0YWNrIGNvbXBvbmVudCBpbiBPcmFjbGUgRS1CdXNpbmVzcyBTdWl0ZSAxMi4wLjQgYWxsb3dzIHJlbW90ZSBhdHRhY2tlcnMgdG8gYWZmZWN0IGNvbmZpZGVudGlhbGl0eSB2aWEgdW5rbm93biB2ZWN0b3JzLjwvZGVzY3JpcHQ+DQorICAgICAgICA8L2Rlc2M+DQorICAgICAgICA8bG9zc190eXBlcz4NCisgICAgICAgICAgICA8Y29uZiAvPg0KKyAgICAgICAgPC9sb3NzX3R5cGVzPg0KKyAgICAgICAgPHJhbmdlPg0KKyAgICAgICAgICAgIDxuZXR3b3JrIC8+DQorICAgICAgICA8L3JhbmdlPg0KKyAgICAgICAgPHJlZnM+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkNPTkZJUk0iIHVybD0iaHR0cDovL3d3dy5vcmFjbGUuY29tL3RlY2hub2xvZ3kvZGVwbG95L3NlY3VyaXR5L2NyaXRpY2FsLXBhdGNoLXVwZGF0ZXMvY3B1b2N0MjAwOC5odG1sIj5odHRwOi8vd3d3Lm9yYWNsZS5jb20vdGVjaG5vbG9neS9kZXBsb3kvc2VjdXJpdHkvY3JpdGljYWwtcGF0Y2gtdXBkYXRlcy9jcHVvY3QyMDA4Lmh0bWw8L3JlZj4NCisgICAgICAgIDwvcmVmcz4NCisgICAgICAgIDx2dWxuX3NvZnQ+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJvcmFjbGUiIG5hbWU9ImUtYnVzaW5lc3Nfc3VpdGUiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEyLjAuNCIgLz4NCisgICAgICAgICAgICA8L3Byb2Q+DQorICAgICAgICA8L3Z1bG5fc29mdD4NCisgICAgPC9lbnRyeT4KKyAgICA8ZW50cnkgQ1ZTU192ZWN0b3I9IihBVjpML0FDOkgvQXU6Uy9DOlAvSTpOL0E6TikiIENWU1NfYmFzZV9zY29yZT0iMS4wIiBDVlNTX2V4cGxvaXRfc3Vic2NvcmU9IjEuNSIgQ1ZTU19pbXBhY3Rfc3Vic2NvcmU9IjIuOSIgbmFtZT0iQ1ZFLTIwMDgtMzk4NiIgc2VxPSIyMDA4LTM5ODYiIHNldmVyaXR5PSJMb3ciIHR5cGU9IkNWRSIgcHVibGlzaGVkPSIyMDA4LTEwLTE0IiBDVlNTX3ZlcnNpb249IjIuMCIgQ1ZTU19zY29yZT0iMS4wIiBtb2RpZmllZD0iMjAwOC0xMC0xNSI+DQorICAgICAgICA8ZGVzYz4NCisgICAgICAgICAgICA8ZGVzY3JpcHQgc291cmNlPSJjdmUiPlVuc3BlY2lmaWVkIHZ1bG5lcmFiaWxpdHkgaW4gdGhlIE9yYWNsZSBEaXNjb3ZlcmVyIEFkbWluaXN0cmF0b3IgY29tcG9uZW50IGluIE9yYWNsZSBBcHBsaWNhdGlvbiBTZXJ2ZXIgOS4wLjQuMyBhbmQgMTAuMS4yLjIgYWxsb3dzIGxvY2FsIHVzZXJzIHRvIGFmZmVjdCBjb25maWRlbnRpYWxpdHkgdmlhIHVua25vd24gdmVjdG9ycy48L2Rlc2NyaXB0Pg0KKyAgICAgICAgPC9kZXNjPg0KKyAgICAgICAgPGxvc3NfdHlwZXM+DQorICAgICAgICAgICAgPGNvbmYgLz4NCisgICAgICAgIDwvbG9zc190eXBlcz4NCisgICAgICAgIDxyYW5nZT4NCisgICAgICAgICAgICA8bG9jYWwgLz4NCisgICAgICAgIDwvcmFuZ2U+DQorICAgICAgICA8cmVmcz4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQ09ORklSTSIgdXJsPSJodHRwOi8vd3d3Lm9yYWNsZS5jb20vdGVjaG5vbG9neS9kZXBsb3kvc2VjdXJpdHkvY3JpdGljYWwtcGF0Y2gtdXBkYXRlcy9jcHVvY3QyMDA4Lmh0bWwiIGFkdj0iMSI+aHR0cDovL3d3dy5vcmFjbGUuY29tL3RlY2hub2xvZ3kvZGVwbG95L3NlY3VyaXR5L2NyaXRpY2FsLXBhdGNoLXVwZGF0ZXMvY3B1b2N0MjAwOC5odG1sPC9yZWY+DQorICAgICAgICA8L3JlZnM+DQorICAgICAgICA8dnVsbl9zb2Z0Pg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0ib3JhY2xlIiBuYW1lPSJhcHBsaWNhdGlvbl9zZXJ2ZXIiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEwLjEuMi4yIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjkuMC40LjMiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgPC92dWxuX3NvZnQ+DQorICAgIDwvZW50cnk+CisgICAgPGVudHJ5IENWU1NfdmVjdG9yPSIoQVY6TC9BQzpIL0F1OlMvQzpQL0k6Ti9BOk4pIiBDVlNTX2Jhc2Vfc2NvcmU9IjEuMCIgQ1ZTU19leHBsb2l0X3N1YnNjb3JlPSIxLjUiIENWU1NfaW1wYWN0X3N1YnNjb3JlPSIyLjkiIG5hbWU9IkNWRS0yMDA4LTM5ODciIHNlcT0iMjAwOC0zOTg3IiBzZXZlcml0eT0iTG93IiB0eXBlPSJDVkUiIHB1Ymxpc2hlZD0iMjAwOC0xMC0xNCIgQ1ZTU192ZXJzaW9uPSIyLjAiIENWU1Nfc2NvcmU9IjEuMCIgbW9kaWZpZWQ9IjIwMDgtMTAtMTUiPg0KKyAgICAgICAgPGRlc2M+DQorICAgICAgICAgICAgPGRlc2NyaXB0IHNvdXJjZT0iY3ZlIj5VbnNwZWNpZmllZCB2dWxuZXJhYmlsaXR5IGluIHRoZSBPcmFjbGUgRGlzY292ZXJlciBEZXNrdG9wIGNvbXBvbmVudCBpbiBPcmFjbGUgQXBwbGljYXRpb24gU2VydmVyIDEwLjEuMi4zIGFsbG93cyBsb2NhbCB1c2VycyB0byBhZmZlY3QgY29uZmlkZW50aWFsaXR5IHZpYSB1bmtub3duIHZlY3RvcnMuPC9kZXNjcmlwdD4NCisgICAgICAgIDwvZGVzYz4NCisgICAgICAgIDxsb3NzX3R5cGVzPg0KKyAgICAgICAgICAgIDxjb25mIC8+DQorICAgICAgICA8L2xvc3NfdHlwZXM+DQorICAgICAgICA8cmFuZ2U+DQorICAgICAgICAgICAgPGxvY2FsIC8+DQorICAgICAgICA8L3JhbmdlPg0KKyAgICAgICAgPHJlZnM+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkNPTkZJUk0iIHVybD0iaHR0cDovL3d3dy5vcmFjbGUuY29tL3RlY2hub2xvZ3kvZGVwbG95L3NlY3VyaXR5L2NyaXRpY2FsLXBhdGNoLXVwZGF0ZXMvY3B1b2N0MjAwOC5odG1sIiBhZHY9IjEiPmh0dHA6Ly93d3cub3JhY2xlLmNvbS90ZWNobm9sb2d5L2RlcGxveS9zZWN1cml0eS9jcml0aWNhbC1wYXRjaC11cGRhdGVzL2NwdW9jdDIwMDguaHRtbDwvcmVmPg0KKyAgICAgICAgPC9yZWZzPg0KKyAgICAgICAgPHZ1bG5fc29mdD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9Im9yYWNsZSIgbmFtZT0iYXBwbGljYXRpb25fc2VydmVyIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxMC4xLjIuMyIgLz4NCisgICAgICAgICAgICA8L3Byb2Q+DQorICAgICAgICA8L3Z1bG5fc29mdD4NCisgICAgPC9lbnRyeT4KKyAgICA8ZW50cnkgQ1ZTU192ZWN0b3I9IihBVjpOL0FDOkwvQXU6Ti9DOlAvSTpOL0E6TikiIENWU1NfYmFzZV9zY29yZT0iNS4wIiBDVlNTX2V4cGxvaXRfc3Vic2NvcmU9IjEwLjAiIENWU1NfaW1wYWN0X3N1YnNjb3JlPSIyLjkiIG5hbWU9IkNWRS0yMDA4LTM5ODgiIHNlcT0iMjAwOC0zOTg4IiBzZXZlcml0eT0iTWVkaXVtIiB0eXBlPSJDVkUiIHB1Ymxpc2hlZD0iMjAwOC0xMC0xNCIgQ1ZTU192ZXJzaW9uPSIyLjAiIENWU1Nfc2NvcmU9IjUuMCIgbW9kaWZpZWQ9IjIwMDgtMTAtMTUiPg0KKyAgICAgICAgPGRlc2M+DQorICAgICAgICAgICAgPGRlc2NyaXB0IHNvdXJjZT0iY3ZlIj5VbnNwZWNpZmllZCB2dWxuZXJhYmlsaXR5IGluIHRoZSBpU3VwcGxpZXIgUG9ydGFsIGNvbXBvbmVudCBpbiBPcmFjbGUgRS1CdXNpbmVzcyBTdWl0ZSAxMS41LjEwLjIgYW5kIDEyLjAuNCBhbGxvd3MgcmVtb3RlIGF0dGFja2VycyB0byBhZmZlY3QgY29uZmlkZW50aWFsaXR5IHZpYSB1bmtub3duIHZlY3RvcnMuPC9kZXNjcmlwdD4NCisgICAgICAgIDwvZGVzYz4NCisgICAgICAgIDxsb3NzX3R5cGVzPg0KKyAgICAgICAgICAgIDxjb25mIC8+DQorICAgICAgICA8L2xvc3NfdHlwZXM+DQorICAgICAgICA8cmFuZ2U+DQorICAgICAgICAgICAgPG5ldHdvcmsgLz4NCisgICAgICAgIDwvcmFuZ2U+DQorICAgICAgICA8cmVmcz4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQ09ORklSTSIgdXJsPSJodHRwOi8vd3d3Lm9yYWNsZS5jb20vdGVjaG5vbG9neS9kZXBsb3kvc2VjdXJpdHkvY3JpdGljYWwtcGF0Y2gtdXBkYXRlcy9jcHVvY3QyMDA4Lmh0bWwiIGFkdj0iMSI+aHR0cDovL3d3dy5vcmFjbGUuY29tL3RlY2hub2xvZ3kvZGVwbG95L3NlY3VyaXR5L2NyaXRpY2FsLXBhdGNoLXVwZGF0ZXMvY3B1b2N0MjAwOC5odG1sPC9yZWY+DQorICAgICAgICA8L3JlZnM+DQorICAgICAgICA8dnVsbl9zb2Z0Pg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0ib3JhY2xlIiBuYW1lPSJlLWJ1c2luZXNzX3N1aXRlIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxMC4yIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjExLjUiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMTIuMC40IiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgIDwvdnVsbl9zb2Z0Pg0KKyAgICA8L2VudHJ5PgorICAgIDxlbnRyeSBDVlNTX3ZlY3Rvcj0iKEFWOk4vQUM6TC9BdTpTL0M6UC9JOlAvQTpQKSIgQ1ZTU19iYXNlX3Njb3JlPSI2LjUiIENWU1NfZXhwbG9pdF9zdWJzY29yZT0iOC4wIiBDVlNTX2ltcGFjdF9zdWJzY29yZT0iNi40IiBuYW1lPSJDVkUtMjAwOC0zOTg5IiBzZXE9IjIwMDgtMzk4OSIgc2V2ZXJpdHk9Ik1lZGl1bSIgdHlwZT0iQ1ZFIiBwdWJsaXNoZWQ9IjIwMDgtMTAtMTQiIENWU1NfdmVyc2lvbj0iMi4wIiBDVlNTX3Njb3JlPSI2LjUiIG1vZGlmaWVkPSIyMDA4LTEwLTE1Ij4NCisgICAgICAgIDxkZXNjPg0KKyAgICAgICAgICAgIDxkZXNjcmlwdCBzb3VyY2U9ImN2ZSI+VW5zcGVjaWZpZWQgdnVsbmVyYWJpbGl0eSBpbiB0aGUgT3JhY2xlIERhdGEgTWluaW5nIGNvbXBvbmVudCBpbiBPcmFjbGUgRGF0YWJhc2UgMTAuMi4wLjMgYWxsb3dzIHJlbW90ZSBhdXRoZW50aWNhdGVkIHVzZXJzIHRvIGFmZmVjdCBjb25maWRlbnRpYWxpdHksIGludGVncml0eSwgYW5kIGF2YWlsYWJpbGl0eSwgcmVsYXRlZCB0byBETVNZUy5PRE1fTU9ERUxfVVRJTC48L2Rlc2NyaXB0Pg0KKyAgICAgICAgPC9kZXNjPg0KKyAgICAgICAgPGxvc3NfdHlwZXM+DQorICAgICAgICAgICAgPGF2YWlsIC8+DQorICAgICAgICAgICAgPGNvbmYgLz4NCisgICAgICAgICAgICA8aW50IC8+DQorICAgICAgICA8L2xvc3NfdHlwZXM+DQorICAgICAgICA8cmFuZ2U+DQorICAgICAgICAgICAgPG5ldHdvcmsgLz4NCisgICAgICAgIDwvcmFuZ2U+DQorICAgICAgICA8cmVmcz4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQ09ORklSTSIgdXJsPSJodHRwOi8vd3d3Lm9yYWNsZS5jb20vdGVjaG5vbG9neS9kZXBsb3kvc2VjdXJpdHkvY3JpdGljYWwtcGF0Y2gtdXBkYXRlcy9jcHVvY3QyMDA4Lmh0bWwiIGFkdj0iMSI+aHR0cDovL3d3dy5vcmFjbGUuY29tL3RlY2hub2xvZ3kvZGVwbG95L3NlY3VyaXR5L2NyaXRpY2FsLXBhdGNoLXVwZGF0ZXMvY3B1b2N0MjAwOC5odG1sPC9yZWY+DQorICAgICAgICA8L3JlZnM+DQorICAgICAgICA8dnVsbl9zb2Z0Pg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0ib3JhY2xlIiBuYW1lPSJkYXRhYmFzZV8xMGciPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEwLjIuMC4zIiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgIDwvdnVsbl9zb2Z0Pg0KKyAgICA8L2VudHJ5PgorICAgIDxlbnRyeSBDVlNTX3ZlY3Rvcj0iKEFWOk4vQUM6TC9BdTpTL0M6Ti9JOk4vQTpQKSIgQ1ZTU19iYXNlX3Njb3JlPSI0LjAiIENWU1NfZXhwbG9pdF9zdWJzY29yZT0iOC4wIiBDVlNTX2ltcGFjdF9zdWJzY29yZT0iMi45IiBuYW1lPSJDVkUtMjAwOC0zOTkwIiBzZXE9IjIwMDgtMzk5MCIgc2V2ZXJpdHk9Ik1lZGl1bSIgdHlwZT0iQ1ZFIiBwdWJsaXNoZWQ9IjIwMDgtMTAtMTQiIENWU1NfdmVyc2lvbj0iMi4wIiBDVlNTX3Njb3JlPSI0LjAiIG1vZGlmaWVkPSIyMDA4LTEwLTE1Ij4NCisgICAgICAgIDxkZXNjPg0KKyAgICAgICAgICAgIDxkZXNjcmlwdCBzb3VyY2U9ImN2ZSI+VW5zcGVjaWZpZWQgdnVsbmVyYWJpbGl0eSBpbiB0aGUgT3JhY2xlIE9MQVAgY29tcG9uZW50IGluIE9yYWNsZSBEYXRhYmFzZSA5LjIuMDgsIDkuMi4wLjhEViwgYW5kIDEwLjEuMC41IGFsbG93cyByZW1vdGUgYXV0aGVudGljYXRlZCB1c2VycyB0byBhZmZlY3QgYXZhaWxhYmlsaXR5LCByZWxhdGVkIHRvIE9MQVBTWVMuQ1dNMl9PTEFQX0FXX0FXVVRJTC48L2Rlc2NyaXB0Pg0KKyAgICAgICAgPC9kZXNjPg0KKyAgICAgICAgPGxvc3NfdHlwZXM+DQorICAgICAgICAgICAgPGF2YWlsIC8+DQorICAgICAgICA8L2xvc3NfdHlwZXM+DQorICAgICAgICA8cmFuZ2U+DQorICAgICAgICAgICAgPG5ldHdvcmsgLz4NCisgICAgICAgIDwvcmFuZ2U+DQorICAgICAgICA8cmVmcz4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQ09ORklSTSIgdXJsPSJodHRwOi8vd3d3Lm9yYWNsZS5jb20vdGVjaG5vbG9neS9kZXBsb3kvc2VjdXJpdHkvY3JpdGljYWwtcGF0Y2gtdXBkYXRlcy9jcHVvY3QyMDA4Lmh0bWwiIGFkdj0iMSI+aHR0cDovL3d3dy5vcmFjbGUuY29tL3RlY2hub2xvZ3kvZGVwbG95L3NlY3VyaXR5L2NyaXRpY2FsLXBhdGNoLXVwZGF0ZXMvY3B1b2N0MjAwOC5odG1sPC9yZWY+DQorICAgICAgICA8L3JlZnM+DQorICAgICAgICA8dnVsbl9zb2Z0Pg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0ib3JhY2xlIiBuYW1lPSJkYXRhYmFzZV8xMGciPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEwLjEuMC41IiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9Im9yYWNsZSIgbmFtZT0iZGF0YWJhc2VfOWkiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjkuMi4wLjgiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iOS4yLjAuOGR2IiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgIDwvdnVsbl9zb2Z0Pg0KKyAgICA8L2VudHJ5PgorICAgIDxlbnRyeSBDVlNTX3ZlY3Rvcj0iKEFWOk4vQUM6TC9BdTpTL0M6Ti9JOk4vQTpQKSIgQ1ZTU19iYXNlX3Njb3JlPSI0LjAiIENWU1NfZXhwbG9pdF9zdWJzY29yZT0iOC4wIiBDVlNTX2ltcGFjdF9zdWJzY29yZT0iMi45IiBuYW1lPSJDVkUtMjAwOC0zOTkxIiBzZXE9IjIwMDgtMzk5MSIgc2V2ZXJpdHk9Ik1lZGl1bSIgdHlwZT0iQ1ZFIiBwdWJsaXNoZWQ9IjIwMDgtMTAtMTQiIENWU1NfdmVyc2lvbj0iMi4wIiBDVlNTX3Njb3JlPSI0LjAiIG1vZGlmaWVkPSIyMDA4LTEwLTE1Ij4NCisgICAgICAgIDxkZXNjPg0KKyAgICAgICAgICAgIDxkZXNjcmlwdCBzb3VyY2U9ImN2ZSI+VW5zcGVjaWZpZWQgdnVsbmVyYWJpbGl0eSBpbiB0aGUgT3JhY2xlIE9MQVAgY29tcG9uZW50IGluIE9yYWNsZSBEYXRhYmFzZSA5LjIuMDgsIDkuMi4wLjhEViwgYW5kIDEwLjEuMC41IGFsbG93cyByZW1vdGUgYXV0aGVudGljYXRlZCB1c2VycyB0byBhZmZlY3QgYXZhaWxhYmlsaXR5LCByZWxhdGVkIHRvIE9MQVBTWVMuQ1dNMl9PTEFQX0FXX0FXVVRJTC48L2Rlc2NyaXB0Pg0KKyAgICAgICAgPC9kZXNjPg0KKyAgICAgICAgPGxvc3NfdHlwZXM+DQorICAgICAgICAgICAgPGF2YWlsIC8+DQorICAgICAgICA8L2xvc3NfdHlwZXM+DQorICAgICAgICA8cmFuZ2U+DQorICAgICAgICAgICAgPG5ldHdvcmsgLz4NCisgICAgICAgIDwvcmFuZ2U+DQorICAgICAgICA8cmVmcz4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQ09ORklSTSIgdXJsPSJodHRwOi8vd3d3Lm9yYWNsZS5jb20vdGVjaG5vbG9neS9kZXBsb3kvc2VjdXJpdHkvY3JpdGljYWwtcGF0Y2gtdXBkYXRlcy9jcHVvY3QyMDA4Lmh0bWwiIGFkdj0iMSI+aHR0cDovL3d3dy5vcmFjbGUuY29tL3RlY2hub2xvZ3kvZGVwbG95L3NlY3VyaXR5L2NyaXRpY2FsLXBhdGNoLXVwZGF0ZXMvY3B1b2N0MjAwOC5odG1sPC9yZWY+DQorICAgICAgICA8L3JlZnM+DQorICAgICAgICA8dnVsbl9zb2Z0Pg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0ib3JhY2xlIiBuYW1lPSJkYXRhYmFzZV8xMGciPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEwLjEuMC41IiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9Im9yYWNsZSIgbmFtZT0iZGF0YWJhc2VfOWkiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjkuMi4wLjgiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iOS4yLjAuOGR2IiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgIDwvdnVsbl9zb2Z0Pg0KKyAgICA8L2VudHJ5PgorICAgIDxlbnRyeSBDVlNTX3ZlY3Rvcj0iKEFWOk4vQUM6TC9BdTpTL0M6UC9JOlAvQTpOKSIgQ1ZTU19iYXNlX3Njb3JlPSI1LjUiIENWU1NfZXhwbG9pdF9zdWJzY29yZT0iOC4wIiBDVlNTX2ltcGFjdF9zdWJzY29yZT0iNC45IiBuYW1lPSJDVkUtMjAwOC0zOTkyIiBzZXE9IjIwMDgtMzk5MiIgc2V2ZXJpdHk9Ik1lZGl1bSIgdHlwZT0iQ1ZFIiBwdWJsaXNoZWQ9IjIwMDgtMTAtMTQiIENWU1NfdmVyc2lvbj0iMi4wIiBDVlNTX3Njb3JlPSI1LjUiIG1vZGlmaWVkPSIyMDA4LTEwLTE1Ij4NCisgICAgICAgIDxkZXNjPg0KKyAgICAgICAgICAgIDxkZXNjcmlwdCBzb3VyY2U9ImN2ZSI+VW5zcGVjaWZpZWQgdnVsbmVyYWJpbGl0eSBpbiB0aGUgT3JhY2xlIERhdGEgTWluaW5nIGNvbXBvbmVudCBpbiBPcmFjbGUgRGF0YWJhc2UgMTAuMi4wLjQgYWxsb3dzIHJlbW90ZSBhdXRoZW50aWNhdGVkIHVzZXJzIHRvIGFmZmVjdCBjb25maWRlbnRpYWxpdHkgYW5kIGludGVncml0eSwgcmVsYXRlZCB0byBETVNZUy5EQk1TX0RNX0VYUF9JTlRFUk5BTC48L2Rlc2NyaXB0Pg0KKyAgICAgICAgPC9kZXNjPg0KKyAgICAgICAgPGxvc3NfdHlwZXM+DQorICAgICAgICAgICAgPGNvbmYgLz4NCisgICAgICAgICAgICA8aW50IC8+DQorICAgICAgICA8L2xvc3NfdHlwZXM+DQorICAgICAgICA8cmFuZ2U+DQorICAgICAgICAgICAgPG5ldHdvcmsgLz4NCisgICAgICAgIDwvcmFuZ2U+DQorICAgICAgICA8cmVmcz4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQ09ORklSTSIgdXJsPSJodHRwOi8vd3d3Lm9yYWNsZS5jb20vdGVjaG5vbG9neS9kZXBsb3kvc2VjdXJpdHkvY3JpdGljYWwtcGF0Y2gtdXBkYXRlcy9jcHVvY3QyMDA4Lmh0bWwiPmh0dHA6Ly93d3cub3JhY2xlLmNvbS90ZWNobm9sb2d5L2RlcGxveS9zZWN1cml0eS9jcml0aWNhbC1wYXRjaC11cGRhdGVzL2NwdW9jdDIwMDguaHRtbDwvcmVmPg0KKyAgICAgICAgPC9yZWZzPg0KKyAgICAgICAgPHZ1bG5fc29mdD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9Im9yYWNsZSIgbmFtZT0iZGF0YWJhc2VfMTBnIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxMC4yLjAuNCIgLz4NCisgICAgICAgICAgICA8L3Byb2Q+DQorICAgICAgICA8L3Z1bG5fc29mdD4NCisgICAgPC9lbnRyeT4KKyAgICA8ZW50cnkgQ1ZTU192ZWN0b3I9IihBVjpOL0FDOk0vQXU6Uy9DOk4vSTpQL0E6TikiIENWU1NfYmFzZV9zY29yZT0iMy41IiBDVlNTX2V4cGxvaXRfc3Vic2NvcmU9IjYuOCIgQ1ZTU19pbXBhY3Rfc3Vic2NvcmU9IjIuOSIgbmFtZT0iQ1ZFLTIwMDgtMzk5MyIgc2VxPSIyMDA4LTM5OTMiIHNldmVyaXR5PSJMb3ciIHR5cGU9IkNWRSIgcHVibGlzaGVkPSIyMDA4LTEwLTE0IiBDVlNTX3ZlcnNpb249IjIuMCIgQ1ZTU19zY29yZT0iMy41IiBtb2RpZmllZD0iMjAwOC0xMC0xNSI+DQorICAgICAgICA8ZGVzYz4NCisgICAgICAgICAgICA8ZGVzY3JpcHQgc291cmNlPSJjdmUiPlVuc3BlY2lmaWVkIHZ1bG5lcmFiaWxpdHkgaW4gdGhlIE9yYWNsZSBBcHBsaWNhdGlvbnMgRnJhbWV3b3JrIGNvbXBvbmVudCBpbiBPcmFjbGUgRS1CdXNpbmVzcyBTdWl0ZSAxMS41LjEwLjIgYW5kIDEyLjAuNCBhbGxvd3MgcmVtb3RlIGF1dGhlbnRpY2F0ZWQgdXNlcnMgdG8gYWZmZWN0IGludGVncml0eSB2aWEgdW5rbm93biB2ZWN0b3JzLjwvZGVzY3JpcHQ+DQorICAgICAgICA8L2Rlc2M+DQorICAgICAgICA8bG9zc190eXBlcz4NCisgICAgICAgICAgICA8aW50IC8+DQorICAgICAgICA8L2xvc3NfdHlwZXM+DQorICAgICAgICA8cmFuZ2U+DQorICAgICAgICAgICAgPG5ldHdvcmsgLz4NCisgICAgICAgIDwvcmFuZ2U+DQorICAgICAgICA8cmVmcz4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQ09ORklSTSIgdXJsPSJodHRwOi8vd3d3Lm9yYWNsZS5jb20vdGVjaG5vbG9neS9kZXBsb3kvc2VjdXJpdHkvY3JpdGljYWwtcGF0Y2gtdXBkYXRlcy9jcHVvY3QyMDA4Lmh0bWwiIGFkdj0iMSI+aHR0cDovL3d3dy5vcmFjbGUuY29tL3RlY2hub2xvZ3kvZGVwbG95L3NlY3VyaXR5L2NyaXRpY2FsLXBhdGNoLXVwZGF0ZXMvY3B1b2N0MjAwOC5odG1sPC9yZWY+DQorICAgICAgICA8L3JlZnM+DQorICAgICAgICA8dnVsbl9zb2Z0Pg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0ib3JhY2xlIiBuYW1lPSJlLWJ1c2luZXNzX3N1aXRlIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxMC4yIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjExLjUiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMTIuMC40IiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgIDwvdnVsbl9zb2Z0Pg0KKyAgICA8L2VudHJ5PgorICAgIDxlbnRyeSBDVlNTX3ZlY3Rvcj0iKEFWOk4vQUM6TC9BdTpTL0M6UC9JOlAvQTpOKSIgQ1ZTU19iYXNlX3Njb3JlPSI1LjUiIENWU1NfZXhwbG9pdF9zdWJzY29yZT0iOC4wIiBDVlNTX2ltcGFjdF9zdWJzY29yZT0iNC45IiBuYW1lPSJDVkUtMjAwOC0zOTk0IiBzZXE9IjIwMDgtMzk5NCIgc2V2ZXJpdHk9Ik1lZGl1bSIgdHlwZT0iQ1ZFIiBwdWJsaXNoZWQ9IjIwMDgtMTAtMTQiIENWU1NfdmVyc2lvbj0iMi4wIiBDVlNTX3Njb3JlPSI1LjUiIG1vZGlmaWVkPSIyMDA4LTEwLTE1Ij4NCisgICAgICAgIDxkZXNjPg0KKyAgICAgICAgICAgIDxkZXNjcmlwdCBzb3VyY2U9ImN2ZSI+VW5zcGVjaWZpZWQgdnVsbmVyYWJpbGl0eSBpbiB0aGUgV29ya3NwYWNlIE1hbmFnZXIgY29tcG9uZW50IGluIE9yYWNsZSBEYXRhYmFzZSA5LjIuMC44LCA5LjIuMC44RFYsIDEwLjEuMC41LCAxMC4yLjAuMywgYW5kIDExLjEuMC42IGFsbG93cyByZW1vdGUgYXV0aGVudGljYXRlZCB1c2VycyB0byBhZmZlY3QgY29uZmlkZW50aWFsaXR5IGFuZCBpbnRlZ3JpdHksIHJlbGF0ZWQgdG8gV01TWVMuTFRBRE0uPC9kZXNjcmlwdD4NCisgICAgICAgIDwvZGVzYz4NCisgICAgICAgIDxsb3NzX3R5cGVzPg0KKyAgICAgICAgICAgIDxjb25mIC8+DQorICAgICAgICAgICAgPGludCAvPg0KKyAgICAgICAgPC9sb3NzX3R5cGVzPg0KKyAgICAgICAgPHJhbmdlPg0KKyAgICAgICAgICAgIDxuZXR3b3JrIC8+DQorICAgICAgICA8L3JhbmdlPg0KKyAgICAgICAgPHJlZnM+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkNPTkZJUk0iIHVybD0iaHR0cDovL3d3dy5vcmFjbGUuY29tL3RlY2hub2xvZ3kvZGVwbG95L3NlY3VyaXR5L2NyaXRpY2FsLXBhdGNoLXVwZGF0ZXMvY3B1b2N0MjAwOC5odG1sIiBhZHY9IjEiPmh0dHA6Ly93d3cub3JhY2xlLmNvbS90ZWNobm9sb2d5L2RlcGxveS9zZWN1cml0eS9jcml0aWNhbC1wYXRjaC11cGRhdGVzL2NwdW9jdDIwMDguaHRtbDwvcmVmPg0KKyAgICAgICAgPC9yZWZzPg0KKyAgICAgICAgPHZ1bG5fc29mdD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9Im9yYWNsZSIgbmFtZT0iZGF0YWJhc2VfMTBnIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxMC4xLjAuNSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxMC4yLjAuMyIgLz4NCisgICAgICAgICAgICA8L3Byb2Q+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJvcmFjbGUiIG5hbWU9ImRhdGFiYXNlXzExaSI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMTEuMS4wLjYiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0ib3JhY2xlIiBuYW1lPSJkYXRhYmFzZV85aSI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iOS4yLjAuOCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI5LjIuMC44ZHYiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgPC92dWxuX3NvZnQ+DQorICAgIDwvZW50cnk+CisgICAgPGVudHJ5IENWU1NfdmVjdG9yPSIoQVY6Ti9BQzpML0F1OlMvQzpQL0k6UC9BOk4pIiBDVlNTX2Jhc2Vfc2NvcmU9IjUuNSIgQ1ZTU19leHBsb2l0X3N1YnNjb3JlPSI4LjAiIENWU1NfaW1wYWN0X3N1YnNjb3JlPSI0LjkiIG5hbWU9IkNWRS0yMDA4LTM5OTUiIHNlcT0iMjAwOC0zOTk1IiBzZXZlcml0eT0iTWVkaXVtIiB0eXBlPSJDVkUiIHB1Ymxpc2hlZD0iMjAwOC0xMC0xNCIgQ1ZTU192ZXJzaW9uPSIyLjAiIENWU1Nfc2NvcmU9IjUuNSIgbW9kaWZpZWQ9IjIwMDgtMTAtMTUiPg0KKyAgICAgICAgPGRlc2M+DQorICAgICAgICAgICAgPGRlc2NyaXB0IHNvdXJjZT0iY3ZlIj5VbnNwZWNpZmllZCB2dWxuZXJhYmlsaXR5IGluIHRoZSBDaGFuZ2UgRGF0YSBDYXB0dXJlIGNvbXBvbmVudCBpbiBPcmFjbGUgRGF0YWJhc2UgMTAuMS4wLjUsIDEwLjIuMC40LCBhbmQgMTEuMS4wLjYgYWxsb3dzIHJlbW90ZSBhdXRoZW50aWNhdGVkIHVzZXJzIHRvIGFmZmVjdCBjb25maWRlbnRpYWxpdHkgYW5kIGludGVncml0eSwgcmVsYXRlZCB0byBEQk1TX0NEQ19QVUJMSVNILjwvZGVzY3JpcHQ+DQorICAgICAgICA8L2Rlc2M+DQorICAgICAgICA8bG9zc190eXBlcz4NCisgICAgICAgICAgICA8Y29uZiAvPg0KKyAgICAgICAgICAgIDxpbnQgLz4NCisgICAgICAgIDwvbG9zc190eXBlcz4NCisgICAgICAgIDxyYW5nZT4NCisgICAgICAgICAgICA8bmV0d29yayAvPg0KKyAgICAgICAgPC9yYW5nZT4NCisgICAgICAgIDxyZWZzPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJDT05GSVJNIiB1cmw9Imh0dHA6Ly93d3cub3JhY2xlLmNvbS90ZWNobm9sb2d5L2RlcGxveS9zZWN1cml0eS9jcml0aWNhbC1wYXRjaC11cGRhdGVzL2NwdW9jdDIwMDguaHRtbCIgYWR2PSIxIj5odHRwOi8vd3d3Lm9yYWNsZS5jb20vdGVjaG5vbG9neS9kZXBsb3kvc2VjdXJpdHkvY3JpdGljYWwtcGF0Y2gtdXBkYXRlcy9jcHVvY3QyMDA4Lmh0bWw8L3JlZj4NCisgICAgICAgIDwvcmVmcz4NCisgICAgICAgIDx2dWxuX3NvZnQ+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJvcmFjbGUiIG5hbWU9ImRhdGFiYXNlXzEwZyI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMTAuMS4wLjUiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMTAuMi4wLjQiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0ib3JhY2xlIiBuYW1lPSJkYXRhYmFzZV8xMWkiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjExLjEuMC42IiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgIDwvdnVsbl9zb2Z0Pg0KKyAgICA8L2VudHJ5PgorICAgIDxlbnRyeSBDVlNTX3ZlY3Rvcj0iKEFWOk4vQUM6TC9BdTpTL0M6UC9JOlAvQTpOKSIgQ1ZTU19iYXNlX3Njb3JlPSI1LjUiIENWU1NfZXhwbG9pdF9zdWJzY29yZT0iOC4wIiBDVlNTX2ltcGFjdF9zdWJzY29yZT0iNC45IiBuYW1lPSJDVkUtMjAwOC0zOTk2IiBzZXE9IjIwMDgtMzk5NiIgc2V2ZXJpdHk9Ik1lZGl1bSIgdHlwZT0iQ1ZFIiBwdWJsaXNoZWQ9IjIwMDgtMTAtMTQiIENWU1NfdmVyc2lvbj0iMi4wIiBDVlNTX3Njb3JlPSI1LjUiIG1vZGlmaWVkPSIyMDA4LTEwLTE1Ij4NCisgICAgICAgIDxkZXNjPg0KKyAgICAgICAgICAgIDxkZXNjcmlwdCBzb3VyY2U9ImN2ZSI+VW5zcGVjaWZpZWQgdnVsbmVyYWJpbGl0eSBpbiB0aGUgQ2hhbmdlIERhdGEgQ2FwdHVyZSBjb21wb25lbnQgaW4gT3JhY2xlIERhdGFiYXNlIDEwLjEuMC41LCAxMC4yLjAuNCwgYW5kIDExLjEuMC42IGFsbG93cyByZW1vdGUgYXV0aGVudGljYXRlZCB1c2VycyB0byBhZmZlY3QgY29uZmlkZW50aWFsaXR5IGFuZCBpbnRlZ3JpdHksIHJlbGF0ZWQgdG8gU1lTLkRCTVNfQ0RDX0lQVUJMSVNILjwvZGVzY3JpcHQ+DQorICAgICAgICA8L2Rlc2M+DQorICAgICAgICA8bG9zc190eXBlcz4NCisgICAgICAgICAgICA8Y29uZiAvPg0KKyAgICAgICAgICAgIDxpbnQgLz4NCisgICAgICAgIDwvbG9zc190eXBlcz4NCisgICAgICAgIDxyYW5nZT4NCisgICAgICAgICAgICA8bmV0d29yayAvPg0KKyAgICAgICAgPC9yYW5nZT4NCisgICAgICAgIDxyZWZzPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJDT05GSVJNIiB1cmw9Imh0dHA6Ly93d3cub3JhY2xlLmNvbS90ZWNobm9sb2d5L2RlcGxveS9zZWN1cml0eS9jcml0aWNhbC1wYXRjaC11cGRhdGVzL2NwdW9jdDIwMDguaHRtbCIgYWR2PSIxIj5odHRwOi8vd3d3Lm9yYWNsZS5jb20vdGVjaG5vbG9neS9kZXBsb3kvc2VjdXJpdHkvY3JpdGljYWwtcGF0Y2gtdXBkYXRlcy9jcHVvY3QyMDA4Lmh0bWw8L3JlZj4NCisgICAgICAgIDwvcmVmcz4NCisgICAgICAgIDx2dWxuX3NvZnQ+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJvcmFjbGUiIG5hbWU9ImRhdGFiYXNlXzEwZyI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMTAuMS4wLjUiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMTAuMi4wLjQiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0ib3JhY2xlIiBuYW1lPSJkYXRhYmFzZV8xMWkiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjExLjEuMC42IiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgIDwvdnVsbl9zb2Z0Pg0KKyAgICA8L2VudHJ5PgorICAgIDxlbnRyeSBDVlNTX3ZlY3Rvcj0iKEFWOk4vQUM6TS9BdTpTL0M6UC9JOlAvQTpOKSIgQ1ZTU19iYXNlX3Njb3JlPSI0LjkiIENWU1NfZXhwbG9pdF9zdWJzY29yZT0iNi44IiBDVlNTX2ltcGFjdF9zdWJzY29yZT0iNC45IiBuYW1lPSJDVkUtMjAwOC0zOTk4IiBzZXE9IjIwMDgtMzk5OCIgc2V2ZXJpdHk9Ik1lZGl1bSIgdHlwZT0iQ1ZFIiBwdWJsaXNoZWQ9IjIwMDgtMTAtMTQiIENWU1NfdmVyc2lvbj0iMi4wIiBDVlNTX3Njb3JlPSI0LjkiIG1vZGlmaWVkPSIyMDA4LTEwLTE1Ij4NCisgICAgICAgIDxkZXNjPg0KKyAgICAgICAgICAgIDxkZXNjcmlwdCBzb3VyY2U9ImN2ZSI+VW5zcGVjaWZpZWQgdnVsbmVyYWJpbGl0eSBpbiB0aGUgT3JhY2xlIGlTdG9yZSBjb21wb25lbnQgaW4gT3JhY2xlIEUtQnVzaW5lc3MgU3VpdGUgMTIuMC40IGFsbG93cyByZW1vdGUgYXV0aGVudGljYXRlZCB1c2VycyB0byBhZmZlY3QgY29uZmlkZW50aWFsaXR5IGFuZCBpbnRlZ3JpdHkgdmlhIHVua25vd24gdmVjdG9ycy48L2Rlc2NyaXB0Pg0KKyAgICAgICAgPC9kZXNjPg0KKyAgICAgICAgPGxvc3NfdHlwZXM+DQorICAgICAgICAgICAgPGNvbmYgLz4NCisgICAgICAgICAgICA8aW50IC8+DQorICAgICAgICA8L2xvc3NfdHlwZXM+DQorICAgICAgICA8cmFuZ2U+DQorICAgICAgICAgICAgPG5ldHdvcmsgLz4NCisgICAgICAgIDwvcmFuZ2U+DQorICAgICAgICA8cmVmcz4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQ09ORklSTSIgdXJsPSJodHRwOi8vd3d3Lm9yYWNsZS5jb20vdGVjaG5vbG9neS9kZXBsb3kvc2VjdXJpdHkvY3JpdGljYWwtcGF0Y2gtdXBkYXRlcy9jcHVvY3QyMDA4Lmh0bWwiIGFkdj0iMSI+aHR0cDovL3d3dy5vcmFjbGUuY29tL3RlY2hub2xvZ3kvZGVwbG95L3NlY3VyaXR5L2NyaXRpY2FsLXBhdGNoLXVwZGF0ZXMvY3B1b2N0MjAwOC5odG1sPC9yZWY+DQorICAgICAgICA8L3JlZnM+DQorICAgICAgICA8dnVsbl9zb2Z0Pg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0ib3JhY2xlIiBuYW1lPSJlLWJ1c2luZXNzX3N1aXRlIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxMi4wLjQiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgPC92dWxuX3NvZnQ+DQorICAgIDwvZW50cnk+CisgICAgPGVudHJ5IENWU1NfdmVjdG9yPSIoQVY6Ti9BQzpML0F1Ok4vQzpQL0k6UC9BOk4pIiBDVlNTX2Jhc2Vfc2NvcmU9IjYuNCIgQ1ZTU19leHBsb2l0X3N1YnNjb3JlPSIxMC4wIiBDVlNTX2ltcGFjdF9zdWJzY29yZT0iNC45IiBuYW1lPSJDVkUtMjAwOC00MDAwIiBzZXE9IjIwMDgtNDAwMCIgc2V2ZXJpdHk9Ik1lZGl1bSIgdHlwZT0iQ1ZFIiBwdWJsaXNoZWQ9IjIwMDgtMTAtMTQiIENWU1NfdmVyc2lvbj0iMi4wIiBDVlNTX3Njb3JlPSI2LjQiIG1vZGlmaWVkPSIyMDA4LTEwLTE1Ij4NCisgICAgICAgIDxkZXNjPg0KKyAgICAgICAgICAgIDxkZXNjcmlwdCBzb3VyY2U9ImN2ZSI+VW5zcGVjaWZpZWQgdnVsbmVyYWJpbGl0eSBpbiB0aGUgUGVvcGxlVG9vbHMgY29tcG9uZW50IGluIE9yYWNsZSBQZW9wbGVTb2Z0IEVudGVycHJpc2UgYW5kIEpEIEVkd2FyZHMgRW50ZXJwcmlzZU9uZSA4LjQ4LjE4IGFuZCA4LjQ5LjE0IGFsbG93cyByZW1vdGUgYXR0YWNrZXJzIHRvIGFmZmVjdCBjb25maWRlbnRpYWxpdHkgYW5kIGludGVncml0eSB2aWEgdW5rbm93biB2ZWN0b3JzLjwvZGVzY3JpcHQ+DQorICAgICAgICA8L2Rlc2M+DQorICAgICAgICA8bG9zc190eXBlcz4NCisgICAgICAgICAgICA8Y29uZiAvPg0KKyAgICAgICAgICAgIDxpbnQgLz4NCisgICAgICAgIDwvbG9zc190eXBlcz4NCisgICAgICAgIDxyYW5nZT4NCisgICAgICAgICAgICA8bmV0d29yayAvPg0KKyAgICAgICAgPC9yYW5nZT4NCisgICAgICAgIDxyZWZzPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJDT05GSVJNIiB1cmw9Imh0dHA6Ly93d3cub3JhY2xlLmNvbS90ZWNobm9sb2d5L2RlcGxveS9zZWN1cml0eS9jcml0aWNhbC1wYXRjaC11cGRhdGVzL2NwdW9jdDIwMDguaHRtbCIgYWR2PSIxIj5odHRwOi8vd3d3Lm9yYWNsZS5jb20vdGVjaG5vbG9neS9kZXBsb3kvc2VjdXJpdHkvY3JpdGljYWwtcGF0Y2gtdXBkYXRlcy9jcHVvY3QyMDA4Lmh0bWw8L3JlZj4NCisgICAgICAgIDwvcmVmcz4NCisgICAgICAgIDx2dWxuX3NvZnQ+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJqZGVkd2FyZHMiIG5hbWU9ImVudGVycHJpc2VvbmUiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjguNDguMTgiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0ib3JhY2xlIiBuYW1lPSJqZF9lZHdhcmRzX2VudGVycHJpc2VvbmUiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjguNDkuMTQiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0ib3JhY2xlIiBuYW1lPSJwZW9wbGVzb2Z0X2VudGVycHJpc2UiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjguNDguMTgiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0ib3JhY2xlIiBuYW1lPSJwZW9wbGVzb2Z0X3Blb3BsZXRvb2xzIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI4LjQ5LjE0IiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgIDwvdnVsbl9zb2Z0Pg0KKyAgICA8L2VudHJ5PgorICAgIDxlbnRyeSBDVlNTX3ZlY3Rvcj0iKEFWOk4vQUM6TS9BdTpTL0M6UC9JOlAvQTpOKSIgQ1ZTU19iYXNlX3Njb3JlPSI0LjkiIENWU1NfZXhwbG9pdF9zdWJzY29yZT0iNi44IiBDVlNTX2ltcGFjdF9zdWJzY29yZT0iNC45IiBuYW1lPSJDVkUtMjAwOC00MDAxIiBzZXE9IjIwMDgtNDAwMSIgc2V2ZXJpdHk9Ik1lZGl1bSIgdHlwZT0iQ1ZFIiBwdWJsaXNoZWQ9IjIwMDgtMTAtMTQiIENWU1NfdmVyc2lvbj0iMi4wIiBDVlNTX3Njb3JlPSI0LjkiIG1vZGlmaWVkPSIyMDA4LTEwLTE1Ij4NCisgICAgICAgIDxkZXNjPg0KKyAgICAgICAgICAgIDxkZXNjcmlwdCBzb3VyY2U9ImN2ZSI+VW5zcGVjaWZpZWQgdnVsbmVyYWJpbGl0eSBpbiB0aGUgUGVvcGxlU29mdCBFbnRlcnByaXNlIFBvcnRhbCBjb21wb25lbnQgaW4gT3JhY2xlIFBlb3BsZVNvZnQgRW50ZXJwcmlzZSBhbmQgSkQgRWR3YXJkcyBFbnRlcnByaXNlT25lIEVQIDguOSBhbmQgRVAgOS4wIGFsbG93cyByZW1vdGUgYXV0aGVudGljYXRlZCB1c2VycyB0byBhZmZlY3QgY29uZmlkZW50aWFsaXR5IGFuZCBpbnRlZ3JpdHkgdmlhIHVua25vd24gdmVjdG9ycy48L2Rlc2NyaXB0Pg0KKyAgICAgICAgPC9kZXNjPg0KKyAgICAgICAgPGxvc3NfdHlwZXM+DQorICAgICAgICAgICAgPGNvbmYgLz4NCisgICAgICAgICAgICA8aW50IC8+DQorICAgICAgICA8L2xvc3NfdHlwZXM+DQorICAgICAgICA8cmFuZ2U+DQorICAgICAgICAgICAgPG5ldHdvcmsgLz4NCisgICAgICAgIDwvcmFuZ2U+DQorICAgICAgICA8cmVmcz4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQ09ORklSTSIgdXJsPSJodHRwOi8vd3d3Lm9yYWNsZS5jb20vdGVjaG5vbG9neS9kZXBsb3kvc2VjdXJpdHkvY3JpdGljYWwtcGF0Y2gtdXBkYXRlcy9jcHVvY3QyMDA4Lmh0bWwiIGFkdj0iMSI+aHR0cDovL3d3dy5vcmFjbGUuY29tL3RlY2hub2xvZ3kvZGVwbG95L3NlY3VyaXR5L2NyaXRpY2FsLXBhdGNoLXVwZGF0ZXMvY3B1b2N0MjAwOC5odG1sPC9yZWY+DQorICAgICAgICA8L3JlZnM+DQorICAgICAgICA8dnVsbl9zb2Z0Pg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0ib3JhY2xlIiBuYW1lPSJqZF9lZHdhcmRzX2VudGVycHJpc2VvbmVfZXAiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjguOSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI5LjAiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0ib3JhY2xlIiBuYW1lPSJwZW9wbGVzb2Z0X2VudGVycHJpc2UiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjguOSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI5LjAiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgPC92dWxuX3NvZnQ+DQorICAgIDwvZW50cnk+CisgICAgPGVudHJ5IENWU1NfdmVjdG9yPSIoQVY6Ti9BQzpNL0F1OlMvQzpQL0k6Ti9BOk4pIiBDVlNTX2Jhc2Vfc2NvcmU9IjMuNSIgQ1ZTU19leHBsb2l0X3N1YnNjb3JlPSI2LjgiIENWU1NfaW1wYWN0X3N1YnNjb3JlPSIyLjkiIG5hbWU9IkNWRS0yMDA4LTQwMDIiIHNlcT0iMjAwOC00MDAyIiBzZXZlcml0eT0iTG93IiB0eXBlPSJDVkUiIHB1Ymxpc2hlZD0iMjAwOC0xMC0xNCIgQ1ZTU192ZXJzaW9uPSIyLjAiIENWU1Nfc2NvcmU9IjMuNSIgbW9kaWZpZWQ9IjIwMDgtMTAtMTUiPg0KKyAgICAgICAgPGRlc2M+DQorICAgICAgICAgICAgPGRlc2NyaXB0IHNvdXJjZT0iY3ZlIj5VbnNwZWNpZmllZCB2dWxuZXJhYmlsaXR5IGluIHRoZSBQZW9wbGVUb29scyBjb21wb25lbnQgaW4gT3JhY2xlIFBlb3BsZVNvZnQgRW50ZXJwcmlzZSBhbmQgSkQgRWR3YXJkcyBFbnRlcnByaXNlT25lIDguNDguMTggYW5kIDguNDkuMTQgYWxsb3dzIHJlbW90ZSBhdXRoZW50aWNhdGVkIHVzZXJzIHRvIGFmZmVjdCBjb25maWRlbnRpYWxpdHkgdmlhIHVua25vd24gdmVjdG9ycy48L2Rlc2NyaXB0Pg0KKyAgICAgICAgPC9kZXNjPg0KKyAgICAgICAgPGxvc3NfdHlwZXM+DQorICAgICAgICAgICAgPGNvbmYgLz4NCisgICAgICAgIDwvbG9zc190eXBlcz4NCisgICAgICAgIDxyYW5nZT4NCisgICAgICAgICAgICA8bmV0d29yayAvPg0KKyAgICAgICAgPC9yYW5nZT4NCisgICAgICAgIDxyZWZzPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJDT05GSVJNIiB1cmw9Imh0dHA6Ly93d3cub3JhY2xlLmNvbS90ZWNobm9sb2d5L2RlcGxveS9zZWN1cml0eS9jcml0aWNhbC1wYXRjaC11cGRhdGVzL2NwdW9jdDIwMDguaHRtbCIgYWR2PSIxIj5odHRwOi8vd3d3Lm9yYWNsZS5jb20vdGVjaG5vbG9neS9kZXBsb3kvc2VjdXJpdHkvY3JpdGljYWwtcGF0Y2gtdXBkYXRlcy9jcHVvY3QyMDA4Lmh0bWw8L3JlZj4NCisgICAgICAgIDwvcmVmcz4NCisgICAgICAgIDx2dWxuX3NvZnQ+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJvcmFjbGUiIG5hbWU9ImpkX2Vkd2FyZHNfZW50ZXJwcmlzZW9uZSI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iOC40OC4xOCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI4LjQ5LjE0IiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9Im9yYWNsZSIgbmFtZT0icGVvcGxlc29mdF9lbnRlcnByaXNlIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI4LjQ4LjE4IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjguNDkuMTQiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgPC92dWxuX3NvZnQ+DQorICAgIDwvZW50cnk+CisgICAgPGVudHJ5IENWU1NfdmVjdG9yPSIoQVY6Ti9BQzpNL0F1Ok4vQzpQL0k6Ti9BOk4pIiBDVlNTX2Jhc2Vfc2NvcmU9IjQuMyIgQ1ZTU19leHBsb2l0X3N1YnNjb3JlPSI4LjYiIENWU1NfaW1wYWN0X3N1YnNjb3JlPSIyLjkiIG5hbWU9IkNWRS0yMDA4LTQwMDMiIHNlcT0iMjAwOC00MDAzIiBzZXZlcml0eT0iTWVkaXVtIiB0eXBlPSJDVkUiIHB1Ymxpc2hlZD0iMjAwOC0xMC0xNCIgQ1ZTU192ZXJzaW9uPSIyLjAiIENWU1Nfc2NvcmU9IjQuMyIgbW9kaWZpZWQ9IjIwMDgtMTAtMTUiPg0KKyAgICAgICAgPGRlc2M+DQorICAgICAgICAgICAgPGRlc2NyaXB0IHNvdXJjZT0iY3ZlIj5VbnNwZWNpZmllZCB2dWxuZXJhYmlsaXR5IGluIHRoZSBQZW9wbGVUb29scyBjb21wb25lbnQgaW4gT3JhY2xlIFBlb3BsZVNvZnQgRW50ZXJwcmlzZSBhbmQgSkQgRWR3YXJkcyBFbnRlcnByaXNlT25lIDguNDguMTggYW5kIDguNDkuMTQgYWxsb3dzIHJlbW90ZSBhdHRhY2tlcnMgdG8gYWZmZWN0IGNvbmZpZGVudGlhbGl0eSB2aWEgdW5rbm93biB2ZWN0b3JzLjwvZGVzY3JpcHQ+DQorICAgICAgICA8L2Rlc2M+DQorICAgICAgICA8bG9zc190eXBlcz4NCisgICAgICAgICAgICA8Y29uZiAvPg0KKyAgICAgICAgPC9sb3NzX3R5cGVzPg0KKyAgICAgICAgPHJhbmdlPg0KKyAgICAgICAgICAgIDxuZXR3b3JrIC8+DQorICAgICAgICA8L3JhbmdlPg0KKyAgICAgICAgPHJlZnM+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkNPTkZJUk0iIHVybD0iaHR0cDovL3d3dy5vcmFjbGUuY29tL3RlY2hub2xvZ3kvZGVwbG95L3NlY3VyaXR5L2NyaXRpY2FsLXBhdGNoLXVwZGF0ZXMvY3B1b2N0MjAwOC5odG1sIiBhZHY9IjEiPmh0dHA6Ly93d3cub3JhY2xlLmNvbS90ZWNobm9sb2d5L2RlcGxveS9zZWN1cml0eS9jcml0aWNhbC1wYXRjaC11cGRhdGVzL2NwdW9jdDIwMDguaHRtbDwvcmVmPg0KKyAgICAgICAgPC9yZWZzPg0KKyAgICAgICAgPHZ1bG5fc29mdD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9Im9yYWNsZSIgbmFtZT0iamRfZWR3YXJkc19lbnRlcnByaXNlb25lIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI4LjQ4LjE4IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjguNDkuMTQiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0ib3JhY2xlIiBuYW1lPSJwZW9wbGVzb2Z0X2VudGVycHJpc2UiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjguNDguMTgiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iOC40OS4xNCIgLz4NCisgICAgICAgICAgICA8L3Byb2Q+DQorICAgICAgICA8L3Z1bG5fc29mdD4NCisgICAgPC9lbnRyeT4KKyAgICA8ZW50cnkgQ1ZTU192ZWN0b3I9IihBVjpML0FDOkwvQXU6Uy9DOlAvSTpQL0E6TikiIENWU1NfYmFzZV9zY29yZT0iMy4yIiBDVlNTX2V4cGxvaXRfc3Vic2NvcmU9IjMuMSIgQ1ZTU19pbXBhY3Rfc3Vic2NvcmU9IjQuOSIgbmFtZT0iQ1ZFLTIwMDgtNDAwNCIgc2VxPSIyMDA4LTQwMDQiIHNldmVyaXR5PSJMb3ciIHR5cGU9IkNWRSIgcHVibGlzaGVkPSIyMDA4LTEwLTE0IiBDVlNTX3ZlcnNpb249IjIuMCIgQ1ZTU19zY29yZT0iMy4yIiBtb2RpZmllZD0iMjAwOC0xMC0xNSI+DQorICAgICAgICA8ZGVzYz4NCisgICAgICAgICAgICA8ZGVzY3JpcHQgc291cmNlPSJjdmUiPlVuc3BlY2lmaWVkIHZ1bG5lcmFiaWxpdHkgaW4gdGhlIEpERSBFbnRlcnByaXNlT25lIEJ1c2luZXNzIFNlcnZpY2UgU2VydmVyIGNvbXBvbmVudCBpbiBPcmFjbGUgUGVvcGxlU29mdCBFbnRlcnByaXNlIGFuZCBKRCBFZHdhcmRzIEVudGVycHJpc2VPbmUgOC45Ny4yLjIgYW5kIDguOTguMC4xIGFsbG93cyBsb2NhbCB1c2VycyB0byBhZmZlY3QgY29uZmlkZW50aWFsaXR5IGFuZCBpbnRlZ3JpdHkgdmlhIHVua25vd24gdmVjdG9ycy48L2Rlc2NyaXB0Pg0KKyAgICAgICAgPC9kZXNjPg0KKyAgICAgICAgPGxvc3NfdHlwZXM+DQorICAgICAgICAgICAgPGNvbmYgLz4NCisgICAgICAgICAgICA8aW50IC8+DQorICAgICAgICA8L2xvc3NfdHlwZXM+DQorICAgICAgICA8cmFuZ2U+DQorICAgICAgICAgICAgPGxvY2FsIC8+DQorICAgICAgICA8L3JhbmdlPg0KKyAgICAgICAgPHJlZnM+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkNPTkZJUk0iIHVybD0iaHR0cDovL3d3dy5vcmFjbGUuY29tL3RlY2hub2xvZ3kvZGVwbG95L3NlY3VyaXR5L2NyaXRpY2FsLXBhdGNoLXVwZGF0ZXMvY3B1b2N0MjAwOC5odG1sIiBhZHY9IjEiPmh0dHA6Ly93d3cub3JhY2xlLmNvbS90ZWNobm9sb2d5L2RlcGxveS9zZWN1cml0eS9jcml0aWNhbC1wYXRjaC11cGRhdGVzL2NwdW9jdDIwMDguaHRtbDwvcmVmPg0KKyAgICAgICAgPC9yZWZzPg0KKyAgICAgICAgPHZ1bG5fc29mdD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9ImpkZWR3YXJkcyIgbmFtZT0iZW50ZXJwcmlzZW9uZSI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iOC45Ny4yLjIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iOC45OC4wLjEiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0ib3JhY2xlIiBuYW1lPSJwZW9wbGVzb2Z0X2VudGVycHJpc2UiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjguOTcuMi4yIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjguOTguMC4xIiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgIDwvdnVsbl9zb2Z0Pg0KKyAgICA8L2VudHJ5PgorICAgIDxlbnRyeSBDVlNTX3ZlY3Rvcj0iKEFWOk4vQUM6SC9BdTpNL0M6UC9JOlAvQTpQKSIgQ1ZTU19iYXNlX3Njb3JlPSI0LjMiIENWU1NfZXhwbG9pdF9zdWJzY29yZT0iMy4yIiBDVlNTX2ltcGFjdF9zdWJzY29yZT0iNi40IiBuYW1lPSJDVkUtMjAwOC00MDA1IiBzZXE9IjIwMDgtNDAwNSIgc2V2ZXJpdHk9Ik1lZGl1bSIgdHlwZT0iQ1ZFIiBwdWJsaXNoZWQ9IjIwMDgtMTAtMTQiIENWU1NfdmVyc2lvbj0iMi4wIiBDVlNTX3Njb3JlPSI0LjMiIG1vZGlmaWVkPSIyMDA4LTEwLTE1Ij4NCisgICAgICAgIDxkZXNjPg0KKyAgICAgICAgICAgIDxkZXNjcmlwdCBzb3VyY2U9ImN2ZSI+VW5zcGVjaWZpZWQgdnVsbmVyYWJpbGl0eSBpbiB0aGUgT3JhY2xlIEFwcGxpY2F0aW9uIEV4cHJlc3MgY29tcG9uZW50IGluIE9yYWNsZSBEYXRhYmFzZSAxMS4xLjAuNiBhbGxvd3MgcmVtb3RlIGF1dGhlbnRpY2F0ZWQgdXNlcnMgdG8gYWZmZWN0IGNvbmZpZGVudGlhbGl0eSwgaW50ZWdyaXR5LCBhbmQgYXZhaWxhYmlsaXR5IHZpYSB1bmtub3duIHZlY3RvcnMuPC9kZXNjcmlwdD4NCisgICAgICAgIDwvZGVzYz4NCisgICAgICAgIDxsb3NzX3R5cGVzPg0KKyAgICAgICAgICAgIDxhdmFpbCAvPg0KKyAgICAgICAgICAgIDxjb25mIC8+DQorICAgICAgICAgICAgPGludCAvPg0KKyAgICAgICAgICAgIDxzZWNfcHJvdCBvdGhlcj0iMSIgLz4NCisgICAgICAgIDwvbG9zc190eXBlcz4NCisgICAgICAgIDxyYW5nZT4NCisgICAgICAgICAgICA8bmV0d29yayAvPg0KKyAgICAgICAgPC9yYW5nZT4NCisgICAgICAgIDxyZWZzPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJDT05GSVJNIiB1cmw9Imh0dHA6Ly93d3cub3JhY2xlLmNvbS90ZWNobm9sb2d5L2RlcGxveS9zZWN1cml0eS9jcml0aWNhbC1wYXRjaC11cGRhdGVzL2NwdW9jdDIwMDguaHRtbCIgYWR2PSIxIj5odHRwOi8vd3d3Lm9yYWNsZS5jb20vdGVjaG5vbG9neS9kZXBsb3kvc2VjdXJpdHkvY3JpdGljYWwtcGF0Y2gtdXBkYXRlcy9jcHVvY3QyMDA4Lmh0bWw8L3JlZj4NCisgICAgICAgIDwvcmVmcz4NCisgICAgICAgIDx2dWxuX3NvZnQ+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJvcmFjbGUiIG5hbWU9ImRhdGFiYXNlXzExaSI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMTEuMS4wLjYiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgPC92dWxuX3NvZnQ+DQorICAgIDwvZW50cnk+CisgICAgPGVudHJ5IENWU1NfdmVjdG9yPSIoQVY6Ti9BQzpML0F1Ok4vQzpDL0k6Qy9BOkMpIiBDVlNTX2Jhc2Vfc2NvcmU9IjEwLjAiIENWU1NfZXhwbG9pdF9zdWJzY29yZT0iMTAuMCIgQ1ZTU19pbXBhY3Rfc3Vic2NvcmU9IjEwLjAiIG5hbWU9IkNWRS0yMDA4LTQwMDgiIHNlcT0iMjAwOC00MDA4IiBzZXZlcml0eT0iSGlnaCIgdHlwZT0iQ1ZFIiBwdWJsaXNoZWQ9IjIwMDgtMTAtMTQiIENWU1NfdmVyc2lvbj0iMi4wIiBDVlNTX3Njb3JlPSIxMC4wIiBtb2RpZmllZD0iMjAwOC0xMC0xNSI+DQorICAgICAgICA8ZGVzYz4NCisgICAgICAgICAgICA8ZGVzY3JpcHQgc291cmNlPSJjdmUiPlVuc3BlY2lmaWVkIHZ1bG5lcmFiaWxpdHkgaW4gdGhlIFdlYkxvZ2ljIFNlcnZlciBQbHVnaW5zIGZvciBBcGFjaGUgY29tcG9uZW50IGluIEJFQSBQcm9kdWN0IFN1aXRlIDEwLjMsIDEwLjAgTVAxLCA5LjIgTVAzLCA5LjEsIDkuMCwgOC4xIFNQNiwgNy4wIFNQNywgYW5kIDYuMSBTUDcgYWxsb3dzIHJlbW90ZSBhdHRhY2tlcnMgdG8gYWZmZWN0IGNvbmZpZGVudGlhbGl0eSwgaW50ZWdyaXR5LCBhbmQgYXZhaWxhYmlsaXR5IHZpYSB1bmtub3duIHZlY3RvcnMuPC9kZXNjcmlwdD4NCisgICAgICAgIDwvZGVzYz4NCisgICAgICAgIDxsb3NzX3R5cGVzPg0KKyAgICAgICAgICAgIDxhdmFpbCAvPg0KKyAgICAgICAgICAgIDxjb25mIC8+DQorICAgICAgICAgICAgPGludCAvPg0KKyAgICAgICAgICAgIDxzZWNfcHJvdCBhZG1pbj0iMSIgLz4NCisgICAgICAgIDwvbG9zc190eXBlcz4NCisgICAgICAgIDxyYW5nZT4NCisgICAgICAgICAgICA8bmV0d29yayAvPg0KKyAgICAgICAgPC9yYW5nZT4NCisgICAgICAgIDxyZWZzPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJDT05GSVJNIiB1cmw9Imh0dHA6Ly93d3cub3JhY2xlLmNvbS90ZWNobm9sb2d5L2RlcGxveS9zZWN1cml0eS9jcml0aWNhbC1wYXRjaC11cGRhdGVzL2NwdW9jdDIwMDguaHRtbCIgYWR2PSIxIj5odHRwOi8vd3d3Lm9yYWNsZS5jb20vdGVjaG5vbG9neS9kZXBsb3kvc2VjdXJpdHkvY3JpdGljYWwtcGF0Y2gtdXBkYXRlcy9jcHVvY3QyMDA4Lmh0bWw8L3JlZj4NCisgICAgICAgIDwvcmVmcz4NCisgICAgICAgIDx2dWxuX3NvZnQ+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJvcmFjbGUiIG5hbWU9ImJlYV9wcm9kdWN0X3N1aXRlIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0ibXAxIiBudW09IjEwLjAiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMTAuMyIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0ic3A3IiBudW09IjYuMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0ic3A3IiBudW09IjcuMCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0ic3A2IiBudW09IjguMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI5LjAiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iOS4xIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJtcDMiIG51bT0iOS4yIiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgIDwvdnVsbl9zb2Z0Pg0KKyAgICA8L2VudHJ5PgorICAgIDxlbnRyeSBDVlNTX3ZlY3Rvcj0iKEFWOk4vQUM6SC9BdTpOL0M6UC9JOlAvQTpQKSIgQ1ZTU19iYXNlX3Njb3JlPSI1LjEiIENWU1NfZXhwbG9pdF9zdWJzY29yZT0iNC45IiBDVlNTX2ltcGFjdF9zdWJzY29yZT0iNi40IiBuYW1lPSJDVkUtMjAwOC00MDA5IiBzZXE9IjIwMDgtNDAwOSIgc2V2ZXJpdHk9Ik1lZGl1bSIgdHlwZT0iQ1ZFIiBwdWJsaXNoZWQ9IjIwMDgtMTAtMTQiIENWU1NfdmVyc2lvbj0iMi4wIiBDVlNTX3Njb3JlPSI1LjEiIG1vZGlmaWVkPSIyMDA4LTEwLTE1Ij4NCisgICAgICAgIDxkZXNjPg0KKyAgICAgICAgICAgIDxkZXNjcmlwdCBzb3VyY2U9ImN2ZSI+VW5zcGVjaWZpZWQgdnVsbmVyYWJpbGl0eSBpbiB0aGUgV2ViTG9naWMgU2VydmVyIGNvbXBvbmVudCBpbiBCRUEgUHJvZHVjdCBTdWl0ZSA5LjEgYWxsb3dzIHJlbW90ZSBhdHRhY2tlcnMgdG8gYWZmZWN0IGNvbmZpZGVudGlhbGl0eSwgaW50ZWdyaXR5LCBhbmQgYXZhaWxhYmlsaXR5IHZpYSB1bmtub3duIHZlY3RvcnMuPC9kZXNjcmlwdD4NCisgICAgICAgIDwvZGVzYz4NCisgICAgICAgIDxsb3NzX3R5cGVzPg0KKyAgICAgICAgICAgIDxhdmFpbCAvPg0KKyAgICAgICAgICAgIDxjb25mIC8+DQorICAgICAgICAgICAgPGludCAvPg0KKyAgICAgICAgICAgIDxzZWNfcHJvdCBvdGhlcj0iMSIgLz4NCisgICAgICAgIDwvbG9zc190eXBlcz4NCisgICAgICAgIDxyYW5nZT4NCisgICAgICAgICAgICA8bmV0d29yayAvPg0KKyAgICAgICAgPC9yYW5nZT4NCisgICAgICAgIDxyZWZzPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJDT05GSVJNIiB1cmw9Imh0dHA6Ly93d3cub3JhY2xlLmNvbS90ZWNobm9sb2d5L2RlcGxveS9zZWN1cml0eS9jcml0aWNhbC1wYXRjaC11cGRhdGVzL2NwdW9jdDIwMDguaHRtbCIgYWR2PSIxIj5odHRwOi8vd3d3Lm9yYWNsZS5jb20vdGVjaG5vbG9neS9kZXBsb3kvc2VjdXJpdHkvY3JpdGljYWwtcGF0Y2gtdXBkYXRlcy9jcHVvY3QyMDA4Lmh0bWw8L3JlZj4NCisgICAgICAgIDwvcmVmcz4NCisgICAgICAgIDx2dWxuX3NvZnQ+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJvcmFjbGUiIG5hbWU9ImJlYV9wcm9kdWN0X3N1aXRlIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI5LjEiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgPC92dWxuX3NvZnQ+DQorICAgIDwvZW50cnk+CisgICAgPGVudHJ5IENWU1NfdmVjdG9yPSIoQVY6Ti9BQzpNL0F1Ok4vQzpQL0k6UC9BOlApIiBDVlNTX2Jhc2Vfc2NvcmU9IjYuOCIgQ1ZTU19leHBsb2l0X3N1YnNjb3JlPSI4LjYiIENWU1NfaW1wYWN0X3N1YnNjb3JlPSI2LjQiIG5hbWU9IkNWRS0yMDA4LTQwMTAiIHNlcT0iMjAwOC00MDEwIiBzZXZlcml0eT0iTWVkaXVtIiB0eXBlPSJDVkUiIHB1Ymxpc2hlZD0iMjAwOC0xMC0xNCIgQ1ZTU192ZXJzaW9uPSIyLjAiIENWU1Nfc2NvcmU9IjYuOCIgbW9kaWZpZWQ9IjIwMDgtMTAtMTUiPg0KKyAgICAgICAgPGRlc2M+DQorICAgICAgICAgICAgPGRlc2NyaXB0IHNvdXJjZT0iY3ZlIj5VbnNwZWNpZmllZCB2dWxuZXJhYmlsaXR5IGluIHRoZSBXZWJMb2dpYyBXb3Jrc2hvcCBjb21wb25lbnQgaW4gQkVBIFByb2R1Y3QgU3VpdGUgMTAuMywgMTAuMiwgMTAuMCBNUDEsIDkuMiBNUDMsIGFuZCA4LjEgU1A2IGFsbG93cyByZW1vdGUgYXR0YWNrZXJzIHRvIGFmZmVjdCBjb25maWRlbnRpYWxpdHksIGludGVncml0eSwgYW5kIGF2YWlsYWJpbGl0eSB2aWEgdW5rbm93biB2ZWN0b3JzLjwvZGVzY3JpcHQ+DQorICAgICAgICA8L2Rlc2M+DQorICAgICAgICA8bG9zc190eXBlcz4NCisgICAgICAgICAgICA8YXZhaWwgLz4NCisgICAgICAgICAgICA8Y29uZiAvPg0KKyAgICAgICAgICAgIDxpbnQgLz4NCisgICAgICAgIDwvbG9zc190eXBlcz4NCisgICAgICAgIDxyYW5nZT4NCisgICAgICAgICAgICA8bmV0d29yayAvPg0KKyAgICAgICAgPC9yYW5nZT4NCisgICAgICAgIDxyZWZzPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJDT05GSVJNIiB1cmw9Imh0dHA6Ly93d3cub3JhY2xlLmNvbS90ZWNobm9sb2d5L2RlcGxveS9zZWN1cml0eS9jcml0aWNhbC1wYXRjaC11cGRhdGVzL2NwdW9jdDIwMDguaHRtbCIgYWR2PSIxIj5odHRwOi8vd3d3Lm9yYWNsZS5jb20vdGVjaG5vbG9neS9kZXBsb3kvc2VjdXJpdHkvY3JpdGljYWwtcGF0Y2gtdXBkYXRlcy9jcHVvY3QyMDA4Lmh0bWw8L3JlZj4NCisgICAgICAgIDwvcmVmcz4NCisgICAgICAgIDx2dWxuX3NvZnQ+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJvcmFjbGUiIG5hbWU9ImJlYV9wcm9kdWN0X3N1aXRlIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0ibXAxIiBudW09IjEwLjAiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMTAuMiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxMC4zIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJzcDYiIG51bT0iOC4xIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJtcDMiIG51bT0iOS4yIiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgIDwvdnVsbl9zb2Z0Pg0KKyAgICA8L2VudHJ5PgorICAgIDxlbnRyeSBDVlNTX3ZlY3Rvcj0iKEFWOk4vQUM6SC9BdTpTL0M6Ti9JOlAvQTpOKSIgQ1ZTU19iYXNlX3Njb3JlPSIyLjEiIENWU1NfZXhwbG9pdF9zdWJzY29yZT0iMy45IiBDVlNTX2ltcGFjdF9zdWJzY29yZT0iMi45IiBuYW1lPSJDVkUtMjAwOC00MDExIiBzZXE9IjIwMDgtNDAxMSIgc2V2ZXJpdHk9IkxvdyIgdHlwZT0iQ1ZFIiBwdWJsaXNoZWQ9IjIwMDgtMTAtMTQiIENWU1NfdmVyc2lvbj0iMi4wIiBDVlNTX3Njb3JlPSIyLjEiIG1vZGlmaWVkPSIyMDA4LTEwLTE1Ij4NCisgICAgICAgIDxkZXNjPg0KKyAgICAgICAgICAgIDxkZXNjcmlwdCBzb3VyY2U9ImN2ZSI+VW5zcGVjaWZpZWQgdnVsbmVyYWJpbGl0eSBpbiB0aGUgV2ViTG9naWMgU2VydmVyIGNvbXBvbmVudCBpbiBCRUEgUHJvZHVjdCBTdWl0ZSAxMC4wIE1QMSwgOS4yIE1QMywgOS4xLCBhbmQgOS4wIGFsbG93cyByZW1vdGUgYXV0aGVudGljYXRlZCB1c2VycyB0byBhZmZlY3QgaW50ZWdyaXR5IHZpYSB1bmtub3duIHZlY3RvcnMuPC9kZXNjcmlwdD4NCisgICAgICAgIDwvZGVzYz4NCisgICAgICAgIDxsb3NzX3R5cGVzPg0KKyAgICAgICAgICAgIDxpbnQgLz4NCisgICAgICAgIDwvbG9zc190eXBlcz4NCisgICAgICAgIDxyYW5nZT4NCisgICAgICAgICAgICA8bmV0d29yayAvPg0KKyAgICAgICAgPC9yYW5nZT4NCisgICAgICAgIDxyZWZzPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJDT05GSVJNIiB1cmw9Imh0dHA6Ly93d3cub3JhY2xlLmNvbS90ZWNobm9sb2d5L2RlcGxveS9zZWN1cml0eS9jcml0aWNhbC1wYXRjaC11cGRhdGVzL2NwdW9jdDIwMDguaHRtbCIgYWR2PSIxIj5odHRwOi8vd3d3Lm9yYWNsZS5jb20vdGVjaG5vbG9neS9kZXBsb3kvc2VjdXJpdHkvY3JpdGljYWwtcGF0Y2gtdXBkYXRlcy9jcHVvY3QyMDA4Lmh0bWw8L3JlZj4NCisgICAgICAgIDwvcmVmcz4NCisgICAgICAgIDx2dWxuX3NvZnQ+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJvcmFjbGUiIG5hbWU9ImJlYV9wcm9kdWN0X3N1aXRlIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0ibXAxIiBudW09IjEwLjAiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iOS4wIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjkuMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0ibXAzIiBudW09IjkuMiIgLz4NCisgICAgICAgICAgICA8L3Byb2Q+DQorICAgICAgICA8L3Z1bG5fc29mdD4NCisgICAgPC9lbnRyeT4KKyAgICA8ZW50cnkgQ1ZTU192ZWN0b3I9IihBVjpOL0FDOkgvQXU6Ti9DOlAvSTpQL0E6UCkiIENWU1NfYmFzZV9zY29yZT0iNS4xIiBDVlNTX2V4cGxvaXRfc3Vic2NvcmU9IjQuOSIgQ1ZTU19pbXBhY3Rfc3Vic2NvcmU9IjYuNCIgbmFtZT0iQ1ZFLTIwMDgtNDAxMiIgc2VxPSIyMDA4LTQwMTIiIHNldmVyaXR5PSJNZWRpdW0iIHR5cGU9IkNWRSIgcHVibGlzaGVkPSIyMDA4LTEwLTE0IiBDVlNTX3ZlcnNpb249IjIuMCIgQ1ZTU19zY29yZT0iNS4xIiBtb2RpZmllZD0iMjAwOC0xMC0xNSI+DQorICAgICAgICA8ZGVzYz4NCisgICAgICAgICAgICA8ZGVzY3JpcHQgc291cmNlPSJjdmUiPlVuc3BlY2lmaWVkIHZ1bG5lcmFiaWxpdHkgaW4gdGhlIFdlYkxvZ2ljIFdvcmtzaG9wIGNvbXBvbmVudCBpbiBCRUEgUHJvZHVjdCBTdWl0ZSBXTFcgOC4xU1A1IGFsbG93cyByZW1vdGUgYXR0YWNrZXJzIHRvIGFmZmVjdCBjb25maWRlbnRpYWxpdHksIGludGVncml0eSwgYW5kIGF2YWlsYWJpbGl0eSB2aWEgdW5rbm93biB2ZWN0b3JzLjwvZGVzY3JpcHQ+DQorICAgICAgICA8L2Rlc2M+DQorICAgICAgICA8bG9zc190eXBlcz4NCisgICAgICAgICAgICA8YXZhaWwgLz4NCisgICAgICAgICAgICA8Y29uZiAvPg0KKyAgICAgICAgICAgIDxpbnQgLz4NCisgICAgICAgICAgICA8c2VjX3Byb3Qgb3RoZXI9IjEiIC8+DQorICAgICAgICA8L2xvc3NfdHlwZXM+DQorICAgICAgICA8cmFuZ2U+DQorICAgICAgICAgICAgPG5ldHdvcmsgLz4NCisgICAgICAgIDwvcmFuZ2U+DQorICAgICAgICA8cmVmcz4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQ09ORklSTSIgdXJsPSJodHRwOi8vd3d3Lm9yYWNsZS5jb20vdGVjaG5vbG9neS9kZXBsb3kvc2VjdXJpdHkvY3JpdGljYWwtcGF0Y2gtdXBkYXRlcy9jcHVvY3QyMDA4Lmh0bWwiIGFkdj0iMSI+aHR0cDovL3d3dy5vcmFjbGUuY29tL3RlY2hub2xvZ3kvZGVwbG95L3NlY3VyaXR5L2NyaXRpY2FsLXBhdGNoLXVwZGF0ZXMvY3B1b2N0MjAwOC5odG1sPC9yZWY+DQorICAgICAgICA8L3JlZnM+DQorICAgICAgICA8dnVsbl9zb2Z0Pg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0iYmVhIiBuYW1lPSJ3ZWJsb2dpY193b3Jrc2hvcCI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InNwNSIgbnVtPSI4LjEiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0ib3JhY2xlIiBuYW1lPSJ3ZWJsb2dpY193b3Jrc2hvcCI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InNwNSIgbnVtPSI4LjEiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgPC92dWxuX3NvZnQ+DQorICAgIDwvZW50cnk+CisgICAgPGVudHJ5IENWU1NfdmVjdG9yPSIoQVY6Ti9BQzpNL0F1Ok4vQzpQL0k6UC9BOlApIiBDVlNTX2Jhc2Vfc2NvcmU9IjYuOCIgQ1ZTU19leHBsb2l0X3N1YnNjb3JlPSI4LjYiIENWU1NfaW1wYWN0X3N1YnNjb3JlPSI2LjQiIG5hbWU9IkNWRS0yMDA4LTQwMTMiIHNlcT0iMjAwOC00MDEzIiBzZXZlcml0eT0iTWVkaXVtIiB0eXBlPSJDVkUiIHB1Ymxpc2hlZD0iMjAwOC0xMC0xNCIgQ1ZTU192ZXJzaW9uPSIyLjAiIENWU1Nfc2NvcmU9IjYuOCIgbW9kaWZpZWQ9IjIwMDgtMTAtMTUiPg0KKyAgICAgICAgPGRlc2M+DQorICAgICAgICAgICAgPGRlc2NyaXB0IHNvdXJjZT0iY3ZlIj5VbnNwZWNpZmllZCB2dWxuZXJhYmlsaXR5IGluIHRoZSBXZWJMb2dpYyBTZXJ2ZXIgY29tcG9uZW50IGluIEJFQSBQcm9kdWN0IFN1aXRlIDEwLjAgTVAxLCA5LjIgTVAzLCA5LjEsIDkuMCwgYW5kIDguMSBTUDYgYWxsb3dzIHJlbW90ZSBhdHRhY2tlcnMgdG8gYWZmZWN0IGNvbmZpZGVudGlhbGl0eSwgaW50ZWdyaXR5LCBhbmQgYXZhaWxhYmlsaXR5IHZpYSB1bmtub3duIHZlY3RvcnMuPC9kZXNjcmlwdD4NCisgICAgICAgIDwvZGVzYz4NCisgICAgICAgIDxsb3NzX3R5cGVzPg0KKyAgICAgICAgICAgIDxhdmFpbCAvPg0KKyAgICAgICAgICAgIDxjb25mIC8+DQorICAgICAgICAgICAgPGludCAvPg0KKyAgICAgICAgPC9sb3NzX3R5cGVzPg0KKyAgICAgICAgPHJhbmdlPg0KKyAgICAgICAgICAgIDxuZXR3b3JrIC8+DQorICAgICAgICA8L3JhbmdlPg0KKyAgICAgICAgPHJlZnM+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkNPTkZJUk0iIHVybD0iaHR0cDovL3d3dy5vcmFjbGUuY29tL3RlY2hub2xvZ3kvZGVwbG95L3NlY3VyaXR5L2NyaXRpY2FsLXBhdGNoLXVwZGF0ZXMvY3B1b2N0MjAwOC5odG1sIj5odHRwOi8vd3d3Lm9yYWNsZS5jb20vdGVjaG5vbG9neS9kZXBsb3kvc2VjdXJpdHkvY3JpdGljYWwtcGF0Y2gtdXBkYXRlcy9jcHVvY3QyMDA4Lmh0bWw8L3JlZj4NCisgICAgICAgIDwvcmVmcz4NCisgICAgICAgIDx2dWxuX3NvZnQ+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJvcmFjbGUiIG5hbWU9ImJlYV9wcm9kdWN0X3N1aXRlIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0ibXAxIiBudW09IjEwLjAiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InNwNiIgbnVtPSI4LjEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iOS4wIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjkuMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0ibXAzIiBudW09IjkuMiIgLz4NCisgICAgICAgICAgICA8L3Byb2Q+DQorICAgICAgICA8L3Z1bG5fc29mdD4NCisgICAgPC9lbnRyeT4KKyAgICA8ZW50cnkgQ1ZTU192ZWN0b3I9IihBVjpOL0FDOkwvQXU6Ti9DOkMvSTpDL0E6QykiIENWU1NfYmFzZV9zY29yZT0iMTAuMCIgQ1ZTU19leHBsb2l0X3N1YnNjb3JlPSIxMC4wIiBDVlNTX2ltcGFjdF9zdWJzY29yZT0iMTAuMCIgbmFtZT0iQ1ZFLTIwMDgtNDQ3OCIgc2VxPSIyMDA4LTQ0NzgiIHNldmVyaXR5PSJIaWdoIiB0eXBlPSJDVkUiIHB1Ymxpc2hlZD0iMjAwOC0xMC0xNCIgQ1ZTU192ZXJzaW9uPSIyLjAiIENWU1Nfc2NvcmU9IjEwLjAiIG1vZGlmaWVkPSIyMDA4LTEwLTE1Ij4NCisgICAgICAgIDxkZXNjPg0KKyAgICAgICAgICAgIDxkZXNjcmlwdCBzb3VyY2U9ImN2ZSI+TXVsdGlwbGUgaW50ZWdlciBvdmVyZmxvd3MgaW4gZGhvc3QuZXhlIGluIE5vdmVsbCBlRGlyZWN0b3J5IDguOCBiZWZvcmUgOC44LjMsIGFuZCA4LjczIGJlZm9yZSA4LjcuMy4xMCBmdGYxLCBhbGxvdyByZW1vdGUgYXR0YWNrZXJzIHRvIGV4ZWN1dGUgYXJiaXRyYXJ5IGNvZGUgdmlhIGEgY3JhZnRlZCAoMSkgQ29udGVudC1MZW5ndGggaGVhZGVyIGluIGEgU09BUCByZXF1ZXN0IG9yICgyKSBOZXR3YXJlIENvcmUgUHJvdG9jb2wgb3Bjb2RlIDB4MEYgbWVzc2FnZSwgd2hpY2ggdHJpZ2dlcnMgYSBoZWFwLWJhc2VkIGJ1ZmZlciBvdmVyZmxvdy48L2Rlc2NyaXB0Pg0KKyAgICAgICAgPC9kZXNjPg0KKyAgICAgICAgPGxvc3NfdHlwZXM+DQorICAgICAgICAgICAgPGF2YWlsIC8+DQorICAgICAgICAgICAgPGNvbmYgLz4NCisgICAgICAgICAgICA8aW50IC8+DQorICAgICAgICAgICAgPHNlY19wcm90IGFkbWluPSIxIiAvPg0KKyAgICAgICAgPC9sb3NzX3R5cGVzPg0KKyAgICAgICAgPHJhbmdlPg0KKyAgICAgICAgICAgIDxuZXR3b3JrIC8+DQorICAgICAgICA8L3JhbmdlPg0KKyAgICAgICAgPHJlZnM+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9Ik1JU0MiIHVybD0iaHR0cDovL3d3dy56ZXJvZGF5aW5pdGlhdGl2ZS5jb20vYWR2aXNvcmllcy9aREktMDgtMDY1Ij5odHRwOi8vd3d3Lnplcm9kYXlpbml0aWF0aXZlLmNvbS9hZHZpc29yaWVzL1pESS0wOC0wNjU8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iTUlTQyIgdXJsPSJodHRwOi8vd3d3Lnplcm9kYXlpbml0aWF0aXZlLmNvbS9hZHZpc29yaWVzL1pESS0wOC0wNjMiPmh0dHA6Ly93d3cuemVyb2RheWluaXRpYXRpdmUuY29tL2Fkdmlzb3JpZXMvWkRJLTA4LTA2MzwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJCVUdUUkFRIiB1cmw9Imh0dHA6Ly93d3cuc2VjdXJpdHlmb2N1cy5jb20vYXJjaGl2ZS8xL2FyY2hpdmUvMS80OTcxNjUvMTAwLzAvdGhyZWFkZWQiPjIwMDgxMDA4IFpESS0wOC0wNjU6IE5vdmVsbCBlRGlyZWN0b3J5IENvcmUgUHJvdG9jb2wgT3Bjb2RlIDB4MEYgSGVhcCBPdmVyZmxvdyBWdWxuZXJhYmlsaXR5PC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkJVR1RSQVEiIHVybD0iaHR0cDovL3d3dy5zZWN1cml0eWZvY3VzLmNvbS9hcmNoaXZlLzEvYXJjaGl2ZS8xLzQ5NzE2My8xMDAvMC90aHJlYWRlZCI+MjAwODEwMDggWkRJLTA4LTA2MzogTm92ZWxsIGVEaXJlY3RvcnkgZGhvc3QuZXhlIENvbnRlbnQtTGVuZ3RoIEhlYWRlciBIZWFwIE92ZXJmbG93IFZ1bG5lcmFiaWxpdHk8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQ09ORklSTSIgdXJsPSJodHRwOi8vd3d3Lm5vdmVsbC5jb20vc3VwcG9ydC9waHAvc2VhcmNoLmRvP2NtZD1kaXNwbGF5S0MmYW1wO2RvY1R5cGU9a2MmYW1wO2V4dGVybmFsSWQ9NzAwMTE4NCZhbXA7c2xpY2VJZD0xJmFtcDtkb2NUeXBlSUQ9RFRfVElEXzFfMSZhbXA7ZGlhbG9nSUQ9NzgwNjY4MjkmYW1wO3N0YXRlSWQ9MCUyMDAlMjA3ODA2Mjk1MyIgYWR2PSIxIj5odHRwOi8vd3d3Lm5vdmVsbC5jb20vc3VwcG9ydC9waHAvc2VhcmNoLmRvP2NtZD1kaXNwbGF5S0MmYW1wO2RvY1R5cGU9a2MmYW1wO2V4dGVybmFsSWQ9NzAwMTE4NCZhbXA7c2xpY2VJZD0xJmFtcDtkb2NUeXBlSUQ9RFRfVElEXzFfMSZhbXA7ZGlhbG9nSUQ9NzgwNjY4MjkmYW1wO3N0YXRlSWQ9MCUyMDAlMjA3ODA2Mjk1MzwvcmVmPg0KKyAgICAgICAgPC9yZWZzPg0KKyAgICAgICAgPHZ1bG5fc29mdD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9Im5vdmVsbCIgbmFtZT0iZWRpcmVjdG9yeSI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iOC43IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJzcDEiIG51bT0iOC43LjEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iOC43LjMiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iOC43LjMuMTAiIHByZXY9IjEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iOC43LjMuOCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI4LjcuMy44X3ByZXNwOSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iIiBudW09IjguNy4zLjkiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249IjpsaW51eCIgbnVtPSI4LjcuMy45IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSI6d2luZG93c18yMDAzIiBudW09IjguNy4zLjkiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249Ijpzb2xhcmlzIiBudW09IjguNy4zLjkiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249Ijp3aW5kb3dzXzIwMDAiIG51bT0iOC43LjMuOSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iIiBudW09IjguOCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iOnNvbGFyaXMiIG51bT0iOC44IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSI6d2luZG93c18yMDAzIiBudW09IjguOCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iOndpbmRvd3NfMjAwMCIgbnVtPSI4LjgiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249IjpsaW51eCIgbnVtPSI4LjgiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249IiIgbnVtPSI4LjguMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iOndpbmRvd3NfMjAwMyIgbnVtPSI4LjguMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iOndpbmRvd3NfMjAwMCIgbnVtPSI4LjguMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iOmxpbnV4IiBudW09IjguOC4xIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSI6c29sYXJpcyIgbnVtPSI4LjguMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iIiBudW09IjguOC4yIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSI6c29sYXJpcyIgbnVtPSI4LjguMiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iOndpbmRvd3NfMjAwMCIgbnVtPSI4LjguMiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iOndpbmRvd3NfMjAwMyIgbnVtPSI4LjguMiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iOmxpbnV4IiBudW09IjguOC4yIiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgIDwvdnVsbl9zb2Z0Pg0KKyAgICA8L2VudHJ5PgorICAgIDxlbnRyeSBDVlNTX3ZlY3Rvcj0iKEFWOk4vQUM6TC9BdTpOL0M6Qy9JOkMvQTpDKSIgQ1ZTU19iYXNlX3Njb3JlPSIxMC4wIiBDVlNTX2V4cGxvaXRfc3Vic2NvcmU9IjEwLjAiIENWU1NfaW1wYWN0X3N1YnNjb3JlPSIxMC4wIiBuYW1lPSJDVkUtMjAwOC00NDc5IiBzZXE9IjIwMDgtNDQ3OSIgc2V2ZXJpdHk9IkhpZ2giIHR5cGU9IkNWRSIgcHVibGlzaGVkPSIyMDA4LTEwLTE0IiBDVlNTX3ZlcnNpb249IjIuMCIgQ1ZTU19zY29yZT0iMTAuMCIgbW9kaWZpZWQ9IjIwMDgtMTAtMTUiPg0KKyAgICAgICAgPGRlc2M+DQorICAgICAgICAgICAgPGRlc2NyaXB0IHNvdXJjZT0iY3ZlIj5IZWFwLWJhc2VkIGJ1ZmZlciBvdmVyZmxvdyBpbiBkaG9zdC5leGUgaW4gTm92ZWxsIGVEaXJlY3RvcnkgOC44IGJlZm9yZSA4LjguMywgYW5kIDguNy4zIGJlZm9yZSA4LjcuMy4xMCBmdGYxLCBhbGxvd3MgcmVtb3RlIGF0dGFja2VycyB0byBleGVjdXRlIGFyYml0cmFyeSBjb2RlIHZpYSBhIFNPQVAgcmVxdWVzdCB3aXRoIGEgbG9uZyBBY2NlcHQtTGFuZ3VhZ2UgaGVhZGVyLjwvZGVzY3JpcHQ+DQorICAgICAgICA8L2Rlc2M+DQorICAgICAgICA8bG9zc190eXBlcz4NCisgICAgICAgICAgICA8YXZhaWwgLz4NCisgICAgICAgICAgICA8Y29uZiAvPg0KKyAgICAgICAgICAgIDxpbnQgLz4NCisgICAgICAgIDwvbG9zc190eXBlcz4NCisgICAgICAgIDxyYW5nZT4NCisgICAgICAgICAgICA8bmV0d29yayAvPg0KKyAgICAgICAgPC9yYW5nZT4NCisgICAgICAgIDxyZWZzPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJNSVNDIiB1cmw9Imh0dHA6Ly93d3cuemVyb2RheWluaXRpYXRpdmUuY29tL2Fkdmlzb3JpZXMvWkRJLTA4LTA2NCI+aHR0cDovL3d3dy56ZXJvZGF5aW5pdGlhdGl2ZS5jb20vYWR2aXNvcmllcy9aREktMDgtMDY0PC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkJVR1RSQVEiIHVybD0iaHR0cDovL3d3dy5zZWN1cml0eWZvY3VzLmNvbS9hcmNoaXZlLzEvYXJjaGl2ZS8xLzQ5NzE2NC8xMDAvMC90aHJlYWRlZCI+MjAwODEwMDggWkRJLTA4LTA2NDogTm92ZWxsIGVEaXJlY3RvcnkgZGhvc3QuZXhlIEFjY2VwdCBMYW5ndWFnZSBIZWFkZXIgSGVhcCBPdmVyZmxvdyBWdWxuZXJhYmlsaXR5PC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkNPTkZJUk0iIHVybD0iaHR0cDovL3d3dy5ub3ZlbGwuY29tL3N1cHBvcnQvcGhwL3NlYXJjaC5kbz9jbWQ9ZGlzcGxheUtDJmFtcDtkb2NUeXBlPWtjJmFtcDtleHRlcm5hbElkPTcwMDAwODYmYW1wO3NsaWNlSWQ9MSZhbXA7ZG9jVHlwZUlEPURUX1RJRF8xXzEmYW1wO2RpYWxvZ0lEPTc4MDY2ODI5JmFtcDtzdGF0ZUlkPTAlMjAwJTIwNzgwNjI5NTMiPmh0dHA6Ly93d3cubm92ZWxsLmNvbS9zdXBwb3J0L3BocC9zZWFyY2guZG8/Y21kPWRpc3BsYXlLQyZhbXA7ZG9jVHlwZT1rYyZhbXA7ZXh0ZXJuYWxJZD03MDAwMDg2JmFtcDtzbGljZUlkPTEmYW1wO2RvY1R5cGVJRD1EVF9USURfMV8xJmFtcDtkaWFsb2dJRD03ODA2NjgyOSZhbXA7c3RhdGVJZD0wJTIwMCUyMDc4MDYyOTUzPC9yZWY+DQorICAgICAgICA8L3JlZnM+DQorICAgICAgICA8dnVsbl9zb2Z0Pg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0ibm92ZWxsIiBuYW1lPSJlZGlyZWN0b3J5Ij4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI4LjcuMyIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI4LjcuMy4xMCIgcHJldj0iMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI4LjcuMy44IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjguNy4zLjhfcHJlc3A5IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSIiIG51bT0iOC43LjMuOSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iOndpbmRvd3NfMjAwMyIgbnVtPSI4LjcuMy45IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSI6c29sYXJpcyIgbnVtPSI4LjcuMy45IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSI6bGludXgiIG51bT0iOC43LjMuOSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iOndpbmRvd3NfMjAwMCIgbnVtPSI4LjcuMy45IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSIiIG51bT0iOC44IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSI6c29sYXJpcyIgbnVtPSI4LjgiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249Ijp3aW5kb3dzXzIwMDMiIG51bT0iOC44IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSI6d2luZG93c18yMDAwIiBudW09IjguOCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iOmxpbnV4IiBudW09IjguOCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iIiBudW09IjguOC4xIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSI6d2luZG93c18yMDAwIiBudW09IjguOC4xIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSI6bGludXgiIG51bT0iOC44LjEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249Ijp3aW5kb3dzXzIwMDMiIG51bT0iOC44LjEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249Ijpzb2xhcmlzIiBudW09IjguOC4xIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSIiIG51bT0iOC44LjIiIHByZXY9IjEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249IjpsaW51eCIgbnVtPSI4LjguMiIgcHJldj0iMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iOnNvbGFyaXMiIG51bT0iOC44LjIiIHByZXY9IjEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249Ijp3aW5kb3dzXzIwMDAiIG51bT0iOC44LjIiIHByZXY9IjEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249Ijp3aW5kb3dzXzIwMDMiIG51bT0iOC44LjIiIHByZXY9IjEiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgPC92dWxuX3NvZnQ+DQorICAgIDwvZW50cnk+CisgICAgPGVudHJ5IENWU1NfdmVjdG9yPSIoQVY6Ti9BQzpML0F1Ok4vQzpDL0k6Qy9BOkMpIiBDVlNTX2Jhc2Vfc2NvcmU9IjEwLjAiIENWU1NfZXhwbG9pdF9zdWJzY29yZT0iMTAuMCIgQ1ZTU19pbXBhY3Rfc3Vic2NvcmU9IjEwLjAiIG5hbWU9IkNWRS0yMDA4LTQ0ODAiIHNlcT0iMjAwOC00NDgwIiBzZXZlcml0eT0iSGlnaCIgdHlwZT0iQ1ZFIiBwdWJsaXNoZWQ9IjIwMDgtMTAtMTQiIENWU1NfdmVyc2lvbj0iMi4wIiBDVlNTX3Njb3JlPSIxMC4wIiBtb2RpZmllZD0iMjAwOC0xMC0xNSI+DQorICAgICAgICA8ZGVzYz4NCisgICAgICAgICAgICA8ZGVzY3JpcHQgc291cmNlPSJjdmUiPkhlYXAtYmFzZWQgYnVmZmVyIG92ZXJmbG93IGluIGRob3N0LmV4ZSBpbiBOb3ZlbGwgZURpcmVjdG9yeSA4LnggYmVmb3JlIDguOC4zLCBhbmQgOC43LjMgYmVmb3JlIDguNy4zLjEwIGZ0ZjEsIGFsbG93cyByZW1vdGUgYXR0YWNrZXJzIHRvIGV4ZWN1dGUgYXJiaXRyYXJ5IGNvZGUgdmlhIGEgY3JhZnRlZCBOZXR3YXJlIENvcmUgUHJvdG9jb2wgb3Bjb2RlIDB4MjQgbWVzc2FnZSB0aGF0IHRyaWdnZXJzIGEgY2FsY3VsYXRpb24gZXJyb3IgdGhhdCB1bmRlci1hbGxvY2F0ZXMgYSBoZWFwIGJ1ZmZlci48L2Rlc2NyaXB0Pg0KKyAgICAgICAgPC9kZXNjPg0KKyAgICAgICAgPGxvc3NfdHlwZXM+DQorICAgICAgICAgICAgPGF2YWlsIC8+DQorICAgICAgICAgICAgPGNvbmYgLz4NCisgICAgICAgICAgICA8aW50IC8+DQorICAgICAgICA8L2xvc3NfdHlwZXM+DQorICAgICAgICA8cmFuZ2U+DQorICAgICAgICAgICAgPG5ldHdvcmsgLz4NCisgICAgICAgIDwvcmFuZ2U+DQorICAgICAgICA8cmVmcz4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iTUlTQyIgdXJsPSJodHRwOi8vd3d3Lnplcm9kYXlpbml0aWF0aXZlLmNvbS9hZHZpc29yaWVzL1pESS0wOC0wNjYvIj5odHRwOi8vd3d3Lnplcm9kYXlpbml0aWF0aXZlLmNvbS9hZHZpc29yaWVzL1pESS0wOC0wNjYvPC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkJVR1RSQVEiIHVybD0iaHR0cDovL3d3dy5zZWN1cml0eWZvY3VzLmNvbS9hcmNoaXZlLzEvYXJjaGl2ZS8xLzQ5NzE2OS8xMDAvMC90aHJlYWRlZCI+MjAwODEwMDggWkRJLTA4LTA2NjogTm92ZWxsIGVEaXJlY3RvcnkgQ29yZSBQcm90b2NvbCBPcGNvZGUgMHgyNCBIZWFwIE92ZXJmbG93IFZ1bG5lcmFiaWxpdHk8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQ09ORklSTSIgdXJsPSJodHRwOi8vd3d3Lm5vdmVsbC5jb20vc3VwcG9ydC9waHAvc2VhcmNoLmRvP2NtZD1kaXNwbGF5S0MmYW1wO2RvY1R5cGU9a2MmYW1wO2V4dGVybmFsSWQ9NzAwMTE4MyZhbXA7c2xpY2VJZD0xJmFtcDtkb2NUeXBlSUQ9RFRfVElEXzFfMSZhbXA7ZGlhbG9nSUQ9NzgwNjY4MjkmYW1wO3N0YXRlSWQ9MCUyMDAlMjA3ODA2Mjk1MyIgYWR2PSIxIj5odHRwOi8vd3d3Lm5vdmVsbC5jb20vc3VwcG9ydC9waHAvc2VhcmNoLmRvP2NtZD1kaXNwbGF5S0MmYW1wO2RvY1R5cGU9a2MmYW1wO2V4dGVybmFsSWQ9NzAwMTE4MyZhbXA7c2xpY2VJZD0xJmFtcDtkb2NUeXBlSUQ9RFRfVElEXzFfMSZhbXA7ZGlhbG9nSUQ9NzgwNjY4MjkmYW1wO3N0YXRlSWQ9MCUyMDAlMjA3ODA2Mjk1MzwvcmVmPg0KKyAgICAgICAgPC9yZWZzPg0KKyAgICAgICAgPHZ1bG5fc29mdD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9Im5vdmVsbCIgbmFtZT0iZWRpcmVjdG9yeSI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iOC43LjMiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iOC43LjMuMTAiIHByZXY9IjEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iOC43LjMuOCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI4LjcuMy44X3ByZXNwOSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iIiBudW09IjguNy4zLjkiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249Ijp3aW5kb3dzXzIwMDMiIG51bT0iOC43LjMuOSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iOnNvbGFyaXMiIG51bT0iOC43LjMuOSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iOmxpbnV4IiBudW09IjguNy4zLjkiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249Ijp3aW5kb3dzXzIwMDAiIG51bT0iOC43LjMuOSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iIiBudW09IjguOCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iOnNvbGFyaXMiIG51bT0iOC44IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSI6d2luZG93c18yMDAzIiBudW09IjguOCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iOndpbmRvd3NfMjAwMCIgbnVtPSI4LjgiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249IjpsaW51eCIgbnVtPSI4LjgiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249IiIgbnVtPSI4LjguMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iOndpbmRvd3NfMjAwMCIgbnVtPSI4LjguMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iOmxpbnV4IiBudW09IjguOC4xIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSI6d2luZG93c18yMDAzIiBudW09IjguOC4xIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSI6c29sYXJpcyIgbnVtPSI4LjguMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iIiBudW09IjguOC4yIiBwcmV2PSIxIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSI6bGludXgiIG51bT0iOC44LjIiIHByZXY9IjEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249Ijpzb2xhcmlzIiBudW09IjguOC4yIiBwcmV2PSIxIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSI6d2luZG93c18yMDAwIiBudW09IjguOC4yIiBwcmV2PSIxIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSI6d2luZG93c18yMDAzIiBudW09IjguOC4yIiBwcmV2PSIxIiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgIDwvdnVsbl9zb2Z0Pg0KKyAgICA8L2VudHJ5PgorICAgIDxlbnRyeSBDVlNTX3ZlY3Rvcj0iKEFWOk4vQUM6TC9BdTpOL0M6Qy9JOkMvQTpDKSIgQ1ZTU19iYXNlX3Njb3JlPSIxMC4wIiBDVlNTX2V4cGxvaXRfc3Vic2NvcmU9IjEwLjAiIENWU1NfaW1wYWN0X3N1YnNjb3JlPSIxMC4wIiBuYW1lPSJDVkUtMjAwOC00NTU2IiBzZXE9IjIwMDgtNDU1NiIgc2V2ZXJpdHk9IkhpZ2giIHR5cGU9IkNWRSIgcHVibGlzaGVkPSIyMDA4LTEwLTE0IiBDVlNTX3ZlcnNpb249IjIuMCIgQ1ZTU19zY29yZT0iMTAuMCIgbW9kaWZpZWQ9IjIwMDgtMTAtMTUiPg0KKyAgICAgICAgPGRlc2M+DQorICAgICAgICAgICAgPGRlc2NyaXB0IHNvdXJjZT0iY3ZlIj5TdGFjay1iYXNlZCBidWZmZXIgb3ZlcmZsb3cgaW4gdGhlIGFkbV9idWlsZF9wYXRoIGZ1bmN0aW9uIGluIHNhZG1pbmQgaW4gU3VuIFNvbHN0aWNlIEFkbWluU3VpdGUgb24gU29sYXJpcyA4IGFuZCA5IGFsbG93cyByZW1vdGUgYXR0YWNrZXJzIHRvIGV4ZWN1dGUgYXJiaXRyYXJ5IGNvZGUgdmlhIGEgY3JhZnRlZCByZXF1ZXN0LjwvZGVzY3JpcHQ+DQorICAgICAgICA8L2Rlc2M+DQorICAgICAgICA8bG9zc190eXBlcz4NCisgICAgICAgICAgICA8YXZhaWwgLz4NCisgICAgICAgICAgICA8Y29uZiAvPg0KKyAgICAgICAgICAgIDxpbnQgLz4NCisgICAgICAgIDwvbG9zc190eXBlcz4NCisgICAgICAgIDxyYW5nZT4NCisgICAgICAgICAgICA8bmV0d29yayAvPg0KKyAgICAgICAgPC9yYW5nZT4NCisgICAgICAgIDxyZWZzPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJCSUQiIHVybD0iaHR0cDovL3d3dy5zZWN1cml0eWZvY3VzLmNvbS9iaWQvMzE3NTEiPjMxNzUxPC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkJVR1RSQVEiIHVybD0iaHR0cDovL3d3dy5zZWN1cml0eWZvY3VzLmNvbS9hcmNoaXZlLzEvYXJjaGl2ZS8xLzQ5NzMxMS8xMDAvMC90aHJlYWRlZCI+MjAwODEwMTQgW1JJU0UtMjAwODAwMV0gU3VuIFNvbHN0aWNlIEFkbWluU3VpdGUgc2FkbWluZCBhZG1fYnVpbGRfcGF0aCgpQnVmZmVyIE92ZXJmbG93IFZ1bG5lcmFiaWxpdHk8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iTUlTQyIgdXJsPSJodHRwOi8vcmlzZXNlY3VyaXR5Lm9yZy9hZHZpc29yaWVzL1JJU0UtMjAwODAwMS50eHQiPmh0dHA6Ly9yaXNlc2VjdXJpdHkub3JnL2Fkdmlzb3JpZXMvUklTRS0yMDA4MDAxLnR4dDwvcmVmPg0KKyAgICAgICAgPC9yZWZzPg0KKyAgICAgICAgPHZ1bG5fc29mdD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9InN1biIgbmFtZT0ic29sYXJpcyI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249IiIgbnVtPSI4IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSI6eDg2IiBudW09IjgiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249IjpzcGFyYyIgbnVtPSI4IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSIiIG51bT0iOSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iOng4NiIgbnVtPSI5IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSI6c3BhcmMiIG51bT0iOSIgLz4NCisgICAgICAgICAgICA8L3Byb2Q+DQorICAgICAgICA8L3Z1bG5fc29mdD4NCisgICAgPC9lbnRyeT4KKyAgICA8ZW50cnkgQ1ZTU192ZWN0b3I9IihBVjpOL0FDOkwvQXU6Ti9DOkMvSTpDL0E6QykiIENWU1NfYmFzZV9zY29yZT0iMTAuMCIgQ1ZTU19leHBsb2l0X3N1YnNjb3JlPSIxMC4wIiBDVlNTX2ltcGFjdF9zdWJzY29yZT0iMTAuMCIgbmFtZT0iQ1ZFLTIwMDgtNDU1NyIgc2VxPSIyMDA4LTQ1NTciIHNldmVyaXR5PSJIaWdoIiB0eXBlPSJDVkUiIHB1Ymxpc2hlZD0iMjAwOC0xMC0xNCIgQ1ZTU192ZXJzaW9uPSIyLjAiIENWU1Nfc2NvcmU9IjEwLjAiIG1vZGlmaWVkPSIyMDA4LTEwLTE1Ij4NCisgICAgICAgIDxkZXNjPg0KKyAgICAgICAgICAgIDxkZXNjcmlwdCBzb3VyY2U9ImN2ZSI+cGx1Z2lucy93YWNrby9oaWdobGlnaHQvaHRtbC5waHAgaW4gU3RyYXdiZXJyeSBpbiBDdXRlTmV3cy5ydSAxLjEuMSAoYWthIFN0cmF3YmVycnkpIGFsbG93cyByZW1vdGUgYXR0YWNrZXJzIHRvIGV4ZWN1dGUgYXJiaXRyYXJ5IFBIUCBjb2RlIHZpYSB0aGUgdGV4dCBwYXJhbWV0ZXIsIHdoaWNoIGlzIGluc2VydGVkIGludG8gYW4gZXhlY3V0YWJsZSByZWd1bGFyIGV4cHJlc3Npb24uPC9kZXNjcmlwdD4NCisgICAgICAgIDwvZGVzYz4NCisgICAgICAgIDxsb3NzX3R5cGVzPg0KKyAgICAgICAgICAgIDxhdmFpbCAvPg0KKyAgICAgICAgICAgIDxjb25mIC8+DQorICAgICAgICAgICAgPGludCAvPg0KKyAgICAgICAgPC9sb3NzX3R5cGVzPg0KKyAgICAgICAgPHJhbmdlPg0KKyAgICAgICAgICAgIDxuZXR3b3JrIC8+DQorICAgICAgICA8L3JhbmdlPg0KKyAgICAgICAgPHJlZnM+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IlhGIiB1cmw9Imh0dHA6Ly94Zm9yY2UuaXNzLm5ldC94Zm9yY2UveGZkYi8zOTQ1MCI+Y3V0ZW5ld3MtaHRtbC1jb2RlLWV4ZWN1dGlvbigzOTQ1MCk8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iT1NWREIiIHVybD0iaHR0cDovL3d3dy5vc3ZkYi5vcmcvNDAyMzYiPjQwMjM2PC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9Ik1JTFcwUk0iIHVybD0iaHR0cDovL3d3dy5taWx3MHJtLmNvbS9leHBsb2l0cy80ODUxIj40ODUxPC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IlNFQ1VOSUEiIHVybD0iaHR0cDovL3NlY3VuaWEuY29tL2Fkdmlzb3JpZXMvMjgzMzAiIGFkdj0iMSI+MjgzMzA8L3JlZj4NCisgICAgICAgIDwvcmVmcz4NCisgICAgICAgIDx2dWxuX3NvZnQ+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJjdXRlcGhwIiBuYW1lPSJjdXRlbmV3cyI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4xLjEiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgPC92dWxuX3NvZnQ+DQorICAgIDwvZW50cnk+CisgICAgPGVudHJ5IENWU1NfdmVjdG9yPSIoQVY6Ti9BQzpNL0F1Ok4vQzpQL0k6UC9BOlApIiBDVlNTX2Jhc2Vfc2NvcmU9IjYuOCIgQ1ZTU19leHBsb2l0X3N1YnNjb3JlPSI4LjYiIENWU1NfaW1wYWN0X3N1YnNjb3JlPSI2LjQiIG5hbWU9IkNWRS0yMDA4LTQ1NTgiIHNlcT0iMjAwOC00NTU4IiBzZXZlcml0eT0iTWVkaXVtIiB0eXBlPSJDVkUiIHB1Ymxpc2hlZD0iMjAwOC0xMC0xNCIgQ1ZTU192ZXJzaW9uPSIyLjAiIENWU1Nfc2NvcmU9IjYuOCIgbW9kaWZpZWQ9IjIwMDgtMTAtMTUiPg0KKyAgICAgICAgPGRlc2M+DQorICAgICAgICAgICAgPGRlc2NyaXB0IHNvdXJjZT0iY3ZlIj5BcnJheSBpbmRleCBlcnJvciBpbiBWTEMgbWVkaWEgcGxheWVyIDAuOS4yIGFsbG93cyByZW1vdGUgYXR0YWNrZXJzIHRvIG92ZXJ3cml0ZSBhcmJpdHJhcnkgbWVtb3J5IGFuZCBleGVjdXRlIGFyYml0cmFyeSBjb2RlIHZpYSBhbiBYU1BGIHBsYXlsaXN0IGZpbGUgd2l0aCBhIG5lZ2F0aXZlIGlkZW50aWZpZXIgdGFnLCB3aGljaCBwYXNzZXMgYSBzaWduZWQgY29tcGFyaXNvbi48L2Rlc2NyaXB0Pg0KKyAgICAgICAgPC9kZXNjPg0KKyAgICAgICAgPGxvc3NfdHlwZXM+DQorICAgICAgICAgICAgPGF2YWlsIC8+DQorICAgICAgICAgICAgPGNvbmYgLz4NCisgICAgICAgICAgICA8aW50IC8+DQorICAgICAgICAgICAgPHNlY19wcm90IG90aGVyPSIxIiAvPg0KKyAgICAgICAgPC9sb3NzX3R5cGVzPg0KKyAgICAgICAgPHJhbmdlPg0KKyAgICAgICAgICAgIDxuZXR3b3JrIC8+DQorICAgICAgICAgICAgPHVzZXJfaW5pdCAvPg0KKyAgICAgICAgPC9yYW5nZT4NCisgICAgICAgIDxyZWZzPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJNSVNDIiBwYXRjaD0iMSIgdXJsPSJodHRwOi8vd3d3LmNvcmVzZWN1cml0eS5jb20vY29udGVudC92bGMteHNwZi1tZW1vcnktY29ycnVwdGlvbiI+aHR0cDovL3d3dy5jb3Jlc2VjdXJpdHkuY29tL2NvbnRlbnQvdmxjLXhzcGYtbWVtb3J5LWNvcnJ1cHRpb248L3JlZj4NCisgICAgICAgIDwvcmVmcz4NCisgICAgICAgIDx2dWxuX3NvZnQ+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJ2aWRlb2xhbiIgbmFtZT0idmxjX21lZGlhX3BsYXllciI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMC45LjIiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgPC92dWxuX3NvZnQ+DQorICAgIDwvZW50cnk+CisgICAgPGVudHJ5IENWU1NfdmVjdG9yPSIoQVY6Ti9BQzpML0F1OlMvQzpDL0k6Qy9BOkMpIiBDVlNTX2Jhc2Vfc2NvcmU9IjkuMCIgQ1ZTU19leHBsb2l0X3N1YnNjb3JlPSI4LjAiIENWU1NfaW1wYWN0X3N1YnNjb3JlPSIxMC4wIiBuYW1lPSJDVkUtMjAwOC0xNDQ2IiBzZXE9IjIwMDgtMTQ0NiIgc2V2ZXJpdHk9IkhpZ2giIHR5cGU9IkNWRSIgcHVibGlzaGVkPSIyMDA4LTEwLTE0IiBDVlNTX3ZlcnNpb249IjIuMCIgQ1ZTU19zY29yZT0iOS4wIiBtb2RpZmllZD0iMjAwOC0xMC0xNSI+DQorICAgICAgICA8ZGVzYz4NCisgICAgICAgICAgICA8ZGVzY3JpcHQgc291cmNlPSJjdmUiPkludGVnZXIgb3ZlcmZsb3cgaW4gdGhlIEludGVybmV0IFByaW50aW5nIFByb3RvY29sIChJUFApIElTQVBJIGV4dGVuc2lvbiBpbiBNaWNyb3NvZnQgSW50ZXJuZXQgSW5mb3JtYXRpb24gU2VydmljZXMgKElJUykgNS4wIHRocm91Z2ggNy4wIG9uIFdpbmRvd3MgMjAwMCBTUDQsIFhQIFNQMiBhbmQgU1AzLCBTZXJ2ZXIgMjAwMyBTUDEgYW5kIFNQMiwgYW5kIFNlcnZlciAyMDA4IGFsbG93cyByZW1vdGUgYXV0aGVudGljYXRlZCB1c2VycyB0byBleGVjdXRlIGFyYml0cmFyeSBjb2RlIHZpYSBhbiBIVFRQIFBPU1QgcmVxdWVzdCB0aGF0IHRyaWdnZXJzIGFuIG91dGJvdW5kIElQUCBjb25uZWN0aW9uIGZyb20gYSB3ZWIgc2VydmVyIHRvIGEgbWFjaGluZSBvcGVyYXRlZCBieSB0aGUgYXR0YWNrZXIsIGFrYSAiSW50ZWdlciBPdmVyZmxvdyBpbiBJUFAgU2VydmljZSBWdWxuZXJhYmlsaXR5LiI8L2Rlc2NyaXB0Pg0KKyAgICAgICAgPC9kZXNjPg0KKyAgICAgICAgPGxvc3NfdHlwZXM+DQorICAgICAgICAgICAgPGF2YWlsIC8+DQorICAgICAgICAgICAgPGNvbmYgLz4NCisgICAgICAgICAgICA8aW50IC8+DQorICAgICAgICA8L2xvc3NfdHlwZXM+DQorICAgICAgICA8cmFuZ2U+DQorICAgICAgICAgICAgPG5ldHdvcmsgLz4NCisgICAgICAgIDwvcmFuZ2U+DQorICAgICAgICA8cmVmcz4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iTVMiIHVybD0iaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3RlY2huZXQvc2VjdXJpdHkvQnVsbGV0aW4vTVMwOC0wNjIubXNweCI+TVMwOC0wNjI8L3JlZj4NCisgICAgICAgIDwvcmVmcz4NCisgICAgICAgIDx2dWxuX3NvZnQ+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJtaWNyb3NvZnQiIG5hbWU9ImlpcyI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNS4wIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjUuMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iYmV0YSIgbnVtPSI2LjAiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNy4wIiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9Im1pY3Jvc29mdCIgbmFtZT0id2luZG93c18yMDAwIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0ic3A0IiBudW09IiIgLz4NCisgICAgICAgICAgICA8L3Byb2Q+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJtaWNyb3NvZnQiIG5hbWU9IndpbmRvd3Nfc2VydmVyXzIwMDMiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJzcDEiIG51bT0iIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJzcDE6eDY0IiBudW09IiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0ic3AxOml0YW5pdW0iIG51bT0iIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJzcDIiIG51bT0iIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJzcDI6eDY0IiBudW09IiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0ic3AyOml0YW5pdW0iIG51bT0iIiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9Im1pY3Jvc29mdCIgbmFtZT0id2luZG93c19zZXJ2ZXJfMjAwOCI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249IjppdGFuaXVtIiBudW09IiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iOngzMiIgbnVtPSIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249Ijp4NjQiIG51bT0iIiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9Im1pY3Jvc29mdCIgbmFtZT0id2luZG93c194cCI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InNwMiIgbnVtPSIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InNwMjp4NjQiIG51bT0iIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJzcDMiIG51bT0iIiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgIDwvdnVsbl9zb2Z0Pg0KKyAgICA8L2VudHJ5PgorICAgIDxlbnRyeSBDVlNTX3ZlY3Rvcj0iKEFWOkwvQUM6TC9BdTpOL0M6Qy9JOkMvQTpDKSIgQ1ZTU19iYXNlX3Njb3JlPSI3LjIiIENWU1NfZXhwbG9pdF9zdWJzY29yZT0iMy45IiBDVlNTX2ltcGFjdF9zdWJzY29yZT0iMTAuMCIgbmFtZT0iQ1ZFLTIwMDgtMjI1MCIgc2VxPSIyMDA4LTIyNTAiIHNldmVyaXR5PSJIaWdoIiB0eXBlPSJDVkUiIHB1Ymxpc2hlZD0iMjAwOC0xMC0xNCIgQ1ZTU192ZXJzaW9uPSIyLjAiIENWU1Nfc2NvcmU9IjcuMiIgbW9kaWZpZWQ9IjIwMDgtMTAtMTUiPg0KKyAgICAgICAgPGRlc2M+DQorICAgICAgICAgICAgPGRlc2NyaXB0IHNvdXJjZT0iY3ZlIj5UaGUga2VybmVsIGluIE1pY3Jvc29mdCBXaW5kb3dzIDIwMDAgU1A0LCBYUCBTUDIgYW5kIFNQMywgU2VydmVyIDIwMDMgU1AxIGFuZCBTUDIsIFZpc3RhIEdvbGQgYW5kIFNQMSwgYW5kIFNlcnZlciAyMDA4IGRvZXMgbm90IHByb3Blcmx5IHZhbGlkYXRlIHdpbmRvdyBwcm9wZXJ0aWVzIHNlbnQgZnJvbSBhIHBhcmVudCB3aW5kb3cgdG8gYSBjaGlsZCB3aW5kb3cgZHVyaW5nIGNyZWF0aW9uIG9mIGEgbmV3IHdpbmRvdywgd2hpY2ggYWxsb3dzIGxvY2FsIHVzZXJzIHRvIGdhaW4gcHJpdmlsZWdlcyB2aWEgYSBjcmFmdGVkIGFwcGxpY2F0aW9uLCBha2EgIldpbmRvd3MgS2VybmVsIFdpbmRvdyBDcmVhdGlvbiBWdWxuZXJhYmlsaXR5LiI8L2Rlc2NyaXB0Pg0KKyAgICAgICAgPC9kZXNjPg0KKyAgICAgICAgPGxvc3NfdHlwZXM+DQorICAgICAgICAgICAgPGF2YWlsIC8+DQorICAgICAgICAgICAgPGNvbmYgLz4NCisgICAgICAgICAgICA8aW50IC8+DQorICAgICAgICA8L2xvc3NfdHlwZXM+DQorICAgICAgICA8cmFuZ2U+DQorICAgICAgICAgICAgPGxvY2FsIC8+DQorICAgICAgICA8L3JhbmdlPg0KKyAgICAgICAgPHJlZnM+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9Ik1TIiB1cmw9Imh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS90ZWNobmV0L3NlY3VyaXR5L0J1bGxldGluL01TMDgtMDYxLm1zcHgiIGFkdj0iMSI+TVMwOC0wNjE8L3JlZj4NCisgICAgICAgIDwvcmVmcz4NCisgICAgICAgIDx2dWxuX3NvZnQ+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJtaWNyb3NvZnQiIG5hbWU9IndpbmRvd3NfMjAwMCI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InNwNCIgbnVtPSIiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0ibWljcm9zb2Z0IiBuYW1lPSJ3aW5kb3dzX3NlcnZlcl8yMDAzIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0ic3AxIiBudW09IiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0ic3AxOng2NCIgbnVtPSIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InNwMTppdGFuaXVtIiBudW09IiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0ic3AyIiBudW09IiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0ic3AyOng2NCIgbnVtPSIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InNwMjppdGFuaXVtIiBudW09IiIgLz4NCisgICAgICAgICAgICA8L3Byb2Q+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJtaWNyb3NvZnQiIG5hbWU9IndpbmRvd3Nfc2VydmVyXzIwMDgiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSI6aXRhbml1bSIgbnVtPSIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249Ijp4MzIiIG51bT0iIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSI6eDY0IiBudW09IiIgLz4NCisgICAgICAgICAgICA8L3Byb2Q+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJtaWNyb3NvZnQiIG5hbWU9IndpbmRvd3NfdmlzdGEiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSI6eDY0IiBudW09IiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0ic3AxIiBudW09IiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0ic3AxOng2NCIgbnVtPSIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0ic3AxIiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9Im1pY3Jvc29mdCIgbmFtZT0id2luZG93c194cCI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InNwMiIgbnVtPSIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InNwMjp4NjQiIG51bT0iIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJzcDMiIG51bT0iIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJ4NjQiIG51bT0iIiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgIDwvdnVsbl9zb2Z0Pg0KKyAgICA8L2VudHJ5PgorICAgIDxlbnRyeSBDVlNTX3ZlY3Rvcj0iKEFWOkwvQUM6TC9BdTpOL0M6Qy9JOkMvQTpDKSIgQ1ZTU19iYXNlX3Njb3JlPSI3LjIiIENWU1NfZXhwbG9pdF9zdWJzY29yZT0iMy45IiBDVlNTX2ltcGFjdF9zdWJzY29yZT0iMTAuMCIgbmFtZT0iQ1ZFLTIwMDgtMjI1MSIgc2VxPSIyMDA4LTIyNTEiIHNldmVyaXR5PSJIaWdoIiB0eXBlPSJDVkUiIHB1Ymxpc2hlZD0iMjAwOC0xMC0xNCIgQ1ZTU192ZXJzaW9uPSIyLjAiIENWU1Nfc2NvcmU9IjcuMiIgbW9kaWZpZWQ9IjIwMDgtMTAtMTUiPg0KKyAgICAgICAgPGRlc2M+DQorICAgICAgICAgICAgPGRlc2NyaXB0IHNvdXJjZT0iY3ZlIj5Eb3VibGUgZnJlZSB2dWxuZXJhYmlsaXR5IGluIHRoZSBrZXJuZWwgaW4gTWljcm9zb2Z0IFdpbmRvd3MgMjAwMCBTUDQsIFhQIFNQMiBhbmQgU1AzLCBTZXJ2ZXIgMjAwMyBTUDEgYW5kIFNQMiwgVmlzdGEgR29sZCBhbmQgU1AxLCBhbmQgU2VydmVyIDIwMDggYWxsb3dzIGxvY2FsIHVzZXJzIHRvIGdhaW4gcHJpdmlsZWdlcyB2aWEgYSBjcmFmdGVkIGFwcGxpY2F0aW9uIHRoYXQgbWFrZXMgc3lzdGVtIGNhbGxzIHdpdGhpbiBtdWx0aXBsZSB0aHJlYWRzLCBha2EgIldpbmRvd3MgS2VybmVsIFVuaGFuZGxlZCBFeGNlcHRpb24gVnVsbmVyYWJpbGl0eS4iIE5PVEU6IGFjY29yZGluZyB0byBNaWNyb3NvZnQsIHRoaXMgaXMgbm90IGEgZHVwbGljYXRlIG9mIENWRS0yMDA4LTQ1MTAuPC9kZXNjcmlwdD4NCisgICAgICAgIDwvZGVzYz4NCisgICAgICAgIDxsb3NzX3R5cGVzPg0KKyAgICAgICAgICAgIDxhdmFpbCAvPg0KKyAgICAgICAgICAgIDxjb25mIC8+DQorICAgICAgICAgICAgPGludCAvPg0KKyAgICAgICAgPC9sb3NzX3R5cGVzPg0KKyAgICAgICAgPHJhbmdlPg0KKyAgICAgICAgICAgIDxsb2NhbCAvPg0KKyAgICAgICAgPC9yYW5nZT4NCisgICAgICAgIDxyZWZzPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJNUyIgdXJsPSJodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vdGVjaG5ldC9zZWN1cml0eS9CdWxsZXRpbi9NUzA4LTA2MS5tc3B4IiBhZHY9IjEiPk1TMDgtMDYxPC9yZWY+DQorICAgICAgICA8L3JlZnM+DQorICAgICAgICA8dnVsbl9zb2Z0Pg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0ibWljcm9zb2Z0IiBuYW1lPSJ3aW5kb3dzXzIwMDAiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJzcDQiIG51bT0iIiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9Im1pY3Jvc29mdCIgbmFtZT0id2luZG93c19zZXJ2ZXJfMjAwMyI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InNwMSIgbnVtPSIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InNwMTp4NjQiIG51bT0iIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJzcDE6aXRhbml1bSIgbnVtPSIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InNwMiIgbnVtPSIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InNwMjp4NjQiIG51bT0iIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJzcDI6aXRhbml1bSIgbnVtPSIiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0ibWljcm9zb2Z0IiBuYW1lPSJ3aW5kb3dzX3NlcnZlcl8yMDA4Ij4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iOml0YW5pdW0iIG51bT0iIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSI6eDMyIiBudW09IiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iOng2NCIgbnVtPSIiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0ibWljcm9zb2Z0IiBuYW1lPSJ3aW5kb3dzX3hwIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0ic3AyIiBudW09IiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0ic3AyOng2NCIgbnVtPSIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InNwMyIgbnVtPSIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249Ing2NCIgbnVtPSIiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgPC92dWxuX3NvZnQ+DQorICAgIDwvZW50cnk+CisgICAgPGVudHJ5IENWU1NfdmVjdG9yPSIoQVY6TC9BQzpML0F1Ok4vQzpDL0k6Qy9BOkMpIiBDVlNTX2Jhc2Vfc2NvcmU9IjcuMiIgQ1ZTU19leHBsb2l0X3N1YnNjb3JlPSIzLjkiIENWU1NfaW1wYWN0X3N1YnNjb3JlPSIxMC4wIiBuYW1lPSJDVkUtMjAwOC0yMjUyIiBzZXE9IjIwMDgtMjI1MiIgc2V2ZXJpdHk9IkhpZ2giIHR5cGU9IkNWRSIgcHVibGlzaGVkPSIyMDA4LTEwLTE0IiBDVlNTX3ZlcnNpb249IjIuMCIgQ1ZTU19zY29yZT0iNy4yIiBtb2RpZmllZD0iMjAwOC0xMC0xNSI+DQorICAgICAgICA8ZGVzYz4NCisgICAgICAgICAgICA8ZGVzY3JpcHQgc291cmNlPSJjdmUiPlRoZSBrZXJuZWwgaW4gTWljcm9zb2Z0IFdpbmRvd3MgMjAwMCBTUDQsIFhQIFNQMiBhbmQgU1AzLCBTZXJ2ZXIgMjAwMyBTUDEgYW5kIFNQMiwgVmlzdGEgR29sZCBhbmQgU1AxLCBhbmQgU2VydmVyIDIwMDggZG9lcyBub3QgcHJvcGVybHkgdmFsaWRhdGUgcGFyYW1ldGVycyBzZW50IGZyb20gdXNlciBtb2RlIHRvIHRoZSBrZXJuZWwsIHdoaWNoIGFsbG93cyBsb2NhbCB1c2VycyB0byBnYWluIHByaXZpbGVnZXMgdmlhIGEgY3JhZnRlZCBhcHBsaWNhdGlvbiwgYWthICJXaW5kb3dzIEtlcm5lbCBNZW1vcnkgQ29ycnVwdGlvbiBWdWxuZXJhYmlsaXR5LiI8L2Rlc2NyaXB0Pg0KKyAgICAgICAgPC9kZXNjPg0KKyAgICAgICAgPGxvc3NfdHlwZXM+DQorICAgICAgICAgICAgPGF2YWlsIC8+DQorICAgICAgICAgICAgPGNvbmYgLz4NCisgICAgICAgICAgICA8aW50IC8+DQorICAgICAgICAgICAgPHNlY19wcm90IGFkbWluPSIxIiAvPg0KKyAgICAgICAgPC9sb3NzX3R5cGVzPg0KKyAgICAgICAgPHJhbmdlPg0KKyAgICAgICAgICAgIDxsb2NhbCAvPg0KKyAgICAgICAgPC9yYW5nZT4NCisgICAgICAgIDxyZWZzPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJNUyIgdXJsPSJodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vdGVjaG5ldC9zZWN1cml0eS9CdWxsZXRpbi9NUzA4LTA2MS5tc3B4IiBhZHY9IjEiPk1TMDgtMDYxPC9yZWY+DQorICAgICAgICA8L3JlZnM+DQorICAgICAgICA8dnVsbl9zb2Z0Pg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0ibWljcm9zb2Z0IiBuYW1lPSJ3aW5kb3dzXzIwMDAiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJzcDQiIG51bT0iIiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9Im1pY3Jvc29mdCIgbmFtZT0id2luZG93c19zZXJ2ZXJfMjAwMyI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InNwMSIgbnVtPSIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InNwMTp4NjQiIG51bT0iIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJzcDE6aXRhbml1bSIgbnVtPSIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InNwMiIgbnVtPSIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InNwMjp4NjQiIG51bT0iIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJzcDI6aXRhbml1bSIgbnVtPSIiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0ibWljcm9zb2Z0IiBuYW1lPSJ3aW5kb3dzX3NlcnZlcl8yMDA4Ij4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iOml0YW5pdW0iIG51bT0iIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSI6eDMyIiBudW09IiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iOng2NCIgbnVtPSIiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0ibWljcm9zb2Z0IiBuYW1lPSJ3aW5kb3dzX3Zpc3RhIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iOng2NCIgbnVtPSIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InNwMSIgbnVtPSIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InNwMTp4NjQiIG51bT0iIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09InNwMSIgLz4NCisgICAgICAgICAgICA8L3Byb2Q+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJtaWNyb3NvZnQiIG5hbWU9IndpbmRvd3NfeHAiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJzcDIiIG51bT0iIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJzcDI6eDY0IiBudW09IiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0ic3AzIiBudW09IiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0ieDY0IiBudW09IiIgLz4NCisgICAgICAgICAgICA8L3Byb2Q+DQorICAgICAgICA8L3Z1bG5fc29mdD4NCisgICAgPC9lbnRyeT4KKyAgICA8ZW50cnkgQ1ZTU192ZWN0b3I9IihBVjpML0FDOkwvQXU6Ti9DOkMvSTpDL0E6QykiIENWU1NfYmFzZV9zY29yZT0iNy4yIiBDVlNTX2V4cGxvaXRfc3Vic2NvcmU9IjMuOSIgQ1ZTU19pbXBhY3Rfc3Vic2NvcmU9IjEwLjAiIG5hbWU9IkNWRS0yMDA4LTM0NjQiIHNlcT0iMjAwOC0zNDY0IiBzZXZlcml0eT0iSGlnaCIgdHlwZT0iQ1ZFIiBwdWJsaXNoZWQ9IjIwMDgtMTAtMTQiIENWU1NfdmVyc2lvbj0iMi4wIiBDVlNTX3Njb3JlPSI3LjIiIG1vZGlmaWVkPSIyMDA4LTEwLTE1Ij4NCisgICAgICAgIDxkZXNjPg0KKyAgICAgICAgICAgIDxkZXNjcmlwdCBzb3VyY2U9ImN2ZSI+YWZkLnN5cyBpbiB0aGUgQW5jaWxsYXJ5IEZ1bmN0aW9uIERyaXZlciAoQUZEKSBjb21wb25lbnQgaW4gTWljcm9zb2Z0IFdpbmRvd3MgWFAgU1AyIGFuZCBTUDMgYW5kIFdpbmRvd3MgU2VydmVyIDIwMDMgU1AxIGFuZCBTUDIgZG9lcyBub3QgcHJvcGVybHkgdmFsaWRhdGUgaW5wdXQgc2VudCBmcm9tIHVzZXIgbW9kZSB0byB0aGUga2VybmVsLCB3aGljaCBhbGxvd3MgbG9jYWwgdXNlcnMgdG8gZ2FpbiBwcml2aWxlZ2VzIHZpYSBhIGNyYWZ0ZWQgYXBwbGljYXRpb24sIGFrYSAiQUZEIEtlcm5lbCBPdmVyd3JpdGUgVnVsbmVyYWJpbGl0eS4iPC9kZXNjcmlwdD4NCisgICAgICAgIDwvZGVzYz4NCisgICAgICAgIDxsb3NzX3R5cGVzPg0KKyAgICAgICAgICAgIDxhdmFpbCAvPg0KKyAgICAgICAgICAgIDxjb25mIC8+DQorICAgICAgICAgICAgPGludCAvPg0KKyAgICAgICAgPC9sb3NzX3R5cGVzPg0KKyAgICAgICAgPHJhbmdlPg0KKyAgICAgICAgICAgIDxsb2NhbCAvPg0KKyAgICAgICAgPC9yYW5nZT4NCisgICAgICAgIDxyZWZzPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJNUyIgdXJsPSJodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vdGVjaG5ldC9zZWN1cml0eS9CdWxsZXRpbi9NUzA4LTA2Ni5tc3B4IiBhZHY9IjEiPk1TMDgtMDY2PC9yZWY+DQorICAgICAgICA8L3JlZnM+DQorICAgICAgICA8dnVsbl9zb2Z0Pg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0ibWljcm9zb2Z0IiBuYW1lPSJ3aW5kb3dzXzIwMDNfc2VydmVyIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iOng2NCIgbnVtPSIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InNwMSIgbnVtPSIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InNwMTppdGFuaXVtIiBudW09IiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0ic3AyIiBudW09IiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0ic3AyOml0YW5pdW0iIG51bT0iIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJzcDI6eDY0IiBudW09IiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0ic3AzIiBudW09InByb2Zlc3Npb25hbCIgLz4NCisgICAgICAgICAgICA8L3Byb2Q+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJtaWNyb3NvZnQiIG5hbWU9IndpbmRvd3NfeHAiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSI6cHJvZmVzc2lvbmFsX3g2NCIgbnVtPSIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InNwMiIgbnVtPSIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InNwMjpwcm9mZXNzaW9uYWxfeDY0IiBudW09IiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0ic3AzIiBudW09IiIgLz4NCisgICAgICAgICAgICA8L3Byb2Q+DQorICAgICAgICA8L3Z1bG5fc29mdD4NCisgICAgPC9lbnRyeT4KKyAgICA8ZW50cnkgQ1ZTU192ZWN0b3I9IihBVjpOL0FDOkwvQXU6Ti9DOkMvSTpDL0E6QykiIENWU1NfYmFzZV9zY29yZT0iMTAuMCIgQ1ZTU19leHBsb2l0X3N1YnNjb3JlPSIxMC4wIiBDVlNTX2ltcGFjdF9zdWJzY29yZT0iMTAuMCIgbmFtZT0iQ1ZFLTIwMDgtMzQ2NiIgc2VxPSIyMDA4LTM0NjYiIHNldmVyaXR5PSJIaWdoIiB0eXBlPSJDVkUiIHB1Ymxpc2hlZD0iMjAwOC0xMC0xNCIgQ1ZTU192ZXJzaW9uPSIyLjAiIENWU1Nfc2NvcmU9IjEwLjAiIG1vZGlmaWVkPSIyMDA4LTEwLTE1Ij4NCisgICAgICAgIDxkZXNjPg0KKyAgICAgICAgICAgIDxkZXNjcmlwdCBzb3VyY2U9ImN2ZSI+TWljcm9zb2Z0IEhvc3QgSW50ZWdyYXRpb24gU2VydmVyIChISVMpIDIwMDAsIDIwMDQsIGFuZCAyMDA2IGRvZXMgbm90IGxpbWl0IFJQQyBhY2Nlc3MgdG8gYWRtaW5pc3RyYXRpdmUgZnVuY3Rpb25zLCB3aGljaCBhbGxvd3MgcmVtb3RlIGF0dGFja2VycyB0byBieXBhc3MgYXV0aGVudGljYXRpb24gYW5kIGV4ZWN1dGUgYXJiaXRyYXJ5IGNvZGUgdmlhIGEgY3JhZnRlZCBTTkEgUlBDIG1lc3NhZ2UsIGFrYSAiSElTIENvbW1hbmQgRXhlY3V0aW9uIFZ1bG5lcmFiaWxpdHkuIjwvZGVzY3JpcHQ+DQorICAgICAgICA8L2Rlc2M+DQorICAgICAgICA8bG9zc190eXBlcz4NCisgICAgICAgICAgICA8YXZhaWwgLz4NCisgICAgICAgICAgICA8Y29uZiAvPg0KKyAgICAgICAgICAgIDxpbnQgLz4NCisgICAgICAgICAgICA8c2VjX3Byb3QgYWRtaW49IjEiIC8+DQorICAgICAgICA8L2xvc3NfdHlwZXM+DQorICAgICAgICA8cmFuZ2U+DQorICAgICAgICAgICAgPG5ldHdvcmsgLz4NCisgICAgICAgIDwvcmFuZ2U+DQorICAgICAgICA8cmVmcz4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iTVMiIHVybD0iaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3RlY2huZXQvc2VjdXJpdHkvQnVsbGV0aW4vTVMwOC0wNTkubXNweCIgYWR2PSIxIj5NUzA4LTA1OTwvcmVmPg0KKyAgICAgICAgPC9yZWZzPg0KKyAgICAgICAgPHZ1bG5fc29mdD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9Im1pY3Jvc2Z0IiBuYW1lPSJob3N0X2ludGVncmF0aW9uX3NlcnZlciI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InNwMiIgbnVtPSIyMDAwIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJzcDI6c2VydmVyIiBudW09IjIwMDAiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InVua25vd24iIG51bT0iMjAwMCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0idW5rbm93bjphZG1pbmlzdHJhdG9yX2NsaWVudCIgbnVtPSIyMDAwIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJzcDEiIG51bT0iMjAwNCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0ic3AxOnNlcnZlciIgbnVtPSIyMDA0IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJ1bmtub3duIiBudW09IjIwMDQiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InVua25vd246Y2xpZW50IiBudW09IjIwMDQiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InVua25vd246c2VydmVyIiBudW09IjIwMDQiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InVua25vd24iIG51bT0iMjAwNiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0idW5rbm93bjp4MzIiIG51bT0iMjAwNiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0ieDY0IiBudW09IjIwMDZ1bmtub3duIiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgIDwvdnVsbl9zb2Z0Pg0KKyAgICA8L2VudHJ5PgorICAgIDxlbnRyeSBDVlNTX3ZlY3Rvcj0iKEFWOk4vQUM6TC9BdTpOL0M6Qy9JOkMvQTpDKSIgQ1ZTU19iYXNlX3Njb3JlPSIxMC4wIiBDVlNTX2V4cGxvaXRfc3Vic2NvcmU9IjEwLjAiIENWU1NfaW1wYWN0X3N1YnNjb3JlPSIxMC4wIiBuYW1lPSJDVkUtMjAwOC0zNDcxIiBzZXE9IjIwMDgtMzQ3MSIgc2V2ZXJpdHk9IkhpZ2giIHR5cGU9IkNWRSIgcHVibGlzaGVkPSIyMDA4LTEwLTE0IiBDVlNTX3ZlcnNpb249IjIuMCIgQ1ZTU19zY29yZT0iMTAuMCIgbW9kaWZpZWQ9IjIwMDgtMTAtMTUiPg0KKyAgICAgICAgPGRlc2M+DQorICAgICAgICAgICAgPGRlc2NyaXB0IHNvdXJjZT0iY3ZlIj5NaWNyb3NvZnQgRXhjZWwgMjAwMCBTUDMsIDIwMDIgU1AzLCAyMDAzIFNQMiBhbmQgU1AzLCBhbmQgMjAwNyBHb2xkIGFuZCBTUDE7IE9mZmljZSBFeGNlbCBWaWV3ZXIgMjAwMyBTUDM7IE9mZmljZSBFeGNlbCBWaWV3ZXI7IE9mZmljZSBDb21wYXRpYmlsaXR5IFBhY2sgZm9yIFdvcmQsIEV4Y2VsLCBhbmQgUG93ZXJQb2ludCAyMDA3IEZpbGUgRm9ybWF0cyBHb2xkIGFuZCBTUDE7IE9mZmljZSAyMDA0IGFuZCAyMDA4IGZvciBNYWM7IGFuZCBPcGVuIFhNTCBGaWxlIEZvcm1hdCBDb252ZXJ0ZXIgZm9yIE1hYyBkbyBub3QgcHJvcGVybHkgYWxsb2NhdGUgbWVtb3J5IHdoZW4gbG9hZGluZyBFeGNlbCBvYmplY3RzIGR1cmluZyBwYXJzaW5nIG9mIHRoZSBFeGNlbCBzcHJlYWRzaGVldCBmaWxlIGZvcm1hdCwgd2hpY2ggYWxsb3dzIHJlbW90ZSBhdHRhY2tlcnMgdG8gZXhlY3V0ZSBhcmJpdHJhcnkgY29kZSB2aWEgYSBjcmFmdGVkIEJJRkYgZmlsZSwgYWthICJGaWxlIEZvcm1hdCBQYXJzaW5nIFZ1bG5lcmFiaWxpdHkuIjwvZGVzY3JpcHQ+DQorICAgICAgICA8L2Rlc2M+DQorICAgICAgICA8bG9zc190eXBlcz4NCisgICAgICAgICAgICA8YXZhaWwgLz4NCisgICAgICAgICAgICA8Y29uZiAvPg0KKyAgICAgICAgICAgIDxpbnQgLz4NCisgICAgICAgICAgICA8c2VjX3Byb3QgYWRtaW49IjEiIC8+DQorICAgICAgICA8L2xvc3NfdHlwZXM+DQorICAgICAgICA8cmFuZ2U+DQorICAgICAgICAgICAgPG5ldHdvcmsgLz4NCisgICAgICAgIDwvcmFuZ2U+DQorICAgICAgICA8cmVmcz4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iTVMiIHVybD0iaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3RlY2huZXQvc2VjdXJpdHkvQnVsbGV0aW4vTVMwOC0wNTcubXNweCI+TVMwOC0wNTc8L3JlZj4NCisgICAgICAgIDwvcmVmcz4NCisgICAgICAgIDx2dWxuX3NvZnQ+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJtaWNyb3NmdCIgbmFtZT0ib3Blbl94bWxfZmlsZV9mb3JtYXRfY29udmVydGVyIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0ibWFjIiBudW09InVua25vd24iIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0ibWljcm9zb2Z0IiBuYW1lPSJvZmZpY2UiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJzcDMiIG51bT0iMjAwMCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0ic3AyIiBudW09IjIwMDMiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InNwMyIgbnVtPSIyMDAzIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSIiIG51bT0iMjAwNCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iOm1hYyIgbnVtPSIyMDA0IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJzcDEiIG51bT0iMjAwNyIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iIiBudW09IjIwMDgiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249IjptYWMiIG51bT0iMjAwOCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0ic3AzIiBudW09InhwIiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9Im1pY3Jvc29mdCIgbmFtZT0ib2ZmaWNlX2NvbXBhdGliaWxpdHlfcGFja19mb3Jfd29yZF9leGNlbF9wcHRfMjAwNyI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249IjpzcDEiIG51bT0iIiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9Im1pY3Jvc29mdCIgbmFtZT0ib2ZmaWNlX2V4Y2VsX3ZpZXdlciI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InNwMyIgbnVtPSIyMDAzIiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9Im1pY3Jvc29mdCIgbmFtZT0ib2ZmaWNlX3NoYXJlcG9pbnRfc2VydmVyIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0ic3AxIiBudW09IjIwMDciIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InNwMTp4NjQiIG51bT0iMjAwNyIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0idW5rbm93biIgbnVtPSIyMDA3IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJ1bmtub3duOng2NCIgbnVtPSIyMDA3IiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgIDwvdnVsbl9zb2Z0Pg0KKyAgICA8L2VudHJ5PgorICAgIDxlbnRyeSBDVlNTX3ZlY3Rvcj0iKEFWOk4vQUM6TS9BdTpOL0M6Qy9JOkMvQTpDKSIgQ1ZTU19iYXNlX3Njb3JlPSI5LjMiIENWU1NfZXhwbG9pdF9zdWJzY29yZT0iOC42IiBDVlNTX2ltcGFjdF9zdWJzY29yZT0iMTAuMCIgbmFtZT0iQ1ZFLTIwMDgtMzQ3MiIgc2VxPSIyMDA4LTM0NzIiIHNldmVyaXR5PSJIaWdoIiB0eXBlPSJDVkUiIHB1Ymxpc2hlZD0iMjAwOC0xMC0xNCIgQ1ZTU192ZXJzaW9uPSIyLjAiIENWU1Nfc2NvcmU9IjkuMyIgbW9kaWZpZWQ9IjIwMDgtMTAtMTUiPg0KKyAgICAgICAgPGRlc2M+DQorICAgICAgICAgICAgPGRlc2NyaXB0IHNvdXJjZT0iY3ZlIj5NaWNyb3NvZnQgSW50ZXJuZXQgRXhwbG9yZXIgNiBhbmQgNyBkb2VzIG5vdCBwcm9wZXJseSBkZXRlcm1pbmUgdGhlIGRvbWFpbiBvciBzZWN1cml0eSB6b25lIG9mIG9yaWdpbiBvZiB3ZWIgc2NyaXB0LCB3aGljaCBhbGxvd3MgcmVtb3RlIGF0dGFja2VycyB0byBieXBhc3MgdGhlIGludGVuZGVkIGNyb3NzLWRvbWFpbiBzZWN1cml0eSBwb2xpY3ksIGFuZCBleGVjdXRlIGFyYml0cmFyeSBjb2RlIG9yIG9idGFpbiBzZW5zaXRpdmUgaW5mb3JtYXRpb24sIHZpYSBhIGNyYWZ0ZWQgSFRNTCBkb2N1bWVudCwgYWthICJIVE1MIEVsZW1lbnQgQ3Jvc3MtRG9tYWluIFZ1bG5lcmFiaWxpdHkuIjwvZGVzY3JpcHQ+DQorICAgICAgICA8L2Rlc2M+DQorICAgICAgICA8bG9zc190eXBlcz4NCisgICAgICAgICAgICA8YXZhaWwgLz4NCisgICAgICAgICAgICA8Y29uZiAvPg0KKyAgICAgICAgICAgIDxpbnQgLz4NCisgICAgICAgIDwvbG9zc190eXBlcz4NCisgICAgICAgIDxyYW5nZT4NCisgICAgICAgICAgICA8bmV0d29yayAvPg0KKyAgICAgICAgICAgIDx1c2VyX2luaXQgLz4NCisgICAgICAgIDwvcmFuZ2U+DQorICAgICAgICA8cmVmcz4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iTVMiIHVybD0iaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3RlY2huZXQvc2VjdXJpdHkvQnVsbGV0aW4vTVMwOC0wNTgubXNweCI+TVMwOC0wNTg8L3JlZj4NCisgICAgICAgIDwvcmVmcz4NCisgICAgICAgIDx2dWxuX3NvZnQ+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJtaWNyb3NvZnQiIG5hbWU9ImludGVybmV0X2V4cGxvcmVyIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0ic3A0IiBudW09IjUuMDEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InNwMSIgbnVtPSI2IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjciIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgPC92dWxuX3NvZnQ+DQorICAgIDwvZW50cnk+CisgICAgPGVudHJ5IENWU1NfdmVjdG9yPSIoQVY6Ti9BQzpNL0F1Ok4vQzpDL0k6Qy9BOkMpIiBDVlNTX2Jhc2Vfc2NvcmU9IjkuMyIgQ1ZTU19leHBsb2l0X3N1YnNjb3JlPSI4LjYiIENWU1NfaW1wYWN0X3N1YnNjb3JlPSIxMC4wIiBuYW1lPSJDVkUtMjAwOC0zNDczIiBzZXE9IjIwMDgtMzQ3MyIgc2V2ZXJpdHk9IkhpZ2giIHR5cGU9IkNWRSIgcHVibGlzaGVkPSIyMDA4LTEwLTE0IiBDVlNTX3ZlcnNpb249IjIuMCIgQ1ZTU19zY29yZT0iOS4zIiBtb2RpZmllZD0iMjAwOC0xMC0xNSI+DQorICAgICAgICA8ZGVzYz4NCisgICAgICAgICAgICA8ZGVzY3JpcHQgc291cmNlPSJjdmUiPk1pY3Jvc29mdCBJbnRlcm5ldCBFeHBsb3JlciA2IGFuZCA3IGRvZXMgbm90IHByb3Blcmx5IGRldGVybWluZSB0aGUgZG9tYWluIG9yIHNlY3VyaXR5IHpvbmUgb2Ygb3JpZ2luIG9mIHdlYiBzY3JpcHQsIHdoaWNoIGFsbG93cyByZW1vdGUgYXR0YWNrZXJzIHRvIGJ5cGFzcyB0aGUgaW50ZW5kZWQgY3Jvc3MtZG9tYWluIHNlY3VyaXR5IHBvbGljeSwgYW5kIGV4ZWN1dGUgYXJiaXRyYXJ5IGNvZGUgb3Igb2J0YWluIHNlbnNpdGl2ZSBpbmZvcm1hdGlvbiwgdmlhIGEgY3JhZnRlZCBIVE1MIGRvY3VtZW50LCBha2EgIkV2ZW50IEhhbmRsaW5nIENyb3NzLURvbWFpbiBWdWxuZXJhYmlsaXR5LiI8L2Rlc2NyaXB0Pg0KKyAgICAgICAgPC9kZXNjPg0KKyAgICAgICAgPGxvc3NfdHlwZXM+DQorICAgICAgICAgICAgPGF2YWlsIC8+DQorICAgICAgICAgICAgPGNvbmYgLz4NCisgICAgICAgICAgICA8aW50IC8+DQorICAgICAgICAgICAgPHNlY19wcm90IGFkbWluPSIxIiAvPg0KKyAgICAgICAgPC9sb3NzX3R5cGVzPg0KKyAgICAgICAgPHJhbmdlPg0KKyAgICAgICAgICAgIDxuZXR3b3JrIC8+DQorICAgICAgICAgICAgPHVzZXJfaW5pdCAvPg0KKyAgICAgICAgPC9yYW5nZT4NCisgICAgICAgIDxyZWZzPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJNUyIgdXJsPSJodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vdGVjaG5ldC9zZWN1cml0eS9CdWxsZXRpbi9NUzA4LTA1OC5tc3B4IiBhZHY9IjEiPk1TMDgtMDU4PC9yZWY+DQorICAgICAgICA8L3JlZnM+DQorICAgICAgICA8dnVsbl9zb2Z0Pg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0ibWljcm9zb2Z0IiBuYW1lPSJpbnRlcm5ldF9leHBsb3JlciI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InNwNCIgbnVtPSI1LjAxIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJzcDEiIG51bT0iNiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI3IiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgIDwvdnVsbl9zb2Z0Pg0KKyAgICA8L2VudHJ5PgorICAgIDxlbnRyeSBDVlNTX3ZlY3Rvcj0iKEFWOk4vQUM6TS9BdTpOL0M6UC9JOk4vQTpOKSIgQ1ZTU19iYXNlX3Njb3JlPSI0LjMiIENWU1NfZXhwbG9pdF9zdWJzY29yZT0iOC42IiBDVlNTX2ltcGFjdF9zdWJzY29yZT0iMi45IiBuYW1lPSJDVkUtMjAwOC0zNDc0IiBzZXE9IjIwMDgtMzQ3NCIgc2V2ZXJpdHk9Ik1lZGl1bSIgdHlwZT0iQ1ZFIiBwdWJsaXNoZWQ9IjIwMDgtMTAtMTQiIENWU1NfdmVyc2lvbj0iMi4wIiBDVlNTX3Njb3JlPSI0LjMiIG1vZGlmaWVkPSIyMDA4LTEwLTE1Ij4NCisgICAgICAgIDxkZXNjPg0KKyAgICAgICAgICAgIDxkZXNjcmlwdCBzb3VyY2U9ImN2ZSI+TWljcm9zb2Z0IEludGVybmV0IEV4cGxvcmVyIDYgYW5kIDcgZG9lcyBub3QgcHJvcGVybHkgZGV0ZXJtaW5lIHRoZSBkb21haW4gb3Igc2VjdXJpdHkgem9uZSBvZiBvcmlnaW4gb2Ygd2ViIHNjcmlwdCwgd2hpY2ggYWxsb3dzIHJlbW90ZSBhdHRhY2tlcnMgdG8gYnlwYXNzIHRoZSBpbnRlbmRlZCBjcm9zcy1kb21haW4gc2VjdXJpdHkgcG9saWN5IGFuZCBvYnRhaW4gc2Vuc2l0aXZlIGluZm9ybWF0aW9uIHZpYSBhIGNyYWZ0ZWQgSFRNTCBkb2N1bWVudCwgYWthICJDcm9zcy1Eb21haW4gSW5mb3JtYXRpb24gRGlzY2xvc3VyZSBWdWxuZXJhYmlsaXR5LiI8L2Rlc2NyaXB0Pg0KKyAgICAgICAgPC9kZXNjPg0KKyAgICAgICAgPGxvc3NfdHlwZXM+DQorICAgICAgICAgICAgPGNvbmYgLz4NCisgICAgICAgIDwvbG9zc190eXBlcz4NCisgICAgICAgIDxyYW5nZT4NCisgICAgICAgICAgICA8bmV0d29yayAvPg0KKyAgICAgICAgICAgIDx1c2VyX2luaXQgLz4NCisgICAgICAgIDwvcmFuZ2U+DQorICAgICAgICA8cmVmcz4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iTVMiIHVybD0iaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3RlY2huZXQvc2VjdXJpdHkvQnVsbGV0aW4vTVMwOC0wNTgubXNweCI+TVMwOC0wNTg8L3JlZj4NCisgICAgICAgIDwvcmVmcz4NCisgICAgICAgIDx2dWxuX3NvZnQ+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJtaWNyb3NvZnQiIG5hbWU9ImludGVybmV0X2V4cGxvcmVyIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0ic3A0IiBudW09IjUuMDEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InNwMSIgbnVtPSI2IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjciIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgPC92dWxuX3NvZnQ+DQorICAgIDwvZW50cnk+CisgICAgPGVudHJ5IENWU1NfdmVjdG9yPSIoQVY6Ti9BQzpNL0F1Ok4vQzpDL0k6Qy9BOkMpIiBDVlNTX2Jhc2Vfc2NvcmU9IjkuMyIgQ1ZTU19leHBsb2l0X3N1YnNjb3JlPSI4LjYiIENWU1NfaW1wYWN0X3N1YnNjb3JlPSIxMC4wIiBuYW1lPSJDVkUtMjAwOC0zNDc1IiBzZXE9IjIwMDgtMzQ3NSIgc2V2ZXJpdHk9IkhpZ2giIHR5cGU9IkNWRSIgcHVibGlzaGVkPSIyMDA4LTEwLTE0IiBDVlNTX3ZlcnNpb249IjIuMCIgQ1ZTU19zY29yZT0iOS4zIiBtb2RpZmllZD0iMjAwOC0xMC0xNSI+DQorICAgICAgICA8ZGVzYz4NCisgICAgICAgICAgICA8ZGVzY3JpcHQgc291cmNlPSJjdmUiPk1pY3Jvc29mdCBJbnRlcm5ldCBFeHBsb3JlciA2IGRvZXMgbm90IHByb3Blcmx5IGhhbmRsZSBlcnJvcnMgYXNzb2NpYXRlZCB3aXRoIGFjY2VzcyB0byBhbiBvYmplY3QgdGhhdCBoYXMgYmVlbiAoMSkgaW5jb3JyZWN0bHkgaW5pdGlhbGl6ZWQgb3IgKDIpIGRlbGV0ZWQsIHdoaWNoIGFsbG93cyByZW1vdGUgYXR0YWNrZXJzIHRvIGV4ZWN1dGUgYXJiaXRyYXJ5IGNvZGUgdmlhIGEgY3JhZnRlZCBIVE1MIGRvY3VtZW50LCBha2EgIlVuaW5pdGlhbGl6ZWQgTWVtb3J5IENvcnJ1cHRpb24gVnVsbmVyYWJpbGl0eS4iPC9kZXNjcmlwdD4NCisgICAgICAgIDwvZGVzYz4NCisgICAgICAgIDxsb3NzX3R5cGVzPg0KKyAgICAgICAgICAgIDxhdmFpbCAvPg0KKyAgICAgICAgICAgIDxjb25mIC8+DQorICAgICAgICAgICAgPGludCAvPg0KKyAgICAgICAgICAgIDxzZWNfcHJvdCBhZG1pbj0iMSIgLz4NCisgICAgICAgIDwvbG9zc190eXBlcz4NCisgICAgICAgIDxyYW5nZT4NCisgICAgICAgICAgICA8bmV0d29yayAvPg0KKyAgICAgICAgICAgIDx1c2VyX2luaXQgLz4NCisgICAgICAgIDwvcmFuZ2U+DQorICAgICAgICA8cmVmcz4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iTVMiIHVybD0iaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3RlY2huZXQvc2VjdXJpdHkvQnVsbGV0aW4vTVMwOC0wNTgubXNweCIgYWR2PSIxIj5NUzA4LTA1ODwvcmVmPg0KKyAgICAgICAgPC9yZWZzPg0KKyAgICAgICAgPHZ1bG5fc29mdD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9Im1pY3Jvc29mdCIgbmFtZT0iaW50ZXJuZXRfZXhwbG9yZXIiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJzcDQiIG51bT0iNS4wMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0ic3AxIiBudW09IjYiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNyIgLz4NCisgICAgICAgICAgICA8L3Byb2Q+DQorICAgICAgICA8L3Z1bG5fc29mdD4NCisgICAgPC9lbnRyeT4KKyAgICA8ZW50cnkgQ1ZTU192ZWN0b3I9IihBVjpOL0FDOk0vQXU6Ti9DOkMvSTpDL0E6QykiIENWU1NfYmFzZV9zY29yZT0iOS4zIiBDVlNTX2V4cGxvaXRfc3Vic2NvcmU9IjguNiIgQ1ZTU19pbXBhY3Rfc3Vic2NvcmU9IjEwLjAiIG5hbWU9IkNWRS0yMDA4LTM0NzYiIHNlcT0iMjAwOC0zNDc2IiBzZXZlcml0eT0iSGlnaCIgdHlwZT0iQ1ZFIiBwdWJsaXNoZWQ9IjIwMDgtMTAtMTQiIENWU1NfdmVyc2lvbj0iMi4wIiBDVlNTX3Njb3JlPSI5LjMiIG1vZGlmaWVkPSIyMDA4LTEwLTE1Ij4NCisgICAgICAgIDxkZXNjPg0KKyAgICAgICAgICAgIDxkZXNjcmlwdCBzb3VyY2U9ImN2ZSI+TWljcm9zb2Z0IEludGVybmV0IEV4cGxvcmVyIDUuMDEgU1A0IGFuZCA2IGRvZXMgbm90IHByb3Blcmx5IGhhbmRsZSBlcnJvcnMgYXNzb2NpYXRlZCB3aXRoIGFjY2VzcyB0byB1bmluaXRpYWxpemVkIG1lbW9yeSwgd2hpY2ggYWxsb3dzIHJlbW90ZSBhdHRhY2tlcnMgdG8gZXhlY3V0ZSBhcmJpdHJhcnkgY29kZSB2aWEgYSBjcmFmdGVkIEhUTUwgZG9jdW1lbnQsIGFrYSAiSFRNTCBPYmplY3RzIE1lbW9yeSBDb3JydXB0aW9uIFZ1bG5lcmFiaWxpdHkuIjwvZGVzY3JpcHQ+DQorICAgICAgICA8L2Rlc2M+DQorICAgICAgICA8bG9zc190eXBlcz4NCisgICAgICAgICAgICA8YXZhaWwgLz4NCisgICAgICAgICAgICA8Y29uZiAvPg0KKyAgICAgICAgICAgIDxpbnQgLz4NCisgICAgICAgICAgICA8c2VjX3Byb3QgYWRtaW49IjEiIC8+DQorICAgICAgICA8L2xvc3NfdHlwZXM+DQorICAgICAgICA8cmFuZ2U+DQorICAgICAgICAgICAgPG5ldHdvcmsgLz4NCisgICAgICAgICAgICA8dXNlcl9pbml0IC8+DQorICAgICAgICA8L3JhbmdlPg0KKyAgICAgICAgPHJlZnM+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9Ik1TIiB1cmw9Imh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS90ZWNobmV0L3NlY3VyaXR5L0J1bGxldGluL01TMDgtMDU4Lm1zcHgiIGFkdj0iMSI+TVMwOC0wNTg8L3JlZj4NCisgICAgICAgIDwvcmVmcz4NCisgICAgICAgIDx2dWxuX3NvZnQ+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJtaWNyb3NvZnQiIG5hbWU9ImludGVybmV0X2V4cGxvcmVyIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0ic3A0IiBudW09IjUuMDEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InNwMSIgbnVtPSI2IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjciIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgPC92dWxuX3NvZnQ+DQorICAgIDwvZW50cnk+CisgICAgPGVudHJ5IENWU1NfdmVjdG9yPSIoQVY6Ti9BQzpNL0F1Ok4vQzpDL0k6Qy9BOkMpIiBDVlNTX2Jhc2Vfc2NvcmU9IjkuMyIgQ1ZTU19leHBsb2l0X3N1YnNjb3JlPSI4LjYiIENWU1NfaW1wYWN0X3N1YnNjb3JlPSIxMC4wIiBuYW1lPSJDVkUtMjAwOC0zNDc3IiBzZXE9IjIwMDgtMzQ3NyIgc2V2ZXJpdHk9IkhpZ2giIHR5cGU9IkNWRSIgcHVibGlzaGVkPSIyMDA4LTEwLTE0IiBDVlNTX3ZlcnNpb249IjIuMCIgQ1ZTU19zY29yZT0iOS4zIiBtb2RpZmllZD0iMjAwOC0xMC0xNSI+DQorICAgICAgICA8ZGVzYz4NCisgICAgICAgICAgICA8ZGVzY3JpcHQgc291cmNlPSJjdmUiPk1pY3Jvc29mdCBFeGNlbCAyMDAwIFNQMywgMjAwMiBTUDMsIGFuZCAyMDAzIFNQMiBhbmQgU1AzIGRvZXMgbm90IHByb3Blcmx5IHZhbGlkYXRlIGRhdGEgaW4gdGhlIFZCQSBQZXJmb3JtYW5jZSBDYWNoZSwgd2hpY2ggYWxsb3dzIHJlbW90ZSBhdHRhY2tlcnMgdG8gZXhlY3V0ZSBhcmJpdHJhcnkgY29kZSB2aWEgYSBjcmFmdGVkIEV4Y2VsIGZpbGUsIGFrYSAiQ2FsZW5kYXIgT2JqZWN0IFZhbGlkYXRpb24gVnVsbmVyYWJpbGl0eS4iPC9kZXNjcmlwdD4NCisgICAgICAgIDwvZGVzYz4NCisgICAgICAgIDxsb3NzX3R5cGVzPg0KKyAgICAgICAgICAgIDxhdmFpbCAvPg0KKyAgICAgICAgICAgIDxjb25mIC8+DQorICAgICAgICAgICAgPGludCAvPg0KKyAgICAgICAgICAgIDxzZWNfcHJvdCBhZG1pbj0iMSIgLz4NCisgICAgICAgIDwvbG9zc190eXBlcz4NCisgICAgICAgIDxyYW5nZT4NCisgICAgICAgICAgICA8bmV0d29yayAvPg0KKyAgICAgICAgICAgIDx1c2VyX2luaXQgLz4NCisgICAgICAgIDwvcmFuZ2U+DQorICAgICAgICA8cmVmcz4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iTVMiIHVybD0iaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3RlY2huZXQvc2VjdXJpdHkvQnVsbGV0aW4vTVMwOC0wNTcubXNweCIgYWR2PSIxIj5NUzA4LTA1NzwvcmVmPg0KKyAgICAgICAgPC9yZWZzPg0KKyAgICAgICAgPHZ1bG5fc29mdD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9Im1pY3Jvc29mdCIgbmFtZT0iaW50ZXJuZXRfZXhwbG9yZXIiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJzcDQiIG51bT0iNS4wMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0ic3AxIiBudW09IjYiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNyIgLz4NCisgICAgICAgICAgICA8L3Byb2Q+DQorICAgICAgICA8L3Z1bG5fc29mdD4NCisgICAgPC9lbnRyeT4KKyAgICA8ZW50cnkgQ1ZTU192ZWN0b3I9IihBVjpOL0FDOkwvQXU6Ti9DOkMvSTpDL0E6QykiIENWU1NfYmFzZV9zY29yZT0iMTAuMCIgQ1ZTU19leHBsb2l0X3N1YnNjb3JlPSIxMC4wIiBDVlNTX2ltcGFjdF9zdWJzY29yZT0iMTAuMCIgbmFtZT0iQ1ZFLTIwMDgtMzQ3OSIgc2VxPSIyMDA4LTM0NzkiIHNldmVyaXR5PSJIaWdoIiB0eXBlPSJDVkUiIHB1Ymxpc2hlZD0iMjAwOC0xMC0xNCIgQ1ZTU192ZXJzaW9uPSIyLjAiIENWU1Nfc2NvcmU9IjEwLjAiIG1vZGlmaWVkPSIyMDA4LTEwLTE1Ij4NCisgICAgICAgIDxkZXNjPg0KKyAgICAgICAgICAgIDxkZXNjcmlwdCBzb3VyY2U9ImN2ZSI+VGhlIE1pY3Jvc29mdCBNZXNzYWdlIFF1ZXVpbmcgKE1TTVEpIHNlcnZpY2UgaW4gTWljcm9zb2Z0IFdpbmRvd3MgMjAwMCBTUDQgZG9lcyBub3QgcHJvcGVybHkgdmFsaWRhdGUgcGFyYW1ldGVycyB0byBzdHJpbmcgQVBJcywgd2hpY2ggYWxsb3dzIHJlbW90ZSBhdHRhY2tlcnMgdG8gZXhlY3V0ZSBhcmJpdHJhcnkgY29kZSB2aWEgYSBjcmFmdGVkIFJQQyBjYWxsIHRoYXQgb3ZlcmZsb3dzIGEgImhlYXAgcmVxdWVzdCwiIGFrYSAiTWVzc2FnZSBRdWV1aW5nIFNlcnZpY2UgUmVtb3RlIENvZGUgRXhlY3V0aW9uIFZ1bG5lcmFiaWxpdHkuIjwvZGVzY3JpcHQ+DQorICAgICAgICA8L2Rlc2M+DQorICAgICAgICA8bG9zc190eXBlcz4NCisgICAgICAgICAgICA8YXZhaWwgLz4NCisgICAgICAgICAgICA8Y29uZiAvPg0KKyAgICAgICAgICAgIDxpbnQgLz4NCisgICAgICAgICAgICA8c2VjX3Byb3QgYWRtaW49IjEiIC8+DQorICAgICAgICA8L2xvc3NfdHlwZXM+DQorICAgICAgICA8cmFuZ2U+DQorICAgICAgICAgICAgPG5ldHdvcmsgLz4NCisgICAgICAgIDwvcmFuZ2U+DQorICAgICAgICA8cmVmcz4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iTVMiIHVybD0iaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3RlY2huZXQvc2VjdXJpdHkvQnVsbGV0aW4vTVMwOC0wNjUubXNweCIgYWR2PSIxIj5NUzA4LTA2NTwvcmVmPg0KKyAgICAgICAgPC9yZWZzPg0KKyAgICAgICAgPHZ1bG5fc29mdD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9Im1pY3Jvc29mdCIgbmFtZT0id2luZG93c18yMDAwIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0ic3A0IiBudW09IiIgLz4NCisgICAgICAgICAgICA8L3Byb2Q+DQorICAgICAgICA8L3Z1bG5fc29mdD4NCisgICAgPC9lbnRyeT4KKyAgICA8ZW50cnkgQ1ZTU192ZWN0b3I9IihBVjpOL0FDOk0vQXU6Ti9DOkMvSTpDL0E6QykiIENWU1NfYmFzZV9zY29yZT0iOS4zIiBDVlNTX2V4cGxvaXRfc3Vic2NvcmU9IjguNiIgQ1ZTU19pbXBhY3Rfc3Vic2NvcmU9IjEwLjAiIG5hbWU9IkNWRS0yMDA4LTQwMTkiIHNlcT0iMjAwOC00MDE5IiBzZXZlcml0eT0iSGlnaCIgdHlwZT0iQ1ZFIiBwdWJsaXNoZWQ9IjIwMDgtMTAtMTQiIENWU1NfdmVyc2lvbj0iMi4wIiBDVlNTX3Njb3JlPSI5LjMiIG1vZGlmaWVkPSIyMDA4LTEwLTE1Ij4NCisgICAgICAgIDxkZXNjPg0KKyAgICAgICAgICAgIDxkZXNjcmlwdCBzb3VyY2U9ImN2ZSI+SW50ZWdlciBvdmVyZmxvdyBpbiB0aGUgUkVQVCBmdW5jdGlvbiBpbiBNaWNyb3NvZnQgRXhjZWwgMjAwMCBTUDMsIDIwMDIgU1AzLCAyMDAzIFNQMiBhbmQgU1AzLCBhbmQgMjAwNyBHb2xkIGFuZCBTUDE7IE9mZmljZSBFeGNlbCBWaWV3ZXIgMjAwMyBTUDM7IE9mZmljZSBFeGNlbCBWaWV3ZXI7IE9mZmljZSBDb21wYXRpYmlsaXR5IFBhY2sgZm9yIFdvcmQsIEV4Y2VsLCBhbmQgUG93ZXJQb2ludCAyMDA3IEZpbGUgRm9ybWF0cyBHb2xkIGFuZCBTUDE7IE9mZmljZSBTaGFyZVBvaW50IFNlcnZlciAyMDA3IEdvbGQgYW5kIFNQMTsgT2ZmaWNlIDIwMDQgYW5kIDIwMDggZm9yIE1hYzsgYW5kIE9wZW4gWE1MIEZpbGUgRm9ybWF0IENvbnZlcnRlciBmb3IgTWFjIGFsbG93cyByZW1vdGUgYXR0YWNrZXJzIHRvIGV4ZWN1dGUgYXJiaXRyYXJ5IGNvZGUgdmlhIGFuIEV4Y2VsIGZpbGUgY29udGFpbmluZyBhIGZvcm11bGEgd2l0aGluIGEgY2VsbCwgYWthICJGb3JtdWxhIFBhcnNpbmcgVnVsbmVyYWJpbGl0eS4iPC9kZXNjcmlwdD4NCisgICAgICAgIDwvZGVzYz4NCisgICAgICAgIDxsb3NzX3R5cGVzPg0KKyAgICAgICAgICAgIDxhdmFpbCAvPg0KKyAgICAgICAgICAgIDxjb25mIC8+DQorICAgICAgICAgICAgPGludCAvPg0KKyAgICAgICAgICAgIDxzZWNfcHJvdCBhZG1pbj0iMSIgLz4NCisgICAgICAgIDwvbG9zc190eXBlcz4NCisgICAgICAgIDxyYW5nZT4NCisgICAgICAgICAgICA8bmV0d29yayAvPg0KKyAgICAgICAgICAgIDx1c2VyX2luaXQgLz4NCisgICAgICAgIDwvcmFuZ2U+DQorICAgICAgICA8cmVmcz4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iTVMiIHVybD0iaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3RlY2huZXQvc2VjdXJpdHkvQnVsbGV0aW4vTVMwOC0wNTcubXNweCIgYWR2PSIxIj5NUzA4LTA1NzwvcmVmPg0KKyAgICAgICAgPC9yZWZzPg0KKyAgICAgICAgPHZ1bG5fc29mdD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9Im1pY3Jvc2Z0IiBuYW1lPSJvcGVuX3htbF9maWxlX2Zvcm1hdF9jb252ZXJ0ZXIiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJtYWMiIG51bT0idW5rbm93biIgLz4NCisgICAgICAgICAgICA8L3Byb2Q+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJtaWNyb3NvZnQiIG5hbWU9Im9mZmljZSI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InNwMyIgbnVtPSIyMDAwIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJzcDIiIG51bT0iMjAwMyIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0ic3AzIiBudW09IjIwMDMiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249IiIgbnVtPSIyMDA0IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSI6bWFjIiBudW09IjIwMDQiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InNwMSIgbnVtPSIyMDA3IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSIiIG51bT0iMjAwOCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iOm1hYyIgbnVtPSIyMDA4IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJzcDMiIG51bT0ieHAiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0ibWljcm9zb2Z0IiBuYW1lPSJvZmZpY2VfY29tcGF0aWJpbGl0eV9wYWNrX2Zvcl93b3JkX2V4Y2VsX3BwdF8yMDA3Ij4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iOnNwMSIgbnVtPSIiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0ibWljcm9zb2Z0IiBuYW1lPSJvZmZpY2VfZXhjZWxfdmlld2VyIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0ic3AzIiBudW09IjIwMDMiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0ibWljcm9zb2Z0IiBuYW1lPSJvZmZpY2Vfc2hhcmVwb2ludF9zZXJ2ZXIiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJzcDEiIG51bT0iMjAwNyIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0ic3AxOng2NCIgbnVtPSIyMDA3IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJ1bmtub3duIiBudW09IjIwMDciIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InVua25vd246eDY0IiBudW09IjIwMDciIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgPC92dWxuX3NvZnQ+DQorICAgIDwvZW50cnk+CisgICAgPGVudHJ5IENWU1NfdmVjdG9yPSIoQVY6Ti9BQzpNL0F1Ok4vQzpOL0k6UC9BOk4pIiBDVlNTX2Jhc2Vfc2NvcmU9IjQuMyIgQ1ZTU19leHBsb2l0X3N1YnNjb3JlPSI4LjYiIENWU1NfaW1wYWN0X3N1YnNjb3JlPSIyLjkiIG5hbWU9IkNWRS0yMDA4LTQwMjAiIHNlcT0iMjAwOC00MDIwIiBzZXZlcml0eT0iTWVkaXVtIiB0eXBlPSJDVkUiIHB1Ymxpc2hlZD0iMjAwOC0xMC0xNCIgQ1ZTU192ZXJzaW9uPSIyLjAiIENWU1Nfc2NvcmU9IjQuMyIgbW9kaWZpZWQ9IjIwMDgtMTAtMTUiPg0KKyAgICAgICAgPGRlc2M+DQorICAgICAgICAgICAgPGRlc2NyaXB0IHNvdXJjZT0iY3ZlIj5Dcm9zcy1zaXRlIHNjcmlwdGluZyAoWFNTKSB2dWxuZXJhYmlsaXR5IGluIE1pY3Jvc29mdCBPZmZpY2UgWFAgU1AzIGFsbG93cyByZW1vdGUgYXR0YWNrZXJzIHRvIGluamVjdCBhcmJpdHJhcnkgd2ViIHNjcmlwdCBvciBIVE1MIHZpYSBhIGRvY3VtZW50IHRoYXQgY29udGFpbnMgYSAiQ29udGVudC1EaXNwb3NpdGlvbjogYXR0YWNobWVudCIgaGVhZGVyIGFuZCBpcyBhY2Nlc3NlZCB0aHJvdWdoIGEgY2RvOiBVUkwsIHdoaWNoIHJlbmRlcnMgdGhlIGNvbnRlbnQgaW5zdGVhZCBvZiByYWlzaW5nIGEgRmlsZSBEb3dubG9hZCBkaWFsb2cgYm94LCBha2EgIlZ1bG5lcmFiaWxpdHkgaW4gQ29udGVudC1EaXNwb3NpdGlvbiBIZWFkZXIgVnVsbmVyYWJpbGl0eS4iPC9kZXNjcmlwdD4NCisgICAgICAgIDwvZGVzYz4NCisgICAgICAgIDxsb3NzX3R5cGVzPg0KKyAgICAgICAgICAgIDxpbnQgLz4NCisgICAgICAgIDwvbG9zc190eXBlcz4NCisgICAgICAgIDxyYW5nZT4NCisgICAgICAgICAgICA8bmV0d29yayAvPg0KKyAgICAgICAgICAgIDx1c2VyX2luaXQgLz4NCisgICAgICAgIDwvcmFuZ2U+DQorICAgICAgICA8cmVmcz4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iTVMiIHVybD0iaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3RlY2huZXQvc2VjdXJpdHkvQnVsbGV0aW4vTVMwOC0wNTYubXNweCIgYWR2PSIxIj5NUzA4LTA1NjwvcmVmPg0KKyAgICAgICAgPC9yZWZzPg0KKyAgICAgICAgPHZ1bG5fc29mdD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9Im1pY3Jvc29mdCIgbmFtZT0ib2ZmaWNlIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0ic3AzIiBudW09InhwIiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgIDwvdnVsbl9zb2Z0Pg0KKyAgICA8L2VudHJ5PgorICAgIDxlbnRyeSBDVlNTX3ZlY3Rvcj0iKEFWOk4vQUM6TC9BdTpOL0M6Qy9JOkMvQTpDKSIgQ1ZTU19iYXNlX3Njb3JlPSIxMC4wIiBDVlNTX2V4cGxvaXRfc3Vic2NvcmU9IjEwLjAiIENWU1NfaW1wYWN0X3N1YnNjb3JlPSIxMC4wIiBuYW1lPSJDVkUtMjAwOC00MDIzIiBzZXE9IjIwMDgtNDAyMyIgc2V2ZXJpdHk9IkhpZ2giIHR5cGU9IkNWRSIgcHVibGlzaGVkPSIyMDA4LTEwLTE0IiBDVlNTX3ZlcnNpb249IjIuMCIgQ1ZTU19zY29yZT0iMTAuMCIgbW9kaWZpZWQ9IjIwMDgtMTAtMTUiPg0KKyAgICAgICAgPGRlc2M+DQorICAgICAgICAgICAgPGRlc2NyaXB0IHNvdXJjZT0iY3ZlIj5BY3RpdmUgRGlyZWN0b3J5IGluIE1pY3Jvc29mdCBXaW5kb3dzIDIwMDAgU1A0IGRvZXMgbm90IHByb3Blcmx5IGFsbG9jYXRlIG1lbW9yeSBmb3IgKDEpIExEQVAgYW5kICgyKSBMREFQUyByZXF1ZXN0cywgd2hpY2ggYWxsb3dzIHJlbW90ZSBhdHRhY2tlcnMgdG8gZXhlY3V0ZSBhcmJpdHJhcnkgY29kZSB2aWEgYSBjcmFmdGVkIHJlcXVlc3QsIGFrYSAiQWN0aXZlIERpcmVjdG9yeSBPdmVyZmxvdyBWdWxuZXJhYmlsaXR5LiI8L2Rlc2NyaXB0Pg0KKyAgICAgICAgPC9kZXNjPg0KKyAgICAgICAgPGxvc3NfdHlwZXM+DQorICAgICAgICAgICAgPGF2YWlsIC8+DQorICAgICAgICAgICAgPGNvbmYgLz4NCisgICAgICAgICAgICA8aW50IC8+DQorICAgICAgICAgICAgPHNlY19wcm90IGFkbWluPSIxIiAvPg0KKyAgICAgICAgPC9sb3NzX3R5cGVzPg0KKyAgICAgICAgPHJhbmdlPg0KKyAgICAgICAgICAgIDxuZXR3b3JrIC8+DQorICAgICAgICA8L3JhbmdlPg0KKyAgICAgICAgPHJlZnM+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9Ik1TIiB1cmw9Imh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS90ZWNobmV0L3NlY3VyaXR5L0J1bGxldGluL01TMDgtMDYwLm1zcHgiIGFkdj0iMSI+TVMwOC0wNjA8L3JlZj4NCisgICAgICAgIDwvcmVmcz4NCisgICAgICAgIDx2dWxuX3NvZnQ+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJtaWNyb3NvZnQiIG5hbWU9IndpbmRvd3NfMjAwMCI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InNwNCIgbnVtPSIiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgPC92dWxuX3NvZnQ+DQorICAgIDwvZW50cnk+CisgICAgPGVudHJ5IENWU1NfdmVjdG9yPSIoQVY6TC9BQzpML0F1Ok4vQzpDL0k6Qy9BOkMpIiBDVlNTX2Jhc2Vfc2NvcmU9IjcuMiIgQ1ZTU19leHBsb2l0X3N1YnNjb3JlPSIzLjkiIENWU1NfaW1wYWN0X3N1YnNjb3JlPSIxMC4wIiBuYW1lPSJDVkUtMjAwOC00MDM2IiBzZXE9IjIwMDgtNDAzNiIgc2V2ZXJpdHk9IkhpZ2giIHR5cGU9IkNWRSIgcHVibGlzaGVkPSIyMDA4LTEwLTE0IiBDVlNTX3ZlcnNpb249IjIuMCIgQ1ZTU19zY29yZT0iNy4yIiBtb2RpZmllZD0iMjAwOC0xMC0xNSI+DQorICAgICAgICA8ZGVzYz4NCisgICAgICAgICAgICA8ZGVzY3JpcHQgc291cmNlPSJjdmUiPkludGVnZXIgb3ZlcmZsb3cgaW4gTWVtb3J5IE1hbmFnZXIgaW4gTWljcm9zb2Z0IFdpbmRvd3MgWFAgU1AyIGFuZCBTUDMsIFNlcnZlciAyMDAzIFNQMSBhbmQgU1AyLCBWaXN0YSBHb2xkIGFuZCBTUDEsIGFuZCBTZXJ2ZXIgMjAwOCBhbGxvd3MgbG9jYWwgdXNlcnMgdG8gZ2FpbiBwcml2aWxlZ2VzIHZpYSBhIGNyYWZ0ZWQgYXBwbGljYXRpb24gdGhhdCB0cmlnZ2VycyBhbiBlcnJvbmVvdXMgZGVjcmVtZW50IG9mIGEgdmFyaWFibGUsIHJlbGF0ZWQgdG8gdmFsaWRhdGlvbiBvZiBwYXJhbWV0ZXJzIGZvciBWaXJ0dWFsIEFkZHJlc3MgRGVzY3JpcHRvcnMgKFZBRHMpIGFuZCBhICJtZW1vcnkgYWxsb2NhdGlvbiBtYXBwaW5nIGVycm9yLCIgYWthICJWaXJ0dWFsIEFkZHJlc3MgRGVzY3JpcHRvciBFbGV2YXRpb24gb2YgUHJpdmlsZWdlIFZ1bG5lcmFiaWxpdHkuIjwvZGVzY3JpcHQ+DQorICAgICAgICA8L2Rlc2M+DQorICAgICAgICA8bG9zc190eXBlcz4NCisgICAgICAgICAgICA8YXZhaWwgLz4NCisgICAgICAgICAgICA8Y29uZiAvPg0KKyAgICAgICAgICAgIDxpbnQgLz4NCisgICAgICAgIDwvbG9zc190eXBlcz4NCisgICAgICAgIDxyYW5nZT4NCisgICAgICAgICAgICA8bG9jYWwgLz4NCisgICAgICAgIDwvcmFuZ2U+DQorICAgICAgICA8cmVmcz4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iTVMiIHVybD0iaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3RlY2huZXQvc2VjdXJpdHkvQnVsbGV0aW4vTVMwOC0wNjQubXNweCI+TVMwOC0wNjQ8L3JlZj4NCisgICAgICAgIDwvcmVmcz4NCisgICAgICAgIDx2dWxuX3NvZnQ+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJtaWNyb3NvZnQiIG5hbWU9IndpbmRvd3Nfc2VydmVyXzIwMDMiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJzcDEiIG51bT0iIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJzcDE6eDY0IiBudW09IiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0ic3AxOml0YW5pdW0iIG51bT0iIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJzcDIiIG51bT0iIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJzcDI6eDY0IiBudW09IiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0ic3AyOml0YW5pdW0iIG51bT0iIiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9Im1pY3Jvc29mdCIgbmFtZT0id2luZG93c19zZXJ2ZXJfMjAwOCI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249IjppdGFuaXVtIiBudW09IiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iOngzMiIgbnVtPSIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249Ijp4NjQiIG51bT0iIiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9Im1pY3Jvc29mdCIgbmFtZT0id2luZG93c192aXN0YSI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249Ijp4NjQiIG51bT0iIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJzcDEiIG51bT0iIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJzcDE6eDY0IiBudW09IiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSJzcDEiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0ibWljcm9zb2Z0IiBuYW1lPSJ3aW5kb3dzX3hwIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0ic3AyIiBudW09IiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0ic3AyOng2NCIgbnVtPSIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InNwMyIgbnVtPSIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249Ing2NCIgbnVtPSIiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgPC92dWxuX3NvZnQ+DQorICAgIDwvZW50cnk+CisgICAgPGVudHJ5IENWU1NfdmVjdG9yPSIoQVY6Ti9BQzpML0F1Ok4vQzpDL0k6Qy9BOkMpIiBDVlNTX2Jhc2Vfc2NvcmU9IjEwLjAiIENWU1NfZXhwbG9pdF9zdWJzY29yZT0iMTAuMCIgQ1ZTU19pbXBhY3Rfc3Vic2NvcmU9IjEwLjAiIG5hbWU9IkNWRS0yMDA4LTQwMzgiIHNlcT0iMjAwOC00MDM4IiBzZXZlcml0eT0iSGlnaCIgdHlwZT0iQ1ZFIiBwdWJsaXNoZWQ9IjIwMDgtMTAtMTQiIENWU1NfdmVyc2lvbj0iMi4wIiBDVlNTX3Njb3JlPSIxMC4wIiBtb2RpZmllZD0iMjAwOC0xMC0xNSI+DQorICAgICAgICA8ZGVzYz4NCisgICAgICAgICAgICA8ZGVzY3JpcHQgc291cmNlPSJjdmUiPkJ1ZmZlciB1bmRlcmZsb3cgaW4gTWljcm9zb2Z0IFdpbmRvd3MgMjAwMCBTUDQsIFhQIFNQMiBhbmQgU1AzLCBTZXJ2ZXIgMjAwMyBTUDEgYW5kIFNQMiwgVmlzdGEgR29sZCBhbmQgU1AxLCBhbmQgU2VydmVyIDIwMDggYWxsb3dzIHJlbW90ZSBhdHRhY2tlcnMgdG8gZXhlY3V0ZSBhcmJpdHJhcnkgY29kZSB2aWEgYSBTZXJ2ZXIgTWVzc2FnZSBCbG9jayAoU01CKSByZXF1ZXN0IHRoYXQgY29udGFpbnMgYSBmaWxlbmFtZSB3aXRoIGEgY3JhZnRlZCBsZW5ndGgsIGFrYSAiU01CIEJ1ZmZlciBVbmRlcmZsb3cgVnVsbmVyYWJpbGl0eS4iPC9kZXNjcmlwdD4NCisgICAgICAgIDwvZGVzYz4NCisgICAgICAgIDxsb3NzX3R5cGVzPg0KKyAgICAgICAgICAgIDxhdmFpbCAvPg0KKyAgICAgICAgICAgIDxjb25mIC8+DQorICAgICAgICAgICAgPGludCAvPg0KKyAgICAgICAgICAgIDxzZWNfcHJvdCBhZG1pbj0iMSIgLz4NCisgICAgICAgIDwvbG9zc190eXBlcz4NCisgICAgICAgIDxyYW5nZT4NCisgICAgICAgICAgICA8bmV0d29yayAvPg0KKyAgICAgICAgPC9yYW5nZT4NCisgICAgICAgIDxyZWZzPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJNUyIgdXJsPSJodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vdGVjaG5ldC9zZWN1cml0eS9CdWxsZXRpbi9NUzA4LTA2My5tc3B4IiBhZHY9IjEiPk1TMDgtMDYzPC9yZWY+DQorICAgICAgICA8L3JlZnM+DQorICAgICAgICA8dnVsbl9zb2Z0Pg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0ibWljcm9zb2Z0IiBuYW1lPSJ3aW5kb3dzXzIwMDAiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJzcDQiIG51bT0iIiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9Im1pY3Jvc29mdCIgbmFtZT0id2luZG93c19zZXJ2ZXJfMjAwMyI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InNwMSIgbnVtPSIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InNwMTp4NjQiIG51bT0iIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJzcDE6aXRhbml1bSIgbnVtPSIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InNwMiIgbnVtPSIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InNwMjp4NjQiIG51bT0iIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJzcDI6aXRhbml1bSIgbnVtPSIiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0ibWljcm9zb2Z0IiBuYW1lPSJ3aW5kb3dzX3NlcnZlcl8yMDA4Ij4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iOml0YW5pdW0iIG51bT0iIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSI6eDMyIiBudW09IiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iOng2NCIgbnVtPSIiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0ibWljcm9zb2Z0IiBuYW1lPSJ3aW5kb3dzX3Zpc3RhIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iOng2NCIgbnVtPSIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InNwMSIgbnVtPSIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InNwMTp4NjQiIG51bT0iIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09InNwMSIgLz4NCisgICAgICAgICAgICA8L3Byb2Q+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJtaWNyb3NvZnQiIG5hbWU9IndpbmRvd3NfeHAiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJzcDIiIG51bT0iIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJzcDI6eDY0IiBudW09IiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0ic3AzIiBudW09IiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0ieDY0IiBudW09IiIgLz4NCisgICAgICAgICAgICA8L3Byb2Q+DQorICAgICAgICA8L3Z1bG5fc29mdD4NCisgICAgPC9lbnRyeT4KKyAgICA8ZW50cnkgQ1ZTU192ZWN0b3I9IihBVjpOL0FDOkwvQXU6Ti9DOlAvSTpQL0E6UCkiIENWU1NfYmFzZV9zY29yZT0iNy41IiBDVlNTX2V4cGxvaXRfc3Vic2NvcmU9IjEwLjAiIENWU1NfaW1wYWN0X3N1YnNjb3JlPSI2LjQiIG5hbWU9IkNWRS0yMDA4LTQ1NjkiIHNlcT0iMjAwOC00NTY5IiBzZXZlcml0eT0iSGlnaCIgdHlwZT0iQ1ZFIiBwdWJsaXNoZWQ9IjIwMDgtMTAtMTUiIENWU1NfdmVyc2lvbj0iMi4wIiBDVlNTX3Njb3JlPSI3LjUiIG1vZGlmaWVkPSIyMDA4LTEwLTE2Ij4NCisgICAgICAgIDxkZXNjPg0KKyAgICAgICAgICAgIDxkZXNjcmlwdCBzb3VyY2U9ImN2ZSI+U1FMIGluamVjdGlvbiB2dWxuZXJhYmlsaXR5IGluIHhsYWNvbW1lbnRzLmFzcCBpbiBYSUdMQSBTb2Z0d2FyZSBBYnNvbHV0ZSBQb2xsIE1hbmFnZXIgWEUgNC4xIGFsbG93cyByZW1vdGUgYXR0YWNrZXJzIHRvIGV4ZWN1dGUgYXJiaXRyYXJ5IFNRTCBjb21tYW5kcyB2aWEgdGhlIHAgcGFyYW1ldGVyLjwvZGVzY3JpcHQ+DQorICAgICAgICA8L2Rlc2M+DQorICAgICAgICA8bG9zc190eXBlcz4NCisgICAgICAgICAgICA8YXZhaWwgLz4NCisgICAgICAgICAgICA8Y29uZiAvPg0KKyAgICAgICAgICAgIDxpbnQgLz4NCisgICAgICAgICAgICA8c2VjX3Byb3Qgb3RoZXI9IjEiIC8+DQorICAgICAgICA8L2xvc3NfdHlwZXM+DQorICAgICAgICA8cmFuZ2U+DQorICAgICAgICAgICAgPG5ldHdvcmsgLz4NCisgICAgICAgIDwvcmFuZ2U+DQorICAgICAgICA8cmVmcz4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQklEIiB1cmw9Imh0dHA6Ly93d3cuc2VjdXJpdHlmb2N1cy5jb20vYmlkLzMxNzI0Ij4zMTcyNDwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJNSUxXMFJNIiB1cmw9Imh0dHA6Ly93d3cubWlsdzBybS5jb20vZXhwbG9pdHMvNjczMSI+NjczMTwvcmVmPg0KKyAgICAgICAgPC9yZWZzPg0KKyAgICAgICAgPHZ1bG5fc29mdD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9InhpZ2xhIiBuYW1lPSJhYnNvbHV0ZV9wb2xsX21hbmFnZXJfeGUiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjQuMSIgLz4NCisgICAgICAgICAgICA8L3Byb2Q+DQorICAgICAgICA8L3Z1bG5fc29mdD4NCisgICAgPC9lbnRyeT4KKyAgICA8ZW50cnkgQ1ZTU192ZWN0b3I9IihBVjpOL0FDOkwvQXU6Ti9DOlAvSTpQL0E6UCkiIENWU1NfYmFzZV9zY29yZT0iNy41IiBDVlNTX2V4cGxvaXRfc3Vic2NvcmU9IjEwLjAiIENWU1NfaW1wYWN0X3N1YnNjb3JlPSI2LjQiIG5hbWU9IkNWRS0yMDA4LTQ1NzAiIHNlcT0iMjAwOC00NTcwIiBzZXZlcml0eT0iSGlnaCIgdHlwZT0iQ1ZFIiBwdWJsaXNoZWQ9IjIwMDgtMTAtMTUiIENWU1NfdmVyc2lvbj0iMi4wIiBDVlNTX3Njb3JlPSI3LjUiIG1vZGlmaWVkPSIyMDA4LTEwLTE2Ij4NCisgICAgICAgIDxkZXNjPg0KKyAgICAgICAgICAgIDxkZXNjcmlwdCBzb3VyY2U9ImN2ZSI+U1FMIGluamVjdGlvbiB2dWxuZXJhYmlsaXR5IGluIGluZGV4LnBocCBpbiBSZWFsIEVzdGF0ZSBDbGFzc2lmaWVkcyBhbGxvd3MgcmVtb3RlIGF0dGFja2VycyB0byBleGVjdXRlIGFyYml0cmFyeSBTUUwgY29tbWFuZHMgdmlhIHRoZSBjYXQgcGFyYW1ldGVyLjwvZGVzY3JpcHQ+DQorICAgICAgICA8L2Rlc2M+DQorICAgICAgICA8bG9zc190eXBlcz4NCisgICAgICAgICAgICA8YXZhaWwgLz4NCisgICAgICAgICAgICA8Y29uZiAvPg0KKyAgICAgICAgICAgIDxpbnQgLz4NCisgICAgICAgICAgICA8c2VjX3Byb3Qgb3RoZXI9IjEiIC8+DQorICAgICAgICA8L2xvc3NfdHlwZXM+DQorICAgICAgICA8cmFuZ2U+DQorICAgICAgICAgICAgPG5ldHdvcmsgLz4NCisgICAgICAgIDwvcmFuZ2U+DQorICAgICAgICA8cmVmcz4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQklEIiB1cmw9Imh0dHA6Ly93d3cuc2VjdXJpdHlmb2N1cy5jb20vYmlkLzMxNzIzIj4zMTcyMzwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJNSUxXMFJNIiB1cmw9Imh0dHA6Ly93d3cubWlsdzBybS5jb20vZXhwbG9pdHMvNjczNiI+NjczNjwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJTRUNVTklBIiB1cmw9Imh0dHA6Ly9zZWN1bmlhLmNvbS9hZHZpc29yaWVzLzMyMjIzIiBhZHY9IjEiPjMyMjIzPC9yZWY+DQorICAgICAgICA8L3JlZnM+DQorICAgICAgICA8dnVsbl9zb2Z0Pg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0icmVhbC1lc3RhdGUtc2NyaXB0cyIgbmFtZT0icmVhbC1lc3RhdGUtc2NyaXB0cyI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iIiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgIDwvdnVsbl9zb2Z0Pg0KKyAgICA8L2VudHJ5PgorICAgIDxlbnRyeSBDVlNTX3ZlY3Rvcj0iKEFWOk4vQUM6TS9BdTpOL0M6Ti9JOlAvQTpOKSIgQ1ZTU19iYXNlX3Njb3JlPSI0LjMiIENWU1NfZXhwbG9pdF9zdWJzY29yZT0iOC42IiBDVlNTX2ltcGFjdF9zdWJzY29yZT0iMi45IiBuYW1lPSJDVkUtMjAwOC00NTcxIiBzZXE9IjIwMDgtNDU3MSIgc2V2ZXJpdHk9Ik1lZGl1bSIgdHlwZT0iQ1ZFIiBwdWJsaXNoZWQ9IjIwMDgtMTAtMTUiIENWU1NfdmVyc2lvbj0iMi4wIiBDVlNTX3Njb3JlPSI0LjMiIG1vZGlmaWVkPSIyMDA4LTEwLTE2Ij4NCisgICAgICAgIDxkZXNjPg0KKyAgICAgICAgICAgIDxkZXNjcmlwdCBzb3VyY2U9ImN2ZSI+Q3Jvc3Mtc2l0ZSBzY3JpcHRpbmcgKFhTUykgdnVsbmVyYWJpbGl0eSBpbiB0aGUgTGl2ZVNlYXJjaCBtb2R1bGUgaW4gUGxvbmUgYmVmb3JlIDMuMC40IGFsbG93cyByZW1vdGUgYXR0YWNrZXJzIHRvIGluamVjdCBhcmJpdHJhcnkgd2ViIHNjcmlwdCBvciBIVE1MIHZpYSB0aGUgRGVzY3JpcHRpb24gZmllbGQgZm9yIHNlYXJjaCByZXN1bHRzLCBhcyBkZW1vbnN0cmF0ZWQgdXNpbmcgdGhlIG9uZXJyb3IgSmF2YXNjcmlwdCBldmVuIGluIGFuIElNRyB0YWcuPC9kZXNjcmlwdD4NCisgICAgICAgIDwvZGVzYz4NCisgICAgICAgIDxsb3NzX3R5cGVzPg0KKyAgICAgICAgICAgIDxpbnQgLz4NCisgICAgICAgIDwvbG9zc190eXBlcz4NCisgICAgICAgIDxyYW5nZT4NCisgICAgICAgICAgICA8bmV0d29yayAvPg0KKyAgICAgICAgICAgIDx1c2VyX2luaXQgLz4NCisgICAgICAgIDwvcmFuZ2U+DQorICAgICAgICA8cmVmcz4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQklEIiBwYXRjaD0iMSIgdXJsPSJodHRwOi8vd3d3LnNlY3VyaXR5Zm9jdXMuY29tL2JpZC8yNzA5OCI+MjcwOTg8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQ09ORklSTSIgcGF0Y2g9IjEiIHVybD0iaHR0cDovL3Bsb25lLm9yZy9wcm9kdWN0cy9wbG9uZS9yZWxlYXNlcy8zLjAuNCI+aHR0cDovL3Bsb25lLm9yZy9wcm9kdWN0cy9wbG9uZS9yZWxlYXNlcy8zLjAuNDwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJTRUNVTklBIiB1cmw9Imh0dHA6Ly9zZWN1bmlhLmNvbS9hZHZpc29yaWVzLzI4MjkzIiBhZHY9IjEiPjI4MjkzPC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkNPTkZJUk0iIHVybD0iaHR0cDovL2Rldi5wbG9uZS5vcmcvcGxvbmUvdGlja2V0Lzc0MzkiIGFkdj0iMSI+aHR0cDovL2Rldi5wbG9uZS5vcmcvcGxvbmUvdGlja2V0Lzc0Mzk8L3JlZj4NCisgICAgICAgIDwvcmVmcz4NCisgICAgICAgIDx2dWxuX3NvZnQ+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJwbG9uZSIgbmFtZT0icGxvbmUiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuMC41IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuMS4yIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjUuMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjUuMV9yYyIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjUuNCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjVfYmV0YTEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMy4wIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjMuMC4xIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjMuMC4yIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjMuMC4zIiBwcmV2PSIxIiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgIDwvdnVsbl9zb2Z0Pg0KKyAgICA8L2VudHJ5PgorICAgIDxlbnRyeSBDVlNTX3ZlY3Rvcj0iKEFWOk4vQUM6TC9BdTpOL0M6Qy9JOkMvQTpDKSIgQ1ZTU19iYXNlX3Njb3JlPSIxMC4wIiBDVlNTX2V4cGxvaXRfc3Vic2NvcmU9IjEwLjAiIENWU1NfaW1wYWN0X3N1YnNjb3JlPSIxMC4wIiBuYW1lPSJDVkUtMjAwOC00NTcyIiBzZXE9IjIwMDgtNDU3MiIgc2V2ZXJpdHk9IkhpZ2giIHR5cGU9IkNWRSIgcHVibGlzaGVkPSIyMDA4LTEwLTE1IiBDVlNTX3ZlcnNpb249IjIuMCIgQ1ZTU19zY29yZT0iMTAuMCIgbW9kaWZpZWQ9IjIwMDgtMTAtMTYiPg0KKyAgICAgICAgPGRlc2M+DQorICAgICAgICAgICAgPGRlc2NyaXB0IHNvdXJjZT0iY3ZlIj5HdWlsZEZUUGQgMC45OTkuMTQsIGFuZCBwb3NzaWJseSBvdGhlciB2ZXJzaW9ucywgYWxsb3dzIHJlbW90ZSBhdHRhY2tlcnMgdG8gY2F1c2UgYSBkZW5pYWwgb2Ygc2VydmljZSAoY3Jhc2gpIGFuZCBwb3NzaWJseSBleGVjdXRlIGFyYml0cmFyeSBjb2RlIHZpYSBsb25nIGFyZ3VtZW50cyB0byB0aGUgQ1dEIGFuZCBMSVNUIGNvbW1hbmRzLCB3aGljaCB0cmlnZ2VycyBoZWFwIGNvcnJ1cHRpb24gcmVsYXRlZCB0byBhbiBpbXByb3BlciBmcmVlIGNhbGwsIGFuZCBwb3NzaWJseSB0cmlnZ2VyaW5nIGEgaGVhcC1iYXNlZCBidWZmZXIgb3ZlcmZsb3cuPC9kZXNjcmlwdD4NCisgICAgICAgIDwvZGVzYz4NCisgICAgICAgIDxsb3NzX3R5cGVzPg0KKyAgICAgICAgICAgIDxhdmFpbCAvPg0KKyAgICAgICAgICAgIDxjb25mIC8+DQorICAgICAgICAgICAgPGludCAvPg0KKyAgICAgICAgICAgIDxzZWNfcHJvdCBhZG1pbj0iMSIgLz4NCisgICAgICAgIDwvbG9zc190eXBlcz4NCisgICAgICAgIDxyYW5nZT4NCisgICAgICAgICAgICA8bmV0d29yayAvPg0KKyAgICAgICAgPC9yYW5nZT4NCisgICAgICAgIDxyZWZzPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJCSUQiIHVybD0iaHR0cDovL3d3dy5zZWN1cml0eWZvY3VzLmNvbS9iaWQvMzE3MjkiPjMxNzI5PC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9Ik1JTFcwUk0iIHVybD0iaHR0cDovL3d3dy5taWx3MHJtLmNvbS9leHBsb2l0cy82NzM4Ij42NzM4PC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkZSU0lSVCIgdXJsPSJodHRwOi8vd3d3LmZyc2lydC5jb20vZW5nbGlzaC9hZHZpc29yaWVzLzIwMDgvMjc5NCIgYWR2PSIxIj5BRFYtMjAwOC0yNzk0PC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IlNFQ1VOSUEiIHVybD0iaHR0cDovL3NlY3VuaWEuY29tL2Fkdmlzb3JpZXMvMzIyMTgiIGFkdj0iMSI+MzIyMTg8L3JlZj4NCisgICAgICAgIDwvcmVmcz4NCisgICAgICAgIDx2dWxuX3NvZnQ+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJndWlsZGZ0cGQiIG5hbWU9Imd1aWxkZnRwZCI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMC45OTkuMTQiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgPC92dWxuX3NvZnQ+DQorICAgIDwvZW50cnk+CisgICAgPGVudHJ5IENWU1NfdmVjdG9yPSIoQVY6Ti9BQzpML0F1Ok4vQzpQL0k6UC9BOlApIiBDVlNTX2Jhc2Vfc2NvcmU9IjcuNSIgQ1ZTU19leHBsb2l0X3N1YnNjb3JlPSIxMC4wIiBDVlNTX2ltcGFjdF9zdWJzY29yZT0iNi40IiBuYW1lPSJDVkUtMjAwOC00NTczIiBzZXE9IjIwMDgtNDU3MyIgc2V2ZXJpdHk9IkhpZ2giIHR5cGU9IkNWRSIgcHVibGlzaGVkPSIyMDA4LTEwLTE1IiBDVlNTX3ZlcnNpb249IjIuMCIgQ1ZTU19zY29yZT0iNy41IiBtb2RpZmllZD0iMjAwOC0xMC0xNiI+DQorICAgICAgICA8ZGVzYz4NCisgICAgICAgICAgICA8ZGVzY3JpcHQgc291cmNlPSJjdmUiPlNRTCBpbmplY3Rpb24gdnVsbmVyYWJpbGl0eSBpbiBrYXRlZ29yaS5hc3AgaW4gTXVuenVyU29mdCBXZXAgUG9ydGFsIFczIGFsbG93cyByZW1vdGUgYXR0YWNrZXJzIHRvIGV4ZWN1dGUgYXJiaXRyYXJ5IFNRTCBjb21tYW5kcyB2aWEgdGhlIGthdCBwYXJhbWV0ZXIuPC9kZXNjcmlwdD4NCisgICAgICAgIDwvZGVzYz4NCisgICAgICAgIDxsb3NzX3R5cGVzPg0KKyAgICAgICAgICAgIDxhdmFpbCAvPg0KKyAgICAgICAgICAgIDxjb25mIC8+DQorICAgICAgICAgICAgPGludCAvPg0KKyAgICAgICAgICAgIDxzZWNfcHJvdCBvdGhlcj0iMSIgLz4NCisgICAgICAgIDwvbG9zc190eXBlcz4NCisgICAgICAgIDxyYW5nZT4NCisgICAgICAgICAgICA8bmV0d29yayAvPg0KKyAgICAgICAgPC9yYW5nZT4NCisgICAgICAgIDxyZWZzPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJCSUQiIHVybD0iaHR0cDovL3d3dy5zZWN1cml0eWZvY3VzLmNvbS9iaWQvMzE3MTMiPjMxNzEzPC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9Ik1JTFcwUk0iIHVybD0iaHR0cDovL3d3dy5taWx3MHJtLmNvbS9leHBsb2l0cy82NzI1Ij42NzI1PC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IlNFQ1VOSUEiIHVybD0iaHR0cDovL3NlY3VuaWEuY29tL2Fkdmlzb3JpZXMvMzIyMzgiIGFkdj0iMSI+MzIyMzg8L3JlZj4NCisgICAgICAgIDwvcmVmcz4NCisgICAgICAgIDx2dWxuX3NvZnQ+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJhc3BpbmRpciIgbmFtZT0ibXVuenVyc29mdF93ZWJfcG9ydGFsX3czIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgPC92dWxuX3NvZnQ+DQorICAgIDwvZW50cnk+CisgICAgPGVudHJ5IENWU1NfdmVjdG9yPSIoQVY6Ti9BQzpML0F1Ok4vQzpQL0k6UC9BOlApIiBDVlNTX2Jhc2Vfc2NvcmU9IjcuNSIgQ1ZTU19leHBsb2l0X3N1YnNjb3JlPSIxMC4wIiBDVlNTX2ltcGFjdF9zdWJzY29yZT0iNi40IiBuYW1lPSJDVkUtMjAwOC00NTc0IiBzZXE9IjIwMDgtNDU3NCIgc2V2ZXJpdHk9IkhpZ2giIHR5cGU9IkNWRSIgcHVibGlzaGVkPSIyMDA4LTEwLTE1IiBDVlNTX3ZlcnNpb249IjIuMCIgQ1ZTU19zY29yZT0iNy41IiBtb2RpZmllZD0iMjAwOC0xMC0xNiI+DQorICAgICAgICA8ZGVzYz4NCisgICAgICAgICAgICA8ZGVzY3JpcHQgc291cmNlPSJjdmUiPlNRTCBpbmplY3Rpb24gdnVsbmVyYWJpbGl0eSBpbiBkZWZhdWx0LmFzcCBpbiBBeWNvIE9rdWwgUG9ydGFsaSBhbGxvd3MgcmVtb3RlIGF0dGFja2VycyB0byBleGVjdXRlIGFyYml0cmFyeSBTUUwgY29tbWFuZHMgdmlhIHRoZSBsaW5raWQgcGFyYW1ldGVyLjwvZGVzY3JpcHQ+DQorICAgICAgICA8L2Rlc2M+DQorICAgICAgICA8bG9zc190eXBlcz4NCisgICAgICAgICAgICA8YXZhaWwgLz4NCisgICAgICAgICAgICA8Y29uZiAvPg0KKyAgICAgICAgICAgIDxpbnQgLz4NCisgICAgICAgICAgICA8c2VjX3Byb3Qgb3RoZXI9IjEiIC8+DQorICAgICAgICA8L2xvc3NfdHlwZXM+DQorICAgICAgICA8cmFuZ2U+DQorICAgICAgICAgICAgPG5ldHdvcmsgLz4NCisgICAgICAgIDwvcmFuZ2U+DQorICAgICAgICA8cmVmcz4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iWEYiIHVybD0iaHR0cDovL3hmb3JjZS5pc3MubmV0L3hmb3JjZS94ZmRiLzQ1ODAxIj5hb3AtbGlua2lkLXNxbC1pbmplY3Rpb24oNDU4MDEpPC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkJJRCIgdXJsPSJodHRwOi8vd3d3LnNlY3VyaXR5Zm9jdXMuY29tL2JpZC8zMTcwNCI+MzE3MDQ8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iTUlMVzBSTSIgdXJsPSJodHRwOi8vd3d3Lm1pbHcwcm0uY29tL2V4cGxvaXRzLzY3MjAiPjY3MjA8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iU0VDVU5JQSIgdXJsPSJodHRwOi8vc2VjdW5pYS5jb20vYWR2aXNvcmllcy8zMjI0NCI+MzIyNDQ8L3JlZj4NCisgICAgICAgIDwvcmVmcz4NCisgICAgICAgIDx2dWxuX3NvZnQ+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJhc3BpbmRpciIgbmFtZT0iYXljb19va3VsX3BvcnRhbGkiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IiIgLz4NCisgICAgICAgICAgICA8L3Byb2Q+DQorICAgICAgICA8L3Z1bG5fc29mdD4NCisgICAgPC9lbnRyeT4KKyAgICA8ZW50cnkgQ1ZTU192ZWN0b3I9IihBVjpML0FDOkwvQXU6Ti9DOkMvSTpDL0E6QykiIENWU1NfYmFzZV9zY29yZT0iNy4yIiBDVlNTX2V4cGxvaXRfc3Vic2NvcmU9IjMuOSIgQ1ZTU19pbXBhY3Rfc3Vic2NvcmU9IjEwLjAiIG5hbWU9IkNWRS0yMDA4LTQ1NTMiIHNlcT0iMjAwOC00NTUzIiBzZXZlcml0eT0iSGlnaCIgdHlwZT0iQ1ZFIiBwdWJsaXNoZWQ9IjIwMDgtMTAtMTUiIENWU1NfdmVyc2lvbj0iMi4wIiBDVlNTX3Njb3JlPSI3LjIiIG1vZGlmaWVkPSIyMDA4LTEwLTE2Ij4NCisgICAgICAgIDxkZXNjPg0KKyAgICAgICAgICAgIDxkZXNjcmlwdCBzb3VyY2U9ImN2ZSI+cWVtdS1tYWtlLWRlYmlhbi1yb290IGluIHFlbXUgMC45LjEtNSBvbiBEZWJpYW4gR05VL0xpbnV4IGFsbG93cyBsb2NhbCB1c2VycyB0byBvdmVyd3JpdGUgYXJiaXRyYXJ5IGZpbGVzIHZpYSBhIHN5bWxpbmsgYXR0YWNrIG9uIHRlbXBvcmFyeSBmaWxlcyBhbmQgZGlyZWN0b3JpZXMuPC9kZXNjcmlwdD4NCisgICAgICAgIDwvZGVzYz4NCisgICAgICAgIDxsb3NzX3R5cGVzPg0KKyAgICAgICAgICAgIDxhdmFpbCAvPg0KKyAgICAgICAgICAgIDxjb25mIC8+DQorICAgICAgICAgICAgPGludCAvPg0KKyAgICAgICAgICAgIDxzZWNfcHJvdCBhZG1pbj0iMSIgLz4NCisgICAgICAgIDwvbG9zc190eXBlcz4NCisgICAgICAgIDxyYW5nZT4NCisgICAgICAgICAgICA8bG9jYWwgLz4NCisgICAgICAgIDwvcmFuZ2U+DQorICAgICAgICA8cmVmcz4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iTUxJU1QiIHVybD0iaHR0cDovL3d3dy5vcGVud2FsbC5jb20vbGlzdHMvb3NzLXNlY3VyaXR5LzIwMDgvMTAvMTQvNCI+W29zcy1zZWN1cml0eV0gMjAwODEwMTQgUmU6IENWRSBpZCByZXF1ZXN0OiBxZW11PC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9Ik1MSVNUIiB1cmw9Imh0dHA6Ly93d3cub3BlbndhbGwuY29tL2xpc3RzL29zcy1zZWN1cml0eS8yMDA4LzEwLzEzLzIiPltvc3Mtc2VjdXJpdHldIDIwMDgxMDEzIENWRSBpZCByZXF1ZXN0OiBxZW11PC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkNPTkZJUk0iIHVybD0iaHR0cDovL2J1Z3MuZGViaWFuLm9yZy9jZ2ktYmluL2J1Z3JlcG9ydC5jZ2k/YnVnPTQ5NjM5NCI+aHR0cDovL2J1Z3MuZGViaWFuLm9yZy9jZ2ktYmluL2J1Z3JlcG9ydC5jZ2k/YnVnPTQ5NjM5NDwvcmVmPg0KKyAgICAgICAgPC9yZWZzPg0KKyAgICAgICAgPHZ1bG5fc29mdD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9InFlbXUiIG5hbWU9InFlbXUiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjAuOS4xLTUiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgPC92dWxuX3NvZnQ+DQorICAgIDwvZW50cnk+CisgICAgPGVudHJ5IENWU1NfdmVjdG9yPSIoQVY6TC9BQzpML0F1Ok4vQzpQL0k6UC9BOlApIiBDVlNTX2Jhc2Vfc2NvcmU9IjQuNiIgQ1ZTU19leHBsb2l0X3N1YnNjb3JlPSIzLjkiIENWU1NfaW1wYWN0X3N1YnNjb3JlPSI2LjQiIG5hbWU9IkNWRS0yMDA4LTQ1NTQiIHNlcT0iMjAwOC00NTU0IiBzZXZlcml0eT0iTWVkaXVtIiB0eXBlPSJDVkUiIHB1Ymxpc2hlZD0iMjAwOC0xMC0xNSIgQ1ZTU192ZXJzaW9uPSIyLjAiIENWU1Nfc2NvcmU9IjQuNiIgbW9kaWZpZWQ9IjIwMDgtMTAtMTYiPg0KKyAgICAgICAgPGRlc2M+DQorICAgICAgICAgICAgPGRlc2NyaXB0IHNvdXJjZT0iY3ZlIj5UaGUgZG9fc3BsaWNlX2Zyb20gZnVuY3Rpb24gaW4gZnMvc3BsaWNlLmMgaW4gdGhlIExpbnV4IGtlcm5lbCBiZWZvcmUgMi42LjI3IGRvZXMgbm90IHJlamVjdCBmaWxlIGRlc2NyaXB0b3JzIHRoYXQgaGF2ZSB0aGUgT19BUFBFTkQgZmxhZyBzZXQsIHdoaWNoIGFsbG93cyBsb2NhbCB1c2VycyB0byBieXBhc3MgYXBwZW5kIG1vZGUgYW5kIG1ha2UgYXJiaXRyYXJ5IGNoYW5nZXMgdG8gb3RoZXIgbG9jYXRpb25zIGluIHRoZSBmaWxlLjwvZGVzY3JpcHQ+DQorICAgICAgICA8L2Rlc2M+DQorICAgICAgICA8bG9zc190eXBlcz4NCisgICAgICAgICAgICA8YXZhaWwgLz4NCisgICAgICAgICAgICA8Y29uZiAvPg0KKyAgICAgICAgICAgIDxpbnQgLz4NCisgICAgICAgICAgICA8c2VjX3Byb3Qgb3RoZXI9IjEiIC8+DQorICAgICAgICA8L2xvc3NfdHlwZXM+DQorICAgICAgICA8cmFuZ2U+DQorICAgICAgICAgICAgPGxvY2FsIC8+DQorICAgICAgICA8L3JhbmdlPg0KKyAgICAgICAgPHJlZnM+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9Ik1MSVNUIiB1cmw9Imh0dHA6Ly93d3cub3BlbndhbGwuY29tL2xpc3RzL29zcy1zZWN1cml0eS8yMDA4LzEwLzE0LzUiPltvc3Mtc2VjdXJpdHldIDIwMDgxMDE0IFJlOiBDVkUgcmVxdWVzdDoga2VybmVsOiBkb24ndCBhbGxvdyBzcGxpY2UoKSB0byBmaWxlcyBvcGVuZWQgd2l0aCBPX0FQUEVORDwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJNTElTVCIgdXJsPSJodHRwOi8vd3d3Lm9wZW53YWxsLmNvbS9saXN0cy9vc3Mtc2VjdXJpdHkvMjAwOC8xMC8xMy8xIj5bb3NzLXNlY3VyaXR5XSAyMDA4MTAxMyBDVkUgcmVxdWVzdDoga2VybmVsOiBkb24ndCBhbGxvdyBzcGxpY2UoKSB0byBmaWxlcyBvcGVuZWQgd2l0aCBPX0FQUEVORDwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJDT05GSVJNIiB1cmw9Imh0dHA6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgva2VybmVsL3YyLjYvQ2hhbmdlTG9nLTIuNi4yNyI+aHR0cDovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC9rZXJuZWwvdjIuNi9DaGFuZ2VMb2ctMi42LjI3PC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkNPTkZJUk0iIHVybD0iaHR0cDovL2dpdC5rZXJuZWwub3JnLz9wPWxpbnV4L2tlcm5lbC9naXQvc3RhYmxlL2xpbnV4LTIuNi4yNi55LmdpdDthPWNvbW1pdDtoPWVmYzk2OGQ0NTBlMDEzMDQ5YTY2MmQyMjcyN2NmMTMyNjE4ZGNiMmYiPmh0dHA6Ly9naXQua2VybmVsLm9yZy8/cD1saW51eC9rZXJuZWwvZ2l0L3N0YWJsZS9saW51eC0yLjYuMjYueS5naXQ7YT1jb21taXQ7aD1lZmM5NjhkNDUwZTAxMzA0OWE2NjJkMjI3MjdjZjEzMjYxOGRjYjJmPC9yZWY+DQorICAgICAgICA8L3JlZnM+DQorICAgICAgICA8dnVsbl9zb2Z0Pg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0ibGludXgiIG5hbWU9Imtlcm5lbCI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi4yLjI3IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNC4zNiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjQuMzYuMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjQuMzYuMiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjQuMzYuMyIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjQuMzYuNCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjQuMzYuNSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjQuMzYuNiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjYiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InJjMSIgbnVtPSIyLjYuMTgiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InJjMiIgbnVtPSIyLjYuMTgiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InJjMyIgbnVtPSIyLjYuMTgiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InJjNCIgbnVtPSIyLjYuMTgiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InJjNSIgbnVtPSIyLjYuMTgiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InJjNiIgbnVtPSIyLjYuMTgiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InJjNyIgbnVtPSIyLjYuMTgiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi42LjE5LjQiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi42LjE5LjUiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi42LjE5LjYiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi42LjE5LjciIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi42LjIwLjE2IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNi4yMC4xNyIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjYuMjAuMTgiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi42LjIwLjE5IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNi4yMC4yMCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjYuMjAuMjEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi42LjIxLjUiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi42LjIxLjYiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi42LjIxLjciIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi42LjIyIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNi4yMi4xIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNi4yMi4xMCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjYuMjIuMTEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi42LjIyLjEyIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNi4yMi4xMyIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjYuMjIuMTQiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi42LjIyLjE1IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNi4yMi4xNyIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjYuMjIuMTgiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi42LjIyLjE5IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNi4yMi4yIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNi4yMi4yMCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjYuMjIuMjEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi42LjIyLjIyIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNi4yMi44IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNi4yMi45IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNi4yMl9yYzEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi42LjIyX3JjNyIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjYuMjMiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi42LjIzLjEwIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNi4yMy4xMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjYuMjMuMTIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi42LjIzLjEzIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNi4yMy4xNSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjYuMjMuMTYiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi42LjIzLjE3IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNi4yMy44IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNi4yMy45IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNi4yM19yYzEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi42LjI0IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNi4yNC4xIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNi4yNC4yIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNi4yNC4zIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNi4yNC40IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNi4yNC41IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNi4yNC42IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNi4yNC43IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNi4yNF9yYzEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi42LjI0X3JjNCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjYuMjRfcmM1IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSIiIG51bT0iMi42LjI1IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSI6eDg2XzY0IiBudW09IjIuNi4yNSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iIiBudW09IjIuNi4yNS4xIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSI6eDg2XzY0IiBudW09IjIuNi4yNS4xIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSIiIG51bT0iMi42LjI1LjEwIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSI6eDg2XzY0IiBudW09IjIuNi4yNS4xMCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iIiBudW09IjIuNi4yNS4xMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iOng4Nl82NCIgbnVtPSIyLjYuMjUuMTEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249IiIgbnVtPSIyLjYuMjUuMTIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249Ijp4ODZfNjQiIG51bT0iMi42LjI1LjEyIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNi4yNS4xMyIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjYuMjUuMTQiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi42LjI1LjE1IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSIiIG51bT0iMi42LjI1LjIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249Ijp4ODZfNjQiIG51bT0iMi42LjI1LjIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249IiIgbnVtPSIyLjYuMjUuMyIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iOng4Nl82NCIgbnVtPSIyLjYuMjUuMyIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iIiBudW09IjIuNi4yNS40IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSI6eDg2XzY0IiBudW09IjIuNi4yNS40IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSIiIG51bT0iMi42LjI1LjUiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249Ijp4ODZfNjQiIG51bT0iMi42LjI1LjUiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249IiIgbnVtPSIyLjYuMjUuNiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iOng4Nl82NCIgbnVtPSIyLjYuMjUuNiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iIiBudW09IjIuNi4yNS43IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSI6eDg2XzY0IiBudW09IjIuNi4yNS43IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSIiIG51bT0iMi42LjI1LjgiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249Ijp4ODZfNjQiIG51bT0iMi42LjI1LjgiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249IiIgbnVtPSIyLjYuMjUuOSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iOng4Nl82NCIgbnVtPSIyLjYuMjUuOSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0icmM0IiBudW09IjIuNi4yNiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjYuMjYuMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjYuMjYuMiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjYuMjYuMyIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjYuMjYuNCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjYuMjYuNSIgcHJldj0iMSIgLz4NCisgICAgICAgICAgICA8L3Byb2Q+DQorICAgICAgICA8L3Z1bG5fc29mdD4NCisgICAgPC9lbnRyeT4KKyAgICA8ZW50cnkgQ1ZTU192ZWN0b3I9IihBVjpOL0FDOkwvQXU6Ti9DOk4vSTpOL0E6UCkiIENWU1NfYmFzZV9zY29yZT0iNS4wIiBDVlNTX2V4cGxvaXRfc3Vic2NvcmU9IjEwLjAiIENWU1NfaW1wYWN0X3N1YnNjb3JlPSIyLjkiIG5hbWU9IkNWRS0yMDA4LTQ1NzUiIHNlcT0iMjAwOC00NTc1IiBzZXZlcml0eT0iTWVkaXVtIiB0eXBlPSJDVkUiIHB1Ymxpc2hlZD0iMjAwOC0xMC0xNSIgQ1ZTU192ZXJzaW9uPSIyLjAiIENWU1Nfc2NvcmU9IjUuMCIgbW9kaWZpZWQ9IjIwMDgtMTAtMTUiPg0KKyAgICAgICAgPGRlc2M+DQorICAgICAgICAgICAgPGRlc2NyaXB0IHNvdXJjZT0iY3ZlIj5CdWZmZXIgb3ZlcmZsb3cgaW4gdGhlIERvQ29tbWFuZCBmdW5jdGlvbiBpbiBqaGVhZCBiZWZvcmUgMi44NCBtaWdodCBhbGxvdyBjb250ZXh0LWRlcGVuZGVudCBhdHRhY2tlcnMgdG8gY2F1c2UgYSBkZW5pYWwgb2Ygc2VydmljZSAoY3Jhc2gpIHZpYSAoMSkgYSBsb25nIC1jbWQgYXJndW1lbnQgYW5kICgyKSBwb3NzaWJseSBvdGhlciB1bnNwZWNpZmllZCB2ZWN0b3JzLjwvZGVzY3JpcHQ+DQorICAgICAgICA8L2Rlc2M+DQorICAgICAgICA8bG9zc190eXBlcz4NCisgICAgICAgICAgICA8YXZhaWwgLz4NCisgICAgICAgIDwvbG9zc190eXBlcz4NCisgICAgICAgIDxyYW5nZT4NCisgICAgICAgICAgICA8bmV0d29yayAvPg0KKyAgICAgICAgPC9yYW5nZT4NCisgICAgICAgIDxyZWZzPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJDT05GSVJNIiB1cmw9Imh0dHBzOi8vYnVncy5sYXVuY2hwYWQubmV0L3VidW50dS8rc291cmNlL2poZWFkLytidWcvMjcxMDIwIj5odHRwczovL2J1Z3MubGF1bmNocGFkLm5ldC91YnVudHUvK3NvdXJjZS9qaGVhZC8rYnVnLzI3MTAyMDwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJDT05GSVJNIiB1cmw9Imh0dHA6Ly93d3cuc2VudGV4Lm5ldC9+bXdhbmRlbC9qaGVhZC9jaGFuZ2VzLnR4dCI+aHR0cDovL3d3dy5zZW50ZXgubmV0L35td2FuZGVsL2poZWFkL2NoYW5nZXMudHh0PC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9Ik1MSVNUIiB1cmw9Imh0dHA6Ly93d3cub3BlbndhbGwuY29tL2xpc3RzL29zcy1zZWN1cml0eS8yMDA4LzEwLzE1LzYiPltvc3Mtc2VjdXJpdHldIDIwMDgxMDE1IFJlOiBDVkUgcmVxdWVzdDogamhlYWQ8L3JlZj4NCisgICAgICAgIDwvcmVmcz4NCisgICAgICAgIDx2dWxuX3NvZnQ+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJzZW50ZXgiIG5hbWU9ImpoZWFkIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4zIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuNCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjUiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS42IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuNyIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjgiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS45IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuMCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi4yIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuMyIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjQiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi40LTEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi40LTIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi41IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjciIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi44IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuODIiIHByZXY9IjEiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgPC92dWxuX3NvZnQ+DQorICAgIDwvZW50cnk+CisgICAgPGVudHJ5IENWU1NfdmVjdG9yPSIoQVY6Ti9BQzpML0F1Ok4vQzpOL0k6Ti9BOkMpIiBDVlNTX2Jhc2Vfc2NvcmU9IjcuOCIgQ1ZTU19leHBsb2l0X3N1YnNjb3JlPSIxMC4wIiBDVlNTX2ltcGFjdF9zdWJzY29yZT0iNi45IiBuYW1lPSJDVkUtMjAwOC00NTc2IiBzZXE9IjIwMDgtNDU3NiIgc2V2ZXJpdHk9IkhpZ2giIHR5cGU9IkNWRSIgcHVibGlzaGVkPSIyMDA4LTEwLTE1IiBDVlNTX3ZlcnNpb249IjIuMCIgQ1ZTU19zY29yZT0iNy44IiBtb2RpZmllZD0iMjAwOC0xMC0xNiI+DQorICAgICAgICA8ZGVzYz4NCisgICAgICAgICAgICA8ZGVzY3JpcHQgc291cmNlPSJjdmUiPnNjdHAgaW4gTGludXgga2VybmVsIGJlZm9yZSAyLjYuMjUuMTggYWxsb3dzIHJlbW90ZSBhdHRhY2tlcnMgdG8gY2F1c2UgYSBkZW5pYWwgb2Ygc2VydmljZSAoT09QUykgdmlhIGFuIElOSVQtQUNLIHRoYXQgc3RhdGVzIHRoZSBwZWVyIGRvZXMgbm90IHN1cHBvcnQgQVVUSCwgd2hpY2ggY2F1c2VzIHRoZSBzY3RwX3Byb2Nlc3NfaW5pdCBmdW5jdGlvbiB0byBjbGVhbiB1cCBhY3RpdmUgdHJhbnNwb3J0cyBhbmQgdHJpZ2dlcnMgdGhlIE9PUFMgd2hlbiB0aGUgVDEtSW5pdCB0aW1lciBleHBpcmVzLjwvZGVzY3JpcHQ+DQorICAgICAgICA8L2Rlc2M+DQorICAgICAgICA8bG9zc190eXBlcz4NCisgICAgICAgICAgICA8YXZhaWwgLz4NCisgICAgICAgIDwvbG9zc190eXBlcz4NCisgICAgICAgIDxyYW5nZT4NCisgICAgICAgICAgICA8bmV0d29yayAvPg0KKyAgICAgICAgPC9yYW5nZT4NCisgICAgICAgIDxyZWZzPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJNTElTVCIgdXJsPSJodHRwOi8vd3d3Lmdvc3NhbWVyLXRocmVhZHMuY29tL2xpc3RzL2xpbnV4L2tlcm5lbC85ODEwMTI/cGFnZT1sYXN0Ij5bbGludXgta2VybmVsXSAyMDA4MTAwNiBbcGF0Y2ggNTgvNzFdIHNjdHA6IEZpeCBvb3BzIHdoZW4gSU5JVC1BQ0sgaW5kaWNhdGVzIHRoYXQgcGVlciBkb2VzbnQgc3VwcG9ydCBBVVRIPC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkNPTkZJUk0iIHVybD0iaHR0cDovL2tlcm5lbC5vcmcvcHViL2xpbnV4L2tlcm5lbC92Mi42L0NoYW5nZUxvZy0yLjYuMjUuMTgiPmh0dHA6Ly9rZXJuZWwub3JnL3B1Yi9saW51eC9rZXJuZWwvdjIuNi9DaGFuZ2VMb2ctMi42LjI1LjE4PC9yZWY+DQorICAgICAgICA8L3JlZnM+DQorICAgICAgICA8dnVsbl9zb2Z0Pg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0ibGludXgiIG5hbWU9Imtlcm5lbCI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi4yLjI3IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNC4zNiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjQuMzYuMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjQuMzYuMiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjQuMzYuMyIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjQuMzYuNCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjQuMzYuNSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjQuMzYuNiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjYiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InJjMSIgbnVtPSIyLjYuMTgiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InJjMiIgbnVtPSIyLjYuMTgiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InJjMyIgbnVtPSIyLjYuMTgiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InJjNCIgbnVtPSIyLjYuMTgiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InJjNSIgbnVtPSIyLjYuMTgiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InJjNiIgbnVtPSIyLjYuMTgiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249InJjNyIgbnVtPSIyLjYuMTgiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi42LjE5LjQiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi42LjE5LjUiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi42LjE5LjYiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi42LjE5LjciIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi42LjIwLjE2IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNi4yMC4xNyIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjYuMjAuMTgiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi42LjIwLjE5IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNi4yMC4yMCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjYuMjAuMjEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi42LjIxLjUiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi42LjIxLjYiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi42LjIxLjciIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi42LjIyIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNi4yMi4xIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNi4yMi4xMCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjYuMjIuMTEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi42LjIyLjEyIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNi4yMi4xMyIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjYuMjIuMTQiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi42LjIyLjE1IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNi4yMi4xNyIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjYuMjIuMTgiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi42LjIyLjE5IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNi4yMi4yIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNi4yMi4yMCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjYuMjIuMjEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi42LjIyLjIyIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNi4yMi44IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNi4yMi45IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNi4yMl9yYzEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi42LjIyX3JjNyIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjYuMjMiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi42LjIzLjEwIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNi4yMy4xMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjYuMjMuMTIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi42LjIzLjEzIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNi4yMy4xNSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjYuMjMuMTYiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi42LjIzLjE3IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNi4yMy44IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNi4yMy45IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNi4yM19yYzEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi42LjI0IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNi4yNC4xIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNi4yNC4yIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNi4yNC4zIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNi4yNC40IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNi4yNC41IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNi4yNC42IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNi4yNC43IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNi4yNF9yYzEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi42LjI0X3JjNCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjYuMjRfcmM1IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNi4yNSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iIiBudW09IjIuNi4yNS4xIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSI6eDg2XzY0IiBudW09IjIuNi4yNS4xIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSIiIG51bT0iMi42LjI1LjEwIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSI6eDg2XzY0IiBudW09IjIuNi4yNS4xMCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iIiBudW09IjIuNi4yNS4xMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iOng4Nl82NCIgbnVtPSIyLjYuMjUuMTEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249IiIgbnVtPSIyLjYuMjUuMTIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249Ijp4ODZfNjQiIG51bT0iMi42LjI1LjEyIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNi4yNS4xMyIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjYuMjUuMTQiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMi42LjI1LjE1IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjIuNi4yNS4xNiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjYuMjUuMTciIHByZXY9IjEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249IiIgbnVtPSIyLjYuMjUuMiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iOng4Nl82NCIgbnVtPSIyLjYuMjUuMiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iIiBudW09IjIuNi4yNS4zIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSI6eDg2XzY0IiBudW09IjIuNi4yNS4zIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSIiIG51bT0iMi42LjI1LjQiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249Ijp4ODZfNjQiIG51bT0iMi42LjI1LjQiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249IiIgbnVtPSIyLjYuMjUuNSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iOng4Nl82NCIgbnVtPSIyLjYuMjUuNSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iIiBudW09IjIuNi4yNS42IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSI6eDg2XzY0IiBudW09IjIuNi4yNS42IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSIiIG51bT0iMi42LjI1LjciIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249Ijp4ODZfNjQiIG51bT0iMi42LjI1LjciIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249IiIgbnVtPSIyLjYuMjUuOCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iOng4Nl82NCIgbnVtPSIyLjYuMjUuOCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0iIiBudW09IjIuNi4yNS45IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSI6eDg2XzY0IiBudW09IjIuNi4yNS45IiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgIDwvdnVsbl9zb2Z0Pg0KKyAgICA8L2VudHJ5PgorICAgIDxlbnRyeSBDVlNTX3ZlY3Rvcj0iKEFWOk4vQUM6TC9BdTpOL0M6UC9JOlAvQTpOKSIgQ1ZTU19iYXNlX3Njb3JlPSI2LjQiIENWU1NfZXhwbG9pdF9zdWJzY29yZT0iMTAuMCIgQ1ZTU19pbXBhY3Rfc3Vic2NvcmU9IjQuOSIgbmFtZT0iQ1ZFLTIwMDgtNDU3NyIgc2VxPSIyMDA4LTQ1NzciIHNldmVyaXR5PSJNZWRpdW0iIHR5cGU9IkNWRSIgcHVibGlzaGVkPSIyMDA4LTEwLTE1IiBDVlNTX3ZlcnNpb249IjIuMCIgQ1ZTU19zY29yZT0iNi40IiBtb2RpZmllZD0iMjAwOC0xMC0xNiI+DQorICAgICAgICA8ZGVzYz4NCisgICAgICAgICAgICA8ZGVzY3JpcHQgc291cmNlPSJjdmUiPlRoZSBBQ0wgcGx1Z2luIGluIERvdmVjb3QgYmVmb3JlIDEuMS40IHRyZWF0cyBuZWdhdGl2ZSBhY2Nlc3MgcmlnaHRzIGFzIGlmIHRoZXkgYXJlIHBvc2l0aXZlIGFjY2VzcyByaWdodHMsIHdoaWNoIGFsbG93cyBhdHRhY2tlcnMgdG8gYnlwYXNzIGludGVuZGVkIGFjY2VzcyByZXN0cmljdGlvbnMuPC9kZXNjcmlwdD4NCisgICAgICAgIDwvZGVzYz4NCisgICAgICAgIDxsb3NzX3R5cGVzPg0KKyAgICAgICAgICAgIDxjb25mIC8+DQorICAgICAgICAgICAgPGludCAvPg0KKyAgICAgICAgPC9sb3NzX3R5cGVzPg0KKyAgICAgICAgPHJhbmdlPg0KKyAgICAgICAgICAgIDxuZXR3b3JrIC8+DQorICAgICAgICA8L3JhbmdlPg0KKyAgICAgICAgPHJlZnM+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkZSU0lSVCIgcGF0Y2g9IjEiIHVybD0iaHR0cDovL3d3dy5mcnNpcnQuY29tL2VuZ2xpc2gvYWR2aXNvcmllcy8yMDA4LzI3NDUiIGFkdj0iMSI+QURWLTIwMDgtMjc0NTwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJNTElTVCIgcGF0Y2g9IjEiIHVybD0iaHR0cDovL3d3dy5kb3ZlY290Lm9yZy9saXN0L2RvdmVjb3QtbmV3cy8yMDA4LU9jdG9iZXIvMDAwMDg1Lmh0bWwiPltEb3ZlY290LW5ld3NdIDIwMDgxMDA1IHYxLjEuNCByZWxlYXNlZDwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJCSUQiIHVybD0iaHR0cDovL3d3dy5zZWN1cml0eWZvY3VzLmNvbS9iaWQvMzE1ODciPjMxNTg3PC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IlNFQ1VOSUEiIHVybD0iaHR0cDovL3NlY3VuaWEuY29tL2Fkdmlzb3JpZXMvMzIxNjQiIGFkdj0iMSI+MzIxNjQ8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQ09ORklSTSIgdXJsPSJodHRwOi8vYnVncy5nZW50b28ub3JnL3Nob3dfYnVnLmNnaT9pZD0yNDA0MDkiPmh0dHA6Ly9idWdzLmdlbnRvby5vcmcvc2hvd19idWcuY2dpP2lkPTI0MDQwOTwvcmVmPg0KKyAgICAgICAgPC9yZWZzPg0KKyAgICAgICAgPHZ1bG5fc29mdD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9ImRvdmVjb3QiIG5hbWU9ImRvdmVjb3QiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjAuOTkuMTMiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMC45OS4xNCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjAiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4wLjEwIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMC4xMiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjAuMiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjAuMyIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjAuNCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjAuNSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjAuNiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjAuNyIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjAuOCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjAuOSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjAuYmV0YTEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4wLmJldGEyIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMC5iZXRhMyIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjAuYmV0YTQiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4wLmJldGE1IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMC5iZXRhNiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjAuYmV0YTciIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4wLmJldGE4IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMC5iZXRhOSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjAucmMxIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMC5yYzEwIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMC5yYzExIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMC5yYzEyIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMC5yYzEzIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMC5yYzE0IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMC5yYzE1IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMC5yYzE2IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMC5yYzE3IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMC5yYzE4IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMC5yYzE5IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMC5yYzIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4wLnJjMjAiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4wLnJjMjEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4wLnJjMjIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4wLnJjMjMiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4wLnJjMjQiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4wLnJjMjUiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4wLnJjMjYiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4wLnJjMjciIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4wLnJjMjgiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4wLnJjMyIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjAucmM0IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMC5yYzUiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4wLnJjNiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjAucmM3IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMC5yYzgiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4wLnJjOSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjBfcmMyOSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0icmMyIiBudW09IjEuMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjEuMCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjEuMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjEuMiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjEuMyIgcHJldj0iMSIgLz4NCisgICAgICAgICAgICA8L3Byb2Q+DQorICAgICAgICA8L3Z1bG5fc29mdD4NCisgICAgPC9lbnRyeT4KKyAgICA8ZW50cnkgQ1ZTU192ZWN0b3I9IihBVjpOL0FDOkwvQXU6Ti9DOk4vSTpQL0E6TikiIENWU1NfYmFzZV9zY29yZT0iNS4wIiBDVlNTX2V4cGxvaXRfc3Vic2NvcmU9IjEwLjAiIENWU1NfaW1wYWN0X3N1YnNjb3JlPSIyLjkiIG5hbWU9IkNWRS0yMDA4LTQ1NzgiIHNlcT0iMjAwOC00NTc4IiBzZXZlcml0eT0iTWVkaXVtIiB0eXBlPSJDVkUiIHB1Ymxpc2hlZD0iMjAwOC0xMC0xNSIgQ1ZTU192ZXJzaW9uPSIyLjAiIENWU1Nfc2NvcmU9IjUuMCIgbW9kaWZpZWQ9IjIwMDgtMTAtMTYiPg0KKyAgICAgICAgPGRlc2M+DQorICAgICAgICAgICAgPGRlc2NyaXB0IHNvdXJjZT0iY3ZlIj5UaGUgQUNMIHBsdWdpbiBpbiBEb3ZlY290IGJlZm9yZSAxLjEuNCBhbGxvd3MgYXR0YWNrZXJzIHRvIGJ5cGFzcyBpbnRlbmRlZCBhY2Nlc3MgcmVzdHJpY3Rpb25zIGJ5IHVzaW5nIHRoZSAiayIgcmlnaHQgdG8gY3JlYXRlIHVuYXV0aG9yaXplZCAicGFyZW50L2NoaWxkL2NoaWxkIiBtYWlsYm94ZXMuPC9kZXNjcmlwdD4NCisgICAgICAgIDwvZGVzYz4NCisgICAgICAgIDxsb3NzX3R5cGVzPg0KKyAgICAgICAgICAgIDxpbnQgLz4NCisgICAgICAgIDwvbG9zc190eXBlcz4NCisgICAgICAgIDxyYW5nZT4NCisgICAgICAgICAgICA8bmV0d29yayAvPg0KKyAgICAgICAgPC9yYW5nZT4NCisgICAgICAgIDxyZWZzPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJNTElTVCIgcGF0Y2g9IjEiIHVybD0iaHR0cDovL3d3dy5kb3ZlY290Lm9yZy9saXN0L2RvdmVjb3QtbmV3cy8yMDA4LU9jdG9iZXIvMDAwMDg1Lmh0bWwiPltEb3ZlY290LW5ld3NdIDIwMDgxMDA1IHYxLjEuNCByZWxlYXNlZDwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJCSUQiIHVybD0iaHR0cDovL3d3dy5zZWN1cml0eWZvY3VzLmNvbS9iaWQvMzE1ODciPjMxNTg3PC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkZSU0lSVCIgdXJsPSJodHRwOi8vd3d3LmZyc2lydC5jb20vZW5nbGlzaC9hZHZpc29yaWVzLzIwMDgvMjc0NSIgYWR2PSIxIj5BRFYtMjAwOC0yNzQ1PC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IlNFQ1VOSUEiIHVybD0iaHR0cDovL3NlY3VuaWEuY29tL2Fkdmlzb3JpZXMvMzIxNjQiIGFkdj0iMSI+MzIxNjQ8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQ09ORklSTSIgdXJsPSJodHRwOi8vYnVncy5nZW50b28ub3JnL3Nob3dfYnVnLmNnaT9pZD0yNDA0MDkiPmh0dHA6Ly9idWdzLmdlbnRvby5vcmcvc2hvd19idWcuY2dpP2lkPTI0MDQwOTwvcmVmPg0KKyAgICAgICAgPC9yZWZzPg0KKyAgICAgICAgPHZ1bG5fc29mdD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9ImRvdmVjb3QiIG5hbWU9ImRvdmVjb3QiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjAuOTkuMTMiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMC45OS4xNCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjAiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4wLjEwIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMC4xMiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjAuMiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjAuMyIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjAuNCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjAuNSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjAuNiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjAuNyIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjAuOCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjAuOSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjAuYmV0YTEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4wLmJldGEyIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMC5iZXRhMyIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjAuYmV0YTQiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4wLmJldGE1IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMC5iZXRhNiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjAuYmV0YTciIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4wLmJldGE4IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMC5iZXRhOSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjAucmMxIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMC5yYzEwIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMC5yYzExIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMC5yYzEyIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMC5yYzEzIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMC5yYzE0IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMC5yYzE1IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMC5yYzE2IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMC5yYzE3IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMC5yYzE4IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMC5yYzE5IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMC5yYzIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4wLnJjMjAiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4wLnJjMjEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4wLnJjMjIiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4wLnJjMjMiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4wLnJjMjQiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4wLnJjMjUiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4wLnJjMjYiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4wLnJjMjciIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4wLnJjMjgiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4wLnJjMyIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjAucmM0IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMC5yYzUiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4wLnJjNiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjAucmM3IiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMC5yYzgiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMS4wLnJjOSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjBfcmMyOSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0icmMyIiBudW09IjEuMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjEuMCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjEuMSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjEuMiIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjEuMyIgcHJldj0iMSIgLz4NCisgICAgICAgICAgICA8L3Byb2Q+DQorICAgICAgICA8L3Z1bG5fc29mdD4NCisgICAgPC9lbnRyeT4KKyAgICA8ZW50cnkgQ1ZTU192ZWN0b3I9IihBVjpML0FDOk0vQXU6Ti9DOk4vSTpQL0E6TikiIENWU1NfYmFzZV9zY29yZT0iMS45IiBDVlNTX2V4cGxvaXRfc3Vic2NvcmU9IjMuNCIgQ1ZTU19pbXBhY3Rfc3Vic2NvcmU9IjIuOSIgbmFtZT0iQ1ZFLTIwMDgtNDU3OSIgc2VxPSIyMDA4LTQ1NzkiIHNldmVyaXR5PSJMb3ciIHR5cGU9IkNWRSIgcHVibGlzaGVkPSIyMDA4LTEwLTE1IiBDVlNTX3ZlcnNpb249IjIuMCIgQ1ZTU19zY29yZT0iMS45IiBtb2RpZmllZD0iMjAwOC0xMC0xNiI+DQorICAgICAgICA8ZGVzYz4NCisgICAgICAgICAgICA8ZGVzY3JpcHQgc291cmNlPSJjdmUiPlRoZSAoMSkgZmVuY2VfYXBjIGFuZCAoMikgZmVuY2VfYXBjX3NubXAgcHJvZ3JhbXMsIGFzIHVzZWQgaW4gKGEpIGZlbmNlIDIuMDIuMDAtcjEgYW5kIHBvc3NpYmx5IChiKSBjbWFuLCB3aGVuIHJ1bm5pbmcgaW4gdmVyYm9zZSBtb2RlLCBhbGxvd3MgbG9jYWwgdXNlcnMgdG8gYXBwZW5kIHRvIGFyYml0cmFyeSBmaWxlcyB2aWEgYSBzeW1saW5rIGF0dGFjayBvbiB0aGUgYXBjbG9nIHRlbXBvcmFyeSBmaWxlLjwvZGVzY3JpcHQ+DQorICAgICAgICA8L2Rlc2M+DQorICAgICAgICA8bG9zc190eXBlcz4NCisgICAgICAgICAgICA8aW50IC8+DQorICAgICAgICA8L2xvc3NfdHlwZXM+DQorICAgICAgICA8cmFuZ2U+DQorICAgICAgICAgICAgPGxvY2FsIC8+DQorICAgICAgICA8L3JhbmdlPg0KKyAgICAgICAgPHJlZnM+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9Ik1MSVNUIiB1cmw9Imh0dHA6Ly93d3cub3BlbndhbGwuY29tL2xpc3RzL29zcy1zZWN1cml0eS8yMDA4LzEwLzEzLzMiPltvc3Mtc2VjdXJpdHldIDIwMDgxMDEzIFJlOiBDVkUgUmVxdWVzdDwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJNSVNDIiB1cmw9Imh0dHA6Ly9idWdzLmdlbnRvby5vcmcvc2hvd19idWcuY2dpP2lkPTI0MDU3NiI+aHR0cDovL2J1Z3MuZ2VudG9vLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjQwNTc2PC9yZWY+DQorICAgICAgICA8L3JlZnM+DQorICAgICAgICA8dnVsbl9zb2Z0Pg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0iZ2VudG9vIiBuYW1lPSJjbWFuIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0icjEiIG51bT0iMi4wMi4wMCIgLz4NCisgICAgICAgICAgICA8L3Byb2Q+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJnZW50b28iIG5hbWU9ImZlbmNlIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgZWRpdGlvbj0icjEiIG51bT0iMi4wMi4wMCIgLz4NCisgICAgICAgICAgICA8L3Byb2Q+DQorICAgICAgICA8L3Z1bG5fc29mdD4NCisgICAgPC9lbnRyeT4KKyAgICA8ZW50cnkgQ1ZTU192ZWN0b3I9IihBVjpML0FDOkwvQXU6Ti9DOkMvSTpDL0E6QykiIENWU1NfYmFzZV9zY29yZT0iNy4yIiBDVlNTX2V4cGxvaXRfc3Vic2NvcmU9IjMuOSIgQ1ZTU19pbXBhY3Rfc3Vic2NvcmU9IjEwLjAiIG5hbWU9IkNWRS0yMDA4LTQ1ODAiIHNlcT0iMjAwOC00NTgwIiBzZXZlcml0eT0iSGlnaCIgdHlwZT0iQ1ZFIiBwdWJsaXNoZWQ9IjIwMDgtMTAtMTUiIENWU1NfdmVyc2lvbj0iMi4wIiBDVlNTX3Njb3JlPSI3LjIiIG1vZGlmaWVkPSIyMDA4LTEwLTE2Ij4NCisgICAgICAgIDxkZXNjPg0KKyAgICAgICAgICAgIDxkZXNjcmlwdCBzb3VyY2U9ImN2ZSI+ZmVuY2VfbWFudWFsIGluIGZlbmNlIGFsbG93cyBsb2NhbCB1c2VycyB0byBtb2RpZnkgYXJiaXRyYXJ5IGZpbGVzIHZpYSBhIHN5bWxpbmsgYXR0YWNrIG9uIHRoZSBmZW5jZV9tYW51YWwuZmlmbyB0ZW1wb3JhcnkgZmlsZS48L2Rlc2NyaXB0Pg0KKyAgICAgICAgPC9kZXNjPg0KKyAgICAgICAgPGxvc3NfdHlwZXM+DQorICAgICAgICAgICAgPGF2YWlsIC8+DQorICAgICAgICAgICAgPGNvbmYgLz4NCisgICAgICAgICAgICA8aW50IC8+DQorICAgICAgICAgICAgPHNlY19wcm90IGFkbWluPSIxIiAvPg0KKyAgICAgICAgPC9sb3NzX3R5cGVzPg0KKyAgICAgICAgPHJhbmdlPg0KKyAgICAgICAgICAgIDxsb2NhbCAvPg0KKyAgICAgICAgPC9yYW5nZT4NCisgICAgICAgIDxyZWZzPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJNTElTVCIgdXJsPSJodHRwOi8vd3d3Lm9wZW53YWxsLmNvbS9saXN0cy9vc3Mtc2VjdXJpdHkvMjAwOC8xMC8xMy8zIj5bb3NzLXNlY3VyaXR5XSAyMDA4MTAxMyBSZTogQ1ZFIFJlcXVlc3Q8L3JlZj4NCisgICAgICAgIDwvcmVmcz4NCisgICAgICAgIDx2dWxuX3NvZnQ+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJnZW50b28iIG5hbWU9ImNtYW4iPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJyMSIgbnVtPSIyLjAyLjAwIiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9ImdlbnRvbyIgbmFtZT0iZmVuY2UiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBlZGl0aW9uPSJyMSIgbnVtPSIyLjAyLjAwIiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgIDwvdnVsbl9zb2Z0Pg0KKyAgICA8L2VudHJ5PgorICAgIDxlbnRyeSBDVlNTX3ZlY3Rvcj0iKEFWOk4vQUM6TC9BdTpTL0M6UC9JOk4vQTpOKSIgQ1ZTU19iYXNlX3Njb3JlPSI0LjAiIENWU1NfZXhwbG9pdF9zdWJzY29yZT0iOC4wIiBDVlNTX2ltcGFjdF9zdWJzY29yZT0iMi45IiBuYW1lPSJDVkUtMjAwOC00NTgxIiBzZXE9IjIwMDgtNDU4MSIgc2V2ZXJpdHk9Ik1lZGl1bSIgdHlwZT0iQ1ZFIiBwdWJsaXNoZWQ9IjIwMDgtMTAtMTUiIENWU1NfdmVyc2lvbj0iMi4wIiBDVlNTX3Njb3JlPSI0LjAiIG1vZGlmaWVkPSIyMDA4LTEwLTE2Ij4NCisgICAgICAgIDxkZXNjPg0KKyAgICAgICAgICAgIDxkZXNjcmlwdCBzb3VyY2U9ImN2ZSI+VGhlIEVkaXRvciBpbiBJQk0gRU5PVklBIFNtYXJUZWFtIDUgYmVmb3JlIHJlbGVhc2UgMTggU1A1LCBhbmQgcmVsZWFzZSAxOSBiZWZvcmUgU1AwMSwgYWxsb3dzIHJlbW90ZSBhdXRoZW50aWNhdGVkIHVzZXJzIHRvIGJ5cGFzcyBpbnRlbmRlZCBhY2Nlc3MgcmVzdHJpY3Rpb25zIGFuZCByZWFkIERvY3VtZW50IG9iamVjdHMgdmlhIHRoZSBXb3JrZmxvdyBQcm9jZXNzIChha2EgRmxvdyBQcm9jZXNzKSB2aWV3LjwvZGVzY3JpcHQ+DQorICAgICAgICA8L2Rlc2M+DQorICAgICAgICA8bG9zc190eXBlcz4NCisgICAgICAgICAgICA8Y29uZiAvPg0KKyAgICAgICAgPC9sb3NzX3R5cGVzPg0KKyAgICAgICAgPHJhbmdlPg0KKyAgICAgICAgICAgIDxuZXR3b3JrIC8+DQorICAgICAgICA8L3JhbmdlPg0KKyAgICAgICAgPHJlZnM+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkJJRCIgdXJsPSJodHRwOi8vd3d3LnNlY3VyaXR5Zm9jdXMuY29tL2JpZC8zMTc0OCI+MzE3NDg8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQUlYQVBBUiIgdXJsPSJodHRwOi8vd3d3LTEuaWJtLmNvbS9zdXBwb3J0L2RvY3ZpZXcud3NzP3VpZD1zd2cxSEQ3MTQyNSIgYWR2PSIxIj5IRDcxNDI1PC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkNPTkZJUk0iIHVybD0iaHR0cDovL3d3dy0wMS5pYm0uY29tL3N1cHBvcnQvZG9jdmlldy53c3M/dWlkPXN3ZzI3MDEyNTY3JmFtcDthaWQ9MSI+aHR0cDovL3d3dy0wMS5pYm0uY29tL3N1cHBvcnQvZG9jdmlldy53c3M/dWlkPXN3ZzI3MDEyNTY3JmFtcDthaWQ9MTwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJTRUNVTklBIiB1cmw9Imh0dHA6Ly9zZWN1bmlhLmNvbS9hZHZpc29yaWVzLzMyMTA1Ij4zMjEwNTwvcmVmPg0KKyAgICAgICAgPC9yZWZzPg0KKyAgICAgICAgPHZ1bG5fc29mdD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9ImlibSIgbmFtZT0iZW5vdmlhX3NtYXJ0ZWFtIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI1IiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgIDwvdnVsbl9zb2Z0Pg0KKyAgICA8L2VudHJ5PgorICAgIDxlbnRyeSBDVlNTX3ZlY3Rvcj0iKEFWOk4vQUM6TS9BdTpOL0M6UC9JOk4vQTpOKSIgQ1ZTU19iYXNlX3Njb3JlPSI0LjMiIENWU1NfZXhwbG9pdF9zdWJzY29yZT0iOC42IiBDVlNTX2ltcGFjdF9zdWJzY29yZT0iMi45IiBuYW1lPSJDVkUtMjAwOC00NTgyIiBzZXE9IjIwMDgtNDU4MiIgc2V2ZXJpdHk9Ik1lZGl1bSIgdHlwZT0iQ1ZFIiBwdWJsaXNoZWQ9IjIwMDgtMTAtMTUiIENWU1NfdmVyc2lvbj0iMi4wIiBDVlNTX3Njb3JlPSI0LjMiIG1vZGlmaWVkPSIyMDA4LTEwLTE2Ij4NCisgICAgICAgIDxkZXNjPg0KKyAgICAgICAgICAgIDxkZXNjcmlwdCBzb3VyY2U9ImN2ZSI+TW96aWxsYSBGaXJlZm94IDMuMC4xIHRocm91Z2ggMy4wLjMgb24gV2luZG93cyBkb2VzIG5vdCBwcm9wZXJseSBpZGVudGlmeSB0aGUgY29udGV4dCBvZiBXaW5kb3dzIC51cmwgc2hvcnRjdXQgZmlsZXMsIHdoaWNoIGFsbG93cyB1c2VyLWFzc2lzdGVkIHJlbW90ZSBhdHRhY2tlcnMgdG8gYnlwYXNzIHRoZSBTYW1lIE9yaWdpbiBQb2xpY3kgYW5kIG9idGFpbiBzZW5zaXRpdmUgaW5mb3JtYXRpb24gdmlhIGFuIEhUTUwgZG9jdW1lbnQgdGhhdCBpcyBkaXJlY3RseSBhY2Nlc3NpYmxlIHRocm91Z2ggYSBmaWxlc3lzdGVtLCBhcyBkZW1vbnN0cmF0ZWQgYnkgZG9jdW1lbnRzIGluICgxKSBsb2NhbCBmb2xkZXJzLCAoMikgV2luZG93cyBzaGFyZSBmb2xkZXJzLCBhbmQgKDMpIFJBUiBhcmNoaXZlcywgYW5kIGFzIGRlbW9uc3RyYXRlZCBieSBJRlJBTUVzIHJlZmVyZW5jaW5nIHNob3J0Y3V0cyB0aGF0IHBvaW50IHRvIChhKSBhYm91dDpjYWNoZT9kZXZpY2U9bWVtb3J5IGFuZCAoYikgYWJvdXQ6Y2FjaGU/ZGV2aWNlPWRpc2ssIGEgdmFyaWFudCBvZiBDVkUtMjAwOC0yODEwLjwvZGVzY3JpcHQ+DQorICAgICAgICA8L2Rlc2M+DQorICAgICAgICA8bG9zc190eXBlcz4NCisgICAgICAgICAgICA8Y29uZiAvPg0KKyAgICAgICAgPC9sb3NzX3R5cGVzPg0KKyAgICAgICAgPHJhbmdlPg0KKyAgICAgICAgICAgIDxuZXR3b3JrIC8+DQorICAgICAgICAgICAgPHVzZXJfaW5pdCAvPg0KKyAgICAgICAgPC9yYW5nZT4NCisgICAgICAgIDxyZWZzPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJCVUdUUkFRIiB1cmw9Imh0dHA6Ly93d3cuc2VjdXJpdHlmb2N1cy5jb20vYXJjaGl2ZS8xL2FyY2hpdmUvMS80OTcwOTEvMTAwLzAvdGhyZWFkZWQiPjIwMDgxMDA3IEZpcmVmb3ggUHJpdmFjeSBCcm9rZW4gSWYgVXNlZCB0byBPcGVuIFdlYiBQYWdlIEZpbGU8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iU0VDVU5JQSIgdXJsPSJodHRwOi8vc2VjdW5pYS5jb20vYWR2aXNvcmllcy8zMjE5MiIgYWR2PSIxIj4zMjE5MjwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJNSVNDIiB1cmw9Imh0dHA6Ly9saXVkaWV5dTAuYmxvZzEyNC5mYzIuY29tL2Jsb2ctZW50cnktNi5odG1sIj5odHRwOi8vbGl1ZGlleXUwLmJsb2cxMjQuZmMyLmNvbS9ibG9nLWVudHJ5LTYuaHRtbDwvcmVmPg0KKyAgICAgICAgPC9yZWZzPg0KKyAgICAgICAgPHZ1bG5fc29mdD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9Im1vemlsbGEiIG5hbWU9ImZpcmVmb3giPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjMuMC4xIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjMuMC4yIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjMuMC4zIiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgIDwvdnVsbl9zb2Z0Pg0KKyAgICA8L2VudHJ5PgorICAgIDxlbnRyeSBDVlNTX3ZlY3Rvcj0iKEFWOk4vQUM6TC9BdTpOL0M6UC9JOlAvQTpQKSIgQ1ZTU19iYXNlX3Njb3JlPSI3LjUiIENWU1NfZXhwbG9pdF9zdWJzY29yZT0iMTAuMCIgQ1ZTU19pbXBhY3Rfc3Vic2NvcmU9IjYuNCIgbmFtZT0iQ1ZFLTIwMDgtNDU4MyIgc2VxPSIyMDA4LTQ1ODMiIHNldmVyaXR5PSJIaWdoIiB0eXBlPSJDVkUiIHB1Ymxpc2hlZD0iMjAwOC0xMC0xNSIgQ1ZTU192ZXJzaW9uPSIyLjAiIENWU1Nfc2NvcmU9IjcuNSIgbW9kaWZpZWQ9IjIwMDgtMTAtMTYiPg0KKyAgICAgICAgPGRlc2M+DQorICAgICAgICAgICAgPGRlc2NyaXB0IHNvdXJjZT0iY3ZlIj5JbnNlY3VyZSBtZXRob2QgdnVsbmVyYWJpbGl0eSBpbiB0aGUgQ2hpbGthdCBGVFAgMi4wIEFjdGl2ZVggY29tcG9uZW50IChDaGlsa2F0Q2VydC5kbGwpIGFsbG93cyByZW1vdGUgYXR0YWNrZXJzIHRvIG92ZXJ3cml0ZSBhcmJpdHJhcnkgZmlsZXMgdmlhIGEgZnVsbCBwYXRobmFtZSBpbiB0aGUgU2F2ZVBrY3M4RmlsZSBtZXRob2QuPC9kZXNjcmlwdD4NCisgICAgICAgIDwvZGVzYz4NCisgICAgICAgIDxsb3NzX3R5cGVzPg0KKyAgICAgICAgICAgIDxhdmFpbCAvPg0KKyAgICAgICAgICAgIDxjb25mIC8+DQorICAgICAgICAgICAgPGludCAvPg0KKyAgICAgICAgICAgIDxzZWNfcHJvdCBvdGhlcj0iMSIgLz4NCisgICAgICAgIDwvbG9zc190eXBlcz4NCisgICAgICAgIDxyYW5nZT4NCisgICAgICAgICAgICA8bmV0d29yayAvPg0KKyAgICAgICAgPC9yYW5nZT4NCisgICAgICAgIDxyZWZzPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJCSUQiIHVybD0iaHR0cDovL3d3dy5zZWN1cml0eWZvY3VzLmNvbS9iaWQvMjc1NDAiPjI3NTQwPC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9Ik1JTFcwUk0iIHVybD0iaHR0cDovL3d3dy5taWx3MHJtLmNvbS9leHBsb2l0cy81MDI4Ij41MDI4PC9yZWY+DQorICAgICAgICA8L3JlZnM+DQorICAgICAgICA8dnVsbl9zb2Z0Pg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0iY2hpbGthdF9zb2Z0d2FyZSIgbmFtZT0iZnRwIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIyLjAiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgPC92dWxuX3NvZnQ+DQorICAgIDwvZW50cnk+CisgICAgPGVudHJ5IENWU1NfdmVjdG9yPSIoQVY6Ti9BQzpNL0F1Ok4vQzpQL0k6UC9BOlApIiBDVlNTX2Jhc2Vfc2NvcmU9IjYuOCIgQ1ZTU19leHBsb2l0X3N1YnNjb3JlPSI4LjYiIENWU1NfaW1wYWN0X3N1YnNjb3JlPSI2LjQiIG5hbWU9IkNWRS0yMDA4LTQ1ODQiIHNlcT0iMjAwOC00NTg0IiBzZXZlcml0eT0iTWVkaXVtIiB0eXBlPSJDVkUiIHB1Ymxpc2hlZD0iMjAwOC0xMC0xNSIgQ1ZTU192ZXJzaW9uPSIyLjAiIENWU1Nfc2NvcmU9IjYuOCIgbW9kaWZpZWQ9IjIwMDgtMTAtMTYiPg0KKyAgICAgICAgPGRlc2M+DQorICAgICAgICAgICAgPGRlc2NyaXB0IHNvdXJjZT0iY3ZlIj5JbnNlY3VyZSBtZXRob2QgdnVsbmVyYWJpbGl0eSBpbiBDaGlsa2F0IE1haWwgNy44IEFjdGl2ZVggY29udHJvbCAoQ2hpbGthdENlcnQuZGxsKSBhbGxvd3MgcmVtb3RlIGF0dGFja2VycyB0byBvdmVyd3JpdGUgYXJiaXRyYXJ5IGZpbGVzIHZpYSBhIGZ1bGwgcGF0aG5hbWUgdG8gdGhlIFNhdmVMYXN0RXJyb3IgbWV0aG9kLjwvZGVzY3JpcHQ+DQorICAgICAgICA8L2Rlc2M+DQorICAgICAgICA8bG9zc190eXBlcz4NCisgICAgICAgICAgICA8YXZhaWwgLz4NCisgICAgICAgICAgICA8Y29uZiAvPg0KKyAgICAgICAgICAgIDxpbnQgLz4NCisgICAgICAgICAgICA8c2VjX3Byb3Qgb3RoZXI9IjEiIC8+DQorICAgICAgICA8L2xvc3NfdHlwZXM+DQorICAgICAgICA8cmFuZ2U+DQorICAgICAgICAgICAgPG5ldHdvcmsgLz4NCisgICAgICAgICAgICA8dXNlcl9pbml0IC8+DQorICAgICAgICA8L3JhbmdlPg0KKyAgICAgICAgPHJlZnM+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IlhGIiB1cmw9Imh0dHA6Ly94Zm9yY2UuaXNzLm5ldC94Zm9yY2UveGZkYi80MDA0MSI+Y2hpbGthdG1haWwtY2hpbGthdGNlcnQtZmlsZS1vdmVyd3JpdGUoNDAwNDEpPC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkJJRCIgdXJsPSJodHRwOi8vd3d3LnNlY3VyaXR5Zm9jdXMuY29tL2JpZC8yNzQ5MyI+Mjc0OTM8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iTUlMVzBSTSIgdXJsPSJodHRwOi8vd3d3Lm1pbHcwcm0uY29tL2V4cGxvaXRzLzUwMDUiPjUwMDU8L3JlZj4NCisgICAgICAgIDwvcmVmcz4NCisgICAgICAgIDx2dWxuX3NvZnQ+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJjaGlsa2F0X3NvZnR3YXJlIiBuYW1lPSJtYWlsIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI3LjgiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgPC92dWxuX3NvZnQ+DQorICAgIDwvZW50cnk+CisgICAgPGVudHJ5IENWU1NfdmVjdG9yPSIoQVY6Ti9BQzpML0F1Ok4vQzpQL0k6UC9BOlApIiBDVlNTX2Jhc2Vfc2NvcmU9IjcuNSIgQ1ZTU19leHBsb2l0X3N1YnNjb3JlPSIxMC4wIiBDVlNTX2ltcGFjdF9zdWJzY29yZT0iNi40IiBuYW1lPSJDVkUtMjAwOC00NTg1IiBzZXE9IjIwMDgtNDU4NSIgc2V2ZXJpdHk9IkhpZ2giIHR5cGU9IkNWRSIgcHVibGlzaGVkPSIyMDA4LTEwLTE1IiBDVlNTX3ZlcnNpb249IjIuMCIgQ1ZTU19zY29yZT0iNy41IiBtb2RpZmllZD0iMjAwOC0xMC0xNiI+DQorICAgICAgICA8ZGVzYz4NCisgICAgICAgICAgICA8ZGVzY3JpcHQgc291cmNlPSJjdmUiPkJlbG9uZyBTb2Z0d2FyZSBTaXRlIEJ1aWxkZXIgMC4xIGJldGEgYWxsb3dzIHJlbW90ZSBhdHRhY2tlcnMgdG8gYnlwYXNzIGludGVuZGVkIGFjY2VzcyByZXN0cmljdGlvbnMgYW5kIHBlcmZvcm0gYWRtaW5pc3RyYXRpdmUgYWN0aW9ucyB2aWEgYSBkaXJlY3QgcmVxdWVzdCB0byBhZG1pbi9ob21lLnBocC48L2Rlc2NyaXB0Pg0KKyAgICAgICAgPC9kZXNjPg0KKyAgICAgICAgPGxvc3NfdHlwZXM+DQorICAgICAgICAgICAgPGF2YWlsIC8+DQorICAgICAgICAgICAgPGNvbmYgLz4NCisgICAgICAgICAgICA8aW50IC8+DQorICAgICAgICAgICAgPHNlY19wcm90IG90aGVyPSIxIiAvPg0KKyAgICAgICAgPC9sb3NzX3R5cGVzPg0KKyAgICAgICAgPHJhbmdlPg0KKyAgICAgICAgICAgIDxuZXR3b3JrIC8+DQorICAgICAgICA8L3JhbmdlPg0KKyAgICAgICAgPHJlZnM+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IlhGIiB1cmw9Imh0dHA6Ly94Zm9yY2UuaXNzLm5ldC94Zm9yY2UveGZkYi8zOTg0MiI+YmVsb25nc2l0ZWJ1aWxkZXItYWRtaW4tc2VjdXJpdHktYnlwYXNzKDM5ODQyKTwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJCSUQiIHVybD0iaHR0cDovL3d3dy5zZWN1cml0eWZvY3VzLmNvbS9iaWQvMjc0MDIiPjI3NDAyPC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkJVR1RSQVEiIHVybD0iaHR0cDovL3d3dy5zZWN1cml0eWZvY3VzLmNvbS9hcmNoaXZlLzEvYXJjaGl2ZS8xLzQ4NjgwMy8xMDAvMjAwL3RocmVhZGVkIj4yMDA4MDEyMiBCZWxvbmcgU2l0ZSBCdWlsZGVyIDAuMWIgQnlwYXNzIEFkbWluY3A8L3JlZj4NCisgICAgICAgIDwvcmVmcz4NCisgICAgICAgIDx2dWxuX3NvZnQ+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJiZWxvbmdfc29mdHdhcmUiIG5hbWU9InNpdGVfYnVpbGRlciI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIGVkaXRpb249ImJldGEiIG51bT0iMC4xIiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgIDwvdnVsbl9zb2Z0Pg0KKyAgICA8L2VudHJ5PgorICAgIDxlbnRyeSBDVlNTX3ZlY3Rvcj0iKEFWOk4vQUM6TS9BdTpOL0M6Qy9JOkMvQTpDKSIgQ1ZTU19iYXNlX3Njb3JlPSI5LjMiIENWU1NfZXhwbG9pdF9zdWJzY29yZT0iOC42IiBDVlNTX2ltcGFjdF9zdWJzY29yZT0iMTAuMCIgbmFtZT0iQ1ZFLTIwMDgtNDU4NiIgc2VxPSIyMDA4LTQ1ODYiIHNldmVyaXR5PSJIaWdoIiB0eXBlPSJDVkUiIHB1Ymxpc2hlZD0iMjAwOC0xMC0xNSIgQ1ZTU192ZXJzaW9uPSIyLjAiIENWU1Nfc2NvcmU9IjkuMyIgbW9kaWZpZWQ9IjIwMDgtMTAtMTYiPg0KKyAgICAgICAgPGRlc2M+DQorICAgICAgICAgICAgPGRlc2NyaXB0IHNvdXJjZT0iY3ZlIj5JbnNlY3VyZSBtZXRob2QgdnVsbmVyYWJpbGl0eSBpbiB0aGUgTVZTTkNMaWVudFdlYkFnZW50NjEuV2ViQWdlbnQuMSBBY3RpdmVYIGNvbnRyb2wgKGlzdXN3ZWIuZGxsIDYuMS4xMDAuNjEzNzIpIGluIE1hY3JvdmlzaW9uIEZMRVhuZXQgQ29ubmVjdCA2LjEgYWxsb3dzIHJlbW90ZSBhdHRhY2tlcnMgdG8gZm9yY2UgdGhlIGRvd25sb2FkIGFuZCBleGVjdXRpb24gb2YgYXJiaXRyYXJ5IGZpbGVzIHZpYSB0aGUgRG93bmxvYWRBbmRFeGVjdXRlIG1ldGhvZC48L2Rlc2NyaXB0Pg0KKyAgICAgICAgPC9kZXNjPg0KKyAgICAgICAgPGxvc3NfdHlwZXM+DQorICAgICAgICAgICAgPGF2YWlsIC8+DQorICAgICAgICAgICAgPGNvbmYgLz4NCisgICAgICAgICAgICA8aW50IC8+DQorICAgICAgICAgICAgPHNlY19wcm90IGFkbWluPSIxIiAvPg0KKyAgICAgICAgPC9sb3NzX3R5cGVzPg0KKyAgICAgICAgPHJhbmdlPg0KKyAgICAgICAgICAgIDxuZXR3b3JrIC8+DQorICAgICAgICAgICAgPHVzZXJfaW5pdCAvPg0KKyAgICAgICAgPC9yYW5nZT4NCisgICAgICAgIDxyZWZzPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJCSUQiIHVybD0iaHR0cDovL3d3dy5zZWN1cml0eWZvY3VzLmNvbS9iaWQvMjcyNzkiPjI3Mjc5PC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9Ik1JTFcwUk0iIHVybD0iaHR0cDovL3d3dy5taWx3MHJtLmNvbS9leHBsb2l0cy80OTEzIj40OTEzPC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IlNFQ1VOSUEiIHVybD0iaHR0cDovL3NlY3VuaWEuY29tL2Fkdmlzb3JpZXMvMjg0OTYiIGFkdj0iMSI+Mjg0OTY8L3JlZj4NCisgICAgICAgIDwvcmVmcz4NCisgICAgICAgIDx2dWxuX3NvZnQ+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJhY3Jlc3NvIiBuYW1lPSJmbGV4bmV0X2Nvbm5lY3QiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjYuMSIgLz4NCisgICAgICAgICAgICA8L3Byb2Q+DQorICAgICAgICA8L3Z1bG5fc29mdD4NCisgICAgPC9lbnRyeT4KKyAgICA8ZW50cnkgQ1ZTU192ZWN0b3I9IihBVjpOL0FDOk0vQXU6Ti9DOkMvSTpDL0E6QykiIENWU1NfYmFzZV9zY29yZT0iOS4zIiBDVlNTX2V4cGxvaXRfc3Vic2NvcmU9IjguNiIgQ1ZTU19pbXBhY3Rfc3Vic2NvcmU9IjEwLjAiIG5hbWU9IkNWRS0yMDA4LTQ1ODciIHNlcT0iMjAwOC00NTg3IiBzZXZlcml0eT0iSGlnaCIgdHlwZT0iQ1ZFIiBwdWJsaXNoZWQ9IjIwMDgtMTAtMTUiIENWU1NfdmVyc2lvbj0iMi4wIiBDVlNTX3Njb3JlPSI5LjMiIG1vZGlmaWVkPSIyMDA4LTEwLTE2Ij4NCisgICAgICAgIDxkZXNjPg0KKyAgICAgICAgICAgIDxkZXNjcmlwdCBzb3VyY2U9ImN2ZSI+SW5zZWN1cmUgbWV0aG9kIHZ1bG5lcmFiaWxpdHkgaW4gdGhlIE1TVk5DbGllbnREb3dubG9hZE1hbmFnZXI2MUxpYi5Eb3dubG9hZE1hbmFnZXIuMSBBY3RpdmVYIGNvbnRyb2wgKElTRE0uZXhlIDYuMS4xMDAuNjEzNzIpIGluIE1hY3JvdmlzaW9uIEZMRVhuZXQgQ29ubmVjdCA2LjEgYWxsb3dzIHJlbW90ZSBhdHRhY2tlcnMgdG8gZm9yY2UgdGhlIGRvd25sb2FkIGFuZCBleGVjdXRpb24gb2YgYXJiaXRyYXJ5IGZpbGVzIHZpYSB0aGUgQWRkRmlsZSBhbmQgUnVuU2NoZWR1bGVkSm9icyBtZXRob2RzLiAgTk9URTogdGhpcyBjb3VsZCBiZSBsZXZlcmFnZWQgZm9yIGNvZGUgZXhlY3V0aW9uIGJ5IHVwbG9hZGluZyBleGVjdXRhYmxlIGZpbGVzIHRvIFN0YXJ0dXAgZm9sZGVycy48L2Rlc2NyaXB0Pg0KKyAgICAgICAgPC9kZXNjPg0KKyAgICAgICAgPGxvc3NfdHlwZXM+DQorICAgICAgICAgICAgPGF2YWlsIC8+DQorICAgICAgICAgICAgPGNvbmYgLz4NCisgICAgICAgICAgICA8aW50IC8+DQorICAgICAgICA8L2xvc3NfdHlwZXM+DQorICAgICAgICA8cmFuZ2U+DQorICAgICAgICAgICAgPG5ldHdvcmsgLz4NCisgICAgICAgICAgICA8dXNlcl9pbml0IC8+DQorICAgICAgICA8L3JhbmdlPg0KKyAgICAgICAgPHJlZnM+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IlhGIiB1cmw9Imh0dHA6Ly94Zm9yY2UuaXNzLm5ldC94Zm9yY2UveGZkYi8zOTY1MyI+bWFjcm92aXNpb24tZmxleG5ldC1maWxlLW92ZXJ3cml0ZSgzOTY1Myk8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQklEIiB1cmw9Imh0dHA6Ly93d3cuc2VjdXJpdHlmb2N1cy5jb20vYmlkLzI3Mjc5Ij4yNzI3OTwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJNSUxXMFJNIiB1cmw9Imh0dHA6Ly93d3cubWlsdzBybS5jb20vZXhwbG9pdHMvNDkwOSI+NDkwOTwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJTRUNVTklBIiB1cmw9Imh0dHA6Ly9zZWN1bmlhLmNvbS9hZHZpc29yaWVzLzI4NDk2IiBhZHY9IjEiPjI4NDk2PC9yZWY+DQorICAgICAgICA8L3JlZnM+DQorICAgICAgICA8dnVsbl9zb2Z0Pg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0iYWNyZXNzbyIgbmFtZT0iZmxleG5ldF9jb25uZWN0Ij4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI2LjEiIC8+DQorICAgICAgICAgICAgPC9wcm9kPg0KKyAgICAgICAgPC92dWxuX3NvZnQ+DQorICAgIDwvZW50cnk+CisgICAgPGVudHJ5IENWU1NfdmVjdG9yPSIoQVY6Ti9BQzpML0F1Ok4vQzpDL0k6Qy9BOkMpIiBDVlNTX2Jhc2Vfc2NvcmU9IjEwLjAiIENWU1NfZXhwbG9pdF9zdWJzY29yZT0iMTAuMCIgQ1ZTU19pbXBhY3Rfc3Vic2NvcmU9IjEwLjAiIG5hbWU9IkNWRS0yMDA4LTQ1ODgiIHNlcT0iMjAwOC00NTg4IiBzZXZlcml0eT0iSGlnaCIgdHlwZT0iQ1ZFIiBwdWJsaXNoZWQ9IjIwMDgtMTAtMTUiIENWU1NfdmVyc2lvbj0iMi4wIiBDVlNTX3Njb3JlPSIxMC4wIiBtb2RpZmllZD0iMjAwOC0xMC0xNiI+DQorICAgICAgICA8ZGVzYz4NCisgICAgICAgICAgICA8ZGVzY3JpcHQgc291cmNlPSJjdmUiPlN0YWNrLWJhc2VkIGJ1ZmZlciBvdmVyZmxvdyBpbiB0aGUgRlRQIHNlcnZlciBpbiBFdHlwZSBFc2VydiAzLngsIHBvc3NpYmx5IDMuMjYsIGFsbG93cyByZW1vdGUgYXR0YWNrZXJzIHRvIGNhdXNlIGEgZGVuaWFsIG9mIHNlcnZpY2UgKGRhZW1vbiBjcmFzaCkgYW5kIHBvc3NpYmx5IGV4ZWN1dGUgYXJiaXRyYXJ5IGNvZGUgdmlhIGEgbG9uZyBhcmd1bWVudCB0byB0aGUgQUJPUiBjb21tYW5kLjwvZGVzY3JpcHQ+DQorICAgICAgICA8L2Rlc2M+DQorICAgICAgICA8bG9zc190eXBlcz4NCisgICAgICAgICAgICA8YXZhaWwgLz4NCisgICAgICAgICAgICA8Y29uZiAvPg0KKyAgICAgICAgICAgIDxpbnQgLz4NCisgICAgICAgICAgICA8c2VjX3Byb3QgYWRtaW49IjEiIC8+DQorICAgICAgICA8L2xvc3NfdHlwZXM+DQorICAgICAgICA8cmFuZ2U+DQorICAgICAgICAgICAgPG5ldHdvcmsgLz4NCisgICAgICAgIDwvcmFuZ2U+DQorICAgICAgICA8cmVmcz4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iWEYiIHVybD0iaHR0cDovL3hmb3JjZS5pc3MubmV0L3hmb3JjZS94ZmRiLzQ1ODY0Ij5lc2VydmZ0cC1hYm9yLWJvKDQ1ODY0KTwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJNSVNDIiB1cmw9Imh0dHA6Ly93d3cuemVyb3NjaWVuY2Uub3JnL2NvZGVzL2VzZXJ2X2JvZi50eHQiPmh0dHA6Ly93d3cuemVyb3NjaWVuY2Uub3JnL2NvZGVzL2VzZXJ2X2JvZi50eHQ8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQklEIiB1cmw9Imh0dHA6Ly93d3cuc2VjdXJpdHlmb2N1cy5jb20vYmlkLzMxNzUzIj4zMTc1MzwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJNSUxXMFJNIiB1cmw9Imh0dHA6Ly93d3cubWlsdzBybS5jb20vZXhwbG9pdHMvNjc1MiI+Njc1MjwvcmVmPg0KKyAgICAgICAgPC9yZWZzPg0KKyAgICAgICAgPHZ1bG5fc29mdD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9ImV0eXBlIiBuYW1lPSJlc2VydiI+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMy4wIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjMuMjUiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iMy4yNiIgLz4NCisgICAgICAgICAgICA8L3Byb2Q+DQorICAgICAgICA8L3Z1bG5fc29mdD4NCisgICAgPC9lbnRyeT4KKyAgICA8ZW50cnkgQ1ZTU192ZWN0b3I9IihBVjpML0FDOkwvQXU6Ti9DOkMvSTpDL0E6QykiIENWU1NfYmFzZV9zY29yZT0iNy4yIiBDVlNTX2V4cGxvaXRfc3Vic2NvcmU9IjMuOSIgQ1ZTU19pbXBhY3Rfc3Vic2NvcmU9IjEwLjAiIG5hbWU9IkNWRS0yMDA4LTQ1ODkiIHNlcT0iMjAwOC00NTg5IiBzZXZlcml0eT0iSGlnaCIgdHlwZT0iQ1ZFIiBwdWJsaXNoZWQ9IjIwMDgtMTAtMTUiIENWU1NfdmVyc2lvbj0iMi4wIiBDVlNTX3Njb3JlPSI3LjIiIG1vZGlmaWVkPSIyMDA4LTEwLTE2Ij4NCisgICAgICAgIDxkZXNjPg0KKyAgICAgICAgICAgIDxkZXNjcmlwdCBzb3VyY2U9ImN2ZSI+SGVhcC1iYXNlZCBidWZmZXIgb3ZlcmZsb3cgaW4gdGhlIHR2dHVtaW4uc3lzIGtlcm5lbCBkcml2ZXIgaW4gTGVub3ZvIFJlc2N1ZSBhbmQgUmVjb3ZlcnkgNC4yMCwgaW5jbHVkaW5nIDQuMjAuMDUxMSBhbmQgNC4yMC4wNTEyLCBhbGxvd3MgbG9jYWwgdXNlcnMgdG8gZXhlY3V0ZSBhcmJpdHJhcnkgY29kZSB2aWEgYSBsb25nIGZpbGUgbmFtZS48L2Rlc2NyaXB0Pg0KKyAgICAgICAgPC9kZXNjPg0KKyAgICAgICAgPGxvc3NfdHlwZXM+DQorICAgICAgICAgICAgPGF2YWlsIC8+DQorICAgICAgICAgICAgPGNvbmYgLz4NCisgICAgICAgICAgICA8aW50IC8+DQorICAgICAgICA8L2xvc3NfdHlwZXM+DQorICAgICAgICA8cmFuZ2U+DQorICAgICAgICAgICAgPGxvY2FsIC8+DQorICAgICAgICA8L3JhbmdlPg0KKyAgICAgICAgPHJlZnM+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkJJRCIgcGF0Y2g9IjEiIHVybD0iaHR0cDovL3d3dy5zZWN1cml0eWZvY3VzLmNvbS9iaWQvMzE3MzciPjMxNzM3PC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkNPTkZJUk0iIHBhdGNoPSIxIiB1cmw9Imh0dHA6Ly93d3ctMzA3LmlibS5jb20vcGMvc3VwcG9ydC9zaXRlLndzcy9NSUdSLTcwNjk5Lmh0bWwiIGFkdj0iMSI+aHR0cDovL3d3dy0zMDcuaWJtLmNvbS9wYy9zdXBwb3J0L3NpdGUud3NzL01JR1ItNzA2OTkuaHRtbDwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJDT05GSVJNIiBwYXRjaD0iMSIgdXJsPSJodHRwOi8vd3d3LTMwNy5pYm0uY29tL3BjL3N1cHBvcnQvc2l0ZS53c3MvTUlHUi00UTJRQUsuaHRtbCIgYWR2PSIxIj5odHRwOi8vd3d3LTMwNy5pYm0uY29tL3BjL3N1cHBvcnQvc2l0ZS53c3MvTUlHUi00UTJRQUsuaHRtbDwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJYRiIgdXJsPSJodHRwOi8veGZvcmNlLmlzcy5uZXQveGZvcmNlL3hmZGIvNDU4MzkiPmxlbm92by1yZXNjdWUtcmVjb3ZlcnktdHZ0dW1pbi1ibyg0NTgzOSk8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iU0VDVFJBQ0siIHVybD0iaHR0cDovL3d3dy5zZWN1cml0eXRyYWNrZXIuY29tL2lkPzEwMjEwNDEiPjEwMjEwNDE8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQlVHVFJBUSIgdXJsPSJodHRwOi8vd3d3LnNlY3VyaXR5Zm9jdXMuY29tL2FyY2hpdmUvMS9hcmNoaXZlLzEvNDk3Mjc3LzEwMC8wL3RocmVhZGVkIj4yMDA4MTAxMCBpU0VDIFBhcnRuZXJzIFNlY3VyaXR5IEFkdmlzb3J5IC0gMjAwOC0wMDItbGVub3Zvcm5yIC0gTGVub3ZvIFJlc2N1ZSBhbmQgUmVjb3ZlcnkgNC4yMDwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJNSVNDIiB1cmw9Imh0dHA6Ly93d3cuaXNlY3BhcnRuZXJzLmNvbS9hZHZpc29yaWVzLzIwMDgtMDItbGVub3Zvcm5yLnR4dCI+aHR0cDovL3d3dy5pc2VjcGFydG5lcnMuY29tL2Fkdmlzb3JpZXMvMjAwOC0wMi1sZW5vdm9ybnIudHh0PC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkZSU0lSVCIgdXJsPSJodHRwOi8vd3d3LmZyc2lydC5jb20vZW5nbGlzaC9hZHZpc29yaWVzLzIwMDgvMjgwNiIgYWR2PSIxIj5BRFYtMjAwOC0yODA2PC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IlNFQ1VOSUEiIHVybD0iaHR0cDovL3NlY3VuaWEuY29tL2Fkdmlzb3JpZXMvMzIyNTIiIGFkdj0iMSI+MzIyNTI8L3JlZj4NCisgICAgICAgIDwvcmVmcz4NCisgICAgICAgIDx2dWxuX3NvZnQ+DQorICAgICAgICAgICAgPHByb2QgdmVuZG9yPSJsZW5vdm8iIG5hbWU9InJlc3VjZV9hbmRfcmVjb3ZlcnkiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjQuMjAiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNC4yMC4wNTExIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjQuMjAuMDUxMiIgLz4NCisgICAgICAgICAgICA8L3Byb2Q+DQorICAgICAgICA8L3Z1bG5fc29mdD4NCisgICAgPC9lbnRyeT4KKyAgICA8ZW50cnkgQ1ZTU192ZWN0b3I9IihBVjpOL0FDOkwvQXU6Ti9DOlAvSTpQL0E6UCkiIENWU1NfYmFzZV9zY29yZT0iNy41IiBDVlNTX2V4cGxvaXRfc3Vic2NvcmU9IjEwLjAiIENWU1NfaW1wYWN0X3N1YnNjb3JlPSI2LjQiIG5hbWU9IkNWRS0yMDA4LTQ1OTAiIHNlcT0iMjAwOC00NTkwIiBzZXZlcml0eT0iSGlnaCIgdHlwZT0iQ1ZFIiBwdWJsaXNoZWQ9IjIwMDgtMTAtMTYiIENWU1NfdmVyc2lvbj0iMi4wIiBDVlNTX3Njb3JlPSI3LjUiIG1vZGlmaWVkPSIyMDA4LTEwLTE2Ij4NCisgICAgICAgIDxkZXNjPg0KKyAgICAgICAgICAgIDxkZXNjcmlwdCBzb3VyY2U9ImN2ZSI+TXVsdGlwbGUgU1FMIGluamVjdGlvbiB2dWxuZXJhYmlsaXRpZXMgaW4gU3Rhc2ggMS4wLjMgYWxsb3cgcmVtb3RlIGF0dGFja2VycyB0byBleGVjdXRlIGFyYml0cmFyeSBTUUwgY29tbWFuZHMgdmlhICgxKSB0aGUgdXNlcm5hbWUgcGFyYW1ldGVyIHRvIGFkbWluL2xvZ2luLnBocCBhbmQgKDIpIHRoZSBwb3N0IHBhcmFtZXRlciB0byBhZG1pbi9uZXdzLnBocC48L2Rlc2NyaXB0Pg0KKyAgICAgICAgPC9kZXNjPg0KKyAgICAgICAgPGxvc3NfdHlwZXM+DQorICAgICAgICAgICAgPGF2YWlsIC8+DQorICAgICAgICAgICAgPGNvbmYgLz4NCisgICAgICAgICAgICA8aW50IC8+DQorICAgICAgICAgICAgPHNlY19wcm90IG90aGVyPSIxIiAvPg0KKyAgICAgICAgPC9sb3NzX3R5cGVzPg0KKyAgICAgICAgPHJhbmdlPg0KKyAgICAgICAgICAgIDxuZXR3b3JrIC8+DQorICAgICAgICA8L3JhbmdlPg0KKyAgICAgICAgPHJlZnM+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IlhGIiB1cmw9Imh0dHA6Ly94Zm9yY2UuaXNzLm5ldC94Zm9yY2UveGZkYi80NTc5OSI+c3Rhc2gtbmV3cy1zcWwtaW5qZWN0aW9uKDQ1Nzk5KTwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJCSUQiIHVybD0iaHR0cDovL3d3dy5zZWN1cml0eWZvY3VzLmNvbS9iaWQvMzE2ODciPjMxNjg3PC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9Ik1JTFcwUk0iIHVybD0iaHR0cDovL3d3dy5taWx3MHJtLmNvbS9leHBsb2l0cy82NzE0Ij42NzE0PC9yZWY+DQorICAgICAgICA8L3JlZnM+DQorICAgICAgICA8dnVsbl9zb2Z0Pg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0ic3Rhc2giIG5hbWU9InN0YXNoIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIxLjAuMyIgLz4NCisgICAgICAgICAgICA8L3Byb2Q+DQorICAgICAgICA8L3Z1bG5fc29mdD4NCisgICAgPC9lbnRyeT4KKyAgICA8ZW50cnkgQ1ZTU192ZWN0b3I9IihBVjpOL0FDOk0vQXU6Ti9DOk4vSTpQL0E6TikiIENWU1NfYmFzZV9zY29yZT0iNC4zIiBDVlNTX2V4cGxvaXRfc3Vic2NvcmU9IjguNiIgQ1ZTU19pbXBhY3Rfc3Vic2NvcmU9IjIuOSIgbmFtZT0iQ1ZFLTIwMDgtNDU5MSIgc2VxPSIyMDA4LTQ1OTEiIHNldmVyaXR5PSJNZWRpdW0iIHR5cGU9IkNWRSIgcHVibGlzaGVkPSIyMDA4LTEwLTE2IiBDVlNTX3ZlcnNpb249IjIuMCIgQ1ZTU19zY29yZT0iNC4zIiBtb2RpZmllZD0iMjAwOC0xMC0xNiI+DQorICAgICAgICA8ZGVzYz4NCisgICAgICAgICAgICA8ZGVzY3JpcHQgc291cmNlPSJjdmUiPk11bHRpcGxlIGNyb3NzLXNpdGUgc2NyaXB0aW5nIChYU1MpIHZ1bG5lcmFiaWxpdGllcyBpbiBhZG1pbi9pbmNsdWRlL2lzYWRtaW4uaW5jLnBocCBpbiBQaHBXZWJHYWxsZXJ5IDEuMy40IGFsbG93IHJlbW90ZSBhdHRhY2tlcnMgdG8gaW5qZWN0IGFyYml0cmFyeSB3ZWIgc2NyaXB0IG9yIEhUTUwgdmlhIHRoZSAoMSkgbGFuZ1thY2Nlc3NfZm9yYmlkZW5dIGFuZCAoMikgbGFuZ1tpZGVudF90aXRsZV0gcGFyYW1ldGVycy48L2Rlc2NyaXB0Pg0KKyAgICAgICAgPC9kZXNjPg0KKyAgICAgICAgPGxvc3NfdHlwZXM+DQorICAgICAgICAgICAgPGludCAvPg0KKyAgICAgICAgPC9sb3NzX3R5cGVzPg0KKyAgICAgICAgPHJhbmdlPg0KKyAgICAgICAgICAgIDxuZXR3b3JrIC8+DQorICAgICAgICAgICAgPHVzZXJfaW5pdCAvPg0KKyAgICAgICAgPC9yYW5nZT4NCisgICAgICAgIDxyZWZzPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJNSUxXMFJNIiB1cmw9Imh0dHA6Ly93d3cubWlsdzBybS5jb20vZXhwbG9pdHMvNjQyNSI+NjQyNTwvcmVmPg0KKyAgICAgICAgPC9yZWZzPg0KKyAgICAgICAgPHZ1bG5fc29mdD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9InBocHdlYmdhbGxlcnkiIG5hbWU9InBocHdlYmdhbGxlcnkiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjEuMy40IiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgIDwvdnVsbl9zb2Z0Pg0KKyAgICA8L2VudHJ5PgorICAgIDxlbnRyeSBDVlNTX3ZlY3Rvcj0iKEFWOk4vQUM6TC9BdTpOL0M6Qy9JOkMvQTpDKSIgQ1ZTU19iYXNlX3Njb3JlPSIxMC4wIiBDVlNTX2V4cGxvaXRfc3Vic2NvcmU9IjEwLjAiIENWU1NfaW1wYWN0X3N1YnNjb3JlPSIxMC4wIiBuYW1lPSJDVkUtMjAwOC00NTkyIiBzZXE9IjIwMDgtNDU5MiIgc2V2ZXJpdHk9IkhpZ2giIHR5cGU9IkNWRSIgcHVibGlzaGVkPSIyMDA4LTEwLTE2IiBDVlNTX3ZlcnNpb249IjIuMCIgQ1ZTU19zY29yZT0iMTAuMCIgbW9kaWZpZWQ9IjIwMDgtMTAtMTYiPg0KKyAgICAgICAgPGRlc2M+DQorICAgICAgICAgICAgPGRlc2NyaXB0IHNvdXJjZT0iY3ZlIj5EaXJlY3RvcnkgdHJhdmVyc2FsIHZ1bG5lcmFiaWxpdHkgaW4gaW5kZXgucGhwIGluIFNwb3J0cyBDbHVicyBXZWIgUGFuZWwgMC4wLjEgYWxsb3dzIHJlbW90ZSBhdHRhY2tlcnMgdG8gaW5jbHVkZSBhbmQgZXhlY3V0ZSBhcmJpdHJhcnkgbG9jYWwgZmlsZXMgdmlhIGEgLi4gKGRvdCBkb3QpIGluIHRoZSBwIHBhcmFtZXRlci48L2Rlc2NyaXB0Pg0KKyAgICAgICAgPC9kZXNjPg0KKyAgICAgICAgPGxvc3NfdHlwZXM+DQorICAgICAgICAgICAgPGF2YWlsIC8+DQorICAgICAgICAgICAgPGNvbmYgLz4NCisgICAgICAgICAgICA8aW50IC8+DQorICAgICAgICAgICAgPHNlY19wcm90IGFkbWluPSIxIiAvPg0KKyAgICAgICAgPC9sb3NzX3R5cGVzPg0KKyAgICAgICAgPHJhbmdlPg0KKyAgICAgICAgICAgIDxuZXR3b3JrIC8+DQorICAgICAgICA8L3JhbmdlPg0KKyAgICAgICAgPHJlZnM+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9Ik1JTFcwUk0iIHVybD0iaHR0cDovL3d3dy5taWx3MHJtLmNvbS9leHBsb2l0cy82NDI3Ij42NDI3PC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkZSU0lSVCIgdXJsPSJodHRwOi8vd3d3LmZyc2lydC5jb20vZW5nbGlzaC9hZHZpc29yaWVzLzIwMDgvMjU1MCIgYWR2PSIxIj5BRFYtMjAwOC0yNTUwPC9yZWY+DQorICAgICAgICA8L3JlZnM+DQorICAgICAgICA8dnVsbl9zb2Z0Pg0KKyAgICAgICAgICAgIDxwcm9kIHZlbmRvcj0ic3BvcnRzcGFuZWwiIG5hbWU9InNwb3J0c19jbHVic193ZWJfcG9ydGFsIj4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSIwLjAuMSIgLz4NCisgICAgICAgICAgICA8L3Byb2Q+DQorICAgICAgICA8L3Z1bG5fc29mdD4NCisgICAgPC9lbnRyeT4KKyAgICA8ZW50cnkgQ1ZTU192ZWN0b3I9IihBVjpOL0FDOkwvQXU6Ti9DOk4vSTpQL0E6TikiIENWU1NfYmFzZV9zY29yZT0iNS4wIiBDVlNTX2V4cGxvaXRfc3Vic2NvcmU9IjEwLjAiIENWU1NfaW1wYWN0X3N1YnNjb3JlPSIyLjkiIG5hbWU9IkNWRS0yMDA4LTQ0MDEiIHNlcT0iMjAwOC00NDAxIiBzZXZlcml0eT0iTWVkaXVtIiB0eXBlPSJDVkUiIHB1Ymxpc2hlZD0iMjAwOC0xMC0xNyIgQ1ZTU192ZXJzaW9uPSIyLjAiIENWU1Nfc2NvcmU9IjUuMCIgbW9kaWZpZWQ9IjIwMDgtMTAtMTciPg0KKyAgICAgICAgPGRlc2M+DQorICAgICAgICAgICAgPGRlc2NyaXB0IHNvdXJjZT0iY3ZlIj5BY3Rpb25TY3JpcHQgaW4gQWRvYmUgRmxhc2ggUGxheWVyIDkuMC4xMjQuMCBhbmQgZWFybGllciBkb2VzIG5vdCByZXF1aXJlIHVzZXIgaW50ZXJhY3Rpb24gaW4gY29uanVuY3Rpb24gd2l0aCAoMSkgdGhlIEZpbGVSZWZlcmVuY2UuYnJvd3NlIG9wZXJhdGlvbiBpbiB0aGUgRmlsZVJlZmVyZW5jZSB1cGxvYWQgQVBJIG9yICgyKSB0aGUgRmlsZVJlZmVyZW5jZS5kb3dubG9hZCBvcGVyYXRpb24gaW4gdGhlIEZpbGVSZWZlcmVuY2UgZG93bmxvYWQgQVBJLCB3aGljaCBhbGxvd3MgcmVtb3RlIGF0dGFja2VycyB0byBjcmVhdGUgYSBicm93c2UgZGlhbG9nIGJveCwgYW5kIHBvc3NpYmx5IGhhdmUgdW5zcGVjaWZpZWQgb3RoZXIgaW1wYWN0LCB2aWEgYW4gU1dGIGZpbGUuPC9kZXNjcmlwdD4NCisgICAgICAgIDwvZGVzYz4NCisgICAgICAgIDxsb3NzX3R5cGVzPg0KKyAgICAgICAgICAgIDxpbnQgLz4NCisgICAgICAgIDwvbG9zc190eXBlcz4NCisgICAgICAgIDxyYW5nZT4NCisgICAgICAgICAgICA8bmV0d29yayAvPg0KKyAgICAgICAgPC9yYW5nZT4NCisgICAgICAgIDxyZWZzPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJYRiIgcGF0Y2g9IjEiIHVybD0iaHR0cDovL3hmb3JjZS5pc3MubmV0L3hmb3JjZS94ZmRiLzQ1OTEzIj5hZG9iZS1mbGFzaC1maWxlcmVmZXJlbmNlLWZpbGUtdXBsb2FkKDQ1OTEzKTwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJDT05GSVJNIiBwYXRjaD0iMSIgdXJsPSJodHRwOi8vd3d3LmFkb2JlLmNvbS9zdXBwb3J0L3NlY3VyaXR5L2J1bGxldGlucy9hcHNiMDgtMTguaHRtbCI+aHR0cDovL3d3dy5hZG9iZS5jb20vc3VwcG9ydC9zZWN1cml0eS9idWxsZXRpbnMvYXBzYjA4LTE4Lmh0bWw8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iU0VDVU5JQSIgcGF0Y2g9IjEiIHVybD0iaHR0cDovL3NlY3VuaWEuY29tL2Fkdmlzb3JpZXMvMzIyNzAiIGFkdj0iMSI+MzIyNzA8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iRlJTSVJUIiB1cmw9Imh0dHA6Ly93d3cuZnJzaXJ0LmNvbS9lbmdsaXNoL2Fkdmlzb3JpZXMvMjAwOC8yODM4IiBhZHY9IjEiPkFEVi0yMDA4LTI4Mzg8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQ09ORklSTSIgdXJsPSJodHRwOi8vd3d3LmFkb2JlLmNvbS9kZXZuZXQvZmxhc2hwbGF5ZXIvYXJ0aWNsZXMvZnBsYXllcjEwX3NlY3VyaXR5X2NoYW5nZXMuaHRtbCI+aHR0cDovL3d3dy5hZG9iZS5jb20vZGV2bmV0L2ZsYXNocGxheWVyL2FydGljbGVzL2ZwbGF5ZXIxMF9zZWN1cml0eV9jaGFuZ2VzLmh0bWw8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iU0VDVFJBQ0siIHVybD0iaHR0cDovL3NlY3VyaXR5dHJhY2tlci5jb20vaWQ/MTAyMTA2MSI+MTAyMTA2MTwvcmVmPg0KKyAgICAgICAgPC9yZWZzPg0KKyAgICAgICAgPHZ1bG5fc29mdD4NCisgICAgICAgICAgICA8cHJvZCB2ZW5kb3I9ImFkb2JlIiBuYW1lPSJmbGFzaF9wbGF5ZXIiPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjciIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNy4wIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjcuMC4xIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjcuMC4yNSIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI3LjAuNjMiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNy4wLjY5LjAiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNy4wLjcwLjAiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNy4wX3I2NyIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI3LjEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNy4xLjEiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iNy4yIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjgiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iOC4wIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjguMC4yNC4wIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjguMC4zNC4wIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjguMC4zNS4wIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjguMC4zOS4wIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjkiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iOS4wLjExMi4wIiAvPg0KKyAgICAgICAgICAgICAgICA8dmVycyBudW09IjkuMC4xMTQuMCIgLz4NCisgICAgICAgICAgICAgICAgPHZlcnMgbnVtPSI5LjAuMTE1LjAiIC8+DQorICAgICAgICAgICAgICAgIDx2ZXJzIG51bT0iOS4wLjEyNC4wIiBwcmV2PSIxIiAvPg0KKyAgICAgICAgICAgIDwvcHJvZD4NCisgICAgICAgIDwvdnVsbl9zb2Z0Pg0KKyAgICA8L2VudHJ5PgorICAgIDxlbnRyeSBuYW1lPSJDVkUtMjAwOC00NDczIiBzZXE9IjIwMDgtNDQ3MyIgdHlwZT0iQ1ZFIiBwdWJsaXNoZWQ9IjIwMDgtMTAtMTciIG1vZGlmaWVkPSIyMDA4LTEwLTE3Ij4NCisgICAgICAgIDxkZXNjPg0KKyAgICAgICAgICAgIDxkZXNjcmlwdCBzb3VyY2U9ImN2ZSI+TXVsdGlwbGUgaGVhcC1iYXNlZCBidWZmZXIgb3ZlcmZsb3dzIGluIEFkb2JlIEZsYXNoIENTMyBQcm9mZXNzaW9uYWwgb24gV2luZG93cyBhbmQgRmxhc2ggTVggMjAwNCBhbGxvdyByZW1vdGUgYXR0YWNrZXJzIHRvIGV4ZWN1dGUgYXJiaXRyYXJ5IGNvZGUgdmlhIGFuIFNXRiBmaWxlIGNvbnRhaW5pbmcgbG9uZyBjb250cm9sIHBhcmFtZXRlcnMuPC9kZXNjcmlwdD4NCisgICAgICAgIDwvZGVzYz4NCisgICAgICAgIDxyZWZzPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJYRiIgdXJsPSJodHRwOi8veGZvcmNlLmlzcy5uZXQveGZvcmNlL3hmZGIvNDU5MTQiPmFkb2JlLWZsYXNoLWNzMy1ibyg0NTkxNCk8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQklEIiB1cmw9Imh0dHA6Ly93d3cuc2VjdXJpdHlmb2N1cy5jb20vYmlkLzMxNzY5Ij4zMTc2OTwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJCVUdUUkFRIiB1cmw9Imh0dHA6Ly93d3cuc2VjdXJpdHlmb2N1cy5jb20vYXJjaGl2ZS8xL2FyY2hpdmUvMS80OTczOTcvMTAwLzAvdGhyZWFkZWQiPjIwMDgxMDE1IE11bHRpcGxlIEZsYXNoIEF1dGhvcmluZyBIZWFwIE92ZXJmbG93cyAtIE1hbGZvcm1lZCBTV0YgRmlsZXM8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iRlJTSVJUIiB1cmw9Imh0dHA6Ly93d3cuZnJzaXJ0LmNvbS9lbmdsaXNoL2Fkdmlzb3JpZXMvMjAwOC8yODM3Ij5BRFYtMjAwOC0yODM3PC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkNPTkZJUk0iIHVybD0iaHR0cDovL3d3dy5hZG9iZS5jb20vc3VwcG9ydC9zZWN1cml0eS9hZHZpc29yaWVzL2Fwc2EwOC0wOS5odG1sIj5odHRwOi8vd3d3LmFkb2JlLmNvbS9zdXBwb3J0L3NlY3VyaXR5L2Fkdmlzb3JpZXMvYXBzYTA4LTA5Lmh0bWw8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iU0VDVFJBQ0siIHVybD0iaHR0cDovL3NlY3VyaXR5dHJhY2tlci5jb20vaWQ/MTAyMTA2MCI+MTAyMTA2MDwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJNSVNDIiB1cmw9Imh0dHA6Ly9zZWN1cml0eS1hc3Nlc3NtZW50LmNvbS9maWxlcy9hZHZpc29yaWVzLzIwMDgtMTAtMTZfTXVsdGlwbGVfRmxhc2hfQXV0aG9yaW5nX0hlYXBfT3ZlcmZsb3dzLnBkZiI+aHR0cDovL3NlY3VyaXR5LWFzc2Vzc21lbnQuY29tL2ZpbGVzL2Fkdmlzb3JpZXMvMjAwOC0xMC0xNl9NdWx0aXBsZV9GbGFzaF9BdXRob3JpbmdfSGVhcF9PdmVyZmxvd3MucGRmPC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IlNFQ1VOSUEiIHVybD0iaHR0cDovL3NlY3VuaWEuY29tL2Fkdmlzb3JpZXMvMzIyNDYiPjMyMjQ2PC9yZWY+DQorICAgICAgICA8L3JlZnM+DQorICAgIDwvZW50cnk+CisgICAgPGVudHJ5IG5hbWU9IkNWRS0yMDA4LTQ0MTIiIHNlcT0iMjAwOC00NDEyIiB0eXBlPSJDVkUiIHB1Ymxpc2hlZD0iMjAwOC0xMC0xNyIgbW9kaWZpZWQ9IjIwMDgtMTAtMTciPg0KKyAgICAgICAgPGRlc2M+DQorICAgICAgICAgICAgPGRlc2NyaXB0IHNvdXJjZT0iY3ZlIj5VbnNwZWNpZmllZCB2dWxuZXJhYmlsaXR5IGluIEhQIFN5c3RlbXMgSW5zaWdodCBNYW5hZ2VyIChTSU0pIGJlZm9yZSA1LjIgVXBkYXRlIDIgKEMuMDUuMDIuMDIuMDApIGFsbG93cyByZW1vdGUgYXR0YWNrZXJzIHRvIG9idGFpbiBzZW5zaXRpdmUgaW5mb3JtYXRpb24gdmlhIHVuc3BlY2lmaWVkIHZlY3RvcnMuPC9kZXNjcmlwdD4NCisgICAgICAgIDwvZGVzYz4NCisgICAgICAgIDxyZWZzPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJYRiIgdXJsPSJodHRwOi8veGZvcmNlLmlzcy5uZXQveGZvcmNlL3hmZGIvNDU5MTYiPmhwLXNpbS11bnNwZWNpZmllZC1zZWN1cml0eS1ieXBhc3MoNDU5MTYpPC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkJJRCIgdXJsPSJodHRwOi8vd3d3LnNlY3VyaXR5Zm9jdXMuY29tL2JpZC8zMTc3NyI+MzE3Nzc8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iRlJTSVJUIiB1cmw9Imh0dHA6Ly93d3cuZnJzaXJ0LmNvbS9lbmdsaXNoL2Fkdmlzb3JpZXMvMjAwOC8yODM2Ij5BRFYtMjAwOC0yODM2PC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IlNFQ1VOSUEiIHVybD0iaHR0cDovL3NlY3VuaWEuY29tL2Fkdmlzb3JpZXMvMzIyODciPjMyMjg3PC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkhQIiB1cmw9Imh0dHA6Ly9oMjAwMDAud3d3Mi5ocC5jb20vYml6c3VwcG9ydC9UZWNoU3VwcG9ydC9Eb2N1bWVudC5qc3A/b2JqZWN0SUQ9YzAxNTcxOTYyIj5TU1JUMDgwMDM1PC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkhQIiB1cmw9Imh0dHA6Ly9oMjAwMDAud3d3Mi5ocC5jb20vYml6c3VwcG9ydC9UZWNoU3VwcG9ydC9Eb2N1bWVudC5qc3A/b2JqZWN0SUQ9YzAxNTcxOTYyIj5IUFNCTUEwMjM3ODwvcmVmPg0KKyAgICAgICAgPC9yZWZzPg0KKyAgICA8L2VudHJ5PgorICAgIDxlbnRyeSBuYW1lPSJDVkUtMjAwOC00NTkzIiBzZXE9IjIwMDgtNDU5MyIgdHlwZT0iQ1ZFIiBwdWJsaXNoZWQ9IjIwMDgtMTAtMTciIG1vZGlmaWVkPSIyMDA4LTEwLTE3Ij4NCisgICAgICAgIDxkZXNjPg0KKyAgICAgICAgICAgIDxkZXNjcmlwdCBzb3VyY2U9ImN2ZSI+QXBwbGUgaVBob25lIDIuMSB3aXRoIGZpcm13YXJlIDVGMTM2LCB3aGVuIFJlcXVpcmUgUGFzc2NvZGUgaXMgZW5hYmxlZCBhbmQgU2hvdyBTTVMgUHJldmlldyBpcyBkaXNhYmxlZCwgYWxsb3dzIHBoeXNpY2FsbHkgcHJveGltYXRlIGF0dGFja2VycyB0byBvYnRhaW4gc2Vuc2l0aXZlIGluZm9ybWF0aW9uIGJ5IHBlcmZvcm1pbmcgYW4gRW1lcmdlbmN5IENhbGwgdGFwIGFuZCB0aGVuIHJlYWRpbmcgU01TIG1lc3NhZ2VzIG9uIHRoZSBkZXZpY2Ugc2NyZWVuLCBha2EgQXBwbGUgYnVnIG51bWJlciA2MjY3NDE2LjwvZGVzY3JpcHQ+DQorICAgICAgICA8L2Rlc2M+DQorICAgICAgICA8cmVmcz4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iTUlTQyIgdXJsPSJodHRwOi8vd3d3LmthcmxrcmFmdC5jb20vaW5kZXgucGhwLzIwMDgvMTAvMDMveWV0LWFub3RoZXItaXBob25lLWVtZXJnZW5jeS1jYWxsLXNlY3VyaXR5LWJ1Zy8iPmh0dHA6Ly93d3cua2FybGtyYWZ0LmNvbS9pbmRleC5waHAvMjAwOC8xMC8wMy95ZXQtYW5vdGhlci1pcGhvbmUtZW1lcmdlbmN5LWNhbGwtc2VjdXJpdHktYnVnLzwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJTRUNUUkFDSyIgdXJsPSJodHRwOi8vc2VjdXJpdHl0cmFja2VyLmNvbS9pZD8xMDIxMDIxIj4xMDIxMDIxPC9yZWY+DQorICAgICAgICA8L3JlZnM+DQorICAgIDwvZW50cnk+CisgICAgPGVudHJ5IG5hbWU9IkNWRS0yMDA4LTQ1OTQiIHNlcT0iMjAwOC00NTk0IiB0eXBlPSJDVkUiIHB1Ymxpc2hlZD0iMjAwOC0xMC0xNyIgbW9kaWZpZWQ9IjIwMDgtMTAtMTciPg0KKyAgICAgICAgPGRlc2M+DQorICAgICAgICAgICAgPGRlc2NyaXB0IHNvdXJjZT0iY3ZlIj5VbnNwZWNpZmllZCB2dWxuZXJhYmlsaXR5IGluIHRoZSBTTk1QdjMgY29tcG9uZW50IGluIExpbmtzeXMgV0FQNDQwME4gZmlybXdhcmUgMS4yLjE0IG9uIHRoZSBNYXJ2ZWxsIFNlbWljb25kdWN0b3IgODhXODM2MVAtQkVNMSBjaGlwc2V0IGhhcyB1bmtub3duIGltcGFjdCBhbmQgYXR0YWNrIHZlY3RvcnMsIHByb2JhYmx5IHJlbW90ZS48L2Rlc2NyaXB0Pg0KKyAgICAgICAgPC9kZXNjPg0KKyAgICAgICAgPHJlZnM+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IlhGIiB1cmw9Imh0dHA6Ly94Zm9yY2UuaXNzLm5ldC94Zm9yY2UveGZkYi80NTg0MiI+bGlua3N5cy13YXA0NDAwbi11bnNwZWNpZmllZCg0NTg0Mik8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iRlJTSVJUIiB1cmw9Imh0dHA6Ly93d3cuZnJzaXJ0LmNvbS9lbmdsaXNoL2Fkdmlzb3JpZXMvMjAwOC8yODA1Ij5BRFYtMjAwOC0yODA1PC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IlNFQ1VOSUEiIHVybD0iaHR0cDovL3NlY3VuaWEuY29tL2Fkdmlzb3JpZXMvMzIyNTkiPjMyMjU5PC9yZWY+DQorICAgICAgICA8L3JlZnM+DQorICAgIDwvZW50cnk+CisgICAgPGVudHJ5IG5hbWU9IkNWRS0yMDA4LTQ1OTUiIHNlcT0iMjAwOC00NTk1IiB0eXBlPSJDVkUiIHB1Ymxpc2hlZD0iMjAwOC0xMC0xNyIgbW9kaWZpZWQ9IjIwMDgtMTAtMTciPg0KKyAgICAgICAgPGRlc2M+DQorICAgICAgICAgICAgPGRlc2NyaXB0IHNvdXJjZT0iY3ZlIj5NdWx0aXBsZSB1bnNwZWNpZmllZCB2dWxuZXJhYmlsaXRpZXMgaW4gU2xheXRhbmljIFNjcmlwdHMgQ29udGVudCBQbHVzIDIuMS4xIGhhdmUgdW5rbm93biBpbXBhY3QgYW5kIHJlbW90ZSBhdHRhY2sgdmVjdG9ycy48L2Rlc2NyaXB0Pg0KKyAgICAgICAgPC9kZXNjPg0KKyAgICAgICAgPHJlZnM+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkNPTkZJUk0iIHVybD0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0L3Nob3dub3Rlcy5waHA/cmVsZWFzZV9pZD02MzI4NDIiPmh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdC9zaG93bm90ZXMucGhwP3JlbGVhc2VfaWQ9NjMyODQyPC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IlNFQ1VOSUEiIHVybD0iaHR0cDovL3NlY3VuaWEuY29tL2Fkdmlzb3JpZXMvMzIyNDUiPjMyMjQ1PC9yZWY+DQorICAgICAgICA8L3JlZnM+DQorICAgIDwvZW50cnk+CisgICAgPGVudHJ5IG5hbWU9IkNWRS0yMDA4LTQ1OTYiIHNlcT0iMjAwOC00NTk2IiB0eXBlPSJDVkUiIHB1Ymxpc2hlZD0iMjAwOC0xMC0xNyIgbW9kaWZpZWQ9IjIwMDgtMTAtMTciPg0KKyAgICAgICAgPGRlc2M+DQorICAgICAgICAgICAgPGRlc2NyaXB0IHNvdXJjZT0iY3ZlIj5Dcm9zcy1zaXRlIHNjcmlwdGluZyAoWFNTKSB2dWxuZXJhYmlsaXR5IGluIFNoaW5kaWctSW50ZWdyYXRvciA1LngsIGEgbW9kdWxlIGZvciBEcnVwYWwsIGFsbG93cyByZW1vdGUgYXV0aGVudGljYXRlZCB1c2VycyB0byBpbmplY3QgYXJiaXRyYXJ5IHdlYiBzY3JpcHQgb3IgSFRNTCB2aWEgdW5zcGVjaWZpZWQgdmVjdG9ycyBpbiBnZW5lcmF0ZWQgcGFnZXMuPC9kZXNjcmlwdD4NCisgICAgICAgIDwvZGVzYz4NCisgICAgICAgIDxyZWZzPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJYRiIgdXJsPSJodHRwOi8veGZvcmNlLmlzcy5uZXQveGZvcmNlL3hmZGIvNDU5MjUiPnNoaW5kaWdpbnRlZ3JhdG9yLXVuc3BlY2lmaWVkLXhzcyg0NTkyNSk8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iU0VDVU5JQSIgdXJsPSJodHRwOi8vc2VjdW5pYS5jb20vYWR2aXNvcmllcy8zMjI4NSI+MzIyODU8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQ09ORklSTSIgdXJsPSJodHRwOi8vZHJ1cGFsLm9yZy9ub2RlLzMyMTc1OCI+aHR0cDovL2RydXBhbC5vcmcvbm9kZS8zMjE3NTg8L3JlZj4NCisgICAgICAgIDwvcmVmcz4NCisgICAgPC9lbnRyeT4KKyAgICA8ZW50cnkgbmFtZT0iQ1ZFLTIwMDgtNDU5NyIgc2VxPSIyMDA4LTQ1OTciIHR5cGU9IkNWRSIgcHVibGlzaGVkPSIyMDA4LTEwLTE3IiBtb2RpZmllZD0iMjAwOC0xMC0xNyI+DQorICAgICAgICA8ZGVzYz4NCisgICAgICAgICAgICA8ZGVzY3JpcHQgc291cmNlPSJjdmUiPlNoaW5kaWctSW50ZWdyYXRvciA1LngsIGEgbW9kdWxlIGZvciBEcnVwYWwsIGRvZXMgbm90IHByb3Blcmx5IHJlc3RyaWN0IGdlbmVyYXRlZCBwYWdlIGFjY2Vzcywgd2hpY2ggYWxsb3dzIHJlbW90ZSBhdHRhY2tlcnMgdG8gZ2FpbiBwcml2aWxlZ2VzIHZpYSB1bnNwZWNpZmllZCB2ZWN0b3JzLjwvZGVzY3JpcHQ+DQorICAgICAgICA8L2Rlc2M+DQorICAgICAgICA8cmVmcz4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iU0VDVU5JQSIgdXJsPSJodHRwOi8vc2VjdW5pYS5jb20vYWR2aXNvcmllcy8zMjI4NSI+MzIyODU8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQ09ORklSTSIgdXJsPSJodHRwOi8vZHJ1cGFsLm9yZy9ub2RlLzMyMTc1OCI+aHR0cDovL2RydXBhbC5vcmcvbm9kZS8zMjE3NTg8L3JlZj4NCisgICAgICAgIDwvcmVmcz4NCisgICAgPC9lbnRyeT4KKyAgICA8ZW50cnkgbmFtZT0iQ1ZFLTIwMDgtNDU5OCIgc2VxPSIyMDA4LTQ1OTgiIHR5cGU9IkNWRSIgcHVibGlzaGVkPSIyMDA4LTEwLTE3IiBtb2RpZmllZD0iMjAwOC0xMC0xNyI+DQorICAgICAgICA8ZGVzYz4NCisgICAgICAgICAgICA8ZGVzY3JpcHQgc291cmNlPSJjdmUiPlVuc3BlY2lmaWVkIHZ1bG5lcmFiaWxpdHkgaW4gU2hpbmRpZy1JbnRlZ3JhdG9yIDUueCwgYSBtb2R1bGUgZm9yIERydXBhbCwgaGFzIHVuc3BlY2lmaWVkIGltcGFjdCBhbmQgcmVtb3RlIGF0dGFjayB2ZWN0b3JzIHJlbGF0ZWQgdG8gIm51bWVyb3VzIGZsYXdzIiB0aGF0IGFyZSBub3QgcmVsYXRlZCB0byBYU1Mgb3IgYWNjZXNzIGNvbnRyb2wsIGEgZGlmZmVyZW50IHZ1bG5lcmFiaWxpdHkgdGhhbiBDVkUtMjAwOC00NTk2IGFuZCBDVkUtMjAwOC00NTk3LjwvZGVzY3JpcHQ+DQorICAgICAgICA8L2Rlc2M+DQorICAgICAgICA8cmVmcz4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iU0VDVU5JQSIgdXJsPSJodHRwOi8vc2VjdW5pYS5jb20vYWR2aXNvcmllcy8zMjI4NSI+MzIyODU8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQ09ORklSTSIgdXJsPSJodHRwOi8vZHJ1cGFsLm9yZy9ub2RlLzMyMTc1OCI+aHR0cDovL2RydXBhbC5vcmcvbm9kZS8zMjE3NTg8L3JlZj4NCisgICAgICAgIDwvcmVmcz4NCisgICAgPC9lbnRyeT4KKyAgICA8ZW50cnkgbmFtZT0iQ1ZFLTIwMDgtNDU5OSIgc2VxPSIyMDA4LTQ1OTkiIHR5cGU9IkNWRSIgcHVibGlzaGVkPSIyMDA4LTEwLTE3IiBtb2RpZmllZD0iMjAwOC0xMC0xNyI+DQorICAgICAgICA8ZGVzYz4NCisgICAgICAgICAgICA8ZGVzY3JpcHQgc291cmNlPSJjdmUiPlNRTCBpbmplY3Rpb24gdnVsbmVyYWJpbGl0eSBpbiBjYXRlZ29yeS5waHAgaW4gTW9zYWljIENvbW1lcmNlIGFsbG93cyByZW1vdGUgYXR0YWNrZXJzIHRvIGV4ZWN1dGUgYXJiaXRyYXJ5IFNRTCBjb21tYW5kcyB2aWEgdGhlIGNpZCBwYXJhbWV0ZXIuPC9kZXNjcmlwdD4NCisgICAgICAgIDwvZGVzYz4NCisgICAgICAgIDxyZWZzPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJYRiIgdXJsPSJodHRwOi8veGZvcmNlLmlzcy5uZXQveGZvcmNlL3hmZGIvNDU5MjYiPm1vc2FpY2NvbW1lcmNlLWNhdGVnb3J5LXNxbC1pbmplY3Rpb24oNDU5MjYpPC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkJJRCIgdXJsPSJodHRwOi8vd3d3LnNlY3VyaXR5Zm9jdXMuY29tL2JpZC8zMTc4MiI+MzE3ODI8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iTUlMVzBSTSIgdXJsPSJodHRwOi8vd3d3Lm1pbHcwcm0uY29tL2V4cGxvaXRzLzY3NjMiPjY3NjM8L3JlZj4NCisgICAgICAgIDwvcmVmcz4NCisgICAgPC9lbnRyeT4KKyAgICA8ZW50cnkgbmFtZT0iQ1ZFLTIwMDgtNDYwMCIgc2VxPSIyMDA4LTQ2MDAiIHR5cGU9IkNWRSIgcHVibGlzaGVkPSIyMDA4LTEwLTE3IiBtb2RpZmllZD0iMjAwOC0xMC0xNyI+DQorICAgICAgICA8ZGVzYz4NCisgICAgICAgICAgICA8ZGVzY3JpcHQgc291cmNlPSJjdmUiPmNvbmZpZ3VyZS5waHAgaW4gUG9rZXJNYXggUG9rZXIgTGVhZ3VlIFRvdXJuYW1lbnQgU2NyaXB0IDAuMTMgYWxsb3dzIHJlbW90ZSBhdHRhY2tlcnMgdG8gYnlwYXNzIGF1dGhlbnRpY2F0aW9uIGFuZCBnYWluIGFkbWluaXN0cmF0aXZlIGFjY2VzcyBieSBzZXR0aW5nIHRoZSBWYWxpZFVzZXJBZG1pbiBjb29raWUuPC9kZXNjcmlwdD4NCisgICAgICAgIDwvZGVzYz4NCisgICAgICAgIDxyZWZzPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJYRiIgdXJsPSJodHRwOi8veGZvcmNlLmlzcy5uZXQveGZvcmNlL3hmZGIvNDU5MzEiPnBva2VybWF4LWNvb2tpZS1zZWN1cml0eS1ieXBhc3MoNDU5MzEpPC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkJJRCIgdXJsPSJodHRwOi8vd3d3LnNlY3VyaXR5Zm9jdXMuY29tL2JpZC8zMTc4NCI+MzE3ODQ8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iTUlMVzBSTSIgdXJsPSJodHRwOi8vd3d3Lm1pbHcwcm0uY29tL2V4cGxvaXRzLzY3NjYiPjY3NjY8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iU0VDVU5JQSIgdXJsPSJodHRwOi8vc2VjdW5pYS5jb20vYWR2aXNvcmllcy8zMjMxMiI+MzIzMTI8L3JlZj4NCisgICAgICAgIDwvcmVmcz4NCisgICAgPC9lbnRyeT4KKyAgICA8ZW50cnkgbmFtZT0iQ1ZFLTIwMDgtNDYwMSIgc2VxPSIyMDA4LTQ2MDEiIHR5cGU9IkNWRSIgcHVibGlzaGVkPSIyMDA4LTEwLTE3IiBtb2RpZmllZD0iMjAwOC0xMC0xNyI+DQorICAgICAgICA8ZGVzYz4NCisgICAgICAgICAgICA8ZGVzY3JpcHQgc291cmNlPSJjdmUiPkNyb3NzLXNpdGUgc2NyaXB0aW5nIChYU1MpIHZ1bG5lcmFiaWxpdHkgaW4gdGhlIGxvZ2luIGZlYXR1cmUgaW4gSGFiYXJpIENNUyAwLjUuMSBhbGxvd3MgcmVtb3RlIGF0dGFja2VycyB0byBpbmplY3QgYXJiaXRyYXJ5IHdlYiBzY3JpcHQgb3IgSFRNTCB2aWEgdGhlIGhhYmFyaV91c2VybmFtZSBwYXJhbWV0ZXIuPC9kZXNjcmlwdD4NCisgICAgICAgIDwvZGVzYz4NCisgICAgICAgIDxyZWZzPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJCSUQiIHVybD0iaHR0cDovL3d3dy5zZWN1cml0eWZvY3VzLmNvbS9iaWQvMzE3OTQiPjMxNzk0PC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IlNFQ1VOSUEiIHVybD0iaHR0cDovL3NlY3VuaWEuY29tL2Fkdmlzb3JpZXMvMzIzMTEiPjMyMzExPC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9Ik1JU0MiIHVybD0iaHR0cDovL3BhY2tldHN0b3JtLmxpbnV4c2VjdXJpdHkuY29tLzA4MTAtZXhwbG9pdHMvaGFiYXJpY21zLXhzcy50eHQiPmh0dHA6Ly9wYWNrZXRzdG9ybS5saW51eHNlY3VyaXR5LmNvbS8wODEwLWV4cGxvaXRzL2hhYmFyaWNtcy14c3MudHh0PC9yZWY+DQorICAgICAgICA8L3JlZnM+DQorICAgIDwvZW50cnk+CisgICAgPGVudHJ5IG5hbWU9IkNWRS0yMDA4LTQ2MDIiIHNlcT0iMjAwOC00NjAyIiB0eXBlPSJDVkUiIHB1Ymxpc2hlZD0iMjAwOC0xMC0xNyIgbW9kaWZpZWQ9IjIwMDgtMTAtMTciPg0KKyAgICAgICAgPGRlc2M+DQorICAgICAgICAgICAgPGRlc2NyaXB0IHNvdXJjZT0iY3ZlIj5EaXJlY3RvcnkgdHJhdmVyc2FsIHZ1bG5lcmFiaWxpdHkgaW4gaW5kZXgucGhwIGluIFBvc3QgQWZmaWxpYXRlIFBybyAyLjAgYWxsb3dzIHJlbW90ZSBhdXRoZW50aWNhdGVkIHVzZXJzIHRvIHJlYWQgYW5kIHBvc3NpYmx5IGV4ZWN1dGUgYXJiaXRyYXJ5IGxvY2FsIGZpbGVzIHZpYSBhIC4uIChkb3QgZG90KSBpbiB0aGUgbWQgcGFyYW1ldGVyLjwvZGVzY3JpcHQ+DQorICAgICAgICA8L2Rlc2M+DQorICAgICAgICA8cmVmcz4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQklEIiB1cmw9Imh0dHA6Ly93d3cuc2VjdXJpdHlmb2N1cy5jb20vYmlkLzMxNzk2Ij4zMTc5NjwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJNSUxXMFJNIiB1cmw9Imh0dHA6Ly93d3cubWlsdzBybS5jb20vZXhwbG9pdHMvNjc3MiI+Njc3MjwvcmVmPg0KKyAgICAgICAgPC9yZWZzPg0KKyAgICA8L2VudHJ5PgorICAgIDxlbnRyeSBuYW1lPSJDVkUtMjAwOC00NjAzIiBzZXE9IjIwMDgtNDYwMyIgdHlwZT0iQ1ZFIiBwdWJsaXNoZWQ9IjIwMDgtMTAtMTciIG1vZGlmaWVkPSIyMDA4LTEwLTE3Ij4NCisgICAgICAgIDxkZXNjPg0KKyAgICAgICAgICAgIDxkZXNjcmlwdCBzb3VyY2U9ImN2ZSI+U1FMIGluamVjdGlvbiB2dWxuZXJhYmlsaXR5IGluIHNlYXJjaC5waHAgaW4gaUdhbWluZyBDTVMgMi4wIEFscGhhIDEgYWxsb3dzIHJlbW90ZSBhdHRhY2tlcnMgdG8gZXhlY3V0ZSBhcmJpdHJhcnkgU1FMIGNvbW1hbmRzIHZpYSB0aGUga2V5d29yZHMgcGFyYW1ldGVyIGluIGEgc2VhcmNoX2dhbWVzIGFjdGlvbi48L2Rlc2NyaXB0Pg0KKyAgICAgICAgPC9kZXNjPg0KKyAgICAgICAgPHJlZnM+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IkJJRCIgdXJsPSJodHRwOi8vd3d3LnNlY3VyaXR5Zm9jdXMuY29tL2JpZC8zMTc5MyI+MzE3OTM8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iTUlMVzBSTSIgdXJsPSJodHRwOi8vd3d3Lm1pbHcwcm0uY29tL2V4cGxvaXRzLzY3NjkiPjY3Njk8L3JlZj4NCisgICAgICAgIDwvcmVmcz4NCisgICAgPC9lbnRyeT4KKyAgICA8ZW50cnkgbmFtZT0iQ1ZFLTIwMDgtNDYwNCIgc2VxPSIyMDA4LTQ2MDQiIHR5cGU9IkNWRSIgcHVibGlzaGVkPSIyMDA4LTEwLTE3IiBtb2RpZmllZD0iMjAwOC0xMC0xNyI+DQorICAgICAgICA8ZGVzYz4NCisgICAgICAgICAgICA8ZGVzY3JpcHQgc291cmNlPSJjdmUiPlNRTCBpbmplY3Rpb24gdnVsbmVyYWJpbGl0eSBpbiBpbmRleC5waHAgaW4gRWFzeSBDYWZlRW5naW5lIDEuMSBhbGxvd3MgcmVtb3RlIGF0dGFja2VycyB0byBleGVjdXRlIGFyYml0cmFyeSBTUUwgY29tbWFuZHMgdmlhIHRoZSBpdGVtaWQgcGFyYW1ldGVyLjwvZGVzY3JpcHQ+DQorICAgICAgICA8L2Rlc2M+DQorICAgICAgICA8cmVmcz4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQklEIiB1cmw9Imh0dHA6Ly93d3cuc2VjdXJpdHlmb2N1cy5jb20vYmlkLzMxNzg4Ij4zMTc4ODwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJNSUxXMFJNIiB1cmw9Imh0dHA6Ly93d3cubWlsdzBybS5jb20vZXhwbG9pdHMvNjc2MiI+Njc2MjwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJTRUNVTklBIiB1cmw9Imh0dHA6Ly9zZWN1bmlhLmNvbS9hZHZpc29yaWVzLzMyMzA3Ij4zMjMwNzwvcmVmPg0KKyAgICAgICAgPC9yZWZzPg0KKyAgICA8L2VudHJ5PgorICAgIDxlbnRyeSBuYW1lPSJDVkUtMjAwOC00NjA1IiBzZXE9IjIwMDgtNDYwNSIgdHlwZT0iQ1ZFIiBwdWJsaXNoZWQ9IjIwMDgtMTAtMTciIG1vZGlmaWVkPSIyMDA4LTEwLTE3Ij4NCisgICAgICAgIDxkZXNjPg0KKyAgICAgICAgICAgIDxkZXNjcmlwdCBzb3VyY2U9ImN2ZSI+U1FMIGluamVjdGlvbiB2dWxuZXJhYmlsaXR5IGluIENhZmVFbmdpbmUgYWxsb3dzIHJlbW90ZSBhdHRhY2tlcnMgdG8gZXhlY3V0ZSBhcmJpdHJhcnkgU1FMIGNvbW1hbmRzIHZpYSB0aGUgaWQgcGFyYW1ldGVyIHRvICgxKSBkaXNoLnBocCBhbmQgKDIpIG1lbnUucGhwLjwvZGVzY3JpcHQ+DQorICAgICAgICA8L2Rlc2M+DQorICAgICAgICA8cmVmcz4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iWEYiIHVybD0iaHR0cDovL3hmb3JjZS5pc3MubmV0L3hmb3JjZS94ZmRiLzQ1OTI5Ij5jYWZlZW5naW5lLWRpc2gtbWVudS1zcWwtaW5qZWN0aW9uKDQ1OTI5KTwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJCSUQiIHVybD0iaHR0cDovL3d3dy5zZWN1cml0eWZvY3VzLmNvbS9iaWQvMzE3ODYiPjMxNzg2PC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9Ik1JTFcwUk0iIHVybD0iaHR0cDovL3d3dy5taWx3MHJtLmNvbS9leHBsb2l0cy82NzYyIj42NzYyPC9yZWY+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IlNFQ1VOSUEiIHVybD0iaHR0cDovL3NlY3VuaWEuY29tL2Fkdmlzb3JpZXMvMzIzMDgiPjMyMzA4PC9yZWY+DQorICAgICAgICA8L3JlZnM+DQorICAgIDwvZW50cnk+CisgICAgPGVudHJ5IG5hbWU9IkNWRS0yMDA4LTQ2MDYiIHNlcT0iMjAwOC00NjA2IiB0eXBlPSJDVkUiIHB1Ymxpc2hlZD0iMjAwOC0xMC0xNyIgbW9kaWZpZWQ9IjIwMDgtMTAtMTciPg0KKyAgICAgICAgPGRlc2M+DQorICAgICAgICAgICAgPGRlc2NyaXB0IHNvdXJjZT0iY3ZlIj5NdWx0aXBsZSBTUUwgaW5qZWN0aW9uIHZ1bG5lcmFiaWxpdGllcyBpbiBJUCBSZWcgMC40IGFuZCBlYXJsaWVyIGFsbG93IHJlbW90ZSBhdHRhY2tlcnMgdG8gZXhlY3V0ZSBhcmJpdHJhcnkgU1FMIGNvbW1hbmRzIHZpYSB0aGUgKDEpIGxvY2F0aW9uX2lkIHBhcmFtZXRlciB0byBsb2NhdGlvbmRlbC5waHAgYW5kICgyKSB2bGFuX2lkIHBhcmFtZXRlciB0byBpdC5waHAuICBOT1RFOiB0aGUgdmxhbnZpZXcucGhwIGFuZCB2bGFuZGVsLnBocCB2ZWN0b3JzIGFyZSBhbHJlYWR5IGNvdmVyZWQgYnkgQ1ZFLTIwMDctNjU3OS48L2Rlc2NyaXB0Pg0KKyAgICAgICAgPC9kZXNjPg0KKyAgICAgICAgPHJlZnM+DQorICAgICAgICAgICAgPHJlZiBzb3VyY2U9IlhGIiB1cmw9Imh0dHA6Ly94Zm9yY2UuaXNzLm5ldC94Zm9yY2UveGZkYi80NTkzNCI+aXByZWctbG9jYXRpb25pZC12bGFuaWQtc3FsLWluamVjdGlvbig0NTkzNCk8L3JlZj4NCisgICAgICAgICAgICA8cmVmIHNvdXJjZT0iQklEIiB1cmw9Imh0dHA6Ly93d3cuc2VjdXJpdHlmb2N1cy5jb20vYmlkLzMxNzgxIj4zMTc4MTwvcmVmPg0KKyAgICAgICAgICAgIDxyZWYgc291cmNlPSJNSUxXMFJNIiB1cmw9Imh0dHA6Ly93d3cubWlsdzBybS5jb20vZXhwbG9pdHMvNjc2NSI+Njc2NTwvcmVmPg0KKyAgICAgICAgPC9yZWZzPg0KKyAgICA8L2VudHJ5PgorCis8L252ZD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9udmRjdmVfMC54c2QgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9udmRjdmVfMC54c2QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjI0YjU3NAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL252ZGN2ZV8wLnhzZApAQCAtMCwwICsxLDQ5OCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+DQorPHhzOnNjaGVtYSB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiDQorCXRhcmdldE5hbWVzcGFjZT0iaHR0cDovL252ZC5uaXN0Lmdvdi9mZWVkcy9jdmUvMS4yIg0KKwl4bWxuczpjdmU9Imh0dHA6Ly9udmQubmlzdC5nb3YvZmVlZHMvY3ZlLzEuMiIKKwllbGVtZW50Rm9ybURlZmF1bHQ9InF1YWxpZmllZCIgYXR0cmlidXRlRm9ybURlZmF1bHQ9InVucXVhbGlmaWVkIgorCXZlcnNpb249IjEuMiI+DQorCTx4czphbm5vdGF0aW9uPg0KKwkJPHhzOmRvY3VtZW50YXRpb24+VGhpcyBzY2hlbWEgZGVmaW5lcyB0aGUgc3RydWN0dXJlIG9mIHRoZSBOYXRpb25hbA0KKwkJCVZ1bG5lcmFiaWxpdHkgRGF0YWJhc2UgWE1MIGZlZWQgZmlsZXMgdmVyc2lvbjogMS4yLiBUaGUgZWxlbWVudHMgYW5kDQorCQkJYXR0cmlidXRlIGluIHRoaXMgZG9jdW1lbnQgYXJlIGRlc2NyaWJlZCBieSB4czphbm5vdGF0aW9uIHRhZ3MuIFRoaXMNCisJCQlmaWxlIGlzIGtlcHQgYXQgaHR0cDovL252ZC5uaXN0Lmdvdi9zY2hlbWEvbnZkY3ZlLnhzZC4gVGhlIE5WRCBYTUwNCisJCQlmZWVkcyBhcmUgYXZhaWxhYmxlIGF0IGh0dHA6Ly9udmQubmlzdC5nb3YvZG93bmxvYWQuY2ZtLg0KKwkJCQ0KKwkJCVJlbGVhc2UgTm90ZXM6DQorCQkJDQorCQkJVmVyc2lvbiAxLjI6DQorCQkJKiBDVlNTIHZlcnNpb24gMiBzY29yZXMgYW5kIHZlY3RvcnMgaGF2ZSBiZWVuIGFkZGVkLiAgUGxlYXNlIHNlZQ0KKwkJCWh0dHA6Ly9udmQubmlzdC5nb3YvY3Zzcy5jZm0/dmVjdG9yaW5mbyBhbmQNCisJCQlodHRwOi8vd3d3LmZpcnN0Lm9yZy9jdnNzL2N2c3MtZ3VpZGUuaHRtbCBmb3IgbW9yZSBpbmZvcm1hdGlvbiBvbg0KKwkJCWhvdyB0byBpbnRlcnByZXQgdGhpcyBkYXRhLiA8L3hzOmRvY3VtZW50YXRpb24+DQorCTwveHM6YW5ub3RhdGlvbj4NCisJPHhzOmVsZW1lbnQgbmFtZT0ibnZkIj4NCisJCTx4czphbm5vdGF0aW9uPg0KKwkJCTx4czpkb2N1bWVudGF0aW9uPlRoZSByb290IGVsZW1lbnQgb2YgdGhlIE5WRCBDVkUgZmVlZC4gTXVsdGlwbGUgImVudHJ5IiBjaGlsZCBlbGVtZW50cyBkZXNjcmliZSBzcGVjaWZpYyBOVkQgQ1ZFIGVudHJpZXMuPC94czpkb2N1bWVudGF0aW9uPg0KKwkJPC94czphbm5vdGF0aW9uPg0KKwkJPHhzOmNvbXBsZXhUeXBlPg0KKwkJCTx4czpzZXF1ZW5jZT4NCisJCQkJPHhzOmVsZW1lbnQgcmVmPSJjdmU6ZW50cnkiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiLz4NCisJCQk8L3hzOnNlcXVlbmNlPg0KKwkJCTx4czphdHRyaWJ1dGUgbmFtZT0ibnZkX3htbF92ZXJzaW9uIiB0eXBlPSJ4czpOTVRPS0VOIiB1c2U9InJlcXVpcmVkIj4NCisJCQkJPHhzOmFubm90YXRpb24+DQorCQkJCQk8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgc2NoZW1hIHZlcnNpb24gbnVtYmVyIHN1cHBvcnRlZCBieSB0aGUgZmVlZC48L3hzOmRvY3VtZW50YXRpb24+DQorCQkJCTwveHM6YW5ub3RhdGlvbj4NCisJCQk8L3hzOmF0dHJpYnV0ZT4NCisJCQk8eHM6YXR0cmlidXRlIG5hbWU9InB1Yl9kYXRlIiB0eXBlPSJjdmU6ZGF0ZVR5cGUiIHVzZT0icmVxdWlyZWQiPg0KKwkJCQk8eHM6YW5ub3RhdGlvbj4NCisJCQkJCTx4czpkb2N1bWVudGF0aW9uPlRoZSBkYXRlIHRoZSBmZWVkIHdhcyBnZW5lcmF0ZWQuPC94czpkb2N1bWVudGF0aW9uPg0KKwkJCQk8L3hzOmFubm90YXRpb24+DQorCQkJPC94czphdHRyaWJ1dGU+DQorCQk8L3hzOmNvbXBsZXhUeXBlPg0KKwk8L3hzOmVsZW1lbnQ+DQorCisJPHhzOmVsZW1lbnQgbmFtZT0iZW50cnkiIHR5cGU9ImN2ZTplbnRyeVR5cGUiPg0KKwkJPHhzOmFubm90YXRpb24+DQorCQkJPHhzOmRvY3VtZW50YXRpb24+QSBDVkUgZW50cnkuPC94czpkb2N1bWVudGF0aW9uPg0KKwkJPC94czphbm5vdGF0aW9uPg0KKwk8L3hzOmVsZW1lbnQ+DQorCQ0KKwk8IS0tICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogLS0+DQorCTwhLS0gKiBDb21wbGV4IFR5cGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAtLT4NCisJPCEtLSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIC0tPg0KKwk8eHM6Y29tcGxleFR5cGUgbmFtZT0iZW50cnlUeXBlIj4NCisJCTx4czphbm5vdGF0aW9uPg0KKwkJCTx4czpkb2N1bWVudGF0aW9uPiBEb2N1bWVudHMgb25lIENWRSBlbnRyeS4gVGhlIGNoaWxkIGVsZW1lbnRzIHNob3VsZCBhbHdheXMNCisJCQkJYXBwZWFyIGluIHRoZSBzZXF1ZW5jZSBkZWZpbmVkIGJlbG93LiBUaGVzZSBlbGVtZW50cyBhcmUgY29tcGF0aWJsZSB3aXRoDQorCQkJCWVudHJ5IGVsZW1lbnRzIGZyb20gdGhlIENWRSBYTUwgZmVlZHMuPC94czpkb2N1bWVudGF0aW9uPg0KKwkJPC94czphbm5vdGF0aW9uPg0KKwkJPHhzOnNlcXVlbmNlPg0KKwkJCTx4czplbGVtZW50IG5hbWU9ImRlc2MiPg0KKwkJCQk8eHM6YW5ub3RhdGlvbj4NCisJCQkJCTx4czpkb2N1bWVudGF0aW9uPkRlc2NyaXB0aW9uIHdyYXBwZXIgdGFnLCBwYXJlbnQgdG8gYW55DQorCQkJCQkJZG9jdW1lbnRlZCBkZXNjcmlwdGlvbnMgb2YgdGhpcyBDVkUgZW50cnkuIFdoaWxlIHRoZSAiZGVzYyINCisJCQkJCQl0YWcgd2lsbCBhbHdheXMgYmUgcHJlc2VudCwgdGhlcmUgbWF5IGJlIG5vICJkZXNjcmlwdCIgY2hpbGQNCisJCQkJCQl0YWdzLiBPbmx5IG9uZSAiZGVzY3JpcHQiIHRhZyB3aWxsIGV4aXN0IGZvciBlYWNoDQorCQkJCQkJZGVzY3JpcHRpb24gc291cmNlIChpLmUuIENWRSwgTlZELCAuLi4pLiA8L3hzOmRvY3VtZW50YXRpb24+DQorCQkJCTwveHM6YW5ub3RhdGlvbj4NCisJCQkJPHhzOmNvbXBsZXhUeXBlPg0KKwkJCQkJPHhzOnNlcXVlbmNlPg0KKwkJCQkJCTx4czplbGVtZW50IG5hbWU9ImRlc2NyaXB0IiB0eXBlPSJjdmU6ZGVzY3JpcHRUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0iMiI+DQorCQkJCQkJCTx4czphbm5vdGF0aW9uPg0KKwkJCQkJCQkJPHhzOmRvY3VtZW50YXRpb24+QSBkZXNjcmlwdGlvbiBvZiBhIENWRSBlbnRyeQ0KKwkJCQkJCQkJCWZyb20gdGhlIHNvdXJjZSBpbmRpY2F0ZWQgYnkgdGhlICJzb3VyY2UiDQorCQkJCQkJCQkJYXR0cmlidXRlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCisJCQkJCQkJPC94czphbm5vdGF0aW9uPg0KKwkJCQkJCTwveHM6ZWxlbWVudD4NCisJCQkJCTwveHM6c2VxdWVuY2U+DQorCQkJCTwveHM6Y29tcGxleFR5cGU+DQorCQkJPC94czplbGVtZW50Pg0KKwkJCTx4czplbGVtZW50IG5hbWU9ImltcGFjdHMiIG1pbk9jY3Vycz0iMCI+DQorCQkJCTx4czphbm5vdGF0aW9uPg0KKwkJCQkJPHhzOmRvY3VtZW50YXRpb24+IEltcGFjdCB3cmFwcGVyIHRhZyAobWF5IG9yIG1heSBub3QgYmUNCisJCQkJCQlwcmVzZW50KS4gT25seSBvbmUgImltcGFjdCIgdGFnIHdpbGwgZXhpc3QgZm9yIGVhY2ggaW1wYWN0DQorCQkJCQkJZXhwbGFuYXRpb24gc291cmNlLiA8L3hzOmRvY3VtZW50YXRpb24+DQorCQkJCTwveHM6YW5ub3RhdGlvbj4NCisJCQkJPHhzOmNvbXBsZXhUeXBlPg0KKwkJCQkJPHhzOnNlcXVlbmNlPg0KKwkJCQkJCTx4czplbGVtZW50IG5hbWU9ImltcGFjdCIgdHlwZT0iY3ZlOmltcGFjdFR5cGUiPg0KKwkJCQkJCQk8eHM6YW5ub3RhdGlvbj4NCisJCQkJCQkJCTx4czpkb2N1bWVudGF0aW9uPiBDb250YWlucyBhIHNwZWNpZmljIGltcGFjdA0KKwkJCQkJCQkJZXhwbGFuYXRpb24gb2YgdGhpcyBDVkUgZW50cnkgZnJvbSBzb3VyY2UNCisJCQkJCQkJCWluZGljYXRlZCBieSB0aGUgInNvdXJjZSIgYXR0cmlidXRlLg0KKwkJCQkJCQkJPC94czpkb2N1bWVudGF0aW9uPg0KKwkJCQkJCQk8L3hzOmFubm90YXRpb24+DQorCQkJCQkJPC94czplbGVtZW50Pg0KKwkJCQkJPC94czpzZXF1ZW5jZT4NCisJCQkJPC94czpjb21wbGV4VHlwZT4NCisJCQk8L3hzOmVsZW1lbnQ+DQorCQkJPHhzOmVsZW1lbnQgbmFtZT0ic29scyIgdHlwZT0iY3ZlOnNvbHNUeXBlIiBtaW5PY2N1cnM9IjAiPg0KKwkJCQk8eHM6YW5ub3RhdGlvbj4NCisJCQkJCTx4czpkb2N1bWVudGF0aW9uPiBTb2x1dGlvbiB3cmFwcGVyIHRhZyAobWF5IG9yIG1heSBub3QgYmUNCisJCQkJCQlwcmVzZW50KS4gT25seSBvbmUgInNvbCIgdGFnIHdpbGwgZXhpc3QgZm9yIGVhY2ggc29sdXRpb24NCisJCQkJCQlleHBsYW5hdGlvbiBzb3VyY2UuIDwveHM6ZG9jdW1lbnRhdGlvbj4NCisJCQkJPC94czphbm5vdGF0aW9uPg0KKwkJCTwveHM6ZWxlbWVudD4NCisJCQk8eHM6ZWxlbWVudCBuYW1lPSJsb3NzX3R5cGVzIiB0eXBlPSJjdmU6bG9zc1R5cGVUeXBlIiBtaW5PY2N1cnM9IjAiPg0KKwkJCQk8eHM6YW5ub3RhdGlvbj4NCisJCQkJCTx4czpkb2N1bWVudGF0aW9uPiBMb3NzIHR5cGUgdGFnIChtYXkgb3IgbWF5IG5vdCBiZSBwcmVzZW50KS4NCisJCQkJCQlDb250YWlucyBvbmUgbG9zcyB0eXBlIGNoaWxkIGZvciBlYWNoIGxvc3MgdHlwZSBvZiB0aGlzIENWRQ0KKwkJCQkJCWVudHJ5LiBQb3RlbnRpYWwgbG9zcyB0eXBlcyBhcmU6ICJhdmFpbCIgPT4gYXZhaWxhYmlsaXR5DQorCQkJCQkJImNvbmYiID0+IGNvbmZpZGVudGlhbGl0eSAiaW50IiA9PiBpbnRlZ3JpdHkgInNlY19wcm90IiA9Pg0KKwkJCQkJCXNlY3VyaXR5IHByb3RlY3Rpb24gPC94czpkb2N1bWVudGF0aW9uPg0KKwkJCQk8L3hzOmFubm90YXRpb24+DQorCQkJPC94czplbGVtZW50Pg0KKwkJCTx4czplbGVtZW50IG5hbWU9InZ1bG5fdHlwZXMiIHR5cGU9ImN2ZTp2dWxuVHlwZSIgbWluT2NjdXJzPSIwIj4NCisJCQkJPHhzOmFubm90YXRpb24+DQorCQkJCQk8eHM6ZG9jdW1lbnRhdGlvbj4gVnVsbmVyYWJpbGl0eSB0eXBlIHRhZyAobWF5IG9yIG1heSBub3QgYmUNCisJCQkJCQlwcmVzZW50KS4gQ29udGFpbnMgb25lIHZ1bG5lcmFiaWxpdHkgdHlwZSBjaGlsZCBmb3IgZWFjaA0KKwkJCQkJCXZ1bG5lcmFiaWxpdHkgdHlwZSBvZiB0aGlzIENWRSBlbnRyeS4gUG90ZW50aWFsDQorCQkJCQkJdnVsbmVyYWJpbGl0eSB0eXBlcyBhcmU6ICJhY2Nlc3MiID0+IEFjY2VzcyB2YWxpZGF0aW9uIGVycm9yDQorCQkJCQkJImlucHV0IiA9PiBJbnB1dCB2YWxpZGF0aW9uIGVycm9yICJkZXNpZ24iID0+IERlc2lnbiBlcnJvcg0KKwkJCQkJCSJleGNlcHRpb24iID0+IEV4Y2VwdGlvbmFsIGNvbmRpdGlvbiBlcnJvciAiZW52IiA9Pg0KKwkJCQkJCUVudmlyb25tZW50YWwgZXJyb3IgImNvbmZpZyIgPT4gQ29uZmlndXJhdGlvbiBlcnJvciAicmFjZSINCisJCQkJCQk9PiBSYWNlIGNvbmRpdGlvbiBlcnJvciAib3RoZXIiID0+IG90aGVyIDwveHM6ZG9jdW1lbnRhdGlvbj4NCisJCQkJPC94czphbm5vdGF0aW9uPg0KKwkJCTwveHM6ZWxlbWVudD4NCisJCQk8eHM6ZWxlbWVudCBuYW1lPSJyYW5nZSIgdHlwZT0iY3ZlOnJhbmdlVHlwZSIgbWluT2NjdXJzPSIwIj4NCisJCQkJPHhzOmFubm90YXRpb24+DQorCQkJCQk8eHM6ZG9jdW1lbnRhdGlvbj4gVnVsbmVyYWJpbGl0eSByYW5nZSB0YWcgKG1heSBvciBtYXkgbm90IGJlDQorCQkJCQkJcHJlc2VudCkuIENvbnRhaW5zIG9uZSB2dWxuZXJhYmlsaXR5IHJhbmdlIGNoaWxkIGZvciBlYWNoDQorCQkJCQkJdnVsbmVyYWJpbGl0eSByYW5nZSBvZiB0aGlzIENWRSBlbnRyeS4gUG90ZW50aWFsDQorCQkJCQkJdnVsbmVyYWJpbGl0eSByYW5nZXMgYXJlOiAibG9jYWwiID0+IExvY2FsbHkgZXhwbG9pdGFibGUNCisJCQkJCQkibG9jYWxfbmV0d29yayIgPT4gTG9jYWwgbmV0d29yayBleHBsb2l0YWJsZSAibmV0d29yayIgPT4NCisJCQkJCQlOZXR3b3JrIGV4cGxvaXRhYmxlICJ1c2VyX2luaXQiID0+IFVzZXIgYWNjZXNzZXMgYXR0YWNrZXINCisJCQkJCTwveHM6ZG9jdW1lbnRhdGlvbj4NCisJCQkJPC94czphbm5vdGF0aW9uPg0KKwkJCTwveHM6ZWxlbWVudD4NCisJCQk8eHM6ZWxlbWVudCBuYW1lPSJyZWZzIj4NCisJCQkJPHhzOmFubm90YXRpb24+DQorCQkJCQk8eHM6ZG9jdW1lbnRhdGlvbj4gUmVmZXJlbmNlIHdyYXBwZXIgdGFnIChhbHdheXMgcHJlc2VudCkuDQorCQkJCQkJRXh0ZXJuYWwgcmVmZXJlbmNlcyB0byB0aGlzIENWRSBlbnRyeSBhcmUgY29udGFpbmVkIHdpdGhpbg0KKwkJCQkJCXRoaXMgdGFnLiA8L3hzOmRvY3VtZW50YXRpb24+DQorCQkJCTwveHM6YW5ub3RhdGlvbj4NCisJCQkJPHhzOmNvbXBsZXhUeXBlPg0KKwkJCQkJPHhzOnNlcXVlbmNlPg0KKwkJCQkJCTx4czplbGVtZW50IG5hbWU9InJlZiIgdHlwZT0iY3ZlOnJlZlR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiPg0KKwkJCQkJCQk8eHM6YW5ub3RhdGlvbj4NCisJCQkJCQkJCTx4czpkb2N1bWVudGF0aW9uPiBJbmRpdmlkdWFsIHJlZmVyZW5jZSB0byB0aGlzIENWRQ0KKwkJCQkJCQkJZW50cnkuIFRleHQgaXMgdGhlIG5hbWUgb2YgdGhpcyB2dWxuZXJhYmlsaXR5IGF0DQorCQkJCQkJCQl0aGlzIHBhcnRpY3VsYXIgcmVmZXJlbmNlLiBBdHRyaWJ1dGVzOiAic291cmNlIg0KKwkJCQkJCQkJKHJlcXVpcmVkKSA9PiBOYW1lIG9mIHJlZmVyZW5jZSBzb3VyY2UgInVybCINCisJCQkJCQkJCShyZXF1aXJlZCkgPT4gaHlwZXJsaW5rIHRvIHJlZmVyZW5jZSAic2lnIiA9Pg0KKwkJCQkJCQkJaW5kaWNhdGVzIHRoaXMgcmVmZXJlbmNlIGluY2x1ZGVzIGEgdG9vbA0KKwkJCQkJCQkJc2lnbmF0dXJlICJhZHYiID0+IGluZGljYXRlcyB0aGlzIHJlZmVyZW5jZSBpcyBhDQorCQkJCQkJCQlTZWN1cml0eSBBZHZpc29yeSAicGF0Y2giID0+IGluZGljYXRlcyB0aGlzDQorCQkJCQkJCQlyZWZlcmVuY2UgaW5jbHVkZXMgYSBwYXRjaCBmb3IgdGhpcw0KKwkJCQkJCQkJdnVsbmVyYWJpbGl0eSA8L3hzOmRvY3VtZW50YXRpb24+DQorCQkJCQkJCTwveHM6YW5ub3RhdGlvbj4NCisJCQkJCQk8L3hzOmVsZW1lbnQ+DQorCQkJCQk8L3hzOnNlcXVlbmNlPg0KKwkJCQk8L3hzOmNvbXBsZXhUeXBlPg0KKwkJCTwveHM6ZWxlbWVudD4NCisJCQk8eHM6ZWxlbWVudCBuYW1lPSJ2dWxuX3NvZnQiIHR5cGU9ImN2ZTp2dWxuU29mdFR5cGUiIG1pbk9jY3Vycz0iMCI+DQorCQkJCTx4czphbm5vdGF0aW9uPg0KKwkJCQkJPHhzOmRvY3VtZW50YXRpb24+IFZ1bG5lcmFibGUgc29mdHdhcmUgd3JhcHBlciB0YWcgKG1heSBvciBtYXkNCisJCQkJCQlub3QgYmUgcHJlc2VudCkuIFNvZnR3YXJlIGFmZmVjdGVkIGJ5IHRoaXMgQ1ZFIGVudHJ5IGFyZQ0KKwkJCQkJCWxpc3RlZCB3aXRoaW4gdGhpcyB0YWcuIDwveHM6ZG9jdW1lbnRhdGlvbj4NCisJCQkJPC94czphbm5vdGF0aW9uPg0KKwkJCTwveHM6ZWxlbWVudD4NCisJCTwveHM6c2VxdWVuY2U+DQorCQk8eHM6YXR0cmlidXRlIG5hbWU9InR5cGUiIHVzZT0icmVxdWlyZWQiPg0KKwkJCTx4czphbm5vdGF0aW9uPg0KKwkJCQk8eHM6ZG9jdW1lbnRhdGlvbj5DVkUgb3IgQ0FOPC94czpkb2N1bWVudGF0aW9uPg0KKwkJCTwveHM6YW5ub3RhdGlvbj4NCisJCQk8eHM6c2ltcGxlVHlwZT4NCisJCQkJPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOk5NVE9LRU4iPg0KKwkJCQkJPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJDQU4iLz4NCisJCQkJCTx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ1ZFIi8+DQorCQkJCTwveHM6cmVzdHJpY3Rpb24+DQorCQkJPC94czpzaW1wbGVUeXBlPg0KKwkJPC94czphdHRyaWJ1dGU+DQorCQk8eHM6YXR0cmlidXRlIG5hbWU9Im5hbWUiIHVzZT0icmVxdWlyZWQiPg0KKwkJCTx4czphbm5vdGF0aW9uPg0KKwkJCQk8eHM6ZG9jdW1lbnRhdGlvbj50aGUgZnVsbCBDVkUgbmFtZTwveHM6ZG9jdW1lbnRhdGlvbj4NCisJCQk8L3hzOmFubm90YXRpb24+DQorCQkJPHhzOnNpbXBsZVR5cGU+DQorCQkJCTx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpJRCI+DQorCQkJCQk8eHM6cGF0dGVybiB2YWx1ZT0iKENBTnxDVkUpXC1cZFxkXGRcZFwtXGRcZFxkXGQiLz4NCisJCQkJPC94czpyZXN0cmljdGlvbj4NCisJCQk8L3hzOnNpbXBsZVR5cGU+DQorCQk8L3hzOmF0dHJpYnV0ZT4NCisJCTx4czphdHRyaWJ1dGUgbmFtZT0ic2VxIiB1c2U9InJlcXVpcmVkIj4NCisJCQk8eHM6YW5ub3RhdGlvbj4NCisJCQkJPHhzOmRvY3VtZW50YXRpb24+dGhlIHNlcXVlbmNlIG51bWJlciBmcm9tIENWRSBuYW1lPC94czpkb2N1bWVudGF0aW9uPg0KKwkJCTwveHM6YW5ub3RhdGlvbj4NCisJCQk8eHM6c2ltcGxlVHlwZT4NCisJCQkJPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOk5NVE9LRU4iPg0KKwkJCQkJPHhzOnBhdHRlcm4gdmFsdWU9IlxkXGRcZFxkXC1cZFxkXGRcZCIvPg0KKwkJCQk8L3hzOnJlc3RyaWN0aW9uPg0KKwkJCTwveHM6c2ltcGxlVHlwZT4NCisJCTwveHM6YXR0cmlidXRlPg0KKwkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJudmRfbmFtZSIgdHlwZT0ieHM6c3RyaW5nIj4NCisJCQk8eHM6YW5ub3RhdGlvbj4NCisJCQkJPHhzOmRvY3VtZW50YXRpb24+dGhlIE5WRCBuYW1lIChpZiBpdCBleGlzdHMpPC94czpkb2N1bWVudGF0aW9uPg0KKwkJCTwveHM6YW5ub3RhdGlvbj4NCisJCTwveHM6YXR0cmlidXRlPg0KKwkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJkaXNjb3ZlcmVkIiB0eXBlPSJjdmU6ZGF0ZVR5cGUiPg0KKwkJCTx4czphbm5vdGF0aW9uPg0KKwkJCQk8eHM6ZG9jdW1lbnRhdGlvbj50aGUgZGF0ZSB0aGlzIGVudHJ5IHdhcyBkaXNjb3ZlcmVkPC94czpkb2N1bWVudGF0aW9uPg0KKwkJCTwveHM6YW5ub3RhdGlvbj4NCisJCTwveHM6YXR0cmlidXRlPg0KKwkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJwdWJsaXNoZWQiIHR5cGU9ImN2ZTpkYXRlVHlwZSIgdXNlPSJyZXF1aXJlZCI+DQorCQkJPHhzOmFubm90YXRpb24+DQorCQkJCTx4czpkb2N1bWVudGF0aW9uPnRoZSBkYXRlIHRoaXMgZW50cnkgd2FzIHB1Ymxpc2hlZDwveHM6ZG9jdW1lbnRhdGlvbj4NCisJCQk8L3hzOmFubm90YXRpb24+DQorCQk8L3hzOmF0dHJpYnV0ZT4NCisJCTx4czphdHRyaWJ1dGUgbmFtZT0ibW9kaWZpZWQiIHR5cGU9ImN2ZTpkYXRlVHlwZSI+DQorCQkJPHhzOmFubm90YXRpb24+DQorCQkJCTx4czpkb2N1bWVudGF0aW9uPnRoZSBkYXRlIHRoaXMgZW50cnkgd2FzIGxhc3QgbW9kaWZpZWQ8L3hzOmRvY3VtZW50YXRpb24+DQorCQkJPC94czphbm5vdGF0aW9uPg0KKwkJPC94czphdHRyaWJ1dGU+DQorCQk8eHM6YXR0cmlidXRlIG5hbWU9InNldmVyaXR5Ij4NCisJCQk8eHM6YW5ub3RhdGlvbj4NCisJCQkJPHhzOmRvY3VtZW50YXRpb24+dGhlIGVudHJ5J3Mgc2V2ZXJpdHkgYXMgZGV0ZXJtaW5lZCBieSB0aGUgTlZEIGFuYWx5c3RzOiBIaWdoLCBNZWRpdW0sIG9yIExvdzwveHM6ZG9jdW1lbnRhdGlvbj4NCisJCQk8L3hzOmFubm90YXRpb24+DQorCQkJPHhzOnNpbXBsZVR5cGU+DQorCQkJCTx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpOTVRPS0VOIj4NCisJCQkJCTx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSGlnaCIvPg0KKwkJCQkJPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJNZWRpdW0iLz4NCisJCQkJCTx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTG93Ii8+DQorCQkJCTwveHM6cmVzdHJpY3Rpb24+DQorCQkJPC94czpzaW1wbGVUeXBlPg0KKwkJPC94czphdHRyaWJ1dGU+DQorCQk8eHM6YXR0cmlidXRlIG5hbWU9InJlamVjdCIgdHlwZT0iY3ZlOnRydWVPbmx5QXR0cmlidXRlIj4NCisJCQk8eHM6YW5ub3RhdGlvbj4NCisJCQkJPHhzOmRvY3VtZW50YXRpb24+aW5kaWNhdGVzIHRoYXQgdGhpcyBDVkUgZW50cnkgaGFzIGJlZW4gcmVqZWN0ZWQgYnkgQ1ZFIG9yIE5WRDwveHM6ZG9jdW1lbnRhdGlvbj4NCisJCQk8L3hzOmFubm90YXRpb24+DQorCQk8L3hzOmF0dHJpYnV0ZT4NCisJCTx4czphdHRyaWJ1dGUgbmFtZT0iQ1ZTU192ZXJzaW9uIiB0eXBlPSJ4czpzdHJpbmciPg0KKwkJCTx4czphbm5vdGF0aW9uPg0KKwkJCQk8eHM6ZG9jdW1lbnRhdGlvbj50aGUgQ1ZTUyBWZXJzaW9uIEluZGljYXRvcjwveHM6ZG9jdW1lbnRhdGlvbj4NCisJCQk8L3hzOmFubm90YXRpb24+DQorCQk8L3hzOmF0dHJpYnV0ZT4NCisJCTx4czphdHRyaWJ1dGUgbmFtZT0iQ1ZTU19zY29yZSIgdHlwZT0iY3ZlOnplcm9Ub1RlbiI+DQorCQkJPHhzOmFubm90YXRpb24+DQorCQkJCTx4czpkb2N1bWVudGF0aW9uPlNhbWUgYXMgdGhlIENWU1NfYmFzZV9zY29yZSB0byBwcm92aWRlIGJhY2t3YXJkcyBjb21wYXRhYmlsaXR5IHdpdGggdGhlIHByZXZpb3VzIENWRSBYTUwgZmVlZCBmb3JtYXQuIFRoaXMgZmllbGQgaXMgZGVwcmVjYXRlZCBhbiBtYXkgYmUgcmVtb3ZlZCBhdCBhIGZ1dHVyZSBkYXRlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCisJCQk8L3hzOmFubm90YXRpb24+DQorCQk8L3hzOmF0dHJpYnV0ZT4NCisJCTx4czphdHRyaWJ1dGUgbmFtZT0iQ1ZTU19iYXNlX3Njb3JlIiB0eXBlPSJjdmU6emVyb1RvVGVuIj4NCisJCQk8eHM6YW5ub3RhdGlvbj4NCisJCQkJPHhzOmRvY3VtZW50YXRpb24+Q1ZTUyB2ZXJzaW9uIDIgQmFzZSBTY29yZTwveHM6ZG9jdW1lbnRhdGlvbj4NCisJCQk8L3hzOmFubm90YXRpb24+DQorCQk8L3hzOmF0dHJpYnV0ZT4NCisJCTx4czphdHRyaWJ1dGUgbmFtZT0iQ1ZTU19pbXBhY3Rfc3Vic2NvcmUiIHR5cGU9ImN2ZTp6ZXJvVG9UZW4iPg0KKwkJCTx4czphbm5vdGF0aW9uPg0KKwkJCQk8eHM6ZG9jdW1lbnRhdGlvbj5DVlNTIHZlcnNpb24gMiBJbXBhY3QgU2NvcmU8L3hzOmRvY3VtZW50YXRpb24+DQorCQkJPC94czphbm5vdGF0aW9uPg0KKwkJPC94czphdHRyaWJ1dGU+DQorCQk8eHM6YXR0cmlidXRlIG5hbWU9IkNWU1NfZXhwbG9pdF9zdWJzY29yZSIgdHlwZT0iY3ZlOnplcm9Ub1RlbiI+DQorCQkJPHhzOmFubm90YXRpb24+DQorCQkJCTx4czpkb2N1bWVudGF0aW9uPkNWU1MgdmVyc2lvbiAyIEV4cGxvaXQgU2NvcmU8L3hzOmRvY3VtZW50YXRpb24+DQorCQkJPC94czphbm5vdGF0aW9uPg0KKwkJPC94czphdHRyaWJ1dGU+DQorCQk8eHM6YXR0cmlidXRlIG5hbWU9IkNWU1NfdmVjdG9yIiB0eXBlPSJjdmU6Q1ZTU1ZlY3RvciI+DQorCQkJPHhzOmFubm90YXRpb24+DQorCQkJCTx4czpkb2N1bWVudGF0aW9uPnRoZSBDVlNTIHZlcnNpb24gMiBWZWN0b3Igc3RyaW5nPC94czpkb2N1bWVudGF0aW9uPg0KKwkJCTwveHM6YW5ub3RhdGlvbj4NCisJCTwveHM6YXR0cmlidXRlPg0KKwk8L3hzOmNvbXBsZXhUeXBlPg0KKw0KKwk8eHM6Y29tcGxleFR5cGUgbmFtZT0iZGVzY3JpcHRUeXBlIj4NCisJCTx4czpzaW1wbGVDb250ZW50Pg0KKwkJCTx4czpleHRlbnNpb24gYmFzZT0ieHM6c3RyaW5nIj4NCisJCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJzb3VyY2UiIHR5cGU9ImN2ZTpkZXNjcmlwdFNvdXJjZVR5cGUiIHVzZT0icmVxdWlyZWQiPg0KKwkJCQkJPHhzOmFubm90YXRpb24+DQorCQkJCQkJPHhzOmRvY3VtZW50YXRpb24+VGhlIHNvdXJjZSBvZiB0aGUgQ1ZFIGRlc2NyaXB0aW9uLjwveHM6ZG9jdW1lbnRhdGlvbj4NCisJCQkJCTwveHM6YW5ub3RhdGlvbj4NCisJCQkJPC94czphdHRyaWJ1dGU+DQorCQkJPC94czpleHRlbnNpb24+DQorCQk8L3hzOnNpbXBsZUNvbnRlbnQ+DQorCTwveHM6Y29tcGxleFR5cGU+DQorCQ0KKwk8eHM6Y29tcGxleFR5cGUgbmFtZT0iaW1wYWN0VHlwZSI+DQorCQk8eHM6c2ltcGxlQ29udGVudD4NCisJCQk8eHM6ZXh0ZW5zaW9uIGJhc2U9InhzOnN0cmluZyI+DQorCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0ic291cmNlIiB0eXBlPSJjdmU6aW1wYWN0U291cmNlVHlwZSIgdXNlPSJyZXF1aXJlZCI+DQorCQkJCTwveHM6YXR0cmlidXRlPg0KKwkJCTwveHM6ZXh0ZW5zaW9uPg0KKwkJPC94czpzaW1wbGVDb250ZW50Pg0KKwk8L3hzOmNvbXBsZXhUeXBlPg0KKw0KKwk8eHM6Y29tcGxleFR5cGUgbmFtZT0idnVsblR5cGUiPg0KKwkJPHhzOnNlcXVlbmNlPg0KKwkJCTx4czplbGVtZW50IG5hbWU9ImFjY2VzcyIgbWluT2NjdXJzPSIwIi8+DQorCQkJPHhzOmVsZW1lbnQgbmFtZT0iaW5wdXQiIG1pbk9jY3Vycz0iMCI+DQorCQkJCTx4czphbm5vdGF0aW9uPg0KKwkJCQkJPHhzOmRvY3VtZW50YXRpb24+IElucHV0IHZhbGlkYXRpb24gZXJyb3IgdGFnIHdpdGgNCisJCQkJCQlvbmUgYXR0cmlidXRlIGZvciBlYWNoIGlucHV0IHZhbGlkYXRpb24gZXJyb3INCisJCQkJCQl0eXBlLiBQb3RlbnRpYWwgaW5wdXQgdmFsaWRhdGlvbiBlcnJvciB0eXBlcw0KKwkJCQkJCWFyZTogImJvdW5kIiA9PiBCb3VuZGFyeSBjb25kaXRpb24gZXJyb3INCisJCQkJCQkiYnVmZmVyIiA9PiBCdWZmZXIgb3ZlcmZsb3cgPC94czpkb2N1bWVudGF0aW9uPg0KKwkJCQk8L3hzOmFubm90YXRpb24+DQorCQkJCTx4czpjb21wbGV4VHlwZT4NCisJCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0iYm91bmQiIHR5cGU9ImN2ZTp0cnVlT25seUF0dHJpYnV0ZSIvPg0KKwkJCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJidWZmZXIiIHR5cGU9ImN2ZTp0cnVlT25seUF0dHJpYnV0ZSINCisJCQkJCS8+DQorCQkJCTwveHM6Y29tcGxleFR5cGU+DQorCQkJPC94czplbGVtZW50Pg0KKwkJCTx4czplbGVtZW50IG5hbWU9ImRlc2lnbiIgbWluT2NjdXJzPSIwIi8+DQorCQkJPHhzOmVsZW1lbnQgbmFtZT0iZXhjZXB0aW9uIiBtaW5PY2N1cnM9IjAiLz4NCisJCQk8eHM6ZWxlbWVudCBuYW1lPSJlbnYiIG1pbk9jY3Vycz0iMCIvPg0KKwkJCTx4czplbGVtZW50IG5hbWU9ImNvbmZpZyIgbWluT2NjdXJzPSIwIi8+DQorCQkJPHhzOmVsZW1lbnQgbmFtZT0icmFjZSIgbWluT2NjdXJzPSIwIi8+DQorCQkJPHhzOmVsZW1lbnQgbmFtZT0ib3RoZXIiIG1pbk9jY3Vycz0iMCIvPg0KKwkJPC94czpzZXF1ZW5jZT4NCisJPC94czpjb21wbGV4VHlwZT4NCisNCisJPHhzOmNvbXBsZXhUeXBlIG5hbWU9InNvbHNUeXBlIj4NCisJCTx4czpzZXF1ZW5jZT4NCisJCQk8eHM6ZWxlbWVudCBuYW1lPSJzb2wiPg0KKwkJCQk8eHM6YW5ub3RhdGlvbj4NCisJCQkJCTx4czpkb2N1bWVudGF0aW9uPiBDb250YWlucyBhIHNwZWNpZmljIHNvbHV0aW9uDQorCQkJCQkJZXhwbGFuYXRpb24gb2YgdGhpcyBDVkUgZW50cnkgZnJvbSBzb3VyY2UNCisJCQkJCQlpbmRpY2F0ZWQgYnkgdGhlICJzb3VyY2UiIGF0dHJpYnV0ZS4NCisJCQkJCTwveHM6ZG9jdW1lbnRhdGlvbj4NCisJCQkJPC94czphbm5vdGF0aW9uPg0KKwkJCQk8eHM6Y29tcGxleFR5cGUgbWl4ZWQ9InRydWUiPg0KKwkJCQkJPHhzOnNpbXBsZUNvbnRlbnQ+DQorCQkJCQkJPHhzOmV4dGVuc2lvbiBiYXNlPSJ4czpzdHJpbmciPg0KKwkJCQkJCQk8eHM6YXR0cmlidXRlIG5hbWU9InNvdXJjZSIgdHlwZT0iY3ZlOnNvbHNTb3VyY2VUeXBlIiB1c2U9InJlcXVpcmVkIj4NCisJCQkJCQkJPC94czphdHRyaWJ1dGU+DQorCQkJCQkJPC94czpleHRlbnNpb24+DQorCQkJCQk8L3hzOnNpbXBsZUNvbnRlbnQ+DQorCQkJCTwveHM6Y29tcGxleFR5cGU+DQorCQkJPC94czplbGVtZW50Pg0KKwkJPC94czpzZXF1ZW5jZT4NCisJPC94czpjb21wbGV4VHlwZT4NCisNCisJPHhzOmNvbXBsZXhUeXBlIG5hbWU9Imxvc3NUeXBlVHlwZSI+DQorCQk8eHM6c2VxdWVuY2U+DQorCQkJPHhzOmVsZW1lbnQgbmFtZT0iYXZhaWwiIG1pbk9jY3Vycz0iMCIvPg0KKwkJCTx4czplbGVtZW50IG5hbWU9ImNvbmYiIG1pbk9jY3Vycz0iMCIvPg0KKwkJCTx4czplbGVtZW50IG5hbWU9ImludCIgbWluT2NjdXJzPSIwIi8+DQorCQkJPHhzOmVsZW1lbnQgbmFtZT0ic2VjX3Byb3QiIG1pbk9jY3Vycz0iMCI+DQorCQkJCTx4czphbm5vdGF0aW9uPg0KKwkJCQkJPHhzOmRvY3VtZW50YXRpb24+IFNlY3VyaXR5IFByb3RlY3Rpb24gdGFnIHdpdGggb25lDQorCQkJCQkJYXR0cmlidXRlIGZvciBlYWNoIHNlY3VyaXR5IHByb3RlY3Rpb24gdHlwZS4NCisJCQkJCQlQb3RlbnRpYWwgc2VjdXJpdHkgcHJvdGVjdGlvbiB0eXBlcyBhcmU6ICJhZG1pbiINCisJCQkJCQk9PiBnYWluIGFkbWluaXN0cmF0aXZlIGFjY2VzcyAidXNlciIgPT4gZ2Fpbg0KKwkJCQkJCXVzZXIgYWNjZXNzICJvdGhlciIgPT4gb3RoZXIgPC94czpkb2N1bWVudGF0aW9uPg0KKwkJCQk8L3hzOmFubm90YXRpb24+DQorCQkJCTx4czpjb21wbGV4VHlwZT4NCisJCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0iYWRtaW4iIHR5cGU9ImN2ZTp0cnVlT25seUF0dHJpYnV0ZSIvPg0KKwkJCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJ1c2VyIiB0eXBlPSJjdmU6dHJ1ZU9ubHlBdHRyaWJ1dGUiLz4NCisJCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0ib3RoZXIiIHR5cGU9ImN2ZTp0cnVlT25seUF0dHJpYnV0ZSINCisJCQkJCS8+DQorCQkJCTwveHM6Y29tcGxleFR5cGU+DQorCQkJPC94czplbGVtZW50Pg0KKwkJPC94czpzZXF1ZW5jZT4NCisJPC94czpjb21wbGV4VHlwZT4NCisNCisJPHhzOmNvbXBsZXhUeXBlIG5hbWU9InJhbmdlVHlwZSI+DQorCQk8eHM6c2VxdWVuY2U+DQorCQkJPHhzOmVsZW1lbnQgbmFtZT0ibG9jYWwiIG1pbk9jY3Vycz0iMCIvPg0KKwkJCTx4czplbGVtZW50IG5hbWU9ImxvY2FsX25ldHdvcmsiIG1pbk9jY3Vycz0iMCIvPg0KKwkJCTx4czplbGVtZW50IG5hbWU9Im5ldHdvcmsiIG1pbk9jY3Vycz0iMCIvPg0KKwkJCTx4czplbGVtZW50IG5hbWU9InVzZXJfaW5pdCIgbWluT2NjdXJzPSIwIi8+DQorCQk8L3hzOnNlcXVlbmNlPg0KKwk8L3hzOmNvbXBsZXhUeXBlPg0KKw0KKwk8eHM6Y29tcGxleFR5cGUgbmFtZT0icmVmVHlwZSI+DQorCQk8eHM6c2ltcGxlQ29udGVudD4NCisJCQk8eHM6ZXh0ZW5zaW9uIGJhc2U9InhzOnN0cmluZyI+DQorCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0ic291cmNlIiB0eXBlPSJ4czpzdHJpbmciIHVzZT0icmVxdWlyZWQiLz4NCisJCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJ1cmwiIHR5cGU9ImN2ZTp1cmxUeXBlIiB1c2U9InJlcXVpcmVkIi8+DQorCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0ic2lnIiB0eXBlPSJjdmU6dHJ1ZU9ubHlBdHRyaWJ1dGUiLz4NCisJCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJhZHYiIHR5cGU9ImN2ZTp0cnVlT25seUF0dHJpYnV0ZSIvPg0KKwkJCQk8eHM6YXR0cmlidXRlIG5hbWU9InBhdGNoIiB0eXBlPSJjdmU6dHJ1ZU9ubHlBdHRyaWJ1dGUiLz4NCisJCQk8L3hzOmV4dGVuc2lvbj4NCisJCTwveHM6c2ltcGxlQ29udGVudD4NCisJPC94czpjb21wbGV4VHlwZT4NCisNCisJPHhzOmNvbXBsZXhUeXBlIG5hbWU9InZ1bG5Tb2Z0VHlwZSI+DQorCQk8eHM6c2VxdWVuY2U+DQorCQkJPHhzOmVsZW1lbnQgbmFtZT0icHJvZCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiPg0KKwkJCQk8eHM6YW5ub3RhdGlvbj4NCisJCQkJCTx4czpkb2N1bWVudGF0aW9uPiBQcm9kdWN0IHdyYXBwZXIgdGFnLiBWZXJzaW9ucyBvZg0KKwkJCQkJCXRoaXMgcHJvZHVjdCB0aGF0IGFyZSBhZmZlY3RlZCBieSB0aGlzDQorCQkJCQkJdnVsbmVyYWJpbGl0eSBhcmUgbGlzdGVkIHdpdGhpbiB0aGlzIHRhZy4NCisJCQkJCQlBdHRyaWJ1dGVzOiAibmFtZSIgPT4gUHJvZHVjdCBuYW1lICJ2ZW5kb3IiID0+DQorCQkJCQkJVmVuZG9yIG9mIHRoaXMgcHJvZHVjdCA8L3hzOmRvY3VtZW50YXRpb24+DQorCQkJCTwveHM6YW5ub3RhdGlvbj4NCisJCQkJPHhzOmNvbXBsZXhUeXBlPg0KKwkJCQkJPHhzOnNlcXVlbmNlPg0KKwkJCQkJCTx4czplbGVtZW50IG5hbWU9InZlcnMiIG1heE9jY3Vycz0idW5ib3VuZGVkIj4NCisJCQkJCQkJPHhzOmFubm90YXRpb24+DQorCQkJCQkJCQk8eHM6ZG9jdW1lbnRhdGlvbj4gUmVwcmVzZW50cyBhIHZlcnNpb24NCisJCQkJCQkJCQlvZiB0aGlzIHByb2R1Y3QgdGhhdCBpcyBhZmZlY3RlZCBieQ0KKwkJCQkJCQkJCXRoaXMgdnVsbmVyYWJpbGl0eS4gQXR0cmlidXRlczoNCisJCQkJCQkJCQkibnVtIiA9PiBUaGlzIHZlcnNpb24gbnVtYmVyICJwcmV2Ig0KKwkJCQkJCQkJCT0+IEluZGljYXRlcyB0aGF0IHZlcnNpb25zIHByZXZpb3VzDQorCQkJCQkJCQkJdG8gdGhpcyB2ZXJzaW9uIG51bWJlciBhcmUgYWxzbw0KKwkJCQkJCQkJCWFmZmVjdGVkIGJ5IHRoaXMgdnVsbmVyYWJpbGl0eQ0KKwkJCQkJCQkJCSJlZGl0aW9uIiA9PiBJbmRpY2F0ZXMgdGhlIGVkaXRpb24NCisJCQkJCQkJCQlhc3NvY2lhdGVkIHdpdGggdGhlIHZlcnNpb24gbnVtYmVyDQorCQkJCQkJCQk8L3hzOmRvY3VtZW50YXRpb24+DQorCQkJCQkJCTwveHM6YW5ub3RhdGlvbj4NCisJCQkJCQkJPHhzOmNvbXBsZXhUeXBlPg0KKwkJCQkJCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJudW0iDQorCQkJCQkJCQkJdHlwZT0ieHM6c3RyaW5nIiB1c2U9InJlcXVpcmVkIi8+DQorCQkJCQkJCQk8eHM6YXR0cmlidXRlIG5hbWU9InByZXYiDQorCQkJCQkJCQkJdHlwZT0iY3ZlOnRydWVPbmx5QXR0cmlidXRlIi8+DQorCQkJCQkJCQk8eHM6YXR0cmlidXRlIG5hbWU9ImVkaXRpb24iDQorCQkJCQkJCQkJdHlwZT0ieHM6c3RyaW5nIi8+DQorCQkJCQkJCTwveHM6Y29tcGxleFR5cGU+DQorCQkJCQkJPC94czplbGVtZW50Pg0KKwkJCQkJPC94czpzZXF1ZW5jZT4NCisJCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0ibmFtZSIgdHlwZT0ieHM6c3RyaW5nIg0KKwkJCQkJCXVzZT0icmVxdWlyZWQiLz4NCisJCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0idmVuZG9yIiB0eXBlPSJ4czpzdHJpbmciDQorCQkJCQkJdXNlPSJyZXF1aXJlZCIvPg0KKwkJCQk8L3hzOmNvbXBsZXhUeXBlPg0KKwkJCTwveHM6ZWxlbWVudD4NCisJCTwveHM6c2VxdWVuY2U+DQorCTwveHM6Y29tcGxleFR5cGU+DQorDQorCTwhLS0gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAtLT4NCisJPCEtLSAqIFNpbXBsZSBUeXBlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIC0tPg0KKwk8IS0tICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogLS0+DQorCTx4czpzaW1wbGVUeXBlIG5hbWU9ImRlc2NyaXB0U291cmNlVHlwZSI+DQorCQk8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6Tk1UT0tFTiI+DQorCQkJPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJjdmUiLz4NCisJCQk8eHM6ZW51bWVyYXRpb24gdmFsdWU9Im52ZCIvPg0KKwkJPC94czpyZXN0cmljdGlvbj4NCisJPC94czpzaW1wbGVUeXBlPg0KKw0KKwk8eHM6c2ltcGxlVHlwZSBuYW1lPSJpbXBhY3RTb3VyY2VUeXBlIj4NCisJCTx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpOTVRPS0VOIj4NCisJCQk8eHM6ZW51bWVyYXRpb24gdmFsdWU9Im52ZCIvPg0KKwkJPC94czpyZXN0cmljdGlvbj4NCisJPC94czpzaW1wbGVUeXBlPg0KKw0KKwk8eHM6c2ltcGxlVHlwZSBuYW1lPSJzb2xzU291cmNlVHlwZSI+DQorCQk8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6Tk1UT0tFTiI+DQorCQkJPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJudmQiLz4NCisJCTwveHM6cmVzdHJpY3Rpb24+DQorCTwveHM6c2ltcGxlVHlwZT4NCisNCisJPHhzOnNpbXBsZVR5cGUgbmFtZT0iZGF0ZVR5cGUiPg0KKwkJPHhzOmFubm90YXRpb24+DQorCQkJPHhzOmRvY3VtZW50YXRpb24+IERlZmluZXMgZGF0ZSBmb3JtYXQgZm9yIE5WRC4gRGF0ZXMgZm9sbG93IHRoZSBtYXNrICJ5eXl5LW1tLWRkIg0KKwkJCTwveHM6ZG9jdW1lbnRhdGlvbj4NCisJCTwveHM6YW5ub3RhdGlvbj4NCisJCTx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KKwkJCTx4czpwYXR0ZXJuDQorCQkJCXZhbHVlPSIoMTl8MjApXGRcZC0oKDAxfDAzfDA1fDA3fDA4fDEwfDEyKS0oMFsxLTldfFsxLTJdXGR8M1swMV0pfCgwNHwwNnwwOXwxMSktKDBbMS05XXxbMS0yXVxkfDMwKXwwMi0oMFsxLTldfDFcZHwyXGQpKSINCisJCQkvPg0KKwkJPC94czpyZXN0cmljdGlvbj4NCisJPC94czpzaW1wbGVUeXBlPg0KKwk8eHM6c2ltcGxlVHlwZSBuYW1lPSJ1cmxUeXBlIj4NCisJCTx4czphbm5vdGF0aW9uPg0KKwkJCTx4czpkb2N1bWVudGF0aW9uPiBSZXN0cmljdHMgdXJscyBpbiBOVkQgYmV5b25kIHRoZSB4czphbnlVUkkgcmVzdHJpY3Rpb25zLg0KKwkJCTwveHM6ZG9jdW1lbnRhdGlvbj4NCisJCTwveHM6YW5ub3RhdGlvbj4NCisJCTx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czphbnlVUkkiPg0KKwkJCTx4czp3aGl0ZVNwYWNlIHZhbHVlPSJjb2xsYXBzZSIvPg0KKwkJCTx4czpwYXR0ZXJuIHZhbHVlPSIobmV3c3woaHR8Zil0cChzKT8pOi8vLisiLz4NCisJCTwveHM6cmVzdHJpY3Rpb24+DQorCTwveHM6c2ltcGxlVHlwZT4NCisJPHhzOnNpbXBsZVR5cGUgbmFtZT0idHJ1ZU9ubHlBdHRyaWJ1dGUiPg0KKwkJPHhzOmFubm90YXRpb24+DQorCQkJPHhzOmRvY3VtZW50YXRpb24+IHNpbXBsZVR5cGUgdXNlZCBmb3IgYXR0cmlidXRlcyB0aGF0IGFyZSBvbmx5IHByZXNlbnQgd2hlbiB0aGV5IGFyZQ0KKwkJCQl0cnVlLiBTdWNoIGF0dHJpYnV0ZXMgYXBwZWFyIG9ubHkgaW4gdGhlIGZvcm0gYXR0cmlidXRlX25hbWU9IjEiLg0KKwkJCTwveHM6ZG9jdW1lbnRhdGlvbj4NCisJCTwveHM6YW5ub3RhdGlvbj4NCisJCTx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpOTVRPS0VOIj4NCisJCQk8eHM6ZW51bWVyYXRpb24gdmFsdWU9IjEiLz4NCisJCTwveHM6cmVzdHJpY3Rpb24+DQorCTwveHM6c2ltcGxlVHlwZT4NCisJPHhzOnNpbXBsZVR5cGUgbmFtZT0iemVyb1RvVGVuIj4NCisJCTx4czphbm5vdGF0aW9uPg0KKwkJCTx4czpkb2N1bWVudGF0aW9uPiBzaW1wbGVUeXBlIHVzZWQgd2hlbiBzY29yaW5nIG9uIGEgc2NhbGUgb2YgMC0xMCwgaW5jbHVzaXZlDQorCQkJPC94czpkb2N1bWVudGF0aW9uPg0KKwkJPC94czphbm5vdGF0aW9uPg0KKwkJPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOmRlY2ltYWwiPg0KKwkJCTx4czptaW5JbmNsdXNpdmUgdmFsdWU9IjAiIGZpeGVkPSJ0cnVlIi8+DQorCQkJPHhzOm1heEluY2x1c2l2ZSB2YWx1ZT0iMTAiIGZpeGVkPSJ0cnVlIi8+DQorCQk8L3hzOnJlc3RyaWN0aW9uPg0KKwk8L3hzOnNpbXBsZVR5cGU+DQorCTx4czpzaW1wbGVUeXBlIG5hbWU9IkNWU1NWZWN0b3IiPg0KKwkJPHhzOmFubm90YXRpb24+DQorCQkJPHhzOmRvY3VtZW50YXRpb24+c2ltcGxlVHlwZSB0byBkZXNjcmliZSB0aGUgQ1ZTUyBCYXNlIFZlY3RvciA8L3hzOmRvY3VtZW50YXRpb24+DQorCQk8L3hzOmFubm90YXRpb24+DQorCQk8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCisgCQkJPHhzOnBhdHRlcm4NCisJCQkJdmFsdWU9IlwoQVY6W0xBTl0vQUM6W0hNTF0vQXU6W05TTV0vQzpbTlBDXS9JOltOUENdL0E6W05QQ11cKSIvPg0KKwkJPC94czpyZXN0cmljdGlvbj4NCisJPC94czpzaW1wbGVUeXBlPg0KKzwveHM6c2NoZW1hPg0KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL3BvMF8wLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL3BvMF8wLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zODcyMzJkCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvcG8wXzAueG1sCkBAIC0wLDAgKzEsMzIgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPHB1cmNoYXNlT3JkZXIgb3JkZXJEYXRlPSIxOTk5LTEwLTIwIj4KKyAgPHNoaXBUbyBjb3VudHJ5PSJVUyI+CisgICAgPG5hbWU+QWxpY2UgU21pdGg8L25hbWU+CisgICAgPHN0cmVldD4xMjMgTWFwbGUgU3RyZWV0PC9zdHJlZXQ+CisgICAgPGNpdHk+TWlsbCBWYWxsZXk8L2NpdHk+CisgICAgPHN0YXRlPkNBPC9zdGF0ZT4KKyAgICA8emlwPjkwOTUyPC96aXA+CisgIDwvc2hpcFRvPgorICA8YmlsbFRvIGNvdW50cnk9IlVTIj4KKyAgICA8bmFtZT5Sb2JlcnQgU21pdGg8L25hbWU+CisgICAgPHN0cmVldD44IE9hayBBdmVudWU8L3N0cmVldD4KKyAgICA8Y2l0eT5PbGQgVG93bjwvY2l0eT4KKyAgICA8c3RhdGU+UEE8L3N0YXRlPgorICAgIDx6aXA+OTU4MTk8L3ppcD4KKyAgPC9iaWxsVG8+CisgIDxjb21tZW50Pkh1cnJ5LCBteSBsYXduIGlzIGdvaW5nIHdpbGQhPC9jb21tZW50PgorICA8aXRlbXM+CisgICAgPGl0ZW0gcGFydE51bT0iODcyLUFBIj4KKyAgICAgIDxwcm9kdWN0TmFtZT5MYXdubW93ZXI8L3Byb2R1Y3ROYW1lPgorICAgICAgPHF1YW50aXR5PjE8L3F1YW50aXR5PgorICAgICAgPFVTUHJpY2U+MTQ4Ljk1PC9VU1ByaWNlPgorICAgICAgPGNvbW1lbnQ+Q29uZmlybSB0aGlzIGlzIGVsZWN0cmljPC9jb21tZW50PgorICAgIDwvaXRlbT4KKyAgICA8aXRlbSBwYXJ0TnVtPSI5MjYtQUEiPgorICAgICAgPHByb2R1Y3ROYW1lPkJhYnkgTW9uaXRvcjwvcHJvZHVjdE5hbWU+CisgICAgICA8cXVhbnRpdHk+MTwvcXVhbnRpdHk+CisgICAgICA8VVNQcmljZT4zOS45ODwvVVNQcmljZT4KKyAgICAgIDxzaGlwRGF0ZT4xOTk5LTA1LTIxPC9zaGlwRGF0ZT4KKyAgICA8L2l0ZW0+CisgIDwvaXRlbXM+Cis8L3B1cmNoYXNlT3JkZXI+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9wbzBfMC54c2QgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9wbzBfMC54c2QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWExZTY2MAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL3BvMF8wLnhzZApAQCAtMCwwICsxLDU5IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzx4c2Q6c2NoZW1hIHhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiPgorICA8eHNkOmFubm90YXRpb24+CisgICAgPHhzZDpkb2N1bWVudGF0aW9uIHhtbDpsYW5nPSJlbiI+CitQdXJjaGFzZSBvcmRlciBzY2hlbWEgZm9yIEV4YW1wbGUuY29tLgorICAgQ29weXJpZ2h0IDIwMDAgRXhhbXBsZS5jb20uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgICAgPC94c2Q6ZG9jdW1lbnRhdGlvbj4KKyAgPC94c2Q6YW5ub3RhdGlvbj4KKyAgPHhzZDplbGVtZW50IG5hbWU9InB1cmNoYXNlT3JkZXIiIHR5cGU9IlB1cmNoYXNlT3JkZXJUeXBlIi8+CisgIDx4c2Q6ZWxlbWVudCBuYW1lPSJjb21tZW50IiB0eXBlPSJ4c2Q6c3RyaW5nIi8+CisgIDx4c2Q6Y29tcGxleFR5cGUgbmFtZT0iUHVyY2hhc2VPcmRlclR5cGUiPgorICAgIDx4c2Q6c2VxdWVuY2U+CisgICAgICA8eHNkOmVsZW1lbnQgbmFtZT0ic2hpcFRvIiB0eXBlPSJVU0FkZHJlc3MiLz4KKyAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJiaWxsVG8iIHR5cGU9IlVTQWRkcmVzcyIvPgorICAgICAgPHhzZDplbGVtZW50IHJlZj0iY29tbWVudCIgbWluT2NjdXJzPSIwIi8+CisgICAgICA8eHNkOmVsZW1lbnQgbmFtZT0iaXRlbXMiIHR5cGU9Ikl0ZW1zIi8+CisgICAgPC94c2Q6c2VxdWVuY2U+CisgICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0ib3JkZXJEYXRlIiB0eXBlPSJ4c2Q6ZGF0ZSIvPgorICA8L3hzZDpjb21wbGV4VHlwZT4KKyAgPHhzZDpjb21wbGV4VHlwZSBuYW1lPSJVU0FkZHJlc3MiPgorICAgIDx4c2Q6c2VxdWVuY2U+CisgICAgICA8eHNkOmVsZW1lbnQgbmFtZT0ibmFtZSIgdHlwZT0ieHNkOnN0cmluZyIvPgorICAgICAgPHhzZDplbGVtZW50IG5hbWU9InN0cmVldCIgdHlwZT0ieHNkOnN0cmluZyIvPgorICAgICAgPHhzZDplbGVtZW50IG5hbWU9ImNpdHkiIHR5cGU9InhzZDpzdHJpbmciLz4KKyAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJzdGF0ZSIgdHlwZT0ieHNkOnN0cmluZyIvPgorICAgICAgPHhzZDplbGVtZW50IG5hbWU9InppcCIgdHlwZT0ieHNkOmRlY2ltYWwiLz4KKyAgICA8L3hzZDpzZXF1ZW5jZT4KKyAgICA8eHNkOmF0dHJpYnV0ZSBuYW1lPSJjb3VudHJ5IiB0eXBlPSJ4c2Q6Tk1UT0tFTiIgZml4ZWQ9IlVTIi8+CisgIDwveHNkOmNvbXBsZXhUeXBlPgorICA8eHNkOmNvbXBsZXhUeXBlIG5hbWU9Ikl0ZW1zIj4KKyAgICA8eHNkOnNlcXVlbmNlPgorICAgICAgPHhzZDplbGVtZW50IG5hbWU9Iml0ZW0iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiPgorICAgICAgICA8eHNkOmNvbXBsZXhUeXBlPgorICAgICAgICAgIDx4c2Q6c2VxdWVuY2U+CisgICAgICAgICAgICA8eHNkOmVsZW1lbnQgbmFtZT0icHJvZHVjdE5hbWUiIHR5cGU9InhzZDpzdHJpbmciLz4KKyAgICAgICAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJxdWFudGl0eSI+CisgICAgICAgICAgICAgIDx4c2Q6c2ltcGxlVHlwZT4KKyAgICAgICAgICAgICAgICA8eHNkOnJlc3RyaWN0aW9uIGJhc2U9InhzZDpwb3NpdGl2ZUludGVnZXIiPgorICAgICAgICAgICAgICAgICAgPHhzZDptYXhFeGNsdXNpdmUgdmFsdWU9IjEwMCIvPgorICAgICAgICAgICAgICAgIDwveHNkOnJlc3RyaWN0aW9uPgorICAgICAgICAgICAgICA8L3hzZDpzaW1wbGVUeXBlPgorICAgICAgICAgICAgPC94c2Q6ZWxlbWVudD4KKyAgICAgICAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJVU1ByaWNlIiB0eXBlPSJ4c2Q6ZGVjaW1hbCIvPgorICAgICAgICAgICAgPHhzZDplbGVtZW50IHJlZj0iY29tbWVudCIgbWluT2NjdXJzPSIwIi8+CisgICAgICAgICAgICA8eHNkOmVsZW1lbnQgbmFtZT0ic2hpcERhdGUiIHR5cGU9InhzZDpkYXRlIiBtaW5PY2N1cnM9IjAiLz4KKyAgICAgICAgICA8L3hzZDpzZXF1ZW5jZT4KKyAgICAgICAgICA8eHNkOmF0dHJpYnV0ZSBuYW1lPSJwYXJ0TnVtIiB0eXBlPSJTS1UiIHVzZT0icmVxdWlyZWQiLz4KKyAgICAgICAgPC94c2Q6Y29tcGxleFR5cGU+CisgICAgICA8L3hzZDplbGVtZW50PgorICAgIDwveHNkOnNlcXVlbmNlPgorICA8L3hzZDpjb21wbGV4VHlwZT4KKzwhLS0gU3RvY2sgS2VlcGluZyBVbml0LCBhIGNvZGUgZm9yIGlkZW50aWZ5aW5nIHByb2R1Y3RzIC0tPgorICA8eHNkOnNpbXBsZVR5cGUgbmFtZT0iU0tVIj4KKyAgICA8eHNkOnJlc3RyaWN0aW9uIGJhc2U9InhzZDpzdHJpbmciPgorICAgICAgPHhzZDpwYXR0ZXJuIHZhbHVlPSJcZHszfS1bQS1aXXsyfSIvPgorICAgIDwveHNkOnJlc3RyaWN0aW9uPgorICA8L3hzZDpzaW1wbGVUeXBlPgorPC94c2Q6c2NoZW1hPgorCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9wbzFfMC54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9wbzFfMC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODc4MWJiZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL3BvMV8wLnhtbApAQCAtMCwwICsxLDM0IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4NCis8YXBvOnB1cmNoYXNlT3JkZXIgeG1sbnM6YXBvPSJodHRwOi8vd3d3LmV4YW1wbGUuY29tL1BPMSINCisgICAgICAgICAgICAgICAgICAgb3JkZXJEYXRlPSIxOTk5LTEwLTIwIj4NCisgIDxzaGlwVG8gY291bnRyeT0iVVMiPg0KKyAgICA8bmFtZT5BbGljZSBTbWl0aDwvbmFtZT4NCisgICAgPHN0cmVldD4xMjMgTWFwbGUgU3RyZWV0PC9zdHJlZXQ+DQorICAgIDxjaXR5Pk1pbGwgVmFsbGV5PC9jaXR5Pg0KKyAgICA8c3RhdGU+Q0E8L3N0YXRlPg0KKyAgICA8emlwPjkwOTUyPC96aXA+DQorICA8L3NoaXBUbz4NCisgIDxiaWxsVG8gY291bnRyeT0iVVMiPg0KKyAgICA8bmFtZT5Sb2JlcnQgU21pdGg8L25hbWU+DQorICAgIDxzdHJlZXQ+OCBPYWsgQXZlbnVlPC9zdHJlZXQ+DQorICAgIDxjaXR5Pk9sZCBUb3duPC9jaXR5Pg0KKyAgICA8c3RhdGU+UEE8L3N0YXRlPg0KKyAgICA8emlwPjk1ODE5PC96aXA+DQorICA8L2JpbGxUbz4NCisgIDxhcG86Y29tbWVudD5IdXJyeSwgbXkgbGF3biBpcyBnb2luZyB3aWxkITwvYXBvOmNvbW1lbnQ+DQorICA8aXRlbXM+DQorICAgIDxpdGVtIHBhcnROdW09Ijg3Mi1BQSI+DQorICAgICAgPHByb2R1Y3ROYW1lPkxhd25tb3dlcjwvcHJvZHVjdE5hbWU+DQorICAgICAgPHF1YW50aXR5PjE8L3F1YW50aXR5Pg0KKyAgICAgIDxVU1ByaWNlPjE0OC45NTwvVVNQcmljZT4NCisgICAgICA8YXBvOmNvbW1lbnQ+Q29uZmlybSB0aGlzIGlzIGVsZWN0cmljPC9hcG86Y29tbWVudD4NCisgICAgPC9pdGVtPg0KKyAgICA8aXRlbSBwYXJ0TnVtPSI5MjYtQUEiPg0KKyAgICAgIDxwcm9kdWN0TmFtZT5CYWJ5IE1vbml0b3I8L3Byb2R1Y3ROYW1lPg0KKyAgICAgIDxxdWFudGl0eT4xPC9xdWFudGl0eT4NCisgICAgICA8VVNQcmljZT4zOS45ODwvVVNQcmljZT4NCisgICAgICA8c2hpcERhdGU+MTk5OS0wNS0yMTwvc2hpcERhdGU+DQorICAgIDwvaXRlbT4NCisgIDwvaXRlbXM+DQorPC9hcG86cHVyY2hhc2VPcmRlcj4NCisNCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9wbzFfMC54c2QgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9wbzFfMC54c2QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTYzMDU2MQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL3BvMV8wLnhzZApAQCAtMCwwICsxLDY0IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4NCis8eHNkOnNjaGVtYSB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIg0KKyAgICAgICAgICAgIHhtbG5zOnBvPSJodHRwOi8vd3d3LmV4YW1wbGUuY29tL1BPMSINCisJICAgIHRhcmdldE5hbWVzcGFjZT0iaHR0cDovL3d3dy5leGFtcGxlLmNvbS9QTzEiDQorCSAgICBlbGVtZW50Rm9ybURlZmF1bHQ9InVucXVhbGlmaWVkIg0KKwkgICAgYXR0cmlidXRlRm9ybURlZmF1bHQ9InVucXVhbGlmaWVkIj4NCisgIDx4c2Q6YW5ub3RhdGlvbj4NCisgICAgPHhzZDpkb2N1bWVudGF0aW9uIHhtbDpsYW5nPSJlbiI+DQorUHVyY2hhc2Ugb3JkZXIgc2NoZW1hIGZvciBFeGFtcGxlLmNvbS4NCisgICBDb3B5cmlnaHQgMjAwMCBFeGFtcGxlLmNvbS4gQWxsIHJpZ2h0cyByZXNlcnZlZC4NCisgICAgPC94c2Q6ZG9jdW1lbnRhdGlvbj4NCisgIDwveHNkOmFubm90YXRpb24+DQorICA8eHNkOmVsZW1lbnQgbmFtZT0icHVyY2hhc2VPcmRlciIgdHlwZT0icG86UHVyY2hhc2VPcmRlclR5cGUiLz4NCisgIDx4c2Q6ZWxlbWVudCBuYW1lPSJjb21tZW50IiB0eXBlPSJ4c2Q6c3RyaW5nIi8+DQorICA8eHNkOmNvbXBsZXhUeXBlIG5hbWU9IlB1cmNoYXNlT3JkZXJUeXBlIj4NCisgICAgPHhzZDpzZXF1ZW5jZT4NCisgICAgICA8eHNkOmVsZW1lbnQgbmFtZT0ic2hpcFRvIiB0eXBlPSJwbzpVU0FkZHJlc3MiLz4NCisgICAgICA8eHNkOmVsZW1lbnQgbmFtZT0iYmlsbFRvIiB0eXBlPSJwbzpVU0FkZHJlc3MiLz4NCisgICAgICA8eHNkOmVsZW1lbnQgcmVmPSJwbzpjb21tZW50IiBtaW5PY2N1cnM9IjAiLz4NCisgICAgICA8eHNkOmVsZW1lbnQgbmFtZT0iaXRlbXMiIHR5cGU9InBvOkl0ZW1zIi8+DQorICAgIDwveHNkOnNlcXVlbmNlPg0KKyAgICA8eHNkOmF0dHJpYnV0ZSBuYW1lPSJvcmRlckRhdGUiIHR5cGU9InhzZDpkYXRlIi8+DQorICA8L3hzZDpjb21wbGV4VHlwZT4NCisgIDx4c2Q6Y29tcGxleFR5cGUgbmFtZT0iVVNBZGRyZXNzIj4NCisgICAgPHhzZDpzZXF1ZW5jZT4NCisgICAgICA8eHNkOmVsZW1lbnQgbmFtZT0ibmFtZSIgdHlwZT0ieHNkOnN0cmluZyIvPg0KKyAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJzdHJlZXQiIHR5cGU9InhzZDpzdHJpbmciLz4NCisgICAgICA8eHNkOmVsZW1lbnQgbmFtZT0iY2l0eSIgdHlwZT0ieHNkOnN0cmluZyIvPg0KKyAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJzdGF0ZSIgdHlwZT0ieHNkOnN0cmluZyIvPg0KKyAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJ6aXAiIHR5cGU9InhzZDpkZWNpbWFsIi8+DQorICAgIDwveHNkOnNlcXVlbmNlPg0KKyAgICA8eHNkOmF0dHJpYnV0ZSBuYW1lPSJjb3VudHJ5IiB0eXBlPSJ4c2Q6Tk1UT0tFTiIgZml4ZWQ9IlVTIi8+DQorICA8L3hzZDpjb21wbGV4VHlwZT4NCisgIDx4c2Q6Y29tcGxleFR5cGUgbmFtZT0iSXRlbXMiPg0KKyAgICA8eHNkOnNlcXVlbmNlPg0KKyAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJpdGVtIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIj4NCisgICAgICAgIDx4c2Q6Y29tcGxleFR5cGU+DQorICAgICAgICAgIDx4c2Q6c2VxdWVuY2U+DQorICAgICAgICAgICAgPHhzZDplbGVtZW50IG5hbWU9InByb2R1Y3ROYW1lIiB0eXBlPSJ4c2Q6c3RyaW5nIi8+DQorICAgICAgICAgICAgPHhzZDplbGVtZW50IG5hbWU9InF1YW50aXR5Ij4NCisgICAgICAgICAgICAgIDx4c2Q6c2ltcGxlVHlwZT4NCisgICAgICAgICAgICAgICAgPHhzZDpyZXN0cmljdGlvbiBiYXNlPSJ4c2Q6cG9zaXRpdmVJbnRlZ2VyIj4NCisgICAgICAgICAgICAgICAgICA8eHNkOm1heEV4Y2x1c2l2ZSB2YWx1ZT0iMTAwIi8+DQorICAgICAgICAgICAgICAgIDwveHNkOnJlc3RyaWN0aW9uPg0KKyAgICAgICAgICAgICAgPC94c2Q6c2ltcGxlVHlwZT4NCisgICAgICAgICAgICA8L3hzZDplbGVtZW50Pg0KKyAgICAgICAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJVU1ByaWNlIiB0eXBlPSJ4c2Q6ZGVjaW1hbCIvPg0KKyAgICAgICAgICAgIDx4c2Q6ZWxlbWVudCByZWY9InBvOmNvbW1lbnQiIG1pbk9jY3Vycz0iMCIvPg0KKyAgICAgICAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJzaGlwRGF0ZSIgdHlwZT0ieHNkOmRhdGUiIG1pbk9jY3Vycz0iMCIvPg0KKyAgICAgICAgICA8L3hzZDpzZXF1ZW5jZT4NCisgICAgICAgICAgPHhzZDphdHRyaWJ1dGUgbmFtZT0icGFydE51bSIgdHlwZT0icG86U0tVIiB1c2U9InJlcXVpcmVkIi8+DQorICAgICAgICA8L3hzZDpjb21wbGV4VHlwZT4NCisgICAgICA8L3hzZDplbGVtZW50Pg0KKyAgICA8L3hzZDpzZXF1ZW5jZT4NCisgIDwveHNkOmNvbXBsZXhUeXBlPg0KKzwhLS0gU3RvY2sgS2VlcGluZyBVbml0LCBhIGNvZGUgZm9yIGlkZW50aWZ5aW5nIHByb2R1Y3RzIC0tPg0KKyAgPHhzZDpzaW1wbGVUeXBlIG5hbWU9IlNLVSI+DQorICAgIDx4c2Q6cmVzdHJpY3Rpb24gYmFzZT0ieHNkOnN0cmluZyI+DQorICAgICAgPHhzZDpwYXR0ZXJuIHZhbHVlPSJcZHszfS1bQS1aXXsyfSIvPg0KKyAgICA8L3hzZDpyZXN0cmljdGlvbj4NCisgIDwveHNkOnNpbXBsZVR5cGU+DQorPC94c2Q6c2NoZW1hPg0KKw0KKw0KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL3Bvc2NoYXJncnAwXzAueG1sIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvcG9zY2hhcmdycDBfMC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDgwMGIxYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL3Bvc2NoYXJncnAwXzAueG1sCkBAIC0wLDAgKzEsMiBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzx0ZXN0RWxlbSB4bWxucz0iaHR0cDovL29iai1zeXMuY29tL215U2NoZW1hIj52YWx1ZTwvdGVzdEVsZW0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvcG9zY2hhcmdycDBfMC54c2QgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9wb3NjaGFyZ3JwMF8wLnhzZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMjQzYTJmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvcG9zY2hhcmdycDBfMC54c2QKQEAgLTAsMCArMSwxNCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiID8+IA0KKzx4czpzY2hlbWEgdGFyZ2V0TmFtZXNwYWNlPSJodHRwOi8vb2JqLXN5cy5jb20vbXlTY2hlbWEiDQorICAgICAgICAgICAgICAgICAgeG1sbnM6ZWxlbWVudEZvcm1EZWZhdWx0PSJxdWFsaWZpZWQiDQorICAgICAgICAgICAgICAgICAgeG1sbnM9Imh0dHA6Ly9vYmotc3lzLmNvbS9teVNjaGVtYSINCisgICAgICAgICAgICAgICAgICB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiPg0KKyAgPHhzOmVsZW1lbnQgbmFtZT0idGVzdEVsZW0iPg0KKyAgICA8eHM6c2ltcGxlVHlwZT4NCisgICAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCisgICAgICAgIDx4czpwYXR0ZXJuIHZhbHVlPSJbXi46L10rIi8+DQorICAgICAgPC94czpyZXN0cmljdGlvbj4NCisgICAgPC94czpzaW1wbGVUeXBlPg0KKyAgPC94czplbGVtZW50Pg0KKyAgDQorPC94czpzY2hlbWE+DQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvcmVnZXhwLWNoYXItcmVmXzAueG1sIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvcmVnZXhwLWNoYXItcmVmXzAueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY2ZjQ2M2UKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9yZWdleHAtY2hhci1yZWZfMC54bWwKQEAgLTAsMCArMSw3IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKworPHRlc3QgdGVzdDE9IjUiCisgICAgICB0ZXN0Mj0iNiIKKyAgICAgIHRlc3QzPSIjIgorICAgICAgdGVzdDQ9IjsiCisgICAgICB0ZXN0NT0iJmFtcDsiIC8+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9yZWdleHAtY2hhci1yZWZfMC54c2QgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9yZWdleHAtY2hhci1yZWZfMC54c2QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmQ5MWM2YwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL3JlZ2V4cC1jaGFyLXJlZl8wLnhzZApAQCAtMCwwICsxLDIwIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzx4czpzY2hlbWEgeG1sbnM6eHM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIj4KKworICAgIDx4czplbGVtZW50IG5hbWU9InRlc3QiPgorICAgICAgICA8eHM6Y29tcGxleFR5cGU+CisgICAgICAgICAgICA8eHM6YXR0cmlidXRlIG5hbWU9InRlc3QxIiB0eXBlPSJteVR5cGUiLz4KKyAgICAgICAgICAgIDx4czphdHRyaWJ1dGUgbmFtZT0idGVzdDIiIHR5cGU9Im15VHlwZSIvPgorICAgICAgICAgICAgPHhzOmF0dHJpYnV0ZSBuYW1lPSJ0ZXN0MyIgdHlwZT0ibXlUeXBlIi8+CisgICAgICAgICAgICA8eHM6YXR0cmlidXRlIG5hbWU9InRlc3Q0IiB0eXBlPSJteVR5cGUiLz4KKyAgICAgICAgICAgIDx4czphdHRyaWJ1dGUgbmFtZT0idGVzdDUiIHR5cGU9Im15VHlwZSIvPgorICAgICAgICA8L3hzOmNvbXBsZXhUeXBlPgorICAgIDwveHM6ZWxlbWVudD4KKworICAgIDx4czpzaW1wbGVUeXBlIG5hbWU9Im15VHlwZSI+CisgICAgICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPgorICAgICAgICAgICAgPHhzOnBhdHRlcm4gdmFsdWU9Ils1NjsmYW1wOyNdIi8+CisgICAgICAgIDwveHM6cmVzdHJpY3Rpb24+CisgICAgPC94czpzaW1wbGVUeXBlPgorCis8L3hzOnNjaGVtYT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL3JlZ2V4cC1jaGFyLXJlZl8xLnhzZCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL3JlZ2V4cC1jaGFyLXJlZl8xLnhzZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41OThhNGQ1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvcmVnZXhwLWNoYXItcmVmXzEueHNkCkBAIC0wLDAgKzEsMjAgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPHhzOnNjaGVtYSB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiPgorCisgICAgPHhzOmVsZW1lbnQgbmFtZT0idGVzdCI+CisgICAgICAgIDx4czpjb21wbGV4VHlwZT4KKyAgICAgICAgICAgIDx4czphdHRyaWJ1dGUgbmFtZT0idGVzdDEiIHR5cGU9Im15VHlwZSIvPgorICAgICAgICAgICAgPHhzOmF0dHJpYnV0ZSBuYW1lPSJ0ZXN0MiIgdHlwZT0ibXlUeXBlIi8+CisgICAgICAgICAgICA8eHM6YXR0cmlidXRlIG5hbWU9InRlc3QzIiB0eXBlPSJteVR5cGUiLz4KKyAgICAgICAgICAgIDx4czphdHRyaWJ1dGUgbmFtZT0idGVzdDQiIHR5cGU9Im15VHlwZSIvPgorICAgICAgICAgICAgPHhzOmF0dHJpYnV0ZSBuYW1lPSJ0ZXN0NSIgdHlwZT0ibXlUeXBlIi8+CisgICAgICAgIDwveHM6Y29tcGxleFR5cGU+CisgICAgPC94czplbGVtZW50PgorCisgICAgPHhzOnNpbXBsZVR5cGUgbmFtZT0ibXlUeXBlIj4KKyAgICAgICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+CisgICAgICAgICAgICA8eHM6cGF0dGVybiB2YWx1ZT0iWyZhbXA7IzY1O10iLz4KKyAgICAgICAgPC94czpyZXN0cmljdGlvbj4KKyAgICA8L3hzOnNpbXBsZVR5cGU+CisKKzwveHM6c2NoZW1hPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvcmVzdHJpY3QtQ1QtYXR0ci1yZWZfMC54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9yZXN0cmljdC1DVC1hdHRyLXJlZl8wLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMDIxYTgzCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvcmVzdHJpY3QtQ1QtYXR0ci1yZWZfMC54bWwKQEAgLTAsMCArMSwzIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxmb286Zm9vIHhtbG5zOmZvbz0iaHR0cDovL0ZPTyIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgCisJeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vRk9PIHJlc3RyaWN0LUNULWF0dHItcmVmXzAueHNkIiBmb286aWQ9ImIwODM2MjE3NDYyIi8+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvcmVzdHJpY3QtQ1QtYXR0ci1yZWZfMC54c2QgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9yZXN0cmljdC1DVC1hdHRyLXJlZl8wLnhzZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hOThiODJhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvcmVzdHJpY3QtQ1QtYXR0ci1yZWZfMC54c2QKQEAgLTAsMCArMSwzMCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8eHNkOnNjaGVtYSB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiAKKwlhdHRyaWJ1dGVGb3JtRGVmYXVsdD0icXVhbGlmaWVkIgorCXhtbG5zOmZvbz0iaHR0cDovL0ZPTyIKKwl0YXJnZXROYW1lc3BhY2U9Imh0dHA6Ly9GT08iPgorCisJPHhzZDphdHRyaWJ1dGUgbmFtZT0iaWQiIHR5cGU9InhzZDpJRCIvPgorCisJPHhzZDpjb21wbGV4VHlwZSBuYW1lPSJ0eXBlSURBdHRyIj4KKyAgICAJCTx4c2Q6YXR0cmlidXRlIHJlZj0iZm9vOmlkIi8+CisJPC94c2Q6Y29tcGxleFR5cGU+CisKKwk8eHNkOnNpbXBsZVR5cGUgbmFtZT0iZm9vSUQiPgorICAgIAkJPHhzZDpyZXN0cmljdGlvbiBiYXNlPSJ4c2Q6SUQiPgorICAgICAgCQkJPHhzZDpwYXR0ZXJuIHZhbHVlPSJiXGR7MTB9Ii8+CisgICAgCQk8L3hzZDpyZXN0cmljdGlvbj4KKyAgCTwveHNkOnNpbXBsZVR5cGU+CisKKwk8eHNkOmVsZW1lbnQgbmFtZT0iZm9vIj4KKyAgICAJCTx4c2Q6Y29tcGxleFR5cGU+CisgICAgICAJCQk8eHNkOmNvbXBsZXhDb250ZW50PgorICAgICAgICAJCQk8eHNkOnJlc3RyaWN0aW9uIGJhc2U9ImZvbzp0eXBlSURBdHRyIj4gICAgICAgICAKKyAgICAgICAgICAJCQkJPHhzZDphdHRyaWJ1dGUgbmFtZT0iaWQiIHR5cGU9ImZvbzpmb29JRCIvPgorICAgICAgICAJCQk8L3hzZDpyZXN0cmljdGlvbj4KKyAgICAgIAkJCTwveHNkOmNvbXBsZXhDb250ZW50PgorICAgIAkJPC94c2Q6Y29tcGxleFR5cGU+CisgIAk8L3hzZDplbGVtZW50PgorCisKKzwveHNkOnNjaGVtYT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9yZXN0cmljdGlvbi1hdHRyMV8wLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL3Jlc3RyaWN0aW9uLWF0dHIxXzAueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMzYjhmMTkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9yZXN0cmljdGlvbi1hdHRyMV8wLnhtbApAQCAtMCwwICsxLDMgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPGZvbyB4bWxucz0iaHR0cDovL0ZPTyIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgCisJeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vRk9PIGZpbGU6Ly8vbDovbGlieG1sMi90ZXN0L3NjaGVtYXMvcmVzdHJpY3Rpb24tYXR0cjFfMC54c2QiIGJhckE9ImhoIi8+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9yZXN0cmljdGlvbi1hdHRyMV8wLnhzZCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL3Jlc3RyaWN0aW9uLWF0dHIxXzAueHNkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMxYzI4OGYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9yZXN0cmljdGlvbi1hdHRyMV8wLnhzZApAQCAtMCwwICsxLDE4IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJJU08tODg1OS0xIj8+Cis8eHM6c2NoZW1hIHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM9Imh0dHA6Ly9GT08iIHRhcmdldE5hbWVzcGFjZT0iaHR0cDovL0ZPTyI+CisKKyAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iZm9vIj4KKyAgICAgICAgICAgICAgICA8eHM6Y29tcGxleFR5cGU+CisgICAgICAgICAgICAgICAgICAgICAgICA8eHM6Y29tcGxleENvbnRlbnQ+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ0eXBlQSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHhzOmF0dHJpYnV0ZSBuYW1lPSJiYXJBIiB0eXBlPSJ4czpzdHJpbmciIHVzZT0ib3B0aW9uYWwiLz4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC94czpyZXN0cmljdGlvbj4KKyAgICAgICAgICAgICAgICAgICAgICAgIDwveHM6Y29tcGxleENvbnRlbnQ+CisgICAgICAgICAgICAgICAgPC94czpjb21wbGV4VHlwZT4KKyAgICAgICAgPC94czplbGVtZW50PgorCisgICAgICAgIDx4czpjb21wbGV4VHlwZSBuYW1lPSJ0eXBlQSI+CisgICAgICAgICAgICAgICAgPHhzOmF0dHJpYnV0ZSBuYW1lPSJiYXJBIiB0eXBlPSJ4czpzdHJpbmciIHVzZT0icmVxdWlyZWQiLz4KKyAgICAgICAgPC94czpjb21wbGV4VHlwZT4KKworPC94czpzY2hlbWE+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvcmVzdHJpY3Rpb24tZW51bS0xXzAueG1sIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvcmVzdHJpY3Rpb24tZW51bS0xXzAueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjliZGI0YTMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9yZXN0cmljdGlvbi1lbnVtLTFfMC54bWwKQEAgLTAsMCArMSw3IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhLS0gVGhpcyBpbnN0YW5jZSBzaG91bGQgcmFpc2UgYW4gZXJyb3IsIHNpbmNlIGluCisgICJyZXN0cmljdGlvbi1lbnVtLTFfMS54c2QiLCB0aGUgcmVzdHJpY3RpbmcgZW51bWVyYXRpb24KKyAgcnVsZXMgb3V0IHRoZSB2YWx1ZSAiYyIgKHdoaWNoIGlzIGFsbG93ZWQgaW4gdGhlIHJlc3RyaWN0ZWQKKyAgdHlwZSkuCistLT4KKzxmb28+YzwvZm9vPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvcmVzdHJpY3Rpb24tZW51bS0xXzEueHNkIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvcmVzdHJpY3Rpb24tZW51bS0xXzEueHNkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY5ZTM1M2QKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9yZXN0cmljdGlvbi1lbnVtLTFfMS54c2QKQEAgLTAsMCArMSwxOSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8eHM6c2NoZW1hIHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+CisgIDx4czpzaW1wbGVUeXBlIG5hbWU9ImZvb1R5cGUiPg0KKyAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCisgICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9ImEiLz4NCisgICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9ImIiLz4NCisgICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9ImMiLz4NCisgICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9ImQiLz4NCisgICAgPC94czpyZXN0cmljdGlvbj4NCisgIDwveHM6c2ltcGxlVHlwZT4NCisgIDx4czpzaW1wbGVUeXBlIG5hbWU9ImJhclR5cGUiPg0KKyAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0iZm9vVHlwZSI+DQorICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJhIi8+DQorICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJiIi8+DQorICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJkIi8+ICANCisgICAgPC94czpyZXN0cmljdGlvbj4NCisgIDwveHM6c2ltcGxlVHlwZT4NCisgIDx4czplbGVtZW50IG5hbWU9ImZvbyIgdHlwZT0iYmFyVHlwZSIgLz4KKzwveHM6c2NoZW1hPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvcmVzdHJpY3Rpb24wXzAueG1sIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvcmVzdHJpY3Rpb24wXzAueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg2NTZkMmMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9yZXN0cmljdGlvbjBfMC54bWwKQEAgLTAsMCArMSw1IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzx3aG8+CisgIDxmb3JlbmFtZT5CaWxsPC9mb3JlbmFtZT4KKyAgPHN1cm5hbWU+Q2xpbnRvbjwvc3VybmFtZT4KKzwvd2hvPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvcmVzdHJpY3Rpb24wXzAueHNkIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvcmVzdHJpY3Rpb24wXzAueHNkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZiMzViOWYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9yZXN0cmljdGlvbjBfMC54c2QKQEAgLTAsMCArMSwyMSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8eHM6c2NoZW1hIHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+CisgIDx4czpjb21wbGV4VHlwZSBuYW1lPSJwZXJzb25OYW1lIj4KKyAgICA8eHM6c2VxdWVuY2U+CisgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJ0aXRsZSIgbWluT2NjdXJzPSIwIi8+CisgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJmb3JlbmFtZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIvPgorICAgICAgPHhzOmVsZW1lbnQgbmFtZT0ic3VybmFtZSIvPgorICAgIDwveHM6c2VxdWVuY2U+CisgIDwveHM6Y29tcGxleFR5cGU+CisgIDx4czpjb21wbGV4VHlwZSBuYW1lPSJzaW1wbGVOYW1lIj4KKyAgICA8eHM6Y29tcGxleENvbnRlbnQ+CisgICAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0icGVyc29uTmFtZSI+CisgICAgICAgIDx4czpzZXF1ZW5jZT4KKyAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJmb3JlbmFtZSIgbWluT2NjdXJzPSIxIiBtYXhPY2N1cnM9IjEiLz4KKyAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJzdXJuYW1lIi8+CisgICAgICAgIDwveHM6c2VxdWVuY2U+CisgICAgICA8L3hzOnJlc3RyaWN0aW9uPgorICAgIDwveHM6Y29tcGxleENvbnRlbnQ+CisgIDwveHM6Y29tcGxleFR5cGU+CisgIDx4czplbGVtZW50IG5hbWU9IndobyIgdHlwZT0ic2ltcGxlTmFtZSIvPgorPC94czpzY2hlbWE+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9zY2Mtbm8teG1sbnNfMC54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9zY2Mtbm8teG1sbnNfMC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjg1Y2RjYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL3NjYy1uby14bWxuc18wLnhtbApAQCAtMCwwICsxLDMgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IklTTy04ODU5LTEiID8+Cis8Zm9vIHhtbG5zPSJodHRwOi8vZm9vIi8+CQorCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9zY2Mtbm8teG1sbnNfMC54c2QgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9zY2Mtbm8teG1sbnNfMC54c2QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzMxYzgxYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL3NjYy1uby14bWxuc18wLnhzZApAQCAtMCwwICsxLDExIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJJU08tODg1OS0xIiA/PgorPCEtLSBDLjQgU2NoZW1hIENvbXBvbmVudCBDb25zdHJhaW50czogbm8teG1sbnMgLS0+Cis8c2NoZW1hIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgdGFyZ2V0TmFtZXNwYWNlPSJodHRwOi8vZm9vIiB4bWxuczpmb289Imh0dHA6Ly9mb28iPgorCQorICA8ZWxlbWVudCBuYW1lPSJmb28iPgorICAJICA8Y29tcGxleFR5cGU+CisgIAkgIAk8YXR0cmlidXRlIG5hbWU9InhtbG5zIiB0eXBlPSJzdHJpbmciIC8+CisgIAkgIDwvY29tcGxleFR5cGU+ICAgIAorICA8L2VsZW1lbnQ+ICAKKworPC9zY2hlbWE+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9zY2Mtbm8teHNpXzAueG1sIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvc2NjLW5vLXhzaV8wLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iODVjZGNiCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvc2NjLW5vLXhzaV8wLnhtbApAQCAtMCwwICsxLDMgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IklTTy04ODU5LTEiID8+Cis8Zm9vIHhtbG5zPSJodHRwOi8vZm9vIi8+CQorCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9zY2Mtbm8teHNpXzAueHNkIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvc2NjLW5vLXhzaV8wLnhzZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zODhiNmE5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvc2NjLW5vLXhzaV8wLnhzZApAQCAtMCwwICsxLDExIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJJU08tODg1OS0xIiA/PgorPCEtLSAzLjIuNiBTY2hlbWEgQ29tcG9uZW50IENvbnN0cmFpbnQ6IHhzaTogTm90IEFsbG93ZWQgLS0+Cis8c2NoZW1hIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgdGFyZ2V0TmFtZXNwYWNlPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSI+CQkJCQkJCisKKwk8ZWxlbWVudCBuYW1lPSJmb28iPgkKKwkJPGNvbXBsZXhUeXBlPgkJCisJCQk8YXR0cmlidXRlIG5hbWU9ImJhciIgZm9ybT0icXVhbGlmaWVkIiB0eXBlPSJzdHJpbmciLz4KKwkJPC9jb21wbGV4VHlwZT4KKwk8L2VsZW1lbnQ+CisgIAorPC9zY2hlbWE+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9zZXEtZHVibC1lbGVtMV8wLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL3NlcS1kdWJsLWVsZW0xXzAueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE5M2M4ZWUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9zZXEtZHVibC1lbGVtMV8wLnhtbApAQCAtMCwwICsxLDcgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPGZvbzpmb28geG1sbnM6Zm9vPSJodHRwOi8vRk9PIiAKKwl4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiAKKwl4c2k6c2NoZW1hTG9jYXRpb249Imh0dHA6Ly9GT08gc2VxLWR1YmwtZWxlbTFfMC54c2QiPgorCTxmb286UEdQS2V5SUQ+UEVobGJHeHZJSGR2Y214a0lUND08L2ZvbzpQR1BLZXlJRD4KKwk8Zm9vOlBHUEtleVBhY2tldD5QRWhsYkd4dklIZHZjbXhrSVQ0PTwvZm9vOlBHUEtleVBhY2tldD4KKzwvZm9vOmZvbz4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9zZXEtZHVibC1lbGVtMV8wLnhzZCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL3NlcS1kdWJsLWVsZW0xXzAueHNkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZkMDVkYTcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9zZXEtZHVibC1lbGVtMV8wLnhzZApAQCAtMCwwICsxLDI1IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxzY2hlbWEgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIgorCXhtbG5zOmZvbz0iaHR0cDovL0ZPTyIKKwl0YXJnZXROYW1lc3BhY2U9Imh0dHA6Ly9GT08iIHZlcnNpb249IjAuMSIKKwllbGVtZW50Rm9ybURlZmF1bHQ9InF1YWxpZmllZCI+CisgCisgIDxjb21wbGV4VHlwZSBuYW1lPSJmb29UeXBlIj4KKyAgICA8Y2hvaWNlPgorICAgICAgPHNlcXVlbmNlPgorICAgICAgICA8ZWxlbWVudCBuYW1lPSJQR1BLZXlJRCIgdHlwZT0iYmFzZTY0QmluYXJ5Ii8+CisgICAgICAgIDxlbGVtZW50IG5hbWU9IlBHUEtleVBhY2tldCIgdHlwZT0iYmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiLz4KKyAgICAgICAgPGFueSBuYW1lc3BhY2U9IiMjb3RoZXIiIHByb2Nlc3NDb250ZW50cz0ibGF4IiBtaW5PY2N1cnM9IjAiCittYXhPY2N1cnM9InVuYm91bmRlZCIvPgorICAgICAgPC9zZXF1ZW5jZT4KKyAgICAgIDxzZXF1ZW5jZT4KKyAgICAgICAgPGVsZW1lbnQgbmFtZT0iUEdQS2V5UGFja2V0IiB0eXBlPSJiYXNlNjRCaW5hcnkiLz4KKyAgICAgICAgPGFueSBuYW1lc3BhY2U9IiMjb3RoZXIiIHByb2Nlc3NDb250ZW50cz0ibGF4IiBtaW5PY2N1cnM9IjAiCittYXhPY2N1cnM9InVuYm91bmRlZCIvPgorICAgICAgPC9zZXF1ZW5jZT4KKyAgICA8L2Nob2ljZT4KKyAgPC9jb21wbGV4VHlwZT4KKworICA8ZWxlbWVudCBuYW1lPSJmb28iIHR5cGU9ImZvbzpmb29UeXBlIi8+ICAgICAKKyAKKzwvc2NoZW1hPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL3NlcTBfMC54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9zZXEwXzAueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU0YjFjMWMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9zZXEwXzAueG1sCkBAIC0wLDAgKzEsNjEgQEAKKzxkb2M+CisgIDwhLS0gYXQgbGVhc3Qgb25lIHByZXNlbnQgLS0+CisgIDx6LW8+CisgICAgPGIvPgorICA8L3otbz4KKyAgPG8tbz4KKyAgICA8Yy8+CisgIDwvby1vPgorICA8ei11PgorICAgIDxkLz4KKyAgPC96LXU+CisgIDxvLXU+CisgICAgPGUvPgorICA8L28tdT4KKyAgPHotMz4KKyAgICA8Zi8+CisgIDwvei0zPgorICA8by0zPgorICAgIDxnLz4KKyAgPC9vLTM+CisgIDwhLS0gbW9yZSB0aGFuIG9uZSBwcmVzZW50IHdoZW4gYWxsb3dlZCAtLT4KKyAgPHotbz4KKyAgICA8Yi8+CisgIDwvei1vPgorICA8by1vPgorICAgIDxjLz4KKyAgPC9vLW8+CisgIDx6LXU+CisgICAgPGQvPgorICAgIDxkLz4KKyAgICA8ZC8+CisgIDwvei11PgorICA8by11PgorICAgIDxlLz4KKyAgICA8ZS8+CisgICAgPGUvPgorICA8L28tdT4KKyAgPHotMz4KKyAgICA8Zi8+CisgICAgPGYvPgorICAgIDxmLz4KKyAgPC96LTM+CisgIDxvLTM+CisgICAgPGcvPgorICAgIDxnLz4KKyAgICA8Zy8+CisgIDwvby0zPgorICA8IS0tIG1pbiAwIGFyZSBub3QgcHJlc2VudCAtLT4KKyAgPHotby8+CisgIDxvLW8+CisgICAgPGMvPgorICA8L28tbz4KKyAgPHotdS8+CisgIDxvLXU+CisgICAgPGUvPgorICA8L28tdT4KKyAgPHotMy8+CisgIDxvLTM+CisgICAgPGcvPgorICA8L28tMz4KKzwvZG9jPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvc2VxMF8wLnhzZCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL3NlcTBfMC54c2QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzRkM2E3OAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL3NlcTBfMC54c2QKQEAgLTAsMCArMSw2NCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8eHNkOnNjaGVtYSB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIj4KKyAgPHhzZDphbm5vdGF0aW9uPgorICAgIDx4c2Q6ZG9jdW1lbnRhdGlvbj4KKyAgICAgIFRlc3RpbmcgbWluIGFuZCBtYXggb2NjdXJhbmNlIGF0dHJpYnV0ZXMgb24gc2VxdWVuY2VzCisgICAgPC94c2Q6ZG9jdW1lbnRhdGlvbj4KKyAgPC94c2Q6YW5ub3RhdGlvbj4KKworICA8eHNkOmVsZW1lbnQgbmFtZT0iZG9jIj4KKyAgICA8eHNkOmNvbXBsZXhUeXBlPgorICAgICAgPHhzZDpzZXF1ZW5jZSBtaW5PY2N1cnM9JzAnIG1heE9jY3Vycz0ndW5ib3VuZGVkJz4KKworICAgICAgICA8eHNkOmVsZW1lbnQgbmFtZT0iei1vIj4KKyAgICAgICAgICA8eHNkOmNvbXBsZXhUeXBlPgorICAgICAgICAgICAgPHhzZDpzZXF1ZW5jZSBtaW5PY2N1cnM9JzAnIG1heE9jY3Vycz0nMSc+CisgICAgICAgICAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSdiJy8+CisgICAgICAgICAgICA8L3hzZDpzZXF1ZW5jZT4KKyAgICAgICAgICA8L3hzZDpjb21wbGV4VHlwZT4KKyAgICAgICAgPC94c2Q6ZWxlbWVudD4KKworICAgICAgICA8eHNkOmVsZW1lbnQgbmFtZT0iby1vIj4KKyAgICAgICAgICA8eHNkOmNvbXBsZXhUeXBlPgorICAgICAgICAgICAgPHhzZDpzZXF1ZW5jZSBtaW5PY2N1cnM9JzEnIG1heE9jY3Vycz0nMSc+CisgICAgICAgICAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSdjJy8+CisgICAgICAgICAgICA8L3hzZDpzZXF1ZW5jZT4KKyAgICAgICAgICA8L3hzZDpjb21wbGV4VHlwZT4KKyAgICAgICAgPC94c2Q6ZWxlbWVudD4KKworICAgICAgICA8eHNkOmVsZW1lbnQgbmFtZT0iei11Ij4KKyAgICAgICAgICA8eHNkOmNvbXBsZXhUeXBlPgorICAgICAgICAgICAgPHhzZDpzZXF1ZW5jZSBtaW5PY2N1cnM9JzAnIG1heE9jY3Vycz0ndW5ib3VuZGVkJz4KKyAgICAgICAgICAgICAgPHhzZDplbGVtZW50IG5hbWU9J2QnLz4KKyAgICAgICAgICAgIDwveHNkOnNlcXVlbmNlPgorICAgICAgICAgIDwveHNkOmNvbXBsZXhUeXBlPgorICAgICAgICA8L3hzZDplbGVtZW50PgorCisgICAgICAgIDx4c2Q6ZWxlbWVudCBuYW1lPSJvLXUiPgorICAgICAgICAgIDx4c2Q6Y29tcGxleFR5cGU+CisgICAgICAgICAgICA8eHNkOnNlcXVlbmNlIG1pbk9jY3Vycz0nMScgbWF4T2NjdXJzPSd1bmJvdW5kZWQnPgorICAgICAgICAgICAgICA8eHNkOmVsZW1lbnQgbmFtZT0nZScvPgorICAgICAgICAgICAgPC94c2Q6c2VxdWVuY2U+CisgICAgICAgICAgPC94c2Q6Y29tcGxleFR5cGU+CisgICAgICAgIDwveHNkOmVsZW1lbnQ+CisKKyAgICAgICAgPHhzZDplbGVtZW50IG5hbWU9InotMyI+CisgICAgICAgICAgPHhzZDpjb21wbGV4VHlwZT4KKyAgICAgICAgICAgIDx4c2Q6c2VxdWVuY2UgbWluT2NjdXJzPScwJyBtYXhPY2N1cnM9JzMnPgorICAgICAgICAgICAgICA8eHNkOmVsZW1lbnQgbmFtZT0nZicvPgorICAgICAgICAgICAgPC94c2Q6c2VxdWVuY2U+CisgICAgICAgICAgPC94c2Q6Y29tcGxleFR5cGU+CisgICAgICAgIDwveHNkOmVsZW1lbnQ+CisKKyAgICAgICAgPHhzZDplbGVtZW50IG5hbWU9Im8tMyI+CisgICAgICAgICAgPHhzZDpjb21wbGV4VHlwZT4KKyAgICAgICAgICAgIDx4c2Q6c2VxdWVuY2UgbWluT2NjdXJzPScxJyBtYXhPY2N1cnM9JzMnPgorICAgICAgICAgICAgICA8eHNkOmVsZW1lbnQgbmFtZT0nZycvPgorICAgICAgICAgICAgPC94c2Q6c2VxdWVuY2U+CisgICAgICAgICAgPC94c2Q6Y29tcGxleFR5cGU+CisgICAgICAgIDwveHNkOmVsZW1lbnQ+CisKKyAgICAgIDwveHNkOnNlcXVlbmNlPgorICAgIDwveHNkOmNvbXBsZXhUeXBlPgorICA8L3hzZDplbGVtZW50PgorPC94c2Q6c2NoZW1hPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvc3JjLWF0dHJpYnV0ZTFfMC54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9zcmMtYXR0cmlidXRlMV8wLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NjBlZmQ5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvc3JjLWF0dHJpYnV0ZTFfMC54bWwKQEAgLTAsMCArMSwyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJJU08tODg1OS0xIiA/PgorPGZvbyB4bWxucz0iaHR0cDovL0ZPTyIvPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvc3JjLWF0dHJpYnV0ZTFfMC54c2QgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9zcmMtYXR0cmlidXRlMV8wLnhzZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYmE4YjQ4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvc3JjLWF0dHJpYnV0ZTFfMC54c2QKQEAgLTAsMCArMSwxMyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSIgPz4KKzwhLS0gMy4yLjMgOiAxIAorICAgIGRlZmF1bHQgYW5kIGZpeGVkIG11c3Qgbm90IGJvdGggYmUgcHJlc2VudAorLS0+Cis8c2NoZW1hIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgdGFyZ2V0TmFtZXNwYWNlPSJodHRwOi8vZm9vIiB4bWxuczpmb289Imh0dHA6Ly9mb28iPgorCQorICA8ZWxlbWVudCBuYW1lPSJmb28iPgorICAJICA8Y29tcGxleFR5cGU+CisgIAkgIAk8YXR0cmlidXRlIG5hbWU9ImJhciIgdHlwZT0ic3RyaW5nIiBkZWZhdWx0PSJtb28iIGZpeGVkPSJ0cnVlIi8+CisgIAkgIDwvY29tcGxleFR5cGU+ICAgIAorICA8L2VsZW1lbnQ+ICAKKworPC9zY2hlbWE+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9zcmMtYXR0cmlidXRlMl8wLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL3NyYy1hdHRyaWJ1dGUyXzAueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc2MGVmZDkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9zcmMtYXR0cmlidXRlMl8wLnhtbApAQCAtMCwwICsxLDIgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IklTTy04ODU5LTEiID8+Cis8Zm9vIHhtbG5zPSJodHRwOi8vRk9PIi8+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9zcmMtYXR0cmlidXRlMl8wLnhzZCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL3NyYy1hdHRyaWJ1dGUyXzAueHNkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQxMGNjODEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9zcmMtYXR0cmlidXRlMl8wLnhzZApAQCAtMCwwICsxLDEzIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJJU08tODg1OS0xIiA/PgorPCEtLSAzLjIuMyA6IDIgCisgICAgSWYgZGVmYXVsdCBhbmQgdXNlIGFyZSBib3RoIHByZXNlbnQsIHVzZSBtdXN0IGhhdmUgdGhlILdhY3R1YWwgdmFsdWW3IG9wdGlvbmFsCistLT4KKzxzY2hlbWEgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB0YXJnZXROYW1lc3BhY2U9Imh0dHA6Ly9mb28iIHhtbG5zOmZvbz0iaHR0cDovL2ZvbyI+CisJCisgIDxlbGVtZW50IG5hbWU9ImZvbyI+CisgIAkgIDxjb21wbGV4VHlwZT4KKyAgCSAgCTxhdHRyaWJ1dGUgbmFtZT0iYmFyIiB0eXBlPSJzdHJpbmciIHVzZT0icmVxdWlyZWQiIGRlZmF1bHQ9Im1vbyIgLz4KKyAgCSAgPC9jb21wbGV4VHlwZT4gICAgCisgIDwvZWxlbWVudD4gIAorCis8L3NjaGVtYT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL3NyYy1hdHRyaWJ1dGUzLTFfMC54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9zcmMtYXR0cmlidXRlMy0xXzAueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc2MGVmZDkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9zcmMtYXR0cmlidXRlMy0xXzAueG1sCkBAIC0wLDAgKzEsMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSIgPz4KKzxmb28geG1sbnM9Imh0dHA6Ly9GT08iLz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL3NyYy1hdHRyaWJ1dGUzLTFfMC54c2QgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9zcmMtYXR0cmlidXRlMy0xXzAueHNkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI4ZTAwM2MKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9zcmMtYXR0cmlidXRlMy0xXzAueHNkCkBAIC0wLDAgKzEsMTUgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IklTTy04ODU5LTEiID8+Cis8IS0tIDMuMi4zIDogMy4xCisgICAgT25lIG9mIHJlZiBvciBuYW1lIG11c3QgYmUgcHJlc2VudCwgYnV0IG5vdCBib3RoCistLT4KKzxzY2hlbWEgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB0YXJnZXROYW1lc3BhY2U9Imh0dHA6Ly9mb28iIHhtbG5zOmZvbz0iaHR0cDovL2ZvbyI+CisJCisgIDxlbGVtZW50IG5hbWU9ImZvbyI+CisgIAkgIDxjb21wbGV4VHlwZT4KKyAgCSAgCTxhdHRyaWJ1dGUgbmFtZT0iYmFyIiByZWY9ImZvbzpiYXIiIC8+CisgIAkgIDwvY29tcGxleFR5cGU+ICAgIAorICA8L2VsZW1lbnQ+ICAKKyAgCisgIDxhdHRyaWJ1dGUgbmFtZT0iYmFyIiB0eXBlPSJzdHJpbmciIC8+CisKKzwvc2NoZW1hPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvc3JjLWF0dHJpYnV0ZTMtMi1mb3JtXzAueG1sIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvc3JjLWF0dHJpYnV0ZTMtMi1mb3JtXzAueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc2MGVmZDkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9zcmMtYXR0cmlidXRlMy0yLWZvcm1fMC54bWwKQEAgLTAsMCArMSwyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJJU08tODg1OS0xIiA/PgorPGZvbyB4bWxucz0iaHR0cDovL0ZPTyIvPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvc3JjLWF0dHJpYnV0ZTMtMi1mb3JtXzAueHNkIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvc3JjLWF0dHJpYnV0ZTMtMi1mb3JtXzAueHNkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBjN2NjMjMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9zcmMtYXR0cmlidXRlMy0yLWZvcm1fMC54c2QKQEAgLTAsMCArMSwxNiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSIgPz4KKzwhLS0gMy4yLjMgOiAzLjIKKyAgICBJZiByZWYgaXMgcHJlc2VudCwgdGhlbiBhbGwgb2YgPHNpbXBsZVR5cGU+LCBmb3JtIGFuZCB0eXBlIG11c3QgYmUgYWJzZW50CisgICAgVGhpcyBvbmUgdGVzdHMgImZvcm0iCistLT4KKzxzY2hlbWEgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB0YXJnZXROYW1lc3BhY2U9Imh0dHA6Ly9mb28iIHhtbG5zOmZvbz0iaHR0cDovL2ZvbyI+CisJCisgIDxlbGVtZW50IG5hbWU9ImZvbyI+CisgIAkgIDxjb21wbGV4VHlwZT4KKyAgCSAgCTxhdHRyaWJ1dGUgcmVmPSJmb286YmFyIiBmb3JtPSJxdWFsaWZpZWQiLz4gCSAgCQkKKyAgCSAgPC9jb21wbGV4VHlwZT4gICAgCisgIDwvZWxlbWVudD4gIAorICAKKyAgPGF0dHJpYnV0ZSBuYW1lPSJiYXIiIHR5cGU9InN0cmluZyIvPgorCis8L3NjaGVtYT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL3NyYy1hdHRyaWJ1dGUzLTItc3RfMC54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9zcmMtYXR0cmlidXRlMy0yLXN0XzAueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc2MGVmZDkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9zcmMtYXR0cmlidXRlMy0yLXN0XzAueG1sCkBAIC0wLDAgKzEsMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSIgPz4KKzxmb28geG1sbnM9Imh0dHA6Ly9GT08iLz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL3NyYy1hdHRyaWJ1dGUzLTItc3RfMC54c2QgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9zcmMtYXR0cmlidXRlMy0yLXN0XzAueHNkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYyNTYzODEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9zcmMtYXR0cmlidXRlMy0yLXN0XzAueHNkCkBAIC0wLDAgKzEsMjIgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IklTTy04ODU5LTEiID8+Cis8IS0tIDMuMi4zIDogMy4yCisgICAgSWYgcmVmIGlzIHByZXNlbnQsIHRoZW4gYWxsIG9mIDxzaW1wbGVUeXBlPiwgZm9ybSBhbmQgdHlwZSBtdXN0IGJlIGFic2VudAorICAgIFRoaXMgb25lIHRlc3RzIDxzaW1wbGVUeXBlPgorLS0+Cis8c2NoZW1hIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgdGFyZ2V0TmFtZXNwYWNlPSJodHRwOi8vZm9vIiB4bWxuczpmb289Imh0dHA6Ly9mb28iPgorCQorICA8ZWxlbWVudCBuYW1lPSJmb28iPgorICAJICA8Y29tcGxleFR5cGU+CisgIAkgIAk8YXR0cmlidXRlIHJlZj0iZm9vOmJhciI+CisgIAkgIAkJPHNpbXBsZVR5cGU+CisgIAkgIAkJCTxyZXN0cmljdGlvbiBiYXNlPSJzdHJpbmciPgorICAJICAJCQkJPG1heExlbmd0aCB2YWx1ZT0iMjAiLz4KKyAgCSAgCQkJPC9yZXN0cmljdGlvbj4KKyAgCSAgCQk8L3NpbXBsZVR5cGU+CisgIAkgIAk8L2F0dHJpYnV0ZT4KKyAgCSAgPC9jb21wbGV4VHlwZT4gICAgCisgIDwvZWxlbWVudD4gIAorICAKKyAgPGF0dHJpYnV0ZSBuYW1lPSJiYXIiIHR5cGU9InN0cmluZyIgLz4KKworPC9zY2hlbWE+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9zcmMtYXR0cmlidXRlMy0yLXR5cGVfMC54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9zcmMtYXR0cmlidXRlMy0yLXR5cGVfMC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzYwZWZkOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL3NyYy1hdHRyaWJ1dGUzLTItdHlwZV8wLnhtbApAQCAtMCwwICsxLDIgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IklTTy04ODU5LTEiID8+Cis8Zm9vIHhtbG5zPSJodHRwOi8vRk9PIi8+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9zcmMtYXR0cmlidXRlMy0yLXR5cGVfMC54c2QgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9zcmMtYXR0cmlidXRlMy0yLXR5cGVfMC54c2QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTRmMTk3MwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL3NyYy1hdHRyaWJ1dGUzLTItdHlwZV8wLnhzZApAQCAtMCwwICsxLDE2IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJJU08tODg1OS0xIiA/PgorPCEtLSAzLjIuMyA6IDMuMgorICAgIElmIHJlZiBpcyBwcmVzZW50LCB0aGVuIGFsbCBvZiA8c2ltcGxlVHlwZT4sIGZvcm0gYW5kIHR5cGUgbXVzdCBiZSBhYnNlbnQKKyAgICBUaGlzIG9uZSB0ZXN0cyAidHlwZSIKKy0tPgorPHNjaGVtYSB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHRhcmdldE5hbWVzcGFjZT0iaHR0cDovL2ZvbyIgeG1sbnM6Zm9vPSJodHRwOi8vZm9vIj4KKwkKKyAgPGVsZW1lbnQgbmFtZT0iZm9vIj4KKyAgCSAgPGNvbXBsZXhUeXBlPgorICAJICAJPGF0dHJpYnV0ZSByZWY9ImZvbzpiYXIiIHR5cGU9InN0cmluZyIvPiAJICAJCQorICAJICA8L2NvbXBsZXhUeXBlPiAgICAKKyAgPC9lbGVtZW50PiAgCisgIAorICA8YXR0cmlidXRlIG5hbWU9ImJhciIgdHlwZT0ic3RyaW5nIi8+CisKKzwvc2NoZW1hPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvc3JjLWF0dHJpYnV0ZTRfMC54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9zcmMtYXR0cmlidXRlNF8wLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NjBlZmQ5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvc3JjLWF0dHJpYnV0ZTRfMC54bWwKQEAgLTAsMCArMSwyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJJU08tODg1OS0xIiA/PgorPGZvbyB4bWxucz0iaHR0cDovL0ZPTyIvPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvc3JjLWF0dHJpYnV0ZTRfMC54c2QgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9zcmMtYXR0cmlidXRlNF8wLnhzZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYzlkOGFjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvc3JjLWF0dHJpYnV0ZTRfMC54c2QKQEAgLTAsMCArMSwxNyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSIgPz4KKzwhLS0gMy4yLjMgOiAzLjIKKyAgICB0eXBlIGFuZCA8c2ltcGxlVHlwZT4gbXVzdCBub3QgYm90aCBiZSBwcmVzZW50CistLT4KKzxzY2hlbWEgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB0YXJnZXROYW1lc3BhY2U9Imh0dHA6Ly9mb28iIHhtbG5zOmZvbz0iaHR0cDovL2ZvbyI+CisJCisJPGF0dHJpYnV0ZSBuYW1lPSJiYXIiIHR5cGU9InN0cmluZyI+CQkKKwkJPHNpbXBsZVR5cGU+CisgIAkgIAkJPHJlc3RyaWN0aW9uIGJhc2U9InN0cmluZyI+CisgIAkgIAkJCTxtYXhMZW5ndGggdmFsdWU9IjIwIi8+CisgIAkgIAkJPC9yZXN0cmljdGlvbj4KKyAgCSAgCTwvc2ltcGxlVHlwZT4KKwk8L2F0dHJpYnV0ZT4gIAkKKwkKKwk8ZWxlbWVudCBuYW1lPSJmb28iLz4KKyAgCis8L3NjaGVtYT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL3NyYy1lbGVtZW50MV8wLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL3NyYy1lbGVtZW50MV8wLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NjBlZmQ5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvc3JjLWVsZW1lbnQxXzAueG1sCkBAIC0wLDAgKzEsMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSIgPz4KKzxmb28geG1sbnM9Imh0dHA6Ly9GT08iLz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL3NyYy1lbGVtZW50MV8wLnhzZCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL3NyYy1lbGVtZW50MV8wLnhzZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZmQ4ZDU3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvc3JjLWVsZW1lbnQxXzAueHNkCkBAIC0wLDAgKzEsOSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSIgPz4KKzwhLS0gMy4yLjMgOiAxIAorICAgIGRlZmF1bHQgYW5kIGZpeGVkIG11c3Qgbm90IGJvdGggYmUgcHJlc2VudAorLS0+Cis8c2NoZW1hIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgdGFyZ2V0TmFtZXNwYWNlPSJodHRwOi8vZm9vIiB4bWxuczpmb289Imh0dHA6Ly9mb28iPgorCQorCTxlbGVtZW50IG5hbWU9ImZvbyIgdHlwZT0ic3RyaW5nIiBkZWZhdWx0PSJKb25pIiBmaXhlZD0iTWl0Y2hlbCIvPgkgICAgICAKKworPC9zY2hlbWE+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9zcmMtZWxlbWVudDItMV8wLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL3NyYy1lbGVtZW50Mi0xXzAueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc2MGVmZDkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9zcmMtZWxlbWVudDItMV8wLnhtbApAQCAtMCwwICsxLDIgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IklTTy04ODU5LTEiID8+Cis8Zm9vIHhtbG5zPSJodHRwOi8vRk9PIi8+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9zcmMtZWxlbWVudDItMV8wLnhzZCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL3NyYy1lbGVtZW50Mi0xXzAueHNkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYxYzJlZGYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9zcmMtZWxlbWVudDItMV8wLnhzZApAQCAtMCwwICsxLDE3IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJJU08tODg1OS0xIiA/PgorPCEtLSAzLjIuMyA6IDIuMSAKKyAgICBPbmUgb2YgcmVmIG9yIG5hbWUgbXVzdCBiZSBwcmVzZW50LCBidXQgbm90IGJvdGguCistLT4KKzxzY2hlbWEgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB0YXJnZXROYW1lc3BhY2U9Imh0dHA6Ly9mb28iIHhtbG5zOmZvbz0iaHR0cDovL2ZvbyI+CisJCisgIDxlbGVtZW50IG5hbWU9ImJhciIgdHlwZT0ic3RyaW5nIi8+CQorCQorICA8ZWxlbWVudCBuYW1lPSJmb28iPgorICAJICA8Y29tcGxleFR5cGU+CisgIAkgIAk8c2VxdWVuY2U+CisgIAkgIAkJPGVsZW1lbnQgbmFtZT0iYmFyIiByZWY9ImZvbzpiYXIiLz4JICAgCisgIAkgIAk8L3NlcXVlbmNlPgorICAJICA8L2NvbXBsZXhUeXBlPiAgICAKKyAgPC9lbGVtZW50PiAgCisKKzwvc2NoZW1hPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvc3JjLWVsZW1lbnQyLTJfMC54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9zcmMtZWxlbWVudDItMl8wLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NjBlZmQ5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvc3JjLWVsZW1lbnQyLTJfMC54bWwKQEAgLTAsMCArMSwyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJJU08tODg1OS0xIiA/PgorPGZvbyB4bWxucz0iaHR0cDovL0ZPTyIvPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvc3JjLWVsZW1lbnQyLTJfMC54c2QgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9zcmMtZWxlbWVudDItMl8wLnhzZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNzA3NDBhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvc3JjLWVsZW1lbnQyLTJfMC54c2QKQEAgLTAsMCArMSw0OCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSIgPz4KKzwhLS0gMy4yLjMgOiAyLjIgCisgICAgSWYgcmVmIGlzIHByZXNlbnQsIHRoZW4gYWxsIG9mIDxjb21wbGV4VHlwZT4sIDxzaW1wbGVUeXBlPiwgPGtleT4sIDxrZXlyZWY+LCA8dW5pcXVlPiwgCisgICAgbmlsbGFibGUsIGRlZmF1bHQsIGZpeGVkLCBmb3JtLCBibG9jayBhbmQgdHlwZSBtdXN0IGJlIGFic2VudCwgaS5lLiBvbmx5IG1pbk9jY3VycywgbWF4T2NjdXJzLCAKKyAgICBpZCBhcmUgYWxsb3dlZCBpbiBhZGRpdGlvbiB0byByZWYsIGFsb25nIHdpdGggPGFubm90YXRpb24+LgorCistLT4KKzxzY2hlbWEgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB0YXJnZXROYW1lc3BhY2U9Imh0dHA6Ly9mb28iIHhtbG5zOmZvbz0iaHR0cDovL2ZvbyI+CisJCisgIDxlbGVtZW50IG5hbWU9ImJhciIgdHlwZT0ic3RyaW5nIi8+CQorCQorICA8ZWxlbWVudCBuYW1lPSJmb28iPgorICAJICA8Y29tcGxleFR5cGU+CisgIAkgIAk8Y2hvaWNlPgorICAJICAJCisgIAkgIAkJPCEtLSBUaGUgZ29vZCBvbmVzLiAtLT4KKyAgCSAgCQk8ZWxlbWVudCByZWY9ImZvbzpiYXIiIG1pbk9jY3Vycz0iMCIvPgorICAJICAJCTxlbGVtZW50IHJlZj0iZm9vOmJhciIgbWF4T2NjdXJzPSIwIi8+CisgIAkgIAkJPGVsZW1lbnQgcmVmPSJmb286YmFyIiBpZD0ibXlvbXkiLz4KKyAgCSAgCQkKKyAgCSAgCQk8IS0tIFRoZSBiYWQgb25lcy4gLS0+CisgIAkgIAkJPGVsZW1lbnQgcmVmPSJmb286YmFyIj4KKyAgCSAgCQkJPGNvbXBsZXhUeXBlPgorICAJICAJCQkJPGF0dHJpYnV0ZSBuYW1lPSJiYXIiIHR5cGU9InN0cmluZyIvPgorICAJICAJCQk8L2NvbXBsZXhUeXBlPgorICAJICAJCTwvZWxlbWVudD4KKyAgCSAgCQkKKyAgCSAgCQk8ZWxlbWVudCByZWY9ImZvbzpiYXIiPgorICAJICAJCQk8c2ltcGxlVHlwZT4KKyAgCSAgCQkJCTxyZXN0cmljdGlvbiBiYXNlPSJzdHJpbmciPgorICAJICAJCQkJCTxtYXhMZW5ndGggdmFsdWU9IjIwIi8+CisgIAkgIAkJCQk8L3Jlc3RyaWN0aW9uPgorICAJICAJCQk8L3NpbXBsZVR5cGU+CisgIAkgIAkJPC9lbGVtZW50PiAgCisgIAkgIAkJCisgIAkgIAkJPGVsZW1lbnQgcmVmPSJmb286YmFyIiB0eXBlPSJzdHJpbmciLz4KKyAgCSAgCQk8ZWxlbWVudCByZWY9ImZvbzpiYXIiIG5pbGxhYmxlPSJ0cnVlIi8+CisgIAkgIAkJPGVsZW1lbnQgcmVmPSJmb286YmFyIiBkZWZhdWx0PSJKb25pIi8+CisgIAkgIAkJPGVsZW1lbnQgcmVmPSJmb286YmFyIiBmaXhlZD0iTWl0Y2hlbCIvPgorICAJICAJCTxlbGVtZW50IHJlZj0iZm9vOmJhciIgZm9ybT0idW5xdWFsaWZpZWQiLz4KKyAgCSAgCQk8ZWxlbWVudCByZWY9ImZvbzpiYXIiIGJsb2NrPSJyZXN0cmljdGlvbiIvPiAgCSAgCQkKKyAgCSAgCQkKKyAgCSAgCTwvY2hvaWNlPgorICAJICA8L2NvbXBsZXhUeXBlPiAgICAKKyAgPC9lbGVtZW50PiAgCisgIAorCis8L3NjaGVtYT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL3NyYy1lbGVtZW50M18wLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL3NyYy1lbGVtZW50M18wLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NjBlZmQ5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvc3JjLWVsZW1lbnQzXzAueG1sCkBAIC0wLDAgKzEsMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSIgPz4KKzxmb28geG1sbnM9Imh0dHA6Ly9GT08iLz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL3NyYy1lbGVtZW50M18wLnhzZCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL3NyYy1lbGVtZW50M18wLnhzZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yOGI2OWQ4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvc3JjLWVsZW1lbnQzXzAueHNkCkBAIC0wLDAgKzEsMjkgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IklTTy04ODU5LTEiID8+Cis8IS0tIDMuMi4zIDogMyAKKyAgICB0eXBlIGFuZCBlaXRoZXIgPHNpbXBsZVR5cGU+IG9yIDxjb21wbGV4VHlwZT4gYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZQorLS0+Cis8c2NoZW1hIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgdGFyZ2V0TmFtZXNwYWNlPSJodHRwOi8vZm9vIiB4bWxuczpmb289Imh0dHA6Ly9mb28iPgorCQorCTxlbGVtZW50IG5hbWU9ImZvbyIgdHlwZT0iZm9vOnNvbWVUeXBlIj4KKwkJPGNvbXBsZXhUeXBlPgorCQkJPHNlcXVlbmNlPgorCQkJCTxlbGVtZW50IG5hbWU9ImJhciIgdHlwZT0ic3RyaW5nIi8+CSAgIAorCQkJPC9zZXF1ZW5jZT4KKwkJPC9jb21wbGV4VHlwZT4gICAgCisJPC9lbGVtZW50PiAgCisJCisJPGVsZW1lbnQgbmFtZT0iYmFyIiB0eXBlPSJmb286c29tZVR5cGUiPgorCQk8c2ltcGxlVHlwZT4KKyAgCSAgCQk8cmVzdHJpY3Rpb24gYmFzZT0ic3RyaW5nIj4KKyAgCSAgCQkJPG1heExlbmd0aCB2YWx1ZT0iMjAiLz4KKyAgCSAgCQk8L3Jlc3RyaWN0aW9uPgorICAJICAJPC9zaW1wbGVUeXBlPgorCTwvZWxlbWVudD4gIAorCQorCTxjb21wbGV4VHlwZSBuYW1lPSJzb21lVHlwZSI+CisJCTxzZXF1ZW5jZT4KKwkJCTxlbGVtZW50IG5hbWU9ImJhciIgdHlwZT0ic3RyaW5nIi8+CSAgIAorCQk8L3NlcXVlbmNlPgorCTwvY29tcGxleFR5cGU+ICAgIAorCis8L3NjaGVtYT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL3N1YnN0LWdyb3VwLTFfMC54c2QgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9zdWJzdC1ncm91cC0xXzAueHNkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFmMjFlZWIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9zdWJzdC1ncm91cC0xXzAueHNkCkBAIC0wLDAgKzEsNDUgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IS0tIFRlc3QgZm9yIGJ1ZyAjMzQxMTUwIC0tPgorPHhzOnNjaGVtYSB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiID4KKworICA8IS0tIFRoaXMgaXMgdGhlIGhlYWQgb2Ygb3VyIHN1YnN0aXR1dGlvbiBncm91cCBmb3IgZXZlbnRzIHRoYXQgaGF2ZSBvbmx5CisgICAgICAgIHNpbXBsZSBjb250ZW50LiAtLT4KKyAgPHhzOmVsZW1lbnQgbmFtZT0iU2ltcGxlRXZlbnQiIHR5cGU9IlNpbXBsZUV2ZW50VHlwZSIvPgorCisgIDwhLS0gQWxsIFNpbXBsZUV2ZW50IGVsZW1lbnRzIGhhdmUgdGhlIHJlcXVpcmVkIHNldCBvZiBhdHRyaWJ1dGVzIC0tPgorICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2ltcGxlRXZlbnRUeXBlIj4KKyAgICA8eHM6c2ltcGxlQ29udGVudD4KKyAgICAgIDx4czpleHRlbnNpb24gYmFzZT0ieHM6YW55U2ltcGxlVHlwZSI+CisgICAgICA8L3hzOmV4dGVuc2lvbj4KKyAgICA8L3hzOnNpbXBsZUNvbnRlbnQ+CisgIDwveHM6Y29tcGxleFR5cGU+ICAKKworICA8IS0tIENvbW1vbiBtZW1iZXJzIG9mIHRoZSBTaW1wbGVFdmVudCBzdWJzdGl0dXRpb24gZ3JvdXAgLS0+CisgIDx4czplbGVtZW50IG5hbWU9IlRlc3RFdmVudCIgc3Vic3RpdHV0aW9uR3JvdXA9IlNpbXBsZUV2ZW50Ij4KKyAgICA8eHM6Y29tcGxleFR5cGU+CisgICAgICA8eHM6c2ltcGxlQ29udGVudD4KKyAgICAgICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9IlNpbXBsZUV2ZW50VHlwZSI+CisgICAgICAgICAgPHhzOnNpbXBsZVR5cGU+CisgICAgICAgICAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIi8+CisgICAgICAgICAgPC94czpzaW1wbGVUeXBlPgorICAgICAgICA8L3hzOnJlc3RyaWN0aW9uPgorICAgICAgPC94czpzaW1wbGVDb250ZW50PgorICAgIDwveHM6Y29tcGxleFR5cGU+CisgIDwveHM6ZWxlbWVudD4KKworICA8IS0tIFJvb3QgZWxlbWVudCAtLT4KKyAgPHhzOmVsZW1lbnQgbmFtZT0iVGVzdFJvb3QiIHR5cGU9IlRlc3RSb290VHlwZSIvPgorCisgIDwhLS0gQ29yZSBkYXRhIHR5cGUgb2YgYW4gYXVkaXQgdHJhaWwgLS0+CisgIDx4czpjb21wbGV4VHlwZSBuYW1lPSJUZXN0Um9vdFR5cGUiPgorICAgIDx4czpzZXF1ZW5jZT4KKyAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50cyI+CisgICAgICAgIDx4czpjb21wbGV4VHlwZT4KKyAgICAgICAgICA8eHM6Y2hvaWNlIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiPgorICAgICAgICAgICAgPHhzOmVsZW1lbnQgcmVmPSJTaW1wbGVFdmVudCIvPgorICAgICAgICAgIDwveHM6Y2hvaWNlPgorICAgICAgICA8L3hzOmNvbXBsZXhUeXBlPgorICAgICAgPC94czplbGVtZW50PgorICAgIDwveHM6c2VxdWVuY2U+CisgIDwveHM6Y29tcGxleFR5cGU+Cis8L3hzOnNjaGVtYT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy9zdWJzdC1ncm91cC0xXzEueG1sIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvc3Vic3QtZ3JvdXAtMV8xLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wODdmZTAyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvc3Vic3QtZ3JvdXAtMV8xLnhtbApAQCAtMCwwICsxLDEyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCEtLSBUZXN0IGZvciBidWcgIzM0MTE1MCAtLT4KKzxUZXN0Um9vdCB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIgorICAgICAgICAgIHhzaTpub05hbWVzcGFjZVNjaGVtYUxvY2F0aW9uPSJzdWJzdC1ncm91cC0xLnhzZCI+CisgICAgPEV2ZW50cz4KKyAgICAgICAgPFRlc3RFdmVudD5UZXN0IDEuPC9UZXN0RXZlbnQ+CisgICAgICAgIDwhLS0gVW5jb21tZW50IHRoZSBmb2xsb3dpbmcgZWxlbWVudCB0byBjYXVzZSBsaWJ4bWwncyB4bWxsaW50IHRvCisgICAgICAgICAgICBmYWlsIHRvIHZhbGlkYXRlLiAtLT4KKyAgICAgICAgPFRlc3RFdmVudD5UZXN0IDIuPC9UZXN0RXZlbnQ+CisgICAgPC9FdmVudHM+Cis8L1Rlc3RSb290PgorCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy91bmlvbjJfMS54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy91bmlvbjJfMS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTE0ODA4MAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL3VuaW9uMl8xLnhtbApAQCAtMCwwICsxLDYgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPEVMRU1FTlRTIHhtbG5zPSJ1cm46dGVzdDpmb28iCisJeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIKKyAgCXhzaTpzY2hlbWFMb2NhdGlvbj0idXJuOnRlc3Q6Zm9vIHVuaW9uXzEueHNkIj4KKwk1Cis8L0VMRU1FTlRTPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL3VuaW9uMl8xLnhzZCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL3VuaW9uMl8xLnhzZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZDgzNzI2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvdW5pb24yXzEueHNkCkBAIC0wLDAgKzEsMjEgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IklTTy04ODU5LTEiPz4KKzx4c2Q6c2NoZW1hIHhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiICB0YXJnZXROYW1lc3BhY2U9InVybjp0ZXN0OmZvbyI+CisgIDx4c2Q6ZWxlbWVudCBuYW1lPSJFTEVNRU5UUyI+CisgICAgPHhzZDpzaW1wbGVUeXBlPgorICAgICAgPHhzZDp1bmlvbj4KKyAgICAgICAgPHhzZDpzaW1wbGVUeXBlPgorICAgICAgICAgIDx4c2Q6cmVzdHJpY3Rpb24gYmFzZT0ieHNkOmludCI+CisgICAgICAgICAgICA8eHNkOm1pbkluY2x1c2l2ZSB2YWx1ZT0iMTAiLz4KKyAgICAgICAgICAgIDx4c2Q6bWF4SW5jbHVzaXZlIHZhbHVlPSIyMCIvPgorICAgICAgICAgIDwveHNkOnJlc3RyaWN0aW9uPgorICAgICAgICA8L3hzZDpzaW1wbGVUeXBlPgorICAgICAgICA8eHNkOnNpbXBsZVR5cGU+CisgICAgICAgICAgPHhzZDpyZXN0cmljdGlvbiBiYXNlPSJ4c2Q6aW50Ij4KKyAgICAgICAgICAgIDx4c2Q6bWluSW5jbHVzaXZlIHZhbHVlPSIzMCIvPgorICAgICAgICAgICAgPHhzZDptYXhJbmNsdXNpdmUgdmFsdWU9IjQwIi8+CisgICAgICAgICAgPC94c2Q6cmVzdHJpY3Rpb24+CisgICAgICAgIDwveHNkOnNpbXBsZVR5cGU+CisgICAgICA8L3hzZDp1bmlvbj4KKyAgICA8L3hzZDpzaW1wbGVUeXBlPgorICA8L3hzZDplbGVtZW50PgorPC94c2Q6c2NoZW1hPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL3VuaW9uXzBfMC54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy91bmlvbl8wXzAueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFhNDc3NjMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy91bmlvbl8wXzAueG1sCkBAIC0wLDAgKzEsOCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/PgorPGZvbyB4bWxucz0iaHR0cDovL2ZvbyIgCisJeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgCisJeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vZm9vIHVuaW9uXzBfMC54c2QiPgorICAgICAgPGVtPkVNUDAwOTA8L2VtPgorICAgICAgPGVtPkVNUDAwOTk8L2VtPgorPC9mb28+CisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL3VuaW9uXzBfMC54c2QgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy91bmlvbl8wXzAueHNkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIzZTkzZDEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy91bmlvbl8wXzAueHNkCkBAIC0wLDAgKzEsNTMgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IklTTy04ODU5LTEiID8+Cis8eHNkOnNjaGVtYSB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiAKKwl0YXJnZXROYW1lc3BhY2U9Imh0dHA6Ly9mb28iCisJeG1sbnM9Imh0dHA6Ly9mb28iCisJeG1sbnM6YT0iaHR0cDovL2ZvbyI+CisJCisgIDx4c2Q6ZWxlbWVudCBuYW1lPSJmb28iPgorICAJICA8eHNkOmNvbXBsZXhUeXBlPgorICAJICAJPHhzZDpzZXF1ZW5jZT4gIAorICAJCQk8eHNkOmVsZW1lbnQgbmFtZT0iZW0iIAorCQkJCXR5cGU9ImVtVHlwZSIgCisJCQkJbWF4T2NjdXJzPSJ1bmJvdW5kZWQiCisJCQkJZm9ybT0icXVhbGlmaWVkIi8+CSAgCQorICAJCTwveHNkOnNlcXVlbmNlPgorICAJICA8L3hzZDpjb21wbGV4VHlwZT4gICAgCisgIDwveHNkOmVsZW1lbnQ+CisgICAgICAgICAgCisgIDx4c2Q6c2ltcGxlVHlwZSBuYW1lPSJlbXAwMDAxXzNUeXBlIj4KKyAgCSAgPHhzZDpyZXN0cmljdGlvbiBiYXNlPSJ4c2Q6SUQiPgorICAJICAJICA8eHNkOmVudW1lcmF0aW9uIHZhbHVlPSJFTVAwMDQwIi8+ICAJICAJICAKKyAgCSAgCSAgPHhzZDplbnVtZXJhdGlvbiB2YWx1ZT0iRU1QMDAwMyIvPgorICAJICAJICA8eHNkOmVudW1lcmF0aW9uIHZhbHVlPSJFTVAwMDA0Ii8+CisgIAkgIAkgIDx4c2Q6ZW51bWVyYXRpb24gdmFsdWU9IkVNUDAwMDUiLz4KKyAgCSAgPC94c2Q6cmVzdHJpY3Rpb24+CisgIDwveHNkOnNpbXBsZVR5cGU+CisgIAorICA8eHNkOnNpbXBsZVR5cGUgbmFtZT0iZW1wMDAwNF81VHlwZSI+CisgIAkgIDx4c2Q6cmVzdHJpY3Rpb24gYmFzZT0ieHNkOklEIj4KKyAgCSAgPHhzZDplbnVtZXJhdGlvbiB2YWx1ZT0iRU1QMDAwMiIvPgorICAJICAJICA8eHNkOmVudW1lcmF0aW9uIHZhbHVlPSJFTVAwMDkwIi8+CisgIAkgIAkgIDx4c2Q6ZW51bWVyYXRpb24gdmFsdWU9IkVNUDAwMDciLz4KKyAgCSAgPC94c2Q6cmVzdHJpY3Rpb24+CisgIDwveHNkOnNpbXBsZVR5cGU+CisgIAorICA8eHNkOnNpbXBsZVR5cGUgbmFtZT0idW5ib3VuZGVkRW1UeXBlIj4KKyAgCQk8eHNkOnVuaW9uIG1lbWJlclR5cGVzPSJhOmVtcDAwMDFfM1R5cGUgZW1wMDAwNF81VHlwZSI+CisgIAkJCTx4c2Q6c2ltcGxlVHlwZT4KKyAgCSAgCQkJPHhzZDpyZXN0cmljdGlvbiBiYXNlPSJ4c2Q6SUQiPgorICAJICAJICAJCQk8eHNkOmVudW1lcmF0aW9uIHZhbHVlPSJFTVAwMDk5Ii8+ICAJICAJICAKKyAgCSAgCQkJPC94c2Q6cmVzdHJpY3Rpb24+CisgIAkJCTwveHNkOnNpbXBsZVR5cGU+CQkKKyAgCQk8L3hzZDp1bmlvbj4KKyAgPC94c2Q6c2ltcGxlVHlwZT4KKyAgCisgIDx4c2Q6c2ltcGxlVHlwZSBuYW1lPSJlbVR5cGUiPgorICAJICAgIDx4c2Q6cmVzdHJpY3Rpb24gYmFzZT0idW5ib3VuZGVkRW1UeXBlIj4KKyAgCSAgICAJPHhzZDpwYXR0ZXJuIHZhbHVlPSJFTVBbMC05XSoiLz4KKyAgCSAgICA8L3hzZDpyZXN0cmljdGlvbj4KKyAgPC94c2Q6c2ltcGxlVHlwZT4KKyAgCisgIAorCis8L3hzZDpzY2hlbWE+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy92ZHYtY29tcGxleFR5cGVzLnhzZCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL3Zkdi1jb21wbGV4VHlwZXMueHNkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNkNDBmYjgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy92ZHYtY29tcGxleFR5cGVzLnhzZApAQCAtMCwwICsxLDM3IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Pg0KKzwhLS0gJEhlYWRlcjogL2hvbWUvY3Zzcm9vdC93M2MteG1sLXNjaGVtYS91c2VyL2V4YW1wbGVzL2NvbXBsZXhUeXBlcy54c2QsdiAxLjEgMjAwMS8xMS8yNiAxMzoyNzowNyB2ZHYgRXhwICQgLS0+DQorPHhzOnNjaGVtYSB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiPg0KKw0KKw0KKwk8eHM6Y29tcGxleFR5cGUgbmFtZT0iZWxlbWVudFdpdGhJRCI+DQorCQkJCQk8eHM6YXR0cmlidXRlIHJlZj0iaWQiLz4NCisJPC94czpjb21wbGV4VHlwZT4NCisJCQkJCTx4czpjb21wbGV4VHlwZSBuYW1lPSJib29rVG1wIj4NCisJCQkJCQkJCQk8eHM6Y29tcGxleENvbnRlbnQ+DQorCQkJCQkJCQkJCQkJCTx4czpleHRlbnNpb24gYmFzZT0iZWxlbWVudFdpdGhJRCI+DQorCQkJPHhzOnNlcXVlbmNlPg0KKwkJCQk8eHM6ZWxlbWVudCByZWY9ImlzYm4iLz4NCisJCQkJPHhzOmVsZW1lbnQgcmVmPSJ0aXRsZSIvPg0KKwkJCQk8eHM6ZWxlbWVudCByZWY9ImF1dGhvciIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIvPg0KKwkJCQk8eHM6ZWxlbWVudCByZWY9ImNoYXJhY3RlciIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIvPg0KKwkJCTwveHM6c2VxdWVuY2U+DQorCQkJPHhzOmF0dHJpYnV0ZSByZWY9ImF2YWlsYWJsZSIvPg0KKwkJCQkJCQkJCQkJCQk8L3hzOmV4dGVuc2lvbj4NCisJCQkJCQkJCQk8L3hzOmNvbXBsZXhDb250ZW50Pg0KKwkJPC94czpjb21wbGV4VHlwZT4NCisJDQorCTx4czpjb21wbGV4VHlwZSBuYW1lPSJwZXJzb25UeXBlIj4NCisJCQkJCTx4czpjb21wbGV4Q29udGVudD4NCisJCQkJCQkJCQk8eHM6ZXh0ZW5zaW9uIGJhc2U9ImVsZW1lbnRXaXRoSUQiPg0KKwkJCTx4czpzZXF1ZW5jZT4NCisJCQkJPHhzOmVsZW1lbnQgcmVmPSJuYW1lIi8+DQorCQkJCTx4czplbGVtZW50IHJlZj0iYm9ybiIvPg0KKwkJCQk8eHM6ZWxlbWVudCByZWY9ImRlYWQiIG1pbk9jY3Vycz0iMCIvPg0KKwkJCQk8eHM6ZWxlbWVudCByZWY9InF1YWxpZmljYXRpb24iICBtaW5PY2N1cnM9IjAiLz4NCisJCQk8L3hzOnNlcXVlbmNlPg0KKwkJCQkJCQkJCTwveHM6ZXh0ZW5zaW9uPg0KKwkJCQkJPC94czpjb21wbGV4Q29udGVudD4NCisJCTwveHM6Y29tcGxleFR5cGU+DQorCQkNCisJDQorPC94czpzY2hlbWE+DQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvdmR2LWZpcnN0MF8wLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL3Zkdi1maXJzdDBfMC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTEyYmNhZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL3Zkdi1maXJzdDBfMC54bWwKQEAgLTAsMCArMSwzMyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCis8IS0tICRIZWFkZXI6IC9ob21lL2N2c3Jvb3QvdzNjLXhtbC1zY2hlbWEvdXNlci9leGFtcGxlcy9maXJzdC54bWwsdiAxLjIgMjAwMS8xMS8wMSAyMjowMzowNiB2ZHYgRXhwICQgLS0+DQorPGxpYnJhcnk+DQorCTxib29rIGlkPSJiMDgzNjIxNzQ2MiIgYXZhaWxhYmxlPSJ0cnVlIj4NCisJCTxpc2JuPjA4MzYyMTc0NjI8L2lzYm4+DQorCQk8dGl0bGUgbGFuZz0iZW4iPkJlaW5nIGEgRG9nIElzIGEgRnVsbC1UaW1lIEpvYjwvdGl0bGU+DQorCQk8YXV0aG9yIGlkPSJDTVMiPg0KKwkJCTxuYW1lPkNoYXJsZXMgTSBTY2h1bHo8L25hbWU+DQorCQkJPGJvcm4+MTkyMi0xMS0yNjwvYm9ybj4NCisJCQk8ZGVhZD4yMDAwLTAyLTEyPC9kZWFkPg0KKwkJPC9hdXRob3I+DQorCQk8Y2hhcmFjdGVyIGlkPSJQUCI+DQorCQkJPG5hbWU+UGVwcGVybWludCBQYXR0eTwvbmFtZT4NCisJCQk8Ym9ybj4xOTY2LTA4LTIyPC9ib3JuPg0KKwkJCTxxdWFsaWZpY2F0aW9uPmJvbGQsIGJyYXNoIGFuZCB0b21ib3lpc2g8L3F1YWxpZmljYXRpb24+DQorCQk8L2NoYXJhY3Rlcj4NCisJCTxjaGFyYWN0ZXIgaWQ9IlNub29weSI+DQorCQkJPG5hbWU+U25vb3B5PC9uYW1lPg0KKwkJCTxib3JuPjE5NTAtMTAtMDQ8L2Jvcm4+DQorCQkJPHF1YWxpZmljYXRpb24+ZXh0cm92ZXJ0ZWQgYmVhZ2xlPC9xdWFsaWZpY2F0aW9uPg0KKwkJPC9jaGFyYWN0ZXI+DQorCQk8Y2hhcmFjdGVyIGlkPSJTY2hyb2VkZXIiPg0KKwkJCTxuYW1lPlNjaHJvZWRlcjwvbmFtZT4NCisJCQk8Ym9ybj4xOTUxLTA1LTMwPC9ib3JuPg0KKwkJCTxxdWFsaWZpY2F0aW9uPmJyb3VnaHQgY2xhc3NpY2FsIG11c2ljIHRvIHRoZSBQZWFudXRzIHN0cmlwPC9xdWFsaWZpY2F0aW9uPg0KKwkJPC9jaGFyYWN0ZXI+DQorCQk8Y2hhcmFjdGVyIGlkPSJMdWN5Ij4NCisJCQk8bmFtZT5MdWN5PC9uYW1lPg0KKwkJCTxib3JuPjE5NTItMDMtMDM8L2Jvcm4+DQorCQkJPHF1YWxpZmljYXRpb24+Ym9zc3ksIGNyYWJieSBhbmQgc2VsZmlzaDwvcXVhbGlmaWNhdGlvbj4NCisJCTwvY2hhcmFjdGVyPg0KKwk8L2Jvb2s+DQorPC9saWJyYXJ5Pg0KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL3Zkdi1maXJzdDBfMC54c2QgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy92ZHYtZmlyc3QwXzAueHNkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU1OGJlZDIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy92ZHYtZmlyc3QwXzAueHNkCkBAIC0wLDAgKzEsNjcgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+DQorPHhzOnNjaGVtYSB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiPg0KKw0KKwk8eHM6ZWxlbWVudCBuYW1lPSJuYW1lIiB0eXBlPSJ4czpzdHJpbmciLz4NCisJPHhzOmVsZW1lbnQgbmFtZT0icXVhbGlmaWNhdGlvbiIgdHlwZT0ieHM6c3RyaW5nIi8+DQorCTx4czplbGVtZW50IG5hbWU9ImJvcm4iIHR5cGU9InhzOmRhdGUiLz4NCisJPHhzOmVsZW1lbnQgbmFtZT0iZGVhZCIgdHlwZT0ieHM6ZGF0ZSIvPg0KKwk8eHM6ZWxlbWVudCBuYW1lPSJpc2JuIiB0eXBlPSJ4czppbnRlZ2VyIi8+DQorCQ0KKwk8eHM6YXR0cmlidXRlIG5hbWU9ImlkIiB0eXBlPSJ4czpJRCIvPg0KKwk8eHM6YXR0cmlidXRlIG5hbWU9ImF2YWlsYWJsZSIgdHlwZT0ieHM6Ym9vbGVhbiIvPg0KKwk8eHM6YXR0cmlidXRlIG5hbWU9ImxhbmciIHR5cGU9InhzOmxhbmd1YWdlIi8+DQorCQ0KKwk8eHM6ZWxlbWVudCBuYW1lPSJ0aXRsZSI+DQorCQk8eHM6Y29tcGxleFR5cGU+DQorCQkJPHhzOnNpbXBsZUNvbnRlbnQ+DQorCQkJCTx4czpleHRlbnNpb24gYmFzZT0ieHM6c3RyaW5nIj4NCisJCQkJCTx4czphdHRyaWJ1dGUgcmVmPSJsYW5nIi8+DQorCQkJCTwveHM6ZXh0ZW5zaW9uPg0KKwkJCTwveHM6c2ltcGxlQ29udGVudD4NCisJCTwveHM6Y29tcGxleFR5cGU+DQorCTwveHM6ZWxlbWVudD4NCisJDQorCTx4czplbGVtZW50IG5hbWU9ImxpYnJhcnkiPg0KKwkJPHhzOmNvbXBsZXhUeXBlPg0KKwkJCTx4czpzZXF1ZW5jZT4NCisJCQkJPHhzOmVsZW1lbnQgcmVmPSJib29rIiBtYXhPY2N1cnM9InVuYm91bmRlZCIvPg0KKwkJCTwveHM6c2VxdWVuY2U+DQorCQk8L3hzOmNvbXBsZXhUeXBlPg0KKwk8L3hzOmVsZW1lbnQ+DQorCQ0KKwk8eHM6ZWxlbWVudCBuYW1lPSJhdXRob3IiPg0KKwkJPHhzOmNvbXBsZXhUeXBlPg0KKwkJCTx4czpzZXF1ZW5jZT4NCisJCQkJPHhzOmVsZW1lbnQgcmVmPSJuYW1lIi8+DQorCQkJCTx4czplbGVtZW50IHJlZj0iYm9ybiIvPg0KKwkJCQk8eHM6ZWxlbWVudCByZWY9ImRlYWQiIG1pbk9jY3Vycz0iMCIvPg0KKwkJCTwveHM6c2VxdWVuY2U+DQorCQkJPHhzOmF0dHJpYnV0ZSByZWY9ImlkIi8+DQorCQk8L3hzOmNvbXBsZXhUeXBlPg0KKwk8L3hzOmVsZW1lbnQ+DQorCQ0KKwk8eHM6ZWxlbWVudCBuYW1lPSJib29rIj4NCisJCTx4czpjb21wbGV4VHlwZT4NCisJCQk8eHM6c2VxdWVuY2U+DQorCQkJCTx4czplbGVtZW50IHJlZj0iaXNibiIvPg0KKwkJCQk8eHM6ZWxlbWVudCByZWY9InRpdGxlIi8+DQorCQkJCTx4czplbGVtZW50IHJlZj0iYXV0aG9yIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIi8+DQorCQkJCTx4czplbGVtZW50IHJlZj0iY2hhcmFjdGVyIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIi8+DQorCQkJPC94czpzZXF1ZW5jZT4NCisJCQk8eHM6YXR0cmlidXRlIHJlZj0iaWQiLz4NCisJCQk8eHM6YXR0cmlidXRlIHJlZj0iYXZhaWxhYmxlIi8+DQorCQk8L3hzOmNvbXBsZXhUeXBlPg0KKwk8L3hzOmVsZW1lbnQ+DQorCQ0KKwk8eHM6ZWxlbWVudCBuYW1lPSJjaGFyYWN0ZXIiPg0KKwkJPHhzOmNvbXBsZXhUeXBlPg0KKwkJCTx4czpzZXF1ZW5jZT4NCisJCQkJPHhzOmVsZW1lbnQgcmVmPSJuYW1lIi8+DQorCQkJCTx4czplbGVtZW50IHJlZj0iYm9ybiIvPg0KKwkJCQk8eHM6ZWxlbWVudCByZWY9InF1YWxpZmljYXRpb24iLz4NCisJCQk8L3hzOnNlcXVlbmNlPg0KKwkJCTx4czphdHRyaWJ1dGUgcmVmPSJpZCIvPg0KKwkJPC94czpjb21wbGV4VHlwZT4NCisJPC94czplbGVtZW50Pg0KKwkNCis8L3hzOnNjaGVtYT4NCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy92ZHYtZmlyc3QxXzAueG1sIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvdmR2LWZpcnN0MV8wLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMTJiY2FkCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvdmR2LWZpcnN0MV8wLnhtbApAQCAtMCwwICsxLDMzIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Pg0KKzwhLS0gJEhlYWRlcjogL2hvbWUvY3Zzcm9vdC93M2MteG1sLXNjaGVtYS91c2VyL2V4YW1wbGVzL2ZpcnN0LnhtbCx2IDEuMiAyMDAxLzExLzAxIDIyOjAzOjA2IHZkdiBFeHAgJCAtLT4NCis8bGlicmFyeT4NCisJPGJvb2sgaWQ9ImIwODM2MjE3NDYyIiBhdmFpbGFibGU9InRydWUiPg0KKwkJPGlzYm4+MDgzNjIxNzQ2MjwvaXNibj4NCisJCTx0aXRsZSBsYW5nPSJlbiI+QmVpbmcgYSBEb2cgSXMgYSBGdWxsLVRpbWUgSm9iPC90aXRsZT4NCisJCTxhdXRob3IgaWQ9IkNNUyI+DQorCQkJPG5hbWU+Q2hhcmxlcyBNIFNjaHVsejwvbmFtZT4NCisJCQk8Ym9ybj4xOTIyLTExLTI2PC9ib3JuPg0KKwkJCTxkZWFkPjIwMDAtMDItMTI8L2RlYWQ+DQorCQk8L2F1dGhvcj4NCisJCTxjaGFyYWN0ZXIgaWQ9IlBQIj4NCisJCQk8bmFtZT5QZXBwZXJtaW50IFBhdHR5PC9uYW1lPg0KKwkJCTxib3JuPjE5NjYtMDgtMjI8L2Jvcm4+DQorCQkJPHF1YWxpZmljYXRpb24+Ym9sZCwgYnJhc2ggYW5kIHRvbWJveWlzaDwvcXVhbGlmaWNhdGlvbj4NCisJCTwvY2hhcmFjdGVyPg0KKwkJPGNoYXJhY3RlciBpZD0iU25vb3B5Ij4NCisJCQk8bmFtZT5Tbm9vcHk8L25hbWU+DQorCQkJPGJvcm4+MTk1MC0xMC0wNDwvYm9ybj4NCisJCQk8cXVhbGlmaWNhdGlvbj5leHRyb3ZlcnRlZCBiZWFnbGU8L3F1YWxpZmljYXRpb24+DQorCQk8L2NoYXJhY3Rlcj4NCisJCTxjaGFyYWN0ZXIgaWQ9IlNjaHJvZWRlciI+DQorCQkJPG5hbWU+U2Nocm9lZGVyPC9uYW1lPg0KKwkJCTxib3JuPjE5NTEtMDUtMzA8L2Jvcm4+DQorCQkJPHF1YWxpZmljYXRpb24+YnJvdWdodCBjbGFzc2ljYWwgbXVzaWMgdG8gdGhlIFBlYW51dHMgc3RyaXA8L3F1YWxpZmljYXRpb24+DQorCQk8L2NoYXJhY3Rlcj4NCisJCTxjaGFyYWN0ZXIgaWQ9Ikx1Y3kiPg0KKwkJCTxuYW1lPkx1Y3k8L25hbWU+DQorCQkJPGJvcm4+MTk1Mi0wMy0wMzwvYm9ybj4NCisJCQk8cXVhbGlmaWNhdGlvbj5ib3NzeSwgY3JhYmJ5IGFuZCBzZWxmaXNoPC9xdWFsaWZpY2F0aW9uPg0KKwkJPC9jaGFyYWN0ZXI+DQorCTwvYm9vaz4NCis8L2xpYnJhcnk+DQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvdmR2LWZpcnN0MV8wLnhzZCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL3Zkdi1maXJzdDFfMC54c2QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzBkNmYyNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL3Zkdi1maXJzdDFfMC54c2QKQEAgLTAsMCArMSw0NyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCis8eHM6c2NoZW1hIHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+DQorIDx4czplbGVtZW50IG5hbWU9ImxpYnJhcnkiPg0KKyAgPHhzOmNvbXBsZXhUeXBlPg0KKyAgIDx4czpzZXF1ZW5jZT4NCisgICAgPHhzOmVsZW1lbnQgbmFtZT0iYm9vayIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiPg0KKyAgICAgPHhzOmNvbXBsZXhUeXBlPg0KKyAgICAgIDx4czpzZXF1ZW5jZT4NCisgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iaXNibiIgdHlwZT0ieHM6aW50ZWdlciIvPg0KKyAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJ0aXRsZSI+DQorICAgICAgICA8eHM6Y29tcGxleFR5cGU+DQorICAgICAgICAgPHhzOnNpbXBsZUNvbnRlbnQ+DQorICAgICAgICAgIDx4czpleHRlbnNpb24gYmFzZT0ieHM6c3RyaW5nIj4NCisgICAgICAgICAgIDx4czphdHRyaWJ1dGUgbmFtZT0ibGFuZyIgdHlwZT0ieHM6bGFuZ3VhZ2UiLz4NCisgICAgICAgICAgPC94czpleHRlbnNpb24+DQorICAgICAgICAgPC94czpzaW1wbGVDb250ZW50Pg0KKyAgICAgICAgPC94czpjb21wbGV4VHlwZT4NCisgICAgICAgPC94czplbGVtZW50Pg0KKyAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJhdXRob3IiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiPg0KKyAgICAgICAgPHhzOmNvbXBsZXhUeXBlPg0KKyAgICAgICAgIDx4czpzZXF1ZW5jZT4NCisgICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0ibmFtZSIgdHlwZT0ieHM6c3RyaW5nIi8+DQorICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9ImJvcm4iIHR5cGU9InhzOmRhdGUiLz4NCisgICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iZGVhZCIgdHlwZT0ieHM6ZGF0ZSIvPg0KKyAgICAgICAgIDwveHM6c2VxdWVuY2U+DQorICAgICAgICAgPHhzOmF0dHJpYnV0ZSBuYW1lPSJpZCIgdHlwZT0ieHM6SUQiLz4NCisgICAgICAgIDwveHM6Y29tcGxleFR5cGU+DQorICAgICAgIDwveHM6ZWxlbWVudD4NCisgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iY2hhcmFjdGVyIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIj4NCisgICAgICAgIDx4czpjb21wbGV4VHlwZT4NCisgICAgICAgICA8eHM6c2VxdWVuY2U+DQorICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Im5hbWUiIHR5cGU9InhzOnN0cmluZyIvPg0KKyAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJib3JuIiB0eXBlPSJ4czpkYXRlIi8+DQorICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9InF1YWxpZmljYXRpb24iIHR5cGU9InhzOnN0cmluZyIvPg0KKyAgICAgICAgIDwveHM6c2VxdWVuY2U+DQorICAgICAgICAgPHhzOmF0dHJpYnV0ZSBuYW1lPSJpZCIgdHlwZT0ieHM6SUQiLz4NCisgICAgICAgIDwveHM6Y29tcGxleFR5cGU+DQorICAgICAgIDwveHM6ZWxlbWVudD4NCisgICAgICA8L3hzOnNlcXVlbmNlPg0KKyAgICAgIDx4czphdHRyaWJ1dGUgbmFtZT0iaWQiIHR5cGU9InhzOklEIi8+DQorICAgICAgPHhzOmF0dHJpYnV0ZSBuYW1lPSJhdmFpbGFibGUiIHR5cGU9InhzOmJvb2xlYW4iLz4NCisgICAgIDwveHM6Y29tcGxleFR5cGU+DQorICAgIDwveHM6ZWxlbWVudD4NCisgICA8L3hzOnNlcXVlbmNlPg0KKyAgPC94czpjb21wbGV4VHlwZT4NCisgPC94czplbGVtZW50Pg0KKzwveHM6c2NoZW1hPg0KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL3Zkdi1maXJzdDJfMC54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy92ZHYtZmlyc3QyXzAueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmExMmJjYWQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy92ZHYtZmlyc3QyXzAueG1sCkBAIC0wLDAgKzEsMzMgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+DQorPCEtLSAkSGVhZGVyOiAvaG9tZS9jdnNyb290L3czYy14bWwtc2NoZW1hL3VzZXIvZXhhbXBsZXMvZmlyc3QueG1sLHYgMS4yIDIwMDEvMTEvMDEgMjI6MDM6MDYgdmR2IEV4cCAkIC0tPg0KKzxsaWJyYXJ5Pg0KKwk8Ym9vayBpZD0iYjA4MzYyMTc0NjIiIGF2YWlsYWJsZT0idHJ1ZSI+DQorCQk8aXNibj4wODM2MjE3NDYyPC9pc2JuPg0KKwkJPHRpdGxlIGxhbmc9ImVuIj5CZWluZyBhIERvZyBJcyBhIEZ1bGwtVGltZSBKb2I8L3RpdGxlPg0KKwkJPGF1dGhvciBpZD0iQ01TIj4NCisJCQk8bmFtZT5DaGFybGVzIE0gU2NodWx6PC9uYW1lPg0KKwkJCTxib3JuPjE5MjItMTEtMjY8L2Jvcm4+DQorCQkJPGRlYWQ+MjAwMC0wMi0xMjwvZGVhZD4NCisJCTwvYXV0aG9yPg0KKwkJPGNoYXJhY3RlciBpZD0iUFAiPg0KKwkJCTxuYW1lPlBlcHBlcm1pbnQgUGF0dHk8L25hbWU+DQorCQkJPGJvcm4+MTk2Ni0wOC0yMjwvYm9ybj4NCisJCQk8cXVhbGlmaWNhdGlvbj5ib2xkLCBicmFzaCBhbmQgdG9tYm95aXNoPC9xdWFsaWZpY2F0aW9uPg0KKwkJPC9jaGFyYWN0ZXI+DQorCQk8Y2hhcmFjdGVyIGlkPSJTbm9vcHkiPg0KKwkJCTxuYW1lPlNub29weTwvbmFtZT4NCisJCQk8Ym9ybj4xOTUwLTEwLTA0PC9ib3JuPg0KKwkJCTxxdWFsaWZpY2F0aW9uPmV4dHJvdmVydGVkIGJlYWdsZTwvcXVhbGlmaWNhdGlvbj4NCisJCTwvY2hhcmFjdGVyPg0KKwkJPGNoYXJhY3RlciBpZD0iU2Nocm9lZGVyIj4NCisJCQk8bmFtZT5TY2hyb2VkZXI8L25hbWU+DQorCQkJPGJvcm4+MTk1MS0wNS0zMDwvYm9ybj4NCisJCQk8cXVhbGlmaWNhdGlvbj5icm91Z2h0IGNsYXNzaWNhbCBtdXNpYyB0byB0aGUgUGVhbnV0cyBzdHJpcDwvcXVhbGlmaWNhdGlvbj4NCisJCTwvY2hhcmFjdGVyPg0KKwkJPGNoYXJhY3RlciBpZD0iTHVjeSI+DQorCQkJPG5hbWU+THVjeTwvbmFtZT4NCisJCQk8Ym9ybj4xOTUyLTAzLTAzPC9ib3JuPg0KKwkJCTxxdWFsaWZpY2F0aW9uPmJvc3N5LCBjcmFiYnkgYW5kIHNlbGZpc2g8L3F1YWxpZmljYXRpb24+DQorCQk8L2NoYXJhY3Rlcj4NCisJPC9ib29rPg0KKzwvbGlicmFyeT4NCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy92ZHYtZmlyc3QyXzAueHNkIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvdmR2LWZpcnN0Ml8wLnhzZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNzY4ZTk3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvdmR2LWZpcnN0Ml8wLnhzZApAQCAtMCwwICsxLDg5IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Pg0KKzwhLS0gJEhlYWRlcjogL2hvbWUvY3Zzcm9vdC93M2MteG1sLXNjaGVtYS91c2VyL2V4YW1wbGVzL2ZpcnN0LXVzZXItZHQueHNkLHYgMS4xIDIwMDEvMTEvMDEgMTI6Mjc6NDcgdmR2IEV4cCAkIC0tPg0KKzx4czpzY2hlbWEgeG1sbnM6eHM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIj4NCisNCisJPHhzOnNpbXBsZVR5cGUgbmFtZT0ic3RyaW5nMjU1Ij4NCisJCTx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czp0b2tlbiI+DQorCQkJPHhzOm1heExlbmd0aCB2YWx1ZT0iMjU1Ii8+DQorCQk8L3hzOnJlc3RyaWN0aW9uPg0KKwk8L3hzOnNpbXBsZVR5cGU+DQorCTx4czpzaW1wbGVUeXBlIG5hbWU9InN0cmluZzMyIj4NCisJCTx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czp0b2tlbiI+DQorCQkJPHhzOm1heExlbmd0aCB2YWx1ZT0iMzIiLz4NCisJCTwveHM6cmVzdHJpY3Rpb24+DQorCTwveHM6c2ltcGxlVHlwZT4NCisJPHhzOnNpbXBsZVR5cGUgbmFtZT0iaXNibiI+DQorCQk8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6dW5zaWduZWRMb25nIj4NCisJCQk8eHM6dG90YWxEaWdpdHMgdmFsdWU9IjEwIi8+DQorCQk8L3hzOnJlc3RyaWN0aW9uPg0KKwk8L3hzOnNpbXBsZVR5cGU+DQorCTx4czpzaW1wbGVUeXBlIG5hbWU9InN1cHBvcnRlZExhbmd1YWdlcyI+DQorCQk8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6bGFuZ3VhZ2UiPg0KKwkJCTx4czplbnVtZXJhdGlvbiB2YWx1ZT0iZW4iLz4NCisJCQk8eHM6ZW51bWVyYXRpb24gdmFsdWU9ImVzIi8+DQorCQk8L3hzOnJlc3RyaWN0aW9uPg0KKwk8L3hzOnNpbXBsZVR5cGU+DQorCTx4czplbGVtZW50IG5hbWU9Im5hbWUiIHR5cGU9InN0cmluZzMyIi8+DQorCTx4czplbGVtZW50IG5hbWU9InF1YWxpZmljYXRpb24iIHR5cGU9InN0cmluZzI1NSIvPg0KKwk8eHM6ZWxlbWVudCBuYW1lPSJib3JuIiB0eXBlPSJ4czpkYXRlIi8+DQorCTx4czplbGVtZW50IG5hbWU9ImRlYWQiIHR5cGU9InhzOmRhdGUiLz4NCisJPHhzOmVsZW1lbnQgbmFtZT0iaXNibiIgdHlwZT0iaXNibiIvPg0KKwkNCisJPHhzOmF0dHJpYnV0ZSBuYW1lPSJpZCIgdHlwZT0ieHM6SUQiLz4NCisJPHhzOmF0dHJpYnV0ZSBuYW1lPSJhdmFpbGFibGUiIHR5cGU9InhzOmJvb2xlYW4iLz4NCisJPHhzOmF0dHJpYnV0ZSBuYW1lPSJsYW5nIiB0eXBlPSJzdXBwb3J0ZWRMYW5ndWFnZXMiLz4NCisJDQorCTx4czplbGVtZW50IG5hbWU9InRpdGxlIj4NCisJCTx4czpjb21wbGV4VHlwZT4NCisJCQk8eHM6c2ltcGxlQ29udGVudD4NCisJCQkJPHhzOmV4dGVuc2lvbiBiYXNlPSJzdHJpbmcyNTUiPg0KKwkJCQkJPHhzOmF0dHJpYnV0ZSByZWY9ImxhbmciLz4NCisJCQkJPC94czpleHRlbnNpb24+DQorCQkJPC94czpzaW1wbGVDb250ZW50Pg0KKwkJPC94czpjb21wbGV4VHlwZT4NCisJPC94czplbGVtZW50Pg0KKwkNCisJPHhzOmVsZW1lbnQgbmFtZT0ibGlicmFyeSI+DQorCQk8eHM6Y29tcGxleFR5cGU+DQorCQkJPHhzOnNlcXVlbmNlPg0KKwkJCQk8eHM6ZWxlbWVudCByZWY9ImJvb2siIG1heE9jY3Vycz0idW5ib3VuZGVkIi8+DQorCQkJPC94czpzZXF1ZW5jZT4NCisJCTwveHM6Y29tcGxleFR5cGU+DQorCTwveHM6ZWxlbWVudD4NCisJDQorCTx4czplbGVtZW50IG5hbWU9ImF1dGhvciI+DQorCQk8eHM6Y29tcGxleFR5cGU+DQorCQkJPHhzOnNlcXVlbmNlPg0KKwkJCQk8eHM6ZWxlbWVudCByZWY9Im5hbWUiLz4NCisJCQkJPHhzOmVsZW1lbnQgcmVmPSJib3JuIi8+DQorCQkJCTx4czplbGVtZW50IHJlZj0iZGVhZCIgbWluT2NjdXJzPSIwIi8+DQorCQkJPC94czpzZXF1ZW5jZT4NCisJCQk8eHM6YXR0cmlidXRlIHJlZj0iaWQiLz4NCisJCTwveHM6Y29tcGxleFR5cGU+DQorCTwveHM6ZWxlbWVudD4NCisJDQorCTx4czplbGVtZW50IG5hbWU9ImJvb2siPg0KKwkJPHhzOmNvbXBsZXhUeXBlPg0KKwkJCTx4czpzZXF1ZW5jZT4NCisJCQkJPHhzOmVsZW1lbnQgcmVmPSJpc2JuIi8+DQorCQkJCTx4czplbGVtZW50IHJlZj0idGl0bGUiLz4NCisJCQkJPHhzOmVsZW1lbnQgcmVmPSJhdXRob3IiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiLz4NCisJCQkJPHhzOmVsZW1lbnQgcmVmPSJjaGFyYWN0ZXIiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiLz4NCisJCQk8L3hzOnNlcXVlbmNlPg0KKwkJCTx4czphdHRyaWJ1dGUgcmVmPSJpZCIvPg0KKwkJCTx4czphdHRyaWJ1dGUgcmVmPSJhdmFpbGFibGUiLz4NCisJCTwveHM6Y29tcGxleFR5cGU+DQorCTwveHM6ZWxlbWVudD4NCisJDQorCTx4czplbGVtZW50IG5hbWU9ImNoYXJhY3RlciI+DQorCQk8eHM6Y29tcGxleFR5cGU+DQorCQkJPHhzOnNlcXVlbmNlPg0KKwkJCQk8eHM6ZWxlbWVudCByZWY9Im5hbWUiLz4NCisJCQkJPHhzOmVsZW1lbnQgcmVmPSJib3JuIi8+DQorCQkJCTx4czplbGVtZW50IHJlZj0icXVhbGlmaWNhdGlvbiIvPg0KKwkJCTwveHM6c2VxdWVuY2U+DQorCQkJPHhzOmF0dHJpYnV0ZSByZWY9ImlkIi8+DQorCQk8L3hzOmNvbXBsZXhUeXBlPg0KKwk8L3hzOmVsZW1lbnQ+DQorCQ0KKzwveHM6c2NoZW1hPg0KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL3Zkdi1maXJzdDNfMC54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy92ZHYtZmlyc3QzXzAueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmExMmJjYWQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy92ZHYtZmlyc3QzXzAueG1sCkBAIC0wLDAgKzEsMzMgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+DQorPCEtLSAkSGVhZGVyOiAvaG9tZS9jdnNyb290L3czYy14bWwtc2NoZW1hL3VzZXIvZXhhbXBsZXMvZmlyc3QueG1sLHYgMS4yIDIwMDEvMTEvMDEgMjI6MDM6MDYgdmR2IEV4cCAkIC0tPg0KKzxsaWJyYXJ5Pg0KKwk8Ym9vayBpZD0iYjA4MzYyMTc0NjIiIGF2YWlsYWJsZT0idHJ1ZSI+DQorCQk8aXNibj4wODM2MjE3NDYyPC9pc2JuPg0KKwkJPHRpdGxlIGxhbmc9ImVuIj5CZWluZyBhIERvZyBJcyBhIEZ1bGwtVGltZSBKb2I8L3RpdGxlPg0KKwkJPGF1dGhvciBpZD0iQ01TIj4NCisJCQk8bmFtZT5DaGFybGVzIE0gU2NodWx6PC9uYW1lPg0KKwkJCTxib3JuPjE5MjItMTEtMjY8L2Jvcm4+DQorCQkJPGRlYWQ+MjAwMC0wMi0xMjwvZGVhZD4NCisJCTwvYXV0aG9yPg0KKwkJPGNoYXJhY3RlciBpZD0iUFAiPg0KKwkJCTxuYW1lPlBlcHBlcm1pbnQgUGF0dHk8L25hbWU+DQorCQkJPGJvcm4+MTk2Ni0wOC0yMjwvYm9ybj4NCisJCQk8cXVhbGlmaWNhdGlvbj5ib2xkLCBicmFzaCBhbmQgdG9tYm95aXNoPC9xdWFsaWZpY2F0aW9uPg0KKwkJPC9jaGFyYWN0ZXI+DQorCQk8Y2hhcmFjdGVyIGlkPSJTbm9vcHkiPg0KKwkJCTxuYW1lPlNub29weTwvbmFtZT4NCisJCQk8Ym9ybj4xOTUwLTEwLTA0PC9ib3JuPg0KKwkJCTxxdWFsaWZpY2F0aW9uPmV4dHJvdmVydGVkIGJlYWdsZTwvcXVhbGlmaWNhdGlvbj4NCisJCTwvY2hhcmFjdGVyPg0KKwkJPGNoYXJhY3RlciBpZD0iU2Nocm9lZGVyIj4NCisJCQk8bmFtZT5TY2hyb2VkZXI8L25hbWU+DQorCQkJPGJvcm4+MTk1MS0wNS0zMDwvYm9ybj4NCisJCQk8cXVhbGlmaWNhdGlvbj5icm91Z2h0IGNsYXNzaWNhbCBtdXNpYyB0byB0aGUgUGVhbnV0cyBzdHJpcDwvcXVhbGlmaWNhdGlvbj4NCisJCTwvY2hhcmFjdGVyPg0KKwkJPGNoYXJhY3RlciBpZD0iTHVjeSI+DQorCQkJPG5hbWU+THVjeTwvbmFtZT4NCisJCQk8Ym9ybj4xOTUyLTAzLTAzPC9ib3JuPg0KKwkJCTxxdWFsaWZpY2F0aW9uPmJvc3N5LCBjcmFiYnkgYW5kIHNlbGZpc2g8L3F1YWxpZmljYXRpb24+DQorCQk8L2NoYXJhY3Rlcj4NCisJPC9ib29rPg0KKzwvbGlicmFyeT4NCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy92ZHYtZmlyc3QzXzAueHNkIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvdmR2LWZpcnN0M18wLnhzZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xOGIxNDU5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvdmR2LWZpcnN0M18wLnhzZApAQCAtMCwwICsxLDY4IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Pg0KKzwhLS0gJEhlYWRlcjogL2hvbWUvY3Zzcm9vdC93M2MteG1sLXNjaGVtYS91c2VyL2V4YW1wbGVzL2ZpcnN0LXRva2VuLnhzZCx2IDEuMiAyMDAxLzExLzAxIDEyOjI3OjQ3IHZkdiBFeHAgJCAtLT4NCis8eHM6c2NoZW1hIHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+DQorDQorCTx4czplbGVtZW50IG5hbWU9Im5hbWUiIHR5cGU9InhzOnRva2VuIi8+DQorCTx4czplbGVtZW50IG5hbWU9InF1YWxpZmljYXRpb24iIHR5cGU9InhzOnRva2VuIi8+DQorCTx4czplbGVtZW50IG5hbWU9ImJvcm4iIHR5cGU9InhzOmRhdGUiLz4NCisJPHhzOmVsZW1lbnQgbmFtZT0iZGVhZCIgdHlwZT0ieHM6ZGF0ZSIvPg0KKwk8eHM6ZWxlbWVudCBuYW1lPSJpc2JuIiB0eXBlPSJ4czp1bnNpZ25lZExvbmciLz4NCisJDQorCTx4czphdHRyaWJ1dGUgbmFtZT0iaWQiIHR5cGU9InhzOklEIi8+DQorCTx4czphdHRyaWJ1dGUgbmFtZT0iYXZhaWxhYmxlIiB0eXBlPSJ4czpib29sZWFuIi8+DQorCTx4czphdHRyaWJ1dGUgbmFtZT0ibGFuZyIgdHlwZT0ieHM6bGFuZ3VhZ2UiLz4NCisJDQorCTx4czplbGVtZW50IG5hbWU9InRpdGxlIj4NCisJCTx4czpjb21wbGV4VHlwZT4NCisJCQk8eHM6c2ltcGxlQ29udGVudD4NCisJCQkJPHhzOmV4dGVuc2lvbiBiYXNlPSJ4czp0b2tlbiI+DQorCQkJCQk8eHM6YXR0cmlidXRlIHJlZj0ibGFuZyIvPg0KKwkJCQk8L3hzOmV4dGVuc2lvbj4NCisJCQk8L3hzOnNpbXBsZUNvbnRlbnQ+DQorCQk8L3hzOmNvbXBsZXhUeXBlPg0KKwk8L3hzOmVsZW1lbnQ+DQorCQ0KKwk8eHM6ZWxlbWVudCBuYW1lPSJsaWJyYXJ5Ij4NCisJCTx4czpjb21wbGV4VHlwZT4NCisJCQk8eHM6c2VxdWVuY2U+DQorCQkJCTx4czplbGVtZW50IHJlZj0iYm9vayIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiLz4NCisJCQk8L3hzOnNlcXVlbmNlPg0KKwkJPC94czpjb21wbGV4VHlwZT4NCisJPC94czplbGVtZW50Pg0KKwkNCisJPHhzOmVsZW1lbnQgbmFtZT0iYXV0aG9yIj4NCisJCTx4czpjb21wbGV4VHlwZT4NCisJCQk8eHM6c2VxdWVuY2U+DQorCQkJCTx4czplbGVtZW50IHJlZj0ibmFtZSIvPg0KKwkJCQk8eHM6ZWxlbWVudCByZWY9ImJvcm4iLz4NCisJCQkJPHhzOmVsZW1lbnQgcmVmPSJkZWFkIiBtaW5PY2N1cnM9IjAiLz4NCisJCQk8L3hzOnNlcXVlbmNlPg0KKwkJCTx4czphdHRyaWJ1dGUgcmVmPSJpZCIvPg0KKwkJPC94czpjb21wbGV4VHlwZT4NCisJPC94czplbGVtZW50Pg0KKwkNCisJPHhzOmVsZW1lbnQgbmFtZT0iYm9vayI+DQorCQk8eHM6Y29tcGxleFR5cGU+DQorCQkJPHhzOnNlcXVlbmNlPg0KKwkJCQk8eHM6ZWxlbWVudCByZWY9ImlzYm4iLz4NCisJCQkJPHhzOmVsZW1lbnQgcmVmPSJ0aXRsZSIvPg0KKwkJCQk8eHM6ZWxlbWVudCByZWY9ImF1dGhvciIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIvPg0KKwkJCQk8eHM6ZWxlbWVudCByZWY9ImNoYXJhY3RlciIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIvPg0KKwkJCTwveHM6c2VxdWVuY2U+DQorCQkJPHhzOmF0dHJpYnV0ZSByZWY9ImlkIi8+DQorCQkJPHhzOmF0dHJpYnV0ZSByZWY9ImF2YWlsYWJsZSIvPg0KKwkJPC94czpjb21wbGV4VHlwZT4NCisJPC94czplbGVtZW50Pg0KKwkNCisJPHhzOmVsZW1lbnQgbmFtZT0iY2hhcmFjdGVyIj4NCisJCTx4czpjb21wbGV4VHlwZT4NCisJCQk8eHM6c2VxdWVuY2U+DQorCQkJCTx4czplbGVtZW50IHJlZj0ibmFtZSIvPg0KKwkJCQk8eHM6ZWxlbWVudCByZWY9ImJvcm4iLz4NCisJCQkJPHhzOmVsZW1lbnQgcmVmPSJxdWFsaWZpY2F0aW9uIi8+DQorCQkJPC94czpzZXF1ZW5jZT4NCisJCQk8eHM6YXR0cmlidXRlIHJlZj0iaWQiLz4NCisJCTwveHM6Y29tcGxleFR5cGU+DQorCTwveHM6ZWxlbWVudD4NCisJDQorPC94czpzY2hlbWE+DQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvdmR2LWZpcnN0NF8wLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL3Zkdi1maXJzdDRfMC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGIyZDdlMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL3Zkdi1maXJzdDRfMC54bWwKQEAgLTAsMCArMSwzMyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCis8IS0tICRIZWFkZXI6IC9jdnMvZ25vbWUvZ25vbWUteG1sL3Rlc3Qvc2NoZW1hcy92ZHYtZmlyc3QzXzAueG1sLHYgMS4xIDIwMDMvMTEvMjIgMjA6Mzc6NTEgdmVpbGxhcmQgRXhwICQgLS0+DQorPGxpYnJhcnk+DQorCTxib29rIGlkPSJiMDgzNjIxNzQ2MiIgYXZhaWxhYmxlPSJ0cnVlIj4NCisJCTxpc2JuPjA4MzYyMTc0NjI8L2lzYm4+DQorCQk8dGl0bGUgbGFuZz0iZW4iPkJlaW5nIGEgRG9nIElzIGEgRnVsbC1UaW1lIEpvYjwvdGl0bGU+DQorCQk8YXV0aG9yIGlkPSJDTVMiPg0KKwkJCTxuYW1lPkNoYXJsZXMgTSBTY2h1bHo8L25hbWU+DQorCQkJPGJvcm4+MTkyMi0xMS0yNjwvYm9ybj4NCisJCQk8ZGVhZD4yMDAwLTAyLTEyPC9kZWFkPg0KKwkJPC9hdXRob3I+DQorCQk8Y2hhcmFjdGVyIGlkPSJQUCI+DQorCQkJPG5hbWU+UGVwcGVybWludCBQYXR0eTwvbmFtZT4NCisJCQk8Ym9ybj4xOTY2LTA4LTIyPC9ib3JuPg0KKwkJCTxxdWFsaWZpY2F0aW9uPmJvbGQsIGJyYXNoIGFuZCB0b21ib3lpc2g8L3F1YWxpZmljYXRpb24+DQorCQk8L2NoYXJhY3Rlcj4NCisJCTxjaGFyYWN0ZXIgaWQ9IlNub29weSI+DQorCQkJPG5hbWU+U25vb3B5PC9uYW1lPg0KKwkJCTxib3JuPjE5NTAtMTAtMDQ8L2Jvcm4+DQorCQkJPHF1YWxpZmljYXRpb24+ZXh0cm92ZXJ0ZWQgYmVhZ2xlPC9xdWFsaWZpY2F0aW9uPg0KKwkJPC9jaGFyYWN0ZXI+DQorCQk8Y2hhcmFjdGVyIGlkPSJTY2hyb2VkZXIiPg0KKwkJCTxuYW1lPlNjaHJvZWRlcjwvbmFtZT4NCisJCQk8Ym9ybj4xOTUxLTA1LTMwPC9ib3JuPg0KKwkJCTxxdWFsaWZpY2F0aW9uPmJyb3VnaHQgY2xhc3NpY2FsIG11c2ljIHRvIHRoZSBQZWFudXRzIHN0cmlwPC9xdWFsaWZpY2F0aW9uPg0KKwkJPC9jaGFyYWN0ZXI+DQorCQk8Y2hhcmFjdGVyIGlkPSJMdWN5Ij4NCisJCQk8bmFtZT5MdWN5PC9uYW1lPg0KKwkJCTxib3JuPjE5NTItMDMtMDM8L2Jvcm4+DQorCQkJPHF1YWxpZmljYXRpb24+Ym9zc3ksIGNyYWJieSBhbmQgc2VsZmlzaDwvcXVhbGlmaWNhdGlvbj4NCisJCTwvY2hhcmFjdGVyPg0KKwk8L2Jvb2s+DQorPC9saWJyYXJ5Pg0KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL3Zkdi1maXJzdDRfMC54c2QgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy92ZHYtZmlyc3Q0XzAueHNkCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjllOGUyMzYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy92ZHYtZmlyc3Q0XzAueHNkCkBAIC0wLDAgKzEsMTUwIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Pg0KKzwhLS0gJEhlYWRlcjogL2hvbWUvY3Zzcm9vdC93M2MteG1sLXNjaGVtYS91c2VyL2V4YW1wbGVzL2ZpcnN0LWNvbXBsZXgtdHlwZXMueHNkLHYgMS4xIDIwMDEvMTEvMTIgMjA6NTQ6MDAgdmR2IEV4cCAkIC0tPg0KKzx4czpzY2hlbWEgeG1sbnM6eHM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIj4NCisNCisgIDx4czpzaW1wbGVUeXBlIG5hbWU9InN0cmluZzI1NSI+DQorICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czp0b2tlbiI+DQorICAgICAgPHhzOm1heExlbmd0aCB2YWx1ZT0iMjU1Ii8+DQorICAgIDwveHM6cmVzdHJpY3Rpb24+DQorICA8L3hzOnNpbXBsZVR5cGU+DQorDQorICA8eHM6c2ltcGxlVHlwZSBuYW1lPSJzdHJpbmczMiI+DQorICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czp0b2tlbiI+DQorICAgICAgPHhzOm1heExlbmd0aCB2YWx1ZT0iMzIiLz4NCisgICAgPC94czpyZXN0cmljdGlvbj4NCisgIDwveHM6c2ltcGxlVHlwZT4NCisNCisgIDx4czpzaW1wbGVUeXBlIG5hbWU9ImlzYm4iPg0KKyAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6dW5zaWduZWRMb25nIj4NCisgICAgICA8eHM6dG90YWxEaWdpdHMgdmFsdWU9IjEwIi8+DQorICAgICAgPHhzOnBhdHRlcm4gdmFsdWU9IlxkezEwfSIvPg0KKyAgICA8L3hzOnJlc3RyaWN0aW9uPg0KKyAgPC94czpzaW1wbGVUeXBlPg0KKw0KKyAgPHhzOnNpbXBsZVR5cGUgbmFtZT0iYm9va0lEIj4NCisgICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOklEIj4NCisgICAgICA8eHM6cGF0dGVybiB2YWx1ZT0iYlxkezEwfSIvPg0KKyAgICA8L3hzOnJlc3RyaWN0aW9uPg0KKyAgPC94czpzaW1wbGVUeXBlPg0KKw0KKyAgPHhzOnNpbXBsZVR5cGUgbmFtZT0ic3VwcG9ydGVkTGFuZ3VhZ2VzIj4NCisgICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOmxhbmd1YWdlIj4NCisgICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9ImVuIi8+DQorICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJlcyIvPg0KKyAgICA8L3hzOnJlc3RyaWN0aW9uPg0KKyAgPC94czpzaW1wbGVUeXBlPg0KKw0KKyAgPHhzOnNpbXBsZVR5cGUgbmFtZT0iZGF0ZSI+DQorICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpkYXRlIj4NCisgICAgICA8eHM6cGF0dGVybiB2YWx1ZT0iW146Wl0qIi8+DQorICAgIDwveHM6cmVzdHJpY3Rpb24+DQorICA8L3hzOnNpbXBsZVR5cGU+DQorDQorICA8eHM6ZWxlbWVudCBuYW1lPSJuYW1lIiB0eXBlPSJzdHJpbmczMiIvPg0KKyAgPHhzOmVsZW1lbnQgbmFtZT0icXVhbGlmaWNhdGlvbiIgdHlwZT0ic3RyaW5nMjU1Ii8+DQorICA8eHM6ZWxlbWVudCBuYW1lPSJib3JuIiB0eXBlPSJkYXRlIi8+DQorICA8eHM6ZWxlbWVudCBuYW1lPSJkZWFkIiB0eXBlPSJkYXRlIi8+DQorICA8eHM6ZWxlbWVudCBuYW1lPSJpc2JuIiB0eXBlPSJpc2JuIi8+DQorICANCisgIDx4czphdHRyaWJ1dGUgbmFtZT0iaWQiIHR5cGU9InhzOklEIi8+DQorICA8eHM6YXR0cmlidXRlIG5hbWU9ImF2YWlsYWJsZSIgdHlwZT0ieHM6Ym9vbGVhbiIvPg0KKyAgPHhzOmF0dHJpYnV0ZSBuYW1lPSJsYW5nIiB0eXBlPSJzdXBwb3J0ZWRMYW5ndWFnZXMiLz4NCisNCisgIDx4czpjb21wbGV4VHlwZSBuYW1lPSJlbGVtZW50V2l0aElEIj4NCisgICAgPHhzOmF0dHJpYnV0ZSByZWY9ImlkIi8+DQorICA8L3hzOmNvbXBsZXhUeXBlPg0KKw0KKyAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9ImJvb2tUbXAiPg0KKyAgICA8eHM6Y29tcGxleENvbnRlbnQ+DQorICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJlbGVtZW50V2l0aElEIj4NCisgICAgICAgIDx4czpzZXF1ZW5jZT4NCisgICAgICAgICAgPHhzOmVsZW1lbnQgcmVmPSJpc2JuIi8+DQorICAgICAgICAgIDx4czplbGVtZW50IHJlZj0idGl0bGUiLz4NCisgICAgICAgICAgPHhzOmVsZW1lbnQgcmVmPSJhdXRob3IiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiLz4NCisgICAgICAgICAgPHhzOmVsZW1lbnQgcmVmPSJjaGFyYWN0ZXIiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiLz4NCisgICAgICAgIDwveHM6c2VxdWVuY2U+DQorICAgICAgICA8eHM6YXR0cmlidXRlIHJlZj0iYXZhaWxhYmxlIi8+DQorICAgICAgPC94czpleHRlbnNpb24+DQorICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQorICA8L3hzOmNvbXBsZXhUeXBlPg0KKyAgDQorICA8eHM6Y29tcGxleFR5cGUgbmFtZT0icGVyc29uVHlwZSI+DQorICAgIDx4czpjb21wbGV4Q29udGVudD4NCisgICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9ImVsZW1lbnRXaXRoSUQiPg0KKyAgICAgICAgPHhzOnNlcXVlbmNlPg0KKyAgICAgICAgICA8eHM6ZWxlbWVudCByZWY9Im5hbWUiLz4NCisgICAgICAgICAgPHhzOmVsZW1lbnQgcmVmPSJib3JuIi8+DQorICAgICAgICAgIDx4czplbGVtZW50IHJlZj0iZGVhZCIgbWluT2NjdXJzPSIwIi8+DQorICAgICAgICAgIDx4czplbGVtZW50IHJlZj0icXVhbGlmaWNhdGlvbiIgIG1pbk9jY3Vycz0iMCIvPg0KKyAgICAgICAgPC94czpzZXF1ZW5jZT4NCisgICAgICA8L3hzOmV4dGVuc2lvbj4NCisgICAgPC94czpjb21wbGV4Q29udGVudD4NCisgIDwveHM6Y29tcGxleFR5cGU+DQorICAgIA0KKyAgPHhzOmVsZW1lbnQgbmFtZT0idGl0bGUiPg0KKyAgICA8eHM6Y29tcGxleFR5cGU+DQorICAgICAgPHhzOnNpbXBsZUNvbnRlbnQ+DQorICAgICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InN0cmluZzI1NSI+DQorICAgICAgICAgIDx4czphdHRyaWJ1dGUgcmVmPSJsYW5nIi8+DQorICAgICAgICA8L3hzOmV4dGVuc2lvbj4NCisgICAgICA8L3hzOnNpbXBsZUNvbnRlbnQ+DQorICAgIDwveHM6Y29tcGxleFR5cGU+DQorICA8L3hzOmVsZW1lbnQ+DQorICANCisgIDx4czplbGVtZW50IG5hbWU9ImxpYnJhcnkiPg0KKyAgICA8eHM6Y29tcGxleFR5cGU+DQorICAgICAgPHhzOnNlcXVlbmNlPg0KKyAgICAgICAgPHhzOmVsZW1lbnQgcmVmPSJib29rIiBtYXhPY2N1cnM9InVuYm91bmRlZCIvPg0KKyAgICAgIDwveHM6c2VxdWVuY2U+DQorICAgIDwveHM6Y29tcGxleFR5cGU+DQorICA8L3hzOmVsZW1lbnQ+DQorICANCisgIDx4czplbGVtZW50IG5hbWU9ImJvb2siPg0KKyAgICA8eHM6Y29tcGxleFR5cGU+DQorICAgICAgPHhzOmNvbXBsZXhDb250ZW50Pg0KKyAgICAgICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9ImJvb2tUbXAiPg0KKyAgICAgICAgICA8eHM6c2VxdWVuY2U+DQorICAgICAgICAgICAgPHhzOmVsZW1lbnQgcmVmPSJpc2JuIi8+DQorICAgICAgICAgICAgPHhzOmVsZW1lbnQgcmVmPSJ0aXRsZSIvPg0KKyAgICAgICAgICAgIDx4czplbGVtZW50IHJlZj0iYXV0aG9yIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIi8+DQorICAgICAgICAgICAgPHhzOmVsZW1lbnQgcmVmPSJjaGFyYWN0ZXIiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiLz4NCisgICAgICAgICAgPC94czpzZXF1ZW5jZT4NCisgICAgICAgICAgPHhzOmF0dHJpYnV0ZSBuYW1lPSJpZCIgdHlwZT0iYm9va0lEIi8+DQorICAgICAgICAgIDx4czphdHRyaWJ1dGUgcmVmPSJhdmFpbGFibGUiLz4NCisgICAgICAgIDwveHM6cmVzdHJpY3Rpb24+DQorICAgICAgPC94czpjb21wbGV4Q29udGVudD4NCisgICAgPC94czpjb21wbGV4VHlwZT4NCisgIDwveHM6ZWxlbWVudD4NCisNCisgIDx4czplbGVtZW50IG5hbWU9ImF1dGhvciI+DQorICAgIDx4czpjb21wbGV4VHlwZT4NCisgICAgICA8eHM6Y29tcGxleENvbnRlbnQ+DQorICAgICAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0icGVyc29uVHlwZSI+DQorICAgICAgICAgIDx4czpzZXF1ZW5jZT4NCisgICAgICAgICAgICA8eHM6ZWxlbWVudCByZWY9Im5hbWUiLz4NCisgICAgICAgICAgICA8eHM6ZWxlbWVudCByZWY9ImJvcm4iLz4NCisgICAgICAgICAgICA8eHM6ZWxlbWVudCByZWY9ImRlYWQiIG1pbk9jY3Vycz0iMCIvPg0KKyAgICAgICAgICA8L3hzOnNlcXVlbmNlPg0KKyAgICAgICAgICA8eHM6YXR0cmlidXRlIHJlZj0iaWQiLz4NCisgICAgICAgIDwveHM6cmVzdHJpY3Rpb24+DQorICAgICAgPC94czpjb21wbGV4Q29udGVudD4NCisgICAgPC94czpjb21wbGV4VHlwZT4NCisgIDwveHM6ZWxlbWVudD4NCisgIA0KKyAgDQorICA8eHM6ZWxlbWVudCBuYW1lPSJjaGFyYWN0ZXIiPg0KKyAgICA8eHM6Y29tcGxleFR5cGU+DQorICAgICAgPHhzOmNvbXBsZXhDb250ZW50Pg0KKyAgICAgICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InBlcnNvblR5cGUiPg0KKyAgICAgICAgICA8eHM6c2VxdWVuY2U+DQorICAgICAgICAgICAgPHhzOmVsZW1lbnQgcmVmPSJuYW1lIi8+DQorICAgICAgICAgICAgPHhzOmVsZW1lbnQgcmVmPSJib3JuIi8+DQorICAgICAgICAgICAgPHhzOmVsZW1lbnQgcmVmPSJxdWFsaWZpY2F0aW9uIi8+DQorICAgICAgICAgIDwveHM6c2VxdWVuY2U+DQorICAgICAgICAgIDx4czphdHRyaWJ1dGUgcmVmPSJpZCIvPg0KKyAgICAgICAgPC94czpyZXN0cmljdGlvbj4NCisgICAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KKyAgICA8L3hzOmNvbXBsZXhUeXBlPg0KKyAgPC94czplbGVtZW50Pg0KKyAgDQorPC94czpzY2hlbWE+DQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMvdmR2LWZpcnN0NF8xLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL3Zkdi1maXJzdDRfMS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTI1OWVmMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWFzL3Zkdi1maXJzdDRfMS54bWwKQEAgLTAsMCArMSwzMyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCis8IS0tICRIZWFkZXI6IC9jdnMvZ25vbWUvZ25vbWUteG1sL3Rlc3Qvc2NoZW1hcy92ZHYtZmlyc3QzXzAueG1sLHYgMS4xIDIwMDMvMTEvMjIgMjA6Mzc6NTEgdmVpbGxhcmQgRXhwICQgLS0+DQorPGxpYnJhcnk+DQorCTxib29rIGlkPSJiMDgzNjIxNzQ2MiIgYXZhaWxhYmxlPSJ0cnVlIj4NCisJCTxpc2JuPjA4MzYyMTc0NjI8L2lzYm4+DQorCQk8dGl0bGUgbGFuZz0iZW4iPkJlaW5nIGEgRG9nIElzIGEgRnVsbC1UaW1lIEpvYjwvdGl0bGU+DQorCQk8YXV0aG9yIGlkPSJDTVMiPg0KKwkJCTxuYW1lPkNoYXJsZXMgTSBTY2h1bHo8L25hbWU+DQorCQkJPGJvcm4+MTkyMi0xMS0yNjwvYm9ybj4NCisJCQk8ZGVhZD4yMDAwLTAyLTEyPC9kZWFkPg0KKwkJPC9hdXRob3I+DQorCQk8Y2hhcmFjdGVyIGlkPSJQUCI+DQorCQkJPG5hbWU+UGVwcGVybWludCBQYXR0eTwvbmFtZT4NCisJCQk8Ym9ybj4xOTZUNi0wOC0yMjwvYm9ybj4NCisJCQk8cXVhbGlmaWNhdGlvbj5ib2xkLCBicmFzaCBhbmQgdG9tYm95aXNoPC9xdWFsaWZpY2F0aW9uPg0KKwkJPC9jaGFyYWN0ZXI+DQorCQk8Y2hhcmFjdGVyIGlkPSJTbm9vcHkiPg0KKwkJCTxuYW1lPlNub29weTwvbmFtZT4NCisJCQk8Ym9ybj4xOTUwLTEwLTA0PC9ib3JuPg0KKwkJCTxxdWFsaWZpY2F0aW9uPmV4dHJvdmVydGVkIGJlYWdsZTwvcXVhbGlmaWNhdGlvbj4NCisJCTwvY2hhcmFjdGVyPg0KKwkJPGNoYXJhY3RlciBpZD0iU2Nocm9lZGVyIj4NCisJCQk8bmFtZT5TY2hyb2VkZXI8L25hbWU+DQorCQkJPGJvcm4+MTk1MS0wNS0zMDwvYm9ybj4NCisJCQk8cXVhbGlmaWNhdGlvbj5icm91Z2h0IGNsYXNzaWNhbCBtdXNpYyB0byB0aGUgUGVhbnV0cyBzdHJpcDwvcXVhbGlmaWNhdGlvbj4NCisJCTwvY2hhcmFjdGVyPg0KKwkJPGNoYXJhY3RlciBpZD0iTHVjeSI+DQorCQkJPG5hbWU+THVjeTwvbmFtZT4NCisJCQk8Ym9ybj4xOTUyLTAzLTAzPC9ib3JuPg0KKwkJCTxxdWFsaWZpY2F0aW9uPmJvc3N5LCBjcmFiYnkgYW5kIHNlbGZpc2g8L3F1YWxpZmljYXRpb24+DQorCQk8L2NoYXJhY3Rlcj4NCisJPC9ib29rPg0KKzwvbGlicmFyeT4NCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy92ZHYtZmlyc3Q0XzIueG1sIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvdmR2LWZpcnN0NF8yLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNGFjY2U2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvdmR2LWZpcnN0NF8yLnhtbApAQCAtMCwwICsxLDMzIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Pg0KKzwhLS0gJEhlYWRlcjogL2N2cy9nbm9tZS9nbm9tZS14bWwvdGVzdC9zY2hlbWFzL3Zkdi1maXJzdDNfMC54bWwsdiAxLjEgMjAwMy8xMS8yMiAyMDozNzo1MSB2ZWlsbGFyZCBFeHAgJCAtLT4NCis8bGlicmFyeT4NCisJPGJvb2sgaWQ9ImIwODM2MjE3NDYyIiBhdmFpbGFibGU9InRydWUiPg0KKwkJPGlzYm4+MDgzNjIxNzQ2MjwvaXNibj4NCisJCTx0aXRsZSBsYW5nPSJlbiI+QmVpbmcgYSBEb2cgSXMgYSBGdWxsLVRpbWUgSm9iPC90aXRsZT4NCisJCTxhdXRob3IgaWQ9IkNNUyI+DQorCQkJPG5hbWU+Q2hhcmxlcyBNIFNjaHVsejwvbmFtZT4NCisJCQk8Ym9ybj4xOTIyLTExLTI2PC9ib3JuPg0KKwkJCTxkZWFkPjIwMDAtMDItMTI8L2RlYWQ+DQorCQk8L2F1dGhvcj4NCisJCTxjaGFyYWN0ZXIgaWQ9IlBQIj4NCisJCQk8bmFtZT5QZXBwZXJtaW50IFBhdHR5PC9uYW1lPg0KKwkJCTxib3JuPjE5NjYtMDgtMjI8L2Jvcm4+DQorCQkJPHF1YWxpZmljYXRpb24+Ym9sZCwgYnJhc2ggYW5kIHRvbWJveWlzaDwvcXVhbGlmaWNhdGlvbj4NCisJCTwvY2hhcmFjdGVyPg0KKwkJPGNoYXJhY3RlciBpZD0iU25vb3B5Ij4NCisJCQk8bmFtZT5Tbm9vcHk8L25hbWU+DQorCQkJPGJvcm4+MTk1MC0xMC0wNDwvYm9ybj4NCisJCQk8cXVhbGlmaWNhdGlvbj5leHRyb3ZlcnRlZCBiZWFnbGU8L3F1YWxpZmljYXRpb24+DQorCQk8L2NoYXJhY3Rlcj4NCisJCTxjaGFyYWN0ZXIgaWQ9IlNjaHJvZWRlciI+DQorCQkJPG5hbWU+U2Nocm9lZGVyPC9uYW1lPg0KKwkJCTxib3JuPjIwMDAtMDEtMjBaPC9ib3JuPg0KKwkJCTxxdWFsaWZpY2F0aW9uPmJyb3VnaHQgY2xhc3NpY2FsIG11c2ljIHRvIHRoZSBQZWFudXRzIHN0cmlwPC9xdWFsaWZpY2F0aW9uPg0KKwkJPC9jaGFyYWN0ZXI+DQorCQk8Y2hhcmFjdGVyIGlkPSJMdWN5Ij4NCisJCQk8bmFtZT5MdWN5PC9uYW1lPg0KKwkJCTxib3JuPjE5NTItMDMtMDM8L2Jvcm4+DQorCQkJPHF1YWxpZmljYXRpb24+Ym9zc3ksIGNyYWJieSBhbmQgc2VsZmlzaDwvcXVhbGlmaWNhdGlvbj4NCisJCTwvY2hhcmFjdGVyPg0KKwk8L2Jvb2s+DQorPC9saWJyYXJ5Pg0KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL3Zkdi1maXJzdDVfMC54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy92ZHYtZmlyc3Q1XzAueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdkNGU2NjIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy92ZHYtZmlyc3Q1XzAueG1sCkBAIC0wLDAgKzEsMzMgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+DQorPCEtLSAkSGVhZGVyOiAvY3ZzL2dub21lL2dub21lLXhtbC90ZXN0L3NjaGVtYXMvdmR2LWZpcnN0MF8wLnhtbCx2IDEuMSAyMDAzLzExLzIyIDIwOjM3OjUxIHZlaWxsYXJkIEV4cCAkIC0tPg0KKzxsaWJyYXJ5Pg0KKwk8Ym9vayBpZD0iYjA4MzYyMTc0NjIiIGF2YWlsYWJsZT0idHJ1ZSI+DQorCQk8aXNibj4wODM2MjE3NDYyPC9pc2JuPg0KKwkJPHRpdGxlIGxhbmc9ImVuIj5CZWluZyBhIERvZyBJcyBhIEZ1bGwtVGltZSBKb2I8L3RpdGxlPg0KKwkJPGF1dGhvciBpZD0iQ01TIj4NCisJCQk8bmFtZT5DaGFybGVzIE0gU2NodWx6PC9uYW1lPg0KKwkJCTxib3JuPjE5MjItMTEtMjY8L2Jvcm4+DQorCQkJPGRlYWQ+MjAwMC0wMi0xMjwvZGVhZD4NCisJCTwvYXV0aG9yPg0KKwkJPGNoYXJhY3RlciBpZD0iUFAiPg0KKwkJCTxuYW1lPlBlcHBlcm1pbnQgUGF0dHk8L25hbWU+DQorCQkJPGJvcm4+MTk2Ni0wOC0yMjwvYm9ybj4NCisJCQk8cXVhbGlmaWNhdGlvbj5ib2xkLCBicmFzaCBhbmQgdG9tYm95aXNoPC9xdWFsaWZpY2F0aW9uPg0KKwkJPC9jaGFyYWN0ZXI+DQorCQk8Y2hhcmFjdGVyIGlkPSJTbm9vcHkiPg0KKwkJCTxuYW1lPlNub29weTwvbmFtZT4NCisJCQk8Ym9ybj4xOTUwLTEwLTA0PC9ib3JuPg0KKwkJCTxxdWFsaWZpY2F0aW9uPmV4dHJvdmVydGVkIGJlYWdsZTwvcXVhbGlmaWNhdGlvbj4NCisJCTwvY2hhcmFjdGVyPg0KKwkJPGNoYXJhY3RlciBpZD0iU2Nocm9lZGVyIj4NCisJCQk8bmFtZT5TY2hyb2VkZXI8L25hbWU+DQorCQkJPGJvcm4+MTk1MS0wNS0zMDwvYm9ybj4NCisJCQk8cXVhbGlmaWNhdGlvbj5icm91Z2h0IGNsYXNzaWNhbCBtdXNpYyB0byB0aGUgUGVhbnV0cyBzdHJpcDwvcXVhbGlmaWNhdGlvbj4NCisJCTwvY2hhcmFjdGVyPg0KKwkJPGNoYXJhY3RlciBpZD0iTHVjeSI+DQorCQkJPG5hbWU+THVjeTwvbmFtZT4NCisJCQk8Ym9ybj4xOTUyLTAzLTAzPC9ib3JuPg0KKwkJCTxxdWFsaWZpY2F0aW9uPmJvc3N5LCBjcmFiYnkgYW5kIHNlbGZpc2g8L3F1YWxpZmljYXRpb24+DQorCQk8L2NoYXJhY3Rlcj4NCisJPC9ib29rPg0KKzwvbGlicmFyeT4NCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy92ZHYtZmlyc3Q1XzAueHNkIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvdmR2LWZpcnN0NV8wLnhzZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZDVmZmFhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvdmR2LWZpcnN0NV8wLnhzZApAQCAtMCwwICsxLDg1IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Pg0KKzwhLS0gJEhlYWRlcjogL2hvbWUvY3Zzcm9vdC93M2MteG1sLXNjaGVtYS91c2VyL2V4YW1wbGVzL2ZpcnN0LWJ1aWxkaW5nLWJsb2Nrcy54c2QsdiAxLjEgMjAwMS8xMS8yNiAxMzoyNzowNyB2ZHYgRXhwICQgLS0+DQorPHhzOnNjaGVtYSB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiPg0KKw0KKzx4czppbmNsdWRlIHNjaGVtYUxvY2F0aW9uPSJ2ZHYtc2ltcGxlVHlwZXMueHNkIi8+DQorPHhzOmluY2x1ZGUgc2NoZW1hTG9jYXRpb249InZkdi1jb21wbGV4VHlwZXMueHNkIi8+DQorDQorCTx4czplbGVtZW50IG5hbWU9Im5hbWUiIHR5cGU9InN0cmluZzMyIi8+DQorCTx4czplbGVtZW50IG5hbWU9InF1YWxpZmljYXRpb24iIHR5cGU9InN0cmluZzI1NSIvPg0KKwk8eHM6ZWxlbWVudCBuYW1lPSJib3JuIiB0eXBlPSJkYXRlIi8+DQorCTx4czplbGVtZW50IG5hbWU9ImRlYWQiIHR5cGU9ImRhdGUiLz4NCisJPHhzOmVsZW1lbnQgbmFtZT0iaXNibiIgdHlwZT0iaXNibiIvPg0KKwkNCisJPHhzOmF0dHJpYnV0ZSBuYW1lPSJpZCIgdHlwZT0ieHM6SUQiLz4NCisJPHhzOmF0dHJpYnV0ZSBuYW1lPSJhdmFpbGFibGUiIHR5cGU9InhzOmJvb2xlYW4iLz4NCisJPHhzOmF0dHJpYnV0ZSBuYW1lPSJsYW5nIiB0eXBlPSJzdXBwb3J0ZWRMYW5ndWFnZXMiLz4NCisNCisJCQ0KKwk8eHM6ZWxlbWVudCBuYW1lPSJ0aXRsZSI+DQorCQk8eHM6Y29tcGxleFR5cGU+DQorCQkJPHhzOnNpbXBsZUNvbnRlbnQ+DQorCQkJCTx4czpleHRlbnNpb24gYmFzZT0ic3RyaW5nMjU1Ij4NCisJCQkJCTx4czphdHRyaWJ1dGUgcmVmPSJsYW5nIi8+DQorCQkJCTwveHM6ZXh0ZW5zaW9uPg0KKwkJCTwveHM6c2ltcGxlQ29udGVudD4NCisJCTwveHM6Y29tcGxleFR5cGU+DQorCTwveHM6ZWxlbWVudD4NCisJDQorCTx4czplbGVtZW50IG5hbWU9ImxpYnJhcnkiPg0KKwkJPHhzOmNvbXBsZXhUeXBlPg0KKwkJCTx4czpzZXF1ZW5jZT4NCisJCQkJPHhzOmVsZW1lbnQgcmVmPSJib29rIiBtYXhPY2N1cnM9InVuYm91bmRlZCIvPg0KKwkJCTwveHM6c2VxdWVuY2U+DQorCQk8L3hzOmNvbXBsZXhUeXBlPg0KKwk8L3hzOmVsZW1lbnQ+DQorCQ0KKwk8eHM6ZWxlbWVudCBuYW1lPSJib29rIj4NCisJCQkJCTx4czpjb21wbGV4VHlwZT4NCisJCQkJCQkJCQk8eHM6Y29tcGxleENvbnRlbnQ+DQorCQkJCQkJCQkJCQkJCTx4czpyZXN0cmljdGlvbiBiYXNlPSJib29rVG1wIj4NCisJCQk8eHM6c2VxdWVuY2U+DQorCQkJCTx4czplbGVtZW50IHJlZj0iaXNibiIvPg0KKwkJCQk8eHM6ZWxlbWVudCByZWY9InRpdGxlIi8+DQorCQkJCTx4czplbGVtZW50IHJlZj0iYXV0aG9yIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIi8+DQorCQkJCTx4czplbGVtZW50IHJlZj0iY2hhcmFjdGVyIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIi8+DQorCQkJPC94czpzZXF1ZW5jZT4NCisJCQk8eHM6YXR0cmlidXRlIG5hbWU9ImlkIiB0eXBlPSJib29rSUQiLz4NCisJCQk8eHM6YXR0cmlidXRlIHJlZj0iYXZhaWxhYmxlIi8+DQorCQkJCQkJCQkJCQkJCTwveHM6cmVzdHJpY3Rpb24+DQorCQkJCQkJCQkJPC94czpjb21wbGV4Q29udGVudD4NCisJCTwveHM6Y29tcGxleFR5cGU+DQorCTwveHM6ZWxlbWVudD4NCisNCisJPHhzOmVsZW1lbnQgbmFtZT0iYXV0aG9yIj4NCisJCQkJCTx4czpjb21wbGV4VHlwZT4NCisJCQkJCQkJCQk8eHM6Y29tcGxleENvbnRlbnQ+DQorCQkJCQkJCQkJCQkJCTx4czpyZXN0cmljdGlvbiBiYXNlPSJwZXJzb25UeXBlIj4NCisJCQk8eHM6c2VxdWVuY2U+DQorCQkJCTx4czplbGVtZW50IHJlZj0ibmFtZSIvPg0KKwkJCQk8eHM6ZWxlbWVudCByZWY9ImJvcm4iLz4NCisJCQkJPHhzOmVsZW1lbnQgcmVmPSJkZWFkIiBtaW5PY2N1cnM9IjAiLz4NCisJCQk8L3hzOnNlcXVlbmNlPg0KKwkJCTx4czphdHRyaWJ1dGUgcmVmPSJpZCIvPg0KKwkJCQkJCQkJCQkJCQk8L3hzOnJlc3RyaWN0aW9uPg0KKwkJCQkJCQkJCTwveHM6Y29tcGxleENvbnRlbnQ+DQorCQk8L3hzOmNvbXBsZXhUeXBlPg0KKwk8L3hzOmVsZW1lbnQ+DQorCQ0KKwkNCisJPHhzOmVsZW1lbnQgbmFtZT0iY2hhcmFjdGVyIj4NCisJCTx4czpjb21wbGV4VHlwZT4NCisJCQkJCQkJCQk8eHM6Y29tcGxleENvbnRlbnQ+DQorCQkJCQkJCQkJCQkJCTx4czpyZXN0cmljdGlvbiBiYXNlPSJwZXJzb25UeXBlIj4NCisJCQk8eHM6c2VxdWVuY2U+DQorCQkJCTx4czplbGVtZW50IHJlZj0ibmFtZSIvPg0KKwkJCQk8eHM6ZWxlbWVudCByZWY9ImJvcm4iLz4NCisJCQkJPHhzOmVsZW1lbnQgcmVmPSJxdWFsaWZpY2F0aW9uIi8+DQorCQkJPC94czpzZXF1ZW5jZT4NCisJCQk8eHM6YXR0cmlidXRlIHJlZj0iaWQiLz4NCisJCQkJCQkJCQkJCQkJPC94czpyZXN0cmljdGlvbj4NCisJCQkJCQkJCQk8L3hzOmNvbXBsZXhDb250ZW50Pg0KKwkJPC94czpjb21wbGV4VHlwZT4NCisJPC94czplbGVtZW50Pg0KKwkNCis8L3hzOnNjaGVtYT4NCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy92ZHYtc2ltcGxlVHlwZXMueHNkIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvdmR2LXNpbXBsZVR5cGVzLnhzZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43OWY5NWZkCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMvdmR2LXNpbXBsZVR5cGVzLnhzZApAQCAtMCwwICsxLDM4IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Pg0KKzwhLS0gJEhlYWRlcjogL2hvbWUvY3Zzcm9vdC93M2MteG1sLXNjaGVtYS91c2VyL2V4YW1wbGVzL3NpbXBsZVR5cGVzLnhzZCx2IDEuMSAyMDAxLzExLzI2IDEzOjI3OjA4IHZkdiBFeHAgJCAtLT4NCis8eHM6c2NoZW1hIHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+DQorDQorCTx4czpzaW1wbGVUeXBlIG5hbWU9InN0cmluZzI1NSI+DQorCQk8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6dG9rZW4iPg0KKwkJCTx4czptYXhMZW5ndGggdmFsdWU9IjI1NSIvPg0KKwkJPC94czpyZXN0cmljdGlvbj4NCisJPC94czpzaW1wbGVUeXBlPg0KKwk8eHM6c2ltcGxlVHlwZSBuYW1lPSJzdHJpbmczMiI+DQorCQk8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6dG9rZW4iPg0KKwkJCTx4czptYXhMZW5ndGggdmFsdWU9IjMyIi8+DQorCQk8L3hzOnJlc3RyaWN0aW9uPg0KKwk8L3hzOnNpbXBsZVR5cGU+DQorCTx4czpzaW1wbGVUeXBlIG5hbWU9ImlzYm4iPg0KKwkJPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnVuc2lnbmVkTG9uZyI+DQorCQkJPHhzOnRvdGFsRGlnaXRzIHZhbHVlPSIxMCIvPg0KKwkJCTx4czpwYXR0ZXJuIHZhbHVlPSJcZHsxMH0iLz4NCisJCTwveHM6cmVzdHJpY3Rpb24+DQorCTwveHM6c2ltcGxlVHlwZT4NCisJPHhzOnNpbXBsZVR5cGUgbmFtZT0iYm9va0lEIj4NCisJCTx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpJRCI+DQorCQkJPHhzOnBhdHRlcm4gdmFsdWU9ImJcZHsxMH0iLz4NCisJCTwveHM6cmVzdHJpY3Rpb24+DQorCTwveHM6c2ltcGxlVHlwZT4NCisJPHhzOnNpbXBsZVR5cGUgbmFtZT0ic3VwcG9ydGVkTGFuZ3VhZ2VzIj4NCisJCTx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpsYW5ndWFnZSI+DQorCQkJPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJlbiIvPg0KKwkJCTx4czplbnVtZXJhdGlvbiB2YWx1ZT0iZXMiLz4NCisJCTwveHM6cmVzdHJpY3Rpb24+DQorCTwveHM6c2ltcGxlVHlwZT4NCisJPHhzOnNpbXBsZVR5cGUgbmFtZT0iZGF0ZSI+DQorCQk8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6ZGF0ZSI+DQorCQkJCQkJPHhzOnBhdHRlcm4gdmFsdWU9IlteOlpdKiIvPg0KKwkJPC94czpyZXN0cmljdGlvbj4NCisJPC94czpzaW1wbGVUeXBlPg0KKw0KKzwveHM6c2NoZW1hPg0KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWFzL3htbC54c2QgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy94bWwueHNkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU0OWZmZjgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy94bWwueHNkCkBAIC0wLDAgKzEsMTE3IEBACis8P3htbCB2ZXJzaW9uPScxLjAnIGVuY29kaW5nPSJJU08tODg1OS0xIj8+Cis8IS0tIURPQ1RZUEUgeHM6c2NoZW1hIFBVQkxJQyAiLS8vVzNDLy9EVEQgWE1MU0NIRU1BIDIwMDEwMi8vRU4iICJYTUxTY2hlbWEuZHRkIiAtLT4KKzx4czpzY2hlbWEgdGFyZ2V0TmFtZXNwYWNlPSJodHRwOi8vd3d3LnczLm9yZy9YTUwvMTk5OC9uYW1lc3BhY2UiIHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sOmxhbmc9ImVuIj4KKworIDx4czphbm5vdGF0aW9uPgorICA8eHM6ZG9jdW1lbnRhdGlvbj4KKyAgIFNlZSBodHRwOi8vd3d3LnczLm9yZy9YTUwvMTk5OC9uYW1lc3BhY2UuaHRtbCBhbmQKKyAgIGh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy14bWwgZm9yIGluZm9ybWF0aW9uIGFib3V0IHRoaXMgbmFtZXNwYWNlLgorCisgICAgVGhpcyBzY2hlbWEgZG9jdW1lbnQgZGVzY3JpYmVzIHRoZSBYTUwgbmFtZXNwYWNlLCBpbiBhIGZvcm0KKyAgICBzdWl0YWJsZSBmb3IgaW1wb3J0IGJ5IG90aGVyIHNjaGVtYSBkb2N1bWVudHMuICAKKworICAgIE5vdGUgdGhhdCBsb2NhbCBuYW1lcyBpbiB0aGlzIG5hbWVzcGFjZSBhcmUgaW50ZW5kZWQgdG8gYmUgZGVmaW5lZAorICAgIG9ubHkgYnkgdGhlIFdvcmxkIFdpZGUgV2ViIENvbnNvcnRpdW0gb3IgaXRzIHN1Ymdyb3Vwcy4gIFRoZQorICAgIGZvbGxvd2luZyBuYW1lcyBhcmUgY3VycmVudGx5IGRlZmluZWQgaW4gdGhpcyBuYW1lc3BhY2UgYW5kIHNob3VsZAorICAgIG5vdCBiZSB1c2VkIHdpdGggY29uZmxpY3Rpbmcgc2VtYW50aWNzIGJ5IGFueSBXb3JraW5nIEdyb3VwLAorICAgIHNwZWNpZmljYXRpb24sIG9yIGRvY3VtZW50IGluc3RhbmNlOgorCisgICAgYmFzZSAoYXMgYW4gYXR0cmlidXRlIG5hbWUpOiBkZW5vdGVzIGFuIGF0dHJpYnV0ZSB3aG9zZSB2YWx1ZQorICAgICAgICAgcHJvdmlkZXMgYSBVUkkgdG8gYmUgdXNlZCBhcyB0aGUgYmFzZSBmb3IgaW50ZXJwcmV0aW5nIGFueQorICAgICAgICAgcmVsYXRpdmUgVVJJcyBpbiB0aGUgc2NvcGUgb2YgdGhlIGVsZW1lbnQgb24gd2hpY2ggaXQKKyAgICAgICAgIGFwcGVhcnM7IGl0cyB2YWx1ZSBpcyBpbmhlcml0ZWQuICBUaGlzIG5hbWUgaXMgcmVzZXJ2ZWQKKyAgICAgICAgIGJ5IHZpcnR1ZSBvZiBpdHMgZGVmaW5pdGlvbiBpbiB0aGUgWE1MIEJhc2Ugc3BlY2lmaWNhdGlvbi4KKworICAgIGxhbmcgKGFzIGFuIGF0dHJpYnV0ZSBuYW1lKTogZGVub3RlcyBhbiBhdHRyaWJ1dGUgd2hvc2UgdmFsdWUKKyAgICAgICAgIGlzIGEgbGFuZ3VhZ2UgY29kZSBmb3IgdGhlIG5hdHVyYWwgbGFuZ3VhZ2Ugb2YgdGhlIGNvbnRlbnQgb2YKKyAgICAgICAgIGFueSBlbGVtZW50OyBpdHMgdmFsdWUgaXMgaW5oZXJpdGVkLiAgVGhpcyBuYW1lIGlzIHJlc2VydmVkCisgICAgICAgICBieSB2aXJ0dWUgb2YgaXRzIGRlZmluaXRpb24gaW4gdGhlIFhNTCBzcGVjaWZpY2F0aW9uLgorICAKKyAgICBzcGFjZSAoYXMgYW4gYXR0cmlidXRlIG5hbWUpOiBkZW5vdGVzIGFuIGF0dHJpYnV0ZSB3aG9zZQorICAgICAgICAgdmFsdWUgaXMgYSBrZXl3b3JkIGluZGljYXRpbmcgd2hhdCB3aGl0ZXNwYWNlIHByb2Nlc3NpbmcKKyAgICAgICAgIGRpc2NpcGxpbmUgaXMgaW50ZW5kZWQgZm9yIHRoZSBjb250ZW50IG9mIHRoZSBlbGVtZW50OyBpdHMKKyAgICAgICAgIHZhbHVlIGlzIGluaGVyaXRlZC4gIFRoaXMgbmFtZSBpcyByZXNlcnZlZCBieSB2aXJ0dWUgb2YgaXRzCisgICAgICAgICBkZWZpbml0aW9uIGluIHRoZSBYTUwgc3BlY2lmaWNhdGlvbi4KKworICAgIEZhdGhlciAoaW4gYW55IGNvbnRleHQgYXQgYWxsKTogZGVub3RlcyBKb24gQm9zYWssIHRoZSBjaGFpciBvZiAKKyAgICAgICAgIHRoZSBvcmlnaW5hbCBYTUwgV29ya2luZyBHcm91cC4gIFRoaXMgbmFtZSBpcyByZXNlcnZlZCBieSAKKyAgICAgICAgIHRoZSBmb2xsb3dpbmcgZGVjaXNpb24gb2YgdGhlIFczQyBYTUwgUGxlbmFyeSBhbmQgCisgICAgICAgICBYTUwgQ29vcmRpbmF0aW9uIGdyb3VwczoKKworICAgICAgICAgICAgIEluIGFwcHJlY2lhdGlvbiBmb3IgaGlzIHZpc2lvbiwgbGVhZGVyc2hpcCBhbmQgZGVkaWNhdGlvbgorICAgICAgICAgICAgIHRoZSBXM0MgWE1MIFBsZW5hcnkgb24gdGhpcyAxMHRoIGRheSBvZiBGZWJydWFyeSwgMjAwMAorICAgICAgICAgICAgIHJlc2VydmVzIGZvciBKb24gQm9zYWsgaW4gcGVycGV0dWl0eSB0aGUgWE1MIG5hbWUKKyAgICAgICAgICAgICB4bWw6RmF0aGVyCisgIDwveHM6ZG9jdW1lbnRhdGlvbj4KKyA8L3hzOmFubm90YXRpb24+CisKKyA8eHM6YW5ub3RhdGlvbj4KKyAgPHhzOmRvY3VtZW50YXRpb24+VGhpcyBzY2hlbWEgZGVmaW5lcyBhdHRyaWJ1dGVzIGFuZCBhbiBhdHRyaWJ1dGUgZ3JvdXAKKyAgICAgICAgc3VpdGFibGUgZm9yIHVzZSBieQorICAgICAgICBzY2hlbWFzIHdpc2hpbmcgdG8gYWxsb3cgeG1sOmJhc2UsIHhtbDpsYW5nIG9yIHhtbDpzcGFjZSBhdHRyaWJ1dGVzCisgICAgICAgIG9uIGVsZW1lbnRzIHRoZXkgZGVmaW5lLgorCisgICAgICAgIFRvIGVuYWJsZSB0aGlzLCBzdWNoIGEgc2NoZW1hIG11c3QgaW1wb3J0IHRoaXMgc2NoZW1hCisgICAgICAgIGZvciB0aGUgWE1MIG5hbWVzcGFjZSwgZS5nLiBhcyBmb2xsb3dzOgorICAgICAgICAmbHQ7c2NoZW1hIC4gLiAuPgorICAgICAgICAgLiAuIC4KKyAgICAgICAgICZsdDtpbXBvcnQgbmFtZXNwYWNlPSJodHRwOi8vd3d3LnczLm9yZy9YTUwvMTk5OC9uYW1lc3BhY2UiCisgICAgICAgICAgICAgICAgICAgIHNjaGVtYUxvY2F0aW9uPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxLzAzL3htbC54c2QiLz4KKworICAgICAgICBTdWJzZXF1ZW50bHksIHF1YWxpZmllZCByZWZlcmVuY2UgdG8gYW55IG9mIHRoZSBhdHRyaWJ1dGVzCisgICAgICAgIG9yIHRoZSBncm91cCBkZWZpbmVkIGJlbG93IHdpbGwgaGF2ZSB0aGUgZGVzaXJlZCBlZmZlY3QsIGUuZy4KKworICAgICAgICAmbHQ7dHlwZSAuIC4gLj4KKyAgICAgICAgIC4gLiAuCisgICAgICAgICAmbHQ7YXR0cmlidXRlR3JvdXAgcmVmPSJ4bWw6c3BlY2lhbEF0dHJzIi8+CisgCisgICAgICAgICB3aWxsIGRlZmluZSBhIHR5cGUgd2hpY2ggd2lsbCBzY2hlbWEtdmFsaWRhdGUgYW4gaW5zdGFuY2UKKyAgICAgICAgIGVsZW1lbnQgd2l0aCBhbnkgb2YgdGhvc2UgYXR0cmlidXRlczwveHM6ZG9jdW1lbnRhdGlvbj4KKyA8L3hzOmFubm90YXRpb24+CisKKyA8eHM6YW5ub3RhdGlvbj4KKyAgPHhzOmRvY3VtZW50YXRpb24+SW4ga2VlcGluZyB3aXRoIHRoZSBYTUwgU2NoZW1hIFdHJ3Mgc3RhbmRhcmQgdmVyc2lvbmluZworICAgcG9saWN5LCB0aGlzIHNjaGVtYSBkb2N1bWVudCB3aWxsIHBlcnNpc3QgYXQKKyAgIGh0dHA6Ly93d3cudzMub3JnLzIwMDEvMDMveG1sLnhzZC4KKyAgIEF0IHRoZSBkYXRlIG9mIGlzc3VlIGl0IGNhbiBhbHNvIGJlIGZvdW5kIGF0CisgICBodHRwOi8vd3d3LnczLm9yZy8yMDAxL3htbC54c2QuCisgICBUaGUgc2NoZW1hIGRvY3VtZW50IGF0IHRoYXQgVVJJIG1heSBob3dldmVyIGNoYW5nZSBpbiB0aGUgZnV0dXJlLAorICAgaW4gb3JkZXIgdG8gcmVtYWluIGNvbXBhdGlibGUgd2l0aCB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgWE1MIFNjaGVtYQorICAgaXRzZWxmLiAgSW4gb3RoZXIgd29yZHMsIGlmIHRoZSBYTUwgU2NoZW1hIG5hbWVzcGFjZSBjaGFuZ2VzLCB0aGUgdmVyc2lvbgorICAgb2YgdGhpcyBkb2N1bWVudCBhdAorICAgaHR0cDovL3d3dy53My5vcmcvMjAwMS94bWwueHNkIHdpbGwgY2hhbmdlCisgICBhY2NvcmRpbmdseTsgdGhlIHZlcnNpb24gYXQKKyAgIGh0dHA6Ly93d3cudzMub3JnLzIwMDEvMDMveG1sLnhzZCB3aWxsIG5vdCBjaGFuZ2UuCisgIDwveHM6ZG9jdW1lbnRhdGlvbj4KKyA8L3hzOmFubm90YXRpb24+CisKKyA8eHM6YXR0cmlidXRlIG5hbWU9ImxhbmciIHR5cGU9InhzOmxhbmd1YWdlIj4KKyAgPHhzOmFubm90YXRpb24+CisgICA8eHM6ZG9jdW1lbnRhdGlvbj5JbiBkdWUgY291cnNlLCB3ZSBzaG91bGQgaW5zdGFsbCB0aGUgcmVsZXZhbnQgSVNPIDItIGFuZCAzLWxldHRlcgorICAgICAgICAgY29kZXMgYXMgdGhlIGVudW1lcmF0ZWQgcG9zc2libGUgdmFsdWVzIC4gLiAuPC94czpkb2N1bWVudGF0aW9uPgorICA8L3hzOmFubm90YXRpb24+CisgPC94czphdHRyaWJ1dGU+CisKKyA8eHM6YXR0cmlidXRlIG5hbWU9InNwYWNlIiBkZWZhdWx0PSJwcmVzZXJ2ZSI+CisgIDx4czpzaW1wbGVUeXBlPgorICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOk5DTmFtZSI+CisgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJkZWZhdWx0Ii8+CisgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJwcmVzZXJ2ZSIvPgorICAgPC94czpyZXN0cmljdGlvbj4KKyAgPC94czpzaW1wbGVUeXBlPgorIDwveHM6YXR0cmlidXRlPgorCisgPHhzOmF0dHJpYnV0ZSBuYW1lPSJiYXNlIiB0eXBlPSJ4czphbnlVUkkiPgorICA8eHM6YW5ub3RhdGlvbj4KKyAgIDx4czpkb2N1bWVudGF0aW9uPlNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi94bWxiYXNlLyBmb3IKKyAgICAgICAgICAgICAgICAgICAgIGluZm9ybWF0aW9uIGFib3V0IHRoaXMgYXR0cmlidXRlLjwveHM6ZG9jdW1lbnRhdGlvbj4KKyAgPC94czphbm5vdGF0aW9uPgorIDwveHM6YXR0cmlidXRlPgorCisgPHhzOmF0dHJpYnV0ZUdyb3VwIG5hbWU9InNwZWNpYWxBdHRycyI+CisgIDx4czphdHRyaWJ1dGUgcmVmPSJ4bWw6YmFzZSIvPgorICA8eHM6YXR0cmlidXRlIHJlZj0ieG1sOmxhbmciLz4KKyAgPHhzOmF0dHJpYnV0ZSByZWY9InhtbDpzcGFjZSIvPgorIDwveHM6YXR0cmlidXRlR3JvdXA+CisKKzwveHM6c2NoZW1hPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMveHNkLWxpc3QtaXRlbVR5cGVfMC54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy94c2QtbGlzdC1pdGVtVHlwZV8wLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMjBlNDA4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMveHNkLWxpc3QtaXRlbVR5cGVfMC54bWwKQEAgLTAsMCArMSwzIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJJU08tODg1OS0xIiA/PgorPCEtLSBUaGlzIGlzIHRoZSB0ZXN0IGRhdGEgZm9yIHRoZSBjaGVjayBvZiB0aGUgaW1wbGVtZW50YXRpb24gb2YgdGhlICJpdGVtVHlwZSIgYXR0cmlidXRlIG9mIHRoZSB4c2Q6bGlzdCBlbGVtZW50LiAtLT4KKzxmb28geG1sbnM9Imh0dHA6Ly9GT08iPnRlYSBmb3IgdHdvIGFuZCB0d28gZm9yIHRlYTwvZm9vPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMveHNkLWxpc3QtaXRlbVR5cGVfMC54c2QgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy94c2QtbGlzdC1pdGVtVHlwZV8wLnhzZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iOTZkYmI0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMveHNkLWxpc3QtaXRlbVR5cGVfMC54c2QKQEAgLTAsMCArMSwxNCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSIgPz4KKworPCEtLSBUaGlzIHRlc3QgY2hlY2tzIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgIml0ZW1UeXBlIiBhdHRyaWJ1dGUgb2YgdGhlIHhzZDpsaXN0IGVsZW1lbnQuIC0tPgorCis8c2NoZW1hIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgdGFyZ2V0TmFtZXNwYWNlPSJodHRwOi8vRk9PIiB4bWxuczpmb289Imh0dHA6Ly9GT08iPgorICAKKyA8ZWxlbWVudCBuYW1lPSJmb28iPgorCTxzaW1wbGVUeXBlPgorICAJCTxsaXN0IGl0ZW1UeXBlPSJzdHJpbmciLz4KKwk8L3NpbXBsZVR5cGU+ICAgCQkJICAgICAgICAgIAorICA8L2VsZW1lbnQ+ICAgCisKKyAgCis8L3NjaGVtYT4gICAgClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMveHNkLXNpbXBsZVR5cGUtdmFyaWV0aWVzXzAueG1sIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMveHNkLXNpbXBsZVR5cGUtdmFyaWV0aWVzXzAueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgzYTBiMmEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy94c2Qtc2ltcGxlVHlwZS12YXJpZXRpZXNfMC54bWwKQEAgLTAsMCArMSw4IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJJU08tODg1OS0xIiA/PgorPCEtLSBUaGlzIGlzIHRoZSB0ZXN0IGRhdGEgZm9yIHRoZSBjaGVjayBvZiB0aGUgaW1wbGVtZW50YXRpb24gb2YgdmFyaWV0aWVzIG9mIHhzZDpzaW1wbGVUeXBlIGVsZW1lbnQuIC0tPgorPGZvbyB4bWxucz0iaHR0cDovL0ZPTyI+CisJPGJhckE+ZmFqaXRhPC9iYXJBPgorCTxiYXJCPnB1YiBwdWI8L2JhckI+CisJPGJhckM+PCFbQ0RBVEFbdGVxdWlsbGFdXT48L2JhckM+Cis8L2Zvbz4KKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXMveHNkLXNpbXBsZVR5cGUtdmFyaWV0aWVzXzAueHNkIGIvbGlieG1sMi90ZXN0L3NjaGVtYXMveHNkLXNpbXBsZVR5cGUtdmFyaWV0aWVzXzAueHNkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhhNzUyZTIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hcy94c2Qtc2ltcGxlVHlwZS12YXJpZXRpZXNfMC54c2QKQEAgLTAsMCArMSw0NSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSIgPz4KKworPCEtLSBUaGlzIHRlc3QgY2hlY2tzIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgdmFyaWV0aWVzIG9mIHRoZSB4c2Q6c2ltcGxlVHlwZSBlbGVtZW50LiAtLT4KKyAgICAKKzxzY2hlbWEgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiAKKwl0YXJnZXROYW1lc3BhY2U9Imh0dHA6Ly9GT08iIHhtbG5zOmZvbz0iaHR0cDovL0ZPTyIgCisJZWxlbWVudEZvcm1EZWZhdWx0PSJxdWFsaWZpZWQiPiAKKworCTxlbGVtZW50IG5hbWU9ImZvbyI+CisJCTxjb21wbGV4VHlwZT4KKwkJCTxzZXF1ZW5jZSBtYXhPY2N1cnM9InVuYm91bmRlZCI+CisJCQkJPGVsZW1lbnQgbmFtZT0iYmFyQSI+CisJCQkJCTxzaW1wbGVUeXBlPgorCQkJCQkJPHVuaW9uIG1lbWJlclR5cGVzPSJmb286dHlwZUEgZm9vOnR5cGVCIi8+ICAgICAgCisJCQkJCTwvc2ltcGxlVHlwZT4KKwkJCQk8L2VsZW1lbnQ+CisJCQkJPGVsZW1lbnQgbmFtZT0iYmFyQiI+CisJCQkJCTxzaW1wbGVUeXBlPgorCQkJCQkJPGxpc3QgaXRlbVR5cGU9ImZvbzp0eXBlQSIvPiAgICAgIAorCQkJCQk8L3NpbXBsZVR5cGU+CisJCQkJPC9lbGVtZW50PiAgICAgICAgCisJCQkJPGVsZW1lbnQgbmFtZT0iYmFyQyI+CisJCQkJCTxzaW1wbGVUeXBlPgorCQkJCQkJPHJlc3RyaWN0aW9uIGJhc2U9InN0cmluZyI+CisJCQkJCQkJPGVudW1lcmF0aW9uIHZhbHVlPSJ0ZXF1aWxsYSIvPiAgCSAgCSAgCisJCQkJCQk8L3Jlc3RyaWN0aW9uPiAgICAgCisJCQkJCTwvc2ltcGxlVHlwZT4KKwkJCQk8L2VsZW1lbnQ+ICAgICAgICAgICAgICAgIAorCQkJPC9zZXF1ZW5jZT4KKwkJPC9jb21wbGV4VHlwZT4KKwk8L2VsZW1lbnQ+CisgICAKKwk8c2ltcGxlVHlwZSBuYW1lPSJ0eXBlQSI+CisJCTxyZXN0cmljdGlvbiBiYXNlPSJzdHJpbmciPgorCQkJPGVudW1lcmF0aW9uIHZhbHVlPSJwdWIiLz4gIAkgIAkgIAorCQk8L3Jlc3RyaWN0aW9uPgorCTwvc2ltcGxlVHlwZT4gCisgICAKKwk8c2ltcGxlVHlwZSBuYW1lPSJ0eXBlQiI+CisJCTxyZXN0cmljdGlvbiBiYXNlPSJzdHJpbmciPgorCQkJPGVudW1lcmF0aW9uIHZhbHVlPSJmYWppdGEiLz4gIAkgIAkgIAorCQk8L3Jlc3RyaWN0aW9uPgorCTwvc2ltcGxlVHlwZT4gICAgCisgIAorPC9zY2hlbWE+IApkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXRyb24venZvbjEuc2N0IGIvbGlieG1sMi90ZXN0L3NjaGVtYXRyb24venZvbjEuc2N0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM2MTc5ZGQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uMS5zY3QKQEAgLTAsMCArMSwyMyBAQAorPHNjaGVtYSB4bWxucz0iaHR0cDovL3d3dy5hc2NjLm5ldC94bWwvc2NoZW1hdHJvbiIgPgorICAgICA8cGF0dGVybiBuYW1lPSJQcmludCBib3RoIGNhc2VzIj4KKyAgICAgICAgICA8cnVsZSBjb250ZXh0PSJBQUEiPgorICAgICAgICAgICAgICAgPGFzc2VydCB0ZXN0PSJCQkIiPkJCQiBlbGVtZW50IGlzIG1pc3NpbmcuPC9hc3NlcnQ+CisgICAgICAgICAgICAgICA8cmVwb3J0IHRlc3Q9IkJCQiI+QkJCIGVsZW1lbnQgaXMgcHJlc2VudC48L3JlcG9ydD4KKyAgICAgICAgICAgICAgIDxhc3NlcnQgdGVzdD0iQG5hbWUiPkFBQSBtaXNzZXMgYXR0cmlidXRlIG5hbWUuPC9hc3NlcnQ+CisgICAgICAgICAgICAgICA8cmVwb3J0IHRlc3Q9IkBuYW1lIj5BQUEgY29udGFpbnMgYXR0cmlidXRlIG5hbWUuPC9yZXBvcnQ+CisgICAgICAgICAgPC9ydWxlPgorICAgICA8L3BhdHRlcm4+CisgICAgIDxwYXR0ZXJuIG5hbWU9IlByaW50IHBvc2l0aXZlIHJlc3VsdCBvbmx5Ij4KKyAgICAgICAgICA8cnVsZSBjb250ZXh0PSJBQUEiPgorICAgICAgICAgICAgICAgPHJlcG9ydCB0ZXN0PSJCQkIiPkJCQiBlbGVtZW50IGlzIHByZXNlbnQuPC9yZXBvcnQ+CisgICAgICAgICAgICAgICA8cmVwb3J0IHRlc3Q9IkBuYW1lIj5BQUEgY29udGFpbnMgYXR0cmlidXRlIG5hbWUuPC9yZXBvcnQ+CisgICAgICAgICAgPC9ydWxlPgorICAgICA8L3BhdHRlcm4+CisgICAgIDxwYXR0ZXJuIG5hbWU9IlByaW50IG5lZ2F0aXZlIHJlc3VsdCBvbmx5Ij4KKyAgICAgICAgICA8cnVsZSBjb250ZXh0PSJBQUEiPgorICAgICAgICAgICAgICAgPGFzc2VydCB0ZXN0PSJCQkIiPkJCQiBlbGVtZW50IGlzIG1pc3NpbmcuPC9hc3NlcnQ+CisgICAgICAgICAgICAgICA8YXNzZXJ0IHRlc3Q9IkBuYW1lIj5BQUEgbWlzc2VzIGF0dHJpYnV0ZSBuYW1lLjwvYXNzZXJ0PgorICAgICAgICAgIDwvcnVsZT4KKyAgICAgPC9wYXR0ZXJuPgorPC9zY2hlbWE+CisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWF0cm9uL3p2b24xMC5zY3QgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uMTAuc2N0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc4M2ZhYzUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uMTAuc2N0CkBAIC0wLDAgKzEsMTUgQEAKKzxzY2hlbWEgeG1sbnM9Imh0dHA6Ly93d3cuYXNjYy5uZXQveG1sL3NjaGVtYXRyb24iID4KKyAgICAgPHBhdHRlcm4gbmFtZT0iT3BlbiBtb2RlbCI+CisgICAgICAgICAgPHJ1bGUgY29udGV4dD0iQUFBIj4KKyAgICAgICAgICAgICAgIDxhc3NlcnQgdGVzdD0iQkJCIj4gQkJCIGVsZW1lbnQgaXMgbm90IHByZXNlbnQ8L2Fzc2VydD4KKyAgICAgICAgICAgICAgIDxhc3NlcnQgdGVzdD0iQ0NDIj4gQ0NDIGVsZW1lbnQgaXMgbm90IHByZXNlbnQ8L2Fzc2VydD4KKyAgICAgICAgICA8L3J1bGU+CisgICAgIDwvcGF0dGVybj4KKyAgICAgPHBhdHRlcm4gbmFtZT0iQ2xvc2VkIG1vZGVsIj4KKyAgICAgICAgICA8cnVsZSBjb250ZXh0PSJBQUEiPgorICAgICAgICAgICAgICAgPGFzc2VydCB0ZXN0PSJCQkIiPiBCQkIgZWxlbWVudCBpcyBub3QgcHJlc2VudDwvYXNzZXJ0PgorICAgICAgICAgICAgICAgPGFzc2VydCB0ZXN0PSJDQ0MiPiBDQ0MgZWxlbWVudCBpcyBub3QgcHJlc2VudDwvYXNzZXJ0PgorICAgICAgICAgICAgICAgPGFzc2VydCB0ZXN0PSJjb3VudChCQkJ8Q0NDKSA9IGNvdW50ICgqKSI+VGhlcmUgaXMgYW4gZXh0cmEgZWxlbWVudDwvYXNzZXJ0PgorICAgICAgICAgIDwvcnVsZT4KKyAgICAgPC9wYXR0ZXJuPgorPC9zY2hlbWE+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uMTBfMC54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uMTBfMC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDNhYzM4OAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWF0cm9uL3p2b24xMF8wLnhtbApAQCAtMCwwICsxLDMgQEAKKzxBQUE+CisgICAgIDxCQkIvPgorPC9BQUE+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uMTBfMS54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uMTBfMS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmE5YmRjYQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWF0cm9uL3p2b24xMF8xLnhtbApAQCAtMCwwICsxLDQgQEAKKzxBQUE+CisgICAgIDxCQkIvPgorICAgICA8RERELz4KKzwvQUFBPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXRyb24venZvbjExLnNjdCBiL2xpYnhtbDIvdGVzdC9zY2hlbWF0cm9uL3p2b24xMS5zY3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzliMDFmZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWF0cm9uL3p2b24xMS5zY3QKQEAgLTAsMCArMSw4IEBACis8c2NoZW1hIHhtbG5zPSJodHRwOi8vd3d3LmFzY2MubmV0L3htbC9zY2hlbWF0cm9uIiA+CisgICAgIDxwYXR0ZXJuIG5hbWU9IkF0dHJpYnV0ZXMgcHJlc2VudCI+CisgICAgICAgICAgPHJ1bGUgY29udGV4dD0iQkJCIj4KKyAgICAgICAgICAgICAgIDxhc3NlcnQgdGVzdD0ibm90KEBhYWEpIG9yIChAYWFhIGFuZCBAYmJiKSI+VGhlIGVsZW1lbnQgbXVzdCBub3QgaGF2ZSBhbiBpc29sYXRlZCBhYWEgYXR0cmlidXRlPC9hc3NlcnQ+CisgICAgICAgICAgICAgICA8YXNzZXJ0IHRlc3Q9Im5vdChAYmJiKSBvciAoQGFhYSBhbmQgQGJiYikiPlRoZSBlbGVtZW50IG11c3Qgbm90IGhhdmUgYW4gaXNvbGF0ZWQgYmJiIGF0dHJpYnV0ZTwvYXNzZXJ0PgorICAgICAgICAgIDwvcnVsZT4KKyAgICAgPC9wYXR0ZXJuPgorPC9zY2hlbWE+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uMTFfMC54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uMTFfMC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjA2NWVlZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWF0cm9uL3p2b24xMV8wLnhtbApAQCAtMCwwICsxLDMgQEAKKzxBQUE+CisgICAgIDxCQkIgYWFhPSJBIiBiYmI9IkIiLz4KKzwvQUFBPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXRyb24venZvbjExXzEueG1sIGIvbGlieG1sMi90ZXN0L3NjaGVtYXRyb24venZvbjExXzEueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM4ODk5MzMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uMTFfMS54bWwKQEAgLTAsMCArMSwzIEBACis8QUFBPgorICAgICA8QkJCIGJiYj0iQiIvPgorPC9BQUE+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uMTFfMi54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uMTFfMi54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjZlMTIyMQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWF0cm9uL3p2b24xMV8yLnhtbApAQCAtMCwwICsxLDMgQEAKKzxBQUE+CisgICAgIDxCQkIgYWFhPSJBIi8+Cis8L0FBQT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWF0cm9uL3p2b24xMV8zLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWF0cm9uL3p2b24xMV8zLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kM2FjMzg4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXRyb24venZvbjExXzMueG1sCkBAIC0wLDAgKzEsMyBAQAorPEFBQT4KKyAgICAgPEJCQi8+Cis8L0FBQT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWF0cm9uL3p2b24xMi5zY3QgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uMTIuc2N0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA0OWIxMjUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uMTIuc2N0CkBAIC0wLDAgKzEsOCBAQAorPHNjaGVtYSB4bWxucz0iaHR0cDovL3d3dy5hc2NjLm5ldC94bWwvc2NoZW1hdHJvbiIgPgorICAgICA8cGF0dGVybiBuYW1lPSJOdW1iZXIgb2YgY2hhcmFjdGVycyBpbiBhbiBhYmJyZXZpYXRpb24iPgorICAgICAgICAgIDxydWxlIGNvbnRleHQ9IkJCQiI+CisgICAgICAgICAgICAgICA8cmVwb3J0IHRlc3Q9InN0cmluZy1sZW5ndGgoQGJiYikgJmx0OyAyIj5UaGVyZSBpcyBub3QgZW5vdWdoIGxldHRlcnMgaW4gdGhlIGFiYnJldmlhdGlvbjwvcmVwb3J0PgorICAgICAgICAgICAgICAgPHJlcG9ydCB0ZXN0PSJzdHJpbmctbGVuZ3RoKEBiYmIpID4gMyI+VGhlcmUgaXMgdG9vIG11Y2ggbGV0dGVycyBpbiB0aGUgYWJicmV2aWF0aW9uPC9yZXBvcnQ+CisgICAgICAgICAgPC9ydWxlPgorICAgICA8L3BhdHRlcm4+Cis8L3NjaGVtYT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWF0cm9uL3p2b24xMl8wLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWF0cm9uL3p2b24xMl8wLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNWYyOGQ1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXRyb24venZvbjEyXzAueG1sCkBAIC0wLDAgKzEsMyBAQAorPEFBQT4KKyAgICAgPEJCQiBiYmI9IkMiLz4KKzwvQUFBPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXRyb24venZvbjEyXzEueG1sIGIvbGlieG1sMi90ZXN0L3NjaGVtYXRyb24venZvbjEyXzEueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM1MDdmNmIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uMTJfMS54bWwKQEAgLTAsMCArMSwzIEBACis8QUFBPgorICAgICA8QkJCIGJiYj0iQ1oiLz4KKzwvQUFBPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXRyb24venZvbjEyXzIueG1sIGIvbGlieG1sMi90ZXN0L3NjaGVtYXRyb24venZvbjEyXzIueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUwZDgxYWYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uMTJfMi54bWwKQEAgLTAsMCArMSwzIEBACis8QUFBPgorICAgICA8QkJCIGJiYj0iQ1pDWiIvPgorPC9BQUE+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uMTMuc2N0IGIvbGlieG1sMi90ZXN0L3NjaGVtYXRyb24venZvbjEzLnNjdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZDQzM2UwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXRyb24venZvbjEzLnNjdApAQCAtMCwwICsxLDcgQEAKKzxzY2hlbWEgeG1sbnM9Imh0dHA6Ly93d3cuYXNjYy5uZXQveG1sL3NjaGVtYXRyb24iID4KKyAgICAgPHBhdHRlcm4gbmFtZT0iU3VtIGVxdWFscyAxMDAlLiI+CisgICAgICAgICAgPHJ1bGUgY29udGV4dD0iVG90YWwiPgorICAgICAgICAgICAgICAgPGFzc2VydCB0ZXN0PSJzdW0oLy9QZXJjZW50KSA9IDEwMCI+VGhlIHZhbHVlcyBkbyBub3Qgc3VtIHRvIDEwMCUuIDwvYXNzZXJ0PgorICAgICAgICAgIDwvcnVsZT4KKyAgICAgPC9wYXR0ZXJuPgorPC9zY2hlbWE+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uMTNfMC54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uMTNfMC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTI2MTljMwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWF0cm9uL3p2b24xM18wLnhtbApAQCAtMCwwICsxLDYgQEAKKzxUb3RhbD4KKyAgICAgPFBlcmNlbnQ+MjA8L1BlcmNlbnQ+CisgICAgIDxQZXJjZW50PjMwPC9QZXJjZW50PgorICAgICA8UGVyY2VudD4xMDwvUGVyY2VudD4KKyAgICAgPFBlcmNlbnQ+NTA8L1BlcmNlbnQ+ICAgICAgICAgIAorPC9Ub3RhbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWF0cm9uL3p2b24xM18xLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWF0cm9uL3p2b24xM18xLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZmI3MzY4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXRyb24venZvbjEzXzEueG1sCkBAIC0wLDAgKzEsNSBAQAorPFRvdGFsPgorICAgICA8UGVyY2VudD4yMDwvUGVyY2VudD4KKyAgICAgPFBlcmNlbnQ+MTA8L1BlcmNlbnQ+CisgICAgIDxQZXJjZW50PjUwPC9QZXJjZW50PiAgICAgICAgICAKKzwvVG90YWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uMTNfMi54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uMTNfMi54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWY0ZDc2YQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWF0cm9uL3p2b24xM18yLnhtbApAQCAtMCwwICsxLDUgQEAKKzxUb3RhbD4KKyAgICAgPFBlcmNlbnQ+MjA8L1BlcmNlbnQ+CisgICAgIDxQZXJjZW50PjMwPC9QZXJjZW50PgorICAgICA8UGVyY2VudD41MDwvUGVyY2VudD4gICAgICAgICAgCis8L1RvdGFsPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXRyb24venZvbjE0LnNjdCBiL2xpYnhtbDIvdGVzdC9zY2hlbWF0cm9uL3p2b24xNC5zY3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjk4YjZkOAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWF0cm9uL3p2b24xNC5zY3QKQEAgLTAsMCArMSwxMCBAQAorPHNjaGVtYSB4bWxucz0iaHR0cDovL3d3dy5hc2NjLm5ldC94bWwvc2NoZW1hdHJvbiIgPgorICAgICA8cGF0dGVybiBuYW1lPSJhIGNoaWxkIG9mIHNlbGVjdGVkIGVsZW1lbnRzIj4KKyAgICAgICAgICA8cnVsZSBjb250ZXh0PSJDQ0MiPgorICAgICAgICAgICAgICAgPGFzc2VydCB0ZXN0PSJwYXJlbnQ6OipbbmFtZSgpPSdCQkInIG9yIG5hbWUoKT0nREREJ10iPkVsZW1lbnQgQ0NDIG11c3Qgbm90IGJlIGEgY2hpbGQgb2YgZWxlbWVudAorICAgICAgICAgICAgICAgICAgICA8bmFtZSBwYXRoPSJwYXJlbnQ6OioiLz4KKyAgICAgICAgICAgICAgIDwvYXNzZXJ0PgorICAgICAgICAgIDwvcnVsZT4KKyAgICAgPC9wYXR0ZXJuPgorPC9zY2hlbWE+CisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWF0cm9uL3p2b24xNF8wLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWF0cm9uL3p2b24xNF8wLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNjI3MDQzCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXRyb24venZvbjE0XzAueG1sCkBAIC0wLDAgKzEsMTIgQEAKKzxBQUE+CisgICAgIDxCQkI+CisgICAgICAgICAgPENDQy8+CisgICAgIDwvQkJCPgorICAgICA8Q0NDLz4KKyAgICAgPERERD4KKyAgICAgICAgICA8Q0NDLz4KKyAgICAgICAgICA8RUVFPgorICAgICAgICAgICAgICAgPENDQy8+CisgICAgICAgICAgPC9FRUU+CisgICAgIDwvREREPgorPC9BQUE+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uMTUuc2N0IGIvbGlieG1sMi90ZXN0L3NjaGVtYXRyb24venZvbjE1LnNjdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZGE1ZDg2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXRyb24venZvbjE1LnNjdApAQCAtMCwwICsxLDExIEBACis8c2NoZW1hIHhtbG5zPSJodHRwOi8vd3d3LmFzY2MubmV0L3htbC9zY2hlbWF0cm9uIiA+CisgICAgIDxwYXR0ZXJuIG5hbWU9ImlkIGlzIHRoZSBvbmx5IHBlcm1pdGVkIGF0dHJpYnV0ZSBuYW1lIj4KKyAgICAgICAgICA8cnVsZSBjb250ZXh0PSIqIj4KKyAgICAgICAgICAgICAgIDxyZXBvcnQgdGVzdD0iQCpbbm90KG5hbWUoKT0naWQnKV0iPkF0dHJpYnV0ZQorICAgICAgICAgICAgICAgICAgICA8bmFtZSBwYXRoPSJAKltub3QobmFtZSgpPSdpZCcpXSIvPiBpcyBmb3JiaWRkZW4gaW4gZWxlbWVudAorICAgICAgICAgICAgICAgICAgICA8bmFtZS8+CisgICAgICAgICAgICAgICA8L3JlcG9ydD4KKyAgICAgICAgICA8L3J1bGU+CisgICAgIDwvcGF0dGVybj4KKzwvc2NoZW1hPgorCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uMTVfMC54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uMTVfMC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzkwYWVkYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWF0cm9uL3p2b24xNV8wLnhtbApAQCAtMCwwICsxLDQgQEAKKzxBQUEgbmFtZT0iYWFhIj4KKzxCQkIgaWQ9ImJiYiIvPgorPENDQyBjb2xvcj0iY2NjIi8+Cis8L0FBQT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWF0cm9uL3p2b24xXzAueG1sIGIvbGlieG1sMi90ZXN0L3NjaGVtYXRyb24venZvbjFfMC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDNhYzM4OAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWF0cm9uL3p2b24xXzAueG1sCkBAIC0wLDAgKzEsMyBAQAorPEFBQT4KKyAgICAgPEJCQi8+Cis8L0FBQT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWF0cm9uL3p2b24xXzEueG1sIGIvbGlieG1sMi90ZXN0L3NjaGVtYXRyb24venZvbjFfMS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODYxYzkwYQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWF0cm9uL3p2b24xXzEueG1sCkBAIC0wLDAgKzEsMyBAQAorPEFBQT4KKyAgICAgPENDQy8+Cis8L0FBQT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWF0cm9uL3p2b24yLnNjdCBiL2xpYnhtbDIvdGVzdC9zY2hlbWF0cm9uL3p2b24yLnNjdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41Njk3NGEwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXRyb24venZvbjIuc2N0CkBAIC0wLDAgKzEsOSBAQAorPHNjaGVtYSB4bWxucz0iaHR0cDovL3d3dy5hc2NjLm5ldC94bWwvc2NoZW1hdHJvbiIgPgorICAgICA8cGF0dGVybiBuYW1lPSJDaGFyYWN0ZXIgQCBmb3JiaWRkZW4iPgorICAgICAgICAgIDxydWxlIGNvbnRleHQ9IioiPgorICAgICAgICAgICAgICAgPHJlcG9ydCB0ZXN0PSJjb250YWlucyguLCdAJykiPlRleHQgaW4gZWxlbWVudAorICAgICAgICAgICAgICAgICAgICA8bmFtZS8+IG11c3Qgbm90IGNvbnRhaW4gY2hhcmFjdGVyIEAKKyAgICAgICAgICAgICAgIDwvcmVwb3J0PgorICAgICAgICAgIDwvcnVsZT4KKyAgICAgPC9wYXR0ZXJuPgorPC9zY2hlbWE+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uMl8wLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWF0cm9uL3p2b24yXzAueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgzMmM1MDcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uMl8wLnhtbApAQCAtMCwwICsxLDQgQEAKKzxBQUE+CisgICAgIDxCQkI+YmJiYjwvQkJCPgorICAgICA8Q0NDPmNjY2M8L0NDQz4KKzwvQUFBPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXRyb24venZvbjJfMS54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uMl8xLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YWRlMTk1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXRyb24venZvbjJfMS54bWwKQEAgLTAsMCArMSw0IEBACis8QUFBPgorICAgICA8QkJCPmJiYmJAYmJiLmNvbTwvQkJCPgorICAgICA8Q0NDPmNjY0BjY2MuY29tPC9DQ0M+Cis8L0FBQT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWF0cm9uL3p2b24yXzIueG1sIGIvbGlieG1sMi90ZXN0L3NjaGVtYXRyb24venZvbjJfMi54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODEyZDQ0YQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWF0cm9uL3p2b24yXzIueG1sCkBAIC0wLDAgKzEsNSBAQAorPEFBQT4KKyAgICAgPEJCQj5iYmJiPC9CQkI+CisgICAgIDxDQ0M+Y2NjYzwvQ0NDPgorICAgICBhYWFAYWFhLm5ldAorPC9BQUE+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uMy5zY3QgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uMy5zY3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjc1YjY3YgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWF0cm9uL3p2b24zLnNjdApAQCAtMCwwICsxLDggQEAKKzxzY2hlbWEgeG1sbnM9Imh0dHA6Ly93d3cuYXNjYy5uZXQveG1sL3NjaGVtYXRyb24iID4KKyAgICAgPHBhdHRlcm4gbmFtZT0iQXR0cmlidXRlIHRlc3QiPgorICAgICAgICAgIDxydWxlIGNvbnRleHQ9IkNDQyI+CisgICAgICAgICAgICAgICA8YXNzZXJ0IHRlc3Q9IkBuYW1lIj5hdHRyaWJ1dGUgbmFtZSBpcyBub3QgcHJlc2VudDwvYXNzZXJ0PgorICAgICAgICAgICAgICAgPHJlcG9ydCB0ZXN0PSJAbmFtZSI+YXR0cmlidXRlIG5hbWUgaXMgcHJlc2VudDwvcmVwb3J0PgorICAgICAgICAgIDwvcnVsZT4KKyAgICAgPC9wYXR0ZXJuPgorPC9zY2hlbWE+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uM18wLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWF0cm9uL3p2b24zXzAueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVjOGRjNDMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uM18wLnhtbApAQCAtMCwwICsxLDggQEAKKzxBQUE+CisgICAgIDxCQkI+CisgICAgICAgICAgPENDQy8+CisgICAgICAgICAgPENDQy8+CisgICAgIDwvQkJCPgorICAgICA8Q0NDIG5hbWU9ImMxIi8+CisgICAgIDxDQ0MgbmFtZT0iYzIiLz4KKzwvQUFBPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXRyb24venZvbjQuc2N0IGIvbGlieG1sMi90ZXN0L3NjaGVtYXRyb24venZvbjQuc2N0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBiOGE0ZTEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uNC5zY3QKQEAgLTAsMCArMSwxMCBAQAorPHNjaGVtYSB4bWxucz0iaHR0cDovL3d3dy5hc2NjLm5ldC94bWwvc2NoZW1hdHJvbiIgPgorICAgICA8cGF0dGVybiBuYW1lPSJSb290IHRlc3QiPgorICAgICAgICAgIDxydWxlIGNvbnRleHQ9Ii8qIj4KKyAgICAgICAgICAgICAgIDxhc3NlcnQgdGVzdD0ibmFtZSgpPSdBQUEnIj5Sb290IGVsZW1lbnQgaXMKKyAgICAgICAgICAgICAgICAgICAgPG5hbWUvPiwgbm90IEFBQQorICAgICAgICAgICAgICAgPC9hc3NlcnQ+CisgICAgICAgICAgICAgICA8cmVwb3J0IHRlc3Q9Im5hbWUoKT0nQUFBJyI+Um9vdCBlbGVtZW50IGlzIEFBQTwvcmVwb3J0PgorICAgICAgICAgIDwvcnVsZT4KKyAgICAgPC9wYXR0ZXJuPgorPC9zY2hlbWE+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uNF8wLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWF0cm9uL3p2b240XzAueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRiYTMzMmUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uNF8wLnhtbApAQCAtMCwwICsxLDYgQEAKKzxBQUE+CisgICAgIDxCQkI+CisgICAgICAgICAgPENDQy8+CisgICAgICAgICAgPENDQy8+CisgICAgIDwvQkJCPgorPC9BQUE+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uNF8xLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWF0cm9uL3p2b240XzEueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjViZWNiY2YKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uNF8xLnhtbApAQCAtMCwwICsxLDYgQEAKKzxYWFg+CisgICAgIDxCQkI+CisgICAgICAgICAgPENDQy8+CisgICAgICAgICAgPENDQy8+CisgICAgIDwvQkJCPgorPC9YWFg+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uNS5zY3QgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uNS5zY3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzZjYjhiYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWF0cm9uL3p2b241LnNjdApAQCAtMCwwICsxLDEyIEBACis8c2NoZW1hIHhtbG5zPSJodHRwOi8vd3d3LmFzY2MubmV0L3htbC9zY2hlbWF0cm9uIiA+CisgICAgIDxwYXR0ZXJuIG5hbWU9IlNlbGVjdCBlbXB0eSBlbGVtZW50cyBDQ0MiPgorICAgICAgICAgIDxydWxlIGNvbnRleHQ9IkNDQyI+CisgICAgICAgICAgICAgICA8YXNzZXJ0IHRlc3Q9Im5vcm1hbGl6ZS1zcGFjZSguKSBhbmQgKiI+U291cmNlIGNvbnRhaW5zIGFuIGVtcHR5IGVsZW1lbnQgQ0NDIDwvYXNzZXJ0PgorICAgICAgICAgICAgICAgPHJlcG9ydCB0ZXN0PSJub3JtYWxpemUtc3BhY2UoLikgPSAnJyI+WzFdQW4gZWxlbWVudCBDQ0MgZG9lcyBub3QgY29udGFpbiBhbnkgdGV4dDwvcmVwb3J0PgorICAgICAgICAgICAgICAgPGFzc2VydCB0ZXN0PSJub3JtYWxpemUtc3BhY2UoLikiPlsyXUFuIGVsZW1lbnQgQ0NDIGRvZXMgbm90IGNvbnRhaW4gYW55IHRleHQ8L2Fzc2VydD4KKyAgICAgICAgICAgICAgIDxyZXBvcnQgdGVzdD0ibm90KCopIj5bMV1BbiBlbGVtZW50IENDQyBkb2VzIG5vdCBjb250YWluIGFueSBjaGlsZCBlbGVtZW50PC9yZXBvcnQ+CisgICAgICAgICAgICAgICA8YXNzZXJ0IHRlc3Q9IioiPlsyXUFuIGVsZW1lbnQgQ0NDIGRvZXMgbm90IGNvbnRhaW4gYW55IGNoaWxkIGVsZW1lbnQ8L2Fzc2VydD4KKyAgICAgICAgICA8L3J1bGU+CisgICAgIDwvcGF0dGVybj4KKzwvc2NoZW1hPgorCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uNV8wLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWF0cm9uL3p2b241XzAueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRjN2MzNmIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uNV8wLnhtbApAQCAtMCwwICsxLDUgQEAKKzxBQUE+CisgICAgIDxCQkI+CisgICAgICAgICAgPENDQy8+CisgICAgIDwvQkJCPgorPC9BQUE+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uNV8xLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWF0cm9uL3p2b241XzEueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY5MTVmYTYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uNV8xLnhtbApAQCAtMCwwICsxLDUgQEAKKzxBQUE+CisgICAgIDxCQkI+CisgICAgICAgICAgPENDQz5JIGFtIENDQyBlbGVtZW50PC9DQ0M+CisgICAgIDwvQkJCPgorPC9BQUE+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uNV8yLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWF0cm9uL3p2b241XzIueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhMTE0MDAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uNV8yLnhtbApAQCAtMCwwICsxLDcgQEAKKzxBQUE+CisgICAgIDxCQkI+CisgICAgICAgICAgPENDQz4KKyAgICAgICAgICAgICAgIDxEREQvPgorICAgICAgICAgIDwvQ0NDPgorICAgICA8L0JCQj4KKzwvQUFBPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXRyb24venZvbjYuc2N0IGIvbGlieG1sMi90ZXN0L3NjaGVtYXRyb24venZvbjYuc2N0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY3OGFlNTgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uNi5zY3QKQEAgLTAsMCArMSw4IEBACis8c2NoZW1hIHhtbG5zPSJodHRwOi8vd3d3LmFzY2MubmV0L3htbC9zY2hlbWF0cm9uIiA+CisgICAgIDxwYXR0ZXJuIG5hbWU9IlByZWRlZmluZWQgdmFsdWVzIj4KKyAgICAgICAgICA8cnVsZSBjb250ZXh0PSJBQUEiPgorICAgICAgICAgICAgICAgPHJlcG9ydCB0ZXN0PSJub3JtYWxpemUtc3BhY2UoLikgPSAnYWFhJyBvciBub3JtYWxpemUtc3BhY2UoLikgPSAnYmJiJyI+Ty5LLjwvcmVwb3J0PgorICAgICAgICAgICAgICAgPGFzc2VydCB0ZXN0PSJub3JtYWxpemUtc3BhY2UoLikgPSAnYWFhJyBvciBub3JtYWxpemUtc3BhY2UoLikgPSAnYmJiJyI+VGhlIEFBQSB2YWx1ZSBpcyBub3QgcGVybWl0dGVkLjwvYXNzZXJ0PgorICAgICAgICAgIDwvcnVsZT4KKyAgICAgPC9wYXR0ZXJuPgorPC9zY2hlbWE+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uNl8wLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWF0cm9uL3p2b242XzAueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEzZWZiNzAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uNl8wLnhtbApAQCAtMCwwICsxLDMgQEAKKzxBQUE+CithYWEKKzwvQUFBPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXRyb24venZvbjZfMS54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uNl8xLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZDdkYWY4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXRyb24venZvbjZfMS54bWwKQEAgLTAsMCArMSwzIEBACis8QUFBPgorICAgICAgICAgIGJiYgorPC9BQUE+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uNl8yLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWF0cm9uL3p2b242XzIueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU1NWYyNGQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uNl8yLnhtbApAQCAtMCwwICsxLDMgQEAKKzxBQUE+CisgIGNjYworPC9BQUE+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uNy5zY3QgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uNy5zY3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTIyYTg5ZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWF0cm9uL3p2b243LnNjdApAQCAtMCwwICsxLDkgQEAKKzxzY2hlbWEgeG1sbnM9Imh0dHA6Ly93d3cuYXNjYy5uZXQveG1sL3NjaGVtYXRyb24iID4KKyAgICAgPHBhdHRlcm4gbmFtZT0iVGVzdCBpbnRlZ2VyIj4KKyAgICAgICAgICA8cnVsZSBjb250ZXh0PSJBQUEiPgorICAgICAgICAgICAgICAgPHJlcG9ydCB0ZXN0PSJmbG9vciguKSA9IG51bWJlciguKSI+Ty5LLjwvcmVwb3J0PgorICAgICAgICAgICAgICAgPGFzc2VydCB0ZXN0PSJmbG9vciguKSA9IG51bWJlciguKSI+VGhlIEFBQSB2YWx1ZSBpcyBub3QgYW4gaW50ZWdlci48L2Fzc2VydD4KKyAgICAgICAgICA8L3J1bGU+CisgICAgIDwvcGF0dGVybj4KKzwvc2NoZW1hPgorCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uN18wLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWF0cm9uL3p2b243XzAueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEzZWZiNzAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uN18wLnhtbApAQCAtMCwwICsxLDMgQEAKKzxBQUE+CithYWEKKzwvQUFBPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXRyb24venZvbjdfMS54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uN18xLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZGEwYWU1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjaGVtYXRyb24venZvbjdfMS54bWwKQEAgLTAsMCArMSwzIEBACis8QUFBPgorIDEyLjIzNAorPC9BQUE+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uN18yLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWF0cm9uL3p2b243XzIueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUyN2NmZTcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uN18yLnhtbApAQCAtMCwwICsxLDMgQEAKKzxBQUE+Cis0NQorPC9BQUE+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uN18zLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWF0cm9uL3p2b243XzMueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMxNzI5NWEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uN18zLnhtbApAQCAtMCwwICsxLDMgQEAKKzxBQUE+CiswCis8L0FBQT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWF0cm9uL3p2b243XzQueG1sIGIvbGlieG1sMi90ZXN0L3NjaGVtYXRyb24venZvbjdfNC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGYzNGZiZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWF0cm9uL3p2b243XzQueG1sCkBAIC0wLDAgKzEsMyBAQAorPEFBQT4KKy00NQorPC9BQUE+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uOC5zY3QgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uOC5zY3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTY0MWVjZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWF0cm9uL3p2b244LnNjdApAQCAtMCwwICsxLDEwIEBACis8c2NoZW1hIHhtbG5zPSJodHRwOi8vd3d3LmFzY2MubmV0L3htbC9zY2hlbWF0cm9uIiA+CisgICAgIDxwYXR0ZXJuIG5hbWU9IlRlc3QgY291bnQiPgorICAgICAgICAgIDxydWxlIGNvbnRleHQ9Ii8qIj4KKyAgICAgICAgICAgICAgIDxyZXBvcnQgdGVzdD0iY291bnQoLy9CQkIpID0gY291bnQoLy9BQUEpIj5PLksuPC9yZXBvcnQ+CisgICAgICAgICAgICAgICA8YXNzZXJ0IHRlc3Q9ImNvdW50KC8vQkJCKSAmbHQ7PSBjb3VudCgvL0FBQSkiPlNvbWUgQUFBIGFyZSBtaXNzaW5nPC9hc3NlcnQ+CisgICAgICAgICAgICAgICA8cmVwb3J0IHRlc3Q9ImNvdW50KC8vQkJCKSAmbHQ7IGNvdW50KC8vQUFBKSI+U29tZSBCQkIgYXJlIG1pc3Npbmc8L3JlcG9ydD4KKyAgICAgICAgICA8L3J1bGU+CisgICAgIDwvcGF0dGVybj4KKzwvc2NoZW1hPgorCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uOF8wLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWF0cm9uL3p2b244XzAueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI2NzM5YmIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uOF8wLnhtbApAQCAtMCwwICsxLDggQEAKKzxYWFg+CisgICAgIDxCQkIvPgorICAgICA8QkJCLz4KKyAgICAgPEFBQS8+CisgICAgIDxCQkIvPgorICAgICA8QUFBLz4KKyAgICAgPEFBQS8+Cis8L1hYWD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWF0cm9uL3p2b244XzEueG1sIGIvbGlieG1sMi90ZXN0L3NjaGVtYXRyb24venZvbjhfMS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTk2ZGJlMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWF0cm9uL3p2b244XzEueG1sCkBAIC0wLDAgKzEsNyBAQAorPFhYWD4KKyAgICAgPEJCQi8+CisgICAgIDxBQUEvPgorICAgICA8QkJCLz4KKyAgICAgPEFBQS8+CisgICAgIDxBQUEvPgorPC9YWFg+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uOF8yLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWF0cm9uL3p2b244XzIueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY4NWRlODIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uOF8yLnhtbApAQCAtMCwwICsxLDcgQEAKKzxYWFg+CisgICAgIDxCQkIvPgorICAgICA8QkJCLz4KKyAgICAgPEFBQS8+CisgICAgIDxCQkIvPgorICAgICA8QUFBLz4KKzwvWFhYPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjaGVtYXRyb24venZvbjkuc2N0IGIvbGlieG1sMi90ZXN0L3NjaGVtYXRyb24venZvbjkuc2N0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZmNjc4NzcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uOS5zY3QKQEAgLTAsMCArMSw5IEBACis8c2NoZW1hIHhtbG5zPSJodHRwOi8vd3d3LmFzY2MubmV0L3htbC9zY2hlbWF0cm9uIiA+CisgICAgIDxwYXR0ZXJuIG5hbWU9IlRlc3QgYXR0cmlidXRlIj4KKyAgICAgICAgICA8cnVsZSBjb250ZXh0PSJDQ0MiPgorICAgICAgICAgICAgICAgPHJlcG9ydCB0ZXN0PSJwYXJlbnQ6OkJCQiBhbmQgbm90KEBpZCkiPkF0dHJpYnV0ZSBpZCBpcyBtaXNzaW5nPC9yZXBvcnQ+CisgICAgICAgICAgICAgICA8cmVwb3J0IHRlc3Q9Im5vdChwYXJlbnQ6OkJCQikgYW5kIEBpZCI+QXR0cmlidXRlIGlkIGlzIHVzZWQgaW4gd3JvbmcgY29udGV4dDwvcmVwb3J0PgorICAgICAgICAgIDwvcnVsZT4KKyAgICAgPC9wYXR0ZXJuPgorPC9zY2hlbWE+CisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY2hlbWF0cm9uL3p2b245XzAueG1sIGIvbGlieG1sMi90ZXN0L3NjaGVtYXRyb24venZvbjlfMC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDg3MTUxOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY2hlbWF0cm9uL3p2b245XzAueG1sCkBAIC0wLDAgKzEsNyBAQAorPEFBQT4KKyAgICAgPENDQy8+CisgICAgIDxDQ0MvPgorICAgICA8QkJCPgorICAgICAgICAgIDxDQ0MgaWQ9IlExIi8+CisgICAgIDwvQkJCPgorPC9BQUE+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uOV8xLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWF0cm9uL3p2b245XzEueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVjMWMxYmYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uOV8xLnhtbApAQCAtMCwwICsxLDcgQEAKKzxBQUE+CisgICAgIDxDQ0MgaWQ9IlEyIi8+CisgICAgIDxDQ0MvPgorICAgICA8QkJCPgorICAgICAgICAgIDxDQ0MgaWQ9IlExIi8+CisgICAgIDwvQkJCPgorPC9BQUE+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uOV8yLnhtbCBiL2xpYnhtbDIvdGVzdC9zY2hlbWF0cm9uL3p2b245XzIueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdlMDlmYWIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NoZW1hdHJvbi96dm9uOV8yLnhtbApAQCAtMCwwICsxLDcgQEAKKzxBQUE+CisgICAgIDxDQ0MvPgorICAgICA8Q0NDLz4KKyAgICAgPEJCQj4KKyAgICAgICAgICA8Q0NDLz4KKyAgICAgPC9CQkI+Cis8L0FBQT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY3JpcHRzL2Jhc2Uuc2NyaXB0IGIvbGlieG1sMi90ZXN0L3NjcmlwdHMvYmFzZS5zY3JpcHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWZjM2Y1NwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY3JpcHRzL2Jhc2Uuc2NyaXB0CkBAIC0wLDAgKzEsNyBAQAorYmFzZQorY2QgLy9lCitiYXNlCitjZCAuLy9pbWcKK2Jhc2UKK2V4aXQKKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjcmlwdHMvYmFzZS54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NyaXB0cy9iYXNlLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MWY3MWNiCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjcmlwdHMvYmFzZS54bWwKQEAgLTAsMCArMSw3IEBACis8ZG9jPgorICAgIDxlIHhtbDpiYXNlPSJodHRwOi8vZXhhbXBsZS5jb20vYmFzZS8iPgorCTxpbWFnZXMgeG1sOmJhc2U9ImltYWdlcy8iPgorCSAgICA8aW1nIGhyZWY9ImltZzEuZ2lmIi8+CisJPC9pbWFnZXM+CisgICAgPC9lPgorPC9kb2M+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NyaXB0cy9iYXNlMi5zY3JpcHQgYi9saWJ4bWwyL3Rlc3Qvc2NyaXB0cy9iYXNlMi5zY3JpcHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWZjM2Y1NwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY3JpcHRzL2Jhc2UyLnNjcmlwdApAQCAtMCwwICsxLDcgQEAKK2Jhc2UKK2NkIC8vZQorYmFzZQorY2QgLi8vaW1nCitiYXNlCitleGl0CisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY3JpcHRzL2Jhc2UyLnhtbCBiL2xpYnhtbDIvdGVzdC9zY3JpcHRzL2Jhc2UyLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZTkyYTEwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjcmlwdHMvYmFzZTIueG1sCkBAIC0wLDAgKzEsNyBAQAorPGRvYz4KKyAgICA8ZSB4bWw6YmFzZT0iaHRtbC8iPgorCTxpbWFnZXMgeG1sOmJhc2U9Ii4uL2ltYWdlcy8iPgorCSAgICA8aW1nIGhyZWY9ImltZzEuZ2lmIi8+CisJPC9pbWFnZXM+CisgICAgPC9lPgorPC9kb2M+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NyaXB0cy9zZXQxLnNjcmlwdCBiL2xpYnhtbDIvdGVzdC9zY3JpcHRzL3NldDEuc2NyaXB0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU5YTNlNjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NyaXB0cy9zZXQxLnNjcmlwdApAQCAtMCwwICsxLDIgQEAKK3NldCA8Yi8+CitzYXZlIC0KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY3JpcHRzL3NldDEueG1sIGIvbGlieG1sMi90ZXN0L3NjcmlwdHMvc2V0MS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGNkMDY5NAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY3JpcHRzL3NldDEueG1sCkBAIC0wLDAgKzEgQEAKKzxhPmZvbzwvYT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zY3JpcHRzL3NldDMuc2NyaXB0IGIvbGlieG1sMi90ZXN0L3NjcmlwdHMvc2V0My5zY3JpcHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTk5NzQ1YQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zY3JpcHRzL3NldDMuc2NyaXB0CkBAIC0wLDAgKzEsNSBAQAorY2QgKgoreHBhdGggLy8qW25hbWVzcGFjZS11cmkoKT0iYmFyIl0KK3NldCA8Yi8+Cit4cGF0aCAvLypbbmFtZXNwYWNlLXVyaSgpPSJiYXIiXQorc2F2ZSAtCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NyaXB0cy9zZXQzLnhtbCBiL2xpYnhtbDIvdGVzdC9zY3JpcHRzL3NldDMueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIxMWI0ZTUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NyaXB0cy9zZXQzLnhtbApAQCAtMCwwICsxIEBACis8YSB4bWxucz0iYmFyIj5mb288L2E+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2NyaXB0cy9zZXQ0LnNjcmlwdCBiL2xpYnhtbDIvdGVzdC9zY3JpcHRzL3NldDQuc2NyaXB0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM5ZDY0Y2IKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvc2NyaXB0cy9zZXQ0LnNjcmlwdApAQCAtMCwwICsxLDQgQEAKK2NkIGEvYgorc2V0IDxhOmMvPgoreHBhdGggLy8qW25hbWVzcGFjZS11cmkoKT0iZm9vIl0KK3NhdmUgLQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3NjcmlwdHMvc2V0NC54bWwgYi9saWJ4bWwyL3Rlc3Qvc2NyaXB0cy9zZXQ0LnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYmE0NDAxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NjcmlwdHMvc2V0NC54bWwKQEAgLTAsMCArMSBAQAorPGEgeG1sbnM6YT0iYmFyIj48YiB4bWxuczphPSJmb28iLz48L2E+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2xhc2hkb3QucmRmIGIvbGlieG1sMi90ZXN0L3NsYXNoZG90LnJkZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hN2E2MjRjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NsYXNoZG90LnJkZgpAQCAtMCwwICsxLDY2IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz48cmRmOlJERgoreG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIgoreG1sbnM9Imh0dHA6Ly9teS5uZXRzY2FwZS5jb20vcmRmL3NpbXBsZS8wLjkvIj4KKworICA8Y2hhbm5lbD4KKyAgICA8dGl0bGU+U2xhc2hkb3Q6TmV3cyBmb3IgTmVyZHMuIFN0dWZmIHRoYXQgTWF0dGVycy48L3RpdGxlPgorICAgIDxsaW5rPmh0dHA6Ly9zbGFzaGRvdC5vcmcvPC9saW5rPgorICAgIDxkZXNjcmlwdGlvbj5OZXdzIGZvciBOZXJkcy4gIFN0dWZmIHRoYXQgTWF0dGVyczwvZGVzY3JpcHRpb24+CisgIDwvY2hhbm5lbD4KKworICA8aW1hZ2U+CisgICAgPHRpdGxlPlNsYXNoZG90PC90aXRsZT4KKyAgICA8dXJsPmh0dHA6Ly9zbGFzaGRvdC5vcmcvaW1hZ2VzL3NsYXNoZG90bGcuZ2lmPC91cmw+CisgICAgPGxpbms+aHR0cDovL3NsYXNoZG90Lm9yZzwvbGluaz4KKyAgPC9pbWFnZT4KKyAgCisgIDxpdGVtPgorICAgIDx0aXRsZT4xMDAgTWJpdC9zIG9uIEZpYnJlIHRvIHRoZSBob21lPC90aXRsZT4KKyAgICA8bGluaz5odHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzk5LzA2LzA2LzE0NDAyMTEuc2h0bWw8L2xpbms+CisgIDwvaXRlbT4KKyAgCisgIDxpdGVtPgorICAgIDx0aXRsZT5HaW1wIDEuMiBQcmV2aWV3PC90aXRsZT4KKyAgICA8bGluaz5odHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzk5LzA2LzA2LzE0MzgyNDYuc2h0bWw8L2xpbms+CisgIDwvaXRlbT4KKyAgCisgIDxpdGVtPgorICAgIDx0aXRsZT5Tb255J3MgQUlCTyByb2JvdCBTb2xkIE91dDwvdGl0bGU+CisgICAgPGxpbms+aHR0cDovL3NsYXNoZG90Lm9yZy9hcnRpY2xlcy85OS8wNi8wNi8xNDMyMjU2LnNodG1sPC9saW5rPgorICA8L2l0ZW0+CisgIAorICA8aXRlbT4KKyAgICA8dGl0bGU+QXNrIFNsYXNoZG90OiBBbm90aGVyIFdvcmQgZm9yICJIYWNrZXIiPzwvdGl0bGU+CisgICAgPGxpbms+aHR0cDovL3NsYXNoZG90Lm9yZy9hc2tzbGFzaGRvdC85OS8wNi8wNS8xODE1MjI1LnNodG1sPC9saW5rPgorICA8L2l0ZW0+CisgIAorICA8aXRlbT4KKyAgICA8dGl0bGU+Q29yZWwgTGludXggRkFRPC90aXRsZT4KKyAgICA8bGluaz5odHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzk5LzA2LzA1LzE4NDIyMTguc2h0bWw8L2xpbms+CisgIDwvaXRlbT4KKyAgCisgIDxpdGVtPgorICAgIDx0aXRsZT5VcHNpZGUgZG93bnNpZGVzIE1QMy5DT00uPC90aXRsZT4KKyAgICA8bGluaz5odHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzk5LzA2LzA1LzE1NTgyMTAuc2h0bWw8L2xpbms+CisgIDwvaXRlbT4KKyAgCisgIDxpdGVtPgorICAgIDx0aXRsZT4yIFRlcmFiaXRzIG9mIEJhbmR3aWR0aDwvdGl0bGU+CisgICAgPGxpbms+aHR0cDovL3NsYXNoZG90Lm9yZy9hcnRpY2xlcy85OS8wNi8wNS8xNTU0MjU4LnNodG1sPC9saW5rPgorICA8L2l0ZW0+CisgIAorICA8aXRlbT4KKyAgICA8dGl0bGU+U3VwcHJlc3Npb24gb2YgY29sZCBmdXNpb24gcmVzZWFyY2g/PC90aXRsZT4KKyAgICA8bGluaz5odHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzk5LzA2LzA0LzIzMTMyMDAuc2h0bWw8L2xpbms+CisgIDwvaXRlbT4KKyAgCisgIDxpdGVtPgorICAgIDx0aXRsZT5DYWxpZm9ybmlhIEdvdi4gSGFsdHMgV2FnZSBJbmZvIFNhbGU8L3RpdGxlPgorICAgIDxsaW5rPmh0dHA6Ly9zbGFzaGRvdC5vcmcvYXJ0aWNsZXMvOTkvMDYvMDQvMjM1MjU2LnNodG1sPC9saW5rPgorICA8L2l0ZW0+CisgIAorICA8aXRlbT4KKyAgICA8dGl0bGU+UmVkIEhhdCBBbm5vdW5jZXMgSVBPPC90aXRsZT4KKyAgICA8bGluaz5odHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzk5LzA2LzA0LzA4NDkyMDcuc2h0bWw8L2xpbms+CisgIDwvaXRlbT4KKzwvcmRmOlJERj4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvc2xhc2hkb3QueG1sIGIvbGlieG1sMi90ZXN0L3NsYXNoZG90LnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mOGU3OWU2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NsYXNoZG90LnhtbApAQCAtMCwwICsxLDExMiBAQAorPHVsdHJhbW9kZT4KKyA8c3Rvcnk+CisgICAgPHRpdGxlPjEwMCBNYml0L3Mgb24gRmlicmUgdG8gdGhlIGhvbWU8L3RpdGxlPgorICAgIDx1cmw+aHR0cDovL3NsYXNoZG90Lm9yZy9hcnRpY2xlcy85OS8wNi8wNi8xNDQwMjExLnNodG1sPC91cmw+CisgICAgPHRpbWU+MTk5OS0wNi0wNiAxNDozOTo1OTwvdGltZT4KKyAgICA8YXV0aG9yPkNtZHJUYWNvPC9hdXRob3I+CisgICAgPGRlcGFydG1lbnQ+d291bGRuJ3QtaXQtYmUtbmljZTwvZGVwYXJ0bWVudD4KKyAgICA8dG9waWM+aW50ZXJuZXQ8L3RvcGljPgorICAgIDxjb21tZW50cz4yMDwvY29tbWVudHM+CisgICAgPHNlY3Rpb24+YXJ0aWNsZXM8L3NlY3Rpb24+CisgICAgPGltYWdlPnRvcGljaW50ZXJuZXQuanBnPC9pbWFnZT4KKyAgPC9zdG9yeT4KKyA8c3Rvcnk+CisgICAgPHRpdGxlPkdpbXAgMS4yIFByZXZpZXc8L3RpdGxlPgorICAgIDx1cmw+aHR0cDovL3NsYXNoZG90Lm9yZy9hcnRpY2xlcy85OS8wNi8wNi8xNDM4MjQ2LnNodG1sPC91cmw+CisgICAgPHRpbWU+MTk5OS0wNi0wNiAxNDozODo0MDwvdGltZT4KKyAgICA8YXV0aG9yPkNtZHJUYWNvPC9hdXRob3I+CisgICAgPGRlcGFydG1lbnQ+c3R1ZmYtdG8tcmVhZDwvZGVwYXJ0bWVudD4KKyAgICA8dG9waWM+Z2ltcDwvdG9waWM+CisgICAgPGNvbW1lbnRzPjEyPC9jb21tZW50cz4KKyAgICA8c2VjdGlvbj5hcnRpY2xlczwvc2VjdGlvbj4KKyAgICA8aW1hZ2U+dG9waWNnaW1wLmdpZjwvaW1hZ2U+CisgIDwvc3Rvcnk+CisgPHN0b3J5PgorICAgIDx0aXRsZT5Tb255J3MgQUlCTyByb2JvdCBTb2xkIE91dDwvdGl0bGU+CisgICAgPHVybD5odHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzk5LzA2LzA2LzE0MzIyNTYuc2h0bWw8L3VybD4KKyAgICA8dGltZT4xOTk5LTA2LTA2IDE0OjMyOjUxPC90aW1lPgorICAgIDxhdXRob3I+Q21kclRhY288L2F1dGhvcj4KKyAgICA8ZGVwYXJ0bWVudD5zdHVmZi10by1zZWU8L2RlcGFydG1lbnQ+CisgICAgPHRvcGljPnRlY2g8L3RvcGljPgorICAgIDxjb21tZW50cz4xMDwvY29tbWVudHM+CisgICAgPHNlY3Rpb24+YXJ0aWNsZXM8L3NlY3Rpb24+CisgICAgPGltYWdlPnRvcGljdGVjaDIuanBnPC9pbWFnZT4KKyAgPC9zdG9yeT4KKyA8c3Rvcnk+CisgICAgPHRpdGxlPkFzayBTbGFzaGRvdDogQW5vdGhlciBXb3JkIGZvciAiSGFja2VyIj88L3RpdGxlPgorICAgIDx1cmw+aHR0cDovL3NsYXNoZG90Lm9yZy9hc2tzbGFzaGRvdC85OS8wNi8wNS8xODE1MjI1LnNodG1sPC91cmw+CisgICAgPHRpbWU+MTk5OS0wNi0wNSAyMDowMDowMDwvdGltZT4KKyAgICA8YXV0aG9yPkNsaWZmPC9hdXRob3I+CisgICAgPGRlcGFydG1lbnQ+aGFja2VyLXZzLWNyYWNrZXI8L2RlcGFydG1lbnQ+CisgICAgPHRvcGljPm5ld3M8L3RvcGljPgorICAgIDxjb21tZW50cz4zODU8L2NvbW1lbnRzPgorICAgIDxzZWN0aW9uPmFza3NsYXNoZG90PC9zZWN0aW9uPgorICAgIDxpbWFnZT50b3BpY25ld3MuZ2lmPC9pbWFnZT4KKyAgPC9zdG9yeT4KKyA8c3Rvcnk+CisgICAgPHRpdGxlPkNvcmVsIExpbnV4IEZBUTwvdGl0bGU+CisgICAgPHVybD5odHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzk5LzA2LzA1LzE4NDIyMTguc2h0bWw8L3VybD4KKyAgICA8dGltZT4xOTk5LTA2LTA1IDE4OjQyOjA2PC90aW1lPgorICAgIDxhdXRob3I+Q21kclRhY288L2F1dGhvcj4KKyAgICA8ZGVwYXJ0bWVudD5zdHVmZi10by1yZWFkPC9kZXBhcnRtZW50PgorICAgIDx0b3BpYz5jb3JlbDwvdG9waWM+CisgICAgPGNvbW1lbnRzPjE2NDwvY29tbWVudHM+CisgICAgPHNlY3Rpb24+YXJ0aWNsZXM8L3NlY3Rpb24+CisgICAgPGltYWdlPnRvcGljY29yZWwuZ2lmPC9pbWFnZT4KKyAgPC9zdG9yeT4KKyA8c3Rvcnk+CisgICAgPHRpdGxlPlVwc2lkZSBkb3duc2lkZXMgTVAzLkNPTS48L3RpdGxlPgorICAgIDx1cmw+aHR0cDovL3NsYXNoZG90Lm9yZy9hcnRpY2xlcy85OS8wNi8wNS8xNTU4MjEwLnNodG1sPC91cmw+CisgICAgPHRpbWU+MTk5OS0wNi0wNSAxNTo1Njo0NTwvdGltZT4KKyAgICA8YXV0aG9yPkNtZHJUYWNvPC9hdXRob3I+CisgICAgPGRlcGFydG1lbnQ+c3R1ZmYtdG8tdGhpbmstYWJvdXQ8L2RlcGFydG1lbnQ+CisgICAgPHRvcGljPm11c2ljPC90b3BpYz4KKyAgICA8Y29tbWVudHM+NDg8L2NvbW1lbnRzPgorICAgIDxzZWN0aW9uPmFydGljbGVzPC9zZWN0aW9uPgorICAgIDxpbWFnZT50b3BpY211c2ljLmdpZjwvaW1hZ2U+CisgIDwvc3Rvcnk+CisgPHN0b3J5PgorICAgIDx0aXRsZT4yIFRlcmFiaXRzIG9mIEJhbmR3aWR0aDwvdGl0bGU+CisgICAgPHVybD5odHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzk5LzA2LzA1LzE1NTQyNTguc2h0bWw8L3VybD4KKyAgICA8dGltZT4xOTk5LTA2LTA1IDE1OjUzOjQzPC90aW1lPgorICAgIDxhdXRob3I+Q21kclRhY288L2F1dGhvcj4KKyAgICA8ZGVwYXJ0bWVudD5mYXN0ZXItcG9ybjwvZGVwYXJ0bWVudD4KKyAgICA8dG9waWM+aW50ZXJuZXQ8L3RvcGljPgorICAgIDxjb21tZW50cz42NjwvY29tbWVudHM+CisgICAgPHNlY3Rpb24+YXJ0aWNsZXM8L3NlY3Rpb24+CisgICAgPGltYWdlPnRvcGljaW50ZXJuZXQuanBnPC9pbWFnZT4KKyAgPC9zdG9yeT4KKyA8c3Rvcnk+CisgICAgPHRpdGxlPlN1cHByZXNzaW9uIG9mIGNvbGQgZnVzaW9uIHJlc2VhcmNoPzwvdGl0bGU+CisgICAgPHVybD5odHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzk5LzA2LzA0LzIzMTMyMDAuc2h0bWw8L3VybD4KKyAgICA8dGltZT4xOTk5LTA2LTA0IDIzOjEyOjI5PC90aW1lPgorICAgIDxhdXRob3I+SGVtb3M8L2F1dGhvcj4KKyAgICA8ZGVwYXJ0bWVudD5wb3NzaWJseS1wcm9iYWJseTwvZGVwYXJ0bWVudD4KKyAgICA8dG9waWM+c2NpZW5jZTwvdG9waWM+CisgICAgPGNvbW1lbnRzPjIxNzwvY29tbWVudHM+CisgICAgPHNlY3Rpb24+YXJ0aWNsZXM8L3NlY3Rpb24+CisgICAgPGltYWdlPnRvcGljc2NpZW5jZS5naWY8L2ltYWdlPgorICA8L3N0b3J5PgorIDxzdG9yeT4KKyAgICA8dGl0bGU+Q2FsaWZvcm5pYSBHb3YuIEhhbHRzIFdhZ2UgSW5mbyBTYWxlPC90aXRsZT4KKyAgICA8dXJsPmh0dHA6Ly9zbGFzaGRvdC5vcmcvYXJ0aWNsZXMvOTkvMDYvMDQvMjM1MjU2LnNodG1sPC91cmw+CisgICAgPHRpbWU+MTk5OS0wNi0wNCAyMzowNTozNDwvdGltZT4KKyAgICA8YXV0aG9yPkhlbW9zPC9hdXRob3I+CisgICAgPGRlcGFydG1lbnQ+d29vLWhvbyE8L2RlcGFydG1lbnQ+CisgICAgPHRvcGljPnVzYTwvdG9waWM+CisgICAgPGNvbW1lbnRzPjE2PC9jb21tZW50cz4KKyAgICA8c2VjdGlvbj5hcnRpY2xlczwvc2VjdGlvbj4KKyAgICA8aW1hZ2U+dG9waWN1cy5naWY8L2ltYWdlPgorICA8L3N0b3J5PgorIDxzdG9yeT4KKyAgICA8dGl0bGU+UmVkIEhhdCBBbm5vdW5jZXMgSVBPPC90aXRsZT4KKyAgICA8dXJsPmh0dHA6Ly9zbGFzaGRvdC5vcmcvYXJ0aWNsZXMvOTkvMDYvMDQvMDg0OTIwNy5zaHRtbDwvdXJsPgorICAgIDx0aW1lPjE5OTktMDYtMDQgMTk6MzA6MTg8L3RpbWU+CisgICAgPGF1dGhvcj5KdXN0aW48L2F1dGhvcj4KKyAgICA8ZGVwYXJ0bWVudD5kZXRhaWxzLXNrZXRjaHk8L2RlcGFydG1lbnQ+CisgICAgPHRvcGljPnJlZGhhdDwvdG9waWM+CisgICAgPGNvbW1lbnRzPjE1NTwvY29tbWVudHM+CisgICAgPHNlY3Rpb24+YXJ0aWNsZXM8L3NlY3Rpb24+CisgICAgPGltYWdlPnRvcGljcmVkaGF0LmdpZjwvaW1hZ2U+CisgIDwvc3Rvcnk+Cis8L3VsdHJhbW9kZT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zbGFzaGRvdDE2LnhtbCBiL2xpYnhtbDIvdGVzdC9zbGFzaGRvdDE2LnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNmE3ZjJhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3NsYXNoZG90MTYueG1sCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zdmcxIGIvbGlieG1sMi90ZXN0L3N2ZzEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTNiZjM4ZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zdmcxCkBAIC0wLDAgKzEsMTYzIEBACis8P3htbCB2ZXJzaW9uID0gIjEuMCIgc3RhbmRhbG9uZSA9ICJ5ZXMiPz4KKzwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgQXByaWwgMTk5OS8vRU4iCisgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy9zdmctMTk5OTA0MTIuZHRkIj4KKzxzdmcgd2lkdGggPSAiMjQycHgiIGhlaWdodD0iMzgzcHgiPgorPGcgc3R5bGUgPSAic3Ryb2tlOiAjMDAwMDAwIiA+IAorPC9nPiAKKzxnIHN0eWxlID0gImZpbGw6ICNmMmNjOTkiID4gCisgICA8cG9seWxpbmUgdmVydHMgPSAiIDY5LDE4IDgyLDggOTksMyAxMTgsNSAxMzUsMTIgMTQ5LDIxIDE1NiwxMyAxNjUsOSAxNzcsMTMgMTgzLDI4IDE4MCw1MCAxNjQsOTEgMTU1LDEwNyAxNTQsMTE0IDE1MSwxMjEgMTQxLDEyNyAxMzksMTM2IDE1NSwyMDYgMTU3LDI1MSAxMjYsMzQyIDEzMywzNTcgMTI4LDM3NiA4MywzNzYgNzUsMzY4IDY3LDM1MCA2MSwzNTAgNTMsMzY5IDQsMzY5IDIsMzYxIDUsMzU0IDEyLDM0MiAxNiwzMjEgNCwyNTcgNCwyNDQgNywyMTggOSwxNzkgMjYsMTI3IDQzLDkzIDMyLDc3IDMwLDcwIDI0LDY3IDE2LDQ5IDE3LDM1IDE4LDIzIDMwLDEyIDQwLDcgNTMsNyA2MiwxMiA2OSwxOCA2OSwxOCA2OSwxOCIvPiAKKzwvZz4gCis8ZyBzdHlsZSA9ICJmaWxsOiAjZTViMjdmIiA+IAorICAgPHBvbHlsaW5lIHZlcnRzID0gIiAxNDIsNzkgMTM2LDc0IDEzOCw4MiAxMzMsNzggMTMzLDg0IDEyNyw3OCAxMjgsODUgMTI0LDgwIDEyNSw4NyAxMTksODIgMTE5LDkwIDEyNSw5OSAxMjUsOTYgMTI4LDEwMCAxMjgsOTQgMTMxLDk4IDEzMiw5MyAxMzUsOTcgMTM2LDkzIDEzOCw5NyAxMzksOTQgMTQxLDk4IDE0Myw5NCAxNDQsODUgMTQyLDc5IDE0Miw3OSAxNDIsNzkiLz4gCis8L2c+IAorPGcgc3R5bGUgPSAiZmlsbDogI2ViODA4MCIgPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cyA9ICIgMTI3LDEwMSAxMzIsMTAwIDEzNyw5OSAxNDQsMTAxIDE0MywxMDUgMTM1LDExMCAxMjcsMTAxIDEyNywxMDEgMTI3LDEwMSIvPiAKKzwvZz4gCis8ZyBzdHlsZSA9ICJmaWxsOiAjZjJjYzk5IiA+IAorICAgPHBvbHlsaW5lIHZlcnRzID0gIiAxNzgsMjI5IDE1NywyNDggMTM5LDI5NiAxMjYsMzQ5IDEzNywzNTYgMTU4LDM1NyAxODMsMzQyIDIxMiwzMzIgMjM1LDI4OCAyMzUsMjYxIDIyOCwyNTIgMjEyLDI1MCAxODgsMjUxIDE3OCwyMjkgMTc4LDIyOSAxNzgsMjI5Ii8+IAorPC9nPiAKKzxnIHN0eWxlID0gImZpbGw6ICM5YzgyNmIiID4gCisgICA8cG9seWxpbmUgdmVydHMgPSAiIDU2LDIyOSA0OCwyNDEgNDgsMjUwIDU3LDI4MSA2MywzMjUgNzEsMzM4IDgxLDMxNSA3NiwzMjEgNzksMzExIDgzLDMwMSA3NSwzMDggODAsMjk4IDczLDMwMyA3NiwyOTYgNzEsMjk4IDc0LDI5MiA2OSwyOTMgNzQsMjg0IDc4LDI3OCA3MSwyNzggNzQsMjc0IDY4LDI3MyA3MCwyNjggNjYsMjY3IDY4LDI2MSA2MCwyNjYgNjIsMjU5IDY1LDI1MyA1NywyNTggNTksMjUxIDU1LDI1NCA1NSwyNDggNjAsMjM3IDU0LDI0MCA1OCwyMzQgNTQsMjM2IDU2LDIyOSA1NiwyMjkgNTYsMjI5Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzID0gIiA3NCwzNjMgNzksMzY4IDgxLDM2OCA4NSwzNjIgODksMzYzIDkyLDM3MCA5NiwzNzMgMTAxLDM3MiAxMDgsMzYxIDExMCwzNzEgMTEzLDM3MyAxMTYsMzcxIDEyMCwzNTggMTIyLDM2MyAxMjMsMzcxIDEyNiwzNzEgMTI5LDM2NyAxMzIsMzU3IDEzNSwzNjEgMTMwLDM3NiAxMjcsMzc3IDk0LDM3OCA4NCwzNzYgNzYsMzcxIDc0LDM2MyA3NCwzNjMgNzQsMzYzIi8+IAorICAgPHBvbHlsaW5lIHZlcnRzID0gIiAyMTIsMjUwIDIxOSwyNTEgMjI4LDI1OCAyMzYsMjcwIDIzNSwyODcgMjI1LDMwNCAyMDUsMzMyIDE3NywzNDMgMTcxLDM1MiAxNTgsMzU3IDE2NiwzNTIgMTY4LDM0NiAxNjgsMzM5IDE2NSwzMzMgMTU1LDMyNyAxNTUsMzIzIDE2MSwzMjAgMTY1LDMxNiAxNjksMzE2IDE2NywzMTIgMTcxLDMxMyAxNjgsMzA4IDE3MywzMDkgMTcwLDMwNiAxNzcsMzA2IDE3NSwzMDggMTc3LDMxMSAxNzQsMzExIDE3NiwzMTYgMTcxLDMxNSAxNzQsMzE5IDE2OCwzMjAgMTY4LDMyMyAxNzUsMzI3IDE3OSwzMzIgMTgzLDMyNiAxODQsMzMyIDE4OSwzMjMgMTkwLDMyOCAxOTQsMzIwIDE5NCwzMjUgMTk5LDMxNiAyMDEsMzIwIDIwNCwzMTMgMjA2LDMxNiAyMDgsMzEwIDIxMSwzMDUgMjE5LDI5OCAyMjYsMjg4IDIyOSwyNzkgMjI4LDI2NiAyMjQsMjU5IDIxNywyNTMgMjEyLDI1MCAyMTIsMjUwIDIxMiwyNTAiLz4gCisgICA8cG9seWxpbmUgdmVydHMgPSAiIDE1MSwyMDUgMTUxLDIzOCAxNDksMjUyIDE0MSwyNjggMTI4LDI4MiAxMjEsMzAxIDEzMCwzMDAgMTI2LDMxMyAxMTgsMzI0IDExNiwzMzcgMTIwLDM0NiAxMzMsMzUyIDEzMywzNDAgMTM3LDMzMyAxNDUsMzI5IDE1NiwzMjcgMTUzLDMxOSAxNTMsMjkxIDE1NywyNzEgMTcwLDI1OSAxNzgsMjc3IDE5MywyNTAgMTc0LDIxNiAxNTEsMjA1IDE1MSwyMDUgMTUxLDIwNSIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cyA9ICIgNzgsMTI3IDkwLDE0MiA5NSwxNTUgMTA4LDE2NCAxMjUsMTY3IDEzOSwxNzUgMTUwLDIwNiAxNTIsMTkxIDE0MSwxNDAgMTIxLDE0OCAxMDAsMTM2IDc4LDEyNyA3OCwxMjcgNzgsMTI3Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzID0gIiAyMSw1OCAzNSw2MyAzOCw2OCAzMiw2OSA0Miw3NCA0MCw3OSA0Nyw4MCA1NCw4MyA0NSw5NCAzNCw4MSAzMiw3MyAyNCw2NiAyMSw1OCAyMSw1OCAyMSw1OCIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cyA9ICIgNzEsMzQgNjcsMzQgNjYsMjcgNTksMjQgNTQsMTcgNDgsMTcgMzksMjIgMzAsMjYgMjgsMzEgMzEsMzkgMzgsNDYgMjksNDUgMzYsNTQgNDEsNjEgNDEsNzAgNTAsNjkgNTQsNzEgNTUsNTggNjcsNTIgNzYsNDMgNzYsMzkgNjgsNDQgNzEsMzQgNzEsMzQgNzEsMzQiLz4gCisgICA8cG9seWxpbmUgdmVydHMgPSAiIDEzOSw3NCAxNDEsODMgMTQzLDg5IDE0NCwxMDQgMTQ4LDEwNCAxNTUsMTA2IDE1NCw4NiAxNTcsNzcgMTU1LDcyIDE1MCw3NyAxNDQsNzcgMTM5LDc0IDEzOSw3NCAxMzksNzQiLz4gCisgICA8cG9seWxpbmUgdmVydHMgPSAiIDEwNSw0NCAxMDIsNTMgMTA4LDU4IDExMSw2MiAxMTIsNTUgMTA1LDQ0IDEwNSw0NCAxMDUsNDQiLz4gCisgICA8cG9seWxpbmUgdmVydHMgPSAiIDE0MSw0OCAxNDEsNTQgMTQ0LDU4IDEzOSw2MiAxMzcsNjYgMTM2LDU5IDEzNyw1MiAxNDEsNDggMTQxLDQ4IDE0MSw0OCIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cyA9ICIgOTgsMTM1IDEwNCwxMzAgMTA1LDEzNCAxMDgsMTMyIDEwOCwxMzUgMTEyLDEzNCAxMTMsMTM3IDExNiwxMzYgMTE2LDEzOSAxMTksMTM5IDEyNCwxNDEgMTI4LDE0MCAxMzMsMTM4IDE0MCwxMzMgMTM5LDE0MCAxMjYsMTQ2IDEwNCwxNDQgOTgsMTM1IDk4LDEzNSA5OCwxMzUiLz4gCisgICA8cG9seWxpbmUgdmVydHMgPSAiIDk3LDExNiAxMDMsMTE5IDEwMywxMTYgMTExLDExOCAxMTYsMTE3IDEyMiwxMTQgMTI3LDEwNyAxMzUsMTExIDE0MiwxMDcgMTQxLDExNCAxNDUsMTE4IDE0OSwxMjEgMTQ1LDEyNSAxNDAsMTI0IDEyNywxMjEgMTEzLDEyNSAxMDAsMTI0IDk3LDExNiA5NywxMTYgOTcsMTE2Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzID0gIiAxNDcsMzMgMTUyLDM1IDE1NywzNCAxNTMsMzEgMTYwLDMxIDE1NiwyOCAxNjEsMjggMTU5LDI0IDE2MywyNSAxNjMsMjEgMTY1LDIyIDE3MCwyMyAxNjcsMTcgMTcyLDIxIDE3NCwxOCAxNzUsMjMgMTc2LDIyIDE3NywyOCAxNzcsMzMgMTc0LDM3IDE3NiwzOSAxNzQsNDQgMTcxLDQ5IDE2OCw1MyAxNjQsNTcgMTU5LDY4IDE1Niw3MCAxNTQsNjAgMTUwLDUxIDE0Niw0MyAxNDQsMzUgMTQ3LDMzIDE0NywzMyAxNDcsMzMiLz4gCisgICA8cG9seWxpbmUgdmVydHMgPSAiIDg1LDcyIDg5LDc0IDkzLDc1IDEwMCw3NiAxMDUsNzUgMTAyLDc5IDk0LDc5IDg4LDc2IDg1LDcyIDg1LDcyIDg1LDcyIi8+IAorICAgPHBvbHlsaW5lIHZlcnRzID0gIiA4NiwyMTQgNzksMjIxIDc2LDIzMiA4MiwyMjUgNzgsMjM5IDgyLDIzNCA3OCwyNDUgODEsMjQzIDc5LDI1NSA4NCwyNTAgODQsMjY3IDg3LDI1NCA5MCwyNzEgOTAsMjU3IDk1LDI3MSA5MywyNTYgOTUsMjQ5IDkyLDI1MiA5MywyNDMgODksMjUzIDg5LDI0MSA4NiwyNTAgODcsMjM2IDgzLDI0NSA4NywyMzEgODIsMjMxIDkwLDIxOSA4NCwyMjEgODYsMjE0IDg2LDIxNCA4NiwyMTQiLz4gCis8L2c+IAorPGcgc3R5bGUgPSAiZmlsbDogI2ZmY2M3ZiIgPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cyA9ICIgOTMsNjggOTYsNzIgMTAwLDczIDEwNiw3MiAxMDgsNjYgMTA1LDYzIDEwMCw2MiA5Myw2OCA5Myw2OCA5Myw2OCIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cyA9ICIgMTQ0LDY0IDE0Miw2OCAxNDIsNzMgMTQ2LDc0IDE1MCw3MyAxNTQsNjQgMTQ5LDYyIDE0NCw2NCAxNDQsNjQgMTQ0LDY0Ii8+IAorPC9nPiAKKzxnIHN0eWxlID0gImZpbGw6ICM5YzgyNmIiID4gCisgICA8cG9seWxpbmUgdmVydHMgPSAiIDU3LDkxIDQyLDExMSA1MiwxMDUgNDEsMTE3IDUzLDExMiA0NiwxMjAgNTMsMTE2IDUwLDEyNCA1NywxMTkgNTUsMTI3IDYxLDEyMiA2MCwxMzAgNjcsMTI2IDY2LDEzNCA3MSwxMjkgNzIsMTM2IDc3LDEzMCA3NiwxMzcgODAsMTMzIDgyLDEzOCA4NiwxMzUgOTYsMTM1IDk0LDEyOSA4NiwxMjQgODMsMTE3IDc3LDEyMyA3OSwxMTcgNzMsMTIwIDc1LDExMiA2OCwxMTYgNzEsMTExIDY1LDExNCA2OSwxMDcgNjMsMTEwIDY4LDEwMiA2MSwxMDcgNjYsOTggNjEsMTAzIDYzLDk3IDU3LDk5IDU3LDkxIDU3LDkxIDU3LDkxIi8+IAorICAgPHBvbHlsaW5lIHZlcnRzID0gIiA4Myw3OSA3Niw3OSA2Nyw4MiA3NSw4MyA2NSw4OCA3Niw4NyA2NSw5MiA3Niw5MSA2OCw5NiA3Nyw5NSA3MCw5OSA4MCw5OCA3MiwxMDQgODAsMTAyIDc2LDEwOCA4NSwxMDMgOTIsMTAxIDg3LDk4IDkzLDk2IDg2LDk0IDkxLDkzIDg1LDkxIDkzLDg5IDk5LDg5IDEwNSw5MyAxMDcsODUgMTAyLDgyIDkyLDgwIDgzLDc5IDgzLDc5IDgzLDc5Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzID0gIiAxMDksNzcgMTExLDgzIDEwOSw4OSAxMTMsOTQgMTE3LDkwIDExNyw4MSAxMTQsNzggMTA5LDc3IDEwOSw3NyAxMDksNzciLz4gCisgICA8cG9seWxpbmUgdmVydHMgPSAiIDEyMiwxMjggMTI3LDEyNiAxMzQsMTI3IDEzNiwxMjkgMTM0LDEzMCAxMzAsMTI4IDEyNCwxMjkgMTIyLDEyOCAxMjIsMTI4IDEyMiwxMjgiLz4gCisgICA8cG9seWxpbmUgdmVydHMgPSAiIDc4LDI3IDgyLDMyIDgwLDMzIDgyLDM2IDc4LDM3IDgyLDQwIDc4LDQyIDgxLDQ2IDc2LDQ3IDc4LDQ5IDc0LDUwIDgyLDUyIDg3LDUwIDgzLDQ4IDkxLDQ2IDg2LDQ1IDkxLDQyIDg4LDQwIDkyLDM3IDg2LDM0IDkwLDMxIDg2LDI5IDg5LDI2IDc4LDI3IDc4LDI3IDc4LDI3Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzID0gIiA4MiwxNyA5MiwyMCA3OSwyMSA5MCwyNSA4MSwyNSA5NCwyOCA5MywyNiAxMDEsMzAgMTAxLDI2IDEwNywzMyAxMDgsMjggMTExLDQwIDExMywzNCAxMTUsNDUgMTE3LDM5IDExOSw1NCAxMjEsNDYgMTI0LDU4IDEyNiw0NyAxMjksNTkgMTMwLDQ5IDEzNCw1OCAxMzMsNDQgMTM3LDQ4IDEzMywzNyAxMzcsNDAgMTMzLDMyIDEyNiwyMCAxMzUsMjYgMTMyLDE5IDEzOCwyMyAxMzUsMTcgMTQyLDE4IDEzMiwxMSAxMTYsNiA5NCw2IDc4LDExIDkyLDEyIDgwLDE0IDkwLDE2IDgyLDE3IDgyLDE3IDgyLDE3Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzID0gIiAxNDIsMjM0IDEzMiwyMjcgMTI0LDIyMyAxMTUsMjIwIDExMCwyMjUgMTE4LDIyNCAxMjcsMjI5IDEzNSwyMzYgMTIyLDIzNCAxMTUsMjM3IDExMywyNDIgMTIxLDIzOCAxMzksMjQzIDEyMSwyNDUgMTExLDI1NCA5NSwyNTQgMTAyLDI0NCAxMDQsMjM1IDExMCwyMjkgMTAwLDIzMSAxMDQsMjI0IDExMywyMTYgMTIyLDIxNSAxMzIsMjE3IDE0MSwyMjQgMTQ1LDIzMCAxNDksMjQwIDE0MiwyMzQgMTQyLDIzNCAxNDIsMjM0Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzID0gIiAxMTUsMjUyIDEyNSwyNDggMTM3LDI0OSAxNDMsMjU4IDEzNCwyNTUgMTI1LDI1NCAxMTUsMjUyIDExNSwyNTIgMTE1LDI1MiIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cyA9ICIgMTE0LDIxMiAxMzAsMjEzIDE0MCwyMTkgMTQ3LDIyNSAxNDQsMjE0IDEzNywyMDkgMTI4LDIwNyAxMTQsMjEyIDExNCwyMTIgMTE0LDIxMiIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cyA9ICIgMTAyLDI2MyAxMDgsMjU4IDExNywyNTcgMTMxLDI1OCAxMTYsMjYwIDEwOSwyNjUgMTAyLDI2MyAxMDIsMjYzIDEwMiwyNjMiLz4gCisgICA8cG9seWxpbmUgdmVydHMgPSAiIDUxLDI0MSAzNSwyMjQgNDAsMjM4IDIzLDIyNCAzMSwyNDIgMTksMjM5IDI4LDI0NyAxNywyNDYgMjUsMjUwIDM3LDI1NCAzOSwyNjMgNDQsMjcxIDQ3LDI5NCA0OCwzMTcgNTEsMzI4IDYwLDM1MSA2MCwzMjMgNTMsMjYyIDQ3LDI0NiA1MSwyNDEgNTEsMjQxIDUxLDI0MSIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cyA9ICIgMiwzNjQgOSwzNjcgMTQsMzY2IDE4LDM1NSAyMCwzNjQgMjYsMzY2IDMxLDM1NyAzNSwzNjQgMzksMzY0IDQyLDM1NyA0NywzNjMgNTMsMzYwIDU5LDM1NyA1NCwzNjkgNywzNzMgMiwzNjQgMiwzNjQgMiwzNjQiLz4gCisgICA8cG9seWxpbmUgdmVydHMgPSAiIDcsMzQ5IDE5LDM0NSAyNSwzMzkgMTgsMzQxIDIzLDMzMyAyOCwzMjYgMjMsMzI2IDI3LDMyMCAyMywzMTYgMjUsMzExIDIwLDI5OCAxNSwyNzcgMTIsMjY0IDksMjQ5IDEwLDIyMyAzLDI0OCA1LDI2MSAxNSwzMDcgMTcsMzI2IDExLDM0MyA3LDM0OSA3LDM0OSA3LDM0OSIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cyA9ICIgMTEsMjI2IDE1LDIzMSAyNSwyMzYgMTgsMjI3IDExLDIyNiAxMSwyMjYgMTEsMjI2Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzID0gIiAxMywyMTQgMTksMjE3IDMyLDIyNyAyMywyMTQgMTYsMjA4IDE1LDE5MCAyNCwxNDggMzEsMTIxIDI0LDEzNyAxNCwxNzAgOCwxODkgMTMsMjE0IDEzLDIxNCAxMywyMTQiLz4gCisgICA8cG9seWxpbmUgdmVydHMgPSAiIDIwMiwyNTQgMTk1LDI1OCAxOTksMjYwIDE5MywyNjMgMTk3LDI2MyAxOTAsMjY4IDE5NiwyNjggMTkxLDI3MyAxODgsMjgyIDIwMCwyNzIgMTk0LDI3MiAyMDEsMjY2IDE5NywyNjUgMjA0LDI2MiAyMDAsMjU4IDIwNCwyNTYgMjAyLDI1NCAyMDIsMjU0IDIwMiwyNTQiLz4gCis8L2c+IAorPGcgc3R5bGUgPSAiZmlsbDogIzg0NTQzMyIgPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cyA9ICIgMTUxLDIxMyAxNjUsMjEyIDE3OSwyMjUgMTg5LDI0NiAxODcsMjYyIDE3OSwyNzUgMTc2LDI2MyAxNzcsMjQ3IDE3MSwyMzMgMTYzLDIzMCAxNjUsMjUxIDE1NywyNjQgMTQ2LDI5OCAxNDUsMzIxIDEzMywzMjYgMTQzLDI4NSAxNTQsMjYwIDE1MywyNDAgMTUxLDIxMyAxNTEsMjEzIDE1MSwyMTMiLz4gCisgICA8cG9seWxpbmUgdmVydHMgPSAiIDkxLDEzMiA5NSwxNDUgOTcsMTU0IDEwNCwxNDggMTA3LDE1NSAxMDksMTUwIDExMSwxNTggMTE1LDE1MiAxMTgsMTU5IDEyMCwxNTMgMTI1LDE2MSAxMjYsMTU1IDEzMywxNjQgMTMyLDE1NCAxMzcsMTYzIDEzNywxNTIgMTQyLDE2MyAxNDcsMTg2IDE1MiwxOTIgMTQ4LDE2NyAxNDEsMTQzIDEyNCwxNDUgMTA1LDE0MyA5MSwxMzIgOTEsMTMyIDkxLDEzMiIvPiAKKzwvZz4gCis8ZyBzdHlsZSA9ICJmaWxsOiAjOWM4MjZiIiA+IAorICAgPHBvbHlsaW5lIHZlcnRzID0gIiAzMSw1NyAyMyw1MiAyNiw1MSAyMCw0NCAyMyw0MiAyMSwzNiAyMiwyOSAyNSwyMyAyNCwzMiAzMCw0MyAyNiw0MSAzMCw1MCAyNiw0OCAzMSw1NyAzMSw1NyAzMSw1NyIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cyA9ICIgMTQ3LDIxIDE0OSwyOCAxNTUsMjEgMTYxLDE2IDE2NywxNCAxNzUsMTUgMTczLDExIDE2MSw5IDE0NywyMSAxNDcsMjEgMTQ3LDIxIi8+IAorICAgPHBvbHlsaW5lIHZlcnRzID0gIiAxODEsMzkgMTc1LDUxIDE2OSw1NyAxNzEsNjUgMTY1LDY4IDE2NSw3NSAxNjAsNzYgMTYyLDkxIDE3MSw3MSAxODAsNTEgMTgxLDM5IDE4MSwzOSAxODEsMzkiLz4gCisgICA8cG9seWxpbmUgdmVydHMgPSAiIDEzMiwzNDYgMTM5LDM0OCAxNDEsMzQ2IDE0MiwzNDEgMTQ3LDM0MiAxNDMsMzU1IDEzMywzNTAgMTMyLDM0NiAxMzIsMzQ2IDEzMiwzNDYiLz4gCisgICA8cG9seWxpbmUgdmVydHMgPSAiIDE0NiwzNTUgMTUxLDM1MiAxNTUsMzQ4IDE1NywzNDMgMTYwLDM0OSAxNTEsMzU2IDE0NywzNTcgMTQ2LDM1NSAxNDYsMzU1IDE0NiwzNTUiLz4gCisgICA8cG9seWxpbmUgdmVydHMgPSAiIDk5LDI2NiAxMDAsMjgxIDk0LDMwNSA4NiwzMjIgNzgsMzMyIDcyLDM0NiA3MywzMzEgOTEsMjkxIDk5LDI2NiA5OSwyNjYgOTksMjY2Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzID0gIiAyMCwzNDcgMzIsMzQyIDQ1LDM0MCA1NCwzNDUgNDUsMzUwIDQyLDM1MyAzOCwzNTAgMzEsMzUzIDI5LDM1NiAyMywzNTAgMTksMzUzIDE1LDM0OSAyMCwzNDcgMjAsMzQ3IDIwLDM0NyIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cyA9ICIgNzgsMzQ0IDg2LDM0NCA5MiwzNDkgODgsMzU4IDg0LDM1MiA3OCwzNDQgNzgsMzQ0IDc4LDM0NCIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cyA9ICIgOTMsMzQ3IDEwNCwzNDQgMTE3LDM0NSAxMjQsMzU0IDEyMSwzNTcgMTE2LDM1MSAxMTIsMzUxIDEwOCwzNTUgMTAyLDM1MSA5MywzNDcgOTMsMzQ3IDkzLDM0NyIvPiAKKzwvZz4gCis8ZyBzdHlsZSA9ICJmaWxsOiAjMDAwMDAwIiA+IAorICAgPHBvbHlsaW5lIHZlcnRzID0gIiAxMDUsMTIgMTExLDE4IDExMywyNCAxMTMsMjkgMTE5LDM0IDExNiwyMyAxMTIsMTYgMTA1LDEyIDEwNSwxMiAxMDUsMTIiLz4gCisgICA8cG9seWxpbmUgdmVydHMgPSAiIDEyMiwyNyAxMjUsMzQgMTI3LDQzIDEyOCwzNCAxMjUsMjkgMTIyLDI3IDEyMiwyNyAxMjIsMjciLz4gCisgICA8cG9seWxpbmUgdmVydHMgPSAiIDExNSwxMyAxMjIsMTkgMTIyLDE1IDExMywxMCAxMTUsMTMgMTE1LDEzIDExNSwxMyIvPiAKKzwvZz4gCis8ZyBzdHlsZSA9ICJmaWxsOiAjZmZlNWIyIiA+IAorICAgPHBvbHlsaW5lIHZlcnRzID0gIiAxMTYsMTcyIDEwNywxODIgOTgsMTkzIDk4LDE4MyA5MCwxOTkgODksMTg5IDg0LDIwNyA4OCwyMDYgODcsMjE1IDk1LDIwNiA5MywyMTkgOTEsMjMwIDk4LDIxNiA5NywyMjYgMTA0LDIxNCAxMTIsMjA5IDEwNCwyMDggMTEzLDIwMiAxMjYsMjAwIDEzOSwyMDcgMTMyLDE5OCAxNDIsMjAzIDEzNCwxOTIgMTQyLDE5NSAxMzQsMTg3IDE0MCwxODUgMTMwLDE4MSAxMzYsMTc3IDEyNiwxNzcgMTI1LDE3MSAxMTYsMTgwIDExNiwxNzIgMTE2LDE3MiAxMTYsMTcyIi8+IAorICAgPHBvbHlsaW5lIHZlcnRzID0gIiA3NCwyMjAgNjcsMjMwIDY3LDIyMSA1OSwyMzUgNjMsMjMzIDYwLDI0OCA3MCwyMzIgNjUsMjQ5IDcxLDI0MyA2NywyNTYgNzMsMjUwIDY5LDI2MiA3MywyNTkgNzEsMjY3IDc2LDI2MiA3MiwyNzEgNzgsMjcwIDc2LDI3NSA4MiwyNzQgNzgsMjkwIDg2LDI3OSA4NiwyODkgOTIsMjc0IDg4LDI3NSA4NywyNjQgODIsMjcwIDgyLDI1OCA3NywyNTcgNzgsMjQ3IDczLDI0NiA3NywyMzMgNzIsMjM2IDc0LDIyMCA3NCwyMjAgNzQsMjIwIi8+IAorICAgPHBvbHlsaW5lIHZlcnRzID0gIiAxMzMsMjMwIDE0NywyNDIgMTQ4LDI1MCAxNDUsMjU0IDEzOCwyNDcgMTI5LDI0NiAxNDIsMjQ1IDEzOCwyNDEgMTI4LDIzNyAxMzcsMjM4IDEzMywyMzAgMTMzLDIzMCAxMzMsMjMwIi8+IAorICAgPHBvbHlsaW5lIHZlcnRzID0gIiAxMzMsMjYxIDEyNSwyNjEgMTE2LDI2MyAxMTEsMjY3IDEyNSwyNjUgMTMzLDI2MSAxMzMsMjYxIDEzMywyNjEiLz4gCisgICA8cG9seWxpbmUgdmVydHMgPSAiIDEyMSwyNzEgMTA5LDI3MyAxMDMsMjc5IDk5LDMwNSA5MiwzMTYgODUsMzI3IDgzLDMzNSA4OSwzNDAgOTcsMzQxIDk0LDMzNiAxMDEsMzM2IDk2LDMzMSAxMDMsMzMwIDk3LDMyNyAxMDgsMzI1IDk5LDMyMiAxMDksMzIxIDEwMCwzMTggMTEwLDMxNyAxMDUsMzE0IDExMCwzMTIgMTA3LDMxMCAxMTMsMzA4IDEwNSwzMDYgMTE0LDMwMyAxMDUsMzAxIDExNSwyOTggMTA3LDI5NSAxMTUsMjk0IDEwOCwyOTMgMTE3LDI5MSAxMDksMjg5IDExNywyODYgMTA5LDI4NiAxMTgsMjgzIDExMiwyODEgMTE4LDI3OSAxMTQsMjc4IDExOSwyNzYgMTE1LDI3NCAxMjEsMjcxIDEyMSwyNzEgMTIxLDI3MSIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cyA9ICIgNzksMzY0IDc0LDM1OSA3NCwzNTMgNzYsMzQ3IDgwLDM1MSA4MywzNTYgODIsMzYwIDc5LDM2NCA3OSwzNjQgNzksMzY0Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzID0gIiA5MSwzNjMgOTMsMzU2IDk3LDM1MyAxMDMsMzU1IDEwNSwzNjAgMTAzLDM2NiA5OSwzNzEgOTQsMzY4IDkxLDM2MyA5MSwzNjMgOTEsMzYzIi8+IAorICAgPHBvbHlsaW5lIHZlcnRzID0gIiAxMTAsMzU1IDExNCwzNTMgMTE4LDM1NyAxMTcsMzYzIDExMywzNjkgMTExLDM2MiAxMTAsMzU1IDExMCwzNTUgMTEwLDM1NSIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cyA9ICIgMTI2LDM1NCAxMjMsMzU4IDEyNCwzNjcgMTI2LDM2OSAxMjksMzYxIDEyOSwzNTcgMTI2LDM1NCAxMjYsMzU0IDEyNiwzNTQiLz4gCisgICA8cG9seWxpbmUgdmVydHMgPSAiIDMwLDE1NCAyNCwxNjYgMjAsMTgyIDIzLDE5NCAyOSwyMDggMzcsMjE4IDQxLDIxMCA0MSwyMjMgNDYsMjE0IDQ2LDIyNyA1MiwyMTYgNTIsMjI3IDYxLDIxNiA1OSwyMjUgNjgsMjEzIDczLDIxOSA3MCwyMDcgNzcsMjEyIDY5LDIwMCA3NywyMDIgNzAsMTk0IDc4LDE5NyA2OCwxODcgNzYsMTgyIDY0LDE4MiA1OCwxNzUgNTgsMTg1IDUzLDE3NyA1MCwxODYgNDYsMTcxIDQ0LDE4MiAzOSwxNjcgMzYsMTcyIDM2LDE2MiAzMCwxNjYgMzAsMTU0IDMwLDE1NCAzMCwxNTQiLz4gCisgICA8cG9seWxpbmUgdmVydHMgPSAiIDQ0LDEzMCA0MSwxMzcgNDUsMTM2IDQzLDE1MCA0OCwxNDIgNDgsMTU3IDUzLDE1MCA1MiwxNjQgNjAsMTU2IDYxLDE2OSA2NCwxNjUgNjYsMTc1IDcwLDE2NyA3NCwxNzYgNzcsMTY4IDgwLDE4MyA4NSwxNzIgOTAsMTgyIDkzLDE3NCA5OCwxODEgOTksMTczIDEwNCwxNzUgMTA1LDE2OSAxMTQsMTY4IDEwMiwxNjMgOTUsMTU3IDk0LDE2NiA5MCwxNTQgODcsMTYyIDgyLDE0OSA3NSwxNTkgNzIsMTQ4IDY4LDE1NSA2NywxNDMgNjIsMTQ4IDYyLDEzOCA1OCwxNDUgNTYsMTMzIDUyLDE0MiA1MiwxMjggNDksMTM0IDQ3LDEyNSA0NCwxMzAgNDQsMTMwIDQ0LDEzMCIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cyA9ICIgMTMsMjE2IDE5LDIxOSAzNiwyMzEgMjIsMjIzIDE2LDIyMiAyMiwyMjcgMTIsMjI0IDEzLDIyMCAxNiwyMjAgMTMsMjE2IDEzLDIxNiAxMywyMTYiLz4gCisgICA8cG9seWxpbmUgdmVydHMgPSAiIDEwLDIzMSAxNCwyMzYgMjUsMjM5IDI3LDIzNyAxOSwyMzQgMTAsMjMxIDEwLDIzMSAxMCwyMzEiLz4gCisgICA8cG9seWxpbmUgdmVydHMgPSAiIDksMjQ1IDE0LDI0MiAyNSwyNDUgMTMsMjQ1IDksMjQ1IDksMjQ1IDksMjQ1Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzID0gIiAzMywyNTUgMjYsMjUzIDE4LDI1NCAyNSwyNTYgMTgsMjU4IDI3LDI2MCAxOCwyNjMgMjcsMjY1IDE5LDI2NyAyOSwyNzAgMjEsMjcyIDI5LDI3NiAyMSwyNzggMzAsMjgxIDIyLDI4MyAzMSwyODcgMjQsMjg4IDMyLDI5MiAyMywyOTMgMzQsMjk4IDI2LDI5OSAzNywzMDMgMzIsMzA1IDM5LDMwOSAzMywzMDkgMzksMzE0IDM0LDMxNCA0MCwzMTggMzQsMzE3IDQwLDMyMSAzNCwzMjEgNDEsMzI2IDMzLDMyNiA0MCwzMzAgMzMsMzMyIDM5LDMzMyAzMywzMzcgNDIsMzM3IDU0LDM0MSA0OSwzMzcgNTIsMzM1IDQ3LDMzMCA1MCwzMzAgNDUsMzI1IDQ5LDMyNSA0NSwzMjEgNDgsMzIxIDQ1LDMxNiA0NiwzMDYgNDUsMjg2IDQzLDI3NCAzNiwyNjEgMzMsMjU1IDMzLDI1NSAzMywyNTUiLz4gCisgICA8cG9seWxpbmUgdmVydHMgPSAiIDcsMzU4IDksMzUxIDE0LDM1MSAxNywzNTkgMTEsMzY0IDcsMzU4IDcsMzU4IDcsMzU4Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzID0gIiA0NCwzNTQgNDksMzUxIDUyLDM1NSA0OSwzNjEgNDQsMzU0IDQ0LDM1NCA0NCwzNTQiLz4gCisgICA8cG9seWxpbmUgdmVydHMgPSAiIDMyLDM1NyAzNywzNTMgNDAsMzU4IDM2LDM2MSAzMiwzNTcgMzIsMzU3IDMyLDM1NyIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cyA9ICIgMTM5LDMzNCAxNDUsMzMwIDE1NCwzMzAgMTU4LDMzNCAxNTQsMzQxIDE1MiwzNDggMTQ1LDM1MCAxNDksMzQwIDE0NywzMzYgMTQxLDMzOSAxMzksMzQ1IDEzNiwzNDIgMTM2LDMzOSAxMzksMzM0IDEzOSwzMzQgMTM5LDMzNCIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cyA9ICIgMjA4LDI1OSAyMTUsMjU5IDIxMiwyNTUgMjIwLDI1OSAyMjQsMjYzIDIyNSwyNzQgMjI0LDI4MyAyMjAsMjkyIDIwOCwzMDAgMjA2LDMwOCAyMDMsMzA0IDE5OSwzMTUgMTk3LDMwOSAxOTUsMzE4IDE5MywzMTMgMTkwLDMyMiAxOTAsMzE2IDE4NSwzMjUgMTgyLDMxOCAxODAsMzI1IDE3MiwzMjEgMTc4LDMyMCAxNzYsMzEzIDE4NiwzMTIgMTgwLDMwNyAxODgsMzA3IDE4NCwzMDMgMTkxLDMwMiAxODYsMjk5IDE5NSwyOTQgMTg3LDI5MCAxOTcsMjg4IDE5MiwyODYgMjAxLDI4MyAxOTQsMjgwIDIwMywyNzcgMTk4LDI3NSAyMDcsMjcxIDIwMCwyNjkgMjA5LDI2NSAyMDQsMjY1IDIxMiwyNjIgMjA4LDI1OSAyMDgsMjU5IDIwOCwyNTkiLz4gCisgICA8cG9seWxpbmUgdmVydHMgPSAiIDEwNiwxMjYgMTA2LDEzMSAxMDksMTMyIDExMSwxMzQgMTE1LDEzMiAxMTUsMTM1IDExOSwxMzMgMTE4LDEzNyAxMjMsMTM3IDEyOCwxMzcgMTMzLDEzNCAxMzYsMTMwIDEzNiwxMjcgMTMyLDEyNCAxMTgsMTI4IDExMiwxMjggMTA2LDEyNiAxMDYsMTI2IDEwNiwxMjYiLz4gCisgICA8cG9seWxpbmUgdmVydHMgPSAiIDEwNywxMTQgMTAxLDExMCA5OCwxMDIgMTA1LDk3IDExMSw5OCAxMTksMTAyIDEyMSwxMDggMTE4LDExMiAxMTMsMTE1IDEwNywxMTQgMTA3LDExNCAxMDcsMTE0Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzID0gIiAxNDgsMTA2IDE0NSwxMTAgMTQ2LDExNiAxNTAsMTE4IDE1MiwxMTEgMTUxLDEwNyAxNDgsMTA2IDE0OCwxMDYgMTQ4LDEwNiIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cyA9ICIgODAsNTUgNzAsNTIgNzUsNTggNjMsNTcgNzIsNjEgNTcsNjEgNjcsNjYgNTcsNjcgNjIsNjkgNTQsNzEgNjEsNzMgNTQsNzcgNjMsNzggNTMsODUgNjAsODQgNTYsOTAgNjksODQgNjMsODIgNzUsNzYgNzAsNzUgNzcsNzIgNzIsNzEgNzgsNjkgNzIsNjYgODEsNjcgNzgsNjQgODIsNjMgODAsNjAgODYsNjIgODAsNTUgODAsNTUgODAsNTUiLz4gCisgICA8cG9seWxpbmUgdmVydHMgPSAiIDg3LDU2IDkxLDUyIDk2LDUwIDEwMiw1NiA5OCw1NiA5Miw2MCA4Nyw1NiA4Nyw1NiA4Nyw1NiIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cyA9ICIgODUsNjggODksNzMgOTgsNzYgMTA2LDc0IDk2LDczIDkxLDcwIDg1LDY4IDg1LDY4IDg1LDY4Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzID0gIiAxMTUsNTcgMTE0LDY0IDExMSw2NCAxMTUsNzUgMTIyLDgxIDEyMiw3NCAxMjYsNzkgMTI2LDc0IDEzMSw3OCAxMzAsNzIgMTMzLDc3IDEzMSw2OCAxMjYsNjEgMTE5LDU3IDExNSw1NyAxMTUsNTcgMTE1LDU3Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzID0gIiAxNDUsNDggMTQzLDUzIDE0Nyw1OSAxNTEsNTkgMTUwLDU1IDE0NSw0OCAxNDUsNDggMTQ1LDQ4Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzID0gIiAyNiwyMiAzNCwxNSA0MywxMCA1MiwxMCA1OSwxNiA0NywxNSAzMiwyMiAyNiwyMiAyNiwyMiAyNiwyMiIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cyA9ICIgMTYwLDE5IDE1MiwyNiAxNDksMzQgMTU0LDMzIDE1MiwzMCAxNTcsMzAgMTU1LDI2IDE1OCwyNyAxNTcsMjMgMTYxLDIzIDE2MCwxOSAxNjAsMTkgMTYwLDE5Ii8+IAorPC9nPiAKKzxnIHN0eWxlID0gImZpbGw6ICMwMDAwMDAiID4gCisgICA8cG9seWxpbmUgdmVydHMgPSAiIDk4LDExNyAxMDUsMTIyIDEwOSwxMjIgMTA1LDExNyAxMTMsMTIwIDEyMSwxMjAgMTMwLDExMiAxMjgsMTA4IDEyMywxMDMgMTIzLDk5IDEyOCwxMDEgMTMyLDEwNiAxMzUsMTA5IDE0MiwxMDUgMTQyLDEwMSAxNDUsMTAxIDE0NSw5MSAxNDgsMTAxIDE0NSwxMDUgMTM2LDExMiAxMzUsMTE2IDE0MywxMjQgMTQ4LDEyMCAxNTAsMTIyIDE0MiwxMjggMTMzLDEyMiAxMjEsMTI1IDExMiwxMjYgMTAzLDEyNSAxMDAsMTI5IDk2LDEyNCA5OCwxMTcgOTgsMTE3IDk4LDExNyIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cyA9ICIgMTQ2LDExOCAxNTIsMTE4IDE1MiwxMTUgMTQ5LDExNSAxNDYsMTE4IDE0NiwxMTggMTQ2LDExOCIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cyA9ICIgMTQ4LDExMiAxNTQsMTExIDE1NCwxMDkgMTQ5LDEwOSAxNDgsMTEyIDE0OCwxMTIgMTQ4LDExMiIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cyA9ICIgMTA2LDExMiAxMDgsMTE1IDExNCwxMTYgMTE4LDExNCAxMDYsMTEyIDEwNiwxMTIgMTA2LDExMiIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cyA9ICIgMTA4LDEwOCAxMTEsMTEwIDExNiwxMTAgMTE5LDEwOCAxMDgsMTA4IDEwOCwxMDggMTA4LDEwOCIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cyA9ICIgMTA2LDEwNCAxMDksMTA1IDExNywxMDYgMTE1LDEwNCAxMDYsMTA0IDEwNiwxMDQgMTA2LDEwNCIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cyA9ICIgNTAsMjUgNDEsMjYgMzQsMzMgMzksNDMgNDksNTggMzYsNTEgNDcsNjggNTUsNjkgNTQsNTkgNjEsNTcgNzQsNDYgNjAsNTIgNjcsNDIgNTcsNDggNjEsNDAgNTQsNDUgNjAsMzYgNTksMjkgNDgsMzggNTIsMzAgNDcsMzIgNTAsMjUgNTAsMjUgNTAsMjUiLz4gCisgICA8cG9seWxpbmUgdmVydHMgPSAiIDE0NywzNCAxNTIsNDEgMTU1LDQ5IDE2MSw1MyAxNTcsNDcgMTY0LDQ3IDE1OCw0MyAxNjgsNDQgMTU5LDQwIDE2NCwzNyAxNjksMzcgMTY0LDMzIDE2OSwzNCAxNjUsMjggMTcwLDMwIDE3MCwyNSAxNzMsMjkgMTc1LDI3IDE3NiwzMiAxNzMsMzYgMTc1LDM5IDE3Miw0MiAxNzIsNDYgMTY4LDQ5IDE3MCw1NSAxNjIsNTcgMTU4LDYzIDE1NSw1OCAxNTMsNTAgMTQ5LDQ2IDE0NywzNCAxNDcsMzQgMTQ3LDM0Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzID0gIiAxNTUsNzEgMTU5LDgwIDE1Nyw5MyAxNTcsMTAyIDE1NSwxMDggMTUwLDEwMSAxNDksOTMgMTU0LDEwMSAxNTIsOTEgMTUxLDgzIDE1NSw3OSAxNTUsNzEgMTU1LDcxIDE1NSw3MSIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cyA9ICIgMTEyLDc4IDExNSw4MSAxMTQsOTEgMTEyLDg3IDExMyw4MiAxMTIsNzggMTEyLDc4IDExMiw3OCIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cyA9ICIgNzgsMjggNjQsMTcgNTgsMTEgNDcsOSAzNiwxMCAyOCwxNiAyMSwyNiAxOCw0MSAyMCw1MSAyMyw2MSAzMyw2NSAyOCw2OCAzNyw3NCAzNiw4MSA0Myw4NyA0OCw5MCA0MywxMDAgNDAsOTggMzksOTAgMzEsODAgMzAsNzIgMjIsNzEgMTcsNjEgMTQsNDYgMTYsMjggMjMsMTcgMzMsOSA0NSw2IDU0LDYgNjUsMTIgNzgsMjggNzgsMjggNzgsMjgiLz4gCisgICA8cG9seWxpbmUgdmVydHMgPSAiIDY3LDE4IDc2LDkgODcsNSAxMDEsMiAxMTgsMyAxMzUsOCAxNDksMjAgMTQ5LDI2IDE0NCwxOSAxMzIsMTIgMTIxLDkgMTA1LDcgODksOCA3NiwxNCA3MCwyMCA2NywxOCA2NywxOCA2NywxOCIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cyA9ICIgNTYsOTggNDgsMTA2IDU2LDEwMyA0NywxMTIgNTYsMTEwIDUyLDExNSA1NywxMTMgNTIsMTIxIDYyLDExNSA1OCwxMjMgNjUsMTE5IDYzLDEyNSA2OSwxMjEgNjgsMTI3IDc0LDEyNSA3NCwxMjkgNzksMTI4IDgzLDEzMiA5NCwxMzUgOTMsMTI5IDg1LDEyNyA4MSwxMjIgNzYsMTI2IDc1LDEyMSA3MSwxMjQgNzEsMTE3IDY2LDEyMSA2NiwxMTcgNjIsMTE3IDY0LDExMiA2MCwxMTMgNjAsMTEwIDU3LDExMSA2MSwxMDUgNTcsMTA3IDYwLDEwMSA1NSwxMDIgNTYsOTggNTYsOTggNTYsOTgiLz4gCisgICA8cG9seWxpbmUgdmVydHMgPSAiIDEwMSwxMzIgMTAzLDEzOCAxMDYsMTM0IDEwNiwxMzkgMTEyLDEzNiAxMTEsMTQyIDExNSwxMzkgMTE0LDE0MyAxMTksMTQyIDEyNSwxNDUgMTMxLDE0MiAxMzUsMTM4IDE0MCwxMzQgMTQwLDEyOSAxNDMsMTM1IDE0NSwxNDkgMTUwLDE3MSAxNDksMTg0IDE0NSwxNjUgMTQxLDE1MCAxMzYsMTQ3IDEzMiwxNTEgMTMxLDE0OSAxMjYsMTUyIDEyNSwxNTAgMTIxLDE1MiAxMTcsMTQ4IDExMSwxNTIgMTEwLDE0OCAxMDUsMTQ5IDEwNCwxNDUgOTgsMTUwIDk2LDEzOCA5NCwxMzIgOTQsMTMwIDk4LDEzMiAxMDEsMTMyIDEwMSwxMzIgMTAxLDEzMiIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cyA9ICIgNDEsOTQgMzIsMTEwIDIzLDEzMiAxMiwxNjMgNiwxOTAgNywyMTcgNSwyMzYgMywyNDcgOSwyMzAgMTIsMjExIDEyLDE4NSAxOCwxNjAgMjYsMTM0IDM1LDExMCA0Myw5OSA0MSw5NCA0MSw5NCA0MSw5NCIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cyA9ICIgMzIsMjQ2IDQxLDI1MCA1MCwyNTcgNTIsMjY3IDUzLDI5NSA1MywzMjMgNTksMzUwIDU0LDM2MyA1MSwzNjUgNDQsMzY2IDQyLDM2MCA0MCwzNzIgNTQsMzcyIDU5LDM2NiA2MiwzNTMgNzEsMzUyIDc1LDMzNSA3MywzMzAgNjYsMzE4IDY4LDMwMiA2NCwyOTQgNjcsMjg4IDYzLDI4NiA2MywyNzkgNTksMjc1IDU4LDI2NyA1NiwyNjIgNTAsMjQ3IDQyLDIzNSA0NCwyNDYgMzIsMjM2IDM1LDI0NCAzMiwyNDYgMzIsMjQ2IDMyLDI0NiIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cyA9ICIgMTM0LDMyNCAxNDYsMzIwIDE1OSwzMjIgMTczLDMyNyAxNzksMzM3IDE3OSwzNDkgMTcyLDM1NSAxNTgsMzU3IDE3MCwzNTAgMTc0LDM0MyAxNzAsMzMzIDE2MywzMjggMTUyLDMyNiAxMzQsMzI5IDEzNCwzMjQgMTM0LDMyNCAxMzQsMzI0Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzID0gIiAxNzMsMzM5IDE4MywzMzQgMTg0LDMzOCAxOTEsMzI5IDE5NCwzMzIgMTk5LDMyMyAyMDIsMzI1IDIwNiwzMTggMjA5LDMyMCAyMTMsMzA5IDIyMSwzMDMgMjI4LDI5NiAyMzIsMjg5IDIzNCwyNzkgMjMzLDI2OSAyMzAsMjYyIDIyNSwyNTYgMjE5LDI1MyAyMDgsMjUyIDE5OCwyNTIgMjEwLDI0OSAyMjMsMjUwIDIzMiwyNTcgMjM3LDI2NSAyMzgsMjc3IDIzOCwyOTEgMjMyLDMwNSAyMjEsMzIzIDIxOCwzMzUgMjEyLDM0MiAyMDAsMzQ5IDE3OCwzNDggMTczLDMzOSAxNzMsMzM5IDE3MywzMzkiLz4gCisgICA8cG9seWxpbmUgdmVydHMgPSAiIDE2NSwyOTYgMTU4LDMwMSAxNTYsMzEwIDE1NiwzMjMgMTYyLDMyNCAxNTksMzE4IDE2MiwzMDggMTYyLDMwNCAxNjUsMjk2IDE2NSwyOTYgMTY1LDI5NiIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cyA9ICIgOTksMjUyIDEwNSwyNDQgMTA3LDIzNCAxMTUsMjI4IDEyMSwyMjggMTMxLDIzNSAxMjIsMjMzIDExMywyMzUgMTA5LDI0NiAxMjEsMjM5IDEzMywyNDMgMTIxLDI0MyAxMTAsMjUxIDk5LDI1MiA5OSwyNTIgOTksMjUyIi8+IAorICAgPHBvbHlsaW5lIHZlcnRzID0gIiAxMTcsMjUyIDEyNCwyNDcgMTM0LDI0OSAxMzYsMjUzIDEyNiwyNTIgMTE3LDI1MiAxMTcsMjUyIDExNywyNTIiLz4gCisgICA8cG9seWxpbmUgdmVydHMgPSAiIDExNywyMTggMTMyLDIyNCAxNDQsMjMzIDE0MCwyMjUgMTMyLDIxOSAxMTcsMjE4IDExNywyMTggMTE3LDIxOCIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cyA9ICIgMTIyLDIxMiAxMzQsMjE0IDE0MywyMjEgMTQxLDIxMyAxMzIsMjEwIDEyMiwyMTIgMTIyLDIxMiAxMjIsMjEyIi8+IAorICAgPHBvbHlsaW5lIHZlcnRzID0gIiA2OSwzNTIgNzAsMzYzIDc2LDM3MyA4NiwzNzggOTcsMzc5IDEwOCwzNzkgMTIwLDM3NyAxMjgsMzc4IDEzMiwzNzMgMTM1LDM2MSAxMzMsMzU4IDEzMiwzNjYgMTI3LDM3NSAxMjEsMzc0IDEyMSwzNjIgMTE5LDM2NyAxMTcsMzc0IDExMCwzNzYgMTEwLDM2MiAxMDcsMzU3IDEwNiwzNzEgMTA0LDM3NSA5NywzNzYgOTAsMzc1IDkwLDM2OCA4NiwzNjIgODMsMzY0IDg2LDM2OSA4NSwzNzMgNzgsMzcwIDczLDM2MiA3MSwzNTEgNjksMzUyIDY5LDM1MiA2OSwzNTIiLz4gCisgICA8cG9seWxpbmUgdmVydHMgPSAiIDEwMCwzNjAgOTYsMzYzIDk5LDM2OSAxMDIsMzY0IDEwMCwzNjAgMTAwLDM2MCAxMDAsMzYwIi8+IAorICAgPHBvbHlsaW5lIHZlcnRzID0gIiAxMTUsMzYwIDExMiwzNjMgMTE0LDM2OSAxMTcsMzY0IDExNSwzNjAgMTE1LDM2MCAxMTUsMzYwIi8+IAorICAgPHBvbHlsaW5lIHZlcnRzID0gIiAxMjcsMzYyIDEyNSwzNjQgMTI2LDM2OSAxMjgsMzY1IDEyNywzNjIgMTI3LDM2MiAxMjcsMzYyIi8+IAorICAgPHBvbHlsaW5lIHZlcnRzID0gIiA1LDI1NSA3LDI3NiAxMSwzMDQgMTUsMzIwIDEzLDMzNCA2LDM0OCAyLDM1MyAwLDM2MyA1LDM3MiAxMiwzNzQgMjUsMzcyIDM4LDM3MiA0NCwzNjkgNDIsMzY3IDM2LDM2OCAzMSwzNjkgMzAsMzYwIDI3LDM2OCAyMCwzNzAgMTYsMzYxIDE1LDM2OCAxMCwzNjkgMywzNjYgMywzNTkgNiwzNTIgMTEsMzQ4IDE3LDMzMSAxOSwzMTYgMTIsMjkxIDksMjc0IDUsMjU1IDUsMjU1IDUsMjU1Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzID0gIiAxMCwzNTggNywzNjIgMTAsMzY2IDExLDM2MiAxMCwzNTggMTAsMzU4IDEwLDM1OCIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cyA9ICIgMjUsMzU3IDIyLDM2MCAyNCwzNjYgMjcsMzYwIDI1LDM1NyAyNSwzNTcgMjUsMzU3Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzID0gIiAzNywzNTcgMzQsMzYxIDM2LDM2NSAzOCwzNjEgMzcsMzU3IDM3LDM1NyAzNywzNTciLz4gCisgICA8cG9seWxpbmUgdmVydHMgPSAiIDQ5LDM1NiA0NiwzNTkgNDcsMzY0IDUwLDM2MCA0OSwzNTYgNDksMzU2IDQ5LDM1NiIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cyA9ICIgMTMwLDEwMSAxMzIsMTAyIDEzNSwxMDEgMTM5LDEwMiAxNDMsMTAzIDE0MiwxMDEgMTM3LDEwMCAxMzMsMTAwIDEzMCwxMDEgMTMwLDEwMSAxMzAsMTAxIi8+IAorICAgPHBvbHlsaW5lIHZlcnRzID0gIiAxMDYsNDggMTA1LDUyIDEwOCw1NiAxMDksNTIgMTA2LDQ4IDEwNiw0OCAxMDYsNDgiLz4gCisgICA8cG9seWxpbmUgdmVydHMgPSAiIDEzOSw1MiAxMzksNTYgMTQwLDYwIDE0Miw1OCAxNDEsNTYgMTM5LDUyIDEzOSw1MiAxMzksNTIiLz4gCisgICA8cG9seWxpbmUgdmVydHMgPSAiIDI1LDM0OSAyOSwzNTEgMzAsMzU1IDMzLDM1MCAzNywzNDggNDIsMzUxIDQ1LDM0NyA0OSwzNDUgNDQsMzQzIDM2LDM0NSAyNSwzNDkgMjUsMzQ5IDI1LDM0OSIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cyA9ICIgOTgsMzQ3IDEwNSwzNTEgMTA3LDM1NCAxMDksMzQ5IDExNSwzNDkgMTIwLDM1MyAxMTgsMzQ5IDExMywzNDYgMTA0LDM0NiA5OCwzNDcgOTgsMzQ3IDk4LDM0NyIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cyA9ICIgODMsMzQ4IDg3LDM1MiA4NywzNTcgODksMzUxIDg3LDM0OCA4MywzNDggODMsMzQ4IDgzLDM0OCIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cyA9ICIgMTU1LDEwNyAxNjMsMTA3IDE3MCwxMDcgMTg2LDEwOCAxNzUsMTA5IDE1NSwxMDkgMTU1LDEwNyAxNTUsMTA3IDE1NSwxMDciLz4gCisgICA8cG9seWxpbmUgdmVydHMgPSAiIDE1MywxMTQgMTYyLDExMyAxNzUsMTEyIDE5MiwxMTQgMTczLDExNCAxNTQsMTE1IDE1MywxMTQgMTUzLDExNCAxNTMsMTE0Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzID0gIiAxNTIsMTE4IDE2NCwxMjAgMTgwLDEyMyAxOTcsMTI5IDE2OSwxMjMgMTUxLDEyMCAxNTIsMTE4IDE1MiwxMTggMTUyLDExOCIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cyA9ICIgNjgsMTA5IDg3LDEwNiAxMDcsMTA2IDEwNiwxMDggODgsMTA4IDY4LDEwOSA2OCwxMDkgNjgsMTA5Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzID0gIiAxMDUsMTExIDk1LDExMiA3OSwxMTQgNzEsMTE2IDg1LDExNSAxMDIsMTEzIDEwNSwxMTEgMTA1LDExMSAxMDUsMTExIi8+IAorICAgPHBvbHlsaW5lIHZlcnRzID0gIiAxMDgsMTAxIDk4LDk5IDg3LDk5IDc4LDk5IDkzLDEwMCAxMDUsMTAyIDEwOCwxMDEgMTA4LDEwMSAxMDgsMTAxIi8+IAorICAgPHBvbHlsaW5lIHZlcnRzID0gIiA4NSw2MyA5MSw2MyA5Nyw2MCAxMDQsNjAgMTA4LDYyIDExMSw2OSAxMTIsNzUgMTEwLDc0IDEwOCw3MSAxMDMsNzMgMTA2LDY5IDEwNSw2NSAxMDMsNjQgMTAzLDY3IDEwMiw3MCA5OSw3MCA5Nyw2NiA5NCw2NyA5Nyw3MiA4OCw2NyA4NCw2NiA4NSw2MyA4NSw2MyA4NSw2MyIvPiAKKyAgIDxwb2x5bGluZSB2ZXJ0cyA9ICIgMTQwLDc0IDE0MSw2NiAxNDQsNjEgMTUwLDYxIDE1Niw2MiAxNTMsNzAgMTUwLDczIDE1Miw2NSAxNTAsNjUgMTUxLDY4IDE0OSw3MSAxNDYsNzEgMTQ0LDY2IDE0Myw3MCAxNDMsNzQgMTQwLDc0IDE0MCw3NCAxNDAsNzQiLz4gCisgICA8cG9seWxpbmUgdmVydHMgPSAiIDE0NiwyMCAxNTYsMTEgMTYzLDkgMTcyLDkgMTc4LDE0IDE4MiwxOCAxODQsMzIgMTgyLDQyIDE4Miw1MiAxNzcsNTggMTc2LDY3IDE3MSw3NiAxNjUsOTAgMTU3LDEwNSAxNjAsOTIgMTY0LDg1IDE2OCw3OCAxNjcsNzMgMTczLDY2IDE3Miw2MiAxNzUsNTkgMTc0LDU1IDE3Nyw1MyAxODAsNDYgMTgxLDI5IDE3OSwyMSAxNzMsMTMgMTY2LDExIDE1OSwxMyAxNTMsMTggMTQ4LDIzIDE0NiwyMCAxNDYsMjAgMTQ2LDIwIi8+IAorICAgPHBvbHlsaW5lIHZlcnRzID0gIiAxNTAsMTg3IDE0OCwyMTEgMTUwLDIzMyAxNTMsMjQ3IDE0OCwyNjcgMTM1LDI4MyAxMjUsMjk5IDEzNiwyOTIgMTMxLDMxMyAxMjIsMzI4IDEyMiwzNDUgMTI5LDM1MiAxMzMsMzU5IDEzMywzNjcgMTM3LDM1OSAxNDgsMzU2IDE0MCwzNTAgMTMxLDM0NyAxMjksMzQwIDEzMiwzMzIgMTQwLDMyOCAxMzcsMzIyIDE0MCwzMDQgMTU0LDI2NSAxNTcsMjQ0IDE1NSwyMjMgMTYxLDIyMCAxNzUsMjI5IDE4NiwyNDcgMTg1LDI2MCAxNzYsMjc1IDE3OCwyODcgMTg1LDI3NyAxODgsMjYxIDE5NiwyNTMgMTg5LDIzNiAxNzQsMjEzIDE1MCwxODcgMTUwLDE4NyAxNTAsMTg3Ii8+IAorICAgPHBvbHlsaW5lIHZlcnRzID0gIiAxNDcsMzM4IDE0MiwzNDEgMTQzLDM0NSAxNDEsMzU0IDE0NywzNDMgMTQ3LDMzOCAxNDcsMzM4IDE0NywzMzgiLz4gCisgICA8cG9seWxpbmUgdmVydHMgPSAiIDE1NywzNDIgMTU2LDM0OSAxNTAsMzU2IDE1NywzNTMgMTYzLDM0NiAxNjIsMzQyIDE1NywzNDIgMTU3LDM0MiAxNTcsMzQyIi8+IAorICAgPHBvbHlsaW5lIHZlcnRzID0gIiA5OSwyNjUgOTYsMjg0IDkyLDI5OSA3MywzMzkgNzMsMzMzIDg3LDMwMCA5OSwyNjUgOTksMjY1IDk5LDI2NSIvPiAKKzwvZz48L3N2Zz4KKw0KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC9zdmcyIGIvbGlieG1sMi90ZXN0L3N2ZzIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWExYWRhYwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC9zdmcyCkBAIC0wLDAgKzEsNTggQEAKKzw/eG1sIHZlcnNpb24gPSAiMS4wIiBzdGFuZGFsb25lID0gInllcyI/PgorPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyBBcHJpbCAxOTk5Ly9FTiIKKyAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHL3N2Zy0xOTk5MDQxMi5kdGQiPgorPHN2ZyB3aWR0aCA9ICIyNjhweCIgaGVpZ2h0PSIyMDdweCI+Cis8ZyBzdHlsZSA9ICJzdHJva2U6ICMwMDAwMDAiID4gCisgICA8cGF0aCAgZCA9ICIgTSAyOSAyOCAiLz4gCisgICA8cGF0aCAgZCA9ICIgTCAxOSA3NCAiLz4gCis8L2c+IAorPGcgc3R5bGUgPSAic3Ryb2tlOiAjODAwMDQwIiA+IAorICAgPHBvbHlsaW5lIHZlcnRzID0gIiAzMiwxMDAgNzIsNTAgOTAsODIgNzMsMTYgMTIwLDY0IDE1Miw5IDE3NywxMDciLz4gCis8L2c+IAorPGcgc3R5bGUgPSAic3Ryb2tlOiAjMDAwMDAwIiA+IAorPC9nPiAKKzxnIHN0eWxlID0gInN0cm9rZTogIzAwMDBmZiIgPiAKKyAgIDxyZWN0IHggPSAiMzAiIHkgPSAiMTAxIiB3aWR0aCAgPSAiNTEiIGhlaWdodCA9ICIzMyIvPgorPC9nPiAKKzxnIHN0eWxlID0gImZpbGw6ICMwMDAwZmYiID4gCisgICA8ZWxsaXBzZSBjeCA9ICIxODIiIGN5ID0gIjEyNyIgbWFqb3IgID0gIjM3IiBtaW5vciA9ICIzMSIgYW5nbGUgPSAiOTAiLz4KKzwvZz4gCis8ZyBzdHlsZSA9ICJmaWxsOiAjZmYwMDAwIiA+IAorICAgPHBvbHlsaW5lIHZlcnRzID0gIiA3OCwxODAgNzYsMTUxIDEzMSwxNDkgMTM2LDE4MiAxMzUsMTgyIDEzNCwxODMgMTI3LDE4NSAxMTcsMTg2IDEwOSwxOTIgMTA0LDE5NCA5OCwxOTkgOTYsMjAwIDk1LDIwMSA5NCwyMDIgOTIsMjAyIDg1LDIwMiA3MCwyMDAgNTQsMTk5IDQ3LDE5OCA0NiwxOTcgNDUsMTk3IDM3LDE5NSAyNiwxOTMgMTcsMTg3IDksMTgxIDgsMTgxIDcsMTc2IDYsMTc1IDYsMTczIDYsMTcyIDYsMTcwIDgsMTY0IDgsMTYzIDgsMTYyIDksMTYyIDEwLDE2MiAxMSwxNjIgMTMsMTYyIDIwLDE2MiAyNiwxNjIgMjcsMTYyIDI4LDE2MiAzMCwxNjIgMzAsMTYzIDMxLDE2MyAzMiwxNjQgMzQsMTY2IDM1LDE2NiAzNiwxNjcgMzYsMTY4IDM3LDE2OSAzOCwxNjkgMzksMTY5IDQxLDE3MCA0MywxNzAgNDUsMTcwIDQ3LDE3MCA0OSwxNzAgNTAsMTY4IDUwLDE2MSA1MCwxNjAgNTAsMTU5IDQ3LDE2MiA3OCwxODAiLz4gCisgICA8Zz4KKyAgICAgPGRlc2M+IEphdmEgRm9udCBkZWZpbml0aW9uOkRpYWxvZyAwPC9kZXNjPiAKKyAgIDwvZz4KKyAgIDxnPgorICAgICA8ZGVzYz4gSmF2YSBGb250IGRlZmluaXRpb246SGVsdmV0aWNhIDA8L2Rlc2M+IAorICAgPC9nPgorPC9nPiAKKzxnIHN0eWxlID0gInN0cm9rZTogIzAwMDAwMCIgPiAKKyAgIDx0ZXh0IHggPSAiMTg4IiB5ID0gIjM2IiA+dGhpcyBpcyB0ZXh0PC90ZXh0PgorPC9nPiAKKzxnIHN0eWxlID0gInN0cm9rZTogIzAwMDAwMCIgPiAKKyAgIDxnPgorICAgICA8ZGVzYz4gSmF2YSBGb250IGRlZmluaXRpb246RGlhbG9nIDA8L2Rlc2M+IAorICAgPC9nPgorICAgPGc+CisgICAgIDxkZXNjPiBKYXZhIEZvbnQgZGVmaW5pdGlvbjpIZWx2ZXRpY2EgNzAwPC9kZXNjPiAKKyAgIDwvZz4KKzwvZz4gCis8ZyBzdHlsZSA9ICJzdHJva2U6ICMwMDgwODAiID4gCisgICA8dGV4dCB4ID0gIjE3NiIgeSA9ICI4NSIgPnNhZGZzYWRmc2FkPC90ZXh0PgorPC9nPiAKKzxnIHN0eWxlID0gInN0cm9rZTogIzAwMDAwMCIgPiAKKzwvZz4gCis8ZyBzdHlsZSA9ICJmaWxsOiAjODAwMDQwIiA+IAorICAgPGVsbGlwc2UgY3ggPSAiMjA4IiBjeSA9ICIxODAiIG1ham9yICA9ICI0NSIgbWlub3IgPSAiMzEiIGFuZ2xlID0gIjAiLz4KKzwvZz4gCis8ZyBzdHlsZSA9ICJzdHJva2U6ICMwMDAwMDAiID4gCis8L2c+IAorPGcgc3R5bGUgPSAiZmlsbDogI2ZmZmZmZiIgPiAKKyAgIDxnPgorICAgICA8ZGVzYz4gSmF2YSBGb250IGRlZmluaXRpb246RGlhbG9nIDcwMDwvZGVzYz4gCisgICA8L2c+CisgICA8Zz4KKyAgICAgPGRlc2M+IEphdmEgRm9udCBkZWZpbml0aW9uOkRpYWxvZyA3MDA8L2Rlc2M+IAorICAgPC9nPgorPC9nPjwvc3ZnPgorDQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3N2ZzMgYi9saWJ4bWwyL3Rlc3Qvc3ZnMwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YjBkZTVhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3N2ZzMKQEAgLTAsMCArMSw3MjIgQEAKKzxzdmc+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmZmY7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC4xNzIiPgorICA8cGF0aCBkPSJNNzcuNjk2IDI4NC4yODVDNzcuNjk2IDI4NC4yODUgNzcuNzk3IDI4Ni4xNzkgNzYuOTczIDI4Ni4xNkM3Ni4xNDkgMjg2LjE0MSA1OS42OTUgMjM4LjA2NiAzOS4xNjcgMjQwLjMwOUMzOS4xNjcgMjQwLjMwOSA1Ni45NSAyMzIuOTU2IDc3LjY5NiAyODQuMjg1eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZmZjsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjE3MiI+CisgIDxwYXRoIGQ9Ik04MS4yMjYgMjgxLjI2MkM4MS4yMjYgMjgxLjI2MiA4MC42NzcgMjgzLjA3OCA3OS45MDggMjgyLjc3OUM3OS4xNCAyODIuNDgxIDgwLjAyMyAyMzEuNjc1IDU5Ljk1NyAyMjYuODAxQzU5Ljk1NyAyMjYuODAxIDc5LjE4IDIyNS45MzcgODEuMjI2IDI4MS4yNjJ6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmZmOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuMTcyIj4KKyAgPHBhdGggZD0iTTEwOC43MTYgMzIzLjU5QzEwOC43MTYgMzIzLjU5IDExMC4zNTIgMzI0LjU1IDEwOS44ODIgMzI1LjIyN0MxMDkuNDExIDMyNS45MDQgNjAuMjM3IDMxMy4xMDIgNTAuNzgyIDMzMS40NTlDNTAuNzgyIDMzMS40NTkgNTQuNDYxIDMxMi41NzIgMTA4LjcxNiAzMjMuNTl6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmZmOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuMTcyIj4KKyAgPHBhdGggZD0iTTEwNS45MDcgMzMzLjgwMUMxMDUuOTA3IDMzMy44MDEgMTA3Ljc2MyAzMzQuMTk3IDEwNy41MjkgMzM0Ljk4OEMxMDcuMjk2IDMzNS43NzkgNTYuNTkzIDMzOS4xMjEgNTMuNDAzIDM1OS41MjJDNTMuNDAzIDM1OS41MjIgNTAuOTQ1IDM0MC40MzcgMTA1LjkwNyAzMzMuODAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZmZjsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjE3MiI+CisgIDxwYXRoIGQ9Ik0xMDEuNjk2IDMyOC4yNzZDMTAxLjY5NiAzMjguMjc2IDEwMy40NzQgMzI4LjkzOSAxMDMuMTI4IDMyOS42ODdDMTAyLjc4MiAzMzAuNDM1IDUyLjEzNCAzMjYuMzQ2IDQ2LjAwMiAzNDYuMDY0QzQ2LjAwMiAzNDYuMDY0IDQ2LjM1NCAzMjYuODI1IDEwMS42OTYgMzI4LjI3NnoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmZmY7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC4xNzIiPgorICA8cGF0aCBkPSJNOTAuOTkxIDMxMC4wNzJDOTAuOTkxIDMxMC4wNzIgOTIuMjk5IDMxMS40NDYgOTEuNjYgMzExLjk2N0M5MS4wMjEgMzEyLjQ4OCA0Ny4yNzggMjg2LjYzNCAzMy4xMzEgMzAxLjY3NkMzMy4xMzEgMzAxLjY3NiA0MS44NzIgMjg0LjUzMyA5MC45OTEgMzEwLjA3MnoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmZmY7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC4xNzIiPgorICA8cGF0aCBkPSJNODMuNDQ2IDMxNC4yNjNDODMuNDQ2IDMxNC4yNjMgODQuOTAyIDMxNS40OCA4NC4zMjYgMzE2LjA3MUM4My43NSAzMTYuNjYxIDM3LjM2MiAyOTUuOTIyIDI1LjAwOCAzMTIuNDY5QzI1LjAwOCAzMTIuNDY5IDMxLjc1MyAyOTQuNDQ3IDgzLjQ0NiAzMTQuMjYzeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZmZjsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjE3MiI+CisgIDxwYXRoIGQ9Ik04MC44NDYgMzE4LjMzNUM4MC44NDYgMzE4LjMzNSA4Mi40NTQgMzE5LjM0MyA4MS45NjQgMzIwLjAwNkM4MS40NzQgMzIwLjY2OSAzMi42OTIgMzA2LjQ0NiAyMi43MDkgMzI0LjUyMkMyMi43MDkgMzI0LjUyMiAyNi45MzQgMzA1Ljc0OSA4MC44NDYgMzE4LjMzNXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmZmY7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC4xNzIiPgorICA8cGF0aCBkPSJNOTEuNTggMzE4Ljk0OUM5MS41OCAzMTguOTQ5IDkyLjcwMiAzMjAuNDggOTIuMDAxIDMyMC45MTVDOTEuMyAzMjEuMzUgNTEuMjMxIDI5MC4xMDIgMzUuMjczIDMwMy4yMDdDMzUuMjczIDMwMy4yMDcgNDYuMTM4IDI4Ny4zMjYgOTEuNTggMzE4Ljk0OXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmZmY7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC4xNzIiPgorICA8cGF0aCBkPSJNNzEuOCAyOTBDNzEuOCAyOTAgNzIuNCAyOTEuOCA3MS42IDI5MkM3MC44IDI5Mi4yIDQyLjIgMjUwLjIgMjIuOTk5IDI1Ny44QzIyLjk5OSAyNTcuOCAzOC4yIDI0NiA3MS44IDI5MHoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmZmY7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC4xNzIiPgorICA8cGF0aCBkPSJNNzIuNDk1IDI5Ni45NzlDNzIuNDk1IDI5Ni45NzkgNzMuNDcgMjk4LjYwOCA3Mi43MzEgMjk4Ljk3NUM3MS45OTMgMjk5LjM0MyAzNS4wMDggMjY0LjQ5OSAxNy44OTkgMjc2LjA2MUMxNy44OTkgMjc2LjA2MSAzMC4xOTYgMjYxLjI2MSA3Mi40OTUgMjk2Ljk3OXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmZmY7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC4xNzIiPgorICA8cGF0aCBkPSJNNzIuMzggMzAxLjM0OUM3Mi4zOCAzMDEuMzQ5IDczLjUwMiAzMDIuODggNzIuODAxIDMwMy4zMTVDNzIuMSAzMDMuNzQ5IDMyLjAzMSAyNzIuNTAyIDE2LjA3MyAyODUuNjA3QzE2LjA3MyAyODUuNjA3IDI2LjkzOCAyNjkuNzI2IDcyLjM4IDMwMS4zNDl6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmZmOyBzdHJva2U6IzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik03MC4xNyAzMDMuMDY1QzcwLjY3MyAzMDkuMTEzIDcxLjY2MSAzMTUuNjgyIDczLjQgMzE4LjgwMUM3My40IDMxOC44MDEgNjkuOCAzMzEuMjAxIDc4LjYgMzQ0LjQwMUM3OC42IDM0NC40MDEgNzguMiAzNTEuNjAxIDc5LjggMzU0LjgwMUM3OS44IDM1NC44MDEgODMuOCAzNjMuMjAxIDg4LjYgMzY0LjAwMUM5Mi40ODQgMzY0LjY0OCAxMDEuMjA3IDM2Ny43MTcgMTExLjA2OCAzNjkuMTIxQzExMS4wNjggMzY5LjEyMSAxMjguMiAzODMuMjAxIDEyNSAzOTYuMDAxQzEyNSAzOTYuMDAxIDEyNC42IDQxMi40MDEgMTIxIDQxNC4wMDFDMTIxIDQxNC4wMDEgMTMyLjYgNDAyLjgwMSAxMjMgNDE5LjYwMUwxMTguNiA0MzguNDAxQzExOC42IDQzOC40MDEgMTQ0LjIgNDE2LjgwMSAxMjguNiA0MzUuMjAxTDExOC42IDQ2MS4yMDFDMTE4LjYgNDYxLjIwMSAxMzguMiA0NDIuODAxIDEzMSA0NTEuMjAxTDEyNy44IDQ2MC4wMDFDMTI3LjggNDYwLjAwMSAxNzEgNDMyLjgwMSAxNDAuMiA0NjIuNDAxQzE0MC4yIDQ2Mi40MDEgMTQ4LjIgNDU4LjgwMSAxNTIuNiA0NjEuNjAxQzE1Mi42IDQ2MS42MDEgMTU5LjQgNDYwLjQwMSAxNTguNiA0NjIuMDAxQzE1OC42IDQ2Mi4wMDEgMTM3LjggNDcyLjQwMSAxMzQuMiA0OTAuODAxQzEzNC4yIDQ5MC44MDEgMTQyLjYgNDgwLjgwMSAxMzkuNCA0OTEuNjAxTDEzOS44IDUwMy4yMDFDMTM5LjggNTAzLjIwMSAxNDMuOCA0ODEuNjAxIDE0My40IDUxOS4yMDFDMTQzLjQgNTE5LjIwMSAxNjIuNiA1MDEuMjAxIDE1MSA1MjIuMDAxTDE1MSA1MzguODAxQzE1MSA1MzguODAxIDE2Ni4yIDUyMi40MDEgMTU5LjggNTM1LjIwMUMxNTkuOCA1MzUuMjAxIDE2OS44IDUyNi40MDEgMTY1LjggNTQxLjYwMUMxNjUuOCA1NDEuNjAxIDE2NSA1NTIuMDAxIDE2OS40IDU0MC44MDFDMTY5LjQgNTQwLjgwMSAxODUuNCA1MTAuMjAxIDE3OS40IDUzNi40MDFDMTc5LjQgNTM2LjQwMSAxNzguNiA1NTUuNjAxIDE4My40IDU0MC44MDFDMTgzLjQgNTQwLjgwMSAxODMuOCA1NTEuMjAxIDE5MyA1NTguNDAxQzE5MyA1NTguNDAxIDE5MS44IDUwNy42MDEgMjA0LjYgNTQzLjYwMUwyMDguNiA1NjAuMDAxQzIwOC42IDU2MC4wMDEgMjExLjQgNTUwLjgwMSAyMTEgNTQ1LjYwMUMyMTEgNTQ1LjYwMSAyMjUuOCA1MjkuMjAxIDIxOSA1NTMuNjAxQzIxOSA1NTMuNjAxIDIzNC4yIDUzMC44MDEgMjMxIDU0NC4wMDFDMjMxIDU0NC4wMDEgMjIzLjQgNTYwLjAwMSAyMjUgNTY0LjgwMUMyMjUgNTY0LjgwMSAyNDEuOCA1MzAuMDAxIDI0MyA1MjguNDAxQzI0MyA1MjguNDAxIDI0MSA1NzAuODAyIDI1MS44IDUzNC44MDFDMjUxLjggNTM0LjgwMSAyNTcuNCA1NDYuODAxIDI1NC42IDU1MS4yMDFDMjU0LjYgNTUxLjIwMSAyNjIuNiA1NDMuMjAxIDI2MS44IDU0MC4wMDFDMjYxLjggNTQwLjAwMSAyNjYuNCA1MzEuODAxIDI2OS4yIDU0NS40MDFDMjY5LjIgNTQ1LjQwMSAyNzEgNTU0LjgwMSAyNzIuNiA1NTEuNjAxQzI3Mi42IDU1MS42MDEgMjc2LjYgNTc1LjYwMiAyNzcuOCA1NTIuODAxQzI3Ny44IDU1Mi44MDEgMjc5LjQgNTM5LjIwMSAyNzIuMiA1MjcuNjAxQzI3Mi4yIDUyNy42MDEgMjczIDUyNC40MDEgMjcwLjIgNTIwLjQwMUMyNzAuMiA1MjAuNDAxIDI4My44IDU0Mi4wMDEgMjc2LjYgNTEzLjIwMUMyNzYuNiA1MTMuMjAxIDI4Ny44MDEgNTIxLjIwMSAyODkuMDAxIDUyMS4yMDFDMjg5LjAwMSA1MjEuMjAxIDI3NS40IDQ5OC4wMDEgMjg0LjIgNTAyLjgwMUMyODQuMiA1MDIuODAxIDI3OSA0OTIuNDAxIDI5Ny4wMDEgNTA0LjQwMUMyOTcuMDAxIDUwNC40MDEgMjgxIDQ4OC40MDEgMjk4LjYwMSA0OTguMDAxQzI5OC42MDEgNDk4LjAwMSAzMDYuNjAxIDUwNC40MDEgMjk5LjAwMSA0OTQuNDAxQzI5OS4wMDEgNDk0LjQwMSAyODQuNiA0NzguNDAxIDMwNi42MDEgNDk2LjQwMUMzMDYuNjAxIDQ5Ni40MDEgMzE4LjIwMSA1MTIuODAxIDMxOS4wMDEgNTE1LjYwMUMzMTkuMDAxIDUxNS42MDEgMzA5LjAwMSA0ODYuNDAxIDMwNC42MDEgNDgzLjYwMUMzMDQuNjAxIDQ4My42MDEgMzEzLjAwMSA0NDcuMjAxIDM1NC4yMDEgNDYyLjgwMUMzNTQuMjAxIDQ2Mi44MDEgMzYxLjAwMSA0ODAuMDAxIDM2NS40MDEgNDYxLjYwMUMzNjUuNDAxIDQ2MS42MDEgMzc4LjIwMSA0NTUuMjAxIDM4OS40MDEgNDgyLjgwMUMzODkuNDAxIDQ4Mi44MDEgMzkzLjQwMSA0NjkuMjAxIDM5Mi42MDEgNDY2LjQwMUMzOTIuNjAxIDQ2Ni40MDEgMzk5LjQwMSA0NjcuNjAxIDM5OC42MDEgNDY2LjQwMUMzOTguNjAxIDQ2Ni40MDEgNDExLjgwMSA0NzAuODAxIDQxMy4wMDEgNDcwLjAwMUM0MTMuMDAxIDQ3MC4wMDEgNDE5LjgwMSA0NzYuODAxIDQyMC4yMDEgNDczLjIwMUM0MjAuMjAxIDQ3My4yMDEgNDI5LjQwMSA0NzYuMDAxIDQyNy40MDEgNDcyLjQwMUM0MjcuNDAxIDQ3Mi40MDEgNDM2LjIwMSA0ODguMDAxIDQzNi42MDEgNDkxLjYwMUw0MzkuMDAxIDQ3Ny42MDFMNDQxLjAwMSA0ODAuNDAxQzQ0MS4wMDEgNDgwLjQwMSA0NDIuNjAxIDQ3Mi44MDEgNDQxLjgwMSA0NzEuNjAxQzQ0MS4wMDEgNDcwLjQwMSA0NjEuODAxIDQ3OC40MDEgNDY2LjYwMSA0OTkuMjAxTDQ2OC42MDEgNTA3LjYwMUM0NjguNjAxIDUwNy42MDEgNDc0LjYwMSA0OTIuODAxIDQ3My4wMDEgNDg4LjgwMUM0NzMuMDAxIDQ4OC44MDEgNDc4LjIwMSA0ODkuNjAxIDQ3OC42MDEgNDk0LjAwMUM0NzguNjAxIDQ5NC4wMDEgNDgyLjYwMSA0NzAuODAxIDQ3Ny44MDEgNDY0LjgwMUM0NzcuODAxIDQ2NC44MDEgNDgyLjIwMSA0NjQuMDAxIDQ4My40MDEgNDY3LjYwMUw0ODMuNDAxIDQ2MC40MDFDNDgzLjQwMSA0NjAuNDAxIDQ5MC42MDEgNDYxLjIwMSA0OTAuNjAxIDQ1OC44MDFDNDkwLjYwMSA0NTguODAxIDQ5NS4wMDEgNDU0LjgwMSA0OTcuMDAxIDQ1OS42MDFDNDk3LjAwMSA0NTkuNjAxIDQ4NC42MDEgNDI0LjQwMSA1MDMuMDAxIDQ0My42MDFDNTAzLjAwMSA0NDMuNjAxIDUxMC4yMDEgNDU0LjQwMSA1MDYuNjAxIDQzNS42MDFDNTAzLjAwMSA0MTYuODAxIDQ5OS4wMDEgNDE1LjIwMSA1MDMuODAxIDQxNC44MDFDNTAzLjgwMSA0MTQuODAxIDUwNC42MDEgNDExLjIwMSA1MDIuNjAxIDQwOS42MDFDNTAwLjYwMSA0MDguMDAxIDUwMy44MDEgNDA5LjYwMSA1MDMuODAxIDQwOS42MDFDNTAzLjgwMSA0MDkuNjAxIDUwOC42MDEgNDEzLjYwMSA1MDMuNDAxIDM5MS42MDFDNTAzLjQwMSAzOTEuNjAxIDUwOS44MDEgMzkzLjIwMSA0OTcuODAxIDM2NC4wMDFDNDk3LjgwMSAzNjQuMDAxIDUwMC42MDEgMzYxLjYwMSA0OTYuNjAxIDM1My4yMDFDNDk2LjYwMSAzNTMuMjAxIDUwNC42MDEgMzU3LjYwMSA1MDcuNDAxIDM1Ni4wMDFDNTA3LjQwMSAzNTYuMDAxIDUwNy4wMDEgMzU0LjQwMSA1MDMuODAxIDM1MC40MDFDNTAzLjgwMSAzNTAuNDAxIDQ4Mi4yMDEgMjk1LjYgNTAyLjYwMSAzMTcuNjAxQzUwMi42MDEgMzE3LjYwMSA1MTQuNDUxIDMzMS4xNTEgNTA4LjA1MSAzMDguMzUxQzUwOC4wNTEgMzA4LjM1MSA0OTguOTQgMjg0LjM0MSA0OTkuNzE3IDI4MC4wNDVMNzAuMTcgMzAzLjA2NXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNjYzcyMjY7IHN0cm9rZTojMDAwMDAwIj4KKyAgPHBhdGggZD0iTTQ5OS43MTcgMjgwLjI0NUM1MDAuMzQ1IDI4MC40MjYgNTAyLjU1MSAyODEuNTUgNTAzLjgwMSAyODMuMkM1MDMuODAxIDI4My4yIDUxMC42MDEgMjk0IDUwNS40MDEgMjc1LjZDNTA1LjQwMSAyNzUuNiA0OTYuMjAxIDI0Ni44IDUwNS4wMDEgMjU4QzUwNS4wMDEgMjU4IDUxMS4wMDEgMjY1LjIgNTA3LjgwMSAyNTEuNkM1MDMuOTM2IDIzNS4xNzMgNTAxLjQwMSAyMjguOCA1MDEuNDAxIDIyOC44QzUwMS40MDEgMjI4LjggNTEzLjAwMSAyMzMuNiA0ODYuMjAxIDE5NEw0OTUuMDAxIDE5Ny42QzQ5NS4wMDEgMTk3LjYgNDc1LjQwMSAxNTggNDUzLjgwMSAxNTIuOEw0NDUuODAxIDE0Ni44QzQ0NS44MDEgMTQ2LjggNDg0LjIwMSAxMDguOCA0NzEuNDAxIDcyQzQ3MS40MDEgNzIgNDY0LjYwMSA2Ni44IDQ1NS4wMDEgNzZDNDU1LjAwMSA3NiA0NDguNjAxIDgwLjggNDQyLjYwMSA3OS4yQzQ0Mi42MDEgNzkuMiA0MTEuODAxIDgwLjQgNDA5LjgwMSA4MC40QzQwNy44MDEgODAuNCAzNzMuMDAxIDQzLjIgMzA3LjQwMSA2MC44QzMwNy40MDEgNjAuOCAzMDIuMjAxIDYyLjggMjk3LjgwMSA2MS42QzI5Ny44MDEgNjEuNiAyNzkuNCA0NS42IDIzMC42IDY4LjRDMjMwLjYgNjguNCAyMjAuNiA3MC40IDIxOSA3MC40QzIxNy40IDcwLjQgMjE0LjYgNzAuNCAyMDYuNiA3Ni44QzE5OC42IDgzLjIgMTk4LjIgODQgMTk2LjIgODUuNkMxOTYuMiA4NS42IDE3OS44IDk2LjggMTc1IDk3LjZDMTc1IDk3LjYgMTYzLjQgMTA0IDE1OSAxMTRMMTU1LjQgMTE1LjJDMTU1LjQgMTE1LjIgMTUzLjggMTIyLjQgMTUzLjQgMTIzLjZDMTUzLjQgMTIzLjYgMTQ4LjYgMTI3LjIgMTQ3LjggMTMyLjhDMTQ3LjggMTMyLjggMTM5IDEzOC44IDEzOS40IDE0My4yQzEzOS40IDE0My4yIDEzNy44IDE0OC40IDEzNyAxNTMuMkMxMzcgMTUzLjIgMTI5LjggMTU4IDEzMC42IDE2MC44QzEzMC42IDE2MC44IDEyMyAxNzQuOCAxMjQuMiAxODEuNkMxMjQuMiAxODEuNiAxMTcuOCAxODEuMiAxMTUgMTgzLjZDMTE1IDE4My42IDExNC4yIDE4OC40IDExMi42IDE4OC44QzExMi42IDE4OC44IDEwOS44IDE5MCAxMTIuMiAxOTRDMTEyLjIgMTk0IDExMC42IDE5Ni44IDExMC4yIDE5OC40QzExMC4yIDE5OC40IDExMSAyMDEuMiAxMDYuNiAyMDYuOEMxMDYuNiAyMDYuOCAxMDAuMiAyMjUuNiAxMDIuMiAyMzAuOEMxMDIuMiAyMzAuOCAxMDIuNiAyMzUuNiA5OS44IDIzNy4yQzk5LjggMjM3LjIgOTYuMiAyMzYuOCAxMDQuNiAyNDguOEMxMDQuNiAyNDguOCAxMDUuNCAyNTAgMTAyLjIgMjUyLjRDMTAyLjIgMjUyLjQgODUgMjU2IDgyLjYgMjcyLjRDODIuNiAyNzIuNCA2OSAyODcuMiA2OSAyOTIuNEM2OSAyOTQuNzA1IDY5LjI3MSAyOTcuODUyIDY5Ljk3IDMwMi40NjVDNjkuOTcgMzAyLjQ2NSA2OS40IDMxMC44MDEgOTcgMzExLjYwMUMxMjQuNiAzMTIuNDAxIDQ5OS43MTcgMjgwLjI0NSA0OTkuNzE3IDI4MC4yNDV6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjY2M3MjI2Ij4KKyAgPHBhdGggZD0iTTg0LjQgMzAyLjZDNTkuNCAyNjMuMiA3My44IDMxOS42MDEgNzMuOCAzMTkuNjAxQzgyLjYgMzU0LjAwMSAyMTIuMiAzMTYuNDAxIDIxMi4yIDMxNi40MDFDMjEyLjIgMzE2LjQwMSAzODEuMDAxIDI4NiAzOTIuMjAxIDI4MkM0MDMuNDAxIDI3OCA0OTguNjAxIDI4NC40IDQ5OC42MDEgMjg0LjRMNDkzLjAwMSAyNjcuNkM0MjguMjAxIDIyMS4yIDQwOS4wMDEgMjQ0LjQgMzk1LjQwMSAyNDAuNEMzODEuODAxIDIzNi40IDM4NC4yMDEgMjQ2IDM4MS4wMDEgMjQ2LjhDMzc3LjgwMSAyNDcuNiAzMzguNjAxIDIyMi44IDMzMi4yMDEgMjIzLjZDMzI1LjgwMSAyMjQuNCAzMDAuNDU5IDIwMC42NDkgMzE1LjQwMSAyMzIuNEMzMzEuNDAxIDI2Ni40IDI1NyAyNzEuNiAyNDAuMiAyNjAuNEMyMjMuNCAyNDkuMiAyNDcuNCAyNzguOCAyNDcuNCAyNzguOEMyNjUuOCAyOTguOCAyMzEuNCAyODIgMjMxLjQgMjgyQzE5NyAyNjkuMiAxNzMgMjk0LjggMTY5LjggMjk1LjZDMTY2LjYgMjk2LjQgMTYxLjggMjk5LjYgMTYxIDI5My4yQzE2MC4yIDI4Ni44IDE1Mi42OSAyNzAuMDk5IDEyMSAyOTYuNEMxMDEgMzEzLjAwMSA4Ny4yIDI5MSA4Ny4yIDI5MUw4NC40IDMwMi42eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2U4N2YzYSI+CisgIDxwYXRoIGQ9Ik0zMzMuNTEgMjI1LjM0NkMzMjcuMTEgMjI2LjE0NiAzMDEuNzQzIDIwMi40MDcgMzE2LjcxIDIzNC4xNDZDMzMzLjMxIDI2OS4zNDYgMjU4LjMxIDI3My4zNDYgMjQxLjUxIDI2Mi4xNDZDMjI0LjcwOSAyNTAuOTQ2IDI0OC43MSAyODAuNTQ2IDI0OC43MSAyODAuNTQ2QzI2Ny4xMSAzMDAuNTQ2IDIzMi43MDkgMjgzLjc0NiAyMzIuNzA5IDI4My43NDZDMTk4LjMwOSAyNzAuOTQ2IDE3NC4zMDkgMjk2LjU0NiAxNzEuMTA5IDI5Ny4zNDZDMTY3LjkwOSAyOTguMTQ2IDE2My4xMDkgMzAxLjM0NiAxNjIuMzA5IDI5NC45NDZDMTYxLjUwOSAyODguNTQ2IDE1NC4xMyAyNzIuMDEyIDEyMi4zMDkgMjk4LjE0NkMxMDEuMDczIDMxNS40OTIgODcuNTgyIDI5NC4wMzcgODcuNTgyIDI5NC4wMzdMODQuMzgyIDMwNC4xNDZDNTkuMzgyIDI2NC4zNDYgNzQuNDU0IDMyMi42NTUgNzQuNDU0IDMyMi42NTVDODMuMjU1IDM1Ny4wNTYgMjEzLjUwOSAzMTguMTQ2IDIxMy41MDkgMzE4LjE0NkMyMTMuNTA5IDMxOC4xNDYgMzgyLjMxIDI4Ny43NDYgMzkzLjUxIDI4My43NDZDNDA0LjcxIDI3OS43NDYgNDk5LjAzOCAyODYuMDczIDQ5OS4wMzggMjg2LjA3M0w0OTMuNTEgMjY4Ljc2NEM0MjguNzEgMjIyLjM2NCA0MTAuMzEgMjQ2LjE0NiAzOTYuNzEgMjQyLjE0NkMzODMuMTEgMjM4LjE0NiAzODUuNTEgMjQ3Ljc0NiAzODIuMzEgMjQ4LjU0NkMzNzkuMTEgMjQ5LjM0NiAzMzkuOTEgMjI0LjU0NiAzMzMuNTEgMjI1LjM0NnoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNlYThjNGQiPgorICA8cGF0aCBkPSJNMzM0LjgxOSAyMjcuMDkxQzMyOC40MTkgMjI3Ljg5MSAzMDMuNjg1IDIwMy44NjIgMzE4LjAxOSAyMzUuODkxQzMzNC4yMTkgMjcyLjA5MiAyNTkuNjE5IDI3NS4wOTIgMjQyLjgxOSAyNjMuODkyQzIyNi4wMTkgMjUyLjY5MiAyNTAuMDE5IDI4Mi4yOTIgMjUwLjAxOSAyODIuMjkyQzI2OC40MTkgMzAyLjI5MiAyMzQuMDE5IDI4NS40OTIgMjM0LjAxOSAyODUuNDkyQzE5OS42MTkgMjcyLjY5MiAxNzUuNjE4IDI5OC4yOTIgMTcyLjQxOCAyOTkuMDkyQzE2OS4yMTggMjk5Ljg5MiAxNjQuNDE4IDMwMy4wOTIgMTYzLjYxOCAyOTYuNjkyQzE2Mi44MTggMjkwLjI5MiAxNTUuNTcgMjczLjkyNSAxMjMuNjE4IDI5OS44OTJDMTAxLjE0NSAzMTcuOTgzIDg3Ljk2NCAyOTcuMDc0IDg3Ljk2NCAyOTcuMDc0TDg0LjM2NCAzMDUuNjkyQzYwLjU2NCAyNjYuNjkyIDc1LjEwOSAzMjUuNzEgNzUuMTA5IDMyNS43MUM4My45MDkgMzYwLjExIDIxNC44MTkgMzE5Ljg5MiAyMTQuODE5IDMxOS44OTJDMjE0LjgxOSAzMTkuODkyIDM4My42MTkgMjg5LjQ5MiAzOTQuODE5IDI4NS40OTJDNDA2LjAxOSAyODEuNDkyIDQ5OS40NzQgMjg3Ljc0NiA0OTkuNDc0IDI4Ny43NDZMNDk0LjAyIDI2OS45MjhDNDI5LjIxOSAyMjMuNTI4IDQxMS42MTkgMjQ3Ljg5MSAzOTguMDE5IDI0My44OTFDMzg0LjQxOSAyMzkuODkxIDM4Ni44MTkgMjQ5LjQ5MSAzODMuNjE5IDI1MC4yOTJDMzgwLjQxOSAyNTEuMDkyIDM0MS4yMTkgMjI2LjI5MSAzMzQuODE5IDIyNy4wOTF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZWM5OTYxIj4KKyAgPHBhdGggZD0iTTMzNi4xMjggMjI4LjgzN0MzMjkuNzI4IDIyOS42MzcgMzA0Ljk5OSAyMDUuNjA1IDMxOS4zMjggMjM3LjYzN0MzMzYuMTI4IDI3NS4xOTMgMjYwLjM5NCAyNzYuNDgyIDI0NC4xMjggMjY1LjYzN0MyMjcuMzI4IDI1NC40MzcgMjUxLjMyOCAyODQuMDM3IDI1MS4zMjggMjg0LjAzN0MyNjkuNzI4IDMwNC4wMzcgMjM1LjMyOCAyODcuMjM3IDIzNS4zMjggMjg3LjIzN0MyMDAuOTI4IDI3NC40MzcgMTc2LjkyOCAzMDAuMDM3IDE3My43MjggMzAwLjgzN0MxNzAuNTI4IDMwMS42MzcgMTY1LjcyOCAzMDQuODM3IDE2NC45MjggMjk4LjQzN0MxNjQuMTI4IDI5Mi4wMzcgMTU3LjAxMSAyNzUuODM5IDEyNC45MjcgMzAxLjYzN0MxMDEuMjE4IDMyMC40NzQgODguMzQ1IDMwMC4xMSA4OC4zNDUgMzAwLjExTDg0LjM0NSAzMDcuMjM3QzYyLjU0NSAyNzAuNDM3IDc1Ljc2NCAzMjguNzY1IDc1Ljc2NCAzMjguNzY1Qzg0LjU2NCAzNjMuMTY1IDIxNi4xMjggMzIxLjYzNyAyMTYuMTI4IDMyMS42MzdDMjE2LjEyOCAzMjEuNjM3IDM4NC45MjggMjkxLjIzNyAzOTYuMTI5IDI4Ny4yMzdDNDA3LjMyOSAyODMuMjM3IDQ5OS45MTEgMjg5LjQxOSA0OTkuOTExIDI4OS40MTlMNDk0LjUyOSAyNzEuMDkyQzQyOS43MjkgMjI0LjY5MSA0MTIuOTI5IDI0OS42MzcgMzk5LjMyOSAyNDUuNjM3QzM4NS43MjggMjQxLjYzNyAzODguMTI4IDI1MS4yMzcgMzg0LjkyOCAyNTIuMDM3QzM4MS43MjggMjUyLjgzNyAzNDIuNTI4IDIyOC4wMzcgMzM2LjEyOCAyMjguODM3eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2VlYTU3NSI+CisgIDxwYXRoIGQ9Ik0zMzcuNDM4IDIzMC41ODNDMzMxLjAzNyAyMzEuMzgzIDMwNi44MTQgMjA3LjEyOSAzMjAuNjM3IDIzOS4zODNDMzM3LjQzOCAyNzguNTgzIDI2Mi4yMzcgMjc4LjU4MyAyNDUuNDM3IDI2Ny4zODNDMjI4LjYzNyAyNTYuMTgzIDI1Mi42MzcgMjg1Ljc4MyAyNTIuNjM3IDI4NS43ODNDMjcxLjAzNyAzMDUuNzgzIDIzNi42MzcgMjg4Ljk4MyAyMzYuNjM3IDI4OC45ODNDMjAyLjIzNyAyNzYuMTgzIDE3OC4yMzcgMzAxLjc4MyAxNzUuMDM3IDMwMi41ODNDMTcxLjgzNyAzMDMuMzgzIDE2Ny4wMzcgMzA2LjU4MyAxNjYuMjM3IDMwMC4xODNDMTY1LjQzNyAyOTMuNzgzIDE1OC40NTIgMjc3Ljc1MiAxMjYuMjM3IDMwMy4zODNDMTAxLjI5MSAzMjIuOTY1IDg4LjcyNyAzMDMuMTQ2IDg4LjcyNyAzMDMuMTQ2TDg0LjMyNyAzMDguNzgzQzY0LjUyNyAyNzMuOTgyIDc2LjQxOCAzMzEuODE5IDc2LjQxOCAzMzEuODE5Qzg1LjIxOCAzNjYuMjIgMjE3LjQzNyAzMjMuMzgzIDIxNy40MzcgMzIzLjM4M0MyMTcuNDM3IDMyMy4zODMgMzg2LjIzOCAyOTIuOTgzIDM5Ny40MzggMjg4Ljk4M0M0MDguNjM4IDI4NC45ODMgNTAwLjM0NyAyOTEuMDkyIDUwMC4zNDcgMjkxLjA5Mkw0OTUuMDM4IDI3Mi4yNTVDNDMwLjIzOCAyMjUuODU1IDQxNC4yMzggMjUxLjM4MyA0MDAuNjM4IDI0Ny4zODNDMzg3LjAzOCAyNDMuMzgzIDM4OS40MzggMjUyLjk4MyAzODYuMjM4IDI1My43ODNDMzgzLjAzOCAyNTQuNTgzIDM0My44MzggMjI5Ljc4MyAzMzcuNDM4IDIzMC41ODN6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZjFiMjg4Ij4KKyAgPHBhdGggZD0iTTMzOC43NDcgMjMyLjMyOEMzMzIuMzQ3IDIzMy4xMjggMzA2LjM4MyAyMDkuNjc3IDMyMS45NDcgMjQxLjEyOEMzNDEuMTQ3IDI3OS45MjggMjYzLjU0NiAyODAuMzI4IDI0Ni43NDYgMjY5LjEyOEMyMjkuOTQ2IDI1Ny45MjggMjUzLjk0NiAyODcuNTI4IDI1My45NDYgMjg3LjUyOEMyNzIuMzQ2IDMwNy41MjggMjM3Ljk0NiAyOTAuNzI4IDIzNy45NDYgMjkwLjcyOEMyMDMuNTQ2IDI3Ny45MjggMTc5LjU0NiAzMDMuNTI4IDE3Ni4zNDYgMzA0LjMyOEMxNzMuMTQ2IDMwNS4xMjggMTY4LjM0NiAzMDguMzI4IDE2Ny41NDYgMzAxLjkyOEMxNjYuNzQ2IDI5NS41MjggMTU5Ljg5MiAyNzkuNjY1IDEyNy41NDYgMzA1LjEyOEMxMDEuMzY0IDMyNS40NTYgODkuMTA5IDMwNi4xODMgODkuMTA5IDMwNi4xODNMODQuMzA5IDMxMC4zMjhDNjYuMzA5IDI3Ny4xMjggNzcuMDczIDMzNC44NzQgNzcuMDczIDMzNC44NzRDODUuODczIDM2OS4yNzQgMjE4Ljc0NiAzMjUuMTI4IDIxOC43NDYgMzI1LjEyOEMyMTguNzQ2IDMyNS4xMjggMzg3LjU0NyAyOTQuNzI4IDM5OC43NDcgMjkwLjcyOEM0MDkuOTQ3IDI4Ni43MjggNTAwLjc4MyAyOTIuNzY0IDUwMC43ODMgMjkyLjc2NEw0OTUuNTQ3IDI3My40MTlDNDMwLjc0NyAyMjcuMDE5IDQxNS41NDcgMjUzLjEyOCA0MDEuOTQ3IDI0OS4xMjhDMzg4LjM0NyAyNDUuMTI4IDM5MC43NDcgMjU0LjcyOCAzODcuNTQ3IDI1NS41MjhDMzg0LjM0NyAyNTYuMzI4IDM0NS4xNDcgMjMxLjUyOCAzMzguNzQ3IDIzMi4zMjh6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZjNiZjljIj4KKyAgPHBhdGggZD0iTTM0MC4wNTYgMjM0LjA3M0MzMzMuNjU1IDIzNC44NzMgMzA3LjMxMyAyMTEuNjEzIDMyMy4yNTUgMjQyLjg3M0MzNDMuNjU2IDI4Mi44NzQgMjY0Ljg1NSAyODIuMDc0IDI0OC4wNTUgMjcwLjg3NEMyMzEuMjU1IDI1OS42NzQgMjU1LjI1NSAyODkuMjc0IDI1NS4yNTUgMjg5LjI3NEMyNzMuNjU1IDMwOS4yNzQgMjM5LjI1NSAyOTIuNDc0IDIzOS4yNTUgMjkyLjQ3NEMyMDQuODU1IDI3OS42NzQgMTgwLjg1NSAzMDUuMjc0IDE3Ny42NTUgMzA2LjA3NEMxNzQuNDU1IDMwNi44NzQgMTY5LjY1NSAzMTAuMDc0IDE2OC44NTUgMzAzLjY3NEMxNjguMDU1IDI5Ny4yNzQgMTYxLjMzMiAyODEuNTc4IDEyOC44NTUgMzA2Ljg3NEMxMDEuNDM2IDMyNy45NDcgODkuNDkxIDMwOS4yMTkgODkuNDkxIDMwOS4yMTlMODQuMjkxIDMxMS44NzRDNjguMjkxIDI4MS42NzQgNzcuNzI3IDMzNy45MjkgNzcuNzI3IDMzNy45MjlDODYuNTI3IDM3Mi4zMjkgMjIwLjA1NSAzMjYuODc0IDIyMC4wNTUgMzI2Ljg3NEMyMjAuMDU1IDMyNi44NzQgMzg4Ljg1NiAyOTYuNDc0IDQwMC4wNTYgMjkyLjQ3NEM0MTEuMjU2IDI4OC40NzQgNTAxLjIyIDI5NC40MzcgNTAxLjIyIDI5NC40MzdMNDk2LjA1NiAyNzQuNTgzQzQzMS4yNTYgMjI4LjE4MyA0MTYuODU2IDI1NC44NzQgNDAzLjI1NiAyNTAuODc0QzM4OS42NTYgMjQ2Ljg3MyAzOTIuMDU2IDI1Ni40NzQgMzg4Ljg1NiAyNTcuMjc0QzM4NS42NTYgMjU4LjA3NCAzNDYuNDU2IDIzMy4yNzMgMzQwLjA1NiAyMzQuMDczeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2Y1Y2NiMCI+CisgIDxwYXRoIGQ9Ik0zNDEuMzY1IDIzNS44MTlDMzM0Ljk2NSAyMzYuNjE5IDMwNy41MjMgMjEzLjk0NCAzMjQuNTY1IDI0NC42MTlDMzQ2LjU2NSAyODQuMjE5IDI2Ni4xNjQgMjgzLjgxOSAyNDkuMzY0IDI3Mi42MTlDMjMyLjU2NCAyNjEuNDE5IDI1Ni41NjQgMjkxLjAxOSAyNTYuNTY0IDI5MS4wMTlDMjc0Ljk2NCAzMTEuMDE5IDI0MC41NjQgMjk0LjIxOSAyNDAuNTY0IDI5NC4yMTlDMjA2LjE2NCAyODEuNDE5IDE4Mi4xNjQgMzA3LjAxOSAxNzguOTY0IDMwNy44MTlDMTc1Ljc2NCAzMDguNjE5IDE3MC45NjQgMzExLjgxOSAxNzAuMTY0IDMwNS40MTlDMTY5LjM2NCAyOTkuMDE5IDE2Mi43NzMgMjgzLjQ5MiAxMzAuMTY0IDMwOC42MTlDMTAxLjUwOSAzMzAuNDM4IDg5Ljg3MyAzMTIuMjU2IDg5Ljg3MyAzMTIuMjU2TDg0LjI3MyAzMTMuNDE5QzY5Ljg3MiAyODUuMDE5IDc4LjM4MiAzNDAuOTgzIDc4LjM4MiAzNDAuOTgzQzg3LjE4MiAzNzUuMzg0IDIyMS4zNjQgMzI4LjYxOSAyMjEuMzY0IDMyOC42MTlDMjIxLjM2NCAzMjguNjE5IDM5MC4xNjUgMjk4LjIxOSA0MDEuMzY1IDI5NC4yMTlDNDEyLjU2NSAyOTAuMjE5IDUwMS42NTYgMjk2LjExIDUwMS42NTYgMjk2LjExTDQ5Ni41NjUgMjc1Ljc0NkM0MzEuNzY1IDIyOS4zNDYgNDE4LjE2NSAyNTYuNjE5IDQwNC41NjUgMjUyLjYxOUMzOTAuOTY1IDI0OC42MTkgMzkzLjM2NSAyNTguMjE5IDM5MC4xNjUgMjU5LjAxOUMzODYuOTY1IDI1OS44MTkgMzQ3Ljc2NSAyMzUuMDE5IDM0MS4zNjUgMjM1LjgxOXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmOGQ4YzQiPgorICA8cGF0aCBkPSJNMzQyLjY3NCAyMzcuNTY1QzMzNi4yNzQgMjM4LjM2NSAzMDguODMyIDIxNS42ODkgMzI1Ljg3NCAyNDYuMzY1QzM0Ny44NzQgMjg1Ljk2NSAyNjcuNDc0IDI4NS41NjUgMjUwLjY3NCAyNzQuMzY1QzIzMy44NzQgMjYzLjE2NSAyNTcuODc0IDI5Mi43NjUgMjU3Ljg3NCAyOTIuNzY1QzI3Ni4yNzQgMzEyLjc2NSAyNDEuODc0IDI5NS45NjUgMjQxLjg3NCAyOTUuOTY1QzIwNy40NzMgMjgzLjE2NSAxODMuNDczIDMwOC43NjUgMTgwLjI3MyAzMDkuNTY1QzE3Ny4wNzMgMzEwLjM2NSAxNzIuMjczIDMxMy41NjUgMTcxLjQ3MyAzMDcuMTY1QzE3MC42NzMgMzAwLjc2NSAxNjQuMjE0IDI4NS40MDUgMTMxLjQ3MyAzMTAuMzY1QzEwMS41ODIgMzMyLjkyOSA5MC4yNTUgMzE1LjI5MyA5MC4yNTUgMzE1LjI5M0w4NC4yNTUgMzE0Ljk2NUM3MC42NTQgMjg4LjU2NCA3OS4wMzcgMzQ0LjAzOCA3OS4wMzcgMzQ0LjAzOEM4Ny44MzcgMzc4LjQzOCAyMjIuNjczIDMzMC4zNjUgMjIyLjY3MyAzMzAuMzY1QzIyMi42NzMgMzMwLjM2NSAzOTEuNDc0IDI5OS45NjUgNDAyLjY3NCAyOTUuOTY1QzQxMy44NzQgMjkxLjk2NSA1MDIuMDkzIDI5Ny43ODMgNTAyLjA5MyAyOTcuNzgzTDQ5Ny4wNzUgMjc2LjkxQzQzMi4yNzQgMjMwLjUxIDQxOS40NzQgMjU4LjM2NSA0MDUuODc0IDI1NC4zNjVDMzkyLjI3NCAyNTAuMzY1IDM5NC42NzQgMjU5Ljk2NSAzOTEuNDc0IDI2MC43NjVDMzg4LjI3NCAyNjEuNTY1IDM0OS4wNzQgMjM2Ljc2NSAzNDIuNjc0IDIzNy41NjV6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmFlNWQ3Ij4KKyAgPHBhdGggZD0iTTM0My45ODMgMjM5LjMxQzMzNy41ODMgMjQwLjExIDMxMC41MjkgMjE3LjIyMyAzMjcuMTgzIDI0OC4xMUMzNDkuMTgzIDI4OC45MSAyNjguNzgzIDI4Ny4zMSAyNTEuOTgzIDI3Ni4xMUMyMzUuMTgzIDI2NC45MSAyNTkuMTgzIDI5NC41MSAyNTkuMTgzIDI5NC41MUMyNzcuNTgzIDMxNC41MSAyNDMuMTgzIDI5Ny43MSAyNDMuMTgzIDI5Ny43MUMyMDguNzgzIDI4NC45MSAxODQuNzgzIDMxMC41MSAxODEuNTgzIDMxMS4zMUMxNzguMzgyIDMxMi4xMSAxNzMuNTgyIDMxNS4zMSAxNzIuNzgyIDMwOC45MUMxNzEuOTgyIDMwMi41MSAxNjUuNjU0IDI4Ny4zMTggMTMyLjc4MiAzMTIuMTFDMTAxLjY1NSAzMzUuNDIgOTAuNjM3IDMxOC4zMjkgOTAuNjM3IDMxOC4zMjlMODQuMjM2IDMxNi41MUM3MS4yMzYgMjkyLjUxIDc5LjY5MSAzNDcuMDkzIDc5LjY5MSAzNDcuMDkzQzg4LjQ5MSAzODEuNDkzIDIyMy45ODMgMzMyLjExIDIyMy45ODMgMzMyLjExQzIyMy45ODMgMzMyLjExIDM5Mi43ODMgMzAxLjcxIDQwMy45ODMgMjk3LjcxQzQxNS4xODMgMjkzLjcxIDUwMi41MjkgMjk5LjQ1NiA1MDIuNTI5IDI5OS40NTZMNDk3LjU4MyAyNzguMDc0QzQzMi43ODMgMjMxLjY3MyA0MjAuNzgzIDI2MC4xMSA0MDcuMTgzIDI1Ni4xMUMzOTMuNTgzIDI1Mi4xMSAzOTUuOTgzIDI2MS43MSAzOTIuNzgzIDI2Mi41MUMzODkuNTgzIDI2My4zMSAzNTAuMzgzIDIzOC41MSAzNDMuOTgzIDIzOS4zMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmY2YyZWIiPgorICA8cGF0aCBkPSJNMzQ1LjI5MiAyNDEuMDU1QzMzOC44OTIgMjQxLjg1NSAzMTIuOTE3IDIxOC40MTEgMzI4LjQ5MiAyNDkuODU1QzM0OS42OTIgMjkyLjY1NiAyNzAuMDkyIDI4OS4wNTYgMjUzLjI5MiAyNzcuODU2QzIzNi40OTIgMjY2LjY1NiAyNjAuNDkyIDI5Ni4yNTYgMjYwLjQ5MiAyOTYuMjU2QzI3OC44OTIgMzE2LjI1NiAyNDQuNDkyIDI5OS40NTYgMjQ0LjQ5MiAyOTkuNDU2QzIxMC4wOTIgMjg2LjY1NiAxODYuMDkyIDMxMi4yNTYgMTgyLjg5MiAzMTMuMDU2QzE3OS42OTIgMzEzLjg1NiAxNzQuODkyIDMxNy4wNTYgMTc0LjA5MiAzMTAuNjU2QzE3My4yOTIgMzA0LjI1NiAxNjcuMDk1IDI4OS4yMzIgMTM0LjA5MiAzMTMuODU2QzEwMS43MjcgMzM3LjkxMSA5MS4wMTggMzIxLjM2NSA5MS4wMTggMzIxLjM2NUw4NC4yMTggMzE4LjA1NkM3MS40MTggMjk0Ljg1NiA4MC4zNDYgMzUwLjE0NyA4MC4zNDYgMzUwLjE0N0M4OS4xNDYgMzg0LjU0NyAyMjUuMjkyIDMzMy44NTYgMjI1LjI5MiAzMzMuODU2QzIyNS4yOTIgMzMzLjg1NiAzOTQuMDkzIDMwMy40NTYgNDA1LjI5MyAyOTkuNDU2QzQxNi40OTMgMjk1LjQ1NiA1MDIuOTY1IDMwMS4xMjggNTAyLjk2NSAzMDEuMTI4TDQ5OC4wOTMgMjc5LjIzN0M0MzMuMjkyIDIzMi44MzcgNDIyLjA5MyAyNjEuODU2IDQwOC40OTMgMjU3Ljg1NkMzOTQuODkzIDI1My44NTUgMzk3LjI5MyAyNjMuNDU2IDM5NC4wOTMgMjY0LjI1NkMzOTAuODkyIDI2NS4wNTYgMzUxLjY5MiAyNDAuMjU1IDM0NS4yOTIgMjQxLjA1NXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmZmYiPgorICA8cGF0aCBkPSJNODQuMiAzMTkuNjAxQzcxLjQgMjk3LjYgODEgMzUzLjIwMSA4MSAzNTMuMjAxQzg5LjggMzg3LjYwMSAyMjYuNiAzMzUuNjAxIDIyNi42IDMzNS42MDFDMjI2LjYgMzM1LjYwMSAzOTUuNDAxIDMwNS4yIDQwNi42MDEgMzAxLjJDNDE3LjgwMSAyOTcuMiA1MDMuNDAxIDMwMi44IDUwMy40MDEgMzAyLjhMNDk4LjYwMSAyODAuNEM0MzMuODAxIDIzNCA0MjMuNDAxIDI2My42IDQwOS44MDEgMjU5LjZDMzk2LjIwMSAyNTUuNiAzOTguNjAxIDI2NS4yIDM5NS40MDEgMjY2QzM5Mi4yMDEgMjY2LjggMzUzLjAwMSAyNDIgMzQ2LjYwMSAyNDIuOEMzNDAuMjAxIDI0My42IDMxNC45ODEgMjE5Ljc5MyAzMjkuODAxIDI1MS42QzM1Mi4wMjggMjk5LjMwNyAyNjkuMDQxIDI4OS4yMjcgMjU0LjYgMjc5LjZDMjM3LjggMjY4LjQgMjYxLjggMjk4IDI2MS44IDI5OEMyODAuMiAzMTguMDAxIDI0NS44IDMwMS4yIDI0NS44IDMwMS4yQzIxMS40IDI4OC40IDE4Ny40IDMxNC4wMDEgMTg0LjIgMzE0LjgwMUMxODEgMzE1LjYwMSAxNzYuMiAzMTguODAxIDE3NS40IDMxMi40MDFDMTc0LjYgMzA2IDE2OC41MzUgMjkxLjE0NCAxMzUuNCAzMTUuNjAxQzEwMS44IDM0MC40MDEgOTEuNCAzMjQuNDAxIDkxLjQgMzI0LjQwMUw4NC4yIDMxOS42MDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjMDAwMDAwIj4KKyAgPHBhdGggZD0iTTEyNS44IDM0OS42MDFDMTI1LjggMzQ5LjYwMSAxMTguNiAzNjEuMjAxIDEzOS40IDM3NC40MDFDMTM5LjQgMzc0LjQwMSAxNDAuOCAzNzUuODAxIDEyMi44IDM3MS42MDFDMTIyLjggMzcxLjYwMSAxMTYuNiAzNjkuNjAxIDExNSAzNTkuMjAxQzExNSAzNTkuMjAxIDExMC4yIDM1NC44MDEgMTA1LjQgMzQ5LjIwMUMxMDAuNiAzNDMuNjAxIDEyNS44IDM0OS42MDEgMTI1LjggMzQ5LjYwMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNjY2NjY2MiPgorICA8cGF0aCBkPSJNMjY1LjggMzAyQzI2NS44IDMwMiAyODMuNDk4IDMyOC44MjEgMjgyLjkgMzMzLjYwMUMyODEuNiAzNDQuMDAxIDI4MS40IDM1My42MDEgMjg0LjYgMzU3LjYwMUMyODcuODAxIDM2MS42MDEgMjk2LjYwMSAzOTQuODAxIDI5Ni42MDEgMzk0LjgwMUMyOTYuNjAxIDM5NC44MDEgMjk2LjIwMSAzOTYuMDAxIDMwOC42MDEgMzU4LjAwMUMzMDguNjAxIDM1OC4wMDEgMzIwLjIwMSAzNDIuMDAxIDMwMC4yMDEgMzIzLjYwMUMzMDAuMjAxIDMyMy42MDEgMjY1IDI5NC44IDI2NS44IDMwMnoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICMwMDAwMDAiPgorICA8cGF0aCBkPSJNMTQ1LjggMzc2LjQwMUMxNDUuOCAzNzYuNDAxIDE1NyAzODMuNjAxIDE0Mi42IDQxNC44MDFMMTQ5IDQxMi40MDFDMTQ5IDQxMi40MDEgMTQ4LjIgNDIzLjYwMSAxNDUgNDI2LjAwMUwxNTIuMiA0MjIuODAxQzE1Mi4yIDQyMi44MDEgMTU3IDQzMC44MDEgMTUzIDQzNS42MDFDMTUzIDQzNS42MDEgMTY5LjggNDQzLjYwMSAxNjkgNDUwLjAwMUMxNjkgNDUwLjAwMSAxNzUuNCA0NDIuMDAxIDE3MS40IDQzNS42MDFDMTY3LjQgNDI5LjIwMSAxNjAuMiA0MzMuMjAxIDE2MSA0MTQuODAxTDE1Mi4yIDQxOC4wMDFDMTUyLjIgNDE4LjAwMSAxNTcuOCA0MDkuMjAxIDE1Ny44IDQwMi44MDFMMTQ5LjggNDA1LjIwMUMxNDkuOCA0MDUuMjAxIDE2NS4yNjkgMzc4LjYyMyAxNTQuNiAzNzcuMjAxQzE0OC42IDM3Ni40MDEgMTQ1LjggMzc2LjQwMSAxNDUuOCAzNzYuNDAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2NjY2NjYyI+CisgIDxwYXRoIGQ9Ik0xNzguMiAzOTMuMjAxQzE3OC4yIDM5My4yMDEgMTgxIDM4OC44MDEgMTc4LjIgMzg5LjYwMUMxNzUuNCAzOTAuNDAxIDE0NC4yIDQwNS4yMDEgMTM4LjIgNDE0LjgwMUMxMzguMiA0MTQuODAxIDE3Mi42IDM5MC40MDEgMTc4LjIgMzkzLjIwMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNjY2NjY2MiPgorICA8cGF0aCBkPSJNMTg4LjYgNDAxLjIwMUMxODguNiA0MDEuMjAxIDE5MS40IDM5Ni44MDEgMTg4LjYgMzk3LjYwMUMxODUuOCAzOTguNDAxIDE1NC42IDQxMy4yMDEgMTQ4LjYgNDIyLjgwMUMxNDguNiA0MjIuODAxIDE4MyAzOTguNDAxIDE4OC42IDQwMS4yMDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjY2NjY2NjIj4KKyAgPHBhdGggZD0iTTIwMS44IDM4Ni4wMDFDMjAxLjggMzg2LjAwMSAyMDQuNiAzODEuNjAxIDIwMS44IDM4Mi40MDFDMTk5IDM4My4yMDEgMTY3LjggMzk4LjAwMSAxNjEuOCA0MDcuNjAxQzE2MS44IDQwNy42MDEgMTk2LjIgMzgzLjIwMSAyMDEuOCAzODYuMDAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2NjY2NjYyI+CisgIDxwYXRoIGQ9Ik0xNzguNiA0MjkuNjAxQzE3OC42IDQyOS42MDEgMTc4LjYgNDIzLjYwMSAxNzUuOCA0MjQuNDAxQzE3MyA0MjUuMjAxIDEzNyA0NDIuODAxIDEzMSA0NTIuNDAxQzEzMSA0NTIuNDAxIDE3MyA0MjYuODAxIDE3OC42IDQyOS42MDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjY2NjY2NjIj4KKyAgPHBhdGggZD0iTTE3OS44IDQxOC44MDFDMTc5LjggNDE4LjgwMSAxODEgNDE0LjAwMSAxNzguMiA0MTQuODAxQzE3Ni4yIDQxNC44MDEgMTQ5LjggNDI2LjQwMSAxNDMuOCA0MzYuMDAxQzE0My44IDQzNi4wMDEgMTczLjQgNDE0LjQwMSAxNzkuOCA0MTguODAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2NjY2NjYyI+CisgIDxwYXRoIGQ9Ik0xNjUuNCA0NjYuNDAxTDE1NS40IDQ3NC4wMDFDMTU1LjQgNDc0LjAwMSAxNjUuOCA0NjYuNDAxIDE2OS40IDQ2Ny42MDFDMTY5LjQgNDY3LjYwMSAxNjIuNiA0NzguODAxIDE2MS44IDQ4NC4wMDFDMTYxLjggNDg0LjAwMSAxNzIuMiA0NzEuMjAxIDE3Ny44IDQ3MS42MDFDMTc3LjggNDcxLjYwMSAxODUuNCA0NzIuMDAxIDE4NS40IDQ4Mi44MDFDMTg1LjQgNDgyLjgwMSAxOTEgNDcyLjQwMSAxOTQuMiA0NzIuODAxQzE5NC4yIDQ3Mi44MDEgMTk1LjQgNDc5LjIwMSAxOTQuMiA0ODYuMDAxQzE5NC4yIDQ4Ni4wMDEgMTk4LjIgNDc4LjQwMSAyMDIuMiA0ODAuMDAxQzIwMi4yIDQ4MC4wMDEgMjA4LjYgNDc4LjAwMSAyMDcuOCA0ODkuNjAxQzIwNy44IDQ4OS42MDEgMjA3LjggNTAwLjAwMSAyMDcgNTAyLjgwMUMyMDcgNTAyLjgwMSAyMTIuNiA0NzYuNDAxIDIxNSA0NzYuMDAxQzIxNSA0NzYuMDAxIDIyMyA0NzQuODAxIDIyNy44IDQ4My42MDFDMjI3LjggNDgzLjYwMSAyMjMuOCA0NzYuMDAxIDIyOC42IDQ3OC4wMDFDMjI4LjYgNDc4LjAwMSAyMzkuNCA0NzkuNjAxIDI0Mi42IDQ4Ni40MDFDMjQyLjYgNDg2LjQwMSAyMzUuOCA0NzQuNDAxIDI0MS40IDQ3Ny42MDFDMjQxLjQgNDc3LjYwMSAyNDguMiA0NzcuNjAxIDI0OS40IDQ4NC4wMDFDMjQ5LjQgNDg0LjAwMSAyNTcuOCA1MDUuMjAxIDI1OS44IDUwNi44MDFDMjU5LjggNTA2LjgwMSAyNTIuMiA0ODUuMjAxIDI1My44IDQ4NS4yMDFDMjUzLjggNDg1LjIwMSAyNTEuOCA0NzMuMjAxIDI1NyA0ODguMDAxQzI1NyA0ODguMDAxIDI1My44IDQ3NC4wMDEgMjU5LjQgNDc0LjgwMUMyNjUgNDc1LjYwMSAyNjkuNCA0ODUuNjAxIDI3Ny44IDQ4My4yMDFDMjc3LjggNDgzLjIwMSAyODcuNDAxIDQ4OC44MDEgMjg5LjQwMSA0MTkuNjAxTDE2NS40IDQ2Ni40MDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjMDAwMDAwIj4KKyAgPHBhdGggZD0iTTE3MC4yIDM3My42MDFDMTcwLjIgMzczLjYwMSAxODUgMzY3LjYwMSAyMjUgMzczLjYwMUMyMjUgMzczLjYwMSAyMzIuMiAzNzQuMDAxIDIzOSAzNjUuMjAxQzI0NS44IDM1Ni40MDEgMjcyLjYgMzQ5LjIwMSAyNzkgMzUxLjIwMUwyODguNjAxIDM1Ny42MDFMMjg5LjQwMSAzNTguODAxQzI4OS40MDEgMzU4LjgwMSAzMDEuODAxIDM2OS4yMDEgMzAyLjIwMSAzNzYuODAxQzMwMi42MDEgMzg0LjQwMSAyODcuODAxIDQzMi40MDEgMjc4LjIgNDQ4LjQwMUMyNjguNiA0NjQuNDAxIDI1OSA0NzYuODAxIDIzOS44IDQ3NC40MDFDMjM5LjggNDc0LjQwMSAyMTkgNDcwLjQwMSAxOTMuNCA0NzQuNDAxQzE5My40IDQ3NC40MDEgMTY0LjIgNDcyLjgwMSAxNjEuNCA0NjQuODAxQzE1OC42IDQ1Ni44MDEgMTcyLjYgNDQxLjYwMSAxNzIuNiA0NDEuNjAxQzE3Mi42IDQ0MS42MDEgMTc3IDQzMy4yMDEgMTc1LjggNDE4LjgwMUMxNzQuNiA0MDQuNDAxIDE3NSAzNzYuNDAxIDE3MC4yIDM3My42MDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZTU2NjhjIj4KKyAgPHBhdGggZD0iTTE5Mi4yIDM3NS42MDFDMjAwLjYgMzk0LjAwMSAxNzEgNDU5LjIwMSAxNzEgNDU5LjIwMUMxNjkgNDYwLjgwMSAxODMuNjYgNDY2Ljg0NiAxOTMuOCA0NjQuNDAxQzIwNC43NDYgNDYxLjc2MyAyNDUgNDY2LjAwMSAyNDUgNDY2LjAwMUMyNjguNiA0NTAuNDAxIDI4MS40IDQwNi4wMDEgMjgxLjQgNDA2LjAwMUMyODEuNCA0MDYuMDAxIDI5MS44MDEgMzgyLjAwMSAyNzQuMiAzNzguODAxQzI1Ni42IDM3NS42MDEgMTkyLjIgMzc1LjYwMSAxOTIuMiAzNzUuNjAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2IyMzI1OSI+CisgIDxwYXRoIGQ9Ik0xOTAuMTY5IDQwNi40OTdDMTkzLjQ5NSAzOTMuNzA3IDE5NS4wNzkgMzgxLjkwNiAxOTIuMiAzNzUuNjAxQzE5Mi4yIDM3NS42MDEgMjU0LjYgMzgyLjAwMSAyNjUuOCAzNjEuMjAxQzI3MC4wNDEgMzUzLjMyNiAyODQuODAxIDM4NC4wMDEgMjg0LjQgMzkzLjYwMUMyODQuNCAzOTMuNjAxIDIyMS40IDQwOC4wMDEgMjA2LjYgMzk2LjgwMUwxOTAuMTY5IDQwNi40OTd6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjYTUyNjRjIj4KKyAgPHBhdGggZD0iTTE5NC42IDQyMi44MDFDMTk0LjYgNDIyLjgwMSAxOTYuNiA0MzAuMDAxIDE5NC4yIDQzNC4wMDFDMTk0LjIgNDM0LjAwMSAxOTIuNiA0MzQuODAxIDE5MS40IDQzNS4yMDFDMTkxLjQgNDM1LjIwMSAxOTIuNiA0MzguODAxIDE5OC42IDQ0MC40MDFDMTk4LjYgNDQwLjQwMSAyMDAuNiA0NDQuODAxIDIwMyA0NDUuMjAxQzIwNS40IDQ0NS42MDEgMjEwLjIgNDUxLjIwMSAyMTQuMiA0NTAuMDAxQzIxOC4yIDQ0OC44MDEgMjI5LjQgNDQ0LjgwMSAyMjkuNCA0NDQuODAxQzIyOS40IDQ0NC44MDEgMjM1IDQ0MS42MDEgMjQzLjggNDQ1LjIwMUMyNDMuOCA0NDUuMjAxIDI0Ni4xNzUgNDQ0LjM5OSAyNDYuNiA0NDAuNDAxQzI0Ny4xIDQzNS43MDEgMjUwLjIgNDMyLjAwMSAyNTIuMiA0MzAuMDAxQzI1NC4yIDQyOC4wMDEgMjYzLjggNDE1LjIwMSAyNjIuNiA0MTQuODAxQzI2MS40IDQxNC40MDEgMTk0LjYgNDIyLjgwMSAxOTQuNiA0MjIuODAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmNzI3Zjsgc3Ryb2tlOiMwMDAwMDAiPgorICA8cGF0aCBkPSJNMTkwLjIgMzc0LjQwMUMxOTAuMiAzNzQuNDAxIDE4Ny40IDM5Ni44MDEgMTkwLjYgNDA1LjIwMUMxOTMuOCA0MTMuNjAxIDE5MyA0MTUuNjAxIDE5Mi4yIDQxOS42MDFDMTkxLjQgNDIzLjYwMSAxOTUuOCA0MzMuNjAxIDIwMS40IDQzOS42MDFMMjEzLjQgNDQxLjIwMUMyMTMuNCA0NDEuMjAxIDIyOC42IDQzNy42MDEgMjM3LjggNDQwLjQwMUMyMzcuOCA0NDAuNDAxIDI0Ni43OTQgNDQxLjc0NCAyNTAuMiA0MjYuODAxQzI1MC4yIDQyNi44MDEgMjU1IDQyMC40MDEgMjYyLjIgNDE3LjYwMUMyNjkuNCA0MTQuODAxIDI3Ni42IDM3My4yMDEgMjcyLjYgMzY1LjIwMUMyNjguNiAzNTcuMjAxIDI1NC4yIDM1Mi44MDEgMjM4LjIgMzY4LjQwMUMyMjIuMiAzODQuMDAxIDIyMC4yIDM2Ny4yMDEgMTkwLjIgMzc0LjQwMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmY2M7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC41Ij4KKyAgPHBhdGggZD0iTTE5MS44IDQ0OS4yMDFDMTkxLjggNDQ5LjIwMSAxOTEgNDQ3LjIwMSAxODYuNiA0NDYuODAxQzE4Ni42IDQ0Ni44MDEgMTY0LjIgNDQzLjIwMSAxNTUuOCA0MzAuODAxQzE1NS44IDQzMC44MDEgMTQ5IDQyNS4yMDEgMTUzLjQgNDM2LjgwMUMxNTMuNCA0MzYuODAxIDE2My44IDQ1Ny4yMDEgMTcwLjYgNDYwLjAwMUMxNzAuNiA0NjAuMDAxIDE4NyA0NjQuMDAxIDE5MS44IDQ0OS4yMDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjY2MzZjRjIj4KKyAgPHBhdGggZD0iTTI3MS43NDIgMzg1LjIyOUMyNzIuNDAxIDM3Ny4zMjMgMjc0LjM1NCAzNjguNzA5IDI3Mi42IDM2NS4yMDFDMjY2LjE1NCAzNTIuMzA3IDI0OS4xODEgMzU3LjY5NSAyMzguMiAzNjguNDAxQzIyMi4yIDM4NC4wMDEgMjIwLjIgMzY3LjIwMSAxOTAuMiAzNzQuNDAxQzE5MC4yIDM3NC40MDEgMTg4LjQ1NSAzODguMzY0IDE4OS4yOTUgMzk4LjM3NkMxODkuMjk1IDM5OC4zNzYgMjI2LjYgMzg2LjgwMSAyMjcuNCAzOTIuNDAxQzIyNy40IDM5Mi40MDEgMjI5IDM4OS4yMDEgMjM4LjIgMzg5LjIwMUMyNDcuNCAzODkuMjAxIDI3MC4xNDIgMzg4LjAyOSAyNzEuNzQyIDM4NS4yMjl6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJzdHJva2U6I2E1MTkyNjsgc3Ryb2tlLXdpZHRoOjIiPgorICA8cGF0aCBkPSJNMjI4LjYgMzc1LjIwMUMyMjguNiAzNzUuMjAxIDIzMy40IDM4MC4wMDEgMjI5LjggMzg5LjYwMUMyMjkuOCAzODkuNjAxIDIxNS40IDQwNS42MDEgMjE3LjQgNDE5LjYwMSIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZjYzsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjUiPgorICA8cGF0aCBkPSJNMTgwLjYgNDYwLjAwMUMxODAuNiA0NjAuMDAxIDE3Ni4yIDQ0Ny4yMDEgMTg1IDQ1NC4wMDFDMTg1IDQ1NC4wMDEgMTg5LjggNDU2LjAwMSAxODguNiA0NTcuNjAxQzE4Ny40IDQ1OS4yMDEgMTgxLjggNDYzLjIwMSAxODAuNiA0NjAuMDAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZjYzsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjUiPgorICA8cGF0aCBkPSJNMTg1LjY0IDQ2MS4yMDFDMTg1LjY0IDQ2MS4yMDEgMTgyLjEyIDQ1MC45NjEgMTg5LjE2IDQ1Ni40MDFDMTg5LjE2IDQ1Ni40MDEgMTkzLjU4MSA0NTguODQ5IDE5Mi4wNCA0NTkuMjgxQzE4Ny40OCA0NjAuNTYxIDE5Mi4wNCA0NjMuMTIxIDE4NS42NCA0NjEuMjAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZjYzsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjUiPgorICA8cGF0aCBkPSJNMTkwLjQ0IDQ2MS4yMDFDMTkwLjQ0IDQ2MS4yMDEgMTg2LjkyIDQ1MC45NjEgMTkzLjk2IDQ1Ni40MDFDMTkzLjk2IDQ1Ni40MDEgMTk4LjMzNSA0NTguNzExIDE5Ni44NCA0NTkuMjgxQzE5My40OCA0NjAuNTYxIDE5Ni44NCA0NjMuMTIxIDE5MC40NCA0NjEuMjAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZjYzsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjUiPgorICA8cGF0aCBkPSJNMTk3LjA0IDQ2MS40MDFDMTk3LjA0IDQ2MS40MDEgMTkzLjUyIDQ1MS4xNjEgMjAwLjU2IDQ1Ni42MDFDMjAwLjU2IDQ1Ni42MDEgMjA0Ljk0MyA0NTguOTMzIDIwMy40NDEgNDU5LjQ4MUMyMDAuNDggNDYwLjU2MSAyMDMuNDQxIDQ2My4zMjEgMTk3LjA0IDQ2MS40MDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmNjOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuNSI+CisgIDxwYXRoIGQ9Ik0yMDMuNTIgNDYxLjMyMUMyMDMuNTIgNDYxLjMyMSAyMDAgNDUxLjA4MSAyMDcuMDQxIDQ1Ni41MjFDMjA3LjA0MSA0NTYuNTIxIDIxMC44ODEgNDU4LjEyMSAyMDkuOTIxIDQ1OS40MDFDMjA4Ljk2MSA0NjAuNjgxIDIwOS45MjEgNDYzLjI0MSAyMDMuNTIgNDYxLjMyMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmY2M7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC41Ij4KKyAgPHBhdGggZD0iTTIxMC4yIDQ2Mi4wMDFDMjEwLjIgNDYyLjAwMSAyMDUuNCA0NDkuNjAxIDIxNC42IDQ1Ni4wMDFDMjE0LjYgNDU2LjAwMSAyMTkuNCA0NTguMDAxIDIxOC4yIDQ1OS42MDFDMjE3IDQ2MS4yMDEgMjE4LjIgNDY0LjQwMSAyMTAuMiA0NjIuMDAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0ic3Ryb2tlOiNhNTI2NGM7IHN0cm9rZS13aWR0aDoyIj4KKyAgPHBhdGggZD0iTTE4MS44IDQ0NC44MDFDMTgxLjggNDQ0LjgwMSAxOTUgNDQyLjAwMSAyMDEgNDQ1LjIwMUMyMDEgNDQ1LjIwMSAyMDcgNDQ2LjQwMSAyMDguMiA0NDYuMDAxQzIwOS40IDQ0NS42MDEgMjEyLjYgNDQ1LjIwMSAyMTIuNiA0NDUuMjAxIi8+CisgPC9nPgorIDxnIHN0eWxlPSJzdHJva2U6I2E1MjY0Yzsgc3Ryb2tlLXdpZHRoOjIiPgorICA8cGF0aCBkPSJNMjE1LjggNDUzLjYwMUMyMTUuOCA0NTMuNjAxIDIyNy44IDQ0MC4wMDEgMjM5LjggNDQ0LjQwMUMyNDYuODE2IDQ0Ni45NzQgMjQ1LjggNDQzLjYwMSAyNDYuNiA0NDAuODAxQzI0Ny40IDQzOC4wMDEgMjQ3LjYgNDMzLjgwMSAyNTIuNiA0MzAuODAxIi8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmNjOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuNSI+CisgIDxwYXRoIGQ9Ik0yMzMgNDM3LjYwMUMyMzMgNDM3LjYwMSAyMjkgNDI2LjgwMSAyMjYuMiA0MzkuNjAxQzIyMy40IDQ1Mi40MDEgMjIwLjIgNDU2LjAwMSAyMTguNiA0NTguODAxQzIxOC42IDQ1OC44MDEgMjE4LjYgNDY0LjAwMSAyMjcgNDYzLjYwMUMyMjcgNDYzLjYwMSAyMzcuOCA0NjMuMjAxIDIzOC4yIDQ2MC40MDFDMjM4LjYgNDU3LjYwMSAyMzcgNDQ2LjAwMSAyMzMgNDM3LjYwMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9InN0cm9rZTojYTUyNjRjOyBzdHJva2Utd2lkdGg6MiI+CisgIDxwYXRoIGQ9Ik0yNDcgNDQ0LjgwMUMyNDcgNDQ0LjgwMSAyNTAuNiA0NDIuNDAxIDI1MyA0NDMuNjAxIi8+CisgPC9nPgorIDxnIHN0eWxlPSJzdHJva2U6I2E1MjY0Yzsgc3Ryb2tlLXdpZHRoOjIiPgorICA8cGF0aCBkPSJNMjUzLjUgNDI4LjQwMUMyNTMuNSA0MjguNDAxIDI1Ni40IDQyMy41MDEgMjYxLjIgNDIyLjcwMSIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2IyYjJiMiI+CisgIDxwYXRoIGQ9Ik0xNzQuMiA0NjUuMjAxQzE3NC4yIDQ2NS4yMDEgMTkyLjIgNDY4LjQwMSAxOTYuNiA0NjYuODAxQzE5Ni42IDQ2Ni44MDEgMjA1LjQgNDY2LjgwMSAxOTcgNDY4LjgwMUMxOTcgNDY4LjgwMSAxODQuMiA0NjguODAxIDE3Ni4yIDQ2Ny42MDFDMTc2LjIgNDY3LjYwMSAxNjQuNiA0NjIuMDAxIDE3NC4yIDQ2NS4yMDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmNjOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuNSI+CisgIDxwYXRoIGQ9Ik0xODguMiAzNzIuMDAxQzE4OC4yIDM3Mi4wMDEgMjA1LjggMzcyLjAwMSAyMDcuOCAzNzIuODAxQzIwNy44IDM3Mi44MDEgMjE1IDQwMy42MDEgMjExLjQgNDExLjIwMUMyMTEuNCA0MTEuMjAxIDIxMC4yIDQxNC4wMDEgMjA3LjQgNDA4LjQwMUMyMDcuNCA0MDguNDAxIDE4OSAzNzUuNjAxIDE4NS44IDM3My42MDFDMTgyLjYgMzcxLjYwMSAxODcgMzcyLjAwMSAxODguMiAzNzIuMDAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZjYzsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjUiPgorICA8cGF0aCBkPSJNMTExLjEgMzY5LjMwMUMxMTEuMSAzNjkuMzAxIDEyMCAzNzEuMDAxIDEzMi42IDM3My42MDFDMTMyLjYgMzczLjYwMSAxMzcuNCAzOTYuMDAxIDE0MC42IDQwMC44MDFDMTQzLjggNDA1LjYwMSAxNDAuMiA0MDUuNjAxIDEzNi42IDQwMi44MDFDMTMzIDQwMC4wMDEgMTE4LjIgMzg2LjAwMSAxMTYuMiAzODEuNjAxQzExNC4yIDM3Ny4yMDEgMTExLjEgMzY5LjMwMSAxMTEuMSAzNjkuMzAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZjYzsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjUiPgorICA8cGF0aCBkPSJNMTMyLjk2MSAzNzMuODE4QzEzMi45NjEgMzczLjgxOCAxMzguNzYxIDM3NS4zNjYgMTM5Ljc3IDM3Ny41ODFDMTQwLjc3OCAzNzkuNzk1IDEzOC41NjggMzgzLjA5MiAxMzguNTY4IDM4My4wOTJDMTM4LjU2OCAzODMuMDkyIDEzNy41NjggMzg2LjM5NyAxMzYuMzY2IDM4NC4yMzVDMTM1LjE2NCAzODIuMDcyIDEzMi4yOTIgMzc0LjQxMiAxMzIuOTYxIDM3My44MTh6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjMDAwMDAwIj4KKyAgPHBhdGggZD0iTTEzMyAzNzMuNjAxQzEzMyAzNzMuNjAxIDEzNi42IDM3OC44MDEgMTQwLjIgMzc4LjgwMUMxNDMuOCAzNzguODAxIDE0NC4xODIgMzc4LjM4OCAxNDcgMzc5LjAwMUMxNTEuNiAzODAuMDAxIDE1MS4yIDM3OC4wMDEgMTU3LjggMzc5LjIwMUMxNjAuNDQgMzc5LjY4MSAxNjMgMzc4LjgwMSAxNjUuOCAzODAuMDAxQzE2OC42IDM4MS4yMDEgMTcxLjggMzgwLjQwMSAxNzMgMzc4LjQwMUMxNzQuMiAzNzYuNDAxIDE3OSAzNzIuMjAxIDE3OSAzNzIuMjAxQzE3OSAzNzIuMjAxIDE2Ni4yIDM3NC4wMDEgMTYzLjQgMzc0LjgwMUMxNjMuNCAzNzQuODAxIDE0MSAzNzYuMDAxIDEzMyAzNzMuNjAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZjYzsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjUiPgorICA8cGF0aCBkPSJNMTc3LjYgMzczLjgwMUMxNzcuNiAzNzMuODAxIDE3MS4xNSAzNzcuMzAxIDE3MC43NSAzNzkuNzAxQzE3MC4zNSAzODIuMTAxIDE3NiAzODUuODAxIDE3NiAzODUuODAxQzE3NiAzODUuODAxIDE3OC43NSAzOTAuNDAxIDE3OS4zNSAzODguMDAxQzE3OS45NSAzODUuNjAxIDE3OC40IDM3NC4yMDEgMTc3LjYgMzczLjgwMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmY2M7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC41Ij4KKyAgPHBhdGggZD0iTTE0MC4xMTUgMzc5LjI2NUMxNDAuMTE1IDM3OS4yNjUgMTQ3LjEyMiAzOTAuNDUzIDE0Ny4zMzkgMzc5LjI0MkMxNDcuMzM5IDM3OS4yNDIgMTQ3Ljg5NiAzNzcuOTg0IDE0Ni4xMzYgMzc3Ljk2MkMxNDAuMDYxIDM3Ny44ODYgMTQxLjU4MiAzNzMuNzg0IDE0MC4xMTUgMzc5LjI2NXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmY2M7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC41Ij4KKyAgPHBhdGggZD0iTTE0Ny4yOTMgMzc5LjUxNEMxNDcuMjkzIDM3OS41MTQgMTU1LjIxNCAzOTAuNzAxIDE1NC41NzggMzc5LjQyMUMxNTQuNTc4IDM3OS40MjEgMTU0LjU4NSAzNzkuMDg5IDE1Mi44MzIgMzc4LjkzNkMxNDguMDg1IDM3OC41MjIgMTQ4LjQzIDM3NC4wMDQgMTQ3LjI5MyAzNzkuNTE0eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZjYzsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjUiPgorICA8cGF0aCBkPSJNMTU0LjUwNiAzNzkuNTIyQzE1NC41MDYgMzc5LjUyMiAxNjIuNDY2IDM5MC4xNSAxNjEuNzk3IDM4MC40ODRDMTYxLjc5NyAzODAuNDg0IDE2MS45MTYgMzc5LjI1MSAxNjAuMjYyIDM3OC45NUMxNTYuMzcgMzc4LjI0NCAxNTYuMTU5IDM3NC45OTUgMTU0LjUwNiAzNzkuNTIyeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZjYzsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjUiPgorICA8cGF0aCBkPSJNMTYxLjM4MiAzNzkuNjAyQzE2MS4zODIgMzc5LjYwMiAxNjkuMjgyIDM5MS4xNjMgMTY5LjYzIDM4MS4zODJDMTY5LjYzIDM4MS4zODIgMTcxLjI3NCAzODAuMDA0IDE2OS41MjggMzc5Ljc4MkMxNjMuNzEgMzc5LjA0MiAxNjQuNTA4IDM3NC41ODggMTYxLjM4MiAzNzkuNjAyeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2U1ZTViMiI+CisgIDxwYXRoIGQ9Ik0xMjUuMjA4IDM4My4xMzJMMTE3LjU1IDM4MS42MDFDMTE0Ljk1IDM3Ni42MDEgMTEyLjg1IDM3MC40NTEgMTEyLjg1IDM3MC40NTFDMTEyLjg1IDM3MC40NTEgMTE5LjIgMzcxLjQ1MSAxMzEuNyAzNzQuMjUxQzEzMS43IDM3NC4yNTEgMTMyLjU3NiAzNzcuNTY5IDEzNC4wNDggMzgzLjM2NEwxMjUuMjA4IDM4My4xMzJ6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZTVlNWIyIj4KKyAgPHBhdGggZD0iTTE5MC4yNzYgMzc4LjQ3QzE4OC42MSAzNzUuOTY0IDE4Ny4yOTMgMzc0LjIwNiAxODYuNjQzIDM3My44QzE4My42MyAzNzEuOTE3IDE4Ny43NzMgMzcyLjI5NCAxODguOTAyIDM3Mi4yOTRDMTg4LjkwMiAzNzIuMjk0IDIwNS40NzMgMzcyLjI5NCAyMDcuMzU2IDM3My4wNDdDMjA3LjM1NiAzNzMuMDQ3IDIwNy44OCAzNzUuMjg5IDIwOC41NjQgMzc4LjY4QzIwOC41NjQgMzc4LjY4IDE5OC40NzYgMzc2LjY3IDE5MC4yNzYgMzc4LjQ3eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2NjNzIyNiI+CisgIDxwYXRoIGQ9Ik0yNDMuODggMjQwLjMyMUMyNzEuNjAxIDI0NC4yODEgMjk3LjEyMSAyMDguNjQxIDI5OC44ODEgMTk4Ljk2QzMwMC42NDEgMTg5LjI4IDI5MC41MjEgMTc3LjQgMjkwLjUyMSAxNzcuNEMyOTEuODQxIDE3NC4zMiAyODcuMDAxIDE2MC4yNCAyODEuNzIxIDE1MUMyNzYuNDQxIDE0MS43NiAyNjAuNTQgMTQyLjczNCAyNDMgMTQxLjc2QzIyNy4xNiAxNDAuODggMjA4LjY4IDE2NC4yIDIwNy4zNiAxNjUuOTZDMjA2LjA0IDE2Ny43MiAyMTIuMiAyMDYuMDAxIDIxMy41MiAyMTEuNzIxQzIxNC44NCAyMTcuNDQxIDIxMi4yIDI0My44NDEgMjEyLjIgMjQzLjg0MUMyNDYuNDQgMjM0Ljc0MSAyMTYuMTYgMjM2LjM2MSAyNDMuODggMjQwLjMyMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNlYThlNTEiPgorICA8cGF0aCBkPSJNMjA4LjA4OCAxNjYuNjA4QzIwNi43OTIgMTY4LjMzNiAyMTIuODQgMjA1LjkyMSAyMTQuMTM2IDIxMS41MzdDMjE1LjQzMiAyMTcuMTUzIDIxMi44NCAyNDMuMDczIDIxMi44NCAyNDMuMDczQzI0NS41MTIgMjM0LjE5MyAyMTYuNzI4IDIzNS43MjkgMjQzLjk0NCAyMzkuNjE3QzI3MS4xNjEgMjQzLjUwNSAyOTYuMjE3IDIwOC41MTMgMjk3Ljk0NSAxOTkuMDA4QzI5OS42NzMgMTg5LjUwNCAyODkuNzM3IDE3Ny44NCAyODkuNzM3IDE3Ny44NEMyOTEuMDMzIDE3NC44MTYgMjg2LjI4MSAxNjAuOTkyIDI4MS4wOTcgMTUxLjkyQzI3NS45MTMgMTQyLjg0OCAyNjAuMzAyIDE0My44MDUgMjQzLjA4IDE0Mi44NDhDMjI3LjUyOCAxNDEuOTg0IDIwOS4zODQgMTY0Ljg4IDIwOC4wODggMTY2LjYwOHoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNlZmFhN2MiPgorICA8cGF0aCBkPSJNMjA4LjgxNiAxNjcuMjU2QzIwNy41NDQgMTY4Ljk1MiAyMTMuNDggMjA1Ljg0MSAyMTQuNzUyIDIxMS4zNTNDMjE2LjAyNCAyMTYuODY1IDIxMy40OCAyNDIuMzA1IDIxMy40OCAyNDIuMzA1QzI0NC44ODQgMjMzLjE0NSAyMTcuMjk2IDIzNS4wOTcgMjQ0LjAwOCAyMzguOTEzQzI3MC43MjEgMjQyLjcyOSAyOTUuMzEzIDIwOC4zODUgMjk3LjAwOSAxOTkuMDU2QzI5OC43MDUgMTg5LjcyOCAyODguOTUzIDE3OC4yOCAyODguOTUzIDE3OC4yOEMyOTAuMjI1IDE3NS4zMTIgMjg1LjU2MSAxNjEuNzQ0IDI4MC40NzMgMTUyLjg0QzI3NS4zODUgMTQzLjkzNiAyNjAuMDYzIDE0NC44NzUgMjQzLjE2IDE0My45MzZDMjI3Ljg5NiAxNDMuMDg4IDIxMC4wODggMTY1LjU2IDIwOC44MTYgMTY3LjI1NnoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmNGM2YTgiPgorICA8cGF0aCBkPSJNMjA5LjU0NCAxNjcuOTA0QzIwOC4yOTYgMTY5LjU2OCAyMTQuMTIgMjA1Ljc2MSAyMTUuMzY4IDIxMS4xNjlDMjE2LjYxNiAyMTYuNTc3IDIxNC4xMiAyNDEuNTM3IDIxNC4xMiAyNDEuNTM3QzI0My41NTYgMjMyLjQ5NyAyMTcuODY0IDIzNC40NjUgMjQ0LjA3MiAyMzguMjA5QzI3MC4yODEgMjQxLjk1MyAyOTQuNDA5IDIwOC4yNTcgMjk2LjA3MyAxOTkuMTA1QzI5Ny43MzcgMTg5Ljk1MiAyODguMTY5IDE3OC43MiAyODguMTY5IDE3OC43MkMyODkuNDE3IDE3NS44MDggMjg0Ljg0MSAxNjIuNDk2IDI3OS44NDkgMTUzLjc2QzI3NC44NTcgMTQ1LjAyNCAyNTkuODI0IDE0NS45NDUgMjQzLjI0IDE0NS4wMjRDMjI4LjI2NCAxNDQuMTkyIDIxMC43OTIgMTY2LjI0IDIwOS41NDQgMTY3LjkwNHoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmOWUyZDMiPgorICA8cGF0aCBkPSJNMjEwLjI3MiAxNjguNTUyQzIwOS4wNDggMTcwLjE4NCAyMTQuNzYgMjA1LjY4MSAyMTUuOTg0IDIxMC45ODVDMjE3LjIwOCAyMTYuMjg5IDIxNC43NiAyNDAuNzY5IDIxNC43NiAyNDAuNzY5QzI0Mi42MjggMjMxLjg0OSAyMTguNDMyIDIzMy44MzMgMjQ0LjEzNiAyMzcuNTA1QzI2OS44NDEgMjQxLjE3NyAyOTMuNTA1IDIwOC4xMjkgMjk1LjEzNyAxOTkuMTUyQzI5Ni43NjkgMTkwLjE3NiAyODcuMzg1IDE3OS4xNiAyODcuMzg1IDE3OS4xNkMyODguNjA5IDE3Ni4zMDQgMjg0LjEyMSAxNjMuMjQ4IDI3OS4yMjUgMTU0LjY4QzI3NC4zMjkgMTQ2LjExMiAyNTkuNTg1IDE0Ny4wMTUgMjQzLjMyIDE0Ni4xMTJDMjI4LjYzMiAxNDUuMjk2IDIxMS40OTYgMTY2LjkyIDIxMC4yNzIgMTY4LjU1MnoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmZmYiPgorICA8cGF0aCBkPSJNMjQ0LjIgMjM2LjhDMjY5LjQgMjQwLjQgMjkyLjYwMSAyMDggMjk0LjIwMSAxOTkuMkMyOTUuODAxIDE5MC40IDI4Ni42MDEgMTc5LjYgMjg2LjYwMSAxNzkuNkMyODcuODAxIDE3Ni44IDI4My40IDE2NCAyNzguNiAxNTUuNkMyNzMuOCAxNDcuMiAyNTkuMzQ2IDE0OC4wODYgMjQzLjQgMTQ3LjJDMjI5IDE0Ni40IDIxMi4yIDE2Ny42IDIxMSAxNjkuMkMyMDkuOCAxNzAuOCAyMTUuNCAyMDUuNiAyMTYuNiAyMTAuOEMyMTcuOCAyMTYgMjE1LjQgMjQwIDIxNS40IDI0MEMyNDAuOSAyMzEuNCAyMTkgMjMzLjIgMjQ0LjIgMjM2Ljh6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjY2NjY2NjIj4KKyAgPHBhdGggZD0iTTI5MC42MDEgMjAyLjhDMjkwLjYwMSAyMDIuOCAyNjIuOCAyMTAuNCAyNTEuMiAyMDguOEMyNTEuMiAyMDguOCAyMzUuNCAyMDIuMiAyMjYuNiAyMjRDMjI2LjYgMjI0IDIyMyAyMzEuMiAyMjEgMjMzLjJDMjE5IDIzNS4yIDI5MC42MDEgMjAyLjggMjkwLjYwMSAyMDIuOHoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICMwMDAwMDAiPgorICA8cGF0aCBkPSJNMjk0LjQwMSAyMDAuNkMyOTQuNDAxIDIwMC42IDI2NS40IDIxMi44IDI1NS40IDIxMi40QzI1NS40IDIxMi40IDIzOSAyMDcuOCAyMzAuNiAyMjIuNEMyMzAuNiAyMjIuNCAyMjIuMiAyMzEuNiAyMTkgMjMzLjJDMjE5IDIzMy4yIDIxOC42IDIzNC44IDIyNSAyMzAuOEwyMzUuNCAyMzZDMjM1LjQgMjM2IDI1MC4yIDI0NS42IDI1OS44IDIyOS42QzI1OS44IDIyOS42IDI2My44IDIxOC40IDI2My44IDIxNi40QzI2My44IDIxNC40IDI4NSAyMDguOCAyODYuNjAxIDIwOC40QzI4OC4yMDEgMjA4IDI5NC44MDEgMjAzLjggMjk0LjQwMSAyMDAuNnoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICM5OWNjMzIiPgorICA8cGF0aCBkPSJNMjQ3IDIzNi41MTRDMjQwLjEyOCAyMzYuNTE0IDIzMS43NTUgMjMyLjY0OSAyMzEuNzU1IDIyNi40QzIzMS43NTUgMjIwLjE1MiAyNDAuMTI4IDIxMy44ODcgMjQ3IDIxMy44ODdDMjUzLjg3NCAyMTMuODg3IDI1OS40NDYgMjE4Ljk1MiAyNTkuNDQ2IDIyNS4yQzI1OS40NDYgMjMxLjQ0OSAyNTMuODc0IDIzNi41MTQgMjQ3IDIzNi41MTR6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjNjU5OTAwIj4KKyAgPHBhdGggZD0iTTI0My4zNzcgMjE5LjgzQzIzOC41MzEgMjIwLjU1MiAyMzMuNDQyIDIyMi4wNTUgMjMzLjUxNCAyMjEuODM5QzIzNS4wNTQgMjE3LjIyIDI0MS40MTUgMjEzLjg4NyAyNDcgMjEzLjg4N0MyNTEuMjk2IDIxMy44ODcgMjU1LjA4NCAyMTUuODY1IDI1Ny4zMiAyMTguODc1QzI1Ny4zMiAyMTguODc1IDI1Mi4wMDQgMjE4LjU0NSAyNDMuMzc3IDIxOS44M3oiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmZmYiPgorICA8cGF0aCBkPSJNMjU1LjQgMjE5LjZDMjU1LjQgMjE5LjYgMjUxIDIxNi40IDI1MSAyMTguNkMyNTEgMjE4LjYgMjU0LjYgMjIzIDI1NS40IDIxOS42eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0yNDUuNCAyMjcuNzI2QzI0Mi45MDEgMjI3LjcyNiAyNDAuODc1IDIyNS43IDI0MC44NzUgMjIzLjJDMjQwLjg3NSAyMjAuNzAxIDI0Mi45MDEgMjE4LjY3NSAyNDUuNCAyMTguNjc1QzI0Ny45IDIxOC42NzUgMjQ5LjkyNiAyMjAuNzAxIDI0OS45MjYgMjIzLjJDMjQ5LjkyNiAyMjUuNyAyNDcuOSAyMjcuNzI2IDI0NS40IDIyNy43MjZ6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjY2M3MjI2Ij4KKyAgPHBhdGggZD0iTTE0MS40IDIxNC40QzE0MS40IDIxNC40IDEzOC4yIDE5My4yIDE0MC42IDE4OC44QzE0MC42IDE4OC44IDE1MS40IDE3OC44IDE1MSAxNzUuMkMxNTEgMTc1LjIgMTUwLjYgMTU3LjIgMTQ5LjQgMTU2LjRDMTQ4LjIgMTU1LjYgMTQwLjYgMTQ5LjYgMTM0LjYgMTU2QzEzNC42IDE1NiAxMjQuMiAxNzQgMTI1IDE4MC40TDEyNSAxODIuNEMxMjUgMTgyLjQgMTE3LjQgMTgyIDExNS44IDE4NEMxMTUuOCAxODQgMTE0LjYgMTg5LjIgMTEzLjQgMTg5LjZDMTEzLjQgMTg5LjYgMTEwLjYgMTkyIDExMi42IDE5NC44QzExMi42IDE5NC44IDExMC42IDE5Ny4yIDExMSAyMDEuMkwxMTguNiAyMDUuMkMxMTguNiAyMDUuMiAxMjAuNiAyMTkuNiAxMzEuNCAyMjQuOEMxMzYuMjM2IDIyNy4xMjkgMTM5LjQgMjIwLjQgMTQxLjQgMjE0LjR6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmZmIj4KKyAgPHBhdGggZD0iTTE0MC40IDIxMi41NkMxNDAuNCAyMTIuNTYgMTM3LjUyIDE5My40OCAxMzkuNjggMTg5LjUyQzEzOS42OCAxODkuNTIgMTQ5LjQgMTgwLjUyIDE0OS4wNCAxNzcuMjhDMTQ5LjA0IDE3Ny4yOCAxNDguNjggMTYxLjA4IDE0Ny42IDE2MC4zNkMxNDYuNTIgMTU5LjY0IDEzOS42OCAxNTQuMjQgMTM0LjI4IDE2MEMxMzQuMjggMTYwIDEyNC45MiAxNzYuMiAxMjUuNjQgMTgxLjk2TDEyNS42NCAxODMuNzZDMTI1LjY0IDE4My43NiAxMTguOCAxODMuNCAxMTcuMzYgMTg1LjJDMTE3LjM2IDE4NS4yIDExNi4yOCAxODkuODggMTE1LjIgMTkwLjI0QzExNS4yIDE5MC4yNCAxMTIuNjggMTkyLjQgMTE0LjQ4IDE5NC45MkMxMTQuNDggMTk0LjkyIDExMi42OCAxOTcuMDggMTEzLjA0IDIwMC42OEwxMTkuODggMjA0LjI4QzExOS44OCAyMDQuMjggMTIxLjY4IDIxNy4yNCAxMzEuNCAyMjEuOTJDMTM1Ljc1MiAyMjQuMDE1IDEzOC42IDIxNy45NiAxNDAuNCAyMTIuNTZ6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZWI5NTVjIj4KKyAgPHBhdGggZD0iTTE0OC45NSAxNTcuMzlDMTQ3Ljg2IDE1Ni41MyAxNDAuMzcgMTUwLjc2IDEzNC41MiAxNTdDMTM0LjUyIDE1NyAxMjQuMzggMTc0LjU1IDEyNS4xNiAxODAuNzlMMTI1LjE2IDE4Mi43NEMxMjUuMTYgMTgyLjc0IDExNy43NSAxODIuMzUgMTE2LjE5IDE4NC4zQzExNi4xOSAxODQuMyAxMTUuMDIgMTg5LjM3IDExMy44NSAxODkuNzZDMTEzLjg1IDE4OS43NiAxMTEuMTIgMTkyLjEgMTEzLjA3IDE5NC44M0MxMTMuMDcgMTk0LjgzIDExMS4xMiAxOTcuMTcgMTExLjUxIDIwMS4wN0wxMTguOTIgMjA0Ljk3QzExOC45MiAyMDQuOTcgMTIwLjg3IDIxOS4wMSAxMzEuNCAyMjQuMDhDMTM2LjExNCAyMjYuMzUgMTM5LjIgMjE5Ljc5IDE0MS4xNSAyMTMuOTRDMTQxLjE1IDIxMy45NCAxMzguMDMgMTkzLjI3IDE0MC4zNyAxODguOThDMTQwLjM3IDE4OC45OCAxNTAuOSAxNzkuMjMgMTUwLjUxIDE3NS43MkMxNTAuNTEgMTc1LjcyIDE1MC4xMiAxNTguMTcgMTQ4Ljk1IDE1Ny4zOXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmMmI4OTIiPgorICA8cGF0aCBkPSJNMTQ4LjUgMTU4LjM4QzE0Ny41MiAxNTcuNDYgMTQwLjE0IDE1MS45MiAxMzQuNDQgMTU4QzEzNC40NCAxNTggMTI0LjU2IDE3NS4xIDEyNS4zMiAxODEuMThMMTI1LjMyIDE4My4wOEMxMjUuMzIgMTgzLjA4IDExOC4xIDE4Mi43IDExNi41OCAxODQuNkMxMTYuNTggMTg0LjYgMTE1LjQ0IDE4OS41NCAxMTQuMyAxODkuOTJDMTE0LjMgMTg5LjkyIDExMS42NCAxOTIuMiAxMTMuNTQgMTk0Ljg2QzExMy41NCAxOTQuODYgMTExLjY0IDE5Ny4xNCAxMTIuMDIgMjAwLjk0TDExOS4yNCAyMDQuNzRDMTE5LjI0IDIwNC43NCAxMjEuMTQgMjE4LjQyIDEzMS40IDIyMy4zNkMxMzUuOTk0IDIyNS41NzIgMTM5IDIxOS4xOCAxNDAuOSAyMTMuNDhDMTQwLjkgMjEzLjQ4IDEzNy44NiAxOTMuMzQgMTQwLjE0IDE4OS4xNkMxNDAuMTQgMTg5LjE2IDE1MC40IDE3OS42NiAxNTAuMDIgMTc2LjI0QzE1MC4wMiAxNzYuMjQgMTQ5LjY0IDE1OS4xNCAxNDguNSAxNTguMzh6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZjhkY2M4Ij4KKyAgPHBhdGggZD0iTTE0OC4wNSAxNTkuMzdDMTQ3LjE4IDE1OC4zOSAxMzkuOTEgMTUzLjA4IDEzNC4zNiAxNTlDMTM0LjM2IDE1OSAxMjQuNzQgMTc1LjY1IDEyNS40OCAxODEuNTdMMTI1LjQ4IDE4My40MkMxMjUuNDggMTgzLjQyIDExOC40NSAxODMuMDUgMTE2Ljk3IDE4NC45QzExNi45NyAxODQuOSAxMTUuODYgMTg5LjcxIDExNC43NSAxOTAuMDhDMTE0Ljc1IDE5MC4wOCAxMTIuMTYgMTkyLjMgMTE0LjAxIDE5NC44OUMxMTQuMDEgMTk0Ljg5IDExMi4xNiAxOTcuMTEgMTEyLjUzIDIwMC44MUwxMTkuNTYgMjA0LjUxQzExOS41NiAyMDQuNTEgMTIxLjQxIDIxNy44MyAxMzEuNCAyMjIuNjRDMTM1Ljg3MyAyMjQuNzk0IDEzOC44IDIxOC41NyAxNDAuNjUgMjEzLjAyQzE0MC42NSAyMTMuMDIgMTM3LjY5IDE5My40MSAxMzkuOTEgMTg5LjM0QzEzOS45MSAxODkuMzQgMTQ5LjkgMTgwLjA5IDE0OS41MyAxNzYuNzZDMTQ5LjUzIDE3Ni43NiAxNDkuMTYgMTYwLjExIDE0OC4wNSAxNTkuMzd6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmZmIj4KKyAgPHBhdGggZD0iTTE0MC40IDIxMi40NkMxNDAuNCAyMTIuNDYgMTM3LjUyIDE5My40OCAxMzkuNjggMTg5LjUyQzEzOS42OCAxODkuNTIgMTQ5LjQgMTgwLjUyIDE0OS4wNCAxNzcuMjhDMTQ5LjA0IDE3Ny4yOCAxNDguNjggMTYxLjA4IDE0Ny42IDE2MC4zNkMxNDYuODQgMTU5LjMyIDEzOS42OCAxNTQuMjQgMTM0LjI4IDE2MEMxMzQuMjggMTYwIDEyNC45MiAxNzYuMiAxMjUuNjQgMTgxLjk2TDEyNS42NCAxODMuNzZDMTI1LjY0IDE4My43NiAxMTguOCAxODMuNCAxMTcuMzYgMTg1LjJDMTE3LjM2IDE4NS4yIDExNi4yOCAxODkuODggMTE1LjIgMTkwLjI0QzExNS4yIDE5MC4yNCAxMTIuNjggMTkyLjQgMTE0LjQ4IDE5NC45MkMxMTQuNDggMTk0LjkyIDExMi42OCAxOTcuMDggMTEzLjA0IDIwMC42OEwxMTkuODggMjA0LjI4QzExOS44OCAyMDQuMjggMTIxLjY4IDIxNy4yNCAxMzEuNCAyMjEuOTJDMTM1Ljc1MiAyMjQuMDE1IDEzOC42IDIxNy44NiAxNDAuNCAyMTIuNDZ6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjY2NjY2NjIj4KKyAgPHBhdGggZD0iTTEzNy4zIDIwNi4yQzEzNy4zIDIwNi4yIDExNS43IDE5NiAxMTQuOCAxOTUuMkMxMTQuOCAxOTUuMiAxMjMuOSAyMDMuNCAxMjQuNyAyMDMuNEMxMjUuNSAyMDMuNCAxMzcuMyAyMDYuMiAxMzcuMyAyMDYuMnoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICMwMDAwMDAiPgorICA8cGF0aCBkPSJNMTIwLjIgMjAwQzEyMC4yIDIwMCAxMzguNiAyMDMuNiAxMzguNiAyMDhDMTM4LjYgMjEwLjkxMiAxMzguMzU3IDIyNC4zMzEgMTMzIDIyMi44QzEyNC42IDIyMC40IDEyOC4yIDIwNiAxMjAuMiAyMDB6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjOTljYzMyIj4KKyAgPHBhdGggZD0iTTEyOC42IDIwMy44QzEyOC42IDIwMy44IDEzNy41NzggMjA1LjI3NCAxMzguNiAyMDhDMTM5LjIgMjA5LjYgMTM5Ljg2MyAyMTcuOTA4IDEzNC40IDIxOUMxMjkuODQ4IDIxOS45MTEgMTI3LjYxOCAyMDkuNjkgMTI4LjYgMjAzLjh6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjMDAwMDAwIj4KKyAgPHBhdGggZD0iTTIxNC41OTUgMjQ2LjM0OUMyMTQuMDk4IDI0NC42MDcgMjE1LjQwOSAyNDQuNzM4IDIxNy4yIDI0NC4yQzIxOS4yIDI0My42IDIzMS40IDIzOS44IDIzMi4yIDIzNy4yQzIzMyAyMzQuNiAyNDYuMiAyMzkgMjQ2LjIgMjM5QzI0OCAyMzkuOCAyNTIuNCAyNDIuNCAyNTIuNCAyNDIuNEMyNTcuMiAyNDMuNiAyNjMuOCAyNDQgMjYzLjggMjQ0QzI2Ni4yIDI0NSAyNjkuNiAyNDcuOCAyNjkuNiAyNDcuOEMyODQuMiAyNTggMjk2LjYwMSAyNTAuOCAyOTYuNjAxIDI1MC44QzMxNi42MDEgMjQ0LjIgMzEwLjYwMSAyMjcgMzEwLjYwMSAyMjdDMzA3LjYwMSAyMTggMzEwLjgwMSAyMTQuNiAzMTAuODAxIDIxNC42QzMxMS4wMDEgMjEwLjggMzE4LjIwMSAyMTcuMiAzMTguMjAxIDIxNy4yQzMyMC44MDEgMjIxLjQgMzIxLjYwMSAyMjYuNCAzMjEuNjAxIDIyNi40QzMyOS42MDEgMjM3LjYgMzI2LjIwMSAyMTkuOCAzMjYuMjAxIDIxOS44QzMyNi40MDEgMjE4LjggMzIzLjYwMSAyMTUuMiAzMjMuNjAxIDIxNEMzMjMuNjAxIDIxMi44IDMyMS44MDEgMjA5LjQgMzIxLjgwMSAyMDkuNEMzMTguODAxIDIwNiAzMjEuMjAxIDE5OSAzMjEuMjAxIDE5OUMzMjMuMDAxIDE4NS4yIDMyMC44MDEgMTg3IDMyMC44MDEgMTg3QzMxOS42MDEgMTg1LjIgMzEwLjQwMSAxOTUuMiAzMTAuNDAxIDE5NS4yQzMwOC4yMDEgMTk4LjYgMzAyLjIwMSAyMDAuMiAzMDIuMjAxIDIwMC4yQzI5OS40MDEgMjAyIDI5Ni4wMDEgMjAwLjYgMjk2LjAwMSAyMDAuNkMyOTMuNDAxIDIwMC4yIDI4Ny44MDEgMjA3LjIgMjg3LjgwMSAyMDcuMkMyOTAuNjAxIDIwNyAyOTMuMDAxIDIxMS40IDI5NS40MDEgMjExLjZDMjk3LjgwMSAyMTEuOCAyOTkuNjAxIDIwOS4yIDMwMS4yMDEgMjA4LjZDMzAyLjgwMSAyMDggMzA1LjYwMSAyMTMuOCAzMDUuNjAxIDIxMy44QzMwNi4wMDEgMjE2LjQgMzAwLjQwMSAyMjEuMiAzMDAuNDAxIDIyMS4yQzMwMC4wMDEgMjI1LjggMjk4LjQwMSAyMjQuMiAyOTguNDAxIDIyNC4yQzI5NS40MDEgMjIzLjYgMjk0LjIwMSAyMjcuNCAyOTMuMjAxIDIzMkMyOTIuMjAxIDIzNi42IDI4OC4wMDEgMjM3IDI4OC4wMDEgMjM3QzI4Ni40MDEgMjQ0LjQgMjg1LjIgMjQxLjQgMjg1LjIgMjQxLjRDMjg1IDIzNS44IDI3OSAyNDEuNiAyNzkgMjQxLjZDMjc3LjggMjQzLjYgMjczLjIgMjQxLjQgMjczLjIgMjQxLjRDMjY2LjQgMjM5LjQgMjY4LjggMjM3LjQgMjY4LjggMjM3LjRDMjcwLjYgMjM1LjIgMjgxLjggMjM3LjQgMjgxLjggMjM3LjRDMjg0IDIzNS44IDI3NiAyMzEuOCAyNzYgMjMxLjhDMjc1LjQgMjMwIDI3Ni40IDIyNS42IDI3Ni40IDIyNS42QzI3Ny42IDIyMi40IDI4NC40IDIxNi44IDI4NC40IDIxNi44QzI5My44MDEgMjE1LjYgMjkxLjAwMSAyMTQgMjkxLjAwMSAyMTRDMjg0LjgwMSAyMDguOCAyNzkgMjE2LjQgMjc5IDIxNi40QzI3Ni44IDIyMi42IDI1OS40IDIzNy42IDI1OS40IDIzNy42QzI1NC42IDI0MSAyNTcuMiAyMzQuMiAyNTMuMiAyMzcuNkMyNDkuMiAyNDEgMjI4LjYgMjMyIDIyOC42IDIzMkMyMTcuMDM4IDIzMC44MDcgMjE0LjMwNiAyNDYuNTQ5IDIxMC43NzcgMjQzLjQyOUMyMTAuNzc3IDI0My40MjkgMjE2LjE5NSAyNTEuOTQ5IDIxNC41OTUgMjQ2LjM0OXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICMwMDAwMDAiPgorICA8cGF0aCBkPSJNNDA5LjQwMSA4MEM0MDkuNDAxIDgwIDM4My44MDEgODggMzgxLjAwMSAxMDYuOEMzODEuMDAxIDEwNi44IDM3OC42MDEgMTI5LjYgMzk5LjAwMSAxNDcuMkMzOTkuMDAxIDE0Ny4yIDM5OS40MDEgMTUzLjYgNDAxLjQwMSAxNTYuOEM0MDEuNDAxIDE1Ni44IDM5OS44MDEgMTYxLjYgNDE4LjYwMSAxNTRMNDQ1LjgwMSAxNDUuNkM0NDUuODAxIDE0NS42IDQ1Mi4yMDEgMTQzLjIgNDU3LjQwMSAxMzQuNEM0NjIuNjAxIDEyNS42IDQ3Ny44MDEgMTA2LjggNDc0LjIwMSA4MS42QzQ3NC4yMDEgODEuNiA0NzUuNDAxIDcwLjQgNDY5LjQwMSA3MEM0NjkuNDAxIDcwIDQ2MS4wMDEgNjguNCA0NTMuODAxIDc2QzQ1My44MDEgNzYgNDQ3LjAwMSA3OS4yIDQ0NC42MDEgNzguOEw0MDkuNDAxIDgweiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik00NjQuMDIyIDc5LjAxQzQ2NC4wMjIgNzkuMDEgNDY2LjEyMiA3MC4wOCA0NjEuMjgyIDc0LjkyQzQ2MS4yODIgNzQuOTIgNDU0LjI0MiA4MC42NCA0NDYuNzYxIDgwLjY0QzQ0Ni43NjEgODAuNjQgNDMyLjI0MSA4Mi44NCA0MjcuODQxIDk2LjA0QzQyNy44NDEgOTYuMDQgNDIzLjg4MSAxMjIuODggNDMxLjgwMSAxMjguNkM0MzEuODAxIDEyOC42IDQzNi42NDEgMTM2LjA4IDQ0My42ODEgMTI5LjQ4QzQ1MC43MjIgMTIyLjg4IDQ2Ni4yMjIgOTIuNjUgNDY0LjAyMiA3OS4wMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICMzMjMyMzIiPgorICA8cGF0aCBkPSJNNDYzLjY0OCA3OS4zNjhDNDYzLjY0OCA3OS4zNjggNDY1LjczOCA3MC42MjQgNDYwLjk4NiA3NS4zNzZDNDYwLjk4NiA3NS4zNzYgNDU0LjA3NCA4MC45OTIgNDQ2LjcyOSA4MC45OTJDNDQ2LjcyOSA4MC45OTIgNDMyLjQ3MyA4My4xNTIgNDI4LjE1MyA5Ni4xMTJDNDI4LjE1MyA5Ni4xMTIgNDI0LjI2NSAxMjIuNDY0IDQzMi4wNDEgMTI4LjA4QzQzMi4wNDEgMTI4LjA4IDQzNi43OTMgMTM1LjQyNCA0NDMuNzA1IDEyOC45NDRDNDUwLjYxOCAxMjIuNDY0IDQ2NS44MDggOTIuNzYgNDYzLjY0OCA3OS4zNjh6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjNjY2NjY2Ij4KKyAgPHBhdGggZD0iTTQ2My4yNzQgNzkuNzI2QzQ2My4yNzQgNzkuNzI2IDQ2NS4zNTQgNzEuMTY4IDQ2MC42OSA3NS44MzJDNDYwLjY5IDc1LjgzMiA0NTMuOTA2IDgxLjM0NCA0NDYuNjk3IDgxLjM0NEM0NDYuNjk3IDgxLjM0NCA0MzIuNzA1IDgzLjQ2NCA0MjguNDY1IDk2LjE4NEM0MjguNDY1IDk2LjE4NCA0MjQuNjQ5IDEyMi4wNDggNDMyLjI4MSAxMjcuNTZDNDMyLjI4MSAxMjcuNTYgNDM2Ljk0NSAxMzQuNzY4IDQ0My43MjkgMTI4LjQwOEM0NTAuNTE0IDEyMi4wNDggNDY1LjM5NCA5Mi44NyA0NjMuMjc0IDc5LjcyNnoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICM5OTk5OTkiPgorICA8cGF0aCBkPSJNNDYyLjkgODAuMDg0QzQ2Mi45IDgwLjA4NCA0NjQuOTcgNzEuNzEyIDQ2MC4zOTQgNzYuMjg4QzQ2MC4zOTQgNzYuMjg4IDQ1My43MzggODEuNjk2IDQ0Ni42NjUgODEuNjk2QzQ0Ni42NjUgODEuNjk2IDQzMi45MzcgODMuNzc2IDQyOC43NzcgOTYuMjU2QzQyOC43NzcgOTYuMjU2IDQyNS4wMzMgMTIxLjYzMiA0MzIuNTIxIDEyNy4wNEM0MzIuNTIxIDEyNy4wNCA0MzcuMDk3IDEzNC4xMTIgNDQzLjc1MyAxMjcuODcyQzQ1MC40MSAxMjEuNjMyIDQ2NC45OCA5Mi45OCA0NjIuOSA4MC4wODR6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjY2NjY2NjIj4KKyAgPHBhdGggZD0iTTQ2Mi41MjYgODAuNDQyQzQ2Mi41MjYgODAuNDQyIDQ2NC41ODYgNzIuMjU2IDQ2MC4wOTggNzYuNzQ0QzQ2MC4wOTggNzYuNzQ0IDQ1My41NjkgODIuMDQ4IDQ0Ni42MzMgODIuMDQ4QzQ0Ni42MzMgODIuMDQ4IDQzMy4xNjkgODQuMDg4IDQyOS4wODkgOTYuMzI4QzQyOS4wODkgOTYuMzI4IDQyNS40MTcgMTIxLjIxNiA0MzIuNzYxIDEyNi41MkM0MzIuNzYxIDEyNi41MiA0MzcuMjQ5IDEzMy40NTYgNDQzLjc3NyAxMjcuMzM2QzQ1MC4zMDUgMTIxLjIxNiA0NjQuNTY2IDkzLjA5IDQ2Mi41MjYgODAuNDQyeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZmZiI+CisgIDxwYXRoIGQ9Ik00NjIuMTUxIDgwLjhDNDYyLjE1MSA4MC44IDQ2NC4yMDEgNzIuOCA0NTkuODAxIDc3LjJDNDU5LjgwMSA3Ny4yIDQ1My40MDEgODIuNCA0NDYuNjAxIDgyLjRDNDQ2LjYwMSA4Mi40IDQzMy40MDEgODQuNCA0MjkuNDAxIDk2LjRDNDI5LjQwMSA5Ni40IDQyNS44MDEgMTIwLjggNDMzLjAwMSAxMjZDNDMzLjAwMSAxMjYgNDM3LjQwMSAxMzIuOCA0NDMuODAxIDEyNi44QzQ1MC4yMDEgMTIwLjggNDY0LjE1MSA5My4yIDQ2Mi4xNTEgODAuOHoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICM5OTI2MDAiPgorICA8cGF0aCBkPSJNMjUwLjYgMjg0QzI1MC42IDI4NCAyMzAuMiAyNjQuOCAyMjIuMiAyNjRDMjIyLjIgMjY0IDE4Ny44IDI2MCAxNzMgMjc4QzE3MyAyNzggMTkwLjYgMjU3LjYgMjE4LjIgMjYzLjJDMjE4LjIgMjYzLjIgMTk2LjYgMjU4LjggMTg0LjIgMjYyQzE4NC4yIDI2MiAxNjcuNCAyNjIgMTU3LjggMjc2TDE1NSAyODAuOEMxNTUgMjgwLjggMTU5IDI2NiAxNzcuNCAyNjBDMTc3LjQgMjYwIDIwMC4yIDI1NS4yIDIxMSAyNjBDMjExIDI2MCAxODkuNCAyNTMuMiAxNzkuNCAyNTUuMkMxNzkuNCAyNTUuMiAxNDkgMjUyLjggMTM2LjIgMjc5LjJDMTM2LjIgMjc5LjIgMTQwLjIgMjY0LjggMTU1IDI1Ny42QzE1NSAyNTcuNiAxNjguNiAyNDguOCAxODkgMjUxLjZDMTg5IDI1MS42IDIwMy40IDI1NC44IDIwOC42IDI1Ny4yQzIxMy44IDI1OS42IDIxMi42IDI1Ni44IDIwNC4yIDI1MkMyMDQuMiAyNTIgMTk4LjYgMjQyIDE4NC42IDI0Mi40QzE4NC42IDI0Mi40IDE0MS44IDI0NiAxMzEuNCAyNThDMTMxLjQgMjU4IDE0NSAyNDYuOCAxNTUuNCAyNDRDMTU1LjQgMjQ0IDE3Ny44IDIzNiAxODYuMiAyMzYuOEMxODYuMiAyMzYuOCAyMTEgMjM3LjggMjE4LjYgMjMzLjhDMjE4LjYgMjMzLjggMjA3LjQgMjM4LjggMjEwLjYgMjQyQzIxMy44IDI0NS4yIDIyMC42IDI1Mi44IDIyMC42IDI1NEMyMjAuNiAyNTUuMiAyNDQuOCAyNzcuMyAyNDguNCAyODEuN0wyNTAuNiAyODR6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjY2NjY2NjIj4KKyAgPHBhdGggZD0iTTM4OSA0NzhDMzg5IDQ3OCAzNzMuNSA0NDEuNSAzNjEgNDMyQzM2MSA0MzIgMzg3IDQ0OCAzOTAuNSA0NjZDMzkwLjUgNDY2IDM5MC41IDQ3NiAzODkgNDc4eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2NjY2NjYyI+CisgIDxwYXRoIGQ9Ik00MzYgNDg1LjVDNDM2IDQ4NS41IDQwOS41IDQzMC41IDM5MSA0MDYuNUMzOTEgNDA2LjUgNDM0LjUgNDQ0IDQzOS41IDQ3MC41TDQ0MCA0NzZMNDM3IDQ3My41QzQzNyA0NzMuNSA0MzYuNSA0ODIuNSA0MzYgNDg1LjV6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjY2NjY2NjIj4KKyAgPHBhdGggZD0iTTQ5Mi41IDQzN0M0OTIuNSA0MzcgNDMwIDM3Ny41IDQyOC41IDM3NUM0MjguNSAzNzUgNDg5IDQ0MSA0OTIgNDQ4LjVDNDkyIDQ0OC41IDQ5MCA0MzkuNSA0OTIuNSA0Mzd6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjY2NjY2NjIj4KKyAgPHBhdGggZD0iTTMwNCA0ODAuNUMzMDQgNDgwLjUgMzIzLjUgNDI4LjUgMzQyLjUgNDUxQzM0Mi41IDQ1MSAzNTcuNSA0NjEgMzU3IDQ2NEMzNTcgNDY0IDM1MyA0NTcuNSAzMzUgNDU4QzMzNSA0NTggMzE2IDQ1NSAzMDQgNDgwLjV6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjY2NjY2NjIj4KKyAgPHBhdGggZD0iTTQ5NC41IDM1M0M0OTQuNSAzNTMgNDQ5LjUgMzI0LjUgNDQyIDMyM0M0MzAuMTkzIDMyMC42MzkgNDkxLjUgMzUyIDQ5Ni41IDM2Mi41QzQ5Ni41IDM2Mi41IDQ5OC41IDM2MCA0OTQuNSAzNTN6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjMDAwMDAwIj4KKyAgPHBhdGggZD0iTTM0My44MDEgNDU5LjYwMUMzNDMuODAxIDQ1OS42MDEgMzY0LjIwMSA0NTcuNjAxIDM3MS4wMDEgNDUwLjgwMUwzNzUuNDAxIDQ1NC40MDFMMzkzLjAwMSA0MTYuMDAxTDM5Ni42MDEgNDIxLjIwMUMzOTYuNjAxIDQyMS4yMDEgNDExLjAwMSA0MDYuNDAxIDQxMC4yMDEgMzk4LjQwMUM0MDkuNDAxIDM5MC40MDEgNDIzLjAwMSA0MDQuNDAxIDQyMy4wMDEgNDA0LjQwMUM0MjMuMDAxIDQwNC40MDEgNDIyLjIwMSAzOTIuODAxIDQyOS40MDEgMzk5LjYwMUM0MjkuNDAxIDM5OS42MDEgNDI3LjAwMSAzODQuMDAxIDQzNS40MDEgMzkyLjAwMUM0MzUuNDAxIDM5Mi4wMDEgNDI0Ljg2NCAzNjEuODQ0IDQ0Ny40MDEgMzg3LjYwMUM0NTMuMDAxIDM5NC4wMDEgNDQ4LjYwMSAzODcuMjAxIDQ0OC42MDEgMzg3LjIwMUM0NDguNjAxIDM4Ny4yMDEgNDIyLjYwMSAzMzkuMjAxIDQ0NC4yMDEgMzUzLjYwMUM0NDQuMjAxIDM1My42MDEgNDQ2LjIwMSAzMzAuODAxIDQ0NS4wMDEgMzI2LjQwMUM0NDMuODAxIDMyMi4wMDEgNDQxLjgwMSAyOTkuNiA0MzcuMDAxIDI5NC40QzQzMi4yMDEgMjg5LjIgNDM3LjQwMSAyODcuNiA0NDMuMDAxIDI5Mi44QzQ0My4wMDEgMjkyLjggNDMxLjgwMSAyNjguOCA0NDUuMDAxIDI4MC44QzQ0NS4wMDEgMjgwLjggNDQxLjQwMSAyNjUuNiA0MzcuMDAxIDI2Mi44QzQzNy4wMDEgMjYyLjggNDMxLjQwMSAyNDUuNiA0NDYuNjAxIDI1Ni40QzQ0Ni42MDEgMjU2LjQgNDQyLjIwMSAyNDQgNDM5LjAwMSAyNDAuOEM0MzkuMDAxIDI0MC44IDQyNy40MDEgMjEzLjIgNDM0LjYwMSAyMThMNDM5LjAwMSAyMjEuNkM0MzkuMDAxIDIyMS42IDQzMi4yMDEgMjA3LjYgNDM4LjYwMSAyMTJDNDQ1LjAwMSAyMTYuNCA0NDUuMDAxIDIxNiA0NDUuMDAxIDIxNkM0NDUuMDAxIDIxNiA0MjMuODAxIDE4Mi44IDQ0NC4yMDEgMjAwLjRDNDQ0LjIwMSAyMDAuNCA0MzYuMDQyIDE4Ni40ODIgNDMyLjYwMSAxNzkuNkM0MzIuNjAxIDE3OS42IDQxMy44MDEgMTU5LjIgNDI4LjIwMSAxNjUuNkw0MzMuMDAxIDE2Ny4yQzQzMy4wMDEgMTY3LjIgNDI0LjIwMSAxNTcuMiA0MTYuMjAxIDE1NS42QzQwOC4yMDEgMTU0IDQxOC42MDEgMTQ3LjYgNDI1LjAwMSAxNDkuNkM0MzEuNDAxIDE1MS42IDQ0Ny4wMDEgMTU5LjIgNDQ3LjAwMSAxNTkuMkM0NDcuMDAxIDE1OS4yIDQ1OS44MDEgMTc4IDQ2My44MDEgMTc4LjRDNDYzLjgwMSAxNzguNCA0NDMuODAxIDE3MC44IDQ0OS44MDEgMTc4LjhDNDQ5LjgwMSAxNzguOCA0NjQuMjAxIDE5Mi44IDQ1Ny4wMDEgMTkyLjRDNDU3LjAwMSAxOTIuNCA0NTEuMDAxIDE5OS42IDQ1NS44MDEgMjA4LjRDNDU1LjgwMSAyMDguNCA0MzcuMzQyIDE5MC4wMDkgNDUyLjIwMSAyMTUuNkw0NTkuMDAxIDIzMkM0NTkuMDAxIDIzMiA0MzQuNjAxIDIwNy4yIDQ0NS44MDEgMjI5LjJDNDQ1LjgwMSAyMjkuMiA0NjMuMDAxIDI1Mi44IDQ2NS4wMDEgMjUzLjJDNDY3LjAwMSAyNTMuNiA0NzEuNDAxIDI2Mi40IDQ3MS40MDEgMjYyLjRMNDY3LjAwMSAyNjAuNEw0NzIuMjAxIDI2OS4yQzQ3Mi4yMDEgMjY5LjIgNDYxLjAwMSAyNTcuMiA0NjcuMDAxIDI3MC40TDQ3Mi42MDEgMjg0LjhDNDcyLjYwMSAyODQuOCA0NTIuMjAxIDI2Mi44IDQ2NS44MDEgMjkyLjRDNDY1LjgwMSAyOTIuNCA0NDkuNDAxIDI4Ny4yIDQ1OC4yMDEgMzA0LjRDNDU4LjIwMSAzMDQuNCA0NTYuNjAxIDMyMC40MDEgNDU3LjAwMSAzMjUuNjAxQzQ1Ny40MDEgMzMwLjgwMSA0NTguNjAxIDM1OS4yMDEgNDU0LjIwMSAzNjcuMjAxQzQ0OS44MDEgMzc1LjIwMSA0NjAuMjAxIDM5NC40MDEgNDYyLjIwMSAzOTguNDAxQzQ2NC4yMDEgNDAyLjQwMSA0NjcuODAxIDQxMy4yMDEgNDU5LjAwMSA0MDQuMDAxQzQ1MC4yMDEgMzk0LjgwMSA0NTQuNjAxIDQwMC40MDEgNDU2LjYwMSA0MDkuMjAxQzQ1OC42MDEgNDE4LjAwMSA0NjQuNjAxIDQzMy42MDEgNDYzLjgwMSA0MzkuMjAxQzQ2My44MDEgNDM5LjIwMSA0NjIuNjAxIDQ0MC40MDEgNDU5LjQwMSA0MzYuODAxQzQ1OS40MDEgNDM2LjgwMSA0NDQuNjAxIDQxNC4wMDEgNDQ2LjIwMSA0MjguNDAxQzQ0Ni4yMDEgNDI4LjQwMSA0NDUuMDAxIDQzNi40MDEgNDQxLjgwMSA0NDUuMjAxQzQ0MS44MDEgNDQ1LjIwMSA0MzguNjAxIDQ1Ni4wMDEgNDM4LjYwMSA0NDcuMjAxQzQzOC42MDEgNDQ3LjIwMSA0MzUuNDAxIDQzMC40MDEgNDMyLjYwMSA0MzguMDAxQzQyOS44MDEgNDQ1LjYwMSA0MjYuMjAxIDQ1MS42MDEgNDIzLjQwMSA0NTQuMDAxQzQyMC42MDEgNDU2LjQwMSA0MTUuNDAxIDQzMy42MDEgNDE0LjIwMSA0NDQuMDAxQzQxNC4yMDEgNDQ0LjAwMSA0MDIuMjAxIDQzMS42MDEgMzk3LjQwMSA0NDguMDAxTDM4NS44MDEgNDY0LjQwMUMzODUuODAxIDQ2NC40MDEgMzg1LjQwMSA0NTIuMDAxIDM4NC4yMDEgNDU4LjAwMUMzODQuMjAxIDQ1OC4wMDEgMzU0LjIwMSA0NjQuMDAxIDM0My44MDEgNDU5LjYwMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICMwMDAwMDAiPgorICA8cGF0aCBkPSJNMzA5LjQwMSAxMDIuOEMzMDkuNDAxIDEwMi44IDI5Ny44MDEgOTQuOCAyOTMuODAxIDk1LjJDMjg5LjgwMSA5NS42IDMyMS40MDEgODYuNCAzNjIuNjAxIDExNEMzNjIuNjAxIDExNCAzNjcuNDAxIDExNi44IDM3MS4wMDEgMTE2LjRDMzcxLjAwMSAxMTYuNCAzNzQuMjAxIDExOC44IDM3MS40MDEgMTIyLjRDMzcxLjQwMSAxMjIuNCAzNjIuNjAxIDEzMiAzNzMuODAxIDE0My4yQzM3My44MDEgMTQzLjIgMzkyLjIwMSAxNTAgMzg2LjYwMSAxNDEuMkMzODYuNjAxIDE0MS4yIDM5Ny40MDEgMTQ1LjIgMzk5LjgwMSAxNDkuMkM0MDIuMjAxIDE1My4yIDQwMS4wMDEgMTQ5LjIgNDAxLjAwMSAxNDkuMkM0MDEuMDAxIDE0OS4yIDM5NC42MDEgMTQyIDM4OC42MDEgMTM2LjhDMzg4LjYwMSAxMzYuOCAzODMuNDAxIDEzNC44IDM4MC42MDEgMTI2LjRDMzc3LjgwMSAxMTggMzc1LjQwMSAxMDggMzc5LjgwMSAxMDQuOEMzNzkuODAxIDEwNC44IDM3NS44MDEgMTA5LjIgMzc2LjYwMSAxMDUuMkMzNzcuNDAxIDEwMS4yIDM4MS4wMDEgOTcuNiAzODIuNjAxIDk3LjJDMzg0LjIwMSA5Ni44IDQwMC42MDEgODEgNDA3LjQwMSA4MC42QzQwNy40MDEgODAuNiAzOTguMjAxIDgyIDM5NS4yMDEgODFDMzkyLjIwMSA4MCAzNjUuNjAxIDY4LjYgMzU5LjYwMSA2Ny40QzM1OS42MDEgNjcuNCAzNDIuODAxIDYwLjggMzU0LjgwMSA2Mi44QzM1NC44MDEgNjIuOCAzOTAuNjAxIDY2LjYgNDA4LjgwMSA3OS44QzQwOC44MDEgNzkuOCA0MDEuNjAxIDcxLjQgMzgzLjIwMSA2NC40QzM4My4yMDEgNjQuNCAzNjEuMDAxIDUxLjggMzI1LjgwMSA1Ni44QzMyNS44MDEgNTYuOCAzMDguMDAxIDYwIDMwMC4yMDEgNjEuOEMzMDAuMjAxIDYxLjggMjk3LjYwMSA2MS4yIDI5Ny4wMDEgNjAuOEMyOTYuNDAxIDYwLjQgMjg0LjYgNTEuNCAyNTcgNTguNEMyNTcgNTguNCAyNDAgNjMgMjMxLjQgNjcuOEMyMzEuNCA2Ny44IDIxNi4yIDY5IDIxMi42IDcyLjJDMjEyLjYgNzIuMiAxOTQgODYuOCAxOTIgODcuNkMxOTAgODguNCAxNzguNiA5NiAxNzcuOCA5Ni40QzE3Ny44IDk2LjQgMjAyLjQgODkuOCAyMDQuOCA4Ny40QzIwNy4yIDg1IDIyNC42IDgyLjQgMjI3IDgzLjhDMjI5LjQgODUuMiAyMzcuOCA4NC42IDIyOC4yIDg1LjJDMjI4LjIgODUuMiAzMDMuODAxIDEwMCAzMDQuNjAxIDEwMkMzMDUuNDAxIDEwNCAzMDkuNDAxIDEwMi44IDMwOS40MDEgMTAyLjh6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjY2M3MjI2Ij4KKyAgPHBhdGggZD0iTTM4MC44MDEgOTMuNkMzODAuODAxIDkzLjYgMzcwLjYwMSA4Ni4yIDM2OC42MDEgODYuMkMzNjYuNjAxIDg2LjIgMzU0LjIwMSA3NiAzNTAuMDAxIDc2LjRDMzQ1LjgwMSA3Ni44IDMzMy42MDEgNjYuOCAzMDYuMjAxIDc1QzMwNi4yMDEgNzUgMzA1LjYwMSA3MyAzMDkuMjAxIDcyLjJDMzA5LjIwMSA3Mi4yIDMxNS42MDEgNzAgMzE2LjAwMSA2OS40QzMxNi4wMDEgNjkuNCAzMzYuMjAxIDY1LjIgMzQzLjQwMSA2OC44QzM0My40MDEgNjguOCAzNTIuNjAxIDcxLjQgMzU4LjgwMSA3Ny42QzM1OC44MDEgNzcuNiAzNzAuMDAxIDgwLjggMzczLjIwMSA3OS44QzM3My4yMDEgNzkuOCAzODIuMDAxIDgyIDM4Mi40MDEgODMuOEMzODIuNDAxIDgzLjggMzg4LjIwMSA4Ni44IDM4Ni40MDEgODkuNEMzODYuNDAxIDg5LjQgMzg2LjgwMSA5MSAzODAuODAxIDkzLjZ6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjY2M3MjI2Ij4KKyAgPHBhdGggZD0iTTM2OC4zMyA5MS40OTFDMzY5LjEzNyA5Mi4xMjMgMzcwLjE1NiA5Mi4yMjEgMzcwLjc2MSA5My4wM0MzNzAuOTk1IDkzLjM0NCAzNzAuNzA2IDkzLjY3IDM3MC4zOTEgOTMuNzY3QzM2OS4zNDggOTQuMDg0IDM2OC4yOTIgOTMuNTE0IDM2Ny4xNSA5NC4xMDJDMzY2Ljc0OCA5NC4zMDkgMzY2LjEwNiA5NC4xMjcgMzY1LjU1MyA5My45NzhDMzYzLjkyMSA5My41MzcgMzYyLjA5MiA5My41MTIgMzYwLjQwMSA5NC4yQzM1OC40MTYgOTMuMDcxIDM1Ni4wNTYgOTMuNjU1IDM1My45NzUgOTIuNjU0QzM1My45MTcgOTIuNjI3IDM1My42OTUgOTIuOTczIDM1My42MjEgOTIuOTQ2QzM1MC41NzUgOTEuODAxIDM0Ni44MzIgOTIuMDg0IDM0NC40MDEgODkuOEMzNDEuOTczIDg5LjM4OCAzMzkuNjE2IDg4LjkyNiAzMzcuMTg4IDg4LjI0NkMzMzUuMzcgODcuNzM3IDMzMy45NjEgODYuNzQ4IDMzMi4zNDEgODUuOTE2QzMzMC45NjQgODUuMjA4IDMyOS41MDcgODQuNjg2IDMyNy45NzMgODQuMzE0QzMyNi4xMSA4My44NjIgMzI0LjI3OSA4My45NzQgMzIyLjM4NiA4My40NTRDMzIyLjI5MyA4My40MjkgMzIyLjEwMSA4My43NzMgMzIyLjAxOSA4My43NDZDMzIxLjY5NSA4My42MzggMzIxLjQwNSA4My4wNTUgMzIxLjIzNCA4My4xMDhDMzE5LjU1MyA4My42MyAzMTguMDY1IDgyLjY1OCAzMTYuNDAxIDgzQzMxNS4yMjMgODEuNzc2IDMxMy40OTUgODIuMDIxIDMxMS45NDkgODEuNTc5QzMwOC45ODUgODAuNzMxIDMwNS44MzEgODIuMDAxIDMwMi44MDEgODFDMzA2LjkxNCA3OS4xNTggMzExLjYwMSA4MC4zOSAzMTUuNjYzIDc4LjMyMUMzMTcuOTkxIDc3LjEzNSAzMjAuNjUzIDc4LjIzNyAzMjMuMjIzIDc3LjQ3N0MzMjMuNzEgNzcuMzMzIDMyNC40MDEgNzcuMTMxIDMyNC44MDEgNzcuOEMzMjQuOTM1IDc3LjY2NSAzMjUuMTE3IDc3LjQyNiAzMjUuMTc1IDc3LjQ1NEMzMjcuNjI1IDc4LjYxMSAzMjkuOTQgNzkuODg1IDMzMi40MjIgODAuOTUxQzMzMi43NjMgODEuMDk3IDMzMy4yOTUgODAuODY1IDMzMy41NDcgODEuMDY3QzMzNS4wNjcgODIuMjgzIDMzNy4wMSA4Mi4xOCAzMzguNDAxIDgzLjRDMzQwLjA5OSA4Mi44OTggMzQxLjg5MiA4My4yNzggMzQzLjYyMSA4Mi42NTRDMzQzLjY5OCA4Mi42MjcgMzQzLjkzMiA4Mi45NjggMzQzLjk2NSA4Mi45NDZDMzQ1LjA5NSA4Mi4xOTggMzQ2LjI1IDgyLjQ2OSAzNDcuMTQyIDgyLjc3M0MzNDcuNDggODIuODg4IDM0OC4xNDMgODMuMTM1IDM0OC40NDggODMuMjA5QzM0OS41NzQgODMuNDg1IDM1MC40MyA4My45NjUgMzUxLjYwOSA4NC4xNDhDMzUxLjcyMyA4NC4xNjYgMzUxLjkwOCA4My44MjYgMzUxLjk4IDgzLjg1NEMzNTMuMTAzIDg0LjI5MiAzNTQuMTQ1IDg0LjIzNiAzNTQuODAxIDg1LjRDMzU0LjkzNiA4NS4yNjUgMzU1LjEwMSA4NS4wMjcgMzU1LjE4MyA4NS4wNTRDMzU2LjIxIDg1LjM5MiAzNTYuODU5IDg2LjE0NyAzNTcuOTYgODYuMzg4QzM1OC40NDUgODYuNDk0IDM1OS4wNTcgODcuMTIgMzU5LjYzMyA4Ny4yOTZDMzYyLjAyNSA4OC4wMjcgMzYzLjg2OCA4OS41NTYgMzY2LjA2MiA5MC40NTFDMzY2LjgyMSA5MC43NjEgMzY3LjY5NyA5MC45OTUgMzY4LjMzIDkxLjQ5MXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNjYzcyMjYiPgorICA8cGF0aCBkPSJNMjkxLjY5NiA3Ny4yNjFDMjg5LjE3OCA3NS41MzYgMjg2LjgxIDc0LjQzIDI4NC4zNjggNzIuNjQ0QzI4NC4xODcgNzIuNTExIDI4My44MjcgNzIuNjgxIDI4My42MjUgNzIuNTU5QzI4Mi42MTggNzEuOTUgMjgxLjczIDcxLjM2OSAyODAuNzQ4IDcwLjY3M0MyODAuMjA5IDcwLjI5MSAyNzkuMzg4IDcwLjMwMiAyNzguODggNzAuMDQ0QzI3Ni4zMzYgNjguNzUyIDI3My43MDcgNjguMTk0IDI3MS4yIDY3QzI3MS44ODIgNjYuMzYyIDI3My4wMDQgNjYuNjA2IDI3My42IDY1LjhDMjczLjc5NSA2Ni4wOCAyNzQuMDMzIDY2LjM2NCAyNzQuMzg2IDY2LjE3M0MyNzYuMDY0IDY1LjI2OSAyNzcuOTE0IDY1LjExNiAyNzkuNTkgNjUuMjA2QzI4MS4yOTQgNjUuMjk4IDI4My4wMTQgNjUuNjAzIDI4NC43ODkgNjUuODc1QzI4NS4wOTYgNjUuOTIyIDI4NS4yOTUgNjYuNDQ1IDI4NS42MTggNjYuNTQyQzI4Ny44NDYgNjcuMjA1IDI5MC4yMzUgNjYuNjggMjkyLjM1NCA2Ny41MThDMjkzLjk0NSA2OC4xNDcgMjk1LjUxNSA2OC45NyAyOTYuNzU0IDcwLjI0NUMyOTcuMDA2IDcwLjUwNSAyOTYuNjgxIDcwLjgwNiAyOTYuNDAxIDcxQzI5Ni43ODkgNzAuODkxIDI5Ny4wNjIgNzEuMDk3IDI5Ny4xNzMgNzEuNDFDMjk3LjI1NyA3MS42NDkgMjk3LjI1NyA3MS45NTEgMjk3LjE3MyA3Mi4xOUMyOTcuMDYxIDcyLjUwMiAyOTYuNzgyIDcyLjYwMyAyOTYuNDA4IDcyLjY1NEMyOTUuMDAxIDcyLjg0NCAyOTYuNzczIDcxLjQ2NCAyOTYuMDczIDcxLjkxMkMyOTQuOCA3Mi43MjYgMjk1LjU0NiA3NC4xMzIgMjk0LjgwMSA3NS40QzI5NC41MjEgNzUuMjA2IDI5NC4yOTEgNzQuOTg4IDI5NC40MDEgNzQuNkMyOTQuNjM1IDc1LjEyMiAyOTQuMDMzIDc1LjQxMiAyOTMuODY1IDc1LjcyOEMyOTMuNDggNzYuNDUzIDI5Mi41ODEgNzcuODY4IDI5MS42OTYgNzcuMjYxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2NjNzIyNiI+CisgIDxwYXRoIGQ9Ik0yNTkuMTk4IDg0LjYwOUMyNTYuMDQ0IDgzLjgxNSAyNTIuOTk0IDgzLjkzIDI0OS45NzggODIuNjU0QzI0OS45MTEgODIuNjI2IDI0OS42ODggODIuOTczIDI0OS42MjQgODIuOTQ2QzI0OC4yNTggODIuMzUyIDI0Ny4zNCA4MS4zODYgMjQ2LjI2NCA4MC4zNEMyNDUuMzUxIDc5LjQ1MiAyNDMuNjkzIDc5LjgzOSAyNDIuNDE5IDc5LjM1MkMyNDIuMDk1IDc5LjIyOCAyNDEuODkyIDc4LjcxNiAyNDEuNTkxIDc4LjY3N0MyNDAuMzcyIDc4LjUyIDIzOS40NDUgNzcuNTcxIDIzOC40IDc3QzI0MC43MzYgNzYuMjA1IDI0My4xNDcgNzYuMjM2IDI0NS42MDkgNzUuODUyQzI0NS43MjIgNzUuODM0IDI0NS44NjcgNzYuMTU1IDI0NiA3Ni4xNTVDMjQ2LjEzNiA3Ni4xNTUgMjQ2LjI2NiA3NS45MzQgMjQ2LjQgNzUuOEMyNDYuNTk1IDc2LjA4IDI0Ni44OTcgNzYuNDA2IDI0Ny4xNTQgNzYuMTUyQzI0Ny43MDIgNzUuNjEyIDI0OC4yNTggNzUuODAyIDI0OC43OTggNzUuODQyQzI0OC45NDIgNzUuODUyIDI0OS4wNjcgNzYuMTU1IDI0OS4yIDc2LjE1NUMyNDkuMzM2IDc2LjE1NSAyNDkuNDY3IDc1Ljg0NCAyNDkuNiA3NS44NDRDMjQ5LjczNiA3NS44NDUgMjQ5Ljg2NyA3Ni4xNTUgMjUwIDc2LjE1NUMyNTAuMTM2IDc2LjE1NSAyNTAuMjY2IDc1LjkzNCAyNTAuNCA3NS44QzI1MS4wOTIgNzYuNTgyIDI1MS45NzcgNzYuMDI4IDI1Mi43OTkgNzYuMjA3QzI1My44MzcgNzYuNDM0IDI1NC4xMDQgNzcuNTgyIDI1NS4xNzggNzcuODhDMjU5Ljg5MyA3OS4xODQgMjY0LjAzIDgxLjMyOSAyNjguMzkzIDgzLjQxNkMyNjguNyA4My41NjMgMjY4LjkxIDgzLjgxMSAyNjguOCA4NC4yQzI2OS4wNjcgODQuMiAyNjkuMzggODQuMTEyIDI2OS41NyA4NC4yNDRDMjcwLjYyOCA4NC45NzYgMjcxLjY2OSA4NS41MjQgMjcyLjM2NiA4Ni42MjJDMjcyLjU4MiA4Ni45NjEgMjcyLjI1MyA4Ny4zNjggMjcyLjAyIDg3LjMxNkMyNjcuNTkxIDg2LjMyMSAyNjMuNTg1IDg1LjcxMyAyNTkuMTk4IDg0LjYwOXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNjYzcyMjYiPgorICA8cGF0aCBkPSJNMjQ1LjMzOCAxMjguODIxQzI0My43NDYgMTI3LjYwMiAyNDMuMTYyIDEyNS41NzEgMjQyLjAzNCAxMjMuNzc5QzI0MS44MiAxMjMuNDM5IDI0Mi4wOTQgMTIzLjEyNSAyNDIuNDExIDEyMy4wMzZDMjQyLjk3MSAxMjIuODc3IDI0My41MTQgMTIzLjM1NSAyNDMuOTIzIDEyMy41NTdDMjQ1LjY2OCAxMjQuNDE5IDI0Ny4yMDMgMTI1LjY2MSAyNDkuMiAxMjUuOEMyNTEuMTkgMTI4LjAzNCAyNTUuNDUgMTI4LjQxOSAyNTUuNDU3IDEzMS44QzI1NS40NTggMTMyLjY1OSAyNTQuMDMgMTMxLjc0MSAyNTMuNiAxMzIuNkMyNTEuMTQ5IDEzMS41OTcgMjQ4Ljc2IDEzMS43IDI0Ni4zOCAxMzAuMjMzQzI0NS43NjMgMTI5Ljg1MiAyNDYuMDkzIDEyOS4zOTkgMjQ1LjMzOCAxMjguODIxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2NjNzIyNiI+CisgIDxwYXRoIGQ9Ik0yMTcuOCA3Ni4yNDRDMjE3LjkzNSA3Ni4yNDUgMjI0Ljk2NiA3Ni40NzggMjI0Ljk0OSA3Ni41OTJDMjI0LjkwNCA3Ni45MDEgMjE3LjE3NCA3Ny45NSAyMTYuODEgNzcuNzhDMjE2LjY0NiA3Ny43MDQgMjA5LjEzNCA4MC4xMzQgMjA5IDgwQzIwOS4yNjggNzkuODY1IDIxNy41MzQgNzYuMjQ0IDIxNy44IDc2LjI0NHoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICMwMDAwMDAiPgorICA8cGF0aCBkPSJNMjMzLjIgODZDMjMzLjIgODYgMjE4LjQgODcuOCAyMTQgODlDMjA5LjYgOTAuMiAxOTEgOTcuOCAxODggOTkuOEMxODggOTkuOCAxNzQuNiAxMDUuMiAxNTcuNiAxMjUuMkMxNTcuNiAxMjUuMiAxNjUuMiAxMjEuOCAxNjcuNCAxMTlDMTY3LjQgMTE5IDE4MSAxMDYuNCAxODAuOCAxMDlDMTgwLjggMTA5IDE5MyAxMDAuNCAxOTIuNCAxMDIuNkMxOTIuNCAxMDIuNiAyMTYuOCA5MS40IDIxNC44IDk0LjZDMjE0LjggOTQuNiAyMzYuNCA5MCAyMzUuNCA5MkMyMzUuNCA5MiAyNTQuMiA5Ni40IDI1MS40IDk2LjZDMjUxLjQgOTYuNiAyNDUuNiA5Ny44IDI1MiAxMDEuNEMyNTIgMTAxLjQgMjQ4LjYgMTA1LjggMjQzLjIgMTAxLjhDMjM3LjggOTcuOCAyNDAuOCAxMDAgMjM1LjggMTAxQzIzNS44IDEwMSAyMzMuMiAxMDEuOCAyMjguNiA5Ny44QzIyOC42IDk3LjggMjIzIDkzLjIgMjE0LjIgOTYuOEMyMTQuMiA5Ni44IDE4My42IDEwOS40IDE4MS42IDExMEMxODEuNiAxMTAgMTc4IDExMi44IDE3NS42IDExNi40QzE3NS42IDExNi40IDE2OS44IDEyMC44IDE2Ni44IDEyMi4yQzE2Ni44IDEyMi4yIDE1NCAxMzMuOCAxNTIuOCAxMzUuMkMxNTIuOCAxMzUuMiAxNDkuNCAxNDAuNCAxNDguNiAxNDAuOEMxNDguNiAxNDAuOCAxNTUgMTM3IDE1NyAxMzVDMTU3IDEzNSAxNzEgMTI1IDE3Ni40IDEyNC4yQzE3Ni40IDEyNC4yIDE4MC44IDEyMS4yIDE4MS42IDExOS44QzE4MS42IDExOS44IDE5NiAxMTAuNiAyMDAuMiAxMTAuNkMyMDAuMiAxMTAuNiAyMDkuNCAxMTUuOCAyMTEuOCAxMDguOEMyMTEuOCAxMDguOCAyMTcuNiAxMDcgMjIzLjIgMTA4LjJDMjIzLjIgMTA4LjIgMjI2LjQgMTA1LjYgMjI1LjYgMTAzLjRDMjI1LjYgMTAzLjQgMjI3LjIgMTAxLjYgMjI4LjIgMTA1LjRDMjI4LjIgMTA1LjQgMjMxLjYgMTA5IDIzNi40IDEwN0MyMzYuNCAxMDcgMjQwLjQgMTA2LjggMjM4LjQgMTA5LjJDMjM4LjQgMTA5LjIgMjM0IDExMyAyMjIuMiAxMTMuMkMyMjIuMiAxMTMuMiAyMDkuOCAxMTMuOCAxOTMuNCAxMjEuNEMxOTMuNCAxMjEuNCAxNjMuNiAxMzEuOCAxNTQuNCAxNDIuMkMxNTQuNCAxNDIuMiAxNDggMTUxIDE0Mi42IDE1Mi4yQzE0Mi42IDE1Mi4yIDEzNi44IDE1MyAxMzAuOCAxNjAuNEMxMzAuOCAxNjAuNCAxNDAuNiAxNTQuNiAxNDkuNiAxNTQuNkMxNDkuNiAxNTQuNiAxNTMuNiAxNTIuMiAxNDkuOCAxNTUuOEMxNDkuOCAxNTUuOCAxNDYuMiAxNjMuNCAxNDcuOCAxNjguOEMxNDcuOCAxNjguOCAxNDcuMiAxNzQgMTQ2LjQgMTc1LjZDMTQ2LjQgMTc1LjYgMTM4LjYgMTg4LjQgMTM4LjYgMTkwLjhDMTM4LjYgMTkzLjIgMTM5LjggMjAzIDE0MC4yIDIwMy42QzE0MC42IDIwNC4yIDEzOS4yIDIwMiAxNDMgMjA0LjRDMTQ2LjggMjA2LjggMTQ5LjYgMjA4LjQgMTUwLjQgMjExLjJDMTUxLjIgMjE0IDE0OC40IDIwNS44IDE0OC4yIDIwNEMxNDggMjAyLjIgMTQzLjggMTk1IDE0NC42IDE5Mi42QzE0NC42IDE5Mi42IDE0NS42IDE5My42IDE0Ni40IDE5NUMxNDYuNCAxOTUgMTQ1LjggMTk0LjQgMTQ2LjQgMTkwLjhDMTQ2LjQgMTkwLjggMTQ3LjIgMTg1LjYgMTQ4LjYgMTgyLjRDMTUwIDE3OS4yIDE1MiAxNzUuNCAxNTIuNCAxNzQuNkMxNTIuOCAxNzMuOCAxNTIuOCAxNjggMTU0LjIgMTcwLjZMMTU3LjYgMTczLjJDMTU3LjYgMTczLjIgMTU0LjggMTcwLjYgMTU3IDE2OC40QzE1NyAxNjguNCAxNTYgMTYyLjggMTU3LjggMTYwLjJDMTU3LjggMTYwLjIgMTY0LjggMTUxLjggMTY2LjQgMTUwLjhDMTY4IDE0OS44IDE2Ni42IDE1MC4yIDE2Ni42IDE1MC4yQzE2Ni42IDE1MC4yIDE3Mi42IDE0NiAxNjYuOCAxNDcuNkMxNjYuOCAxNDcuNiAxNjIuOCAxNDkuMiAxNTkuOCAxNDkuMkMxNTkuOCAxNDkuMiAxNTIuMiAxNTEuMiAxNTYuMiAxNDdDMTYwLjIgMTQyLjggMTcwLjIgMTM3LjQgMTc0IDEzNy42TDE3NC44IDEzOS4yTDE4NiAxMzYuOEwxODQuOCAxMzcuNkMxODQuOCAxMzcuNiAxODQuNiAxMzcuNCAxODguOCAxMzdDMTkzIDEzNi42IDE5OC44IDEzOCAyMDAuMiAxMzYuMkMyMDEuNiAxMzQuNCAyMDUgMTMzLjQgMjA0LjYgMTM0LjhDMjA0LjIgMTM2LjIgMjA0IDEzOC4yIDIwNCAxMzguMkMyMDQgMTM4LjIgMjA5IDEzMi40IDIwOC40IDEzNC42QzIwNy44IDEzNi44IDE5OS42IDE0MiAxOTguMiAxNDguMkwyMDguNiAxNDBMMjEyLjIgMTM3QzIxMi4yIDEzNyAyMTUuOCAxMzkuMiAyMTYgMTM3LjZDMjE2LjIgMTM2IDIyMC44IDEzMC4yIDIyMiAxMzAuNEMyMjMuMiAxMzAuNiAyMjUuMiAxMjcuOCAyMjUgMTMwLjRDMjI0LjggMTMzIDIzMi40IDEzOC40IDIzMi40IDEzOC40QzIzMi40IDEzOC40IDIzNS42IDEzNi42IDIzNyAxMzhDMjM4LjQgMTM5LjQgMjQyLjYgMTE4LjIgMjQyLjYgMTE4LjJMMjY3LjYgMTA3LjZMMzExLjIwMSAxMDQuMkwyOTQuMjAxIDk3LjRMMjMzLjIgODZ6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJzdHJva2U6IzRjMDAwMDsgc3Ryb2tlLXdpZHRoOjIiPgorICA8cGF0aCBkPSJNMjUxLjQgMjg1QzI1MS40IDI4NSAyMzYuNCAyNjguMiAyMjggMjY1LjZDMjI4IDI2NS42IDIxNC42IDI1OC44IDE5MCAyNjYuNiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0ic3Ryb2tlOiM0YzAwMDA7IHN0cm9rZS13aWR0aDoyIj4KKyAgPHBhdGggZD0iTTIyNC44IDI2NC4yQzIyNC44IDI2NC4yIDE5OS42IDI1Ni4yIDE4NC4yIDI2MC40QzE4NC4yIDI2MC40IDE2NS44IDI2Mi40IDE1Ny40IDI3Ni4yIi8+CisgPC9nPgorIDxnIHN0eWxlPSJzdHJva2U6IzRjMDAwMDsgc3Ryb2tlLXdpZHRoOjIiPgorICA8cGF0aCBkPSJNMjIxLjIgMjYzQzIyMS4yIDI2MyAyMDQuMiAyNTUuOCAxODkuNCAyNTMuNkMxODkuNCAyNTMuNiAxNzIuOCAyNTEgMTU2LjIgMjU4LjJDMTU2LjIgMjU4LjIgMTQ0IDI2NC4yIDEzOC42IDI3NC40Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJzdHJva2U6IzRjMDAwMDsgc3Ryb2tlLXdpZHRoOjIiPgorICA8cGF0aCBkPSJNMjIyLjIgMjYzLjRDMjIyLjIgMjYzLjQgMjA2LjggMjUyLjQgMjA1LjggMjUxQzIwNS44IDI1MSAxOTguOCAyNDAgMTg1LjggMjM5LjZDMTg1LjggMjM5LjYgMTY0LjQgMjQwLjQgMTQ3LjIgMjQ4LjQiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICMwMDAwMDAiPgorICA8cGF0aCBkPSJNMjIwLjg5NSAyNTQuNDA3QzIyMi40MzcgMjU1Ljg3IDI0OS40IDI4NC44IDI0OS40IDI4NC44QzI4NC42IDMyMS40MDEgMjU2LjYgMjg3LjIgMjU2LjYgMjg3LjJDMjQ5IDI4Mi40IDIzOS44IDI2My42IDIzOS44IDI2My42QzIzOC42IDI2MC44IDI1My44IDI3MC44IDI1My44IDI3MC44QzI1Ny44IDI3MS42IDI3MS40IDI5MC44IDI3MS40IDI5MC44QzI2NC42IDI4OC40IDI2OS40IDI5NS42IDI2OS40IDI5NS42QzI3Mi4yIDI5Ny42IDI5Mi42MDEgMzEzLjIwMSAyOTIuNjAxIDMxMy4yMDFDMjk2LjIwMSAzMTcuMjAxIDMwMC4yMDEgMzE4LjgwMSAzMDAuMjAxIDMxOC44MDFDMzE0LjIwMSAzMTMuNjAxIDMwNy44MDEgMzI2LjgwMSAzMDcuODAxIDMyNi44MDFDMzEwLjIwMSAzMzMuNjAxIDMxNS44MDEgMzIyLjAwMSAzMTUuODAxIDMyMi4wMDFDMzI3LjAwMSAzMDUuMiAzMTAuNjAxIDMwNy42MDEgMzEwLjYwMSAzMDcuNjAxQzI4MC42IDMxMC40MDEgMjczLjggMjk0LjQgMjczLjggMjk0LjRDMjcxLjQgMjkyIDI4MC4yIDI5NC40IDI4MC4yIDI5NC40QzI4OC42MDEgMjk2LjQgMjczIDI4MiAyNzMgMjgyQzI3NS40IDI4MiAyODQuNiAyODguOCAyODQuNiAyODguOEMyOTUuMDAxIDI5OCAyOTcuMDAxIDI5NiAyOTcuMDAxIDI5NkMzMTUuMDAxIDI4Ny4yIDMyNS40MDEgMjk0LjggMzI1LjQwMSAyOTQuOEMzMjcuNDAxIDI5Ni40IDMyMS44MDEgMzAzLjIgMzIzLjQwMSAzMDguNDAxQzMyNS4wMDEgMzEzLjYwMSAzMjkuODAxIDMyNi4wMDEgMzI5LjgwMSAzMjYuMDAxQzMyNy40MDEgMzI3LjYwMSAzMjcuODAxIDMzOC40MDEgMzI3LjgwMSAzMzguNDAxQzM0NC42MDEgMzYxLjYwMSAzMzUuMDAxIDM1OS42MDEgMzM1LjAwMSAzNTkuNjAxQzMxOS40MDEgMzU5LjIwMSAzMzQuMjAxIDM2Ni44MDEgMzM0LjIwMSAzNjYuODAxQzMzNy40MDEgMzY4LjgwMSAzNDYuMjAxIDM3Ni4wMDEgMzQ2LjIwMSAzNzYuMDAxQzM0My40MDEgMzc0LjgwMSAzNDEuODAxIDM4MC4wMDEgMzQxLjgwMSAzODAuMDAxQzM0Ni42MDEgMzg0LjAwMSAzNDMuODAxIDM4OC44MDEgMzQzLjgwMSAzODguODAxQzMzNy44MDEgMzkwLjAwMSAzMzYuNjAxIDM5NC4wMDEgMzM2LjYwMSAzOTQuMDAxQzM0My40MDEgNDAyLjAwMSAzMzMuNDAxIDQwMi40MDEgMzMzLjQwMSA0MDIuNDAxQzMzNy4wMDEgNDA2LjgwMSAzMzIuMjAxIDQxOC44MDEgMzMyLjIwMSA0MTguODAxQzMyNy40MDEgNDE4LjgwMSAzMjEuMDAxIDQyNC40MDEgMzIxLjAwMSA0MjQuNDAxQzMyMy40MDEgNDI5LjIwMSAzMTMuMDAxIDQzNC44MDEgMzEzLjAwMSA0MzQuODAxQzMwNC42MDEgNDM2LjQwMSAzMDcuNDAxIDQ0My4yMDEgMzA3LjQwMSA0NDMuMjAxQzI5OS40MDEgNDQ5LjIwMSAyOTcuMDAxIDQ2NS4yMDEgMjk3LjAwMSA0NjUuMjAxQzI5Ni4yMDEgNDc1LjYwMSAyOTMuODAxIDQ3OC44MDEgMjk5LjAwMSA0NzYuODAxQzMwNC4yMDEgNDc0LjgwMSAzMDMuNDAxIDQ2Mi40MDEgMzAzLjQwMSA0NjIuNDAxQzI5OC42MDEgNDQ2LjgwMSAzNDEuNDAxIDQzMC44MDEgMzQxLjQwMSA0MzAuODAxQzM0NS40MDEgNDI5LjIwMSAzNDYuMjAxIDQyNC4wMDEgMzQ2LjIwMSA0MjQuMDAxQzM0OC4yMDEgNDI0LjQwMSAzNTcuMDAxIDQzMi4wMDEgMzU3LjAwMSA0MzIuMDAxQzM2NC42MDEgNDQzLjIwMSAzNjUuMDAxIDQzNC4wMDEgMzY1LjAwMSA0MzQuMDAxQzM2Ni4yMDEgNDMwLjQwMSAzNjQuNjAxIDQyNC40MDEgMzY0LjYwMSA0MjQuNDAxQzM3MC42MDEgNDAyLjgwMSAzNTYuNjAxIDM5Ni40MDEgMzU2LjYwMSAzOTYuNDAxQzM0Ni42MDEgMzYyLjgwMSAzNjAuNjAxIDM3MS4yMDEgMzYwLjYwMSAzNzEuMjAxQzM2My40MDEgMzc2LjgwMSAzNzQuMjAxIDM4Mi4wMDEgMzc0LjIwMSAzODIuMDAxTDM3Ny44MDEgMzc5LjYwMUMzNzYuMjAxIDM3NC44MDEgMzg0LjYwMSAzNjguODAxIDM4NC42MDEgMzY4LjgwMUMzODcuNDAxIDM3NS4yMDEgMzkzLjQwMSAzNjcuMjAxIDM5My40MDEgMzY3LjIwMUMzOTcuMDAxIDM0Mi44MDEgNDA5LjQwMSAzNTcuMjAxIDQwOS40MDEgMzU3LjIwMUM0MTMuNDAxIDM1OC40MDEgNDE0LjYwMSAzNTEuNjAxIDQxNC42MDEgMzUxLjYwMUM0MTguMjAxIDM0MS4yMDEgNDE0LjYwMSAzMjcuNjAxIDQxNC42MDEgMzI3LjYwMUM0MTguMjAxIDMyNy4yMDEgNDI3LjgwMSAzMzMuMjAxIDQyNy44MDEgMzMzLjIwMUM0MzAuNjAxIDMyOS42MDEgNDIxLjQwMSAzMTIuODAxIDQyNS40MDEgMzE1LjIwMUM0MjkuNDAxIDMxNy42MDEgNDMzLjgwMSAzMTkuMjAxIDQzMy44MDEgMzE5LjIwMUM0MzQuNjAxIDMxNy4yMDEgNDI0LjYwMSAzMDQuODAxIDQyNC42MDEgMzA0LjgwMUM0MjAuMjAxIDMwMiA0MTUuMDAxIDI4MS42IDQxNS4wMDEgMjgxLjZDNDIyLjIwMSAyODUuMiA0MTIuMjAxIDI3MCA0MTIuMjAxIDI3MEM0MTIuMjAxIDI2Ni44IDQxOC4yMDEgMjU1LjYgNDE4LjIwMSAyNTUuNkM0MTcuNDAxIDI0OC44IDQxOC4yMDEgMjQ5LjIgNDE4LjIwMSAyNDkuMkM0MjEuMDAxIDI1MC40IDQyOS4wMDEgMjUyIDQyMi4yMDEgMjQ1LjZDNDE1LjQwMSAyMzkuMiA0MjMuMDAxIDIzNC40IDQyMy4wMDEgMjM0LjRDNDI3LjQwMSAyMzEuNiA0MTMuODAxIDIzMiA0MTMuODAxIDIzMkM0MDguNjAxIDIyNy42IDQwOS4wMDEgMjIzLjYgNDA5LjAwMSAyMjMuNkM0MTcuMDAxIDIyNS42IDQwMi42MDEgMjExLjIgNDAwLjIwMSAyMDcuNkMzOTcuODAxIDIwNCA0MDcuNDAxIDE5OC44IDQwNy40MDEgMTk4LjhDNDIwLjYwMSAxOTUuMiA0MDkuMDAxIDE5MiA0MDkuMDAxIDE5MkMzODkuNDAxIDE5Mi40IDQwMC4yMDEgMTgxLjYgNDAwLjIwMSAxODEuNkM0MDYuMjAxIDE4MiA0MDQuNjAxIDE3OS42IDQwNC42MDEgMTc5LjZDMzk5LjQwMSAxNzguNCAzODkuODAxIDE3MiAzODkuODAxIDE3MkMzODUuODAxIDE2OC40IDM4OS40MDEgMTY5LjIgMzg5LjQwMSAxNjkuMkM0MDYuMjAxIDE3MC40IDM3Ny40MDEgMTU5LjIgMzc3LjQwMSAxNTkuMkMzODUuNDAxIDE1OS4yIDM2Ny40MDEgMTQ4LjggMzY3LjQwMSAxNDguOEMzNjUuNDAxIDE0Ny4yIDM2Mi4yMDEgMTM5LjYgMzYyLjIwMSAxMzkuNkMzNTYuMjAxIDEzNC40IDM1MS40MDEgMTI3LjYgMzUxLjQwMSAxMjcuNkMzNTEuMDAxIDEyMy4yIDM0Ni4yMDEgMTE4LjQgMzQ2LjIwMSAxMTguNEMzMzQuNjAxIDEwNC44IDMyOS4wMDEgMTA1LjIgMzI5LjAwMSAxMDUuMkMzMTQuMjAxIDEwMS42IDMwOS4wMDEgMTAyLjQgMzA5LjAwMSAxMDIuNEwyNTYuMiAxMDYuOEMyMjkuOCAxMTkuNiAyMzcuNiAxNDAuNiAyMzcuNiAxNDAuNkMyNDQgMTQ5IDI1My4yIDE0NS4yIDI1My4yIDE0NS4yQzI1Ny44IDEzOSAyNjkuNCAxNDEuMiAyNjkuNCAxNDEuMkMyODkuODAxIDE0NC40IDI4Ny4yMDEgMTQwLjggMjg3LjIwMSAxNDAuOEMyODQuODAxIDEzNi4yIDI2OC42IDEzMCAyNjguNCAxMjkuNEMyNjguMiAxMjguOCAyNTkuNCAxMjUuNCAyNTkuNCAxMjUuNEMyNTYuNCAxMjQuMiAyNTIgMTE1IDI1MiAxMTVDMjQ4LjggMTExLjYgMjY0LjYgMTE3LjQgMjY0LjYgMTE3LjRDMjYzLjQgMTE4LjQgMjcwLjggMTIyLjQgMjcwLjggMTIyLjRDMjg4LjIwMSAxMjEuNCAyOTguODAxIDEzMi4yIDI5OC44MDEgMTMyLjJDMzA5LjYwMSAxNDguOCAzMDkuODAxIDE0MC42IDMwOS44MDEgMTQwLjZDMzEyLjYwMSAxMzEuMiAzMDAuODAxIDExMCAzMDAuODAxIDExMEMzMDEuMjAxIDEwOCAzMDkuNDAxIDExNC42IDMwOS40MDEgMTE0LjZDMzEwLjgwMSAxMTIuNiAzMTEuNjAxIDExOC40IDMxMS42MDEgMTE4LjRDMzExLjgwMSAxMjAuOCAzMTUuNjAxIDEyOC44IDMxNS42MDEgMTI4LjhDMzE4LjQwMSAxNDEuOCAzMjIuMDAxIDEzNC40IDMyMi4wMDEgMTM0LjRMMzI2LjYwMSAxNDMuOEMzMjguMDAxIDE0Ni40IDMyMi4wMDEgMTU0IDMyMi4wMDEgMTU0QzMyMS44MDEgMTU2LjggMzIyLjYwMSAxNTYuNiAzMTcuMDAxIDE2NC4yQzMxMS40MDEgMTcxLjggMzE0LjgwMSAxNzYuMiAzMTQuODAxIDE3Ni4yQzMxMy40MDEgMTgyLjggMzIyLjIwMSAxODIuNCAzMjIuMjAxIDE4Mi40QzMyNC44MDEgMTg0LjYgMzI4LjIwMSAxODQuNiAzMjguMjAxIDE4NC42QzMzMC4wMDEgMTg2LjYgMzMyLjQwMSAxODYgMzMyLjQwMSAxODZDMzM0LjAwMSAxODIuMiAzNDAuMjAxIDE4NC4yIDM0MC4yMDEgMTg0LjJDMzQxLjYwMSAxODEuOCAzNDkuODAxIDE4MS40IDM0OS44MDEgMTgxLjRDMzUwLjgwMSAxNzguOCAzNTEuMjAxIDE3Ny4yIDM1NC42MDEgMTc2LjZDMzU4LjAwMSAxNzYgMzMzLjQwMSAxMzMgMzMzLjQwMSAxMzNDMzM5LjgwMSAxMzIuMiAzMzEuNjAxIDExOS44IDMzMS42MDEgMTE5LjhDMzI5LjQwMSAxMTMuMiAzNDAuODAxIDEyNy44IDM0My4wMDEgMTI5LjJDMzQ1LjIwMSAxMzAuNiAzNDYuMjAxIDEzMi44IDM0NC42MDEgMTMyLjZDMzQzLjAwMSAxMzIuNCAzNDEuMjAxIDEzNC42IDM0Mi42MDEgMTM0LjhDMzQ0LjAwMSAxMzUgMzU3LjAwMSAxNTAgMzYwLjQwMSAxNjAuMkMzNjMuODAxIDE3MC40IDM2OS44MDEgMTc0LjQgMzc2LjAwMSAxODAuNEMzODIuMjAxIDE4Ni40IDM4MS40MDEgMjEwLjYgMzgxLjQwMSAyMTAuNkMzODEuMDAxIDIxOS40IDM4Ny4wMDEgMjMwIDM4Ny4wMDEgMjMwQzM4OS4wMDEgMjMzLjggMzg0LjgwMSAyNTIgMzg0LjgwMSAyNTJDMzgyLjgwMSAyNTQuMiAzODQuMjAxIDI1NSAzODQuMjAxIDI1NUMzODUuMjAxIDI1Ni4yIDM5Mi4wMDEgMjY5LjQgMzkyLjAwMSAyNjkuNEMzOTAuMjAxIDI2OS4yIDM5My44MDEgMjcyLjggMzkzLjgwMSAyNzIuOEMzOTkuMDAxIDI3OC44IDM5Mi42MDEgMjc1LjggMzkyLjYwMSAyNzUuOEMzODYuNjAxIDI3NC4yIDM5My42MDEgMjg0IDM5My42MDEgMjg0QzM5NC44MDEgMjg1LjggMzg1LjgwMSAyODEuMiAzODUuODAxIDI4MS4yQzM3Ni42MDEgMjgwLjYgMzg4LjIwMSAyODcuOCAzODguMjAxIDI4Ny44QzM5Ni44MDEgMjk1IDM4NS40MDEgMjkwLjYgMzg1LjQwMSAyOTAuNkMzODAuODAxIDI4OC44IDM4NC4wMDEgMjk1LjYgMzg0LjAwMSAyOTUuNkMzODcuMjAxIDI5Ny4yIDQwNC40MDEgMzA0LjIgNDA0LjQwMSAzMDQuMkM0MDQuODAxIDMwOC4wMDEgNDAxLjgwMSAzMTMuMDAxIDQwMS44MDEgMzEzLjAwMUM0MDIuMjAxIDMxNy4wMDEgNDAwLjAwMSAzMjAuNDAxIDQwMC4wMDEgMzIwLjQwMUMzOTguODAxIDMyOC42MDEgMzk4LjIwMSAzMjkuNDAxIDM5OC4yMDEgMzI5LjQwMUMzOTQuMDAxIDMyOS42MDEgMzg2LjYwMSAzNDMuNDAxIDM4Ni42MDEgMzQzLjQwMUMzODQuODAxIDM0Ni4wMDEgMzc0LjYwMSAzNTguMDAxIDM3NC42MDEgMzU4LjAwMUMzNzIuNjAxIDM2NS4wMDEgMzU0LjYwMSAzNTcuODAxIDM1NC42MDEgMzU3LjgwMUMzNDguMDAxIDM2MS4yMDEgMzUwLjAwMSAzNTcuODAxIDM1MC4wMDEgMzU3LjgwMUMzNDkuNjAxIDM1NS42MDEgMzU0LjQwMSAzNDkuNjAxIDM1NC40MDEgMzQ5LjYwMUMzNjEuNDAxIDM0Ny4wMDEgMzU4LjgwMSAzMzYuMjAxIDM1OC44MDEgMzM2LjIwMUMzNjIuODAxIDMzNC44MDEgMzUxLjYwMSAzMzIuMDAxIDM1MS44MDEgMzMwLjgwMUMzNTIuMDAxIDMyOS42MDEgMzU3LjgwMSAzMjguMjAxIDM1Ny44MDEgMzI4LjIwMUMzNjUuODAxIDMyNi4yMDEgMzYxLjQwMSAzMjMuODAxIDM2MS40MDEgMzIzLjgwMUMzNjAuODAxIDMxOS44MDEgMzYzLjgwMSAzMTQuMjAxIDM2My44MDEgMzE0LjIwMUMzNzUuNDAxIDMxMy40MDEgMzYzLjgwMSAyOTcuMiAzNjMuODAxIDI5Ny4yQzM1My4wMDEgMjg5LjYgMzUyLjAwMSAyODMuOCAzNTIuMDAxIDI4My44QzM2NC42MDEgMjc1LjYgMzU2LjQwMSAyNjMuMiAzNTYuNjAxIDI1OS42QzM1Ni44MDEgMjU2IDM1OC4wMDEgMjM0LjQgMzU4LjAwMSAyMzQuNEMzNTYuMDAxIDIyOC4yIDM1My4wMDEgMjE0LjYgMzUzLjAwMSAyMTQuNkMzNTUuMjAxIDIwOS40IDM2Mi42MDEgMTk2LjggMzYyLjYwMSAxOTYuOEMzNjUuNDAxIDE5Mi42IDM3NC4yMDEgMTg3LjggMzcyLjAwMSAxODQuOEMzNjkuODAxIDE4MS44IDM2Mi4wMDEgMTgzLjYgMzYyLjAwMSAxODMuNkMzNTQuMjAxIDE4Mi4yIDM1NC44MDEgMTg3LjQgMzU0LjgwMSAxODcuNEMzNTMuMjAxIDE4OC40IDM1Mi40MDEgMTkzLjQgMzUyLjQwMSAxOTMuNEMzNTEuNjggMjAxLjMzMyAzNDIuODAxIDIwNy42IDM0Mi44MDEgMjA3LjZDMzMxLjYwMSAyMTMuOCAzNDAuODAxIDIxNy44IDM0MC44MDEgMjE3LjhDMzQ2LjgwMSAyMjQuNCAzMzcuMDAxIDIyNC42IDMzNy4wMDEgMjI0LjZDMzI2LjAwMSAyMjIuOCAzMzQuMjAxIDIzMyAzMzQuMjAxIDIzM0MzNDUuMDAxIDI0NS44IDM0Mi4wMDEgMjQ4LjYgMzQyLjAwMSAyNDguNkMzMzEuODAxIDI0OS42IDM0NC40MDEgMjU4LjggMzQ0LjQwMSAyNTguOEMzNDQuNDAxIDI1OC44IDM0My42MDEgMjU2LjggMzQzLjgwMSAyNTguNkMzNDQuMDAxIDI2MC40IDM0Ny4wMDEgMjY0LjYgMzQ3LjgwMSAyNjYuNkMzNDguNjAxIDI2OC42IDM0NC42MDEgMjY4LjggMzQ0LjYwMSAyNjguOEMzNDUuMjAxIDI3OC40IDMyOS44MDEgMjc0LjIgMzI5LjgwMSAyNzQuMkMzMjkuODAxIDI3NC4yIDMyOS44MDEgMjc0LjIgMzI4LjIwMSAyNzQuNEMzMjYuNjAxIDI3NC42IDMxNS40MDEgMjczLjggMzA5LjYwMSAyNzEuNkMzMDMuODAxIDI2OS40IDI5Ny4wMDEgMjY5LjQgMjk3LjAwMSAyNjkuNEMyOTcuMDAxIDI2OS40IDI5My4wMDEgMjcxLjIgMjg1LjQgMjcxQzI3Ny44IDI3MC44IDI2OS44IDI3My42IDI2OS44IDI3My42QzI2NS40IDI3My4yIDI3NCAyNjguOCAyNzQuMiAyNjlDMjc0LjQgMjY5LjIgMjgwIDI2My42IDI3MiAyNjQuMkMyNTAuMjAzIDI2NS44MzUgMjM5LjQgMjU1LjYgMjM5LjQgMjU1LjZDMjM3LjQgMjU0LjIgMjM0LjggMjUxLjQgMjM0LjggMjUxLjRDMjI0LjggMjQ5LjQgMjM2LjIgMjYzLjggMjM2LjIgMjYzLjhDMjM3LjQgMjY1LjIgMjM2IDI2Ni4yIDIzNiAyNjYuMkMyMzUuMiAyNjQuNiAyMjcuNCAyNTkuMiAyMjcuNCAyNTkuMkMyMjQuNTg5IDI1OC4yMjcgMjIzLjIyNiAyNTYuODkzIDIyMC44OTUgMjU0LjQwN3oiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICM0YzAwMDAiPgorICA8cGF0aCBkPSJNMTk3IDI0Mi44QzE5NyAyNDIuOCAyMDguNiAyNDguNCAyMTEuMiAyNTEuMkMyMTMuOCAyNTQgMjI3LjggMjY1LjQgMjI3LjggMjY1LjRDMjI3LjggMjY1LjQgMjIyLjQgMjYzLjQgMjE5LjggMjYxLjZDMjE3LjIgMjU5LjggMjA2LjQgMjUxLjYgMjA2LjQgMjUxLjZDMjA2LjQgMjUxLjYgMjAyLjYgMjQ1LjYgMTk3IDI0Mi44eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzk5Y2MzMiI+CisgIDxwYXRoIGQ9Ik0xMzguOTkxIDIxMS42MDNDMTM5LjMyOCAyMTEuNDU1IDEzOC44MDQgMjA4Ljc0MyAxMzguNiAyMDguMkMxMzcuNTc4IDIwNS40NzQgMTI4LjYgMjA0IDEyOC42IDIwNEMxMjguMzczIDIwNS4zNjUgMTI4LjMxOCAyMDYuOTYxIDEyOC40MjQgMjA4LjU5OUMxMjguNDI0IDIwOC41OTkgMTMzLjI5MiAyMTQuMTE4IDEzOC45OTEgMjExLjYwM3oiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICM2NTk5MDAiPgorICA8cGF0aCBkPSJNMTM4Ljk5MSAyMTEuNDAzQzEzOC41NDIgMjExLjU2MSAxMzguOTc2IDIwOC42NjkgMTM4LjggMjA4LjJDMTM3Ljc3OCAyMDUuNDc0IDEyOC42IDIwMy45IDEyOC42IDIwMy45QzEyOC4zNzMgMjA1LjI2NSAxMjguMzE4IDIwNi44NjEgMTI4LjQyNCAyMDguNDk5QzEyOC40MjQgMjA4LjQ5OSAxMzIuNjkyIDIxMy42MTggMTM4Ljk5MSAyMTEuNDAzeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0xMzQuNiAyMTEuNTQ2QzEzMy45NzUgMjExLjU0NiAxMzMuNDY5IDIxMC40MDYgMTMzLjQ2OSAyMDlDMTMzLjQ2OSAyMDcuNTk1IDEzMy45NzUgMjA2LjQ1NSAxMzQuNiAyMDYuNDU1QzEzNS4yMjUgMjA2LjQ1NSAxMzUuNzMyIDIwNy41OTUgMTM1LjczMiAyMDlDMTM1LjczMiAyMTAuNDA2IDEzNS4yMjUgMjExLjU0NiAxMzQuNiAyMTEuNTQ2eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0xMzQuNiAyMDl6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjMDAwMDAwIj4KKyAgPHBhdGggZD0iTTg5IDMwOS42MDFDODkgMzA5LjYwMSA4My40IDMxOS42MDEgMTA4LjIgMzEzLjYwMUMxMDguMiAzMTMuNjAxIDEyMi4yIDMxMi40MDEgMTI0LjYgMzEwLjAwMUMxMjUuOCAzMTAuODAxIDEzNC4xNjYgMzEzLjczNCAxMzcgMzE0LjQwMUMxNDMuOCAzMTYuMDAxIDE1Mi4yIDMwNiAxNTIuMiAzMDZDMTUyLjIgMzA2IDE1Ni44IDI5NS41IDE1OS42IDI5NS41QzE2Mi40IDI5NS41IDE1OS4yIDI5Ny4xIDE1OS4yIDI5Ny4xQzE1OS4yIDI5Ny4xIDE1Mi42IDMwNy4yMDEgMTUzIDMwOC44MDFDMTUzIDMwOC44MDEgMTQ3LjggMzI4LjgwMSAxMzEuOCAzMjkuNjAxQzEzMS44IDMyOS42MDEgMTE1LjY1IDMzMC41NTEgMTE3IDMzNi40MDFDMTE3IDMzNi40MDEgMTI1LjggMzM0LjAwMSAxMjguMiAzMzYuNDAxQzEyOC4yIDMzNi40MDEgMTM5IDMzNi4wMDEgMTMxIDM0Mi40MDFMMTI0LjIgMzU0LjAwMUMxMjQuMiAzNTQuMDAxIDEyNC4zNCAzNTcuOTE5IDExNC4yIDM1NC40MDFDMTA0LjQgMzUxLjAwMSA5NC4xIDMzOC4xMDEgOTQuMSAzMzguMTAxQzk0LjEgMzM4LjEwMSA3OC4xNSAzMjMuNTUxIDg5IDMwOS42MDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZTU5OTk5Ij4KKyAgPHBhdGggZD0iTTg3LjggMzEzLjYwMUM4Ny44IDMxMy42MDEgODUuOCAzMjMuMjAxIDEyMi42IDMxMi44MDFDMTIyLjYgMzEyLjgwMSAxMjcgMzEyLjgwMSAxMjkuNCAzMTMuNjAxQzEzMS44IDMxNC40MDEgMTQzLjggMzE3LjIwMSAxNDUuOCAzMTYuMDAxQzE0NS44IDMxNi4wMDEgMTM4LjYgMzI5LjYwMSAxMjcgMzI4LjAwMUMxMjcgMzI4LjAwMSAxMTMuOCAzMjkuNjAxIDExNC4yIDMzNC40MDFDMTE0LjIgMzM0LjQwMSAxMTguMiAzNDEuNjAxIDEyMyAzNDQuMDAxQzEyMyAzNDQuMDAxIDEyNS44IDM0Ni40MDEgMTI1LjQgMzQ5LjYwMUMxMjUgMzUyLjgwMSAxMjIuMiAzNTQuNDAxIDEyMC4yIDM1NS4yMDFDMTE4LjIgMzU2LjAwMSAxMTUgMzUyLjgwMSAxMTMuNCAzNTIuODAxQzExMS44IDM1Mi44MDEgMTAzLjQgMzQ2LjQwMSA5OSAzNDEuNjAxQzk0LjYgMzM2LjgwMSA4Ni4yIDMyNC44MDEgODYuNiAzMjIuMDAxQzg3IDMxOS4yMDEgODcuOCAzMTMuNjAxIDg3LjggMzEzLjYwMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNiMjY1NjUiPgorICA8cGF0aCBkPSJNOTEgMzMxLjA1MUM5My42IDMzNS4wMDEgOTYuOCAzMzkuMjAxIDk5IDM0MS42MDFDMTAzLjQgMzQ2LjQwMSAxMTEuOCAzNTIuODAxIDExMy40IDM1Mi44MDFDMTE1IDM1Mi44MDEgMTE4LjIgMzU2LjAwMSAxMjAuMiAzNTUuMjAxQzEyMi4yIDM1NC40MDEgMTI1IDM1Mi44MDEgMTI1LjQgMzQ5LjYwMUMxMjUuOCAzNDYuNDAxIDEyMyAzNDQuMDAxIDEyMyAzNDQuMDAxQzExOS45MzQgMzQyLjQ2OCAxMTcuMTk0IDMzOC45NzYgMTE1LjYxNSAzMzYuNjUzQzExNS42MTUgMzM2LjY1MyAxMTUuOCAzMzkuMjAxIDExMC42IDMzOC40MDFDMTA1LjQgMzM3LjYwMSAxMDAuMiAzMzQuODAxIDk4LjYgMzMxLjYwMUM5NyAzMjguNDAxIDk0LjYgMzI2LjAwMSA5Ni4yIDMyOS42MDFDOTcuOCAzMzMuMjAxIDEwMC4yIDMzNi44MDEgMTAxLjggMzM3LjIwMUMxMDMuNCAzMzcuNjAxIDEwMyAzMzguODAxIDEwMC42IDMzOC40MDFDOTguMiAzMzguMDAxIDk1LjQgMzM3LjYwMSA5MSAzMzIuNDAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzk5MjYwMCI+CisgIDxwYXRoIGQ9Ik04OC40IDMxMC4wMDFDODguNCAzMTAuMDAxIDkwLjIgMjk2LjQgOTEuNCAyOTIuNEM5MS40IDI5Mi40IDkwLjYgMjg1LjYgOTMgMjgxLjRDOTUuNCAyNzcuMiA5Ny40IDI3MSAxMDAuNCAyNjUuNkMxMDMuNCAyNjAuMiAxMDMuNiAyNTYuMiAxMDcuNiAyNTQuNkMxMTEuNiAyNTMgMTE3LjYgMjQ0LjQgMTIwLjQgMjQzLjRDMTIzLjIgMjQyLjQgMTIzIDI0My4yIDEyMyAyNDMuMkMxMjMgMjQzLjIgMTI5LjggMjI4LjQgMTQzLjQgMjMyLjRDMTQzLjQgMjMyLjQgMTI3LjIgMjI5LjYgMTQzIDIyMC4yQzE0MyAyMjAuMiAxMzguMiAyMjEuMyAxNDEuNSAyMTQuM0MxNDMuNzAxIDIwOS42MzIgMTQzLjIgMjE2LjQgMTMyLjIgMjI4LjJDMTMyLjIgMjI4LjIgMTI3LjIgMjM2LjggMTIyIDIzOS44QzExNi44IDI0Mi44IDEwNC44IDI0OS44IDEwMy42IDI1My42QzEwMi40IDI1Ny40IDk5LjIgMjYzLjIgOTcuMiAyNjQuOEM5NS4yIDI2Ni40IDkyLjQgMjcwLjYgOTIgMjc0QzkyIDI3NCA5MC44IDI3OCA4OS40IDI3OS4yQzg4IDI4MC40IDg3LjggMjgzLjYgODcuOCAyODUuNkM4Ny44IDI4Ny42IDg1LjggMjkwLjQgODYgMjkyLjhDODYgMjkyLjggODYuOCAzMTEuODAxIDg2LjQgMzEzLjgwMUw4OC40IDMxMC4wMDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmZmIj4KKyAgPHBhdGggZD0iTTc5LjggMzE0LjYwMUM3OS44IDMxNC42MDEgNzcuOCAzMTMuMjAxIDczLjQgMzE5LjIwMUM3My40IDMxOS4yMDEgODAuNyAzNTIuMjAxIDgwLjcgMzUzLjYwMUM4MC43IDM1My42MDEgODEuOCAzNTEuNTAxIDgwLjUgMzQ0LjMwMUM3OS4yIDMzNy4xMDEgNzguMyAzMjQuNDAxIDc4LjMgMzI0LjQwMUw3OS44IDMxNC42MDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjOTkyNjAwIj4KKyAgPHBhdGggZD0iTTEwMS40IDI1NEMxMDEuNCAyNTQgODMuOCAyNTcuMiA4NC4yIDI4Ni40TDgzLjQgMzExLjIwMUM4My40IDMxMS4yMDEgODIuMiAyODUuNiA4MSAyODRDNzkuOCAyODIuNCA4My44IDI3MS4yIDgwLjYgMjc3LjJDODAuNiAyNzcuMiA2Ni42IDI5MS4yIDc0LjYgMzEyLjQwMUM3NC42IDMxMi40MDEgNzYuMSAzMTUuNzAxIDczLjEgMzExLjEwMUM3My4xIDMxMS4xMDEgNjguNSAyOTguNSA2OS42IDI5Mi4xQzY5LjYgMjkyLjEgNjkuOCAyODkuOSA3MS43IDI4Ny4xQzcxLjcgMjg3LjEgODAuMyAyNzUuNCA4MyAyNzMuMUM4MyAyNzMuMSA4NC44IDI1OC43IDEwMC4yIDI1My41QzEwMC4yIDI1My41IDEwNS45IDI1MS4yIDEwMS40IDI1NHoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICMwMDAwMDAiPgorICA8cGF0aCBkPSJNMjQwLjggMTg3LjhDMjQxLjQ2IDE4Ny40NDYgMjQxLjQ1MSAxODYuNDc2IDI0Mi4wMzEgMTg2LjMwM0MyNDMuMTggMTg1Ljk1OSAyNDMuMzQ0IDE4NC44OTIgMjQzLjg2MiAxODQuMTA4QzI0NC43MzUgMTgyLjc4OSAyNDQuOTI4IDE4MS4yNTYgMjQ1LjUxIDE3OS43NjVDMjQ1Ljc4MiAxNzkuMDY1IDI0NS44MDkgMTc4LjExIDI0NS40OTYgMTc3LjQ1QzI0NC4zMjIgMTc0Ljk2OSAyNDMuNjIgMTcyLjUyIDI0Mi4xNzggMTcwLjA5NEMyNDEuOTEgMTY5LjY0NCAyNDEuNjQ4IDE2OC44NSAyNDEuNDQ3IDE2OC4yNTJDMjQwLjk4NCAxNjYuODY4IDIzOS43MjcgMTY1Ljg3NyAyMzguODY3IDE2NC41NTdDMjM4LjU3OSAxNjQuMTE2IDIzOS4xMDQgMTYzLjE5MSAyMzguMzg4IDE2My4xMDdDMjM3LjQ5MSAxNjMuMDAyIDIzNi4wNDIgMTYyLjQyMiAyMzUuODA5IDE2My40NDhDMjM1LjIyMSAxNjYuMDM1IDIzNi4yMzIgMTY4LjU1OCAyMzcuMiAxNzFDMjM2LjQxOCAxNzEuNjkyIDIzNi43NTIgMTcyLjYxMyAyMzYuOTA0IDE3My4zOEMyMzcuNjE0IDE3Ni45ODYgMjM2LjQxNiAxODAuMzM4IDIzNS42NTUgMTgzLjgxMkMyMzUuNjMyIDE4My45MTYgMjM1Ljk3NCAxODQuMTE0IDIzNS45NDYgMTg0LjE3NkMyMzQuNzI0IDE4Ni44NjIgMjMzLjI3MiAxODkuMzA3IDIzMS40NTMgMTkxLjY4OEMyMzAuNjk1IDE5Mi42OCAyMjkuODIzIDE5My41OTYgMjI5LjMyNiAxOTQuNjU5QzIyOC45NTggMTk1LjQ0NiAyMjguNTUgMTk2LjQxMiAyMjguOCAxOTcuNEMyMjUuMzY1IDIwMC4xOCAyMjMuMTE1IDIwNC4wMjUgMjIwLjUwNCAyMDcuODcxQzIyMC4wNDIgMjA4LjU1MSAyMjAuMzMzIDIwOS43NiAyMjAuODg0IDIxMC4wMjlDMjIxLjY5NyAyMTAuNDI3IDIyMi42NTMgMjA5LjQwMyAyMjMuMTIzIDIwOC41NTdDMjIzLjUxMiAyMDcuODU5IDIyMy44NjUgMjA3LjIwOSAyMjQuMzU2IDIwNi41NjZDMjI0LjQ4OSAyMDYuMzkxIDIyNC4zMSAyMDUuOTcyIDIyNC40NDUgMjA1Ljg1MUMyMjcuMDc4IDIwMy41MDQgMjI4Ljc0NyAyMDAuNTY4IDIzMS4yIDE5OC4yQzIzMy4xNSAxOTcuODcxIDIzNC42ODcgMTk2Ljg3MyAyMzYuNDM1IDE5NS44NkMyMzYuNzQzIDE5NS42ODEgMjM3LjI2NyAxOTUuOTMgMjM3LjU1NyAxOTUuNzM1QzIzOS4zMSAxOTQuNTU4IDIzOS4zMDggMTkyLjUyMiAyMzkuNDE0IDE5MC42MTJDMjM5LjQ2NCAxODkuNzI4IDIzOS42NiAxODguNDExIDI0MC44IDE4Ny44eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0yMzEuOTU5IDE4My4zMzRDMjMyLjA4MyAxODMuMjU3IDIzMS45MjggMTgyLjgzNCAyMzIuMDM3IDE4Mi42MThDMjMyLjE5OSAxODIuMjk0IDIzMi42MDIgMTgyLjEwNiAyMzIuNzY0IDE4MS43ODJDMjMyLjg3MyAxODEuNTY2IDIzMi43MSAxODEuMTg2IDIzMi44NDYgMTgxLjA0NEMyMzUuMTc5IDE3OC41OTcgMjM1LjQzNiAxNzUuNTczIDIzNC40IDE3Mi42QzIzNS40MjQgMTcxLjk4IDIzNS40ODUgMTcwLjcxOCAyMzUuMDYgMTY5Ljg3MUMyMzQuMjA3IDE2OC4xNzEgMjM0LjAxNCAxNjYuMjQ1IDIzMy4wMzkgMTY0LjcwMkMyMzIuMjM3IDE2My40MzMgMjMwLjY1OSAxNjIuMTg5IDIyOS4yODggMTYzLjQ5MkMyMjguODY3IDE2My44OTIgMjI4LjU0NiAxNjQuNjc5IDIyOC44MjQgMTY1LjM5MUMyMjguODg4IDE2NS41NTQgMjI5LjE3MyAxNjUuNyAyMjkuMTQ2IDE2NS43ODJDMjI5LjAzOSAxNjYuMTA2IDIyOC40OTMgMTY2LjMzIDIyOC40ODcgMTY2LjYwMkMyMjguNDU3IDE2OC4wOTggMjI3LjUwMyAxNjkuNjA5IDIyOC4xMzMgMTcwLjkzOEMyMjguOTA1IDE3Mi41NjcgMjI5LjcyNCAxNzQuNDI0IDIzMC40IDE3Ni4yQzIyOS4xNjYgMTc4LjMxNiAyMzAuMTk5IDE4MC43NjUgMjI4LjQ0NiAxODIuNjQyQzIyOC4zMSAxODIuNzg4IDIyOC4zMTkgMTgzLjE3NCAyMjguNDQxIDE4My4zNzZDMjI4LjczMyAxODMuODYyIDIyOS4xMzkgMTg0LjI2OCAyMjkuNjI1IDE4NC41NkMyMjkuODI3IDE4NC42ODEgMjMwLjE3NSAxODQuNjgzIDIzMC4zNzUgMTg0LjU1OUMyMzAuOTUzIDE4NC4xOTcgMjMxLjM1MSAxODMuNzEgMjMxLjk1OSAxODMuMzM0eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0yOTQuNzcxIDE3My4wMjNDMjk2LjE2IDE3NC44MTUgMjk2LjQ1IDE3Ny42MSAyOTQuNDAxIDE3OUMyOTQuOTUxIDE4Mi4zMDkgMjk4LjMwMiAxODAuMzMgMzAwLjQwMSAxNzkuOEMzMDAuMjkyIDE3OS40MTIgMzAwLjUxOSAxNzkuMDY4IDMwMC44MDIgMTc5LjA2M0MzMDEuODU5IDE3OS4wNDggMzAyLjUzOSAxNzguMDE2IDMwMy42MDEgMTc4LjJDMzA0LjAzNSAxNzYuNjQzIDMwNS42NzMgMTc1Ljk0MSAzMDYuMzE3IDE3NC41NjFDMzA4LjA0MyAxNzAuODY2IDMwNy40NTIgMTY2LjU5MyAzMDQuODY4IDE2My4zNDdDMzA0LjY2NiAxNjMuMDkzIDMwNC44ODMgMTYyLjU3NiAzMDQuNzU5IDE2Mi4yMTRDMzA0LjAwMyAxNjAuMDAzIDMwMS45MzUgMTU5LjY4OCAzMDAuMDAxIDE1OUMyOTguODI0IDE1NS4xMjUgMjk4LjE2MyAxNTEuMDk0IDI5Ni40MDEgMTQ3LjRDMjk0Ljc4NyAxNDcuMTUgMjk0LjA4OSAxNDUuNDExIDI5Mi43NTIgMTQ0LjY5MUMyOTEuNDE5IDE0My45NzIgMjkwLjg1MSAxNDUuNTUxIDI5MC44OTIgMTQ2LjU5N0MyOTAuODk5IDE0Ni44MDIgMjkxLjM1MSAxNDcuMDI2IDI5MS4xODEgMTQ3LjM5MUMyOTEuMTA1IDE0Ny41NTUgMjkwLjg0NSAxNDcuNjY2IDI5MC44NDUgMTQ3LjhDMjkwLjg0NiAxNDcuOTM1IDI5MS4wNjcgMTQ4LjA2NiAyOTEuMjAxIDE0OC4yQzI5MC4yODMgMTQ5LjAyIDI4OC44NiAxNDkuNDk3IDI4OC41NjUgMTUwLjY0MkMyODcuNjExIDE1NC4zNTIgMjkwLjE4NCAxNTcuNDc3IDI5MS44NTIgMTYwLjY3OEMyOTIuNDQzIDE2MS44MTMgMjkxLjcwNyAxNjMuMDg0IDI5MC45NDcgMTY0LjI5MkMyOTAuNTA5IDE2NC45ODcgMjkwLjYxNyAxNjYuMTE0IDI5MC44OTMgMTY2Ljk3QzI5MS42NDUgMTY5LjMwMSAyOTMuMjM2IDE3MS4wNCAyOTQuNzcxIDE3My4wMjN6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjMDAwMDAwIj4KKyAgPHBhdGggZD0iTTI1Ny42MTEgMTkxLjQwOUMyNTYuMTI0IDE5My4yNiAyNTIuNzEyIDE5NS44MjkgMjU1LjYyOSAxOTcuNzU3QzI1NS44MjMgMTk3Ljg4NiAyNTYuMTkzIDE5Ny44OSAyNTYuMzY2IDE5Ny43NTZDMjU4LjM4NyAxOTYuMTkxIDI2MC4zOSAxOTUuMjg4IDI2Mi44MjYgMTk0LjcwNkMyNjIuOTUgMTk0LjY3NyAyNjMuMjI0IDE5NS4xNDQgMjYzLjU5MyAxOTQuOTgzQzI2NS4yMDYgMTk0LjI4IDI2Ny4yMTYgMTk0LjMzOCAyNjguNCAxOTNDMjcyLjE2NyAxOTMuMjI0IDI3NS43MzIgMTkyLjEwOCAyNzkuMTIzIDE5MC44QzI4MC4yODQgMTkwLjM1MiAyODEuNTU0IDE4OS43OTMgMjgyLjc1NSAxODkuMjkxQzI4NC4xMzEgMTg4LjcxNSAyODUuMzM1IDE4Ny43ODcgMjg2LjQ0NyAxODYuNjQ2QzI4Ni41OCAxODYuNTEgMjg2LjkzNCAxODYuNiAyODcuMjAxIDE4Ni42QzI4Ny4xNjEgMTg1LjczNyAyODguMTIzIDE4NS42MSAyODguMzcgMTg0Ljk4OEMyODguNDYyIDE4NC43NTYgMjg4LjMxMiAxODQuMzYgMjg4LjQ0NSAxODQuMjU4QzI5MC41ODMgMTgyLjYyOCAyOTEuNTAzIDE4MC42MSAyOTAuMzM0IDE3OC4yMzNDMjkwLjA0OSAxNzcuNjU1IDI4OS44IDE3Ny4wMzcgMjg5LjIzNCAxNzYuNTYxQzI4OC4xNDkgMTc1LjY1IDI4Ny4wNDcgMTc2LjUwNCAyODYgMTc2LjJDMjg1Ljg0MSAxNzYuODI4IDI4NS4xMTIgMTc2LjY1NiAyODQuNzI2IDE3Ni44NTRDMjgzLjg2NyAxNzcuMjkzIDI4Mi41MzQgMTc2LjcwOCAyODEuNjc1IDE3Ny4xNDZDMjgwLjMxMyAxNzcuODQxIDI3OS4wNzIgMTc4LjAxIDI3Ny42NSAxNzguMzg3QzI3Ny4zMzggMTc4LjQ2OSAyNzYuNTYgMTc4LjM3MyAyNzYuNCAxNzlDMjc2LjI2NiAxNzguODY2IDI3Ni4xMTggMTc4LjYzMiAyNzYuMDEyIDE3OC42NTRDMjc0LjEwNCAxNzkuMDUgMjcyLjg0NCAxNzkuMjY0IDI3MS41NDMgMTgwLjk1NkMyNzEuNDQgMTgxLjA4OSAyNzAuOTk4IDE4MC45MSAyNzAuODM5IDE4MS4wNDVDMjY5Ljg4MiAxODEuODUzIDI2OS40NzcgMTgzLjA4NyAyNjguMzc2IDE4My43NTlDMjY4LjE3NSAxODMuODgyIDI2Ny44MjMgMTgzLjcxNCAyNjcuNjI5IDE4My44NDNDMjY2Ljk4MyAxODQuMjc0IDI2Ni42MTYgMTg0LjkxNSAyNjUuOTc0IDE4NS4zNjJDMjY1LjY0NSAxODUuNTkxIDI2NS4yNDUgMTg1LjI2NiAyNjUuMjc3IDE4NS4wMUMyNjUuNTIyIDE4My4wNjMgMjY2LjE3NSAxODEuMjc2IDI2NS42IDE3OS40QzI2Ny42NzcgMTc2Ljg4IDI3MC4xOTQgMTc0LjkzMSAyNzIgMTcyLjJDMjcyLjAxNSAxNzAuMDM0IDI3Mi43MDcgMTY3Ljg4OCAyNzIuNTk0IDE2NS44MTFDMjcyLjU4NCAxNjUuNjE4IDI3Mi4yOTYgMTY0Ljg4NSAyNzIuMTcgMTY0LjUzOEMyNzEuODU4IDE2My42ODQgMjcyLjc2NCAxNjIuNjE4IDI3MS45MiAxNjEuODk0QzI3MC41MTYgMTYwLjY5MSAyNjkuMjI0IDE2MS41NjcgMjY4LjQgMTYzQzI2Ni41NjIgMTYzLjM5IDI2NC40OTYgMTY0LjA4MyAyNjIuOTE4IDE2Mi44NDlDMjYxLjkxMSAxNjIuMDYyIDI2MS4zMzMgMTYxLjE1NiAyNjAuNTM0IDE2MC4xQzI1OS41NDkgMTU4Ljc5OCAyNTkuODg0IDE1Ny4zNjIgMjU5Ljk1NCAxNTUuNzk4QzI1OS45NiAxNTUuNjcgMjU5LjY0NSAxNTUuNTM0IDI1OS42NDUgMTU1LjRDMjU5LjY0NiAxNTUuMjY1IDI1OS44NjYgMTU1LjEzNCAyNjAgMTU1QzI1OS4yOTQgMTU0LjM3NCAyNTkuMDE5IDE1My4zMTYgMjU4IDE1M0MyNTguMzA1IDE1MS45MDggMjU3LjYyOSAxNTEuMDI0IDI1Ni43NTggMTUwLjcyMkMyNTQuNzYzIDE1MC4wMzEgMjUzLjA4NiAxNTEuOTQzIDI1MS4xOTQgMTUyLjAxNkMyNTAuNjggMTUyLjAzNSAyNTAuMjEzIDE1MC45OTcgMjQ5LjU2NCAxNTAuNjcyQzI0OS4xMzIgMTUwLjQ1NiAyNDguNDI4IDE1MC40MjMgMjQ4LjA2NiAxNTAuNjg5QzI0Ny4zNzggMTUxLjE5MyAyNDYuNzg5IDE1MS4zMDcgMjQ2LjAzMSAxNTEuNTEyQzI0NC40MTQgMTUxLjk0OCAyNDMuMTM2IDE1My4wNDIgMjQxLjY1NiAxNTMuODk3QzI0MC4xNzEgMTU0Ljc1NCAyMzkuMjE2IDE1Ni4xOTEgMjM4LjEzNiAxNTcuNTExQzIzNy4xOTUgMTU4LjY2MyAyMzcuMDU5IDE2MS4wNzcgMjM4LjQ3OSAxNjEuNTc3QzI0MC4zMjIgMTYyLjIyNyAyNDEuNjI2IDE1OS41MjQgMjQzLjU5MiAxNTkuODVDMjQzLjkwNCAxNTkuOTAxIDI0NC4xMSAxNjAuMjEyIDI0NCAxNjAuNkMyNDQuMzg5IDE2MC43MDkgMjQ0LjYwNyAxNjAuNDggMjQ0LjggMTYwLjJDMjQ1LjY1OCAxNjEuMjE5IDI0Ni44MjIgMTYxLjU1NiAyNDcuNzYgMTYyLjQyOUMyNDguNzMgMTYzLjMzMyAyNTAuNDc2IDE2Mi45MTUgMjUxLjQ5MSAxNjMuOTEyQzI1My4wMiAxNjUuNDE0IDI1Mi40NjEgMTY4LjA5NSAyNTQuNCAxNjkuNEMyNTMuODE0IDE3MC43MTMgMjUzLjIwNyAxNzEuOTkgMjUyLjg3MiAxNzMuNDE3QzI1Mi41OSAxNzQuNjIzIDI1My41ODQgMTc1LjgyIDI1NC43OTUgMTc1LjcyOUMyNTYuMDUzIDE3NS42MzUgMjU2LjMxNSAxNzQuODc2IDI1Ni44IDE3My44QzI1Ny4wNjcgMTc0LjA2NyAyNTcuNTM2IDE3NC4zNjQgMjU3LjQ5NSAxNzQuNThDMjU3LjAzOCAxNzYuOTY3IDI1Ni4wMTEgMTc4Ljk2IDI1NS41NTMgMTgxLjM5MUMyNTUuNDk0IDE4MS43MDggMjU1LjE4OSAxODEuOTEgMjU0LjggMTgxLjhDMjU0LjMzMiAxODUuOTQ5IDI1MC4yOCAxODguMzQzIDI0Ny43MzUgMTkxLjUwOEMyNDcuMzMyIDE5Mi4wMSAyNDcuMzI4IDE5My4yNTkgMjQ3LjczNyAxOTMuNjYyQzI0OS4xNCAxOTUuMDQ5IDI1MS4xIDE5My41MDMgMjUyLjggMTkzQzI1My4wMTMgMTkxLjc5NCAyNTMuODcyIDE5MC44NTIgMjU1LjIwNCAxOTAuOTA4QzI1NS40NiAxOTAuOTE4IDI1NS42OTUgMTkwLjM3NiAyNTYuMDE5IDE5MC4yNDZDMjU2LjM2NyAxOTAuMTA4IDI1Ni44NjkgMTkwLjMzMiAyNTcuMTU1IDE5MC4xMzRDMjU4Ljg4NCAxODguOTM5IDI2MC4yOTIgMTg3LjgzMyAyNjIuMDMgMTg2LjY0NEMyNjIuMjIyIDE4Ni41MTMgMjYyLjU2NiAxODYuNjcyIDI2Mi43ODIgMTg2LjU2NEMyNjMuMTA3IDE4Ni40MDIgMjYzLjI5NCAxODYuMDE1IDI2My42MTcgMTg1LjgzQzI2My45NjUgMTg1LjYzIDI2NC4yMDcgMTg1LjkyIDI2NC40IDE4Ni4yQzI2My43NTQgMTg2LjU0OSAyNjMuNzUgMTg3LjUwNiAyNjMuMTY4IDE4Ny43MDhDMjYyLjM5MyAxODcuOTc2IDI2MS44MzIgMTg4LjQ4OSAyNjEuMTU4IDE4OC45MzZDMjYwLjg2NiAxODkuMTI5IDI2MC4yMDcgMTg4Ljg4MSAyNjAuMTAzIDE4OS4wNkMyNTkuNTA1IDE5MC4wODggMjU4LjMyMSAxOTAuNTI2IDI1Ny42MTEgMTkxLjQwOXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICMwMDAwMDAiPgorICA8cGF0aCBkPSJNMjAyLjIgMTQyQzIwMi4yIDE0MiAxOTIuOTYyIDEzOS4xMjggMTgxLjggMTY0LjhDMTgxLjggMTY0LjggMTc5LjQgMTcwIDE3NyAxNzJDMTc0LjYgMTc0IDE2My40IDE3Ny42IDE2MS40IDE4MS42TDE1MSAxOTcuNkMxNTEgMTk3LjYgMTY1LjggMTgxLjYgMTY5IDE3OS4yQzE2OSAxNzkuMiAxNzcgMTcwLjggMTczLjggMTc3LjZDMTczLjggMTc3LjYgMTU5LjggMTg4LjQgMTYxIDE5Ny42QzE2MSAxOTcuNiAxNTUuNCAyMTIgMTU0LjYgMjE0QzE1NC42IDIxNCAxNzAuNiAxODIgMTczIDE4MC44QzE3NS40IDE3OS42IDE3Ni42IDE3OS42IDE3NS40IDE4My4yQzE3NC4yIDE4Ni44IDE3My44IDIwMy4yIDE3MSAyMDUuMkMxNzEgMjA1LjIgMTc5IDE4NC44IDE3OC4yIDE4MS42QzE3OC4yIDE4MS42IDE4MS40IDE3OCAxODMuOCAxODMuMkwxODIuNiAxOTkuMkwxODcgMjExLjJDMTg3IDIxMS4yIDE4NC42IDIwMCAxODYuMiAxODQuNEMxODYuMiAxODQuNCAxODQuMiAxNzQgMTg4LjIgMTc5LjZDMTkyLjIgMTg1LjIgMjAxLjggMTkxLjIgMjAxLjggMTk2QzIwMS44IDE5NiAxOTYuNiAxNzguNCAxODcuNCAxNzMuNkwxODMuNCAxNzkuNkwxODIuMiAxNzcuNkMxODIuMiAxNzcuNiAxNzguNiAxNzYuOCAxODMgMTcwQzE4Ny40IDE2My4yIDE4NyAxNjIuNCAxODcgMTYyLjRDMTg3IDE2Mi40IDE5My40IDE2OS42IDE5NSAxNjkuNkMxOTUgMTY5LjYgMjA4LjIgMTYyIDIwOS40IDE4Ni40QzIwOS40IDE4Ni40IDIxNi4yIDE3MiAyMDcgMTY1LjJDMjA3IDE2NS4yIDE5Mi4yIDE2My4yIDE5My40IDE1OEwyMDAuNiAxNDUuNkMyMDQuMiAxNDAuNCAyMDIuNiAxNDMuMiAyMDIuNiAxNDMuMnoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICMwMDAwMDAiPgorICA8cGF0aCBkPSJNMTgyLjIgMTU4LjRDMTgyLjIgMTU4LjQgMTY5LjQgMTU4LjQgMTY2LjIgMTYzLjZMMTU5IDE3My4yQzE1OSAxNzMuMiAxNzYuMiAxNjMuMiAxODAuMiAxNjJDMTg0LjIgMTYwLjggMTgyLjIgMTU4LjQgMTgyLjIgMTU4LjR6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjMDAwMDAwIj4KKyAgPHBhdGggZD0iTTE0Mi4yIDE2NC44QzE0Mi4yIDE2NC44IDE0MC4yIDE2NiAxMzkuOCAxNjguOEMxMzkuNCAxNzEuNiAxMzcgMTcyIDEzNy44IDE3NC44QzEzOC42IDE3Ny42IDE0MC42IDE4MCAxNDAuNiAxNzZDMTQwLjYgMTcyIDE0Mi4yIDE3MCAxNDMgMTY4LjhDMTQzLjggMTY3LjYgMTQ1LjQgMTYzLjIgMTQyLjIgMTY0Ljh6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjMDAwMDAwIj4KKyAgPHBhdGggZD0iTTEzMy40IDIyNkMxMzMuNCAyMjYgMTI1IDIyMiAxMjEuOCAyMTguNEMxMTguNiAyMTQuOCAxMTkuMDUyIDIxOS45NjYgMTE0LjIgMjE5LjZDMTA4LjM1MyAyMTkuMTU5IDEwOS40IDIwMy4yIDEwOS40IDIwMy4yTDEwNS40IDIxMC44QzEwNS40IDIxMC44IDEwNC4yIDIyNS4yIDExMi4yIDIyMi44QzExNi4xMDcgMjIxLjYyOCAxMTcuNCAyMjMuMiAxMTUuOCAyMjRDMTE0LjIgMjI0LjggMTIxLjQgMjI1LjIgMTE4LjYgMjI2LjhDMTE1LjggMjI4LjQgMTMwLjIgMjIzLjIgMTI3LjggMjMzLjZMMTMzLjQgMjI2eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0xMjAuOCAyNDAuNEMxMjAuOCAyNDAuNCAxMDUuNCAyNDQuOCAxMDEuOCAyMzUuMkMxMDEuOCAyMzUuMiA5NyAyMzcuNiA5OS4yIDI0MC42QzEwMS40IDI0My42IDEwMi42IDI0NCAxMDIuNiAyNDRDMTAyLjYgMjQ0IDEwOCAyNDUuMiAxMDcuNCAyNDZDMTA2LjggMjQ2LjggMTA0LjQgMjUwLjIgMTA0LjQgMjUwLjJDMTA0LjQgMjUwLjIgMTE0LjYgMjQ0LjIgMTIwLjggMjQwLjR6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmZmIj4KKyAgPHBhdGggZD0iTTM0OS4yMDEgMzE4LjYwMUMzNDguNzc0IDMyMC43MzUgMzQ3LjEwMyAzMjEuNTM2IDM0NS4yMDEgMzIyLjIwMUMzNDMuMjg0IDMyMS4yNDMgMzQwLjY4NiAzMTguMTM3IDMzOC44MDEgMzIwLjIwMUMzMzguMzI3IDMxOS43MjEgMzM3LjU0OCAzMTkuNjYxIDMzNy4yMDQgMzE4Ljk5OUMzMzYuNzM5IDMxOC4xMDEgMzM3LjAxMSAzMTcuMDU1IDMzNi42NjkgMzE2LjI1N0MzMzYuMTI0IDMxNC45ODUgMzM1LjQxNSAzMTMuNjE5IDMzNS42MDEgMzEyLjIwMUMzMzcuNDA3IDMxMS40ODkgMzM4LjAwMiAzMDkuNTgzIDMzNy41MjggMzA3LjgyQzMzNy40NTkgMzA3LjU2MyAzMzcuMDMgMzA3LjM2NiAzMzcuMjMgMzA3LjAxN0MzMzcuNDE2IDMwNi42OTQgMzM3LjczNCAzMDYuNDY3IDMzOC4wMDEgMzA2LjJDMzM3Ljg2NiAzMDYuMzM1IDMzNy43MjEgMzA2LjU2OCAzMzcuNjEgMzA2LjU0OEMzMzcgMzA2LjQ0MiAzMzcuMTI0IDMwNS44MDUgMzM3LjI1NCAzMDUuNDE4QzMzNy44MzkgMzAzLjY3MiAzMzkuODUzIDMwMy40MDggMzQxLjIwMSAzMDQuNkMzNDEuNDU3IDMwNC4wMzUgMzQxLjk2NiAzMDQuMjI5IDM0Mi40MDEgMzA0LjJDMzQyLjM1MSAzMDMuNjIxIDM0Mi43NTkgMzAzLjA5NCAzNDIuOTU3IDMwMi42NzRDMzQzLjQ3NSAzMDEuNTc2IDM0NS4xMDQgMzAyLjY4MiAzNDUuOTAxIDMwMi4wN0MzNDYuOTc3IDMwMS4yNDUgMzQ4LjA0IDMwMC41NDYgMzQ5LjExOCAzMDEuMTQ5QzM1MC45MjcgMzAyLjE2MiAzNTIuNjM2IDMwMy4zNzQgMzUzLjgzNSAzMDUuMTE1QzM1NC40MSAzMDUuOTQ5IDM1NC42NSAzMDcuMjMgMzU0LjU5MiAzMDguMTg4QzM1NC41NTQgMzA4LjgzNSAzNTMuMTczIDMwOC40ODMgMzUyLjgzIDMwOS40MTJDMzUyLjE4NSAzMTEuMTYgMzU0LjAxNiAzMTEuNjc5IDM1NC43NzIgMzEzLjAxN0MzNTQuOTcgMzEzLjM2NiAzNTQuNzA2IDMxMy42NyAzNTQuMzkxIDMxMy43NjhDMzUzLjk4IDMxMy44OTYgMzUzLjE5NiAzMTMuNzA3IDM1My4zMzQgMzE0LjE2QzM1NC4zMDYgMzE3LjM1MyAzNTEuNTUgMzE4LjAzMSAzNDkuMjAxIDMxOC42MDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmZmIj4KKyAgPHBhdGggZD0iTTMzOS42IDMzOC4yMDFDMzM5LjU5MyAzMzYuNDYzIDMzNy45OTIgMzM0LjcwNyAzMzkuMjAxIDMzMy4wMDFDMzM5LjMzNiAzMzMuMTM1IDMzOS40NjcgMzMzLjM1NiAzMzkuNjAxIDMzMy4zNTZDMzM5LjczNiAzMzMuMzU2IDMzOS44NjcgMzMzLjEzNSAzNDAuMDAxIDMzMy4wMDFDMzQxLjQ5NiAzMzUuMjE3IDM0NS4xNDggMzM2LjE0NSAzNDUuMDA2IDMzOC45OTFDMzQ0Ljk4NCAzMzkuNDM4IDM0My44OTcgMzQwLjM1NiAzNDQuODAxIDM0MS4wMDFDMzQyLjk4OCAzNDIuMzQ5IDM0Mi45MzMgMzQ0LjcxOSAzNDIuMDAxIDM0Ni42MDFDMzQwLjc2MyAzNDYuMzE1IDMzOS41NTEgMzQ1Ljk1MiAzMzguNDAxIDM0NS40MDFDMzM4Ljc1MyAzNDMuOTE1IDMzOC42MzYgMzQyLjIzMSAzMzkuNDU2IDM0MC45MTFDMzM5Ljg5IDM0MC4yMTMgMzM5LjYwMyAzMzkuMTM0IDMzOS42IDMzOC4yMDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjY2NjY2NjIj4KKyAgPHBhdGggZD0iTTE3My40IDMyOS4yMDFDMTczLjQgMzI5LjIwMSAxNTYuNTQyIDMzOS4zMzcgMTcwLjYgMzI0LjAwMUMxNzkuNCAzMTQuNDAxIDE4OS40IDMwOC44MDEgMTg5LjQgMzA4LjgwMUMxODkuNCAzMDguODAxIDE5OS44IDMwNC40IDIwMy40IDMwMy4yQzIwNyAzMDIgMjIyLjIgMjk2LjggMjI1LjQgMjk2LjRDMjI4LjYgMjk2IDIzOC4yIDI5MiAyNDUgMjk2QzI1MS44IDMwMCAyNTkuOCAzMDQuNCAyNTkuOCAzMDQuNEMyNTkuOCAzMDQuNCAyNDMuNCAyOTYgMjM5LjggMjk4LjRDMjM2LjIgMzAwLjggMjI5IDMwMC40IDIyMyAzMDMuNkMyMjMgMzAzLjYgMjA4LjIgMzA4LjAwMSAyMDUgMzEwLjAwMUMyMDEuOCAzMTIuMDAxIDE5MS40IDMyMy42MDEgMTg5LjggMzIyLjgwMUMxODguMiAzMjIuMDAxIDE5MC4yIDMyMS42MDEgMTkxLjQgMzE4LjgwMUMxOTIuNiAzMTYuMDAxIDE5MC42IDMxNC40MDEgMTgyLjYgMzIwLjgwMUMxNzQuNiAzMjcuMjAxIDE3My40IDMyOS4yMDEgMTczLjQgMzI5LjIwMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICMwMDAwMDAiPgorICA8cGF0aCBkPSJNMTgwLjgwNSAzMjMuMjM0QzE4MC44MDUgMzIzLjIzNCAxODIuMjE1IDMxMC4xOTQgMTkwLjY5MyAzMTEuODU5QzE5MC42OTMgMzExLjg1OSAxOTguOTE5IDMwNy42ODkgMjAxLjY0MSAzMDUuNzIxQzIwMS42NDEgMzA1LjcyMSAyMDkuNzggMzA0LjAxOSAyMTEuMDkgMzAzLjQwMkMyMjkuNTY5IDI5NC43MDIgMjQ0LjI4OCAyOTkuMjIxIDI0NC44MzUgMjk4LjEwMUMyNDUuMzgxIDI5Ni45ODIgMjY1LjAwNiAzMDQuMDk5IDI2OC42MTUgMzA4LjE4NUMyNjkuMDA2IDMwOC42MjggMjU4LjM4NCAzMDIuNTg4IDI0OC42ODYgMzAwLjY5N0MyNDAuNDEzIDI5OS4wODMgMjE4LjgxMSAzMDAuOTQ0IDIwNy45MDUgMzA2LjQ4QzIwNC45MzIgMzA3Ljk4OSAxOTUuOTg3IDMxMy43NzMgMTkzLjQ1NiAzMTMuNjYyQzE5MC45MjUgMzEzLjU1IDE4MC44MDUgMzIzLjIzNCAxODAuODA1IDMyMy4yMzR6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjY2NjY2NjIj4KKyAgPHBhdGggZD0iTTE3NyAzNDguODAxQzE3NyAzNDguODAxIDE2MS44IDM0Ni40MDEgMTc4LjYgMzQ0LjgwMUMxNzguNiAzNDQuODAxIDE5Ni42IDM0Mi44MDEgMjAwLjYgMzM3LjYwMUMyMDAuNiAzMzcuNjAxIDIxNC4yIDMyOC40MDEgMjE3IDMyOC4wMDFDMjE5LjggMzI3LjYwMSAyNDkuOCAzMjAuNDAxIDI1MC4yIDMxOC4wMDFDMjUwLjYgMzE1LjYwMSAyNTYuMiAzMTUuNjAxIDI1Ny44IDMxNi40MDFDMjU5LjQgMzE3LjIwMSAyNTguNiAzMTguNDAxIDI1NS44IDMxOS4yMDFDMjUzIDMyMC4wMDEgMjIxLjggMzM2LjQwMSAyMTUuNCAzMzcuNjAxQzIwOSAzMzguODAxIDE5Ny40IDM0Ni40MDEgMTkyLjYgMzQ3LjYwMUMxODcuOCAzNDguODAxIDE3NyAzNDguODAxIDE3NyAzNDguODAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0xOTYuNTIgMzQxLjQwM0MxOTYuNTIgMzQxLjQwMyAxODcuOTM4IDM0MC41NzQgMTk2LjUzOSAzMzkuNzU1QzE5Ni41MzkgMzM5Ljc1NSAyMDUuMzU1IDMzNi4zMzEgMjA3LjQwMyAzMzMuNjY4QzIwNy40MDMgMzMzLjY2OCAyMTQuMzY3IDMyOC45NTcgMjE1LjggMzI4Ljc1M0MyMTcuMjM0IDMyOC41NDggMjMxLjE5NCAzMjQuODYxIDIzMS4zOTkgMzIzLjYzM0MyMzEuNjA0IDMyMi40MDQgMjY1LjY3IDMwOS44MjMgMjcwLjA5IDMxMy4wMTNDMjczLjAwMSAzMTUuMTE0IDI2My4xIDMxMy40MzcgMjUzLjQ2NiAzMTcuODQ3QzI1Mi4xMTEgMzE4LjQ2NyAyMTguMjU4IDMzMy4wNTQgMjE0Ljk4MSAzMzMuNjY4QzIxMS43MDQgMzM0LjI4MyAyMDUuNzY1IDMzOC4xNzQgMjAzLjMwNyAzMzguNzg4QzIwMC44NSAzMzkuNDAzIDE5Ni41MiAzNDEuNDAzIDE5Ni41MiAzNDEuNDAzeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0xODguNiAzNDMuNjAxQzE4OC42IDM0My42MDEgMTkzLjggMzQzLjIwMSAxOTIuNiAzNDQuODAxQzE5MS40IDM0Ni40MDEgMTg5IDM0NS42MDEgMTg5IDM0NS42MDFMMTg4LjYgMzQzLjYwMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICMwMDAwMDAiPgorICA8cGF0aCBkPSJNMTgxLjQgMzQ1LjIwMUMxODEuNCAzNDUuMjAxIDE4Ni42IDM0NC44MDEgMTg1LjQgMzQ2LjQwMUMxODQuMiAzNDguMDAxIDE4MS44IDM0Ny4yMDEgMTgxLjggMzQ3LjIwMUwxODEuNCAzNDUuMjAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0xNzEgMzQ2LjgwMUMxNzEgMzQ2LjgwMSAxNzYuMiAzNDYuNDAxIDE3NSAzNDguMDAxQzE3My44IDM0OS42MDEgMTcxLjQgMzQ4LjgwMSAxNzEuNCAzNDguODAxTDE3MSAzNDYuODAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0xNjMuNCAzNDcuNjAxQzE2My40IDM0Ny42MDEgMTY4LjYgMzQ3LjIwMSAxNjcuNCAzNDguODAxQzE2Ni4yIDM1MC40MDEgMTYzLjggMzQ5LjYwMSAxNjMuOCAzNDkuNjAxTDE2My40IDM0Ny42MDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjMDAwMDAwIj4KKyAgPHBhdGggZD0iTTIwMS44IDMwOC4wMDFDMjAxLjggMzA4LjAwMSAyMDYuMiAzMDguMDAxIDIwNSAzMDkuNjAxQzIwMy44IDMxMS4yMDEgMjAwLjYgMzEwLjgwMSAyMDAuNiAzMTAuODAxTDIwMS44IDMwOC4wMDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjMDAwMDAwIj4KKyAgPHBhdGggZD0iTTE5MS44IDMxMy42MDFDMTkxLjggMzEzLjYwMSAxOTguMzA2IDMxMS40NiAxOTUuOCAzMTQuODAxQzE5NC42IDMxNi40MDEgMTkyLjIgMzE1LjYwMSAxOTIuMiAzMTUuNjAxTDE5MS44IDMxMy42MDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjMDAwMDAwIj4KKyAgPHBhdGggZD0iTTE4MC42IDMxOC40MDFDMTgwLjYgMzE4LjQwMSAxODUuOCAzMTguMDAxIDE4NC42IDMxOS42MDFDMTgzLjQgMzIxLjIwMSAxODEgMzIwLjQwMSAxODEgMzIwLjQwMUwxODAuNiAzMTguNDAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0xNzMgMzI0LjQwMUMxNzMgMzI0LjQwMSAxNzguMiAzMjQuMDAxIDE3NyAzMjUuNjAxQzE3NS44IDMyNy4yMDEgMTczLjQgMzI2LjQwMSAxNzMuNCAzMjYuNDAxTDE3MyAzMjQuNDAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0xNjYuMiAzMjkuMjAxQzE2Ni4yIDMyOS4yMDEgMTcxLjQgMzI4LjgwMSAxNzAuMiAzMzAuNDAxQzE2OSAzMzIuMDAxIDE2Ni42IDMzMS4yMDEgMTY2LjYgMzMxLjIwMUwxNjYuMiAzMjkuMjAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0yMDUuMjgyIDMzNS41OThDMjA1LjI4MiAzMzUuNTk4IDIxMi4yMDMgMzM1LjA2NiAyMTAuNjA2IDMzNy4xOTVDMjA5LjAwOSAzMzkuMzI1IDIwNS44MTQgMzM4LjI2IDIwNS44MTQgMzM4LjI2TDIwNS4yODIgMzM1LjU5OHoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICMwMDAwMDAiPgorICA8cGF0aCBkPSJNMjE1LjY4MiAzMzAuNzk4QzIxNS42ODIgMzMwLjc5OCAyMjIuNjAzIDMzMC4yNjYgMjIxLjAwNiAzMzIuMzk1QzIxOS40MDkgMzM0LjUyNSAyMTYuMjE0IDMzMy40NiAyMTYuMjE0IDMzMy40NkwyMTUuNjgyIDMzMC43OTh6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjMDAwMDAwIj4KKyAgPHBhdGggZD0iTTIyNi40ODIgMzI2LjM5OEMyMjYuNDgyIDMyNi4zOTggMjMzLjQwMyAzMjUuODY2IDIzMS44MDYgMzI3Ljk5NUMyMzAuMjA5IDMzMC4xMjUgMjI3LjAxNCAzMjkuMDYgMjI3LjAxNCAzMjkuMDZMMjI2LjQ4MiAzMjYuMzk4eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0yMzYuODgyIDMyMS41OThDMjM2Ljg4MiAzMjEuNTk4IDI0My44MDMgMzIxLjA2NiAyNDIuMjA2IDMyMy4xOTVDMjQwLjYwOSAzMjUuMzI1IDIzNy40MTQgMzI0LjI2IDIzNy40MTQgMzI0LjI2TDIzNi44ODIgMzIxLjU5OHoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICMwMDAwMDAiPgorICA8cGF0aCBkPSJNMjA5LjI4MiAzMDMuNTk4QzIwOS4yODIgMzAzLjU5OCAyMTYuMjAzIDMwMy4wNjYgMjE0LjYwNiAzMDUuMTk1QzIxMy4wMDkgMzA3LjMyNSAyMDkuMDE0IDMwNy4wNiAyMDkuMDE0IDMwNy4wNkwyMDkuMjgyIDMwMy41OTh6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjMDAwMDAwIj4KKyAgPHBhdGggZD0iTTIxOS4yODIgMzAwLjM5OEMyMTkuMjgyIDMwMC4zOTggMjI2LjIwMyAyOTkuODY2IDIyNC42MDYgMzAxLjk5NUMyMjMuMDA5IDMwNC4xMjUgMjE4LjYxNCAzMDMuODYgMjE4LjYxNCAzMDMuODZMMjE5LjI4MiAzMDAuMzk4eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0xOTYuNiAzNDAuNDAxQzE5Ni42IDM0MC40MDEgMjAxLjggMzQwLjAwMSAyMDAuNiAzNDEuNjAxQzE5OS40IDM0My4yMDEgMTk3IDM0Mi40MDEgMTk3IDM0Mi40MDFMMTk2LjYgMzQwLjQwMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICM5OTI2MDAiPgorICA8cGF0aCBkPSJNMTIzLjQgMjQxLjJDMTIzLjQgMjQxLjIgMTE5IDI1MCAxMTguNiAyNTMuMkMxMTguNiAyNTMuMiAxMTkuNCAyNDQuNCAxMjAuNiAyNDIuNEMxMjEuOCAyNDAuNCAxMjMuNCAyNDEuMiAxMjMuNCAyNDEuMnoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICM5OTI2MDAiPgorICA8cGF0aCBkPSJNMTA1IDI1NS4yQzEwNSAyNTUuMiAxMDEuOCAyNjkuNiAxMDIuMiAyNzIuNEMxMDIuMiAyNzIuNCAxMDEgMjYwLjggMTAxLjQgMjU5LjZDMTAxLjggMjU4LjQgMTA1IDI1NS4yIDEwNSAyNTUuMnoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNjY2NjY2MiPgorICA8cGF0aCBkPSJNMTI1LjggMTgwLjZMMTI1LjYgMTgzLjhMMTIzLjQgMTg0QzEyMy40IDE4NCAxMzcuNiAxOTYuNiAxMzguMiAyMDQuMkMxMzguMiAyMDQuMiAxMzkgMTk2IDEyNS44IDE4MC42eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0xMjkuNzg0IDE4MS44NjVDMTI5LjM1MyAxODEuNDQ5IDEyOS41NzIgMTgwLjcwNCAxMjkuMTY0IDE4MC40NDRDMTI4LjM1NSAxNzkuOTI4IDEzMC40NjIgMTc5Ljg3MSAxMzAuMjM0IDE3OS4xNTVDMTI5Ljg1MSAxNzcuOTQ5IDEzMC4wMzggMTc3LjkyOCAxMjkuOTE2IDE3Ni42NTJDMTI5Ljg1OSAxNzYuMDU0IDEzMC40NDcgMTc0LjUxNCAxMzAuODMyIDE3NC4wNzRDMTMyLjI3OCAxNzIuNDIyIDEzMC45NTQgMTY5LjQ5IDEzMi41OTQgMTY3LjkzOUMxMzIuODk4IDE2Ny42NSAxMzMuMjc0IDE2Ny4wOTggMTMzLjU1OSAxNjYuNjhDMTM0LjIxOCAxNjUuNzE3IDEzNS40MDIgMTY1LjIyOSAxMzYuMzUyIDE2NC40MDFDMTM2LjY3IDE2NC4xMjUgMTM2LjQ2OSAxNjMuMjk4IDEzNy4wMzggMTYzLjM5QzEzNy43NTIgMTYzLjUwNSAxMzguOTkzIDE2My4zNzUgMTM4Ljk0OCAxNjQuMjE2QzEzOC44MzUgMTY2LjMzNiAxMzcuNTA2IDE2OC4wNTYgMTM2LjIyNiAxNjkuNzI0QzEzNi42NzcgMTcwLjQyOCAxMzYuMjE5IDE3MS4wNjMgMTM1LjkzNSAxNzEuNjJDMTM0LjYgMTc0LjI0IDEzNC43ODkgMTc3LjA4MSAxMzQuNjE1IDE3OS45MjFDMTM0LjYxIDE4MC4wMDYgMTM0LjMwMyAxODAuMDg0IDEzNC4zMTEgMTgwLjEzN0MxMzQuNjY0IDE4Mi40NzIgMTM1LjI0OCAxODQuNjcxIDEzNi4xMjcgMTg2LjlDMTM2LjQ5MyAxODcuODMgMTM2Ljk2NCAxODguNzI1IDEzNy4xMTQgMTg5LjY1MkMxMzcuMjI1IDE5MC4zMzggMTM3LjMyOCAxOTEuMTcxIDEzNi45MiAxOTEuODc2QzEzOC45NTUgMTk0Ljc2NiAxMzcuNjQ2IDE5Ny40MTcgMTM4LjgxNSAyMDAuOTQ4QzEzOS4wMjIgMjAxLjU3MyAxNDAuNzE0IDIwMy40ODcgMTQwLjI1MSAyMDMuMzI2QzEzNy43MzggMjAyLjQ1NSAxMzcuNjI2IDIwMi4wNTcgMTM3LjQ0OSAyMDEuMzA0QzEzNy4zMDMgMjAwLjY4MSAxMzYuOTczIDE5OS4zMDQgMTM2LjczNiAxOTguNzAyQzEzNi42NzIgMTk4LjUzOCAxMzYuNTAxIDE5Ni42NTQgMTM2LjQyMyAxOTYuNTMyQzEzNC45MSAxOTQuMTUgMTM2LjI2OCAxOTQuMzI2IDEzNC44OTggMTkxLjk2OEMxMzMuNDcgMTkxLjI4OCAxMzIuNTA0IDE5MC4xODQgMTMxLjM4MSAxODkuMDIyQzEzMS4xODMgMTg4LjgxOCAxMzIuMzI2IDE4OC4wOTQgMTMyLjE0NSAxODcuODgxQzEzMS4wNTMgMTg2LjU5MiAxMjkuOSAxODUuODI1IDEzMC4yMzYgMTg0LjMzMkMxMzAuMzkxIDE4My42NDIgMTMwLjUyOCAxODIuNTg1IDEyOS43ODQgMTgxLjg2NXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICMwMDAwMDAiPgorICA8cGF0aCBkPSJNMTI2LjIgMTgzLjZDMTI2LjIgMTgzLjYgMTI2LjYgMTkwLjQgMTI5IDE5MkMxMzEuNCAxOTMuNiAxMzAuMiAxOTIuOCAxMjcgMTkxLjZDMTIzLjggMTkwLjQgMTI1IDE4OS42IDEyNSAxODkuNkMxMjUgMTg5LjYgMTIyLjIgMTkwIDEyNC42IDE5MkMxMjcgMTk0IDEzMC42IDE5Ni40IDEyOSAxOTYuNEMxMjcuNCAxOTYuNCAxMTkuOCAxOTIuNCAxMTkuOCAxODkuNkMxMTkuOCAxODYuOCAxMTguOCAxODIuNyAxMTguOCAxODIuN0MxMTguOCAxODIuNyAxMTkuOSAxODEuOSAxMjQuNyAxODJDMTI0LjcgMTgyIDEyNi4xIDE4Mi43IDEyNi4yIDE4My42eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZmZjsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjEiPgorICA8cGF0aCBkPSJNMTI1LjQgMjAyLjJDMTI1LjQgMjAyLjIgMTE2Ljg4IDE5OS40MDkgOTguNCAyMDIuOEM5OC40IDIwMi44IDEwNy40MzEgMjAwLjcyMiAxMjYuMiAyMDNDMTM2LjUgMjA0LjI1IDEyNS40IDIwMi4yIDEyNS40IDIwMi4yeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZmZjsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjEiPgorICA8cGF0aCBkPSJNMTI3LjQ5OCAyMDIuMTI5QzEyNy40OTggMjAyLjEyOSAxMTkuMjUyIDE5OC42MTEgMTAwLjU0NyAyMDAuMzkyQzEwMC41NDcgMjAwLjM5MiAxMDkuNzI1IDE5OS4xMDMgMTI4LjIyNiAyMDIuOTk1QzEzOC4zOCAyMDUuMTMxIDEyNy40OTggMjAyLjEyOSAxMjcuNDk4IDIwMi4xMjl6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmZmOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuMSI+CisgIDxwYXRoIGQ9Ik0xMjkuMjg2IDIwMi4yMjJDMTI5LjI4NiAyMDIuMjIyIDEyMS4zMjQgMTk4LjEwMSAxMDIuNTM5IDE5OC40ODZDMTAyLjUzOSAxOTguNDg2IDExMS43ODcgMTk3Ljg4MiAxMjkuOTQ4IDIwMy4xNEMxMzkuOTE0IDIwNi4wMjUgMTI5LjI4NiAyMDIuMjIyIDEyOS4yODYgMjAyLjIyMnoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmZmY7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC4xIj4KKyAgPHBhdGggZD0iTTEzMC41NTYgMjAyLjQ0NUMxMzAuNTU2IDIwMi40NDUgMTIzLjczMiAxOTguMTM4IDEwNi44NTggMTk3LjA0QzEwNi44NTggMTk3LjA0IDExNS4xOTcgMTk3LjIxIDEzMS4wNzggMjAzLjMxOUMxMzkuNzk0IDIwNi42NzIgMTMwLjU1NiAyMDIuNDQ1IDEzMC41NTYgMjAyLjQ0NXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmZmY7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC4xIj4KKyAgPHBhdGggZD0iTTI0NS44NCAyMTIuOTYxQzI0NS44NCAyMTIuOTYxIDI0NC45MSAyMTMuNjA1IDI0NS4xMjQgMjEyLjQyNEMyNDUuMzM5IDIxMS4yNDMgMjczLjU0NyAxOTguMDczIDI3Ny4xNjEgMTk4LjMyM0MyNzcuMTYxIDE5OC4zMjMgMjQ2LjkxMyAyMTEuNTI5IDI0NS44NCAyMTIuOTYxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZmZjsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjEiPgorICA8cGF0aCBkPSJNMjQyLjQ0NiAyMTMuNkMyNDIuNDQ2IDIxMy42IDI0MS41NyAyMTQuMzE1IDI0MS42OTEgMjEzLjEyMUMyNDEuODEyIDIxMS45MjcgMjY4Ljg5OSAxOTYuNTgyIDI3Mi41MjEgMTk2LjU0OEMyNzIuNTIxIDE5Ni41NDggMjQzLjQwNCAyMTIuMDg5IDI0Mi40NDYgMjEzLjZ6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmZmOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuMSI+CisgIDxwYXRoIGQ9Ik0yMzkuMTYgMjE0Ljk3NUMyMzkuMTYgMjE0Ljk3NSAyMzguMzMyIDIxNS43NDcgMjM4LjM3NCAyMTQuNTQ3QzIzOC40MTYgMjEzLjM0OCAyNTguMjMzIDE5Ny44NTEgMjY4LjA0NSAxOTUuOTc3QzI2OC4wNDUgMTk1Ljk3NyAyNTAuMDE1IDIwNC4xMDQgMjM5LjE2IDIxNC45NzV6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmZmOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuMSI+CisgIDxwYXRoIGQ9Ik0yMzYuMjg0IDIxNi44MzhDMjM2LjI4NCAyMTYuODM4IDIzNS41MzkgMjE3LjUzMiAyMzUuNTc3IDIxNi40NTNDMjM1LjYxNSAyMTUuMzczIDI1My40NDkgMjAxLjQyNiAyNjIuMjggMTk5Ljc0QzI2Mi4yOCAxOTkuNzQgMjQ2LjA1NCAyMDcuMDU0IDIzNi4yODQgMjE2LjgzOHoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNjY2NjY2MiPgorICA8cGF0aCBkPSJNMjA0LjYgMzY0LjgwMUMyMDQuNiAzNjQuODAxIDE4OS40IDM2Mi40MDEgMjA2LjIgMzYwLjgwMUMyMDYuMiAzNjAuODAxIDIyNC4yIDM1OC44MDEgMjI4LjIgMzUzLjYwMUMyMjguMiAzNTMuNjAxIDI0MS44IDM0NC40MDEgMjQ0LjYgMzQ0LjAwMUMyNDcuNCAzNDMuNjAxIDI2My44IDM0MC4wMDEgMjY0LjIgMzM3LjYwMUMyNjQuNiAzMzUuMjAxIDI3MC42IDMzMi44MDEgMjcyLjIgMzMzLjYwMUMyNzMuOCAzMzQuNDAxIDI3My44IDM0My42MDEgMjcxIDM0NC40MDFDMjY4LjIgMzQ1LjIwMSAyNDkuNCAzNTIuNDAxIDI0MyAzNTMuNjAxQzIzNi42IDM1NC44MDEgMjI1IDM2Mi40MDEgMjIwLjIgMzYzLjYwMUMyMTUuNCAzNjQuODAxIDIwNC42IDM2NC44MDEgMjA0LjYgMzY0LjgwMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICMwMDAwMDAiPgorICA8cGF0aCBkPSJNMjc3LjYgMzI3LjQwMUMyNzcuNiAzMjcuNDAxIDI3NC42IDMyOS4wMDEgMjczLjQgMzMxLjYwMUMyNzMuNCAzMzEuNjAxIDI2NyAzNDIuMjAxIDI1Mi44IDM0NS40MDFDMjUyLjggMzQ1LjQwMSAyMjkuOCAzNTQuNDAxIDIyMiAzNTYuNDAxQzIyMiAzNTYuNDAxIDIwOC42IDM2MS40MDEgMjAxLjIgMzYwLjYwMUMyMDEuMiAzNjAuNjAxIDE5NC4yIDM2MC44MDEgMjAwLjQgMzYyLjQwMUMyMDAuNCAzNjIuNDAxIDIyMC42IDM2MC40MDEgMjI0IDM1OC42MDFDMjI0IDM1OC42MDEgMjM5LjYgMzUzLjQwMSAyNDIuNiAzNTAuODAxQzI0NS42IDM0OC4yMDEgMjYzLjggMzQzLjIwMSAyNjYgMzQxLjIwMUMyNjguMiAzMzkuMjAxIDI3OCAzMzAuODAxIDI3Ny42IDMyNy40MDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjMDAwMDAwIj4KKyAgPHBhdGggZD0iTTIxOC44ODIgMzU4LjkxMUMyMTguODgyIDM1OC45MTEgMjI0LjExMSAzNTguNjg1IDIyMi45NTggMzYwLjIzNEMyMjEuODA1IDM2MS43ODQgMjE5LjM1NyAzNjAuOTEgMjE5LjM1NyAzNjAuOTFMMjE4Ljg4MiAzNTguOTExeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0yMTEuNjggMzYwLjI2M0MyMTEuNjggMzYwLjI2MyAyMTYuOTA4IDM2MC4wMzcgMjE1Ljc1NiAzNjEuNTg2QzIxNC42MDMgMzYzLjEzNiAyMTIuMTU1IDM2Mi4yNjMgMjEyLjE1NSAzNjIuMjYzTDIxMS42OCAzNjAuMjYzeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0yMDEuMjUxIDM2MS41MTFDMjAxLjI1MSAzNjEuNTExIDIwNi40OCAzNjEuMjg0IDIwNS4zMjcgMzYyLjgzNEMyMDQuMTc0IDM2NC4zODMgMjAxLjcyNiAzNjMuNTEgMjAxLjcyNiAzNjMuNTFMMjAxLjI1MSAzNjEuNTExeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0xOTMuNjE3IDM2Mi4wNTVDMTkzLjYxNyAzNjIuMDU1IDE5OC44NDYgMzYxLjgyOSAxOTcuNjkzIDM2My4zNzhDMTk2LjU0IDM2NC45MjggMTk0LjA5MiAzNjQuMDU0IDE5NC4wOTIgMzY0LjA1NEwxOTMuNjE3IDM2Mi4wNTV6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjMDAwMDAwIj4KKyAgPHBhdGggZD0iTTIzNS40MTUgMzUxLjUxM0MyMzUuNDE1IDM1MS41MTMgMjQyLjM3NSAzNTEuMjEyIDI0MC44NCAzNTMuMjc0QzIzOS4zMDYgMzU1LjMzNiAyMzYuMDQ3IDM1NC4xNzQgMjM2LjA0NyAzNTQuMTc0TDIzNS40MTUgMzUxLjUxM3oiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICMwMDAwMDAiPgorICA8cGF0aCBkPSJNMjQ1LjczIDM0Ny4wODhDMjQ1LjczIDM0Ny4wODggMjUxLjY4OSAzNDMuNzg3IDI1MS4xNTUgMzQ4Ljg0OUMyNTAuODg1IDM1MS40MDUgMjQ2LjM2MiAzNDkuNzQ5IDI0Ni4zNjIgMzQ5Ljc0OUwyNDUuNzMgMzQ3LjA4OHoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICMwMDAwMDAiPgorICA8cGF0aCBkPSJNMjU0Ljg2MiAzNDQuMjc0QzI1NC44NjIgMzQ0LjI3NCAyNjIuMDIxIDM0MC41NzMgMjYwLjI4NyAzNDYuMDM1QzI1OS41MDkgMzQ4LjQ4NSAyNTUuNDkzIDM0Ni45MzUgMjU1LjQ5MyAzNDYuOTM1TDI1NC44NjIgMzQ0LjI3NHoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICMwMDAwMDAiPgorICA8cGF0aCBkPSJNMjY0LjM3NiAzMzkuNDQ5QzI2NC4zNzYgMzM5LjQ0OSAyNjguNzM1IDMzNC41NDggMjY5LjgwMSAzNDEuMjFDMjcwLjIwNyAzNDMuNzQ4IDI2NS4wMDggMzQyLjExIDI2NS4wMDggMzQyLjExTDI2NC4zNzYgMzM5LjQ0OXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICMwMDAwMDAiPgorICA8cGF0aCBkPSJNMjI2LjgzNCAzNTUuOTk3QzIyNi44MzQgMzU1Ljk5NyAyMzIuMDYyIDM1NS43NyAyMzAuOTEgMzU3LjMyQzIyOS43NTcgMzU4Ljg2OSAyMjcuMzA4IDM1Ny45OTYgMjI3LjMwOCAzNTcuOTk2TDIyNi44MzQgMzU1Ljk5N3oiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmZmY7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC4xIj4KKyAgPHBhdGggZD0iTTI2Mi40MzQgMjM0LjYwM0MyNjIuNDM0IDIzNC42MDMgMjYxLjcwOCAyMzUuMjY4IDI2MS43MDcgMjM0LjE5N0MyNjEuNzA3IDIzMy4xMjcgMjc5LjE5MSAyMTkuODYzIDI4OC4wMzQgMjE4LjQ3OUMyODguMDM0IDIxOC40NzkgMjcxLjkzNSAyMjUuMjA4IDI2Mi40MzQgMjM0LjYwM3oiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICMwMDAwMDAiPgorICA8cGF0aCBkPSJNMjY1LjQgMjk4LjRDMjY1LjQgMjk4LjQgMjg3LjQwMSAzMjAuODAxIDI5Ni42MDEgMzI0LjQwMUMyOTYuNjAxIDMyNC40MDEgMzA1LjgwMSAzMzUuNjAxIDMwMS44MDEgMzYxLjYwMUMzMDEuODAxIDM2MS42MDEgMjk4LjYwMSAzNjkuMjAxIDI5NS40MDEgMzQ4LjQwMUMyOTUuNDAxIDM0OC40MDEgMjk4LjYwMSAzMjMuMjAxIDI4Ny40MDEgMzM5LjIwMUMyODcuNDAxIDMzOS4yMDEgMjc5IDMyOS4zMDEgMjg1LjQgMzI5LjYwMUMyODUuNCAzMjkuNjAxIDI4OC42MDEgMzMxLjYwMSAyODkuMDAxIDMzMC4wMDFDMjg5LjQwMSAzMjguNDAxIDI4MS40IDMxNC44MDEgMjY0LjIgMzAwLjRDMjQ3IDI4NiAyNjUuNCAyOTguNCAyNjUuNCAyOTguNHoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmZmY7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC4xIj4KKyAgPHBhdGggZD0iTTIwNyAzMzcuMjAxQzIwNyAzMzcuMjAxIDIwNi44IDMzNS40MDEgMjA4LjYgMzM2LjIwMUMyMTAuNCAzMzcuMDAxIDMwNC42MDEgMzQzLjIwMSAzMzYuMjAxIDM2Ny4yMDFDMzM2LjIwMSAzNjcuMjAxIDI5MS4wMDEgMzQ0LjAwMSAyMDcgMzM3LjIwMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmZmY7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC4xIj4KKyAgPHBhdGggZD0iTTIxNy40IDMzMi44MDFDMjE3LjQgMzMyLjgwMSAyMTcuMiAzMzEuMDAxIDIxOSAzMzEuODAxQzIyMC44IDMzMi42MDEgMzU3LjQwMSAzMzEuNjAxIDM4MS4wMDEgMzY0LjAwMUMzODEuMDAxIDM2NC4wMDEgMzU5LjAwMSAzMzguODAxIDIxNy40IDMzMi44MDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmZmOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuMSI+CisgIDxwYXRoIGQ9Ik0yMjkgMzI4LjgwMUMyMjkgMzI4LjgwMSAyMjguOCAzMjcuMDAxIDIzMC42IDMyNy44MDFDMjMyLjQgMzI4LjYwMSA0MDUuODAxIDMxNS42MDEgNDI5LjQwMSAzNDguMDAxQzQyOS40MDEgMzQ4LjAwMSA0MTkuODAxIDMyMi40MDEgMjI5IDMyOC44MDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmZmOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuMSI+CisgIDxwYXRoIGQ9Ik0yMzkgMzI0LjAwMUMyMzkgMzI0LjAwMSAyMzguOCAzMjIuMjAxIDI0MC42IDMyMy4wMDFDMjQyLjQgMzIzLjgwMSAzNjQuNjAxIDI4NS4yIDM4OC4yMDEgMzE3LjYwMUMzODguMjAxIDMxNy42MDEgMzc0LjgwMSAyOTMgMjM5IDMyNC4wMDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmZmOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuMSI+CisgIDxwYXRoIGQ9Ik0xODEgMzQ2LjgwMUMxODEgMzQ2LjgwMSAxODAuOCAzNDUuMDAxIDE4Mi42IDM0NS44MDFDMTg0LjQgMzQ2LjYwMSAyMDIuMiAzNDguODAxIDIwNC4yIDM4Ny42MDFDMjA0LjIgMzg3LjYwMSAxOTcgMzQ1LjYwMSAxODEgMzQ2LjgwMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmZmY7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC4xIj4KKyAgPHBhdGggZD0iTTE3Mi4yIDM0OC40MDFDMTcyLjIgMzQ4LjQwMSAxNzIgMzQ2LjYwMSAxNzMuOCAzNDcuNDAxQzE3NS42IDM0OC4yMDEgMTg5LjggMzQzLjYwMSAxODcgMzgyLjQwMUMxODcgMzgyLjQwMSAxODguMiAzNDcuMjAxIDE3Mi4yIDM0OC40MDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmZmOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuMSI+CisgIDxwYXRoIGQ9Ik0xNjQuMiAzNDguODAxQzE2NC4yIDM0OC44MDEgMTY0IDM0Ny4wMDEgMTY1LjggMzQ3LjgwMUMxNjcuNiAzNDguNjAxIDE4MyAzNDkuMjAxIDE3MC42IDM3MS42MDFDMTcwLjYgMzcxLjYwMSAxODAuMiAzNDcuNjAxIDE2NC4yIDM0OC44MDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmZmOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuMSI+CisgIDxwYXRoIGQ9Ik0yMTEuNTI2IDMwNC40NjVDMjExLjUyNiAzMDQuNDY1IDIxMS4wODIgMzA2LjQ2NCAyMTIuNjMxIDMwNS4yNDdDMjI4LjY5OSAyOTIuNjIyIDI2MS4xNDEgMjMzLjcyIDMxNi44MjYgMjI4LjA4NkMzMTYuODI2IDIyOC4wODYgMjc4LjUxOCAyMTUuOTc2IDIxMS41MjYgMzA0LjQ2NXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmZmY7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC4xIj4KKyAgPHBhdGggZD0iTTIyMi43MjYgMzAyLjY2NUMyMjIuNzI2IDMwMi42NjUgMjIxLjM2MyAzMDEuNDcyIDIyMy4yMzEgMzAwLjg0N0MyMjUuMDk5IDMwMC4yMjIgMzM3LjU0MSAyMjcuNzIgMzc2LjgyNiAyMzUuNjg2QzM3Ni44MjYgMjM1LjY4NiAzNDkuNzE5IDIyOC4xNzYgMjIyLjcyNiAzMDIuNjY1eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZmZjsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjEiPgorICA8cGF0aCBkPSJNMjAxLjg4NSAzMDguNzY3QzIwMS44ODUgMzA4Ljc2NyAyMDEuMzc2IDMxMC4zNjYgMjAzLjA4NyAzMDkuMzlDMjEyLjA2MiAzMDQuMjcgMjE1LjY3NyAyNDcuMDU5IDI1OS4yNTQgMjQ1LjgwNEMyNTkuMjU0IDI0NS44MDQgMjI2Ljg0MyAyMzEuMDkgMjAxLjg4NSAzMDguNzY3eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZmZjsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjEiPgorICA8cGF0aCBkPSJNMTgxLjk2MiAzMTkuNzkzQzE4MS45NjIgMzE5Ljc5MyAxODAuODg1IDMyMS4wNzkgMTgyLjgzOCAzMjAuODI1QzE5My4wODQgMzE5LjQ5MyAyMTQuNDg5IDI3OC4yMjIgMjU4LjkyOCAyODMuMzAxQzI1OC45MjggMjgzLjMwMSAyMjYuOTYyIDI2OC45NTUgMTgxLjk2MiAzMTkuNzkzeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZmZjsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjEiPgorICA8cGF0aCBkPSJNMTkzLjIgMzEzLjY2N0MxOTMuMiAzMTMuNjY3IDE5Mi4zODkgMzE1LjEzNiAxOTQuMjU4IDMxNC41MTFDMjA0LjA1NyAzMTEuMjM3IDIxNy4xNDEgMjY2LjYyNSAyNjEuNzI5IDI2My4wNzhDMjYxLjcyOSAyNjMuMDc4IDIyNy42MDMgMjU1LjEzNSAxOTMuMiAzMTMuNjY3eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZmZjsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjEiPgorICA8cGF0aCBkPSJNMTc0LjkyMiAzMjQuOTEyQzE3NC45MjIgMzI0LjkxMiAxNzQuMDQ5IDMyNS45NTQgMTc1LjYzMSAzMjUuNzQ4QzE4My45MyAzMjQuNjY5IDIwMS4yNjggMjkxLjI0IDIzNy4yNjQgMjk1LjM1NEMyMzcuMjY0IDI5NS4zNTQgMjExLjM3MSAyODMuNzM0IDE3NC45MjIgMzI0LjkxMnoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmZmY7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC4xIj4KKyAgPHBhdGggZD0iTTE2Ny4zMjMgMzMwLjgyMUMxNjcuMzIzIDMzMC44MjEgMTY2LjMxOCAzMzEuODY2IDE2Ny45MDkgMzMxLjc0OEMxNzIuMDc3IDMzMS40MzkgMjAyLjcxNSAyOTguMzYgMjIxLjE4MyAzMTMuODYyQzIyMS4xODMgMzEzLjg2MiAyMDkuMTY4IDI5NS4xMzkgMTY3LjMyMyAzMzAuODIxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZmZjsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjEiPgorICA8cGF0aCBkPSJNMjM2Ljg1NSAyOTguODk4QzIzNi44NTUgMjk4Ljg5OCAyMzUuNjU0IDI5Ny41NDMgMjM3LjU4NiAyOTcuMTU4QzIzOS41MTggMjk2Ljc3NCAzNjAuMjIxIDIzOS4wNjEgMzk4LjE4NCAyNTEuOTI3QzM5OC4xODQgMjUxLjkyNyAzNzIuMjQzIDI0MS4wNTMgMjM2Ljg1NSAyOTguODk4eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZmZjsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjEiPgorICA8cGF0aCBkPSJNMjAzLjQgMzYzLjIwMUMyMDMuNCAzNjMuMjAxIDIwMy4yIDM2MS40MDEgMjA1IDM2Mi4yMDFDMjA2LjggMzYzLjAwMSAyMjIuMiAzNjMuNjAxIDIwOS44IDM4Ni4wMDFDMjA5LjggMzg2LjAwMSAyMTkuNCAzNjIuMDAxIDIwMy40IDM2My4yMDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmZmOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuMSI+CisgIDxwYXRoIGQ9Ik0yMTMuOCAzNjEuNjAxQzIxMy44IDM2MS42MDEgMjEzLjYgMzU5LjgwMSAyMTUuNCAzNjAuNjAxQzIxNy4yIDM2MS40MDEgMjM1IDM2My42MDEgMjM3IDQwMi40MDFDMjM3IDQwMi40MDEgMjI5LjggMzYwLjQwMSAyMTMuOCAzNjEuNjAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZmZjsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjEiPgorICA8cGF0aCBkPSJNMjIwLjYgMzYwLjAwMUMyMjAuNiAzNjAuMDAxIDIyMC40IDM1OC4yMDEgMjIyLjIgMzU5LjAwMUMyMjQgMzU5LjgwMSAyNDguNiAzNjMuMjAxIDI3Mi4yIDM5NS42MDFDMjcyLjIgMzk1LjYwMSAyMzYuNiAzNTguODAxIDIyMC42IDM2MC4wMDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmZmOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuMSI+CisgIDxwYXRoIGQ9Ik0yMjguMjI1IDM1Ny45NzJDMjI4LjIyNSAzNTcuOTcyIDIyNy43ODggMzU2LjIxNCAyMjkuNjc4IDM1Ni43NjhDMjMxLjU2OCAzNTcuMzIyIDI1Mi4wMDIgMzU1LjQyMyAyOTAuMDk5IDM4OS41OTlDMjkwLjA5OSAzODkuNTk5IDI0My45MjQgMzU0LjY1NiAyMjguMjI1IDM1Ny45NzJ6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmZmOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuMSI+CisgIDxwYXRoIGQ9Ik0yMzguNjI1IDM1My41NzJDMjM4LjYyNSAzNTMuNTcyIDIzOC4xODggMzUxLjgxNCAyNDAuMDc4IDM1Mi4zNjhDMjQxLjk2OCAzNTIuOTIyIDI3Ni44MDIgMzU3LjQyMyAzMjguNDk5IDM5Mi4zOTlDMzI4LjQ5OSAzOTIuMzk5IDI1NC4zMjQgMzUwLjI1NiAyMzguNjI1IDM1My41NzJ6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmZmOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuMSI+CisgIDxwYXRoIGQ9Ik0xOTguMiAzNDIuMDAxQzE5OC4yIDM0Mi4wMDEgMTk4IDM0MC4yMDEgMTk5LjggMzQxLjAwMUMyMDEuNiAzNDEuODAxIDI1NSAzNDQuNDAxIDI4NS40IDM3MS4yMDFDMjg1LjQgMzcxLjIwMSAyNTAuNDk5IDM0Ni40MjYgMTk4LjIgMzQyLjAwMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmZmY7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC4xIj4KKyAgPHBhdGggZD0iTTE4OC4yIDM0Ni4wMDFDMTg4LjIgMzQ2LjAwMSAxODggMzQ0LjIwMSAxODkuOCAzNDUuMDAxQzE5MS42IDM0NS44MDEgMjE2LjIgMzQ5LjIwMSAyMzkuOCAzODEuNjAxQzIzOS44IDM4MS42MDEgMjA0LjIgMzQ0LjgwMSAxODguMiAzNDYuMDAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2ZmZmZmZjsgc3Ryb2tlOiMwMDAwMDA7IHN0cm9rZS13aWR0aDowLjEiPgorICA8cGF0aCBkPSJNMjQ5LjUwMyAzNDguOTYyQzI0OS41MDMgMzQ4Ljk2MiAyNDguOTM4IDM0Ny4yNDEgMjUwLjg2NCAzNDcuNjU1QzI1Mi43OSAzNDguMDY4IDI4Ny44NiAzNTAuMDA0IDM0MS45ODEgMzgxLjA5OEMzNDEuOTgxIDM4MS4wOTggMjY0LjMxNyAzNDYuNzA0IDI0OS41MDMgMzQ4Ljk2MnoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNmZmZmZmY7IHN0cm9rZTojMDAwMDAwOyBzdHJva2Utd2lkdGg6MC4xIj4KKyAgPHBhdGggZD0iTTI1Ny45MDMgMzQ2LjU2MkMyNTcuOTAzIDM0Ni41NjIgMjU3LjMzOCAzNDQuODQxIDI1OS4yNjQgMzQ1LjI1NUMyNjEuMTkgMzQ1LjY2OCAyOTYuMjYgMzQ3LjYwNCAzNTAuMzgxIDM3OC42OThDMzUwLjM4MSAzNzguNjk4IDI3My4zMTcgMzQzLjkwNCAyNTcuOTAzIDM0Ni41NjJ6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjZmZmZmZmOyBzdHJva2U6IzAwMDAwMDsgc3Ryb2tlLXdpZHRoOjAuMSI+CisgIDxwYXRoIGQ9Ik0yNjcuNTAzIDM0MS41NjJDMjY3LjUwMyAzNDEuNTYyIDI2Ni45MzggMzM5Ljg0MSAyNjguODY0IDM0MC4yNTVDMjcwLjc5IDM0MC42NjggMzEzLjg2IDM0NS4wMDQgNDAzLjU4MiAzNzkuMjk4QzQwMy41ODIgMzc5LjI5OCAyODIuOTE3IDMzOC45MDQgMjY3LjUwMyAzNDEuNTYyeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0xNTYuMiAzNDguNDAxQzE1Ni4yIDM0OC40MDEgMTYxLjQgMzQ4LjAwMSAxNjAuMiAzNDkuNjAxQzE1OSAzNTEuMjAxIDE1Ni42IDM1MC40MDEgMTU2LjYgMzUwLjQwMUwxNTYuMiAzNDguNDAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0xODcgMzYyLjQwMUMxODcgMzYyLjQwMSAxOTIuMiAzNjIuMDAxIDE5MSAzNjMuNjAxQzE4OS44IDM2NS4yMDEgMTg3LjQgMzY0LjQwMSAxODcuNCAzNjQuNDAxTDE4NyAzNjIuNDAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0xNzguMiAzNjIuMDAxQzE3OC4yIDM2Mi4wMDEgMTgzLjQgMzYxLjYwMSAxODIuMiAzNjMuMjAxQzE4MSAzNjQuODAxIDE3OC42IDM2NC4wMDEgMTc4LjYgMzY0LjAwMUwxNzguMiAzNjIuMDAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogIzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik04Mi44MzEgMzUwLjE4MkM4Mi44MzEgMzUwLjE4MiA4Ny44NzYgMzUxLjUwNSA4Ni4yMTggMzUyLjYyNEM4NC41NjEgMzUzLjc0NCA4Mi41NTQgMzUyLjIwMiA4Mi41NTQgMzUyLjIwMkw4Mi44MzEgMzUwLjE4MnoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICMwMDAwMDAiPgorICA8cGF0aCBkPSJNODQuODMxIDM0MC41ODJDODQuODMxIDM0MC41ODIgODkuODc2IDM0MS45MDUgODguMjE4IDM0My4wMjRDODYuNTYxIDM0NC4xNDQgODQuNTU0IDM0Mi42MDIgODQuNTU0IDM0Mi42MDJMODQuODMxIDM0MC41ODJ6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjMDAwMDAwIj4KKyAgPHBhdGggZD0iTTc3LjYzMSAzMzYuMTgyQzc3LjYzMSAzMzYuMTgyIDgyLjY3NiAzMzcuNTA1IDgxLjAxOCAzMzguNjI0Qzc5LjM2MSAzMzkuNzQ0IDc3LjM1NCAzMzguMjAyIDc3LjM1NCAzMzguMjAyTDc3LjYzMSAzMzYuMTgyeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2NjY2NjYyI+CisgIDxwYXRoIGQ9Ik0xNTcuNCA0MTEuMjAxQzE1Ny40IDQxMS4yMDEgMTU1LjggNDExLjIwMSAxNTEuOCA0MTMuMjAxQzE0OS44IDQxMy4yMDEgMTM4LjYgNDE2LjgwMSAxMzMgNDI2LjgwMUMxMzMgNDI2LjgwMSAxNDUuNCA0MTcuMjAxIDE1Ny40IDQxMS4yMDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjY2NjY2NjIj4KKyAgPHBhdGggZD0iTTI0NS4xMTYgNTAzLjg0N0MyNDUuMjU3IDUwNC4xMDUgMjQ1LjMxMiA1MDQuNTI1IDI0NS42MDQgNTA0LjU0MkMyNDYuMjYyIDUwNC41ODIgMjQ3LjQ5NSA1MDQuODgzIDI0Ny4zNyA1MDQuMjQ3QzI0Ni41MjIgNDk5Ljk0MSAyNDUuNjQ4IDQ5NS4wMDQgMjQxLjUxNSA0OTMuMTk3QzI0MC44NzYgNDkyLjkxOCAyMzkuNDM0IDQ5My4zMzEgMjM5LjM2IDQ5NC4yMTVDMjM5LjIzMyA0OTUuNzM5IDIzOS4xMTYgNDk3LjA4OCAyMzkuNDI1IDQ5OC41NTRDMjM5LjcyNSA0OTkuOTc1IDI0MS44ODMgNDk5Ljk4NSAyNDIuOCA0OTguNjAxQzI0My43MzYgNTAwLjI3MyAyNDQuMTY4IDUwMi4xMTYgMjQ1LjExNiA1MDMuODQ3eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2NjY2NjYyI+CisgIDxwYXRoIGQ9Ik0yMzQuMDM4IDUwOC41ODFDMjM0Ljc4NiA1MDkuOTk0IDIzNC42NTkgNTExLjg1MyAyMzYuMDc0IDUxMi40MTZDMjM2LjgxNCA1MTIuNzEgMjM4LjY2NCA1MTEuNzM1IDIzOC4yNDYgNTEwLjY2MUMyMzcuNDQ0IDUwOC42IDIzNy4wNTYgNTA2LjM2MSAyMzUuNjY3IDUwNC41NUMyMzUuNDY3IDUwNC4yODggMjM1LjcwNyA1MDMuNzU1IDIzNS41NDcgNTAzLjQyN0MyMzQuOTUzIDUwMi4yMDcgMjMzLjgwOCA1MDEuNDcyIDIzMi40IDUwMS44MDFDMjMxLjI4NSA1MDQuMDA0IDIzMi40MzMgNTA2LjEzMyAyMzMuOTU1IDUwNy44NDJDMjM0LjA5MSA1MDcuOTk0IDIzMy45MjUgNTA4LjM3IDIzNC4wMzggNTA4LjU4MXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNjY2NjY2MiPgorICA8cGF0aCBkPSJNMTk0LjQzNiA1MDMuMzkxQzE5NC4zMjggNTAzLjAxNCAxOTQuMjkgNTAyLjU1MSAxOTQuNDU1IDUwMi4yM0MxOTQuOTg2IDUwMS4xOTcgMTk1Ljc3OSA1MDAuMDc1IDE5NS40NDIgNDk5LjA1M0MxOTUuMDk0IDQ5Ny45OTcgMTkzLjk3OCA0OTguMTc5IDE5My4zMjggNDk4Ljc0OEMxOTIuMTkzIDQ5OS43NDIgMTkyLjE0NCA1MDEuNTY4IDE5MS40NTMgNTAyLjkyN0MxOTEuMjU3IDUwMy4zMTMgMTkxLjMwOCA1MDMuODg2IDE5MC44NjcgNTA0LjI3N0MxOTAuMzkzIDUwNC42OTggMTg5Ljk1MyA1MDYuMjIyIDE5MC4wNDkgNTA2Ljc5M0MxOTAuMTAyIDUwNy4xMDYgMTg5LjkxOSA1MTcuMDE0IDE5MC4xNDEgNTE2Ljc1MUMxOTAuNzYgNTE2LjAxOCAxOTMuODEgNTA2LjI4NCAxOTMuODc5IDUwNS4zOTJDMTkzLjkzNiA1MDQuNjYxIDE5NC42NjggNTA0LjE5NiAxOTQuNDM2IDUwMy4zOTF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjY2NjY2NjIj4KKyAgPHBhdGggZD0iTTE2OC43OTggNDk2LjU5OUMxNzEuNDMyIDQ5NC4xIDE3NC4yMjIgNDkxLjEzOSAxNzMuNzggNDg3LjQyN0MxNzMuNjY0IDQ4Ni40NTEgMTcxLjg4OSA0ODYuOTc4IDE3MS43MDIgNDg3LjgyNEMxNzAuOSA0OTEuNDQ5IDE2OC44NjEgNDk0LjExIDE2Ni4yOTMgNDk2LjUwMkMxNjQuMDk3IDQ5OC41NDkgMTYyLjIzNSA1MDQuODkzIDE2MiA1MDUuNDAxQzE2NS42OTcgNTAwLjE0NSAxNjcuOTU0IDQ5Ny4zOTkgMTY4Ljc5OCA0OTYuNTk5eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2NjY2NjYyI+CisgIDxwYXRoIGQ9Ik0xNTUuMjI0IDQ5MC42MzVDMTU1Ljc0NyA0OTAuMjY1IDE1NS40NDUgNDg5Ljc3NCAxNTUuNjYyIDQ4OS40NDJDMTU2LjYxNSA0ODcuOTg0IDE1Ny45MTYgNDg2LjczOCAxNTcuOTM0IDQ4NUMxNTcuOTM3IDQ4NC43MjMgMTU3LjU1OSA0ODQuNDE0IDE1Ny4yMjQgNDg0LjYzOEMxNTYuOTQ3IDQ4NC44MjIgMTU2LjYwNSA0ODQuOTUyIDE1Ni40OTcgNDg1LjA4MkMxNTQuNDY3IDQ4Ny41MzEgMTUzLjA2NyA0OTAuMjAyIDE1MS42MjQgNDkzLjAxNEMxNTEuNDQxIDQ5My4zNzEgMTUwLjI5NyA0OTcuODYyIDE1MC42MSA0OTcuOTczQzE1MC44NDkgNDk4LjA1OCAxNTIuNTY5IDQ5My44NzcgMTUyLjc3OSA0OTMuNzYzQzE1NC4wNDIgNDkzLjA3NyAxNTQuMDU0IDQ5MS40NjIgMTU1LjIyNCA0OTAuNjM1eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2NjY2NjYyI+CisgIDxwYXRoIGQ9Ik0xNzEuOTU3IDUxMC4xNzlDMTcyLjQwMSA1MDkuMzEgMTczLjk3NyA1MDguMTA4IDE3My44NjQgNTA3LjIxOUMxNzMuNzQ2IDUwNi4yOTEgMTc0LjIxNCA1MDQuODQ4IDE3My4zMDIgNTA1LjUzNkMxNzIuMDQ1IDUwNi40ODQgMTY4LjU5NiA1MDcuODMzIDE2OC4zMjYgNTEzLjY0MUMxNjguMyA1MTQuMjEyIDE3MS4yNzQgNTExLjUxOSAxNzEuOTU3IDUxMC4xNzl6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjY2NjY2NjIj4KKyAgPHBhdGggZD0iTTE4Ni40IDQ5My4wMDFDMTg2LjggNDkyLjMzMyAxODcuNTA4IDQ5Mi44MDYgMTg3Ljk2NyA0OTIuNTQzQzE4OC42MTUgNDkyLjE3MSAxODkuMjI2IDQ5MS42MTMgMTg5LjUxOCA0OTAuOTY0QzE5MC40ODggNDg4LjgxNSAxOTIuMjU3IDQ4Ni45OTUgMTkyLjQgNDg0LjYwMUMxOTAuOTA5IDQ4My4xOTYgMTkwLjIzIDQ4NS4yMzYgMTg5LjYgNDg2LjIwMUMxODguMjc3IDQ4NC41NTQgMTg3LjI3OCA0ODYuNDI4IDE4NS45NzggNDg2Ljk0N0MxODUuOTA4IDQ4Ni45NzUgMTg1LjY5NSA0ODYuNjI4IDE4NS42MiA0ODYuNjU1QzE4NC40NDMgNDg3LjA5NSAxODMuNzYzIDQ4OC4xNzYgMTgyLjc2NSA0ODguOTU3QzE4Mi41OTQgNDg5LjA5MSAxODIuMTg5IDQ4OC45MTEgMTgyLjA0MiA0ODkuMDQ3QzE4MS4zOSA0ODkuNjUgMTgwLjQxNyA0ODkuOTc1IDE4MC4xMzcgNDkwLjY1N0MxNzkuMDI3IDQ5My4zNjQgMTc1Ljg4NyA0OTUuNDU5IDE3NCA1MDMuMDAxQzE3NC4zODEgNTAzLjkxIDE3OC41MTIgNDk2LjM1OSAxNzguOTk5IDQ5NS42NjFDMTc5LjgzNSA0OTQuNDY1IDE3OS45NTMgNDk3LjMyMiAxODEuMjI5IDQ5Ni42NTZDMTgxLjI4IDQ5Ni42MjkgMTgxLjQ2NiA0OTYuODY3IDE4MS42IDQ5Ny4wMDFDMTgxLjc5NCA0OTYuNzIxIDE4Mi4wMTIgNDk2LjQ5MiAxODIuNCA0OTYuNjAxQzE4Mi40IDQ5Ni4yMDEgMTgyLjI2NiA0OTUuNjQ1IDE4Mi40NjcgNDk1LjQ4NkMxODMuNzA0IDQ5NC41MDkgMTgzLjYyIDQ5My40NDEgMTg0LjQgNDkyLjIwMUMxODQuODU4IDQ5Mi45OSAxODUuOTE5IDQ5Mi4yNzEgMTg2LjQgNDkzLjAwMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNjY2NjY2MiPgorICA8cGF0aCBkPSJNMjQ2LjIgNTQ3LjQwMUMyNDYuMiA1NDcuNDAxIDI1My42IDUyNy4wMDEgMjQ5LjIgNTE1LjgwMUMyNDkuMiA1MTUuODAxIDI2MC42IDUzNy40MDEgMjU2IDU0OC42MDFDMjU2IDU0OC42MDEgMjU1LjYgNTM4LjIwMSAyNTEuNiA1MzMuMjAxQzI1MS42IDUzMy4yMDEgMjQ3LjYgNTQ2LjAwMSAyNDYuMiA1NDcuNDAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2NjY2NjYyI+CisgIDxwYXRoIGQ9Ik0yMzEuNCA1NDQuODAxQzIzMS40IDU0NC44MDEgMjM2LjggNTM2LjAwMSAyMjguOCA1MTcuNjAxQzIyOC44IDUxNy42MDEgMjI4IDUzOC4wMDEgMjIxLjIgNTQ5LjAwMUMyMjEuMiA1NDkuMDAxIDIzNS40IDUyOC44MDEgMjMxLjQgNTQ0LjgwMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNjY2NjY2MiPgorICA8cGF0aCBkPSJNMjIxLjQgNTQyLjgwMUMyMjEuNCA1NDIuODAxIDIyMS4yIDUyMi44MDEgMjIxLjYgNTE5LjgwMUMyMjEuNiA1MTkuODAxIDIxNy44IDUzNi40MDEgMjA3LjYgNTQ2LjAwMUMyMDcuNiA1NDYuMDAxIDIyMiA1MzQuMDAxIDIyMS40IDU0Mi44MDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjY2NjY2NjIj4KKyAgPHBhdGggZD0iTTIxMS44IDUxMC44MDFDMjExLjggNTEwLjgwMSAyMTcuOCA1MjQuNDAxIDIwNy44IDU0Mi44MDFDMjA3LjggNTQyLjgwMSAyMTQuMiA1MzAuNjAxIDIwOS40IDUyMy42MDFDMjA5LjQgNTIzLjYwMSAyMTIgNTIwLjIwMSAyMTEuOCA1MTAuODAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2NjY2NjYyI+CisgIDxwYXRoIGQ9Ik0xOTIuNiA1NDIuNDAxQzE5Mi42IDU0Mi40MDEgMTkxLjYgNTI2LjgwMSAxOTMuNCA1MjQuNjAxQzE5My40IDUyNC42MDEgMTkzLjYgNTE4LjIwMSAxOTMuMiA1MTcuMjAxQzE5My4yIDUxNy4yMDEgMTk3LjIgNTExLjAwMSAxOTcuNCA1MTguNDAxQzE5Ny40IDUxOC40MDEgMTk4LjggNTI2LjIwMSAyMDEuNiA1MzAuODAxQzIwMS42IDUzMC44MDEgMjA1LjIgNTM2LjIwMSAyMDUgNTQyLjYwMUMyMDUgNTQyLjYwMSAxOTUgNTEyLjQwMSAxOTIuNiA1NDIuNDAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2NjY2NjYyI+CisgIDxwYXRoIGQ9Ik0xODkgNTE0LjgwMUMxODkgNTE0LjgwMSAxODIuNCA1MjUuNjAxIDE4MC42IDU0NC42MDFDMTgwLjYgNTQ0LjYwMSAxNzkuMiA1MzguNDAxIDE4MyA1MjQuMDAxQzE4MyA1MjQuMDAxIDE4Ny4yIDUwOC42MDEgMTg5IDUxNC44MDF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjY2NjY2NjIj4KKyAgPHBhdGggZD0iTTE2Ny4yIDUzNC42MDFDMTY3LjIgNTM0LjYwMSAxNzIuMiA1MjkuMjAxIDE3My42IDUyNC4yMDFDMTczLjYgNTI0LjIwMSAxNzcuMiA1MDguNDAxIDE3MC44IDUxNy4wMDFDMTcwLjggNTE3LjAwMSAxNzEgNTI1LjAwMSAxNjIuOCA1MzIuNDAxQzE2Mi44IDUzMi40MDEgMTY3LjYgNTMwLjAwMSAxNjcuMiA1MzQuNjAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2NjY2NjYyI+CisgIDxwYXRoIGQ9Ik0xNjEuNCA1MjkuNjAxQzE2MS40IDUyOS42MDEgMTY0LjggNTEyLjIwMSAxNjUuNiA1MTEuNDAxQzE2NS42IDUxMS40MDEgMTY3LjQgNTA4LjAwMSAxNjQuNiA1MTEuMjAxQzE2NC42IDUxMS4yMDEgMTU1LjggNTMwLjQwMSAxNTEuOCA1MzcuMDAxQzE1MS44IDUzNy4wMDEgMTU5LjggNTI3LjgwMSAxNjEuNCA1MjkuNjAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2NjY2NjYyI+CisgIDxwYXRoIGQ9Ik0xNTUuNiA1MTMuMDAxQzE1NS42IDUxMy4wMDEgMTY3LjIgNDkwLjYwMSAxNDUuNCA1MTYuNDAxQzE0NS40IDUxNi40MDEgMTU2LjQgNTA2LjYwMSAxNTUuNiA1MTMuMDAxeiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2NjY2NjYyI+CisgIDxwYXRoIGQ9Ik0xNDAuMiA0OTguNDAxQzE0MC4yIDQ5OC40MDEgMTQ1IDQ3OS42MDEgMTQ3LjYgNDc5LjgwMUMxNDcuNiA0NzkuODAxIDE1NS44IDQ3MC44MDEgMTQ5LjIgNDgxLjQwMUMxNDkuMiA0ODEuNDAxIDE0My4yIDQ5MS4wMDEgMTQzLjggNTAwLjgwMUMxNDMuOCA1MDAuODAxIDE0My4yIDQ5MS4yMDEgMTQwLjIgNDk4LjQwMXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNjY2NjY2MiPgorICA8cGF0aCBkPSJNNDcwLjUgNDg3QzQ3MC41IDQ4NyA0NTguNSA0NzcgNDU2IDQ3My41QzQ1NiA0NzMuNSA0NjkuNSA0OTIgNDY5LjUgNDk5QzQ2OS41IDQ5OSA0NzIgNDkxLjUgNDcwLjUgNDg3eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0iZmlsbDogI2NjY2NjYyI+CisgIDxwYXRoIGQ9Ik00NzYgNDY1QzQ3NiA0NjUgNDU1IDQ1MCA0NTEuNSA0NDIuNUM0NTEuNSA0NDIuNSA0NzggNDcyIDQ3OCA0NzYuNUM0NzggNDc2LjUgNDc4LjUgNDY3LjUgNDc2IDQ2NXoiLz4KKyA8L2c+CisgPGcgc3R5bGU9ImZpbGw6ICNjY2NjY2MiPgorICA8cGF0aCBkPSJNNDkzIDMxMUM0OTMgMzExIDQ4MSAzMDMgNDc5LjUgMzA1QzQ3OS41IDMwNSA0OTAgMzExLjUgNDkyLjUgMzIwQzQ5Mi41IDMyMCA0OTEgMzExIDQ5MyAzMTF6Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJmaWxsOiAjY2NjY2NjIj4KKyAgPHBhdGggZD0iTTUwMS41IDM5MS41TDQ4NCAzNzkuNUM0ODQgMzc5LjUgNTAzIDM5Ni41IDUwMy41IDQwMC41TDUwMS41IDM5MS41eiIvPgorIDwvZz4KKyA8ZyBzdHlsZT0ic3Ryb2tlOiMwMDAwMDAiPgorICA8cGF0aCBkPSJNMTEwLjc1IDM2OUwxMzIuNzUgMzczLjc1Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJzdHJva2U6IzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0xNjEgNTMxQzE2MSA1MzEgMTYwLjUgNTI3LjUgMTUxLjUgNTM4Ii8+CisgPC9nPgorIDxnIHN0eWxlPSJzdHJva2U6IzAwMDAwMCI+CisgIDxwYXRoIGQ9Ik0xNjYuNSA1MzZDMTY2LjUgNTM2IDE2OC41IDUyOS41IDE2MiA1MzQiLz4KKyA8L2c+CisgPGcgc3R5bGU9InN0cm9rZTojMDAwMDAwIj4KKyAgPHBhdGggZD0iTTIyMC41IDU0NC41QzIyMC41IDU0NC41IDIyMiA1MzMuNSAyMTAuNSA1NDYuNSIvPgorIDwvZz4KKzwvc3ZnPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3RocmVhZHMvYS5leGFtcGxlLm9yZy54bWwgYi9saWJ4bWwyL3Rlc3QvdGhyZWFkcy9hLmV4YW1wbGUub3JnLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZGUyYzQ1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3RocmVhZHMvYS5leGFtcGxlLm9yZy54bWwKQEAgLTAsMCArMSw2IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhRE9DVFlQRSBjYXRhbG9nIFBVQkxJQyAiLS8vT0FTSVMvL0RURCBFbnRpdHkgUmVzb2x1dGlvbiBYTUwgQ2F0YWxvZyBWMS4wLy9FTiIgImh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvY29tbWl0dGVlcy9lbnRpdHkvcmVsZWFzZS8xLjAvY2F0YWxvZy5kdGQiPgorPGNhdGFsb2cgeG1sbnM9InVybjpvYXNpczpuYW1lczp0YzplbnRpdHk6eG1sbnM6eG1sOmNhdGFsb2ciPgorPHJld3JpdGVTeXN0ZW0gc3lzdGVtSWRTdGFydFN0cmluZz0iaHR0cDovL2V4YW1wbGUub3JnL2EiIHJld3JpdGVQcmVmaXg9ImEiLz4KKzxuZXh0Q2F0YWxvZyBjYXRhbG9nPSJjLmV4YW1wbGUub3JnLnhtbCIvPgorPC9jYXRhbG9nPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3RocmVhZHMvYS9hLmR0ZCBiL2xpYnhtbDIvdGVzdC90aHJlYWRzL2EvYS5kdGQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjI5ODA4NQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC90aHJlYWRzL2EvYS5kdGQKQEAgLTAsMCArMSBAQAorPCFFTEVNRU5UIGEgKCNQQ0RBVEEpPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3RocmVhZHMvYWJjLmR0ZCBiL2xpYnhtbDIvdGVzdC90aHJlYWRzL2FiYy5kdGQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjdhMDhmZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC90aHJlYWRzL2FiYy5kdGQKQEAgLTAsMCArMSw3IEBACis8IUVOVElUWSAlIGEgU1lTVEVNICJodHRwOi8vZXhhbXBsZS5vcmcvYS9hLmR0ZCI+CislYTsKKzwhRU5USVRZICUgYiBTWVNURU0gImh0dHA6Ly9leGFtcGxlLm9yZy9iL2IuZHRkIj4KKyViOworPCFFTlRJVFkgJSBjIFNZU1RFTSAiaHR0cDovL2V4YW1wbGUub3JnL2MvYy5kdGQiPgorJWM7Cis8IUVMRU1FTlQgYWJjIChhLCBiLCBjKT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC90aHJlYWRzL2FiYy54bWwgYi9saWJ4bWwyL3Rlc3QvdGhyZWFkcy9hYmMueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVlOTgxNDQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvdGhyZWFkcy9hYmMueG1sCkBAIC0wLDAgKzEsNyBAQAorPCFET0NUWVBFIGFiYyBTWVNURU0gImh0dHA6Ly9leGFtcGxlLm9yZy9hYmMuZHRkIj4KKzxhYmM+CisgIDxhPkxldCdzIHVzZSBwcmVkZWZpbmVkIGVudGl0ZXMgJmFtcDsgJmx0OyAmZ3Q7PC9hPgorICA8Yj5MZXQncyB1c2UgYSBEVEQgZGVmaW5lZCBlbnRpdHkgJmJlbnQ7PC9iPgorICA8Yy8+Cis8L2FiYz4KKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3RocmVhZHMvYWNiLmR0ZCBiL2xpYnhtbDIvdGVzdC90aHJlYWRzL2FjYi5kdGQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWZjNzdjNQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC90aHJlYWRzL2FjYi5kdGQKQEAgLTAsMCArMSw3IEBACis8IUVOVElUWSAlIGEgU1lTVEVNICJodHRwOi8vZXhhbXBsZS5vcmcvYS9hLmR0ZCI+CislYTsKKzwhRU5USVRZICUgYyBTWVNURU0gImh0dHA6Ly9leGFtcGxlLm9yZy9jL2MuZHRkIj4KKyVjOworPCFFTlRJVFkgJSBiIFNZU1RFTSAiaHR0cDovL2V4YW1wbGUub3JnL2IvYi5kdGQiPgorJWI7Cis8IUVMRU1FTlQgYWNiIChhLCBjLCBiKT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC90aHJlYWRzL2FjYi54bWwgYi9saWJ4bWwyL3Rlc3QvdGhyZWFkcy9hY2IueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmExNGUzNjIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvdGhyZWFkcy9hY2IueG1sCkBAIC0wLDAgKzEsNyBAQAorPCFET0NUWVBFIGFjYiBTWVNURU0gImh0dHA6Ly9leGFtcGxlLm9yZy9hY2IuZHRkIj4KKzxhY2I+CisgIDxhPkxldCdzIHVzZSBwcmVkZWZpbmVkIGVudGl0ZXMgJmFtcDsgJmx0OyAmZ3Q7PC9hPgorICA8Yy8+CisgIDxiPkxldCdzIHVzZSBhIERURCBkZWZpbmVkIGVudGl0eSAmYmVudDs8L2I+Cis8L2FjYj4KKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3RocmVhZHMvYi5leGFtcGxlLm9yZy54bWwgYi9saWJ4bWwyL3Rlc3QvdGhyZWFkcy9iLmV4YW1wbGUub3JnLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZGZlNWZjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3RocmVhZHMvYi5leGFtcGxlLm9yZy54bWwKQEAgLTAsMCArMSw2IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhRE9DVFlQRSBjYXRhbG9nIFBVQkxJQyAiLS8vT0FTSVMvL0RURCBFbnRpdHkgUmVzb2x1dGlvbiBYTUwgQ2F0YWxvZyBWMS4wLy9FTiIgImh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvY29tbWl0dGVlcy9lbnRpdHkvcmVsZWFzZS8xLjAvY2F0YWxvZy5kdGQiPgorPGNhdGFsb2cgeG1sbnM9InVybjpvYXNpczpuYW1lczp0YzplbnRpdHk6eG1sbnM6eG1sOmNhdGFsb2ciPgorPHJld3JpdGVTeXN0ZW0gc3lzdGVtSWRTdGFydFN0cmluZz0iaHR0cDovL2V4YW1wbGUub3JnL2IiIHJld3JpdGVQcmVmaXg9ImIiLz4KKzxuZXh0Q2F0YWxvZyBjYXRhbG9nPSJjLmV4YW1wbGUub3JnLnhtbCIvPgorPC9jYXRhbG9nPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3RocmVhZHMvYi9iLmR0ZCBiL2xpYnhtbDIvdGVzdC90aHJlYWRzL2IvYi5kdGQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTlkZTg4ZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC90aHJlYWRzL2IvYi5kdGQKQEAgLTAsMCArMSwyIEBACis8IUVMRU1FTlQgYiAoI1BDREFUQSk+Cis8IUVOVElUWSBiZW50ICJ0aGUgYiBlbnRpdHkiPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3RocmVhZHMvYmFjLmR0ZCBiL2xpYnhtbDIvdGVzdC90aHJlYWRzL2JhYy5kdGQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDM2YTRlNgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC90aHJlYWRzL2JhYy5kdGQKQEAgLTAsMCArMSw3IEBACis8IUVOVElUWSAlIGIgU1lTVEVNICJodHRwOi8vZXhhbXBsZS5vcmcvYi9iLmR0ZCI+CislYjsKKzwhRU5USVRZICUgYSBTWVNURU0gImh0dHA6Ly9leGFtcGxlLm9yZy9hL2EuZHRkIj4KKyVhOworPCFFTlRJVFkgJSBjIFNZU1RFTSAiaHR0cDovL2V4YW1wbGUub3JnL2MvYy5kdGQiPgorJWM7Cis8IUVMRU1FTlQgYmFjIChiLCBhLCBjKT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC90aHJlYWRzL2JhYy54bWwgYi9saWJ4bWwyL3Rlc3QvdGhyZWFkcy9iYWMueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYzZDZlZmMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvdGhyZWFkcy9iYWMueG1sCkBAIC0wLDAgKzEsNyBAQAorPCFET0NUWVBFIGJhYyBTWVNURU0gImh0dHA6Ly9leGFtcGxlLm9yZy9iYWMuZHRkIj4KKzxiYWM+CisgIDxiPkxldCdzIHVzZSBhIERURCBkZWZpbmVkIGVudGl0eSAmYmVudDs8L2I+CisgIDxhPkxldCdzIHVzZSBwcmVkZWZpbmVkIGVudGl0ZXMgJmFtcDsgJmx0OyAmZ3Q7PC9hPgorICA8Yy8+Cis8L2JhYz4KKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3RocmVhZHMvYmNhLmR0ZCBiL2xpYnhtbDIvdGVzdC90aHJlYWRzL2JjYS5kdGQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjM5MTkyYQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC90aHJlYWRzL2JjYS5kdGQKQEAgLTAsMCArMSw3IEBACis8IUVOVElUWSAlIGIgU1lTVEVNICJodHRwOi8vZXhhbXBsZS5vcmcvYi9iLmR0ZCI+CislYjsKKzwhRU5USVRZICUgYyBTWVNURU0gImh0dHA6Ly9leGFtcGxlLm9yZy9jL2MuZHRkIj4KKyVjOworPCFFTlRJVFkgJSBhIFNZU1RFTSAiaHR0cDovL2V4YW1wbGUub3JnL2EvYS5kdGQiPgorJWE7Cis8IUVMRU1FTlQgYmNhIChiLCBjLCBhKT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC90aHJlYWRzL2JjYS54bWwgYi9saWJ4bWwyL3Rlc3QvdGhyZWFkcy9iY2EueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNlNjBkMDEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvdGhyZWFkcy9iY2EueG1sCkBAIC0wLDAgKzEsNyBAQAorPCFET0NUWVBFIGJjYSBTWVNURU0gImh0dHA6Ly9leGFtcGxlLm9yZy9iY2EuZHRkIj4KKzxiY2E+CisgIDxiPkxldCdzIHVzZSBhIERURCBkZWZpbmVkIGVudGl0eSAmYmVudDs8L2I+CisgIDxjLz4KKyAgPGE+TGV0J3MgdXNlIHByZWRlZmluZWQgZW50aXRlcyAmYW1wOyAmbHQ7ICZndDs8L2E+Cis8L2JjYT4KKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3RocmVhZHMvYy5leGFtcGxlLm9yZy54bWwgYi9saWJ4bWwyL3Rlc3QvdGhyZWFkcy9jLmV4YW1wbGUub3JnLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MTM0OGIxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3RocmVhZHMvYy5leGFtcGxlLm9yZy54bWwKQEAgLTAsMCArMSw2IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhRE9DVFlQRSBjYXRhbG9nIFBVQkxJQyAiLS8vT0FTSVMvL0RURCBFbnRpdHkgUmVzb2x1dGlvbiBYTUwgQ2F0YWxvZyBWMS4wLy9FTiIgImh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvY29tbWl0dGVlcy9lbnRpdHkvcmVsZWFzZS8xLjAvY2F0YWxvZy5kdGQiPgorPGNhdGFsb2cgeG1sbnM9InVybjpvYXNpczpuYW1lczp0YzplbnRpdHk6eG1sbnM6eG1sOmNhdGFsb2ciPgorPHJld3JpdGVTeXN0ZW0gc3lzdGVtSWRTdGFydFN0cmluZz0iaHR0cDovL2V4YW1wbGUub3JnL2MiIHJld3JpdGVQcmVmaXg9ImMiLz4KKzxyZXdyaXRlU3lzdGVtIHN5c3RlbUlkU3RhcnRTdHJpbmc9Imh0dHA6Ly9leGFtcGxlLm9yZy8iIHJld3JpdGVQcmVmaXg9Ii4vIi8+Cis8L2NhdGFsb2c+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvdGhyZWFkcy9jL2MuZHRkIGIvbGlieG1sMi90ZXN0L3RocmVhZHMvYy9jLmR0ZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MjQ4YTViCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3RocmVhZHMvYy9jLmR0ZApAQCAtMCwwICsxIEBACis8IUVMRU1FTlQgYyBFTVBUWT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC90aHJlYWRzL2NhYi5kdGQgYi9saWJ4bWwyL3Rlc3QvdGhyZWFkcy9jYWIuZHRkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBhNjJlOTEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvdGhyZWFkcy9jYWIuZHRkCkBAIC0wLDAgKzEsNyBAQAorPCFFTlRJVFkgJSBjIFNZU1RFTSAiaHR0cDovL2V4YW1wbGUub3JnL2MvYy5kdGQiPgorJWM7Cis8IUVOVElUWSAlIGEgU1lTVEVNICJodHRwOi8vZXhhbXBsZS5vcmcvYS9hLmR0ZCI+CislYTsKKzwhRU5USVRZICUgYiBTWVNURU0gImh0dHA6Ly9leGFtcGxlLm9yZy9iL2IuZHRkIj4KKyViOworPCFFTEVNRU5UIGNhYiAoYywgYSwgYik+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvdGhyZWFkcy9jYWIueG1sIGIvbGlieG1sMi90ZXN0L3RocmVhZHMvY2FiLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMTYzMWQwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3RocmVhZHMvY2FiLnhtbApAQCAtMCwwICsxLDcgQEAKKzwhRE9DVFlQRSBjYWIgU1lTVEVNICJodHRwOi8vZXhhbXBsZS5vcmcvY2FiLmR0ZCI+Cis8Y2FiPgorICA8Yy8+CisgIDxhPkxldCdzIHVzZSBwcmVkZWZpbmVkIGVudGl0ZXMgJmFtcDsgJmx0OyAmZ3Q7PC9hPgorICA8Yj5MZXQncyB1c2UgYSBEVEQgZGVmaW5lZCBlbnRpdHkgJmJlbnQ7PC9iPgorPC9jYWI+CisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC90aHJlYWRzL2NiYS5kdGQgYi9saWJ4bWwyL3Rlc3QvdGhyZWFkcy9jYmEuZHRkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcxYjk2YjQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvdGhyZWFkcy9jYmEuZHRkCkBAIC0wLDAgKzEsNyBAQAorPCFFTlRJVFkgJSBjIFNZU1RFTSAiaHR0cDovL2V4YW1wbGUub3JnL2MvYy5kdGQiPgorJWM7Cis8IUVOVElUWSAlIGIgU1lTVEVNICJodHRwOi8vZXhhbXBsZS5vcmcvYi9iLmR0ZCI+CislYjsKKzwhRU5USVRZICUgYSBTWVNURU0gImh0dHA6Ly9leGFtcGxlLm9yZy9hL2EuZHRkIj4KKyVhOworPCFFTEVNRU5UIGNiYSAoYywgYiwgYSk+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvdGhyZWFkcy9jYmEueG1sIGIvbGlieG1sMi90ZXN0L3RocmVhZHMvY2JhLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ODcwOGU0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3RocmVhZHMvY2JhLnhtbApAQCAtMCwwICsxLDcgQEAKKzwhRE9DVFlQRSBjYmEgU1lTVEVNICJodHRwOi8vZXhhbXBsZS5vcmcvY2JhLmR0ZCI+Cis8Y2JhPgorICA8Yy8+CisgIDxiPkxldCdzIHVzZSBhIERURCBkZWZpbmVkIGVudGl0eSAmYmVudDs8L2I+CisgIDxhPkxldCdzIHVzZSBwcmVkZWZpbmVkIGVudGl0ZXMgJmFtcDsgJmx0OyAmZ3Q7PC9hPgorPC9jYmE+CisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC90aHJlYWRzL2NvbXBsZXgueG1sIGIvbGlieG1sMi90ZXN0L3RocmVhZHMvY29tcGxleC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDE3NGU5MAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC90aHJlYWRzL2NvbXBsZXgueG1sCkBAIC0wLDAgKzEsNiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IURPQ1RZUEUgY2F0YWxvZyBQVUJMSUMgIi0vL09BU0lTLy9EVEQgRW50aXR5IFJlc29sdXRpb24gWE1MIENhdGFsb2cgVjEuMC8vRU4iICJodHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL2NvbW1pdHRlZXMvZW50aXR5L3JlbGVhc2UvMS4wL2NhdGFsb2cuZHRkIj4KKzxjYXRhbG9nIHhtbG5zPSJ1cm46b2FzaXM6bmFtZXM6dGM6ZW50aXR5OnhtbG5zOnhtbDpjYXRhbG9nIj4KKzxkZWxlZ2F0ZVN5c3RlbSBzeXN0ZW1JZFN0YXJ0U3RyaW5nPSJodHRwOi8vZXhhbXBsZS5vcmcvIgorICAgICAgICAgICAgICAgIGNhdGFsb2c9ImV4YW1wbGUub3JnLnhtbCIvPgorPC9jYXRhbG9nPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3RocmVhZHMvZXhhbXBsZS5vcmcueG1sIGIvbGlieG1sMi90ZXN0L3RocmVhZHMvZXhhbXBsZS5vcmcueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIxYzI2MDIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvdGhyZWFkcy9leGFtcGxlLm9yZy54bWwKQEAgLTAsMCArMSw5IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhRE9DVFlQRSBjYXRhbG9nIFBVQkxJQyAiLS8vT0FTSVMvL0RURCBFbnRpdHkgUmVzb2x1dGlvbiBYTUwgQ2F0YWxvZyBWMS4wLy9FTiIgImh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvY29tbWl0dGVlcy9lbnRpdHkvcmVsZWFzZS8xLjAvY2F0YWxvZy5kdGQiPgorPGNhdGFsb2cgeG1sbnM9InVybjpvYXNpczpuYW1lczp0YzplbnRpdHk6eG1sbnM6eG1sOmNhdGFsb2ciPgorPGRlbGVnYXRlU3lzdGVtIHN5c3RlbUlkU3RhcnRTdHJpbmc9Imh0dHA6Ly9leGFtcGxlLm9yZy9hIgorICAgICAgICAgICAgICAgIGNhdGFsb2c9ImEuZXhhbXBsZS5vcmcueG1sIi8+Cis8ZGVsZWdhdGVTeXN0ZW0gc3lzdGVtSWRTdGFydFN0cmluZz0iaHR0cDovL2V4YW1wbGUub3JnL2IiCisgICAgICAgICAgICAgICAgY2F0YWxvZz0iYi5leGFtcGxlLm9yZy54bWwiLz4KKzxuZXh0Q2F0YWxvZyBjYXRhbG9nPSJjLmV4YW1wbGUub3JnLnhtbCIvPgorPC9jYXRhbG9nPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3RocmVhZHMvaW52YWxpZC54bWwgYi9saWJ4bWwyL3Rlc3QvdGhyZWFkcy9pbnZhbGlkLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MTIzMjc1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3RocmVhZHMvaW52YWxpZC54bWwKQEAgLTAsMCArMSwyIEBACis8IS0tIFdlbGwgZm9ybWVkIGJ1dCBpbnZhbGlkIC0tPgorPGRvYy8+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvdGl0bGUueG1sIGIvbGlieG1sMi90ZXN0L3RpdGxlLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYjNmZTA3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3RpdGxlLnhtbApAQCAtMCwwICsxLDIgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8dGl0bGU+bXkgdGl0bGU8L3RpdGxlPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3RzdGJsYW5rcy54bWwgYi9saWJ4bWwyL3Rlc3QvdHN0YmxhbmtzLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YzVhMjNkCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3RzdGJsYW5rcy54bWwKQEAgLTAsMCArMSw0OTUgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPGEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKK3Rlc3Q9InBhc3NlZCI+Y29udGVudDwvYT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC91dGYxNmJlYm9tLnhtbCBiL2xpYnhtbDIvdGVzdC91dGYxNmJlYm9tLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YzQwMmUwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3V0ZjE2YmVib20ueG1sCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC91dGYxNmJvbS54bWwgYi9saWJ4bWwyL3Rlc3QvdXRmMTZib20ueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE5MTZkYzEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvdXRmMTZib20ueG1sCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC91dGYxNmxlYm9tLnhtbCBiL2xpYnhtbDIvdGVzdC91dGYxNmxlYm9tLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MzM2NDBjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3V0ZjE2bGVib20ueG1sCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC91dGY4Ym9tLnhtbCBiL2xpYnhtbDIvdGVzdC91dGY4Ym9tLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNGNkZmYwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3V0Zjhib20ueG1sCkBAIC0wLDAgKzEgQEAKK++7vzxmb28vPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3ZhbGlkLzEyNzc3Mi54bWwgYi9saWJ4bWwyL3Rlc3QvdmFsaWQvMTI3NzcyLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYTM5MTk0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3ZhbGlkLzEyNzc3Mi54bWwKQEAgLTAsMCArMSw3IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhRE9DVFlQRSBhIFNZU1RFTSAiZHRkcy8xMjc3NzIuZHRkIj4KKworPGE+CisgIDxiIHhsaW5rOmhyZWY9Imh0dHA6Ly9mYWtldXJsLm5ldCI+YiB0ZXh0PC9iPgorPC9hPgorCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvdmFsaWQvNjk0MjI4LnhtbCBiL2xpYnhtbDIvdGVzdC92YWxpZC82OTQyMjgueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA1N2M5MjYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvdmFsaWQvNjk0MjI4LnhtbApAQCAtMCwwICsxLDUgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IURPQ1RZUEUgcm9vdCBTWVNURU0gImR0ZHMvNjk0MjI4LmR0ZCI+Cis8cm9vdD4KKyAgJmVudGl0eTsKKzwvcm9vdD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC92YWxpZC9SRUMteG1sLTE5OTgwMjEwLnhtbCBiL2xpYnhtbDIvdGVzdC92YWxpZC9SRUMteG1sLTE5OTgwMjEwLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZTkzZmIzCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3ZhbGlkL1JFQy14bWwtMTk5ODAyMTAueG1sCkBAIC0wLDAgKzEsNDE5NyBAQAorPD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nSVNPLTg4NTktMScgc3RhbmRhbG9uZT0nbm8nPz4KKzwhRE9DVFlQRSBzcGVjIFNZU1RFTSAiZHRkcy9zcGVjLmR0ZCIgWworCis8IS0tIExBU1QgVE9VQ0hFRCBCWTogVGltIEJyYXksIDggRmVicnVhcnkgMTk5NyAtLT4KKworPCEtLSBUaGUgd29yZHMgJ0ZJTkFMIEVESVQnIGluIGNvbW1lbnRzIG1hcmsgcGxhY2VzIHdoZXJlIGNoYW5nZXMKK25lZWQgdG8gYmUgbWFkZSBhZnRlciBhcHByb3ZhbCBvZiB0aGUgZG9jdW1lbnQgYnkgdGhlIEVSQiwgYmVmb3JlCitwdWJsaWNhdGlvbi4gIC0tPgorCis8IUVOVElUWSBYTUwudmVyc2lvbiAiMS4wIj4KKzwhRU5USVRZIGRvYy5kYXRlICIxMCBGZWJydWFyeSAxOTk4Ij4KKzwhRU5USVRZIGlzbzYuZG9jLmRhdGUgIjE5OTgwMjEwIj4KKzwhRU5USVRZIHczYy5kb2MuZGF0ZSAiMDItRmViLTE5OTgiPgorPCFFTlRJVFkgZHJhZnQuZGF5ICcxMCc+Cis8IUVOVElUWSBkcmFmdC5tb250aCAnRmVicnVhcnknPgorPCFFTlRJVFkgZHJhZnQueWVhciAnMTk5OCc+CisKKzwhRU5USVRZIFdlYlNHTUwgCisgJ1dlYlNHTUwgQWRhcHRhdGlvbnMgQW5uZXggdG8gSVNPIDg4NzknPgorCis8IUVOVElUWSBsdCAgICAgIjwiPiAKKzwhRU5USVRZIGd0ICAgICAiPiI+IAorPCFFTlRJVFkgeG1scGlvICInJmx0Oz94bWwnIj4KKzwhRU5USVRZIHBpYyAgICAiJz8+JyI+Cis8IUVOVElUWSBiciAgICAgIlxuIj4KKzwhRU5USVRZIGNlbGxiYWNrICcjYzBkOWMwJz4KKzwhRU5USVRZIG1kYXNoICAiLS0iPiA8IS0tICYjeDIwMTQsIGJ1dCBuc2dtbHMgZG9lc24ndCBncm9rIGhleCAtLT4KKzwhRU5USVRZIGNvbSAgICAiLS0iPgorPCFFTlRJVFkgY29tbyAgICItLSI+Cis8IUVOVElUWSBjb21jICAgIi0tIj4KKzwhRU5USVRZIGhjcm8gICAiJmFtcDsjeCI+Cis8IS0tIDwhRU5USVRZIG5ic3AgIqAiPiAtLT4KKzwhRU5USVRZIG5ic3AgICAiJiMxNjA7Ij4KKzwhRU5USVRZIG1hZ2ljZW50cyAiPGNvZGU+YW1wPC9jb2RlPiwKKzxjb2RlPmx0PC9jb2RlPiwKKzxjb2RlPmd0PC9jb2RlPiwKKzxjb2RlPmFwb3M8L2NvZGU+LAorPGNvZGU+cXVvdDwvY29kZT4iPgorIAorPCEtLSBhdWRpZW5jZSBhbmQgZGlzdHJpYnV0aW9uIHN0YXR1czogIGZvciB1c2UgYXQgcHVibGljYXRpb24gdGltZSAtLT4KKzwhRU5USVRZIGRvYy5hdWRpZW5jZSAicHVibGljIHJldmlldyBhbmQgZGlzY3Vzc2lvbiI+Cis8IUVOVElUWSBkb2MuZGlzdHJpYnV0aW9uICJtYXkgYmUgZGlzdHJpYnV0ZWQgZnJlZWx5LCBhcyBsb25nIGFzCithbGwgdGV4dCBhbmQgbGVnYWwgbm90aWNlcyByZW1haW4gaW50YWN0Ij4KKworXT4KKworPCEtLSBmb3IgUGFub3JhbWEgKi0tPgorPD9WRVJCQVRJTSAiZWciID8+CisKKzxzcGVjPgorPGhlYWRlcj4KKzx0aXRsZT5FeHRlbnNpYmxlIE1hcmt1cCBMYW5ndWFnZSAoWE1MKSAxLjA8L3RpdGxlPgorPHZlcnNpb24+PC92ZXJzaW9uPgorPHczYy1kZXNpZ25hdGlvbj5SRUMteG1sLSZpc282LmRvYy5kYXRlOzwvdzNjLWRlc2lnbmF0aW9uPgorPHczYy1kb2N0eXBlPlczQyBSZWNvbW1lbmRhdGlvbjwvdzNjLWRvY3R5cGU+Cis8cHViZGF0ZT48ZGF5PiZkcmFmdC5kYXk7PC9kYXk+PG1vbnRoPiZkcmFmdC5tb250aDs8L21vbnRoPjx5ZWFyPiZkcmFmdC55ZWFyOzwveWVhcj48L3B1YmRhdGU+CisKKzxwdWJsb2M+Cis8bG9jICBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi8xOTk4L1JFQy14bWwtJmlzbzYuZG9jLmRhdGU7Ij4KK2h0dHA6Ly93d3cudzMub3JnL1RSLzE5OTgvUkVDLXhtbC0maXNvNi5kb2MuZGF0ZTs8L2xvYz4KKzxsb2MgIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSLzE5OTgvUkVDLXhtbC0maXNvNi5kb2MuZGF0ZTsueG1sIj4KK2h0dHA6Ly93d3cudzMub3JnL1RSLzE5OTgvUkVDLXhtbC0maXNvNi5kb2MuZGF0ZTsueG1sPC9sb2M+Cis8bG9jICBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi8xOTk4L1JFQy14bWwtJmlzbzYuZG9jLmRhdGU7Lmh0bWwiPgoraHR0cDovL3d3dy53My5vcmcvVFIvMTk5OC9SRUMteG1sLSZpc282LmRvYy5kYXRlOy5odG1sPC9sb2M+Cis8bG9jICBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi8xOTk4L1JFQy14bWwtJmlzbzYuZG9jLmRhdGU7LnBkZiI+CitodHRwOi8vd3d3LnczLm9yZy9UUi8xOTk4L1JFQy14bWwtJmlzbzYuZG9jLmRhdGU7LnBkZjwvbG9jPgorPGxvYyAgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvMTk5OC9SRUMteG1sLSZpc282LmRvYy5kYXRlOy5wcyI+CitodHRwOi8vd3d3LnczLm9yZy9UUi8xOTk4L1JFQy14bWwtJmlzbzYuZG9jLmRhdGU7LnBzPC9sb2M+Cis8L3B1YmxvYz4KKzxsYXRlc3Rsb2M+Cis8bG9jICBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMteG1sIj4KK2h0dHA6Ly93d3cudzMub3JnL1RSL1JFQy14bWw8L2xvYz4KKzwvbGF0ZXN0bG9jPgorPHByZXZsb2NzPgorPGxvYyAgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvUFIteG1sLTk3MTIwOCI+CitodHRwOi8vd3d3LnczLm9yZy9UUi9QUi14bWwtOTcxMjA4PC9sb2M+Cis8IS0tCis8bG9jICBocmVmPSdodHRwOi8vd3d3LnczLm9yZy9UUi9XRC14bWwtOTYxMTE0Jz4KK2h0dHA6Ly93d3cudzMub3JnL1RSL1dELXhtbC05NjExMTQ8L2xvYz4KKzxsb2MgIGhyZWY9J2h0dHA6Ly93d3cudzMub3JnL1RSL1dELXhtbC1sYW5nLTk3MDMzMSc+CitodHRwOi8vd3d3LnczLm9yZy9UUi9XRC14bWwtbGFuZy05NzAzMzE8L2xvYz4KKzxsb2MgIGhyZWY9J2h0dHA6Ly93d3cudzMub3JnL1RSL1dELXhtbC1sYW5nLTk3MDYzMCc+CitodHRwOi8vd3d3LnczLm9yZy9UUi9XRC14bWwtbGFuZy05NzA2MzA8L2xvYz4KKzxsb2MgIGhyZWY9J2h0dHA6Ly93d3cudzMub3JnL1RSL1dELXhtbC05NzA4MDcnPgoraHR0cDovL3d3dy53My5vcmcvVFIvV0QteG1sLTk3MDgwNzwvbG9jPgorPGxvYyAgaHJlZj0naHR0cDovL3d3dy53My5vcmcvVFIvV0QteG1sLTk3MTExNyc+CitodHRwOi8vd3d3LnczLm9yZy9UUi9XRC14bWwtOTcxMTE3PC9sb2M+LS0+Cis8L3ByZXZsb2NzPgorPGF1dGhsaXN0PgorPGF1dGhvcj48bmFtZT5UaW0gQnJheTwvbmFtZT4KKzxhZmZpbGlhdGlvbj5UZXh0dWFsaXR5IGFuZCBOZXRzY2FwZTwvYWZmaWxpYXRpb24+Cis8ZW1haWwgCitocmVmPSJtYWlsdG86dGJyYXlAdGV4dHVhbGl0eS5jb20iPnRicmF5QHRleHR1YWxpdHkuY29tPC9lbWFpbD48L2F1dGhvcj4KKzxhdXRob3I+PG5hbWU+SmVhbiBQYW9saTwvbmFtZT4KKzxhZmZpbGlhdGlvbj5NaWNyb3NvZnQ8L2FmZmlsaWF0aW9uPgorPGVtYWlsIGhyZWY9Im1haWx0bzpqZWFucGFAbWljcm9zb2Z0LmNvbSI+amVhbnBhQG1pY3Jvc29mdC5jb208L2VtYWlsPjwvYXV0aG9yPgorPGF1dGhvcj48bmFtZT5DLiBNLiBTcGVyYmVyZy1NY1F1ZWVuPC9uYW1lPgorPGFmZmlsaWF0aW9uPlVuaXZlcnNpdHkgb2YgSWxsaW5vaXMgYXQgQ2hpY2FnbzwvYWZmaWxpYXRpb24+Cis8ZW1haWwgaHJlZj0ibWFpbHRvOmNtc21jcUB1aWMuZWR1Ij5jbXNtY3FAdWljLmVkdTwvZW1haWw+PC9hdXRob3I+Cis8L2F1dGhsaXN0PgorPGFic3RyYWN0PgorPHA+VGhlIEV4dGVuc2libGUgTWFya3VwIExhbmd1YWdlIChYTUwpIGlzIGEgc3Vic2V0IG9mCitTR01MIHRoYXQgaXMgY29tcGxldGVseSBkZXNjcmliZWQgaW4gdGhpcyBkb2N1bWVudC4gSXRzIGdvYWwgaXMgdG8KK2VuYWJsZSBnZW5lcmljIFNHTUwgdG8gYmUgc2VydmVkLCByZWNlaXZlZCwgYW5kIHByb2Nlc3NlZCBvbiB0aGUgV2ViCitpbiB0aGUgd2F5IHRoYXQgaXMgbm93IHBvc3NpYmxlIHdpdGggSFRNTC4gWE1MIGhhcyBiZWVuIGRlc2lnbmVkIGZvcgorZWFzZSBvZiBpbXBsZW1lbnRhdGlvbiBhbmQgZm9yIGludGVyb3BlcmFiaWxpdHkgd2l0aCBib3RoIFNHTUwgYW5kCitIVE1MLjwvcD4KKzwvYWJzdHJhY3Q+Cis8c3RhdHVzPgorPHA+VGhpcyBkb2N1bWVudCBoYXMgYmVlbiByZXZpZXdlZCBieSBXM0MgTWVtYmVycyBhbmQKK290aGVyIGludGVyZXN0ZWQgcGFydGllcyBhbmQgaGFzIGJlZW4gZW5kb3JzZWQgYnkgdGhlCitEaXJlY3RvciBhcyBhIFczQyBSZWNvbW1lbmRhdGlvbi4gSXQgaXMgYSBzdGFibGUKK2RvY3VtZW50IGFuZCBtYXkgYmUgdXNlZCBhcyByZWZlcmVuY2UgbWF0ZXJpYWwgb3IgY2l0ZWQKK2FzIGEgbm9ybWF0aXZlIHJlZmVyZW5jZSBmcm9tIGFub3RoZXIgZG9jdW1lbnQuIFczQydzCityb2xlIGluIG1ha2luZyB0aGUgUmVjb21tZW5kYXRpb24gaXMgdG8gZHJhdyBhdHRlbnRpb24KK3RvIHRoZSBzcGVjaWZpY2F0aW9uIGFuZCB0byBwcm9tb3RlIGl0cyB3aWRlc3ByZWFkCitkZXBsb3ltZW50LiBUaGlzIGVuaGFuY2VzIHRoZSBmdW5jdGlvbmFsaXR5IGFuZAoraW50ZXJvcGVyYWJpbGl0eSBvZiB0aGUgV2ViLjwvcD4KKzxwPgorVGhpcyBkb2N1bWVudCBzcGVjaWZpZXMgYSBzeW50YXggY3JlYXRlZCBieSBzdWJzZXR0aW5nIGFuIGV4aXN0aW5nLAord2lkZWx5IHVzZWQgaW50ZXJuYXRpb25hbCB0ZXh0IHByb2Nlc3Npbmcgc3RhbmRhcmQgKFN0YW5kYXJkCitHZW5lcmFsaXplZCBNYXJrdXAgTGFuZ3VhZ2UsIElTTyA4ODc5OjE5ODYoRSkgYXMgYW1lbmRlZCBhbmQKK2NvcnJlY3RlZCkgZm9yIHVzZSBvbiB0aGUgV29ybGQgV2lkZSBXZWIuICBJdCBpcyBhIHByb2R1Y3Qgb2YgdGhlIFczQworWE1MIEFjdGl2aXR5LCBkZXRhaWxzIG9mIHdoaWNoIGNhbiBiZSBmb3VuZCBhdCA8bG9jCitocmVmPSdodHRwOi8vd3d3LnczLm9yZy9YTUwnPmh0dHA6Ly93d3cudzMub3JnL1hNTDwvbG9jPi4gIEEgbGlzdCBvZgorY3VycmVudCBXM0MgUmVjb21tZW5kYXRpb25zIGFuZCBvdGhlciB0ZWNobmljYWwgZG9jdW1lbnRzIGNhbiBiZSBmb3VuZAorYXQgPGxvYyBocmVmPSdodHRwOi8vd3d3LnczLm9yZy9UUic+aHR0cDovL3d3dy53My5vcmcvVFI8L2xvYz4uCis8L3A+Cis8cD5UaGlzIHNwZWNpZmljYXRpb24gdXNlcyB0aGUgdGVybSBVUkksIHdoaWNoIGlzIGRlZmluZWQgYnkgPGJpYnJlZgorcmVmPSJCZXJuZXJzLUxlZSIvPiwgYSB3b3JrIGluIHByb2dyZXNzIGV4cGVjdGVkIHRvIHVwZGF0ZSA8YmlicmVmCityZWY9IlJGQzE3MzgiLz4gYW5kIDxiaWJyZWYgcmVmPSJSRkMxODA4Ii8+LiAKKzwvcD4KKzxwPlRoZSBsaXN0IG9mIGtub3duIGVycm9ycyBpbiB0aGlzIHNwZWNpZmljYXRpb24gaXMgCithdmFpbGFibGUgYXQgCis8bG9jIGhyZWY9J2h0dHA6Ly93d3cudzMub3JnL1hNTC94bWwtMTk5ODAyMTAtZXJyYXRhJz5odHRwOi8vd3d3LnczLm9yZy9YTUwveG1sLTE5OTgwMjEwLWVycmF0YTwvbG9jPi48L3A+Cis8cD5QbGVhc2UgcmVwb3J0IGVycm9ycyBpbiB0aGlzIGRvY3VtZW50IHRvIAorPGxvYyBocmVmPSdtYWlsdG86eG1sLWVkaXRvckB3My5vcmcnPnhtbC1lZGl0b3JAdzMub3JnPC9sb2M+LgorPC9wPgorPC9zdGF0dXM+CisKKworPHB1YnN0bXQ+Cis8cD5DaGljYWdvLCBWYW5jb3V2ZXIsIE1vdW50YWluIFZpZXcsIGV0IGFsLjoKK1dvcmxkLVdpZGUgV2ViIENvbnNvcnRpdW0sIFhNTCBXb3JraW5nIEdyb3VwLCAxOTk2LCAxOTk3LjwvcD4KKzwvcHVic3RtdD4KKzxzb3VyY2VkZXNjPgorPHA+Q3JlYXRlZCBpbiBlbGVjdHJvbmljIGZvcm0uPC9wPgorPC9zb3VyY2VkZXNjPgorPGxhbmd1c2FnZT4KKzxsYW5ndWFnZSBpZD0nRU4nPkVuZ2xpc2g8L2xhbmd1YWdlPgorPGxhbmd1YWdlIGlkPSdlYm5mJz5FeHRlbmRlZCBCYWNrdXMtTmF1ciBGb3JtIChmb3JtYWwgZ3JhbW1hcik8L2xhbmd1YWdlPgorPC9sYW5ndXNhZ2U+Cis8cmV2aXNpb25kZXNjPgorPHNsaXN0PgorPHNpdGVtPjE5OTctMTItMDMgOiBDTVNNY1EgOiB5ZXQgZnVydGhlciBjaGFuZ2VzPC9zaXRlbT4KKzxzaXRlbT4xOTk3LTEyLTAyIDogVEIgOiBmdXJ0aGVyIGNoYW5nZXMgKHNlZSBUQiB0byBYTUwgV0csCisyIERlY2VtYmVyIDE5OTcpPC9zaXRlbT4KKzxzaXRlbT4xOTk3LTEyLTAyIDogQ01TTWNRIDogZGVhbCB3aXRoIGFzIG1hbnkgY29ycmVjdGlvbnMgYW5kCitjb21tZW50cyBmcm9tIHRoZSBwcm9vZnJlYWRlcnMgYXMgcG9zc2libGU6CitlbnRpZnkgaGFyZC1jb2RlZCBkb2N1bWVudCBkYXRlIGluIHB1YmRhdGUgZWxlbWVudCwKK2NoYW5nZSBleHBhbnNpb24gb2YgZW50aXR5IFdlYlNHTUwsCit1cGRhdGUgc3RhdHVzIGRlc2NyaXB0aW9uIGFzIHBlciBEYW4gQ29ubm9sbHkgKGFtIG5vdCBzdXJlCithYm91dCByZWZlcm5lY2UgdG8gQmVybmVycy1MZWUgZXQgYWwuKSwKK2FkZCAnVGhlJyB0byBhYnN0cmFjdCBhcyBwZXIgV0cgZGVjaXNpb24sCittb3ZlIFJlbGF0aW9uc2hpcCB0byBFeGlzdGluZyBTdGFuZGFyZHMgdG8gYmFjayBtYXR0ZXIgYW5kCitjb21iaW5lIHdpdGggUmVmZXJlbmNlcywKK3JlLW9yZGVyIGJhY2sgbWF0dGVyIHNvIG5vcm1hdGl2ZSBhcHBlbmRpY2VzIGNvbWUgZmlyc3QsCityZS10YWcgYmFjayBtYXR0ZXIgc28gaW5mb3JtYXRpdmUgYXBwZW5kaWNlcyBhcmUgdGFnZ2VkIGluZm9ybWRpdjEsCityZW1vdmUgWFhYIFhYWCBmcm9tIGxpc3Qgb2YgJ25vcm1hdGl2ZScgc3BlY3MgaW4gcHJvc2UsCittb3ZlIHNvbWUgcmVmZXJlbmNlcyBmcm9tIE90aGVyIFJlZmVyZW5jZXMgdG8gTm9ybWF0aXZlIFJlZmVyZW5jZXMsCithZGQgUkZDIDE3MzgsIDE4MDgsIGFuZCAyMTQxIHRvIE90aGVyIFJlZmVyZW5jZXMgKHRoZXkgYXJlIG5vdAorbm9ybWF0aXZlIHNpbmNlIHdlIGRvIG5vdCByZXF1aXJlIHRoZSBwcm9jZXNzb3IgdG8gZW5mb3JjZSBhbnkgCitydWxlcyBiYXNlZCBvbiB0aGVtKSwKK2FkZCByZWZlcmVuY2UgdG8gJ0ZpZWxkaW5nIGRyYWZ0JyAoQmVybmVycy1MZWUgZXQgYWwuKSwKK21vdmUgbm90YXRpb24gc2VjdGlvbiB0byBlbmQgb2YgYm9keSwKK2Ryb3AgVVJJY2hhciBub24tdGVybWluYWwgYW5kIHVzZSBTa2lwTGl0IGluc3RlYWQsCitsb3NlIHN0cmF5IHJlZmVyZW5jZSB0byBkZWZ1bmN0IG5vbnRlcm1pbmFsICdtYXJrdXBkZWNscycsCittb3ZlIHJlZmVyZW5jZSB0byBBaG8gZXQgYWwuIGludG8gYXBwZW5kaXggKFRpbSdzIHJpZ2h0KSwKK2FkZCBwcm9zZSBub3RlIHNheWluZyB0aGF0IGhhc2ggbWFya3MgYW5kIGZyYWdtZW50IGlkZW50aWZpZXJzIGFyZQorTk9UIHBhcnQgb2YgdGhlIFVSSSBmb3JtYWxseSBzcGVha2luZywgYW5kIGFyZSBOT1QgbGVnYWwgaW4gCitzeXN0ZW0gaWRlbnRpZmllcnMgKHByb2Nlc3NvciAnbWF5JyBzaWduYWwgYW4gZXJyb3IpLgorV29yayB0aHJvdWdoOgorVGltIEJyYXkgcmVhY3RpbmcgdG8gSmFtZXMgQ2xhcmssCitUaW0gQnJheSBvbiBoaXMgb3duLAorRXZlIE1hbGVyLAorCitOT1QgRE9ORSBZRVQ6CitjaGFuZ2UgYmluYXJ5IC8gdGV4dCB0byB1bnBhcnNlZCAvIHBhcnNlZC4KK2hhbmRsZSBKYW1lcydzIHN1Z2dlc3Rpb24gYWJvdXQgJmx0OyBpbiBhdHRyaXVidGUgdmFsdWVzCit1cHBlcmNhc2UgaGV4IGNoYXJhY3RlcnMsCituYW1lY2hhciBsaXN0LAorPC9zaXRlbT4KKzxzaXRlbT4xOTk3LTEyLTAxIDogSkIgOiBhZGQgc29tZSBjb2x1bW4td2lkdGggcGFyYW1ldGVyczwvc2l0ZW0+Cis8c2l0ZW0+MTk5Ny0xMi0wMSA6IENNU01jUSA6IGJlZ2luIHJvdW5kIG9mIGNoYW5nZXMgdG8gaW5jb3Jwb3JhdGUKK3JlY2VudCBXRyBkZWNpc2lvbnMgYW5kIG90aGVyIGNvcnJlY3Rpb25zOgorYmluZGluZyBzb3VyY2VzIG9mIGNoYXJhY3RlciBlbmNvZGluZyBpbmZvICgyNyBBdWcgLyAzIFNlcHQpLAorY29ycmVjdCB3b3JkaW5nIG9mIEZhdXN0IHF1b3RhdGlvbiAocmVzdG9yZSBkcm9wcGVkIGxpbmUpLAorZHJvcCBTREQgZnJvbSBFbmNvZGluZ0RlY2wsCitjaGFuZ2UgdGV4dCBhdCB2ZXJzaW9uIG51bWJlciAxLjAsCitkcm9wIG1pc2xlYWRpbmcgKHdyb25nISkgc2VudGVuY2UgYWJvdXQgaWdub3JhYmxlcyBhbmQgZXh0ZW5kZXJzLAorbW9kaWZ5IGRlZmluaXRpb24gb2YgUENEYXRhIHRvIG1ha2UgYmFyIG9uIG1zYyBncmFtbWF0aWNhbCwKK2NoYW5nZSBncmFtbWFyJ3MgaGFuZGxpbmcgb2YgaW50ZXJuYWwgc3Vic2V0IChkcm9wIG5vbi10ZXJtaW5hbCBtYXJrdXBkZWNscyksCitjaGFuZ2UgZGVmaW5pdGlvbiBvZiBpbmNsdWRlU2VjdCB0byBhbGxvdyBjb25kaXRpb25hbCBzZWN0aW9ucywKK2FkZCBpbnRlZ3JhbC1kZWNsYXJhdGlvbiBjb25zdHJhaW50IG9uIGludGVybmFsIHN1YnNldCwKK2Ryb3AgbWlzbGVhZGluZyAvIGRhbmdlcm91cyBzZW50ZW5jZSBhYm91dCByZWxhdGlvbnNoaXAgb2YKK2VudGl0aWVzIHdpdGggc3lzdGVtIHN0b3JhZ2Ugb2JqZWN0cywKK2NoYW5nZSB0YWJsZSBib2R5IHRhZyB0byBodGJvZHkgYXMgcGVyIEVNIGNoYW5nZSB0byBEVEQsCithZGQgcnVsZSBhYm91dCBzcGFjZSBub3JtYWxpemF0aW9uIGluIHB1YmxpYyBpZGVudGlmaWVycywKK2FkZCBkZXNjcmlwdGlvbiBvZiBob3cgdG8gZ2VuZXJhdGUgb3VyIG5hbWUtc3BhY2UgcnVsZXMgZnJvbSAKK1VuaWNvZGUgY2hhcmFjdGVyIGRhdGFiYXNlIChuZWVkcyBmdXJ0aGVyIHdvcmshKS4KKzwvc2l0ZW0+Cis8c2l0ZW0+MTk5Ny0xMC0wOCA6IFRCIDogUmVtb3ZlZCAlLWNvbnN0cnVjdHMgYWdhaW4sIG5ldyBydWxlcworZm9yIFBFIGFwcGVhcmFuY2UuPC9zaXRlbT4KKzxzaXRlbT4xOTk3LTEwLTAxIDogVEIgOiBDYXNlLXNlbnNpdGl2ZSBtYXJrdXA7IGNsZWFuZWQgdXAKK2VsZW1lbnQtdHlwZSBkZWZzLCBsb3RzYSBsaXR0bGUgZWRpdHMgZm9yIHN0eWxlPC9zaXRlbT4KKzxzaXRlbT4xOTk3LTA5LTI1IDogVEIgOiBDaGFuZ2UgdG8gZWxtJ3MgbmV3IERURCwgd2l0aAorc3Vic3RhbnRpYWwgZGV0YWlsIGNsZWFudXAgYXMgYSBzaWRlLWVmZmVjdDwvc2l0ZW0+Cis8c2l0ZW0+MTk5Ny0wNy0yNCA6IENNU01jUSA6IGNvcnJlY3QgZXJyb3IgKGxvc3QgKikgaW4gZGVmaW5pdGlvbiAKK29mIGlnbm9yZVNlY3RDb250ZW50cyAodGhhbmtzIHRvIE1ha290byBNdXJhdGEpPC9zaXRlbT4KKzxzaXRlbT5BbGxvdyBhbGwgZW1wdHkgZWxlbWVudHMgdG8gaGF2ZSBlbmQtdGFncywgY29uc2lzdGVudCB3aXRoCitTR01MIFRDIChhcyBwZXIgSkpDKS48L3NpdGVtPgorPHNpdGVtPjE5OTctMDctMjMgOiBDTVNNY1EgOiBwcmUtZW1wdGl2ZSBzdHJpa2Ugb24gcGVuZGluZyBjb3JyZWN0aW9uczoKK2ludHJvZHVjZSB0aGUgdGVybSAnZW1wdHktZWxlbWVudCB0YWcnLCBub3RlIHRoYXQgYWxsIGVtcHR5IGVsZW1lbnRzCittYXkgdXNlIGl0LCBhbmQgZWxlbWVudHMgZGVjbGFyZWQgRU1QVFkgbXVzdCB1c2UgaXQuCitBZGQgV0ZDIHJlcXVpcmluZyBlbmNvZGluZyBkZWNsIHRvIGNvbWUgZmlyc3QgaW4gYW4gZW50aXR5LgorUmVkZWZpbmUgbm90YXRpb25zIHRvIHBvaW50IHRvIFBJcyBhcyB3ZWxsIGFzIGJpbmFyeSBlbnRpdGllcy4KK0NoYW5nZSBhdXRvZGV0ZWN0aW9uIHRhYmxlIGJ5IHJlbW92aW5nIGJ5dGVzIDMgYW5kIDQgZnJvbSAKK2V4YW1wbGVzIHdpdGggQnl0ZSBPcmRlciBNYXJrLgorQWRkIGNvbnRlbnQgbW9kZWwgYXMgYSB0ZXJtIGFuZCBjbGFyaWZ5IHRoYXQgaXQgYXBwbGllcyB0byBib3RoCittaXhlZCBhbmQgZWxlbWVudCBjb250ZW50LgorPC9zaXRlbT4KKzxzaXRlbT4xOTk3LTA2LTMwIDogQ01TTWNRIDogY2hhbmdlIGRhdGUsIHNvbWUgY29zbWV0aWMgY2hhbmdlcywKK2NoYW5nZXMgdG8gcHJvZHVjdGlvbnMgZm9yIGNob2ljZSwgc2VxLCBNaXhlZCwgTm90YXRpb25UeXBlLAorRW51bWVyYXRpb24uICBGb2xsb3cgSmFtZXMgQ2xhcmsncyBzdWdnZXN0aW9uIGFuZCBwcm9oaWJpdCAKK2NvbmRpdGlvbmFsIHNlY3Rpb25zIGluIGludGVybmFsIHN1YnNldC4gIFRPIERPOiAgc2ltcGxpZnkKK3Byb2R1Y3Rpb24gZm9yIGlnbm9yZWQgc2VjdGlvbnMgYXMgYSByZXN1bHQsIHNpbmNlIHdlIGRvbid0IAorbmVlZCB0byB3b3JyeSBhYm91dCBwYXJzZXJzIHdoaWNoIGRvbid0IGV4cGFuZCBQRXJlZnMgZmluZGluZworYSBjb25kaXRpb25hbCBzZWN0aW9uLjwvc2l0ZW0+Cis8c2l0ZW0+MTk5Ny0wNi0yOSA6IFRCIDogdmFyaW91cyBlZGl0czwvc2l0ZW0+Cis8c2l0ZW0+MTk5Ny0wNi0yOSA6IENNU01jUSA6IGZ1cnRoZXIgY2hhbmdlczoKK1N1cHByZXNzIG9sZCBGSU5BTCBFRElUIGNvbW1lbnRzIGFuZCBzb21lIGRlYWQgbWF0ZXJpYWwuCitSZXZpc2Ugb2NjdXJyZW5jZXMgb2YgJSBpbiBncmFtbWFyIHRvIGV4cGxvaXQgSGVucnkgVGhvbXBzb24ncyBwdW4sCitlc3BlY2lhbGx5IG1hcmt1cGRlY2wgYW5kIGF0dGRlZi4KK1JlbW92ZSBSTUQgcmVxdWlyZW1lbnQgcmVsYXRpbmcgdG8gZWxlbWVudCBjb250ZW50ICg/KS4KKzwvc2l0ZW0+Cis8c2l0ZW0+MTk5Ny0wNi0yOCA6IENNU01jUSA6IFZhcmlvdXMgY2hhbmdlcyBmb3IgMSBKdWx5IGRyYWZ0OgorQWRkIHRleHQgZm9yIGRyYWNvbmlhbiBlcnJvciBoYW5kbGluZyAoaW50cm9kdWNlCit0aGUgdGVybSBGYXRhbCBFcnJvcikuCitSRSBkZWxldGEgZXN0IChjaGFuZ2luZyB3b3JkaW5nIGZyb20gCitvcmlnaW5hbCBhbm5vdW5jZW1lbnQgdG8gcmVzdHJpY3QgdGhlIHJlcXVpcmVtZW50IHRvIHZhbGlkYXRpbmcKK3BhcnNlcnMpLgorVGFnIGRlZmluaXRpb24gb2YgdmFsaWRhdGluZyBwcm9jZXNzb3IgYW5kIGxpbmsgdG8gaXQuCitBZGQgY29sb24gYXMgbmFtZSBjaGFyYWN0ZXIuCitDaGFuZ2UgZGVmIG9mICVvcGVyYXRvci4KK0NoYW5nZSBzdGFuZGFyZCBkZWZpbml0aW9ucyBvZiBsdCwgZ3QsIGFtcC4KK1N0cmlwIGxlYWRpbmcgemVyb3MgZnJvbSAjeDAwbm4gZm9ybXMuPC9zaXRlbT4KKzxzaXRlbT4xOTk3LTA0LTAyIDogQ01TTWNRIDogZmluYWwgY29ycmVjdGlvbnMgb2YgZWRpdG9yaWFsIGVycm9ycworZm91bmQgaW4gbGFzdCBuaWdodCdzIHByb29mcmVhZGluZy4gIFJldmVyc2UgY291cnNlIG9uY2UgbW9yZSBvbgord2VsbC1mb3JtZWQ6ICAgV2Vic3RlcidzIFNlY29uZCBoeXBoZW5hdGVzIGl0LCBhbmQgdGhhdCdzIGVub3VnaAorZm9yIG1lLjwvc2l0ZW0+Cis8c2l0ZW0+MTk5Ny0wNC0wMSA6IENNU01jUSA6IGNvcnJlY3Rpb25zIGZyb20gSkpDLCBFTSwgSFQsIGFuZCBzZWxmPC9zaXRlbT4KKzxzaXRlbT4xOTk3LTAzLTMxIDogVGltIEJyYXkgOiBtYW55IGNoYW5nZXM8L3NpdGVtPgorPHNpdGVtPjE5OTctMDMtMjkgOiBDTVNNY1EgOiBzb21lIEhlbnJ5IFRob21wc29uIChvbiBlbnRpdHkgaGFuZGxpbmcpLAorc29tZSBDaGFybGVzIEdvbGRmYXJiLCBzb21lIEVSQiBkZWNpc2lvbnMgKFBFIGhhbmRsaW5nIGluIG1pc2NlbGxhbmVvdXMKK2RlY2xhcmF0aW9ucy4gIENoYW5nZWQgSWRlbnQgZWxlbWVudCB0byBhY2NlcHQgZGVmIGF0dHJpYnV0ZS4KK0FsbG93IG5vcm1hbGl6YXRpb24gb2YgVW5pY29kZSBjaGFyYWN0ZXJzLiAgbW92ZSBkZWYgb2Ygc3lzdGVtbGl0ZXJhbAoraW50byBzZWN0aW9uIG9uIGxpdGVyYWxzLjwvc2l0ZW0+Cis8c2l0ZW0+MTk5Ny0wMy0yOCA6IENNU01jUSA6IG1ha2UgYXMgbWFueSBjb3JyZWN0aW9ucyBhcyBwb3NzaWJsZSwgZnJvbQorVGVycnkgQWxsZW4sIE5vcmJlcnQgTWlrdWxhLCBKYW1lcyBDbGFyaywgSm9uIEJvc2FrLCBIZW5yeSBUaG9tcHNvbiwKK1BhdWwgR3Jvc3NvLCBhbmQgc2VsZi4gIEFtb25nIG90aGVyIHRoaW5nczogIGdpdmUgaW4gb24gIndlbGwgZm9ybWVkIgorKFRlcnJ5IGlzIHJpZ2h0KSwgdGVudGF0aXZlbHkgcmVuYW1lIFF1b3RlZENEYXRhIGFzIEF0dFZhbHVlCithbmQgTGl0ZXJhbCBhcyBFbnRpdHlWYWx1ZSB0byBiZSBtb3JlIGluZm9ybWF0aXZlLCBzaW5jZSBhdHRyaWJ1dGUKK3ZhbHVlcyBhcmUgdGhlIDxlbXBoPm9ubHk8L2VtcGg+IHBsYWNlIFF1b3RlZENEYXRhIHdhcyB1c2VkLCBhbmQKK3ZpY2UgdmVyc2EgZm9yIGVudGl0eSB0ZXh0IGFuZCBMaXRlcmFsLiAoSSdkIGNhbGwgaXQgRW50aXR5IFRleHQsIAorYnV0IDg4NzkgdXNlcyB0aGF0IG5hbWUgZm9yIGJvdGggaW50ZXJuYWwgYW5kIGV4dGVybmFsIGVudGl0aWVzLik8L3NpdGVtPgorPHNpdGVtPjE5OTctMDMtMjYgOiBDTVNNY1EgOiByZXN5bmNoIHRoZSB0d28gZm9ya3Mgb2YgdGhpcyBkcmFmdCwgcmVhcHBseQorbXkgY2hhbmdlcyBkYXRlZCAwMy0yMCBhbmQgMDMtMjEuICBOb3JtYWxpemUgb2xkICdtYXkgbm90JyB0byAnbXVzdCBub3QnCitleGNlcHQgaW4gdGhlIG9uZSBjYXNlIHdoZXJlIGl0IG1lYW50ICdtYXkgb3IgbWF5IG5vdCcuPC9zaXRlbT4KKzxzaXRlbT4xOTk3LTAzLTIxIDogVEIgOiBtYXNzaXZlIGNoYW5nZXMgb24gcGxhbmUgZmxpZ2h0IGZyb20gQ2hpY2FnbwordG8gVmFuY291dmVyPC9zaXRlbT4KKzxzaXRlbT4xOTk3LTAzLTIxIDogQ01TTWNRIDogY29ycmVjdCBhcyBtYW55IHJlcG9ydGVkIGVycm9ycyBhcyBwb3NzaWJsZS4KKzwvc2l0ZW0+Cis8c2l0ZW0+MTk5Ny0wMy0yMCA6IENNU01jUSA6IGNvcnJlY3QgdHlwb3MgbGlzdGVkIGluIENNU01jUSBoYW5kIGNvcHkgb2Ygc3BlYy48L3NpdGVtPgorPHNpdGVtPjE5OTctMDMtMjAgOiBDTVNNY1EgOiBjb3NtZXRpYyBjaGFuZ2VzIHByZXBhcmF0b3J5IHRvIHJldmlzaW9uIGZvcgorV1dXIGNvbmZlcmVuY2UgQXByaWwgMTk5NzogIHJlc3RvcmUgc29tZSBvZiB0aGUgaW50ZXJuYWwgZW50aXR5IAorcmVmZXJlbmNlcyAoZS5nLiB0byBkb2NkYXRlLCBldGMuKSwgY2hhbmdlIGNoYXJhY3RlciB4QTAgdG8gJmFtcDtuYnNwOworYW5kIGRlZmluZSBuYnNwIGFzICZhbXA7IzE2MDssIGFuZCByZWZpbGwgYSBsb3Qgb2YgcGFyYWdyYXBocyBmb3IKK2xlZ2liaWxpdHkuPC9zaXRlbT4KKzxzaXRlbT4xOTk2LTExLTEyIDogQ01TTWNRIDogcmV2aXNlIHVzaW5nIFRpbSdzIGVkaXRzOgorQWRkIGxpc3QgdHlwZSBvZiBOVU1CRVJFRCBhbmQgY2hhbmdlIG1vc3QgbGlzdHMgZWl0aGVyIHRvCitCVUxMRVRTIG9yIHRvIE5VTUJFUkVELgorU3VwcHJlc3MgUXVvdGVkTmFtZXMsIE5hbWVzIChub3QgdXNlZCkuCitDb3JyZWN0IHRyaXZpYWwtZ3JhbW1hciBkb2MgdHlwZSBkZWNsLgorUmVuYW1lICdtYXJrZWQgc2VjdGlvbicgYXMgJ0NEQVRBIHNlY3Rpb24nIHBhc3NpbS4KK0Fsc28gZWRpdHMgZnJvbSBKYW1lcyBDbGFyazoKK0RlZmluZSB0aGUgc2V0IG9mIGNoYXJhY3RlcnMgZnJvbSB3aGljaCBbXmFiY10gc3VidHJhY3RzLgorQ2hhcnJlZiBzaG91bGQgdXNlIGp1c3QgWzAtOV0gbm90IERpZ2l0LgorTG9jYXRpb24gaW5mbyBuZWVkcyBjbGVhbmVyIHRyZWF0bWVudDogIHJlbW92ZT8gIChFUkIKK3F1ZXN0aW9uKS4KK09uZSBleGFtcGxlIG9mIGEgUEkgaGFzIHdyb25nIHBpYy4KK0NsYXJpZnkgZGlzY3Vzc2lvbiBvZiBlbmNvZGluZyBuYW1lcy4KK0VuY29kaW5nIGZhaWx1cmUgc2hvdWxkIGxlYWQgdG8gdW5zcGVjaWZpZWQgcmVzdWx0czsgZG9uJ3QKK3ByZXNjcmliZSBlcnJvciByZWNvdmVyeS4KK0Rvbid0IHJlcXVpcmUgZXhwb3N1cmUgb2YgZW50aXR5IGJvdW5kYXJpZXMuCitJZ25vcmUgd2hpdGUgc3BhY2UgaW4gZWxlbWVudCBjb250ZW50LgorUmVzZXJ2ZSBlbnRpdHkgbmFtZXMgb2YgdGhlIGZvcm0gdS1OTk5OLgorQ2xhcmlmeSByZWxhdGl2ZSBVUkxzLgorQW5kIHNvbWUgb2YgbXkgb3duOgorQ29ycmVjdCBwcm9kdWN0aW9ucyBmb3IgY29udGVudCBtb2RlbDogIG1vZGVsIGNhbm5vdAorY29uc2lzdCBvZiBhIG5hbWUsIHNvICJlbGVtZW50cyA6Oj0gY3AiIGlzIG5vIGdvb2QuCis8L3NpdGVtPgorPHNpdGVtPjE5OTYtMTEtMTEgOiBDTVNNY1EgOiByZXZpc2UgZm9yIHN0eWxlLgorQWRkIG5ldyByaHMgdG8gZW50aXR5IGRlY2xhcmF0aW9uLCBmb3IgcGFyYW1ldGVyIGVudGl0aWVzLjwvc2l0ZW0+Cis8c2l0ZW0+MTk5Ni0xMS0xMCA6IENNU01jUSA6IHJldmlzZSBmb3Igc3R5bGUuCitGaXggLyBjb21wbGV0ZSBzZWN0aW9uIG9uIG5hbWVzLCBjaGFyYWN0ZXJzLgorQWRkIHNlY3Rpb25zIG9uIHBhcmFtZXRlciBlbnRpdGllcywgY29uZGl0aW9uYWwgc2VjdGlvbnMuCitTdGlsbCB0byBkbzogIEFkZCBjb21wYXRpYmlsaXR5IG5vdGUgb24gZGV0ZXJtaW5pc3RpYyBjb250ZW50IG1vZGVscy4KK0ZpbmlzaCBzdHlsaXN0aWMgcmV2aXNpb24uPC9zaXRlbT4KKzxzaXRlbT4xOTk2LTEwLTMxIDogVEIgOiBBZGQgRW50aXR5IEhhbmRsaW5nIHNlY3Rpb248L3NpdGVtPgorPHNpdGVtPjE5OTYtMTAtMzAgOiBUQiA6IENsZWFuIHVwIHRlcm0gJmFtcDsgdGVybWRlZi4gIFNsaXAgaW4KK0VSQiBkZWNpc2lvbiByZSBFTVBUWS48L3NpdGVtPgorPHNpdGVtPjE5OTYtMTAtMjggOiBUQiA6IENoYW5nZSBEVEQuICBJbXBsZW1lbnQgc29tZSBvZiBNaWNoYWVsJ3MKK3N1Z2dlc3Rpb25zLiAgQ2hhbmdlIGNvbW1lbnRzIGJhY2sgdG8gLy8uICBJbnRyb2R1Y2UgbGFuZ3VhZ2UgZm9yCitYTUwgbmFtZXNwYWNlIHJlc2VydmF0aW9uLiAgQWRkIHNlY3Rpb24gb24gd2hpdGUtc3BhY2UgaGFuZGxpbmcuCitMb3RzIG1vcmUgY2xlYW51cC48L3NpdGVtPgorPHNpdGVtPjE5OTYtMTAtMjQgOiBDTVNNY1EgOiBxdWljayB0d2Vha3MsIGltcGxlbWVudCBzb21lIEVSQgorZGVjaXNpb25zLiAgQ2hhcmFjdGVycyBhcmUgbm90IGludGVnZXJzLiAgQ29tbWVudHMgYXJlIC8qICovIG5vdCAvLy4KK0FkZCBiaWJsaW9ncmFwaGljIHJlZnMgdG8gMTA2NDYsIEh5VGltZSwgVW5pY29kZS4KK1JlbmFtZSBvbGQgQ2RhdGEgYXMgTXNEYXRhIHNpbmNlIGl0J3MgPGVtcGg+b25seTwvZW1waD4gc2VlbgoraW4gbWFya2VkIHNlY3Rpb25zLiAgQ2FsbCB0aGVtIGF0dHJpYnV0ZS12YWx1ZSBwYWlycyBub3QKK25hbWUtdmFsdWUgcGFpcnMsIGV4Y2VwdCBvbmNlLiAgSW50ZXJuYWwgc3Vic2V0IGlzIG9wdGlvbmFsLCBuZWVkcworJz8nLiAgSW1wbGllZCBhdHRyaWJ1dGVzIHNob3VsZCBiZSBzaWduYWxlZCB0byB0aGUgYXBwLCBub3QKK2hhdmUgdmFsdWVzIHN1cHBsaWVkIGJ5IHByb2Nlc3Nvci48L3NpdGVtPgorPHNpdGVtPjE5OTYtMTAtMTYgOiBUQiA6IHRyYWNrIGRvd24gJmFtcDsgZXhjaXNlIGFsbCBEU0QgcmVmZXJlbmNlczsKK2ludHJvZHVjZSBzb21lIEVCTkYgZm9yIGVudGl0eSBkZWNsYXJhdGlvbnMuPC9zaXRlbT4KKzxzaXRlbT4xOTk2LTEwLT8/IDogVEIgOiBjb25zaXN0ZW5jeSBjaGVjaywgZml4IHVwIHNjcmFwcyBzbwordGhleSBhbGwgcGFyc2UsIGdldCBmb3JtYXR0ZXIgd29ya2luZywgY29ycmVjdCBhIGZldyBwcm9kdWN0aW9ucy48L3NpdGVtPgorPHNpdGVtPjE5OTYtMTAtMTAvMTEgOiBDTVNNY1EgOiB2YXJpb3VzIG1haW50ZW5hbmNlLCBzdHlsaXN0aWMsIGFuZAorb3JnYW5pemF0aW9uYWwgY2hhbmdlczoKK1JlcGxhY2UgYSBmZXcgbGl0ZXJhbHMgd2l0aCB4bWxwaW8gYW5kCitwaWMgZW50aXRpZXMsIHRvIG1ha2UgdGhlbSBjb25zaXN0ZW50IGFuZCBlbnN1cmUgd2UgY2FuIGNoYW5nZSBwaWMKK3JlbGlhYmx5IHdoZW4gdGhlIEVSQiB2b3Rlcy4KK0Ryb3AgcGFyYWdyYXBoIG9uIHJlY29nbml6ZXJzIGZyb20gbm90YXRpb24gc2VjdGlvbi4KK0FkZCBtYXRjaCwgZXhhY3QgbWF0Y2ggdG8gdGVybWlub2xvZ3kuCitNb3ZlIG9sZCAyLjIgWE1MIFByb2Nlc3NvcnMgYW5kIEFwcHMgaW50byBpbnRyby4KK01lbnRpb24gY29tbWVudHMsIFBJcywgYW5kIG1hcmtlZCBzZWN0aW9ucyBpbiBkaXNjdXNzaW9uIG9mCitkZWxpbWl0ZXIgZXNjYXBpbmcuCitTdHJlYW1saW5lIGRpc2N1c3Npb24gb2YgZG9jdHlwZSBkZWNsIHN5bnRheC4KK0Ryb3Agb2xkIHNlY3Rpb24gb2YgJ1BJIHN5bnRheCcgZm9yIGRvY3R5cGUgZGVjbCwgYW5kIGFkZAorc2VjdGlvbiBvbiBwYXJ0aWFsLURURCBzdW1tYXJ5IFBJcyB0byBlbmQgb2YgTG9naWNhbCBTdHJ1Y3R1cmVzCitzZWN0aW9uLgorUmV2aXNlIERTRCBzeW50YXggc2VjdGlvbiB0byB1c2UgVGltJ3Mgc3Vic2V0LWluLWEtUEkKK21lY2hhbmlzbS48L3NpdGVtPgorPHNpdGVtPjE5OTYtMTAtMTAgOiBUQiA6IGVsaW1pbmF0ZSBuYW1lIHJlY29nbml6ZXJzIChhbmQgbW9yZT8pPC9zaXRlbT4KKzxzaXRlbT4xOTk2LTEwLTA5IDogQ01TTWNRIDogcmV2aXNlIGZvciBzdHlsZSwgY29uc2lzdGVuY3kgdGhyb3VnaCAyLjMKKyhDaGFyYWN0ZXJzKTwvc2l0ZW0+Cis8c2l0ZW0+MTk5Ni0xMC0wOSA6IENNU01jUSA6IHJlLXVuaXRlIGV2ZXJ5dGhpbmcgZm9yIGNvbnZlbmllbmNlLAorYXQgbGVhc3QgdGVtcG9yYXJpbHksIGFuZCByZXZpc2UgcXVpY2tseTwvc2l0ZW0+Cis8c2l0ZW0+MTk5Ni0xMC0wOCA6IFRCIDogZmlyc3QgbWFqb3IgaG9tb2dlbml6YXRpb24gcGFzczwvc2l0ZW0+Cis8c2l0ZW0+MTk5Ni0xMC0wOCA6IFRCIDogdHVybiAiY3VycmVudCIgYXR0cmlidXRlIG9uIGRpdiB0eXBlIGludG8gCitDREFUQTwvc2l0ZW0+Cis8c2l0ZW0+MTk5Ni0xMC0wMiA6IFRCIDogcmVtb3VsZCBpbnRvIHNrZWxldG9uICsgZW50aXRpZXM8L3NpdGVtPgorPHNpdGVtPjE5OTYtMDktMzAgOiBDTVNNY1EgOiBhZGQgYSBmZXcgbW9yZSBzZWN0aW9ucyBwcmlvciB0byBleGNoYW5nZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGggVGltLjwvc2l0ZW0+Cis8c2l0ZW0+MTk5Ni0wOS0yMCA6IENNU01jUSA6IGZpbmlzaCB0cmFuc2NyaWJpbmcgbm90ZXMuPC9zaXRlbT4KKzxzaXRlbT4xOTk2LTA5LTE5IDogQ01TTWNRIDogYmVnaW4gdHJhbnNjcmliaW5nIG5vdGVzIGZvciBkcmFmdC48L3NpdGVtPgorPHNpdGVtPjE5OTYtMDktMTMgOiBDTVNNY1EgOiBtYWRlIG91dGxpbmUgZnJvbSBub3RlcyBvZiAwOS0wNiwKK2RvIHNvbWUgaG91c2VrZWVwaW5nPC9zaXRlbT4KKzwvc2xpc3Q+Cis8L3JldmlzaW9uZGVzYz4KKzwvaGVhZGVyPgorPGJvZHk+IAorPGRpdjEgaWQ9J3NlYy1pbnRybyc+Cis8aGVhZD5JbnRyb2R1Y3Rpb248L2hlYWQ+Cis8cD5FeHRlbnNpYmxlIE1hcmt1cCBMYW5ndWFnZSwgYWJicmV2aWF0ZWQgWE1MLCBkZXNjcmliZXMgYSBjbGFzcyBvZgorZGF0YSBvYmplY3RzIGNhbGxlZCA8dGVybXJlZiBkZWY9ImR0LXhtbC1kb2MiPlhNTCBkb2N1bWVudHM8L3Rlcm1yZWY+IGFuZAorcGFydGlhbGx5IGRlc2NyaWJlcyB0aGUgYmVoYXZpb3Igb2YgCitjb21wdXRlciBwcm9ncmFtcyB3aGljaCBwcm9jZXNzIHRoZW0uIFhNTCBpcyBhbiBhcHBsaWNhdGlvbiBwcm9maWxlIG9yCityZXN0cmljdGVkIGZvcm0gb2YgU0dNTCwgdGhlIFN0YW5kYXJkIEdlbmVyYWxpemVkIE1hcmt1cCAKK0xhbmd1YWdlIDxiaWJyZWYgcmVmPSdJU084ODc5Jy8+LgorQnkgY29uc3RydWN0aW9uLCBYTUwgZG9jdW1lbnRzIAorYXJlIGNvbmZvcm1pbmcgU0dNTCBkb2N1bWVudHMuCis8L3A+Cis8cD5YTUwgZG9jdW1lbnRzIGFyZSBtYWRlIHVwIG9mIHN0b3JhZ2UgdW5pdHMgY2FsbGVkIDx0ZXJtcmVmCitkZWY9ImR0LWVudGl0eSI+ZW50aXRpZXM8L3Rlcm1yZWY+LCB3aGljaCBjb250YWluIGVpdGhlciBwYXJzZWQKK29yIHVucGFyc2VkIGRhdGEuCitQYXJzZWQgZGF0YSBpcyBtYWRlIHVwIG9mIDx0ZXJtcmVmIGRlZj0iZHQtY2hhcmFjdGVyIj5jaGFyYWN0ZXJzPC90ZXJtcmVmPiwKK3NvbWUgCitvZiB3aGljaCBmb3JtIDx0ZXJtcmVmIGRlZj0iZHQtY2hhcmRhdGEiPmNoYXJhY3RlciBkYXRhPC90ZXJtcmVmPiwgCithbmQgc29tZSBvZiB3aGljaCBmb3JtIDx0ZXJtcmVmIGRlZj0iZHQtbWFya3VwIj5tYXJrdXA8L3Rlcm1yZWY+LgorTWFya3VwIGVuY29kZXMgYSBkZXNjcmlwdGlvbiBvZiB0aGUgZG9jdW1lbnQncyBzdG9yYWdlIGxheW91dCBhbmQKK2xvZ2ljYWwgc3RydWN0dXJlLiBYTUwgcHJvdmlkZXMgYSBtZWNoYW5pc20gdG8gaW1wb3NlIGNvbnN0cmFpbnRzIG9uCit0aGUgc3RvcmFnZSBsYXlvdXQgYW5kIGxvZ2ljYWwgc3RydWN0dXJlLjwvcD4KKzxwPjx0ZXJtZGVmIGlkPSJkdC14bWwtcHJvYyIgdGVybT0iWE1MIFByb2Nlc3NvciI+QSBzb2Z0d2FyZSBtb2R1bGUKK2NhbGxlZCBhbiA8dGVybT5YTUwgcHJvY2Vzc29yPC90ZXJtPiBpcyB1c2VkIHRvIHJlYWQgWE1MIGRvY3VtZW50cworYW5kIHByb3ZpZGUgYWNjZXNzIHRvIHRoZWlyIGNvbnRlbnQgYW5kIHN0cnVjdHVyZS48L3Rlcm1kZWY+IDx0ZXJtZGVmCitpZD0iZHQtYXBwIiB0ZXJtPSJBcHBsaWNhdGlvbiI+SXQgaXMgYXNzdW1lZCB0aGF0IGFuIFhNTCBwcm9jZXNzb3IgaXMKK2RvaW5nIGl0cyB3b3JrIG9uIGJlaGFsZiBvZiBhbm90aGVyIG1vZHVsZSwgY2FsbGVkIHRoZQorPHRlcm0+YXBwbGljYXRpb248L3Rlcm0+LjwvdGVybWRlZj4gVGhpcyBzcGVjaWZpY2F0aW9uIGRlc2NyaWJlcyB0aGUKK3JlcXVpcmVkIGJlaGF2aW9yIG9mIGFuIFhNTCBwcm9jZXNzb3IgaW4gdGVybXMgb2YgaG93IGl0IG11c3QgcmVhZCBYTUwKK2RhdGEgYW5kIHRoZSBpbmZvcm1hdGlvbiBpdCBtdXN0IHByb3ZpZGUgdG8gdGhlIGFwcGxpY2F0aW9uLjwvcD4KKyAKKzxkaXYyIGlkPSdzZWMtb3JpZ2luLWdvYWxzJz4KKzxoZWFkPk9yaWdpbiBhbmQgR29hbHM8L2hlYWQ+Cis8cD5YTUwgd2FzIGRldmVsb3BlZCBieSBhbiBYTUwgV29ya2luZyBHcm91cCAob3JpZ2luYWxseSBrbm93biBhcyB0aGUKK1NHTUwgRWRpdG9yaWFsIFJldmlldyBCb2FyZCkgZm9ybWVkIHVuZGVyIHRoZSBhdXNwaWNlcyBvZiB0aGUgV29ybGQKK1dpZGUgV2ViIENvbnNvcnRpdW0gKFczQykgaW4gMTk5Ni4KK0l0IHdhcyBjaGFpcmVkIGJ5IEpvbiBCb3NhayBvZiBTdW4KK01pY3Jvc3lzdGVtcyB3aXRoIHRoZSBhY3RpdmUgcGFydGljaXBhdGlvbiBvZiBhbiBYTUwgU3BlY2lhbAorSW50ZXJlc3QgR3JvdXAgKHByZXZpb3VzbHkga25vd24gYXMgdGhlIFNHTUwgV29ya2luZyBHcm91cCkgYWxzbworb3JnYW5pemVkIGJ5IHRoZSBXM0MuIFRoZSBtZW1iZXJzaGlwIG9mIHRoZSBYTUwgV29ya2luZyBHcm91cCBpcyBnaXZlbgoraW4gYW4gYXBwZW5kaXguIERhbiBDb25ub2xseSBzZXJ2ZWQgYXMgdGhlIFdHJ3MgY29udGFjdCB3aXRoIHRoZSBXM0MuCis8L3A+Cis8cD5UaGUgZGVzaWduIGdvYWxzIGZvciBYTUwgYXJlOjxvbGlzdD4KKzxpdGVtPjxwPlhNTCBzaGFsbCBiZSBzdHJhaWdodGZvcndhcmRseSB1c2FibGUgb3ZlciB0aGUKK0ludGVybmV0LjwvcD48L2l0ZW0+Cis8aXRlbT48cD5YTUwgc2hhbGwgc3VwcG9ydCBhIHdpZGUgdmFyaWV0eSBvZiBhcHBsaWNhdGlvbnMuPC9wPjwvaXRlbT4KKzxpdGVtPjxwPlhNTCBzaGFsbCBiZSBjb21wYXRpYmxlIHdpdGggU0dNTC48L3A+PC9pdGVtPgorPGl0ZW0+PHA+SXQgc2hhbGwgYmUgZWFzeSB0byB3cml0ZSBwcm9ncmFtcyB3aGljaCBwcm9jZXNzIFhNTAorZG9jdW1lbnRzLjwvcD48L2l0ZW0+Cis8aXRlbT48cD5UaGUgbnVtYmVyIG9mIG9wdGlvbmFsIGZlYXR1cmVzIGluIFhNTCBpcyB0byBiZSBrZXB0IHRvIHRoZQorYWJzb2x1dGUgbWluaW11bSwgaWRlYWxseSB6ZXJvLjwvcD48L2l0ZW0+Cis8aXRlbT48cD5YTUwgZG9jdW1lbnRzIHNob3VsZCBiZSBodW1hbi1sZWdpYmxlIGFuZCByZWFzb25hYmx5CitjbGVhci48L3A+PC9pdGVtPgorPGl0ZW0+PHA+VGhlIFhNTCBkZXNpZ24gc2hvdWxkIGJlIHByZXBhcmVkIHF1aWNrbHkuPC9wPjwvaXRlbT4KKzxpdGVtPjxwPlRoZSBkZXNpZ24gb2YgWE1MIHNoYWxsIGJlIGZvcm1hbCBhbmQgY29uY2lzZS48L3A+PC9pdGVtPgorPGl0ZW0+PHA+WE1MIGRvY3VtZW50cyBzaGFsbCBiZSBlYXN5IHRvIGNyZWF0ZS48L3A+PC9pdGVtPgorPGl0ZW0+PHA+VGVyc2VuZXNzIGluIFhNTCBtYXJrdXAgaXMgb2YgbWluaW1hbCBpbXBvcnRhbmNlLjwvcD48L2l0ZW0+PC9vbGlzdD4KKzwvcD4KKzxwPlRoaXMgc3BlY2lmaWNhdGlvbiwgCit0b2dldGhlciB3aXRoIGFzc29jaWF0ZWQgc3RhbmRhcmRzCisoVW5pY29kZSBhbmQgSVNPL0lFQyAxMDY0NiBmb3IgY2hhcmFjdGVycywKK0ludGVybmV0IFJGQyAxNzY2IGZvciBsYW5ndWFnZSBpZGVudGlmaWNhdGlvbiB0YWdzLCAKK0lTTyA2MzkgZm9yIGxhbmd1YWdlIG5hbWUgY29kZXMsIGFuZCAKK0lTTyAzMTY2IGZvciBjb3VudHJ5IG5hbWUgY29kZXMpLAorcHJvdmlkZXMgYWxsIHRoZSBpbmZvcm1hdGlvbiBuZWNlc3NhcnkgdG8gdW5kZXJzdGFuZCAKK1hNTCBWZXJzaW9uICZYTUwudmVyc2lvbjsKK2FuZCBjb25zdHJ1Y3QgY29tcHV0ZXIgcHJvZ3JhbXMgdG8gcHJvY2VzcyBpdC48L3A+Cis8cD5UaGlzIHZlcnNpb24gb2YgdGhlIFhNTCBzcGVjaWZpY2F0aW9uCis8IS0tIGlzIGZvciAmZG9jLmF1ZGllbmNlOy4tLT4KKyZkb2MuZGlzdHJpYnV0aW9uOy48L3A+CisKKzwvZGl2Mj4KKyAKKworCisgCis8ZGl2MiBpZD0nc2VjLXRlcm1pbm9sb2d5Jz4KKzxoZWFkPlRlcm1pbm9sb2d5PC9oZWFkPgorIAorPHA+VGhlIHRlcm1pbm9sb2d5IHVzZWQgdG8gZGVzY3JpYmUgWE1MIGRvY3VtZW50cyBpcyBkZWZpbmVkIGluIHRoZSBib2R5IG9mCit0aGlzIHNwZWNpZmljYXRpb24uCitUaGUgdGVybXMgZGVmaW5lZCBpbiB0aGUgZm9sbG93aW5nIGxpc3QgYXJlIHVzZWQgaW4gYnVpbGRpbmcgdGhvc2UKK2RlZmluaXRpb25zIGFuZCBpbiBkZXNjcmliaW5nIHRoZSBhY3Rpb25zIG9mIGFuIFhNTCBwcm9jZXNzb3I6Cis8Z2xpc3Q+Cis8Z2l0ZW0+Cis8bGFiZWw+bWF5PC9sYWJlbD4KKzxkZWY+PHA+PHRlcm1kZWYgaWQ9ImR0LW1heSIgdGVybT0iTWF5Ij5Db25mb3JtaW5nIGRvY3VtZW50cyBhbmQgWE1MCitwcm9jZXNzb3JzIGFyZSBwZXJtaXR0ZWQgdG8gYnV0IG5lZWQgbm90IGJlaGF2ZSBhcworZGVzY3JpYmVkLjwvdGVybWRlZj48L3A+PC9kZWY+Cis8L2dpdGVtPgorPGdpdGVtPgorPGxhYmVsPm11c3Q8L2xhYmVsPgorPGRlZj48cD5Db25mb3JtaW5nIGRvY3VtZW50cyBhbmQgWE1MIHByb2Nlc3NvcnMgCithcmUgcmVxdWlyZWQgdG8gYmVoYXZlIGFzIGRlc2NyaWJlZDsgb3RoZXJ3aXNlIHRoZXkgYXJlIGluIGVycm9yLgorPCEtLSBkbyBOT1QgY2hhbmdlIHRoaXMhIHRoaXMgaXMgd2hhdCBkZWZpbmVzIGEgdmlvbGF0aW9uIG9mCithICdtdXN0JyBjbGF1c2UgYXMgJ2FuIGVycm9yJy4gLU1TTSAtLT4KKzwvcD48L2RlZj4KKzwvZ2l0ZW0+Cis8Z2l0ZW0+Cis8bGFiZWw+ZXJyb3I8L2xhYmVsPgorPGRlZj48cD48dGVybWRlZiBpZD0nZHQtZXJyb3InIHRlcm09J0Vycm9yJworPkEgdmlvbGF0aW9uIG9mIHRoZSBydWxlcyBvZiB0aGlzCitzcGVjaWZpY2F0aW9uOyByZXN1bHRzIGFyZQordW5kZWZpbmVkLiAgQ29uZm9ybWluZyBzb2Z0d2FyZSBtYXkgZGV0ZWN0IGFuZCByZXBvcnQgYW4gZXJyb3IgYW5kIG1heQorcmVjb3ZlciBmcm9tIGl0LjwvdGVybWRlZj48L3A+PC9kZWY+Cis8L2dpdGVtPgorPGdpdGVtPgorPGxhYmVsPmZhdGFsIGVycm9yPC9sYWJlbD4KKzxkZWY+PHA+PHRlcm1kZWYgaWQ9ImR0LWZhdGFsIiB0ZXJtPSJGYXRhbCBFcnJvciI+QW4gZXJyb3IKK3doaWNoIGEgY29uZm9ybWluZyA8dGVybXJlZiBkZWY9ImR0LXhtbC1wcm9jIj5YTUwgcHJvY2Vzc29yPC90ZXJtcmVmPgorbXVzdCBkZXRlY3QgYW5kIHJlcG9ydCB0byB0aGUgYXBwbGljYXRpb24uCitBZnRlciBlbmNvdW50ZXJpbmcgYSBmYXRhbCBlcnJvciwgdGhlCitwcm9jZXNzb3IgbWF5IGNvbnRpbnVlCitwcm9jZXNzaW5nIHRoZSBkYXRhIHRvIHNlYXJjaCBmb3IgZnVydGhlciBlcnJvcnMgYW5kIG1heSByZXBvcnQgc3VjaAorZXJyb3JzIHRvIHRoZSBhcHBsaWNhdGlvbi4gIEluIG9yZGVyIHRvIHN1cHBvcnQgY29ycmVjdGlvbiBvZiBlcnJvcnMsCit0aGUgcHJvY2Vzc29yIG1heSBtYWtlIHVucHJvY2Vzc2VkIGRhdGEgZnJvbSB0aGUgZG9jdW1lbnQgKHdpdGgKK2ludGVybWluZ2xlZCBjaGFyYWN0ZXIgZGF0YSBhbmQgbWFya3VwKSBhdmFpbGFibGUgdG8gdGhlIGFwcGxpY2F0aW9uLgorT25jZSBhIGZhdGFsIGVycm9yIGlzIGRldGVjdGVkLCBob3dldmVyLCB0aGUgcHJvY2Vzc29yIG11c3Qgbm90Citjb250aW51ZSBub3JtYWwgcHJvY2Vzc2luZyAoaS5lLiwgaXQgbXVzdCBub3QKK2NvbnRpbnVlIHRvIHBhc3MgY2hhcmFjdGVyIGRhdGEgYW5kIGluZm9ybWF0aW9uIGFib3V0IHRoZSBkb2N1bWVudCdzCitsb2dpY2FsIHN0cnVjdHVyZSB0byB0aGUgYXBwbGljYXRpb24gaW4gdGhlIG5vcm1hbCB3YXkpLgorPC90ZXJtZGVmPjwvcD48L2RlZj4KKzwvZ2l0ZW0+Cis8Z2l0ZW0+Cis8bGFiZWw+YXQgdXNlciBvcHRpb248L2xhYmVsPgorPGRlZj48cD5Db25mb3JtaW5nIHNvZnR3YXJlIG1heSBvciBtdXN0IChkZXBlbmRpbmcgb24gdGhlIG1vZGFsIHZlcmIgaW4gdGhlCitzZW50ZW5jZSkgYmVoYXZlIGFzIGRlc2NyaWJlZDsgaWYgaXQgZG9lcywgaXQgbXVzdAorcHJvdmlkZSB1c2VycyBhIG1lYW5zIHRvIGVuYWJsZSBvciBkaXNhYmxlIHRoZSBiZWhhdmlvcgorZGVzY3JpYmVkLjwvcD48L2RlZj4KKzwvZ2l0ZW0+Cis8Z2l0ZW0+Cis8bGFiZWw+dmFsaWRpdHkgY29uc3RyYWludDwvbGFiZWw+Cis8ZGVmPjxwPkEgcnVsZSB3aGljaCBhcHBsaWVzIHRvIGFsbCAKKzx0ZXJtcmVmIGRlZj0iZHQtdmFsaWQiPnZhbGlkPC90ZXJtcmVmPiBYTUwgZG9jdW1lbnRzLgorVmlvbGF0aW9ucyBvZiB2YWxpZGl0eSBjb25zdHJhaW50cyBhcmUgZXJyb3JzOyB0aGV5IG11c3QsIGF0IHVzZXIgb3B0aW9uLCAKK2JlIHJlcG9ydGVkIGJ5IAorPHRlcm1yZWYgZGVmPSJkdC12YWxpZGF0aW5nIj52YWxpZGF0aW5nIFhNTCBwcm9jZXNzb3JzPC90ZXJtcmVmPi48L3A+PC9kZWY+Cis8L2dpdGVtPgorPGdpdGVtPgorPGxhYmVsPndlbGwtZm9ybWVkbmVzcyBjb25zdHJhaW50PC9sYWJlbD4KKzxkZWY+PHA+QSBydWxlIHdoaWNoIGFwcGxpZXMgdG8gYWxsIDx0ZXJtcmVmCitkZWY9ImR0LXdlbGxmb3JtZWQiPndlbGwtZm9ybWVkPC90ZXJtcmVmPiBYTUwgZG9jdW1lbnRzLgorVmlvbGF0aW9ucyBvZiB3ZWxsLWZvcm1lZG5lc3MgY29uc3RyYWludHMgYXJlIAorPHRlcm1yZWYgZGVmPSJkdC1mYXRhbCI+ZmF0YWwgZXJyb3JzPC90ZXJtcmVmPi48L3A+PC9kZWY+Cis8L2dpdGVtPgorCis8Z2l0ZW0+Cis8bGFiZWw+bWF0Y2g8L2xhYmVsPgorPGRlZj48cD48dGVybWRlZiBpZD0iZHQtbWF0Y2giIHRlcm09Im1hdGNoIj4oT2Ygc3RyaW5ncyBvciBuYW1lczopIAorVHdvIHN0cmluZ3Mgb3IgbmFtZXMgYmVpbmcgY29tcGFyZWQgbXVzdCBiZSBpZGVudGljYWwuCitDaGFyYWN0ZXJzIHdpdGggbXVsdGlwbGUgcG9zc2libGUgcmVwcmVzZW50YXRpb25zIGluIElTTy9JRUMgMTA2NDYgKGUuZy4KK2NoYXJhY3RlcnMgd2l0aCAKK2JvdGggcHJlY29tcG9zZWQgYW5kIGJhc2UrZGlhY3JpdGljIGZvcm1zKSBtYXRjaCBvbmx5IGlmIHRoZXkgaGF2ZSB0aGUKK3NhbWUgcmVwcmVzZW50YXRpb24gaW4gYm90aCBzdHJpbmdzLgorQXQgdXNlciBvcHRpb24sIHByb2Nlc3NvcnMgbWF5IG5vcm1hbGl6ZSBzdWNoIGNoYXJhY3RlcnMgdG8KK3NvbWUgY2Fub25pY2FsIGZvcm0uCitObyBjYXNlIGZvbGRpbmcgaXMgcGVyZm9ybWVkLiAKKyhPZiBzdHJpbmdzIGFuZCBydWxlcyBpbiB0aGUgZ3JhbW1hcjopICAKK0Egc3RyaW5nIG1hdGNoZXMgYSBncmFtbWF0aWNhbCBwcm9kdWN0aW9uIGlmIGl0IGJlbG9uZ3MgdG8gdGhlCitsYW5ndWFnZSBnZW5lcmF0ZWQgYnkgdGhhdCBwcm9kdWN0aW9uLgorKE9mIGNvbnRlbnQgYW5kIGNvbnRlbnQgbW9kZWxzOikKK0FuIGVsZW1lbnQgbWF0Y2hlcyBpdHMgZGVjbGFyYXRpb24gd2hlbiBpdCBjb25mb3JtcworaW4gdGhlIGZhc2hpb24gZGVzY3JpYmVkIGluIHRoZSBjb25zdHJhaW50Cis8c3BlY3JlZiByZWY9J2VsZW1lbnR2YWxpZCcvPi4KKzwvdGVybWRlZj4KKzwvcD48L2RlZj4KKzwvZ2l0ZW0+Cis8Z2l0ZW0+Cis8bGFiZWw+Zm9yIGNvbXBhdGliaWxpdHk8L2xhYmVsPgorPGRlZj48cD48dGVybWRlZiBpZD0iZHQtY29tcGF0IiB0ZXJtPSJGb3IgQ29tcGF0aWJpbGl0eSI+QSBmZWF0dXJlIG9mCitYTUwgaW5jbHVkZWQgc29sZWx5IHRvIGVuc3VyZSB0aGF0IFhNTCByZW1haW5zIGNvbXBhdGlibGUgd2l0aCBTR01MLgorPC90ZXJtZGVmPjwvcD48L2RlZj4KKzwvZ2l0ZW0+Cis8Z2l0ZW0+Cis8bGFiZWw+Zm9yIGludGVyb3BlcmFiaWxpdHk8L2xhYmVsPgorPGRlZj48cD48dGVybWRlZiBpZD0iZHQtaW50ZXJvcCIgdGVybT0iRm9yIGludGVyb3BlcmFiaWxpdHkiPkEKK25vbi1iaW5kaW5nIHJlY29tbWVuZGF0aW9uIGluY2x1ZGVkIHRvIGluY3JlYXNlIHRoZSBjaGFuY2VzIHRoYXQgWE1MCitkb2N1bWVudHMgY2FuIGJlIHByb2Nlc3NlZCBieSB0aGUgZXhpc3RpbmcgaW5zdGFsbGVkIGJhc2Ugb2YgU0dNTAorcHJvY2Vzc29ycyB3aGljaCBwcmVkYXRlIHRoZQorJldlYlNHTUw7LjwvdGVybWRlZj48L3A+PC9kZWY+Cis8L2dpdGVtPgorPC9nbGlzdD4KKzwvcD4KKzwvZGl2Mj4KKworIAorPC9kaXYxPgorPCEtLSAmRG9jczsgLS0+CisgCis8ZGl2MSBpZD0nc2VjLWRvY3VtZW50cyc+Cis8aGVhZD5Eb2N1bWVudHM8L2hlYWQ+CisgCis8cD48dGVybWRlZiBpZD0iZHQteG1sLWRvYyIgdGVybT0iWE1MIERvY3VtZW50Ij4KK0EgZGF0YSBvYmplY3QgaXMgYW4KKzx0ZXJtPlhNTCBkb2N1bWVudDwvdGVybT4gaWYgaXQgaXMKKzx0ZXJtcmVmIGRlZj0iZHQtd2VsbGZvcm1lZCI+d2VsbC1mb3JtZWQ8L3Rlcm1yZWY+LCBhcworZGVmaW5lZCBpbiB0aGlzIHNwZWNpZmljYXRpb24uCitBIHdlbGwtZm9ybWVkIFhNTCBkb2N1bWVudCBtYXkgaW4gYWRkaXRpb24gYmUKKzx0ZXJtcmVmIGRlZj0iZHQtdmFsaWQiPnZhbGlkPC90ZXJtcmVmPiBpZiBpdCBtZWV0cyBjZXJ0YWluIGZ1cnRoZXIgCitjb25zdHJhaW50cy48L3Rlcm1kZWY+PC9wPgorIAorPHA+RWFjaCBYTUwgZG9jdW1lbnQgaGFzIGJvdGggYSBsb2dpY2FsIGFuZCBhIHBoeXNpY2FsIHN0cnVjdHVyZS4KK1BoeXNpY2FsbHksIHRoZSBkb2N1bWVudCBpcyBjb21wb3NlZCBvZiB1bml0cyBjYWxsZWQgPHRlcm1yZWYKK2RlZj0iZHQtZW50aXR5Ij5lbnRpdGllczwvdGVybXJlZj4uICBBbiBlbnRpdHkgbWF5IDx0ZXJtcmVmCitkZWY9ImR0LWVudHJlZiI+cmVmZXI8L3Rlcm1yZWY+IHRvIG90aGVyIGVudGl0aWVzIHRvIGNhdXNlIHRoZWlyCitpbmNsdXNpb24gaW4gdGhlIGRvY3VtZW50LiBBIGRvY3VtZW50IGJlZ2lucyBpbiBhICJyb290IiAgb3IgPHRlcm1yZWYKK2RlZj0iZHQtZG9jZW50Ij5kb2N1bWVudCBlbnRpdHk8L3Rlcm1yZWY+LgorTG9naWNhbGx5LCB0aGUgZG9jdW1lbnQgaXMgY29tcG9zZWQgb2YgZGVjbGFyYXRpb25zLCBlbGVtZW50cywgCitjb21tZW50cywKK2NoYXJhY3RlciByZWZlcmVuY2VzLCBhbmQKK3Byb2Nlc3NpbmcKK2luc3RydWN0aW9ucywgYWxsIG9mIHdoaWNoIGFyZSBpbmRpY2F0ZWQgaW4gdGhlIGRvY3VtZW50IGJ5IGV4cGxpY2l0CittYXJrdXAuCitUaGUgbG9naWNhbCBhbmQgcGh5c2ljYWwgc3RydWN0dXJlcyBtdXN0IG5lc3QgcHJvcGVybHksIGFzIGRlc2NyaWJlZCAgCitpbiA8c3BlY3JlZiByZWY9J3dmLWVudGl0aWVzJy8+LgorPC9wPgorIAorPGRpdjIgaWQ9J3NlYy13ZWxsLWZvcm1lZCc+Cis8aGVhZD5XZWxsLUZvcm1lZCBYTUwgRG9jdW1lbnRzPC9oZWFkPgorIAorPHA+PHRlcm1kZWYgaWQ9ImR0LXdlbGxmb3JtZWQiIHRlcm09IldlbGwtRm9ybWVkIj4KK0EgdGV4dHVhbCBvYmplY3QgaXMgCithIHdlbGwtZm9ybWVkIFhNTCBkb2N1bWVudCBpZjo8L3Rlcm1kZWY+Cis8b2xpc3Q+Cis8aXRlbT48cD5UYWtlbiBhcyBhIHdob2xlLCBpdAorbWF0Y2hlcyB0aGUgcHJvZHVjdGlvbiBsYWJlbGVkIDxudCBkZWY9J05ULWRvY3VtZW50Jz5kb2N1bWVudDwvbnQ+LjwvcD48L2l0ZW0+Cis8aXRlbT48cD5JdAorbWVldHMgYWxsIHRoZSB3ZWxsLWZvcm1lZG5lc3MgY29uc3RyYWludHMgZ2l2ZW4gaW4gdGhpcyBzcGVjaWZpY2F0aW9uLjwvcD4KKzwvaXRlbT4KKzxpdGVtPjxwPkVhY2ggb2YgdGhlIDx0ZXJtcmVmIGRlZj0nZHQtcGFyc2VkZW50Jz5wYXJzZWQgZW50aXRpZXM8L3Rlcm1yZWY+IAord2hpY2ggaXMgcmVmZXJlbmNlZCBkaXJlY3RseSBvciBpbmRpcmVjdGx5IHdpdGhpbiB0aGUgZG9jdW1lbnQgaXMKKzx0aXRsZXJlZiBocmVmPSd3Zi1lbnRpdGllcyc+d2VsbC1mb3JtZWQ8L3RpdGxlcmVmPi48L3A+PC9pdGVtPgorPC9vbGlzdD48L3A+Cis8cD4KKzxzY3JhcCBsYW5nPSdlYm5mJyBpZD0nZG9jdW1lbnQnPgorPGhlYWQ+RG9jdW1lbnQ8L2hlYWQ+Cis8cHJvZCBpZD0nTlQtZG9jdW1lbnQnPjxsaHM+ZG9jdW1lbnQ8L2xocz4KKzxyaHM+PG50IGRlZj0nTlQtcHJvbG9nJz5wcm9sb2c8L250PiAKKzxudCBkZWY9J05ULWVsZW1lbnQnPmVsZW1lbnQ8L250PiAKKzxudCBkZWY9J05ULU1pc2MnPk1pc2M8L250Pio8L3Jocz48L3Byb2Q+Cis8L3NjcmFwPgorPC9wPgorPHA+TWF0Y2hpbmcgdGhlIDxudCBkZWY9Ik5ULWRvY3VtZW50Ij5kb2N1bWVudDwvbnQ+IHByb2R1Y3Rpb24gCitpbXBsaWVzIHRoYXQ6Cis8b2xpc3Q+Cis8aXRlbT48cD5JdCBjb250YWlucyBvbmUgb3IgbW9yZQorPHRlcm1yZWYgZGVmPSJkdC1lbGVtZW50Ij5lbGVtZW50czwvdGVybXJlZj4uPC9wPgorPC9pdGVtPgorPCEtLSogTi5CLiBzb21lIHJlYWRlcnMgKG5vdGFibHkgSkMpIGZpbmQgdGhlIGZvbGxvd2luZworcGFyYWdyYXBoIGF3a3dhcmQgYW5kIHJlZHVuZGFudC4gIEkgYWdyZWUgaXQncyBsb2dpY2FsbHkgcmVkdW5kYW50OgoraXQgKnNheXMqIGl0IGlzIHN1bW1hcml6aW5nIHRoZSBsb2dpY2FsIGltcGxpY2F0aW9ucyBvZgorbWF0Y2hpbmcgdGhlIGdyYW1tYXIsIGFuZCB0aGF0IG1lYW5zIGJ5IGRlZmluaXRpb24gaXQncworbG9naWNhbGx5IHJlZHVuZGFudC4gIEkgZG9uJ3QgdGhpbmsgaXQncyByaGV0b3JpY2FsbHkKK3JlZHVuZGFudCBvciB1bm5lY2Vzc2FyeSwgdGhvdWdoLCBzbyBJJ20ga2VlcGluZyBpdC4gIEl0Citjb3VsZCBob3dldmVyIHVzZSBzb21lIHJlY2FzdGluZyB3aGVuIHRoZSBlZGl0b3JzIGFyZSBmZWVsaW5nCitzdHJvbmdlci4gLU1TTSAqLS0+Cis8aXRlbT48cD48dGVybWRlZiBpZD0iZHQtcm9vdCIgdGVybT0iUm9vdCBFbGVtZW50Ij5UaGVyZSBpcyAgZXhhY3RseQorb25lIGVsZW1lbnQsIGNhbGxlZCB0aGUgPHRlcm0+cm9vdDwvdGVybT4sIG9yIGRvY3VtZW50IGVsZW1lbnQsICBubworcGFydCBvZiB3aGljaCBhcHBlYXJzIGluIHRoZSA8dGVybXJlZgorZGVmPSJkdC1jb250ZW50Ij5jb250ZW50PC90ZXJtcmVmPiBvZiBhbnkgb3RoZXIgZWxlbWVudC48L3Rlcm1kZWY+CitGb3IgYWxsIG90aGVyIGVsZW1lbnRzLCBpZiB0aGUgc3RhcnQtdGFnIGlzIGluIHRoZSBjb250ZW50IG9mIGFub3RoZXIKK2VsZW1lbnQsIHRoZSBlbmQtdGFnIGlzIGluIHRoZSBjb250ZW50IG9mIHRoZSBzYW1lIGVsZW1lbnQuICBNb3JlCitzaW1wbHkgc3RhdGVkLCB0aGUgZWxlbWVudHMsIGRlbGltaXRlZCBieSBzdGFydC0gYW5kIGVuZC10YWdzLCBuZXN0Citwcm9wZXJseSB3aXRoaW4gZWFjaCBvdGhlci4KKzwvcD48L2l0ZW0+Cis8L29saXN0PgorPC9wPgorPHA+PHRlcm1kZWYgaWQ9ImR0LXBhcmVudGNoaWxkIiB0ZXJtPSJQYXJlbnQvQ2hpbGQiPkFzIGEgY29uc2VxdWVuY2UgCitvZiB0aGlzLAorZm9yIGVhY2ggbm9uLXJvb3QgZWxlbWVudAorPGNvZGU+QzwvY29kZT4gaW4gdGhlIGRvY3VtZW50LCB0aGVyZSBpcyBvbmUgb3RoZXIgZWxlbWVudCA8Y29kZT5QPC9jb2RlPgoraW4gdGhlIGRvY3VtZW50IHN1Y2ggdGhhdCAKKzxjb2RlPkM8L2NvZGU+IGlzIGluIHRoZSBjb250ZW50IG9mIDxjb2RlPlA8L2NvZGU+LCBidXQgaXMgbm90IGluCit0aGUgY29udGVudCBvZiBhbnkgb3RoZXIgZWxlbWVudCB0aGF0IGlzIGluIHRoZSBjb250ZW50IG9mCis8Y29kZT5QPC9jb2RlPi4gIAorPGNvZGU+UDwvY29kZT4gaXMgcmVmZXJyZWQgdG8gYXMgdGhlCis8dGVybT5wYXJlbnQ8L3Rlcm0+IG9mIDxjb2RlPkM8L2NvZGU+LCBhbmQgPGNvZGU+QzwvY29kZT4gYXMgYQorPHRlcm0+Y2hpbGQ8L3Rlcm0+IG9mIDxjb2RlPlA8L2NvZGU+LjwvdGVybWRlZj48L3A+PC9kaXYyPgorIAorPGRpdjIgaWQ9ImNoYXJzZXRzIj4KKzxoZWFkPkNoYXJhY3RlcnM8L2hlYWQ+CisgCis8cD48dGVybWRlZiBpZD0iZHQtdGV4dCIgdGVybT0iVGV4dCI+QSBwYXJzZWQgZW50aXR5IGNvbnRhaW5zCis8dGVybT50ZXh0PC90ZXJtPiwgYSBzZXF1ZW5jZSBvZiAKKzx0ZXJtcmVmIGRlZj0iZHQtY2hhcmFjdGVyIj5jaGFyYWN0ZXJzPC90ZXJtcmVmPiwgCit3aGljaCBtYXkgcmVwcmVzZW50IG1hcmt1cCBvciBjaGFyYWN0ZXIgZGF0YS48L3Rlcm1kZWY+IAorPHRlcm1kZWYgaWQ9ImR0LWNoYXJhY3RlciIgdGVybT0iQ2hhcmFjdGVyIj5BIDx0ZXJtPmNoYXJhY3RlcjwvdGVybT4gCitpcyBhbiBhdG9taWMgdW5pdCBvZiB0ZXh0IGFzIHNwZWNpZmllZCBieQorSVNPL0lFQyAxMDY0NiA8YmlicmVmIHJlZj0iSVNPMTA2NDYiLz4uCitMZWdhbCBjaGFyYWN0ZXJzIGFyZSB0YWIsIGNhcnJpYWdlIHJldHVybiwgbGluZSBmZWVkLCBhbmQgdGhlIGxlZ2FsCitncmFwaGljIGNoYXJhY3RlcnMgb2YgVW5pY29kZSBhbmQgSVNPL0lFQyAxMDY0Ni4KK1RoZSB1c2Ugb2YgImNvbXBhdGliaWxpdHkgY2hhcmFjdGVycyIsIGFzIGRlZmluZWQgaW4gc2VjdGlvbiA2LjgKK29mIDxiaWJyZWYgcmVmPSdVbmljb2RlJy8+LCBpcyBkaXNjb3VyYWdlZC4KKzwvdGVybWRlZj4gCis8c2NyYXAgbGFuZz0iZWJuZiIgaWQ9ImNoYXIzMiI+Cis8aGVhZD5DaGFyYWN0ZXIgUmFuZ2U8L2hlYWQ+Cis8cHJvZGdyb3VwIHBjdzI9IjQiIHBjdzQ9IjE3LjUiIHBjdzU9IjExIj4KKzxwcm9kIGlkPSJOVC1DaGFyIj48bGhzPkNoYXI8L2xocz4gCis8cmhzPiN4OSB8ICN4QSB8ICN4RCB8IFsjeDIwLSN4RDdGRl0gfCBbI3hFMDAwLSN4RkZGRF0gCit8IFsjeDEwMDAwLSN4MTBGRkZGXTwvcmhzPiAKKzxjb20+YW55IFVuaWNvZGUgY2hhcmFjdGVyLCBleGNsdWRpbmcgdGhlCitzdXJyb2dhdGUgYmxvY2tzLCBGRkZFLCBhbmQgRkZGRi48L2NvbT4gPC9wcm9kPgorPC9wcm9kZ3JvdXA+Cis8L3NjcmFwPgorPC9wPgorCis8cD5UaGUgbWVjaGFuaXNtIGZvciBlbmNvZGluZyBjaGFyYWN0ZXIgY29kZSBwb2ludHMgaW50byBiaXQgcGF0dGVybnMgbWF5Cit2YXJ5IGZyb20gZW50aXR5IHRvIGVudGl0eS4gQWxsIFhNTCBwcm9jZXNzb3JzIG11c3QgYWNjZXB0IHRoZSBVVEYtOAorYW5kIFVURi0xNiBlbmNvZGluZ3Mgb2YgMTA2NDY7IHRoZSBtZWNoYW5pc21zIGZvciBzaWduYWxpbmcgd2hpY2ggb2YKK3RoZSB0d28gaXMgaW4gdXNlLCBvciBmb3IgYnJpbmdpbmcgb3RoZXIgZW5jb2RpbmdzIGludG8gcGxheSwgYXJlCitkaXNjdXNzZWQgbGF0ZXIsIGluIDxzcGVjcmVmIHJlZj0nY2hhcmVuY29kaW5nJy8+LgorPC9wPgorPCEtLQorPHA+UmVnYXJkbGVzcyBvZiB0aGUgc3BlY2lmaWMgZW5jb2RpbmcgdXNlZCwgYW55IGNoYXJhY3RlciBpbiB0aGUgSVNPL0lFQworMTA2NDYgY2hhcmFjdGVyIHNldCBtYXkgYmUgcmVmZXJyZWQgdG8gYnkgdGhlIGRlY2ltYWwgb3IgaGV4YWRlY2ltYWwKK2VxdWl2YWxlbnQgb2YgaXRzIAorVUNTLTQgY29kZSB2YWx1ZS4KKzwvcD4tLT4KKzwvZGl2Mj4KKyAKKzxkaXYyIGlkPSdzZWMtY29tbW9uLXN5bic+Cis8aGVhZD5Db21tb24gU3ludGFjdGljIENvbnN0cnVjdHM8L2hlYWQ+CisgCis8cD5UaGlzIHNlY3Rpb24gZGVmaW5lcyBzb21lIHN5bWJvbHMgdXNlZCB3aWRlbHkgaW4gdGhlIGdyYW1tYXIuPC9wPgorPHA+PG50IGRlZj0iTlQtUyI+UzwvbnQ+ICh3aGl0ZSBzcGFjZSkgY29uc2lzdHMgb2Ygb25lIG9yIG1vcmUgc3BhY2UgKCN4MjApCitjaGFyYWN0ZXJzLCBjYXJyaWFnZSByZXR1cm5zLCBsaW5lIGZlZWRzLCBvciB0YWJzLgorCis8c2NyYXAgbGFuZz0iZWJuZiIgaWQ9J3doaXRlJz4KKzxoZWFkPldoaXRlIFNwYWNlPC9oZWFkPgorPHByb2Rncm91cCBwY3cyPSI0IiBwY3c0PSIxNy41IiBwY3c1PSIxMSI+Cis8cHJvZCBpZD0nTlQtUyc+PGxocz5TPC9saHM+Cis8cmhzPigjeDIwIHwgI3g5IHwgI3hEIHwgI3hBKSs8L3Jocz4KKzwvcHJvZD4KKzwvcHJvZGdyb3VwPgorPC9zY3JhcD48L3A+Cis8cD5DaGFyYWN0ZXJzIGFyZSBjbGFzc2lmaWVkIGZvciBjb252ZW5pZW5jZSBhcyBsZXR0ZXJzLCBkaWdpdHMsIG9yIG90aGVyCitjaGFyYWN0ZXJzLiAgTGV0dGVycyBjb25zaXN0IG9mIGFuIGFscGhhYmV0aWMgb3Igc3lsbGFiaWMgCitiYXNlIGNoYXJhY3RlciBwb3NzaWJseQorZm9sbG93ZWQgYnkgb25lIG9yIG1vcmUgY29tYmluaW5nIGNoYXJhY3RlcnMsIG9yIG9mIGFuIGlkZW9ncmFwaGljCitjaGFyYWN0ZXIuICAKK0Z1bGwgZGVmaW5pdGlvbnMgb2YgdGhlIHNwZWNpZmljIGNoYXJhY3RlcnMgaW4gZWFjaCBjbGFzcworYXJlIGdpdmVuIGluIDxzcGVjcmVmIHJlZj0nQ2hhckNsYXNzZXMnLz4uPC9wPgorPHA+PHRlcm1kZWYgaWQ9ImR0LW5hbWUiIHRlcm09Ik5hbWUiPkEgPHRlcm0+TmFtZTwvdGVybT4gaXMgYSB0b2tlbgorYmVnaW5uaW5nIHdpdGggYSBsZXR0ZXIgb3Igb25lIG9mIGEgZmV3IHB1bmN0dWF0aW9uIGNoYXJhY3RlcnMsIGFuZCBjb250aW51aW5nCit3aXRoIGxldHRlcnMsIGRpZ2l0cywgaHlwaGVucywgdW5kZXJzY29yZXMsIGNvbG9ucywgb3IgZnVsbCBzdG9wcywgdG9nZXRoZXIKK2tub3duIGFzIG5hbWUgY2hhcmFjdGVycy48L3Rlcm1kZWY+CitOYW1lcyBiZWdpbm5pbmcgd2l0aCB0aGUgc3RyaW5nICI8Y29kZT54bWw8L2NvZGU+Iiwgb3IgYW55IHN0cmluZword2hpY2ggd291bGQgbWF0Y2ggPGNvZGU+KCgnWCd8J3gnKSAoJ00nfCdtJykgKCdMJ3wnbCcpKTwvY29kZT4sIGFyZQorcmVzZXJ2ZWQgZm9yIHN0YW5kYXJkaXphdGlvbiBpbiB0aGlzIG9yIGZ1dHVyZSB2ZXJzaW9ucyBvZiB0aGlzCitzcGVjaWZpY2F0aW9uLgorPC9wPgorPG5vdGU+Cis8cD5UaGUgY29sb24gY2hhcmFjdGVyIHdpdGhpbiBYTUwgbmFtZXMgaXMgcmVzZXJ2ZWQgZm9yIGV4cGVyaW1lbnRhdGlvbiB3aXRoCituYW1lIHNwYWNlcy4gIAorSXRzIG1lYW5pbmcgaXMgZXhwZWN0ZWQgdG8gYmUKK3N0YW5kYXJkaXplZCBhdCBzb21lIGZ1dHVyZSBwb2ludCwgYXQgd2hpY2ggcG9pbnQgdGhvc2UgZG9jdW1lbnRzIAordXNpbmcgdGhlIGNvbG9uIGZvciBleHBlcmltZW50YWwgcHVycG9zZXMgbWF5IG5lZWQgdG8gYmUgdXBkYXRlZC4KKyhUaGVyZSBpcyBubyBndWFyYW50ZWUgdGhhdCBhbnkgbmFtZS1zcGFjZSBtZWNoYW5pc20KK2Fkb3B0ZWQgZm9yIFhNTCB3aWxsIGluIGZhY3QgdXNlIHRoZSBjb2xvbiBhcyBhIG5hbWUtc3BhY2UgZGVsaW1pdGVyLikKK0luIHByYWN0aWNlLCB0aGlzIG1lYW5zIHRoYXQgYXV0aG9ycyBzaG91bGQgbm90IHVzZSB0aGUgY29sb24gaW4gWE1MCituYW1lcyBleGNlcHQgYXMgcGFydCBvZiBuYW1lLXNwYWNlIGV4cGVyaW1lbnRzLCBidXQgdGhhdCBYTUwgcHJvY2Vzc29ycworc2hvdWxkIGFjY2VwdCB0aGUgY29sb24gYXMgYSBuYW1lIGNoYXJhY3Rlci48L3A+Cis8L25vdGU+Cis8cD5BbgorPG50IGRlZj0nTlQtTm10b2tlbic+Tm10b2tlbjwvbnQ+IChuYW1lIHRva2VuKSBpcyBhbnkgbWl4dHVyZSBvZgorbmFtZSBjaGFyYWN0ZXJzLgorPHNjcmFwIGxhbmc9J2VibmYnPgorPGhlYWQ+TmFtZXMgYW5kIFRva2VuczwvaGVhZD4KKzxwcm9kIGlkPSdOVC1OYW1lQ2hhcic+PGxocz5OYW1lQ2hhcjwvbGhzPgorPHJocz48bnQgZGVmPSJOVC1MZXR0ZXIiPkxldHRlcjwvbnQ+IAorfCA8bnQgZGVmPSdOVC1EaWdpdCc+RGlnaXQ8L250PiAKK3wgJy4nIHwgJy0nIHwgJ18nIHwgJzonCit8IDxudCBkZWY9J05ULUNvbWJpbmluZ0NoYXInPkNvbWJpbmluZ0NoYXI8L250PiAKK3wgPG50IGRlZj0nTlQtRXh0ZW5kZXInPkV4dGVuZGVyPC9udD48L3Jocz4KKzwvcHJvZD4KKzxwcm9kIGlkPSdOVC1OYW1lJz48bGhzPk5hbWU8L2xocz4KKzxyaHM+KDxudCBkZWY9J05ULUxldHRlcic+TGV0dGVyPC9udD4gfCAnXycgfCAnOicpCisoPG50IGRlZj0nTlQtTmFtZUNoYXInPk5hbWVDaGFyPC9udD4pKjwvcmhzPjwvcHJvZD4KKzxwcm9kIGlkPSdOVC1OYW1lcyc+PGxocz5OYW1lczwvbGhzPgorPHJocz48bnQgZGVmPSdOVC1OYW1lJz5OYW1lPC9udD4gCisoPG50IGRlZj0nTlQtUyc+UzwvbnQ+IDxudCBkZWY9J05ULU5hbWUnPk5hbWU8L250PikqPC9yaHM+PC9wcm9kPgorPHByb2QgaWQ9J05ULU5tdG9rZW4nPjxsaHM+Tm10b2tlbjwvbGhzPgorPHJocz4oPG50IGRlZj0nTlQtTmFtZUNoYXInPk5hbWVDaGFyPC9udD4pKzwvcmhzPjwvcHJvZD4KKzxwcm9kIGlkPSdOVC1ObXRva2Vucyc+PGxocz5ObXRva2VuczwvbGhzPgorPHJocz48bnQgZGVmPSdOVC1ObXRva2VuJz5ObXRva2VuPC9udD4gKDxudCBkZWY9J05ULVMnPlM8L250PiA8bnQgZGVmPSdOVC1ObXRva2VuJz5ObXRva2VuPC9udD4pKjwvcmhzPjwvcHJvZD4KKzwvc2NyYXA+Cis8L3A+Cis8cD5MaXRlcmFsIGRhdGEgaXMgYW55IHF1b3RlZCBzdHJpbmcgbm90IGNvbnRhaW5pbmcKK3RoZSBxdW90YXRpb24gbWFyayB1c2VkIGFzIGEgZGVsaW1pdGVyIGZvciB0aGF0IHN0cmluZy4KK0xpdGVyYWxzIGFyZSB1c2VkCitmb3Igc3BlY2lmeWluZyB0aGUgY29udGVudCBvZiBpbnRlcm5hbCBlbnRpdGllcworKDxudCBkZWY9J05ULUVudGl0eVZhbHVlJz5FbnRpdHlWYWx1ZTwvbnQ+KSwKK3RoZSB2YWx1ZXMgb2YgYXR0cmlidXRlcyAoPG50IGRlZj0nTlQtQXR0VmFsdWUnPkF0dFZhbHVlPC9udD4pLCAKK2FuZCBleHRlcm5hbCBpZGVudGlmaWVycyAKKyg8bnQgZGVmPSJOVC1TeXN0ZW1MaXRlcmFsIj5TeXN0ZW1MaXRlcmFsPC9udD4pLiAgCitOb3RlIHRoYXQgYSA8bnQgZGVmPSdOVC1TeXN0ZW1MaXRlcmFsJz5TeXN0ZW1MaXRlcmFsPC9udD4KK2NhbiBiZSBwYXJzZWQgd2l0aG91dCBzY2FubmluZyBmb3IgbWFya3VwLgorPHNjcmFwIGxhbmc9J2VibmYnPgorPGhlYWQ+TGl0ZXJhbHM8L2hlYWQ+Cis8cHJvZCBpZD0nTlQtRW50aXR5VmFsdWUnPjxsaHM+RW50aXR5VmFsdWU8L2xocz4KKzxyaHM+JyInIAorKFteJSZhbXA7Il0gCit8IDxudCBkZWY9J05ULVBFUmVmZXJlbmNlJz5QRVJlZmVyZW5jZTwvbnQ+IAorfCA8bnQgZGVmPSdOVC1SZWZlcmVuY2UnPlJlZmVyZW5jZTwvbnQ+KSoKKyciJyAKKzwvcmhzPgorPHJocz58Jm5ic3A7IAorIiciIAorKFteJSZhbXA7J10gCit8IDxudCBkZWY9J05ULVBFUmVmZXJlbmNlJz5QRVJlZmVyZW5jZTwvbnQ+IAorfCA8bnQgZGVmPSdOVC1SZWZlcmVuY2UnPlJlZmVyZW5jZTwvbnQ+KSogCisiJyI8L3Jocz4KKzwvcHJvZD4KKzxwcm9kIGlkPSdOVC1BdHRWYWx1ZSc+PGxocz5BdHRWYWx1ZTwvbGhzPgorPHJocz4nIicgCisoW14mbHQ7JmFtcDsiXSAKK3wgPG50IGRlZj0nTlQtUmVmZXJlbmNlJz5SZWZlcmVuY2U8L250PikqIAorJyInIAorPC9yaHM+Cis8cmhzPnwmbmJzcDsgCisiJyIgCisoW14mbHQ7JmFtcDsnXSAKK3wgPG50IGRlZj0nTlQtUmVmZXJlbmNlJz5SZWZlcmVuY2U8L250PikqIAorIiciPC9yaHM+Cis8L3Byb2Q+Cis8cHJvZCBpZD0iTlQtU3lzdGVtTGl0ZXJhbCI+PGxocz5TeXN0ZW1MaXRlcmFsPC9saHM+Cis8cmhzPignIicgW14iXSogJyInKSB8Jm5ic3A7KCInIiBbXiddKiAiJyIpCis8L3Jocz4KKzwvcHJvZD4KKzxwcm9kIGlkPSJOVC1QdWJpZExpdGVyYWwiPjxsaHM+UHViaWRMaXRlcmFsPC9saHM+Cis8cmhzPiciJyA8bnQgZGVmPSdOVC1QdWJpZENoYXInPlB1YmlkQ2hhcjwvbnQ+KiAKKyciJyAKK3wgIiciICg8bnQgZGVmPSdOVC1QdWJpZENoYXInPlB1YmlkQ2hhcjwvbnQ+IC0gIiciKSogIiciPC9yaHM+Cis8L3Byb2Q+Cis8cHJvZCBpZD0iTlQtUHViaWRDaGFyIj48bGhzPlB1YmlkQ2hhcjwvbGhzPgorPHJocz4jeDIwIHwgI3hEIHwgI3hBIAorfCZuYnNwO1thLXpBLVowLTldCit8Jm5ic3A7Wy0nKCkrLC4vOj0/OyEqI0AkXyVdPC9yaHM+Cis8L3Byb2Q+Cis8L3NjcmFwPgorPC9wPgorCis8L2RpdjI+CisKKzxkaXYyIGlkPSdzeW50YXgnPgorPGhlYWQ+Q2hhcmFjdGVyIERhdGEgYW5kIE1hcmt1cDwvaGVhZD4KKyAKKzxwPjx0ZXJtcmVmIGRlZj0nZHQtdGV4dCc+VGV4dDwvdGVybXJlZj4gY29uc2lzdHMgb2YgaW50ZXJtaW5nbGVkIAorPHRlcm1yZWYgZGVmPSJkdC1jaGFyZGF0YSI+Y2hhcmFjdGVyCitkYXRhPC90ZXJtcmVmPiBhbmQgbWFya3VwLgorPHRlcm1kZWYgaWQ9ImR0LW1hcmt1cCIgdGVybT0iTWFya3VwIj48dGVybT5NYXJrdXA8L3Rlcm0+IHRha2VzIHRoZSBmb3JtIG9mCis8dGVybXJlZiBkZWY9ImR0LXN0YWciPnN0YXJ0LXRhZ3M8L3Rlcm1yZWY+LAorPHRlcm1yZWYgZGVmPSJkdC1ldGFnIj5lbmQtdGFnczwvdGVybXJlZj4sCis8dGVybXJlZiBkZWY9ImR0LWVtcHR5Ij5lbXB0eS1lbGVtZW50IHRhZ3M8L3Rlcm1yZWY+LAorPHRlcm1yZWYgZGVmPSJkdC1lbnRyZWYiPmVudGl0eSByZWZlcmVuY2VzPC90ZXJtcmVmPiwKKzx0ZXJtcmVmIGRlZj0iZHQtY2hhcnJlZiI+Y2hhcmFjdGVyIHJlZmVyZW5jZXM8L3Rlcm1yZWY+LAorPHRlcm1yZWYgZGVmPSJkdC1jb21tZW50Ij5jb21tZW50czwvdGVybXJlZj4sCis8dGVybXJlZiBkZWY9ImR0LWNkc2VjdGlvbiI+Q0RBVEEgc2VjdGlvbjwvdGVybXJlZj4gZGVsaW1pdGVycywKKzx0ZXJtcmVmIGRlZj0iZHQtZG9jdHlwZSI+ZG9jdW1lbnQgdHlwZSBkZWNsYXJhdGlvbnM8L3Rlcm1yZWY+LCBhbmQKKzx0ZXJtcmVmIGRlZj0iZHQtcGkiPnByb2Nlc3NpbmcgaW5zdHJ1Y3Rpb25zPC90ZXJtcmVmPi4KKzwvdGVybWRlZj4KKzwvcD4KKzxwPjx0ZXJtZGVmIGlkPSJkdC1jaGFyZGF0YSIgdGVybT0iQ2hhcmFjdGVyIERhdGEiPkFsbCB0ZXh0IHRoYXQgaXMgbm90IG1hcmt1cAorY29uc3RpdHV0ZXMgdGhlIDx0ZXJtPmNoYXJhY3RlciBkYXRhPC90ZXJtPiBvZgordGhlIGRvY3VtZW50LjwvdGVybWRlZj48L3A+Cis8cD5UaGUgYW1wZXJzYW5kIGNoYXJhY3RlciAoJmFtcDspIGFuZCB0aGUgbGVmdCBhbmdsZSBicmFja2V0ICgmbHQ7KQorbWF5IGFwcGVhciBpbiB0aGVpciBsaXRlcmFsIGZvcm0gPGVtcGg+b25seTwvZW1waD4gd2hlbiB1c2VkIGFzIG1hcmt1cAorZGVsaW1pdGVycywgb3Igd2l0aGluIGEgPHRlcm1yZWYgZGVmPSJkdC1jb21tZW50Ij5jb21tZW50PC90ZXJtcmVmPiwgYQorPHRlcm1yZWYgZGVmPSJkdC1waSI+cHJvY2Vzc2luZyBpbnN0cnVjdGlvbjwvdGVybXJlZj4sIAorb3IgYSA8dGVybXJlZiBkZWY9ImR0LWNkc2VjdGlvbiI+Q0RBVEEgc2VjdGlvbjwvdGVybXJlZj4uICAKKworVGhleSBhcmUgYWxzbyBsZWdhbCB3aXRoaW4gdGhlIDx0ZXJtcmVmIGRlZj0nZHQtbGl0ZW50dmFsJz5saXRlcmFsIGVudGl0eQordmFsdWU8L3Rlcm1yZWY+IG9mIGFuIGludGVybmFsIGVudGl0eSBkZWNsYXJhdGlvbjsgc2VlCis8c3BlY3JlZiByZWY9J3dmLWVudGl0aWVzJy8+LgorPCEtLSBGSU5BTCBFRElUOiAgcmVzdG9yZSBpbnRlcm5hbCBlbnRpdHkgZGVjbCBvciBsZWF2ZSBpdCBvdXQuIC0tPgorSWYgdGhleSBhcmUgbmVlZGVkIGVsc2V3aGVyZSwKK3RoZXkgbXVzdCBiZSA8dGVybXJlZiBkZWY9ImR0LWVzY2FwZSI+ZXNjYXBlZDwvdGVybXJlZj4KK3VzaW5nIGVpdGhlciA8dGVybXJlZiBkZWY9J2R0LWNoYXJyZWYnPm51bWVyaWMgY2hhcmFjdGVyIHJlZmVyZW5jZXM8L3Rlcm1yZWY+CitvciB0aGUgc3RyaW5ncworIjxjb2RlPiZhbXA7YW1wOzwvY29kZT4iIGFuZCAiPGNvZGU+JmFtcDtsdDs8L2NvZGU+IiByZXNwZWN0aXZlbHkuIAorVGhlIHJpZ2h0IGFuZ2xlCiticmFja2V0ICg+KSBtYXkgYmUgcmVwcmVzZW50ZWQgdXNpbmcgdGhlIHN0cmluZworIjxjb2RlPiZhbXA7Z3Q7PC9jb2RlPiIsIGFuZCBtdXN0LCA8dGVybXJlZiBkZWY9J2R0LWNvbXBhdCc+Zm9yCitjb21wYXRpYmlsaXR5PC90ZXJtcmVmPiwgCitiZSBlc2NhcGVkIHVzaW5nCisiPGNvZGU+JmFtcDtndDs8L2NvZGU+IiBvciBhIGNoYXJhY3RlciByZWZlcmVuY2UgCit3aGVuIGl0IGFwcGVhcnMgaW4gdGhlIHN0cmluZworIjxjb2RlPl1dJmd0OzwvY29kZT4iCitpbiBjb250ZW50LCAKK3doZW4gdGhhdCBzdHJpbmcgaXMgbm90IG1hcmtpbmcgdGhlIGVuZCBvZiAKK2EgPHRlcm1yZWYgZGVmPSJkdC1jZHNlY3Rpb24iPkNEQVRBIHNlY3Rpb248L3Rlcm1yZWY+LiAKKzwvcD4KKzxwPgorSW4gdGhlIGNvbnRlbnQgb2YgZWxlbWVudHMsIGNoYXJhY3RlciBkYXRhIAoraXMgYW55IHN0cmluZyBvZiBjaGFyYWN0ZXJzIHdoaWNoIGRvZXMKK25vdCBjb250YWluIHRoZSBzdGFydC1kZWxpbWl0ZXIgb2YgYW55IG1hcmt1cC4gIAorSW4gYSBDREFUQSBzZWN0aW9uLCBjaGFyYWN0ZXIgZGF0YQoraXMgYW55IHN0cmluZyBvZiBjaGFyYWN0ZXJzIG5vdCBpbmNsdWRpbmcgdGhlIENEQVRBLXNlY3Rpb24tY2xvc2UKK2RlbGltaXRlciwgIjxjb2RlPl1dJmd0OzwvY29kZT4iLjwvcD4KKzxwPgorVG8gYWxsb3cgYXR0cmlidXRlIHZhbHVlcyB0byBjb250YWluIGJvdGggc2luZ2xlIGFuZCBkb3VibGUgcXVvdGVzLCB0aGUKK2Fwb3N0cm9waGUgb3Igc2luZ2xlLXF1b3RlIGNoYXJhY3RlciAoJykgbWF5IGJlIHJlcHJlc2VudGVkIGFzCisiPGNvZGU+JmFtcDthcG9zOzwvY29kZT4iLCBhbmQgdGhlIGRvdWJsZS1xdW90ZSBjaGFyYWN0ZXIgKCIpIGFzCisiPGNvZGU+JmFtcDtxdW90OzwvY29kZT4iLgorPHNjcmFwIGxhbmc9ImVibmYiPgorPGhlYWQ+Q2hhcmFjdGVyIERhdGE8L2hlYWQ+Cis8cHJvZCBpZD0nTlQtQ2hhckRhdGEnPgorPGxocz5DaGFyRGF0YTwvbGhzPgorPHJocz5bXiZsdDsmYW1wO10qIC0gKFteJmx0OyZhbXA7XSogJ11dJmd0OycgW14mbHQ7JmFtcDtdKik8L3Jocz4KKzwvcHJvZD4KKzwvc2NyYXA+Cis8L3A+Cis8L2RpdjI+CisgCis8ZGl2MiBpZD0nc2VjLWNvbW1lbnRzJz4KKzxoZWFkPkNvbW1lbnRzPC9oZWFkPgorIAorPHA+PHRlcm1kZWYgaWQ9ImR0LWNvbW1lbnQiIHRlcm09IkNvbW1lbnQiPjx0ZXJtPkNvbW1lbnRzPC90ZXJtPiBtYXkgCithcHBlYXIgYW55d2hlcmUgaW4gYSBkb2N1bWVudCBvdXRzaWRlIG90aGVyIAorPHRlcm1yZWYgZGVmPSdkdC1tYXJrdXAnPm1hcmt1cDwvdGVybXJlZj47IGluIGFkZGl0aW9uLAordGhleSBtYXkgYXBwZWFyIHdpdGhpbiB0aGUgZG9jdW1lbnQgdHlwZSBkZWNsYXJhdGlvbgorYXQgcGxhY2VzIGFsbG93ZWQgYnkgdGhlIGdyYW1tYXIuCitUaGV5IGFyZSBub3QgcGFydCBvZiB0aGUgZG9jdW1lbnQncyA8dGVybXJlZiBkZWY9ImR0LWNoYXJkYXRhIj5jaGFyYWN0ZXIKK2RhdGE8L3Rlcm1yZWY+OyBhbiBYTUwKK3Byb2Nlc3NvciBtYXksIGJ1dCBuZWVkIG5vdCwgbWFrZSBpdCBwb3NzaWJsZSBmb3IgYW4gYXBwbGljYXRpb24gdG8KK3JldHJpZXZlIHRoZSB0ZXh0IG9mIGNvbW1lbnRzLgorPHRlcm1yZWYgZGVmPSJkdC1jb21wYXQiPkZvciBjb21wYXRpYmlsaXR5PC90ZXJtcmVmPiwgdGhlIHN0cmluZworIjxjb2RlPi0tPC9jb2RlPiIgKGRvdWJsZS1oeXBoZW4pIG11c3Qgbm90IG9jY3VyIHdpdGhpbgorY29tbWVudHMuCis8c2NyYXAgbGFuZz0iZWJuZiI+Cis8aGVhZD5Db21tZW50czwvaGVhZD4KKzxwcm9kIGlkPSdOVC1Db21tZW50Jz48bGhzPkNvbW1lbnQ8L2xocz4KKzxyaHM+JyZsdDshLS0nCisoKDxudCBkZWY9J05ULUNoYXInPkNoYXI8L250PiAtICctJykgCit8ICgnLScgKDxudCBkZWY9J05ULUNoYXInPkNoYXI8L250PiAtICctJykpKSogCisnLS0+JzwvcmhzPgorPC9wcm9kPgorPC9zY3JhcD4KKzwvdGVybWRlZj48L3A+Cis8cD5BbiBleGFtcGxlIG9mIGEgY29tbWVudDoKKzxlZz4mbHQ7ISZjb21vOyBkZWNsYXJhdGlvbnMgZm9yICZsdDtoZWFkPiAmYW1wOyAmbHQ7Ym9keT4gJmNvbWM7Jmd0OzwvZWc+Cis8L3A+Cis8L2RpdjI+CisgCis8ZGl2MiBpZD0nc2VjLXBpJz4KKzxoZWFkPlByb2Nlc3NpbmcgSW5zdHJ1Y3Rpb25zPC9oZWFkPgorIAorPHA+PHRlcm1kZWYgaWQ9ImR0LXBpIiB0ZXJtPSJQcm9jZXNzaW5nIGluc3RydWN0aW9uIj48dGVybT5Qcm9jZXNzaW5nCitpbnN0cnVjdGlvbnM8L3Rlcm0+IChQSXMpIGFsbG93IGRvY3VtZW50cyB0byBjb250YWluIGluc3RydWN0aW9ucworZm9yIGFwcGxpY2F0aW9ucy4KKyAKKzxzY3JhcCBsYW5nPSJlYm5mIj4KKzxoZWFkPlByb2Nlc3NpbmcgSW5zdHJ1Y3Rpb25zPC9oZWFkPgorPHByb2QgaWQ9J05ULVBJJz48bGhzPlBJPC9saHM+Cis8cmhzPicmbHQ7PycgPG50IGRlZj0nTlQtUElUYXJnZXQnPlBJVGFyZ2V0PC9udD4gCisoPG50IGRlZj0nTlQtUyc+UzwvbnQ+IAorKDxudCBkZWY9J05ULUNoYXInPkNoYXI8L250PiogLSAKKyg8bnQgZGVmPSdOVC1DaGFyJz5DaGFyPC9udD4qICZwaWM7IDxudCBkZWY9J05ULUNoYXInPkNoYXI8L250PiopKSk/CismcGljOzwvcmhzPjwvcHJvZD4KKzxwcm9kIGlkPSdOVC1QSVRhcmdldCc+PGxocz5QSVRhcmdldDwvbGhzPgorPHJocz48bnQgZGVmPSdOVC1OYW1lJz5OYW1lPC9udD4gLSAKKygoJ1gnIHwgJ3gnKSAoJ00nIHwgJ20nKSAoJ0wnIHwgJ2wnKSk8L3Jocz4KKzwvcHJvZD4KKzwvc2NyYXA+PC90ZXJtZGVmPgorUElzIGFyZSBub3QgcGFydCBvZiB0aGUgZG9jdW1lbnQncyA8dGVybXJlZiBkZWY9ImR0LWNoYXJkYXRhIj5jaGFyYWN0ZXIKK2RhdGE8L3Rlcm1yZWY+LCBidXQgbXVzdCBiZSBwYXNzZWQgdGhyb3VnaCB0byB0aGUgYXBwbGljYXRpb24uIFRoZQorUEkgYmVnaW5zIHdpdGggYSB0YXJnZXQgKDxudCBkZWY9J05ULVBJVGFyZ2V0Jz5QSVRhcmdldDwvbnQ+KSB1c2VkCit0byBpZGVudGlmeSB0aGUgYXBwbGljYXRpb24gdG8gd2hpY2ggdGhlIGluc3RydWN0aW9uIGlzIGRpcmVjdGVkLiAgCitUaGUgdGFyZ2V0IG5hbWVzICI8Y29kZT5YTUw8L2NvZGU+IiwgIjxjb2RlPnhtbDwvY29kZT4iLCBhbmQgc28gb24gYXJlCityZXNlcnZlZCBmb3Igc3RhbmRhcmRpemF0aW9uIGluIHRoaXMgb3IgZnV0dXJlIHZlcnNpb25zIG9mIHRoaXMKK3NwZWNpZmljYXRpb24uCitUaGUgCitYTUwgPHRlcm1yZWYgZGVmPSdkdC1ub3RhdGlvbic+Tm90YXRpb248L3Rlcm1yZWY+IG1lY2hhbmlzbQorbWF5IGJlIHVzZWQgZm9yCitmb3JtYWwgZGVjbGFyYXRpb24gb2YgUEkgdGFyZ2V0cy4KKzwvcD4KKzwvZGl2Mj4KKyAKKzxkaXYyIGlkPSdzZWMtY2RhdGEtc2VjdCc+Cis8aGVhZD5DREFUQSBTZWN0aW9uczwvaGVhZD4KKyAKKzxwPjx0ZXJtZGVmIGlkPSJkdC1jZHNlY3Rpb24iIHRlcm09IkNEQVRBIFNlY3Rpb24iPjx0ZXJtPkNEQVRBIHNlY3Rpb25zPC90ZXJtPgorbWF5IG9jY3VyIAorYW55d2hlcmUgY2hhcmFjdGVyIGRhdGEgbWF5IG9jY3VyOyB0aGV5IGFyZQordXNlZCB0byBlc2NhcGUgYmxvY2tzIG9mIHRleHQgY29udGFpbmluZyBjaGFyYWN0ZXJzIHdoaWNoIHdvdWxkCitvdGhlcndpc2UgYmUgcmVjb2duaXplZCBhcyBtYXJrdXAuICBDREFUQSBzZWN0aW9ucyBiZWdpbiB3aXRoIHRoZQorc3RyaW5nICI8Y29kZT4mbHQ7IVtDREFUQVs8L2NvZGU+IiBhbmQgZW5kIHdpdGggdGhlIHN0cmluZworIjxjb2RlPl1dJmd0OzwvY29kZT4iOgorPHNjcmFwIGxhbmc9ImVibmYiPgorPGhlYWQ+Q0RBVEEgU2VjdGlvbnM8L2hlYWQ+Cis8cHJvZCBpZD0nTlQtQ0RTZWN0Jz48bGhzPkNEU2VjdDwvbGhzPgorPHJocz48bnQgZGVmPSdOVC1DRFN0YXJ0Jz5DRFN0YXJ0PC9udD4gCis8bnQgZGVmPSdOVC1DRGF0YSc+Q0RhdGE8L250PiAKKzxudCBkZWY9J05ULUNERW5kJz5DREVuZDwvbnQ+PC9yaHM+PC9wcm9kPgorPHByb2QgaWQ9J05ULUNEU3RhcnQnPjxsaHM+Q0RTdGFydDwvbGhzPgorPHJocz4nJmx0OyFbQ0RBVEFbJzwvcmhzPgorPC9wcm9kPgorPHByb2QgaWQ9J05ULUNEYXRhJz48bGhzPkNEYXRhPC9saHM+Cis8cmhzPig8bnQgZGVmPSdOVC1DaGFyJz5DaGFyPC9udD4qIC0gCisoPG50IGRlZj0nTlQtQ2hhcic+Q2hhcjwvbnQ+KiAnXV0mZ3Q7JyA8bnQgZGVmPSdOVC1DaGFyJz5DaGFyPC9udD4qKSkKKzwvcmhzPgorPC9wcm9kPgorPHByb2QgaWQ9J05ULUNERW5kJz48bGhzPkNERW5kPC9saHM+Cis8cmhzPiddXSZndDsnPC9yaHM+Cis8L3Byb2Q+Cis8L3NjcmFwPgorCitXaXRoaW4gYSBDREFUQSBzZWN0aW9uLCBvbmx5IHRoZSA8bnQgZGVmPSdOVC1DREVuZCc+Q0RFbmQ8L250PiBzdHJpbmcgaXMKK3JlY29nbml6ZWQgYXMgbWFya3VwLCBzbyB0aGF0IGxlZnQgYW5nbGUgYnJhY2tldHMgYW5kIGFtcGVyc2FuZHMgbWF5IG9jY3VyIGluCit0aGVpciBsaXRlcmFsIGZvcm07IHRoZXkgbmVlZCBub3QgKGFuZCBjYW5ub3QpIGJlIGVzY2FwZWQgdXNpbmcKKyI8Y29kZT4mYW1wO2x0OzwvY29kZT4iIGFuZCAiPGNvZGU+JmFtcDthbXA7PC9jb2RlPiIuICBDREFUQSBzZWN0aW9ucworY2Fubm90IG5lc3QuPC90ZXJtZGVmPgorPC9wPgorCis8cD5BbiBleGFtcGxlIG9mIGEgQ0RBVEEgc2VjdGlvbiwgaW4gd2hpY2ggIjxjb2RlPiZsdDtncmVldGluZz48L2NvZGU+IiBhbmQgCisiPGNvZGU+Jmx0Oy9ncmVldGluZz48L2NvZGU+IgorYXJlIHJlY29nbml6ZWQgYXMgPHRlcm1yZWYgZGVmPSdkdC1jaGFyZGF0YSc+Y2hhcmFjdGVyIGRhdGE8L3Rlcm1yZWY+LCBub3QKKzx0ZXJtcmVmIGRlZj0nZHQtbWFya3VwJz5tYXJrdXA8L3Rlcm1yZWY+OgorPGVnPiZsdDshW0NEQVRBWyZsdDtncmVldGluZz5IZWxsbywgd29ybGQhJmx0Oy9ncmVldGluZz5dXSZndDs8L2VnPgorPC9wPgorPC9kaXYyPgorIAorPGRpdjIgaWQ9J3NlYy1wcm9sb2ctZHRkJz4KKzxoZWFkPlByb2xvZyBhbmQgRG9jdW1lbnQgVHlwZSBEZWNsYXJhdGlvbjwvaGVhZD4KKyAKKzxwPjx0ZXJtZGVmIGlkPSdkdC14bWxkZWNsJyB0ZXJtPSdYTUwgRGVjbGFyYXRpb24nPlhNTCBkb2N1bWVudHMgCittYXksIGFuZCBzaG91bGQsIAorYmVnaW4gd2l0aCBhbiA8dGVybT5YTUwgZGVjbGFyYXRpb248L3Rlcm0+IHdoaWNoIHNwZWNpZmllcwordGhlIHZlcnNpb24gb2YKK1hNTCBiZWluZyB1c2VkLjwvdGVybWRlZj4KK0ZvciBleGFtcGxlLCB0aGUgZm9sbG93aW5nIGlzIGEgY29tcGxldGUgWE1MIGRvY3VtZW50LCA8dGVybXJlZgorZGVmPSJkdC13ZWxsZm9ybWVkIj53ZWxsLWZvcm1lZDwvdGVybXJlZj4gYnV0IG5vdAorPHRlcm1yZWYgZGVmPSJkdC12YWxpZCI+dmFsaWQ8L3Rlcm1yZWY+OgorPGVnPjwhW0NEQVRBWzw/eG1sIHZlcnNpb249IjEuMCI/PgorPGdyZWV0aW5nPkhlbGxvLCB3b3JsZCE8L2dyZWV0aW5nPgorXV0+PC9lZz4KK2FuZCBzbyBpcyB0aGlzOgorPGVnPjwhW0NEQVRBWzxncmVldGluZz5IZWxsbywgd29ybGQhPC9ncmVldGluZz4KK11dPjwvZWc+Cis8L3A+CisKKzxwPlRoZSB2ZXJzaW9uIG51bWJlciAiPGNvZGU+MS4wPC9jb2RlPiIgc2hvdWxkIGJlIHVzZWQgdG8gaW5kaWNhdGUKK2NvbmZvcm1hbmNlIHRvIHRoaXMgdmVyc2lvbiBvZiB0aGlzIHNwZWNpZmljYXRpb247IGl0IGlzIGFuIGVycm9yCitmb3IgYSBkb2N1bWVudCB0byB1c2UgdGhlIHZhbHVlICI8Y29kZT4xLjA8L2NvZGU+IiAKK2lmIGl0IGRvZXMgbm90IGNvbmZvcm0gdG8gdGhpcyB2ZXJzaW9uIG9mIHRoaXMgc3BlY2lmaWNhdGlvbi4KK0l0IGlzIHRoZSBpbnRlbnQKK29mIHRoZSBYTUwgd29ya2luZyBncm91cCB0byBnaXZlIGxhdGVyIHZlcnNpb25zIG9mIHRoaXMgc3BlY2lmaWNhdGlvbgorbnVtYmVycyBvdGhlciB0aGFuICI8Y29kZT4xLjA8L2NvZGU+IiwgYnV0IHRoaXMgaW50ZW50IGRvZXMgbm90CitpbmRpY2F0ZSBhCitjb21taXRtZW50IHRvIHByb2R1Y2UgYW55IGZ1dHVyZSB2ZXJzaW9ucyBvZiBYTUwsIG5vciBpZiBhbnkgYXJlIHByb2R1Y2VkLCB0bwordXNlIGFueSBwYXJ0aWN1bGFyIG51bWJlcmluZyBzY2hlbWUuCitTaW5jZSBmdXR1cmUgdmVyc2lvbnMgYXJlIG5vdCBydWxlZCBvdXQsIHRoaXMgY29uc3RydWN0IGlzIHByb3ZpZGVkIAorYXMgYSBtZWFucyB0byBhbGxvdyB0aGUgcG9zc2liaWxpdHkgb2YgYXV0b21hdGljIHZlcnNpb24gcmVjb2duaXRpb24sIHNob3VsZAoraXQgYmVjb21lIG5lY2Vzc2FyeS4KK1Byb2Nlc3NvcnMgbWF5IHNpZ25hbCBhbiBlcnJvciBpZiB0aGV5IHJlY2VpdmUgZG9jdW1lbnRzIGxhYmVsZWQgd2l0aCAKK3ZlcnNpb25zIHRoZXkgZG8gbm90IHN1cHBvcnQuIAorPC9wPgorPHA+VGhlIGZ1bmN0aW9uIG9mIHRoZSBtYXJrdXAgaW4gYW4gWE1MIGRvY3VtZW50IGlzIHRvIGRlc2NyaWJlIGl0cworc3RvcmFnZSBhbmQgbG9naWNhbCBzdHJ1Y3R1cmUgYW5kIHRvIGFzc29jaWF0ZSBhdHRyaWJ1dGUtdmFsdWUgcGFpcnMKK3dpdGggaXRzIGxvZ2ljYWwgc3RydWN0dXJlcy4gIFhNTCBwcm92aWRlcyBhIG1lY2hhbmlzbSwgdGhlIDx0ZXJtcmVmCitkZWY9ImR0LWRvY3R5cGUiPmRvY3VtZW50IHR5cGUgZGVjbGFyYXRpb248L3Rlcm1yZWY+LCB0byBkZWZpbmUKK2NvbnN0cmFpbnRzIG9uIHRoZSBsb2dpY2FsIHN0cnVjdHVyZSBhbmQgdG8gc3VwcG9ydCB0aGUgdXNlIG9mCitwcmVkZWZpbmVkIHN0b3JhZ2UgdW5pdHMuCisKKzx0ZXJtZGVmIGlkPSJkdC12YWxpZCIgdGVybT0iVmFsaWRpdHkiPkFuIFhNTCBkb2N1bWVudCBpcyAKKzx0ZXJtPnZhbGlkPC90ZXJtPiBpZiBpdCBoYXMgYW4gYXNzb2NpYXRlZCBkb2N1bWVudCB0eXBlCitkZWNsYXJhdGlvbiBhbmQgaWYgdGhlIGRvY3VtZW50Citjb21wbGllcyB3aXRoIHRoZSBjb25zdHJhaW50cyBleHByZXNzZWQgaW4gaXQuPC90ZXJtZGVmPjwvcD4KKzxwPlRoZSBkb2N1bWVudCB0eXBlIGRlY2xhcmF0aW9uIG11c3QgYXBwZWFyIGJlZm9yZQordGhlIGZpcnN0IDx0ZXJtcmVmIGRlZj0iZHQtZWxlbWVudCI+ZWxlbWVudDwvdGVybXJlZj4gaW4gdGhlIGRvY3VtZW50LgorPHNjcmFwIGxhbmc9ImVibmYiIGlkPSd4bWxkb2MnPgorPGhlYWQ+UHJvbG9nPC9oZWFkPgorPHByb2Rncm91cCBwY3cyPSI2IiBwY3c0PSIxNy41IiBwY3c1PSI5Ij4KKzxwcm9kIGlkPSdOVC1wcm9sb2cnPjxsaHM+cHJvbG9nPC9saHM+Cis8cmhzPjxudCBkZWY9J05ULVhNTERlY2wnPlhNTERlY2w8L250Pj8gCis8bnQgZGVmPSdOVC1NaXNjJz5NaXNjPC9udD4qIAorKDxudCBkZWY9J05ULWRvY3R5cGVkZWNsJz5kb2N0eXBlZGVjbDwvbnQ+IAorPG50IGRlZj0nTlQtTWlzYyc+TWlzYzwvbnQ+Kik/PC9yaHM+PC9wcm9kPgorPHByb2QgaWQ9J05ULVhNTERlY2wnPjxsaHM+WE1MRGVjbDwvbGhzPgorPHJocz4meG1scGlvOyAKKzxudCBkZWY9J05ULVZlcnNpb25JbmZvJz5WZXJzaW9uSW5mbzwvbnQ+IAorPG50IGRlZj0nTlQtRW5jb2RpbmdEZWNsJz5FbmNvZGluZ0RlY2w8L250Pj8gCis8bnQgZGVmPSdOVC1TRERlY2wnPlNERGVjbDwvbnQ+PyAKKzxudCBkZWY9Ik5ULVMiPlM8L250Pj8gCismcGljOzwvcmhzPgorPC9wcm9kPgorPHByb2QgaWQ9J05ULVZlcnNpb25JbmZvJz48bGhzPlZlcnNpb25JbmZvPC9saHM+Cis8cmhzPjxudCBkZWY9Ik5ULVMiPlM8L250PiAndmVyc2lvbicgPG50IGRlZj0nTlQtRXEnPkVxPC9udD4gCisoJyA8bnQgZGVmPSJOVC1WZXJzaW9uTnVtIj5WZXJzaW9uTnVtPC9udD4gJyAKK3wgIiA8bnQgZGVmPSJOVC1WZXJzaW9uTnVtIj5WZXJzaW9uTnVtPC9udD4gIik8L3Jocz4KKzwvcHJvZD4KKzxwcm9kIGlkPSdOVC1FcSc+PGxocz5FcTwvbGhzPgorPHJocz48bnQgZGVmPSdOVC1TJz5TPC9udD4/ICc9JyA8bnQgZGVmPSdOVC1TJz5TPC9udD4/PC9yaHM+PC9wcm9kPgorPHByb2QgaWQ9Ik5ULVZlcnNpb25OdW0iPgorPGxocz5WZXJzaW9uTnVtPC9saHM+Cis8cmhzPihbYS16QS1aMC05Xy46XSB8ICctJykrPC9yaHM+Cis8L3Byb2Q+Cis8cHJvZCBpZD0nTlQtTWlzYyc+PGxocz5NaXNjPC9saHM+Cis8cmhzPjxudCBkZWY9J05ULUNvbW1lbnQnPkNvbW1lbnQ8L250PiB8IDxudCBkZWY9J05ULVBJJz5QSTwvbnQ+IHwgCis8bnQgZGVmPSdOVC1TJz5TPC9udD48L3Jocz48L3Byb2Q+Cis8L3Byb2Rncm91cD4KKzwvc2NyYXA+PC9wPgorCis8cD48dGVybWRlZiBpZD0iZHQtZG9jdHlwZSIgdGVybT0iRG9jdW1lbnQgVHlwZSBEZWNsYXJhdGlvbiI+VGhlIFhNTAorPHRlcm0+ZG9jdW1lbnQgdHlwZSBkZWNsYXJhdGlvbjwvdGVybT4gCitjb250YWlucyBvciBwb2ludHMgdG8gCis8dGVybXJlZiBkZWY9J2R0LW1hcmt1cGRlY2wnPm1hcmt1cCBkZWNsYXJhdGlvbnM8L3Rlcm1yZWY+IAordGhhdCBwcm92aWRlIGEgZ3JhbW1hciBmb3IgYQorY2xhc3Mgb2YgZG9jdW1lbnRzLiAgCitUaGlzIGdyYW1tYXIgaXMga25vd24gYXMgYSBkb2N1bWVudCB0eXBlIGRlZmluaXRpb24sCitvciA8dGVybT5EVEQ8L3Rlcm0+LiAgCitUaGUgZG9jdW1lbnQgdHlwZSBkZWNsYXJhdGlvbiBjYW4gcG9pbnQgdG8gYW4gZXh0ZXJuYWwgc3Vic2V0IChhCitzcGVjaWFsIGtpbmQgb2YgCis8dGVybXJlZiBkZWY9J2R0LWV4dGVudCc+ZXh0ZXJuYWwgZW50aXR5PC90ZXJtcmVmPikgY29udGFpbmluZyBtYXJrdXAKK2RlY2xhcmF0aW9ucywgb3IgY2FuIAorY29udGFpbiB0aGUgbWFya3VwIGRlY2xhcmF0aW9ucyBkaXJlY3RseSBpbiBhbiBpbnRlcm5hbCBzdWJzZXQsIG9yIGNhbiBkbworYm90aC4gICAKK1RoZSBEVEQgZm9yIGEgZG9jdW1lbnQgY29uc2lzdHMgb2YgYm90aCBzdWJzZXRzIHRha2VuCit0b2dldGhlci48L3Rlcm1kZWY+Cis8L3A+Cis8cD48dGVybWRlZiBpZD0iZHQtbWFya3VwZGVjbCIgdGVybT0ibWFya3VwIGRlY2xhcmF0aW9uIj4KK0EgPHRlcm0+bWFya3VwIGRlY2xhcmF0aW9uPC90ZXJtPiBpcyAKK2FuIDx0ZXJtcmVmIGRlZj0iZHQtZWxkZWNsIj5lbGVtZW50IHR5cGUgZGVjbGFyYXRpb248L3Rlcm1yZWY+LCAKK2FuIDx0ZXJtcmVmIGRlZj0iZHQtYXR0ZGVjbCI+YXR0cmlidXRlLWxpc3QgZGVjbGFyYXRpb248L3Rlcm1yZWY+LCAKK2FuIDx0ZXJtcmVmIGRlZj0iZHQtZW50ZGVjbCI+ZW50aXR5IGRlY2xhcmF0aW9uPC90ZXJtcmVmPiwgb3IKK2EgPHRlcm1yZWYgZGVmPSJkdC1ub3RkZWNsIj5ub3RhdGlvbiBkZWNsYXJhdGlvbjwvdGVybXJlZj4uCis8L3Rlcm1kZWY+CitUaGVzZSBkZWNsYXJhdGlvbnMgbWF5IGJlIGNvbnRhaW5lZCBpbiB3aG9sZSBvciBpbiBwYXJ0Cit3aXRoaW4gPHRlcm1yZWYgZGVmPSdkdC1QRSc+cGFyYW1ldGVyIGVudGl0aWVzPC90ZXJtcmVmPiwKK2FzIGRlc2NyaWJlZCBpbiB0aGUgd2VsbC1mb3JtZWRuZXNzIGFuZCB2YWxpZGl0eSBjb25zdHJhaW50cyBiZWxvdy4KK0ZvciBmdWxsZXIgaW5mb3JtYXRpb24sIHNlZQorPHNwZWNyZWYgcmVmPSJzZWMtcGh5c2ljYWwtc3RydWN0Ii8+LjwvcD4KKzxzY3JhcCBsYW5nPSJlYm5mIiBpZD0nZHRkJz4KKzxoZWFkPkRvY3VtZW50IFR5cGUgRGVmaW5pdGlvbjwvaGVhZD4KKzxwcm9kZ3JvdXAgcGN3Mj0iNiIgcGN3ND0iMTcuNSIgcGN3NT0iOSI+Cis8cHJvZCBpZD0nTlQtZG9jdHlwZWRlY2wnPjxsaHM+ZG9jdHlwZWRlY2w8L2xocz4KKzxyaHM+JyZsdDshRE9DVFlQRScgPG50IGRlZj0nTlQtUyc+UzwvbnQ+IAorPG50IGRlZj0nTlQtTmFtZSc+TmFtZTwvbnQ+ICg8bnQgZGVmPSdOVC1TJz5TPC9udD4gCis8bnQgZGVmPSdOVC1FeHRlcm5hbElEJz5FeHRlcm5hbElEPC9udD4pPyAKKzxudCBkZWY9J05ULVMnPlM8L250Pj8gKCdbJyAKKyg8bnQgZGVmPSdOVC1tYXJrdXBkZWNsJz5tYXJrdXBkZWNsPC9udD4gCit8IDxudCBkZWY9J05ULVBFUmVmZXJlbmNlJz5QRVJlZmVyZW5jZTwvbnQ+IAorfCA8bnQgZGVmPSdOVC1TJz5TPC9udD4pKgorJ10nIAorPG50IGRlZj0nTlQtUyc+UzwvbnQ+Pyk/ICc+JzwvcmhzPgorPHZjIGRlZj0idmMtcm9vdHR5cGUiLz4KKzwvcHJvZD4KKzxwcm9kIGlkPSdOVC1tYXJrdXBkZWNsJz48bGhzPm1hcmt1cGRlY2w8L2xocz4KKzxyaHM+PG50IGRlZj0nTlQtZWxlbWVudGRlY2wnPmVsZW1lbnRkZWNsPC9udD4gCit8IDxudCBkZWY9J05ULUF0dGxpc3REZWNsJz5BdHRsaXN0RGVjbDwvbnQ+IAorfCA8bnQgZGVmPSdOVC1FbnRpdHlEZWNsJz5FbnRpdHlEZWNsPC9udD4gCit8IDxudCBkZWY9J05ULU5vdGF0aW9uRGVjbCc+Tm90YXRpb25EZWNsPC9udD4gCit8IDxudCBkZWY9J05ULVBJJz5QSTwvbnQ+IAorfCA8bnQgZGVmPSdOVC1Db21tZW50Jz5Db21tZW50PC9udD4KKzwvcmhzPgorPHZjIGRlZj0ndmMtUEVpbk1hcmt1cERlY2wnLz4KKzx3ZmMgZGVmPSJ3ZmMtUEVpbkludGVybmFsU3Vic2V0Ii8+Cis8L3Byb2Q+CisKKzwvcHJvZGdyb3VwPgorPC9zY3JhcD4KKworPHA+VGhlIG1hcmt1cCBkZWNsYXJhdGlvbnMgbWF5IGJlIG1hZGUgdXAgaW4gd2hvbGUgb3IgaW4gcGFydCBvZgordGhlIDx0ZXJtcmVmIGRlZj0nZHQtcmVwbHRleHQnPnJlcGxhY2VtZW50IHRleHQ8L3Rlcm1yZWY+IG9mIAorPHRlcm1yZWYgZGVmPSdkdC1QRSc+cGFyYW1ldGVyIGVudGl0aWVzPC90ZXJtcmVmPi4KK1RoZSBwcm9kdWN0aW9ucyBsYXRlciBpbiB0aGlzIHNwZWNpZmljYXRpb24gZm9yCitpbmRpdmlkdWFsIG5vbnRlcm1pbmFscyAoPG50IGRlZj0nTlQtZWxlbWVudGRlY2wnPmVsZW1lbnRkZWNsPC9udD4sCis8bnQgZGVmPSdOVC1BdHRsaXN0RGVjbCc+QXR0bGlzdERlY2w8L250PiwgYW5kIHNvIG9uKSBkZXNjcmliZSAKK3RoZSBkZWNsYXJhdGlvbnMgPGVtcGg+YWZ0ZXI8L2VtcGg+IGFsbCB0aGUgcGFyYW1ldGVyIGVudGl0aWVzIGhhdmUgYmVlbiAKKzx0ZXJtcmVmIGRlZj0nZHQtaW5jbHVkZSc+aW5jbHVkZWQ8L3Rlcm1yZWY+LjwvcD4KKworPHZjbm90ZSBpZD0idmMtcm9vdHR5cGUiPgorPGhlYWQ+Um9vdCBFbGVtZW50IFR5cGU8L2hlYWQ+Cis8cD4KK1RoZSA8bnQgZGVmPSdOVC1OYW1lJz5OYW1lPC9udD4gaW4gdGhlIGRvY3VtZW50IHR5cGUgZGVjbGFyYXRpb24gbXVzdAorbWF0Y2ggdGhlIGVsZW1lbnQgdHlwZSBvZiB0aGUgPHRlcm1yZWYgZGVmPSdkdC1yb290Jz5yb290IGVsZW1lbnQ8L3Rlcm1yZWY+LgorPC9wPgorPC92Y25vdGU+CisKKzx2Y25vdGUgaWQ9J3ZjLVBFaW5NYXJrdXBEZWNsJz4KKzxoZWFkPlByb3BlciBEZWNsYXJhdGlvbi9QRSBOZXN0aW5nPC9oZWFkPgorPHA+UGFyYW1ldGVyLWVudGl0eSAKKzx0ZXJtcmVmIGRlZj0nZHQtcmVwbHRleHQnPnJlcGxhY2VtZW50IHRleHQ8L3Rlcm1yZWY+IG11c3QgYmUgcHJvcGVybHkgbmVzdGVkCit3aXRoIG1hcmt1cCBkZWNsYXJhdGlvbnMuIAorVGhhdCBpcyB0byBzYXksIGlmIGVpdGhlciB0aGUgZmlyc3QgY2hhcmFjdGVyCitvciB0aGUgbGFzdCBjaGFyYWN0ZXIgb2YgYSBtYXJrdXAKK2RlY2xhcmF0aW9uICg8bnQgZGVmPSdOVC1tYXJrdXBkZWNsJz5tYXJrdXBkZWNsPC9udD4gYWJvdmUpCitpcyBjb250YWluZWQgaW4gdGhlIHJlcGxhY2VtZW50IHRleHQgZm9yIGEgCis8dGVybXJlZiBkZWY9J2R0LVBFUmVmJz5wYXJhbWV0ZXItZW50aXR5IHJlZmVyZW5jZTwvdGVybXJlZj4sCitib3RoIG11c3QgYmUgY29udGFpbmVkIGluIHRoZSBzYW1lIHJlcGxhY2VtZW50IHRleHQuPC9wPgorPC92Y25vdGU+Cis8d2Zjbm90ZSBpZD0id2ZjLVBFaW5JbnRlcm5hbFN1YnNldCI+Cis8aGVhZD5QRXMgaW4gSW50ZXJuYWwgU3Vic2V0PC9oZWFkPgorPHA+SW4gdGhlIGludGVybmFsIERURCBzdWJzZXQsIAorPHRlcm1yZWYgZGVmPSdkdC1QRVJlZic+cGFyYW1ldGVyLWVudGl0eSByZWZlcmVuY2VzPC90ZXJtcmVmPgorY2FuIG9jY3VyIG9ubHkgd2hlcmUgbWFya3VwIGRlY2xhcmF0aW9ucyBjYW4gb2NjdXIsIG5vdAord2l0aGluIG1hcmt1cCBkZWNsYXJhdGlvbnMuICAoVGhpcyBkb2VzIG5vdCBhcHBseSB0bworcmVmZXJlbmNlcyB0aGF0IG9jY3VyIGluCitleHRlcm5hbCBwYXJhbWV0ZXIgZW50aXRpZXMgb3IgdG8gdGhlIGV4dGVybmFsIHN1YnNldC4pCis8L3A+Cis8L3dmY25vdGU+Cis8cD4KK0xpa2UgdGhlIGludGVybmFsIHN1YnNldCwgdGhlIGV4dGVybmFsIHN1YnNldCBhbmQgCithbnkgZXh0ZXJuYWwgcGFyYW1ldGVyIGVudGl0aWVzIHJlZmVycmVkIHRvIGluIHRoZSBEVEQgCittdXN0IGNvbnNpc3Qgb2YgYSBzZXJpZXMgb2YgY29tcGxldGUgbWFya3VwIGRlY2xhcmF0aW9ucyBvZiB0aGUgdHlwZXMgCithbGxvd2VkIGJ5IHRoZSBub24tdGVybWluYWwgc3ltYm9sCis8bnQgZGVmPSJOVC1tYXJrdXBkZWNsIj5tYXJrdXBkZWNsPC9udD4sIGludGVyc3BlcnNlZCB3aXRoIHdoaXRlIHNwYWNlCitvciA8dGVybXJlZiBkZWY9ImR0LVBFUmVmIj5wYXJhbWV0ZXItZW50aXR5IHJlZmVyZW5jZXM8L3Rlcm1yZWY+LgorSG93ZXZlciwgcG9ydGlvbnMgb2YgdGhlIGNvbnRlbnRzCitvZiB0aGUgCitleHRlcm5hbCBzdWJzZXQgb3Igb2YgZXh0ZXJuYWwgcGFyYW1ldGVyIGVudGl0aWVzIG1heSBjb25kaXRpb25hbGx5IGJlIGlnbm9yZWQKK2J5IHVzaW5nIAordGhlIDx0ZXJtcmVmIGRlZj0iZHQtY29uZC1zZWN0aW9uIj5jb25kaXRpb25hbCBzZWN0aW9uPC90ZXJtcmVmPgorY29uc3RydWN0OyB0aGlzIGlzIG5vdCBhbGxvd2VkIGluIHRoZSBpbnRlcm5hbCBzdWJzZXQuCisKKzxzY3JhcCBpZD0iZXh0LVN1YnNldCI+Cis8aGVhZD5FeHRlcm5hbCBTdWJzZXQ8L2hlYWQ+Cis8cHJvZGdyb3VwIHBjdzI9IjYiIHBjdzQ9IjE3LjUiIHBjdzU9IjkiPgorPHByb2QgaWQ9J05ULWV4dFN1YnNldCc+PGxocz5leHRTdWJzZXQ8L2xocz4KKzxyaHM+PG50IGRlZj0nTlQtVGV4dERlY2wnPlRleHREZWNsPC9udD4/Cis8bnQgZGVmPSdOVC1leHRTdWJzZXREZWNsJz5leHRTdWJzZXREZWNsPC9udD48L3Jocz48L3Byb2Q+Cis8cHJvZCBpZD0nTlQtZXh0U3Vic2V0RGVjbCc+PGxocz5leHRTdWJzZXREZWNsPC9saHM+Cis8cmhzPigKKzxudCBkZWY9J05ULW1hcmt1cGRlY2wnPm1hcmt1cGRlY2w8L250PiAKK3wgPG50IGRlZj0nTlQtY29uZGl0aW9uYWxTZWN0Jz5jb25kaXRpb25hbFNlY3Q8L250PiAKK3wgPG50IGRlZj0nTlQtUEVSZWZlcmVuY2UnPlBFUmVmZXJlbmNlPC9udD4gCit8IDxudCBkZWY9J05ULVMnPlM8L250PgorKSo8L3Jocz4KKzwvcHJvZD4KKzwvcHJvZGdyb3VwPgorPC9zY3JhcD48L3A+Cis8cD5UaGUgZXh0ZXJuYWwgc3Vic2V0IGFuZCBleHRlcm5hbCBwYXJhbWV0ZXIgZW50aXRpZXMgYWxzbyBkaWZmZXIgCitmcm9tIHRoZSBpbnRlcm5hbCBzdWJzZXQgaW4gdGhhdCBpbiB0aGVtLAorPHRlcm1yZWYgZGVmPSJkdC1QRVJlZiI+cGFyYW1ldGVyLWVudGl0eSByZWZlcmVuY2VzPC90ZXJtcmVmPgorYXJlIHBlcm1pdHRlZCA8ZW1waD53aXRoaW48L2VtcGg+IG1hcmt1cCBkZWNsYXJhdGlvbnMsCitub3Qgb25seSA8ZW1waD5iZXR3ZWVuPC9lbXBoPiBtYXJrdXAgZGVjbGFyYXRpb25zLjwvcD4KKzxwPkFuIGV4YW1wbGUgb2YgYW4gWE1MIGRvY3VtZW50IHdpdGggYSBkb2N1bWVudCB0eXBlIGRlY2xhcmF0aW9uOgorPGVnPjwhW0NEQVRBWzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCFET0NUWVBFIGdyZWV0aW5nIFNZU1RFTSAiaGVsbG8uZHRkIj4KKzxncmVldGluZz5IZWxsbywgd29ybGQhPC9ncmVldGluZz4KK11dPjwvZWc+CitUaGUgPHRlcm1yZWYgZGVmPSJkdC1zeXNpZCI+c3lzdGVtIGlkZW50aWZpZXI8L3Rlcm1yZWY+IAorIjxjb2RlPmhlbGxvLmR0ZDwvY29kZT4iIGdpdmVzIHRoZSBVUkkgb2YgYSBEVEQgZm9yIHRoZSBkb2N1bWVudC48L3A+Cis8cD5UaGUgZGVjbGFyYXRpb25zIGNhbiBhbHNvIGJlIGdpdmVuIGxvY2FsbHksIGFzIGluIHRoaXMgCitleGFtcGxlOgorPGVnPjwhW0NEQVRBWzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04IiA/PgorPCFET0NUWVBFIGdyZWV0aW5nIFsKKyAgPCFFTEVNRU5UIGdyZWV0aW5nICgjUENEQVRBKT4KK10+Cis8Z3JlZXRpbmc+SGVsbG8sIHdvcmxkITwvZ3JlZXRpbmc+CitdXT48L2VnPgorSWYgYm90aCB0aGUgZXh0ZXJuYWwgYW5kIGludGVybmFsIHN1YnNldHMgYXJlIHVzZWQsIHRoZSAKK2ludGVybmFsIHN1YnNldCBpcyBjb25zaWRlcmVkIHRvIG9jY3VyIGJlZm9yZSB0aGUgZXh0ZXJuYWwgc3Vic2V0LgorPCEtLSAnaXMgY29uc2lkZXJlZCB0byc/IGJvby4gd2hhenphdCBtZWFuPyAtLT4KK1RoaXMgaGFzIHRoZSBlZmZlY3QgdGhhdCBlbnRpdHkgYW5kIGF0dHJpYnV0ZS1saXN0IGRlY2xhcmF0aW9ucyBpbiB0aGUKK2ludGVybmFsIHN1YnNldCB0YWtlIHByZWNlZGVuY2Ugb3ZlciB0aG9zZSBpbiB0aGUgZXh0ZXJuYWwgc3Vic2V0LgorPC9wPgorPC9kaXYyPgorIAorPGRpdjIgaWQ9J3NlYy1ybWQnPgorPGhlYWQ+U3RhbmRhbG9uZSBEb2N1bWVudCBEZWNsYXJhdGlvbjwvaGVhZD4KKzxwPk1hcmt1cCBkZWNsYXJhdGlvbnMgY2FuIGFmZmVjdCB0aGUgY29udGVudCBvZiB0aGUgZG9jdW1lbnQsCithcyBwYXNzZWQgZnJvbSBhbiA8dGVybXJlZiBkZWY9ImR0LXhtbC1wcm9jIj5YTUwgcHJvY2Vzc29yPC90ZXJtcmVmPiAKK3RvIGFuIGFwcGxpY2F0aW9uOyBleGFtcGxlcyBhcmUgYXR0cmlidXRlIGRlZmF1bHRzIGFuZCBlbnRpdHkKK2RlY2xhcmF0aW9ucy4KK1RoZSBzdGFuZGFsb25lIGRvY3VtZW50IGRlY2xhcmF0aW9uLAord2hpY2ggbWF5IGFwcGVhciBhcyBhIGNvbXBvbmVudCBvZiB0aGUgWE1MIGRlY2xhcmF0aW9uLCBzaWduYWxzCit3aGV0aGVyIG9yIG5vdCB0aGVyZSBhcmUgc3VjaCBkZWNsYXJhdGlvbnMgd2hpY2ggYXBwZWFyIGV4dGVybmFsIHRvIAordGhlIDx0ZXJtcmVmIGRlZj0nZHQtZG9jZW50Jz5kb2N1bWVudCBlbnRpdHk8L3Rlcm1yZWY+LgorPHNjcmFwIGxhbmc9ImVibmYiIGlkPSdmdWxsZHRkJz4KKzxoZWFkPlN0YW5kYWxvbmUgRG9jdW1lbnQgRGVjbGFyYXRpb248L2hlYWQ+Cis8cHJvZGdyb3VwIHBjdzI9IjQiIHBjdzQ9IjE5LjUiIHBjdzU9IjkiPgorPHByb2QgaWQ9J05ULVNERGVjbCc+PGxocz5TRERlY2w8L2xocz4KKzxyaHM+Cis8bnQgZGVmPSJOVC1TIj5TPC9udD4gCisnc3RhbmRhbG9uZScgPG50IGRlZj0nTlQtRXEnPkVxPC9udD4gCisoKCInIiAoJ3llcycgfCAnbm8nKSAiJyIpIHwgKCciJyAoJ3llcycgfCAnbm8nKSAnIicpKQorPC9yaHM+Cis8dmMgZGVmPSd2Yy1jaGVjay1ybWQnLz48L3Byb2Q+Cis8L3Byb2Rncm91cD4KKzwvc2NyYXA+PC9wPgorPHA+CitJbiBhIHN0YW5kYWxvbmUgZG9jdW1lbnQgZGVjbGFyYXRpb24sIHRoZSB2YWx1ZSAiPGNvZGU+eWVzPC9jb2RlPiIgaW5kaWNhdGVzCit0aGF0IHRoZXJlIAorYXJlIG5vIG1hcmt1cCBkZWNsYXJhdGlvbnMgZXh0ZXJuYWwgdG8gdGhlIDx0ZXJtcmVmIGRlZj0nZHQtZG9jZW50Jz5kb2N1bWVudAorZW50aXR5PC90ZXJtcmVmPiAoZWl0aGVyIGluIHRoZSBEVEQgZXh0ZXJuYWwgc3Vic2V0LCBvciBpbiBhbgorZXh0ZXJuYWwgcGFyYW1ldGVyIGVudGl0eSByZWZlcmVuY2VkIGZyb20gdGhlIGludGVybmFsIHN1YnNldCkKK3doaWNoIGFmZmVjdCB0aGUgaW5mb3JtYXRpb24gcGFzc2VkIGZyb20gdGhlIFhNTCBwcm9jZXNzb3IgdG8KK3RoZSBhcHBsaWNhdGlvbi4gIAorVGhlIHZhbHVlICI8Y29kZT5ubzwvY29kZT4iIGluZGljYXRlcyB0aGF0IHRoZXJlIGFyZSBvciBtYXkgYmUgc3VjaAorZXh0ZXJuYWwgbWFya3VwIGRlY2xhcmF0aW9ucy4KK05vdGUgdGhhdCB0aGUgc3RhbmRhbG9uZSBkb2N1bWVudCBkZWNsYXJhdGlvbiBvbmx5IAorZGVub3RlcyB0aGUgcHJlc2VuY2Ugb2YgZXh0ZXJuYWwgPGVtcGg+ZGVjbGFyYXRpb25zPC9lbXBoPjsgdGhlIHByZXNlbmNlLCBpbiBhCitkb2N1bWVudCwgb2YgCityZWZlcmVuY2VzIHRvIGV4dGVybmFsIDxlbXBoPmVudGl0aWVzPC9lbXBoPiwgd2hlbiB0aG9zZSBlbnRpdGllcyBhcmUKK2ludGVybmFsbHkgZGVjbGFyZWQsIAorZG9lcyBub3QgY2hhbmdlIGl0cyBzdGFuZGFsb25lIHN0YXR1cy48L3A+Cis8cD5JZiB0aGVyZSBhcmUgbm8gZXh0ZXJuYWwgbWFya3VwIGRlY2xhcmF0aW9ucywgdGhlIHN0YW5kYWxvbmUgZG9jdW1lbnQKK2RlY2xhcmF0aW9uIGhhcyBubyBtZWFuaW5nLiAKK0lmIHRoZXJlIGFyZSBleHRlcm5hbCBtYXJrdXAgZGVjbGFyYXRpb25zIGJ1dCB0aGVyZSBpcyBubyBzdGFuZGFsb25lCitkb2N1bWVudCBkZWNsYXJhdGlvbiwgdGhlIHZhbHVlICI8Y29kZT5ubzwvY29kZT4iIGlzIGFzc3VtZWQuPC9wPgorPHA+QW55IFhNTCBkb2N1bWVudCBmb3Igd2hpY2ggPGNvZGU+c3RhbmRhbG9uZT0ibm8iPC9jb2RlPiBob2xkcyBjYW4gCitiZSBjb252ZXJ0ZWQgYWxnb3JpdGhtaWNhbGx5IHRvIGEgc3RhbmRhbG9uZSBkb2N1bWVudCwgCit3aGljaCBtYXkgYmUgZGVzaXJhYmxlIGZvciBzb21lIG5ldHdvcmsgZGVsaXZlcnkgYXBwbGljYXRpb25zLjwvcD4KKzx2Y25vdGUgaWQ9J3ZjLWNoZWNrLXJtZCc+Cis8aGVhZD5TdGFuZGFsb25lIERvY3VtZW50IERlY2xhcmF0aW9uPC9oZWFkPgorPHA+VGhlIHN0YW5kYWxvbmUgZG9jdW1lbnQgZGVjbGFyYXRpb24gbXVzdCBoYXZlCit0aGUgdmFsdWUgIjxjb2RlPm5vPC9jb2RlPiIgaWYgYW55IGV4dGVybmFsIG1hcmt1cCBkZWNsYXJhdGlvbnMKK2NvbnRhaW4gZGVjbGFyYXRpb25zIG9mOjwvcD48dWxpc3Q+Cis8aXRlbT48cD5hdHRyaWJ1dGVzIHdpdGggPHRlcm1yZWYgZGVmPSJkdC1kZWZhdWx0Ij5kZWZhdWx0PC90ZXJtcmVmPiB2YWx1ZXMsIGlmCitlbGVtZW50cyB0byB3aGljaAordGhlc2UgYXR0cmlidXRlcyBhcHBseSBhcHBlYXIgaW4gdGhlIGRvY3VtZW50IHdpdGhvdXQKK3NwZWNpZmljYXRpb25zIG9mIHZhbHVlcyBmb3IgdGhlc2UgYXR0cmlidXRlcywgb3I8L3A+PC9pdGVtPgorPGl0ZW0+PHA+ZW50aXRpZXMgKG90aGVyIHRoYW4gJm1hZ2ljZW50czspLCAKK2lmIDx0ZXJtcmVmIGRlZj0iZHQtZW50cmVmIj5yZWZlcmVuY2VzPC90ZXJtcmVmPiB0byB0aG9zZQorZW50aXRpZXMgYXBwZWFyIGluIHRoZSBkb2N1bWVudCwgb3I8L3A+Cis8L2l0ZW0+Cis8aXRlbT48cD5hdHRyaWJ1dGVzIHdpdGggdmFsdWVzIHN1YmplY3QgdG8KKzx0aXRsZXJlZiBocmVmPSdBVk5vcm1hbGl6ZSc+bm9ybWFsaXphdGlvbjwvdGl0bGVyZWY+LCB3aGVyZSB0aGUKK2F0dHJpYnV0ZSBhcHBlYXJzIGluIHRoZSBkb2N1bWVudCB3aXRoIGEgdmFsdWUgd2hpY2ggd2lsbAorY2hhbmdlIGFzIGEgcmVzdWx0IG9mIG5vcm1hbGl6YXRpb24sIG9yPC9wPgorPC9pdGVtPgorPGl0ZW0+Cis8cD5lbGVtZW50IHR5cGVzIHdpdGggPHRlcm1yZWYgZGVmPSJkdC1lbGVtY29udGVudCI+ZWxlbWVudCBjb250ZW50PC90ZXJtcmVmPiwgCitpZiB3aGl0ZSBzcGFjZSBvY2N1cnMKK2RpcmVjdGx5IHdpdGhpbiBhbnkgaW5zdGFuY2Ugb2YgdGhvc2UgdHlwZXMuCis8L3A+PC9pdGVtPgorPC91bGlzdD4KKworPC92Y25vdGU+Cis8cD5BbiBleGFtcGxlIFhNTCBkZWNsYXJhdGlvbiB3aXRoIGEgc3RhbmRhbG9uZSBkb2N1bWVudCBkZWNsYXJhdGlvbjo8ZWcKKz4mbHQ7P3htbCB2ZXJzaW9uPSImWE1MLnZlcnNpb247IiBzdGFuZGFsb25lPSd5ZXMnPz48L2VnPjwvcD4KKzwvZGl2Mj4KKzxkaXYyIGlkPSdzZWMtd2hpdGUtc3BhY2UnPgorPGhlYWQ+V2hpdGUgU3BhY2UgSGFuZGxpbmc8L2hlYWQ+CisKKzxwPkluIGVkaXRpbmcgWE1MIGRvY3VtZW50cywgaXQgaXMgb2Z0ZW4gY29udmVuaWVudCB0byB1c2UgIndoaXRlIHNwYWNlIgorKHNwYWNlcywgdGFicywgYW5kIGJsYW5rIGxpbmVzLCBkZW5vdGVkIGJ5IHRoZSBub250ZXJtaW5hbCAKKzxudCBkZWY9J05ULVMnPlM8L250PiBpbiB0aGlzIHNwZWNpZmljYXRpb24pIHRvCitzZXQgYXBhcnQgdGhlIG1hcmt1cCBmb3IgZ3JlYXRlciByZWFkYWJpbGl0eS4gIFN1Y2ggd2hpdGUgc3BhY2UgaXMgdHlwaWNhbGx5Citub3QgaW50ZW5kZWQgZm9yIGluY2x1c2lvbiBpbiB0aGUgZGVsaXZlcmVkIHZlcnNpb24gb2YgdGhlIGRvY3VtZW50LgorT24gdGhlIG90aGVyIGhhbmQsICJzaWduaWZpY2FudCIgd2hpdGUgc3BhY2UgdGhhdCBzaG91bGQgYmUgcHJlc2VydmVkIGluIHRoZQorZGVsaXZlcmVkIHZlcnNpb24gaXMgY29tbW9uLCBmb3IgZXhhbXBsZSBpbiBwb2V0cnkgYW5kCitzb3VyY2UgY29kZS48L3A+Cis8cD5BbiA8dGVybXJlZiBkZWY9J2R0LXhtbC1wcm9jJz5YTUwgcHJvY2Vzc29yPC90ZXJtcmVmPiAKK211c3QgYWx3YXlzIHBhc3MgYWxsIGNoYXJhY3RlcnMgaW4gYSBkb2N1bWVudCB0aGF0IGFyZSBub3QKK21hcmt1cCB0aHJvdWdoIHRvIHRoZSBhcHBsaWNhdGlvbi4gICBBIDx0ZXJtcmVmIGRlZj0nZHQtdmFsaWRhdGluZyc+Cit2YWxpZGF0aW5nIFhNTCBwcm9jZXNzb3I8L3Rlcm1yZWY+IG11c3QgYWxzbyBpbmZvcm0gdGhlIGFwcGxpY2F0aW9uCit3aGljaCAgb2YgdGhlc2UgY2hhcmFjdGVycyBjb25zdGl0dXRlIHdoaXRlIHNwYWNlIGFwcGVhcmluZworaW4gPHRlcm1yZWYgZGVmPSJkdC1lbGVtY29udGVudCI+ZWxlbWVudCBjb250ZW50PC90ZXJtcmVmPi4KKzwvcD4KKzxwPkEgc3BlY2lhbCA8dGVybXJlZiBkZWY9J2R0LWF0dHInPmF0dHJpYnV0ZTwvdGVybXJlZj4gCituYW1lZCA8a3c+eG1sOnNwYWNlPC9rdz4gbWF5IGJlIGF0dGFjaGVkIHRvIGFuIGVsZW1lbnQKK3RvIHNpZ25hbCBhbiBpbnRlbnRpb24gdGhhdCBpbiB0aGF0IGVsZW1lbnQsCit3aGl0ZSBzcGFjZSBzaG91bGQgYmUgcHJlc2VydmVkIGJ5IGFwcGxpY2F0aW9ucy4KK0luIHZhbGlkIGRvY3VtZW50cywgdGhpcyBhdHRyaWJ1dGUsIGxpa2UgYW55IG90aGVyLCBtdXN0IGJlIAorPHRlcm1yZWYgZGVmPSJkdC1hdHRkZWNsIj5kZWNsYXJlZDwvdGVybXJlZj4gaWYgaXQgaXMgdXNlZC4KK1doZW4gZGVjbGFyZWQsIGl0IG11c3QgYmUgZ2l2ZW4gYXMgYW4gCis8dGVybXJlZiBkZWY9J2R0LWVudW1lcmF0ZWQnPmVudW1lcmF0ZWQgdHlwZTwvdGVybXJlZj4gd2hvc2Ugb25seQorcG9zc2libGUgdmFsdWVzIGFyZSAiPGNvZGU+ZGVmYXVsdDwvY29kZT4iIGFuZCAiPGNvZGU+cHJlc2VydmU8L2NvZGU+Ii4KK0ZvciBleGFtcGxlOjxlZz48IVtDREFUQVsgICAgPCFBVFRMSVNUIHBvZW0gICB4bWw6c3BhY2UgKGRlZmF1bHR8cHJlc2VydmUpICdwcmVzZXJ2ZSc+XV0+PC9lZz48L3A+Cis8cD5UaGUgdmFsdWUgIjxjb2RlPmRlZmF1bHQ8L2NvZGU+IiBzaWduYWxzIHRoYXQgYXBwbGljYXRpb25zJworZGVmYXVsdCB3aGl0ZS1zcGFjZSBwcm9jZXNzaW5nIG1vZGVzIGFyZSBhY2NlcHRhYmxlIGZvciB0aGlzIGVsZW1lbnQ7IHRoZQordmFsdWUgIjxjb2RlPnByZXNlcnZlPC9jb2RlPiIgaW5kaWNhdGVzIHRoZSBpbnRlbnQgdGhhdCBhcHBsaWNhdGlvbnMgcHJlc2VydmUKK2FsbCB0aGUgd2hpdGUgc3BhY2UuCitUaGlzIGRlY2xhcmVkIGludGVudCBpcyBjb25zaWRlcmVkIHRvIGFwcGx5IHRvIGFsbCBlbGVtZW50cyB3aXRoaW4gdGhlIGNvbnRlbnQKK29mIHRoZSBlbGVtZW50IHdoZXJlIGl0IGlzIHNwZWNpZmllZCwgdW5sZXNzIG92ZXJyaWRlbiB3aXRoIGFub3RoZXIgaW5zdGFuY2UKK29mIHRoZSA8a3c+eG1sOnNwYWNlPC9rdz4gYXR0cmlidXRlLgorPC9wPgorPHA+VGhlIDx0ZXJtcmVmIGRlZj0nZHQtcm9vdCc+cm9vdCBlbGVtZW50PC90ZXJtcmVmPiBvZiBhbnkgZG9jdW1lbnQKK2lzIGNvbnNpZGVyZWQgdG8gaGF2ZSBzaWduYWxlZCBubyBpbnRlbnRpb25zIGFzIHJlZ2FyZHMgYXBwbGljYXRpb24gc3BhY2UKK2hhbmRsaW5nLCB1bmxlc3MgaXQgcHJvdmlkZXMgYSB2YWx1ZSBmb3IgCit0aGlzIGF0dHJpYnV0ZSBvciB0aGUgYXR0cmlidXRlIGlzIGRlY2xhcmVkIHdpdGggYSBkZWZhdWx0IHZhbHVlLgorPC9wPgorCis8L2RpdjI+Cis8ZGl2MiBpZD0nc2VjLWxpbmUtZW5kcyc+Cis8aGVhZD5FbmQtb2YtTGluZSBIYW5kbGluZzwvaGVhZD4KKzxwPlhNTCA8dGVybXJlZiBkZWY9J2R0LXBhcnNlZGVudCc+cGFyc2VkIGVudGl0aWVzPC90ZXJtcmVmPiBhcmUgb2Z0ZW4gc3RvcmVkIGluCitjb21wdXRlciBmaWxlcyB3aGljaCwgZm9yIGVkaXRpbmcgY29udmVuaWVuY2UsIGFyZSBvcmdhbml6ZWQgaW50byBsaW5lcy4KK1RoZXNlIGxpbmVzIGFyZSB0eXBpY2FsbHkgc2VwYXJhdGVkIGJ5IHNvbWUgY29tYmluYXRpb24gb2YgdGhlIGNoYXJhY3RlcnMKK2NhcnJpYWdlLXJldHVybiAoI3hEKSBhbmQgbGluZS1mZWVkICgjeEEpLjwvcD4KKzxwPlRvIHNpbXBsaWZ5IHRoZSB0YXNrcyBvZiA8dGVybXJlZiBkZWY9J2R0LWFwcCc+YXBwbGljYXRpb25zPC90ZXJtcmVmPiwKK3doZXJldmVyIGFuIGV4dGVybmFsIHBhcnNlZCBlbnRpdHkgb3IgdGhlIGxpdGVyYWwgZW50aXR5IHZhbHVlCitvZiBhbiBpbnRlcm5hbCBwYXJzZWQgZW50aXR5IGNvbnRhaW5zIGVpdGhlciB0aGUgbGl0ZXJhbCAKK3R3by1jaGFyYWN0ZXIgc2VxdWVuY2UgIiN4RCN4QSIgb3IgYSBzdGFuZGFsb25lIGxpdGVyYWwKKyN4RCwgYW4gPHRlcm1yZWYgZGVmPSdkdC14bWwtcHJvYyc+WE1MIHByb2Nlc3NvcjwvdGVybXJlZj4gbXVzdCAKK3Bhc3MgdG8gdGhlIGFwcGxpY2F0aW9uIHRoZSBzaW5nbGUgY2hhcmFjdGVyICN4QS4KKyhUaGlzIGJlaGF2aW9yIGNhbiAKK2NvbnZlbmllbnRseSBiZSBwcm9kdWNlZCBieSBub3JtYWxpemluZyBhbGwgCitsaW5lIGJyZWFrcyB0byAjeEEgb24gaW5wdXQsIGJlZm9yZSBwYXJzaW5nLikKKzwvcD4KKzwvZGl2Mj4KKzxkaXYyIGlkPSdzZWMtbGFuZy10YWcnPgorPGhlYWQ+TGFuZ3VhZ2UgSWRlbnRpZmljYXRpb248L2hlYWQ+Cis8cD5JbiBkb2N1bWVudCBwcm9jZXNzaW5nLCBpdCBpcyBvZnRlbiB1c2VmdWwgdG8KK2lkZW50aWZ5IHRoZSBuYXR1cmFsIG9yIGZvcm1hbCBsYW5ndWFnZSAKK2luIHdoaWNoIHRoZSBjb250ZW50IGlzIAord3JpdHRlbi4KK0Egc3BlY2lhbCA8dGVybXJlZiBkZWY9ImR0LWF0dHIiPmF0dHJpYnV0ZTwvdGVybXJlZj4gbmFtZWQKKzxrdz54bWw6bGFuZzwva3c+IG1heSBiZSBpbnNlcnRlZCBpbgorZG9jdW1lbnRzIHRvIHNwZWNpZnkgdGhlIAorbGFuZ3VhZ2UgdXNlZCBpbiB0aGUgY29udGVudHMgYW5kIGF0dHJpYnV0ZSB2YWx1ZXMgCitvZiBhbnkgZWxlbWVudCBpbiBhbiBYTUwgZG9jdW1lbnQuCitJbiB2YWxpZCBkb2N1bWVudHMsIHRoaXMgYXR0cmlidXRlLCBsaWtlIGFueSBvdGhlciwgbXVzdCBiZSAKKzx0ZXJtcmVmIGRlZj0iZHQtYXR0ZGVjbCI+ZGVjbGFyZWQ8L3Rlcm1yZWY+IGlmIGl0IGlzIHVzZWQuCitUaGUgdmFsdWVzIG9mIHRoZSBhdHRyaWJ1dGUgYXJlIGxhbmd1YWdlIGlkZW50aWZpZXJzIGFzIGRlZmluZWQKK2J5IDxiaWJyZWYgcmVmPSJSRkMxNzY2Ii8+LCAiVGFncyBmb3IgdGhlIElkZW50aWZpY2F0aW9uIG9mIExhbmd1YWdlcyI6Cis8c2NyYXAgbGFuZz0nZWJuZic+Cis8aGVhZD5MYW5ndWFnZSBJZGVudGlmaWNhdGlvbjwvaGVhZD4KKzxwcm9kIGlkPSdOVC1MYW5ndWFnZUlEJz48bGhzPkxhbmd1YWdlSUQ8L2xocz4KKzxyaHM+PG50IGRlZj0nTlQtTGFuZ2NvZGUnPkxhbmdjb2RlPC9udD4gCisoJy0nIDxudCBkZWY9J05ULVN1YmNvZGUnPlN1YmNvZGU8L250PikqPC9yaHM+PC9wcm9kPgorPHByb2QgaWQ9J05ULUxhbmdjb2RlJz48bGhzPkxhbmdjb2RlPC9saHM+Cis8cmhzPjxudCBkZWY9J05ULUlTTzYzOUNvZGUnPklTTzYzOUNvZGU8L250PiB8IAorPG50IGRlZj0nTlQtSWFuYUNvZGUnPklhbmFDb2RlPC9udD4gfCAKKzxudCBkZWY9J05ULVVzZXJDb2RlJz5Vc2VyQ29kZTwvbnQ+PC9yaHM+Cis8L3Byb2Q+Cis8cHJvZCBpZD0nTlQtSVNPNjM5Q29kZSc+PGxocz5JU082MzlDb2RlPC9saHM+Cis8cmhzPihbYS16XSB8IFtBLVpdKSAoW2Etel0gfCBbQS1aXSk8L3Jocz48L3Byb2Q+Cis8cHJvZCBpZD0nTlQtSWFuYUNvZGUnPjxsaHM+SWFuYUNvZGU8L2xocz4KKzxyaHM+KCdpJyB8ICdJJykgJy0nIChbYS16XSB8IFtBLVpdKSs8L3Jocz48L3Byb2Q+Cis8cHJvZCBpZD0nTlQtVXNlckNvZGUnPjxsaHM+VXNlckNvZGU8L2xocz4KKzxyaHM+KCd4JyB8ICdYJykgJy0nIChbYS16XSB8IFtBLVpdKSs8L3Jocz48L3Byb2Q+Cis8cHJvZCBpZD0nTlQtU3ViY29kZSc+PGxocz5TdWJjb2RlPC9saHM+Cis8cmhzPihbYS16XSB8IFtBLVpdKSs8L3Jocz48L3Byb2Q+Cis8L3NjcmFwPgorVGhlIDxudCBkZWY9J05ULUxhbmdjb2RlJz5MYW5nY29kZTwvbnQ+IG1heSBiZSBhbnkgb2YgdGhlIGZvbGxvd2luZzoKKzx1bGlzdD4KKzxpdGVtPjxwPmEgdHdvLWxldHRlciBsYW5ndWFnZSBjb2RlIGFzIGRlZmluZWQgYnkgCis8YmlicmVmIHJlZj0iSVNPNjM5Ii8+LCAiQ29kZXMKK2ZvciB0aGUgcmVwcmVzZW50YXRpb24gb2YgbmFtZXMgb2YgbGFuZ3VhZ2VzIjwvcD48L2l0ZW0+Cis8aXRlbT48cD5hIGxhbmd1YWdlIGlkZW50aWZpZXIgcmVnaXN0ZXJlZCB3aXRoIHRoZSBJbnRlcm5ldAorQXNzaWduZWQgTnVtYmVycyBBdXRob3JpdHkgPGJpYnJlZiByZWY9J0lBTkEnLz47IHRoZXNlIGJlZ2luIHdpdGggdGhlIAorcHJlZml4ICI8Y29kZT5pLTwvY29kZT4iIChvciAiPGNvZGU+SS08L2NvZGU+Iik8L3A+PC9pdGVtPgorPGl0ZW0+PHA+YSBsYW5ndWFnZSBpZGVudGlmaWVyIGFzc2lnbmVkIGJ5IHRoZSB1c2VyLCBvciBhZ3JlZWQgb24KK2JldHdlZW4gcGFydGllcyBpbiBwcml2YXRlIHVzZTsgdGhlc2UgbXVzdCBiZWdpbiB3aXRoIHRoZQorcHJlZml4ICI8Y29kZT54LTwvY29kZT4iIG9yICI8Y29kZT5YLTwvY29kZT4iIGluIG9yZGVyIHRvIGVuc3VyZSB0aGF0IHRoZXkgZG8gbm90IGNvbmZsaWN0IAord2l0aCBuYW1lcyBsYXRlciBzdGFuZGFyZGl6ZWQgb3IgcmVnaXN0ZXJlZCB3aXRoIElBTkE8L3A+PC9pdGVtPgorPC91bGlzdD48L3A+Cis8cD5UaGVyZSBtYXkgYmUgYW55IG51bWJlciBvZiA8bnQgZGVmPSdOVC1TdWJjb2RlJz5TdWJjb2RlPC9udD4gc2VnbWVudHM7IGlmCit0aGUgZmlyc3QgCitzdWJjb2RlIHNlZ21lbnQgZXhpc3RzIGFuZCB0aGUgU3ViY29kZSBjb25zaXN0cyBvZiB0d28gCitsZXR0ZXJzLCB0aGVuIGl0IG11c3QgYmUgYSBjb3VudHJ5IGNvZGUgZnJvbSAKKzxiaWJyZWYgcmVmPSJJU08zMTY2Ii8+LCAiQ29kZXMgCitmb3IgdGhlIHJlcHJlc2VudGF0aW9uIG9mIG5hbWVzIG9mIGNvdW50cmllcy4iCitJZiB0aGUgZmlyc3QgCitzdWJjb2RlIGNvbnNpc3RzIG9mIG1vcmUgdGhhbiB0d28gbGV0dGVycywgaXQgbXVzdCBiZQorYSBzdWJjb2RlIGZvciB0aGUgbGFuZ3VhZ2UgaW4gcXVlc3Rpb24gcmVnaXN0ZXJlZCB3aXRoIElBTkEsCit1bmxlc3MgdGhlIDxudCBkZWY9J05ULUxhbmdjb2RlJz5MYW5nY29kZTwvbnQ+IGJlZ2lucyB3aXRoIHRoZSBwcmVmaXggCisiPGNvZGU+eC08L2NvZGU+IiBvcgorIjxjb2RlPlgtPC9jb2RlPiIuIDwvcD4KKzxwPkl0IGlzIGN1c3RvbWFyeSB0byBnaXZlIHRoZSBsYW5ndWFnZSBjb2RlIGluIGxvd2VyIGNhc2UsIGFuZAordGhlIGNvdW50cnkgY29kZSAoaWYgYW55KSBpbiB1cHBlciBjYXNlLgorTm90ZSB0aGF0IHRoZXNlIHZhbHVlcywgdW5saWtlIG90aGVyIG5hbWVzIGluIFhNTCBkb2N1bWVudHMsCithcmUgY2FzZSBpbnNlbnNpdGl2ZS48L3A+Cis8cD5Gb3IgZXhhbXBsZToKKzxlZz48IVtDREFUQVs8cCB4bWw6bGFuZz0iZW4iPlRoZSBxdWljayBicm93biBmb3gganVtcHMgb3ZlciB0aGUgbGF6eSBkb2cuPC9wPgorPHAgeG1sOmxhbmc9ImVuLUdCIj5XaGF0IGNvbG91ciBpcyBpdD88L3A+Cis8cCB4bWw6bGFuZz0iZW4tVVMiPldoYXQgY29sb3IgaXMgaXQ/PC9wPgorPHNwIHdobz0iRmF1c3QiIGRlc2M9J2xlaXNlJyB4bWw6bGFuZz0iZGUiPgorICA8bD5IYWJlIG51biwgYWNoISBQaGlsb3NvcGhpZSw8L2w+CisgIDxsPkp1cmlzdGVyZWksIHVuZCBNZWRpemluPC9sPgorICA8bD51bmQgbGVpZGVyIGF1Y2ggVGhlb2xvZ2llPC9sPgorICA8bD5kdXJjaGF1cyBzdHVkaWVydCBtaXQgaGVp32VtIEJlbfxoJ24uPC9sPgorICA8L3NwPl1dPjwvZWc+PC9wPgorPCEtLTxwPlRoZSB4bWw6bGFuZyB2YWx1ZSBpcyBjb25zaWRlcmVkIHRvIGFwcGx5IGJvdGggdG8gdGhlIGNvbnRlbnRzIG9mIGFuCitlbGVtZW50IGFuZCAKKyh1bmxlc3Mgb3RoZXJ3aXNlIHZpYSBhdHRyaWJ1dGUgZGVmYXVsdCB2YWx1ZXMpIHRvIHRoZQordmFsdWVzIG9mIGFsbCBvZiBpdHMgYXR0cmlidXRlcyB3aXRoIGZyZWUtdGV4dCAoQ0RBVEEpIHZhbHVlcy4gIC0tPgorPHA+VGhlIGludGVudCBkZWNsYXJlZCB3aXRoIDxrdz54bWw6bGFuZzwva3c+IGlzIGNvbnNpZGVyZWQgdG8gYXBwbHkgdG8KK2FsbCBhdHRyaWJ1dGVzIGFuZCBjb250ZW50IG9mIHRoZSBlbGVtZW50IHdoZXJlIGl0IGlzIHNwZWNpZmllZCwKK3VubGVzcyBvdmVycmlkZGVuIHdpdGggYW4gaW5zdGFuY2Ugb2YgPGt3PnhtbDpsYW5nPC9rdz4KK29uIGFub3RoZXIgZWxlbWVudCB3aXRoaW4gdGhhdCBjb250ZW50LjwvcD4KKzwhLS0KK0lmIG5vCit2YWx1ZSBpcyBzcGVjaWZpZWQgZm9yIHhtbDpsYW5nIG9uIGFuIGVsZW1lbnQsIGFuZCBubyBkZWZhdWx0IHZhbHVlIGlzCitkZWZpbmVkIGZvciBpdCBpbiB0aGUgRFRELCB0aGVuIHRoZSB4bWw6bGFuZyBhdHRyaWJ1dGUgb2YgYW55IGVsZW1lbnQKK3Rha2VzIHRoZSBzYW1lIHZhbHVlIGl0IGhhcyBpbiB0aGUgcGFyZW50IGVsZW1lbnQsIGlmIGFueS4gIFRoZSB0d28KK3RlY2huaWNhbCB0ZXJtcyBpbiB0aGUgZm9sbG93aW5nIGV4YW1wbGUgYm90aCBoYXZlIHRoZSBzYW1lIGVmZmVjdGl2ZQordmFsdWUgZm9yIHhtbDpsYW5nOgorCisgIDxwIHhtbDpsYW5nPSJlbiI+SGVyZSB0aGUga2V5d29yZHMgYXJlCisgIDx0ZXJtIHhtbDpsYW5nPSJlbiI+c2hpZnQ8L3Rlcm0+IGFuZAorICA8dGVybT5yZWR1Y2U8L3Rlcm0+LiAuLi48L3A+CisKK1RoZSBhcHBsaWNhdGlvbiwgbm90IHRoZSBYTUwgcHJvY2Vzc29yLCBpcyByZXNwb25zaWJsZSBmb3IgdGhpcyAnCitpbmhlcml0YW5jZScgb2YgYXR0cmlidXRlIHZhbHVlcy4KKy0tPgorPHA+QSBzaW1wbGUgZGVjbGFyYXRpb24gZm9yIDxrdz54bWw6bGFuZzwva3c+IG1pZ2h0IHRha2UKK3RoZSBmb3JtCis8ZWc+eG1sOmxhbmcgIE5NVE9LRU4gICNJTVBMSUVEPC9lZz4KK2J1dCBzcGVjaWZpYyBkZWZhdWx0IHZhbHVlcyBtYXkgYWxzbyBiZSBnaXZlbiwgaWYgYXBwcm9wcmlhdGUuICBJbiBhCitjb2xsZWN0aW9uIG9mIEZyZW5jaCBwb2VtcyBmb3IgRW5nbGlzaCBzdHVkZW50cywgd2l0aCBnbG9zc2VzIGFuZAorbm90ZXMgaW4gRW5nbGlzaCwgdGhlIHhtbDpsYW5nIGF0dHJpYnV0ZSBtaWdodCBiZSBkZWNsYXJlZCB0aGlzIHdheToKKzxlZz48IVtDREFUQVsgICAgPCFBVFRMSVNUIHBvZW0gICB4bWw6bGFuZyBOTVRPS0VOICdmcic+CisgICAgPCFBVFRMSVNUIGdsb3NzICB4bWw6bGFuZyBOTVRPS0VOICdlbic+CisgICAgPCFBVFRMSVNUIG5vdGUgICB4bWw6bGFuZyBOTVRPS0VOICdlbic+XV0+PC9lZz4KKzwvcD4KKworPC9kaXYyPgorPC9kaXYxPgorPCEtLSAmRWxlbWVudHM7IC0tPgorIAorPGRpdjEgaWQ9J3NlYy1sb2dpY2FsLXN0cnVjdCc+Cis8aGVhZD5Mb2dpY2FsIFN0cnVjdHVyZXM8L2hlYWQ+CisgCis8cD48dGVybWRlZiBpZD0iZHQtZWxlbWVudCIgdGVybT0iRWxlbWVudCI+RWFjaCA8dGVybXJlZgorZGVmPSJkdC14bWwtZG9jIj5YTUwgZG9jdW1lbnQ8L3Rlcm1yZWY+IGNvbnRhaW5zIG9uZSBvciBtb3JlCis8dGVybT5lbGVtZW50czwvdGVybT4sIHRoZSBib3VuZGFyaWVzIG9mIHdoaWNoIGFyZSAKK2VpdGhlciBkZWxpbWl0ZWQgYnkgPHRlcm1yZWYgZGVmPSJkdC1zdGFnIj5zdGFydC10YWdzPC90ZXJtcmVmPiAKK2FuZCA8dGVybXJlZiBkZWY9ImR0LWV0YWciPmVuZC10YWdzPC90ZXJtcmVmPiwgb3IsIGZvciA8dGVybXJlZgorZGVmPSJkdC1lbXB0eSI+ZW1wdHk8L3Rlcm1yZWY+IGVsZW1lbnRzLCBieSBhbiA8dGVybXJlZgorZGVmPSJkdC1lZXRhZyI+ZW1wdHktZWxlbWVudCB0YWc8L3Rlcm1yZWY+LiBFYWNoIGVsZW1lbnQgaGFzIGEgdHlwZSwKK2lkZW50aWZpZWQgYnkgbmFtZSwgc29tZXRpbWVzIGNhbGxlZCBpdHMgImdlbmVyaWMKK2lkZW50aWZpZXIiIChHSSksIGFuZCBtYXkgaGF2ZSBhIHNldCBvZgorYXR0cmlidXRlIHNwZWNpZmljYXRpb25zLjwvdGVybWRlZj4gIEVhY2ggYXR0cmlidXRlIHNwZWNpZmljYXRpb24gCitoYXMgYSA8dGVybXJlZgorZGVmPSJkdC1hdHRybmFtZSI+bmFtZTwvdGVybXJlZj4gYW5kIGEgPHRlcm1yZWYKK2RlZj0iZHQtYXR0cnZhbCI+dmFsdWU8L3Rlcm1yZWY+LgorPC9wPgorPHNjcmFwIGxhbmc9J2VibmYnPjxoZWFkPkVsZW1lbnQ8L2hlYWQ+Cis8cHJvZCBpZD0nTlQtZWxlbWVudCc+PGxocz5lbGVtZW50PC9saHM+Cis8cmhzPjxudCBkZWY9J05ULUVtcHR5RWxlbVRhZyc+RW1wdHlFbGVtVGFnPC9udD48L3Jocz4KKzxyaHM+fCA8bnQgZGVmPSdOVC1TVGFnJz5TVGFnPC9udD4gPG50IGRlZj0nTlQtY29udGVudCc+Y29udGVudDwvbnQ+IAorPG50IGRlZj0nTlQtRVRhZyc+RVRhZzwvbnQ+PC9yaHM+Cis8d2ZjIGRlZj0nR0lNYXRjaCcvPgorPHZjIGRlZj0nZWxlbWVudHZhbGlkJy8+Cis8L3Byb2Q+Cis8L3NjcmFwPgorPHA+VGhpcyBzcGVjaWZpY2F0aW9uIGRvZXMgbm90IGNvbnN0cmFpbiB0aGUgc2VtYW50aWNzLCB1c2UsIG9yIChiZXlvbmQKK3N5bnRheCkgbmFtZXMgb2YgdGhlIGVsZW1lbnQgdHlwZXMgYW5kIGF0dHJpYnV0ZXMsIGV4Y2VwdCB0aGF0IG5hbWVzCitiZWdpbm5pbmcgd2l0aCBhIG1hdGNoIHRvIDxjb2RlPigoJ1gnfCd4JykoJ00nfCdtJykoJ0wnfCdsJykpPC9jb2RlPgorYXJlIHJlc2VydmVkIGZvciBzdGFuZGFyZGl6YXRpb24gaW4gdGhpcyBvciBmdXR1cmUgdmVyc2lvbnMgb2YgdGhpcworc3BlY2lmaWNhdGlvbi4KKzwvcD4KKzx3ZmNub3RlIGlkPSdHSU1hdGNoJz4KKzxoZWFkPkVsZW1lbnQgVHlwZSBNYXRjaDwvaGVhZD4KKzxwPgorVGhlIDxudCBkZWY9J05ULU5hbWUnPk5hbWU8L250PiBpbiBhbiBlbGVtZW50J3MgZW5kLXRhZyBtdXN0IG1hdGNoIAordGhlIGVsZW1lbnQgdHlwZSBpbgordGhlIHN0YXJ0LXRhZy4KKzwvcD4KKzwvd2Zjbm90ZT4KKzx2Y25vdGUgaWQ9J2VsZW1lbnR2YWxpZCc+Cis8aGVhZD5FbGVtZW50IFZhbGlkPC9oZWFkPgorPHA+QW4gZWxlbWVudCBpcwordmFsaWQgaWYKK3RoZXJlIGlzIGEgZGVjbGFyYXRpb24gbWF0Y2hpbmcgCis8bnQgZGVmPSdOVC1lbGVtZW50ZGVjbCc+ZWxlbWVudGRlY2w8L250PiB3aGVyZSB0aGUKKzxudCBkZWY9J05ULU5hbWUnPk5hbWU8L250PiBtYXRjaGVzIHRoZSBlbGVtZW50IHR5cGUsIGFuZAorb25lIG9mIHRoZSBmb2xsb3dpbmcgaG9sZHM6PC9wPgorPG9saXN0PgorPGl0ZW0+PHA+VGhlIGRlY2xhcmF0aW9uIG1hdGNoZXMgPGt3PkVNUFRZPC9rdz4gYW5kIHRoZSBlbGVtZW50IGhhcyBubyAKKzx0ZXJtcmVmIGRlZj0nZHQtY29udGVudCc+Y29udGVudDwvdGVybXJlZj4uPC9wPjwvaXRlbT4KKzxpdGVtPjxwPlRoZSBkZWNsYXJhdGlvbiBtYXRjaGVzIDxudCBkZWY9J05ULWNoaWxkcmVuJz5jaGlsZHJlbjwvbnQ+IGFuZAordGhlIHNlcXVlbmNlIG9mIAorPHRlcm1yZWYgZGVmPSJkdC1wYXJlbnRjaGlsZCI+Y2hpbGQgZWxlbWVudHM8L3Rlcm1yZWY+CitiZWxvbmdzIHRvIHRoZSBsYW5ndWFnZSBnZW5lcmF0ZWQgYnkgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBpbgordGhlIGNvbnRlbnQgbW9kZWwsIHdpdGggb3B0aW9uYWwgd2hpdGUgc3BhY2UgKGNoYXJhY3RlcnMgCittYXRjaGluZyB0aGUgbm9udGVybWluYWwgPG50IGRlZj0nTlQtUyc+UzwvbnQ+KSBiZXR3ZWVuIGVhY2ggcGFpcgorb2YgY2hpbGQgZWxlbWVudHMuPC9wPjwvaXRlbT4KKzxpdGVtPjxwPlRoZSBkZWNsYXJhdGlvbiBtYXRjaGVzIDxudCBkZWY9J05ULU1peGVkJz5NaXhlZDwvbnQ+IGFuZCAKK3RoZSBjb250ZW50IGNvbnNpc3RzIG9mIDx0ZXJtcmVmIGRlZj0nZHQtY2hhcmRhdGEnPmNoYXJhY3RlciAKK2RhdGE8L3Rlcm1yZWY+IGFuZCA8dGVybXJlZiBkZWY9J2R0LXBhcmVudGNoaWxkJz5jaGlsZCBlbGVtZW50czwvdGVybXJlZj4KK3dob3NlIHR5cGVzIG1hdGNoIG5hbWVzIGluIHRoZSBjb250ZW50IG1vZGVsLjwvcD48L2l0ZW0+Cis8aXRlbT48cD5UaGUgZGVjbGFyYXRpb24gbWF0Y2hlcyA8a3c+QU5ZPC9rdz4sIGFuZCB0aGUgdHlwZXMKK29mIGFueSA8dGVybXJlZiBkZWY9J2R0LXBhcmVudGNoaWxkJz5jaGlsZCBlbGVtZW50czwvdGVybXJlZj4gaGF2ZQorYmVlbiBkZWNsYXJlZC48L3A+PC9pdGVtPgorPC9vbGlzdD4KKzwvdmNub3RlPgorCis8ZGl2MiBpZD0nc2VjLXN0YXJ0dGFncyc+Cis8aGVhZD5TdGFydC1UYWdzLCBFbmQtVGFncywgYW5kIEVtcHR5LUVsZW1lbnQgVGFnczwvaGVhZD4KKyAKKzxwPjx0ZXJtZGVmIGlkPSJkdC1zdGFnIiB0ZXJtPSJTdGFydC1UYWciPlRoZSBiZWdpbm5pbmcgb2YgZXZlcnkKK25vbi1lbXB0eSBYTUwgZWxlbWVudCBpcyBtYXJrZWQgYnkgYSA8dGVybT5zdGFydC10YWc8L3Rlcm0+LgorPHNjcmFwIGxhbmc9J2VibmYnPgorPGhlYWQ+U3RhcnQtdGFnPC9oZWFkPgorPHByb2Rncm91cCBwY3cyPSI2IiBwY3c0PSIxNSIgcGN3NT0iMTEuNSI+Cis8cHJvZCBpZD0nTlQtU1RhZyc+PGxocz5TVGFnPC9saHM+Cis8cmhzPicmbHQ7JyA8bnQgZGVmPSdOVC1OYW1lJz5OYW1lPC9udD4gCisoPG50IGRlZj0nTlQtUyc+UzwvbnQ+IDxudCBkZWY9J05ULUF0dHJpYnV0ZSc+QXR0cmlidXRlPC9udD4pKiAKKzxudCBkZWY9J05ULVMnPlM8L250Pj8gJz4nPC9yaHM+Cis8d2ZjIGRlZj0idW5pcWF0dHNwZWMiLz4KKzwvcHJvZD4KKzxwcm9kIGlkPSdOVC1BdHRyaWJ1dGUnPjxsaHM+QXR0cmlidXRlPC9saHM+Cis8cmhzPjxudCBkZWY9J05ULU5hbWUnPk5hbWU8L250PiA8bnQgZGVmPSdOVC1FcSc+RXE8L250PiAKKzxudCBkZWY9J05ULUF0dFZhbHVlJz5BdHRWYWx1ZTwvbnQ+PC9yaHM+Cis8dmMgZGVmPSdWYWx1ZVR5cGUnLz4KKzx3ZmMgZGVmPSdOb0V4dGVybmFsUmVmcycvPgorPHdmYyBkZWY9J0NsZWFuQXR0clZhbHMnLz48L3Byb2Q+Cis8L3Byb2Rncm91cD4KKzwvc2NyYXA+CitUaGUgPG50IGRlZj0nTlQtTmFtZSc+TmFtZTwvbnQ+IGluCit0aGUgc3RhcnQtIGFuZCBlbmQtdGFncyBnaXZlcyB0aGUgCitlbGVtZW50J3MgPHRlcm0+dHlwZTwvdGVybT4uPC90ZXJtZGVmPgorPHRlcm1kZWYgaWQ9ImR0LWF0dHIiIHRlcm09IkF0dHJpYnV0ZSI+CitUaGUgPG50IGRlZj0nTlQtTmFtZSc+TmFtZTwvbnQ+LTxudCBkZWY9J05ULUF0dFZhbHVlJz5BdHRWYWx1ZTwvbnQ+IHBhaXJzIGFyZQorcmVmZXJyZWQgdG8gYXMgCit0aGUgPHRlcm0+YXR0cmlidXRlIHNwZWNpZmljYXRpb25zPC90ZXJtPiBvZiB0aGUgZWxlbWVudDwvdGVybWRlZj4sCis8dGVybWRlZiBpZD0iZHQtYXR0cm5hbWUiIHRlcm09IkF0dHJpYnV0ZSBOYW1lIj53aXRoIHRoZSAKKzxudCBkZWY9J05ULU5hbWUnPk5hbWU8L250PiBpbiBlYWNoIHBhaXIKK3JlZmVycmVkIHRvIGFzIHRoZSA8dGVybT5hdHRyaWJ1dGUgbmFtZTwvdGVybT48L3Rlcm1kZWY+IGFuZAorPHRlcm1kZWYgaWQ9ImR0LWF0dHJ2YWwiIHRlcm09IkF0dHJpYnV0ZSBWYWx1ZSI+dGhlIGNvbnRlbnQgb2YgdGhlCis8bnQgZGVmPSdOVC1BdHRWYWx1ZSc+QXR0VmFsdWU8L250PiAodGhlIHRleHQgYmV0d2VlbiB0aGUKKzxjb2RlPic8L2NvZGU+IG9yIDxjb2RlPiI8L2NvZGU+IGRlbGltaXRlcnMpCithcyB0aGUgPHRlcm0+YXR0cmlidXRlIHZhbHVlPC90ZXJtPi48L3Rlcm1kZWY+Cis8L3A+Cis8d2Zjbm90ZSBpZD0ndW5pcWF0dHNwZWMnPgorPGhlYWQ+VW5pcXVlIEF0dCBTcGVjPC9oZWFkPgorPHA+CitObyBhdHRyaWJ1dGUgbmFtZSBtYXkgYXBwZWFyIG1vcmUgdGhhbiBvbmNlIGluIHRoZSBzYW1lIHN0YXJ0LXRhZworb3IgZW1wdHktZWxlbWVudCB0YWcuCis8L3A+Cis8L3dmY25vdGU+Cis8dmNub3RlIGlkPSdWYWx1ZVR5cGUnPgorPGhlYWQ+QXR0cmlidXRlIFZhbHVlIFR5cGU8L2hlYWQ+Cis8cD4KK1RoZSBhdHRyaWJ1dGUgbXVzdCBoYXZlIGJlZW4gZGVjbGFyZWQ7IHRoZSB2YWx1ZSBtdXN0IGJlIG9mIHRoZSB0eXBlIAorZGVjbGFyZWQgZm9yIGl0LgorKEZvciBhdHRyaWJ1dGUgdHlwZXMsIHNlZSA8c3BlY3JlZiByZWY9J2F0dGRlY2xzJy8+LikKKzwvcD4KKzwvdmNub3RlPgorPHdmY25vdGUgaWQ9J05vRXh0ZXJuYWxSZWZzJz4KKzxoZWFkPk5vIEV4dGVybmFsIEVudGl0eSBSZWZlcmVuY2VzPC9oZWFkPgorPHA+CitBdHRyaWJ1dGUgdmFsdWVzIGNhbm5vdCBjb250YWluIGRpcmVjdCBvciBpbmRpcmVjdCBlbnRpdHkgcmVmZXJlbmNlcyAKK3RvIGV4dGVybmFsIGVudGl0aWVzLgorPC9wPgorPC93ZmNub3RlPgorPHdmY25vdGUgaWQ9J0NsZWFuQXR0clZhbHMnPgorPGhlYWQ+Tm8gPGNvZGU+Jmx0OzwvY29kZT4gaW4gQXR0cmlidXRlIFZhbHVlczwvaGVhZD4KKzxwPlRoZSA8dGVybXJlZiBkZWY9J2R0LXJlcGx0ZXh0Jz5yZXBsYWNlbWVudCB0ZXh0PC90ZXJtcmVmPiBvZiBhbnkgZW50aXR5CityZWZlcnJlZCB0byBkaXJlY3RseSBvciBpbmRpcmVjdGx5IGluIGFuIGF0dHJpYnV0ZQordmFsdWUgKG90aGVyIHRoYW4gIjxjb2RlPiZhbXA7bHQ7PC9jb2RlPiIpIG11c3Qgbm90IGNvbnRhaW4KK2EgPGNvZGU+Jmx0OzwvY29kZT4uCis8L3A+PC93ZmNub3RlPgorPHA+QW4gZXhhbXBsZSBvZiBhIHN0YXJ0LXRhZzoKKzxlZz4mbHQ7dGVybWRlZiBpZD0iZHQtZG9nIiB0ZXJtPSJkb2ciPjwvZWc+PC9wPgorPHA+PHRlcm1kZWYgaWQ9ImR0LWV0YWciIHRlcm09IkVuZCBUYWciPlRoZSBlbmQgb2YgZXZlcnkgZWxlbWVudCAKK3RoYXQgYmVnaW5zIHdpdGggYSBzdGFydC10YWcgbXVzdAorYmUgbWFya2VkIGJ5IGFuIDx0ZXJtPmVuZC10YWc8L3Rlcm0+Citjb250YWluaW5nIGEgbmFtZSB0aGF0IGVjaG9lcyB0aGUgZWxlbWVudCdzIHR5cGUgYXMgZ2l2ZW4gaW4gdGhlCitzdGFydC10YWc6Cis8c2NyYXAgbGFuZz0nZWJuZic+Cis8aGVhZD5FbmQtdGFnPC9oZWFkPgorPHByb2Rncm91cCBwY3cyPSI2IiBwY3c0PSIxNSIgcGN3NT0iMTEuNSI+Cis8cHJvZCBpZD0nTlQtRVRhZyc+PGxocz5FVGFnPC9saHM+Cis8cmhzPicmbHQ7LycgPG50IGRlZj0nTlQtTmFtZSc+TmFtZTwvbnQ+IAorPG50IGRlZj0nTlQtUyc+UzwvbnQ+PyAnPic8L3Jocz48L3Byb2Q+Cis8L3Byb2Rncm91cD4KKzwvc2NyYXA+Cis8L3Rlcm1kZWY+PC9wPgorPHA+QW4gZXhhbXBsZSBvZiBhbiBlbmQtdGFnOjxlZz4mbHQ7L3Rlcm1kZWY+PC9lZz48L3A+Cis8cD48dGVybWRlZiBpZD0iZHQtY29udGVudCIgdGVybT0iQ29udGVudCI+VGhlIAorPHRlcm1yZWYgZGVmPSdkdC10ZXh0Jz50ZXh0PC90ZXJtcmVmPiBiZXR3ZWVuIHRoZSBzdGFydC10YWcgYW5kCitlbmQtdGFnIGlzIGNhbGxlZCB0aGUgZWxlbWVudCdzCis8dGVybT5jb250ZW50PC90ZXJtPjoKKzxzY3JhcCBsYW5nPSdlYm5mJz4KKzxoZWFkPkNvbnRlbnQgb2YgRWxlbWVudHM8L2hlYWQ+Cis8cHJvZGdyb3VwIHBjdzI9IjYiIHBjdzQ9IjE1IiBwY3c1PSIxMS41Ij4KKzxwcm9kIGlkPSdOVC1jb250ZW50Jz48bGhzPmNvbnRlbnQ8L2xocz4KKzxyaHM+KDxudCBkZWY9J05ULWVsZW1lbnQnPmVsZW1lbnQ8L250PiB8IDxudCBkZWY9J05ULUNoYXJEYXRhJz5DaGFyRGF0YTwvbnQ+IAorfCA8bnQgZGVmPSdOVC1SZWZlcmVuY2UnPlJlZmVyZW5jZTwvbnQ+IHwgPG50IGRlZj0nTlQtQ0RTZWN0Jz5DRFNlY3Q8L250PiAKK3wgPG50IGRlZj0nTlQtUEknPlBJPC9udD4gfCA8bnQgZGVmPSdOVC1Db21tZW50Jz5Db21tZW50PC9udD4pKjwvcmhzPgorPC9wcm9kPgorPC9wcm9kZ3JvdXA+Cis8L3NjcmFwPgorPC90ZXJtZGVmPjwvcD4KKzxwPjx0ZXJtZGVmIGlkPSJkdC1lbXB0eSIgdGVybT0iRW1wdHkiPklmIGFuIGVsZW1lbnQgaXMgPHRlcm0+ZW1wdHk8L3Rlcm0+LAoraXQgbXVzdCBiZSByZXByZXNlbnRlZCBlaXRoZXIgYnkgYSBzdGFydC10YWcgaW1tZWRpYXRlbHkgZm9sbG93ZWQKK2J5IGFuIGVuZC10YWcgb3IgYnkgYW4gZW1wdHktZWxlbWVudCB0YWcuPC90ZXJtZGVmPgorPHRlcm1kZWYgaWQ9ImR0LWVldGFnIiB0ZXJtPSJlbXB0eS1lbGVtZW50IHRhZyI+QW4gCis8dGVybT5lbXB0eS1lbGVtZW50IHRhZzwvdGVybT4gdGFrZXMgYSBzcGVjaWFsIGZvcm06Cis8c2NyYXAgbGFuZz0nZWJuZic+Cis8aGVhZD5UYWdzIGZvciBFbXB0eSBFbGVtZW50czwvaGVhZD4KKzxwcm9kZ3JvdXAgcGN3Mj0iNiIgcGN3ND0iMTUiIHBjdzU9IjExLjUiPgorPHByb2QgaWQ9J05ULUVtcHR5RWxlbVRhZyc+PGxocz5FbXB0eUVsZW1UYWc8L2xocz4KKzxyaHM+JyZsdDsnIDxudCBkZWY9J05ULU5hbWUnPk5hbWU8L250PiAoPG50IGRlZj0nTlQtUyc+UzwvbnQ+IAorPG50IGRlZj0nTlQtQXR0cmlidXRlJz5BdHRyaWJ1dGU8L250PikqIDxudCBkZWY9J05ULVMnPlM8L250Pj8gCisnLyZndDsnPC9yaHM+Cis8d2ZjIGRlZj0idW5pcWF0dHNwZWMiLz4KKzwvcHJvZD4KKzwvcHJvZGdyb3VwPgorPC9zY3JhcD4KKzwvdGVybWRlZj48L3A+Cis8cD5FbXB0eS1lbGVtZW50IHRhZ3MgbWF5IGJlIHVzZWQgZm9yIGFueSBlbGVtZW50IHdoaWNoIGhhcyBubworY29udGVudCwgd2hldGhlciBvciBub3QgaXQgaXMgZGVjbGFyZWQgdXNpbmcgdGhlIGtleXdvcmQKKzxrdz5FTVBUWTwva3c+LgorPHRlcm1yZWYgZGVmPSdkdC1pbnRlcm9wJz5Gb3IgaW50ZXJvcGVyYWJpbGl0eTwvdGVybXJlZj4sIHRoZSBlbXB0eS1lbGVtZW50Cit0YWcgbXVzdCBiZSB1c2VkLCBhbmQgY2FuIG9ubHkgYmUgdXNlZCwgZm9yIGVsZW1lbnRzIHdoaWNoIGFyZQorPHRlcm1yZWYgZGVmPSdkdC1lbGRlY2wnPmRlY2xhcmVkPC90ZXJtcmVmPiA8a3c+RU1QVFk8L2t3Pi48L3A+Cis8cD5FeGFtcGxlcyBvZiBlbXB0eSBlbGVtZW50czoKKzxlZz4mbHQ7SU1HIGFsaWduPSJsZWZ0IgorIHNyYz0iaHR0cDovL3d3dy53My5vcmcvSWNvbnMvV1dXL3czY19ob21lIiAvPgorJmx0O2JyPiZsdDsvYnI+CismbHQ7YnIvPjwvZWc+PC9wPgorPC9kaXYyPgorIAorPGRpdjIgaWQ9J2VsZW1kZWNscyc+Cis8aGVhZD5FbGVtZW50IFR5cGUgRGVjbGFyYXRpb25zPC9oZWFkPgorIAorPHA+VGhlIDx0ZXJtcmVmIGRlZj0iZHQtZWxlbWVudCI+ZWxlbWVudDwvdGVybXJlZj4gc3RydWN0dXJlIG9mIGFuCis8dGVybXJlZiBkZWY9ImR0LXhtbC1kb2MiPlhNTCBkb2N1bWVudDwvdGVybXJlZj4gbWF5LCBmb3IgCis8dGVybXJlZiBkZWY9ImR0LXZhbGlkIj52YWxpZGF0aW9uPC90ZXJtcmVmPiBwdXJwb3NlcywgCitiZSBjb25zdHJhaW5lZAordXNpbmcgZWxlbWVudCB0eXBlIGFuZCBhdHRyaWJ1dGUtbGlzdCBkZWNsYXJhdGlvbnMuCitBbiBlbGVtZW50IHR5cGUgZGVjbGFyYXRpb24gY29uc3RyYWlucyB0aGUgZWxlbWVudCdzCis8dGVybXJlZiBkZWY9ImR0LWNvbnRlbnQiPmNvbnRlbnQ8L3Rlcm1yZWY+LgorPC9wPgorCis8cD5FbGVtZW50IHR5cGUgZGVjbGFyYXRpb25zIG9mdGVuIGNvbnN0cmFpbiB3aGljaCBlbGVtZW50IHR5cGVzIGNhbgorYXBwZWFyIGFzIDx0ZXJtcmVmIGRlZj0iZHQtcGFyZW50Y2hpbGQiPmNoaWxkcmVuPC90ZXJtcmVmPiBvZiB0aGUgZWxlbWVudC4KK0F0IHVzZXIgb3B0aW9uLCBhbiBYTUwgcHJvY2Vzc29yIG1heSBpc3N1ZSBhIHdhcm5pbmcKK3doZW4gYSBkZWNsYXJhdGlvbiBtZW50aW9ucyBhbiBlbGVtZW50IHR5cGUgZm9yIHdoaWNoIG5vIGRlY2xhcmF0aW9uCitpcyBwcm92aWRlZCwgYnV0IHRoaXMgaXMgbm90IGFuIGVycm9yLjwvcD4KKzxwPjx0ZXJtZGVmIGlkPSJkdC1lbGRlY2wiIHRlcm09IkVsZW1lbnQgVHlwZSBkZWNsYXJhdGlvbiI+QW4gPHRlcm0+ZWxlbWVudAordHlwZSBkZWNsYXJhdGlvbjwvdGVybT4gdGFrZXMgdGhlIGZvcm06Cis8c2NyYXAgbGFuZz0nZWJuZic+Cis8aGVhZD5FbGVtZW50IFR5cGUgRGVjbGFyYXRpb248L2hlYWQ+Cis8cHJvZGdyb3VwIHBjdzI9IjUuNSIgcGN3ND0iMTgiIHBjdzU9IjkiPgorPHByb2QgaWQ9J05ULWVsZW1lbnRkZWNsJz48bGhzPmVsZW1lbnRkZWNsPC9saHM+Cis8cmhzPicmbHQ7IUVMRU1FTlQnIDxudCBkZWY9J05ULVMnPlM8L250PiAKKzxudCBkZWY9J05ULU5hbWUnPk5hbWU8L250PiAKKzxudCBkZWY9J05ULVMnPlM8L250PiAKKzxudCBkZWY9J05ULWNvbnRlbnRzcGVjJz5jb250ZW50c3BlYzwvbnQ+Cis8bnQgZGVmPSdOVC1TJz5TPC9udD4/ICc+JzwvcmhzPgorPHZjIGRlZj0nRURVbmlxdWUnLz48L3Byb2Q+Cis8cHJvZCBpZD0nTlQtY29udGVudHNwZWMnPjxsaHM+Y29udGVudHNwZWM8L2xocz4KKzxyaHM+J0VNUFRZJyAKK3wgJ0FOWScgCit8IDxudCBkZWY9J05ULU1peGVkJz5NaXhlZDwvbnQ+IAorfCA8bnQgZGVmPSdOVC1jaGlsZHJlbic+Y2hpbGRyZW48L250PgorPC9yaHM+Cis8L3Byb2Q+Cis8L3Byb2Rncm91cD4KKzwvc2NyYXA+Cit3aGVyZSB0aGUgPG50IGRlZj0nTlQtTmFtZSc+TmFtZTwvbnQ+IGdpdmVzIHRoZSBlbGVtZW50IHR5cGUgCitiZWluZyBkZWNsYXJlZC48L3Rlcm1kZWY+Cis8L3A+CisKKzx2Y25vdGUgaWQ9J0VEVW5pcXVlJz4KKzxoZWFkPlVuaXF1ZSBFbGVtZW50IFR5cGUgRGVjbGFyYXRpb248L2hlYWQ+Cis8cD4KK05vIGVsZW1lbnQgdHlwZSBtYXkgYmUgZGVjbGFyZWQgbW9yZSB0aGFuIG9uY2UuCis8L3A+Cis8L3Zjbm90ZT4KKworPHA+RXhhbXBsZXMgb2YgZWxlbWVudCB0eXBlIGRlY2xhcmF0aW9uczoKKzxlZz4mbHQ7IUVMRU1FTlQgYnIgRU1QVFk+CismbHQ7IUVMRU1FTlQgcCAoI1BDREFUQXxlbXBoKSogPgorJmx0OyFFTEVNRU5UICVuYW1lLnBhcmE7ICVjb250ZW50LnBhcmE7ID4KKyZsdDshRUxFTUVOVCBjb250YWluZXIgQU5ZPjwvZWc+PC9wPgorIAorPGRpdjMgaWQ9J3NlYy1lbGVtZW50LWNvbnRlbnQnPgorPGhlYWQ+RWxlbWVudCBDb250ZW50PC9oZWFkPgorIAorPHA+PHRlcm1kZWYgaWQ9J2R0LWVsZW1jb250ZW50JyB0ZXJtPSdFbGVtZW50IGNvbnRlbnQnPkFuIGVsZW1lbnQgPHRlcm1yZWYKK2RlZj0iZHQtc3RhZyI+dHlwZTwvdGVybXJlZj4gaGFzCis8dGVybT5lbGVtZW50IGNvbnRlbnQ8L3Rlcm0+IHdoZW4gZWxlbWVudHMgb2YgdGhhdAordHlwZSBtdXN0IGNvbnRhaW4gb25seSA8dGVybXJlZiBkZWY9J2R0LXBhcmVudGNoaWxkJz5jaGlsZDwvdGVybXJlZj4gCitlbGVtZW50cyAobm8gY2hhcmFjdGVyIGRhdGEpLCBvcHRpb25hbGx5IHNlcGFyYXRlZCBieSAKK3doaXRlIHNwYWNlIChjaGFyYWN0ZXJzIG1hdGNoaW5nIHRoZSBub250ZXJtaW5hbCAKKzxudCBkZWY9J05ULVMnPlM8L250PikuCis8L3Rlcm1kZWY+CitJbiB0aGlzIGNhc2UsIHRoZQorY29uc3RyYWludCBpbmNsdWRlcyBhIGNvbnRlbnQgbW9kZWwsIGEgc2ltcGxlIGdyYW1tYXIgZ292ZXJuaW5nCit0aGUgYWxsb3dlZCB0eXBlcyBvZiB0aGUgY2hpbGQKK2VsZW1lbnRzIGFuZCB0aGUgb3JkZXIgaW4gd2hpY2ggdGhleSBhcmUgYWxsb3dlZCB0byBhcHBlYXIuICAKK1RoZSBncmFtbWFyIGlzIGJ1aWx0IG9uCitjb250ZW50IHBhcnRpY2xlcyAoPG50IGRlZj0nTlQtY3AnPmNwPC9udD5zKSwgd2hpY2ggY29uc2lzdCBvZiBuYW1lcywgCitjaG9pY2UgbGlzdHMgb2YgY29udGVudCBwYXJ0aWNsZXMsIG9yCitzZXF1ZW5jZSBsaXN0cyBvZiBjb250ZW50IHBhcnRpY2xlczoKKzxzY3JhcCBsYW5nPSdlYm5mJz4KKzxoZWFkPkVsZW1lbnQtY29udGVudCBNb2RlbHM8L2hlYWQ+Cis8cHJvZGdyb3VwIHBjdzI9IjUuNSIgcGN3ND0iMTYiIHBjdzU9IjExIj4KKzxwcm9kIGlkPSdOVC1jaGlsZHJlbic+PGxocz5jaGlsZHJlbjwvbGhzPgorPHJocz4oPG50IGRlZj0nTlQtY2hvaWNlJz5jaG9pY2U8L250PiAKK3wgPG50IGRlZj0nTlQtc2VxJz5zZXE8L250PikgCisoJz8nIHwgJyonIHwgJysnKT88L3Jocz48L3Byb2Q+Cis8cHJvZCBpZD0nTlQtY3AnPjxsaHM+Y3A8L2xocz4KKzxyaHM+KDxudCBkZWY9J05ULU5hbWUnPk5hbWU8L250PiAKK3wgPG50IGRlZj0nTlQtY2hvaWNlJz5jaG9pY2U8L250PiAKK3wgPG50IGRlZj0nTlQtc2VxJz5zZXE8L250PikgCisoJz8nIHwgJyonIHwgJysnKT88L3Jocz48L3Byb2Q+Cis8cHJvZCBpZD0nTlQtY2hvaWNlJz48bGhzPmNob2ljZTwvbGhzPgorPHJocz4nKCcgPG50IGRlZj0nTlQtUyc+UzwvbnQ+PyBjcCAKKyggPG50IGRlZj0nTlQtUyc+UzwvbnQ+PyAnfCcgPG50IGRlZj0nTlQtUyc+UzwvbnQ+PyA8bnQgZGVmPSdOVC1jcCc+Y3A8L250PiApKgorPG50IGRlZj0nTlQtUyc+UzwvbnQ+PyAnKSc8L3Jocz4KKzx2YyBkZWY9J3ZjLVBFaW5Hcm91cCcvPjwvcHJvZD4KKzxwcm9kIGlkPSdOVC1zZXEnPjxsaHM+c2VxPC9saHM+Cis8cmhzPicoJyA8bnQgZGVmPSdOVC1TJz5TPC9udD4/IGNwIAorKCA8bnQgZGVmPSdOVC1TJz5TPC9udD4/ICcsJyA8bnQgZGVmPSdOVC1TJz5TPC9udD4/IDxudCBkZWY9J05ULWNwJz5jcDwvbnQ+ICkqCis8bnQgZGVmPSdOVC1TJz5TPC9udD4/ICcpJzwvcmhzPgorPHZjIGRlZj0ndmMtUEVpbkdyb3VwJy8+PC9wcm9kPgorCis8L3Byb2Rncm91cD4KKzwvc2NyYXA+Cit3aGVyZSBlYWNoIDxudCBkZWY9J05ULU5hbWUnPk5hbWU8L250PiBpcyB0aGUgdHlwZSBvZiBhbiBlbGVtZW50IHdoaWNoIG1heQorYXBwZWFyIGFzIGEgPHRlcm1yZWYgZGVmPSJkdC1wYXJlbnRjaGlsZCI+Y2hpbGQ8L3Rlcm1yZWY+LiAgCitBbnkgY29udGVudAorcGFydGljbGUgaW4gYSBjaG9pY2UgbGlzdCBtYXkgYXBwZWFyIGluIHRoZSA8dGVybXJlZgorZGVmPSJkdC1lbGVtY29udGVudCI+ZWxlbWVudCBjb250ZW50PC90ZXJtcmVmPiBhdCB0aGUgbG9jYXRpb24gd2hlcmUKK3RoZSBjaG9pY2UgbGlzdCBhcHBlYXJzIGluIHRoZSBncmFtbWFyOworY29udGVudCBwYXJ0aWNsZXMgb2NjdXJyaW5nIGluIGEgc2VxdWVuY2UgbGlzdCBtdXN0IGVhY2gKK2FwcGVhciBpbiB0aGUgPHRlcm1yZWYgZGVmPSJkdC1lbGVtY29udGVudCI+ZWxlbWVudCBjb250ZW50PC90ZXJtcmVmPiBpbiB0aGUKK29yZGVyIGdpdmVuIGluIHRoZSBsaXN0LiAgCitUaGUgb3B0aW9uYWwgY2hhcmFjdGVyIGZvbGxvd2luZyBhIG5hbWUgb3IgbGlzdCBnb3Zlcm5zCit3aGV0aGVyIHRoZSBlbGVtZW50IG9yIHRoZSBjb250ZW50IHBhcnRpY2xlcyBpbiB0aGUgbGlzdCBtYXkgb2NjdXIgb25lCitvciBtb3JlICg8Y29kZT4rPC9jb2RlPiksIHplcm8gb3IgbW9yZSAoPGNvZGU+KjwvY29kZT4pLCBvciB6ZXJvIG9yIAorb25lIHRpbWVzICg8Y29kZT4/PC9jb2RlPikuICAKK1RoZSBhYnNlbmNlIG9mIHN1Y2ggYW4gb3BlcmF0b3IgbWVhbnMgdGhhdCB0aGUgZWxlbWVudCBvciBjb250ZW50IHBhcnRpY2xlCittdXN0IGFwcGVhciBleGFjdGx5IG9uY2UuCitUaGlzIHN5bnRheAorYW5kIG1lYW5pbmcgYXJlIGlkZW50aWNhbCB0byB0aG9zZSB1c2VkIGluIHRoZSBwcm9kdWN0aW9ucyBpbiB0aGlzCitzcGVjaWZpY2F0aW9uLjwvcD4KKzxwPgorVGhlIGNvbnRlbnQgb2YgYW4gZWxlbWVudCBtYXRjaGVzIGEgY29udGVudCBtb2RlbCBpZiBhbmQgb25seSBpZiBpdCBpcworcG9zc2libGUgdG8gdHJhY2Ugb3V0IGEgcGF0aCB0aHJvdWdoIHRoZSBjb250ZW50IG1vZGVsLCBvYmV5aW5nIHRoZQorc2VxdWVuY2UsIGNob2ljZSwgYW5kIHJlcGV0aXRpb24gb3BlcmF0b3JzIGFuZCBtYXRjaGluZyBlYWNoIGVsZW1lbnQgaW4KK3RoZSBjb250ZW50IGFnYWluc3QgYW4gZWxlbWVudCB0eXBlIGluIHRoZSBjb250ZW50IG1vZGVsLiAgPHRlcm1yZWYKK2RlZj0nZHQtY29tcGF0Jz5Gb3IgY29tcGF0aWJpbGl0eTwvdGVybXJlZj4sIGl0IGlzIGFuIGVycm9yCitpZiBhbiBlbGVtZW50IGluIHRoZSBkb2N1bWVudCBjYW4KK21hdGNoIG1vcmUgdGhhbiBvbmUgb2NjdXJyZW5jZSBvZiBhbiBlbGVtZW50IHR5cGUgaW4gdGhlIGNvbnRlbnQgbW9kZWwuCitGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIDxzcGVjcmVmIHJlZj0iZGV0ZXJtaW5pc20iLz4uCis8IS0tIGFwcGVuZGl4IDxzcGVjcmVmIHJlZj0iZGV0ZXJtaW5pc20iLz4uIC0tPgorPCEtLSBhcHBlbmRpeCBvbiBkZXRlcm1pbmlzdGljIGNvbnRlbnQgbW9kZWxzLiAtLT4KKzwvcD4KKzx2Y25vdGUgaWQ9J3ZjLVBFaW5Hcm91cCc+Cis8aGVhZD5Qcm9wZXIgR3JvdXAvUEUgTmVzdGluZzwvaGVhZD4KKzxwPlBhcmFtZXRlci1lbnRpdHkgCis8dGVybXJlZiBkZWY9J2R0LXJlcGx0ZXh0Jz5yZXBsYWNlbWVudCB0ZXh0PC90ZXJtcmVmPiBtdXN0IGJlIHByb3Blcmx5IG5lc3RlZAord2l0aCBwYXJlbnRoZXRpemVkIGdyb3Vwcy4KK1RoYXQgaXMgdG8gc2F5LCBpZiBlaXRoZXIgb2YgdGhlIG9wZW5pbmcgb3IgY2xvc2luZyBwYXJlbnRoZXNlcworaW4gYSA8bnQgZGVmPSdOVC1jaG9pY2UnPmNob2ljZTwvbnQ+LCA8bnQgZGVmPSdOVC1zZXEnPnNlcTwvbnQ+LCBvcgorPG50IGRlZj0nTlQtTWl4ZWQnPk1peGVkPC9udD4gY29uc3RydWN0IAoraXMgY29udGFpbmVkIGluIHRoZSByZXBsYWNlbWVudCB0ZXh0IGZvciBhIAorPHRlcm1yZWYgZGVmPSdkdC1QRVJlZic+cGFyYW1ldGVyIGVudGl0eTwvdGVybXJlZj4sCitib3RoIG11c3QgYmUgY29udGFpbmVkIGluIHRoZSBzYW1lIHJlcGxhY2VtZW50IHRleHQuPC9wPgorPHA+PHRlcm1yZWYgZGVmPSdkdC1pbnRlcm9wJz5Gb3IgaW50ZXJvcGVyYWJpbGl0eTwvdGVybXJlZj4sIAoraWYgYSBwYXJhbWV0ZXItZW50aXR5IHJlZmVyZW5jZSBhcHBlYXJzIGluIGEgCis8bnQgZGVmPSdOVC1jaG9pY2UnPmNob2ljZTwvbnQ+LCA8bnQgZGVmPSdOVC1zZXEnPnNlcTwvbnQ+LCBvcgorPG50IGRlZj0nTlQtTWl4ZWQnPk1peGVkPC9udD4gY29uc3RydWN0LCBpdHMgcmVwbGFjZW1lbnQgdGV4dAorc2hvdWxkIG5vdCBiZSBlbXB0eSwgYW5kIAorbmVpdGhlciB0aGUgZmlyc3Qgbm9yIGxhc3Qgbm9uLWJsYW5rCitjaGFyYWN0ZXIgb2YgdGhlIHJlcGxhY2VtZW50IHRleHQgc2hvdWxkIGJlIGEgY29ubmVjdG9yIAorKDxjb2RlPnw8L2NvZGU+IG9yIDxjb2RlPiw8L2NvZGU+KS4KKzwvcD4KKzwvdmNub3RlPgorPHA+RXhhbXBsZXMgb2YgZWxlbWVudC1jb250ZW50IG1vZGVsczoKKzxlZz4mbHQ7IUVMRU1FTlQgc3BlYyAoZnJvbnQsIGJvZHksIGJhY2s/KT4KKyZsdDshRUxFTUVOVCBkaXYxIChoZWFkLCAocCB8IGxpc3QgfCBub3RlKSosIGRpdjIqKT4KKyZsdDshRUxFTUVOVCBkaWN0aW9uYXJ5LWJvZHkgKCVkaXYubWl4OyB8ICVkaWN0Lm1peDspKj48L2VnPjwvcD4KKzwvZGl2Mz4KKworPGRpdjMgaWQ9J3NlYy1taXhlZC1jb250ZW50Jz4KKzxoZWFkPk1peGVkIENvbnRlbnQ8L2hlYWQ+CisgCis8cD48dGVybWRlZiBpZD0nZHQtbWl4ZWQnIHRlcm09J01peGVkIENvbnRlbnQnPkFuIGVsZW1lbnQgCis8dGVybXJlZiBkZWY9J2R0LXN0YWcnPnR5cGU8L3Rlcm1yZWY+IGhhcyAKKzx0ZXJtPm1peGVkIGNvbnRlbnQ8L3Rlcm0+IHdoZW4gZWxlbWVudHMgb2YgdGhhdCB0eXBlIG1heSBjb250YWluCitjaGFyYWN0ZXIgZGF0YSwgb3B0aW9uYWxseSBpbnRlcnNwZXJzZWQgd2l0aAorPHRlcm1yZWYgZGVmPSJkdC1wYXJlbnRjaGlsZCI+Y2hpbGQ8L3Rlcm1yZWY+IGVsZW1lbnRzLjwvdGVybWRlZj4KK0luIHRoaXMgY2FzZSwgdGhlIHR5cGVzIG9mIHRoZSBjaGlsZCBlbGVtZW50cworbWF5IGJlIGNvbnN0cmFpbmVkLCBidXQgbm90IHRoZWlyIG9yZGVyIG9yIHRoZWlyIG51bWJlciBvZiBvY2N1cnJlbmNlczoKKzxzY3JhcCBsYW5nPSdlYm5mJz4KKzxoZWFkPk1peGVkLWNvbnRlbnQgRGVjbGFyYXRpb248L2hlYWQ+Cis8cHJvZGdyb3VwIHBjdzI9IjUuNSIgcGN3ND0iMTYiIHBjdzU9IjExIj4KKzxwcm9kIGlkPSdOVC1NaXhlZCc+PGxocz5NaXhlZDwvbGhzPgorPHJocz4nKCcgPG50IGRlZj0nTlQtUyc+UzwvbnQ+PyAKKycjUENEQVRBJworKDxudCBkZWY9J05ULVMnPlM8L250Pj8gCisnfCcgCis8bnQgZGVmPSdOVC1TJz5TPC9udD4/IAorPG50IGRlZj0nTlQtTmFtZSc+TmFtZTwvbnQ+KSogCis8bnQgZGVmPSdOVC1TJz5TPC9udD4/IAorJykqJyA8L3Jocz4KKzxyaHM+fCAnKCcgPG50IGRlZj0nTlQtUyc+UzwvbnQ+PyAnI1BDREFUQScgPG50IGRlZj0nTlQtUyc+UzwvbnQ+PyAnKScKKzwvcmhzPjx2YyBkZWY9J3ZjLVBFaW5Hcm91cCcvPgorPHZjIGRlZj0ndmMtTWl4ZWRDaGlsZHJlblVuaXF1ZScvPgorPC9wcm9kPgorCis8L3Byb2Rncm91cD4KKzwvc2NyYXA+Cit3aGVyZSB0aGUgPG50IGRlZj0nTlQtTmFtZSc+TmFtZTwvbnQ+cyBnaXZlIHRoZSB0eXBlcyBvZiBlbGVtZW50cwordGhhdCBtYXkgYXBwZWFyIGFzIGNoaWxkcmVuLgorPC9wPgorPHZjbm90ZSBpZD0ndmMtTWl4ZWRDaGlsZHJlblVuaXF1ZSc+Cis8aGVhZD5ObyBEdXBsaWNhdGUgVHlwZXM8L2hlYWQ+Cis8cD5UaGUgc2FtZSBuYW1lIG11c3Qgbm90IGFwcGVhciBtb3JlIHRoYW4gb25jZSBpbiBhIHNpbmdsZSBtaXhlZC1jb250ZW50CitkZWNsYXJhdGlvbi4KKzwvcD48L3Zjbm90ZT4KKzxwPkV4YW1wbGVzIG9mIG1peGVkIGNvbnRlbnQgZGVjbGFyYXRpb25zOgorPGVnPiZsdDshRUxFTUVOVCBwICgjUENEQVRBfGF8dWx8YnxpfGVtKSo+CismbHQ7IUVMRU1FTlQgcCAoI1BDREFUQSB8ICVmb250OyB8ICVwaHJhc2U7IHwgJXNwZWNpYWw7IHwgJWZvcm07KSogPgorJmx0OyFFTEVNRU5UIGIgKCNQQ0RBVEEpPjwvZWc+PC9wPgorPC9kaXYzPgorPC9kaXYyPgorIAorPGRpdjIgaWQ9J2F0dGRlY2xzJz4KKzxoZWFkPkF0dHJpYnV0ZS1MaXN0IERlY2xhcmF0aW9uczwvaGVhZD4KKyAKKzxwPjx0ZXJtcmVmIGRlZj0iZHQtYXR0ciI+QXR0cmlidXRlczwvdGVybXJlZj4gYXJlIHVzZWQgdG8gYXNzb2NpYXRlCituYW1lLXZhbHVlIHBhaXJzIHdpdGggPHRlcm1yZWYgZGVmPSJkdC1lbGVtZW50Ij5lbGVtZW50czwvdGVybXJlZj4uCitBdHRyaWJ1dGUgc3BlY2lmaWNhdGlvbnMgbWF5IGFwcGVhciBvbmx5IHdpdGhpbiA8dGVybXJlZgorZGVmPSJkdC1zdGFnIj5zdGFydC10YWdzPC90ZXJtcmVmPgorYW5kIDx0ZXJtcmVmIGRlZj0iZHQtZWV0YWciPmVtcHR5LWVsZW1lbnQgdGFnczwvdGVybXJlZj47IAordGh1cywgdGhlIHByb2R1Y3Rpb25zIHVzZWQgdG8KK3JlY29nbml6ZSB0aGVtIGFwcGVhciBpbiA8c3BlY3JlZiByZWY9J3NlYy1zdGFydHRhZ3MnLz4uICAKK0F0dHJpYnV0ZS1saXN0CitkZWNsYXJhdGlvbnMgbWF5IGJlIHVzZWQ6Cis8dWxpc3Q+Cis8aXRlbT48cD5UbyBkZWZpbmUgdGhlIHNldCBvZiBhdHRyaWJ1dGVzIHBlcnRhaW5pbmcgdG8gYSBnaXZlbgorZWxlbWVudCB0eXBlLjwvcD48L2l0ZW0+Cis8aXRlbT48cD5UbyBlc3RhYmxpc2ggdHlwZSBjb25zdHJhaW50cyBmb3IgdGhlc2UKK2F0dHJpYnV0ZXMuPC9wPjwvaXRlbT4KKzxpdGVtPjxwPlRvIHByb3ZpZGUgPHRlcm1yZWYgZGVmPSJkdC1kZWZhdWx0Ij5kZWZhdWx0IHZhbHVlczwvdGVybXJlZj4KK2ZvciBhdHRyaWJ1dGVzLjwvcD48L2l0ZW0+Cis8L3VsaXN0PgorPC9wPgorPHA+PHRlcm1kZWYgaWQ9ImR0LWF0dGRlY2wiIHRlcm09IkF0dHJpYnV0ZS1MaXN0IERlY2xhcmF0aW9uIj4KKzx0ZXJtPkF0dHJpYnV0ZS1saXN0IGRlY2xhcmF0aW9uczwvdGVybT4gc3BlY2lmeSB0aGUgbmFtZSwgZGF0YSB0eXBlLCBhbmQgZGVmYXVsdAordmFsdWUgKGlmIGFueSkgb2YgZWFjaCBhdHRyaWJ1dGUgYXNzb2NpYXRlZCB3aXRoIGEgZ2l2ZW4gZWxlbWVudCB0eXBlOgorPHNjcmFwIGxhbmc9J2VibmYnPgorPGhlYWQ+QXR0cmlidXRlLWxpc3QgRGVjbGFyYXRpb248L2hlYWQ+Cis8cHJvZCBpZD0nTlQtQXR0bGlzdERlY2wnPjxsaHM+QXR0bGlzdERlY2w8L2xocz4KKzxyaHM+JyZsdDshQVRUTElTVCcgPG50IGRlZj0nTlQtUyc+UzwvbnQ+IAorPG50IGRlZj0nTlQtTmFtZSc+TmFtZTwvbnQ+IAorPG50IGRlZj0nTlQtQXR0RGVmJz5BdHREZWY8L250PioKKzxudCBkZWY9J05ULVMnPlM8L250Pj8gJyZndDsnPC9yaHM+Cis8L3Byb2Q+Cis8cHJvZCBpZD0nTlQtQXR0RGVmJz48bGhzPkF0dERlZjwvbGhzPgorPHJocz48bnQgZGVmPSdOVC1TJz5TPC9udD4gPG50IGRlZj0nTlQtTmFtZSc+TmFtZTwvbnQ+IAorPG50IGRlZj0nTlQtUyc+UzwvbnQ+IDxudCBkZWY9J05ULUF0dFR5cGUnPkF0dFR5cGU8L250PiAKKzxudCBkZWY9J05ULVMnPlM8L250PiA8bnQgZGVmPSdOVC1EZWZhdWx0RGVjbCc+RGVmYXVsdERlY2w8L250PjwvcmhzPgorPC9wcm9kPgorPC9zY3JhcD4KK1RoZSA8bnQgZGVmPSJOVC1OYW1lIj5OYW1lPC9udD4gaW4gdGhlCis8bnQgZGVmPSdOVC1BdHRsaXN0RGVjbCc+QXR0bGlzdERlY2w8L250PiBydWxlIGlzIHRoZSB0eXBlIG9mIGFuIGVsZW1lbnQuICBBdAordXNlciBvcHRpb24sIGFuIFhNTCBwcm9jZXNzb3IgbWF5IGlzc3VlIGEgd2FybmluZyBpZiBhdHRyaWJ1dGVzIGFyZQorZGVjbGFyZWQgZm9yIGFuIGVsZW1lbnQgdHlwZSBub3QgaXRzZWxmIGRlY2xhcmVkLCBidXQgdGhpcyBpcyBub3QgYW4KK2Vycm9yLiAgVGhlIDxudCBkZWY9J05ULU5hbWUnPk5hbWU8L250PiBpbiB0aGUgCis8bnQgZGVmPSdOVC1BdHREZWYnPkF0dERlZjwvbnQ+IHJ1bGUgaXMKK3RoZSBuYW1lIG9mIHRoZSBhdHRyaWJ1dGUuPC90ZXJtZGVmPjwvcD4KKzxwPgorV2hlbiBtb3JlIHRoYW4gb25lIDxudCBkZWY9J05ULUF0dGxpc3REZWNsJz5BdHRsaXN0RGVjbDwvbnQ+IGlzIHByb3ZpZGVkIGZvciBhCitnaXZlbiBlbGVtZW50IHR5cGUsIHRoZSBjb250ZW50cyBvZiBhbGwgdGhvc2UgcHJvdmlkZWQgYXJlIG1lcmdlZC4gIFdoZW4KK21vcmUgdGhhbiBvbmUgZGVmaW5pdGlvbiBpcyBwcm92aWRlZCBmb3IgdGhlIHNhbWUgYXR0cmlidXRlIG9mIGEKK2dpdmVuIGVsZW1lbnQgdHlwZSwgdGhlIGZpcnN0IGRlY2xhcmF0aW9uIGlzIGJpbmRpbmcgYW5kIGxhdGVyCitkZWNsYXJhdGlvbnMgYXJlIGlnbm9yZWQuICAKKzx0ZXJtcmVmIGRlZj0nZHQtaW50ZXJvcCc+Rm9yIGludGVyb3BlcmFiaWxpdHksPC90ZXJtcmVmPiB3cml0ZXJzIG9mIERURHMKK21heSBjaG9vc2UgdG8gcHJvdmlkZSBhdCBtb3N0IG9uZSBhdHRyaWJ1dGUtbGlzdCBkZWNsYXJhdGlvbgorZm9yIGEgZ2l2ZW4gZWxlbWVudCB0eXBlLCBhdCBtb3N0IG9uZSBhdHRyaWJ1dGUgZGVmaW5pdGlvbgorZm9yIGEgZ2l2ZW4gYXR0cmlidXRlIG5hbWUsIGFuZCBhdCBsZWFzdCBvbmUgYXR0cmlidXRlIGRlZmluaXRpb24KK2luIGVhY2ggYXR0cmlidXRlLWxpc3QgZGVjbGFyYXRpb24uCitGb3IgaW50ZXJvcGVyYWJpbGl0eSwgYW4gWE1MIHByb2Nlc3NvciBtYXkgYXQgdXNlciBvcHRpb24KK2lzc3VlIGEgd2FybmluZyB3aGVuIG1vcmUgdGhhbiBvbmUgYXR0cmlidXRlLWxpc3QgZGVjbGFyYXRpb24gaXMKK3Byb3ZpZGVkIGZvciBhIGdpdmVuIGVsZW1lbnQgdHlwZSwgb3IgbW9yZSB0aGFuIG9uZSBhdHRyaWJ1dGUgZGVmaW5pdGlvbgoraXMgcHJvdmlkZWQgCitmb3IgYSBnaXZlbiBhdHRyaWJ1dGUsIGJ1dCB0aGlzIGlzIG5vdCBhbiBlcnJvci4KKzwvcD4KKworPGRpdjMgaWQ9J3NlYy1hdHRyaWJ1dGUtdHlwZXMnPgorPGhlYWQ+QXR0cmlidXRlIFR5cGVzPC9oZWFkPgorIAorPHA+WE1MIGF0dHJpYnV0ZSB0eXBlcyBhcmUgb2YgdGhyZWUga2luZHM6ICBhIHN0cmluZyB0eXBlLCBhCitzZXQgb2YgdG9rZW5pemVkIHR5cGVzLCBhbmQgZW51bWVyYXRlZCB0eXBlcy4gIFRoZSBzdHJpbmcgdHlwZSBtYXkgdGFrZQorYW55IGxpdGVyYWwgc3RyaW5nIGFzIGEgdmFsdWU7IHRoZSB0b2tlbml6ZWQgdHlwZXMgaGF2ZSB2YXJ5aW5nIGxleGljYWwKK2FuZCBzZW1hbnRpYyBjb25zdHJhaW50cywgYXMgbm90ZWQ6Cis8c2NyYXAgbGFuZz0nZWJuZic+Cis8aGVhZD5BdHRyaWJ1dGUgVHlwZXM8L2hlYWQ+Cis8cHJvZGdyb3VwIHBjdzQ9IjE0IiBwY3c1PSIxMS41Ij4KKzxwcm9kIGlkPSdOVC1BdHRUeXBlJz48bGhzPkF0dFR5cGU8L2xocz4KKzxyaHM+PG50IGRlZj0nTlQtU3RyaW5nVHlwZSc+U3RyaW5nVHlwZTwvbnQ+IAorfCA8bnQgZGVmPSdOVC1Ub2tlbml6ZWRUeXBlJz5Ub2tlbml6ZWRUeXBlPC9udD4gCit8IDxudCBkZWY9J05ULUVudW1lcmF0ZWRUeXBlJz5FbnVtZXJhdGVkVHlwZTwvbnQ+Cis8L3Jocz4KKzwvcHJvZD4KKzxwcm9kIGlkPSdOVC1TdHJpbmdUeXBlJz48bGhzPlN0cmluZ1R5cGU8L2xocz4KKzxyaHM+J0NEQVRBJzwvcmhzPgorPC9wcm9kPgorPHByb2QgaWQ9J05ULVRva2VuaXplZFR5cGUnPjxsaHM+VG9rZW5pemVkVHlwZTwvbGhzPgorPHJocz4nSUQnPC9yaHM+Cis8dmMgZGVmPSdpZCcvPgorPHZjIGRlZj0nb25lLWlkLXBlci1lbCcvPgorPHZjIGRlZj0naWQtZGVmYXVsdCcvPgorPHJocz58ICdJRFJFRic8L3Jocz4KKzx2YyBkZWY9J2lkcmVmJy8+Cis8cmhzPnwgJ0lEUkVGUyc8L3Jocz4KKzx2YyBkZWY9J2lkcmVmJy8+Cis8cmhzPnwgJ0VOVElUWSc8L3Jocz4KKzx2YyBkZWY9J2VudG5hbWUnLz4KKzxyaHM+fCAnRU5USVRJRVMnPC9yaHM+Cis8dmMgZGVmPSdlbnRuYW1lJy8+Cis8cmhzPnwgJ05NVE9LRU4nPC9yaHM+Cis8dmMgZGVmPSdubXRvaycvPgorPHJocz58ICdOTVRPS0VOUyc8L3Jocz4KKzx2YyBkZWY9J25tdG9rJy8+PC9wcm9kPgorPC9wcm9kZ3JvdXA+Cis8L3NjcmFwPgorPC9wPgorPHZjbm90ZSBpZD0naWQnID4KKzxoZWFkPklEPC9oZWFkPgorPHA+CitWYWx1ZXMgb2YgdHlwZSA8a3c+SUQ8L2t3PiBtdXN0IG1hdGNoIHRoZSAKKzxudCBkZWY9J05ULU5hbWUnPk5hbWU8L250PiBwcm9kdWN0aW9uLiAgCitBIG5hbWUgbXVzdCBub3QgYXBwZWFyIG1vcmUgdGhhbiBvbmNlIGluCithbiBYTUwgZG9jdW1lbnQgYXMgYSB2YWx1ZSBvZiB0aGlzIHR5cGU7IGkuZS4sIElEIHZhbHVlcyBtdXN0IHVuaXF1ZWx5CitpZGVudGlmeSB0aGUgZWxlbWVudHMgd2hpY2ggYmVhciB0aGVtLiAgIAorPC9wPgorPC92Y25vdGU+Cis8dmNub3RlIGlkPSdvbmUtaWQtcGVyLWVsJz4KKzxoZWFkPk9uZSBJRCBwZXIgRWxlbWVudCBUeXBlPC9oZWFkPgorPHA+Tm8gZWxlbWVudCB0eXBlIG1heSBoYXZlIG1vcmUgdGhhbiBvbmUgSUQgYXR0cmlidXRlIHNwZWNpZmllZC48L3A+Cis8L3Zjbm90ZT4KKzx2Y25vdGUgaWQ9J2lkLWRlZmF1bHQnPgorPGhlYWQ+SUQgQXR0cmlidXRlIERlZmF1bHQ8L2hlYWQ+Cis8cD5BbiBJRCBhdHRyaWJ1dGUgbXVzdCBoYXZlIGEgZGVjbGFyZWQgZGVmYXVsdCBvZiA8a3c+I0lNUExJRUQ8L2t3PiBvcgorPGt3PiNSRVFVSVJFRDwva3c+LjwvcD4KKzwvdmNub3RlPgorPHZjbm90ZSBpZD0naWRyZWYnPgorPGhlYWQ+SURSRUY8L2hlYWQ+Cis8cD4KK1ZhbHVlcyBvZiB0eXBlIDxrdz5JRFJFRjwva3c+IG11c3QgbWF0Y2gKK3RoZSA8bnQgZGVmPSJOVC1OYW1lIj5OYW1lPC9udD4gcHJvZHVjdGlvbiwgYW5kCit2YWx1ZXMgb2YgdHlwZSA8a3c+SURSRUZTPC9rdz4gbXVzdCBtYXRjaAorPG50IGRlZj0iTlQtTmFtZXMiPk5hbWVzPC9udD47IAorZWFjaCA8bnQgZGVmPSdOVC1OYW1lJz5OYW1lPC9udD4gbXVzdCBtYXRjaCB0aGUgdmFsdWUgb2YgYW4gSUQgYXR0cmlidXRlIG9uIAorc29tZSBlbGVtZW50IGluIHRoZSBYTUwgZG9jdW1lbnQ7IGkuZS4gPGt3PklEUkVGPC9rdz4gdmFsdWVzIG11c3QgCittYXRjaCB0aGUgdmFsdWUgb2Ygc29tZSBJRCBhdHRyaWJ1dGUuIAorPC9wPgorPC92Y25vdGU+Cis8dmNub3RlIGlkPSdlbnRuYW1lJz4KKzxoZWFkPkVudGl0eSBOYW1lPC9oZWFkPgorPHA+CitWYWx1ZXMgb2YgdHlwZSA8a3c+RU5USVRZPC9rdz4gCittdXN0IG1hdGNoIHRoZSA8bnQgZGVmPSJOVC1OYW1lIj5OYW1lPC9udD4gcHJvZHVjdGlvbiwKK3ZhbHVlcyBvZiB0eXBlIDxrdz5FTlRJVElFUzwva3c+IG11c3QgbWF0Y2gKKzxudCBkZWY9Ik5ULU5hbWVzIj5OYW1lczwvbnQ+OworZWFjaCA8bnQgZGVmPSJOVC1OYW1lIj5OYW1lPC9udD4gbXVzdCAKK21hdGNoIHRoZQorbmFtZSBvZiBhbiA8dGVybXJlZiBkZWY9ImR0LXVucGFyc2VkIj51bnBhcnNlZCBlbnRpdHk8L3Rlcm1yZWY+IGRlY2xhcmVkIGluIHRoZQorPHRlcm1yZWYgZGVmPSJkdC1kb2N0eXBlIj5EVEQ8L3Rlcm1yZWY+LgorPC9wPgorPC92Y25vdGU+Cis8dmNub3RlIGlkPSdubXRvayc+Cis8aGVhZD5OYW1lIFRva2VuPC9oZWFkPgorPHA+CitWYWx1ZXMgb2YgdHlwZSA8a3c+Tk1UT0tFTjwva3c+IG11c3QgbWF0Y2ggdGhlCis8bnQgZGVmPSJOVC1ObXRva2VuIj5ObXRva2VuPC9udD4gcHJvZHVjdGlvbjsKK3ZhbHVlcyBvZiB0eXBlIDxrdz5OTVRPS0VOUzwva3c+IG11c3QgCittYXRjaCA8dGVybXJlZiBkZWY9Ik5ULU5tdG9rZW5zIj5ObXRva2VuczwvdGVybXJlZj4uCis8L3A+Cis8L3Zjbm90ZT4KKzwhLS0gd2h5PworPHA+VGhlIFhNTCBwcm9jZXNzb3IgbXVzdCBub3JtYWxpemUgYXR0cmlidXRlIHZhbHVlcyBiZWZvcmUKK3Bhc3NpbmcgdGhlbSB0byB0aGUgYXBwbGljYXRpb24sIGFzIGRlc2NyaWJlZCBpbiAKKzxzcGVjcmVmIHJlZj0iQVZOb3JtYWxpemUiLz4uPC9wPi0tPgorPHA+PHRlcm1kZWYgaWQ9J2R0LWVudW1lcmF0ZWQnIHRlcm09J0VudW1lcmF0ZWQgQXR0cmlidXRlCitWYWx1ZXMnPjx0ZXJtPkVudW1lcmF0ZWQgYXR0cmlidXRlczwvdGVybT4gY2FuIHRha2Ugb25lIAorb2YgYSBsaXN0IG9mIHZhbHVlcyBwcm92aWRlZCBpbiB0aGUgZGVjbGFyYXRpb248L3Rlcm1kZWY+LiBUaGVyZSBhcmUgdHdvCitraW5kcyBvZiBlbnVtZXJhdGVkIHR5cGVzOgorPHNjcmFwIGxhbmc9J2VibmYnPgorPGhlYWQ+RW51bWVyYXRlZCBBdHRyaWJ1dGUgVHlwZXM8L2hlYWQ+Cis8cHJvZCBpZD0nTlQtRW51bWVyYXRlZFR5cGUnPjxsaHM+RW51bWVyYXRlZFR5cGU8L2xocz4gCis8cmhzPjxudCBkZWY9J05ULU5vdGF0aW9uVHlwZSc+Tm90YXRpb25UeXBlPC9udD4gCit8IDxudCBkZWY9J05ULUVudW1lcmF0aW9uJz5FbnVtZXJhdGlvbjwvbnQ+Cis8L3Jocz48L3Byb2Q+Cis8cHJvZCBpZD0nTlQtTm90YXRpb25UeXBlJz48bGhzPk5vdGF0aW9uVHlwZTwvbGhzPiAKKzxyaHM+J05PVEFUSU9OJyAKKzxudCBkZWY9J05ULVMnPlM8L250PiAKKycoJyAKKzxudCBkZWY9J05ULVMnPlM8L250Pj8gIAorPG50IGRlZj0nTlQtTmFtZSc+TmFtZTwvbnQ+IAorKDxudCBkZWY9J05ULVMnPlM8L250Pj8gJ3wnIDxudCBkZWY9J05ULVMnPlM8L250Pj8gIAorPG50IGRlZj0nTlQtTmFtZSc+TmFtZTwvbnQ+KSoKKzxudCBkZWY9J05ULVMnPlM8L250Pj8gJyknCis8L3Jocz4KKzx2YyBkZWY9J25vdGF0bicgLz48L3Byb2Q+Cis8cHJvZCBpZD0nTlQtRW51bWVyYXRpb24nPjxsaHM+RW51bWVyYXRpb248L2xocz4gCis8cmhzPicoJyA8bnQgZGVmPSdOVC1TJz5TPC9udD4/Cis8bnQgZGVmPSdOVC1ObXRva2VuJz5ObXRva2VuPC9udD4gCisoPG50IGRlZj0nTlQtUyc+UzwvbnQ+PyAnfCcgCis8bnQgZGVmPSdOVC1TJz5TPC9udD4/ICAKKzxudCBkZWY9J05ULU5tdG9rZW4nPk5tdG9rZW48L250PikqIAorPG50IGRlZj0nTlQtUyc+UzwvbnQ+PyAKKycpJzwvcmhzPiAKKzx2YyBkZWY9J2VudW0nLz48L3Byb2Q+Cis8L3NjcmFwPgorQSA8a3c+Tk9UQVRJT048L2t3PiBhdHRyaWJ1dGUgaWRlbnRpZmllcyBhIAorPHRlcm1yZWYgZGVmPSdkdC1ub3RhdGlvbic+bm90YXRpb248L3Rlcm1yZWY+LCBkZWNsYXJlZCBpbiB0aGUgCitEVEQgd2l0aCBhc3NvY2lhdGVkIHN5c3RlbSBhbmQvb3IgcHVibGljIGlkZW50aWZpZXJzLCB0bworYmUgdXNlZCBpbiBpbnRlcnByZXRpbmcgdGhlIGVsZW1lbnQgdG8gd2hpY2ggdGhlIGF0dHJpYnV0ZQoraXMgYXR0YWNoZWQuCis8L3A+CisKKzx2Y25vdGUgaWQ9J25vdGF0bic+Cis8aGVhZD5Ob3RhdGlvbiBBdHRyaWJ1dGVzPC9oZWFkPgorPHA+CitWYWx1ZXMgb2YgdGhpcyB0eXBlIG11c3QgbWF0Y2gKK29uZSBvZiB0aGUgPHRpdGxlcmVmIGhyZWY9J05vdGF0aW9ucyc+bm90YXRpb248L3RpdGxlcmVmPiBuYW1lcyBpbmNsdWRlZCBpbgordGhlIGRlY2xhcmF0aW9uOyBhbGwgbm90YXRpb24gbmFtZXMgaW4gdGhlIGRlY2xhcmF0aW9uIG11c3QKK2JlIGRlY2xhcmVkLgorPC9wPgorPC92Y25vdGU+Cis8dmNub3RlIGlkPSdlbnVtJz4KKzxoZWFkPkVudW1lcmF0aW9uPC9oZWFkPgorPHA+CitWYWx1ZXMgb2YgdGhpcyB0eXBlCittdXN0IG1hdGNoIG9uZSBvZiB0aGUgPG50IGRlZj0nTlQtTm10b2tlbic+Tm10b2tlbjwvbnQ+IHRva2VucyBpbiB0aGUKK2RlY2xhcmF0aW9uLiAKKzwvcD4KKzwvdmNub3RlPgorPHA+PHRlcm1yZWYgZGVmPSdkdC1pbnRlcm9wJz5Gb3IgaW50ZXJvcGVyYWJpbGl0eSw8L3Rlcm1yZWY+IHRoZSBzYW1lCis8bnQgZGVmPSdOVC1ObXRva2VuJz5ObXRva2VuPC9udD4gc2hvdWxkIG5vdCBvY2N1ciBtb3JlIHRoYW4gb25jZSBpbiB0aGUKK2VudW1lcmF0ZWQgYXR0cmlidXRlIHR5cGVzIG9mIGEgc2luZ2xlIGVsZW1lbnQgdHlwZS4KKzwvcD4KKzwvZGl2Mz4KKworPGRpdjMgaWQ9J3NlYy1hdHRyLWRlZmF1bHRzJz4KKzxoZWFkPkF0dHJpYnV0ZSBEZWZhdWx0czwvaGVhZD4KKyAKKzxwPkFuIDx0ZXJtcmVmIGRlZj0iZHQtYXR0ZGVjbCI+YXR0cmlidXRlIGRlY2xhcmF0aW9uPC90ZXJtcmVmPiBwcm92aWRlcworaW5mb3JtYXRpb24gb24gd2hldGhlcgordGhlIGF0dHJpYnV0ZSdzIHByZXNlbmNlIGlzIHJlcXVpcmVkLCBhbmQgaWYgbm90LCBob3cgYW4gWE1MIHByb2Nlc3NvciBzaG91bGQKK3JlYWN0IGlmIGEgZGVjbGFyZWQgYXR0cmlidXRlIGlzIGFic2VudCBpbiBhIGRvY3VtZW50LgorPHNjcmFwIGxhbmc9J2VibmYnPgorPGhlYWQ+QXR0cmlidXRlIERlZmF1bHRzPC9oZWFkPgorPHByb2Rncm91cCBwY3c0PSIxNCIgcGN3NT0iMTEuNSI+Cis8cHJvZCBpZD0nTlQtRGVmYXVsdERlY2wnPjxsaHM+RGVmYXVsdERlY2w8L2xocz4KKzxyaHM+JyNSRVFVSVJFRCcgCit8Jm5ic3A7JyNJTVBMSUVEJyA8L3Jocz4KKzxyaHM+fCAoKCcjRklYRUQnIFMpPyA8bnQgZGVmPSdOVC1BdHRWYWx1ZSc+QXR0VmFsdWU8L250Pik8L3Jocz4KKzx2YyBkZWY9J1JlcXVpcmVkQXR0cicvPgorPHZjIGRlZj0nZGVmYXR0cnZhbGlkJy8+Cis8d2ZjIGRlZj0iQ2xlYW5BdHRyVmFscyIvPgorPHZjIGRlZj0nRml4ZWRBdHRyJy8+Cis8L3Byb2Q+Cis8L3Byb2Rncm91cD4KKzwvc2NyYXA+CisKKzwvcD4KKzxwPkluIGFuIGF0dHJpYnV0ZSBkZWNsYXJhdGlvbiwgPGt3PiNSRVFVSVJFRDwva3c+IG1lYW5zIHRoYXQgdGhlCithdHRyaWJ1dGUgbXVzdCBhbHdheXMgYmUgcHJvdmlkZWQsIDxrdz4jSU1QTElFRDwva3c+IHRoYXQgbm8gZGVmYXVsdCAKK3ZhbHVlIGlzIHByb3ZpZGVkLgorPCEtLSBub3QgYW55IG1vcmUhIQorPGt3PiNJTVBMSUVEPC9rdz4gbWVhbnMgdGhhdCBpZiB0aGUgYXR0cmlidXRlIGlzIG9taXR0ZWQKK2Zyb20gYW4gZWxlbWVudCBvZiB0aGlzIHR5cGUsCit0aGUgWE1MIHByb2Nlc3NvciBtdXN0IGluZm9ybSB0aGUgYXBwbGljYXRpb24KK3RoYXQgbm8gdmFsdWUgd2FzIHNwZWNpZmllZDsgbm8gY29uc3RyYWludCBpcyBwbGFjZWQgb24gdGhlIGJlaGF2aW9yCitvZiB0aGUgYXBwbGljYXRpb24uIC0tPgorPHRlcm1kZWYgaWQ9ImR0LWRlZmF1bHQiIHRlcm09IkF0dHJpYnV0ZSBEZWZhdWx0Ij5JZiB0aGUgCitkZWNsYXJhdGlvbgoraXMgbmVpdGhlciA8a3c+I1JFUVVJUkVEPC9rdz4gbm9yIDxrdz4jSU1QTElFRDwva3c+LCB0aGVuIHRoZQorPG50IGRlZj0nTlQtQXR0VmFsdWUnPkF0dFZhbHVlPC9udD4gdmFsdWUgY29udGFpbnMgdGhlIGRlY2xhcmVkCis8dGVybT5kZWZhdWx0PC90ZXJtPiB2YWx1ZTsgdGhlIDxrdz4jRklYRUQ8L2t3PiBrZXl3b3JkIHN0YXRlcyB0aGF0Cit0aGUgYXR0cmlidXRlIG11c3QgYWx3YXlzIGhhdmUgdGhlIGRlZmF1bHQgdmFsdWUuCitJZiBhIGRlZmF1bHQgdmFsdWUKK2lzIGRlY2xhcmVkLCB3aGVuIGFuIFhNTCBwcm9jZXNzb3IgZW5jb3VudGVycyBhbiBvbWl0dGVkIGF0dHJpYnV0ZSwgaXQKK2lzIHRvIGJlaGF2ZSBhcyB0aG91Z2ggdGhlIGF0dHJpYnV0ZSB3ZXJlIHByZXNlbnQgd2l0aCAKK3RoZSBkZWNsYXJlZCBkZWZhdWx0IHZhbHVlLjwvdGVybWRlZj48L3A+Cis8dmNub3RlIGlkPSdSZXF1aXJlZEF0dHInPgorPGhlYWQ+UmVxdWlyZWQgQXR0cmlidXRlPC9oZWFkPgorPHA+SWYgdGhlIGRlZmF1bHQgZGVjbGFyYXRpb24gaXMgdGhlIGtleXdvcmQgPGt3PiNSRVFVSVJFRDwva3c+LCB0aGVuCit0aGUgYXR0cmlidXRlIG11c3QgYmUgc3BlY2lmaWVkIGZvcgorYWxsIGVsZW1lbnRzIG9mIHRoZSB0eXBlIGluIHRoZSBhdHRyaWJ1dGUtbGlzdCBkZWNsYXJhdGlvbi4KKzwvcD48L3Zjbm90ZT4KKzx2Y25vdGUgaWQ9J2RlZmF0dHJ2YWxpZCc+Cis8aGVhZD5BdHRyaWJ1dGUgRGVmYXVsdCBMZWdhbDwvaGVhZD4KKzxwPgorVGhlIGRlY2xhcmVkCitkZWZhdWx0IHZhbHVlIG11c3QgbWVldCB0aGUgbGV4aWNhbCBjb25zdHJhaW50cyBvZiB0aGUgZGVjbGFyZWQgYXR0cmlidXRlIHR5cGUuCis8L3A+Cis8L3Zjbm90ZT4KKzx2Y25vdGUgaWQ9J0ZpeGVkQXR0cic+Cis8aGVhZD5GaXhlZCBBdHRyaWJ1dGUgRGVmYXVsdDwvaGVhZD4KKzxwPklmIGFuIGF0dHJpYnV0ZSBoYXMgYSBkZWZhdWx0IHZhbHVlIGRlY2xhcmVkIHdpdGggdGhlIAorPGt3PiNGSVhFRDwva3c+IGtleXdvcmQsIGluc3RhbmNlcyBvZiB0aGF0IGF0dHJpYnV0ZSBtdXN0CittYXRjaCB0aGUgZGVmYXVsdCB2YWx1ZS4KKzwvcD48L3Zjbm90ZT4KKworPHA+RXhhbXBsZXMgb2YgYXR0cmlidXRlLWxpc3QgZGVjbGFyYXRpb25zOgorPGVnPiZsdDshQVRUTElTVCB0ZXJtZGVmCisgICAgICAgICAgaWQgICAgICBJRCAgICAgICNSRVFVSVJFRAorICAgICAgICAgIG5hbWUgICAgQ0RBVEEgICAjSU1QTElFRD4KKyZsdDshQVRUTElTVCBsaXN0CisgICAgICAgICAgdHlwZSAgICAoYnVsbGV0c3xvcmRlcmVkfGdsb3NzYXJ5KSAgIm9yZGVyZWQiPgorJmx0OyFBVFRMSVNUIGZvcm0KKyAgICAgICAgICBtZXRob2QgIENEQVRBICAgI0ZJWEVEICJQT1NUIj48L2VnPjwvcD4KKzwvZGl2Mz4KKzxkaXYzIGlkPSdBVk5vcm1hbGl6ZSc+Cis8aGVhZD5BdHRyaWJ1dGUtVmFsdWUgTm9ybWFsaXphdGlvbjwvaGVhZD4KKzxwPkJlZm9yZSB0aGUgdmFsdWUgb2YgYW4gYXR0cmlidXRlIGlzIHBhc3NlZCB0byB0aGUgYXBwbGljYXRpb24KK29yIGNoZWNrZWQgZm9yIHZhbGlkaXR5LCB0aGUKK1hNTCBwcm9jZXNzb3IgbXVzdCBub3JtYWxpemUgaXQgYXMgZm9sbG93czoKKzx1bGlzdD4KKzxpdGVtPjxwPmEgY2hhcmFjdGVyIHJlZmVyZW5jZSBpcyBwcm9jZXNzZWQgYnkgYXBwZW5kaW5nIHRoZSByZWZlcmVuY2VkICAgIAorY2hhcmFjdGVyIHRvIHRoZSBhdHRyaWJ1dGUgdmFsdWU8L3A+PC9pdGVtPgorPGl0ZW0+PHA+YW4gZW50aXR5IHJlZmVyZW5jZSBpcyBwcm9jZXNzZWQgYnkgcmVjdXJzaXZlbHkgcHJvY2Vzc2luZyB0aGUKK3JlcGxhY2VtZW50IHRleHQgb2YgdGhlIGVudGl0eTwvcD48L2l0ZW0+Cis8aXRlbT48cD5hIHdoaXRlc3BhY2UgY2hhcmFjdGVyICgjeDIwLCAjeEQsICN4QSwgI3g5KSBpcyBwcm9jZXNzZWQgYnkKK2FwcGVuZGluZyAjeDIwIHRvIHRoZSBub3JtYWxpemVkIHZhbHVlLCBleGNlcHQgdGhhdCBvbmx5IGEgc2luZ2xlICN4MjAKK2lzIGFwcGVuZGVkIGZvciBhICIjeEQjeEEiIHNlcXVlbmNlIHRoYXQgaXMgcGFydCBvZiBhbiBleHRlcm5hbAorcGFyc2VkIGVudGl0eSBvciB0aGUgbGl0ZXJhbCBlbnRpdHkgdmFsdWUgb2YgYW4gaW50ZXJuYWwgcGFyc2VkCitlbnRpdHk8L3A+PC9pdGVtPgorPGl0ZW0+PHA+b3RoZXIgY2hhcmFjdGVycyBhcmUgcHJvY2Vzc2VkIGJ5IGFwcGVuZGluZyB0aGVtIHRvIHRoZSBub3JtYWxpemVkCit2YWx1ZTwvcD4KKzwvaXRlbT48L3VsaXN0PgorPC9wPgorPHA+SWYgdGhlIGRlY2xhcmVkIHZhbHVlIGlzIG5vdCBDREFUQSwgdGhlbiB0aGUgWE1MIHByb2Nlc3NvciBtdXN0CitmdXJ0aGVyIHByb2Nlc3MgdGhlIG5vcm1hbGl6ZWQgYXR0cmlidXRlIHZhbHVlIGJ5IGRpc2NhcmRpbmcgYW55CitsZWFkaW5nIGFuZCB0cmFpbGluZyBzcGFjZSAoI3gyMCkgY2hhcmFjdGVycywgYW5kIGJ5IHJlcGxhY2luZworc2VxdWVuY2VzIG9mIHNwYWNlICgjeDIwKSBjaGFyYWN0ZXJzIGJ5IGEgc2luZ2xlIHNwYWNlICgjeDIwKQorY2hhcmFjdGVyLjwvcD4KKzxwPgorQWxsIGF0dHJpYnV0ZXMgZm9yIHdoaWNoIG5vIGRlY2xhcmF0aW9uIGhhcyBiZWVuIHJlYWQgc2hvdWxkIGJlIHRyZWF0ZWQKK2J5IGEgbm9uLXZhbGlkYXRpbmcgcGFyc2VyIGFzIGlmIGRlY2xhcmVkCis8a3c+Q0RBVEE8L2t3Pi4KKzwvcD4KKzwvZGl2Mz4KKzwvZGl2Mj4KKzxkaXYyIGlkPSdzZWMtY29uZGl0aW9uLXNlY3QnPgorPGhlYWQ+Q29uZGl0aW9uYWwgU2VjdGlvbnM8L2hlYWQ+Cis8cD48dGVybWRlZiBpZD0nZHQtY29uZC1zZWN0aW9uJyB0ZXJtPSdjb25kaXRpb25hbCBzZWN0aW9uJz4KKzx0ZXJtPkNvbmRpdGlvbmFsIHNlY3Rpb25zPC90ZXJtPiBhcmUgcG9ydGlvbnMgb2YgdGhlCis8dGVybXJlZiBkZWY9J2R0LWRvY3R5cGUnPmRvY3VtZW50IHR5cGUgZGVjbGFyYXRpb24gZXh0ZXJuYWwgc3Vic2V0PC90ZXJtcmVmPgord2hpY2ggYXJlIAoraW5jbHVkZWQgaW4sIG9yIGV4Y2x1ZGVkIGZyb20sIHRoZSBsb2dpY2FsIHN0cnVjdHVyZSBvZiB0aGUgRFREIGJhc2VkIG9uCit0aGUga2V5d29yZCB3aGljaCBnb3Zlcm5zIHRoZW0uPC90ZXJtZGVmPgorPHNjcmFwIGxhbmc9J2VibmYnPgorPGhlYWQ+Q29uZGl0aW9uYWwgU2VjdGlvbjwvaGVhZD4KKzxwcm9kZ3JvdXAgcGN3Mj0iOSIgcGN3ND0iMTQuNSI+Cis8cHJvZCBpZD0nTlQtY29uZGl0aW9uYWxTZWN0Jz48bGhzPmNvbmRpdGlvbmFsU2VjdDwvbGhzPgorPHJocz48bnQgZGVmPSdOVC1pbmNsdWRlU2VjdCc+aW5jbHVkZVNlY3Q8L250PgorfCA8bnQgZGVmPSdOVC1pZ25vcmVTZWN0Jz5pZ25vcmVTZWN0PC9udD4KKzwvcmhzPgorPC9wcm9kPgorPHByb2QgaWQ9J05ULWluY2x1ZGVTZWN0Jz48bGhzPmluY2x1ZGVTZWN0PC9saHM+Cis8cmhzPicmbHQ7IVsnIFM/ICdJTkNMVURFJyBTPyAnWycgCisKKzxudCBkZWY9Ik5ULWV4dFN1YnNldERlY2wiPmV4dFN1YnNldERlY2w8L250PgorJ11dJmd0OycKKzwvcmhzPgorPC9wcm9kPgorPHByb2QgaWQ9J05ULWlnbm9yZVNlY3QnPjxsaHM+aWdub3JlU2VjdDwvbGhzPgorPHJocz4nJmx0OyFbJyBTPyAnSUdOT1JFJyBTPyAnWycgCis8bnQgZGVmPSJOVC1pZ25vcmVTZWN0Q29udGVudHMiPmlnbm9yZVNlY3RDb250ZW50czwvbnQ+KgorJ11dJmd0Oyc8L3Jocz4KKzwvcHJvZD4KKworPHByb2QgaWQ9J05ULWlnbm9yZVNlY3RDb250ZW50cyc+PGxocz5pZ25vcmVTZWN0Q29udGVudHM8L2xocz4KKzxyaHM+PG50IGRlZj0nTlQtSWdub3JlJz5JZ25vcmU8L250PgorKCcmbHQ7IVsnIDxudCBkZWY9J05ULWlnbm9yZVNlY3RDb250ZW50cyc+aWdub3JlU2VjdENvbnRlbnRzPC9udD4gJ11dJmd0OycgCis8bnQgZGVmPSdOVC1JZ25vcmUnPklnbm9yZTwvbnQ+KSo8L3Jocz48L3Byb2Q+Cis8cHJvZCBpZD0nTlQtSWdub3JlJz48bGhzPklnbm9yZTwvbGhzPgorPHJocz48bnQgZGVmPSdOVC1DaGFyJz5DaGFyPC9udD4qIC0gCisoPG50IGRlZj0nTlQtQ2hhcic+Q2hhcjwvbnQ+KiAoJyZsdDshWycgfCAnXV0mZ3Q7JykgCis8bnQgZGVmPSdOVC1DaGFyJz5DaGFyPC9udD4qKQorPC9yaHM+PC9wcm9kPgorCis8L3Byb2Rncm91cD4KKzwvc2NyYXA+Cis8L3A+Cis8cD5MaWtlIHRoZSBpbnRlcm5hbCBhbmQgZXh0ZXJuYWwgRFREIHN1YnNldHMsIGEgY29uZGl0aW9uYWwgc2VjdGlvbgorbWF5IGNvbnRhaW4gb25lIG9yIG1vcmUgY29tcGxldGUgZGVjbGFyYXRpb25zLAorY29tbWVudHMsIHByb2Nlc3NpbmcgaW5zdHJ1Y3Rpb25zLCAKK29yIG5lc3RlZCBjb25kaXRpb25hbCBzZWN0aW9ucywgaW50ZXJtaW5nbGVkIHdpdGggd2hpdGUgc3BhY2UuCis8L3A+Cis8cD5JZiB0aGUga2V5d29yZCBvZiB0aGUKK2NvbmRpdGlvbmFsIHNlY3Rpb24gaXMgPGt3PklOQ0xVREU8L2t3PiwgdGhlbiB0aGUgY29udGVudHMgb2YgdGhlIGNvbmRpdGlvbmFsCitzZWN0aW9uIGFyZSBwYXJ0IG9mIHRoZSBEVEQuCitJZiB0aGUga2V5d29yZCBvZiB0aGUgY29uZGl0aW9uYWwKK3NlY3Rpb24gaXMgPGt3PklHTk9SRTwva3c+LCB0aGVuIHRoZSBjb250ZW50cyBvZiB0aGUgY29uZGl0aW9uYWwgc2VjdGlvbiBhcmUKK25vdCBsb2dpY2FsbHkgcGFydCBvZiB0aGUgRFRELgorTm90ZSB0aGF0IGZvciByZWxpYWJsZSBwYXJzaW5nLCB0aGUgY29udGVudHMgb2YgZXZlbiBpZ25vcmVkCitjb25kaXRpb25hbCBzZWN0aW9ucyBtdXN0IGJlIHJlYWQgaW4gb3JkZXIgdG8KK2RldGVjdCBuZXN0ZWQgY29uZGl0aW9uYWwgc2VjdGlvbnMgYW5kIGVuc3VyZSB0aGF0IHRoZSBlbmQgb2YgdGhlCitvdXRlcm1vc3QgKGlnbm9yZWQpIGNvbmRpdGlvbmFsIHNlY3Rpb24gaXMgcHJvcGVybHkgZGV0ZWN0ZWQuCitJZiBhIGNvbmRpdGlvbmFsIHNlY3Rpb24gd2l0aCBhCitrZXl3b3JkIG9mIDxrdz5JTkNMVURFPC9rdz4gb2NjdXJzIHdpdGhpbiBhIGxhcmdlciBjb25kaXRpb25hbAorc2VjdGlvbiB3aXRoIGEga2V5d29yZCBvZiA8a3c+SUdOT1JFPC9rdz4sIGJvdGggdGhlIG91dGVyIGFuZCB0aGUKK2lubmVyIGNvbmRpdGlvbmFsIHNlY3Rpb25zIGFyZSBpZ25vcmVkLjwvcD4KKzxwPklmIHRoZSBrZXl3b3JkIG9mIHRoZSBjb25kaXRpb25hbCBzZWN0aW9uIGlzIGEgCitwYXJhbWV0ZXItZW50aXR5IHJlZmVyZW5jZSwgdGhlIHBhcmFtZXRlciBlbnRpdHkgbXVzdCBiZSByZXBsYWNlZCBieSBpdHMKK2NvbnRlbnQgYmVmb3JlIHRoZSBwcm9jZXNzb3IgZGVjaWRlcyB3aGV0aGVyIHRvCitpbmNsdWRlIG9yIGlnbm9yZSB0aGUgY29uZGl0aW9uYWwgc2VjdGlvbi48L3A+Cis8cD5BbiBleGFtcGxlOgorPGVnPiZsdDshRU5USVRZICUgZHJhZnQgJ0lOQ0xVREUnID4KKyZsdDshRU5USVRZICUgZmluYWwgJ0lHTk9SRScgPgorIAorJmx0OyFbJWRyYWZ0O1sKKyZsdDshRUxFTUVOVCBib29rIChjb21tZW50cyosIHRpdGxlLCBib2R5LCBzdXBwbGVtZW50cz8pPgorXV0mZ3Q7CismbHQ7IVslZmluYWw7WworJmx0OyFFTEVNRU5UIGJvb2sgKHRpdGxlLCBib2R5LCBzdXBwbGVtZW50cz8pPgorXV0mZ3Q7Cis8L2VnPgorPC9wPgorPC9kaXYyPgorCisKKzwhLS0gCis8ZGl2MiBpZD0nc2VjLXBhc3MtdG8tYXBwJz4KKzxoZWFkPlhNTCBQcm9jZXNzb3IgVHJlYXRtZW50IG9mIExvZ2ljYWwgU3RydWN0dXJlPC9oZWFkPgorPHA+V2hlbiBhbiBYTUwgcHJvY2Vzc29yIGVuY291bnRlcnMgYSBzdGFydC10YWcsIGl0IG11c3QgbWFrZQorYXQgbGVhc3QgdGhlIGZvbGxvd2luZyBpbmZvcm1hdGlvbiBhdmFpbGFibGUgdG8gdGhlIGFwcGxpY2F0aW9uOgorPHVsaXN0PgorPGl0ZW0+Cis8cD50aGUgZWxlbWVudCB0eXBlJ3MgZ2VuZXJpYyBpZGVudGlmaWVyPC9wPgorPC9pdGVtPgorPGl0ZW0+Cis8cD50aGUgbmFtZXMgb2YgYXR0cmlidXRlcyBrbm93biB0byBhcHBseSB0byB0aGlzIGVsZW1lbnQgdHlwZQorKHZhbGlkYXRpbmcgcHJvY2Vzc29ycyBtdXN0IG1ha2UgYXZhaWxhYmxlIG5hbWVzIG9mIGFsbCBhdHRyaWJ1dGVzCitkZWNsYXJlZCBmb3IgdGhlIGVsZW1lbnQgdHlwZTsgbm9uLXZhbGlkYXRpbmcgcHJvY2Vzc29ycyBtdXN0CittYWtlIGF2YWlsYWJsZSBhdCBsZWFzdCB0aGUgbmFtZXMgb2YgdGhlIGF0dHJpYnV0ZXMgZm9yIHdoaWNoCit2YWx1ZXMgYXJlIHNwZWNpZmllZC4KKzwvcD4KKzwvaXRlbT4KKzwvdWxpc3Q+Cis8L3A+Cis8L2RpdjI+CistLT4gCisKKzwvZGl2MT4KKzwhLS0gJkVudGl0aWVzOyAtLT4KKyAKKzxkaXYxIGlkPSdzZWMtcGh5c2ljYWwtc3RydWN0Jz4KKzxoZWFkPlBoeXNpY2FsIFN0cnVjdHVyZXM8L2hlYWQ+CisgCis8cD48dGVybWRlZiBpZD0iZHQtZW50aXR5IiB0ZXJtPSJFbnRpdHkiPkFuIFhNTCBkb2N1bWVudCBtYXkgY29uc2lzdAorb2Ygb25lIG9yIG1hbnkgc3RvcmFnZSB1bml0cy4gICBUaGVzZSBhcmUgY2FsbGVkCis8dGVybT5lbnRpdGllczwvdGVybT47IHRoZXkgYWxsIGhhdmUgPHRlcm0+Y29udGVudDwvdGVybT4gYW5kIGFyZSBhbGwKKyhleGNlcHQgZm9yIHRoZSBkb2N1bWVudCBlbnRpdHksIHNlZSBiZWxvdywgYW5kIAordGhlIDx0ZXJtcmVmIGRlZj0nZHQtZG9jdHlwZSc+ZXh0ZXJuYWwgRFREIHN1YnNldDwvdGVybXJlZj4pIAoraWRlbnRpZmllZCBieSA8dGVybT5uYW1lPC90ZXJtPi4KKzwvdGVybWRlZj4KK0VhY2ggWE1MIGRvY3VtZW50IGhhcyBvbmUgZW50aXR5CitjYWxsZWQgdGhlIDx0ZXJtcmVmIGRlZj0iZHQtZG9jZW50Ij5kb2N1bWVudCBlbnRpdHk8L3Rlcm1yZWY+LCB3aGljaCBzZXJ2ZXMKK2FzIHRoZSBzdGFydGluZyBwb2ludCBmb3IgdGhlIDx0ZXJtcmVmIGRlZj0iZHQteG1sLXByb2MiPlhNTAorcHJvY2Vzc29yPC90ZXJtcmVmPiBhbmQgbWF5IGNvbnRhaW4gdGhlIHdob2xlIGRvY3VtZW50LjwvcD4KKzxwPkVudGl0aWVzIG1heSBiZSBlaXRoZXIgcGFyc2VkIG9yIHVucGFyc2VkLgorPHRlcm1kZWYgaWQ9ImR0LXBhcnNlZGVudCIgdGVybT0iVGV4dCBFbnRpdHkiPkEgPHRlcm0+cGFyc2VkIGVudGl0eSdzPC90ZXJtPgorY29udGVudHMgYXJlIHJlZmVycmVkIHRvIGFzIGl0cyAKKzx0ZXJtcmVmIGRlZj0nZHQtcmVwbHRleHQnPnJlcGxhY2VtZW50IHRleHQ8L3Rlcm1yZWY+OwordGhpcyA8dGVybXJlZiBkZWY9ImR0LXRleHQiPnRleHQ8L3Rlcm1yZWY+IGlzIGNvbnNpZGVyZWQgYW4KK2ludGVncmFsIHBhcnQgb2YgdGhlIGRvY3VtZW50LjwvdGVybWRlZj48L3A+CisKKzxwPjx0ZXJtZGVmIGlkPSJkdC11bnBhcnNlZCIgdGVybT0iVW5wYXJzZWQgRW50aXR5Ij5BbiAKKzx0ZXJtPnVucGFyc2VkIGVudGl0eTwvdGVybT4gCitpcyBhIHJlc291cmNlIHdob3NlIGNvbnRlbnRzIG1heSBvciBtYXkgbm90IGJlCis8dGVybXJlZiBkZWY9J2R0LXRleHQnPnRleHQ8L3Rlcm1yZWY+LCBhbmQgaWYgdGV4dCwgbWF5IG5vdCBiZSBYTUwuCitFYWNoIHVucGFyc2VkIGVudGl0eQoraGFzIGFuIGFzc29jaWF0ZWQgPHRlcm1yZWYKK2RlZj0iZHQtbm90YXRpb24iPm5vdGF0aW9uPC90ZXJtcmVmPiwgaWRlbnRpZmllZCBieSBuYW1lLgorQmV5b25kIGEgcmVxdWlyZW1lbnQKK3RoYXQgYW4gWE1MIHByb2Nlc3NvciBtYWtlIHRoZSBpZGVudGlmaWVycyBmb3IgdGhlIGVudGl0eSBhbmQgCitub3RhdGlvbiBhdmFpbGFibGUgdG8gdGhlIGFwcGxpY2F0aW9uLAorWE1MIHBsYWNlcyBubyBjb25zdHJhaW50cyBvbiB0aGUgY29udGVudHMgb2YgdW5wYXJzZWQgZW50aXRpZXMuPC90ZXJtZGVmPiAKKzwvcD4KKzxwPgorUGFyc2VkIGVudGl0aWVzIGFyZSBpbnZva2VkIGJ5IG5hbWUgdXNpbmcgZW50aXR5IHJlZmVyZW5jZXM7Cit1bnBhcnNlZCBlbnRpdGllcyBieSBuYW1lLCBnaXZlbiBpbiB0aGUgdmFsdWUgb2YgPGt3PkVOVElUWTwva3c+CitvciA8a3c+RU5USVRJRVM8L2t3PgorYXR0cmlidXRlcy48L3A+Cis8cD48dGVybWRlZiBpZD0nZ2VuLWVudGl0eScgdGVybT0nZ2VuZXJhbCBlbnRpdHknCis+PHRlcm0+R2VuZXJhbCBlbnRpdGllczwvdGVybT4KK2FyZSBlbnRpdGllcyBmb3IgdXNlIHdpdGhpbiB0aGUgZG9jdW1lbnQgY29udGVudC4KK0luIHRoaXMgc3BlY2lmaWNhdGlvbiwgZ2VuZXJhbCBlbnRpdGllcyBhcmUgc29tZXRpbWVzIHJlZmVycmVkIAordG8gd2l0aCB0aGUgdW5xdWFsaWZpZWQgdGVybSA8ZW1waD5lbnRpdHk8L2VtcGg+IHdoZW4gdGhpcyBsZWFkcwordG8gbm8gYW1iaWd1aXR5LjwvdGVybWRlZj4gCis8dGVybWRlZiBpZD0nZHQtUEUnIHRlcm09J1BhcmFtZXRlciBlbnRpdHknPlBhcmFtZXRlciBlbnRpdGllcyAKK2FyZSBwYXJzZWQgZW50aXRpZXMgZm9yIHVzZSB3aXRoaW4gdGhlIERURC48L3Rlcm1kZWY+CitUaGVzZSB0d28gdHlwZXMgb2YgZW50aXRpZXMgdXNlIGRpZmZlcmVudCBmb3JtcyBvZiByZWZlcmVuY2UgYW5kCithcmUgcmVjb2duaXplZCBpbiBkaWZmZXJlbnQgY29udGV4dHMuCitGdXJ0aGVybW9yZSwgdGhleSBvY2N1cHkgZGlmZmVyZW50IG5hbWVzcGFjZXM7IGEgcGFyYW1ldGVyIGVudGl0eSBhbmQKK2EgZ2VuZXJhbCBlbnRpdHkgd2l0aCB0aGUgc2FtZSBuYW1lIGFyZSB0d28gZGlzdGluY3QgZW50aXRpZXMuCis8L3A+CisKKzxkaXYyIGlkPSdzZWMtcmVmZXJlbmNlcyc+Cis8aGVhZD5DaGFyYWN0ZXIgYW5kIEVudGl0eSBSZWZlcmVuY2VzPC9oZWFkPgorPHA+PHRlcm1kZWYgaWQ9ImR0LWNoYXJyZWYiIHRlcm09IkNoYXJhY3RlciBSZWZlcmVuY2UiPgorQSA8dGVybT5jaGFyYWN0ZXIgcmVmZXJlbmNlPC90ZXJtPiByZWZlcnMgdG8gYSBzcGVjaWZpYyBjaGFyYWN0ZXIgaW4gdGhlCitJU08vSUVDIDEwNjQ2IGNoYXJhY3RlciBzZXQsIGZvciBleGFtcGxlIG9uZSBub3QgZGlyZWN0bHkgYWNjZXNzaWJsZSBmcm9tCithdmFpbGFibGUgaW5wdXQgZGV2aWNlcy4KKzxzY3JhcCBsYW5nPSdlYm5mJz4KKzxoZWFkPkNoYXJhY3RlciBSZWZlcmVuY2U8L2hlYWQ+Cis8cHJvZCBpZD0nTlQtQ2hhclJlZic+PGxocz5DaGFyUmVmPC9saHM+Cis8cmhzPicmYW1wOyMnIFswLTldKyAnOycgPC9yaHM+Cis8cmhzPnwgJyZoY3JvOycgWzAtOWEtZkEtRl0rICc7JzwvcmhzPgorPHdmYyBkZWY9IndmLUxlZ2FsY2hhciIvPgorPC9wcm9kPgorPC9zY3JhcD4KKzx3ZmNub3RlIGlkPSJ3Zi1MZWdhbGNoYXIiPgorPGhlYWQ+TGVnYWwgQ2hhcmFjdGVyPC9oZWFkPgorPHA+Q2hhcmFjdGVycyByZWZlcnJlZCB0byB1c2luZyBjaGFyYWN0ZXIgcmVmZXJlbmNlcyBtdXN0CittYXRjaCB0aGUgcHJvZHVjdGlvbiBmb3IKKzx0ZXJtcmVmIGRlZj0iTlQtQ2hhciI+Q2hhcjwvdGVybXJlZj4uPC9wPgorPC93ZmNub3RlPgorSWYgdGhlIGNoYXJhY3RlciByZWZlcmVuY2UgYmVnaW5zIHdpdGggIjxjb2RlPiZhbXA7I3g8L2NvZGU+IiwgdGhlIGRpZ2l0cyBhbmQKK2xldHRlcnMgdXAgdG8gdGhlIHRlcm1pbmF0aW5nIDxjb2RlPjs8L2NvZGU+IHByb3ZpZGUgYSBoZXhhZGVjaW1hbAorcmVwcmVzZW50YXRpb24gb2YgdGhlIGNoYXJhY3RlcidzIGNvZGUgcG9pbnQgaW4gSVNPL0lFQyAxMDY0Ni4KK0lmIGl0IGJlZ2lucyBqdXN0IHdpdGggIjxjb2RlPiZhbXA7IzwvY29kZT4iLCB0aGUgZGlnaXRzIHVwIHRvIHRoZSB0ZXJtaW5hdGluZworPGNvZGU+OzwvY29kZT4gcHJvdmlkZSBhIGRlY2ltYWwgcmVwcmVzZW50YXRpb24gb2YgdGhlIGNoYXJhY3RlcidzIAorY29kZSBwb2ludC4KKzwvdGVybWRlZj4KKzwvcD4KKzxwPjx0ZXJtZGVmIGlkPSJkdC1lbnRyZWYiIHRlcm09IkVudGl0eSBSZWZlcmVuY2UiPkFuIDx0ZXJtPmVudGl0eQorcmVmZXJlbmNlPC90ZXJtPiByZWZlcnMgdG8gdGhlIGNvbnRlbnQgb2YgYSBuYW1lZCBlbnRpdHkuPC90ZXJtZGVmPgorPHRlcm1kZWYgaWQ9J2R0LUdFUmVmJyB0ZXJtPSdHZW5lcmFsIEVudGl0eSBSZWZlcmVuY2UnPlJlZmVyZW5jZXMgdG8gCitwYXJzZWQgZ2VuZXJhbCBlbnRpdGllcwordXNlIGFtcGVyc2FuZCAoPGNvZGU+JmFtcDs8L2NvZGU+KSBhbmQgc2VtaWNvbG9uICg8Y29kZT47PC9jb2RlPikgYXMKK2RlbGltaXRlcnMuPC90ZXJtZGVmPgorPHRlcm1kZWYgaWQ9J2R0LVBFUmVmJyB0ZXJtPSdQYXJhbWV0ZXItZW50aXR5IHJlZmVyZW5jZSc+Cis8dGVybT5QYXJhbWV0ZXItZW50aXR5IHJlZmVyZW5jZXM8L3Rlcm0+IHVzZSBwZXJjZW50LXNpZ24gKDxjb2RlPiU8L2NvZGU+KSBhbmQKK3NlbWljb2xvbiAKKyg8Y29kZT47PC9jb2RlPikgYXMgZGVsaW1pdGVycy48L3Rlcm1kZWY+Cis8L3A+Cis8c2NyYXAgbGFuZz0iZWJuZiI+Cis8aGVhZD5FbnRpdHkgUmVmZXJlbmNlPC9oZWFkPgorPHByb2QgaWQ9J05ULVJlZmVyZW5jZSc+PGxocz5SZWZlcmVuY2U8L2xocz4KKzxyaHM+PG50IGRlZj0nTlQtRW50aXR5UmVmJz5FbnRpdHlSZWY8L250PiAKK3wgPG50IGRlZj0nTlQtQ2hhclJlZic+Q2hhclJlZjwvbnQ+PC9yaHM+PC9wcm9kPgorPHByb2QgaWQ9J05ULUVudGl0eVJlZic+PGxocz5FbnRpdHlSZWY8L2xocz4KKzxyaHM+JyZhbXA7JyA8bnQgZGVmPSdOVC1OYW1lJz5OYW1lPC9udD4gJzsnPC9yaHM+Cis8d2ZjIGRlZj0nd2YtZW50ZGVjbGFyZWQnLz4KKzx2YyBkZWY9J3ZjLWVudGRlY2xhcmVkJy8+Cis8d2ZjIGRlZj0ndGV4dGVudCcvPgorPHdmYyBkZWY9J25vcmVjdXJzaW9uJy8+Cis8L3Byb2Q+Cis8cHJvZCBpZD0nTlQtUEVSZWZlcmVuY2UnPjxsaHM+UEVSZWZlcmVuY2U8L2xocz4KKzxyaHM+JyUnIDxudCBkZWY9J05ULU5hbWUnPk5hbWU8L250PiAnOyc8L3Jocz4KKzx2YyBkZWY9J3ZjLWVudGRlY2xhcmVkJy8+Cis8d2ZjIGRlZj0nbm9yZWN1cnNpb24nLz4KKzx3ZmMgZGVmPSdpbmR0ZCcvPgorPC9wcm9kPgorPC9zY3JhcD4KKworPHdmY25vdGUgaWQ9J3dmLWVudGRlY2xhcmVkJz4KKzxoZWFkPkVudGl0eSBEZWNsYXJlZDwvaGVhZD4KKzxwPkluIGEgZG9jdW1lbnQgd2l0aG91dCBhbnkgRFRELCBhIGRvY3VtZW50IHdpdGggb25seSBhbiBpbnRlcm5hbAorRFREIHN1YnNldCB3aGljaCBjb250YWlucyBubyBwYXJhbWV0ZXIgZW50aXR5IHJlZmVyZW5jZXMsIG9yIGEgZG9jdW1lbnQgd2l0aAorIjxjb2RlPnN0YW5kYWxvbmU9J3llcyc8L2NvZGU+IiwgCit0aGUgPG50IGRlZj0nTlQtTmFtZSc+TmFtZTwvbnQ+IGdpdmVuIGluIHRoZSBlbnRpdHkgcmVmZXJlbmNlIG11c3QgCis8dGVybXJlZiBkZWY9ImR0LW1hdGNoIj5tYXRjaDwvdGVybXJlZj4gdGhhdCBpbiBhbiAKKzx0aXRsZXJlZiBocmVmPSdzZWMtZW50aXR5LWRlY2wnPmVudGl0eSBkZWNsYXJhdGlvbjwvdGl0bGVyZWY+LCBleGNlcHQgdGhhdAord2VsbC1mb3JtZWQgZG9jdW1lbnRzIG5lZWQgbm90IGRlY2xhcmUgCithbnkgb2YgdGhlIGZvbGxvd2luZyBlbnRpdGllczogJm1hZ2ljZW50czsuICAKK1RoZSBkZWNsYXJhdGlvbiBvZiBhIHBhcmFtZXRlciBlbnRpdHkgbXVzdCBwcmVjZWRlIGFueSByZWZlcmVuY2UgdG8gaXQuCitTaW1pbGFybHksIHRoZSBkZWNsYXJhdGlvbiBvZiBhIGdlbmVyYWwgZW50aXR5IG11c3QgcHJlY2VkZSBhbnkKK3JlZmVyZW5jZSB0byBpdCB3aGljaCBhcHBlYXJzIGluIGEgZGVmYXVsdCB2YWx1ZSBpbiBhbiBhdHRyaWJ1dGUtbGlzdAorZGVjbGFyYXRpb24uPC9wPgorPHA+Tm90ZSB0aGF0IGlmIGVudGl0aWVzIGFyZSBkZWNsYXJlZCBpbiB0aGUgZXh0ZXJuYWwgc3Vic2V0IG9yIGluIAorZXh0ZXJuYWwgcGFyYW1ldGVyIGVudGl0aWVzLCBhIG5vbi12YWxpZGF0aW5nIHByb2Nlc3NvciBpcyAKKzx0aXRsZXJlZiBocmVmPSdpbmNsdWRlLWlmLXZhbGlkJz5ub3Qgb2JsaWdhdGVkIHRvPC90aXRsZXJlZj4gcmVhZAorYW5kIHByb2Nlc3MgdGhlaXIgZGVjbGFyYXRpb25zOyBmb3Igc3VjaCBkb2N1bWVudHMsIHRoZSBydWxlIHRoYXQKK2FuIGVudGl0eSBtdXN0IGJlIGRlY2xhcmVkIGlzIGEgd2VsbC1mb3JtZWRuZXNzIGNvbnN0cmFpbnQgb25seQoraWYgPHRpdGxlcmVmIGhyZWY9J3NlYy1ybWQnPnN0YW5kYWxvbmU9J3llcyc8L3RpdGxlcmVmPi48L3A+Cis8L3dmY25vdGU+Cis8dmNub3RlIGlkPSJ2Yy1lbnRkZWNsYXJlZCI+Cis8aGVhZD5FbnRpdHkgRGVjbGFyZWQ8L2hlYWQ+Cis8cD5JbiBhIGRvY3VtZW50IHdpdGggYW4gZXh0ZXJuYWwgc3Vic2V0IG9yIGV4dGVybmFsIHBhcmFtZXRlcgorZW50aXRpZXMgd2l0aCAiPGNvZGU+c3RhbmRhbG9uZT0nbm8nPC9jb2RlPiIsCit0aGUgPG50IGRlZj0nTlQtTmFtZSc+TmFtZTwvbnQ+IGdpdmVuIGluIHRoZSBlbnRpdHkgcmVmZXJlbmNlIG11c3QgPHRlcm1yZWYKK2RlZj0iZHQtbWF0Y2giPm1hdGNoPC90ZXJtcmVmPiB0aGF0IGluIGFuIAorPHRpdGxlcmVmIGhyZWY9J3NlYy1lbnRpdHktZGVjbCc+ZW50aXR5IGRlY2xhcmF0aW9uPC90aXRsZXJlZj4uCitGb3IgaW50ZXJvcGVyYWJpbGl0eSwgdmFsaWQgZG9jdW1lbnRzIHNob3VsZCBkZWNsYXJlIHRoZSBlbnRpdGllcyAKKyZtYWdpY2VudHM7LCBpbiB0aGUgZm9ybQorc3BlY2lmaWVkIGluIDxzcGVjcmVmIHJlZj0ic2VjLXByZWRlZmluZWQtZW50Ii8+LgorVGhlIGRlY2xhcmF0aW9uIG9mIGEgcGFyYW1ldGVyIGVudGl0eSBtdXN0IHByZWNlZGUgYW55IHJlZmVyZW5jZSB0byBpdC4KK1NpbWlsYXJseSwgdGhlIGRlY2xhcmF0aW9uIG9mIGEgZ2VuZXJhbCBlbnRpdHkgbXVzdCBwcmVjZWRlIGFueQorcmVmZXJlbmNlIHRvIGl0IHdoaWNoIGFwcGVhcnMgaW4gYSBkZWZhdWx0IHZhbHVlIGluIGFuIGF0dHJpYnV0ZS1saXN0CitkZWNsYXJhdGlvbi48L3A+Cis8L3Zjbm90ZT4KKzwhLS0gRklOQUwgRURJVDogIGlzIHRoaXMgZHVwbGljYXRpb24gdG9vIGNsdW1zeT8gLS0+Cis8d2Zjbm90ZSBpZD0ndGV4dGVudCc+Cis8aGVhZD5QYXJzZWQgRW50aXR5PC9oZWFkPgorPHA+CitBbiBlbnRpdHkgcmVmZXJlbmNlIG11c3Qgbm90IGNvbnRhaW4gdGhlIG5hbWUgb2YgYW4gPHRlcm1yZWYKK2RlZj0iZHQtdW5wYXJzZWQiPnVucGFyc2VkIGVudGl0eTwvdGVybXJlZj4uIFVucGFyc2VkIGVudGl0aWVzIG1heSBiZSByZWZlcnJlZAordG8gb25seSBpbiA8dGVybXJlZiBkZWY9ImR0LWF0dHJ2YWwiPmF0dHJpYnV0ZSB2YWx1ZXM8L3Rlcm1yZWY+IGRlY2xhcmVkIHRvCitiZSBvZiB0eXBlIDxrdz5FTlRJVFk8L2t3PiBvciA8a3c+RU5USVRJRVM8L2t3Pi4KKzwvcD4KKzwvd2Zjbm90ZT4KKzx3ZmNub3RlIGlkPSdub3JlY3Vyc2lvbic+Cis8aGVhZD5ObyBSZWN1cnNpb248L2hlYWQ+Cis8cD4KK0EgcGFyc2VkIGVudGl0eSBtdXN0IG5vdCBjb250YWluIGEgcmVjdXJzaXZlIHJlZmVyZW5jZSB0byBpdHNlbGYsCitlaXRoZXIgZGlyZWN0bHkgb3IgaW5kaXJlY3RseS4KKzwvcD4KKzwvd2Zjbm90ZT4KKzx3ZmNub3RlIGlkPSdpbmR0ZCc+Cis8aGVhZD5JbiBEVEQ8L2hlYWQ+Cis8cD4KK1BhcmFtZXRlci1lbnRpdHkgcmVmZXJlbmNlcyBtYXkgb25seSBhcHBlYXIgaW4gdGhlIAorPHRlcm1yZWYgZGVmPSdkdC1kb2N0eXBlJz5EVEQ8L3Rlcm1yZWY+LgorPC9wPgorPC93ZmNub3RlPgorPHA+RXhhbXBsZXMgb2YgY2hhcmFjdGVyIGFuZCBlbnRpdHkgcmVmZXJlbmNlczoKKzxlZz5UeXBlICZsdDtrZXk+bGVzcy10aGFuJmx0Oy9rZXk+ICgmaGNybzszQzspIHRvIHNhdmUgb3B0aW9ucy4KK1RoaXMgZG9jdW1lbnQgd2FzIHByZXBhcmVkIG9uICZhbXA7ZG9jZGF0ZTsgYW5kCitpcyBjbGFzc2lmaWVkICZhbXA7c2VjdXJpdHktbGV2ZWw7LjwvZWc+PC9wPgorPHA+RXhhbXBsZSBvZiBhIHBhcmFtZXRlci1lbnRpdHkgcmVmZXJlbmNlOgorPGVnPjwhW0NEQVRBWzwhLS0gZGVjbGFyZSB0aGUgcGFyYW1ldGVyIGVudGl0eSAiSVNPTGF0MiIuLi4gLS0+Cis8IUVOVElUWSAlIElTT0xhdDIKKyAgICAgICAgIFNZU1RFTSAiaHR0cDovL3d3dy54bWwuY29tL2lzby9pc29sYXQyLXhtbC5lbnRpdGllcyIgPgorPCEtLSAuLi4gbm93IHJlZmVyZW5jZSBpdC4gLS0+CislSVNPTGF0MjtdXT48L2VnPjwvcD4KKzwvZGl2Mj4KKyAKKzxkaXYyIGlkPSdzZWMtZW50aXR5LWRlY2wnPgorPGhlYWQ+RW50aXR5IERlY2xhcmF0aW9uczwvaGVhZD4KKyAKKzxwPjx0ZXJtZGVmIGlkPSJkdC1lbnRkZWNsIiB0ZXJtPSJlbnRpdHkgZGVjbGFyYXRpb24iPgorRW50aXRpZXMgYXJlIGRlY2xhcmVkIHRodXM6Cis8c2NyYXAgbGFuZz0nZWJuZic+Cis8aGVhZD5FbnRpdHkgRGVjbGFyYXRpb248L2hlYWQ+Cis8cHJvZGdyb3VwIHBjdzI9IjUiIHBjdzQ9IjE4LjUiPgorPHByb2QgaWQ9J05ULUVudGl0eURlY2wnPjxsaHM+RW50aXR5RGVjbDwvbGhzPgorPHJocz48bnQgZGVmPSJOVC1HRURlY2wiPkdFRGVjbDwvbnQ+PCEtLTwvcmhzPjxjb20+R2VuZXJhbCBlbnRpdGllczwvY29tPgorPHJocz4tLT4gfCA8bnQgZGVmPSJOVC1QRURlY2wiPlBFRGVjbDwvbnQ+PC9yaHM+Cis8IS0tPGNvbT5QYXJhbWV0ZXIgZW50aXRpZXM8L2NvbT4tLT4KKzwvcHJvZD4KKzxwcm9kIGlkPSdOVC1HRURlY2wnPjxsaHM+R0VEZWNsPC9saHM+Cis8cmhzPicmbHQ7IUVOVElUWScgPG50IGRlZj0nTlQtUyc+UzwvbnQ+IDxudCBkZWY9J05ULU5hbWUnPk5hbWU8L250PiAKKzxudCBkZWY9J05ULVMnPlM8L250PiA8bnQgZGVmPSdOVC1FbnRpdHlEZWYnPkVudGl0eURlZjwvbnQ+IAorPG50IGRlZj0nTlQtUyc+UzwvbnQ+PyAnJmd0Oyc8L3Jocz4KKzwvcHJvZD4KKzxwcm9kIGlkPSdOVC1QRURlY2wnPjxsaHM+UEVEZWNsPC9saHM+Cis8cmhzPicmbHQ7IUVOVElUWScgPG50IGRlZj0nTlQtUyc+UzwvbnQ+ICclJyA8bnQgZGVmPSdOVC1TJz5TPC9udD4gCis8bnQgZGVmPSdOVC1OYW1lJz5OYW1lPC9udD4gPG50IGRlZj0nTlQtUyc+UzwvbnQ+IAorPG50IGRlZj0nTlQtUEVEZWYnPlBFRGVmPC9udD4gPG50IGRlZj0nTlQtUyc+UzwvbnQ+PyAnJmd0Oyc8L3Jocz4KKzwhLS08Y29tPlBhcmFtZXRlciBlbnRpdGllczwvY29tPi0tPgorPC9wcm9kPgorPHByb2QgaWQ9J05ULUVudGl0eURlZic+PGxocz5FbnRpdHlEZWY8L2xocz4KKzxyaHM+PG50IGRlZj0nTlQtRW50aXR5VmFsdWUnPkVudGl0eVZhbHVlPC9udD4KKzwhLS08L3Jocz4KKzxyaHM+LS0+fCAoPG50IGRlZj0nTlQtRXh0ZXJuYWxJRCc+RXh0ZXJuYWxJRDwvbnQ+IAorPG50IGRlZj0nTlQtTkRhdGFEZWNsJz5ORGF0YURlY2w8L250Pj8pPC9yaHM+Cis8IS0tIDxudCBkZWY9J05ULUV4dGVybmFsRGVmJz5FeHRlcm5hbERlZjwvbnQ+PC9yaHM+IC0tPgorPC9wcm9kPgorPCEtLSBGSU5BTCBFRElUOiB3aGF0IGhhcHBlbmVkIHRvIFdGcyBoZXJlPyAtLT4KKzxwcm9kIGlkPSdOVC1QRURlZic+PGxocz5QRURlZjwvbGhzPgorPHJocz48bnQgZGVmPSdOVC1FbnRpdHlWYWx1ZSc+RW50aXR5VmFsdWU8L250PiAKK3wgPG50IGRlZj0nTlQtRXh0ZXJuYWxJRCc+RXh0ZXJuYWxJRDwvbnQ+PC9yaHM+PC9wcm9kPgorPC9wcm9kZ3JvdXA+Cis8L3NjcmFwPgorVGhlIDxudCBkZWY9J05ULU5hbWUnPk5hbWU8L250PiBpZGVudGlmaWVzIHRoZSBlbnRpdHkgaW4gYW4KKzx0ZXJtcmVmIGRlZj0iZHQtZW50cmVmIj5lbnRpdHkgcmVmZXJlbmNlPC90ZXJtcmVmPiBvciwgaW4gdGhlIGNhc2Ugb2YgYW4KK3VucGFyc2VkIGVudGl0eSwgaW4gdGhlIHZhbHVlIG9mIGFuIDxrdz5FTlRJVFk8L2t3PiBvciA8a3c+RU5USVRJRVM8L2t3PgorYXR0cmlidXRlLgorSWYgdGhlIHNhbWUgZW50aXR5IGlzIGRlY2xhcmVkIG1vcmUgdGhhbiBvbmNlLCB0aGUgZmlyc3QgZGVjbGFyYXRpb24KK2VuY291bnRlcmVkIGlzIGJpbmRpbmc7IGF0IHVzZXIgb3B0aW9uLCBhbiBYTUwgcHJvY2Vzc29yIG1heSBpc3N1ZSBhCit3YXJuaW5nIGlmIGVudGl0aWVzIGFyZSBkZWNsYXJlZCBtdWx0aXBsZSB0aW1lcy48L3Rlcm1kZWY+Cis8L3A+CisKKzxkaXYzIGlkPSdzZWMtaW50ZXJuYWwtZW50Jz4KKzxoZWFkPkludGVybmFsIEVudGl0aWVzPC9oZWFkPgorIAorPHA+PHRlcm1kZWYgaWQ9J2R0LWludGVybmVudCcgdGVybT0iSW50ZXJuYWwgRW50aXR5IFJlcGxhY2VtZW50IFRleHQiPklmIAordGhlIGVudGl0eSBkZWZpbml0aW9uIGlzIGFuIAorPG50IGRlZj0nTlQtRW50aXR5VmFsdWUnPkVudGl0eVZhbHVlPC9udD4sICAKK3RoZSBkZWZpbmVkIGVudGl0eSBpcyBjYWxsZWQgYW4gPHRlcm0+aW50ZXJuYWwgZW50aXR5PC90ZXJtPi4gIAorVGhlcmUgaXMgbm8gc2VwYXJhdGUgcGh5c2ljYWwKK3N0b3JhZ2Ugb2JqZWN0LCBhbmQgdGhlIGNvbnRlbnQgb2YgdGhlIGVudGl0eSBpcyBnaXZlbiBpbiB0aGUKK2RlY2xhcmF0aW9uLiA8L3Rlcm1kZWY+CitOb3RlIHRoYXQgc29tZSBwcm9jZXNzaW5nIG9mIGVudGl0eSBhbmQgY2hhcmFjdGVyIHJlZmVyZW5jZXMgaW4gdGhlCis8dGVybXJlZiBkZWY9J2R0LWxpdGVudHZhbCc+bGl0ZXJhbCBlbnRpdHkgdmFsdWU8L3Rlcm1yZWY+IG1heSBiZSByZXF1aXJlZCB0bworcHJvZHVjZSB0aGUgY29ycmVjdCA8dGVybXJlZiBkZWY9J2R0LXJlcGx0ZXh0Jz5yZXBsYWNlbWVudCAKK3RleHQ8L3Rlcm1yZWY+OiBzZWUgPHNwZWNyZWYgcmVmPSdpbnRlcm4tcmVwbGFjZW1lbnQnLz4uCis8L3A+Cis8cD5BbiBpbnRlcm5hbCBlbnRpdHkgaXMgYSA8dGVybXJlZiBkZWY9ImR0LXBhcnNlZGVudCI+cGFyc2VkCitlbnRpdHk8L3Rlcm1yZWY+LjwvcD4KKzxwPkV4YW1wbGUgb2YgYW4gaW50ZXJuYWwgZW50aXR5IGRlY2xhcmF0aW9uOgorPGVnPiZsdDshRU5USVRZIFB1Yi1TdGF0dXMgIlRoaXMgaXMgYSBwcmUtcmVsZWFzZSBvZiB0aGUKKyBzcGVjaWZpY2F0aW9uLiI+PC9lZz48L3A+Cis8L2RpdjM+CisgCis8ZGl2MyBpZD0nc2VjLWV4dGVybmFsLWVudCc+Cis8aGVhZD5FeHRlcm5hbCBFbnRpdGllczwvaGVhZD4KKyAKKzxwPjx0ZXJtZGVmIGlkPSJkdC1leHRlbnQiIHRlcm09IkV4dGVybmFsIEVudGl0eSI+SWYgdGhlIGVudGl0eSBpcyBub3QKK2ludGVybmFsLCBpdCBpcyBhbiA8dGVybT5leHRlcm5hbAorZW50aXR5PC90ZXJtPiwgZGVjbGFyZWQgYXMgZm9sbG93czoKKzxzY3JhcCBsYW5nPSdlYm5mJz4KKzxoZWFkPkV4dGVybmFsIEVudGl0eSBEZWNsYXJhdGlvbjwvaGVhZD4KKzwhLS0KKzxwcm9kIGlkPSdOVC1FeHRlcm5hbERlZic+PGxocz5FeHRlcm5hbERlZjwvbGhzPgorPHJocz48L3Byb2Q+IC0tPgorPHByb2QgaWQ9J05ULUV4dGVybmFsSUQnPjxsaHM+RXh0ZXJuYWxJRDwvbGhzPgorPHJocz4nU1lTVEVNJyA8bnQgZGVmPSdOVC1TJz5TPC9udD4gCis8bnQgZGVmPSdOVC1TeXN0ZW1MaXRlcmFsJz5TeXN0ZW1MaXRlcmFsPC9udD48L3Jocz4KKzxyaHM+fCAnUFVCTElDJyA8bnQgZGVmPSdOVC1TJz5TPC9udD4gCis8bnQgZGVmPSdOVC1QdWJpZExpdGVyYWwnPlB1YmlkTGl0ZXJhbDwvbnQ+IAorPG50IGRlZj0nTlQtUyc+UzwvbnQ+IAorPG50IGRlZj0nTlQtU3lzdGVtTGl0ZXJhbCc+U3lzdGVtTGl0ZXJhbDwvbnQ+Cis8L3Jocz4KKzwvcHJvZD4KKzxwcm9kIGlkPSdOVC1ORGF0YURlY2wnPjxsaHM+TkRhdGFEZWNsPC9saHM+Cis8cmhzPjxudCBkZWY9J05ULVMnPlM8L250PiAnTkRBVEEnIDxudCBkZWY9J05ULVMnPlM8L250PiAKKzxudCBkZWY9J05ULU5hbWUnPk5hbWU8L250PjwvcmhzPgorPHZjIGRlZj0nbm90LWRlY2xhcmVkJy8+PC9wcm9kPgorPC9zY3JhcD4KK0lmIHRoZSA8bnQgZGVmPSdOVC1ORGF0YURlY2wnPk5EYXRhRGVjbDwvbnQ+IGlzIHByZXNlbnQsIHRoaXMgaXMgYQorZ2VuZXJhbCA8dGVybXJlZiBkZWY9ImR0LXVucGFyc2VkIj51bnBhcnNlZAorZW50aXR5PC90ZXJtcmVmPjsgb3RoZXJ3aXNlIGl0IGlzIGEgcGFyc2VkIGVudGl0eS48L3Rlcm1kZWY+PC9wPgorPHZjbm90ZSBpZD0nbm90LWRlY2xhcmVkJz4KKzxoZWFkPk5vdGF0aW9uIERlY2xhcmVkPC9oZWFkPgorPHA+CitUaGUgPG50IGRlZj0nTlQtTmFtZSc+TmFtZTwvbnQ+IG11c3QgbWF0Y2ggdGhlIGRlY2xhcmVkIG5hbWUgb2YgYQorPHRlcm1yZWYgZGVmPSJkdC1ub3RhdGlvbiI+bm90YXRpb248L3Rlcm1yZWY+LgorPC9wPgorPC92Y25vdGU+Cis8cD48dGVybWRlZiBpZD0iZHQtc3lzaWQiIHRlcm09IlN5c3RlbSBJZGVudGlmaWVyIj5UaGUKKzxudCBkZWY9J05ULVN5c3RlbUxpdGVyYWwnPlN5c3RlbUxpdGVyYWw8L250PiAKK2lzIGNhbGxlZCB0aGUgZW50aXR5J3MgPHRlcm0+c3lzdGVtIGlkZW50aWZpZXI8L3Rlcm0+LiBJdCBpcyBhIFVSSSwKK3doaWNoIG1heSBiZSB1c2VkIHRvIHJldHJpZXZlIHRoZSBlbnRpdHkuPC90ZXJtZGVmPgorTm90ZSB0aGF0IHRoZSBoYXNoIG1hcmsgKDxjb2RlPiM8L2NvZGU+KSBhbmQgZnJhZ21lbnQgaWRlbnRpZmllciAKK2ZyZXF1ZW50bHkgdXNlZCB3aXRoIFVSSXMgYXJlIG5vdCwgZm9ybWFsbHksIHBhcnQgb2YgdGhlIFVSSSBpdHNlbGY7IAorYW4gWE1MIHByb2Nlc3NvciBtYXkgc2lnbmFsIGFuIGVycm9yIGlmIGEgZnJhZ21lbnQgaWRlbnRpZmllciBpcyAKK2dpdmVuIGFzIHBhcnQgb2YgYSBzeXN0ZW0gaWRlbnRpZmllci4KK1VubGVzcyBvdGhlcndpc2UgcHJvdmlkZWQgYnkgaW5mb3JtYXRpb24gb3V0c2lkZSB0aGUgc2NvcGUgb2YgdGhpcworc3BlY2lmaWNhdGlvbiAoZS5nLiBhIHNwZWNpYWwgWE1MIGVsZW1lbnQgdHlwZSBkZWZpbmVkIGJ5IGEgcGFydGljdWxhcgorRFRELCBvciBhIHByb2Nlc3NpbmcgaW5zdHJ1Y3Rpb24gZGVmaW5lZCBieSBhIHBhcnRpY3VsYXIgYXBwbGljYXRpb24KK3NwZWNpZmljYXRpb24pLCByZWxhdGl2ZSBVUklzIGFyZSByZWxhdGl2ZSB0byB0aGUgbG9jYXRpb24gb2YgdGhlCityZXNvdXJjZSB3aXRoaW4gd2hpY2ggdGhlIGVudGl0eSBkZWNsYXJhdGlvbiBvY2N1cnMuCitBIFVSSSBtaWdodCB0aHVzIGJlIHJlbGF0aXZlIHRvIHRoZSAKKzx0ZXJtcmVmIGRlZj0nZHQtZG9jZW50Jz5kb2N1bWVudCBlbnRpdHk8L3Rlcm1yZWY+LCB0byB0aGUgZW50aXR5Citjb250YWluaW5nIHRoZSA8dGVybXJlZiBkZWY9J2R0LWRvY3R5cGUnPmV4dGVybmFsIERURCBzdWJzZXQ8L3Rlcm1yZWY+LCAKK29yIHRvIHNvbWUgb3RoZXIgPHRlcm1yZWYgZGVmPSdkdC1leHRlbnQnPmV4dGVybmFsIHBhcmFtZXRlciBlbnRpdHk8L3Rlcm1yZWY+LgorPC9wPgorPHA+QW4gWE1MIHByb2Nlc3NvciBzaG91bGQgaGFuZGxlIGEgbm9uLUFTQ0lJIGNoYXJhY3RlciBpbiBhIFVSSSBieQorcmVwcmVzZW50aW5nIHRoZSBjaGFyYWN0ZXIgaW4gVVRGLTggYXMgb25lIG9yIG1vcmUgYnl0ZXMsIGFuZCB0aGVuIAorZXNjYXBpbmcgdGhlc2UgYnl0ZXMgd2l0aCB0aGUgVVJJIGVzY2FwaW5nIG1lY2hhbmlzbSAoaS5lLiwgYnkKK2NvbnZlcnRpbmcgZWFjaCBieXRlIHRvICVISCwgd2hlcmUgSEggaXMgdGhlIGhleGFkZWNpbWFsIG5vdGF0aW9uIG9mIHRoZQorYnl0ZSB2YWx1ZSkuPC9wPgorPHA+PHRlcm1kZWYgaWQ9ImR0LXB1YmlkIiB0ZXJtPSJQdWJsaWMgaWRlbnRpZmllciI+CitJbiBhZGRpdGlvbiB0byBhIHN5c3RlbSBpZGVudGlmaWVyLCBhbiBleHRlcm5hbCBpZGVudGlmaWVyIG1heQoraW5jbHVkZSBhIDx0ZXJtPnB1YmxpYyBpZGVudGlmaWVyPC90ZXJtPi48L3Rlcm1kZWY+ICAKK0FuIFhNTCBwcm9jZXNzb3IgYXR0ZW1wdGluZyB0byByZXRyaWV2ZSB0aGUgZW50aXR5J3MgY29udGVudCBtYXkgdXNlIHRoZSBwdWJsaWMKK2lkZW50aWZpZXIgdG8gdHJ5IHRvIGdlbmVyYXRlIGFuIGFsdGVybmF0aXZlIFVSSS4gIElmIHRoZSBwcm9jZXNzb3IKK2lzIHVuYWJsZSB0byBkbyBzbywgaXQgbXVzdCB1c2UgdGhlIFVSSSBzcGVjaWZpZWQgaW4gdGhlIHN5c3RlbQorbGl0ZXJhbC4gIEJlZm9yZSBhIG1hdGNoIGlzIGF0dGVtcHRlZCwgYWxsIHN0cmluZ3MKK29mIHdoaXRlIHNwYWNlIGluIHRoZSBwdWJsaWMgaWRlbnRpZmllciBtdXN0IGJlIG5vcm1hbGl6ZWQgdG8gc2luZ2xlIHNwYWNlIGNoYXJhY3RlcnMgKCN4MjApLAorYW5kIGxlYWRpbmcgYW5kIHRyYWlsaW5nIHdoaXRlIHNwYWNlIG11c3QgYmUgcmVtb3ZlZC48L3A+Cis8cD5FeGFtcGxlcyBvZiBleHRlcm5hbCBlbnRpdHkgZGVjbGFyYXRpb25zOgorPGVnPiZsdDshRU5USVRZIG9wZW4taGF0Y2gKKyAgICAgICAgIFNZU1RFTSAiaHR0cDovL3d3dy50ZXh0dWFsaXR5LmNvbS9ib2lsZXJwbGF0ZS9PcGVuSGF0Y2gueG1sIj4KKyZsdDshRU5USVRZIG9wZW4taGF0Y2gKKyAgICAgICAgIFBVQkxJQyAiLS8vVGV4dHVhbGl0eS8vVEVYVCBTdGFuZGFyZCBvcGVuLWhhdGNoIGJvaWxlcnBsYXRlLy9FTiIKKyAgICAgICAgICJodHRwOi8vd3d3LnRleHR1YWxpdHkuY29tL2JvaWxlcnBsYXRlL09wZW5IYXRjaC54bWwiPgorJmx0OyFFTlRJVFkgaGF0Y2gtcGljCisgICAgICAgICBTWVNURU0gIi4uL2dyYWZpeC9PcGVuSGF0Y2guZ2lmIgorICAgICAgICAgTkRBVEEgZ2lmID48L2VnPjwvcD4KKzwvZGl2Mz4KKyAKKzwvZGl2Mj4KKworPGRpdjIgaWQ9J1RleHRFbnRpdGllcyc+Cis8aGVhZD5QYXJzZWQgRW50aXRpZXM8L2hlYWQ+Cis8ZGl2MyBpZD0nc2VjLVRleHREZWNsJz4KKzxoZWFkPlRoZSBUZXh0IERlY2xhcmF0aW9uPC9oZWFkPgorPHA+RXh0ZXJuYWwgcGFyc2VkIGVudGl0aWVzIG1heSBlYWNoIGJlZ2luIHdpdGggYSA8dGVybT50ZXh0CitkZWNsYXJhdGlvbjwvdGVybT4uIAorPHNjcmFwIGxhbmc9J2VibmYnPgorPGhlYWQ+VGV4dCBEZWNsYXJhdGlvbjwvaGVhZD4KKzxwcm9kZ3JvdXAgcGN3ND0iMTIuNSIgcGN3NT0iMTMiPgorPHByb2QgaWQ9J05ULVRleHREZWNsJz48bGhzPlRleHREZWNsPC9saHM+Cis8cmhzPiZ4bWxwaW87IAorPG50IGRlZj0nTlQtVmVyc2lvbkluZm8nPlZlcnNpb25JbmZvPC9udD4/Cis8bnQgZGVmPSdOVC1FbmNvZGluZ0RlY2wnPkVuY29kaW5nRGVjbDwvbnQ+Cis8bnQgZGVmPSdOVC1TJz5TPC9udD4/ICZwaWM7PC9yaHM+Cis8L3Byb2Q+Cis8L3Byb2Rncm91cD4KKzwvc2NyYXA+Cis8L3A+Cis8cD5UaGUgdGV4dCBkZWNsYXJhdGlvbiBtdXN0IGJlIHByb3ZpZGVkIGxpdGVyYWxseSwgbm90CitieSByZWZlcmVuY2UgdG8gYSBwYXJzZWQgZW50aXR5LgorTm8gdGV4dCBkZWNsYXJhdGlvbiBtYXkgYXBwZWFyIGF0IGFueSBwb3NpdGlvbiBvdGhlciB0aGFuIHRoZSBiZWdpbm5pbmcgb2YKK2FuIGV4dGVybmFsIHBhcnNlZCBlbnRpdHkuPC9wPgorPC9kaXYzPgorPGRpdjMgaWQ9J3dmLWVudGl0aWVzJz4KKzxoZWFkPldlbGwtRm9ybWVkIFBhcnNlZCBFbnRpdGllczwvaGVhZD4KKzxwPlRoZSBkb2N1bWVudCBlbnRpdHkgaXMgd2VsbC1mb3JtZWQgaWYgaXQgbWF0Y2hlcyB0aGUgcHJvZHVjdGlvbiBsYWJlbGVkCis8bnQgZGVmPSdOVC1kb2N1bWVudCc+ZG9jdW1lbnQ8L250Pi4KK0FuIGV4dGVybmFsIGdlbmVyYWwgCitwYXJzZWQgZW50aXR5IGlzIHdlbGwtZm9ybWVkIGlmIGl0IG1hdGNoZXMgdGhlIHByb2R1Y3Rpb24gbGFiZWxlZAorPG50IGRlZj0nTlQtZXh0UGFyc2VkRW50Jz5leHRQYXJzZWRFbnQ8L250Pi4KK0FuIGV4dGVybmFsIHBhcmFtZXRlcgorZW50aXR5IGlzIHdlbGwtZm9ybWVkIGlmIGl0IG1hdGNoZXMgdGhlIHByb2R1Y3Rpb24gbGFiZWxlZAorPG50IGRlZj0nTlQtZXh0UEUnPmV4dFBFPC9udD4uCis8c2NyYXAgbGFuZz0nZWJuZic+Cis8aGVhZD5XZWxsLUZvcm1lZCBFeHRlcm5hbCBQYXJzZWQgRW50aXR5PC9oZWFkPgorPHByb2QgaWQ9J05ULWV4dFBhcnNlZEVudCc+PGxocz5leHRQYXJzZWRFbnQ8L2xocz4KKzxyaHM+PG50IGRlZj0nTlQtVGV4dERlY2wnPlRleHREZWNsPC9udD4/IAorPG50IGRlZj0nTlQtY29udGVudCc+Y29udGVudDwvbnQ+PC9yaHM+Cis8L3Byb2Q+Cis8cHJvZCBpZD0nTlQtZXh0UEUnPjxsaHM+ZXh0UEU8L2xocz4KKzxyaHM+PG50IGRlZj0nTlQtVGV4dERlY2wnPlRleHREZWNsPC9udD4/IAorPG50IGRlZj0nTlQtZXh0U3Vic2V0RGVjbCc+ZXh0U3Vic2V0RGVjbDwvbnQ+PC9yaHM+Cis8L3Byb2Q+Cis8L3NjcmFwPgorQW4gaW50ZXJuYWwgZ2VuZXJhbCBwYXJzZWQgZW50aXR5IGlzIHdlbGwtZm9ybWVkIGlmIGl0cyByZXBsYWNlbWVudCB0ZXh0IAorbWF0Y2hlcyB0aGUgcHJvZHVjdGlvbiBsYWJlbGVkCis8bnQgZGVmPSdOVC1jb250ZW50Jz5jb250ZW50PC9udD4uCitBbGwgaW50ZXJuYWwgcGFyYW1ldGVyIGVudGl0aWVzIGFyZSB3ZWxsLWZvcm1lZCBieSBkZWZpbml0aW9uLgorPC9wPgorPHA+QSBjb25zZXF1ZW5jZSBvZiB3ZWxsLWZvcm1lZG5lc3MgaW4gZW50aXRpZXMgaXMgdGhhdCB0aGUgbG9naWNhbCAKK2FuZCBwaHlzaWNhbCBzdHJ1Y3R1cmVzIGluIGFuIFhNTCBkb2N1bWVudCBhcmUgcHJvcGVybHkgbmVzdGVkOyBubyAKKzx0ZXJtcmVmIGRlZj0nZHQtc3RhZyc+c3RhcnQtdGFnPC90ZXJtcmVmPiwKKzx0ZXJtcmVmIGRlZj0nZHQtZXRhZyc+ZW5kLXRhZzwvdGVybXJlZj4sCis8dGVybXJlZiBkZWY9ImR0LWVtcHR5Ij5lbXB0eS1lbGVtZW50IHRhZzwvdGVybXJlZj4sCis8dGVybXJlZiBkZWY9J2R0LWVsZW1lbnQnPmVsZW1lbnQ8L3Rlcm1yZWY+LCAKKzx0ZXJtcmVmIGRlZj0nZHQtY29tbWVudCc+Y29tbWVudDwvdGVybXJlZj4sIAorPHRlcm1yZWYgZGVmPSdkdC1waSc+cHJvY2Vzc2luZyBpbnN0cnVjdGlvbjwvdGVybXJlZj4sIAorPHRlcm1yZWYgZGVmPSdkdC1jaGFycmVmJz5jaGFyYWN0ZXIKK3JlZmVyZW5jZTwvdGVybXJlZj4sIG9yCis8dGVybXJlZiBkZWY9J2R0LWVudHJlZic+ZW50aXR5IHJlZmVyZW5jZTwvdGVybXJlZj4gCitjYW4gYmVnaW4gaW4gb25lIGVudGl0eSBhbmQgZW5kIGluIGFub3RoZXIuPC9wPgorPC9kaXYzPgorPGRpdjMgaWQ9J2NoYXJlbmNvZGluZyc+Cis8aGVhZD5DaGFyYWN0ZXIgRW5jb2RpbmcgaW4gRW50aXRpZXM8L2hlYWQ+CisgCis8cD5FYWNoIGV4dGVybmFsIHBhcnNlZCBlbnRpdHkgaW4gYW4gWE1MIGRvY3VtZW50IG1heSB1c2UgYSBkaWZmZXJlbnQKK2VuY29kaW5nIGZvciBpdHMgY2hhcmFjdGVycy4gQWxsIFhNTCBwcm9jZXNzb3JzIG11c3QgYmUgYWJsZSB0byByZWFkCitlbnRpdGllcyBpbiBlaXRoZXIgVVRGLTggb3IgVVRGLTE2LiAKKworPC9wPgorPHA+RW50aXRpZXMgZW5jb2RlZCBpbiBVVEYtMTYgbXVzdAorYmVnaW4gd2l0aCB0aGUgQnl0ZSBPcmRlciBNYXJrIGRlc2NyaWJlZCBieSBJU08vSUVDIDEwNjQ2IEFubmV4IEUgYW5kCitVbmljb2RlIEFwcGVuZGl4IEIgKHRoZSBaRVJPIFdJRFRIIE5PLUJSRUFLIFNQQUNFIGNoYXJhY3RlciwgI3hGRUZGKS4KK1RoaXMgaXMgYW4gZW5jb2Rpbmcgc2lnbmF0dXJlLCBub3QgcGFydCBvZiBlaXRoZXIgdGhlIG1hcmt1cCBvciB0aGUKK2NoYXJhY3RlciBkYXRhIG9mIHRoZSBYTUwgZG9jdW1lbnQuCitYTUwgcHJvY2Vzc29ycyBtdXN0IGJlIGFibGUgdG8gdXNlIHRoaXMgY2hhcmFjdGVyIHRvCitkaWZmZXJlbnRpYXRlIGJldHdlZW4gVVRGLTggYW5kIFVURi0xNiBlbmNvZGVkIGRvY3VtZW50cy48L3A+Cis8cD5BbHRob3VnaCBhbiBYTUwgcHJvY2Vzc29yIGlzIHJlcXVpcmVkIHRvIHJlYWQgb25seSBlbnRpdGllcyBpbgordGhlIFVURi04IGFuZCBVVEYtMTYgZW5jb2RpbmdzLCBpdCBpcyByZWNvZ25pemVkIHRoYXQgb3RoZXIgZW5jb2RpbmdzIGFyZQordXNlZCBhcm91bmQgdGhlIHdvcmxkLCBhbmQgaXQgbWF5IGJlIGRlc2lyZWQgZm9yIFhNTCBwcm9jZXNzb3JzCit0byByZWFkIGVudGl0aWVzIHRoYXQgdXNlIHRoZW0uCitQYXJzZWQgZW50aXRpZXMgd2hpY2ggYXJlIHN0b3JlZCBpbiBhbiBlbmNvZGluZyBvdGhlciB0aGFuCitVVEYtOCBvciBVVEYtMTYgbXVzdCBiZWdpbiB3aXRoIGEgPHRpdGxlcmVmIGhyZWY9J1RleHREZWNsJz50ZXh0CitkZWNsYXJhdGlvbjwvdGl0bGVyZWY+IGNvbnRhaW5pbmcgYW4gZW5jb2RpbmcgZGVjbGFyYXRpb246Cis8c2NyYXAgbGFuZz0nZWJuZic+Cis8aGVhZD5FbmNvZGluZyBEZWNsYXJhdGlvbjwvaGVhZD4KKzxwcm9kIGlkPSdOVC1FbmNvZGluZ0RlY2wnPjxsaHM+RW5jb2RpbmdEZWNsPC9saHM+Cis8cmhzPjxudCBkZWY9Ik5ULVMiPlM8L250PgorJ2VuY29kaW5nJyA8bnQgZGVmPSdOVC1FcSc+RXE8L250PiAKKygnIicgPG50IGRlZj0nTlQtRW5jTmFtZSc+RW5jTmFtZTwvbnQ+ICciJyB8IAorIiciIDxudCBkZWY9J05ULUVuY05hbWUnPkVuY05hbWU8L250PiAiJyIgKQorPC9yaHM+Cis8L3Byb2Q+Cis8cHJvZCBpZD0nTlQtRW5jTmFtZSc+PGxocz5FbmNOYW1lPC9saHM+Cis8cmhzPltBLVphLXpdIChbQS1aYS16MC05Ll9dIHwgJy0nKSo8L3Jocz4KKzxjb20+RW5jb2RpbmcgbmFtZSBjb250YWlucyBvbmx5IExhdGluIGNoYXJhY3RlcnM8L2NvbT4KKzwvcHJvZD4KKzwvc2NyYXA+CitJbiB0aGUgPHRlcm1yZWYgZGVmPSdkdC1kb2NlbnQnPmRvY3VtZW50IGVudGl0eTwvdGVybXJlZj4sIHRoZSBlbmNvZGluZworZGVjbGFyYXRpb24gaXMgcGFydCBvZiB0aGUgPHRlcm1yZWYgZGVmPSJkdC14bWxkZWNsIj5YTUwgZGVjbGFyYXRpb248L3Rlcm1yZWY+LgorVGhlIDxudCBkZWY9Ik5ULUVuY05hbWUiPkVuY05hbWU8L250PiBpcyB0aGUgbmFtZSBvZiB0aGUgZW5jb2RpbmcgdXNlZC4KKzwvcD4KKzwhLS0gRklOQUwgRURJVDogIGNoZWNrIG5hbWUgb2YgSUFOQSBhbmQgY2hhcnNldCBuYW1lcyAtLT4KKzxwPkluIGFuIGVuY29kaW5nIGRlY2xhcmF0aW9uLCB0aGUgdmFsdWVzCisiPGNvZGU+VVRGLTg8L2NvZGU+IiwKKyI8Y29kZT5VVEYtMTY8L2NvZGU+IiwKKyI8Y29kZT5JU08tMTA2NDYtVUNTLTI8L2NvZGU+IiwgYW5kCisiPGNvZGU+SVNPLTEwNjQ2LVVDUy00PC9jb2RlPiIgc2hvdWxkIGJlIAordXNlZCBmb3IgdGhlIHZhcmlvdXMgZW5jb2RpbmdzIGFuZCB0cmFuc2Zvcm1hdGlvbnMgb2YgVW5pY29kZSAvCitJU08vSUVDIDEwNjQ2LCB0aGUgdmFsdWVzCisiPGNvZGU+SVNPLTg4NTktMTwvY29kZT4iLAorIjxjb2RlPklTTy04ODU5LTI8L2NvZGU+IiwgLi4uCisiPGNvZGU+SVNPLTg4NTktOTwvY29kZT4iIHNob3VsZCBiZSB1c2VkIGZvciB0aGUgcGFydHMgb2YgSVNPIDg4NTksIGFuZAordGhlIHZhbHVlcworIjxjb2RlPklTTy0yMDIyLUpQPC9jb2RlPiIsCisiPGNvZGU+U2hpZnRfSklTPC9jb2RlPiIsIGFuZAorIjxjb2RlPkVVQy1KUDwvY29kZT4iCitzaG91bGQgYmUgdXNlZCBmb3IgdGhlIHZhcmlvdXMgZW5jb2RlZCBmb3JtcyBvZiBKSVMgWC0wMjA4LTE5OTcuICBYTUwKK3Byb2Nlc3NvcnMgbWF5IHJlY29nbml6ZSBvdGhlciBlbmNvZGluZ3M7IGl0IGlzIHJlY29tbWVuZGVkIHRoYXQKK2NoYXJhY3RlciBlbmNvZGluZ3MgcmVnaXN0ZXJlZCAoYXMgPGVtcGg+Y2hhcnNldDwvZW1waD5zKSAKK3dpdGggdGhlIEludGVybmV0IEFzc2lnbmVkIE51bWJlcnMKK0F1dGhvcml0eSA8YmlicmVmIHJlZj0nSUFOQScvPiwgb3RoZXIgdGhhbiB0aG9zZSBqdXN0IGxpc3RlZCwgc2hvdWxkIGJlCityZWZlcnJlZCB0bwordXNpbmcgdGhlaXIgcmVnaXN0ZXJlZCBuYW1lcy4KK05vdGUgdGhhdCB0aGVzZSByZWdpc3RlcmVkIG5hbWVzIGFyZSBkZWZpbmVkIHRvIGJlIAorY2FzZS1pbnNlbnNpdGl2ZSwgc28gcHJvY2Vzc29ycyB3aXNoaW5nIHRvIG1hdGNoIGFnYWluc3QgdGhlbSAKK3Nob3VsZCBkbyBzbyBpbiBhIGNhc2UtaW5zZW5zaXRpdmUKK3dheS48L3A+Cis8cD5JbiB0aGUgYWJzZW5jZSBvZiBpbmZvcm1hdGlvbiBwcm92aWRlZCBieSBhbiBleHRlcm5hbAordHJhbnNwb3J0IHByb3RvY29sIChlLmcuIEhUVFAgb3IgTUlNRSksIAoraXQgaXMgYW4gPHRlcm1yZWYgZGVmPSJkdC1lcnJvciI+ZXJyb3I8L3Rlcm1yZWY+IGZvciBhbiBlbnRpdHkgaW5jbHVkaW5nCithbiBlbmNvZGluZyBkZWNsYXJhdGlvbiB0byBiZSBwcmVzZW50ZWQgdG8gdGhlIFhNTCBwcm9jZXNzb3IgCitpbiBhbiBlbmNvZGluZyBvdGhlciB0aGFuIHRoYXQgbmFtZWQgaW4gdGhlIGRlY2xhcmF0aW9uLCAKK2ZvciBhbiBlbmNvZGluZyBkZWNsYXJhdGlvbiB0byBvY2N1ciBvdGhlciB0aGFuIGF0IHRoZSBiZWdpbm5pbmcgCitvZiBhbiBleHRlcm5hbCBlbnRpdHksIG9yIGZvcgorYW4gZW50aXR5IHdoaWNoIGJlZ2lucyB3aXRoIG5laXRoZXIgYSBCeXRlIE9yZGVyIE1hcmsgbm9yIGFuIGVuY29kaW5nCitkZWNsYXJhdGlvbiB0byB1c2UgYW4gZW5jb2Rpbmcgb3RoZXIgdGhhbiBVVEYtOC4KK05vdGUgdGhhdCBzaW5jZSBBU0NJSQoraXMgYSBzdWJzZXQgb2YgVVRGLTgsIG9yZGluYXJ5IEFTQ0lJIGVudGl0aWVzIGRvIG5vdCBzdHJpY3RseSBuZWVkCithbiBlbmNvZGluZyBkZWNsYXJhdGlvbi48L3A+CisKKzxwPkl0IGlzIGEgPHRlcm1yZWYgZGVmPSdkdC1mYXRhbCc+ZmF0YWwgZXJyb3I8L3Rlcm1yZWY+IHdoZW4gYW4gWE1MIHByb2Nlc3NvcgorZW5jb3VudGVycyBhbiBlbnRpdHkgd2l0aCBhbiBlbmNvZGluZyB0aGF0IGl0IGlzIHVuYWJsZSB0byBwcm9jZXNzLjwvcD4KKzxwPkV4YW1wbGVzIG9mIGVuY29kaW5nIGRlY2xhcmF0aW9uczoKKzxlZz4mbHQ7P3htbCBlbmNvZGluZz0nVVRGLTgnPz4KKyZsdDs/eG1sIGVuY29kaW5nPSdFVUMtSlAnPz48L2VnPjwvcD4KKzwvZGl2Mz4KKzwvZGl2Mj4KKzxkaXYyIGlkPSdlbnRwcm9jJz4KKzxoZWFkPlhNTCBQcm9jZXNzb3IgVHJlYXRtZW50IG9mIEVudGl0aWVzIGFuZCBSZWZlcmVuY2VzPC9oZWFkPgorPHA+VGhlIHRhYmxlIGJlbG93IHN1bW1hcml6ZXMgdGhlIGNvbnRleHRzIGluIHdoaWNoIGNoYXJhY3RlciByZWZlcmVuY2VzLAorZW50aXR5IHJlZmVyZW5jZXMsIGFuZCBpbnZvY2F0aW9ucyBvZiB1bnBhcnNlZCBlbnRpdGllcyBtaWdodCBhcHBlYXIgYW5kIHRoZQorcmVxdWlyZWQgYmVoYXZpb3Igb2YgYW4gPHRlcm1yZWYgZGVmPSdkdC14bWwtcHJvYyc+WE1MIHByb2Nlc3NvcjwvdGVybXJlZj4gaW4KK2VhY2ggY2FzZS4gIAorVGhlIGxhYmVscyBpbiB0aGUgbGVmdG1vc3QgY29sdW1uIGRlc2NyaWJlIHRoZSByZWNvZ25pdGlvbiBjb250ZXh0OgorPGdsaXN0PgorPGdpdGVtPjxsYWJlbD5SZWZlcmVuY2UgaW4gQ29udGVudDwvbGFiZWw+Cis8ZGVmPjxwPmFzIGEgcmVmZXJlbmNlCithbnl3aGVyZSBhZnRlciB0aGUgPHRlcm1yZWYgZGVmPSdkdC1zdGFnJz5zdGFydC10YWc8L3Rlcm1yZWY+IGFuZAorYmVmb3JlIHRoZSA8dGVybXJlZiBkZWY9J2R0LWV0YWcnPmVuZC10YWc8L3Rlcm1yZWY+IG9mIGFuIGVsZW1lbnQ7IGNvcnJlc3BvbmRzCit0byB0aGUgbm9udGVybWluYWwgPG50IGRlZj0nTlQtY29udGVudCc+Y29udGVudDwvbnQ+LjwvcD48L2RlZj4KKzwvZ2l0ZW0+Cis8Z2l0ZW0+Cis8bGFiZWw+UmVmZXJlbmNlIGluIEF0dHJpYnV0ZSBWYWx1ZTwvbGFiZWw+Cis8ZGVmPjxwPmFzIGEgcmVmZXJlbmNlIHdpdGhpbiBlaXRoZXIgdGhlIHZhbHVlIG9mIGFuIGF0dHJpYnV0ZSBpbiBhIAorPHRlcm1yZWYgZGVmPSdkdC1zdGFnJz5zdGFydC10YWc8L3Rlcm1yZWY+LCBvciBhIGRlZmF1bHQKK3ZhbHVlIGluIGFuIDx0ZXJtcmVmIGRlZj0nZHQtYXR0ZGVjbCc+YXR0cmlidXRlIGRlY2xhcmF0aW9uPC90ZXJtcmVmPjsKK2NvcnJlc3BvbmRzIHRvIHRoZSBub250ZXJtaW5hbAorPG50IGRlZj0nTlQtQXR0VmFsdWUnPkF0dFZhbHVlPC9udD4uPC9wPjwvZGVmPjwvZ2l0ZW0+Cis8Z2l0ZW0+Cis8bGFiZWw+T2NjdXJzIGFzIEF0dHJpYnV0ZSBWYWx1ZTwvbGFiZWw+Cis8ZGVmPjxwPmFzIGEgPG50IGRlZj0nTlQtTmFtZSc+TmFtZTwvbnQ+LCBub3QgYSByZWZlcmVuY2UsIGFwcGVhcmluZyBlaXRoZXIgYXMKK3RoZSB2YWx1ZSBvZiBhbiAKK2F0dHJpYnV0ZSB3aGljaCBoYXMgYmVlbiBkZWNsYXJlZCBhcyB0eXBlIDxrdz5FTlRJVFk8L2t3Piwgb3IgYXMgb25lIG9mCit0aGUgc3BhY2Utc2VwYXJhdGVkIHRva2VucyBpbiB0aGUgdmFsdWUgb2YgYW4gYXR0cmlidXRlIHdoaWNoIGhhcyBiZWVuCitkZWNsYXJlZCBhcyB0eXBlIDxrdz5FTlRJVElFUzwva3c+LjwvcD4KKzwvZGVmPjwvZ2l0ZW0+Cis8Z2l0ZW0+PGxhYmVsPlJlZmVyZW5jZSBpbiBFbnRpdHkgVmFsdWU8L2xhYmVsPgorPGRlZj48cD5hcyBhIHJlZmVyZW5jZQord2l0aGluIGEgcGFyYW1ldGVyIG9yIGludGVybmFsIGVudGl0eSdzIAorPHRlcm1yZWYgZGVmPSdkdC1saXRlbnR2YWwnPmxpdGVyYWwgZW50aXR5IHZhbHVlPC90ZXJtcmVmPiBpbgordGhlIGVudGl0eSdzIGRlY2xhcmF0aW9uOyBjb3JyZXNwb25kcyB0byB0aGUgbm9udGVybWluYWwgCis8bnQgZGVmPSdOVC1FbnRpdHlWYWx1ZSc+RW50aXR5VmFsdWU8L250Pi48L3A+PC9kZWY+PC9naXRlbT4KKzxnaXRlbT48bGFiZWw+UmVmZXJlbmNlIGluIERURDwvbGFiZWw+Cis8ZGVmPjxwPmFzIGEgcmVmZXJlbmNlIHdpdGhpbiBlaXRoZXIgdGhlIGludGVybmFsIG9yIGV4dGVybmFsIHN1YnNldHMgb2YgdGhlIAorPHRlcm1yZWYgZGVmPSdkdC1kb2N0eXBlJz5EVEQ8L3Rlcm1yZWY+LCBidXQgb3V0c2lkZQorb2YgYW4gPG50IGRlZj0nTlQtRW50aXR5VmFsdWUnPkVudGl0eVZhbHVlPC9udD4gb3IKKzxudCBkZWY9Ik5ULUF0dFZhbHVlIj5BdHRWYWx1ZTwvbnQ+LjwvcD48L2RlZj4KKzwvZ2l0ZW0+Cis8L2dsaXN0PjwvcD4KKzxodGFibGUgYm9yZGVyPScxJyBjZWxscGFkZGluZz0nNycgYWxpZ249J2NlbnRlcic+Cis8aHRib2R5PgorPHRyPjx0ZCBiZ2NvbG9yPScmY2VsbGJhY2s7JyByb3dzcGFuPScyJyBjb2xzcGFuPScxJz48L3RkPgorPHRkIGJnY29sb3I9JyZjZWxsYmFjazsnIGFsaWduPSdjZW50ZXInIHZhbGlnbj0nYm90dG9tJyBjb2xzcGFuPSc0Jz5FbnRpdHkgVHlwZTwvdGQ+Cis8dGQgYmdjb2xvcj0nJmNlbGxiYWNrOycgcm93c3Bhbj0nMicgYWxpZ249J2NlbnRlcic+Q2hhcmFjdGVyPC90ZD4KKzwvdHI+Cis8dHIgYWxpZ249J2NlbnRlcicgdmFsaWduPSdib3R0b20nPgorPHRkIGJnY29sb3I9JyZjZWxsYmFjazsnPlBhcmFtZXRlcjwvdGQ+Cis8dGQgYmdjb2xvcj0nJmNlbGxiYWNrOyc+SW50ZXJuYWwKK0dlbmVyYWw8L3RkPgorPHRkIGJnY29sb3I9JyZjZWxsYmFjazsnPkV4dGVybmFsIFBhcnNlZAorR2VuZXJhbDwvdGQ+Cis8dGQgYmdjb2xvcj0nJmNlbGxiYWNrOyc+VW5wYXJzZWQ8L3RkPgorPC90cj4KKzx0ciBhbGlnbj0nY2VudGVyJyB2YWxpZ249J21pZGRsZSc+CisKKzx0ZCBiZ2NvbG9yPScmY2VsbGJhY2s7JyBhbGlnbj0ncmlnaHQnPlJlZmVyZW5jZQoraW4gQ29udGVudDwvdGQ+Cis8dGQgYmdjb2xvcj0nJmNlbGxiYWNrOyc+PHRpdGxlcmVmIGhyZWY9J25vdC1yZWNvZ25pemVkJz5Ob3QgcmVjb2duaXplZDwvdGl0bGVyZWY+PC90ZD4KKzx0ZCBiZ2NvbG9yPScmY2VsbGJhY2s7Jz48dGl0bGVyZWYgaHJlZj0naW5jbHVkZWQnPkluY2x1ZGVkPC90aXRsZXJlZj48L3RkPgorPHRkIGJnY29sb3I9JyZjZWxsYmFjazsnPjx0aXRsZXJlZiBocmVmPSdpbmNsdWRlLWlmLXZhbGlkJz5JbmNsdWRlZCBpZiB2YWxpZGF0aW5nPC90aXRsZXJlZj48L3RkPgorPHRkIGJnY29sb3I9JyZjZWxsYmFjazsnPjx0aXRsZXJlZiBocmVmPSdmb3JiaWRkZW4nPkZvcmJpZGRlbjwvdGl0bGVyZWY+PC90ZD4KKzx0ZCBiZ2NvbG9yPScmY2VsbGJhY2s7Jz48dGl0bGVyZWYgaHJlZj0naW5jbHVkZWQnPkluY2x1ZGVkPC90aXRsZXJlZj48L3RkPgorPC90cj4KKzx0ciBhbGlnbj0nY2VudGVyJyB2YWxpZ249J21pZGRsZSc+Cis8dGQgYmdjb2xvcj0nJmNlbGxiYWNrOycgYWxpZ249J3JpZ2h0Jz5SZWZlcmVuY2UKK2luIEF0dHJpYnV0ZSBWYWx1ZTwvdGQ+Cis8dGQgYmdjb2xvcj0nJmNlbGxiYWNrOyc+PHRpdGxlcmVmIGhyZWY9J25vdC1yZWNvZ25pemVkJz5Ob3QgcmVjb2duaXplZDwvdGl0bGVyZWY+PC90ZD4KKzx0ZCBiZ2NvbG9yPScmY2VsbGJhY2s7Jz48dGl0bGVyZWYgaHJlZj0naW5saXRlcmFsJz5JbmNsdWRlZCBpbiBsaXRlcmFsPC90aXRsZXJlZj48L3RkPgorPHRkIGJnY29sb3I9JyZjZWxsYmFjazsnPjx0aXRsZXJlZiBocmVmPSdmb3JiaWRkZW4nPkZvcmJpZGRlbjwvdGl0bGVyZWY+PC90ZD4KKzx0ZCBiZ2NvbG9yPScmY2VsbGJhY2s7Jz48dGl0bGVyZWYgaHJlZj0nZm9yYmlkZGVuJz5Gb3JiaWRkZW48L3RpdGxlcmVmPjwvdGQ+Cis8dGQgYmdjb2xvcj0nJmNlbGxiYWNrOyc+PHRpdGxlcmVmIGhyZWY9J2luY2x1ZGVkJz5JbmNsdWRlZDwvdGl0bGVyZWY+PC90ZD4KKzwvdHI+Cis8dHIgYWxpZ249J2NlbnRlcicgdmFsaWduPSdtaWRkbGUnPgorPHRkIGJnY29sb3I9JyZjZWxsYmFjazsnIGFsaWduPSdyaWdodCc+T2NjdXJzIGFzCitBdHRyaWJ1dGUgVmFsdWU8L3RkPgorPHRkIGJnY29sb3I9JyZjZWxsYmFjazsnPjx0aXRsZXJlZiBocmVmPSdub3QtcmVjb2duaXplZCc+Tm90IHJlY29nbml6ZWQ8L3RpdGxlcmVmPjwvdGQ+Cis8dGQgYmdjb2xvcj0nJmNlbGxiYWNrOyc+PHRpdGxlcmVmIGhyZWY9J25vdC1yZWNvZ25pemVkJz5Gb3JiaWRkZW48L3RpdGxlcmVmPjwvdGQ+Cis8dGQgYmdjb2xvcj0nJmNlbGxiYWNrOyc+PHRpdGxlcmVmIGhyZWY9J25vdC1yZWNvZ25pemVkJz5Gb3JiaWRkZW48L3RpdGxlcmVmPjwvdGQ+Cis8dGQgYmdjb2xvcj0nJmNlbGxiYWNrOyc+PHRpdGxlcmVmIGhyZWY9J25vdGlmeSc+Tm90aWZ5PC90aXRsZXJlZj48L3RkPgorPHRkIGJnY29sb3I9JyZjZWxsYmFjazsnPjx0aXRsZXJlZiBocmVmPSdub3QgcmVjb2duaXplZCc+Tm90IHJlY29nbml6ZWQ8L3RpdGxlcmVmPjwvdGQ+Cis8L3RyPgorPHRyIGFsaWduPSdjZW50ZXInIHZhbGlnbj0nbWlkZGxlJz4KKzx0ZCBiZ2NvbG9yPScmY2VsbGJhY2s7JyBhbGlnbj0ncmlnaHQnPlJlZmVyZW5jZQoraW4gRW50aXR5VmFsdWU8L3RkPgorPHRkIGJnY29sb3I9JyZjZWxsYmFjazsnPjx0aXRsZXJlZiBocmVmPSdpbmxpdGVyYWwnPkluY2x1ZGVkIGluIGxpdGVyYWw8L3RpdGxlcmVmPjwvdGQ+Cis8dGQgYmdjb2xvcj0nJmNlbGxiYWNrOyc+PHRpdGxlcmVmIGhyZWY9J2J5cGFzcyc+QnlwYXNzZWQ8L3RpdGxlcmVmPjwvdGQ+Cis8dGQgYmdjb2xvcj0nJmNlbGxiYWNrOyc+PHRpdGxlcmVmIGhyZWY9J2J5cGFzcyc+QnlwYXNzZWQ8L3RpdGxlcmVmPjwvdGQ+Cis8dGQgYmdjb2xvcj0nJmNlbGxiYWNrOyc+PHRpdGxlcmVmIGhyZWY9J2ZvcmJpZGRlbic+Rm9yYmlkZGVuPC90aXRsZXJlZj48L3RkPgorPHRkIGJnY29sb3I9JyZjZWxsYmFjazsnPjx0aXRsZXJlZiBocmVmPSdpbmNsdWRlZCc+SW5jbHVkZWQ8L3RpdGxlcmVmPjwvdGQ+Cis8L3RyPgorPHRyIGFsaWduPSdjZW50ZXInIHZhbGlnbj0nbWlkZGxlJz4KKzx0ZCBiZ2NvbG9yPScmY2VsbGJhY2s7JyBhbGlnbj0ncmlnaHQnPlJlZmVyZW5jZQoraW4gRFREPC90ZD4KKzx0ZCBiZ2NvbG9yPScmY2VsbGJhY2s7Jz48dGl0bGVyZWYgaHJlZj0nYXMtUEUnPkluY2x1ZGVkIGFzIFBFPC90aXRsZXJlZj48L3RkPgorPHRkIGJnY29sb3I9JyZjZWxsYmFjazsnPjx0aXRsZXJlZiBocmVmPSdmb3JiaWRkZW4nPkZvcmJpZGRlbjwvdGl0bGVyZWY+PC90ZD4KKzx0ZCBiZ2NvbG9yPScmY2VsbGJhY2s7Jz48dGl0bGVyZWYgaHJlZj0nZm9yYmlkZGVuJz5Gb3JiaWRkZW48L3RpdGxlcmVmPjwvdGQ+Cis8dGQgYmdjb2xvcj0nJmNlbGxiYWNrOyc+PHRpdGxlcmVmIGhyZWY9J2ZvcmJpZGRlbic+Rm9yYmlkZGVuPC90aXRsZXJlZj48L3RkPgorPHRkIGJnY29sb3I9JyZjZWxsYmFjazsnPjx0aXRsZXJlZiBocmVmPSdmb3JiaWRkZW4nPkZvcmJpZGRlbjwvdGl0bGVyZWY+PC90ZD4KKzwvdHI+Cis8L2h0Ym9keT4KKzwvaHRhYmxlPgorPGRpdjMgaWQ9J25vdC1yZWNvZ25pemVkJz4KKzxoZWFkPk5vdCBSZWNvZ25pemVkPC9oZWFkPgorPHA+T3V0c2lkZSB0aGUgRFRELCB0aGUgPGNvZGU+JTwvY29kZT4gY2hhcmFjdGVyIGhhcyBubworc3BlY2lhbCBzaWduaWZpY2FuY2U7IHRodXMsIHdoYXQgd291bGQgYmUgcGFyYW1ldGVyIGVudGl0eSByZWZlcmVuY2VzIGluIHRoZQorRFREIGFyZSBub3QgcmVjb2duaXplZCBhcyBtYXJrdXAgaW4gPG50IGRlZj0nTlQtY29udGVudCc+Y29udGVudDwvbnQ+LgorU2ltaWxhcmx5LCB0aGUgbmFtZXMgb2YgdW5wYXJzZWQgZW50aXRpZXMgYXJlIG5vdCByZWNvZ25pemVkIGV4Y2VwdAord2hlbiB0aGV5IGFwcGVhciBpbiB0aGUgdmFsdWUgb2YgYW4gYXBwcm9wcmlhdGVseSBkZWNsYXJlZCBhdHRyaWJ1dGUuCis8L3A+Cis8L2RpdjM+Cis8ZGl2MyBpZD0naW5jbHVkZWQnPgorPGhlYWQ+SW5jbHVkZWQ8L2hlYWQ+Cis8cD48dGVybWRlZiBpZD0iZHQtaW5jbHVkZSIgdGVybT0iSW5jbHVkZSI+QW4gZW50aXR5IGlzIAorPHRlcm0+aW5jbHVkZWQ8L3Rlcm0+IHdoZW4gaXRzIAorPHRlcm1yZWYgZGVmPSdkdC1yZXBsdGV4dCc+cmVwbGFjZW1lbnQgdGV4dDwvdGVybXJlZj4gaXMgcmV0cmlldmVkIAorYW5kIHByb2Nlc3NlZCwgaW4gcGxhY2Ugb2YgdGhlIHJlZmVyZW5jZSBpdHNlbGYsCithcyB0aG91Z2ggaXQgd2VyZSBwYXJ0IG9mIHRoZSBkb2N1bWVudCBhdCB0aGUgbG9jYXRpb24gdGhlCityZWZlcmVuY2Ugd2FzIHJlY29nbml6ZWQuCitUaGUgcmVwbGFjZW1lbnQgdGV4dCBtYXkgY29udGFpbiBib3RoIAorPHRlcm1yZWYgZGVmPSdkdC1jaGFyZGF0YSc+Y2hhcmFjdGVyIGRhdGE8L3Rlcm1yZWY+CithbmQgKGV4Y2VwdCBmb3IgcGFyYW1ldGVyIGVudGl0aWVzKSA8dGVybXJlZiBkZWY9ImR0LW1hcmt1cCI+bWFya3VwPC90ZXJtcmVmPiwKK3doaWNoIG11c3QgYmUgcmVjb2duaXplZCBpbgordGhlIHVzdWFsIHdheSwgZXhjZXB0IHRoYXQgdGhlIHJlcGxhY2VtZW50IHRleHQgb2YgZW50aXRpZXMgdXNlZCB0byBlc2NhcGUKK21hcmt1cCBkZWxpbWl0ZXJzICh0aGUgZW50aXRpZXMgJm1hZ2ljZW50czspIGlzIGFsd2F5cyB0cmVhdGVkIGFzCitkYXRhLiAgKFRoZSBzdHJpbmcgIjxjb2RlPkFUJmFtcDthbXA7VDs8L2NvZGU+IiBleHBhbmRzIHRvCisiPGNvZGU+QVQmYW1wO1Q7PC9jb2RlPiIgYW5kIHRoZSByZW1haW5pbmcgYW1wZXJzYW5kIGlzIG5vdCByZWNvZ25pemVkCithcyBhbiBlbnRpdHktcmVmZXJlbmNlIGRlbGltaXRlci4pIAorQSBjaGFyYWN0ZXIgcmVmZXJlbmNlIGlzIDx0ZXJtPmluY2x1ZGVkPC90ZXJtPiB3aGVuIHRoZSBpbmRpY2F0ZWQKK2NoYXJhY3RlciBpcyBwcm9jZXNzZWQgaW4gcGxhY2Ugb2YgdGhlIHJlZmVyZW5jZSBpdHNlbGYuCis8L3Rlcm1kZWY+PC9wPgorPC9kaXYzPgorPGRpdjMgaWQ9J2luY2x1ZGUtaWYtdmFsaWQnPgorPGhlYWQ+SW5jbHVkZWQgSWYgVmFsaWRhdGluZzwvaGVhZD4KKzxwPldoZW4gYW4gWE1MIHByb2Nlc3NvciByZWNvZ25pemVzIGEgcmVmZXJlbmNlIHRvIGEgcGFyc2VkIGVudGl0eSwgaW4gb3JkZXIKK3RvIDx0ZXJtcmVmIGRlZj0iZHQtdmFsaWQiPnZhbGlkYXRlPC90ZXJtcmVmPgordGhlIGRvY3VtZW50LCB0aGUgcHJvY2Vzc29yIG11c3QgCis8dGVybXJlZiBkZWY9ImR0LWluY2x1ZGUiPmluY2x1ZGU8L3Rlcm1yZWY+IGl0cworcmVwbGFjZW1lbnQgdGV4dC4KK0lmIHRoZSBlbnRpdHkgaXMgZXh0ZXJuYWwsIGFuZCB0aGUgcHJvY2Vzc29yIGlzIG5vdAorYXR0ZW1wdGluZyB0byB2YWxpZGF0ZSB0aGUgWE1MIGRvY3VtZW50LCB0aGUKK3Byb2Nlc3NvciA8dGVybXJlZiBkZWY9ImR0LW1heSI+bWF5PC90ZXJtcmVmPiwgYnV0IG5lZWQgbm90LCAKK2luY2x1ZGUgdGhlIGVudGl0eSdzIHJlcGxhY2VtZW50IHRleHQuCitJZiBhIG5vbi12YWxpZGF0aW5nIHBhcnNlciBkb2VzIG5vdCBpbmNsdWRlIHRoZSByZXBsYWNlbWVudCB0ZXh0LAoraXQgbXVzdCBpbmZvcm0gdGhlIGFwcGxpY2F0aW9uIHRoYXQgaXQgcmVjb2duaXplZCwgYnV0IGRpZCBub3QKK3JlYWQsIHRoZSBlbnRpdHkuPC9wPgorPHA+VGhpcyBydWxlIGlzIGJhc2VkIG9uIHRoZSByZWNvZ25pdGlvbiB0aGF0IHRoZSBhdXRvbWF0aWMgaW5jbHVzaW9uCitwcm92aWRlZCBieSB0aGUgU0dNTCBhbmQgWE1MIGVudGl0eSBtZWNoYW5pc20sIHByaW1hcmlseSBkZXNpZ25lZAordG8gc3VwcG9ydCBtb2R1bGFyaXR5IGluIGF1dGhvcmluZywgaXMgbm90IG5lY2Vzc2FyaWx5IAorYXBwcm9wcmlhdGUgZm9yIG90aGVyIGFwcGxpY2F0aW9ucywgaW4gcGFydGljdWxhciBkb2N1bWVudCBicm93c2luZy4KK0Jyb3dzZXJzLCBmb3IgZXhhbXBsZSwgd2hlbiBlbmNvdW50ZXJpbmcgYW4gZXh0ZXJuYWwgcGFyc2VkIGVudGl0eSByZWZlcmVuY2UsCittaWdodCBjaG9vc2UgdG8gcHJvdmlkZSBhIHZpc3VhbCBpbmRpY2F0aW9uIG9mIHRoZSBlbnRpdHkncworcHJlc2VuY2UgYW5kIHJldHJpZXZlIGl0IGZvciBkaXNwbGF5IG9ubHkgb24gZGVtYW5kLgorPC9wPgorPC9kaXYzPgorPGRpdjMgaWQ9J2ZvcmJpZGRlbic+Cis8aGVhZD5Gb3JiaWRkZW48L2hlYWQ+Cis8cD5UaGUgZm9sbG93aW5nIGFyZSBmb3JiaWRkZW4sIGFuZCBjb25zdGl0dXRlCis8dGVybXJlZiBkZWY9J2R0LWZhdGFsJz5mYXRhbDwvdGVybXJlZj4gZXJyb3JzOgorPHVsaXN0PgorPGl0ZW0+PHA+dGhlIGFwcGVhcmFuY2Ugb2YgYSByZWZlcmVuY2UgdG8gYW4KKzx0ZXJtcmVmIGRlZj0nZHQtdW5wYXJzZWQnPnVucGFyc2VkIGVudGl0eTwvdGVybXJlZj4uCis8L3A+PC9pdGVtPgorPGl0ZW0+PHA+dGhlIGFwcGVhcmFuY2Ugb2YgYW55IGNoYXJhY3RlciBvciBnZW5lcmFsLWVudGl0eSByZWZlcmVuY2UgaW4gdGhlCitEVEQgZXhjZXB0IHdpdGhpbiBhbiA8bnQgZGVmPSdOVC1FbnRpdHlWYWx1ZSc+RW50aXR5VmFsdWU8L250PiBvciAKKzxudCBkZWY9Ik5ULUF0dFZhbHVlIj5BdHRWYWx1ZTwvbnQ+LjwvcD48L2l0ZW0+Cis8aXRlbT48cD5hIHJlZmVyZW5jZSB0byBhbiBleHRlcm5hbCBlbnRpdHkgaW4gYW4gYXR0cmlidXRlIHZhbHVlLjwvcD4KKzwvaXRlbT4KKzwvdWxpc3Q+Cis8L3A+Cis8L2RpdjM+Cis8ZGl2MyBpZD0naW5saXRlcmFsJz4KKzxoZWFkPkluY2x1ZGVkIGluIExpdGVyYWw8L2hlYWQ+Cis8cD5XaGVuIGFuIDx0ZXJtcmVmIGRlZj0nZHQtZW50cmVmJz5lbnRpdHkgcmVmZXJlbmNlPC90ZXJtcmVmPiBhcHBlYXJzIGluIGFuCithdHRyaWJ1dGUgdmFsdWUsIG9yIGEgcGFyYW1ldGVyIGVudGl0eSByZWZlcmVuY2UgYXBwZWFycyBpbiBhIGxpdGVyYWwgZW50aXR5Cit2YWx1ZSwgaXRzIDx0ZXJtcmVmIGRlZj0nZHQtcmVwbHRleHQnPnJlcGxhY2VtZW50IHRleHQ8L3Rlcm1yZWY+IGlzCitwcm9jZXNzZWQgaW4gcGxhY2Ugb2YgdGhlIHJlZmVyZW5jZSBpdHNlbGYgYXMgdGhvdWdoIGl0Cit3ZXJlIHBhcnQgb2YgdGhlIGRvY3VtZW50IGF0IHRoZSBsb2NhdGlvbiB0aGUgcmVmZXJlbmNlIHdhcyByZWNvZ25pemVkLAorZXhjZXB0IHRoYXQgYSBzaW5nbGUgb3IgZG91YmxlIHF1b3RlIGNoYXJhY3RlciBpbiB0aGUgcmVwbGFjZW1lbnQgdGV4dAoraXMgYWx3YXlzIHRyZWF0ZWQgYXMgYSBub3JtYWwgZGF0YSBjaGFyYWN0ZXIgYW5kIHdpbGwgbm90IHRlcm1pbmF0ZSB0aGUKK2xpdGVyYWwuIAorRm9yIGV4YW1wbGUsIHRoaXMgaXMgd2VsbC1mb3JtZWQ6Cis8ZWc+PCFbQ0RBVEFbPCFFTlRJVFkgJSBZTiAnIlllcyInID4KKzwhRU5USVRZIFdoYXRIZVNhaWQgIkhlIHNhaWQgJllOOyIgPl1dPjwvZWc+Cit3aGlsZSB0aGlzIGlzIG5vdDoKKzxlZz4mbHQ7IUVOVElUWSBFbmRBdHRyICIyNyciID4KKyZsdDtlbGVtZW50IGF0dHJpYnV0ZT0nYS0mYW1wO0VuZEF0dHI7PjwvZWc+Cis8L3A+PC9kaXYzPgorPGRpdjMgaWQ9J25vdGlmeSc+Cis8aGVhZD5Ob3RpZnk8L2hlYWQ+Cis8cD5XaGVuIHRoZSBuYW1lIG9mIGFuIDx0ZXJtcmVmIGRlZj0nZHQtdW5wYXJzZWQnPnVucGFyc2VkCitlbnRpdHk8L3Rlcm1yZWY+IGFwcGVhcnMgYXMgYSB0b2tlbiBpbiB0aGUKK3ZhbHVlIG9mIGFuIGF0dHJpYnV0ZSBvZiBkZWNsYXJlZCB0eXBlIDxrdz5FTlRJVFk8L2t3PiBvciA8a3c+RU5USVRJRVM8L2t3PiwKK2EgdmFsaWRhdGluZyBwcm9jZXNzb3IgbXVzdCBpbmZvcm0gdGhlCithcHBsaWNhdGlvbiBvZiB0aGUgPHRlcm1yZWYgZGVmPSdkdC1zeXNpZCc+c3lzdGVtPC90ZXJtcmVmPiAKK2FuZCA8dGVybXJlZiBkZWY9J2R0LXB1YmlkJz5wdWJsaWM8L3Rlcm1yZWY+IChpZiBhbnkpCitpZGVudGlmaWVycyBmb3IgYm90aCB0aGUgZW50aXR5IGFuZCBpdHMgYXNzb2NpYXRlZAorPHRlcm1yZWYgZGVmPSJkdC1ub3RhdGlvbiI+bm90YXRpb248L3Rlcm1yZWY+LjwvcD4KKzwvZGl2Mz4KKzxkaXYzIGlkPSdieXBhc3MnPgorPGhlYWQ+QnlwYXNzZWQ8L2hlYWQ+Cis8cD5XaGVuIGEgZ2VuZXJhbCBlbnRpdHkgcmVmZXJlbmNlIGFwcGVhcnMgaW4gdGhlCis8bnQgZGVmPSdOVC1FbnRpdHlWYWx1ZSc+RW50aXR5VmFsdWU8L250PiBpbiBhbiBlbnRpdHkgZGVjbGFyYXRpb24sCitpdCBpcyBieXBhc3NlZCBhbmQgbGVmdCBhcyBpcy48L3A+Cis8L2RpdjM+Cis8ZGl2MyBpZD0nYXMtUEUnPgorPGhlYWQ+SW5jbHVkZWQgYXMgUEU8L2hlYWQ+Cis8cD5KdXN0IGFzIHdpdGggZXh0ZXJuYWwgcGFyc2VkIGVudGl0aWVzLCBwYXJhbWV0ZXIgZW50aXRpZXMKK25lZWQgb25seSBiZSA8dGl0bGVyZWYgaHJlZj0naW5jbHVkZS1pZi12YWxpZCc+aW5jbHVkZWQgaWYKK3ZhbGlkYXRpbmc8L3RpdGxlcmVmPi4gCitXaGVuIGEgcGFyYW1ldGVyLWVudGl0eSByZWZlcmVuY2UgaXMgcmVjb2duaXplZCBpbiB0aGUgRFRECithbmQgaW5jbHVkZWQsIGl0cyAKKzx0ZXJtcmVmIGRlZj0nZHQtcmVwbHRleHQnPnJlcGxhY2VtZW50Cit0ZXh0PC90ZXJtcmVmPiBpcyBlbmxhcmdlZCBieSB0aGUgYXR0YWNobWVudCBvZiBvbmUgbGVhZGluZyBhbmQgb25lIGZvbGxvd2luZworc3BhY2UgKCN4MjApIGNoYXJhY3RlcjsgdGhlIGludGVudCBpcyB0byBjb25zdHJhaW4gdGhlIHJlcGxhY2VtZW50Cit0ZXh0IG9mIHBhcmFtZXRlciAKK2VudGl0aWVzIHRvIGNvbnRhaW4gYW4gaW50ZWdyYWwgbnVtYmVyIG9mIGdyYW1tYXRpY2FsIHRva2VucyBpbiB0aGUgRFRELgorPC9wPgorPC9kaXYzPgorCis8L2RpdjI+Cis8ZGl2MiBpZD0naW50ZXJuLXJlcGxhY2VtZW50Jz4KKzxoZWFkPkNvbnN0cnVjdGlvbiBvZiBJbnRlcm5hbCBFbnRpdHkgUmVwbGFjZW1lbnQgVGV4dDwvaGVhZD4KKzxwPkluIGRpc2N1c3NpbmcgdGhlIHRyZWF0bWVudAorb2YgaW50ZXJuYWwgZW50aXRpZXMsIGl0IGlzICAKK3VzZWZ1bCB0byBkaXN0aW5ndWlzaCB0d28gZm9ybXMgb2YgdGhlIGVudGl0eSdzIHZhbHVlLgorPHRlcm1kZWYgaWQ9ImR0LWxpdGVudHZhbCIgdGVybT0nTGl0ZXJhbCBFbnRpdHkgVmFsdWUnPlRoZSA8dGVybT5saXRlcmFsCitlbnRpdHkgdmFsdWU8L3Rlcm0+IGlzIHRoZSBxdW90ZWQgc3RyaW5nIGFjdHVhbGx5CitwcmVzZW50IGluIHRoZSBlbnRpdHkgZGVjbGFyYXRpb24sIGNvcnJlc3BvbmRpbmcgdG8gdGhlCitub24tdGVybWluYWwgPG50IGRlZj0nTlQtRW50aXR5VmFsdWUnPkVudGl0eVZhbHVlPC9udD4uPC90ZXJtZGVmPgorPHRlcm1kZWYgaWQ9J2R0LXJlcGx0ZXh0JyB0ZXJtPSdSZXBsYWNlbWVudCBUZXh0Jz5UaGUgPHRlcm0+cmVwbGFjZW1lbnQKK3RleHQ8L3Rlcm0+IGlzIHRoZSBjb250ZW50IG9mIHRoZSBlbnRpdHksIGFmdGVyCityZXBsYWNlbWVudCBvZiBjaGFyYWN0ZXIgcmVmZXJlbmNlcyBhbmQgcGFyYW1ldGVyLWVudGl0eQorcmVmZXJlbmNlcy4KKzwvdGVybWRlZj48L3A+CisKKzxwPlRoZSBsaXRlcmFsIGVudGl0eSB2YWx1ZSAKK2FzIGdpdmVuIGluIGFuIGludGVybmFsIGVudGl0eSBkZWNsYXJhdGlvbgorKDxudCBkZWY9J05ULUVudGl0eVZhbHVlJz5FbnRpdHlWYWx1ZTwvbnQ+KSBtYXkgY29udGFpbiBjaGFyYWN0ZXIsCitwYXJhbWV0ZXItZW50aXR5LCBhbmQgZ2VuZXJhbC1lbnRpdHkgcmVmZXJlbmNlcy4KK1N1Y2ggcmVmZXJlbmNlcyBtdXN0IGJlIGNvbnRhaW5lZCBlbnRpcmVseSB3aXRoaW4gdGhlCitsaXRlcmFsIGVudGl0eSB2YWx1ZS4KK1RoZSBhY3R1YWwgcmVwbGFjZW1lbnQgdGV4dCB0aGF0IGlzIAorPHRlcm1yZWYgZGVmPSdkdC1pbmNsdWRlJz5pbmNsdWRlZDwvdGVybXJlZj4gYXMgZGVzY3JpYmVkIGFib3ZlCittdXN0IGNvbnRhaW4gdGhlIDxlbXBoPnJlcGxhY2VtZW50IHRleHQ8L2VtcGg+IG9mIGFueSAKK3BhcmFtZXRlciBlbnRpdGllcyByZWZlcnJlZCB0bywgYW5kIG11c3QgY29udGFpbiB0aGUgY2hhcmFjdGVyCityZWZlcnJlZCB0bywgaW4gcGxhY2Ugb2YgYW55IGNoYXJhY3RlciByZWZlcmVuY2VzIGluIHRoZQorbGl0ZXJhbCBlbnRpdHkgdmFsdWU7IGhvd2V2ZXIsCitnZW5lcmFsLWVudGl0eSByZWZlcmVuY2VzIG11c3QgYmUgbGVmdCBhcy1pcywgdW5leHBhbmRlZC4KK0ZvciBleGFtcGxlLCBnaXZlbiB0aGUgZm9sbG93aW5nIGRlY2xhcmF0aW9uczoKKworPGVnPjwhW0NEQVRBWzwhRU5USVRZICUgcHViICAgICImI3hjOTtkaXRpb25zIEdhbGxpbWFyZCIgPgorPCFFTlRJVFkgICByaWdodHMgIkFsbCByaWdodHMgcmVzZXJ2ZWQiID4KKzwhRU5USVRZICAgYm9vayAgICJMYSBQZXN0ZTogQWxiZXJ0IENhbXVzLCAKKyYjeEE5OyAxOTQ3ICVwdWI7LiAmcmlnaHRzOyIgPl1dPjwvZWc+Cit0aGVuIHRoZSByZXBsYWNlbWVudCB0ZXh0IGZvciB0aGUgZW50aXR5ICI8Y29kZT5ib29rPC9jb2RlPiIgaXM6Cis8ZWc+TGEgUGVzdGU6IEFsYmVydCBDYW11cywgCismIzE2OTsgMTk0NyAmIzIwMTtkaXRpb25zIEdhbGxpbWFyZC4gJmFtcDtyaWdodHM7PC9lZz4KK1RoZSBnZW5lcmFsLWVudGl0eSByZWZlcmVuY2UgIjxjb2RlPiZhbXA7cmlnaHRzOzwvY29kZT4iIHdvdWxkIGJlIGV4cGFuZGVkCitzaG91bGQgdGhlIHJlZmVyZW5jZSAiPGNvZGU+JmFtcDtib29rOzwvY29kZT4iIGFwcGVhciBpbiB0aGUgZG9jdW1lbnQncworY29udGVudCBvciBhbiBhdHRyaWJ1dGUgdmFsdWUuPC9wPgorPHA+VGhlc2Ugc2ltcGxlIHJ1bGVzIG1heSBoYXZlIGNvbXBsZXggaW50ZXJhY3Rpb25zOyBmb3IgYSBkZXRhaWxlZAorZGlzY3Vzc2lvbiBvZiBhIGRpZmZpY3VsdCBleGFtcGxlLCBzZWUKKzxzcGVjcmVmIHJlZj0nc2VjLWVudGV4cGFuZCcvPi4KKzwvcD4KKworPC9kaXYyPgorPGRpdjIgaWQ9J3NlYy1wcmVkZWZpbmVkLWVudCc+Cis8aGVhZD5QcmVkZWZpbmVkIEVudGl0aWVzPC9oZWFkPgorPHA+PHRlcm1kZWYgaWQ9ImR0LWVzY2FwZSIgdGVybT0iZXNjYXBlIj5FbnRpdHkgYW5kIGNoYXJhY3RlcgorcmVmZXJlbmNlcyBjYW4gYm90aCBiZSB1c2VkIHRvIDx0ZXJtPmVzY2FwZTwvdGVybT4gdGhlIGxlZnQgYW5nbGUgYnJhY2tldCwKK2FtcGVyc2FuZCwgYW5kIG90aGVyIGRlbGltaXRlcnMuICAgQSBzZXQgb2YgZ2VuZXJhbCBlbnRpdGllcworKCZtYWdpY2VudHM7KSBpcyBzcGVjaWZpZWQgZm9yIHRoaXMgcHVycG9zZS4KK051bWVyaWMgY2hhcmFjdGVyIHJlZmVyZW5jZXMgbWF5IGFsc28gYmUgdXNlZDsgdGhleSBhcmUKK2V4cGFuZGVkIGltbWVkaWF0ZWx5IHdoZW4gcmVjb2duaXplZCBhbmQgbXVzdCBiZSB0cmVhdGVkIGFzCitjaGFyYWN0ZXIgZGF0YSwgc28gdGhlIG51bWVyaWMgY2hhcmFjdGVyIHJlZmVyZW5jZXMKKyI8Y29kZT4mYW1wOyM2MDs8L2NvZGU+IiBhbmQgIjxjb2RlPiZhbXA7IzM4OzwvY29kZT4iIG1heSBiZSB1c2VkIHRvIAorZXNjYXBlIDxjb2RlPiZsdDs8L2NvZGU+IGFuZCA8Y29kZT4mYW1wOzwvY29kZT4gd2hlbiB0aGV5IG9jY3VyCitpbiBjaGFyYWN0ZXIgZGF0YS48L3Rlcm1kZWY+PC9wPgorPHA+QWxsIFhNTCBwcm9jZXNzb3JzIG11c3QgcmVjb2duaXplIHRoZXNlIGVudGl0aWVzIHdoZXRoZXIgdGhleQorYXJlIGRlY2xhcmVkIG9yIG5vdC4gIAorPHRlcm1yZWYgZGVmPSdkdC1pbnRlcm9wJz5Gb3IgaW50ZXJvcGVyYWJpbGl0eTwvdGVybXJlZj4sCit2YWxpZCBYTUwgZG9jdW1lbnRzIHNob3VsZCBkZWNsYXJlIHRoZXNlCitlbnRpdGllcywgbGlrZSBhbnkgb3RoZXJzLCBiZWZvcmUgdXNpbmcgdGhlbS4KK0lmIHRoZSBlbnRpdGllcyBpbiBxdWVzdGlvbiBhcmUgZGVjbGFyZWQsIHRoZXkgbXVzdCBiZSBkZWNsYXJlZAorYXMgaW50ZXJuYWwgZW50aXRpZXMgd2hvc2UgcmVwbGFjZW1lbnQgdGV4dCBpcyB0aGUgc2luZ2xlCitjaGFyYWN0ZXIgYmVpbmcgZXNjYXBlZCBvciBhIGNoYXJhY3RlciByZWZlcmVuY2UgdG8KK3RoYXQgY2hhcmFjdGVyLCBhcyBzaG93biBiZWxvdy4KKzxlZz48IVtDREFUQVs8IUVOVElUWSBsdCAgICAgIiYjMzg7IzYwOyI+IAorPCFFTlRJVFkgZ3QgICAgICImIzYyOyI+IAorPCFFTlRJVFkgYW1wICAgICImIzM4OyMzODsiPiAKKzwhRU5USVRZIGFwb3MgICAiJiMzOTsiPiAKKzwhRU5USVRZIHF1b3QgICAiJiMzNDsiPiAKK11dPjwvZWc+CitOb3RlIHRoYXQgdGhlIDxjb2RlPiZsdDs8L2NvZGU+IGFuZCA8Y29kZT4mYW1wOzwvY29kZT4gY2hhcmFjdGVycworaW4gdGhlIGRlY2xhcmF0aW9ucyBvZiAiPGNvZGU+bHQ8L2NvZGU+IiBhbmQgIjxjb2RlPmFtcDwvY29kZT4iCithcmUgZG91Ymx5IGVzY2FwZWQgdG8gbWVldCB0aGUgcmVxdWlyZW1lbnQgdGhhdCBlbnRpdHkgcmVwbGFjZW1lbnQKK2JlIHdlbGwtZm9ybWVkLgorPC9wPgorPC9kaXYyPgorCis8ZGl2MiBpZD0nTm90YXRpb25zJz4KKzxoZWFkPk5vdGF0aW9uIERlY2xhcmF0aW9uczwvaGVhZD4KKyAKKzxwPjx0ZXJtZGVmIGlkPSJkdC1ub3RhdGlvbiIgdGVybT0iTm90YXRpb24iPjx0ZXJtPk5vdGF0aW9uczwvdGVybT4gaWRlbnRpZnkgYnkKK25hbWUgdGhlIGZvcm1hdCBvZiA8dGVybXJlZiBkZWY9ImR0LWV4dGVudCI+dW5wYXJzZWQKK2VudGl0aWVzPC90ZXJtcmVmPiwgdGhlCitmb3JtYXQgb2YgZWxlbWVudHMgd2hpY2ggYmVhciBhIG5vdGF0aW9uIGF0dHJpYnV0ZSwgCitvciB0aGUgYXBwbGljYXRpb24gdG8gd2hpY2ggIAorYSA8dGVybXJlZiBkZWY9ImR0LXBpIj5wcm9jZXNzaW5nIGluc3RydWN0aW9uPC90ZXJtcmVmPiBpcworYWRkcmVzc2VkLjwvdGVybWRlZj48L3A+Cis8cD48dGVybWRlZiBpZD0iZHQtbm90ZGVjbCIgdGVybT0iTm90YXRpb24gRGVjbGFyYXRpb24iPgorPHRlcm0+Tm90YXRpb24gZGVjbGFyYXRpb25zPC90ZXJtPgorcHJvdmlkZSBhIG5hbWUgZm9yIHRoZSBub3RhdGlvbiwgZm9yIHVzZSBpbgorZW50aXR5IGFuZCBhdHRyaWJ1dGUtbGlzdCBkZWNsYXJhdGlvbnMgYW5kIGluIGF0dHJpYnV0ZSBzcGVjaWZpY2F0aW9ucywKK2FuZCBhbiBleHRlcm5hbCBpZGVudGlmaWVyIGZvciB0aGUgbm90YXRpb24gd2hpY2ggbWF5IGFsbG93IGFuIFhNTAorcHJvY2Vzc29yIG9yIGl0cyBjbGllbnQgYXBwbGljYXRpb24gdG8gbG9jYXRlIGEgaGVscGVyIGFwcGxpY2F0aW9uCitjYXBhYmxlIG9mIHByb2Nlc3NpbmcgZGF0YSBpbiB0aGUgZ2l2ZW4gbm90YXRpb24uCis8c2NyYXAgbGFuZz0nZWJuZic+Cis8aGVhZD5Ob3RhdGlvbiBEZWNsYXJhdGlvbnM8L2hlYWQ+Cis8cHJvZCBpZD0nTlQtTm90YXRpb25EZWNsJz48bGhzPk5vdGF0aW9uRGVjbDwvbGhzPgorPHJocz4nJmx0OyFOT1RBVElPTicgPG50IGRlZj0nTlQtUyc+UzwvbnQ+IDxudCBkZWY9J05ULU5hbWUnPk5hbWU8L250PiAKKzxudCBkZWY9J05ULVMnPlM8L250PiAKKyg8bnQgZGVmPSdOVC1FeHRlcm5hbElEJz5FeHRlcm5hbElEPC9udD4gfCAKKzxudCBkZWY9J05ULVB1YmxpY0lEJz5QdWJsaWNJRDwvbnQ+KQorPG50IGRlZj0nTlQtUyc+UzwvbnQ+PyAnPic8L3Jocz48L3Byb2Q+Cis8cHJvZCBpZD0nTlQtUHVibGljSUQnPjxsaHM+UHVibGljSUQ8L2xocz4KKzxyaHM+J1BVQkxJQycgPG50IGRlZj0nTlQtUyc+UzwvbnQ+IAorPG50IGRlZj0nTlQtUHViaWRMaXRlcmFsJz5QdWJpZExpdGVyYWw8L250PiAKKzwvcmhzPjwvcHJvZD4KKzwvc2NyYXA+Cis8L3Rlcm1kZWY+PC9wPgorPHA+WE1MIHByb2Nlc3NvcnMgbXVzdCBwcm92aWRlIGFwcGxpY2F0aW9ucyB3aXRoIHRoZSBuYW1lIGFuZCBleHRlcm5hbAoraWRlbnRpZmllcihzKSBvZiBhbnkgbm90YXRpb24gZGVjbGFyZWQgYW5kIHJlZmVycmVkIHRvIGluIGFuIGF0dHJpYnV0ZQordmFsdWUsIGF0dHJpYnV0ZSBkZWZpbml0aW9uLCBvciBlbnRpdHkgZGVjbGFyYXRpb24uICBUaGV5IG1heQorYWRkaXRpb25hbGx5IHJlc29sdmUgdGhlIGV4dGVybmFsIGlkZW50aWZpZXIgaW50byB0aGUKKzx0ZXJtcmVmIGRlZj0iZHQtc3lzaWQiPnN5c3RlbSBpZGVudGlmaWVyPC90ZXJtcmVmPiwKK2ZpbGUgbmFtZSwgb3Igb3RoZXIgaW5mb3JtYXRpb24gbmVlZGVkIHRvIGFsbG93IHRoZQorYXBwbGljYXRpb24gdG8gY2FsbCBhIHByb2Nlc3NvciBmb3IgZGF0YSBpbiB0aGUgbm90YXRpb24gZGVzY3JpYmVkLiAgKEl0CitpcyBub3QgYW4gZXJyb3IsIGhvd2V2ZXIsIGZvciBYTUwgZG9jdW1lbnRzIHRvIGRlY2xhcmUgYW5kIHJlZmVyIHRvCitub3RhdGlvbnMgZm9yIHdoaWNoIG5vdGF0aW9uLXNwZWNpZmljIGFwcGxpY2F0aW9ucyBhcmUgbm90IGF2YWlsYWJsZSBvbgordGhlIHN5c3RlbSB3aGVyZSB0aGUgWE1MIHByb2Nlc3NvciBvciBhcHBsaWNhdGlvbiBpcyBydW5uaW5nLik8L3A+Cis8L2RpdjI+CisKKyAKKzxkaXYyIGlkPSdzZWMtZG9jLWVudGl0eSc+Cis8aGVhZD5Eb2N1bWVudCBFbnRpdHk8L2hlYWQ+CisgCis8cD48dGVybWRlZiBpZD0iZHQtZG9jZW50IiB0ZXJtPSJEb2N1bWVudCBFbnRpdHkiPlRoZSA8dGVybT5kb2N1bWVudAorZW50aXR5PC90ZXJtPiBzZXJ2ZXMgYXMgdGhlIHJvb3Qgb2YgdGhlIGVudGl0eQordHJlZSBhbmQgYSBzdGFydGluZy1wb2ludCBmb3IgYW4gPHRlcm1yZWYgZGVmPSJkdC14bWwtcHJvYyI+WE1MCitwcm9jZXNzb3I8L3Rlcm1yZWY+LjwvdGVybWRlZj4KK1RoaXMgc3BlY2lmaWNhdGlvbiBkb2VzCitub3Qgc3BlY2lmeSBob3cgdGhlIGRvY3VtZW50IGVudGl0eSBpcyB0byBiZSBsb2NhdGVkIGJ5IGFuIFhNTAorcHJvY2Vzc29yOyB1bmxpa2Ugb3RoZXIgZW50aXRpZXMsIHRoZSBkb2N1bWVudCBlbnRpdHkgaGFzIG5vIG5hbWUgYW5kIG1pZ2h0Cit3ZWxsIGFwcGVhciBvbiBhIHByb2Nlc3NvciBpbnB1dCBzdHJlYW0gCit3aXRob3V0IGFueSBpZGVudGlmaWNhdGlvbiBhdCBhbGwuPC9wPgorPC9kaXYyPgorCisKKzwvZGl2MT4KKzwhLS0gJkNvbmZvcm1hbmNlOyAtLT4KKyAKKzxkaXYxIGlkPSdzZWMtY29uZm9ybWFuY2UnPgorPGhlYWQ+Q29uZm9ybWFuY2U8L2hlYWQ+CisgCis8ZGl2MiBpZD0ncHJvYy10eXBlcyc+Cis8aGVhZD5WYWxpZGF0aW5nIGFuZCBOb24tVmFsaWRhdGluZyBQcm9jZXNzb3JzPC9oZWFkPgorPHA+Q29uZm9ybWluZyA8dGVybXJlZiBkZWY9ImR0LXhtbC1wcm9jIj5YTUwgcHJvY2Vzc29yczwvdGVybXJlZj4gZmFsbCBpbnRvIHR3bworY2xhc3NlczogdmFsaWRhdGluZyBhbmQgbm9uLXZhbGlkYXRpbmcuPC9wPgorPHA+VmFsaWRhdGluZyBhbmQgbm9uLXZhbGlkYXRpbmcgcHJvY2Vzc29ycyBhbGlrZSBtdXN0IHJlcG9ydAordmlvbGF0aW9ucyBvZiB0aGlzIHNwZWNpZmljYXRpb24ncyB3ZWxsLWZvcm1lZG5lc3MgY29uc3RyYWludHMKK2luIHRoZSBjb250ZW50IG9mIHRoZQorPHRlcm1yZWYgZGVmPSdkdC1kb2NlbnQnPmRvY3VtZW50IGVudGl0eTwvdGVybXJlZj4gYW5kIGFueSAKK290aGVyIDx0ZXJtcmVmIGRlZj0nZHQtcGFyc2VkZW50Jz5wYXJzZWQgZW50aXRpZXM8L3Rlcm1yZWY+IHRoYXQgCit0aGV5IHJlYWQuPC9wPgorPHA+PHRlcm1kZWYgaWQ9ImR0LXZhbGlkYXRpbmciIHRlcm09IlZhbGlkYXRpbmcgUHJvY2Vzc29yIj4KKzx0ZXJtPlZhbGlkYXRpbmcgcHJvY2Vzc29yczwvdGVybT4gbXVzdCByZXBvcnQKK3Zpb2xhdGlvbnMgb2YgdGhlIGNvbnN0cmFpbnRzIGV4cHJlc3NlZCBieSB0aGUgZGVjbGFyYXRpb25zIGluIHRoZQorPHRlcm1yZWYgZGVmPSJkdC1kb2N0eXBlIj5EVEQ8L3Rlcm1yZWY+LCBhbmQKK2ZhaWx1cmVzIHRvIGZ1bGZpbGwgdGhlIHZhbGlkaXR5IGNvbnN0cmFpbnRzIGdpdmVuCitpbiB0aGlzIHNwZWNpZmljYXRpb24uCis8L3Rlcm1kZWY+CitUbyBhY2NvbXBsaXNoIHRoaXMsIHZhbGlkYXRpbmcgWE1MIHByb2Nlc3NvcnMgbXVzdCByZWFkIGFuZCBwcm9jZXNzIHRoZSBlbnRpcmUKK0RURCBhbmQgYWxsIGV4dGVybmFsIHBhcnNlZCBlbnRpdGllcyByZWZlcmVuY2VkIGluIHRoZSBkb2N1bWVudC4KKzwvcD4KKzxwPk5vbi12YWxpZGF0aW5nIHByb2Nlc3NvcnMgYXJlIHJlcXVpcmVkIHRvIGNoZWNrIG9ubHkgdGhlIAorPHRlcm1yZWYgZGVmPSdkdC1kb2NlbnQnPmRvY3VtZW50IGVudGl0eTwvdGVybXJlZj4sIGluY2x1ZGluZwordGhlIGVudGlyZSBpbnRlcm5hbCBEVEQgc3Vic2V0LCBmb3Igd2VsbC1mb3JtZWRuZXNzLgorPHRlcm1kZWYgaWQ9J2R0LXVzZS1tZGVjbCcgdGVybT0nUHJvY2VzcyBEZWNsYXJhdGlvbnMnPgorV2hpbGUgdGhleSBhcmUgbm90IHJlcXVpcmVkIHRvIGNoZWNrIHRoZSBkb2N1bWVudCBmb3IgdmFsaWRpdHksCit0aGV5IGFyZSByZXF1aXJlZCB0byAKKzx0ZXJtPnByb2Nlc3M8L3Rlcm0+IGFsbCB0aGUgZGVjbGFyYXRpb25zIHRoZXkgcmVhZCBpbiB0aGUKK2ludGVybmFsIERURCBzdWJzZXQgYW5kIGluIGFueSBwYXJhbWV0ZXIgZW50aXR5IHRoYXQgdGhleQorcmVhZCwgdXAgdG8gdGhlIGZpcnN0IHJlZmVyZW5jZQordG8gYSBwYXJhbWV0ZXIgZW50aXR5IHRoYXQgdGhleSBkbyA8ZW1waD5ub3Q8L2VtcGg+IHJlYWQ7IHRoYXQgaXMgdG8gCitzYXksIHRoZXkgbXVzdAordXNlIHRoZSBpbmZvcm1hdGlvbiBpbiB0aG9zZSBkZWNsYXJhdGlvbnMgdG8KKzx0aXRsZXJlZiBocmVmPSdBVk5vcm1hbGl6ZSc+bm9ybWFsaXplPC90aXRsZXJlZj4gYXR0cmlidXRlIHZhbHVlcywKKzx0aXRsZXJlZiBocmVmPSdpbmNsdWRlZCc+aW5jbHVkZTwvdGl0bGVyZWY+IHRoZSByZXBsYWNlbWVudCB0ZXh0IG9mIAoraW50ZXJuYWwgZW50aXRpZXMsIGFuZCBzdXBwbHkgCis8dGl0bGVyZWYgaHJlZj0nc2VjLWF0dHItZGVmYXVsdHMnPmRlZmF1bHQgYXR0cmlidXRlIHZhbHVlczwvdGl0bGVyZWY+LgorPC90ZXJtZGVmPgorVGhleSBtdXN0IG5vdCA8dGVybXJlZiBkZWY9J2R0LXVzZS1tZGVjbCc+cHJvY2VzczwvdGVybXJlZj4KKzx0ZXJtcmVmIGRlZj0nZHQtZW50ZGVjbCc+ZW50aXR5IGRlY2xhcmF0aW9uczwvdGVybXJlZj4gb3IgCis8dGVybXJlZiBkZWY9J2R0LWF0dGRlY2wnPmF0dHJpYnV0ZS1saXN0IGRlY2xhcmF0aW9uczwvdGVybXJlZj4gCitlbmNvdW50ZXJlZCBhZnRlciBhIHJlZmVyZW5jZSB0byBhIHBhcmFtZXRlciBlbnRpdHkgdGhhdCBpcyBub3QKK3JlYWQsIHNpbmNlIHRoZSBlbnRpdHkgbWF5IGhhdmUgY29udGFpbmVkIG92ZXJyaWRpbmcgZGVjbGFyYXRpb25zLgorPC9wPgorPC9kaXYyPgorPGRpdjIgaWQ9J3NhZmUtYmVoYXZpb3InPgorPGhlYWQ+VXNpbmcgWE1MIFByb2Nlc3NvcnM8L2hlYWQ+Cis8cD5UaGUgYmVoYXZpb3Igb2YgYSB2YWxpZGF0aW5nIFhNTCBwcm9jZXNzb3IgaXMgaGlnaGx5IHByZWRpY3RhYmxlOyBpdAorbXVzdCByZWFkIGV2ZXJ5IHBpZWNlIG9mIGEgZG9jdW1lbnQgYW5kIHJlcG9ydCBhbGwgd2VsbC1mb3JtZWRuZXNzIGFuZAordmFsaWRpdHkgdmlvbGF0aW9ucy4KK0xlc3MgaXMgcmVxdWlyZWQgb2YgYSBub24tdmFsaWRhdGluZyBwcm9jZXNzb3I7IGl0IG5lZWQgbm90IHJlYWQgYW55CitwYXJ0IG9mIHRoZSBkb2N1bWVudCBvdGhlciB0aGFuIHRoZSBkb2N1bWVudCBlbnRpdHkuCitUaGlzIGhhcyB0d28gZWZmZWN0cyB0aGF0IG1heSBiZSBpbXBvcnRhbnQgdG8gdXNlcnMgb2YgWE1MIHByb2Nlc3NvcnM6Cis8dWxpc3Q+Cis8aXRlbT48cD5DZXJ0YWluIHdlbGwtZm9ybWVkbmVzcyBlcnJvcnMsIHNwZWNpZmljYWxseSB0aG9zZSB0aGF0IHJlcXVpcmUKK3JlYWRpbmcgZXh0ZXJuYWwgZW50aXRpZXMsIG1heSBub3QgYmUgZGV0ZWN0ZWQgYnkgYSBub24tdmFsaWRhdGluZyBwcm9jZXNzb3IuCitFeGFtcGxlcyBpbmNsdWRlIHRoZSBjb25zdHJhaW50cyBlbnRpdGxlZCAKKzx0aXRsZXJlZiBocmVmPSd3Zi1lbnRkZWNsYXJlZCc+RW50aXR5IERlY2xhcmVkPC90aXRsZXJlZj4sIAorPHRpdGxlcmVmIGhyZWY9J3dmLXRleHRlbnQnPlBhcnNlZCBFbnRpdHk8L3RpdGxlcmVmPiwgYW5kCis8dGl0bGVyZWYgaHJlZj0nd2Ytbm9yZWN1cnNpb24nPk5vIFJlY3Vyc2lvbjwvdGl0bGVyZWY+LCBhcyB3ZWxsCithcyBzb21lIG9mIHRoZSBjYXNlcyBkZXNjcmliZWQgYXMKKzx0aXRsZXJlZiBocmVmPSdmb3JiaWRkZW4nPmZvcmJpZGRlbjwvdGl0bGVyZWY+IGluIAorPHNwZWNyZWYgcmVmPSdlbnRwcm9jJy8+LjwvcD48L2l0ZW0+Cis8aXRlbT48cD5UaGUgaW5mb3JtYXRpb24gcGFzc2VkIGZyb20gdGhlIHByb2Nlc3NvciB0byB0aGUgYXBwbGljYXRpb24gbWF5Cit2YXJ5LCBkZXBlbmRpbmcgb24gd2hldGhlciB0aGUgcHJvY2Vzc29yIHJlYWRzCitwYXJhbWV0ZXIgYW5kIGV4dGVybmFsIGVudGl0aWVzLgorRm9yIGV4YW1wbGUsIGEgbm9uLXZhbGlkYXRpbmcgcHJvY2Vzc29yIG1heSBub3QgCis8dGl0bGVyZWYgaHJlZj0nQVZOb3JtYWxpemUnPm5vcm1hbGl6ZTwvdGl0bGVyZWY+IGF0dHJpYnV0ZSB2YWx1ZXMsCis8dGl0bGVyZWYgaHJlZj0naW5jbHVkZWQnPmluY2x1ZGU8L3RpdGxlcmVmPiB0aGUgcmVwbGFjZW1lbnQgdGV4dCBvZiAKK2ludGVybmFsIGVudGl0aWVzLCBvciBzdXBwbHkgCis8dGl0bGVyZWYgaHJlZj0nc2VjLWF0dHItZGVmYXVsdHMnPmRlZmF1bHQgYXR0cmlidXRlIHZhbHVlczwvdGl0bGVyZWY+LAord2hlcmUgZG9pbmcgc28gZGVwZW5kcyBvbiBoYXZpbmcgcmVhZCBkZWNsYXJhdGlvbnMgaW4gCitleHRlcm5hbCBvciBwYXJhbWV0ZXIgZW50aXRpZXMuPC9wPjwvaXRlbT4KKzwvdWxpc3Q+Cis8L3A+Cis8cD5Gb3IgbWF4aW11bSByZWxpYWJpbGl0eSBpbiBpbnRlcm9wZXJhdGluZyBiZXR3ZWVuIGRpZmZlcmVudCBYTUwKK3Byb2Nlc3NvcnMsIGFwcGxpY2F0aW9ucyB3aGljaCB1c2Ugbm9uLXZhbGlkYXRpbmcgcHJvY2Vzc29ycyBzaG91bGQgbm90IAorcmVseSBvbiBhbnkgYmVoYXZpb3JzIG5vdCByZXF1aXJlZCBvZiBzdWNoIHByb2Nlc3NvcnMuCitBcHBsaWNhdGlvbnMgd2hpY2ggcmVxdWlyZSBmYWNpbGl0aWVzIHN1Y2ggYXMgdGhlIHVzZSBvZiBkZWZhdWx0CithdHRyaWJ1dGVzIG9yIGludGVybmFsIGVudGl0aWVzIHdoaWNoIGFyZSBkZWNsYXJlZCBpbiBleHRlcm5hbAorZW50aXRpZXMgc2hvdWxkIHVzZSB2YWxpZGF0aW5nIFhNTCBwcm9jZXNzb3JzLjwvcD4KKzwvZGl2Mj4KKzwvZGl2MT4KKworPGRpdjEgaWQ9J3NlYy1ub3RhdGlvbic+Cis8aGVhZD5Ob3RhdGlvbjwvaGVhZD4KKyAKKzxwPlRoZSBmb3JtYWwgZ3JhbW1hciBvZiBYTUwgaXMgZ2l2ZW4gaW4gdGhpcyBzcGVjaWZpY2F0aW9uIHVzaW5nIGEgc2ltcGxlCitFeHRlbmRlZCBCYWNrdXMtTmF1ciBGb3JtIChFQk5GKSBub3RhdGlvbi4gIEVhY2ggcnVsZSBpbiB0aGUgZ3JhbW1hciBkZWZpbmVzCitvbmUgc3ltYm9sLCBpbiB0aGUgZm9ybQorPGVnPnN5bWJvbCA6Oj0gZXhwcmVzc2lvbjwvZWc+PC9wPgorPHA+U3ltYm9scyBhcmUgd3JpdHRlbiB3aXRoIGFuIGluaXRpYWwgY2FwaXRhbCBsZXR0ZXIgaWYgdGhleSBhcmUKK2RlZmluZWQgYnkgYSByZWd1bGFyIGV4cHJlc3Npb24sIG9yIHdpdGggYW4gaW5pdGlhbCBsb3dlciBjYXNlIGxldHRlciAKK290aGVyd2lzZS4KK0xpdGVyYWwgc3RyaW5ncyBhcmUgcXVvdGVkLgorCis8L3A+CisKKzxwPldpdGhpbiB0aGUgZXhwcmVzc2lvbiBvbiB0aGUgcmlnaHQtaGFuZCBzaWRlIG9mIGEgcnVsZSwgdGhlIGZvbGxvd2luZworZXhwcmVzc2lvbnMgYXJlIHVzZWQgdG8gbWF0Y2ggc3RyaW5ncyBvZiBvbmUgb3IgbW9yZSBjaGFyYWN0ZXJzOgorPGdsaXN0PgorPGdpdGVtPgorPGxhYmVsPjxjb2RlPiN4TjwvY29kZT48L2xhYmVsPgorPGRlZj48cD53aGVyZSA8Y29kZT5OPC9jb2RlPiBpcyBhIGhleGFkZWNpbWFsIGludGVnZXIsIHRoZQorZXhwcmVzc2lvbiBtYXRjaGVzIHRoZSBjaGFyYWN0ZXIgaW4gSVNPL0lFQyAxMDY0NiB3aG9zZSBjYW5vbmljYWwKKyhVQ1MtNCkgCitjb2RlIHZhbHVlLCB3aGVuIGludGVycHJldGVkIGFzIGFuIHVuc2lnbmVkIGJpbmFyeSBudW1iZXIsIGhhcwordGhlIHZhbHVlIGluZGljYXRlZC4gIFRoZSBudW1iZXIgb2YgbGVhZGluZyB6ZXJvcyBpbiB0aGUKKzxjb2RlPiN4TjwvY29kZT4gZm9ybSBpcyBpbnNpZ25pZmljYW50OyB0aGUgbnVtYmVyIG9mIGxlYWRpbmcKK3plcm9zIGluIHRoZSBjb3JyZXNwb25kaW5nIGNvZGUgdmFsdWUgCitpcyBnb3Zlcm5lZCBieSB0aGUgY2hhcmFjdGVyCitlbmNvZGluZyBpbiB1c2UgYW5kIGlzIG5vdCBzaWduaWZpY2FudCBmb3IgWE1MLjwvcD48L2RlZj4KKzwvZ2l0ZW0+Cis8Z2l0ZW0+Cis8bGFiZWw+PGNvZGU+W2EtekEtWl08L2NvZGU+LCA8Y29kZT5bI3hOLSN4Tl08L2NvZGU+PC9sYWJlbD4KKzxkZWY+PHA+bWF0Y2hlcyBhbnkgPHRlcm1yZWYgZGVmPSdkdC1jaGFyYWN0ZXInPmNoYXJhY3RlcjwvdGVybXJlZj4gCit3aXRoIGEgdmFsdWUgaW4gdGhlIHJhbmdlKHMpIGluZGljYXRlZCAoaW5jbHVzaXZlKS48L3A+PC9kZWY+Cis8L2dpdGVtPgorPGdpdGVtPgorPGxhYmVsPjxjb2RlPlteYS16XTwvY29kZT4sIDxjb2RlPlteI3hOLSN4Tl08L2NvZGU+PC9sYWJlbD4KKzxkZWY+PHA+bWF0Y2hlcyBhbnkgPHRlcm1yZWYgZGVmPSdkdC1jaGFyYWN0ZXInPmNoYXJhY3RlcjwvdGVybXJlZj4gCit3aXRoIGEgdmFsdWUgPGVtcGg+b3V0c2lkZTwvZW1waD4gdGhlCityYW5nZSBpbmRpY2F0ZWQuPC9wPjwvZGVmPgorPC9naXRlbT4KKzxnaXRlbT4KKzxsYWJlbD48Y29kZT5bXmFiY108L2NvZGU+LCA8Y29kZT5bXiN4TiN4TiN4Tl08L2NvZGU+PC9sYWJlbD4KKzxkZWY+PHA+bWF0Y2hlcyBhbnkgPHRlcm1yZWYgZGVmPSdkdC1jaGFyYWN0ZXInPmNoYXJhY3RlcjwvdGVybXJlZj4KK3dpdGggYSB2YWx1ZSBub3QgYW1vbmcgdGhlIGNoYXJhY3RlcnMgZ2l2ZW4uPC9wPjwvZGVmPgorPC9naXRlbT4KKzxnaXRlbT4KKzxsYWJlbD48Y29kZT4ic3RyaW5nIjwvY29kZT48L2xhYmVsPgorPGRlZj48cD5tYXRjaGVzIGEgbGl0ZXJhbCBzdHJpbmcgPHRlcm1yZWYgZGVmPSJkdC1tYXRjaCI+bWF0Y2hpbmc8L3Rlcm1yZWY+Cit0aGF0IGdpdmVuIGluc2lkZSB0aGUgZG91YmxlIHF1b3Rlcy48L3A+PC9kZWY+Cis8L2dpdGVtPgorPGdpdGVtPgorPGxhYmVsPjxjb2RlPidzdHJpbmcnPC9jb2RlPjwvbGFiZWw+Cis8ZGVmPjxwPm1hdGNoZXMgYSBsaXRlcmFsIHN0cmluZyA8dGVybXJlZiBkZWY9ImR0LW1hdGNoIj5tYXRjaGluZzwvdGVybXJlZj4KK3RoYXQgZ2l2ZW4gaW5zaWRlIHRoZSBzaW5nbGUgcXVvdGVzLjwvcD48L2RlZj4KKzwvZ2l0ZW0+Cis8L2dsaXN0PgorVGhlc2Ugc3ltYm9scyBtYXkgYmUgY29tYmluZWQgdG8gbWF0Y2ggbW9yZSBjb21wbGV4IHBhdHRlcm5zIGFzIGZvbGxvd3MsCit3aGVyZSA8Y29kZT5BPC9jb2RlPiBhbmQgPGNvZGU+QjwvY29kZT4gcmVwcmVzZW50IHNpbXBsZSBleHByZXNzaW9uczoKKzxnbGlzdD4KKzxnaXRlbT4KKzxsYWJlbD4oPGNvZGU+ZXhwcmVzc2lvbjwvY29kZT4pPC9sYWJlbD4KKzxkZWY+PHA+PGNvZGU+ZXhwcmVzc2lvbjwvY29kZT4gaXMgdHJlYXRlZCBhcyBhIHVuaXQgCithbmQgbWF5IGJlIGNvbWJpbmVkIGFzIGRlc2NyaWJlZCBpbiB0aGlzIGxpc3QuPC9wPjwvZGVmPgorPC9naXRlbT4KKzxnaXRlbT4KKzxsYWJlbD48Y29kZT5BPzwvY29kZT48L2xhYmVsPgorPGRlZj48cD5tYXRjaGVzIDxjb2RlPkE8L2NvZGU+IG9yIG5vdGhpbmc7IG9wdGlvbmFsIDxjb2RlPkE8L2NvZGU+LjwvcD48L2RlZj4KKzwvZ2l0ZW0+Cis8Z2l0ZW0+Cis8bGFiZWw+PGNvZGU+QSBCPC9jb2RlPjwvbGFiZWw+Cis8ZGVmPjxwPm1hdGNoZXMgPGNvZGU+QTwvY29kZT4gZm9sbG93ZWQgYnkgPGNvZGU+QjwvY29kZT4uPC9wPjwvZGVmPgorPC9naXRlbT4KKzxnaXRlbT4KKzxsYWJlbD48Y29kZT5BIHwgQjwvY29kZT48L2xhYmVsPgorPGRlZj48cD5tYXRjaGVzIDxjb2RlPkE8L2NvZGU+IG9yIDxjb2RlPkI8L2NvZGU+IGJ1dCBub3QgYm90aC48L3A+PC9kZWY+Cis8L2dpdGVtPgorPGdpdGVtPgorPGxhYmVsPjxjb2RlPkEgLSBCPC9jb2RlPjwvbGFiZWw+Cis8ZGVmPjxwPm1hdGNoZXMgYW55IHN0cmluZyB0aGF0IG1hdGNoZXMgPGNvZGU+QTwvY29kZT4gYnV0IGRvZXMgbm90IG1hdGNoCis8Y29kZT5CPC9jb2RlPi4KKzwvcD48L2RlZj4KKzwvZ2l0ZW0+Cis8Z2l0ZW0+Cis8bGFiZWw+PGNvZGU+QSs8L2NvZGU+PC9sYWJlbD4KKzxkZWY+PHA+bWF0Y2hlcyBvbmUgb3IgbW9yZSBvY2N1cnJlbmNlcyBvZiA8Y29kZT5BPC9jb2RlPi48L3A+PC9kZWY+Cis8L2dpdGVtPgorPGdpdGVtPgorPGxhYmVsPjxjb2RlPkEqPC9jb2RlPjwvbGFiZWw+Cis8ZGVmPjxwPm1hdGNoZXMgemVybyBvciBtb3JlIG9jY3VycmVuY2VzIG9mIDxjb2RlPkE8L2NvZGU+LjwvcD48L2RlZj4KKzwvZ2l0ZW0+CisKKzwvZ2xpc3Q+CitPdGhlciBub3RhdGlvbnMgdXNlZCBpbiB0aGUgcHJvZHVjdGlvbnMgYXJlOgorPGdsaXN0PgorPGdpdGVtPgorPGxhYmVsPjxjb2RlPi8qIC4uLiAqLzwvY29kZT48L2xhYmVsPgorPGRlZj48cD5jb21tZW50LjwvcD48L2RlZj4KKzwvZ2l0ZW0+Cis8Z2l0ZW0+Cis8bGFiZWw+PGNvZGU+WyB3ZmM6IC4uLiBdPC9jb2RlPjwvbGFiZWw+Cis8ZGVmPjxwPndlbGwtZm9ybWVkbmVzcyBjb25zdHJhaW50OyB0aGlzIGlkZW50aWZpZXMgYnkgbmFtZSBhIAorY29uc3RyYWludCBvbiAKKzx0ZXJtcmVmIGRlZj0iZHQtd2VsbGZvcm1lZCI+d2VsbC1mb3JtZWQ8L3Rlcm1yZWY+IGRvY3VtZW50cworYXNzb2NpYXRlZCB3aXRoIGEgcHJvZHVjdGlvbi48L3A+PC9kZWY+Cis8L2dpdGVtPgorPGdpdGVtPgorPGxhYmVsPjxjb2RlPlsgdmM6IC4uLiBdPC9jb2RlPjwvbGFiZWw+Cis8ZGVmPjxwPnZhbGlkaXR5IGNvbnN0cmFpbnQ7IHRoaXMgaWRlbnRpZmllcyBieSBuYW1lIGEgY29uc3RyYWludCBvbgorPHRlcm1yZWYgZGVmPSJkdC12YWxpZCI+dmFsaWQ8L3Rlcm1yZWY+IGRvY3VtZW50cyBhc3NvY2lhdGVkIHdpdGgKK2EgcHJvZHVjdGlvbi48L3A+PC9kZWY+Cis8L2dpdGVtPgorPC9nbGlzdD4KKzwvcD48L2RpdjE+CisKKzwvYm9keT4KKzxiYWNrPgorPCEtLSAmU0dNTDsgLS0+CisgCisKKzwhLS0gJkJpYmxpbzsgLS0+Cis8ZGl2MSBpZD0nc2VjLWJpYmxpb2dyYXBoeSc+CisKKzxoZWFkPlJlZmVyZW5jZXM8L2hlYWQ+Cis8ZGl2MiBpZD0nc2VjLWV4aXN0aW5nLXN0ZHMnPgorPGhlYWQ+Tm9ybWF0aXZlIFJlZmVyZW5jZXM8L2hlYWQ+CisKKzxibGlzdD4KKzxiaWJsIGlkPSdJQU5BJyBrZXk9J0lBTkEnPgorKEludGVybmV0IEFzc2lnbmVkIE51bWJlcnMgQXV0aG9yaXR5KSA8ZW1waD5PZmZpY2lhbCBOYW1lcyBmb3IgCitDaGFyYWN0ZXIgU2V0czwvZW1waD4sCitlZC4gS2VsZCBTaW1vbnNlbiBldCBhbC4KK1NlZSA8bG9jIGhyZWY9J2Z0cDovL2Z0cC5pc2kuZWR1L2luLW5vdGVzL2lhbmEvYXNzaWdubWVudHMvY2hhcmFjdGVyLXNldHMnPmZ0cDovL2Z0cC5pc2kuZWR1L2luLW5vdGVzL2lhbmEvYXNzaWdubWVudHMvY2hhcmFjdGVyLXNldHM8L2xvYz4uCis8L2JpYmw+CisKKzxiaWJsIGlkPSdSRkMxNzY2JyBrZXk9J0lFVEYgUkZDIDE3NjYnPgorSUVURiAoSW50ZXJuZXQgRW5naW5lZXJpbmcgVGFzayBGb3JjZSkuCis8ZW1waD5SRkMgMTc2NjogIFRhZ3MgZm9yIHRoZSBJZGVudGlmaWNhdGlvbiBvZiBMYW5ndWFnZXM8L2VtcGg+LAorZWQuIEguIEFsdmVzdHJhbmQuCisxOTk1LgorPC9iaWJsPgorCis8YmlibCBpZD0nSVNPNjM5JyBrZXk9J0lTTyA2MzknPgorKEludGVybmF0aW9uYWwgT3JnYW5pemF0aW9uIGZvciBTdGFuZGFyZGl6YXRpb24pLgorPGVtcGg+SVNPIDYzOToxOTg4IChFKS4KK0NvZGUgZm9yIHRoZSByZXByZXNlbnRhdGlvbiBvZiBuYW1lcyBvZiBsYW5ndWFnZXMuPC9lbXBoPgorW0dlbmV2YV06ICBJbnRlcm5hdGlvbmFsIE9yZ2FuaXphdGlvbiBmb3IKK1N0YW5kYXJkaXphdGlvbiwgMTk4OC48L2JpYmw+CisKKzxiaWJsIGlkPSdJU08zMTY2JyBrZXk9J0lTTyAzMTY2Jz4KKyhJbnRlcm5hdGlvbmFsIE9yZ2FuaXphdGlvbiBmb3IgU3RhbmRhcmRpemF0aW9uKS4KKzxlbXBoPklTTyAzMTY2LTE6MTk5NyAoRSkuCitDb2RlcyBmb3IgdGhlIHJlcHJlc2VudGF0aW9uIG9mIG5hbWVzIG9mIGNvdW50cmllcyBhbmQgdGhlaXIgc3ViZGl2aXNpb25zIAorJm1kYXNoOyBQYXJ0IDE6IENvdW50cnkgY29kZXM8L2VtcGg+CitbR2VuZXZhXTogIEludGVybmF0aW9uYWwgT3JnYW5pemF0aW9uIGZvcgorU3RhbmRhcmRpemF0aW9uLCAxOTk3LjwvYmlibD4KKworPGJpYmwgaWQ9J0lTTzEwNjQ2JyBrZXk9J0lTTy9JRUMgMTA2NDYnPklTTworKEludGVybmF0aW9uYWwgT3JnYW5pemF0aW9uIGZvciBTdGFuZGFyZGl6YXRpb24pLgorPGVtcGg+SVNPL0lFQyAxMDY0Ni0xOTkzIChFKS4gIEluZm9ybWF0aW9uIHRlY2hub2xvZ3kgJm1kYXNoOyBVbml2ZXJzYWwKK011bHRpcGxlLU9jdGV0IENvZGVkIENoYXJhY3RlciBTZXQgKFVDUykgJm1kYXNoOyBQYXJ0IDE6CitBcmNoaXRlY3R1cmUgYW5kIEJhc2ljIE11bHRpbGluZ3VhbCBQbGFuZS48L2VtcGg+CitbR2VuZXZhXTogIEludGVybmF0aW9uYWwgT3JnYW5pemF0aW9uIGZvcgorU3RhbmRhcmRpemF0aW9uLCAxOTkzIChwbHVzIGFtZW5kbWVudHMgQU0gMSB0aHJvdWdoIEFNIDcpLgorPC9iaWJsPgorCis8YmlibCBpZD0nVW5pY29kZScga2V5PSdVbmljb2RlJz5UaGUgVW5pY29kZSBDb25zb3J0aXVtLgorPGVtcGg+VGhlIFVuaWNvZGUgU3RhbmRhcmQsIFZlcnNpb24gMi4wLjwvZW1waD4KK1JlYWRpbmcsIE1hc3MuOiAgQWRkaXNvbi1XZXNsZXkgRGV2ZWxvcGVycyBQcmVzcywgMTk5Ni48L2JpYmw+CisKKzwvYmxpc3Q+CisKKzwvZGl2Mj4KKworPGRpdjI+PGhlYWQ+T3RoZXIgUmVmZXJlbmNlczwvaGVhZD4gCisKKzxibGlzdD4KKworPGJpYmwgaWQ9J0Fobycga2V5PSdBaG8vVWxsbWFuJz5BaG8sIEFsZnJlZCBWLiwgCitSYXZpIFNldGhpLCBhbmQgSmVmZnJleSBELiBVbGxtYW4uCis8ZW1waD5Db21waWxlcnM6ICBQcmluY2lwbGVzLCBUZWNobmlxdWVzLCBhbmQgVG9vbHM8L2VtcGg+LgorUmVhZGluZzogIEFkZGlzb24tV2VzbGV5LCAxOTg2LCBycHQuIGNvcnIuIDE5ODguPC9iaWJsPgorCis8YmlibCBpZD0iQmVybmVycy1MZWUiIHhtbC1saW5rPSJzaW1wbGUiIGtleT0iQmVybmVycy1MZWUgZXQgYWwuIj4KK0Jlcm5lcnMtTGVlLCBULiwgUi4gRmllbGRpbmcsIGFuZCBMLiBNYXNpbnRlci4KKzxlbXBoPlVuaWZvcm0gUmVzb3VyY2UgSWRlbnRpZmllcnMgKFVSSSk6ICBHZW5lcmljIFN5bnRheCBhbmQKK1NlbWFudGljczwvZW1waD4uCisxOTk3LgorKFdvcmsgaW4gcHJvZ3Jlc3M7IHNlZSB1cGRhdGVzIHRvIFJGQzE3MzguKTwvYmlibD4KKworPGJpYmwgaWQ9J0FCSycga2V5PSdCcvxnZ2VtYW5uLUtsZWluJz5CcvxnZ2VtYW5uLUtsZWluLCBBbm5lLgorPGVtcGg+UmVndWxhciBFeHByZXNzaW9ucyBpbnRvIEZpbml0ZSBBdXRvbWF0YTwvZW1waD4uCitFeHRlbmRlZCBhYnN0cmFjdCBpbiBJLiBTaW1vbiwgSHJzZy4sIExBVElOIDE5OTIsIAorUy4gOTctOTguIFNwcmluZ2VyLVZlcmxhZywgQmVybGluIDE5OTIuIAorRnVsbCBWZXJzaW9uIGluIFRoZW9yZXRpY2FsIENvbXB1dGVyIFNjaWVuY2UgMTIwOiAxOTctMjEzLCAxOTkzLgorCis8L2JpYmw+CisKKzxiaWJsIGlkPSdBQktEVycga2V5PSdCcvxnZ2VtYW5uLUtsZWluIGFuZCBXb29kJz5CcvxnZ2VtYW5uLUtsZWluLCBBbm5lLAorYW5kIERlcmljayBXb29kLgorPGVtcGg+RGV0ZXJtaW5pc3RpYyBSZWd1bGFyIExhbmd1YWdlczwvZW1waD4uCitVbml2ZXJzaXTkdCBGcmVpYnVyZywgSW5zdGl0dXQgZvxyIEluZm9ybWF0aWssCitCZXJpY2h0IDM4LCBPa3RvYmVyIDE5OTEuCis8L2JpYmw+CisKKzxiaWJsIGlkPSdDbGFyaycga2V5PSdDbGFyayc+SmFtZXMgQ2xhcmsuCitDb21wYXJpc29uIG9mIFNHTUwgYW5kIFhNTC4gU2VlCis8bG9jIGhyZWY9J2h0dHA6Ly93d3cudzMub3JnL1RSL05PVEUtc2dtbC14bWwtOTcxMjE1Jz5odHRwOi8vd3d3LnczLm9yZy9UUi9OT1RFLXNnbWwteG1sLTk3MTIxNTwvbG9jPi4KKzwvYmlibD4KKzxiaWJsIGlkPSJSRkMxNzM4IiB4bWwtbGluaz0ic2ltcGxlIiBrZXk9IklFVEYgUkZDMTczOCI+CitJRVRGIChJbnRlcm5ldCBFbmdpbmVlcmluZyBUYXNrIEZvcmNlKS4KKzxlbXBoPlJGQyAxNzM4OiAgVW5pZm9ybSBSZXNvdXJjZSBMb2NhdG9ycyAoVVJMKTwvZW1waD4sIAorZWQuIFQuIEJlcm5lcnMtTGVlLCBMLiBNYXNpbnRlciwgTS4gTWNDYWhpbGwuCisxOTk0LgorPC9iaWJsPgorCis8YmlibCBpZD0iUkZDMTgwOCIgeG1sLWxpbms9InNpbXBsZSIga2V5PSJJRVRGIFJGQzE4MDgiPgorSUVURiAoSW50ZXJuZXQgRW5naW5lZXJpbmcgVGFzayBGb3JjZSkuCis8ZW1waD5SRkMgMTgwODogIFJlbGF0aXZlIFVuaWZvcm0gUmVzb3VyY2UgTG9jYXRvcnM8L2VtcGg+LCAKK2VkLiBSLiBGaWVsZGluZy4KKzE5OTUuCis8L2JpYmw+CisKKzxiaWJsIGlkPSJSRkMyMTQxIiB4bWwtbGluaz0ic2ltcGxlIiBrZXk9IklFVEYgUkZDMjE0MSI+CitJRVRGIChJbnRlcm5ldCBFbmdpbmVlcmluZyBUYXNrIEZvcmNlKS4KKzxlbXBoPlJGQyAyMTQxOiAgVVJOIFN5bnRheDwvZW1waD4sIAorZWQuIFIuIE1vYXRzLgorMTk5Ny4KKzwvYmlibD4KKworPGJpYmwgaWQ9J0lTTzg4NzknIGtleT0nSVNPIDg4NzknPklTTworKEludGVybmF0aW9uYWwgT3JnYW5pemF0aW9uIGZvciBTdGFuZGFyZGl6YXRpb24pLgorPGVtcGg+SVNPIDg4Nzk6MTk4NihFKS4gIEluZm9ybWF0aW9uIHByb2Nlc3NpbmcgJm1kYXNoOyBUZXh0IGFuZCBPZmZpY2UKK1N5c3RlbXMgJm1kYXNoOyBTdGFuZGFyZCBHZW5lcmFsaXplZCBNYXJrdXAgTGFuZ3VhZ2UgKFNHTUwpLjwvZW1waD4gIEZpcnN0CitlZGl0aW9uICZtZGFzaDsgMTk4Ni0xMC0xNS4gIFtHZW5ldmFdOiAgSW50ZXJuYXRpb25hbCBPcmdhbml6YXRpb24gZm9yCitTdGFuZGFyZGl6YXRpb24sIDE5ODYuCis8L2JpYmw+CisKKworPGJpYmwgaWQ9J0lTTzEwNzQ0JyBrZXk9J0lTTy9JRUMgMTA3NDQnPklTTworKEludGVybmF0aW9uYWwgT3JnYW5pemF0aW9uIGZvciBTdGFuZGFyZGl6YXRpb24pLgorPGVtcGg+SVNPL0lFQyAxMDc0NC0xOTkyIChFKS4gIEluZm9ybWF0aW9uIHRlY2hub2xvZ3kgJm1kYXNoOworSHlwZXJtZWRpYS9UaW1lLWJhc2VkIFN0cnVjdHVyaW5nIExhbmd1YWdlIChIeVRpbWUpLgorPC9lbXBoPgorW0dlbmV2YV06ICBJbnRlcm5hdGlvbmFsIE9yZ2FuaXphdGlvbiBmb3IKK1N0YW5kYXJkaXphdGlvbiwgMTk5Mi4KKzxlbXBoPkV4dGVuZGVkIEZhY2lsaXRpZXMgQW5uZXhlLjwvZW1waD4KK1tHZW5ldmFdOiAgSW50ZXJuYXRpb25hbCBPcmdhbml6YXRpb24gZm9yCitTdGFuZGFyZGl6YXRpb24sIDE5OTYuIAorPC9iaWJsPgorCisKKworPC9ibGlzdD4KKzwvZGl2Mj4KKzwvZGl2MT4KKzxkaXYxIGlkPSdDaGFyQ2xhc3Nlcyc+Cis8aGVhZD5DaGFyYWN0ZXIgQ2xhc3NlczwvaGVhZD4KKzxwPkZvbGxvd2luZyB0aGUgY2hhcmFjdGVyaXN0aWNzIGRlZmluZWQgaW4gdGhlIFVuaWNvZGUgc3RhbmRhcmQsCitjaGFyYWN0ZXJzIGFyZSBjbGFzc2VkIGFzIGJhc2UgY2hhcmFjdGVycyAoYW1vbmcgb3RoZXJzLCB0aGVzZQorY29udGFpbiB0aGUgYWxwaGFiZXRpYyBjaGFyYWN0ZXJzIG9mIHRoZSBMYXRpbiBhbHBoYWJldCwgd2l0aG91dAorZGlhY3JpdGljcyksIGlkZW9ncmFwaGljIGNoYXJhY3RlcnMsIGFuZCBjb21iaW5pbmcgY2hhcmFjdGVycyAoYW1vbmcKK290aGVycywgdGhpcyBjbGFzcyBjb250YWlucyBtb3N0IGRpYWNyaXRpY3MpOyB0aGVzZSBjbGFzc2VzIGNvbWJpbmUKK3RvIGZvcm0gdGhlIGNsYXNzIG9mIGxldHRlcnMuICBEaWdpdHMgYW5kIGV4dGVuZGVycyBhcmUKK2Fsc28gZGlzdGluZ3Vpc2hlZC4KKzxzY3JhcCBsYW5nPSJlYm5mIiBpZD0iQ0hBUkFDVEVSUyI+Cis8aGVhZD5DaGFyYWN0ZXJzPC9oZWFkPgorPHByb2Rncm91cCBwY3czPSIzIiBwY3c0PSIxNSI+Cis8cHJvZCBpZD0iTlQtTGV0dGVyIj48bGhzPkxldHRlcjwvbGhzPgorPHJocz48bnQgZGVmPSJOVC1CYXNlQ2hhciI+QmFzZUNoYXI8L250PiAKK3wgPG50IGRlZj0iTlQtSWRlb2dyYXBoaWMiPklkZW9ncmFwaGljPC9udD48L3Jocz4gPC9wcm9kPgorPHByb2QgaWQ9J05ULUJhc2VDaGFyJz48bGhzPkJhc2VDaGFyPC9saHM+Cis8cmhzPlsjeDAwNDEtI3gwMDVBXQorfCZuYnNwO1sjeDAwNjEtI3gwMDdBXQorfCZuYnNwO1sjeDAwQzAtI3gwMEQ2XQorfCZuYnNwO1sjeDAwRDgtI3gwMEY2XQorfCZuYnNwO1sjeDAwRjgtI3gwMEZGXQorfCZuYnNwO1sjeDAxMDAtI3gwMTMxXQorfCZuYnNwO1sjeDAxMzQtI3gwMTNFXQorfCZuYnNwO1sjeDAxNDEtI3gwMTQ4XQorfCZuYnNwO1sjeDAxNEEtI3gwMTdFXQorfCZuYnNwO1sjeDAxODAtI3gwMUMzXQorfCZuYnNwO1sjeDAxQ0QtI3gwMUYwXQorfCZuYnNwO1sjeDAxRjQtI3gwMUY1XQorfCZuYnNwO1sjeDAxRkEtI3gwMjE3XQorfCZuYnNwO1sjeDAyNTAtI3gwMkE4XQorfCZuYnNwO1sjeDAyQkItI3gwMkMxXQorfCZuYnNwOyN4MDM4NgorfCZuYnNwO1sjeDAzODgtI3gwMzhBXQorfCZuYnNwOyN4MDM4QworfCZuYnNwO1sjeDAzOEUtI3gwM0ExXQorfCZuYnNwO1sjeDAzQTMtI3gwM0NFXQorfCZuYnNwO1sjeDAzRDAtI3gwM0Q2XQorfCZuYnNwOyN4MDNEQQorfCZuYnNwOyN4MDNEQworfCZuYnNwOyN4MDNERQorfCZuYnNwOyN4MDNFMAorfCZuYnNwO1sjeDAzRTItI3gwM0YzXQorfCZuYnNwO1sjeDA0MDEtI3gwNDBDXQorfCZuYnNwO1sjeDA0MEUtI3gwNDRGXQorfCZuYnNwO1sjeDA0NTEtI3gwNDVDXQorfCZuYnNwO1sjeDA0NUUtI3gwNDgxXQorfCZuYnNwO1sjeDA0OTAtI3gwNEM0XQorfCZuYnNwO1sjeDA0QzctI3gwNEM4XQorfCZuYnNwO1sjeDA0Q0ItI3gwNENDXQorfCZuYnNwO1sjeDA0RDAtI3gwNEVCXQorfCZuYnNwO1sjeDA0RUUtI3gwNEY1XQorfCZuYnNwO1sjeDA0RjgtI3gwNEY5XQorfCZuYnNwO1sjeDA1MzEtI3gwNTU2XQorfCZuYnNwOyN4MDU1OQorfCZuYnNwO1sjeDA1NjEtI3gwNTg2XQorfCZuYnNwO1sjeDA1RDAtI3gwNUVBXQorfCZuYnNwO1sjeDA1RjAtI3gwNUYyXQorfCZuYnNwO1sjeDA2MjEtI3gwNjNBXQorfCZuYnNwO1sjeDA2NDEtI3gwNjRBXQorfCZuYnNwO1sjeDA2NzEtI3gwNkI3XQorfCZuYnNwO1sjeDA2QkEtI3gwNkJFXQorfCZuYnNwO1sjeDA2QzAtI3gwNkNFXQorfCZuYnNwO1sjeDA2RDAtI3gwNkQzXQorfCZuYnNwOyN4MDZENQorfCZuYnNwO1sjeDA2RTUtI3gwNkU2XQorfCZuYnNwO1sjeDA5MDUtI3gwOTM5XQorfCZuYnNwOyN4MDkzRAorfCZuYnNwO1sjeDA5NTgtI3gwOTYxXQorfCZuYnNwO1sjeDA5ODUtI3gwOThDXQorfCZuYnNwO1sjeDA5OEYtI3gwOTkwXQorfCZuYnNwO1sjeDA5OTMtI3gwOUE4XQorfCZuYnNwO1sjeDA5QUEtI3gwOUIwXQorfCZuYnNwOyN4MDlCMgorfCZuYnNwO1sjeDA5QjYtI3gwOUI5XQorfCZuYnNwO1sjeDA5REMtI3gwOUREXQorfCZuYnNwO1sjeDA5REYtI3gwOUUxXQorfCZuYnNwO1sjeDA5RjAtI3gwOUYxXQorfCZuYnNwO1sjeDBBMDUtI3gwQTBBXQorfCZuYnNwO1sjeDBBMEYtI3gwQTEwXQorfCZuYnNwO1sjeDBBMTMtI3gwQTI4XQorfCZuYnNwO1sjeDBBMkEtI3gwQTMwXQorfCZuYnNwO1sjeDBBMzItI3gwQTMzXQorfCZuYnNwO1sjeDBBMzUtI3gwQTM2XQorfCZuYnNwO1sjeDBBMzgtI3gwQTM5XQorfCZuYnNwO1sjeDBBNTktI3gwQTVDXQorfCZuYnNwOyN4MEE1RQorfCZuYnNwO1sjeDBBNzItI3gwQTc0XQorfCZuYnNwO1sjeDBBODUtI3gwQThCXQorfCZuYnNwOyN4MEE4RAorfCZuYnNwO1sjeDBBOEYtI3gwQTkxXQorfCZuYnNwO1sjeDBBOTMtI3gwQUE4XQorfCZuYnNwO1sjeDBBQUEtI3gwQUIwXQorfCZuYnNwO1sjeDBBQjItI3gwQUIzXQorfCZuYnNwO1sjeDBBQjUtI3gwQUI5XQorfCZuYnNwOyN4MEFCRAorfCZuYnNwOyN4MEFFMAorfCZuYnNwO1sjeDBCMDUtI3gwQjBDXQorfCZuYnNwO1sjeDBCMEYtI3gwQjEwXQorfCZuYnNwO1sjeDBCMTMtI3gwQjI4XQorfCZuYnNwO1sjeDBCMkEtI3gwQjMwXQorfCZuYnNwO1sjeDBCMzItI3gwQjMzXQorfCZuYnNwO1sjeDBCMzYtI3gwQjM5XQorfCZuYnNwOyN4MEIzRAorfCZuYnNwO1sjeDBCNUMtI3gwQjVEXQorfCZuYnNwO1sjeDBCNUYtI3gwQjYxXQorfCZuYnNwO1sjeDBCODUtI3gwQjhBXQorfCZuYnNwO1sjeDBCOEUtI3gwQjkwXQorfCZuYnNwO1sjeDBCOTItI3gwQjk1XQorfCZuYnNwO1sjeDBCOTktI3gwQjlBXQorfCZuYnNwOyN4MEI5QworfCZuYnNwO1sjeDBCOUUtI3gwQjlGXQorfCZuYnNwO1sjeDBCQTMtI3gwQkE0XQorfCZuYnNwO1sjeDBCQTgtI3gwQkFBXQorfCZuYnNwO1sjeDBCQUUtI3gwQkI1XQorfCZuYnNwO1sjeDBCQjctI3gwQkI5XQorfCZuYnNwO1sjeDBDMDUtI3gwQzBDXQorfCZuYnNwO1sjeDBDMEUtI3gwQzEwXQorfCZuYnNwO1sjeDBDMTItI3gwQzI4XQorfCZuYnNwO1sjeDBDMkEtI3gwQzMzXQorfCZuYnNwO1sjeDBDMzUtI3gwQzM5XQorfCZuYnNwO1sjeDBDNjAtI3gwQzYxXQorfCZuYnNwO1sjeDBDODUtI3gwQzhDXQorfCZuYnNwO1sjeDBDOEUtI3gwQzkwXQorfCZuYnNwO1sjeDBDOTItI3gwQ0E4XQorfCZuYnNwO1sjeDBDQUEtI3gwQ0IzXQorfCZuYnNwO1sjeDBDQjUtI3gwQ0I5XQorfCZuYnNwOyN4MENERQorfCZuYnNwO1sjeDBDRTAtI3gwQ0UxXQorfCZuYnNwO1sjeDBEMDUtI3gwRDBDXQorfCZuYnNwO1sjeDBEMEUtI3gwRDEwXQorfCZuYnNwO1sjeDBEMTItI3gwRDI4XQorfCZuYnNwO1sjeDBEMkEtI3gwRDM5XQorfCZuYnNwO1sjeDBENjAtI3gwRDYxXQorfCZuYnNwO1sjeDBFMDEtI3gwRTJFXQorfCZuYnNwOyN4MEUzMAorfCZuYnNwO1sjeDBFMzItI3gwRTMzXQorfCZuYnNwO1sjeDBFNDAtI3gwRTQ1XQorfCZuYnNwO1sjeDBFODEtI3gwRTgyXQorfCZuYnNwOyN4MEU4NAorfCZuYnNwO1sjeDBFODctI3gwRTg4XQorfCZuYnNwOyN4MEU4QQorfCZuYnNwOyN4MEU4RAorfCZuYnNwO1sjeDBFOTQtI3gwRTk3XQorfCZuYnNwO1sjeDBFOTktI3gwRTlGXQorfCZuYnNwO1sjeDBFQTEtI3gwRUEzXQorfCZuYnNwOyN4MEVBNQorfCZuYnNwOyN4MEVBNworfCZuYnNwO1sjeDBFQUEtI3gwRUFCXQorfCZuYnNwO1sjeDBFQUQtI3gwRUFFXQorfCZuYnNwOyN4MEVCMAorfCZuYnNwO1sjeDBFQjItI3gwRUIzXQorfCZuYnNwOyN4MEVCRAorfCZuYnNwO1sjeDBFQzAtI3gwRUM0XQorfCZuYnNwO1sjeDBGNDAtI3gwRjQ3XQorfCZuYnNwO1sjeDBGNDktI3gwRjY5XQorfCZuYnNwO1sjeDEwQTAtI3gxMEM1XQorfCZuYnNwO1sjeDEwRDAtI3gxMEY2XQorfCZuYnNwOyN4MTEwMAorfCZuYnNwO1sjeDExMDItI3gxMTAzXQorfCZuYnNwO1sjeDExMDUtI3gxMTA3XQorfCZuYnNwOyN4MTEwOQorfCZuYnNwO1sjeDExMEItI3gxMTBDXQorfCZuYnNwO1sjeDExMEUtI3gxMTEyXQorfCZuYnNwOyN4MTEzQworfCZuYnNwOyN4MTEzRQorfCZuYnNwOyN4MTE0MAorfCZuYnNwOyN4MTE0QworfCZuYnNwOyN4MTE0RQorfCZuYnNwOyN4MTE1MAorfCZuYnNwO1sjeDExNTQtI3gxMTU1XQorfCZuYnNwOyN4MTE1OQorfCZuYnNwO1sjeDExNUYtI3gxMTYxXQorfCZuYnNwOyN4MTE2MworfCZuYnNwOyN4MTE2NQorfCZuYnNwOyN4MTE2NworfCZuYnNwOyN4MTE2OQorfCZuYnNwO1sjeDExNkQtI3gxMTZFXQorfCZuYnNwO1sjeDExNzItI3gxMTczXQorfCZuYnNwOyN4MTE3NQorfCZuYnNwOyN4MTE5RQorfCZuYnNwOyN4MTFBOAorfCZuYnNwOyN4MTFBQgorfCZuYnNwO1sjeDExQUUtI3gxMUFGXQorfCZuYnNwO1sjeDExQjctI3gxMUI4XQorfCZuYnNwOyN4MTFCQQorfCZuYnNwO1sjeDExQkMtI3gxMUMyXQorfCZuYnNwOyN4MTFFQgorfCZuYnNwOyN4MTFGMAorfCZuYnNwOyN4MTFGOQorfCZuYnNwO1sjeDFFMDAtI3gxRTlCXQorfCZuYnNwO1sjeDFFQTAtI3gxRUY5XQorfCZuYnNwO1sjeDFGMDAtI3gxRjE1XQorfCZuYnNwO1sjeDFGMTgtI3gxRjFEXQorfCZuYnNwO1sjeDFGMjAtI3gxRjQ1XQorfCZuYnNwO1sjeDFGNDgtI3gxRjREXQorfCZuYnNwO1sjeDFGNTAtI3gxRjU3XQorfCZuYnNwOyN4MUY1OQorfCZuYnNwOyN4MUY1QgorfCZuYnNwOyN4MUY1RAorfCZuYnNwO1sjeDFGNUYtI3gxRjdEXQorfCZuYnNwO1sjeDFGODAtI3gxRkI0XQorfCZuYnNwO1sjeDFGQjYtI3gxRkJDXQorfCZuYnNwOyN4MUZCRQorfCZuYnNwO1sjeDFGQzItI3gxRkM0XQorfCZuYnNwO1sjeDFGQzYtI3gxRkNDXQorfCZuYnNwO1sjeDFGRDAtI3gxRkQzXQorfCZuYnNwO1sjeDFGRDYtI3gxRkRCXQorfCZuYnNwO1sjeDFGRTAtI3gxRkVDXQorfCZuYnNwO1sjeDFGRjItI3gxRkY0XQorfCZuYnNwO1sjeDFGRjYtI3gxRkZDXQorfCZuYnNwOyN4MjEyNgorfCZuYnNwO1sjeDIxMkEtI3gyMTJCXQorfCZuYnNwOyN4MjEyRQorfCZuYnNwO1sjeDIxODAtI3gyMTgyXQorfCZuYnNwO1sjeDMwNDEtI3gzMDk0XQorfCZuYnNwO1sjeDMwQTEtI3gzMEZBXQorfCZuYnNwO1sjeDMxMDUtI3gzMTJDXQorfCZuYnNwO1sjeEFDMDAtI3hEN0EzXQorPC9yaHM+PC9wcm9kPgorPHByb2QgaWQ9J05ULUlkZW9ncmFwaGljJz48bGhzPklkZW9ncmFwaGljPC9saHM+Cis8cmhzPlsjeDRFMDAtI3g5RkE1XQorfCZuYnNwOyN4MzAwNworfCZuYnNwO1sjeDMwMjEtI3gzMDI5XQorPC9yaHM+PC9wcm9kPgorPHByb2QgaWQ9J05ULUNvbWJpbmluZ0NoYXInPjxsaHM+Q29tYmluaW5nQ2hhcjwvbGhzPgorPHJocz5bI3gwMzAwLSN4MDM0NV0KK3wmbmJzcDtbI3gwMzYwLSN4MDM2MV0KK3wmbmJzcDtbI3gwNDgzLSN4MDQ4Nl0KK3wmbmJzcDtbI3gwNTkxLSN4MDVBMV0KK3wmbmJzcDtbI3gwNUEzLSN4MDVCOV0KK3wmbmJzcDtbI3gwNUJCLSN4MDVCRF0KK3wmbmJzcDsjeDA1QkYKK3wmbmJzcDtbI3gwNUMxLSN4MDVDMl0KK3wmbmJzcDsjeDA1QzQKK3wmbmJzcDtbI3gwNjRCLSN4MDY1Ml0KK3wmbmJzcDsjeDA2NzAKK3wmbmJzcDtbI3gwNkQ2LSN4MDZEQ10KK3wmbmJzcDtbI3gwNkRELSN4MDZERl0KK3wmbmJzcDtbI3gwNkUwLSN4MDZFNF0KK3wmbmJzcDtbI3gwNkU3LSN4MDZFOF0KK3wmbmJzcDtbI3gwNkVBLSN4MDZFRF0KK3wmbmJzcDtbI3gwOTAxLSN4MDkwM10KK3wmbmJzcDsjeDA5M0MKK3wmbmJzcDtbI3gwOTNFLSN4MDk0Q10KK3wmbmJzcDsjeDA5NEQKK3wmbmJzcDtbI3gwOTUxLSN4MDk1NF0KK3wmbmJzcDtbI3gwOTYyLSN4MDk2M10KK3wmbmJzcDtbI3gwOTgxLSN4MDk4M10KK3wmbmJzcDsjeDA5QkMKK3wmbmJzcDsjeDA5QkUKK3wmbmJzcDsjeDA5QkYKK3wmbmJzcDtbI3gwOUMwLSN4MDlDNF0KK3wmbmJzcDtbI3gwOUM3LSN4MDlDOF0KK3wmbmJzcDtbI3gwOUNCLSN4MDlDRF0KK3wmbmJzcDsjeDA5RDcKK3wmbmJzcDtbI3gwOUUyLSN4MDlFM10KK3wmbmJzcDsjeDBBMDIKK3wmbmJzcDsjeDBBM0MKK3wmbmJzcDsjeDBBM0UKK3wmbmJzcDsjeDBBM0YKK3wmbmJzcDtbI3gwQTQwLSN4MEE0Ml0KK3wmbmJzcDtbI3gwQTQ3LSN4MEE0OF0KK3wmbmJzcDtbI3gwQTRCLSN4MEE0RF0KK3wmbmJzcDtbI3gwQTcwLSN4MEE3MV0KK3wmbmJzcDtbI3gwQTgxLSN4MEE4M10KK3wmbmJzcDsjeDBBQkMKK3wmbmJzcDtbI3gwQUJFLSN4MEFDNV0KK3wmbmJzcDtbI3gwQUM3LSN4MEFDOV0KK3wmbmJzcDtbI3gwQUNCLSN4MEFDRF0KK3wmbmJzcDtbI3gwQjAxLSN4MEIwM10KK3wmbmJzcDsjeDBCM0MKK3wmbmJzcDtbI3gwQjNFLSN4MEI0M10KK3wmbmJzcDtbI3gwQjQ3LSN4MEI0OF0KK3wmbmJzcDtbI3gwQjRCLSN4MEI0RF0KK3wmbmJzcDtbI3gwQjU2LSN4MEI1N10KK3wmbmJzcDtbI3gwQjgyLSN4MEI4M10KK3wmbmJzcDtbI3gwQkJFLSN4MEJDMl0KK3wmbmJzcDtbI3gwQkM2LSN4MEJDOF0KK3wmbmJzcDtbI3gwQkNBLSN4MEJDRF0KK3wmbmJzcDsjeDBCRDcKK3wmbmJzcDtbI3gwQzAxLSN4MEMwM10KK3wmbmJzcDtbI3gwQzNFLSN4MEM0NF0KK3wmbmJzcDtbI3gwQzQ2LSN4MEM0OF0KK3wmbmJzcDtbI3gwQzRBLSN4MEM0RF0KK3wmbmJzcDtbI3gwQzU1LSN4MEM1Nl0KK3wmbmJzcDtbI3gwQzgyLSN4MEM4M10KK3wmbmJzcDtbI3gwQ0JFLSN4MENDNF0KK3wmbmJzcDtbI3gwQ0M2LSN4MENDOF0KK3wmbmJzcDtbI3gwQ0NBLSN4MENDRF0KK3wmbmJzcDtbI3gwQ0Q1LSN4MENENl0KK3wmbmJzcDtbI3gwRDAyLSN4MEQwM10KK3wmbmJzcDtbI3gwRDNFLSN4MEQ0M10KK3wmbmJzcDtbI3gwRDQ2LSN4MEQ0OF0KK3wmbmJzcDtbI3gwRDRBLSN4MEQ0RF0KK3wmbmJzcDsjeDBENTcKK3wmbmJzcDsjeDBFMzEKK3wmbmJzcDtbI3gwRTM0LSN4MEUzQV0KK3wmbmJzcDtbI3gwRTQ3LSN4MEU0RV0KK3wmbmJzcDsjeDBFQjEKK3wmbmJzcDtbI3gwRUI0LSN4MEVCOV0KK3wmbmJzcDtbI3gwRUJCLSN4MEVCQ10KK3wmbmJzcDtbI3gwRUM4LSN4MEVDRF0KK3wmbmJzcDtbI3gwRjE4LSN4MEYxOV0KK3wmbmJzcDsjeDBGMzUKK3wmbmJzcDsjeDBGMzcKK3wmbmJzcDsjeDBGMzkKK3wmbmJzcDsjeDBGM0UKK3wmbmJzcDsjeDBGM0YKK3wmbmJzcDtbI3gwRjcxLSN4MEY4NF0KK3wmbmJzcDtbI3gwRjg2LSN4MEY4Ql0KK3wmbmJzcDtbI3gwRjkwLSN4MEY5NV0KK3wmbmJzcDsjeDBGOTcKK3wmbmJzcDtbI3gwRjk5LSN4MEZBRF0KK3wmbmJzcDtbI3gwRkIxLSN4MEZCN10KK3wmbmJzcDsjeDBGQjkKK3wmbmJzcDtbI3gyMEQwLSN4MjBEQ10KK3wmbmJzcDsjeDIwRTEKK3wmbmJzcDtbI3gzMDJBLSN4MzAyRl0KK3wmbmJzcDsjeDMwOTkKK3wmbmJzcDsjeDMwOUEKKzwvcmhzPjwvcHJvZD4KKzxwcm9kIGlkPSdOVC1EaWdpdCc+PGxocz5EaWdpdDwvbGhzPgorPHJocz5bI3gwMDMwLSN4MDAzOV0KK3wmbmJzcDtbI3gwNjYwLSN4MDY2OV0KK3wmbmJzcDtbI3gwNkYwLSN4MDZGOV0KK3wmbmJzcDtbI3gwOTY2LSN4MDk2Rl0KK3wmbmJzcDtbI3gwOUU2LSN4MDlFRl0KK3wmbmJzcDtbI3gwQTY2LSN4MEE2Rl0KK3wmbmJzcDtbI3gwQUU2LSN4MEFFRl0KK3wmbmJzcDtbI3gwQjY2LSN4MEI2Rl0KK3wmbmJzcDtbI3gwQkU3LSN4MEJFRl0KK3wmbmJzcDtbI3gwQzY2LSN4MEM2Rl0KK3wmbmJzcDtbI3gwQ0U2LSN4MENFRl0KK3wmbmJzcDtbI3gwRDY2LSN4MEQ2Rl0KK3wmbmJzcDtbI3gwRTUwLSN4MEU1OV0KK3wmbmJzcDtbI3gwRUQwLSN4MEVEOV0KK3wmbmJzcDtbI3gwRjIwLSN4MEYyOV0KKzwvcmhzPjwvcHJvZD4KKzxwcm9kIGlkPSdOVC1FeHRlbmRlcic+PGxocz5FeHRlbmRlcjwvbGhzPgorPHJocz4jeDAwQjcKK3wmbmJzcDsjeDAyRDAKK3wmbmJzcDsjeDAyRDEKK3wmbmJzcDsjeDAzODcKK3wmbmJzcDsjeDA2NDAKK3wmbmJzcDsjeDBFNDYKK3wmbmJzcDsjeDBFQzYKK3wmbmJzcDsjeDMwMDUKK3wmbmJzcDtbI3gzMDMxLSN4MzAzNV0KK3wmbmJzcDtbI3gzMDlELSN4MzA5RV0KK3wmbmJzcDtbI3gzMEZDLSN4MzBGRV0KKzwvcmhzPjwvcHJvZD4KKworPC9wcm9kZ3JvdXA+Cis8L3NjcmFwPgorPC9wPgorPHA+VGhlIGNoYXJhY3RlciBjbGFzc2VzIGRlZmluZWQgaGVyZSBjYW4gYmUgZGVyaXZlZCBmcm9tIHRoZQorVW5pY29kZSBjaGFyYWN0ZXIgZGF0YWJhc2UgYXMgZm9sbG93czoKKzx1bGlzdD4KKzxpdGVtPgorPHA+TmFtZSBzdGFydCBjaGFyYWN0ZXJzIG11c3QgaGF2ZSBvbmUgb2YgdGhlIGNhdGVnb3JpZXMgTGwsIEx1LAorTG8sIEx0LCBObC48L3A+Cis8L2l0ZW0+Cis8aXRlbT4KKzxwPk5hbWUgY2hhcmFjdGVycyBvdGhlciB0aGFuIE5hbWUtc3RhcnQgY2hhcmFjdGVycyAKK211c3QgaGF2ZSBvbmUgb2YgdGhlIGNhdGVnb3JpZXMgTWMsIE1lLCBNbiwgTG0sIG9yIE5kLjwvcD4KKzwvaXRlbT4KKzxpdGVtPgorPHA+Q2hhcmFjdGVycyBpbiB0aGUgY29tcGF0aWJpbGl0eSBhcmVhIChpLmUuIHdpdGggY2hhcmFjdGVyIGNvZGUKK2dyZWF0ZXIgdGhhbiAjeEY5MDAgYW5kIGxlc3MgdGhhbiAjeEZGRkUpIGFyZSBub3QgYWxsb3dlZCBpbiBYTUwKK25hbWVzLjwvcD4KKzwvaXRlbT4KKzxpdGVtPgorPHA+Q2hhcmFjdGVycyB3aGljaCBoYXZlIGEgZm9udCBvciBjb21wYXRpYmlsaXR5IGRlY29tcG9zaXRpb24gKGkuZS4gdGhvc2UKK3dpdGggYSAiY29tcGF0aWJpbGl0eSBmb3JtYXR0aW5nIHRhZyIgaW4gZmllbGQgNSBvZiB0aGUgZGF0YWJhc2UgLS0KK21hcmtlZCBieSBmaWVsZCA1IGJlZ2lubmluZyB3aXRoIGEgIiZsdDsiKSBhcmUgbm90IGFsbG93ZWQuPC9wPgorPC9pdGVtPgorPGl0ZW0+Cis8cD5UaGUgZm9sbG93aW5nIGNoYXJhY3RlcnMgYXJlIHRyZWF0ZWQgYXMgbmFtZS1zdGFydCBjaGFyYWN0ZXJzCityYXRoZXIgdGhhbiBuYW1lIGNoYXJhY3RlcnMsIGJlY2F1c2UgdGhlIHByb3BlcnR5IGZpbGUgY2xhc3NpZmllcwordGhlbSBhcyBBbHBoYWJldGljOiAgWyN4MDJCQi0jeDAyQzFdLCAjeDA1NTksICN4MDZFNSwgI3gwNkU2LjwvcD4KKzwvaXRlbT4KKzxpdGVtPgorPHA+Q2hhcmFjdGVycyAjeDIwREQtI3gyMEUwIGFyZSBleGNsdWRlZCAoaW4gYWNjb3JkYW5jZSB3aXRoIAorVW5pY29kZSwgc2VjdGlvbiA1LjE0KS48L3A+Cis8L2l0ZW0+Cis8aXRlbT4KKzxwPkNoYXJhY3RlciAjeDAwQjcgaXMgY2xhc3NpZmllZCBhcyBhbiBleHRlbmRlciwgYmVjYXVzZSB0aGUKK3Byb3BlcnR5IGxpc3Qgc28gaWRlbnRpZmllcyBpdC48L3A+Cis8L2l0ZW0+Cis8aXRlbT4KKzxwPkNoYXJhY3RlciAjeDAzODcgaXMgYWRkZWQgYXMgYSBuYW1lIGNoYXJhY3RlciwgYmVjYXVzZSAjeDAwQjcKK2lzIGl0cyBjYW5vbmljYWwgZXF1aXZhbGVudC48L3A+Cis8L2l0ZW0+Cis8aXRlbT4KKzxwPkNoYXJhY3RlcnMgJzonIGFuZCAnXycgYXJlIGFsbG93ZWQgYXMgbmFtZS1zdGFydCBjaGFyYWN0ZXJzLjwvcD4KKzwvaXRlbT4KKzxpdGVtPgorPHA+Q2hhcmFjdGVycyAnLScgYW5kICcuJyBhcmUgYWxsb3dlZCBhcyBuYW1lIGNoYXJhY3RlcnMuPC9wPgorPC9pdGVtPgorPC91bGlzdD4KKzwvcD4KKzwvZGl2MT4KKzxpbmZvcm0tZGl2MSBpZD0ic2VjLXhtbC1hbmQtc2dtbCI+Cis8aGVhZD5YTUwgYW5kIFNHTUw8L2hlYWQ+CisgCis8cD5YTUwgaXMgZGVzaWduZWQgdG8gYmUgYSBzdWJzZXQgb2YgU0dNTCwgaW4gdGhhdCBldmVyeQorPHRlcm1yZWYgZGVmPSJkdC12YWxpZCI+dmFsaWQ8L3Rlcm1yZWY+IFhNTCBkb2N1bWVudCBzaG91bGQgYWxzbyBiZSBhCitjb25mb3JtYW50IFNHTUwgZG9jdW1lbnQuCitGb3IgYSBkZXRhaWxlZCBjb21wYXJpc29uIG9mIHRoZSBhZGRpdGlvbmFsIHJlc3RyaWN0aW9ucyB0aGF0IFhNTCBwbGFjZXMgb24KK2RvY3VtZW50cyBiZXlvbmQgdGhvc2Ugb2YgU0dNTCwgc2VlIDxiaWJyZWYgcmVmPSdDbGFyaycvPi4KKzwvcD4KKzwvaW5mb3JtLWRpdjE+Cis8aW5mb3JtLWRpdjEgaWQ9InNlYy1lbnRleHBhbmQiPgorPGhlYWQ+RXhwYW5zaW9uIG9mIEVudGl0eSBhbmQgQ2hhcmFjdGVyIFJlZmVyZW5jZXM8L2hlYWQ+Cis8cD5UaGlzIGFwcGVuZGl4IGNvbnRhaW5zIHNvbWUgZXhhbXBsZXMgaWxsdXN0cmF0aW5nIHRoZQorc2VxdWVuY2Ugb2YgZW50aXR5LSBhbmQgY2hhcmFjdGVyLXJlZmVyZW5jZSByZWNvZ25pdGlvbiBhbmQKK2V4cGFuc2lvbiwgYXMgc3BlY2lmaWVkIGluIDxzcGVjcmVmIHJlZj0nZW50cHJvYycvPi48L3A+Cis8cD4KK0lmIHRoZSBEVEQgY29udGFpbnMgdGhlIGRlY2xhcmF0aW9uIAorPGVnPjwhW0NEQVRBWzwhRU5USVRZIGV4YW1wbGUgIjxwPkFuIGFtcGVyc2FuZCAoJiMzODsjMzg7KSBtYXkgYmUgZXNjYXBlZAorbnVtZXJpY2FsbHkgKCYjMzg7IzM4OyMzODspIG9yIHdpdGggYSBnZW5lcmFsIGVudGl0eQorKCZhbXA7YW1wOykuPC9wPiIgPgorXV0+PC9lZz4KK3RoZW4gdGhlIFhNTCBwcm9jZXNzb3Igd2lsbCByZWNvZ25pemUgdGhlIGNoYXJhY3RlciByZWZlcmVuY2VzIAord2hlbiBpdCBwYXJzZXMgdGhlIGVudGl0eSBkZWNsYXJhdGlvbiwgYW5kIHJlc29sdmUgdGhlbSBiZWZvcmUgCitzdG9yaW5nIHRoZSBmb2xsb3dpbmcgc3RyaW5nIGFzIHRoZQordmFsdWUgb2YgdGhlIGVudGl0eSAiPGNvZGU+ZXhhbXBsZTwvY29kZT4iOgorPGVnPjwhW0NEQVRBWzxwPkFuIGFtcGVyc2FuZCAoJiMzODspIG1heSBiZSBlc2NhcGVkCitudW1lcmljYWxseSAoJiMzODsjMzg7KSBvciB3aXRoIGEgZ2VuZXJhbCBlbnRpdHkKKygmYW1wO2FtcDspLjwvcD4KK11dPjwvZWc+CitBIHJlZmVyZW5jZSBpbiB0aGUgZG9jdW1lbnQgdG8gIjxjb2RlPiZhbXA7ZXhhbXBsZTs8L2NvZGU+IiAKK3dpbGwgY2F1c2UgdGhlIHRleHQgdG8gYmUgcmVwYXJzZWQsIGF0IHdoaWNoIHRpbWUgdGhlIAorc3RhcnQtIGFuZCBlbmQtdGFncyBvZiB0aGUgIjxjb2RlPnA8L2NvZGU+IiBlbGVtZW50IHdpbGwgYmUgcmVjb2duaXplZCAKK2FuZCB0aGUgdGhyZWUgcmVmZXJlbmNlcyB3aWxsIGJlIHJlY29nbml6ZWQgYW5kIGV4cGFuZGVkLCAKK3Jlc3VsdGluZyBpbiBhICI8Y29kZT5wPC9jb2RlPiIgZWxlbWVudCB3aXRoIHRoZSBmb2xsb3dpbmcgY29udGVudAorKGFsbCBkYXRhLCBubyBkZWxpbWl0ZXJzIG9yIG1hcmt1cCk6Cis8ZWc+PCFbQ0RBVEFbQW4gYW1wZXJzYW5kICgmKSBtYXkgYmUgZXNjYXBlZAorbnVtZXJpY2FsbHkgKCYjMzg7KSBvciB3aXRoIGEgZ2VuZXJhbCBlbnRpdHkKKygmYW1wOykuCitdXT48L2VnPgorPC9wPgorPHA+QSBtb3JlIGNvbXBsZXggZXhhbXBsZSB3aWxsIGlsbHVzdHJhdGUgdGhlIHJ1bGVzIGFuZCB0aGVpcgorZWZmZWN0cyBmdWxseS4gIEluIHRoZSBmb2xsb3dpbmcgZXhhbXBsZSwgdGhlIGxpbmUgbnVtYmVycyBhcmUKK3NvbGVseSBmb3IgcmVmZXJlbmNlLgorPGVnPjwhW0NEQVRBWzEgPD94bWwgdmVyc2lvbj0nMS4wJz8+CisyIDwhRE9DVFlQRSB0ZXN0IFsKKzMgPCFFTEVNRU5UIHRlc3QgKCNQQ0RBVEEpID4KKzQgPCFFTlRJVFkgJSB4eCAnJiMzNzt6ejsnPgorNSA8IUVOVElUWSAlIHp6ICcmIzYwOyFFTlRJVFkgdHJpY2t5ICJlcnJvci1wcm9uZSIgPicgPgorNiAleHg7Cis3IF0+Cis4IDx0ZXN0PlRoaXMgc2FtcGxlIHNob3dzIGEgJnRyaWNreTsgbWV0aG9kLjwvdGVzdD4KK11dPjwvZWc+CitUaGlzIHByb2R1Y2VzIHRoZSBmb2xsb3dpbmc6Cis8dWxpc3Qgc3BhY2luZz0iY29tcGFjdCI+Cis8aXRlbT48cD5pbiBsaW5lIDQsIHRoZSByZWZlcmVuY2UgdG8gY2hhcmFjdGVyIDM3IGlzIGV4cGFuZGVkIGltbWVkaWF0ZWx5LAorYW5kIHRoZSBwYXJhbWV0ZXIgZW50aXR5ICI8Y29kZT54eDwvY29kZT4iIGlzIHN0b3JlZCBpbiB0aGUgc3ltYm9sCit0YWJsZSB3aXRoIHRoZSB2YWx1ZSAiPGNvZGU+JXp6OzwvY29kZT4iLiAgU2luY2UgdGhlIHJlcGxhY2VtZW50IHRleHQKK2lzIG5vdCByZXNjYW5uZWQsIHRoZSByZWZlcmVuY2UgdG8gcGFyYW1ldGVyIGVudGl0eSAiPGNvZGU+eno8L2NvZGU+IgoraXMgbm90IHJlY29nbml6ZWQuICAoQW5kIGl0IHdvdWxkIGJlIGFuIGVycm9yIGlmIGl0IHdlcmUsIHNpbmNlCisiPGNvZGU+eno8L2NvZGU+IiBpcyBub3QgeWV0IGRlY2xhcmVkLik8L3A+PC9pdGVtPgorPGl0ZW0+PHA+aW4gbGluZSA1LCB0aGUgY2hhcmFjdGVyIHJlZmVyZW5jZSAiPGNvZGU+JmFtcDsjNjA7PC9jb2RlPiIgaXMKK2V4cGFuZGVkIGltbWVkaWF0ZWx5IGFuZCB0aGUgcGFyYW1ldGVyIGVudGl0eSAiPGNvZGU+eno8L2NvZGU+IiBpcworc3RvcmVkIHdpdGggdGhlIHJlcGxhY2VtZW50IHRleHQgCisiPGNvZGU+Jmx0OyFFTlRJVFkgdHJpY2t5ICJlcnJvci1wcm9uZSIgPjwvY29kZT4iLAord2hpY2ggaXMgYSB3ZWxsLWZvcm1lZCBlbnRpdHkgZGVjbGFyYXRpb24uPC9wPjwvaXRlbT4KKzxpdGVtPjxwPmluIGxpbmUgNiwgdGhlIHJlZmVyZW5jZSB0byAiPGNvZGU+eHg8L2NvZGU+IiBpcyByZWNvZ25pemVkLAorYW5kIHRoZSByZXBsYWNlbWVudCB0ZXh0IG9mICI8Y29kZT54eDwvY29kZT4iIChuYW1lbHkgCisiPGNvZGU+JXp6OzwvY29kZT4iKSBpcyBwYXJzZWQuICBUaGUgcmVmZXJlbmNlIHRvICI8Y29kZT56ejwvY29kZT4iCitpcyByZWNvZ25pemVkIGluIGl0cyB0dXJuLCBhbmQgaXRzIHJlcGxhY2VtZW50IHRleHQgCisoIjxjb2RlPiZsdDshRU5USVRZIHRyaWNreSAiZXJyb3ItcHJvbmUiID48L2NvZGU+IikgaXMgcGFyc2VkLgorVGhlIGdlbmVyYWwgZW50aXR5ICI8Y29kZT50cmlja3k8L2NvZGU+IiBoYXMgbm93IGJlZW4KK2RlY2xhcmVkLCB3aXRoIHRoZSByZXBsYWNlbWVudCB0ZXh0ICI8Y29kZT5lcnJvci1wcm9uZTwvY29kZT4iLjwvcD48L2l0ZW0+Cis8aXRlbT48cD4KK2luIGxpbmUgOCwgdGhlIHJlZmVyZW5jZSB0byB0aGUgZ2VuZXJhbCBlbnRpdHkgIjxjb2RlPnRyaWNreTwvY29kZT4iIGlzCityZWNvZ25pemVkLCBhbmQgaXQgaXMgZXhwYW5kZWQsIHNvIHRoZSBmdWxsIGNvbnRlbnQgb2YgdGhlCisiPGNvZGU+dGVzdDwvY29kZT4iIGVsZW1lbnQgaXMgdGhlIHNlbGYtZGVzY3JpYmluZyAoYW5kIHVuZ3JhbW1hdGljYWwpIHN0cmluZworPGVtcGg+VGhpcyBzYW1wbGUgc2hvd3MgYSBlcnJvci1wcm9uZSBtZXRob2QuPC9lbXBoPgorPC9wPjwvaXRlbT4KKzwvdWxpc3Q+Cis8L3A+Cis8L2luZm9ybS1kaXYxPiAKKzxpbmZvcm0tZGl2MSBpZD0iZGV0ZXJtaW5pc20iPgorPGhlYWQ+RGV0ZXJtaW5pc3RpYyBDb250ZW50IE1vZGVsczwvaGVhZD4KKzxwPjx0ZXJtcmVmIGRlZj0nZHQtY29tcGF0Jz5Gb3IgY29tcGF0aWJpbGl0eTwvdGVybXJlZj4sIGl0IGlzCityZXF1aXJlZAordGhhdCBjb250ZW50IG1vZGVscyBpbiBlbGVtZW50IHR5cGUgZGVjbGFyYXRpb25zIGJlIGRldGVybWluaXN0aWMuICAKKzwvcD4KKzwhLS0gRklOQUwgRURJVDogIFdlYlNHTUwgYWxsb3dzIGFtYmlndWl0eT8gLS0+Cis8cD5TR01MCityZXF1aXJlcyBkZXRlcm1pbmlzdGljIGNvbnRlbnQgbW9kZWxzIChpdCBjYWxscyB0aGVtCisidW5hbWJpZ3VvdXMiKTsgWE1MIHByb2Nlc3NvcnMgYnVpbHQgdXNpbmcgU0dNTCBzeXN0ZW1zIG1heQorZmxhZyBub24tZGV0ZXJtaW5pc3RpYyBjb250ZW50IG1vZGVscyBhcyBlcnJvcnMuPC9wPgorPHA+Rm9yIGV4YW1wbGUsIHRoZSBjb250ZW50IG1vZGVsIDxjb2RlPigoYiwgYykgfCAoYiwgZCkpPC9jb2RlPiBpcworbm9uLWRldGVybWluaXN0aWMsIGJlY2F1c2UgZ2l2ZW4gYW4gaW5pdGlhbCA8Y29kZT5iPC9jb2RlPiB0aGUgcGFyc2VyCitjYW5ub3Qga25vdyB3aGljaCA8Y29kZT5iPC9jb2RlPiBpbiB0aGUgbW9kZWwgaXMgYmVpbmcgbWF0Y2hlZCB3aXRob3V0Citsb29raW5nIGFoZWFkIHRvIHNlZSB3aGljaCBlbGVtZW50IGZvbGxvd3MgdGhlIDxjb2RlPmI8L2NvZGU+LgorSW4gdGhpcyBjYXNlLCB0aGUgdHdvIHJlZmVyZW5jZXMgdG8KKzxjb2RlPmI8L2NvZGU+IGNhbiBiZSBjb2xsYXBzZWQgCitpbnRvIGEgc2luZ2xlIHJlZmVyZW5jZSwgbWFraW5nIHRoZSBtb2RlbCByZWFkCis8Y29kZT4oYiwgKGMgfCBkKSk8L2NvZGU+LiAgQW4gaW5pdGlhbCA8Y29kZT5iPC9jb2RlPiBub3cgY2xlYXJseQorbWF0Y2hlcyBvbmx5IGEgc2luZ2xlIG5hbWUgaW4gdGhlIGNvbnRlbnQgbW9kZWwuICBUaGUgcGFyc2VyIGRvZXNuJ3QKK25lZWQgdG8gbG9vayBhaGVhZCB0byBzZWUgd2hhdCBmb2xsb3dzOyBlaXRoZXIgPGNvZGU+YzwvY29kZT4gb3IKKzxjb2RlPmQ8L2NvZGU+IHdvdWxkIGJlIGFjY2VwdGVkLjwvcD4KKzxwPk1vcmUgZm9ybWFsbHk6ICBhIGZpbml0ZSBzdGF0ZSBhdXRvbWF0b24gbWF5IGJlIGNvbnN0cnVjdGVkIGZyb20gdGhlCitjb250ZW50IG1vZGVsIHVzaW5nIHRoZSBzdGFuZGFyZCBhbGdvcml0aG1zLCBlLmcuIGFsZ29yaXRobSAzLjUgCitpbiBzZWN0aW9uIDMuOQorb2YgQWhvLCBTZXRoaSwgYW5kIFVsbG1hbiA8YmlicmVmIHJlZj0nQWhvJy8+LgorSW4gbWFueSBzdWNoIGFsZ29yaXRobXMsIGEgZm9sbG93IHNldCBpcyBjb25zdHJ1Y3RlZCBmb3IgZWFjaCAKK3Bvc2l0aW9uIGluIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gKGkuZS4sIGVhY2ggbGVhZiAKK25vZGUgaW4gdGhlIAorc3ludGF4IHRyZWUgZm9yIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pOworaWYgYW55IHBvc2l0aW9uIGhhcyBhIGZvbGxvdyBzZXQgaW4gd2hpY2ggCittb3JlIHRoYW4gb25lIGZvbGxvd2luZyBwb3NpdGlvbiBpcyAKK2xhYmVsZWQgd2l0aCB0aGUgc2FtZSBlbGVtZW50IHR5cGUgbmFtZSwgCit0aGVuIHRoZSBjb250ZW50IG1vZGVsIGlzIGluIGVycm9yCithbmQgbWF5IGJlIHJlcG9ydGVkIGFzIGFuIGVycm9yLgorPC9wPgorPHA+QWxnb3JpdGhtcyBleGlzdCB3aGljaCBhbGxvdyBtYW55IGJ1dCBub3QgYWxsIG5vbi1kZXRlcm1pbmlzdGljCitjb250ZW50IG1vZGVscyB0byBiZSByZWR1Y2VkIGF1dG9tYXRpY2FsbHkgdG8gZXF1aXZhbGVudCBkZXRlcm1pbmlzdGljCittb2RlbHM7IHNlZSBCcvxnZ2VtYW5uLUtsZWluIDE5OTEgPGJpYnJlZiByZWY9J0FCSycvPi48L3A+Cis8L2luZm9ybS1kaXYxPgorPGluZm9ybS1kaXYxIGlkPSJzZWMtZ3Vlc3NpbmciPgorPGhlYWQ+QXV0b2RldGVjdGlvbiBvZiBDaGFyYWN0ZXIgRW5jb2RpbmdzPC9oZWFkPgorPHA+VGhlIFhNTCBlbmNvZGluZyBkZWNsYXJhdGlvbiBmdW5jdGlvbnMgYXMgYW4gaW50ZXJuYWwgbGFiZWwgb24gZWFjaAorZW50aXR5LCBpbmRpY2F0aW5nIHdoaWNoIGNoYXJhY3RlciBlbmNvZGluZyBpcyBpbiB1c2UuICBCZWZvcmUgYW4gWE1MCitwcm9jZXNzb3IgY2FuIHJlYWQgdGhlIGludGVybmFsIGxhYmVsLCBob3dldmVyLCBpdCBhcHBhcmVudGx5IGhhcyB0bwora25vdyB3aGF0IGNoYXJhY3RlciBlbmNvZGluZyBpcyBpbiB1c2UmbWRhc2g7d2hpY2ggaXMgd2hhdCB0aGUgaW50ZXJuYWwgbGFiZWwKK2lzIHRyeWluZyB0byBpbmRpY2F0ZS4gIEluIHRoZSBnZW5lcmFsIGNhc2UsIHRoaXMgaXMgYSBob3BlbGVzcworc2l0dWF0aW9uLiBJdCBpcyBub3QgZW50aXJlbHkgaG9wZWxlc3MgaW4gWE1MLCBob3dldmVyLCBiZWNhdXNlIFhNTAorbGltaXRzIHRoZSBnZW5lcmFsIGNhc2UgaW4gdHdvIHdheXM6ICBlYWNoIGltcGxlbWVudGF0aW9uIGlzIGFzc3VtZWQKK3RvIHN1cHBvcnQgb25seSBhICBmaW5pdGUgc2V0IG9mIGNoYXJhY3RlciBlbmNvZGluZ3MsIGFuZCB0aGUgWE1MCitlbmNvZGluZyBkZWNsYXJhdGlvbiBpcyByZXN0cmljdGVkIGluIHBvc2l0aW9uIGFuZCBjb250ZW50IGluIG9yZGVyIHRvCittYWtlIGl0IGZlYXNpYmxlIHRvIGF1dG9kZXRlY3QgdGhlIGNoYXJhY3RlciBlbmNvZGluZyBpbiB1c2UgaW4gZWFjaAorZW50aXR5IGluIG5vcm1hbCBjYXNlcy4gIEFsc28sIGluIG1hbnkgY2FzZXMgb3RoZXIgc291cmNlcyBvZiBpbmZvcm1hdGlvbgorYXJlIGF2YWlsYWJsZSBpbiBhZGRpdGlvbiB0byB0aGUgWE1MIGRhdGEgc3RyZWFtIGl0c2VsZi4gIAorVHdvIGNhc2VzIG1heSBiZSBkaXN0aW5ndWlzaGVkLCAKK2RlcGVuZGluZyBvbiB3aGV0aGVyIHRoZSBYTUwgZW50aXR5IGlzIHByZXNlbnRlZCB0byB0aGUKK3Byb2Nlc3NvciB3aXRob3V0LCBvciB3aXRoLCBhbnkgYWNjb21wYW55aW5nCisoZXh0ZXJuYWwpIGluZm9ybWF0aW9uLiAgV2UgY29uc2lkZXIgdGhlIGZpcnN0IGNhc2UgZmlyc3QuCis8L3A+Cis8cD4KK0JlY2F1c2UgZWFjaCBYTUwgZW50aXR5IG5vdCBpbiBVVEYtOCBvciBVVEYtMTYgZm9ybWF0IDxlbXBoPm11c3Q8L2VtcGg+CitiZWdpbiB3aXRoIGFuIFhNTCBlbmNvZGluZyBkZWNsYXJhdGlvbiwgaW4gd2hpY2ggdGhlIGZpcnN0ICBjaGFyYWN0ZXJzCittdXN0IGJlICc8Y29kZT4mbHQ7P3htbDwvY29kZT4nLCBhbnkgY29uZm9ybWluZyBwcm9jZXNzb3IgY2FuIGRldGVjdCwKK2FmdGVyIHR3byB0byBmb3VyIG9jdGV0cyBvZiBpbnB1dCwgd2hpY2ggb2YgdGhlIGZvbGxvd2luZyBjYXNlcyBhcHBseS4gCitJbiByZWFkaW5nIHRoaXMgbGlzdCwgaXQgbWF5IGhlbHAgdG8ga25vdyB0aGF0IGluIFVDUy00LCAnJmx0OycgaXMKKyI8Y29kZT4jeDAwMDAwMDNDPC9jb2RlPiIgYW5kICc/JyBpcyAiPGNvZGU+I3gwMDAwMDAzRjwvY29kZT4iLCBhbmQgdGhlIEJ5dGUKK09yZGVyIE1hcmsgcmVxdWlyZWQgb2YgVVRGLTE2IGRhdGEgc3RyZWFtcyBpcyAiPGNvZGU+I3hGRUZGPC9jb2RlPiIuPC9wPgorPHA+Cis8dWxpc3Q+Cis8aXRlbT4KKzxwPjxjb2RlPjAwIDAwIDAwIDNDPC9jb2RlPjogVUNTLTQsIGJpZy1lbmRpYW4gbWFjaGluZSAoMTIzNCBvcmRlcik8L3A+Cis8L2l0ZW0+Cis8aXRlbT4KKzxwPjxjb2RlPjNDIDAwIDAwIDAwPC9jb2RlPjogVUNTLTQsIGxpdHRsZS1lbmRpYW4gbWFjaGluZSAoNDMyMSBvcmRlcik8L3A+Cis8L2l0ZW0+Cis8aXRlbT4KKzxwPjxjb2RlPjAwIDAwIDNDIDAwPC9jb2RlPjogVUNTLTQsIHVudXN1YWwgb2N0ZXQgb3JkZXIgKDIxNDMpPC9wPgorPC9pdGVtPgorPGl0ZW0+Cis8cD48Y29kZT4wMCAzQyAwMCAwMDwvY29kZT46IFVDUy00LCB1bnVzdWFsIG9jdGV0IG9yZGVyICgzNDEyKTwvcD4KKzwvaXRlbT4KKzxpdGVtPgorPHA+PGNvZGU+RkUgRkY8L2NvZGU+OiBVVEYtMTYsIGJpZy1lbmRpYW48L3A+Cis8L2l0ZW0+Cis8aXRlbT4KKzxwPjxjb2RlPkZGIEZFPC9jb2RlPjogVVRGLTE2LCBsaXR0bGUtZW5kaWFuPC9wPgorPC9pdGVtPgorPGl0ZW0+Cis8cD48Y29kZT4wMCAzQyAwMCAzRjwvY29kZT46IFVURi0xNiwgYmlnLWVuZGlhbiwgbm8gQnl0ZSBPcmRlciBNYXJrCisoYW5kIHRodXMsIHN0cmljdGx5IHNwZWFraW5nLCBpbiBlcnJvcik8L3A+Cis8L2l0ZW0+Cis8aXRlbT4KKzxwPjxjb2RlPjNDIDAwIDNGIDAwPC9jb2RlPjogVVRGLTE2LCBsaXR0bGUtZW5kaWFuLCBubyBCeXRlIE9yZGVyIE1hcmsKKyhhbmQgdGh1cywgc3RyaWN0bHkgc3BlYWtpbmcsIGluIGVycm9yKTwvcD4KKzwvaXRlbT4KKzxpdGVtPgorPHA+PGNvZGU+M0MgM0YgNzggNkQ8L2NvZGU+OiBVVEYtOCwgSVNPIDY0NiwgQVNDSUksIHNvbWUgcGFydCBvZiBJU08gODg1OSwgCitTaGlmdC1KSVMsIEVVQywgb3IgYW55IG90aGVyIDctYml0LCA4LWJpdCwgb3IgbWl4ZWQtd2lkdGggZW5jb2RpbmcKK3doaWNoIGVuc3VyZXMgdGhhdCB0aGUgY2hhcmFjdGVycyBvZiBBU0NJSSBoYXZlIHRoZWlyIG5vcm1hbCBwb3NpdGlvbnMsCit3aWR0aCwKK2FuZCB2YWx1ZXM7IHRoZSBhY3R1YWwgZW5jb2RpbmcgZGVjbGFyYXRpb24gbXVzdCBiZSByZWFkIHRvIAorZGV0ZWN0IHdoaWNoIG9mIHRoZXNlIGFwcGxpZXMsIGJ1dCBzaW5jZSBhbGwgb2YgdGhlc2UgZW5jb2RpbmdzCit1c2UgdGhlIHNhbWUgYml0IHBhdHRlcm5zIGZvciB0aGUgQVNDSUkgY2hhcmFjdGVycywgdGhlIGVuY29kaW5nIAorZGVjbGFyYXRpb24gaXRzZWxmIG1heSBiZSByZWFkIHJlbGlhYmx5Cis8L3A+Cis8L2l0ZW0+Cis8aXRlbT4KKzxwPjxjb2RlPjRDIDZGIEE3IDk0PC9jb2RlPjogRUJDRElDIChpbiBzb21lIGZsYXZvcjsgdGhlIGZ1bGwKK2VuY29kaW5nIGRlY2xhcmF0aW9uIG11c3QgYmUgcmVhZCB0byB0ZWxsIHdoaWNoIGNvZGUgcGFnZSBpcyBpbiAKK3VzZSk8L3A+Cis8L2l0ZW0+Cis8aXRlbT4KKzxwPm90aGVyOiBVVEYtOCB3aXRob3V0IGFuIGVuY29kaW5nIGRlY2xhcmF0aW9uLCBvciBlbHNlIAordGhlIGRhdGEgc3RyZWFtIGlzIGNvcnJ1cHQsIGZyYWdtZW50YXJ5LCBvciBlbmNsb3NlZCBpbgorYSB3cmFwcGVyIG9mIHNvbWUga2luZDwvcD4KKzwvaXRlbT4KKzwvdWxpc3Q+Cis8L3A+Cis8cD4KK1RoaXMgbGV2ZWwgb2YgYXV0b2RldGVjdGlvbiBpcyBlbm91Z2ggdG8gcmVhZCB0aGUgWE1MIGVuY29kaW5nCitkZWNsYXJhdGlvbiBhbmQgcGFyc2UgdGhlIGNoYXJhY3Rlci1lbmNvZGluZyBpZGVudGlmaWVyLCB3aGljaCBpcworc3RpbGwgbmVjZXNzYXJ5IHRvIGRpc3Rpbmd1aXNoIHRoZSBpbmRpdmlkdWFsIG1lbWJlcnMgb2YgZWFjaCBmYW1pbHkKK29mIGVuY29kaW5ncyAoZS5nLiB0byB0ZWxsICBVVEYtOCBmcm9tIDg4NTksIGFuZCB0aGUgcGFydHMgb2YgODg1OQorZnJvbSBlYWNoIG90aGVyLCBvciB0byBkaXN0aW5ndWlzaCB0aGUgc3BlY2lmaWMgRUJDRElDIGNvZGUgcGFnZSBpbgordXNlLCBhbmQgc28gb24pLgorPC9wPgorPHA+CitCZWNhdXNlIHRoZSBjb250ZW50cyBvZiB0aGUgZW5jb2RpbmcgZGVjbGFyYXRpb24gYXJlIHJlc3RyaWN0ZWQgdG8KK0FTQ0lJIGNoYXJhY3RlcnMsIGEgcHJvY2Vzc29yIGNhbiByZWxpYWJseSByZWFkIHRoZSBlbnRpcmUgZW5jb2RpbmcKK2RlY2xhcmF0aW9uIGFzIHNvb24gYXMgaXQgaGFzIGRldGVjdGVkIHdoaWNoIGZhbWlseSBvZiBlbmNvZGluZ3MgaXMgaW4KK3VzZS4gIFNpbmNlIGluIHByYWN0aWNlLCBhbGwgd2lkZWx5IHVzZWQgY2hhcmFjdGVyIGVuY29kaW5ncyBmYWxsIGludG8KK29uZSBvZiB0aGUgY2F0ZWdvcmllcyBhYm92ZSwgdGhlIFhNTCBlbmNvZGluZyBkZWNsYXJhdGlvbiBhbGxvd3MKK3JlYXNvbmFibHkgcmVsaWFibGUgaW4tYmFuZCBsYWJlbGluZyBvZiBjaGFyYWN0ZXIgZW5jb2RpbmdzLCBldmVuIHdoZW4KK2V4dGVybmFsIHNvdXJjZXMgb2YgaW5mb3JtYXRpb24gYXQgdGhlIG9wZXJhdGluZy1zeXN0ZW0gb3IKK3RyYW5zcG9ydC1wcm90b2NvbCBsZXZlbCBhcmUgdW5yZWxpYWJsZS4KKzwvcD4KKzxwPgorT25jZSB0aGUgcHJvY2Vzc29yIGhhcyBkZXRlY3RlZCB0aGUgY2hhcmFjdGVyIGVuY29kaW5nIGluIHVzZSwgaXQgY2FuCithY3QgYXBwcm9wcmlhdGVseSwgd2hldGhlciBieSBpbnZva2luZyBhIHNlcGFyYXRlIGlucHV0IHJvdXRpbmUgZm9yCitlYWNoIGNhc2UsIG9yIGJ5IGNhbGxpbmcgdGhlIHByb3BlciBjb252ZXJzaW9uIGZ1bmN0aW9uIG9uIGVhY2gKK2NoYXJhY3RlciBvZiBpbnB1dC4gCis8L3A+Cis8cD4KK0xpa2UgYW55IHNlbGYtbGFiZWxpbmcgc3lzdGVtLCB0aGUgWE1MIGVuY29kaW5nIGRlY2xhcmF0aW9uIHdpbGwgbm90Cit3b3JrIGlmIGFueSBzb2Z0d2FyZSBjaGFuZ2VzIHRoZSBlbnRpdHkncyBjaGFyYWN0ZXIgc2V0IG9yIGVuY29kaW5nCit3aXRob3V0IHVwZGF0aW5nIHRoZSBlbmNvZGluZyBkZWNsYXJhdGlvbi4gIEltcGxlbWVudG9ycyBvZgorY2hhcmFjdGVyLWVuY29kaW5nIHJvdXRpbmVzIHNob3VsZCBiZSBjYXJlZnVsIHRvIGVuc3VyZSB0aGUgYWNjdXJhY3kKK29mIHRoZSBpbnRlcm5hbCBhbmQgZXh0ZXJuYWwgaW5mb3JtYXRpb24gdXNlZCB0byBsYWJlbCB0aGUgZW50aXR5LgorPC9wPgorPHA+VGhlIHNlY29uZCBwb3NzaWJsZSBjYXNlIG9jY3VycyB3aGVuIHRoZSBYTUwgZW50aXR5IGlzIGFjY29tcGFuaWVkCitieSBlbmNvZGluZyBpbmZvcm1hdGlvbiwgYXMgaW4gc29tZSBmaWxlIHN5c3RlbXMgYW5kIHNvbWUgbmV0d29yaworcHJvdG9jb2xzLgorV2hlbiBtdWx0aXBsZSBzb3VyY2VzIG9mIGluZm9ybWF0aW9uIGFyZSBhdmFpbGFibGUsCisKK3RoZWlyIHJlbGF0aXZlCitwcmlvcml0eSBhbmQgdGhlIHByZWZlcnJlZCBtZXRob2Qgb2YgaGFuZGxpbmcgY29uZmxpY3Qgc2hvdWxkIGJlCitzcGVjaWZpZWQgYXMgcGFydCBvZiB0aGUgaGlnaGVyLWxldmVsIHByb3RvY29sIHVzZWQgdG8gZGVsaXZlciBYTUwuCitSdWxlcyBmb3IgdGhlIHJlbGF0aXZlIHByaW9yaXR5IG9mIHRoZSBpbnRlcm5hbCBsYWJlbCBhbmQgdGhlCitNSU1FLXR5cGUgbGFiZWwgaW4gYW4gZXh0ZXJuYWwgaGVhZGVyLCBmb3IgZXhhbXBsZSwgc2hvdWxkIGJlIHBhcnQgb2YgdGhlCitSRkMgZG9jdW1lbnQgZGVmaW5pbmcgdGhlIHRleHQveG1sIGFuZCBhcHBsaWNhdGlvbi94bWwgTUlNRSB0eXBlcy4gSW4KK3RoZSBpbnRlcmVzdHMgb2YgaW50ZXJvcGVyYWJpbGl0eSwgaG93ZXZlciwgdGhlIGZvbGxvd2luZyBydWxlcworYXJlIHJlY29tbWVuZGVkLgorPHVsaXN0PgorPGl0ZW0+PHA+SWYgYW4gWE1MIGVudGl0eSBpcyBpbiBhIGZpbGUsIHRoZSBCeXRlLU9yZGVyIE1hcmsKK2FuZCBlbmNvZGluZy1kZWNsYXJhdGlvbiBQSSBhcmUgdXNlZCAoaWYgcHJlc2VudCkgdG8gZGV0ZXJtaW5lIHRoZQorY2hhcmFjdGVyIGVuY29kaW5nLiAgQWxsIG90aGVyIGhldXJpc3RpY3MgYW5kIHNvdXJjZXMgb2YgaW5mb3JtYXRpb24KK2FyZSBzb2xlbHkgZm9yIGVycm9yIHJlY292ZXJ5LgorPC9wPjwvaXRlbT4KKzxpdGVtPjxwPklmIGFuIFhNTCBlbnRpdHkgaXMgZGVsaXZlcmVkIHdpdGggYQorTUlNRSB0eXBlIG9mIHRleHQveG1sLCB0aGVuIHRoZSA8Y29kZT5jaGFyc2V0PC9jb2RlPiBwYXJhbWV0ZXIKK29uIHRoZSBNSU1FIHR5cGUgZGV0ZXJtaW5lcyB0aGUKK2NoYXJhY3RlciBlbmNvZGluZyBtZXRob2Q7IGFsbCBvdGhlciBoZXVyaXN0aWNzIGFuZCBzb3VyY2VzIG9mCitpbmZvcm1hdGlvbiBhcmUgc29sZWx5IGZvciBlcnJvciByZWNvdmVyeS4KKzwvcD48L2l0ZW0+Cis8aXRlbT48cD5JZiBhbiBYTUwgZW50aXR5IGlzIGRlbGl2ZXJlZCAKK3dpdGggYQorTUlNRSB0eXBlIG9mIGFwcGxpY2F0aW9uL3htbCwgdGhlbiB0aGUgQnl0ZS1PcmRlciBNYXJrIGFuZAorZW5jb2RpbmctZGVjbGFyYXRpb24gUEkgYXJlIHVzZWQgKGlmIHByZXNlbnQpIHRvIGRldGVybWluZSB0aGUKK2NoYXJhY3RlciBlbmNvZGluZy4gIEFsbCBvdGhlciBoZXVyaXN0aWNzIGFuZCBzb3VyY2VzIG9mCitpbmZvcm1hdGlvbiBhcmUgc29sZWx5IGZvciBlcnJvciByZWNvdmVyeS4KKzwvcD48L2l0ZW0+Cis8L3VsaXN0PgorVGhlc2UgcnVsZXMgYXBwbHkgb25seSBpbiB0aGUgYWJzZW5jZSBvZiBwcm90b2NvbC1sZXZlbCBkb2N1bWVudGF0aW9uOworaW4gcGFydGljdWxhciwgd2hlbiB0aGUgTUlNRSB0eXBlcyB0ZXh0L3htbCBhbmQgYXBwbGljYXRpb24veG1sIGFyZQorZGVmaW5lZCwgdGhlIHJlY29tbWVuZGF0aW9ucyBvZiB0aGUgcmVsZXZhbnQgUkZDIHdpbGwgc3VwZXJzZWRlCit0aGVzZSBydWxlcy4KKzwvcD4KKworPC9pbmZvcm0tZGl2MT4KKworPGluZm9ybS1kaXYxIGlkPSJzZWMteG1sLXdnIj4KKzxoZWFkPlczQyBYTUwgV29ya2luZyBHcm91cDwvaGVhZD4KKyAKKzxwPlRoaXMgc3BlY2lmaWNhdGlvbiB3YXMgcHJlcGFyZWQgYW5kIGFwcHJvdmVkIGZvciBwdWJsaWNhdGlvbiBieSB0aGUKK1czQyBYTUwgV29ya2luZyBHcm91cCAoV0cpLiAgV0cgYXBwcm92YWwgb2YgdGhpcyBzcGVjaWZpY2F0aW9uIGRvZXMKK25vdCBuZWNlc3NhcmlseSBpbXBseSB0aGF0IGFsbCBXRyBtZW1iZXJzIHZvdGVkIGZvciBpdHMgYXBwcm92YWwuICAKK1RoZSBjdXJyZW50IGFuZCBmb3JtZXIgbWVtYmVycyBvZiB0aGUgWE1MIFdHIGFyZTo8L3A+CisgCis8b3JnbGlzdD4KKzxtZW1iZXI+PG5hbWU+Sm9uIEJvc2FrLCBTdW48L25hbWU+PHJvbGU+Q2hhaXI8L3JvbGU+PC9tZW1iZXI+Cis8bWVtYmVyPjxuYW1lPkphbWVzIENsYXJrPC9uYW1lPjxyb2xlPlRlY2huaWNhbCBMZWFkPC9yb2xlPjwvbWVtYmVyPgorPG1lbWJlcj48bmFtZT5UaW0gQnJheSwgVGV4dHVhbGl0eSBhbmQgTmV0c2NhcGU8L25hbWU+PHJvbGU+WE1MIENvLWVkaXRvcjwvcm9sZT48L21lbWJlcj4KKzxtZW1iZXI+PG5hbWU+SmVhbiBQYW9saSwgTWljcm9zb2Z0PC9uYW1lPjxyb2xlPlhNTCBDby1lZGl0b3I8L3JvbGU+PC9tZW1iZXI+Cis8bWVtYmVyPjxuYW1lPkMuIE0uIFNwZXJiZXJnLU1jUXVlZW4sIFUuIG9mIElsbC48L25hbWU+PHJvbGU+WE1MCitDby1lZGl0b3I8L3JvbGU+PC9tZW1iZXI+Cis8bWVtYmVyPjxuYW1lPkRhbiBDb25ub2xseSwgVzNDPC9uYW1lPjxyb2xlPlczQyBMaWFpc29uPC9yb2xlPjwvbWVtYmVyPgorPG1lbWJlcj48bmFtZT5QYXVsYSBBbmdlcnN0ZWluLCBUZXhjZWw8L25hbWU+PC9tZW1iZXI+Cis8bWVtYmVyPjxuYW1lPlN0ZXZlIERlUm9zZSwgSU5TTzwvbmFtZT48L21lbWJlcj4KKzxtZW1iZXI+PG5hbWU+RGF2ZSBIb2xsYW5kZXIsIEhQPC9uYW1lPjwvbWVtYmVyPgorPG1lbWJlcj48bmFtZT5FbGlvdCBLaW1iZXIsIElTT0dFTjwvbmFtZT48L21lbWJlcj4KKzxtZW1iZXI+PG5hbWU+RXZlIE1hbGVyLCBBcmJvclRleHQ8L25hbWU+PC9tZW1iZXI+Cis8bWVtYmVyPjxuYW1lPlRvbSBNYWdsaWVyeSwgTkNTQTwvbmFtZT48L21lbWJlcj4KKzxtZW1iZXI+PG5hbWU+TXVycmF5IE1hbG9uZXksIE11em1vIGFuZCBHcmlmPC9uYW1lPjwvbWVtYmVyPgorPG1lbWJlcj48bmFtZT5NYWtvdG8gTXVyYXRhLCBGdWppIFhlcm94IEluZm9ybWF0aW9uIFN5c3RlbXM8L25hbWU+PC9tZW1iZXI+Cis8bWVtYmVyPjxuYW1lPkpvZWwgTmF2YSwgQWRvYmU8L25hbWU+PC9tZW1iZXI+Cis8bWVtYmVyPjxuYW1lPkNvbmxldGggTydDb25uZWxsLCBWaWduZXR0ZTwvbmFtZT48L21lbWJlcj4KKzxtZW1iZXI+PG5hbWU+UGV0ZXIgU2hhcnBlLCBTb2Z0UXVhZDwvbmFtZT48L21lbWJlcj4KKzxtZW1iZXI+PG5hbWU+Sm9obiBUaWd1ZSwgRGF0YUNoYW5uZWw8L25hbWU+PC9tZW1iZXI+Cis8L29yZ2xpc3Q+CisKKzwvaW5mb3JtLWRpdjE+Cis8L2JhY2s+Cis8L3NwZWM+Cis8IS0tIEtlZXAgdGhpcyBjb21tZW50IGF0IHRoZSBlbmQgb2YgdGhlIGZpbGUKK0xvY2FsIHZhcmlhYmxlczoKK21vZGU6IHNnbWwKK3NnbWwtZGVmYXVsdC1kdGQtZmlsZToifi9zZ21sL3NwZWMuY2VkIgorc2dtbC1vbWl0dGFnOnQKK3NnbWwtc2hvcnR0YWc6dAorRW5kOgorLS0+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvdmFsaWQvVVRGMTZFbnRpdHkueG1sIGIvbGlieG1sMi90ZXN0L3ZhbGlkL1VURjE2RW50aXR5LnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YmIyOWFjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3ZhbGlkL1VURjE2RW50aXR5LnhtbApAQCAtMCwwICsxLDggQEAKKzwhRE9DVFlQRSBmb28gWworPCFFTEVNRU5UIGZvbyAocm9vdCopPgorPCFFTEVNRU5UIHJvb3QgRU1QVFk+Cis8IUVOVElUWSB1dGYxNmIgU1lTVEVNICJkdGRzL3V0ZjE2Yi5lbnQiPgorPCFFTlRJVFkgdXRmMTZsIFNZU1RFTSAiZHRkcy91dGYxNmwuZW50Ij4KK10+CisKKzxmb28+ICZ1dGYxNmI7ICZ1dGYxNmw7IDwvZm9vPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3ZhbGlkL2RpYS54bWwgYi9saWJ4bWwyL3Rlc3QvdmFsaWQvZGlhLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYWIzZDA2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3ZhbGlkL2RpYS54bWwKQEAgLTAsMCArMSwxNjMgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCFET0NUWVBFIGRpYTpkaWFncmFtIFsKKzwhRUxFTUVOVCBkaWE6ZGlhZ3JhbSAoZGlhOmRpYWdyYW1kYXRhLCAoZGlhOmxheWVyKSopID4KKzwhQVRUTElTVCBkaWE6ZGlhZ3JhbQorICAgICAgICAgIHhtbG5zOmRpYSBDREFUQSAjRklYRUQgImh0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLyI+CisgICAgICAgICAgCisKKzwhRUxFTUVOVCBkaWE6ZGlhZ3JhbWRhdGEgKGRpYTphdHRyaWJ1dGUpKiA+CisKKzwhRUxFTUVOVCBkaWE6bGF5ZXIgKGRpYTpvYmplY3QgfCBkaWE6Z3JvdXApKj4KKzwhQVRUTElTVCBkaWE6bGF5ZXIKKyAgIGRpYTpuYW1lIENEQVRBICNSRVFVSVJFRAorICAgZGlhOnZpc2libGUgKHRydWV8ZmFsc2UpICNSRVFVSVJFRCA+CisKKzwhRUxFTUVOVCBkaWE6b2JqZWN0ICgoZGlhOmF0dHJpYnV0ZSkqLCBkaWE6Y29ubmVjdGlvbnM/KT4KKzwhQVRUTElTVCBkaWE6b2JqZWN0CisgICBkaWE6dHlwZSBDREFUQSAjUkVRVUlSRUQKKyAgIGRpYTp2ZXJzaW9uIE5NVE9LRU4gI1JFUVVJUkVECisgICBkaWE6aWQgSUQgI1JFUVVJUkVEID4KKworPCFFTEVNRU5UIGRpYTpjb25uZWN0aW9ucyAoZGlhOmNvbm5lY3Rpb24pKj4KKworPCFFTEVNRU5UIGRpYTpjb25uZWN0aW9uIEVNUFRZPgorPCFBVFRMSVNUIGRpYTpjb25uZWN0aW9uCisgICBkaWE6aGFuZGxlIE5NVE9LRU4gI1JFUVVJUkVECisgICBkaWE6dG8gSURSRUYgI1JFUVVJUkVECisgICBkaWE6Y29ubmVjdGlvbiBOTVRPS0VOICNSRVFVSVJFRD4KKworPCFFTEVNRU5UIGRpYTpncm91cCAoZGlhOm9iamVjdCB8IGRpYTpncm91cCkqPgorCis8IUVMRU1FTlQgZGlhOmF0dHJpYnV0ZSAoZGlhOmNvbXBvc2l0ZSB8IGRpYTppbnQgfCBkaWE6ZW51bSB8IGRpYTpyZWFsIHwgZGlhOmJvb2xlYW4gfAorICAgICAgICAgICAgICAgICAgICAgZGlhOmNvbG9yIHwgZGlhOnBvaW50IHwgZGlhOnJlY3RhbmdsZSB8IGRpYTpzdHJpbmcgfCBkaWE6Zm9udCkqPgorPCFBVFRMSVNUIGRpYTphdHRyaWJ1dGUgIGRpYTpuYW1lIENEQVRBICNSRVFVSVJFRCA+CisKKzwhRUxFTUVOVCBkaWE6Y29tcG9zaXRlIChkaWE6YXR0cmlidXRlKSo+Cis8IUFUVExJU1QgZGlhOmNvbXBvc2l0ZSAgZGlhOnR5cGUgQ0RBVEEgI0lNUExJRUQ+CisKKzwhRUxFTUVOVCBkaWE6aW50IEVNUFRZPgorPCFBVFRMSVNUIGRpYTppbnQgIGRpYTp2YWwgTk1UT0tFTiAjUkVRVUlSRUQ+CisKKzwhRUxFTUVOVCBkaWE6ZW51bSBFTVBUWT4KKzwhQVRUTElTVCBkaWE6ZW51bSAgZGlhOnZhbCBOTVRPS0VOICNSRVFVSVJFRD4KKworPCFFTEVNRU5UIGRpYTpyZWFsIEVNUFRZPgorPCFBVFRMSVNUIGRpYTpyZWFsICBkaWE6dmFsIENEQVRBICNSRVFVSVJFRD4KKworPCFFTEVNRU5UIGRpYTpib29sZWFuIEVNUFRZPgorPCFBVFRMSVNUIGRpYTpib29sZWFuICBkaWE6dmFsICh0cnVlfGZhbHNlKSAjUkVRVUlSRUQ+CisKKzwhRUxFTUVOVCBkaWE6Y29sb3IgRU1QVFk+Cis8IUFUVExJU1QgZGlhOmNvbG9yICBkaWE6dmFsIENEQVRBICNSRVFVSVJFRD4KKworPCFFTEVNRU5UIGRpYTpwb2ludCBFTVBUWT4KKzwhQVRUTElTVCBkaWE6cG9pbnQgIGRpYTp2YWwgQ0RBVEEgI1JFUVVJUkVEPgorCis8IUVMRU1FTlQgZGlhOnJlY3RhbmdsZSBFTVBUWT4KKzwhQVRUTElTVCBkaWE6cmVjdGFuZ2xlICBkaWE6dmFsIENEQVRBICNSRVFVSVJFRD4KKworPCFFTEVNRU5UIGRpYTpzdHJpbmcgRU1QVFk+Cis8IUFUVExJU1QgZGlhOnN0cmluZyAgZGlhOnZhbCBDREFUQSAjSU1QTElFRD4KKworPCFFTEVNRU5UIGRpYTpmb250IEVNUFRZPgorPCFBVFRMSVNUIGRpYTpmb250IGRpYTpuYW1lIENEQVRBICNSRVFVSVJFRD4KK10+CisKKzxkaWE6ZGlhZ3JhbSB4bWxuczpkaWE9Imh0dHA6Ly93d3cubHlzYXRvci5saXUuc2UvfmFsbGEvZGlhLyI+CisgIDxkaWE6ZGlhZ3JhbWRhdGE+CisgICAgPGRpYTphdHRyaWJ1dGUgZGlhOm5hbWU9ImJhY2tncm91bmQiPgorICAgICAgPGRpYTpjb2xvciBkaWE6dmFsPSIjZmZmZmZmIi8+CisgICAgPC9kaWE6YXR0cmlidXRlPgorICA8L2RpYTpkaWFncmFtZGF0YT4KKyAgPGRpYTpsYXllciBkaWE6bmFtZT0iQmFja2dyb3VuZCIgZGlhOnZpc2libGU9InRydWUiPgorICAgIDxkaWE6b2JqZWN0IGRpYTp0eXBlPSJTdGFuZGFyZCAtIExpbmUiIGRpYTp2ZXJzaW9uPSIwIiBkaWE6aWQ9Ik8wIj4KKyAgICAgIDxkaWE6YXR0cmlidXRlIGRpYTpuYW1lPSJvYmpfcG9zIj4KKyAgICAgICAgPGRpYTpwb2ludCBkaWE6dmFsPSIxLjk1LDYuODUiLz4KKyAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgIDxkaWE6YXR0cmlidXRlIGRpYTpuYW1lPSJvYmpfYmIiPgorICAgICAgICA8ZGlhOnJlY3RhbmdsZSBkaWE6dmFsPSIxLjksNi44OzExLDguNTUiLz4KKyAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgIDxkaWE6YXR0cmlidXRlIGRpYTpuYW1lPSJjb25uX2VuZHBvaW50cyI+CisgICAgICAgIDxkaWE6cG9pbnQgZGlhOnZhbD0iMS45NSw2Ljg1Ii8+CisgICAgICAgIDxkaWE6cG9pbnQgZGlhOnZhbD0iMTAuOTUsOC41Ii8+CisgICAgICA8L2RpYTphdHRyaWJ1dGU+CisgICAgICA8ZGlhOmF0dHJpYnV0ZSBkaWE6bmFtZT0ibGluZV9jb2xvciI+CisgICAgICAgIDxkaWE6Y29sb3IgZGlhOnZhbD0iIzAwMDAwMCIvPgorICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgICAgPGRpYTphdHRyaWJ1dGUgZGlhOm5hbWU9ImxpbmVfd2lkdGgiPgorICAgICAgICA8ZGlhOnJlYWwgZGlhOnZhbD0iMC4xIi8+CisgICAgICA8L2RpYTphdHRyaWJ1dGU+CisgICAgICA8ZGlhOmF0dHJpYnV0ZSBkaWE6bmFtZT0ibGluZV9zdHlsZSI+CisgICAgICAgIDxkaWE6ZW51bSBkaWE6dmFsPSIwIi8+CisgICAgICA8L2RpYTphdHRyaWJ1dGU+CisgICAgICA8ZGlhOmF0dHJpYnV0ZSBkaWE6bmFtZT0ic3RhcnRfYXJyb3ciPgorICAgICAgICA8ZGlhOmVudW0gZGlhOnZhbD0iMCIvPgorICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgICAgPGRpYTphdHRyaWJ1dGUgZGlhOm5hbWU9ImVuZF9hcnJvdyI+CisgICAgICAgIDxkaWE6ZW51bSBkaWE6dmFsPSIwIi8+CisgICAgICA8L2RpYTphdHRyaWJ1dGU+CisgICAgICA8ZGlhOmNvbm5lY3Rpb25zPgorICAgICAgICA8ZGlhOmNvbm5lY3Rpb24gZGlhOmhhbmRsZT0iMSIgZGlhOnRvPSJPMiIgZGlhOmNvbm5lY3Rpb249IjMiLz4KKyAgICAgIDwvZGlhOmNvbm5lY3Rpb25zPgorICAgIDwvZGlhOm9iamVjdD4KKyAgICA8ZGlhOm9iamVjdCBkaWE6dHlwZT0iU3RhbmRhcmQgLSBUZXh0IiBkaWE6dmVyc2lvbj0iMCIgZGlhOmlkPSJPMSI+CisgICAgICA8ZGlhOmF0dHJpYnV0ZSBkaWE6bmFtZT0ib2JqX3BvcyI+CisgICAgICAgIDxkaWE6cG9pbnQgZGlhOnZhbD0iNC44LDQuNzUiLz4KKyAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgIDxkaWE6YXR0cmlidXRlIGRpYTpuYW1lPSJvYmpfYmIiPgorICAgICAgICA8ZGlhOnJlY3RhbmdsZSBkaWE6dmFsPSIyLjU3OSwzLjk2MzU5OzcuMDIxLDQuOTYzNTkiLz4KKyAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgIDxkaWE6YXR0cmlidXRlIGRpYTpuYW1lPSJ0ZXh0Ij4KKyAgICAgICAgPGRpYTpjb21wb3NpdGUgZGlhOnR5cGU9InRleHQiPgorICAgICAgICAgIDxkaWE6YXR0cmlidXRlIGRpYTpuYW1lPSJzdHJpbmciPgorICAgICAgICAgICAgPGRpYTpzdHJpbmcgZGlhOnZhbD0ic2Rmc2RmZyIvPgorICAgICAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgICAgICA8ZGlhOmF0dHJpYnV0ZSBkaWE6bmFtZT0iZm9udCI+CisgICAgICAgICAgICA8ZGlhOmZvbnQgZGlhOm5hbWU9IkNvdXJpZXIiLz4KKyAgICAgICAgICA8L2RpYTphdHRyaWJ1dGU+CisgICAgICAgICAgPGRpYTphdHRyaWJ1dGUgZGlhOm5hbWU9ImhlaWdodCI+CisgICAgICAgICAgICA8ZGlhOnJlYWwgZGlhOnZhbD0iMSIvPgorICAgICAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgICAgICA8ZGlhOmF0dHJpYnV0ZSBkaWE6bmFtZT0icG9zIj4KKyAgICAgICAgICAgIDxkaWE6cG9pbnQgZGlhOnZhbD0iNC44LDQuNzUiLz4KKyAgICAgICAgICA8L2RpYTphdHRyaWJ1dGU+CisgICAgICAgICAgPGRpYTphdHRyaWJ1dGUgZGlhOm5hbWU9ImNvbG9yIj4KKyAgICAgICAgICAgIDxkaWE6Y29sb3IgZGlhOnZhbD0iIzAwMDAwMCIvPgorICAgICAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgICAgICA8ZGlhOmF0dHJpYnV0ZSBkaWE6bmFtZT0iYWxpZ25tZW50Ij4KKyAgICAgICAgICAgIDxkaWE6ZW51bSBkaWE6dmFsPSIxIi8+CisgICAgICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgICAgICA8L2RpYTpjb21wb3NpdGU+CisgICAgICA8L2RpYTphdHRyaWJ1dGU+CisgICAgPC9kaWE6b2JqZWN0PgorICAgIDxkaWE6b2JqZWN0IGRpYTp0eXBlPSJTdGFuZGFyZCAtIEJveCIgZGlhOnZlcnNpb249IjAiIGRpYTppZD0iTzIiPgorICAgICAgPGRpYTphdHRyaWJ1dGUgZGlhOm5hbWU9Im9ial9wb3MiPgorICAgICAgICA8ZGlhOnBvaW50IGRpYTp2YWw9IjEwLjk1LDcuNSIvPgorICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgICAgPGRpYTphdHRyaWJ1dGUgZGlhOm5hbWU9Im9ial9iYiI+CisgICAgICAgIDxkaWE6cmVjdGFuZ2xlIGRpYTp2YWw9IjEwLjksNy40NTsxMy4wNSw5LjU1Ii8+CisgICAgICA8L2RpYTphdHRyaWJ1dGU+CisgICAgICA8ZGlhOmF0dHJpYnV0ZSBkaWE6bmFtZT0iZWxlbV9jb3JuZXIiPgorICAgICAgICA8ZGlhOnBvaW50IGRpYTp2YWw9IjEwLjk1LDcuNSIvPgorICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgICAgPGRpYTphdHRyaWJ1dGUgZGlhOm5hbWU9ImVsZW1fd2lkdGgiPgorICAgICAgICA8ZGlhOnJlYWwgZGlhOnZhbD0iMi4wNSIvPgorICAgICAgPC9kaWE6YXR0cmlidXRlPgorICAgICAgPGRpYTphdHRyaWJ1dGUgZGlhOm5hbWU9ImVsZW1faGVpZ2h0Ij4KKyAgICAgICAgPGRpYTpyZWFsIGRpYTp2YWw9IjIiLz4KKyAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgIDxkaWE6YXR0cmlidXRlIGRpYTpuYW1lPSJib3JkZXJfd2lkdGgiPgorICAgICAgICA8ZGlhOnJlYWwgZGlhOnZhbD0iMC4xIi8+CisgICAgICA8L2RpYTphdHRyaWJ1dGU+CisgICAgICA8ZGlhOmF0dHJpYnV0ZSBkaWE6bmFtZT0iYm9yZGVyX2NvbG9yIj4KKyAgICAgICAgPGRpYTpjb2xvciBkaWE6dmFsPSIjMDAwMDAwIi8+CisgICAgICA8L2RpYTphdHRyaWJ1dGU+CisgICAgICA8ZGlhOmF0dHJpYnV0ZSBkaWE6bmFtZT0iaW5uZXJfY29sb3IiPgorICAgICAgICA8ZGlhOmNvbG9yIGRpYTp2YWw9IiNmZmZmZmYiLz4KKyAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICAgIDxkaWE6YXR0cmlidXRlIGRpYTpuYW1lPSJsaW5lX3N0eWxlIj4KKyAgICAgICAgPGRpYTplbnVtIGRpYTp2YWw9IjAiLz4KKyAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KKyAgICA8L2RpYTpvYmplY3Q+CisgIDwvZGlhOmxheWVyPgorPC9kaWE6ZGlhZ3JhbT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC92YWxpZC9kdGRzLzEyNzc3Mi5kdGQgYi9saWJ4bWwyL3Rlc3QvdmFsaWQvZHRkcy8xMjc3NzIuZHRkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg3M2ZiMzUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvdmFsaWQvZHRkcy8xMjc3NzIuZHRkCkBAIC0wLDAgKzEsNyBAQAorPCFFTEVNRU5UIGEgKGIqKT4KKworPCFFTEVNRU5UIGIgKCNQQ0RBVEEpPgorPCFBVFRMSVNUIGIgeG1sbnM6eGxpbmsgIENEQVRBICAgICAjRklYRUQgJ2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsnCisgICAgICAgICAgICB4bGluazp0eXBlICAgKHNpbXBsZSkgICNGSVhFRCAnc2ltcGxlJworICAgICAgICAgICAgeGxpbms6aHJlZiAgIENEQVRBICAgICAjSU1QTElFRD4KKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3ZhbGlkL2R0ZHMvNjk0MjI4LmR0ZCBiL2xpYnhtbDIvdGVzdC92YWxpZC9kdGRzLzY5NDIyOC5kdGQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2FiYzE5ZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC92YWxpZC9kdGRzLzY5NDIyOC5kdGQKQEAgLTAsMCArMSwzIEBACivvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCFFTlRJVFkgZW50aXR5ICJUaGlzIGlzIGFuIGV4dGVybmFsIGVudGl0eSB0aGF0IHVzZXMgbm9uLUFTQ0lJIGNoYXJhY3RlcnPigKYg5pel5pysIj4KKzwhRUxFTUVOVCByb290ICgjUENEQVRBKT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC92YWxpZC9kdGRzL05ld3NNTHYxLjAuZHRkIGIvbGlieG1sMi90ZXN0L3ZhbGlkL2R0ZHMvTmV3c01MdjEuMC5kdGQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTc5OWIyOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC92YWxpZC9kdGRzL05ld3NNTHYxLjAuZHRkCkBAIC0wLDAgKzEsMTU3OCBAQAorPCEtLSANCisgICAgICAgICAgICAgICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKyAgICAgICAgICAgICAgICAgICBOZXdzTUwgRG9jdW1lbnQgVHlwZSBEZWZpbml0aW9uIFZlcnNpb24gMS4wDQorICAgICAgICAgICAgICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCisgICAgICAgICAgICAgICAgIEludGVybmF0aW9uYWwgUHJlc3MgVGVsZWNvbW11bmljYXRpb25zIENvdW5jaWwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDYgT2N0b2JlciAyMDAwDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvcHlyaWdodCAoYykgSVBUQywgMjAwMA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFsbCByaWdodHMgcmVzZXJ2ZWQNCisgICAgICAgICAgICAgICAgICAgICAgICAgTmV3c01MIGlzIGEgdHJhZGVtYXJrIG9mIElQVEMNCisNCisgICAgICAgICAgICAgICAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKyAgICAgICAgICAgICAgICAgICAgIERPIE5PVCBSRU1PVkUgVEhFU0UgTElDRU5DRSBDT05ESVRJT05TDQorICAgICAgICAgICAgICAgICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCisgICAgICAgICBMSUNFTkNFIE9GIFRIRSBJUFRDIE5ld3NNTCBUUkFERU1BUksgVE8gTk9OLU1FTUJFUlMgT0YgVEhFIElQVEMNCisNCitVc2Ugb2YgdGhlIElQVEMgdHJhZGVtYXJrIHNoYWxsIGJlIGxpY2Vuc2VkIGJ5IHRoZSBJUFRDICgidGhlIExpY2Vuc29yIikgdG8gYQ0KK05vbi1NZW1iZXIgKCJ0aGUgTGljZW5zZWUiKSBpbiBjb25zaWRlcmF0aW9uIG9mIHRoZSBmb2xsb3dpbmcgb2JsaWdhdGlvbnMNCit1bmRlcnRha2VuIGJ5IHRoZSBMaWNlbnNlZSB1bmRlciB0aGUgdGVybXMgb2YgdGhpcyBjb250cmFjdC4NCisNCisgMS4gVGhlIExpY2Vuc2VlIHJlY29nbmlzZXMgdGhlIExpY2Vuc29yIGFzIHRoZSBzb2xlIG93bmVyIG9mIHRoZSBpbnRlbGxlY3R1YWwNCisgICAgcHJvcGVydHkgcHJvdGVjdGVkIGJ5IHRoZSB0cmFkZW1hcmsuDQorDQorIDIuIFRoZSBMaWNlbnNlZSByZWNvZ25pc2VzIHRoYXQgdGhlIExpY2Vuc29yIGhhcyB0aGUgcmlnaHQgdG8gZ3JhbnQgbGljZW5zZXMNCisgICAgb2YgdGhlIGludGVsbGVjdHVhbCBwcm9wZXJ0eSBwcm90ZWN0ZWQgYnkgdGhlIHRyYWRlbWFyayBhbmQgaGFzIGFncmVlZCB0bw0KKyAgICBncmFudCBzdWNoIGEgbGljZW5jZSB0byB0aGUgTGljZW5zZWUgaW4gdGhlIHRlcm1zIHNldCBvdXQgaW4gdGhpcyBjb250cmFjdC4NCisNCisgMy4gVGhlIExpY2Vuc2VlIHNoYWxsIG5vdCBkdXJpbmcgdGhlIHN1YnNpc3RlbmNlIG9mIHRoaXMgY29udHJhY3Qgb3IgYXQgYW55DQorICAgIGZ1dHVyZSB0aW1lIHJlZ2lzdGVyIHRvIHVzZSBpbiBpdHMgb3duIG5hbWUgYXMgcHJvcHJpZXRvciBhbnkgb2YgdGhlDQorICAgIGludGVsbGVjdHVhbCBwcm9wZXJ0eSBwcm90ZWN0ZWQgYnkgdGhlIHRyYWRlbWFyay4gDQorDQorIDQuIFRoZSBMaWNlbnNlZSBzaGFsbCBub3QgY2xhaW0gYW55IHJpZ2h0IHRpdGxlIG9yIGludGVyZXN0IGluIHRoZQ0KKyAgICBpbnRlbGxlY3R1YWwgcHJvcGVydHkgb3IgYW55IHBhcnQgb2YgaXQgc2F2ZSBhcyBpcyBncmFudGVkIGJ5IHRoaXMgY29udHJhY3QuDQorDQorIDUuIFRoZSBMaWNlbnNlZSBzaGFsbCBpbW1lZGlhdGVseSBjYWxsIHRvIHRoZSBhdHRlbnRpb24gb2YgdGhlIExpY2Vuc29yIHRoZSB1c2UNCisgICAgb2YgYW55IHBhcnQgb2YgdGhlIGludGVsbGVjdHVhbCBwcm9wZXJ0eSBieSBhbnkgdGhpcmQgcGFydHkgb3IgYW55IGFjdGl2aXR5DQorICAgIG9mIGFueSB0aGlyZCBwYXJ0eSB3aGljaCBtaWdodCBpbiB0aGUgb3BpbmlvbiBvZiB0aGUgTGljZW5zZWUgYW1vdW50IHRvDQorICAgIGluZnJpbmdlbWVudCBvZiB0aGUgcmlnaHRzIHByb3RlY3RlZCBieSB0aGUgdHJhZGVtYXJrLg0KKw0KKyA2LiBUaGUgTGljZW5zZWUgc2hhbGwgbm90IGFzc2lnbiB0aGUgYmVuZWZpdCBvZiB0aGlzIGNvbnRyYWN0IG9yIGdyYW50IGFueQ0KKyAgICBzdWItbGljZW5jZSB3aXRob3V0IHRoZSBwcmlvciB3cml0dGVuIGNvbnNlbnQgb2YgdGhlIExpY2Vuc29yLg0KKw0KKyA3LiBVc2Ugb2YgdGhlIElQVEMgdHJhZGVtYXJrIGlzIGxpY2Vuc2VkIG9ubHkgdG8gdGhvc2UgTGljZW5zZWVzIHdobyBjb21wbHkNCisgICAgd2l0aCB0aGUgcmVxdWlyZW1lbnRzIG9mIHRoZSBvZmZpY2lhbCBwdWJsaXNoZWQgZGVzY3JpcHRpb24gb2YgTmV3c01MLg0KKw0KKyA4LiBUaGUgTGljZW5zZWUgcHJvbWlzZXMgdG8gcmVzcGVjdCB0aGUgaW50ZWdyaXR5IGFuZCBxdWFsaXR5IHN0YW5kYXJkIG9mIHRoZQ0KKyAgICB0cmFkZW1hcmsgYW5kIHNoYWxsIHJlZnJhaW4gZnJvbSBhbGwgYWN0cyBhbmQgb21pc3Npb25zIHdoaWNoIHRocmVhdGVuIHRoZQ0KKyAgICBpbnRlZ3JpdHkgb2YgdGhlIHRyYWRlbWFyayBhcyBhIG1hcmsgb2YgcXVhbGl0eS4NCisNCisgOS4gVGhlIExpY2Vuc2VlIHNoYWxsIGNvbW11bmljYXRlIGltbWVkaWF0ZWx5IHRvIHRoZSBJUFRDIGFueSBpbnN0YW5jZXMgb2YNCisgICAgYWN0dWFsIG9yIHN1c3BlY3RlZCBtaXN1c2Ugb3Igbm9uLWNvbXBsaWFuY2Ugd2l0aCB0aGUgb2ZmaWNpYWwgcHVibGlzaGVkDQorICAgIGRlc2NyaXB0aW9uIG9mIE5ld3NNTCB3aGljaCBjb21lIHRvIHRoZSBhdHRlbnRpb24gb2YgdGhlIExpY2Vuc2VlLg0KKw0KKzEwLiBUaGUgTGljZW5zZWUgc2hhbGwsIGF0IHRoZSByZXF1ZXN0IG9mIHRoZSBJUFRDIE1hbmFnZW1lbnQgQ29tbWl0dGVlIGFjdGluZw0KKyAgICB1bmFuaW1vdXNseSwgYWNjZWRlIHRvIGFueSByZWFzb25hYmxlIHJlcXVlc3Qgb2YgdGhlIElQVEMgdG8gaW5zcGVjdCB0aGUNCisgICAgYWRkcmVzcyBvZiB0aGUgTGljZW5zZWUgdG8gdmVyaWZ5IGNvbXBsaWFuY2UgYW5kIGVhY2ggTGljZW5zZWUgc2hhbGwgYWZmb3JkDQorICAgIHRvIHRoZSBJUFRDIHN1Y2ggYXNzaXN0YW5jZSBhcyBpcyByZXF1ZXN0ZWQgYnkgdGhlIElQVEMgaW4gcmVzcG9uc2UgdG8gdGhlDQorICAgIGxhdHRlcidzIHJlYXNvbmFibGUgZW5xdWlyaWVzIGluIGluc3RhbmNlcyBvZiBzdXNwZWN0ZWQgbm9uLWNvbXBsaWFuY2Ugd2l0aA0KKyAgICB0aGUgb2ZmaWNpYWwgcHVibGlzaGVkIGRlc2NyaXB0aW9uIG9mIE5ld3NNTCByZXF1aXJlbWVudHMuDQorDQorVGhlIExpY2Vuc2VlIHNoYWxsIGZyb20gdGltZSB0byB0aW1lIHByb3ZpZGUgdGhlIElQVEMgd2l0aCB0aGUgZnVsbCBhZGRyZXNzIG9mDQoraXRzIHBsYWNlIG9mIGJ1c2luZXNzIGFuZCB0aGF0IHBsYWNlIHdpbGwgYmUgZGVlbWVkIHRoZSBMaWNlbnNlZSdzIGFkZHJlc3MuDQorDQorVGhlIElQVEMgcmVzZXJ2ZXMgdGhlIHJpZ2h0IHRvIHRlcm1pbmF0ZSB0aGUgdXNlIG9mIHRoZSB0cmFkZW1hcmsgYnkgdGhlDQorTGljZW5zZWUgYXQgYW55IHRpbWUgd2l0aG91dCBub3RpY2Ugb3Igd2l0aG91dCB0aGUgbmVlZCB0byBnaXZlIHJlYXNvbnMgdG8gdGhlDQorTGljZW5zZWUgZm9yIHN1Y2ggdGVybWluYXRpb24uDQorDQorVGhpcyBjb250cmFjdCBzaGFsbCBiZSBnb3Zlcm5lZCBhbmQgY29uc3RydWVkIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgbGF3cyBvZg0KK0VuZ2xhbmQgYW5kIFdhbGVzIHdob3NlIGNvdXJ0cyBzaGFsbCBiZSBjb3VydHMgb2YgY29tcGV0ZW50IGp1cmlzZGljdGlvbi4NCistLT4NCis8IS0tIA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT09PT09PT09PT09PT09PQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTk9URSBPTiBTUEVMTElORw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT09PT09PT09PT09PT09PQ0KK05ld3NNTCBlbGVtZW50IGFuZCBhdHRyaWJ1dGUgbmFtZXMgdXNlIFVTLUVuZ2xpc2ggc3BlbGxpbmdzLiBXaXRoIHRoaXMNCitleGNlcHRpb24sIHRoaXMgRFREIGFuZCBpdHMgYWNjb21wYW55aW5nIHNwZWNpZmljYXRpb24gdXNlIEJyaXRpc2ggRW5nbGlzaA0KK3NwZWxsaW5ncy4NCistLT4NCis8IS0tIA0KKyAgICAgICAgICAgICAgICAgICAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICBQQVJBTUVURVIgRU5USVRZIERFQ0xBUkFUSU9OUyANCisgICAgICAgICAgICAgICAgICAgICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCistLT4NCis8IS0tIA0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXR0cmlidXRlIHNldHMgDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCistLT4NCis8IS0tIA0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gYXNzaWdubWVudCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorQXNzaWduZWRCeQ0KKz09PT09PT09PT0NCitBbiBpZGVudGlmaWVyIGZvciB0aGUgcGFydHkgYXNzaWduaW5nIGEgcGllY2Ugb2YgbWV0YWRhdGEuIFRoaXMgY2FuIGJlIGENCitzdHJpbmcgdGhhdCBkZXNpZ25hdGVzIHRoZSBwYXJ0eSBpbmZvcm1hbGx5IChmb3IgZXhhbXBsZSwgYSBwZXJzb24ncyBuYW1lKSwNCitvciBhIHBvaW50ZXIgaW4gdGhlIGZvcm0gYSBmcmFnbWVudCBpZGVudGlmaWVyIGNvbnNpc3Rpbmcgb2YgYSAjIGNoYXJhY3Rlcg0KK2ZvbGxvd2VkIGJ5IHRoZSBEdWlkIG9mIGEgVG9waWMgY29ycmVzcG9uZGluZyB0byB0aGUgcGFydHkuDQorDQorSW1wb3J0YW5jZQ0KKz09PT09PT09PT0NCitBbiBpbmRpY2F0aW9uIG9mIHRoZSBpbXBvcnRhbmNlIHRoZSBwYXJ0eSBhc3NpZ25pbmcgYSBwaWVjZSBvZiBtZXRhZGF0YQ0KK2F0dGFjaGVzIHRvIGl0LiBUaGUgdmFsdWUgb2YgdGhlIEltcG9ydGFuY2UgYXR0cmlidXRlIGlzIGEgZm9ybWFsIG5hbWUgZm9yIGENCitsZXZlbCBvZiBpbXBvcnRhbmNlLiBJdHMgbWVhbmluZyBhbmQgcGVybWl0dGVkIHZhbHVlcyBhcmUgZGV0ZXJtaW5lZCBieSBhDQorY29udHJvbGxlZCB2b2NhYnVsYXJ5Lg0KKw0KK0NvbmZpZGVuY2UNCis9PT09PT09PT09DQorQW4gaW5kaWNhdGlvbiBvZiB0aGUgY29uZmlkZW5jZSB3aXRoIHdoaWNoIGEgcGllY2Ugb2YgbWV0YWRhdGEgaGFzIGJlZW4NCithc3NpZ25lZC4gVGhlIHZhbHVlIG9mIHRoZSBDb25maWRlbmNlIGF0dHJpYnV0ZSBpcyBhIGZvcm1hbCBuYW1lIGZvciBhDQorZGVncmVlIG9mIGNvbmZpZGVuY2UuIEl0cyBtZWFuaW5nIGFuZCBwZXJtaXR0ZWQgdmFsdWVzIGFyZSBkZXRlcm1pbmVkIGJ5IGENCitjb250cm9sbGVkIHZvY2FidWxhcnkuDQorDQorSG93UHJlc2VudA0KKz09PT09PT09PT0NCitBbiBpbmRpY2F0aW9uIG9mIHRoZSB3YXkgaW4gd2hpY2ggYSBwaWVjZSBvZiBtZXRhZGF0YSBhcHBsaWVzLiBUaGUgdmFsdWUgb2YNCit0aGUgSG93UHJlc2VudCBhdHRyaWJ1dGUgaXMgYSBmb3JtYWwgbmFtZSBmb3IgdGhlIHdheSB0aGUgbWV0YWRhdGEgYXBwbGllcy4NCitJdHMgbWVhbmluZyBhbmQgcGVybWl0dGVkIHZhbHVlcyBhcmUgZGV0ZXJtaW5lZCBieSBhIGNvbnRyb2xsZWQgdm9jYWJ1bGFyeS4NCisNCitEYXRlQW5kVGltZQ0KKz09PT09PT09PT09DQorVGhlIGRhdGUgYW5kIChvcHRpb25hbGx5KSB0aW1lIGF0IHdoaWNoIGEgcGllY2Ugb2YgbWV0YWRhdGEgd2FzIGFzc2lnbmVkLiANCisNCitVc2VzIHRoZSBmb3JtYXQgQ0NZWU1NRERUSEhNTVNTeytvci19SEhNTSAoY2VudHVyeSwgeWVhciwgbW9udGgsIGRheSwgdGltZQ0KK3NlcGFyYXRvciwgaG91cnMsIG1pbnV0ZXMsIHNlY29uZHMsIHRpbWV6b25lIHNlcGFyYXRvciwgaG91cnMsIG1pbnV0ZXMpLiBJZg0KK29ubHkgdGhlIERhdGUgaXMgbmVlZGVkLCB0aGVuIHRoZSBzdWJzdHJpbmcgZnJvbSBUIG9ud2FyZHMgbWF5IGJlIG9taXR0ZWQuDQorDQorVGhpcyBpcyB0aGUgQmFzaWMgRm9ybWF0IGRlZmluZWQgYnkgSVNPIDg2MDEuIENDWVkgaXMgYSA0LWRpZ2l0IHllYXIgbnVtYmVyLg0KK01NIGlzIGEgMi1kaWdpdCBtb250aCBudW1iZXIuIEREIGlzIGEgMi1kaWdpdCBkYXkgbnVtYmVyLiBUIGlzIHRoZSBsZXR0ZXIgJ1QnLg0KK0hIIGlzIGEgMi1kaWdpdCBob3VyIG51bWJlciAodXNpbmcgYSAyNC1ob3VyIGNsb2NrKS4gTU0gaXMgYSAyIGRpZ2l0IG1pbnV0ZQ0KK251bWJlci4gKE5vdGUgdGhhdCBtaWRuaWdodCBtYXkgYmUgcmVwcmVzZW50ZWQgYXMgMjQwMCBvciAyNDAwMDAgb24gdGhlIGRhdGUNCitvZiB0aGUgZGF5IHRoYXQgaXMgZW5kaW5nLCBvciBhcyAwMDAwIG9yIDAwMDAwMCBvbiB0aGUgZGF0ZSBvZiB0aGUgZGF5IHRoYXQgaXMNCitiZWdpbm5pbmcuKQ0KKw0KK3srb3ItfSBpcyB0aGUgJysnIGNoYXJhY3RlciBvciB0aGUgJy0nIGNoYXJhY3RlciwgYW5kIHRoZSBmb2xsb3dpbmcgSEhNTSBhcmUNCitob3VycyBhbmQgbWludXRlcyBvZiBvZmZzZXQgZnJvbSBVbml2ZXJzYWwgQ28tb3JkaW5hdGVkIFRpbWUgKFVUQykgYXMgZGVmaW5lZA0KK2J5IElTTyA4NjAxLiBJZiB0aGUgdGltZSBpcyBiZWluZyBleHByZXNzZWQgaW4gVVRDLCB0aGVuIHRoZSB0aW1lem9uZSBvZmZzZXQNCittYXkgYmUgJyswMDAwJyBvciAnLTAwMDAnLiBJZiB0aGUgdGltZSBpcyBiZWhpbmQgVVRDLCB0aGUgdGltZXpvbmUgc2VwYXJhdG9yDQoraXMgJy0nLiBJZiB0aGUgdGltZSBpcyBhaGVhZCBvZiBVVEMgdGhlIHRpbWV6b25lIHNlcGFyYXRvciBpcyAnKycuDQorDQorRXhhbXBsZTogMTA6MjcgcC5tLiBpbiBOZXcgWW9yayBvbiAzMSBEZWNlbWJlciAyMDAwIHdvdWxkIGJlIGV4cHJlc3NlZCBhcyANCisiMjAwMDEyMzFUMjIyNzAwLTA1MDAiIGFzIE5ldyBZb3JrIGlzIGZpdmUgaG91cnMgYmVoaW5kIFVUQyBpbiB3aW50ZXIuDQorQXQgdGhlIHNhbWUgbW9tZW50IGluIExvbmRvbiwgdGhlIGRhdGUgYW5kIHRpbWUgd291bGQgYmUgZXhwcmVzc2VkIGFzIA0KK3RpbWUgd291bGQgYmUgZXhwcmVzc2VkIGFzICIyMDAxMDEwMVQwMzI3MDArMDAwMCIgb3IgYXMgLCAiMjAwMTAxMDFUMDArMDAwMCIsIGFzDQoraW4gTG9uZG9uLCBpdCBpcyBub3cgMzoyNyBhLm0uICBvbiAxIEphbnVhcnkgMjAwMS4gQXQgdGhlIHNhbWUgbW9tZW50IGluIFBhcmlzLA0KK3RoZSBkYXRlIGFuZCB0aW1lIHdvdWxkIGJlIGV4cHJlc3NlZCBhcyAiMjAwMTAxMDFUMDQyNzAwKzAxMDAiLCBhcyBQYXJpcyBpcyBvbmUNCitob3VyIGFoZWFkIG9mIFVUQyBpbiB3aW50ZXIsIGFuZCBpdCBpcyBub3cgNDoyNyBhLm0uIG9uIDEgSmFudWFyeSAyMDAxLg0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorDQorLS0+DQorPCFFTlRJVFkgJSBhc3NpZ25tZW50ICIgQXNzaWduZWRCeSAgQ0RBVEEgICNJTVBMSUVEDQorICAgICAgICAgICAgICAgICAgICAgSW1wb3J0YW5jZSAgQ0RBVEEgICNJTVBMSUVEDQorICAgICAgICAgICAgICAgICAgICAgQ29uZmlkZW5jZSAgQ0RBVEEgICNJTVBMSUVEDQorICAgICAgICAgICAgICAgICAgICAgSG93UHJlc2VudCAgQ0RBVEEgICNJTVBMSUVEDQorICAgICAgICAgICAgICAgICAgICAgRGF0ZUFuZFRpbWUgQ0RBVEEgICNJTVBMSUVEIj4NCisNCis8IS0tIA0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBmb3JtYWxuYW1lID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorDQorRm9ybWFsTmFtZQ0KKz09PT09PT09PT0NCitBIHN0cmluZyBvZiBjaGFyYWN0ZXJzIHdob3NlIG1lYW5pbmcgaXMgZGV0ZXJtaW5lZCBieSBhIGNvbnRyb2xsZWQgdm9jYWJ1bGFyeS4NCisNCitWb2NhYnVsYXJ5DQorPT09PT09PT09PQ0KK1RoZSBWb2NhYnVsYXJ5IGF0dHJpYnV0ZSwgaWYgcHJlc2VudCwgcHJvdmlkZXMgYSBwb2ludGVyIHRvIGEgVG9waWNTZXQgd2hpY2ggaXMNCit0aGUgY29udHJvbGxlZCB2b2NhYnVsYXJ5IHRoYXQgY2FuIGJlIHVzZWQgdG8gcmVzb2x2ZSB0aGUgbWVhbmluZyBvZiB0aGUNCitGb3JtYWxOYW1lLiBUaGUgdmFsdWUgb2YgdGhlIFZvY2FidWxhcnkgYXR0cmlidXRlIGlzIGFuIGh0dHAgVVJMIG9yIGEgTmV3c01MDQorVVJOLCBvciB0aGUgIyBjaGFyYWN0ZXIgZm9sbG93ZWQgYnkgdGhlIHZhbHVlIG9mIHRoZSBEdWlkIGF0dHJpYnV0ZSBvZiB0aGUgYQ0KK1RvcGljU2V0IGluIHRoZSBjdXJyZW50IGRvY3VtZW50Lg0KKw0KK0lmIHRoZXJlIGlzIG5vIFZvY2FidWxhcnkgYXR0cmlidXRlLCB0aGVuIHRoZSBjb250cm9sbGVkIHZvY2FidWxhcnkgdG8gYmUgdXNlZA0KK2lzIGxvY2F0ZWQgYnkgdGhlIGZvbGxvd2luZyBhbGdvcml0aG06DQorLSBQcm9jZWVkIHRvIHRoZSBwYXJlbnQgb2YgdGhlIGN1cnJlbnQgZWxlbWVudC4NCistIElmIGl0IGhhcyBhIENhdGFsb2cgZWxlbWVudCBhcyBpdHMgaW1tZWRpYXRlIGNoaWxkLCBzZWUgd2hldGhlciB0aGF0IENhdGFsb2cNCisgIGNvbnRhaW5zIGEgUmVzb3VyY2UgZWxlbWVudCB3aG9zZSBEZWZhdWx0Vm9jYWJ1bGFyeUZvciBjaGlsZCBjb250YWlucyBhbiBYUGF0aA0KKyAgcGF0dGVybiB0aGF0IGlzIG1hdGNoZWQgYnkgdGhlIGN1cnJlbnQgZWxlbWVudC4gSWYgc28sIHRoZW4gdGhlIGNvbnRyb2xsZWQNCisgIHZvY2FidWxhcnkgaXMgdGhlIHJlc291cmNlIGlkZW50aWZpZWQgYnkgdGhhdCBSZXNvdXJjZSBlbGVtZW50Lg0KKy0gSWYgdGhlIHBhcmVudCBkb2VzIG5vdCBtZWV0IHRoZSBhYm92ZSBjb25kaXRpb24sIHByb2NlZWQgdG8gaXRzIHBhcmVudCBhbmQNCisgIGNoZWNrIHRoZSBzYW1lIGNvbmRpdGlvbi4NCistIENvbnRpbnVlIHVudGlsIGEgdm9jYWJ1bGFyeSBpcyBmb3VuZCwgb3Igbm8gZnVydGhlciBwYXJlbnQgZWxlbWVudHMgYXJlDQorICBhdmFpbGFibGUgYmVjYXVzZSB0aGUgcm9vdCBlbGVtZW50IGhhcyBiZWVuIHJlYWNoZWQgYW5kIGl0IHRvbyBmYWlscyB0byBtZWV0DQorICB0aGUgY29uZGl0aW9uLg0KKw0KK0lmIHRoZXJlIGlzIG5vIFZvY2FidWxhcnkgYXR0cmlidXRlIGFuZCB0aGUgYWJvdmUgYWxnb3JpdGhtIGZhaWxzIHRvIGlkZW50aWZ5DQorYSByZXNvdXJjZSB0aGF0IHNlcnZlcyBhcyB0aGUgY29udHJvbGxlZCB2b2NhYnVsYXJ5LCB0aGVyZSBpcyBhbiBlcnJvciwgd2hpY2gNCit0aGUgTmV3c01MIHN5c3RlbSBtYXkgc2lnbmFsIHRvIHRoZSB1c2VyLg0KKw0KK1RoZSBOZXdzTUwgc3lzdGVtIG1heSBhbHNvIHNpZ25hbCBhbiBlcnJvciBpZiBhIHZvY2FidWxhcnkgaXMgc3VjY2Vzc2Z1bGx5DQoraWRlbnRpZmllZCwgYnV0IGl0IGNvbnRhaW5zIG5vIGl0ZW0gdGhhdCBtYXRjaGVzIHRoZSB2YWx1ZSBvZiB0aGUgRm9ybWFsTmFtZQ0KK3dob3NlIG1lYW5pbmcgaXMgc291Z2h0Lg0KKw0KK1NjaGVtZQ0KKz09PT09PQ0KK1RoZSBTY2hlbWUgYXR0cmlidXRlLCBpZiBwcmVzZW50LCBzZXJ2ZXMgdG8gZGlzdGluZ3Vpc2ggd2hpY2ggb2YgcG9zc2libHkNCittdWx0aXBsZSBuYW1pbmcgc2NoZW1lcyBpbiB0aGUgY29udHJvbGxlZCB2b2NhYnVsYXJ5IGlzIHRoZSBvbmUgdGhhdCBnb3Zlcm5zDQordGhpcyBGb3JtYWxOYW1lLiBGb3IgYSBtYXRjaCB0byBiZSBvYnRhaW5lZCB3aXRoaW4gdGhlIGNvbnRyb2xsZWQgdm9jYWJ1bGFyeSwNCit0aGUgcnVsZSBpcyB0aGF0IHRoZSBGb3JtYWxOYW1lIGFuZCB0aGUgU2NoZW1lIG11c3QgYm90aCBtYXRjaC4gSWYgdGhlcmUgaXMNCitubyBTY2hlbWUgYXR0cmlidXRlIG9uIHRoZSBjdXJyZW50IGVsZW1lbnQsIHRoZSBtYXRjaCB3aWxsIGJlIHRvIGFuIGl0ZW0gaW4NCit0aGUgdm9jYWJ1bGFyeSB0aGF0IGhhcyB0aGUgY3VycmVudCBmb3JtYWwgbmFtZSBhbmQgbm8gc2NoZW1lLiBJZiB0aGVyZSBpcyBhDQorU2NoZW1lIGF0dHJpYnV0ZSBvbiB0aGUgY3VycmVudCBlbGVtZW50LCB0aGVuIGJvdGggdGhlIGZvcm1hbCBuYW1lIGFuZCB0aGUNCitzY2hlbWUgaW4gdGhlIGNvbnRyb2xsZWQgdm9jYWJ1bGFyeSBtdXN0IG1hdGNoLg0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorLS0+DQorPCFFTlRJVFkgJSBmb3JtYWxuYW1lICIgRm9ybWFsTmFtZSBDREFUQSAgI1JFUVVJUkVEDQorICAgICAgICAgICAgICAgICAgICAgVm9jYWJ1bGFyeSBDREFUQSAgI0lNUExJRUQNCisgICAgICAgICAgICAgICAgICAgICBTY2hlbWUgICAgIENEQVRBICAjSU1QTElFRCI+DQorDQorPCEtLSANCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBsb2NhbGlkID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKw0KK0R1aWQNCis9PT09DQorRHVpZCBpcyBhICJEb2N1bWVudC11bmlxdWUgSWRlbnRpZmllciIuIEl0IG11c3Qgc2F0aXNmeSB0aGUgcnVsZXMgZm9yIFhNTCBJRA0KK2F0dHJpYnV0ZXM6IGl0IG11c3Qgb25seSBjb250YWluIG5hbWUgY2hhcmFjdGVycywgYW5kIGl0IG11c3Qgc3RhcnQgd2l0aCBhIA0KK25hbWUtc3RhcnQgY2hhcmFjdGVyIChub3QgYSBkaWdpdCkuIEl0cyB2YWx1ZSBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gYW55IE5ld3NNTA0KK2RvY3VtZW50Lg0KKw0KK0V2ZXJ5IE5ld3NNTCBlbGVtZW50IHR5cGUgaGFzIER1aWQgYXMgYW4gb3B0aW9uYWwgYXR0cmlidXRlLiBDb21iaW5lZCB3aXRoIHRoZQ0KK0lkZW50aWZpZXIgZWxlbWVudCwgcHJvdmlkaW5nIGEgdmFsdWUgZm9yIHRoZSBEdWlkIG9mIGFueSBlbGVtZW50IGluIGEgTmV3c01MDQorZG9jdW1lbnQgbWFrZXMgdGhlIGVsZW1lbnQgZ2xvYmFsbHkgaWRlbnRpZmlhYmxlLiBUaGUgSWRlbnRpZmllciBlbGVtZW50IGdpdmVzDQorZ2xvYmFsIGlkZW50aWZpY2F0aW9uIHRvIHRoZSBkb2N1bWVudCwgYW5kIHRoZSBEdWlkIHByb3ZpZGVzIGxvY2FsDQoraWRlbnRpZmljYXRpb24gZm9yIHRoZSBlbGVtZW50IHdpdGhpbiB0aGUgZG9jdW1lbnQuDQorDQorRXVpZA0KKz09PT0NCitFdWlkIGlzIGFuICJFbGVtZW50LXVuaXF1ZSBJZGVudGlmaWVyIi4gSXRzIHZhbHVlIG11c3QgYmUgdW5pcXVlIGFtb25nIGVsZW1lbnRzDQorb2YgdGhlIHNhbWUgZWxlbWVudC10eXBlIGFuZCBoYXZpbmcgdGhlIHNhbWUgcGFyZW50IGVsZW1lbnQuDQorDQorVXNlIG9mIEV1aWQgYXR0cmlidXRlIG1ha2VzIGl0IHBvc3NpYmxlIHRvIGlkZW50aWZ5IGFueSBOZXdzTUwgZWxlbWVudCB3aXRoaW4NCit0aGUgY29udGV4dCBvZiBpdHMgbG9jYWwgYnJhbmNoIG9mIHRoZSBOZXdzTUwgZG9jdW1lbnQgdHJlZS4gVGhpcyBtYWtlcyBpdA0KK3Bvc3NpYmxlIHRvIGNvcHksIG9yIGluY2x1ZGUgYnkgcmVmZXJlbmNlLCBzdWJ0cmVlcyBpbnRvIG5ldyBjb21iaW5hdGlvbnMgaW4NCit3YXlzIHRoYXQgd291bGQgYnJlYWsgdGhlIHVuaXF1ZW5lc3Mgb2YgRHVpZHMgKHRoZXJlYnkgZm9yY2luZyBuZXcgRHVpZHMgdG8gYmUNCithbGxvY2F0ZWQpLCBidXQgc3RpbGwgYmVpbmcgYWJsZSB0byByZXRhaW4gdGhlIGlkZW50aXR5IG9mIGVhY2ggZWxlbWVudC4gSWYNCitFdWlkcyBhcmUgbWFpbnRhaW5lZCBhdCBldmVyeSBsZXZlbCwgaXQgaXMgcG9zc2libGUgdG8gaWRlbnRpZnksIGZvciBleGFtcGxlDQorIlRoZSBDb250ZW50SXRlbSB3aG9zZSBFdWlkIGlzIGFiYyB3aXRoaW4gdGhlIE5ld3NDb21wb25lbnQgd2hvc2UgRXVpZCBpcyBkZWYiLg0KK1N1Y2ggaWRlbnRpZmljYXRpb24gcGF0dGVybnMgd291bGQgYmUgcHJlc2VydmVkIGV2ZW4gYWZ0ZXIgInBydW5pbmcgYW5kDQorZ3JhZnRpbmciIG9mIHN1YnRyZWVzLg0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorLS0+DQorPCFFTlRJVFkgJSBsb2NhbGlkICIgRHVpZCBJRCAgICAgI0lNUExJRUQNCisgICAgICAgICAgICAgICAgICAgICBFdWlkIENEQVRBICAjSU1QTElFRCI+DQorDQorPCEtLSANCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbnRlbnQgTW9kZWxzIA0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorLS0+DQorPCEtLSANCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IGRhdGEgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KK1doZXJlIGRhdGEgaXMgaW5jbHVkZWQsIGl0IG1heSBiZSBkaXJlY3RseSBpbiB0aGUgZm9ybSBvZiBhIERhdGFDb250ZW50IGVsZW1lbnQsDQorb3IgaW4gdGhlIGZvcm0gb2YgRGF0YUNvbnRlbnQgd3JhcHBlZCBpbiBhbiBFbmNvZGluZyBlbGVtZW50LCBvciBieSByZWZlcmVuY2UNCit0aHJvdWdoIGFuIEhyZWYgYXR0cmlidXRlLCBpbiB3aGljaCBjYXNlIG5laXRoZXIgYSBEYXRhQ29udGVudCBub3IgYW4gRW5jb2RpbmcNCitlbGVtZW50IHdpbGwgYmUgcHJlc2VudC4NCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKy0tPg0KKzwhRU5USVRZICUgZGF0YSAiIChFbmNvZGluZw0KKyAgICAgICAgICAgICAgICAgfCBEYXRhQ29udGVudCApPyI+DQorDQorPCEtLSANCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gcGFydHkgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KK1BlcnNvbiwgb3JnYW5pc2F0aW9uIG9yIGNvbXBhbnkgcGxheWluZyBhIHNwZWNpZmljIHJvbGUgaW4gdGhlDQorbmV3cyB3b3JrZmxvdy4gVGhlIHJvbGUgYmVpbmcgcGxheWVkIGlzIGRldGVybWluZWQgYnkgdGhlIHBhcmVudCBlbGVtZW50LiBNb3JlDQoraW5mb3JtYXRpb24gYWJvdXQgaXQgY2FuIGJlIHByb3ZpZGVkIGluIHRoZSBvcHRpb25hbCBDb21tZW50IHN1YmVsZW1lbnRzLiANCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKw0KKy0tPg0KKzwhRU5USVRZICUgcGFydHkgIiAoQ29tbWVudCoNCisgICAgICAgICAgICAgICAgICAsIFBhcnR5KyApIj4NCisNCis8IS0tIA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT0NCisgICAgICAgICAgICAgICAgICAgICAgICAgICBFTEVNRU5UIFRZUEUgREVDTEFSQVRJT05TIA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT0NCistLT4NCis8IS0tIA0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT0gQWRtaW5pc3RyYXRpdmVNZXRhZGF0YSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorSW5mb3JtYXRpb24gYWJvdXQgdGhlIHByb3ZlbmFuY2Ugb2YgYSBOZXdzQ29tcG9uZW50LiANCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKy0tPg0KKzwhRUxFTUVOVCBBZG1pbmlzdHJhdGl2ZU1ldGFkYXRhICAoQ2F0YWxvZz8gLCBGaWxlTmFtZT8gLCBTeXN0ZW1JZGVudGlmaWVyPyAsIFByb3ZpZGVyPyAsIENyZWF0b3I/ICwgU291cmNlKiAsIENvbnRyaWJ1dG9yKiAsIFByb3BlcnR5KiApPg0KKzwhQVRUTElTVCBBZG1pbmlzdHJhdGl2ZU1ldGFkYXRhICAlbG9jYWxpZDsgPg0KKzwhLS0gDQorDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gQXNzb2NpYXRlZFdpdGggPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCitBIHJlZmVyZW5jZSB0byBhIE5ld3NJdGVtIHdpdGggd2hpY2ggdGhpcyBvbmUgaXMgYXNzb2NpYXRlZCAoZm9yIGV4YW1wbGUsIGENCitzZXJpZXMgb2YgYXJ0aWNsZXMsIG9yIGEgY29sbGVjdGlvbiBvZiBwaG90b3MsIG9mIHdoaWNoIGl0IGlzIGEgcGFydCkuIFRoZSANCitOZXdzSXRlbSBhdHRyaWJ1dGUgaWRlbnRpZmllcyB0aGUgcmVsZXZhbnQgTmV3c0l0ZW0uIEl0cyB2YWx1ZSBjYW4gYmUgYW4NCitodHRwIFVSTCBvciBhIE5ld3NNTCBVUk4gYXMgZGVzY3JpYmVkIGluIHRoZSBjb21tZW50IHRvIFB1YmxpY0lkZW50aWZpZXIuIFRoZQ0KK0NvbW1lbnQgY2FuIGJlIHVzZWQgdG8gaW5kaWNhdGUgdGhlIG5hdHVyZSBvZiB0aGUgYXNzb2NpYXRpb24uDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCisNCistLT4NCis8IUVMRU1FTlQgQXNzb2NpYXRlZFdpdGggIChDb21tZW50KiApPg0KKzwhQVRUTElTVCBBc3NvY2lhdGVkV2l0aCAgJWxvY2FsaWQ7DQorICAgICAgICAgICAgICAgICAgICAgICAgICBOZXdzSXRlbSBDREFUQSAgI0lNUExJRUQgPg0KKzwhLS0gDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gQmFzaXNGb3JDaG9pY2UgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCitUaGUgY29udGVudCBvZiB0aGlzIGVsZW1lbnQgaXMgYW4gWFBhdGggc3RhdGVtZW50IG9yIGVsZW1lbnQtdHlwZSBuYW1lDQoraWRlbnRpZnlpbmcgaW5mb3JtYXRpb24gd2l0aGluIGVhY2ggTmV3c0NvbXBvbmVudCBvciBDb250ZW50SXRlbSB0aGF0IGNhbiBiZQ0KK3VzZWQgYXMgYSBiYXNpcyBmb3IgY2hvaWNlIGJldHdlZW4gZXF1aXZhbGVudCBOZXdzQ29tcG9uZW50cyBvciBDb250ZW50SXRlbXMuDQorVGhlIHJvb3Qgb2YgdGhlIFhQYXRoIGNvcnJlc3BvbmRzIHRvIHRoZSBOZXdzQ29tcG9uZW50IG9yIENvbnRlbnRJdGVtIGl0c2VsZi4NCitUaGUgb3B0aW9uYWwgUmFuayBhdHRyaWJ1dGUgYWxsb3dzIHByb3ZpZGVycyB0byBwbGFjZSBhIG51bWVyaWNhbCBvcmRlciBvbiB0aGUNCitpbXBvcnRhbmNlIHRoZXkgdGhpbmsgc2hvdWxkIGJlIGF0dGFjaGVkIHRvIHRoZSBkaWZmZXJlbnQgYmFzZXMgZm9yIGNob2ljZS4NCitTbWFsbGVyIG51bWJlcnMgcmVwcmVzZW50IGhpZ2hlciBpbXBvcnRhbmNlLg0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorLS0+DQorPCFFTEVNRU5UIEJhc2lzRm9yQ2hvaWNlICAoI1BDREFUQSApPg0KKzwhQVRUTElTVCBCYXNpc0ZvckNob2ljZSAgJWxvY2FsaWQ7DQorICAgICAgICAgICAgICAgICAgICAgICAgICBSYW5rICAgIENEQVRBICAjSU1QTElFRCA+DQorPCEtLSANCisNCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gQnlMaW5lID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KK0EgbmF0dXJhbC1sYW5ndWFnZSBzdGF0ZW1lbnQgb2YgdGhlIGF1dGhvci9jcmVhdG9yIGluZm9ybWF0aW9uLg0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorLS0+DQorPCFFTEVNRU5UIEJ5TGluZSAgKCNQQ0RBVEEgfCBPcmlnaW4gKSo+DQorPCFBVFRMSVNUIEJ5TGluZSAgJWxvY2FsaWQ7DQorICAgICAgICAgICAgICAgICAgeG1sOmxhbmcgQ0RBVEEgICNJTVBMSUVEID4NCis8IS0tIA0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IENhdGFsb2cgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorQSBjb250YWluZXIgZm9yIFJlc291cmNlIGFuZCBUb3BpY1VzZSBlbGVtZW50cy4gUmVzb3VyY2UgZWxlbWVudHMgbWFwIFVSTnMgdG8NCitVUkxzIGFuZCBpbmRpY2F0ZSBkZWZhdWx0IHZvY2FidWxhcmllcyB3aGljaCBhcHBseSB0byB0aGUgZm9ybWFsIG5hbWVzIG9mDQorY2VydGFpbiBlbGVtZW50cyB3aXRoaW4gdGhlIHN1YnRyZWUgdGhhdCBiZWdpbnMgd2l0aCB0aGUgaW1tZWRpYXRlIHBhcmVudCBvZg0KK3RoZSBDYXRhbG9nIGVsZW1lbnQuIFRvcGljVXNlIGVsZW1lbnRzIGluZGljYXRlIHdoZXJlIGluIHRoZSBOZXdzTUwgZG9jdW1lbnQNCitjZXJ0YWluIFRvcGljcyBhcmUgdXNlZC4gVGhlIG9wdGlvbmFsIEhyZWYgYXR0cmlidXRlIHByb3ZpZGVzIGEgcG9pbnRlciB0bw0KK2EgQ2F0YWxvZyBlbGVtZW50IGVsc2V3aGVyZSBpbiB0aGlzIG9yIGFub3RoZXIgZG9jdW1lbnQuIEl0cyB2YWx1ZSBjb25zaXN0cyBvZg0KK2EgIyBjaGFyYWN0ZXIgZm9sbG93ZWQgYnkgdGhlIHZhbHVlIG9mIHRoZSBEdWlkIGF0dHJpYnV0ZSBvZiB0aGUgcmVmZXJlbmNlZA0KK0NhdGFsb2cgZWxlbWVudCBhbmQgcHJlY2VkZWQsIGlmIHRoZSByZWZlcmVuY2VkIENhdGFsb2cgaXMgbm90IGluIHRoZSBjdXJyZW50DQorZG9jdW1lbnQsIGJ5IGFuIGh0dHAgVVJMIG9yIGEgTmV3c01MIFVSTiBpZGVudGlmeWluZyB0aGUgZG9jdW1lbnQgb3IgTmV3c0l0ZW0NCitpbiB3aGljaCB0aGUgQ2F0YWxvZyBhcHBlYXJzLiBJZiB0aGUgSHJlZiBhdHRyaWJ1dGUgaXMgcHJlc2VudCBvbiBhIENhdGFsb2cNCitlbGVtZW50LCB0aGVuIHRoYXQgZWxlbWVudCBzaG91bGQgYmUgZW1wdHkuIElmIGl0IGNvbnRhaW5zIHN1YmVsZW1lbnRzLCB0aGUNCitOZXdzTUwgc3lzdGVtIG1heSBzaWduYWwgYW4gZXJyb3IuDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCistLT4NCis8IUVMRU1FTlQgQ2F0YWxvZyAgKFJlc291cmNlKiAsIFRvcGljVXNlKiApPg0KKzwhQVRUTElTVCBDYXRhbG9nICAlbG9jYWxpZDsNCisgICAgICAgICAgICAgICAgICAgSHJlZiAgICBDREFUQSAgI0lNUExJRUQgPg0KKzwhLS0gDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBDaGFyYWN0ZXJpc3RpY3MgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCitJbmZvcm1hdGlvbiBhYm91dCB0aGUgcGh5c2ljYWwgY2hhcmFjdGVyaXN0aWNzIG9mIGEgQ29udGVudEl0ZW0uDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCistLT4NCis8IUVMRU1FTlQgQ2hhcmFjdGVyaXN0aWNzICAoU2l6ZUluQnl0ZXM/ICwgUHJvcGVydHkqICk+DQorPCFBVFRMSVNUIENoYXJhY3RlcmlzdGljcyAgJWxvY2FsaWQ7ID4NCis8IS0tIA0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IENvbW1lbnQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorQSBuYXR1cmFsLWxhbmd1YWdlIGRlc2NyaXB0aW9uIG9mLCBvciBzdGF0ZW1lbnQgYWJvdXQsIHRoZSBjdXJyZW50IGVsZW1lbnQuIFRoZQ0KK29wdGlvbmFsIFRyYW5zbGF0aW9uT2YgYXR0cmlidXRlIGlzIGEgcG9pbnRlciB0byBhbm90aGVyIENvbW1lbnQgZWxlbWVudCwgb2YNCit3aGljaCB0aGlzIG9uZSBpcyBhIGRpcmVjdCB0cmFuc2xhdGlvbi4NCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKy0tPg0KKzwhRUxFTUVOVCBDb21tZW50ICAoI1BDREFUQSApPg0KKzwhQVRUTElTVCBDb21tZW50ICAlbG9jYWxpZDsNCisgICAgICAgICAgICAgICAgICAgeG1sOmxhbmcgICAgICBDREFUQSAgI0lNUExJRUQNCisgICAgICAgICAgICAgICAgICAgVHJhbnNsYXRpb25PZiBJRFJFRiAgI0lNUExJRUQgPg0KKzwhLS0gDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IENvbnRlbnRJdGVtID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCitBIG5ld3Mgb2JqZWN0IHRoYXQgY2FycmllcyBvciBpZGVudGlmaWVzIGNvbnRlbnQgaW50ZW5kZWQgZm9yIHByZXNlbnRhdGlvbiB0bw0KK2h1bWFucy4NCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKy0tPg0KKzwhRUxFTUVOVCBDb250ZW50SXRlbSAgKENvbW1lbnQqICwgQ2F0YWxvZz8gLCBNZWRpYVR5cGU/ICwgRm9ybWF0PyAsIE1pbWVUeXBlPyAsIE5vdGF0aW9uPyAsIENoYXJhY3RlcmlzdGljcz8gLCAlZGF0YTsgKT4NCis8IUFUVExJU1QgQ29udGVudEl0ZW0gICVsb2NhbGlkOw0KKyAgICAgICAgICAgICAgICAgICAgICAgSHJlZiAgICBDREFUQSAgI0lNUExJRUQgPg0KKzwhLS0gDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IENvbnRyaWJ1dG9yID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCitBbiBpbmRpdmlkdWFsIGFuZC9vciBjb21wYW55IG9yIG9yZ2FuaXNhdGlvbiB0aGF0IG1vZGlmaWVkIG9yIGVuaGFuY2VkIGEgbmV3cw0KK29iamVjdCBhZnRlciBpdHMgY3JlYXRpb24uDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCistLT4NCis8IUVMRU1FTlQgQ29udHJpYnV0b3IgICglcGFydHk7ICk+DQorPCFBVFRMSVNUIENvbnRyaWJ1dG9yICAlbG9jYWxpZDsgPg0KKzwhLS0gDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBDb3B5cmlnaHQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCitUaGUgY29weXJpZ2h0IHRoYXQgcGVydGFpbnMgdG8gYSBuZXdzIG9iamVjdC4NCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKy0tPg0KKzwhRUxFTUVOVCBDb3B5cmlnaHQgIChDb21tZW50KiAsIENvcHlyaWdodEhvbGRlciAsIENvcHlyaWdodERhdGUgKT4NCis8IUFUVExJU1QgQ29weXJpZ2h0ICAlbG9jYWxpZDsNCisgICAgICAgICAgICAgICAgICAgICAlYXNzaWdubWVudDsgPg0KKzwhLS0gDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gQ29weXJpZ2h0RGF0ZSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCitBIG5hdHVyYWwtbGFuZ3VhZ2Ugc3RhdGVtZW50IG9mIHRoZSBjb3B5cmlnaHQgZGF0ZS4NCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKw0KKy0tPg0KKzwhRUxFTUVOVCBDb3B5cmlnaHREYXRlICAoI1BDREFUQSB8IE9yaWdpbiApKj4NCis8IUFUVExJU1QgQ29weXJpZ2h0RGF0ZSAgJWxvY2FsaWQ7DQorICAgICAgICAgICAgICAgICAgICAgICAgIHhtbDpsYW5nIENEQVRBICAjSU1QTElFRCA+DQorPCEtLSANCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IENvcHlyaWdodEhvbGRlciA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KK0EgbmF0dXJhbC1sYW5ndWFnZSBzdGF0ZW1lbnQgaW5kaWNhdGluZyB3aG8gb3ducyB0aGUgY29weXJpZ2h0Lg0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorLS0+DQorPCFFTEVNRU5UIENvcHlyaWdodEhvbGRlciAgKCNQQ0RBVEEgfCBPcmlnaW4gKSo+DQorPCFBVFRMSVNUIENvcHlyaWdodEhvbGRlciAgJWxvY2FsaWQ7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sOmxhbmcgQ0RBVEEgICNJTVBMSUVEID4NCis8IS0tIA0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IENvcHlyaWdodExpbmUgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorQSBuYXR1cmFsLWxhbmd1YWdlIHN0YXRlbWVudCBvZiB0aGUgY29weXJpZ2h0IGluZm9ybWF0aW9uLg0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorLS0+DQorPCFFTEVNRU5UIENvcHlyaWdodExpbmUgICgjUENEQVRBIHwgT3JpZ2luICkqPg0KKzwhQVRUTElTVCBDb3B5cmlnaHRMaW5lICAlbG9jYWxpZDsNCisgICAgICAgICAgICAgICAgICAgICAgICAgeG1sOmxhbmcgQ0RBVEEgICNJTVBMSUVEID4NCis8IS0tIA0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IENyZWF0b3IgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorQW4gaW5kaXZpZHVhbCBhbmQvb3IgY29tcGFueSBvciBvcmdhbmlzYXRpb24gdGhhdCBjcmVhdGVkIGEgbmV3cyBvYmplY3QuDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCistLT4NCis8IUVMRU1FTlQgQ3JlYXRvciAgKCVwYXJ0eTsgKT4NCis8IUFUVExJU1QgQ3JlYXRvciAgJWxvY2FsaWQ7ID4NCis8IS0tIA0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gQ3JlZGl0TGluZSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorQSBuYXR1cmFsLWxhbmd1YWdlIHN0YXRlbWVudCBvZiBjcmVkaXQgaW5mb3JtYXRpb24uDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCistLT4NCis8IUVMRU1FTlQgQ3JlZGl0TGluZSAgKCNQQ0RBVEEgfCBPcmlnaW4gKSo+DQorPCFBVFRMSVNUIENyZWRpdExpbmUgICVsb2NhbGlkOw0KKyAgICAgICAgICAgICAgICAgICAgICB4bWw6bGFuZyBDREFUQSAgI0lNUExJRUQgPg0KKzwhLS0gDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IERhdGFDb250ZW50ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCitUaGUgZGF0YSB0aGF0IGNhcnJpZXMgdGhlIGNvbnRlbnQgb2YgYSBDb250ZW50SXRlbS4NCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKy0tPg0KKzwhRUxFTUVOVCBEYXRhQ29udGVudCBBTlk+DQorPCFBVFRMSVNUIERhdGFDb250ZW50ICAlbG9jYWxpZDsgPg0KKzwhLS0gDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IERhdGVBbmRUaW1lID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCitBIGZvcm1hbCByZXByZXNlbnRhdGlvbiBvZiBhIGRhdGUgYW5kLCBvcHRpb25hbGx5LCB0aW1lLCBleHByZXNzZWQgaW4gSVNPIDg2MDENCitCYXNpYyBGb3JtYXQsIGFzIGRlc2NyaWJlZCBpbiB0aGUgY29tbWVudCB0byB0aGUgRGF0ZUFuZFRpbWUgYXR0cmlidXRlIHdpdGhpbg0KK3RoZSBhc3NpZ25tZW50IEVOVElUWSBkZWNsYXJhdGlvbiBhYm92ZS4NCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKy0tPg0KKzwhRUxFTUVOVCBEYXRlQW5kVGltZSAgKCNQQ0RBVEEgKT4NCis8IUFUVExJU1QgRGF0ZUFuZFRpbWUgICVsb2NhbGlkOyA+DQorPCEtLSANCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gRGF0ZUlkID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KK0EgZGF0ZSBpZGVudGlmaWVyIG9mIGEgTmV3c0l0ZW0gaW4gc2hvcnQgSVNPIDg2MDEgQmFzaWMgRm9ybWF0IChDQ1lZTU1ERCksIGFzDQorZGVzY3JpYmVkIGluIHRoZSBjb21tZW50IHRvIHRoZSBEYXRlQW5kVGltZSBhdHRyaWJ1dGUgd2l0aGluIHRoZSBhc3NpZ25tZW50DQorRU5USVRZIGRlY2xhcmF0aW9uIGFib3ZlLiBUaGUgRGF0ZUlkIGlzIHBhcnQgb2YgdGhlIGZvcm1hbCBpZGVudGlmaWNhdGlvbiBvZiB0aGUNCitOZXdzSXRlbSwgYW5kIG11c3QgcmVtYWluIHRoZSBzYW1lIHRocm91Z2ggc3VjY2Vzc2l2ZSByZXZpc2lvbnMgb2YgdGhlIHNhbWUNCitOZXdzSXRlbS4NCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKy0tPg0KKzwhRUxFTUVOVCBEYXRlSWQgICgjUENEQVRBICk+DQorDQorPCEtLSANCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IERhdGVMYWJlbCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KK0Egc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIGEgZGF0ZSBvciBkYXRlIGFuZCB0aW1lLCB1c2VkIGJ5IGh1bWFuIHVzZXJzIHRvIGhlbHANCitpZGVudGlmeSBhIE5ld3NJdGVtLg0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorLS0+DQorPCFFTEVNRU5UIERhdGVMYWJlbCAgKCNQQ0RBVEEgKT4NCis8IUFUVExJU1QgRGF0ZUxhYmVsICAlbG9jYWxpZDsgPg0KKzwhLS0NCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBEYXRlTGluZSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KK0EgbmF0dXJhbC1sYW5ndWFnZSBzdGF0ZW1lbnQgb2YgdGhlIGRhdGUgYW5kL29yIHBsYWNlIG9mIGNyZWF0aW9uLg0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorLS0+DQorPCFFTEVNRU5UIERhdGVMaW5lICAoI1BDREFUQSB8IE9yaWdpbiApKj4NCis8IUFUVExJU1QgRGF0ZUxpbmUgICVsb2NhbGlkOw0KKyAgICAgICAgICAgICAgICAgICAgeG1sOmxhbmcgQ0RBVEEgICNJTVBMSUVEID4NCis8IS0tIA0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT0gRGVmYXVsdFZvY2FidWxhcnlGb3IgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorQW4gaW5kaWNhdGlvbiB0aGF0IHRoZSBwYXJlbnQgUmVzb3VyY2UgcHJvdmlkZXMgdGhlIGRlZmF1bHQgdm9jYWJ1bGFyeSB0aGF0DQorZGV0ZXJtaW5lcyB0aGUgbWVhbmluZ3MgYW5kIHBlcm1pdHRlZCB2YWx1ZXMgb2YgdGhlIGRhdGEgb2NjdXJyaW5nIGluIGENCitwYXJ0aWN1bGFyIHBhcnQgb2YgYSBOZXdzTUwgZG9jdW1lbnQgc3VidHJlZS4gVGhlIENvbnRleHQgYXR0cmlidXRlIGlzIGFuDQorWFBhdGggc3RhdGVtZW50IGlkZW50aWZ5aW5nIHRoZSBkYXRhIHRvIHdoaWNoIHRoZSBkZWZhdWx0IHZvY2FidWxhcnkgYXBwbGllcy4NCitUaGUgb3B0aW9uYWwgU2NoZW1lIGF0dHJpYnV0ZSBpZGVudGlmaWVzIHRoZSByZWxldmFudCBuYW1pbmcgc2NoZW1lIGlmIHRoZQ0KK1Jlc291cmNlIGNvbnRhaW5zIG1vcmUgdGhhbiBvbmUgbmFtaW5nIHNjaGVtZS4gSWYgdGhlIFJlc291cmNlIGlzIGEgTmV3c01MDQorVG9waWNTZXQsIHRoZW4gdGhlIG1lYW5pbmcgb2YgdGhlIGRhdGEgaWRlbnRpZmllZCBieSB0aGUgQ29udGV4dCBpcyBwcm92aWRlZA0KK2J5IHRoZSBUb3BpYyB3aG9zZSBGb3JtYWxOYW1lIHN1YmVsZW1lbnQgbWF0Y2hlcyB0aGF0IGRhdGEuIElmIHRoZSBSZXNvdXJjZSBpcw0KK25vdCBhIE5ld3NNTCBUb3BpY1NldCwgdGhlbiB0aGUgd2F5IGluIHdoaWNoIGl0IGlzIGludGVycHJldGVkIGluIG9yZGVyIHRvDQorcHJvdmlkZSBhIG1lYW5pbmcgZm9yIHRoZSBkYXRhIGlzIG5vdCBkZWZpbmVkIGJ5IE5ld3NNTCBidXQgYnkgdGhlIGF1dGhvcml0eQ0KK3RoYXQgZ292ZXJucyB3aGF0ZXZlciBmb3JtYXQgdGhlIFJlc291cmNlIHVzZXMuDQorDQorRXhhbXBsZToNCis8RGVzY3JpcHRpdmVNZXRhZGF0YT4NCisgPENhdGFsb2c+DQorICA8UmVzb3VyY2UgRHVpZD0icmVzb3VyY2UxIj4NCisgICA8VXJuPnVybjpuZXdzbWw6aXB0Yy5vcmc6MjAwMDEwMDY6UmFua2luZzoxPC9Vcm4+DQorICAgPFVybD53d3cuaXB0Yy5jb20vdm9jYWJ1bGFyaWVzL2lwdGMtcmFuay54bWw8L1VybD4NCisgICA8RGVmYXVsdFZvY2FidWxhcnlGb3IgQ29udGV4dD0iQENvbmZpZGVuY2UiLz4NCisgICA8RGVmYXVsdFZvY2FidWxhcnlGb3IgQ29udGV4dD0iQEltcG9ydGFuY2UiLz4NCisgIDwvUmVzb3VyY2U+DQorICA8UmVzb3VyY2UgRHVpZD0icmVzb3VyY2UyIj4NCisgICA8VXJuPnVybjpuZXdzbWw6aXB0Yy5vcmc6MjAwMDEwMDY6VG9waWNUeXBlczoxPC9Vcm4+DQorICAgPFVybD53d3cuaXB0Yy5jb20vdm9jYWJ1bGFyaWVzL2lwdGMtdG9waWN0eXBlLnhtbDwvVXJsPg0KKyAgIDxEZWZhdWx0Vm9jYWJ1bGFyeUZvciBDb250ZXh0PSJUb3BpY1R5cGVARm9ybWFsTmFtZSIvPg0KKyAgPC9SZXNvdXJjZT4NCisgPC9DYXRhbG9nPg0KKyA8VG9waWNTZXQ+DQorICA8VG9waWMgRHVpZD0idG9waWMxIj4NCisgICA8VG9waWNUeXBlIEZvcm1hbE5hbWU9IlBlcnNvbiI+DQorICAgPERlc2NyaXB0aW9uIFZhcmlhbnQ9Ik5hbWUiPkJpbGwgQ2xpbnRvbjwvRGVzY3JpcHRpb24+DQorICAgPERlc2NyaXB0aW9uIFZhcmlhbnQ9IlBvc2l0aW9uIj5QcmVzaWRlbnQgb2YgdGhlIFVTQTwvRGVzY3JpcHRpb24+DQorICA8L1RvcGljPg0KKyA8L1RvcGljU2V0Pg0KKyA8VG9waWNPY2N1cnJlbmNlDQorICBBc3NpZ25lZEJ5PSJEZXNrIEVkaXRvciINCisgIENvbmZpZGVuY2U9IkhpZ2giDQorICBIb3dQcmVzZW50PSJwcmluY2lwYWwgc3ViamVjdCINCisgIFRvcGljPSIjdG9waWMxIi8+DQorPC9EZXNjcmlwdGl2ZU1ldGFkYXRhPg0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorLS0+DQorPCFFTEVNRU5UIERlZmF1bHRWb2NhYnVsYXJ5Rm9yIEVNUFRZPg0KKzwhQVRUTElTVCBEZWZhdWx0Vm9jYWJ1bGFyeUZvciAgJWxvY2FsaWQ7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb250ZXh0IENEQVRBICAjUkVRVUlSRUQNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNjaGVtZSAgQ0RBVEEgICNJTVBMSUVEID4NCis8IS0tDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IERlbGV0ZSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCitBbiBpbnN0cnVjdGlvbiB0byBkZWxldGUgYW4gZWxlbWVudCB3aXRoaW4gYSBOZXdzSXRlbS4gVGhlIE5ld3NJdGVtIGlzDQordGhlIHByZXZpb3VzIHJldmlzaW9uIG9mIHRoZSBjdXJyZW50IG9uZSwgYW5kIHRoZSBlbGVtZW50IHRvIGJlIGRlbGV0ZWQgaXMgdGhlDQorb25lIHdob3NlIER1aWQgdmFsdWUgaXMgZXF1YWwgdG8gdGhlIHZhbHVlIG9mIHRoZSBEZWxldGUgZWxlbWVudCdzIER1aWRSZWYNCithdHRyaWJ1dGUuDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCistLT4NCis8IUVMRU1FTlQgRGVsZXRlIEVNUFRZPg0KKzwhQVRUTElTVCBEZWxldGUgICVsb2NhbGlkOw0KKyAgICAgICAgICAgICAgICAgIER1aWRSZWYgQ0RBVEEgICNSRVFVSVJFRCA+DQorPCEtLSANCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gRGVyaXZlZEZyb20gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KK0EgcmVmZXJlbmNlIHRvIGFuIE5ld3NJdGVtIGZyb20gd2hpY2ggdGhpcyBvbmUgaXMgZGVyaXZlZC4gVGhlIE5ld3NJdGVtIGF0dHJpYnV0ZQ0KK2lkZW50aWZpZXMgdGhlIHJlbGV2YW50IE5ld3NJdGVtLiBJdHMgdmFsdWUgY2FuIGJlIGFuIGh0dHAgVVJMIG9yIGEgTmV3c01MIFVSTg0KK2FzIGRlc2NyaWJlZCBpbiB0aGUgY29tbWVudCB0byBQdWJsaWNJZGVudGlmaWVyLg0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorLS0+DQorPCFFTEVNRU5UIERlcml2ZWRGcm9tICAoQ29tbWVudCogKT4NCis8IUFUVExJU1QgRGVyaXZlZEZyb20gICVsb2NhbGlkOw0KKyAgICAgICAgICAgICAgICAgICAgICAgTmV3c0l0ZW0gQ0RBVEEgICNJTVBMSUVEID4NCis8IS0tIA0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBEZXNjcmlwdGlvbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorQSBkZXNjcmlwdGlvbiB0aGF0IGlkZW50aWZpZXMgYSBUb3BpYywgdGhlcmVieSBpbmRpY2F0aW5nIHRoZSBtZWFuaW5nIG9mIGENCitmb3JtYWwgbmFtZSBhc3NvY2lhdGVkIHdpdGggdGhhdCBUb3BpYy4gVGhlIHhtbDpsYW5nIGF0dHJpYnV0ZSBpbmRpY2F0ZXMgd2hhdA0KK2xhbmd1YWdlIHRoZSBkZXNjcmlwdGlvbiBpcyBpbi4gVGhlIG9wdGlvbmFsIFZhcmlhbnQgYXR0cmlidXRlIGFsbG93cyBtdWx0aXBsZQ0KK2Rlc2NyaXB0aW9ucyB0byBiZSBnaXZlbiBpbiB0aGUgc2FtZSBsYW5ndWFnZSwgYW5kIG1lYW5pbmdmdWxseSBkaXN0aW5ndWlzaGVkDQorZnJvbSBvbmUgYW5vdGhlci4NCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKy0tPg0KKzwhRUxFTUVOVCBEZXNjcmlwdGlvbiAgKCNQQ0RBVEEgKT4NCis8IUFUVExJU1QgRGVzY3JpcHRpb24gICVsb2NhbGlkOw0KKyAgICAgICAgICAgICAgICAgICAgICAgeG1sOmxhbmcgQ0RBVEEgICNJTVBMSUVEDQorICAgICAgICAgICAgICAgICAgICAgICBWYXJpYW50ICBDREFUQSAgI0lNUExJRUQgPg0KKzwhLS0gDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gRGVzY3JpcHRpdmVNZXRhZGF0YSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCitJbmZvcm1hdGlvbiBkZXNjcmliaW5nIHRoZSBjb250ZW50IG9mIGEgTmV3c0NvbXBvbmVudC4gDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCistLT4NCis8IUVMRU1FTlQgRGVzY3JpcHRpdmVNZXRhZGF0YSAgKENhdGFsb2c/ICwgTGFuZ3VhZ2UqICwgR2VucmU/ICwgU3ViamVjdENvZGUqICwgT2ZJbnRlcmVzdFRvKiAsIFRvcGljT2NjdXJyZW5jZSogLCBQcm9wZXJ0eSogKT4NCis8IUFUVExJU1QgRGVzY3JpcHRpdmVNZXRhZGF0YSAgJWxvY2FsaWQ7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICVhc3NpZ25tZW50OyA+DQorPCEtLSANCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBFbmNvZGluZyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KK1RoZSBlbmNvZGluZyBvZiB0aGUgZGF0YSBjb21wcmlzaW5nIHRoZSBjb250ZW50IG9mIGEgQ29udGVudEl0ZW0uIA0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorLS0+DQorPCFFTEVNRU5UIEVuY29kaW5nICVkYXRhOz4NCis8IUFUVExJU1QgRW5jb2RpbmcgICVsb2NhbGlkOw0KKyAgICAgICAgICAgICAgICAgICAgTm90YXRpb24gQ0RBVEEgICNSRVFVSVJFRCA+DQorPCEtLSANCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBFbmREYXRlID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KK0EgbmF0dXJhbC1sYW5ndWFnZSBzdGF0ZW1lbnQgb2YgdGhlIGRhdGUgYXQgd2hpY2ggc3BlY2lmaWVkIHVzYWdlIHJpZ2h0cyBjb21lDQordG8gYW4gZW5kLg0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorLS0+DQorPCFFTEVNRU5UIEVuZERhdGUgICgjUENEQVRBIHwgT3JpZ2luICkqPg0KKzwhQVRUTElTVCBFbmREYXRlICAlbG9jYWxpZDsNCisgICAgICAgICAgICAgICAgICAgeG1sOmxhbmcgICBDREFUQSAgI0lNUExJRUQNCisgICAgICAgICAgICAgICAgICAgJWFzc2lnbm1lbnQ7ID4NCis8IS0tIA0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IEZpbGVOYW1lID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorVGhlIHN1Z2dlc3RlZCBvciBhY3R1YWwgc3RvcmFnZSBmaWxlIG5hbWUgZm9yIGEgTmV3c0l0ZW0uIA0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorLS0+DQorPCFFTEVNRU5UIEZpbGVOYW1lICAoI1BDREFUQSApPg0KKzwhQVRUTElTVCBGaWxlTmFtZSAgJWxvY2FsaWQ7ID4NCis8IS0tIA0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBGaXJzdENyZWF0ZWQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorVGhlIGRhdGUgYW5kLCBvcHRpb25hbGx5LCB0aW1lIGF0IHdoaWNoIGEgTmV3c0l0ZW0gd2FzIGZpcnN0IGNyZWF0ZWQsIGV4cHJlc3NlZA0KK2luIElTTyA4NjAxIEJhc2ljIEZvcm1hdCwgYXMgZGVzY3JpYmVkIGluIHRoZSBjb21tZW50IHRvIHRoZSBEYXRlQW5kVGltZQ0KK2F0dHJpYnV0ZSB3aXRoaW4gdGhlIGFzc2lnbm1lbnQgRU5USVRZIGRlY2xhcmF0aW9uIGFib3ZlLg0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorLS0+DQorPCFFTEVNRU5UIEZpcnN0Q3JlYXRlZCAgKCNQQ0RBVEEgKT4NCis8IUFUVExJU1QgRmlyc3RDcmVhdGVkICAlbG9jYWxpZDsgPg0KKzwhLS0gDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IEZvcm1hbE5hbWUgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCitBIHN0cmluZyBvZiBjaGFyYWN0ZXJzIHdob3NlIG1lYW5pbmcgaXMgZGV0ZXJtaW5lZCBieSBhIG5hbWluZyBzY2hlbWUgd2l0aGluIGENCitjb250cm9sbGVkIHZvY2FidWxhcnkuIFRoZSBjb250cm9sbGVkIHZvY2FidWxhcnkgbWF5IChidXQgaXMgbm90IHJlcXVpcmVkIHRvKQ0KK3Rha2UgdGhlIGZvcm0gb2YgYSBOZXdzTUwgVG9waWNTZXQuIFRoZSBvcHRpb25hbCBTY2hlbWUgYXR0cmlidXRlIGRldGVybWluZXMNCit3aGljaCBuYW1pbmcgc2NoZW1lIGFwcGxpZXMsIHdoZW4gc2V2ZXJhbCBleGlzdCB3aXRoaW4gdGhlIHNhbWUgY29udHJvbGxlZA0KK3ZvY2FidWxhcnkuDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCistLT4NCis8IUVMRU1FTlQgRm9ybWFsTmFtZSAgKCNQQ0RBVEEgKT4NCis8IUFUVExJU1QgRm9ybWFsTmFtZSAgJWxvY2FsaWQ7DQorICAgICAgICAgICAgICAgICAgICAgIFNjaGVtZSAgQ0RBVEEgICNJTVBMSUVEID4NCis8IS0tIA0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBGb3JtYXQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorQW4gaW5kaWNhdGlvbiBvZiB0aGUgZm9ybWF0IG9mIGEgQ29udGVudEl0ZW0uIFRoZSB2YWx1ZSBvZiB0aGUgRm9ybWFsTmFtZQ0KK2F0dHJpYnV0ZSBpcyBhIGZvcm1hbCBuYW1lIGZvciB0aGUgRm9ybWF0LiBJdHMgbWVhbmluZyBhbmQgcGVybWl0dGVkIHZhbHVlcyBhcmUNCitkZXRlcm1pbmVkIGJ5IGEgY29udHJvbGxlZCB2b2NhYnVsYXJ5IGFzIGRlc2NyaWJlZCBpbiB0aGUgY29tbWVudCB0byB0aGUNCitmb3JtYWxuYW1lIEVOVElUWSBkZWNsYXJhdGlvbiBhYm92ZS4NCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKy0tPg0KKzwhRUxFTUVOVCBGb3JtYXQgRU1QVFk+DQorPCFBVFRMSVNUIEZvcm1hdCAgJWxvY2FsaWQ7DQorICAgICAgICAgICAgICAgICAgJWZvcm1hbG5hbWU7ID4NCis8IS0tIA0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBGdXR1cmVTdGF0dXMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorQW4gaW5kaWNhdGlvbiBvZiB0aGUgc3RhdHVzIGEgTmV3c0l0ZW0gd2lsbCBoYXZlIGF0IGEgc3BlY2lmaWVkIGZ1dHVyZSBkYXRlLiBUaGUNCit2YWx1ZSBvZiB0aGUgRm9ybWFsTmFtZSBhdHRyaWJ1dGUgaXMgYSBmb3JtYWwgbmFtZSBmb3IgdGhlIEZ1dHVyZVN0YXR1cy4gSXRzDQorbWVhbmluZyBpcyBkZXRlcm1pbmVkIGJ5IGEgY29udHJvbGxlZCB2b2NhYnVsYXJ5IGFzIGRlc2NyaWJlZCBpbiB0aGUgY29tbWVudA0KK3RvIHRoZSBmb3JtYWxuYW1lIEVOVElUWSBkZWNsYXJhdGlvbiBhYm92ZS4NCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKy0tPg0KKzwhRUxFTUVOVCBGdXR1cmVTdGF0dXMgRU1QVFk+DQorPCFBVFRMSVNUIEZ1dHVyZVN0YXR1cyAgJWxvY2FsaWQ7DQorICAgICAgICAgICAgICAgICAgICAgICAgJWZvcm1hbG5hbWU7ID4NCis8IS0tIA0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBHZW5yZSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorQW4gaW5kaWNhdGlvbiBvZiB0aGUgR2VucmUgb2YgYSBOZXdzQ29tcG9uZW50LiBUaGUgdmFsdWUgb2YgdGhlIEZvcm1hbE5hbWUNCithdHRyaWJ1dGUgaXMgYSBmb3JtYWwgbmFtZSBmb3IgdGhlIEdlbnJlLiBJdHMgbWVhbmluZyBhbmQgcGVybWl0dGVkIHZhbHVlcyBhcmUNCitkZXRlcm1pbmVkIGJ5IGEgY29udHJvbGxlZCB2b2NhYnVsYXJ5IGFzIGRlc2NyaWJlZCBpbiB0aGUgY29tbWVudCB0byB0aGUNCitmb3JtYWxuYW1lIEVOVElUWSBkZWNsYXJhdGlvbiBhYm92ZS4NCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKy0tPg0KKzwhRUxFTUVOVCBHZW5yZSBFTVBUWT4NCis8IUFUVExJU1QgR2VucmUgICVsb2NhbGlkOw0KKyAgICAgICAgICAgICAgICAgJWZvcm1hbG5hbWU7DQorICAgICAgICAgICAgICAgICAlYXNzaWdubWVudDsgPg0KKzwhLS0gDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBHZW9ncmFwaHkgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCitBIG5hdHVyYWwtbGFuZ3VhZ2Ugc3RhdGVtZW50IG9mIHRoZSBnZW9ncmFwaGljYWwgYXJlYSBvciBhcmVhcyB0byB3aGljaA0KK3NwZWNpZmllZCB1c2FnZSByaWdodHMgYXBwbHkuDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCistLT4NCis8IUVMRU1FTlQgR2VvZ3JhcGh5ICAoI1BDREFUQSB8IE9yaWdpbiApKj4NCis8IUFUVExJU1QgR2VvZ3JhcGh5ICAlbG9jYWxpZDsNCisgICAgICAgICAgICAgICAgICAgICB4bWw6bGFuZyAgIENEQVRBICAjSU1QTElFRA0KKyAgICAgICAgICAgICAgICAgICAgICVhc3NpZ25tZW50OyA+DQorPCEtLSANCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBIZWFkTGluZSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KK0EgZGlzcGxheWFibGUgaGVhZGxpbmUuDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCistLT4NCis8IUVMRU1FTlQgSGVhZExpbmUgICgjUENEQVRBIHwgT3JpZ2luICkqPg0KKzwhQVRUTElTVCBIZWFkTGluZSAgJWxvY2FsaWQ7DQorICAgICAgICAgICAgICAgICAgICB4bWw6bGFuZyBDREFUQSAgI0lNUExJRUQgPg0KKzwhLS0gDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gSWRlbnRpZmljYXRpb24gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCitJZGVudGlmaWNhdGlvbiBpbmZvcm1hdGlvbiBmb3IgdGhlIE5ld3NJdGVtLg0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorLS0+DQorPCFFTEVNRU5UIElkZW50aWZpY2F0aW9uICAoTmV3c0lkZW50aWZpZXIgLCBOYW1lTGFiZWw/ICwgRGF0ZUxhYmVsPyAsIExhYmVsKiApPg0KKzwhQVRUTElTVCBJZGVudGlmaWNhdGlvbiAgJWxvY2FsaWQ7ID4NCis8IS0tDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IEluc2VydEFmdGVyID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCitBbiBpbnN0cnVjdGlvbiB0byBpbnNlcnQgY29udGVudCBhZnRlciBhIGRlc2lnbmF0ZWQgZWxlbWVudCB3aXRoaW4gYSBOZXdzSXRlbS4NCitUaGUgY29udGVudCB0byBiZSBpbnNlcnRlZCBpcyB0aGUgY29udGVudCBvZiB0aGUgSW5zZXJ0QWZ0ZXIgZWxlbWVudC4gVGhlDQorTmV3c0l0ZW0gaW50byB3aGljaCBpdCBpcyB0byBiZSBpbnNlcnRlZCBpcyB0aGUgcHJldmlvdXMgcmV2aXNpb24gb2YgdGhlIGN1cnJlbnQNCitvbmUsIGFuZCB0aGUgZWxlbWVudCBhZnRlciB3aGljaCBpdCBpcyB0byBiZSBpbnNlcnRlZCBpcyB0aGUgb25lIHdob3NlIER1aWQNCit2YWx1ZSBpcyBlcXVhbCB0byB0aGUgdmFsdWUgb2YgdGhlIEluc2VydEFmdGVyIGVsZW1lbnQncyBEdWlkUmVmIGF0dHJpYnV0ZS4NCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKy0tPg0KKzwhRUxFTUVOVCBJbnNlcnRBZnRlciBBTlk+DQorPCFBVFRMSVNUIEluc2VydEFmdGVyICAlbG9jYWxpZDsNCisgICAgICAgICAgICAgICAgICAgICAgIER1aWRSZWYgQ0RBVEEgICNSRVFVSVJFRCA+DQorPCEtLQ0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBJbnNlcnRCZWZvcmUgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorQW4gaW5zdHJ1Y3Rpb24gdG8gaW5zZXJ0IGNvbnRlbnQgYmVmb3JlIGEgZGVzaWduYXRlZCBlbGVtZW50IHdpdGhpbiBhIE5ld3NJdGVtLg0KK1RoZSBjb250ZW50IHRvIGJlIGluc2VydGVkIGlzIHRoZSBjb250ZW50IG9mIHRoZSBJbnNlcnRCZWZvcmUgZWxlbWVudC4gVGhlDQorTmV3c0l0ZW0gaW50byB3aGljaCBpdCBpcyB0byBiZSBpbnNlcnRlZCBpcyB0aGUgcHJldmlvdXMgcmV2aXNpb24gb2YgdGhlIGN1cnJlbnQNCitvbmUsIGFuZCB0aGUgZWxlbWVudCBiZWZvcmUgd2hpY2ggaXQgaXMgdG8gYmUgaW5zZXJ0ZWQgaXMgdGhlIG9uZSB3aG9zZSBEdWlkDQordmFsdWUgaXMgZXF1YWwgdG8gdGhlIHZhbHVlIG9mIHRoZSBJbnNlcnRCZWZvcmUgZWxlbWVudCdzIER1aWRSZWYgYXR0cmlidXRlLg0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorLS0+DQorPCFFTEVNRU5UIEluc2VydEJlZm9yZSBBTlk+DQorPCFBVFRMSVNUIEluc2VydEJlZm9yZSAgJWxvY2FsaWQ7DQorICAgICAgICAgICAgICAgICAgICAgICAgRHVpZFJlZiBDREFUQSAgI1JFUVVJUkVEID4NCis8IS0tDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IEluc3RydWN0aW9uID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCitBbiBpbnN0cnVjdGlvbiBmcm9tIGEgbmV3cyBwcm92aWRlciB0byB0aGUgcmVjaXBpZW50IG9mIGEgTmV3c0l0ZW0uIEEgc3BlY2lhbA0KK2Nhc2Ugb2YgSW5zdHJ1Y3Rpb24gaXMgYW4gaW5kaWNhdGlvbiBvZiB0aGUgZWZmZWN0IHRoZSBjdXJyZW50IHJldmlzaW9uIG9mIGENCitOZXdzSXRlbSBoYXMgb24gdGhlIHN0YXR1cyBvZiBhbnkgcHJldmlvdXMgcmV2aXNpb25zIG9mIHRoZSBOZXdzSXRlbSB0aGF0IG1heQ0KK3N0aWxsIGJlIG9uIHRoZSByZWNpcGllbnQncyBzeXN0ZW0uIEluIHRoaXMgY2FzZSwgaXQgd2lsbCBjb250YWluIG9uZSBvciBtb3JlDQorUmV2aXNpb25TdGF0dXMgZWxlbWVudHMuIE90aGVyd2lzZSwgdGhlIHZhbHVlIG9mIHRoZSBGb3JtYWxOYW1lIGF0dHJpYnV0ZSBpcyBhDQorZm9ybWFsIG5hbWUgZm9yIHRoZSBJbnN0cnVjdGlvbiwgYW5kIGl0cyBtZWFuaW5nIGlzIGRldGVybWluZWQgYnkgYSBjb250cm9sbGVkDQordm9jYWJ1bGFyeSBhcyBkZXNjcmliZWQgaW4gdGhlIGNvbW1lbnQgdG8gdGhlIGZvcm1hbG5hbWUgRU5USVRZIGRlY2xhcmF0aW9uDQorYWJvdmUuDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCistLT4NCis8IUVMRU1FTlQgSW5zdHJ1Y3Rpb24gIChSZXZpc2lvblN0YXR1cyogKT4NCis8IUFUVExJU1QgSW5zdHJ1Y3Rpb24gICVsb2NhbGlkOw0KKyAgICAgICAgICAgICAgICAgICAgICAgJWZvcm1hbG5hbWU7ID4NCis8IS0tIA0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBLZXl3b3JkTGluZSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorQSBkaXNwbGF5YWJsZSBzZXQgb2Yga2V5d29yZHMgcmVsZXZhbnQgdG8gYSBuZXdzIG9iamVjdC4gVGhpcyBjYW4gYmUgdXNlZCBieSBhDQorTmV3c01MIHN5c3RlbSB0byBhc3Npc3QgbWFudWFsIG9yIGF1dG9tYXRlZCBzZWFyY2hlcy4NCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKy0tPg0KKzwhRUxFTUVOVCBLZXl3b3JkTGluZSAgKCNQQ0RBVEEgfCBPcmlnaW4gKSo+DQorPCFBVFRMSVNUIEtleXdvcmRMaW5lICAlbG9jYWxpZDsNCisgICAgICAgICAgICAgICAgICAgICAgIHhtbDpsYW5nIENEQVRBICAjSU1QTElFRCA+DQorPCEtLSANCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gTGFiZWwgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KK0EgaHVtYW4tcmVhZGFibGUgbGFiZWwgZm9yIGEgTmV3c0l0ZW0uDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCistLT4NCis8IUVMRU1FTlQgTGFiZWwgIChMYWJlbFR5cGUgLCBMYWJlbFRleHQgKT4NCis8IUFUVExJU1QgTGFiZWwgICVsb2NhbGlkOyA+DQorPCEtLSANCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBMYWJlbFRleHQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KK1RoZSB0ZXh0IHRoYXQgY29uc3RpdHV0ZXMgYSBMYWJlbCBvZiBhIGdpdmVuIExhYmVsVHlwZS4NCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKy0tPg0KKzwhRUxFTUVOVCBMYWJlbFRleHQgICgjUENEQVRBICk+DQorPCFBVFRMSVNUIExhYmVsVGV4dCAgJWxvY2FsaWQ7ID4NCis8IS0tIA0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBMYWJlbFR5cGUgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorQSB1c2VyLWRlZmluZWQgdHlwZSBvZiBsYWJlbC4gVGhlIHZhbHVlIG9mIHRoZSBGb3JtYWxOYW1lIGF0dHJpYnV0ZSBpcyBhIGZvcm1hbA0KK25hbWUgZm9yIHRoZSBMYWJlbFR5cGUuIEl0cyBtZWFuaW5nIGFuZCBwZXJtaXR0ZWQgdmFsdWVzIGFyZSBkZXRlcm1pbmVkIGJ5IGENCitjb250cm9sbGVkIHZvY2FidWxhcnkgYXMgZGVzY3JpYmVkIGluIHRoZSBjb21tZW50IHRvIHRoZSBmb3JtYWxuYW1lIEVOVElUWQ0KK2RlY2xhcmF0aW9uIGFib3ZlLg0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorLS0+DQorPCFFTEVNRU5UIExhYmVsVHlwZSBFTVBUWT4NCis8IUFUVExJU1QgTGFiZWxUeXBlICAlbG9jYWxpZDsNCisgICAgICAgICAgICAgICAgICAgICAlZm9ybWFsbmFtZTsgPg0KKzwhLS0gDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gTGFuZ3VhZ2UgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCitBbiBpbmRpY2F0aW9uIG9mIHRoZSwgb3IgYSwgbGFuZ3VhZ2UgdXNlZCBpbiBhIGNvbnRlbnQgaXRlbS4gVGhlIHZhbHVlIG9mIHRoZQ0KK0Zvcm1hbE5hbWUgYXR0cmlidXRlIGlzIGEgZm9ybWFsIG5hbWUgZm9yIHRoZSBMYW5ndWFnZS4gSXRzIG1lYW5pbmcgYW5kDQorcGVybWl0dGVkIHZhbHVlcyBhcmUgZGV0ZXJtaW5lZCBieSBhIGNvbnRyb2xsZWQgdm9jYWJ1bGFyeSBhcyBkZXNjcmliZWQgaW4gdGhlDQorY29tbWVudCB0byB0aGUgZm9ybWFsbmFtZSBFTlRJVFkgZGVjbGFyYXRpb24gYWJvdmUuDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCistLT4NCis8IUVMRU1FTlQgTGFuZ3VhZ2UgRU1QVFk+DQorPCFBVFRMSVNUIExhbmd1YWdlICAlbG9jYWxpZDsNCisgICAgICAgICAgICAgICAgICAgICVmb3JtYWxuYW1lOw0KKyAgICAgICAgICAgICAgICAgICAgJWFzc2lnbm1lbnQ7ID4NCis8IS0tIA0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBMaW1pdGF0aW9ucyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorQSBuYXR1cmFsLWxhbmd1YWdlIHN0YXRlbWVudCBvZiB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgdGhhdCBhcHBseSB0byB0aGUNCitzcGVjaWZpZWQgdXNhZ2UgcmlnaHRzLg0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorLS0+DQorPCFFTEVNRU5UIExpbWl0YXRpb25zICAoI1BDREFUQSB8IE9yaWdpbiApKj4NCis8IUFUVExJU1QgTGltaXRhdGlvbnMgICVsb2NhbGlkOw0KKyAgICAgICAgICAgICAgICAgICAgICAgeG1sOmxhbmcgICBDREFUQSAgI0lNUExJRUQNCisgICAgICAgICAgICAgICAgICAgICAgICVhc3NpZ25tZW50OyA+DQorPCEtLSANCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IE1lZGlhVHlwZSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KK0FuIGluZGljYXRpb24gb2YgdGhlIG1lZGlhIHR5cGUgb2YgYSBDb250ZW50SXRlbS4gVGhlIHZhbHVlIG9mIHRoZSBGb3JtYWxOYW1lDQorYXR0cmlidXRlIGlzIGEgZm9ybWFsIG5hbWUgZm9yIHRoZSBNZWRpYVR5cGUuIEl0cyBtZWFuaW5nIGFuZCBwZXJtaXR0ZWQgdmFsdWVzDQorYXJlIGRldGVybWluZWQgYnkgYSBjb250cm9sbGVkIHZvY2FidWxhcnkgYXMgZGVzY3JpYmVkIGluIHRoZSBjb21tZW50IHRvIHRoZQ0KK2Zvcm1hbG5hbWUgRU5USVRZIGRlY2xhcmF0aW9uIGFib3ZlLg0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorLS0+DQorPCFFTEVNRU5UIE1lZGlhVHlwZSBFTVBUWT4NCis8IUFUVExJU1QgTWVkaWFUeXBlICAlbG9jYWxpZDsNCisgICAgICAgICAgICAgICAgICAgICAlZm9ybWFsbmFtZTsgPg0KKzwhLS0gDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gTWV0YWRhdGEgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCitBbiBjb250YWluZXIgZm9yIGEgdXNlci1kZWZpbmVkIHR5cGUgb2YgbWV0YWRhdGEuDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCistLT4NCis8IUVMRU1FTlQgTWV0YWRhdGEgIChDYXRhbG9nPyAsIE1ldGFkYXRhVHlwZSAsIFByb3BlcnR5KyApPg0KKzwhQVRUTElTVCBNZXRhZGF0YSAgJWxvY2FsaWQ7ID4NCis8IS0tIA0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gTWV0YWRhdGFUeXBlID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorQW4gaW5kaWNhdGlvbiBvZiB0aGUgdHlwZSBvZiBtZXRhZGF0YSB0aGF0IGlzIHJlcHJlc2VudGVkIGJ5IHRoZSBQcm9wZXJ0eQ0KK2VsZW1lbnRzIHdpdGhpbiB0aGlzIE1ldGFkYXRhIGVsZW1lbnQuIFRoZSB2YWx1ZSBvZiB0aGUgRm9ybWFsTmFtZSBhdHRyaWJ1dGUgaXMNCithIGZvcm1hbCBuYW1lIGZvciB0aGUgTWV0YWRhdGFUeXBlLiBJdHMgbWVhbmluZyBhbmQgcGVybWl0dGVkIHZhbHVlcyBhcmUNCitkZXRlcm1pbmVkIGJ5IGEgY29udHJvbGxlZCB2b2NhYnVsYXJ5IGFzIGRlc2NyaWJlZCBpbiB0aGUgY29tbWVudCB0byB0aGUNCitmb3JtYWxuYW1lIEVOVElUWSBkZWNsYXJhdGlvbiBhYm92ZS4NCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKy0tPg0KKzwhRUxFTUVOVCBNZXRhZGF0YVR5cGUgRU1QVFk+DQorPCFBVFRMSVNUIE1ldGFkYXRhVHlwZSAgJWxvY2FsaWQ7DQorICAgICAgICAgICAgICAgICAgICAgICAgJWZvcm1hbG5hbWU7ID4NCis8IS0tIA0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IE1pbWVUeXBlID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorQW4gaW5kaWNhdGlvbiBvZiB0aGUgTUlNRS10eXBlIG9mIGEgQ29udGVudEl0ZW0uIFRoZSB2YWx1ZSBvZiB0aGUgRm9ybWFsTmFtZQ0KK2F0dHJpYnV0ZSBpcyBhIGZvcm1hbCBuYW1lIGZvciB0aGUgTWltZVR5cGUuIEl0cyBtZWFuaW5nIGFuZCBwZXJtaXR0ZWQgdmFsdWVzDQorYXJlIGRldGVybWluZWQgYnkgYSBjb250cm9sbGVkIHZvY2FidWxhcnkgYXMgZGVzY3JpYmVkIGluIHRoZSBjb21tZW50IHRvIHRoZQ0KK2Zvcm1hbG5hbWUgRU5USVRZIGRlY2xhcmF0aW9uIGFib3ZlLg0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorLS0+DQorPCFFTEVNRU5UIE1pbWVUeXBlIEVNUFRZPg0KKzwhQVRUTElTVCBNaW1lVHlwZSAgJWxvY2FsaWQ7DQorICAgICAgICAgICAgICAgICAgICAlZm9ybWFsbmFtZTsgPg0KKzwhLS0gDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBOYW1lTGFiZWwgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCitBIHN0cmluZyB1c2VkIGJ5IGh1bWFuIHVzZXJzIGFzIGEgbmFtZSB0byBoZWxwIGlkZW50aWZ5IGEgTmV3c0l0ZW0uIEl0cyBmb3JtIGlzDQorZGV0ZXJtaW5lZCBieSB0aGUgcHJvdmlkZXIuIEl0IG1pZ2h0IGJlIGlkZW50aWNhbCB0byB0aGUgdGV4dHVhbCBjb250ZW50IG9mDQordGhlIFNsdWdMaW5lIGVsZW1lbnQsIGZvciBleGFtcGxlLCBidXQgZXZlbiBpZiB0aGlzIGlzIHNvLCB0aGUgc3lzdGVtIHNob3VsZCBub3QNCitwcm9jZXNzIHRoZSBOYW1lTGFiZWwgYXMgYSBzbHVnbGluZS4gTm90aGluZyBjYW4gYmUgYXNzdW1lZCBhYm91dCB0aGUgbmF0dXJlIG9mDQordGhlIHN0cmluZyB3aXRoaW4gTmFtZUxhYmVsIGJleW9uZCB0aGUgZmFjdCB0aGF0IGl0IGNhbiBoZWxwIHRvIGlkZW50aWZ5IHRoZQ0KK05ld3NJdGVtIHRvIGh1bWFucy4NCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKy0tPg0KKzwhRUxFTUVOVCBOYW1lTGFiZWwgICgjUENEQVRBICk+DQorPCFBVFRMSVNUIE5hbWVMYWJlbCAgJWxvY2FsaWQ7ID4NCis8IS0tIA0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IE5ld3NDb21wb25lbnQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorQSBjb250YWluZXIgZm9yIG5ld3Mgb2JqZWN0cywgdXNlZCB0byBpZGVudGlmeSB0aGUgcm9sZSBvZiBuZXdzIG9iamVjdHMgaW4NCityZWxhdGlvbiB0byBvbmUgYW5vdGhlciwgYW5kIHRvIGFzY3JpYmUgbWV0YWRhdGEgdG8gdGhlbS4gVGhlIEVzc2VudGlhbA0KK2F0dHJpYnV0ZSBpbmRpY2F0ZXMgd2hldGhlciB0aGUgcHJvdmlkZXIgY29uc2lkZXJzIHRoYXQgdGhpcyBOZXdzQ29tcG9uZW50DQoraXMgZXNzZW50aWFsIHRvIHRoZSBtZWFuaW5nIG9mIHRoZSBOZXdzQ29tcG9uZW50IHdpdGhpbiB3aGljaCBpdCBpcyBjb250YWluZWQuDQorVGhlIEVxdWl2YWxlbnRzTGlzdCBhdHRyaWJ1dGUgaW5kaWNhdGVzIHdoZXRoZXIgb3Igbm90IHRoZSBOZXdzSXRlbXMgb3INCitOZXdzSXRlbVJlZnMsIE5ld3NDb21wb25lbnRzIG9yIENvbnRlbnRJdGVtcyBjb250YWluZWQgd2l0aGluIHRoaXMgb25lIGFyZQ0KK2VxdWl2YWxlbnQgdG8gb25lIGFub3RoZXIgaW4gY29udGVudCBhbmQvb3IgbWVhbmluZw0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorLS0+DQorPCFFTEVNRU5UIE5ld3NDb21wb25lbnQgIChDb21tZW50KiAsIENhdGFsb2c/ICwgVG9waWNTZXQqICwgUm9sZT8gLCBCYXNpc0ZvckNob2ljZSogLCBOZXdzTGluZXM/ICwgQWRtaW5pc3RyYXRpdmVNZXRhZGF0YT8gLCBSaWdodHNNZXRhZGF0YT8gLCBEZXNjcmlwdGl2ZU1ldGFkYXRhPyAsIE1ldGFkYXRhKiAsICAoIChOZXdzSXRlbSB8IE5ld3NJdGVtUmVmICkrIHwgTmV3c0NvbXBvbmVudCsgfCBDb250ZW50SXRlbSsgKT8gKT4NCis8IUFUVExJU1QgTmV3c0NvbXBvbmVudCAgJWxvY2FsaWQ7DQorICAgICAgICAgICAgICAgICAgICAgICAgIEVzc2VudGlhbCAgICAgICAgKHllcyB8IG5vICkgICdubycNCisgICAgICAgICAgICAgICAgICAgICAgICAgRXF1aXZhbGVudHNMaXN0ICAoeWVzIHwgbm8gKSAgJ25vJw0KKyAgICAgICAgICAgICAgICAgICAgICAgICB4bWw6bGFuZyAgICAgICAgQ0RBVEEgICNJTVBMSUVEID4NCis8IS0tIA0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBOZXdzRW52ZWxvcGUgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorSW5mb3JtYXRpb24gYWJvdXQgdGhlIHRyYW5zbWlzc2lvbiBvZiBvbmUgb3IgbW9yZSBOZXdzSXRlbXMgYXMgYSBOZXdzTUwNCitkb2N1bWVudC4NCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKy0tPg0KKzwhRUxFTUVOVCBOZXdzRW52ZWxvcGUgIChUcmFuc21pc3Npb25JZD8gLCBTZW50RnJvbT8gLCBTZW50VG8/ICwgRGF0ZUFuZFRpbWUgLCBOZXdzU2VydmljZSogLCBOZXdzUHJvZHVjdCogLCBQcmlvcml0eT8gKT4NCis8IUFUVExJU1QgTmV3c0VudmVsb3BlICAlbG9jYWxpZDsgPg0KKzwhLS0gDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gTmV3c0lkZW50aWZpZXIgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCitBIGdsb2JhbGx5IHVuaXF1ZSBpZGVudGlmaWVyIGZvciBhIE5ld3NJdGVtLiANCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKy0tPg0KKzwhRUxFTUVOVCBOZXdzSWRlbnRpZmllciAgKFByb3ZpZGVySWQgLCBEYXRlSWQgLCBOZXdzSXRlbUlkICwgUmV2aXNpb25JZCAsIFB1YmxpY0lkZW50aWZpZXIgKT4NCisNCis8IS0tIA0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IE5ld3NJdGVtID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorQSBtYW5hZ2VkIHNldCBvZiBpbmZvcm1hdGlvbiByZXByZXNlbnRpbmcgYSBwb2ludCBvZiB2aWV3LCBhdCBhIGdpdmVuIHRpbWUsIG9uDQorc29tZSBldmVudCBvciBldmVudHMuIEl0cyBJZGVudGlmaWNhdGlvbiBhbmQgTmV3c01hbmFnZW1lbnQgcHJvdmlkZQ0KK21hbmFnZWFiaWxpdHkuIEl0IG1heSBjb250YWluIGVpdGhlciBhIE5ld3NDb21wb25lbnQsIG9yIG9uZSBvciBtb3JlIFVwZGF0ZXMNCit0aGF0IG1vZGlmeSBhc3BlY3RzIG9mIGEgcHJldmlvdXMgUmV2aXNpb24gb2YgdGhlIHNhbWUgTmV3c0l0ZW0sIG9yIGENCitUb3BpY1NldC4NCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKy0tPg0KKzwhRUxFTUVOVCBOZXdzSXRlbSAgKENvbW1lbnQqICwgQ2F0YWxvZz8gLCBJZGVudGlmaWNhdGlvbiAsIE5ld3NNYW5hZ2VtZW50ICwgIChOZXdzQ29tcG9uZW50IHwgVXBkYXRlKyB8IFRvcGljU2V0ICk/ICk+DQorPCFBVFRMSVNUIE5ld3NJdGVtICAlbG9jYWxpZDsNCisgICAgICAgICAgICAgICAgICAgIHhtbDpsYW5nIENEQVRBICAjSU1QTElFRCA+DQorPCEtLSANCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IE5ld3NJdGVtSWQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KK0FuIGlkZW50aWZpZXIgZm9yIHRoZSBOZXdzSXRlbS4gVGhlIGNvbWJpbmF0aW9uIG9mIE5ld3NJdGVtSWQgYW5kIERhdGVJZCBtdXN0DQorYmUgdW5pcXVlIGFtb25nIE5ld3NJdGVtcyB0aGF0IGVtYW5hdGUgZnJvbSB0aGUgc2FtZSBwcm92aWRlci4gV2l0aGluIHRoZXNlDQorY29uc3RyYWludHMsIHRoZSBOZXdzSXRlbUlkIGNhbiB0YWtlIGFueSBmb3JtIHRoZSBwcm92aWRlciB3aXNoZXMuIEl0IG1heSB0YWtlDQordGhlIGZvcm0gb2YgYSBuYW1lIGZvciB0aGUgTmV3c0l0ZW0gdGhhdCB3aWxsIGJlIG1lYW5pbmdmdWwgdG8gaHVtYW5zLCBidXQgdGhpcw0KK2lzIG5vdCBhIHJlcXVpcmVtZW50LiBUaGUgcHJvdmlkZXIgbWF5IG9wdGlvbmFsbHkgcmVsYXRlIHRoZSB2YWx1ZXMgb2YNCitOZXdzSXRlbUlkIHRvIGEgY29udHJvbGxlZCB2b2NhYnVsYXJ5LCB3aGljaCBpcyBpbnZva2VkIGJ5IHRoZSBWb2NhYnVsYXJ5DQorYXR0cmlidXRlLiBUaGUgdmFsdWUgb2Z0aGUgVm9jYWJ1bGFyeSBhdHRyaWJ1dGUgbWF5IGJlIGFuIGh0dHAgVVJMLCBhIE5ld3NNTA0KK1VSTiwgb3IgdGhlICMgY2hhcmFjdGVyIGZvbGxvd2VkIGJ5IHRoZSB2YWx1ZSBvZiB0aGUgRHVpZCBhdHRyaWJ1dGUgb2YgYQ0KK1RvcGljU2V0IGluIHRoZSBjdXJyZW50IGRvY3VtZW50LiBUaGUgU2NoZW1lIGF0dHJpYnV0ZSwgaWYgcHJlc2VudCwgc2VydmVzIHRvDQorZGlzdGluZ3Vpc2ggd2hpY2ggb2YgcG9zc2libHkgbXVsdGlwbGUgbmFtaW5nIHNjaGVtZXMgaW4gdGhlIGNvbnRyb2xsZWQNCit2b2NhYnVsYXJ5IGlzIHRoZSBvbmUgdGhhdCBnb3Zlcm5zIHRoZSBOZXdzSXRlbUlkLg0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorLS0+DQorPCFFTEVNRU5UIE5ld3NJdGVtSWQgICgjUENEQVRBICk+DQorPCFBVFRMSVNUIE5ld3NJdGVtSWQgIFZvY2FidWxhcnkgQ0RBVEEgICNJTVBMSUVEDQorICAgICAgICAgICAgICAgICAgICAgIFNjaGVtZSAgICAgQ0RBVEEgICNJTVBMSUVEID4NCis8IS0tIA0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBOZXdzSXRlbVJlZiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorQSBwb2ludGVyIHRvIGEgTmV3c0l0ZW0gdGhhdCBpcyBkZWVtZWQgdG8gcmVwbGFjZSB0aGUgTmV3c0l0ZW1SZWYgZWxlbWVudC4gVGhlDQorTmV3c0l0ZW0gYXR0cmlidXRlIGlzIGEgcG9pbnRlciB0byB0aGUgcmVsZXZhbnQgTmV3c0l0ZW0uIEl0cyB2YWx1ZSBjYW4gYmUgYW4NCitodHRwIFVSTCwgb3IgYSBOZXdzTUwgVVJOIGFzIGRlc2NyaWJlZCBpbiB0aGUgY29tbWVudCB0byBQdWJsaWNJZGVudGlmaWVyLCBvciBhDQorZnJhZ21lbnQgaWRlbnRpZmllciBjb25zaXN0aW5nIG9mIGEgIyBjaGFyYWN0ZXIgZm9sbG93ZWQgYnkgdGhlIER1aWQgb2YgYQ0KK05ld3NJdGVtIGluIHRoZSBjdXJyZW50IGRvY3VtZW50Lg0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorLS0+DQorPCFFTEVNRU5UIE5ld3NJdGVtUmVmICAoQ29tbWVudCogKT4NCis8IUFUVExJU1QgTmV3c0l0ZW1SZWYgICVsb2NhbGlkOw0KKyAgICAgICAgICAgICAgICAgICAgICAgTmV3c0l0ZW0gQ0RBVEEgICNJTVBMSUVEID4NCis8IS0tDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IE5ld3NJdGVtVHlwZSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCitBbiBpbmRpY2F0aW9uIG9mIHRoZSB0eXBlIG9mIGEgTmV3c0l0ZW0uIFRoZSB2YWx1ZSBvZiB0aGUgRm9ybWFsTmFtZSBhdHRyaWJ1dGUNCitpcyBhIGZvcm1hbCBuYW1lIGZvciB0aGUgTmV3c0l0ZW1UeXBlLiBJdHMgbWVhbmluZyBhbmQgcGVybWl0dGVkIHZhbHVlcyBhcmUNCitkZXRlcm1pbmVkIGJ5IGEgY29udHJvbGxlZCB2b2NhYnVsYXJ5IGFzIGRlc2NyaWJlZCBpbiB0aGUgY29tbWVudCB0byB0aGUNCitmb3JtYWxuYW1lIEVOVElUWSBkZWNsYXJhdGlvbiBhYm92ZS4NCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKy0tPg0KKzwhRUxFTUVOVCBOZXdzSXRlbVR5cGUgRU1QVFk+DQorPCFBVFRMSVNUIE5ld3NJdGVtVHlwZSAgJWxvY2FsaWQ7DQorICAgICAgICAgICAgICAgICAgICAgICAgJWZvcm1hbG5hbWU7ID4NCis8IS0tIA0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IE5ld3NMaW5lID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorQSBuZXdzbGluZSBvZiBhIHR5cGUgbm90IGluY2x1ZGVkIGluIHRoZSBOZXdzTUwgc3BlY2lmaWNhdGlvbi4NCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKy0tPg0KKzwhRUxFTUVOVCBOZXdzTGluZSAgKE5ld3NMaW5lVHlwZSAsIE5ld3NMaW5lVGV4dCsgKT4NCis8IUFUVExJU1QgTmV3c0xpbmUgICVsb2NhbGlkOyA+DQorPCEtLSANCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBOZXdzTGluZVRleHQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCitUaGUgdGV4dCBvZiBhIE5ld3NMaW5lIG9mIHVzZXItZGVmaW5lZCB0eXBlLg0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorLS0+DQorPCFFTEVNRU5UIE5ld3NMaW5lVGV4dCAgKCNQQ0RBVEEgfCBPcmlnaW4gKSo+DQorPCFBVFRMSVNUIE5ld3NMaW5lVGV4dCAgJWxvY2FsaWQ7DQorICAgICAgICAgICAgICAgICAgICAgICAgeG1sOmxhbmcgQ0RBVEEgICNJTVBMSUVEID4NCis8IS0tIA0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IE5ld3NMaW5lVHlwZSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorQW4gaW5kaWNhdGlvbiBvZiBhIHVzZXItZGVmaW5lZCBOZXdzTGluZSB0eXBlLiBUaGUgdmFsdWUgb2YgdGhlIEZvcm1hbE5hbWUNCithdHRyaWJ1dGUgaXMgYSBmb3JtYWwgbmFtZSBmb3IgdGhlIE5ld3NMaW5lVHlwZS4gSXRzIG1lYW5pbmcgYW5kIHBlcm1pdHRlZA0KK3ZhbHVlcyBhcmUgZGV0ZXJtaW5lZCBieSBhIGNvbnRyb2xsZWQgdm9jYWJ1bGFyeSBhcyBkZXNjcmliZWQgaW4gdGhlIGNvbW1lbnQNCit0byB0aGUgZm9ybWFsbmFtZSBFTlRJVFkgZGVjbGFyYXRpb24gYWJvdmUuDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCistLT4NCis8IUVMRU1FTlQgTmV3c0xpbmVUeXBlIEVNUFRZPg0KKzwhQVRUTElTVCBOZXdzTGluZVR5cGUgICVsb2NhbGlkOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICVmb3JtYWxuYW1lOyA+DQorPCEtLSANCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IE5ld3NMaW5lcyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KK0EgY29udGFpbmVyIGZvciBhbGwgdGhlIE5ld3NMaW5lcyB0aGF0IGEgTmV3c0NvbXBvbmVudCBoYXMuDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCistLT4NCis8IUVMRU1FTlQgTmV3c0xpbmVzICAoIChIZWFkTGluZSAsIFN1YkhlYWRMaW5lPyApKiAsIEJ5TGluZSogLCBEYXRlTGluZSogLCBDcmVkaXRMaW5lKiAsIENvcHlyaWdodExpbmUqICwgUmlnaHRzTGluZSogLCBTZXJpZXNMaW5lKiAsIFNsdWdMaW5lKiAsIEtleXdvcmRMaW5lKiAsIE5ld3NMaW5lKiApPg0KKzwhQVRUTElTVCBOZXdzTGluZXMgICVsb2NhbGlkOyA+DQorPCEtLSANCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBOZXdzTWFuYWdlbWVudCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KK0luZm9ybWF0aW9uIHJlbGV2YW50IHRvIHRoZSBtYW5hZ2VtZW50IG9mIGEgTmV3c0l0ZW0uDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCistLT4NCis8IUVMRU1FTlQgTmV3c01hbmFnZW1lbnQgIChOZXdzSXRlbVR5cGUgLCBGaXJzdENyZWF0ZWQgLCBUaGlzUmV2aXNpb25DcmVhdGVkICwgU3RhdHVzICwgU3RhdHVzV2lsbENoYW5nZT8gLCBVcmdlbmN5PyAsIFJldmlzaW9uSGlzdG9yeT8gLCBEZXJpdmVkRnJvbSogLCBBc3NvY2lhdGVkV2l0aCogLCBJbnN0cnVjdGlvbiogLCBQcm9wZXJ0eSogKT4NCis8IUFUVExJU1QgTmV3c01hbmFnZW1lbnQgICVsb2NhbGlkOyA+DQorPCEtLSANCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gTmV3c01MID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KK0EgTmV3c01MIGRvY3VtZW50LCB3aGljaCBtdXN0IGNvbnRhaW4gYSBOZXdzRW52ZWxvcGUgYW5kIG9uZSBvciBtb3JlIE5ld3NJdGVtcywNCithbmQgbWF5IGluY2x1ZGUgYSBDYXRhbG9nIGVsZW1lbnQgYW5kIGEgVG9waWNTZXQgZWxlbWVudC4NCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKy0tPg0KKzwhRUxFTUVOVCBOZXdzTUwgIChDYXRhbG9nPyAsIFRvcGljU2V0KiAsICAoTmV3c0VudmVsb3BlICwgTmV3c0l0ZW0rICkgKT4NCis8IUFUVExJU1QgTmV3c01MICAlbG9jYWxpZDsgPg0KKzwhLS0gDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IE5ld3NQcm9kdWN0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCitBbiBpZGVudGlmaWVyIGZvciBhIHByb2R1Y3QgdG8gd2hpY2ggYWxsIHRoZSBOZXdzSXRlbXMgaW4gYSBOZXdzTUwgZG9jdW1lbnQNCitiZWxvbmcuIFRoZSB2YWx1ZSBvZiB0aGUgRm9ybWFsTmFtZSBhdHRyaWJ1dGUgaXMgYSBmb3JtYWwgbmFtZSBmb3IgdGhlDQorTmV3c1Byb2R1Y3QuIEl0cyBtZWFuaW5nIGFuZCBwZXJtaXR0ZWQgdmFsdWVzIGFyZSBkZXRlcm1pbmVkIGJ5IGEgY29udHJvbGxlZA0KK3ZvY2FidWxhcnkgYXMgZGVzY3JpYmVkIGluIHRoZSBjb21tZW50IHRvIHRoZSBmb3JtYWxuYW1lIEVOVElUWSBkZWNsYXJhdGlvbg0KK2Fib3ZlLg0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorLS0+DQorPCFFTEVNRU5UIE5ld3NQcm9kdWN0IEVNUFRZPg0KKzwhQVRUTElTVCBOZXdzUHJvZHVjdCAgJWxvY2FsaWQ7DQorICAgICAgICAgICAgICAgICAgICAgICAlZm9ybWFsbmFtZTsgPg0KKzwhLS0gDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IE5ld3NTZXJ2aWNlID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCitBbiBpZGVudGlmaWVyIGZvciBhIHNlcnZpY2UgdG8gd2hpY2ggYWxsIHRoZSBOZXdzSXRlbXMgaW4gYSBOZXdzTUwgZG9jdW1lbnQNCitiZWxvbmcuIFRoZSB2YWx1ZSBvZiB0aGUgRm9ybWFsTmFtZSBhdHRyaWJ1dGUgaXMgYSBmb3JtYWwgbmFtZSBmb3IgdGhlDQorTmV3c1NlcnZpY2UuIEl0cyBtZWFuaW5nIGFuZCBwZXJtaXR0ZWQgdmFsdWVzIGFyZSBkZXRlcm1pbmVkIGJ5IGEgY29udHJvbGxlZA0KK3ZvY2FidWxhcnkgYXMgZGVzY3JpYmVkIGluIHRoZSBjb21tZW50IHRvIHRoZSBmb3JtYWxuYW1lIEVOVElUWSBkZWNsYXJhdGlvbg0KK2Fib3ZlLg0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorLS0+DQorPCFFTEVNRU5UIE5ld3NTZXJ2aWNlIEVNUFRZPg0KKzwhQVRUTElTVCBOZXdzU2VydmljZSAgJWxvY2FsaWQ7DQorICAgICAgICAgICAgICAgICAgICAgICAlZm9ybWFsbmFtZTsgPg0KKzwhLS0gDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gTm90YXRpb24gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCitBbiBpbmRpY2F0aW9uIG9mIHRoZSBub3RhdGlvbiBvZiBhIENvbnRlbnRJdGVtLiBUaGUgdmFsdWUgb2YgdGhlIEZvcm1hbE5hbWUNCithdHRyaWJ1dGUgaXMgYSBmb3JtYWwgbmFtZSBmb3IgdGhlIE5vdGF0aW9uLiBJdHMgbWVhbmluZyBhbmQgcGVybWl0dGVkIHZhbHVlcw0KK2FyZSBkZXRlcm1pbmVkIGJ5IGEgY29udHJvbGxlZCB2b2NhYnVsYXJ5IGFzIGRlc2NyaWJlZCBpbiB0aGUgY29tbWVudCB0byB0aGUNCitmb3JtYWxuYW1lIEVOVElUWSBkZWNsYXJhdGlvbiBhYm92ZS4NCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKy0tPg0KKzwhRUxFTUVOVCBOb3RhdGlvbiBFTVBUWT4NCis8IUFUVExJU1QgTm90YXRpb24gICVsb2NhbGlkOw0KKyAgICAgICAgICAgICAgICAgICAgJWZvcm1hbG5hbWU7ID4NCis8IS0tIA0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBPZkludGVyZXN0VG8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorQW4gaW5kaWNhdGlvbiBvZiB0aGUgdGFyZ2V0IGF1ZGllbmNlIG9mIGEgTmV3c0l0ZW0uIFRoZSB2YWx1ZSBvZiB0aGUgRm9ybWFsTmFtZQ0KK2F0dHJpYnV0ZSBpcyBhIGZvcm1hbCBuYW1lIGZvciB0aGUgdGFyZ2V0IGF1ZGllbmNlLiBJdHMgbWVhbmluZyBhbmQgcGVybWl0dGVkDQordmFsdWVzIGFyZSBkZXRlcm1pbmVkIGJ5IGEgY29udHJvbGxlZCB2b2NhYnVsYXJ5IGFzIGRlc2NyaWJlZCBpbiB0aGUgY29tbWVudCB0bw0KK3RoZSBmb3JtYWxuYW1lIEVOVElUWSBkZWNsYXJhdGlvbiBhYm92ZS4NCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKy0tPg0KKzwhRUxFTUVOVCBPZkludGVyZXN0VG8gIChSZWxldmFuY2U/ICk+DQorPCFBVFRMSVNUIE9mSW50ZXJlc3RUbyAgJWxvY2FsaWQ7DQorICAgICAgICAgICAgICAgICAgICAgICAgJWZvcm1hbG5hbWU7DQorICAgICAgICAgICAgICAgICAgICAgICAgJWFzc2lnbm1lbnQ7ID4NCis8IS0tIA0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBPcmlnaW4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorQSB3cmFwcGVyIGZvciBhbGwgb3IgcGFydCBvZiB0aGUgdGV4dCBvZiBhIHBpZWNlIG9mIHRleHQsIHdoaWNoIHByb3ZpZGVzIGENCitwb2ludGVyIHRvIGFuIGl0ZW0gb2YgZGF0YSBjb3JyZXNwb25kaW5nIGZvcm1hbGx5IHRvIHdoYXQgaXMgYmVpbmcgZGVzY3JpYmVkDQoraGVyZSBpbiBuYXR1cmFsIGxhbmd1YWdlLiBUaGUgSHJlZiBhdHRyaWJ1dGUgaWRlbnRpZmllcyB0aGUgcmVsZXZhbnQgZGF0YSwgYW5kDQorbWF5IGJlIGFuIGh0dHAgVVJMIG9yIGEgTmV3c01MIFVSTiBhcyBkZXNjcmliZWQgaW4gdGhlIGNvbW1lbnQgdG8NCitQdWJsaWNJZGVudGlmaWVyLCBvcHRpb25hbGx5IGluY2x1ZGluZyBhIGZyYWdtZW50IGlkZW50aWZpZXIuIEFsdGVybmF0aXZlbHksIGl0DQorY2FuIGJlIGEgc2ltcGxlIGZyYWdtZW50IGlkZW50aWZpZXIgY29uc2lzdGluZyBvZiBhICMgY2hhcmFjdGVyIGZvbGxvd2VkIGJ5IHRoZQ0KK3ZhbHVlIG9mIHRoZSBEdWlkIG9mIGFuIGVsZW1lbnQgaW4gdGhlIGN1cnJlbnQgZG9jdW1lbnQuDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCistLT4NCis8IUVMRU1FTlQgT3JpZ2luICAoI1BDREFUQSB8IE9yaWdpbiApKj4NCis8IUFUVExJU1QgT3JpZ2luICAlbG9jYWxpZDsNCisgICAgICAgICAgICAgICAgICAlYXNzaWdubWVudDsNCisgICAgICAgICAgICAgICAgICBIcmVmICAgICAgIENEQVRBICAjSU1QTElFRCA+DQorPCEtLSANCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBQYXJ0eSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KK0FuIGluZGljYXRpb24gb2YgdGhlIHBlcnNvbiwgY29tcGFueSBvciBvcmdhbmlzYXRpb24gdGhhdCBoYXMgYSBwYXJ0aWN1bGFyDQorcmVsYXRpb25zaGlwIHRvIHRoaXMgTmV3c0l0ZW0gaW4gdGhlIG5ld3Mgd29ya2Zsb3cuIFRoZSB2YWx1ZSBvZiB0aGUgRm9ybWFsTmFtZQ0KK2F0dHJpYnV0ZSBpcyBhIGZvcm1hbCBuYW1lIGZvciB0aGUgUGFydHkuIEl0cyBtZWFuaW5nIGFuZCBwZXJtaXR0ZWQgdmFsdWVzDQorYXJlIGRldGVybWluZWQgYnkgYSBjb250cm9sbGVkIHZvY2FidWxhcnkgYXMgZGVzY3JpYmVkIGluIHRoZSBjb21tZW50IHRvIHRoZQ0KK2Zvcm1hbG5hbWUgRU5USVRZIGRlY2xhcmF0aW9uIGFib3ZlLg0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorLS0+DQorPCFFTEVNRU5UIFBhcnR5IEVNUFRZPg0KKzwhQVRUTElTVCBQYXJ0eSAgJWxvY2FsaWQ7DQorICAgICAgICAgICAgICAgICAlZm9ybWFsbmFtZTsNCisgICAgICAgICAgICAgICAgIFRvcGljICAgICAgQ0RBVEEgICNJTVBMSUVEID4NCis8IS0tIA0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IFByaW9yaXR5ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorQW4gaW5kaWNhdGlvbiBvZiB0aGUgcHJpb3JpdHkgbm90YXRpb24gb2YgYSBOZXdzSXRlbS4gVGhlIHZhbHVlIG9mIHRoZQ0KK0Zvcm1hbE5hbWUgYXR0cmlidXRlIGlzIGEgZm9ybWFsIG5hbWUgZm9yIHRoZSBQcmlvcml0eS4gSXRzIG1lYW5pbmcgYW5kDQorcGVybWl0dGVkIHZhbHVlcyBhcmUgZGV0ZXJtaW5lZCBieSBhIGNvbnRyb2xsZWQgdm9jYWJ1bGFyeSBhcyBkZXNjcmliZWQgaW4NCit0aGUgY29tbWVudCB0byB0aGUgZm9ybWFsbmFtZSBFTlRJVFkgZGVjbGFyYXRpb24gYWJvdmUuDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCistLT4NCis8IUVMRU1FTlQgUHJpb3JpdHkgRU1QVFk+DQorPCFBVFRMSVNUIFByaW9yaXR5ICAlbG9jYWxpZDsNCisgICAgICAgICAgICAgICAgICAgICVmb3JtYWxuYW1lOyA+DQorPCEtLSANCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBQcm9wZXJ0eSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KK0EgcHJvcGVydHkgb2YgYSBOZXdzQ29tcG9uZW50IG9yIG9mIGEgVG9waWMuIFRoZSBwcm9wZXJ0eSBoYXMgYSBuYW1lIGFuZCBlaXRoZXINCithIHNpbXBsZSBWYWx1ZSBvciBhIGNvbXBsZXggdmFsdWUgY29uc2lzdGluZyBvZiBhIHNldCBvZiBmdXJ0aGVyIHByb3BlcnRpZXMuDQorDQorVmFsdWUNCis9PT09PQ0KK0Egc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB2YWx1ZSBvZiBhIFByb3BlcnR5Lg0KKw0KK1ZhbHVlUmVmDQorPT09PT09PT0NCitBIHBvaW50ZXIgdG8gdGhlIHZhbHVlIG9mIHRoZSBQcm9wZXJ0eS4gVGhpcyBtaWdodCBiZSBhIFRvcGljIGluIGEgVG9waWNTZXQsIG9yDQorYW55IG90aGVyIHBpZWNlIG9mIGRhdGEuIElmIGJvdGggVmFsdWUgYW5kIFZhbHVlUmVmIGFyZSBwcm92aWRlZCwgdGhlbiBWYWx1ZVJlZg0KK2lkZW50aWZpZXMgdGhlIGFjdHVhbCB2YWx1ZSBvZiB0aGUgcHJvcGVydHksIHdpdGggVmFsdWUgc2ltcGx5IHByb3ZpZGluZyBhDQorc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9yIG1uZW1vbmljIGZvciBpdC4NCisNCisNCitFeGFtcGxlOg0KKzxDYXRhbG9nPg0KKyA8UmVzb3VyY2UgRHVpZD0icmVzb3VyY2UxIj4NCisgIDxVcm4+dXJuOm5ld3NtbDpyZXV0ZXJzLmNvbToyMDAwMTAwMTpQaHlzaWNhbCBDaGFyYWN0ZXJpc3RpY3M6MzwvVXJuPg0KKyAgPFVybD53d3cucmV1dGVycy5jb20vdm9jYWJzL3BoeXNpY2FsLnhtbDwvVXJsPg0KKyAgPFVybD53d3cuaXB0Yy5jb20vdm9jYWJ1bGFyaWVzL21lbWJlcmRlZmluZWQvcmV1dGVycy9waHlzaWNhbC54bWw8L1VybD4NCisgIDxEZWZhdWx0Vm9jYWJ1bGFyeUZvciBTY2hlbWU9InNob3J0IiBDb250ZXh0PSJNZXRhZGF0YS9Qcm9wZXJ0eVtARm9ybWFsTmFtZT0nV2lkdGgnXSIvPg0KKyA8L1Jlc291cmNlPg0KKzwvQ2F0YWxvZz4NCis8UHJvcGVydHkgRm9ybWFsTmFtZT0iV2lkdGgiIFZvY2FidWxhcnk9IiNyZXNvdXJjZTEiPg0KKyA8UHJvcGVydHkgRm9ybWFsTmFtZT0iVW5pdCIgVmFsdWVSZWY9InVybjpuZXdzbWw6aXB0Yy5vcmc6MjAwMDEwMDY6dW5pdHM6MSNjbSIvPg0KKyA8UHJvcGVydHkgRm9ybWFsTmFtZT0iUXVhbnRpdHkiIFZhbHVlPSI3LjUiLz4NCis8L1Byb3BlcnR5Pg0KKw0KK0FsbG93ZWRWYWx1ZXMNCis9PT09PT09PT09PT09DQorVGhlIEFsbG93ZWRWYWx1ZXMgYXR0cmlidXRlLCBpZiBwcmVzZW50LCBpcyBhIHBvaW50ZXIgdG8gYSBjb250cm9sbGVkIHZvY2FidWxhcnkNCit0aGF0IGRlbGltaXRzIHRoZSBzZXQgb2YgYWxsb3dlZCB2YWx1ZXMgZm9yIHRoZSBwcm9wZXJ0eS4gVGhpcyBtYXkgYmUgYW4gaHR0cA0KK1VSTCwgb3IgYSBOZXdzTUwgVVJOLCBvciBhIGZyYWdtZW50IGlkZW50aWZpZXIgY29uc2lzdGluZyBvZiBhICMgY2hhcmFjdGdlcg0KK2ZvbGxvd2VkIGJ5IHRoZSBEdWlkIG9mIGFuIGVsZW1lbnQgaW4gdGhlIGN1cnJlbnQgZG9jdW1lbnQuIFRoZSBwb2ludGVyIG11c3QNCityZWZlcmVuY2UgZWl0aGVyIGEgUmVzb3VyY2UgZWxlbWVudCB0aGF0IGRlc2lnbmF0ZXMgYW4gZXh0ZXJuYWwgY29udHJvbGxlZA0KK3ZvY2FidWxhcnksIG9yIGEgVG9waWNTZXQgZWxlbWVudCwgdGhhdCBpcyBpdHNlbGYgdGhlIGNvbnRyb2xsZWQgdm9jYWJ1bGFyeS4NCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKy0tPg0KKzwhRUxFTUVOVCBQcm9wZXJ0eSAgKFByb3BlcnR5KiApPg0KKzwhQVRUTElTVCBQcm9wZXJ0eSAgJWxvY2FsaWQ7DQorICAgICAgICAgICAgICAgICAgICAlZm9ybWFsbmFtZTsNCisgICAgICAgICAgICAgICAgICAgICVhc3NpZ25tZW50Ow0KKyAgICAgICAgICAgICAgICAgICAgVmFsdWUgICAgICAgICBDREFUQSAgI0lNUExJRUQNCisgICAgICAgICAgICAgICAgICAgIFZhbHVlUmVmICAgICAgQ0RBVEEgICNJTVBMSUVEDQorICAgICAgICAgICAgICAgICAgICBBbGxvd2VkVmFsdWVzIENEQVRBICAjSU1QTElFRCA+DQorPCEtLSANCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBQcm92aWRlciA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KK0FuIGluZGl2aWR1YWwgYW5kL29yIGNvbXBhbnkgb3Igb3JnYW5pc2F0aW9uIHRoYXQgcmVsZWFzZWQgYSBuZXdzIG9iamVjdCBmb3INCitwdWJsaWNhdGlvbi4NCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKy0tPg0KKzwhRUxFTUVOVCBQcm92aWRlciAgKCVwYXJ0eTsgKT4NCis8IUFUVExJU1QgUHJvdmlkZXIgICVsb2NhbGlkOyA+DQorPCEtLSANCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IFByb3ZpZGVySWQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KK0FuIGlkZW50aWZpZXIgZm9yIHRoZSBuZXdzIHByb3ZpZGVyIHRoYXQgcHJvZHVjZWQgdGhlIE5ld3NJdGVtLiBUaGUNCitwcm92aWRlcidzIElEIGlzIHNwZWNpZmllZCBpbiB0aGUgZWxlbWVudCBjb250ZW50LiBUaGlzIHNob3VsZCBiZSBhbiBJbnRlcm5ldA0KK2RvbWFpbiBuYW1lIHRoYXQgaXMgb3duZWQgYnkgdGhlIHByb3ZpZGVyIGF0IHRoZSBkYXRlIGlkZW50aWZpZWQgYnkgdGhlIERhdGVJZA0KK3N1YmVsZW1lbnQgb2YgdGhlIE5ld3NJZGVudGlmaWVyLCBvciB0aGUgbmFtZSBmb3IgdGhlIFByb3ZpZGVyIGRyYXduIGZyb20gYQ0KK2NvbnRyb2xsZWQgdm9jYWJ1bGFyeSBpZGVudGlmaWVkIGJ5IGEgVVJOIHNwZWNpZmllZCBpbiB0aGUgVm9jYWJ1bGFyeSBhdHRyaWJ1dGUuDQorVGhpcyB3aWxsIGVuc3VyZSB0aGF0IHRoZSBpZGVudGl0eSBvZiB0aGUgcHJvdmlkZXIgY2FuIGJlIGluZmVycmVkIHVuYW1iaWd1b3VzbHkNCitmcm9tIHRoZSBmdWxsIE5ld3NJZGVudGlmaWVyLg0KKw0KK0V4YW1wbGU6IA0KKzxOZXdzSWRlbnRpZmllcj4NCisgPFByb3ZpZGVySWQ+aXB0Yy5vcmc8L1Byb3ZpZGVySWQ+DQorIDxEYXRlSWQ+MjAwMDEwMDE8L0RhdGVJZD4NCisgPE5ld3NJdGVtSWQ+TmV3c01MIHZlcnNpb24gMS4wPC9OZXdzSXRlbUlkPg0KKyA8UmV2aXNpb25JZD4xPC9SZXZpc2lvbklkDQorPC9OZXdzSWRlbnRpZmllcj4NCisNCitCZWNhdXNlIHRoZSBkb21haW4gbmFtZSAiaXB0Yy5vcmciIHdhcyBvd25lZCBvbiAxIE9jdG9iZXIgMjAwMCBieSB0aGUNCitJbnRlcm5hdGlvbmFsIFByZXNzIFRlbGVjb21tdW5pY2F0aW9ucyBDb3VuY2lsIChJUFRDKSBhbmQgbm8tb25lIGVsc2UsIGl0IGlzDQorY2VydGFpbiB0aGF0IElQVEMgaXMgdGhlIHByb3ZpZGVyIGluIHRoaXMgY2FzZS4NCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKy0tPg0KKzwhRUxFTUVOVCBQcm92aWRlcklkICAoI1BDREFUQSApPg0KKzwhQVRUTElTVCBQcm92aWRlcklkICBWb2NhYnVsYXJ5IENEQVRBICAjSU1QTElFRCA+DQorPCEtLSANCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IFB1YmxpY0lkZW50aWZpZXIgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KK0EgcHVibGljIGlkZW50aWZpZXIgKGluIHRoZSBzZW5zZSBkZWZpbmVkIGJ5IHRoZSBYTUwgMSwwIFNwZWNpZmljYXRpb24pIGZvciBhDQorTmV3c0l0ZW0uIFRoaXMgaXMgdGhlIE5ld3NNTCBVUk4sIGFuZCBtdXN0IGJlIGNvbnN0cnVjdGVkIGFzIGZvbGxvd3M6IA0KKw0KK0lmIHRoZSBQcm92aWRlcklkIGlzIGEgZG9tYWluIG5hbWUNCisNCit1cm46bmV3c21sOntQcm92aWRlcklkfTp7RGF0ZUlkfTp7TmV3c0l0ZW1JZH06e1JldmlzaW9uSWR9e1JldmlzaW9uSWRAVXBkYXRlfQ0KKw0KK0lmIHRoZSBQcm92aWRlcklkIGlzIG5hbWUgZHJhd24gZnJvbSBhIGNvbnRyb2xsZWQgdm9jYWJ1bGFyeQ0KKw0KK3VybjpuZXdzbWw6fHtQcm92aWRlcklkQFZvY2FidWxhcnl9fHtQcm92aWRlcklkfXw6e0RhdGVJZH06e05ld3NJdGVtSWR9OntSZXZpc2lvbklkfXtSZXZpc2lvbklkQFVwZGF0ZX0NCisNCit3aGVyZSB7eH0gbWVhbnMgInRoZSBjb250ZW50IG9mIHRoZSB4IHN1YmVsZW1lbnQgb2YgdGhlIE5ld3NJZGVudGlmaWVyIiBhbmQNCit7eEB5fSBtZWFucyAidGhlIHZhbHVlIG9mIHRoZSB5IGF0dHJpYnV0ZSBvZiB0aGUgeCBzdWJlbGVtZW50IG9mIHRoZQ0KK05ld3NJZGVudGlmaWVyIiwgd2l0aCB0aGUgZXhjZXB0aW9uIHRoYXQgaWYgdGhlIFVwZGF0ZSBhdHRyaWJ1dGUgb2YgdGhlDQorUmV2aXNpb25JZCBlbGVtZW50IGhhcyBpdHMgZGVmYXVsdCB2YWx1ZSBvZiBOLCBpdCBpcyBvbWl0dGVkIGZyb20gdGhlIFVSTiwgYW5kDQordGhhdCB0aGUgVm9jYWJ1bGFyeSBhdHRyaWJ1dGUgb2YgdGhlIFByb3ZpZGVySWQgZWxlbWVudCBpcyBzdHJpcHBlZCBvZiB0aGUNCitzdWJzdHJpbmcgInVybjoiIHdpdGggd2hpY2ggaXQgYmVnaW5zLiBUaGUgVm9jYWJ1bGFyeSBhdHRyaWJ1dGUgb2YgUHJvdmlkZXJJZA0KK25lY2Vzc2FyaWx5IGJlZ2lucyB3aXRoIHRoZSBjaGFyYWN0ZXJzICJ1cm46IiBiZWNhdXNlLCBhcyBzdGF0ZWQgaW4gdGhlDQorY29tbWVudCB0byB0aGUgUHJvdmlkZXJJZCBlbGVtZW50IGFib3ZlLCBpdCBtdXN0IHRha2UgdGhlIGZvcm0gb2YgYSBVUk4NCitpZGVudGlmeWluZyBhIGNvbnRyb2xsZWQgdm9jYWJ1bGFyeS4NCisNCitOb3RlIHRoYXQgdGhlIGV4aXN0ZW5jZSBvZiB0aGlzIFVSTiBlbmFibGVzIHRoZSBOZXdzSXRlbSB0byBiZSByZWZlcmVuY2VkDQordW5hbWJpZ3VvdXNseSBieSBwb2ludGVycyBmcm9tIG90aGVyIFhNTCBlbGVtZW50cyBvciByZXNvdXJjZXMuIFdpdGhpbiBzdWNoDQorcG9pbnRlcnMsIGlmICB0aGUgUmV2aXNpb25JZCwgaXRzIHByZWNlZGluZyA6IGNoYXJhY3RlciBhbmQgaXRzIGZvbGxvd2luZyBVcGRhdGUNCitxdWFsaWZpZXIgYXJlIG9taXR0ZWQsIHRoZW4gdGhlIHBvaW50ZXIgZGVzaWduYXRlcyB0aGUgbW9zdCByZWNlbnQgcmV2aXNpb24gYXQNCit0aGUgdGltZSBpdCBpcyByZXNvbHZlZC4NCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKy0tPg0KKzwhRUxFTUVOVCBQdWJsaWNJZGVudGlmaWVyICAoI1BDREFUQSApPg0KKw0KKzwhLS0gDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBSZWxldmFuY2UgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCitBbiBpbmRpY2F0aW9uIG9mIHRoZSByZWxldmFuY2Ugb2YgYSBOZXdzSXRlbSB0byBhIGdpdmVuIHRhcmdldCBhdWRpZW5jZS4gVGhlDQordmFsdWUgb2YgdGhlIEZvcm1hbE5hbWUgYXR0cmlidXRlIGlzIGEgZm9ybWFsIG5hbWUgZm9yIHRoZSBSZWxldmFuY2UuIEl0cw0KK21lYW5pbmcgYW5kIHBlcm1pdHRlZCB2YWx1ZXMgYXJlIGRldGVybWluZWQgYnkgYSBjb250cm9sbGVkIHZvY2FidWxhcnkgYXMNCitkZXNjcmliZWQgaW4gdGhlIGNvbW1lbnQgdG8gdGhlIGZvcm1hbG5hbWUgRU5USVRZIGRlY2xhcmF0aW9uIGFib3ZlLg0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorLS0+DQorPCFFTEVNRU5UIFJlbGV2YW5jZSBFTVBUWT4NCis8IUFUVExJU1QgUmVsZXZhbmNlICAlbG9jYWxpZDsNCisgICAgICAgICAgICAgICAgICAgICAlZm9ybWFsbmFtZTsNCisgICAgICAgICAgICAgICAgICAgICAlYXNzaWdubWVudDsgPg0KKzwhLS0NCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBSZXBsYWNlID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KK0FuIGluc3RydWN0aW9uIHRvIHJlcGxhY2UgYSBkZXNpZ25hdGVkIGVsZW1lbnQgd2l0aGluIGEgTmV3c0l0ZW0uIFRoZSBlbGVtZW50DQordGhhdCBpcyB0byByZXBsYWNlIHRoZSBkZXNpZ25hdGVkIGVsZW1lbnQgaXMgdGhlIGNvbnRlbnQgb2YgdGhlIFJlcGxhY2UgZWxlbWVudC4NCitUaGUgTmV3c0l0ZW0gd2l0aGluIHdoaWNoIHRoZSByZXBsYWNlbWVudCB0YWtlcyBwbGFjZSBpcyB0aGUgcHJldmlvdXMgcmV2aXNpb24NCitvZiB0aGUgY3VycmVudCBvbmUsIGFuZCB0aGUgZWxlbWVudCB0byBiZSByZXBsYWNlZCBpcyB0aGUgb25lIHdob3NlIER1aWQNCit2YWx1ZSBpcyBlcXVhbCB0byB0aGUgdmFsdWUgb2YgdGhlIFJlcGxhY2UgZWxlbWVudCdzIER1aWRSZWYgYXR0cmlidXRlLg0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorLS0+DQorPCFFTEVNRU5UIFJlcGxhY2UgQU5ZPg0KKzwhQVRUTElTVCBSZXBsYWNlICAlbG9jYWxpZDsNCisgICAgICAgICAgICAgICAgICAgRHVpZFJlZiBDREFUQSAgI1JFUVVJUkVEID4NCis8IS0tIA0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gUmVzb3VyY2UgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorQW4gaW5kaWNhdGlvbiB3aGVyZSBhIGdpdmVuIHJlc291cmNlIGNhbiBiZSBmb3VuZCwgYW5kIHdoZXRoZXIgaXQgaXMgdG8gYmUgdXNlZA0KK2FzIHRoZSBkZWZhdWx0IHZvY2FidWxhcnkgZm9yIGNlcnRhaW4gZm9ybWFsIG5hbWVzIHdpdGhpbiB0aGUgY3VycmVudCBzdWJ0cmVlDQorb2YgYSBOZXdzTUwgZG9jdW1lbnQuIFRoZSBVcm4gYXR0cmlidXRlIHByb3ZpZGVzIGEgTmV3c01MIFVSTiBmb3IgdGhlIHJlc291cmNlLg0KK1RIZSBVcmwgYXR0cmlidXRlKHMpIHByb3ZpZGUocykgYSBsb2NhdGlvbiBvciBsb2NhdGlvbnMgd2hlcmUgdGhlIHJlc291cmNlIG1heQ0KK2JlIGZvdW5kLiBUaGUgRGVmYXVsdFZvY2FidWxhcnlGb3IgZWxlbWVudCBjb250YWlucyBhbiBYUGF0aCBwYXR0ZXJuLiBUaGUNCitpZGVudGlmaWVkIHJlc291cmNlIGFjdHMgYXMgZGVmYXVsdCB2b2NhYnVsYXJ5IGZvciBhbnkgZWxlbWVudCB3aXRoaW4gdGhlDQorc3VidHJlZSB3aG9zZSByb290IGlzIHRoZSBwYXJlbnQgb2YgdGhlIGN1cnJlbnQgQ2F0YWxvZywgdGhhdCBtYXRjaGVzIHRoaXMgWFBhdGgNCitwYXR0ZXJuLg0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorLS0+DQorPCFFTEVNRU5UIFJlc291cmNlICAoVXJuPyAsIFVybCogLCBEZWZhdWx0Vm9jYWJ1bGFyeUZvciogKT4NCis8IUFUVExJU1QgUmVzb3VyY2UgICVsb2NhbGlkOyA+DQorPCEtLSANCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IFJldmlzaW9uSGlzdG9yeSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KK0EgcG9pbnRlciB0byBhIGZpbGUgY29udGFpbmluZyB0aGUgcmV2aXNpb24gaGlzdG9yeSBvZiB0aGUgTmV3c0l0ZW0uDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCistLT4NCis8IUVMRU1FTlQgUmV2aXNpb25IaXN0b3J5IEVNUFRZPg0KKzwhQVRUTElTVCBSZXZpc2lvbkhpc3RvcnkgICVsb2NhbGlkOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgIEhyZWYgICAgQ0RBVEEgICNSRVFVSVJFRCA+DQorPCEtLSANCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IFJldmlzaW9uSWQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KK0EgcG9zaXRpdmUgaW50ZWdlciBpbmRpY2F0aW5nIHdoaWNoIFJldmlzaW9uIG9mIGEgZ2l2ZW4gTmV3c0l0ZW0gdGhpcyBpcy4gQW55DQorcG9zaXRpdmUgaW50ZWdlciBtYXkgYmUgdXNlZCwgYnV0IGl0IG11c3QgYWx3YXlzIGJlIHRoZSBjYXNlIHRoYXQgb2YgdHdvDQoraW5zdGFuY2VzIG9mIGEgTmV3c0l0ZW0gdGhhdCBoYXZlIHRoZSBzYW1lIFByb3ZpZGVySWQsIERhdGVJZCBhbmQgTmV3c0l0ZW1JZCwNCit0aGUgb25lIHdob3NlIFJldmlzaW9uSWQgaGFzIHRoZSBsYXJnZXIgdmFsdWUgbXVzdCBiZSB0aGUgbW9yZSByZWNlbnQgcmV2aXNpb24uDQorQSBSZXZpc2lvbklkIG9mIDAgaXMgbm90IHBlcm1pdHRlZC4gVGhlIFByZXZpb3VzUmV2aXNpb24gYXR0cmlidXRlIG11c3QgYmUNCitwcmVzZW50LCBhbmQgaXRzIHZhbHVlIG11c3QgYmUgZXF1YWwgdG8gdGhlIGNvbnRlbnQgb2YgdGhlIFJldmlzaW9uSWQgZWxlbWVudA0KK29mIHRoZSBOZXdzSXRlbSdzIHByZXZpb3VzIHJldmlzaW9uLCBpZiB0aGVyZSBpcyBvbmUsIGFuZCAwIGlmIHRoZSBOZXdzSXRlbSBoYXMNCitubyBwcmV2aW91cyByZXZpc2lvbi4gSWYgdGhlIE5ld3NJdGVtIGNvbnRhaW5zIGFuIFVwZGF0ZSBlbGVtZW50IG9yIGVsZW1lbnRzLA0KK3RoZW4gdGhlIFVwZGF0ZSBhdHRyaWJ1dGUgbXVzdCBiZSBzZXQgdG8gVS4gSWYgdGhlIE5ld3NJdGVtIGNvbnNpc3RzIG9ubHkgb2YgYQ0KK3JlcGxhY2VtZW50IHNldCBvZiBOZXdzTWFuYWdlbWVudCBkYXRhLCB0aGVuIHRoZSBVcGRhdGUgYXR0cmlidXRlIG11c3QgYmUgc2V0DQordG8gQS4gSWYgbmVpdGhlciBvZiB0aGVzZSBpcyB0aGUgY2FzZSwgdGhlbiB0aGUgVXBkYXRlIGF0dHJpYnV0ZSBtdXN0IGJlIHNldA0KK3RvIE4uDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCistLT4NCis8IUVMRU1FTlQgUmV2aXNpb25JZCAgKCNQQ0RBVEEgKT4NCis8IUFUVExJU1QgUmV2aXNpb25JZCAgUHJldmlvdXNSZXZpc2lvbiBDREFUQSAgI1JFUVVJUkVEDQorICAgICAgICAgICAgICAgICAgICAgIFVwZGF0ZSAgICAgICAgICAgQ0RBVEEgICNSRVFVSVJFRCA+DQorPCEtLSANCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBSZXZpc2lvblN0YXR1cyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KK0luZGljYXRlcyB0aGUgc3RhdHVzIHRoYXQgcHJldmlvdXMgcmV2aXNpb25zIG5vdyBoYXMgYXMgYSByZXN1bHQgb2YgdGhlIHJlbGVhc2UNCitvZiB0aGUgY3VycmVudCByZXZpc2lvbi4gVGhlIG9wdGlvbmFsIFJldmlzaW9uIGF0dHJpYnV0ZSBpcyBhbiBpbnRlZ2VyLCBlcXVhbCB0bw0KK3RoZSBSZXZpc2lvbklkIG9mIHRoZSByZXZpc2lvbiBpbiBxdWVzdGlvbi4gSWYgaXQgaXMgbm90IHByZXNlbnQsIHRoZW4gdGhlDQorc3RhdHVzIGFwcGxpZXMgdG8gQUxMIHByZXZpb3VzIHJldmlzaW9ucywgd2l0aG91dCBleGNlcHRpb24uDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCistLT4NCis8IUVMRU1FTlQgUmV2aXNpb25TdGF0dXMgIChTdGF0dXMgKT4NCis8IUFUVExJU1QgUmV2aXNpb25TdGF0dXMgICVsb2NhbGlkOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgUmV2aXNpb24gQ0RBVEEgICNJTVBMSUVEID4NCis8IS0tIA0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBSaWdodHNIb2xkZXIgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorQSBzdHJpbmcgb2YgdGV4dCBpbmRpY2F0aW5nIHdobyBoYXMgdGhlIHVzYWdlIHJpZ2h0cywgb3B0aW9uYWxseSBlbnJpY2hlZCB3aXRoDQorcG9pbnRlcnMgdG8gZnVydGhlciBpbmZvcm1hdGlvbiBhYm91dCB0aGUgcmVsZXZhbnQgcGVvcGxlLCBjb21wYW5pZXMgb3INCitvcmdhbmlzYXRpb25zLg0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorLS0+DQorPCFFTEVNRU5UIFJpZ2h0c0hvbGRlciAgKCNQQ0RBVEEgfCBPcmlnaW4gKSo+DQorPCFBVFRMSVNUIFJpZ2h0c0hvbGRlciAgJWxvY2FsaWQ7DQorICAgICAgICAgICAgICAgICAgICAgICAgeG1sOmxhbmcgICBDREFUQSAgI0lNUExJRUQNCisgICAgICAgICAgICAgICAgICAgICAgICAlYXNzaWdubWVudDsgPg0KKzwhLS0gDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBSaWdodHNMaW5lID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCitBIGRpc3BsYXlhYmxlIHZlcnNpb24gb2YgcmlnaHRzIGluZm9ybWF0aW9uLiBOb3RlIHRoYXQgdGhpcyBpcyBkaXN0aW5jdCBmcm9tDQorY29weXJpZ2h0IGluZm9ybWF0aW9uLiBDb3B5cmlnaHQgaW5mb3JtYXRpb24gaXMgYWJvdXQgd2hvIG93bnMgYSBuZXdzIG9iamVjdDsNCityaWdodHMgaW5mb3JtYXRpb24gaXMgYWJvdXQgd2hvIGlzIGFsbG93ZWQgdG8gdXNlIGl0LCBpbiB3aGF0IHdheSBhbmQgdW5kZXINCit3aGF0IGNpcmN1bXN0YW5jZXMuDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCistLT4NCis8IUVMRU1FTlQgUmlnaHRzTGluZSAgKCNQQ0RBVEEgfCBPcmlnaW4gKSo+DQorPCFBVFRMSVNUIFJpZ2h0c0xpbmUgICVsb2NhbGlkOw0KKyAgICAgICAgICAgICAgICAgICAgICB4bWw6bGFuZyBDREFUQSAgI0lNUExJRUQgPg0KKzwhLS0gDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gUmlnaHRzTWV0YWRhdGEgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCitJbmZvcm1hdGlvbiBhYm91dCB0aGUgcmlnaHRzIHBlcnRhaW5pbmcgdG8gYSBOZXdzQ29tcG9uZW50LiANCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKy0tPg0KKzwhRUxFTUVOVCBSaWdodHNNZXRhZGF0YSAgKENhdGFsb2c/ICwgQ29weXJpZ2h0KiAsIFVzYWdlUmlnaHRzKiAsIFByb3BlcnR5KiApPg0KKzwhQVRUTElTVCBSaWdodHNNZXRhZGF0YSAgJWxvY2FsaWQ7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAlYXNzaWdubWVudDsgPg0KKzwhLS0gDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBSb2xlID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCitBbiBpZGVudGlmaWVyIG9mIHRoZSByb2xlIHBsYXllZCBieSBhIE5ld3NDb21wb25lbnQgd2l0aGluIGEgTmV3c0NvbXBvbmVudA0KK3RoYXQgY29udGFpbnMgaXQuIFRoZSBvdXRlcm1vc3QgTmV3c0NvbXBvbmVudCB3aXRoaW4gYSBOZXdzSXRlbSBuZWVkIG5vdA0KK3NwZWNpZnkgYSBSb2xlIGF0dHJpYnV0ZSB2YWx1ZS4gVGhlIHZhbHVlIG9mIHRoZSBGb3JtYWxOYW1lIGF0dHJpYnV0ZSBpcyBhDQorZm9ybWFsIG5hbWUgZm9yIHRoZSBSb2xlLiBJdHMgbWVhbmluZyBhbmQgcGVybWl0dGVkIHZhbHVlcyBhcmUgZGV0ZXJtaW5lZCBieQ0KK2EgY29udHJvbGxlZCB2b2NhYnVsYXJ5IGFzIGRlc2NyaWJlZCBpbiB0aGUgY29tbWVudCB0byB0aGUgZm9ybWFsbmFtZSBFTlRJVFkNCitkZWNsYXJhdGlvbiBhYm92ZS4NCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKy0tPg0KKzwhRUxFTUVOVCBSb2xlIEVNUFRZPg0KKzwhQVRUTElTVCBSb2xlICAlbG9jYWxpZDsNCisgICAgICAgICAgICAgICAgJWZvcm1hbG5hbWU7ID4NCis8IS0tIA0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IFNlbnRGcm9tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorQW4gaW5kaXZpZHVhbCBhbmQvb3IgY29tcGFueSBvciBvcmdhbmlzYXRpb24gZnJvbSB3aG9tIHRoZSBOZXdzTUwgZG9jdW1lbnQgaXMNCitiZWluZyBzZW50Lg0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorLS0+DQorPCFFTEVNRU5UIFNlbnRGcm9tICAoJXBhcnR5OyApPg0KKzwhQVRUTElTVCBTZW50RnJvbSAgJWxvY2FsaWQ7ID4NCis8IS0tIA0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBTZW50VG8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorQW4gaW5kaXZpZHVhbCBhbmQvb3IgY29tcGFueSBvciBvcmdhbmlzYXRpb24gdG8gd2hvbSB0aGUgTmV3c01MIGRvY3VtZW50IGlzDQorYmVpbmcgc2VudC4NCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKy0tPg0KKzwhRUxFTUVOVCBTZW50VG8gICglcGFydHk7ICk+DQorPCFBVFRMSVNUIFNlbnRUbyAgJWxvY2FsaWQ7ID4NCis8IS0tIA0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gU2VyaWVzTGluZSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorQSBkaXNwbGF5YWJsZSB2ZXJzaW9uIG9mIGluZm9ybWF0aW9uIGFib3V0IGEgbmV3cyBvYmplY3QncyBwbGFjZSBpbiBhIHNlcmllcy4NCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKy0tPg0KKzwhRUxFTUVOVCBTZXJpZXNMaW5lICAoI1BDREFUQSB8IE9yaWdpbiApKj4NCis8IUFUVExJU1QgU2VyaWVzTGluZSAgJWxvY2FsaWQ7DQorICAgICAgICAgICAgICAgICAgICAgIHhtbDpsYW5nIENEQVRBICAjSU1QTElFRCA+DQorPCEtLSANCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IFNpemVJbkJ5dGVzID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KK1RoZSBleGFjdCBzaXplIGluIGJ5dGVzIG9mIGEgQ29udGVudEl0ZW0ncyBpbmxpbmUgb3IgcmVmZXJlbmNlZCBkYXRhIG9iamVjdC4gDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCistLT4NCis8IUVMRU1FTlQgU2l6ZUluQnl0ZXMgICgjUENEQVRBICk+DQorPCFBVFRMSVNUIFNpemVJbkJ5dGVzICAlbG9jYWxpZDsgPg0KKzwhLS0gDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gU2x1Z0xpbmUgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCitBIHN0cmluZyBvZiB0ZXh0LCBwb3NzaWJseSBlbWJlbGxpc2hlZCBieSBoeXBlcmxpbmtzIGFuZC9vciBmb3JtYXR0aW5nLCB1c2VkIHRvDQorZGlzcGxheSBhIE5ld3NJdGVtJ3Mgc2x1ZyBsaW5lLiAoTm90ZSB0aGF0IHRoZSBtZWFuaW5nIG9mIHRoZSB0ZXJtICJzbHVnIGxpbmUiLA0KK2FuZCB0aGUgdXNlcyB0byB3aGljaCBpdCBpcyBwdXQsIGFyZSBhIG1hdHRlciBmb3IgaW5kaXZpZHVhbCBwcm92aWRlcnMgdG8NCitkZWZpbmUgd2l0aGluIHRoZWlyIG93biB3b3JrZmxvdyBhbmQgYnVzaW5lc3MgcHJhY3RpY2UuKSANCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKy0tPg0KKzwhRUxFTUVOVCBTbHVnTGluZSAgKCNQQ0RBVEEgfCBPcmlnaW4gKSo+DQorPCFBVFRMSVNUIFNsdWdMaW5lICAlbG9jYWxpZDsNCisgICAgICAgICAgICAgICAgICAgIHhtbDpsYW5nIENEQVRBICAjSU1QTElFRCA+DQorPCEtLSANCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gU291cmNlID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KK0FuIGluZGl2aWR1YWwgYW5kL29yIGNvbXBhbnkgb3Igb3JnYW5pc2F0aW9uIHRoYXQgcHJvdmlkZWQgc291cmNlIG1hdGVyaWFsIGZvcg0KK2EgbmV3cyBvYmplY3QuIFRoZSBvcHRpb25hbCBOZXdzSXRlbSBhdHRyaWJ1dGUgbXVzdCBiZSBwcmVzZW50IGluIHRoZSBjYXNlIG9mDQorYSBzeW5kaWNhdGVkIE5ld3NJdGVtLiBJdCBwcm92aWRlcyB0aGUgVVJOIG9mIHRoZSBOZXdzSXRlbSB0aGF0IGlzIGJlaW5nDQorc3luZGljYXRlZC4gTm90ZSB0aGF0IGEgc2VxdWVuY2Ugb2YgU291cmNlIGVsZW1lbnRzIGNhbiBiZSB1c2VkIHRvIGluZGljYXRlIHRoZQ0KK3NlcXVlbmNlIG9mIHN5bmRpY2F0b3JzIHRocm91Z2ggd2hpY2ggYSBOZXdzSXRlbSBoYXMgcGFzc2VkLg0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorLS0+DQorPCFFTEVNRU5UIFNvdXJjZSAgKCVwYXJ0eTsgKT4NCis8IUFUVExJU1QgU291cmNlICAlbG9jYWxpZDsNCisgICAgICAgICAgICAgICAgICBOZXdzSXRlbSBDREFUQSAgI0lNUExJRUQgPg0KKzwhLS0gDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBTdGFydERhdGUgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCitBIG5hdHVyYWwtbGFuZ3VhZ2Ugc3RhdGVtZW50IG9mIHRoZSBkYXRlIGF0IHdoaWNoIHNwZWNpZmllZCB1c2FnZSByaWdodHMgY29tZQ0KK2ludG8gZWZmZWN0Lg0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorLS0+DQorPCFFTEVNRU5UIFN0YXJ0RGF0ZSAgKCNQQ0RBVEEgfCBPcmlnaW4gKSo+DQorPCFBVFRMSVNUIFN0YXJ0RGF0ZSAgJWxvY2FsaWQ7DQorICAgICAgICAgICAgICAgICAgICAgeG1sOmxhbmcgICBDREFUQSAgI0lNUExJRUQNCisgICAgICAgICAgICAgICAgICAgICAlYXNzaWdubWVudDsgPg0KKzwhLS0gDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IFN0YXR1cyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KK0FuIGluZGljYXRpb24gb2YgdGhlIFN0YXR1cyBvZiBhIE5ld3NJdGVtLiBUaGUgdmFsdWUgb2YgdGhlIEZvcm1hbE5hbWUNCithdHRyaWJ1dGUgaXMgYSBmb3JtYWwgbmFtZSBmb3IgdGhlIFN0YXR1cy4gSXRzIG1lYW5pbmcgYW5kIHBlcm1pdHRlZCB2YWx1ZXMNCithcmUgZGV0ZXJtaW5lZCBieSBhIGNvbnRyb2xsZWQgdm9jYWJ1bGFyeSBhcyBkZXNjcmliZWQgaW4gdGhlIGNvbW1lbnQgdG8gdGhlDQorZm9ybWFsbmFtZSBFTlRJVFkgZGVjbGFyYXRpb24gYWJvdmUuDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCistLT4NCis8IUVMRU1FTlQgU3RhdHVzIEVNUFRZPg0KKzwhQVRUTElTVCBTdGF0dXMgICVsb2NhbGlkOw0KKyAgICAgICAgICAgICAgICAgICVmb3JtYWxuYW1lOyA+DQorPCEtLSANCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IFN0YXR1c1dpbGxDaGFuZ2UgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KK0FkdmFuY2Ugbm90aWZpY2F0aW9uIG9mIGEgc3RhdHVzIGNoYW5nZSB0aGF0IHdpbGwgYXV0b21hdGljYWxseSBvY2N1ciBhdCB0aGUNCitzcGVjaWZpZWQgZGF0ZSBhbmQgdGltZS4gRm9yIGV4YW1wbGUsIGFuIGl0ZW0gd2l0aCBhIFN0YXR1cyBvZiAiZW1iYXJnb2VkIiBtaWdodA0KK2hhdmUgYSBTdGF0dXNXaWxsQ2hhbmdlIGVsZW1lbnQgc3RhdGluZyB0aGF0IHRoZSBzdGF0dXMgd2lsbCBiZWNvbWUgInVzYWJsZSIgYXQNCithIHNwZWNpZmllZCB0aW1lLiBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYW5ub3VuY2luZyBpbiBhZHZhbmNlIHRoZSB0aW1lIGF0IHdoaWNoDQordGhlIGVtYmFyZ28gd2lsbCBlbmQgYW5kIHRoZSBpdGVtIHdpbGwgYmUgcmVsZWFzZWQuDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCistLT4NCis8IUVMRU1FTlQgU3RhdHVzV2lsbENoYW5nZSAgKEZ1dHVyZVN0YXR1cyAsIERhdGVBbmRUaW1lICk+DQorPCFBVFRMSVNUIFN0YXR1c1dpbGxDaGFuZ2UgICVsb2NhbGlkOyA+DQorPCEtLSANCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gU3ViSGVhZExpbmUgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KK0EgZGlzcGxheWFibGUgc3Vic2lkaWFyeSBoZWFkbGluZS4NCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKy0tPg0KKzwhRUxFTUVOVCBTdWJIZWFkTGluZSAgKCNQQ0RBVEEgfCBPcmlnaW4gKSo+DQorPCFBVFRMSVNUIFN1YkhlYWRMaW5lICAlbG9jYWxpZDsNCisgICAgICAgICAgICAgICAgICAgICAgIHhtbDpsYW5nIENEQVRBICAjSU1QTElFRCA+DQorPCEtLSANCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBTdWJqZWN0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KK0FuIGluZGljYXRpb24gb2YgdGhlIFN1YmplY3Qgb2YgYSBOZXdzSXRlbS4gVGhlIHZhbHVlIG9mIHRoZSBGb3JtYWxOYW1lDQorYXR0cmlidXRlIGlzIGEgZm9ybWFsIG5hbWUgZm9yIHRoZSBTdWJqZWN0LiBJdHMgbWVhbmluZyBhbmQgcGVybWl0dGVkIHZhbHVlcw0KK2FyZSBkZXRlcm1pbmVkIGJ5IGEgY29udHJvbGxlZCB2b2NhYnVsYXJ5IGFzIGRlc2NyaWJlZCBpbiB0aGUgY29tbWVudCB0byB0aGUNCitmb3JtYWxuYW1lIEVOVElUWSBkZWNsYXJhdGlvbiBhYm92ZS4NCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKy0tPg0KKzwhRUxFTUVOVCBTdWJqZWN0IEVNUFRZPg0KKzwhQVRUTElTVCBTdWJqZWN0ICAlbG9jYWxpZDsNCisgICAgICAgICAgICAgICAgICAgJWZvcm1hbG5hbWU7DQorICAgICAgICAgICAgICAgICAgICVhc3NpZ25tZW50OyA+DQorPCEtLSANCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gU3ViamVjdENvZGUgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KK0EgY29udGFpbmVyIGZvciB0aGUgSVBUQyBTdWJqZWN0IENvZGVzIHRoYXQgaW5kaWNhdGUgdGhlIHN1YmplY3Qgb2YgYSBOZXdzSXRlbSwNCithcyBkZWZpbmVkIGluIHRoZSBJUFRDIEluZm9ybWF0aW9uIEludGVyY2hhbmdlIE1vZGVsLiBJdCBjb25zaXN0cyBvZiBvbmUgbW9yZQ0KK1N1YmplY3QsIFN1YmplY3RNYXR0ZXIgYW5kIFN1YmplY3REZXRhaWwgZWxlbWVudHMsIG9wdGlvbmFsbHkgYW1wbGlmaWVkIGJ5IG9uZQ0KK29yIG1vcmUgU3ViamVjdFF1YWxpZmllciBlbGVtZW50cy4NCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKy0tPg0KKzwhRUxFTUVOVCBTdWJqZWN0Q29kZSAgKCAoU3ViamVjdCB8IFN1YmplY3RNYXR0ZXIgfCBTdWJqZWN0RGV0YWlsICkgLCBTdWJqZWN0UXVhbGlmaWVyKiApKj4NCis8IUFUVExJU1QgU3ViamVjdENvZGUgICVsb2NhbGlkOw0KKyAgICAgICAgICAgICAgICAgICAgICAgJWFzc2lnbm1lbnQ7ID4NCis8IS0tIA0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IFN1YmplY3REZXRhaWwgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorQW4gaW5kaWNhdGlvbiBvZiB0aGUgU3ViamVjdERldGFpbCBvZiBhIE5ld3NJdGVtLiBUaGUgdmFsdWUgb2YgdGhlIEZvcm1hbE5hbWUNCithdHRyaWJ1dGUgaXMgYSBmb3JtYWwgbmFtZSBmb3IgdGhlIFN1YmplY3REZXRhaWwuIEl0cyBtZWFuaW5nIGFuZCBwZXJtaXR0ZWQNCit2YWx1ZXMgYXJlIGRldGVybWluZWQgYnkgYSBjb250cm9sbGVkIHZvY2FidWxhcnkgYXMgZGVzY3JpYmVkIGluIHRoZSBjb21tZW50DQordG8gdGhlIGZvcm1hbG5hbWUgRU5USVRZIGRlY2xhcmF0aW9uIGFib3ZlLg0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorLS0+DQorPCFFTEVNRU5UIFN1YmplY3REZXRhaWwgRU1QVFk+DQorPCFBVFRMSVNUIFN1YmplY3REZXRhaWwgICVsb2NhbGlkOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAlZm9ybWFsbmFtZTsNCisgICAgICAgICAgICAgICAgICAgICAgICAgJWFzc2lnbm1lbnQ7ID4NCis8IS0tIA0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IFN1YmplY3RNYXR0ZXIgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorQW4gaW5kaWNhdGlvbiBvZiB0aGUgU3ViamVjdE1hdHRlciBvZiBhIE5ld3NJdGVtLiBUaGUgdmFsdWUgb2YgdGhlIEZvcm1hbE5hbWUNCithdHRyaWJ1dGUgaXMgYSBmb3JtYWwgbmFtZSBmb3IgdGhlIFN1YmplY3RNYXR0ZXIuIEl0cyBtZWFuaW5nIGFuZCBwZXJtaXR0ZWQNCit2YWx1ZXMgYXJlIGRldGVybWluZWQgYnkgYSBjb250cm9sbGVkIHZvY2FidWxhcnkgYXMgZGVzY3JpYmVkIGluIHRoZSBjb21tZW50IHRvDQordGhlIGZvcm1hbG5hbWUgRU5USVRZIGRlY2xhcmF0aW9uIGFib3ZlLg0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorLS0+DQorPCFFTEVNRU5UIFN1YmplY3RNYXR0ZXIgRU1QVFk+DQorPCFBVFRMSVNUIFN1YmplY3RNYXR0ZXIgICVsb2NhbGlkOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAlZm9ybWFsbmFtZTsNCisgICAgICAgICAgICAgICAgICAgICAgICAgJWFzc2lnbm1lbnQ7ID4NCis8IS0tIA0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gU3ViamVjdFF1YWxpZmllciA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorQW4gaW5kaWNhdGlvbiBvZiB0aGUgU3ViamVjdFF1YWxpZmllciBvZiBhIE5ld3NJdGVtLiBUaGUgdmFsdWUgb2YgdGhlIEZvcm1hbE5hbWUNCithdHRyaWJ1dGUgaXMgYSBmb3JtYWwgbmFtZSBmb3IgdGhlIFN1YmplY3RRdWFsaWZpZXIuIEl0cyBtZWFuaW5nIGFuZCBwZXJtaXR0ZWQNCit2YWx1ZXMgYXJlIGRldGVybWluZWQgYnkgYSBjb250cm9sbGVkIHZvY2FidWxhcnkgYXMgZGVzY3JpYmVkIGluIHRoZSBjb21tZW50IHRvDQordGhlIGZvcm1hbG5hbWUgRU5USVRZIGRlY2xhcmF0aW9uIGFib3ZlLg0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorLS0+DQorPCFFTEVNRU5UIFN1YmplY3RRdWFsaWZpZXIgRU1QVFk+DQorPCFBVFRMSVNUIFN1YmplY3RRdWFsaWZpZXIgICVsb2NhbGlkOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAlZm9ybWFsbmFtZTsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJWFzc2lnbm1lbnQ7ID4NCis8IS0tIA0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gU3lzdGVtSWRlbnRpZmllciA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorQSBzeXN0ZW0gaWRlbnRpZmllciAoaW4gdGhlIHNlbnNlIGRlZmluZWQgYnkgdGhlIFhNTCAxLDAgU3BlY2lmaWNhdGlvbikgZm9yIGENCitOZXdzSXRlbS4NCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKy0tPg0KKzwhRUxFTUVOVCBTeXN0ZW1JZGVudGlmaWVyICAoI1BDREFUQSApPg0KKzwhQVRUTElTVCBTeXN0ZW1JZGVudGlmaWVyICAlbG9jYWxpZDsgPg0KKzwhLS0gDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gVGhpc1JldmlzaW9uQ3JlYXRlZCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCitUaGUgZGF0ZSBhbmQsIG9wdGlvbmFsbHksIHRpbWUgYXQgd2hpY2ggdGhlIGN1cnJlbnQgcmV2aXNpb24gb2YgYSBOZXdzSXRlbSB3YXMNCitjcmVhdGVkLCBleHByZXNzZWQgaW4gSVNPIDg2MDEgQmFzaWMgRm9ybWF0LCBhcyBkZXNjcmliZWQgaW4gdGhlIGNvbW1lbnQgdG8gdGhlDQorRGF0ZUFuZFRpbWUgYXR0cmlidXRlIHdpdGhpbiB0aGUgYXNzaWdubWVudCBFTlRJVFkgZGVjbGFyYXRpb24gYWJvdmUuDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCistLT4NCis8IUVMRU1FTlQgVGhpc1JldmlzaW9uQ3JlYXRlZCAgKCNQQ0RBVEEgKT4NCis8IUFUVExJU1QgVGhpc1JldmlzaW9uQ3JlYXRlZCAgJWxvY2FsaWQ7ID4NCis8IS0tDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IFRvcGljID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCitUaGlzIGVsZW1lbnQgcHJvdmlkZXMgaW5mb3JtYXRpb24gYWJvdXQgYSB0aGluZyAoVG9waWMpIG5hbWVkIGJ5IGEgZm9ybWFsDQorbmFtZSBvciBvY2N1cnJpbmcgaW4gYSBOZXdzQ29tcG9uZW50LiBBIFRvcGljIG11c3QgaGF2ZSBvbmUgb3IgbW9yZSBUb3BpY1R5cGUNCitzdWJlbGVtZW50cywgd2hpY2ggc3RhdGUgd2hhdCB0eXBlIG9mIFRvcGljIGl0IGlzLiBUaGUgb3B0aW9uYWwgRGV0YWlscw0KK2F0dHJpYnV0ZSBwcm92aWRlcyBhIHBvaW50ZXIsIGluIHRoZSBmb3JtIG9mIGEgVVJMIG9yIFVSTiwgdG8gYWRkaXRpb25hbA0KK2luZm9ybWF0aW9uIGFib3V0IHRoZSBUb3BpYy4NCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKy0tPg0KKzwhRUxFTUVOVCBUb3BpYyAgKENvbW1lbnQqICwgQ2F0YWxvZz8gLCBUb3BpY1R5cGUrICwgRm9ybWFsTmFtZSogLCBEZXNjcmlwdGlvbiogLCBQcm9wZXJ0eSogKT4NCis8IUFUVExJU1QgVG9waWMgICVsb2NhbGlkOw0KKyAgICAgICAgICAgICAgICAgRGV0YWlscyBDREFUQSAgI0lNUExJRUQgPg0KKzwhLS0gDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBUb3BpY09jY3VycmVuY2UgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCitBbiBpbmRpY2F0aW9uIHRoYXQgYSBwYXJ0aWN1bGFyIHRvcGljIG9jY3VycyB3aXRoaW4gdGhlIGNvbnRlbnQgb2YgYQ0KK05ld3NDb21wb25lbnQuIFRoZSBvcHRpb25hbCBIb3dQcmVzZW50IGF0dHJpYnV0ZSBpbmRpY2F0ZXMgdGhlIG5hdHVyZSBvZiB0aGF0DQordG9waWMncyBvY2N1cnJlbmNlLiBUaGUgdmFsdWUgb2YgdGhlIFRvcGljIGF0dHJpYnV0ZSBtdXN0IGNvbnNpc3Qgb2YgYSAjDQorY2hhcmFjdGVyIGZvbGxvd2VkIGJ5IHRoZSB2YWx1ZSBvZiB0aGUgRHVpZCBhdHRyaWJ1dGUgb2YgYSBUb3BpYyBpbiB0aGUgY3VycmVudA0KK2RvY3VtZW50Lg0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorLS0+DQorPCFFTEVNRU5UIFRvcGljT2NjdXJyZW5jZSBFTVBUWT4NCis8IUFUVExJU1QgVG9waWNPY2N1cnJlbmNlICAlbG9jYWxpZDsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAlYXNzaWdubWVudDsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICBUb3BpYyAgICAgIENEQVRBICAjSU1QTElFRCA+DQorPCEtLSANCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IFRvcGljU2V0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KK0EgY29udGFpbmVyIGZvciBUb3BpY3MuIFRoZSB2YWx1ZSBvZiB0aGUgRm9ybWFsTmFtZSBhdHRyaWJ1dGUgaXMgYSBmb3JtYWwgbmFtZQ0KK2ZvciB0aGUgVG9waWNTZXQuIEl0cyBtZWFuaW5nIGFuZCBwZXJtaXR0ZWQgdmFsdWVzIGFyZSBkZXRlcm1pbmVkIGJ5IGENCitjb250cm9sbGVkIHZvY2FidWxhcnkgYXMgZGVzY3JpYmVkIGluIHRoZSBjb21tZW50IHRvIHRoZSBmb3JtYWxuYW1lIEVOVElUWQ0KK2RlY2xhcmF0aW9uIGFib3ZlLg0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorLS0+DQorPCFFTEVNRU5UIFRvcGljU2V0ICAoQ29tbWVudCogLCBDYXRhbG9nPyAsIFRvcGljU2V0UmVmKiAsIFRvcGljKiApPg0KKzwhQVRUTElTVCBUb3BpY1NldCAgJWxvY2FsaWQ7DQorICAgICAgICAgICAgICAgICAgICAlZm9ybWFsbmFtZTsgPg0KKzwhLS0gDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IFRvcGljU2V0UmVmID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCitBIHBvaW50ZXIgdG8gYSBUb3BpY1NldCB0aGF0IGlzIHRvIGJlIG1lcmdlZCB3aXRoIHRoZSBjdXJyZW50IG9uZS4gVGhlIFRvcGljU2V0DQorYXR0cmlidXRlIGlzIGEgcG9pbnRlciB0byB0aGUgcmVsZXZhbnQgVG9waWNTZXQuIEl0cyB2YWx1ZSBjYW4gYmUgYW4gaHR0cCBVUkwsDQorb3IgYSBOZXdzTUwgVVJOIGFzIGRlc2NyaWJlZCBpbiB0aGUgY29tbWVudCB0byBQdWJsaWNJZGVudGlmaWVyLCBvciBhIGZyYWdtZW50DQoraWRlbnRpZmllciBjb25zaXN0aW5nIG9mIGEgIyBjaGFyYWN0ZXIgZm9sbG93ZWQgYnkgdGhlIER1aWQgb2YgYSBUb3BpY1NldCBpbiB0aGUNCitjdXJyZW50IGRvY3VtZW50LiBUaGUgcHJlc2VuY2Ugb2YgYSBUb3BpY1NldFJlZiBjaGlsZCBpbiBhIFRvcGljU2V0IGhhcyB0aGUNCitlZmZlY3QgdGhhdCBhbGwgdGhlIFRvcGljcyBpbiB0aGUgcmVmZXJlbmNlZCBUb3BpY1NldCBhcmUgaW5jbHVkZWQgYnkgcmVmZXJlbmNlDQord2l0aGluIHRoZSBjdXJyZW50IFRvcGljU2V0LiBXaGVuIHRoaXMgbWVyZ2luZyByZXN1bHRzIGluIHRoZXJlIGV4aXNpbmcgdHdvDQorRm9ybWFsTmFtZSBncmFuZGNoaWxkcmVuIG9mIHRoZSBzYW1lIFRvcGljU2V0IHRoYXQgaGF2ZSB0aGUgc2FtZSBjb250ZW50IGFuZA0KK3RoZSBzYW1lIFNjaGVtZSBhdHRyaWJ1dGUgdmFsdWUsIHRoZW4gdGhlIFRvcGljcyB3aG9zZSBjaGlsZHJlbiBhcmUgaW4gZmFjdCB0aGUNCitzYW1lIHRvcGljLCBhbmQgYXJlIGRlZW1lZCB0byBiZSBtZXJnZWQuIFRoZSBtZXJnaW5nIG9mIFRvcGljcyBuZWVkIG5vdCBiZQ0KK3BlcmZvcm1lZCBwaHlzaWNhbGx5IGJ5IHRoZSBzeXN0ZW0sIGJ1dCB0aGUgbWVhbmluZyBvZiB0aGUgZGF0YSBpcw0KK2V4YWN0bHkgdGhlIHNhbWUgYXMgaWYgdGhlIG1lcmdpbmcgd2VyZSBhY3R1YWxseSBwZXJmb3JtZWQuIE1lcmdpbmcgdHdvDQorVG9wY2lzIGNvbnNpc3RzIG9mIGNyZWF0aW5nIGEgc2luZ2xlIFRvcGljIHRoYXQgY29udGFpbnMgYWxsIHRoZSBjaGlsZHJlbiBvZg0KK2JvdGgsIGFuZCBlbGltaW5hdGluZyBkdXBsaWNhdGVzLg0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorLS0+DQorPCFFTEVNRU5UIFRvcGljU2V0UmVmICAoQ29tbWVudCogKT4NCis8IUFUVExJU1QgVG9waWNTZXRSZWYgICVsb2NhbGlkOw0KKyAgICAgICAgICAgICAgICAgICAgICAgVG9waWNTZXQgQ0RBVEEgICNJTVBMSUVEID4NCis8IS0tIA0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gVG9waWNUeXBlID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorQW4gaW5kaWNhdGlvbiBvZiB0aGUgdHlwZSBvZiBhIFRvcGljLiBUaGUgdmFsdWUgb2YgdGhlIEZvcm1hbE5hbWUgYXR0cmlidXRlIGlzDQorYSBmb3JtYWwgbmFtZSBmb3IgdGhlIFRvcGljVHlwZS4gSXRzIG1lYW5pbmcgYW5kIHBlcm1pdHRlZCB2YWx1ZXMgYXJlIGRldGVybWluZWQNCitieSBhIGNvbnRyb2xsZWQgdm9jYWJ1bGFyeSBhcyBkZXNjcmliZWQgaW4gdGhlIGNvbW1lbnQgdG8gdGhlIGZvcm1hbG5hbWUgRU5USVRZDQorZGVjbGFyYXRpb24gYWJvdmUuDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCistLT4NCis8IUVMRU1FTlQgVG9waWNUeXBlIEVNUFRZPg0KKzwhQVRUTElTVCBUb3BpY1R5cGUgICVsb2NhbGlkOw0KKyAgICAgICAgICAgICAgICAgICAgICVmb3JtYWxuYW1lOyA+DQorPCEtLSANCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IFRvcGljVXNlID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KK0FuIGluZGljYXRpb24gb2Ygd2hlcmUgYSBwYXJ0aWN1bGFyIFRvcGljIGlzIHVzZWQgaW4gYSBOZXdzTUwgZG9jdW1lbnQuIFRoZQ0KK3ZhbHVlIG9mIHRoZSBUb3BpYyBhdHRyaWJ1dGUgbXVzdCBjb25zaXN0IG9mIGEgIyBjaGFyYWN0ZXIgZm9sbG93ZWQgYnkgdGhlDQordmFsdWUgb2YgdGhlIER1aWQgb2YgYSBUb3BpYyBpbiB0aGUgY3VycmVudCBkb2N1bWVudC4gVGhlIHZhbHVlIG9mIHRoZSBDb250ZXh0DQorYXR0cmlidXRlIGlzIGFuIFhQYXRoIHBhdHRlcm4gaW5kaWNhdGluZyB0aGUgY29udGV4dCB3aGVyZSB0aGUgcmVmZXJlbmNlZCB0b3BpYw0KK2lzIHVzZWQgd2l0aGluIHRoZSBzdWJ0cmVlIHRvIHdoaWNoIHRoZSBjdXJyZW50IENhdGFsb2cgYXBwbGllcy4gSWYgdGhlIENvbnRleHQNCithdHRyaWJ1dGUgaXMgbm90IHByZXNlbnQsIHRoZSBUb3BpY1VzZSBlbGVtZW50IHNpbXBseSBzdGF0ZXMgdGhhdCB0aGlzIHRvcGljIGlzDQorcHJlc2VudCBzb21ld2hlcmUgaW4gdGhlIHN1YnRyZWUuDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCistLT4NCis8IUVMRU1FTlQgVG9waWNVc2UgRU1QVFk+DQorPCFBVFRMSVNUIFRvcGljVXNlICBUb3BpYyAgIENEQVRBICAjUkVRVUlSRUQNCisgICAgICAgICAgICAgICAgICAgIENvbnRleHQgQ0RBVEEgICNJTVBMSUVEID4NCis8IS0tIA0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IFRyYW5zbWlzc2lvbklkID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorQW4gaWRlbnRpZmllciBmb3IgdGhlIE5ld3NNTCBkb2N1bWVudCB0cmFuc21pc3Npb24uIFRoaXMgc2hvdWxkIGJlIHVuaXF1ZSBhbW9uZw0KK2FsbCBkaXN0aW5jdCB0cmFuc21pc3Npb25zIGZyb20gdGhlIHNhbWUgcHVibGlzaGVyLiBJZiBhIHRyYW5zbWlzc2lvbiBpcw0KK3JlcGVhdGVkIChwZXJoYXBzIGJlY2F1c2UgdGhlIHNlbmRlciBpcyBub3QgY29uZmlkZW50IHRoYXQgaXQgd2FzIHN1Y2Nlc3NmdWxseQ0KK3JlY2VpdmVkKSB0aGVuIHRoZSBzYW1lIFRyYW5zbWlzc2lvbklkIGNvbnRlbnQgbWF5IGJlIHVzZWQsIGJ1dCBhIFJlcGVhdA0KK2F0dHJpYnV0ZSBzaG91bGQgYmUgcHJvdmlkZWQgdG8gZGlzdGluZ3Vpc2ggdGhlIHNlY29uZCB0cmFuc21pc3Npb24gZnJvbSB0aGUNCitmaXJzdC4gVGhlIGZvcm0gdGhhdCB0aGUgdmFsdWUgb2YgdGhlIFJlcGVhdCBhdHRyaWJ1dGUgdGFrZXMgaXMgZGV0ZXJtaW5lZCBieQ0KK3RoZSBwcm92aWRlci4gTGlrZXdpc2UsIHRoZSBmb3JtYXQgZm9yIHRoZSBUcmFuc21pc3Npb25JZCBpdHNlbGYgaXMgZm9yIHRoZQ0KK3Byb3ZpZGVyIHRvIGRlY2lkZS4gSXQgY291bGQgZm9yIGV4YW1wbGUgY29uc2lzdCBvZiBhIGNoYW5uZWwgaWRlbnRpZmllcg0KK2ZvbGxvd2VkIGJ5IGEgc2VxdWVuY2UgbnVtYmVyLg0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorLS0+DQorPCFFTEVNRU5UIFRyYW5zbWlzc2lvbklkICAoI1BDREFUQSApPg0KKzwhQVRUTElTVCBUcmFuc21pc3Npb25JZCAgJWxvY2FsaWQ7DQorICAgICAgICAgICAgICAgICAgICAgICAgICBSZXBlYXQgIENEQVRBICAjSU1QTElFRCA+DQorPCEtLSANCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gVXBkYXRlID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KK0EgbW9kaWZpY2F0aW9uIHRvIGFuIGV4aXN0aW5nIE5ld3NJdGVtLiBUaGlzIGNhbiBiZSBhbiBpbnNlcnRpb24sIHJlcGxhY2VtZW50DQorb3IgZGVsZXRpb24uIE5vdGUgdGhhdCB0aGUgVXBkYXRlIGVsZW1lbnQgY2Fubm90IGJlIHVzZWQgdG8gbW9kaWZ5IHRoZQ0KK05ld3NNYW5hZ2VtZW50IG9yIElkZW50aWZpY2F0aW9uIGVsZW1lbnQsIG9yIGFueSBvZiB0aGVpciBkZXNjZW5kYW50cy4NCitNb2RpZmljYXRpb25zIHRvIHRoZXNlIHBhcnRzIG9mIHRoZSBOZXdzSXRlbSBjYW4gYmUgbWFkZSBieSBpc3N1aW5nIHRoZQ0KK05ld3NJdGVtIHVuZGVyIHRoZSBjdXJyZW50IHJldmlzaW9uIG51bWJlciwgd2l0aCBvbmx5IHRoZSBJZGVudGlmaWNhdGlvbiBhbmQNCitOZXdzTWFuYWdlbWVudCBlbGVtZW50cyBwcmVzZW50LiBUaGVzZSB3aWxsIHJlcGxhY2UgdGhlIHByZXZpb3VzIElkZW50aWZpY2F0aW9uDQorYW5kIE5ld3NNYW5hZ2VtZW50IGVsZW1lbnRzIGluIHRoZWlyIHRvdGFsaXR5Lg0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorLS0+DQorPCFFTEVNRU5UIFVwZGF0ZSAgKEluc2VydEJlZm9yZSB8IEluc2VydEFmdGVyIHwgUmVwbGFjZSB8IERlbGV0ZSApKj4NCis8IUFUVExJU1QgVXBkYXRlICAlbG9jYWxpZDsgPg0KKzwhLS0gDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gVXJnZW5jeSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCitBbiBpbmRpY2F0aW9uIG9mIHRoZSB1cmdlbmN5IG9mIGEgTmV3c0l0ZW0uIFRoZSB2YWx1ZSBvZiB0aGUgRm9ybWFsTmFtZQ0KK2F0dHJpYnV0ZSBpcyBhIGZvcm1hbCBuYW1lIGZvciB0aGUgVXJnZW5jeS4gSXRzIG1lYW5pbmcgYW5kIHBlcm1pdHRlZCB2YWx1ZXMNCithcmUgZGV0ZXJtaW5lZCBieSBhIGNvbnRyb2xsZWQgdm9jYWJ1bGFyeSBhcyBkZXNjcmliZWQgaW4gdGhlIGNvbW1lbnQgdG8gdGhlDQorZm9ybWFsbmFtZSBFTlRJVFkgZGVjbGFyYXRpb24gYWJvdmUuDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCistLT4NCis8IUVMRU1FTlQgVXJnZW5jeSBFTVBUWT4NCis8IUFUVExJU1QgVXJnZW5jeSAgJWxvY2FsaWQ7DQorICAgICAgICAgICAgICAgICAgICVmb3JtYWxuYW1lOyA+DQorPCEtLSANCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IFVybCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KK0EgVVJMIHRoYXQgY2FuIGJlIHVzZWQgdG8gbG9jYXRlIGEgUmVzb3VyY2UuDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCistLT4NCis8IUVMRU1FTlQgVXJsICAoI1BDREFUQSApPg0KKzwhQVRUTElTVCBVcmwgICVsb2NhbGlkOyA+DQorPCEtLSANCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IFVybiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KK0EgVVJOIHRoYXQgcHJvdmlkZXMgYSBnbG9iYWwgaWRlbnRpZmllciBmb3IgYSByZXNvdXJjZS4gVGhpcyB3aWxsIHR5cGljYWxseSAoYnV0DQorbm90IG5lY2Vzc2FyaWx5KSBiZSBhIE5ld3NNTCBVUk4gYXMgZGVzY3JpYmVkIGluIHRoZSBjb21tZW50IHRvIFB1YmxpY0lkZW50aWZpZXIuDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCistLT4NCis8IUVMRU1FTlQgVXJuICAoI1BDREFUQSApPg0KKzwhQVRUTElTVCBVcm4gICVsb2NhbGlkOyA+DQorPCEtLQ0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSBVc2FnZVJpZ2h0cyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorSW5mb3JtYXRpb24gYWJvdXQgdGhlIHVzYWdlIHJpZ2h0cyBwZXJ0YWluaW5nIHRvIGEgTmV3c0NvbXBvbmVudC4gDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCistLT4NCis8IUVMRU1FTlQgVXNhZ2VSaWdodHMgIChVc2FnZVR5cGU/ICwgR2VvZ3JhcGh5PyAsIFJpZ2h0c0hvbGRlcj8gLCBMaW1pdGF0aW9ucz8gLCBTdGFydERhdGU/ICwgRW5kRGF0ZT8gKT4NCis8IUFUVExJU1QgVXNhZ2VSaWdodHMgICVsb2NhbGlkOw0KKyAgICAgICAgICAgICAgICAgICAgICAgJWFzc2lnbm1lbnQ7ID4NCis8IS0tIA0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gVXNhZ2VUeXBlID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorQSBuYXR1cmFsLWxhbmd1YWdlIGluZGljYXRpb24gb2YgdGhlIHR5cGUgb2YgdXNhZ2UgdG8gd2hpY2ggdGhlIHJpZ2h0cyBhcHBseS4NCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKy0tPg0KKzwhRUxFTUVOVCBVc2FnZVR5cGUgICgjUENEQVRBIHwgT3JpZ2luICkqPg0KKzwhQVRUTElTVCBVc2FnZVR5cGUgICVsb2NhbGlkOw0KKyAgICAgICAgICAgICAgICAgICAgIHhtbDpsYW5nICAgQ0RBVEEgICNJTVBMSUVEDQorICAgICAgICAgICAgICAgICAgICAgJWFzc2lnbm1lbnQ7ID4NCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvdmFsaWQvZHRkcy9kZXN0Zm9vLmVudCBiL2xpYnhtbDIvdGVzdC92YWxpZC9kdGRzL2Rlc3Rmb28uZW50Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA3OTFlMWEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvdmFsaWQvZHRkcy9kZXN0Zm9vLmVudApAQCAtMCwwICsxIEBACis8ZGVzdCBpZD0nZm9vJy8+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvdmFsaWQvZHRkcy9leHRlcm5hbC5lbnQgYi9saWJ4bWwyL3Rlc3QvdmFsaWQvZHRkcy9leHRlcm5hbC5lbnQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGE0NDk1ZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC92YWxpZC9kdGRzL2V4dGVybmFsLmVudApAQCAtMCwwICsxLDMgQEAKKzwhRUxFTUVOVCByb290ICgjUENEQVRBKT4KKzwhRU5USVRZICUgcGVJbkNkYXRhIFNZU1RFTSAiZXh0ZXJuYWwyLmVudCI+Cis8IUVOVElUWSBwZUluQ2RhdGEgIjwhW0NEQVRBWyVwZUluQ2RhdGE7XV0+Ij4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC92YWxpZC9kdGRzL2V4dGVybmFsMi5lbnQgYi9saWJ4bWwyL3Rlc3QvdmFsaWQvZHRkcy9leHRlcm5hbDIuZW50Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM0OGUxZGIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvdmFsaWQvZHRkcy9leHRlcm5hbDIuZW50CkBAIC0wLDAgKzEgQEAKKzwhQVRUTElTVCByb290IGF0dHIxIE5NVE9LRU4gImF0dHJ2YWx1ZSI+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvdmFsaWQvZHRkcy9uaXRmLTItNS5kdGQgYi9saWJ4bWwyL3Rlc3QvdmFsaWQvZHRkcy9uaXRmLTItNS5kdGQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjUzZTYyMAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC92YWxpZC9kdGRzL25pdGYtMi01LmR0ZApAQCAtMCwwICsxLDEwMDQgQEAKKyA8IS0tDQorCU5ld3MgSW5kdXN0cnkgVGV4dCBGb3JtYXQNCisJRG9jdW1lbnQgVHlwZSBEZWZpbml0aW9uIC0gVmVyc2lvbiAyLjUNCisJaHR0cDovL3d3dy5uaXRmLm9yZy8NCisNCisJQ29weXJpZ2h0IChjKSAyMDAwLiBBbGwgUmlnaHRzIFJlc2VydmVkLg0KKwlJbnRlcm5hdGlvbmFsIFByZXNzIFRlbGVjb21tdW5pY2F0aW9ucyBDb3VuY2lsDQorCWh0dHA6Ly93d3cuaXB0Yy5vcmcNCisJCQ0KKwlMYXN0IGNoYW5nZWQ6IDkgQXVndXN0IDIwMDAgIHdiL2tyL2FrDQorCQ0KKwlGb3IgdGhlIGxpc3Qgb2YgbW9kaWZpY2F0aW9ucyBmcm9tIHByZXZpb3VzIHJlbGVhc2VzLCBzZWU6DQorCQlodHRwOi8vd3d3Lm5pdGYub3JnL3JlY2VudC1tb2RpZmljYXRpb25zLmh0bWwgDQorDQorCUZvciB0aGUgbGlzdCBvZiBwcm9wb3NlZCBtb2RpZmljYXRpb25zLCBzZWU6DQorCQlodHRwOi8vd3d3Lm5pdGYub3JnL3Byb3Bvc2VkLWNoYW5nZXMuaHRtbCANCistLT4NCisNCisNCisNCis8IUVOVElUWSAlIGVucmljaGVkLXRleHQgJw0KKwkjUENEQVRBDQorCXwgY2hyb24NCisJfCBjb3B5cml0ZQ0KKwl8IGV2ZW50DQorCXwgZnVuY3Rpb24NCisJfCBsb2NhdGlvbg0KKwl8IG1vbmV5DQorCXwgbnVtDQorCXwgb2JqZWN0LnRpdGxlDQorCXwgb3JnDQorCXwgcGVyc29uDQorCXwgcG9zdGFkZHINCisJfCB2aXJ0bG9jDQorCXwgYQ0KKwl8IGJyDQorCXwgZW0NCisJfCBsYW5nDQorCXwgcHJvbm91bmNlDQorCXwgcQ0KKwknPg0KKw0KKzwhRU5USVRZICUgYmxvY2suaGVhZCAiZGF0ZWxpbmU/LCBjb3B5cml0ZT8sIGFic3RyYWN0PyI+DQorPCFFTlRJVFkgJSBibG9jay5jb250ZW50ICJwIHwgaGwyIHwgdGFibGUgfCBtZWRpYSB8IG9sIHwgdWwgfCBkbCB8IGJxIHwgZm4gfCBub3RlIHwgcHJlIHwgaHIiPg0KKzwhRU5USVRZICUgYmxvY2suZW5kICJkYXRhc291cmNlPyI+DQorDQorDQorPCFFTlRJVFkgJSBnbG9iYWwtYXR0cmlidXRlcyAnDQorCWlkIAlJRCAJCQkJCQkjSU1QTElFRA0KKwknPg0KKzwhRU5USVRZICUgY29tbW9uLWF0dHJpYnV0ZXMgJw0KKwklZ2xvYmFsLWF0dHJpYnV0ZXM7DQorCWNsYXNzIAlOTVRPS0VOUyAJCQkJCSNJTVBMSUVEDQorCXN0eWxlIAlDREFUQSAJCQkJCQkjSU1QTElFRA0KKwlsYW5nIAlOTVRPS0VOIAkJCQkJI0lNUExJRUQNCisJZGlyIAkobHRyIHwgcnRsKSAJCQkJCSNJTVBMSUVEDQorCSc+DQorPCFFTlRJVFkgJSBjZWxsLmFsaWduICcNCisJYWxpZ24gCShsZWZ0IHwgY2VudGVyIHwgcmlnaHQgfCBqdXN0aWZ5IHwgY2hhcikgCSNJTVBMSUVEDQorCWNoYXIgCUNEQVRBIAkJCQkJCSNJTVBMSUVEDQorCWNoYXJvZmYgQ0RBVEEgCQkJCQkJI0lNUExJRUQNCisJJz4NCis8IUVOVElUWSAlIGNlbGwudmFsaWduICcNCisJdmFsaWduIAkodG9wIHwgbWlkZGxlIHwgYm90dG9tIHwgYmFzZWxpbmUpIAkJI0lNUExJRUQNCisJJz4NCis8IUVOVElUWSAlIHVybC5saW5rICcNCisJbWQgCUNEQVRBIAkJCQkJCSNJTVBMSUVEDQorCSc+DQorPCFFTlRJVFkgJSBib29sZWFuICcodHJ1ZSB8IGZhbHNlKSc+DQorDQorDQorPCFFTEVNRU5UIG5pdGYgKGhlYWQsIGJvZHkpPg0KKzwhQVRUTElTVCBuaXRmDQorCSVnbG9iYWwtYXR0cmlidXRlczsNCisJdW5vIAkJQ0RBVEEgCQkjSU1QTElFRA0KKwl2ZXJzaW9uIAlDREFUQSAJCSNGSVhFRCAJCSItLy9JUFRDLU5BQS8vRFREIE5JVEYtWE1MIDIuMS8vRU4iDQorCWNoYW5nZS5kYXRlIAlDREFUQSAJCSNGSVhFRCAJCSI0IEp1bHkgMjAwMCINCisJY2hhbmdlLnRpbWUgCUNEQVRBIAkJI0ZJWEVEIAkJIjE5MDAiDQorCWJhc2VsYW5nIAlDREFUQSAJCSNJTVBMSUVEDQorCWNsYXNzIAkJTk1UT0tFTlMgCSNJTVBMSUVEDQorCT4NCisJDQorDQorPCFFTEVNRU5UIGhlYWQgKHRpdGxlPywgbWV0YSosIHRvYmplY3Q/LCBpaW0/LCBkb2NkYXRhPywgcHViZGF0YSosIHJldmlzaW9uLWhpc3RvcnkqKT4NCis8IUFUVExJU1QgaGVhZA0KKwklZ2xvYmFsLWF0dHJpYnV0ZXM7DQorCT4NCisJDQorPCFFTEVNRU5UIHRpdGxlICgjUENEQVRBKT4NCis8IUFUVExJU1QgdGl0bGUNCisJJWdsb2JhbC1hdHRyaWJ1dGVzOw0KKwl0eXBlIAkoDQorCQltYWluDQorCQl8IHN1YnRpdGxlDQorCQl8IHBhcnR0aXRsZQ0KKwkJfCBhbHRlcm5hdGUNCisJCXwgYWJicmV2DQorCQl8IG90aGVyDQorCQkpIAkjSU1QTElFRA0KKwk+DQorCQ0KKzwhRUxFTUVOVCBtZXRhIEVNUFRZPg0KKzwhQVRUTElTVCBtZXRhDQorCSVnbG9iYWwtYXR0cmlidXRlczsNCisJaHR0cC1lcXVpdiAJTk1UT0tFTiAJI0lNUExJRUQNCisJbmFtZSAJCU5NVE9LRU4gCSNJTVBMSUVEDQorCWNvbnRlbnQgCUNEQVRBIAkJI1JFUVVJUkVEDQorCT4NCisJDQorPCFFTEVNRU5UIHRvYmplY3QgKHRvYmplY3QucHJvcGVydHkqLCB0b2JqZWN0LnN1YmplY3QqKT4NCis8IUFUVExJU1QgdG9iamVjdA0KKwklZ2xvYmFsLWF0dHJpYnV0ZXM7DQorCXRvYmplY3QudHlwZSAJCUNEQVRBIAkibmV3cyINCisJPg0KKwkNCisJPCFFTEVNRU5UIHRvYmplY3QucHJvcGVydHkgRU1QVFk+DQorCTwhQVRUTElTVCB0b2JqZWN0LnByb3BlcnR5DQorCQklZ2xvYmFsLWF0dHJpYnV0ZXM7DQorCQl0b2JqZWN0LnByb3BlcnR5LnR5cGUgCUNEQVRBIAkiY3VycmVudCINCisJCT4NCisJCQ0KKwk8IUVMRU1FTlQgdG9iamVjdC5zdWJqZWN0ICBFTVBUWT4NCisJPCFBVFRMSVNUIHRvYmplY3Quc3ViamVjdA0KKwkJJWdsb2JhbC1hdHRyaWJ1dGVzOw0KKwkJdG9iamVjdC5zdWJqZWN0LmlwciAJCUNEQVRBIAkJIklQVEMiDQorCQl0b2JqZWN0LnN1YmplY3QucmVmbnVtIAkJTk1UT0tFTiAJI1JFUVVJUkVEDQorCQl0b2JqZWN0LnN1YmplY3QuY29kZSAJCUNEQVRBIAkJI0lNUExJRUQNCisJCXRvYmplY3Quc3ViamVjdC50eXBlIAkJQ0RBVEEgCQkjSU1QTElFRA0KKwkJdG9iamVjdC5zdWJqZWN0Lm1hdHRlciAJCUNEQVRBIAkJI0lNUExJRUQNCisJCXRvYmplY3Quc3ViamVjdC5kZXRhaWwgCQlDREFUQSAJCSNJTVBMSUVEDQorCQk+DQorCQkNCis8IUVMRU1FTlQgaWltIChkcyopPg0KKzwhQVRUTElTVCBpaW0NCisJJWdsb2JhbC1hdHRyaWJ1dGVzOw0KKwl2ZXIgCU5NVE9LRU4gCSNJTVBMSUVEDQorCT4NCisJDQorCTwhRUxFTUVOVCBkcyBFTVBUWT4NCisJPCFBVFRMSVNUIGRzDQorCQklZ2xvYmFsLWF0dHJpYnV0ZXM7DQorCQludW0gCQlOTVRPS0VOIAkjUkVRVUlSRUQNCisJCXZhbHVlIAkJQ0RBVEEgCQkjSU1QTElFRA0KKwkJPg0KKwkJDQorPCFFTEVNRU5UIGRvY2RhdGEgKA0KKwljb3JyZWN0aW9uDQorCXwgZXZsb2MNCisJfCBkb2MtaWQNCisJfCBkZWwtbGlzdA0KKwl8IHVyZ2VuY3kNCisJfCBmaXh0dXJlDQorCXwgZGF0ZS5pc3N1ZQ0KKwl8IGRhdGUucmVsZWFzZQ0KKwl8IGRhdGUuZXhwaXJlDQorCXwgZG9jLXNjb3BlDQorCXwgc2VyaWVzDQorCXwgZWQtbXNnDQorCXwgZHUta2V5DQorCXwgZG9jLmNvcHlyaWdodA0KKwl8IGRvYy5yaWdodHMNCisJfCBrZXktbGlzdA0KKwkpKj4NCis8IUFUVExJU1QgZG9jZGF0YQ0KKwklZ2xvYmFsLWF0dHJpYnV0ZXM7DQorCT4NCisJDQorCTwhRUxFTUVOVCBjb3JyZWN0aW9uIEVNUFRZPg0KKwk8IUFUVExJU1QgY29ycmVjdGlvbg0KKwkJJWdsb2JhbC1hdHRyaWJ1dGVzOw0KKwkJaW5mbyAJCUNEQVRBIAkjSU1QTElFRA0KKwkJaWQtc3RyaW5nIAlDREFUQSAJI0lNUExJRUQNCisJCXJlZy1zcmMgCUNEQVRBIAkjSU1QTElFRA0KKwkJPg0KKwkJDQorCTwhRUxFTUVOVCBldmxvYyBFTVBUWT4NCisJPCFBVFRMSVNUIGV2bG9jDQorCQklZ2xvYmFsLWF0dHJpYnV0ZXM7DQorCQlpc28tY2MgCQlDREFUQSAJI0lNUExJRUQNCisJCXN0YXRlLXByb3YgCUNEQVRBIAkjSU1QTElFRA0KKwkJY291bnR5LWRpc3QgCUNEQVRBIAkjSU1QTElFRA0KKwkJY2l0eSAJCUNEQVRBIAkjSU1QTElFRA0KKwkJPg0KKwkJDQorCTwhRUxFTUVOVCBkb2MtaWQgRU1QVFk+DQorCTwhQVRUTElTVCBkb2MtaWQNCisJCSVnbG9iYWwtYXR0cmlidXRlczsNCisJCXJlZ3NyYyAJCUNEQVRBIAkjSU1QTElFRA0KKwkJaWQtc3RyaW5nIAlDREFUQSAJI0lNUExJRUQNCisJCT4NCisJCQ0KKwk8IUVMRU1FTlQgZGVsLWxpc3QgKGZyb20tc3JjKSo+DQorCTwhQVRUTElTVCBkZWwtbGlzdA0KKwkJJWdsb2JhbC1hdHRyaWJ1dGVzOw0KKwkJPg0KKwkJDQorCQk8IUVMRU1FTlQgZnJvbS1zcmMgRU1QVFk+DQorCQk8IUFUVExJU1QgZnJvbS1zcmMNCisJCQklZ2xvYmFsLWF0dHJpYnV0ZXM7DQorCQkJc3JjLW5hbWUgCUNEQVRBIAkjSU1QTElFRA0KKwkJCWxldmVsLW51bWJlciAJQ0RBVEEgCSNJTVBMSUVEDQorCQkJPg0KKwkJCQ0KKwk8IUVMRU1FTlQgdXJnZW5jeSBFTVBUWT4NCisJPCFBVFRMSVNUIHVyZ2VuY3kNCisJCSVnbG9iYWwtYXR0cmlidXRlczsNCisJCWVkLXVyZyAJCU5NVE9LRU4gCSNJTVBMSUVEDQorCQk+DQorCQkNCisJPCFFTEVNRU5UIGZpeHR1cmUgRU1QVFk+DQorCTwhQVRUTElTVCBmaXh0dXJlDQorCQklZ2xvYmFsLWF0dHJpYnV0ZXM7DQorCQlmaXgtaWQgCQlDREFUQSAJI0lNUExJRUQNCisJCT4NCisJCQ0KKwk8IUVMRU1FTlQgZGF0ZS5pc3N1ZSBFTVBUWT4NCisJPCFBVFRMSVNUIGRhdGUuaXNzdWUNCisJCSVnbG9iYWwtYXR0cmlidXRlczsNCisJCW5vcm0gCQlDREFUQSAJI0lNUExJRUQNCisJCT4NCisJCQ0KKwk8IUVMRU1FTlQgZGF0ZS5yZWxlYXNlIEVNUFRZPg0KKwk8IUFUVExJU1QgZGF0ZS5yZWxlYXNlDQorCQklZ2xvYmFsLWF0dHJpYnV0ZXM7DQorCQlub3JtIAkJQ0RBVEEgCSNJTVBMSUVEDQorCQk+DQorCQkNCisJPCFFTEVNRU5UIGRhdGUuZXhwaXJlIEVNUFRZPg0KKwk8IUFUVExJU1QgZGF0ZS5leHBpcmUNCisJCSVnbG9iYWwtYXR0cmlidXRlczsNCisJCW5vcm0gCQlDREFUQSAJI0lNUExJRUQNCisJCT4NCisJCQ0KKwk8IUVMRU1FTlQgZG9jLXNjb3BlIEVNUFRZPg0KKwk8IUFUVExJU1QgZG9jLXNjb3BlDQorCQklZ2xvYmFsLWF0dHJpYnV0ZXM7DQorCQlzY29wZSAJCUNEQVRBIAkjSU1QTElFRA0KKwkJPg0KKwkJDQorCTwhRUxFTUVOVCBzZXJpZXMgRU1QVFk+DQorCTwhQVRUTElTVCBzZXJpZXMNCisJCSVnbG9iYWwtYXR0cmlidXRlczsNCisJCXNlcmllcy5uYW1lIAkJQ0RBVEEgCQkjSU1QTElFRA0KKwkJc2VyaWVzLnBhcnQgCQlOTVRPS0VOIAkiMCINCisJCXNlcmllcy50b3RhbHBhcnQgCU5NVE9LRU4gCSIwIg0KKwkJPg0KKwkJDQorCTwhRUxFTUVOVCBlZC1tc2cgRU1QVFk+DQorCTwhQVRUTElTVCBlZC1tc2cNCisJCSVnbG9iYWwtYXR0cmlidXRlczsNCisJCW1zZy10eXBlIAlDREFUQSAJI0lNUExJRUQNCisJCWluZm8gCQlDREFUQSAJI0lNUExJRUQNCisJCT4NCisJCQ0KKwk8IUVMRU1FTlQgZHUta2V5IEVNUFRZPg0KKwk8IUFUVExJU1QgZHUta2V5DQorCQklZ2xvYmFsLWF0dHJpYnV0ZXM7DQorCQlnZW5lcmF0aW9uIAlOTVRPS0VOIAkjSU1QTElFRA0KKwkJcGFydCAJCU5NVE9LRU4gCSNJTVBMSUVEDQorCQl2ZXJzaW9uIAlOTVRPS0VOIAkjSU1QTElFRA0KKwkJa2V5IAkJQ0RBVEEgCQkjSU1QTElFRA0KKwkJPg0KKwkJDQorCTwhRUxFTUVOVCBkb2MuY29weXJpZ2h0IEVNUFRZPg0KKwk8IUFUVExJU1QgZG9jLmNvcHlyaWdodA0KKwkJJWdsb2JhbC1hdHRyaWJ1dGVzOw0KKwkJeWVhciAJCU5NVE9LRU4gCSNJTVBMSUVEDQorCQlob2xkZXIgCQlDREFUQSAJCSNJTVBMSUVEDQorCQk+DQorCQkNCisJPCFFTEVNRU5UIGRvYy5yaWdodHMgRU1QVFk+DQorCTwhQVRUTElTVCBkb2MucmlnaHRzDQorCQklZ2xvYmFsLWF0dHJpYnV0ZXM7DQorCQlvd25lciAJCUNEQVRBIAkJI0lNUExJRUQNCisJCXN0YXJ0ZGF0ZSAJQ0RBVEEgCQkjSU1QTElFRA0KKwkJZW5kZGF0ZSAJQ0RBVEEgCQkjSU1QTElFRA0KKwkJYWdlbnQgCQlDREFUQSAJCSNJTVBMSUVEDQorCQlnZW9ncmFwaHkgCUNEQVRBIAkJI0lNUExJRUQNCisJCWxvY2F0aW9uLWNvZGUgCUNEQVRBIAkJI0lNUExJRUQNCisJCWNvZGUtc291cmNlIAlDREFUQSAJCSNJTVBMSUVEDQorCQl0eXBlIAkJQ0RBVEEgCQkjSU1QTElFRA0KKwkJbGltaXRhdGlvbnMgCUNEQVRBIAkJI0lNUExJRUQNCisJCT4NCisJCQ0KKwk8IUVMRU1FTlQga2V5LWxpc3QgKGtleXdvcmQpKj4NCisJPCFBVFRMSVNUIGtleS1saXN0DQorCQklZ2xvYmFsLWF0dHJpYnV0ZXM7DQorCQk+DQorCQkNCisJCTwhRUxFTUVOVCBrZXl3b3JkIEVNUFRZPg0KKwkJPCFBVFRMSVNUIGtleXdvcmQNCisJCQklZ2xvYmFsLWF0dHJpYnV0ZXM7DQorCQkJa2V5IAkJQ0RBVEEgCSNJTVBMSUVEDQorCQkJPg0KKwkJCQ0KKzwhRUxFTUVOVCBwdWJkYXRhIEVNUFRZPg0KKzwhQVRUTElTVCBwdWJkYXRhDQorCSVnbG9iYWwtYXR0cmlidXRlczsNCisJdHlwZSAJCQkoDQorCQkJCXByaW50DQorCQkJCXwgYXVkaW8NCisJCQkJfCB2aWRlbw0KKwkJCQl8IHdlYg0KKwkJCQl8IGFwcGxpYW5jZQ0KKwkJCQl8IG90aGVyDQorCQkJCSkgCQkjSU1QTElFRA0KKwlpdGVtLWxlbmd0aCAJCUNEQVRBIAkJI0lNUExJRUQNCisJdW5pdC1vZi1tZWFzdXJlIAkoDQorCQkJCXdvcmQNCisJCQkJfCBjaGFyYWN0ZXINCisJCQkJfCBieXRlDQorCQkJCXwgaW5jaA0KKwkJCQl8IHBpY2ENCisJCQkJfCBjbQ0KKwkJCQl8IGhvdXINCisJCQkJfCBtaW51dGUNCisJCQkJfCBzZWNvbmQNCisJCQkJfCBvdGhlcg0KKwkJCQkpIAkJI0lNUExJRUQNCisJZGF0ZS5wdWJsaWNhdGlvbiAJQ0RBVEEgCQkjSU1QTElFRA0KKwluYW1lIAkJCUNEQVRBIAkJI0lNUExJRUQNCisJaXNzbiAJCQlDREFUQSAJCSNJTVBMSUVEDQorCXZvbHVtZSAJCQlDREFUQSAJCSNJTVBMSUVEDQorCW51bWJlciAJCQlDREFUQSAJCSNJTVBMSUVEDQorCWlzc3VlIAkJCUNEQVRBIAkJI0lNUExJRUQNCisJZWRpdGlvbi5uYW1lIAkJQ0RBVEEgCQkjSU1QTElFRA0KKwllZGl0aW9uLmFyZWEgCQlDREFUQSAJCSNJTVBMSUVEDQorCXBvc2l0aW9uLnNlY3Rpb24gCUNEQVRBIAkJI0lNUExJRUQNCisJcG9zaXRpb24uc2VxdWVuY2UgCUNEQVRBIAkJI0lNUExJRUQNCisJZXgtcmVmIAkJCUNEQVRBIAkJI0lNUExJRUQNCisJPg0KKwkNCis8IUVMRU1FTlQgcmV2aXNpb24taGlzdG9yeSBFTVBUWT4NCis8IUFUVExJU1QgcmV2aXNpb24taGlzdG9yeQ0KKwklZ2xvYmFsLWF0dHJpYnV0ZXM7DQorCW5hbWUgCQlDREFUQSAJCQkjSU1QTElFRA0KKwlmdW5jdGlvbiAJKA0KKwkJCXdyaXRlci1hdXRob3INCisJCQl8IGVkaXRvcg0KKwkJCXwgcHJvZHVjZXINCisJCQl8IGFyY2hpdmlzdA0KKwkJCXwgdmlkZW9ncmFwaGVyDQorCQkJfCBncmFwaGljLWFydGlzdA0KKwkJCXwgcGhvdG9ncmFwaGVyDQorCQkJfCBzdGF0aXN0aWNpYW4NCisJCQl8IG90aGVyDQorCQkJKSAJCQkjSU1QTElFRA0KKwlub3JtIAkJQ0RBVEEgCQkJI0lNUExJRUQNCisJY29tbWVudCAJQ0RBVEEgCQkJI0lNUExJRUQNCisJPg0KKwkNCisNCis8IUVMRU1FTlQgYm9keSAoYm9keS5oZWFkPywgYm9keS5jb250ZW50KiwgYm9keS5lbmQ/KT4NCis8IUFUVExJU1QgYm9keQ0KKwklY29tbW9uLWF0dHJpYnV0ZXM7DQorCWJhY2tncm91bmQgCUNEQVRBIAkJI0lNUExJRUQNCisJPg0KKwkNCisNCis8IUVMRU1FTlQgYm9keS5oZWFkICgNCisJaGVkbGluZT8sDQorCW5vdGUqLA0KKwlyaWdodHM/LA0KKwlieWxpbmUqLA0KKwlkaXN0cmlidXRvcj8sDQorCWRhdGVsaW5lKiwNCisJYWJzdHJhY3Q/LA0KKwlzZXJpZXM/DQorCSk+DQorPCFBVFRMSVNUIGJvZHkuaGVhZA0KKwklZ2xvYmFsLWF0dHJpYnV0ZXM7DQorCT4NCisJDQorPCFFTEVNRU5UIGhlZGxpbmUgKGhsMSwgaGwyKik+DQorPCFBVFRMSVNUIGhlZGxpbmUNCisJJWdsb2JhbC1hdHRyaWJ1dGVzOw0KKwk+DQorCQ0KKwk8IUVMRU1FTlQgaGwxICglZW5yaWNoZWQtdGV4dDspKj4NCisJPCFBVFRMSVNUIGhsMSAlY29tbW9uLWF0dHJpYnV0ZXM7Pg0KKwkNCisJPCFFTEVNRU5UIGhsMiAoJWVucmljaGVkLXRleHQ7KSo+DQorCTwhQVRUTElTVCBobDIgJWNvbW1vbi1hdHRyaWJ1dGVzOz4NCisJDQorPCFFTEVNRU5UIG5vdGUgKGJvZHkuY29udGVudCkrPg0KKzwhQVRUTElTVCBub3RlDQorCSVjb21tb24tYXR0cmlidXRlczsNCisJbm90ZWNsYXNzIAkoDQorCQkJY3B5cnQNCisJCQl8IGVuZA0KKwkJCXwgaGQNCisJCQl8IGVkaXRvcnNub3RlDQorCQkJfCB0cmFkZW1rDQorCQkJfCB1bmRlZg0KKwkJCSkgCQkJI0lNUExJRUQNCisJdHlwZSAJCShzdGQgfCBwYSB8IG5wYSkgCSJzdGQiDQorCXNyYyAJCUNEQVRBIAkJCSNJTVBMSUVEDQorCSV1cmwubGluazsNCisJPg0KKwkNCis8IUVMRU1FTlQgcmlnaHRzICgNCisJI1BDREFUQQ0KKwl8IHJpZ2h0cy5vd25lcg0KKwl8IHJpZ2h0cy5zdGFydGRhdGUNCisJfCByaWdodHMuZW5kZGF0ZQ0KKwl8IHJpZ2h0cy5hZ2VudA0KKwl8IHJpZ2h0cy5nZW9ncmFwaHkNCisJfCByaWdodHMudHlwZQ0KKwl8IHJpZ2h0cy5saW1pdGF0aW9ucw0KKwkpKj4NCis8IUFUVExJU1QgcmlnaHRzDQorCSVnbG9iYWwtYXR0cmlidXRlczsNCisJPg0KKwkNCisJPCFFTEVNRU5UIHJpZ2h0cy5vd25lciAoI1BDREFUQSk+DQorCTwhQVRUTElTVCByaWdodHMub3duZXINCisJCSVnbG9iYWwtYXR0cmlidXRlczsNCisJCWNvbnRhY3QgCUNEQVRBIAkjSU1QTElFRA0KKwkJPg0KKwkJDQorCTwhRUxFTUVOVCByaWdodHMuc3RhcnRkYXRlICgjUENEQVRBKT4NCisJPCFBVFRMSVNUIHJpZ2h0cy5zdGFydGRhdGUNCisJCSVnbG9iYWwtYXR0cmlidXRlczsNCisJCW5vcm0gCQlDREFUQSAJI0lNUExJRUQNCisJCT4NCisJCQ0KKwk8IUVMRU1FTlQgcmlnaHRzLmVuZGRhdGUgKCNQQ0RBVEEpPg0KKwk8IUFUVExJU1QgcmlnaHRzLmVuZGRhdGUNCisJCSVnbG9iYWwtYXR0cmlidXRlczsNCisJCW5vcm0gCQlDREFUQSAJI0lNUExJRUQNCisJCT4NCisJCQ0KKwk8IUVMRU1FTlQgcmlnaHRzLmFnZW50ICgjUENEQVRBKT4NCisJPCFBVFRMSVNUIHJpZ2h0cy5hZ2VudA0KKwkJJWdsb2JhbC1hdHRyaWJ1dGVzOw0KKwkJY29udGFjdCAJQ0RBVEEgCSNJTVBMSUVEDQorCQk+DQorCQkNCisJPCFFTEVNRU5UIHJpZ2h0cy5nZW9ncmFwaHkgKCNQQ0RBVEEpPg0KKwk8IUFUVExJU1QgcmlnaHRzLmdlb2dyYXBoeQ0KKwkJJWdsb2JhbC1hdHRyaWJ1dGVzOw0KKwkJbG9jYXRpb24tY29kZSAJQ0RBVEEgCSNJTVBMSUVEDQorCQljb2RlLXNvdXJjZSAJQ0RBVEEgCSNJTVBMSUVEDQorCQk+DQorCQkNCisJPCFFTEVNRU5UIHJpZ2h0cy50eXBlICgjUENEQVRBKT4NCisJPCFBVFRMSVNUIHJpZ2h0cy50eXBlDQorCQklZ2xvYmFsLWF0dHJpYnV0ZXM7DQorCQk+DQorCQkNCisJPCFFTEVNRU5UIHJpZ2h0cy5saW1pdGF0aW9ucyAoI1BDREFUQSk+DQorCTwhQVRUTElTVCByaWdodHMubGltaXRhdGlvbnMNCisJCSVnbG9iYWwtYXR0cmlidXRlczsNCisJCT4NCisJCQ0KKzwhRUxFTUVOVCBieWxpbmUgKCNQQ0RBVEEgfCBwZXJzb24gfCBieXR0bCB8IGxvY2F0aW9uIHwgdmlydGxvYykqPg0KKzwhQVRUTElTVCBieWxpbmUNCisJJWdsb2JhbC1hdHRyaWJ1dGVzOw0KKwk+DQorCQ0KKwk8IUVMRU1FTlQgYnl0dGwgKCNQQ0RBVEEgfCBvcmcgKSo+DQorCTwhQVRUTElTVCBieXR0bA0KKwkJJWdsb2JhbC1hdHRyaWJ1dGVzOw0KKwkJPg0KKwkJDQorPCFFTEVNRU5UIGRpc3RyaWJ1dG9yICgjUENEQVRBIHwgb3JnKSo+DQorPCFBVFRMSVNUIGRpc3RyaWJ1dG9yDQorCSVnbG9iYWwtYXR0cmlidXRlczsNCisJPg0KKwkNCis8IUVMRU1FTlQgZGF0ZWxpbmUgKCNQQ0RBVEEgfCBsb2NhdGlvbiB8IHN0b3J5LmRhdGUpKj4NCis8IUFUVExJU1QgZGF0ZWxpbmUgJWNvbW1vbi1hdHRyaWJ1dGVzOz4NCisJDQorCTwhRUxFTUVOVCBzdG9yeS5kYXRlICgjUENEQVRBKT4NCisJPCFBVFRMSVNUIHN0b3J5LmRhdGUNCisJCSVnbG9iYWwtYXR0cmlidXRlczsNCisJCW5vcm0gCQlDREFUQSAJI0lNUExJRUQNCisJCT4NCisJCQ0KKzwhRUxFTUVOVCBhYnN0cmFjdCAoJWJsb2NrLmNvbnRlbnQ7KSs+DQorPCFBVFRMSVNUIGFic3RyYWN0DQorCSVnbG9iYWwtYXR0cmlidXRlczsNCisJPg0KKwkNCisNCis8IUVMRU1FTlQgY29weXJpdGUgKCNQQ0RBVEEgfCBjb3B5cml0ZS55ZWFyIHwgY29weXJpdGUuaG9sZGVyKSo+DQorPCFBVFRMSVNUIGNvcHlyaXRlDQorCSVnbG9iYWwtYXR0cmlidXRlczsNCisJPg0KKwkNCisJPCFFTEVNRU5UIGNvcHlyaXRlLnllYXIgKCNQQ0RBVEEpPg0KKwk8IUFUVExJU1QgY29weXJpdGUueWVhcg0KKwkJJWdsb2JhbC1hdHRyaWJ1dGVzOw0KKwkJPg0KKwkJDQorCTwhRUxFTUVOVCBjb3B5cml0ZS5ob2xkZXIgKCNQQ0RBVEEpPg0KKwk8IUFUVExJU1QgY29weXJpdGUuaG9sZGVyDQorCQklZ2xvYmFsLWF0dHJpYnV0ZXM7DQorCQk+DQorCQkNCisNCis8IUVMRU1FTlQgYm9keS5jb250ZW50IChibG9jayB8ICVibG9jay5jb250ZW50OykqPg0KKzwhQVRUTElTVCBib2R5LmNvbnRlbnQNCisJJWdsb2JhbC1hdHRyaWJ1dGVzOw0KKwk+DQorCQ0KKzwhRUxFTUVOVCBibG9jayAoKCVibG9jay5oZWFkOyk/LCAoJWJsb2NrLmNvbnRlbnQ7KSosICglYmxvY2suZW5kOyk/KT4NCis8IUFUVExJU1QgYmxvY2sgJWNvbW1vbi1hdHRyaWJ1dGVzOz4NCisJDQorPCFFTEVNRU5UIHAgKCVlbnJpY2hlZC10ZXh0OykqPg0KKzwhQVRUTElTVCBwDQorCSVjb21tb24tYXR0cmlidXRlczsNCisJbGVkZSAJCSVib29sZWFuOyAJI0lNUExJRUQNCisJc3VtbWFyeSAJJWJvb2xlYW47IAkjSU1QTElFRA0KKwlvcHRpb25hbC10ZXh0IAklYm9vbGVhbjsgCSNJTVBMSUVEDQorCT4NCisJDQorDQorPCFFTEVNRU5UIHRhYmxlIChjYXB0aW9uPywgKGNvbCogfCBjb2xncm91cCopLCB0aGVhZD8sIHRmb290PywgdGJvZHkrKT4NCis8IUFUVExJU1QgdGFibGUNCisJJWNvbW1vbi1hdHRyaWJ1dGVzOw0KKwl0YWJsZXR5cGUgCUVOVElUWSAJCSNJTVBMSUVEDQorCWFsaWduIAkJKA0KKwkJCWxlZnQNCisJCQl8IGNlbnRlcg0KKwkJCXwgcmlnaHQNCisJCQkpIAkJI0lNUExJRUQNCisJd2lkdGggCQlDREFUQSAJCSNJTVBMSUVEDQorCWNvbHMgCQlOTVRPS0VOIAkjSU1QTElFRA0KKwlib3JkZXIgCQlDREFUQSAJCSNJTVBMSUVEDQorCWZyYW1lIAkJKA0KKwkJCXZvaWQNCisJCQl8IGFib3ZlDQorCQkJfCBiZWxvdw0KKwkJCXwgaHNpZGVzDQorCQkJfCBsaHMNCisJCQl8IHJocw0KKwkJCXwgdnNpZGVzDQorCQkJfCBib3gNCisJCQl8IGJvcmRlcg0KKwkJCSkgCQkjSU1QTElFRA0KKwlydWxlcyAJCSgNCisJCQlub25lDQorCQkJfCBiYXNpYw0KKwkJCXwgcm93cw0KKwkJCXwgY29scw0KKwkJCXwgYWxsDQorCQkJKSAJCSNJTVBMSUVEDQorCWNlbGxzcGFjaW5nIAlDREFUQSAJCSNJTVBMSUVEDQorCWNlbGxwYWRkaW5nIAlDREFUQSAJCSNJTVBMSUVEDQorCXRhYmxlLmZtdCAJQ0RBVEEgCQkjSU1QTElFRA0KKwl0YWJsZS5kb21haW4gCUNEQVRBIAkJI0lNUExJRUQNCisJdGFibGUuaW5zdCAJQ0RBVEEgCQkjSU1QTElFRA0KKwk+DQorCQ0KKzwhRUxFTUVOVCBtZWRpYSAobWVkaWEtbWV0YWRhdGEqLCBtZWRpYS1yZWZlcmVuY2UsIG1lZGlhLW9iamVjdD8sIG1lZGlhLWNhcHRpb24qLCBtZWRpYS1wcm9kdWNlcj8pPg0KKzwhQVRUTElTVCBtZWRpYQ0KKwklY29tbW9uLWF0dHJpYnV0ZXM7DQorCW1lZGlhLXR5cGUgCSgNCisJCQl0ZXh0DQorCQkJfCBhdWRpbw0KKwkJCXwgaW1hZ2UNCisJCQl8IHZpZGVvDQorCQkJfCBkYXRhDQorCQkJfCBhcHBsaWNhdGlvbg0KKwkJCXwgb3RoZXINCisJCQkpCQkjUkVRVUlSRUQNCisJPg0KKwkNCisJPCFFTEVNRU5UIG1lZGlhLXJlZmVyZW5jZSAoI1BDREFUQSk+DQorCTwhQVRUTElTVCBtZWRpYS1yZWZlcmVuY2UNCisJCSVjb21tb24tYXR0cmlidXRlczsNCisJCWRhdGEtbG9jYXRpb24JCUNEQVRBCQkjUkVRVUlSRUQNCisJCW5hbWUJCQlDREFUQSAJCSNJTVBMSUVEDQorCQlzb3VyY2UgCQkJQ0RBVEEgCQkjSU1QTElFRA0KKwkJbWltZS10eXBlIAkJQ0RBVEEgCQkjUkVRVUlSRUQNCisJCWNvZGluZyAJCQlDREFUQSAJCSNJTVBMSUVEDQorCQl0aW1lIAkJCUNEQVRBIAkJI0lNUExJRUQNCisJCXRpbWUtdW5pdC1vZi1tZWFzdXJlIAlDREFUQSAJCSNJTVBMSUVEDQorCQlvdXRjdWUgCQkJQ0RBVEEgCQkjSU1QTElFRA0KKwkJc291cmNlLWNyZWRpdCAJCUNEQVRBIAkJI0lNUExJRUQNCisJCWNvcHlyaWdodCAJCUNEQVRBIAkJI0lNUExJRUQNCisJCWFsdGVybmF0ZS10ZXh0IAkJQ0RBVEEgCQkjSU1QTElFRA0KKwkJaGVpZ2h0IAkJCU5NVE9LRU4gCSNJTVBMSUVEDQorCQl3aWR0aCAJCQlOTVRPS0VOIAkjSU1QTElFRA0KKwkJdW5pdHMgCQkJKHBpeGVscykgCSJwaXhlbHMiDQorCQlpbWFnZW1hcCAJCUNEQVRBIAkJI0lNUExJRUQNCisJCW5vZmxvdyAJCQkobm9mbG93KSAJI0lNUExJRUQNCisJCT4NCisJCQ0KKwk8IUVMRU1FTlQgbWVkaWEtbWV0YWRhdGEgRU1QVFk+DQorCTwhQVRUTElTVCBtZWRpYS1tZXRhZGF0YQ0KKwkJJWNvbW1vbi1hdHRyaWJ1dGVzOw0KKwkJbmFtZSAJCUNEQVRBIAkJI1JFUVVJUkVEDQorCQl2YWx1ZSAJCUNEQVRBIAkJI0lNUExJRUQNCisJCT4NCisJCQ0KKwk8IUVMRU1FTlQgbWVkaWEtb2JqZWN0ICgjUENEQVRBKT4NCisJPCFBVFRMSVNUIG1lZGlhLW9iamVjdA0KKwkJJWNvbW1vbi1hdHRyaWJ1dGVzOw0KKwkJZW5jb2RpbmcgCUNEQVRBIAkjUkVRVUlSRUQNCisJCT4NCisJCQ0KKwk8IUVMRU1FTlQgbWVkaWEtY2FwdGlvbiAoJWVucmljaGVkLXRleHQ7IHwgJWJsb2NrLmNvbnRlbnQ7KSo+DQorCTwhQVRUTElTVCBtZWRpYS1jYXB0aW9uDQorCQklY29tbW9uLWF0dHJpYnV0ZXM7DQorCQk+DQorCQkNCisJPCFFTEVNRU5UIG1lZGlhLXByb2R1Y2VyICglZW5yaWNoZWQtdGV4dDspKj4NCisJPCFBVFRMSVNUIG1lZGlhLXByb2R1Y2VyDQorCQklY29tbW9uLWF0dHJpYnV0ZXM7DQorCQk+DQorCQkNCis8IUVMRU1FTlQgb2wgKGxpKSs+DQorPCFBVFRMSVNUIG9sDQorCSVjb21tb24tYXR0cmlidXRlczsNCisJY29udGludWUgCShjb250aW51ZSkgCSNJTVBMSUVEDQorCXNlcW51bSAJCU5NVE9LRU4gCSNJTVBMSUVEDQorCWNvbXBhY3QgCShjb21wYWN0KSAJI0lNUExJRUQNCisJPg0KKwkNCis8IUVMRU1FTlQgdWwgKGxpKSs+DQorPCFBVFRMSVNUIHVsDQorCSVjb21tb24tYXR0cmlidXRlczsNCisJd3JhcCAJCSh2ZXJ0IHwgaG9yaXogfCBub25lKSAJIm5vbmUiDQorCXBsYWluIAkJKHBsYWluKSAJCSNJTVBMSUVEDQorCWRpbmdiYXQgCUVOVElUWSAJCQkjSU1QTElFRA0KKwlzcmMgCQlDREFUQSAJCQkjSU1QTElFRA0KKwkldXJsLmxpbms7DQorCWNvbXBhY3QgCShjb21wYWN0KSAJCSNJTVBMSUVEDQorCT4NCisJDQorCTwhRUxFTUVOVCBsaSAoJWVucmljaGVkLXRleHQ7IHwgJWJsb2NrLmNvbnRlbnQ7KSo+DQorCTwhQVRUTElTVCBsaQ0KKwkJJWNvbW1vbi1hdHRyaWJ1dGVzOw0KKwkJZGluZ2JhdCAJRU5USVRZIAkJI0lNUExJRUQNCisJCXNyYyAJCUNEQVRBIAkJI0lNUExJRUQNCisJCSV1cmwubGluazsNCisJCXNraXAgCQlOTVRPS0VOIAkiMCINCisJCT4NCisJCQ0KKzwhRUxFTUVOVCBkbCAoZHQgfCBkZCkrPg0KKzwhQVRUTElTVCBkbCAlY29tbW9uLWF0dHJpYnV0ZXM7Pg0KKwkNCisJPCFFTEVNRU5UIGR0ICglZW5yaWNoZWQtdGV4dDspKj4NCisJPCFBVFRMSVNUIGR0ICVjb21tb24tYXR0cmlidXRlczs+DQorCQkNCisJPCFFTEVNRU5UIGRkIChibG9jaykqPg0KKwk8IUFUVExJU1QgZGQgJWNvbW1vbi1hdHRyaWJ1dGVzOz4NCisJCQ0KKzwhRUxFTUVOVCBicSAoYmxvY2srLCBjcmVkaXQ/KSo+DQorPCFBVFRMSVNUIGJxDQorCSVjb21tb24tYXR0cmlidXRlczsNCisJbm93cmFwIAkJKG5vd3JhcCkgCSNJTVBMSUVEDQorCXF1b3RlLXNvdXJjZSAJQ0RBVEEgCQkjSU1QTElFRA0KKwk+DQorCQ0KKwk8IUVMRU1FTlQgY3JlZGl0ICglZW5yaWNoZWQtdGV4dDspKj4NCisJPCFBVFRMSVNUIGNyZWRpdCAlY29tbW9uLWF0dHJpYnV0ZXM7Pg0KKwkNCis8IUVMRU1FTlQgZm4gKGJvZHkuY29udGVudCkrPg0KKzwhQVRUTElTVCBmbiAlY29tbW9uLWF0dHJpYnV0ZXM7Pg0KKwkNCisNCis8IUVMRU1FTlQgcHJlICgjUENEQVRBKT4NCis8IUFUVExJU1QgcHJlDQorCSVnbG9iYWwtYXR0cmlidXRlczsNCisJPg0KKwkNCis8IUVMRU1FTlQgaHIgRU1QVFk+DQorPCFBVFRMSVNUIGhyDQorCSVnbG9iYWwtYXR0cmlidXRlczsNCisJc3JjIAkJQ0RBVEEgCSNJTVBMSUVEDQorCT4NCisJDQorDQorPCFFTEVNRU5UIGRhdGFzb3VyY2UgKCNQQ0RBVEEpPg0KKzwhQVRUTElTVCBkYXRhc291cmNlDQorCSVnbG9iYWwtYXR0cmlidXRlczsNCisJPg0KKwkNCisNCisNCis8IUVMRU1FTlQgY2FwdGlvbiAoJWVucmljaGVkLXRleHQ7IHwgJWJsb2NrLmNvbnRlbnQ7KSo+DQorPCFBVFRMSVNUIGNhcHRpb24NCisJJWNvbW1vbi1hdHRyaWJ1dGVzOw0KKwlhbGlnbiAJCSgNCisJCQl0b3ANCisJCQl8IGJvdHRvbQ0KKwkJCXwgbGVmdA0KKwkJCXwgcmlnaHQNCisJCQkpIAkJI0lNUExJRUQNCisJPg0KKwkNCis8IUVMRU1FTlQgY29sIEVNUFRZPg0KKzwhQVRUTElTVCBjb2wNCisJJWNvbW1vbi1hdHRyaWJ1dGVzOw0KKwlzcGFuIAkJTk1UT0tFTiAJIjEiDQorCXdpZHRoIAkJQ0RBVEEgCQkjSU1QTElFRA0KKwklY2VsbC5hbGlnbjsNCisJJWNlbGwudmFsaWduOw0KKwk+DQorCQ0KKzwhRUxFTUVOVCBjb2xncm91cCAoY29sKyk+DQorPCFBVFRMSVNUIGNvbGdyb3VwDQorCSVjb21tb24tYXR0cmlidXRlczsNCisJJWNlbGwuYWxpZ247DQorCSVjZWxsLnZhbGlnbjsNCisJPg0KKwkNCis8IUVMRU1FTlQgdGhlYWQgKHRyKyk+DQorPCFBVFRMSVNUIHRoZWFkDQorCSVjb21tb24tYXR0cmlidXRlczsNCisJJWNlbGwuYWxpZ247DQorCSVjZWxsLnZhbGlnbjsNCisJPg0KKwkNCis8IUVMRU1FTlQgdGJvZHkgKHRyKyk+DQorPCFBVFRMSVNUIHRib2R5DQorCSVjb21tb24tYXR0cmlidXRlczsNCisJJWNlbGwuYWxpZ247DQorCSVjZWxsLnZhbGlnbjsNCisJPg0KKwkNCis8IUVMRU1FTlQgdGZvb3QgKHRyKyk+DQorPCFBVFRMSVNUIHRmb290DQorCSVjb21tb24tYXR0cmlidXRlczsNCisJJWNlbGwuYWxpZ247DQorCSVjZWxsLnZhbGlnbjsNCisJPg0KKwkNCis8IUVMRU1FTlQgdHIgKHRoIHwgdGQpKz4NCis8IUFUVExJU1QgdHINCisJJWNvbW1vbi1hdHRyaWJ1dGVzOw0KKwklY2VsbC5hbGlnbjsNCisJJWNlbGwudmFsaWduOw0KKwk+DQorCQ0KKzwhRUxFTUVOVCB0aCAoJWVucmljaGVkLXRleHQ7IHwgJWJsb2NrLmNvbnRlbnQ7KSo+DQorPCFBVFRMSVNUIHRoDQorCSVjb21tb24tYXR0cmlidXRlczsNCisJYXhpcyAJCUNEQVRBIAkJI0lNUExJRUQNCisJYXhlcyAJCUNEQVRBIAkJI0lNUExJRUQNCisJbm93cmFwIAkJKG5vd3JhcCkgCSNJTVBMSUVEDQorCXJvd3NwYW4gCU5NVE9LRU4gCSIxIg0KKwljb2xzcGFuIAlOTVRPS0VOIAkiMSINCisJJWNlbGwuYWxpZ247DQorCSVjZWxsLnZhbGlnbjsNCisJPg0KKwkNCis8IUVMRU1FTlQgdGQgKCVlbnJpY2hlZC10ZXh0OyB8ICVibG9jay5jb250ZW50OykqPg0KKzwhQVRUTElTVCB0ZA0KKwklY29tbW9uLWF0dHJpYnV0ZXM7DQorCWF4aXMgCQlDREFUQSAJCSNJTVBMSUVEDQorCWF4ZXMgCQlDREFUQSAJCSNJTVBMSUVEDQorCW5vd3JhcCAJCShub3dyYXApIAkjSU1QTElFRA0KKwlyb3dzcGFuIAlOTVRPS0VOIAkiMSINCisJY29sc3BhbiAJTk1UT0tFTiAJIjEiDQorCSVjZWxsLmFsaWduOw0KKwklY2VsbC52YWxpZ247DQorCT4NCisJDQorDQorPCFFTEVNRU5UIGNocm9uICgjUENEQVRBKT4NCis8IUFUVExJU1QgY2hyb24NCisJJWdsb2JhbC1hdHRyaWJ1dGVzOw0KKwlub3JtIAkJQ0RBVEEgCSNJTVBMSUVEDQorCT4NCisJDQorDQorPCFFTEVNRU5UIGV2ZW50ICgjUENEQVRBIHwgYWx0LWNvZGUpKj4NCis8IUFUVExJU1QgZXZlbnQNCisJJWdsb2JhbC1hdHRyaWJ1dGVzOw0KKwlzdGFydC1kYXRlIAlDREFUQSAJCSNJTVBMSUVEDQorCWVuZC1kYXRlIAlDREFUQSAJCSNJTVBMSUVEDQorCWlkc3JjIAkJQ0RBVEEgCQkjUkVRVUlSRUQNCisJdmFsdWUgCQlDREFUQSAJCSNSRVFVSVJFRA0KKwk+DQorCQ0KKzwhRUxFTUVOVCBmdW5jdGlvbiAoI1BDREFUQSB8IGFsdC1jb2RlKSo+DQorPCFBVFRMSVNUIGZ1bmN0aW9uDQorCSVnbG9iYWwtYXR0cmlidXRlczsNCisJaWRzcmMgCQlDREFUQSAJCSNSRVFVSVJFRA0KKwl2YWx1ZSAJCUNEQVRBIAkJI1JFUVVJUkVEDQorCT4NCisJDQorPCFFTEVNRU5UIGxvY2F0aW9uICgjUENEQVRBIHwgc3VibG9jYXRpb24gfCBjaXR5IHwgc3RhdGUgfCByZWdpb24gfCBjb3VudHJ5IHwgYWx0LWNvZGUpKj4NCis8IUFUVExJU1QgbG9jYXRpb24NCisJJWdsb2JhbC1hdHRyaWJ1dGVzOw0KKwlsb2NhdGlvbi1jb2RlIAlDREFUQSAJI0lNUExJRUQNCisJY29kZS1zb3VyY2UgCUNEQVRBIAkjSU1QTElFRA0KKwk+DQorCQ0KKwk8IUVMRU1FTlQgc3VibG9jYXRpb24gKCNQQ0RBVEEgfCBhbHQtY29kZSkqPg0KKwk8IUFUVExJU1Qgc3VibG9jYXRpb24NCisJCSVnbG9iYWwtYXR0cmlidXRlczsNCisJCWxvY2F0aW9uLWNvZGUgCUNEQVRBIAkjSU1QTElFRA0KKwkJY29kZS1zb3VyY2UgCUNEQVRBIAkjSU1QTElFRA0KKwkJPg0KKwkJDQorCTwhRUxFTUVOVCBjaXR5ICgjUENEQVRBIHwgYWx0LWNvZGUpKj4NCisJPCFBVFRMSVNUIGNpdHkNCisJCSVnbG9iYWwtYXR0cmlidXRlczsNCisJCWNpdHktY29kZSAJQ0RBVEEgCSNJTVBMSUVEDQorCQljb2RlLXNvdXJjZSAJQ0RBVEEgCSNJTVBMSUVEDQorCQk+DQorCQkNCisJPCFFTEVNRU5UIHN0YXRlICgjUENEQVRBIHwgYWx0LWNvZGUpKj4NCisJPCFBVFRMSVNUIHN0YXRlDQorCQklZ2xvYmFsLWF0dHJpYnV0ZXM7DQorCQlzdGF0ZS1jb2RlIAlDREFUQSAJI0lNUExJRUQNCisJCWNvZGUtc291cmNlIAlDREFUQSAJI0lNUExJRUQNCisJCT4NCisJCQ0KKwk8IUVMRU1FTlQgcmVnaW9uICgjUENEQVRBIHwgYWx0LWNvZGUpKj4NCisJPCFBVFRMSVNUIHJlZ2lvbg0KKwkJJWdsb2JhbC1hdHRyaWJ1dGVzOw0KKwkJcmVnaW9uLWNvZGUgCUNEQVRBIAkjSU1QTElFRA0KKwkJY29kZS1zb3VyY2UgCUNEQVRBIAkjSU1QTElFRA0KKwkJPg0KKwkJDQorCTwhRUxFTUVOVCBjb3VudHJ5ICgjUENEQVRBIHwgYWx0LWNvZGUpKj4NCisJPCFBVFRMSVNUIGNvdW50cnkNCisJCSVnbG9iYWwtYXR0cmlidXRlczsNCisJCWlzby1jYyAJCUNEQVRBIAkjSU1QTElFRA0KKwkJPg0KKwkJDQorPCFFTEVNRU5UIG1vbmV5ICgjUENEQVRBKT4NCis8IUFUVExJU1QgbW9uZXkNCisJJWdsb2JhbC1hdHRyaWJ1dGVzOw0KKwl1bml0IAkJQ0RBVEEgCSNJTVBMSUVEDQorCWRhdGUgCQlDREFUQSAJI0lNUExJRUQNCisJPg0KKwkNCis8IUVMRU1FTlQgbnVtICgjUENEQVRBIHwgZnJhYyB8IHN1YiB8IHN1cCkqPg0KKzwhQVRUTElTVCBudW0NCisJJWdsb2JhbC1hdHRyaWJ1dGVzOw0KKwl1bml0cyAJCUNEQVRBIAkjSU1QTElFRA0KKwlkZWNpbWFsLWNoIAlDREFUQSAJI0lNUExJRUQNCisJdGhvdXNhbmRzLWNoIAlDREFUQSAJI0lNUExJRUQNCisJPg0KKwkNCisJPCFFTEVNRU5UIGZyYWMgKG51bWVyLCBmcmFjLXNlcD8sIGRlbm9tKT4NCisJPCFBVFRMSVNUIGZyYWMNCisJCSVnbG9iYWwtYXR0cmlidXRlczsNCisJCT4NCisJCQ0KKwkJPCFFTEVNRU5UIG51bWVyICgjUENEQVRBKT4NCisJCTwhQVRUTElTVCBudW1lcg0KKwkJCSVnbG9iYWwtYXR0cmlidXRlczsNCisJCQk+DQorCQkJDQorCQk8IUVMRU1FTlQgZnJhYy1zZXAgKCNQQ0RBVEEpPg0KKwkJPCFBVFRMSVNUIGZyYWMtc2VwDQorCQkJJWdsb2JhbC1hdHRyaWJ1dGVzOw0KKwkJCT4NCisJCQkNCisJCTwhRUxFTUVOVCBkZW5vbSAoI1BDREFUQSk+DQorCQk8IUFUVExJU1QgZGVub20NCisJCQklZ2xvYmFsLWF0dHJpYnV0ZXM7DQorCQkJPg0KKwkJCQ0KKwk8IUVMRU1FTlQgc3ViICgjUENEQVRBKT4NCisJPCFBVFRMSVNUIHN1YiAlY29tbW9uLWF0dHJpYnV0ZXM7Pg0KKwkJDQorCTwhRUxFTUVOVCBzdXAgKCNQQ0RBVEEpPg0KKwk8IUFUVExJU1Qgc3VwICVjb21tb24tYXR0cmlidXRlczs+DQorCQkNCis8IUVMRU1FTlQgb2JqZWN0LnRpdGxlICgjUENEQVRBIHwgYWx0LWNvZGUpKj4NCis8IUFUVExJU1Qgb2JqZWN0LnRpdGxlIA0KKwklY29tbW9uLWF0dHJpYnV0ZXM7DQorCWlkc3JjIAlDREFUQSAJI1JFUVVJUkVEDQorCXZhbHVlIAlDREFUQSAJI1JFUVVJUkVEDQorCT4NCisJDQorPCFFTEVNRU5UIG9yZyAoI1BDREFUQSB8IGFsdC1jb2RlKSo+DQorPCFBVFRMSVNUIG9yZw0KKwklZ2xvYmFsLWF0dHJpYnV0ZXM7DQorCWlkc3JjIAlDREFUQSAJI1JFUVVJUkVEDQorCXZhbHVlIAlDREFUQSAJI1JFUVVJUkVEDQorCT4NCisJDQorCTwhRUxFTUVOVCBhbHQtY29kZSBFTVBUWT4NCisJPCFBVFRMSVNUIGFsdC1jb2RlDQorCQklZ2xvYmFsLWF0dHJpYnV0ZXM7DQorCQlpZHNyYyAJQ0RBVEEgCSNSRVFVSVJFRA0KKwkJdmFsdWUgCUNEQVRBIAkjUkVRVUlSRUQNCisJCT4NCisJCQ0KKzwhRUxFTUVOVCBwZXJzb24gKCNQQ0RBVEEgfCBuYW1lLmdpdmVuIHwgbmFtZS5mYW1pbHkgfCBmdW5jdGlvbiB8IGFsdC1jb2RlKSo+DQorPCFBVFRMSVNUIHBlcnNvbg0KKwklZ2xvYmFsLWF0dHJpYnV0ZXM7DQorCWlkc3JjIAlDREFUQSAJI1JFUVVJUkVEDQorCXZhbHVlIAlDREFUQSAJI1JFUVVJUkVEDQorCT4NCisJDQorCTwhRUxFTUVOVCBuYW1lLmdpdmVuICgjUENEQVRBKT4NCisJPCFBVFRMSVNUIG5hbWUuZ2l2ZW4NCisJCSVnbG9iYWwtYXR0cmlidXRlczsNCisJCT4NCisJCQ0KKwk8IUVMRU1FTlQgbmFtZS5mYW1pbHkgKCNQQ0RBVEEpPg0KKwk8IUFUVExJU1QgbmFtZS5mYW1pbHkNCisJCSVnbG9iYWwtYXR0cmlidXRlczsNCisJCT4NCisJCQ0KKzwhRUxFTUVOVCBwb3N0YWRkciAoYWRkcmVzc2VlLCBkZWxpdmVyeS5wb2ludD8sIChwb3N0Y29kZSB8IGRlbGl2ZXJ5Lm9mZmljZSB8IHJlZ2lvbiB8IGNvdW50cnkpKik+DQorPCFBVFRMSVNUIHBvc3RhZGRyDQorCSVnbG9iYWwtYXR0cmlidXRlczsNCisJPg0KKwkNCis8IUVMRU1FTlQgdmlydGxvYyAoI1BDREFUQSB8IGFsdC1jb2RlKSo+DQorPCFBVFRMSVNUIHZpcnRsb2MNCisJJWdsb2JhbC1hdHRyaWJ1dGVzOw0KKwlpZHNyYyAJCUNEQVRBIAkJI1JFUVVJUkVEDQorCXZhbHVlIAkJQ0RBVEEgCQkjUkVRVUlSRUQNCisJPg0KKwkNCis8IUVMRU1FTlQgYSAoJWVucmljaGVkLXRleHQ7KSo+DQorPCFBVFRMSVNUIGENCisJJWNvbW1vbi1hdHRyaWJ1dGVzOw0KKwlocmVmIAkJQ0RBVEEgCQkjSU1QTElFRA0KKwluYW1lIAkJQ0RBVEEgCQkjSU1QTElFRA0KKwkldXJsLmxpbms7DQorCXJlbCAJCU5NVE9LRU4gCSNJTVBMSUVEDQorCXJldiAJCU5NVE9LRU4gCSNJTVBMSUVEDQorCXRpdGxlIAkJQ0RBVEEgCQkjSU1QTElFRA0KKwltZXRob2RzIAlOTVRPS0VOUyAJI0lNUExJRUQNCisJPg0KKwkNCis8IUVMRU1FTlQgYnIgRU1QVFk+DQorPCFBVFRMSVNUIGJyDQorCSVnbG9iYWwtYXR0cmlidXRlczsNCisJPg0KKwkNCis8IUVMRU1FTlQgZW0gKCVlbnJpY2hlZC10ZXh0OykqPg0KKzwhQVRUTElTVCBlbSAlY29tbW9uLWF0dHJpYnV0ZXM7Pg0KKwkNCis8IUVMRU1FTlQgbGFuZyAoJWVucmljaGVkLXRleHQ7KSo+DQorPCFBVFRMSVNUIGxhbmcgJWNvbW1vbi1hdHRyaWJ1dGVzOz4NCisJDQorPCFFTEVNRU5UIHByb25vdW5jZSAoJWVucmljaGVkLXRleHQ7KSo+DQorPCFBVFRMSVNUIHByb25vdW5jZQ0KKwklZ2xvYmFsLWF0dHJpYnV0ZXM7DQorCWd1aWRlIAkJQ0RBVEEgCSNJTVBMSUVEDQorCXBob25ldGljIAlDREFUQSAJI0lNUExJRUQNCisJPg0KKwkNCis8IUVMRU1FTlQgcSAoJWVucmljaGVkLXRleHQ7KSo+DQorPCFBVFRMSVNUIHENCisJJWNvbW1vbi1hdHRyaWJ1dGVzOw0KKwlxdW90ZS1zb3VyY2UgCUNEQVRBIAkjSU1QTElFRA0KKwk+DQorCQ0KKw0KKzwhRUxFTUVOVCBhZGRyZXNzZWUgKHBlcnNvbiwgZnVuY3Rpb24/LCBjYXJlLm9mPyk+DQorPCFBVFRMSVNUIGFkZHJlc3NlZQ0KKwklZ2xvYmFsLWF0dHJpYnV0ZXM7DQorCT4NCisJDQorCTwhRUxFTUVOVCBjYXJlLm9mICgjUENEQVRBKT4NCisJPCFBVFRMSVNUIGNhcmUub2YNCisJCSVnbG9iYWwtYXR0cmlidXRlczsNCisJCT4NCisJCQ0KKzwhRUxFTUVOVCBkZWxpdmVyeS5wb2ludCAoI1BDREFUQSB8IGJyKSo+DQorPCFBVFRMSVNUIGRlbGl2ZXJ5LnBvaW50DQorCSVnbG9iYWwtYXR0cmlidXRlczsNCisJcG9pbnQtY29kZSAJQ0RBVEEgCSNJTVBMSUVEDQorCWNvZGUtc291cmNlIAlDREFUQSAJI0lNUExJRUQNCisJPg0KKwkNCis8IUVMRU1FTlQgcG9zdGNvZGUgKCNQQ0RBVEEpPg0KKzwhQVRUTElTVCBwb3N0Y29kZQ0KKwklZ2xvYmFsLWF0dHJpYnV0ZXM7DQorCWNvZGUtc291cmNlIAlDREFUQSAJI0lNUExJRUQNCisJPg0KKwkNCis8IUVMRU1FTlQgZGVsaXZlcnkub2ZmaWNlICgjUENEQVRBIHwgYnIpKj4NCis8IUFUVExJU1QgZGVsaXZlcnkub2ZmaWNlDQorCSVnbG9iYWwtYXR0cmlidXRlczsNCisJb2ZmaWNlLWNvZGUgCUNEQVRBIAkjSU1QTElFRA0KKwljb2RlLXNvdXJjZSAJQ0RBVEEgCSNJTVBMSUVEDQorCT4NCisJDQorDQorDQorDQorPCFFTEVNRU5UIGJvZHkuZW5kICh0YWdsaW5lPywgYmlibGlvZ3JhcGh5Pyk+DQorPCFBVFRMSVNUIGJvZHkuZW5kDQorCSVnbG9iYWwtYXR0cmlidXRlczsNCisJPg0KKwkNCis8IUVMRU1FTlQgdGFnbGluZSAoJWVucmljaGVkLXRleHQ7KSo+DQorPCFBVFRMSVNUIHRhZ2xpbmUNCisJJWdsb2JhbC1hdHRyaWJ1dGVzOw0KKwl0eXBlIAkJKHN0ZCB8IHBhIHwgbnBhKSAJInN0ZCINCisJPg0KKwkNCis8IUVMRU1FTlQgYmlibGlvZ3JhcGh5ICgjUENEQVRBKT4NCis8IUFUVExJU1QgYmlibGlvZ3JhcGh5DQorCSVnbG9iYWwtYXR0cmlidXRlczsNCisJPg0KKwkNCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvdmFsaWQvZHRkcy9ub3Rlcy5kdGQgYi9saWJ4bWwyL3Rlc3QvdmFsaWQvZHRkcy9ub3Rlcy5kdGQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjQwYThhYwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC92YWxpZC9kdGRzL25vdGVzLmR0ZApAQCAtMCwwICsxLDE5IEBACis8IS0tCitUaGlzIGdldHMgcGFyc2VkIHdpdGhvdXQgY29tcGxhaW50OgorPCFFTEVNRU5UIHBmeDpub3RlcyAgKCAjUENEQVRBIHwgbm90ZSB8IHBmeDpub3RlICkqID4KKy0tPgorCis8IS0tCitUaGlzIHRyaWdnZXJzIGEgZGlhZ25vc3RpYzoKK25vdGVzLmR0ZDoxMzogdmFsaWRpdHkgZXJyb3IgOiBEZWZpbml0aW9uIG9mIG5vdGVzIGhhcyBkdXBsaWNhdGUgCityZWZlcmVuY2VzIG9mIG5vdGUKKzwhRUxFTUVOVCBwZng6bm90ZXMgICggI1BDREFUQSB8IHBmeDpub3RlIHwgbm90ZSApKiA+CistLT4KKworPCFFTEVNRU5UIHBmeDpub3RlcyAgKCAjUENEQVRBIHwgcGZ4Om5vdGUgfCBub3RlICkqID4KKworPCFBVFRMSVNUIG5vdGVzCisJeG1sbnM6cGZ4IENEQVRBICNGSVhFRCAnaHR0cDovL25hbWVzcGFjZS91cmkvaGVyZScKKz4KKzwhRUxFTUVOVCBub3RlIEVNUFRZID4KKzwhRUxFTUVOVCBwZng6bm90ZSBFTVBUWSA+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvdmFsaWQvZHRkcy9vYmplZG5hdmthLmR0ZCBiL2xpYnhtbDIvdGVzdC92YWxpZC9kdGRzL29iamVkbmF2a2EuZHRkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFjNjNkZjEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvdmFsaWQvZHRkcy9vYmplZG5hdmthLmR0ZApAQCAtMCwwICsxLDIzIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Pg0KKzwhRUxFTUVOVCBvYmplZG5hdmthIChBZERvcnXEjWVuaSwgQWTDmsSNdG92YWPDrSwgWnDFr3NvYkRvcHJhdnksIFpwxa9zb2JQbGF0YnksIERhdHVtUMWZaWpldMOtLCBEYXR1bURvcnXEjWVuw60sIE9ic2FoT2JqZWRuw6F2a3ksIEtvbWVudMOhxZk/KT4NCis8IUVMRU1FTlQgIEFkRG9ydcSNZW5pIChKbcOpbm8sICBVbGljZSwgTcSbc3RvLCBQU8SMKT4NCis8IUVMRU1FTlQgIEFkw5rEjXRvdmFjw60gKEptw6lubywgIFVsaWNlLCBNxJtzdG8sIFBTxIwpPg0KKzwhRUxFTUVOVCAgSm3DqW5vICAgICAoI1BDREFUQSk+DQorPCFFTEVNRU5UICBVbGljZSAgICAgICAgKCNQQ0RBVEEpPg0KKzwhRUxFTUVOVCAgTcSbc3RvICAgICAgKCNQQ0RBVEEpPg0KKzwhRUxFTUVOVCAgUFPEjCAgICAgICAgKCNQQ0RBVEEpPg0KKzwhRUxFTUVOVCBacMWvc29iRG9wcmF2eSAoI1BDREFUQSkgPg0KKzwhRUxFTUVOVCBacMWvc29iUGxhdGJ5ICgjUENEQVRBKSA+DQorPCFFTEVNRU5UICBEYXR1bVDFmWlqZXTDrSAoI1BDREFUQSk+DQorPCFFTEVNRU5UICBEYXR1bURvcnXEjWVuw60gKCNQQ0RBVEEpPg0KKzwhRUxFTUVOVCBPYnNhaE9iamVkbsOhdmt5IChaYm/FvsOtKykgPg0KKzwhRUxFTUVOVCBaYm/FvsOtIChLw7NkLCBOw6F6ZXYsIFBvxI1ldCwgQ2VuYSwgUG9waXM/KSA+DQorPCFFTEVNRU5UICBLw7NkICgjUENEQVRBKT4NCis8IUVMRU1FTlQgTsOhemV2ICgjUENEQVRBKSA+DQorPCFFTEVNRU5UICBQb8SNZXQgKCNQQ0RBVEEpPg0KKzwhRUxFTUVOVCBDZW5hICgjUENEQVRBKSA+DQorPCFFTEVNRU5UIFBvcGlzICgjUENEQVRBKSA+DQorPCFFTEVNRU5UIEtvbWVudMOhxZkgKMWYw6Fka2EqKSA+DQorPCFFTEVNRU5UICDFmMOhZGthICgjUENEQVRBKT4NCis8IUFUVExJU1QgUG/EjWV0DQorICAgICAgICAgICAgICAgICAgICBqZWRub3RrYSAgICAgIChrcyB8IGtnIHwgbTIgfCBtKSAgICAgICNJTVBMSUVEPg0KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC92YWxpZC9kdGRzL3NwZWMuZHRkIGIvbGlieG1sMi90ZXN0L3ZhbGlkL2R0ZHMvc3BlYy5kdGQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMGZkZmI4NgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC92YWxpZC9kdGRzL3NwZWMuZHRkCkBAIC0wLDAgKzEsOTcyIEBACis8IS0tIC4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAtLT4KKzwhLS0gWE1MIHNwZWNpZmljYXRpb24gRFREIC4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uIC0tPgorPCEtLSAuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gLS0+CisKKzwhLS0KK1RZUElDQUwgSU5WT0NBVElPTjoKKyMgIDwhRE9DVFlQRSBzcGVjIFBVQkxJQworIyAgICAgICAiLS8vVzNDLy9EVEQgU3BlY2lmaWNhdGlvbjo6MTk5ODAzMjMvL0VOIgorIyAgICAgICAiaHR0cDovL3d3dy53My5vcmcvWE1ML0dyb3VwL0RURC94bWxzcGVjLmR0ZCI+CisKK1BVUlBPU0U6CisgIFRoaXMgRFREIHdhcyBkZXZlbG9wZWQgZm9yIHVzZSB3aXRoIHRoZSBYTUwgZmFtaWx5IG9mIFczQworICBzcGVjaWZpY2F0aW9ucy4gIEl0IGlzIGFuIFhNTC1jb21wbGlhbnQgRFREIGJhc2VkIGluIHBhcnQgb24KKyAgdGhlIFRFSSBMaXRlIGFuZCBTd2ViIERURHMuCisKK0RFUEVOREVOQ0lFUzoKKyAgTm9uZS4KKworQ0hBTkdFIEhJU1RPUlk6CisgIFRoZSBsaXN0IG9mIGNoYW5nZXMgaXMgYXQgdGhlIGVuZCBvZiB0aGUgRFRELgorCisgIEZvciBhbGwgZGV0YWlscywgc2VlIHRoZSBkZXNpZ24gcmVwb3J0IGF0OgorCisgICAgPGh0dHA6Ly93d3cudzMub3JnL1hNTC9Hcm91cC9EVEQveG1sc3BlYy1yZXBvcnQuaHRtPgorCisgIFRoZSAidHlwaWNhbCBpbnZvY2F0aW9uIiBGUEkgYWx3YXlzIGdldHMgdXBkYXRlZCB0byByZWZsZWN0IHRoZQorICBkYXRlIG9mIHRoZSBtb3N0IHJlY2VudCBjaGFuZ2VzLgorCisgIFNlYXJjaCB0aGlzIGZpbGUgZm9yICIjIiBpbiB0aGUgZmlyc3QgY29sdW1uIHRvIHNlZSBjaGFuZ2UgaGlzdG9yeQorICBjb21tZW50cy4KKworTUFJTlRBSU5FUjoKKyAgRXZlIE1hbGVyCisgIEFyYm9yVGV4dCBJbmMuCisgIGVsbUBhcmJvcnRleHQuY29tCisgIHZvaWNlOiArMSA3ODEgMjcwIDU3NTAKKyAgZmF4OiAgICsxIDc4MSAyNzMgMzc2MAorLS0+CisKKzwhLS0gLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uIC0tPgorPCEtLSBFbnRpdGllcyBmb3IgY2hhcmFjdGVycyBhbmQgc3ltYm9scyAuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gLS0+CisKKzwhLS0KKyMxOTk4LTAzLTEwOiBtYWxlcjogQWRkZWQgJmxkcXVvOyBhbmQgJnJkcXVvOy4KKyMgICAgICAgICAgICAgICAgICAgVXNlZCA4ODc5OjE5ODYtY29tcGF0aWJsZSBkZWNpbWFsIGNoYXJhY3RlcgorIyAgICAgICAgICAgICAgICAgICByZWZlcmVuY2VzLgorIyAgICAgICAgICAgICAgICAgICBNZXJnZWQgY2hhcmVudC5tb2QgZmlsZSBiYWNrIGludG8gbWFpbiBmaWxlLgorLS0+CisKKzwhRU5USVRZIGx0ICAgICAiJiMzODsjNjA7Ij4KKzwhRU5USVRZIGd0ICAgICAiJiM2MjsiPgorPCFFTlRJVFkgYW1wICAgICImIzM4OyMzODsiPgorPCFFTlRJVFkgYXBvcyAgICImIzM5OyI+Cis8IUVOVElUWSBxdW90ICAgIiYjMzQ7Ij4KKzwhRU5USVRZIG1kYXNoICAiLS0iPgorPCFFTlRJVFkgbmJzcCAgICImIzE2MDsiPgorPCFFTlRJVFkgbGRxdW8gICIjeDIwMUM7Ij4KKzwhRU5USVRZIHJkcXVvICAiI3gyMDFEOyI+CisKKzwhLS0gLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uIC0tPgorPCEtLSBFbnRpdGllcyBmb3IgY2xhc3NlcyBvZiBzdGFuZGFsb25lIGVsZW1lbnRzIC4uLi4uLi4uLi4uLi4uLi4uLi4gLS0+CisKKzwhLS0KKyMxOTk3LTEwLTE2OiBtYWxlcjogQWRkZWQgdGFibGUgdG8gJWlsbHVzLmNsYXNzOy4KKyMxOTk3LTExLTI4OiBtYWxlcjogQWRkZWQgaHRhYmxlIHRvICVpbGx1cy5jbGFzczsuCisjMTk5Ny0xMi0yOTogbWFsZXI6IElHTk9SRWQgdGFibGUuCisjMTk5OC0wMy0xMDogbWFsZXI6IFJlbW92ZWQgU0dNTCBPcGVuLXNwZWNpZmljICVpbGx1cy5jbGFzczsuCisjICAgICAgICAgICAgICAgICAgIEFkZGVkICJsb2NhbCIgZW50aXRpZXMgZm9yIGN1c3RvbWl6YXRpb24uCistLT4KKworPCFFTlRJVFkgJSBsb2NhbC5wLmNsYXNzICAgICAgICAiIj4KKzwhRU5USVRZICUgcC5jbGFzcyAgICAgICAgICAgICAgInAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJWxvY2FsLnAuY2xhc3M7Ij4KKworPCFFTlRJVFkgJSBsb2NhbC5zdGF0dXNwLmNsYXNzICAiIj4KKzwhRU5USVRZICUgc3RhdHVzcC5jbGFzcyAgICAgICAgInN0YXR1c3AKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJWxvY2FsLnN0YXR1c3AuY2xhc3M7Ij4KKworPCFFTlRJVFkgJSBsb2NhbC5saXN0LmNsYXNzICAgICAiIj4KKzwhRU5USVRZICUgbGlzdC5jbGFzcyAgICAgICAgICAgInVsaXN0fG9saXN0fHNsaXN0fGdsaXN0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICVsb2NhbC5saXN0LmNsYXNzOyI+CisKKzwhRU5USVRZICUgbG9jYWwuc3BlY2xpc3QuY2xhc3MgIiI+Cis8IUVOVElUWSAlIHNwZWNsaXN0LmNsYXNzICAgICAgICJvcmdsaXN0fGJsaXN0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICVsb2NhbC5zcGVjbGlzdC5jbGFzczsiPgorCis8IUVOVElUWSAlIGxvY2FsLm5vdGUuY2xhc3MgICAgICIiPgorPCFFTlRJVFkgJSBub3RlLmNsYXNzICAgICAgICAgICAibm90ZXx3ZmNub3RlfHZjbm90ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAlbG9jYWwubm90ZS5jbGFzczsiPgorCis8IUVOVElUWSAlIGxvY2FsLmlsbHVzLmNsYXNzICAgICIiPgorPCFFTlRJVFkgJSBpbGx1cy5jbGFzcyAgICAgICAgICAiZWd8Z3JhcGhpY3xzY3JhcHxodGFibGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJWxvY2FsLmlsbHVzLmNsYXNzOyI+CisKKzwhLS0gLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uIC0tPgorPCEtLSBFbnRpdGllcyBmb3IgY2xhc3NlcyBvZiBwaHJhc2UtbGV2ZWwgZWxlbWVudHMgLi4uLi4uLi4uLi4uLi4uLi4gLS0+CisKKzwhLS0KKyMxOTk3LTEyLTI5OiBtYWxlcjogQWRkZWQgeHNwZWNyZWYgdG8gJXJlZi5jbGFzczsuCisjMTk5OC0wMy0xMDogbWFsZXI6IEFkZGVkICVlZG5vdGUuY2xhc3M7LgorIyAgICAgICAgICAgICAgICAgICBBZGRlZCAibG9jYWwiIGVudGl0aWVzIGZvciBjdXN0b21pemF0aW9uLgorLS0+CisKKzwhRU5USVRZICUgbG9jYWwuYW5ub3QuY2xhc3MgICAgIiI+Cis8IUVOVElUWSAlIGFubm90LmNsYXNzICAgICAgICAgICJmb290bm90ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAlbG9jYWwuYW5ub3QuY2xhc3M7Ij4KKworPCFFTlRJVFkgJSBsb2NhbC50ZXJtZGVmLmNsYXNzICAgICIiPgorPCFFTlRJVFkgJSB0ZXJtZGVmLmNsYXNzICAgICAgICAidGVybWRlZnx0ZXJtCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICVsb2NhbC50ZXJtZGVmLmNsYXNzOyI+CisKKzwhRU5USVRZICUgbG9jYWwuZW1waC5jbGFzcyAgICAiIj4KKzwhRU5USVRZICUgZW1waC5jbGFzcyAgICAgICAgICAgImVtcGh8cXVvdGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJWxvY2FsLmVtcGguY2xhc3M7Ij4KKworPCFFTlRJVFkgJSBsb2NhbC5yZWYuY2xhc3MgICAgIiI+Cis8IUVOVElUWSAlIHJlZi5jbGFzcyAgICAgICAgICAgICJiaWJyZWZ8c3BlY3JlZnx0ZXJtcmVmfHRpdGxlcmVmCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHx4c3BlY3JlZnx4dGVybXJlZgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAlbG9jYWwucmVmLmNsYXNzOyI+CisKKzwhRU5USVRZICUgbG9jYWwubG9jLmNsYXNzICAgICIiPgorPCFFTlRJVFkgJSBsb2MuY2xhc3MgICAgICAgICAgICAibG9jCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICVsb2NhbC5sb2MuY2xhc3M7Ij4KKworPCFFTlRJVFkgJSBsb2NhbC50ZWNoLmNsYXNzICAgICIiPgorPCFFTlRJVFkgJSB0ZWNoLmNsYXNzICAgICAgICAgICAia3d8bnR8eG50fGNvZGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJWxvY2FsLnRlY2guY2xhc3M7Ij4KKworPCFFTlRJVFkgJSBsb2NhbC5lZG5vdGUuY2xhc3MgICAgIiI+Cis8IUVOVElUWSAlIGVkbm90ZS5jbGFzcyAgICAgICAgICJlZG5vdGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJWxvY2FsLmVkbm90ZS5jbGFzczsiPgorCis8IS0tIC4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAtLT4KKzwhLS0gRW50aXRpZXMgZm9yIG1peHR1cmVzIG9mIHN0YW5kYWxvbmUgZWxlbWVudHMgLi4uLi4uLi4uLi4uLi4uLi4uIC0tPgorCis8IS0tCisjMTk5Ny0wOS0zMDogbWFsZXI6IENyZWF0ZWQgJXAubWl4OyB0byBlbGltaW5hdGUgcCBmcm9tIHNlbGYuCisjMTk5Ny0wOS0zMDogbWFsZXI6IEFkZGVkICVzcGVjbGlzdC5jbGFzczsgdG8gJW9iai5taXg7IGFuZCAlcC5taXg7LgorIzE5OTctMDktMzA6IG1hbGVyOiBBZGRlZCAlbm90ZS5jbGFzczsgdG8gJW9iai5taXg7IGFuZCAlcC5taXg7LgorIzE5OTctMTAtMTY6IG1hbGVyOiBDcmVhdGVkICVlbnRyeS5taXg7LiAgTm90ZSB0aGF0IHNvbWUgZWxlbWVudHMKKyMgICAgICAgICAgICAgICAgICAgbGVmdCBvdXQgaGVyZSBhcmUgc3RpbGwgYWxsb3dlZCBpbiB0ZXJtZGVmLAorIyAgICAgICAgICAgICAgICAgICB3aGljaCBlbnRyeSBjYW4gY29udGFpbiB0aHJvdWdoICVwLnBjZC5taXg7LgorIzE5OTctMTEtMjg6IG1hbGVyOiBBZGRlZCAlcC5jbGFzczsgdG8gJXN0YXR1c29iai5taXg7LgorIzE5OTgtMDMtMTA6IG1hbGVyOiBBZGRlZCAlZWRub3RlLmNsYXNzOyB0byBhbGwgbWl4dHVyZXMsIGV4Y2VwdAorIyAgICAgICAgICAgICAgICAgICAlcC5taXg7IGFuZCAlc3RhdHVzb2JqLm1peDssIGJlY2F1c2UgcGFyYWdyYXBocworIyAgICAgICAgICAgICAgICAgICBhbmQgc3RhdHVzIHBhcmFncmFwaHMgd2lsbCBjb250YWluIGVkbm90ZQorIyAgICAgICAgICAgICAgICAgICB0aHJvdWdoICVwLnBjZC5taXg7LgorIzE5OTgtMDMtMTIzOiBtYWxlcjogQWRkZWQgJXRlcm1kZWYubWl4OyAoYnJva2VuIG91dCBmcm9tCisjICAgICAgICAgICAgICAgICAgICAldGVybWRlZi5wY2QubWl4OykuCistLT4KKworPCFFTlRJVFkgJSBkaXYubWl4CisgICAgICAgICIlcC5jbGFzczt8JWxpc3QuY2xhc3M7fCVzcGVjbGlzdC5jbGFzczt8JW5vdGUuY2xhc3M7CisgICAgICAgIHwlaWxsdXMuY2xhc3M7fCVlZG5vdGUuY2xhc3M7Ij4KKzwhRU5USVRZICUgb2JqLm1peAorICAgICAgICAiJXAuY2xhc3M7fCVsaXN0LmNsYXNzO3wlc3BlY2xpc3QuY2xhc3M7fCVub3RlLmNsYXNzOworICAgICAgICB8JWlsbHVzLmNsYXNzO3wlZWRub3RlLmNsYXNzOyI+Cis8IUVOVElUWSAlIHAubWl4CisgICAgICAgICIlbGlzdC5jbGFzczt8JXNwZWNsaXN0LmNsYXNzO3wlbm90ZS5jbGFzczt8JWlsbHVzLmNsYXNzOyI+Cis8IUVOVElUWSAlIGVudHJ5Lm1peAorICAgICAgICAiJWxpc3QuY2xhc3M7fG5vdGV8ZWd8Z3JhcGhpY3wlZWRub3RlLmNsYXNzOyI+Cis8IUVOVElUWSAlIHN0YXR1c29iai5taXgKKyAgICAgICAgIiVwLmNsYXNzO3wlc3RhdHVzcC5jbGFzczt8JWxpc3QuY2xhc3M7Ij4KKzwhRU5USVRZICUgaGRyLm1peAorICAgICAgICAiJXAuY2xhc3M7fCVsaXN0LmNsYXNzO3wlZWRub3RlLmNsYXNzOyI+Cis8IUVOVElUWSAlIHRlcm1kZWYubWl4CisgICAgICAgICIlbm90ZS5jbGFzczt8JWlsbHVzLmNsYXNzOyI+CisKKzwhLS0gLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uIC0tPgorPCEtLSBFbnRpdGllcyBmb3IgbWl4dHVyZXMgb2YgI1BDREFUQSBhbmQgcGhyYXNlLWxldmVsIGVsZW1lbnRzIC4uLi4gLS0+CisKKzwhLS0gICAgTm90ZSB0aGF0ICV0ZXJtZGVmLnBjZC5taXggY29udGFpbnMgJW5vdGUuY2xhc3M7CisgICAgICAgIGFuZCAlaWxsdXMuY2xhc3M7LCBjb25zaWRlcmVkIHN0YW5kYWxvbmUgZWxlbWVudHMuIC0tPgorCis8IS0tCisjMTk5Ny0wOS0zMDogbWFsZXI6IEFkZGVkIHNjcmFwIGFuZCAlbm90ZS5jbGFzczsgdG8gJXRlcm1kZWYucGNkLm1peDsuCisjMTk5Ny0xMS0yODogbWFsZXI6IEFkZGVkICVsb2MuY2xhc3M7IHRvICVwLnBjZC5taXg7LgorIzE5OTgtMDMtMTA6IG1hbGVyOiBBZGRlZCAlZWRub3RlLmNsYXNzOyB0byBhbGwgbWl4dHVyZXMuCisjMTk5OC0wMy0yMzogbWFsZXI6IE1vdmVkIHNvbWUgJXRlcm1kZWYucGNkLm1peDsgc3R1ZmYgb3V0IHRvCisjICAgICAgICAgICAgICAgICAgICV0ZXJtZGVmLm1peDsuCistLT4KKworPCFFTlRJVFkgJSBwLnBjZC5taXgKKyAgICAgICAgIiNQQ0RBVEF8JWFubm90LmNsYXNzO3wldGVybWRlZi5jbGFzczt8JWVtcGguY2xhc3M7CisgICAgICAgIHwlcmVmLmNsYXNzO3wldGVjaC5jbGFzczt8JWxvYy5jbGFzczt8JWVkbm90ZS5jbGFzczsiPgorPCFFTlRJVFkgJSBzdGF0dXNwLnBjZC5taXgKKyAgICAgICAgIiNQQ0RBVEF8JWFubm90LmNsYXNzO3wldGVybWRlZi5jbGFzczt8JWVtcGguY2xhc3M7CisgICAgICAgIHwlcmVmLmNsYXNzO3wldGVjaC5jbGFzczt8JWxvYy5jbGFzczt8JWVkbm90ZS5jbGFzczsiPgorPCFFTlRJVFkgJSBoZWFkLnBjZC5taXgKKyAgICAgICAgIiNQQ0RBVEF8JWFubm90LmNsYXNzO3wlZW1waC5jbGFzczt8JXRlY2guY2xhc3M7fCVlZG5vdGUuY2xhc3M7Ij4KKzwhRU5USVRZICUgbGFiZWwucGNkLm1peAorICAgICAgICAiI1BDREFUQXwlYW5ub3QuY2xhc3M7fCV0ZXJtZGVmLmNsYXNzO3wlZW1waC5jbGFzczt8JXRlY2guY2xhc3M7CisgICAgICAgIHwlZWRub3RlLmNsYXNzOyI+Cis8IUVOVElUWSAlIGVnLnBjZC5taXgKKyAgICAgICAgIiNQQ0RBVEF8JWFubm90LmNsYXNzO3wlZW1waC5jbGFzczt8JWVkbm90ZS5jbGFzczsiPgorPCFFTlRJVFkgJSB0ZXJtZGVmLnBjZC5taXgKKyAgICAgICAgIiNQQ0RBVEF8dGVybXwlZW1waC5jbGFzczt8JXJlZi5jbGFzczt8JXRlY2guY2xhc3M7CisgICAgICAgIHwlZWRub3RlLmNsYXNzOyI+Cis8IUVOVElUWSAlIGJpYmwucGNkLm1peAorICAgICAgICAiI1BDREFUQXwlZW1waC5jbGFzczt8JXJlZi5jbGFzczt8JWxvYy5jbGFzczt8JWVkbm90ZS5jbGFzczsiPgorPCFFTlRJVFkgJSB0ZWNoLnBjZC5taXgKKyAgICAgICAgIiNQQ0RBVEF8JWVkbm90ZS5jbGFzczsiPgorPCFFTlRJVFkgJSBsb2MucGNkLm1peAorICAgICAgICAiI1BDREFUQXwlbG9jLmNsYXNzO3wlZWRub3RlLmNsYXNzOyI+CisKKzwhLS0gLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uIC0tPgorPCEtLSBFbnRpdGllcyBmb3IgY3VzdG9taXphYmxlIGNvbnRlbnQgbW9kZWxzIC4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gLS0+CisKKzwhLS0KKyMxOTk4LTAzLTEwOiBtYWxlcjogQWRkZWQgY3VzdG9taXphdGlvbiBlbnRpdGllcy4KKy0tPgorCis8IUVOVElUWSAlIHNwZWMubWRsCisgICAgICAgICJoZWFkZXIsIGZyb250PywgYm9keSwgYmFjaz8iPgorCis8IUVOVElUWSAlIGhlYWRlci5tZGwKKyAgICAgICAgInRpdGxlLCBzdWJ0aXRsZT8sIHZlcnNpb24sIHczYy1kZXNpZ25hdGlvbiwgdzNjLWRvY3R5cGUsCisgICAgICAgIHB1YmRhdGUsIG5vdGljZSosIHB1YmxvYywgbGF0ZXN0bG9jPywgcHJldmxvY3M/LCBhdXRobGlzdCwKKyAgICAgICAgYWJzdHJhY3QsIHN0YXR1cywgcHVic3RtdD8sIHNvdXJjZWRlc2M/LCBsYW5ndXNhZ2UsCisgICAgICAgIHJldmlzaW9uZGVzYyI+CisKKzwhRU5USVRZICUgcHViZGF0ZS5tZGwKKyAgICAgICAgImRheT8sIG1vbnRoLCB5ZWFyIj4KKworPCEtLSAuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gLS0+Cis8IS0tIEVudGl0aWVzIGZvciBjb21tb24gYXR0cmlidXRlcyAuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAtLT4KKworPCEtLSAgICBrZXkgYXR0cmlidXRlOgorICAgICAgICBPcHRpb25hbGx5IHByb3ZpZGVzIGEgc29ydGluZyBvciBpbmRleGluZyBrZXksIGZvciBjYXNlcyB3aGVuCisgICAgICAgIHRoZSBlbGVtZW50IGNvbnRlbnQgaXMgaW5hcHByb3ByaWF0ZSBmb3IgdGhpcyBwdXJwb3NlLiAtLT4KKzwhRU5USVRZICUga2V5LmF0dAorICAgICAgICAna2V5ICAgICAgICAgICAgICAgICAgICBDREFUQSAgICAgICAgICAgI0lNUExJRUQnPgorCis8IS0tICAgIGRlZiBhdHRyaWJ1dGU6CisgICAgICAgIFBvaW50cyB0byB0aGUgZWxlbWVudCB3aGVyZSB0aGUgcmVsZXZhbnQgZGVmaW5pdGlvbiBjYW4gYmUKKyAgICAgICAgZm91bmQsIHVzaW5nIHRoZSBJRFJFRiBtZWNoYW5pc20uICAlZGVmLmF0dDsgaXMgZm9yIG9wdGlvbmFsCisgICAgICAgIGRlZiBhdHRyaWJ1dGVzLCBhbmQgJWRlZi1yZXEuYXR0OyBpcyBmb3IgcmVxdWlyZWQgZGVmCisgICAgICAgIGF0dHJpYnV0ZXMuIC0tPgorPCFFTlRJVFkgJSBkZWYuYXR0CisgICAgICAgICdkZWYgICAgICAgICAgICAgICAgICAgIElEUkVGICAgICAgICAgICAjSU1QTElFRCc+Cis8IUVOVElUWSAlIGRlZi1yZXEuYXR0CisgICAgICAgICdkZWYgICAgICAgICAgICAgICAgICAgIElEUkVGICAgICAgICAgICAjUkVRVUlSRUQnPgorCis8IS0tICAgIHJlZiBhdHRyaWJ1dGU6CisgICAgICAgIFBvaW50cyB0byB0aGUgZWxlbWVudCB3aGVyZSBtb3JlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCwKKyAgICAgICAgdXNpbmcgdGhlIElEUkVGIG1lY2hhbmlzbS4gICVyZWYuYXR0OyBpcyBmb3Igb3B0aW9uYWwKKyAgICAgICAgcmVmIGF0dHJpYnV0ZXMsIGFuZCAlcmVmLXJlcS5hdHQ7IGlzIGZvciByZXF1aXJlZCByZWYKKyAgICAgICAgYXR0cmlidXRlcy4gLS0+Cis8IUVOVElUWSAlIHJlZi5hdHQKKyAgICAgICAgJ3JlZiAgICAgICAgICAgICAgICAgICAgSURSRUYgICAgICAgICAgICNJTVBMSUVEJz4KKzwhRU5USVRZICUgcmVmLXJlcS5hdHQKKyAgICAgICAgJ3JlZiAgICAgICAgICAgICAgICAgICAgSURSRUYgICAgICAgICAgICNSRVFVSVJFRCc+CisKKzwhLS0KKyMxOTk4LTAzLTIzOiBtYWxlcjogQWRkZWQgc2hvdyBhbmQgYWN0dWF0ZSBhdHRyaWJ1dGVzIHRvIGhyZWYuCisjICAgICAgICAgICAgICAgICAgIEFkZGVkIHNlbWktY29tbW9uIHhtbDpzcGFjZSBhdHRyaWJ1dGUuCistLT4KKworPCEtLSAgICBIUkVGIGFuZCBzb3VyY2UgYXR0cmlidXRlczoKKyAgICAgICAgUG9pbnRzIHRvIHRoZSBlbGVtZW50IHdoZXJlIG1vcmUgaW5mb3JtYXRpb24gb3Igc291cmNlIGRhdGEKKyAgICAgICAgY2FuIGJlIGZvdW5kLCB1c2luZyB0aGUgVVJMIChYTEwgc2ltcGxlIGxpbmspIG1lY2hhbmlzbS4KKyAgICAgICAgRm9yIHNvbWUgcHVycG9zZXMsIGlzIGFzc29jaWF0ZWQgd2l0aCBhZGRpdGlvbmFsIFhMTAorICAgICAgICBhdHRyaWJ1dGVzLiAlaHJlZi5hdHQ7IGlzIGZvciBvcHRpb25hbCBIUkVGIGF0dHJpYnV0ZXMsCisgICAgICAgIGFuZCAlaHJlZi1yZXEuYXR0OyBpcyBmb3IgcmVxdWlyZWQgSFJFRiBhdHRyaWJ1dGVzLgorICAgICAgICAlc291cmNlLXJlcS5hdHQ7IGlzIGZvciB0aGUgc291cmNlIGF0dHJpYnV0ZSwgd2hpY2gKKyAgICAgICAgaXMgYWx3YXlzIHJlcXVpcmVkLiAtLT4KKzwhRU5USVRZICUgaHJlZi5hdHQKKyAgICAgICAgJ3htbC1saW5rICAgICAgICAgICAgICAgQ0RBVEEgICAgICAgICAgICNGSVhFRCAic2ltcGxlIgorICAgICAgICBocmVmICAgICAgICAgICAgICAgICAgICBDREFUQSAgICAgICAgICAgI0lNUExJRUQKKyAgICAgICAgc2hvdyAgICAgICAgICAgICAgICAgICAgQ0RBVEEgICAgICAgICAgICNGSVhFRCAiZW1iZWQiCisgICAgICAgIGFjdHVhdGUgICAgICAgICAgICAgICAgIENEQVRBICAgICAgICAgICAjRklYRUQgImF1dG8iJz4KKworPCFFTlRJVFkgJSBocmVmLXJlcS5hdHQKKyAgICAgICAgJ3htbC1saW5rICAgICAgICAgICAgICAgQ0RBVEEgICAgICAgICAgICNGSVhFRCAic2ltcGxlIgorICAgICAgICBocmVmICAgICAgICAgICAgICAgICAgICBDREFUQSAgICAgICAgICAgI1JFUVVJUkVECisgICAgICAgIHNob3cgICAgICAgICAgICAgICAgICAgIENEQVRBICAgICAgICAgICAjRklYRUQgImVtYmVkIgorICAgICAgICBhY3R1YXRlICAgICAgICAgICAgICAgICBDREFUQSAgICAgICAgICAgI0ZJWEVEICJhdXRvIic+CisKKzwhRU5USVRZICUgc291cmNlLXJlcS5hdHQKKyAgICAgICAgJ3htbC1saW5rICAgICAgICAgICAgICAgQ0RBVEEgICAgICAgICAgICNGSVhFRCAic2ltcGxlIgorICAgICAgICB4bWw6YXR0cmlidXRlcyAgICAgICAgICBOTVRPS0VOUyAgICAgICAgI0ZJWEVEICJocmVmIHNvdXJjZSIKKyAgICAgICAgc291cmNlICAgICAgICAgICAgICAgICAgQ0RBVEEgICAgICAgICAgICNSRVFVSVJFRAorICAgICAgICBzaG93ICAgICAgICAgICAgICAgICAgICBDREFUQSAgICAgICAgICAgI0ZJWEVEICJlbWJlZCIKKyAgICAgICAgYWN0dWF0ZSAgICAgICAgICAgICAgICAgQ0RBVEEgICAgICAgICAgICNGSVhFRCAiYXV0byInPgorCis8IS0tICAgIHhtbDpzcGFjZSBhdHRyaWJ1dGU6CisgICAgICAgIEluZGljYXRlcyB0aGF0IHRoZSBlbGVtZW50IGNvbnRhaW5zIHdoaXRlIHNwYWNlCisgICAgICAgIHRoYXQgdGhlIGZvcm1hdHRlciBvciBvdGhlciBhcHBsaWNhdGlvbiBzaG91bGQgcmV0YWluLAorICAgICAgICBhcyBhcHByb3ByaWF0ZSB0byBpdHMgZnVuY3Rpb24uIC0tPgorPCFFTlRJVFkgJSB4bWxzcGFjZS5hdHQKKyAgICAgICAgJ3htbDpzcGFjZSAgICAgICAgICAgICAgKGRlZmF1bHQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfHByZXNlcnZlKSAgICAgICNGSVhFRCAicHJlc2VydmUiJz4KKworPCEtLSAgICBDb21tb24gYXR0cmlidXRlczoKKyAgICAgICAgRXZlcnkgZWxlbWVudCBoYXMgYW4gSUQgYXR0cmlidXRlIChzb21ldGltZXMgcmVxdWlyZWQsCisgICAgICAgIGJ1dCB1c3VhbGx5IG9wdGlvbmFsKSBmb3IgbGlua3MsIGFuZCBhIFJvbGUgYXR0cmlidXRlCisgICAgICAgIGZvciBleHRlbmRpbmcgdGhlIHVzZWZ1bCBsaWZlIG9mIHRoZSBEVEQgYnkgYWxsb3dpbmcKKyAgICAgICAgYXV0aG9ycyB0byBtYWtlIHN1YmNsYXNzZXMgZm9yIGFueSBlbGVtZW50LiAlY29tbW9uLmF0dDsKKyAgICAgICAgaXMgZm9yIGNvbW1vbiBhdHRyaWJ1dGVzIHdoZXJlIHRoZSBJRCBpcyBvcHRpb25hbCwgYW5kCisgICAgICAgICVjb21tb24taWRyZXEuYXR0OyBpcyBmb3IgY29tbW9uIGF0dHJpYnV0ZXMgd2hlcmUgdGhlCisgICAgICAgIElEIGlzIHJlcXVpcmVkLiAtLT4KKzwhRU5USVRZICUgY29tbW9uLmF0dAorICAgICAgICAnaWQgICAgICAgICAgICAgICAgICAgICBJRCAgICAgICAgICAgICAgI0lNUExJRUQKKyAgICAgICAgcm9sZSAgICAgICAgICAgICAgICAgICAgTk1UT0tFTiAgICAgICAgICNJTVBMSUVEJz4KKzwhRU5USVRZICUgY29tbW9uLWlkcmVxLmF0dAorICAgICAgICAnaWQgICAgICAgICAgICAgICAgICAgICBJRCAgICAgICAgICAgICAgI1JFUVVJUkVECisgICAgICAgIHJvbGUgICAgICAgICAgICAgICAgICAgIE5NVE9LRU4gICAgICAgICAjSU1QTElFRCc+CisKKzwhLS0gLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uIC0tPgorPCEtLSBDb21tb24gZWxlbWVudHMgLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gLS0+CisKKzwhLS0gICAgaGVhZDogVGl0bGUgb24gZGl2aXNpb25zLCBwcm9kdWN0aW9ucywgYW5kIHRoZSBsaWtlIC0tPgorPCFFTEVNRU5UIGhlYWQgKCVoZWFkLnBjZC5taXg7KSo+Cis8IUFUVExJU1QgaGVhZCAlY29tbW9uLmF0dDs+CisKKzwhLS0gLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uIC0tPgorPCEtLSBNYWpvciBzcGVjaWZpY2F0aW9uIHN0cnVjdHVyZSAuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gLS0+CisKKzwhLS0KKyMxOTk4LTAzLTEwOiBtYWxlcjogTWFkZSBzcGVjIGNvbnRlbnQgbW9kZWwgZWFzaWx5IGN1c3RvbWl6YWJsZS4KKy0tPgorCis8IUVMRU1FTlQgc3BlYyAoJXNwZWMubWRsOyk+Cis8IUFUVExJU1Qgc3BlYyAlY29tbW9uLmF0dDs+CisKKzwhRUxFTUVOVCBmcm9udCAoZGl2MSspPgorPCFBVFRMSVNUIGZyb250ICVjb21tb24uYXR0Oz4KKworPCFFTEVNRU5UIGJvZHkgKGRpdjErKT4KKzwhQVRUTElTVCBib2R5ICVjb21tb24uYXR0Oz4KKworPCEtLQorIzE5OTctMDktMzA6IG1hbGVyOiBBZGRlZCBpbmZvcm0tZGl2MSB0byBiYWNrIGNvbnRlbnQuCistLT4KKworPCFFTEVNRU5UIGJhY2sgKChkaXYxKywgaW5mb3JtLWRpdjEqKSB8IGluZm9ybS1kaXYxKyk+Cis8IUFUVExJU1QgYmFjayAlY29tbW9uLmF0dDs+CisKKzwhRUxFTUVOVCBkaXYxIChoZWFkLCAoJWRpdi5taXg7KSosIGRpdjIqKT4KKzwhQVRUTElTVCBkaXYxICVjb21tb24uYXR0Oz4KKworPCEtLQorIzE5OTctMDktMzA6IG1hbGVyOiBBZGRlZCBpbmZvcm0tZGl2MSBkZWNsYXJhdGlvbnMuCistLT4KKworPCEtLSAgICBpbmZvcm0tZGl2MTogTm9uLW5vcm1hdGl2ZSBkaXZpc2lvbiBpbiBiYWNrIG1hdHRlciAtLT4KKzwhRUxFTUVOVCBpbmZvcm0tZGl2MSAoaGVhZCwgKCVkaXYubWl4OykqLCBkaXYyKik+Cis8IUFUVExJU1QgaW5mb3JtLWRpdjEgJWNvbW1vbi5hdHQ7PgorCis8IUVMRU1FTlQgZGl2MiAoaGVhZCwgKCVkaXYubWl4OykqLCBkaXYzKik+Cis8IUFUVExJU1QgZGl2MiAlY29tbW9uLmF0dDs+CisKKzwhRUxFTUVOVCBkaXYzIChoZWFkLCAoJWRpdi5taXg7KSosIGRpdjQqKT4KKzwhQVRUTElTVCBkaXYzICVjb21tb24uYXR0Oz4KKworPCFFTEVNRU5UIGRpdjQgKGhlYWQsICglZGl2Lm1peDspKik+Cis8IUFUVExJU1QgZGl2NCAlY29tbW9uLmF0dDs+CisKKzwhLS0gU3BlY2lmaWNhdGlvbiBoZWFkZXIgLi4uLi4uLi4uLiAtLT4KKworPCEtLQorIzE5OTgtMDMtMTA6IG1hbGVyOiBNYWRlIGhlYWRlciBjb250ZW50IG1vZGVsIGVhc2lseSBjdXN0b21pemFibGUuCistLT4KKworPCFFTEVNRU5UIGhlYWRlciAoJWhlYWRlci5tZGw7KT4KKzwhQVRUTElTVCBoZWFkZXIgJWNvbW1vbi5hdHQ7PgorCis8IS0tICAgIEV4YW1wbGUgb2YgdGl0bGU6ICJFeHRlbnNpYmxlIENoZWVzZSBMYW5ndWFnZSAoWENMKSIgLS0+Cis8IUVMRU1FTlQgdGl0bGUgKCNQQ0RBVEEpPgorPCFBVFRMSVNUIHRpdGxlICVjb21tb24uYXR0Oz4KKworPCEtLSAgICBFeGFtcGxlIG9mIHN1YnRpdGxlOiAiQSBDaGVlc3kgU3BlY2lmaWNhdGlvbiIgLS0+Cis8IUVMRU1FTlQgc3VidGl0bGUgKCNQQ0RBVEEpPgorPCFBVFRMSVNUIHN1YnRpdGxlICVjb21tb24uYXR0Oz4KKworPCEtLSAgICBFeGFtcGxlIG9mIHZlcnNpb246ICJWZXJzaW9uIDY2Ni4wIiAtLT4KKzwhRUxFTUVOVCB2ZXJzaW9uICgjUENEQVRBKT4KKzwhQVRUTElTVCB2ZXJzaW9uICVjb21tb24uYXR0Oz4KKworPCEtLSAgICBFeGFtcGxlIG9mIHczYy1kZXNpZ25hdGlvbjogIldELXhjbC0xOTk5MTIzMSIgLS0+Cis8IUVMRU1FTlQgdzNjLWRlc2lnbmF0aW9uICgjUENEQVRBKT4KKzwhQVRUTElTVCB3M2MtZGVzaWduYXRpb24gJWNvbW1vbi5hdHQ7PgorCis8IS0tICAgIEV4YW1wbGUgb2YgdzNjLWRvY3R5cGU6ICJXb3JsZCBXaWRlIFdlYiBDb25zb3J0aXVtIFdvcmtpbmcKKyAgICAgICAgRHJhZnQiIC0tPgorPCFFTEVNRU5UIHczYy1kb2N0eXBlICgjUENEQVRBKT4KKzwhQVRUTElTVCB3M2MtZG9jdHlwZSAlY29tbW9uLmF0dDs+CisKKzwhLS0KKyMxOTk4LTAzLTEwOiBtYWxlcjogTWFkZSBwdWJkYXRlIGNvbnRlbnQgbW9kZWwgZWFzaWx5IGN1c3RvbWl6YWJsZS4KKy0tPgorCis8IUVMRU1FTlQgcHViZGF0ZSAoJXB1YmRhdGUubWRsOyk+Cis8IUFUVExJU1QgcHViZGF0ZSAlY29tbW9uLmF0dDs+CisKKzwhRUxFTUVOVCBkYXkgKCNQQ0RBVEEpPgorPCFBVFRMSVNUIGRheSAlY29tbW9uLmF0dDs+CisKKzwhRUxFTUVOVCBtb250aCAoI1BDREFUQSk+Cis8IUFUVExJU1QgbW9udGggJWNvbW1vbi5hdHQ7PgorCis8IUVMRU1FTlQgeWVhciAoI1BDREFUQSk+Cis8IUFUVExJU1QgeWVhciAlY29tbW9uLmF0dDs+CisKKzwhLS0gICAgRXhhbXBsZSBvZiBub3RpY2U6ICJUaGlzIGRyYWZ0IGlzIGZvciBwdWJsaWMgY29tbWVudC4uLiIgLS0+Cis8IUVMRU1FTlQgbm90aWNlICglaGRyLm1peDspKz4KKzwhQVRUTElTVCBub3RpY2UgJWNvbW1vbi5hdHQ7PgorCis8IUVMRU1FTlQgcHVibG9jIChsb2MrKT4KKzwhQVRUTElTVCBwdWJsb2MgJWNvbW1vbi5hdHQ7PgorCis8IUVMRU1FTlQgcHJldmxvY3MgKGxvYyspPgorPCFBVFRMSVNUIHByZXZsb2NzICVjb21tb24uYXR0Oz4KKworPCFFTEVNRU5UIGxhdGVzdGxvYyAobG9jKyk+Cis8IUFUVExJU1QgbGF0ZXN0bG9jICVjb21tb24uYXR0Oz4KKworPCEtLSAgICAgIGxvYyAoZGVmaW5lZCBpbiAiUGhyYXNlLWxldmVsIGVsZW1lbnRzIiBiZWxvdykgLS0+CisKKzwhRUxFTUVOVCBhdXRobGlzdCAoYXV0aG9yKyk+Cis8IUFUVExJU1QgYXV0aGxpc3QgJWNvbW1vbi5hdHQ7PgorCis8IS0tCisjMTk5Ny0wOS0zMDogbWFsZXI6IE1hZGUgYWZmaWxpYXRpb24gb3B0aW9uYWwuCisjMTk5OC0wMy0xMDogbWFsZXI6IE1hZGUgZW1haWwgb3B0aW9uYWwuCistLT4KKworPCFFTEVNRU5UIGF1dGhvciAobmFtZSwgYWZmaWxpYXRpb24/LCBlbWFpbD8pPgorPCFBVFRMSVNUIGF1dGhvciAlY29tbW9uLmF0dDs+CisKKzwhRUxFTUVOVCBuYW1lICgjUENEQVRBKT4KKzwhQVRUTElTVCBuYW1lCisgICAgICAgICVjb21tb24uYXR0OworICAgICAgICAla2V5LmF0dDs+CisKKzwhRUxFTUVOVCBhZmZpbGlhdGlvbiAoI1BDREFUQSk+Cis8IUFUVExJU1QgYWZmaWxpYXRpb24gJWNvbW1vbi5hdHQ7PgorCis8IUVMRU1FTlQgZW1haWwgKCNQQ0RBVEEpPgorPCEtLSAgICBIUkVGIGF0dHJpYnV0ZToKKyAgICAgICAgZW1haWwgZnVuY3Rpb25zIGFzIGEgaHlwZXJ0ZXh0IHJlZmVyZW5jZSB0aHJvdWdoIHRoaXMKKyAgICAgICAgcmVxdWlyZWQgYXR0cmlidXRlLiAgVHlwaWNhbGx5IHRoZSByZWZlcmVuY2Ugd291bGQgdXNlCisgICAgICAgIHRoZSBtYWlsdG86IHNjaGVtZS4gLS0+Cis8IUFUVExJU1QgZW1haWwKKyAgICAgICAgJWNvbW1vbi5hdHQ7CisgICAgICAgICVocmVmLXJlcS5hdHQ7PgorCis8IS0tICAgIFRoZSBzdGF0dXMgZWxlbWVudCBub3cgY29udGFpbnMgYm90aCBzdGF0dXNwIGFuZCBwLCBhbmQKKyAgICAgICAgdGhlIGxhdHRlciBub3cgYWxsb3dzIGxvYy4gIFVzZSBwOyBzdGF0dXNwIHdpbGwgYmUgcmVtb3ZlZAorICAgICAgICBldmVudHVhbGx5LiAtLT4KKzwhRUxFTUVOVCBzdGF0dXMgKCVzdGF0dXNvYmoubWl4OykrPgorPCFBVFRMSVNUIHN0YXR1cyAlY29tbW9uLmF0dDs+CisKKzwhRUxFTUVOVCBhYnN0cmFjdCAoJWhkci5taXg7KSo+Cis8IUFUVExJU1QgYWJzdHJhY3QgJWNvbW1vbi5hdHQ7PgorCis8IUVMRU1FTlQgcHVic3RtdCAoJWhkci5taXg7KSs+Cis8IUFUVExJU1QgcHVic3RtdCAlY29tbW9uLmF0dDs+CisKKzwhRUxFTUVOVCBzb3VyY2VkZXNjICglaGRyLm1peDspKz4KKzwhQVRUTElTVCBzb3VyY2VkZXNjICVjb21tb24uYXR0Oz4KKworPCFFTEVNRU5UIGxhbmd1c2FnZSAobGFuZ3VhZ2UrKT4KKzwhQVRUTElTVCBsYW5ndXNhZ2UgJWNvbW1vbi5hdHQ7PgorCis8IUVMRU1FTlQgbGFuZ3VhZ2UgKCNQQ0RBVEEpPgorPCFBVFRMSVNUIGxhbmd1YWdlICVjb21tb24uYXR0Oz4KKworPCFFTEVNRU5UIHJldmlzaW9uZGVzYyAoJWhkci5taXg7KSs+Cis8IUFUVExJU1QgcmV2aXNpb25kZXNjICVjb21tb24uYXR0Oz4KKworPCEtLSAuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gLS0+Cis8IS0tIFN0YW5kYWxvbmUgZWxlbWVudHMgLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAtLT4KKworPCEtLSBQYXJhZ3JhcGhzIC4uLi4uLi4uLi4uLi4uLi4uLi4uIC0tPgorCis8IS0tCisjMTk5Ny0wOS0zMDogbWFsZXI6IENoYW5nZWQgZnJvbSAlb2JqLm1peDsgdG8gJXAubWl4Oy4KKyMxOTk3LTEyLTI5OiBtYWxlcjogQ2hhbmdlZCBvcmRlciBvZiAlcC5taXg7IGFuZCAlcC5wY2QubWl4OyByZWZlcmVuY2VzLgorIzE5OTctMTItMjk6IG1hbGVyOiBDaGFuZ2VkIG9yZGVyIG9mICVzdGF0dXNvYmoubWl4OyBhbmQgJXN0YXR1c3AucGNkLm1peDsKKyMgICAgICAgICAgICAgICAgICAgcmVmZXJlbmNlcy4KKy0tPgorCis8IUVMRU1FTlQgcCAoJXAucGNkLm1peDt8JXAubWl4OykqPgorPCFBVFRMSVNUIHAgJWNvbW1vbi5hdHQ7PgorCis8IS0tICAgIHN0YXR1c3A6IFNwZWNpYWwgcGFyYWdyYXBoIHRoYXQgYWxsb3dzIGxvYyBpbnNpZGUgaXQgKG5vdGUgdGhhdAorICAgICAgICBwIG5vdyBhbHNvIGFsbG93cyBsb2MpIC0tPgorPCFFTEVNRU5UIHN0YXR1c3AgKCVzdGF0dXNwLnBjZC5taXg7fCVzdGF0dXNvYmoubWl4OykqPgorPCFBVFRMSVNUIHN0YXR1c3AgJWNvbW1vbi5hdHQ7PgorCis8IS0tIExpc3RzIC4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gLS0+CisKKzwhRUxFTUVOVCB1bGlzdCAoaXRlbSspPgorPCEtLSAgICBzcGFjaW5nIGF0dHJpYnV0ZToKKyAgICAgICAgVXNlICJub3JtYWwiIHRvIGdldCBub3JtYWwgdmVydGljYWwgc3BhY2luZyBmb3IgaXRlbXM7CisgICAgICAgIHVzZSAiY29tcGFjdCIgdG8gZ2V0IGxlc3Mgc3BhY2luZy4gIFRoZSBkZWZhdWx0IGlzIGRlcGVuZGVudAorICAgICAgICBvbiB0aGUgc3R5bGVzaGVldC4gLS0+Cis8IUFUVExJU1QgdWxpc3QKKyAgICAgICAgJWNvbW1vbi5hdHQ7CisgICAgICAgIHNwYWNpbmcgICAgICAgICAobm9ybWFsfGNvbXBhY3QpICAgICAgICAjSU1QTElFRD4KKworPCFFTEVNRU5UIG9saXN0IChpdGVtKyk+Cis8IS0tICAgIHNwYWNpbmcgYXR0cmlidXRlOgorICAgICAgICBVc2UgIm5vcm1hbCIgdG8gZ2V0IG5vcm1hbCB2ZXJ0aWNhbCBzcGFjaW5nIGZvciBpdGVtczsKKyAgICAgICAgdXNlICJjb21wYWN0IiB0byBnZXQgbGVzcyBzcGFjaW5nLiAgVGhlIGRlZmF1bHQgaXMgZGVwZW5kZW50CisgICAgICAgIG9uIHRoZSBzdHlsZXNoZWV0LiAtLT4KKzwhQVRUTElTVCBvbGlzdAorICAgICAgICAlY29tbW9uLmF0dDsKKyAgICAgICAgc3BhY2luZyAgICAgICAgIChub3JtYWx8Y29tcGFjdCkgICAgICAgICNJTVBMSUVEPgorCis8IUVMRU1FTlQgaXRlbSAoJW9iai5taXg7KSs+Cis8IUFUVExJU1QgaXRlbSAlY29tbW9uLmF0dDs+CisKKzwhRUxFTUVOVCBzbGlzdCAoc2l0ZW0rKT4KKzwhQVRUTElTVCBzbGlzdCAlY29tbW9uLmF0dDs+CisKKzwhRUxFTUVOVCBzaXRlbSAoJXAucGNkLm1peDspKj4KKzwhQVRUTElTVCBzaXRlbSAlY29tbW9uLmF0dDs+CisKKzwhRUxFTUVOVCBnbGlzdCAoZ2l0ZW0rKT4KKzwhQVRUTElTVCBnbGlzdCAlY29tbW9uLmF0dDs+CisKKzwhRUxFTUVOVCBnaXRlbSAobGFiZWwsIGRlZik+Cis8IUFUVExJU1QgZ2l0ZW0gJWNvbW1vbi5hdHQ7PgorCis8IUVMRU1FTlQgbGFiZWwgKCVsYWJlbC5wY2QubWl4OykqPgorPCFBVFRMSVNUIGxhYmVsICVjb21tb24uYXR0Oz4KKworPCFFTEVNRU5UIGRlZiAoJW9iai5taXg7KSo+Cis8IUFUVExJU1QgZGVmICVjb21tb24uYXR0Oz4KKworPCEtLSBTcGVjaWFsIGxpc3RzIC4uLi4uLi4uLi4uLi4uLi4uIC0tPgorCis8IUVMRU1FTlQgYmxpc3QgKGJpYmwrKT4KKzwhQVRUTElTVCBibGlzdCAlY29tbW9uLmF0dDs+CisKKzwhRUxFTUVOVCBiaWJsICglYmlibC5wY2QubWl4OykqPgorCis8IS0tICAgIEhSRUYgYXR0cmlidXRlOgorICAgICAgICBiaWJsIG9wdGlvbmFsbHkgZnVuY3Rpb25zIGFzIGEgaHlwZXJ0ZXh0IHJlZmVyZW5jZSB0byB0aGUKKyAgICAgICAgcmVmZXJyZWQtdG8gcmVzb3VyY2UgdGhyb3VnaCB0aGlzIGF0dHJpYnV0ZS4gLS0+CisKKzwhQVRUTElTVCBiaWJsCisgICAgICAgICVjb21tb24uYXR0OworICAgICAgICAlaHJlZi5hdHQ7CisgICAgICAgICVrZXkuYXR0Oz4KKworPCFFTEVNRU5UIG9yZ2xpc3QgKG1lbWJlcispPgorPCFBVFRMSVNUIG9yZ2xpc3QgJWNvbW1vbi5hdHQ7PgorCis8IS0tCisjMTk5Ny0wOS0zMDogbWFsZXI6IEFkZGVkIG9wdGlvbmFsIGFmZmlsaWF0aW9uLgorLS0+CisKKzwhRUxFTUVOVCBtZW1iZXIgKG5hbWUsIGFmZmlsaWF0aW9uPywgcm9sZT8pPgorPCFBVFRMSVNUIG1lbWJlciAlY29tbW9uLmF0dDs+CisKKzwhLS0gICAgICBuYW1lIChkZWZpbmVkIGluICJTcGVjaWZpY2F0aW9uIGhlYWRlciIgYWJvdmUpIC0tPgorPCEtLSAgICAgIGFmZmlsaWF0aW9uIChkZWZpbmVkIGluICJTcGVjaWZpY2F0aW9uIGhlYWRlciIgYWJvdmUpIC0tPgorCis8IUVMRU1FTlQgcm9sZSAoI1BDREFUQSk+Cis8IUFUVExJU1Qgcm9sZSAlY29tbW9uLmF0dDs+CisKKzwhLS0gTm90ZXMgLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAtLT4KKworPCFFTEVNRU5UIG5vdGUgKCVvYmoubWl4OykrPgorPCFBVFRMSVNUIG5vdGUgJWNvbW1vbi5hdHQ7PgorCis8IUVMRU1FTlQgd2Zjbm90ZSAoaGVhZCwgKCVvYmoubWl4OykrKT4KKzwhLS0gICAgSUQgYXR0cmlidXRlOgorICAgICAgICB3ZmNub3RlIG11c3QgaGF2ZSBhbiBJRCBzbyB0aGF0IGl0IGNhbiBiZSBwb2ludGVkIHRvCisgICAgICAgIGZyb20gYSB3ZmMgZWxlbWVudCBpbiBhIHByb2R1Y3Rpb24uIC0tPgorPCFBVFRMSVNUIHdmY25vdGUKKyAgICAgICAgJWNvbW1vbi1pZHJlcS5hdHQ7PgorCis8IUVMRU1FTlQgdmNub3RlIChoZWFkLCAoJW9iai5taXg7KSspPgorPCEtLSAgICBJRCBhdHRyaWJ1dGU6CisgICAgICAgIHZjbm90ZSBtdXN0IGhhdmUgYW4gSUQgc28gdGhhdCBpdCBjYW4gYmUgcG9pbnRlZCB0bworICAgICAgICBmcm9tIGEgdmMgZWxlbWVudCBpbiBhIHByb2R1Y3Rpb24uIC0tPgorPCFBVFRMSVNUIHZjbm90ZQorICAgICAgICAlY29tbW9uLWlkcmVxLmF0dDs+CisKKzwhLS0gSWxsdXN0cmF0aW9ucyAuLi4uLi4uLi4uLi4uLi4uLiAtLT4KKworPCEtLQorIzE5OTgtMDMtMjM6IG1hbGVyOiBBZGRlZCB4bWw6c3BhY2UgYXR0cmlidXRlLgorLS0+CisKKzwhRUxFTUVOVCBlZyAoJWVnLnBjZC5taXg7KSo+Cis8IUFUVExJU1QgZWcKKyAgICAgICAgJWNvbW1vbi5hdHQ7CisgICAgICAgICV4bWxzcGFjZS5hdHQ7PgorCis8IUVMRU1FTlQgZ3JhcGhpYyBFTVBUWT4KKzwhLS0gICAgc291cmNlIGF0dHJpYnV0ZToKKyAgICAgICAgVGhlIGdyYXBoaWMgZGF0YSBtdXN0IHJlc2lkZSBhdCB0aGUgbG9jYXRpb24gcG9pbnRlZCB0by4KKyAgICAgICAgVGhpcyBpcyBhIGh5cGVydGV4dCByZWZlcmVuY2UsIGJ1dCBmb3IgcHJhY3RpY2FsIHB1cnBvc2VzLAorICAgICAgICBmb3Igbm93IGl0IHNob3VsZCBqdXN0IGJlIGEgcGF0aG5hbWUuIC0tPgorPCFBVFRMSVNUIGdyYXBoaWMKKyAgICAgICAgJWNvbW1vbi5hdHQ7CisgICAgICAgICVzb3VyY2UtcmVxLmF0dDsKKyAgICAgICAgYWx0ICAgICAgICAgICAgIENEQVRBICAgICAgICAgICAjSU1QTElFRD4KKworPCEtLQorIzE5OTctMTEtMjg6IG1hbGVyOiBBZGRlZCBwcm9kZ3JvdXAgdG8gc2NyYXAgYW5kIGRlZmluZWQgaXQuCistLT4KKworPCFFTEVNRU5UIHNjcmFwIChoZWFkLCAocHJvZGdyb3VwKyB8IHByb2QrIHwgYm5mKSk+Cis8IS0tICAgIGxhbmcgYXR0cmlidXRlOgorICAgICAgICBUaGUgc2NyYXAgY2FuIGxpbmsgdG8gYSBkZXNjcmlwdGlvbiBvZiB0aGUgbGFuZ3VhZ2UgdXNlZCwKKyAgICAgICAgZm91bmQgaW4gYSBsYW5ndWFnZSBlbGVtZW50IGluIHRoZSBoZWFkZXIuIC0tPgorPCFBVFRMSVNUIHNjcmFwCisgICAgICAgICVjb21tb24uYXR0OworICAgICAgICBsYW5nICAgICAgICAgICAgSURSRUYgICAgICAgICAgICNJTVBMSUVEPgorCis8IUVMRU1FTlQgcHJvZGdyb3VwIChwcm9kKyk+Cis8IS0tICAgIHBjdzxuPiBhdHRyaWJ1dGVzOgorICAgICAgICBQcmVzZW50YXRpb25hbCBhdHRyaWJ1dGVzIHRvIGNvbnRyb2wgdGhlIHdpZHRoCisgICAgICAgIG9mIHRoZSAicHNldWRvLXRhYmxlIiBjb2x1bW5zIHVzZWQgdG8gb3V0cHV0CisgICAgICAgIGdyb3VwcyBvZiBwcm9kdWN0aW9ucy4gLS0+Cis8IUFUVExJU1QgcHJvZGdyb3VwCisgICAgICAgICVjb21tb24uYXR0OworICAgICAgICBwY3cxICAgICAgICAgICAgQ0RBVEEgICAgICAgICAgICNJTVBMSUVECisgICAgICAgIHBjdzIgICAgICAgICAgICBDREFUQSAgICAgICAgICAgI0lNUExJRUQKKyAgICAgICAgcGN3MyAgICAgICAgICAgIENEQVRBICAgICAgICAgICAjSU1QTElFRAorICAgICAgICBwY3c0ICAgICAgICAgICAgQ0RBVEEgICAgICAgICAgICNJTVBMSUVECisgICAgICAgIHBjdzUgICAgICAgICAgICBDREFUQSAgICAgICAgICAgI0lNUExJRUQKKz4KKworPCFFTEVNRU5UIHByb2QgKGxocywgKHJocywgKGNvbXx3ZmN8dmMpKikrKT4KKzwhLS0gICAgSUQgYXR0cmlidXRlOgorICAgICAgICBUaGUgcHJvZHVjdGlvbiBtdXN0IGhhdmUgYW4gSUQgc28gdGhhdCBjcm9zcy1yZWZlcmVuY2VzCisgICAgICAgIChzcGVjcmVmKSBhbmQgbWVudGlvbnMgb2Ygbm9udGVybWluYWxzIChudCkgY2FuIGxpbmsgdG8KKyAgICAgICAgaXQuIC0tPgorPCFBVFRMSVNUIHByb2QKKyAgICAgICAgJWNvbW1vbi1pZHJlcS5hdHQ7PgorCis8IUVMRU1FTlQgbGhzICgjUENEQVRBKT4KKzwhQVRUTElTVCBsaHMgJWNvbW1vbi5hdHQ7PgorCis8IUVMRU1FTlQgcmhzICgjUENEQVRBfG50fHhudHxjb20pKj4KKzwhQVRUTElTVCByaHMgJWNvbW1vbi5hdHQ7PgorCis8IS0tICAgICAgbnQgYW5kIHhudCAoZGVmaW5lZCBpbiAiUGhyYXNlLWxldmVsIGVsZW1lbnRzIiBiZWxvdykgLS0+CisKKzwhLS0KKyMxOTk3LTExLTI4OiBtYWxlcjogQWRkZWQgbG9jIGFuZCBiaWJyZWYgdG8gY29tIGNvbnRlbnQuCistLT4KKworPCFFTEVNRU5UIGNvbSAoI1BDREFUQXxsb2N8YmlicmVmKSo+Cis8IUFUVExJU1QgY29tICVjb21tb24uYXR0Oz4KKworPCEtLSAgICB3ZmM6IFNob3VsZCBnZW5lcmF0ZSB0aGUgaGVhZCBvZiB0aGUgd2Zjbm90ZSBwb2ludGVkIHRvIC0tPgorPCFFTEVNRU5UIHdmYyBFTVBUWT4KKzwhLS0gICAgZGVmIGF0dHJpYnV0ZToKKyAgICAgICAgRWFjaCB3ZWxsIGZvcm1lZG5lc3MgdGFnbGluZSBpbiBhIHByb2R1Y3Rpb24gbXVzdCBsaW5rIHRvIHRoZQorICAgICAgICB3ZmNub3RlIHRoYXQgZGVmaW5lcyBpdC4gLS0+Cis8IUFUVExJU1Qgd2ZjCisgICAgICAgICVkZWYtcmVxLmF0dDsKKyAgICAgICAgJWNvbW1vbi5hdHQ7PgorCis8IS0tICAgIHZjOiBTaG91bGQgZ2VuZXJhdGUgdGhlIGhlYWQgb2YgdGhlIHZjbm90ZSBwb2ludGVkIHRvIC0tPgorPCFFTEVNRU5UIHZjIEVNUFRZPgorPCEtLSAgICBkZWYgYXR0cmlidXRlOgorICAgICAgICBFYWNoIHZhbGlkaXR5IHRhZ2xpbmUgaW4gYSBwcm9kdWN0aW9uIG11c3QgbGluayB0byB0aGUgdmNub3RlCisgICAgICAgIHRoYXQgZGVmaW5lcyBpdC4gLS0+Cis8IUFUVExJU1QgdmMKKyAgICAgICAgJWRlZi1yZXEuYXR0OworICAgICAgICAlY29tbW9uLmF0dDs+CisKKzwhLS0KKyMxOTk4LTAzLTIzOiBtYWxlcjogQWRkZWQgeG1sOnNwYWNlIGF0dHJpYnV0ZS4KKy0tPgorCis8IS0tICAgIGJuZjogVW4tbWFya2VkLXVwIHByb2R1Y3Rpb24gLS0+Cis8IUVMRU1FTlQgYm5mICglZWcucGNkLm1peDspKj4KKzwhQVRUTElTVCBibmYKKyAgICAgICAgJWNvbW1vbi5hdHQ7CisgICAgICAgICV4bWxzcGFjZS5hdHQ7PgorCis8IS0tCisjMTk5Ny0xMC0xNjogbWFsZXI6IEFkZGVkIHRhYmxlIG1lY2hhbmlzbS4KKyMxOTk3LTExLTI4OiBtYWxlcjogQWRkZWQgbm9uLW51bGwgc3lzdGVtIElEIHRvIGVudGl0eSBkZWNsYXJhdGlvbi4KKyMgICAgICAgICAgICAgICAgICAgQWRkZWQgSFRNTCB0YWJsZSBtb2R1bGUuCisjMTk5Ny0xMi0yOTogbWFsZXI6IElHTk9SRWQgU0dNTCBPcGVuIHRhYmxlIG1vZGVsLgorIzE5OTgtMDMtMTA6IG1hbGVyOiBSZW1vdmVkIFNHTUwgT3BlbiB0YWJsZSBtb2RlbC4KKyMgICAgICAgICAgICAgICAgICAgTWVyZ2VkIGh0bWwtdGJsLm1vZCBmaWxlIGludG8gbWFpbiBmaWxlLgorIyAgICAgICAgICAgICAgICAgICBBZGRlZCAlY29tbW9uLmF0dDsgdG8gYWxsIEhUTUwgdGFibGUgZWxlbWVudHMuCistLT4KKworPCEtLSAgICBUUiBhbmQgVEQgYXR0cmlidXRlczoKKyAgICAgICAgQWxpZ25tZW50IGF0dHJpYnV0ZXMuICBObyBkZWZhdWx0LiAtLT4KKzwhRU5USVRZICUgdHJ0ZC5hdHQKKyAgICAgICAgImFsaWduICAgICAgICAgIChsZWZ0CisgICAgICAgICAgICAgICAgICAgICAgICB8Y2VudGVyCisgICAgICAgICAgICAgICAgICAgICAgICB8cmlnaHQpICAgICAgICAgI0lNUExJRUQKKyAgICAgICAgdmFsaWduICAgICAgICAgICh0b3AKKyAgICAgICAgICAgICAgICAgICAgICAgIHxtaWRkbGUKKyAgICAgICAgICAgICAgICAgICAgICAgIHxib3R0b20pICAgICAgICAjSU1QTElFRCI+CisKKzwhRUxFTUVOVCBodGFibGUgKGh0Ym9keSspPgorPCFBVFRMSVNUIGh0YWJsZQorICAgICAgICAgIGJvcmRlciAgICAgICAgQ0RBVEEgICAgICAgICAgICIwIgorICAgICAgICAgIGNlbGxwYWRkaW5nICAgQ0RBVEEgICAgICAgICAgICIwIgorICAgICAgICAgIGFsaWduICAgICAgICAgKGxlZnQKKyAgICAgICAgICAgICAgICAgICAgICAgIHxjZW50ZXIKKyAgICAgICAgICAgICAgICAgICAgICAgIHxyaWdodCkgICAgICAgICAibGVmdCI+CisKKzwhRUxFTUVOVCBodGJvZHkgKHRyKyk+Cis8IUFUVExJU1QgaHRib2R5ICVjb21tb24uYXR0Oz4KKworPCFFTEVNRU5UIHRyICAgICAodGQrKT4KKzwhQVRUTElTVCB0cgorICAgICAgICAlY29tbW9uLmF0dDsKKyAgICAgICAgJXRydGQuYXR0Oz4KKworPCFFTEVNRU5UIHRkICAgICAoJXAucGNkLm1peDspKj4KKzwhQVRUTElTVCB0ZAorICAgICAgICAlY29tbW9uLmF0dDsKKyAgICAgICAgJXRydGQuYXR0OworICAgICAgICBiZ2NvbG9yICAgICAgICAgQ0RBVEEgICAgICAgICAgICNJTVBMSUVECisgICAgICAgIHJvd3NwYW4gICAgICAgICBDREFUQSAgICAgICAgICAgIjEiCisgICAgICAgIGNvbHNwYW4gICAgICAgICBDREFUQSAgICAgICAgICAgIjEiPgorCis8IS0tIC4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAtLT4KKzwhLS0gUGhyYXNlLWxldmVsIGVsZW1lbnRzIC4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uIC0tPgorCis8IS0tICAgIGJpYnJlZjogU2hvdWxkIGdlbmVyYXRlLCBpbiBzcXVhcmUgYnJhY2tldHMsICJrZXkiIG9uIGJpYmwgLS0+Cis8IUVMRU1FTlQgYmlicmVmIEVNUFRZPgorPCEtLSAgICByZWYgYXR0cmlidXRlOgorICAgICAgICBBIGJpYmxpb2dyYXBoeSByZWZlcmVuY2UgbXVzdCBsaW5rIHRvIHRoZSBiaWJsIGVsZW1lbnQgdGhhdAorICAgICAgICBkZXNjcmliZXMgdGhlIHJlc291cmNlLiAtLT4KKzwhQVRUTElTVCBiaWJyZWYKKyAgICAgICAgJWNvbW1vbi5hdHQ7CisgICAgICAgICVyZWYtcmVxLmF0dDs+CisKKzwhRUxFTUVOVCBjb2RlICgldGVjaC5wY2QubWl4OykqPgorPCFBVFRMSVNUIGNvZGUgJWNvbW1vbi5hdHQ7PgorCis8IS0tCisjMTk5OC0wMy0xMDogbWFsZXI6IERlY2xhcmVkIGVkbm90ZSBhbmQgcmVsYXRlZCBlbGVtZW50cy4KKy0tPgorCis8IUVMRU1FTlQgZWRub3RlIChuYW1lPywgZGF0ZT8sIGVkdGV4dCk+Cis8IUFUVExJU1QgZWRub3RlICVjb21tb24uYXR0Oz4KKworPCFFTEVNRU5UIGRhdGUgKCNQQ0RBVEEpPgorPCFBVFRMSVNUIGRhdGUgJWNvbW1vbi5hdHQ7PgorCis8IUVMRU1FTlQgZWR0ZXh0ICgjUENEQVRBKT4KKzwhQVRUTElTVCBlZHRleHQgJWNvbW1vbi5hdHQ7PgorCis8IUVMRU1FTlQgZW1waCAoI1BDREFUQSk+Cis8IUFUVExJU1QgZW1waCAlY29tbW9uLmF0dDs+CisKKzwhLS0gICAgZm9vdG5vdGU6IEJvdGggZm9vdG5vdGUgY29udGVudCBhbmQgY2FsbCB0byBmb290bm90ZSAtLT4KKzwhRUxFTUVOVCBmb290bm90ZSAoJW9iai5taXg7KSs+Cis8IUFUVExJU1QgZm9vdG5vdGUgJWNvbW1vbi5hdHQ7PgorCis8IUVMRU1FTlQga3cgKCV0ZWNoLnBjZC5taXg7KSo+Cis8IUFUVExJU1Qga3cgJWNvbW1vbi5hdHQ7PgorCis8IUVMRU1FTlQgbG9jICgjUENEQVRBKT4KKzwhLS0gICAgSFJFRiBhdHRyaWJ1dGU6CisgICAgICAgIFRoZSBwdXJwb3NlIG9mIGEgbG9jIGVsZW1lbnQgaXMgdG8gZnVuY3Rpb24gYXMgYSBoeXBlcnRleHQKKyAgICAgICAgbGluayB0byBhIHJlc291cmNlLiAgKElkZWFsbHksIHRoZSBjb250ZW50IG9mIGxvYyB3aWxsIGFsc28KKyAgICAgICAgbWVudGlvbiB0aGUgVVJJIG9mIHRoZSByZXNvdXJjZSwgc28gdGhhdCByZWFkZXJzIG9mIHRoZQorICAgICAgICBwcmludGVkIHZlcnNpb24gd2lsbCBiZSBhYmxlIHRvIGxvY2F0ZSB0aGUgcmVzb3VyY2UuKSAtLT4KKzwhQVRUTElTVCBsb2MKKyAgICAgICAgJWNvbW1vbi5hdHQ7CisgICAgICAgICVocmVmLXJlcS5hdHQ7PgorCis8IUVMRU1FTlQgbnQgKCNQQ0RBVEEpPgorPCEtLSAgICBkZWYgYXR0cmlidXRlOgorICAgICAgICBUaGUgbm9udGVybWluYWwgbXVzdCBsaW5rIHRvIHRoZSBwcm9kdWN0aW9uIHRoYXQgZGVmaW5lcworICAgICAgICBpdC4gLS0+Cis8IUFUVExJU1QgbnQKKyAgICAgICAgJWNvbW1vbi5hdHQ7CisgICAgICAgICVkZWYtcmVxLmF0dDs+CisKKzwhLS0KKyMxOTk4LTAzLTEwOiBtYWxlcjogRGVjbGFyZWQgcXVvdGUuCistLT4KKworPCEtLSAgICBxdW90ZTogU2NhcmUgcXVvdGVzIGFuZCBvdGhlciBwdXJlbHkgcHJlc2VudGF0aW9uYWwgcXVvdGVzIC0tPgorPCFFTEVNRU5UIHF1b3RlICglcC5wY2QubWl4OykqPgorPCFBVFRMSVNUIHF1b3RlICVjb21tb24uYXR0Oz4KKworPCEtLSAgICBzcGVjcmVmOiBTaG91bGQgZ2VuZXJhdGUgaXRhbGljICJbbi5uXSwgU2VjdGlvbiBUaXRsZSIgZm9yCisgICAgICAgIGRpdiwgIm4iIGZvciBudW1iZXJlZCBpdGVtLCBvciAiW25dIiBmb3IgcHJvZHVjdGlvbiAtLT4KKzwhRUxFTUVOVCBzcGVjcmVmIEVNUFRZPgorPCEtLSAgICByZWYgYXR0cmlidXRlOgorICAgICAgICBUaGUgcHVycG9zZSBvZiBhIHNwZWNyZWYgZWxlbWVudCBpcyB0byBsaW5rIHRvIGEgZGl2LCBpdGVtCisgICAgICAgIGluIGFuIG9saXN0LCBvciBwcm9kdWN0aW9uIGluIHRoZSBjdXJyZW50IHNwZWMuIC0tPgorPCFBVFRMSVNUIHNwZWNyZWYKKyAgICAgICAgJWNvbW1vbi5hdHQ7CisgICAgICAgICVyZWYtcmVxLmF0dDs+CisKKzwhRUxFTUVOVCB0ZXJtICgjUENEQVRBKT4KKzwhQVRUTElTVCB0ZXJtICVjb21tb24uYXR0Oz4KKworPCFFTEVNRU5UIHRlcm1kZWYgKCV0ZXJtZGVmLnBjZC5taXg7fCV0ZXJtZGVmLm1peDspKj4KKzwhLS0gICAgSUQgYXR0cmlidXRlOgorICAgICAgICBBIHRlcm0gZGVmaW5pdGlvbiBtdXN0IGhhdmUgYW4gSUQgc28gdGhhdCBpdCBjYW4gYmUgbGlua2VkCisgICAgICAgIHRvIGZyb20gdGVybXJlZiBlbGVtZW50cy4gLS0+Cis8IS0tICAgIHRlcm0gYXR0cmlidXRlOgorICAgICAgICBUaGUgY2Fub25pY2FsIGZvcm0gb2YgdGhlIHRlcm0gb3IgcGhyYXNlIGJlaW5nIGRlZmluZWQgbXVzdAorICAgICAgICBhcHBlYXIgaW4gdGhpcyBhdHRyaWJ1dGUsIGV2ZW4gaWYgdGhlIHRlcm0gb3IgcGhyYXNlIGFsc28KKyAgICAgICAgYXBwZWFycyBpbiB0aGUgZWxlbWVudCBjb250ZW50IGluIGlkZW50aWNhbCBmb3JtIChlLmcuLCBpbgorICAgICAgICB0aGUgdGVybSBlbGVtZW50KS4gLS0+Cis8IUFUVExJU1QgdGVybWRlZgorICAgICAgICAlY29tbW9uLWlkcmVxLmF0dDsKKyAgICAgICAgdGVybSAgICAgICAgICAgIENEQVRBICAgICAgICAgICAjUkVRVUlSRUQ+CisKKzwhRUxFTUVOVCB0ZXJtcmVmICgjUENEQVRBKT4KKzwhLS0gICAgcmVmIGF0dHJpYnV0ZToKKyAgICAgICAgQSB0ZXJtIHJlZmVyZW5jZSBtdXN0IGxpbmsgdG8gdGhlIHRlcm1kZWYgZWxlbWVudCB0aGF0CisgICAgICAgIGRlZmluZXMgdGhlIHRlcm0uIC0tPgorPCFBVFRMSVNUIHRlcm1yZWYKKyAgICAgICAgJWNvbW1vbi5hdHQ7CisgICAgICAgICVkZWYtcmVxLmF0dDs+CisKKzwhRUxFTUVOVCB0aXRsZXJlZiAoI1BDREFUQSk+Cis8IS0tICAgIEhSRUYgYXR0cmlidXRlOgorICAgICAgICBBIHRpdGxlIHJlZmVyZW5jZSBjYW4gb3B0aW9uYWxseSBmdW5jdGlvbiBhcyBhIGh5cGVydGV4dAorICAgICAgICBsaW5rIHRvIHRoZSByZXNvdXJjZSB3aXRoIHRoaXMgdGl0bGUuIC0tPgorPCFBVFRMSVNUIHRpdGxlcmVmCisgICAgICAgICVjb21tb24uYXR0OworICAgICAgICAlaHJlZi5hdHQ7PgorCis8IUVMRU1FTlQgeG50ICgjUENEQVRBKT4KKzwhLS0gICAgSFJFRiBhdHRyaWJ1dGU6CisgICAgICAgIFRoZSBub250ZXJtaW5hbCBtdXN0IGh5cGVybGluayB0byBhIHJlc291cmNlIHRoYXQgc2VydmVzCisgICAgICAgIHRvIGRlZmluZSBpdCAoZS5nLiwgYSBwcm9kdWN0aW9uIGluIGEgcmVsYXRlZCBYTUwKKyAgICAgICAgc3BlY2lmaWNhdGlvbikuIC0tPgorPCFBVFRMSVNUIHhudAorICAgICAgICAlY29tbW9uLmF0dDsKKyAgICAgICAgJWhyZWYtcmVxLmF0dDs+CisKKzwhLS0KKyMxOTk3LTEyLTI5OiBtYWxlcjogRGVjbGFyZWQgeHNwZWNyZWYuCistLT4KKworPCFFTEVNRU5UIHhzcGVjcmVmICgjUENEQVRBKT4KKzwhLS0gICAgSFJFRiBhdHRyaWJ1dGU6CisgICAgICAgIFRoZSBzcGVjIHJlZmVyZW5jZSBtdXN0IGh5cGVybGluayB0byB0aGUgcmVzb3VyY2UgdG8KKyAgICAgICAgY3Jvc3MtcmVmZXIgdG8gKGUuZy4sIGEgc2VjdGlvbiBpbiBhIHJlbGF0ZWQgWE1MCisgICAgICAgIHNwZWNpZmljYXRpb24pLiAtLT4KKzwhQVRUTElTVCB4c3BlY3JlZgorICAgICAgICAlY29tbW9uLmF0dDsKKyAgICAgICAgJWhyZWYtcmVxLmF0dDs+CisKKzwhRUxFTUVOVCB4dGVybXJlZiAoI1BDREFUQSk+Cis8IS0tICAgIEhSRUYgYXR0cmlidXRlOgorICAgICAgICBUaGUgdGVybSByZWZlcmVuY2UgbXVzdCBoeXBlcmxpbmsgdG8gdGhlIHJlc291cmNlIHRoYXQKKyAgICAgICAgc2VydmVzIHRvIGRlZmluZSB0aGUgdGVybSAoZS5nLiwgYSB0ZXJtIGRlZmluaXRpb24gaW4KKyAgICAgICAgYSByZWxhdGVkIFhNTCBzcGVjaWZpY2F0aW9uKS4gLS0+Cis8IUFUVExJU1QgeHRlcm1yZWYKKyAgICAgICAgJWNvbW1vbi5hdHQ7CisgICAgICAgICVocmVmLXJlcS5hdHQ7PgorCis8IS0tIC4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAtLT4KKzwhLS0gVW51c2VkIGVsZW1lbnRzIGZvciBBREVQVCAuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uIC0tPgorCis8IS0tCisjMTk5Ny0wOS0zMDogbWFsZXI6IEFkZGVkIHVudXN1ZWQgZWxlbWVudHMuCisjMTk5Ny0xMC0xNDogbWFsZXI6IEZpeGVkIGRpdiB0byBtb3ZlIG5lc3RlZCBkaXYgdG8gdGhlIG1peHR1cmUuCistLT4KKworPCEtLSAgICBUaGUgZm9sbG93aW5nIGVsZW1lbnRzIGFyZSBwdXJwb3NlbHkgZGVjbGFyZWQgYnV0IG5ldmVyCisgICAgICAgIHJlZmVyZW5jZWQuICBEZWNsYXJpbmcgdGhlbSBhbGxvd3MgdGhlbSB0byBiZSBwYXN0ZWQgZnJvbQorICAgICAgICBhbiBIVE1MIGRvY3VtZW50IGludG8gYSBkb2N1bWVudCB1c2luZyB0aGlzIERURCBpbiBBREVQVC4KKyAgICAgICAgVGhlIEFURCBDb250ZXh0IFRyYW5zZm9ybWF0aW9uIG1lY2hhbmlzbSB3aWxsIHRyeSB0byBjb252ZXJ0CisgICAgICAgIHRoZW0gdG8gdGhlIGFwcHJvcHJpYXRlIGVsZW1lbnQgZm9yIHRoaXMgRFRELiAgV2hpbGUgdGhpcworICAgICAgICBjb252ZXJzaW9uIHdpbGwgbm90IHdvcmsgZm9yIGFsbCBmcmFnbWVudHMsIGl0IGRvZXMgYWxsb3cKKyAgICAgICAgbWFueSBjYXNlcyB0byB3b3JrIHJlYXNvbmFibHkgd2VsbC4gLS0+CisKKzwhRUxFTUVOVCBkaXYKKyAgICAgICAgKGhlYWQ/LCAoJWRpdi5taXg7fHVsfG9sfGgxfGgyfGgzfGg0fGg1fGg2fGRpdikqKT4KKzwhRUxFTUVOVCBoMSAoJWhlYWQucGNkLm1peDt8ZW18YSkqPgorPCFFTEVNRU5UIGgyICglaGVhZC5wY2QubWl4O3xlbXxhKSo+Cis8IUVMRU1FTlQgaDMgKCVoZWFkLnBjZC5taXg7fGVtfGEpKj4KKzwhRUxFTUVOVCBoNCAoJWhlYWQucGNkLm1peDt8ZW18YSkqPgorPCFFTEVNRU5UIGg1ICglaGVhZC5wY2QubWl4O3xlbXxhKSo+Cis8IUVMRU1FTlQgaDYgKCVoZWFkLnBjZC5taXg7fGVtfGEpKj4KKzwhRUxFTUVOVCBwcmUgKCVlZy5wY2QubWl4O3xlbSkqPgorPCFFTEVNRU5UIHVsIChpdGVtfGxpKSo+Cis8IUVMRU1FTlQgb2wgKGl0ZW18bGkpKj4KKzwhRUxFTUVOVCBsaSAoI1BDREFUQXwlb2JqLm1peDspKj4KKzwhRUxFTUVOVCBlbSAoI1BDREFUQSk+Cis8IUVMRU1FTlQgYSAoI1BDREFUQSk+CisKKzwhLS0gLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uIC0tPgorPCEtLSBDaGFuZ2UgaGlzdG9yeSAuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gLS0+CisKKzwhLS0KKyMxOTk3LTA4LTE4OiBtYWxlcgorIy0gRGlkIGEgbWFqb3IgcmV2aXNpb24uCisjMTk5Ny0wOS0xMDogbWFsZXIKKyMtIFVwZGF0ZWQgRlBJLgorIy0gUmVtb3ZlZCBuYW1la2V5IGVsZW1lbnQgYW5kIHB1dCBrZXkgYXR0cmlidXRlIG9uIG5hbWUgZWxlbWVudC4KKyMtIE1hZGUgc3RhdHVzcCBlbGVtZW50IGFuZCBzdXBwb3J0aW5nIGVudGl0aWVzLgorIy0gQWRkZWQgc2xpc3QgZWxlbWVudCB3aXRoIHNpdGVtKyBjb250ZW50LgorIy0gUmVxdWlyZWQgaGVhZCBvbiBzY3JhcCBhbmQgYWRkZWQgbmV3IGJuZiBzdWJlbGVtZW50LgorIy0gQWRkZWQgYW4geG50IGVsZW1lbnQgYW5kIGFsbG93ZWQgaXQgYW5kIG50IGluIHJlZ3VsYXIgdGV4dCBhbmQgcmhzLgorIy0gUmVtb3ZlZCB0aGUgbnRyZWYgZWxlbWVudC4KKyMtIEFkZGVkIGJhY2sgdGhlIGNvbSBlbGVtZW50IHRvIHRoZSBjb250ZW50IG9mIHJocy4KKyMtIEFkZGVkIGEga2V5IGF0dHJpYnV0ZSB0byBiaWJsLgorIy0gUmVtb3ZlZCB0aGUgaWRlbnQgZWxlbWVudC4KKyMtIEFkZGVkIGEgdGVybSBlbGVtZW50IHRvIGJlIHVzZWQgaW5zaWRlIHRlcm1kZWYuCisjLSBBZGRlZCBhbiB4dGVybXJlZiBlbGVtZW50IHBhcmFsbGVsIHRvIHRlcm1yZWYuCisjLSBCZWVmZWQgdXAgRFREIGNvbW1lbnRzLgorIzE5OTctMDktMTI6IG1hbGVyCisjLSBBbGxvd2VkIHRlcm0gZWxlbWVudCBpbiBnZW5lcmFsIHRleHQuCisjLSBDaGFuZ2VkIGJpYnJlZiB0byBFTVBUWS4KKyMtIEFkZGVkIHJlZi5jbGFzcyB0byB0ZXJtZGVmLnBjZC5taXguCisjMTk5Ny0wOS0xNDogbWFsZXIKKyMtIENoYW5nZWQgbWFpbiBhdHRyaWJ1dGUgb2YgeHRlcm1yZWYgZnJvbSBkZWYgdG8gaHJlZi4KKyMtIEFkZGVkIHRlcm1kZWYuY2xhc3MgdG8gbGFiZWwgY29udGVudHMuCisjMTk5Ny0wOS0zMDogbWFsZXIKKyMtIEFkZGVkIGNoYXJhY3RlciBlbnRpdHkgbW9kdWxlIGFuZCBhZGRlZCBuZXcgZW50aXRpZXMuCisjLSBSZW1vdmVkIHAgZnJvbSBhcHBlYXJpbmcgZGlyZWN0bHkgaW4gc2VsZjsgY3JlYXRlZCAlcC5taXg7LgorIy0gQWRkZWQgaW5mb3JtLWRpdiAobm9uLW5vcm1hdGl2ZSBkaXZpc2lvbikgZWxlbWVudC4KKyMtIEZpeGVkIHh0ZXJtcmVmIGNvbW1lbnQgdG8gbWVudGlvbiBIUkVGLCBub3QgcmVmLgorIy0gRXh0ZW5kZWQgb3JnbGlzdCBtb2RlbCB0byBhbGxvdyBvcHRpb25hbCBhZmZpbGlhdGlvbi4KKyMtIE1vZGlmaWVkIGF1dGhvciB0byBtYWtlIGFmZmlsaWF0aW9uIG9wdGlvbmFsLgorIy0gQWRkZWQgJXNwZWNsaXN0LmNsYXNzOyBhbmQgJW5vdGUuY2xhc3M7IHRvICVvYmoubWl4OyBhbmQgJXAubWl4Oy4KKyMtIEFkZGVkICVub3RlLmNsYXNzOyBhbmQgJWlsbHVzLmNsYXNzOyB0byAldGVybWRlZi5wY2QubWl4Oy4KKyMtIEFkZGVkIHVudXNlZCBIVE1MIGVsZW1lbnRzLgorIy0gUHV0IGVtcHR5IHN5c3RlbSBJRCBuZXh0IHRvIHB1YmxpYyBJRCBpbiBlbnRpdHkgZGVjbGFyYXRpb25zLgorIzE5OTctMTAtMTQ6IG1hbGVyCisjLSBGaXhlZCAidW51c2VkIiBkaXYgY29udGVudCBtb2RlbCB0byBtb3ZlIG5lc3RlZCBkaXYgdG8gbWl4dHVyZS4KKyMxOTk3LTEwLTE2OiBtYWxlcgorIy0gQWRkZWQgU0dNTCBPcGVuIEV4Y2hhbmdlIHRhYmxlcy4KKyMxOTk3LTExLTI4OiBtYWxlcgorIy0gQWRkZWQgc3VwcG9ydCBmb3IgcHJvZGdyb3VwIGFuZCBpdHMgYXR0cmlidXRlcy4KKyMtIEFkZGVkIHN1cHBvcnQgZm9yIEhUTUwgdGFibGVzLgorIy0gQWRkZWQgbG9jIGFuZCBiaWJyZWYgdG8gY29udGVudCBvZiBjb20uCisjLSBBZGRlZCBsb2MgdG8gZ2VuZXJhbCBwIGNvbnRlbnQgbW9kZWxzLgorIy0gQWxsb3dlZCBwIGFzIGFsdGVybmF0aXZlIHRvIHN0YXR1c3AgaW4gc3RhdHVzLgorIy0gQWRkZWQgbm9uLW51bGwgc3lzdGVtIElEcyB0byBleHRlcm5hbCBwYXJhbWV0ZXIgZW50aXR5IGRlY2xhcmF0aW9ucy4KKyMtIChNb2RpZmllZCB0aGUgU0dNTCBPcGVuIHRhYmxlIG1vZHVsZSB0byBtYWtlIGl0IFhNTC1jb21wbGlhbnQuKQorIy0gKE1vZGlmaWVkIHRoZSBjaGFyYWN0ZXIgZW50aXR5IG1vZHVsZS4pCisjMTk5Ny0xMi0yOTogbWFsZXIKKyMtIE1vdmVkICNQQ0RBVEEgb2NjdXJyZW5jZXMgdG8gY29tZSBiZWZvcmUgR0lzIGluIGNvbnRlbnQgbW9kZWxzLgorIy0gUmVtb3ZlZCB1c2Ugb2YgdGhlIFNHTUwgT3BlbiB0YWJsZSBtb2R1bGUuCisjLSBBZGRlZCB4c3BlY3JlZiBlbGVtZW50LgorIy0gRW5zdXJlZCB0aGF0IGFsbCBGUElzIGNvbnRhaW4gNC1kaWdpdCB5ZWFyLgorIy0gKE1vZGlmaWVkIHRoZSBjaGFyYWN0ZXIgZW50aXR5IG1vZHVsZS4pCisjMTk5Ny0wMy0xMDogbWFsZXIKKyMtIE1lcmdlZCB0aGUgY2hhcmFjdGVyIGVudGl0eSBhbmQgdGFibGUgbW9kdWxlcyBpbnRvIHRoZSBtYWluIGZpbGUuCisjLSBBZGRlZCBsZHF1byBhbmQgcmRxdW8gZW50aXRpZXMuCisjLSBBZGRlZCBjb21tb24gYXR0cmlidXRlcyB0byBwcm9kZ3JvdXAuCisjLSBNYWRlIHRoZSBlbWFpbCBlbGVtZW50IGluIGhlYWRlciBvcHRpb25hbC4KKyMtIFJlbW92ZWQgcmVmZXJlbmNlIHRvIHRoZSBTR01MIE9wZW4gdGFibGUgbW9kZWwuCisjLSBBZGRlZCBlZG5vdGUgZWxlbWVudC4KKyMtIEFkZGVkIHF1b3RlIGVsZW1lbnQuCisjLSBVcGRhdGVkIFhMaW5rIHVzYWdlIHRvIHJlZmxlY3QgMyBNYXJjaCAxOTk4IFdELgorIy0gQWRkZWQgImxvY2FsIiBlbnRpdGllcyB0byB0aGUgY2xhc3MgZW50aXRpZXMgZm9yIGN1c3RvbWl6YXRpb24uCisjLSBQYXJhbWV0ZXJpemVkIHNldmVyYWwgY29udGVudCBtb2RlbHMgdG8gYWxsb3cgZm9yIGN1c3RvbWl6YXRpb24uCisjMTk5Ny0wMy0yMzogbWFsZXIKKyMtIENsZWFuZWQgdXAgc29tZSBjb21tZW50cyBhbmQgcmVtb3ZlZCBzb21lIG90aGVycy4KKyMtIEFkZGVkIHhtbDpzcGFjZSBzZW1pLWNvbW1vbiBhdHRyaWJ1dGUgdG8gZWcgYW5kIGJuZiBlbGVtZW50cy4KKyMtIEFkZGVkIHNob3cgYW5kIGVtYmVkIGF0dHJpYnV0ZXMgb24gYWxsIHRoZSB1c2VzIG9mIGhyZWYuCisjLSBBZGRlZCAlY29tbW9uLmF0dDsgdG8gYWxsIEhUTUwgdGFibGUgZWxlbWVudHMuCisjLSBBZGRlZCBhIHJlYWwgVVJJIHRvIHRoZSAidHlwaWNhbCBpbnZvY2F0aW9uIiBjb21tZW50LgorLS0+CisKKzwhLS0gLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uIC0tPgorPCEtLSBFbmQgb2YgWE1MIHNwZWNpZmljYXRpb24gRFREIC4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gLS0+Cis8IS0tIC4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAtLT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC92YWxpZC9kdGRzL3V0ZjE2Yi5lbnQgYi9saWJ4bWwyL3Rlc3QvdmFsaWQvZHRkcy91dGYxNmIuZW50Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUyYzdlMmQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvdmFsaWQvZHRkcy91dGYxNmIuZW50CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC92YWxpZC9kdGRzL3V0ZjE2bC5lbnQgYi9saWJ4bWwyL3Rlc3QvdmFsaWQvZHRkcy91dGYxNmwuZW50Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJjYWQ0MGEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvdmFsaWQvZHRkcy91dGYxNmwuZW50CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC92YWxpZC9kdGRzL3hodG1sLWxhdDEuZW50IGIvbGlieG1sMi90ZXN0L3ZhbGlkL2R0ZHMveGh0bWwtbGF0MS5lbnQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWFhZTczOAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC92YWxpZC9kdGRzL3hodG1sLWxhdDEuZW50CkBAIC0wLDAgKzEsMTk2IEBACis8IS0tIFBvcnRpb25zIChDKSBJbnRlcm5hdGlvbmFsIE9yZ2FuaXphdGlvbiBmb3IgU3RhbmRhcmRpemF0aW9uIDE5ODYKKyAgICAgUGVybWlzc2lvbiB0byBjb3B5IGluIGFueSBmb3JtIGlzIGdyYW50ZWQgZm9yIHVzZSB3aXRoCisgICAgIGNvbmZvcm1pbmcgU0dNTCBzeXN0ZW1zIGFuZCBhcHBsaWNhdGlvbnMgYXMgZGVmaW5lZCBpbgorICAgICBJU08gODg3OSwgcHJvdmlkZWQgdGhpcyBub3RpY2UgaXMgaW5jbHVkZWQgaW4gYWxsIGNvcGllcy4KKy0tPgorPCEtLSBDaGFyYWN0ZXIgZW50aXR5IHNldC4gVHlwaWNhbCBpbnZvY2F0aW9uOgorICAgIDwhRU5USVRZICUgSFRNTGxhdDEgUFVCTElDCisgICAgICAgIi0vL1czQy8vRU5USVRJRVMgTGF0aW4gMSBmb3IgWEhUTUwvL0VOIgorICAgICAgICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sLWxhdDEuZW50Ij4KKyAgICAlSFRNTGxhdDE7CistLT4KKworPCFFTlRJVFkgbmJzcCAgICImIzE2MDsiPiA8IS0tIG5vLWJyZWFrIHNwYWNlID0gbm9uLWJyZWFraW5nIHNwYWNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFUrMDBBMCBJU09udW0gLS0+Cis8IUVOVElUWSBpZXhjbCAgIiYjMTYxOyI+IDwhLS0gaW52ZXJ0ZWQgZXhjbGFtYXRpb24gbWFyaywgVSswMEExIElTT251bSAtLT4KKzwhRU5USVRZIGNlbnQgICAiJiMxNjI7Ij4gPCEtLSBjZW50IHNpZ24sIFUrMDBBMiBJU09udW0gLS0+Cis8IUVOVElUWSBwb3VuZCAgIiYjMTYzOyI+IDwhLS0gcG91bmQgc2lnbiwgVSswMEEzIElTT251bSAtLT4KKzwhRU5USVRZIGN1cnJlbiAiJiMxNjQ7Ij4gPCEtLSBjdXJyZW5jeSBzaWduLCBVKzAwQTQgSVNPbnVtIC0tPgorPCFFTlRJVFkgeWVuICAgICImIzE2NTsiPiA8IS0tIHllbiBzaWduID0geXVhbiBzaWduLCBVKzAwQTUgSVNPbnVtIC0tPgorPCFFTlRJVFkgYnJ2YmFyICImIzE2NjsiPiA8IS0tIGJyb2tlbiBiYXIgPSBicm9rZW4gdmVydGljYWwgYmFyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFUrMDBBNiBJU09udW0gLS0+Cis8IUVOVElUWSBzZWN0ICAgIiYjMTY3OyI+IDwhLS0gc2VjdGlvbiBzaWduLCBVKzAwQTcgSVNPbnVtIC0tPgorPCFFTlRJVFkgdW1sICAgICImIzE2ODsiPiA8IS0tIGRpYWVyZXNpcyA9IHNwYWNpbmcgZGlhZXJlc2lzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFUrMDBBOCBJU09kaWEgLS0+Cis8IUVOVElUWSBjb3B5ICAgIiYjMTY5OyI+IDwhLS0gY29weXJpZ2h0IHNpZ24sIFUrMDBBOSBJU09udW0gLS0+Cis8IUVOVElUWSBvcmRmICAgIiYjMTcwOyI+IDwhLS0gZmVtaW5pbmUgb3JkaW5hbCBpbmRpY2F0b3IsIFUrMDBBQSBJU09udW0gLS0+Cis8IUVOVElUWSBsYXF1byAgIiYjMTcxOyI+IDwhLS0gbGVmdC1wb2ludGluZyBkb3VibGUgYW5nbGUgcXVvdGF0aW9uIG1hcmsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IGxlZnQgcG9pbnRpbmcgZ3VpbGxlbWV0LCBVKzAwQUIgSVNPbnVtIC0tPgorPCFFTlRJVFkgbm90ICAgICImIzE3MjsiPiA8IS0tIG5vdCBzaWduID0gZGlzY3JldGlvbmFyeSBoeXBoZW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVSswMEFDIElTT251bSAtLT4KKzwhRU5USVRZIHNoeSAgICAiJiMxNzM7Ij4gPCEtLSBzb2Z0IGh5cGhlbiA9IGRpc2NyZXRpb25hcnkgaHlwaGVuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFUrMDBBRCBJU09udW0gLS0+Cis8IUVOVElUWSByZWcgICAgIiYjMTc0OyI+IDwhLS0gcmVnaXN0ZXJlZCBzaWduID0gcmVnaXN0ZXJlZCB0cmFkZSBtYXJrIHNpZ24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVSswMEFFIElTT251bSAtLT4KKzwhRU5USVRZIG1hY3IgICAiJiMxNzU7Ij4gPCEtLSBtYWNyb24gPSBzcGFjaW5nIG1hY3JvbiA9IG92ZXJsaW5lCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSBBUEwgb3ZlcmJhciwgVSswMEFGIElTT2RpYSAtLT4KKzwhRU5USVRZIGRlZyAgICAiJiMxNzY7Ij4gPCEtLSBkZWdyZWUgc2lnbiwgVSswMEIwIElTT251bSAtLT4KKzwhRU5USVRZIHBsdXNtbiAiJiMxNzc7Ij4gPCEtLSBwbHVzLW1pbnVzIHNpZ24gPSBwbHVzLW9yLW1pbnVzIHNpZ24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVSswMEIxIElTT251bSAtLT4KKzwhRU5USVRZIHN1cDIgICAiJiMxNzg7Ij4gPCEtLSBzdXBlcnNjcmlwdCB0d28gPSBzdXBlcnNjcmlwdCBkaWdpdCB0d28KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IHNxdWFyZWQsIFUrMDBCMiBJU09udW0gLS0+Cis8IUVOVElUWSBzdXAzICAgIiYjMTc5OyI+IDwhLS0gc3VwZXJzY3JpcHQgdGhyZWUgPSBzdXBlcnNjcmlwdCBkaWdpdCB0aHJlZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gY3ViZWQsIFUrMDBCMyBJU09udW0gLS0+Cis8IUVOVElUWSBhY3V0ZSAgIiYjMTgwOyI+IDwhLS0gYWN1dGUgYWNjZW50ID0gc3BhY2luZyBhY3V0ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVKzAwQjQgSVNPZGlhIC0tPgorPCFFTlRJVFkgbWljcm8gICImIzE4MTsiPiA8IS0tIG1pY3JvIHNpZ24sIFUrMDBCNSBJU09udW0gLS0+Cis8IUVOVElUWSBwYXJhICAgIiYjMTgyOyI+IDwhLS0gcGlsY3JvdyBzaWduID0gcGFyYWdyYXBoIHNpZ24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVSswMEI2IElTT251bSAtLT4KKzwhRU5USVRZIG1pZGRvdCAiJiMxODM7Ij4gPCEtLSBtaWRkbGUgZG90ID0gR2VvcmdpYW4gY29tbWEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IEdyZWVrIG1pZGRsZSBkb3QsIFUrMDBCNyBJU09udW0gLS0+Cis8IUVOVElUWSBjZWRpbCAgIiYjMTg0OyI+IDwhLS0gY2VkaWxsYSA9IHNwYWNpbmcgY2VkaWxsYSwgVSswMEI4IElTT2RpYSAtLT4KKzwhRU5USVRZIHN1cDEgICAiJiMxODU7Ij4gPCEtLSBzdXBlcnNjcmlwdCBvbmUgPSBzdXBlcnNjcmlwdCBkaWdpdCBvbmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVSswMEI5IElTT251bSAtLT4KKzwhRU5USVRZIG9yZG0gICAiJiMxODY7Ij4gPCEtLSBtYXNjdWxpbmUgb3JkaW5hbCBpbmRpY2F0b3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVSswMEJBIElTT251bSAtLT4KKzwhRU5USVRZIHJhcXVvICAiJiMxODc7Ij4gPCEtLSByaWdodC1wb2ludGluZyBkb3VibGUgYW5nbGUgcXVvdGF0aW9uIG1hcmsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IHJpZ2h0IHBvaW50aW5nIGd1aWxsZW1ldCwgVSswMEJCIElTT251bSAtLT4KKzwhRU5USVRZIGZyYWMxNCAiJiMxODg7Ij4gPCEtLSB2dWxnYXIgZnJhY3Rpb24gb25lIHF1YXJ0ZXIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IGZyYWN0aW9uIG9uZSBxdWFydGVyLCBVKzAwQkMgSVNPbnVtIC0tPgorPCFFTlRJVFkgZnJhYzEyICImIzE4OTsiPiA8IS0tIHZ1bGdhciBmcmFjdGlvbiBvbmUgaGFsZgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gZnJhY3Rpb24gb25lIGhhbGYsIFUrMDBCRCBJU09udW0gLS0+Cis8IUVOVElUWSBmcmFjMzQgIiYjMTkwOyI+IDwhLS0gdnVsZ2FyIGZyYWN0aW9uIHRocmVlIHF1YXJ0ZXJzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSBmcmFjdGlvbiB0aHJlZSBxdWFydGVycywgVSswMEJFIElTT251bSAtLT4KKzwhRU5USVRZIGlxdWVzdCAiJiMxOTE7Ij4gPCEtLSBpbnZlcnRlZCBxdWVzdGlvbiBtYXJrCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSB0dXJuZWQgcXVlc3Rpb24gbWFyaywgVSswMEJGIElTT251bSAtLT4KKzwhRU5USVRZIEFncmF2ZSAiJiMxOTI7Ij4gPCEtLSBsYXRpbiBjYXBpdGFsIGxldHRlciBBIHdpdGggZ3JhdmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IGxhdGluIGNhcGl0YWwgbGV0dGVyIEEgZ3JhdmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVSswMEMwIElTT2xhdDEgLS0+Cis8IUVOVElUWSBBYWN1dGUgIiYjMTkzOyI+IDwhLS0gbGF0aW4gY2FwaXRhbCBsZXR0ZXIgQSB3aXRoIGFjdXRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFUrMDBDMSBJU09sYXQxIC0tPgorPCFFTlRJVFkgQWNpcmMgICImIzE5NDsiPiA8IS0tIGxhdGluIGNhcGl0YWwgbGV0dGVyIEEgd2l0aCBjaXJjdW1mbGV4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFUrMDBDMiBJU09sYXQxIC0tPgorPCFFTlRJVFkgQXRpbGRlICImIzE5NTsiPiA8IS0tIGxhdGluIGNhcGl0YWwgbGV0dGVyIEEgd2l0aCB0aWxkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVKzAwQzMgSVNPbGF0MSAtLT4KKzwhRU5USVRZIEF1bWwgICAiJiMxOTY7Ij4gPCEtLSBsYXRpbiBjYXBpdGFsIGxldHRlciBBIHdpdGggZGlhZXJlc2lzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFUrMDBDNCBJU09sYXQxIC0tPgorPCFFTlRJVFkgQXJpbmcgICImIzE5NzsiPiA8IS0tIGxhdGluIGNhcGl0YWwgbGV0dGVyIEEgd2l0aCByaW5nIGFib3ZlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSBsYXRpbiBjYXBpdGFsIGxldHRlciBBIHJpbmcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVSswMEM1IElTT2xhdDEgLS0+Cis8IUVOVElUWSBBRWxpZyAgIiYjMTk4OyI+IDwhLS0gbGF0aW4gY2FwaXRhbCBsZXR0ZXIgQUUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IGxhdGluIGNhcGl0YWwgbGlnYXR1cmUgQUUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVSswMEM2IElTT2xhdDEgLS0+Cis8IUVOVElUWSBDY2VkaWwgIiYjMTk5OyI+IDwhLS0gbGF0aW4gY2FwaXRhbCBsZXR0ZXIgQyB3aXRoIGNlZGlsbGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVSswMEM3IElTT2xhdDEgLS0+Cis8IUVOVElUWSBFZ3JhdmUgIiYjMjAwOyI+IDwhLS0gbGF0aW4gY2FwaXRhbCBsZXR0ZXIgRSB3aXRoIGdyYXZlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFUrMDBDOCBJU09sYXQxIC0tPgorPCFFTlRJVFkgRWFjdXRlICImIzIwMTsiPiA8IS0tIGxhdGluIGNhcGl0YWwgbGV0dGVyIEUgd2l0aCBhY3V0ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVKzAwQzkgSVNPbGF0MSAtLT4KKzwhRU5USVRZIEVjaXJjICAiJiMyMDI7Ij4gPCEtLSBsYXRpbiBjYXBpdGFsIGxldHRlciBFIHdpdGggY2lyY3VtZmxleCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVKzAwQ0EgSVNPbGF0MSAtLT4KKzwhRU5USVRZIEV1bWwgICAiJiMyMDM7Ij4gPCEtLSBsYXRpbiBjYXBpdGFsIGxldHRlciBFIHdpdGggZGlhZXJlc2lzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFUrMDBDQiBJU09sYXQxIC0tPgorPCFFTlRJVFkgSWdyYXZlICImIzIwNDsiPiA8IS0tIGxhdGluIGNhcGl0YWwgbGV0dGVyIEkgd2l0aCBncmF2ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVKzAwQ0MgSVNPbGF0MSAtLT4KKzwhRU5USVRZIElhY3V0ZSAiJiMyMDU7Ij4gPCEtLSBsYXRpbiBjYXBpdGFsIGxldHRlciBJIHdpdGggYWN1dGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVSswMENEIElTT2xhdDEgLS0+Cis8IUVOVElUWSBJY2lyYyAgIiYjMjA2OyI+IDwhLS0gbGF0aW4gY2FwaXRhbCBsZXR0ZXIgSSB3aXRoIGNpcmN1bWZsZXgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVSswMENFIElTT2xhdDEgLS0+Cis8IUVOVElUWSBJdW1sICAgIiYjMjA3OyI+IDwhLS0gbGF0aW4gY2FwaXRhbCBsZXR0ZXIgSSB3aXRoIGRpYWVyZXNpcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVKzAwQ0YgSVNPbGF0MSAtLT4KKzwhRU5USVRZIEVUSCAgICAiJiMyMDg7Ij4gPCEtLSBsYXRpbiBjYXBpdGFsIGxldHRlciBFVEgsIFUrMDBEMCBJU09sYXQxIC0tPgorPCFFTlRJVFkgTnRpbGRlICImIzIwOTsiPiA8IS0tIGxhdGluIGNhcGl0YWwgbGV0dGVyIE4gd2l0aCB0aWxkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVKzAwRDEgSVNPbGF0MSAtLT4KKzwhRU5USVRZIE9ncmF2ZSAiJiMyMTA7Ij4gPCEtLSBsYXRpbiBjYXBpdGFsIGxldHRlciBPIHdpdGggZ3JhdmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVSswMEQyIElTT2xhdDEgLS0+Cis8IUVOVElUWSBPYWN1dGUgIiYjMjExOyI+IDwhLS0gbGF0aW4gY2FwaXRhbCBsZXR0ZXIgTyB3aXRoIGFjdXRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFUrMDBEMyBJU09sYXQxIC0tPgorPCFFTlRJVFkgT2NpcmMgICImIzIxMjsiPiA8IS0tIGxhdGluIGNhcGl0YWwgbGV0dGVyIE8gd2l0aCBjaXJjdW1mbGV4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFUrMDBENCBJU09sYXQxIC0tPgorPCFFTlRJVFkgT3RpbGRlICImIzIxMzsiPiA8IS0tIGxhdGluIGNhcGl0YWwgbGV0dGVyIE8gd2l0aCB0aWxkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVKzAwRDUgSVNPbGF0MSAtLT4KKzwhRU5USVRZIE91bWwgICAiJiMyMTQ7Ij4gPCEtLSBsYXRpbiBjYXBpdGFsIGxldHRlciBPIHdpdGggZGlhZXJlc2lzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFUrMDBENiBJU09sYXQxIC0tPgorPCFFTlRJVFkgdGltZXMgICImIzIxNTsiPiA8IS0tIG11bHRpcGxpY2F0aW9uIHNpZ24sIFUrMDBENyBJU09udW0gLS0+Cis8IUVOVElUWSBPc2xhc2ggIiYjMjE2OyI+IDwhLS0gbGF0aW4gY2FwaXRhbCBsZXR0ZXIgTyB3aXRoIHN0cm9rZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gbGF0aW4gY2FwaXRhbCBsZXR0ZXIgTyBzbGFzaCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVKzAwRDggSVNPbGF0MSAtLT4KKzwhRU5USVRZIFVncmF2ZSAiJiMyMTc7Ij4gPCEtLSBsYXRpbiBjYXBpdGFsIGxldHRlciBVIHdpdGggZ3JhdmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVSswMEQ5IElTT2xhdDEgLS0+Cis8IUVOVElUWSBVYWN1dGUgIiYjMjE4OyI+IDwhLS0gbGF0aW4gY2FwaXRhbCBsZXR0ZXIgVSB3aXRoIGFjdXRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFUrMDBEQSBJU09sYXQxIC0tPgorPCFFTlRJVFkgVWNpcmMgICImIzIxOTsiPiA8IS0tIGxhdGluIGNhcGl0YWwgbGV0dGVyIFUgd2l0aCBjaXJjdW1mbGV4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFUrMDBEQiBJU09sYXQxIC0tPgorPCFFTlRJVFkgVXVtbCAgICImIzIyMDsiPiA8IS0tIGxhdGluIGNhcGl0YWwgbGV0dGVyIFUgd2l0aCBkaWFlcmVzaXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVSswMERDIElTT2xhdDEgLS0+Cis8IUVOVElUWSBZYWN1dGUgIiYjMjIxOyI+IDwhLS0gbGF0aW4gY2FwaXRhbCBsZXR0ZXIgWSB3aXRoIGFjdXRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFUrMDBERCBJU09sYXQxIC0tPgorPCFFTlRJVFkgVEhPUk4gICImIzIyMjsiPiA8IS0tIGxhdGluIGNhcGl0YWwgbGV0dGVyIFRIT1JOLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFUrMDBERSBJU09sYXQxIC0tPgorPCFFTlRJVFkgc3psaWcgICImIzIyMzsiPiA8IS0tIGxhdGluIHNtYWxsIGxldHRlciBzaGFycCBzID0gZXNzLXplZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVKzAwREYgSVNPbGF0MSAtLT4KKzwhRU5USVRZIGFncmF2ZSAiJiMyMjQ7Ij4gPCEtLSBsYXRpbiBzbWFsbCBsZXR0ZXIgYSB3aXRoIGdyYXZlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSBsYXRpbiBzbWFsbCBsZXR0ZXIgYSBncmF2ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVKzAwRTAgSVNPbGF0MSAtLT4KKzwhRU5USVRZIGFhY3V0ZSAiJiMyMjU7Ij4gPCEtLSBsYXRpbiBzbWFsbCBsZXR0ZXIgYSB3aXRoIGFjdXRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFUrMDBFMSBJU09sYXQxIC0tPgorPCFFTlRJVFkgYWNpcmMgICImIzIyNjsiPiA8IS0tIGxhdGluIHNtYWxsIGxldHRlciBhIHdpdGggY2lyY3VtZmxleCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVKzAwRTIgSVNPbGF0MSAtLT4KKzwhRU5USVRZIGF0aWxkZSAiJiMyMjc7Ij4gPCEtLSBsYXRpbiBzbWFsbCBsZXR0ZXIgYSB3aXRoIHRpbGRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFUrMDBFMyBJU09sYXQxIC0tPgorPCFFTlRJVFkgYXVtbCAgICImIzIyODsiPiA8IS0tIGxhdGluIHNtYWxsIGxldHRlciBhIHdpdGggZGlhZXJlc2lzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFUrMDBFNCBJU09sYXQxIC0tPgorPCFFTlRJVFkgYXJpbmcgICImIzIyOTsiPiA8IS0tIGxhdGluIHNtYWxsIGxldHRlciBhIHdpdGggcmluZyBhYm92ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gbGF0aW4gc21hbGwgbGV0dGVyIGEgcmluZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVKzAwRTUgSVNPbGF0MSAtLT4KKzwhRU5USVRZIGFlbGlnICAiJiMyMzA7Ij4gPCEtLSBsYXRpbiBzbWFsbCBsZXR0ZXIgYWUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IGxhdGluIHNtYWxsIGxpZ2F0dXJlIGFlLCBVKzAwRTYgSVNPbGF0MSAtLT4KKzwhRU5USVRZIGNjZWRpbCAiJiMyMzE7Ij4gPCEtLSBsYXRpbiBzbWFsbCBsZXR0ZXIgYyB3aXRoIGNlZGlsbGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVSswMEU3IElTT2xhdDEgLS0+Cis8IUVOVElUWSBlZ3JhdmUgIiYjMjMyOyI+IDwhLS0gbGF0aW4gc21hbGwgbGV0dGVyIGUgd2l0aCBncmF2ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVKzAwRTggSVNPbGF0MSAtLT4KKzwhRU5USVRZIGVhY3V0ZSAiJiMyMzM7Ij4gPCEtLSBsYXRpbiBzbWFsbCBsZXR0ZXIgZSB3aXRoIGFjdXRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFUrMDBFOSBJU09sYXQxIC0tPgorPCFFTlRJVFkgZWNpcmMgICImIzIzNDsiPiA8IS0tIGxhdGluIHNtYWxsIGxldHRlciBlIHdpdGggY2lyY3VtZmxleCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVKzAwRUEgSVNPbGF0MSAtLT4KKzwhRU5USVRZIGV1bWwgICAiJiMyMzU7Ij4gPCEtLSBsYXRpbiBzbWFsbCBsZXR0ZXIgZSB3aXRoIGRpYWVyZXNpcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVKzAwRUIgSVNPbGF0MSAtLT4KKzwhRU5USVRZIGlncmF2ZSAiJiMyMzY7Ij4gPCEtLSBsYXRpbiBzbWFsbCBsZXR0ZXIgaSB3aXRoIGdyYXZlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFUrMDBFQyBJU09sYXQxIC0tPgorPCFFTlRJVFkgaWFjdXRlICImIzIzNzsiPiA8IS0tIGxhdGluIHNtYWxsIGxldHRlciBpIHdpdGggYWN1dGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVSswMEVEIElTT2xhdDEgLS0+Cis8IUVOVElUWSBpY2lyYyAgIiYjMjM4OyI+IDwhLS0gbGF0aW4gc21hbGwgbGV0dGVyIGkgd2l0aCBjaXJjdW1mbGV4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFUrMDBFRSBJU09sYXQxIC0tPgorPCFFTlRJVFkgaXVtbCAgICImIzIzOTsiPiA8IS0tIGxhdGluIHNtYWxsIGxldHRlciBpIHdpdGggZGlhZXJlc2lzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFUrMDBFRiBJU09sYXQxIC0tPgorPCFFTlRJVFkgZXRoICAgICImIzI0MDsiPiA8IS0tIGxhdGluIHNtYWxsIGxldHRlciBldGgsIFUrMDBGMCBJU09sYXQxIC0tPgorPCFFTlRJVFkgbnRpbGRlICImIzI0MTsiPiA8IS0tIGxhdGluIHNtYWxsIGxldHRlciBuIHdpdGggdGlsZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVSswMEYxIElTT2xhdDEgLS0+Cis8IUVOVElUWSBvZ3JhdmUgIiYjMjQyOyI+IDwhLS0gbGF0aW4gc21hbGwgbGV0dGVyIG8gd2l0aCBncmF2ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVKzAwRjIgSVNPbGF0MSAtLT4KKzwhRU5USVRZIG9hY3V0ZSAiJiMyNDM7Ij4gPCEtLSBsYXRpbiBzbWFsbCBsZXR0ZXIgbyB3aXRoIGFjdXRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFUrMDBGMyBJU09sYXQxIC0tPgorPCFFTlRJVFkgb2NpcmMgICImIzI0NDsiPiA8IS0tIGxhdGluIHNtYWxsIGxldHRlciBvIHdpdGggY2lyY3VtZmxleCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVKzAwRjQgSVNPbGF0MSAtLT4KKzwhRU5USVRZIG90aWxkZSAiJiMyNDU7Ij4gPCEtLSBsYXRpbiBzbWFsbCBsZXR0ZXIgbyB3aXRoIHRpbGRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFUrMDBGNSBJU09sYXQxIC0tPgorPCFFTlRJVFkgb3VtbCAgICImIzI0NjsiPiA8IS0tIGxhdGluIHNtYWxsIGxldHRlciBvIHdpdGggZGlhZXJlc2lzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFUrMDBGNiBJU09sYXQxIC0tPgorPCFFTlRJVFkgZGl2aWRlICImIzI0NzsiPiA8IS0tIGRpdmlzaW9uIHNpZ24sIFUrMDBGNyBJU09udW0gLS0+Cis8IUVOVElUWSBvc2xhc2ggIiYjMjQ4OyI+IDwhLS0gbGF0aW4gc21hbGwgbGV0dGVyIG8gd2l0aCBzdHJva2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSBsYXRpbiBzbWFsbCBsZXR0ZXIgbyBzbGFzaCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVKzAwRjggSVNPbGF0MSAtLT4KKzwhRU5USVRZIHVncmF2ZSAiJiMyNDk7Ij4gPCEtLSBsYXRpbiBzbWFsbCBsZXR0ZXIgdSB3aXRoIGdyYXZlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFUrMDBGOSBJU09sYXQxIC0tPgorPCFFTlRJVFkgdWFjdXRlICImIzI1MDsiPiA8IS0tIGxhdGluIHNtYWxsIGxldHRlciB1IHdpdGggYWN1dGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVSswMEZBIElTT2xhdDEgLS0+Cis8IUVOVElUWSB1Y2lyYyAgIiYjMjUxOyI+IDwhLS0gbGF0aW4gc21hbGwgbGV0dGVyIHUgd2l0aCBjaXJjdW1mbGV4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFUrMDBGQiBJU09sYXQxIC0tPgorPCFFTlRJVFkgdXVtbCAgICImIzI1MjsiPiA8IS0tIGxhdGluIHNtYWxsIGxldHRlciB1IHdpdGggZGlhZXJlc2lzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFUrMDBGQyBJU09sYXQxIC0tPgorPCFFTlRJVFkgeWFjdXRlICImIzI1MzsiPiA8IS0tIGxhdGluIHNtYWxsIGxldHRlciB5IHdpdGggYWN1dGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVSswMEZEIElTT2xhdDEgLS0+Cis8IUVOVElUWSB0aG9ybiAgIiYjMjU0OyI+IDwhLS0gbGF0aW4gc21hbGwgbGV0dGVyIHRob3JuIHdpdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVSswMEZFIElTT2xhdDEgLS0+Cis8IUVOVElUWSB5dW1sICAgIiYjMjU1OyI+IDwhLS0gbGF0aW4gc21hbGwgbGV0dGVyIHkgd2l0aCBkaWFlcmVzaXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVSswMEZGIElTT2xhdDEgLS0+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvdmFsaWQvZHRkcy94aHRtbC1zcGVjaWFsLmVudCBiL2xpYnhtbDIvdGVzdC92YWxpZC9kdGRzL3hodG1sLXNwZWNpYWwuZW50Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNmNzA5ZDEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvdmFsaWQvZHRkcy94aHRtbC1zcGVjaWFsLmVudApAQCAtMCwwICsxLDc5IEBACis8IS0tIFNwZWNpYWwgY2hhcmFjdGVycyBmb3IgSFRNTCAtLT4KKworPCEtLSBDaGFyYWN0ZXIgZW50aXR5IHNldC4gVHlwaWNhbCBpbnZvY2F0aW9uOgorICAgICA8IUVOVElUWSAlIEhUTUxzcGVjaWFsIFBVQkxJQworICAgICAgICAiLS8vVzNDLy9FTlRJVElFUyBTcGVjaWFsIGZvciBYSFRNTC8vRU4iCisgICAgICAgICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sLXNwZWNpYWwuZW50Ij4KKyAgICAgJUhUTUxzcGVjaWFsOworLS0+CisKKzwhLS0gUG9ydGlvbnMgKEMpIEludGVybmF0aW9uYWwgT3JnYW5pemF0aW9uIGZvciBTdGFuZGFyZGl6YXRpb24gMTk4NjoKKyAgICAgUGVybWlzc2lvbiB0byBjb3B5IGluIGFueSBmb3JtIGlzIGdyYW50ZWQgZm9yIHVzZSB3aXRoCisgICAgIGNvbmZvcm1pbmcgU0dNTCBzeXN0ZW1zIGFuZCBhcHBsaWNhdGlvbnMgYXMgZGVmaW5lZCBpbgorICAgICBJU08gODg3OSwgcHJvdmlkZWQgdGhpcyBub3RpY2UgaXMgaW5jbHVkZWQgaW4gYWxsIGNvcGllcy4KKy0tPgorCis8IS0tIFJlbGV2YW50IElTTyBlbnRpdHkgc2V0IGlzIGdpdmVuIHVubGVzcyBuYW1lcyBhcmUgbmV3bHkgaW50cm9kdWNlZC4KKyAgICAgTmV3IG5hbWVzIChpLmUuLCBub3QgaW4gSVNPIDg4NzkgbGlzdCkgZG8gbm90IGNsYXNoIHdpdGggYW55CisgICAgIGV4aXN0aW5nIElTTyA4ODc5IGVudGl0eSBuYW1lcy4gSVNPIDEwNjQ2IGNoYXJhY3RlciBudW1iZXJzCisgICAgIGFyZSBnaXZlbiBmb3IgZWFjaCBjaGFyYWN0ZXIsIGluIGhleC4gdmFsdWVzIGFyZSBkZWNpbWFsCisgICAgIGNvbnZlcnNpb25zIG9mIHRoZSBJU08gMTA2NDYgdmFsdWVzIGFuZCByZWZlciB0byB0aGUgZG9jdW1lbnQKKyAgICAgY2hhcmFjdGVyIHNldC4gTmFtZXMgYXJlIFVuaWNvZGUgbmFtZXMuIAorLS0+CisKKzwhLS0gQzAgQ29udHJvbHMgYW5kIEJhc2ljIExhdGluIC0tPgorPCFFTlRJVFkgcXVvdCAgICAiJiMzNDsiPiA8IS0tICBxdW90YXRpb24gbWFyayA9IEFQTCBxdW90ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFUrMDAyMiBJU09udW0gLS0+Cis8IUVOVElUWSBhbXAgICAgICImIzM4OyMzODsiPiA8IS0tICBhbXBlcnNhbmQsIFUrMDAyNiBJU09udW0gLS0+Cis8IUVOVElUWSBsdCAgICAgICImIzM4OyM2MDsiPiA8IS0tICBsZXNzLXRoYW4gc2lnbiwgVSswMDNDIElTT251bSAtLT4KKzwhRU5USVRZIGd0ICAgICAgIiYjNjI7Ij4gPCEtLSAgZ3JlYXRlci10aGFuIHNpZ24sIFUrMDAzRSBJU09udW0gLS0+Cis8IUVOVElUWSBhcG9zCSAiJiMzOTsiPiA8IS0tICBhcG9zdHJvcGhlIG1hcmssIFUrMDAyNyBJU09udW0gLS0+CisKKzwhLS0gTGF0aW4gRXh0ZW5kZWQtQSAtLT4KKzwhRU5USVRZIE9FbGlnICAgIiYjMzM4OyI+IDwhLS0gIGxhdGluIGNhcGl0YWwgbGlnYXR1cmUgT0UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVKzAxNTIgSVNPbGF0MiAtLT4KKzwhRU5USVRZIG9lbGlnICAgIiYjMzM5OyI+IDwhLS0gIGxhdGluIHNtYWxsIGxpZ2F0dXJlIG9lLCBVKzAxNTMgSVNPbGF0MiAtLT4KKzwhLS0gbGlnYXR1cmUgaXMgYSBtaXNub21lciwgdGhpcyBpcyBhIHNlcGFyYXRlIGNoYXJhY3RlciBpbiBzb21lIGxhbmd1YWdlcyAtLT4KKzwhRU5USVRZIFNjYXJvbiAgIiYjMzUyOyI+IDwhLS0gIGxhdGluIGNhcGl0YWwgbGV0dGVyIFMgd2l0aCBjYXJvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFUrMDE2MCBJU09sYXQyIC0tPgorPCFFTlRJVFkgc2Nhcm9uICAiJiMzNTM7Ij4gPCEtLSAgbGF0aW4gc21hbGwgbGV0dGVyIHMgd2l0aCBjYXJvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFUrMDE2MSBJU09sYXQyIC0tPgorPCFFTlRJVFkgWXVtbCAgICAiJiMzNzY7Ij4gPCEtLSAgbGF0aW4gY2FwaXRhbCBsZXR0ZXIgWSB3aXRoIGRpYWVyZXNpcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFUrMDE3OCBJU09sYXQyIC0tPgorCis8IS0tIFNwYWNpbmcgTW9kaWZpZXIgTGV0dGVycyAtLT4KKzwhRU5USVRZIGNpcmMgICAgIiYjNzEwOyI+IDwhLS0gIG1vZGlmaWVyIGxldHRlciBjaXJjdW1mbGV4IGFjY2VudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFUrMDJDNiBJU09wdWIgLS0+Cis8IUVOVElUWSB0aWxkZSAgICImIzczMjsiPiA8IS0tICBzbWFsbCB0aWxkZSwgVSswMkRDIElTT2RpYSAtLT4KKworPCEtLSBHZW5lcmFsIFB1bmN0dWF0aW9uIC0tPgorPCFFTlRJVFkgZW5zcCAgICAiJiM4MTk0OyI+IDwhLS0gZW4gc3BhY2UsIFUrMjAwMiBJU09wdWIgLS0+Cis8IUVOVElUWSBlbXNwICAgICImIzgxOTU7Ij4gPCEtLSBlbSBzcGFjZSwgVSsyMDAzIElTT3B1YiAtLT4KKzwhRU5USVRZIHRoaW5zcCAgIiYjODIwMTsiPiA8IS0tIHRoaW4gc3BhY2UsIFUrMjAwOSBJU09wdWIgLS0+Cis8IUVOVElUWSB6d25qICAgICImIzgyMDQ7Ij4gPCEtLSB6ZXJvIHdpZHRoIG5vbi1qb2luZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVKzIwMEMgTkVXIFJGQyAyMDcwIC0tPgorPCFFTlRJVFkgendqICAgICAiJiM4MjA1OyI+IDwhLS0gemVybyB3aWR0aCBqb2luZXIsIFUrMjAwRCBORVcgUkZDIDIwNzAgLS0+Cis8IUVOVElUWSBscm0gICAgICImIzgyMDY7Ij4gPCEtLSBsZWZ0LXRvLXJpZ2h0IG1hcmssIFUrMjAwRSBORVcgUkZDIDIwNzAgLS0+Cis8IUVOVElUWSBybG0gICAgICImIzgyMDc7Ij4gPCEtLSByaWdodC10by1sZWZ0IG1hcmssIFUrMjAwRiBORVcgUkZDIDIwNzAgLS0+Cis8IUVOVElUWSBuZGFzaCAgICImIzgyMTE7Ij4gPCEtLSBlbiBkYXNoLCBVKzIwMTMgSVNPcHViIC0tPgorPCFFTlRJVFkgbWRhc2ggICAiJiM4MjEyOyI+IDwhLS0gZW0gZGFzaCwgVSsyMDE0IElTT3B1YiAtLT4KKzwhRU5USVRZIGxzcXVvICAgIiYjODIxNjsiPiA8IS0tIGxlZnQgc2luZ2xlIHF1b3RhdGlvbiBtYXJrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVSsyMDE4IElTT251bSAtLT4KKzwhRU5USVRZIHJzcXVvICAgIiYjODIxNzsiPiA8IS0tIHJpZ2h0IHNpbmdsZSBxdW90YXRpb24gbWFyaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFUrMjAxOSBJU09udW0gLS0+Cis8IUVOVElUWSBzYnF1byAgICImIzgyMTg7Ij4gPCEtLSBzaW5nbGUgbG93LTkgcXVvdGF0aW9uIG1hcmssIFUrMjAxQSBORVcgLS0+Cis8IUVOVElUWSBsZHF1byAgICImIzgyMjA7Ij4gPCEtLSBsZWZ0IGRvdWJsZSBxdW90YXRpb24gbWFyaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFUrMjAxQyBJU09udW0gLS0+Cis8IUVOVElUWSByZHF1byAgICImIzgyMjE7Ij4gPCEtLSByaWdodCBkb3VibGUgcXVvdGF0aW9uIG1hcmssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVKzIwMUQgSVNPbnVtIC0tPgorPCFFTlRJVFkgYmRxdW8gICAiJiM4MjIyOyI+IDwhLS0gZG91YmxlIGxvdy05IHF1b3RhdGlvbiBtYXJrLCBVKzIwMUUgTkVXIC0tPgorPCFFTlRJVFkgZGFnZ2VyICAiJiM4MjI0OyI+IDwhLS0gZGFnZ2VyLCBVKzIwMjAgSVNPcHViIC0tPgorPCFFTlRJVFkgRGFnZ2VyICAiJiM4MjI1OyI+IDwhLS0gZG91YmxlIGRhZ2dlciwgVSsyMDIxIElTT3B1YiAtLT4KKzwhRU5USVRZIHBlcm1pbCAgIiYjODI0MDsiPiA8IS0tIHBlciBtaWxsZSBzaWduLCBVKzIwMzAgSVNPdGVjaCAtLT4KKzwhRU5USVRZIGxzYXF1byAgIiYjODI0OTsiPiA8IS0tIHNpbmdsZSBsZWZ0LXBvaW50aW5nIGFuZ2xlIHF1b3RhdGlvbiBtYXJrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVSsyMDM5IElTTyBwcm9wb3NlZCAtLT4KKzwhLS0gbHNhcXVvIGlzIHByb3Bvc2VkIGJ1dCBub3QgeWV0IElTTyBzdGFuZGFyZGl6ZWQgLS0+Cis8IUVOVElUWSByc2FxdW8gICImIzgyNTA7Ij4gPCEtLSBzaW5nbGUgcmlnaHQtcG9pbnRpbmcgYW5nbGUgcXVvdGF0aW9uIG1hcmssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVKzIwM0EgSVNPIHByb3Bvc2VkIC0tPgorPCEtLSByc2FxdW8gaXMgcHJvcG9zZWQgYnV0IG5vdCB5ZXQgSVNPIHN0YW5kYXJkaXplZCAtLT4KKzwhRU5USVRZIGV1cm8gICAiJiM4MzY0OyI+IDwhLS0gIGV1cm8gc2lnbiwgVSsyMEFDIE5FVyAtLT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC92YWxpZC9kdGRzL3hodG1sLXN5bWJvbC5lbnQgYi9saWJ4bWwyL3Rlc3QvdmFsaWQvZHRkcy94aHRtbC1zeW1ib2wuZW50Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE2Zjg3NmIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvdmFsaWQvZHRkcy94aHRtbC1zeW1ib2wuZW50CkBAIC0wLDAgKzEsMjQyIEBACis8IS0tIE1hdGhlbWF0aWNhbCwgR3JlZWsgYW5kIFN5bWJvbGljIGNoYXJhY3RlcnMgZm9yIEhUTUwgLS0+CisKKzwhLS0gQ2hhcmFjdGVyIGVudGl0eSBzZXQuIFR5cGljYWwgaW52b2NhdGlvbjoKKyAgICAgPCFFTlRJVFkgJSBIVE1Mc3ltYm9sIFBVQkxJQworICAgICAgICAiLS8vVzNDLy9FTlRJVElFUyBTeW1ib2xzIGZvciBYSFRNTC8vRU4iCisgICAgICAgICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sLXN5bWJvbC5lbnQiPgorICAgICAlSFRNTHN5bWJvbDsKKy0tPgorCis8IS0tIFBvcnRpb25zIChDKSBJbnRlcm5hdGlvbmFsIE9yZ2FuaXphdGlvbiBmb3IgU3RhbmRhcmRpemF0aW9uIDE5ODY6CisgICAgIFBlcm1pc3Npb24gdG8gY29weSBpbiBhbnkgZm9ybSBpcyBncmFudGVkIGZvciB1c2Ugd2l0aAorICAgICBjb25mb3JtaW5nIFNHTUwgc3lzdGVtcyBhbmQgYXBwbGljYXRpb25zIGFzIGRlZmluZWQgaW4KKyAgICAgSVNPIDg4NzksIHByb3ZpZGVkIHRoaXMgbm90aWNlIGlzIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMuCistLT4KKworPCEtLSBSZWxldmFudCBJU08gZW50aXR5IHNldCBpcyBnaXZlbiB1bmxlc3MgbmFtZXMgYXJlIG5ld2x5IGludHJvZHVjZWQuCisgICAgIE5ldyBuYW1lcyAoaS5lLiwgbm90IGluIElTTyA4ODc5IGxpc3QpIGRvIG5vdCBjbGFzaCB3aXRoIGFueQorICAgICBleGlzdGluZyBJU08gODg3OSBlbnRpdHkgbmFtZXMuIElTTyAxMDY0NiBjaGFyYWN0ZXIgbnVtYmVycworICAgICBhcmUgZ2l2ZW4gZm9yIGVhY2ggY2hhcmFjdGVyLCBpbiBoZXguIHZhbHVlcyBhcmUgZGVjaW1hbAorICAgICBjb252ZXJzaW9ucyBvZiB0aGUgSVNPIDEwNjQ2IHZhbHVlcyBhbmQgcmVmZXIgdG8gdGhlIGRvY3VtZW50CisgICAgIGNoYXJhY3RlciBzZXQuIE5hbWVzIGFyZSBVbmljb2RlIG5hbWVzLiAKKy0tPgorCis8IS0tIExhdGluIEV4dGVuZGVkLUIgLS0+Cis8IUVOVElUWSBmbm9mICAgICAiJiM0MDI7Ij4gPCEtLSBsYXRpbiBzbWFsbCBmIHdpdGggaG9vayA9IGZ1bmN0aW9uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IGZsb3JpbiwgVSswMTkyIElTT3RlY2ggLS0+CisKKzwhLS0gR3JlZWsgLS0+Cis8IUVOVElUWSBBbHBoYSAgICAiJiM5MTM7Ij4gPCEtLSBncmVlayBjYXBpdGFsIGxldHRlciBhbHBoYSwgVSswMzkxIC0tPgorPCFFTlRJVFkgQmV0YSAgICAgIiYjOTE0OyI+IDwhLS0gZ3JlZWsgY2FwaXRhbCBsZXR0ZXIgYmV0YSwgVSswMzkyIC0tPgorPCFFTlRJVFkgR2FtbWEgICAgIiYjOTE1OyI+IDwhLS0gZ3JlZWsgY2FwaXRhbCBsZXR0ZXIgZ2FtbWEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVKzAzOTMgSVNPZ3JrMyAtLT4KKzwhRU5USVRZIERlbHRhICAgICImIzkxNjsiPiA8IS0tIGdyZWVrIGNhcGl0YWwgbGV0dGVyIGRlbHRhLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVSswMzk0IElTT2dyazMgLS0+Cis8IUVOVElUWSBFcHNpbG9uICAiJiM5MTc7Ij4gPCEtLSBncmVlayBjYXBpdGFsIGxldHRlciBlcHNpbG9uLCBVKzAzOTUgLS0+Cis8IUVOVElUWSBaZXRhICAgICAiJiM5MTg7Ij4gPCEtLSBncmVlayBjYXBpdGFsIGxldHRlciB6ZXRhLCBVKzAzOTYgLS0+Cis8IUVOVElUWSBFdGEgICAgICAiJiM5MTk7Ij4gPCEtLSBncmVlayBjYXBpdGFsIGxldHRlciBldGEsIFUrMDM5NyAtLT4KKzwhRU5USVRZIFRoZXRhICAgICImIzkyMDsiPiA8IS0tIGdyZWVrIGNhcGl0YWwgbGV0dGVyIHRoZXRhLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVSswMzk4IElTT2dyazMgLS0+Cis8IUVOVElUWSBJb3RhICAgICAiJiM5MjE7Ij4gPCEtLSBncmVlayBjYXBpdGFsIGxldHRlciBpb3RhLCBVKzAzOTkgLS0+Cis8IUVOVElUWSBLYXBwYSAgICAiJiM5MjI7Ij4gPCEtLSBncmVlayBjYXBpdGFsIGxldHRlciBrYXBwYSwgVSswMzlBIC0tPgorPCFFTlRJVFkgTGFtYmRhICAgIiYjOTIzOyI+IDwhLS0gZ3JlZWsgY2FwaXRhbCBsZXR0ZXIgbGFtYmRhLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVSswMzlCIElTT2dyazMgLS0+Cis8IUVOVElUWSBNdSAgICAgICAiJiM5MjQ7Ij4gPCEtLSBncmVlayBjYXBpdGFsIGxldHRlciBtdSwgVSswMzlDIC0tPgorPCFFTlRJVFkgTnUgICAgICAgIiYjOTI1OyI+IDwhLS0gZ3JlZWsgY2FwaXRhbCBsZXR0ZXIgbnUsIFUrMDM5RCAtLT4KKzwhRU5USVRZIFhpICAgICAgICImIzkyNjsiPiA8IS0tIGdyZWVrIGNhcGl0YWwgbGV0dGVyIHhpLCBVKzAzOUUgSVNPZ3JrMyAtLT4KKzwhRU5USVRZIE9taWNyb24gICImIzkyNzsiPiA8IS0tIGdyZWVrIGNhcGl0YWwgbGV0dGVyIG9taWNyb24sIFUrMDM5RiAtLT4KKzwhRU5USVRZIFBpICAgICAgICImIzkyODsiPiA8IS0tIGdyZWVrIGNhcGl0YWwgbGV0dGVyIHBpLCBVKzAzQTAgSVNPZ3JrMyAtLT4KKzwhRU5USVRZIFJobyAgICAgICImIzkyOTsiPiA8IS0tIGdyZWVrIGNhcGl0YWwgbGV0dGVyIHJobywgVSswM0ExIC0tPgorPCEtLSB0aGVyZSBpcyBubyBTaWdtYWYsIGFuZCBubyBVKzAzQTIgY2hhcmFjdGVyIGVpdGhlciAtLT4KKzwhRU5USVRZIFNpZ21hICAgICImIzkzMTsiPiA8IS0tIGdyZWVrIGNhcGl0YWwgbGV0dGVyIHNpZ21hLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVSswM0EzIElTT2dyazMgLS0+Cis8IUVOVElUWSBUYXUgICAgICAiJiM5MzI7Ij4gPCEtLSBncmVlayBjYXBpdGFsIGxldHRlciB0YXUsIFUrMDNBNCAtLT4KKzwhRU5USVRZIFVwc2lsb24gICImIzkzMzsiPiA8IS0tIGdyZWVrIGNhcGl0YWwgbGV0dGVyIHVwc2lsb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVKzAzQTUgSVNPZ3JrMyAtLT4KKzwhRU5USVRZIFBoaSAgICAgICImIzkzNDsiPiA8IS0tIGdyZWVrIGNhcGl0YWwgbGV0dGVyIHBoaSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFUrMDNBNiBJU09ncmszIC0tPgorPCFFTlRJVFkgQ2hpICAgICAgIiYjOTM1OyI+IDwhLS0gZ3JlZWsgY2FwaXRhbCBsZXR0ZXIgY2hpLCBVKzAzQTcgLS0+Cis8IUVOVElUWSBQc2kgICAgICAiJiM5MzY7Ij4gPCEtLSBncmVlayBjYXBpdGFsIGxldHRlciBwc2ksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVKzAzQTggSVNPZ3JrMyAtLT4KKzwhRU5USVRZIE9tZWdhICAgICImIzkzNzsiPiA8IS0tIGdyZWVrIGNhcGl0YWwgbGV0dGVyIG9tZWdhLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVSswM0E5IElTT2dyazMgLS0+CisKKzwhRU5USVRZIGFscGhhICAgICImIzk0NTsiPiA8IS0tIGdyZWVrIHNtYWxsIGxldHRlciBhbHBoYSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFUrMDNCMSBJU09ncmszIC0tPgorPCFFTlRJVFkgYmV0YSAgICAgIiYjOTQ2OyI+IDwhLS0gZ3JlZWsgc21hbGwgbGV0dGVyIGJldGEsIFUrMDNCMiBJU09ncmszIC0tPgorPCFFTlRJVFkgZ2FtbWEgICAgIiYjOTQ3OyI+IDwhLS0gZ3JlZWsgc21hbGwgbGV0dGVyIGdhbW1hLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVSswM0IzIElTT2dyazMgLS0+Cis8IUVOVElUWSBkZWx0YSAgICAiJiM5NDg7Ij4gPCEtLSBncmVlayBzbWFsbCBsZXR0ZXIgZGVsdGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVKzAzQjQgSVNPZ3JrMyAtLT4KKzwhRU5USVRZIGVwc2lsb24gICImIzk0OTsiPiA8IS0tIGdyZWVrIHNtYWxsIGxldHRlciBlcHNpbG9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVSswM0I1IElTT2dyazMgLS0+Cis8IUVOVElUWSB6ZXRhICAgICAiJiM5NTA7Ij4gPCEtLSBncmVlayBzbWFsbCBsZXR0ZXIgemV0YSwgVSswM0I2IElTT2dyazMgLS0+Cis8IUVOVElUWSBldGEgICAgICAiJiM5NTE7Ij4gPCEtLSBncmVlayBzbWFsbCBsZXR0ZXIgZXRhLCBVKzAzQjcgSVNPZ3JrMyAtLT4KKzwhRU5USVRZIHRoZXRhICAgICImIzk1MjsiPiA8IS0tIGdyZWVrIHNtYWxsIGxldHRlciB0aGV0YSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFUrMDNCOCBJU09ncmszIC0tPgorPCFFTlRJVFkgaW90YSAgICAgIiYjOTUzOyI+IDwhLS0gZ3JlZWsgc21hbGwgbGV0dGVyIGlvdGEsIFUrMDNCOSBJU09ncmszIC0tPgorPCFFTlRJVFkga2FwcGEgICAgIiYjOTU0OyI+IDwhLS0gZ3JlZWsgc21hbGwgbGV0dGVyIGthcHBhLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVSswM0JBIElTT2dyazMgLS0+Cis8IUVOVElUWSBsYW1iZGEgICAiJiM5NTU7Ij4gPCEtLSBncmVlayBzbWFsbCBsZXR0ZXIgbGFtYmRhLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVSswM0JCIElTT2dyazMgLS0+Cis8IUVOVElUWSBtdSAgICAgICAiJiM5NTY7Ij4gPCEtLSBncmVlayBzbWFsbCBsZXR0ZXIgbXUsIFUrMDNCQyBJU09ncmszIC0tPgorPCFFTlRJVFkgbnUgICAgICAgIiYjOTU3OyI+IDwhLS0gZ3JlZWsgc21hbGwgbGV0dGVyIG51LCBVKzAzQkQgSVNPZ3JrMyAtLT4KKzwhRU5USVRZIHhpICAgICAgICImIzk1ODsiPiA8IS0tIGdyZWVrIHNtYWxsIGxldHRlciB4aSwgVSswM0JFIElTT2dyazMgLS0+Cis8IUVOVElUWSBvbWljcm9uICAiJiM5NTk7Ij4gPCEtLSBncmVlayBzbWFsbCBsZXR0ZXIgb21pY3JvbiwgVSswM0JGIE5FVyAtLT4KKzwhRU5USVRZIHBpICAgICAgICImIzk2MDsiPiA8IS0tIGdyZWVrIHNtYWxsIGxldHRlciBwaSwgVSswM0MwIElTT2dyazMgLS0+Cis8IUVOVElUWSByaG8gICAgICAiJiM5NjE7Ij4gPCEtLSBncmVlayBzbWFsbCBsZXR0ZXIgcmhvLCBVKzAzQzEgSVNPZ3JrMyAtLT4KKzwhRU5USVRZIHNpZ21hZiAgICImIzk2MjsiPiA8IS0tIGdyZWVrIHNtYWxsIGxldHRlciBmaW5hbCBzaWdtYSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFUrMDNDMiBJU09ncmszIC0tPgorPCFFTlRJVFkgc2lnbWEgICAgIiYjOTYzOyI+IDwhLS0gZ3JlZWsgc21hbGwgbGV0dGVyIHNpZ21hLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVSswM0MzIElTT2dyazMgLS0+Cis8IUVOVElUWSB0YXUgICAgICAiJiM5NjQ7Ij4gPCEtLSBncmVlayBzbWFsbCBsZXR0ZXIgdGF1LCBVKzAzQzQgSVNPZ3JrMyAtLT4KKzwhRU5USVRZIHVwc2lsb24gICImIzk2NTsiPiA8IS0tIGdyZWVrIHNtYWxsIGxldHRlciB1cHNpbG9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVSswM0M1IElTT2dyazMgLS0+Cis8IUVOVElUWSBwaGkgICAgICAiJiM5NjY7Ij4gPCEtLSBncmVlayBzbWFsbCBsZXR0ZXIgcGhpLCBVKzAzQzYgSVNPZ3JrMyAtLT4KKzwhRU5USVRZIGNoaSAgICAgICImIzk2NzsiPiA8IS0tIGdyZWVrIHNtYWxsIGxldHRlciBjaGksIFUrMDNDNyBJU09ncmszIC0tPgorPCFFTlRJVFkgcHNpICAgICAgIiYjOTY4OyI+IDwhLS0gZ3JlZWsgc21hbGwgbGV0dGVyIHBzaSwgVSswM0M4IElTT2dyazMgLS0+Cis8IUVOVElUWSBvbWVnYSAgICAiJiM5Njk7Ij4gPCEtLSBncmVlayBzbWFsbCBsZXR0ZXIgb21lZ2EsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVKzAzQzkgSVNPZ3JrMyAtLT4KKzwhRU5USVRZIHRoZXRhc3ltICImIzk3NzsiPiA8IS0tIGdyZWVrIHNtYWxsIGxldHRlciB0aGV0YSBzeW1ib2wsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVKzAzRDEgTkVXIC0tPgorPCFFTlRJVFkgdXBzaWggICAgIiYjOTc4OyI+IDwhLS0gZ3JlZWsgdXBzaWxvbiB3aXRoIGhvb2sgc3ltYm9sLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVSswM0QyIE5FVyAtLT4KKzwhRU5USVRZIHBpdiAgICAgICImIzk4MjsiPiA8IS0tIGdyZWVrIHBpIHN5bWJvbCwgVSswM0Q2IElTT2dyazMgLS0+CisKKzwhLS0gR2VuZXJhbCBQdW5jdHVhdGlvbiAtLT4KKzwhRU5USVRZIGJ1bGwgICAgICImIzgyMjY7Ij4gPCEtLSBidWxsZXQgPSBibGFjayBzbWFsbCBjaXJjbGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVSsyMDIyIElTT3B1YiAgLS0+Cis8IS0tIGJ1bGxldCBpcyBOT1QgdGhlIHNhbWUgYXMgYnVsbGV0IG9wZXJhdG9yLCBVKzIyMTkgLS0+Cis8IUVOVElUWSBoZWxsaXAgICAiJiM4MjMwOyI+IDwhLS0gaG9yaXpvbnRhbCBlbGxpcHNpcyA9IHRocmVlIGRvdCBsZWFkZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVSsyMDI2IElTT3B1YiAgLS0+Cis8IUVOVElUWSBwcmltZSAgICAiJiM4MjQyOyI+IDwhLS0gcHJpbWUgPSBtaW51dGVzID0gZmVldCwgVSsyMDMyIElTT3RlY2ggLS0+Cis8IUVOVElUWSBQcmltZSAgICAiJiM4MjQzOyI+IDwhLS0gZG91YmxlIHByaW1lID0gc2Vjb25kcyA9IGluY2hlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVKzIwMzMgSVNPdGVjaCAtLT4KKzwhRU5USVRZIG9saW5lICAgICImIzgyNTQ7Ij4gPCEtLSBvdmVybGluZSA9IHNwYWNpbmcgb3ZlcnNjb3JlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFUrMjAzRSBORVcgLS0+Cis8IUVOVElUWSBmcmFzbCAgICAiJiM4MjYwOyI+IDwhLS0gZnJhY3Rpb24gc2xhc2gsIFUrMjA0NCBORVcgLS0+CisKKzwhLS0gTGV0dGVybGlrZSBTeW1ib2xzIC0tPgorPCFFTlRJVFkgd2VpZXJwICAgIiYjODQ3MjsiPiA8IS0tIHNjcmlwdCBjYXBpdGFsIFAgPSBwb3dlciBzZXQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IFdlaWVyc3RyYXNzIHAsIFUrMjExOCBJU09hbXNvIC0tPgorPCFFTlRJVFkgaW1hZ2UgICAgIiYjODQ2NTsiPiA8IS0tIGJsYWNrbGV0dGVyIGNhcGl0YWwgSSA9IGltYWdpbmFyeSBwYXJ0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFUrMjExMSBJU09hbXNvIC0tPgorPCFFTlRJVFkgcmVhbCAgICAgIiYjODQ3NjsiPiA8IS0tIGJsYWNrbGV0dGVyIGNhcGl0YWwgUiA9IHJlYWwgcGFydCBzeW1ib2wsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVSsyMTFDIElTT2Ftc28gLS0+Cis8IUVOVElUWSB0cmFkZSAgICAiJiM4NDgyOyI+IDwhLS0gdHJhZGUgbWFyayBzaWduLCBVKzIxMjIgSVNPbnVtIC0tPgorPCFFTlRJVFkgYWxlZnN5bSAgIiYjODUwMTsiPiA8IS0tIGFsZWYgc3ltYm9sID0gZmlyc3QgdHJhbnNmaW5pdGUgY2FyZGluYWwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVSsyMTM1IE5FVyAtLT4KKzwhLS0gYWxlZiBzeW1ib2wgaXMgTk9UIHRoZSBzYW1lIGFzIGhlYnJldyBsZXR0ZXIgYWxlZiwKKyAgICAgVSswNUQwIGFsdGhvdWdoIHRoZSBzYW1lIGdseXBoIGNvdWxkIGJlIHVzZWQgdG8gZGVwaWN0IGJvdGggY2hhcmFjdGVycyAtLT4KKworPCEtLSBBcnJvd3MgLS0+Cis8IUVOVElUWSBsYXJyICAgICAiJiM4NTkyOyI+IDwhLS0gbGVmdHdhcmRzIGFycm93LCBVKzIxOTAgSVNPbnVtIC0tPgorPCFFTlRJVFkgdWFyciAgICAgIiYjODU5MzsiPiA8IS0tIHVwd2FyZHMgYXJyb3csIFUrMjE5MSBJU09udW0tLT4KKzwhRU5USVRZIHJhcnIgICAgICImIzg1OTQ7Ij4gPCEtLSByaWdodHdhcmRzIGFycm93LCBVKzIxOTIgSVNPbnVtIC0tPgorPCFFTlRJVFkgZGFyciAgICAgIiYjODU5NTsiPiA8IS0tIGRvd253YXJkcyBhcnJvdywgVSsyMTkzIElTT251bSAtLT4KKzwhRU5USVRZIGhhcnIgICAgICImIzg1OTY7Ij4gPCEtLSBsZWZ0IHJpZ2h0IGFycm93LCBVKzIxOTQgSVNPYW1zYSAtLT4KKzwhRU5USVRZIGNyYXJyICAgICImIzg2Mjk7Ij4gPCEtLSBkb3dud2FyZHMgYXJyb3cgd2l0aCBjb3JuZXIgbGVmdHdhcmRzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSBjYXJyaWFnZSByZXR1cm4sIFUrMjFCNSBORVcgLS0+Cis8IUVOVElUWSBsQXJyICAgICAiJiM4NjU2OyI+IDwhLS0gbGVmdHdhcmRzIGRvdWJsZSBhcnJvdywgVSsyMUQwIElTT3RlY2ggLS0+Cis8IS0tIFVuaWNvZGUgZG9lcyBub3Qgc2F5IHRoYXQgbEFyciBpcyB0aGUgc2FtZSBhcyB0aGUgJ2lzIGltcGxpZWQgYnknIGFycm93CisgICAgYnV0IGFsc28gZG9lcyBub3QgaGF2ZSBhbnkgb3RoZXIgY2hhcmFjdGVyIGZvciB0aGF0IGZ1bmN0aW9uLiBTbyA/IGxBcnIgY2FuCisgICAgYmUgdXNlZCBmb3IgJ2lzIGltcGxpZWQgYnknIGFzIElTT3RlY2ggc3VnZ2VzdHMgLS0+Cis8IUVOVElUWSB1QXJyICAgICAiJiM4NjU3OyI+IDwhLS0gdXB3YXJkcyBkb3VibGUgYXJyb3csIFUrMjFEMSBJU09hbXNhIC0tPgorPCFFTlRJVFkgckFyciAgICAgIiYjODY1ODsiPiA8IS0tIHJpZ2h0d2FyZHMgZG91YmxlIGFycm93LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFUrMjFEMiBJU090ZWNoIC0tPgorPCEtLSBVbmljb2RlIGRvZXMgbm90IHNheSB0aGlzIGlzIHRoZSAnaW1wbGllcycgY2hhcmFjdGVyIGJ1dCBkb2VzIG5vdCBoYXZlIAorICAgICBhbm90aGVyIGNoYXJhY3RlciB3aXRoIHRoaXMgZnVuY3Rpb24gc28gPworICAgICByQXJyIGNhbiBiZSB1c2VkIGZvciAnaW1wbGllcycgYXMgSVNPdGVjaCBzdWdnZXN0cyAtLT4KKzwhRU5USVRZIGRBcnIgICAgICImIzg2NTk7Ij4gPCEtLSBkb3dud2FyZHMgZG91YmxlIGFycm93LCBVKzIxRDMgSVNPYW1zYSAtLT4KKzwhRU5USVRZIGhBcnIgICAgICImIzg2NjA7Ij4gPCEtLSBsZWZ0IHJpZ2h0IGRvdWJsZSBhcnJvdywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVKzIxRDQgSVNPYW1zYSAtLT4KKworPCEtLSBNYXRoZW1hdGljYWwgT3BlcmF0b3JzIC0tPgorPCFFTlRJVFkgZm9yYWxsICAgIiYjODcwNDsiPiA8IS0tIGZvciBhbGwsIFUrMjIwMCBJU090ZWNoIC0tPgorPCFFTlRJVFkgcGFydCAgICAgIiYjODcwNjsiPiA8IS0tIHBhcnRpYWwgZGlmZmVyZW50aWFsLCBVKzIyMDIgSVNPdGVjaCAgLS0+Cis8IUVOVElUWSBleGlzdCAgICAiJiM4NzA3OyI+IDwhLS0gdGhlcmUgZXhpc3RzLCBVKzIyMDMgSVNPdGVjaCAtLT4KKzwhRU5USVRZIGVtcHR5ICAgICImIzg3MDk7Ij4gPCEtLSBlbXB0eSBzZXQgPSBudWxsIHNldCA9IGRpYW1ldGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFUrMjIwNSBJU09hbXNvIC0tPgorPCFFTlRJVFkgbmFibGEgICAgIiYjODcxMTsiPiA8IS0tIG5hYmxhID0gYmFja3dhcmQgZGlmZmVyZW5jZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVKzIyMDcgSVNPdGVjaCAtLT4KKzwhRU5USVRZIGlzaW4gICAgICImIzg3MTI7Ij4gPCEtLSBlbGVtZW50IG9mLCBVKzIyMDggSVNPdGVjaCAtLT4KKzwhRU5USVRZIG5vdGluICAgICImIzg3MTM7Ij4gPCEtLSBub3QgYW4gZWxlbWVudCBvZiwgVSsyMjA5IElTT3RlY2ggLS0+Cis8IUVOVElUWSBuaSAgICAgICAiJiM4NzE1OyI+IDwhLS0gY29udGFpbnMgYXMgbWVtYmVyLCBVKzIyMEIgSVNPdGVjaCAtLT4KKzwhLS0gc2hvdWxkIHRoZXJlIGJlIGEgbW9yZSBtZW1vcmFibGUgbmFtZSB0aGFuICduaSc/IC0tPgorPCFFTlRJVFkgcHJvZCAgICAgIiYjODcxOTsiPiA8IS0tIG4tYXJ5IHByb2R1Y3QgPSBwcm9kdWN0IHNpZ24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVSsyMjBGIElTT2Ftc2IgLS0+Cis8IS0tIHByb2QgaXMgTk9UIHRoZSBzYW1lIGNoYXJhY3RlciBhcyBVKzAzQTAgJ2dyZWVrIGNhcGl0YWwgbGV0dGVyIHBpJyB0aG91Z2gKKyAgICAgdGhlIHNhbWUgZ2x5cGggbWlnaHQgYmUgdXNlZCBmb3IgYm90aCAtLT4KKzwhRU5USVRZIHN1bSAgICAgICImIzg3MjE7Ij4gPCEtLSBuLWFyeSBzdW1hdGlvbiwgVSsyMjExIElTT2Ftc2IgLS0+Cis8IS0tIHN1bSBpcyBOT1QgdGhlIHNhbWUgY2hhcmFjdGVyIGFzIFUrMDNBMyAnZ3JlZWsgY2FwaXRhbCBsZXR0ZXIgc2lnbWEnCisgICAgIHRob3VnaCB0aGUgc2FtZSBnbHlwaCBtaWdodCBiZSB1c2VkIGZvciBib3RoIC0tPgorPCFFTlRJVFkgbWludXMgICAgIiYjODcyMjsiPiA8IS0tIG1pbnVzIHNpZ24sIFUrMjIxMiBJU090ZWNoIC0tPgorPCFFTlRJVFkgbG93YXN0ICAgIiYjODcyNzsiPiA8IS0tIGFzdGVyaXNrIG9wZXJhdG9yLCBVKzIyMTcgSVNPdGVjaCAtLT4KKzwhRU5USVRZIHJhZGljICAgICImIzg3MzA7Ij4gPCEtLSBzcXVhcmUgcm9vdCA9IHJhZGljYWwgc2lnbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVKzIyMUEgSVNPdGVjaCAtLT4KKzwhRU5USVRZIHByb3AgICAgICImIzg3MzM7Ij4gPCEtLSBwcm9wb3J0aW9uYWwgdG8sIFUrMjIxRCBJU090ZWNoIC0tPgorPCFFTlRJVFkgaW5maW4gICAgIiYjODczNDsiPiA8IS0tIGluZmluaXR5LCBVKzIyMUUgSVNPdGVjaCAtLT4KKzwhRU5USVRZIGFuZyAgICAgICImIzg3MzY7Ij4gPCEtLSBhbmdsZSwgVSsyMjIwIElTT2Ftc28gLS0+Cis8IUVOVElUWSBhbmQgICAgICAiJiM4NzQzOyI+IDwhLS0gbG9naWNhbCBhbmQgPSB3ZWRnZSwgVSsyMjI3IElTT3RlY2ggLS0+Cis8IUVOVElUWSBvciAgICAgICAiJiM4NzQ0OyI+IDwhLS0gbG9naWNhbCBvciA9IHZlZSwgVSsyMjI4IElTT3RlY2ggLS0+Cis8IUVOVElUWSBjYXAgICAgICAiJiM4NzQ1OyI+IDwhLS0gaW50ZXJzZWN0aW9uID0gY2FwLCBVKzIyMjkgSVNPdGVjaCAtLT4KKzwhRU5USVRZIGN1cCAgICAgICImIzg3NDY7Ij4gPCEtLSB1bmlvbiA9IGN1cCwgVSsyMjJBIElTT3RlY2ggLS0+Cis8IUVOVElUWSBpbnQgICAgICAiJiM4NzQ3OyI+IDwhLS0gaW50ZWdyYWwsIFUrMjIyQiBJU090ZWNoIC0tPgorPCFFTlRJVFkgdGhlcmU0ICAgIiYjODc1NjsiPiA8IS0tIHRoZXJlZm9yZSwgVSsyMjM0IElTT3RlY2ggLS0+Cis8IUVOVElUWSBzaW0gICAgICAiJiM4NzY0OyI+IDwhLS0gdGlsZGUgb3BlcmF0b3IgPSB2YXJpZXMgd2l0aCA9IHNpbWlsYXIgdG8sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVSsyMjNDIElTT3RlY2ggLS0+Cis8IS0tIHRpbGRlIG9wZXJhdG9yIGlzIE5PVCB0aGUgc2FtZSBjaGFyYWN0ZXIgYXMgdGhlIHRpbGRlLCBVKzAwN0UsCisgICAgIGFsdGhvdWdoIHRoZSBzYW1lIGdseXBoIG1pZ2h0IGJlIHVzZWQgdG8gcmVwcmVzZW50IGJvdGggIC0tPgorPCFFTlRJVFkgY29uZyAgICAgIiYjODc3MzsiPiA8IS0tIGFwcHJveGltYXRlbHkgZXF1YWwgdG8sIFUrMjI0NSBJU090ZWNoIC0tPgorPCFFTlRJVFkgYXN5bXAgICAgIiYjODc3NjsiPiA8IS0tIGFsbW9zdCBlcXVhbCB0byA9IGFzeW1wdG90aWMgdG8sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVSsyMjQ4IElTT2Ftc3IgLS0+Cis8IUVOVElUWSBuZSAgICAgICAiJiM4ODAwOyI+IDwhLS0gbm90IGVxdWFsIHRvLCBVKzIyNjAgSVNPdGVjaCAtLT4KKzwhRU5USVRZIGVxdWl2ICAgICImIzg4MDE7Ij4gPCEtLSBpZGVudGljYWwgdG8sIFUrMjI2MSBJU090ZWNoIC0tPgorPCFFTlRJVFkgbGUgICAgICAgIiYjODgwNDsiPiA8IS0tIGxlc3MtdGhhbiBvciBlcXVhbCB0bywgVSsyMjY0IElTT3RlY2ggLS0+Cis8IUVOVElUWSBnZSAgICAgICAiJiM4ODA1OyI+IDwhLS0gZ3JlYXRlci10aGFuIG9yIGVxdWFsIHRvLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFUrMjI2NSBJU090ZWNoIC0tPgorPCFFTlRJVFkgc3ViICAgICAgIiYjODgzNDsiPiA8IS0tIHN1YnNldCBvZiwgVSsyMjgyIElTT3RlY2ggLS0+Cis8IUVOVElUWSBzdXAgICAgICAiJiM4ODM1OyI+IDwhLS0gc3VwZXJzZXQgb2YsIFUrMjI4MyBJU090ZWNoIC0tPgorPCEtLSBub3RlIHRoYXQgbnN1cCwgJ25vdCBhIHN1cGVyc2V0IG9mLCBVKzIyODMnIGlzIG5vdCBjb3ZlcmVkIGJ5IHRoZSBTeW1ib2wgCisgICAgIGZvbnQgZW5jb2RpbmcgYW5kIGlzIG5vdCBpbmNsdWRlZC4gU2hvdWxkIGl0IGJlLCBmb3Igc3ltbWV0cnk/CisgICAgIEl0IGlzIGluIElTT2Ftc24gIC0tPiAKKzwhRU5USVRZIG5zdWIgICAgICImIzg4MzY7Ij4gPCEtLSBub3QgYSBzdWJzZXQgb2YsIFUrMjI4NCBJU09hbXNuIC0tPgorPCFFTlRJVFkgc3ViZSAgICAgIiYjODgzODsiPiA8IS0tIHN1YnNldCBvZiBvciBlcXVhbCB0bywgVSsyMjg2IElTT3RlY2ggLS0+Cis8IUVOVElUWSBzdXBlICAgICAiJiM4ODM5OyI+IDwhLS0gc3VwZXJzZXQgb2Ygb3IgZXF1YWwgdG8sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVSsyMjg3IElTT3RlY2ggLS0+Cis8IUVOVElUWSBvcGx1cyAgICAiJiM4ODUzOyI+IDwhLS0gY2lyY2xlZCBwbHVzID0gZGlyZWN0IHN1bSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVKzIyOTUgSVNPYW1zYiAtLT4KKzwhRU5USVRZIG90aW1lcyAgICImIzg4NTU7Ij4gPCEtLSBjaXJjbGVkIHRpbWVzID0gdmVjdG9yIHByb2R1Y3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVSsyMjk3IElTT2Ftc2IgLS0+Cis8IUVOVElUWSBwZXJwICAgICAiJiM4ODY5OyI+IDwhLS0gdXAgdGFjayA9IG9ydGhvZ29uYWwgdG8gPSBwZXJwZW5kaWN1bGFyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFUrMjJBNSBJU090ZWNoIC0tPgorPCFFTlRJVFkgc2RvdCAgICAgIiYjODkwMTsiPiA8IS0tIGRvdCBvcGVyYXRvciwgVSsyMkM1IElTT2Ftc2IgLS0+Cis8IS0tIGRvdCBvcGVyYXRvciBpcyBOT1QgdGhlIHNhbWUgY2hhcmFjdGVyIGFzIFUrMDBCNyBtaWRkbGUgZG90IC0tPgorCis8IS0tIE1pc2NlbGxhbmVvdXMgVGVjaG5pY2FsIC0tPgorPCFFTlRJVFkgbGNlaWwgICAgIiYjODk2ODsiPiA8IS0tIGxlZnQgY2VpbGluZyA9IGFwbCB1cHN0aWxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFUrMjMwOCBJU09hbXNjICAtLT4KKzwhRU5USVRZIHJjZWlsICAgICImIzg5Njk7Ij4gPCEtLSByaWdodCBjZWlsaW5nLCBVKzIzMDkgSVNPYW1zYyAgLS0+Cis8IUVOVElUWSBsZmxvb3IgICAiJiM4OTcwOyI+IDwhLS0gbGVmdCBmbG9vciA9IGFwbCBkb3duc3RpbGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVSsyMzBBIElTT2Ftc2MgIC0tPgorPCFFTlRJVFkgcmZsb29yICAgIiYjODk3MTsiPiA8IS0tIHJpZ2h0IGZsb29yLCBVKzIzMEIgSVNPYW1zYyAgLS0+Cis8IUVOVElUWSBsYW5nICAgICAiJiM5MDAxOyI+IDwhLS0gbGVmdC1wb2ludGluZyBhbmdsZSBicmFja2V0ID0gYnJhLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFUrMjMyOSBJU090ZWNoIC0tPgorPCEtLSBsYW5nIGlzIE5PVCB0aGUgc2FtZSBjaGFyYWN0ZXIgYXMgVSswMDNDICdsZXNzIHRoYW4nIAorICAgICBvciBVKzIwMzkgJ3NpbmdsZSBsZWZ0LXBvaW50aW5nIGFuZ2xlIHF1b3RhdGlvbiBtYXJrJyAtLT4KKzwhRU5USVRZIHJhbmcgICAgICImIzkwMDI7Ij4gPCEtLSByaWdodC1wb2ludGluZyBhbmdsZSBicmFja2V0ID0ga2V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFUrMjMyQSBJU090ZWNoIC0tPgorPCEtLSByYW5nIGlzIE5PVCB0aGUgc2FtZSBjaGFyYWN0ZXIgYXMgVSswMDNFICdncmVhdGVyIHRoYW4nIAorICAgICBvciBVKzIwM0EgJ3NpbmdsZSByaWdodC1wb2ludGluZyBhbmdsZSBxdW90YXRpb24gbWFyaycgLS0+CisKKzwhLS0gR2VvbWV0cmljIFNoYXBlcyAtLT4KKzwhRU5USVRZIGxveiAgICAgICImIzk2NzQ7Ij4gPCEtLSBsb3plbmdlLCBVKzI1Q0EgSVNPcHViIC0tPgorCis8IS0tIE1pc2NlbGxhbmVvdXMgU3ltYm9scyAtLT4KKzwhRU5USVRZIHNwYWRlcyAgICImIzk4MjQ7Ij4gPCEtLSBibGFjayBzcGFkZSBzdWl0LCBVKzI2NjAgSVNPcHViIC0tPgorPCEtLSBibGFjayBoZXJlIHNlZW1zIHRvIG1lYW4gZmlsbGVkIGFzIG9wcG9zZWQgdG8gaG9sbG93IC0tPgorPCFFTlRJVFkgY2x1YnMgICAgIiYjOTgyNzsiPiA8IS0tIGJsYWNrIGNsdWIgc3VpdCA9IHNoYW1yb2NrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFUrMjY2MyBJU09wdWIgLS0+Cis8IUVOVElUWSBoZWFydHMgICAiJiM5ODI5OyI+IDwhLS0gYmxhY2sgaGVhcnQgc3VpdCA9IHZhbGVudGluZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVKzI2NjUgSVNPcHViIC0tPgorPCFFTlRJVFkgZGlhbXMgICAgIiYjOTgzMDsiPiA8IS0tIGJsYWNrIGRpYW1vbmQgc3VpdCwgVSsyNjY2IElTT3B1YiAtLT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC92YWxpZC9kdGRzL3hodG1sLmNhdCBiL2xpYnhtbDIvdGVzdC92YWxpZC9kdGRzL3hodG1sLmNhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNjI0ZGVhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3ZhbGlkL2R0ZHMveGh0bWwuY2F0CkBAIC0wLDAgKzEsMTQgQEAKK09WRVJSSURFCVlFUworICAgICAgICAtLSBPYXNpcyBlbnRpdHkgY2F0YWxvZyBmb3IgRXh0ZW5zaWJsZSBIVE1MIDEuMCAtLQorCitQVUJMSUMgICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIgICAgICAgICJ4aHRtbDEtc3RyaWN0LmR0ZCIKK1BVQkxJQyAgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAgInhodG1sMS10cmFuc2l0aW9uYWwuZHRkIgorUFVCTElDICAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIEZyYW1lc2V0Ly9FTiIgICAgICAieGh0bWwxLWZyYW1lc2V0LmR0ZCIKKworICAgICAgICAtLSBJU08gbGF0aW4gMSBlbnRpdHkgc2V0IGZvciBFeHRlbnNpYmxlIEhUTUwgKFhNTCAxLjAgZm9ybWF0KSAtLQorCitQVUJMSUMJIi0vL1czQy8vRU5USVRJRVMgTGF0aW4gMSBmb3IgWEhUTUwvL0VOIiAgInhodG1sLWxhdDEuZW50IgorUFVCTElDCSItLy9XM0MvL0VOVElUSUVTIFN5bWJvbHMgZm9yIFhIVE1MLy9FTiIgInhodG1sLXN5bWJvbC5lbnQiCitQVUJMSUMJIi0vL1czQy8vRU5USVRJRVMgU3BlY2lhbCBmb3IgWEhUTUwvL0VOIiAieGh0bWwtc3BlY2lhbC5lbnQiCisKK1NHTUxERUNMICJ4aHRtbDEuZGNsIgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3ZhbGlkL2R0ZHMveGh0bWwxLWZyYW1lc2V0LmR0ZCBiL2xpYnhtbDIvdGVzdC92YWxpZC9kdGRzL3hodG1sMS1mcmFtZXNldC5kdGQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWRkNDRlNQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC92YWxpZC9kdGRzL3hodG1sMS1mcmFtZXNldC5kdGQKQEAgLTAsMCArMSwxMjIzIEBACis8IS0tCisgICBFeHRlbnNpYmxlIEhUTUwgdmVyc2lvbiAxLjAgRnJhbWVzZXQgRFRECisKKyAgIFRoaXMgaXMgdGhlIHNhbWUgYXMgSFRNTCA0LjAgRnJhbWVzZXQgZXhjZXB0IGZvcgorICAgY2hhbmdlcyBkdWUgdG8gdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gWE1MIGFuZCBTR01MLgorCisgICBOYW1lc3BhY2UgPSBodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sCisKKyAgIEZvciBmdXJ0aGVyIGluZm9ybWF0aW9uLCBzZWU6IGh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMQorCisgICBDb3B5cmlnaHQgKGMpIDE5OTgtMTk5OSBXM0MgKE1JVCwgSU5SSUEsIEtlaW8pLAorICAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4gCisKKyAgIFRoaXMgRFREIG1vZHVsZSBpcyBpZGVudGlmaWVkIGJ5IHRoZSBQVUJMSUMgYW5kIFNZU1RFTSBpZGVudGlmaWVyczoKKworICAgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgRnJhbWVzZXQvL0VOIgorICAgU1lTVEVNICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS1mcmFtZXNldC5kdGQiCisKKworLS0+CisKKzwhLS09PT09PT09PT09PT09PT09IENoYXJhY3RlciBtbmVtb25pYyBlbnRpdGllcyA9PT09PT09PT09PT09PT09PT09PT09PT09LS0+CisKKzwhRU5USVRZICUgSFRNTGxhdDEgUFVCTElDCisgICAiLS8vVzNDLy9FTlRJVElFUyBMYXRpbiAxIGZvciBYSFRNTC8vRU4iCisgICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbC1sYXQxLmVudCI+CislSFRNTGxhdDE7CisKKzwhRU5USVRZICUgSFRNTHN5bWJvbCBQVUJMSUMKKyAgICItLy9XM0MvL0VOVElUSUVTIFN5bWJvbHMgZm9yIFhIVE1MLy9FTiIKKyAgICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sLXN5bWJvbC5lbnQiPgorJUhUTUxzeW1ib2w7CisKKzwhRU5USVRZICUgSFRNTHNwZWNpYWwgUFVCTElDCisgICAiLS8vVzNDLy9FTlRJVElFUyBTcGVjaWFsIGZvciBYSFRNTC8vRU4iCisgICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbC1zcGVjaWFsLmVudCI+CislSFRNTHNwZWNpYWw7CisKKzwhLS09PT09PT09PT09PT09PT09PT0gSW1wb3J0ZWQgTmFtZXMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LS0+CisKKzwhRU5USVRZICUgQ29udGVudFR5cGUgIkNEQVRBIj4KKyAgICA8IS0tIG1lZGlhIHR5cGUsIGFzIHBlciBbUkZDMjA0NV0gLS0+CisKKzwhRU5USVRZICUgQ29udGVudFR5cGVzICJDREFUQSI+CisgICAgPCEtLSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBtZWRpYSB0eXBlcywgYXMgcGVyIFtSRkMyMDQ1XSAtLT4KKworPCFFTlRJVFkgJSBDaGFyc2V0ICJDREFUQSI+CisgICAgPCEtLSBhIGNoYXJhY3RlciBlbmNvZGluZywgYXMgcGVyIFtSRkMyMDQ1XSAtLT4KKworPCFFTlRJVFkgJSBDaGFyc2V0cyAiQ0RBVEEiPgorICAgIDwhLS0gYSBzcGFjZSBzZXBhcmF0ZWQgbGlzdCBvZiBjaGFyYWN0ZXIgZW5jb2RpbmdzLCBhcyBwZXIgW1JGQzIwNDVdIC0tPgorCis8IUVOVElUWSAlIExhbmd1YWdlQ29kZSAiTk1UT0tFTiI+CisgICAgPCEtLSBhIGxhbmd1YWdlIGNvZGUsIGFzIHBlciBbUkZDMTc2Nl0gLS0+CisKKzwhRU5USVRZICUgQ2hhcmFjdGVyICJDREFUQSI+CisgICAgPCEtLSBhIHNpbmdsZSBjaGFyYWN0ZXIgZnJvbSBbSVNPMTA2NDZdIC0tPgorCis8IUVOVElUWSAlIE51bWJlciAiQ0RBVEEiPgorICAgIDwhLS0gb25lIG9yIG1vcmUgZGlnaXRzIC0tPgorCis8IUVOVElUWSAlIExpbmtUeXBlcyAiQ0RBVEEiPgorICAgIDwhLS0gc3BhY2Utc2VwYXJhdGVkIGxpc3Qgb2YgbGluayB0eXBlcyAtLT4KKworPCFFTlRJVFkgJSBNZWRpYURlc2MgIkNEQVRBIj4KKyAgICA8IS0tIHNpbmdsZSBvciBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBtZWRpYSBkZXNjcmlwdG9ycyAtLT4KKworPCFFTlRJVFkgJSBVUkkgIkNEQVRBIj4KKyAgICA8IS0tIGEgVW5pZm9ybSBSZXNvdXJjZSBJZGVudGlmaWVyLCBzZWUgW1JGQzIzOTZdIC0tPgorCis8IUVOVElUWSAlIFVyaUxpc3QgIkNEQVRBIj4KKyAgICA8IS0tIGEgc3BhY2Ugc2VwYXJhdGVkIGxpc3Qgb2YgVW5pZm9ybSBSZXNvdXJjZSBJZGVudGlmaWVycyAtLT4KKworPCFFTlRJVFkgJSBEYXRldGltZSAiQ0RBVEEiPgorICAgIDwhLS0gZGF0ZSBhbmQgdGltZSBpbmZvcm1hdGlvbi4gSVNPIGRhdGUgZm9ybWF0IC0tPgorCis8IUVOVElUWSAlIFNjcmlwdCAiQ0RBVEEiPgorICAgIDwhLS0gc2NyaXB0IGV4cHJlc3Npb24gLS0+CisKKzwhRU5USVRZICUgU3R5bGVTaGVldCAiQ0RBVEEiPgorICAgIDwhLS0gc3R5bGUgc2hlZXQgZGF0YSAtLT4KKworPCFFTlRJVFkgJSBUZXh0ICJDREFUQSI+CisgICAgPCEtLSB1c2VkIGZvciB0aXRsZXMgZXRjLiAtLT4KKworPCFFTlRJVFkgJSBGcmFtZVRhcmdldCAiTk1UT0tFTiI+CisgICAgPCEtLSByZW5kZXIgaW4gdGhpcyBmcmFtZSAtLT4KKworPCFFTlRJVFkgJSBMZW5ndGggIkNEQVRBIj4KKyAgICA8IS0tIG5uIGZvciBwaXhlbHMgb3Igbm4lIGZvciBwZXJjZW50YWdlIGxlbmd0aCAtLT4KKworPCFFTlRJVFkgJSBNdWx0aUxlbmd0aCAiQ0RBVEEiPgorICAgIDwhLS0gcGl4ZWwsIHBlcmNlbnRhZ2UsIG9yIHJlbGF0aXZlIC0tPgorCis8IUVOVElUWSAlIE11bHRpTGVuZ3RocyAiQ0RBVEEiPgorICAgIDwhLS0gY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgTXVsdGlMZW5ndGggLS0+CisKKzwhRU5USVRZICUgUGl4ZWxzICJDREFUQSI+CisgICAgPCEtLSBpbnRlZ2VyIHJlcHJlc2VudGluZyBsZW5ndGggaW4gcGl4ZWxzIC0tPgorCis8IS0tIHRoZXNlIGFyZSB1c2VkIGZvciBpbWFnZSBtYXBzIC0tPgorCis8IUVOVElUWSAlIFNoYXBlICIocmVjdHxjaXJjbGV8cG9seXxkZWZhdWx0KSI+CisKKzwhRU5USVRZICUgQ29vcmRzICJDREFUQSI+CisgICAgPCEtLSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBsZW5ndGhzIC0tPgorCis8IS0tIHVzZWQgZm9yIG9iamVjdCwgYXBwbGV0LCBpbWcsIGlucHV0IGFuZCBpZnJhbWUgLS0+Cis8IUVOVElUWSAlIEltZ0FsaWduICIodG9wfG1pZGRsZXxib3R0b218bGVmdHxyaWdodCkiPgorCis8IS0tIGEgY29sb3IgdXNpbmcgc1JHQjogI1JSR0dCQiBhcyBIZXggdmFsdWVzIC0tPgorPCFFTlRJVFkgJSBDb2xvciAiQ0RBVEEiPgorCis8IS0tIFRoZXJlIGFyZSBhbHNvIDE2IHdpZGVseSBrbm93biBjb2xvciBuYW1lcyB3aXRoIHRoZWlyIHNSR0IgdmFsdWVzOgorCisgICAgQmxhY2sgID0gIzAwMDAwMCAgICBHcmVlbiAgPSAjMDA4MDAwCisgICAgU2lsdmVyID0gI0MwQzBDMCAgICBMaW1lICAgPSAjMDBGRjAwCisgICAgR3JheSAgID0gIzgwODA4MCAgICBPbGl2ZSAgPSAjODA4MDAwCisgICAgV2hpdGUgID0gI0ZGRkZGRiAgICBZZWxsb3cgPSAjRkZGRjAwCisgICAgTWFyb29uID0gIzgwMDAwMCAgICBOYXZ5ICAgPSAjMDAwMDgwCisgICAgUmVkICAgID0gI0ZGMDAwMCAgICBCbHVlICAgPSAjMDAwMEZGCisgICAgUHVycGxlID0gIzgwMDA4MCAgICBUZWFsICAgPSAjMDA4MDgwCisgICAgRnVjaHNpYT0gI0ZGMDBGRiAgICBBcXVhICAgPSAjMDBGRkZGCistLT4KKworPCEtLT09PT09PT09PT09PT09PT09PT0gR2VuZXJpYyBBdHRyaWJ1dGVzID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tLT4KKworPCEtLSBjb3JlIGF0dHJpYnV0ZXMgY29tbW9uIHRvIG1vc3QgZWxlbWVudHMKKyAgaWQgICAgICAgZG9jdW1lbnQtd2lkZSB1bmlxdWUgaWQKKyAgY2xhc3MgICAgc3BhY2Ugc2VwYXJhdGVkIGxpc3Qgb2YgY2xhc3NlcworICBzdHlsZSAgICBhc3NvY2lhdGVkIHN0eWxlIGluZm8KKyAgdGl0bGUgICAgYWR2aXNvcnkgdGl0bGUvYW1wbGlmaWNhdGlvbgorLS0+Cis8IUVOVElUWSAlIGNvcmVhdHRycworICJpZCAgICAgICAgICBJRCAgICAgICAgICAgICAjSU1QTElFRAorICBjbGFzcyAgICAgICBDREFUQSAgICAgICAgICAjSU1QTElFRAorICBzdHlsZSAgICAgICAlU3R5bGVTaGVldDsgICAjSU1QTElFRAorICB0aXRsZSAgICAgICAlVGV4dDsgICAgICAgICAjSU1QTElFRCIKKyAgPgorCis8IS0tIGludGVybmF0aW9uYWxpemF0aW9uIGF0dHJpYnV0ZXMKKyAgbGFuZyAgICAgICAgbGFuZ3VhZ2UgY29kZSAoYmFja3dhcmRzIGNvbXBhdGlibGUpCisgIHhtbDpsYW5nICAgIGxhbmd1YWdlIGNvZGUgKGFzIHBlciBYTUwgMS4wIHNwZWMpCisgIGRpciAgICAgICAgIGRpcmVjdGlvbiBmb3Igd2Vhay9uZXV0cmFsIHRleHQKKy0tPgorPCFFTlRJVFkgJSBpMThuCisgImxhbmcgICAgICAgICVMYW5ndWFnZUNvZGU7ICNJTVBMSUVECisgIHhtbDpsYW5nICAgICVMYW5ndWFnZUNvZGU7ICNJTVBMSUVECisgIGRpciAgICAgICAgIChsdHJ8cnRsKSAgICAgICNJTVBMSUVEIgorICA+CisKKzwhLS0gYXR0cmlidXRlcyBmb3IgY29tbW9uIFVJIGV2ZW50cworICBvbmNsaWNrICAgICBhIHBvaW50ZXIgYnV0dG9uIHdhcyBjbGlja2VkCisgIG9uZGJsY2xpY2sgIGEgcG9pbnRlciBidXR0b24gd2FzIGRvdWJsZSBjbGlja2VkCisgIG9ubW91c2Vkb3duIGEgcG9pbnRlciBidXR0b24gd2FzIHByZXNzZWQgZG93bgorICBvbm1vdXNldXAgICBhIHBvaW50ZXIgYnV0dG9uIHdhcyByZWxlYXNlZAorICBvbm1vdXNlbW92ZSBhIHBvaW50ZXIgd2FzIG1vdmVkIG9udG8gdGhlIGVsZW1lbnQKKyAgb25tb3VzZW91dCAgYSBwb2ludGVyIHdhcyBtb3ZlZCBhd2F5IGZyb20gdGhlIGVsZW1lbnQKKyAgb25rZXlwcmVzcyAgYSBrZXkgd2FzIHByZXNzZWQgYW5kIHJlbGVhc2VkCisgIG9ua2V5ZG93biAgIGEga2V5IHdhcyBwcmVzc2VkIGRvd24KKyAgb25rZXl1cCAgICAgYSBrZXkgd2FzIHJlbGVhc2VkCistLT4KKzwhRU5USVRZICUgZXZlbnRzCisgIm9uY2xpY2sgICAgICVTY3JpcHQ7ICAgICAgICNJTVBMSUVECisgIG9uZGJsY2xpY2sgICVTY3JpcHQ7ICAgICAgICNJTVBMSUVECisgIG9ubW91c2Vkb3duICVTY3JpcHQ7ICAgICAgICNJTVBMSUVECisgIG9ubW91c2V1cCAgICVTY3JpcHQ7ICAgICAgICNJTVBMSUVECisgIG9ubW91c2VvdmVyICVTY3JpcHQ7ICAgICAgICNJTVBMSUVECisgIG9ubW91c2Vtb3ZlICVTY3JpcHQ7ICAgICAgICNJTVBMSUVECisgIG9ubW91c2VvdXQgICVTY3JpcHQ7ICAgICAgICNJTVBMSUVECisgIG9ua2V5cHJlc3MgICVTY3JpcHQ7ICAgICAgICNJTVBMSUVECisgIG9ua2V5ZG93biAgICVTY3JpcHQ7ICAgICAgICNJTVBMSUVECisgIG9ua2V5dXAgICAgICVTY3JpcHQ7ICAgICAgICNJTVBMSUVEIgorICA+CisKKzwhLS0gYXR0cmlidXRlcyBmb3IgZWxlbWVudHMgdGhhdCBjYW4gZ2V0IHRoZSBmb2N1cworICBhY2Nlc3NrZXkgICBhY2Nlc3NpYmlsaXR5IGtleSBjaGFyYWN0ZXIKKyAgdGFiaW5kZXggICAgcG9zaXRpb24gaW4gdGFiYmluZyBvcmRlcgorICBvbmZvY3VzICAgICB0aGUgZWxlbWVudCBnb3QgdGhlIGZvY3VzCisgIG9uYmx1ciAgICAgIHRoZSBlbGVtZW50IGxvc3QgdGhlIGZvY3VzCistLT4KKzwhRU5USVRZICUgZm9jdXMKKyAiYWNjZXNza2V5ICAgJUNoYXJhY3RlcjsgICAgI0lNUExJRUQKKyAgdGFiaW5kZXggICAgJU51bWJlcjsgICAgICAgI0lNUExJRUQKKyAgb25mb2N1cyAgICAgJVNjcmlwdDsgICAgICAgI0lNUExJRUQKKyAgb25ibHVyICAgICAgJVNjcmlwdDsgICAgICAgI0lNUExJRUQiCisgID4KKworPCFFTlRJVFkgJSBhdHRycyAiJWNvcmVhdHRyczsgJWkxOG47ICVldmVudHM7Ij4KKworPCEtLSB0ZXh0IGFsaWdubWVudCBmb3IgcCwgZGl2LCBoMS1oNi4gVGhlIGRlZmF1bHQgaXMKKyAgICAgYWxpZ249ImxlZnQiIGZvciBsdHIgaGVhZGluZ3MsICJyaWdodCIgZm9yIHJ0bCAtLT4KKworPCFFTlRJVFkgJSBUZXh0QWxpZ24gImFsaWduIChsZWZ0fGNlbnRlcnxyaWdodCkgI0lNUExJRUQiPgorCis8IS0tPT09PT09PT09PT09PT09PT09PSBUZXh0IEVsZW1lbnRzID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0tPgorCis8IUVOVElUWSAlIHNwZWNpYWwKKyAgICJiciB8IHNwYW4gfCBiZG8gfG9iamVjdCB8IGFwcGxldCB8IGltZyB8IG1hcCB8IGlmcmFtZSI+CisKKzwhRU5USVRZICUgZm9udHN0eWxlICJ0dCB8IGkgfCBiIHwgYmlnIHwgc21hbGwgfCB1CisgICAgICAgICAgICAgICAgICAgICAgfCBzIHwgc3RyaWtlIHxmb250IHwgYmFzZWZvbnQiPgorCis8IUVOVElUWSAlIHBocmFzZSAiZW0gfCBzdHJvbmcgfCBkZm4gfCBjb2RlIHwgcSB8IHN1YiB8IHN1cCB8CisgICAgICAgICAgICAgICAgICAgc2FtcCB8IGtiZCB8IHZhciB8IGNpdGUgfCBhYmJyIHwgYWNyb255bSI+CisKKzwhRU5USVRZICUgaW5saW5lLmZvcm1zICJpbnB1dCB8IHNlbGVjdCB8IHRleHRhcmVhIHwgbGFiZWwgfCBidXR0b24iPgorCis8IS0tIHRoZXNlIGNhbiBvY2N1ciBhdCBibG9jayBvciBpbmxpbmUgbGV2ZWwgLS0+Cis8IUVOVElUWSAlIG1pc2MgImlucyB8IGRlbCB8IHNjcmlwdCB8IG5vc2NyaXB0Ij4KKworPCFFTlRJVFkgJSBpbmxpbmUgImEgfCAlc3BlY2lhbDsgfCAlZm9udHN0eWxlOyB8ICVwaHJhc2U7IHwgJWlubGluZS5mb3JtczsiPgorCis8IS0tICVJbmxpbmU7IGNvdmVycyBpbmxpbmUgb3IgInRleHQtbGV2ZWwiIGVsZW1lbnRzIC0tPgorPCFFTlRJVFkgJSBJbmxpbmUgIigjUENEQVRBIHwgJWlubGluZTsgfCAlbWlzYzspKiI+CisKKzwhLS09PT09PT09PT09PT09PT09PT0gQmxvY2sgbGV2ZWwgZWxlbWVudHMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LS0+CisKKzwhRU5USVRZICUgaGVhZGluZyAiaDF8aDJ8aDN8aDR8aDV8aDYiPgorPCFFTlRJVFkgJSBsaXN0cyAidWwgfCBvbCB8IGRsIHwgbWVudSB8IGRpciI+Cis8IUVOVElUWSAlIGJsb2NrdGV4dCAicHJlIHwgaHIgfCBibG9ja3F1b3RlIHwgYWRkcmVzcyB8IGNlbnRlciI+CisKKzwhRU5USVRZICUgYmxvY2sKKyAgICAicCB8ICVoZWFkaW5nOyB8IGRpdiB8ICVsaXN0czsgfCAlYmxvY2t0ZXh0OyB8IGlzaW5kZXggfCBmaWVsZHNldCB8IHRhYmxlIj4KKworPCFFTlRJVFkgJSBCbG9jayAiKCVibG9jazsgfCBmb3JtIHwgJW1pc2M7KSoiPgorCis8IS0tICVGbG93OyBtaXhlcyBCbG9jayBhbmQgSW5saW5lIGFuZCBpcyB1c2VkIGZvciBsaXN0IGl0ZW1zIGV0Yy4gLS0+Cis8IUVOVElUWSAlIEZsb3cgIigjUENEQVRBIHwgJWJsb2NrOyB8IGZvcm0gfCAlaW5saW5lOyB8ICVtaXNjOykqIj4KKworPCEtLT09PT09PT09PT09PT09PT09PSBDb250ZW50IG1vZGVscyBmb3IgZXhjbHVzaW9ucyA9PT09PT09PT09PT09PT09PT09PT0tLT4KKworPCEtLSBhIGVsZW1lbnRzIHVzZSAlSW5saW5lOyBleGNsdWRpbmcgYSAtLT4KKworPCFFTlRJVFkgJSBhLmNvbnRlbnQKKyAgICIoI1BDREFUQSB8ICVzcGVjaWFsOyB8ICVmb250c3R5bGU7IHwgJXBocmFzZTsgfCAlaW5saW5lLmZvcm1zOyB8ICVtaXNjOykqIj4KKworPCEtLSBwcmUgdXNlcyAlSW5saW5lIGV4Y2x1ZGluZyBpbWcsIG9iamVjdCwgYXBwbGV0LCBiaWcsIHNtYWxsLAorICAgICBzdWIsIHN1cCwgZm9udCwgb3IgYmFzZWZvbnQgLS0+CisKKzwhRU5USVRZICUgcHJlLmNvbnRlbnQKKyAgICIoI1BDREFUQSB8IGEgfCBiciB8IHNwYW4gfCBiZG8gfCBtYXAgfCB0dCB8IGkgfCBiIHwgdSB8IHMgfAorICAgICAgJXBocmFzZTsgfCAlaW5saW5lLmZvcm1zOykqIj4KKworPCEtLSBmb3JtIHVzZXMgJUZsb3c7IGV4Y2x1ZGluZyBmb3JtIC0tPgorCis8IUVOVElUWSAlIGZvcm0uY29udGVudCAiKCNQQ0RBVEEgfCAlYmxvY2s7IHwgJWlubGluZTsgfCAlbWlzYzspKiI+CisKKzwhLS0gYnV0dG9uIHVzZXMgJUZsb3c7IGJ1dCBleGNsdWRlcyBhLCBmb3JtLCBmb3JtIGNvbnRyb2xzLCBpZnJhbWUgLS0+CisKKzwhRU5USVRZICUgYnV0dG9uLmNvbnRlbnQKKyAgICIoI1BDREFUQSB8IHAgfCAlaGVhZGluZzsgfCBkaXYgfCAlbGlzdHM7IHwgJWJsb2NrdGV4dDsgfAorICAgICAgdGFibGUgfCBiciB8IHNwYW4gfCBiZG8gfCBvYmplY3QgfCBhcHBsZXQgfCBpbWcgfCBtYXAgfAorICAgICAgJWZvbnRzdHlsZTsgfCAlcGhyYXNlOyB8ICVtaXNjOykqIj4KKworPCEtLT09PT09PT09PT09PT09PT0gRG9jdW1lbnQgU3RydWN0dXJlID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tLT4KKworPCEtLSB0aGUgbmFtZXNwYWNlIFVSSSBkZXNpZ25hdGVzIHRoZSBkb2N1bWVudCBwcm9maWxlIC0tPgorCis8IUVMRU1FTlQgaHRtbCAoaGVhZCwgZnJhbWVzZXQpPgorPCFBVFRMSVNUIGh0bWwKKyAgJWkxOG47CisgIHhtbG5zICAgICAgICVVUkk7ICAgICAgICAgICNGSVhFRCAnaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCcKKyAgPgorCis8IS0tPT09PT09PT09PT09PT09PSBEb2N1bWVudCBIZWFkID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0tPgorCis8IUVOVElUWSAlIGhlYWQubWlzYyAiKHNjcmlwdHxzdHlsZXxtZXRhfGxpbmt8b2JqZWN0fGlzaW5kZXgpKiI+CisKKzwhLS0gY29udGVudCBtb2RlbCBpcyAlaGVhZC5taXNjOyBjb21iaW5lZCB3aXRoIGEgc2luZ2xlCisgICAgIHRpdGxlIGFuZCBhbiBvcHRpb25hbCBiYXNlIGVsZW1lbnQgaW4gYW55IG9yZGVyIC0tPgorCis8IUVMRU1FTlQgaGVhZCAoJWhlYWQubWlzYzssCisgICAgICgodGl0bGUsICVoZWFkLm1pc2M7LCAoYmFzZSwgJWhlYWQubWlzYzspPykgfAorICAgICAgKGJhc2UsICVoZWFkLm1pc2M7LCAodGl0bGUsICVoZWFkLm1pc2M7KSkpKT4KKworPCFBVFRMSVNUIGhlYWQKKyAgJWkxOG47CisgIHByb2ZpbGUgICAgICVVUkk7ICAgICAgICAgICNJTVBMSUVECisgID4KKworPCEtLSBUaGUgdGl0bGUgZWxlbWVudCBpcyBub3QgY29uc2lkZXJlZCBwYXJ0IG9mIHRoZSBmbG93IG9mIHRleHQuCisgICAgICAgSXQgc2hvdWxkIGJlIGRpc3BsYXllZCwgZm9yIGV4YW1wbGUgYXMgdGhlIHBhZ2UgaGVhZGVyIG9yCisgICAgICAgd2luZG93IHRpdGxlLiBFeGFjdGx5IG9uZSB0aXRsZSBpcyByZXF1aXJlZCBwZXIgZG9jdW1lbnQuCisgICAgLS0+Cis8IUVMRU1FTlQgdGl0bGUgKCNQQ0RBVEEpPgorPCFBVFRMSVNUIHRpdGxlICVpMThuOz4KKworPCEtLSBkb2N1bWVudCBiYXNlIFVSSSAtLT4KKworPCFFTEVNRU5UIGJhc2UgRU1QVFk+Cis8IUFUVExJU1QgYmFzZQorICBocmVmICAgICAgICAlVVJJOyAgICAgICAgICAjSU1QTElFRAorICB0YXJnZXQgICAgICAlRnJhbWVUYXJnZXQ7ICAjSU1QTElFRAorICA+CisKKzwhLS0gZ2VuZXJpYyBtZXRhaW5mb3JtYXRpb24gLS0+Cis8IUVMRU1FTlQgbWV0YSBFTVBUWT4KKzwhQVRUTElTVCBtZXRhCisgICVpMThuOworICBodHRwLWVxdWl2ICBDREFUQSAgICAgICAgICAjSU1QTElFRAorICBuYW1lICAgICAgICBDREFUQSAgICAgICAgICAjSU1QTElFRAorICBjb250ZW50ICAgICBDREFUQSAgICAgICAgICAjUkVRVUlSRUQKKyAgc2NoZW1lICAgICAgQ0RBVEEgICAgICAgICAgI0lNUExJRUQKKyAgPgorCis8IS0tCisgIFJlbGF0aW9uc2hpcCB2YWx1ZXMgY2FuIGJlIHVzZWQgaW4gcHJpbmNpcGxlOgorCisgICBhKSBmb3IgZG9jdW1lbnQgc3BlY2lmaWMgdG9vbGJhcnMvbWVudXMgd2hlbiB1c2VkCisgICAgICB3aXRoIHRoZSBsaW5rIGVsZW1lbnQgaW4gZG9jdW1lbnQgaGVhZCBlLmcuCisgICAgICAgIHN0YXJ0LCBjb250ZW50cywgcHJldmlvdXMsIG5leHQsIGluZGV4LCBlbmQsIGhlbHAKKyAgIGIpIHRvIGxpbmsgdG8gYSBzZXBhcmF0ZSBzdHlsZSBzaGVldCAocmVsPSJzdHlsZXNoZWV0IikKKyAgIGMpIHRvIG1ha2UgYSBsaW5rIHRvIGEgc2NyaXB0IChyZWw9InNjcmlwdCIpCisgICBkKSBieSBzdHlsZXNoZWV0cyB0byBjb250cm9sIGhvdyBjb2xsZWN0aW9ucyBvZgorICAgICAgaHRtbCBub2RlcyBhcmUgcmVuZGVyZWQgaW50byBwcmludGVkIGRvY3VtZW50cworICAgZSkgdG8gbWFrZSBhIGxpbmsgdG8gYSBwcmludGFibGUgdmVyc2lvbiBvZiB0aGlzIGRvY3VtZW50CisgICAgICBlLmcuIGEgUG9zdFNjcmlwdCBvciBQREYgdmVyc2lvbiAocmVsPSJhbHRlcm5hdGUiIG1lZGlhPSJwcmludCIpCistLT4KKworPCFFTEVNRU5UIGxpbmsgRU1QVFk+Cis8IUFUVExJU1QgbGluaworICAlYXR0cnM7CisgIGNoYXJzZXQgICAgICVDaGFyc2V0OyAgICAgICNJTVBMSUVECisgIGhyZWYgICAgICAgICVVUkk7ICAgICAgICAgICNJTVBMSUVECisgIGhyZWZsYW5nICAgICVMYW5ndWFnZUNvZGU7ICNJTVBMSUVECisgIHR5cGUgICAgICAgICVDb250ZW50VHlwZTsgICNJTVBMSUVECisgIHJlbCAgICAgICAgICVMaW5rVHlwZXM7ICAgICNJTVBMSUVECisgIHJldiAgICAgICAgICVMaW5rVHlwZXM7ICAgICNJTVBMSUVECisgIG1lZGlhICAgICAgICVNZWRpYURlc2M7ICAgICNJTVBMSUVECisgIHRhcmdldCAgICAgICVGcmFtZVRhcmdldDsgICNJTVBMSUVECisgID4KKworPCEtLSBzdHlsZSBpbmZvLCB3aGljaCBtYXkgaW5jbHVkZSBDREFUQSBzZWN0aW9ucyAtLT4KKzwhRUxFTUVOVCBzdHlsZSAoI1BDREFUQSk+Cis8IUFUVExJU1Qgc3R5bGUKKyAgJWkxOG47CisgIHR5cGUgICAgICAgICVDb250ZW50VHlwZTsgICNSRVFVSVJFRAorICBtZWRpYSAgICAgICAlTWVkaWFEZXNjOyAgICAjSU1QTElFRAorICB0aXRsZSAgICAgICAlVGV4dDsgICAgICAgICAjSU1QTElFRAorICB4bWw6c3BhY2UgICAocHJlc2VydmUpICAgICAjRklYRUQgJ3ByZXNlcnZlJworICA+CisKKzwhLS0gc2NyaXB0IHN0YXRlbWVudHMsIHdoaWNoIG1heSBpbmNsdWRlIENEQVRBIHNlY3Rpb25zIC0tPgorPCFFTEVNRU5UIHNjcmlwdCAoI1BDREFUQSk+Cis8IUFUVExJU1Qgc2NyaXB0CisgIGNoYXJzZXQgICAgICVDaGFyc2V0OyAgICAgICNJTVBMSUVECisgIHR5cGUgICAgICAgICVDb250ZW50VHlwZTsgICNSRVFVSVJFRAorICBsYW5ndWFnZSAgICBDREFUQSAgICAgICAgICAjSU1QTElFRAorICBzcmMgICAgICAgICAlVVJJOyAgICAgICAgICAjSU1QTElFRAorICBkZWZlciAgICAgICAoZGVmZXIpICAgICAgICAjSU1QTElFRAorICB4bWw6c3BhY2UgICAocHJlc2VydmUpICAgICAjRklYRUQgJ3ByZXNlcnZlJworICA+CisKKzwhLS0gYWx0ZXJuYXRlIGNvbnRlbnQgY29udGFpbmVyIGZvciBub24gc2NyaXB0LWJhc2VkIHJlbmRlcmluZyAtLT4KKworPCFFTEVNRU5UIG5vc2NyaXB0ICVGbG93Oz4KKzwhQVRUTElTVCBub3NjcmlwdAorICAlYXR0cnM7CisgID4KKworPCEtLT09PT09PT09PT09PT09PT09PT09PT09IEZyYW1lcyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tLT4KKworPCEtLSBvbmx5IG9uZSBub2ZyYW1lcyBlbGVtZW50IHBlcm1pdHRlZCBwZXIgZG9jdW1lbnQgLS0+CisKKzwhRUxFTUVOVCBmcmFtZXNldCAoZnJhbWVzZXR8ZnJhbWV8bm9mcmFtZXMpKj4KKzwhQVRUTElTVCBmcmFtZXNldAorICAlY29yZWF0dHJzOworICByb3dzICAgICAgICAlTXVsdGlMZW5ndGhzOyAjSU1QTElFRAorICBjb2xzICAgICAgICAlTXVsdGlMZW5ndGhzOyAjSU1QTElFRAorICBvbmxvYWQgICAgICAlU2NyaXB0OyAgICAgICAjSU1QTElFRAorICBvbnVubG9hZCAgICAlU2NyaXB0OyAgICAgICAjSU1QTElFRAorICA+CisKKzwhLS0gcmVzZXJ2ZWQgZnJhbWUgbmFtZXMgc3RhcnQgd2l0aCAiXyIgb3RoZXJ3aXNlIHN0YXJ0cyB3aXRoIGxldHRlciAtLT4KKworPCEtLSB0aWxlZCB3aW5kb3cgd2l0aGluIGZyYW1lc2V0IC0tPgorCis8IUVMRU1FTlQgZnJhbWUgRU1QVFk+Cis8IUFUVExJU1QgZnJhbWUKKyAgJWNvcmVhdHRyczsKKyAgbG9uZ2Rlc2MgICAgJVVSSTsgICAgICAgICAgI0lNUExJRUQKKyAgbmFtZSAgICAgICAgTk1UT0tFTiAgICAgICAgI0lNUExJRUQKKyAgc3JjICAgICAgICAgJVVSSTsgICAgICAgICAgI0lNUExJRUQKKyAgZnJhbWVib3JkZXIgKDF8MCkgICAgICAgICAgIjEiCisgIG1hcmdpbndpZHRoICVQaXhlbHM7ICAgICAgICNJTVBMSUVECisgIG1hcmdpbmhlaWdodCAlUGl4ZWxzOyAgICAgICNJTVBMSUVECisgIG5vcmVzaXplICAgIChub3Jlc2l6ZSkgICAgICNJTVBMSUVECisgIHNjcm9sbGluZyAgICh5ZXN8bm98YXV0bykgICJhdXRvIgorICA+CisKKzwhLS0gaW5saW5lIHN1YndpbmRvdyAtLT4KKworPCFFTEVNRU5UIGlmcmFtZSAlRmxvdzs+Cis8IUFUVExJU1QgaWZyYW1lCisgICVjb3JlYXR0cnM7CisgIGxvbmdkZXNjICAgICVVUkk7ICAgICAgICAgICNJTVBMSUVECisgIG5hbWUgICAgICAgIE5NVE9LRU4gICAgICAgICNJTVBMSUVECisgIHNyYyAgICAgICAgICVVUkk7ICAgICAgICAgICNJTVBMSUVECisgIGZyYW1lYm9yZGVyICgxfDApICAgICAgICAgICIxIgorICBtYXJnaW53aWR0aCAlUGl4ZWxzOyAgICAgICAjSU1QTElFRAorICBtYXJnaW5oZWlnaHQgJVBpeGVsczsgICAgICAjSU1QTElFRAorICBzY3JvbGxpbmcgICAoeWVzfG5vfGF1dG8pICAiYXV0byIKKyAgYWxpZ24gICAgICAgJUltZ0FsaWduOyAgICAgI0lNUExJRUQKKyAgaGVpZ2h0ICAgICAgJUxlbmd0aDsgICAgICAgI0lNUExJRUQKKyAgd2lkdGggICAgICAgJUxlbmd0aDsgICAgICAgI0lNUExJRUQKKyAgPgorCis8IS0tIGFsdGVybmF0ZSBjb250ZW50IGNvbnRhaW5lciBmb3Igbm9uIGZyYW1lLWJhc2VkIHJlbmRlcmluZyAtLT4KKworPCFFTEVNRU5UIG5vZnJhbWVzIChib2R5KT4KKzwhQVRUTElTVCBub2ZyYW1lcworICAlYXR0cnM7CisgID4KKworPCEtLT09PT09PT09PT09PT09PT09PT0gRG9jdW1lbnQgQm9keSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tLT4KKworPCFFTEVNRU5UIGJvZHkgJUZsb3c7PgorPCFBVFRMSVNUIGJvZHkKKyAgJWF0dHJzOworICBvbmxvYWQgICAgICAlU2NyaXB0OyAgICAgICAjSU1QTElFRAorICBvbnVubG9hZCAgICAlU2NyaXB0OyAgICAgICAjSU1QTElFRAorICBiYWNrZ3JvdW5kICAlVVJJOyAgICAgICAgICAjSU1QTElFRAorICBiZ2NvbG9yICAgICAlQ29sb3I7ICAgICAgICAjSU1QTElFRAorICB0ZXh0ICAgICAgICAlQ29sb3I7ICAgICAgICAjSU1QTElFRAorICBsaW5rICAgICAgICAlQ29sb3I7ICAgICAgICAjSU1QTElFRAorICB2bGluayAgICAgICAlQ29sb3I7ICAgICAgICAjSU1QTElFRAorICBhbGluayAgICAgICAlQ29sb3I7ICAgICAgICAjSU1QTElFRAorICA+CisKKzwhRUxFTUVOVCBkaXYgJUZsb3c7PiAgPCEtLSBnZW5lcmljIGxhbmd1YWdlL3N0eWxlIGNvbnRhaW5lciAtLT4KKzwhQVRUTElTVCBkaXYKKyAgJWF0dHJzOworICAlVGV4dEFsaWduOworICA+CisKKzwhLS09PT09PT09PT09PT09PT09PT09IFBhcmFncmFwaHMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LS0+CisKKzwhRUxFTUVOVCBwICVJbmxpbmU7PgorPCFBVFRMSVNUIHAKKyAgJWF0dHJzOworICAlVGV4dEFsaWduOworICA+CisKKzwhLS09PT09PT09PT09PT09PT09PT09IEhlYWRpbmdzID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LS0+CisKKzwhLS0KKyAgVGhlcmUgYXJlIHNpeCBsZXZlbHMgb2YgaGVhZGluZ3MgZnJvbSBoMSAodGhlIG1vc3QgaW1wb3J0YW50KQorICB0byBoNiAodGhlIGxlYXN0IGltcG9ydGFudCkuCistLT4KKworPCFFTEVNRU5UIGgxICAlSW5saW5lOz4KKzwhQVRUTElTVCBoMQorICAlYXR0cnM7CisgICVUZXh0QWxpZ247CisgID4KKworPCFFTEVNRU5UIGgyICVJbmxpbmU7PgorPCFBVFRMSVNUIGgyCisgICVhdHRyczsKKyAgJVRleHRBbGlnbjsKKyAgPgorCis8IUVMRU1FTlQgaDMgJUlubGluZTs+Cis8IUFUVExJU1QgaDMKKyAgJWF0dHJzOworICAlVGV4dEFsaWduOworICA+CisKKzwhRUxFTUVOVCBoNCAlSW5saW5lOz4KKzwhQVRUTElTVCBoNAorICAlYXR0cnM7CisgICVUZXh0QWxpZ247CisgID4KKworPCFFTEVNRU5UIGg1ICVJbmxpbmU7PgorPCFBVFRMSVNUIGg1CisgICVhdHRyczsKKyAgJVRleHRBbGlnbjsKKyAgPgorCis8IUVMRU1FTlQgaDYgJUlubGluZTs+Cis8IUFUVExJU1QgaDYKKyAgJWF0dHJzOworICAlVGV4dEFsaWduOworICA+CisKKzwhLS09PT09PT09PT09PT09PT09PT09IExpc3RzID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LS0+CisKKzwhLS0gVW5vcmRlcmVkIGxpc3QgYnVsbGV0IHN0eWxlcyAtLT4KKworPCFFTlRJVFkgJSBVTFN0eWxlICIoZGlzY3xzcXVhcmV8Y2lyY2xlKSI+CisKKzwhLS0gVW5vcmRlcmVkIGxpc3QgLS0+CisKKzwhRUxFTUVOVCB1bCAobGkpKz4KKzwhQVRUTElTVCB1bAorICAlYXR0cnM7CisgIHR5cGUgICAgICAgICVVTFN0eWxlOyAgICAgI0lNUExJRUQKKyAgY29tcGFjdCAgICAgKGNvbXBhY3QpICAgICAjSU1QTElFRAorICA+CisKKzwhLS0gT3JkZXJlZCBsaXN0IG51bWJlcmluZyBzdHlsZQorCisgICAgMSAgIGFyYWJpYyBudW1iZXJzICAgICAgMSwgMiwgMywgLi4uCisgICAgYSAgIGxvd2VyIGFscGhhICAgICAgICAgYSwgYiwgYywgLi4uCisgICAgQSAgIHVwcGVyIGFscGhhICAgICAgICAgQSwgQiwgQywgLi4uCisgICAgaSAgIGxvd2VyIHJvbWFuICAgICAgICAgaSwgaWksIGlpaSwgLi4uCisgICAgSSAgIHVwcGVyIHJvbWFuICAgICAgICAgSSwgSUksIElJSSwgLi4uCisKKyAgICBUaGUgc3R5bGUgaXMgYXBwbGllZCB0byB0aGUgc2VxdWVuY2UgbnVtYmVyIHdoaWNoIGJ5IGRlZmF1bHQKKyAgICBpcyByZXNldCB0byAxIGZvciB0aGUgZmlyc3QgbGlzdCBpdGVtIGluIGFuIG9yZGVyZWQgbGlzdC4KKy0tPgorPCFFTlRJVFkgJSBPTFN0eWxlICJDREFUQSI+CisKKzwhLS0gT3JkZXJlZCAobnVtYmVyZWQpIGxpc3QgLS0+CisKKzwhRUxFTUVOVCBvbCAobGkpKz4KKzwhQVRUTElTVCBvbAorICAlYXR0cnM7CisgIHR5cGUgICAgICAgICVPTFN0eWxlOyAgICAgICNJTVBMSUVECisgIGNvbXBhY3QgICAgIChjb21wYWN0KSAgICAgICNJTVBMSUVECisgIHN0YXJ0ICAgICAgICVOdW1iZXI7ICAgICAgICNJTVBMSUVECisgID4KKworPCEtLSBzaW5nbGUgY29sdW1uIGxpc3QgKERFUFJFQ0FURUQpIC0tPiAKKzwhRUxFTUVOVCBtZW51IChsaSkrPgorPCFBVFRMSVNUIG1lbnUKKyAgJWF0dHJzOworICBjb21wYWN0ICAgICAoY29tcGFjdCkgICAgICNJTVBMSUVECisgID4KKworPCEtLSBtdWx0aXBsZSBjb2x1bW4gbGlzdCAoREVQUkVDQVRFRCkgLS0+IAorPCFFTEVNRU5UIGRpciAobGkpKz4KKzwhQVRUTElTVCBkaXIKKyAgJWF0dHJzOworICBjb21wYWN0ICAgICAoY29tcGFjdCkgICAgICNJTVBMSUVECisgID4KKworPCEtLSBMSVN0eWxlIGlzIGNvbnN0cmFpbmVkIHRvOiAiKCVVTFN0eWxlO3wlT0xTdHlsZTspIiAtLT4KKzwhRU5USVRZICUgTElTdHlsZSAiQ0RBVEEiPgorCis8IS0tIGxpc3QgaXRlbSAtLT4KKworPCFFTEVNRU5UIGxpICVGbG93Oz4KKzwhQVRUTElTVCBsaQorICAlYXR0cnM7CisgIHR5cGUgICAgICAgICVMSVN0eWxlOyAgICAgICNJTVBMSUVECisgIHZhbHVlICAgICAgICVOdW1iZXI7ICAgICAgICNJTVBMSUVECisgID4KKworPCEtLSBkZWZpbml0aW9uIGxpc3RzIC0gZHQgZm9yIHRlcm0sIGRkIGZvciBpdHMgZGVmaW5pdGlvbiAtLT4KKworPCFFTEVNRU5UIGRsIChkdHxkZCkrPgorPCFBVFRMSVNUIGRsCisgICVhdHRyczsKKyAgY29tcGFjdCAgICAgKGNvbXBhY3QpICAgICAgI0lNUExJRUQKKyAgPgorCis8IUVMRU1FTlQgZHQgJUlubGluZTs+Cis8IUFUVExJU1QgZHQKKyAgJWF0dHJzOworICA+CisKKzwhRUxFTUVOVCBkZCAlRmxvdzs+Cis8IUFUVExJU1QgZGQKKyAgJWF0dHJzOworICA+CisKKzwhLS09PT09PT09PT09PT09PT09PT09IEFkZHJlc3MgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LS0+CisKKzwhLS0gaW5mb3JtYXRpb24gb24gYXV0aG9yIC0tPgorCis8IUVMRU1FTlQgYWRkcmVzcyAlSW5saW5lOz4KKzwhQVRUTElTVCBhZGRyZXNzCisgICVhdHRyczsKKyAgPgorCis8IS0tPT09PT09PT09PT09PT09PT09PSBIb3Jpem9udGFsIFJ1bGUgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0tPgorCis8IUVMRU1FTlQgaHIgRU1QVFk+Cis8IUFUVExJU1QgaHIKKyAgJWF0dHJzOworICBhbGlnbiAgICAgICAobGVmdHxjZW50ZXJ8cmlnaHQpICNJTVBMSUVECisgIG5vc2hhZGUgICAgIChub3NoYWRlKSAgICAgICNJTVBMSUVECisgIHNpemUgICAgICAgICVQaXhlbHM7ICAgICAgICNJTVBMSUVECisgIHdpZHRoICAgICAgICVMZW5ndGg7ICAgICAgICNJTVBMSUVECisgID4KKworPCEtLT09PT09PT09PT09PT09PT09PT0gUHJlZm9ybWF0dGVkIFRleHQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tLT4KKworPCEtLSBjb250ZW50IGlzICVJbmxpbmU7IGV4Y2x1ZGluZyAKKyAgICAgICAgImltZ3xvYmplY3R8YXBwbGV0fGJpZ3xzbWFsbHxzdWJ8c3VwfGZvbnR8YmFzZWZvbnQiIC0tPgorCis8IUVMRU1FTlQgcHJlICVwcmUuY29udGVudDs+Cis8IUFUVExJU1QgcHJlCisgICVhdHRyczsKKyAgd2lkdGggICAgICAgJU51bWJlcjsgICAgICAjSU1QTElFRAorICB4bWw6c3BhY2UgICAocHJlc2VydmUpICAgICNGSVhFRCAncHJlc2VydmUnCisgID4KKworPCEtLT09PT09PT09PT09PT09PT09PT0gQmxvY2stbGlrZSBRdW90ZXMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tLT4KKworPCFFTEVNRU5UIGJsb2NrcXVvdGUgJUZsb3c7PgorPCFBVFRMSVNUIGJsb2NrcXVvdGUKKyAgJWF0dHJzOworICBjaXRlICAgICAgICAlVVJJOyAgICAgICAgICAjSU1QTElFRAorICA+CisKKzwhLS09PT09PT09PT09PT09PT09PT09IFRleHQgYWxpZ25tZW50ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LS0+CisKKzwhLS0gY2VudGVyIGNvbnRlbnQgLS0+Cis8IUVMRU1FTlQgY2VudGVyICVGbG93Oz4KKzwhQVRUTElTVCBjZW50ZXIKKyAgJWF0dHJzOworICA+CisKKzwhLS09PT09PT09PT09PT09PT09PT09IEluc2VydGVkL0RlbGV0ZWQgVGV4dCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09LS0+CisKKworPCEtLQorICBpbnMvZGVsIGFyZSBhbGxvd2VkIGluIGJsb2NrIGFuZCBpbmxpbmUgY29udGVudCwgYnV0IGl0cworICBpbmFwcHJvcHJpYXRlIHRvIGluY2x1ZGUgYmxvY2sgY29udGVudCB3aXRoaW4gYW4gaW5zIGVsZW1lbnQKKyAgb2NjdXJyaW5nIGluIGlubGluZSBjb250ZW50LgorLS0+Cis8IUVMRU1FTlQgaW5zICVGbG93Oz4KKzwhQVRUTElTVCBpbnMKKyAgJWF0dHJzOworICBjaXRlICAgICAgICAlVVJJOyAgICAgICAgICAjSU1QTElFRAorICBkYXRldGltZSAgICAlRGF0ZXRpbWU7ICAgICAjSU1QTElFRAorICA+CisKKzwhRUxFTUVOVCBkZWwgJUZsb3c7PgorPCFBVFRMSVNUIGRlbAorICAlYXR0cnM7CisgIGNpdGUgICAgICAgICVVUkk7ICAgICAgICAgICNJTVBMSUVECisgIGRhdGV0aW1lICAgICVEYXRldGltZTsgICAgICNJTVBMSUVECisgID4KKworPCEtLT09PT09PT09PT09PT09PT09PSBUaGUgQW5jaG9yIEVsZW1lbnQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tLT4KKworPCEtLSBjb250ZW50IGlzICVJbmxpbmU7IGV4Y2VwdCB0aGF0IGFuY2hvcnMgc2hvdWxkbid0IGJlIG5lc3RlZCAtLT4KKworPCFFTEVNRU5UIGEgJWEuY29udGVudDs+Cis8IUFUVExJU1QgYQorICAlYXR0cnM7CisgIGNoYXJzZXQgICAgICVDaGFyc2V0OyAgICAgICNJTVBMSUVECisgIHR5cGUgICAgICAgICVDb250ZW50VHlwZTsgICNJTVBMSUVECisgIG5hbWUgICAgICAgIE5NVE9LRU4gICAgICAgICNJTVBMSUVECisgIGhyZWYgICAgICAgICVVUkk7ICAgICAgICAgICNJTVBMSUVECisgIGhyZWZsYW5nICAgICVMYW5ndWFnZUNvZGU7ICNJTVBMSUVECisgIHJlbCAgICAgICAgICVMaW5rVHlwZXM7ICAgICNJTVBMSUVECisgIHJldiAgICAgICAgICVMaW5rVHlwZXM7ICAgICNJTVBMSUVECisgIGFjY2Vzc2tleSAgICVDaGFyYWN0ZXI7ICAgICNJTVBMSUVECisgIHNoYXBlICAgICAgICVTaGFwZTsgICAgICAgICJyZWN0IgorICBjb29yZHMgICAgICAlQ29vcmRzOyAgICAgICAjSU1QTElFRAorICB0YWJpbmRleCAgICAlTnVtYmVyOyAgICAgICAjSU1QTElFRAorICBvbmZvY3VzICAgICAlU2NyaXB0OyAgICAgICAjSU1QTElFRAorICBvbmJsdXIgICAgICAlU2NyaXB0OyAgICAgICAjSU1QTElFRAorICB0YXJnZXQgICAgICAlRnJhbWVUYXJnZXQ7ICAjSU1QTElFRAorICA+CisKKzwhLS09PT09PT09PT09PT09PT09PT09PT0gSW5saW5lIEVsZW1lbnRzID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LS0+CisKKzwhRUxFTUVOVCBzcGFuICVJbmxpbmU7PiA8IS0tIGdlbmVyaWMgbGFuZ3VhZ2Uvc3R5bGUgY29udGFpbmVyIC0tPgorPCFBVFRMSVNUIHNwYW4KKyAgJWF0dHJzOworICA+CisKKzwhRUxFTUVOVCBiZG8gJUlubGluZTs+ICA8IS0tIEkxOE4gQmlEaSBvdmVyLXJpZGUgLS0+Cis8IUFUVExJU1QgYmRvCisgICVjb3JlYXR0cnM7CisgICVldmVudHM7CisgIGxhbmcgICAgICAgICVMYW5ndWFnZUNvZGU7ICNJTVBMSUVECisgIHhtbDpsYW5nICAgICVMYW5ndWFnZUNvZGU7ICNJTVBMSUVECisgIGRpciAgICAgICAgIChsdHJ8cnRsKSAgICAgICNSRVFVSVJFRAorICA+CisKKzwhRUxFTUVOVCBiciBFTVBUWT4gICA8IS0tIGZvcmNlZCBsaW5lIGJyZWFrIC0tPgorPCFBVFRMSVNUIGJyCisgICVjb3JlYXR0cnM7CisgIGNsZWFyICAgICAgIChsZWZ0fGFsbHxyaWdodHxub25lKSAibm9uZSIKKyAgPgorCis8IUVMRU1FTlQgZW0gJUlubGluZTs+ICAgPCEtLSBlbXBoYXNpcyAtLT4KKzwhQVRUTElTVCBlbSAlYXR0cnM7PgorCis8IUVMRU1FTlQgc3Ryb25nICVJbmxpbmU7PiAgIDwhLS0gc3Ryb25nIGVtcGhhc2lzIC0tPgorPCFBVFRMSVNUIHN0cm9uZyAlYXR0cnM7PgorCis8IUVMRU1FTlQgZGZuICVJbmxpbmU7PiAgIDwhLS0gZGVmaW5pdGlvbmFsIC0tPgorPCFBVFRMSVNUIGRmbiAlYXR0cnM7PgorCis8IUVMRU1FTlQgY29kZSAlSW5saW5lOz4gICA8IS0tIHByb2dyYW0gY29kZSAtLT4KKzwhQVRUTElTVCBjb2RlICVhdHRyczs+CisKKzwhRUxFTUVOVCBzYW1wICVJbmxpbmU7PiAgIDwhLS0gc2FtcGxlIC0tPgorPCFBVFRMSVNUIHNhbXAgJWF0dHJzOz4KKworPCFFTEVNRU5UIGtiZCAlSW5saW5lOz4gIDwhLS0gc29tZXRoaW5nIHVzZXIgd291bGQgdHlwZSAtLT4KKzwhQVRUTElTVCBrYmQgJWF0dHJzOz4KKworPCFFTEVNRU5UIHZhciAlSW5saW5lOz4gICA8IS0tIHZhcmlhYmxlIC0tPgorPCFBVFRMSVNUIHZhciAlYXR0cnM7PgorCis8IUVMRU1FTlQgY2l0ZSAlSW5saW5lOz4gICA8IS0tIGNpdGF0aW9uIC0tPgorPCFBVFRMSVNUIGNpdGUgJWF0dHJzOz4KKworPCFFTEVNRU5UIGFiYnIgJUlubGluZTs+ICAgPCEtLSBhYmJyZXZpYXRpb24gLS0+Cis8IUFUVExJU1QgYWJiciAlYXR0cnM7PgorCis8IUVMRU1FTlQgYWNyb255bSAlSW5saW5lOz4gICA8IS0tIGFjcm9ueW0gLS0+Cis8IUFUVExJU1QgYWNyb255bSAlYXR0cnM7PgorCis8IUVMRU1FTlQgcSAlSW5saW5lOz4gICA8IS0tIGlubGluZWQgcXVvdGUgLS0+Cis8IUFUVExJU1QgcQorICAgJWF0dHJzOworICBjaXRlICAgICAgICAlVVJJOyAgICAgICAgICAjSU1QTElFRAorICAgPgorCis8IUVMRU1FTlQgc3ViICVJbmxpbmU7PiA8IS0tIHN1YnNjcmlwdCAtLT4KKzwhQVRUTElTVCBzdWIgJWF0dHJzOz4KKworPCFFTEVNRU5UIHN1cCAlSW5saW5lOz4gPCEtLSBzdXBlcnNjcmlwdCAtLT4KKzwhQVRUTElTVCBzdXAgJWF0dHJzOz4KKworPCFFTEVNRU5UIHR0ICVJbmxpbmU7PiAgIDwhLS0gZml4ZWQgcGl0Y2ggZm9udCAtLT4KKzwhQVRUTElTVCB0dCAlYXR0cnM7PgorCis8IUVMRU1FTlQgaSAlSW5saW5lOz4gICA8IS0tIGl0YWxpYyBmb250IC0tPgorPCFBVFRMSVNUIGkgJWF0dHJzOz4KKworPCFFTEVNRU5UIGIgJUlubGluZTs+ICAgPCEtLSBib2xkIGZvbnQgLS0+Cis8IUFUVExJU1QgYiAlYXR0cnM7PgorCis8IUVMRU1FTlQgYmlnICVJbmxpbmU7PiAgIDwhLS0gYmlnZ2VyIGZvbnQgLS0+Cis8IUFUVExJU1QgYmlnICVhdHRyczs+CisKKzwhRUxFTUVOVCBzbWFsbCAlSW5saW5lOz4gICA8IS0tIHNtYWxsZXIgZm9udCAtLT4KKzwhQVRUTElTVCBzbWFsbCAlYXR0cnM7PgorCis8IUVMRU1FTlQgdSAlSW5saW5lOz4gICA8IS0tIHVuZGVybGluZSAtLT4KKzwhQVRUTElTVCB1ICVhdHRyczs+CisKKzwhRUxFTUVOVCBzICVJbmxpbmU7PiAgIDwhLS0gc3RyaWtlLXRocm91Z2ggLS0+Cis8IUFUVExJU1QgcyAlYXR0cnM7PgorCis8IUVMRU1FTlQgc3RyaWtlICVJbmxpbmU7PiAgIDwhLS0gc3RyaWtlLXRocm91Z2ggLS0+Cis8IUFUVExJU1Qgc3RyaWtlICVhdHRyczs+CisKKzwhRUxFTUVOVCBiYXNlZm9udCBFTVBUWT4gIDwhLS0gYmFzZSBmb250IHNpemUgLS0+Cis8IUFUVExJU1QgYmFzZWZvbnQKKyAgaWQgICAgICAgICAgSUQgICAgICAgICAgICAgI0lNUExJRUQKKyAgc2l6ZSAgICAgICAgQ0RBVEEgICAgICAgICAgI1JFUVVJUkVECisgIGNvbG9yICAgICAgICVDb2xvcjsgICAgICAgICNJTVBMSUVECisgIGZhY2UgICAgICAgIENEQVRBICAgICAgICAgICNJTVBMSUVECisgID4KKworPCFFTEVNRU5UIGZvbnQgJUlubGluZTs+IDwhLS0gbG9jYWwgY2hhbmdlIHRvIGZvbnQgLS0+Cis8IUFUVExJU1QgZm9udAorICAlY29yZWF0dHJzOworICAlaTE4bjsKKyAgc2l6ZSAgICAgICAgQ0RBVEEgICAgICAgICAgI0lNUExJRUQKKyAgY29sb3IgICAgICAgJUNvbG9yOyAgICAgICAgI0lNUExJRUQKKyAgZmFjZSAgICAgICAgQ0RBVEEgICAgICAgICAgI0lNUExJRUQKKyAgPgorCis8IS0tPT09PT09PT09PT09PT09PT09PT0gT2JqZWN0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LS0+Cis8IS0tCisgIG9iamVjdCBpcyB1c2VkIHRvIGVtYmVkIG9iamVjdHMgYXMgcGFydCBvZiBIVE1MIHBhZ2VzLgorICBwYXJhbSBlbGVtZW50cyBzaG91bGQgcHJlY2VkZSBvdGhlciBjb250ZW50LiBQYXJhbWV0ZXJzCisgIGNhbiBhbHNvIGJlIGV4cHJlc3NlZCBhcyBhdHRyaWJ1dGUvdmFsdWUgcGFpcnMgb24gdGhlCisgIG9iamVjdCBlbGVtZW50IGl0c2VsZiB3aGVuIGJyZXZpdHkgaXMgZGVzaXJlZC4KKy0tPgorCis8IUVMRU1FTlQgb2JqZWN0ICgjUENEQVRBIHwgcGFyYW0gfCAlYmxvY2s7IHwgZm9ybSB8JWlubGluZTsgfCAlbWlzYzspKj4KKzwhQVRUTElTVCBvYmplY3QKKyAgJWF0dHJzOworICBkZWNsYXJlICAgICAoZGVjbGFyZSkgICAgICAjSU1QTElFRAorICBjbGFzc2lkICAgICAlVVJJOyAgICAgICAgICAjSU1QTElFRAorICBjb2RlYmFzZSAgICAlVVJJOyAgICAgICAgICAjSU1QTElFRAorICBkYXRhICAgICAgICAlVVJJOyAgICAgICAgICAjSU1QTElFRAorICB0eXBlICAgICAgICAlQ29udGVudFR5cGU7ICAjSU1QTElFRAorICBjb2RldHlwZSAgICAlQ29udGVudFR5cGU7ICAjSU1QTElFRAorICBhcmNoaXZlICAgICAlVXJpTGlzdDsgICAgICAjSU1QTElFRAorICBzdGFuZGJ5ICAgICAlVGV4dDsgICAgICAgICAjSU1QTElFRAorICBoZWlnaHQgICAgICAlTGVuZ3RoOyAgICAgICAjSU1QTElFRAorICB3aWR0aCAgICAgICAlTGVuZ3RoOyAgICAgICAjSU1QTElFRAorICB1c2VtYXAgICAgICAlVVJJOyAgICAgICAgICAjSU1QTElFRAorICBuYW1lICAgICAgICBOTVRPS0VOICAgICAgICAjSU1QTElFRAorICB0YWJpbmRleCAgICAlTnVtYmVyOyAgICAgICAjSU1QTElFRAorICBhbGlnbiAgICAgICAlSW1nQWxpZ247ICAgICAjSU1QTElFRAorICBib3JkZXIgICAgICAlUGl4ZWxzOyAgICAgICAjSU1QTElFRAorICBoc3BhY2UgICAgICAlUGl4ZWxzOyAgICAgICAjSU1QTElFRAorICB2c3BhY2UgICAgICAlUGl4ZWxzOyAgICAgICAjSU1QTElFRAorICA+CisKKzwhLS0KKyAgcGFyYW0gaXMgdXNlZCB0byBzdXBwbHkgYSBuYW1lZCBwcm9wZXJ0eSB2YWx1ZS4KKyAgSW4gWE1MIGl0IHdvdWxkIHNlZW0gbmF0dXJhbCB0byBmb2xsb3cgUkRGIGFuZCBzdXBwb3J0IGFuCisgIGFiYnJldmlhdGVkIHN5bnRheCB3aGVyZSB0aGUgcGFyYW0gZWxlbWVudHMgYXJlIHJlcGxhY2VkCisgIGJ5IGF0dHJpYnV0ZSB2YWx1ZSBwYWlycyBvbiB0aGUgb2JqZWN0IHN0YXJ0IHRhZy4KKy0tPgorPCFFTEVNRU5UIHBhcmFtIEVNUFRZPgorPCFBVFRMSVNUIHBhcmFtCisgIGlkICAgICAgICAgIElEICAgICAgICAgICAgICNJTVBMSUVECisgIG5hbWUgICAgICAgIENEQVRBICAgICAgICAgICNSRVFVSVJFRAorICB2YWx1ZSAgICAgICBDREFUQSAgICAgICAgICAjSU1QTElFRAorICB2YWx1ZXR5cGUgICAoZGF0YXxyZWZ8b2JqZWN0KSAiZGF0YSIKKyAgdHlwZSAgICAgICAgJUNvbnRlbnRUeXBlOyAgI0lNUExJRUQKKyAgPgorCis8IS0tPT09PT09PT09PT09PT09PT09PSBKYXZhIGFwcGxldCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LS0+Cis8IS0tCisgIE9uZSBvZiBjb2RlIG9yIG9iamVjdCBhdHRyaWJ1dGVzIG11c3QgYmUgcHJlc2VudC4KKyAgUGxhY2UgcGFyYW0gZWxlbWVudHMgYmVmb3JlIG90aGVyIGNvbnRlbnQuCistLT4KKzwhRUxFTUVOVCBhcHBsZXQgKCNQQ0RBVEEgfCBwYXJhbSB8ICVibG9jazsgfCBmb3JtIHwgJWlubGluZTsgfCAlbWlzYzspKj4KKzwhQVRUTElTVCBhcHBsZXQKKyAgJWNvcmVhdHRyczsKKyAgY29kZWJhc2UgICAgJVVSSTsgICAgICAgICAgI0lNUExJRUQKKyAgYXJjaGl2ZSAgICAgQ0RBVEEgICAgICAgICAgI0lNUExJRUQKKyAgY29kZSAgICAgICAgQ0RBVEEgICAgICAgICAgI0lNUExJRUQKKyAgb2JqZWN0ICAgICAgQ0RBVEEgICAgICAgICAgI0lNUExJRUQKKyAgYWx0ICAgICAgICAgJVRleHQ7ICAgICAgICAgI0lNUExJRUQKKyAgbmFtZSAgICAgICAgTk1UT0tFTiAgICAgICAgI0lNUExJRUQKKyAgd2lkdGggICAgICAgJUxlbmd0aDsgICAgICAgI1JFUVVJUkVECisgIGhlaWdodCAgICAgICVMZW5ndGg7ICAgICAgICNSRVFVSVJFRAorICBhbGlnbiAgICAgICAlSW1nQWxpZ247ICAgICAjSU1QTElFRAorICBoc3BhY2UgICAgICAlUGl4ZWxzOyAgICAgICAjSU1QTElFRAorICB2c3BhY2UgICAgICAlUGl4ZWxzOyAgICAgICAjSU1QTElFRAorICA+CisKKzwhLS09PT09PT09PT09PT09PT09PT09IEltYWdlcyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LS0+CisKKzwhLS0KKyAgIFRvIGF2b2lkIGFjY2Vzc2liaWxpdHkgcHJvYmxlbXMgZm9yIHBlb3BsZSB3aG8gYXJlbid0CisgICBhYmxlIHRvIHNlZSB0aGUgaW1hZ2UsIHlvdSBzaG91bGQgcHJvdmlkZSBhIHRleHQKKyAgIGRlc2NyaXB0aW9uIHVzaW5nIHRoZSBhbHQgYW5kIGxvbmdkZXNjIGF0dHJpYnV0ZXMuCisgICBJbiBhZGRpdGlvbiwgYXZvaWQgdGhlIHVzZSBvZiBzZXJ2ZXItc2lkZSBpbWFnZSBtYXBzLgorLS0+CisKKzwhRUxFTUVOVCBpbWcgRU1QVFk+Cis8IUFUVExJU1QgaW1nCisgICVhdHRyczsKKyAgc3JjICAgICAgICAgJVVSSTsgICAgICAgICAgI1JFUVVJUkVECisgIGFsdCAgICAgICAgICVUZXh0OyAgICAgICAgICNSRVFVSVJFRAorICBuYW1lICAgICAgICBOTVRPS0VOICAgICAgICAjSU1QTElFRAorICBsb25nZGVzYyAgICAlVVJJOyAgICAgICAgICAjSU1QTElFRAorICBoZWlnaHQgICAgICAlTGVuZ3RoOyAgICAgICAjSU1QTElFRAorICB3aWR0aCAgICAgICAlTGVuZ3RoOyAgICAgICAjSU1QTElFRAorICB1c2VtYXAgICAgICAlVVJJOyAgICAgICAgICAjSU1QTElFRAorICBpc21hcCAgICAgICAoaXNtYXApICAgICAgICAjSU1QTElFRAorICBhbGlnbiAgICAgICAlSW1nQWxpZ247ICAgICAjSU1QTElFRAorICBib3JkZXIgICAgICAlUGl4ZWxzOyAgICAgICAjSU1QTElFRAorICBoc3BhY2UgICAgICAlUGl4ZWxzOyAgICAgICAjSU1QTElFRAorICB2c3BhY2UgICAgICAlUGl4ZWxzOyAgICAgICAjSU1QTElFRAorICA+CisKKzwhLS0gdXNlbWFwIHBvaW50cyB0byBhIG1hcCBlbGVtZW50IHdoaWNoIG1heSBiZSBpbiB0aGlzIGRvY3VtZW50CisgIG9yIGFuIGV4dGVybmFsIGRvY3VtZW50LCBhbHRob3VnaCB0aGUgbGF0dGVyIGlzIG5vdCB3aWRlbHkgc3VwcG9ydGVkIC0tPgorCis8IS0tPT09PT09PT09PT09PT09PT09IENsaWVudC1zaWRlIGltYWdlIG1hcHMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PS0tPgorCis8IS0tIFRoZXNlIGNhbiBiZSBwbGFjZWQgaW4gdGhlIHNhbWUgZG9jdW1lbnQgb3IgZ3JvdXBlZCBpbiBhCisgICAgIHNlcGFyYXRlIGRvY3VtZW50IGFsdGhvdWdoIHRoaXMgaXNuJ3QgeWV0IHdpZGVseSBzdXBwb3J0ZWQgLS0+CisKKzwhRUxFTUVOVCBtYXAgKCglYmxvY2s7IHwgZm9ybSB8ICVtaXNjOykrIHwgYXJlYSspPgorPCFBVFRMSVNUIG1hcAorICAlaTE4bjsKKyAgJWV2ZW50czsKKyAgaWQgICAgICAgICAgSUQgICAgICAgICAgICAgI1JFUVVJUkVECisgIGNsYXNzICAgICAgIENEQVRBICAgICAgICAgICNJTVBMSUVECisgIHN0eWxlICAgICAgICVTdHlsZVNoZWV0OyAgICNJTVBMSUVECisgIHRpdGxlICAgICAgICVUZXh0OyAgICAgICAgICNJTVBMSUVECisgIG5hbWUgICAgICAgIE5NVE9LRU4gICAgICAgICNJTVBMSUVECisgID4KKworPCFFTEVNRU5UIGFyZWEgRU1QVFk+Cis8IUFUVExJU1QgYXJlYQorICAlYXR0cnM7CisgIHNoYXBlICAgICAgICVTaGFwZTsgICAgICAgICJyZWN0IgorICBjb29yZHMgICAgICAlQ29vcmRzOyAgICAgICAjSU1QTElFRAorICBocmVmICAgICAgICAlVVJJOyAgICAgICAgICAjSU1QTElFRAorICBub2hyZWYgICAgICAobm9ocmVmKSAgICAgICAjSU1QTElFRAorICBhbHQgICAgICAgICAlVGV4dDsgICAgICAgICAjUkVRVUlSRUQKKyAgdGFiaW5kZXggICAgJU51bWJlcjsgICAgICAgI0lNUExJRUQKKyAgYWNjZXNza2V5ICAgJUNoYXJhY3RlcjsgICAgI0lNUExJRUQKKyAgb25mb2N1cyAgICAgJVNjcmlwdDsgICAgICAgI0lNUExJRUQKKyAgb25ibHVyICAgICAgJVNjcmlwdDsgICAgICAgI0lNUExJRUQKKyAgdGFyZ2V0ICAgICAgJUZyYW1lVGFyZ2V0OyAgI0lNUExJRUQKKyAgPgorCis8IS0tPT09PT09PT09PT09PT09PSBGb3JtcyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0tPgorCis8IUVMRU1FTlQgZm9ybSAlZm9ybS5jb250ZW50Oz4gICA8IS0tIGZvcm1zIHNob3VsZG4ndCBiZSBuZXN0ZWQgLS0+CisKKzwhQVRUTElTVCBmb3JtCisgICVhdHRyczsKKyAgYWN0aW9uICAgICAgJVVSSTsgICAgICAgICAgI1JFUVVJUkVECisgIG1ldGhvZCAgICAgIChnZXR8cG9zdCkgICAgICJnZXQiCisgIG5hbWUgICAgICAgIE5NVE9LRU4gICAgICAgICNJTVBMSUVECisgIGVuY3R5cGUgICAgICVDb250ZW50VHlwZTsgICJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiCisgIG9uc3VibWl0ICAgICVTY3JpcHQ7ICAgICAgICNJTVBMSUVECisgIG9ucmVzZXQgICAgICVTY3JpcHQ7ICAgICAgICNJTVBMSUVECisgIGFjY2VwdCAgICAgICVDb250ZW50VHlwZXM7ICNJTVBMSUVECisgIGFjY2VwdC1jaGFyc2V0ICVDaGFyc2V0czsgICNJTVBMSUVECisgIHRhcmdldCAgICAgICVGcmFtZVRhcmdldDsgICNJTVBMSUVECisgID4KKworPCEtLQorICBFYWNoIGxhYmVsIG11c3Qgbm90IGNvbnRhaW4gbW9yZSB0aGFuIE9ORSBmaWVsZAorICBMYWJlbCBlbGVtZW50cyBzaG91bGRuJ3QgYmUgbmVzdGVkLgorLS0+Cis8IUVMRU1FTlQgbGFiZWwgJUlubGluZTs+Cis8IUFUVExJU1QgbGFiZWwKKyAgJWF0dHJzOworICBmb3IgICAgICAgICBJRFJFRiAgICAgICAgICAjSU1QTElFRAorICBhY2Nlc3NrZXkgICAlQ2hhcmFjdGVyOyAgICAjSU1QTElFRAorICBvbmZvY3VzICAgICAlU2NyaXB0OyAgICAgICAjSU1QTElFRAorICBvbmJsdXIgICAgICAlU2NyaXB0OyAgICAgICAjSU1QTElFRAorICA+CisKKzwhRU5USVRZICUgSW5wdXRUeXBlCisgICIodGV4dCB8IHBhc3N3b3JkIHwgY2hlY2tib3ggfAorICAgIHJhZGlvIHwgc3VibWl0IHwgcmVzZXQgfAorICAgIGZpbGUgfCBoaWRkZW4gfCBpbWFnZSB8IGJ1dHRvbikiCisgICA+CisKKzwhLS0gdGhlIG5hbWUgYXR0cmlidXRlIGlzIHJlcXVpcmVkIGZvciBhbGwgYnV0IHN1Ym1pdCAmIHJlc2V0IC0tPgorCis8IUVMRU1FTlQgaW5wdXQgRU1QVFk+ICAgICA8IS0tIGZvcm0gY29udHJvbCAtLT4KKzwhQVRUTElTVCBpbnB1dAorICAlYXR0cnM7CisgIHR5cGUgICAgICAgICVJbnB1dFR5cGU7ICAgICJ0ZXh0IgorICBuYW1lICAgICAgICBDREFUQSAgICAgICAgICAjSU1QTElFRAorICB2YWx1ZSAgICAgICBDREFUQSAgICAgICAgICAjSU1QTElFRAorICBjaGVja2VkICAgICAoY2hlY2tlZCkgICAgICAjSU1QTElFRAorICBkaXNhYmxlZCAgICAoZGlzYWJsZWQpICAgICAjSU1QTElFRAorICByZWFkb25seSAgICAocmVhZG9ubHkpICAgICAjSU1QTElFRAorICBzaXplICAgICAgICBDREFUQSAgICAgICAgICAjSU1QTElFRAorICBtYXhsZW5ndGggICAlTnVtYmVyOyAgICAgICAjSU1QTElFRAorICBzcmMgICAgICAgICAlVVJJOyAgICAgICAgICAjSU1QTElFRAorICBhbHQgICAgICAgICBDREFUQSAgICAgICAgICAjSU1QTElFRAorICB1c2VtYXAgICAgICAlVVJJOyAgICAgICAgICAjSU1QTElFRAorICB0YWJpbmRleCAgICAlTnVtYmVyOyAgICAgICAjSU1QTElFRAorICBhY2Nlc3NrZXkgICAlQ2hhcmFjdGVyOyAgICAjSU1QTElFRAorICBvbmZvY3VzICAgICAlU2NyaXB0OyAgICAgICAjSU1QTElFRAorICBvbmJsdXIgICAgICAlU2NyaXB0OyAgICAgICAjSU1QTElFRAorICBvbnNlbGVjdCAgICAlU2NyaXB0OyAgICAgICAjSU1QTElFRAorICBvbmNoYW5nZSAgICAlU2NyaXB0OyAgICAgICAjSU1QTElFRAorICBhY2NlcHQgICAgICAlQ29udGVudFR5cGVzOyAjSU1QTElFRAorICBhbGlnbiAgICAgICAlSW1nQWxpZ247ICAgICAjSU1QTElFRAorICA+CisKKzwhRUxFTUVOVCBzZWxlY3QgKG9wdGdyb3VwfG9wdGlvbikrPiAgPCEtLSBvcHRpb24gc2VsZWN0b3IgLS0+Cis8IUFUVExJU1Qgc2VsZWN0CisgICVhdHRyczsKKyAgbmFtZSAgICAgICAgQ0RBVEEgICAgICAgICAgI0lNUExJRUQKKyAgc2l6ZSAgICAgICAgJU51bWJlcjsgICAgICAgI0lNUExJRUQKKyAgbXVsdGlwbGUgICAgKG11bHRpcGxlKSAgICAgI0lNUExJRUQKKyAgZGlzYWJsZWQgICAgKGRpc2FibGVkKSAgICAgI0lNUExJRUQKKyAgdGFiaW5kZXggICAgJU51bWJlcjsgICAgICAgI0lNUExJRUQKKyAgb25mb2N1cyAgICAgJVNjcmlwdDsgICAgICAgI0lNUExJRUQKKyAgb25ibHVyICAgICAgJVNjcmlwdDsgICAgICAgI0lNUExJRUQKKyAgb25jaGFuZ2UgICAgJVNjcmlwdDsgICAgICAgI0lNUExJRUQKKyAgPgorCis8IUVMRU1FTlQgb3B0Z3JvdXAgKG9wdGlvbikrPiAgIDwhLS0gb3B0aW9uIGdyb3VwIC0tPgorPCFBVFRMSVNUIG9wdGdyb3VwCisgICVhdHRyczsKKyAgZGlzYWJsZWQgICAgKGRpc2FibGVkKSAgICAgI0lNUExJRUQKKyAgbGFiZWwgICAgICAgJVRleHQ7ICAgICAgICAgI1JFUVVJUkVECisgID4KKworPCFFTEVNRU5UIG9wdGlvbiAoI1BDREFUQSk+ICAgICA8IS0tIHNlbGVjdGFibGUgY2hvaWNlIC0tPgorPCFBVFRMSVNUIG9wdGlvbgorICAlYXR0cnM7CisgIHNlbGVjdGVkICAgIChzZWxlY3RlZCkgICAgICNJTVBMSUVECisgIGRpc2FibGVkICAgIChkaXNhYmxlZCkgICAgICNJTVBMSUVECisgIGxhYmVsICAgICAgICVUZXh0OyAgICAgICAgICNJTVBMSUVECisgIHZhbHVlICAgICAgIENEQVRBICAgICAgICAgICNJTVBMSUVECisgID4KKworPCFFTEVNRU5UIHRleHRhcmVhICgjUENEQVRBKT4gICAgIDwhLS0gbXVsdGktbGluZSB0ZXh0IGZpZWxkIC0tPgorPCFBVFRMSVNUIHRleHRhcmVhCisgICVhdHRyczsKKyAgbmFtZSAgICAgICAgQ0RBVEEgICAgICAgICAgI0lNUExJRUQKKyAgcm93cyAgICAgICAgJU51bWJlcjsgICAgICAgI1JFUVVJUkVECisgIGNvbHMgICAgICAgICVOdW1iZXI7ICAgICAgICNSRVFVSVJFRAorICBkaXNhYmxlZCAgICAoZGlzYWJsZWQpICAgICAjSU1QTElFRAorICByZWFkb25seSAgICAocmVhZG9ubHkpICAgICAjSU1QTElFRAorICB0YWJpbmRleCAgICAlTnVtYmVyOyAgICAgICAjSU1QTElFRAorICBhY2Nlc3NrZXkgICAlQ2hhcmFjdGVyOyAgICAjSU1QTElFRAorICBvbmZvY3VzICAgICAlU2NyaXB0OyAgICAgICAjSU1QTElFRAorICBvbmJsdXIgICAgICAlU2NyaXB0OyAgICAgICAjSU1QTElFRAorICBvbnNlbGVjdCAgICAlU2NyaXB0OyAgICAgICAjSU1QTElFRAorICBvbmNoYW5nZSAgICAlU2NyaXB0OyAgICAgICAjSU1QTElFRAorICA+CisKKzwhLS0KKyAgVGhlIGZpZWxkc2V0IGVsZW1lbnQgaXMgdXNlZCB0byBncm91cCBmb3JtIGZpZWxkcy4KKyAgT25seSBvbmUgbGVnZW5kIGVsZW1lbnQgc2hvdWxkIG9jY3VyIGluIHRoZSBjb250ZW50CisgIGFuZCBpZiBwcmVzZW50IHNob3VsZCBvbmx5IGJlIHByZWNlZGVkIGJ5IHdoaXRlc3BhY2UuCistLT4KKzwhRUxFTUVOVCBmaWVsZHNldCAoI1BDREFUQSB8IGxlZ2VuZCB8ICVibG9jazsgfCBmb3JtIHwgJWlubGluZTsgfCAlbWlzYzspKj4KKzwhQVRUTElTVCBmaWVsZHNldAorICAlYXR0cnM7CisgID4KKworPCFFTlRJVFkgJSBMQWxpZ24gIih0b3B8Ym90dG9tfGxlZnR8cmlnaHQpIj4KKworPCFFTEVNRU5UIGxlZ2VuZCAlSW5saW5lOz4gICAgIDwhLS0gZmllbGRzZXQgbGFiZWwgLS0+Cis8IUFUVExJU1QgbGVnZW5kCisgICVhdHRyczsKKyAgYWNjZXNza2V5ICAgJUNoYXJhY3RlcjsgICAgI0lNUExJRUQKKyAgYWxpZ24gICAgICAgJUxBbGlnbjsgICAgICAgI0lNUExJRUQKKyAgPgorCis8IS0tCisgQ29udGVudCBpcyAlRmxvdzsgZXhjbHVkaW5nIGEsIGZvcm0sIGZvcm0gY29udHJvbHMsIGlmcmFtZQorLS0+IAorPCFFTEVNRU5UIGJ1dHRvbiAlYnV0dG9uLmNvbnRlbnQ7PiAgPCEtLSBwdXNoIGJ1dHRvbiAtLT4KKzwhQVRUTElTVCBidXR0b24KKyAgJWF0dHJzOworICBuYW1lICAgICAgICBDREFUQSAgICAgICAgICAjSU1QTElFRAorICB2YWx1ZSAgICAgICBDREFUQSAgICAgICAgICAjSU1QTElFRAorICB0eXBlICAgICAgICAoYnV0dG9ufHN1Ym1pdHxyZXNldCkgInN1Ym1pdCIKKyAgZGlzYWJsZWQgICAgKGRpc2FibGVkKSAgICAgI0lNUExJRUQKKyAgdGFiaW5kZXggICAgJU51bWJlcjsgICAgICAgI0lNUExJRUQKKyAgYWNjZXNza2V5ICAgJUNoYXJhY3RlcjsgICAgI0lNUExJRUQKKyAgb25mb2N1cyAgICAgJVNjcmlwdDsgICAgICAgI0lNUExJRUQKKyAgb25ibHVyICAgICAgJVNjcmlwdDsgICAgICAgI0lNUExJRUQKKyAgPgorCis8IS0tIHNpbmdsZS1saW5lIHRleHQgaW5wdXQgY29udHJvbCAoREVQUkVDQVRFRCkgLS0+Cis8IUVMRU1FTlQgaXNpbmRleCBFTVBUWT4KKzwhQVRUTElTVCBpc2luZGV4CisgICVjb3JlYXR0cnM7CisgICVpMThuOworICBwcm9tcHQgICAgICAlVGV4dDsgICAgICAgICAjSU1QTElFRAorICA+CisKKzwhLS09PT09PT09PT09PT09PT09PT09PT09PSBUYWJsZXMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LS0+CisKKzwhLS0gRGVyaXZlZCBmcm9tIElFVEYgSFRNTCB0YWJsZSBzdGFuZGFyZCwgc2VlIFtSRkMxOTQyXSAtLT4KKworPCEtLQorIFRoZSBib3JkZXIgYXR0cmlidXRlIHNldHMgdGhlIHRoaWNrbmVzcyBvZiB0aGUgZnJhbWUgYXJvdW5kIHRoZQorIHRhYmxlLiBUaGUgZGVmYXVsdCB1bml0cyBhcmUgc2NyZWVuIHBpeGVscy4KKworIFRoZSBmcmFtZSBhdHRyaWJ1dGUgc3BlY2lmaWVzIHdoaWNoIHBhcnRzIG9mIHRoZSBmcmFtZSBhcm91bmQKKyB0aGUgdGFibGUgc2hvdWxkIGJlIHJlbmRlcmVkLiBUaGUgdmFsdWVzIGFyZSBub3QgdGhlIHNhbWUgYXMKKyBDQUxTIHRvIGF2b2lkIGEgbmFtZSBjbGFzaCB3aXRoIHRoZSB2YWxpZ24gYXR0cmlidXRlLgorLS0+Cis8IUVOVElUWSAlIFRGcmFtZSAiKHZvaWR8YWJvdmV8YmVsb3d8aHNpZGVzfGxoc3xyaHN8dnNpZGVzfGJveHxib3JkZXIpIj4KKworPCEtLQorIFRoZSBydWxlcyBhdHRyaWJ1dGUgZGVmaW5lcyB3aGljaCBydWxlcyB0byBkcmF3IGJldHdlZW4gY2VsbHM6CisKKyBJZiBydWxlcyBpcyBhYnNlbnQgdGhlbiBhc3N1bWU6CisgICAgICJub25lIiBpZiBib3JkZXIgaXMgYWJzZW50IG9yIGJvcmRlcj0iMCIgb3RoZXJ3aXNlICJhbGwiCistLT4KKworPCFFTlRJVFkgJSBUUnVsZXMgIihub25lIHwgZ3JvdXBzIHwgcm93cyB8IGNvbHMgfCBhbGwpIj4KKyAgCis8IS0tIGhvcml6b250YWwgcGxhY2VtZW50IG9mIHRhYmxlIHJlbGF0aXZlIHRvIGRvY3VtZW50IC0tPgorPCFFTlRJVFkgJSBUQWxpZ24gIihsZWZ0fGNlbnRlcnxyaWdodCkiPgorCis8IS0tIGhvcml6b250YWwgYWxpZ25tZW50IGF0dHJpYnV0ZXMgZm9yIGNlbGwgY29udGVudHMKKworICBjaGFyICAgICAgICBhbGlnbm1lbnQgY2hhciwgZS5nLiBjaGFyPSI6IgorICBjaGFyb2ZmICAgICBvZmZzZXQgZm9yIGFsaWdubWVudCBjaGFyCistLT4KKzwhRU5USVRZICUgY2VsbGhhbGlnbgorICAiYWxpZ24gICAgICAobGVmdHxjZW50ZXJ8cmlnaHR8anVzdGlmeXxjaGFyKSAjSU1QTElFRAorICAgY2hhciAgICAgICAlQ2hhcmFjdGVyOyAgICAjSU1QTElFRAorICAgY2hhcm9mZiAgICAlTGVuZ3RoOyAgICAgICAjSU1QTElFRCIKKyAgPgorCis8IS0tIHZlcnRpY2FsIGFsaWdubWVudCBhdHRyaWJ1dGVzIGZvciBjZWxsIGNvbnRlbnRzIC0tPgorPCFFTlRJVFkgJSBjZWxsdmFsaWduCisgICJ2YWxpZ24gICAgICh0b3B8bWlkZGxlfGJvdHRvbXxiYXNlbGluZSkgI0lNUExJRUQiCisgID4KKworPCFFTEVNRU5UIHRhYmxlCisgICAgIChjYXB0aW9uPywgKGNvbCp8Y29sZ3JvdXAqKSwgdGhlYWQ/LCB0Zm9vdD8sICh0Ym9keSt8dHIrKSk+Cis8IUVMRU1FTlQgY2FwdGlvbiAgJUlubGluZTs+Cis8IUVMRU1FTlQgdGhlYWQgICAgKHRyKSs+Cis8IUVMRU1FTlQgdGZvb3QgICAgKHRyKSs+Cis8IUVMRU1FTlQgdGJvZHkgICAgKHRyKSs+Cis8IUVMRU1FTlQgY29sZ3JvdXAgKGNvbCkqPgorPCFFTEVNRU5UIGNvbCAgICAgIEVNUFRZPgorPCFFTEVNRU5UIHRyICAgICAgICh0aHx0ZCkrPgorPCFFTEVNRU5UIHRoICAgICAgICVGbG93Oz4KKzwhRUxFTUVOVCB0ZCAgICAgICAlRmxvdzs+CisKKzwhQVRUTElTVCB0YWJsZQorICAlYXR0cnM7CisgIHN1bW1hcnkgICAgICVUZXh0OyAgICAgICAgICNJTVBMSUVECisgIHdpZHRoICAgICAgICVMZW5ndGg7ICAgICAgICNJTVBMSUVECisgIGJvcmRlciAgICAgICVQaXhlbHM7ICAgICAgICNJTVBMSUVECisgIGZyYW1lICAgICAgICVURnJhbWU7ICAgICAgICNJTVBMSUVECisgIHJ1bGVzICAgICAgICVUUnVsZXM7ICAgICAgICNJTVBMSUVECisgIGNlbGxzcGFjaW5nICVMZW5ndGg7ICAgICAgICNJTVBMSUVECisgIGNlbGxwYWRkaW5nICVMZW5ndGg7ICAgICAgICNJTVBMSUVECisgIGFsaWduICAgICAgICVUQWxpZ247ICAgICAgICNJTVBMSUVECisgIGJnY29sb3IgICAgICVDb2xvcjsgICAgICAgICNJTVBMSUVECisgID4KKworPCFFTlRJVFkgJSBDQWxpZ24gIih0b3B8Ym90dG9tfGxlZnR8cmlnaHQpIj4KKworPCFBVFRMSVNUIGNhcHRpb24KKyAgJWF0dHJzOworICBhbGlnbiAgICAgICAlQ0FsaWduOyAgICAgICAjSU1QTElFRAorICA+CisKKzwhLS0KK2NvbGdyb3VwIGdyb3VwcyBhIHNldCBvZiBjb2wgZWxlbWVudHMuIEl0IGFsbG93cyB5b3UgdG8gZ3JvdXAKK3NldmVyYWwgc2VtYW50aWNhbGx5IHJlbGF0ZWQgY29sdW1ucyB0b2dldGhlci4KKy0tPgorPCFBVFRMSVNUIGNvbGdyb3VwCisgICVhdHRyczsKKyAgc3BhbiAgICAgICAgJU51bWJlcjsgICAgICAgIjEiCisgIHdpZHRoICAgICAgICVNdWx0aUxlbmd0aDsgICNJTVBMSUVECisgICVjZWxsaGFsaWduOworICAlY2VsbHZhbGlnbjsKKyAgPgorCis8IS0tCisgY29sIGVsZW1lbnRzIGRlZmluZSB0aGUgYWxpZ25tZW50IHByb3BlcnRpZXMgZm9yIGNlbGxzIGluCisgb25lIG9yIG1vcmUgY29sdW1ucy4KKworIFRoZSB3aWR0aCBhdHRyaWJ1dGUgc3BlY2lmaWVzIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1ucywgZS5nLgorCisgICAgIHdpZHRoPTY0ICAgICAgICB3aWR0aCBpbiBzY3JlZW4gcGl4ZWxzCisgICAgIHdpZHRoPTAuNSogICAgICByZWxhdGl2ZSB3aWR0aCBvZiAwLjUKKworIFRoZSBzcGFuIGF0dHJpYnV0ZSBjYXVzZXMgdGhlIGF0dHJpYnV0ZXMgb2Ygb25lCisgY29sIGVsZW1lbnQgdG8gYXBwbHkgdG8gbW9yZSB0aGFuIG9uZSBjb2x1bW4uCistLT4KKzwhQVRUTElTVCBjb2wKKyAgJWF0dHJzOworICBzcGFuICAgICAgICAlTnVtYmVyOyAgICAgICAiMSIKKyAgd2lkdGggICAgICAgJU11bHRpTGVuZ3RoOyAgI0lNUExJRUQKKyAgJWNlbGxoYWxpZ247CisgICVjZWxsdmFsaWduOworICA+CisKKzwhLS0KKyAgICBVc2UgdGhlYWQgdG8gZHVwbGljYXRlIGhlYWRlcnMgd2hlbiBicmVha2luZyB0YWJsZQorICAgIGFjcm9zcyBwYWdlIGJvdW5kYXJpZXMsIG9yIGZvciBzdGF0aWMgaGVhZGVycyB3aGVuCisgICAgdGJvZHkgc2VjdGlvbnMgYXJlIHJlbmRlcmVkIGluIHNjcm9sbGluZyBwYW5lbC4KKworICAgIFVzZSB0Zm9vdCB0byBkdXBsaWNhdGUgZm9vdGVycyB3aGVuIGJyZWFraW5nIHRhYmxlCisgICAgYWNyb3NzIHBhZ2UgYm91bmRhcmllcywgb3IgZm9yIHN0YXRpYyBmb290ZXJzIHdoZW4KKyAgICB0Ym9keSBzZWN0aW9ucyBhcmUgcmVuZGVyZWQgaW4gc2Nyb2xsaW5nIHBhbmVsLgorCisgICAgVXNlIG11bHRpcGxlIHRib2R5IHNlY3Rpb25zIHdoZW4gcnVsZXMgYXJlIG5lZWRlZAorICAgIGJldHdlZW4gZ3JvdXBzIG9mIHRhYmxlIHJvd3MuCistLT4KKzwhQVRUTElTVCB0aGVhZAorICAlYXR0cnM7CisgICVjZWxsaGFsaWduOworICAlY2VsbHZhbGlnbjsKKyAgPgorCis8IUFUVExJU1QgdGZvb3QKKyAgJWF0dHJzOworICAlY2VsbGhhbGlnbjsKKyAgJWNlbGx2YWxpZ247CisgID4KKworPCFBVFRMSVNUIHRib2R5CisgICVhdHRyczsKKyAgJWNlbGxoYWxpZ247CisgICVjZWxsdmFsaWduOworICA+CisKKzwhQVRUTElTVCB0cgorICAlYXR0cnM7CisgICVjZWxsaGFsaWduOworICAlY2VsbHZhbGlnbjsKKyAgYmdjb2xvciAgICAgJUNvbG9yOyAgICAgICAgI0lNUExJRUQKKyAgPgorCis8IS0tIFNjb3BlIGlzIHNpbXBsZXIgdGhhbiBoZWFkZXJzIGF0dHJpYnV0ZSBmb3IgY29tbW9uIHRhYmxlcyAtLT4KKzwhRU5USVRZICUgU2NvcGUgIihyb3d8Y29sfHJvd2dyb3VwfGNvbGdyb3VwKSI+CisKKzwhLS0gdGggaXMgZm9yIGhlYWRlcnMsIHRkIGZvciBkYXRhIGFuZCBmb3IgY2VsbHMgYWN0aW5nIGFzIGJvdGggLS0+CisKKzwhQVRUTElTVCB0aAorICAlYXR0cnM7CisgIGFiYnIgICAgICAgICVUZXh0OyAgICAgICAgICNJTVBMSUVECisgIGF4aXMgICAgICAgIENEQVRBICAgICAgICAgICNJTVBMSUVECisgIGhlYWRlcnMgICAgIElEUkVGUyAgICAgICAgICNJTVBMSUVECisgIHNjb3BlICAgICAgICVTY29wZTsgICAgICAgICNJTVBMSUVECisgIHJvd3NwYW4gICAgICVOdW1iZXI7ICAgICAgICIxIgorICBjb2xzcGFuICAgICAlTnVtYmVyOyAgICAgICAiMSIKKyAgJWNlbGxoYWxpZ247CisgICVjZWxsdmFsaWduOworICBub3dyYXAgICAgICAobm93cmFwKSAgICAgICAjSU1QTElFRAorICBiZ2NvbG9yICAgICAlQ29sb3I7ICAgICAgICAjSU1QTElFRAorICB3aWR0aCAgICAgICAlUGl4ZWxzOyAgICAgICAjSU1QTElFRAorICBoZWlnaHQgICAgICAlUGl4ZWxzOyAgICAgICAjSU1QTElFRAorICA+CisKKzwhQVRUTElTVCB0ZAorICAlYXR0cnM7CisgIGFiYnIgICAgICAgICVUZXh0OyAgICAgICAgICNJTVBMSUVECisgIGF4aXMgICAgICAgIENEQVRBICAgICAgICAgICNJTVBMSUVECisgIGhlYWRlcnMgICAgIElEUkVGUyAgICAgICAgICNJTVBMSUVECisgIHNjb3BlICAgICAgICVTY29wZTsgICAgICAgICNJTVBMSUVECisgIHJvd3NwYW4gICAgICVOdW1iZXI7ICAgICAgICIxIgorICBjb2xzcGFuICAgICAlTnVtYmVyOyAgICAgICAiMSIKKyAgJWNlbGxoYWxpZ247CisgICVjZWxsdmFsaWduOworICBub3dyYXAgICAgICAobm93cmFwKSAgICAgICAjSU1QTElFRAorICBiZ2NvbG9yICAgICAlQ29sb3I7ICAgICAgICAjSU1QTElFRAorICB3aWR0aCAgICAgICAlUGl4ZWxzOyAgICAgICAjSU1QTElFRAorICBoZWlnaHQgICAgICAlUGl4ZWxzOyAgICAgICAjSU1QTElFRAorICA+CisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC92YWxpZC9kdGRzL3hodG1sMS1zdHJpY3QuZHRkIGIvbGlieG1sMi90ZXN0L3ZhbGlkL2R0ZHMveGh0bWwxLXN0cmljdC5kdGQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDdjM2RhMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC92YWxpZC9kdGRzL3hodG1sMS1zdHJpY3QuZHRkCkBAIC0wLDAgKzEsOTg2IEBACis8IS0tCisgICBFeHRlbnNpYmxlIEhUTUwgdmVyc2lvbiAxLjAgU3RyaWN0IERURAorCisgICBUaGlzIGlzIHRoZSBzYW1lIGFzIEhUTUwgNC4wIFN0cmljdCBleGNlcHQgZm9yCisgICBjaGFuZ2VzIGR1ZSB0byB0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiBYTUwgYW5kIFNHTUwuCisKKyAgIE5hbWVzcGFjZSA9IGh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwKKworICAgRm9yIGZ1cnRoZXIgaW5mb3JtYXRpb24sIHNlZTogaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxCisKKyAgIENvcHlyaWdodCAoYykgMTk5OC0xOTk5IFczQyAoTUlULCBJTlJJQSwgS2VpbyksCisgICBBbGwgUmlnaHRzIFJlc2VydmVkLiAKKworICAgVGhpcyBEVEQgbW9kdWxlIGlzIGlkZW50aWZpZWQgYnkgdGhlIFBVQkxJQyBhbmQgU1lTVEVNIGlkZW50aWZpZXJzOgorCisgICBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBTdHJpY3QvL0VOIgorICAgU1lTVEVNICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS1zdHJpY3QuZHRkIgorCisKKy0tPgorCis8IS0tPT09PT09PT09PT09PT09PSBDaGFyYWN0ZXIgbW5lbW9uaWMgZW50aXRpZXMgPT09PT09PT09PT09PT09PT09PT09PT09PS0tPgorCis8IUVOVElUWSAlIEhUTUxsYXQxIFBVQkxJQworICAgIi0vL1czQy8vRU5USVRJRVMgTGF0aW4gMSBmb3IgWEhUTUwvL0VOIgorICAgInhodG1sLWxhdDEuZW50Ij4KKyVIVE1MbGF0MTsKKworPCFFTlRJVFkgJSBIVE1Mc3ltYm9sIFBVQkxJQworICAgIi0vL1czQy8vRU5USVRJRVMgU3ltYm9scyBmb3IgWEhUTUwvL0VOIgorICAgInhodG1sLXN5bWJvbC5lbnQiPgorJUhUTUxzeW1ib2w7CisKKzwhRU5USVRZICUgSFRNTHNwZWNpYWwgUFVCTElDCisgICAiLS8vVzNDLy9FTlRJVElFUyBTcGVjaWFsIGZvciBYSFRNTC8vRU4iCisgICAieGh0bWwtc3BlY2lhbC5lbnQiPgorJUhUTUxzcGVjaWFsOworCis8IS0tPT09PT09PT09PT09PT09PT09IEltcG9ydGVkIE5hbWVzID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0tPgorCis8IUVOVElUWSAlIENvbnRlbnRUeXBlICJDREFUQSI+CisgICAgPCEtLSBtZWRpYSB0eXBlLCBhcyBwZXIgW1JGQzIwNDVdIC0tPgorCis8IUVOVElUWSAlIENvbnRlbnRUeXBlcyAiQ0RBVEEiPgorICAgIDwhLS0gY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgbWVkaWEgdHlwZXMsIGFzIHBlciBbUkZDMjA0NV0gLS0+CisKKzwhRU5USVRZICUgQ2hhcnNldCAiQ0RBVEEiPgorICAgIDwhLS0gYSBjaGFyYWN0ZXIgZW5jb2RpbmcsIGFzIHBlciBbUkZDMjA0NV0gLS0+CisKKzwhRU5USVRZICUgQ2hhcnNldHMgIkNEQVRBIj4KKyAgICA8IS0tIGEgc3BhY2Ugc2VwYXJhdGVkIGxpc3Qgb2YgY2hhcmFjdGVyIGVuY29kaW5ncywgYXMgcGVyIFtSRkMyMDQ1XSAtLT4KKworPCFFTlRJVFkgJSBMYW5ndWFnZUNvZGUgIk5NVE9LRU4iPgorICAgIDwhLS0gYSBsYW5ndWFnZSBjb2RlLCBhcyBwZXIgW1JGQzE3NjZdIC0tPgorCis8IUVOVElUWSAlIENoYXJhY3RlciAiQ0RBVEEiPgorICAgIDwhLS0gYSBzaW5nbGUgY2hhcmFjdGVyIGZyb20gW0lTTzEwNjQ2XSAtLT4KKworPCFFTlRJVFkgJSBOdW1iZXIgIkNEQVRBIj4KKyAgICA8IS0tIG9uZSBvciBtb3JlIGRpZ2l0cyAtLT4KKworPCFFTlRJVFkgJSBMaW5rVHlwZXMgIkNEQVRBIj4KKyAgICA8IS0tIHNwYWNlLXNlcGFyYXRlZCBsaXN0IG9mIGxpbmsgdHlwZXMgLS0+CisKKzwhRU5USVRZICUgTWVkaWFEZXNjICJDREFUQSI+CisgICAgPCEtLSBzaW5nbGUgb3IgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgbWVkaWEgZGVzY3JpcHRvcnMgLS0+CisKKzwhRU5USVRZICUgVVJJICJDREFUQSI+CisgICAgPCEtLSBhIFVuaWZvcm0gUmVzb3VyY2UgSWRlbnRpZmllciwgc2VlIFtSRkMyMzk2XSAtLT4KKworPCFFTlRJVFkgJSBVcmlMaXN0ICJDREFUQSI+CisgICAgPCEtLSBhIHNwYWNlIHNlcGFyYXRlZCBsaXN0IG9mIFVuaWZvcm0gUmVzb3VyY2UgSWRlbnRpZmllcnMgLS0+CisKKzwhRU5USVRZICUgRGF0ZXRpbWUgIkNEQVRBIj4KKyAgICA8IS0tIGRhdGUgYW5kIHRpbWUgaW5mb3JtYXRpb24uIElTTyBkYXRlIGZvcm1hdCAtLT4KKworPCFFTlRJVFkgJSBTY3JpcHQgIkNEQVRBIj4KKyAgICA8IS0tIHNjcmlwdCBleHByZXNzaW9uIC0tPgorCis8IUVOVElUWSAlIFN0eWxlU2hlZXQgIkNEQVRBIj4KKyAgICA8IS0tIHN0eWxlIHNoZWV0IGRhdGEgLS0+CisKKzwhRU5USVRZICUgVGV4dCAiQ0RBVEEiPgorICAgIDwhLS0gdXNlZCBmb3IgdGl0bGVzIGV0Yy4gLS0+CisKKzwhRU5USVRZICUgRnJhbWVUYXJnZXQgIk5NVE9LRU4iPgorICAgIDwhLS0gcmVuZGVyIGluIHRoaXMgZnJhbWUgLS0+CisKKzwhRU5USVRZICUgTGVuZ3RoICJDREFUQSI+CisgICAgPCEtLSBubiBmb3IgcGl4ZWxzIG9yIG5uJSBmb3IgcGVyY2VudGFnZSBsZW5ndGggLS0+CisKKzwhRU5USVRZICUgTXVsdGlMZW5ndGggIkNEQVRBIj4KKyAgICA8IS0tIHBpeGVsLCBwZXJjZW50YWdlLCBvciByZWxhdGl2ZSAtLT4KKworPCFFTlRJVFkgJSBNdWx0aUxlbmd0aHMgIkNEQVRBIj4KKyAgICA8IS0tIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIE11bHRpTGVuZ3RoIC0tPgorCis8IUVOVElUWSAlIFBpeGVscyAiQ0RBVEEiPgorICAgIDwhLS0gaW50ZWdlciByZXByZXNlbnRpbmcgbGVuZ3RoIGluIHBpeGVscyAtLT4KKworPCEtLSB0aGVzZSBhcmUgdXNlZCBmb3IgaW1hZ2UgbWFwcyAtLT4KKworPCFFTlRJVFkgJSBTaGFwZSAiKHJlY3R8Y2lyY2xlfHBvbHl8ZGVmYXVsdCkiPgorCis8IUVOVElUWSAlIENvb3JkcyAiQ0RBVEEiPgorICAgIDwhLS0gY29tbWEgc2VwYXJhdGVkIGxpc3Qgb2YgbGVuZ3RocyAtLT4KKworPCEtLT09PT09PT09PT09PT09PT09PT0gR2VuZXJpYyBBdHRyaWJ1dGVzID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tLT4KKworPCEtLSBjb3JlIGF0dHJpYnV0ZXMgY29tbW9uIHRvIG1vc3QgZWxlbWVudHMKKyAgaWQgICAgICAgZG9jdW1lbnQtd2lkZSB1bmlxdWUgaWQKKyAgY2xhc3MgICAgc3BhY2Ugc2VwYXJhdGVkIGxpc3Qgb2YgY2xhc3NlcworICBzdHlsZSAgICBhc3NvY2lhdGVkIHN0eWxlIGluZm8KKyAgdGl0bGUgICAgYWR2aXNvcnkgdGl0bGUvYW1wbGlmaWNhdGlvbgorLS0+Cis8IUVOVElUWSAlIGNvcmVhdHRycworICJpZCAgICAgICAgICBJRCAgICAgICAgICAgICAjSU1QTElFRAorICBjbGFzcyAgICAgICBDREFUQSAgICAgICAgICAjSU1QTElFRAorICBzdHlsZSAgICAgICAlU3R5bGVTaGVldDsgICAjSU1QTElFRAorICB0aXRsZSAgICAgICAlVGV4dDsgICAgICAgICAjSU1QTElFRCIKKyAgPgorCis8IS0tIGludGVybmF0aW9uYWxpemF0aW9uIGF0dHJpYnV0ZXMKKyAgbGFuZyAgICAgICAgbGFuZ3VhZ2UgY29kZSAoYmFja3dhcmRzIGNvbXBhdGlibGUpCisgIHhtbDpsYW5nICAgIGxhbmd1YWdlIGNvZGUgKGFzIHBlciBYTUwgMS4wIHNwZWMpCisgIGRpciAgICAgICAgIGRpcmVjdGlvbiBmb3Igd2Vhay9uZXV0cmFsIHRleHQKKy0tPgorPCFFTlRJVFkgJSBpMThuCisgImxhbmcgICAgICAgICVMYW5ndWFnZUNvZGU7ICNJTVBMSUVECisgIHhtbDpsYW5nICAgICVMYW5ndWFnZUNvZGU7ICNJTVBMSUVECisgIGRpciAgICAgICAgIChsdHJ8cnRsKSAgICAgICNJTVBMSUVEIgorICA+CisKKzwhLS0gYXR0cmlidXRlcyBmb3IgY29tbW9uIFVJIGV2ZW50cworICBvbmNsaWNrICAgICBhIHBvaW50ZXIgYnV0dG9uIHdhcyBjbGlja2VkCisgIG9uZGJsY2xpY2sgIGEgcG9pbnRlciBidXR0b24gd2FzIGRvdWJsZSBjbGlja2VkCisgIG9ubW91c2Vkb3duIGEgcG9pbnRlciBidXR0b24gd2FzIHByZXNzZWQgZG93bgorICBvbm1vdXNldXAgICBhIHBvaW50ZXIgYnV0dG9uIHdhcyByZWxlYXNlZAorICBvbm1vdXNlbW92ZSBhIHBvaW50ZXIgd2FzIG1vdmVkIG9udG8gdGhlIGVsZW1lbnQKKyAgb25tb3VzZW91dCAgYSBwb2ludGVyIHdhcyBtb3ZlZCBhd2F5IGZyb20gdGhlIGVsZW1lbnQKKyAgb25rZXlwcmVzcyAgYSBrZXkgd2FzIHByZXNzZWQgYW5kIHJlbGVhc2VkCisgIG9ua2V5ZG93biAgIGEga2V5IHdhcyBwcmVzc2VkIGRvd24KKyAgb25rZXl1cCAgICAgYSBrZXkgd2FzIHJlbGVhc2VkCistLT4KKzwhRU5USVRZICUgZXZlbnRzCisgIm9uY2xpY2sgICAgICVTY3JpcHQ7ICAgICAgICNJTVBMSUVECisgIG9uZGJsY2xpY2sgICVTY3JpcHQ7ICAgICAgICNJTVBMSUVECisgIG9ubW91c2Vkb3duICVTY3JpcHQ7ICAgICAgICNJTVBMSUVECisgIG9ubW91c2V1cCAgICVTY3JpcHQ7ICAgICAgICNJTVBMSUVECisgIG9ubW91c2VvdmVyICVTY3JpcHQ7ICAgICAgICNJTVBMSUVECisgIG9ubW91c2Vtb3ZlICVTY3JpcHQ7ICAgICAgICNJTVBMSUVECisgIG9ubW91c2VvdXQgICVTY3JpcHQ7ICAgICAgICNJTVBMSUVECisgIG9ua2V5cHJlc3MgICVTY3JpcHQ7ICAgICAgICNJTVBMSUVECisgIG9ua2V5ZG93biAgICVTY3JpcHQ7ICAgICAgICNJTVBMSUVECisgIG9ua2V5dXAgICAgICVTY3JpcHQ7ICAgICAgICNJTVBMSUVEIgorICA+CisKKzwhLS0gYXR0cmlidXRlcyBmb3IgZWxlbWVudHMgdGhhdCBjYW4gZ2V0IHRoZSBmb2N1cworICBhY2Nlc3NrZXkgICBhY2Nlc3NpYmlsaXR5IGtleSBjaGFyYWN0ZXIKKyAgdGFiaW5kZXggICAgcG9zaXRpb24gaW4gdGFiYmluZyBvcmRlcgorICBvbmZvY3VzICAgICB0aGUgZWxlbWVudCBnb3QgdGhlIGZvY3VzCisgIG9uYmx1ciAgICAgIHRoZSBlbGVtZW50IGxvc3QgdGhlIGZvY3VzCistLT4KKzwhRU5USVRZICUgZm9jdXMKKyAiYWNjZXNza2V5ICAgJUNoYXJhY3RlcjsgICAgI0lNUExJRUQKKyAgdGFiaW5kZXggICAgJU51bWJlcjsgICAgICAgI0lNUExJRUQKKyAgb25mb2N1cyAgICAgJVNjcmlwdDsgICAgICAgI0lNUExJRUQKKyAgb25ibHVyICAgICAgJVNjcmlwdDsgICAgICAgI0lNUExJRUQiCisgID4KKworPCFFTlRJVFkgJSBhdHRycyAiJWNvcmVhdHRyczsgJWkxOG47ICVldmVudHM7Ij4KKworPCEtLT09PT09PT09PT09PT09PT09PT0gVGV4dCBFbGVtZW50cyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tLT4KKworPCFFTlRJVFkgJSBzcGVjaWFsCisgICAiYnIgfCBzcGFuIHwgYmRvIHwgb2JqZWN0IHwgaW1nIHwgbWFwIj4KKworPCFFTlRJVFkgJSBmb250c3R5bGUgInR0IHwgaSB8IGIgfCBiaWcgfCBzbWFsbCI+CisKKzwhRU5USVRZICUgcGhyYXNlICJlbSB8IHN0cm9uZyB8IGRmbiB8IGNvZGUgfCBxIHwgc3ViIHwgc3VwIHwKKyAgICAgICAgICAgICAgICAgICBzYW1wIHwga2JkIHwgdmFyIHwgY2l0ZSB8IGFiYnIgfCBhY3JvbnltIj4KKworPCFFTlRJVFkgJSBpbmxpbmUuZm9ybXMgImlucHV0IHwgc2VsZWN0IHwgdGV4dGFyZWEgfCBsYWJlbCB8IGJ1dHRvbiI+CisKKzwhLS0gdGhlc2UgY2FuIG9jY3VyIGF0IGJsb2NrIG9yIGlubGluZSBsZXZlbCAtLT4KKzwhRU5USVRZICUgbWlzYyAiaW5zIHwgZGVsIHwgc2NyaXB0IHwgbm9zY3JpcHQiPgorCis8IUVOVElUWSAlIGlubGluZSAiYSB8ICVzcGVjaWFsOyB8ICVmb250c3R5bGU7IHwgJXBocmFzZTsgfCAlaW5saW5lLmZvcm1zOyI+CisKKzwhLS0gJUlubGluZTsgY292ZXJzIGlubGluZSBvciAidGV4dC1sZXZlbCIgZWxlbWVudHMgLS0+Cis8IUVOVElUWSAlIElubGluZSAiKCNQQ0RBVEEgfCAlaW5saW5lOyB8ICVtaXNjOykqIj4KKworPCEtLT09PT09PT09PT09PT09PT09PSBCbG9jayBsZXZlbCBlbGVtZW50cyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tLT4KKworPCFFTlRJVFkgJSBoZWFkaW5nICJoMXxoMnxoM3xoNHxoNXxoNiI+Cis8IUVOVElUWSAlIGxpc3RzICJ1bCB8IG9sIHwgZGwiPgorPCFFTlRJVFkgJSBibG9ja3RleHQgInByZSB8IGhyIHwgYmxvY2txdW90ZSB8IGFkZHJlc3MiPgorCis8IUVOVElUWSAlIGJsb2NrCisgICAgICJwIHwgJWhlYWRpbmc7IHwgZGl2IHwgJWxpc3RzOyB8ICVibG9ja3RleHQ7IHwgZmllbGRzZXQgfCB0YWJsZSI+CisKKzwhRU5USVRZICUgQmxvY2sgIiglYmxvY2s7IHwgZm9ybSB8ICVtaXNjOykqIj4KKworPCEtLSAlRmxvdzsgbWl4ZXMgQmxvY2sgYW5kIElubGluZSBhbmQgaXMgdXNlZCBmb3IgbGlzdCBpdGVtcyBldGMuIC0tPgorPCFFTlRJVFkgJSBGbG93ICIoI1BDREFUQSB8ICVibG9jazsgfCBmb3JtIHwgJWlubGluZTsgfCAlbWlzYzspKiI+CisKKzwhLS09PT09PT09PT09PT09PT09PT0gQ29udGVudCBtb2RlbHMgZm9yIGV4Y2x1c2lvbnMgPT09PT09PT09PT09PT09PT09PT09LS0+CisKKzwhLS0gYSBlbGVtZW50cyB1c2UgJUlubGluZTsgZXhjbHVkaW5nIGEgLS0+CisKKzwhRU5USVRZICUgYS5jb250ZW50CisgICAiKCNQQ0RBVEEgfCAlc3BlY2lhbDsgfCAlZm9udHN0eWxlOyB8ICVwaHJhc2U7IHwgJWlubGluZS5mb3JtczsgfCAlbWlzYzspKiI+CisKKzwhLS0gcHJlIHVzZXMgJUlubGluZSBleGNsdWRpbmcgaW1nLCBvYmplY3QsIGJpZywgc21hbGwsIHN1cCBvciBzdXAgLS0+CisKKzwhRU5USVRZICUgcHJlLmNvbnRlbnQKKyAgICIoI1BDREFUQSB8IGEgfCBiciB8IHNwYW4gfCBiZG8gfCBtYXAgfCB0dCB8IGkgfCBiIHwKKyAgICAgICVwaHJhc2U7IHwgJWlubGluZS5mb3JtczspKiI+CisKKzwhLS0gZm9ybSB1c2VzICVCbG9jazsgZXhjbHVkaW5nIGZvcm0gLS0+CisKKzwhRU5USVRZICUgZm9ybS5jb250ZW50ICIoJWJsb2NrOyB8ICVtaXNjOykqIj4KKworPCEtLSBidXR0b24gdXNlcyAlRmxvdzsgYnV0IGV4Y2x1ZGVzIGEsIGZvcm0gYW5kIGZvcm0gY29udHJvbHMgLS0+CisKKzwhRU5USVRZICUgYnV0dG9uLmNvbnRlbnQKKyAgICIoI1BDREFUQSB8IHAgfCAlaGVhZGluZzsgfCBkaXYgfCAlbGlzdHM7IHwgJWJsb2NrdGV4dDsgfAorICAgIHRhYmxlIHwgJXNwZWNpYWw7IHwgJWZvbnRzdHlsZTsgfCAlcGhyYXNlOyB8ICVtaXNjOykqIj4KKworPCEtLT09PT09PT09PT09PT09PT0gRG9jdW1lbnQgU3RydWN0dXJlID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tLT4KKworPCEtLSB0aGUgbmFtZXNwYWNlIFVSSSBkZXNpZ25hdGVzIHRoZSBkb2N1bWVudCBwcm9maWxlIC0tPgorCis8IUVMRU1FTlQgaHRtbCAoaGVhZCwgYm9keSk+Cis8IUFUVExJU1QgaHRtbAorICAlaTE4bjsKKyAgeG1sbnMgICAgICAgJVVSSTsgICAgICAgICAgI0ZJWEVEICdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sJworICA+CisKKzwhLS09PT09PT09PT09PT09PT09IERvY3VtZW50IEhlYWQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LS0+CisKKzwhRU5USVRZICUgaGVhZC5taXNjICIoc2NyaXB0fHN0eWxlfG1ldGF8bGlua3xvYmplY3QpKiI+CisKKzwhLS0gY29udGVudCBtb2RlbCBpcyAlaGVhZC5taXNjOyBjb21iaW5lZCB3aXRoIGEgc2luZ2xlCisgICAgIHRpdGxlIGFuZCBhbiBvcHRpb25hbCBiYXNlIGVsZW1lbnQgaW4gYW55IG9yZGVyIC0tPgorCis8IUVMRU1FTlQgaGVhZCAoJWhlYWQubWlzYzssCisgICAgICgodGl0bGUsICVoZWFkLm1pc2M7LCAoYmFzZSwgJWhlYWQubWlzYzspPykgfAorICAgICAgKGJhc2UsICVoZWFkLm1pc2M7LCAodGl0bGUsICVoZWFkLm1pc2M7KSkpKT4KKworPCFBVFRMSVNUIGhlYWQKKyAgJWkxOG47CisgIHByb2ZpbGUgICAgICVVUkk7ICAgICAgICAgICNJTVBMSUVECisgID4KKworPCEtLSBUaGUgdGl0bGUgZWxlbWVudCBpcyBub3QgY29uc2lkZXJlZCBwYXJ0IG9mIHRoZSBmbG93IG9mIHRleHQuCisgICAgICAgSXQgc2hvdWxkIGJlIGRpc3BsYXllZCwgZm9yIGV4YW1wbGUgYXMgdGhlIHBhZ2UgaGVhZGVyIG9yCisgICAgICAgd2luZG93IHRpdGxlLiBFeGFjdGx5IG9uZSB0aXRsZSBpcyByZXF1aXJlZCBwZXIgZG9jdW1lbnQuCisgICAgLS0+Cis8IUVMRU1FTlQgdGl0bGUgKCNQQ0RBVEEpPgorPCFBVFRMSVNUIHRpdGxlICVpMThuOz4KKworPCEtLSBkb2N1bWVudCBiYXNlIFVSSSAtLT4KKworPCFFTEVNRU5UIGJhc2UgRU1QVFk+Cis8IUFUVExJU1QgYmFzZQorICBocmVmICAgICAgICAlVVJJOyAgICAgICAgICAjSU1QTElFRAorICA+CisKKzwhLS0gZ2VuZXJpYyBtZXRhaW5mb3JtYXRpb24gLS0+Cis8IUVMRU1FTlQgbWV0YSBFTVBUWT4KKzwhQVRUTElTVCBtZXRhCisgICVpMThuOworICBodHRwLWVxdWl2ICBDREFUQSAgICAgICAgICAjSU1QTElFRAorICBuYW1lICAgICAgICBDREFUQSAgICAgICAgICAjSU1QTElFRAorICBjb250ZW50ICAgICBDREFUQSAgICAgICAgICAjUkVRVUlSRUQKKyAgc2NoZW1lICAgICAgQ0RBVEEgICAgICAgICAgI0lNUExJRUQKKyAgPgorCis8IS0tCisgIFJlbGF0aW9uc2hpcCB2YWx1ZXMgY2FuIGJlIHVzZWQgaW4gcHJpbmNpcGxlOgorCisgICBhKSBmb3IgZG9jdW1lbnQgc3BlY2lmaWMgdG9vbGJhcnMvbWVudXMgd2hlbiB1c2VkCisgICAgICB3aXRoIHRoZSBsaW5rIGVsZW1lbnQgaW4gZG9jdW1lbnQgaGVhZCBlLmcuCisgICAgICAgIHN0YXJ0LCBjb250ZW50cywgcHJldmlvdXMsIG5leHQsIGluZGV4LCBlbmQsIGhlbHAKKyAgIGIpIHRvIGxpbmsgdG8gYSBzZXBhcmF0ZSBzdHlsZSBzaGVldCAocmVsPSJzdHlsZXNoZWV0IikKKyAgIGMpIHRvIG1ha2UgYSBsaW5rIHRvIGEgc2NyaXB0IChyZWw9InNjcmlwdCIpCisgICBkKSBieSBzdHlsZXNoZWV0cyB0byBjb250cm9sIGhvdyBjb2xsZWN0aW9ucyBvZgorICAgICAgaHRtbCBub2RlcyBhcmUgcmVuZGVyZWQgaW50byBwcmludGVkIGRvY3VtZW50cworICAgZSkgdG8gbWFrZSBhIGxpbmsgdG8gYSBwcmludGFibGUgdmVyc2lvbiBvZiB0aGlzIGRvY3VtZW50CisgICAgICBlLmcuIGEgUG9zdFNjcmlwdCBvciBQREYgdmVyc2lvbiAocmVsPSJhbHRlcm5hdGUiIG1lZGlhPSJwcmludCIpCistLT4KKworPCFFTEVNRU5UIGxpbmsgRU1QVFk+Cis8IUFUVExJU1QgbGluaworICAlYXR0cnM7CisgIGNoYXJzZXQgICAgICVDaGFyc2V0OyAgICAgICNJTVBMSUVECisgIGhyZWYgICAgICAgICVVUkk7ICAgICAgICAgICNJTVBMSUVECisgIGhyZWZsYW5nICAgICVMYW5ndWFnZUNvZGU7ICNJTVBMSUVECisgIHR5cGUgICAgICAgICVDb250ZW50VHlwZTsgICNJTVBMSUVECisgIHJlbCAgICAgICAgICVMaW5rVHlwZXM7ICAgICNJTVBMSUVECisgIHJldiAgICAgICAgICVMaW5rVHlwZXM7ICAgICNJTVBMSUVECisgIG1lZGlhICAgICAgICVNZWRpYURlc2M7ICAgICNJTVBMSUVECisgID4KKworPCEtLSBzdHlsZSBpbmZvLCB3aGljaCBtYXkgaW5jbHVkZSBDREFUQSBzZWN0aW9ucyAtLT4KKzwhRUxFTUVOVCBzdHlsZSAoI1BDREFUQSk+Cis8IUFUVExJU1Qgc3R5bGUKKyAgJWkxOG47CisgIHR5cGUgICAgICAgICVDb250ZW50VHlwZTsgICNSRVFVSVJFRAorICBtZWRpYSAgICAgICAlTWVkaWFEZXNjOyAgICAjSU1QTElFRAorICB0aXRsZSAgICAgICAlVGV4dDsgICAgICAgICAjSU1QTElFRAorICB4bWw6c3BhY2UgICAocHJlc2VydmUpICAgICAjRklYRUQgJ3ByZXNlcnZlJworICA+CisKKzwhLS0gc2NyaXB0IHN0YXRlbWVudHMsIHdoaWNoIG1heSBpbmNsdWRlIENEQVRBIHNlY3Rpb25zIC0tPgorPCFFTEVNRU5UIHNjcmlwdCAoI1BDREFUQSk+Cis8IUFUVExJU1Qgc2NyaXB0CisgIGNoYXJzZXQgICAgICVDaGFyc2V0OyAgICAgICNJTVBMSUVECisgIHR5cGUgICAgICAgICVDb250ZW50VHlwZTsgICNSRVFVSVJFRAorICBzcmMgICAgICAgICAlVVJJOyAgICAgICAgICAjSU1QTElFRAorICBkZWZlciAgICAgICAoZGVmZXIpICAgICAgICAjSU1QTElFRAorICB4bWw6c3BhY2UgICAocHJlc2VydmUpICAgICAjRklYRUQgJ3ByZXNlcnZlJworICA+CisKKzwhLS0gYWx0ZXJuYXRlIGNvbnRlbnQgY29udGFpbmVyIGZvciBub24gc2NyaXB0LWJhc2VkIHJlbmRlcmluZyAtLT4KKworPCFFTEVNRU5UIG5vc2NyaXB0ICVCbG9jazs+Cis8IUFUVExJU1Qgbm9zY3JpcHQKKyAgJWF0dHJzOworICA+CisKKzwhLS09PT09PT09PT09PT09PT09PT09IERvY3VtZW50IEJvZHkgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LS0+CisKKzwhRUxFTUVOVCBib2R5ICVCbG9jazs+Cis8IUFUVExJU1QgYm9keQorICAlYXR0cnM7CisgIG9ubG9hZCAgICAgICAgICAlU2NyaXB0OyAgICNJTVBMSUVECisgIG9udW5sb2FkICAgICAgICAlU2NyaXB0OyAgICNJTVBMSUVECisgID4KKworPCFFTEVNRU5UIGRpdiAlRmxvdzs+ICA8IS0tIGdlbmVyaWMgbGFuZ3VhZ2Uvc3R5bGUgY29udGFpbmVyIC0tPgorPCFBVFRMSVNUIGRpdgorICAlYXR0cnM7CisgID4KKworPCEtLT09PT09PT09PT09PT09PT09PT0gUGFyYWdyYXBocyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tLT4KKworPCFFTEVNRU5UIHAgJUlubGluZTs+Cis8IUFUVExJU1QgcAorICAlYXR0cnM7CisgID4KKworPCEtLT09PT09PT09PT09PT09PT09PT0gSGVhZGluZ3MgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tLT4KKworPCEtLQorICBUaGVyZSBhcmUgc2l4IGxldmVscyBvZiBoZWFkaW5ncyBmcm9tIGgxICh0aGUgbW9zdCBpbXBvcnRhbnQpCisgIHRvIGg2ICh0aGUgbGVhc3QgaW1wb3J0YW50KS4KKy0tPgorCis8IUVMRU1FTlQgaDEgICVJbmxpbmU7PgorPCFBVFRMSVNUIGgxCisgICAlYXR0cnM7CisgICA+CisKKzwhRUxFTUVOVCBoMiAlSW5saW5lOz4KKzwhQVRUTElTVCBoMgorICAgJWF0dHJzOworICAgPgorCis8IUVMRU1FTlQgaDMgJUlubGluZTs+Cis8IUFUVExJU1QgaDMKKyAgICVhdHRyczsKKyAgID4KKworPCFFTEVNRU5UIGg0ICVJbmxpbmU7PgorPCFBVFRMSVNUIGg0CisgICAlYXR0cnM7CisgICA+CisKKzwhRUxFTUVOVCBoNSAlSW5saW5lOz4KKzwhQVRUTElTVCBoNQorICAgJWF0dHJzOworICAgPgorCis8IUVMRU1FTlQgaDYgJUlubGluZTs+Cis8IUFUVExJU1QgaDYKKyAgICVhdHRyczsKKyAgID4KKworPCEtLT09PT09PT09PT09PT09PT09PT0gTGlzdHMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tLT4KKworPCEtLSBVbm9yZGVyZWQgbGlzdCAtLT4KKworPCFFTEVNRU5UIHVsIChsaSkrPgorPCFBVFRMSVNUIHVsCisgICVhdHRyczsKKyAgPgorCis8IS0tIE9yZGVyZWQgKG51bWJlcmVkKSBsaXN0IC0tPgorCis8IUVMRU1FTlQgb2wgKGxpKSs+Cis8IUFUVExJU1Qgb2wKKyAgJWF0dHJzOworICA+CisKKzwhLS0gbGlzdCBpdGVtIC0tPgorCis8IUVMRU1FTlQgbGkgJUZsb3c7PgorPCFBVFRMSVNUIGxpCisgICVhdHRyczsKKyAgPgorCis8IS0tIGRlZmluaXRpb24gbGlzdHMgLSBkdCBmb3IgdGVybSwgZGQgZm9yIGl0cyBkZWZpbml0aW9uIC0tPgorCis8IUVMRU1FTlQgZGwgKGR0fGRkKSs+Cis8IUFUVExJU1QgZGwKKyAgJWF0dHJzOworICA+CisKKzwhRUxFTUVOVCBkdCAlSW5saW5lOz4KKzwhQVRUTElTVCBkdAorICAlYXR0cnM7CisgID4KKworPCFFTEVNRU5UIGRkICVGbG93Oz4KKzwhQVRUTElTVCBkZAorICAlYXR0cnM7CisgID4KKworPCEtLT09PT09PT09PT09PT09PT09PT0gQWRkcmVzcyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tLT4KKworPCEtLSBpbmZvcm1hdGlvbiBvbiBhdXRob3IgLS0+CisKKzwhRUxFTUVOVCBhZGRyZXNzICVJbmxpbmU7PgorPCFBVFRMSVNUIGFkZHJlc3MKKyAgJWF0dHJzOworICA+CisKKzwhLS09PT09PT09PT09PT09PT09PT09IEhvcml6b250YWwgUnVsZSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LS0+CisKKzwhRUxFTUVOVCBociBFTVBUWT4KKzwhQVRUTElTVCBocgorICAlYXR0cnM7CisgID4KKworPCEtLT09PT09PT09PT09PT09PT09PT0gUHJlZm9ybWF0dGVkIFRleHQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tLT4KKworPCEtLSBjb250ZW50IGlzICVJbmxpbmU7IGV4Y2x1ZGluZyAiaW1nfG9iamVjdHxiaWd8c21hbGx8c3VifHN1cCIgLS0+CisKKzwhRUxFTUVOVCBwcmUgJXByZS5jb250ZW50Oz4KKzwhQVRUTElTVCBwcmUKKyAgJWF0dHJzOworICB4bWw6c3BhY2UgKHByZXNlcnZlKSAjRklYRUQgJ3ByZXNlcnZlJworICA+CisKKzwhLS09PT09PT09PT09PT09PT09PT09IEJsb2NrLWxpa2UgUXVvdGVzID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LS0+CisKKzwhRUxFTUVOVCBibG9ja3F1b3RlICVCbG9jazs+Cis8IUFUVExJU1QgYmxvY2txdW90ZQorICAlYXR0cnM7CisgIGNpdGUgICAgICAgICVVUkk7ICAgICAgICAgICNJTVBMSUVECisgID4KKworPCEtLT09PT09PT09PT09PT09PT09PT0gSW5zZXJ0ZWQvRGVsZXRlZCBUZXh0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT0tLT4KKworPCEtLQorICBpbnMvZGVsIGFyZSBhbGxvd2VkIGluIGJsb2NrIGFuZCBpbmxpbmUgY29udGVudCwgYnV0IGl0cworICBpbmFwcHJvcHJpYXRlIHRvIGluY2x1ZGUgYmxvY2sgY29udGVudCB3aXRoaW4gYW4gaW5zIGVsZW1lbnQKKyAgb2NjdXJyaW5nIGluIGlubGluZSBjb250ZW50LgorLS0+Cis8IUVMRU1FTlQgaW5zICVGbG93Oz4KKzwhQVRUTElTVCBpbnMKKyAgJWF0dHJzOworICBjaXRlICAgICAgICAlVVJJOyAgICAgICAgICAjSU1QTElFRAorICBkYXRldGltZSAgICAlRGF0ZXRpbWU7ICAgICAjSU1QTElFRAorICA+CisKKzwhRUxFTUVOVCBkZWwgJUZsb3c7PgorPCFBVFRMSVNUIGRlbAorICAlYXR0cnM7CisgIGNpdGUgICAgICAgICVVUkk7ICAgICAgICAgICNJTVBMSUVECisgIGRhdGV0aW1lICAgICVEYXRldGltZTsgICAgICNJTVBMSUVECisgID4KKworPCEtLT09PT09PT09PT09PT09PT09PSBUaGUgQW5jaG9yIEVsZW1lbnQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tLT4KKworPCEtLSBjb250ZW50IGlzICVJbmxpbmU7IGV4Y2VwdCB0aGF0IGFuY2hvcnMgc2hvdWxkbid0IGJlIG5lc3RlZCAtLT4KKworPCFFTEVNRU5UIGEgJWEuY29udGVudDs+Cis8IUFUVExJU1QgYQorICAlYXR0cnM7CisgIGNoYXJzZXQgICAgICVDaGFyc2V0OyAgICAgICNJTVBMSUVECisgIHR5cGUgICAgICAgICVDb250ZW50VHlwZTsgICNJTVBMSUVECisgIG5hbWUgICAgICAgIE5NVE9LRU4gICAgICAgICNJTVBMSUVECisgIGhyZWYgICAgICAgICVVUkk7ICAgICAgICAgICNJTVBMSUVECisgIGhyZWZsYW5nICAgICVMYW5ndWFnZUNvZGU7ICNJTVBMSUVECisgIHJlbCAgICAgICAgICVMaW5rVHlwZXM7ICAgICNJTVBMSUVECisgIHJldiAgICAgICAgICVMaW5rVHlwZXM7ICAgICNJTVBMSUVECisgIGFjY2Vzc2tleSAgICVDaGFyYWN0ZXI7ICAgICNJTVBMSUVECisgIHNoYXBlICAgICAgICVTaGFwZTsgICAgICAgICJyZWN0IgorICBjb29yZHMgICAgICAlQ29vcmRzOyAgICAgICAjSU1QTElFRAorICB0YWJpbmRleCAgICAlTnVtYmVyOyAgICAgICAjSU1QTElFRAorICBvbmZvY3VzICAgICAlU2NyaXB0OyAgICAgICAjSU1QTElFRAorICBvbmJsdXIgICAgICAlU2NyaXB0OyAgICAgICAjSU1QTElFRAorICA+CisKKzwhLS09PT09PT09PT09PT09PT09PT09PT0gSW5saW5lIEVsZW1lbnRzID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LS0+CisKKzwhRUxFTUVOVCBzcGFuICVJbmxpbmU7PiA8IS0tIGdlbmVyaWMgbGFuZ3VhZ2Uvc3R5bGUgY29udGFpbmVyIC0tPgorPCFBVFRMSVNUIHNwYW4KKyAgJWF0dHJzOworICA+CisKKzwhRUxFTUVOVCBiZG8gJUlubGluZTs+ICA8IS0tIEkxOE4gQmlEaSBvdmVyLXJpZGUgLS0+Cis8IUFUVExJU1QgYmRvCisgICVjb3JlYXR0cnM7CisgICVldmVudHM7CisgIGxhbmcgICAgICAgICVMYW5ndWFnZUNvZGU7ICNJTVBMSUVECisgIHhtbDpsYW5nICAgICVMYW5ndWFnZUNvZGU7ICNJTVBMSUVECisgIGRpciAgICAgICAgIChsdHJ8cnRsKSAgICAgICNSRVFVSVJFRAorICA+CisKKzwhRUxFTUVOVCBiciBFTVBUWT4gICA8IS0tIGZvcmNlZCBsaW5lIGJyZWFrIC0tPgorPCFBVFRMSVNUIGJyCisgICVjb3JlYXR0cnM7CisgID4KKworPCFFTEVNRU5UIGVtICVJbmxpbmU7PiAgIDwhLS0gZW1waGFzaXMgLS0+Cis8IUFUVExJU1QgZW0gJWF0dHJzOz4KKworPCFFTEVNRU5UIHN0cm9uZyAlSW5saW5lOz4gICA8IS0tIHN0cm9uZyBlbXBoYXNpcyAtLT4KKzwhQVRUTElTVCBzdHJvbmcgJWF0dHJzOz4KKworPCFFTEVNRU5UIGRmbiAlSW5saW5lOz4gICA8IS0tIGRlZmluaXRpb25hbCAtLT4KKzwhQVRUTElTVCBkZm4gJWF0dHJzOz4KKworPCFFTEVNRU5UIGNvZGUgJUlubGluZTs+ICAgPCEtLSBwcm9ncmFtIGNvZGUgLS0+Cis8IUFUVExJU1QgY29kZSAlYXR0cnM7PgorCis8IUVMRU1FTlQgc2FtcCAlSW5saW5lOz4gICA8IS0tIHNhbXBsZSAtLT4KKzwhQVRUTElTVCBzYW1wICVhdHRyczs+CisKKzwhRUxFTUVOVCBrYmQgJUlubGluZTs+ICA8IS0tIHNvbWV0aGluZyB1c2VyIHdvdWxkIHR5cGUgLS0+Cis8IUFUVExJU1Qga2JkICVhdHRyczs+CisKKzwhRUxFTUVOVCB2YXIgJUlubGluZTs+ICAgPCEtLSB2YXJpYWJsZSAtLT4KKzwhQVRUTElTVCB2YXIgJWF0dHJzOz4KKworPCFFTEVNRU5UIGNpdGUgJUlubGluZTs+ICAgPCEtLSBjaXRhdGlvbiAtLT4KKzwhQVRUTElTVCBjaXRlICVhdHRyczs+CisKKzwhRUxFTUVOVCBhYmJyICVJbmxpbmU7PiAgIDwhLS0gYWJicmV2aWF0aW9uIC0tPgorPCFBVFRMSVNUIGFiYnIgJWF0dHJzOz4KKworPCFFTEVNRU5UIGFjcm9ueW0gJUlubGluZTs+ICAgPCEtLSBhY3JvbnltIC0tPgorPCFBVFRMSVNUIGFjcm9ueW0gJWF0dHJzOz4KKworPCFFTEVNRU5UIHEgJUlubGluZTs+ICAgPCEtLSBpbmxpbmVkIHF1b3RlIC0tPgorPCFBVFRMSVNUIHEKKyAgJWF0dHJzOworICBjaXRlICAgICAgICAlVVJJOyAgICAgICAgICAjSU1QTElFRAorICA+CisKKzwhRUxFTUVOVCBzdWIgJUlubGluZTs+IDwhLS0gc3Vic2NyaXB0IC0tPgorPCFBVFRMSVNUIHN1YiAlYXR0cnM7PgorCis8IUVMRU1FTlQgc3VwICVJbmxpbmU7PiA8IS0tIHN1cGVyc2NyaXB0IC0tPgorPCFBVFRMSVNUIHN1cCAlYXR0cnM7PgorCis8IUVMRU1FTlQgdHQgJUlubGluZTs+ICAgPCEtLSBmaXhlZCBwaXRjaCBmb250IC0tPgorPCFBVFRMSVNUIHR0ICVhdHRyczs+CisKKzwhRUxFTUVOVCBpICVJbmxpbmU7PiAgIDwhLS0gaXRhbGljIGZvbnQgLS0+Cis8IUFUVExJU1QgaSAlYXR0cnM7PgorCis8IUVMRU1FTlQgYiAlSW5saW5lOz4gICA8IS0tIGJvbGQgZm9udCAtLT4KKzwhQVRUTElTVCBiICVhdHRyczs+CisKKzwhRUxFTUVOVCBiaWcgJUlubGluZTs+ICAgPCEtLSBiaWdnZXIgZm9udCAtLT4KKzwhQVRUTElTVCBiaWcgJWF0dHJzOz4KKworPCFFTEVNRU5UIHNtYWxsICVJbmxpbmU7PiAgIDwhLS0gc21hbGxlciBmb250IC0tPgorPCFBVFRMSVNUIHNtYWxsICVhdHRyczs+CisKKzwhLS09PT09PT09PT09PT09PT09PT09PSBPYmplY3QgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tLT4KKzwhLS0KKyAgb2JqZWN0IGlzIHVzZWQgdG8gZW1iZWQgb2JqZWN0cyBhcyBwYXJ0IG9mIEhUTUwgcGFnZXMuCisgIHBhcmFtIGVsZW1lbnRzIHNob3VsZCBwcmVjZWRlIG90aGVyIGNvbnRlbnQuIFBhcmFtZXRlcnMKKyAgY2FuIGFsc28gYmUgZXhwcmVzc2VkIGFzIGF0dHJpYnV0ZS92YWx1ZSBwYWlycyBvbiB0aGUKKyAgb2JqZWN0IGVsZW1lbnQgaXRzZWxmIHdoZW4gYnJldml0eSBpcyBkZXNpcmVkLgorLS0+CisKKzwhRUxFTUVOVCBvYmplY3QgKCNQQ0RBVEEgfCBwYXJhbSB8ICVibG9jazsgfCBmb3JtIHwgJWlubGluZTsgfCAlbWlzYzspKj4KKzwhQVRUTElTVCBvYmplY3QKKyAgJWF0dHJzOworICBkZWNsYXJlICAgICAoZGVjbGFyZSkgICAgICAjSU1QTElFRAorICBjbGFzc2lkICAgICAlVVJJOyAgICAgICAgICAjSU1QTElFRAorICBjb2RlYmFzZSAgICAlVVJJOyAgICAgICAgICAjSU1QTElFRAorICBkYXRhICAgICAgICAlVVJJOyAgICAgICAgICAjSU1QTElFRAorICB0eXBlICAgICAgICAlQ29udGVudFR5cGU7ICAjSU1QTElFRAorICBjb2RldHlwZSAgICAlQ29udGVudFR5cGU7ICAjSU1QTElFRAorICBhcmNoaXZlICAgICAlVXJpTGlzdDsgICAgICAjSU1QTElFRAorICBzdGFuZGJ5ICAgICAlVGV4dDsgICAgICAgICAjSU1QTElFRAorICBoZWlnaHQgICAgICAlTGVuZ3RoOyAgICAgICAjSU1QTElFRAorICB3aWR0aCAgICAgICAlTGVuZ3RoOyAgICAgICAjSU1QTElFRAorICB1c2VtYXAgICAgICAlVVJJOyAgICAgICAgICAjSU1QTElFRAorICBuYW1lICAgICAgICBOTVRPS0VOICAgICAgICAjSU1QTElFRAorICB0YWJpbmRleCAgICAlTnVtYmVyOyAgICAgICAjSU1QTElFRAorICA+CisKKzwhLS0KKyAgcGFyYW0gaXMgdXNlZCB0byBzdXBwbHkgYSBuYW1lZCBwcm9wZXJ0eSB2YWx1ZS4KKyAgSW4gWE1MIGl0IHdvdWxkIHNlZW0gbmF0dXJhbCB0byBmb2xsb3cgUkRGIGFuZCBzdXBwb3J0IGFuCisgIGFiYnJldmlhdGVkIHN5bnRheCB3aGVyZSB0aGUgcGFyYW0gZWxlbWVudHMgYXJlIHJlcGxhY2VkCisgIGJ5IGF0dHJpYnV0ZSB2YWx1ZSBwYWlycyBvbiB0aGUgb2JqZWN0IHN0YXJ0IHRhZy4KKy0tPgorPCFFTEVNRU5UIHBhcmFtIEVNUFRZPgorPCFBVFRMSVNUIHBhcmFtCisgIGlkICAgICAgICAgIElEICAgICAgICAgICAgICNJTVBMSUVECisgIG5hbWUgICAgICAgIENEQVRBICAgICAgICAgICNJTVBMSUVECisgIHZhbHVlICAgICAgIENEQVRBICAgICAgICAgICNJTVBMSUVECisgIHZhbHVldHlwZSAgIChkYXRhfHJlZnxvYmplY3QpICJkYXRhIgorICB0eXBlICAgICAgICAlQ29udGVudFR5cGU7ICAjSU1QTElFRAorICA+CisKKzwhLS09PT09PT09PT09PT09PT09PT09IEltYWdlcyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LS0+CisKKzwhLS0KKyAgIFRvIGF2b2lkIGFjY2Vzc2liaWxpdHkgcHJvYmxlbXMgZm9yIHBlb3BsZSB3aG8gYXJlbid0CisgICBhYmxlIHRvIHNlZSB0aGUgaW1hZ2UsIHlvdSBzaG91bGQgcHJvdmlkZSBhIHRleHQKKyAgIGRlc2NyaXB0aW9uIHVzaW5nIHRoZSBhbHQgYW5kIGxvbmdkZXNjIGF0dHJpYnV0ZXMuCisgICBJbiBhZGRpdGlvbiwgYXZvaWQgdGhlIHVzZSBvZiBzZXJ2ZXItc2lkZSBpbWFnZSBtYXBzLgorICAgTm90ZSB0aGF0IGluIHRoaXMgRFREIHRoZXJlIGlzIG5vIG5hbWUgYXR0cmlidXRlLiBUaGF0CisgICBpcyBvbmx5IGF2YWlsYWJsZSBpbiB0aGUgdHJhbnNpdGlvbmFsIGFuZCBmcmFtZXNldCBEVEQuCistLT4KKworPCFFTEVNRU5UIGltZyBFTVBUWT4KKzwhQVRUTElTVCBpbWcKKyAgJWF0dHJzOworICBzcmMgICAgICAgICAlVVJJOyAgICAgICAgICAjUkVRVUlSRUQKKyAgYWx0ICAgICAgICAgJVRleHQ7ICAgICAgICAgI1JFUVVJUkVECisgIGxvbmdkZXNjICAgICVVUkk7ICAgICAgICAgICNJTVBMSUVECisgIGhlaWdodCAgICAgICVMZW5ndGg7ICAgICAgICNJTVBMSUVECisgIHdpZHRoICAgICAgICVMZW5ndGg7ICAgICAgICNJTVBMSUVECisgIHVzZW1hcCAgICAgICVVUkk7ICAgICAgICAgICNJTVBMSUVECisgIGlzbWFwICAgICAgIChpc21hcCkgICAgICAgICNJTVBMSUVECisgID4KKworPCEtLSB1c2VtYXAgcG9pbnRzIHRvIGEgbWFwIGVsZW1lbnQgd2hpY2ggbWF5IGJlIGluIHRoaXMgZG9jdW1lbnQKKyAgb3IgYW4gZXh0ZXJuYWwgZG9jdW1lbnQsIGFsdGhvdWdoIHRoZSBsYXR0ZXIgaXMgbm90IHdpZGVseSBzdXBwb3J0ZWQgLS0+CisKKzwhLS09PT09PT09PT09PT09PT09PT0gQ2xpZW50LXNpZGUgaW1hZ2UgbWFwcyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09LS0+CisKKzwhLS0gVGhlc2UgY2FuIGJlIHBsYWNlZCBpbiB0aGUgc2FtZSBkb2N1bWVudCBvciBncm91cGVkIGluIGEKKyAgICAgc2VwYXJhdGUgZG9jdW1lbnQgYWx0aG91Z2ggdGhpcyBpc24ndCB5ZXQgd2lkZWx5IHN1cHBvcnRlZCAtLT4KKworPCFFTEVNRU5UIG1hcCAoKCVibG9jazsgfCBmb3JtIHwgJW1pc2M7KSsgfCBhcmVhKyk+Cis8IUFUVExJU1QgbWFwCisgICVpMThuOworICAlZXZlbnRzOworICBpZCAgICAgICAgICBJRCAgICAgICAgICAgICAjUkVRVUlSRUQKKyAgY2xhc3MgICAgICAgQ0RBVEEgICAgICAgICAgI0lNUExJRUQKKyAgc3R5bGUgICAgICAgJVN0eWxlU2hlZXQ7ICAgI0lNUExJRUQKKyAgdGl0bGUgICAgICAgJVRleHQ7ICAgICAgICAgI0lNUExJRUQKKyAgbmFtZSAgICAgICAgTk1UT0tFTiAgICAgICAgI0lNUExJRUQKKyAgPgorCis8IUVMRU1FTlQgYXJlYSBFTVBUWT4KKzwhQVRUTElTVCBhcmVhCisgICVhdHRyczsKKyAgc2hhcGUgICAgICAgJVNoYXBlOyAgICAgICAgInJlY3QiCisgIGNvb3JkcyAgICAgICVDb29yZHM7ICAgICAgICNJTVBMSUVECisgIGhyZWYgICAgICAgICVVUkk7ICAgICAgICAgICNJTVBMSUVECisgIG5vaHJlZiAgICAgIChub2hyZWYpICAgICAgICNJTVBMSUVECisgIGFsdCAgICAgICAgICVUZXh0OyAgICAgICAgICNSRVFVSVJFRAorICB0YWJpbmRleCAgICAlTnVtYmVyOyAgICAgICAjSU1QTElFRAorICBhY2Nlc3NrZXkgICAlQ2hhcmFjdGVyOyAgICAjSU1QTElFRAorICBvbmZvY3VzICAgICAlU2NyaXB0OyAgICAgICAjSU1QTElFRAorICBvbmJsdXIgICAgICAlU2NyaXB0OyAgICAgICAjSU1QTElFRAorICA+CisKKzwhLS09PT09PT09PT09PT09PT09IEZvcm1zID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LS0+Cis8IUVMRU1FTlQgZm9ybSAlZm9ybS5jb250ZW50Oz4gICA8IS0tIGZvcm1zIHNob3VsZG4ndCBiZSBuZXN0ZWQgLS0+CisKKzwhQVRUTElTVCBmb3JtCisgICVhdHRyczsKKyAgYWN0aW9uICAgICAgJVVSSTsgICAgICAgICAgI1JFUVVJUkVECisgIG1ldGhvZCAgICAgIChnZXR8cG9zdCkgICAgICJnZXQiCisgIGVuY3R5cGUgICAgICVDb250ZW50VHlwZTsgICJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiCisgIG9uc3VibWl0ICAgICVTY3JpcHQ7ICAgICAgICNJTVBMSUVECisgIG9ucmVzZXQgICAgICVTY3JpcHQ7ICAgICAgICNJTVBMSUVECisgIGFjY2VwdCAgICAgICVDb250ZW50VHlwZXM7ICNJTVBMSUVECisgIGFjY2VwdC1jaGFyc2V0ICVDaGFyc2V0czsgICNJTVBMSUVECisgID4KKworPCEtLQorICBFYWNoIGxhYmVsIG11c3Qgbm90IGNvbnRhaW4gbW9yZSB0aGFuIE9ORSBmaWVsZAorICBMYWJlbCBlbGVtZW50cyBzaG91bGRuJ3QgYmUgbmVzdGVkLgorLS0+Cis8IUVMRU1FTlQgbGFiZWwgJUlubGluZTs+Cis8IUFUVExJU1QgbGFiZWwKKyAgJWF0dHJzOworICBmb3IgICAgICAgICBJRFJFRiAgICAgICAgICAjSU1QTElFRAorICBhY2Nlc3NrZXkgICAlQ2hhcmFjdGVyOyAgICAjSU1QTElFRAorICBvbmZvY3VzICAgICAlU2NyaXB0OyAgICAgICAjSU1QTElFRAorICBvbmJsdXIgICAgICAlU2NyaXB0OyAgICAgICAjSU1QTElFRAorICA+CisKKzwhRU5USVRZICUgSW5wdXRUeXBlCisgICIodGV4dCB8IHBhc3N3b3JkIHwgY2hlY2tib3ggfAorICAgIHJhZGlvIHwgc3VibWl0IHwgcmVzZXQgfAorICAgIGZpbGUgfCBoaWRkZW4gfCBpbWFnZSB8IGJ1dHRvbikiCisgICA+CisKKzwhLS0gdGhlIG5hbWUgYXR0cmlidXRlIGlzIHJlcXVpcmVkIGZvciBhbGwgYnV0IHN1Ym1pdCAmIHJlc2V0IC0tPgorCis8IUVMRU1FTlQgaW5wdXQgRU1QVFk+ICAgICA8IS0tIGZvcm0gY29udHJvbCAtLT4KKzwhQVRUTElTVCBpbnB1dAorICAlYXR0cnM7CisgIHR5cGUgICAgICAgICVJbnB1dFR5cGU7ICAgICJ0ZXh0IgorICBuYW1lICAgICAgICBDREFUQSAgICAgICAgICAjSU1QTElFRAorICB2YWx1ZSAgICAgICBDREFUQSAgICAgICAgICAjSU1QTElFRAorICBjaGVja2VkICAgICAoY2hlY2tlZCkgICAgICAjSU1QTElFRAorICBkaXNhYmxlZCAgICAoZGlzYWJsZWQpICAgICAjSU1QTElFRAorICByZWFkb25seSAgICAocmVhZG9ubHkpICAgICAjSU1QTElFRAorICBzaXplICAgICAgICBDREFUQSAgICAgICAgICAjSU1QTElFRAorICBtYXhsZW5ndGggICAlTnVtYmVyOyAgICAgICAjSU1QTElFRAorICBzcmMgICAgICAgICAlVVJJOyAgICAgICAgICAjSU1QTElFRAorICBhbHQgICAgICAgICBDREFUQSAgICAgICAgICAjSU1QTElFRAorICB1c2VtYXAgICAgICAlVVJJOyAgICAgICAgICAjSU1QTElFRAorICB0YWJpbmRleCAgICAlTnVtYmVyOyAgICAgICAjSU1QTElFRAorICBhY2Nlc3NrZXkgICAlQ2hhcmFjdGVyOyAgICAjSU1QTElFRAorICBvbmZvY3VzICAgICAlU2NyaXB0OyAgICAgICAjSU1QTElFRAorICBvbmJsdXIgICAgICAlU2NyaXB0OyAgICAgICAjSU1QTElFRAorICBvbnNlbGVjdCAgICAlU2NyaXB0OyAgICAgICAjSU1QTElFRAorICBvbmNoYW5nZSAgICAlU2NyaXB0OyAgICAgICAjSU1QTElFRAorICBhY2NlcHQgICAgICAlQ29udGVudFR5cGVzOyAjSU1QTElFRAorICA+CisKKzwhRUxFTUVOVCBzZWxlY3QgKG9wdGdyb3VwfG9wdGlvbikrPiAgPCEtLSBvcHRpb24gc2VsZWN0b3IgLS0+Cis8IUFUVExJU1Qgc2VsZWN0CisgICVhdHRyczsKKyAgbmFtZSAgICAgICAgQ0RBVEEgICAgICAgICAgI0lNUExJRUQKKyAgc2l6ZSAgICAgICAgJU51bWJlcjsgICAgICAgI0lNUExJRUQKKyAgbXVsdGlwbGUgICAgKG11bHRpcGxlKSAgICAgI0lNUExJRUQKKyAgZGlzYWJsZWQgICAgKGRpc2FibGVkKSAgICAgI0lNUExJRUQKKyAgdGFiaW5kZXggICAgJU51bWJlcjsgICAgICAgI0lNUExJRUQKKyAgb25mb2N1cyAgICAgJVNjcmlwdDsgICAgICAgI0lNUExJRUQKKyAgb25ibHVyICAgICAgJVNjcmlwdDsgICAgICAgI0lNUExJRUQKKyAgb25jaGFuZ2UgICAgJVNjcmlwdDsgICAgICAgI0lNUExJRUQKKyAgPgorCis8IUVMRU1FTlQgb3B0Z3JvdXAgKG9wdGlvbikrPiAgIDwhLS0gb3B0aW9uIGdyb3VwIC0tPgorPCFBVFRMSVNUIG9wdGdyb3VwCisgICVhdHRyczsKKyAgZGlzYWJsZWQgICAgKGRpc2FibGVkKSAgICAgI0lNUExJRUQKKyAgbGFiZWwgICAgICAgJVRleHQ7ICAgICAgICAgI1JFUVVJUkVECisgID4KKworPCFFTEVNRU5UIG9wdGlvbiAoI1BDREFUQSk+ICAgICA8IS0tIHNlbGVjdGFibGUgY2hvaWNlIC0tPgorPCFBVFRMSVNUIG9wdGlvbgorICAlYXR0cnM7CisgIHNlbGVjdGVkICAgIChzZWxlY3RlZCkgICAgICNJTVBMSUVECisgIGRpc2FibGVkICAgIChkaXNhYmxlZCkgICAgICNJTVBMSUVECisgIGxhYmVsICAgICAgICVUZXh0OyAgICAgICAgICNJTVBMSUVECisgIHZhbHVlICAgICAgIENEQVRBICAgICAgICAgICNJTVBMSUVECisgID4KKworPCFFTEVNRU5UIHRleHRhcmVhICgjUENEQVRBKT4gICAgIDwhLS0gbXVsdGktbGluZSB0ZXh0IGZpZWxkIC0tPgorPCFBVFRMSVNUIHRleHRhcmVhCisgICVhdHRyczsKKyAgbmFtZSAgICAgICAgQ0RBVEEgICAgICAgICAgI0lNUExJRUQKKyAgcm93cyAgICAgICAgJU51bWJlcjsgICAgICAgI1JFUVVJUkVECisgIGNvbHMgICAgICAgICVOdW1iZXI7ICAgICAgICNSRVFVSVJFRAorICBkaXNhYmxlZCAgICAoZGlzYWJsZWQpICAgICAjSU1QTElFRAorICByZWFkb25seSAgICAocmVhZG9ubHkpICAgICAjSU1QTElFRAorICB0YWJpbmRleCAgICAlTnVtYmVyOyAgICAgICAjSU1QTElFRAorICBhY2Nlc3NrZXkgICAlQ2hhcmFjdGVyOyAgICAjSU1QTElFRAorICBvbmZvY3VzICAgICAlU2NyaXB0OyAgICAgICAjSU1QTElFRAorICBvbmJsdXIgICAgICAlU2NyaXB0OyAgICAgICAjSU1QTElFRAorICBvbnNlbGVjdCAgICAlU2NyaXB0OyAgICAgICAjSU1QTElFRAorICBvbmNoYW5nZSAgICAlU2NyaXB0OyAgICAgICAjSU1QTElFRAorICA+CisKKzwhLS0KKyAgVGhlIGZpZWxkc2V0IGVsZW1lbnQgaXMgdXNlZCB0byBncm91cCBmb3JtIGZpZWxkcy4KKyAgT25seSBvbmUgbGVnZW5kIGVsZW1lbnQgc2hvdWxkIG9jY3VyIGluIHRoZSBjb250ZW50CisgIGFuZCBpZiBwcmVzZW50IHNob3VsZCBvbmx5IGJlIHByZWNlZGVkIGJ5IHdoaXRlc3BhY2UuCistLT4KKzwhRUxFTUVOVCBmaWVsZHNldCAoI1BDREFUQSB8IGxlZ2VuZCB8ICVibG9jazsgfCBmb3JtIHwgJWlubGluZTsgfCAlbWlzYzspKj4KKzwhQVRUTElTVCBmaWVsZHNldAorICAlYXR0cnM7CisgID4KKworPCFFTEVNRU5UIGxlZ2VuZCAlSW5saW5lOz4gICAgIDwhLS0gZmllbGRzZXQgbGFiZWwgLS0+Cis8IUFUVExJU1QgbGVnZW5kCisgICVhdHRyczsKKyAgYWNjZXNza2V5ICAgJUNoYXJhY3RlcjsgICAgI0lNUExJRUQKKyAgPgorCis8IS0tCisgQ29udGVudCBpcyAlRmxvdzsgZXhjbHVkaW5nIGEsIGZvcm0gYW5kIGZvcm0gY29udHJvbHMKKy0tPiAKKzwhRUxFTUVOVCBidXR0b24gJWJ1dHRvbi5jb250ZW50Oz4gIDwhLS0gcHVzaCBidXR0b24gLS0+Cis8IUFUVExJU1QgYnV0dG9uCisgICVhdHRyczsKKyAgbmFtZSAgICAgICAgQ0RBVEEgICAgICAgICAgI0lNUExJRUQKKyAgdmFsdWUgICAgICAgQ0RBVEEgICAgICAgICAgI0lNUExJRUQKKyAgdHlwZSAgICAgICAgKGJ1dHRvbnxzdWJtaXR8cmVzZXQpICJzdWJtaXQiCisgIGRpc2FibGVkICAgIChkaXNhYmxlZCkgICAgICNJTVBMSUVECisgIHRhYmluZGV4ICAgICVOdW1iZXI7ICAgICAgICNJTVBMSUVECisgIGFjY2Vzc2tleSAgICVDaGFyYWN0ZXI7ICAgICNJTVBMSUVECisgIG9uZm9jdXMgICAgICVTY3JpcHQ7ICAgICAgICNJTVBMSUVECisgIG9uYmx1ciAgICAgICVTY3JpcHQ7ICAgICAgICNJTVBMSUVECisgID4KKworPCEtLT09PT09PT09PT09PT09PT09PT09PT09IFRhYmxlcyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tLT4KKworPCEtLSBEZXJpdmVkIGZyb20gSUVURiBIVE1MIHRhYmxlIHN0YW5kYXJkLCBzZWUgW1JGQzE5NDJdIC0tPgorCis8IS0tCisgVGhlIGJvcmRlciBhdHRyaWJ1dGUgc2V0cyB0aGUgdGhpY2tuZXNzIG9mIHRoZSBmcmFtZSBhcm91bmQgdGhlCisgdGFibGUuIFRoZSBkZWZhdWx0IHVuaXRzIGFyZSBzY3JlZW4gcGl4ZWxzLgorCisgVGhlIGZyYW1lIGF0dHJpYnV0ZSBzcGVjaWZpZXMgd2hpY2ggcGFydHMgb2YgdGhlIGZyYW1lIGFyb3VuZAorIHRoZSB0YWJsZSBzaG91bGQgYmUgcmVuZGVyZWQuIFRoZSB2YWx1ZXMgYXJlIG5vdCB0aGUgc2FtZSBhcworIENBTFMgdG8gYXZvaWQgYSBuYW1lIGNsYXNoIHdpdGggdGhlIHZhbGlnbiBhdHRyaWJ1dGUuCistLT4KKzwhRU5USVRZICUgVEZyYW1lICIodm9pZHxhYm92ZXxiZWxvd3xoc2lkZXN8bGhzfHJoc3x2c2lkZXN8Ym94fGJvcmRlcikiPgorCis8IS0tCisgVGhlIHJ1bGVzIGF0dHJpYnV0ZSBkZWZpbmVzIHdoaWNoIHJ1bGVzIHRvIGRyYXcgYmV0d2VlbiBjZWxsczoKKworIElmIHJ1bGVzIGlzIGFic2VudCB0aGVuIGFzc3VtZToKKyAgICAgIm5vbmUiIGlmIGJvcmRlciBpcyBhYnNlbnQgb3IgYm9yZGVyPSIwIiBvdGhlcndpc2UgImFsbCIKKy0tPgorCis8IUVOVElUWSAlIFRSdWxlcyAiKG5vbmUgfCBncm91cHMgfCByb3dzIHwgY29scyB8IGFsbCkiPgorICAKKzwhLS0gaG9yaXpvbnRhbCBwbGFjZW1lbnQgb2YgdGFibGUgcmVsYXRpdmUgdG8gZG9jdW1lbnQgLS0+Cis8IUVOVElUWSAlIFRBbGlnbiAiKGxlZnR8Y2VudGVyfHJpZ2h0KSI+CisKKzwhLS0gaG9yaXpvbnRhbCBhbGlnbm1lbnQgYXR0cmlidXRlcyBmb3IgY2VsbCBjb250ZW50cworCisgIGNoYXIgICAgICAgIGFsaWdubWVudCBjaGFyLCBlLmcuIGNoYXI9JzonCisgIGNoYXJvZmYgICAgIG9mZnNldCBmb3IgYWxpZ25tZW50IGNoYXIKKy0tPgorPCFFTlRJVFkgJSBjZWxsaGFsaWduCisgICJhbGlnbiAgICAgIChsZWZ0fGNlbnRlcnxyaWdodHxqdXN0aWZ5fGNoYXIpICNJTVBMSUVECisgICBjaGFyICAgICAgICVDaGFyYWN0ZXI7ICAgICNJTVBMSUVECisgICBjaGFyb2ZmICAgICVMZW5ndGg7ICAgICAgICNJTVBMSUVEIgorICA+CisKKzwhLS0gdmVydGljYWwgYWxpZ25tZW50IGF0dHJpYnV0ZXMgZm9yIGNlbGwgY29udGVudHMgLS0+Cis8IUVOVElUWSAlIGNlbGx2YWxpZ24KKyAgInZhbGlnbiAgICAgKHRvcHxtaWRkbGV8Ym90dG9tfGJhc2VsaW5lKSAjSU1QTElFRCIKKyAgPgorCis8IUVMRU1FTlQgdGFibGUKKyAgICAgKGNhcHRpb24/LCAoY29sKnxjb2xncm91cCopLCB0aGVhZD8sIHRmb290PywgKHRib2R5K3x0cispKT4KKzwhRUxFTUVOVCBjYXB0aW9uICAlSW5saW5lOz4KKzwhRUxFTUVOVCB0aGVhZCAgICAodHIpKz4KKzwhRUxFTUVOVCB0Zm9vdCAgICAodHIpKz4KKzwhRUxFTUVOVCB0Ym9keSAgICAodHIpKz4KKzwhRUxFTUVOVCBjb2xncm91cCAoY29sKSo+Cis8IUVMRU1FTlQgY29sICAgICAgRU1QVFk+Cis8IUVMRU1FTlQgdHIgICAgICAgKHRofHRkKSs+Cis8IUVMRU1FTlQgdGggICAgICAgJUZsb3c7PgorPCFFTEVNRU5UIHRkICAgICAgICVGbG93Oz4KKworPCFBVFRMSVNUIHRhYmxlCisgICVhdHRyczsKKyAgc3VtbWFyeSAgICAgJVRleHQ7ICAgICAgICAgI0lNUExJRUQKKyAgd2lkdGggICAgICAgJUxlbmd0aDsgICAgICAgI0lNUExJRUQKKyAgYm9yZGVyICAgICAgJVBpeGVsczsgICAgICAgI0lNUExJRUQKKyAgZnJhbWUgICAgICAgJVRGcmFtZTsgICAgICAgI0lNUExJRUQKKyAgcnVsZXMgICAgICAgJVRSdWxlczsgICAgICAgI0lNUExJRUQKKyAgY2VsbHNwYWNpbmcgJUxlbmd0aDsgICAgICAgI0lNUExJRUQKKyAgY2VsbHBhZGRpbmcgJUxlbmd0aDsgICAgICAgI0lNUExJRUQKKyAgPgorCis8IUVOVElUWSAlIENBbGlnbiAiKHRvcHxib3R0b218bGVmdHxyaWdodCkiPgorCis8IUFUVExJU1QgY2FwdGlvbgorICAlYXR0cnM7CisgID4KKworPCEtLQorY29sZ3JvdXAgZ3JvdXBzIGEgc2V0IG9mIGNvbCBlbGVtZW50cy4gSXQgYWxsb3dzIHlvdSB0byBncm91cAorc2V2ZXJhbCBzZW1hbnRpY2FsbHkgcmVsYXRlZCBjb2x1bW5zIHRvZ2V0aGVyLgorLS0+Cis8IUFUVExJU1QgY29sZ3JvdXAKKyAgJWF0dHJzOworICBzcGFuICAgICAgICAlTnVtYmVyOyAgICAgICAiMSIKKyAgd2lkdGggICAgICAgJU11bHRpTGVuZ3RoOyAgI0lNUExJRUQKKyAgJWNlbGxoYWxpZ247CisgICVjZWxsdmFsaWduOworICA+CisKKzwhLS0KKyBjb2wgZWxlbWVudHMgZGVmaW5lIHRoZSBhbGlnbm1lbnQgcHJvcGVydGllcyBmb3IgY2VsbHMgaW4KKyBvbmUgb3IgbW9yZSBjb2x1bW5zLgorCisgVGhlIHdpZHRoIGF0dHJpYnV0ZSBzcGVjaWZpZXMgdGhlIHdpZHRoIG9mIHRoZSBjb2x1bW5zLCBlLmcuCisKKyAgICAgd2lkdGg9NjQgICAgICAgIHdpZHRoIGluIHNjcmVlbiBwaXhlbHMKKyAgICAgd2lkdGg9MC41KiAgICAgIHJlbGF0aXZlIHdpZHRoIG9mIDAuNQorCisgVGhlIHNwYW4gYXR0cmlidXRlIGNhdXNlcyB0aGUgYXR0cmlidXRlcyBvZiBvbmUKKyBjb2wgZWxlbWVudCB0byBhcHBseSB0byBtb3JlIHRoYW4gb25lIGNvbHVtbi4KKy0tPgorPCFBVFRMSVNUIGNvbAorICAlYXR0cnM7CisgIHNwYW4gICAgICAgICVOdW1iZXI7ICAgICAgICIxIgorICB3aWR0aCAgICAgICAlTXVsdGlMZW5ndGg7ICAjSU1QTElFRAorICAlY2VsbGhhbGlnbjsKKyAgJWNlbGx2YWxpZ247CisgID4KKworPCEtLQorICAgIFVzZSB0aGVhZCB0byBkdXBsaWNhdGUgaGVhZGVycyB3aGVuIGJyZWFraW5nIHRhYmxlCisgICAgYWNyb3NzIHBhZ2UgYm91bmRhcmllcywgb3IgZm9yIHN0YXRpYyBoZWFkZXJzIHdoZW4KKyAgICB0Ym9keSBzZWN0aW9ucyBhcmUgcmVuZGVyZWQgaW4gc2Nyb2xsaW5nIHBhbmVsLgorCisgICAgVXNlIHRmb290IHRvIGR1cGxpY2F0ZSBmb290ZXJzIHdoZW4gYnJlYWtpbmcgdGFibGUKKyAgICBhY3Jvc3MgcGFnZSBib3VuZGFyaWVzLCBvciBmb3Igc3RhdGljIGZvb3RlcnMgd2hlbgorICAgIHRib2R5IHNlY3Rpb25zIGFyZSByZW5kZXJlZCBpbiBzY3JvbGxpbmcgcGFuZWwuCisKKyAgICBVc2UgbXVsdGlwbGUgdGJvZHkgc2VjdGlvbnMgd2hlbiBydWxlcyBhcmUgbmVlZGVkCisgICAgYmV0d2VlbiBncm91cHMgb2YgdGFibGUgcm93cy4KKy0tPgorPCFBVFRMSVNUIHRoZWFkCisgICVhdHRyczsKKyAgJWNlbGxoYWxpZ247CisgICVjZWxsdmFsaWduOworICA+CisKKzwhQVRUTElTVCB0Zm9vdAorICAlYXR0cnM7CisgICVjZWxsaGFsaWduOworICAlY2VsbHZhbGlnbjsKKyAgPgorCis8IUFUVExJU1QgdGJvZHkKKyAgJWF0dHJzOworICAlY2VsbGhhbGlnbjsKKyAgJWNlbGx2YWxpZ247CisgID4KKworPCFBVFRMSVNUIHRyCisgICVhdHRyczsKKyAgJWNlbGxoYWxpZ247CisgICVjZWxsdmFsaWduOworICA+CisKKworPCEtLSBTY29wZSBpcyBzaW1wbGVyIHRoYW4gaGVhZGVycyBhdHRyaWJ1dGUgZm9yIGNvbW1vbiB0YWJsZXMgLS0+Cis8IUVOVElUWSAlIFNjb3BlICIocm93fGNvbHxyb3dncm91cHxjb2xncm91cCkiPgorCis8IS0tIHRoIGlzIGZvciBoZWFkZXJzLCB0ZCBmb3IgZGF0YSBhbmQgZm9yIGNlbGxzIGFjdGluZyBhcyBib3RoIC0tPgorCis8IUFUVExJU1QgdGgKKyAgJWF0dHJzOworICBhYmJyICAgICAgICAlVGV4dDsgICAgICAgICAjSU1QTElFRAorICBheGlzICAgICAgICBDREFUQSAgICAgICAgICAjSU1QTElFRAorICBoZWFkZXJzICAgICBJRFJFRlMgICAgICAgICAjSU1QTElFRAorICBzY29wZSAgICAgICAlU2NvcGU7ICAgICAgICAjSU1QTElFRAorICByb3dzcGFuICAgICAlTnVtYmVyOyAgICAgICAiMSIKKyAgY29sc3BhbiAgICAgJU51bWJlcjsgICAgICAgIjEiCisgICVjZWxsaGFsaWduOworICAlY2VsbHZhbGlnbjsKKyAgPgorCis8IUFUVExJU1QgdGQKKyAgJWF0dHJzOworICBhYmJyICAgICAgICAlVGV4dDsgICAgICAgICAjSU1QTElFRAorICBheGlzICAgICAgICBDREFUQSAgICAgICAgICAjSU1QTElFRAorICBoZWFkZXJzICAgICBJRFJFRlMgICAgICAgICAjSU1QTElFRAorICBzY29wZSAgICAgICAlU2NvcGU7ICAgICAgICAjSU1QTElFRAorICByb3dzcGFuICAgICAlTnVtYmVyOyAgICAgICAiMSIKKyAgY29sc3BhbiAgICAgJU51bWJlcjsgICAgICAgIjEiCisgICVjZWxsaGFsaWduOworICAlY2VsbHZhbGlnbjsKKyAgPgorCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvdmFsaWQvZHRkcy94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCBiL2xpYnhtbDIvdGVzdC92YWxpZC9kdGRzL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRlZjhkNjYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvdmFsaWQvZHRkcy94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZApAQCAtMCwwICsxLDExOTQgQEAKKzwhLS0KKyAgIEV4dGVuc2libGUgSFRNTCB2ZXJzaW9uIDEuMCBUcmFuc2l0aW9uYWwgRFRECisKKyAgIFRoaXMgaXMgdGhlIHNhbWUgYXMgSFRNTCA0LjAgVHJhbnNpdGlvbmFsIGV4Y2VwdCBmb3IKKyAgIGNoYW5nZXMgZHVlIHRvIHRoZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIFhNTCBhbmQgU0dNTC4KKworICAgTmFtZXNwYWNlID0gaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbAorCisgICBGb3IgZnVydGhlciBpbmZvcm1hdGlvbiwgc2VlOiBodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEKKworICAgQ29weXJpZ2h0IChjKSAxOTk4LTE5OTkgVzNDIChNSVQsIElOUklBLCBLZWlvKSwKKyAgIEFsbCBSaWdodHMgUmVzZXJ2ZWQuIAorCisgICBUaGlzIERURCBtb2R1bGUgaXMgaWRlbnRpZmllZCBieSB0aGUgUFVCTElDIGFuZCBTWVNURU0gaWRlbnRpZmllcnM6CisKKyAgIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iCisgICBTWVNURU0gImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiCisKKworLS0+CisKKzwhLS09PT09PT09PT09PT09PT09IENoYXJhY3RlciBtbmVtb25pYyBlbnRpdGllcyA9PT09PT09PT09PT09PT09PT09PT09PT09LS0+CisKKzwhRU5USVRZICUgSFRNTGxhdDEgUFVCTElDCisgICAiLS8vVzNDLy9FTlRJVElFUyBMYXRpbiAxIGZvciBYSFRNTC8vRU4iCisgICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbC1sYXQxLmVudCI+CislSFRNTGxhdDE7CisKKzwhRU5USVRZICUgSFRNTHN5bWJvbCBQVUJMSUMKKyAgICItLy9XM0MvL0VOVElUSUVTIFN5bWJvbHMgZm9yIFhIVE1MLy9FTiIKKyAgICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sLXN5bWJvbC5lbnQiPgorJUhUTUxzeW1ib2w7CisKKzwhRU5USVRZICUgSFRNTHNwZWNpYWwgUFVCTElDCisgICAiLS8vVzNDLy9FTlRJVElFUyBTcGVjaWFsIGZvciBYSFRNTC8vRU4iCisgICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbC1zcGVjaWFsLmVudCI+CislSFRNTHNwZWNpYWw7CisKKzwhLS09PT09PT09PT09PT09PT09PT0gSW1wb3J0ZWQgTmFtZXMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LS0+CisKKzwhRU5USVRZICUgQ29udGVudFR5cGUgIkNEQVRBIj4KKyAgICA8IS0tIG1lZGlhIHR5cGUsIGFzIHBlciBbUkZDMjA0NV0gLS0+CisKKzwhRU5USVRZICUgQ29udGVudFR5cGVzICJDREFUQSI+CisgICAgPCEtLSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBtZWRpYSB0eXBlcywgYXMgcGVyIFtSRkMyMDQ1XSAtLT4KKworPCFFTlRJVFkgJSBDaGFyc2V0ICJDREFUQSI+CisgICAgPCEtLSBhIGNoYXJhY3RlciBlbmNvZGluZywgYXMgcGVyIFtSRkMyMDQ1XSAtLT4KKworPCFFTlRJVFkgJSBDaGFyc2V0cyAiQ0RBVEEiPgorICAgIDwhLS0gYSBzcGFjZSBzZXBhcmF0ZWQgbGlzdCBvZiBjaGFyYWN0ZXIgZW5jb2RpbmdzLCBhcyBwZXIgW1JGQzIwNDVdIC0tPgorCis8IUVOVElUWSAlIExhbmd1YWdlQ29kZSAiTk1UT0tFTiI+CisgICAgPCEtLSBhIGxhbmd1YWdlIGNvZGUsIGFzIHBlciBbUkZDMTc2Nl0gLS0+CisKKzwhRU5USVRZICUgQ2hhcmFjdGVyICJDREFUQSI+CisgICAgPCEtLSBhIHNpbmdsZSBjaGFyYWN0ZXIgZnJvbSBbSVNPMTA2NDZdIC0tPgorCis8IUVOVElUWSAlIE51bWJlciAiQ0RBVEEiPgorICAgIDwhLS0gb25lIG9yIG1vcmUgZGlnaXRzIC0tPgorCis8IUVOVElUWSAlIExpbmtUeXBlcyAiQ0RBVEEiPgorICAgIDwhLS0gc3BhY2Utc2VwYXJhdGVkIGxpc3Qgb2YgbGluayB0eXBlcyAtLT4KKworPCFFTlRJVFkgJSBNZWRpYURlc2MgIkNEQVRBIj4KKyAgICA8IS0tIHNpbmdsZSBvciBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBtZWRpYSBkZXNjcmlwdG9ycyAtLT4KKworPCFFTlRJVFkgJSBVUkkgIkNEQVRBIj4KKyAgICA8IS0tIGEgVW5pZm9ybSBSZXNvdXJjZSBJZGVudGlmaWVyLCBzZWUgW1JGQzIzOTZdIC0tPgorCis8IUVOVElUWSAlIFVyaUxpc3QgIkNEQVRBIj4KKyAgICA8IS0tIGEgc3BhY2Ugc2VwYXJhdGVkIGxpc3Qgb2YgVW5pZm9ybSBSZXNvdXJjZSBJZGVudGlmaWVycyAtLT4KKworPCFFTlRJVFkgJSBEYXRldGltZSAiQ0RBVEEiPgorICAgIDwhLS0gZGF0ZSBhbmQgdGltZSBpbmZvcm1hdGlvbi4gSVNPIGRhdGUgZm9ybWF0IC0tPgorCis8IUVOVElUWSAlIFNjcmlwdCAiQ0RBVEEiPgorICAgIDwhLS0gc2NyaXB0IGV4cHJlc3Npb24gLS0+CisKKzwhRU5USVRZICUgU3R5bGVTaGVldCAiQ0RBVEEiPgorICAgIDwhLS0gc3R5bGUgc2hlZXQgZGF0YSAtLT4KKworPCFFTlRJVFkgJSBUZXh0ICJDREFUQSI+CisgICAgPCEtLSB1c2VkIGZvciB0aXRsZXMgZXRjLiAtLT4KKworPCFFTlRJVFkgJSBGcmFtZVRhcmdldCAiTk1UT0tFTiI+CisgICAgPCEtLSByZW5kZXIgaW4gdGhpcyBmcmFtZSAtLT4KKworPCFFTlRJVFkgJSBMZW5ndGggIkNEQVRBIj4KKyAgICA8IS0tIG5uIGZvciBwaXhlbHMgb3Igbm4lIGZvciBwZXJjZW50YWdlIGxlbmd0aCAtLT4KKworPCFFTlRJVFkgJSBNdWx0aUxlbmd0aCAiQ0RBVEEiPgorICAgIDwhLS0gcGl4ZWwsIHBlcmNlbnRhZ2UsIG9yIHJlbGF0aXZlIC0tPgorCis8IUVOVElUWSAlIE11bHRpTGVuZ3RocyAiQ0RBVEEiPgorICAgIDwhLS0gY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgTXVsdGlMZW5ndGggLS0+CisKKzwhRU5USVRZICUgUGl4ZWxzICJDREFUQSI+CisgICAgPCEtLSBpbnRlZ2VyIHJlcHJlc2VudGluZyBsZW5ndGggaW4gcGl4ZWxzIC0tPgorCis8IS0tIHRoZXNlIGFyZSB1c2VkIGZvciBpbWFnZSBtYXBzIC0tPgorCis8IUVOVElUWSAlIFNoYXBlICIocmVjdHxjaXJjbGV8cG9seXxkZWZhdWx0KSI+CisKKzwhRU5USVRZICUgQ29vcmRzICJDREFUQSI+CisgICAgPCEtLSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBsZW5ndGhzIC0tPgorCis8IS0tIHVzZWQgZm9yIG9iamVjdCwgYXBwbGV0LCBpbWcsIGlucHV0IGFuZCBpZnJhbWUgLS0+Cis8IUVOVElUWSAlIEltZ0FsaWduICIodG9wfG1pZGRsZXxib3R0b218bGVmdHxyaWdodCkiPgorCis8IS0tIGEgY29sb3IgdXNpbmcgc1JHQjogI1JSR0dCQiBhcyBIZXggdmFsdWVzIC0tPgorPCFFTlRJVFkgJSBDb2xvciAiQ0RBVEEiPgorCis8IS0tIFRoZXJlIGFyZSBhbHNvIDE2IHdpZGVseSBrbm93biBjb2xvciBuYW1lcyB3aXRoIHRoZWlyIHNSR0IgdmFsdWVzOgorCisgICAgQmxhY2sgID0gIzAwMDAwMCAgICBHcmVlbiAgPSAjMDA4MDAwCisgICAgU2lsdmVyID0gI0MwQzBDMCAgICBMaW1lICAgPSAjMDBGRjAwCisgICAgR3JheSAgID0gIzgwODA4MCAgICBPbGl2ZSAgPSAjODA4MDAwCisgICAgV2hpdGUgID0gI0ZGRkZGRiAgICBZZWxsb3cgPSAjRkZGRjAwCisgICAgTWFyb29uID0gIzgwMDAwMCAgICBOYXZ5ICAgPSAjMDAwMDgwCisgICAgUmVkICAgID0gI0ZGMDAwMCAgICBCbHVlICAgPSAjMDAwMEZGCisgICAgUHVycGxlID0gIzgwMDA4MCAgICBUZWFsICAgPSAjMDA4MDgwCisgICAgRnVjaHNpYT0gI0ZGMDBGRiAgICBBcXVhICAgPSAjMDBGRkZGCistLT4KKworPCEtLT09PT09PT09PT09PT09PT09PT0gR2VuZXJpYyBBdHRyaWJ1dGVzID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tLT4KKworPCEtLSBjb3JlIGF0dHJpYnV0ZXMgY29tbW9uIHRvIG1vc3QgZWxlbWVudHMKKyAgaWQgICAgICAgZG9jdW1lbnQtd2lkZSB1bmlxdWUgaWQKKyAgY2xhc3MgICAgc3BhY2Ugc2VwYXJhdGVkIGxpc3Qgb2YgY2xhc3NlcworICBzdHlsZSAgICBhc3NvY2lhdGVkIHN0eWxlIGluZm8KKyAgdGl0bGUgICAgYWR2aXNvcnkgdGl0bGUvYW1wbGlmaWNhdGlvbgorLS0+Cis8IUVOVElUWSAlIGNvcmVhdHRycworICJpZCAgICAgICAgICBJRCAgICAgICAgICAgICAjSU1QTElFRAorICBjbGFzcyAgICAgICBDREFUQSAgICAgICAgICAjSU1QTElFRAorICBzdHlsZSAgICAgICAlU3R5bGVTaGVldDsgICAjSU1QTElFRAorICB0aXRsZSAgICAgICAlVGV4dDsgICAgICAgICAjSU1QTElFRCIKKyAgPgorCis8IS0tIGludGVybmF0aW9uYWxpemF0aW9uIGF0dHJpYnV0ZXMKKyAgbGFuZyAgICAgICAgbGFuZ3VhZ2UgY29kZSAoYmFja3dhcmRzIGNvbXBhdGlibGUpCisgIHhtbDpsYW5nICAgIGxhbmd1YWdlIGNvZGUgKGFzIHBlciBYTUwgMS4wIHNwZWMpCisgIGRpciAgICAgICAgIGRpcmVjdGlvbiBmb3Igd2Vhay9uZXV0cmFsIHRleHQKKy0tPgorPCFFTlRJVFkgJSBpMThuCisgImxhbmcgICAgICAgICVMYW5ndWFnZUNvZGU7ICNJTVBMSUVECisgIHhtbDpsYW5nICAgICVMYW5ndWFnZUNvZGU7ICNJTVBMSUVECisgIGRpciAgICAgICAgIChsdHJ8cnRsKSAgICAgICNJTVBMSUVEIgorICA+CisKKzwhLS0gYXR0cmlidXRlcyBmb3IgY29tbW9uIFVJIGV2ZW50cworICBvbmNsaWNrICAgICBhIHBvaW50ZXIgYnV0dG9uIHdhcyBjbGlja2VkCisgIG9uZGJsY2xpY2sgIGEgcG9pbnRlciBidXR0b24gd2FzIGRvdWJsZSBjbGlja2VkCisgIG9ubW91c2Vkb3duIGEgcG9pbnRlciBidXR0b24gd2FzIHByZXNzZWQgZG93bgorICBvbm1vdXNldXAgICBhIHBvaW50ZXIgYnV0dG9uIHdhcyByZWxlYXNlZAorICBvbm1vdXNlbW92ZSBhIHBvaW50ZXIgd2FzIG1vdmVkIG9udG8gdGhlIGVsZW1lbnQKKyAgb25tb3VzZW91dCAgYSBwb2ludGVyIHdhcyBtb3ZlZCBhd2F5IGZyb20gdGhlIGVsZW1lbnQKKyAgb25rZXlwcmVzcyAgYSBrZXkgd2FzIHByZXNzZWQgYW5kIHJlbGVhc2VkCisgIG9ua2V5ZG93biAgIGEga2V5IHdhcyBwcmVzc2VkIGRvd24KKyAgb25rZXl1cCAgICAgYSBrZXkgd2FzIHJlbGVhc2VkCistLT4KKzwhRU5USVRZICUgZXZlbnRzCisgIm9uY2xpY2sgICAgICVTY3JpcHQ7ICAgICAgICNJTVBMSUVECisgIG9uZGJsY2xpY2sgICVTY3JpcHQ7ICAgICAgICNJTVBMSUVECisgIG9ubW91c2Vkb3duICVTY3JpcHQ7ICAgICAgICNJTVBMSUVECisgIG9ubW91c2V1cCAgICVTY3JpcHQ7ICAgICAgICNJTVBMSUVECisgIG9ubW91c2VvdmVyICVTY3JpcHQ7ICAgICAgICNJTVBMSUVECisgIG9ubW91c2Vtb3ZlICVTY3JpcHQ7ICAgICAgICNJTVBMSUVECisgIG9ubW91c2VvdXQgICVTY3JpcHQ7ICAgICAgICNJTVBMSUVECisgIG9ua2V5cHJlc3MgICVTY3JpcHQ7ICAgICAgICNJTVBMSUVECisgIG9ua2V5ZG93biAgICVTY3JpcHQ7ICAgICAgICNJTVBMSUVECisgIG9ua2V5dXAgICAgICVTY3JpcHQ7ICAgICAgICNJTVBMSUVEIgorICA+CisKKzwhLS0gYXR0cmlidXRlcyBmb3IgZWxlbWVudHMgdGhhdCBjYW4gZ2V0IHRoZSBmb2N1cworICBhY2Nlc3NrZXkgICBhY2Nlc3NpYmlsaXR5IGtleSBjaGFyYWN0ZXIKKyAgdGFiaW5kZXggICAgcG9zaXRpb24gaW4gdGFiYmluZyBvcmRlcgorICBvbmZvY3VzICAgICB0aGUgZWxlbWVudCBnb3QgdGhlIGZvY3VzCisgIG9uYmx1ciAgICAgIHRoZSBlbGVtZW50IGxvc3QgdGhlIGZvY3VzCistLT4KKzwhRU5USVRZICUgZm9jdXMKKyAiYWNjZXNza2V5ICAgJUNoYXJhY3RlcjsgICAgI0lNUExJRUQKKyAgdGFiaW5kZXggICAgJU51bWJlcjsgICAgICAgI0lNUExJRUQKKyAgb25mb2N1cyAgICAgJVNjcmlwdDsgICAgICAgI0lNUExJRUQKKyAgb25ibHVyICAgICAgJVNjcmlwdDsgICAgICAgI0lNUExJRUQiCisgID4KKworPCFFTlRJVFkgJSBhdHRycyAiJWNvcmVhdHRyczsgJWkxOG47ICVldmVudHM7Ij4KKworPCEtLSB0ZXh0IGFsaWdubWVudCBmb3IgcCwgZGl2LCBoMS1oNi4gVGhlIGRlZmF1bHQgaXMKKyAgICAgYWxpZ249ImxlZnQiIGZvciBsdHIgaGVhZGluZ3MsICJyaWdodCIgZm9yIHJ0bCAtLT4KKworPCFFTlRJVFkgJSBUZXh0QWxpZ24gImFsaWduIChsZWZ0fGNlbnRlcnxyaWdodCkgI0lNUExJRUQiPgorCis8IS0tPT09PT09PT09PT09PT09PT09PSBUZXh0IEVsZW1lbnRzID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0tPgorCis8IUVOVElUWSAlIHNwZWNpYWwKKyAgICJiciB8IHNwYW4gfCBiZG8gfCBvYmplY3QgfCBhcHBsZXQgfCBpbWcgfCBtYXAgfCBpZnJhbWUiPgorCis8IUVOVElUWSAlIGZvbnRzdHlsZSAidHQgfCBpIHwgYiB8IGJpZyB8IHNtYWxsIHwgdQorICAgICAgICAgICAgICAgICAgICAgIHwgcyB8IHN0cmlrZSB8Zm9udCB8IGJhc2Vmb250Ij4KKworPCFFTlRJVFkgJSBwaHJhc2UgImVtIHwgc3Ryb25nIHwgZGZuIHwgY29kZSB8IHEgfCBzdWIgfCBzdXAgfAorICAgICAgICAgICAgICAgICAgIHNhbXAgfCBrYmQgfCB2YXIgfCBjaXRlIHwgYWJiciB8IGFjcm9ueW0iPgorCis8IUVOVElUWSAlIGlubGluZS5mb3JtcyAiaW5wdXQgfCBzZWxlY3QgfCB0ZXh0YXJlYSB8IGxhYmVsIHwgYnV0dG9uIj4KKworPCEtLSB0aGVzZSBjYW4gb2NjdXIgYXQgYmxvY2sgb3IgaW5saW5lIGxldmVsIC0tPgorPCFFTlRJVFkgJSBtaXNjICJpbnMgfCBkZWwgfCBzY3JpcHQgfCBub3NjcmlwdCI+CisKKzwhRU5USVRZICUgaW5saW5lICJhIHwgJXNwZWNpYWw7IHwgJWZvbnRzdHlsZTsgfCAlcGhyYXNlOyB8ICVpbmxpbmUuZm9ybXM7Ij4KKworPCEtLSAlSW5saW5lOyBjb3ZlcnMgaW5saW5lIG9yICJ0ZXh0LWxldmVsIiBlbGVtZW50cyAtLT4KKzwhRU5USVRZICUgSW5saW5lICIoI1BDREFUQSB8ICVpbmxpbmU7IHwgJW1pc2M7KSoiPgorCis8IS0tPT09PT09PT09PT09PT09PT09IEJsb2NrIGxldmVsIGVsZW1lbnRzID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0tPgorCis8IUVOVElUWSAlIGhlYWRpbmcgImgxfGgyfGgzfGg0fGg1fGg2Ij4KKzwhRU5USVRZICUgbGlzdHMgInVsIHwgb2wgfCBkbCB8IG1lbnUgfCBkaXIiPgorPCFFTlRJVFkgJSBibG9ja3RleHQgInByZSB8IGhyIHwgYmxvY2txdW90ZSB8IGFkZHJlc3MgfCBjZW50ZXIgfCBub2ZyYW1lcyI+CisKKzwhRU5USVRZICUgYmxvY2sKKyAgICAicCB8ICVoZWFkaW5nOyB8IGRpdiB8ICVsaXN0czsgfCAlYmxvY2t0ZXh0OyB8IGlzaW5kZXggfGZpZWxkc2V0IHwgdGFibGUiPgorCis8IUVOVElUWSAlIEJsb2NrICIoJWJsb2NrOyB8IGZvcm0gfCAlbWlzYzspKiI+CisKKzwhLS0gJUZsb3c7IG1peGVzIEJsb2NrIGFuZCBJbmxpbmUgYW5kIGlzIHVzZWQgZm9yIGxpc3QgaXRlbXMgZXRjLiAtLT4KKzwhRU5USVRZICUgRmxvdyAiKCNQQ0RBVEEgfCAlYmxvY2s7IHwgZm9ybSB8ICVpbmxpbmU7IHwgJW1pc2M7KSoiPgorCis8IS0tPT09PT09PT09PT09PT09PT09IENvbnRlbnQgbW9kZWxzIGZvciBleGNsdXNpb25zID09PT09PT09PT09PT09PT09PT09PS0tPgorCis8IS0tIGEgZWxlbWVudHMgdXNlICVJbmxpbmU7IGV4Y2x1ZGluZyBhIC0tPgorCis8IUVOVElUWSAlIGEuY29udGVudAorICAgIigjUENEQVRBIHwgJXNwZWNpYWw7IHwgJWZvbnRzdHlsZTsgfCAlcGhyYXNlOyB8ICVpbmxpbmUuZm9ybXM7IHwgJW1pc2M7KSoiPgorCis8IS0tIHByZSB1c2VzICVJbmxpbmUgZXhjbHVkaW5nIGltZywgb2JqZWN0LCBhcHBsZXQsIGJpZywgc21hbGwsCisgICAgIHN1Yiwgc3VwLCBmb250LCBvciBiYXNlZm9udCAtLT4KKworPCFFTlRJVFkgJSBwcmUuY29udGVudAorICAgIigjUENEQVRBIHwgYSB8IGJyIHwgc3BhbiB8IGJkbyB8IG1hcCB8IHR0IHwgaSB8IGIgfCB1IHwgcyB8CisgICAgICAlcGhyYXNlOyB8ICVpbmxpbmUuZm9ybXM7KSoiPgorCis8IS0tIGZvcm0gdXNlcyAlRmxvdzsgZXhjbHVkaW5nIGZvcm0gLS0+CisKKzwhRU5USVRZICUgZm9ybS5jb250ZW50ICIoI1BDREFUQSB8ICVibG9jazsgfCAlaW5saW5lOyB8ICVtaXNjOykqIj4KKworPCEtLSBidXR0b24gdXNlcyAlRmxvdzsgYnV0IGV4Y2x1ZGVzIGEsIGZvcm0sIGZvcm0gY29udHJvbHMsIGlmcmFtZSAtLT4KKworPCFFTlRJVFkgJSBidXR0b24uY29udGVudAorICAgIigjUENEQVRBIHwgcCB8ICVoZWFkaW5nOyB8IGRpdiB8ICVsaXN0czsgfCAlYmxvY2t0ZXh0OyB8CisgICAgICB0YWJsZSB8IGJyIHwgc3BhbiB8IGJkbyB8IG9iamVjdCB8IGFwcGxldCB8IGltZyB8IG1hcCB8CisgICAgICAlZm9udHN0eWxlOyB8ICVwaHJhc2U7IHwgJW1pc2M7KSoiPgorCis8IS0tPT09PT09PT09PT09PT09PSBEb2N1bWVudCBTdHJ1Y3R1cmUgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0tPgorCis8IS0tIHRoZSBuYW1lc3BhY2UgVVJJIGRlc2lnbmF0ZXMgdGhlIGRvY3VtZW50IHByb2ZpbGUgLS0+CisKKzwhRUxFTUVOVCBodG1sIChoZWFkLCBib2R5KT4KKzwhQVRUTElTVCBodG1sCisgICVpMThuOworICB4bWxucyAgICAgICAlVVJJOyAgICAgICAgICAjRklYRUQgJ2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwnCisgID4KKworPCEtLT09PT09PT09PT09PT09PT0gRG9jdW1lbnQgSGVhZCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tLT4KKworPCFFTlRJVFkgJSBoZWFkLm1pc2MgIihzY3JpcHR8c3R5bGV8bWV0YXxsaW5rfG9iamVjdHxpc2luZGV4KSoiPgorCis8IS0tIGNvbnRlbnQgbW9kZWwgaXMgJWhlYWQubWlzYzsgY29tYmluZWQgd2l0aCBhIHNpbmdsZQorICAgICB0aXRsZSBhbmQgYW4gb3B0aW9uYWwgYmFzZSBlbGVtZW50IGluIGFueSBvcmRlciAtLT4KKworPCFFTEVNRU5UIGhlYWQgKCVoZWFkLm1pc2M7LAorICAgICAoKHRpdGxlLCAlaGVhZC5taXNjOywgKGJhc2UsICVoZWFkLm1pc2M7KT8pIHwKKyAgICAgIChiYXNlLCAlaGVhZC5taXNjOywgKHRpdGxlLCAlaGVhZC5taXNjOykpKSk+CisKKzwhQVRUTElTVCBoZWFkCisgICVpMThuOworICBwcm9maWxlICAgICAlVVJJOyAgICAgICAgICAjSU1QTElFRAorICA+CisKKzwhLS0gVGhlIHRpdGxlIGVsZW1lbnQgaXMgbm90IGNvbnNpZGVyZWQgcGFydCBvZiB0aGUgZmxvdyBvZiB0ZXh0LgorICAgICAgIEl0IHNob3VsZCBiZSBkaXNwbGF5ZWQsIGZvciBleGFtcGxlIGFzIHRoZSBwYWdlIGhlYWRlciBvcgorICAgICAgIHdpbmRvdyB0aXRsZS4gRXhhY3RseSBvbmUgdGl0bGUgaXMgcmVxdWlyZWQgcGVyIGRvY3VtZW50LgorICAgIC0tPgorPCFFTEVNRU5UIHRpdGxlICgjUENEQVRBKT4KKzwhQVRUTElTVCB0aXRsZSAlaTE4bjs+CisKKzwhLS0gZG9jdW1lbnQgYmFzZSBVUkkgLS0+CisKKzwhRUxFTUVOVCBiYXNlIEVNUFRZPgorPCFBVFRMSVNUIGJhc2UKKyAgaHJlZiAgICAgICAgJVVSSTsgICAgICAgICAgI0lNUExJRUQKKyAgdGFyZ2V0ICAgICAgJUZyYW1lVGFyZ2V0OyAgI0lNUExJRUQKKyAgPgorCis8IS0tIGdlbmVyaWMgbWV0YWluZm9ybWF0aW9uIC0tPgorPCFFTEVNRU5UIG1ldGEgRU1QVFk+Cis8IUFUVExJU1QgbWV0YQorICAlaTE4bjsKKyAgaHR0cC1lcXVpdiAgQ0RBVEEgICAgICAgICAgI0lNUExJRUQKKyAgbmFtZSAgICAgICAgQ0RBVEEgICAgICAgICAgI0lNUExJRUQKKyAgY29udGVudCAgICAgQ0RBVEEgICAgICAgICAgI1JFUVVJUkVECisgIHNjaGVtZSAgICAgIENEQVRBICAgICAgICAgICNJTVBMSUVECisgID4KKworPCEtLQorICBSZWxhdGlvbnNoaXAgdmFsdWVzIGNhbiBiZSB1c2VkIGluIHByaW5jaXBsZToKKworICAgYSkgZm9yIGRvY3VtZW50IHNwZWNpZmljIHRvb2xiYXJzL21lbnVzIHdoZW4gdXNlZAorICAgICAgd2l0aCB0aGUgbGluayBlbGVtZW50IGluIGRvY3VtZW50IGhlYWQgZS5nLgorICAgICAgICBzdGFydCwgY29udGVudHMsIHByZXZpb3VzLCBuZXh0LCBpbmRleCwgZW5kLCBoZWxwCisgICBiKSB0byBsaW5rIHRvIGEgc2VwYXJhdGUgc3R5bGUgc2hlZXQgKHJlbD0ic3R5bGVzaGVldCIpCisgICBjKSB0byBtYWtlIGEgbGluayB0byBhIHNjcmlwdCAocmVsPSJzY3JpcHQiKQorICAgZCkgYnkgc3R5bGVzaGVldHMgdG8gY29udHJvbCBob3cgY29sbGVjdGlvbnMgb2YKKyAgICAgIGh0bWwgbm9kZXMgYXJlIHJlbmRlcmVkIGludG8gcHJpbnRlZCBkb2N1bWVudHMKKyAgIGUpIHRvIG1ha2UgYSBsaW5rIHRvIGEgcHJpbnRhYmxlIHZlcnNpb24gb2YgdGhpcyBkb2N1bWVudAorICAgICAgZS5nLiBhIFBvc3RTY3JpcHQgb3IgUERGIHZlcnNpb24gKHJlbD0iYWx0ZXJuYXRlIiBtZWRpYT0icHJpbnQiKQorLS0+CisKKzwhRUxFTUVOVCBsaW5rIEVNUFRZPgorPCFBVFRMSVNUIGxpbmsKKyAgJWF0dHJzOworICBjaGFyc2V0ICAgICAlQ2hhcnNldDsgICAgICAjSU1QTElFRAorICBocmVmICAgICAgICAlVVJJOyAgICAgICAgICAjSU1QTElFRAorICBocmVmbGFuZyAgICAlTGFuZ3VhZ2VDb2RlOyAjSU1QTElFRAorICB0eXBlICAgICAgICAlQ29udGVudFR5cGU7ICAjSU1QTElFRAorICByZWwgICAgICAgICAlTGlua1R5cGVzOyAgICAjSU1QTElFRAorICByZXYgICAgICAgICAlTGlua1R5cGVzOyAgICAjSU1QTElFRAorICBtZWRpYSAgICAgICAlTWVkaWFEZXNjOyAgICAjSU1QTElFRAorICB0YXJnZXQgICAgICAlRnJhbWVUYXJnZXQ7ICAjSU1QTElFRAorICA+CisKKzwhLS0gc3R5bGUgaW5mbywgd2hpY2ggbWF5IGluY2x1ZGUgQ0RBVEEgc2VjdGlvbnMgLS0+Cis8IUVMRU1FTlQgc3R5bGUgKCNQQ0RBVEEpPgorPCFBVFRMSVNUIHN0eWxlCisgICVpMThuOworICB0eXBlICAgICAgICAlQ29udGVudFR5cGU7ICAjUkVRVUlSRUQKKyAgbWVkaWEgICAgICAgJU1lZGlhRGVzYzsgICAgI0lNUExJRUQKKyAgdGl0bGUgICAgICAgJVRleHQ7ICAgICAgICAgI0lNUExJRUQKKyAgeG1sOnNwYWNlICAgKHByZXNlcnZlKSAgICAgI0ZJWEVEICdwcmVzZXJ2ZScKKyAgPgorCis8IS0tIHNjcmlwdCBzdGF0ZW1lbnRzLCB3aGljaCBtYXkgaW5jbHVkZSBDREFUQSBzZWN0aW9ucyAtLT4KKzwhRUxFTUVOVCBzY3JpcHQgKCNQQ0RBVEEpPgorPCFBVFRMSVNUIHNjcmlwdAorICBjaGFyc2V0ICAgICAlQ2hhcnNldDsgICAgICAjSU1QTElFRAorICB0eXBlICAgICAgICAlQ29udGVudFR5cGU7ICAjUkVRVUlSRUQKKyAgbGFuZ3VhZ2UgICAgQ0RBVEEgICAgICAgICAgI0lNUExJRUQKKyAgc3JjICAgICAgICAgJVVSSTsgICAgICAgICAgI0lNUExJRUQKKyAgZGVmZXIgICAgICAgKGRlZmVyKSAgICAgICAgI0lNUExJRUQKKyAgeG1sOnNwYWNlICAgKHByZXNlcnZlKSAgICAgI0ZJWEVEICdwcmVzZXJ2ZScKKyAgPgorCis8IS0tIGFsdGVybmF0ZSBjb250ZW50IGNvbnRhaW5lciBmb3Igbm9uIHNjcmlwdC1iYXNlZCByZW5kZXJpbmcgLS0+CisKKzwhRUxFTUVOVCBub3NjcmlwdCAlRmxvdzs+Cis8IUFUVExJU1Qgbm9zY3JpcHQKKyAgJWF0dHJzOworICA+CisKKzwhLS09PT09PT09PT09PT09PT09PT09PT09PSBGcmFtZXMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LS0+CisKKzwhLS0gaW5saW5lIHN1YndpbmRvdyAtLT4KKworPCFFTEVNRU5UIGlmcmFtZSAlRmxvdzs+Cis8IUFUVExJU1QgaWZyYW1lCisgICVjb3JlYXR0cnM7CisgIGxvbmdkZXNjICAgICVVUkk7ICAgICAgICAgICNJTVBMSUVECisgIG5hbWUgICAgICAgIE5NVE9LRU4gICAgICAgICNJTVBMSUVECisgIHNyYyAgICAgICAgICVVUkk7ICAgICAgICAgICNJTVBMSUVECisgIGZyYW1lYm9yZGVyICgxfDApICAgICAgICAgICIxIgorICBtYXJnaW53aWR0aCAlUGl4ZWxzOyAgICAgICAjSU1QTElFRAorICBtYXJnaW5oZWlnaHQgJVBpeGVsczsgICAgICAjSU1QTElFRAorICBzY3JvbGxpbmcgICAoeWVzfG5vfGF1dG8pICAiYXV0byIKKyAgYWxpZ24gICAgICAgJUltZ0FsaWduOyAgICAgI0lNUExJRUQKKyAgaGVpZ2h0ICAgICAgJUxlbmd0aDsgICAgICAgI0lNUExJRUQKKyAgd2lkdGggICAgICAgJUxlbmd0aDsgICAgICAgI0lNUExJRUQKKyAgPgorCis8IS0tIGFsdGVybmF0ZSBjb250ZW50IGNvbnRhaW5lciBmb3Igbm9uIGZyYW1lLWJhc2VkIHJlbmRlcmluZyAtLT4KKworPCFFTEVNRU5UIG5vZnJhbWVzICVGbG93Oz4KKzwhQVRUTElTVCBub2ZyYW1lcworICAlYXR0cnM7CisgID4KKworPCEtLT09PT09PT09PT09PT09PT09PT0gRG9jdW1lbnQgQm9keSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tLT4KKworPCFFTEVNRU5UIGJvZHkgJUZsb3c7PgorPCFBVFRMSVNUIGJvZHkKKyAgJWF0dHJzOworICBvbmxvYWQgICAgICAlU2NyaXB0OyAgICAgICAjSU1QTElFRAorICBvbnVubG9hZCAgICAlU2NyaXB0OyAgICAgICAjSU1QTElFRAorICBiYWNrZ3JvdW5kICAlVVJJOyAgICAgICAgICAjSU1QTElFRAorICBiZ2NvbG9yICAgICAlQ29sb3I7ICAgICAgICAjSU1QTElFRAorICB0ZXh0ICAgICAgICAlQ29sb3I7ICAgICAgICAjSU1QTElFRAorICBsaW5rICAgICAgICAlQ29sb3I7ICAgICAgICAjSU1QTElFRAorICB2bGluayAgICAgICAlQ29sb3I7ICAgICAgICAjSU1QTElFRAorICBhbGluayAgICAgICAlQ29sb3I7ICAgICAgICAjSU1QTElFRAorICA+CisKKzwhRUxFTUVOVCBkaXYgJUZsb3c7PiAgPCEtLSBnZW5lcmljIGxhbmd1YWdlL3N0eWxlIGNvbnRhaW5lciAtLT4KKzwhQVRUTElTVCBkaXYKKyAgJWF0dHJzOworICAlVGV4dEFsaWduOworICA+CisKKzwhLS09PT09PT09PT09PT09PT09PT09IFBhcmFncmFwaHMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LS0+CisKKzwhRUxFTUVOVCBwICVJbmxpbmU7PgorPCFBVFRMSVNUIHAKKyAgJWF0dHJzOworICAlVGV4dEFsaWduOworICA+CisKKzwhLS09PT09PT09PT09PT09PT09PT09IEhlYWRpbmdzID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LS0+CisKKzwhLS0KKyAgVGhlcmUgYXJlIHNpeCBsZXZlbHMgb2YgaGVhZGluZ3MgZnJvbSBoMSAodGhlIG1vc3QgaW1wb3J0YW50KQorICB0byBoNiAodGhlIGxlYXN0IGltcG9ydGFudCkuCistLT4KKworPCFFTEVNRU5UIGgxICAlSW5saW5lOz4KKzwhQVRUTElTVCBoMQorICAlYXR0cnM7CisgICVUZXh0QWxpZ247CisgID4KKworPCFFTEVNRU5UIGgyICVJbmxpbmU7PgorPCFBVFRMSVNUIGgyCisgICVhdHRyczsKKyAgJVRleHRBbGlnbjsKKyAgPgorCis8IUVMRU1FTlQgaDMgJUlubGluZTs+Cis8IUFUVExJU1QgaDMKKyAgJWF0dHJzOworICAlVGV4dEFsaWduOworICA+CisKKzwhRUxFTUVOVCBoNCAlSW5saW5lOz4KKzwhQVRUTElTVCBoNAorICAlYXR0cnM7CisgICVUZXh0QWxpZ247CisgID4KKworPCFFTEVNRU5UIGg1ICVJbmxpbmU7PgorPCFBVFRMSVNUIGg1CisgICVhdHRyczsKKyAgJVRleHRBbGlnbjsKKyAgPgorCis8IUVMRU1FTlQgaDYgJUlubGluZTs+Cis8IUFUVExJU1QgaDYKKyAgJWF0dHJzOworICAlVGV4dEFsaWduOworICA+CisKKzwhLS09PT09PT09PT09PT09PT09PT09IExpc3RzID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LS0+CisKKzwhLS0gVW5vcmRlcmVkIGxpc3QgYnVsbGV0IHN0eWxlcyAtLT4KKworPCFFTlRJVFkgJSBVTFN0eWxlICIoZGlzY3xzcXVhcmV8Y2lyY2xlKSI+CisKKzwhLS0gVW5vcmRlcmVkIGxpc3QgLS0+CisKKzwhRUxFTUVOVCB1bCAobGkpKz4KKzwhQVRUTElTVCB1bAorICAlYXR0cnM7CisgIHR5cGUgICAgICAgICVVTFN0eWxlOyAgICAgI0lNUExJRUQKKyAgY29tcGFjdCAgICAgKGNvbXBhY3QpICAgICAjSU1QTElFRAorICA+CisKKzwhLS0gT3JkZXJlZCBsaXN0IG51bWJlcmluZyBzdHlsZQorCisgICAgMSAgIGFyYWJpYyBudW1iZXJzICAgICAgMSwgMiwgMywgLi4uCisgICAgYSAgIGxvd2VyIGFscGhhICAgICAgICAgYSwgYiwgYywgLi4uCisgICAgQSAgIHVwcGVyIGFscGhhICAgICAgICAgQSwgQiwgQywgLi4uCisgICAgaSAgIGxvd2VyIHJvbWFuICAgICAgICAgaSwgaWksIGlpaSwgLi4uCisgICAgSSAgIHVwcGVyIHJvbWFuICAgICAgICAgSSwgSUksIElJSSwgLi4uCisKKyAgICBUaGUgc3R5bGUgaXMgYXBwbGllZCB0byB0aGUgc2VxdWVuY2UgbnVtYmVyIHdoaWNoIGJ5IGRlZmF1bHQKKyAgICBpcyByZXNldCB0byAxIGZvciB0aGUgZmlyc3QgbGlzdCBpdGVtIGluIGFuIG9yZGVyZWQgbGlzdC4KKy0tPgorPCFFTlRJVFkgJSBPTFN0eWxlICJDREFUQSI+CisKKzwhLS0gT3JkZXJlZCAobnVtYmVyZWQpIGxpc3QgLS0+CisKKzwhRUxFTUVOVCBvbCAobGkpKz4KKzwhQVRUTElTVCBvbAorICAlYXR0cnM7CisgIHR5cGUgICAgICAgICVPTFN0eWxlOyAgICAgICNJTVBMSUVECisgIGNvbXBhY3QgICAgIChjb21wYWN0KSAgICAgICNJTVBMSUVECisgIHN0YXJ0ICAgICAgICVOdW1iZXI7ICAgICAgICNJTVBMSUVECisgID4KKworPCEtLSBzaW5nbGUgY29sdW1uIGxpc3QgKERFUFJFQ0FURUQpIC0tPiAKKzwhRUxFTUVOVCBtZW51IChsaSkrPgorPCFBVFRMSVNUIG1lbnUKKyAgJWF0dHJzOworICBjb21wYWN0ICAgICAoY29tcGFjdCkgICAgICNJTVBMSUVECisgID4KKworPCEtLSBtdWx0aXBsZSBjb2x1bW4gbGlzdCAoREVQUkVDQVRFRCkgLS0+IAorPCFFTEVNRU5UIGRpciAobGkpKz4KKzwhQVRUTElTVCBkaXIKKyAgJWF0dHJzOworICBjb21wYWN0ICAgICAoY29tcGFjdCkgICAgICNJTVBMSUVECisgID4KKworPCEtLSBMSVN0eWxlIGlzIGNvbnN0cmFpbmVkIHRvOiAiKCVVTFN0eWxlO3wlT0xTdHlsZTspIiAtLT4KKzwhRU5USVRZICUgTElTdHlsZSAiQ0RBVEEiPgorCis8IS0tIGxpc3QgaXRlbSAtLT4KKworPCFFTEVNRU5UIGxpICVGbG93Oz4KKzwhQVRUTElTVCBsaQorICAlYXR0cnM7CisgIHR5cGUgICAgICAgICVMSVN0eWxlOyAgICAgICNJTVBMSUVECisgIHZhbHVlICAgICAgICVOdW1iZXI7ICAgICAgICNJTVBMSUVECisgID4KKworPCEtLSBkZWZpbml0aW9uIGxpc3RzIC0gZHQgZm9yIHRlcm0sIGRkIGZvciBpdHMgZGVmaW5pdGlvbiAtLT4KKworPCFFTEVNRU5UIGRsIChkdHxkZCkrPgorPCFBVFRMSVNUIGRsCisgICVhdHRyczsKKyAgY29tcGFjdCAgICAgKGNvbXBhY3QpICAgICAgI0lNUExJRUQKKyAgPgorCis8IUVMRU1FTlQgZHQgJUlubGluZTs+Cis8IUFUVExJU1QgZHQKKyAgJWF0dHJzOworICA+CisKKzwhRUxFTUVOVCBkZCAlRmxvdzs+Cis8IUFUVExJU1QgZGQKKyAgJWF0dHJzOworICA+CisKKzwhLS09PT09PT09PT09PT09PT09PT09IEFkZHJlc3MgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LS0+CisKKzwhLS0gaW5mb3JtYXRpb24gb24gYXV0aG9yIC0tPgorCis8IUVMRU1FTlQgYWRkcmVzcyAlSW5saW5lOz4KKzwhQVRUTElTVCBhZGRyZXNzCisgICVhdHRyczsKKyAgPgorCis8IS0tPT09PT09PT09PT09PT09PT09PSBIb3Jpem9udGFsIFJ1bGUgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0tPgorCis8IUVMRU1FTlQgaHIgRU1QVFk+Cis8IUFUVExJU1QgaHIKKyAgJWF0dHJzOworICBhbGlnbiAgICAgICAobGVmdHxjZW50ZXJ8cmlnaHQpICNJTVBMSUVECisgIG5vc2hhZGUgICAgIChub3NoYWRlKSAgICAgICNJTVBMSUVECisgIHNpemUgICAgICAgICVQaXhlbHM7ICAgICAgICNJTVBMSUVECisgIHdpZHRoICAgICAgICVMZW5ndGg7ICAgICAgICNJTVBMSUVECisgID4KKworPCEtLT09PT09PT09PT09PT09PT09PT0gUHJlZm9ybWF0dGVkIFRleHQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tLT4KKworPCEtLSBjb250ZW50IGlzICVJbmxpbmU7IGV4Y2x1ZGluZyAKKyAgICAgICAgImltZ3xvYmplY3R8YXBwbGV0fGJpZ3xzbWFsbHxzdWJ8c3VwfGZvbnR8YmFzZWZvbnQiIC0tPgorCis8IUVMRU1FTlQgcHJlICVwcmUuY29udGVudDs+Cis8IUFUVExJU1QgcHJlCisgICVhdHRyczsKKyAgd2lkdGggICAgICAgJU51bWJlcjsgICAgICAjSU1QTElFRAorICB4bWw6c3BhY2UgICAocHJlc2VydmUpICAgICNGSVhFRCAncHJlc2VydmUnCisgID4KKworPCEtLT09PT09PT09PT09PT09PT09PT0gQmxvY2stbGlrZSBRdW90ZXMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tLT4KKworPCFFTEVNRU5UIGJsb2NrcXVvdGUgJUZsb3c7PgorPCFBVFRMSVNUIGJsb2NrcXVvdGUKKyAgJWF0dHJzOworICBjaXRlICAgICAgICAlVVJJOyAgICAgICAgICAjSU1QTElFRAorICA+CisKKzwhLS09PT09PT09PT09PT09PT09PT09IFRleHQgYWxpZ25tZW50ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LS0+CisKKzwhLS0gY2VudGVyIGNvbnRlbnQgLS0+Cis8IUVMRU1FTlQgY2VudGVyICVGbG93Oz4KKzwhQVRUTElTVCBjZW50ZXIKKyAgJWF0dHJzOworICA+CisKKzwhLS09PT09PT09PT09PT09PT09PT09IEluc2VydGVkL0RlbGV0ZWQgVGV4dCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09LS0+CisKKzwhLS0KKyAgaW5zL2RlbCBhcmUgYWxsb3dlZCBpbiBibG9jayBhbmQgaW5saW5lIGNvbnRlbnQsIGJ1dCBpdHMKKyAgaW5hcHByb3ByaWF0ZSB0byBpbmNsdWRlIGJsb2NrIGNvbnRlbnQgd2l0aGluIGFuIGlucyBlbGVtZW50CisgIG9jY3VycmluZyBpbiBpbmxpbmUgY29udGVudC4KKy0tPgorPCFFTEVNRU5UIGlucyAlRmxvdzs+Cis8IUFUVExJU1QgaW5zCisgICVhdHRyczsKKyAgY2l0ZSAgICAgICAgJVVSSTsgICAgICAgICAgI0lNUExJRUQKKyAgZGF0ZXRpbWUgICAgJURhdGV0aW1lOyAgICAgI0lNUExJRUQKKyAgPgorCis8IUVMRU1FTlQgZGVsICVGbG93Oz4KKzwhQVRUTElTVCBkZWwKKyAgJWF0dHJzOworICBjaXRlICAgICAgICAlVVJJOyAgICAgICAgICAjSU1QTElFRAorICBkYXRldGltZSAgICAlRGF0ZXRpbWU7ICAgICAjSU1QTElFRAorICA+CisKKzwhLS09PT09PT09PT09PT09PT09PT0gVGhlIEFuY2hvciBFbGVtZW50ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LS0+CisKKzwhLS0gY29udGVudCBpcyAlSW5saW5lOyBleGNlcHQgdGhhdCBhbmNob3JzIHNob3VsZG4ndCBiZSBuZXN0ZWQgLS0+CisKKzwhRUxFTUVOVCBhICVhLmNvbnRlbnQ7PgorPCFBVFRMSVNUIGEKKyAgJWF0dHJzOworICBjaGFyc2V0ICAgICAlQ2hhcnNldDsgICAgICAjSU1QTElFRAorICB0eXBlICAgICAgICAlQ29udGVudFR5cGU7ICAjSU1QTElFRAorICBuYW1lICAgICAgICBOTVRPS0VOICAgICAgICAjSU1QTElFRAorICBocmVmICAgICAgICAlVVJJOyAgICAgICAgICAjSU1QTElFRAorICBocmVmbGFuZyAgICAlTGFuZ3VhZ2VDb2RlOyAjSU1QTElFRAorICByZWwgICAgICAgICAlTGlua1R5cGVzOyAgICAjSU1QTElFRAorICByZXYgICAgICAgICAlTGlua1R5cGVzOyAgICAjSU1QTElFRAorICBhY2Nlc3NrZXkgICAlQ2hhcmFjdGVyOyAgICAjSU1QTElFRAorICBzaGFwZSAgICAgICAlU2hhcGU7ICAgICAgICAicmVjdCIKKyAgY29vcmRzICAgICAgJUNvb3JkczsgICAgICAgI0lNUExJRUQKKyAgdGFiaW5kZXggICAgJU51bWJlcjsgICAgICAgI0lNUExJRUQKKyAgb25mb2N1cyAgICAgJVNjcmlwdDsgICAgICAgI0lNUExJRUQKKyAgb25ibHVyICAgICAgJVNjcmlwdDsgICAgICAgI0lNUExJRUQKKyAgdGFyZ2V0ICAgICAgJUZyYW1lVGFyZ2V0OyAgI0lNUExJRUQKKyAgPgorCis8IS0tPT09PT09PT09PT09PT09PT09PT09IElubGluZSBFbGVtZW50cyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0tPgorCis8IUVMRU1FTlQgc3BhbiAlSW5saW5lOz4gPCEtLSBnZW5lcmljIGxhbmd1YWdlL3N0eWxlIGNvbnRhaW5lciAtLT4KKzwhQVRUTElTVCBzcGFuCisgICVhdHRyczsKKyAgPgorCis8IUVMRU1FTlQgYmRvICVJbmxpbmU7PiAgPCEtLSBJMThOIEJpRGkgb3Zlci1yaWRlIC0tPgorPCFBVFRMSVNUIGJkbworICAlY29yZWF0dHJzOworICAlZXZlbnRzOworICBsYW5nICAgICAgICAlTGFuZ3VhZ2VDb2RlOyAjSU1QTElFRAorICB4bWw6bGFuZyAgICAlTGFuZ3VhZ2VDb2RlOyAjSU1QTElFRAorICBkaXIgICAgICAgICAobHRyfHJ0bCkgICAgICAjUkVRVUlSRUQKKyAgPgorCis8IUVMRU1FTlQgYnIgRU1QVFk+ICAgPCEtLSBmb3JjZWQgbGluZSBicmVhayAtLT4KKzwhQVRUTElTVCBicgorICAlY29yZWF0dHJzOworICBjbGVhciAgICAgICAobGVmdHxhbGx8cmlnaHR8bm9uZSkgIm5vbmUiCisgID4KKworPCFFTEVNRU5UIGVtICVJbmxpbmU7PiAgIDwhLS0gZW1waGFzaXMgLS0+Cis8IUFUVExJU1QgZW0gJWF0dHJzOz4KKworPCFFTEVNRU5UIHN0cm9uZyAlSW5saW5lOz4gICA8IS0tIHN0cm9uZyBlbXBoYXNpcyAtLT4KKzwhQVRUTElTVCBzdHJvbmcgJWF0dHJzOz4KKworPCFFTEVNRU5UIGRmbiAlSW5saW5lOz4gICA8IS0tIGRlZmluaXRpb25hbCAtLT4KKzwhQVRUTElTVCBkZm4gJWF0dHJzOz4KKworPCFFTEVNRU5UIGNvZGUgJUlubGluZTs+ICAgPCEtLSBwcm9ncmFtIGNvZGUgLS0+Cis8IUFUVExJU1QgY29kZSAlYXR0cnM7PgorCis8IUVMRU1FTlQgc2FtcCAlSW5saW5lOz4gICA8IS0tIHNhbXBsZSAtLT4KKzwhQVRUTElTVCBzYW1wICVhdHRyczs+CisKKzwhRUxFTUVOVCBrYmQgJUlubGluZTs+ICA8IS0tIHNvbWV0aGluZyB1c2VyIHdvdWxkIHR5cGUgLS0+Cis8IUFUVExJU1Qga2JkICVhdHRyczs+CisKKzwhRUxFTUVOVCB2YXIgJUlubGluZTs+ICAgPCEtLSB2YXJpYWJsZSAtLT4KKzwhQVRUTElTVCB2YXIgJWF0dHJzOz4KKworPCFFTEVNRU5UIGNpdGUgJUlubGluZTs+ICAgPCEtLSBjaXRhdGlvbiAtLT4KKzwhQVRUTElTVCBjaXRlICVhdHRyczs+CisKKzwhRUxFTUVOVCBhYmJyICVJbmxpbmU7PiAgIDwhLS0gYWJicmV2aWF0aW9uIC0tPgorPCFBVFRMSVNUIGFiYnIgJWF0dHJzOz4KKworPCFFTEVNRU5UIGFjcm9ueW0gJUlubGluZTs+ICAgPCEtLSBhY3JvbnltIC0tPgorPCFBVFRMSVNUIGFjcm9ueW0gJWF0dHJzOz4KKworPCFFTEVNRU5UIHEgJUlubGluZTs+ICAgPCEtLSBpbmxpbmVkIHF1b3RlIC0tPgorPCFBVFRMSVNUIHEKKyAgJWF0dHJzOworICBjaXRlICAgICAgICAlVVJJOyAgICAgICAgICAjSU1QTElFRAorICA+CisKKzwhRUxFTUVOVCBzdWIgJUlubGluZTs+IDwhLS0gc3Vic2NyaXB0IC0tPgorPCFBVFRMSVNUIHN1YiAlYXR0cnM7PgorCis8IUVMRU1FTlQgc3VwICVJbmxpbmU7PiA8IS0tIHN1cGVyc2NyaXB0IC0tPgorPCFBVFRMSVNUIHN1cCAlYXR0cnM7PgorCis8IUVMRU1FTlQgdHQgJUlubGluZTs+ICAgPCEtLSBmaXhlZCBwaXRjaCBmb250IC0tPgorPCFBVFRMSVNUIHR0ICVhdHRyczs+CisKKzwhRUxFTUVOVCBpICVJbmxpbmU7PiAgIDwhLS0gaXRhbGljIGZvbnQgLS0+Cis8IUFUVExJU1QgaSAlYXR0cnM7PgorCis8IUVMRU1FTlQgYiAlSW5saW5lOz4gICA8IS0tIGJvbGQgZm9udCAtLT4KKzwhQVRUTElTVCBiICVhdHRyczs+CisKKzwhRUxFTUVOVCBiaWcgJUlubGluZTs+ICAgPCEtLSBiaWdnZXIgZm9udCAtLT4KKzwhQVRUTElTVCBiaWcgJWF0dHJzOz4KKworPCFFTEVNRU5UIHNtYWxsICVJbmxpbmU7PiAgIDwhLS0gc21hbGxlciBmb250IC0tPgorPCFBVFRMSVNUIHNtYWxsICVhdHRyczs+CisKKzwhRUxFTUVOVCB1ICVJbmxpbmU7PiAgIDwhLS0gdW5kZXJsaW5lIC0tPgorPCFBVFRMSVNUIHUgJWF0dHJzOz4KKworPCFFTEVNRU5UIHMgJUlubGluZTs+ICAgPCEtLSBzdHJpa2UtdGhyb3VnaCAtLT4KKzwhQVRUTElTVCBzICVhdHRyczs+CisKKzwhRUxFTUVOVCBzdHJpa2UgJUlubGluZTs+ICAgPCEtLSBzdHJpa2UtdGhyb3VnaCAtLT4KKzwhQVRUTElTVCBzdHJpa2UgJWF0dHJzOz4KKworPCFFTEVNRU5UIGJhc2Vmb250IEVNUFRZPiAgPCEtLSBiYXNlIGZvbnQgc2l6ZSAtLT4KKzwhQVRUTElTVCBiYXNlZm9udAorICBpZCAgICAgICAgICBJRCAgICAgICAgICAgICAjSU1QTElFRAorICBzaXplICAgICAgICBDREFUQSAgICAgICAgICAjUkVRVUlSRUQKKyAgY29sb3IgICAgICAgJUNvbG9yOyAgICAgICAgI0lNUExJRUQKKyAgZmFjZSAgICAgICAgQ0RBVEEgICAgICAgICAgI0lNUExJRUQKKyAgPgorCis8IUVMRU1FTlQgZm9udCAlSW5saW5lOz4gPCEtLSBsb2NhbCBjaGFuZ2UgdG8gZm9udCAtLT4KKzwhQVRUTElTVCBmb250CisgICVjb3JlYXR0cnM7CisgICVpMThuOworICBzaXplICAgICAgICBDREFUQSAgICAgICAgICAjSU1QTElFRAorICBjb2xvciAgICAgICAlQ29sb3I7ICAgICAgICAjSU1QTElFRAorICBmYWNlICAgICAgICBDREFUQSAgICAgICAgICAjSU1QTElFRAorICA+CisKKzwhLS09PT09PT09PT09PT09PT09PT09PSBPYmplY3QgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0tLT4KKzwhLS0KKyAgb2JqZWN0IGlzIHVzZWQgdG8gZW1iZWQgb2JqZWN0cyBhcyBwYXJ0IG9mIEhUTUwgcGFnZXMuCisgIHBhcmFtIGVsZW1lbnRzIHNob3VsZCBwcmVjZWRlIG90aGVyIGNvbnRlbnQuIFBhcmFtZXRlcnMKKyAgY2FuIGFsc28gYmUgZXhwcmVzc2VkIGFzIGF0dHJpYnV0ZS92YWx1ZSBwYWlycyBvbiB0aGUKKyAgb2JqZWN0IGVsZW1lbnQgaXRzZWxmIHdoZW4gYnJldml0eSBpcyBkZXNpcmVkLgorLS0+CisKKzwhRUxFTUVOVCBvYmplY3QgKCNQQ0RBVEEgfCBwYXJhbSB8ICVibG9jazsgfCBmb3JtIHwgJWlubGluZTsgfCAlbWlzYzspKj4KKzwhQVRUTElTVCBvYmplY3QKKyAgJWF0dHJzOworICBkZWNsYXJlICAgICAoZGVjbGFyZSkgICAgICAjSU1QTElFRAorICBjbGFzc2lkICAgICAlVVJJOyAgICAgICAgICAjSU1QTElFRAorICBjb2RlYmFzZSAgICAlVVJJOyAgICAgICAgICAjSU1QTElFRAorICBkYXRhICAgICAgICAlVVJJOyAgICAgICAgICAjSU1QTElFRAorICB0eXBlICAgICAgICAlQ29udGVudFR5cGU7ICAjSU1QTElFRAorICBjb2RldHlwZSAgICAlQ29udGVudFR5cGU7ICAjSU1QTElFRAorICBhcmNoaXZlICAgICAlVXJpTGlzdDsgICAgICAjSU1QTElFRAorICBzdGFuZGJ5ICAgICAlVGV4dDsgICAgICAgICAjSU1QTElFRAorICBoZWlnaHQgICAgICAlTGVuZ3RoOyAgICAgICAjSU1QTElFRAorICB3aWR0aCAgICAgICAlTGVuZ3RoOyAgICAgICAjSU1QTElFRAorICB1c2VtYXAgICAgICAlVVJJOyAgICAgICAgICAjSU1QTElFRAorICBuYW1lICAgICAgICBOTVRPS0VOICAgICAgICAjSU1QTElFRAorICB0YWJpbmRleCAgICAlTnVtYmVyOyAgICAgICAjSU1QTElFRAorICBhbGlnbiAgICAgICAlSW1nQWxpZ247ICAgICAjSU1QTElFRAorICBib3JkZXIgICAgICAlUGl4ZWxzOyAgICAgICAjSU1QTElFRAorICBoc3BhY2UgICAgICAlUGl4ZWxzOyAgICAgICAjSU1QTElFRAorICB2c3BhY2UgICAgICAlUGl4ZWxzOyAgICAgICAjSU1QTElFRAorICA+CisKKzwhLS0KKyAgcGFyYW0gaXMgdXNlZCB0byBzdXBwbHkgYSBuYW1lZCBwcm9wZXJ0eSB2YWx1ZS4KKyAgSW4gWE1MIGl0IHdvdWxkIHNlZW0gbmF0dXJhbCB0byBmb2xsb3cgUkRGIGFuZCBzdXBwb3J0IGFuCisgIGFiYnJldmlhdGVkIHN5bnRheCB3aGVyZSB0aGUgcGFyYW0gZWxlbWVudHMgYXJlIHJlcGxhY2VkCisgIGJ5IGF0dHJpYnV0ZSB2YWx1ZSBwYWlycyBvbiB0aGUgb2JqZWN0IHN0YXJ0IHRhZy4KKy0tPgorPCFFTEVNRU5UIHBhcmFtIEVNUFRZPgorPCFBVFRMSVNUIHBhcmFtCisgIGlkICAgICAgICAgIElEICAgICAgICAgICAgICNJTVBMSUVECisgIG5hbWUgICAgICAgIENEQVRBICAgICAgICAgICNSRVFVSVJFRAorICB2YWx1ZSAgICAgICBDREFUQSAgICAgICAgICAjSU1QTElFRAorICB2YWx1ZXR5cGUgICAoZGF0YXxyZWZ8b2JqZWN0KSAiZGF0YSIKKyAgdHlwZSAgICAgICAgJUNvbnRlbnRUeXBlOyAgI0lNUExJRUQKKyAgPgorCis8IS0tPT09PT09PT09PT09PT09PT09PSBKYXZhIGFwcGxldCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LS0+Cis8IS0tCisgIE9uZSBvZiBjb2RlIG9yIG9iamVjdCBhdHRyaWJ1dGVzIG11c3QgYmUgcHJlc2VudC4KKyAgUGxhY2UgcGFyYW0gZWxlbWVudHMgYmVmb3JlIG90aGVyIGNvbnRlbnQuCistLT4KKzwhRUxFTUVOVCBhcHBsZXQgKCNQQ0RBVEEgfCBwYXJhbSB8ICVibG9jazsgfCBmb3JtIHwgJWlubGluZTsgfCAlbWlzYzspKj4KKzwhQVRUTElTVCBhcHBsZXQKKyAgJWNvcmVhdHRyczsKKyAgY29kZWJhc2UgICAgJVVSSTsgICAgICAgICAgI0lNUExJRUQKKyAgYXJjaGl2ZSAgICAgQ0RBVEEgICAgICAgICAgI0lNUExJRUQKKyAgY29kZSAgICAgICAgQ0RBVEEgICAgICAgICAgI0lNUExJRUQKKyAgb2JqZWN0ICAgICAgQ0RBVEEgICAgICAgICAgI0lNUExJRUQKKyAgYWx0ICAgICAgICAgJVRleHQ7ICAgICAgICAgI0lNUExJRUQKKyAgbmFtZSAgICAgICAgTk1UT0tFTiAgICAgICAgI0lNUExJRUQKKyAgd2lkdGggICAgICAgJUxlbmd0aDsgICAgICAgI1JFUVVJUkVECisgIGhlaWdodCAgICAgICVMZW5ndGg7ICAgICAgICNSRVFVSVJFRAorICBhbGlnbiAgICAgICAlSW1nQWxpZ247ICAgICAjSU1QTElFRAorICBoc3BhY2UgICAgICAlUGl4ZWxzOyAgICAgICAjSU1QTElFRAorICB2c3BhY2UgICAgICAlUGl4ZWxzOyAgICAgICAjSU1QTElFRAorICA+CisKKzwhLS09PT09PT09PT09PT09PT09PT09IEltYWdlcyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LS0+CisKKzwhLS0KKyAgIFRvIGF2b2lkIGFjY2Vzc2liaWxpdHkgcHJvYmxlbXMgZm9yIHBlb3BsZSB3aG8gYXJlbid0CisgICBhYmxlIHRvIHNlZSB0aGUgaW1hZ2UsIHlvdSBzaG91bGQgcHJvdmlkZSBhIHRleHQKKyAgIGRlc2NyaXB0aW9uIHVzaW5nIHRoZSBhbHQgYW5kIGxvbmdkZXNjIGF0dHJpYnV0ZXMuCisgICBJbiBhZGRpdGlvbiwgYXZvaWQgdGhlIHVzZSBvZiBzZXJ2ZXItc2lkZSBpbWFnZSBtYXBzLgorLS0+CisKKzwhRUxFTUVOVCBpbWcgRU1QVFk+Cis8IUFUVExJU1QgaW1nCisgICVhdHRyczsKKyAgc3JjICAgICAgICAgJVVSSTsgICAgICAgICAgI1JFUVVJUkVECisgIGFsdCAgICAgICAgICVUZXh0OyAgICAgICAgICNSRVFVSVJFRAorICBuYW1lICAgICAgICBOTVRPS0VOICAgICAgICAjSU1QTElFRAorICBsb25nZGVzYyAgICAlVVJJOyAgICAgICAgICAjSU1QTElFRAorICBoZWlnaHQgICAgICAlTGVuZ3RoOyAgICAgICAjSU1QTElFRAorICB3aWR0aCAgICAgICAlTGVuZ3RoOyAgICAgICAjSU1QTElFRAorICB1c2VtYXAgICAgICAlVVJJOyAgICAgICAgICAjSU1QTElFRAorICBpc21hcCAgICAgICAoaXNtYXApICAgICAgICAjSU1QTElFRAorICBhbGlnbiAgICAgICAlSW1nQWxpZ247ICAgICAjSU1QTElFRAorICBib3JkZXIgICAgICAlTGVuZ3RoOyAgICAgICAjSU1QTElFRAorICBoc3BhY2UgICAgICAlUGl4ZWxzOyAgICAgICAjSU1QTElFRAorICB2c3BhY2UgICAgICAlUGl4ZWxzOyAgICAgICAjSU1QTElFRAorICA+CisKKzwhLS0gdXNlbWFwIHBvaW50cyB0byBhIG1hcCBlbGVtZW50IHdoaWNoIG1heSBiZSBpbiB0aGlzIGRvY3VtZW50CisgIG9yIGFuIGV4dGVybmFsIGRvY3VtZW50LCBhbHRob3VnaCB0aGUgbGF0dGVyIGlzIG5vdCB3aWRlbHkgc3VwcG9ydGVkIC0tPgorCis8IS0tPT09PT09PT09PT09PT09PT09IENsaWVudC1zaWRlIGltYWdlIG1hcHMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PS0tPgorCis8IS0tIFRoZXNlIGNhbiBiZSBwbGFjZWQgaW4gdGhlIHNhbWUgZG9jdW1lbnQgb3IgZ3JvdXBlZCBpbiBhCisgICAgIHNlcGFyYXRlIGRvY3VtZW50IGFsdGhvdWdoIHRoaXMgaXNuJ3QgeWV0IHdpZGVseSBzdXBwb3J0ZWQgLS0+CisKKzwhRUxFTUVOVCBtYXAgKCglYmxvY2s7IHwgZm9ybSB8ICVtaXNjOykrIHwgYXJlYSspPgorPCFBVFRMSVNUIG1hcAorICAlaTE4bjsKKyAgJWV2ZW50czsKKyAgaWQgICAgICAgICAgSUQgICAgICAgICAgICAgI1JFUVVJUkVECisgIGNsYXNzICAgICAgIENEQVRBICAgICAgICAgICNJTVBMSUVECisgIHN0eWxlICAgICAgICVTdHlsZVNoZWV0OyAgICNJTVBMSUVECisgIHRpdGxlICAgICAgICVUZXh0OyAgICAgICAgICNJTVBMSUVECisgIG5hbWUgICAgICAgIENEQVRBICAgICAgICAgICNJTVBMSUVECisgID4KKworPCFFTEVNRU5UIGFyZWEgRU1QVFk+Cis8IUFUVExJU1QgYXJlYQorICAlYXR0cnM7CisgIHNoYXBlICAgICAgICVTaGFwZTsgICAgICAgICJyZWN0IgorICBjb29yZHMgICAgICAlQ29vcmRzOyAgICAgICAjSU1QTElFRAorICBocmVmICAgICAgICAlVVJJOyAgICAgICAgICAjSU1QTElFRAorICBub2hyZWYgICAgICAobm9ocmVmKSAgICAgICAjSU1QTElFRAorICBhbHQgICAgICAgICAlVGV4dDsgICAgICAgICAjUkVRVUlSRUQKKyAgdGFiaW5kZXggICAgJU51bWJlcjsgICAgICAgI0lNUExJRUQKKyAgYWNjZXNza2V5ICAgJUNoYXJhY3RlcjsgICAgI0lNUExJRUQKKyAgb25mb2N1cyAgICAgJVNjcmlwdDsgICAgICAgI0lNUExJRUQKKyAgb25ibHVyICAgICAgJVNjcmlwdDsgICAgICAgI0lNUExJRUQKKyAgdGFyZ2V0ICAgICAgJUZyYW1lVGFyZ2V0OyAgI0lNUExJRUQKKyAgPgorCis8IS0tPT09PT09PT09PT09PT09PSBGb3JtcyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0tPgorCis8IUVMRU1FTlQgZm9ybSAlZm9ybS5jb250ZW50Oz4gICA8IS0tIGZvcm1zIHNob3VsZG4ndCBiZSBuZXN0ZWQgLS0+CisKKzwhQVRUTElTVCBmb3JtCisgICVhdHRyczsKKyAgYWN0aW9uICAgICAgJVVSSTsgICAgICAgICAgI1JFUVVJUkVECisgIG1ldGhvZCAgICAgIChnZXR8cG9zdCkgICAgICJnZXQiCisgIG5hbWUgICAgICAgIE5NVE9LRU4gICAgICAgICNJTVBMSUVECisgIGVuY3R5cGUgICAgICVDb250ZW50VHlwZTsgICJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiCisgIG9uc3VibWl0ICAgICVTY3JpcHQ7ICAgICAgICNJTVBMSUVECisgIG9ucmVzZXQgICAgICVTY3JpcHQ7ICAgICAgICNJTVBMSUVECisgIGFjY2VwdCAgICAgICVDb250ZW50VHlwZXM7ICNJTVBMSUVECisgIGFjY2VwdC1jaGFyc2V0ICVDaGFyc2V0czsgICNJTVBMSUVECisgIHRhcmdldCAgICAgICVGcmFtZVRhcmdldDsgICNJTVBMSUVECisgID4KKworPCEtLQorICBFYWNoIGxhYmVsIG11c3Qgbm90IGNvbnRhaW4gbW9yZSB0aGFuIE9ORSBmaWVsZAorICBMYWJlbCBlbGVtZW50cyBzaG91bGRuJ3QgYmUgbmVzdGVkLgorLS0+Cis8IUVMRU1FTlQgbGFiZWwgJUlubGluZTs+Cis8IUFUVExJU1QgbGFiZWwKKyAgJWF0dHJzOworICBmb3IgICAgICAgICBJRFJFRiAgICAgICAgICAjSU1QTElFRAorICBhY2Nlc3NrZXkgICAlQ2hhcmFjdGVyOyAgICAjSU1QTElFRAorICBvbmZvY3VzICAgICAlU2NyaXB0OyAgICAgICAjSU1QTElFRAorICBvbmJsdXIgICAgICAlU2NyaXB0OyAgICAgICAjSU1QTElFRAorICA+CisKKzwhRU5USVRZICUgSW5wdXRUeXBlCisgICIodGV4dCB8IHBhc3N3b3JkIHwgY2hlY2tib3ggfAorICAgIHJhZGlvIHwgc3VibWl0IHwgcmVzZXQgfAorICAgIGZpbGUgfCBoaWRkZW4gfCBpbWFnZSB8IGJ1dHRvbikiCisgICA+CisKKzwhLS0gdGhlIG5hbWUgYXR0cmlidXRlIGlzIHJlcXVpcmVkIGZvciBhbGwgYnV0IHN1Ym1pdCAmIHJlc2V0IC0tPgorCis8IUVMRU1FTlQgaW5wdXQgRU1QVFk+ICAgICA8IS0tIGZvcm0gY29udHJvbCAtLT4KKzwhQVRUTElTVCBpbnB1dAorICAlYXR0cnM7CisgIHR5cGUgICAgICAgICVJbnB1dFR5cGU7ICAgICJ0ZXh0IgorICBuYW1lICAgICAgICBDREFUQSAgICAgICAgICAjSU1QTElFRAorICB2YWx1ZSAgICAgICBDREFUQSAgICAgICAgICAjSU1QTElFRAorICBjaGVja2VkICAgICAoY2hlY2tlZCkgICAgICAjSU1QTElFRAorICBkaXNhYmxlZCAgICAoZGlzYWJsZWQpICAgICAjSU1QTElFRAorICByZWFkb25seSAgICAocmVhZG9ubHkpICAgICAjSU1QTElFRAorICBzaXplICAgICAgICBDREFUQSAgICAgICAgICAjSU1QTElFRAorICBtYXhsZW5ndGggICAlTnVtYmVyOyAgICAgICAjSU1QTElFRAorICBzcmMgICAgICAgICAlVVJJOyAgICAgICAgICAjSU1QTElFRAorICBhbHQgICAgICAgICBDREFUQSAgICAgICAgICAjSU1QTElFRAorICB1c2VtYXAgICAgICAlVVJJOyAgICAgICAgICAjSU1QTElFRAorICB0YWJpbmRleCAgICAlTnVtYmVyOyAgICAgICAjSU1QTElFRAorICBhY2Nlc3NrZXkgICAlQ2hhcmFjdGVyOyAgICAjSU1QTElFRAorICBvbmZvY3VzICAgICAlU2NyaXB0OyAgICAgICAjSU1QTElFRAorICBvbmJsdXIgICAgICAlU2NyaXB0OyAgICAgICAjSU1QTElFRAorICBvbnNlbGVjdCAgICAlU2NyaXB0OyAgICAgICAjSU1QTElFRAorICBvbmNoYW5nZSAgICAlU2NyaXB0OyAgICAgICAjSU1QTElFRAorICBhY2NlcHQgICAgICAlQ29udGVudFR5cGVzOyAjSU1QTElFRAorICBhbGlnbiAgICAgICAlSW1nQWxpZ247ICAgICAjSU1QTElFRAorICA+CisKKzwhRUxFTUVOVCBzZWxlY3QgKG9wdGdyb3VwfG9wdGlvbikrPiAgPCEtLSBvcHRpb24gc2VsZWN0b3IgLS0+Cis8IUFUVExJU1Qgc2VsZWN0CisgICVhdHRyczsKKyAgbmFtZSAgICAgICAgQ0RBVEEgICAgICAgICAgI0lNUExJRUQKKyAgc2l6ZSAgICAgICAgJU51bWJlcjsgICAgICAgI0lNUExJRUQKKyAgbXVsdGlwbGUgICAgKG11bHRpcGxlKSAgICAgI0lNUExJRUQKKyAgZGlzYWJsZWQgICAgKGRpc2FibGVkKSAgICAgI0lNUExJRUQKKyAgdGFiaW5kZXggICAgJU51bWJlcjsgICAgICAgI0lNUExJRUQKKyAgb25mb2N1cyAgICAgJVNjcmlwdDsgICAgICAgI0lNUExJRUQKKyAgb25ibHVyICAgICAgJVNjcmlwdDsgICAgICAgI0lNUExJRUQKKyAgb25jaGFuZ2UgICAgJVNjcmlwdDsgICAgICAgI0lNUExJRUQKKyAgPgorCis8IUVMRU1FTlQgb3B0Z3JvdXAgKG9wdGlvbikrPiAgIDwhLS0gb3B0aW9uIGdyb3VwIC0tPgorPCFBVFRMSVNUIG9wdGdyb3VwCisgICVhdHRyczsKKyAgZGlzYWJsZWQgICAgKGRpc2FibGVkKSAgICAgI0lNUExJRUQKKyAgbGFiZWwgICAgICAgJVRleHQ7ICAgICAgICAgI1JFUVVJUkVECisgID4KKworPCFFTEVNRU5UIG9wdGlvbiAoI1BDREFUQSk+ICAgICA8IS0tIHNlbGVjdGFibGUgY2hvaWNlIC0tPgorPCFBVFRMSVNUIG9wdGlvbgorICAlYXR0cnM7CisgIHNlbGVjdGVkICAgIChzZWxlY3RlZCkgICAgICNJTVBMSUVECisgIGRpc2FibGVkICAgIChkaXNhYmxlZCkgICAgICNJTVBMSUVECisgIGxhYmVsICAgICAgICVUZXh0OyAgICAgICAgICNJTVBMSUVECisgIHZhbHVlICAgICAgIENEQVRBICAgICAgICAgICNJTVBMSUVECisgID4KKworPCFFTEVNRU5UIHRleHRhcmVhICgjUENEQVRBKT4gICAgIDwhLS0gbXVsdGktbGluZSB0ZXh0IGZpZWxkIC0tPgorPCFBVFRMSVNUIHRleHRhcmVhCisgICVhdHRyczsKKyAgbmFtZSAgICAgICAgQ0RBVEEgICAgICAgICAgI0lNUExJRUQKKyAgcm93cyAgICAgICAgJU51bWJlcjsgICAgICAgI1JFUVVJUkVECisgIGNvbHMgICAgICAgICVOdW1iZXI7ICAgICAgICNSRVFVSVJFRAorICBkaXNhYmxlZCAgICAoZGlzYWJsZWQpICAgICAjSU1QTElFRAorICByZWFkb25seSAgICAocmVhZG9ubHkpICAgICAjSU1QTElFRAorICB0YWJpbmRleCAgICAlTnVtYmVyOyAgICAgICAjSU1QTElFRAorICBhY2Nlc3NrZXkgICAlQ2hhcmFjdGVyOyAgICAjSU1QTElFRAorICBvbmZvY3VzICAgICAlU2NyaXB0OyAgICAgICAjSU1QTElFRAorICBvbmJsdXIgICAgICAlU2NyaXB0OyAgICAgICAjSU1QTElFRAorICBvbnNlbGVjdCAgICAlU2NyaXB0OyAgICAgICAjSU1QTElFRAorICBvbmNoYW5nZSAgICAlU2NyaXB0OyAgICAgICAjSU1QTElFRAorICA+CisKKzwhLS0KKyAgVGhlIGZpZWxkc2V0IGVsZW1lbnQgaXMgdXNlZCB0byBncm91cCBmb3JtIGZpZWxkcy4KKyAgT25seSBvbmUgbGVnZW5kIGVsZW1lbnQgc2hvdWxkIG9jY3VyIGluIHRoZSBjb250ZW50CisgIGFuZCBpZiBwcmVzZW50IHNob3VsZCBvbmx5IGJlIHByZWNlZGVkIGJ5IHdoaXRlc3BhY2UuCistLT4KKzwhRUxFTUVOVCBmaWVsZHNldCAoI1BDREFUQSB8IGxlZ2VuZCB8ICVibG9jazsgfCBmb3JtIHwgJWlubGluZTsgfCAlbWlzYzspKj4KKzwhQVRUTElTVCBmaWVsZHNldAorICAlYXR0cnM7CisgID4KKworPCFFTlRJVFkgJSBMQWxpZ24gIih0b3B8Ym90dG9tfGxlZnR8cmlnaHQpIj4KKworPCFFTEVNRU5UIGxlZ2VuZCAlSW5saW5lOz4gICAgIDwhLS0gZmllbGRzZXQgbGFiZWwgLS0+Cis8IUFUVExJU1QgbGVnZW5kCisgICVhdHRyczsKKyAgYWNjZXNza2V5ICAgJUNoYXJhY3RlcjsgICAgI0lNUExJRUQKKyAgYWxpZ24gICAgICAgJUxBbGlnbjsgICAgICAgI0lNUExJRUQKKyAgPgorCis8IS0tCisgQ29udGVudCBpcyAlRmxvdzsgZXhjbHVkaW5nIGEsIGZvcm0sIGZvcm0gY29udHJvbHMsIGlmcmFtZQorLS0+IAorPCFFTEVNRU5UIGJ1dHRvbiAlYnV0dG9uLmNvbnRlbnQ7PiAgPCEtLSBwdXNoIGJ1dHRvbiAtLT4KKzwhQVRUTElTVCBidXR0b24KKyAgJWF0dHJzOworICBuYW1lICAgICAgICBDREFUQSAgICAgICAgICAjSU1QTElFRAorICB2YWx1ZSAgICAgICBDREFUQSAgICAgICAgICAjSU1QTElFRAorICB0eXBlICAgICAgICAoYnV0dG9ufHN1Ym1pdHxyZXNldCkgInN1Ym1pdCIKKyAgZGlzYWJsZWQgICAgKGRpc2FibGVkKSAgICAgI0lNUExJRUQKKyAgdGFiaW5kZXggICAgJU51bWJlcjsgICAgICAgI0lNUExJRUQKKyAgYWNjZXNza2V5ICAgJUNoYXJhY3RlcjsgICAgI0lNUExJRUQKKyAgb25mb2N1cyAgICAgJVNjcmlwdDsgICAgICAgI0lNUExJRUQKKyAgb25ibHVyICAgICAgJVNjcmlwdDsgICAgICAgI0lNUExJRUQKKyAgPgorCis8IS0tIHNpbmdsZS1saW5lIHRleHQgaW5wdXQgY29udHJvbCAoREVQUkVDQVRFRCkgLS0+Cis8IUVMRU1FTlQgaXNpbmRleCBFTVBUWT4KKzwhQVRUTElTVCBpc2luZGV4CisgICVjb3JlYXR0cnM7CisgICVpMThuOworICBwcm9tcHQgICAgICAlVGV4dDsgICAgICAgICAjSU1QTElFRAorICA+CisKKzwhLS09PT09PT09PT09PT09PT09PT09PT09PSBUYWJsZXMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09LS0+CisKKzwhLS0gRGVyaXZlZCBmcm9tIElFVEYgSFRNTCB0YWJsZSBzdGFuZGFyZCwgc2VlIFtSRkMxOTQyXSAtLT4KKworPCEtLQorIFRoZSBib3JkZXIgYXR0cmlidXRlIHNldHMgdGhlIHRoaWNrbmVzcyBvZiB0aGUgZnJhbWUgYXJvdW5kIHRoZQorIHRhYmxlLiBUaGUgZGVmYXVsdCB1bml0cyBhcmUgc2NyZWVuIHBpeGVscy4KKworIFRoZSBmcmFtZSBhdHRyaWJ1dGUgc3BlY2lmaWVzIHdoaWNoIHBhcnRzIG9mIHRoZSBmcmFtZSBhcm91bmQKKyB0aGUgdGFibGUgc2hvdWxkIGJlIHJlbmRlcmVkLiBUaGUgdmFsdWVzIGFyZSBub3QgdGhlIHNhbWUgYXMKKyBDQUxTIHRvIGF2b2lkIGEgbmFtZSBjbGFzaCB3aXRoIHRoZSB2YWxpZ24gYXR0cmlidXRlLgorLS0+Cis8IUVOVElUWSAlIFRGcmFtZSAiKHZvaWR8YWJvdmV8YmVsb3d8aHNpZGVzfGxoc3xyaHN8dnNpZGVzfGJveHxib3JkZXIpIj4KKworPCEtLQorIFRoZSBydWxlcyBhdHRyaWJ1dGUgZGVmaW5lcyB3aGljaCBydWxlcyB0byBkcmF3IGJldHdlZW4gY2VsbHM6CisKKyBJZiBydWxlcyBpcyBhYnNlbnQgdGhlbiBhc3N1bWU6CisgICAgICJub25lIiBpZiBib3JkZXIgaXMgYWJzZW50IG9yIGJvcmRlcj0iMCIgb3RoZXJ3aXNlICJhbGwiCistLT4KKworPCFFTlRJVFkgJSBUUnVsZXMgIihub25lIHwgZ3JvdXBzIHwgcm93cyB8IGNvbHMgfCBhbGwpIj4KKyAgCis8IS0tIGhvcml6b250YWwgcGxhY2VtZW50IG9mIHRhYmxlIHJlbGF0aXZlIHRvIGRvY3VtZW50IC0tPgorPCFFTlRJVFkgJSBUQWxpZ24gIihsZWZ0fGNlbnRlcnxyaWdodCkiPgorCis8IS0tIGhvcml6b250YWwgYWxpZ25tZW50IGF0dHJpYnV0ZXMgZm9yIGNlbGwgY29udGVudHMKKworICBjaGFyICAgICAgICBhbGlnbm1lbnQgY2hhciwgZS5nLiBjaGFyPSc6JworICBjaGFyb2ZmICAgICBvZmZzZXQgZm9yIGFsaWdubWVudCBjaGFyCistLT4KKzwhRU5USVRZICUgY2VsbGhhbGlnbgorICAiYWxpZ24gICAgICAobGVmdHxjZW50ZXJ8cmlnaHR8anVzdGlmeXxjaGFyKSAjSU1QTElFRAorICAgY2hhciAgICAgICAlQ2hhcmFjdGVyOyAgICAjSU1QTElFRAorICAgY2hhcm9mZiAgICAlTGVuZ3RoOyAgICAgICAjSU1QTElFRCIKKyAgPgorCis8IS0tIHZlcnRpY2FsIGFsaWdubWVudCBhdHRyaWJ1dGVzIGZvciBjZWxsIGNvbnRlbnRzIC0tPgorPCFFTlRJVFkgJSBjZWxsdmFsaWduCisgICJ2YWxpZ24gICAgICh0b3B8bWlkZGxlfGJvdHRvbXxiYXNlbGluZSkgI0lNUExJRUQiCisgID4KKworPCFFTEVNRU5UIHRhYmxlCisgICAgIChjYXB0aW9uPywgKGNvbCp8Y29sZ3JvdXAqKSwgdGhlYWQ/LCB0Zm9vdD8sICh0Ym9keSt8dHIrKSk+Cis8IUVMRU1FTlQgY2FwdGlvbiAgJUlubGluZTs+Cis8IUVMRU1FTlQgdGhlYWQgICAgKHRyKSs+Cis8IUVMRU1FTlQgdGZvb3QgICAgKHRyKSs+Cis8IUVMRU1FTlQgdGJvZHkgICAgKHRyKSs+Cis8IUVMRU1FTlQgY29sZ3JvdXAgKGNvbCkqPgorPCFFTEVNRU5UIGNvbCAgICAgIEVNUFRZPgorPCFFTEVNRU5UIHRyICAgICAgICh0aHx0ZCkrPgorPCFFTEVNRU5UIHRoICAgICAgICVGbG93Oz4KKzwhRUxFTUVOVCB0ZCAgICAgICAlRmxvdzs+CisKKzwhQVRUTElTVCB0YWJsZQorICAlYXR0cnM7CisgIHN1bW1hcnkgICAgICVUZXh0OyAgICAgICAgICNJTVBMSUVECisgIHdpZHRoICAgICAgICVMZW5ndGg7ICAgICAgICNJTVBMSUVECisgIGJvcmRlciAgICAgICVQaXhlbHM7ICAgICAgICNJTVBMSUVECisgIGZyYW1lICAgICAgICVURnJhbWU7ICAgICAgICNJTVBMSUVECisgIHJ1bGVzICAgICAgICVUUnVsZXM7ICAgICAgICNJTVBMSUVECisgIGNlbGxzcGFjaW5nICVMZW5ndGg7ICAgICAgICNJTVBMSUVECisgIGNlbGxwYWRkaW5nICVMZW5ndGg7ICAgICAgICNJTVBMSUVECisgIGFsaWduICAgICAgICVUQWxpZ247ICAgICAgICNJTVBMSUVECisgIGJnY29sb3IgICAgICVDb2xvcjsgICAgICAgICNJTVBMSUVECisgID4KKworPCFFTlRJVFkgJSBDQWxpZ24gIih0b3B8Ym90dG9tfGxlZnR8cmlnaHQpIj4KKworPCFBVFRMSVNUIGNhcHRpb24KKyAgJWF0dHJzOworICBhbGlnbiAgICAgICAlQ0FsaWduOyAgICAgICAjSU1QTElFRAorICA+CisKKzwhLS0KK2NvbGdyb3VwIGdyb3VwcyBhIHNldCBvZiBjb2wgZWxlbWVudHMuIEl0IGFsbG93cyB5b3UgdG8gZ3JvdXAKK3NldmVyYWwgc2VtYW50aWNhbGx5IHJlbGF0ZWQgY29sdW1ucyB0b2dldGhlci4KKy0tPgorPCFBVFRMSVNUIGNvbGdyb3VwCisgICVhdHRyczsKKyAgc3BhbiAgICAgICAgJU51bWJlcjsgICAgICAgIjEiCisgIHdpZHRoICAgICAgICVNdWx0aUxlbmd0aDsgICNJTVBMSUVECisgICVjZWxsaGFsaWduOworICAlY2VsbHZhbGlnbjsKKyAgPgorCis8IS0tCisgY29sIGVsZW1lbnRzIGRlZmluZSB0aGUgYWxpZ25tZW50IHByb3BlcnRpZXMgZm9yIGNlbGxzIGluCisgb25lIG9yIG1vcmUgY29sdW1ucy4KKworIFRoZSB3aWR0aCBhdHRyaWJ1dGUgc3BlY2lmaWVzIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1ucywgZS5nLgorCisgICAgIHdpZHRoPTY0ICAgICAgICB3aWR0aCBpbiBzY3JlZW4gcGl4ZWxzCisgICAgIHdpZHRoPTAuNSogICAgICByZWxhdGl2ZSB3aWR0aCBvZiAwLjUKKworIFRoZSBzcGFuIGF0dHJpYnV0ZSBjYXVzZXMgdGhlIGF0dHJpYnV0ZXMgb2Ygb25lCisgY29sIGVsZW1lbnQgdG8gYXBwbHkgdG8gbW9yZSB0aGFuIG9uZSBjb2x1bW4uCistLT4KKzwhQVRUTElTVCBjb2wKKyAgJWF0dHJzOworICBzcGFuICAgICAgICAlTnVtYmVyOyAgICAgICAiMSIKKyAgd2lkdGggICAgICAgJU11bHRpTGVuZ3RoOyAgI0lNUExJRUQKKyAgJWNlbGxoYWxpZ247CisgICVjZWxsdmFsaWduOworICA+CisKKzwhLS0KKyAgICBVc2UgdGhlYWQgdG8gZHVwbGljYXRlIGhlYWRlcnMgd2hlbiBicmVha2luZyB0YWJsZQorICAgIGFjcm9zcyBwYWdlIGJvdW5kYXJpZXMsIG9yIGZvciBzdGF0aWMgaGVhZGVycyB3aGVuCisgICAgdGJvZHkgc2VjdGlvbnMgYXJlIHJlbmRlcmVkIGluIHNjcm9sbGluZyBwYW5lbC4KKworICAgIFVzZSB0Zm9vdCB0byBkdXBsaWNhdGUgZm9vdGVycyB3aGVuIGJyZWFraW5nIHRhYmxlCisgICAgYWNyb3NzIHBhZ2UgYm91bmRhcmllcywgb3IgZm9yIHN0YXRpYyBmb290ZXJzIHdoZW4KKyAgICB0Ym9keSBzZWN0aW9ucyBhcmUgcmVuZGVyZWQgaW4gc2Nyb2xsaW5nIHBhbmVsLgorCisgICAgVXNlIG11bHRpcGxlIHRib2R5IHNlY3Rpb25zIHdoZW4gcnVsZXMgYXJlIG5lZWRlZAorICAgIGJldHdlZW4gZ3JvdXBzIG9mIHRhYmxlIHJvd3MuCistLT4KKzwhQVRUTElTVCB0aGVhZAorICAlYXR0cnM7CisgICVjZWxsaGFsaWduOworICAlY2VsbHZhbGlnbjsKKyAgPgorCis8IUFUVExJU1QgdGZvb3QKKyAgJWF0dHJzOworICAlY2VsbGhhbGlnbjsKKyAgJWNlbGx2YWxpZ247CisgID4KKworPCFBVFRMSVNUIHRib2R5CisgICVhdHRyczsKKyAgJWNlbGxoYWxpZ247CisgICVjZWxsdmFsaWduOworICA+CisKKzwhQVRUTElTVCB0cgorICAlYXR0cnM7CisgICVjZWxsaGFsaWduOworICAlY2VsbHZhbGlnbjsKKyAgYmdjb2xvciAgICAgJUNvbG9yOyAgICAgICAgI0lNUExJRUQKKyAgPgorCis8IS0tIFNjb3BlIGlzIHNpbXBsZXIgdGhhbiBoZWFkZXJzIGF0dHJpYnV0ZSBmb3IgY29tbW9uIHRhYmxlcyAtLT4KKzwhRU5USVRZICUgU2NvcGUgIihyb3d8Y29sfHJvd2dyb3VwfGNvbGdyb3VwKSI+CisKKzwhLS0gdGggaXMgZm9yIGhlYWRlcnMsIHRkIGZvciBkYXRhIGFuZCBmb3IgY2VsbHMgYWN0aW5nIGFzIGJvdGggLS0+CisKKzwhQVRUTElTVCB0aAorICAlYXR0cnM7CisgIGFiYnIgICAgICAgICVUZXh0OyAgICAgICAgICNJTVBMSUVECisgIGF4aXMgICAgICAgIENEQVRBICAgICAgICAgICNJTVBMSUVECisgIGhlYWRlcnMgICAgIElEUkVGUyAgICAgICAgICNJTVBMSUVECisgIHNjb3BlICAgICAgICVTY29wZTsgICAgICAgICNJTVBMSUVECisgIHJvd3NwYW4gICAgICVOdW1iZXI7ICAgICAgICIxIgorICBjb2xzcGFuICAgICAlTnVtYmVyOyAgICAgICAiMSIKKyAgJWNlbGxoYWxpZ247CisgICVjZWxsdmFsaWduOworICBub3dyYXAgICAgICAobm93cmFwKSAgICAgICAjSU1QTElFRAorICBiZ2NvbG9yICAgICAlQ29sb3I7ICAgICAgICAjSU1QTElFRAorICB3aWR0aCAgICAgICAlUGl4ZWxzOyAgICAgICAjSU1QTElFRAorICBoZWlnaHQgICAgICAlUGl4ZWxzOyAgICAgICAjSU1QTElFRAorICA+CisKKzwhQVRUTElTVCB0ZAorICAlYXR0cnM7CisgIGFiYnIgICAgICAgICVUZXh0OyAgICAgICAgICNJTVBMSUVECisgIGF4aXMgICAgICAgIENEQVRBICAgICAgICAgICNJTVBMSUVECisgIGhlYWRlcnMgICAgIElEUkVGUyAgICAgICAgICNJTVBMSUVECisgIHNjb3BlICAgICAgICVTY29wZTsgICAgICAgICNJTVBMSUVECisgIHJvd3NwYW4gICAgICVOdW1iZXI7ICAgICAgICIxIgorICBjb2xzcGFuICAgICAlTnVtYmVyOyAgICAgICAiMSIKKyAgJWNlbGxoYWxpZ247CisgICVjZWxsdmFsaWduOworICBub3dyYXAgICAgICAobm93cmFwKSAgICAgICAjSU1QTElFRAorICBiZ2NvbG9yICAgICAlQ29sb3I7ICAgICAgICAjSU1QTElFRAorICB3aWR0aCAgICAgICAlUGl4ZWxzOyAgICAgICAjSU1QTElFRAorICBoZWlnaHQgICAgICAlUGl4ZWxzOyAgICAgICAjSU1QTElFRAorICA+CisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC92YWxpZC9kdGRzL3hodG1sMS5kY2wgYi9saWJ4bWwyL3Rlc3QvdmFsaWQvZHRkcy94aHRtbDEuZGNsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZlZDIxMDMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvdmFsaWQvZHRkcy94aHRtbDEuZGNsCkBAIC0wLDAgKzEsMTc5IEBACis8IVNHTUwgLS0gU0dNTCBEZWNsYXJhdGlvbiBmb3IgdmFsaWQgWE1MIGRvY3VtZW50cyAtLQorICAgICAiSVNPIDg4Nzk6MTk4NiAoV1dXKSIKKworICAgICBDSEFSU0VUCisgICAgICAgICBCQVNFU0VUCisgICAgICAgICAgICAgIklTTyBSZWdpc3RyYXRpb24gTnVtYmVyIDE3Ni8vQ0hBUlNFVAorICAgICAgICAgICAgIElTTy9JRUMgMTA2NDYtMToxOTkzIFVDUy00IHdpdGggaW1wbGVtZW50YXRpb24gCisgICAgICAgICAgICAgbGV2ZWwgMy8vRVNDIDIvNSAyLzE1IDQvNiIKKyAgICAgICAgIERFU0NTRVQKKyAgICAgICAgICAgICAgICAwICAgICAgIDkgICAgICAgVU5VU0VECisgICAgICAgICAgICAgICAgOSAgICAgICAyICAgICAgIDkKKyAgICAgICAgICAgICAgICAxMSAgICAgIDIgICAgICAgVU5VU0VECisgICAgICAgICAgICAgICAgMTMgICAgICAxICAgICAgIDEzCisgICAgICAgICAgICAgICAgMTQgICAgICAxOCAgICAgIFVOVVNFRAorICAgICAgICAgICAgICAgIDMyICAgICAgOTUgICAgICAzMgorICAgICAgICAgICAgICAgIDEyNyAgICAgMSAgICAgICBVTlVTRUQKKyAgICAgICAgICAgICAgICAxMjggICAgIDMyICAgICAgVU5VU0VECisgICAgICAgICAgICAgLS0gdXNlIHRoaXMgaW5zdGVhZCBvZiB0aGUgb2ZmaWNpYWwgZGVjbGFyYXRpb24gYmVjYXVzZSBTUCBvbmx5CisgICAgICAgICAgICAgICAgc3VwcG9ydHMgMTYtYml0IGNoYXJhY3RlcnMgLS0KKyAgICAgICAgICAgICAgICAxNjAgICAgIDY1Mzc0ICAgMTYwCisgICAgICAgICAgICAgICAgNjU1MzQgICAyICAgICAgIFVOVVNFRCAKKyAgICAgICAgICAgICAtLSA1NTI5NiAgIDIwNDggICAgVU5VU0VECisgICAgICAgICAgICAgICAgNTczNDQgICA4MTkwICAgIDU3MzQ0CisgICAgICAgICAgICAgICAgNjU1MzQgICAyICAgICAgIFVOVVNFRAorICAgICAgICAgICAgICAgIDY1NTM2ICAgMTA0ODU3NiA2NTUzNiAtLQorICAgICBDQVBBQ0lUWSBOT05FCisKKyAgICAgU0NPUEUgRE9DVU1FTlQKKworICAgICBTWU5UQVgKKyAgICAgICAgIFNIVU5DSEFSIE5PTkUKKyAgICAgICAgIEJBU0VTRVQgIklTTyBSZWdpc3RyYXRpb24gTnVtYmVyIDE3Ni8vQ0hBUlNFVAorICAgICAgICAgICAgICAgICBJU08vSUVDIDEwNjQ2LTE6MTk5MyBVQ1MtNCB3aXRoIGltcGxlbWVudGF0aW9uIAorICAgICAgICAgICAgICAgICBsZXZlbCAzLy9FU0MgMi81IDIvMTUgNC82IgorICAgICAgICAgREVTQ1NFVAorICAgICAgICAgICAgIDAgMTExNDExMiAwCisgICAgICAgICBGVU5DVElPTgorICAgICAgICAgICAgIFJFICAgIDEzCisgICAgICAgICAgICAgUlMgICAgMTAKKyAgICAgICAgICAgICBTUEFDRSAzMgorICAgICAgICAgICAgIFRBQiAgIFNFUENIQVIgOQorCisgICAgICAgICBOQU1JTkcKKyAgICAgICAgICAgICBMQ05NU1RSVCAiIgorICAgICAgICAgICAgIFVDTk1TVFJUICIiCisgICAgICAgICAgICAgTkFNRVNUUlQKKyAgICAgICAgICAgICAgICAgNTggOTUgMTkyLTIxNCAyMTYtMjQ2IDI0OC0zMDUgMzA4LTMxOCAzMjEtMzI4CisgICAgICAgICAgICAgICAgIDMzMC0zODIgMzg0LTQ1MSA0NjEtNDk2IDUwMC01MDEgNTA2LTUzNSA1OTItNjgwCisgICAgICAgICAgICAgICAgIDY5OS03MDUgOTAyIDkwNC05MDYgOTA4IDkxMC05MjkgOTMxLTk3NCA5NzYtOTgyCisgICAgICAgICAgICAgICAgIDk4NiA5ODggOTkwIDk5MiA5OTQtMTAxMSAxMDI1LTEwMzYgMTAzOC0xMTAzCisgICAgICAgICAgICAgICAgIDExMDUtMTExNiAxMTE4LTExNTMgMTE2OC0xMjIwIDEyMjMtMTIyNAorICAgICAgICAgICAgICAgICAxMjI3LTEyMjggMTIzMi0xMjU5IDEyNjItMTI2OSAxMjcyLTEyNzMKKyAgICAgICAgICAgICAgICAgMTMyOS0xMzY2IDEzNjkgMTM3Ny0xNDE0IDE0ODgtMTUxNCAxNTIwLTE1MjIKKyAgICAgICAgICAgICAgICAgMTU2OS0xNTk0IDE2MDEtMTYxMCAxNjQ5LTE3MTkgMTcyMi0xNzI2CisgICAgICAgICAgICAgICAgIDE3MjgtMTc0MiAxNzQ0LTE3NDcgMTc0OSAxNzY1LTE3NjYgMjMwOS0yMzYxCisgICAgICAgICAgICAgICAgIDIzNjUgMjM5Mi0yNDAxIDI0MzctMjQ0NCAyNDQ3LTI0NDggMjQ1MS0yNDcyCisgICAgICAgICAgICAgICAgIDI0NzQtMjQ4MCAyNDgyIDI0ODYtMjQ4OSAyNTI0LTI1MjUgMjUyNy0yNTI5CisgICAgICAgICAgICAgICAgIDI1NDQtMjU0NSAyNTY1LTI1NzAgMjU3NS0yNTc2IDI1NzktMjYwMAorICAgICAgICAgICAgICAgICAyNjAyLTI2MDggMjYxMC0yNjExIDI2MTMtMjYxNCAyNjE2LTI2MTcKKyAgICAgICAgICAgICAgICAgMjY0OS0yNjUyIDI2NTQgMjY3NC0yNjc2IDI2OTMtMjY5OSAyNzAxCisgICAgICAgICAgICAgICAgIDI3MDMtMjcwNSAyNzA3LTI3MjggMjczMC0yNzM2IDI3MzgtMjczOQorICAgICAgICAgICAgICAgICAyNzQxLTI3NDUgMjc0OSAyNzg0IDI4MjEtMjgyOCAyODMxLTI4MzIKKyAgICAgICAgICAgICAgICAgMjgzNS0yODU2IDI4NTgtMjg2NCAyODY2LTI4NjcgMjg3MC0yODczIDI4NzcKKyAgICAgICAgICAgICAgICAgMjkwOC0yOTA5IDI5MTEtMjkxMyAyOTQ5LTI5NTQgMjk1OC0yOTYwCisgICAgICAgICAgICAgICAgIDI5NjItMjk2NSAyOTY5LTI5NzAgMjk3MiAyOTc0LTI5NzUgMjk3OS0yOTgwCisgICAgICAgICAgICAgICAgIDI5ODQtMjk4NiAyOTkwLTI5OTcgMjk5OS0zMDAxIDMwNzctMzA4NAorICAgICAgICAgICAgICAgICAzMDg2LTMwODggMzA5MC0zMTEyIDMxMTQtMzEyMyAzMTI1LTMxMjkKKyAgICAgICAgICAgICAgICAgMzE2OC0zMTY5IDMyMDUtMzIxMiAzMjE0LTMyMTYgMzIxOC0zMjQwCisgICAgICAgICAgICAgICAgIDMyNDItMzI1MSAzMjUzLTMyNTcgMzI5NCAzMjk2LTMyOTcgMzMzMy0zMzQwCisgICAgICAgICAgICAgICAgIDMzNDItMzM0NCAzMzQ2LTMzNjggMzM3MC0zMzg1IDM0MjQtMzQyNQorICAgICAgICAgICAgICAgICAzNTg1LTM2MzAgMzYzMiAzNjM0LTM2MzUgMzY0OC0zNjUzIDM3MTMtMzcxNAorICAgICAgICAgICAgICAgICAzNzE2IDM3MTktMzcyMCAzNzIyIDM3MjUgMzczMi0zNzM1IDM3MzctMzc0MworICAgICAgICAgICAgICAgICAzNzQ1LTM3NDcgMzc0OSAzNzUxIDM3NTQtMzc1NSAzNzU3LTM3NTggMzc2MAorICAgICAgICAgICAgICAgICAzNzYyLTM3NjMgMzc3MyAzNzc2LTM3ODAgMzkwNC0zOTExIDM5MTMtMzk0NQorICAgICAgICAgICAgICAgICA0MjU2LTQyOTMgNDMwNC00MzQyIDQzNTIgNDM1NC00MzU1IDQzNTctNDM1OQorICAgICAgICAgICAgICAgICA0MzYxIDQzNjMtNDM2NCA0MzY2LTQzNzAgNDQxMiA0NDE0IDQ0MTYgNDQyOAorICAgICAgICAgICAgICAgICA0NDMwIDQ0MzIgNDQzNi00NDM3IDQ0NDEgNDQ0Ny00NDQ5IDQ0NTEgNDQ1MworICAgICAgICAgICAgICAgICA0NDU1IDQ0NTcgNDQ2MS00NDYyIDQ0NjYtNDQ2NyA0NDY5IDQ1MTAgNDUyMAorICAgICAgICAgICAgICAgICA0NTIzIDQ1MjYtNDUyNyA0NTM1LTQ1MzYgNDUzOCA0NTQwLTQ1NDYgNDU4NworICAgICAgICAgICAgICAgICA0NTkyIDQ2MDEgNzY4MC03ODM1IDc4NDAtNzkyOSA3OTM2LTc5NTcKKyAgICAgICAgICAgICAgICAgNzk2MC03OTY1IDc5NjgtODAwNSA4MDA4LTgwMTMgODAxNi04MDIzIDgwMjUKKyAgICAgICAgICAgICAgICAgODAyNyA4MDI5IDgwMzEtODA2MSA4MDY0LTgxMTYgODExOC04MTI0IDgxMjYKKyAgICAgICAgICAgICAgICAgODEzMC04MTMyIDgxMzQtODE0MCA4MTQ0LTgxNDcgODE1MC04MTU1CisgICAgICAgICAgICAgICAgIDgxNjAtODE3MiA4MTc4LTgxODAgODE4Mi04MTg4IDg0ODYgODQ5MC04NDkxCisgICAgICAgICAgICAgICAgIDg0OTQgODU3Ni04NTc4IDEyMjk1IDEyMzIxLTEyMzI5IDEyMzUzLTEyNDM2CisgICAgICAgICAgICAgICAgIDEyNDQ5LTEyNTM4IDEyNTQ5LTEyNTg4IDE5OTY4LTQwODY5IDQ0MDMyLTU1MjAzCisKKyAgICAgICAgICAgICBMQ05NQ0hBUiAiIgorICAgICAgICAgICAgIFVDTk1DSEFSICIiCisgICAgICAgICAgICAgTkFNRUNIQVIKKyAgICAgICAgICAgICAgICAgNDUtNDYgMTgzIDcyMC03MjEgNzY4LTgzNyA4NjQtODY1IDkwMyAxMTU1LTExNTgKKyAgICAgICAgICAgICAgICAgMTQyNS0xNDQxIDE0NDMtMTQ2NSAxNDY3LTE0NjkgMTQ3MSAxNDczLTE0NzQKKyAgICAgICAgICAgICAgICAgMTQ3NiAxNjAwIDE2MTEtMTYxOCAxNjMyLTE2NDEgMTY0OCAxNzUwLTE3NjQKKyAgICAgICAgICAgICAgICAgMTc2Ny0xNzY4IDE3NzAtMTc3MyAxNzc2LTE3ODUgMjMwNS0yMzA3IDIzNjQKKyAgICAgICAgICAgICAgICAgMjM2Ni0yMzgxIDIzODUtMjM4OCAyNDAyLTI0MDMgMjQwNi0yNDE1CisgICAgICAgICAgICAgICAgIDI0MzMtMjQzNSAyNDkyIDI0OTQtMjUwMCAyNTAzLTI1MDQgMjUwNy0yNTA5CisgICAgICAgICAgICAgICAgIDI1MTkgMjUzMC0yNTMxIDI1MzQtMjU0MyAyNTYyIDI2MjAgMjYyMi0yNjI2CisgICAgICAgICAgICAgICAgIDI2MzEtMjYzMiAyNjM1LTI2MzcgMjY2Mi0yNjczIDI2ODktMjY5MSAyNzQ4CisgICAgICAgICAgICAgICAgIDI3NTAtMjc1NyAyNzU5LTI3NjEgMjc2My0yNzY1IDI3OTAtMjc5OQorICAgICAgICAgICAgICAgICAyODE3LTI4MTkgMjg3NiAyODc4LTI4ODMgMjg4Ny0yODg4IDI4OTEtMjg5MworICAgICAgICAgICAgICAgICAyOTAyLTI5MDMgMjkxOC0yOTI3IDI5NDYtMjk0NyAzMDA2LTMwMTAKKyAgICAgICAgICAgICAgICAgMzAxNC0zMDE2IDMwMTgtMzAyMSAzMDMxIDMwNDctMzA1NSAzMDczLTMwNzUKKyAgICAgICAgICAgICAgICAgMzEzNC0zMTQwIDMxNDItMzE0NCAzMTQ2LTMxNDkgMzE1Ny0zMTU4CisgICAgICAgICAgICAgICAgIDMxNzQtMzE4MyAzMjAyLTMyMDMgMzI2Mi0zMjY4IDMyNzAtMzI3MgorICAgICAgICAgICAgICAgICAzMjc0LTMyNzcgMzI4NS0zMjg2IDMzMDItMzMxMSAzMzMwLTMzMzEKKyAgICAgICAgICAgICAgICAgMzM5MC0zMzk1IDMzOTgtMzQwMCAzNDAyLTM0MDUgMzQxNSAzNDMwLTM0MzkKKyAgICAgICAgICAgICAgICAgMzYzMyAzNjM2LTM2NDIgMzY1NC0zNjYyIDM2NjQtMzY3MyAzNzYxCisgICAgICAgICAgICAgICAgIDM3NjQtMzc2OSAzNzcxLTM3NzIgMzc4MiAzNzg0LTM3ODkgMzc5Mi0zODAxCisgICAgICAgICAgICAgICAgIDM4NjQtMzg2NSAzODcyLTM4ODEgMzg5MyAzODk1IDM4OTcgMzkwMi0zOTAzCisgICAgICAgICAgICAgICAgIDM5NTMtMzk3MiAzOTc0LTM5NzkgMzk4NC0zOTg5IDM5OTEgMzk5My00MDEzCisgICAgICAgICAgICAgICAgIDQwMTctNDAyMyA0MDI1IDg0MDAtODQxMiA4NDE3IDEyMjkzIDEyMzMwLTEyMzM1CisgICAgICAgICAgICAgICAgIDEyMzM3LTEyMzQxIDEyNDQxLTEyNDQyIDEyNDQ1LTEyNDQ2IDEyNTQwLTEyNTQyCisKKyAgICAgICAgICAgICBOQU1FQ0FTRQorICAgICAgICAgICAgICAgICBHRU5FUkFMIE5PCisgICAgICAgICAgICAgICAgIEVOVElUWSAgTk8KKworICAgICAgICAgREVMSU0KKyAgICAgICAgICAgICBHRU5FUkFMIFNHTUxSRUYKKyAgICAgICAgICAgICBIQ1JPICImIzM4OyN4IiAtLSAzOCBpcyB0aGUgbnVtYmVyIGZvciBhbXBlcnNhbmQgLS0KKyAgICAgICAgICAgICBORVNUQyAiLyIKKyAgICAgICAgICAgICBORVQgIj4iCisgICAgICAgICAgICAgUElDICI/PiIKKyAgICAgICAgICAgICBTSE9SVFJFRiBOT05FCisKKyAgICAgICAgIE5BTUVTCisgICAgICAgICAgICAgU0dNTFJFRgorCisgICAgICAgICBRVUFOVElUWSBOT05FCisKKyAgICAgICAgIEVOVElUSUVTCisgICAgICAgICAgICAgImFtcCIgMzgKKyAgICAgICAgICAgICAibHQiIDYwCisgICAgICAgICAgICAgImd0IiA2MgorICAgICAgICAgICAgICJxdW90IiAzNAorICAgICAgICAgICAgICJhcG9zIiAzOQorCisgICAgIEZFQVRVUkVTCisgICAgICAgICBNSU5JTUlaRQorICAgICAgICAgICAgIERBVEFUQUcgTk8KKyAgICAgICAgICAgICBPTUlUVEFHIE5PCisgICAgICAgICAgICAgUkFOSyBOTworICAgICAgICAgICAgIFNIT1JUVEFHCisgICAgICAgICAgICAgICAgIFNUQVJUVEFHCisgICAgICAgICAgICAgICAgICAgICBFTVBUWSBOTworICAgICAgICAgICAgICAgICAgICAgVU5DTE9TRUQgTk8gCisgICAgICAgICAgICAgICAgICAgICBORVRFTkFCTCBJTU1FRE5FVAorICAgICAgICAgICAgICAgICBFTkRUQUcKKyAgICAgICAgICAgICAgICAgICAgIEVNUFRZIE5PIAorICAgICAgICAgICAgICAgICAgICAgVU5DTE9TRUQgTk8KKyAgICAgICAgICAgICAgICAgQVRUUklCCisgICAgICAgICAgICAgICAgICAgICBERUZBVUxUIFlFUworICAgICAgICAgICAgICAgICAgICAgT01JVE5BTUUgTk8KKyAgICAgICAgICAgICAgICAgICAgIFZBTFVFIE5PCisgICAgICAgICAgICAgRU1QVFlOUk0gWUVTCisgICAgICAgICAgICAgSU1QTFlERUYKKyAgICAgICAgICAgICAgICAgQVRUTElTVCBOTworICAgICAgICAgICAgICAgICBET0NUWVBFIE5PCisgICAgICAgICAgICAgICAgIEVMRU1FTlQgTk8KKyAgICAgICAgICAgICAgICAgRU5USVRZIE5PCisgICAgICAgICAgICAgICAgIE5PVEFUSU9OIE5PCisgICAgICAgICBMSU5LCisgICAgICAgICAgICAgU0lNUExFIE5PCisgICAgICAgICAgICAgSU1QTElDSVQgTk8KKyAgICAgICAgICAgICBFWFBMSUNJVCBOTworICAgICAgICAgT1RIRVIKKyAgICAgICAgICAgICBDT05DVVIgTk8KKyAgICAgICAgICAgICBTVUJET0MgTk8KKyAgICAgICAgICAgICBGT1JNQUwgTk8KKyAgICAgICAgICAgICBVUk4gTk8KKyAgICAgICAgICAgICBLRUVQUlNSRSBZRVMKKyAgICAgICAgICAgICBWQUxJRElUWSBUWVBFCisgICAgICAgICAgICAgRU5USVRJRVMKKyAgICAgICAgICAgICAgICAgUkVGIEFOWQorICAgICAgICAgICAgICAgICBJTlRFR1JBTCBZRVMKKyAgICAgQVBQSU5GTyBOT05FCisgICAgIFNFRUFMU08gIklTTyA4ODc5OjE5ODYvL05PVEFUSU9OCisgICAgICAgICAgICAgRXh0ZW5zaWJsZSBNYXJrdXAgTGFuZ3VhZ2UgKFhNTCkgMS4wLy9FTiIKKz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC92YWxpZC9kdGRzL3htbHNwZWMuZHRkIGIvbGlieG1sMi90ZXN0L3ZhbGlkL2R0ZHMveG1sc3BlYy5kdGQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTVjZmJhNgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC92YWxpZC9kdGRzL3htbHNwZWMuZHRkCkBAIC0wLDAgKzEsMTEwMiBAQAorPCEtLSAuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gLS0+Cis8IS0tIFhNTCBzcGVjaWZpY2F0aW9uIERURCAuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAtLT4KKzwhLS0gLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uIC0tPgorCis8IS0tCitUWVBJQ0FMIElOVk9DQVRJT046CisjICA8IURPQ1RZUEUgc3BlYyBQVUJMSUMKKyMgICAgICAgIi0vL1czQy8vRFREIFNwZWNpZmljYXRpb246OjE5OTgwNTIxLy9FTiIKKyMgICAgICAgImh0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4LzA2L3htbHNwZWMtMTk5ODA1MjEuZHRkIj4KKworUFVSUE9TRToKKyAgVGhpcyBEVEQgd2FzIGRldmVsb3BlZCBmb3IgdXNlIHdpdGggdGhlIFhNTCBmYW1pbHkgb2YgVzNDCisgIHNwZWNpZmljYXRpb25zLiAgSXQgaXMgYW4gWE1MLWNvbXBsaWFudCBEVEQgYmFzZWQgaW4gcGFydCBvbgorICB0aGUgVEVJIExpdGUgYW5kIFN3ZWIgRFREcy4KKworREVQRU5ERU5DSUVTOgorICBOb25lLgorCitDSEFOR0UgSElTVE9SWToKKyAgVGhlIGxpc3Qgb2YgY2hhbmdlcyBpcyBhdCB0aGUgZW5kIG9mIHRoZSBEVEQuCisKKyAgRm9yIGFsbCBkZXRhaWxzLCBzZWUgdGhlIGRlc2lnbiByZXBvcnQgYXQ6CisKKyMgICA8aHR0cDovL3d3dy53My5vcmcvWE1MLzE5OTgvMDYveG1sc3BlYy1yZXBvcnQtMTk5ODA1MjEuaHRtPgorCisgIFRoZSAidHlwaWNhbCBpbnZvY2F0aW9uIiBGUEkgYWx3YXlzIGdldHMgdXBkYXRlZCB0byByZWZsZWN0IHRoZQorICBkYXRlIG9mIHRoZSBtb3N0IHJlY2VudCBjaGFuZ2VzLgorCisgIFNlYXJjaCB0aGlzIGZpbGUgZm9yICIjIiBpbiB0aGUgZmlyc3QgY29sdW1uIHRvIHNlZSBjaGFuZ2UgaGlzdG9yeQorICBjb21tZW50cy4KKworTUFJTlRBSU5FUjoKKyAgRXZlIE1hbGVyCisgIEFyYm9yVGV4dCBJbmMuCisgIGVsbUBhcmJvcnRleHQuY29tCisgIHZvaWNlOiArMSA3ODEgMjcwIDU3NTAKKyAgZmF4OiAgICsxIDc4MSAyNzMgMzc2MAorLS0+CisKKzwhLS0gLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uIC0tPgorPCEtLSBFbnRpdGllcyBmb3IgY2hhcmFjdGVycyBhbmQgc3ltYm9scyAuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gLS0+CisKKzwhLS0KKyMxOTk4LTAzLTEwOiBtYWxlcjogQWRkZWQgJmxkcXVvOyBhbmQgJnJkcXVvOy4KKyMgICAgICAgICAgICAgICAgICAgVXNlZCA4ODc5OjE5ODYtY29tcGF0aWJsZSBkZWNpbWFsIGNoYXJhY3RlcgorIyAgICAgICAgICAgICAgICAgICByZWZlcmVuY2VzLgorIyAgICAgICAgICAgICAgICAgICBNZXJnZWQgY2hhcmVudC5tb2QgZmlsZSBiYWNrIGludG8gbWFpbiBmaWxlLgorIzE5OTgtMDUtMTQ6IG1hbGVyOiBGaXhlZCBsZHF1byBhbmQgcmRxdW8uICBHYXZlIG1kYXNoIGEgcmVhbCBudW1iZXIuCistLT4KKworPCFFTlRJVFkgbHQgICAgICImIzM4OyM2MDsiPgorPCFFTlRJVFkgZ3QgICAgICImIzYyOyI+Cis8IUVOVElUWSBhbXAgICAgIiYjMzg7IzM4OyI+Cis8IUVOVElUWSBhcG9zICAgIiYjMzk7Ij4KKzwhRU5USVRZIHF1b3QgICAiJiMzNDsiPgorPCFFTlRJVFkgbmJzcCAgICImIzE2MDsiPgorPCEtLQorPCFFTlRJVFkgbWRhc2ggICImI3gyMDE0OyI+Cis8IUVOVElUWSBsZHF1byAgIiYjeDIwMUM7Ij4KKzwhRU5USVRZIHJkcXVvICAiJiN4MjAxRDsiPgorLS0+CisKKzwhLS0gLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uIC0tPgorPCEtLSBFbnRpdGllcyBmb3IgY2xhc3NlcyBvZiBzdGFuZGFsb25lIGVsZW1lbnRzIC4uLi4uLi4uLi4uLi4uLi4uLi4gLS0+CisKKzwhLS0KKyMxOTk3LTEwLTE2OiBtYWxlcjogQWRkZWQgdGFibGUgdG8gJWlsbHVzLmNsYXNzOy4KKyMxOTk3LTExLTI4OiBtYWxlcjogQWRkZWQgaHRhYmxlIHRvICVpbGx1cy5jbGFzczsuCisjMTk5Ny0xMi0yOTogbWFsZXI6IElHTk9SRWQgdGFibGUuCisjMTk5OC0wMy0xMDogbWFsZXI6IFJlbW92ZWQgU0dNTCBPcGVuLXNwZWNpZmljICVpbGx1cy5jbGFzczsuCisjICAgICAgICAgICAgICAgICAgIEFkZGVkICJsb2NhbCIgZW50aXRpZXMgZm9yIGN1c3RvbWl6YXRpb24uCisjMTk5OC0wNS0xNDogbWFsZXI6IEFkZGVkIGlzc3VlIHRvICVub3RlLmNsYXNzOy4KKyMgICAgICAgICAgICAgICAgICAgUmVtb3ZlZCAlW2xvY2FsLl1zdGF0dXNwLmNsYXNzOy4KKyMxOTk4LTA1LTIxOiBtYWxlcjogQWRkZWQgY29uc3RyYWludG5vdGUgdG8gJW5vdGUuY2xhc3M7LgorLS0+CisKKzwhRU5USVRZICUgbG9jYWwucC5jbGFzcyAgICAgICAgIiI+Cis8IUVOVElUWSAlIHAuY2xhc3MgICAgICAgICAgICAgICJwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICVsb2NhbC5wLmNsYXNzOyI+CisKKzwhRU5USVRZICUgbG9jYWwubGlzdC5jbGFzcyAgICAgIiI+Cis8IUVOVElUWSAlIGxpc3QuY2xhc3MgICAgICAgICAgICJ1bGlzdHxvbGlzdHxzbGlzdHxnbGlzdAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAlbG9jYWwubGlzdC5jbGFzczsiPgorCis8IUVOVElUWSAlIGxvY2FsLnNwZWNsaXN0LmNsYXNzICIiPgorPCFFTlRJVFkgJSBzcGVjbGlzdC5jbGFzcyAgICAgICAib3JnbGlzdHxibGlzdAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAlbG9jYWwuc3BlY2xpc3QuY2xhc3M7Ij4KKworPCFFTlRJVFkgJSBsb2NhbC5ub3RlLmNsYXNzICAgICAiIj4KKzwhRU5USVRZICUgbm90ZS5jbGFzcyAgICAgICAgICAgIm5vdGV8aXNzdWV8d2Zjbm90ZXx2Y25vdGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfGNvbnN0cmFpbnRub3RlICVsb2NhbC5ub3RlLmNsYXNzOyI+CisKKzwhRU5USVRZICUgbG9jYWwuaWxsdXMuY2xhc3MgICAgIiI+Cis8IUVOVElUWSAlIGlsbHVzLmNsYXNzICAgICAgICAgICJlZ3xncmFwaGljfHNjcmFwfGh0YWJsZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAlbG9jYWwuaWxsdXMuY2xhc3M7Ij4KKworPCEtLSAuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gLS0+Cis8IS0tIEVudGl0aWVzIGZvciBjbGFzc2VzIG9mIHBocmFzZS1sZXZlbCBlbGVtZW50cyAuLi4uLi4uLi4uLi4uLi4uLiAtLT4KKworPCEtLQorIzE5OTctMTItMjk6IG1hbGVyOiBBZGRlZCB4c3BlY3JlZiB0byAlcmVmLmNsYXNzOy4KKyMxOTk4LTAzLTEwOiBtYWxlcjogQWRkZWQgJWVkbm90ZS5jbGFzczsuCisjICAgICAgICAgICAgICAgICAgIEFkZGVkICJsb2NhbCIgZW50aXRpZXMgZm9yIGN1c3RvbWl6YXRpb24uCistLT4KKworPCFFTlRJVFkgJSBsb2NhbC5hbm5vdC5jbGFzcyAgICAiIj4KKzwhRU5USVRZICUgYW5ub3QuY2xhc3MgICAgICAgICAgImZvb3Rub3RlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICVsb2NhbC5hbm5vdC5jbGFzczsiPgorCis8IUVOVElUWSAlIGxvY2FsLnRlcm1kZWYuY2xhc3MgICAgIiI+Cis8IUVOVElUWSAlIHRlcm1kZWYuY2xhc3MgICAgICAgICJ0ZXJtZGVmfHRlcm0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJWxvY2FsLnRlcm1kZWYuY2xhc3M7Ij4KKworPCFFTlRJVFkgJSBsb2NhbC5lbXBoLmNsYXNzICAgICIiPgorPCFFTlRJVFkgJSBlbXBoLmNsYXNzICAgICAgICAgICAiZW1waHxxdW90ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAlbG9jYWwuZW1waC5jbGFzczsiPgorCis8IUVOVElUWSAlIGxvY2FsLnJlZi5jbGFzcyAgICAiIj4KKzwhRU5USVRZICUgcmVmLmNsYXNzICAgICAgICAgICAgImJpYnJlZnxzcGVjcmVmfHRlcm1yZWZ8dGl0bGVyZWYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfHhzcGVjcmVmfHh0ZXJtcmVmCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICVsb2NhbC5yZWYuY2xhc3M7Ij4KKworPCFFTlRJVFkgJSBsb2NhbC5sb2MuY2xhc3MgICAgIiI+Cis8IUVOVElUWSAlIGxvYy5jbGFzcyAgICAgICAgICAgICJsb2MKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJWxvY2FsLmxvYy5jbGFzczsiPgorCis8IUVOVElUWSAlIGxvY2FsLnRlY2guY2xhc3MgICAgIiI+Cis8IUVOVElUWSAlIHRlY2guY2xhc3MgICAgICAgICAgICJrd3xudHx4bnR8Y29kZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAlbG9jYWwudGVjaC5jbGFzczsiPgorCis8IUVOVElUWSAlIGxvY2FsLmVkbm90ZS5jbGFzcyAgICAiIj4KKzwhRU5USVRZICUgZWRub3RlLmNsYXNzICAgICAgICAgImVkbm90ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAlbG9jYWwuZWRub3RlLmNsYXNzOyI+CisKKzwhLS0gLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uIC0tPgorPCEtLSBFbnRpdGllcyBmb3IgbWl4dHVyZXMgb2Ygc3RhbmRhbG9uZSBlbGVtZW50cyAuLi4uLi4uLi4uLi4uLi4uLi4gLS0+CisKKzwhLS0KKyMxOTk3LTA5LTMwOiBtYWxlcjogQ3JlYXRlZCAlcC5taXg7IHRvIGVsaW1pbmF0ZSBwIGZyb20gc2VsZi4KKyMxOTk3LTA5LTMwOiBtYWxlcjogQWRkZWQgJXNwZWNsaXN0LmNsYXNzOyB0byAlb2JqLm1peDsgYW5kICVwLm1peDsuCisjMTk5Ny0wOS0zMDogbWFsZXI6IEFkZGVkICVub3RlLmNsYXNzOyB0byAlb2JqLm1peDsgYW5kICVwLm1peDsuCisjMTk5Ny0xMC0xNjogbWFsZXI6IENyZWF0ZWQgJWVudHJ5Lm1peDsuICBOb3RlIHRoYXQgc29tZSBlbGVtZW50cworIyAgICAgICAgICAgICAgICAgICBsZWZ0IG91dCBoZXJlIGFyZSBzdGlsbCBhbGxvd2VkIGluIHRlcm1kZWYsCisjICAgICAgICAgICAgICAgICAgIHdoaWNoIGVudHJ5IGNhbiBjb250YWluIHRocm91Z2ggJXAucGNkLm1peDsuCisjMTk5Ny0xMS0yODogbWFsZXI6IEFkZGVkICVwLmNsYXNzOyB0byAlc3RhdHVzb2JqLm1peDsuCisjMTk5OC0wMy0xMDogbWFsZXI6IEFkZGVkICVlZG5vdGUuY2xhc3M7IHRvIGFsbCBtaXh0dXJlcywgZXhjZXB0CisjICAgICAgICAgICAgICAgICAgICVwLm1peDsgYW5kICVzdGF0dXNvYmoubWl4OywgYmVjYXVzZSBwYXJhZ3JhcGhzCisjICAgICAgICAgICAgICAgICAgIGFuZCBzdGF0dXMgcGFyYWdyYXBocyB3aWxsIGNvbnRhaW4gZWRub3RlCisjICAgICAgICAgICAgICAgICAgIHRocm91Z2ggJXAucGNkLm1peDsuCisjMTk5OC0wMy0yMzogbWFsZXI6IEFkZGVkICV0ZXJtZGVmLm1peDsgKGJyb2tlbiBvdXQgZnJvbQorIyAgICAgICAgICAgICAgICAgICAgJXRlcm1kZWYucGNkLm1peDspLgorIzE5OTgtMDUtMTQ6IG1hbGVyOiBSZW1vdmVkICVzdGF0dXNvYmoubWl4OyBhbmQgYWxsIG1lbnRpb25zIG9mCisjICAgICAgICAgICAgICAgICAgICVzdGF0dXNwLm1peDsuCistLT4KKworPCFFTlRJVFkgJSBkaXYubWl4CisgICAgICAgICIlcC5jbGFzczt8JWxpc3QuY2xhc3M7fCVzcGVjbGlzdC5jbGFzczt8JW5vdGUuY2xhc3M7CisgICAgICAgIHwlaWxsdXMuY2xhc3M7fCVlZG5vdGUuY2xhc3M7Ij4KKzwhRU5USVRZICUgb2JqLm1peAorICAgICAgICAiJXAuY2xhc3M7fCVsaXN0LmNsYXNzO3wlc3BlY2xpc3QuY2xhc3M7fCVub3RlLmNsYXNzOworICAgICAgICB8JWlsbHVzLmNsYXNzO3wlZWRub3RlLmNsYXNzOyI+Cis8IUVOVElUWSAlIHAubWl4CisgICAgICAgICIlbGlzdC5jbGFzczt8JXNwZWNsaXN0LmNsYXNzO3wlbm90ZS5jbGFzczt8JWlsbHVzLmNsYXNzOyI+Cis8IUVOVElUWSAlIGVudHJ5Lm1peAorICAgICAgICAiJWxpc3QuY2xhc3M7fG5vdGV8ZWd8Z3JhcGhpY3wlZWRub3RlLmNsYXNzOyI+Cis8IUVOVElUWSAlIGhkci5taXgKKyAgICAgICAgIiVwLmNsYXNzO3wlbGlzdC5jbGFzczt8JWVkbm90ZS5jbGFzczsiPgorPCFFTlRJVFkgJSB0ZXJtZGVmLm1peAorICAgICAgICAiJW5vdGUuY2xhc3M7fCVpbGx1cy5jbGFzczsiPgorCis8IS0tIC4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAtLT4KKzwhLS0gRW50aXRpZXMgZm9yIG1peHR1cmVzIG9mICNQQ0RBVEEgYW5kIHBocmFzZS1sZXZlbCBlbGVtZW50cyAuLi4uIC0tPgorCis8IS0tICAgIE5vdGUgdGhhdCAldGVybWRlZi5wY2QubWl4IGNvbnRhaW5zICVub3RlLmNsYXNzOworICAgICAgICBhbmQgJWlsbHVzLmNsYXNzOywgY29uc2lkZXJlZCBzdGFuZGFsb25lIGVsZW1lbnRzLiAtLT4KKworPCEtLQorIzE5OTctMDktMzA6IG1hbGVyOiBBZGRlZCBzY3JhcCBhbmQgJW5vdGUuY2xhc3M7IHRvICV0ZXJtZGVmLnBjZC5taXg7LgorIzE5OTctMTEtMjg6IG1hbGVyOiBBZGRlZCAlbG9jLmNsYXNzOyB0byAlcC5wY2QubWl4Oy4KKyMxOTk4LTAzLTEwOiBtYWxlcjogQWRkZWQgJWVkbm90ZS5jbGFzczsgdG8gYWxsIG1peHR1cmVzLgorIzE5OTgtMDMtMjM6IG1hbGVyOiBNb3ZlZCBzb21lICV0ZXJtZGVmLnBjZC5taXg7IHN0dWZmIG91dCB0bworIyAgICAgICAgICAgICAgICAgICAldGVybWRlZi5taXg7LgorIzE5OTgtMDUtMTQ6IG1hbGVyOiBSZW1vdmVkICVzdGF0dXNwLnBjZC5taXg7LgorIzE5OTgtMDUtMjE6IG1hbGVyOiBBZGRlZCBjb25zdHJhaW50IGVsZW1lbnQgdG8gJWVnLnBjZC5taXg7LgorLS0+CisKKzwhRU5USVRZICUgcC5wY2QubWl4CisgICAgICAgICIjUENEQVRBfCVhbm5vdC5jbGFzczt8JXRlcm1kZWYuY2xhc3M7fCVlbXBoLmNsYXNzOworICAgICAgICB8JXJlZi5jbGFzczt8JXRlY2guY2xhc3M7fCVsb2MuY2xhc3M7fCVlZG5vdGUuY2xhc3M7Ij4KKzwhRU5USVRZICUgaGVhZC5wY2QubWl4CisgICAgICAgICIjUENEQVRBfCVhbm5vdC5jbGFzczt8JWVtcGguY2xhc3M7fCV0ZWNoLmNsYXNzO3wlZWRub3RlLmNsYXNzOyI+Cis8IUVOVElUWSAlIGxhYmVsLnBjZC5taXgKKyAgICAgICAgIiNQQ0RBVEF8JWFubm90LmNsYXNzO3wldGVybWRlZi5jbGFzczt8JWVtcGguY2xhc3M7fCV0ZWNoLmNsYXNzOworICAgICAgICB8JWVkbm90ZS5jbGFzczsiPgorPCFFTlRJVFkgJSBlZy5wY2QubWl4CisgICAgICAgICIjUENEQVRBfCVhbm5vdC5jbGFzczt8JWVtcGguY2xhc3M7fCVlZG5vdGUuY2xhc3M7fGNvbnN0cmFpbnQiPgorPCFFTlRJVFkgJSB0ZXJtZGVmLnBjZC5taXgKKyAgICAgICAgIiNQQ0RBVEF8dGVybXwlZW1waC5jbGFzczt8JXJlZi5jbGFzczt8JXRlY2guY2xhc3M7CisgICAgICAgIHwlZWRub3RlLmNsYXNzOyI+Cis8IUVOVElUWSAlIGJpYmwucGNkLm1peAorICAgICAgICAiI1BDREFUQXwlZW1waC5jbGFzczt8JXJlZi5jbGFzczt8JWxvYy5jbGFzczt8JWVkbm90ZS5jbGFzczsiPgorPCFFTlRJVFkgJSB0ZWNoLnBjZC5taXgKKyAgICAgICAgIiNQQ0RBVEF8JWVkbm90ZS5jbGFzczsiPgorPCFFTlRJVFkgJSBsb2MucGNkLm1peAorICAgICAgICAiI1BDREFUQXwlbG9jLmNsYXNzO3wlZWRub3RlLmNsYXNzOyI+CisKKzwhLS0gLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uIC0tPgorPCEtLSBFbnRpdGllcyBmb3IgY3VzdG9taXphYmxlIGNvbnRlbnQgbW9kZWxzIC4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gLS0+CisKKzwhLS0KKyMxOTk4LTAzLTEwOiBtYWxlcjogQWRkZWQgY3VzdG9taXphdGlvbiBlbnRpdGllcy4KKyMxOTk4LTA1LTE0OiBtYWxlcjogQWxsb3dlZCBwcmV2bG9jcyBhbmQgbGF0ZXN0bG9jIGluIGVpdGhlciBvcmRlci4KKy0tPgorCis8IUVOVElUWSAlIHNwZWMubWRsCisgICAgICAgICJoZWFkZXIsIGZyb250PywgYm9keSwgYmFjaz8iPgorCis8IUVOVElUWSAlIGhlYWRlci5tZGwKKyAgICAgICAgInRpdGxlLCBzdWJ0aXRsZT8sIHZlcnNpb24sIHczYy1kZXNpZ25hdGlvbiwgdzNjLWRvY3R5cGUsCisgICAgICAgIHB1YmRhdGUsIG5vdGljZSosIHB1YmxvYywgKChwcmV2bG9jcywgbGF0ZXN0bG9jPykgfAorICAgICAgICAobGF0ZXN0bG9jLCBwcmV2bG9jcz8pKT8sIGF1dGhsaXN0LCBzdGF0dXMsIGFic3RyYWN0LAorICAgICAgICBwdWJzdG10Pywgc291cmNlZGVzYz8sIGxhbmd1c2FnZSwgcmV2aXNpb25kZXNjIj4KKworPCFFTlRJVFkgJSBwdWJkYXRlLm1kbAorICAgICAgICAiZGF5PywgbW9udGgsIHllYXIiPgorCis8IS0tIC4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAtLT4KKzwhLS0gRW50aXRpZXMgZm9yIGNvbW1vbiBhdHRyaWJ1dGVzIC4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uIC0tPgorCis8IS0tICAgIGtleSBhdHRyaWJ1dGU6CisgICAgICAgIE9wdGlvbmFsbHkgcHJvdmlkZXMgYSBzb3J0aW5nIG9yIGluZGV4aW5nIGtleSwgZm9yIGNhc2VzIHdoZW4KKyAgICAgICAgdGhlIGVsZW1lbnQgY29udGVudCBpcyBpbmFwcHJvcHJpYXRlIGZvciB0aGlzIHB1cnBvc2UuIC0tPgorPCFFTlRJVFkgJSBrZXkuYXR0CisgICAgICAgICdrZXkgICAgICAgICAgICAgICAgICAgIENEQVRBICAgICAgICAgICAjSU1QTElFRCc+CisKKzwhLS0gICAgZGVmIGF0dHJpYnV0ZToKKyAgICAgICAgUG9pbnRzIHRvIHRoZSBlbGVtZW50IHdoZXJlIHRoZSByZWxldmFudCBkZWZpbml0aW9uIGNhbiBiZQorICAgICAgICBmb3VuZCwgdXNpbmcgdGhlIElEUkVGIG1lY2hhbmlzbS4gICVkZWYuYXR0OyBpcyBmb3Igb3B0aW9uYWwKKyAgICAgICAgZGVmIGF0dHJpYnV0ZXMsIGFuZCAlZGVmLXJlcS5hdHQ7IGlzIGZvciByZXF1aXJlZCBkZWYKKyAgICAgICAgYXR0cmlidXRlcy4gLS0+Cis8IUVOVElUWSAlIGRlZi5hdHQKKyAgICAgICAgJ2RlZiAgICAgICAgICAgICAgICAgICAgSURSRUYgICAgICAgICAgICNJTVBMSUVEJz4KKzwhRU5USVRZICUgZGVmLXJlcS5hdHQKKyAgICAgICAgJ2RlZiAgICAgICAgICAgICAgICAgICAgSURSRUYgICAgICAgICAgICNSRVFVSVJFRCc+CisKKzwhLS0gICAgcmVmIGF0dHJpYnV0ZToKKyAgICAgICAgUG9pbnRzIHRvIHRoZSBlbGVtZW50IHdoZXJlIG1vcmUgaW5mb3JtYXRpb24gY2FuIGJlIGZvdW5kLAorICAgICAgICB1c2luZyB0aGUgSURSRUYgbWVjaGFuaXNtLiAgJXJlZi5hdHQ7IGlzIGZvciBvcHRpb25hbAorICAgICAgICByZWYgYXR0cmlidXRlcywgYW5kICVyZWYtcmVxLmF0dDsgaXMgZm9yIHJlcXVpcmVkIHJlZgorICAgICAgICBhdHRyaWJ1dGVzLiAtLT4KKzwhRU5USVRZICUgcmVmLmF0dAorICAgICAgICAncmVmICAgICAgICAgICAgICAgICAgICBJRFJFRiAgICAgICAgICAgI0lNUExJRUQnPgorPCFFTlRJVFkgJSByZWYtcmVxLmF0dAorICAgICAgICAncmVmICAgICAgICAgICAgICAgICAgICBJRFJFRiAgICAgICAgICAgI1JFUVVJUkVEJz4KKworPCEtLQorIzE5OTgtMDMtMjM6IG1hbGVyOiBBZGRlZCBzaG93IGFuZCBhY3R1YXRlIGF0dHJpYnV0ZXMgdG8gaHJlZi4KKyMgICAgICAgICAgICAgICAgICAgQWRkZWQgc2VtaS1jb21tb24geG1sOnNwYWNlIGF0dHJpYnV0ZS4KKy0tPgorCis8IS0tICAgIEhSRUYgYW5kIHNvdXJjZSBhdHRyaWJ1dGVzOgorICAgICAgICBQb2ludHMgdG8gdGhlIGVsZW1lbnQgd2hlcmUgbW9yZSBpbmZvcm1hdGlvbiBvciBzb3VyY2UgZGF0YQorICAgICAgICBjYW4gYmUgZm91bmQsIHVzaW5nIHRoZSBVUkwgKFhMTCBzaW1wbGUgbGluaykgbWVjaGFuaXNtLgorICAgICAgICBGb3Igc29tZSBwdXJwb3NlcywgaXMgYXNzb2NpYXRlZCB3aXRoIGFkZGl0aW9uYWwgWExMCisgICAgICAgIGF0dHJpYnV0ZXMuICVocmVmLmF0dDsgaXMgZm9yIG9wdGlvbmFsIEhSRUYgYXR0cmlidXRlcywKKyAgICAgICAgYW5kICVocmVmLXJlcS5hdHQ7IGlzIGZvciByZXF1aXJlZCBIUkVGIGF0dHJpYnV0ZXMuCisgICAgICAgICVzb3VyY2UtcmVxLmF0dDsgaXMgZm9yIHRoZSBzb3VyY2UgYXR0cmlidXRlLCB3aGljaAorICAgICAgICBpcyBhbHdheXMgcmVxdWlyZWQuIC0tPgorPCFFTlRJVFkgJSBocmVmLmF0dAorICAgICAgICAneG1sOmxpbmsgICAgICAgICAgICAgICBDREFUQSAgICAgICAgICAgI0ZJWEVEICJzaW1wbGUiCisgICAgICAgIGhyZWYgICAgICAgICAgICAgICAgICAgIENEQVRBICAgICAgICAgICAjSU1QTElFRAorICAgICAgICBzaG93ICAgICAgICAgICAgICAgICAgICBDREFUQSAgICAgICAgICAgI0ZJWEVEICJlbWJlZCIKKyAgICAgICAgYWN0dWF0ZSAgICAgICAgICAgICAgICAgQ0RBVEEgICAgICAgICAgICNGSVhFRCAiYXV0byInPgorCis8IUVOVElUWSAlIGhyZWYtcmVxLmF0dAorICAgICAgICAneG1sOmxpbmsgICAgICAgICAgICAgICBDREFUQSAgICAgICAgICAgI0ZJWEVEICJzaW1wbGUiCisgICAgICAgIGhyZWYgICAgICAgICAgICAgICAgICAgIENEQVRBICAgICAgICAgICAjUkVRVUlSRUQKKyAgICAgICAgc2hvdyAgICAgICAgICAgICAgICAgICAgQ0RBVEEgICAgICAgICAgICNGSVhFRCAiZW1iZWQiCisgICAgICAgIGFjdHVhdGUgICAgICAgICAgICAgICAgIENEQVRBICAgICAgICAgICAjRklYRUQgImF1dG8iJz4KKworPCFFTlRJVFkgJSBzb3VyY2UtcmVxLmF0dAorICAgICAgICAneG1sOmxpbmsgICAgICAgICAgICAgICBDREFUQSAgICAgICAgICAgI0ZJWEVEICJzaW1wbGUiCisgICAgICAgIHhtbDphdHRyaWJ1dGVzICAgICAgICAgIE5NVE9LRU5TICAgICAgICAjRklYRUQgImhyZWYgc291cmNlIgorICAgICAgICBzb3VyY2UgICAgICAgICAgICAgICAgICBDREFUQSAgICAgICAgICAgI1JFUVVJUkVECisgICAgICAgIHNob3cgICAgICAgICAgICAgICAgICAgIENEQVRBICAgICAgICAgICAjRklYRUQgImVtYmVkIgorICAgICAgICBhY3R1YXRlICAgICAgICAgICAgICAgICBDREFUQSAgICAgICAgICAgI0ZJWEVEICJhdXRvIic+CisKKzwhLS0gICAgeG1sOnNwYWNlIGF0dHJpYnV0ZToKKyAgICAgICAgSW5kaWNhdGVzIHRoYXQgdGhlIGVsZW1lbnQgY29udGFpbnMgd2hpdGUgc3BhY2UKKyAgICAgICAgdGhhdCB0aGUgZm9ybWF0dGVyIG9yIG90aGVyIGFwcGxpY2F0aW9uIHNob3VsZCByZXRhaW4sCisgICAgICAgIGFzIGFwcHJvcHJpYXRlIHRvIGl0cyBmdW5jdGlvbi4gLS0+Cis8IUVOVElUWSAlIHhtbHNwYWNlLmF0dAorICAgICAgICAneG1sOnNwYWNlICAgICAgICAgICAgICAoZGVmYXVsdAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8cHJlc2VydmUpICAgICAgI0ZJWEVEICJwcmVzZXJ2ZSInPgorCis8IS0tICAgIENvbW1vbiBhdHRyaWJ1dGVzOgorICAgICAgICBFdmVyeSBlbGVtZW50IGhhcyBhbiBJRCBhdHRyaWJ1dGUgKHNvbWV0aW1lcyByZXF1aXJlZCwKKyAgICAgICAgYnV0IHVzdWFsbHkgb3B0aW9uYWwpIGZvciBsaW5rcywgYW5kIGEgUm9sZSBhdHRyaWJ1dGUKKyAgICAgICAgZm9yIGV4dGVuZGluZyB0aGUgdXNlZnVsIGxpZmUgb2YgdGhlIERURCBieSBhbGxvd2luZworICAgICAgICBhdXRob3JzIHRvIG1ha2Ugc3ViY2xhc3NlcyBmb3IgYW55IGVsZW1lbnQuICVjb21tb24uYXR0OworICAgICAgICBpcyBmb3IgY29tbW9uIGF0dHJpYnV0ZXMgd2hlcmUgdGhlIElEIGlzIG9wdGlvbmFsLCBhbmQKKyAgICAgICAgJWNvbW1vbi1pZHJlcS5hdHQ7IGlzIGZvciBjb21tb24gYXR0cmlidXRlcyB3aGVyZSB0aGUKKyAgICAgICAgSUQgaXMgcmVxdWlyZWQuIC0tPgorPCFFTlRJVFkgJSBjb21tb24uYXR0CisgICAgICAgICdpZCAgICAgICAgICAgICAgICAgICAgIElEICAgICAgICAgICAgICAjSU1QTElFRAorICAgICAgICByb2xlICAgICAgICAgICAgICAgICAgICBOTVRPS0VOICAgICAgICAgI0lNUExJRUQnPgorPCFFTlRJVFkgJSBjb21tb24taWRyZXEuYXR0CisgICAgICAgICdpZCAgICAgICAgICAgICAgICAgICAgIElEICAgICAgICAgICAgICAjUkVRVUlSRUQKKyAgICAgICAgcm9sZSAgICAgICAgICAgICAgICAgICAgTk1UT0tFTiAgICAgICAgICNJTVBMSUVEJz4KKworPCEtLSAuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gLS0+Cis8IS0tIENvbW1vbiBlbGVtZW50cyAuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAtLT4KKworPCEtLSAgICBoZWFkOiBUaXRsZSBvbiBkaXZpc2lvbnMsIHByb2R1Y3Rpb25zLCBhbmQgdGhlIGxpa2UgLS0+Cis8IUVMRU1FTlQgaGVhZCAoJWhlYWQucGNkLm1peDspKj4KKzwhQVRUTElTVCBoZWFkICVjb21tb24uYXR0Oz4KKworPCEtLSAuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gLS0+Cis8IS0tIE1ham9yIHNwZWNpZmljYXRpb24gc3RydWN0dXJlIC4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAtLT4KKworPCEtLQorIzE5OTgtMDMtMTA6IG1hbGVyOiBNYWRlIHNwZWMgY29udGVudCBtb2RlbCBlYXNpbHkgY3VzdG9taXphYmxlLgorLS0+CisKKzwhRUxFTUVOVCBzcGVjICglc3BlYy5tZGw7KT4KKzwhQVRUTElTVCBzcGVjICVjb21tb24uYXR0Oz4KKworPCFFTEVNRU5UIGZyb250IChkaXYxKyk+Cis8IUFUVExJU1QgZnJvbnQgJWNvbW1vbi5hdHQ7PgorCis8IUVMRU1FTlQgYm9keSAoZGl2MSspPgorPCFBVFRMSVNUIGJvZHkgJWNvbW1vbi5hdHQ7PgorCis8IS0tCisjMTk5Ny0wOS0zMDogbWFsZXI6IEFkZGVkIGluZm9ybS1kaXYxIHRvIGJhY2sgY29udGVudC4KKy0tPgorCis8IUVMRU1FTlQgYmFjayAoKGRpdjErLCBpbmZvcm0tZGl2MSopIHwgaW5mb3JtLWRpdjErKT4KKzwhQVRUTElTVCBiYWNrICVjb21tb24uYXR0Oz4KKworPCFFTEVNRU5UIGRpdjEgKGhlYWQsICglZGl2Lm1peDspKiwgZGl2MiopPgorPCFBVFRMSVNUIGRpdjEgJWNvbW1vbi5hdHQ7PgorCis8IS0tCisjMTk5Ny0wOS0zMDogbWFsZXI6IEFkZGVkIGluZm9ybS1kaXYxIGRlY2xhcmF0aW9ucy4KKy0tPgorCis8IS0tICAgIGluZm9ybS1kaXYxOiBOb24tbm9ybWF0aXZlIGRpdmlzaW9uIGluIGJhY2sgbWF0dGVyIC0tPgorPCFFTEVNRU5UIGluZm9ybS1kaXYxIChoZWFkLCAoJWRpdi5taXg7KSosIGRpdjIqKT4KKzwhQVRUTElTVCBpbmZvcm0tZGl2MSAlY29tbW9uLmF0dDs+CisKKzwhRUxFTUVOVCBkaXYyIChoZWFkLCAoJWRpdi5taXg7KSosIGRpdjMqKT4KKzwhQVRUTElTVCBkaXYyICVjb21tb24uYXR0Oz4KKworPCFFTEVNRU5UIGRpdjMgKGhlYWQsICglZGl2Lm1peDspKiwgZGl2NCopPgorPCFBVFRMSVNUIGRpdjMgJWNvbW1vbi5hdHQ7PgorCis8IUVMRU1FTlQgZGl2NCAoaGVhZCwgKCVkaXYubWl4OykqKT4KKzwhQVRUTElTVCBkaXY0ICVjb21tb24uYXR0Oz4KKworPCEtLSBTcGVjaWZpY2F0aW9uIGhlYWRlciAuLi4uLi4uLi4uIC0tPgorCis8IS0tCisjMTk5OC0wMy0xMDogbWFsZXI6IE1hZGUgaGVhZGVyIGNvbnRlbnQgbW9kZWwgZWFzaWx5IGN1c3RvbWl6YWJsZS4KKy0tPgorCis8IUVMRU1FTlQgaGVhZGVyICglaGVhZGVyLm1kbDspPgorPCFBVFRMSVNUIGhlYWRlciAlY29tbW9uLmF0dDs+CisKKzwhLS0gICAgRXhhbXBsZSBvZiB0aXRsZTogIkV4dGVuc2libGUgQ2hlZXNlIExhbmd1YWdlIChYQ0wpIiAtLT4KKzwhRUxFTUVOVCB0aXRsZSAoI1BDREFUQSk+Cis8IUFUVExJU1QgdGl0bGUgJWNvbW1vbi5hdHQ7PgorCis8IS0tICAgIEV4YW1wbGUgb2Ygc3VidGl0bGU6ICJBIENoZWVzeSBTcGVjaWZpY2F0aW9uIiAtLT4KKzwhRUxFTUVOVCBzdWJ0aXRsZSAoI1BDREFUQSk+Cis8IUFUVExJU1Qgc3VidGl0bGUgJWNvbW1vbi5hdHQ7PgorCis8IS0tICAgIEV4YW1wbGUgb2YgdmVyc2lvbjogIlZlcnNpb24gNjY2LjAiIC0tPgorPCFFTEVNRU5UIHZlcnNpb24gKCNQQ0RBVEEpPgorPCFBVFRMSVNUIHZlcnNpb24gJWNvbW1vbi5hdHQ7PgorCis8IS0tICAgIEV4YW1wbGUgb2YgdzNjLWRlc2lnbmF0aW9uOiAiV0QteGNsLTE5OTkxMjMxIiAtLT4KKzwhRUxFTUVOVCB3M2MtZGVzaWduYXRpb24gKCNQQ0RBVEEpPgorPCFBVFRMSVNUIHczYy1kZXNpZ25hdGlvbiAlY29tbW9uLmF0dDs+CisKKzwhLS0gICAgRXhhbXBsZSBvZiB3M2MtZG9jdHlwZTogIldvcmxkIFdpZGUgV2ViIENvbnNvcnRpdW0gV29ya2luZworICAgICAgICBEcmFmdCIgLS0+Cis8IUVMRU1FTlQgdzNjLWRvY3R5cGUgKCNQQ0RBVEEpPgorPCFBVFRMSVNUIHczYy1kb2N0eXBlICVjb21tb24uYXR0Oz4KKworPCEtLQorIzE5OTgtMDMtMTA6IG1hbGVyOiBNYWRlIHB1YmRhdGUgY29udGVudCBtb2RlbCBlYXNpbHkgY3VzdG9taXphYmxlLgorLS0+CisKKzwhRUxFTUVOVCBwdWJkYXRlICglcHViZGF0ZS5tZGw7KT4KKzwhQVRUTElTVCBwdWJkYXRlICVjb21tb24uYXR0Oz4KKworPCFFTEVNRU5UIGRheSAoI1BDREFUQSk+Cis8IUFUVExJU1QgZGF5ICVjb21tb24uYXR0Oz4KKworPCFFTEVNRU5UIG1vbnRoICgjUENEQVRBKT4KKzwhQVRUTElTVCBtb250aCAlY29tbW9uLmF0dDs+CisKKzwhRUxFTUVOVCB5ZWFyICgjUENEQVRBKT4KKzwhQVRUTElTVCB5ZWFyICVjb21tb24uYXR0Oz4KKworPCEtLSAgICBFeGFtcGxlIG9mIG5vdGljZTogIlRoaXMgZHJhZnQgaXMgZm9yIHB1YmxpYyBjb21tZW50Li4uIiAtLT4KKzwhRUxFTUVOVCBub3RpY2UgKCVoZHIubWl4OykrPgorPCFBVFRMSVNUIG5vdGljZSAlY29tbW9uLmF0dDs+CisKKzwhRUxFTUVOVCBwdWJsb2MgKGxvYyspPgorPCFBVFRMSVNUIHB1YmxvYyAlY29tbW9uLmF0dDs+CisKKzwhRUxFTUVOVCBwcmV2bG9jcyAobG9jKyk+Cis8IUFUVExJU1QgcHJldmxvY3MgJWNvbW1vbi5hdHQ7PgorCis8IUVMRU1FTlQgbGF0ZXN0bG9jIChsb2MrKT4KKzwhQVRUTElTVCBsYXRlc3Rsb2MgJWNvbW1vbi5hdHQ7PgorCis8IS0tICAgICAgbG9jIChkZWZpbmVkIGluICJQaHJhc2UtbGV2ZWwgZWxlbWVudHMiIGJlbG93KSAtLT4KKworPCFFTEVNRU5UIGF1dGhsaXN0IChhdXRob3IrKT4KKzwhQVRUTElTVCBhdXRobGlzdCAlY29tbW9uLmF0dDs+CisKKzwhLS0KKyMxOTk3LTA5LTMwOiBtYWxlcjogTWFkZSBhZmZpbGlhdGlvbiBvcHRpb25hbC4KKyMxOTk4LTAzLTEwOiBtYWxlcjogTWFkZSBlbWFpbCBvcHRpb25hbC4KKy0tPgorCis8IUVMRU1FTlQgYXV0aG9yIChuYW1lLCBhZmZpbGlhdGlvbj8sIGVtYWlsPyk+Cis8IUFUVExJU1QgYXV0aG9yICVjb21tb24uYXR0Oz4KKworPCFFTEVNRU5UIG5hbWUgKCNQQ0RBVEEpPgorPCFBVFRMSVNUIG5hbWUKKyAgICAgICAgJWNvbW1vbi5hdHQ7CisgICAgICAgICVrZXkuYXR0Oz4KKworPCFFTEVNRU5UIGFmZmlsaWF0aW9uICgjUENEQVRBKT4KKzwhQVRUTElTVCBhZmZpbGlhdGlvbiAlY29tbW9uLmF0dDs+CisKKzwhRUxFTUVOVCBlbWFpbCAoI1BDREFUQSk+Cis8IS0tICAgIEhSRUYgYXR0cmlidXRlOgorICAgICAgICBlbWFpbCBmdW5jdGlvbnMgYXMgYSBoeXBlcnRleHQgcmVmZXJlbmNlIHRocm91Z2ggdGhpcworICAgICAgICByZXF1aXJlZCBhdHRyaWJ1dGUuICBUeXBpY2FsbHkgdGhlIHJlZmVyZW5jZSB3b3VsZCB1c2UKKyAgICAgICAgdGhlIG1haWx0bzogc2NoZW1lLiAtLT4KKzwhQVRUTElTVCBlbWFpbAorICAgICAgICAlY29tbW9uLmF0dDsKKyAgICAgICAgJWhyZWYtcmVxLmF0dDs+CisKKzwhLS0KKyMxOTk4LTA1LTE1OiBtYWxlcjogQ2hhbmdlZCBzdGF0dXMgY29udGVudCBmcm9tICVzdGF0dXNvYmoubWl4OworIyAgICAgICAgICAgICAgICAgICB0byBwbGFpbiAlb2JqLm1peDsuICBzdGF0dXNwIGlzIG9ic29sZXRlLgorLS0+CisKKzwhRUxFTUVOVCBzdGF0dXMgKCVvYmoubWl4OykrPgorPCFBVFRMSVNUIHN0YXR1cyAlY29tbW9uLmF0dDs+CisKKzwhRUxFTUVOVCBhYnN0cmFjdCAoJWhkci5taXg7KSo+Cis8IUFUVExJU1QgYWJzdHJhY3QgJWNvbW1vbi5hdHQ7PgorCis8IUVMRU1FTlQgcHVic3RtdCAoJWhkci5taXg7KSs+Cis8IUFUVExJU1QgcHVic3RtdCAlY29tbW9uLmF0dDs+CisKKzwhRUxFTUVOVCBzb3VyY2VkZXNjICglaGRyLm1peDspKz4KKzwhQVRUTElTVCBzb3VyY2VkZXNjICVjb21tb24uYXR0Oz4KKworPCFFTEVNRU5UIGxhbmd1c2FnZSAobGFuZ3VhZ2UrKT4KKzwhQVRUTElTVCBsYW5ndXNhZ2UgJWNvbW1vbi5hdHQ7PgorCis8IUVMRU1FTlQgbGFuZ3VhZ2UgKCNQQ0RBVEEpPgorPCFBVFRMSVNUIGxhbmd1YWdlICVjb21tb24uYXR0Oz4KKworPCFFTEVNRU5UIHJldmlzaW9uZGVzYyAoJWhkci5taXg7KSs+Cis8IUFUVExJU1QgcmV2aXNpb25kZXNjICVjb21tb24uYXR0Oz4KKworPCEtLSAuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gLS0+Cis8IS0tIFN0YW5kYWxvbmUgZWxlbWVudHMgLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAtLT4KKworPCEtLSBQYXJhZ3JhcGhzIC4uLi4uLi4uLi4uLi4uLi4uLi4uIC0tPgorCis8IS0tCisjMTk5Ny0wOS0zMDogbWFsZXI6IENoYW5nZWQgZnJvbSAlb2JqLm1peDsgdG8gJXAubWl4Oy4KKyMxOTk3LTEyLTI5OiBtYWxlcjogQ2hhbmdlZCBvcmRlciBvZiAlcC5taXg7IGFuZCAlcC5wY2QubWl4OworIyAgICAgICAgICAgICAgICAgICByZWZlcmVuY2VzLgorIzE5OTctMTItMjk6IG1hbGVyOiBDaGFuZ2VkIG9yZGVyIG9mICVzdGF0dXNvYmoubWl4OyBhbmQKKyMgICAgICAgICAgICAgICAgICAgJXN0YXR1c3AucGNkLm1peDsgcmVmZXJlbmNlcy4KKyMxOTk4LTA1LTE0OiBtYWxlcjogUmVtb3ZlZCBzdGF0dXNwIGRlY2xhcmF0aW9ucy4KKy0tPgorCis8IUVMRU1FTlQgcCAoJXAucGNkLm1peDt8JXAubWl4OykqPgorPCFBVFRMSVNUIHAgJWNvbW1vbi5hdHQ7PgorCis8IS0tIExpc3RzIC4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gLS0+CisKKzwhRUxFTUVOVCB1bGlzdCAoaXRlbSspPgorPCEtLSAgICBzcGFjaW5nIGF0dHJpYnV0ZToKKyAgICAgICAgVXNlICJub3JtYWwiIHRvIGdldCBub3JtYWwgdmVydGljYWwgc3BhY2luZyBmb3IgaXRlbXM7CisgICAgICAgIHVzZSAiY29tcGFjdCIgdG8gZ2V0IGxlc3Mgc3BhY2luZy4gIFRoZSBkZWZhdWx0IGlzIGRlcGVuZGVudAorICAgICAgICBvbiB0aGUgc3R5bGVzaGVldC4gLS0+Cis8IUFUVExJU1QgdWxpc3QKKyAgICAgICAgJWNvbW1vbi5hdHQ7CisgICAgICAgIHNwYWNpbmcgICAgICAgICAobm9ybWFsfGNvbXBhY3QpICAgICAgICAjSU1QTElFRD4KKworPCFFTEVNRU5UIG9saXN0IChpdGVtKyk+Cis8IS0tICAgIHNwYWNpbmcgYXR0cmlidXRlOgorICAgICAgICBVc2UgIm5vcm1hbCIgdG8gZ2V0IG5vcm1hbCB2ZXJ0aWNhbCBzcGFjaW5nIGZvciBpdGVtczsKKyAgICAgICAgdXNlICJjb21wYWN0IiB0byBnZXQgbGVzcyBzcGFjaW5nLiAgVGhlIGRlZmF1bHQgaXMgZGVwZW5kZW50CisgICAgICAgIG9uIHRoZSBzdHlsZXNoZWV0LiAtLT4KKzwhQVRUTElTVCBvbGlzdAorICAgICAgICAlY29tbW9uLmF0dDsKKyAgICAgICAgc3BhY2luZyAgICAgICAgIChub3JtYWx8Y29tcGFjdCkgICAgICAgICNJTVBMSUVEPgorCis8IUVMRU1FTlQgaXRlbSAoJW9iai5taXg7KSs+Cis8IUFUVExJU1QgaXRlbSAlY29tbW9uLmF0dDs+CisKKzwhRUxFTUVOVCBzbGlzdCAoc2l0ZW0rKT4KKzwhQVRUTElTVCBzbGlzdCAlY29tbW9uLmF0dDs+CisKKzwhRUxFTUVOVCBzaXRlbSAoJXAucGNkLm1peDspKj4KKzwhQVRUTElTVCBzaXRlbSAlY29tbW9uLmF0dDs+CisKKzwhRUxFTUVOVCBnbGlzdCAoZ2l0ZW0rKT4KKzwhQVRUTElTVCBnbGlzdCAlY29tbW9uLmF0dDs+CisKKzwhRUxFTUVOVCBnaXRlbSAobGFiZWwsIGRlZik+Cis8IUFUVExJU1QgZ2l0ZW0gJWNvbW1vbi5hdHQ7PgorCis8IUVMRU1FTlQgbGFiZWwgKCVsYWJlbC5wY2QubWl4OykqPgorPCFBVFRMSVNUIGxhYmVsICVjb21tb24uYXR0Oz4KKworPCFFTEVNRU5UIGRlZiAoJW9iai5taXg7KSo+Cis8IUFUVExJU1QgZGVmICVjb21tb24uYXR0Oz4KKworPCEtLSBTcGVjaWFsIGxpc3RzIC4uLi4uLi4uLi4uLi4uLi4uIC0tPgorCis8IUVMRU1FTlQgYmxpc3QgKGJpYmwrKT4KKzwhQVRUTElTVCBibGlzdCAlY29tbW9uLmF0dDs+CisKKzwhRUxFTUVOVCBiaWJsICglYmlibC5wY2QubWl4OykqPgorPCEtLSAgICBIUkVGIGF0dHJpYnV0ZToKKyAgICAgICAgYmlibCBvcHRpb25hbGx5IGZ1bmN0aW9ucyBhcyBhIGh5cGVydGV4dCByZWZlcmVuY2UgdG8gdGhlCisgICAgICAgIHJlZmVycmVkLXRvIHJlc291cmNlIHRocm91Z2ggdGhpcyBhdHRyaWJ1dGUuIC0tPgorPCFBVFRMSVNUIGJpYmwKKyAgICAgICAgJWNvbW1vbi5hdHQ7CisgICAgICAgICVocmVmLmF0dDsKKyAgICAgICAgJWtleS5hdHQ7PgorCis8IUVMRU1FTlQgb3JnbGlzdCAobWVtYmVyKyk+Cis8IUFUVExJU1Qgb3JnbGlzdCAlY29tbW9uLmF0dDs+CisKKzwhLS0KKyMxOTk3LTA5LTMwOiBtYWxlcjogQWRkZWQgb3B0aW9uYWwgYWZmaWxpYXRpb24uCistLT4KKworPCFFTEVNRU5UIG1lbWJlciAobmFtZSwgYWZmaWxpYXRpb24/LCByb2xlPyk+Cis8IUFUVExJU1QgbWVtYmVyICVjb21tb24uYXR0Oz4KKworPCEtLSAgICAgIG5hbWUgKGRlZmluZWQgaW4gIlNwZWNpZmljYXRpb24gaGVhZGVyIiBhYm92ZSkgLS0+Cis8IS0tICAgICAgYWZmaWxpYXRpb24gKGRlZmluZWQgaW4gIlNwZWNpZmljYXRpb24gaGVhZGVyIiBhYm92ZSkgLS0+CisKKzwhRUxFTUVOVCByb2xlICgjUENEQVRBKT4KKzwhQVRUTElTVCByb2xlICVjb21tb24uYXR0Oz4KKworPCEtLSBOb3RlcyAuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uIC0tPgorCis8IUVMRU1FTlQgbm90ZSAoJW9iai5taXg7KSs+Cis8IUFUVExJU1Qgbm90ZSAlY29tbW9uLmF0dDs+CisKKzwhLS0KKyMxOTk4LTA1LTE0OiBtYWxlcjogRGVjbGFyZWQgaXNzdWUgZWxlbWVudC4KKy0tPgorCis8IUVMRU1FTlQgaXNzdWUgKCVvYmoubWl4OykrPgorPCFBVFRMSVNUIGlzc3VlICVjb21tb24taWRyZXEuYXR0Oz4KKworPCFFTEVNRU5UIHdmY25vdGUgKGhlYWQsICglb2JqLm1peDspKyk+Cis8IS0tICAgIElEIGF0dHJpYnV0ZToKKyAgICAgICAgd2Zjbm90ZSBtdXN0IGhhdmUgYW4gSUQgc28gdGhhdCBpdCBjYW4gYmUgcG9pbnRlZCB0bworICAgICAgICBmcm9tIGEgd2ZjIGVsZW1lbnQgaW4gYSBwcm9kdWN0aW9uLiAtLT4KKzwhQVRUTElTVCB3ZmNub3RlCisgICAgICAgICVjb21tb24taWRyZXEuYXR0Oz4KKworPCFFTEVNRU5UIHZjbm90ZSAoaGVhZCwgKCVvYmoubWl4OykrKT4KKzwhLS0gICAgSUQgYXR0cmlidXRlOgorICAgICAgICB2Y25vdGUgbXVzdCBoYXZlIGFuIElEIHNvIHRoYXQgaXQgY2FuIGJlIHBvaW50ZWQgdG8KKyAgICAgICAgZnJvbSBhIHZjIGVsZW1lbnQgaW4gYSBwcm9kdWN0aW9uLiAtLT4KKzwhQVRUTElTVCB2Y25vdGUKKyAgICAgICAgJWNvbW1vbi1pZHJlcS5hdHQ7PgorCis8IS0tCisjMTk5OC0wNS0yMTogbWFsZXI6IERlY2xhcmVkIGdlbmVyaWMgY29uc3RyYWludG5vdGUgZWxlbWVudC4KKy0tPgorCis8IUVMRU1FTlQgY29uc3RyYWludG5vdGUgKGhlYWQsICglb2JqLm1peDspKyk+Cis8IS0tICAgIElEIGF0dHJpYnV0ZToKKyAgICAgICAgY25vdGUgbXVzdCBoYXZlIGFuIElEIHNvIHRoYXQgaXQgY2FuIGJlIHBvaW50ZWQgdG8KKyAgICAgICAgZnJvbSBhIGNvbnN0cmFpbnQgZWxlbWVudCBpbiBhIHByb2R1Y3Rpb24uIC0tPgorPCEtLSAgICB0eXBlIGF0dHJpYnV0ZToKKyAgICAgICAgY25vdGUgbXVzdCBoYXZlIGEgdHlwZSB2YWx1ZSBrZXl3b3JkIHNvIHRoYXQgaXQgY2FuIGJlCisgICAgICAgIGNvcnJlY3RseSBjaGFyYWN0ZXJpemVkIGluIHRoZSBzcGVjaWZpY2F0aW9uLiAtLT4KKzwhQVRUTElTVCBjb25zdHJhaW50bm90ZQorICAgICAgICAlY29tbW9uLWlkcmVxLmF0dDsKKyAgICAgICAgdHlwZSAgICAgICAgICAgIE5NVE9LRU4gICAgICAgICAjUkVRVUlSRUQ+CisKKzwhLS0gSWxsdXN0cmF0aW9ucyAuLi4uLi4uLi4uLi4uLi4uLiAtLT4KKworPCEtLQorIzE5OTgtMDMtMjM6IG1hbGVyOiBBZGRlZCB4bWw6c3BhY2UgYXR0cmlidXRlLgorLS0+CisKKzwhRUxFTUVOVCBlZyAoJWVnLnBjZC5taXg7KSo+Cis8IUFUVExJU1QgZWcKKyAgICAgICAgJWNvbW1vbi5hdHQ7CisgICAgICAgICV4bWxzcGFjZS5hdHQ7PgorCis8IUVMRU1FTlQgZ3JhcGhpYyBFTVBUWT4KKzwhLS0gICAgc291cmNlIGF0dHJpYnV0ZToKKyAgICAgICAgVGhlIGdyYXBoaWMgZGF0YSBtdXN0IHJlc2lkZSBhdCB0aGUgbG9jYXRpb24gcG9pbnRlZCB0by4KKyAgICAgICAgVGhpcyBpcyBhIGh5cGVydGV4dCByZWZlcmVuY2UsIGJ1dCBmb3IgcHJhY3RpY2FsIHB1cnBvc2VzLAorICAgICAgICBmb3Igbm93IGl0IHNob3VsZCBqdXN0IGJlIGEgcGF0aG5hbWUuIC0tPgorPCFBVFRMSVNUIGdyYXBoaWMKKyAgICAgICAgJWNvbW1vbi5hdHQ7CisgICAgICAgICVzb3VyY2UtcmVxLmF0dDsKKyAgICAgICAgYWx0ICAgICAgICAgICAgIENEQVRBICAgICAgICAgICAjSU1QTElFRD4KKworPCEtLQorIzE5OTctMTEtMjg6IG1hbGVyOiBBZGRlZCBwcm9kZ3JvdXAgdG8gc2NyYXAgYW5kIGRlZmluZWQgaXQuCisjMTk5OC0wNS0yMTogbWFsZXI6IEFkZGVkIGNvbnN0cmFpbnQgdG8gcHJvZC4KKy0tPgorCis8IUVMRU1FTlQgc2NyYXAgKGhlYWQsIChwcm9kZ3JvdXArIHwgcHJvZCsgfCBibmYpKT4KKzwhLS0gICAgbGFuZyBhdHRyaWJ1dGU6CisgICAgICAgIFRoZSBzY3JhcCBjYW4gbGluayB0byBhIGRlc2NyaXB0aW9uIG9mIHRoZSBsYW5ndWFnZSB1c2VkLAorICAgICAgICBmb3VuZCBpbiBhIGxhbmd1YWdlIGVsZW1lbnQgaW4gdGhlIGhlYWRlci4gLS0+Cis8IUFUVExJU1Qgc2NyYXAKKyAgICAgICAgJWNvbW1vbi5hdHQ7CisgICAgICAgIGxhbmcgICAgICAgICAgICBJRFJFRiAgICAgICAgICAgI0lNUExJRUQ+CisKKzwhRUxFTUVOVCBwcm9kZ3JvdXAgKHByb2QrKT4KKzwhLS0gICAgcGN3PG4+IGF0dHJpYnV0ZXM6CisgICAgICAgIFByZXNlbnRhdGlvbmFsIGF0dHJpYnV0ZXMgdG8gY29udHJvbCB0aGUgd2lkdGgKKyAgICAgICAgb2YgdGhlICJwc2V1ZG8tdGFibGUiIGNvbHVtbnMgdXNlZCB0byBvdXRwdXQKKyAgICAgICAgZ3JvdXBzIG9mIHByb2R1Y3Rpb25zLiAtLT4KKzwhQVRUTElTVCBwcm9kZ3JvdXAKKyAgICAgICAgJWNvbW1vbi5hdHQ7CisgICAgICAgIHBjdzEgICAgICAgICAgICBDREFUQSAgICAgICAgICAgI0lNUExJRUQKKyAgICAgICAgcGN3MiAgICAgICAgICAgIENEQVRBICAgICAgICAgICAjSU1QTElFRAorICAgICAgICBwY3czICAgICAgICAgICAgQ0RBVEEgICAgICAgICAgICNJTVBMSUVECisgICAgICAgIHBjdzQgICAgICAgICAgICBDREFUQSAgICAgICAgICAgI0lNUExJRUQKKyAgICAgICAgcGN3NSAgICAgICAgICAgIENEQVRBICAgICAgICAgICAjSU1QTElFRAorPgorCis8IUVMRU1FTlQgcHJvZCAobGhzLCAocmhzLCAoY29tfHdmY3x2Y3xjb25zdHJhaW50KSopKyk+Cis8IS0tICAgIElEIGF0dHJpYnV0ZToKKyAgICAgICAgVGhlIHByb2R1Y3Rpb24gbXVzdCBoYXZlIGFuIElEIHNvIHRoYXQgY3Jvc3MtcmVmZXJlbmNlcworICAgICAgICAoc3BlY3JlZikgYW5kIG1lbnRpb25zIG9mIG5vbnRlcm1pbmFscyAobnQpIGNhbiBsaW5rIHRvCisgICAgICAgIGl0LiAtLT4KKzwhQVRUTElTVCBwcm9kCisgICAgICAgICVjb21tb24taWRyZXEuYXR0Oz4KKworPCFFTEVNRU5UIGxocyAoI1BDREFUQSk+Cis8IUFUVExJU1QgbGhzICVjb21tb24uYXR0Oz4KKworPCFFTEVNRU5UIHJocyAoI1BDREFUQXxudHx4bnR8Y29tKSo+Cis8IUFUVExJU1QgcmhzICVjb21tb24uYXR0Oz4KKworPCEtLSAgICAgIG50IGFuZCB4bnQgKGRlZmluZWQgaW4gIlBocmFzZS1sZXZlbCBlbGVtZW50cyIgYmVsb3cpIC0tPgorCis8IS0tCisjMTk5Ny0xMS0yODogbWFsZXI6IEFkZGVkIGxvYyBhbmQgYmlicmVmIHRvIGNvbSBjb250ZW50LgorLS0+CisKKzwhRUxFTUVOVCBjb20gKCNQQ0RBVEF8bG9jfGJpYnJlZikqPgorPCFBVFRMSVNUIGNvbSAlY29tbW9uLmF0dDs+CisKKzwhLS0gICAgd2ZjOiBTaG91bGQgZ2VuZXJhdGUgdGhlIGhlYWQgb2YgdGhlIHdmY25vdGUgcG9pbnRlZCB0byAtLT4KKzwhRUxFTUVOVCB3ZmMgRU1QVFk+Cis8IS0tICAgIGRlZiBhdHRyaWJ1dGU6CisgICAgICAgIEVhY2ggd2VsbCBmb3JtZWRuZXNzIHRhZ2xpbmUgaW4gYSBwcm9kdWN0aW9uIG11c3QgbGluayB0byB0aGUKKyAgICAgICAgd2Zjbm90ZSB0aGF0IGRlZmluZXMgaXQuIC0tPgorPCFBVFRMSVNUIHdmYworICAgICAgICAlZGVmLXJlcS5hdHQ7CisgICAgICAgICVjb21tb24uYXR0Oz4KKworPCEtLSAgICB2YzogU2hvdWxkIGdlbmVyYXRlIHRoZSBoZWFkIG9mIHRoZSB2Y25vdGUgcG9pbnRlZCB0byAtLT4KKzwhRUxFTUVOVCB2YyBFTVBUWT4KKzwhLS0gICAgZGVmIGF0dHJpYnV0ZToKKyAgICAgICAgRWFjaCB2YWxpZGl0eSB0YWdsaW5lIGluIGEgcHJvZHVjdGlvbiBtdXN0IGxpbmsgdG8gdGhlIHZjbm90ZQorICAgICAgICB0aGF0IGRlZmluZXMgaXQuIC0tPgorPCFBVFRMSVNUIHZjCisgICAgICAgICVkZWYtcmVxLmF0dDsKKyAgICAgICAgJWNvbW1vbi5hdHQ7PgorCis8IS0tCisjMTk5OC0wNS0yMTogbWFsZXI6IERlY2xhcmVkIGdlbmVyaWMgY29uc3RyYWludCBlbGVtZW50LgorLS0+CisKKzwhLS0gICAgY29uc3RyYWludDogU2hvdWxkIGdlbmVyYXRlIHRoZSBoZWFkIG9mIHRoZSBjb25zdHJhaW50bm90ZQorICAgICAgICBwb2ludGVkIHRvIC0tPgorPCFFTEVNRU5UIGNvbnN0cmFpbnQgRU1QVFk+Cis8IS0tICAgIGRlZiBhdHRyaWJ1dGU6CisgICAgICAgIEVhY2ggY29uc3RyYWludCB0YWdsaW5lIGluIGEgcHJvZHVjdGlvbiBtdXN0IGxpbmsgdG8gdGhlCisgICAgICAgIGNvbnN0cmFpbnQgbm90ZSB0aGF0IGRlZmluZXMgaXQuIC0tPgorPCFBVFRMSVNUIGNvbnN0cmFpbnQKKyAgICAgICAgJWRlZi1yZXEuYXR0OworICAgICAgICAlY29tbW9uLmF0dDs+CisKKzwhLS0KKyMxOTk4LTAzLTIzOiBtYWxlcjogQWRkZWQgeG1sOnNwYWNlIGF0dHJpYnV0ZS4KKy0tPgorCis8IS0tICAgIGJuZjogVW4tbWFya2VkLXVwIHByb2R1Y3Rpb24gLS0+Cis8IUVMRU1FTlQgYm5mICglZWcucGNkLm1peDspKj4KKzwhQVRUTElTVCBibmYKKyAgICAgICAgJWNvbW1vbi5hdHQ7CisgICAgICAgICV4bWxzcGFjZS5hdHQ7PgorCis8IS0tCisjMTk5Ny0xMC0xNjogbWFsZXI6IEFkZGVkIHRhYmxlIG1lY2hhbmlzbS4KKyMxOTk3LTExLTI4OiBtYWxlcjogQWRkZWQgbm9uLW51bGwgc3lzdGVtIElEIHRvIGVudGl0eSBkZWNsYXJhdGlvbi4KKyMgICAgICAgICAgICAgICAgICAgQWRkZWQgSFRNTCB0YWJsZSBtb2R1bGUuCisjMTk5Ny0xMi0yOTogbWFsZXI6IElHTk9SRWQgU0dNTCBPcGVuIHRhYmxlIG1vZGVsLgorIzE5OTgtMDMtMTA6IG1hbGVyOiBSZW1vdmVkIFNHTUwgT3BlbiB0YWJsZSBtb2RlbC4KKyMgICAgICAgICAgICAgICAgICAgTWVyZ2VkIGh0bWwtdGJsLm1vZCBmaWxlIGludG8gbWFpbiBmaWxlLgorIyAgICAgICAgICAgICAgICAgICBBZGRlZCAlY29tbW9uLmF0dDsgdG8gYWxsIEhUTUwgdGFibGUgZWxlbWVudHMuCisjMTk5OC0wNS0xNDogbWFsZXI6IFJlcGxhY2VkIHRhYmxlIG1vZGVsIHdpdGggZnVsbCBIVE1MIDQuMCBtb2RlbC4KKyMgICAgICAgICAgICAgICAgICAgUmVtb3ZlZCBodGFibGUgaW4gZmF2b3Igb2YgdGFibGUuCisjICAgICAgICAgICAgICAgICAgIFJlbW92ZWQgaHRib2R5IGluIGZhdm9yIG9mIHRib2R5LgorLS0+CisKKzwhRU5USVRZICUgY2VsbGhhbGlnbi5hdHQKKyAgICAgICAgJ2FsaWduICAgICAgICAgIChsZWZ0fGNlbnRlcgorICAgICAgICAgICAgICAgICAgICAgICAgfHJpZ2h0fGp1c3RpZnkKKyAgICAgICAgICAgICAgICAgICAgICAgIHxjaGFyKSAgICAgICAgICAjSU1QTElFRAorICAgICAgICBjaGFyICAgICAgICAgICAgQ0RBVEEgICAgICAgICAgICNJTVBMSUVECisgICAgICAgIGNoYXJvZmYgICAgICAgICBDREFUQSAgICAgICAgICAgI0lNUExJRUQnPgorCis8IUVOVElUWSAlIGNlbGx2YWxpZ24uYXR0CisgICAgICAgICd2YWxpZ24gICAgICAgICAodG9wfG1pZGRsZQorICAgICAgICAgICAgICAgICAgICAgICAgfGJvdHRvbQorICAgICAgICAgICAgICAgICAgICAgICAgfGJhc2VsaW5lKSAgICAgICNJTVBMSUVEJz4KKworPCFFTlRJVFkgJSB0aHRkLmF0dAorICAgICAgICAnYWJiciAgICAgICAgICAgQ0RBVEEgICAgICAgICAgICNJTVBMSUVECisgICAgICAgIGF4aXMgICAgICAgICAgICBDREFUQSAgICAgICAgICAgI0lNUExJRUQKKyAgICAgICAgaGVhZGVycyAgICAgICAgIElEUkVGUyAgICAgICAgICAjSU1QTElFRAorICAgICAgICBzY29wZSAgICAgICAgICAgKHJvdworICAgICAgICAgICAgICAgICAgICAgICAgfGNvbAorICAgICAgICAgICAgICAgICAgICAgICAgfHJvd2dyb3VwCisgICAgICAgICAgICAgICAgICAgICAgICB8Y29sZ3JvdXApICAgICAgI0lNUExJRUQKKyAgICAgICAgcm93c3BhbiAgICAgICAgIE5NVE9LRU4gICAgICAgICAiMSIKKyAgICAgICAgY29sc3BhbiAgICAgICAgIE5NVE9LRU4gICAgICAgICAiMSInPgorCis8IUVOVElUWSAlIHdpZHRoLmF0dAorICAgICAgICAnd2lkdGggICAgICAgICAgQ0RBVEEgICAgICAgICAgICNJTVBMSUVEJz4KKworPCFFTlRJVFkgJSBzcGFuLmF0dAorICAgICAgICAnc3BhbiAgICAgICAgICAgTk1UT0tFTiAgICAgICAgICIxIic+CisKKzwhRUxFTUVOVCB0YWJsZQorICAgICAgICAoY2FwdGlvbj8sIChjb2wqfGNvbGdyb3VwKiksIHRoZWFkPywgdGZvb3Q/LCB0Ym9keSspPgorPCFBVFRMSVNUIHRhYmxlCisgICAgICAgICVjb21tb24uYXR0OworICAgICAgICAld2lkdGguYXR0OworICAgICAgICBzdW1tYXJ5ICAgICAgICAgQ0RBVEEgICAgICAgICAgICNJTVBMSUVECisgICAgICAgIGJvcmRlciAgICAgICAgICBDREFUQSAgICAgICAgICAgI0lNUExJRUQKKyAgICAgICAgZnJhbWUgICAgICAgICAgICh2b2lkfGFib3ZlCisgICAgICAgICAgICAgICAgICAgICAgICB8YmVsb3d8aHNpZGVzCisgICAgICAgICAgICAgICAgICAgICAgICB8bGhzfHJocworICAgICAgICAgICAgICAgICAgICAgICAgfHZzaWRlc3xib3gKKyAgICAgICAgICAgICAgICAgICAgICAgIHxib3JkZXIpICAgICAgICAjSU1QTElFRAorICAgICAgICBydWxlcyAgICAgICAgICAgKG5vbmV8Z3JvdXBzCisgICAgICAgICAgICAgICAgICAgICAgICB8cm93c3xjb2xzCisgICAgICAgICAgICAgICAgICAgICAgICB8YWxsKSAgICAgICAgICAgI0lNUExJRUQKKyAgICAgICAgY2VsbHNwYWNpbmcgICAgIENEQVRBICAgICAgICAgICAjSU1QTElFRAorICAgICAgICBjZWxscGFkZGluZyAgICAgQ0RBVEEgICAgICAgICAgICNJTVBMSUVEPgorCis8IUVMRU1FTlQgY2FwdGlvbiAoJXAucGNkLm1peDspKj4KKzwhQVRUTElTVCBjYXB0aW9uICVjb21tb24uYXR0Oz4KKworPCFFTEVNRU5UIGNvbCBFTVBUWT4KKzwhQVRUTElTVCBjb2wKKyAgICAgICAgJWNvbW1vbi5hdHQ7CisgICAgICAgICVzcGFuLmF0dDsKKyAgICAgICAgJXdpZHRoLmF0dDsKKyAgICAgICAgJWNlbGxoYWxpZ24uYXR0OworICAgICAgICAlY2VsbHZhbGlnbi5hdHQ7PgorCis8IUVMRU1FTlQgY29sZ3JvdXAgKGNvbCkqPgorPCFBVFRMSVNUIGNvbGdyb3VwCisgICAgICAgICVjb21tb24uYXR0OworICAgICAgICAlc3Bhbi5hdHQ7CisgICAgICAgICV3aWR0aC5hdHQ7CisgICAgICAgICVjZWxsaGFsaWduLmF0dDsKKyAgICAgICAgJWNlbGx2YWxpZ24uYXR0Oz4KKworPCFFTEVNRU5UIHRoZWFkICh0cikrPgorPCFBVFRMSVNUIHRoZWFkCisgICAgICAgICVjb21tb24uYXR0OworICAgICAgICAlY2VsbGhhbGlnbi5hdHQ7CisgICAgICAgICVjZWxsdmFsaWduLmF0dDs+CisKKzwhRUxFTUVOVCB0Zm9vdCAodHIpKz4KKzwhQVRUTElTVCB0Zm9vdAorICAgICAgICAlY29tbW9uLmF0dDsKKyAgICAgICAgJWNlbGxoYWxpZ24uYXR0OworICAgICAgICAlY2VsbHZhbGlnbi5hdHQ7PgorCis8IUVMRU1FTlQgdGJvZHkgKHRyKSs+Cis8IUFUVExJU1QgdGJvZHkKKyAgICAgICAgJWNvbW1vbi5hdHQ7CisgICAgICAgICVjZWxsaGFsaWduLmF0dDsKKyAgICAgICAgJWNlbGx2YWxpZ24uYXR0Oz4KKworPCFFTEVNRU5UIHRyICh0aHx0ZCkrPgorPCFBVFRMSVNUIHRyCisgICAgICAgICVjb21tb24uYXR0OworICAgICAgICAlY2VsbGhhbGlnbi5hdHQ7CisgICAgICAgICVjZWxsdmFsaWduLmF0dDs+CisKKzwhRUxFTUVOVCB0aCAoJXAucGNkLm1peDt8JXAubWl4OykqPgorPCFBVFRMSVNUIHRoCisgICAgICAgICVjb21tb24uYXR0OworICAgICAgICAldGh0ZC5hdHQ7CisgICAgICAgICVjZWxsaGFsaWduLmF0dDsKKyAgICAgICAgJWNlbGx2YWxpZ24uYXR0Oz4KKworPCFFTEVNRU5UIHRkICglcC5wY2QubWl4O3wlcC5taXg7KSo+Cis8IUFUVExJU1QgdGQKKyAgICAgICAgJWNvbW1vbi5hdHQ7CisgICAgICAgICV0aHRkLmF0dDsKKyAgICAgICAgJWNlbGxoYWxpZ24uYXR0OworICAgICAgICAlY2VsbHZhbGlnbi5hdHQ7PgorCis8IS0tIC4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAtLT4KKzwhLS0gUGhyYXNlLWxldmVsIGVsZW1lbnRzIC4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uIC0tPgorCis8IS0tICAgIGJpYnJlZjogU2hvdWxkIGdlbmVyYXRlLCBpbiBzcXVhcmUgYnJhY2tldHMsICJrZXkiIG9uIGJpYmwgLS0+Cis8IUVMRU1FTlQgYmlicmVmIEVNUFRZPgorPCEtLSAgICByZWYgYXR0cmlidXRlOgorICAgICAgICBBIGJpYmxpb2dyYXBoeSByZWZlcmVuY2UgbXVzdCBsaW5rIHRvIHRoZSBiaWJsIGVsZW1lbnQgdGhhdAorICAgICAgICBkZXNjcmliZXMgdGhlIHJlc291cmNlLiAtLT4KKzwhQVRUTElTVCBiaWJyZWYKKyAgICAgICAgJWNvbW1vbi5hdHQ7CisgICAgICAgICVyZWYtcmVxLmF0dDs+CisKKzwhRUxFTUVOVCBjb2RlICgldGVjaC5wY2QubWl4OykqPgorPCFBVFRMSVNUIGNvZGUgJWNvbW1vbi5hdHQ7PgorCis8IS0tCisjMTk5OC0wMy0xMDogbWFsZXI6IERlY2xhcmVkIGVkbm90ZSBhbmQgcmVsYXRlZCBlbGVtZW50cy4KKy0tPgorCis8IUVMRU1FTlQgZWRub3RlIChuYW1lPywgZGF0ZT8sIGVkdGV4dCk+Cis8IUFUVExJU1QgZWRub3RlICVjb21tb24uYXR0Oz4KKworPCFFTEVNRU5UIGRhdGUgKCNQQ0RBVEEpPgorPCFBVFRMSVNUIGRhdGUgJWNvbW1vbi5hdHQ7PgorCis8IUVMRU1FTlQgZWR0ZXh0ICgjUENEQVRBKT4KKzwhQVRUTElTVCBlZHRleHQgJWNvbW1vbi5hdHQ7PgorCis8IUVMRU1FTlQgZW1waCAoI1BDREFUQSk+Cis8IUFUVExJU1QgZW1waCAlY29tbW9uLmF0dDs+CisKKzwhLS0gICAgZm9vdG5vdGU6IEJvdGggZm9vdG5vdGUgY29udGVudCBhbmQgY2FsbCB0byBmb290bm90ZSAtLT4KKzwhRUxFTUVOVCBmb290bm90ZSAoJW9iai5taXg7KSs+Cis8IUFUVExJU1QgZm9vdG5vdGUgJWNvbW1vbi5hdHQ7PgorCis8IUVMRU1FTlQga3cgKCV0ZWNoLnBjZC5taXg7KSo+Cis8IUFUVExJU1Qga3cgJWNvbW1vbi5hdHQ7PgorCis8IUVMRU1FTlQgbG9jICgjUENEQVRBKT4KKzwhLS0gICAgSFJFRiBhdHRyaWJ1dGU6CisgICAgICAgIFRoZSBwdXJwb3NlIG9mIGEgbG9jIGVsZW1lbnQgaXMgdG8gZnVuY3Rpb24gYXMgYSBoeXBlcnRleHQKKyAgICAgICAgbGluayB0byBhIHJlc291cmNlLiAgKElkZWFsbHksIHRoZSBjb250ZW50IG9mIGxvYyB3aWxsIGFsc28KKyAgICAgICAgbWVudGlvbiB0aGUgVVJJIG9mIHRoZSByZXNvdXJjZSwgc28gdGhhdCByZWFkZXJzIG9mIHRoZQorICAgICAgICBwcmludGVkIHZlcnNpb24gd2lsbCBiZSBhYmxlIHRvIGxvY2F0ZSB0aGUgcmVzb3VyY2UuKSAtLT4KKzwhQVRUTElTVCBsb2MKKyAgICAgICAgJWNvbW1vbi5hdHQ7CisgICAgICAgICVocmVmLXJlcS5hdHQ7PgorCis8IUVMRU1FTlQgbnQgKCNQQ0RBVEEpPgorPCEtLSAgICBkZWYgYXR0cmlidXRlOgorICAgICAgICBUaGUgbm9udGVybWluYWwgbXVzdCBsaW5rIHRvIHRoZSBwcm9kdWN0aW9uIHRoYXQgZGVmaW5lcworICAgICAgICBpdC4gLS0+Cis8IUFUVExJU1QgbnQKKyAgICAgICAgJWNvbW1vbi5hdHQ7CisgICAgICAgICVkZWYtcmVxLmF0dDs+CisKKzwhLS0KKyMxOTk4LTAzLTEwOiBtYWxlcjogRGVjbGFyZWQgcXVvdGUuCistLT4KKworPCEtLSAgICBxdW90ZTogU2NhcmUgcXVvdGVzIGFuZCBvdGhlciBwdXJlbHkgcHJlc2VudGF0aW9uYWwgcXVvdGVzIC0tPgorPCFFTEVNRU5UIHF1b3RlICglcC5wY2QubWl4OykqPgorPCFBVFRMSVNUIHF1b3RlICVjb21tb24uYXR0Oz4KKworPCEtLSAgICBzcGVjcmVmOiBTaG91bGQgZ2VuZXJhdGUgaXRhbGljICJbbi5uXSwgU2VjdGlvbiBUaXRsZSIgZm9yCisgICAgICAgIGRpdiwgIm4iIGZvciBudW1iZXJlZCBpdGVtLCAiW25dIiBmb3IgcHJvZHVjdGlvbiwgb3IKKyAgICAgICAgIklzc3VlIG4iIGZvciBpc3N1ZSAtLT4KKzwhRUxFTUVOVCBzcGVjcmVmIEVNUFRZPgorPCEtLSAgICByZWYgYXR0cmlidXRlOgorICAgICAgICBUaGUgcHVycG9zZSBvZiBhIHNwZWNyZWYgZWxlbWVudCBpcyB0byBsaW5rIHRvIGEgZGl2LCBpdGVtCisgICAgICAgIGluIGFuIG9saXN0LCBvciBwcm9kdWN0aW9uIGluIHRoZSBjdXJyZW50IHNwZWMuIC0tPgorPCFBVFRMSVNUIHNwZWNyZWYKKyAgICAgICAgJWNvbW1vbi5hdHQ7CisgICAgICAgICVyZWYtcmVxLmF0dDs+CisKKzwhRUxFTUVOVCB0ZXJtICgjUENEQVRBKT4KKzwhQVRUTElTVCB0ZXJtICVjb21tb24uYXR0Oz4KKworPCFFTEVNRU5UIHRlcm1kZWYgKCV0ZXJtZGVmLnBjZC5taXg7fCV0ZXJtZGVmLm1peDspKj4KKzwhLS0gICAgSUQgYXR0cmlidXRlOgorICAgICAgICBBIHRlcm0gZGVmaW5pdGlvbiBtdXN0IGhhdmUgYW4gSUQgc28gdGhhdCBpdCBjYW4gYmUgbGlua2VkCisgICAgICAgIHRvIGZyb20gdGVybXJlZiBlbGVtZW50cy4gLS0+Cis8IS0tICAgIHRlcm0gYXR0cmlidXRlOgorICAgICAgICBUaGUgY2Fub25pY2FsIGZvcm0gb2YgdGhlIHRlcm0gb3IgcGhyYXNlIGJlaW5nIGRlZmluZWQgbXVzdAorICAgICAgICBhcHBlYXIgaW4gdGhpcyBhdHRyaWJ1dGUsIGV2ZW4gaWYgdGhlIHRlcm0gb3IgcGhyYXNlIGFsc28KKyAgICAgICAgYXBwZWFycyBpbiB0aGUgZWxlbWVudCBjb250ZW50IGluIGlkZW50aWNhbCBmb3JtIChlLmcuLCBpbgorICAgICAgICB0aGUgdGVybSBlbGVtZW50KS4gLS0+Cis8IUFUVExJU1QgdGVybWRlZgorICAgICAgICAlY29tbW9uLWlkcmVxLmF0dDsKKyAgICAgICAgdGVybSAgICAgICAgICAgIENEQVRBICAgICAgICAgICAjUkVRVUlSRUQ+CisKKzwhRUxFTUVOVCB0ZXJtcmVmICgjUENEQVRBKT4KKzwhLS0gICAgcmVmIGF0dHJpYnV0ZToKKyAgICAgICAgQSB0ZXJtIHJlZmVyZW5jZSBtdXN0IGxpbmsgdG8gdGhlIHRlcm1kZWYgZWxlbWVudCB0aGF0CisgICAgICAgIGRlZmluZXMgdGhlIHRlcm0uIC0tPgorPCFBVFRMSVNUIHRlcm1yZWYKKyAgICAgICAgJWNvbW1vbi5hdHQ7CisgICAgICAgICVkZWYtcmVxLmF0dDs+CisKKzwhRUxFTUVOVCB0aXRsZXJlZiAoI1BDREFUQSk+Cis8IS0tICAgIEhSRUYgYXR0cmlidXRlOgorICAgICAgICBBIHRpdGxlIHJlZmVyZW5jZSBjYW4gb3B0aW9uYWxseSBmdW5jdGlvbiBhcyBhIGh5cGVydGV4dAorICAgICAgICBsaW5rIHRvIHRoZSByZXNvdXJjZSB3aXRoIHRoaXMgdGl0bGUuIC0tPgorPCFBVFRMSVNUIHRpdGxlcmVmCisgICAgICAgICVjb21tb24uYXR0OworICAgICAgICAlaHJlZi5hdHQ7PgorCis8IUVMRU1FTlQgeG50ICgjUENEQVRBKT4KKzwhLS0gICAgSFJFRiBhdHRyaWJ1dGU6CisgICAgICAgIFRoZSBub250ZXJtaW5hbCBtdXN0IGh5cGVybGluayB0byBhIHJlc291cmNlIHRoYXQgc2VydmVzCisgICAgICAgIHRvIGRlZmluZSBpdCAoZS5nLiwgYSBwcm9kdWN0aW9uIGluIGEgcmVsYXRlZCBYTUwKKyAgICAgICAgc3BlY2lmaWNhdGlvbikuIC0tPgorPCFBVFRMSVNUIHhudAorICAgICAgICAlY29tbW9uLmF0dDsKKyAgICAgICAgJWhyZWYtcmVxLmF0dDs+CisKKzwhLS0KKyMxOTk3LTEyLTI5OiBtYWxlcjogRGVjbGFyZWQgeHNwZWNyZWYuCistLT4KKworPCFFTEVNRU5UIHhzcGVjcmVmICgjUENEQVRBKT4KKzwhLS0gICAgSFJFRiBhdHRyaWJ1dGU6CisgICAgICAgIFRoZSBzcGVjIHJlZmVyZW5jZSBtdXN0IGh5cGVybGluayB0byB0aGUgcmVzb3VyY2UgdG8KKyAgICAgICAgY3Jvc3MtcmVmZXIgdG8gKGUuZy4sIGEgc2VjdGlvbiBpbiBhIHJlbGF0ZWQgWE1MCisgICAgICAgIHNwZWNpZmljYXRpb24pLiAtLT4KKzwhQVRUTElTVCB4c3BlY3JlZgorICAgICAgICAlY29tbW9uLmF0dDsKKyAgICAgICAgJWhyZWYtcmVxLmF0dDs+CisKKzwhRUxFTUVOVCB4dGVybXJlZiAoI1BDREFUQSk+Cis8IS0tICAgIEhSRUYgYXR0cmlidXRlOgorICAgICAgICBUaGUgdGVybSByZWZlcmVuY2UgbXVzdCBoeXBlcmxpbmsgdG8gdGhlIHJlc291cmNlIHRoYXQKKyAgICAgICAgc2VydmVzIHRvIGRlZmluZSB0aGUgdGVybSAoZS5nLiwgYSB0ZXJtIGRlZmluaXRpb24gaW4KKyAgICAgICAgYSByZWxhdGVkIFhNTCBzcGVjaWZpY2F0aW9uKS4gLS0+Cis8IUFUVExJU1QgeHRlcm1yZWYKKyAgICAgICAgJWNvbW1vbi5hdHQ7CisgICAgICAgICVocmVmLXJlcS5hdHQ7PgorCis8IS0tIC4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAtLT4KKzwhLS0gVW51c2VkIGVsZW1lbnRzIGZvciBBREVQVCAuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uIC0tPgorCis8IS0tCisjMTk5Ny0wOS0zMDogbWFsZXI6IEFkZGVkIHVudXN1ZWQgZWxlbWVudHMuCisjMTk5Ny0xMC0xNDogbWFsZXI6IEZpeGVkIGRpdiB0byBtb3ZlIG5lc3RlZCBkaXYgdG8gdGhlIG1peHR1cmUuCisjMTk5OC0wNS0xNDogbWFsZXI6IEFkZGVkIGtleS10ZXJtLCBodGFibGUsIGFuZCBodGJvZHkuCistLT4KKworPCEtLSAgICBUaGUgZm9sbG93aW5nIGVsZW1lbnRzIGFyZSBwdXJwb3NlbHkgZGVjbGFyZWQgYnV0IG5ldmVyCisgICAgICAgIHJlZmVyZW5jZWQuICBEZWNsYXJpbmcgdGhlbSBhbGxvd3MgdGhlbSB0byBiZSBwYXN0ZWQgZnJvbQorICAgICAgICBhbiBIVE1MIGRvY3VtZW50IG9yIGFuIGVhcmxpZXIgdmVyc2lvbiBvZiBhbiBYTUwgc3BlYyBkb2N1bWVudAorICAgICAgICBpbnRvIGEgZG9jdW1lbnQgdXNpbmcgdGhpcyBEVEQgaW4gQURFUFQuICBUaGUgQVREIENvbnRleHQKKyAgICAgICAgVHJhbnNmb3JtYXRpb24gbWVjaGFuaXNtIHdpbGwgdHJ5IHRvIGNvbnZlcnQgdGhlbSB0byB0aGUKKyAgICAgICAgYXBwcm9wcmlhdGUgZWxlbWVudCBmb3IgdGhpcyBEVEQuICBXaGlsZSB0aGlzIGNvbnZlcnNpb24KKyAgICAgICAgd2lsbCBub3Qgd29yayBmb3IgYWxsIGZyYWdtZW50cywgaXQgZG9lcyBhbGxvdyBtYW55IGNhc2VzCisgICAgICAgIHRvIHdvcmsgcmVhc29uYWJseSB3ZWxsLiAtLT4KKworPCFFTEVNRU5UIGRpdgorICAgICAgICAoaGVhZD8sICglZGl2Lm1peDt8dWx8b2x8aDF8aDJ8aDN8aDR8aDV8aDZ8ZGl2KSopPgorPCFFTEVNRU5UIGgxICglaGVhZC5wY2QubWl4O3xlbXxhKSo+Cis8IUVMRU1FTlQgaDIgKCVoZWFkLnBjZC5taXg7fGVtfGEpKj4KKzwhRUxFTUVOVCBoMyAoJWhlYWQucGNkLm1peDt8ZW18YSkqPgorPCFFTEVNRU5UIGg0ICglaGVhZC5wY2QubWl4O3xlbXxhKSo+Cis8IUVMRU1FTlQgaDUgKCVoZWFkLnBjZC5taXg7fGVtfGEpKj4KKzwhRUxFTUVOVCBoNiAoJWhlYWQucGNkLm1peDt8ZW18YSkqPgorPCFFTEVNRU5UIHByZSAoJWVnLnBjZC5taXg7fGVtKSo+Cis8IUVMRU1FTlQgdWwgKGl0ZW18bGkpKj4KKzwhRUxFTUVOVCBvbCAoaXRlbXxsaSkqPgorPCFFTEVNRU5UIGxpICgjUENEQVRBfCVvYmoubWl4OykqPgorPCFFTEVNRU5UIGVtICgjUENEQVRBKT4KKzwhRUxFTUVOVCBhICgjUENEQVRBKT4KKworPCFFTEVNRU5UIGtleS10ZXJtICgjUENEQVRBKT4KKzwhRUxFTUVOVCBodGFibGUKKyAgICAgICAgKGNhcHRpb24/LCAoY29sKnxjb2xncm91cCopLCB0aGVhZD8sIHRmb290PywgdGJvZHkrKT4KKzwhRUxFTUVOVCBodGJvZHkgKHRyKSs+Cis8IUVMRU1FTlQgc3RhdHVzcCAoJXAucGNkLm1peDt8JXAubWl4OykqPgorCis8IS0tIC4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAtLT4KKzwhLS0gQ2hhbmdlIGhpc3RvcnkgLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uIC0tPgorCis8IS0tCisjMTk5Ny0wOC0xODogbWFsZXIKKyMtIERpZCBhIG1ham9yIHJldmlzaW9uLgorIzE5OTctMDktMTA6IG1hbGVyCisjLSBVcGRhdGVkIEZQSS4KKyMtIFJlbW92ZWQgbmFtZWtleSBlbGVtZW50IGFuZCBwdXQga2V5IGF0dHJpYnV0ZSBvbiBuYW1lIGVsZW1lbnQuCisjLSBNYWRlIHN0YXR1c3AgZWxlbWVudCBhbmQgc3VwcG9ydGluZyBlbnRpdGllcy4KKyMtIEFkZGVkIHNsaXN0IGVsZW1lbnQgd2l0aCBzaXRlbSsgY29udGVudC4KKyMtIFJlcXVpcmVkIGhlYWQgb24gc2NyYXAgYW5kIGFkZGVkIG5ldyBibmYgc3ViZWxlbWVudC4KKyMtIEFkZGVkIGFuIHhudCBlbGVtZW50IGFuZCBhbGxvd2VkIGl0IGFuZCBudCBpbiByZWd1bGFyIHRleHQgYW5kIHJocy4KKyMtIFJlbW92ZWQgdGhlIG50cmVmIGVsZW1lbnQuCisjLSBBZGRlZCBiYWNrIHRoZSBjb20gZWxlbWVudCB0byB0aGUgY29udGVudCBvZiByaHMuCisjLSBBZGRlZCBhIGtleSBhdHRyaWJ1dGUgdG8gYmlibC4KKyMtIFJlbW92ZWQgdGhlIGlkZW50IGVsZW1lbnQuCisjLSBBZGRlZCBhIHRlcm0gZWxlbWVudCB0byBiZSB1c2VkIGluc2lkZSB0ZXJtZGVmLgorIy0gQWRkZWQgYW4geHRlcm1yZWYgZWxlbWVudCBwYXJhbGxlbCB0byB0ZXJtcmVmLgorIy0gQmVlZmVkIHVwIERURCBjb21tZW50cy4KKyMxOTk3LTA5LTEyOiBtYWxlcgorIy0gQWxsb3dlZCB0ZXJtIGVsZW1lbnQgaW4gZ2VuZXJhbCB0ZXh0LgorIy0gQ2hhbmdlZCBiaWJyZWYgdG8gRU1QVFkuCisjLSBBZGRlZCByZWYuY2xhc3MgdG8gdGVybWRlZi5wY2QubWl4LgorIzE5OTctMDktMTQ6IG1hbGVyCisjLSBDaGFuZ2VkIG1haW4gYXR0cmlidXRlIG9mIHh0ZXJtcmVmIGZyb20gZGVmIHRvIGhyZWYuCisjLSBBZGRlZCB0ZXJtZGVmLmNsYXNzIHRvIGxhYmVsIGNvbnRlbnRzLgorIzE5OTctMDktMzA6IG1hbGVyCisjLSBBZGRlZCBjaGFyYWN0ZXIgZW50aXR5IG1vZHVsZSBhbmQgYWRkZWQgbmV3IGVudGl0aWVzLgorIy0gUmVtb3ZlZCBwIGZyb20gYXBwZWFyaW5nIGRpcmVjdGx5IGluIHNlbGY7IGNyZWF0ZWQgJXAubWl4Oy4KKyMtIEFkZGVkIGluZm9ybS1kaXYgKG5vbi1ub3JtYXRpdmUgZGl2aXNpb24pIGVsZW1lbnQuCisjLSBGaXhlZCB4dGVybXJlZiBjb21tZW50IHRvIG1lbnRpb24gSFJFRiwgbm90IHJlZi4KKyMtIEV4dGVuZGVkIG9yZ2xpc3QgbW9kZWwgdG8gYWxsb3cgb3B0aW9uYWwgYWZmaWxpYXRpb24uCisjLSBNb2RpZmllZCBhdXRob3IgdG8gbWFrZSBhZmZpbGlhdGlvbiBvcHRpb25hbC4KKyMtIEFkZGVkICVzcGVjbGlzdC5jbGFzczsgYW5kICVub3RlLmNsYXNzOyB0byAlb2JqLm1peDsgYW5kICVwLm1peDsuCisjLSBBZGRlZCAlbm90ZS5jbGFzczsgYW5kICVpbGx1cy5jbGFzczsgdG8gJXRlcm1kZWYucGNkLm1peDsuCisjLSBBZGRlZCB1bnVzZWQgSFRNTCBlbGVtZW50cy4KKyMtIFB1dCBlbXB0eSBzeXN0ZW0gSUQgbmV4dCB0byBwdWJsaWMgSUQgaW4gZW50aXR5IGRlY2xhcmF0aW9ucy4KKyMxOTk3LTEwLTE0OiBtYWxlcgorIy0gRml4ZWQgInVudXNlZCIgZGl2IGNvbnRlbnQgbW9kZWwgdG8gbW92ZSBuZXN0ZWQgZGl2IHRvIG1peHR1cmUuCisjMTk5Ny0xMC0xNjogbWFsZXIKKyMtIEFkZGVkIFNHTUwgT3BlbiBFeGNoYW5nZSB0YWJsZXMuCisjMTk5Ny0xMS0yODogbWFsZXIKKyMtIEFkZGVkIHN1cHBvcnQgZm9yIHByb2Rncm91cCBhbmQgaXRzIGF0dHJpYnV0ZXMuCisjLSBBZGRlZCBzdXBwb3J0IGZvciBIVE1MIHRhYmxlcy4KKyMtIEFkZGVkIGxvYyBhbmQgYmlicmVmIHRvIGNvbnRlbnQgb2YgY29tLgorIy0gQWRkZWQgbG9jIHRvIGdlbmVyYWwgcCBjb250ZW50IG1vZGVscy4KKyMtIEFsbG93ZWQgcCBhcyBhbHRlcm5hdGl2ZSB0byBzdGF0dXNwIGluIHN0YXR1cy4KKyMtIEFkZGVkIG5vbi1udWxsIHN5c3RlbSBJRHMgdG8gZXh0ZXJuYWwgcGFyYW1ldGVyIGVudGl0eSBkZWNsYXJhdGlvbnMuCisjLSAoTW9kaWZpZWQgdGhlIFNHTUwgT3BlbiB0YWJsZSBtb2R1bGUgdG8gbWFrZSBpdCBYTUwtY29tcGxpYW50LikKKyMtIChNb2RpZmllZCB0aGUgY2hhcmFjdGVyIGVudGl0eSBtb2R1bGUuKQorIzE5OTctMTItMjk6IG1hbGVyCisjLSBNb3ZlZCAjUENEQVRBIG9jY3VycmVuY2VzIHRvIGNvbWUgYmVmb3JlIEdJcyBpbiBjb250ZW50IG1vZGVscy4KKyMtIFJlbW92ZWQgdXNlIG9mIHRoZSBTR01MIE9wZW4gdGFibGUgbW9kdWxlLgorIy0gQWRkZWQgeHNwZWNyZWYgZWxlbWVudC4KKyMtIEVuc3VyZWQgdGhhdCBhbGwgRlBJcyBjb250YWluIDQtZGlnaXQgeWVhci4KKyMtIChNb2RpZmllZCB0aGUgY2hhcmFjdGVyIGVudGl0eSBtb2R1bGUuKQorIzE5OTgtMDMtMTA6IG1hbGVyCisjLSBNZXJnZWQgdGhlIGNoYXJhY3RlciBlbnRpdHkgYW5kIHRhYmxlIG1vZHVsZXMgaW50byB0aGUgbWFpbiBmaWxlLgorIy0gQWRkZWQgbGRxdW8gYW5kIHJkcXVvIGVudGl0aWVzLgorIy0gQWRkZWQgY29tbW9uIGF0dHJpYnV0ZXMgdG8gcHJvZGdyb3VwLgorIy0gTWFkZSB0aGUgZW1haWwgZWxlbWVudCBpbiBoZWFkZXIgb3B0aW9uYWwuCisjLSBSZW1vdmVkIHJlZmVyZW5jZSB0byB0aGUgU0dNTCBPcGVuIHRhYmxlIG1vZGVsLgorIy0gQWRkZWQgZWRub3RlIGVsZW1lbnQuCisjLSBBZGRlZCBxdW90ZSBlbGVtZW50LgorIy0gVXBkYXRlZCBYTGluayB1c2FnZSB0byByZWZsZWN0IDMgTWFyY2ggMTk5OCBXRC4KKyMtIEFkZGVkICJsb2NhbCIgZW50aXRpZXMgdG8gdGhlIGNsYXNzIGVudGl0aWVzIGZvciBjdXN0b21pemF0aW9uLgorIy0gUGFyYW1ldGVyaXplZCBzZXZlcmFsIGNvbnRlbnQgbW9kZWxzIHRvIGFsbG93IGZvciBjdXN0b21pemF0aW9uLgorIzE5OTgtMDMtMjM6IG1hbGVyCisjLSBDbGVhbmVkIHVwIHNvbWUgY29tbWVudHMgYW5kIHJlbW92ZWQgc29tZSBvdGhlcnMuCisjLSBBZGRlZCB4bWw6c3BhY2Ugc2VtaS1jb21tb24gYXR0cmlidXRlIHRvIGVnIGFuZCBibmYgZWxlbWVudHMuCisjLSBBZGRlZCBzaG93IGFuZCBlbWJlZCBhdHRyaWJ1dGVzIG9uIGFsbCB0aGUgdXNlcyBvZiBocmVmLgorIy0gQWRkZWQgJWNvbW1vbi5hdHQ7IHRvIGFsbCBIVE1MIHRhYmxlIGVsZW1lbnRzLgorIy0gQWRkZWQgYSByZWFsIFVSSSB0byB0aGUgInR5cGljYWwgaW52b2NhdGlvbiIgY29tbWVudC4KKyMxOTk4LTA1LTE0OiBtYWxlcgorIy0gRml4ZWQgbWRhc2gsIGxkcXVvLCBhbmQgcmRxdW8gY2hhcmFjdGVyIGVudGl0aWVzLgorIy0gU3dpdGNoZWQgdG8gdGhlIGZ1bGwgSFRNTCA0LjAgdGFibGUgbW9kZWwuCisjLSBSZW1vdmVkIGh0YWJsZS9odGJvZHkgZWxlbWVudHMgYW5kIHJlcGxhY2VkIHRoZW0gd2l0aCB0YWJsZS90Ym9keS4KKyMtIEFkZGVkIGlzc3VlIGVsZW1lbnQgdG8gJW5vdGUuY2xhc3M7IGFuZCBkZWNsYXJlZCBpdC4KKyMtIEFsbG93ZWQgcHJldmxvY3MgYW5kIGxhdGVzdGxvYyBpbiBlaXRoZXIgb3JkZXIuCisjLSBBZGRlZCBrZXktdGVybSwgaHRhYmxlLCBodGJvZHksIGFuZCBzdGF0dXNwIGFzIHVudXNlZCBlbGVtZW50cy4KKyMtIFJlbW92ZWQgcmVhbCBzdGF0dXNwIGVsZW1lbnQgaW4gZmF2b3Igb2YgcGxhaW4gcC4KKyMxOTk4LTA1LTIxOiBtYWxlcgorIy0gRGVjbGFyZWQgZ2VuZXJpYyBjb25zdHJhaW50IGFuZCBjb25zdHJhaW50bm90ZSBlbGVtZW50cy4KKyMtIEFkZGVkIGNvbnN0cmFpbnRub3RlIHRvICVub3RlLmNsYXNzOy4KKyMtIEFkZGVkIGNvbnN0cmFpbnQgdG8gJWVnLnBjZC5taXg7IGFuZCBwcm9kIGNvbnRlbnQgbW9kZWwuCistLT4KKworPCEtLSAuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gLS0+Cis8IS0tIEVuZCBvZiBYTUwgc3BlY2lmaWNhdGlvbiBEVEQgLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAtLT4KKzwhLS0gLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uIC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC92YWxpZC9pZDEueG1sIGIvbGlieG1sMi90ZXN0L3ZhbGlkL2lkMS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzM5MGY1ZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC92YWxpZC9pZDEueG1sCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBkb2MgWworPCFFTEVNRU5UIGRvYyAoc3JjIHwgZGVzdCkqPgorPCFFTEVNRU5UIHNyYyBFTVBUWT4KKzwhRUxFTUVOVCBkZXN0IEVNUFRZPgorPCFBVFRMSVNUIHNyYyByZWYgSURSRUYgI0lNUExJRUQ+Cis8IUFUVExJU1QgZGVzdCBpZCBJRCAjSU1QTElFRD4KK10+Cis8ZG9jPgorICA8c3JjIHJlZj0iZm9vIi8+CisgIDxkZXN0IGlkPSJmb28iLz4KKyAgPHNyYyByZWY9ImZvbyIvPgorPC9kb2M+CisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC92YWxpZC9pZDIueG1sIGIvbGlieG1sMi90ZXN0L3ZhbGlkL2lkMi54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWI0YTc3YQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC92YWxpZC9pZDIueG1sCkBAIC0wLDAgKzEsMTQgQEAKKzwhRE9DVFlQRSBkb2MgWworPCFFTEVNRU5UIGRvYyAoc3JjIHwgZGVzdCkqPgorPCFFTEVNRU5UIHNyYyBFTVBUWT4KKzwhRUxFTUVOVCBkZXN0IEVNUFRZPgorPCFBVFRMSVNUIHNyYyByZWYgSURSRUYgI0lNUExJRUQ+Cis8IUFUVExJU1QgZGVzdCBpZCBJRCAjSU1QTElFRD4KKzwhRU5USVRZIGRlc3QgIjxkZXN0IGlkPSdmb28nLz4iPgorXT4KKzxkb2M+CisgIDxzcmMgcmVmPSJmb28iLz4KKyAgJmRlc3Q7CisgIDxzcmMgcmVmPSJmb28iLz4KKzwvZG9jPgorCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvdmFsaWQvaWQzLnhtbCBiL2xpYnhtbDIvdGVzdC92YWxpZC9pZDMueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkzM2QwNmQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvdmFsaWQvaWQzLnhtbApAQCAtMCwwICsxLDE0IEBACis8IURPQ1RZUEUgZG9jIFsKKzwhRUxFTUVOVCBkb2MgKHNyYyB8IGRlc3QpKj4KKzwhRUxFTUVOVCBzcmMgRU1QVFk+Cis8IUVMRU1FTlQgZGVzdCBFTVBUWT4KKzwhQVRUTElTVCBzcmMgcmVmIElEUkVGICNJTVBMSUVEPgorPCFBVFRMSVNUIGRlc3QgaWQgSUQgI0lNUExJRUQ+Cis8IUVOVElUWSBkZXN0IFNZU1RFTSAiZHRkcy9kZXN0Zm9vLmVudCI+CitdPgorPGRvYz4KKyAgPHNyYyByZWY9ImZvbyIvPgorICAmZGVzdDsKKyAgPHNyYyByZWY9ImZvbyIvPgorPC9kb2M+CisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC92YWxpZC9pbmRleC54bWwgYi9saWJ4bWwyL3Rlc3QvdmFsaWQvaW5kZXgueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhMGU2NzEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvdmFsaWQvaW5kZXgueG1sCkBAIC0wLDAgKzEsMTExIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJpc28tODg1OS0xIj8+Cis8IURPQ1RZUEUgTmV3c01MIFBVQkxJQyAidXJuOm5ld3NtbDppcHRjLm9yZzoyMDAwMTAwNjpOZXdzTUx2MS4wOjEiICJkdGRzL05ld3NNTHYxLjAuZHRkIiBbCisgIDwhRU5USVRZICUgbml0ZiBTWVNURU0gImR0ZHMvbml0Zi0yLTUuZHRkIj4KKyAgJW5pdGY7CitdPgorPE5ld3NNTD4KKyAgPENhdGFsb2cgSHJlZj0iaHR0cDovL3d3dy5hZnAuY29tL2R0ZC9BRlBDYXRhbG9nLnhtbCIvPgorICA8TmV3c0VudmVsb3BlPgorICAgIDxEYXRlQW5kVGltZT4yMDAxMTAyMlQxNTQ1MDhaPC9EYXRlQW5kVGltZT4KKyAgPC9OZXdzRW52ZWxvcGU+CisgIDxOZXdzSXRlbT4KKyAgICA8SWRlbnRpZmljYXRpb24+CisgICAgICA8TmV3c0lkZW50aWZpZXI+CisgICAgICAgIDxQcm92aWRlcklkPmFmcC5jb208L1Byb3ZpZGVySWQ+CisgICAgICAgIDxEYXRlSWQ+MjAwMTEwMjI8L0RhdGVJZD4KKyAgICAgICAgPE5ld3NJdGVtSWQ+bW1kLS1kZXV0c2NoLS1qb3VybmFsLS1zcG88L05ld3NJdGVtSWQ+CisgICAgICAgIDxSZXZpc2lvbklkIFByZXZpb3VzUmV2aXNpb249IjAiIFVwZGF0ZT0iTiI+MTwvUmV2aXNpb25JZD4KKyAgICAgICAgPFB1YmxpY0lkZW50aWZpZXI+dXJuOk5ld3NNTDphZnAuY29tOjIwMDExMDIyOm1tZC0tZGV1dHNjaC0tam91cm5hbC0tc3BvOjE8L1B1YmxpY0lkZW50aWZpZXI+CisgICAgICA8L05ld3NJZGVudGlmaWVyPgorICAgICAgPE5hbWVMYWJlbD5ISU5URVJHUlVORDwvTmFtZUxhYmVsPgorICAgIDwvSWRlbnRpZmljYXRpb24+CisgICAgPE5ld3NNYW5hZ2VtZW50PgorICAgICAgPE5ld3NJdGVtVHlwZSBGb3JtYWxOYW1lPSJOZXdzIi8+CisgICAgICA8Rmlyc3RDcmVhdGVkPjIwMDExMDIyVDE1NDUwOFo8L0ZpcnN0Q3JlYXRlZD4KKyAgICAgIDxUaGlzUmV2aXNpb25DcmVhdGVkPjIwMDExMDIyVDE1NDUwOFo8L1RoaXNSZXZpc2lvbkNyZWF0ZWQ+CisgICAgICA8U3RhdHVzIEZvcm1hbE5hbWU9IlVzYWJsZSIvPgorICAgIDwvTmV3c01hbmFnZW1lbnQ+CisgICAgPE5ld3NDb21wb25lbnQ+CisgICAgICA8QWRtaW5pc3RyYXRpdmVNZXRhZGF0YT4KKyAgICAgICAgPFByb3ZpZGVyPgorICAgICAgICAgIDxQYXJ0eSBGb3JtYWxOYW1lPSJBRlAiLz4KKyAgICAgICAgPC9Qcm92aWRlcj4KKyAgICAgIDwvQWRtaW5pc3RyYXRpdmVNZXRhZGF0YT4KKyAgICAgIDxEZXNjcmlwdGl2ZU1ldGFkYXRhPgorICAgICAgICA8TGFuZ3VhZ2UgRm9ybWFsTmFtZT0iZGUiLz4gCisgICAgICA8L0Rlc2NyaXB0aXZlTWV0YWRhdGE+CisgICAgICA8TmV3c0NvbXBvbmVudD4KKyAgICAgICAgPE5ld3NMaW5lcz4KKyAgICAgICAgICA8SGVhZExpbmU+QmVybGluZXIgU1BEIGb8aHJ0IEdlc3By5GNoZSBtaXQgRkRQIHVuZCBHcvxuZW48L0hlYWRMaW5lPgorICAgICAgICA8L05ld3NMaW5lcz4KKyAgICAgICAgPE5ld3NJdGVtUmVmIE5ld3NJdGVtPSIwMTEwMjIxNTQ0NTAuc3E4MGJwOWgueG1sIi8+CisgICAgICA8L05ld3NDb21wb25lbnQ+CisgICAgICA8TmV3c0NvbXBvbmVudD4KKyAgICAgICAgPE5ld3NMaW5lcz4KKyAgICAgICAgICA8SGVhZExpbmU+SU5GT0dSQUZJSzogRGFzIEJlcmxpbmVyIFdhaGxlcmdlYm5pczwvSGVhZExpbmU+CisgICAgICAgIDwvTmV3c0xpbmVzPgorICAgICAgICA8TmV3c0l0ZW1SZWYgTmV3c0l0ZW09IjAxMTAyMjExMzAzMi5yZW1vMDBtNy54bWwiLz4KKyAgICAgIDwvTmV3c0NvbXBvbmVudD4KKyAgICAgIDxOZXdzQ29tcG9uZW50PgorICAgICAgICA8TmV3c0xpbmVzPgorICAgICAgICAgIDxIZWFkTGluZT5TY2h3aWVyaWdlIEtvYWxpdGlvbnN2ZXJoYW5kbHVuZ2VuIGluIEJlcmxpbjwvSGVhZExpbmU+CisgICAgICAgIDwvTmV3c0xpbmVzPgorICAgICAgICA8TmV3c0l0ZW1SZWYgTmV3c0l0ZW09IjAxMTAyMjEyNDMxNC45aHYya296ay54bWwiLz4KKyAgICAgIDwvTmV3c0NvbXBvbmVudD4KKyAgICAgIDxOZXdzQ29tcG9uZW50PgorICAgICAgICA8TmV3c0xpbmVzPgorICAgICAgICAgIDxIZWFkTGluZT5EaWUgTGllYmxpbmdzZmFyYmVuIGRlcyBLYW56bGVycyBzaW5kIFJvdCBHZWxiIEdy/G48L0hlYWRMaW5lPgorICAgICAgICA8L05ld3NMaW5lcz4KKyAgICAgICAgPE5ld3NJdGVtUmVmIE5ld3NJdGVtPSIwMTEwMjIxMzQ1NDEuY21tYW9pbTcueG1sIi8+CisgICAgICA8L05ld3NDb21wb25lbnQ+CisgICAgICA8TmV3c0NvbXBvbmVudD4KKyAgICAgICAgPE5ld3NMaW5lcz4KKyAgICAgICAgICA8SGVhZExpbmU+SU5GT0dSQUZJSzogV2VuIHfkaGx0IFdvd2VyZWl0PzwvSGVhZExpbmU+CisgICAgICAgIDwvTmV3c0xpbmVzPgorICAgICAgICA8TmV3c0l0ZW1SZWYgTmV3c0l0ZW09IjAxMTAyMjEyMjU0NS5obDN6MmFzNi54bWwiLz4KKyAgICAgIDwvTmV3c0NvbXBvbmVudD4KKyAgICAgIDxOZXdzQ29tcG9uZW50PgorICAgICAgICA8TmV3c0xpbmVzPgorICAgICAgICAgIDxIZWFkTGluZT5DRFUgaXN0IGF1Y2ggaW4ga29tbXVuYWxlbiBSYXRo5HVzZXJuIGRlciBWZXJsaWVyZXI8L0hlYWRMaW5lPgorICAgICAgICA8L05ld3NMaW5lcz4KKyAgICAgICAgPE5ld3NJdGVtUmVmIE5ld3NJdGVtPSIwMTEwMjIxMjAyMDUuYjhzeWtmdnUueG1sIi8+CisgICAgICA8L05ld3NDb21wb25lbnQ+CisgICAgICA8TmV3c0NvbXBvbmVudD4KKyAgICAgICAgPE5ld3NMaW5lcz4KKyAgICAgICAgICA8SGVhZExpbmU+R3V0ZXMgQWJzY2huZWlkZW4gZGVyIFBEUyBoYXQgdmVyc2NoaWVkZW5lIEdy/G5kZTwvSGVhZExpbmU+CisgICAgICAgIDwvTmV3c0xpbmVzPgorICAgICAgICA8TmV3c0l0ZW1SZWYgTmV3c0l0ZW09IjAxMTAyMjEzNDE1OS5hZ3ZuZTA0OC54bWwiLz4KKyAgICAgIDwvTmV3c0NvbXBvbmVudD4KKyAgICAgIDxOZXdzQ29tcG9uZW50PgorICAgICAgICA8TmV3c0xpbmVzPgorICAgICAgICAgIDxIZWFkTGluZT5BbnMgUmVnaWVyZW4gaGF0IHNpY2ggS2xhdXMgV293ZXJlaXQgZ2V39mhudDwvSGVhZExpbmU+CisgICAgICAgIDwvTmV3c0xpbmVzPgorICAgICAgICA8TmV3c0l0ZW1SZWYgTmV3c0l0ZW09IjAxMTAyMTE2MTAzMS4xb3E3cXl1Yi54bWwiLz4KKyAgICAgIDwvTmV3c0NvbXBvbmVudD4KKyAgICAgIDxOZXdzQ29tcG9uZW50PgorICAgICAgICA8TmV3c0xpbmVzPgorICAgICAgICAgIDxIZWFkTGluZT5TdGVmZmVsIGJyYWNodGUgQ0RVIG5pY2h0IGF1ZiBFcmZvbGdza3VyczwvSGVhZExpbmU+CisgICAgICAgIDwvTmV3c0xpbmVzPgorICAgICAgICA8TmV3c0l0ZW1SZWYgTmV3c0l0ZW09IjAxMTAyMTE2NTAwNy5rdDlxb2c5bS54bWwiLz4KKyAgICAgIDwvTmV3c0NvbXBvbmVudD4KKyAgICAgIDxOZXdzQ29tcG9uZW50PgorICAgICAgICA8TmV3c0xpbmVzPgorICAgICAgICAgIDxIZWFkTGluZT5TaWJ5bGwgS2xvdHo6IFZvbGxibHV0cG9saXRpa2VyaW4gbWl0ICJCZXJsaW5lciBTY2huYXV6ZSI8L0hlYWRMaW5lPgorICAgICAgICA8L05ld3NMaW5lcz4KKyAgICAgICAgPE5ld3NJdGVtUmVmIE5ld3NJdGVtPSIwMTEwMjExODQ2NTgubGN0ZXZlc3QueG1sIi8+CisgICAgICA8L05ld3NDb21wb25lbnQ+CisgICAgICA8TmV3c0NvbXBvbmVudD4KKyAgICAgICAgPE5ld3NMaW5lcz4KKyAgICAgICAgICA8SGVhZExpbmU+TWl0IEd5c2kgbXVzcyB3ZWl0ZXIgZ2VyZWNobmV0IHdlcmRlbjwvSGVhZExpbmU+CisgICAgICAgIDwvTmV3c0xpbmVzPgorICAgICAgICA8TmV3c0l0ZW1SZWYgTmV3c0l0ZW09IjAxMTAyMTE4MDQ0MS42dHB2Z3gweS54bWwiLz4KKyAgICAgIDwvTmV3c0NvbXBvbmVudD4KKyAgICAgIDxOZXdzQ29tcG9uZW50PgorICAgICAgICA8TmV3c0xpbmVzPgorICAgICAgICAgIDxIZWFkTGluZT5SZXhyb2R0IC0gZGFzIFN0ZWhhdWZt5G5uY2hlbiBkZXIgQmVybGluZXIgRkRQPC9IZWFkTGluZT4KKyAgICAgICAgPC9OZXdzTGluZXM+CisgICAgICAgIDxOZXdzSXRlbVJlZiBOZXdzSXRlbT0iMDExMDIxMTY1NTU4Lmd1anJ6NTltLnhtbCIvPgorICAgICAgPC9OZXdzQ29tcG9uZW50PgorICAgIDwvTmV3c0NvbXBvbmVudD4KKyAgPC9OZXdzSXRlbT4KKzwvTmV3c01MPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3ZhbGlkL21peGVkX25zLnhtbCBiL2xpYnhtbDIvdGVzdC92YWxpZC9taXhlZF9ucy54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjJkOGVkOAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC92YWxpZC9taXhlZF9ucy54bWwKQEAgLTAsMCArMSwxNiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IURPQ1RZUEUgYSBbCis8IUVMRU1FTlQgYSAoI1BDREFUQXxifHM6YikqPgorPCFBVFRMSVNUIGEgeG1sbnM6cyBDREFUQSAjSU1QTElFRD4KKzwhRUxFTUVOVCBiIEVNUFRZPgorPCFBVFRMSVNUIGIgeG1sbnM6cyBDREFUQSAjSU1QTElFRD4KKzwhRUxFTUVOVCBzOmIgRU1QVFk+Cis8IUFUVExJU1QgczpiIHhtbG5zOnMgQ0RBVEEgI0lNUExJRUQ+CitdPgorPGEgeG1sbnM6cz0iaHR0cDovL3NvbWUudGVzdC5ucy9hIj4KKyAgU29tZSB0ZXh0LgorCTxiLz4KKyAgU29tZSB0ZXh0LgorCTxzOmIvPgorICBTb21lIHRleHQuCis8L2E+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvdmFsaWQvbm90ZXMueG1sIGIvbGlieG1sMi90ZXN0L3ZhbGlkL25vdGVzLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNTdkMTc4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3ZhbGlkL25vdGVzLnhtbApAQCAtMCwwICsxLDUgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04IiA/PgorPCFET0NUWVBFIG5vdGVzIFNZU1RFTSAiZHRkcy9ub3Rlcy5kdGQiPgorPHBmeDpub3RlcworeG1sbnM6cGZ4PSJodHRwOi8vbmFtZXNwYWNlL3VyaS9oZXJlIgorPjxub3RlLz48cGZ4Om5vdGUvPjwvcGZ4Om5vdGVzPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3ZhbGlkL25zLnhtbCBiL2xpYnhtbDIvdGVzdC92YWxpZC9ucy54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTE3YzMwZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC92YWxpZC9ucy54bWwKQEAgLTAsMCArMSw5IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4NCis8IURPQ1RZUEUgYTpvdXRlciBbDQorDQorPCFFTEVNRU5UIGE6b3V0ZXIgRU1QVFk+DQorPCFBVFRMSVNUIGE6b3V0ZXIgeG1sbnM6YSBDREFUQSAjRklYRUQgJ3VybjpuYW1lc3BhY2UnPg0KKzwhQVRUTElTVCBhOm91dGVyIHhtbG5zOmIgQ0RBVEEgI0ZJWEVEICd1cm46bmFtZXNwYWNlYic+DQorXT4NCisNCis8YTpvdXRlciAvPg0KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC92YWxpZC9uczIueG1sIGIvbGlieG1sMi90ZXN0L3ZhbGlkL25zMi54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmZhYjY5YQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC92YWxpZC9uczIueG1sCkBAIC0wLDAgKzEsMTQgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCFET0NUWVBFIGE6b3V0ZXIgWworCis8IUVMRU1FTlQgYTpvdXRlciAoYTppbm5lcik+Cis8IUFUVExJU1QgYTpvdXRlciB4bWxuczphIENEQVRBICNGSVhFRCAndXJuOm5hbWVzcGFjZSc+CisKKzwhRUxFTUVOVCBhOmlubmVyIEVNUFRZPgorPCFBVFRMSVNUIGE6aW5uZXIgeG1sbnM6YSBDREFUQSAjRklYRUQgJ3VybjpuYW1lc3BhY2UnPgorPCFBVFRMSVNUIGE6aW5uZXIgYXR0ciBDREFUQSAjRklYRUQgJ3llcyc+CitdPgorCis8YTpvdXRlciB4bWxuczphPSJ1cm46bmFtZXNwYWNlIj4KKyAgPGE6aW5uZXIgLz4KKzwvYTpvdXRlcj4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC92YWxpZC9vYmplZG5hdmthLnhtbCBiL2xpYnhtbDIvdGVzdC92YWxpZC9vYmplZG5hdmthLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNzg1YjFhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3ZhbGlkL29iamVkbmF2a2EueG1sCkBAIC0wLDAgKzEsMzkgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+DQorPCFET0NUWVBFIG9iamVkbmF2a2EgU1lTVEVNICJkdGRzL29iamVkbmF2a2EuZHRkIj4NCis8b2JqZWRuYXZrYT4NCisgICAgPEFkRG9ydcSNZW5pPg0KKyAgICAgICAgPEptw6lubz5KYW4gTm92w6FrPC9KbcOpbm8+DQorICAgICAgICA8VWxpY2U+QsSbbGVocmFkc2vDoSAxNDc8L1VsaWNlPg0KKyAgICAgICAgPE3Em3N0bz5QcmFoYSAyPC9NxJtzdG8+DQorICAgICAgICA8UFPEjD4xMjAwMDwvUFPEjD4NCisgICAgPC9BZERvcnXEjWVuaT4NCisgICAgPEFkw5rEjXRvdmFjw60+DQorICAgICAgICA8Sm3DqW5vPlBldHJhIE5vdsOha292w6E8L0ptw6lubz4NCisgICAgICAgIDxVbGljZT5BbmdsaWNrw6EgMTU8L1VsaWNlPg0KKyAgICAgICAgPE3Em3N0bz5QcmFoYSAyPC9NxJtzdG8+DQorICAgICAgICA8UFPEjD4xMjAwMDwvUFPEjD4NCisgICAgPC9BZMOaxI10b3ZhY8OtPg0KKyAgICA8WnDFr3NvYkRvcHJhdnk+RFBEPC9acMWvc29iRG9wcmF2eT4NCisgICAgPFpwxa9zb2JQbGF0Ynk+ZG9iw61ya2E8L1pwxa9zb2JQbGF0Ynk+DQorICAgIDxEYXR1bVDFmWlqZXTDrT4yMDA0LTExLTE0PC9EYXR1bVDFmWlqZXTDrT4NCisgICAgPERhdHVtRG9ydcSNZW7DrT4yMDA0LTExLTE5PC9EYXR1bURvcnXEjWVuw60+DQorICAgIDxPYnNhaE9iamVkbsOhdmt5Pg0KKyAgICAgICAgPFpib8W+w60+DQorICAgICAgICAgICAgPEvDs2Q+Mk43LTUxNjwvS8OzZD4NCisgICAgICAgICAgICA8TsOhemV2PlNla2HEjWthIG5hIHRyw6F2dTwvTsOhemV2Pg0KKyAgICAgICAgICAgIDxQb8SNZXQgIGplZG5vdGthPSJrcyI+MTwvUG/EjWV0Pg0KKyAgICAgICAgICAgIDxDZW5hPjI5OTk8L0NlbmE+DQorICAgICAgICAgICAgPFBvcGlzPmh0dHA6Ly9leGFtcGxlLm9yZy9zZWthY2thLmh0bWw8L1BvcGlzPg0KKyAgICAgICAgPC9aYm/FvsOtPg0KKyAgICAgICAgPFpib8W+w60+DQorICAgICAgICAgICAgPEvDs2Q+UTNZLTExNjwvS8OzZD4NCisgICAgICAgICAgICA8TsOhemV2PlRyYXZuw60gc2VtZW5vPC9Ow6F6ZXY+DQorICAgICAgICAgICAgPFBvxI1ldCAgamVkbm90a2E9ImtnIj4yLjU8L1BvxI1ldD4NCisgICAgICAgICAgICA8Q2VuYT4xMjcuNTA8L0NlbmE+DQorICAgICAgICA8L1pib8W+w60+DQorICAgIDwvT2JzYWhPYmplZG7DoXZreT4NCisgICAgPEtvbWVudMOhxZk+DQorICAgICAgICA8xZjDoWRrYT5PIGRvZMOhdmt1IG3DoW0gesOhamVtIHBvdXplIHYgcMWZw61wYWTEmywgxb5lIHNlIGplZG7DoSBvIHRyw6F2dSB2IG9kcsWvZMSbIGtvbm9ww60uPC/FmMOhZGthPg0KKyAgICAgICAgPMWYw6Fka2E+RMOhbGUganNlbSBzZSBjaHTEm2wgemVwdGF0LCB6ZGEgamUgZG9wcmF2YSB6ZGFybWEuPC/FmMOhZGthPg0KKyAgICA8L0tvbWVudMOhxZk+DQorPC9vYmplZG5hdmthPg0KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC92YWxpZC9yc3MueG1sIGIvbGlieG1sMi90ZXN0L3ZhbGlkL3Jzcy54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWQ2MTAyZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC92YWxpZC9yc3MueG1sCkBAIC0wLDAgKzEsMTc3IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJJU08tODg1OS0xIj8+Cis8IURPQ1RZUEUgcnNzIFsKKzwhLS0KKworICBSaWNoIFNpdGUgU3VtbWFyeSAoUlNTKSAwLjkxIG9mZmljaWFsIERURCwgcHJvcG9zZWQuCisgIAorICBSU1MgaXMgYW4gWE1MIHZvY2FidWxhcnkgZm9yIGRlc2NyaWJpbmcKKyAgbWV0YWRhdGEgYWJvdXQgd2Vic2l0ZXMsIGFuZCBlbmFibGluZyB0aGUgZGlzcGxheSBvZgorICAiY2hhbm5lbHMiIG9uIHRoZSAiTXkgTmV0c2NhcGUiIHdlYnNpdGUuCisgIAorICBSU1MgSW5mbyBjYW4gYmUgZm91bmQgYXQgaHR0cDovL215Lm5ldHNjYXBlLmNvbS9wdWJsaXNoLworICBYTUwgSW5mbyBjYW4gYmUgZm91bmQgYXQgaHR0cDovL3d3dy53My5vcmcvWE1MLyAKKyAgCisgIGNvcHlyaWdodCBOZXRzY2FwZSBDb21tdW5pY2F0aW9ucywgMTk5OQorCisgIERhbiBMaWJieSAtIGRhbmRhQG5ldHNjYXBlLmNvbQorICAKKyAgQmFzZWQgb24gUlNTIERURCBvcmlnaW5hbGx5IGNyZWF0ZWQgYnkKKyAgTGFycyBNYXJpdXMgR2Fyc2hvbCAtIGxhcnNnYUBpZmkudWlvLm5vLgorICAKKy0tPgorPCFFTEVNRU5UIHJzcyAoY2hhbm5lbCk+Cis8IUFUVExJU1QgcnNzIHZlcnNpb24gQ0RBVEEgI1JFUVVJUkVEPgorPCEtLSBtdXN0IGJlICIwLjkxIj4gLS0+PCFFTEVNRU5UIGNoYW5uZWwgKHRpdGxlIHwgZGVzY3JpcHRpb24gfCBsaW5rIAorfCBsYW5ndWFnZSB8IGl0ZW0rIHwgcmF0aW5nPyB8IGltYWdlPyB8IHRleHRpbnB1dD8gfCBjb3B5cmlnaHQ/IHwgCitwdWJEYXRlPyB8IGxhc3RCdWlsZERhdGU/IHwgZG9jcz8gfCBtYW5hZ2luZ0VkaXRvcj8gfCB3ZWJNYXN0ZXI/IHwgCitza2lwSG91cnM/IHwgc2tpcERheXM/KSo+Cis8IUVMRU1FTlQgdGl0bGUgKCNQQ0RBVEEpPgorPCFFTEVNRU5UIGRlc2NyaXB0aW9uICgjUENEQVRBKT4KKzwhRUxFTUVOVCBsaW5rICgjUENEQVRBKT4KKzwhRUxFTUVOVCBpbWFnZSAodGl0bGUgfCB1cmwgfCBsaW5rIHwgd2lkdGg/IHwgaGVpZ2h0PyB8IGRlc2NyaXB0aW9uPykqPgorPCFFTEVNRU5UIHVybCAoI1BDREFUQSk+Cis8IUVMRU1FTlQgaXRlbSAodGl0bGUgfCBsaW5rIHwgZGVzY3JpcHRpb24pKj4KKzwhRUxFTUVOVCB0ZXh0aW5wdXQgKHRpdGxlIHwgZGVzY3JpcHRpb24gfCBuYW1lIHwgbGluaykqPgorPCFFTEVNRU5UIG5hbWUgKCNQQ0RBVEEpPgorPCFFTEVNRU5UIHJhdGluZyAoI1BDREFUQSk+Cis8IUVMRU1FTlQgbGFuZ3VhZ2UgKCNQQ0RBVEEpPgorPCFFTEVNRU5UIHdpZHRoICgjUENEQVRBKT4KKzwhRUxFTUVOVCBoZWlnaHQgKCNQQ0RBVEEpPgorPCFFTEVNRU5UIGNvcHlyaWdodCAoI1BDREFUQSk+Cis8IUVMRU1FTlQgcHViRGF0ZSAoI1BDREFUQSk+Cis8IUVMRU1FTlQgbGFzdEJ1aWxkRGF0ZSAoI1BDREFUQSk+Cis8IUVMRU1FTlQgZG9jcyAoI1BDREFUQSk+Cis8IUVMRU1FTlQgbWFuYWdpbmdFZGl0b3IgKCNQQ0RBVEEpPgorPCFFTEVNRU5UIHdlYk1hc3RlciAoI1BDREFUQSk+Cis8IUVMRU1FTlQgaG91ciAoI1BDREFUQSk+Cis8IUVMRU1FTlQgZGF5ICgjUENEQVRBKT4KKzwhRUxFTUVOVCBza2lwSG91cnMgKGhvdXIpKz4KKzwhRUxFTUVOVCBza2lwRGF5cyAoZGF5KSs+Cis8IS0tCisgICAgIENvcGllZCBmcm9tIEhUTUwgMy4yIERURCwgd2l0aCBtb2RpZmljYXRpb25zIChyZW1vdmVkIENEQVRBKQorICAgICBodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtaHRtbDMyLmh0bWwjZHRkCisgICAgID09PT09PT09PT09PT09PSBCRUdJTiA9PT09PT09PT09PT09PT09PT09CistLT4KKzwhLS0gCisgICAgIENoYXJhY3RlciBFbnRpdGllcyBmb3IgSVNPIExhdGluLTEKKyAgICAgCisgICAgIChDKSBJbnRlcm5hdGlvbmFsIE9yZ2FuaXphdGlvbiBmb3IgU3RhbmRhcmRpemF0aW9uIDE5ODYKKyAgICAgUGVybWlzc2lvbiB0byBjb3B5IGluIGFueSBmb3JtIGlzIGdyYW50ZWQgZm9yIHVzZSB3aXRoCisgICAgIGNvbmZvcm1pbmcgU0dNTCBzeXN0ZW1zIGFuZCBhcHBsaWNhdGlvbnMgYXMgZGVmaW5lZCBpbgorICAgICBJU08gODg3OSwgcHJvdmlkZWQgdGhpcyBub3RpY2UgaXMgaW5jbHVkZWQgaW4gYWxsIGNvcGllcy4KKyAgICAgVGhpcyBoYXMgYmVlbiBleHRlbmRlZCBmb3IgdXNlIHdpdGggSFRNTCB0byBjb3ZlciB0aGUgZnVsbAorICAgICBzZXQgb2YgY29kZXMgaW4gdGhlIHJhbmdlIDE2MC0yNTUgZGVjaW1hbC4KKy0tPgorPCEtLSBDaGFyYWN0ZXIgZW50aXR5IHNldC4gVHlwaWNhbCBpbnZvY2F0aW9uOgorICAgICA8IUVOVElUWSAlIElTT2xhdDEgUFVCTElDCisgICAgICAgIklTTyA4ODc5LTE5ODYvL0VOVElUSUVTIEFkZGVkIExhdGluIDEvL0VOLy9IVE1MIj4KKyAgICAgJUlTT2xhdDE7CistLT4KKzwhRU5USVRZIG5ic3AgIiYjMTYwOyI+IDwhLS0gbm8tYnJlYWsgc3BhY2UgLS0+Cis8IUVOVElUWSBpZXhjbCAiJiMxNjE7Ij4KKzwhLS0gaW52ZXJ0ZWQgZXhjbGFtYXRpb24gbWFyayAtLT48IUVOVElUWSBjZW50ICImIzE2MjsiPgorPCEtLSBjZW50IHNpZ24gLS0+PCFFTlRJVFkgcG91bmQgIiYjMTYzOyI+Cis8IS0tIHBvdW5kIHN0ZXJsaW5nIHNpZ24gLS0+PCFFTlRJVFkgY3VycmVuICImIzE2NDsiPgorPCEtLSBnZW5lcmFsIGN1cnJlbmN5IHNpZ24gLS0+PCFFTlRJVFkgeWVuICImIzE2NTsiPgorPCEtLSB5ZW4gc2lnbiAtLT48IUVOVElUWSBicnZiYXIgIiYjMTY2OyI+Cis8IS0tIGJyb2tlbiAodmVydGljYWwpIGJhciAtLT48IUVOVElUWSBzZWN0ICImIzE2NzsiPgorPCEtLSBzZWN0aW9uIHNpZ24gLS0+PCFFTlRJVFkgdW1sICImIzE2ODsiPgorPCEtLSB1bWxhdXQgKGRpZXJlc2lzKSAtLT48IUVOVElUWSBjb3B5ICImIzE2OTsiPgorPCEtLSBjb3B5cmlnaHQgc2lnbiAtLT48IUVOVElUWSBvcmRmICImIzE3MDsiPgorPCEtLSBvcmRpbmFsIGluZGljYXRvciwgZmVtaW5pbmUgLS0+PCFFTlRJVFkgbGFxdW8gIiYjMTcxOyI+Cis8IS0tIGFuZ2xlIHF1b3RhdGlvbiBtYXJrLCBsZWZ0IC0tPjwhRU5USVRZIG5vdCAiJiMxNzI7Ij4KKzwhLS0gbm90IHNpZ24gLS0+PCFFTlRJVFkgc2h5ICImIzE3MzsiPgorPCEtLSBzb2Z0IGh5cGhlbiAtLT48IUVOVElUWSByZWcgIiYjMTc0OyI+Cis8IS0tIHJlZ2lzdGVyZWQgc2lnbiAtLT48IUVOVElUWSBtYWNyICImIzE3NTsiPgorPCEtLSBtYWNyb24gLS0+PCFFTlRJVFkgZGVnICImIzE3NjsiPgorPCEtLSBkZWdyZWUgc2lnbiAtLT48IUVOVElUWSBwbHVzbW4gIiYjMTc3OyI+Cis8IS0tIHBsdXMtb3ItbWludXMgc2lnbiAtLT48IUVOVElUWSBzdXAyICImIzE3ODsiPgorPCEtLSBzdXBlcnNjcmlwdCB0d28gLS0+PCFFTlRJVFkgc3VwMyAiJiMxNzk7Ij4KKzwhLS0gc3VwZXJzY3JpcHQgdGhyZWUgLS0+PCFFTlRJVFkgYWN1dGUgIiYjMTgwOyI+Cis8IS0tIGFjdXRlIGFjY2VudCAtLT48IUVOVElUWSBtaWNybyAiJiMxODE7Ij4KKzwhLS0gbWljcm8gc2lnbiAtLT48IUVOVElUWSBwYXJhICImIzE4MjsiPgorPCEtLSBwaWxjcm93IChwYXJhZ3JhcGggc2lnbikgLS0+PCFFTlRJVFkgbWlkZG90ICImIzE4MzsiPgorPCEtLSBtaWRkbGUgZG90IC0tPjwhRU5USVRZIGNlZGlsICImIzE4NDsiPgorPCEtLSBjZWRpbGxhIC0tPjwhRU5USVRZIHN1cDEgIiYjMTg1OyI+Cis8IS0tIHN1cGVyc2NyaXB0IG9uZSAtLT48IUVOVElUWSBvcmRtICImIzE4NjsiPgorPCEtLSBvcmRpbmFsIGluZGljYXRvciwgbWFzY3VsaW5lIC0tPjwhRU5USVRZIHJhcXVvICImIzE4NzsiPgorPCEtLSBhbmdsZSBxdW90YXRpb24gbWFyaywgcmlnaHQgLS0+PCFFTlRJVFkgZnJhYzE0ICImIzE4ODsiPgorPCEtLSBmcmFjdGlvbiBvbmUtcXVhcnRlciAtLT48IUVOVElUWSBmcmFjMTIgIiYjMTg5OyI+Cis8IS0tIGZyYWN0aW9uIG9uZS1oYWxmIC0tPjwhRU5USVRZIGZyYWMzNCAiJiMxOTA7Ij4KKzwhLS0gZnJhY3Rpb24gdGhyZWUtcXVhcnRlcnMgLS0+PCFFTlRJVFkgaXF1ZXN0ICImIzE5MTsiPgorPCEtLSBpbnZlcnRlZCBxdWVzdGlvbiBtYXJrIC0tPjwhRU5USVRZIEFncmF2ZSAiJiMxOTI7Ij4KKzwhLS0gY2FwaXRhbCBBLCBncmF2ZSBhY2NlbnQgLS0+PCFFTlRJVFkgQWFjdXRlICImIzE5MzsiPgorPCEtLSBjYXBpdGFsIEEsIGFjdXRlIGFjY2VudCAtLT48IUVOVElUWSBBY2lyYyAiJiMxOTQ7Ij4KKzwhLS0gY2FwaXRhbCBBLCBjaXJjdW1mbGV4IGFjY2VudCAtLT48IUVOVElUWSBBdGlsZGUgIiYjMTk1OyI+Cis8IS0tIGNhcGl0YWwgQSwgdGlsZGUgLS0+PCFFTlRJVFkgQXVtbCAiJiMxOTY7Ij4KKzwhLS0gY2FwaXRhbCBBLCBkaWVyZXNpcyBvciB1bWxhdXQgbWFyayAtLT48IUVOVElUWSBBcmluZyAiJiMxOTc7Ij4KKzwhLS0gY2FwaXRhbCBBLCByaW5nIC0tPjwhRU5USVRZIEFFbGlnICImIzE5ODsiPgorPCEtLSBjYXBpdGFsIEFFIGRpcGh0aG9uZyAobGlnYXR1cmUpIC0tPjwhRU5USVRZIENjZWRpbCAiJiMxOTk7Ij4KKzwhLS0gY2FwaXRhbCBDLCBjZWRpbGxhIC0tPjwhRU5USVRZIEVncmF2ZSAiJiMyMDA7Ij4KKzwhLS0gY2FwaXRhbCBFLCBncmF2ZSBhY2NlbnQgLS0+PCFFTlRJVFkgRWFjdXRlICImIzIwMTsiPgorPCEtLSBjYXBpdGFsIEUsIGFjdXRlIGFjY2VudCAtLT48IUVOVElUWSBFY2lyYyAiJiMyMDI7Ij4KKzwhLS0gY2FwaXRhbCBFLCBjaXJjdW1mbGV4IGFjY2VudCAtLT48IUVOVElUWSBFdW1sICImIzIwMzsiPgorPCEtLSBjYXBpdGFsIEUsIGRpZXJlc2lzIG9yIHVtbGF1dCBtYXJrIC0tPjwhRU5USVRZIElncmF2ZSAiJiMyMDQ7Ij4KKzwhLS0gY2FwaXRhbCBJLCBncmF2ZSBhY2NlbnQgLS0+PCFFTlRJVFkgSWFjdXRlICImIzIwNTsiPgorPCEtLSBjYXBpdGFsIEksIGFjdXRlIGFjY2VudCAtLT48IUVOVElUWSBJY2lyYyAiJiMyMDY7Ij4KKzwhLS0gY2FwaXRhbCBJLCBjaXJjdW1mbGV4IGFjY2VudCAtLT48IUVOVElUWSBJdW1sICImIzIwNzsiPgorPCEtLSBjYXBpdGFsIEksIGRpZXJlc2lzIG9yIHVtbGF1dCBtYXJrIC0tPjwhRU5USVRZIEVUSCAiJiMyMDg7Ij4KKzwhLS0gY2FwaXRhbCBFdGgsIEljZWxhbmRpYyAtLT48IUVOVElUWSBOdGlsZGUgIiYjMjA5OyI+Cis8IS0tIGNhcGl0YWwgTiwgdGlsZGUgLS0+PCFFTlRJVFkgT2dyYXZlICImIzIxMDsiPgorPCEtLSBjYXBpdGFsIE8sIGdyYXZlIGFjY2VudCAtLT48IUVOVElUWSBPYWN1dGUgIiYjMjExOyI+Cis8IS0tIGNhcGl0YWwgTywgYWN1dGUgYWNjZW50IC0tPjwhRU5USVRZIE9jaXJjICImIzIxMjsiPgorPCEtLSBjYXBpdGFsIE8sIGNpcmN1bWZsZXggYWNjZW50IC0tPjwhRU5USVRZIE90aWxkZSAiJiMyMTM7Ij4KKzwhLS0gY2FwaXRhbCBPLCB0aWxkZSAtLT48IUVOVElUWSBPdW1sICImIzIxNDsiPgorPCEtLSBjYXBpdGFsIE8sIGRpZXJlc2lzIG9yIHVtbGF1dCBtYXJrIC0tPjwhRU5USVRZIHRpbWVzICImIzIxNTsiPgorPCEtLSBtdWx0aXBseSBzaWduIC0tPjwhRU5USVRZIE9zbGFzaCAiJiMyMTY7Ij4KKzwhLS0gY2FwaXRhbCBPLCBzbGFzaCAtLT48IUVOVElUWSBVZ3JhdmUgIiYjMjE3OyI+Cis8IS0tIGNhcGl0YWwgVSwgZ3JhdmUgYWNjZW50IC0tPjwhRU5USVRZIFVhY3V0ZSAiJiMyMTg7Ij4KKzwhLS0gY2FwaXRhbCBVLCBhY3V0ZSBhY2NlbnQgLS0+PCFFTlRJVFkgVWNpcmMgIiYjMjE5OyI+Cis8IS0tIGNhcGl0YWwgVSwgY2lyY3VtZmxleCBhY2NlbnQgLS0+PCFFTlRJVFkgVXVtbCAiJiMyMjA7Ij4KKzwhLS0gY2FwaXRhbCBVLCBkaWVyZXNpcyBvciB1bWxhdXQgbWFyayAtLT48IUVOVElUWSBZYWN1dGUgIiYjMjIxOyI+Cis8IS0tIGNhcGl0YWwgWSwgYWN1dGUgYWNjZW50IC0tPjwhRU5USVRZIFRIT1JOICImIzIyMjsiPgorPCEtLSBjYXBpdGFsIFRIT1JOLCBJY2VsYW5kaWMgLS0+PCFFTlRJVFkgc3psaWcgIiYjMjIzOyI+Cis8IS0tIHNtYWxsIHNoYXJwIHMsIEdlcm1hbiAoc3ogbGlnYXR1cmUpIC0tPjwhRU5USVRZIGFncmF2ZSAiJiMyMjQ7Ij4KKzwhLS0gc21hbGwgYSwgZ3JhdmUgYWNjZW50IC0tPjwhRU5USVRZIGFhY3V0ZSAiJiMyMjU7Ij4KKzwhLS0gc21hbGwgYSwgYWN1dGUgYWNjZW50IC0tPjwhRU5USVRZIGFjaXJjICImIzIyNjsiPgorPCEtLSBzbWFsbCBhLCBjaXJjdW1mbGV4IGFjY2VudCAtLT48IUVOVElUWSBhdGlsZGUgIiYjMjI3OyI+Cis8IS0tIHNtYWxsIGEsIHRpbGRlIC0tPjwhRU5USVRZIGF1bWwgIiYjMjI4OyI+Cis8IS0tIHNtYWxsIGEsIGRpZXJlc2lzIG9yIHVtbGF1dCBtYXJrIC0tPjwhRU5USVRZIGFyaW5nICImIzIyOTsiPgorPCEtLSBzbWFsbCBhLCByaW5nIC0tPjwhRU5USVRZIGFlbGlnICImIzIzMDsiPgorPCEtLSBzbWFsbCBhZSBkaXBodGhvbmcgKGxpZ2F0dXJlKSAtLT48IUVOVElUWSBjY2VkaWwgIiYjMjMxOyI+Cis8IS0tIHNtYWxsIGMsIGNlZGlsbGEgLS0+PCFFTlRJVFkgZWdyYXZlICImIzIzMjsiPgorPCEtLSBzbWFsbCBlLCBncmF2ZSBhY2NlbnQgLS0+PCFFTlRJVFkgZWFjdXRlICImIzIzMzsiPgorPCEtLSBzbWFsbCBlLCBhY3V0ZSBhY2NlbnQgLS0+PCFFTlRJVFkgZWNpcmMgIiYjMjM0OyI+Cis8IS0tIHNtYWxsIGUsIGNpcmN1bWZsZXggYWNjZW50IC0tPjwhRU5USVRZIGV1bWwgIiYjMjM1OyI+Cis8IS0tIHNtYWxsIGUsIGRpZXJlc2lzIG9yIHVtbGF1dCBtYXJrIC0tPjwhRU5USVRZIGlncmF2ZSAiJiMyMzY7Ij4KKzwhLS0gc21hbGwgaSwgZ3JhdmUgYWNjZW50IC0tPjwhRU5USVRZIGlhY3V0ZSAiJiMyMzc7Ij4KKzwhLS0gc21hbGwgaSwgYWN1dGUgYWNjZW50IC0tPjwhRU5USVRZIGljaXJjICImIzIzODsiPgorPCEtLSBzbWFsbCBpLCBjaXJjdW1mbGV4IGFjY2VudCAtLT48IUVOVElUWSBpdW1sICImIzIzOTsiPgorPCEtLSBzbWFsbCBpLCBkaWVyZXNpcyBvciB1bWxhdXQgbWFyayAtLT48IUVOVElUWSBldGggIiYjMjQwOyI+Cis8IS0tIHNtYWxsIGV0aCwgSWNlbGFuZGljIC0tPjwhRU5USVRZIG50aWxkZSAiJiMyNDE7Ij4KKzwhLS0gc21hbGwgbiwgdGlsZGUgLS0+PCFFTlRJVFkgb2dyYXZlICImIzI0MjsiPgorPCEtLSBzbWFsbCBvLCBncmF2ZSBhY2NlbnQgLS0+PCFFTlRJVFkgb2FjdXRlICImIzI0MzsiPgorPCEtLSBzbWFsbCBvLCBhY3V0ZSBhY2NlbnQgLS0+PCFFTlRJVFkgb2NpcmMgIiYjMjQ0OyI+Cis8IS0tIHNtYWxsIG8sIGNpcmN1bWZsZXggYWNjZW50IC0tPjwhRU5USVRZIG90aWxkZSAiJiMyNDU7Ij4KKzwhLS0gc21hbGwgbywgdGlsZGUgLS0+PCFFTlRJVFkgb3VtbCAiJiMyNDY7Ij4KKzwhLS0gc21hbGwgbywgZGllcmVzaXMgb3IgdW1sYXV0IG1hcmsgLS0+PCFFTlRJVFkgZGl2aWRlICImIzI0NzsiPgorPCEtLSBkaXZpZGUgc2lnbiAtLT48IUVOVElUWSBvc2xhc2ggIiYjMjQ4OyI+Cis8IS0tIHNtYWxsIG8sIHNsYXNoIC0tPjwhRU5USVRZIHVncmF2ZSAiJiMyNDk7Ij4KKzwhLS0gc21hbGwgdSwgZ3JhdmUgYWNjZW50IC0tPjwhRU5USVRZIHVhY3V0ZSAiJiMyNTA7Ij4KKzwhLS0gc21hbGwgdSwgYWN1dGUgYWNjZW50IC0tPjwhRU5USVRZIHVjaXJjICImIzI1MTsiPgorPCEtLSBzbWFsbCB1LCBjaXJjdW1mbGV4IGFjY2VudCAtLT48IUVOVElUWSB1dW1sICImIzI1MjsiPgorPCEtLSBzbWFsbCB1LCBkaWVyZXNpcyBvciB1bWxhdXQgbWFyayAtLT48IUVOVElUWSB5YWN1dGUgIiYjMjUzOyI+Cis8IS0tIHNtYWxsIHksIGFjdXRlIGFjY2VudCAtLT48IUVOVElUWSB0aG9ybiAiJiMyNTQ7Ij4KKzwhLS0gc21hbGwgdGhvcm4sIEljZWxhbmRpYyAtLT48IUVOVElUWSB5dW1sICImIzI1NTsiPgorPCEtLSBzbWFsbCB5LCBkaWVyZXNpcyBvciB1bWxhdXQgbWFyayAtLT48IS0tCisgICAgIENvcGllZCBmcm9tIEhUTUwgMy4yIERURCwgd2l0aCBtb2RpZmljYXRpb25zIChyZW1vdmVkIENEQVRBKQorICAgICBodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtaHRtbDMyLmh0bWwjZHRkCisgICAgID09PT09PT09PT09PT09PT09IEVORCA9PT09PT09PT09PT09PT09PT09CistLT4KK10+Cis8cnNzPgorPGNoYW5uZWw+Cis8aW1hZ2UvPgorPHRpdGxlPlBQPC90aXRsZT4KKzwvY2hhbm5lbD4KKzwvcnNzPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3ZhbGlkL3QxMC54bWwgYi9saWJ4bWwyL3Rlc3QvdmFsaWQvdDEwLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZTA2NmY5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3ZhbGlkL3QxMC54bWwKQEAgLTAsMCArMSwxMiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJ5ZXMiPz4KKzwhRE9DVFlQRSByb290IFsKKzwhRUxFTUVOVCByb290ICAoY29udDEsIChjb250MSwgY29udDI/KSspPgorICA8IUVMRU1FTlQgY29udDEgIEVNUFRZPgorICA8IUVMRU1FTlQgY29udDIgIEVNUFRZPgorXT4KKzxyb290PgorICA8Y29udDEvPgorICA8Y29udDEvPgorICA8Y29udDEvPgorICA8Y29udDEvPgorPC9yb290PgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3ZhbGlkL3QxMS54bWwgYi9saWJ4bWwyL3Rlc3QvdmFsaWQvdDExLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYzNmYjMxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3ZhbGlkL3QxMS54bWwKQEAgLTAsMCArMSwyIEBACis8IURPQ1RZUEUgcm9vdCBTWVNURU0gImR0ZHMvZXh0ZXJuYWwuZW50Ij4KKzxyb290PiZwZUluQ2RhdGE7PC9yb290PgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3ZhbGlkL3Q0LmR0ZCBiL2xpYnhtbDIvdGVzdC92YWxpZC90NC5kdGQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjcyOTJiYwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC92YWxpZC90NC5kdGQKQEAgLTAsMCArMSw0IEBACis8IUVOVElUWSAlIHBlcmNlbnQgIiYjeDI1OyI+Cis8IUVOVElUWSAlcGVyY2VudDsgZGVmICJnaGkiPgorPCFFTlRJVFkgYWJjICIlZGVmOyI+Cis8IUVMRU1FTlQgcm9vdCAoI1BDREFUQSk+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvdmFsaWQvdDQueG1sIGIvbGlieG1sMi90ZXN0L3ZhbGlkL3Q0LnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYWViOWQwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3ZhbGlkL3Q0LnhtbApAQCAtMCwwICsxLDMgQEAKKzw/eG1sIHZlcnNpb249JzEuMCc/PgorPCFET0NUWVBFIHJvb3QgU1lTVEVNICd0NC5kdGQnPgorPHJvb3Q+JmFiYzs8L3Jvb3Q+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvdmFsaWQvdDRhLmR0ZCBiL2xpYnhtbDIvdGVzdC92YWxpZC90NGEuZHRkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI3Y2RjN2MKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvdmFsaWQvdDRhLmR0ZApAQCAtMCwwICsxLDUgQEAKKzwhRU5USVRZICUgcGVyY2VudCAiJiN4MjU7Ij4KKzwhRU5USVRZJXBlcmNlbnQ7ZGVmICJnaGkiPgorPCFFTlRJVFkgYWJjICIlZGVmOyI+Cis8IUVMRU1FTlQgcm9vdCAoI1BDREFUQSk+CisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC92YWxpZC90NGEueG1sIGIvbGlieG1sMi90ZXN0L3ZhbGlkL3Q0YS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjdmYTYwMwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC92YWxpZC90NGEueG1sCkBAIC0wLDAgKzEsMyBAQAorPD94bWwgdmVyc2lvbj0nMS4wJz8+Cis8IURPQ1RZUEUgcm9vdCBTWVNURU0gJ3Q0YS5kdGQnPgorPHJvb3Q+JmFiYzs8L3Jvb3Q+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvdmFsaWQvdDYuZHRkIGIvbGlieG1sMi90ZXN0L3ZhbGlkL3Q2LmR0ZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NDk3YzI4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3ZhbGlkL3Q2LmR0ZApAQCAtMCwwICsxLDUgQEAKKzwhRU5USVRZICUgeGRlZiAiZGVmIj4KKzwhRU5USVRZICUgJXhkZWY7ICJnaGkiPgorPCFFTlRJVFkgYWJjICIlZGVmOyI+Cis8IUVMRU1FTlQgcm9vdCAoI1BDREFUQSk+CisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC92YWxpZC90Ni54bWwgYi9saWJ4bWwyL3Rlc3QvdmFsaWQvdDYueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI5ZjYyY2EKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvdmFsaWQvdDYueG1sCkBAIC0wLDAgKzEsMyBAQAorPD94bWwgdmVyc2lvbj0nMS4wJz8+Cis8IURPQ1RZUEUgcm9vdCBTWVNURU0gJ3Q2LmR0ZCc+Cis8cm9vdD4mYWJjOzwvcm9vdD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC92YWxpZC90OC54bWwgYi9saWJ4bWwyL3Rlc3QvdmFsaWQvdDgueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM3YzJiMGEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvdmFsaWQvdDgueG1sCkBAIC0wLDAgKzEsOCBAQAorPD94bWwgdmVyc2lvbj0nMS4wJz8+DQorPCFET0NUWVBFIHJvb3QgWw0KKzwhRU5USVRZICUgZGVmdGVzdCAnJmx0OyFFTEVNRU5UIHRlc3QgKCNQQ0RBVEEpID4nID4NCis8IUVOVElUWSAlIGRlZm1pZGRsZSAnJmx0OyFFTEVNRU5UIG1pZGRsZSAodGVzdCkgPicgPg0KKzwhRU5USVRZICUgZGVmcm9vdCAnJmx0OyFFTEVNRU5UIHJvb3QgKG1pZGRsZSkgPicgPg0KKyVkZWZyb290OyAlZGVmbWlkZGxlOyAlZGVmdGVzdDsNCitdPg0KKzxyb290PjxtaWRkbGU+PHRlc3Q+c2FtcGxlPC90ZXN0PjwvbWlkZGxlPjwvcm9vdD4NCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvdmFsaWQvdDhhLnhtbCBiL2xpYnhtbDIvdGVzdC92YWxpZC90OGEueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEzNDcwZWIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvdmFsaWQvdDhhLnhtbApAQCAtMCwwICsxLDggQEAKKzw/eG1sIHZlcnNpb249JzEuMCc/Pg0KKzwhRE9DVFlQRSByb290IFsNCis8IUVOVElUWSAlIGRlZnRlc3QgJyZsdDshRUxFTUVOVCB0ZXN0ICgjUENEQVRBKSA+JyA+DQorPCFFTlRJVFkgJSBkZWZtaWRkbGUgJyZsdDshRUxFTUVOVCBtaWRkbGUgKHRlc3QpID4nID4NCis8IUVOVElUWSAlIGRlZnJvb3QgJyZsdDshRUxFTUVOVCByb290IChtaWRkbGUpID4nID4NCislZGVmcm9vdDslZGVmbWlkZGxlOyVkZWZ0ZXN0Ow0KK10+DQorPHJvb3Q+PG1pZGRsZT48dGVzdD5zYW1wbGU8L3Rlc3Q+PC9taWRkbGU+PC9yb290Pg0KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC92YWxpZC90OS54bWwgYi9saWJ4bWwyL3Rlc3QvdmFsaWQvdDkueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY0NWQzNWEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvdmFsaWQvdDkueG1sCkBAIC0wLDAgKzEsOCBAQAorPD94bWwgdmVyc2lvbj0nMS4wJz8+DQorPCFET0NUWVBFIHJvb3QgWw0KKzwhRU5USVRZICUgZGVmdGVzdCAnJiM2MDshRUxFTUVOVCB0ZXN0ICgjUENEQVRBKSA+JyA+DQorPCFFTlRJVFkgJSBkZWZtaWRkbGUgJyYjNjA7IUVMRU1FTlQgbWlkZGxlICh0ZXN0KSA+JyA+DQorPCFFTlRJVFkgJSBkZWZyb290ICcmIzYwOyFFTEVNRU5UIHJvb3QgKG1pZGRsZSkgPicgPg0KKyVkZWZyb290OyAlZGVmbWlkZGxlOyAlZGVmdGVzdDsNCitdPg0KKzxyb290PjxtaWRkbGU+PHRlc3Q+c2FtcGxlPC90ZXN0PjwvbWlkZGxlPjwvcm9vdD4NCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvdmFsaWQvdDlhLnhtbCBiL2xpYnhtbDIvdGVzdC92YWxpZC90OWEueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIzZDNjMDYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvdmFsaWQvdDlhLnhtbApAQCAtMCwwICsxLDggQEAKKzw/eG1sIHZlcnNpb249JzEuMCc/Pg0KKzwhRE9DVFlQRSByb290IFsNCis8IUVOVElUWSAlIGRlZnRlc3QgJyYjNjA7IUVMRU1FTlQgdGVzdCAoI1BDREFUQSkgPicgPg0KKzwhRU5USVRZICUgZGVmbWlkZGxlICcmIzYwOyFFTEVNRU5UIG1pZGRsZSAodGVzdCkgPicgPg0KKzwhRU5USVRZICUgZGVmcm9vdCAnJiM2MDshRUxFTUVOVCByb290IChtaWRkbGUpID4nID4NCislZGVmcm9vdDslZGVmbWlkZGxlOyVkZWZ0ZXN0Ow0KK10+DQorPHJvb3Q+PG1pZGRsZT48dGVzdD5zYW1wbGU8L3Rlc3Q+PC9taWRkbGU+PC9yb290Pg0KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC92YWxpZC94aHRtbDEueGh0bWwgYi9saWJ4bWwyL3Rlc3QvdmFsaWQveGh0bWwxLnhodG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI0ZDY4ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QvdmFsaWQveGh0bWwxLnhodG1sCkBAIC0wLDAgKzEsMTUwNSBAQAorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIgImR0ZHMveGh0bWwxLXN0cmljdC5kdGQiPgorPD94bWwtc3R5bGVzaGVldCBocmVmPSJXM0MtUFIuY3NzIiB0eXBlPSJ0ZXh0L2NzcyI/PgorPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIGxhbmc9ImVuIiB4bWw6bGFuZz0iZW4iPgorPGhlYWQ+Cis8dGl0bGU+WEhUTUwgMS4wOiBUaGUgRXh0ZW5zaWJsZSBIeXBlclRleHQgTWFya3VwCitMYW5ndWFnZTwvdGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiCitocmVmPSJXM0MtUFIuY3NzIiB0eXBlPSJ0ZXh0L2NzcyIgLz4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CitzcGFuLnRlcm0geyBmb250LXN0eWxlOiBpdGFsaWM7IGNvbG9yOiByZ2IoMCwgMCwgMTkyKSB9Citjb2RlIHsKKwljb2xvcjogZ3JlZW47CisJZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKKwlmb250LXdlaWdodDogYm9sZDsKK30KKworY29kZS5ncmVlbm1vbm8geworCWNvbG9yOiBncmVlbjsKKwlmb250LWZhbWlseTogbW9ub3NwYWNlOworCWZvbnQtd2VpZ2h0OiBib2xkOworfQorLmdvb2QgeworCWJvcmRlcjogc29saWQgZ3JlZW47CisJYm9yZGVyLXdpZHRoOiAycHg7CisJY29sb3I6IGdyZWVuOworCWZvbnQtd2VpZ2h0OiBib2xkOworCW1hcmdpbi1yaWdodDogNSU7CisJbWFyZ2luLWxlZnQ6IDA7Cit9CisuYmFkICB7CisJYm9yZGVyOiBzb2xpZCByZWQ7CisJYm9yZGVyLXdpZHRoOiAycHg7CisJbWFyZ2luLWxlZnQ6IDA7CisJbWFyZ2luLXJpZ2h0OiA1JTsKKwljb2xvcjogcmdiKDE5MiwgMTAxLCAxMDEpOworfQorCitpbWcgeworCWNvbG9yOiB3aGl0ZTsKKwlib3JkZXI6IG5vbmU7Cit9CisKK2Rpdi5uYXZiYXIgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH0KK2Rpdi5jb250ZW50cyB7CisJYmFja2dyb3VuZC1jb2xvcjogcmdiKDIwNCwyMDQsMjU1KTsKKwlwYWRkaW5nOiAwLjVlbTsKKwlib3JkZXI6IG5vbmU7CisJbWFyZ2luLXJpZ2h0OiA1JTsKK30KKy50b2NsaW5lIHsgbGlzdC1zdHlsZTogbm9uZTsgfQordGFibGUuZXhjZXB0aW9ucyB7IGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsMjU1LDE1Myk7IH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgY2xhc3M9Im5hdmJhciI+CisgIDxhIGhyZWY9IiN0b2MiPnRhYmxlIG9mIGNvbnRlbnRzPC9hPiAKKyAgPGhyIC8+Cis8L2Rpdj4KKzxkaXYgY2xhc3M9ImhlYWQiPjxwPjxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnLyI+PGltZyBjbGFzcz0iaGVhZCIKK3NyYz0idzNjX2hvbWUuZ2lmIiBhbHQ9IlczQyIgLz48L2E+PC9wPgorCis8aDEgY2xhc3M9ImhlYWQiPjxhIG5hbWU9InRpdGxlIiBpZD0idGl0bGUiPlhIVE1MPC9hPjxzdXA+JiM4NDgyOzwvc3VwPiAxLjA6CitUaGUgRXh0ZW5zaWJsZSBIeXBlclRleHQgTWFya3VwIExhbmd1YWdlPC9oMT4KKworPGgyPkEgUmVmb3JtdWxhdGlvbiBvZiBIVE1MIDQuMCBpbiBYTUwgMS4wPC9oMj4KKworPGgzPlczQyBQcm9wb3NlZCBSZWNvbW1lbmRhdGlvbiAxMCBEZWNlbWJlciAxOTk5PC9oMz4KKworPGRsPgorPGR0PlRoaXMgdmVyc2lvbjo8L2R0PgorCis8ZGQ+PGEgaHJlZj0KKyJodHRwOi8vd3d3LnczLm9yZy9UUi8xOTk5L1BSLXhodG1sMS0xOTk5MTIxMCI+CitodHRwOi8vd3d3LnczLm9yZy9UUi8xOTk5L1BSLXhodG1sMS0xOTk5MTIxMDwvYT4gPGJyIC8+CisoPGEgaHJlZj0ieGh0bWwxLnBzIj5Qb3N0c2NyaXB0IHZlcnNpb248L2E+LAorPGEgaHJlZj0ieGh0bWwxLnBkZiI+UERGIHZlcnNpb248L2E+LAorPGEgaHJlZj0ieGh0bWwxLnppcCI+WklQIGFyY2hpdmU8L2E+LCBvcgorPGEgaHJlZj0ieGh0bWwxLnRneiI+R3ppcCdkIFRBUiBhcmNoaXZlPC9hPikKKzwvZGQ+CisKKzxkdD5MYXRlc3QgdmVyc2lvbjo8L2R0PgorCis8ZGQ+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxIj4KK2h0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMTwvYT48L2RkPgorCis8ZHQ+UHJldmlvdXMgdmVyc2lvbnM6PC9kdD4KKworPGRkPjxhIGhyZWY9CisiaHR0cDovL3d3dy53My5vcmcvVFIvMTk5OS9XRC14aHRtbDEtMTk5OTExMjQiPgoraHR0cDovL3d3dy53My5vcmcvVFIvMTk5OS9XRC14aHRtbDEtMTk5OTExMjQ8L2E+PC9kZD4KKzxkZD48YSBocmVmPQorImh0dHA6Ly93d3cudzMub3JnL1RSLzE5OTkvUFIteGh0bWwxLTE5OTkwODI0Ij4KK2h0dHA6Ly93d3cudzMub3JnL1RSLzE5OTkvUFIteGh0bWwxLTE5OTkwODI0PC9hPjwvZGQ+CisKKzxkdD5BdXRob3JzOjwvZHQ+CisKKzxkZD5TZWUgPGEgaHJlZj0iI2Fja3MiPmFja25vd2xlZGdlbWVudHM8L2E+LjwvZGQ+Cis8L2RsPgorCis8cCBjbGFzcz0iY29weXJpZ2h0Ij48YSBocmVmPSAKKyJodHRwOi8vd3d3LnczLm9yZy9Db25zb3J0aXVtL0xlZ2FsL2lwci1ub3RpY2UjQ29weXJpZ2h0Ij4KK0NvcHlyaWdodDwvYT4gJmNvcHk7IDE5OTkgPGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvIj5XM0M8L2E+PHN1cD4mcmVnOzwvc3VwPgorKDxhIGhyZWY9Imh0dHA6Ly93d3cubGNzLm1pdC5lZHUvIj5NSVQ8L2E+LCA8YSBocmVmPSAKKyJodHRwOi8vd3d3LmlucmlhLmZyLyI+SU5SSUE8L2E+LCA8YSBocmVmPQorImh0dHA6Ly93d3cua2Vpby5hYy5qcC8iPktlaW88L2E+KSwgQWxsIFJpZ2h0cyBSZXNlcnZlZC4gPGFiYnIKK3RpdGxlPSJXb3JsZCBXaWRlIFdlYiBDb25zb3J0aXVtIj5XM0M8L2FiYnI+IDxhCitocmVmPSAKKyJodHRwOi8vd3d3LnczLm9yZy9Db25zb3J0aXVtL0xlZ2FsL2lwci1ub3RpY2UjTGVnYWxfRGlzY2xhaW1lciI+CitsaWFiaWxpdHk8L2E+LCA8YSBocmVmPSAKKyJodHRwOi8vd3d3LnczLm9yZy9Db25zb3J0aXVtL0xlZ2FsL2lwci1ub3RpY2UjVzNDX1RyYWRlbWFya3MiPgordHJhZGVtYXJrPC9hPiwgPGEgaHJlZj0gCisiaHR0cDovL3d3dy53My5vcmcvQ29uc29ydGl1bS9MZWdhbC9jb3B5cmlnaHQtZG9jdW1lbnRzIj5kb2N1bWVudAordXNlPC9hPiBhbmQgPGEgaHJlZj0gCisiaHR0cDovL3d3dy53My5vcmcvQ29uc29ydGl1bS9MZWdhbC9jb3B5cmlnaHQtc29mdHdhcmUiPnNvZnR3YXJlCitsaWNlbnNpbmc8L2E+IHJ1bGVzIGFwcGx5LjwvcD4KKzxociAvPgorPC9kaXY+CisKKzxoMiBjbGFzcz0ibm90b2MiPkFic3RyYWN0PC9oMj4KKworPHA+VGhpcyBzcGVjaWZpY2F0aW9uIGRlZmluZXMgPGFiYnIgdGl0bGU9IkV4dGVuc2libGUgSHlwZXJ0ZXh0IE1hcmt1cAorTGFuZ3VhZ2UiPlhIVE1MPC9hYmJyPiAxLjAsIGEgcmVmb3JtdWxhdGlvbiBvZiBIVE1MCis0LjAgYXMgYW4gWE1MIDEuMCBhcHBsaWNhdGlvbiwgYW5kIHRocmVlIDxhYmJyIHRpdGxlPSJEb2N1bWVudCBUeXBlCitEZWZpbml0aW9uIj5EVERzPC9hYmJyPiBjb3JyZXNwb25kaW5nIHRvCit0aGUgb25lcyBkZWZpbmVkIGJ5IEhUTUwgNC4wLiBUaGUgc2VtYW50aWNzIG9mIHRoZSBlbGVtZW50cyBhbmQKK3RoZWlyIGF0dHJpYnV0ZXMgYXJlIGRlZmluZWQgaW4gdGhlIFczQyBSZWNvbW1lbmRhdGlvbiBmb3IgSFRNTAorNC4wLiBUaGVzZSBzZW1hbnRpY3MgcHJvdmlkZSB0aGUgZm91bmRhdGlvbiBmb3IgZnV0dXJlCitleHRlbnNpYmlsaXR5IG9mIFhIVE1MLiBDb21wYXRpYmlsaXR5IHdpdGggZXhpc3RpbmcgSFRNTCB1c2VyCithZ2VudHMgaXMgcG9zc2libGUgYnkgZm9sbG93aW5nIGEgc21hbGwgc2V0IG9mIGd1aWRlbGluZXMuPC9wPgorCis8aDI+U3RhdHVzIG9mIHRoaXMgZG9jdW1lbnQ8L2gyPgorCis8cD48ZW0+VGhpcyBzZWN0aW9uIGRlc2NyaWJlcyB0aGUgc3RhdHVzIG9mIHRoaXMgZG9jdW1lbnQgYXQgdGhlIHRpbWUKK29mIGl0cyBwdWJsaWNhdGlvbi4gT3RoZXIgZG9jdW1lbnRzIG1heSBzdXBlcnNlZGUgdGhpcyBkb2N1bWVudC4gVGhlCitsYXRlc3Qgc3RhdHVzIG9mIHRoaXMgZG9jdW1lbnQgc2VyaWVzIGlzIG1haW50YWluZWQgYXQgdGhlIFczQy48L2VtPjwvcD4KKworPHA+VGhpcyBzcGVjaWZpY2F0aW9uIGlzIGEgUHJvcG9zZWQgUmVjb21tZW5kYXRpb24gb2YgdGhlIEhUTUwgV29ya2luZyBHcm91cC4gSXQgaXMgCithIHJldmlzaW9uIG9mIHRoZSBQcm9wb3NlZCBSZWNvbW1lbmRhdGlvbiBkYXRlZCA8YQoraHJlZj0gImh0dHA6Ly93d3cudzMub3JnL1RSLzE5OTkvUFIteGh0bWwxLTE5OTkwODI0LyI+MjQgQXVndXN0CisxOTk5PC9hPiBpbmNvcnBvcmF0aW5nIGNoYW5nZXMgYXMgYSByZXN1bHQgb2YgY29tbWVudHMgZnJvbSB0aGUgUHJvcG9zZWQKK1JlY29tbWVuZGF0aW9uIHJldmlldywgYW5kIAorY29tbWVudHMgYW5kIGZ1cnRoZXIgZGVsaWJlcmF0aW9ucyBvZiB0aGUgVzNDIEhUTUwgV29ya2luZyBHcm91cC4gQSAKKzxhIGhyZWY9InhodG1sMS1kaWZmLTE5OTkxMjEwLmh0bWwiPmRpZmYtbWFya2VkIHZlcnNpb248L2E+IGZyb20gdGhlIHByZXZpb3VzCitwcm9wb3NlZCByZWNvbW1lbmRhdGlvbiBpcyBhdmFpbGFibGUgZm9yIGNvbXBhcmlzb24gcHVycG9zZXMuPC9wPgorCis8cD5PbiAxMCBEZWNlbWJlciAxOTk5LCB0aGlzIGRvY3VtZW50IGVudGVycyBhCis8YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9Db25zb3J0aXVtL1Byb2Nlc3MvI1JlY3NQUiI+CitQcm9wb3NlZCBSZWNvbW1lbmRhdGlvbjwvYT4gcmV2aWV3IHBlcmlvZC4gRnJvbSB0aGF0IGRhdGUgdW50aWwgOCBKYW51YXJ5CisyMDAwLAorVzNDIEFkdmlzb3J5IENvbW1pdHRlZSByZXByZXNlbnRhdGl2ZXMgYXJlIGVuY291cmFnZWQKK3RvIHJldmlldyB0aGlzIHNwZWNpZmljYXRpb24gYW5kIHJldHVybiBjb21tZW50cyBpbiB0aGVpciBjb21wbGV0ZWQKK2JhbGxvdHMgdG8gdzNjLWh0bWwtcmV2aWV3QHczLm9yZy4gUGxlYXNlIHNlbmQgYW55IGNvbW1lbnRzIG9mIGEKK2NvbmZpZGVudGlhbCBuYXR1cmUgaW4gc2VwYXJhdGUgZW1haWwgdG8gdzN0LWh0bWxAdzMub3JnLCB3aGljaCBpcwordmlzaWJsZSB0byB0aGUgVGVhbSBvbmx5LjwvcD4KKworPHA+Tm8gc29vbmVyIHRoYW4gMTQgZGF5cyBhZnRlciB0aGUgZW5kIG9mIHRoZSByZXZpZXcgcGVyaW9kLCB0aGUKK0RpcmVjdG9yIHdpbGwgYW5ub3VuY2UgdGhlIGRvY3VtZW50J3MgZGlzcG9zaXRpb246IGl0IG1heSBiZWNvbWUgYSBXM0MKK1JlY29tbWVuZGF0aW9uIChwb3NzaWJseSB3aXRoIG1pbm9yIGNoYW5nZXMpLCBpdCBtYXkgcmV2ZXJ0IHRvIFdvcmtpbmcKK0RyYWZ0IHN0YXR1cywgb3IgaXQgbWF5IGJlIGRyb3BwZWQgYXMgYSBXM0Mgd29yayBpdGVtLjwvcD4KKworPHA+UHVibGljYXRpb24gYXMgYSBQcm9wb3NlZCBSZWNvbW1lbmRhdGlvbiBkb2VzIG5vdCBpbXBseSBlbmRvcnNlbWVudAorYnkgdGhlIFczQyBtZW1iZXJzaGlwLiAgVGhpcyBpcyBzdGlsbCBhIGRyYWZ0IGRvY3VtZW50IGFuZCBtYXkgYmUKK3VwZGF0ZWQsIHJlcGxhY2VkIG9yIG9ic29sZXRlZCBieSBvdGhlciBkb2N1bWVudHMgYXQgYW55IHRpbWUuIEl0IGlzCitpbmFwcHJvcHJpYXRlIHRvIGNpdGUgVzNDIFByb3Bvc2VkIFJlY29tbWVuZGF0aW9uIGFzIG90aGVyIHRoYW4gIndvcmsKK2luIHByb2dyZXNzLiI8L3A+CisKKzxwPlRoaXMgZG9jdW1lbnQgaGFzIGJlZW4gcHJvZHVjZWQgYXMgcGFydCBvZiB0aGUgPGEgaHJlZj0gCisiaHR0cDovL3d3dy53My5vcmcvTWFya1VwLyI+VzNDIEhUTUwgQWN0aXZpdHk8L2E+LiBUaGUgZ29hbHMgb2YKK3RoZSA8YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9NYXJrVXAvR3JvdXAvIj5IVE1MIFdvcmtpbmcKK0dyb3VwPC9hPiA8aT4oPGEgaHJlZj0iaHR0cDovL2NnaS53My5vcmcvTWVtYmVyQWNjZXNzLyI+bWVtYmVycworb25seTwvYT4pPC9pPiBhcmUgZGlzY3Vzc2VkIGluIHRoZSA8YSBocmVmPSAKKyJodHRwOi8vd3d3LnczLm9yZy9NYXJrVXAvR3JvdXAvSFRNTGNoYXJ0ZXIiPkhUTUwgV29ya2luZyBHcm91cAorY2hhcnRlcjwvYT4gPGk+KDxhIGhyZWY9Imh0dHA6Ly9jZ2kudzMub3JnL01lbWJlckFjY2Vzcy8iPm1lbWJlcnMKK29ubHk8L2E+KTwvaT4uPC9wPgorCis8cD5BIGxpc3Qgb2YgY3VycmVudCBXM0MgUmVjb21tZW5kYXRpb25zIGFuZCBvdGhlciB0ZWNobmljYWwgZG9jdW1lbnRzCitjYW4gYmUgZm91bmQgYXQgPGEKK2hyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSIj5odHRwOi8vd3d3LnczLm9yZy9UUjwvYT4uPC9wPgorCis8cD5QdWJsaWMgZGlzY3Vzc2lvbiBvbiA8YWJiciB0aXRsZT0iSHlwZXJUZXh0IE1hcmt1cAorTGFuZ3VhZ2UiPkhUTUw8L2FiYnI+IGZlYXR1cmVzIHRha2VzIHBsYWNlIG9uIHRoZSBtYWlsaW5nIGxpc3QgPGEKK2hyZWY9Im1haWx0bzp3d3ctaHRtbEB3My5vcmciPiB3d3ctaHRtbEB3My5vcmc8L2E+ICg8YSBocmVmPQorImh0dHA6Ly9saXN0cy53My5vcmcvQXJjaGl2ZXMvUHVibGljL3d3dy1odG1sLyI+YXJjaGl2ZTwvYT4pLiBUaGUgVzNDCitzdGFmZiBjb250YWN0IGZvciB3b3JrIG9uIEhUTUwgaXMgPGEgaHJlZj0gIm1haWx0bzpkc3JAdzMub3JnIj5EYXZlCitSYWdnZXR0PC9hPi48L3A+CisKKzxwPlBsZWFzZSByZXBvcnQgZXJyb3JzIGluIHRoaXMgZG9jdW1lbnQgdG8gPGEKK2hyZWY9Im1haWx0bzp3d3ctaHRtbC1lZGl0b3JAdzMub3JnIj53d3ctaHRtbC1lZGl0b3JAdzMub3JnPC9hPi48L3A+CisKKzxwPlRoZSBsaXN0IG9mIGtub3duIGVycm9ycyBpbiB0aGlzIHNwZWNpZmljYXRpb24gaXMgYXZhaWxhYmxlIGF0IDxhCitocmVmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzEyL1BSLXhodG1sMS0xOTk5MTIxMC1lcnJhdGEiPmh0dHA6Ly93d3cudzMub3JnLzE5OTkvMTIvUFIteGh0bWwxLTE5OTkxMjEwLWVycmF0YTwvYT4uPC9wPgorCis8aDIgY2xhc3M9Im5vdG9jIj48YSBpZD0idG9jIiBuYW1lPSJ0b2MiPkNvbnRlbnRzPC9hPjwvaDI+CisKKzxkaXYgY2xhc3M9ImNvbnRlbnRzIj4KKzx1bCBjbGFzcz0idG9jIj4KKzxsaSBjbGFzcz0idG9jbGluZSI+MS4gPGEgaHJlZj0iI3hodG1sIj5XaGF0IGlzIFhIVE1MPzwvYT4gCisKKzx1bCBjbGFzcz0idG9jIj4KKzxsaSBjbGFzcz0idG9jbGluZSI+MS4xIDxhIGhyZWY9IiNodG1sNCI+V2hhdCBpcyBIVE1MIDQuMD88L2E+PC9saT4KKworPGxpIGNsYXNzPSJ0b2NsaW5lIj4xLjIgPGEgaHJlZj0iI3htbCI+V2hhdCBpcyBYTUw/PC9hPjwvbGk+CisKKzxsaSBjbGFzcz0idG9jbGluZSI+MS4zIDxhIGhyZWY9IiN3aHkiPldoeSB0aGUgbmVlZCBmb3IgWEhUTUw/PC9hPjwvbGk+Cis8L3VsPgorPC9saT4KKworPGxpIGNsYXNzPSJ0b2NsaW5lIj4yLiA8YSBocmVmPSIjZGVmcyI+RGVmaW5pdGlvbnM8L2E+IAorCis8dWwgY2xhc3M9InRvYyI+Cis8bGkgY2xhc3M9InRvY2xpbmUiPjIuMSA8YSBocmVmPSIjdGVybXMiPlRlcm1pbm9sb2d5PC9hPjwvbGk+CisKKzxsaSBjbGFzcz0idG9jbGluZSI+Mi4yIDxhIGhyZWY9IiNnZW5lcmFsIj5HZW5lcmFsIFRlcm1zPC9hPjwvbGk+Cis8L3VsPgorPC9saT4KKworPGxpIGNsYXNzPSJ0b2NsaW5lIj4zLiA8YSBocmVmPSIjbm9ybWF0aXZlIj5Ob3JtYXRpdmUgRGVmaW5pdGlvbiBvZiBYSFRNTCAxLjA8L2E+CisKKworPHVsIGNsYXNzPSJ0b2MiPgorPGxpIGNsYXNzPSJ0b2NsaW5lIj4zLjEgPGEgaHJlZj0iI2RvY2NvbmYiPkRvY3VtZW50IENvbmZvcm1hbmNlPC9hPjwvbGk+CisKKzxsaSBjbGFzcz0idG9jbGluZSI+My4yIDxhIGhyZWY9IiN1YWNvbmYiPlVzZXIgQWdlbnQgQ29uZm9ybWFuY2U8L2E+PC9saT4KKzwvdWw+Cis8L2xpPgorCis8bGkgY2xhc3M9InRvY2xpbmUiPjQuIDxhIGhyZWY9IiNkaWZmcyI+RGlmZmVyZW5jZXMgd2l0aCBIVE1MIDQuMDwvYT4gCisKKzwvbGk+CisKKzxsaSBjbGFzcz0idG9jbGluZSI+NS4gPGEgaHJlZj0iI2lzc3VlcyI+Q29tcGF0aWJpbGl0eSBJc3N1ZXM8L2E+IAorCis8dWwgY2xhc3M9InRvYyI+Cis8bGkgY2xhc3M9InRvY2xpbmUiPjUuMSA8YSBocmVmPSIjbWVkaWEiPkludGVybmV0IE1lZGlhIFR5cGVzPC9hPjwvbGk+Cis8L3VsPgorPC9saT4KKworPGxpIGNsYXNzPSJ0b2NsaW5lIj42LiA8YSBocmVmPSIjZnV0dXJlIj5GdXR1cmUgRGlyZWN0aW9uczwvYT4gCisKKzx1bCBjbGFzcz0idG9jIj4KKzxsaSBjbGFzcz0idG9jbGluZSI+Ni4xIDxhIGhyZWY9IiNtb2RzIj5Nb2R1bGFyaXppbmcgSFRNTDwvYT48L2xpPgorCis8bGkgY2xhc3M9InRvY2xpbmUiPjYuMiA8YSBocmVmPSIjZXh0ZW5zaW9ucyI+U3Vic2V0cyBhbmQgRXh0ZW5zaWJpbGl0eTwvYT48L2xpPgorCis8bGkgY2xhc3M9InRvY2xpbmUiPjYuMyA8YSBocmVmPSIjcHJvZmlsZXMiPkRvY3VtZW50IFByb2ZpbGVzPC9hPjwvbGk+Cis8L3VsPgorPC9saT4KKworPGxpIGNsYXNzPSJ0b2NsaW5lIj48YSBocmVmPSIjZHRkcyI+QXBwZW5kaXggQS4gRFREczwvYT48L2xpPgorCis8bGkgY2xhc3M9InRvY2xpbmUiPjxhIGhyZWY9IiNwcm9oaWJpdGlvbnMiPkFwcGVuZGl4IEIuIEVsZW1lbnQKK1Byb2hpYml0aW9uczwvYT48L2xpPgorCis8bGkgY2xhc3M9InRvY2xpbmUiPjxhIGhyZWY9IiNndWlkZWxpbmVzIj5BcHBlbmRpeCBDLiBIVE1MIENvbXBhdGliaWxpdHkgR3VpZGVsaW5lczwvYT48L2xpPgorCis8bGkgY2xhc3M9InRvY2xpbmUiPjxhIGhyZWY9IiNhY2tzIj5BcHBlbmRpeCBELiBBY2tub3dsZWRnZW1lbnRzPC9hPjwvbGk+CisKKzxsaSBjbGFzcz0idG9jbGluZSI+PGEgaHJlZj0iI3JlZnMiPkFwcGVuZGl4IEUuIFJlZmVyZW5jZXM8L2E+PC9saT4KKzwvdWw+Cis8L2Rpdj4KKworPCEtLU9kZFBhZ2UtLT4KKzxoMT48YSBuYW1lPSJ4aHRtbCIgaWQ9InhodG1sIj4xLiBXaGF0IGlzIFhIVE1MPzwvYT48L2gxPgorCis8cD5YSFRNTCBpcyBhIGZhbWlseSBvZiBjdXJyZW50IGFuZCBmdXR1cmUgZG9jdW1lbnQgdHlwZXMgYW5kIG1vZHVsZXMgdGhhdAorcmVwcm9kdWNlLCBzdWJzZXQsIGFuZCBleHRlbmQgSFRNTCA0LjAgPGEgaHJlZj0iI3JlZi1odG1sNCI+W0hUTUxdPC9hPi4gWEhUTUwgZmFtaWx5IGRvY3VtZW50IHR5cGVzIGFyZSA8YWJiciB0aXRsZT0iRXh0ZW5zaWJsZSBNYXJrdXAgTGFuZ3VhZ2UiPlhNTDwvYWJicj4gYmFzZWQsCithbmQgdWx0aW1hdGVseSBhcmUgZGVzaWduZWQgdG8gd29yayBpbiBjb25qdW5jdGlvbiB3aXRoIFhNTC1iYXNlZCB1c2VyIGFnZW50cy4KK1RoZSBkZXRhaWxzIG9mIHRoaXMgZmFtaWx5IGFuZCBpdHMgZXZvbHV0aW9uIGFyZQorZGlzY3Vzc2VkIGluIG1vcmUgZGV0YWlsIGluIHRoZSBzZWN0aW9uIG9uIDxhIGhyZWY9IiNmdXR1cmUiPkZ1dHVyZQorRGlyZWN0aW9uczwvYT4uIDwvcD4KKworPHA+WEhUTUwgMS4wICh0aGlzIHNwZWNpZmljYXRpb24pIGlzIHRoZSBmaXJzdCBkb2N1bWVudCB0eXBlIGluIHRoZSBYSFRNTAorZmFtaWx5LiBJdCBpcyBhIHJlZm9ybXVsYXRpb24gb2YgdGhlIHRocmVlIEhUTUwgNC4wIGRvY3VtZW50IHR5cGVzIGFzCithcHBsaWNhdGlvbnMgb2YgWE1MIDEuMCA8YSBocmVmPSIjcmVmLXhtbCI+IFtYTUxdPC9hPi4gSXQgaXMgaW50ZW5kZWQKK3RvIGJlIHVzZWQgYXMgYSBsYW5ndWFnZSBmb3IgY29udGVudCB0aGF0IGlzIGJvdGggWE1MLWNvbmZvcm1pbmcgYW5kLCBpZiBzb21lCitzaW1wbGUgPGEgaHJlZj0iI2d1aWRlbGluZXMiPmd1aWRlbGluZXM8L2E+IGFyZSBmb2xsb3dlZCwgCitvcGVyYXRlcyBpbiBIVE1MIDQuMCBjb25mb3JtaW5nIHVzZXIgYWdlbnRzLiBEZXZlbG9wZXJzIHdobyBtaWdyYXRlCit0aGVpciBjb250ZW50IHRvIFhIVE1MIDEuMCB3aWxsIHJlYWxpemUgdGhlIGZvbGxvd2luZyBiZW5lZml0czo8L3A+CisKKzx1bD4KKzxsaT5YSFRNTCBkb2N1bWVudHMgYXJlIFhNTCBjb25mb3JtaW5nLiBBcyBzdWNoLCB0aGV5IGFyZSByZWFkaWx5IHZpZXdlZCwKK2VkaXRlZCwgYW5kIHZhbGlkYXRlZCB3aXRoIHN0YW5kYXJkIFhNTCB0b29scy48L2xpPgorPGxpPlhIVE1MIGRvY3VtZW50cyBjYW4gYmUgd3JpdHRlbiB0bwordG8gb3BlcmF0ZSBhcyB3ZWxsIG9yIGJldHRlciB0aGFuIHRoZXkgZGlkIGJlZm9yZSBpbiBleGlzdGluZworSFRNTCA0LjAtY29uZm9ybWluZyB1c2VyIGFnZW50cyBhcyB3ZWxsIGFzIGluIG5ldywgWEhUTUwgMS4wIGNvbmZvcm1pbmcgdXNlcgorYWdlbnRzLjwvbGk+Cis8bGk+WEhUTUwgZG9jdW1lbnRzIGNhbiB1dGlsaXplIGFwcGxpY2F0aW9ucyAoZS5nLiBzY3JpcHRzIGFuZCBhcHBsZXRzKSB0aGF0IHJlbHkKK3Vwb24gZWl0aGVyIHRoZSBIVE1MIERvY3VtZW50IE9iamVjdCBNb2RlbCBvciB0aGUgWE1MIERvY3VtZW50IE9iamVjdCBNb2RlbCA8YQoraHJlZj0iI3JlZi1kb20iPltET01dPC9hPi48L2xpPgorPGxpPkFzIHRoZSBYSFRNTCBmYW1pbHkgZXZvbHZlcywgZG9jdW1lbnRzIGNvbmZvcm1pbmcgdG8gWEhUTUwgMS4wIHdpbGwgYmUgbW9yZQorbGlrZWx5IHRvIGludGVyb3BlcmF0ZSB3aXRoaW4gYW5kIGFtb25nIHZhcmlvdXMgWEhUTUwgZW52aXJvbm1lbnRzLjwvbGk+Cis8L3VsPgorCis8cD5UaGUgWEhUTUwgZmFtaWx5IGlzIHRoZSBuZXh0IHN0ZXAgaW4gdGhlIGV2b2x1dGlvbiBvZiB0aGUgSW50ZXJuZXQuIEJ5CittaWdyYXRpbmcgdG8gWEhUTUwgdG9kYXksIGNvbnRlbnQgZGV2ZWxvcGVycyBjYW4gZW50ZXIgdGhlIFhNTCB3b3JsZCB3aXRoIGFsbAorb2YgaXRzIGF0dGVuZGFudCBiZW5lZml0cywgd2hpbGUgc3RpbGwgcmVtYWluaW5nIGNvbmZpZGVudCBpbiB0aGVpcgorY29udGVudCdzIGJhY2t3YXJkIGFuZCBmdXR1cmUgY29tcGF0aWJpbGl0eS48L3A+CisKKzxoMj48YSBuYW1lPSJodG1sNCIgaWQ9Imh0bWw0Ij4xLjEgV2hhdCBpcyBIVE1MIDQuMD88L2E+PC9oMj4KKworPHA+SFRNTCA0LjAgPGEgaHJlZj0iI3JlZi1odG1sNCI+W0hUTUxdPC9hPiBpcyBhbiA8YWJiciB0aXRsZT0iU3RhbmRhcmQKK0dlbmVyYWxpemVkIE1hcmt1cCBMYW5ndWFnZSI+U0dNTDwvYWJicj4gKFN0YW5kYXJkCitHZW5lcmFsaXplZCBNYXJrdXAgTGFuZ3VhZ2UpIGFwcGxpY2F0aW9uIGNvbmZvcm1pbmcgdG8KK0ludGVybmF0aW9uYWwgU3RhbmRhcmQgPGFiYnIgdGl0bGU9Ik9yZ2FuaXphdGlvbiBmb3IgSW50ZXJuYXRpb25hbAorU3RhbmRhcmRpemF0aW9uIj5JU088L2FiYnI+IDg4NzksIGFuZCBpcyB3aWRlbHkgcmVnYXJkZWQgYXMgdGhlCitzdGFuZGFyZCBwdWJsaXNoaW5nIGxhbmd1YWdlIG9mIHRoZSBXb3JsZCBXaWRlIFdlYi48L3A+CisKKzxwPlNHTUwgaXMgYSBsYW5ndWFnZSBmb3IgZGVzY3JpYmluZyBtYXJrdXAgbGFuZ3VhZ2VzLAorcGFydGljdWxhcmx5IHRob3NlIHVzZWQgaW4gZWxlY3Ryb25pYyBkb2N1bWVudCBleGNoYW5nZSwgZG9jdW1lbnQKK21hbmFnZW1lbnQsIGFuZCBkb2N1bWVudCBwdWJsaXNoaW5nLiBIVE1MIGlzIGFuIGV4YW1wbGUgb2YgYQorbGFuZ3VhZ2UgZGVmaW5lZCBpbiBTR01MLjwvcD4KKworPHA+U0dNTCBoYXMgYmVlbiBhcm91bmQgc2luY2UgdGhlIG1pZGRsZSAxOTgwJ3MgYW5kIGhhcyByZW1haW5lZAorcXVpdGUgc3RhYmxlLiBNdWNoIG9mIHRoaXMgc3RhYmlsaXR5IHN0ZW1zIGZyb20gdGhlIGZhY3QgdGhhdCB0aGUKK2xhbmd1YWdlIGlzIGJvdGggZmVhdHVyZS1yaWNoIGFuZCBmbGV4aWJsZS4gVGhpcyBmbGV4aWJpbGl0eSwKK2hvd2V2ZXIsIGNvbWVzIGF0IGEgcHJpY2UsIGFuZCB0aGF0IHByaWNlIGlzIGEgbGV2ZWwgb2YKK2NvbXBsZXhpdHkgdGhhdCBoYXMgaW5oaWJpdGVkIGl0cyBhZG9wdGlvbiBpbiBhIGRpdmVyc2l0eSBvZgorZW52aXJvbm1lbnRzLCBpbmNsdWRpbmcgdGhlIFdvcmxkIFdpZGUgV2ViLjwvcD4KKworPHA+SFRNTCwgYXMgb3JpZ2luYWxseSBjb25jZWl2ZWQsIHdhcyB0byBiZSBhIGxhbmd1YWdlIGZvciB0aGUKK2V4Y2hhbmdlIG9mIHNjaWVudGlmaWMgYW5kIG90aGVyIHRlY2huaWNhbCBkb2N1bWVudHMsIHN1aXRhYmxlCitmb3IgdXNlIGJ5IG5vbi1kb2N1bWVudCBzcGVjaWFsaXN0cy4gSFRNTCBhZGRyZXNzZWQgdGhlIHByb2JsZW0KK29mIFNHTUwgY29tcGxleGl0eSBieSBzcGVjaWZ5aW5nIGEgc21hbGwgc2V0IG9mIHN0cnVjdHVyYWwgYW5kCitzZW1hbnRpYyB0YWdzIHN1aXRhYmxlIGZvciBhdXRob3JpbmcgcmVsYXRpdmVseSBzaW1wbGUgZG9jdW1lbnRzLgorSW4gYWRkaXRpb24gdG8gc2ltcGxpZnlpbmcgdGhlIGRvY3VtZW50IHN0cnVjdHVyZSwgSFRNTCBhZGRlZAorc3VwcG9ydCBmb3IgaHlwZXJ0ZXh0LiBNdWx0aW1lZGlhIGNhcGFiaWxpdGllcyB3ZXJlIGFkZGVkCitsYXRlci48L3A+CisKKzxwPkluIGEgcmVtYXJrYWJseSBzaG9ydCBzcGFjZSBvZiB0aW1lLCBIVE1MIGJlY2FtZSB3aWxkbHkKK3BvcHVsYXIgYW5kIHJhcGlkbHkgb3V0Z3JldyBpdHMgb3JpZ2luYWwgcHVycG9zZS4gU2luY2UgSFRNTCdzCitpbmNlcHRpb24sIHRoZXJlIGhhcyBiZWVuIHJhcGlkIGludmVudGlvbiBvZiBuZXcgZWxlbWVudHMgZm9yIHVzZQord2l0aGluIEhUTUwgKGFzIGEgc3RhbmRhcmQpIGFuZCBmb3IgYWRhcHRpbmcgSFRNTCB0byB2ZXJ0aWNhbCwKK2hpZ2hseSBzcGVjaWFsaXplZCwgbWFya2V0cy4gVGhpcyBwbGV0aG9yYSBvZiBuZXcgZWxlbWVudHMgaGFzCitsZWQgdG8gY29tcGF0aWJpbGl0eSBwcm9ibGVtcyBmb3IgZG9jdW1lbnRzIGFjcm9zcyBkaWZmZXJlbnQKK3BsYXRmb3Jtcy48L3A+CisKKzxwPkFzIHRoZSBoZXRlcm9nZW5laXR5IG9mIGJvdGggc29mdHdhcmUgYW5kIHBsYXRmb3JtcyByYXBpZGx5Citwcm9saWZlcmF0ZSwgaXQgaXMgY2xlYXIgdGhhdCB0aGUgc3VpdGFiaWxpdHkgb2YgJ2NsYXNzaWMnIEhUTUwKKzQuMCBmb3IgdXNlIG9uIHRoZXNlIHBsYXRmb3JtcyBpcyBzb21ld2hhdCBsaW1pdGVkLjwvcD4KKworPGgyPjxhIG5hbWU9InhtbCIgaWQ9InhtbCI+MS4yIFdoYXQgaXMgWE1MPzwvYT48L2gyPgorCis8cD5YTUw8c3VwPiYjODQ4Mjs8L3N1cD4gaXMgdGhlIHNob3J0aGFuZCBmb3IgRXh0ZW5zaWJsZSBNYXJrdXAKK0xhbmd1YWdlLCBhbmQgaXMgYW4gYWNyb255bSBvZiBFeHRlbnNpYmxlIE1hcmt1cCBMYW5ndWFnZSA8YQoraHJlZj0iI3JlZi14bWwiPltYTUxdPC9hPi48L3A+CisKKzxwPlhNTCB3YXMgY29uY2VpdmVkIGFzIGEgbWVhbnMgb2YgcmVnYWluaW5nIHRoZSBwb3dlciBhbmQKK2ZsZXhpYmlsaXR5IG9mIFNHTUwgd2l0aG91dCBtb3N0IG9mIGl0cyBjb21wbGV4aXR5LiBBbHRob3VnaCBhCityZXN0cmljdGVkIGZvcm0gb2YgU0dNTCwgWE1MIG5vbmV0aGVsZXNzIHByZXNlcnZlcyBtb3N0IG9mIFNHTUwncworcG93ZXIgYW5kIHJpY2huZXNzLCBhbmQgeWV0IHN0aWxsIHJldGFpbnMgYWxsIG9mIFNHTUwncyBjb21tb25seQordXNlZCBmZWF0dXJlcy48L3A+CisKKzxwPldoaWxlIHJldGFpbmluZyB0aGVzZSBiZW5lZmljaWFsIGZlYXR1cmVzLCBYTUwgcmVtb3ZlcyBtYW55IG9mCit0aGUgbW9yZSBjb21wbGV4IGZlYXR1cmVzIG9mIFNHTUwgdGhhdCBtYWtlIHRoZSBhdXRob3JpbmcgYW5kCitkZXNpZ24gb2Ygc3VpdGFibGUgc29mdHdhcmUgYm90aCBkaWZmaWN1bHQgYW5kIGNvc3RseS48L3A+CisKKzxoMj48YSBuYW1lPSJ3aHkiIGlkPSJ3aHkiPjEuMyBXaHkgdGhlIG5lZWQgZm9yIFhIVE1MPzwvYT48L2gyPgorCis8cD5UaGUgYmVuZWZpdHMgb2YgbWlncmF0aW5nIHRvIFhIVE1MIDEuMCBhcmUgZGVzY3JpYmVkIGFib3ZlLiBTb21lIG9mIHRoZQorYmVuZWZpdHMgb2YgbWlncmF0aW5nIHRvIFhIVE1MIGluIGdlbmVyYWwgYXJlOjwvcD4KKworPHVsPgorPGxpPkRvY3VtZW50IGRldmVsb3BlcnMgYW5kIHVzZXIgYWdlbnQgZGVzaWduZXJzIGFyZSBjb25zdGFudGx5CitkaXNjb3ZlcmluZyBuZXcgd2F5cyB0byBleHByZXNzIHRoZWlyIGlkZWFzIHRocm91Z2ggbmV3IG1hcmt1cC4gSW4gWE1MLCBpdCBpcworcmVsYXRpdmVseSBlYXN5IHRvIGludHJvZHVjZSBuZXcgZWxlbWVudHMgb3IgYWRkaXRpb25hbCBlbGVtZW50CithdHRyaWJ1dGVzLiAgVGhlIFhIVE1MIGZhbWlseSBpcyBkZXNpZ25lZCB0byBhY2NvbW1vZGF0ZSB0aGVzZSBleHRlbnNpb25zCit0aHJvdWdoIFhIVE1MIG1vZHVsZXMgYW5kIHRlY2huaXF1ZXMgZm9yIGRldmVsb3BpbmcgbmV3IFhIVE1MLWNvbmZvcm1pbmcKK21vZHVsZXMgKGRlc2NyaWJlZCBpbiB0aGUgZm9ydGhjb21pbmcgWEhUTUwgTW9kdWxhcml6YXRpb24gc3BlY2lmaWNhdGlvbikuCitUaGVzZSBtb2R1bGVzIHdpbGwgcGVybWl0IHRoZSBjb21iaW5hdGlvbiBvZiBleGlzdGluZyBhbmQKK25ldyBmZWF0dXJlIHNldHMgd2hlbiBkZXZlbG9waW5nIGNvbnRlbnQgYW5kIHdoZW4gZGVzaWduaW5nIG5ldyB1c2VyCithZ2VudHMuPC9saT4KKworPGxpPkFsdGVybmF0ZSB3YXlzIG9mIGFjY2Vzc2luZyB0aGUgSW50ZXJuZXQgYXJlIGNvbnN0YW50bHkgYmVpbmcKK2ludHJvZHVjZWQuICBTb21lIGVzdGltYXRlcyBpbmRpY2F0ZSB0aGF0IGJ5IHRoZSB5ZWFyIDIwMDIsIDc1JSBvZgorSW50ZXJuZXQgZG9jdW1lbnQgdmlld2luZyB3aWxsIGJlIGNhcnJpZWQgb3V0IG9uIHRoZXNlIGFsdGVybmF0ZQorcGxhdGZvcm1zLiAgVGhlIFhIVE1MIGZhbWlseSBpcyBkZXNpZ25lZCB3aXRoIGdlbmVyYWwgdXNlciBhZ2VudAoraW50ZXJvcGVyYWJpbGl0eSBpbiBtaW5kLiBUaHJvdWdoIGEgbmV3IHVzZXIgYWdlbnQgYW5kIGRvY3VtZW50IHByb2ZpbGluZworbWVjaGFuaXNtLCBzZXJ2ZXJzLCBwcm94aWVzLCBhbmQgdXNlciBhZ2VudHMgd2lsbCBiZSBhYmxlIHRvIHBlcmZvcm0KK2Jlc3QgZWZmb3J0IGNvbnRlbnQgdHJhbnNmb3JtYXRpb24uIFVsdGltYXRlbHksIGl0IHdpbGwgYmUgcG9zc2libGUgdG8KK2RldmVsb3AgWEhUTUwtY29uZm9ybWluZyBjb250ZW50IHRoYXQgaXMgdXNhYmxlIGJ5IGFueSBYSFRNTC1jb25mb3JtaW5nCit1c2VyIGFnZW50LjwvbGk+CisKKzwvdWw+Cis8IS0tT2RkUGFnZS0tPgorPGgxPjxhIG5hbWU9ImRlZnMiIGlkPSJkZWZzIj4yLiBEZWZpbml0aW9uczwvYT48L2gxPgorCis8aDI+PGEgbmFtZT0idGVybXMiIGlkPSJ0ZXJtcyI+Mi4xIFRlcm1pbm9sb2d5PC9hPjwvaDI+CisKKzxwPlRoZSBmb2xsb3dpbmcgdGVybXMgYXJlIHVzZWQgaW4gdGhpcyBzcGVjaWZpY2F0aW9uLiBUaGVzZQordGVybXMgZXh0ZW5kIHRoZSBkZWZpbml0aW9ucyBpbiA8YSBocmVmPSIjcmVmLXJmYzIxMTkiPgorW1JGQzIxMTldPC9hPiBpbiB3YXlzIGJhc2VkIHVwb24gc2ltaWxhciBkZWZpbml0aW9ucyBpbiBJU08vPGFiYnIKK3RpdGxlPSJJbnRlcm5hdGlvbmFsIEVsZWN0cm8tdGVjaG5pY2FsIENvbW1pc3Npb24iPklFQzwvYWJicj4KKzk5NDUtMToxOTkwIDxhIGhyZWY9IiNyZWYtcG9zaXgiPltQT1NJWC4xXTwvYT46PC9wPgorCis8ZGw+Cis8ZHQ+SW1wbGVtZW50YXRpb24tZGVmaW5lZDwvZHQ+CisKKzxkZD5BIHZhbHVlIG9yIGJlaGF2aW9yIGlzIGltcGxlbWVudGF0aW9uLWRlZmluZWQgd2hlbiBpdCBpcyBsZWZ0Cit0byB0aGUgaW1wbGVtZW50YXRpb24gdG8gZGVmaW5lIFthbmQgZG9jdW1lbnRdIHRoZSBjb3JyZXNwb25kaW5nCityZXF1aXJlbWVudHMgZm9yIGNvcnJlY3QgZG9jdW1lbnQgY29uc3RydWN0aW9uLjwvZGQ+CisKKzxkdD5NYXk8L2R0PgorCis8ZGQ+V2l0aCByZXNwZWN0IHRvIGltcGxlbWVudGF0aW9ucywgdGhlIHdvcmQgIm1heSIgaXMgdG8gYmUKK2ludGVycHJldGVkIGFzIGFuIG9wdGlvbmFsIGZlYXR1cmUgdGhhdCBpcyBub3QgcmVxdWlyZWQgaW4gdGhpcworc3BlY2lmaWNhdGlvbiBidXQgY2FuIGJlIHByb3ZpZGVkLiBXaXRoIHJlc3BlY3QgdG8gPGEgaHJlZj0gCisiI2RvY2NvbmYiPkRvY3VtZW50IENvbmZvcm1hbmNlPC9hPiwgdGhlIHdvcmQgIm1heSIgbWVhbnMgdGhhdAordGhlIG9wdGlvbmFsIGZlYXR1cmUgbXVzdCBub3QgYmUgdXNlZC4gVGhlIHRlcm0gIm9wdGlvbmFsIiBoYXMKK3RoZSBzYW1lIGRlZmluaXRpb24gYXMgIm1heSIuPC9kZD4KKworPGR0Pk11c3Q8L2R0PgorCis8ZGQ+SW4gdGhpcyBzcGVjaWZpY2F0aW9uLCB0aGUgd29yZCAibXVzdCIgaXMgdG8gYmUgaW50ZXJwcmV0ZWQKK2FzIGEgbWFuZGF0b3J5IHJlcXVpcmVtZW50IG9uIHRoZSBpbXBsZW1lbnRhdGlvbiBvciBvbiBTdHJpY3RseQorQ29uZm9ybWluZyBYSFRNTCBEb2N1bWVudHMsIGRlcGVuZGluZyB1cG9uIHRoZSBjb250ZXh0LiBUaGUgdGVybQorInNoYWxsIiBoYXMgdGhlIHNhbWUgZGVmaW5pdGlvbiBhcyAibXVzdCIuPC9kZD4KKworPGR0PlJlc2VydmVkPC9kdD4KKworPGRkPkEgdmFsdWUgb3IgYmVoYXZpb3IgaXMgdW5zcGVjaWZpZWQsIGJ1dCBpdCBpcyBub3QgYWxsb3dlZCB0bworYmUgdXNlZCBieSBDb25mb3JtaW5nIERvY3VtZW50cyBub3IgdG8gYmUgc3VwcG9ydGVkIGJ5IGEKK0NvbmZvcm1pbmcgVXNlciBBZ2VudHMuPC9kZD4KKworPGR0PlNob3VsZDwvZHQ+CisKKzxkZD5XaXRoIHJlc3BlY3QgdG8gaW1wbGVtZW50YXRpb25zLCB0aGUgd29yZCAic2hvdWxkIiBpcyB0byBiZQoraW50ZXJwcmV0ZWQgYXMgYW4gaW1wbGVtZW50YXRpb24gcmVjb21tZW5kYXRpb24sIGJ1dCBub3QgYQorcmVxdWlyZW1lbnQuIFdpdGggcmVzcGVjdCB0byBkb2N1bWVudHMsIHRoZSB3b3JkICJzaG91bGQiIGlzIHRvCitiZSBpbnRlcnByZXRlZCBhcyByZWNvbW1lbmRlZCBwcm9ncmFtbWluZyBwcmFjdGljZSBmb3IgZG9jdW1lbnRzCithbmQgYSByZXF1aXJlbWVudCBmb3IgU3RyaWN0bHkgQ29uZm9ybWluZyBYSFRNTCBEb2N1bWVudHMuPC9kZD4KKworPGR0PlN1cHBvcnRlZDwvZHQ+CisKKzxkZD5DZXJ0YWluIGZhY2lsaXRpZXMgaW4gdGhpcyBzcGVjaWZpY2F0aW9uIGFyZSBvcHRpb25hbC4gSWYgYQorZmFjaWxpdHkgaXMgc3VwcG9ydGVkLCBpdCBiZWhhdmVzIGFzIHNwZWNpZmllZCBieSB0aGlzCitzcGVjaWZpY2F0aW9uLjwvZGQ+CisKKzxkdD5VbnNwZWNpZmllZDwvZHQ+CisKKzxkZD5XaGVuIGEgdmFsdWUgb3IgYmVoYXZpb3IgaXMgdW5zcGVjaWZpZWQsIHRoZSBzcGVjaWZpY2F0aW9uCitkZWZpbmVzIG5vIHBvcnRhYmlsaXR5IHJlcXVpcmVtZW50cyBmb3IgYSBmYWNpbGl0eSBvbiBhbgoraW1wbGVtZW50YXRpb24gZXZlbiB3aGVuIGZhY2VkIHdpdGggYSBkb2N1bWVudCB0aGF0IHVzZXMgdGhlCitmYWNpbGl0eS4gQSBkb2N1bWVudCB0aGF0IHJlcXVpcmVzIHNwZWNpZmljIGJlaGF2aW9yIGluIHN1Y2ggYW4KK2luc3RhbmNlLCByYXRoZXIgdGhhbiB0b2xlcmF0aW5nIGFueSBiZWhhdmlvciB3aGVuIHVzaW5nIHRoYXQKK2ZhY2lsaXR5LCBpcyBub3QgYSBTdHJpY3RseSBDb25mb3JtaW5nIFhIVE1MIERvY3VtZW50LjwvZGQ+Cis8L2RsPgorCis8aDI+PGEgbmFtZT0iZ2VuZXJhbCIgaWQ9ImdlbmVyYWwiPjIuMiBHZW5lcmFsIFRlcm1zPC9hPjwvaDI+CisKKzxkbD4KKzxkdD5BdHRyaWJ1dGU8L2R0PgorCis8ZGQ+QW4gYXR0cmlidXRlIGlzIGEgcGFyYW1ldGVyIHRvIGFuIGVsZW1lbnQgZGVjbGFyZWQgaW4gdGhlCitEVEQuIEFuIGF0dHJpYnV0ZSdzIHR5cGUgYW5kIHZhbHVlIHJhbmdlLCBpbmNsdWRpbmcgYSBwb3NzaWJsZQorZGVmYXVsdCB2YWx1ZSwgYXJlIGRlZmluZWQgaW4gdGhlIERURC48L2RkPgorCis8ZHQ+RFREPC9kdD4KKworPGRkPkEgRFRELCBvciBkb2N1bWVudCB0eXBlIGRlZmluaXRpb24sIGlzIGEgY29sbGVjdGlvbiBvZiBYTUwKK2RlY2xhcmF0aW9ucyB0aGF0LCBhcyBhIGNvbGxlY3Rpb24sIGRlZmluZXMgdGhlIGxlZ2FsIHN0cnVjdHVyZSwKKzxzcGFuIGNsYXNzPSJ0ZXJtIj5lbGVtZW50czwvc3Bhbj4sIGFuZCA8c3BhbiBjbGFzcz0idGVybSI+CithdHRyaWJ1dGVzPC9zcGFuPiB0aGF0IGFyZSBhdmFpbGFibGUgZm9yIHVzZSBpbiBhIGRvY3VtZW50IHRoYXQKK2NvbXBsaWVzIHRvIHRoZSBEVEQuPC9kZD4KKworPGR0PkRvY3VtZW50PC9kdD4KKworPGRkPkEgZG9jdW1lbnQgaXMgYSBzdHJlYW0gb2YgZGF0YSB0aGF0LCBhZnRlciBiZWluZyBjb21iaW5lZAord2l0aCBhbnkgb3RoZXIgc3RyZWFtcyBpdCByZWZlcmVuY2VzLCBpcyBzdHJ1Y3R1cmVkIHN1Y2ggdGhhdCBpdAoraG9sZHMgaW5mb3JtYXRpb24gY29udGFpbmVkIHdpdGhpbiA8c3BhbiBjbGFzcz0idGVybSI+CitlbGVtZW50czwvc3Bhbj4gdGhhdCBhcmUgb3JnYW5pemVkIGFzIGRlZmluZWQgaW4gdGhlIGFzc29jaWF0ZWQKKzxzcGFuIGNsYXNzPSJ0ZXJtIj5EVEQ8L3NwYW4+LiBTZWUgPGEgaHJlZj0iI2RvY2NvbmYiPkRvY3VtZW50CitDb25mb3JtYW5jZTwvYT4gZm9yIG1vcmUgaW5mb3JtYXRpb24uPC9kZD4KKworPGR0PkVsZW1lbnQ8L2R0PgorCis8ZGQ+QW4gZWxlbWVudCBpcyBhIGRvY3VtZW50IHN0cnVjdHVyaW5nIHVuaXQgZGVjbGFyZWQgaW4gdGhlCis8c3BhbiBjbGFzcz0idGVybSI+RFREPC9zcGFuPi4gVGhlIGVsZW1lbnQncyBjb250ZW50IG1vZGVsIGlzCitkZWZpbmVkIGluIHRoZSA8c3BhbiBjbGFzcz0idGVybSI+RFREPC9zcGFuPiwgYW5kIGFkZGl0aW9uYWwKK3NlbWFudGljcyBtYXkgYmUgZGVmaW5lZCBpbiB0aGUgcHJvc2UgZGVzY3JpcHRpb24gb2YgdGhlCitlbGVtZW50LjwvZGQ+CisKKzxkdD48YSBuYW1lPSJmYWNpbGl0aWVzIiBpZD0iZmFjaWxpdGllcyI+RmFjaWxpdGllczwvYT48L2R0PgorCis8ZGQ+RnVuY3Rpb25hbGl0eSBpbmNsdWRlcyA8c3BhbiBjbGFzcz0idGVybSI+ZWxlbWVudHM8L3NwYW4+LAorPHNwYW4gY2xhc3M9InRlcm0iPmF0dHJpYnV0ZXM8L3NwYW4+LCBhbmQgdGhlIHNlbWFudGljcworYXNzb2NpYXRlZCB3aXRoIHRob3NlIDxzcGFuIGNsYXNzPSJ0ZXJtIj5lbGVtZW50czwvc3Bhbj4gYW5kCis8c3BhbiBjbGFzcz0idGVybSI+YXR0cmlidXRlczwvc3Bhbj4uIEFuIGltcGxlbWVudGF0aW9uCitzdXBwb3J0aW5nIHRoYXQgZnVuY3Rpb25hbGl0eSBpcyBzYWlkIHRvIHByb3ZpZGUgdGhlIG5lY2Vzc2FyeQorZmFjaWxpdGllcy48L2RkPgorCis8ZHQ+SW1wbGVtZW50YXRpb248L2R0PgorCis8ZGQ+QW4gaW1wbGVtZW50YXRpb24gaXMgYSBzeXN0ZW0gdGhhdCBwcm92aWRlcyBjb2xsZWN0aW9uIG9mCis8c3BhbiBjbGFzcz0idGVybSI+ZmFjaWxpdGllczwvc3Bhbj4gYW5kIHNlcnZpY2VzIHRoYXQgc3VwcG9ydHMKK3RoaXMgc3BlY2lmaWNhdGlvbi4gU2VlIDxhIGhyZWY9IiN1YWNvbmYiPlVzZXIgQWdlbnQKK0NvbmZvcm1hbmNlPC9hPiBmb3IgbW9yZSBpbmZvcm1hdGlvbi48L2RkPgorCis8ZHQ+UGFyc2luZzwvZHQ+CisKKzxkZD5QYXJzaW5nIGlzIHRoZSBhY3Qgd2hlcmVieSBhIDxzcGFuIGNsYXNzPSJ0ZXJtIj4KK2RvY3VtZW50PC9zcGFuPiBpcyBzY2FubmVkLCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZCB3aXRoaW4KK3RoZSA8c3BhbiBjbGFzcz0idGVybSI+ZG9jdW1lbnQ8L3NwYW4+IGlzIGZpbHRlcmVkIGludG8gdGhlCitjb250ZXh0IG9mIHRoZSA8c3BhbiBjbGFzcz0idGVybSI+ZWxlbWVudHM8L3NwYW4+IGluIHdoaWNoIHRoZQoraW5mb3JtYXRpb24gaXMgc3RydWN0dXJlZC48L2RkPgorCis8ZHQ+UmVuZGVyaW5nPC9kdD4KKworPGRkPlJlbmRlcmluZyBpcyB0aGUgYWN0IHdoZXJlYnkgdGhlIGluZm9ybWF0aW9uIGluIGEgPHNwYW4KK2NsYXNzPSJ0ZXJtIj5kb2N1bWVudDwvc3Bhbj4gaXMgcHJlc2VudGVkLiBUaGlzIHByZXNlbnRhdGlvbiBpcworZG9uZSBpbiB0aGUgZm9ybSBtb3N0IGFwcHJvcHJpYXRlIHRvIHRoZSBlbnZpcm9ubWVudCAoZS5nLgorYXVyYWxseSwgdmlzdWFsbHksIGluIHByaW50KS48L2RkPgorCis8ZHQ+VXNlciBBZ2VudDwvZHQ+CisKKzxkZD5BIHVzZXIgYWdlbnQgaXMgYW4gPHNwYW4gY2xhc3M9InRlcm0iPmltcGxlbWVudGF0aW9uPC9zcGFuPgordGhhdCByZXRyaWV2ZXMgYW5kIHByb2Nlc3NlcyBYSFRNTCBkb2N1bWVudHMuIFNlZSA8YSBocmVmPQorIiN1YWNvbmYiPlVzZXIgQWdlbnQgQ29uZm9ybWFuY2U8L2E+IGZvciBtb3JlIGluZm9ybWF0aW9uLjwvZGQ+CisKKzxkdD5WYWxpZGF0aW9uPC9kdD4KKworPGRkPlZhbGlkYXRpb24gaXMgYSBwcm9jZXNzIHdoZXJlYnkgPHNwYW4gY2xhc3M9InRlcm0iPgorZG9jdW1lbnRzPC9zcGFuPiBhcmUgdmVyaWZpZWQgYWdhaW5zdCB0aGUgYXNzb2NpYXRlZCA8c3BhbiBjbGFzcz0gCisidGVybSI+RFREPC9zcGFuPiwgZW5zdXJpbmcgdGhhdCB0aGUgc3RydWN0dXJlLCB1c2Ugb2YgPHNwYW4KK2NsYXNzPSJ0ZXJtIj5lbGVtZW50czwvc3Bhbj4sIGFuZCB1c2Ugb2YgPHNwYW4gY2xhc3M9InRlcm0iPgorYXR0cmlidXRlczwvc3Bhbj4gYXJlIGNvbnNpc3RlbnQgd2l0aCB0aGUgZGVmaW5pdGlvbnMgaW4gdGhlCis8c3BhbiBjbGFzcz0idGVybSI+RFREPC9zcGFuPi48L2RkPgorCis8ZHQ+PGEgbmFtZT0id2VsbGZvcm1lZCIgaWQ9IndlbGxmb3JtZWQiPldlbGwtZm9ybWVkPC9hPjwvZHQ+CisKKzxkZD5BIDxzcGFuIGNsYXNzPSJ0ZXJtIj5kb2N1bWVudDwvc3Bhbj4gaXMgd2VsbC1mb3JtZWQgd2hlbiBpdAoraXMgc3RydWN0dXJlZCBhY2NvcmRpbmcgdG8gdGhlIHJ1bGVzIGRlZmluZWQgaW4gPGEgaHJlZj0gCisiaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLXhtbCNzZWMtd2VsbC1mb3JtZWQiPlNlY3Rpb24gMi4xPC9hPiBvZgordGhlIFhNTCAxLjAgUmVjb21tZW5kYXRpb24gPGEgaHJlZj0iI3JlZi14bWwiPltYTUxdPC9hPi4KK0Jhc2ljYWxseSwgdGhpcyBkZWZpbml0aW9uIHN0YXRlcyB0aGF0IGVsZW1lbnRzLCBkZWxpbWl0ZWQgYnkKK3RoZWlyIHN0YXJ0IGFuZCBlbmQgdGFncywgYXJlIG5lc3RlZCBwcm9wZXJseSB3aXRoaW4gb25lCithbm90aGVyLjwvZGQ+Cis8L2RsPgorCis8IS0tT2RkUGFnZS0tPgorPGgxPjxhIG5hbWU9Im5vcm1hdGl2ZSIgaWQ9Im5vcm1hdGl2ZSI+My4gTm9ybWF0aXZlIERlZmluaXRpb24gb2YKK1hIVE1MIDEuMDwvYT48L2gxPgorCis8aDI+PGEgbmFtZT0iZG9jY29uZiIgaWQ9ImRvY2NvbmYiPjMuMSBEb2N1bWVudAorQ29uZm9ybWFuY2U8L2E+PC9oMj4KKworPHA+VGhpcyB2ZXJzaW9uIG9mIFhIVE1MIHByb3ZpZGVzIGEgZGVmaW5pdGlvbiBvZiBzdHJpY3RseQorY29uZm9ybWluZyBYSFRNTCBkb2N1bWVudHMsIHdoaWNoIGFyZSByZXN0cmljdGVkIHRvIHRhZ3MgYW5kCithdHRyaWJ1dGVzIGZyb20gdGhlIFhIVE1MIG5hbWVzcGFjZS4gU2VlIDxhIGhyZWY9CisiI3dlbGwtZm9ybWVkIj5TZWN0aW9uIDMuMS4yPC9hPiBmb3IgaW5mb3JtYXRpb24gb24gdXNpbmcgWEhUTUwKK3dpdGggb3RoZXIgbmFtZXNwYWNlcywgZm9yIGluc3RhbmNlLCB0byBpbmNsdWRlIG1ldGFkYXRhCitleHByZXNzZWQgaW4gPGFiYnIgdGl0bGU9IlJlc291cmNlIERlc2NyaXB0aW9uIEZvcm1hdCI+UkRGPC9hYmJyPiB3aXRoaW4gWEhUTUwgZG9jdW1lbnRzLjwvcD4KKworPGgzPjxhIG5hbWU9InN0cmljdCIgaWQ9InN0cmljdCI+My4xLjEgU3RyaWN0bHkgQ29uZm9ybWluZworRG9jdW1lbnRzPC9hPjwvaDM+CisKKzxwPkEgU3RyaWN0bHkgQ29uZm9ybWluZyBYSFRNTCBEb2N1bWVudCBpcyBhIGRvY3VtZW50IHRoYXQKK3JlcXVpcmVzIG9ubHkgdGhlIGZhY2lsaXRpZXMgZGVzY3JpYmVkIGFzIG1hbmRhdG9yeSBpbiB0aGlzCitzcGVjaWZpY2F0aW9uLiBTdWNoIGEgZG9jdW1lbnQgbXVzdCBtZWV0IGFsbCBvZiB0aGUgZm9sbG93aW5nCitjcml0ZXJpYTo8L3A+CisKKzxvbD4KKzxsaT4KKzxwPkl0IG11c3QgdmFsaWRhdGUgYWdhaW5zdCBvbmUgb2YgdGhlIHRocmVlIERURHMgZm91bmQgaW4gPGEKK2hyZWY9IiNkdGRzIj5BcHBlbmRpeCYjMTYwO0E8L2E+LjwvcD4KKzwvbGk+CisKKzxsaT4KKzxwPlRoZSByb290IGVsZW1lbnQgb2YgdGhlIGRvY3VtZW50IG11c3QgYmUgPGNvZGU+CismbHQ7aHRtbCZndDs8L2NvZGU+LjwvcD4KKzwvbGk+CisKKzxsaT4KKzxwPlRoZSByb290IGVsZW1lbnQgb2YgdGhlIGRvY3VtZW50IG11c3QgZGVzaWduYXRlIHRoZSBYSFRNTAorbmFtZXNwYWNlIHVzaW5nIHRoZSA8Y29kZT54bWxuczwvY29kZT4gYXR0cmlidXRlIDxhIGhyZWY9IAorIiNyZWYteG1sbnMiPltYTUxOQU1FU108L2E+LiBUaGUgbmFtZXNwYWNlIGZvciBYSFRNTCBpcworZGVmaW5lZCB0byBiZSAKKzxjb2RlPmh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWw8L2NvZGU+LjwvcD4KKzwvbGk+CisKKzxsaT4KKzxwPlRoZXJlIG11c3QgYmUgYSBET0NUWVBFIGRlY2xhcmF0aW9uIGluIHRoZSBkb2N1bWVudCBwcmlvciB0bwordGhlIHJvb3QgZWxlbWVudC4gVGhlIHB1YmxpYyBpZGVudGlmaWVyIGluY2x1ZGVkIGluCit0aGUgRE9DVFlQRSBkZWNsYXJhdGlvbiBtdXN0IHJlZmVyZW5jZSBvbmUgb2YgdGhlIHRocmVlIERURHMKK2ZvdW5kIGluIDxhIGhyZWY9IiNkdGRzIj5BcHBlbmRpeCYjMTYwO0E8L2E+IHVzaW5nIHRoZSByZXNwZWN0aXZlCitGb3JtYWwgUHVibGljIElkZW50aWZpZXIuIFRoZSBzeXN0ZW0gaWRlbnRpZmllciBtYXkgYmUgY2hhbmdlZCB0byByZWZsZWN0Citsb2NhbCBzeXN0ZW0gY29udmVudGlvbnMuPC9wPgorCis8cHJlPgorJmx0OyFET0NUWVBFIGh0bWwgCisgICAgIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFN0cmljdC8vRU4iCisgICAgICJodHRwOi8vd3d3LnczLm9yZy9UUi8xOTk5L1BSLXhodG1sMS0xOTk5MTIxMC9EVEQveGh0bWwxLXN0cmljdC5kdGQmZ3Q7CisKKyZsdDshRE9DVFlQRSBodG1sIAorICAgICBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIgorICAgICAiaHR0cDovL3d3dy53My5vcmcvVFIvMTk5OS9QUi14aHRtbDEtMTk5OTEyMTAvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkJmd0OworCismbHQ7IURPQ1RZUEUgaHRtbCAKKyAgICAgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgRnJhbWVzZXQvL0VOIgorICAgICAiaHR0cDovL3d3dy53My5vcmcvVFIvMTk5OS9QUi14aHRtbDEtMTk5OTEyMTAvRFREL3hodG1sMS1mcmFtZXNldC5kdGQmZ3Q7Cis8L3ByZT4KKzwvbGk+Cis8L29sPgorCis8cD5IZXJlIGlzIGFuIGV4YW1wbGUgb2YgYSBtaW5pbWFsIFhIVE1MIGRvY3VtZW50LjwvcD4KKworPGRpdiBjbGFzcz0iZ29vZCI+Cis8cHJlPgorJmx0Oz94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPyZndDsKKyZsdDshRE9DVFlQRSBodG1sIAorICAgICBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBTdHJpY3QvL0VOIgorICAgICJodHRwOi8vd3d3LnczLm9yZy9UUi8xOTk5L1BSLXhodG1sMS0xOTk5MTIxMC9EVEQveGh0bWwxLXN0cmljdC5kdGQiJmd0OworJmx0O2h0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIHhtbDpsYW5nPSJlbiIgbGFuZz0iZW4iJmd0OworICAmbHQ7aGVhZCZndDsKKyAgICAmbHQ7dGl0bGUmZ3Q7VmlydHVhbCBMaWJyYXJ5Jmx0Oy90aXRsZSZndDsKKyAgJmx0Oy9oZWFkJmd0OworICAmbHQ7Ym9keSZndDsKKyAgICAmbHQ7cCZndDtNb3ZlZCB0byAmbHQ7YSBocmVmPSJodHRwOi8vdmxpYi5vcmcvIiZndDt2bGliLm9yZyZsdDsvYSZndDsuJmx0Oy9wJmd0OworICAmbHQ7L2JvZHkmZ3Q7CismbHQ7L2h0bWwmZ3Q7PC9wcmU+Cis8L2Rpdj4KKworPHA+Tm90ZSB0aGF0IGluIHRoaXMgZXhhbXBsZSwgdGhlIFhNTCBkZWNsYXJhdGlvbiBpcyBpbmNsdWRlZC4gQW4gWE1MCitkZWNsYXJhdGlvbiBsaWtlIHRoZSBvbmUgYWJvdmUgaXMKK25vdCByZXF1aXJlZCBpbiBhbGwgWE1MIGRvY3VtZW50cy4gWEhUTUwgZG9jdW1lbnQgYXV0aG9ycyBhcmUgc3Ryb25nbHkgZW5jb3VyYWdlZCB0byB1c2UgWE1MIGRlY2xhcmF0aW9ucyBpbiBhbGwgdGhlaXIgZG9jdW1lbnRzLiBTdWNoIGEgZGVjbGFyYXRpb24gaXMgcmVxdWlyZWQKK3doZW4gdGhlIGNoYXJhY3RlciBlbmNvZGluZyBvZiB0aGUgZG9jdW1lbnQgaXMgb3RoZXIgdGhhbiB0aGUgZGVmYXVsdCBVVEYtOCBvcgorVVRGLTE2LjwvcD4KKworPGgzPjxhIG5hbWU9IndlbGwtZm9ybWVkIiBpZD0id2VsbC1mb3JtZWQiPjMuMS4yIFVzaW5nIFhIVE1MIHdpdGgKK290aGVyIG5hbWVzcGFjZXM8L2E+PC9oMz4KKworPHA+VGhlIFhIVE1MIG5hbWVzcGFjZSBtYXkgYmUgdXNlZCB3aXRoIG90aGVyIFhNTCBuYW1lc3BhY2VzCithcyBwZXIgPGEgaHJlZj0iI3JlZi14bWxucyI+W1hNTE5BTUVTXTwvYT4sIGFsdGhvdWdoIHN1Y2gKK2RvY3VtZW50cyBhcmUgbm90IHN0cmljdGx5IGNvbmZvcm1pbmcgWEhUTUwgMS4wIGRvY3VtZW50cyBhcworZGVmaW5lZCBhYm92ZS4gRnV0dXJlIHdvcmsgYnkgVzNDIHdpbGwgYWRkcmVzcyB3YXlzIHRvIHNwZWNpZnkKK2NvbmZvcm1hbmNlIGZvciBkb2N1bWVudHMgaW52b2x2aW5nIG11bHRpcGxlIG5hbWVzcGFjZXMuPC9wPgorCis8cD5UaGUgZm9sbG93aW5nIGV4YW1wbGUgc2hvd3MgdGhlIHdheSBpbiB3aGljaCBYSFRNTCAxLjAgY291bGQKK2JlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgTWF0aE1MIFJlY29tbWVuZGF0aW9uOjwvcD4KKworPGRpdiBjbGFzcz0iZ29vZCI+Cis8cHJlPgorJmx0O2h0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIHhtbDpsYW5nPSJlbiIgbGFuZz0iZW4iJmd0OworICAmbHQ7aGVhZCZndDsKKyAgICAmbHQ7dGl0bGUmZ3Q7QSBNYXRoIEV4YW1wbGUmbHQ7L3RpdGxlJmd0OworICAmbHQ7L2hlYWQmZ3Q7CisgICZsdDtib2R5Jmd0OworICAgICZsdDtwJmd0O1RoZSBmb2xsb3dpbmcgaXMgTWF0aE1MIG1hcmt1cDombHQ7L3AmZ3Q7CisgICAgJmx0O21hdGggeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTgvTWF0aC9NYXRoTUwiJmd0OworICAgICAgJmx0O2FwcGx5Jmd0OyAmbHQ7bG9nLyZndDsKKyAgICAgICAgJmx0O2xvZ2Jhc2UmZ3Q7CisgICAgICAgICAgJmx0O2NuJmd0OyAzICZsdDsvY24mZ3Q7CisgICAgICAgICZsdDsvbG9nYmFzZSZndDsKKyAgICAgICAgJmx0O2NpJmd0OyB4ICZsdDsvY2kmZ3Q7CisgICAgICAmbHQ7L2FwcGx5Jmd0OworICAgICZsdDsvbWF0aCZndDsKKyAgJmx0Oy9ib2R5Jmd0OworJmx0Oy9odG1sJmd0OworPC9wcmU+Cis8L2Rpdj4KKworPHA+VGhlIGZvbGxvd2luZyBleGFtcGxlIHNob3dzIHRoZSB3YXkgaW4gd2hpY2ggWEhUTUwgMS4wIG1hcmt1cAorY291bGQgYmUgaW5jb3Jwb3JhdGVkIGludG8gYW5vdGhlciBYTUwgbmFtZXNwYWNlOjwvcD4KKworPGRpdiBjbGFzcz0iZ29vZCI+Cis8cHJlPgorJmx0Oz94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPyZndDsKKyZsdDshLS0gaW5pdGlhbGx5LCB0aGUgZGVmYXVsdCBuYW1lc3BhY2UgaXMgImJvb2tzIiAtLSZndDsKKyZsdDtib29rIHhtbG5zPSd1cm46bG9jLmdvdjpib29rcycKKyAgICB4bWxuczppc2JuPSd1cm46SVNCTjowLTM5NS0zNjM0MS02JyB4bWw6bGFuZz0iZW4iIGxhbmc9ImVuIiZndDsKKyAgJmx0O3RpdGxlJmd0O0NoZWFwZXIgYnkgdGhlIERvemVuJmx0Oy90aXRsZSZndDsKKyAgJmx0O2lzYm46bnVtYmVyJmd0OzE1Njg0OTEzNzkmbHQ7L2lzYm46bnVtYmVyJmd0OworICAmbHQ7bm90ZXMmZ3Q7CisgICAgJmx0OyEtLSBtYWtlIEhUTUwgdGhlIGRlZmF1bHQgbmFtZXNwYWNlIGZvciBhIGh5cGVydGV4dCBjb21tZW50YXJ5IC0tJmd0OworICAgICZsdDtwIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sJyZndDsKKyAgICAgICAgVGhpcyBpcyBhbHNvIGF2YWlsYWJsZSAmbHQ7YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy8iJmd0O29ubGluZSZsdDsvYSZndDsuCisgICAgJmx0Oy9wJmd0OworICAmbHQ7L25vdGVzJmd0OworJmx0Oy9ib29rJmd0OworPC9wcmU+Cis8L2Rpdj4KKworPGgyPjxhIG5hbWU9InVhY29uZiIgaWQ9InVhY29uZiI+My4yIFVzZXIgQWdlbnQKK0NvbmZvcm1hbmNlPC9hPjwvaDI+CisKKzxwPkEgY29uZm9ybWluZyB1c2VyIGFnZW50IG11c3QgbWVldCBhbGwgb2YgdGhlIGZvbGxvd2luZworY3JpdGVyaWE6PC9wPgorCis8b2w+Cis8bGk+SW4gb3JkZXIgdG8gYmUgY29uc2lzdGVudCB3aXRoIHRoZSBYTUwgMS4wIFJlY29tbWVuZGF0aW9uIDxhCitocmVmPSIjcmVmLXhtbCI+W1hNTF08L2E+LCB0aGUgdXNlciBhZ2VudCBtdXN0IHBhcnNlIGFuZCBldmFsdWF0ZQorYW4gWEhUTUwgZG9jdW1lbnQgZm9yIHdlbGwtZm9ybWVkbmVzcy4gSWYgdGhlIHVzZXIgYWdlbnQgY2xhaW1zCit0byBiZSBhIHZhbGlkYXRpbmcgdXNlciBhZ2VudCwgaXQgbXVzdCBhbHNvIHZhbGlkYXRlIGRvY3VtZW50cworYWdhaW5zdCB0aGVpciByZWZlcmVuY2VkIERURHMgYWNjb3JkaW5nIHRvIDxhIGhyZWY9IiNyZWYteG1sIj4KK1tYTUxdPC9hPi48L2xpPgorCis8bGk+V2hlbiB0aGUgdXNlciBhZ2VudCBjbGFpbXMgdG8gc3VwcG9ydCA8YSBocmVmPSIjZmFjaWxpdGllcyI+CitmYWNpbGl0aWVzPC9hPiBkZWZpbmVkIHdpdGhpbiB0aGlzIHNwZWNpZmljYXRpb24gb3IgcmVxdWlyZWQgYnkKK3RoaXMgc3BlY2lmaWNhdGlvbiB0aHJvdWdoIG5vcm1hdGl2ZSByZWZlcmVuY2UsIGl0IG11c3QgZG8gc28gaW4KK3dheXMgY29uc2lzdGVudCB3aXRoIHRoZSBmYWNpbGl0aWVzJyBkZWZpbml0aW9uLjwvbGk+CisKKzxsaT5XaGVuIGEgdXNlciBhZ2VudCBwcm9jZXNzZXMgYW4gWEhUTUwgZG9jdW1lbnQgYXMgZ2VuZXJpYyBYTUwsCitpdCBzaGFsbCBvbmx5IHJlY29nbml6ZSBhdHRyaWJ1dGVzIG9mIHR5cGUKKzxjb2RlPklEPC9jb2RlPiAoZS5nLiB0aGUgPGNvZGU+aWQ8L2NvZGU+IGF0dHJpYnV0ZSBvbiBtb3N0IFhIVE1MIGVsZW1lbnRzKQorYXMgZnJhZ21lbnQgaWRlbnRpZmllcnMuPC9saT4KKworPGxpPklmIGEgdXNlciBhZ2VudCBlbmNvdW50ZXJzIGFuIGVsZW1lbnQgaXQgZG9lcyBub3QgcmVjb2duaXplLAoraXQgbXVzdCByZW5kZXIgdGhlIGVsZW1lbnQncyBjb250ZW50LjwvbGk+CisKKzxsaT5JZiBhIHVzZXIgYWdlbnQgZW5jb3VudGVycyBhbiBhdHRyaWJ1dGUgaXQgZG9lcyBub3QKK3JlY29nbml6ZSwgaXQgbXVzdCBpZ25vcmUgdGhlIGVudGlyZSBhdHRyaWJ1dGUgc3BlY2lmaWNhdGlvbgorKGkuZS4sIHRoZSBhdHRyaWJ1dGUgYW5kIGl0cyB2YWx1ZSkuPC9saT4KKworPGxpPklmIGEgdXNlciBhZ2VudCBlbmNvdW50ZXJzIGFuIGF0dHJpYnV0ZSB2YWx1ZSBpdCBkb2Vzbid0CityZWNvZ25pemUsIGl0IG11c3QgdXNlIHRoZSBkZWZhdWx0IGF0dHJpYnV0ZSB2YWx1ZS48L2xpPgorCis8bGk+SWYgaXQgZW5jb3VudGVycyBhbiBlbnRpdHkgcmVmZXJlbmNlIChvdGhlciB0aGFuIG9uZQorb2YgdGhlIHByZWRlZmluZWQgZW50aXRpZXMpIGZvciB3aGljaCB0aGUgVXNlciBBZ2VudCBoYXMgCitwcm9jZXNzZWQgbm8gZGVjbGFyYXRpb24gKHdoaWNoIGNvdWxkIGhhcHBlbiBpZiB0aGUgZGVjbGFyYXRpb24KK2lzIGluIHRoZSBleHRlcm5hbCBzdWJzZXQgd2hpY2ggdGhlIFVzZXIgQWdlbnQgaGFzbid0IHJlYWQpLCB0aGUgZW50aXR5IAorcmVmZXJlbmNlIHNob3VsZCBiZSByZW5kZXJlZCBhcyB0aGUgY2hhcmFjdGVycyAoc3RhcnRpbmcKK3dpdGggdGhlIGFtcGVyc2FuZCBhbmQgZW5kaW5nIHdpdGggdGhlIHNlbWktY29sb24pIHRoYXQKK21ha2UgdXAgdGhlIGVudGl0eSByZWZlcmVuY2UuPC9saT4KKworPGxpPldoZW4gcmVuZGVyaW5nIGNvbnRlbnQsIFVzZXIgQWdlbnRzIHRoYXQgZW5jb3VudGVyIAorY2hhcmFjdGVycyBvciBjaGFyYWN0ZXIgZW50aXR5IHJlZmVyZW5jZXMgdGhhdCBhcmUgcmVjb2duaXplZCBidXQgbm90IHJlbmRlcmFibGUgc2hvdWxkIGRpc3BsYXkgdGhlIGRvY3VtZW50IGluIHN1Y2ggYSB3YXkgdGhhdCBpdCBpcyBvYnZpb3VzIHRvIHRoZSB1c2VyIHRoYXQgbm9ybWFsIHJlbmRlcmluZyBoYXMgbm90IHRha2VuIHBsYWNlLjwvbGk+CisKKzxsaT4KK1RoZSBmb2xsb3dpbmcgY2hhcmFjdGVycyBhcmUgZGVmaW5lZCBpbiBbWE1MXSBhcyB3aGl0ZXNwYWNlIGNoYXJhY3RlcnM6CisKKzx1bD4KKzxsaT5TcGFjZSAoJmFtcDsjeDAwMjA7KTwvbGk+Cis8bGk+VGFiICgmYW1wOyN4MDAwOTspPC9saT4KKzxsaT5DYXJyaWFnZSByZXR1cm4gKCZhbXA7I3gwMDBEOyk8L2xpPgorPGxpPkxpbmUgZmVlZCAoJmFtcDsjeDAwMEE7KTwvbGk+Cis8L3VsPgorCis8cD4KK1RoZSBYTUwgcHJvY2Vzc29yIG5vcm1hbGl6ZXMgZGlmZmVyZW50IHN5c3RlbSdzIGxpbmUgZW5kIGNvZGVzIGludG8gb25lCitzaW5nbGUgbGluZS1mZWVkIGNoYXJhY3RlciwgdGhhdCBpcyBwYXNzZWQgdXAgdG8gdGhlIGFwcGxpY2F0aW9uLiBUaGUgWEhUTUwKK3VzZXIgYWdlbnQgaW4gYWRkaXRpb24sIG11c3QgdHJlYXQgdGhlIGZvbGxvd2luZyBjaGFyYWN0ZXJzIGFzIHdoaXRlc3BhY2U6Cis8L3A+CisKKzx1bD4KKzxsaT5Gb3JtIGZlZWQgKCZhbXA7I3gwMDBDOyk8L2xpPgorPGxpPlplcm8td2lkdGggc3BhY2UgKCZhbXA7I3gyMDBCOyk8L2xpPgorPC91bD4KKworPHA+CitJbiBlbGVtZW50cyB3aGVyZSB0aGUgJ3htbDpzcGFjZScgYXR0cmlidXRlIGlzIHNldCB0byAncHJlc2VydmUnLCB0aGUgdXNlcgorYWdlbnQgbXVzdCBsZWF2ZSBhbGwgd2hpdGVzcGFjZSBjaGFyYWN0ZXJzIGludGFjdCAod2l0aCB0aGUgZXhjZXB0aW9uIG9mCitsZWFkaW5nIGFuZCB0cmFpbGluZyB3aGl0ZXNwYWNlIGNoYXJhY3RlcnMsIHdoaWNoIHNob3VsZCBiZSByZW1vdmVkKS4KK090aGVyd2lzZSwgd2hpdGVzcGFjZQoraXMgaGFuZGxlZCBhY2NvcmRpbmcgdG8gdGhlIGZvbGxvd2luZyBydWxlczoKKzwvcD4KKworPHVsPgorPGxpPgorQWxsIHdoaXRlc3BhY2Ugc3Vycm91bmRpbmcgYmxvY2sgZWxlbWVudHMgc2hvdWxkIGJlIHJlbW92ZWQuCis8L2xpPgorPGxpPgorQ29tbWVudHMgYXJlIHJlbW92ZWQgZW50aXJlbHkgYW5kIGRvIG5vdCBhZmZlY3Qgd2hpdGVzcGFjZSBoYW5kbGluZy4gT25lCit3aGl0ZXNwYWNlIGNoYXJhY3RlciBvbiBlaXRoZXIgc2lkZSBvZiBhIGNvbW1lbnQgaXMgdHJlYXRlZCBhcyB0d28gd2hpdGUKK3NwYWNlIGNoYXJhY3RlcnMuCis8L2xpPgorPGxpPgorTGVhZGluZyBhbmQgdHJhaWxpbmcgd2hpdGVzcGFjZSBpbnNpZGUgYSBibG9jayBlbGVtZW50IG11c3QgYmUgcmVtb3ZlZC4KKzwvbGk+Cis8bGk+TGluZSBmZWVkIGNoYXJhY3RlcnMgd2l0aGluIGEgYmxvY2sgZWxlbWVudCBtdXN0IGJlIGNvbnZlcnRlZCBpbnRvIGEKK3NwYWNlIChleGNlcHQgd2hlbiB0aGUgJ3htbDpzcGFjZScgYXR0cmlidXRlIGlzIHNldCB0byAncHJlc2VydmUnKS4KKzwvbGk+Cis8bGk+CitBIHNlcXVlbmNlIG9mIHdoaXRlIHNwYWNlIGNoYXJhY3RlcnMgbXVzdCBiZSByZWR1Y2VkIHRvIGEgc2luZ2xlIHNwYWNlCitjaGFyYWN0ZXIgKGV4Y2VwdCB3aGVuIHRoZSAneG1sOnNwYWNlJyBhdHRyaWJ1dGUgaXMgc2V0IHRvICdwcmVzZXJ2ZScpLgorPC9saT4KKzxsaT4KK1dpdGggcmVnYXJkIHRvIHJlbmRpdGlvbiwKK3RoZSBVc2VyIEFnZW50IHNob3VsZCByZW5kZXIgdGhlIGNvbnRlbnQgaW4gYQorbWFubmVyIGFwcHJvcHJpYXRlIHRvIHRoZSBsYW5ndWFnZSBpbiB3aGljaCB0aGUgY29udGVudCBpcyB3cml0dGVuLgorSW4gbGFuZ3VhZ2VzIHdob3NlIHByaW1hcnkgc2NyaXB0IGlzIExhdGluYXRlLCB0aGUgQVNDSUkgc3BhY2UKK2NoYXJhY3RlciBpcyB0eXBpY2FsbHkgdXNlZCB0byBlbmNvZGUgYm90aCBncmFtbWF0aWNhbCB3b3JkIGJvdW5kYXJpZXMgYW5kCit0eXBvZ3JhcGhpYyB3aGl0ZXNwYWNlOyBpbiBsYW5ndWFnZXMgd2hvc2Ugc2NyaXB0IGlzIHJlbGF0ZWQgdG8gTmFnYXJpCisoZS5nLiwgU2Fuc2tyaXQsIFRoYWksIGV0Yy4pLCBncmFtbWF0aWNhbCBib3VuZGFyaWVzIG1heSBiZSBlbmNvZGVkIHVzaW5nCit0aGUgWlcgJ3NwYWNlJyBjaGFyYWN0ZXIsIGJ1dCB3aWxsIG5vdCB0eXBpY2FsbHkgYmUgcmVwcmVzZW50ZWQgYnkKK3R5cG9ncmFwaGljIHdoaXRlc3BhY2UgaW4gcmVuZGVyZWQgb3V0cHV0OyBsYW5ndWFnZXMgdXNpbmcgQXJhYmlmb3JtIHNjcmlwdHMKK21heSBlbmNvZGUgdHlwb2dyYXBoaWMgd2hpdGVzcGFjZSB1c2luZyBhIHNwYWNlIGNoYXJhY3RlciwgYnV0IG1heSBhbHNvIHVzZQordGhlIFpXIHNwYWNlIGNoYXJhY3RlciB0byBkZWxpbWl0ICdpbnRlcm5hbCcgZ3JhbW1hdGljYWwgYm91bmRhcmllcyAod2hhdAorbG9vayBsaWtlIHdvcmRzIGluIEFyYWJpYyB0byBhbiBFbmdsaXNoIGV5ZSBmcmVxdWVudGx5IGVuY29kZSBzZXZlcmFsIHdvcmRzLAorZS5nLiAna2l0QWJ1aHVtJyA9ICdraXRBYnUtaHVtJyA9ICdib29rIHRoZW0nID09IHRoZWlyIGJvb2spOyBhbmQgbGFuZ3VhZ2VzCitpbiB0aGUgQ2hpbmVzZSBzY3JpcHQgdHJhZGl0aW9uIHR5cGljYWxseSBuZWl0aGVyIGVuY29kZSBzdWNoIGRlbGltaXRlcnMgbm9yCit1c2UgdHlwb2dyYXBoaWMgd2hpdGVzcGFjZSBpbiB0aGlzIHdheS4gCis8L2xpPgorPC91bD4KKworPHA+V2hpdGVzcGFjZSBpbiBhdHRyaWJ1dGUgdmFsdWVzIGlzIHByb2Nlc3NlZCBhY2NvcmRpbmcgdG8gPGEKK2hyZWY9IiNyZWYteG1sIj5bWE1MXTwvYT4uPC9wPgorPC9saT4KKzwvb2w+CisKKzwhLS1PZGRQYWdlLS0+Cis8aDE+PGEgbmFtZT0iZGlmZnMiIGlkPSJkaWZmcyI+NC4gRGlmZmVyZW5jZXMgd2l0aCBIVE1MCis0LjA8L2E+PC9oMT4KKworPHA+RHVlIHRvIHRoZSBmYWN0IHRoYXQgWEhUTUwgaXMgYW4gWE1MIGFwcGxpY2F0aW9uLCBjZXJ0YWluCitwcmFjdGljZXMgdGhhdCB3ZXJlIHBlcmZlY3RseSBsZWdhbCBpbiBTR01MLWJhc2VkIEhUTUwgNC4wIDxhCitocmVmPSIjcmVmLWh0bWw0Ij5bSFRNTF08L2E+IG11c3QgYmUgY2hhbmdlZC48L3A+CisKKzxoMj48YSBuYW1lPSJoLTQuMSIgaWQ9ImgtNC4xIj40LjEgRG9jdW1lbnRzIG11c3QgYmUKK3dlbGwtZm9ybWVkPC9hPjwvaDI+CisKKzxwPjxhIGhyZWY9IiN3ZWxsZm9ybWVkIj5XZWxsLWZvcm1lZG5lc3M8L2E+IGlzIGEgbmV3IGNvbmNlcHQKK2ludHJvZHVjZWQgYnkgPGEgaHJlZj0iI3JlZi14bWwiPltYTUxdPC9hPi4gRXNzZW50aWFsbHkgdGhpcworbWVhbnMgdGhhdCBhbGwgZWxlbWVudHMgbXVzdCBlaXRoZXIgaGF2ZSBjbG9zaW5nIHRhZ3Mgb3IgYmUKK3dyaXR0ZW4gaW4gYSBzcGVjaWFsIGZvcm0gKGFzIGRlc2NyaWJlZCBiZWxvdyksIGFuZCB0aGF0IGFsbCB0aGUKK2VsZW1lbnRzIG11c3QgbmVzdC48L3A+CisKKzxwPkFsdGhvdWdoIG92ZXJsYXBwaW5nIGlzIGlsbGVnYWwgaW4gU0dNTCwgaXQgd2FzIHdpZGVseQordG9sZXJhdGVkIGluIGV4aXN0aW5nIGJyb3dzZXJzLjwvcD4KKworPGRpdiBjbGFzcz0iZ29vZCI+Cis8cD48c3Ryb25nPjxlbT5DT1JSRUNUOiBuZXN0ZWQgZWxlbWVudHMuPC9lbT48L3N0cm9uZz48L3A+CisKKzxwPiZsdDtwJmd0O2hlcmUgaXMgYW4gZW1waGFzaXplZAorJmx0O2VtJmd0O3BhcmFncmFwaCZsdDsvZW0mZ3Q7LiZsdDsvcCZndDs8L3A+Cis8L2Rpdj4KKworPGRpdiBjbGFzcz0iYmFkIj4KKzxwPjxzdHJvbmc+PGVtPklOQ09SUkVDVDogb3ZlcmxhcHBpbmcgZWxlbWVudHM8L2VtPjwvc3Ryb25nPjwvcD4KKworPHA+Jmx0O3AmZ3Q7aGVyZSBpcyBhbiBlbXBoYXNpemVkCismbHQ7ZW0mZ3Q7cGFyYWdyYXBoLiZsdDsvcCZndDsmbHQ7L2VtJmd0OzwvcD4KKzwvZGl2PgorCis8aDI+PGEgbmFtZT0iaC00LjIiIGlkPSJoLTQuMiI+NC4yIEVsZW1lbnQgYW5kIGF0dHJpYnV0ZQorbmFtZXMgbXVzdCBiZSBpbiBsb3dlciBjYXNlPC9hPjwvaDI+CisKKzxwPlhIVE1MIGRvY3VtZW50cyBtdXN0IHVzZSBsb3dlciBjYXNlIGZvciBhbGwgSFRNTCBlbGVtZW50IGFuZAorYXR0cmlidXRlIG5hbWVzLiBUaGlzIGRpZmZlcmVuY2UgaXMgbmVjZXNzYXJ5IGJlY2F1c2UgWE1MIGlzCitjYXNlLXNlbnNpdGl2ZSBlLmcuICZsdDtsaSZndDsgYW5kICZsdDtMSSZndDsgYXJlIGRpZmZlcmVudAordGFncy48L3A+CisKKzxoMj48YSBuYW1lPSJoLTQuMyIgaWQ9ImgtNC4zIj40LjMgRm9yIG5vbi1lbXB0eSBlbGVtZW50cywKK2VuZCB0YWdzIGFyZSByZXF1aXJlZDwvYT48L2gyPgorCis8cD5JbiBTR01MLWJhc2VkIEhUTUwgNC4wIGNlcnRhaW4gZWxlbWVudHMgd2VyZSBwZXJtaXR0ZWQgdG8gb21pdAordGhlIGVuZCB0YWc7IHdpdGggdGhlIGVsZW1lbnRzIHRoYXQgZm9sbG93ZWQgaW1wbHlpbmcgY2xvc3VyZS4KK1RoaXMgb21pc3Npb24gaXMgbm90IHBlcm1pdHRlZCBpbiBYTUwtYmFzZWQgWEhUTUwuIEFsbCBlbGVtZW50cworb3RoZXIgdGhhbiB0aG9zZSBkZWNsYXJlZCBpbiB0aGUgRFREIGFzIDxjb2RlPkVNUFRZPC9jb2RlPiBtdXN0CitoYXZlIGFuIGVuZCB0YWcuPC9wPgorCis8ZGl2IGNsYXNzPSJnb29kIj4KKzxwPjxzdHJvbmc+PGVtPkNPUlJFQ1Q6IHRlcm1pbmF0ZWQgZWxlbWVudHM8L2VtPjwvc3Ryb25nPjwvcD4KKworPHA+Jmx0O3AmZ3Q7aGVyZSBpcyBhIHBhcmFncmFwaC4mbHQ7L3AmZ3Q7Jmx0O3AmZ3Q7aGVyZSBpcworYW5vdGhlciBwYXJhZ3JhcGguJmx0Oy9wJmd0OzwvcD4KKzwvZGl2PgorCis8ZGl2IGNsYXNzPSJiYWQiPgorPHA+PHN0cm9uZz48ZW0+SU5DT1JSRUNUOiB1bnRlcm1pbmF0ZWQgZWxlbWVudHM8L2VtPjwvc3Ryb25nPjwvcD4KKworPHA+Jmx0O3AmZ3Q7aGVyZSBpcyBhIHBhcmFncmFwaC4mbHQ7cCZndDtoZXJlIGlzIGFub3RoZXIKK3BhcmFncmFwaC48L3A+Cis8L2Rpdj4KKworPGgyPjxhIG5hbWU9ImgtNC40IiBpZD0iaC00LjQiPjQuNCBBdHRyaWJ1dGUgdmFsdWVzIG11c3QKK2Fsd2F5cyBiZSBxdW90ZWQ8L2E+PC9oMj4KKworPHA+QWxsIGF0dHJpYnV0ZSB2YWx1ZXMgbXVzdCBiZSBxdW90ZWQsIGV2ZW4gdGhvc2Ugd2hpY2ggYXBwZWFyCit0byBiZSBudW1lcmljLjwvcD4KKworPGRpdiBjbGFzcz0iZ29vZCI+Cis8cD48c3Ryb25nPjxlbT5DT1JSRUNUOiBxdW90ZWQgYXR0cmlidXRlIHZhbHVlczwvZW0+PC9zdHJvbmc+PC9wPgorCis8cD4mbHQ7dGFibGUgcm93cz0iMyImZ3Q7PC9wPgorPC9kaXY+CisKKzxkaXYgY2xhc3M9ImJhZCI+Cis8cD48c3Ryb25nPjxlbT5JTkNPUlJFQ1Q6IHVucXVvdGVkIGF0dHJpYnV0ZSB2YWx1ZXM8L2VtPjwvc3Ryb25nPjwvcD4KKworPHA+Jmx0O3RhYmxlIHJvd3M9MyZndDs8L3A+Cis8L2Rpdj4KKworPGgyPjxhIG5hbWU9ImgtNC41IiBpZD0iaC00LjUiPjQuNSBBdHRyaWJ1dGUKK01pbmltaXphdGlvbjwvYT48L2gyPgorCis8cD5YTUwgZG9lcyBub3Qgc3VwcG9ydCBhdHRyaWJ1dGUgbWluaW1pemF0aW9uLiBBdHRyaWJ1dGUtdmFsdWUKK3BhaXJzIG11c3QgYmUgd3JpdHRlbiBpbiBmdWxsLiBBdHRyaWJ1dGUgbmFtZXMgc3VjaCBhcyA8Y29kZT4KK2NvbXBhY3Q8L2NvZGU+IGFuZCA8Y29kZT5jaGVja2VkPC9jb2RlPiBjYW5ub3Qgb2NjdXIgaW4gZWxlbWVudHMKK3dpdGhvdXQgdGhlaXIgdmFsdWUgYmVpbmcgc3BlY2lmaWVkLjwvcD4KKworPGRpdiBjbGFzcz0iZ29vZCI+Cis8cD48c3Ryb25nPjxlbT5DT1JSRUNUOiB1bm1pbmltaXplZCBhdHRyaWJ1dGVzPC9lbT48L3N0cm9uZz48L3A+CisKKzxwPiZsdDtkbCBjb21wYWN0PSJjb21wYWN0IiZndDs8L3A+Cis8L2Rpdj4KKworPGRpdiBjbGFzcz0iYmFkIj4KKzxwPjxzdHJvbmc+PGVtPklOQ09SUkVDVDogbWluaW1pemVkIGF0dHJpYnV0ZXM8L2VtPjwvc3Ryb25nPjwvcD4KKworPHA+Jmx0O2RsIGNvbXBhY3QmZ3Q7PC9wPgorPC9kaXY+CisKKzxoMj48YSBuYW1lPSJoLTQuNiIgaWQ9ImgtNC42Ij40LjYgRW1wdHkgRWxlbWVudHM8L2E+PC9oMj4KKworPHA+RW1wdHkgZWxlbWVudHMgbXVzdCBlaXRoZXIgaGF2ZSBhbiBlbmQgdGFnIG9yIHRoZSBzdGFydCB0YWcgbXVzdCBlbmQgd2l0aCA8Y29kZT4vJmd0OzwvY29kZT4uIEZvciBpbnN0YW5jZSwKKzxjb2RlPiZsdDtici8mZ3Q7PC9jb2RlPiBvciA8Y29kZT4mbHQ7aHImZ3Q7Jmx0Oy9ociZndDs8L2NvZGU+LiBTZWUgPGEKK2hyZWY9IiNndWlkZWxpbmVzIj5IVE1MIENvbXBhdGliaWxpdHkgR3VpZGVsaW5lczwvYT4gZm9yIGluZm9ybWF0aW9uIG9uIHdheXMgdG8KK2Vuc3VyZSB0aGlzIGlzIGJhY2t3YXJkIGNvbXBhdGlibGUgd2l0aCBIVE1MIDQuMCB1c2VyIGFnZW50cy48L3A+CisKKzxkaXYgY2xhc3M9Imdvb2QiPgorPHA+PHN0cm9uZz48ZW0+Q09SUkVDVDogdGVybWluYXRlZCBlbXB0eSB0YWdzPC9lbT48L3N0cm9uZz48L3A+CisKKzxwPiZsdDtici8mZ3Q7Jmx0O2hyLyZndDs8L3A+Cis8L2Rpdj4KKworPGRpdiBjbGFzcz0iYmFkIj4KKzxwPjxzdHJvbmc+PGVtPklOQ09SUkVDVDogdW50ZXJtaW5hdGVkIGVtcHR5IHRhZ3M8L2VtPjwvc3Ryb25nPjwvcD4KKworPHA+Jmx0O2JyJmd0OyZsdDtociZndDs8L3A+Cis8L2Rpdj4KKworPGgyPjxhIG5hbWU9ImgtNC43IiBpZD0iaC00LjciPjQuNyBXaGl0ZXNwYWNlIGhhbmRsaW5nIGluCithdHRyaWJ1dGUgdmFsdWVzPC9hPjwvaDI+CisKKzxwPkluIGF0dHJpYnV0ZSB2YWx1ZXMsIHVzZXIgYWdlbnRzIHdpbGwgc3RyaXAgbGVhZGluZyBhbmQKK3RyYWlsaW5nIHdoaXRlc3BhY2UgZnJvbSBhdHRyaWJ1dGUgdmFsdWVzIGFuZCBtYXAgc2VxdWVuY2VzCitvZiBvbmUgb3IgbW9yZSB3aGl0ZXNwYWNlIGNoYXJhY3RlcnMgKGluY2x1ZGluZyBsaW5lIGJyZWFrcykgdG8KK2Egc2luZ2xlIGludGVyLXdvcmQgc3BhY2UgKGFuIEFTQ0lJIHNwYWNlIGNoYXJhY3RlciBmb3Igd2VzdGVybgorc2NyaXB0cykuIFNlZSA8YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMteG1sI0FWTm9ybWFsaXplIj4KK1NlY3Rpb24gMy4zLjM8L2E+IG9mIDxhIGhyZWY9IiNyZWYteG1sIj5bWE1MXTwvYT4uPC9wPgorCis8aDI+PGEgbmFtZT0iaC00LjgiIGlkPSJoLTQuOCI+NC44IFNjcmlwdCBhbmQgU3R5bGUKK2VsZW1lbnRzPC9hPjwvaDI+CisKKzxwPkluIFhIVE1MLCB0aGUgc2NyaXB0IGFuZCBzdHlsZSBlbGVtZW50cyBhcmUgZGVjbGFyZWQgYXMgaGF2aW5nCis8Y29kZT4jUENEQVRBPC9jb2RlPiBjb250ZW50LiBBcyBhIHJlc3VsdCwgPGNvZGU+Jmx0OzwvY29kZT4gYW5kCis8Y29kZT4mYW1wOzwvY29kZT4gd2lsbCBiZSB0cmVhdGVkIGFzIHRoZSBzdGFydCBvZiBtYXJrdXAsIGFuZAorZW50aXRpZXMgc3VjaCBhcyA8Y29kZT4mYW1wO2x0OzwvY29kZT4gYW5kIDxjb2RlPiZhbXA7YW1wOzwvY29kZT4KK3dpbGwgYmUgcmVjb2duaXplZCBhcyBlbnRpdHkgcmVmZXJlbmNlcyBieSB0aGUgWE1MIHByb2Nlc3NvciB0bworPGNvZGU+Jmx0OzwvY29kZT4gYW5kIDxjb2RlPiZhbXA7PC9jb2RlPiByZXNwZWN0aXZlbHkuIFdyYXBwaW5nCit0aGUgY29udGVudCBvZiB0aGUgc2NyaXB0IG9yIHN0eWxlIGVsZW1lbnQgd2l0aGluIGEgPGNvZGU+CitDREFUQTwvY29kZT4gbWFya2VkIHNlY3Rpb24gYXZvaWRzIHRoZSBleHBhbnNpb24gb2YgdGhlc2UKK2VudGl0aWVzLjwvcD4KKworPGRpdiBjbGFzcz0iZ29vZCI+Cis8cHJlPgorJmx0O3NjcmlwdCZndDsKKyAmbHQ7IVtDREFUQVsKKyAuLi4gdW5lc2NhcGVkIHNjcmlwdCBjb250ZW50IC4uLgorIF1dJmd0OworICZsdDsvc2NyaXB0Jmd0OworPC9wcmU+Cis8L2Rpdj4KKworPHA+PGNvZGU+Q0RBVEE8L2NvZGU+IHNlY3Rpb25zIGFyZSByZWNvZ25pemVkIGJ5IHRoZSBYTUwKK3Byb2Nlc3NvciBhbmQgYXBwZWFyIGFzIG5vZGVzIGluIHRoZSBEb2N1bWVudCBPYmplY3QgTW9kZWwsIHNlZQorPGEgaHJlZj0gCisiaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLURPTS1MZXZlbC0xL2xldmVsLW9uZS1jb3JlLmh0bWwjSUQtRTA2N0Q1OTciPgorU2VjdGlvbiAxLjM8L2E+IG9mIHRoZSBET00gTGV2ZWwgMSBSZWNvbW1lbmRhdGlvbiA8YSBocmVmPSAKKyIjcmVmLWRvbSI+W0RPTV08L2E+LjwvcD4KKworPHA+QW4gYWx0ZXJuYXRpdmUgaXMgdG8gdXNlIGV4dGVybmFsIHNjcmlwdCBhbmQgc3R5bGUKK2RvY3VtZW50cy48L3A+CisKKzxoMj48YSBuYW1lPSJoLTQuOSIgaWQ9ImgtNC45Ij40LjkgU0dNTCBleGNsdXNpb25zPC9hPjwvaDI+CisKKzxwPlNHTUwgZ2l2ZXMgdGhlIHdyaXRlciBvZiBhIERURCB0aGUgYWJpbGl0eSB0byBleGNsdWRlIHNwZWNpZmljCitlbGVtZW50cyBmcm9tIGJlaW5nIGNvbnRhaW5lZCB3aXRoaW4gYW4gZWxlbWVudC4gU3VjaAorcHJvaGliaXRpb25zIChjYWxsZWQgImV4Y2x1c2lvbnMiKSBhcmUgbm90IHBvc3NpYmxlIGluIFhNTC48L3A+CisKKzxwPkZvciBleGFtcGxlLCB0aGUgSFRNTCA0LjAgU3RyaWN0IERURCBmb3JiaWRzIHRoZSBuZXN0aW5nIG9mIGFuCisnPGNvZGU+YTwvY29kZT4nIGVsZW1lbnQgd2l0aGluIGFub3RoZXIgJzxjb2RlPmE8L2NvZGU+JyBlbGVtZW50Cit0byBhbnkgZGVzY2VuZGFudCBkZXB0aC4gSXQgaXMgbm90IHBvc3NpYmxlIHRvIHNwZWxsIG91dCBzdWNoCitwcm9oaWJpdGlvbnMgaW4gWE1MLiBFdmVuIHRob3VnaCB0aGVzZSBwcm9oaWJpdGlvbnMgY2Fubm90IGJlCitkZWZpbmVkIGluIHRoZSBEVEQsIGNlcnRhaW4gZWxlbWVudHMgc2hvdWxkIG5vdCBiZSBuZXN0ZWQuIEEKK3N1bW1hcnkgb2Ygc3VjaCBlbGVtZW50cyBhbmQgdGhlIGVsZW1lbnRzIHRoYXQgc2hvdWxkIG5vdCBiZQorbmVzdGVkIGluIHRoZW0gaXMgZm91bmQgaW4gdGhlIG5vcm1hdGl2ZSA8YSBocmVmPSIjcHJvaGliaXRpb25zIj4KK0FwcGVuZGl4JiMxNjA7QjwvYT4uPC9wPgorCis8aDI+PGEgbmFtZT0iaC00LjEwIiBpZD0iaC00LjEwIj40LjEwIFRoZSBlbGVtZW50cyB3aXRoICdpZCcgYW5kICduYW1lJworYXR0cmlidXRlczwvYT48L2gyPgorCis8cD5IVE1MIDQuMCBkZWZpbmVkIHRoZSA8Y29kZT5uYW1lPC9jb2RlPiBhdHRyaWJ1dGUgZm9yIHRoZSBlbGVtZW50cworPGNvZGU+YTwvY29kZT4sCis8Y29kZT5hcHBsZXQ8L2NvZGU+LCA8Y29kZT5mcmFtZTwvY29kZT4sCis8Y29kZT5pZnJhbWU8L2NvZGU+LCA8Y29kZT5pbWc8L2NvZGU+LCBhbmQgPGNvZGU+bWFwPC9jb2RlPi4KK0hUTUwgNC4wIGFsc28gaW50cm9kdWNlZAordGhlIDxjb2RlPmlkPC9jb2RlPiBhdHRyaWJ1dGUuIEJvdGggb2YgdGhlc2UgYXR0cmlidXRlcyBhcmUgZGVzaWduZWQgdG8gYmUKK3VzZWQgYXMgZnJhZ21lbnQgaWRlbnRpZmllcnMuPC9wPgorPHA+SW4gWE1MLCBmcmFnbWVudCBpZGVudGlmaWVycyBhcmUgb2YgdHlwZSA8Y29kZT5JRDwvY29kZT4sIGFuZAordGhlcmUgY2FuIG9ubHkgYmUgYSBzaW5nbGUgYXR0cmlidXRlIG9mIHR5cGUgPGNvZGU+SUQ8L2NvZGU+IHBlciBlbGVtZW50LgorVGhlcmVmb3JlLCBpbiBYSFRNTCAxLjAgdGhlIDxjb2RlPmlkPC9jb2RlPgorYXR0cmlidXRlIGlzIGRlZmluZWQgdG8gYmUgb2YgdHlwZSA8Y29kZT5JRDwvY29kZT4uIEluIG9yZGVyIHRvCitlbnN1cmUgdGhhdCBYSFRNTCAxLjAgZG9jdW1lbnRzIGFyZSB3ZWxsLXN0cnVjdHVyZWQgWE1MIGRvY3VtZW50cywgWEhUTUwgMS4wCitkb2N1bWVudHMgTVVTVCB1c2UgdGhlIDxjb2RlPmlkPC9jb2RlPiBhdHRyaWJ1dGUgd2hlbiBkZWZpbmluZyBmcmFnbWVudAoraWRlbnRpZmllcnMsIGV2ZW4gb24gZWxlbWVudHMgdGhhdCBoaXN0b3JpY2FsbHkgaGF2ZSBhbHNvIGhhZCBhCis8Y29kZT5uYW1lPC9jb2RlPiBhdHRyaWJ1dGUuCitTZWUgdGhlIDxhIGhyZWY9IiNndWlkZWxpbmVzIj5IVE1MIENvbXBhdGliaWxpdHkKK0d1aWRlbGluZXM8L2E+IGZvciBpbmZvcm1hdGlvbiBvbiBlbnN1cmluZyBzdWNoIGFuY2hvcnMgYXJlIGJhY2t3YXJkcworY29tcGF0aWJsZSB3aGVuIHNlcnZpbmcgWEhUTUwgZG9jdW1lbnRzIGFzIG1lZGlhIHR5cGUgPGNvZGU+dGV4dC9odG1sPC9jb2RlPi4KKzwvcD4KKzxwPk5vdGUgdGhhdCBpbiBYSFRNTCAxLjAsIHRoZSA8Y29kZT5uYW1lPC9jb2RlPiBhdHRyaWJ1dGUgb2YgdGhlc2UKK2VsZW1lbnRzIGlzIGZvcm1hbGx5IGRlcHJlY2F0ZWQsIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gYQorc3Vic2VxdWVudCB2ZXJzaW9uIG9mIFhIVE1MLjwvcD4KKworPCEtLU9kZFBhZ2UtLT4KKzxoMT48YSBuYW1lPSJpc3N1ZXMiIGlkPSJpc3N1ZXMiPjUuIENvbXBhdGliaWxpdHkgSXNzdWVzPC9hPjwvaDE+CisKKzxwPkFsdGhvdWdoIHRoZXJlIGlzIG5vIHJlcXVpcmVtZW50IGZvciBYSFRNTCAxLjAgZG9jdW1lbnRzIHRvIGJlCitjb21wYXRpYmxlIHdpdGggZXhpc3RpbmcgdXNlciBhZ2VudHMsIGluIHByYWN0aWNlIHRoaXMgaXMgZWFzeSB0bworYWNjb21wbGlzaC4gR3VpZGVsaW5lcyBmb3IgY3JlYXRpbmcgY29tcGF0aWJsZSBkb2N1bWVudHMgY2FuIGJlCitmb3VuZCBpbiA8YSBocmVmPSIjZ3VpZGVsaW5lcyI+QXBwZW5kaXgmIzE2MDtDPC9hPi48L3A+CisKKzxoMj48YSBuYW1lPSJtZWRpYSIgaWQ9Im1lZGlhIj41LjEgSW50ZXJuZXQgTWVkaWEgVHlwZTwvYT48L2gyPgorPHA+QXMgb2YgdGhlIHB1YmxpY2F0aW9uIG9mIHRoaXMgcmVjb21tZW5kYXRpb24sIHRoZSBnZW5lcmFsCityZWNvbW1lbmRlZCBNSU1FIGxhYmVsaW5nIGZvciBYTUwtYmFzZWQgYXBwbGljYXRpb25zCitoYXMgeWV0IHRvIGJlIHJlc29sdmVkLjwvcD4KKworPHA+SG93ZXZlciwgWEhUTUwgRG9jdW1lbnRzIHdoaWNoIGZvbGxvdyB0aGUgZ3VpZGVsaW5lcyBzZXQgZm9ydGgKK2luIDxhIGhyZWY9IiNndWlkZWxpbmVzIj5BcHBlbmRpeCBDPC9hPiwgIkhUTUwgQ29tcGF0aWJpbGl0eSBHdWlkZWxpbmVzIiBtYXkgYmUKK2xhYmVsZWQgd2l0aCB0aGUgSW50ZXJuZXQgTWVkaWEgVHlwZSAidGV4dC9odG1sIiwgYXMgdGhleQorYXJlIGNvbXBhdGlibGUgd2l0aCBtb3N0IEhUTUwgYnJvd3NlcnMuIFRoaXMgZG9jdW1lbnQKK21ha2VzIG5vIHJlY29tbWVuZGF0aW9uIGFib3V0IE1JTUUgbGFiZWxpbmcgb2Ygb3RoZXIKK1hIVE1MIGRvY3VtZW50cy48L3A+CisKKzwhLS1PZGRQYWdlLS0+Cis8aDE+PGEgbmFtZT0iZnV0dXJlIiBpZD0iZnV0dXJlIj42LiBGdXR1cmUgRGlyZWN0aW9uczwvYT48L2gxPgorCis8cD5YSFRNTCAxLjAgcHJvdmlkZXMgdGhlIGJhc2lzIGZvciBhIGZhbWlseSBvZiBkb2N1bWVudCB0eXBlcwordGhhdCB3aWxsIGV4dGVuZCBhbmQgc3Vic2V0IFhIVE1MLCBpbiBvcmRlciB0byBzdXBwb3J0IGEgd2lkZQorcmFuZ2Ugb2YgbmV3IGRldmljZXMgYW5kIGFwcGxpY2F0aW9ucywgYnkgZGVmaW5pbmcgbW9kdWxlcyBhbmQKK3NwZWNpZnlpbmcgYSBtZWNoYW5pc20gZm9yIGNvbWJpbmluZyB0aGVzZSBtb2R1bGVzLiBUaGlzCittZWNoYW5pc20gd2lsbCBlbmFibGUgdGhlIGV4dGVuc2lvbiBhbmQgc3ViLXNldHRpbmcgb2YgWEhUTUwgMS4wCitpbiBhIHVuaWZvcm0gd2F5IHRocm91Z2ggdGhlIGRlZmluaXRpb24gb2YgbmV3IG1vZHVsZXMuPC9wPgorCis8aDI+PGEgbmFtZT0ibW9kcyIgaWQ9Im1vZHMiPjYuMSBNb2R1bGFyaXppbmcgSFRNTDwvYT48L2gyPgorCis8cD5BcyB0aGUgdXNlIG9mIFhIVE1MIG1vdmVzIGZyb20gdGhlIHRyYWRpdGlvbmFsIGRlc2t0b3AgdXNlcgorYWdlbnRzIHRvIG90aGVyIHBsYXRmb3JtcywgaXQgaXMgY2xlYXIgdGhhdCBub3QgYWxsIG9mIHRoZSBYSFRNTAorZWxlbWVudHMgd2lsbCBiZSByZXF1aXJlZCBvbiBhbGwgcGxhdGZvcm1zLiBGb3IgZXhhbXBsZSBhIGhhbmQKK2hlbGQgZGV2aWNlIG9yIGEgY2VsbC1waG9uZSBtYXkgb25seSBzdXBwb3J0IGEgc3Vic2V0IG9mIFhIVE1MCitlbGVtZW50cy48L3A+CisKKzxwPlRoZSBwcm9jZXNzIG9mIG1vZHVsYXJpemF0aW9uIGJyZWFrcyBYSFRNTCB1cCBpbnRvIGEgc2VyaWVzIG9mCitzbWFsbGVyIGVsZW1lbnQgc2V0cy4gVGhlc2UgZWxlbWVudHMgY2FuIHRoZW4gYmUgcmVjb21iaW5lZCB0bworbWVldCB0aGUgbmVlZHMgb2YgZGlmZmVyZW50IGNvbW11bml0aWVzLjwvcD4KKworPHA+VGhlc2UgbW9kdWxlcyB3aWxsIGJlIGRlZmluZWQgaW4gYSBsYXRlciBXM0MgZG9jdW1lbnQuPC9wPgorCis8aDI+PGEgbmFtZT0iZXh0ZW5zaW9ucyIgaWQ9ImV4dGVuc2lvbnMiPjYuMiBTdWJzZXRzIGFuZAorRXh0ZW5zaWJpbGl0eTwvYT48L2gyPgorCis8cD5Nb2R1bGFyaXphdGlvbiBicmluZ3Mgd2l0aCBpdCBzZXZlcmFsIGFkdmFudGFnZXM6PC9wPgorCis8dWw+Cis8bGk+Cis8cD5JdCBwcm92aWRlcyBhIGZvcm1hbCBtZWNoYW5pc20gZm9yIHN1Yi1zZXR0aW5nIFhIVE1MLjwvcD4KKzwvbGk+CisKKzxsaT4KKzxwPkl0IHByb3ZpZGVzIGEgZm9ybWFsIG1lY2hhbmlzbSBmb3IgZXh0ZW5kaW5nIFhIVE1MLjwvcD4KKzwvbGk+CisKKzxsaT4KKzxwPkl0IHNpbXBsaWZpZXMgdGhlIHRyYW5zZm9ybWF0aW9uIGJldHdlZW4gZG9jdW1lbnQgdHlwZXMuPC9wPgorPC9saT4KKworPGxpPgorPHA+SXQgcHJvbW90ZXMgdGhlIHJldXNlIG9mIG1vZHVsZXMgaW4gbmV3IGRvY3VtZW50IHR5cGVzLjwvcD4KKzwvbGk+Cis8L3VsPgorCis8aDI+PGEgbmFtZT0icHJvZmlsZXMiIGlkPSJwcm9maWxlcyI+Ni4zIERvY3VtZW50CitQcm9maWxlczwvYT48L2gyPgorCis8cD5BIGRvY3VtZW50IHByb2ZpbGUgc3BlY2lmaWVzIHRoZSBzeW50YXggYW5kIHNlbWFudGljcyBvZiBhIHNldAorb2YgZG9jdW1lbnRzLiBDb25mb3JtYW5jZSB0byBhIGRvY3VtZW50IHByb2ZpbGUgcHJvdmlkZXMgYSBiYXNpcworZm9yIGludGVyb3BlcmFiaWxpdHkgZ3VhcmFudGVlcy4gVGhlIGRvY3VtZW50IHByb2ZpbGUgc3BlY2lmaWVzCit0aGUgZmFjaWxpdGllcyByZXF1aXJlZCB0byBwcm9jZXNzIGRvY3VtZW50cyBvZiB0aGF0IHR5cGUsIGUuZy4KK3doaWNoIGltYWdlIGZvcm1hdHMgY2FuIGJlIHVzZWQsIGxldmVscyBvZiBzY3JpcHRpbmcsIHN0eWxlIHNoZWV0CitzdXBwb3J0LCBhbmQgc28gb24uPC9wPgorCis8cD5Gb3IgcHJvZHVjdCBkZXNpZ25lcnMgdGhpcyBlbmFibGVzIHZhcmlvdXMgZ3JvdXBzIHRvIGRlZmluZQordGhlaXIgb3duIHN0YW5kYXJkIHByb2ZpbGUuPC9wPgorCis8cD5Gb3IgYXV0aG9ycyB0aGlzIHdpbGwgb2J2aWF0ZSB0aGUgbmVlZCB0byB3cml0ZSBzZXZlcmFsCitkaWZmZXJlbnQgdmVyc2lvbnMgb2YgZG9jdW1lbnRzIGZvciBkaWZmZXJlbnQgY2xpZW50cy48L3A+CisKKzxwPkZvciBzcGVjaWFsIGdyb3VwcyBzdWNoIGFzIGNoZW1pc3RzLCBtZWRpY2FsIGRvY3RvcnMsIG9yCittYXRoZW1hdGljaWFucyB0aGlzIGFsbG93cyBhIHNwZWNpYWwgcHJvZmlsZSB0byBiZSBidWlsdCB1c2luZworc3RhbmRhcmQgSFRNTCBlbGVtZW50cyBwbHVzIGEgZ3JvdXAgb2YgZWxlbWVudHMgZ2VhcmVkIHRvIHRoZQorc3BlY2lhbGlzdCdzIG5lZWRzLjwvcD4KKworPCEtLU9kZFBhZ2UtLT4KKzxoMT48YSBuYW1lPSJhcHBlbmRpY2VzIiBpZD0iYXBwZW5kaWNlcyI+PC9hPgorPGEgbmFtZT0iZHRkcyIgaWQ9ImR0ZHMiPkFwcGVuZGl4IEEuIERURHM8L2E+PC9oMT4KKworPHA+PGI+VGhpcyBhcHBlbmRpeCBpcyBub3JtYXRpdmUuPC9iPjwvcD4KKworPHA+VGhlc2UgRFREcyBhbmQgZW50aXR5IHNldHMgZm9ybSBhIG5vcm1hdGl2ZSBwYXJ0IG9mIHRoaXMKK3NwZWNpZmljYXRpb24uIFRoZSBjb21wbGV0ZSBzZXQgb2YgRFREIGZpbGVzIHRvZ2V0aGVyIHdpdGggYW4gWE1MCitkZWNsYXJhdGlvbiBhbmQgU0dNTCBPcGVuIENhdGFsb2cgaXMgaW5jbHVkZWQgaW4gdGhlIDxhIGhyZWY9IAorInhodG1sMS56aXAiPnppcCBmaWxlPC9hPiBmb3IgdGhpcyBzcGVjaWZpY2F0aW9uLjwvcD4KKworPGgyPjxhIG5hbWU9ImgtQTEiIGlkPSJoLUExIj5BLjEgRG9jdW1lbnQgVHlwZQorRGVmaW5pdGlvbnM8L2E+PC9oMj4KKworPHA+VGhlc2UgRFREcyBhcHByb3hpbWF0ZSB0aGUgSFRNTCA0LjAgRFREcy4gSXQgaXMgbGlrZWx5IHRoYXQKK3doZW4gdGhlIERURHMgYXJlIG1vZHVsYXJpemVkLCBhIG1ldGhvZCBvZiBEVEQgY29uc3RydWN0aW9uIHdpbGwKK2JlIGVtcGxveWVkIHRoYXQgY29ycmVzcG9uZHMgbW9yZSBjbG9zZWx5IHRvIEhUTUwgNC4wLjwvcD4KKworPHVsPgorPGxpPgorPHA+PGEgaHJlZj0iRFREL3hodG1sMS1zdHJpY3QuZHRkIiB0eXBlPSJ0ZXh0L3BsYWluIj4KK1hIVE1MLTEuMC1TdHJpY3Q8L2E+PC9wPgorPC9saT4KKworPGxpPgorPHA+PGEgaHJlZj0iRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIiB0eXBlPSJ0ZXh0L3BsYWluIj4KK1hIVE1MLTEuMC1UcmFuc2l0aW9uYWw8L2E+PC9wPgorPC9saT4KKworPGxpPgorPHA+PGEgaHJlZj0iRFREL3hodG1sMS1mcmFtZXNldC5kdGQiIHR5cGU9InRleHQvcGxhaW4iPgorWEhUTUwtMS4wLUZyYW1lc2V0PC9hPjwvcD4KKzwvbGk+Cis8L3VsPgorCis8aDI+PGEgbmFtZT0iaC1BMiIgaWQ9ImgtQTIiPkEuMiBFbnRpdHkgU2V0czwvYT48L2gyPgorCis8cD5UaGUgWEhUTUwgZW50aXR5IHNldHMgYXJlIHRoZSBzYW1lIGFzIGZvciBIVE1MIDQuMCwgYnV0IGhhdmUKK2JlZW4gbW9kaWZpZWQgdG8gYmUgdmFsaWQgWE1MIDEuMCBlbnRpdHkgZGVjbGFyYXRpb25zLiBOb3RlIHRoZQorZW50aXR5IGZvciB0aGUgRXVybyBjdXJyZW5jeSBzaWduICg8Y29kZT4mYW1wO2V1cm87PC9jb2RlPiBvcgorPGNvZGU+JmFtcDsjODM2NDs8L2NvZGU+IG9yIDxjb2RlPiZhbXA7I3gyMEFDOzwvY29kZT4pIGlzIGRlZmluZWQKK2FzIHBhcnQgb2YgdGhlIHNwZWNpYWwgY2hhcmFjdGVycy48L3A+CisKKzx1bD4KKzxsaT4KKzxwPjxhIGhyZWY9IkRURC94aHRtbC1sYXQxLmVudCI+TGF0aW4tMSBjaGFyYWN0ZXJzPC9hPjwvcD4KKzwvbGk+CisKKzxsaT4KKzxwPjxhIGhyZWY9IkRURC94aHRtbC1zcGVjaWFsLmVudCI+U3BlY2lhbCBjaGFyYWN0ZXJzPC9hPjwvcD4KKzwvbGk+CisKKzxsaT4KKzxwPjxhIGhyZWY9IkRURC94aHRtbC1zeW1ib2wuZW50Ij5TeW1ib2xzPC9hPjwvcD4KKzwvbGk+Cis8L3VsPgorCis8IS0tT2RkUGFnZS0tPgorPGgxPjxhIG5hbWU9InByb2hpYml0aW9ucyIgaWQ9InByb2hpYml0aW9ucyI+QXBwZW5kaXggQi4gRWxlbWVudAorUHJvaGliaXRpb25zPC9hPjwvaDE+CisKKzxwPjxiPlRoaXMgYXBwZW5kaXggaXMgbm9ybWF0aXZlLjwvYj48L3A+CisKKzxwPlRoZSBmb2xsb3dpbmcgZWxlbWVudHMgaGF2ZSBwcm9oaWJpdGlvbnMgb24gd2hpY2ggZWxlbWVudHMKK3RoZXkgY2FuIGNvbnRhaW4gKHNlZSA8YSBocmVmPSIjaC00LjkiPlNlY3Rpb24gNC45PC9hPikuIFRoaXMKK3Byb2hpYml0aW9uIGFwcGxpZXMgdG8gYWxsIGRlcHRocyBvZiBuZXN0aW5nLCBpLmUuIGl0IGNvbnRhaW5zCithbGwgdGhlIGRlc2NlbmRhbnQgZWxlbWVudHMuPC9wPgorCis8ZGw+PGR0Pjxjb2RlIGNsYXNzPSJ0YWciPmE8L2NvZGU+PC9kdD4KKzxkZD4KK2Nhbm5vdCBjb250YWluIG90aGVyIDxjb2RlPmE8L2NvZGU+IGVsZW1lbnRzLjwvZGQ+Cis8ZHQ+PGNvZGUgY2xhc3M9InRhZyI+cHJlPC9jb2RlPjwvZHQ+Cis8ZGQ+Y2Fubm90IGNvbnRhaW4gdGhlIDxjb2RlPmltZzwvY29kZT4sIDxjb2RlPm9iamVjdDwvY29kZT4sCis8Y29kZT5iaWc8L2NvZGU+LCA8Y29kZT5zbWFsbDwvY29kZT4sIDxjb2RlPnN1YjwvY29kZT4sIG9yIDxjb2RlPgorc3VwPC9jb2RlPiBlbGVtZW50cy48L2RkPgorCis8ZHQ+PGNvZGUgY2xhc3M9InRhZyI+YnV0dG9uPC9jb2RlPjwvZHQ+Cis8ZGQ+Y2Fubm90IGNvbnRhaW4gdGhlIDxjb2RlPmlucHV0PC9jb2RlPiwgPGNvZGU+c2VsZWN0PC9jb2RlPiwKKzxjb2RlPnRleHRhcmVhPC9jb2RlPiwgPGNvZGU+bGFiZWw8L2NvZGU+LCA8Y29kZT5idXR0b248L2NvZGU+LAorPGNvZGU+Zm9ybTwvY29kZT4sIDxjb2RlPmZpZWxkc2V0PC9jb2RlPiwgPGNvZGU+aWZyYW1lPC9jb2RlPiBvcgorPGNvZGU+aXNpbmRleDwvY29kZT4gZWxlbWVudHMuPC9kZD4KKzxkdD48Y29kZSBjbGFzcz0idGFnIj5sYWJlbDwvY29kZT48L2R0PgorPGRkPmNhbm5vdCBjb250YWluIG90aGVyIDxjb2RlIGNsYXNzPSJ0YWciPmxhYmVsPC9jb2RlPiBlbGVtZW50cy48L2RkPgorPGR0Pjxjb2RlIGNsYXNzPSJ0YWciPmZvcm08L2NvZGU+PC9kdD4KKzxkZD5jYW5ub3QgY29udGFpbiBvdGhlciA8Y29kZT5mb3JtPC9jb2RlPiBlbGVtZW50cy48L2RkPgorPC9kbD4KKworPCEtLU9kZFBhZ2UtLT4KKzxoMT48YSBuYW1lPSJndWlkZWxpbmVzIiBpZD0iZ3VpZGVsaW5lcyI+QXBwZW5kaXggQy4KK0hUTUwgQ29tcGF0aWJpbGl0eSBHdWlkZWxpbmVzPC9hPjwvaDE+CisKKzxwPjxiPlRoaXMgYXBwZW5kaXggaXMgaW5mb3JtYXRpdmUuPC9iPjwvcD4KKworPHA+VGhpcyBhcHBlbmRpeCBzdW1tYXJpemVzIGRlc2lnbiBndWlkZWxpbmVzIGZvciBhdXRob3JzIHdobword2lzaCB0aGVpciBYSFRNTCBkb2N1bWVudHMgdG8gcmVuZGVyIG9uIGV4aXN0aW5nIEhUTUwgdXNlcgorYWdlbnRzLjwvcD4KKworPGgyPkMuMSBQcm9jZXNzaW5nIEluc3RydWN0aW9uczwvaDI+Cis8cD5CZSBhd2FyZSB0aGF0IHByb2Nlc3NpbmcgaW5zdHJ1Y3Rpb25zIGFyZSByZW5kZXJlZCBvbiBzb21lCit1c2VyIGFnZW50cy4gSG93ZXZlciwgYWxzbyBub3RlIHRoYXQgd2hlbiB0aGUgWE1MIGRlY2xhcmF0aW9uIGlzIG5vdCBpbmNsdWRlZAoraW4gYSBkb2N1bWVudCwgdGhlIGRvY3VtZW50IGNhbiBvbmx5IHVzZSB0aGUgZGVmYXVsdCBjaGFyYWN0ZXIgZW5jb2RpbmdzIFVURi04CitvciBVVEYtMTYuPC9wPgorCis8aDI+Qy4yIEVtcHR5IEVsZW1lbnRzPC9oMj4KKzxwPkluY2x1ZGUgYSBzcGFjZSBiZWZvcmUgdGhlIHRyYWlsaW5nIDxjb2RlPi88L2NvZGU+IGFuZCA8Y29kZT4KKyZndDs8L2NvZGU+IG9mIGVtcHR5IGVsZW1lbnRzLCBlLmcuIDxjb2RlIGNsYXNzPSJncmVlbm1vbm8iPgorJmx0O2JyJiMxNjA7LyZndDs8L2NvZGU+LCA8Y29kZSBjbGFzcz0iZ3JlZW5tb25vIj4KKyZsdDtociYjMTYwOy8mZ3Q7PC9jb2RlPiBhbmQgPGNvZGUgY2xhc3M9ImdyZWVubW9ubyI+Jmx0O2ltZworc3JjPSJrYXJlbi5qcGciIGFsdD0iS2FyZW4iJiMxNjA7LyZndDs8L2NvZGU+LiBBbHNvLCB1c2UgdGhlCittaW5pbWl6ZWQgdGFnIHN5bnRheCBmb3IgZW1wdHkgZWxlbWVudHMsIGUuZy4gPGNvZGUgY2xhc3M9IAorImdyZWVubW9ubyI+Jmx0O2JyIC8mZ3Q7PC9jb2RlPiwgYXMgdGhlIGFsdGVybmF0aXZlIHN5bnRheCA8Y29kZQorY2xhc3M9ImdyZWVubW9ubyI+Jmx0O2JyJmd0OyZsdDsvYnImZ3Q7PC9jb2RlPiBhbGxvd2VkIGJ5IFhNTAorZ2l2ZXMgdW5jZXJ0YWluIHJlc3VsdHMgaW4gbWFueSBleGlzdGluZyB1c2VyIGFnZW50cy48L3A+CisKKzxoMj5DLjMgRWxlbWVudCBNaW5pbWl6YXRpb24gYW5kIEVtcHR5IEVsZW1lbnQgQ29udGVudDwvaDI+Cis8cD5HaXZlbiBhbiBlbXB0eSBpbnN0YW5jZSBvZiBhbiBlbGVtZW50IHdob3NlIGNvbnRlbnQgbW9kZWwgaXMKK25vdCA8Y29kZT5FTVBUWTwvY29kZT4gKGZvciBleGFtcGxlLCBhbiBlbXB0eSB0aXRsZSBvciBwYXJhZ3JhcGgpCitkbyBub3QgdXNlIHRoZSBtaW5pbWl6ZWQgZm9ybSAoZS5nLiB1c2UgPGNvZGUgY2xhc3M9ImdyZWVubW9ubyI+CismbHQ7cCZndDsgJmx0Oy9wJmd0OzwvY29kZT4gYW5kIG5vdCA8Y29kZSBjbGFzcz0iZ3JlZW5tb25vIj4KKyZsdDtwJiMxNjA7LyZndDs8L2NvZGU+KS48L3A+CisKKzxoMj5DLjQgRW1iZWRkZWQgU3R5bGUgU2hlZXRzIGFuZCBTY3JpcHRzPC9oMj4KKzxwPlVzZSBleHRlcm5hbCBzdHlsZSBzaGVldHMgaWYgeW91ciBzdHlsZSBzaGVldCB1c2VzIDxjb2RlPgorJmx0OzwvY29kZT4gb3IgPGNvZGU+JmFtcDs8L2NvZGU+IG9yIDxjb2RlPl1dJmd0OzwvY29kZT4gb3IgPGNvZGU+LS08L2NvZGU+LiBVc2UKK2V4dGVybmFsIHNjcmlwdHMgaWYgeW91ciBzY3JpcHQgdXNlcyA8Y29kZT4mbHQ7PC9jb2RlPiBvciA8Y29kZT4KKyZhbXA7PC9jb2RlPiBvciA8Y29kZT5dXSZndDs8L2NvZGU+IG9yIDxjb2RlPi0tPC9jb2RlPi4gTm90ZSB0aGF0IFhNTCBwYXJzZXJzCithcmUgcGVybWl0dGVkIHRvIHNpbGVudGx5IHJlbW92ZSB0aGUgY29udGVudHMgb2YgY29tbWVudHMuIFRoZXJlZm9yZSwgdGhlIGhpc3RvcmljYWwKK3ByYWN0aWNlIG9mICJoaWRpbmciIHNjcmlwdHMgYW5kIHN0eWxlIHNoZWV0cyB3aXRoaW4gY29tbWVudHMgdG8gbWFrZSB0aGUKK2RvY3VtZW50cyBiYWNrd2FyZCBjb21wYXRpYmxlIGlzIGxpa2VseSB0byBub3Qgd29yayBhcyBleHBlY3RlZCBpbiBYTUwtYmFzZWQKK2ltcGxlbWVudGF0aW9ucy48L3A+CisKKzxoMj5DLjUgTGluZSBCcmVha3Mgd2l0aGluIEF0dHJpYnV0ZSBWYWx1ZXM8L2gyPgorPHA+QXZvaWQgbGluZSBicmVha3MgYW5kIG11bHRpcGxlIHdoaXRlc3BhY2UgY2hhcmFjdGVycyB3aXRoaW4KK2F0dHJpYnV0ZSB2YWx1ZXMuIFRoZXNlIGFyZSBoYW5kbGVkIGluY29uc2lzdGVudGx5IGJ5IHVzZXIKK2FnZW50cy48L3A+CisKKzxoMj5DLjYgSXNpbmRleDwvaDI+Cis8cD5Eb24ndCBpbmNsdWRlIG1vcmUgdGhhbiBvbmUgPGNvZGU+aXNpbmRleDwvY29kZT4gZWxlbWVudCBpbgordGhlIGRvY3VtZW50IDxjb2RlPmhlYWQ8L2NvZGU+LiBUaGUgPGNvZGU+aXNpbmRleDwvY29kZT4gZWxlbWVudAoraXMgZGVwcmVjYXRlZCBpbiBmYXZvciBvZiB0aGUgPGNvZGU+aW5wdXQ8L2NvZGU+IGVsZW1lbnQuPC9wPgorCis8aDI+Qy43IFRoZSA8Y29kZT5sYW5nPC9jb2RlPiBhbmQgPGNvZGU+eG1sOmxhbmc8L2NvZGU+IEF0dHJpYnV0ZXM8L2gyPgorPHA+VXNlIGJvdGggdGhlIDxjb2RlPmxhbmc8L2NvZGU+IGFuZCA8Y29kZT54bWw6bGFuZzwvY29kZT4KK2F0dHJpYnV0ZXMgd2hlbiBzcGVjaWZ5aW5nIHRoZSBsYW5ndWFnZSBvZiBhbiBlbGVtZW50LiBUaGUgdmFsdWUKK29mIHRoZSA8Y29kZT54bWw6bGFuZzwvY29kZT4gYXR0cmlidXRlIHRha2VzIHByZWNlZGVuY2UuPC9wPgorCis8aDI+Qy44IEZyYWdtZW50IElkZW50aWZpZXJzPC9oMj4KKzxwPkluIFhNTCwgPGFiYnIgdGl0bGU9IlVuaWZvcm0gUmVzb3VyY2UgSWRlbnRpZmllcnMiPlVSSXM8L2FiYnI+IFs8YSBocmVmPSIjcmVmLXJmYzIzOTYiPlJGQzIzOTY8L2E+XSB0aGF0IGVuZCB3aXRoIGZyYWdtZW50IGlkZW50aWZpZXJzIG9mIHRoZSBmb3JtCis8Y29kZT4iI2ZvbyI8L2NvZGU+IGRvIG5vdCByZWZlciB0byBlbGVtZW50cyB3aXRoIGFuIGF0dHJpYnV0ZQorPGNvZGU+bmFtZT0iZm9vIjwvY29kZT47IHJhdGhlciwgdGhleSByZWZlciB0byBlbGVtZW50cyB3aXRoIGFuCithdHRyaWJ1dGUgZGVmaW5lZCB0byBiZSBvZiB0eXBlIDxjb2RlPklEPC9jb2RlPiwgZS5nLiwgdGhlIDxjb2RlPgoraWQ8L2NvZGU+IGF0dHJpYnV0ZSBpbiBIVE1MIDQuMC4gTWFueSBleGlzdGluZyBIVE1MIGNsaWVudHMgZG9uJ3QKK3N1cHBvcnQgdGhlIHVzZSBvZiA8Y29kZT5JRDwvY29kZT4tdHlwZSBhdHRyaWJ1dGVzIGluIHRoaXMgd2F5LAorc28gaWRlbnRpY2FsIHZhbHVlcyBtYXkgYmUgc3VwcGxpZWQgZm9yIGJvdGggb2YgdGhlc2UgYXR0cmlidXRlcyB0byBlbnN1cmUKK21heGltdW0gZm9yd2FyZCBhbmQgYmFja3dhcmQgY29tcGF0aWJpbGl0eSAoZS5nLiwgPGNvZGUgY2xhc3M9IAorImdyZWVubW9ubyI+Jmx0O2EgaWQ9ImZvbyIgbmFtZT0iZm9vIiZndDsuLi4mbHQ7L2EmZ3Q7PC9jb2RlPikuPC9wPgorCis8cD5GdXJ0aGVyLCBzaW5jZSB0aGUgc2V0IG9mCitsZWdhbCB2YWx1ZXMgZm9yIGF0dHJpYnV0ZXMgb2YgdHlwZSA8Y29kZT5JRDwvY29kZT4gaXMgbXVjaCBzbWFsbGVyIHRoYW4KK2ZvciB0aG9zZSBvZiB0eXBlIDxjb2RlPkNEQVRBPC9jb2RlPiwgdGhlIHR5cGUgb2YgdGhlIDxjb2RlPm5hbWU8L2NvZGU+CithdHRyaWJ1dGUgaGFzIGJlZW4gY2hhbmdlZCB0byA8Y29kZT5OTVRPS0VOPC9jb2RlPi4gVGhpcyBhdHRyaWJ1dGUgaXMgCitjb25zdHJhaW5lZCBzdWNoIHRoYXQgaXQgY2FuIG9ubHkgaGF2ZSB0aGUgc2FtZSB2YWx1ZXMgYXMgdHlwZQorPGNvZGU+SUQ8L2NvZGU+LCBvciBhcyB0aGUgPGNvZGU+TmFtZTwvY29kZT4gcHJvZHVjdGlvbiBpbiBYTUwgMS4wIFNlY3Rpb24KKzIuNSwgcHJvZHVjdGlvbiA1LiBVbmZvcnR1bmF0ZWx5LCB0aGlzIGNvbnN0cmFpbnQgY2Fubm90IGJlIGV4cHJlc3NlZCBpbiB0aGUKK1hIVE1MIDEuMCBEVERzLiAgQmVjYXVzZSBvZiB0aGlzIGNoYW5nZSwgY2FyZSBtdXN0IGJlIHRha2VuIHdoZW4KK2NvbnZlcnRpbmcgZXhpc3RpbmcgSFRNTCBkb2N1bWVudHMuIFRoZSB2YWx1ZXMgb2YgdGhlc2UgYXR0cmlidXRlcworbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBkb2N1bWVudCwgdmFsaWQsIGFuZCBhbnkgcmVmZXJlbmNlcyB0byB0aGVzZSAKK2ZyYWdtZW50IGlkZW50aWZpZXJzIChib3RoCitpbnRlcm5hbCBhbmQgZXh0ZXJuYWwpIG11c3QgYmUgdXBkYXRlZCBzaG91bGQgdGhlIHZhbHVlcyBiZSBjaGFuZ2VkIGR1cmluZworY29udmVyc2lvbi48L3A+Cis8cD5GaW5hbGx5LCBub3RlIHRoYXQgWEhUTUwgMS4wIGhhcyBkZXByZWNhdGVkIHRoZQorPGNvZGU+bmFtZTwvY29kZT4gYXR0cmlidXRlIG9mIHRoZSA8Y29kZT5hPC9jb2RlPiwgPGNvZGU+YXBwbGV0PC9jb2RlPiwgPGNvZGU+ZnJhbWU8L2NvZGU+LCA8Y29kZT5pZnJhbWU8L2NvZGU+LCA8Y29kZT5pbWc8L2NvZGU+LCBhbmQgPGNvZGU+bWFwPC9jb2RlPgorZWxlbWVudHMsIGFuZCBpdCB3aWxsIGJlCityZW1vdmVkIGZyb20gWEhUTUwgaW4gc3Vic2VxdWVudCB2ZXJzaW9ucy48L3A+CisKKzxoMj5DLjkgQ2hhcmFjdGVyIEVuY29kaW5nPC9oMj4KKzxwPlRvIHNwZWNpZnkgYSBjaGFyYWN0ZXIgZW5jb2RpbmcgaW4gdGhlIGRvY3VtZW50LCB1c2UgYm90aCB0aGUKK2VuY29kaW5nIGF0dHJpYnV0ZSBzcGVjaWZpY2F0aW9uIG9uIHRoZSB4bWwgZGVjbGFyYXRpb24gKGUuZy4KKzxjb2RlIGNsYXNzPSJncmVlbm1vbm8iPiZsdDs/eG1sIHZlcnNpb249IjEuMCIKK2VuY29kaW5nPSJFVUMtSlAiPyZndDs8L2NvZGU+KSBhbmQgYSBtZXRhIGh0dHAtZXF1aXYgc3RhdGVtZW50CisoZS5nLiA8Y29kZSBjbGFzcz0iZ3JlZW5tb25vIj4mbHQ7bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LXR5cGUiCitjb250ZW50PSd0ZXh0L2h0bWw7IGNoYXJzZXQ9IkVVQy1KUCInJiMxNjA7LyZndDs8L2NvZGU+KS4gVGhlCit2YWx1ZSBvZiB0aGUgZW5jb2RpbmcgYXR0cmlidXRlIG9mIHRoZSB4bWwgcHJvY2Vzc2luZyBpbnN0cnVjdGlvbgordGFrZXMgcHJlY2VkZW5jZS48L3A+CisKKzxoMj5DLjEwIEJvb2xlYW4gQXR0cmlidXRlczwvaDI+Cis8cD5Tb21lIEhUTUwgdXNlciBhZ2VudHMgYXJlIHVuYWJsZSB0byBpbnRlcnByZXQgYm9vbGVhbgorYXR0cmlidXRlcyB3aGVuIHRoZXNlIGFwcGVhciBpbiB0aGVpciBmdWxsIChub24tbWluaW1pemVkKSBmb3JtLAorYXMgcmVxdWlyZWQgYnkgWE1MIDEuMC4gTm90ZSB0aGlzIHByb2JsZW0gZG9lc24ndCBlZmZlY3QgdXNlcgorYWdlbnRzIGNvbXBsaWFudCB3aXRoIEhUTUwgNC4wLiBUaGUgZm9sbG93aW5nIGF0dHJpYnV0ZXMgYXJlCitpbnZvbHZlZDogPGNvZGU+Y29tcGFjdDwvY29kZT4sIDxjb2RlPm5vd3JhcDwvY29kZT4sIDxjb2RlPgoraXNtYXA8L2NvZGU+LCA8Y29kZT5kZWNsYXJlPC9jb2RlPiwgPGNvZGU+bm9zaGFkZTwvY29kZT4sIDxjb2RlPgorY2hlY2tlZDwvY29kZT4sIDxjb2RlPmRpc2FibGVkPC9jb2RlPiwgPGNvZGU+cmVhZG9ubHk8L2NvZGU+LAorPGNvZGU+bXVsdGlwbGU8L2NvZGU+LCA8Y29kZT5zZWxlY3RlZDwvY29kZT4sIDxjb2RlPgorbm9yZXNpemU8L2NvZGU+LCA8Y29kZT5kZWZlcjwvY29kZT4uPC9wPgorCis8aDI+Qy4xMSBEb2N1bWVudCBPYmplY3QgTW9kZWwgYW5kIFhIVE1MPC9oMj4KKzxwPgorVGhlIERvY3VtZW50IE9iamVjdCBNb2RlbCBsZXZlbCAxIFJlY29tbWVuZGF0aW9uIFs8YSBocmVmPSIjcmVmLWRvbSI+RE9NPC9hPl0KK2RlZmluZXMgZG9jdW1lbnQgb2JqZWN0IG1vZGVsIGludGVyZmFjZXMgZm9yIFhNTCBhbmQgSFRNTCA0LjAuIFRoZSBIVE1MIDQuMAorZG9jdW1lbnQgb2JqZWN0IG1vZGVsIHNwZWNpZmllcyB0aGF0IEhUTUwgZWxlbWVudCBhbmQgYXR0cmlidXRlIG5hbWVzIGFyZQorcmV0dXJuZWQgaW4gdXBwZXItY2FzZS4gVGhlIFhNTCBkb2N1bWVudCBvYmplY3QgbW9kZWwgc3BlY2lmaWVzIHRoYXQgCitlbGVtZW50IGFuZCBhdHRyaWJ1dGUgbmFtZXMgYXJlIHJldHVybmVkIGluIHRoZSBjYXNlIHRoZXkgYXJlIHNwZWNpZmllZC4gSW4KK1hIVE1MIDEuMCwgZWxlbWVudHMgYW5kIGF0dHJpYnV0ZXMgYXJlIHNwZWNpZmllZCBpbiBsb3dlci1jYXNlLiBUaGlzIGFwcGFyZW50IGRpZmZlcmVuY2UgY2FuIGJlCithZGRyZXNzZWQgaW4gdHdvIHdheXM6Cis8L3A+Cis8b2w+Cis8bGk+QXBwbGljYXRpb25zIHRoYXQgYWNjZXNzIFhIVE1MIGRvY3VtZW50cyBzZXJ2ZWQgYXMgSW50ZXJuZXQgbWVkaWEgdHlwZQorPGNvZGU+dGV4dC9odG1sPC9jb2RlPgordmlhIHRoZSA8YWJiciB0aXRsZT0iRG9jdW1lbnQgT2JqZWN0IE1vZGVsIj5ET008L2FiYnI+IGNhbiB1c2UgdGhlIEhUTUwgRE9NLAorYW5kIGNhbiByZWx5IHVwb24gZWxlbWVudCBhbmQgYXR0cmlidXRlIG5hbWVzIGJlaW5nIHJldHVybmVkIGluCit1cHBlci1jYXNlIGZyb20gdGhvc2UgaW50ZXJmYWNlcy48L2xpPgorPGxpPkFwcGxpY2F0aW9ucyB0aGF0IGFjY2VzcyBYSFRNTCBkb2N1bWVudHMgc2VydmVkIGFzIEludGVybmV0IG1lZGlhIHR5cGVzCis8Y29kZT50ZXh0L3htbDwvY29kZT4gb3IgPGNvZGU+YXBwbGljYXRpb24veG1sPC9jb2RlPgorY2FuIGFsc28gdXNlIHRoZSBYTUwgRE9NLiBFbGVtZW50cyBhbmQgYXR0cmlidXRlcyB3aWxsIGJlIHJldHVybmVkIGluIGxvd2VyLWNhc2UuCitBbHNvLCBzb21lIFhIVE1MIGVsZW1lbnRzIG1heSBvciBtYXkKK25vdCBhcHBlYXIKK2luIHRoZSBvYmplY3QgdHJlZSBiZWNhdXNlIHRoZXkgYXJlIG9wdGlvbmFsIGluIHRoZSBjb250ZW50IG1vZGVsCisoZS5nLiB0aGUgPGNvZGU+dGJvZHk8L2NvZGU+IGVsZW1lbnQgd2l0aGluCis8Y29kZT50YWJsZTwvY29kZT4pLiAgVGhpcyBvY2N1cnMgYmVjYXVzZSBpbiBIVE1MIDQuMCBzb21lIGVsZW1lbnRzIHdlcmUKK3Blcm1pdHRlZCB0byBiZSBtaW5pbWl6ZWQgc3VjaCB0aGF0IHRoZWlyIHN0YXJ0IGFuZCBlbmQgdGFncyBhcmUgYm90aCBvbWl0dGVkCisoYW4gU0dNTCBmZWF0dXJlKS4KK1RoaXMgaXMgbm90IHBvc3NpYmxlIGluIFhNTC4gUmF0aGVyIHRoYW4gcmVxdWlyZSBkb2N1bWVudCBhdXRob3JzIHRvIGluc2VydAorZXh0cmFuZW91cyBlbGVtZW50cywgWEhUTUwgaGFzIG1hZGUgdGhlIGVsZW1lbnRzIG9wdGlvbmFsLiAKK0FwcGxpY2F0aW9ucyBuZWVkIHRvIGFkYXB0IHRvIHRoaXMKK2FjY29yZGluZ2x5LjwvbGk+Cis8L29sPgorCis8aDI+Qy4xMiBVc2luZyBBbXBlcnNhbmRzIGluIEF0dHJpYnV0ZSBWYWx1ZXM8L2gyPgorPHA+CitXaGVuIGFuIGF0dHJpYnV0ZSB2YWx1ZSBjb250YWlucyBhbiBhbXBlcnNhbmQsIGl0IG11c3QgYmUgZXhwcmVzc2VkIGFzIGEgY2hhcmFjdGVyCitlbnRpdHkgcmVmZXJlbmNlCisoZS5nLiAiPGNvZGU+JmFtcDthbXA7PC9jb2RlPiIpLiBGb3IgZXhhbXBsZSwgd2hlbiB0aGUKKzxjb2RlPmhyZWY8L2NvZGU+IGF0dHJpYnV0ZQorb2YgdGhlIDxjb2RlPmE8L2NvZGU+IGVsZW1lbnQgcmVmZXJzIHRvIGEKK0NHSSBzY3JpcHQgdGhhdCB0YWtlcyBwYXJhbWV0ZXJzLCBpdCBtdXN0IGJlIGV4cHJlc3NlZCBhcworPGNvZGU+aHR0cDovL215LnNpdGUuZG9tL2NnaS1iaW4vbXlzY3JpcHQucGw/Y2xhc3M9Z3Vlc3QmYW1wO2FtcDtuYW1lPXVzZXI8L2NvZGU+CityYXRoZXIgdGhhbiBhcworPGNvZGU+aHR0cDovL215LnNpdGUuZG9tL2NnaS1iaW4vbXlzY3JpcHQucGw/Y2xhc3M9Z3Vlc3QmYW1wO25hbWU9dXNlcjwvY29kZT4uCis8L3A+CisKKzxoMj5DLjEzIENhc2NhZGluZyBTdHlsZSBTaGVldHMgKENTUykgYW5kIFhIVE1MPC9oMj4KKworPHA+VGhlIENhc2NhZGluZyBTdHlsZSBTaGVldHMgbGV2ZWwgMiBSZWNvbW1lbmRhdGlvbiBbPGEgaHJlZj0iI3JlZi1jc3MyIj5DU1MyPC9hPl0gZGVmaW5lcyBzdHlsZQorcHJvcGVydGllcyB3aGljaCBhcmUgYXBwbGllZCB0byB0aGUgcGFyc2UgdHJlZSBvZiB0aGUgSFRNTCBvciBYTUwKK2RvY3VtZW50LiAgRGlmZmVyZW5jZXMgaW4gcGFyc2luZyB3aWxsIHByb2R1Y2UgZGlmZmVyZW50IHZpc3VhbCBvcgorYXVyYWwgcmVzdWx0cywgZGVwZW5kaW5nIG9uIHRoZSBzZWxlY3RvcnMgdXNlZC4gVGhlIGZvbGxvd2luZyBoaW50cword2lsbCByZWR1Y2UgdGhpcyBlZmZlY3QgZm9yIGRvY3VtZW50cyB3aGljaCBhcmUgc2VydmVkIHdpdGhvdXQKK21vZGlmaWNhdGlvbiBhcyBib3RoIG1lZGlhIHR5cGVzOjwvcD4KKworPG9sPgorPGxpPgorQ1NTIHN0eWxlIHNoZWV0cyBmb3IgWEhUTUwgc2hvdWxkIHVzZSBsb3dlciBjYXNlIGVsZW1lbnQgYW5kCithdHRyaWJ1dGUgbmFtZXMuPC9saT4KKworCis8bGk+SW4gdGFibGVzLCB0aGUgdGJvZHkgZWxlbWVudCB3aWxsIGJlIGluZmVycmVkIGJ5IHRoZSBwYXJzZXIgb2YgYW4KK0hUTUwgdXNlciBhZ2VudCwgYnV0IG5vdCBieSB0aGUgcGFyc2VyIG9mIGFuIFhNTCB1c2VyIGFnZW50LiBUaGVyZWZvcmUKK3lvdSBzaG91bGQgYWx3YXlzIGV4cGxpY2l0ZWx5IGFkZCBhIHRib2R5IGVsZW1lbnQgaWYgaXQgaXMgcmVmZXJyZWQgdG8KK2luIGEgQ1NTIHNlbGVjdG9yLjwvbGk+CisKKzxsaT5XaXRoaW4gdGhlIFhIVE1MIG5hbWUgc3BhY2UsIHVzZXIgYWdlbnRzIGFyZSBleHBlY3RlZCB0bworcmVjb2duaXplIHRoZSAiaWQiIGF0dHJpYnV0ZSBhcyBhbiBhdHRyaWJ1dGUgb2YgdHlwZSBJRC4KK1RoZXJlZm9yZSwgc3R5bGUgc2hlZXRzIHNob3VsZCBiZSBhYmxlIHRvIGNvbnRpbnVlIHVzaW5nIHRoZQorc2hvcnRoYW5kICIjIiBzZWxlY3RvciBzeW50YXggZXZlbiBpZiB0aGUgdXNlciBhZ2VudCBkb2VzIG5vdCByZWFkCit0aGUgRFRELjwvbGk+CisKKzxsaT5XaXRoaW4gdGhlIFhIVE1MIG5hbWUgc3BhY2UsIHVzZXIgYWdlbnRzIGFyZSBleHBlY3RlZCB0bworcmVjb2duaXplIHRoZSAiY2xhc3MiIGF0dHJpYnV0ZS4gVGhlcmVmb3JlLCBzdHlsZSBzaGVldHMgc2hvdWxkIGJlCithYmxlIHRvIGNvbnRpbnVlIHVzaW5nIHRoZSBzaG9ydGhhbmQgIi4iIHNlbGVjdG9yIHN5bnRheC48L2xpPgorCis8bGk+CitDU1MgZGVmaW5lcyBkaWZmZXJlbnQgY29uZm9ybWFuY2UgcnVsZXMgZm9yIEhUTUwgYW5kIFhNTCBkb2N1bWVudHM7CitiZSBhd2FyZSB0aGF0IHRoZSBIVE1MIHJ1bGVzIGFwcGx5IHRvIFhIVE1MIGRvY3VtZW50cyBkZWxpdmVyZWQgYXMKK0hUTUwgYW5kIHRoZSBYTUwgcnVsZXMgYXBwbHkgdG8gWEhUTUwgZG9jdW1lbnRzIGRlbGl2ZXJlZCBhcyBYTUwuPC9saT4KKzwvb2w+Cis8IS0tT2RkUGFnZS0tPgorPGgxPjxhIG5hbWU9ImFja3MiIGlkPSJhY2tzIj5BcHBlbmRpeCBELgorQWNrbm93bGVkZ2VtZW50czwvYT48L2gxPgorCis8cD48Yj5UaGlzIGFwcGVuZGl4IGlzIGluZm9ybWF0aXZlLjwvYj48L3A+CisKKzxwPlRoaXMgc3BlY2lmaWNhdGlvbiB3YXMgd3JpdHRlbiB3aXRoIHRoZSBwYXJ0aWNpcGF0aW9uIG9mIHRoZQorbWVtYmVycyBvZiB0aGUgVzNDIEhUTUwgd29ya2luZyBncm91cDo8L3A+CisKKzxkbD4KKzxkZD5TdGV2ZW4gUGVtYmVydG9uLCBDV0kgKEhUTUwgV29ya2luZyBHcm91cCBDaGFpcik8YnIgLz4KK011cnJheSBBbHRoZWltLCBTdW4gTWljcm9zeXN0ZW1zPGJyIC8+CitEYW5pZWwgQXVzdGluLCBDTkVUOiBUaGUgQ29tcHV0ZXIgTmV0d29yazxiciAvPgorRnJhbmsgQm91bXBocmV5LCBIVE1MIFdyaXRlcnMgR3VpbGQ8YnIgLz4KK0pvaG4gQnVyZ2VyLCBNaXRyZTxiciAvPgorQW5kcmV3IFcuIERvbm9obywgSUJNPGJyIC8+CitTYW0gRG9vbGV5LCBJQk08YnIgLz4KK0tsYXVzIEhvZnJpY2h0ZXIsIEdNRDxiciAvPgorUGhpbGlwcCBIb3NjaGthLCBXM0M8YnIgLz4KK01hc2F5YXN1IElzaGlrYXdhLCBXM0M8YnIgLz4KK1dhcm5lciB0ZW4gS2F0ZSwgUGhpbGlwcyBFbGVjdHJvbmljczxiciAvPgorUGV0ZXIgS2luZywgUGhvbmUuY29tPGJyIC8+CitQYXVsYSBLbGFudGUsIEpldEZvcm08YnIgLz4KK1NoaW4naWNoaSBNYXRzdWksIFczQy9QYW5hc29uaWM8YnIgLz4KK1NoYW5lIE1jQ2Fycm9uLCBBcHBsaWVkIFRlc3RpbmcgYW5kIFRlY2hub2xvZ3kgKFRoZSBPcGVuIEdyb3VwIHRocm91Z2ggQXVndXN0CisxOTk5KTxiciAvPgorQW5uIE5hdmFycm8sIEhUTUwgV3JpdGVycyBHdWlsZDxiciAvPgorWmFjaCBOaWVzLCBRdWFyazxiciAvPgorRGF2ZSBSYWdnZXR0LCBXM0MvSFAgKFczQyBsZWFkIGZvciBIVE1MKTxiciAvPgorUGF0cmljayBTY2htaXR6LCBNaWNyb3NvZnQ8YnIgLz4KK1NlYmFzdGlhbiBTY2huaXR6ZW5iYXVtZXIsIFN0YWNrIE92ZXJmbG93PGJyIC8+CitDaHJpcyBXaWxzb24sIE1pY3Jvc29mdDxiciAvPgorVGVkIFd1Z29mc2tpLCBHYXRld2F5IDIwMDA8YnIgLz4KK0RhbiBaaWdtb25kLCBXZWJUViBOZXR3b3JrczwvZGQ+Cis8L2RsPgorCis8IS0tT2RkUGFnZS0tPgorPGgxPjxhIG5hbWU9InJlZnMiIGlkPSJyZWZzIj5BcHBlbmRpeCBFLiBSZWZlcmVuY2VzPC9hPjwvaDE+CisKKzxwPjxiPlRoaXMgYXBwZW5kaXggaXMgaW5mb3JtYXRpdmUuPC9iPjwvcD4KKworPGRsPgorCis8ZHQ+PGEgbmFtZT0icmVmLWNzczIiIGlkPSJyZWYtY3NzMiI+PGI+W0NTUzJdPC9iPjwvYT48L2R0PgorCis8ZGQ+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLUNTUzIiPiJDYXNjYWRpbmcgU3R5bGUgU2hlZXRzLCBsZXZlbCAyIChDU1MyKSBTcGVjaWZpY2F0aW9uIjwvYT4sIEIuCitCb3MsIEguIFcuIExpZSwgQy4gTGlsbGV5LCBJLiBKYWNvYnMsIDEyIE1heSAxOTk4LjxiciAvPgorQXZhaWxhYmxlIGF0OiA8YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtQ1NTMiI+CitodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtQ1NTMjwvYT48L2RkPgorCis8ZHQ+PGEgbmFtZT0icmVmLWRvbSIgaWQ9InJlZi1kb20iPjxiPltET01dPC9iPjwvYT48L2R0PgorCis8ZGQ+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLURPTS1MZXZlbC0xIj4iRG9jdW1lbnQgT2JqZWN0IE1vZGVsIChET00pIExldmVsIDEgU3BlY2lmaWNhdGlvbiI8L2E+LCBMYXVyZW4KK1dvb2QgPGk+ZXQgYWwuPC9pPiwgMSBPY3RvYmVyIDE5OTguPGJyIC8+CitBdmFpbGFibGUgYXQ6IDxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy1ET00tTGV2ZWwtMSI+CitodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtRE9NLUxldmVsLTE8L2E+PC9kZD4KKworPGR0PjxhIG5hbWU9InJlZi1odG1sNCIgaWQ9InJlZi1odG1sNCI+PGI+W0hUTUxdPC9iPjwvYT48L2R0PgorCis8ZGQ+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvMTk5OS9QUi1odG1sNDAtMTk5OTA4MjQiPiJIVE1MIDQuMDEgU3BlY2lmaWNhdGlvbiI8L2E+LCBELiBSYWdnZXR0LCBBLiBMZSYjMTYwO0hvcnMsIEkuCitKYWNvYnMsIDI0IEF1Z3VzdCAxOTk5LjxiciAvPgorQXZhaWxhYmxlIGF0OiA8YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi8xOTk5L1BSLWh0bWw0MC0xOTk5MDgyNCI+CitodHRwOi8vd3d3LnczLm9yZy9UUi8xOTk5L1BSLWh0bWw0MC0xOTk5MDgyNDwvYT48L2RkPgorCis8ZHQ+PGEgbmFtZT0icmVmLXBvc2l4IiBpZD0icmVmLXBvc2l4Ij48Yj5bUE9TSVguMV08L2I+PC9hPjwvZHQ+CisKKzxkZD4iSVNPL0lFQyA5OTQ1LTE6MTk5MCBJbmZvcm1hdGlvbiBUZWNobm9sb2d5IC0gUG9ydGFibGUKK09wZXJhdGluZyBTeXN0ZW0gSW50ZXJmYWNlIChQT1NJWCkgLSBQYXJ0IDE6IFN5c3RlbSBBcHBsaWNhdGlvbgorUHJvZ3JhbSBJbnRlcmZhY2UgKEFQSSkgW0MgTGFuZ3VhZ2VdIiwgSW5zdGl0dXRlIG9mIEVsZWN0cmljYWwKK2FuZCBFbGVjdHJvbmljcyBFbmdpbmVlcnMsIEluYywgMTk5MC48L2RkPgorCis8ZHQ+PGEgbmFtZT0icmVmLXJmYzIwNDYiIGlkPSJyZWYtcmZjMjA0NiI+PGI+CitbUkZDMjA0Nl08L2I+PC9hPjwvZHQ+CisKKzxkZD48YSBocmVmPSJodHRwOi8vd3d3LmlldGYub3JnL3JmYy9yZmMyMDQ2LnR4dCI+IlJGQzIwNDY6IE11bHRpcHVycG9zZSBJbnRlcm5ldCBNYWlsIEV4dGVuc2lvbnMgKE1JTUUpIFBhcnQKK1R3bzogTWVkaWEgVHlwZXMiPC9hPiwgTi4gRnJlZWQgYW5kIE4uIEJvcmVuc3RlaW4sIE5vdmVtYmVyCisxOTk2LjxiciAvPgorQXZhaWxhYmxlIGF0IDxhIGhyZWY9Imh0dHA6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzIwNDYudHh0Ij4KK2h0dHA6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzIwNDYudHh0PC9hPi4gTm90ZSB0aGF0IHRoaXMgUkZDCitvYnNvbGV0ZXMgUkZDMTUyMSwgUkZDMTUyMiwgYW5kIFJGQzE1OTAuPC9kZD4KKworPGR0PjxhIG5hbWU9InJlZi1yZmMyMTE5IiBpZD0icmVmLXJmYzIxMTkiPjxiPgorW1JGQzIxMTldPC9iPjwvYT48L2R0PgorCis8ZGQ+PGEgaHJlZj0iaHR0cDovL3d3dy5pZXRmLm9yZy9yZmMvcmZjMjExOS50eHQiPiJSRkMyMTE5OiBLZXkgd29yZHMgZm9yIHVzZSBpbiBSRkNzIHRvIEluZGljYXRlIFJlcXVpcmVtZW50CitMZXZlbHMiPC9hPiwgUy4gQnJhZG5lciwgTWFyY2ggMTk5Ny48YnIgLz4KK0F2YWlsYWJsZSBhdDogPGEgaHJlZj0iaHR0cDovL3d3dy5pZXRmLm9yZy9yZmMvcmZjMjExOS50eHQiPgoraHR0cDovL3d3dy5pZXRmLm9yZy9yZmMvcmZjMjExOS50eHQ8L2E+PC9kZD4KKworPGR0PjxhIG5hbWU9InJlZi1yZmMyMzc2IiBpZD0icmVmLXJmYzIzNzYiPjxiPgorW1JGQzIzNzZdPC9iPjwvYT48L2R0PgorCis8ZGQ+PGEgaHJlZj0iaHR0cDovL3d3dy5pZXRmLm9yZy9yZmMvcmZjMjM3Ni50eHQiPiJSRkMyMzc2OiBYTUwgTWVkaWEgVHlwZXMiPC9hPiwgRS4gV2hpdGVoZWFkLCBNLiBNdXJhdGEsIEp1bHkKKzE5OTguPGJyIC8+CitBdmFpbGFibGUgYXQ6IDxhIGhyZWY9Imh0dHA6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzIzNzYudHh0Ij4KK2h0dHA6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzIzNzYudHh0PC9hPjwvZGQ+CisKKzxkdD48YSBuYW1lPSJyZWYtcmZjMjM5NiIgaWQ9InJlZi1yZmMyMzk2Ij48Yj4KK1tSRkMyMzk2XTwvYj48L2E+PC9kdD4KKworPGRkPjxhIGhyZWY9Imh0dHA6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzIzOTYudHh0Ij4iUkZDMjM5NjogVW5pZm9ybSBSZXNvdXJjZSBJZGVudGlmaWVycyAoVVJJKTogR2VuZXJpYworU3ludGF4IjwvYT4sIFQuIEJlcm5lcnMtTGVlLCBSLiBGaWVsZGluZywgTC4gTWFzaW50ZXIsIEF1Z3VzdAorMTk5OC48YnIgLz4KK1RoaXMgZG9jdW1lbnQgdXBkYXRlcyBSRkMxNzM4IGFuZCBSRkMxODA4LjxiciAvPgorQXZhaWxhYmxlIGF0OiA8YSBocmVmPSJodHRwOi8vd3d3LmlldGYub3JnL3JmYy9yZmMyMzk2LnR4dCI+CitodHRwOi8vd3d3LmlldGYub3JnL3JmYy9yZmMyMzk2LnR4dDwvYT48L2RkPgorCis8ZHQ+PGEgbmFtZT0icmVmLXhtbCIgaWQ9InJlZi14bWwiPjxiPltYTUxdPC9iPjwvYT48L2R0PgorCis8ZGQ+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLXhtbCI+IkV4dGVuc2libGUgTWFya3VwIExhbmd1YWdlIChYTUwpIDEuMCBTcGVjaWZpY2F0aW9uIjwvYT4sIFQuCitCcmF5LCBKLiBQYW9saSwgQy4gTS4gU3BlcmJlcmctTWNRdWVlbiwgMTAgRmVicnVhcnkgMTk5OC48YnIgLz4KK0F2YWlsYWJsZSBhdDogPGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLXhtbCI+CitodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMteG1sPC9hPjwvZGQ+CisKKzxkdD48YSBuYW1lPSJyZWYteG1sbnMiIGlkPSJyZWYteG1sbnMiPjxiPltYTUxOQU1FU108L2I+PC9hPjwvZHQ+CisKKzxkZD48YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMteG1sLW5hbWVzIj4iTmFtZXNwYWNlcyBpbiBYTUwiPC9hPiwgVC4gQnJheSwgRC4gSG9sbGFuZGVyLCBBLiBMYXltYW4sIDE0CitKYW51YXJ5IDE5OTkuPGJyIC8+CitYTUwgbmFtZXNwYWNlcyBwcm92aWRlIGEgc2ltcGxlIG1ldGhvZCBmb3IgcXVhbGlmeWluZyBuYW1lcyB1c2VkCitpbiBYTUwgZG9jdW1lbnRzIGJ5IGFzc29jaWF0aW5nIHRoZW0gd2l0aCBuYW1lc3BhY2VzIGlkZW50aWZpZWQKK2J5IFVSSS48YnIgLz4KK0F2YWlsYWJsZSBhdDogPGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLXhtbC1uYW1lcyI+CitodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMteG1sLW5hbWVzPC9hPjwvZGQ+CisKKzwvZGw+Cis8cD48YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9XQUkvV0NBRzFBQUEtQ29uZm9ybWFuY2UiCit0aXRsZT0iRXhwbGFuYXRpb24gb2YgTGV2ZWwgVHJpcGxlLUEgQ29uZm9ybWFuY2UiPgorPGltZyBoZWlnaHQ9IjMyIiB3aWR0aD0iODgiIAorc3JjPSJ3Y2FnMUFBQS5naWYiCithbHQ9IkxldmVsIFRyaXBsZS1BIGNvbmZvcm1hbmNlIGljb24sIFczQy1XQUkgV2ViIENvbnRlbnQgQWNjZXNzaWJpbGl0eSBHdWlkZWxpbmVzIDEuMCIgLz48L2E+PC9wPgorPGRpdiBjbGFzcz0ibmF2YmFyIj4KKyAgPGhyIC8+CisgIDxhIGhyZWY9IiN0b2MiPnRhYmxlIG9mIGNvbnRlbnRzPC9hPiAKKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QvdmFsaWQveGxpbmsueG1sIGIvbGlieG1sMi90ZXN0L3ZhbGlkL3hsaW5rLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xOTE5NGFhCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3ZhbGlkL3hsaW5rLnhtbApAQCAtMCwwICsxLDUyOSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzwhRE9DVFlQRSBzcGVjIFBVQkxJQyAiLS8vVzNDLy9EVEQgU3BlY2lmaWNhdGlvbjo6MTk5OTAyMDUvL0VOIiAiZHRkcy94bWxzcGVjLmR0ZCIgWworPCFFTlRJVFkgZG9jLXR5cGUgIldEIj4KKzwhRU5USVRZIGlzbzYuZG9jLmRhdGUgJzI5LU1heS0xOTk5Jz4KK10+Cis8IS0tQXJib3JUZXh0LCBJbmMuLCAxOTg4LTE5OTgsIHYuNDAwMi0tPgorPD9QdWIgVURUIF9ib29rbWFyayBfdGFyZ2V0Pz4KKzw/UHViIEluYz8+Cis8P3htbC1zdHlsZXNoZWV0CitocmVmPSJmaWxlOi8vL0N8L1Byb2dyYW0lMjBGaWxlcy9Tb2Z0UXVhZC9YTWV0YUwlMjAxL2Rpc3BsYXkveG1sc3BlYy5jc3MiCit0eXBlPSJ0ZXh0L2NzcyI/PgorPHNwZWM+CisKKzwhLS0gTGFzdCBlZGl0ZWQ6IDI3IE1heSAxOTk5IGJ5IGJlbnQgLS0+Cis8aGVhZGVyPjw/UHViIER0bD8+CisJPHRpdGxlPlhNTCBMaW5raW5nIExhbmd1YWdlIChYTGluayk8L3RpdGxlPgorCTx2ZXJzaW9uPlZlcnNpb24gMS4wPC92ZXJzaW9uPgorCTx3M2MtZGVzaWduYXRpb24+PCEtLSAmZG9jLXR5cGU7LSZpc282LmRvYy5kYXRlOyAtLT4gV0QteGxpbmstMTk5OTA1Mjc8L3czYy1kZXNpZ25hdGlvbj4KKwk8dzNjLWRvY3R5cGU+V29ybGQgV2lkZSBXZWIgQ29uc29ydGl1bSBXb3JraW5nIERyYWZ0PC93M2MtZG9jdHlwZT4KKwk8cHViZGF0ZT48ZGF5PjI5PC9kYXk+PG1vbnRoPk1heTwvbW9udGg+PHllYXI+MTk5OTwveWVhcj48L3B1YmRhdGU+CisJPG5vdGljZT4KKwk8cD5UaGlzIGRyYWZ0IGlzIGZvciBwdWJsaWMgZGlzY3Vzc2lvbi48L3A+CisJPC9ub3RpY2U+CisJPHB1YmxvYz48bG9jIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1hNTC9Hcm91cC8xOTk5LzA1L1dELXhsaW5rLWN1cnJlbnQiPmh0dHA6Ly93d3cudzMub3JnL1hNTC9Hcm91cC8xOTk5LzA1L1dELXhsaW5rLWN1cnJlbnQ8L2xvYz48L3B1YmxvYz4KKwk8cHJldmxvY3M+CisJPCEtLUNoZWNrOiB3YXMgaXQgYWN0dWFsbHkgQXVndXN0Py0tPgorCTxsb2MgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvWE1ML0dyb3VwLzE5OTkvMDUvV0QteGxpbmstMTk5OTA1MjciPmh0dHA6Ly93d3cudzMub3JnL1hNTC9Hcm91cC8xOTk5LzA1L1dELXhsaW5rLTE5OTkwNTI3PC9sb2M+CisJPGxvYyBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9YTUwvR3JvdXAvMTk5OS8wNS9XRC14bGluay0xOTk5MDUwNSI+aHR0cDovL3d3dy53My5vcmcvWE1ML0dyb3VwLzE5OTkvMDUvV0QteGxpbmstMTk5OTA1MDU8L2xvYz4KKwk8bG9jIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSLzE5OTgvV0QteGxpbmstMTk5ODAzMDMiPmh0dHA6Ly93d3cudzMub3JnL1RSLzE5OTgvV0QteGxpbmstMTk5ODAzMDM8L2xvYz4KKwk8bG9jIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL1dELXhtbC1saW5rLTk3MDYzMCI+aHR0cDovL3d3dy53My5vcmcvVFIvV0QteG1sLWxpbmstOTcwNjMwPC9sb2M+PC9wcmV2bG9jcz4KKworCTxhdXRobGlzdD4KKwkJPCEtLVVwZGF0ZWQgYXV0aG9yIGhyZWZzICBkb3JjaGFyZC0tPgorCQk8IS0tIFVwZGF0ZSBTdGV2ZSdzIGVtYWlsIC0gYmVudCAtLT4gCisJCTxhdXRob3I+CisJCQk8bmFtZT5TdGV2ZSBEZVJvc2U8L25hbWU+CisJCQk8YWZmaWxpYXRpb24+SW5zbyBDb3JwLiBhbmQgQnJvd24gVW5pdmVyc2l0eTwvYWZmaWxpYXRpb24+CisJCQk8ZW1haWwgaHJlZj0ibWFpbHRvOlN0ZXZlbl9EZVJvc2VAQnJvd24uZWR1Ij5TdGV2ZW5fRGVSb3NlQEJyb3duLmVkdTwvZW1haWw+CisJCTwvYXV0aG9yPgorCQk8YXV0aG9yPgorCQkJPG5hbWU+RGF2aWQgT3JjaGFyZDwvbmFtZT4KKwkJCTxhZmZpbGlhdGlvbj5JQk0gQ29ycC48L2FmZmlsaWF0aW9uPgorCQkJPGVtYWlsIGhyZWY9Im1haWx0bzpkb3JjaGFyZEBjYS5pYm0uY29tIj5kb3JjaGFyZEBjYS5pYm0uY29tPC9lbWFpbD4KKwkJPC9hdXRob3I+CisJCTxhdXRob3I+CisJCQk8bmFtZT5CZW4gVHJhZmZvcmQ8L25hbWU+CisJCQk8YWZmaWxpYXRpb24+SW52aXRlZCBFeHBlcnQ8L2FmZmlsaWF0aW9uPgorCQkJPGVtYWlsIGhyZWY9Im1haWx0bzpiZW50QGV4ZW1wbGFyeS5uZXQiPmJlbnRAZXhlbXBsYXJ5Lm5ldDwvZW1haWw+CisJCTwvYXV0aG9yPgorCQk8IS0tIEkgc3VnZ2VzdCB3ZSBtb3ZlIEV2ZSBhbmQgVGltIGRvd24gdG8gdGhlIEFja25vd2xlZGdlbWVudHMgc2VjdGlvbi4gV2UKKwkJYWxzbyBvdWdodCB0byBhZGQgR2FiZSBCZWdlZC1Eb3YgdGhlcmUsIGFzIHdlbGwuIGJlbnQKKwkJaG93IHNoYWxsIHdlIGNpdGUgVGltPyBzamQgV2hhdCBhYm91dCB3aXRoIGFuIEFja25vd2xlZGdtZW50cyBzZWN0aW9uPworCQktZWxtIDxBVVRIT1I+IDxOQU1FPlRpbSBCcmF5PC9OQU1FPiA8QUZGSUxJQVRJT04+VGV4dHVhbGl0eTwvQUZGSUxJQVRJT04+CisJCTxFTUFJTD50YnJheUB0ZXh0dWFsaXR5LmNvbTwvRU1BSUw+IDwvQVVUSE9SPi0tPgorCTwvYXV0aGxpc3Q+CisKKwk8c3RhdHVzPgorCQk8cD5UaGlzIGlzIGEgVzNDIFdvcmtpbmcgRHJhZnQgZm9yIHJldmlldyBieSBXM0MgbWVtYmVycyBhbmQgb3RoZXIgaW50ZXJlc3RlZCBwYXJ0aWVzLiBJdCBpcyBhIGRyYWZ0IGRvY3VtZW50IGFuZCBtYXkgYmUgdXBkYXRlZCwgcmVwbGFjZWQsIG9yIG9ic29sZXRlZCBieSBvdGhlciBkb2N1bWVudHMgYXQgYW55IHRpbWUuIEl0IGlzIGluYXBwcm9wcmlhdGUgdG8gdXNlIFczQyBXb3JraW5nIERyYWZ0cyBhcyByZWZlcmVuY2UgbWF0ZXJpYWwgb3IgdG8gY2l0ZSB0aGVtIGFzIG90aGVyIHRoYW4gIndvcmsgaW4gcHJvZ3Jlc3MiLiBBIGxpc3Qgb2YgY3VycmVudCBXM0Mgd29ya2luZyBkcmFmdHMgY2FuIGJlIGZvdW5kIGF0IDxsb2MgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIiPmh0dHA6Ly93d3cudzMub3JnL1RSPC9sb2M+LjwvcD4KKwkJPHA+PGVtcGg+Tm90ZTo8L2VtcGg+IFNpbmNlIHdvcmtpbmcgZHJhZnRzIGFyZSBzdWJqZWN0IHRvIGZyZXF1ZW50IGNoYW5nZSwgeW91IGFyZSBhZHZpc2VkIHRvIHJlZmVyZW5jZSB0aGUgYWJvdmUgVVJJLCByYXRoZXIgdGhhbiB0aGUgVVJJcyBmb3Igd29ya2luZyBkcmFmdHMgdGhlbXNlbHZlcy4gU29tZSBvZiB0aGUgd29yayByZW1haW5pbmcgaXMgZGVzY3JpYmVkIGluIDxzcGVjcmVmIHJlZj0idW5maW5pc2hlZCIvPi4gPC9wPgorCQk8cD5UaGlzIHdvcmsgaXMgcGFydCBvZiB0aGUgVzNDIFhNTCBBY3Rpdml0eSAoZm9yIGN1cnJlbnQgc3RhdHVzLCBzZWUgPGxvYyBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9NYXJrVXAvU0dNTC9BY3Rpdml0eSI+aHR0cDovL3d3dy53My5vcmcvWE1ML0FjdGl2aXR5IAkJICA8L2xvYz4pLiBGb3IgaW5mb3JtYXRpb24gYWJvdXQgdGhlIFhQb2ludGVyIGxhbmd1YWdlIHdoaWNoIGlzIGV4cGVjdGVkIHRvIGJlIHVzZWQgd2l0aCBYTGluaywgc2VlIDxsb2MgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvTWFya1VwL1NHTUwvQWN0aXZpdHkiPmh0dHA6Ly93d3cudzMub3JnL1RSL1dELXhwdHI8L2xvYz4uCisJCTwvcD4KKwkJPHA+U2VlIDxsb2MgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvTk9URS14bGluay1wcmluY2lwbGVzIj5odHRwOi8vd3d3LnczLm9yZy9UUi9OT1RFLXhsaW5rLXByaW5jaXBsZXMgPC9sb2M+IGZvciBhZGRpdGlvbmFsIGJhY2tncm91bmQgb24gdGhlIGRlc2lnbiBwcmluY2lwbGVzIGluZm9ybWluZyBYTGluay48L3A+CisJCTxwPkFsc28gc2VlIDxsb2MgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvTk9URS14bGluay1yZXEvIj5odHRwOi8vd3d3LnczLm9yZy9UUi9OT1RFLXhsaW5rLXJlcS88L2xvYz4gZm9yIHRoZSBYTGluayByZXF1aXJlbWVudHMgdGhhdCB0aGlzIGRvY3VtZW50IGF0dGVtcHRzIHRvIHNhdGlzZnkuPC9wPgorCTwvc3RhdHVzPgorCisJPGFic3RyYWN0PgorCQk8IS0tIGVkaXRlZCB0aGUgYWJzdHJhY3QgZm9yIGZ1cnRoZXIgY2xhcml0eSAtIGJlbnQgLS0+CisJCTxwPlRoaXMgc3BlY2lmaWNhdGlvbiBkZWZpbmVzIGNvbnN0cnVjdHMgdGhhdCBtYXkgYmUgaW5zZXJ0ZWQgaW50byBYTUwgRFREcywgc2NoZW1hcyBhbmQgZG9jdW1lbnQgaW5zdGFuY2VzIHRvIGRlc2NyaWJlIGxpbmtzIGJldHdlZW4gb2JqZWN0cy4gSXQgdXNlcyBYTUwgc3ludGF4IHRvIGNyZWF0ZSBzdHJ1Y3R1cmVzIHRoYXQgY2FuIGRlc2NyaWJlIHRoZSBzaW1wbGUgdW5pZGlyZWN0aW9uYWwgaHlwZXJsaW5rcyBvZiB0b2RheSdzIEhUTUwgYXMgd2VsbCBhcyBtb3JlIHNvcGhpc3RpY2F0ZWQgbGlua3MuPC9wPgorCTwvYWJzdHJhY3Q+CisKKwk8cHVic3RtdD4KKwkJPHA+QnVybGluZ3RvbiwgU2Vla29uaywgZXQgYWwuOiBXb3JsZC1XaWRlIFdlYiBDb25zb3J0aXVtLCBYTUwgV29ya2luZyBHcm91cCwgMTk5OC48L3A+CisJPC9wdWJzdG10PgorCisJPHNvdXJjZWRlc2M+CisJCTxwPkNyZWF0ZWQgaW4gZWxlY3Ryb25pYyBmb3JtLjwvcD4KKwk8L3NvdXJjZWRlc2M+CisKKwk8bGFuZ3VzYWdlPgorCQk8bGFuZ3VhZ2UgaWQ9ImVuIj5FbmdsaXNoPC9sYW5ndWFnZT4KKwkJPGxhbmd1YWdlIGlkPSJlYm5mIj5FeHRlbmRlZCBCYWNrdXMtTmF1ciBGb3JtIChmb3JtYWwgZ3JhbW1hcik8L2xhbmd1YWdlPgorCTwvbGFuZ3VzYWdlPgorCisJPHJldmlzaW9uZGVzYz4KKwkJPHNsaXN0PgorCQkJPHNpdGVtPjE5OTctMDEtMTUgOiBTa2VsZXRvbiBkcmFmdCBieSBUQjwvc2l0ZW0+CisJCQk8c2l0ZW0+MTk5Ny0wMS0yNCA6IEZsZXNoZWQgb3V0IGJ5IHNqZDwvc2l0ZW0+CisJCQk8c2l0ZW0+MTk5Ny0wNC0wOCA6IFN1YnN0YW50aXZlIGRyYWZ0PC9zaXRlbT4KKwkJCTxzaXRlbT4xOTk3LTA2LTMwIDogUHVibGljIGRyYWZ0PC9zaXRlbT4KKwkJCTxzaXRlbT4xOTk3LTA4LTAxIDogUHVibGljIGRyYWZ0PC9zaXRlbT4KKwkJCTxzaXRlbT4xOTk3LTA4LTA1IDogUHJvc2Uvb3JnYW5pemF0aW9uIHdvcmsgYnkgc2pkPC9zaXRlbT4KKwkJCTxzaXRlbT4xOTk3LTEwLTE0OiBDb25mb3JtYW5jZSBhbmQgZGVzaWduIHByaW5jaXBsZXM7IGEgYml0IG9mIGNsZWFudXAgYnkgZWxtPC9zaXRlbT4KKwkJCTxzaXRlbT4xOTk3LTExLTA3OiBVcGRhdGUgZm9yIGVkaXRvcmlhbCBpc3N1ZXMgcGVyIGlzc3VlcyBkb2MsIGJ5IHNqZC48L3NpdGVtPgorCQkJPHNpdGVtPjE5OTctMTItMDE6IFVwZGF0ZSBmb3IgZWRpdG9yaWFsIGlzc3VlcyBwZXIgaXNzdWVzIGRvYyBpbiBwcmVwYXJhdGlvbiBmb3IgRjJGIG1lZXRpbmcsIGJ5IHNqZC48L3NpdGVtPgorCQkJPHNpdGVtPjE5OTgtMDEtMTM6IEVkaXRvcmlhbCBjbGVhbnVwLCBhZGRpdGlvbiBvZiBuZXcgZGVzaWduIHByaW5jaXBsZXMsIGJ5IGVsbS48L3NpdGVtPgorCQkJPHNpdGVtPjE5OTgtMDItMjc6IFNwbGl0dGluZyBvdXQgb2YgWExpbmsgYW5kIFhQb2ludGVyLCBieSBlbG0uPC9zaXRlbT4KKwkJCTxzaXRlbT4xOTk4LTAzLTAzOiBNb3ZlZCBtb3N0IG9mIHRoZSBYUG9pbnRlciBsb2NhdG9yIHN0dWZmIGhlcmUuIGVsbTwvc2l0ZW0+CisJCQk8c2l0ZW0+MTk5OS0wNC0yNDogRWRpdG9yaWFsIHJld3JpdGVzIHRvIHJlcHJlc2VudCBuZXcgaWRlYXMgb24gWExpbmssIGVzcGVjaWFsbHkgdGhlIGluY2x1c2lvbiBvZiBhcmNzLiBiZW50PC9zaXRlbT4KKwkJCTxzaXRlbT4xOTk5LTA1LTA1OiBQcm9zZS9vcmdhbml6YXRpb24gd29yayBieSBkb3JjaGFyZC4gTW92ZWQgbXVjaCBvZiB0aGUgc2VtYW50aWNzIHNlY3Rpb24gYXJvdW5kLCBmcm9tOiBsb2NhdG9ycywgbGluayBzZW1hbnRpY3MsIHJlbW90ZSByZXNvdXJjZSBzZW1hbnRpY3MsIGxvY2FsIHJlc291cmNlIHNlbWFudGljczsgdG86IHJlc291cmNlIHNlbWFudGljcywgbG9jYXRvcnMsIGJlaGF2aW9yIHNlbWFudGljcywgbGluayBzZW1hbnRpY3MsIGFyYyBzZW1hbnRpY3M8L3NpdGVtPgorCQkJPHNpdGVtPjE5OTktMDUtMTI6IFByb3NlL29yZ2FuaXphdGlvbiB3b3JrLiBSZS1vcmdhbml6ZWQgc29tZSBvZiB0aGUgc2VjdGlvbnMsIHJlbW92ZWQgWE1MIGNvbnN0cnVjdHMgZnJvbSB0aGUgZG9jdW1lbnQsIGFkZGVkIGRlc2NyaXB0aXZlIHByb3NlLCBlZGl0ZWQgZG9jdW1lbnQgdGV4dCBmb3IgY2xhcml0eS4gUmV3cm90ZSB0aGUgbGluayByZWNvZ25pdGlvbiBzZWN0aW9uLiBiZW50PC9zaXRlbT4KKwkJCTxzaXRlbT4xOTk5LTA1LTE3OiBGdXJ0aGVyIHByb3NlIHdvcmsuIEFkZGVkIG5vbi1ub3JtYXRpdmUgZXhhbXBsZXMuIENsYXJpZmllZCBhcmNzLiBiZW50PC9zaXRlbT4KKwkJCTxzaXRlbT4xOTk5LTA1LTIzOiBFZGl0ZWQgZm9yIGdyYW1tYXIgYW5kIGNsYXJpdHkuIGJlbnQ8L3NpdGVtPgorCQkJPHNpdGVtPjE5OTktMDUtMjc6IEZpbmFsIG9uY2Utb3ZlciBiZWZvcmUgc2VuZGluZyB0byBncm91cC4gRml4ZWQgc2pkJ3MgZW1haWwgYWRkcmVzcy4gYmVudDwvc2l0ZW0+CisJCTwvc2xpc3Q+CisJPC9yZXZpc2lvbmRlc2M+Cis8L2hlYWRlcj4KKworPGJvZHk+CisJPGRpdjE+PD9QdWIgRHRsPz4KKwkJPGhlYWQ+SW50cm9kdWN0aW9uPC9oZWFkPgorCQk8cD5UaGlzIHNwZWNpZmljYXRpb24gZGVmaW5lcyBjb25zdHJ1Y3RzIHRoYXQgbWF5IGJlIGluc2VydGVkIGludG8gWE1MIERURHMsIHNjaGVtYXMsIGFuZCBkb2N1bWVudCBpbnN0YW5jZXMgdG8gZGVzY3JpYmUgbGlua3MgYmV0d2VlbiBvYmplY3RzLiBBIDx0ZXJtcmVmIGRlZj0iZHQtbGluayI+bGluazwvdGVybXJlZj4sIGFzIHRoZSB0ZXJtIGlzIHVzZWQgaGVyZSwgaXMgYW4gZXhwbGljaXQgcmVsYXRpb25zaGlwIGJldHdlZW4gdHdvIG9yIG1vcmUgZGF0YSBvYmplY3RzIG9yIHBvcnRpb25zIG9mIGRhdGEgb2JqZWN0cy4gVGhpcyBzcGVjaWZpY2F0aW9uIGlzIGNvbmNlcm5lZCB3aXRoIHRoZSBzeW50YXggdXNlZCB0byBhc3NlcnQgbGluayBleGlzdGVuY2UgYW5kIGRlc2NyaWJlIGxpbmsgY2hhcmFjdGVyaXN0aWNzLiBJbXBsaWNpdCAodW5hc3NlcnRlZCkgcmVsYXRpb25zaGlwcywgZm9yIGV4YW1wbGUgdGhhdCBvZiBvbmUgd29yZCB0byB0aGUgbmV4dCBvciB0aGF0IG9mIGEgd29yZCBpbiBhIHRleHQgdG8gaXRzIGVudHJ5IGluIGFuIG9uLWxpbmUgZGljdGlvbmFyeSBhcmUgb2J2aW91c2x5IGltcG9ydGFudCwgYnV0IG91dHNpZGUgaXRzIHNjb3BlLjwvcD4KKwkJPHA+TGlua3MgYXJlIGFzc2VydGVkIGJ5IDx4dGVybXJlZiBocmVmPSJXRC14bWwtbGFuZy5odG1sI2R0LWVsZW1lbnQiPmVsZW1lbnRzIDwveHRlcm1yZWY+IGNvbnRhaW5lZCBpbiA8eHRlcm1yZWYgaHJlZj0iV0QteG1sLWxhbmcuaHRtbCNkdC14bWwtZG9jIj5YTUwgZG9jdW1lbnQgaW5zdGFuY2VzPC94dGVybXJlZj4uIFRoZSBzaW1wbGVzdCBjYXNlIGlzIHZlcnkgbGlrZSBhbiBIVE1MIDxjb2RlPkE8L2NvZGU+IGxpbmssIGFuZCBoYXMgdGhlc2UgY2hhcmFjdGVyaXN0aWNzOgorCQkJPHVsaXN0PgorCQkJCTxpdGVtPjxwPlRoZSBsaW5rIGlzIGV4cHJlc3NlZCBhdCBvbmUgb2YgaXRzIGVuZHMgKHNpbWlsYXIgdG8gdGhlIDxjb2RlPkE8L2NvZGU+IGVsZW1lbnQgaW4gc29tZSBkb2N1bWVudCk8L3A+PC9pdGVtPgorCQkJCTxpdGVtPjxwPlVzZXJzIGNhbiBvbmx5IGluaXRpYXRlIHRyYXZlbCBmcm9tIHRoYXQgZW5kIHRvIHRoZSBvdGhlcjwvcD48L2l0ZW0+CisJCQkJPGl0ZW0+PHA+VGhlIGxpbmsncyBlZmZlY3Qgb24gd2luZG93cywgZnJhbWVzLCBnby1iYWNrIGxpc3RzLCBzdHlsZXNoZWV0cyBpbiB1c2UsIGFuZCBzbyBvbiBpcyBtYWlubHkgZGV0ZXJtaW5lZCBieSBicm93c2Vycywgbm90IGJ5IHRoZSBsaW5rIGl0c2VsZi4gRm9yIGV4YW1wbGUsIHRyYXZlcmFsIG9mIDxjb2RlPkE8L2NvZGU+IGxpbmtzIG5vcm1hbGx5IHJlcGxhY2VzIHRoZSBjdXJyZW50IHZpZXcsIHBlcmhhcHMgd2l0aCBhIHVzZXIgb3B0aW9uIHRvIG9wZW4gYSBuZXcgd2luZG93LjwvcD48L2l0ZW0+CisJCQkJPGl0ZW0+PHA+VGhlIGxpbmsgZ29lcyB0byBvbmx5IG9uZSBkZXN0aW5hdGlvbiAoYWx0aG91Z2ggYSBzZXJ2ZXIgbWF5IGhhdmUgZ3JlYXQgZnJlZWRvbSBpbiBmaW5kaW5nIG9yIGR5bmFtaWNhbGx5IGNyZWF0aW5nIHRoYXQgZGVzdGluYXRpb24pLjwvcD48L2l0ZW0+CisJCQk8L3VsaXN0PgorCQk8L3A+CisJCTxwPldoaWxlIHRoaXMgc2V0IG9mIGNoYXJhY3RlcmlzdGljcyBpcyBhbHJlYWR5IHZlcnkgcG93ZXJmdWwgYW5kIG9idmlvdXNseSBoYXMgcHJvdmVuIGl0c2VsZiBoaWdobHkgdXNlZnVsIGFuZCBlZmZlY3RpdmUsIGVhY2ggb2YgdGhlc2UgYXNzdW1wdGlvbnMgYWxzbyBsaW1pdHMgdGhlIHJhbmdlIG9mIGh5cGVydGV4dCBmdW5jdGlvbmFsaXR5LiBUaGUgbGlua2luZyBtb2RlbCBkZWZpbmVkIGhlcmUgcHJvdmlkZXMgd2F5cyB0byBjcmVhdGUgbGlua3MgdGhhdCBnbyBiZXlvbmQgZWFjaCBvZiB0aGVzZSBzcGVjaWZpYyBjaGFyYWN0ZXJpc3RpY3MsIHRodXMgcHJvdmlkaW5nIGZlYXR1cmVzIHByZXZpb3VzbHkgYXZhaWxhYmxlIG1vc3RseSBpbiBkZWRpY2F0ZWQgaHlwZXJtZWRpYSBzeXN0ZW1zLgorCQk8L3A+CisKKzxkaXYyPgorCTxoZWFkPk9yaWdpbiBhbmQgR29hbHM8L2hlYWQ+CisJPHA+Rm9sbG93aW5nIGlzIGEgc3VtbWFyeSBvZiB0aGUgZGVzaWduIHByaW5jaXBsZXMgZ292ZXJuaW5nIFhMaW5rOgorCQk8b2xpc3Q+CisJCQk8aXRlbT48cD5YTGluayBtdXN0IGJlIHN0cmFpZ2h0Zm9yd2FyZGx5IHVzYWJsZSBvdmVyIHRoZSBJbnRlcm5ldC4gPC9wPjwvaXRlbT4KKwkJCTxpdGVtPjxwPlhMaW5rIG11c3QgYmUgdXNhYmxlIGJ5IGEgd2lkZSB2YXJpZXR5IG9mIGxpbmsgdXNhZ2UgZG9tYWlucyBhbmQgY2xhc3NlcyBvZiBsaW5raW5nIGFwcGxpY2F0aW9uIHNvZnR3YXJlLjwvcD48L2l0ZW0+CisJCQk8aXRlbT48cD5YTGluayBtdXN0IHN1cHBvcnQgSFRNTCA0LjAgbGlua2luZyBjb25zdHJ1Y3RzLjwvcD48L2l0ZW0+CisJCQk8aXRlbT48cD5UaGUgWExpbmsgZXhwcmVzc2lvbiBsYW5ndWFnZSBtdXN0IGJlIFhNTC48L3A+PC9pdGVtPgorCQkJPGl0ZW0+PHA+VGhlIFhMaW5rIGRlc2lnbiBtdXN0IGJlIGZvcm1hbCwgY29uY2lzZSwgYW5kIGlsbHVzdHJhdGl2ZS48L3A+PC9pdGVtPgorCQkJPGl0ZW0+PHA+WExpbmtzIG11c3QgYmUgaHVtYW4tcmVhZGFibGUgYW5kIGh1bWFuLXdyaXRhYmxlLjwvcD48L2l0ZW0+CisJCQk8aXRlbT48cD5YTGlua3MgbWF5IHJlc2lkZSB3aXRoaW4gb3Igb3V0c2lkZSB0aGUgZG9jdW1lbnRzIGluIHdoaWNoIHRoZQorCQkJcGFydGljaXBhdGluZyByZXNvdXJjZXMgcmVzaWRlLiA8L3A+PC9pdGVtPgorCQkJPGl0ZW0+PHA+WExpbmsgbXVzdCByZXByZXNlbnQgdGhlIGFic3RyYWN0IHN0cnVjdHVyZSBhbmQgc2lnbmlmaWNhbmNlIG9mIGxpbmtzLjwvcD48L2l0ZW0+CisJCQk8aXRlbT48cD5YTGluayBtdXN0IGJlIGZlYXNpYmxlIHRvIGltcGxlbWVudC48L3A+PC9pdGVtPgorCQkJPGl0ZW0+PHA+WExpbmsgbXVzdCBiZSBpbmZvcm1lZCBieSBrbm93bGVkZ2Ugb2YgZXN0YWJsaXNoZWQgaHlwZXJtZWRpYSBzeXN0ZW1zIGFuZCBzdGFuZGFyZHMuPC9wPjwvaXRlbT4KKwkJPC9vbGlzdD4KKwk8L3A+Cis8L2RpdjI+Cis8IS0tQ2hhbmdlZCB0aGUgbGlzdCBvZiByZXF1aXJlbWVudHMgdG8gcmVmbGVjdCBjdXJyZW50IFhMaW5rIHJlcXVpcmVtZW50cworZG9jdW1lbnQuIGJlbnQtLT4KKworPGRpdjI+CisJPGhlYWQ+UmVsYXRpb25zaGlwIHRvIEV4aXN0aW5nIFN0YW5kYXJkczwvaGVhZD4KKwk8cD5UaHJlZSBzdGFuZGFyZHMgaGF2ZSBiZWVuIGVzcGVjaWFsbHkgaW5mbHVlbnRpYWw6CisJCTx1bGlzdD4KKwkJCTxpdGVtPjxwPjxlbXBoPkhUTUw6PC9lbXBoPiBEZWZpbmVzIHNldmVyYWwgU0dNTCBlbGVtZW50IHR5cGVzIHRoYXQgcmVwcmVzZW50IGxpbmtzLjwvcD48L2l0ZW0+CisJCQk8aXRlbT48cD48ZW1waD5IeVRpbWU6PC9lbXBoPiBEZWZpbmVzIGlubGluZSBhbmQgb3V0LW9mLWxpbmUgbGluayBzdHJ1Y3R1cmVzIGFuZCBzb21lIHNlbWFudGljIGZlYXR1cmVzLCBpbmNsdWRpbmcgdHJhdmVyc2FsIGNvbnRyb2wgYW5kIHByZXNlbnRhdGlvbiBvZiBvYmplY3RzLiA8IS0tQ2hhbmdlZCBmcm9tICJwbGFjZW1lbnQgb2Ygb2JqZWN0cyBpbnRvIGEgZGlzcGxheSBvciBvdGhlciBzcGFjZSIgLWVsbS0tPgorCQkJPC9wPjwvaXRlbT4KKwkJCTxpdGVtPjxwPjxlbXBoPlRleHQgRW5jb2RpbmcgSW5pdGlhdGl2ZSBHdWlkZWxpbmVzIChURUkgUDMpOjwvZW1waD4gUHJvdmlkZXMgc3RydWN0dXJlcyBmb3IgY3JlYXRpbmcgbGlua3MsIGFnZ3JlZ2F0ZSBvYmplY3RzLCBhbmQgbGluayBjb2xsZWN0aW9ucyBvdXQgb2YgdGhlbS48L3A+PC9pdGVtPgorCQk8L3VsaXN0PgorCTwvcD4KKwk8cD5NYW55IG90aGVyIGxpbmtpbmcgc3lzdGVtcyBoYXZlIGFsc28gaW5mb3JtZWQgdGhpcyBkZXNpZ24sIGVzcGVjaWFsbHkgRGV4dGVyLCBGUkVTUywgTWljcm9Db3NtLCBhbmQgSW50ZXJNZWRpYS48L3A+Cis8L2RpdjI+CisKKzxkaXYyPgorCTxoZWFkPlRlcm1pbm9sb2d5PC9oZWFkPgorCTxwPlRoZSBmb2xsb3dpbmcgYmFzaWMgdGVybXMgYXBwbHkgaW4gdGhpcyBkb2N1bWVudC4gPCEtLTxJTUcKKwlTUkM9ImxvY2FsOi8vLi9saW5rZGlhZy5naWYiPihmaWd1cmUgdG8gYmUgaW5zZXJ0ZWQpLS0+CisJCTxnbGlzdD4KKwkJCTxnaXRlbT4KKwkJCTxsYWJlbD48dGVybWRlZiBpZD0iZHQtYXJjIiB0ZXJtPSJBcmMiPmFyYzwvdGVybWRlZj48L2xhYmVsPgorCQkJPGRlZj48cD5BIHN5bWJvbGljIHJlcHJlc2VudGF0aW9uIG9mIHRyYXZlcnNhbCBiZWhhdmlvciBpbiBsaW5rcywgZXNwZWNpYWxseSB0aGUgZGlyZWN0aW9uLCBjb250ZXh0IGFuZCB0aW1pbmcgb2YgdHJhdmVyc2FsLjwvcD48L2RlZj4KKwkJCTwvZ2l0ZW0+CisJCQk8Z2l0ZW0+CisJCQkJPGxhYmVsPjx0ZXJtZGVmIGlkPSJkdC1lbHRyZWUiIHRlcm09IkVsZW1lbnQgVHJlZSI+ZWxlbWVudCB0cmVlPC90ZXJtZGVmPjwvbGFiZWw+CisJCQkJPGRlZj48cD5BIHJlcHJlc2VudGF0aW9uIG9mIHRoZSByZWxldmFudCBzdHJ1Y3R1cmUgc3BlY2lmaWVkIGJ5IHRoZSB0YWdzIGFuZCBhdHRyaWJ1dGVzIGluIGFuIFhNTCBkb2N1bWVudCwgYmFzZWQgb24gImdyb3ZlcyIgYXMgZGVmaW5lZCBpbiB0aGUgSVNPIERTU1NMIHN0YW5kYXJkLiA8L3A+PC9kZWY+CisJCQk8L2dpdGVtPgorCQkJPGdpdGVtPgorCQkJCTxsYWJlbD48dGVybWRlZiBpZD0iZHQtaW5saW5lIiB0ZXJtPSJJbi1MaW5lIExpbmsiPmlubGluZSBsaW5rPC90ZXJtZGVmPjwvbGFiZWw+CisJCQkJPGRlZj48cD5BYnN0cmFjdGx5LCBhIDx0ZXJtcmVmIGRlZj0iZHQtbGluayI+bGluazwvdGVybXJlZj4gd2hpY2ggc2VydmVzIGFzIG9uZSBvZiBpdHMgb3duIDx0ZXJtcmVmIGRlZj0iZHQtcmVzb3VyY2UiPnJlc291cmNlczwvdGVybXJlZj4uIENvbmNyZXRlbHksIGEgbGluayB3aGVyZSB0aGUgY29udGVudCBvZiB0aGUgPHRlcm1yZWYgZGVmPSJkdC1saW5rZWwiPmxpbmtpbmcJZWxlbWVudDwvdGVybXJlZj4gc2VydmVzIGFzIGEgPHRlcm1yZWYgZGVmPSJkdC1wYXJ0aWNpcC1yZXNvdXJjZSI+cGFydGljaXBhdGluZyByZXNvdXJjZTwvdGVybXJlZj4uCisJCQkJSFRNTCA8Y29kZT5BPC9jb2RlPiwgSHlUaW1lIDxjb2RlPmNsaW5rPC9jb2RlPiwgYW5kIFRFSQk8Y29kZT5YUkVGPC9jb2RlPgorCQkJCWFyZSBhbGwgaW5saW5lIGxpbmtzLjwvcD48L2RlZj4KKwkJCTwvZ2l0ZW0+CisJCQk8Z2l0ZW0+CisJCQkJPGxhYmVsPjx0ZXJtZGVmIGlkPSJkdC1saW5rIiB0ZXJtPSJMaW5rIj5saW5rPC90ZXJtZGVmPjwvbGFiZWw+CisJCQkJPGRlZj48cD5BbiBleHBsaWNpdCByZWxhdGlvbnNoaXAgYmV0d2VlbiB0d28gb3IgbW9yZSBkYXRhIG9iamVjdHMgb3IgcG9ydGlvbnMgb2YgZGF0YSBvYmplY3RzLjwvcD48L2RlZj4KKwkJCTwvZ2l0ZW0+CisJCQk8Z2l0ZW0+CisJCQkJPGxhYmVsPjx0ZXJtZGVmIGlkPSJkdC1saW5rZWwiIHRlcm09IkxpbmtpbmcgRWxlbWVudCI+bGlua2luZyBlbGVtZW50IDwvdGVybWRlZj48L2xhYmVsPgorCQkJCTxkZWY+PHA+QW4gPHh0ZXJtcmVmIGhyZWY9IldELXhtbC1sYW5nLmh0bWwjZHQtZWxlbWVudCI+ZWxlbWVudDwveHRlcm1yZWY+IHRoYXQgYXNzZXJ0cyB0aGUgZXhpc3RlbmNlIGFuZCBkZXNjcmliZXMgdGhlIGNoYXJhY3RlcmlzdGljcyBvZiBhIDx0ZXJtcmVmIGRlZj0iZHQtbGluayI+IGxpbms8L3Rlcm1yZWY+LjwvcD48L2RlZj4KKwkJCTwvZ2l0ZW0+CisJCQk8Z2l0ZW0+CisJCQkJPGxhYmVsPjx0ZXJtZGVmIGlkPSJkdC1sb2NhbC1yZXNvdXJjZSIgdGVybT0iTG9jYWwgUmVzb3VyY2UiPmxvY2FsIHJlc291cmNlPC90ZXJtZGVmPjwvbGFiZWw+CisJCQkJPGRlZj48cD5UaGUgY29udGVudCBvZiBhbiA8dGVybXJlZiBkZWY9ImR0LWlubGluZSI+aW5saW5lPC90ZXJtcmVmPmxpbmtpbmcgZWxlbWVudC4gTm90ZSB0aGF0IHRoZSBjb250ZW50IG9mIHRoZSBsaW5raW5nIGVsZW1lbnQgY291bGQgYmUgZXhwbGljaXRseSBwb2ludGVkIHRvIGJ5IG1lYW5zIG9mIGEgcmVndWxhciA8dGVybXJlZiBkZWY9ImR0LWxvY2F0b3IiPmxvY2F0b3I8L3Rlcm1yZWY+IGluIHRoZSBzYW1lIGxpbmtpbmcgZWxlbWVudCwgaW4gd2hpY2ggY2FzZSB0aGUgcmVzb3VyY2UgaXMgY29uc2lkZXJlZCA8dGVybXJlZiBkZWY9ImR0LXJlbW90ZS1yZXNvdXJjZSI+IHJlbW90ZTwvdGVybXJlZj4sIG5vdCBsb2NhbC48L3A+PC9kZWY+CisJCQk8L2dpdGVtPgorCQkJPGdpdGVtPgorCQkJCTxsYWJlbD48dGVybWRlZiBpZD0iZHQtbG9jYXRvciIgdGVybT0iTG9jYXRvciI+bG9jYXRvcjwvdGVybWRlZj4gPC9sYWJlbD4KKwkJCQk8ZGVmPjxwPkRhdGEsIHByb3ZpZGVkIGFzIHBhcnQgb2YgYSBsaW5rLCB3aGljaCBpZGVudGlmaWVzIGEKKwkJCQk8dGVybXJlZiBkZWY9ImR0LXJlc291cmNlIj5yZXNvdXJjZTwvdGVybXJlZj4uPC9wPjwvZGVmPgorCQkJPC9naXRlbT4KKwkJCTxnaXRlbT4KKwkJCQk8bGFiZWw+PHRlcm1kZWYgaWQ9ImR0LW11bHRpZGlyIiB0ZXJtPSJNdWx0aS1EaXJlY3Rpb25hbCBMaW5rIj5tdWx0aWRpcmVjdGlvbmFsIGxpbms8L3Rlcm1kZWY+PC9sYWJlbD4KKwkJCQk8ZGVmPjxwPkEgPHRlcm1yZWYgZGVmPSJkdC1saW5rIj5saW5rPC90ZXJtcmVmPiB3aG9zZSA8dGVybXJlZiBkZWY9ImR0LXRyYXZlcnNhbCI+IHRyYXZlcnNhbDwvdGVybXJlZj4gY2FuIGJlIGluaXRpYXRlZCBmcm9tIG1vcmUgdGhhbiBvbmUgb2YgaXRzIDx0ZXJtcmVmCWRlZj0iZHQtcGFydGljaXAtcmVzb3VyY2UiPiBwYXJ0aWNpcGF0aW5nIHJlc291cmNlczwvdGVybXJlZj4uIE5vdGUgdGhhdCBiZWluZyBhYmxlIHRvICJnbyBiYWNrIiBhZnRlciBmb2xsb3dpbmcgYSBvbmUtZGlyZWN0aW9uYWwgbGluayBkb2VzIG5vdCBtYWtlIHRoZSBsaW5rIG11bHRpZGlyZWN0aW9uYWwuPC9wPjwvZGVmPgorCQkJPC9naXRlbT4KKwkJCTxnaXRlbT4KKwkJCQk8bGFiZWw+PHRlcm1kZWYgaWQ9ImR0LW91dG9mbGluZSIgdGVybT0iT3V0LW9mLWxpbmUgTGluayI+b3V0LW9mLWxpbmUgbGluazwvdGVybWRlZj48L2xhYmVsPgorCQkJCTxkZWY+PHA+QSA8dGVybXJlZiBkZWY9ImR0LWxpbmsiPmxpbms8L3Rlcm1yZWY+IHdob3NlIGNvbnRlbnQgZG9lcyBub3Qgc2VydmUgYXMgb25lIG9mIHRoZSBsaW5rJ3MgPHRlcm1yZWYgZGVmPSJkdC1wYXJ0aWNpcC1yZXNvdXJjZSI+cGFydGljaXBhdGluZyByZXNvdXJjZXMgPC90ZXJtcmVmPi4gU3VjaCBsaW5rcyAJCQkJCQlwcmVzdXBwb3NlIGEgbm90aW9uIGxpa2UgPHRlcm1yZWYgZGVmPSJkdC14bGciPmV4dGVuZGVkIGxpbmsgZ3JvdXBzPC90ZXJtcmVmPiwgd2hpY2ggaW5zdHJ1Y3QgYXBwbGljYXRpb24gc29mdHdhcmUgd2hlcmUgdG8gbG9vayBmb3IgbGlua3MuIE91dC1vZi1saW5lIGxpbmtzIGFyZSBnZW5lcmFsbHkgcmVxdWlyZWQgZm9yIHN1cHBvcnRpbmcgbXVsdGlkaXJlY3Rpb25hbCA8dGVybXJlZiBkZWY9ImR0LXRyYXZlcnNhbCI+dHJhdmVyc2FsPC90ZXJtcmVmPiBhbmQgZm9yIGFsbG93aW5nIHJlYWQtb25seSByZXNvdXJjZXMgdG8gaGF2ZSBvdXRnb2luZyBsaW5rcy48L3A+PC9kZWY+CisJCQk8L2dpdGVtPgorCQkJPGdpdGVtPgorCQkJCTxsYWJlbD48dGVybWRlZiBpZD0iZHQtcGFyc2VkcSIgdGVybT0iUGFyc2VkIj5wYXJzZWQ8L3Rlcm1kZWY+PC9sYWJlbD4gPGRlZj48cD5JbiB0aGUgY29udGV4dCBvZiBsaW5rIGJlaGF2aW9yLCBhIHBhcnNlZCBsaW5rIGlzIGFueSBsaW5rCQkJd2hvc2UgY29udGVudCBpcyB0cmFuc2NsdWRlZCBpbnRvIHRoZSBkb2N1bWVudCB3aGVyZSB0aGUgbGluayBvcmlnaW5hdGVkLiBUaGUJdXNlIG9mIHRoZSB0ZXJtICJwYXJzZWQiIGRpcmVjdGx5IHJlZmVycyB0byB0aGUgY29uY2VwdCBpbiBYTUwgb2YgYQorCQkJCXBhcnNlZCBlbnRpdHkuPC9wPjwvZGVmPgorCQkJPC9naXRlbT4KKwkJCTxnaXRlbT4KKwkJCQk8bGFiZWw+PHRlcm1kZWYgaWQ9ImR0LXBhcnRpY2lwLXJlc291cmNlIiB0ZXJtPSJQYXJ0aWNpcGF0aW5nIFJlc291cmNlIj4gcGFydGljaXBhdGluZyByZXNvdXJjZTwvdGVybWRlZj48L2xhYmVsPgorCQkJCTxkZWY+PHA+QSA8dGVybXJlZiBkZWY9ImR0LXJlc291cmNlIj5yZXNvdXJjZTwvdGVybXJlZj4gdGhhdCBiZWxvbmdzIHRvIGEgbGluay4gQWxsIHJlc291cmNlcyBhcmUgcG90ZW50aWFsIGNvbnRyaWJ1dG9ycyB0byBhIGxpbms7IHBhcnRpY2lwYXRpbmcJcmVzb3VyY2VzIGFyZSB0aGUgYWN0dWFsIGNvbnRyaWJ1dG9ycyB0byBhIHBhcnRpY3VsYXIgbGluay48L3A+PC9kZWY+CisJCQk8L2dpdGVtPgorCQkJPGdpdGVtPgorCQkJCTxsYWJlbD48dGVybWRlZiBpZD0iZHQtcmVtb3RlLXJlc291cmNlIiB0ZXJtPSJSZW1vdGUgUmVzb3VyY2UiPnJlbW90ZSByZXNvdXJjZTwvdGVybWRlZj48L2xhYmVsPgorCQkJCTxkZWY+PHA+QW55IHBhcnRpY2lwYXRpbmcgcmVzb3VyY2Ugb2YgYSBsaW5rIHRoYXQgaXMgcG9pbnRlZCB0byB3aXRoIGEgbG9jYXRvci4gPC9wPjwvZGVmPgorCQkJPC9naXRlbT4KKwkJCTxnaXRlbT4KKwkJCQk8bGFiZWw+PHRlcm1kZWYgaWQ9ImR0LXJlc291cmNlIiB0ZXJtPSJSZXNvdXJjZSI+cmVzb3VyY2U8L3Rlcm1kZWY+PC9sYWJlbD4KKwkJCQk8ZGVmPjxwPkluIHRoZSBhYnN0cmFjdCBzZW5zZSwgYW4gYWRkcmVzc2FibGUgdW5pdCBvZiBpbmZvcm1hdGlvbiBvciBzZXJ2aWNlIHRoYXQgaXMgcGFydGljaXBhdGluZyBpbiBhIDx0ZXJtcmVmIGRlZj0iZHQtbGluayI+bGluazwvdGVybXJlZj4uIEV4YW1wbGVzIGluY2x1ZGUgZmlsZXMsIGltYWdlcywgZG9jdW1lbnRzLCBwcm9ncmFtcywgYW5kIHF1ZXJ5IHJlc3VsdHMuIENvbmNyZXRlbHksIGFueXRoaW5nIHJlYWNoYWJsZSBieSB0aGUgdXNlIG9mIGEgPHRlcm1yZWYgZGVmPSJkdC1sb2NhdG9yIj5sb2NhdG9yPC90ZXJtcmVmPiBpbiBzb21lIDx0ZXJtcmVmIGRlZj0iZHQtbGlua2VsIj5saW5raW5nCWVsZW1lbnQ8L3Rlcm1yZWY+LiBOb3RlIHRoYXQgdGhpcyB0ZXJtIGFuZCBpdHMgZGVmaW5pdGlvbiBhcmUgdGFrZW4gZnJvbSB0aGUgYmFzaWMgc3BlY2lmaWNhdGlvbnMgZ292ZXJuaW5nIHRoZSBXb3JsZCBXaWRlIFdlYi4gPCEtLUpvZWwgbm90ZXM6IG5lZWQgbGluayBoZXJlLiBiZW50IGFza3M6IEEgbGluaz8tLT4KKwkJCQkgPC9wPjwvZGVmPgorCQkJPC9naXRlbT4KKwkJCTxnaXRlbT4KKwkJCQk8bGFiZWw+PHRlcm1kZWYgaWQ9ImR0LXN1YnJlc291cmNlIiB0ZXJtPSJzdWItUmVzb3VyY2UiPnN1Yi1yZXNvdXJjZTwvdGVybWRlZj48L2xhYmVsPgorCQkJCTxkZWY+PHA+QSBwb3J0aW9uIG9mIGEgcmVzb3VyY2UsIHBvaW50ZWQgdG8gYXMgdGhlIHByZWNpc2UJZGVzdGluYXRpb24gb2YgYSBsaW5rLiBBcyBvbmUgZXhhbXBsZSwgYSBsaW5rIG1pZ2h0IHNwZWNpZnkgdGhhdCBhbiBlbnRpcmUJZG9jdW1lbnQgYmUgcmV0cmlldmVkIGFuZCBkaXNwbGF5ZWQsIGJ1dCB0aGF0IHNvbWUgc3BlY2lmaWMgcGFydChzKSBvZiBpdCBpcyB0aGUgc3BlY2lmaWMgbGlua2VkIGRhdGEsIHRvIGJlIHRyZWF0ZWQgaW4gYW4gYXBwbGljYXRpb24tYXBwcm9wcmlhdGUgbWFubmVyIHN1Y2ggYXMgaW5kaWNhdGlvbiBieSBoaWdobGlnaHRpbmcsIHNjcm9sbGluZywgZXRjLjwvcD48L2RlZj4KKwkJCTwvZ2l0ZW0+CisJCQk8Z2l0ZW0+CisJCQkJPGxhYmVsPjx0ZXJtZGVmIGlkPSJkdC10cmF2ZXJzYWwiIHRlcm09IlRyYXZlcnNhbCI+dHJhdmVyc2FsPC90ZXJtZGVmPjwvbGFiZWw+CisJCQkJPGRlZj48cD5UaGUgYWN0aW9uIG9mIHVzaW5nIGEgPHRlcm1yZWYgZGVmPSJkdC1saW5rIj5saW5rPC90ZXJtcmVmPjsgdGhhdCBpcywgb2YgYWNjZXNzaW5nIGEgPHRlcm1yZWYgZGVmPSJkdC1yZXNvdXJjZSI+cmVzb3VyY2U8L3Rlcm1yZWY+LiBUcmF2ZXJzYWwgbWF5IGJlIGluaXRpYXRlZCBieSBhIHVzZXIgYWN0aW9uIChmb3IgZXhhbXBsZSwgY2xpY2tpbmcgb24gdGhlIGRpc3BsYXllZCBjb250ZW50IG9mIGEgPHRlcm1yZWYgZGVmPSJkdC1saW5rZWwiPmxpbmtpbmcgZWxlbWVudDwvdGVybXJlZj4pIG9yIG9jY3VyIHVuZGVyIHByb2dyYW0gY29udHJvbC48L3A+PC9kZWY+CisJCQk8L2dpdGVtPgorCQk8L2dsaXN0PgorCTwvcD4KKzwvZGl2Mj4KKworPGRpdjI+CisJPGhlYWQ+Tm90YXRpb248L2hlYWQ+CisJPHA+VGhlIGZvcm1hbCBncmFtbWFyIGZvciA8dGVybXJlZiBkZWY9ImR0LWxvY2F0b3IiPmxvY2F0b3JzPC90ZXJtcmVmPiBpcyBnaXZlbiB1c2luZyBhIHNpbXBsZSBFeHRlbmRlZCBCYWNrdXMtTmF1ciBGb3JtIChFQk5GKSBsb2NhdGlvbiwgYXMgZGVzY3JpYmVkIGluIDx4c3BlY3JlZiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMteG1sI3NlYy1ub3RhdGlvbiI+dGhlIFhNTCBzcGVjaWZpY2F0aW9uPC94c3BlY3JlZj4uPC9wPgorCTwhLS0gZml4ZWQgbGluayB0byBYTUwgc3BlYyAtIGJlbnQgLS0+Cis8L2RpdjI+Cis8L2RpdjE+CisKKzxkaXYxIGlkPSJhZGRyZXNzaW5nIj48P1B1YiBEdGw/PgorCTxoZWFkPkxvY2F0b3IgU3ludGF4PC9oZWFkPgorCTxwPlRoZSBsb2NhdG9yIGZvciBhIDx0ZXJtcmVmIGRlZj0iZHQtcmVzb3VyY2UiPnJlc291cmNlPC90ZXJtcmVmPiBpcyB0eXBpY2FsbHkgcHJvdmlkZWQgYnkgbWVhbnMgb2YgYSBVbmlmb3JtIFJlc291cmNlIElkZW50aWZpZXIsIG9yIFVSSS4gWFBvaW50ZXJzIGNhbiBiZSB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlIFVSSSBzdHJ1Y3R1cmUsIGFzIGZyYWdtZW50IGlkZW50aWZpZXJzLCB0byBzcGVjaWZ5IGEgbW9yZSBwcmVjaXNlIHN1Yi1yZXNvdXJjZS4gPC9wPgorCTwhLS0gUmVtb3ZlZCB0aGUgZGlzY3Vzc2lvbiBvZiBxdWVyaWVzIGZyb20gdGhlIHByZXZpb3VzIHBhcmFncmFwaCwgZHVlIHRvIGNvbnRlbnRpb24gd2l0aGluIHRoZSBXRy4gYmVudCAtLT4KKwk8cD5BIGxvY2F0b3IgZ2VuZXJhbGx5IGNvbnRhaW5zIGEgVVJJLCBhcyBkZXNjcmliZWQgaW4gSUVURiBSRkNzIDxiaWJyZWYgcmVmPSJyZmMxNzM4Ii8+IGFuZCA8YmlicmVmIHJlZj0icmZjMTgwOCIvPi4gQXMgdGhlc2UgUkZDcyBzdGF0ZSwgdGhlIFVSSSBtYXkgaW5jbHVkZSBhIHRyYWlsaW5nIDxlbXBoPnF1ZXJ5PC9lbXBoPiAobWFya2VkIGJ5IGEgbGVhZGluZyAiPGNvZGU+PzwvY29kZT4iKSwgYW5kIGJlIGZvbGxvd2VkIGJ5IGEgIjxjb2RlPiM8L2NvZGU+IiBhbmQgYSA8ZW1waD5mcmFnbWVudCBpZGVudGlmaWVyPC9lbXBoPiwgd2l0aCB0aGUgcXVlcnkgaW50ZXJwcmV0ZWQgYnkgdGhlIGhvc3QgcHJvdmlkaW5nIHRoZSBpbmRpY2F0ZWQgcmVzb3VyY2UsIGFuZCB0aGUgaW50ZXJwcmV0YXRpb24gb2YgdGhlIGZyYWdtZW50IGlkZW50aWZpZXIgZGVwZW5kZW50IG9uIHRoZSBkYXRhIHR5cGUgb2YgdGhlIGluZGljYXRlZCByZXNvdXJjZS48L3A+CisJPCEtLUlzIHRoZXJlIHNvbWUgcmVzdHJpY3Rpb24gb24gVVJOcyBoYXZpbmcgcXVlcmllcyBhbmQvb3IgZnJhZ21lbnQgaWRlbnRpZmllcnM/ICBTaW5jZSB0aGVzZSBSRkNzIGRvbid0IG1lbnRpb24gVVJJcyBleHBsaWNpdGx5LCBzaG91bGQgdGhlIHdvcmRpbmcgaGVyZSBsZWFkIGZyb20gVVJMcyB0byBVUklzIG1vcmUgZXhwbGljaXRseT8gLWVsbS0tPgorCTxwPkluIG9yZGVyIHRvIGxvY2F0ZSBYTUwgZG9jdW1lbnRzIGFuZCBwb3J0aW9ucyBvZiBkb2N1bWVudHMsIGEgbG9jYXRvciB2YWx1ZSBtYXkgY29udGFpbiBlaXRoZXIgYSA8eHRlcm1yZWYgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvQWRkcmVzc2luZy9yZmMxNzM4LnR4dCI+IFVSSTwveHRlcm1yZWY+IG9yIGEgZnJhZ21lbnQgaWRlbnRpZmllciwgb3IgYm90aC4gQW55IGZyYWdtZW50IGlkZW50aWZpZXIgZm9yIHBvaW50aW5nIGludG8gWE1MIG11c3QgYmUgYW4gPHh0ZXJtcmVmIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL1dELXhwdHIjZHQteHBvaW50ZXIiPiBYUG9pbnRlcjwveHRlcm1yZWY+LjwvcD4KKwk8cD5TcGVjaWFsIHN5bnRheCBtYXkgYmUgdXNlZCB0byByZXF1ZXN0IHRoZSB1c2Ugb2YgcGFydGljdWxhciBwcm9jZXNzaW5nIG1vZGVscyBpbiBhY2Nlc3NpbmcgdGhlIGxvY2F0b3IncyByZXNvdXJjZS4gVGhpcyBpcyBkZXNpZ25lZCB0byByZWZsZWN0IHRoZSByZWFsaXRpZXMgb2YgbmV0d29yayBvcGVyYXRpb24sIHdoZXJlIGl0IG1heSBvciBtYXkgbm90IGJlIGRlc2lyYWJsZSB0byBleGVyY2lzZSBmaW5lIGNvbnRyb2wgb3ZlciB0aGUgZGlzdHJpYnV0aW9uIG9mIHdvcmsgYmV0d2VlbiBsb2NhbCBhbmQgcmVtb3RlIHByb2Nlc3NvcnMuIAorCQk8c2NyYXAgaWQ9ImxvY2F0b3IiIGxhbmc9ImVibmYiPgorCQkJPGhlYWQ+TG9jYXRvcjwvaGVhZD4KKwkJCTxwcm9kIGlkPSJudC1sb2NhdG9yIj4KKwkJCQk8bGhzPkxvY2F0b3I8L2xocz4KKwkJCQk8cmhzPjxudCBkZWY9Im50LXVyaSI+VVJJPC9udD48L3Jocz4KKwkJCQk8cmhzPnwgPG50IGRlZj0ibnQtY29ubmVjdG9yIj5Db25uZWN0b3I8L250PiAoPHhudCBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9XRC14cHRyIj5YUG9pbnRlcjwveG50PiB8IDx4bnQgaHJlZj0iV0QteG1sLWxhbmcuaHRtbCNOVC1OYW1lIj5OYW1lPC94bnQ+KTwvcmhzPgorCQkJCTxyaHM+fCA8bnQgZGVmPSJudC11cmkiPlVSSTwvbnQ+IDxudCBkZWY9Im50LWNvbm5lY3RvciI+Q29ubmVjdG9yPC9udD4gKDx4bnQgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvV0QteHB0ciI+WFBvaW50ZXI8L3hudD4gfCA8eG50IGhyZWY9IldELXhtbC1sYW5nLmh0bWwjTlQtTmFtZSI+TmFtZTwveG50Pik8L3Jocz4KKwkJCTwvcHJvZD4KKwkJCTxwcm9kIGlkPSJudC1jb25uZWN0b3IiPgorCQkJCTxsaHM+Q29ubmVjdG9yPC9saHM+PHJocz4nIycgfCAnfCc8L3Jocz4KKwkJCTwvcHJvZD4KKwkJCTxwcm9kIGlkPSJudC11cmkiPgorCQkJCTxsaHM+VVJJPC9saHM+PHJocz48eG50IGhyZWY9IldELXhtbC1sYW5nLmh0bWwjTlQtVVJMY2hhciI+VVJJY2hhcio8L3hudD48L3Jocz4KKwkJCTwvcHJvZD4KKwkJPC9zY3JhcD4KKwk8L3A+CisJPHA+PHRlcm1kZWYgaWQ9ImR0LWRlc2lnbmF0ZWQiIHRlcm09IkRlc2lnbmF0ZWQgUmVzb3VyY2UiPkluIHRoaXMgZGlzY3Vzc2lvbiwgdGhlIHRlcm0gPHRlcm0+ZGVzaWduYXRlZCByZXNvdXJjZTwvdGVybT4gcmVmZXJzIHRvIHRoZSByZXNvdXJjZSB3aGljaCBhbiBlbnRpcmUgbG9jYXRvciBzZXJ2ZXMgdG8gbG9jYXRlLjwvdGVybWRlZj4gVGhlIGZvbGxvd2luZyBydWxlcyBhcHBseToKKwkJPHVsaXN0PgorCQkJPGl0ZW0+CisJCQkJPHA+PHRlcm1kZWYgaWQ9ImR0LWNvbnRhaW5pbmctcmVzb3VyY2UiIHRlcm09IkNvbnRhaW5pbmcgUmVzb3VyY2UiPgkJICBUaGUgVVJJLCBpZiBwcm92aWRlZCwgbG9jYXRlcyBhIHJlc291cmNlIGNhbGxlZCB0aGUgPHRlcm0+Y29udGFpbmluZyByZXNvdXJjZTwvdGVybT4uPC90ZXJtZGVmPjwvcD4KKwkJCTwvaXRlbT4KKwkJCTxpdGVtPgorCQkJCTxwPklmIHRoZSBVUkkgaXMgbm90IHByb3ZpZGVkLCB0aGUgY29udGFpbmluZyByZXNvdXJjZSBpcyBjb25zaWRlcmVkIHRvIGJlIHRoZSBkb2N1bWVudCBpbiB3aGljaCB0aGUgbGlua2luZyBlbGVtZW50IGlzIGNvbnRhaW5lZC4gCisJCQkJPC9wPjwvaXRlbT4KKwkJCTxpdGVtPgorCQkJCTxwPjx0ZXJtZGVmIGlkPSJkdC1zdWItcmVzb3VyY2UiIHRlcm09IlN1Yi1SZXNvdXJjZSI+SWYgYW4gWFBvaW50ZXIJCQkJICBpcyBwcm92aWRlZCwgdGhlIGRlc2lnbmF0ZWQgcmVzb3VyY2UgaXMgYSA8dGVybT5zdWItcmVzb3VyY2U8L3Rlcm0+CisJCQkJb2YgdGhlIGNvbnRhaW5pbmcgcmVzb3VyY2U7IG90aGVyd2lzZSB0aGUgZGVzaWduYXRlZCByZXNvdXJjZSBpcyB0aGUKKwkJCQljb250YWluaW5nIHJlc291cmNlLjwvdGVybWRlZj48L3A+CisJCQk8L2l0ZW0+CisJCQk8IS0tSXMgdGhpcyBub3cgaW5jb3JyZWN0LCBnaXZlbiB0aGUgbmF0dXJlIG9mIHRoZSBzd2l0Y2ggZnJvbSBoZXJlKCkgdG8gb3JpZ2luKCk/IC1lbG0gCisJCQlPeSwgeWVzLCBpIHRoaW5rIHNvLiBpdCB3aWxsIHJlcXVpcmUgc29tZSBmdW4gd29yZGluZywgdGhvdWdoLCBzbyBpIGhhdmVuJ3QgZml4ZWQgaXQgeWV0IGhlcmUgLXNqZC0tPgorCQkJPGl0ZW0+CisJCQkJPHA+SWYgdGhlIDxudCBkZWY9Im50LWNvbm5lY3RvciI+Q29ubmVjdG9yPC9udD4gaXMgZm9sbG93ZWQgZGlyZWN0bHkgYnkgYSA8eG50IGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy14bWwjTlQtTmFtZSI+TmFtZTwveG50PiwgdGhlIDx4bnQgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLXhtbCNOVC1OYW1lIj5OYW1lPC94bnQ+IGlzIHNob3J0aGFuZCBmb3IgdGhlIFhQb2ludGVyIjxjb2RlPmlkKE5hbWUpPC9jb2RlPiI7IHRoYXQgaXMsIHRoZSBzdWItcmVzb3VyY2UgaXMgdGhlIGVsZW1lbnQgaW4gdGhlIGNvbnRhaW5pbmcgcmVzb3VyY2UgdGhhdCBoYXMgYW4gWE1MIDx4dGVybXJlZiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMteG1sI3NlYy1hdHRydHlwZXMiPklEIGF0dHJpYnV0ZTwveHRlcm1yZWY+IHdob3NlIHZhbHVlIDx4dGVybXJlZiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMteG1sI2R0LW1hdGNoIj5tYXRjaGVzPC94dGVybXJlZj4gdGhlIAkJCQkgIDx4bnQgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLXhtbCNOVC1OYW1lIj5OYW1lPC94bnQ+LiBUaGlzIHNob3J0aGFuZCBpcyB0byBlbmNvdXJhZ2UgdXNlIG9mIHRoZSByb2J1c3QgPGNvZGU+aWQ8L2NvZGU+IGFkZHJlc3NpbmcgbW9kZS48L3A+CisJCQk8L2l0ZW0+CisJCQk8IS0tIGZpeGVkIGxpbmtzIHRvIHRoZSBYTUwgcmVjb21tZW5kYXRpb24gLSBiZW50IC0tPgorCQkJPGl0ZW0+CisJCQkJPHA+SWYgdGhlIGNvbm5lY3RvciBpcyAiPGNvZGU+IzwvY29kZT4iLCB0aGlzIHNpZ25hbHMgYW4gaW50ZW50IHRoYXQgdGhlIGNvbnRhaW5pbmcgcmVzb3VyY2UgaXMgdG8gYmUgZmV0Y2hlZCBhcyBhIHdob2xlIGZyb20gdGhlIGhvc3QgdGhhdCBwcm92aWRlcyBpdCwgYW5kIHRoYXQgdGhlIFhQb2ludGVyIHByb2Nlc3NpbmcgdG8gZXh0cmFjdCB0aGUgc3ViLXJlc291cmNlCisJCQkJaXMgdG8gYmUgcGVyZm9ybWVkIG9uIHRoZSBjbGllbnQsIHRoYXQgaXMgdG8gc2F5IG9uIHRoZSBzYW1lIHN5c3RlbSB3aGVyZSB0aGUgbGlua2luZyBlbGVtZW50IGlzIHJlY29nbml6ZWQgYW5kIHByb2Nlc3NlZC48L3A+CisJCQk8L2l0ZW0+CisJCQk8aXRlbT4KKwkJCQk8cD5JZiB0aGUgY29ubmVjdG9yIGlzICI8Y29kZT58PC9jb2RlPiIsIG5vIGludGVudCBpcyBzaWduYWxlZCBhcyB0byB3aGF0IHByb2Nlc3NpbmcgbW9kZWwgaXMgdG8gYmUgdXNlZCB0byBnbyBhYm91dCBhY2Nlc3NpbmcgdGhlIGRlc2lnbmF0ZWQgcmVzb3VyY2UuPC9wPgorCQkJPC9pdGVtPgorCQk8L3VsaXN0PgorCTwvcD4KKwk8cD5Ob3RlIHRoYXQgdGhlIGRlZmluaXRpb24gb2YgYSBVUkkgaW5jbHVkZXMgYW4gb3B0aW9uYWwgcXVlcnkgY29tcG9uZW50LiA8L3A+CisJPHA+SW4gdGhlIGNhc2Ugd2hlcmUgdGhlIFVSSSBjb250YWlucyBhIHF1ZXJ5ICh0byBiZSBpbnRlcnByZXRlZCBieSB0aGUgc2VydmVyKSwgaW5mb3JtYXRpb24gcHJvdmlkZXJzIGFuZCBhdXRob3JzIG9mIHNlcnZlciBzb2Z0d2FyZSBhcmUgdXJnZWQgdG8gdXNlIHF1ZXJpZXMgYXMgZm9sbG93czogCisJCTxzY3JhcCBpZD0icXVlcnlzeW50YXgiIGxhbmc9ImVibmYiPgorCQkJPGhlYWQ+UXVlcnk8L2hlYWQ+CisJCQk8cHJvZCBpZD0ibnQtcXVlcnkiPgorCQkJCTxsaHM+UXVlcnk8L2xocz48cmhzPidYTUwtWFBUUj0nICg8eG50IGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL1dELXhwdHIiPiBYUG9pbnRlcjwveG50PiB8IDx4bnQgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLXhtbCNOVC1OYW1lIj5OYW1lPC94bnQ+KTwvcmhzPgorCQkJPC9wcm9kPgorCQk8L3NjcmFwPgorCTwvcD4KKwk8IS0tIGZpeGVkIGxpbmsgdG8gWE1MIHJlY29tbWVuZGF0aW9uIC0gYmVudCAtLT4KKzwvZGl2MT4KKworPGRpdjE+PD9QdWIgRHRsPz4KKwk8aGVhZD5MaW5rIFJlY29nbml0aW9uPC9oZWFkPgorCTxwPlRoZSBleGlzdGVuY2Ugb2YgYSA8dGVybXJlZiBkZWY9ImR0LWxpbmsiPmxpbms8L3Rlcm1yZWY+IGlzIGFzc2VydGVkIGJ5IGEgPHRlcm1yZWYgZGVmPSJkdC1saW5rZWwiPmxpbmtpbmcgZWxlbWVudDwvdGVybXJlZj4uIExpbmtpbmcgZWxlbWVudHMgbXVzdCBiZSByZWNvZ25pemVkIHJlbGlhYmx5IGJ5IGFwcGxpY2F0aW9uIHNvZnR3YXJlIGluIG9yZGVyIHRvIHByb3ZpZGUgYXBwcm9wcmlhdGUgZGlzcGxheSBhbmQgYmVoYXZpb3IuIFRoZXJlIGFyZSBzZXZlcmFsIHdheXMgbGluayByZWNvZ25pdGlvbiBjb3VsZCBiZSBhY2NvbXBsaXNoZWQ6IGZvciBleGFtcGxlLCByZXNlcnZpbmcgZWxlbWVudCB0eXBlIG5hbWVzLCByZXNlcnZpbmcgYXR0cmlidXRlcyBuYW1lcywgbGVhdmluZyB0aGUgbWF0dGVyIG9mIHJlY29nbml0aW9uIGVudGlyZWx5IHVwIHRvIHN0eWxlc2hlZXRzIGFuZCBhcHBsaWNhdGlvbiBzb2Z0d2FyZSwgb3IgdXNpbmcgdGhlIFhMaW5rIDx4dGVybXJlZiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMteG1sLW5hbWVzLyI+bmFtZXNwYWNlPC94dGVybXJlZj4gdG8gc3BlY2lmeSBlbGVtZW50IG5hbWVzIGFuZCBhdHRyaWJ1dGUgbmFtZXMgdGhhdCB3b3VsZCBiZSByZWNvZ25pemVkIGJ5IG5hbWVzcGFjZSBhbmQgWExpbmstYXdhcmUgcHJvY2Vzc29ycy4gVXNpbmcgZWxlbWVudCBhbmQgYXR0cmlidXRlIG5hbWVzIHdpdGhpbiB0aGUgWExpbmsgbmFtZXNwYWNlIHByb3ZpZGVzIGEgYmFsYW5jZSBiZXR3ZWVuIGdpdmluZyB1c2VycyBjb250cm9sIG9mIHRoZWlyIG93biBtYXJrdXAgbGFuZ3VhZ2UgZGVzaWduIGFuZCBrZWVwaW5nIHRoZSBpZGVudGlmaWNhdGlvbiBvZiBsaW5raW5nIGVsZW1lbnRzIHNpbXBsZSBhbmQgdW5hbWJpZ3VvdXMuPC9wPgorCTxwPlRoZSB0d28gYXBwcm9hY2hlcyB0byBpZGVudGlmeWluZyBsaW5raW5nIGVsZW1lbnRzIGFyZSByZWxhdGl2ZWx5IHNpbXBsZSB0byBpbXBsZW1lbnQuIEZvciBleGFtcGxlLCBoZXJlJ3MgaG93IHRoZSBIVE1MIDxjb2RlPkE8L2NvZGU+IGVsZW1lbnQgd291bGQgYmUgZGVjbGFyZWQgdXNpbmcgYXR0cmlidXRlcyB3aXRoaW4gdGhlIFhMaW5rIG5hbWVzcGFjZSwgYW5kIHRoZW4gaG93IGFuIGVsZW1lbnQgd2l0aGluIHRoZSBYTGluayBuYW1lc3BhY2UgbWlnaHQgZG8gdGhlIHNhbWU6CisJCTxlZz4mbHQ7QSB4bGluazp0eXBlPSJzaW1wbGUiIHhsaW5rOmhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3dkLXhsaW5rLyIKK3hsaW5rOnRpdGxlPSJUaGUgWGxpbmsgV29ya2luZyBEcmFmdCImZ3Q7VGhlIFhMaW5rIFdvcmtpbmcgRHJhZnQuJmx0Oy9BJmd0OzwvZWc+CisJCTxlZz4mbHQ7eGxpbms6c2ltcGxlIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3dkLXhsaW5rLyIKK3RpdGxlPSJUaGUgWExpbmsgV29ya2luZyBEcmFmdCImZ3Q7VGhlIFhMaW5rIFdvcmtpbmcgRHJhZnQmbHQ7L3hsaW5rOnNpbXBsZSZndDs8L2VnPgorCUFueSBhcmJpdHJhcnkgZWxlbWVudCBjYW4gYmUgbWFkZSBpbnRvIGFuIFhMaW5rIGJ5IHVzaW5nIHRoZSA8Y29kZT54bGluazp0eXBlPC9jb2RlPiBhdHRyaWJ1dGUuIEFuZCwgb2YgY291cnNlLCB0aGUgZXhwbGljaXQgWExpbmsgZWxlbWVudHMgbWF5IGJlIHVzZWQsIGFzIHdlbGwuIFRoaXMgZG9jdW1lbnQgd2lsbCBnbyBvbiB0byBkZXNjcmliZSB0aGUgbGlua2luZyBhdHRyaWJ1dGVzIHRoYXQgYXJlIGFzc29jaWF0ZWQgd2l0aCBsaW5raW5nIGVsZW1lbnRzLiBJdCBtYXkgYmUgYXNzdW1lZCBieSB0aGUgcmVhZGVyIHRoYXQgdGhlc2UgYXR0cmlidXRlcyB3b3VsZCByZXF1aXJlIHRoZSA8Y29kZT54bGluazwvY29kZT4gbmFtZXNwYWNlIHByZWZpeCBpZiB0aGV5IGV4aXN0ZWQgd2l0aGluIGFuIGFyYml0cmFyeSBlbGVtZW50LCBvciB0aGF0IHRoZXkgbWF5IGJlIHVzZWQgZGlyZWN0bHkgaWYgdGhleSBleGlzdCB3aXRoaW4gYW4gZXhwbGljaXQgWGxpbmsgZWxlbWVudC48L3A+CisJCTwhLS0gaGVhdmlseSBtb2RpZmllZCB0aGlzIHNlY3Rpb24gdG8gYWNjb21vZGF0ZSBuYW1lc3BhY2UtYXdhcmUgbGluayByZWNvZ25pdGlvbiAtIGJlbnQgLS0+Cis8L2RpdjE+CisKKzwhLS0gUmV3cm90ZSB0aGlzIGVudGlyZSBzZWN0aW9uLiAtIGJlbnQgLS0+Cis8ZGl2MT4KKwk8aGVhZD5MaW5raW5nIEF0dHJpYnV0ZXM8L2hlYWQ+CisJPHA+WExpbmsgaGFzIHNldmVyYWwgYXR0cmlidXRlcyBhc3NvY2lhdGVkIHdpdGggdGhlIHZhcmlldHkgb2YgbGlua3MgaXQgbWF5IHJlcHJlc2VudC4gVGhlc2UgYXR0cmlidXRlcyBkZWZpbmUgZm91ciBtYWluIGNvbmNlcHRzOiBsb2NhdG9ycywgYXJjcywgYmVoYXZpb3JzLCBhbmQgc2VtYW50aWNzLiA8ZW1waD5Mb2NhdG9yczwvZW1waD4gZGVmaW5lIHdoZXJlIHRoZSBhY3R1YWwgcmVzb3VyY2UgaXMgbG9jYXRlZC4gPGVtcGg+QXJjczwvZW1waD4gZGVmaW5lIHRoZSB0cmF2ZXJzYWwgb2YgbGlua3MuIFdoZXJlIGRvZXMgdGhlIGxpbmsgY29tZSBmcm9tPyBXaGVyZSBkb2VzIGl0IGdvIHRvPyBBbGwgdGhpcyBpbmZvcm1hdGlvbiBjYW4gYmUgc3RvcmVkIGluIHRoZSBhcmMgYXR0cmlidXRlcy4gPGVtcGg+QmVoYXZpb3JzPC9lbXBoPiBkZWZpbmUgaG93IHRoZSBsaW5rIGlzIGFjdGl2YXRlZCwgYW5kIHdoYXQgdGhlIGFwcGxpY2F0aW9uIHNob3VsZCBkbyB3aXRoIHRoZSByZXNvdXJjZSBiZWluZyBsaW5rZWQgdG8uIDxlbXBoPlNlbWFudGljczwvZW1waD4gZGVmaW5lIHVzZWZ1bCBpbmZvcm1hdGlvbiB0aGF0IHRoZSBhcHBsaWNhdGlvbiBtYXkgdXNlLCBhbmQgZW5hYmxlcyB0aGUgbGluayBmb3Igc3VjaCBzcGVjYWxpemVkIHRhcmdldHMgYXMgY29uc3RyaWN0ZWQgZGV2aWNlcyBhbmQgYWNjZXNzaWJpbGl0eSBzb2Z0d2FyZS48L3A+CisJCisJPGRpdjIgaWQ9ImxpbmstbG9jYXRvcnMiPgorCQk8aGVhZD5Mb2NhdG9yIEF0dHJpYnV0ZXM8L2hlYWQ+CisJCTxwPlRoZSBvbmx5IGxvY2F0b3IgYXR0cmlidXRlIGF0IHRoaXMgdGltZSBpcyA8Y29kZT5ocmVmPC9jb2RlPi4gVGhpcyBhdHRyaWJ1dGUgbXVzdCBjb250YWluIGVpdGhlciBhIHN0cmluZyBpbiB0aGUgZm9ybSBvZiBhIFVSSSB0aGF0IGRlZmluZXMgdGhlIHJlbW90ZSByZXNvdXJjZSBiZWluZyBsaW5rZWQgdG8sIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBmcmFnbWVudCBpZGVudGlmaWVyIHRoYXQgbGlua3MgdG8gYSBsb2NhbCByZXNvdXJjZSwgb3IgYSBzdHJpbmcgY29udGFpbmluZyBhIFVSSSB3aXRoIGEgZnJhZ21lbnQgaWRlbnRpZmllciBjb25jYWNlbmF0ZWQgb250byBpdC48L3A+CisJPC9kaXYyPgorCisJPGRpdjIgaWQ9ImxpbmstYXJjcyI+CisJCTxoZWFkPkFyYyBBdHRyaWJ1dGVzPC9oZWFkPgorCQk8cD5BcmNzIGNvbnRhaW4gdHdvIGF0dHJpYnV0ZXMsIDxjb2RlPmZyb208L2NvZGU+IGFuZCA8Y29kZT50bzwvY29kZT4uIFRoZSA8Y29kZT5mcm9tPC9jb2RlPiBhdHRyaWJ1dGUgbWF5IGNvbnRhaW4gYSBzdHJpbmcgY29udGFpbmluZyB0aGUgY29udGVudCBvZiBhIDxjb2RlPnJvbGU8L2NvZGU+IGF0dHJpYnV0ZSBmcm9tIHRoZSByZXNvdXJjZSBiZWluZyBsaW5rZWQgZnJvbS4gVGhlIHB1cnBvc2Ugb2YgdGhlIDxjb2RlPmZyb208L2NvZGU+IGF0dHJpYnV0ZSBpcyB0byBkZWZpbmUgd2hlcmUgdGhpcyBsaW5rIGlzIGJlaW5nIGFjdHVhdGVkIGZyb20uPC9wPgorCQk8cD5UaGUgPGNvZGU+dG88L2NvZGU+IGF0dHJpYnV0ZSBtYXkgY29udGFpbiBhIHN0cmluZyBjb250YWluaW5nIHRoZSBjb250ZW50IG9mIGEgPGNvZGU+cm9sZTwvY29kZT4gYXR0cmlidXRlIGZyb20gdGhlIHJlc291cmNlIGJlaW5nIGxpbmtlZCB0by4gVGhlIHB1cnBvc2Ugb2YgdGhlIDxjb2RlPnRvPC9jb2RlPiBhdHRyaWJ1dGUgaXMgdG8gZGVmaW5lIHdoZXJlIHRoaXMgbGluayB0cmF2ZXJzZXMgdG8uPC9wPgorCQk8cD5UaGUgYXBwbGljYXRpb24gbWF5IHVzZSB0aGlzIGluZm9ybWF0aW9uIGluIGEgbnVtYmVyIG9mIHdheXMsIGVzcGVjaWFsbHkgaW4gYSBjb21wbGV4IGh5cGVydGV4dCBzeXN0ZW0sIGJ1dCBpdCBpcyBtYWlubHkgdXNlZnVsIGluIHByb3ZpZGluZyBjb250ZXh0IGZvciBhcHBsaWNhdGlvbiBiZWhhdmlvci48L3A+CisJCTwhLS0gSSdtIGF0IGEgbG9zcyBhcyB0byBob3cgdG8gZGVzY3JpYmUgYXJjcyBtb3JlIGNsZWFybHkgdGhhbiB0aGlzLiBJIGRvbid0IHdhbnQgdG8gZGV2b2x2ZSBpbnRvIGRpc2N1c3Npb25zIG9mIGRpcmVjdGVkIGdyYXBocyBhbmQgbi1hcnkgbGlua3MuIC1iZW50IC0tPgorCTwvZGl2Mj4KKworCTxkaXYyIGlkPSJsaW5rLWJlaGF2aW9ycyI+CisJCTxoZWFkPkJlaGF2aW9yIEF0dHJpYnV0ZXM8L2hlYWQ+CisJCTxwPlRoZXJlIGFyZSB0d28gYXR0cmlidXRlcyBhc3NvY2lhdGVkIHdpdGggYmVoYXZpb3I6IDxjb2RlPnNob3c8L2NvZGU+IGFuZCA8Y29kZT5hY3R1YXRlPC9jb2RlPi4gVGhlIDxjb2RlPnNob3c8L2NvZGU+IGF0dHJpYnV0ZSBkZWZpbmVzIGhvdyB0aGUgcmVtb3RlIHJlc291cmNlIGlzIHRvIGJlIHJldmVhbGVkIHRvIHRoZSB1c2VyLiBJdCBoYXMgdGhyZWUgb3B0aW9uczogPGNvZGU+bmV3PC9jb2RlPiwgPGNvZGU+cGFyc2VkPC9jb2RlPiwgYW5kIDxjb2RlPnJlcGxhY2U8L2NvZGU+LiBUaGUgPGNvZGU+bmV3PC9jb2RlPiBvcHRpb24gaW5kaWNhdGVzIHRoYXQgdGhlIHJlbW90ZSByZXNvdXJjZSBzaG91bGQgYmUgc2hvd24gaW4gYSBuZXcgd2luZG93IChvciBvdGhlciBkZXZpY2UgY29udGV4dCkgd2l0aG91dCByZXBsYWNpbmcgdGhlIHByZXZpb3VzIGNvbnRlbnQuIFRoZSA8Y29kZT5wYXJzZWQ8L2NvZGU+IG9wdGlvbiwgcmVsYXRpbmcgZGlyZWN0bHkgdG8gdGhlIFhNTCBjb25jZXB0IG9mIGEgcGFyc2VkIGVudGl0eSwgaW5kaWNhdGVzIHRoYXQgdGhlIGNvbnRlbnQgc2hvdWxkIGJlIGludGVncmF0ZWQgaW50byB0aGUgZG9jdW1lbnQgZnJvbSB3aGljaCB0aGUgbGluayB3YXMgYWN0dWF0ZWQuIFRoZSA8Y29kZT5yZXBsYWNlPC9jb2RlPiBvcHRpb24gaXMgdGhlIG9uZSBtb3N0IGNvbW1vbmx5IHNlZW4gb24gdGhlIFdvcmxkIFdpZGUgV2ViLCB3aGVyZSB0aGUgZG9jdW1lbnQgYmVpbmcgbGlua2VkIGZyb20gaXMgZW50aXJlbHkgcmVwbGFjZWQgYnkgdGhlIG9iamVjdCBiZWluZyBsaW5rZWQgdG8uPC9wPgorCQk8cD5UaGUgPGNvZGU+YWN0dWF0ZTwvY29kZT4gYXR0cmlidXRlIGRlZmluZXMgaG93IHRoZSBsaW5rIGlzIGluaXRpYXRlZC4gSXQgaGFzIHR3byBvcHRpb25zOiA8Y29kZT51c2VyPC9jb2RlPiBhbmQgPGNvZGU+YXV0bzwvY29kZT4uIFRoZSA8Y29kZT51c2VyPC9jb2RlPiBvcHRpb24gaW5kaWNhdGVzIHRoYXQgdGhlIGxpbmsgbXVzdCBiZSBpbml0aWF0ZWQgYnkgc29tZSBzb3J0IG9mIGh1bWFuLWluaXRpYXRlZCBzZWxlY3Rpb24sIHN1Y2ggYXMgY2xpY2tpbmcgb24gYW4gSFRNTCBhbmNob3IuIFRoZSA8Y29kZT5hdXRvPC9jb2RlPiBvcHRpb24gaW5kaWNhdGVzIHRoYXQgdGhlIGxpbmsgaXMgYXV0b21hdGljYWxseSBpbml0aWF0ZWQgd2hlbiB0aGUgYXBwbGljYXRpb24gZGVlbXMgdGhhdCB0aGUgdXNlciBoYXMgcmVhY2hlZCB0aGUgbGluay4gSXQgdGhlbiBmb2xsb3dzIHRoZSBiZWhhdmlvciBzZXQgb3V0IGluIHRoZSA8Y29kZT5zaG93PC9jb2RlPiBvcHRpb24uPC9wPgorCQk8IS0tIFNvbWV0aGluZyBzaG91bGQgYmUgcHV0IGhlcmUgaW4gdGVybXMgb2YgYW4gZXhhbXBsZS4gSWRlYTogIkEiIGxpbmsgdmVyc3VzIGF1dG9tYXRpY2FsbHkgdXBkYXRpbmcgZW5jeWNsb3BlZGlhLiAtYmVudCAtLT4KKwk8L2RpdjI+CisKKwk8ZGl2MiBpZD0ibGluay1zZW1hbnRpY3MiPgorCQk8aGVhZD5TZW1hbnRpYyBBdHRyaWJ1dGVzPC9oZWFkPgorCQk8cD5UaGVyZSBhcmUgdHdvIGF0dHJpYnV0ZXMgYXNzb2NpYXRlZCB3aXRoIHNlbWFudGljcywgPGNvZGU+cm9sZTwvY29kZT4gYW5kIDxjb2RlPnRpdGxlPC9jb2RlPi4gVGhlIDxjb2RlPnJvbGU8L2NvZGU+IGF0dHJpYnV0ZSBpcyBhIGdlbmVyaWMgc3RyaW5nIHVzZWQgdG8gZGVzY3JpYmUgdGhlIGZ1bmN0aW9uIG9mIHRoZSBsaW5rJ3MgY29udGVudC4gRm9yIGV4YW1wbGUsIGEgcG9lbSBtaWdodCBoYXZlIGEgbGluayB3aXRoIGEgPGNvZGU+cm9sZT0ic3RhbnphIjwvY29kZT4uIFRoZSA8Y29kZT5yb2xlPC9jb2RlPiBpcyBhbHNvIHVzZWQgYXMgYW4gaWRlbnRpZmllciBmb3IgdGhlIDxjb2RlPmZyb208L2NvZGU+IGFuZCA8Y29kZT50bzwvY29kZT4gYXR0cmlidXRlcyBvZiBhcmNzLjwvcD4KKwkJPHA+VGhlIDxjb2RlPnRpdGxlPC9jb2RlPiBhdHRyaWJ1dGUgaXMgZGVzaWduZWQgdG8gcHJvdmlkZSBodW1hbi1yZWFkYWJsZSB0ZXh0IGRlc2NyaWJpbmcgdGhlIGxpbmsuIEl0IGlzIHZlcnkgdXNlZnVsIGZvciB0aG9zZSB3aG8gaGF2ZSB0ZXh0LWJhc2VkIGFwcGxpY2F0aW9ucywgd2hldGhlciB0aGF0IGJlIGR1ZSB0byBhIGNvbnN0cmljdGVkIGRldmljZSB0aGF0IGNhbm5vdCBkaXNwbGF5IHRoZSBsaW5rJ3MgY29udGVudCwgb3IgaWYgaXQncyBiZWluZyByZWFkIGJ5IGFuIGFwcGxpY2F0aW9uIHRvIGEgdmlzdWFsbHktaW1wYWlyZWQgdXNlciwgb3IgaWYgaXQncyBiZWluZyB1c2VkIHRvIGNyZWF0ZSBhIHRhYmxlIG9mIGxpbmtzLiBUaGUgPGNvZGU+dGl0bGU8L2NvZGU+IGF0dHJpYnV0ZSBjb250YWlucyBhIHNpbXBsZSwgZGVzY3JpcHRpdmUgc3RyaW5nLjwvcD4KKwk8L2RpdjI+Cis8L2RpdjE+CisKKzxkaXYxIGlkPSJsaW5raW5nLWVsZW1lbnRzIj4KKwk8aGVhZD5MaW5raW5nIEVsZW1lbnRzPC9oZWFkPgorCTxwPlRoZXJlIGFyZSBzZXZlcmFsIGtpbmRzIG9mIGxpbmtpbmcgZWxlbWVudHMgaW4gWExpbms6IDxjb2RlPnNpbXBsZTwvY29kZT4gbGlua3MsIDxjb2RlPmxvY2F0b3JzPC9jb2RlPiwgPGNvZGU+YXJjczwvY29kZT4sIGFuZCA8Y29kZT5leHRlbmRlZDwvY29kZT4gbGlua3MuIFRoZXNlIGVsZW1lbnRzIG1heSBiZSBpbnN0YW50aWF0ZWQgdmlhIGVsZW1lbnQgZGVjbGFyYXRpb25zIGZyb20gdGhlIFhMaW5rIG5hbWVzcGFjZSwgb3IgdGhleSBtYXkgYmUgaW5zdGFudGlhdGVkIHZpYSBhdHRyaWJ1dGUgZGVjbGFyYXRpb25zIGZyb20gdGhlIFhMaW5rIG5hbWVzcGFjZS4gQm90aCBraW5kcyBvZiBpbnN0YW50aWF0aW9uIGFyZSBkZXNjcmliZWQgaW4gdGhlIGRlZmluaXRpb24gb2YgZWFjaCBsaW5raW5nIGVsZW1lbnQuPC9wPgorCTxwPlRoZSA8Y29kZT5zaW1wbGU8L2NvZGU+IGxpbmsgaXMgdXNlZCB0byBkZWNsYXJlIGEgbGluayB0aGF0IGFwcHJveGltYXRlcyB0aGUgZnVuY3Rpb25hbGl0eSBvZiB0aGUgSFRNTCA8Y29kZT5BPC9jb2RlPiBlbGVtZW50LiBJdCBoYXMsIGhvd2V2ZXIsIGEgZmV3IGFkZGVkIGZlYXR1cmVzIHRvIGluY3JlYXNlIGl0cyB2YWx1ZSwgaW5jbHVkaW5nIHRoZSBwb3RlbnRpYWwgZGVjbGFyYXRpb24gb2Ygc2VtYW50aWNzIGFuZCBiZWhhdmlvci4gVGhlIDxjb2RlPmxvY2F0b3I8L2NvZGU+IGVsZW1lbnRzIGFyZSB1c2VkIHRvIGRlZmluZSB0aGUgcmVzb3VyY2UgYmVpbmcgbGlua2VkIHRvLiBTb21lIGxpbmtzIG1heSBjb250YWluIG11bHRpcGxlIGxvY2F0b3JzLCByZXByZXNlbnRpbmcgYSBjaG9pY2Ugb2YgcG90ZW50aWFsIGxpbmtzIHRvIGJlIHRyYXZlcnNlZC4gVGhlIDxjb2RlPmFyY3M8L2NvZGU+IGFyZSB1c2VkIHRvIGRlZmluZSB0aGUgdHJhdmVyc2FsIHNlbWFudGljcyBvZiB0aGUgbGluay4gRmluYWxseSwgYW4gPGNvZGU+ZXh0ZW5kZWQ8L2NvZGU+IGxpbmtpbmcgZWxlbWVudCBkaWZmZXJzIGZyb20gYSBzaW1wbGUgbGluayBpbiB0aGF0IGl0IGNhbiBjb25uZWN0IGFueSBudW1iZXIgb2YgcmVzb3VyY2VzLCBub3QganVzdCBvbmUgbG9jYWwgcmVzb3VyY2UgKG9wdGlvbmFsbHkpIGFuZCBvbmUgcmVtb3RlIHJlc291cmNlLCBhbmQgaW4gdGhhdCBleHRlbmRlZCBsaW5rcyBhcmUgbW9yZSBvZnRlbiBvdXQtb2YtbGluZSB0aGFuIHNpbXBsZSBsaW5rcy48L3A+CisKKzxkaXYyIGlkPSJzaW1wbGUtbGlua3MiPgorCTxoZWFkPlNpbXBsZSBMaW5rczwvaGVhZD4KKwk8cCBpZD0iZHQtc2ltcGxlbGluayI+PHRlcm1kZWYgaWQ9ImR0LXNpbXBsZWxpbmUiIHRlcm09IlNpbXBsZSBMaW5rIj48dGVybT5TaW1wbGUgbGlua3M8L3Rlcm0+IGNhbiBiZSB1c2VkIGZvciBwdXJwb3NlcyB0aGF0IGFwcHJveGltYXRlIHRoZSBmdW5jdGlvbmFsaXR5IG9mIGEgYmFzaWMgSFRNTCA8Y29kZT5BPC9jb2RlPiBsaW5rLCBidXQgdGhleSBjYW4gYWxzbyBzdXBwb3J0IGEgbGltaXRlZCBhbW91bnQgb2YgYWRkaXRpb25hbCBmdW5jdGlvbmFsaXR5LiBTaW1wbGUgbGlua3MgaGF2ZSBvbmx5IG9uZSBsb2NhdG9yIGFuZCB0aHVzLCBmb3IgY29udmVuaWVuY2UsIGNvbWJpbmUgdGhlIGZ1bmN0aW9ucyBvZiBhIGxpbmtpbmcgZWxlbWVudCBhbmQgYSBsb2NhdG9yIGludG8gYSBzaW5nbGUgZWxlbWVudC48L3Rlcm1kZWY+IEFzIGEgcmVzdWx0IG9mIHRoaXMgY29tYmluYXRpb24sIHRoZSBzaW1wbGUgbGlua2luZyBlbGVtZW50IG9mZmVycyBib3RoIGEgbG9jYXRvciBhdHRyaWJ1dGUgYW5kIGFsbCB0aGUgYmVoYXZpb3IgYW5kIHNlbWFudGljIGF0dHJpYnV0ZXMuPC9wPgorCTxwPlRoZSBmb2xsb3dpbmcgYXJlIHR3byBleGFtcGxlcyBvZiBsaW5raW5nIGVsZW1lbnRzLCBlYWNoIHNob3dpbmcgYWxsIHRoZSBwb3NzaWJsZSBhdHRyaWJ1dGVzIHRoYXQgY2FuIGJlIGFzc29jaWF0ZWQgd2l0aCBhIHNpbXBsZSBsaW5rLiBIZXJlIGlzIHRoZSBleHBsaWNpdCBYTGluayBzaW1wbGUgbGlua2luZyBlbGVtZW50LgorCTxlZz4mbHQ7IUVMRU1FTlQgeGxpbms6c2ltcGxlIEFOWSZndDsKKyZsdDshQVRUTElTVCB4bGluazpzbGluaworICAgIGhyZWYgICAgICAgICAgIENEQVRBICAgIAkJCQkjUkVRVUlSRUQKKyAgICByb2xlICAgICAgICAgICBDREFUQSAgICAJCQkJI0lNUExJRUQKKyAgICB0aXRsZSAgICAgICAgICBDREFUQSAgICAJCQkJI0lNUExJRUQKKyAgICBzaG93ICAgICAgICAgICAobmV3fHBhcnNlZHxyZXBsYWNlKSAgCSJyZXBsYWNlIgorICAgIGFjdHVhdGUgICAgICAgICh1c2VyfGF1dG8pIAkJCQkidXNlciIKKyZndDs8L2VnPgorCUFuZCBoZXJlIGlzIGhvdyB0byBtYWtlIGFuIGFyYml0cmFyeSBlbGVtZW50IGludG8gYSBzaW1wbGUgbGluay4KKwk8ZWc+Jmx0OyFFTEVNRU5UIHhsaW5rOnNpbXBsZSBBTlkmZ3Q7CismbHQ7IUFUVExJU1QgZm9vCisJeGxpbms6dHlwZSAgICAgKHNpbXBsZXxleHRlbmRlZHxsb2NhdG9yfGFyYykgI0ZJWEVEICJzaW1wbGUiCQkKKyAgICB4bGluazpocmVmICAgICBDREFUQSAgICAJCQkJI1JFUVVJUkVECisgICAgeGxpbms6cm9sZSAgICAgQ0RBVEEgICAgCQkJCSNJTVBMSUVECisgICAgeGxpbms6dGl0bGUgICAgQ0RBVEEgICAgCQkJCSNJTVBMSUVECisgICAgeGxpbms6c2hvdyAgICAgKG5ld3xwYXJzZWR8cmVwbGFjZSkgIAkicmVwbGFjZSIKKyAgICB4bGluazphY3R1YXRlICAodXNlcnxhdXRvKSAJCQkJInVzZXIiCismZ3Q7PC9lZz4KKwlIZXJlIGlzIGhvdyB0aGUgZmlyc3QgZXhhbXBsZSBtaWdodCBsb29rIGluIGEgZG9jdW1lbnQ6Cis8ZWc+Jmx0O3hsaW5rOnNpbXBsZSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi93ZC14bGluayIgcm9sZT0id29ya2luZyBkcmFmdCIgCisJdGl0bGU9IlRoZSBYTGluayBXb3JraW5nIERyYWZ0IiBzaG93PSJyZXBsYWNlIiBhY3R1YXRlPSJ1c2VyIiZndDsKK1RoZSBYTGluayBXb3JraW5nIERyYWZ0LiZsdDsveGxpbms6c2ltcGxlJmd0OzwvZWc+Cis8ZWc+Jmx0O2ZvbyB4bGluazpocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi93ZC14bGluayIgeGxpbms6cm9sZT0id29ya2luZyBkcmFmdCIKKwl4bGluazp0aXRsZT0iVGhlIFhMaW5rIFdvcmtpbmcgRHJhZnQiIHhsaW5rOnNob3c9Im5ldyIgeGxpbms6YWN0dWF0ZT0idXNlciImZ3Q7CitUaGUgWExpbmsgV29ya2luZyBEcmFmdC4mbHQ7L2ZvbyZndDs8L2VnPgorCUFsdGVybmF0ZWx5LCBhIHNpbXBsZSBsaW5rIGNvdWxkIGJlIGFzIHRlcnNlIGFzIHRoaXM6Cis8ZWc+Jmx0O2ZvbyB4bGluazpocmVmPSIjc3RhbnphMSImZ3Q7VGhlIEZpcnN0IFN0YW56YS4mbHQ7L2ZvbyZndDs8L2VnPgorCTwvcD4KKwk8cD4KKwlUaGVyZSBhcmUgbm8gY29uc3RyYWludHMgb24gdGhlIGNvbnRlbnRzIG9mIGEgc2ltcGxlIGxpbmtpbmcgZWxlbWVudC4gSW4KKwl0aGUgc2FtcGxlIGRlY2xhcmF0aW9uIGFib3ZlLCBpdCBpcyBnaXZlbiBhIGNvbnRlbnQgbW9kZWwgb2YgPGNvZGU+QU5ZPC9jb2RlPgorCXRvIGlsbHVzdHJhdGUgdGhhdCBhbnkgY29udGVudCBtb2RlbCBvciBkZWNsYXJlZCBjb250ZW50IGlzIGFjY2VwdGFibGUuIEluCisJYSB2YWxpZCBkb2N1bWVudCwgZXZlcnkgZWxlbWVudCB0aGF0IGlzIHNpZ25pZmljYW50IHRvIFhMaW5rIG11c3Qgc3RpbGwgY29uZm9ybQorCXRvIHRoZSBjb25zdHJhaW50cyBleHByZXNzZWQgaW4gaXRzIGdvdmVybmluZyBEVEQuPC9wPgorCTxwPk5vdGUgdGhhdCBpdCBpcyBtZWFuaW5nZnVsIHRvIGhhdmUgYW4gb3V0LW9mLWxpbmUgc2ltcGxlIGxpbmssIGFsdGhvdWdoCisJc3VjaCBsaW5rcyBhcmUgdW5jb21tb24uIFRoZXkgYXJlIGNhbGxlZCAib25lLWVuZGVkIiBhbmQgYXJlIHR5cGljYWxseSB1c2VkCisJdG8gYXNzb2NpYXRlIGRpc2NyZXRlIHNlbWFudGljIHByb3BlcnRpZXMgd2l0aCBsb2NhdGlvbnMuIFRoZSBwcm9wZXJ0aWVzIG1pZ2h0CisJYmUgZXhwcmVzc2VkIGJ5IGF0dHJpYnV0ZXMgb24gdGhlIGxpbmssIHRoZSBsaW5rJ3MgZWxlbWVudCB0eXBlIG5hbWUsIG9yIGluCisJc29tZSBvdGhlciB3YXksIGFuZCBhcmUgbm90IGNvbnNpZGVyZWQgZnVsbC1mbGVkZ2VkIHJlc291cmNlcyBvZiB0aGUgbGluay4KKwlNb3N0IG91dC1vZi1saW5lIGxpbmtzIGFyZSBleHRlbmRlZCBsaW5rcywgYXMgdGhlc2UgaGF2ZSBhIGZhciB3aWRlciByYW5nZQorCW9mIHVzZXMuPC9wPgorPC9kaXYyPgorCis8ZGl2MiBpZD0iZXh0ZW5kZWQtbGluayI+Cis8aGVhZD5FeHRlbmRlZCBMaW5rczwvaGVhZD4KKwk8cD48dGVybWRlZiBpZD0iZHQtZXh0ZW5kZWRsaW5rIiB0ZXJtPSJFeHRlbmRlZCBMaW5rIj5BbiA8dGVybT5leHRlbmRlZCBsaW5rPC90ZXJtPiBkaWZmZXJzIGZyb20gYSBzaW1wbGUgbGluayBpbiB0aGF0IGl0IGNhbiBjb25uZWN0IGFueSBudW1iZXIgb2YgcmVzb3VyY2VzLCBub3QganVzdCBvbmUgbG9jYWwgcmVzb3VyY2UgKG9wdGlvbmFsbHkpIGFuZCBvbmUgcmVtb3RlIHJlc291cmNlLCBhbmQgaW4gdGhhdCBleHRlbmRlZCBsaW5rcyBhcmUgbW9yZSBvZnRlbiBvdXQtb2YtbGluZSB0aGFuIHNpbXBsZSBsaW5rcy48L3Rlcm1kZWY+PC9wPgorCTxwPlRoZXNlIGFkZGl0aW9uYWwgY2FwYWJpbGl0aWVzIG9mIGV4dGVuZGVkIGxpbmtzIGFyZSByZXF1aXJlZCBmb3I6ICAKKwkJPHVsaXN0PgorCQkJPGl0ZW0+CisJCQkJPHA+RW5hYmxpbmcgb3V0Z29pbmcgbGlua3MgaW4gZG9jdW1lbnRzIHRoYXQgY2Fubm90IGJlIG1vZGlmaWVkIHRvIGFkZCBhbiBpbmxpbmUgbGluazwvcD4KKwkJCTwvaXRlbT4KKwkJCTxpdGVtPgorCQkJCTxwPkNyZWF0aW5nIGxpbmtzIHRvIGFuZCBmcm9tIHJlc291cmNlcyBpbiBmb3JtYXRzIHdpdGggbm8gbmF0aXZlIHN1cHBvcnQgZm9yIGVtYmVkZGVkIGxpbmtzIChzdWNoIGFzIG1vc3QgbXVsdGltZWRpYSBmb3JtYXRzKTwvcD4KKwkJCTwvaXRlbT4KKwkJCTxpdGVtPgorCQkJCTxwPkFwcGx5aW5nIGFuZCBmaWx0ZXJpbmcgc2V0cyBvZiByZWxldmFudCBsaW5rcyBvbiBkZW1hbmQ8L3A+CisJCQk8L2l0ZW0+CisJCQk8aXRlbT48cD5FbmFibGluZyBvdGhlciBhZHZhbmNlZCBoeXBlcm1lZGlhIGNhcGFiaWxpdGllczwvcD48L2l0ZW0+CisJCTwvdWxpc3Q+CisJPC9wPgorCTxwPkFwcGxpY2F0aW9uIHNvZnR3YXJlIG1pZ2h0IGJlIGV4cGVjdGVkIHRvIHByb3ZpZGUgdHJhdmVyc2FsIGFtb25nIGFsbCBvZiBhIGxpbmsncyBwYXJ0aWNpcGF0aW5nIHJlc291cmNlcyAoc3ViamVjdCB0byBzZW1hbnRpYyBjb25zdHJhaW50cyBvdXRzaWRlIHRoZSBzY29wZSBvZiB0aGlzIHNwZWNpZmljYXRpb24pIGFuZCB0byBzaWduYWwgdGhlIGZhY3QgdGhhdCBhIGdpdmVuIHJlc291cmNlIG9yIHN1Yi1yZXNvdXJjZSBwYXJ0aWNpcGF0ZXMgaW4gb25lIG9yIG1vcmUgbGlua3Mgd2hlbiBpdCBpcyBkaXNwbGF5ZWQgKGV2ZW4gdGhvdWdoIHRoZXJlIGlzIG5vIG1hcmt1cCBhdCBleGFjdGx5IHRoYXQgcG9pbnQgdG8gc2lnbmFsIGl0KS48L3A+CisJPHA+QSBsaW5raW5nIGVsZW1lbnQgZm9yIGFuIGV4dGVuZGVkIGxpbmsgY29udGFpbnMgYSBzZXJpZXMgb2YgPHh0ZXJtcmVmIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy14bWwvI2R0LXBhcmVudGNoaWxkIj5jaGlsZCBlbGVtZW50czwveHRlcm1yZWY+IHRoYXQgc2VydmUgYXMgbG9jYXRvcnMgYW5kIGFyY3MuIEJlY2F1c2UgYW4gZXh0ZW5kZWQgbGluayBjYW4gaGF2ZSBtb3JlIHRoYW4gb25lIHJlbW90ZSByZXNvdXJjZSwgaXQgc2VwYXJhdGVzIG91dCBsaW5raW5nIGl0c2VsZiBmcm9tIHRoZSBtZWNoYW5pc21zIHVzZWQgdG8gbG9jYXRlIGVhY2ggcmVzb3VyY2UgKHdoZXJlYXMgYSBzaW1wbGUgbGluayBjb21iaW5lcyB0aGUgdHdvKS48L3A+CisJPHA+VGhlIDxjb2RlPnhsaW5rOnR5cGU8L2NvZGU+IGF0dHJpYnV0ZSB2YWx1ZSBmb3IgYW4gZXh0ZW5kZWQgbGluayBtdXN0IGJlIDxjb2RlPiBleHRlbmRlZDwvY29kZT4sIGlmIHRoZSBsaW5rIGlzIGJlaW5nIGluc3RhbnRpYXRlZCBvbiBhbiBhcmJpdHJhcnkgZWxlbWVudC4gTm90ZSB0aGF0IGV4dGVuZGVkIGxpbmtzIGludHJvZHVjZSB2YXJpYW50cyBvZiB0aGUgPGNvZGU+c2hvdzwvY29kZT4gYW5kIDxjb2RlPmFjdHVhdGU8L2NvZGU+IGJlaGF2aW9yIGF0dHJpYnV0ZXMuIFRoZXNlIGF0dHJpYnV0ZXMsIHRoZSA8Y29kZT5zaG93ZGVmYXVsdDwvY29kZT4gYW5kIDxjb2RlPmFjdHVhdGVkZWZhdWx0PC9jb2RlPiBkZWZpbmUgdGhlIHNhbWUgYmVoYXZpb3IgYXMgdGhlaXIgY291bnRlcnBhcnRzLiBIb3dldmVyLCBpbiB0aGlzIGNhc2UsIHRoZXkgYXJlIGNvbnNpZGVyZWQgdG8gZGVmaW5lIHRoZSBkZWZhdWx0IGJlaGF2aW9yIGZvciBhbGwgdGhlIGxpbmtpbmcgZWxlbWVudHMgdGhhdCB0aGV5IGNvbnRhaW4uPC9wPgorCTxwPkhvd2V2ZXIsIHdoZW4gYSBsaW5raW5nIGVsZW1lbnQgd2l0aGluIGFuIGV4dGVuZGVkIGxpbmsgaGFzIGEgPGNvZGU+c2hvdzwvY29kZT4gb3IgPGNvZGU+YWN0dWF0ZTwvY29kZT4gYXR0cmlidXRlIG9mIGl0cyBvd24sIHRoYXQgYXR0cmlidXRlIG92ZXJyaWRlcyB0aGUgZGVmYXVsdHMgc2V0IG9uIHRoZSBleHRlbmRlZCBsaW5raW5nIGVsZW1lbnQuPC9wPgorCTxwPlRoZSBleHRlbmRlZCBsaW5raW5nIGVsZW1lbnQgaXRzZWxmIHJldGFpbnMgdGhvc2UgYXR0cmlidXRlcyByZWxldmFudCB0byB0aGUgbGluayBhcyBhIHdob2xlLCBhbmQgdG8gaXRzIGxvY2FsIHJlc291cmNlIGlmIGFueS4gRm9sbG93aW5nIGFyZSB0d28gc2FtcGxlIGRlY2xhcmF0aW9uIGZvciBhbiBleHRlbmRlZCBsaW5rLiBUaGUgZmlyc3QgaXMgYW4gZXhhbXBsZSBvZiB0aGUgZXhwbGljaXQgWExpbmsgZXh0ZW5kZWQgbGluazoKKwkKKzxlZz4mbHQ7IUVMRU1FTlQgeGxpbms6ZXh0ZW5kZWQgKCh4bGluazphcmMgfCB4bGluazpsb2NhdG9yKSopPgorJmx0OyFBVFRMSVNUIHhsaW5rOmV4dGVuZGVkCisJcm9sZSAgICAgICAgICAgQ0RBVEEgICAgCQkJCSNJTVBMSUVECisJdGl0bGUgICAgICAgICAgQ0RBVEEgICAgCQkJCSNJTVBMSUVECisJc2hvd2RlZmF1bHQgICAgKG5ld3xwYXJzZWR8cmVwbGFjZSkgICAgCSNJTVBMSUVEIAorICAgIGFjdHVhdGVkZWZhdWx0ICh1c2VyfGF1dG8pIAkJCQkjSU1QTElFRCAmZ3Q7PC9lZz4KKworCVRoZSBzZWNvbmQgaXMgYW4gZXhhbXBsZSBvZiBhbiBhcmJpdHJhcnkgZWxlbWVudCBiZWluZyB1c2VkIGFuIGV4dGVuZGVkIGxpbms6CisKKzxlZz4mbHQ7IUVMRU1FTlQgZm9vICgoeGxpbms6YXJjIHwgeGxpbms6bG9jYXRvcikqKT4KKyZsdDshQVRUTElTVCBmb28KKwl4bGluazp0eXBlICAgICAJKHNpbXBsZXxleHRlbmRlZHxsb2NhdG9yfGFyYykgCSNGSVhFRCAiZXh0ZW5kZWQiCisJeGxpbms6cm9sZSAgICAgICAgICAgQ0RBVEEgICAgCQkJCQkjSU1QTElFRAorCXhsaW5rOnRpdGxlICAgICAgICAgIENEQVRBICAgIAkJCQkJI0lNUExJRUQKKwl4bGluazpzaG93ZGVmYXVsdCAgICAobmV3fHBhcnNlZHxyZXBsYWNlKSAgICAJI0lNUExJRUQgCisgICAgeGxpbms6YWN0dWF0ZWRlZmF1bHQgKHVzZXJ8YXV0bykgCQkJCSNJTVBMSUVEICZndDs8L2VnPgorCisJVGhlIGZvbGxvd2luZyB0d28gZXhhbXBsZXMgZGVtb25zdHJhdGUgaG93IGVhY2ggb2YgdGhlIGFib3ZlIG1pZ2h0IGFwcGVhciB3aXRoaW4gYSBkb2N1bWVudCBpbnN0YW5jZS4gTm90ZSB0aGF0IHRoZSBjb250ZW50IG9mIHRoZXNlIGV4YW1wbGVzIHdvdWxkIGJlIG90aGVyIGVsZW1lbnRzLiBGb3IgYnJldml0eSdzIHNha2UsIHRoZXkndmUgYmVlbiBsZWZ0IGJsYW5rLiBUaGUgZmlyc3QgZXhhbXBsZSBzaG93cyBob3cgdGhlIGxpbmsgbWlnaHQgYXBwZWFyLCB1c2luZyBhbiBleHBsaWNpdCBYTGluayBleHRlbmRlZCBsaW5rOgorCis8ZWc+Jmx0O3hsaW5rOmV4dGVuZGVkIHJvbGU9ImFkZHJlc3MgYm9vayIgdGl0bGU9IkJlbidzIEFkZHJlc3MgQm9vayIgc2hvd2RlZmF1bHQ9InJlcGxhY2UiIGFjdHVhdGVkZWZhdWx0PSJ1c2VyIiZndDsgLi4uICZsdDsveGxpbms6ZXh0ZW5kZWQmZ3Q7PC9lZz4KKworCUFuZCB0aGUgc2Vjb25kIHNob3dzIGhvdyB0aGUgbGluayBtaWdodCBhcHBlYXIsIHVzaW5nIGFuIGFyYml0cmFyeSBlbGVtZW50OgorCis8ZWc+Jmx0O2ZvbyB4bGluazp0eXBlPSJleHRlbmRlZCIgeGxpbms6cm9sZT0iYWRkcmVzcyBib29rIiB4bGluazp0aXRsZT0iQmVuJ3MgQWRkcmVzcyBCb29rIiB4bGluazpzaG93ZGVmYXVsdD0icmVwbGFjZSIgeGxpbms6YWN0dWF0ZWRlZmF1bHQ9InVzZXIiJmd0OyAuLi4gJmx0Oy9mb28mZ3Q7PC9lZz4KKwk8L3A+CisKKzwvZGl2Mj4KKworPGRpdjIgaWQ9InhsaW5rLWFyY3MiPgorCTxoZWFkPkFyYyBFbGVtZW50czwvaGVhZD4KKwk8cD48dGVybWRlZiBpZD0iZHQtYXJjIiB0ZXJtPSJBcmMiPkFuIDx0ZXJtPmFyYzwvdGVybT4gaXMgY29udGFpbmVkIHdpdGhpbiBhbiBleHRlbmRlZCBsaW5rIGZvciB0aGUgcHVycG9zZSBvZiBkZWZpbmluZyB0cmF2ZXJzYWwgYmVoYXZpb3IuPC90ZXJtZGVmPiBNb3JlIHRoYW4gb25lIGFyYyBtYXkgYmUgYXNzb2NpYXRlZCB3aXRoIGEgbGluay4gT3RoZXJ3aXNlLCBhcmMgZWxlbWVudHMgZnVuY3Rpb24gZXhhY3RseSBhcyB0aGUgYXJjIGF0dHJpYnV0ZXMgbWlnaHQgbGVhZCBvbiB0byBleHBlY3QuPC9wPgorCTwhLS0gTW9yZSBoZXJlPyAtYmVudCAtLT4KKzwvZGl2Mj4KKworPC9kaXYxPgorPGRpdjE+Cis8aGVhZD5Db25mb3JtYW5jZTwvaGVhZD4KKzxwPkFuIGVsZW1lbnQgY29uZm9ybXMgdG8gWExpbmsgaWY6ICA8b2xpc3Q+Cis8aXRlbT48cD5UaGUgZWxlbWVudCBoYXMgYW4gPGNvZGU+eG1sOmxpbms8L2NvZGU+IGF0dHJpYnV0ZSB3aG9zZSB2YWx1ZSBpcworb25lIG9mIHRoZSBhdHRyaWJ1dGUgdmFsdWVzIHByZXNjcmliZWQgYnkgdGhpcyBzcGVjaWZpY2F0aW9uLCBhbmQ8L3A+PC9pdGVtPgorPGl0ZW0+PHA+dGhlIGVsZW1lbnQgYW5kIGFsbCBvZiBpdHMgYXR0cmlidXRlcyBhbmQgY29udGVudCBhZGhlcmUgdG8gdGhlCitzeW50YWN0aWMKK3JlcXVpcmVtZW50cyBpbXBvc2VkIGJ5IHRoZSBjaG9zZW4gPGNvZGU+eG1sOmxpbms8L2NvZGU+IGF0dHJpYnV0ZSB2YWx1ZSwKK2FzIHByZXNjcmliZWQgaW4gdGhpcyBzcGVjaWZpY2F0aW9uLjwvcD48L2l0ZW0+Cis8L29saXN0PjwvcD4KKzxwPk5vdGUgdGhhdCBjb25mb3JtYW5jZSBpcyBhc3Nlc3NlZCBhdCB0aGUgbGV2ZWwgb2YgaW5kaXZpZHVhbCBlbGVtZW50cywKK3JhdGhlciB0aGFuIHdob2xlIFhNTCBkb2N1bWVudHMsIGJlY2F1c2UgWExpbmsgYW5kIG5vbi1YTGluayBsaW5raW5nIG1lY2hhbmlzbXMKK21heSBiZSB1c2VkIHNpZGUgYnkgc2lkZSBpbiBhbnkgb25lIGRvY3VtZW50LjwvcD4KKzxwPkFuIGFwcGxpY2F0aW9uIGNvbmZvcm1zIHRvIFhMaW5rIGlmIGl0IGludGVycHJldHMgWExpbmstY29uZm9ybWluZyBlbGVtZW50cworYWNjb3JkaW5nIHRvIGFsbCByZXF1aXJlZCBzZW1hbnRpY3MgcHJlc2NyaWJlZCBieSB0aGlzIHNwZWNpZmljYXRpb24gYW5kLAorZm9yIGFueSBvcHRpb25hbCBzZW1hbnRpY3MgaXQgY2hvb3NlcyB0byBzdXBwb3J0LCBzdXBwb3J0cyB0aGVtIGluIHRoZSB3YXkKK3ByZXNjcmliZWQuIDwhLS1JZi93aGVuIHdlIHNwbGl0IG91dCB0aGUgWExpbmtmdW5jdGlvbmFsaXR5CisoZS5nLiBpbmxpbmUgbGlua3MgYW5kIG91dC1vZi1saW5lIGxpbmtzKSwgdGhlCitjb25mb3JtYW5jZSBsYW5ndWFnZSB3aWxsIGhhdmUgdG8gYWRkcmVzcyB0aGUgZGlmZmVyZW50CitsZXZlbHMgb2Ygc3VwcG9ydC4gLWVsbS0tPiA8L3A+Cis8L2RpdjE+Cis8L2JvZHk+PGJhY2s+Cis8ZGl2MSBpZD0idW5maW5pc2hlZCI+Cis8aGVhZD5VbmZpbmlzaGVkIFdvcms8L2hlYWQ+Cis8ZGl2Mj4KKzxoZWFkPlN0cnVjdHVyZWQgVGl0bGVzPC9oZWFkPgorPHA+VGhlIHNpbXBsZSB0aXRsZSBtZWNoYW5pc20gZGVzY3JpYmVkIGluIHRoaXMgZHJhZnQgaXMgaW5zdWZmaWNpZW50IHRvIGNvcGUKK3dpdGggaW50ZXJuYXRpb25hbGl6YXRpb24gb3IgdGhlIHVzZSBvZiBtdWx0aW1lZGlhIGluIGxpbmsgdGl0bGVzLiBBIGZ1dHVyZQordmVyc2lvbiB3aWxsIHByb3ZpZGUgYSBtZWNoYW5pc20gZm9yIHRoZSB1c2Ugb2Ygc3RydWN0dXJlZCBsaW5rIHRpdGxlcy48L3A+Cis8L2RpdjI+Cis8L2RpdjE+Cis8ZGl2MT4KKzxoZWFkPlJlZmVyZW5jZXM8L2hlYWQ+Cis8Ymxpc3Q+Cis8YmlibCBpZD0ieHB0ciIga2V5PSJYUFRSIj5FdmUgTWFsZXIgYW5kIFN0ZXZlIERlUm9zZSwgZWRpdG9ycy4gPHRpdGxlcmVmPgorWE1MIFBvaW50ZXIgTGFuZ3VhZ2UgKFhQb2ludGVyKSBWMS4wPC90aXRsZXJlZj4uIEFyYm9yVGV4dCwgSW5zbywgYW5kIEJyb3duCitVbml2ZXJzaXR5LiBCdXJsaW5ndG9uLCBTZWVrb25rLCBldCBhbC46IFdvcmxkIFdpZGUgV2ViIENvbnNvcnRpdW0sIDE5OTguCisoU2VlIDxsb2MgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvV0QteHB0ciI+aHR0cDovL3d3dy53My5vcmcvVFIvV0QteHB0cgorIDwvbG9jPi4pPC9iaWJsPgorPGJpYmwgaWQ9ImlzbzEwNzQ0IiBrZXk9IklTTy9JRUMgMTA3NDQiPklTTyAoSW50ZXJuYXRpb25hbCBPcmdhbml6YXRpb24gZm9yCitTdGFuZGFyZGl6YXRpb24pLiA8dGl0bGVyZWY+SVNPL0lFQyAxMDc0NC0xOTkyIChFKS4gSW5mb3JtYXRpb24gdGVjaG5vbG9neQorLSBIeXBlcm1lZGlhL1RpbWUtYmFzZWQgU3RydWN0dXJpbmcgTGFuZ3VhZ2UgKEh5VGltZSkuPC90aXRsZXJlZj4gW0dlbmV2YV06CitJbnRlcm5hdGlvbmFsIE9yZ2FuaXphdGlvbiBmb3IgU3RhbmRhcmRpemF0aW9uLCAxOTkyLiA8dGl0bGVyZWY+RXh0ZW5kZWQKK0ZhY2lsaXRpZXMKK0FubmV4LjwvdGl0bGVyZWY+IFtHZW5ldmFdOiBJbnRlcm5hdGlvbmFsIE9yZ2FuaXphdGlvbiBmb3IgU3RhbmRhcmRpemF0aW9uLAorMTk5Ni4gKFNlZSAgPGxvYworaHJlZj0iaHR0cDovL3d3dy5vcm5sLmdvdi9zZ21sL3dnOC9oeXRpbWUvaHRtbC9pczEwNzQ0ci5odG1sIj5odHRwOi8vd3d3Lm9ybmwuZ28KK3Yvc2dtbC93ZzgvaHl0aW1lL2h0bWwvaXMxMDc0NHIuaHRtbCA8L2xvYz4gPCEtLXAgbS1yIHNheXMgdGhpcyBsaW5rIGlzCiticm9rZW4uIGVsbSAtLT4gKS48L2JpYmw+Cis8YmlibCBpZD0icmZjMTczOCIga2V5PSJJRVRGIFJGQyAxNzM4Ij5JRVRGIChJbnRlcm5ldCBFbmdpbmVlcmluZyBUYXNrCitGb3JjZSkuIDx0aXRsZXJlZj4KK1JGQyAxNzM4OiBVbmlmb3JtIFJlc291cmNlIExvY2F0b3JzPC90aXRsZXJlZj4uIDE5OTEuIChTZWUgIDxsb2MKK2hyZWY9Imh0dHA6Ly93d3cudzMub3JnL0FkZHJlc3NpbmcvcmZjMTczOC50eHQiPgoraHR0cDovL3d3dy53My5vcmcvQWRkcmVzc2luZy9yZmMxNzM4LnR4dDwvbG9jPikuPC9iaWJsPgorPGJpYmwgaWQ9InJmYzE4MDgiIGtleT0iSUVURiBSRkMgMTgwOCI+SUVURiAoSW50ZXJuZXQgRW5naW5lZXJpbmcgVGFzaworRm9yY2UpLiA8dGl0bGVyZWY+CitSRkMgMTgwODogUmVsYXRpdmUgVW5pZm9ybSBSZXNvdXJjZSBMb2NhdG9yczwvdGl0bGVyZWY+LiAxOTk1LiAoU2VlICA8bG9jCitocmVmPSJodHRwOi8vd3d3LnczLm9yZy9BZGRyZXNzaW5nL3JmYzE4MDgudHh0Ij5odHRwOi8vd3d3LnczLm9yZy9BZGRyZXNzaW5nL3JmYworMTgwOC50eHQgPC9sb2M+KS48L2JpYmw+Cis8YmlibCBpZD0idGVpIiBrZXk9IlRFSSI+Qy4gTS4gU3BlcmJlcmctTWNRdWVlbiBhbmQgTG91IEJ1cm5hcmQsIGVkaXRvcnMuCis8dGl0bGVyZWY+CitHdWlkZWxpbmVzIGZvciBFbGVjdHJvbmljIFRleHQgRW5jb2RpbmcgYW5kIEludGVyY2hhbmdlPC90aXRsZXJlZj4uIEFzc29jaWF0aW9uCitmb3IgQ29tcHV0ZXJzIGFuZCB0aGUgSHVtYW5pdGllcyAoQUNIKSwgQXNzb2NpYXRpb24gZm9yIENvbXB1dGF0aW9uYWwKK0xpbmd1aXN0aWNzCisoQUNMKSwgYW5kIEFzc29jaWF0aW9uIGZvciBMaXRlcmFyeSBhbmQgTGluZ3Vpc3RpYyBDb21wdXRpbmcgKEFMTEMpLiBDaGljYWdvLAorT3hmb3JkOiBUZXh0IEVuY29kaW5nIEluaXRpYXRpdmUsIDE5OTQuIDwhLS0gYWRkIGNpdGUgdG8gRE9NIHdvcmsgLS0+IDwvYmlibD4KKzxiaWJsIGlkPSJjaHVtIiBrZXk9IkNIVU0iPl1TdGV2ZW4gSi4gRGVSb3NlIGFuZCBEYXZpZCBHLiBEdXJhbmQuIDE5OTUuICJUaGUKK1RFSSBIeXBlcnRleHQgR3VpZGVsaW5lcy4iIEluIDx0aXRsZXJlZj5Db21wdXRpbmcgYW5kIHRoZSBIdW1hbml0aWVzCis8L3RpdGxlcmVmPjI5KDMpLgorUmVwcmludGVkIGluIDx0aXRsZXJlZj5UZXh0IEVuY29kaW5nIEluaXRpYXRpdmU6IEJhY2tncm91bmQgYW5kCitDb250ZXh0PC90aXRsZXJlZj4sCitlZC4gTmFuY3kgSWRlIGFuZCBKZWFuIHJvbmlzIDwhLS0gZml4IHRoaXMgbmFtZSAtLT4sIElTQk4gMC03OTIzLTM3MDQtMi4gPC9iaWJsPgorPC9ibGlzdD48L2RpdjE+Cis8L2JhY2s+PC9zcGVjPgorPD9QdWIgKjAwMDAwNTI1NzU/PgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3dhcC54bWwgYi9saWJ4bWwyL3Rlc3Qvd2FwLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNzk1NTA5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3dhcC54bWwKQEAgLTAsMCArMSwyNyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IURPQ1RZUEUgd21sIFBVQkxJQyAiLS8vV0FQRk9SVU0vL0RURCBXTUwgMS4xLy9FTiIKKyJodHRwOi8vZGFyay53YXBpdC5jb20vdnN3YXAvdGVzdHMvd2FwL0RURC93bWwxMS5kdGQiPgorPCEtLSAoQykgMTk5OSwgMjAwMCBXQVAgRm9ydW0gTHRkLiAgQWxsIHJpZ2h0cyByZXNlcnZlZCAtLT4KKzx3bWw+Cis8Y2FyZCBpZD0iY2FyZDEiPgorPG9uZXZlbnQgdHlwZT0ib25lbnRlcmZvcndhcmQiPgorPGdvIGhyZWY9Ii92c3dhcC9ydW4vcmVzdWx0LmVtbCI+CisgICAgICAgIDxwb3N0ZmllbGQgbmFtZT0idmFyIiB2YWx1ZT0iJiMzNjt0ZXN0Ii8+CisgICAgICAgIDxwb3N0ZmllbGQgbmFtZT0idiIgdmFsdWU9ImRhcmsiLz4KKyAgICAgICAgPHBvc3RmaWVsZCBuYW1lPSJ0cyIgdmFsdWU9IjAwMDMiLz4KKyAgICAgICAgPHBvc3RmaWVsZCBuYW1lPSJ0cCIgdmFsdWU9IndtbC9zdGF0ZS92YXJpYWJsZXMvcGFyc2luZy8xIi8+CisgICAgICAgIDxwb3N0ZmllbGQgbmFtZT0idGkiIHZhbHVlPSIxIi8+CisgICAgICAgIDxwb3N0ZmllbGQgbmFtZT0iZXhwZWN0ZWQiIHZhbHVlPSJ2YXI6cGFzcyIvPgorPC9nbz4KKzwvb25ldmVudD4KKzxwPklmIGF1dG9tYXRpYyB0ZXN0aW5nIGZhaWxlZCwgc2VsZWN0IDxhbmNob3I+RmFpbGVkPGdvCitocmVmPScvdnN3YXAvcnVuL3Jlc3VsdC5lbWwnPgorICAgICAgICA8cG9zdGZpZWxkIG5hbWU9IlNVQk1JVCIgdmFsdWU9Ik5vIi8+PHBvc3RmaWVsZCBuYW1lPSJ2IgordmFsdWU9ImRhcmsiLz4KKyAgICAgICAgPHBvc3RmaWVsZCBuYW1lPSJ0cyIgdmFsdWU9IjAwMDMiLz4KKyAgICAgICAgPHBvc3RmaWVsZCBuYW1lPSJ0cCIgdmFsdWU9IndtbC9zdGF0ZS92YXJpYWJsZXMvcGFyc2luZy8xIi8+CisgICAgICAgIDxwb3N0ZmllbGQgbmFtZT0idGkiIHZhbHVlPSIxIi8+CisgICAgICAgIDxwb3N0ZmllbGQgbmFtZT0iZXhwZWN0ZWQiIHZhbHVlPSJ2YXI6cGFzcyIvPjwvZ28+PC9hbmNob3I+LjwvcD4KKzwvY2FyZD4KKworPC93bWw+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvd2FybmluZy9lbnQ4IGIvbGlieG1sMi90ZXN0L3dhcm5pbmcvZW50OApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MjQwOTM5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3dhcm5pbmcvZW50OApAQCAtMCwwICsxLDMgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCFET0NUWVBFIGEgU1lTVEVNICJhLmR0ZCI+Cis8YT4gJnVua25vd247IGJ1dCBPa2F5IDwvYT4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC93YXJuaW5nL2VudDkgYi9saWJ4bWwyL3Rlc3Qvd2FybmluZy9lbnQ5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAwOWUzMjIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvd2FybmluZy9lbnQ5CkBAIC0wLDAgKzEsNyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IURPQ1RZUEUgRVhBTVBMRSBTWVNURU0gImV4YW1wbGUuZHRkIiBbCis8IUVOVElUWSB4bWwgIjxwcmVmaXg6bm9kZT5wcmVmaXggaXMgaW5kZWNsYXJlZCBoZXJlPC9wcmVmaXg6bm9kZT4iPgorXT4KKzxFWEFNUExFIHhtbG5zOnByZWZpeD0iaHR0cDovL2V4YW1wbGUuY29tIj4KKyAgICAmeG1sOworPC9FWEFNUExFPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3dpbmJsYW5rcy54bWwgYi9saWJ4bWwyL3Rlc3Qvd2luYmxhbmtzLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZjkzN2YyCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3dpbmJsYW5rcy54bWwKQEAgLTAsMCArMSw1IEBACis8YT4NCisgICAgPEI+DQorICAgICAgICA8Qy8+ICAgDQorPC9CPg0KKzwvYT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3Qvd21sLnhtbCBiL2xpYnhtbDIvdGVzdC93bWwueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFjZmVjYzcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3Qvd21sLnhtbApAQCAtMCwwICsxLDExIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiID8+Cis8IURPQ1RZUEUgd21sIFBVQkxJQyAiLS8vV0FQRk9SVU0vL0RURCBXTUwgMS4xLy9FTiIgImh0dHA6Ly93d3cud2FwZm9ydW0ub3JnL0RURC93bWxfMS4xLnhtbCI+Cis8d21sPgorICA8Y2FyZCBpZD0iY2FyZDEiIHRpdGxlPSJSdWJyaXF1ZXMgNzUwMDgiPgorCTxwPgorCQk8YSBocmVmPSJydWJtZW51LmFzcD9DUD03NTAwOCYjMzg7UkI9MDEiPkNpbiYjMjMzO21hPC9hPjxici8+CisJPC9wPgorCis8L2NhcmQ+Cis8L3dtbD4KKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3hodG1sMSBiL2xpYnhtbDIvdGVzdC94aHRtbDEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzBlM2EzNAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC94aHRtbDEKQEAgLTAsMCArMSwzNCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhRE9DVFlQRSBodG1sIAorICAgICBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBTdHJpY3QvL0VOIgorICAgICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS1zdHJpY3QuZHRkIj4KKzwhLS0gMy4xLjEgMy8gLS0+Cis8aHRtbCB4bWw6bGFuZz0iZW4iIGxhbmc9ImVuIj4KKyAgPGhlYWQ+CisgICAgPHRpdGxlPlZpcnR1YWwgTGlicmFyeTwvdGl0bGU+CisgIDwvaGVhZD4KKyAgPCEtLSA0LjggLS0+CisgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKyAgLi4uIHVuZXNjYXBlZCBzY3JpcHQgJmx0OyBjb250ZW50IC4uLgorICA8L3NjcmlwdD4KKyAgPGJvZHk+CisgICAgPHA+TW92ZWQgdG8gPGEgaHJlZj0iaHR0cDovL2V4YW1wbGUub3JnLyI+ZXhhbXBsZS5vcmc8L2E+LjwvcD4KKyAgPC9ib2R5PgorICA8IS0tIEMyIC0tPgorICA8aW1nIHNyYz0iZm9vLmdpZiIgYWx0PSJmb28iLz4KKyAgPCEtLSBDMyAtLT4KKyAgPHAvPgorICA8IS0tIEM3IC0tPgorICA8cCBsYW5nPSJmciI+Y291Y291PC9wPgorICA8cCB4bWw6bGFuZz0iZnIiPnNhbHV0PC9wPgorICA8IS0tIEM4IC0tPgorICA8cCBuYW1lPSJmcmFnaWQiPnRlc3Q8L3A+CisgIDwhLS0gNC41IC0tPgorICA8ZGwgY29tcGFjdD0iIj4KKyAgPGR0PkludGVybmV0IEVuZ2luZWVyaW5nIFRhc2sgRm9yY2U8L2R0PgorICA8ZGQ+QW4gb3JnYW5pemF0aW9uIHdoaWNoIGVzdGFibGlzaGVzIHRlY2huaWNhbCBzdGFuZGFyZHMgZm9yIHRoZSBJbnRlcm5ldDwvZGQ+CisgIDwvZGw+CisKKzwvaHRtbD4KKworCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QveGh0bWxjb21wIGIvbGlieG1sMi90ZXN0L3hodG1sY29tcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40N2RkMmE3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3hodG1sY29tcApAQCAtMCwwICsxLDggQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIKKyJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS1zdHJpY3QuZHRkIj4KKzxodG1sPgorICA8Ym9keT4KKyAgICA8aDE+PGFiYnI+YTwvYWJicj4gYjwvaDE+CisgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC94bWwxIGIvbGlieG1sMi90ZXN0L3htbDEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDBkZjI0YQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC94bWwxCkBAIC0wLDAgKzEsNyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IURPQ1RZUEUgdGVzdCBbCis8IUVOVElUWSBleGFtcGxlICI8cD5BbiBhbXBlcnNhbmQgKCYjMzg7IzM4OykgbWF5IGJlIGVzY2FwZWQKKyBudW1lcmljYWxseSAoJiMzODsjMzg7IzM4Oykgb3Igd2l0aCBhIGdlbmVyYWwgZW50aXR5CisgICgmYW1wO2FtcDspLjwvcD4iID4KK10+Cis8dGVzdD4mZXhhbXBsZTs8L3Rlc3Q+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QveG1sMiBiL2xpYnhtbDIvdGVzdC94bWwyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkyMjMxNGIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QveG1sMgpAQCAtMCwwICsxLDggQEAKKzw/eG1sIHZlcnNpb249JzEuMCc/PgorPCFET0NUWVBFIHRlc3QgWworPCFFTEVNRU5UIHRlc3QgKCNQQ0RBVEEpID4KKzwhRU5USVRZICUgeHggJyYjMzc7eno7Jz4KKzwhRU5USVRZICUgenogJyYjNjA7IUVOVElUWSB0cmlja3kgImVycm9yLXByb25lIiA+JyA+CisleHg7CitdPgorPHRlc3Q+VGhpcyBzYW1wbGUgc2hvd3MgYSAmdHJpY2t5OyBtZXRob2QuPC90ZXN0PgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3htbGlkL2lkX2VycjEueG1sIGIvbGlieG1sMi90ZXN0L3htbGlkL2lkX2VycjEueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ4YzQ3Y2MKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QveG1saWQvaWRfZXJyMS54bWwKQEAgLTAsMCArMSBAQAorPGZvbyB4bWw6aWQ9IjBiYXIiLz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC94bWxpZC9pZF9lcnIyLnhtbCBiL2xpYnhtbDIvdGVzdC94bWxpZC9pZF9lcnIyLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45OTAxMGE3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3htbGlkL2lkX2VycjIueG1sCkBAIC0wLDAgKzEsNSBAQAorPCFET0NUWVBFIGZvbyBbCis8IUVMRU1FTlQgZm9vIEVNUFRZPgorPCFBVFRMSVNUIGZvbyB4bWw6aWQgQ0RBVEEgI0lNUExJRUQ+CitdPgorPGZvbyB4bWw6aWQ9ImJhciIvPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3htbGlkL2lkX3RzdDEueG1sIGIvbGlieG1sMi90ZXN0L3htbGlkL2lkX3RzdDEueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdjMzI0OWMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QveG1saWQvaWRfdHN0MS54bWwKQEAgLTAsMCArMSBAQAorPGZvbyB4bWw6aWQ9ImJhciIvPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3htbGlkL2lkX3RzdDIueG1sIGIvbGlieG1sMi90ZXN0L3htbGlkL2lkX3RzdDIueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJiZjU4NjEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3QveG1saWQvaWRfdHN0Mi54bWwKQEAgLTAsMCArMSBAQAorPG46Zm9vIHhtbDppZD0iYmFyIi8+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QveG1saWQvaWRfdHN0My54bWwgYi9saWJ4bWwyL3Rlc3QveG1saWQvaWRfdHN0My54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzMxNmExMwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC94bWxpZC9pZF90c3QzLnhtbApAQCAtMCwwICsxIEBACis8ZjpvOm8geG1sOmlkPSJiYXIiLz4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC94bWxpZC9pZF90c3Q0LnhtbCBiL2xpYnhtbDIvdGVzdC94bWxpZC9pZF90c3Q0LnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYTA1N2EzCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3htbGlkL2lkX3RzdDQueG1sCkBAIC0wLDAgKzEsNCBAQAorPGRvYz4KKzxmb28geG1sOmlkPSJiYXIiLz4KKzxlcnIgeG1sOmlkPSJiYXIiLz4KKzwvZG9jPgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0L3hzZHRlc3QveHNkdGVzdC54bWwgYi9saWJ4bWwyL3Rlc3QveHNkdGVzdC94c2R0ZXN0LnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iOGE2ZGU5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3hzZHRlc3QveHNkdGVzdC54bWwKQEAgLTAsMCArMSw4MDYgQEAKKzx4c2R0ZXN0PgorPGRhdGF0eXBlIG5hbWU9ImRhdGVUaW1lIj4KKzx2YWxpZD4yMDAxLTEyLTAxVDE5OjQ1OjAwPC92YWxpZD4KKzx2YWxpZD4yMDAxLTEyLTAxVDE5OjQ1OjAwWjwvdmFsaWQ+Cis8dmFsaWQ+MjAwMS0xMi0wMVQxOTo0NTowMC0xMTo1OTwvdmFsaWQ+Cis8dmFsaWQ+MDAwMS0wMS0xMlQwMDowMDowMCsxMjowMDwvdmFsaWQ+Cis8aW52YWxpZD4yMDAxLTEyLTFUMTk6NDU6MDArMjQ6MDA8L2ludmFsaWQ+Cis8aW52YWxpZD4yMDAxLTEyLTFUMTk6NDU6MDA8L2ludmFsaWQ+Cis8ZXF1aXY+Cis8Y2xhc3M+CisgIDx2YWx1ZT4yMDAxLTEyLTAxVDE5OjQ1OjAwPC92YWx1ZT4KKyAgPHZhbHVlPjIwMDEtMTItMDFUMTk6NDU6MDAuMDA8L3ZhbHVlPgorPC9jbGFzcz4KKzxjbGFzcz4KKyAgPHZhbHVlPjIwMDEtMTItMDFUMTk6NDU6MDBaPC92YWx1ZT4KKyAgPHZhbHVlPjIwMDEtMTItMDFUMTk6NDU6MDAuMDBaPC92YWx1ZT4KKyAgPHZhbHVlPjIwMDEtMTItMDFUMjA6NDU6MDArMDE6MDA8L3ZhbHVlPgorPC9jbGFzcz4KKzwvZXF1aXY+Cis8L2RhdGF0eXBlPgorPGRhdGF0eXBlIG5hbWU9ImFueVVSSSI+Cis8dmFsaWQ+Zm9vYmFyPC92YWxpZD4KKzx2YWxpZD5odHRwOi8vd3d3LmV4YW1wbGUuY29tPC92YWxpZD4KKzx2YWxpZD5odHRwOi8vamklNmRAd3d3LmV4YW1wbGUuY29tPC92YWxpZD4KKzx2YWxpZD5odHRwOi8vd3d3LmV4YW1wbGUuY28lNmQ8L3ZhbGlkPgorPHZhbGlkPm5vc3VjaHNjaGVtZTpzdHVmZjwvdmFsaWQ+Cis8aW52YWxpZD5mb28kYmFyOnN0dWZmPC9pbnZhbGlkPgorPGludmFsaWQ+ZiVvb2JhcjwvaW52YWxpZD4KKzwvZGF0YXR5cGU+Cis8ZGF0YXR5cGUgbmFtZT0iaW50ZWdlciI+Cis8dmFsaWQ+MTA8L3ZhbGlkPgorPHZhbGlkPjAxPC92YWxpZD4KKzx2YWxpZD4wMTIzNDU2Nzg5PC92YWxpZD4KKzx2YWxpZD4rMTA8L3ZhbGlkPgorPHZhbGlkPi0xMDwvdmFsaWQ+Cis8aW52YWxpZD4xLjA8L2ludmFsaWQ+Cis8aW52YWxpZD4uMTwvaW52YWxpZD4KKzx2YWxpZD45OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5PC92YWxpZD4KKzxpbnZhbGlkPjEuPC9pbnZhbGlkPgorPGludmFsaWQ+MC48L2ludmFsaWQ+Cis8ZXF1aXY+Cis8Y2xhc3M+CisgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgPHZhbHVlPiswPC92YWx1ZT4KKyAgPHZhbHVlPi0wPC92YWx1ZT4KKyAgPHZhbHVlPjAwPC92YWx1ZT4KKzwvY2xhc3M+Cis8Y2xhc3M+CisgIDx2YWx1ZT4xMDwvdmFsdWU+CisgIDx2YWx1ZT4rMTA8L3ZhbHVlPgorICA8dmFsdWU+KzAwMTA8L3ZhbHVlPgorICA8dmFsdWU+MDEwPC92YWx1ZT4KKzwvY2xhc3M+Cis8Y2xhc3M+CisgIDx2YWx1ZT4tMTA8L3ZhbHVlPgorICA8dmFsdWU+LTAwMTA8L3ZhbHVlPgorICA8dmFsdWU+LTAxMDwvdmFsdWU+Cis8L2NsYXNzPgorPC9lcXVpdj4KKzwvZGF0YXR5cGU+Cis8ZGF0YXR5cGUgbmFtZT0iZHVyYXRpb24iPgorPHZhbGlkPlAxWTwvdmFsaWQ+Cis8dmFsaWQ+UDFZME0yRFQxN0g1TTEyUzwvdmFsaWQ+Cis8dmFsaWQ+LVAxWTwvdmFsaWQ+Cis8dmFsaWQ+UDYwRDwvdmFsaWQ+Cis8dmFsaWQ+UFQyNEg8L3ZhbGlkPgorPHZhbGlkPlBUMS4yUzwvdmFsaWQ+Cis8aW52YWxpZD5QMjRoPC9pbnZhbGlkPgorPGludmFsaWQ+UDI0SDwvaW52YWxpZD4KKzxpbnZhbGlkPlAxWVQ8L2ludmFsaWQ+Cis8aW52YWxpZD5QPC9pbnZhbGlkPgorPGludmFsaWQ+LVA8L2ludmFsaWQ+Cis8ZXF1aXY+CisgIDxjbGFzcz4KKyAgICA8dmFsdWU+LVA2TTwvdmFsdWU+CisgIDwvY2xhc3M+CisgIDxjbGFzcz4KKyAgICA8dmFsdWU+UDBZPC92YWx1ZT4KKyAgICA8dmFsdWU+LVAwWTwvdmFsdWU+CisgIDwvY2xhc3M+CisgIDxjbGFzcz4KKyAgICA8dmFsdWU+UDFZPC92YWx1ZT4KKyAgICA8dmFsdWU+UDAwMVk8L3ZhbHVlPgorICAgIDx2YWx1ZT5QMDAxWTBNPC92YWx1ZT4KKyAgICA8dmFsdWU+UDFZME0wRFQwSDBNMC4wUzwvdmFsdWU+CisgIDwvY2xhc3M+CisgIDxjbGFzcz4KKyAgICA8dmFsdWU+UDZNPC92YWx1ZT4KKyAgPC9jbGFzcz4KKyAgPGNsYXNzPgorICAgIDx2YWx1ZT5QVDZNPC92YWx1ZT4KKyAgPC9jbGFzcz4KKyAgPGNsYXNzPgorICAgIDx2YWx1ZT5QVDFTPC92YWx1ZT4KKyAgICA8dmFsdWU+UFQxLjBTPC92YWx1ZT4KKyAgPC9jbGFzcz4KKzwvZXF1aXY+Cis8bGVzc1RoYW4+CisgIDx2YWx1ZT5QVDFNPC92YWx1ZT4KKyAgPHZhbHVlPlBUNjFTPC92YWx1ZT4KKzwvbGVzc1RoYW4+Cis8bGVzc1RoYW4+CisgIDx2YWx1ZT5QVDU5UzwvdmFsdWU+CisgIDx2YWx1ZT5QVDFNPC92YWx1ZT4KKzwvbGVzc1RoYW4+Cis8aW5jb21wYXJhYmxlPgorICA8dmFsdWU+UFQ2MFM8L3ZhbHVlPgorICA8dmFsdWU+UFQxTTwvdmFsdWU+Cis8L2luY29tcGFyYWJsZT4KKzxsZXNzVGhhbj4KKyAgPHZhbHVlPlBUMUg8L3ZhbHVlPgorICA8dmFsdWU+UFQ2MU08L3ZhbHVlPgorPC9sZXNzVGhhbj4KKzxsZXNzVGhhbj4KKyAgPHZhbHVlPlBUNTlNPC92YWx1ZT4KKyAgPHZhbHVlPlBUMUg8L3ZhbHVlPgorPC9sZXNzVGhhbj4KKzxpbmNvbXBhcmFibGU+CisgIDx2YWx1ZT5QVDYwTTwvdmFsdWU+CisgIDx2YWx1ZT5QVDFIPC92YWx1ZT4KKzwvaW5jb21wYXJhYmxlPgorPGxlc3NUaGFuPgorICA8dmFsdWU+UDFEPC92YWx1ZT4KKyAgPHZhbHVlPlBUMjVIPC92YWx1ZT4KKzwvbGVzc1RoYW4+Cis8bGVzc1RoYW4+CisgIDx2YWx1ZT5QVDIzSDwvdmFsdWU+CisgIDx2YWx1ZT5QMUQ8L3ZhbHVlPgorPC9sZXNzVGhhbj4KKzxpbmNvbXBhcmFibGU+CisgIDx2YWx1ZT5QMUQ8L3ZhbHVlPgorICA8dmFsdWU+UFQyNEg8L3ZhbHVlPgorPC9pbmNvbXBhcmFibGU+Cis8bGVzc1RoYW4+CisgIDx2YWx1ZT5QMVk8L3ZhbHVlPgorICA8dmFsdWU+UDEzTTwvdmFsdWU+Cis8L2xlc3NUaGFuPgorPGxlc3NUaGFuPgorICA8dmFsdWU+UDExTTwvdmFsdWU+CisgIDx2YWx1ZT5QMVk8L3ZhbHVlPgorPC9sZXNzVGhhbj4KKzxpbmNvbXBhcmFibGU+CisgIDx2YWx1ZT5QMTJNPC92YWx1ZT4KKyAgPHZhbHVlPlAxWTwvdmFsdWU+Cis8L2luY29tcGFyYWJsZT4KKzxsZXNzVGhhbj4KKyAgPHZhbHVlPlAzNjREPC92YWx1ZT4KKyAgPHZhbHVlPlAxWTwvdmFsdWU+Cis8L2xlc3NUaGFuPgorPGluY29tcGFyYWJsZT4KKyAgPHZhbHVlPlAxWTwvdmFsdWU+CisgIDx2YWx1ZT5QMzY1RDwvdmFsdWU+Cis8L2luY29tcGFyYWJsZT4KKzxpbmNvbXBhcmFibGU+CisgIDx2YWx1ZT5QMVk8L3ZhbHVlPgorICA8dmFsdWU+UDM2NkQ8L3ZhbHVlPgorPC9pbmNvbXBhcmFibGU+Cis8bGVzc1RoYW4+CisgIDx2YWx1ZT5QMVk8L3ZhbHVlPgorICA8dmFsdWU+UDM2N0Q8L3ZhbHVlPgorPC9sZXNzVGhhbj4KKzxsZXNzVGhhbj4KKyAgPHZhbHVlPlAxNDlEPC92YWx1ZT4KKyAgPHZhbHVlPlA1TTwvdmFsdWU+Cis8L2xlc3NUaGFuPgorPGluY29tcGFyYWJsZT4KKyAgPHZhbHVlPlAxNTBEPC92YWx1ZT4KKyAgPHZhbHVlPlA1TTwvdmFsdWU+Cis8L2luY29tcGFyYWJsZT4KKzxpbmNvbXBhcmFibGU+CisgIDx2YWx1ZT5QMTUxRDwvdmFsdWU+CisgIDx2YWx1ZT5QNU08L3ZhbHVlPgorPC9pbmNvbXBhcmFibGU+Cis8aW5jb21wYXJhYmxlPgorICA8dmFsdWU+UDE1MkQ8L3ZhbHVlPgorICA8dmFsdWU+UDVNPC92YWx1ZT4KKzwvaW5jb21wYXJhYmxlPgorPGluY29tcGFyYWJsZT4KKyAgPHZhbHVlPlAxNTNEPC92YWx1ZT4KKyAgPHZhbHVlPlA1TTwvdmFsdWU+Cis8L2luY29tcGFyYWJsZT4KKzxsZXNzVGhhbj4KKyAgPHZhbHVlPlA1TTwvdmFsdWU+CisgIDx2YWx1ZT5QMTU0RDwvdmFsdWU+Cis8L2xlc3NUaGFuPgorPGxlc3NUaGFuPgorICA8dmFsdWU+UDI3RDwvdmFsdWU+CisgIDx2YWx1ZT5QMU08L3ZhbHVlPgorPC9sZXNzVGhhbj4KKzxpbmNvbXBhcmFibGU+CisgIDx2YWx1ZT5QMjhEPC92YWx1ZT4KKyAgPHZhbHVlPlAxTTwvdmFsdWU+Cis8L2luY29tcGFyYWJsZT4KKzxpbmNvbXBhcmFibGU+CisgIDx2YWx1ZT5QMjlEPC92YWx1ZT4KKyAgPHZhbHVlPlAxTTwvdmFsdWU+Cis8L2luY29tcGFyYWJsZT4KKzxpbmNvbXBhcmFibGU+CisgIDx2YWx1ZT5QMzBEPC92YWx1ZT4KKyAgPHZhbHVlPlAxTTwvdmFsdWU+Cis8L2luY29tcGFyYWJsZT4KKzxpbmNvbXBhcmFibGU+CisgIDx2YWx1ZT5QMzFEPC92YWx1ZT4KKyAgPHZhbHVlPlAxTTwvdmFsdWU+Cis8L2luY29tcGFyYWJsZT4KKzxsZXNzVGhhbj4KKyAgPHZhbHVlPlAxTTwvdmFsdWU+CisgIDx2YWx1ZT5QMzJEPC92YWx1ZT4KKzwvbGVzc1RoYW4+Cis8L2RhdGF0eXBlPgorPGRhdGF0eXBlIG5hbWU9InRpbWUiPgorPHZhbGlkPjEyOjQ1OjAwPC92YWxpZD4KKzx2YWxpZD4xMjo0NTowMFo8L3ZhbGlkPgorPC9kYXRhdHlwZT4KKzxkYXRhdHlwZSBuYW1lPSJkYXRlIj4KKzx2YWxpZD4xODg2LTEyLTAxPC92YWxpZD4KKzx2YWxpZD4xODg2LTEyLTAxWjwvdmFsaWQ+Cis8bGVzc1RoYW4+CisgIDx2YWx1ZT4xMDY2LTEyLTMxPC92YWx1ZT4KKyAgPHZhbHVlPjE5MDAtMDEtMDE8L3ZhbHVlPgorPC9sZXNzVGhhbj4KKzxsZXNzVGhhbj4KKyAgPHZhbHVlPjE5MDAtMDEtMDE8L3ZhbHVlPgorICA8dmFsdWU+MTkwMC0wMS0wMjwvdmFsdWU+Cis8L2xlc3NUaGFuPgorPC9kYXRhdHlwZT4KKzxkYXRhdHlwZSBuYW1lPSJnWWVhck1vbnRoIj4KKzx2YWxpZD4xOTk2LTEyPC92YWxpZD4KKzx2YWxpZD4xOTk2LTAxPC92YWxpZD4KKzx2YWxpZD4xOTk2LTAxWjwvdmFsaWQ+Cis8aW52YWxpZD4xOTk2LTAwPC9pbnZhbGlkPgorPGVxdWl2PgorPGNsYXNzPjx2YWx1ZT4xOTk2LTAxPC92YWx1ZT48L2NsYXNzPgorPGNsYXNzPgorICA8dmFsdWU+MTk5Ni0wMVo8L3ZhbHVlPgorICA8dmFsdWU+MTk5Ni0wMSswMDowMDwvdmFsdWU+CisgIDx2YWx1ZT4xOTk2LTAxLTAwOjAwPC92YWx1ZT4KKzwvY2xhc3M+Cis8Y2xhc3M+PHZhbHVlPjE5OTYtMDErMDE6MDA8L3ZhbHVlPjwvY2xhc3M+Cis8Y2xhc3M+PHZhbHVlPjE5OTYtMDEtMDE6MDA8L3ZhbHVlPjwvY2xhc3M+Cis8L2VxdWl2PgorPC9kYXRhdHlwZT4KKzxkYXRhdHlwZSBuYW1lPSJnWWVhciI+Cis8dmFsaWQ+MjAwMTwvdmFsaWQ+Cis8dmFsaWQ+MjAwMVo8L3ZhbGlkPgorPGxlc3NUaGFuPgorICA8dmFsdWU+MTk5OTwvdmFsdWU+CisgIDx2YWx1ZT4yMDAwPC92YWx1ZT4KKzwvbGVzc1RoYW4+Cis8bGVzc1RoYW4+CisgIDx2YWx1ZT4xOTk5KzA3OjAwPC92YWx1ZT4KKyAgPHZhbHVlPjIwMDArMDc6MDA8L3ZhbHVlPgorPC9sZXNzVGhhbj4KKzwvZGF0YXR5cGU+Cis8ZGF0YXR5cGUgbmFtZT0iZ01vbnRoRGF5Ij4KKzx2YWxpZD4tLTEyLTAxPC92YWxpZD4KKzx2YWxpZD4tLTEyLTAxWjwvdmFsaWQ+Cis8bGVzc1RoYW4+CisgIDx2YWx1ZT4tLTEyLTAxPC92YWx1ZT4KKyAgPHZhbHVlPi0tMTItMDQ8L3ZhbHVlPgorPC9sZXNzVGhhbj4KKzxsZXNzVGhhbj4KKyAgPHZhbHVlPi0tMTEtMTc8L3ZhbHVlPgorICA8dmFsdWU+LS0xMi0wNDwvdmFsdWU+Cis8L2xlc3NUaGFuPgorPC9kYXRhdHlwZT4KKzxkYXRhdHlwZSBuYW1lPSJnRGF5Ij4KKzx2YWxpZD4tLS0yMDwvdmFsaWQ+Cis8dmFsaWQ+LS0tMjBaPC92YWxpZD4KKzxsZXNzVGhhbj4KKyAgPHZhbHVlPi0tLTAxPC92YWx1ZT4KKyAgPHZhbHVlPi0tLTMxPC92YWx1ZT4KKzwvbGVzc1RoYW4+Cis8L2RhdGF0eXBlPgorPGRhdGF0eXBlIG5hbWU9ImdNb250aCI+Cis8dmFsaWQ+LS0xMjwvdmFsaWQ+Cis8dmFsaWQ+LS0wMTwvdmFsaWQ+Cis8dmFsaWQ+LS0wMVo8L3ZhbGlkPgorPHZhbGlkPiAtLTEyIDwvdmFsaWQ+Cis8aW52YWxpZD4tLS0wMTwvaW52YWxpZD4KKzxpbnZhbGlkPi0tMDA8L2ludmFsaWQ+Cis8aW52YWxpZD4tLTEzPC9pbnZhbGlkPgorPGludmFsaWQ+LSAtMTM8L2ludmFsaWQ+Cis8bGVzc1RoYW4+CisgIDx2YWx1ZT4tLTAxPC92YWx1ZT4KKyAgPHZhbHVlPi0tMTI8L3ZhbHVlPgorPC9sZXNzVGhhbj4KKzxsZXNzVGhhbj4KKyAgPHZhbHVlPi0tMDE8L3ZhbHVlPgorICA8dmFsdWU+LS0wMjwvdmFsdWU+Cis8L2xlc3NUaGFuPgorPC9kYXRhdHlwZT4KKzxkYXRhdHlwZSBuYW1lPSJib29sZWFuIj4KKzx2YWxpZD50cnVlPC92YWxpZD4KKzx2YWxpZD5mYWxzZTwvdmFsaWQ+Cis8dmFsaWQ+MDwvdmFsaWQ+Cis8dmFsaWQ+MTwvdmFsaWQ+Cis8aW52YWxpZD4wMDwvaW52YWxpZD4KKzxpbnZhbGlkPjAwPC9pbnZhbGlkPgorPGludmFsaWQ+MDE8L2ludmFsaWQ+Cis8ZXF1aXY+Cis8Y2xhc3M+PHZhbHVlPnRydWU8L3ZhbHVlPjx2YWx1ZT4xPC92YWx1ZT48L2NsYXNzPgorPGNsYXNzPjx2YWx1ZT5mYWxzZTwvdmFsdWU+PHZhbHVlPjA8L3ZhbHVlPjwvY2xhc3M+Cis8L2VxdWl2PgorPC9kYXRhdHlwZT4KKzxkYXRhdHlwZSBuYW1lPSJiYXNlNjRCaW5hcnkiPgorPHZhbGlkPkFBQUE8L3ZhbGlkPgorPHZhbGlkPmFiY2QgZWZnaCBpamtsIG1ub3AgcXJzdCB1dnd4IHl6QUIgQ0RFRiBHSElKIEtMTU4gT1BRUgorU1RVViBXWFlaIDAxMjMgNDU2NyA4OSsvPC92YWxpZD4KKzx2YWxpZD5CQT09PC92YWxpZD4KKzx2YWxpZD48L3ZhbGlkPgorPHZhbGlkPkJBPT08L3ZhbGlkPgorPHZhbGlkPkJRPT08L3ZhbGlkPgorPHZhbGlkPkJnPT08L3ZhbGlkPgorPHZhbGlkPkJ3PT08L3ZhbGlkPgorPHZhbGlkPkJCQT08L3ZhbGlkPgorPHZhbGlkPkJCQT08L3ZhbGlkPgorPHZhbGlkPkJCRT08L3ZhbGlkPgorPHZhbGlkPkJCST08L3ZhbGlkPgorPHZhbGlkPkJCTT08L3ZhbGlkPgorPHZhbGlkPkJCUT08L3ZhbGlkPgorPHZhbGlkPkJCVT08L3ZhbGlkPgorPHZhbGlkPkJCWT08L3ZhbGlkPgorPHZhbGlkPkJCYz08L3ZhbGlkPgorPHZhbGlkPkJCZz08L3ZhbGlkPgorPHZhbGlkPkJCaz08L3ZhbGlkPgorPHZhbGlkPkJCbz08L3ZhbGlkPgorPHZhbGlkPkJCcz08L3ZhbGlkPgorPHZhbGlkPkJCdz08L3ZhbGlkPgorPHZhbGlkPkJCMD08L3ZhbGlkPgorPHZhbGlkPkJCND08L3ZhbGlkPgorPHZhbGlkPkJCOD08L3ZhbGlkPgorPGludmFsaWQ+PT09PTwvaW52YWxpZD4KKzxpbnZhbGlkPkJCPT08L2ludmFsaWQ+Cis8aW52YWxpZD5CQkI9PC9pbnZhbGlkPgorPGludmFsaWQ+Qj09PTwvaW52YWxpZD4KKzxpbnZhbGlkPkI8L2ludmFsaWQ+Cis8ZXF1aXY+Cis8Y2xhc3M+Cis8dmFsdWU+ZGVhZGJlZWY8L3ZhbHVlPgorPHZhbHVlPmQmI3hBOyYjeEQ7JiN4OTtlIGEgZAorYiBlZWYgPC92YWx1ZT4KKzwvY2xhc3M+Cis8Y2xhc3M+Cis8dmFsdWU+REVBREJFRUY8L3ZhbHVlPgorPHZhbHVlPkQmI3hBOyYjeEQ7JiN4OTtFIEEgRAorQiBFRUYgPC92YWx1ZT4KKzwvY2xhc3M+Cis8L2VxdWl2PgorPGxlbmd0aCB2YWx1ZT0iMCI+PC9sZW5ndGg+Cis8bGVuZ3RoIHZhbHVlPSI2Ij5kZWFkYmVlZjwvbGVuZ3RoPgorPGxlbmd0aCB2YWx1ZT0iMSI+QkE9PTwvbGVuZ3RoPgorPGxlbmd0aCB2YWx1ZT0iMiI+QkJBPTwvbGVuZ3RoPgorPGxlbmd0aCB2YWx1ZT0iMyI+ZGVhZDwvbGVuZ3RoPgorPGxlbmd0aCB2YWx1ZT0iNCI+ZGVhZEJBPT08L2xlbmd0aD4KKzwvZGF0YXR5cGU+Cis8ZGF0YXR5cGUgbmFtZT0iaGV4QmluYXJ5Ij4KKzx2YWxpZD5kZWFkYmVlZjwvdmFsaWQ+Cis8dmFsaWQ+PC92YWxpZD4KKzx2YWxpZD4wMTIzNDU2Nzg5QUJDREVGYWJjZGVmPC92YWxpZD4KKzxpbnZhbGlkPjAwIDAwPC9pbnZhbGlkPgorPGludmFsaWQ+MDAuMDA8L2ludmFsaWQ+Cis8aW52YWxpZD4wRzwvaW52YWxpZD4KKzxlcXVpdj4KKyA8Y2xhc3M+CisgICA8dmFsdWU+MDA8L3ZhbHVlPgorICAgPHZhbHVlPgorCTAwCisgICA8L3ZhbHVlPgorIDwvY2xhc3M+CisgPGNsYXNzPgorICAgPHZhbHVlPjAxPC92YWx1ZT4KKyA8L2NsYXNzPgorIDxjbGFzcz4KKyAgIDx2YWx1ZT4xMDwvdmFsdWU+CisgPC9jbGFzcz4KKyA8Y2xhc3M+CisgICA8dmFsdWU+MGE8L3ZhbHVlPgorICAgPHZhbHVlPjBBPC92YWx1ZT4KKyA8L2NsYXNzPgorPC9lcXVpdj4KKzxsZW5ndGggdmFsdWU9IjAiPjwvbGVuZ3RoPgorPGxlbmd0aCB2YWx1ZT0iMSI+MDA8L2xlbmd0aD4KKzxsZW5ndGggdmFsdWU9IjIiPjAwMDA8L2xlbmd0aD4KKzxsZW5ndGggdmFsdWU9IjIiPiAwMDAwIDwvbGVuZ3RoPgorPGxlbmd0aCB2YWx1ZT0iMiI+QUFBQTwvbGVuZ3RoPgorPC9kYXRhdHlwZT4KKzxkYXRhdHlwZSBuYW1lPSJmbG9hdCI+Cis8dmFsaWQ+MS4wPC92YWxpZD4KKzx2YWxpZD4xLjwvdmFsaWQ+Cis8dmFsaWQ+LjE8L3ZhbGlkPgorPGludmFsaWQ+LSAxPC9pbnZhbGlkPgorPGludmFsaWQ+MSAuMDwvaW52YWxpZD4KKzxpbnZhbGlkPitJTkY8L2ludmFsaWQ+Cis8aW52YWxpZD4rTmFOPC9pbnZhbGlkPgorPGludmFsaWQ+LU5hTjwvaW52YWxpZD4KKzxlcXVpdj4KKzxjbGFzcz4KKyAgPHZhbHVlPjA8L3ZhbHVlPgorICA8dmFsdWU+LTA8L3ZhbHVlPgorICA8dmFsdWU+KzA8L3ZhbHVlPgorICA8dmFsdWU+IDAgPC92YWx1ZT4KKyAgPHZhbHVlPiAwLiA8L3ZhbHVlPgorICA8dmFsdWU+IC4wIDwvdmFsdWU+CisgIDx2YWx1ZT4gMC4wIDwvdmFsdWU+CisgIDx2YWx1ZT4gMGUwIDwvdmFsdWU+CisgIDx2YWx1ZT4gMEUwIDwvdmFsdWU+CisgIDx2YWx1ZT4gMEUrMCA8L3ZhbHVlPgorICA8dmFsdWU+IDBFLTAgPC92YWx1ZT4KKzwvY2xhc3M+Cis8Y2xhc3M+CisgIDx2YWx1ZT4xRTA8L3ZhbHVlPgorICA8dmFsdWU+MC4xRTE8L3ZhbHVlPgorICA8dmFsdWU+MTBFLTE8L3ZhbHVlPgorICA8dmFsdWU+KzE8L3ZhbHVlPgorPC9jbGFzcz4KKzxjbGFzcz4KKyAgPHZhbHVlPi0xPC92YWx1ZT4KKzwvY2xhc3M+Cis8Y2xhc3M+CisgIDx2YWx1ZT5JTkY8L3ZhbHVlPgorICA8dmFsdWU+SU5GIDwvdmFsdWU+Cis8L2NsYXNzPgorPGNsYXNzPgorICA8dmFsdWU+LUlORjwvdmFsdWU+CisgIDx2YWx1ZT4tSU5GIDwvdmFsdWU+Cis8L2NsYXNzPgorPGNsYXNzPgorICA8dmFsdWU+TmFOPC92YWx1ZT4KKyAgPHZhbHVlPiBOYU4gPC92YWx1ZT4KKzwvY2xhc3M+Cis8L2VxdWl2PgorPGxlc3NUaGFuPgorICA8dmFsdWU+LUlORjwvdmFsdWU+CisgIDx2YWx1ZT4tMTAwMDwvdmFsdWU+Cis8L2xlc3NUaGFuPgorPGxlc3NUaGFuPgorICA8dmFsdWU+MTAwMDwvdmFsdWU+CisgIDx2YWx1ZT5JTkY8L3ZhbHVlPgorPC9sZXNzVGhhbj4KKzxsZXNzVGhhbj4KKyAgPHZhbHVlPi0xPC92YWx1ZT4KKyAgPHZhbHVlPjE8L3ZhbHVlPgorPC9sZXNzVGhhbj4KKzxsZXNzVGhhbj4KKyAgPHZhbHVlPjA8L3ZhbHVlPgorICA8dmFsdWU+MTwvdmFsdWU+Cis8L2xlc3NUaGFuPgorPGxlc3NUaGFuPgorICA8dmFsdWU+LTE8L3ZhbHVlPgorICA8dmFsdWU+MDwvdmFsdWU+Cis8L2xlc3NUaGFuPgorPC9kYXRhdHlwZT4KKzxkYXRhdHlwZSBuYW1lPSJkb3VibGUiPgorPHZhbGlkPjEuMDwvdmFsaWQ+Cis8dmFsaWQ+MS48L3ZhbGlkPgorPHZhbGlkPi4xPC92YWxpZD4KKzxpbnZhbGlkPi0gMTwvaW52YWxpZD4KKzxpbnZhbGlkPjEgLjA8L2ludmFsaWQ+Cis8aW52YWxpZD4rSU5GPC9pbnZhbGlkPgorPGludmFsaWQ+K05hTjwvaW52YWxpZD4KKzxpbnZhbGlkPi1OYU48L2ludmFsaWQ+Cis8ZXF1aXY+Cis8Y2xhc3M+CisgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgPHZhbHVlPi0wPC92YWx1ZT4KKyAgPHZhbHVlPiswPC92YWx1ZT4KKyAgPHZhbHVlPiAwIDwvdmFsdWU+CisgIDx2YWx1ZT4gMC4gPC92YWx1ZT4KKyAgPHZhbHVlPiAuMCA8L3ZhbHVlPgorICA8dmFsdWU+IDAuMCA8L3ZhbHVlPgorICA8dmFsdWU+IDBlMCA8L3ZhbHVlPgorICA8dmFsdWU+IDBFMCA8L3ZhbHVlPgorICA8dmFsdWU+IDBFKzAgPC92YWx1ZT4KKyAgPHZhbHVlPiAwRS0wIDwvdmFsdWU+Cis8L2NsYXNzPgorPGNsYXNzPgorICA8dmFsdWU+MUUwPC92YWx1ZT4KKyAgPHZhbHVlPjAuMUUxPC92YWx1ZT4KKyAgPHZhbHVlPjEwRS0xPC92YWx1ZT4KKyAgPHZhbHVlPisxPC92YWx1ZT4KKzwvY2xhc3M+Cis8Y2xhc3M+CisgIDx2YWx1ZT4tMTwvdmFsdWU+Cis8L2NsYXNzPgorPGNsYXNzPgorICA8dmFsdWU+SU5GPC92YWx1ZT4KKyAgPHZhbHVlPklORiA8L3ZhbHVlPgorPC9jbGFzcz4KKzxjbGFzcz4KKyAgPHZhbHVlPi1JTkY8L3ZhbHVlPgorICA8dmFsdWU+LUlORiA8L3ZhbHVlPgorPC9jbGFzcz4KKzxjbGFzcz4KKyAgPHZhbHVlPk5hTjwvdmFsdWU+CisgIDx2YWx1ZT4gTmFOIDwvdmFsdWU+Cis8L2NsYXNzPgorPC9lcXVpdj4KKzxsZXNzVGhhbj4KKyAgPHZhbHVlPi1JTkY8L3ZhbHVlPgorICA8dmFsdWU+LTEwMDA8L3ZhbHVlPgorPC9sZXNzVGhhbj4KKzxsZXNzVGhhbj4KKyAgPHZhbHVlPjEwMDA8L3ZhbHVlPgorICA8dmFsdWU+SU5GPC92YWx1ZT4KKzwvbGVzc1RoYW4+Cis8bGVzc1RoYW4+CisgIDx2YWx1ZT4tMTwvdmFsdWU+CisgIDx2YWx1ZT4xPC92YWx1ZT4KKzwvbGVzc1RoYW4+Cis8bGVzc1RoYW4+CisgIDx2YWx1ZT4wPC92YWx1ZT4KKyAgPHZhbHVlPjE8L3ZhbHVlPgorPC9sZXNzVGhhbj4KKzxsZXNzVGhhbj4KKyAgPHZhbHVlPi0xPC92YWx1ZT4KKyAgPHZhbHVlPjA8L3ZhbHVlPgorPC9sZXNzVGhhbj4KKzwvZGF0YXR5cGU+Cis8ZGF0YXR5cGUgbmFtZT0iUU5hbWUiPgorPHZhbGlkPmZvbzwvdmFsaWQ+Cis8dmFsaWQgeG1sbnM6eD0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSI+eDpmb288L3ZhbGlkPgorPGludmFsaWQ+eTpmb288L2ludmFsaWQ+Cis8ZXF1aXYgeG1sbnM6eD0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSIKKyAgICAgICB4bWxuczp5PSJodHRwOi8vd3d3LmV4YW1wbGUuY29tLyIKKyAgICAgICB4bWxuczp6PSJodHRwOi8vd3d3LmV4YW1wbGUuY29tIj4KKzxjbGFzcz4KKyAgPHZhbHVlPmZvbzwvdmFsdWU+CisgIDx2YWx1ZT4gZm9vPC92YWx1ZT4KKzwvY2xhc3M+Cis8Y2xhc3M+CisgIDx2YWx1ZT54OmZvbzwvdmFsdWU+CisgIDx2YWx1ZT4geDpmb28gPC92YWx1ZT4KKyAgPHZhbHVlPno6Zm9vPC92YWx1ZT4KKzwvY2xhc3M+Cis8Y2xhc3M+CisgIDx2YWx1ZT54OmJhcjwvdmFsdWU+CisgIDx2YWx1ZT56OmJhcjwvdmFsdWU+Cis8L2NsYXNzPgorPGNsYXNzPgorICA8dmFsdWU+eTpmb288L3ZhbHVlPgorPC9jbGFzcz4KKzxjbGFzcz4KKyAgPHZhbHVlPnk6YmFyPC92YWx1ZT4KKzwvY2xhc3M+Cis8L2VxdWl2PgorPC9kYXRhdHlwZT4KKzxkYXRhdHlwZSBuYW1lPSJOT1RBVElPTiI+Cis8dmFsaWQ+Zm9vPC92YWxpZD4KKzx2YWxpZCB4bWxuczp4PSJodHRwOi8vd3d3LmV4YW1wbGUuY29tIj54OmZvbzwvdmFsaWQ+Cis8aW52YWxpZD55OmZvbzwvaW52YWxpZD4KKzwvZGF0YXR5cGU+Cis8ZGF0YXR5cGUgbmFtZT0iZGVjaW1hbCI+Cis8dmFsaWQ+MS4wPC92YWxpZD4KKzx2YWxpZD4xLjwvdmFsaWQ+Cis8dmFsaWQ+LjE8L3ZhbGlkPgorPHZhbGlkPisxLjA8L3ZhbGlkPgorPHZhbGlkPi0xLjA8L3ZhbGlkPgorPHZhbGlkPiAxIDwvdmFsaWQ+Cis8dmFsaWQ+OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk8L3ZhbGlkPgorPHZhbGlkPi05OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTwvdmFsaWQ+Cis8aW52YWxpZD5qdW5rPC9pbnZhbGlkPgorPGludmFsaWQ+LS0xPC9pbnZhbGlkPgorPGludmFsaWQ+KysxPC9pbnZhbGlkPgorPGludmFsaWQ+Ky0xPC9pbnZhbGlkPgorPGludmFsaWQ+MS4yLjwvaW52YWxpZD4KKzxpbnZhbGlkPi4uMTwvaW52YWxpZD4KKzxpbnZhbGlkPjEuLjwvaW52YWxpZD4KKzxpbnZhbGlkPjEgLjI8L2ludmFsaWQ+Cis8aW52YWxpZD4xKzwvaW52YWxpZD4KKzxpbnZhbGlkPisgMTwvaW52YWxpZD4KKzxsZXNzVGhhbj4KKyAgPHZhbHVlPjA8L3ZhbHVlPgorICA8dmFsdWU+MTwvdmFsdWU+Cis8L2xlc3NUaGFuPgorPC9kYXRhdHlwZT4KKzxkYXRhdHlwZSBuYW1lPSJub25Qb3NpdGl2ZUludGVnZXIiPgorPHZhbGlkPi0xPC92YWxpZD4KKzx2YWxpZD4wPC92YWxpZD4KKzx2YWxpZD4tMDwvdmFsaWQ+Cis8aW52YWxpZD4xPC9pbnZhbGlkPgorPC9kYXRhdHlwZT4KKzxkYXRhdHlwZSBuYW1lPSJub25OZWdhdGl2ZUludGVnZXIiPgorPHZhbGlkPjE8L3ZhbGlkPgorPHZhbGlkPjA8L3ZhbGlkPgorPHZhbGlkPisxPC92YWxpZD4KKzx2YWxpZD4rMDwvdmFsaWQ+Cis8aW52YWxpZD4tMTwvaW52YWxpZD4KKzwvZGF0YXR5cGU+Cis8ZGF0YXR5cGUgbmFtZT0icG9zaXRpdmVJbnRlZ2VyIj4KKzx2YWxpZD4rMTwvdmFsaWQ+Cis8dmFsaWQ+MTwvdmFsaWQ+Cis8aW52YWxpZD4wPC9pbnZhbGlkPgorPGludmFsaWQ+LTE8L2ludmFsaWQ+Cis8L2RhdGF0eXBlPgorPGRhdGF0eXBlIG5hbWU9Im5lZ2F0aXZlSW50ZWdlciI+Cis8dmFsaWQ+LTE8L3ZhbGlkPgorPGludmFsaWQ+KzE8L2ludmFsaWQ+Cis8aW52YWxpZD4wPC9pbnZhbGlkPgorPC9kYXRhdHlwZT4KKzxkYXRhdHlwZSBuYW1lPSJsb25nIj4KKzx2YWxpZD4xPC92YWxpZD4KKzx2YWxpZD4rMTwvdmFsaWQ+Cis8dmFsaWQ+MDwvdmFsaWQ+Cis8dmFsaWQ+IDAgPC92YWxpZD4KKzxpbnZhbGlkPjEgMjwvaW52YWxpZD4KKzxpbnZhbGlkPjk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk8L2ludmFsaWQ+Cis8dmFsaWQ+OTIyMzM3MjAzNjg1NDc3NTgwNzwvdmFsaWQ+Cis8dmFsaWQ+LTkyMjMzNzIwMzY4NTQ3NzU4MDg8L3ZhbGlkPgorPGludmFsaWQ+OTIyMzM3MjAzNjg1NDc3NTgwODwvaW52YWxpZD4KKzxpbnZhbGlkPi05MjIzMzcyMDM2ODU0Nzc1ODA5PC9pbnZhbGlkPgorPGludmFsaWQvPgorPC9kYXRhdHlwZT4KKzxkYXRhdHlwZSBuYW1lPSJpbnQiPgorPHZhbGlkPjE8L3ZhbGlkPgorPHZhbGlkPjAxPC92YWxpZD4KKzx2YWxpZD4gMSA8L3ZhbGlkPgorPHZhbGlkPjIxNDc0ODM2NDc8L3ZhbGlkPgorPHZhbGlkPi0yMTQ3NDgzNjQ4PC92YWxpZD4KKzxpbnZhbGlkPjIxNDc0ODM2NDg8L2ludmFsaWQ+Cis8aW52YWxpZD4tMjE0NzQ4MzY0OTwvaW52YWxpZD4KKzxpbnZhbGlkPjk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk8L2ludmFsaWQ+Cis8ZXF1aXY+Cis8Y2xhc3M+CisgPHZhbHVlPjE8L3ZhbHVlPgorIDx2YWx1ZT4rMTwvdmFsdWU+CisgPHZhbHVlPiAxIDwvdmFsdWU+CisgPHZhbHVlPjAwMTwvdmFsdWU+Cis8L2NsYXNzPgorPGNsYXNzPgorIDx2YWx1ZT4tMTwvdmFsdWU+CisgPHZhbHVlPiAtMSA8L3ZhbHVlPgorIDx2YWx1ZT4tMDAxPC92YWx1ZT4KKzwvY2xhc3M+Cis8L2VxdWl2PgorPC9kYXRhdHlwZT4KKzxkYXRhdHlwZSBuYW1lPSJzaG9ydCI+Cis8dmFsaWQ+MTwvdmFsaWQ+Cis8dmFsaWQ+MzI3Njc8L3ZhbGlkPgorPHZhbGlkPi0zMjc2ODwvdmFsaWQ+Cis8aW52YWxpZD4zMjc2ODwvaW52YWxpZD4KKzxpbnZhbGlkPi0zMjc2OTwvaW52YWxpZD4KKzxpbnZhbGlkPjk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk8L2ludmFsaWQ+Cis8ZXF1aXY+Cis8Y2xhc3M+CisgPHZhbHVlPjE8L3ZhbHVlPgorIDx2YWx1ZT4rMTwvdmFsdWU+CisgPHZhbHVlPiAxIDwvdmFsdWU+CisgPHZhbHVlPjAwMTwvdmFsdWU+Cis8L2NsYXNzPgorPGNsYXNzPgorIDx2YWx1ZT4tMTwvdmFsdWU+CisgPHZhbHVlPiAtMSA8L3ZhbHVlPgorIDx2YWx1ZT4tMDAxPC92YWx1ZT4KKzwvY2xhc3M+Cis8L2VxdWl2PgorPC9kYXRhdHlwZT4KKzxkYXRhdHlwZSBuYW1lPSJieXRlIj4KKzx2YWxpZD4xPC92YWxpZD4KKzx2YWxpZD4xMjc8L3ZhbGlkPgorPHZhbGlkPi0xMjg8L3ZhbGlkPgorPGludmFsaWQ+MTI4PC9pbnZhbGlkPgorPGludmFsaWQ+LTEyOTwvaW52YWxpZD4KKzwvZGF0YXR5cGU+Cis8ZGF0YXR5cGUgbmFtZT0idW5zaWduZWRMb25nIj4KKzx2YWxpZD4xPC92YWxpZD4KKzx2YWxpZD4rMTwvdmFsaWQ+Cis8aW52YWxpZD4tMTwvaW52YWxpZD4KKzx2YWxpZD4wPC92YWxpZD4KKzx2YWxpZD4xODQ0Njc0NDA3MzcwOTU1MTYxNTwvdmFsaWQ+Cis8aW52YWxpZD4xODQ0Njc0NDA3MzcwOTU1MTYxNjwvaW52YWxpZD4KKzxpbnZhbGlkPi0xPC9pbnZhbGlkPgorPC9kYXRhdHlwZT4KKzxkYXRhdHlwZSBuYW1lPSJ1bnNpZ25lZEludCI+Cis8dmFsaWQ+MTwvdmFsaWQ+Cis8dmFsaWQ+KzE8L3ZhbGlkPgorPHZhbGlkPjA8L3ZhbGlkPgorPHZhbGlkPjQyOTQ5NjcyOTU8L3ZhbGlkPgorPGludmFsaWQ+NDI5NDk2NzI5NjwvaW52YWxpZD4KKzxpbnZhbGlkPi0xPC9pbnZhbGlkPgorPC9kYXRhdHlwZT4KKzxkYXRhdHlwZSBuYW1lPSJ1bnNpZ25lZFNob3J0Ij4KKzx2YWxpZD4xPC92YWxpZD4KKzx2YWxpZD4rMTwvdmFsaWQ+Cis8dmFsaWQ+MDwvdmFsaWQ+Cis8dmFsaWQ+NjU1MzU8L3ZhbGlkPgorPGludmFsaWQ+NjU1MzY8L2ludmFsaWQ+Cis8aW52YWxpZD4tMTwvaW52YWxpZD4KKzwvZGF0YXR5cGU+Cis8ZGF0YXR5cGUgbmFtZT0idW5zaWduZWRCeXRlIj4KKzx2YWxpZD4xPC92YWxpZD4KKzx2YWxpZD4rMTwvdmFsaWQ+Cis8dmFsaWQ+MDwvdmFsaWQ+Cis8dmFsaWQ+MjU1PC92YWxpZD4KKzxpbnZhbGlkPjI1NjwvaW52YWxpZD4KKzxpbnZhbGlkPi0xPC9pbnZhbGlkPgorPC9kYXRhdHlwZT4KKzxkYXRhdHlwZSBuYW1lPSJzdHJpbmciPgorPHZhbGlkPmFueSB0aGluZyBhdCBhbGwhPC92YWxpZD4KKzwvZGF0YXR5cGU+Cis8ZGF0YXR5cGUgbmFtZT0ibm9ybWFsaXplZFN0cmluZyI+Cis8dmFsaWQ+YW55IHRoaW5nIGF0IGFsbCE8L3ZhbGlkPgorPC9kYXRhdHlwZT4KKzxkYXRhdHlwZSBuYW1lPSJ0b2tlbiI+Cis8dmFsaWQ+YW55IHRoaW5nIGF0IGFsbCE8L3ZhbGlkPgorPGVxdWl2PgorPGNsYXNzPgorICA8dmFsdWUvPgorICA8dmFsdWU+IDwvdmFsdWU+CisgIDx2YWx1ZT4mI3g5OyYjeEE7JiN4RDsmI3gyMDs8L3ZhbHVlPgorPC9jbGFzcz4KKzxjbGFzcz4KKyAgPHZhbHVlPngmI3gyMDs8L3ZhbHVlPgorICA8dmFsdWU+eCYjeEE7PC92YWx1ZT4KKyAgPHZhbHVlPngmI3hEOzwvdmFsdWU+CisgIDx2YWx1ZT54JiN4OTs8L3ZhbHVlPgorICA8dmFsdWU+JiN4MjA7eDwvdmFsdWU+CisgIDx2YWx1ZT4mI3hBO3g8L3ZhbHVlPgorICA8dmFsdWU+JiN4RDt4PC92YWx1ZT4KKyAgPHZhbHVlPiYjeDk7eDwvdmFsdWU+CisgIDx2YWx1ZT4mI3g5OyYjeEE7JiN4RDsmI3gyMDt4JiN4OTsmI3hBOyYjeEQ7JiN4MjA7PC92YWx1ZT4KKzwvY2xhc3M+Cis8Y2xhc3M+CisgIDx2YWx1ZT54IHkmI3gyMDs8L3ZhbHVlPgorICA8dmFsdWU+eCB5JiN4QTs8L3ZhbHVlPgorICA8dmFsdWU+eCB5JiN4RDs8L3ZhbHVlPgorICA8dmFsdWU+eCB5JiN4OTs8L3ZhbHVlPgorICA8dmFsdWU+eCYjeDIwO3k8L3ZhbHVlPgorICA8dmFsdWU+eCYjeEE7eTwvdmFsdWU+CisgIDx2YWx1ZT54JiN4RDt5PC92YWx1ZT4KKyAgPHZhbHVlPngmI3g5O3k8L3ZhbHVlPgorICA8dmFsdWU+JiN4MjA7eCB5PC92YWx1ZT4KKyAgPHZhbHVlPiYjeEE7eCB5PC92YWx1ZT4KKyAgPHZhbHVlPiYjeEQ7eCB5PC92YWx1ZT4KKyAgPHZhbHVlPiYjeDk7eCB5PC92YWx1ZT4KKyAgPHZhbHVlPiYjeDk7JiN4QTsmI3hEOyYjeDIwO3gmI3g5OyYjeEE7JiN4RDsmI3gyMDt5JiN4OTsmI3hBOyYjeEQ7JiN4MjA7PC92YWx1ZT4KKzwvY2xhc3M+Cis8L2VxdWl2PgorPGxlbmd0aCB2YWx1ZT0iMCI+PC9sZW5ndGg+Cis8bGVuZ3RoIHZhbHVlPSIxIj54PC9sZW5ndGg+Cis8bGVuZ3RoIHZhbHVlPSIxIj4geCA8L2xlbmd0aD4KKzxsZW5ndGggdmFsdWU9IjEiPiYjeDEwODAwOzwvbGVuZ3RoPgorPC9kYXRhdHlwZT4KKzxkYXRhdHlwZSBuYW1lPSJsYW5ndWFnZSI+Cis8dmFsaWQ+ZW48L3ZhbGlkPgorPHZhbGlkPmVuLVVLPC92YWxpZD4KKzx2YWxpZD5pLWNoZXJva2VlPC92YWxpZD4KKzx2YWxpZD54LWtsaW5nb248L3ZhbGlkPgorPHZhbGlkPmVuLXVrLXNjb3RsYW5kPC92YWxpZD4KKzxpbnZhbGlkPmVuLlVLPC9pbnZhbGlkPgorPC9kYXRhdHlwZT4KKzxkYXRhdHlwZSBuYW1lPSJOYW1lIj4KKzx2YWxpZD5mb288L3ZhbGlkPgorPHZhbGlkPl8wMTIzNDU2Nzg5PC92YWxpZD4KKzxpbnZhbGlkPi48L2ludmFsaWQ+Cis8dmFsaWQ+OjwvdmFsaWQ+Cis8aW52YWxpZD4tPC9pbnZhbGlkPgorPGludmFsaWQ+MTIzNDwvaW52YWxpZD4KKzx2YWxpZD4gZm9vIDwvdmFsaWQ+Cis8L2RhdGF0eXBlPgorPGRhdGF0eXBlIG5hbWU9Ik5DTmFtZSI+Cis8dmFsaWQ+Zm9vPC92YWxpZD4KKzxpbnZhbGlkPmZvbzpiYXI8L2ludmFsaWQ+Cis8aW52YWxpZD4wZm9vPC9pbnZhbGlkPgorPGVxdWl2PgorPGNsYXNzPjx2YWx1ZT5mb288L3ZhbHVlPjx2YWx1ZT4gZm9vIDwvdmFsdWU+PC9jbGFzcz4KKzxjbGFzcz48dmFsdWU+Rk9PPC92YWx1ZT48dmFsdWU+IEZPTyA8L3ZhbHVlPjwvY2xhc3M+Cis8L2VxdWl2PgorPC9kYXRhdHlwZT4KKzxkYXRhdHlwZSBuYW1lPSJOTVRPS0VOIj4KKzx2YWxpZD5mb288L3ZhbGlkPgorPHZhbGlkPl88L3ZhbGlkPgorPHZhbGlkPi48L3ZhbGlkPgorPHZhbGlkPjo8L3ZhbGlkPgorPHZhbGlkPi08L3ZhbGlkPgorPHZhbGlkPjEyMzQ8L3ZhbGlkPgorPHZhbGlkPiBmb28gPC92YWxpZD4KKzxsZW5ndGggdmFsdWU9IjMiPiBmb28gPC9sZW5ndGg+Cis8bGVuZ3RoIHZhbHVlPSIyIj5mbzwvbGVuZ3RoPgorPGxlbmd0aCB2YWx1ZT0iMSI+ZjwvbGVuZ3RoPgorPC9kYXRhdHlwZT4KKzxkYXRhdHlwZSBuYW1lPSJOTVRPS0VOUyI+Cis8dmFsaWQ+Zm9vIGJhcjwvdmFsaWQ+Cis8aW52YWxpZC8+Cis8dmFsaWQ+MSAyIDMgNDwvdmFsaWQ+Cis8L2RhdGF0eXBlPgorPGRhdGF0eXBlIG5hbWU9IklEIj4KKzx2YWxpZD5mb29iYXI8L3ZhbGlkPgorPGludmFsaWQ+Zm9vOmJhcjwvaW52YWxpZD4KKzxpbnZhbGlkPmZvbyBiYXI8L2ludmFsaWQ+Cis8L2RhdGF0eXBlPgorPGRhdGF0eXBlIG5hbWU9IkVOVElUWSI+Cis8aW52YWxpZC8+Cis8aW52YWxpZD5mb288L2ludmFsaWQ+Cis8dmFsaWQgaW50ZXJuYWxTdWJzZXQ9IiZsdDshRU5USVRZIGZvbyBTWVNURU0gJ3doYXRldmVyJyBOREFUQSBqcGVnPiIKKz5mb288L3ZhbGlkPgorPC9kYXRhdHlwZT4KKzxkYXRhdHlwZSBuYW1lPSJFTlRJVElFUyI+Cis8aW52YWxpZD48L2ludmFsaWQ+Cis8aW52YWxpZD5mb288L2ludmFsaWQ+Cis8dmFsaWQgaW50ZXJuYWxTdWJzZXQ9IiZsdDshRU5USVRZIGZvbyBTWVNURU0gJ3doYXRldmVyJyBOREFUQSBqcGVnPgorJiN4QTsmbHQ7IUVOVElUWSBiYXIgU1lTVEVNICd3aGF0ZXZlcicgTkRBVEEganBlZz4KKyIKKz4gZm9vIGJhciA8L3ZhbGlkPgorPC9kYXRhdHlwZT4KKzwveHNkdGVzdD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdC94c2R0ZXN0L3hzZHRlc3QueHNsIGIvbGlieG1sMi90ZXN0L3hzZHRlc3QveHNkdGVzdC54c2wKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDU3YWRmMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdC94c2R0ZXN0L3hzZHRlc3QueHNsCkBAIC0wLDAgKzEsMjM4IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzx4c2w6c3R5bGVzaGVldCB2ZXJzaW9uPSIxLjAiIHhtbG5zOnhzbD0iaHR0cDovL3d3dy53My5vcmcvMTk5OS9YU0wvVHJhbnNmb3JtIj4KKworPHhzbDpzdHJpcC1zcGFjZSBlbGVtZW50cz0ieHNkdGVzdCBkYXRhdHlwZSBlcXVpdiBjbGFzcyIvPgorCis8eHNsOm91dHB1dCBpbmRlbnQ9InllcyIgZW5jb2Rpbmc9InV0Zi04Ii8+CisKKzx4c2w6dGVtcGxhdGUgbWF0Y2g9InhzZHRlc3QiPgorICA8dGVzdFN1aXRlPgorICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzLz4KKyAgPC90ZXN0U3VpdGU+Cis8L3hzbDp0ZW1wbGF0ZT4KKworPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iZGF0YXR5cGUiPgorPHRlc3RTdWl0ZT4KKzxkb2N1bWVudGF0aW9uPkRhdGF0eXBlIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPjwvZG9jdW1lbnRhdGlvbj4KKzx0ZXN0Q2FzZT4KKzxyZXF1aXJlcyBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyIvPgorPGNvcnJlY3Q+Cis8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIKKyAgICAgICAgIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgPGRhdGEgdHlwZT0ie0BuYW1lfSI+CisgICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9InBhcmFtIj4KKyAgICAgIDxwYXJhbSBuYW1lPSJ7QG5hbWV9Ij48eHNsOnZhbHVlLW9mIHNlbGVjdD0iLiIvPjwvcGFyYW0+CisgICAgPC94c2w6Zm9yLWVhY2g+CisgIDwvZGF0YT4KKzwvZWxlbWVudD4KKzwvY29ycmVjdD4KKzx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0idmFsaWR8aW52YWxpZCIvPgorPC90ZXN0Q2FzZT4KKzx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZXF1aXYvY2xhc3N8bGVuZ3RofGxlc3NUaGFufGluY29tcGFyYWJsZSIvPgorPC90ZXN0U3VpdGU+Cis8L3hzbDp0ZW1wbGF0ZT4KKworPHhzbDp0ZW1wbGF0ZSBtYXRjaD0idmFsaWQiPgorIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJ2YWxpZCIvPgorPC94c2w6dGVtcGxhdGU+CisKKzx4c2w6dGVtcGxhdGUgbWF0Y2g9ImludmFsaWQiPgorIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJpbnZhbGlkIi8+Cis8L3hzbDp0ZW1wbGF0ZT4KKworPHhzbDp0ZW1wbGF0ZSBuYW1lPSJ2YWxpZCI+CisgIDx2YWxpZD4KKyAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IkBpbnRlcm5hbFN1YnNldCIvPgorICAgIDxkb2M+CisgICAgICA8eHNsOmNvcHktb2Ygc2VsZWN0PSJuYW1lc3BhY2U6OioiLz4KKyAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIuIi8+CisgICAgPC9kb2M+CisgIDwvdmFsaWQ+Cis8L3hzbDp0ZW1wbGF0ZT4KKworPHhzbDp0ZW1wbGF0ZSBuYW1lPSJpbnZhbGlkIj4KKyAgPGludmFsaWQ+CisgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJAaW50ZXJuYWxTdWJzZXQiLz4KKyAgICA8ZG9jPgorICAgICAgPHhzbDpjb3B5LW9mIHNlbGVjdD0ibmFtZXNwYWNlOjoqIi8+CisgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iLiIvPgorICAgIDwvZG9jPgorICA8L2ludmFsaWQ+Cis8L3hzbDp0ZW1wbGF0ZT4KKworPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iQGludGVybmFsU3Vic2V0Ij4KKyAgPHhzbDpwYXJhbSBuYW1lPSJkb2MiIHNlbGVjdD0iJ2RvYyciLz4KKyAgPHhzbDphdHRyaWJ1dGUgbmFtZT0iZHRkIj4KKyAgICA8eHNsOnRleHQ+CismbHQ7IURPQ1RZUEUgPC94c2w6dGV4dD4KKyAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iJGRvYyIvPgorICAgIDx4c2w6dGV4dD4gWworPC94c2w6dGV4dD4KKyAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iLiIvPgorICAgIDx4c2w6dGV4dD4KK10+PC94c2w6dGV4dD4KKyAgPC94c2w6YXR0cmlidXRlPgorPC94c2w6dGVtcGxhdGU+CisKKzx4c2w6dGVtcGxhdGUgbWF0Y2g9ImNsYXNzIj4KKzx0ZXN0Q2FzZT4KKzxjb3JyZWN0PgorICA8eHNsOmZvci1lYWNoIHNlbGVjdD0idmFsdWVbMV0iPgorICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iQGludGVybmFsU3Vic2V0Ij4KKyAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJkb2MiPmVsZW1lbnQ8L3hzbDp3aXRoLXBhcmFtPgorICAgIDwveHNsOmFwcGx5LXRlbXBsYXRlcz4KKyAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIKKyAgICAgICAgIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgIDx2YWx1ZT4KKyAgICAgICAgPHhzbDpjb3B5LW9mIHNlbGVjdD0ibmFtZXNwYWNlOjoqIi8+CisgICAgICAgIDx4c2w6YXR0cmlidXRlIG5hbWU9InR5cGUiPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIuLi8uLi8uLi9AbmFtZSIvPjwveHNsOmF0dHJpYnV0ZT4KKyAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9Ii4iLz4KKyAgICAgIDwvdmFsdWU+CisgICAgPC9lbGVtZW50PgorICA8L3hzbDpmb3ItZWFjaD4KKzwvY29ycmVjdD4KKzx4c2w6Zm9yLWVhY2ggc2VsZWN0PSJ2YWx1ZVtwb3NpdGlvbigpICE9IDFdIj4KKyAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9InZhbGlkIi8+Cis8L3hzbDpmb3ItZWFjaD4KKzx4c2w6Zm9yLWVhY2ggc2VsZWN0PSJwcmVjZWRpbmctc2libGluZzo6Y2xhc3MvdmFsdWV8Zm9sbG93aW5nLXNpYmxpbmc6OmNsYXNzL3ZhbHVlIj4KKyAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImludmFsaWQiLz4KKzwveHNsOmZvci1lYWNoPgorPC90ZXN0Q2FzZT4KKzwveHNsOnRlbXBsYXRlPgorCis8eHNsOnRlbXBsYXRlIG1hdGNoPSJsZW5ndGgiPgorPHRlc3RDYXNlPgorPGNvcnJlY3Q+Cis8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIKKyAgICAgICAgIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgPGRhdGEgdHlwZT0iey4uL0BuYW1lfSI+CisgICAgPHBhcmFtIG5hbWU9Imxlbmd0aCI+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkB2YWx1ZSIvPjwvcGFyYW0+CisgIDwvZGF0YT4KKzwvZWxlbWVudD4KKzwvY29ycmVjdD4KKzx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJ2YWxpZCIvPgorPC90ZXN0Q2FzZT4KKworPHRlc3RDYXNlPgorPGNvcnJlY3Q+Cis8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIKKyAgICAgICAgIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgPGRhdGEgdHlwZT0iey4uL0BuYW1lfSI+CisgICAgPHBhcmFtIG5hbWU9Imxlbmd0aCI+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkB2YWx1ZSArIDEiLz48L3BhcmFtPgorICA8L2RhdGE+Cis8L2VsZW1lbnQ+Cis8L2NvcnJlY3Q+Cis8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iaW52YWxpZCIvPgorPC90ZXN0Q2FzZT4KKworPHhzbDppZiB0ZXN0PSJAdmFsdWUgIT0gMCI+CisgIDx0ZXN0Q2FzZT4KKyAgPGNvcnJlY3Q+CisgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIgorCSAgIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICA8ZGF0YSB0eXBlPSJ7Li4vQG5hbWV9Ij4KKyAgICAgIDxwYXJhbSBuYW1lPSJsZW5ndGgiPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAdmFsdWUgLSAxIi8+PC9wYXJhbT4KKyAgICA8L2RhdGE+CisgIDwvZWxlbWVudD4KKyAgPC9jb3JyZWN0PgorICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iaW52YWxpZCIvPgorICA8L3Rlc3RDYXNlPgorPC94c2w6aWY+CisKKzwveHNsOnRlbXBsYXRlPgorCis8eHNsOnRlbXBsYXRlIG1hdGNoPSJsZXNzVGhhbiI+Cis8dGVzdENhc2U+Cis8Y29ycmVjdD4KKyAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiCisJICAgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgIDxkYXRhIHR5cGU9InsuLi9AbmFtZX0iPgorICAgICAgPHBhcmFtIG5hbWU9Im1pbkV4Y2x1c2l2ZSI+CisgICAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJ2YWx1ZVsxXSIvPgorICAgICAgPC9wYXJhbT4KKyAgICA8L2RhdGE+CisgICA8L2VsZW1lbnQ+Cis8L2NvcnJlY3Q+Cis8dmFsaWQ+Cis8ZG9jPgorPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9InZhbHVlWzJdIi8+Cis8L2RvYz4KKzwvdmFsaWQ+Cis8aW52YWxpZD4KKzxkb2M+Cis8eHNsOnZhbHVlLW9mIHNlbGVjdD0idmFsdWVbMV0iLz4KKzwvZG9jPgorPC9pbnZhbGlkPgorPC90ZXN0Q2FzZT4KKzx0ZXN0Q2FzZT4KKzxjb3JyZWN0PgorICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIKKwkgICBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgPGRhdGEgdHlwZT0iey4uL0BuYW1lfSI+CisgICAgICA8cGFyYW0gbmFtZT0ibWluRXhjbHVzaXZlIj4KKyAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9InZhbHVlWzJdIi8+CisgICAgICA8L3BhcmFtPgorICAgIDwvZGF0YT4KKyAgIDwvZWxlbWVudD4KKzwvY29ycmVjdD4KKzxpbnZhbGlkPgorPGRvYz4KKzx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJ2YWx1ZVsxXSIvPgorPC9kb2M+Cis8L2ludmFsaWQ+Cis8aW52YWxpZD4KKzxkb2M+Cis8eHNsOnZhbHVlLW9mIHNlbGVjdD0idmFsdWVbMl0iLz4KKzwvZG9jPgorPC9pbnZhbGlkPgorPC90ZXN0Q2FzZT4KKzwveHNsOnRlbXBsYXRlPgorCis8eHNsOnRlbXBsYXRlIG1hdGNoPSJpbmNvbXBhcmFibGUiPgorPHRlc3RDYXNlPgorPGNvcnJlY3Q+CisgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIgorCSAgIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICA8ZGF0YSB0eXBlPSJ7Li4vQG5hbWV9Ij4KKyAgICAgIDxwYXJhbSBuYW1lPSJtaW5FeGNsdXNpdmUiPgorICAgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0idmFsdWVbMV0iLz4KKyAgICAgIDwvcGFyYW0+CisgICAgPC9kYXRhPgorICAgPC9lbGVtZW50PgorPC9jb3JyZWN0PgorPGludmFsaWQ+Cis8ZG9jPgorPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9InZhbHVlWzJdIi8+Cis8L2RvYz4KKzwvaW52YWxpZD4KKzxpbnZhbGlkPgorPGRvYz4KKzx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJ2YWx1ZVsxXSIvPgorPC9kb2M+Cis8L2ludmFsaWQ+Cis8L3Rlc3RDYXNlPgorPHRlc3RDYXNlPgorPGNvcnJlY3Q+CisgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIgorCSAgIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICA8ZGF0YSB0eXBlPSJ7Li4vQG5hbWV9Ij4KKyAgICAgIDxwYXJhbSBuYW1lPSJtaW5FeGNsdXNpdmUiPgorICAgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0idmFsdWVbMl0iLz4KKyAgICAgIDwvcGFyYW0+CisgICAgPC9kYXRhPgorICAgPC9lbGVtZW50PgorPC9jb3JyZWN0PgorPGludmFsaWQ+Cis8ZG9jPgorPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9InZhbHVlWzFdIi8+Cis8L2RvYz4KKzwvaW52YWxpZD4KKzxpbnZhbGlkPgorPGRvYz4KKzx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJ2YWx1ZVsyXSIvPgorPC9kb2M+Cis8L2ludmFsaWQ+Cis8L3Rlc3RDYXNlPgorPC94c2w6dGVtcGxhdGU+CisKKzwveHNsOnN0eWxlc2hlZXQ+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3QveHNkdGVzdC94c2R0ZXN0c3VpdGUueG1sIGIvbGlieG1sMi90ZXN0L3hzZHRlc3QveHNkdGVzdHN1aXRlLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYzkxY2I5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0L3hzZHRlc3QveHNkdGVzdHN1aXRlLnhtbApAQCAtMCwwICsxLDUyODYgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8dGVzdFN1aXRlPgorICA8dGVzdFN1aXRlPgorICAgIDxkb2N1bWVudGF0aW9uPkRhdGF0eXBlIGRhdGVUaW1lPC9kb2N1bWVudGF0aW9uPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxyZXF1aXJlcyBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyIvPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0iZGF0ZVRpbWUiLz4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPjIwMDEtMTItMDFUMTk6NDU6MDA8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+MjAwMS0xMi0wMVQxOTo0NTowMFo8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+MjAwMS0xMi0wMVQxOTo0NTowMC0xMTo1OTwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4wMDAxLTAxLTEyVDAwOjAwOjAwKzEyOjAwPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+MjAwMS0xMi0xVDE5OjQ1OjAwKzI0OjAwPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4yMDAxLTEyLTFUMTk6NDU6MDA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDx2YWx1ZSB0eXBlPSJkYXRlVGltZSI+MjAwMS0xMi0wMVQxOTo0NTowMDwvdmFsdWU+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4yMDAxLTEyLTAxVDE5OjQ1OjAwLjAwPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+MjAwMS0xMi0wMVQxOTo0NTowMFo8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPjIwMDEtMTItMDFUMTk6NDU6MDAuMDBaPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4yMDAxLTEyLTAxVDIwOjQ1OjAwKzAxOjAwPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgICA8dGVzdENhc2U+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8dmFsdWUgdHlwZT0iZGF0ZVRpbWUiPjIwMDEtMTItMDFUMTk6NDU6MDBaPC92YWx1ZT4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPjIwMDEtMTItMDFUMTk6NDU6MDAuMDBaPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPjIwMDEtMTItMDFUMjA6NDU6MDArMDE6MDA8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4yMDAxLTEyLTAxVDE5OjQ1OjAwPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4yMDAxLTEyLTAxVDE5OjQ1OjAwLjAwPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgPC90ZXN0U3VpdGU+CisgIDx0ZXN0U3VpdGU+CisgICAgPGRvY3VtZW50YXRpb24+RGF0YXR5cGUgYW55VVJJPC9kb2N1bWVudGF0aW9uPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxyZXF1aXJlcyBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyIvPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0iYW55VVJJIi8+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz5mb29iYXI8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+aHR0cDovL3d3dy5leGFtcGxlLmNvbTwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz5odHRwOi8vamklNmRAd3d3LmV4YW1wbGUuY29tPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPmh0dHA6Ly93d3cuZXhhbXBsZS5jbyU2ZDwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz5ub3N1Y2hzY2hlbWU6c3R1ZmY8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz5mb28kYmFyOnN0dWZmPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz5mJW9vYmFyPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgPC90ZXN0U3VpdGU+CisgIDx0ZXN0U3VpdGU+CisgICAgPGRvY3VtZW50YXRpb24+RGF0YXR5cGUgaW50ZWdlcjwvZG9jdW1lbnRhdGlvbj4KKyAgICA8dGVzdENhc2U+CisgICAgICA8cmVxdWlyZXMgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiLz4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDxkYXRhIHR5cGU9ImludGVnZXIiLz4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPjEwPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPjAxPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPjAxMjM0NTY3ODk8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+KzEwPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPi0xMDwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPjEuMDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+LjE8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz45OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5PC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+MS48L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPjAuPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgICA8dGVzdENhc2U+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8dmFsdWUgdHlwZT0iaW50ZWdlciI+MDwvdmFsdWU+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4rMDwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4tMDwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4wMDwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPjEwPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4rMTA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPiswMDEwPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4wMTA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPi0xMDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+LTAwMTA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPi0wMTA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDx2YWx1ZSB0eXBlPSJpbnRlZ2VyIj4xMDwvdmFsdWU+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4rMTA8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+KzAwMTA8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+MDEwPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+MDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+KzA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPi0wPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4wMDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+LTEwPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4tMDAxMDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+LTAxMDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPHZhbHVlIHR5cGU9ImludGVnZXIiPi0xMDwvdmFsdWU+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4tMDAxMDwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4tMDEwPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+MDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+KzA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPi0wPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4wMDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+MTA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPisxMDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+KzAwMTA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPjAxMDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgIDwvdGVzdFN1aXRlPgorICA8dGVzdFN1aXRlPgorICAgIDxkb2N1bWVudGF0aW9uPkRhdGF0eXBlIGR1cmF0aW9uPC9kb2N1bWVudGF0aW9uPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxyZXF1aXJlcyBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyIvPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0iZHVyYXRpb24iLz4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPlAxWTwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz5QMVkwTTJEVDE3SDVNMTJTPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPi1QMVk8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+UDYwRDwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz5QVDI0SDwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz5QVDEuMlM8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz5QMjRoPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz5QMjRIPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz5QMVlUPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz5QPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4tUDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPHZhbHVlIHR5cGU9ImR1cmF0aW9uIj4tUDZNPC92YWx1ZT4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+UDBZPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4tUDBZPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz5QMVk8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPlAwMDFZPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz5QMDAxWTBNPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz5QMVkwTTBEVDBIME0wLjBTPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz5QNk08L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPlBUNk08L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPlBUMVM8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPlBUMS4wUzwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPHZhbHVlIHR5cGU9ImR1cmF0aW9uIj5QMFk8L3ZhbHVlPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+LVAwWTwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPi1QNk08L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPlAxWTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+UDAwMVk8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPlAwMDFZME08L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPlAxWTBNMERUMEgwTTAuMFM8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPlA2TTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+UFQ2TTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+UFQxUzwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+UFQxLjBTPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgICA8dGVzdENhc2U+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8dmFsdWUgdHlwZT0iZHVyYXRpb24iPlAxWTwvdmFsdWU+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz5QMDAxWTwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz5QMDAxWTBNPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPlAxWTBNMERUMEgwTTAuMFM8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4tUDZNPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz5QMFk8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPi1QMFk8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPlA2TTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+UFQ2TTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+UFQxUzwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+UFQxLjBTPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgICA8dGVzdENhc2U+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8dmFsdWUgdHlwZT0iZHVyYXRpb24iPlA2TTwvdmFsdWU+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPi1QNk08L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPlAwWTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+LVAwWTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+UDFZPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz5QMDAxWTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+UDAwMVkwTTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+UDFZME0wRFQwSDBNMC4wUzwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+UFQ2TTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+UFQxUzwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+UFQxLjBTPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgICA8dGVzdENhc2U+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8dmFsdWUgdHlwZT0iZHVyYXRpb24iPlBUNk08L3ZhbHVlPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4tUDZNPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz5QMFk8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPi1QMFk8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPlAxWTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+UDAwMVk8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPlAwMDFZME08L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPlAxWTBNMERUMEgwTTAuMFM8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPlA2TTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+UFQxUzwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+UFQxLjBTPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgICA8dGVzdENhc2U+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8dmFsdWUgdHlwZT0iZHVyYXRpb24iPlBUMVM8L3ZhbHVlPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+UFQxLjBTPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+LVA2TTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+UDBZPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4tUDBZPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz5QMVk8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPlAwMDFZPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz5QMDAxWTBNPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz5QMVkwTTBEVDBIME0wLjBTPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz5QNk08L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPlBUNk08L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDxkYXRhIHR5cGU9ImR1cmF0aW9uIj4KKyAgICAgICAgICAgIDxwYXJhbSBuYW1lPSJtaW5FeGNsdXNpdmUiPlBUMU08L3BhcmFtPgorICAgICAgICAgIDwvZGF0YT4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPlBUNjFTPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+UFQxTTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0iZHVyYXRpb24iPgorICAgICAgICAgICAgPHBhcmFtIG5hbWU9Im1pbkV4Y2x1c2l2ZSI+UFQ2MVM8L3BhcmFtPgorICAgICAgICAgIDwvZGF0YT4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+UFQxTTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+UFQ2MVM8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDxkYXRhIHR5cGU9ImR1cmF0aW9uIj4KKyAgICAgICAgICAgIDxwYXJhbSBuYW1lPSJtaW5FeGNsdXNpdmUiPlBUNTlTPC9wYXJhbT4KKyAgICAgICAgICA8L2RhdGE+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz5QVDFNPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+UFQ1OVM8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDxkYXRhIHR5cGU9ImR1cmF0aW9uIj4KKyAgICAgICAgICAgIDxwYXJhbSBuYW1lPSJtaW5FeGNsdXNpdmUiPlBUMU08L3BhcmFtPgorICAgICAgICAgIDwvZGF0YT4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+UFQ1OVM8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPlBUMU08L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDxkYXRhIHR5cGU9ImR1cmF0aW9uIj4KKyAgICAgICAgICAgIDxwYXJhbSBuYW1lPSJtaW5FeGNsdXNpdmUiPlBUNjBTPC9wYXJhbT4KKyAgICAgICAgICA8L2RhdGE+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPlBUMU08L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPlBUNjBTPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgICA8dGVzdENhc2U+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8ZGF0YSB0eXBlPSJkdXJhdGlvbiI+CisgICAgICAgICAgICA8cGFyYW0gbmFtZT0ibWluRXhjbHVzaXZlIj5QVDFNPC9wYXJhbT4KKyAgICAgICAgICA8L2RhdGE+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPlBUNjBTPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz5QVDFNPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgICA8dGVzdENhc2U+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8ZGF0YSB0eXBlPSJkdXJhdGlvbiI+CisgICAgICAgICAgICA8cGFyYW0gbmFtZT0ibWluRXhjbHVzaXZlIj5QVDFIPC9wYXJhbT4KKyAgICAgICAgICA8L2RhdGE+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz5QVDYxTTwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPlBUMUg8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDxkYXRhIHR5cGU9ImR1cmF0aW9uIj4KKyAgICAgICAgICAgIDxwYXJhbSBuYW1lPSJtaW5FeGNsdXNpdmUiPlBUNjFNPC9wYXJhbT4KKyAgICAgICAgICA8L2RhdGE+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPlBUMUg8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPlBUNjFNPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgICA8dGVzdENhc2U+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8ZGF0YSB0eXBlPSJkdXJhdGlvbiI+CisgICAgICAgICAgICA8cGFyYW0gbmFtZT0ibWluRXhjbHVzaXZlIj5QVDU5TTwvcGFyYW0+CisgICAgICAgICAgPC9kYXRhPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+UFQxSDwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPlBUNTlNPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgICA8dGVzdENhc2U+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8ZGF0YSB0eXBlPSJkdXJhdGlvbiI+CisgICAgICAgICAgICA8cGFyYW0gbmFtZT0ibWluRXhjbHVzaXZlIj5QVDFIPC9wYXJhbT4KKyAgICAgICAgICA8L2RhdGE+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPlBUNTlNPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz5QVDFIPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgICA8dGVzdENhc2U+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8ZGF0YSB0eXBlPSJkdXJhdGlvbiI+CisgICAgICAgICAgICA8cGFyYW0gbmFtZT0ibWluRXhjbHVzaXZlIj5QVDYwTTwvcGFyYW0+CisgICAgICAgICAgPC9kYXRhPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz5QVDFIPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz5QVDYwTTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0iZHVyYXRpb24iPgorICAgICAgICAgICAgPHBhcmFtIG5hbWU9Im1pbkV4Y2x1c2l2ZSI+UFQxSDwvcGFyYW0+CisgICAgICAgICAgPC9kYXRhPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz5QVDYwTTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+UFQxSDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0iZHVyYXRpb24iPgorICAgICAgICAgICAgPHBhcmFtIG5hbWU9Im1pbkV4Y2x1c2l2ZSI+UDFEPC9wYXJhbT4KKyAgICAgICAgICA8L2RhdGE+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz5QVDI1SDwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPlAxRDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0iZHVyYXRpb24iPgorICAgICAgICAgICAgPHBhcmFtIG5hbWU9Im1pbkV4Y2x1c2l2ZSI+UFQyNUg8L3BhcmFtPgorICAgICAgICAgIDwvZGF0YT4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+UDFEPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz5QVDI1SDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0iZHVyYXRpb24iPgorICAgICAgICAgICAgPHBhcmFtIG5hbWU9Im1pbkV4Y2x1c2l2ZSI+UFQyM0g8L3BhcmFtPgorICAgICAgICAgIDwvZGF0YT4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPlAxRDwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPlBUMjNIPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgICA8dGVzdENhc2U+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8ZGF0YSB0eXBlPSJkdXJhdGlvbiI+CisgICAgICAgICAgICA8cGFyYW0gbmFtZT0ibWluRXhjbHVzaXZlIj5QMUQ8L3BhcmFtPgorICAgICAgICAgIDwvZGF0YT4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+UFQyM0g8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPlAxRDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0iZHVyYXRpb24iPgorICAgICAgICAgICAgPHBhcmFtIG5hbWU9Im1pbkV4Y2x1c2l2ZSI+UDFEPC9wYXJhbT4KKyAgICAgICAgICA8L2RhdGE+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPlBUMjRIPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz5QMUQ8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDxkYXRhIHR5cGU9ImR1cmF0aW9uIj4KKyAgICAgICAgICAgIDxwYXJhbSBuYW1lPSJtaW5FeGNsdXNpdmUiPlBUMjRIPC9wYXJhbT4KKyAgICAgICAgICA8L2RhdGE+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPlAxRDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+UFQyNEg8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDxkYXRhIHR5cGU9ImR1cmF0aW9uIj4KKyAgICAgICAgICAgIDxwYXJhbSBuYW1lPSJtaW5FeGNsdXNpdmUiPlAxWTwvcGFyYW0+CisgICAgICAgICAgPC9kYXRhPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+UDEzTTwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPlAxWTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0iZHVyYXRpb24iPgorICAgICAgICAgICAgPHBhcmFtIG5hbWU9Im1pbkV4Y2x1c2l2ZSI+UDEzTTwvcGFyYW0+CisgICAgICAgICAgPC9kYXRhPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz5QMVk8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPlAxM008L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDxkYXRhIHR5cGU9ImR1cmF0aW9uIj4KKyAgICAgICAgICAgIDxwYXJhbSBuYW1lPSJtaW5FeGNsdXNpdmUiPlAxMU08L3BhcmFtPgorICAgICAgICAgIDwvZGF0YT4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPlAxWTwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPlAxMU08L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDxkYXRhIHR5cGU9ImR1cmF0aW9uIj4KKyAgICAgICAgICAgIDxwYXJhbSBuYW1lPSJtaW5FeGNsdXNpdmUiPlAxWTwvcGFyYW0+CisgICAgICAgICAgPC9kYXRhPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz5QMTFNPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz5QMVk8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDxkYXRhIHR5cGU9ImR1cmF0aW9uIj4KKyAgICAgICAgICAgIDxwYXJhbSBuYW1lPSJtaW5FeGNsdXNpdmUiPlAxMk08L3BhcmFtPgorICAgICAgICAgIDwvZGF0YT4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+UDFZPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz5QMTJNPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgICA8dGVzdENhc2U+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8ZGF0YSB0eXBlPSJkdXJhdGlvbiI+CisgICAgICAgICAgICA8cGFyYW0gbmFtZT0ibWluRXhjbHVzaXZlIj5QMVk8L3BhcmFtPgorICAgICAgICAgIDwvZGF0YT4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+UDEyTTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+UDFZPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgICA8dGVzdENhc2U+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8ZGF0YSB0eXBlPSJkdXJhdGlvbiI+CisgICAgICAgICAgICA8cGFyYW0gbmFtZT0ibWluRXhjbHVzaXZlIj5QMzY0RDwvcGFyYW0+CisgICAgICAgICAgPC9kYXRhPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+UDFZPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+UDM2NEQ8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDxkYXRhIHR5cGU9ImR1cmF0aW9uIj4KKyAgICAgICAgICAgIDxwYXJhbSBuYW1lPSJtaW5FeGNsdXNpdmUiPlAxWTwvcGFyYW0+CisgICAgICAgICAgPC9kYXRhPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz5QMzY0RDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+UDFZPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgICA8dGVzdENhc2U+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8ZGF0YSB0eXBlPSJkdXJhdGlvbiI+CisgICAgICAgICAgICA8cGFyYW0gbmFtZT0ibWluRXhjbHVzaXZlIj5QMVk8L3BhcmFtPgorICAgICAgICAgIDwvZGF0YT4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+UDM2NUQ8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPlAxWTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0iZHVyYXRpb24iPgorICAgICAgICAgICAgPHBhcmFtIG5hbWU9Im1pbkV4Y2x1c2l2ZSI+UDM2NUQ8L3BhcmFtPgorICAgICAgICAgIDwvZGF0YT4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+UDFZPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz5QMzY1RDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0iZHVyYXRpb24iPgorICAgICAgICAgICAgPHBhcmFtIG5hbWU9Im1pbkV4Y2x1c2l2ZSI+UDFZPC9wYXJhbT4KKyAgICAgICAgICA8L2RhdGE+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPlAzNjZEPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz5QMVk8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDxkYXRhIHR5cGU9ImR1cmF0aW9uIj4KKyAgICAgICAgICAgIDxwYXJhbSBuYW1lPSJtaW5FeGNsdXNpdmUiPlAzNjZEPC9wYXJhbT4KKyAgICAgICAgICA8L2RhdGE+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPlAxWTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+UDM2NkQ8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDxkYXRhIHR5cGU9ImR1cmF0aW9uIj4KKyAgICAgICAgICAgIDxwYXJhbSBuYW1lPSJtaW5FeGNsdXNpdmUiPlAxWTwvcGFyYW0+CisgICAgICAgICAgPC9kYXRhPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+UDM2N0Q8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz5QMVk8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDxkYXRhIHR5cGU9ImR1cmF0aW9uIj4KKyAgICAgICAgICAgIDxwYXJhbSBuYW1lPSJtaW5FeGNsdXNpdmUiPlAzNjdEPC9wYXJhbT4KKyAgICAgICAgICA8L2RhdGE+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPlAxWTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+UDM2N0Q8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDxkYXRhIHR5cGU9ImR1cmF0aW9uIj4KKyAgICAgICAgICAgIDxwYXJhbSBuYW1lPSJtaW5FeGNsdXNpdmUiPlAxNDlEPC9wYXJhbT4KKyAgICAgICAgICA8L2RhdGE+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz5QNU08L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz5QMTQ5RDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0iZHVyYXRpb24iPgorICAgICAgICAgICAgPHBhcmFtIG5hbWU9Im1pbkV4Y2x1c2l2ZSI+UDVNPC9wYXJhbT4KKyAgICAgICAgICA8L2RhdGE+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPlAxNDlEPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz5QNU08L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDxkYXRhIHR5cGU9ImR1cmF0aW9uIj4KKyAgICAgICAgICAgIDxwYXJhbSBuYW1lPSJtaW5FeGNsdXNpdmUiPlAxNTBEPC9wYXJhbT4KKyAgICAgICAgICA8L2RhdGE+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPlA1TTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+UDE1MEQ8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDxkYXRhIHR5cGU9ImR1cmF0aW9uIj4KKyAgICAgICAgICAgIDxwYXJhbSBuYW1lPSJtaW5FeGNsdXNpdmUiPlA1TTwvcGFyYW0+CisgICAgICAgICAgPC9kYXRhPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz5QMTUwRDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+UDVNPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgICA8dGVzdENhc2U+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8ZGF0YSB0eXBlPSJkdXJhdGlvbiI+CisgICAgICAgICAgICA8cGFyYW0gbmFtZT0ibWluRXhjbHVzaXZlIj5QMTUxRDwvcGFyYW0+CisgICAgICAgICAgPC9kYXRhPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz5QNU08L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPlAxNTFEPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgICA8dGVzdENhc2U+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8ZGF0YSB0eXBlPSJkdXJhdGlvbiI+CisgICAgICAgICAgICA8cGFyYW0gbmFtZT0ibWluRXhjbHVzaXZlIj5QNU08L3BhcmFtPgorICAgICAgICAgIDwvZGF0YT4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+UDE1MUQ8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPlA1TTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0iZHVyYXRpb24iPgorICAgICAgICAgICAgPHBhcmFtIG5hbWU9Im1pbkV4Y2x1c2l2ZSI+UDE1MkQ8L3BhcmFtPgorICAgICAgICAgIDwvZGF0YT4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+UDVNPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz5QMTUyRDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0iZHVyYXRpb24iPgorICAgICAgICAgICAgPHBhcmFtIG5hbWU9Im1pbkV4Y2x1c2l2ZSI+UDVNPC9wYXJhbT4KKyAgICAgICAgICA8L2RhdGE+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPlAxNTJEPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz5QNU08L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDxkYXRhIHR5cGU9ImR1cmF0aW9uIj4KKyAgICAgICAgICAgIDxwYXJhbSBuYW1lPSJtaW5FeGNsdXNpdmUiPlAxNTNEPC9wYXJhbT4KKyAgICAgICAgICA8L2RhdGE+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPlA1TTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+UDE1M0Q8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDxkYXRhIHR5cGU9ImR1cmF0aW9uIj4KKyAgICAgICAgICAgIDxwYXJhbSBuYW1lPSJtaW5FeGNsdXNpdmUiPlA1TTwvcGFyYW0+CisgICAgICAgICAgPC9kYXRhPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz5QMTUzRDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+UDVNPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgICA8dGVzdENhc2U+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8ZGF0YSB0eXBlPSJkdXJhdGlvbiI+CisgICAgICAgICAgICA8cGFyYW0gbmFtZT0ibWluRXhjbHVzaXZlIj5QNU08L3BhcmFtPgorICAgICAgICAgIDwvZGF0YT4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPlAxNTREPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+UDVNPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgICA8dGVzdENhc2U+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8ZGF0YSB0eXBlPSJkdXJhdGlvbiI+CisgICAgICAgICAgICA8cGFyYW0gbmFtZT0ibWluRXhjbHVzaXZlIj5QMTU0RDwvcGFyYW0+CisgICAgICAgICAgPC9kYXRhPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz5QNU08L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPlAxNTREPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgICA8dGVzdENhc2U+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8ZGF0YSB0eXBlPSJkdXJhdGlvbiI+CisgICAgICAgICAgICA8cGFyYW0gbmFtZT0ibWluRXhjbHVzaXZlIj5QMjdEPC9wYXJhbT4KKyAgICAgICAgICA8L2RhdGE+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz5QMU08L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz5QMjdEPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgICA8dGVzdENhc2U+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8ZGF0YSB0eXBlPSJkdXJhdGlvbiI+CisgICAgICAgICAgICA8cGFyYW0gbmFtZT0ibWluRXhjbHVzaXZlIj5QMU08L3BhcmFtPgorICAgICAgICAgIDwvZGF0YT4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+UDI3RDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+UDFNPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgICA8dGVzdENhc2U+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8ZGF0YSB0eXBlPSJkdXJhdGlvbiI+CisgICAgICAgICAgICA8cGFyYW0gbmFtZT0ibWluRXhjbHVzaXZlIj5QMjhEPC9wYXJhbT4KKyAgICAgICAgICA8L2RhdGE+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPlAxTTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+UDI4RDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0iZHVyYXRpb24iPgorICAgICAgICAgICAgPHBhcmFtIG5hbWU9Im1pbkV4Y2x1c2l2ZSI+UDFNPC9wYXJhbT4KKyAgICAgICAgICA8L2RhdGE+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPlAyOEQ8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPlAxTTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0iZHVyYXRpb24iPgorICAgICAgICAgICAgPHBhcmFtIG5hbWU9Im1pbkV4Y2x1c2l2ZSI+UDI5RDwvcGFyYW0+CisgICAgICAgICAgPC9kYXRhPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz5QMU08L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPlAyOUQ8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDxkYXRhIHR5cGU9ImR1cmF0aW9uIj4KKyAgICAgICAgICAgIDxwYXJhbSBuYW1lPSJtaW5FeGNsdXNpdmUiPlAxTTwvcGFyYW0+CisgICAgICAgICAgPC9kYXRhPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz5QMjlEPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz5QMU08L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDxkYXRhIHR5cGU9ImR1cmF0aW9uIj4KKyAgICAgICAgICAgIDxwYXJhbSBuYW1lPSJtaW5FeGNsdXNpdmUiPlAzMEQ8L3BhcmFtPgorICAgICAgICAgIDwvZGF0YT4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+UDFNPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz5QMzBEPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgICA8dGVzdENhc2U+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8ZGF0YSB0eXBlPSJkdXJhdGlvbiI+CisgICAgICAgICAgICA8cGFyYW0gbmFtZT0ibWluRXhjbHVzaXZlIj5QMU08L3BhcmFtPgorICAgICAgICAgIDwvZGF0YT4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+UDMwRDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+UDFNPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgICA8dGVzdENhc2U+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8ZGF0YSB0eXBlPSJkdXJhdGlvbiI+CisgICAgICAgICAgICA8cGFyYW0gbmFtZT0ibWluRXhjbHVzaXZlIj5QMzFEPC9wYXJhbT4KKyAgICAgICAgICA8L2RhdGE+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPlAxTTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+UDMxRDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0iZHVyYXRpb24iPgorICAgICAgICAgICAgPHBhcmFtIG5hbWU9Im1pbkV4Y2x1c2l2ZSI+UDFNPC9wYXJhbT4KKyAgICAgICAgICA8L2RhdGE+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPlAzMUQ8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPlAxTTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0iZHVyYXRpb24iPgorICAgICAgICAgICAgPHBhcmFtIG5hbWU9Im1pbkV4Y2x1c2l2ZSI+UDFNPC9wYXJhbT4KKyAgICAgICAgICA8L2RhdGE+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz5QMzJEPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+UDFNPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgICA8dGVzdENhc2U+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8ZGF0YSB0eXBlPSJkdXJhdGlvbiI+CisgICAgICAgICAgICA8cGFyYW0gbmFtZT0ibWluRXhjbHVzaXZlIj5QMzJEPC9wYXJhbT4KKyAgICAgICAgICA8L2RhdGE+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPlAxTTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+UDMyRDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgIDwvdGVzdFN1aXRlPgorICA8dGVzdFN1aXRlPgorICAgIDxkb2N1bWVudGF0aW9uPkRhdGF0eXBlIHRpbWU8L2RvY3VtZW50YXRpb24+CisgICAgPHRlc3RDYXNlPgorICAgICAgPHJlcXVpcmVzIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIi8+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8ZGF0YSB0eXBlPSJ0aW1lIi8+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4xMjo0NTowMDwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4xMjo0NTowMFo8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgPC90ZXN0U3VpdGU+CisgIDx0ZXN0U3VpdGU+CisgICAgPGRvY3VtZW50YXRpb24+RGF0YXR5cGUgZGF0ZTwvZG9jdW1lbnRhdGlvbj4KKyAgICA8dGVzdENhc2U+CisgICAgICA8cmVxdWlyZXMgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiLz4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDxkYXRhIHR5cGU9ImRhdGUiLz4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPjE4ODYtMTItMDE8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+MTg4Ni0xMi0wMVo8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgICA8dGVzdENhc2U+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8ZGF0YSB0eXBlPSJkYXRlIj4KKyAgICAgICAgICAgIDxwYXJhbSBuYW1lPSJtaW5FeGNsdXNpdmUiPjEwNjYtMTItMzE8L3BhcmFtPgorICAgICAgICAgIDwvZGF0YT4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPjE5MDAtMDEtMDE8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4xMDY2LTEyLTMxPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgICA8dGVzdENhc2U+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8ZGF0YSB0eXBlPSJkYXRlIj4KKyAgICAgICAgICAgIDxwYXJhbSBuYW1lPSJtaW5FeGNsdXNpdmUiPjE5MDAtMDEtMDE8L3BhcmFtPgorICAgICAgICAgIDwvZGF0YT4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+MTA2Ni0xMi0zMTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+MTkwMC0wMS0wMTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0iZGF0ZSI+CisgICAgICAgICAgICA8cGFyYW0gbmFtZT0ibWluRXhjbHVzaXZlIj4xOTAwLTAxLTAxPC9wYXJhbT4KKyAgICAgICAgICA8L2RhdGE+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4xOTAwLTAxLTAyPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+MTkwMC0wMS0wMTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0iZGF0ZSI+CisgICAgICAgICAgICA8cGFyYW0gbmFtZT0ibWluRXhjbHVzaXZlIj4xOTAwLTAxLTAyPC9wYXJhbT4KKyAgICAgICAgICA8L2RhdGE+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPjE5MDAtMDEtMDE8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPjE5MDAtMDEtMDI8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICA8L3Rlc3RTdWl0ZT4KKyAgPHRlc3RTdWl0ZT4KKyAgICA8ZG9jdW1lbnRhdGlvbj5EYXRhdHlwZSBnWWVhck1vbnRoPC9kb2N1bWVudGF0aW9uPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxyZXF1aXJlcyBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyIvPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0iZ1llYXJNb250aCIvPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+MTk5Ni0xMjwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4xOTk2LTAxPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPjE5OTYtMDFaPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+MTk5Ni0wMDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPHZhbHVlIHR5cGU9ImdZZWFyTW9udGgiPjE5OTYtMDE8L3ZhbHVlPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4xOTk2LTAxWjwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+MTk5Ni0wMSswMDowMDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+MTk5Ni0wMS0wMDowMDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+MTk5Ni0wMSswMTowMDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+MTk5Ni0wMS0wMTowMDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPHZhbHVlIHR5cGU9ImdZZWFyTW9udGgiPjE5OTYtMDFaPC92YWx1ZT4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPjE5OTYtMDErMDA6MDA8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+MTk5Ni0wMS0wMDowMDwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPjE5OTYtMDE8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPjE5OTYtMDErMDE6MDA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPjE5OTYtMDEtMDE6MDA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDx2YWx1ZSB0eXBlPSJnWWVhck1vbnRoIj4xOTk2LTAxKzAxOjAwPC92YWx1ZT4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+MTk5Ni0wMTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+MTk5Ni0wMVo8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPjE5OTYtMDErMDA6MDA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPjE5OTYtMDEtMDA6MDA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPjE5OTYtMDEtMDE6MDA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDx2YWx1ZSB0eXBlPSJnWWVhck1vbnRoIj4xOTk2LTAxLTAxOjAwPC92YWx1ZT4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+MTk5Ni0wMTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+MTk5Ni0wMVo8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPjE5OTYtMDErMDA6MDA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPjE5OTYtMDEtMDA6MDA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPjE5OTYtMDErMDE6MDA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICA8L3Rlc3RTdWl0ZT4KKyAgPHRlc3RTdWl0ZT4KKyAgICA8ZG9jdW1lbnRhdGlvbj5EYXRhdHlwZSBnWWVhcjwvZG9jdW1lbnRhdGlvbj4KKyAgICA8dGVzdENhc2U+CisgICAgICA8cmVxdWlyZXMgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiLz4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDxkYXRhIHR5cGU9ImdZZWFyIi8+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4yMDAxPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPjIwMDFaPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0iZ1llYXIiPgorICAgICAgICAgICAgPHBhcmFtIG5hbWU9Im1pbkV4Y2x1c2l2ZSI+MTk5OTwvcGFyYW0+CisgICAgICAgICAgPC9kYXRhPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+MjAwMDwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPjE5OTk8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDxkYXRhIHR5cGU9ImdZZWFyIj4KKyAgICAgICAgICAgIDxwYXJhbSBuYW1lPSJtaW5FeGNsdXNpdmUiPjIwMDA8L3BhcmFtPgorICAgICAgICAgIDwvZGF0YT4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+MTk5OTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+MjAwMDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0iZ1llYXIiPgorICAgICAgICAgICAgPHBhcmFtIG5hbWU9Im1pbkV4Y2x1c2l2ZSI+MTk5OSswNzowMDwvcGFyYW0+CisgICAgICAgICAgPC9kYXRhPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+MjAwMCswNzowMDwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPjE5OTkrMDc6MDA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDxkYXRhIHR5cGU9ImdZZWFyIj4KKyAgICAgICAgICAgIDxwYXJhbSBuYW1lPSJtaW5FeGNsdXNpdmUiPjIwMDArMDc6MDA8L3BhcmFtPgorICAgICAgICAgIDwvZGF0YT4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+MTk5OSswNzowMDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+MjAwMCswNzowMDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgIDwvdGVzdFN1aXRlPgorICA8dGVzdFN1aXRlPgorICAgIDxkb2N1bWVudGF0aW9uPkRhdGF0eXBlIGdNb250aERheTwvZG9jdW1lbnRhdGlvbj4KKyAgICA8dGVzdENhc2U+CisgICAgICA8cmVxdWlyZXMgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiLz4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDxkYXRhIHR5cGU9ImdNb250aERheSIvPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+LS0xMi0wMTwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4tLTEyLTAxWjwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDxkYXRhIHR5cGU9ImdNb250aERheSI+CisgICAgICAgICAgICA8cGFyYW0gbmFtZT0ibWluRXhjbHVzaXZlIj4tLTEyLTAxPC9wYXJhbT4KKyAgICAgICAgICA8L2RhdGE+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4tLTEyLTA0PC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+LS0xMi0wMTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0iZ01vbnRoRGF5Ij4KKyAgICAgICAgICAgIDxwYXJhbSBuYW1lPSJtaW5FeGNsdXNpdmUiPi0tMTItMDQ8L3BhcmFtPgorICAgICAgICAgIDwvZGF0YT4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+LS0xMi0wMTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+LS0xMi0wNDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0iZ01vbnRoRGF5Ij4KKyAgICAgICAgICAgIDxwYXJhbSBuYW1lPSJtaW5FeGNsdXNpdmUiPi0tMTEtMTc8L3BhcmFtPgorICAgICAgICAgIDwvZGF0YT4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPi0tMTItMDQ8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4tLTExLTE3PC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgICA8dGVzdENhc2U+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8ZGF0YSB0eXBlPSJnTW9udGhEYXkiPgorICAgICAgICAgICAgPHBhcmFtIG5hbWU9Im1pbkV4Y2x1c2l2ZSI+LS0xMi0wNDwvcGFyYW0+CisgICAgICAgICAgPC9kYXRhPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4tLTExLTE3PC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4tLTEyLTA0PC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgPC90ZXN0U3VpdGU+CisgIDx0ZXN0U3VpdGU+CisgICAgPGRvY3VtZW50YXRpb24+RGF0YXR5cGUgZ0RheTwvZG9jdW1lbnRhdGlvbj4KKyAgICA8dGVzdENhc2U+CisgICAgICA8cmVxdWlyZXMgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiLz4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDxkYXRhIHR5cGU9ImdEYXkiLz4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPi0tLTIwPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPi0tLTIwWjwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDxkYXRhIHR5cGU9ImdEYXkiPgorICAgICAgICAgICAgPHBhcmFtIG5hbWU9Im1pbkV4Y2x1c2l2ZSI+LS0tMDE8L3BhcmFtPgorICAgICAgICAgIDwvZGF0YT4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPi0tLTMxPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+LS0tMDE8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDxkYXRhIHR5cGU9ImdEYXkiPgorICAgICAgICAgICAgPHBhcmFtIG5hbWU9Im1pbkV4Y2x1c2l2ZSI+LS0tMzE8L3BhcmFtPgorICAgICAgICAgIDwvZGF0YT4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+LS0tMDE8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPi0tLTMxPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgPC90ZXN0U3VpdGU+CisgIDx0ZXN0U3VpdGU+CisgICAgPGRvY3VtZW50YXRpb24+RGF0YXR5cGUgZ01vbnRoPC9kb2N1bWVudGF0aW9uPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxyZXF1aXJlcyBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyIvPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0iZ01vbnRoIi8+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4tLTEyPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPi0tMDE8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+LS0wMVo8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+IC0tMTIgPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+LS0tMDE8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPi0tMDA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPi0tMTM8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPi0gLTEzPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgICA8dGVzdENhc2U+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8ZGF0YSB0eXBlPSJnTW9udGgiPgorICAgICAgICAgICAgPHBhcmFtIG5hbWU9Im1pbkV4Y2x1c2l2ZSI+LS0wMTwvcGFyYW0+CisgICAgICAgICAgPC9kYXRhPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+LS0xMjwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPi0tMDE8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDxkYXRhIHR5cGU9ImdNb250aCI+CisgICAgICAgICAgICA8cGFyYW0gbmFtZT0ibWluRXhjbHVzaXZlIj4tLTEyPC9wYXJhbT4KKyAgICAgICAgICA8L2RhdGE+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPi0tMDE8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPi0tMTI8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDxkYXRhIHR5cGU9ImdNb250aCI+CisgICAgICAgICAgICA8cGFyYW0gbmFtZT0ibWluRXhjbHVzaXZlIj4tLTAxPC9wYXJhbT4KKyAgICAgICAgICA8L2RhdGE+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4tLTAyPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+LS0wMTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0iZ01vbnRoIj4KKyAgICAgICAgICAgIDxwYXJhbSBuYW1lPSJtaW5FeGNsdXNpdmUiPi0tMDI8L3BhcmFtPgorICAgICAgICAgIDwvZGF0YT4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+LS0wMTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+LS0wMjwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgIDwvdGVzdFN1aXRlPgorICA8dGVzdFN1aXRlPgorICAgIDxkb2N1bWVudGF0aW9uPkRhdGF0eXBlIGJvb2xlYW48L2RvY3VtZW50YXRpb24+CisgICAgPHRlc3RDYXNlPgorICAgICAgPHJlcXVpcmVzIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIi8+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8ZGF0YSB0eXBlPSJib29sZWFuIi8+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz50cnVlPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPmZhbHNlPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPjA8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+MTwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPjAwPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4wMDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+MDE8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDx2YWx1ZSB0eXBlPSJib29sZWFuIj50cnVlPC92YWx1ZT4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPjE8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz5mYWxzZTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+MDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPHZhbHVlIHR5cGU9ImJvb2xlYW4iPmZhbHNlPC92YWx1ZT4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPjA8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz50cnVlPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4xPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgPC90ZXN0U3VpdGU+CisgIDx0ZXN0U3VpdGU+CisgICAgPGRvY3VtZW50YXRpb24+RGF0YXR5cGUgYmFzZTY0QmluYXJ5PC9kb2N1bWVudGF0aW9uPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxyZXF1aXJlcyBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyIvPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0iYmFzZTY0QmluYXJ5Ii8+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz5BQUFBPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPmFiY2QgZWZnaCBpamtsIG1ub3AgcXJzdCB1dnd4IHl6QUIgQ0RFRiBHSElKIEtMTU4gT1BRUgorU1RVViBXWFlaIDAxMjMgNDU2NyA4OSsvPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPkJBPT08L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+PC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPkJBPT08L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+QlE9PTwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz5CZz09PC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPkJ3PT08L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+QkJBPTwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz5CQkE9PC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPkJCRT08L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+QkJJPTwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz5CQk09PC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPkJCUT08L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+QkJVPTwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz5CQlk9PC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPkJCYz08L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+QkJnPTwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz5CQms9PC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPkJCbz08L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+QkJzPTwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz5CQnc9PC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPkJCMD08L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+QkI0PTwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz5CQjg9PC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+PT09PTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+QkI9PTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+QkJCPTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+Qj09PTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+QjwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPHZhbHVlIHR5cGU9ImJhc2U2NEJpbmFyeSI+ZGVhZGJlZWY8L3ZhbHVlPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+ZAorJiMxMzsJZSBhIGQKK2IgZWVmIDwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPkRFQURCRUVGPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz5ECismIzEzOwlFIEEgRAorQiBFRUYgPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgICA8dGVzdENhc2U+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8dmFsdWUgdHlwZT0iYmFzZTY0QmluYXJ5Ij5ERUFEQkVFRjwvdmFsdWU+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz5ECismIzEzOwlFIEEgRAorQiBFRUYgPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+ZGVhZGJlZWY8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPmQKKyYjMTM7CWUgYSBkCitiIGVlZiA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDxkYXRhIHR5cGU9ImJhc2U2NEJpbmFyeSI+CisgICAgICAgICAgICA8cGFyYW0gbmFtZT0ibGVuZ3RoIj4wPC9wYXJhbT4KKyAgICAgICAgICA8L2RhdGE+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz48L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgICA8dGVzdENhc2U+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8ZGF0YSB0eXBlPSJiYXNlNjRCaW5hcnkiPgorICAgICAgICAgICAgPHBhcmFtIG5hbWU9Imxlbmd0aCI+MTwvcGFyYW0+CisgICAgICAgICAgPC9kYXRhPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz48L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDxkYXRhIHR5cGU9ImJhc2U2NEJpbmFyeSI+CisgICAgICAgICAgICA8cGFyYW0gbmFtZT0ibGVuZ3RoIj42PC9wYXJhbT4KKyAgICAgICAgICA8L2RhdGE+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz5kZWFkYmVlZjwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDxkYXRhIHR5cGU9ImJhc2U2NEJpbmFyeSI+CisgICAgICAgICAgICA8cGFyYW0gbmFtZT0ibGVuZ3RoIj43PC9wYXJhbT4KKyAgICAgICAgICA8L2RhdGE+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPmRlYWRiZWVmPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgICA8dGVzdENhc2U+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8ZGF0YSB0eXBlPSJiYXNlNjRCaW5hcnkiPgorICAgICAgICAgICAgPHBhcmFtIG5hbWU9Imxlbmd0aCI+NTwvcGFyYW0+CisgICAgICAgICAgPC9kYXRhPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz5kZWFkYmVlZjwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0iYmFzZTY0QmluYXJ5Ij4KKyAgICAgICAgICAgIDxwYXJhbSBuYW1lPSJsZW5ndGgiPjE8L3BhcmFtPgorICAgICAgICAgIDwvZGF0YT4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPkJBPT08L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgICA8dGVzdENhc2U+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8ZGF0YSB0eXBlPSJiYXNlNjRCaW5hcnkiPgorICAgICAgICAgICAgPHBhcmFtIG5hbWU9Imxlbmd0aCI+MjwvcGFyYW0+CisgICAgICAgICAgPC9kYXRhPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz5CQT09PC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgICA8dGVzdENhc2U+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8ZGF0YSB0eXBlPSJiYXNlNjRCaW5hcnkiPgorICAgICAgICAgICAgPHBhcmFtIG5hbWU9Imxlbmd0aCI+MDwvcGFyYW0+CisgICAgICAgICAgPC9kYXRhPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz5CQT09PC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgICA8dGVzdENhc2U+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8ZGF0YSB0eXBlPSJiYXNlNjRCaW5hcnkiPgorICAgICAgICAgICAgPHBhcmFtIG5hbWU9Imxlbmd0aCI+MjwvcGFyYW0+CisgICAgICAgICAgPC9kYXRhPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+QkJBPTwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDxkYXRhIHR5cGU9ImJhc2U2NEJpbmFyeSI+CisgICAgICAgICAgICA8cGFyYW0gbmFtZT0ibGVuZ3RoIj4zPC9wYXJhbT4KKyAgICAgICAgICA8L2RhdGE+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPkJCQT08L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDxkYXRhIHR5cGU9ImJhc2U2NEJpbmFyeSI+CisgICAgICAgICAgICA8cGFyYW0gbmFtZT0ibGVuZ3RoIj4xPC9wYXJhbT4KKyAgICAgICAgICA8L2RhdGE+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPkJCQT08L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDxkYXRhIHR5cGU9ImJhc2U2NEJpbmFyeSI+CisgICAgICAgICAgICA8cGFyYW0gbmFtZT0ibGVuZ3RoIj4zPC9wYXJhbT4KKyAgICAgICAgICA8L2RhdGE+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz5kZWFkPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0iYmFzZTY0QmluYXJ5Ij4KKyAgICAgICAgICAgIDxwYXJhbSBuYW1lPSJsZW5ndGgiPjQ8L3BhcmFtPgorICAgICAgICAgIDwvZGF0YT4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+ZGVhZDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0iYmFzZTY0QmluYXJ5Ij4KKyAgICAgICAgICAgIDxwYXJhbSBuYW1lPSJsZW5ndGgiPjI8L3BhcmFtPgorICAgICAgICAgIDwvZGF0YT4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+ZGVhZDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0iYmFzZTY0QmluYXJ5Ij4KKyAgICAgICAgICAgIDxwYXJhbSBuYW1lPSJsZW5ndGgiPjQ8L3BhcmFtPgorICAgICAgICAgIDwvZGF0YT4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPmRlYWRCQT09PC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0iYmFzZTY0QmluYXJ5Ij4KKyAgICAgICAgICAgIDxwYXJhbSBuYW1lPSJsZW5ndGgiPjU8L3BhcmFtPgorICAgICAgICAgIDwvZGF0YT4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+ZGVhZEJBPT08L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDxkYXRhIHR5cGU9ImJhc2U2NEJpbmFyeSI+CisgICAgICAgICAgICA8cGFyYW0gbmFtZT0ibGVuZ3RoIj4zPC9wYXJhbT4KKyAgICAgICAgICA8L2RhdGE+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPmRlYWRCQT09PC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgPC90ZXN0U3VpdGU+CisgIDx0ZXN0U3VpdGU+CisgICAgPGRvY3VtZW50YXRpb24+RGF0YXR5cGUgaGV4QmluYXJ5PC9kb2N1bWVudGF0aW9uPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxyZXF1aXJlcyBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyIvPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0iaGV4QmluYXJ5Ii8+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz5kZWFkYmVlZjwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz48L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+MDEyMzQ1Njc4OUFCQ0RFRmFiY2RlZjwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPjAwIDAwPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4wMC4wMDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+MEc8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDx2YWx1ZSB0eXBlPSJoZXhCaW5hcnkiPjAwPC92YWx1ZT4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPgorCTAwCisgICA8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4wMTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+MTA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPjBhPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4wQTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPHZhbHVlIHR5cGU9ImhleEJpbmFyeSI+MDE8L3ZhbHVlPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4wMDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+CisJMDAKKyAgIDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+MTA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPjBhPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4wQTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPHZhbHVlIHR5cGU9ImhleEJpbmFyeSI+MTA8L3ZhbHVlPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4wMDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+CisJMDAKKyAgIDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+MDE8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPjBhPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4wQTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPHZhbHVlIHR5cGU9ImhleEJpbmFyeSI+MGE8L3ZhbHVlPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+MEE8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4wMDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+CisJMDAKKyAgIDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+MDE8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPjEwPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgICA8dGVzdENhc2U+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8ZGF0YSB0eXBlPSJoZXhCaW5hcnkiPgorICAgICAgICAgICAgPHBhcmFtIG5hbWU9Imxlbmd0aCI+MDwvcGFyYW0+CisgICAgICAgICAgPC9kYXRhPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+PC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0iaGV4QmluYXJ5Ij4KKyAgICAgICAgICAgIDxwYXJhbSBuYW1lPSJsZW5ndGgiPjE8L3BhcmFtPgorICAgICAgICAgIDwvZGF0YT4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+PC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgICA8dGVzdENhc2U+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8ZGF0YSB0eXBlPSJoZXhCaW5hcnkiPgorICAgICAgICAgICAgPHBhcmFtIG5hbWU9Imxlbmd0aCI+MTwvcGFyYW0+CisgICAgICAgICAgPC9kYXRhPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+MDA8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgICA8dGVzdENhc2U+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8ZGF0YSB0eXBlPSJoZXhCaW5hcnkiPgorICAgICAgICAgICAgPHBhcmFtIG5hbWU9Imxlbmd0aCI+MjwvcGFyYW0+CisgICAgICAgICAgPC9kYXRhPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4wMDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0iaGV4QmluYXJ5Ij4KKyAgICAgICAgICAgIDxwYXJhbSBuYW1lPSJsZW5ndGgiPjA8L3BhcmFtPgorICAgICAgICAgIDwvZGF0YT4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+MDA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDxkYXRhIHR5cGU9ImhleEJpbmFyeSI+CisgICAgICAgICAgICA8cGFyYW0gbmFtZT0ibGVuZ3RoIj4yPC9wYXJhbT4KKyAgICAgICAgICA8L2RhdGE+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4wMDAwPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0iaGV4QmluYXJ5Ij4KKyAgICAgICAgICAgIDxwYXJhbSBuYW1lPSJsZW5ndGgiPjM8L3BhcmFtPgorICAgICAgICAgIDwvZGF0YT4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+MDAwMDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0iaGV4QmluYXJ5Ij4KKyAgICAgICAgICAgIDxwYXJhbSBuYW1lPSJsZW5ndGgiPjE8L3BhcmFtPgorICAgICAgICAgIDwvZGF0YT4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+MDAwMDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0iaGV4QmluYXJ5Ij4KKyAgICAgICAgICAgIDxwYXJhbSBuYW1lPSJsZW5ndGgiPjI8L3BhcmFtPgorICAgICAgICAgIDwvZGF0YT4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPiAwMDAwIDwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDxkYXRhIHR5cGU9ImhleEJpbmFyeSI+CisgICAgICAgICAgICA8cGFyYW0gbmFtZT0ibGVuZ3RoIj4zPC9wYXJhbT4KKyAgICAgICAgICA8L2RhdGE+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPiAwMDAwIDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0iaGV4QmluYXJ5Ij4KKyAgICAgICAgICAgIDxwYXJhbSBuYW1lPSJsZW5ndGgiPjE8L3BhcmFtPgorICAgICAgICAgIDwvZGF0YT4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+IDAwMDAgPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgICA8dGVzdENhc2U+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8ZGF0YSB0eXBlPSJoZXhCaW5hcnkiPgorICAgICAgICAgICAgPHBhcmFtIG5hbWU9Imxlbmd0aCI+MjwvcGFyYW0+CisgICAgICAgICAgPC9kYXRhPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+QUFBQTwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDxkYXRhIHR5cGU9ImhleEJpbmFyeSI+CisgICAgICAgICAgICA8cGFyYW0gbmFtZT0ibGVuZ3RoIj4zPC9wYXJhbT4KKyAgICAgICAgICA8L2RhdGE+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPkFBQUE8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDxkYXRhIHR5cGU9ImhleEJpbmFyeSI+CisgICAgICAgICAgICA8cGFyYW0gbmFtZT0ibGVuZ3RoIj4xPC9wYXJhbT4KKyAgICAgICAgICA8L2RhdGE+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPkFBQUE8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICA8L3Rlc3RTdWl0ZT4KKyAgPHRlc3RTdWl0ZT4KKyAgICA8ZG9jdW1lbnRhdGlvbj5EYXRhdHlwZSBmbG9hdDwvZG9jdW1lbnRhdGlvbj4KKyAgICA8dGVzdENhc2U+CisgICAgICA8cmVxdWlyZXMgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiLz4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDxkYXRhIHR5cGU9ImZsb2F0Ii8+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4xLjA8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+MS48L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+LjE8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4tIDE8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPjEgLjA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPitJTkY8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPitOYU48L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPi1OYU48L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDx2YWx1ZSB0eXBlPSJmbG9hdCI+MDwvdmFsdWU+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4tMDwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4rMDwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4gMCA8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+IDAuIDwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4gLjAgPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPiAwLjAgPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPiAwZTAgPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPiAwRTAgPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPiAwRSswIDwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4gMEUtMCA8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4xRTA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPjAuMUUxPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4xMEUtMTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+KzE8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPi0xPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz5JTkY8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPklORiA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPi1JTkY8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPi1JTkYgPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz5OYU48L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPiBOYU4gPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgICA8dGVzdENhc2U+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8dmFsdWUgdHlwZT0iZmxvYXQiPjFFMDwvdmFsdWU+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4wLjFFMTwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4xMEUtMTwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4rMTwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPjA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPi0wPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4rMDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+IDAgPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4gMC4gPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4gLjAgPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4gMC4wIDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+IDBlMCA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPiAwRTAgPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4gMEUrMCA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPiAwRS0wIDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+LTE8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPklORjwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+SU5GIDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+LUlORjwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+LUlORiA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPk5hTjwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+IE5hTiA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDx2YWx1ZSB0eXBlPSJmbG9hdCI+LTE8L3ZhbHVlPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4wPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4tMDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+KzA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPiAwIDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+IDAuIDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+IC4wIDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+IDAuMCA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPiAwZTAgPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4gMEUwIDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+IDBFKzAgPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4gMEUtMCA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPjFFMDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+MC4xRTE8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPjEwRS0xPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4rMTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+SU5GPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz5JTkYgPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4tSU5GPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4tSU5GIDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+TmFOPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4gTmFOIDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPHZhbHVlIHR5cGU9ImZsb2F0Ij5JTkY8L3ZhbHVlPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+SU5GIDwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPjA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPi0wPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4rMDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+IDAgPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4gMC4gPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4gLjAgPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4gMC4wIDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+IDBlMCA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPiAwRTAgPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4gMEUrMCA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPiAwRS0wIDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+MUUwPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4wLjFFMTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+MTBFLTE8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPisxPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4tMTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+LUlORjwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+LUlORiA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPk5hTjwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+IE5hTiA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDx2YWx1ZSB0eXBlPSJmbG9hdCI+LUlORjwvdmFsdWU+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4tSU5GIDwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPjA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPi0wPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4rMDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+IDAgPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4gMC4gPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4gLjAgPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4gMC4wIDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+IDBlMCA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPiAwRTAgPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4gMEUrMCA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPiAwRS0wIDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+MUUwPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4wLjFFMTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+MTBFLTE8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPisxPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4tMTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+SU5GPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz5JTkYgPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz5OYU48L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPiBOYU4gPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgICA8dGVzdENhc2U+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8dmFsdWUgdHlwZT0iZmxvYXQiPk5hTjwvdmFsdWU+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4gTmFOIDwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPjA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPi0wPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4rMDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+IDAgPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4gMC4gPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4gLjAgPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4gMC4wIDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+IDBlMCA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPiAwRTAgPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4gMEUrMCA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPiAwRS0wIDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+MUUwPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4wLjFFMTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+MTBFLTE8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPisxPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4tMTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+SU5GPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz5JTkYgPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4tSU5GPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4tSU5GIDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0iZmxvYXQiPgorICAgICAgICAgICAgPHBhcmFtIG5hbWU9Im1pbkV4Y2x1c2l2ZSI+LUlORjwvcGFyYW0+CisgICAgICAgICAgPC9kYXRhPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+LTEwMDA8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4tSU5GPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgICA8dGVzdENhc2U+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8ZGF0YSB0eXBlPSJmbG9hdCI+CisgICAgICAgICAgICA8cGFyYW0gbmFtZT0ibWluRXhjbHVzaXZlIj4tMTAwMDwvcGFyYW0+CisgICAgICAgICAgPC9kYXRhPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4tSU5GPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4tMTAwMDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0iZmxvYXQiPgorICAgICAgICAgICAgPHBhcmFtIG5hbWU9Im1pbkV4Y2x1c2l2ZSI+MTAwMDwvcGFyYW0+CisgICAgICAgICAgPC9kYXRhPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+SU5GPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+MTAwMDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0iZmxvYXQiPgorICAgICAgICAgICAgPHBhcmFtIG5hbWU9Im1pbkV4Y2x1c2l2ZSI+SU5GPC9wYXJhbT4KKyAgICAgICAgICA8L2RhdGE+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPjEwMDA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPklORjwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0iZmxvYXQiPgorICAgICAgICAgICAgPHBhcmFtIG5hbWU9Im1pbkV4Y2x1c2l2ZSI+LTE8L3BhcmFtPgorICAgICAgICAgIDwvZGF0YT4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPjE8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4tMTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0iZmxvYXQiPgorICAgICAgICAgICAgPHBhcmFtIG5hbWU9Im1pbkV4Y2x1c2l2ZSI+MTwvcGFyYW0+CisgICAgICAgICAgPC9kYXRhPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4tMTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+MTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0iZmxvYXQiPgorICAgICAgICAgICAgPHBhcmFtIG5hbWU9Im1pbkV4Y2x1c2l2ZSI+MDwvcGFyYW0+CisgICAgICAgICAgPC9kYXRhPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+MTwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPjA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDxkYXRhIHR5cGU9ImZsb2F0Ij4KKyAgICAgICAgICAgIDxwYXJhbSBuYW1lPSJtaW5FeGNsdXNpdmUiPjE8L3BhcmFtPgorICAgICAgICAgIDwvZGF0YT4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+MDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+MTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0iZmxvYXQiPgorICAgICAgICAgICAgPHBhcmFtIG5hbWU9Im1pbkV4Y2x1c2l2ZSI+LTE8L3BhcmFtPgorICAgICAgICAgIDwvZGF0YT4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPjA8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4tMTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0iZmxvYXQiPgorICAgICAgICAgICAgPHBhcmFtIG5hbWU9Im1pbkV4Y2x1c2l2ZSI+MDwvcGFyYW0+CisgICAgICAgICAgPC9kYXRhPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4tMTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+MDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgIDwvdGVzdFN1aXRlPgorICA8dGVzdFN1aXRlPgorICAgIDxkb2N1bWVudGF0aW9uPkRhdGF0eXBlIGRvdWJsZTwvZG9jdW1lbnRhdGlvbj4KKyAgICA8dGVzdENhc2U+CisgICAgICA8cmVxdWlyZXMgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiLz4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDxkYXRhIHR5cGU9ImRvdWJsZSIvPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+MS4wPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPjEuPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPi4xPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+LSAxPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4xIC4wPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4rSU5GPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4rTmFOPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4tTmFOPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgICA8dGVzdENhc2U+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8dmFsdWUgdHlwZT0iZG91YmxlIj4wPC92YWx1ZT4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPi0wPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPiswPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPiAwIDwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4gMC4gPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPiAuMCA8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+IDAuMCA8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+IDBlMCA8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+IDBFMCA8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+IDBFKzAgPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPiAwRS0wIDwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPjFFMDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+MC4xRTE8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPjEwRS0xPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4rMTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+LTE8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPklORjwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+SU5GIDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+LUlORjwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+LUlORiA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPk5hTjwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+IE5hTiA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDx2YWx1ZSB0eXBlPSJkb3VibGUiPjFFMDwvdmFsdWU+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4wLjFFMTwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4xMEUtMTwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4rMTwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPjA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPi0wPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4rMDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+IDAgPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4gMC4gPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4gLjAgPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4gMC4wIDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+IDBlMCA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPiAwRTAgPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4gMEUrMCA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPiAwRS0wIDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+LTE8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPklORjwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+SU5GIDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+LUlORjwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+LUlORiA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPk5hTjwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+IE5hTiA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDx2YWx1ZSB0eXBlPSJkb3VibGUiPi0xPC92YWx1ZT4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+MDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+LTA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPiswPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4gMCA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPiAwLiA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPiAuMCA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPiAwLjAgPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4gMGUwIDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+IDBFMCA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPiAwRSswIDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+IDBFLTAgPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4xRTA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPjAuMUUxPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4xMEUtMTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+KzE8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPklORjwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+SU5GIDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+LUlORjwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+LUlORiA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPk5hTjwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+IE5hTiA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDx2YWx1ZSB0eXBlPSJkb3VibGUiPklORjwvdmFsdWU+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz5JTkYgPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+MDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+LTA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPiswPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4gMCA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPiAwLiA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPiAuMCA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPiAwLjAgPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4gMGUwIDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+IDBFMCA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPiAwRSswIDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+IDBFLTAgPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4xRTA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPjAuMUUxPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4xMEUtMTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+KzE8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPi0xPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4tSU5GPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4tSU5GIDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+TmFOPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4gTmFOIDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPHZhbHVlIHR5cGU9ImRvdWJsZSI+LUlORjwvdmFsdWU+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4tSU5GIDwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPjA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPi0wPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4rMDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+IDAgPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4gMC4gPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4gLjAgPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4gMC4wIDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+IDBlMCA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPiAwRTAgPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4gMEUrMCA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPiAwRS0wIDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+MUUwPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4wLjFFMTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+MTBFLTE8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPisxPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4tMTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+SU5GPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz5JTkYgPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz5OYU48L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPiBOYU4gPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgICA8dGVzdENhc2U+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8dmFsdWUgdHlwZT0iZG91YmxlIj5OYU48L3ZhbHVlPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+IE5hTiA8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4wPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4tMDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+KzA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPiAwIDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+IDAuIDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+IC4wIDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+IDAuMCA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPiAwZTAgPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4gMEUwIDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+IDBFKzAgPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4gMEUtMCA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPjFFMDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+MC4xRTE8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPjEwRS0xPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4rMTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+LTE8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPklORjwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+SU5GIDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+LUlORjwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+LUlORiA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDxkYXRhIHR5cGU9ImRvdWJsZSI+CisgICAgICAgICAgICA8cGFyYW0gbmFtZT0ibWluRXhjbHVzaXZlIj4tSU5GPC9wYXJhbT4KKyAgICAgICAgICA8L2RhdGE+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4tMTAwMDwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPi1JTkY8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDxkYXRhIHR5cGU9ImRvdWJsZSI+CisgICAgICAgICAgICA8cGFyYW0gbmFtZT0ibWluRXhjbHVzaXZlIj4tMTAwMDwvcGFyYW0+CisgICAgICAgICAgPC9kYXRhPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4tSU5GPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4tMTAwMDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0iZG91YmxlIj4KKyAgICAgICAgICAgIDxwYXJhbSBuYW1lPSJtaW5FeGNsdXNpdmUiPjEwMDA8L3BhcmFtPgorICAgICAgICAgIDwvZGF0YT4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPklORjwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPjEwMDA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDxkYXRhIHR5cGU9ImRvdWJsZSI+CisgICAgICAgICAgICA8cGFyYW0gbmFtZT0ibWluRXhjbHVzaXZlIj5JTkY8L3BhcmFtPgorICAgICAgICAgIDwvZGF0YT4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+MTAwMDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+SU5GPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgICA8dGVzdENhc2U+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8ZGF0YSB0eXBlPSJkb3VibGUiPgorICAgICAgICAgICAgPHBhcmFtIG5hbWU9Im1pbkV4Y2x1c2l2ZSI+LTE8L3BhcmFtPgorICAgICAgICAgIDwvZGF0YT4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPjE8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4tMTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0iZG91YmxlIj4KKyAgICAgICAgICAgIDxwYXJhbSBuYW1lPSJtaW5FeGNsdXNpdmUiPjE8L3BhcmFtPgorICAgICAgICAgIDwvZGF0YT4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+LTE8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPjE8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDxkYXRhIHR5cGU9ImRvdWJsZSI+CisgICAgICAgICAgICA8cGFyYW0gbmFtZT0ibWluRXhjbHVzaXZlIj4wPC9wYXJhbT4KKyAgICAgICAgICA8L2RhdGE+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4xPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+MDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0iZG91YmxlIj4KKyAgICAgICAgICAgIDxwYXJhbSBuYW1lPSJtaW5FeGNsdXNpdmUiPjE8L3BhcmFtPgorICAgICAgICAgIDwvZGF0YT4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+MDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+MTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0iZG91YmxlIj4KKyAgICAgICAgICAgIDxwYXJhbSBuYW1lPSJtaW5FeGNsdXNpdmUiPi0xPC9wYXJhbT4KKyAgICAgICAgICA8L2RhdGE+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4wPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+LTE8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDxkYXRhIHR5cGU9ImRvdWJsZSI+CisgICAgICAgICAgICA8cGFyYW0gbmFtZT0ibWluRXhjbHVzaXZlIj4wPC9wYXJhbT4KKyAgICAgICAgICA8L2RhdGE+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPi0xPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4wPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgPC90ZXN0U3VpdGU+CisgIDx0ZXN0U3VpdGU+CisgICAgPGRvY3VtZW50YXRpb24+RGF0YXR5cGUgUU5hbWU8L2RvY3VtZW50YXRpb24+CisgICAgPHRlc3RDYXNlPgorICAgICAgPHJlcXVpcmVzIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIi8+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8ZGF0YSB0eXBlPSJRTmFtZSIvPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+Zm9vPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jIHhtbG5zOng9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20iPng6Zm9vPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+eTpmb288L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDx2YWx1ZSB4bWxuczp6PSJodHRwOi8vd3d3LmV4YW1wbGUuY29tIiB4bWxuczp5PSJodHRwOi8vd3d3LmV4YW1wbGUuY29tLyIgeG1sbnM6eD0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSIgdHlwZT0iUU5hbWUiPmZvbzwvdmFsdWU+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYyB4bWxuczp6PSJodHRwOi8vd3d3LmV4YW1wbGUuY29tIiB4bWxuczp5PSJodHRwOi8vd3d3LmV4YW1wbGUuY29tLyIgeG1sbnM6eD0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSI+IGZvbzwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jIHhtbG5zOno9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20iIHhtbG5zOnk9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20vIiB4bWxuczp4PSJodHRwOi8vd3d3LmV4YW1wbGUuY29tIj54OmZvbzwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2MgeG1sbnM6ej0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSIgeG1sbnM6eT0iaHR0cDovL3d3dy5leGFtcGxlLmNvbS8iIHhtbG5zOng9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20iPiB4OmZvbyA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jIHhtbG5zOno9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20iIHhtbG5zOnk9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20vIiB4bWxuczp4PSJodHRwOi8vd3d3LmV4YW1wbGUuY29tIj56OmZvbzwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2MgeG1sbnM6ej0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSIgeG1sbnM6eT0iaHR0cDovL3d3dy5leGFtcGxlLmNvbS8iIHhtbG5zOng9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20iPng6YmFyPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYyB4bWxuczp6PSJodHRwOi8vd3d3LmV4YW1wbGUuY29tIiB4bWxuczp5PSJodHRwOi8vd3d3LmV4YW1wbGUuY29tLyIgeG1sbnM6eD0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSI+ejpiYXI8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jIHhtbG5zOno9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20iIHhtbG5zOnk9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20vIiB4bWxuczp4PSJodHRwOi8vd3d3LmV4YW1wbGUuY29tIj55OmZvbzwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2MgeG1sbnM6ej0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSIgeG1sbnM6eT0iaHR0cDovL3d3dy5leGFtcGxlLmNvbS8iIHhtbG5zOng9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20iPnk6YmFyPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgICA8dGVzdENhc2U+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8dmFsdWUgeG1sbnM6ej0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSIgeG1sbnM6eT0iaHR0cDovL3d3dy5leGFtcGxlLmNvbS8iIHhtbG5zOng9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20iIHR5cGU9IlFOYW1lIj54OmZvbzwvdmFsdWU+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYyB4bWxuczp6PSJodHRwOi8vd3d3LmV4YW1wbGUuY29tIiB4bWxuczp5PSJodHRwOi8vd3d3LmV4YW1wbGUuY29tLyIgeG1sbnM6eD0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSI+IHg6Zm9vIDwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYyB4bWxuczp6PSJodHRwOi8vd3d3LmV4YW1wbGUuY29tIiB4bWxuczp5PSJodHRwOi8vd3d3LmV4YW1wbGUuY29tLyIgeG1sbnM6eD0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSI+ejpmb288L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYyB4bWxuczp6PSJodHRwOi8vd3d3LmV4YW1wbGUuY29tIiB4bWxuczp5PSJodHRwOi8vd3d3LmV4YW1wbGUuY29tLyIgeG1sbnM6eD0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSI+Zm9vPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYyB4bWxuczp6PSJodHRwOi8vd3d3LmV4YW1wbGUuY29tIiB4bWxuczp5PSJodHRwOi8vd3d3LmV4YW1wbGUuY29tLyIgeG1sbnM6eD0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSI+IGZvbzwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2MgeG1sbnM6ej0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSIgeG1sbnM6eT0iaHR0cDovL3d3dy5leGFtcGxlLmNvbS8iIHhtbG5zOng9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20iPng6YmFyPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYyB4bWxuczp6PSJodHRwOi8vd3d3LmV4YW1wbGUuY29tIiB4bWxuczp5PSJodHRwOi8vd3d3LmV4YW1wbGUuY29tLyIgeG1sbnM6eD0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSI+ejpiYXI8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jIHhtbG5zOno9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20iIHhtbG5zOnk9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20vIiB4bWxuczp4PSJodHRwOi8vd3d3LmV4YW1wbGUuY29tIj55OmZvbzwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2MgeG1sbnM6ej0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSIgeG1sbnM6eT0iaHR0cDovL3d3dy5leGFtcGxlLmNvbS8iIHhtbG5zOng9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20iPnk6YmFyPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgICA8dGVzdENhc2U+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8dmFsdWUgeG1sbnM6ej0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSIgeG1sbnM6eT0iaHR0cDovL3d3dy5leGFtcGxlLmNvbS8iIHhtbG5zOng9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20iIHR5cGU9IlFOYW1lIj54OmJhcjwvdmFsdWU+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYyB4bWxuczp6PSJodHRwOi8vd3d3LmV4YW1wbGUuY29tIiB4bWxuczp5PSJodHRwOi8vd3d3LmV4YW1wbGUuY29tLyIgeG1sbnM6eD0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSI+ejpiYXI8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYyB4bWxuczp6PSJodHRwOi8vd3d3LmV4YW1wbGUuY29tIiB4bWxuczp5PSJodHRwOi8vd3d3LmV4YW1wbGUuY29tLyIgeG1sbnM6eD0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSI+Zm9vPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYyB4bWxuczp6PSJodHRwOi8vd3d3LmV4YW1wbGUuY29tIiB4bWxuczp5PSJodHRwOi8vd3d3LmV4YW1wbGUuY29tLyIgeG1sbnM6eD0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSI+IGZvbzwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2MgeG1sbnM6ej0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSIgeG1sbnM6eT0iaHR0cDovL3d3dy5leGFtcGxlLmNvbS8iIHhtbG5zOng9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20iPng6Zm9vPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYyB4bWxuczp6PSJodHRwOi8vd3d3LmV4YW1wbGUuY29tIiB4bWxuczp5PSJodHRwOi8vd3d3LmV4YW1wbGUuY29tLyIgeG1sbnM6eD0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSI+IHg6Zm9vIDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2MgeG1sbnM6ej0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSIgeG1sbnM6eT0iaHR0cDovL3d3dy5leGFtcGxlLmNvbS8iIHhtbG5zOng9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20iPno6Zm9vPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYyB4bWxuczp6PSJodHRwOi8vd3d3LmV4YW1wbGUuY29tIiB4bWxuczp5PSJodHRwOi8vd3d3LmV4YW1wbGUuY29tLyIgeG1sbnM6eD0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSI+eTpmb288L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jIHhtbG5zOno9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20iIHhtbG5zOnk9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20vIiB4bWxuczp4PSJodHRwOi8vd3d3LmV4YW1wbGUuY29tIj55OmJhcjwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPHZhbHVlIHhtbG5zOno9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20iIHhtbG5zOnk9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20vIiB4bWxuczp4PSJodHRwOi8vd3d3LmV4YW1wbGUuY29tIiB0eXBlPSJRTmFtZSI+eTpmb288L3ZhbHVlPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYyB4bWxuczp6PSJodHRwOi8vd3d3LmV4YW1wbGUuY29tIiB4bWxuczp5PSJodHRwOi8vd3d3LmV4YW1wbGUuY29tLyIgeG1sbnM6eD0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSI+Zm9vPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYyB4bWxuczp6PSJodHRwOi8vd3d3LmV4YW1wbGUuY29tIiB4bWxuczp5PSJodHRwOi8vd3d3LmV4YW1wbGUuY29tLyIgeG1sbnM6eD0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSI+IGZvbzwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2MgeG1sbnM6ej0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSIgeG1sbnM6eT0iaHR0cDovL3d3dy5leGFtcGxlLmNvbS8iIHhtbG5zOng9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20iPng6Zm9vPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYyB4bWxuczp6PSJodHRwOi8vd3d3LmV4YW1wbGUuY29tIiB4bWxuczp5PSJodHRwOi8vd3d3LmV4YW1wbGUuY29tLyIgeG1sbnM6eD0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSI+IHg6Zm9vIDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2MgeG1sbnM6ej0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSIgeG1sbnM6eT0iaHR0cDovL3d3dy5leGFtcGxlLmNvbS8iIHhtbG5zOng9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20iPno6Zm9vPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYyB4bWxuczp6PSJodHRwOi8vd3d3LmV4YW1wbGUuY29tIiB4bWxuczp5PSJodHRwOi8vd3d3LmV4YW1wbGUuY29tLyIgeG1sbnM6eD0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSI+eDpiYXI8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jIHhtbG5zOno9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20iIHhtbG5zOnk9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20vIiB4bWxuczp4PSJodHRwOi8vd3d3LmV4YW1wbGUuY29tIj56OmJhcjwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2MgeG1sbnM6ej0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSIgeG1sbnM6eT0iaHR0cDovL3d3dy5leGFtcGxlLmNvbS8iIHhtbG5zOng9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20iPnk6YmFyPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgICA8dGVzdENhc2U+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8dmFsdWUgeG1sbnM6ej0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSIgeG1sbnM6eT0iaHR0cDovL3d3dy5leGFtcGxlLmNvbS8iIHhtbG5zOng9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20iIHR5cGU9IlFOYW1lIj55OmJhcjwvdmFsdWU+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jIHhtbG5zOno9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20iIHhtbG5zOnk9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20vIiB4bWxuczp4PSJodHRwOi8vd3d3LmV4YW1wbGUuY29tIj5mb288L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jIHhtbG5zOno9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20iIHhtbG5zOnk9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20vIiB4bWxuczp4PSJodHRwOi8vd3d3LmV4YW1wbGUuY29tIj4gZm9vPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYyB4bWxuczp6PSJodHRwOi8vd3d3LmV4YW1wbGUuY29tIiB4bWxuczp5PSJodHRwOi8vd3d3LmV4YW1wbGUuY29tLyIgeG1sbnM6eD0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSI+eDpmb288L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jIHhtbG5zOno9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20iIHhtbG5zOnk9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20vIiB4bWxuczp4PSJodHRwOi8vd3d3LmV4YW1wbGUuY29tIj4geDpmb28gPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYyB4bWxuczp6PSJodHRwOi8vd3d3LmV4YW1wbGUuY29tIiB4bWxuczp5PSJodHRwOi8vd3d3LmV4YW1wbGUuY29tLyIgeG1sbnM6eD0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSI+ejpmb288L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jIHhtbG5zOno9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20iIHhtbG5zOnk9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20vIiB4bWxuczp4PSJodHRwOi8vd3d3LmV4YW1wbGUuY29tIj54OmJhcjwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2MgeG1sbnM6ej0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSIgeG1sbnM6eT0iaHR0cDovL3d3dy5leGFtcGxlLmNvbS8iIHhtbG5zOng9Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20iPno6YmFyPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYyB4bWxuczp6PSJodHRwOi8vd3d3LmV4YW1wbGUuY29tIiB4bWxuczp5PSJodHRwOi8vd3d3LmV4YW1wbGUuY29tLyIgeG1sbnM6eD0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSI+eTpmb288L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICA8L3Rlc3RTdWl0ZT4KKyAgPHRlc3RTdWl0ZT4KKyAgICA8ZG9jdW1lbnRhdGlvbj5EYXRhdHlwZSBOT1RBVElPTjwvZG9jdW1lbnRhdGlvbj4KKyAgICA8dGVzdENhc2U+CisgICAgICA8cmVxdWlyZXMgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiLz4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDxkYXRhIHR5cGU9Ik5PVEFUSU9OIi8+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz5mb288L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2MgeG1sbnM6eD0iaHR0cDovL3d3dy5leGFtcGxlLmNvbSI+eDpmb288L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz55OmZvbzwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgIDwvdGVzdFN1aXRlPgorICA8dGVzdFN1aXRlPgorICAgIDxkb2N1bWVudGF0aW9uPkRhdGF0eXBlIGRlY2ltYWw8L2RvY3VtZW50YXRpb24+CisgICAgPHRlc3RDYXNlPgorICAgICAgPHJlcXVpcmVzIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIi8+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8ZGF0YSB0eXBlPSJkZWNpbWFsIi8+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4xLjA8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+MS48L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+LjE8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+KzEuMDwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4tMS4wPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPiAxIDwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz45OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4tOTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz5qdW5rPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4tLTE8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPisrMTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+Ky0xPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4xLjIuPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4uLjE8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPjEuLjwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+MSAuMjwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+MSs8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPisgMTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0iZGVjaW1hbCI+CisgICAgICAgICAgICA8cGFyYW0gbmFtZT0ibWluRXhjbHVzaXZlIj4wPC9wYXJhbT4KKyAgICAgICAgICA8L2RhdGE+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4xPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+MDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0iZGVjaW1hbCI+CisgICAgICAgICAgICA8cGFyYW0gbmFtZT0ibWluRXhjbHVzaXZlIj4xPC9wYXJhbT4KKyAgICAgICAgICA8L2RhdGE+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPjA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPjE8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICA8L3Rlc3RTdWl0ZT4KKyAgPHRlc3RTdWl0ZT4KKyAgICA8ZG9jdW1lbnRhdGlvbj5EYXRhdHlwZSBub25Qb3NpdGl2ZUludGVnZXI8L2RvY3VtZW50YXRpb24+CisgICAgPHRlc3RDYXNlPgorICAgICAgPHJlcXVpcmVzIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIi8+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8ZGF0YSB0eXBlPSJub25Qb3NpdGl2ZUludGVnZXIiLz4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPi0xPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPjA8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+LTA8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4xPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgPC90ZXN0U3VpdGU+CisgIDx0ZXN0U3VpdGU+CisgICAgPGRvY3VtZW50YXRpb24+RGF0YXR5cGUgbm9uTmVnYXRpdmVJbnRlZ2VyPC9kb2N1bWVudGF0aW9uPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxyZXF1aXJlcyBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyIvPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0ibm9uTmVnYXRpdmVJbnRlZ2VyIi8+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4xPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPjA8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+KzE8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+KzA8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4tMTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgIDwvdGVzdFN1aXRlPgorICA8dGVzdFN1aXRlPgorICAgIDxkb2N1bWVudGF0aW9uPkRhdGF0eXBlIHBvc2l0aXZlSW50ZWdlcjwvZG9jdW1lbnRhdGlvbj4KKyAgICA8dGVzdENhc2U+CisgICAgICA8cmVxdWlyZXMgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiLz4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDxkYXRhIHR5cGU9InBvc2l0aXZlSW50ZWdlciIvPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+KzE8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+MTwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPjA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPi0xPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgPC90ZXN0U3VpdGU+CisgIDx0ZXN0U3VpdGU+CisgICAgPGRvY3VtZW50YXRpb24+RGF0YXR5cGUgbmVnYXRpdmVJbnRlZ2VyPC9kb2N1bWVudGF0aW9uPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxyZXF1aXJlcyBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyIvPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0ibmVnYXRpdmVJbnRlZ2VyIi8+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4tMTwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPisxPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4wPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgPC90ZXN0U3VpdGU+CisgIDx0ZXN0U3VpdGU+CisgICAgPGRvY3VtZW50YXRpb24+RGF0YXR5cGUgbG9uZzwvZG9jdW1lbnRhdGlvbj4KKyAgICA8dGVzdENhc2U+CisgICAgICA8cmVxdWlyZXMgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiLz4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDxkYXRhIHR5cGU9ImxvbmciLz4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPjE8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+KzE8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+MDwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4gMCA8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4xIDI8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPjk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz45MjIzMzcyMDM2ODU0Nzc1ODA3PC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPi05MjIzMzcyMDM2ODU0Nzc1ODA4PC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+OTIyMzM3MjAzNjg1NDc3NTgwODwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+LTkyMjMzNzIwMzY4NTQ3NzU4MDk8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPjwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgIDwvdGVzdFN1aXRlPgorICA8dGVzdFN1aXRlPgorICAgIDxkb2N1bWVudGF0aW9uPkRhdGF0eXBlIGludDwvZG9jdW1lbnRhdGlvbj4KKyAgICA8dGVzdENhc2U+CisgICAgICA8cmVxdWlyZXMgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiLz4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDxkYXRhIHR5cGU9ImludCIvPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+MTwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4wMTwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4gMSA8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+MjE0NzQ4MzY0NzwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4tMjE0NzQ4MzY0ODwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPjIxNDc0ODM2NDg8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPi0yMTQ3NDgzNjQ5PC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz45OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5PC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgICA8dGVzdENhc2U+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8dmFsdWUgdHlwZT0iaW50Ij4xPC92YWx1ZT4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPisxPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPiAxIDwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4wMDE8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4tMTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+IC0xIDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+LTAwMTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPHZhbHVlIHR5cGU9ImludCI+LTE8L3ZhbHVlPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+IC0xIDwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4tMDAxPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+MTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+KzE8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPiAxIDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+MDAxPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgPC90ZXN0U3VpdGU+CisgIDx0ZXN0U3VpdGU+CisgICAgPGRvY3VtZW50YXRpb24+RGF0YXR5cGUgc2hvcnQ8L2RvY3VtZW50YXRpb24+CisgICAgPHRlc3RDYXNlPgorICAgICAgPHJlcXVpcmVzIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIi8+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8ZGF0YSB0eXBlPSJzaG9ydCIvPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+MTwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4zMjc2NzwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4tMzI3Njg8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4zMjc2ODwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+LTMyNzY5PC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz45OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5PC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgICA8dGVzdENhc2U+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8dmFsdWUgdHlwZT0ic2hvcnQiPjE8L3ZhbHVlPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+KzE8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+IDEgPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPjAwMTwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPi0xPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4gLTEgPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4tMDAxPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgICA8dGVzdENhc2U+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8dmFsdWUgdHlwZT0ic2hvcnQiPi0xPC92YWx1ZT4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPiAtMSA8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+LTAwMTwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPjE8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPisxPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4gMSA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPjAwMTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgIDwvdGVzdFN1aXRlPgorICA8dGVzdFN1aXRlPgorICAgIDxkb2N1bWVudGF0aW9uPkRhdGF0eXBlIGJ5dGU8L2RvY3VtZW50YXRpb24+CisgICAgPHRlc3RDYXNlPgorICAgICAgPHJlcXVpcmVzIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIi8+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8ZGF0YSB0eXBlPSJieXRlIi8+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4xPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPjEyNzwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4tMTI4PC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+MTI4PC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4tMTI5PC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgPC90ZXN0U3VpdGU+CisgIDx0ZXN0U3VpdGU+CisgICAgPGRvY3VtZW50YXRpb24+RGF0YXR5cGUgdW5zaWduZWRMb25nPC9kb2N1bWVudGF0aW9uPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxyZXF1aXJlcyBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyIvPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0idW5zaWduZWRMb25nIi8+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4xPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPisxPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+LTE8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4wPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPjE4NDQ2NzQ0MDczNzA5NTUxNjE1PC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+MTg0NDY3NDQwNzM3MDk1NTE2MTY8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPi0xPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgPC90ZXN0U3VpdGU+CisgIDx0ZXN0U3VpdGU+CisgICAgPGRvY3VtZW50YXRpb24+RGF0YXR5cGUgdW5zaWduZWRJbnQ8L2RvY3VtZW50YXRpb24+CisgICAgPHRlc3RDYXNlPgorICAgICAgPHJlcXVpcmVzIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIi8+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8ZGF0YSB0eXBlPSJ1bnNpZ25lZEludCIvPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+MTwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4rMTwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4wPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPjQyOTQ5NjcyOTU8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz40Mjk0OTY3Mjk2PC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4tMTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgIDwvdGVzdFN1aXRlPgorICA8dGVzdFN1aXRlPgorICAgIDxkb2N1bWVudGF0aW9uPkRhdGF0eXBlIHVuc2lnbmVkU2hvcnQ8L2RvY3VtZW50YXRpb24+CisgICAgPHRlc3RDYXNlPgorICAgICAgPHJlcXVpcmVzIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIi8+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8ZGF0YSB0eXBlPSJ1bnNpZ25lZFNob3J0Ii8+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4xPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPisxPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPjA8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+NjU1MzU8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz42NTUzNjwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+LTE8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICA8L3Rlc3RTdWl0ZT4KKyAgPHRlc3RTdWl0ZT4KKyAgICA8ZG9jdW1lbnRhdGlvbj5EYXRhdHlwZSB1bnNpZ25lZEJ5dGU8L2RvY3VtZW50YXRpb24+CisgICAgPHRlc3RDYXNlPgorICAgICAgPHJlcXVpcmVzIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIi8+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8ZGF0YSB0eXBlPSJ1bnNpZ25lZEJ5dGUiLz4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPjE8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+KzE8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+MDwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4yNTU8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4yNTY8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPi0xPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgPC90ZXN0U3VpdGU+CisgIDx0ZXN0U3VpdGU+CisgICAgPGRvY3VtZW50YXRpb24+RGF0YXR5cGUgc3RyaW5nPC9kb2N1bWVudGF0aW9uPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxyZXF1aXJlcyBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyIvPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0ic3RyaW5nIi8+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz5hbnkgdGhpbmcgYXQgYWxsITwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICA8L3Rlc3RTdWl0ZT4KKyAgPHRlc3RTdWl0ZT4KKyAgICA8ZG9jdW1lbnRhdGlvbj5EYXRhdHlwZSBub3JtYWxpemVkU3RyaW5nPC9kb2N1bWVudGF0aW9uPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxyZXF1aXJlcyBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyIvPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0ibm9ybWFsaXplZFN0cmluZyIvPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+YW55IHRoaW5nIGF0IGFsbCE8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgPC90ZXN0U3VpdGU+CisgIDx0ZXN0U3VpdGU+CisgICAgPGRvY3VtZW50YXRpb24+RGF0YXR5cGUgdG9rZW48L2RvY3VtZW50YXRpb24+CisgICAgPHRlc3RDYXNlPgorICAgICAgPHJlcXVpcmVzIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIi8+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8ZGF0YSB0eXBlPSJ0b2tlbiIvPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+YW55IHRoaW5nIGF0IGFsbCE8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgICA8dGVzdENhc2U+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8dmFsdWUgdHlwZT0idG9rZW4iPjwvdmFsdWU+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4gPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPgkKKyYjMTM7IDwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPnggPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz54Cis8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPngmIzEzOzwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+eAk8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPiB4PC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4KK3g8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPiYjMTM7eDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+CXg8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPgkKKyYjMTM7IHgJCismIzEzOyA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPnggeSA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPnggeQorPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz54IHkmIzEzOzwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+eCB5CTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+eCB5PC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz54Cit5PC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz54JiMxMzt5PC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz54CXk8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPiB4IHk8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPgoreCB5PC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4mIzEzO3ggeTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+CXggeTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+CQorJiMxMzsgeAkKKyYjMTM7IHkJCismIzEzOyA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDx2YWx1ZSB0eXBlPSJ0b2tlbiI+eCA8L3ZhbHVlPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+eAorPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPngmIzEzOzwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz54CTwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4geDwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4KK3g8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+JiMxMzt4PC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPgl4PC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPgkKKyYjMTM7IHgJCismIzEzOyA8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz48L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPiA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPgkKKyYjMTM7IDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+eCB5IDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+eCB5Cis8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPnggeSYjMTM7PC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz54IHkJPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz54IHk8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPngKK3k8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPngmIzEzO3k8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPngJeTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+IHggeTwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+Cit4IHk8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPiYjMTM7eCB5PC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4JeCB5PC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4JCismIzEzOyB4CQorJiMxMzsgeQkKKyYjMTM7IDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPHZhbHVlIHR5cGU9InRva2VuIj54IHkgPC92YWx1ZT4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPnggeQorPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPnggeSYjMTM7PC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPnggeQk8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+eCB5PC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPngKK3k8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+eCYjMTM7eTwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz54CXk8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+IHggeTwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4KK3ggeTwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4mIzEzO3ggeTwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4JeCB5PC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPgkKKyYjMTM7IHgJCismIzEzOyB5CQorJiMxMzsgPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+PC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4gPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4JCismIzEzOyA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPnggPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz54Cis8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPngmIzEzOzwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+eAk8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPiB4PC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4KK3g8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPiYjMTM7eDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+CXg8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPgkKKyYjMTM7IHgJCismIzEzOyA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDxkYXRhIHR5cGU9InRva2VuIj4KKyAgICAgICAgICAgIDxwYXJhbSBuYW1lPSJsZW5ndGgiPjA8L3BhcmFtPgorICAgICAgICAgIDwvZGF0YT4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPjwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDxkYXRhIHR5cGU9InRva2VuIj4KKyAgICAgICAgICAgIDxwYXJhbSBuYW1lPSJsZW5ndGgiPjE8L3BhcmFtPgorICAgICAgICAgIDwvZGF0YT4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+PC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgICA8dGVzdENhc2U+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8ZGF0YSB0eXBlPSJ0b2tlbiI+CisgICAgICAgICAgICA8cGFyYW0gbmFtZT0ibGVuZ3RoIj4xPC9wYXJhbT4KKyAgICAgICAgICA8L2RhdGE+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz54PC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0idG9rZW4iPgorICAgICAgICAgICAgPHBhcmFtIG5hbWU9Imxlbmd0aCI+MjwvcGFyYW0+CisgICAgICAgICAgPC9kYXRhPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz54PC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgICA8dGVzdENhc2U+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8ZGF0YSB0eXBlPSJ0b2tlbiI+CisgICAgICAgICAgICA8cGFyYW0gbmFtZT0ibGVuZ3RoIj4wPC9wYXJhbT4KKyAgICAgICAgICA8L2RhdGE+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPng8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDxkYXRhIHR5cGU9InRva2VuIj4KKyAgICAgICAgICAgIDxwYXJhbSBuYW1lPSJsZW5ndGgiPjE8L3BhcmFtPgorICAgICAgICAgIDwvZGF0YT4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPiB4IDwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDxkYXRhIHR5cGU9InRva2VuIj4KKyAgICAgICAgICAgIDxwYXJhbSBuYW1lPSJsZW5ndGgiPjI8L3BhcmFtPgorICAgICAgICAgIDwvZGF0YT4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+IHggPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgICA8dGVzdENhc2U+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8ZGF0YSB0eXBlPSJ0b2tlbiI+CisgICAgICAgICAgICA8cGFyYW0gbmFtZT0ibGVuZ3RoIj4wPC9wYXJhbT4KKyAgICAgICAgICA8L2RhdGE+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPiB4IDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0idG9rZW4iPgorICAgICAgICAgICAgPHBhcmFtIG5hbWU9Imxlbmd0aCI+MTwvcGFyYW0+CisgICAgICAgICAgPC9kYXRhPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+8JCggDwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDxkYXRhIHR5cGU9InRva2VuIj4KKyAgICAgICAgICAgIDxwYXJhbSBuYW1lPSJsZW5ndGgiPjI8L3BhcmFtPgorICAgICAgICAgIDwvZGF0YT4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+8JCggDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0idG9rZW4iPgorICAgICAgICAgICAgPHBhcmFtIG5hbWU9Imxlbmd0aCI+MDwvcGFyYW0+CisgICAgICAgICAgPC9kYXRhPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz7wkKCAPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgPC90ZXN0U3VpdGU+CisgIDx0ZXN0U3VpdGU+CisgICAgPGRvY3VtZW50YXRpb24+RGF0YXR5cGUgbGFuZ3VhZ2U8L2RvY3VtZW50YXRpb24+CisgICAgPHRlc3RDYXNlPgorICAgICAgPHJlcXVpcmVzIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIi8+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8ZGF0YSB0eXBlPSJsYW5ndWFnZSIvPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+ZW48L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+ZW4tVUs8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+aS1jaGVyb2tlZTwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz54LWtsaW5nb248L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+ZW4tdWstc2NvdGxhbmQ8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz5lbi5VSzwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgIDwvdGVzdFN1aXRlPgorICA8dGVzdFN1aXRlPgorICAgIDxkb2N1bWVudGF0aW9uPkRhdGF0eXBlIE5hbWU8L2RvY3VtZW50YXRpb24+CisgICAgPHRlc3RDYXNlPgorICAgICAgPHJlcXVpcmVzIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIi8+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8ZGF0YSB0eXBlPSJOYW1lIi8+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz5mb288L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+XzAxMjM0NTY3ODk8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4uPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+OjwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPi08L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPjEyMzQ8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4gZm9vIDwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICA8L3Rlc3RTdWl0ZT4KKyAgPHRlc3RTdWl0ZT4KKyAgICA8ZG9jdW1lbnRhdGlvbj5EYXRhdHlwZSBOQ05hbWU8L2RvY3VtZW50YXRpb24+CisgICAgPHRlc3RDYXNlPgorICAgICAgPHJlcXVpcmVzIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIi8+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8ZGF0YSB0eXBlPSJOQ05hbWUiLz4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPmZvbzwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPmZvbzpiYXI8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPjBmb288L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDx2YWx1ZSB0eXBlPSJOQ05hbWUiPmZvbzwvdmFsdWU+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4gZm9vIDwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPkZPTzwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+IEZPTyA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDx2YWx1ZSB0eXBlPSJOQ05hbWUiPkZPTzwvdmFsdWU+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4gRk9PIDwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPmZvbzwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+IGZvbyA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICA8L3Rlc3RTdWl0ZT4KKyAgPHRlc3RTdWl0ZT4KKyAgICA8ZG9jdW1lbnRhdGlvbj5EYXRhdHlwZSBOTVRPS0VOPC9kb2N1bWVudGF0aW9uPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxyZXF1aXJlcyBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyIvPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0iTk1UT0tFTiIvPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+Zm9vPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPl88L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+LjwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz46PC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPi08L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+MTIzNDwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz4gZm9vIDwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDxkYXRhIHR5cGU9Ik5NVE9LRU4iPgorICAgICAgICAgICAgPHBhcmFtIG5hbWU9Imxlbmd0aCI+MzwvcGFyYW0+CisgICAgICAgICAgPC9kYXRhPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+IGZvbyA8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgICA8dGVzdENhc2U+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8ZGF0YSB0eXBlPSJOTVRPS0VOIj4KKyAgICAgICAgICAgIDxwYXJhbSBuYW1lPSJsZW5ndGgiPjQ8L3BhcmFtPgorICAgICAgICAgIDwvZGF0YT4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+IGZvbyA8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDxkYXRhIHR5cGU9Ik5NVE9LRU4iPgorICAgICAgICAgICAgPHBhcmFtIG5hbWU9Imxlbmd0aCI+MjwvcGFyYW0+CisgICAgICAgICAgPC9kYXRhPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz4gZm9vIDwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0iTk1UT0tFTiI+CisgICAgICAgICAgICA8cGFyYW0gbmFtZT0ibGVuZ3RoIj4yPC9wYXJhbT4KKyAgICAgICAgICA8L2RhdGE+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz5mbzwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDxkYXRhIHR5cGU9Ik5NVE9LRU4iPgorICAgICAgICAgICAgPHBhcmFtIG5hbWU9Imxlbmd0aCI+MzwvcGFyYW0+CisgICAgICAgICAgPC9kYXRhPgorICAgICAgICA8L2VsZW1lbnQ+CisgICAgICA8L2NvcnJlY3Q+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz5mbzwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0iTk1UT0tFTiI+CisgICAgICAgICAgICA8cGFyYW0gbmFtZT0ibGVuZ3RoIj4xPC9wYXJhbT4KKyAgICAgICAgICA8L2RhdGE+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPmZvPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgICA8dGVzdENhc2U+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8ZGF0YSB0eXBlPSJOTVRPS0VOIj4KKyAgICAgICAgICAgIDxwYXJhbSBuYW1lPSJsZW5ndGgiPjE8L3BhcmFtPgorICAgICAgICAgIDwvZGF0YT4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPHZhbGlkPgorICAgICAgICA8ZG9jPmY8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgICA8dGVzdENhc2U+CisgICAgICA8Y29ycmVjdD4KKyAgICAgICAgPGVsZW1lbnQgeG1sbnM9Imh0dHA6Ly9yZWxheG5nLm9yZy9ucy9zdHJ1Y3R1cmUvMS4wIiBuYW1lPSJkb2MiIGRhdGF0eXBlTGlicmFyeT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtZGF0YXR5cGVzIj4KKyAgICAgICAgICA8ZGF0YSB0eXBlPSJOTVRPS0VOIj4KKyAgICAgICAgICAgIDxwYXJhbSBuYW1lPSJsZW5ndGgiPjI8L3BhcmFtPgorICAgICAgICAgIDwvZGF0YT4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+ZjwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgICAgPHRlc3RDYXNlPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0iTk1UT0tFTiI+CisgICAgICAgICAgICA8cGFyYW0gbmFtZT0ibGVuZ3RoIj4wPC9wYXJhbT4KKyAgICAgICAgICA8L2RhdGE+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPmY8L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICA8L3Rlc3RTdWl0ZT4KKyAgPHRlc3RTdWl0ZT4KKyAgICA8ZG9jdW1lbnRhdGlvbj5EYXRhdHlwZSBOTVRPS0VOUzwvZG9jdW1lbnRhdGlvbj4KKyAgICA8dGVzdENhc2U+CisgICAgICA8cmVxdWlyZXMgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiLz4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDxkYXRhIHR5cGU9Ik5NVE9LRU5TIi8+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz5mb28gYmFyPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+PC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8dmFsaWQ+CisgICAgICAgIDxkb2M+MSAyIDMgNDwvZG9jPgorICAgICAgPC92YWxpZD4KKyAgICA8L3Rlc3RDYXNlPgorICA8L3Rlc3RTdWl0ZT4KKyAgPHRlc3RTdWl0ZT4KKyAgICA8ZG9jdW1lbnRhdGlvbj5EYXRhdHlwZSBJRDwvZG9jdW1lbnRhdGlvbj4KKyAgICA8dGVzdENhc2U+CisgICAgICA8cmVxdWlyZXMgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiLz4KKyAgICAgIDxjb3JyZWN0PgorICAgICAgICA8ZWxlbWVudCB4bWxucz0iaHR0cDovL3JlbGF4bmcub3JnL25zL3N0cnVjdHVyZS8xLjAiIG5hbWU9ImRvYyIgZGF0YXR5cGVMaWJyYXJ5PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1kYXRhdHlwZXMiPgorICAgICAgICAgIDxkYXRhIHR5cGU9IklEIi8+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDx2YWxpZD4KKyAgICAgICAgPGRvYz5mb29iYXI8L2RvYz4KKyAgICAgIDwvdmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz5mb286YmFyPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz5mb28gYmFyPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgPC90ZXN0Q2FzZT4KKyAgPC90ZXN0U3VpdGU+CisgIDx0ZXN0U3VpdGU+CisgICAgPGRvY3VtZW50YXRpb24+RGF0YXR5cGUgRU5USVRZPC9kb2N1bWVudGF0aW9uPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxyZXF1aXJlcyBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyIvPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0iRU5USVRZIi8+CisgICAgICAgIDwvZWxlbWVudD4KKyAgICAgIDwvY29ycmVjdD4KKyAgICAgIDxpbnZhbGlkPgorICAgICAgICA8ZG9jPjwvZG9jPgorICAgICAgPC9pbnZhbGlkPgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+Zm9vPC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8dmFsaWQgZHRkPSImIzEwOyZsdDshRE9DVFlQRSBkb2MgWyYjMTA7Jmx0OyFFTlRJVFkgZm9vIFNZU1RFTSAnd2hhdGV2ZXInIE5EQVRBIGpwZWcmZ3Q7JiMxMDtdJmd0OyI+CisgICAgICAgIDxkb2M+Zm9vPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgIDwvdGVzdFN1aXRlPgorICA8dGVzdFN1aXRlPgorICAgIDxkb2N1bWVudGF0aW9uPkRhdGF0eXBlIEVOVElUSUVTPC9kb2N1bWVudGF0aW9uPgorICAgIDx0ZXN0Q2FzZT4KKyAgICAgIDxyZXF1aXJlcyBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyIvPgorICAgICAgPGNvcnJlY3Q+CisgICAgICAgIDxlbGVtZW50IHhtbG5zPSJodHRwOi8vcmVsYXhuZy5vcmcvbnMvc3RydWN0dXJlLzEuMCIgbmFtZT0iZG9jIiBkYXRhdHlwZUxpYnJhcnk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWRhdGF0eXBlcyI+CisgICAgICAgICAgPGRhdGEgdHlwZT0iRU5USVRJRVMiLz4KKyAgICAgICAgPC9lbGVtZW50PgorICAgICAgPC9jb3JyZWN0PgorICAgICAgPGludmFsaWQ+CisgICAgICAgIDxkb2M+PC9kb2M+CisgICAgICA8L2ludmFsaWQ+CisgICAgICA8aW52YWxpZD4KKyAgICAgICAgPGRvYz5mb288L2RvYz4KKyAgICAgIDwvaW52YWxpZD4KKyAgICAgIDx2YWxpZCBkdGQ9IiYjMTA7Jmx0OyFET0NUWVBFIGRvYyBbJiMxMDsmbHQ7IUVOVElUWSBmb28gU1lTVEVNICd3aGF0ZXZlcicgTkRBVEEganBlZyZndDsgJiMxMDsmbHQ7IUVOVElUWSBiYXIgU1lTVEVNICd3aGF0ZXZlcicgTkRBVEEganBlZyZndDsgJiMxMDtdJmd0OyI+CisgICAgICAgIDxkb2M+IGZvbyBiYXIgPC9kb2M+CisgICAgICA8L3ZhbGlkPgorICAgIDwvdGVzdENhc2U+CisgIDwvdGVzdFN1aXRlPgorPC90ZXN0U3VpdGU+CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3RBdXRvbWF0YS5jIGIvbGlieG1sMi90ZXN0QXV0b21hdGEuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YzRkZTkwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0QXV0b21hdGEuYwpAQCAtMCwwICsxLDMwOSBAQAorLyoKKyAqIHRlc3RSZWdleHAuYzogc2ltcGxlIG1vZHVsZSBmb3IgdGVzdGluZyByZWd1bGFyIGV4cHJlc3Npb25zCisgKgorICogU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgorICoKKyAqIERhbmllbCBWZWlsbGFyZCA8dmVpbGxhcmRAcmVkaGF0LmNvbT4KKyAqLworCisjaW5jbHVkZSAibGlieG1sLmgiCisjaWZkZWYgTElCWE1MX0FVVE9NQVRBX0VOQUJMRUQKKyNpbmNsdWRlIDxzdHJpbmcuaD4KKworI2luY2x1ZGUgPGxpYnhtbC90cmVlLmg+CisjaW5jbHVkZSA8bGlieG1sL3htbGF1dG9tYXRhLmg+CisKK3N0YXRpYyBpbnQgc2Nhbk51bWJlcihjaGFyICoqcHRyKSB7CisgICAgaW50IHJldCA9IDA7CisgICAgY2hhciAqY3VyOworCisgICAgY3VyID0gKnB0cjsKKyAgICB3aGlsZSAoKCpjdXIgPj0gJzAnKSAmJiAoKmN1ciA8PSAnOScpKSB7CisJcmV0ID0gcmV0ICogMTAgKyAoKmN1ciAtICcwJyk7CisJY3VyKys7CisgICAgfQorICAgICpwdHIgPSBjdXI7CisgICAgcmV0dXJuKHJldCk7Cit9CisKK3N0YXRpYyB2b2lkCit0ZXN0UmVnZXhwRmlsZShjb25zdCBjaGFyICpmaWxlbmFtZSkgeworICAgIEZJTEUgKmlucHV0OworICAgIGNoYXIgZXhwcls1MDAwXTsKKyAgICBpbnQgbGVuOworICAgIGludCByZXQ7CisgICAgaW50IGk7CisgICAgeG1sQXV0b21hdGFQdHIgYW07CisgICAgeG1sQXV0b21hdGFTdGF0ZVB0ciBzdGF0ZXNbMTAwMF07CisgICAgeG1sUmVnZXhwUHRyIHJlZ2V4cCA9IE5VTEw7CisgICAgeG1sUmVnRXhlY0N0eHRQdHIgZXhlYyA9IE5VTEw7CisKKyAgICBmb3IgKGkgPSAwO2k8MTAwMDtpKyspCisJc3RhdGVzW2ldID0gTlVMTDsKKworICAgIGlucHV0ID0gZm9wZW4oZmlsZW5hbWUsICJyIik7CisgICAgaWYgKGlucHV0ID09IE5VTEwpIHsKKyAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSJDYW5ub3Qgb3BlbiAlcyBmb3IgcmVhZGluZ1xuIiwgZmlsZW5hbWUpOworCXJldHVybjsKKyAgICB9CisKKyAgICBhbSA9IHhtbE5ld0F1dG9tYXRhKCk7CisgICAgaWYgKGFtID09IE5VTEwpIHsKKyAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSJDYW5ub3QgY3JlYXRlIGF1dG9tYXRhXG4iKTsKKwlmY2xvc2UoaW5wdXQpOworCXJldHVybjsKKyAgICB9CisgICAgc3RhdGVzWzBdID0geG1sQXV0b21hdGFHZXRJbml0U3RhdGUoYW0pOworICAgIGlmIChzdGF0ZXNbMF0gPT0gTlVMTCkgeworICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJIkNhbm5vdCBnZXQgc3RhcnQgc3RhdGVcbiIpOworCXhtbEZyZWVBdXRvbWF0YShhbSk7CisJZmNsb3NlKGlucHV0KTsKKwlyZXR1cm47CisgICAgfQorICAgIHJldCA9IDA7CisKKyAgICB3aGlsZSAoZmdldHMoZXhwciwgNDUwMCwgaW5wdXQpICE9IE5VTEwpIHsKKwlpZiAoZXhwclswXSA9PSAnIycpCisJICAgIGNvbnRpbnVlOworCWxlbiA9IHN0cmxlbihleHByKTsKKwlsZW4tLTsKKwl3aGlsZSAoKGxlbiA+PSAwKSAmJgorCSAgICAgICAoKGV4cHJbbGVuXSA9PSAnXG4nKSB8fCAoZXhwcltsZW5dID09ICdcdCcpIHx8CisJCShleHByW2xlbl0gPT0gJ1xyJykgfHwgKGV4cHJbbGVuXSA9PSAnICcpKSkgbGVuLS07CisJZXhwcltsZW4gKyAxXSA9IDA7CisJaWYgKGxlbiA+PSAwKSB7CisJICAgIGlmICgoYW0gIT0gTlVMTCkgJiYgKGV4cHJbMF0gPT0gJ3QnKSAmJiAoZXhwclsxXSA9PSAnICcpKSB7CisJCWNoYXIgKnB0ciA9ICZleHByWzJdOworCQlpbnQgZnJvbSwgdG87CisKKwkJZnJvbSA9IHNjYW5OdW1iZXIoJnB0cik7CisJCWlmICgqcHRyICE9ICcgJykgeworCQkgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCQkgICAgIkJhZCBsaW5lICVzXG4iLCBleHByKTsKKwkJICAgIGJyZWFrOworCQl9CisJCWlmIChzdGF0ZXNbZnJvbV0gPT0gTlVMTCkKKwkJICAgIHN0YXRlc1tmcm9tXSA9IHhtbEF1dG9tYXRhTmV3U3RhdGUoYW0pOworCQlwdHIrKzsKKwkJdG8gPSBzY2FuTnVtYmVyKCZwdHIpOworCQlpZiAoKnB0ciAhPSAnICcpIHsKKwkJICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkJICAgICJCYWQgbGluZSAlc1xuIiwgZXhwcik7CisJCSAgICBicmVhazsKKwkJfQorCQlpZiAoc3RhdGVzW3RvXSA9PSBOVUxMKQorCQkgICAgc3RhdGVzW3RvXSA9IHhtbEF1dG9tYXRhTmV3U3RhdGUoYW0pOworCQlwdHIrKzsKKwkJeG1sQXV0b21hdGFOZXdUcmFuc2l0aW9uKGFtLCBzdGF0ZXNbZnJvbV0sIHN0YXRlc1t0b10sCisJCQkgICAgICAgICAgICAgICAgIEJBRF9DQVNUIHB0ciwgTlVMTCk7CisJICAgIH0gZWxzZSBpZiAoKGFtICE9IE5VTEwpICYmIChleHByWzBdID09ICdlJykgJiYgKGV4cHJbMV0gPT0gJyAnKSkgeworCQljaGFyICpwdHIgPSAmZXhwclsyXTsKKwkJaW50IGZyb20sIHRvOworCisJCWZyb20gPSBzY2FuTnVtYmVyKCZwdHIpOworCQlpZiAoKnB0ciAhPSAnICcpIHsKKwkJICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkJICAgICJCYWQgbGluZSAlc1xuIiwgZXhwcik7CisJCSAgICBicmVhazsKKwkJfQorCQlpZiAoc3RhdGVzW2Zyb21dID09IE5VTEwpCisJCSAgICBzdGF0ZXNbZnJvbV0gPSB4bWxBdXRvbWF0YU5ld1N0YXRlKGFtKTsKKwkJcHRyKys7CisJCXRvID0gc2Nhbk51bWJlcigmcHRyKTsKKwkJaWYgKHN0YXRlc1t0b10gPT0gTlVMTCkKKwkJICAgIHN0YXRlc1t0b10gPSB4bWxBdXRvbWF0YU5ld1N0YXRlKGFtKTsKKwkJeG1sQXV0b21hdGFOZXdFcHNpbG9uKGFtLCBzdGF0ZXNbZnJvbV0sIHN0YXRlc1t0b10pOworCSAgICB9IGVsc2UgaWYgKChhbSAhPSBOVUxMKSAmJiAoZXhwclswXSA9PSAnZicpICYmIChleHByWzFdID09ICcgJykpIHsKKwkJY2hhciAqcHRyID0gJmV4cHJbMl07CisJCWludCBzdGF0ZTsKKworCQlzdGF0ZSA9IHNjYW5OdW1iZXIoJnB0cik7CisJCWlmIChzdGF0ZXNbc3RhdGVdID09IE5VTEwpIHsKKwkJICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkJICAgICJCYWQgc3RhdGUgJWQgOiAlc1xuIiwgc3RhdGUsIGV4cHIpOworCQkgICAgYnJlYWs7CisJCX0KKwkJeG1sQXV0b21hdGFTZXRGaW5hbFN0YXRlKGFtLCBzdGF0ZXNbc3RhdGVdKTsKKwkgICAgfSBlbHNlIGlmICgoYW0gIT0gTlVMTCkgJiYgKGV4cHJbMF0gPT0gJ2MnKSAmJiAoZXhwclsxXSA9PSAnICcpKSB7CisJCWNoYXIgKnB0ciA9ICZleHByWzJdOworCQlpbnQgZnJvbSwgdG87CisJCWludCBtaW4sIG1heDsKKworCQlmcm9tID0gc2Nhbk51bWJlcigmcHRyKTsKKwkJaWYgKCpwdHIgIT0gJyAnKSB7CisJCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJCSAgICAiQmFkIGxpbmUgJXNcbiIsIGV4cHIpOworCQkgICAgYnJlYWs7CisJCX0KKwkJaWYgKHN0YXRlc1tmcm9tXSA9PSBOVUxMKQorCQkgICAgc3RhdGVzW2Zyb21dID0geG1sQXV0b21hdGFOZXdTdGF0ZShhbSk7CisJCXB0cisrOworCQl0byA9IHNjYW5OdW1iZXIoJnB0cik7CisJCWlmICgqcHRyICE9ICcgJykgeworCQkgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCQkgICAgIkJhZCBsaW5lICVzXG4iLCBleHByKTsKKwkJICAgIGJyZWFrOworCQl9CisJCWlmIChzdGF0ZXNbdG9dID09IE5VTEwpCisJCSAgICBzdGF0ZXNbdG9dID0geG1sQXV0b21hdGFOZXdTdGF0ZShhbSk7CisJCXB0cisrOworCQltaW4gPSBzY2FuTnVtYmVyKCZwdHIpOworCQlpZiAoKnB0ciAhPSAnICcpIHsKKwkJICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkJICAgICJCYWQgbGluZSAlc1xuIiwgZXhwcik7CisJCSAgICBicmVhazsKKwkJfQorCQlwdHIrKzsKKwkJbWF4ID0gc2Nhbk51bWJlcigmcHRyKTsKKwkJaWYgKCpwdHIgIT0gJyAnKSB7CisJCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJCSAgICAiQmFkIGxpbmUgJXNcbiIsIGV4cHIpOworCQkgICAgYnJlYWs7CisJCX0KKwkJcHRyKys7CisJCXhtbEF1dG9tYXRhTmV3Q291bnRUcmFucyhhbSwgc3RhdGVzW2Zyb21dLCBzdGF0ZXNbdG9dLAorCQkJICAgICAgICAgICAgICAgICBCQURfQ0FTVCBwdHIsIG1pbiwgbWF4LCBOVUxMKTsKKwkgICAgfSBlbHNlIGlmICgoYW0gIT0gTlVMTCkgJiYgKGV4cHJbMF0gPT0gJy0nKSAmJiAoZXhwclsxXSA9PSAnLScpKSB7CisJCS8qIGVuZCBvZiB0aGUgYXV0b21hdGEgKi8KKwkJcmVnZXhwID0geG1sQXV0b21hdGFDb21waWxlKGFtKTsKKwkJeG1sRnJlZUF1dG9tYXRhKGFtKTsKKwkJYW0gPSBOVUxMOworCQlpZiAocmVnZXhwID09IE5VTEwpIHsKKwkJICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkJICAgICJGYWlsZWQgdG8gY29tcGlsZSB0aGUgYXV0b21hdGEiKTsKKwkJICAgIGJyZWFrOworCQl9CisJICAgIH0gZWxzZSBpZiAoKGV4cHJbMF0gPT0gJz0nKSAmJiAoZXhwclsxXSA9PSAnPicpKSB7CisJCWlmIChyZWdleHAgPT0gTlVMTCkgeworCQkgICAgcHJpbnRmKCI9PiBmYWlsZWQgbm90IGNvbXBpbGVkXG4iKTsKKwkJfSBlbHNlIHsKKwkJICAgIGlmIChleGVjID09IE5VTEwpCisJCQlleGVjID0geG1sUmVnTmV3RXhlY0N0eHQocmVnZXhwLCBOVUxMLCBOVUxMKTsKKwkJICAgIGlmIChyZXQgPT0gMCkgeworCQkJcmV0ID0geG1sUmVnRXhlY1B1c2hTdHJpbmcoZXhlYywgTlVMTCwgTlVMTCk7CisJCSAgICB9CisJCSAgICBpZiAocmV0ID09IDEpCisJCQlwcmludGYoIj0+IFBhc3NlZFxuIik7CisJCSAgICBlbHNlIGlmICgocmV0ID09IDApIHx8IChyZXQgPT0gLTEpKQorCQkJcHJpbnRmKCI9PiBGYWlsZWRcbiIpOworCQkgICAgZWxzZSBpZiAocmV0IDwgMCkKKwkJCXByaW50ZigiPT4gRXJyb3JcbiIpOworCQkgICAgeG1sUmVnRnJlZUV4ZWNDdHh0KGV4ZWMpOworCQkgICAgZXhlYyA9IE5VTEw7CisJCX0KKwkJcmV0ID0gMDsKKwkgICAgfSBlbHNlIGlmIChyZWdleHAgIT0gTlVMTCkgeworCQlpZiAoZXhlYyA9PSBOVUxMKQorCQkgICAgZXhlYyA9IHhtbFJlZ05ld0V4ZWNDdHh0KHJlZ2V4cCwgTlVMTCwgTlVMTCk7CisJCXJldCA9IHhtbFJlZ0V4ZWNQdXNoU3RyaW5nKGV4ZWMsIEJBRF9DQVNUIGV4cHIsIE5VTEwpOworCSAgICB9IGVsc2UgeworCQl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJCSJVbmV4cGVjdGVkIGxpbmUgJXNcbiIsIGV4cHIpOworCSAgICB9CisJfQorICAgIH0KKyAgICBmY2xvc2UoaW5wdXQpOworICAgIGlmIChyZWdleHAgIT0gTlVMTCkKKwl4bWxSZWdGcmVlUmVnZXhwKHJlZ2V4cCk7CisgICAgaWYgKGV4ZWMgIT0gTlVMTCkKKwl4bWxSZWdGcmVlRXhlY0N0eHQoZXhlYyk7CisgICAgaWYgKGFtICE9IE5VTEwpCisJeG1sRnJlZUF1dG9tYXRhKGFtKTsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CisKKyAgICB4bWxJbml0TWVtb3J5KCk7CisKKyAgICBpZiAoYXJnYyA9PSAxKSB7CisJaW50IHJldDsKKwl4bWxBdXRvbWF0YVB0ciBhbTsKKwl4bWxBdXRvbWF0YVN0YXRlUHRyIHN0YXJ0LCBjdXI7CisJeG1sUmVnZXhwUHRyIHJlZ2V4cDsKKwl4bWxSZWdFeGVjQ3R4dFB0ciBleGVjOworCisJYW0gPSB4bWxOZXdBdXRvbWF0YSgpOworCXN0YXJ0ID0geG1sQXV0b21hdGFHZXRJbml0U3RhdGUoYW0pOworCisJLyogZ2VuZXJhdGUgYVtiYV0qYSAqLworCWN1ciA9IHhtbEF1dG9tYXRhTmV3VHJhbnNpdGlvbihhbSwgc3RhcnQsIE5VTEwsIEJBRF9DQVNUImEiLCBOVUxMKTsKKwl4bWxBdXRvbWF0YU5ld1RyYW5zaXRpb24oYW0sIGN1ciwgY3VyLCBCQURfQ0FTVCJiIiwgTlVMTCk7CisJeG1sQXV0b21hdGFOZXdUcmFuc2l0aW9uKGFtLCBjdXIsIGN1ciwgQkFEX0NBU1QiYSIsIE5VTEwpOworCWN1ciA9IHhtbEF1dG9tYXRhTmV3Q291bnRUcmFucyhhbSwgY3VyLCBOVUxMLCBCQURfQ0FTVCJhIiwgMiwgMywgTlVMTCk7CisJeG1sQXV0b21hdGFTZXRGaW5hbFN0YXRlKGFtLCBjdXIpOworCisJLyogY29tcGlsZSBpdCBpbiBhIHJlZ2V4cCBhbmQgZnJlZSB0aGUgYXV0b21hdGEgKi8KKwlyZWdleHAgPSB4bWxBdXRvbWF0YUNvbXBpbGUoYW0pOworCXhtbEZyZWVBdXRvbWF0YShhbSk7CisKKwkvKiB0ZXN0IHRoZSByZWdleHAgKi8KKwl4bWxSZWdleHBQcmludChzdGRvdXQsIHJlZ2V4cCk7CisJZXhlYyA9IHhtbFJlZ05ld0V4ZWNDdHh0KHJlZ2V4cCwgTlVMTCwgTlVMTCk7CisJcmV0ID0geG1sUmVnRXhlY1B1c2hTdHJpbmcoZXhlYywgQkFEX0NBU1QiYSIsIE5VTEwpOworCWlmIChyZXQgPT0gMSkKKwkgICAgcHJpbnRmKCJmaW5hbFxuIik7CisJZWxzZSBpZiAocmV0IDwgMCkKKwkgICAgcHJpbnRmKCJlcnJvclxuIik7CisJcmV0ID14bWxSZWdFeGVjUHVzaFN0cmluZyhleGVjLCBCQURfQ0FTVCJhIiwgTlVMTCk7CisJaWYgKHJldCA9PSAxKQorCSAgICBwcmludGYoImZpbmFsXG4iKTsKKwllbHNlIGlmIChyZXQgPCAwKQorCSAgICBwcmludGYoImVycm9yXG4iKTsKKwlyZXQgPXhtbFJlZ0V4ZWNQdXNoU3RyaW5nKGV4ZWMsIEJBRF9DQVNUImIiLCBOVUxMKTsKKwlpZiAocmV0ID09IDEpCisJICAgIHByaW50ZigiZmluYWxcbiIpOworCWVsc2UgaWYgKHJldCA8IDApCisJICAgIHByaW50ZigiZXJyb3JcbiIpOworCXJldCA9eG1sUmVnRXhlY1B1c2hTdHJpbmcoZXhlYywgQkFEX0NBU1QiYSIsIE5VTEwpOworCWlmIChyZXQgPT0gMSkKKwkgICAgcHJpbnRmKCJmaW5hbFxuIik7CisJZWxzZSBpZiAocmV0IDwgMCkKKwkgICAgcHJpbnRmKCJlcnJvclxuIik7CisJcmV0ID14bWxSZWdFeGVjUHVzaFN0cmluZyhleGVjLCBCQURfQ0FTVCJhIiwgTlVMTCk7CisJaWYgKHJldCA9PSAxKQorCSAgICBwcmludGYoImZpbmFsXG4iKTsKKwllbHNlIGlmIChyZXQgPCAwKQorCSAgICBwcmludGYoImVycm9yXG4iKTsKKwlyZXQgPXhtbFJlZ0V4ZWNQdXNoU3RyaW5nKGV4ZWMsIEJBRF9DQVNUImEiLCBOVUxMKTsKKwlpZiAocmV0ID09IDEpCisJICAgIHByaW50ZigiZmluYWxcbiIpOworCWVsc2UgaWYgKHJldCA8IDApCisJICAgIHByaW50ZigiZXJyb3JcbiIpOworCXJldCA9eG1sUmVnRXhlY1B1c2hTdHJpbmcoZXhlYywgQkFEX0NBU1QiYSIsIE5VTEwpOworCWlmIChyZXQgPT0gMSkKKwkgICAgcHJpbnRmKCJmaW5hbFxuIik7CisJZWxzZSBpZiAocmV0IDwgMCkKKwkgICAgcHJpbnRmKCJlcnJvclxuIik7CisJaWYgKHJldCA9PSAwKSB7CisJICAgIHJldCA9IHhtbFJlZ0V4ZWNQdXNoU3RyaW5nKGV4ZWMsIE5VTEwsIE5VTEwpOworCSAgICBpZiAocmV0ID09IDEpCisJCXByaW50ZigiZmluYWxcbiIpOworCSAgICBlbHNlIGlmIChyZXQgPCAwKQorCQlwcmludGYoImVycm9yXG4iKTsKKwl9CisJeG1sUmVnRnJlZUV4ZWNDdHh0KGV4ZWMpOworCisJLyogZnJlZSB0aGUgcmVnZXhwICovCisJeG1sUmVnRnJlZVJlZ2V4cChyZWdleHApOworICAgIH0gZWxzZSB7CisJaW50IGk7CisKKwlmb3IgKGkgPSAxO2kgPCBhcmdjO2krKykKKwkgICAgdGVzdFJlZ2V4cEZpbGUoYXJndltpXSk7CisgICAgfQorCisgICAgeG1sQ2xlYW51cFBhcnNlcigpOworICAgIHhtbE1lbW9yeUR1bXAoKTsKKyAgICByZXR1cm4oMCk7Cit9CisKKyNlbHNlCisjaW5jbHVkZSA8c3RkaW8uaD4KK2ludCBtYWluKGludCBhcmdjIEFUVFJJQlVURV9VTlVTRUQsIGNoYXIgKiphcmd2IEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICBwcmludGYoIiVzIDogQXV0b21hdGEgc3VwcG9ydCBub3QgY29tcGlsZWQgaW5cbiIsIGFyZ3ZbMF0pOworICAgIHJldHVybigwKTsKK30KKyNlbmRpZiAvKiBMSUJYTUxfQVVUT01BVEFfRU5BQkxFRCAqLwpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0QzE0Ti5jIGIvbGlieG1sMi90ZXN0QzE0Ti5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg2ZTU4ZjIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3RDMTROLmMKQEAgLTAsMCArMSwzNzAgQEAKKy8qCisgKiBDYW5vbmljYWwgWE1MIGltcGxlbWVudGF0aW9uIHRlc3QgcHJvZ3JhbQorICogKGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDEvUkVDLXhtbC1jMTRuLTIwMDEwMzE1KQorICoKKyAqIFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyAqCisgKiBBdXRob3I6IEFsZWtzZXkgU2FuaW4gPGFsZWtzZXlAYWxla3NleS5jb20+CisgKi8KKyNpbmNsdWRlICJsaWJ4bWwuaCIKKyNpZiBkZWZpbmVkKExJQlhNTF9DMTROX0VOQUJMRUQpICYmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQorCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpZm5kZWYgU1RET1VUX0ZJTEVOTworI2lmZGVmIEhBVkVfVU5JU1REX0gKKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNlbHNlCisjZGVmaW5lIFNURE9VVF9GSUxFTk8gZmlsZW5vKHN0ZG91dCkKKyNlbmRpZiAvKiBIQVZFX1VOSVNURF9IICovCisjZW5kaWYKKyNpZmRlZiBIQVZFX1NURExJQl9ICisjaW5jbHVkZSA8c3RkbGliLmg+CisjZW5kaWYKKworI2luY2x1ZGUgPGxpYnhtbC94bWxtZW1vcnkuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvcGFyc2VyLmg+CisjaW5jbHVkZSA8bGlieG1sL3hwYXRoLmg+CisjaW5jbHVkZSA8bGlieG1sL3hwYXRoSW50ZXJuYWxzLmg+CisKKyNpbmNsdWRlIDxsaWJ4bWwvYzE0bi5oPgorCisKK3N0YXRpYyB2b2lkIHVzYWdlKGNvbnN0IGNoYXIgKm5hbWUpIHsKKyAgICBmcHJpbnRmKHN0ZGVyciwKKwkiVXNhZ2U6ICVzIDxtb2RlPiA8eG1sLWZpbGU+IFs8eHBhdGgtZXhwcj5dIFs8aW5jbHVzaXZlLW5zLWxpc3Q+XVxuIiwKKwkgICAgbmFtZSk7CisgICAgZnByaW50ZihzdGRlcnIsICJ3aGVyZSA8bW9kZT4gaXMgb25lIG9mIGZvbGxvd2luZzpcbiIpOworICAgIGZwcmludGYoc3RkZXJyLAorCSItLXdpdGgtY29tbWVudHMgICAgICAgXHQgWE1MIGZpbGUgY2Fub25pY2FsaXphdGlvbiB2MS4wIHcgY29tbWVudHMgXG4iKTsKKyAgICBmcHJpbnRmKHN0ZGVyciwKKwkiLS13aXRob3V0LWNvbW1lbnRzICAgIFx0IFhNTCBmaWxlIGNhbm9uaWNhbGl6YXRpb24gdjEuMCB3L28gY29tbWVudHNcbiIpOworICAgIGZwcmludGYoc3RkZXJyLAorCSItLTEtMS13aXRoLWNvbW1lbnRzICAgICAgIFx0IFhNTCBmaWxlIGNhbm9uaWNhbGl6YXRpb24gdjEuMSB3IGNvbW1lbnRzXG4iKTsKKyAgICBmcHJpbnRmKHN0ZGVyciwKKwkiLS0xLTEtd2l0aG91dC1jb21tZW50cyAgICBcdCBYTUwgZmlsZSBjYW5vbmljYWxpemF0aW9uIHYxLjEgdy9vIGNvbW1lbnRzXG4iKTsKKyAgICBmcHJpbnRmKHN0ZGVyciwKKyAgICAiLS1leGMtd2l0aC1jb21tZW50cyAgIFx0IEV4Y2x1c2l2ZSBYTUwgZmlsZSBjYW5vbmljYWxpemF0aW9uIHYxLjAgdyBjb21tZW50c1xuIik7CisgICAgZnByaW50ZihzdGRlcnIsCisgICAgIi0tZXhjLXdpdGhvdXQtY29tbWVudHNcdCBFeGNsdXNpdmUgWE1MIGZpbGUgY2Fub25pY2FsaXphdGlvbiB2MS4wIHcvbyBjb21tZW50c1xuIik7Cit9CisKK3N0YXRpYyB4bWxYUGF0aE9iamVjdFB0cgorbG9hZF94cGF0aF9leHByICh4bWxEb2NQdHIgcGFyZW50X2RvYywgY29uc3QgY2hhciogZmlsZW5hbWUpOworCitzdGF0aWMgeG1sQ2hhciAqKnBhcnNlX2xpc3QoeG1sQ2hhciAqc3RyKTsKKworLyogc3RhdGljIHZvaWQgcHJpbnRfeHBhdGhfbm9kZXMoeG1sTm9kZVNldFB0ciBub2Rlcyk7ICovCisKK3N0YXRpYyBpbnQKK3Rlc3RfYzE0bihjb25zdCBjaGFyKiB4bWxfZmlsZW5hbWUsIGludCB3aXRoX2NvbW1lbnRzLCBpbnQgbW9kZSwKKwljb25zdCBjaGFyKiB4cGF0aF9maWxlbmFtZSwgeG1sQ2hhciAqKmluY2x1c2l2ZV9uYW1lc3BhY2VzKSB7CisgICAgeG1sRG9jUHRyIGRvYzsKKyAgICB4bWxYUGF0aE9iamVjdFB0ciB4cGF0aCA9IE5VTEw7CisgICAgeG1sQ2hhciAqcmVzdWx0ID0gTlVMTDsKKyAgICBpbnQgcmV0OworCisgICAgLyoKKyAgICAgKiBidWlsZCBhbiBYTUwgdHJlZSBmcm9tIGEgdGhlIGZpbGU7IHdlIG5lZWQgdG8gYWRkIGRlZmF1bHQKKyAgICAgKiBhdHRyaWJ1dGVzIGFuZCByZXNvbHZlIGFsbCBjaGFyYWN0ZXIgYW5kIGVudGl0aWVzIHJlZmVyZW5jZXMKKyAgICAgKi8KKyAgICB4bWxMb2FkRXh0RHRkRGVmYXVsdFZhbHVlID0gWE1MX0RFVEVDVF9JRFMgfCBYTUxfQ09NUExFVEVfQVRUUlM7CisgICAgeG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdCgxKTsKKworICAgIGRvYyA9IHhtbFJlYWRGaWxlKHhtbF9maWxlbmFtZSwgTlVMTCwgWE1MX1BBUlNFX0RUREFUVFIgfCBYTUxfUEFSU0VfTk9FTlQpOworICAgIGlmIChkb2MgPT0gTlVMTCkgeworCWZwcmludGYoc3RkZXJyLCAiRXJyb3I6IHVuYWJsZSB0byBwYXJzZSBmaWxlIFwiJXNcIlxuIiwgeG1sX2ZpbGVuYW1lKTsKKwlyZXR1cm4oLTEpOworICAgIH0KKworICAgIC8qCisgICAgICogQ2hlY2sgdGhlIGRvY3VtZW50IGlzIG9mIHRoZSByaWdodCBraW5kCisgICAgICovCisgICAgaWYoeG1sRG9jR2V0Um9vdEVsZW1lbnQoZG9jKSA9PSBOVUxMKSB7CisgICAgICAgIGZwcmludGYoc3RkZXJyLCJFcnJvcjogZW1wdHkgZG9jdW1lbnQgZm9yIGZpbGUgXCIlc1wiXG4iLCB4bWxfZmlsZW5hbWUpOworCXhtbEZyZWVEb2MoZG9jKTsKKwlyZXR1cm4oLTEpOworICAgIH0KKworICAgIC8qCisgICAgICogbG9hZCB4cGF0aCBmaWxlIGlmIHNwZWNpZmllZAorICAgICAqLworICAgIGlmKHhwYXRoX2ZpbGVuYW1lKSB7CisJeHBhdGggPSBsb2FkX3hwYXRoX2V4cHIoZG9jLCB4cGF0aF9maWxlbmFtZSk7CisJaWYoeHBhdGggPT0gTlVMTCkgeworCSAgICBmcHJpbnRmKHN0ZGVyciwiRXJyb3I6IHVuYWJsZSB0byBldmFsdWF0ZSB4cGF0aCBleHByZXNzaW9uXG4iKTsKKwkgICAgeG1sRnJlZURvYyhkb2MpOworCSAgICByZXR1cm4oLTEpOworCX0KKyAgICB9CisKKyAgICAvKgorICAgICAqIENhbm9uaWNhbCBmb3JtCisgICAgICovCisgICAgLyogZnByaW50ZihzdGRlcnIsIkZpbGUgXCIlc1wiIGxvYWRlZDogc3RhcnQgY2Fub25pemF0aW9uXG4iLCB4bWxfZmlsZW5hbWUpOyAqLworICAgIHJldCA9IHhtbEMxNE5Eb2NEdW1wTWVtb3J5KGRvYywKKwkgICAgKHhwYXRoKSA/IHhwYXRoLT5ub2Rlc2V0dmFsIDogTlVMTCwKKwkgICAgbW9kZSwgaW5jbHVzaXZlX25hbWVzcGFjZXMsCisJICAgIHdpdGhfY29tbWVudHMsICZyZXN1bHQpOworICAgIGlmKHJldCA+PSAwKSB7CisJaWYocmVzdWx0ICE9IE5VTEwpIHsKKwkgICAgaWYgKHdyaXRlKFNURE9VVF9GSUxFTk8sIHJlc3VsdCwgcmV0KSA9PSAtMSkgeworCQlmcHJpbnRmKHN0ZGVyciwgIkNhbid0IHdyaXRlIGRhdGFcbiIpOworCSAgICB9CisJICAgIHhtbEZyZWUocmVzdWx0KTsKKwl9CisgICAgfSBlbHNlIHsKKwlmcHJpbnRmKHN0ZGVyciwiRXJyb3I6IGZhaWxlZCB0byBjYW5vbmljYWxpemUgWE1MIGZpbGUgXCIlc1wiIChyZXQ9JWQpXG4iLCB4bWxfZmlsZW5hbWUsIHJldCk7CisJaWYocmVzdWx0ICE9IE5VTEwpIHhtbEZyZWUocmVzdWx0KTsKKwl4bWxGcmVlRG9jKGRvYyk7CisJcmV0dXJuKC0xKTsKKyAgICB9CisKKyAgICAvKgorICAgICAqIENsZWFudXAKKyAgICAgKi8KKyAgICBpZih4cGF0aCAhPSBOVUxMKSB4bWxYUGF0aEZyZWVPYmplY3QoeHBhdGgpOworICAgIHhtbEZyZWVEb2MoZG9jKTsKKworICAgIHJldHVybihyZXQpOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKKyAgICBpbnQgcmV0ID0gLTE7CisKKyAgICAvKgorICAgICAqIEluaXQgbGlieG1sCisgICAgICovCisgICAgeG1sSW5pdFBhcnNlcigpOworICAgIExJQlhNTF9URVNUX1ZFUlNJT04KKworICAgIC8qCisgICAgICogUGFyc2UgY29tbWFuZCBsaW5lIGFuZCBwcm9jZXNzIGZpbGUKKyAgICAgKi8KKyAgICBpZiggYXJnYyA8IDMgKSB7CisJZnByaW50ZihzdGRlcnIsICJFcnJvcjogd3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cy5cbiIpOworCXVzYWdlKGFyZ3ZbMF0pOworICAgIH0gZWxzZSBpZihzdHJjbXAoYXJndlsxXSwgIi0td2l0aC1jb21tZW50cyIpID09IDApIHsKKwlyZXQgPSB0ZXN0X2MxNG4oYXJndlsyXSwgMSwgWE1MX0MxNE5fMV8wLCAoYXJnYyA+IDMpID8gYXJndlszXSA6IE5VTEwsIE5VTEwpOworICAgIH0gZWxzZSBpZihzdHJjbXAoYXJndlsxXSwgIi0td2l0aG91dC1jb21tZW50cyIpID09IDApIHsKKwlyZXQgPSB0ZXN0X2MxNG4oYXJndlsyXSwgMCwgWE1MX0MxNE5fMV8wLCAoYXJnYyA+IDMpID8gYXJndlszXSA6IE5VTEwsIE5VTEwpOworICAgIH0gZWxzZSBpZihzdHJjbXAoYXJndlsxXSwgIi0tMS0xLXdpdGgtY29tbWVudHMiKSA9PSAwKSB7CisJcmV0ID0gdGVzdF9jMTRuKGFyZ3ZbMl0sIDEsIFhNTF9DMTROXzFfMSwgKGFyZ2MgPiAzKSA/IGFyZ3ZbM10gOiBOVUxMLCBOVUxMKTsKKyAgICB9IGVsc2UgaWYoc3RyY21wKGFyZ3ZbMV0sICItLTEtMS13aXRob3V0LWNvbW1lbnRzIikgPT0gMCkgeworCXJldCA9IHRlc3RfYzE0bihhcmd2WzJdLCAwLCBYTUxfQzE0Tl8xXzEsIChhcmdjID4gMykgPyBhcmd2WzNdIDogTlVMTCwgTlVMTCk7CisgICAgfSBlbHNlIGlmKHN0cmNtcChhcmd2WzFdLCAiLS1leGMtd2l0aC1jb21tZW50cyIpID09IDApIHsKKwl4bWxDaGFyICoqbGlzdDsKKworCS8qIGxvYWQgZXhjbHVzaXZlIG5hbWVzcGFjZSBmcm9tIGNvbW1hbmQgbGluZSAqLworCWxpc3QgPSAoYXJnYyA+IDQpID8gcGFyc2VfbGlzdCgoeG1sQ2hhciAqKWFyZ3ZbNF0pIDogTlVMTDsKKwlyZXQgPSB0ZXN0X2MxNG4oYXJndlsyXSwgMSwgWE1MX0MxNE5fRVhDTFVTSVZFXzFfMCwgKGFyZ2MgPiAzKSA/IGFyZ3ZbM10gOiBOVUxMLCBsaXN0KTsKKwlpZihsaXN0ICE9IE5VTEwpIHhtbEZyZWUobGlzdCk7CisgICAgfSBlbHNlIGlmKHN0cmNtcChhcmd2WzFdLCAiLS1leGMtd2l0aG91dC1jb21tZW50cyIpID09IDApIHsKKwl4bWxDaGFyICoqbGlzdDsKKworCS8qIGxvYWQgZXhjbHVzaXZlIG5hbWVzcGFjZSBmcm9tIGNvbW1hbmQgbGluZSAqLworCWxpc3QgPSAoYXJnYyA+IDQpID8gcGFyc2VfbGlzdCgoeG1sQ2hhciAqKWFyZ3ZbNF0pIDogTlVMTDsKKwlyZXQgPSB0ZXN0X2MxNG4oYXJndlsyXSwgMCwgWE1MX0MxNE5fRVhDTFVTSVZFXzFfMCwgKGFyZ2MgPiAzKSA/IGFyZ3ZbM10gOiBOVUxMLCBsaXN0KTsKKwlpZihsaXN0ICE9IE5VTEwpIHhtbEZyZWUobGlzdCk7CisgICAgfSBlbHNlIHsKKwlmcHJpbnRmKHN0ZGVyciwgIkVycm9yOiBiYWQgb3B0aW9uLlxuIik7CisJdXNhZ2UoYXJndlswXSk7CisgICAgfQorCisgICAgLyoKKyAgICAgKiBTaHV0ZG93biBsaWJ4bWwKKyAgICAgKi8KKyAgICB4bWxDbGVhbnVwUGFyc2VyKCk7CisgICAgeG1sTWVtb3J5RHVtcCgpOworCisgICAgcmV0dXJuKChyZXQgPj0gMCkgPyAwIDogMSk7Cit9CisKKy8qCisgKiBNYWNybyB1c2VkIHRvIGdyb3cgdGhlIGN1cnJlbnQgYnVmZmVyLgorICovCisjZGVmaW5lIGdyb3dCdWZmZXJSZWVudHJhbnQoKSB7CQkJCQkJXAorICAgIGJ1ZmZlcl9zaXplICo9IDI7CQkJCQkJCVwKKyAgICBidWZmZXIgPSAoeG1sQ2hhciAqKikJCQkJCQlcCisJCXhtbFJlYWxsb2MoYnVmZmVyLCBidWZmZXJfc2l6ZSAqIHNpemVvZih4bWxDaGFyKikpOwlcCisgICAgaWYgKGJ1ZmZlciA9PSBOVUxMKSB7CQkJCQkJXAorCXBlcnJvcigicmVhbGxvYyBmYWlsZWQiKTsJCQkJCVwKKwlyZXR1cm4oTlVMTCk7CQkJCQkJCVwKKyAgICB9CQkJCQkJCQkJXAorfQorCitzdGF0aWMgeG1sQ2hhciAqKgorcGFyc2VfbGlzdCh4bWxDaGFyICpzdHIpIHsKKyAgICB4bWxDaGFyICoqYnVmZmVyOworICAgIHhtbENoYXIgKipvdXQgPSBOVUxMOworICAgIGludCBidWZmZXJfc2l6ZSA9IDA7CisgICAgaW50IGxlbjsKKworICAgIGlmKHN0ciA9PSBOVUxMKSB7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKworICAgIGxlbiA9IHhtbFN0cmxlbihzdHIpOworICAgIGlmKChzdHJbMF0gPT0gJ1wnJykgJiYgKHN0cltsZW4gLSAxXSA9PSAnXCcnKSkgeworCXN0cltsZW4gLSAxXSA9ICdcMCc7CisJc3RyKys7CisgICAgfQorICAgIC8qCisgICAgICogYWxsb2NhdGUgYW4gdHJhbnNsYXRpb24gYnVmZmVyLgorICAgICAqLworICAgIGJ1ZmZlcl9zaXplID0gMTAwMDsKKyAgICBidWZmZXIgPSAoeG1sQ2hhciAqKikgeG1sTWFsbG9jKGJ1ZmZlcl9zaXplICogc2l6ZW9mKHhtbENoYXIqKSk7CisgICAgaWYgKGJ1ZmZlciA9PSBOVUxMKSB7CisJcGVycm9yKCJtYWxsb2MgZmFpbGVkIik7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBvdXQgPSBidWZmZXI7CisKKyAgICB3aGlsZSgqc3RyICE9ICdcMCcpIHsKKwlpZiAob3V0IC0gYnVmZmVyID4gYnVmZmVyX3NpemUgLSAxMCkgeworCSAgICBpbnQgaW5keCA9IG91dCAtIGJ1ZmZlcjsKKworCSAgICBncm93QnVmZmVyUmVlbnRyYW50KCk7CisJICAgIG91dCA9ICZidWZmZXJbaW5keF07CisJfQorCSgqb3V0KyspID0gc3RyOworCXdoaWxlKCpzdHIgIT0gJywnICYmICpzdHIgIT0gJ1wwJykgKytzdHI7CisJaWYoKnN0ciA9PSAnLCcpICooc3RyKyspID0gJ1wwJzsKKyAgICB9CisgICAgKCpvdXQpID0gTlVMTDsKKyAgICByZXR1cm4gYnVmZmVyOworfQorCitzdGF0aWMgeG1sWFBhdGhPYmplY3RQdHIKK2xvYWRfeHBhdGhfZXhwciAoeG1sRG9jUHRyIHBhcmVudF9kb2MsIGNvbnN0IGNoYXIqIGZpbGVuYW1lKSB7CisgICAgeG1sWFBhdGhPYmplY3RQdHIgeHBhdGg7CisgICAgeG1sRG9jUHRyIGRvYzsKKyAgICB4bWxDaGFyICpleHByOworICAgIHhtbFhQYXRoQ29udGV4dFB0ciBjdHg7CisgICAgeG1sTm9kZVB0ciBub2RlOworICAgIHhtbE5zUHRyIG5zOworCisgICAgLyoKKyAgICAgKiBsb2FkIFhQYXRoIGV4cHIgYXMgYSBmaWxlCisgICAgICovCisgICAgeG1sTG9hZEV4dER0ZERlZmF1bHRWYWx1ZSA9IFhNTF9ERVRFQ1RfSURTIHwgWE1MX0NPTVBMRVRFX0FUVFJTOworICAgIHhtbFN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHQoMSk7CisKKyAgICBkb2MgPSB4bWxSZWFkRmlsZShmaWxlbmFtZSwgTlVMTCwgWE1MX1BBUlNFX0RUREFUVFIgfCBYTUxfUEFSU0VfTk9FTlQpOworICAgIGlmIChkb2MgPT0gTlVMTCkgeworCWZwcmludGYoc3RkZXJyLCAiRXJyb3I6IHVuYWJsZSB0byBwYXJzZSBmaWxlIFwiJXNcIlxuIiwgZmlsZW5hbWUpOworCXJldHVybihOVUxMKTsKKyAgICB9CisKKyAgICAvKgorICAgICAqIENoZWNrIHRoZSBkb2N1bWVudCBpcyBvZiB0aGUgcmlnaHQga2luZAorICAgICAqLworICAgIGlmKHhtbERvY0dldFJvb3RFbGVtZW50KGRvYykgPT0gTlVMTCkgeworICAgICAgICBmcHJpbnRmKHN0ZGVyciwiRXJyb3I6IGVtcHR5IGRvY3VtZW50IGZvciBmaWxlIFwiJXNcIlxuIiwgZmlsZW5hbWUpOworCXhtbEZyZWVEb2MoZG9jKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorCisgICAgbm9kZSA9IGRvYy0+Y2hpbGRyZW47CisgICAgd2hpbGUobm9kZSAhPSBOVUxMICYmICF4bWxTdHJFcXVhbChub2RlLT5uYW1lLCAoY29uc3QgeG1sQ2hhciAqKSJYUGF0aCIpKSB7CisJbm9kZSA9IG5vZGUtPm5leHQ7CisgICAgfQorCisgICAgaWYobm9kZSA9PSBOVUxMKSB7CisgICAgICAgIGZwcmludGYoc3RkZXJyLCJFcnJvcjogWFBhdGggZWxlbWVudCBleHBlY3RlZCBpbiB0aGUgZmlsZSAgXCIlc1wiXG4iLCBmaWxlbmFtZSk7CisJeG1sRnJlZURvYyhkb2MpOworCXJldHVybihOVUxMKTsKKyAgICB9CisKKyAgICBleHByID0geG1sTm9kZUdldENvbnRlbnQobm9kZSk7CisgICAgaWYoZXhwciA9PSBOVUxMKSB7CisgICAgICAgIGZwcmludGYoc3RkZXJyLCJFcnJvcjogWFBhdGggY29udGVudCBlbGVtZW50IGlzIE5VTEwgXCIlc1wiXG4iLCBmaWxlbmFtZSk7CisJeG1sRnJlZURvYyhkb2MpOworCXJldHVybihOVUxMKTsKKyAgICB9CisKKyAgICBjdHggPSB4bWxYUGF0aE5ld0NvbnRleHQocGFyZW50X2RvYyk7CisgICAgaWYoY3R4ID09IE5VTEwpIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsIkVycm9yOiB1bmFibGUgdG8gY3JlYXRlIG5ldyBjb250ZXh0XG4iKTsKKyAgICAgICAgeG1sRnJlZShleHByKTsKKyAgICAgICAgeG1sRnJlZURvYyhkb2MpOworICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgfQorCisgICAgLyoKKyAgICAgKiBSZWdpc3RlciBuYW1lc3BhY2VzCisgICAgICovCisgICAgbnMgPSBub2RlLT5uc0RlZjsKKyAgICB3aGlsZShucyAhPSBOVUxMKSB7CisJaWYoeG1sWFBhdGhSZWdpc3Rlck5zKGN0eCwgbnMtPnByZWZpeCwgbnMtPmhyZWYpICE9IDApIHsKKwkgICAgZnByaW50ZihzdGRlcnIsIkVycm9yOiB1bmFibGUgdG8gcmVnaXN0ZXIgTlMgd2l0aCBwcmVmaXg9XCIlc1wiIGFuZCBocmVmPVwiJXNcIlxuIiwgbnMtPnByZWZpeCwgbnMtPmhyZWYpOworCSAgICB4bWxGcmVlKGV4cHIpOworCSAgICB4bWxYUGF0aEZyZWVDb250ZXh0KGN0eCk7CisJICAgIHhtbEZyZWVEb2MoZG9jKTsKKwkgICAgcmV0dXJuKE5VTEwpOworCX0KKwlucyA9IG5zLT5uZXh0OworICAgIH0KKworICAgIC8qCisgICAgICogRXZhbHVhdGUgeHBhdGgKKyAgICAgKi8KKyAgICB4cGF0aCA9IHhtbFhQYXRoRXZhbEV4cHJlc3Npb24oZXhwciwgY3R4KTsKKyAgICBpZih4cGF0aCA9PSBOVUxMKSB7CisgICAgICAgIGZwcmludGYoc3RkZXJyLCJFcnJvcjogdW5hYmxlIHRvIGV2YWx1YXRlIHhwYXRoIGV4cHJlc3Npb25cbiIpOworCXhtbEZyZWUoZXhwcik7CisgICAgICAgIHhtbFhQYXRoRnJlZUNvbnRleHQoY3R4KTsKKyAgICAgICAgeG1sRnJlZURvYyhkb2MpOworICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgfQorCisgICAgLyogcHJpbnRfeHBhdGhfbm9kZXMoeHBhdGgtPm5vZGVzZXR2YWwpOyAqLworCisgICAgeG1sRnJlZShleHByKTsKKyAgICB4bWxYUGF0aEZyZWVDb250ZXh0KGN0eCk7CisgICAgeG1sRnJlZURvYyhkb2MpOworICAgIHJldHVybih4cGF0aCk7Cit9CisKKy8qCitzdGF0aWMgdm9pZAorcHJpbnRfeHBhdGhfbm9kZXMoeG1sTm9kZVNldFB0ciBub2RlcykgeworICAgIHhtbE5vZGVQdHIgY3VyOworICAgIGludCBpOworCisgICAgaWYobm9kZXMgPT0gTlVMTCApeworCWZwcmludGYoc3RkZXJyLCAiRXJyb3I6IG5vIG5vZGVzIHNldCBkZWZpbmVkXG4iKTsKKwlyZXR1cm47CisgICAgfQorCisgICAgZnByaW50ZihzdGRlcnIsICJOb2RlcyBTZXQ6XG4tLS0tLVxuIik7CisgICAgZm9yKGkgPSAwOyBpIDwgbm9kZXMtPm5vZGVOcjsgKytpKSB7CisJaWYobm9kZXMtPm5vZGVUYWJbaV0tPnR5cGUgPT0gWE1MX05BTUVTUEFDRV9ERUNMKSB7CisJICAgIHhtbE5zUHRyIG5zOworCisJICAgIG5zID0gKHhtbE5zUHRyKW5vZGVzLT5ub2RlVGFiW2ldOworCSAgICBjdXIgPSAoeG1sTm9kZVB0cilucy0+bmV4dDsKKwkgICAgZnByaW50ZihzdGRlcnIsICJuYW1lc3BhY2UgXCIlc1wiPVwiJXNcIiBmb3Igbm9kZSAlczolc1xuIiwKKwkJICAgIG5zLT5wcmVmaXgsIG5zLT5ocmVmLAorCQkgICAgKGN1ci0+bnMpID8gY3VyLT5ucy0+cHJlZml4IDogQkFEX0NBU1QgIiIsIGN1ci0+bmFtZSk7CisJfSBlbHNlIGlmKG5vZGVzLT5ub2RlVGFiW2ldLT50eXBlID09IFhNTF9FTEVNRU5UX05PREUpIHsKKwkgICAgY3VyID0gbm9kZXMtPm5vZGVUYWJbaV07CisJICAgIGZwcmludGYoc3RkZXJyLCAiZWxlbWVudCBub2RlIFwiJXM6JXNcIlxuIiwKKwkJICAgIChjdXItPm5zKSA/IGN1ci0+bnMtPnByZWZpeCA6IEJBRF9DQVNUICIiLCBjdXItPm5hbWUpOworCX0gZWxzZSB7CisJICAgIGN1ciA9IG5vZGVzLT5ub2RlVGFiW2ldOworCSAgICBmcHJpbnRmKHN0ZGVyciwgIm5vZGUgXCIlc1wiOiB0eXBlICVkXG4iLCBjdXItPm5hbWUsIGN1ci0+dHlwZSk7CisJfQorICAgIH0KK30KKyovCisKKyNlbHNlCisjaW5jbHVkZSA8c3RkaW8uaD4KK2ludCBtYWluKGludCBhcmdjIEFUVFJJQlVURV9VTlVTRUQsIGNoYXIgKiphcmd2IEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICBwcmludGYoIiVzIDogWFBhdGgvQ2Fub25pY2FsaXphdGlvbiBhbmQgb3V0cHV0IHN1cHBvcnQgbm90IGNvbXBpbGVkIGluXG4iLCBhcmd2WzBdKTsKKyAgICByZXR1cm4oMCk7Cit9CisjZW5kaWYgLyogTElCWE1MX0MxNE5fRU5BQkxFRCAqLworCisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdEhUTUwuYyBiL2xpYnhtbDIvdGVzdEhUTUwuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YjQyNzc4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0SFRNTC5jCkBAIC0wLDAgKzEsODgwIEBACisvKgorICogdGVzdEhUTUwuYyA6IGEgc21hbGwgdGVzdGVyIHByb2dyYW0gZm9yIEhUTUwgaW5wdXQuCisgKgorICogU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgorICoKKyAqIGRhbmllbEB2ZWlsbGFyZC5jb20KKyAqLworCisjaW5jbHVkZSAibGlieG1sLmgiCisKKyNpZmRlZiBMSUJYTUxfSFRNTF9FTkFCTEVECisKKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzdGRhcmcuaD4KKworCisjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNlbmRpZgorI2lmZGVmIEhBVkVfRkNOVExfSAorI2luY2x1ZGUgPGZjbnRsLmg+CisjZW5kaWYKKyNpZmRlZiBIQVZFX1VOSVNURF9ICisjaW5jbHVkZSA8dW5pc3RkLmg+CisjZW5kaWYKKyNpZmRlZiBIQVZFX1NURExJQl9ICisjaW5jbHVkZSA8c3RkbGliLmg+CisjZW5kaWYKKworI2luY2x1ZGUgPGxpYnhtbC94bWxtZW1vcnkuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvSFRNTHBhcnNlci5oPgorI2luY2x1ZGUgPGxpYnhtbC9IVE1MdHJlZS5oPgorI2luY2x1ZGUgPGxpYnhtbC9kZWJ1Z1hNTC5oPgorI2luY2x1ZGUgPGxpYnhtbC94bWxlcnJvci5oPgorI2luY2x1ZGUgPGxpYnhtbC9nbG9iYWxzLmg+CisKKyNpZmRlZiBMSUJYTUxfREVCVUdfRU5BQkxFRAorc3RhdGljIGludCBkZWJ1ZyA9IDA7CisjZW5kaWYKK3N0YXRpYyBpbnQgY29weSA9IDA7CitzdGF0aWMgaW50IHNheCA9IDA7CitzdGF0aWMgaW50IHJlcGVhdCA9IDA7CitzdGF0aWMgaW50IG5vb3V0ID0gMDsKKyNpZmRlZiBMSUJYTUxfUFVTSF9FTkFCTEVECitzdGF0aWMgaW50IHB1c2ggPSAwOworI2VuZGlmIC8qIExJQlhNTF9QVVNIX0VOQUJMRUQgKi8KK3N0YXRpYyBjaGFyICplbmNvZGluZyA9IE5VTEw7CitzdGF0aWMgaW50IG9wdGlvbnMgPSAwOworCitzdGF0aWMgeG1sU0FYSGFuZGxlciBlbXB0eVNBWEhhbmRsZXJTdHJ1Y3QgPSB7CisgICAgTlVMTCwgLyogaW50ZXJuYWxTdWJzZXQgKi8KKyAgICBOVUxMLCAvKiBpc1N0YW5kYWxvbmUgKi8KKyAgICBOVUxMLCAvKiBoYXNJbnRlcm5hbFN1YnNldCAqLworICAgIE5VTEwsIC8qIGhhc0V4dGVybmFsU3Vic2V0ICovCisgICAgTlVMTCwgLyogcmVzb2x2ZUVudGl0eSAqLworICAgIE5VTEwsIC8qIGdldEVudGl0eSAqLworICAgIE5VTEwsIC8qIGVudGl0eURlY2wgKi8KKyAgICBOVUxMLCAvKiBub3RhdGlvbkRlY2wgKi8KKyAgICBOVUxMLCAvKiBhdHRyaWJ1dGVEZWNsICovCisgICAgTlVMTCwgLyogZWxlbWVudERlY2wgKi8KKyAgICBOVUxMLCAvKiB1bnBhcnNlZEVudGl0eURlY2wgKi8KKyAgICBOVUxMLCAvKiBzZXREb2N1bWVudExvY2F0b3IgKi8KKyAgICBOVUxMLCAvKiBzdGFydERvY3VtZW50ICovCisgICAgTlVMTCwgLyogZW5kRG9jdW1lbnQgKi8KKyAgICBOVUxMLCAvKiBzdGFydEVsZW1lbnQgKi8KKyAgICBOVUxMLCAvKiBlbmRFbGVtZW50ICovCisgICAgTlVMTCwgLyogcmVmZXJlbmNlICovCisgICAgTlVMTCwgLyogY2hhcmFjdGVycyAqLworICAgIE5VTEwsIC8qIGlnbm9yYWJsZVdoaXRlc3BhY2UgKi8KKyAgICBOVUxMLCAvKiBwcm9jZXNzaW5nSW5zdHJ1Y3Rpb24gKi8KKyAgICBOVUxMLCAvKiBjb21tZW50ICovCisgICAgTlVMTCwgLyogeG1sUGFyc2VyV2FybmluZyAqLworICAgIE5VTEwsIC8qIHhtbFBhcnNlckVycm9yICovCisgICAgTlVMTCwgLyogeG1sUGFyc2VyRXJyb3IgKi8KKyAgICBOVUxMLCAvKiBnZXRQYXJhbWV0ZXJFbnRpdHkgKi8KKyAgICBOVUxMLCAvKiBjZGF0YUJsb2NrICovCisgICAgTlVMTCwgLyogZXh0ZXJuYWxTdWJzZXQgKi8KKyAgICAxLCAgICAvKiBpbml0aWFsaXplZCAqLworICAgIE5VTEwsIC8qIHByaXZhdGUgKi8KKyAgICBOVUxMLCAvKiBzdGFydEVsZW1lbnROc1NBWDJGdW5jICovCisgICAgTlVMTCwgLyogZW5kRWxlbWVudE5zU0FYMkZ1bmMgKi8KKyAgICBOVUxMICAvKiB4bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jICovCit9OworCitzdGF0aWMgeG1sU0FYSGFuZGxlclB0ciBlbXB0eVNBWEhhbmRsZXIgPSAmZW1wdHlTQVhIYW5kbGVyU3RydWN0OworZXh0ZXJuIHhtbFNBWEhhbmRsZXJQdHIgZGVidWdTQVhIYW5kbGVyOworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQkJCURlYnVnIEhhbmRsZXJzCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqCisgKiBpc1N0YW5kYWxvbmVEZWJ1ZzoKKyAqIEBjdHh0OiAgQW4gWE1MIHBhcnNlciBjb250ZXh0CisgKgorICogSXMgdGhpcyBkb2N1bWVudCB0YWdnZWQgc3RhbmRhbG9uZSA/CisgKgorICogUmV0dXJucyAxIGlmIHRydWUKKyAqLworc3RhdGljIGludAoraXNTdGFuZGFsb25lRGVidWcodm9pZCAqY3R4IEFUVFJJQlVURV9VTlVTRUQpCit7CisgICAgZnByaW50ZihzdGRvdXQsICJTQVguaXNTdGFuZGFsb25lKClcbiIpOworICAgIHJldHVybigwKTsKK30KKworLyoqCisgKiBoYXNJbnRlcm5hbFN1YnNldERlYnVnOgorICogQGN0eHQ6ICBBbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqCisgKiBEb2VzIHRoaXMgZG9jdW1lbnQgaGFzIGFuIGludGVybmFsIHN1YnNldAorICoKKyAqIFJldHVybnMgMSBpZiB0cnVlCisgKi8KK3N0YXRpYyBpbnQKK2hhc0ludGVybmFsU3Vic2V0RGVidWcodm9pZCAqY3R4IEFUVFJJQlVURV9VTlVTRUQpCit7CisgICAgZnByaW50ZihzdGRvdXQsICJTQVguaGFzSW50ZXJuYWxTdWJzZXQoKVxuIik7CisgICAgcmV0dXJuKDApOworfQorCisvKioKKyAqIGhhc0V4dGVybmFsU3Vic2V0RGVidWc6CisgKiBAY3R4dDogIEFuIFhNTCBwYXJzZXIgY29udGV4dAorICoKKyAqIERvZXMgdGhpcyBkb2N1bWVudCBoYXMgYW4gZXh0ZXJuYWwgc3Vic2V0CisgKgorICogUmV0dXJucyAxIGlmIHRydWUKKyAqLworc3RhdGljIGludAoraGFzRXh0ZXJuYWxTdWJzZXREZWJ1Zyh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCkKK3sKKyAgICBmcHJpbnRmKHN0ZG91dCwgIlNBWC5oYXNFeHRlcm5hbFN1YnNldCgpXG4iKTsKKyAgICByZXR1cm4oMCk7Cit9CisKKy8qKgorICogaGFzSW50ZXJuYWxTdWJzZXREZWJ1ZzoKKyAqIEBjdHh0OiAgQW4gWE1MIHBhcnNlciBjb250ZXh0CisgKgorICogRG9lcyB0aGlzIGRvY3VtZW50IGhhcyBhbiBpbnRlcm5hbCBzdWJzZXQKKyAqLworc3RhdGljIHZvaWQKK2ludGVybmFsU3Vic2V0RGVidWcodm9pZCAqY3R4IEFUVFJJQlVURV9VTlVTRUQsIGNvbnN0IHhtbENoYXIgKm5hbWUsCisJICAgICAgIGNvbnN0IHhtbENoYXIgKkV4dGVybmFsSUQsIGNvbnN0IHhtbENoYXIgKlN5c3RlbUlEKQoreworICAgIGZwcmludGYoc3Rkb3V0LCAiU0FYLmludGVybmFsU3Vic2V0KCVzLCIsIG5hbWUpOworICAgIGlmIChFeHRlcm5hbElEID09IE5VTEwpCisJZnByaW50ZihzdGRvdXQsICIgLCIpOworICAgIGVsc2UKKwlmcHJpbnRmKHN0ZG91dCwgIiAlcywiLCBFeHRlcm5hbElEKTsKKyAgICBpZiAoU3lzdGVtSUQgPT0gTlVMTCkKKwlmcHJpbnRmKHN0ZG91dCwgIiApXG4iKTsKKyAgICBlbHNlCisJZnByaW50ZihzdGRvdXQsICIgJXMpXG4iLCBTeXN0ZW1JRCk7Cit9CisKKy8qKgorICogcmVzb2x2ZUVudGl0eURlYnVnOgorICogQGN0eHQ6ICBBbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBwdWJsaWNJZDogVGhlIHB1YmxpYyBJRCBvZiB0aGUgZW50aXR5CisgKiBAc3lzdGVtSWQ6IFRoZSBzeXN0ZW0gSUQgb2YgdGhlIGVudGl0eQorICoKKyAqIFNwZWNpYWwgZW50aXR5IHJlc29sdmVyLCBiZXR0ZXIgbGVmdCB0byB0aGUgcGFyc2VyLCBpdCBoYXMKKyAqIG1vcmUgY29udGV4dCB0aGFuIHRoZSBhcHBsaWNhdGlvbiBsYXllci4KKyAqIFRoZSBkZWZhdWx0IGJlaGF2aW91ciBpcyB0byBOT1QgcmVzb2x2ZSB0aGUgZW50aXRpZXMsIGluIHRoYXQgY2FzZQorICogdGhlIEVOVElUWV9SRUYgbm9kZXMgYXJlIGJ1aWx0IGluIHRoZSBzdHJ1Y3R1cmUgKGFuZCB0aGUgcGFyYW1ldGVyCisgKiB2YWx1ZXMpLgorICoKKyAqIFJldHVybnMgdGhlIHhtbFBhcnNlcklucHV0UHRyIGlmIGlubGluZWQgb3IgTlVMTCBmb3IgRE9NIGJlaGF2aW91ci4KKyAqLworc3RhdGljIHhtbFBhcnNlcklucHV0UHRyCityZXNvbHZlRW50aXR5RGVidWcodm9pZCAqY3R4IEFUVFJJQlVURV9VTlVTRUQsIGNvbnN0IHhtbENoYXIgKnB1YmxpY0lkLCBjb25zdCB4bWxDaGFyICpzeXN0ZW1JZCkKK3sKKyAgICAvKiB4bWxQYXJzZXJDdHh0UHRyIGN0eHQgPSAoeG1sUGFyc2VyQ3R4dFB0cikgY3R4OyAqLworCisKKyAgICBmcHJpbnRmKHN0ZG91dCwgIlNBWC5yZXNvbHZlRW50aXR5KCIpOworICAgIGlmIChwdWJsaWNJZCAhPSBOVUxMKQorCWZwcmludGYoc3Rkb3V0LCAiJXMiLCAoY2hhciAqKXB1YmxpY0lkKTsKKyAgICBlbHNlCisJZnByaW50ZihzdGRvdXQsICIgIik7CisgICAgaWYgKHN5c3RlbUlkICE9IE5VTEwpCisJZnByaW50ZihzdGRvdXQsICIsICVzKVxuIiwgKGNoYXIgKilzeXN0ZW1JZCk7CisgICAgZWxzZQorCWZwcmludGYoc3Rkb3V0LCAiLCApXG4iKTsKKy8qKioqKioqKioKKyAgICBpZiAoc3lzdGVtSWQgIT0gTlVMTCkgeworICAgICAgICByZXR1cm4oeG1sTmV3SW5wdXRGcm9tRmlsZShjdHh0LCAoY2hhciAqKSBzeXN0ZW1JZCkpOworICAgIH0KKyAqKioqKioqKiovCisgICAgcmV0dXJuKE5VTEwpOworfQorCisvKioKKyAqIGdldEVudGl0eURlYnVnOgorICogQGN0eHQ6ICBBbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBuYW1lOiBUaGUgZW50aXR5IG5hbWUKKyAqCisgKiBHZXQgYW4gZW50aXR5IGJ5IG5hbWUKKyAqCisgKiBSZXR1cm5zIHRoZSB4bWxQYXJzZXJJbnB1dFB0ciBpZiBpbmxpbmVkIG9yIE5VTEwgZm9yIERPTSBiZWhhdmlvdXIuCisgKi8KK3N0YXRpYyB4bWxFbnRpdHlQdHIKK2dldEVudGl0eURlYnVnKHZvaWQgKmN0eCBBVFRSSUJVVEVfVU5VU0VELCBjb25zdCB4bWxDaGFyICpuYW1lKQoreworICAgIGZwcmludGYoc3Rkb3V0LCAiU0FYLmdldEVudGl0eSglcylcbiIsIG5hbWUpOworICAgIHJldHVybihOVUxMKTsKK30KKworLyoqCisgKiBnZXRQYXJhbWV0ZXJFbnRpdHlEZWJ1ZzoKKyAqIEBjdHh0OiAgQW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAbmFtZTogVGhlIGVudGl0eSBuYW1lCisgKgorICogR2V0IGEgcGFyYW1ldGVyIGVudGl0eSBieSBuYW1lCisgKgorICogUmV0dXJucyB0aGUgeG1sUGFyc2VySW5wdXRQdHIKKyAqLworc3RhdGljIHhtbEVudGl0eVB0cgorZ2V0UGFyYW1ldGVyRW50aXR5RGVidWcodm9pZCAqY3R4IEFUVFJJQlVURV9VTlVTRUQsIGNvbnN0IHhtbENoYXIgKm5hbWUpCit7CisgICAgZnByaW50ZihzdGRvdXQsICJTQVguZ2V0UGFyYW1ldGVyRW50aXR5KCVzKVxuIiwgbmFtZSk7CisgICAgcmV0dXJuKE5VTEwpOworfQorCisKKy8qKgorICogZW50aXR5RGVjbERlYnVnOgorICogQGN0eHQ6ICBBbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBuYW1lOiAgdGhlIGVudGl0eSBuYW1lCisgKiBAdHlwZTogIHRoZSBlbnRpdHkgdHlwZQorICogQHB1YmxpY0lkOiBUaGUgcHVibGljIElEIG9mIHRoZSBlbnRpdHkKKyAqIEBzeXN0ZW1JZDogVGhlIHN5c3RlbSBJRCBvZiB0aGUgZW50aXR5CisgKiBAY29udGVudDogdGhlIGVudGl0eSB2YWx1ZSAod2l0aG91dCBwcm9jZXNzaW5nKS4KKyAqCisgKiBBbiBlbnRpdHkgZGVmaW5pdGlvbiBoYXMgYmVlbiBwYXJzZWQKKyAqLworc3RhdGljIHZvaWQKK2VudGl0eURlY2xEZWJ1Zyh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCwgY29uc3QgeG1sQ2hhciAqbmFtZSwgaW50IHR5cGUsCisgICAgICAgICAgY29uc3QgeG1sQ2hhciAqcHVibGljSWQsIGNvbnN0IHhtbENoYXIgKnN5c3RlbUlkLCB4bWxDaGFyICpjb250ZW50KQoreworICAgIGZwcmludGYoc3Rkb3V0LCAiU0FYLmVudGl0eURlY2woJXMsICVkLCAlcywgJXMsICVzKVxuIiwKKyAgICAgICAgICAgIG5hbWUsIHR5cGUsIHB1YmxpY0lkLCBzeXN0ZW1JZCwgY29udGVudCk7Cit9CisKKy8qKgorICogYXR0cmlidXRlRGVjbERlYnVnOgorICogQGN0eHQ6ICBBbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBuYW1lOiAgdGhlIGF0dHJpYnV0ZSBuYW1lCisgKiBAdHlwZTogIHRoZSBhdHRyaWJ1dGUgdHlwZQorICoKKyAqIEFuIGF0dHJpYnV0ZSBkZWZpbml0aW9uIGhhcyBiZWVuIHBhcnNlZAorICovCitzdGF0aWMgdm9pZAorYXR0cmlidXRlRGVjbERlYnVnKHZvaWQgKmN0eCBBVFRSSUJVVEVfVU5VU0VELCBjb25zdCB4bWxDaGFyICplbGVtLCBjb25zdCB4bWxDaGFyICpuYW1lLAorICAgICAgICAgICAgICBpbnQgdHlwZSwgaW50IGRlZiwgY29uc3QgeG1sQ2hhciAqZGVmYXVsdFZhbHVlLAorCSAgICAgIHhtbEVudW1lcmF0aW9uUHRyIHRyZWUgQVRUUklCVVRFX1VOVVNFRCkKK3sKKyAgICBmcHJpbnRmKHN0ZG91dCwgIlNBWC5hdHRyaWJ1dGVEZWNsKCVzLCAlcywgJWQsICVkLCAlcywgLi4uKVxuIiwKKyAgICAgICAgICAgIGVsZW0sIG5hbWUsIHR5cGUsIGRlZiwgZGVmYXVsdFZhbHVlKTsKK30KKworLyoqCisgKiBlbGVtZW50RGVjbERlYnVnOgorICogQGN0eHQ6ICBBbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBuYW1lOiAgdGhlIGVsZW1lbnQgbmFtZQorICogQHR5cGU6ICB0aGUgZWxlbWVudCB0eXBlCisgKiBAY29udGVudDogdGhlIGVsZW1lbnQgdmFsdWUgKHdpdGhvdXQgcHJvY2Vzc2luZykuCisgKgorICogQW4gZWxlbWVudCBkZWZpbml0aW9uIGhhcyBiZWVuIHBhcnNlZAorICovCitzdGF0aWMgdm9pZAorZWxlbWVudERlY2xEZWJ1Zyh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCwgY29uc3QgeG1sQ2hhciAqbmFtZSwgaW50IHR5cGUsCisJICAgIHhtbEVsZW1lbnRDb250ZW50UHRyIGNvbnRlbnQgQVRUUklCVVRFX1VOVVNFRCkKK3sKKyAgICBmcHJpbnRmKHN0ZG91dCwgIlNBWC5lbGVtZW50RGVjbCglcywgJWQsIC4uLilcbiIsCisgICAgICAgICAgICBuYW1lLCB0eXBlKTsKK30KKworLyoqCisgKiBub3RhdGlvbkRlY2xEZWJ1ZzoKKyAqIEBjdHh0OiAgQW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAbmFtZTogVGhlIG5hbWUgb2YgdGhlIG5vdGF0aW9uCisgKiBAcHVibGljSWQ6IFRoZSBwdWJsaWMgSUQgb2YgdGhlIGVudGl0eQorICogQHN5c3RlbUlkOiBUaGUgc3lzdGVtIElEIG9mIHRoZSBlbnRpdHkKKyAqCisgKiBXaGF0IHRvIGRvIHdoZW4gYSBub3RhdGlvbiBkZWNsYXJhdGlvbiBoYXMgYmVlbiBwYXJzZWQuCisgKi8KK3N0YXRpYyB2b2lkCitub3RhdGlvbkRlY2xEZWJ1Zyh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCwgY29uc3QgeG1sQ2hhciAqbmFtZSwKKwkgICAgIGNvbnN0IHhtbENoYXIgKnB1YmxpY0lkLCBjb25zdCB4bWxDaGFyICpzeXN0ZW1JZCkKK3sKKyAgICBmcHJpbnRmKHN0ZG91dCwgIlNBWC5ub3RhdGlvbkRlY2woJXMsICVzLCAlcylcbiIsCisgICAgICAgICAgICAoY2hhciAqKSBuYW1lLCAoY2hhciAqKSBwdWJsaWNJZCwgKGNoYXIgKikgc3lzdGVtSWQpOworfQorCisvKioKKyAqIHVucGFyc2VkRW50aXR5RGVjbERlYnVnOgorICogQGN0eHQ6ICBBbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBuYW1lOiBUaGUgbmFtZSBvZiB0aGUgZW50aXR5CisgKiBAcHVibGljSWQ6IFRoZSBwdWJsaWMgSUQgb2YgdGhlIGVudGl0eQorICogQHN5c3RlbUlkOiBUaGUgc3lzdGVtIElEIG9mIHRoZSBlbnRpdHkKKyAqIEBub3RhdGlvbk5hbWU6IHRoZSBuYW1lIG9mIHRoZSBub3RhdGlvbgorICoKKyAqIFdoYXQgdG8gZG8gd2hlbiBhbiB1bnBhcnNlZCBlbnRpdHkgZGVjbGFyYXRpb24gaXMgcGFyc2VkCisgKi8KK3N0YXRpYyB2b2lkCit1bnBhcnNlZEVudGl0eURlY2xEZWJ1Zyh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCwgY29uc3QgeG1sQ2hhciAqbmFtZSwKKwkJICAgY29uc3QgeG1sQ2hhciAqcHVibGljSWQsIGNvbnN0IHhtbENoYXIgKnN5c3RlbUlkLAorCQkgICBjb25zdCB4bWxDaGFyICpub3RhdGlvbk5hbWUpCit7CisgICAgZnByaW50ZihzdGRvdXQsICJTQVgudW5wYXJzZWRFbnRpdHlEZWNsKCVzLCAlcywgJXMsICVzKVxuIiwKKyAgICAgICAgICAgIChjaGFyICopIG5hbWUsIChjaGFyICopIHB1YmxpY0lkLCAoY2hhciAqKSBzeXN0ZW1JZCwKKwkgICAgKGNoYXIgKikgbm90YXRpb25OYW1lKTsKK30KKworLyoqCisgKiBzZXREb2N1bWVudExvY2F0b3JEZWJ1ZzoKKyAqIEBjdHh0OiAgQW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAbG9jOiBBIFNBWCBMb2NhdG9yCisgKgorICogUmVjZWl2ZSB0aGUgZG9jdW1lbnQgbG9jYXRvciBhdCBzdGFydHVwLCBhY3R1YWxseSB4bWxEZWZhdWx0U0FYTG9jYXRvcgorICogRXZlcnl0aGluZyBpcyBhdmFpbGFibGUgb24gdGhlIGNvbnRleHQsIHNvIHRoaXMgaXMgdXNlbGVzcyBpbiBvdXIgY2FzZS4KKyAqLworc3RhdGljIHZvaWQKK3NldERvY3VtZW50TG9jYXRvckRlYnVnKHZvaWQgKmN0eCBBVFRSSUJVVEVfVU5VU0VELCB4bWxTQVhMb2NhdG9yUHRyIGxvYyBBVFRSSUJVVEVfVU5VU0VEKQoreworICAgIGZwcmludGYoc3Rkb3V0LCAiU0FYLnNldERvY3VtZW50TG9jYXRvcigpXG4iKTsKK30KKworLyoqCisgKiBzdGFydERvY3VtZW50RGVidWc6CisgKiBAY3R4dDogIEFuIFhNTCBwYXJzZXIgY29udGV4dAorICoKKyAqIGNhbGxlZCB3aGVuIHRoZSBkb2N1bWVudCBzdGFydCBiZWluZyBwcm9jZXNzZWQuCisgKi8KK3N0YXRpYyB2b2lkCitzdGFydERvY3VtZW50RGVidWcodm9pZCAqY3R4IEFUVFJJQlVURV9VTlVTRUQpCit7CisgICAgZnByaW50ZihzdGRvdXQsICJTQVguc3RhcnREb2N1bWVudCgpXG4iKTsKK30KKworLyoqCisgKiBlbmREb2N1bWVudERlYnVnOgorICogQGN0eHQ6ICBBbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqCisgKiBjYWxsZWQgd2hlbiB0aGUgZG9jdW1lbnQgZW5kIGhhcyBiZWVuIGRldGVjdGVkLgorICovCitzdGF0aWMgdm9pZAorZW5kRG9jdW1lbnREZWJ1Zyh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCkKK3sKKyAgICBmcHJpbnRmKHN0ZG91dCwgIlNBWC5lbmREb2N1bWVudCgpXG4iKTsKK30KKworLyoqCisgKiBzdGFydEVsZW1lbnREZWJ1ZzoKKyAqIEBjdHh0OiAgQW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAbmFtZTogIFRoZSBlbGVtZW50IG5hbWUKKyAqCisgKiBjYWxsZWQgd2hlbiBhbiBvcGVuaW5nIHRhZyBoYXMgYmVlbiBwcm9jZXNzZWQuCisgKi8KK3N0YXRpYyB2b2lkCitzdGFydEVsZW1lbnREZWJ1Zyh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCwgY29uc3QgeG1sQ2hhciAqbmFtZSwgY29uc3QgeG1sQ2hhciAqKmF0dHMpCit7CisgICAgaW50IGk7CisKKyAgICBmcHJpbnRmKHN0ZG91dCwgIlNBWC5zdGFydEVsZW1lbnQoJXMiLCAoY2hhciAqKSBuYW1lKTsKKyAgICBpZiAoYXR0cyAhPSBOVUxMKSB7CisgICAgICAgIGZvciAoaSA9IDA7KGF0dHNbaV0gIT0gTlVMTCk7aSsrKSB7CisJICAgIGZwcmludGYoc3Rkb3V0LCAiLCAlcyIsIGF0dHNbaSsrXSk7CisJICAgIGlmIChhdHRzW2ldICE9IE5VTEwpIHsKKwkJdW5zaWduZWQgY2hhciBvdXRwdXRbNDBdOworCQljb25zdCB1bnNpZ25lZCBjaGFyICphdHQgPSBhdHRzW2ldOworCQlpbnQgb3V0bGVuLCBhdHRsZW47CisJICAgICAgICBmcHJpbnRmKHN0ZG91dCwgIj0nIik7CisJCXdoaWxlICgoYXR0bGVuID0gc3RybGVuKChjaGFyKilhdHQpKSA+IDApIHsKKwkJICAgIG91dGxlbiA9IHNpemVvZiBvdXRwdXQgLSAxOworCQkgICAgaHRtbEVuY29kZUVudGl0aWVzKG91dHB1dCwgJm91dGxlbiwgYXR0LCAmYXR0bGVuLCAnXCcnKTsKKwkJICAgIG91dHB1dFtvdXRsZW5dID0gMDsKKwkJICAgIGZwcmludGYoc3Rkb3V0LCAiJXMiLCAoY2hhciAqKSBvdXRwdXQpOworCQkgICAgYXR0ICs9IGF0dGxlbjsKKwkJfQorCQlmcHJpbnRmKHN0ZG91dCwgIiciKTsKKwkgICAgfQorCX0KKyAgICB9CisgICAgZnByaW50ZihzdGRvdXQsICIpXG4iKTsKK30KKworLyoqCisgKiBlbmRFbGVtZW50RGVidWc6CisgKiBAY3R4dDogIEFuIFhNTCBwYXJzZXIgY29udGV4dAorICogQG5hbWU6ICBUaGUgZWxlbWVudCBuYW1lCisgKgorICogY2FsbGVkIHdoZW4gdGhlIGVuZCBvZiBhbiBlbGVtZW50IGhhcyBiZWVuIGRldGVjdGVkLgorICovCitzdGF0aWMgdm9pZAorZW5kRWxlbWVudERlYnVnKHZvaWQgKmN0eCBBVFRSSUJVVEVfVU5VU0VELCBjb25zdCB4bWxDaGFyICpuYW1lKQoreworICAgIGZwcmludGYoc3Rkb3V0LCAiU0FYLmVuZEVsZW1lbnQoJXMpXG4iLCAoY2hhciAqKSBuYW1lKTsKK30KKworLyoqCisgKiBjaGFyYWN0ZXJzRGVidWc6CisgKiBAY3R4dDogIEFuIFhNTCBwYXJzZXIgY29udGV4dAorICogQGNoOiAgYSB4bWxDaGFyIHN0cmluZworICogQGxlbjogdGhlIG51bWJlciBvZiB4bWxDaGFyCisgKgorICogcmVjZWl2aW5nIHNvbWUgY2hhcnMgZnJvbSB0aGUgcGFyc2VyLgorICogUXVlc3Rpb246IGhvdyBtdWNoIGF0IGEgdGltZSA/Pz8KKyAqLworc3RhdGljIHZvaWQKK2NoYXJhY3RlcnNEZWJ1Zyh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCwgY29uc3QgeG1sQ2hhciAqY2gsIGludCBsZW4pCit7CisgICAgdW5zaWduZWQgY2hhciBvdXRwdXRbNDBdOworICAgIGludCBpbmxlbiA9IGxlbiwgb3V0bGVuID0gMzA7CisKKyAgICBodG1sRW5jb2RlRW50aXRpZXMob3V0cHV0LCAmb3V0bGVuLCBjaCwgJmlubGVuLCAwKTsKKyAgICBvdXRwdXRbb3V0bGVuXSA9IDA7CisKKyAgICBmcHJpbnRmKHN0ZG91dCwgIlNBWC5jaGFyYWN0ZXJzKCVzLCAlZClcbiIsIG91dHB1dCwgbGVuKTsKK30KKworLyoqCisgKiBjZGF0YURlYnVnOgorICogQGN0eHQ6ICBBbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBjaDogIGEgeG1sQ2hhciBzdHJpbmcKKyAqIEBsZW46IHRoZSBudW1iZXIgb2YgeG1sQ2hhcgorICoKKyAqIHJlY2VpdmluZyBzb21lIGNkYXRhIGNoYXJzIGZyb20gdGhlIHBhcnNlci4KKyAqIFF1ZXN0aW9uOiBob3cgbXVjaCBhdCBhIHRpbWUgPz8/CisgKi8KK3N0YXRpYyB2b2lkCitjZGF0YURlYnVnKHZvaWQgKmN0eCBBVFRSSUJVVEVfVU5VU0VELCBjb25zdCB4bWxDaGFyICpjaCwgaW50IGxlbikKK3sKKyAgICB1bnNpZ25lZCBjaGFyIG91dHB1dFs0MF07CisgICAgaW50IGlubGVuID0gbGVuLCBvdXRsZW4gPSAzMDsKKworICAgIGh0bWxFbmNvZGVFbnRpdGllcyhvdXRwdXQsICZvdXRsZW4sIGNoLCAmaW5sZW4sIDApOworICAgIG91dHB1dFtvdXRsZW5dID0gMDsKKworICAgIGZwcmludGYoc3Rkb3V0LCAiU0FYLmNkYXRhKCVzLCAlZClcbiIsIG91dHB1dCwgbGVuKTsKK30KKworLyoqCisgKiByZWZlcmVuY2VEZWJ1ZzoKKyAqIEBjdHh0OiAgQW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAbmFtZTogIFRoZSBlbnRpdHkgbmFtZQorICoKKyAqIGNhbGxlZCB3aGVuIGFuIGVudGl0eSByZWZlcmVuY2UgaXMgZGV0ZWN0ZWQuCisgKi8KK3N0YXRpYyB2b2lkCityZWZlcmVuY2VEZWJ1Zyh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCwgY29uc3QgeG1sQ2hhciAqbmFtZSkKK3sKKyAgICBmcHJpbnRmKHN0ZG91dCwgIlNBWC5yZWZlcmVuY2UoJXMpXG4iLCBuYW1lKTsKK30KKworLyoqCisgKiBpZ25vcmFibGVXaGl0ZXNwYWNlRGVidWc6CisgKiBAY3R4dDogIEFuIFhNTCBwYXJzZXIgY29udGV4dAorICogQGNoOiAgYSB4bWxDaGFyIHN0cmluZworICogQHN0YXJ0OiB0aGUgZmlyc3QgY2hhciBpbiB0aGUgc3RyaW5nCisgKiBAbGVuOiB0aGUgbnVtYmVyIG9mIHhtbENoYXIKKyAqCisgKiByZWNlaXZpbmcgc29tZSBpZ25vcmFibGUgd2hpdGVzcGFjZXMgZnJvbSB0aGUgcGFyc2VyLgorICogUXVlc3Rpb246IGhvdyBtdWNoIGF0IGEgdGltZSA/Pz8KKyAqLworc3RhdGljIHZvaWQKK2lnbm9yYWJsZVdoaXRlc3BhY2VEZWJ1Zyh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCwgY29uc3QgeG1sQ2hhciAqY2gsIGludCBsZW4pCit7CisgICAgY2hhciBvdXRwdXRbNDBdOworICAgIGludCBpOworCisgICAgZm9yIChpID0gMDsoaTxsZW4pICYmIChpIDwgMzApO2krKykKKwlvdXRwdXRbaV0gPSBjaFtpXTsKKyAgICBvdXRwdXRbaV0gPSAwOworCisgICAgZnByaW50ZihzdGRvdXQsICJTQVguaWdub3JhYmxlV2hpdGVzcGFjZSglcywgJWQpXG4iLCBvdXRwdXQsIGxlbik7Cit9CisKKy8qKgorICogcHJvY2Vzc2luZ0luc3RydWN0aW9uRGVidWc6CisgKiBAY3R4dDogIEFuIFhNTCBwYXJzZXIgY29udGV4dAorICogQHRhcmdldDogIHRoZSB0YXJnZXQgbmFtZQorICogQGRhdGE6IHRoZSBQSSBkYXRhJ3MKKyAqIEBsZW46IHRoZSBudW1iZXIgb2YgeG1sQ2hhcgorICoKKyAqIEEgcHJvY2Vzc2luZyBpbnN0cnVjdGlvbiBoYXMgYmVlbiBwYXJzZWQuCisgKi8KK3N0YXRpYyB2b2lkCitwcm9jZXNzaW5nSW5zdHJ1Y3Rpb25EZWJ1Zyh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCwgY29uc3QgeG1sQ2hhciAqdGFyZ2V0LAorICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKmRhdGEpCit7CisgICAgZnByaW50ZihzdGRvdXQsICJTQVgucHJvY2Vzc2luZ0luc3RydWN0aW9uKCVzLCAlcylcbiIsCisgICAgICAgICAgICAoY2hhciAqKSB0YXJnZXQsIChjaGFyICopIGRhdGEpOworfQorCisvKioKKyAqIGNvbW1lbnREZWJ1ZzoKKyAqIEBjdHh0OiAgQW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAdmFsdWU6ICB0aGUgY29tbWVudCBjb250ZW50CisgKgorICogQSBjb21tZW50IGhhcyBiZWVuIHBhcnNlZC4KKyAqLworc3RhdGljIHZvaWQKK2NvbW1lbnREZWJ1Zyh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCwgY29uc3QgeG1sQ2hhciAqdmFsdWUpCit7CisgICAgZnByaW50ZihzdGRvdXQsICJTQVguY29tbWVudCglcylcbiIsIHZhbHVlKTsKK30KKworLyoqCisgKiB3YXJuaW5nRGVidWc6CisgKiBAY3R4dDogIEFuIFhNTCBwYXJzZXIgY29udGV4dAorICogQG1zZzogIHRoZSBtZXNzYWdlIHRvIGRpc3BsYXkvdHJhbnNtaXQKKyAqIEAuLi46ICBleHRyYSBwYXJhbWV0ZXJzIGZvciB0aGUgbWVzc2FnZSBkaXNwbGF5CisgKgorICogRGlzcGxheSBhbmQgZm9ybWF0IGEgd2FybmluZyBtZXNzYWdlcywgZ2l2ZXMgZmlsZSwgbGluZSwgcG9zaXRpb24gYW5kCisgKiBleHRyYSBwYXJhbWV0ZXJzLgorICovCitzdGF0aWMgdm9pZCBYTUxDREVDTAord2FybmluZ0RlYnVnKHZvaWQgKmN0eCBBVFRSSUJVVEVfVU5VU0VELCBjb25zdCBjaGFyICptc2csIC4uLikKK3sKKyAgICB2YV9saXN0IGFyZ3M7CisKKyAgICB2YV9zdGFydChhcmdzLCBtc2cpOworICAgIGZwcmludGYoc3Rkb3V0LCAiU0FYLndhcm5pbmc6ICIpOworICAgIHZmcHJpbnRmKHN0ZG91dCwgbXNnLCBhcmdzKTsKKyAgICB2YV9lbmQoYXJncyk7Cit9CisKKy8qKgorICogZXJyb3JEZWJ1ZzoKKyAqIEBjdHh0OiAgQW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAbXNnOiAgdGhlIG1lc3NhZ2UgdG8gZGlzcGxheS90cmFuc21pdAorICogQC4uLjogIGV4dHJhIHBhcmFtZXRlcnMgZm9yIHRoZSBtZXNzYWdlIGRpc3BsYXkKKyAqCisgKiBEaXNwbGF5IGFuZCBmb3JtYXQgYSBlcnJvciBtZXNzYWdlcywgZ2l2ZXMgZmlsZSwgbGluZSwgcG9zaXRpb24gYW5kCisgKiBleHRyYSBwYXJhbWV0ZXJzLgorICovCitzdGF0aWMgdm9pZCBYTUxDREVDTAorZXJyb3JEZWJ1Zyh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCwgY29uc3QgY2hhciAqbXNnLCAuLi4pCit7CisgICAgdmFfbGlzdCBhcmdzOworCisgICAgdmFfc3RhcnQoYXJncywgbXNnKTsKKyAgICBmcHJpbnRmKHN0ZG91dCwgIlNBWC5lcnJvcjogIik7CisgICAgdmZwcmludGYoc3Rkb3V0LCBtc2csIGFyZ3MpOworICAgIHZhX2VuZChhcmdzKTsKK30KKworLyoqCisgKiBmYXRhbEVycm9yRGVidWc6CisgKiBAY3R4dDogIEFuIFhNTCBwYXJzZXIgY29udGV4dAorICogQG1zZzogIHRoZSBtZXNzYWdlIHRvIGRpc3BsYXkvdHJhbnNtaXQKKyAqIEAuLi46ICBleHRyYSBwYXJhbWV0ZXJzIGZvciB0aGUgbWVzc2FnZSBkaXNwbGF5CisgKgorICogRGlzcGxheSBhbmQgZm9ybWF0IGEgZmF0YWxFcnJvciBtZXNzYWdlcywgZ2l2ZXMgZmlsZSwgbGluZSwgcG9zaXRpb24gYW5kCisgKiBleHRyYSBwYXJhbWV0ZXJzLgorICovCitzdGF0aWMgdm9pZCBYTUxDREVDTAorZmF0YWxFcnJvckRlYnVnKHZvaWQgKmN0eCBBVFRSSUJVVEVfVU5VU0VELCBjb25zdCBjaGFyICptc2csIC4uLikKK3sKKyAgICB2YV9saXN0IGFyZ3M7CisKKyAgICB2YV9zdGFydChhcmdzLCBtc2cpOworICAgIGZwcmludGYoc3Rkb3V0LCAiU0FYLmZhdGFsRXJyb3I6ICIpOworICAgIHZmcHJpbnRmKHN0ZG91dCwgbXNnLCBhcmdzKTsKKyAgICB2YV9lbmQoYXJncyk7Cit9CisKK3N0YXRpYyB4bWxTQVhIYW5kbGVyIGRlYnVnU0FYSGFuZGxlclN0cnVjdCA9IHsKKyAgICBpbnRlcm5hbFN1YnNldERlYnVnLAorICAgIGlzU3RhbmRhbG9uZURlYnVnLAorICAgIGhhc0ludGVybmFsU3Vic2V0RGVidWcsCisgICAgaGFzRXh0ZXJuYWxTdWJzZXREZWJ1ZywKKyAgICByZXNvbHZlRW50aXR5RGVidWcsCisgICAgZ2V0RW50aXR5RGVidWcsCisgICAgZW50aXR5RGVjbERlYnVnLAorICAgIG5vdGF0aW9uRGVjbERlYnVnLAorICAgIGF0dHJpYnV0ZURlY2xEZWJ1ZywKKyAgICBlbGVtZW50RGVjbERlYnVnLAorICAgIHVucGFyc2VkRW50aXR5RGVjbERlYnVnLAorICAgIHNldERvY3VtZW50TG9jYXRvckRlYnVnLAorICAgIHN0YXJ0RG9jdW1lbnREZWJ1ZywKKyAgICBlbmREb2N1bWVudERlYnVnLAorICAgIHN0YXJ0RWxlbWVudERlYnVnLAorICAgIGVuZEVsZW1lbnREZWJ1ZywKKyAgICByZWZlcmVuY2VEZWJ1ZywKKyAgICBjaGFyYWN0ZXJzRGVidWcsCisgICAgaWdub3JhYmxlV2hpdGVzcGFjZURlYnVnLAorICAgIHByb2Nlc3NpbmdJbnN0cnVjdGlvbkRlYnVnLAorICAgIGNvbW1lbnREZWJ1ZywKKyAgICB3YXJuaW5nRGVidWcsCisgICAgZXJyb3JEZWJ1ZywKKyAgICBmYXRhbEVycm9yRGVidWcsCisgICAgZ2V0UGFyYW1ldGVyRW50aXR5RGVidWcsCisgICAgY2RhdGFEZWJ1ZywKKyAgICBOVUxMLAorICAgIDEsCisgICAgTlVMTCwKKyAgICBOVUxMLAorICAgIE5VTEwsCisgICAgTlVMTAorfTsKKworeG1sU0FYSGFuZGxlclB0ciBkZWJ1Z1NBWEhhbmRsZXIgPSAmZGVidWdTQVhIYW5kbGVyU3RydWN0OworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJCQlEZWJ1ZwkJCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitzdGF0aWMgdm9pZAorcGFyc2VTQVhGaWxlKGNoYXIgKmZpbGVuYW1lKSB7CisgICAgaHRtbERvY1B0ciBkb2MgPSBOVUxMOworCisgICAgLyoKKyAgICAgKiBFbXB0eSBjYWxsYmFja3MgZm9yIGNoZWNraW5nCisgICAgICovCisjaWZkZWYgTElCWE1MX1BVU0hfRU5BQkxFRAorICAgIGlmIChwdXNoKSB7CisJRklMRSAqZjsKKworI2lmIGRlZmluZWQoX1dJTjMyKSB8fCBkZWZpbmVkIChfX0RKR1BQX18pICYmICFkZWZpbmVkIChfX0NZR1dJTl9fKQorCWYgPSBmb3BlbihmaWxlbmFtZSwgInJiIik7CisjZWxzZQorCWYgPSBmb3BlbihmaWxlbmFtZSwgInIiKTsKKyNlbmRpZgorCWlmIChmICE9IE5VTEwpIHsKKwkgICAgaW50IHJlcywgc2l6ZSA9IDM7CisJICAgIGNoYXIgY2hhcnNbNDA5Nl07CisJICAgIGh0bWxQYXJzZXJDdHh0UHRyIGN0eHQ7CisKKwkgICAgLyogaWYgKHJlcGVhdCkgKi8KKwkJc2l6ZSA9IDQwOTY7CisJICAgIHJlcyA9IGZyZWFkKGNoYXJzLCAxLCA0LCBmKTsKKwkgICAgaWYgKHJlcyA+IDApIHsKKwkJY3R4dCA9IGh0bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dChlbXB0eVNBWEhhbmRsZXIsIE5VTEwsCisJCQkgICAgY2hhcnMsIHJlcywgZmlsZW5hbWUsIFhNTF9DSEFSX0VOQ09ESU5HX05PTkUpOworCQl3aGlsZSAoKHJlcyA9IGZyZWFkKGNoYXJzLCAxLCBzaXplLCBmKSkgPiAwKSB7CisJCSAgICBodG1sUGFyc2VDaHVuayhjdHh0LCBjaGFycywgcmVzLCAwKTsKKwkJfQorCQlodG1sUGFyc2VDaHVuayhjdHh0LCBjaGFycywgMCwgMSk7CisJCWRvYyA9IGN0eHQtPm15RG9jOworCQlodG1sRnJlZVBhcnNlckN0eHQoY3R4dCk7CisJICAgIH0KKwkgICAgaWYgKGRvYyAhPSBOVUxMKSB7CisJCWZwcmludGYoc3Rkb3V0LCAiaHRtbFNBWFBhcnNlRmlsZSByZXR1cm5lZCBub24tTlVMTFxuIik7CisJCXhtbEZyZWVEb2MoZG9jKTsKKwkgICAgfQorCSAgICBmY2xvc2UoZik7CisJfQorCWlmICghbm9vdXQpIHsKKyNpZiBkZWZpbmVkKF9XSU4zMikgfHwgZGVmaW5lZCAoX19ESkdQUF9fKSAmJiAhZGVmaW5lZCAoX19DWUdXSU5fXykKKwkJZiA9IGZvcGVuKGZpbGVuYW1lLCAicmIiKTsKKyNlbHNlCisJCWYgPSBmb3BlbihmaWxlbmFtZSwgInIiKTsKKyNlbmRpZgorCSAgICBpZiAoZiAhPSBOVUxMKSB7CisJCWludCByZXMsIHNpemUgPSAzOworCQljaGFyIGNoYXJzWzQwOTZdOworCQlodG1sUGFyc2VyQ3R4dFB0ciBjdHh0OworCisJCS8qIGlmIChyZXBlYXQpICovCisJCSAgICBzaXplID0gNDA5NjsKKwkJcmVzID0gZnJlYWQoY2hhcnMsIDEsIDQsIGYpOworCQlpZiAocmVzID4gMCkgeworCQkgICAgY3R4dCA9IGh0bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dChkZWJ1Z1NBWEhhbmRsZXIsIE5VTEwsCisJCQkJY2hhcnMsIHJlcywgZmlsZW5hbWUsIFhNTF9DSEFSX0VOQ09ESU5HX05PTkUpOworCQkgICAgd2hpbGUgKChyZXMgPSBmcmVhZChjaGFycywgMSwgc2l6ZSwgZikpID4gMCkgeworCQkJaHRtbFBhcnNlQ2h1bmsoY3R4dCwgY2hhcnMsIHJlcywgMCk7CisJCSAgICB9CisJCSAgICBodG1sUGFyc2VDaHVuayhjdHh0LCBjaGFycywgMCwgMSk7CisJCSAgICBkb2MgPSBjdHh0LT5teURvYzsKKwkJICAgIGh0bWxGcmVlUGFyc2VyQ3R4dChjdHh0KTsKKwkJfQorCQlpZiAoZG9jICE9IE5VTEwpIHsKKwkJICAgIGZwcmludGYoc3Rkb3V0LCAiaHRtbFNBWFBhcnNlRmlsZSByZXR1cm5lZCBub24tTlVMTFxuIik7CisJCSAgICB4bWxGcmVlRG9jKGRvYyk7CisJCX0KKwkJZmNsb3NlKGYpOworCSAgICB9CisJfQorICAgIH0gZWxzZSB7CisjZW5kaWYgLyogTElCWE1MX1BVU0hfRU5BQkxFRCAqLworCWRvYyA9IGh0bWxTQVhQYXJzZUZpbGUoZmlsZW5hbWUsIE5VTEwsIGVtcHR5U0FYSGFuZGxlciwgTlVMTCk7CisJaWYgKGRvYyAhPSBOVUxMKSB7CisJICAgIGZwcmludGYoc3Rkb3V0LCAiaHRtbFNBWFBhcnNlRmlsZSByZXR1cm5lZCBub24tTlVMTFxuIik7CisJICAgIHhtbEZyZWVEb2MoZG9jKTsKKwl9CisKKwlpZiAoIW5vb3V0KSB7CisJICAgIC8qCisJICAgICAqIERlYnVnIGNhbGxiYWNrCisJICAgICAqLworCSAgICBkb2MgPSBodG1sU0FYUGFyc2VGaWxlKGZpbGVuYW1lLCBOVUxMLCBkZWJ1Z1NBWEhhbmRsZXIsIE5VTEwpOworCSAgICBpZiAoZG9jICE9IE5VTEwpIHsKKwkJZnByaW50ZihzdGRvdXQsICJodG1sU0FYUGFyc2VGaWxlIHJldHVybmVkIG5vbi1OVUxMXG4iKTsKKwkJeG1sRnJlZURvYyhkb2MpOworCSAgICB9CisJfQorI2lmZGVmIExJQlhNTF9QVVNIX0VOQUJMRUQKKyAgICB9CisjZW5kaWYgLyogTElCWE1MX1BVU0hfRU5BQkxFRCAqLworfQorCitzdGF0aWMgdm9pZAorcGFyc2VBbmRQcmludEZpbGUoY2hhciAqZmlsZW5hbWUpIHsKKyAgICBodG1sRG9jUHRyIGRvYyA9IE5VTEw7CisKKyAgICAvKgorICAgICAqIGJ1aWxkIGFuIEhUTUwgdHJlZSBmcm9tIGEgc3RyaW5nOworICAgICAqLworI2lmZGVmIExJQlhNTF9QVVNIX0VOQUJMRUQKKyAgICBpZiAocHVzaCkgeworCUZJTEUgKmY7CisKKyNpZiBkZWZpbmVkKF9XSU4zMikgfHwgZGVmaW5lZCAoX19ESkdQUF9fKSAmJiAhZGVmaW5lZCAoX19DWUdXSU5fXykKKwlmID0gZm9wZW4oZmlsZW5hbWUsICJyYiIpOworI2Vsc2UKKwlmID0gZm9wZW4oZmlsZW5hbWUsICJyIik7CisjZW5kaWYKKwlpZiAoZiAhPSBOVUxMKSB7CisJICAgIGludCByZXMsIHNpemUgPSAzOworCSAgICBjaGFyIGNoYXJzWzQwOTZdOworCSAgICBodG1sUGFyc2VyQ3R4dFB0ciBjdHh0OworCisJICAgIC8qIGlmIChyZXBlYXQpICovCisJCXNpemUgPSA0MDk2OworCSAgICByZXMgPSBmcmVhZChjaGFycywgMSwgNCwgZik7CisJICAgIGlmIChyZXMgPiAwKSB7CisJCWN0eHQgPSBodG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQoTlVMTCwgTlVMTCwKKwkJCSAgICBjaGFycywgcmVzLCBmaWxlbmFtZSwgWE1MX0NIQVJfRU5DT0RJTkdfTk9ORSk7CisJCXdoaWxlICgocmVzID0gZnJlYWQoY2hhcnMsIDEsIHNpemUsIGYpKSA+IDApIHsKKwkJICAgIGh0bWxQYXJzZUNodW5rKGN0eHQsIGNoYXJzLCByZXMsIDApOworCQl9CisJCWh0bWxQYXJzZUNodW5rKGN0eHQsIGNoYXJzLCAwLCAxKTsKKwkJZG9jID0gY3R4dC0+bXlEb2M7CisJCWh0bWxGcmVlUGFyc2VyQ3R4dChjdHh0KTsKKwkgICAgfQorCSAgICBmY2xvc2UoZik7CisJfQorICAgIH0gZWxzZSB7CisJZG9jID0gaHRtbFJlYWRGaWxlKGZpbGVuYW1lLCBOVUxMLCBvcHRpb25zKTsKKyAgICB9CisjZWxzZQorCWRvYyA9IGh0bWxSZWFkRmlsZShmaWxlbmFtZSxOVUxMLG9wdGlvbnMpOworI2VuZGlmCisgICAgaWYgKGRvYyA9PSBOVUxMKSB7CisgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkiQ291bGQgbm90IHBhcnNlICVzXG4iLCBmaWxlbmFtZSk7CisgICAgfQorCisjaWZkZWYgTElCWE1MX1RSRUVfRU5BQkxFRAorICAgIC8qCisgICAgICogdGVzdCBpbnRlcm1lZGlhdGUgY29weSBpZiBuZWVkZWQuCisgICAgICovCisgICAgaWYgKGNvcHkpIHsKKyAgICAgICAgaHRtbERvY1B0ciB0bXA7CisKKyAgICAgICAgdG1wID0gZG9jOworCWRvYyA9IHhtbENvcHlEb2MoZG9jLCAxKTsKKwl4bWxGcmVlRG9jKHRtcCk7CisgICAgfQorI2VuZGlmCisKKyNpZmRlZiBMSUJYTUxfT1VUUFVUX0VOQUJMRUQKKyAgICAvKgorICAgICAqIHByaW50IGl0LgorICAgICAqLworICAgIGlmICghbm9vdXQpIHsKKyNpZmRlZiBMSUJYTUxfREVCVUdfRU5BQkxFRAorCWlmICghZGVidWcpIHsKKwkgICAgaWYgKGVuY29kaW5nKQorCQlodG1sU2F2ZUZpbGVFbmMoIi0iLCBkb2MsIGVuY29kaW5nKTsKKwkgICAgZWxzZQorCQlodG1sRG9jRHVtcChzdGRvdXQsIGRvYyk7CisJfSBlbHNlCisJICAgIHhtbERlYnVnRHVtcERvY3VtZW50KHN0ZG91dCwgZG9jKTsKKyNlbHNlCisJaWYgKGVuY29kaW5nKQorCSAgICBodG1sU2F2ZUZpbGVFbmMoIi0iLCBkb2MsIGVuY29kaW5nKTsKKwllbHNlCisJICAgIGh0bWxEb2NEdW1wKHN0ZG91dCwgZG9jKTsKKyNlbmRpZgorICAgIH0KKyNlbmRpZiAvKiBMSUJYTUxfT1VUUFVUX0VOQUJMRUQgKi8KKworICAgIC8qCisgICAgICogZnJlZSBpdC4KKyAgICAgKi8KKyAgICB4bWxGcmVlRG9jKGRvYyk7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgeworICAgIGludCBpLCBjb3VudDsKKyAgICBpbnQgZmlsZXMgPSAwOworCisgICAgZm9yIChpID0gMTsgaSA8IGFyZ2MgOyBpKyspIHsKKyNpZmRlZiBMSUJYTUxfREVCVUdfRU5BQkxFRAorCWlmICgoIXN0cmNtcChhcmd2W2ldLCAiLWRlYnVnIikpIHx8ICghc3RyY21wKGFyZ3ZbaV0sICItLWRlYnVnIikpKQorCSAgICBkZWJ1ZysrOworCWVsc2UKKyNlbmRpZgorCSAgICBpZiAoKCFzdHJjbXAoYXJndltpXSwgIi1jb3B5IikpIHx8ICghc3RyY21wKGFyZ3ZbaV0sICItLWNvcHkiKSkpCisJICAgIGNvcHkrKzsKKyNpZmRlZiBMSUJYTUxfUFVTSF9FTkFCTEVECisJZWxzZSBpZiAoKCFzdHJjbXAoYXJndltpXSwgIi1wdXNoIikpIHx8ICghc3RyY21wKGFyZ3ZbaV0sICItLXB1c2giKSkpCisJICAgIHB1c2grKzsKKyNlbmRpZiAvKiBMSUJYTUxfUFVTSF9FTkFCTEVEICovCisJZWxzZSBpZiAoKCFzdHJjbXAoYXJndltpXSwgIi1zYXgiKSkgfHwgKCFzdHJjbXAoYXJndltpXSwgIi0tc2F4IikpKQorCSAgICBzYXgrKzsKKwllbHNlIGlmICgoIXN0cmNtcChhcmd2W2ldLCAiLW5vb3V0IikpIHx8ICghc3RyY21wKGFyZ3ZbaV0sICItLW5vb3V0IikpKQorCSAgICBub291dCsrOworCWVsc2UgaWYgKCghc3RyY21wKGFyZ3ZbaV0sICItcmVwZWF0IikpIHx8CisJICAgICAgICAgKCFzdHJjbXAoYXJndltpXSwgIi0tcmVwZWF0IikpKQorCSAgICByZXBlYXQrKzsKKwllbHNlIGlmICgoIXN0cmNtcChhcmd2W2ldLCAiLWVuY29kZSIpKSB8fAorCSAgICAgICAgICghc3RyY21wKGFyZ3ZbaV0sICItLWVuY29kZSIpKSkgeworCSAgICBpKys7CisJICAgIGVuY29kaW5nID0gYXJndltpXTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmb3IgKGkgPSAxOyBpIDwgYXJnYyA7IGkrKykgeworCWlmICgoIXN0cmNtcChhcmd2W2ldLCAiLWVuY29kZSIpKSB8fAorCSAgICAgICAgICghc3RyY21wKGFyZ3ZbaV0sICItLWVuY29kZSIpKSkgeworCSAgICBpKys7CisJICAgIGNvbnRpbnVlOworICAgICAgICB9CisJaWYgKGFyZ3ZbaV1bMF0gIT0gJy0nKSB7CisJICAgIGlmIChyZXBlYXQpIHsKKwkJZm9yIChjb3VudCA9IDA7Y291bnQgPCAxMDAgKiByZXBlYXQ7Y291bnQrKykgeworCQkgICAgaWYgKHNheCkKKwkJCXBhcnNlU0FYRmlsZShhcmd2W2ldKTsKKwkJICAgIGVsc2UKKwkJCXBhcnNlQW5kUHJpbnRGaWxlKGFyZ3ZbaV0pOworCQl9CisJICAgIH0gZWxzZSB7CisJCWlmIChzYXgpCisJCSAgICBwYXJzZVNBWEZpbGUoYXJndltpXSk7CisJCWVsc2UKKwkJICAgIHBhcnNlQW5kUHJpbnRGaWxlKGFyZ3ZbaV0pOworCSAgICB9CisJICAgIGZpbGVzICsrOworCX0KKyAgICB9CisgICAgaWYgKGZpbGVzID09IDApIHsKKwlwcmludGYoIlVzYWdlIDogJXMgWy0tZGVidWddIFstLWNvcHldIFstLWNvcHldIEhUTUxmaWxlcyAuLi5cbiIsCisJICAgICAgIGFyZ3ZbMF0pOworCXByaW50ZigiXHRQYXJzZSB0aGUgSFRNTCBmaWxlcyBhbmQgb3V0cHV0IHRoZSByZXN1bHQgb2YgdGhlIHBhcnNpbmdcbiIpOworI2lmZGVmIExJQlhNTF9ERUJVR19FTkFCTEVECisJcHJpbnRmKCJcdC0tZGVidWcgOiBkdW1wIGEgZGVidWcgdHJlZSBvZiB0aGUgaW4tbWVtb3J5IGRvY3VtZW50XG4iKTsKKyNlbmRpZgorCXByaW50ZigiXHQtLWNvcHkgOiB1c2VkIHRvIHRlc3QgdGhlIGludGVybmFsIGNvcHkgaW1wbGVtZW50YXRpb25cbiIpOworCXByaW50ZigiXHQtLXNheCA6IGRlYnVnIHRoZSBzZXF1ZW5jZSBvZiBTQVggY2FsbGJhY2tzXG4iKTsKKwlwcmludGYoIlx0LS1yZXBlYXQgOiBwYXJzZSB0aGUgZmlsZSAxMDAgdGltZXMsIGZvciB0aW1pbmdcbiIpOworCXByaW50ZigiXHQtLW5vb3V0IDogZG8gbm90IHByaW50IHRoZSByZXN1bHRcbiIpOworI2lmZGVmIExJQlhNTF9QVVNIX0VOQUJMRUQKKwlwcmludGYoIlx0LS1wdXNoIDogdXNlIHRoZSBwdXNoIG1vZGUgcGFyc2VyXG4iKTsKKyNlbmRpZiAvKiBMSUJYTUxfUFVTSF9FTkFCTEVEICovCisJcHJpbnRmKCJcdC0tZW5jb2RlIGVuY29kaW5nIDogb3V0cHV0IGluIHRoZSBnaXZlbiBlbmNvZGluZ1xuIik7CisgICAgfQorICAgIHhtbENsZWFudXBQYXJzZXIoKTsKKyAgICB4bWxNZW1vcnlEdW1wKCk7CisKKyAgICByZXR1cm4oMCk7Cit9CisjZWxzZSAvKiAhTElCWE1MX0hUTUxfRU5BQkxFRCAqLworI2luY2x1ZGUgPHN0ZGlvLmg+CitpbnQgbWFpbihpbnQgYXJnYyBBVFRSSUJVVEVfVU5VU0VELCBjaGFyICoqYXJndiBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgcHJpbnRmKCIlcyA6IEhUTUwgc3VwcG9ydCBub3QgY29tcGlsZWQgaW5cbiIsIGFyZ3ZbMF0pOworICAgIHJldHVybigwKTsKK30KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0TW9kdWxlLmMgYi9saWJ4bWwyL3Rlc3RNb2R1bGUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMzk5ZjVjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0TW9kdWxlLmMKQEAgLTAsMCArMSw4MiBAQAorLyoKKyAqIHRlc3RNb2R1bGUuYyA6IGEgc21hbGwgdGVzdGVyIHByb2dyYW0gZm9yIHhtbE1vZHVsZQorICoKKyAqIFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyAqCisgKiBqb2Vsd3JlZWRAY29tY2FzdC5uZXQKKyAqLworCisjaW5jbHVkZSAibGlieG1sLmgiCisjaWZkZWYgTElCWE1MX01PRFVMRVNfRU5BQkxFRAorI2luY2x1ZGUgPGxpYnhtbC94bWx2ZXJzaW9uLmg+CisKKyNpbmNsdWRlIDxsaW1pdHMuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN0ZGFyZy5oPgorCisjaW5jbHVkZSA8bGlieG1sL3htbG1lbW9yeS5oPgorI2luY2x1ZGUgPGxpYnhtbC9kZWJ1Z1hNTC5oPgorI2luY2x1ZGUgPGxpYnhtbC94bWxtb2R1bGUuaD4KKworI2lmZGVmIF9XSU4zMgorI2RlZmluZSBNT0RVTEVfUEFUSCAiLiIKKyNpbmNsdWRlIDxzdGRsaWIuaD4gLyogZm9yIF9NQVhfUEFUSCAqLworI2lmbmRlZiBfX01JTkdXMzJfXworI2RlZmluZSBQQVRIX01BWCBfTUFYX1BBVEgKKyNlbmRpZgorI2Vsc2UKKyNkZWZpbmUgTU9EVUxFX1BBVEggIi5saWJzIgorI2VuZGlmCisKKy8qIFVzZWQgZm9yIFNDTyBPcGVuc2VydmVyKi8KKyNpZm5kZWYgUEFUSF9NQVgKKyNpZmRlZiBfUE9TSVhfUEFUSF9NQVgKKyNkZWZpbmUgUEFUSF9NQVggX1BPU0lYX1BBVEhfTUFYCisjZWxzZQorI2RlZmluZSBQQVRIX01BWCA0MDk2CisjZW5kaWYKKyNlbmRpZgorCit0eXBlZGVmIGludCAoKmhlbGxvX3dvcmxkX3QpKHZvaWQpOworCitpbnQgbWFpbihpbnQgYXJnYyBBVFRSSUJVVEVfVU5VU0VELCBjaGFyICoqYXJndiBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgeG1sQ2hhciBmaWxlbmFtZVtQQVRIX01BWF07CisgICAgeG1sTW9kdWxlUHRyIG1vZHVsZSA9IE5VTEw7CisgICAgaGVsbG9fd29ybGRfdCBoZWxsb193b3JsZCA9IE5VTEw7CisKKyAgICAvKiBidWlsZCB0aGUgbW9kdWxlIGZpbGVuYW1lLCBhbmQgY29uZmlybSB0aGUgbW9kdWxlIGV4aXN0cyAqLworICAgIHhtbFN0clByaW50ZihmaWxlbmFtZSwgc2l6ZW9mKGZpbGVuYW1lKSwKKyAgICAgICAgICAgICAgICAgKGNvbnN0IHhtbENoYXIqKSAiJXMvdGVzdGRzbyVzIiwKKyAgICAgICAgICAgICAgICAgKGNvbnN0IHhtbENoYXIqKU1PRFVMRV9QQVRILAorCQkgKGNvbnN0IHhtbENoYXIqKUxJQlhNTF9NT0RVTEVfRVhURU5TSU9OKTsKKworICAgIG1vZHVsZSA9IHhtbE1vZHVsZU9wZW4oKGNvbnN0IGNoYXIqKWZpbGVuYW1lLCAwKTsKKyAgICBpZiAobW9kdWxlKQorICAgICAgeworICAgICAgICBpZiAoeG1sTW9kdWxlU3ltYm9sKG1vZHVsZSwgImhlbGxvX3dvcmxkIiwgKHZvaWQgKiopICZoZWxsb193b3JsZCkpIHsKKwkgICAgZnByaW50ZihzdGRlcnIsICJGYWlsdXJlIHRvIGxvb2t1cFxuIik7CisJICAgIHJldHVybigxKTsKKwl9CisJaWYgKGhlbGxvX3dvcmxkID09IE5VTEwpIHsKKwkgICAgZnByaW50ZihzdGRlcnIsICJMb29rdXAgcmV0dXJuZWQgTlVMTFxuIik7CisJICAgIHJldHVybigxKTsKKwl9CisKKyAgICAgICAgKCpoZWxsb193b3JsZCkoKTsKKworICAgICAgICB4bWxNb2R1bGVDbG9zZShtb2R1bGUpOworICAgICAgfQorCisgICAgeG1sTWVtb3J5RHVtcCgpOworCisgICAgcmV0dXJuKDApOworfQorCisjZWxzZQorI2luY2x1ZGUgPHN0ZGlvLmg+CitpbnQgbWFpbihpbnQgYXJnYyBBVFRSSUJVVEVfVU5VU0VELCBjaGFyICoqYXJndiBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgcHJpbnRmKCIlcyA6IE1vZHVsZSBzdXBwb3J0IG5vdCBjb21waWxlZCBpblxuIiwgYXJndlswXSk7CisgICAgcmV0dXJuKDApOworfQorI2VuZGlmIC8qIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQgKi8KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdE9PTS5jIGIvbGlieG1sMi90ZXN0T09NLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWZmMTNmMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdE9PTS5jCkBAIC0wLDAgKzEsMzc3IEBACisvKgorICogdGVzdE9PTS5jOiBUZXN0IG91dC1vZi1tZW1vcnkgaGFuZGxpbmcKKyAqCisgKiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisgKgorICogaHBAcmVkaGF0LmNvbQorICovCisKKyNpbmNsdWRlICJsaWJ4bWwuaCIKKworI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN0ZGFyZy5oPgorCisjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9VTklTVERfSAorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9TVERMSUJfSAorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9TVFJJTkdfSAorI2luY2x1ZGUgPHN0cmluZy5oPgorI2VuZGlmCisKKyNpbmNsdWRlIDxsaWJ4bWwveG1scmVhZGVyLmg+CisKKyNpbmNsdWRlICJ0ZXN0T09NbGliLmgiCisKKyNpZm5kZWYgVFJVRQorI2RlZmluZSBUUlVFICgxKQorI2VuZGlmCisjaWZuZGVmIEZBTFNFCisjZGVmaW5lIEZBTFNFICgwKQorI2VuZGlmCisKKyNkZWZpbmUgRVhJVF9PT00gMgorCitpbnQgZXJyb3IgPSBGQUxTRTsKK2ludCBlcnJjb3VudCA9IDA7CitpbnQgbm9lbnQgPSAwOworaW50IGNvdW50ID0gMDsKK2ludCB2YWxpZCA9IDA7CitpbnQgc2hvd0VycnMgPSAwOworCisvKgorICogU2luY2Ugd2UgYXJlIHVzaW5nIHRoZSB4bWxUZXh0UmVhZGVyIGZ1bmN0aW9ucywgd2Ugc2V0IHVwCisgKiBzdHJpbmdzIGZvciB0aGUgZWxlbWVudCB0eXBlcyB0byBoZWxwIGluIGRlYnVnZ2luZyBhbnkgZXJyb3IKKyAqIG91dHB1dAorICovCitjb25zdCBjaGFyICplbGVtZW50TmFtZXNbXSA9IHsKKyAgICAiWE1MX1JFQURFUl9UWVBFX05PTkUiLAorICAgICJYTUxfUkVBREVSX1RZUEVfRUxFTUVOVCIsCisgICAgIlhNTF9SRUFERVJfVFlQRV9BVFRSSUJVVEUiLAorICAgICJYTUxfUkVBREVSX1RZUEVfVEVYVCIsCisgICAgIlhNTF9SRUFERVJfVFlQRV9DREFUQSIsCisgICAgIlhNTF9SRUFERVJfVFlQRV9FTlRJVFlfUkVGRVJFTkNFIiwKKyAgICAiWE1MX1JFQURFUl9UWVBFX0VOVElUWSIsCisgICAgIlhNTF9SRUFERVJfVFlQRV9QUk9DRVNTSU5HX0lOU1RSVUNUSU9OIiwKKyAgICAiWE1MX1JFQURFUl9UWVBFX0NPTU1FTlQiLAorICAgICJYTUxfUkVBREVSX1RZUEVfRE9DVU1FTlQiLAorICAgICJYTUxfUkVBREVSX1RZUEVfRE9DVU1FTlRfVFlQRSIsCisgICAgIlhNTF9SRUFERVJfVFlQRV9ET0NVTUVOVF9GUkFHTUVOVCIsCisgICAgIlhNTF9SRUFERVJfVFlQRV9OT1RBVElPTiIsCisgICAgIlhNTF9SRUFERVJfVFlQRV9XSElURVNQQUNFIiwKKyAgICAiWE1MX1JFQURFUl9UWVBFX1NJR05JRklDQU5UX1dISVRFU1BBQ0UiLAorICAgICJYTUxfUkVBREVSX1RZUEVfRU5EX0VMRU1FTlQiLAorICAgICJYTUxfUkVBREVSX1RZUEVfRU5EX0VOVElUWSIsCisgICAgIlhNTF9SRUFERVJfVFlQRV9YTUxfREVDTEFSQVRJT04ifTsKKworLyogbm90IHVzaW5nIHhtbEJ1ZmYgaGVyZSBiZWNhdXNlIEkgZG9uJ3Qgd2FudCB0aG9zZQorICogbWFsbG9jcyB0byBpbnRlcmZlcmUgKi8KK3N0cnVjdCBidWZmZXIgeworICAgIGNoYXIgKnN0cjsKKyAgICBzaXplX3QgbGVuOworICAgIHNpemVfdCBtYXg7Cit9OworCitzdGF0aWMgc3RydWN0IGJ1ZmZlciAqYnVmZmVyX2NyZWF0ZSAoc2l6ZV90IGluaXRfbGVuKQoreworICAgIHN0cnVjdCBidWZmZXIgKmI7CisgICAgYiA9IG1hbGxvYyAoc2l6ZW9mICpiKTsKKyAgICBpZiAoYiA9PSBOVUxMKQorCWV4aXQgKEVYSVRfT09NKTsKKyAgICBpZiAoaW5pdF9sZW4pIHsKKwliLT5zdHIgPSBtYWxsb2MgKGluaXRfbGVuKTsKKwlpZiAoYi0+c3RyID09IE5VTEwpCisJICAgIGV4aXQgKEVYSVRfT09NKTsKKyAgICB9CisgICAgZWxzZQorCWItPnN0ciA9IE5VTEw7CisgICAgYi0+bGVuID0gMDsKKyAgICBiLT5tYXggPSBpbml0X2xlbjsKKyAgICByZXR1cm4gYjsKK30KKworc3RhdGljIHZvaWQgYnVmZmVyX2ZyZWUgKHN0cnVjdCBidWZmZXIgKmIpCit7CisgICAgZnJlZSAoYi0+c3RyKTsKKyAgICBmcmVlIChiKTsKK30KKworc3RhdGljIHNpemVfdCBidWZmZXJfZ2V0X2xlbmd0aCAoc3RydWN0IGJ1ZmZlciAqYikKK3sKKyAgICByZXR1cm4gYi0+bGVuOworfQorCitzdGF0aWMgdm9pZCBidWZmZXJfZXhwYW5kIChzdHJ1Y3QgYnVmZmVyICpiLCBzaXplX3QgbWluKQoreworICAgIHZvaWQgKm5ld19zdHI7CisgICAgc2l6ZV90IG5ld19zaXplID0gYi0+bWF4ID8gYi0+bWF4IDogNTEyOworICAgIHdoaWxlIChuZXdfc2l6ZSA8IGItPmxlbiArIG1pbikKKwluZXdfc2l6ZSAqPSAyOworICAgIGlmIChuZXdfc2l6ZSA+IGItPm1heCkgeworCW5ld19zdHIgPSByZWFsbG9jIChiLT5zdHIsIG5ld19zaXplKTsKKwlpZiAobmV3X3N0ciA9PSBOVUxMKQorCSAgICBleGl0IChFWElUX09PTSk7CisJYi0+c3RyID0gbmV3X3N0cjsKKwliLT5tYXggPSBuZXdfc2l6ZTsKKyAgICB9Cit9CisKK3N0YXRpYyB2b2lkIGJ1ZmZlcl9hZGRfY2hhciAoc3RydWN0IGJ1ZmZlciAqYiwgY2hhciBjKQoreworICAgIGJ1ZmZlcl9leHBhbmQgKGIsIDEpOworICAgIGItPnN0cltiLT5sZW5dID0gYzsKKyAgICBiLT5sZW4gKz0gMTsKK30KKworc3RhdGljIHZvaWQgYnVmZmVyX2FkZF9zdHJpbmcgKHN0cnVjdCBidWZmZXIgKmIsIGNvbnN0IGNoYXIgKnMpCit7CisgICAgc2l6ZV90IHNpemUgPSBzdHJsZW4ocykgKyAxOworICAgIHVuc2lnbmVkIGludCBpeDsKKyAgICBmb3IgKGl4PTA7IGl4PHNpemUtMTsgaXgrKykgeworICAgICAgICBpZiAoc1tpeF0gPCAweDIwKQorCSAgICBwcmludGYgKCJiaW5hcnkgZGF0YSBbMHglMDJ4XT9cbiIsICh1bnNpZ25lZCBjaGFyKXNbaXhdKTsKKyAgICB9CisgICAgYnVmZmVyX2V4cGFuZCAoYiwgc2l6ZSk7CisgICAgc3RyY3B5IChiLT5zdHIgKyBiLT5sZW4sIHMpOworICAgIGItPnN0cltiLT5sZW4rc2l6ZS0xXSA9ICdcbic7CS8qIHJlcGxhY2Ugc3RyaW5nIHRlcm0gd2l0aCBuZXdsaW5lICovCisgICAgYi0+bGVuICs9IHNpemU7Cit9CisKK3N0YXRpYyBpbnQgYnVmZmVyX2VxdWFsIChzdHJ1Y3QgYnVmZmVyICpiMSwgc3RydWN0IGJ1ZmZlciAqYjIpCit7CisgICAgcmV0dXJuIChiMS0+bGVuID09IGIyLT5sZW4gJiYKKwkgICAgKGIxLT5sZW4gPT0gMCB8fCAobWVtY21wIChiMS0+c3RyLCBiMi0+c3RyLCBiMS0+bGVuKSA9PSAwKSkpOworfQorCitzdGF0aWMgdm9pZCBidWZmZXJfZHVtcCAoc3RydWN0IGJ1ZmZlciAqYiwgY29uc3QgY2hhciAqZm5hbWUpCit7CisgICAgRklMRSAqZiA9IGZvcGVuIChmbmFtZSwgIndiIik7CisgICAgaWYgKGYgIT0gTlVMTCkgeworCWZ3cml0ZSAoYi0+c3RyLCAxLCBiLT5sZW4sIGYpOworCWZjbG9zZSAoZik7CisgICAgfQorfQorCisKK3N0YXRpYyB2b2lkIHVzYWdlKGNvbnN0IGNoYXIgKnByb2duYW1lKSB7CisgICAgcHJpbnRmKCJVc2FnZSA6ICVzIFtvcHRpb25zXSBYTUxmaWxlcyAuLi5cbiIsIHByb2duYW1lKTsKKyAgICBwcmludGYoIlx0UGFyc2UgdGhlIFhNTCBmaWxlcyB1c2luZyB0aGUgeG1sVGV4dFJlYWRlciBBUElcbiIpOworICAgIHByaW50ZigiXHQgLS1jb3VudDogY291bnQgdGhlIG51bWJlciBvZiBhdHRyaWJ1dGUgYW5kIGVsZW1lbnRzXG4iKTsKKyAgICBwcmludGYoIlx0IC0tdmFsaWQ6IHZhbGlkYXRlIHRoZSBkb2N1bWVudFxuIik7CisgICAgcHJpbnRmKCJcdCAtLXNob3c6ICBkaXNwbGF5IHRoZSBlcnJvciBtZXNzYWdlcyBlbmNvdW50ZXJlZFxuIik7CisgICAgZXhpdCgxKTsKK30KK3N0YXRpYyB1bnNpZ25lZCBpbnQgZWxlbSwgYXR0cnMsIGNoYXJzOworCitzdGF0aWMgaW50IHByb2Nlc3NOb2RlICh4bWxUZXh0UmVhZGVyUHRyIHJlYWRlciwgdm9pZCAqZGF0YSkKK3sKKyAgICBzdHJ1Y3QgYnVmZmVyICpidWZmID0gZGF0YTsKKyAgICBpbnQgdHlwZTsKKworICAgIHR5cGUgPSB4bWxUZXh0UmVhZGVyTm9kZVR5cGUocmVhZGVyKTsKKyAgICBpZiAoY291bnQpIHsKKwlpZiAodHlwZSA9PSAxKSB7CisJICAgIGVsZW0rKzsKKwkgICAgYXR0cnMgKz0geG1sVGV4dFJlYWRlckF0dHJpYnV0ZUNvdW50KHJlYWRlcik7CisJfSBlbHNlIGlmICh0eXBlID09IDMpIHsKKwkgIGNvbnN0IHhtbENoYXIgKnR4dDsKKwkgIHR4dCA9IHhtbFRleHRSZWFkZXJDb25zdFZhbHVlKHJlYWRlcik7CisJICBpZiAodHh0ICE9IE5VTEwpCisJICAgIGNoYXJzICs9IHhtbFN0cmxlbiAodHh0KTsKKwkgIGVsc2UKKwkgICAgcmV0dXJuIEZBTFNFOworCX0KKyAgICB9CisKKyAgICBpZiAoYnVmZiAhPSBOVUxMKSB7CisJaW50IHJldDsKKwljb25zdCBjaGFyICpzOworCisJYnVmZmVyX2FkZF9zdHJpbmcgKGJ1ZmYsIGVsZW1lbnROYW1lc1t0eXBlXSk7CisKKwlpZiAodHlwZSA9PSAxKSB7CisJICAgIHMgPSAoY29uc3QgY2hhciAqKXhtbFRleHRSZWFkZXJDb25zdE5hbWUgKHJlYWRlcik7CisJICAgIGlmIChzID09IE5VTEwpIHJldHVybiBGQUxTRTsKKwkgICAgYnVmZmVyX2FkZF9zdHJpbmcgKGJ1ZmYsIHMpOworCSAgICB3aGlsZSAoKHJldCA9IHhtbFRleHRSZWFkZXJNb3ZlVG9OZXh0QXR0cmlidXRlIChyZWFkZXIpKSA9PSAxKSB7CisJCXMgPSAoY29uc3QgY2hhciAqKXhtbFRleHRSZWFkZXJDb25zdE5hbWUgKHJlYWRlcik7CisJCWlmIChzID09IE5VTEwpIHJldHVybiBGQUxTRTsKKwkJYnVmZmVyX2FkZF9zdHJpbmcgKGJ1ZmYsIHMpOworCQlidWZmZXJfYWRkX2NoYXIgKGJ1ZmYsICc9Jyk7CisJCXMgPSAoY29uc3QgY2hhciAqKXhtbFRleHRSZWFkZXJDb25zdFZhbHVlIChyZWFkZXIpOworCQlpZiAocyA9PSBOVUxMKSByZXR1cm4gRkFMU0U7CisJCWJ1ZmZlcl9hZGRfc3RyaW5nIChidWZmLCBzKTsKKwkgICAgfQorCSAgICBpZiAocmV0ID09IC0xKSByZXR1cm4gRkFMU0U7CisJfQorCWVsc2UgaWYgKHR5cGUgPT0gMykgeworCSAgICBzID0gKGNvbnN0IGNoYXIgKil4bWxUZXh0UmVhZGVyQ29uc3RWYWx1ZSAocmVhZGVyKTsKKwkgICAgaWYgKHMgPT0gTlVMTCkgcmV0dXJuIEZBTFNFOworCSAgICBidWZmZXJfYWRkX3N0cmluZyAoYnVmZiwgcyk7CisJfQorICAgIH0KKworICAgIHJldHVybiBUUlVFOworfQorCisKK3N0cnVjdCBmaWxlX3BhcmFtcyB7CisgICAgY29uc3QgY2hhciAqZmlsZW5hbWU7CisgICAgc3RydWN0IGJ1ZmZlciAqdmVyaWZfYnVmZjsKK307CisKK3N0YXRpYyB2b2lkCitlcnJvcl9mdW5jICh2b2lkICpkYXRhIEFUVFJJQlVURV9VTlVTRUQsIHhtbEVycm9yUHRyIGVycikKK3sKKworICAgIGVycmNvdW50Kys7CisgICAgaWYgKGVyci0+bGV2ZWwgPT0gWE1MX0VSUl9FUlJPUiB8fAorICAgICAgICBlcnItPmxldmVsID09IFhNTF9FUlJfRkFUQUwpCisgICAgICAgIGVycm9yID0gVFJVRTsKKyAgICBpZiAoc2hvd0VycnMpIHsKKyAgICAgICAgcHJpbnRmKCIlM2QgbGluZSAlZDogJXNcbiIsIGVycm9yLCBlcnItPmxpbmUsIGVyci0+bWVzc2FnZSk7CisgICAgfQorfQorCitzdGF0aWMgaW50CitjaGVja19sb2FkX2ZpbGVfbWVtb3J5X2Z1bmMgKHZvaWQgKmRhdGEpCit7CisgICAgIHN0cnVjdCBmaWxlX3BhcmFtcyAqcCA9IGRhdGE7CisgICAgIHN0cnVjdCBidWZmZXIgKmI7CisgICAgIHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyOworICAgICBpbnQgcmV0LCBzdGF0dXMsIGZpcnN0X3J1bjsKKworICAgICBpZiAoY291bnQpIHsKKyAgICAgICAgIGVsZW0gPSAwOworICAgICAgICAgYXR0cnMgPSAwOworICAgICAgICAgY2hhcnMgPSAwOworICAgICB9CisKKyAgICAgZmlyc3RfcnVuID0gcC0+dmVyaWZfYnVmZiA9PSBOVUxMOworICAgICBzdGF0dXMgPSBUUlVFOworICAgICBlcnJvciA9IEZBTFNFOworICAgICBpZiAoZmlyc3RfcnVuKQorCSBiID0gYnVmZmVyX2NyZWF0ZSAoMCk7CisgICAgIGVsc2UKKwkgYiA9IGJ1ZmZlcl9jcmVhdGUgKGJ1ZmZlcl9nZXRfbGVuZ3RoIChwLT52ZXJpZl9idWZmKSk7CisKKyAgICAgcmVhZGVyID0geG1sTmV3VGV4dFJlYWRlckZpbGVuYW1lIChwLT5maWxlbmFtZSk7CisgICAgIGlmIChyZWFkZXIgPT0gTlVMTCkKKyAgICAgICBnb3RvIG91dDsKKworICAgICB4bWxUZXh0UmVhZGVyU2V0U3RydWN0dXJlZEVycm9ySGFuZGxlciAocmVhZGVyLCBlcnJvcl9mdW5jLCBOVUxMKTsKKyAgICAgeG1sU2V0U3RydWN0dXJlZEVycm9yRnVuYyhOVUxMLCBlcnJvcl9mdW5jKTsKKworICAgICBpZiAodmFsaWQpIHsKKyAgICAgICBpZiAoeG1sVGV4dFJlYWRlclNldFBhcnNlclByb3AocmVhZGVyLCBYTUxfUEFSU0VSX1ZBTElEQVRFLCAxKSA9PSAtMSkKKwkgZ290byBvdXQ7CisgICAgIH0KKworICAgICAvKgorICAgICAgKiBQcm9jZXNzIGFsbCBub2RlcyBpbiBzZXF1ZW5jZQorICAgICAgKi8KKyAgICAgd2hpbGUgKChyZXQgPSB4bWxUZXh0UmVhZGVyUmVhZChyZWFkZXIpKSA9PSAxKSB7CisJIGlmICghcHJvY2Vzc05vZGUocmVhZGVyLCBiKSkKKwkgZ290byBvdXQ7CisgICAgIH0KKyAgICAgaWYgKHJldCA9PSAtMSkKKyAgICAgICBnb3RvIG91dDsKKworICAgICBpZiAoZXJyb3IpIHsKKwkgZnByaW50ZiAoc3Rkb3V0LCAiZXJyb3IgaGFuZGxlciB3YXMgY2FsbGVkIGJ1dCBwYXJzZSBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5IChsYXN0IGVycm9yICMlZClcbiIsIGVycmNvdW50KTsKKwkgcmV0dXJuIEZBTFNFOworICAgICB9CisKKyAgICAgLyoKKyAgICAgICogRG9uZSwgY2xlYW51cCBhbmQgc3RhdHVzCisgICAgICAqLworICAgICBpZiAoISBmaXJzdF9ydW4pIHsKKwkgc3RhdHVzID0gYnVmZmVyX2VxdWFsIChwLT52ZXJpZl9idWZmLCBiKTsKKwkgaWYgKCEgc3RhdHVzKSB7CisJICAgICBidWZmZXJfZHVtcCAocC0+dmVyaWZfYnVmZiwgIi5PT00udmVyaWZfYnVmZiIpOworCSAgICAgYnVmZmVyX2R1bXAgKGIsICIuT09NLmJ1ZmYiKTsKKwkgfQorICAgICB9CisKKyAgICAgaWYgKGNvdW50KQorICAgICAgIHsKKwkgICBmcHJpbnRmIChzdGRvdXQsICIjICVzOiAldSBlbGVtcywgJXUgYXR0cnMsICV1IGNoYXJzICVzXG4iLAorCQkgICAgcC0+ZmlsZW5hbWUsIGVsZW0sIGF0dHJzLCBjaGFycywKKwkJICAgIHN0YXR1cyA/ICJvayIgOiAid3JvbmciKTsKKyAgICAgICB9CisKKyBvdXQ6CisgICAgIGlmIChmaXJzdF9ydW4pCisJIHAtPnZlcmlmX2J1ZmYgPSBiOworICAgICBlbHNlCisJIGJ1ZmZlcl9mcmVlIChiKTsKKyAgICAgaWYgKHJlYWRlcikKKwkgeG1sRnJlZVRleHRSZWFkZXIgKHJlYWRlcik7CisgICAgIHJldHVybiBzdGF0dXM7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgeworICAgIGludCBpOworICAgIGludCBmaWxlcyA9IDA7CisKKyAgICBpZiAoYXJnYyA8PSAxKSB7CisJdXNhZ2UoYXJndlswXSk7CisJcmV0dXJuKDEpOworICAgIH0KKyAgICBMSUJYTUxfVEVTVF9WRVJTSU9OOworCisgICAgeG1sTWVtU2V0dXAgKHRlc3RfZnJlZSwKKyAgICAgICAgICAgICAgICAgdGVzdF9tYWxsb2MsCisgICAgICAgICAgICAgICAgIHRlc3RfcmVhbGxvYywKKyAgICAgICAgICAgICAgICAgdGVzdF9zdHJkdXApOworCisgICAgeG1sSW5pdFBhcnNlcigpOworCisgICAgZm9yIChpID0gMTsgaSA8IGFyZ2MgOyBpKyspIHsKKyAgICAgICAgaWYgKCghc3RyY21wKGFyZ3ZbaV0sICItY291bnQiKSkgfHwgKCFzdHJjbXAoYXJndltpXSwgIi0tY291bnQiKSkpCisJICAgIGNvdW50Kys7CisJZWxzZSBpZiAoKCFzdHJjbXAoYXJndltpXSwgIi12YWxpZCIpKSB8fCAoIXN0cmNtcChhcmd2W2ldLCAiLS12YWxpZCIpKSkKKwkgICAgdmFsaWQrKzsKKwllbHNlIGlmICgoIXN0cmNtcChhcmd2W2ldLCAiLW5vZW50IikpIHx8CisJICAgICAgICAgKCFzdHJjbXAoYXJndltpXSwgIi0tbm9lbnQiKSkpCisJICAgIG5vZW50Kys7CisJZWxzZSBpZiAoKCFzdHJjbXAoYXJndltpXSwgIi1zaG93IikpIHx8CisJCSAoIXN0cmNtcChhcmd2W2ldLCAiLS1zaG93IikpKQorCSAgICBzaG93RXJycysrOworICAgIH0KKyAgICBpZiAobm9lbnQgIT0gMCkKKyAgICAgIHhtbFN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHQoMSk7CisgICAgZm9yIChpID0gMTsgaSA8IGFyZ2MgOyBpKyspIHsKKwlpZiAoYXJndltpXVswXSAhPSAnLScpIHsKKyAgICAgICAgICAgICBzdHJ1Y3QgZmlsZV9wYXJhbXMgcDsKKwkgICAgIHAuZmlsZW5hbWUgPSBhcmd2W2ldOworCSAgICAgcC52ZXJpZl9idWZmID0gTlVMTDsKKworICAgICAgICAgICAgIGlmICghdGVzdF9vb21faGFuZGxpbmcgKGNoZWNrX2xvYWRfZmlsZV9tZW1vcnlfZnVuYywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcCkpIHsKKyAgICAgICAgICAgICAgICAgIGZwcmludGYgKHN0ZG91dCwgIkZhaWxlZCFcbiIpOworICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7CisgICAgICAgICAgICAgfQorCisJICAgICBidWZmZXJfZnJlZSAocC52ZXJpZl9idWZmKTsKKyAgICAgICAgICAgICB4bWxDbGVhbnVwUGFyc2VyKCk7CisKKyAgICAgICAgICAgICBpZiAodGVzdF9nZXRfbWFsbG9jX2Jsb2Nrc19vdXRzdGFuZGluZyAoKSA+IDApIHsKKyAgICAgICAgICAgICAgICAgIGZwcmludGYgKHN0ZG91dCwgIiVkIGJsb2NrcyBsZWFrZWRcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X2dldF9tYWxsb2NfYmxvY2tzX291dHN0YW5kaW5nICgpKTsKKwkJICB4bWxNZW1vcnlEdW1wKCk7CisgICAgICAgICAgICAgICAgICByZXR1cm4gMTsKKyAgICAgICAgICAgICB9CisKKwkgICAgZmlsZXMgKys7CisJfQorICAgIH0KKyAgICB4bWxNZW1vcnlEdW1wKCk7CisKKyAgICByZXR1cm4gMDsKK30KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdE9PTWxpYi5jIGIvbGlieG1sMi90ZXN0T09NbGliLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzRjNGFhMAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdE9PTWxpYi5jCkBAIC0wLDAgKzEsMjY5IEBACisvKgorICogdGVzdE9PTS5jOiBUZXN0IG91dC1vZi1tZW1vcnkgaGFuZGxpbmcKKyAqCisgKiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisgKgorICogQ29weXJpZ2h0IDIwMDMgUmVkIEhhdCwgSW5jLgorICogV3JpdHRlbiBieTogaHBAcmVkaGF0LmNvbQorICovCisKKyNpbmNsdWRlICJ0ZXN0T09NbGliLmgiCisKKyNpZmRlZiBIQVZFX1NURExJQl9ICisjaW5jbHVkZSA8c3RkbGliLmg+CisjZW5kaWYKKworI2luY2x1ZGUgPHN0cmluZy5oPgorCisjZGVmaW5lIF9URVNUX0lOVF9NQVggMjE0NzQ4MzY0NworI2lmbmRlZiBUUlVFCisjZGVmaW5lIFRSVUUgKDEpCisjZW5kaWYKKyNpZm5kZWYgRkFMU0UKKyNkZWZpbmUgRkFMU0UgKDApCisjZW5kaWYKKyNpZm5kZWYgTlVMTAorI2RlZmluZSBOVUxMICgodm9pZCopMCkKKyNlbmRpZgorCisjaW5jbHVkZSA8bGlieG1sL3htbG1lbW9yeS5oPgorCitzdGF0aWMgaW50IGZhaWxfYWxsb2NfY291bnRlciA9IF9URVNUX0lOVF9NQVg7CitzdGF0aWMgaW50IG5fZmFpbHVyZXNfcGVyX2ZhaWx1cmUgPSAxOworc3RhdGljIGludCBuX2ZhaWx1cmVzX3RoaXNfZmFpbHVyZSA9IDA7CitzdGF0aWMgaW50IG5fYmxvY2tzX291dHN0YW5kaW5nID0gMDsKKworLyoqCisgKiBzZXRfZmFpbF9hbGxvY19jb3VudGVyOgorICogQHVudGlsX25leHRfZmFpbDogbnVtYmVyIG9mIHN1Y2Nlc3NmdWwgYWxsb2NzIGJlZm9yZSBvbmUgZmFpbHMKKyAqCisgKiBTZXRzIHRoZSBudW1iZXIgb2YgYWxsb2NhdGlvbnMgdW50aWwgd2Ugc2ltdWxhdGUgYSBmYWlsZWQKKyAqIGFsbG9jYXRpb24uIElmIHNldCB0byAwLCB0aGUgbmV4dCBhbGxvY2F0aW9uIHRvIHJ1bgorICogZmFpbHM7IGlmIHNldCB0byAxLCBvbmUgc3VjY2VlZHMgdGhlbiB0aGUgbmV4dCBmYWlsczsgZXRjLgorICogU2V0IHRvIF9URVNUX0lOVF9NQVggdG8gbm90IGZhaWwgYW55dGhpbmcuCisgKi8KK3N0YXRpYyB2b2lkCitzZXRfZmFpbF9hbGxvY19jb3VudGVyIChpbnQgdW50aWxfbmV4dF9mYWlsKQoreworICBmYWlsX2FsbG9jX2NvdW50ZXIgPSB1bnRpbF9uZXh0X2ZhaWw7Cit9CisKKy8qKgorICogZ2V0X2ZhaWxfYWxsb2NfY291bnRlcjoKKyAqCisgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2Ygc3VjY2Vzc2Z1bCBhbGxvY3MgdW50aWwgd2UnbGwgc2ltdWxhdGUKKyAqIGEgZmFpbGVkIGFsbG9jLgorICovCitzdGF0aWMgaW50CitnZXRfZmFpbF9hbGxvY19jb3VudGVyICh2b2lkKQoreworICByZXR1cm4gZmFpbF9hbGxvY19jb3VudGVyOworfQorCisvKioKKyAqIHNldF9mYWlsX2FsbG9jX2ZhaWx1cmVzOgorICogQGZhaWx1cmVzX3Blcl9mYWlsdXJlOiBudW1iZXIgdG8gZmFpbAorICoKKyAqIFNldHMgaG93IG1hbnkgbWFsbG9jcyB0byBmYWlsIHdoZW4gdGhlIGZhaWwgYWxsb2MgY291bnRlciByZWFjaGVzCisgKiAwLgorICoKKyAqLworc3RhdGljIHZvaWQKK3NldF9mYWlsX2FsbG9jX2ZhaWx1cmVzIChpbnQgZmFpbHVyZXNfcGVyX2ZhaWx1cmUpCit7CisgIG5fZmFpbHVyZXNfcGVyX2ZhaWx1cmUgPSBmYWlsdXJlc19wZXJfZmFpbHVyZTsKK30KKworLyoqCisgKiBkZWNyZW1lbnRfZmFpbF9hbGxvY19jb3VudGVyOgorICoKKyAqIENhbGxlZCB3aGVuIGFib3V0IHRvIGFsbG9jIHNvbWUgbWVtb3J5OyBpZgorICogaXQgcmV0dXJucyAjVFJVRSwgdGhlbiB0aGUgYWxsb2NhdGlvbiBzaG91bGQKKyAqIGZhaWwuIElmIGl0IHJldHVybnMgI0ZBTFNFLCB0aGVuIHRoZSBhbGxvY2F0aW9uCisgKiBzaG91bGQgbm90IGZhaWwuCisgKgorICogcmV0dXJucyAjVFJVRSBpZiB0aGlzIGFsbG9jIHNob3VsZCBmYWlsCisgKi8KK3N0YXRpYyBpbnQKK2RlY3JlbWVudF9mYWlsX2FsbG9jX2NvdW50ZXIgKHZvaWQpCit7CisgIGlmIChmYWlsX2FsbG9jX2NvdW50ZXIgPD0gMCkKKyAgICB7CisgICAgICBuX2ZhaWx1cmVzX3RoaXNfZmFpbHVyZSArPSAxOworICAgICAgaWYgKG5fZmFpbHVyZXNfdGhpc19mYWlsdXJlID49IG5fZmFpbHVyZXNfcGVyX2ZhaWx1cmUpCisgICAgICAgIHsKKyAgICAgICAgICBmYWlsX2FsbG9jX2NvdW50ZXIgPSBfVEVTVF9JTlRfTUFYOworCisgICAgICAgICAgbl9mYWlsdXJlc190aGlzX2ZhaWx1cmUgPSAwOworICAgICAgICB9CisKKyAgICAgIHJldHVybiBUUlVFOworICAgIH0KKyAgZWxzZQorICAgIHsKKyAgICAgIGZhaWxfYWxsb2NfY291bnRlciAtPSAxOworICAgICAgcmV0dXJuIEZBTFNFOworICAgIH0KK30KKworLyoqCisgKiB0ZXN0X2dldF9tYWxsb2NfYmxvY2tzX291dHN0YW5kaW5nOgorICoKKyAqIEdldCB0aGUgbnVtYmVyIG9mIG91dHN0YW5kaW5nIG1hbGxvYygpJ2QgYmxvY2tzLgorICoKKyAqIFJldHVybnMgbnVtYmVyIG9mIGJsb2NrcworICovCitpbnQKK3Rlc3RfZ2V0X21hbGxvY19ibG9ja3Nfb3V0c3RhbmRpbmcgKHZvaWQpCit7CisgIHJldHVybiBuX2Jsb2Nrc19vdXRzdGFuZGluZzsKK30KKwordm9pZCoKK3Rlc3RfbWFsbG9jIChzaXplX3QgYnl0ZXMpCit7CisgIGlmIChkZWNyZW1lbnRfZmFpbF9hbGxvY19jb3VudGVyICgpKQorICAgIHsKKyAgICAgIC8qIEZBSUwgdGhlIG1hbGxvYyAqLworICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCisgIGlmIChieXRlcyA9PSAwKSAvKiBzb21lIHN5c3RlbSBtYWxsb2NzIGhhbmRsZSB0aGlzLCBzb21lIGRvbid0ICovCisgICAgcmV0dXJuIE5VTEw7CisgIGVsc2UKKyAgICB7CisgICAgICB2b2lkICptZW07CisgICAgICBtZW0gPSB4bWxNZW1NYWxsb2MgKGJ5dGVzKTsKKworICAgICAgaWYgKG1lbSkKKyAgICAgICAgbl9ibG9ja3Nfb3V0c3RhbmRpbmcgKz0gMTsKKworICAgICAgcmV0dXJuIG1lbTsKKyAgICB9Cit9CisKK3ZvaWQqCit0ZXN0X3JlYWxsb2MgKHZvaWQgICptZW1vcnksCisgICAgICAgICAgICAgIHNpemVfdCBieXRlcykKK3sKKyAgaWYgKGRlY3JlbWVudF9mYWlsX2FsbG9jX2NvdW50ZXIgKCkpCisgICAgeworICAgICAgLyogRkFJTCAqLworICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCisgIGlmIChieXRlcyA9PSAwKSAvKiBndWFyYW50ZWUgdGhpcyBpcyBzYWZlICovCisgICAgeworICAgICAgdGVzdF9mcmVlIChtZW1vcnkpOworICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICBlbHNlCisgICAgeworICAgICAgdm9pZCAqbWVtOworICAgICAgbWVtID0geG1sTWVtUmVhbGxvYyAobWVtb3J5LCBieXRlcyk7CisKKyAgICAgIGlmIChtZW1vcnkgPT0gTlVMTCAmJiBtZW0gIT0gTlVMTCkKKyAgICAgICAgbl9ibG9ja3Nfb3V0c3RhbmRpbmcgKz0gMTsKKworICAgICAgcmV0dXJuIG1lbTsKKyAgICB9Cit9CisKK3ZvaWQKK3Rlc3RfZnJlZSAodm9pZCAgKm1lbW9yeSkKK3sKKyAgaWYgKG1lbW9yeSkgLyogd2UgZ3VhcmFudGVlIGl0J3Mgc2FmZSB0byBmcmVlIChOVUxMKSAqLworICAgIHsKKyAgICAgIG5fYmxvY2tzX291dHN0YW5kaW5nIC09IDE7CisKKyAgICAgIHhtbE1lbUZyZWUgKG1lbW9yeSk7CisgICAgfQorfQorCitjaGFyKgordGVzdF9zdHJkdXAgKGNvbnN0IGNoYXIgKnN0cikKK3sKKyAgaW50IGxlbjsKKyAgY2hhciAqY29weTsKKworICBpZiAoc3RyID09IE5VTEwpCisgICAgcmV0dXJuIE5VTEw7CisKKyAgbGVuID0gc3RybGVuIChzdHIpOworCisgIGNvcHkgPSB0ZXN0X21hbGxvYyAobGVuICsgMSk7CisgIGlmIChjb3B5ID09IE5VTEwpCisgICAgcmV0dXJuIE5VTEw7CisKKyAgbWVtY3B5IChjb3B5LCBzdHIsIGxlbiArIDEpOworCisgIHJldHVybiBjb3B5OworfQorCitzdGF0aWMgaW50CitydW5fZmFpbGluZ19lYWNoX21hbGxvYyAoaW50ICAgICAgICAgICAgICAgIG5fbWFsbG9jcywKKyAgICAgICAgICAgICAgICAgICAgICAgICBUZXN0TWVtb3J5RnVuY3Rpb24gZnVuYywKKyAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICAgICAgICAgICAgICAqZGF0YSkKK3sKKyAgbl9tYWxsb2NzICs9IDEwOyAvKiBmdWRnZSBmYWN0b3IgdG8gZW5zdXJlIHJlYWxsb2NzIGV0Yy4gYXJlIGNvdmVyZWQgKi8KKworICB3aGlsZSAobl9tYWxsb2NzID49IDApCisgICAgeworICAgICAgc2V0X2ZhaWxfYWxsb2NfY291bnRlciAobl9tYWxsb2NzKTsKKworICAgICAgaWYgKCEoKiBmdW5jKSAoZGF0YSkpCisgICAgICAgIHJldHVybiBGQUxTRTsKKworICAgICAgbl9tYWxsb2NzIC09IDE7CisgICAgfQorCisgIHNldF9mYWlsX2FsbG9jX2NvdW50ZXIgKF9URVNUX0lOVF9NQVgpOworCisgIHJldHVybiBUUlVFOworfQorCisvKioKKyAqIHRlc3Rfb29tX2hhbmRsaW5nOgorICogQGZ1bmM6IGZ1bmN0aW9uIHRvIGNhbGwKKyAqIEBkYXRhOiBkYXRhIHRvIHBhc3MgdG8gZnVuY3Rpb24KKyAqCisgKiBUZXN0cyBob3cgd2VsbCB0aGUgZ2l2ZW4gZnVuY3Rpb24gcmVzcG9uZHMgdG8gb3V0LW9mLW1lbW9yeQorICogc2l0dWF0aW9ucy4gQ2FsbHMgdGhlIGZ1bmN0aW9uIHJlcGVhdGVkbHksIGZhaWxpbmcgYSBkaWZmZXJlbnQKKyAqIGNhbGwgdG8gbWFsbG9jKCkgZWFjaCB0aW1lLiBJZiB0aGUgZnVuY3Rpb24gZXZlciByZXR1cm5zICNGQUxTRSwKKyAqIHRoZSB0ZXN0IGZhaWxzLiBUaGUgZnVuY3Rpb24gc2hvdWxkIHJldHVybiAjVFJVRSB3aGVuZXZlciBzb21ldGhpbmcKKyAqIHZhbGlkIChzdWNoIGFzIHJldHVybmluZyBhbiBlcnJvciwgb3Igc3VjY2VlZGluZykgb2NjdXJzLCBhbmQgI0ZBTFNFCisgKiBpZiBpdCBnZXRzIGNvbmZ1c2VkIGluIHNvbWUgd2F5LgorICoKKyAqIFJldHVybnMgI1RSVUUgaWYgdGhlIGZ1bmN0aW9uIG5ldmVyIHJldHVybnMgRkFMU0UKKyAqLworaW50Cit0ZXN0X29vbV9oYW5kbGluZyAoVGVzdE1lbW9yeUZ1bmN0aW9uICBmdW5jLAorICAgICAgICAgICAgICAgICAgIHZvaWQgICAgICAgICAgICAgICAqZGF0YSkKK3sKKyAgaW50IGFwcHJveF9tYWxsb2NzOworCisgIC8qIFJ1biBvbmNlIHRvIHNlZSBhYm91dCBob3cgbWFueSBtYWxsb2NzIGFyZSBpbnZvbHZlZCAqLworCisgIHNldF9mYWlsX2FsbG9jX2NvdW50ZXIgKF9URVNUX0lOVF9NQVgpOworCisgIGlmICghKCogZnVuYykgKGRhdGEpKQorICAgIHJldHVybiBGQUxTRTsKKworICBhcHByb3hfbWFsbG9jcyA9IF9URVNUX0lOVF9NQVggLSBnZXRfZmFpbF9hbGxvY19jb3VudGVyICgpOworCisgIHNldF9mYWlsX2FsbG9jX2ZhaWx1cmVzICgxKTsKKyAgaWYgKCFydW5fZmFpbGluZ19lYWNoX21hbGxvYyAoYXBwcm94X21hbGxvY3MsIGZ1bmMsIGRhdGEpKQorICAgIHJldHVybiBGQUxTRTsKKworICBzZXRfZmFpbF9hbGxvY19mYWlsdXJlcyAoMik7CisgIGlmICghcnVuX2ZhaWxpbmdfZWFjaF9tYWxsb2MgKGFwcHJveF9tYWxsb2NzLCBmdW5jLCBkYXRhKSkKKyAgICByZXR1cm4gRkFMU0U7CisKKyAgc2V0X2ZhaWxfYWxsb2NfZmFpbHVyZXMgKDMpOworICBpZiAoIXJ1bl9mYWlsaW5nX2VhY2hfbWFsbG9jIChhcHByb3hfbWFsbG9jcywgZnVuYywgZGF0YSkpCisgICAgcmV0dXJuIEZBTFNFOworCisgIHNldF9mYWlsX2FsbG9jX2NvdW50ZXIgKF9URVNUX0lOVF9NQVgpOworCisgIHJldHVybiBUUlVFOworfQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0T09NbGliLmggYi9saWJ4bWwyL3Rlc3RPT01saWIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NTE5OTlkCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0T09NbGliLmgKQEAgLTAsMCArMSwyNiBAQAorI2lmbmRlZiBURVNUX09PTV9MSUJfSAorI2RlZmluZSBURVNUX09PTV9MSUJfSAorCisjaW5jbHVkZSA8Y29uZmlnLmg+CisKKyNpZmRlZiBIQVZFX1NZU19UWVBFU19ICisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjZW5kaWYKKwordm9pZCogdGVzdF9tYWxsb2MgIChzaXplX3QgICAgICBieXRlcyk7Cit2b2lkKiB0ZXN0X3JlYWxsb2MgKHZvaWQgICAgICAgKm1lbW9yeSwKKyAgICAgICAgICAgICAgICAgICAgc2l6ZV90ICAgICAgYnl0ZXMpOwordm9pZCAgdGVzdF9mcmVlICAgICh2b2lkICAgICAgICptZW1vcnkpOworY2hhciogdGVzdF9zdHJkdXAgIChjb25zdCBjaGFyICpzdHIpOworCisvKiByZXR1cm5zIHRydWUgb24gc3VjY2VzcyAqLwordHlwZWRlZiBpbnQgKCogVGVzdE1lbW9yeUZ1bmN0aW9uKSAgKHZvaWQgKmRhdGEpOworCisvKiByZXR1cm5zIHRydWUgb24gc3VjY2VzcyAqLworaW50IHRlc3Rfb29tX2hhbmRsaW5nIChUZXN0TWVtb3J5RnVuY3Rpb24gIGZ1bmMsCisgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgICAgICAgICAgICAgICAqZGF0YSk7CisKKy8qIGdldCBudW1iZXIgb2YgYmxvY2tzIGxlYWtlZCAqLworaW50IHRlc3RfZ2V0X21hbGxvY19ibG9ja3Nfb3V0c3RhbmRpbmcgKHZvaWQpOworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdFJlYWRlci5jIGIvbGlieG1sMi90ZXN0UmVhZGVyLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGY4ZTI2ZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdFJlYWRlci5jCkBAIC0wLDAgKzEsMTQ1IEBACisvKgorICogdGVzdFNBWC5jIDogYSBzbWFsbCB0ZXN0ZXIgcHJvZ3JhbSBmb3IgcGFyc2luZyB1c2luZyB0aGUgU0FYIEFQSS4KKyAqCisgKiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisgKgorICogZGFuaWVsQHZlaWxsYXJkLmNvbQorICovCisKKyNpbmNsdWRlICJsaWJ4bWwuaCIKKworI2lmZGVmIExJQlhNTF9SRUFERVJfRU5BQkxFRAorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN0ZGFyZy5oPgorCisjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNlbmRpZgorI2lmZGVmIEhBVkVfRkNOVExfSAorI2luY2x1ZGUgPGZjbnRsLmg+CisjZW5kaWYKKyNpZmRlZiBIQVZFX1VOSVNURF9ICisjaW5jbHVkZSA8dW5pc3RkLmg+CisjZW5kaWYKKyNpZmRlZiBIQVZFX1NURExJQl9ICisjaW5jbHVkZSA8c3RkbGliLmg+CisjZW5kaWYKKyNpZmRlZiBIQVZFX1NUUklOR19ICisjaW5jbHVkZSA8c3RyaW5nLmg+CisjZW5kaWYKKworCisjaW5jbHVkZSA8bGlieG1sL3htbHJlYWRlci5oPgorCitzdGF0aWMgaW50IGRlYnVnID0gMDsKK3N0YXRpYyBpbnQgZHVtcCA9IDA7CitzdGF0aWMgaW50IG5vZW50ID0gMDsKK3N0YXRpYyBpbnQgY291bnQgPSAwOworc3RhdGljIGludCB2YWxpZCA9IDA7CitzdGF0aWMgaW50IGNvbnN1bWVkID0gMDsKKworc3RhdGljIHZvaWQgdXNhZ2UoY29uc3QgY2hhciAqcHJvZ25hbWUpIHsKKyAgICBwcmludGYoIlVzYWdlIDogJXMgW29wdGlvbnNdIFhNTGZpbGVzIC4uLlxuIiwgcHJvZ25hbWUpOworICAgIHByaW50ZigiXHRQYXJzZSB0aGUgWE1MIGZpbGVzIHVzaW5nIHRoZSB4bWxUZXh0UmVhZGVyIEFQSVxuIik7CisgICAgcHJpbnRmKCJcdCAtLWNvdW50OiBjb3VudCB0aGUgbnVtYmVyIG9mIGF0dHJpYnV0ZSBhbmQgZWxlbWVudHNcbiIpOworICAgIHByaW50ZigiXHQgLS12YWxpZDogdmFsaWRhdGUgdGhlIGRvY3VtZW50XG4iKTsKKyAgICBwcmludGYoIlx0IC0tY29uc3VtZWQ6IGNvdW50IHRoZSBudW1iZXIgb2YgYnl0ZXMgY29uc3VtZWRcbiIpOworICAgIGV4aXQoMSk7Cit9CitzdGF0aWMgaW50IGVsZW0sIGF0dHJzOworCitzdGF0aWMgdm9pZCBwcm9jZXNzTm9kZSh4bWxUZXh0UmVhZGVyUHRyIHJlYWRlcikgeworICAgIGludCB0eXBlOworCisgICAgdHlwZSA9IHhtbFRleHRSZWFkZXJOb2RlVHlwZShyZWFkZXIpOworICAgIGlmIChjb3VudCkgeworCWlmICh0eXBlID09IDEpIHsKKwkgICAgZWxlbSsrOworCSAgICBhdHRycyArPSB4bWxUZXh0UmVhZGVyQXR0cmlidXRlQ291bnQocmVhZGVyKTsKKwl9CisgICAgfQorfQorCitzdGF0aWMgdm9pZCBoYW5kbGVGaWxlKGNvbnN0IGNoYXIgKmZpbGVuYW1lKSB7CisgICAgeG1sVGV4dFJlYWRlclB0ciByZWFkZXI7CisgICAgaW50IHJldDsKKworICAgIGlmIChjb3VudCkgeworCWVsZW0gPSAwOworCWF0dHJzID0gMDsKKyAgICB9CisKKyAgICByZWFkZXIgPSB4bWxOZXdUZXh0UmVhZGVyRmlsZW5hbWUoZmlsZW5hbWUpOworICAgIGlmIChyZWFkZXIgIT0gTlVMTCkgeworCWlmICh2YWxpZCkKKwkgICAgeG1sVGV4dFJlYWRlclNldFBhcnNlclByb3AocmVhZGVyLCBYTUxfUEFSU0VSX1ZBTElEQVRFLCAxKTsKKworCS8qCisJICogUHJvY2VzcyBhbGwgbm9kZXMgaW4gc2VxdWVuY2UKKwkgKi8KKwlyZXQgPSB4bWxUZXh0UmVhZGVyUmVhZChyZWFkZXIpOworCXdoaWxlIChyZXQgPT0gMSkgeworCSAgICBwcm9jZXNzTm9kZShyZWFkZXIpOworCSAgICByZXQgPSB4bWxUZXh0UmVhZGVyUmVhZChyZWFkZXIpOworCX0KKworCS8qCisJICogRG9uZSwgY2xlYW51cCBhbmQgc3RhdHVzCisJICovCisJaWYgKGNvbnN1bWVkKQorCQlwcmludGYoIiVsZCBieXRlcyBjb25zdW1lZCBieSBwYXJzZXJcbiIsIHhtbFRleHRSZWFkZXJCeXRlQ29uc3VtZWQocmVhZGVyKSk7CisJeG1sRnJlZVRleHRSZWFkZXIocmVhZGVyKTsKKwlpZiAocmV0ICE9IDApIHsKKwkgICAgcHJpbnRmKCIlcyA6IGZhaWxlZCB0byBwYXJzZVxuIiwgZmlsZW5hbWUpOworCX0gZWxzZSBpZiAoY291bnQpCisJICAgIHByaW50ZigiJXMgOiAlZCBlbGVtZW50cywgJWQgYXR0cmlidXRlc1xuIiwgZmlsZW5hbWUsIGVsZW0sIGF0dHJzKTsKKyAgICB9IGVsc2UgeworCWZwcmludGYoc3RkZXJyLCAiVW5hYmxlIHRvIG9wZW4gJXNcbiIsIGZpbGVuYW1lKTsKKyAgICB9Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgeworICAgIGludCBpOworICAgIGludCBmaWxlcyA9IDA7CisKKyAgICBpZiAoYXJnYyA8PSAxKSB7CisJdXNhZ2UoYXJndlswXSk7CisJcmV0dXJuKDEpOworICAgIH0KKyAgICBMSUJYTUxfVEVTVF9WRVJTSU9OCisgICAgZm9yIChpID0gMTsgaSA8IGFyZ2MgOyBpKyspIHsKKwlpZiAoKCFzdHJjbXAoYXJndltpXSwgIi1kZWJ1ZyIpKSB8fCAoIXN0cmNtcChhcmd2W2ldLCAiLS1kZWJ1ZyIpKSkKKwkgICAgZGVidWcrKzsKKwllbHNlIGlmICgoIXN0cmNtcChhcmd2W2ldLCAiLWR1bXAiKSkgfHwgKCFzdHJjbXAoYXJndltpXSwgIi0tZHVtcCIpKSkKKwkgICAgZHVtcCsrOworCWVsc2UgaWYgKCghc3RyY21wKGFyZ3ZbaV0sICItY291bnQiKSkgfHwgKCFzdHJjbXAoYXJndltpXSwgIi0tY291bnQiKSkpCisJICAgIGNvdW50Kys7CisJZWxzZSBpZiAoKCFzdHJjbXAoYXJndltpXSwgIi1jb25zdW1lZCIpKSB8fCAoIXN0cmNtcChhcmd2W2ldLCAiLS1jb25zdW1lZCIpKSkKKwkgICAgY29uc3VtZWQrKzsKKwllbHNlIGlmICgoIXN0cmNtcChhcmd2W2ldLCAiLXZhbGlkIikpIHx8ICghc3RyY21wKGFyZ3ZbaV0sICItLXZhbGlkIikpKQorCSAgICB2YWxpZCsrOworCWVsc2UgaWYgKCghc3RyY21wKGFyZ3ZbaV0sICItbm9lbnQiKSkgfHwKKwkgICAgICAgICAoIXN0cmNtcChhcmd2W2ldLCAiLS1ub2VudCIpKSkKKwkgICAgbm9lbnQrKzsKKyAgICB9CisgICAgaWYgKG5vZW50ICE9IDApIHhtbFN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHQoMSk7CisgICAgZm9yIChpID0gMTsgaSA8IGFyZ2MgOyBpKyspIHsKKwlpZiAoYXJndltpXVswXSAhPSAnLScpIHsKKwkgICAgaGFuZGxlRmlsZShhcmd2W2ldKTsKKwkgICAgZmlsZXMgKys7CisJfQorICAgIH0KKyAgICB4bWxDbGVhbnVwUGFyc2VyKCk7CisgICAgeG1sTWVtb3J5RHVtcCgpOworCisgICAgcmV0dXJuKDApOworfQorI2Vsc2UKK2ludCBtYWluKGludCBhcmdjIEFUVFJJQlVURV9VTlVTRUQsIGNoYXIgKiphcmd2IEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICBwcmludGYoIiVzIDogeG1sUmVhZGVyIHBhcnNlciBzdXBwb3J0IG5vdCBjb21waWxlZCBpblxuIiwgYXJndlswXSk7CisgICAgcmV0dXJuKDApOworfQorI2VuZGlmIC8qIExJQlhNTF9SRUFERVJfRU5BQkxFRCAqLwpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0UmVnZXhwLmMgYi9saWJ4bWwyL3Rlc3RSZWdleHAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMWRhYzk0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0UmVnZXhwLmMKQEAgLTAsMCArMSw0MDIgQEAKKy8qCisgKiB0ZXN0UmVnZXhwLmM6IHNpbXBsZSBtb2R1bGUgZm9yIHRlc3RpbmcgcmVndWxhciBleHByZXNzaW9ucworICoKKyAqIFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyAqCisgKiBEYW5pZWwgVmVpbGxhcmQgPHZlaWxsYXJkQHJlZGhhdC5jb20+CisgKi8KKworI2luY2x1ZGUgImxpYnhtbC5oIgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAorI2luY2x1ZGUgPHN0cmluZy5oPgorCisjaW5jbHVkZSA8bGlieG1sL3RyZWUuaD4KKyNpbmNsdWRlIDxsaWJ4bWwveG1scmVnZXhwLmg+CisKK3N0YXRpYyBpbnQgcmVwZWF0ID0gMDsKK3N0YXRpYyBpbnQgZGVidWcgPSAwOworCitzdGF0aWMgdm9pZCB0ZXN0UmVnZXhwKHhtbFJlZ2V4cFB0ciBjb21wLCBjb25zdCBjaGFyICp2YWx1ZSkgeworICAgIGludCByZXQ7CisKKyAgICByZXQgPSB4bWxSZWdleHBFeGVjKGNvbXAsIChjb25zdCB4bWxDaGFyICopIHZhbHVlKTsKKyAgICBpZiAocmV0ID09IDEpCisJcHJpbnRmKCIlczogT2tcbiIsIHZhbHVlKTsKKyAgICBlbHNlIGlmIChyZXQgPT0gMCkKKwlwcmludGYoIiVzOiBGYWlsXG4iLCB2YWx1ZSk7CisgICAgZWxzZQorCXByaW50ZigiJXM6IEVycm9yOiAlZFxuIiwgdmFsdWUsIHJldCk7CisgICAgaWYgKHJlcGVhdCkgeworCWludCBqOworCWZvciAoaiA9IDA7aiA8IDk5OTk5OTtqKyspCisJICAgIHhtbFJlZ2V4cEV4ZWMoY29tcCwgKGNvbnN0IHhtbENoYXIgKikgdmFsdWUpOworICAgIH0KK30KKworc3RhdGljIHZvaWQKK3Rlc3RSZWdleHBGaWxlKGNvbnN0IGNoYXIgKmZpbGVuYW1lKSB7CisgICAgeG1sUmVnZXhwUHRyIGNvbXAgPSBOVUxMOworICAgIEZJTEUgKmlucHV0OworICAgIGNoYXIgZXhwcmVzc2lvbls1MDAwXTsKKyAgICBpbnQgbGVuOworCisgICAgaW5wdXQgPSBmb3BlbihmaWxlbmFtZSwgInIiKTsKKyAgICBpZiAoaW5wdXQgPT0gTlVMTCkgeworICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJIkNhbm5vdCBvcGVuICVzIGZvciByZWFkaW5nXG4iLCBmaWxlbmFtZSk7CisJcmV0dXJuOworICAgIH0KKyAgICB3aGlsZSAoZmdldHMoZXhwcmVzc2lvbiwgNDUwMCwgaW5wdXQpICE9IE5VTEwpIHsKKwlsZW4gPSBzdHJsZW4oZXhwcmVzc2lvbik7CisJbGVuLS07CisJd2hpbGUgKChsZW4gPj0gMCkgJiYKKwkgICAgICAgKChleHByZXNzaW9uW2xlbl0gPT0gJ1xuJykgfHwgKGV4cHJlc3Npb25bbGVuXSA9PSAnXHQnKSB8fAorCQkoZXhwcmVzc2lvbltsZW5dID09ICdccicpIHx8IChleHByZXNzaW9uW2xlbl0gPT0gJyAnKSkpIGxlbi0tOworCWV4cHJlc3Npb25bbGVuICsgMV0gPSAwOworCWlmIChsZW4gPj0gMCkgeworCSAgICBpZiAoZXhwcmVzc2lvblswXSA9PSAnIycpCisJCWNvbnRpbnVlOworCSAgICBpZiAoKGV4cHJlc3Npb25bMF0gPT0gJz0nKSAmJiAoZXhwcmVzc2lvblsxXSA9PSAnPicpKSB7CisJCWNoYXIgKnBhdHRlcm4gPSAmZXhwcmVzc2lvblsyXTsKKworCQlpZiAoY29tcCAhPSBOVUxMKSB7CisJCSAgICB4bWxSZWdGcmVlUmVnZXhwKGNvbXApOworCQkgICAgY29tcCA9IE5VTEw7CisJCX0KKwkJcHJpbnRmKCJSZWdleHA6ICVzXG4iLCBwYXR0ZXJuKSA7CisJCWNvbXAgPSB4bWxSZWdleHBDb21waWxlKChjb25zdCB4bWxDaGFyICopIHBhdHRlcm4pOworCQlpZiAoY29tcCA9PSBOVUxMKSB7CisJCSAgICBwcmludGYoIiAgIGZhaWxlZCB0byBjb21waWxlXG4iKTsKKwkJICAgIGJyZWFrOworCQl9CisJICAgIH0gZWxzZSBpZiAoY29tcCA9PSBOVUxMKSB7CisJCXByaW50ZigiUmVnZXhwOiAlc1xuIiwgZXhwcmVzc2lvbikgOworCQljb21wID0geG1sUmVnZXhwQ29tcGlsZSgoY29uc3QgeG1sQ2hhciAqKSBleHByZXNzaW9uKTsKKwkJaWYgKGNvbXAgPT0gTlVMTCkgeworCQkgICAgcHJpbnRmKCIgICBmYWlsZWQgdG8gY29tcGlsZVxuIik7CisJCSAgICBicmVhazsKKwkJfQorCSAgICB9IGVsc2UgaWYgKGNvbXAgIT0gTlVMTCkgeworCQl0ZXN0UmVnZXhwKGNvbXAsIGV4cHJlc3Npb24pOworCSAgICB9CisJfQorICAgIH0KKyAgICBmY2xvc2UoaW5wdXQpOworICAgIGlmIChjb21wICE9IE5VTEwpCisJeG1sUmVnRnJlZVJlZ2V4cChjb21wKTsKK30KKworI2lmZGVmIExJQlhNTF9FWFBSX0VOQUJMRUQKK3N0YXRpYyB2b2lkCitydW5GaWxlVGVzdCh4bWxFeHBDdHh0UHRyIGN0eHQsIGNvbnN0IGNoYXIgKmZpbGVuYW1lKSB7CisgICAgeG1sRXhwTm9kZVB0ciBleHByID0gTlVMTCwgc3ViOworICAgIEZJTEUgKmlucHV0OworICAgIGNoYXIgZXhwcmVzc2lvbls1MDAwXTsKKyAgICBpbnQgbGVuOworCisgICAgaW5wdXQgPSBmb3BlbihmaWxlbmFtZSwgInIiKTsKKyAgICBpZiAoaW5wdXQgPT0gTlVMTCkgeworICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJIkNhbm5vdCBvcGVuICVzIGZvciByZWFkaW5nXG4iLCBmaWxlbmFtZSk7CisJcmV0dXJuOworICAgIH0KKyAgICB3aGlsZSAoZmdldHMoZXhwcmVzc2lvbiwgNDUwMCwgaW5wdXQpICE9IE5VTEwpIHsKKwlsZW4gPSBzdHJsZW4oZXhwcmVzc2lvbik7CisJbGVuLS07CisJd2hpbGUgKChsZW4gPj0gMCkgJiYKKwkgICAgICAgKChleHByZXNzaW9uW2xlbl0gPT0gJ1xuJykgfHwgKGV4cHJlc3Npb25bbGVuXSA9PSAnXHQnKSB8fAorCQkoZXhwcmVzc2lvbltsZW5dID09ICdccicpIHx8IChleHByZXNzaW9uW2xlbl0gPT0gJyAnKSkpIGxlbi0tOworCWV4cHJlc3Npb25bbGVuICsgMV0gPSAwOworCWlmIChsZW4gPj0gMCkgeworCSAgICBpZiAoZXhwcmVzc2lvblswXSA9PSAnIycpCisJCWNvbnRpbnVlOworCSAgICBpZiAoKGV4cHJlc3Npb25bMF0gPT0gJz0nKSAmJiAoZXhwcmVzc2lvblsxXSA9PSAnPicpKSB7CisJCWNoYXIgKnN0ciA9ICZleHByZXNzaW9uWzJdOworCisJCWlmIChleHByICE9IE5VTEwpIHsKKwkJICAgIHhtbEV4cEZyZWUoY3R4dCwgZXhwcik7CisJCSAgICBpZiAoeG1sRXhwQ3R4dE5iTm9kZXMoY3R4dCkgIT0gMCkKKwkJICAgICAgICBwcmludGYoIiBQYXJzZS9mcmVlIG9mIEV4cHJlc3Npb24gbGVha2VkICVkXG4iLAorCQkJICAgICAgIHhtbEV4cEN0eHROYk5vZGVzKGN0eHQpKTsKKwkJICAgIGV4cHIgPSBOVUxMOworCQl9CisJCXByaW50ZigiRXhwcmVzc2lvbjogJXNcbiIsIHN0cikgOworCQlleHByID0geG1sRXhwUGFyc2UoY3R4dCwgc3RyKTsKKwkJaWYgKGV4cHIgPT0gTlVMTCkgeworCQkgICAgcHJpbnRmKCIgICBwYXJzaW5nIEZhaWxlZFxuIik7CisJCSAgICBicmVhazsKKwkJfQorCSAgICB9IGVsc2UgaWYgKGV4cHIgIT0gTlVMTCkgeworCSAgICAgICAgaW50IGV4cGVjdCA9IC0xOworCQlpbnQgbm9kZXMxLCBub2RlczI7CisKKwkJaWYgKGV4cHJlc3Npb25bMF0gPT0gJzAnKQorCQkgICAgZXhwZWN0ID0gMDsKKwkJaWYgKGV4cHJlc3Npb25bMF0gPT0gJzEnKQorCQkgICAgZXhwZWN0ID0gMTsKKwkJcHJpbnRmKCJTdWJleHA6ICVzIiwgZXhwcmVzc2lvbiArIDIpIDsKKwkJbm9kZXMxID0geG1sRXhwQ3R4dE5iTm9kZXMoY3R4dCk7CisJCXN1YiA9IHhtbEV4cFBhcnNlKGN0eHQsIGV4cHJlc3Npb24gKyAyKTsKKwkJaWYgKHN1YiA9PSBOVUxMKSB7CisJCSAgICBwcmludGYoIiAgIHBhcnNpbmcgRmFpbGVkXG4iKTsKKwkJICAgIGJyZWFrOworCQl9IGVsc2UgeworCQkgICAgaW50IHJldDsKKworCQkgICAgbm9kZXMyID0geG1sRXhwQ3R4dE5iTm9kZXMoY3R4dCk7CisJCSAgICByZXQgPSB4bWxFeHBTdWJzdW1lKGN0eHQsIGV4cHIsIHN1Yik7CisKKwkJICAgIGlmICgoZXhwZWN0ID09IDEpICYmIChyZXQgPT0gMSkpIHsKKwkJCXByaW50ZigiID0+IGFjY2VwdCwgT2tcbiIpOworCQkgICAgfSBlbHNlIGlmICgoZXhwZWN0ID09IDApICYmIChyZXQgPT0gMCkpIHsKKwkJICAgICAgICBwcmludGYoIiA9PiByZWplY3QsIE9rXG4iKTsKKwkJICAgIH0gZWxzZSBpZiAoKGV4cGVjdCA9PSAxKSAmJiAocmV0ID09IDApKSB7CisJCQlwcmludGYoIiA9PiByZWplY3QsIEZhaWxlZFxuIik7CisJCSAgICB9IGVsc2UgaWYgKChleHBlY3QgPT0gMCkgJiYgKHJldCA9PSAxKSkgeworCQkJcHJpbnRmKCIgPT4gYWNjZXB0LCBGYWlsZWRcbiIpOworCQkgICAgfSBlbHNlIHsKKwkJICAgICAgICBwcmludGYoIiA9PiBmYWlsIGludGVybmFsbHlcbiIpOworCQkgICAgfQorCQkgICAgaWYgKHhtbEV4cEN0eHROYk5vZGVzKGN0eHQpID4gbm9kZXMyKSB7CisJCSAgICAgICAgcHJpbnRmKCIgU3Vic3VtZSBsZWFrZWQgJWRcbiIsCisJCQkgICAgICAgeG1sRXhwQ3R4dE5iTm9kZXMoY3R4dCkgLSBub2RlczIpOworCQkJbm9kZXMxICs9IHhtbEV4cEN0eHROYk5vZGVzKGN0eHQpIC0gbm9kZXMyOworCQkgICAgfQorCQkgICAgeG1sRXhwRnJlZShjdHh0LCBzdWIpOworCQkgICAgaWYgKHhtbEV4cEN0eHROYk5vZGVzKGN0eHQpID4gbm9kZXMxKSB7CisJCSAgICAgICAgcHJpbnRmKCIgUGFyc2UvZnJlZSBsZWFrZWQgJWRcbiIsCisJCQkgICAgICAgeG1sRXhwQ3R4dE5iTm9kZXMoY3R4dCkgLSBub2RlczEpOworCQkgICAgfQorCQl9CisKKwkgICAgfQorCX0KKyAgICB9CisgICAgaWYgKGV4cHIgIT0gTlVMTCkgeworCXhtbEV4cEZyZWUoY3R4dCwgZXhwcik7CisJaWYgKHhtbEV4cEN0eHROYk5vZGVzKGN0eHQpICE9IDApCisJICAgIHByaW50ZigiIFBhcnNlL2ZyZWUgb2YgRXhwcmVzc2lvbiBsZWFrZWQgJWRcbiIsCisJCSAgIHhtbEV4cEN0eHROYk5vZGVzKGN0eHQpKTsKKyAgICB9CisgICAgZmNsb3NlKGlucHV0KTsKK30KKworc3RhdGljIHZvaWQKK3Rlc3RSZWR1Y2UoeG1sRXhwQ3R4dFB0ciBjdHh0LCB4bWxFeHBOb2RlUHRyIGV4cHIsIGNvbnN0IGNoYXIgKnRzdCkgeworICAgIHhtbEJ1ZmZlclB0ciB4bWxFeHBCdWY7CisgICAgeG1sRXhwTm9kZVB0ciBzdWIsIGRlcml2OworICAgIHhtbEV4cEJ1ZiA9IHhtbEJ1ZmZlckNyZWF0ZSgpOworCisgICAgc3ViID0geG1sRXhwUGFyc2UoY3R4dCwgdHN0KTsKKyAgICBpZiAoc3ViID09IE5VTEwpIHsKKyAgICAgICAgcHJpbnRmKCJTdWJzZXQgJXMgZmFpbGVkIHRvIHBhcnNlXG4iLCB0c3QpOworCXJldHVybjsKKyAgICB9CisgICAgeG1sRXhwRHVtcCh4bWxFeHBCdWYsIHN1Yik7CisgICAgcHJpbnRmKCJTdWJzZXQgcGFyc2VkIGFzOiAlc1xuIiwKKyAgICAgICAgICAgKGNvbnN0IGNoYXIgKikgeG1sQnVmZmVyQ29udGVudCh4bWxFeHBCdWYpKTsKKyAgICBkZXJpdiA9IHhtbEV4cEV4cERlcml2ZShjdHh0LCBleHByLCBzdWIpOworICAgIGlmIChkZXJpdiA9PSBOVUxMKSB7CisgICAgICAgIHByaW50ZigiRGVyaXZhdGlvbiBsZWQgdG8gYW4gaW50ZXJuYWwgZXJyb3IsIHJlcG9ydCB0aGlzICFcbiIpOworCXJldHVybjsKKyAgICB9IGVsc2UgeworICAgICAgICB4bWxCdWZmZXJFbXB0eSh4bWxFeHBCdWYpOworCXhtbEV4cER1bXAoeG1sRXhwQnVmLCBkZXJpdik7CisJaWYgKHhtbEV4cElzTmlsbGFibGUoZGVyaXYpKQorCSAgICBwcmludGYoIlJlc3VsdGluZyBuaWxsYWJsZSBkZXJpdmF0aW9uOiAlc1xuIiwKKwkgICAgICAgICAgIChjb25zdCBjaGFyICopIHhtbEJ1ZmZlckNvbnRlbnQoeG1sRXhwQnVmKSk7CisJZWxzZQorCSAgICBwcmludGYoIlJlc3VsdGluZyBkZXJpdmF0aW9uOiAlc1xuIiwKKwkgICAgICAgICAgIChjb25zdCBjaGFyICopIHhtbEJ1ZmZlckNvbnRlbnQoeG1sRXhwQnVmKSk7CisJeG1sRXhwRnJlZShjdHh0LCBkZXJpdik7CisgICAgfQorICAgIHhtbEV4cEZyZWUoY3R4dCwgc3ViKTsKK30KKworc3RhdGljIHZvaWQKK2V4cHJEZWJ1Zyh4bWxFeHBDdHh0UHRyIGN0eHQsIHhtbEV4cE5vZGVQdHIgZXhwcikgeworICAgIHhtbEJ1ZmZlclB0ciB4bWxFeHBCdWY7CisgICAgeG1sRXhwTm9kZVB0ciBkZXJpdjsKKyAgICBjb25zdCBjaGFyICpsaXN0WzQwXTsKKyAgICBpbnQgcmV0OworCisgICAgeG1sRXhwQnVmID0geG1sQnVmZmVyQ3JlYXRlKCk7CisKKyAgICBpZiAoZXhwciA9PSBOVUxMKSB7CisgICAgICAgIHByaW50ZigiRmFpbGVkIHRvIHBhcnNlXG4iKTsKKwlyZXR1cm47CisgICAgfQorICAgIHhtbEV4cER1bXAoeG1sRXhwQnVmLCBleHByKTsKKyAgICBwcmludGYoIlBhcnNlZCBhczogJXNcbiIsIChjb25zdCBjaGFyICopIHhtbEJ1ZmZlckNvbnRlbnQoeG1sRXhwQnVmKSk7CisgICAgcHJpbnRmKCJNYXggdG9rZW4gaW5wdXQgPSAlZFxuIiwgeG1sRXhwTWF4VG9rZW4oZXhwcikpOworICAgIGlmICh4bWxFeHBJc05pbGxhYmxlKGV4cHIpID09IDEpCisJcHJpbnRmKCJJcyBuaWxsYWJsZVxuIik7CisgICAgcmV0ID0geG1sRXhwR2V0TGFuZ3VhZ2UoY3R4dCwgZXhwciwgKGNvbnN0IHhtbENoYXIgKiopICZsaXN0WzBdLCA0MCk7CisgICAgaWYgKHJldCA8IDApCisJcHJpbnRmKCJGYWlsZWQgdG8gZ2V0IGxpc3Q6ICVkXG4iLCByZXQpOworICAgIGVsc2UgeworCWludCBpOworCisJcHJpbnRmKCJMYW5ndWFnZSBoYXMgJWQgc3RyaW5ncywgdGVzdGluZyBzdHJpbmcgZGVyaXZhdGlvbnNcbiIsIHJldCk7CisJZm9yIChpID0gMDtpIDwgcmV0O2krKykgeworCSAgICBkZXJpdiA9IHhtbEV4cFN0cmluZ0Rlcml2ZShjdHh0LCBleHByLCBCQURfQ0FTVCBsaXN0W2ldLCAtMSk7CisJICAgIGlmIChkZXJpdiA9PSBOVUxMKSB7CisJCXByaW50ZigiICAlcyAtPiBkZXJpdmF0aW9uIGZhaWxlZFxuIiwgbGlzdFtpXSk7CisJICAgIH0gZWxzZSB7CisJCXhtbEJ1ZmZlckVtcHR5KHhtbEV4cEJ1Zik7CisJCXhtbEV4cER1bXAoeG1sRXhwQnVmLCBkZXJpdik7CisJCXByaW50ZigiICAlcyAtPiAlc1xuIiwgbGlzdFtpXSwKKwkJICAgICAgIChjb25zdCBjaGFyICopIHhtbEJ1ZmZlckNvbnRlbnQoeG1sRXhwQnVmKSk7CisJICAgIH0KKwkgICAgeG1sRXhwRnJlZShjdHh0LCBkZXJpdik7CisJfQorICAgIH0KKyAgICB4bWxCdWZmZXJGcmVlKHhtbEV4cEJ1Zik7Cit9CisjZW5kaWYKKworc3RhdGljIHZvaWQgdXNhZ2UoY29uc3QgY2hhciAqbmFtZSkgeworICAgIGZwcmludGYoc3RkZXJyLCAiVXNhZ2U6ICVzIFtmbGFnc11cbiIsIG5hbWUpOworICAgIGZwcmludGYoc3RkZXJyLCAiVGVzdGluZyB0b29sIGZvciBsaWJ4bWwyIHN0cmluZyBhbmQgcGF0dGVybiByZWdleHBzXG4iKTsKKyAgICBmcHJpbnRmKHN0ZGVyciwgIiAgIC0tZGVidWc6IHN3aXRjaCBvbiBkZWJ1Z2dpbmdcbiIpOworICAgIGZwcmludGYoc3RkZXJyLCAiICAgLS1yZXBlYXQ6IGxvb3Agb24gdGhlIG9wZXJhdGlvblxuIik7CisjaWZkZWYgTElCWE1MX0VYUFJfRU5BQkxFRAorICAgIGZwcmludGYoc3RkZXJyLCAiICAgLS1leHByOiB0ZXN0IHhtbEV4cCBhbmQgbm90IHhtbFJlZ2V4cFxuIik7CisjZW5kaWYKKyAgICBmcHJpbnRmKHN0ZGVyciwgIiAgIC0taW5wdXQgZmlsZW5hbWU6IHVzZSB0aGUgZ2l2ZW4gZmlsZW5hbWUgZm9yIHJlZ2V4cFxuIik7CisgICAgZnByaW50ZihzdGRlcnIsICIgICAtLWlucHV0IGZpbGVuYW1lOiB1c2UgdGhlIGdpdmVuIGZpbGVuYW1lIGZvciBleHBcbiIpOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKKyAgICB4bWxSZWdleHBQdHIgY29tcCA9IE5VTEw7CisjaWZkZWYgTElCWE1MX0VYUFJfRU5BQkxFRAorICAgIHhtbEV4cE5vZGVQdHIgZXhwciA9IE5VTEw7CisgICAgaW50IHVzZV9leHAgPSAwOworICAgIHhtbEV4cEN0eHRQdHIgY3R4dCA9IE5VTEw7CisjZW5kaWYKKyAgICBjb25zdCBjaGFyICpwYXR0ZXJuID0gTlVMTDsKKyAgICBjaGFyICpmaWxlbmFtZSA9IE5VTEw7CisgICAgaW50IGk7CisKKyAgICB4bWxJbml0TWVtb3J5KCk7CisKKyAgICBpZiAoYXJnYyA8PSAxKSB7CisJdXNhZ2UoYXJndlswXSk7CisJcmV0dXJuKDEpOworICAgIH0KKyAgICBmb3IgKGkgPSAxOyBpIDwgYXJnYyA7IGkrKykgeworCWlmICghc3RyY21wKGFyZ3ZbaV0sICItIikpCisJICAgIGJyZWFrOworCisJaWYgKGFyZ3ZbaV1bMF0gIT0gJy0nKQorCSAgICBjb250aW51ZTsKKwlpZiAoIXN0cmNtcChhcmd2W2ldLCAiLS0iKSkKKwkgICAgYnJlYWs7CisKKwlpZiAoKCFzdHJjbXAoYXJndltpXSwgIi1kZWJ1ZyIpKSB8fCAoIXN0cmNtcChhcmd2W2ldLCAiLS1kZWJ1ZyIpKSkgeworCSAgICBkZWJ1ZysrOworCX0gZWxzZSBpZiAoKCFzdHJjbXAoYXJndltpXSwgIi1yZXBlYXQiKSkgfHwKKwkgICAgICAgICAoIXN0cmNtcChhcmd2W2ldLCAiLS1yZXBlYXQiKSkpIHsKKwkgICAgcmVwZWF0Kys7CisjaWZkZWYgTElCWE1MX0VYUFJfRU5BQkxFRAorCX0gZWxzZSBpZiAoKCFzdHJjbXAoYXJndltpXSwgIi1leHByIikpIHx8CisJICAgICAgICAgKCFzdHJjbXAoYXJndltpXSwgIi0tZXhwciIpKSkgeworCSAgICB1c2VfZXhwKys7CisjZW5kaWYKKwl9IGVsc2UgaWYgKCghc3RyY21wKGFyZ3ZbaV0sICItaSIpKSB8fCAoIXN0cmNtcChhcmd2W2ldLCAiLWYiKSkgfHwKKwkJICAgKCFzdHJjbXAoYXJndltpXSwgIi0taW5wdXQiKSkpCisJICAgIGZpbGVuYW1lID0gYXJndlsrK2ldOworICAgICAgICBlbHNlIHsKKwkgICAgZnByaW50ZihzdGRlcnIsICJVbmtub3duIG9wdGlvbiAlc1xuIiwgYXJndltpXSk7CisJICAgIHVzYWdlKGFyZ3ZbMF0pOworCX0KKyAgICB9CisKKyNpZmRlZiBMSUJYTUxfRVhQUl9FTkFCTEVECisgICAgaWYgKHVzZV9leHApCisJY3R4dCA9IHhtbEV4cE5ld0N0eHQoMCwgTlVMTCk7CisjZW5kaWYKKworICAgIGlmIChmaWxlbmFtZSAhPSBOVUxMKSB7CisjaWZkZWYgTElCWE1MX0VYUFJfRU5BQkxFRAorICAgICAgICBpZiAodXNlX2V4cCkKKwkgICAgcnVuRmlsZVRlc3QoY3R4dCwgZmlsZW5hbWUpOworCWVsc2UKKyNlbmRpZgorCSAgICB0ZXN0UmVnZXhwRmlsZShmaWxlbmFtZSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgaW50ICBkYXRhID0gMDsKKyNpZmRlZiBMSUJYTUxfRVhQUl9FTkFCTEVECisKKyAgICAgICAgaWYgKHVzZV9leHApIHsKKwkgICAgZm9yIChpID0gMTsgaSA8IGFyZ2MgOyBpKyspIHsKKwkgICAgICAgIGlmIChzdHJjbXAoYXJndltpXSwgIi0tIikgPT0gMCkKKwkJICAgIGRhdGEgPSAxOworCQllbHNlIGlmICgoYXJndltpXVswXSAhPSAnLScpIHx8IChzdHJjbXAoYXJndltpXSwgIi0iKSA9PSAwKSB8fAorCQkgICAgKGRhdGEgPT0gMSkpIHsKKwkJICAgIGlmIChwYXR0ZXJuID09IE5VTEwpIHsKKwkJCXBhdHRlcm4gPSBhcmd2W2ldOworCQkJcHJpbnRmKCJUZXN0aW5nIGV4cHIgJXM6XG4iLCBwYXR0ZXJuKTsKKwkJCWV4cHIgPSB4bWxFeHBQYXJzZShjdHh0LCBwYXR0ZXJuKTsKKwkJCWlmIChleHByID09IE5VTEwpIHsKKwkJCSAgICBwcmludGYoIiAgIGZhaWxlZCB0byBjb21waWxlXG4iKTsKKwkJCSAgICBicmVhazsKKwkJCX0KKwkJCWlmIChkZWJ1ZykgeworCQkJICAgIGV4cHJEZWJ1ZyhjdHh0LCBleHByKTsKKwkJCX0KKwkJICAgIH0gZWxzZSB7CisJCQl0ZXN0UmVkdWNlKGN0eHQsIGV4cHIsIGFyZ3ZbaV0pOworCQkgICAgfQorCQl9CisJICAgIH0KKwkgICAgaWYgKGV4cHIgIT0gTlVMTCkgeworCQl4bWxFeHBGcmVlKGN0eHQsIGV4cHIpOworCQlleHByID0gTlVMTDsKKwkgICAgfQorCX0gZWxzZQorI2VuZGlmCisgICAgICAgIHsKKwkgICAgZm9yIChpID0gMTsgaSA8IGFyZ2MgOyBpKyspIHsKKwkgICAgICAgIGlmIChzdHJjbXAoYXJndltpXSwgIi0tIikgPT0gMCkKKwkJICAgIGRhdGEgPSAxOworCQllbHNlIGlmICgoYXJndltpXVswXSAhPSAnLScpIHx8IChzdHJjbXAoYXJndltpXSwgIi0iKSA9PSAwKSB8fAorCQkgICAgICAgICAoZGF0YSA9PSAxKSkgeworCQkgICAgaWYgKHBhdHRlcm4gPT0gTlVMTCkgeworCQkJcGF0dGVybiA9IGFyZ3ZbaV07CisJCQlwcmludGYoIlRlc3RpbmcgJXM6XG4iLCBwYXR0ZXJuKTsKKwkJCWNvbXAgPSB4bWxSZWdleHBDb21waWxlKChjb25zdCB4bWxDaGFyICopIHBhdHRlcm4pOworCQkJaWYgKGNvbXAgPT0gTlVMTCkgeworCQkJICAgIHByaW50ZigiICAgZmFpbGVkIHRvIGNvbXBpbGVcbiIpOworCQkJICAgIGJyZWFrOworCQkJfQorCQkJaWYgKGRlYnVnKQorCQkJICAgIHhtbFJlZ2V4cFByaW50KHN0ZG91dCwgY29tcCk7CisJCSAgICB9IGVsc2UgeworCQkJdGVzdFJlZ2V4cChjb21wLCBhcmd2W2ldKTsKKwkJICAgIH0KKwkJfQorCSAgICB9CisJICAgIGlmIChjb21wICE9IE5VTEwpCisJCXhtbFJlZ0ZyZWVSZWdleHAoY29tcCk7CisgICAgICAgIH0KKyAgICB9CisjaWZkZWYgTElCWE1MX0VYUFJfRU5BQkxFRAorICAgIGlmIChjdHh0ICE9IE5VTEwpIHsKKwlwcmludGYoIk9wczogJWQgbm9kZXMsICVkIGNvbnNcbiIsCisJICAgICAgIHhtbEV4cEN0eHROYk5vZGVzKGN0eHQpLCB4bWxFeHBDdHh0TmJDb25zKGN0eHQpKTsKKwl4bWxFeHBGcmVlQ3R4dChjdHh0KTsKKyAgICB9CisjZW5kaWYKKyAgICB4bWxDbGVhbnVwUGFyc2VyKCk7CisgICAgeG1sTWVtb3J5RHVtcCgpOworICAgIHJldHVybigwKTsKK30KKworI2Vsc2UKKyNpbmNsdWRlIDxzdGRpby5oPgoraW50IG1haW4oaW50IGFyZ2MgQVRUUklCVVRFX1VOVVNFRCwgY2hhciAqKmFyZ3YgQVRUUklCVVRFX1VOVVNFRCkgeworICAgIHByaW50ZigiJXMgOiBSZWdleHAgc3VwcG9ydCBub3QgY29tcGlsZWQgaW5cbiIsIGFyZ3ZbMF0pOworICAgIHJldHVybigwKTsKK30KKyNlbmRpZiAvKiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQgKi8KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdFJlbGF4LmMgYi9saWJ4bWwyL3Rlc3RSZWxheC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhlOTRhN2EKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3RSZWxheC5jCkBAIC0wLDAgKzEsMTk0IEBACisvKgorICogdGVzdFJlbGF4LmMgOiBhIHNtYWxsIHRlc3RlciBwcm9ncmFtIGZvciBSZWxheE5HIHZhbGlkYXRpb24KKyAqCisgKiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisgKgorICogRGFuaWVsLlZlaWxsYXJkQHczLm9yZworICovCisKKyNpbmNsdWRlICJsaWJ4bWwuaCIKKyNpZmRlZiBMSUJYTUxfU0NIRU1BU19FTkFCTEVECisKKyNpbmNsdWRlIDxsaWJ4bWwveG1sdmVyc2lvbi5oPgorI2luY2x1ZGUgPGxpYnhtbC9wYXJzZXIuaD4KKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3RkYXJnLmg+CisKKworI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNlbmRpZgorI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjZW5kaWYKKyNpZmRlZiBIQVZFX0ZDTlRMX0gKKyNpbmNsdWRlIDxmY250bC5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9VTklTVERfSAorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9TVERMSUJfSAorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9TWVNfTU1BTl9ICisjaW5jbHVkZSA8c3lzL21tYW4uaD4KKy8qIHNlZW1zIG5lZWRlZCBmb3IgU29sYXJpcyAqLworI2lmbmRlZiBNQVBfRkFJTEVECisjZGVmaW5lIE1BUF9GQUlMRUQgKCh2b2lkICopIC0xKQorI2VuZGlmCisjZW5kaWYKKworI2luY2x1ZGUgPGxpYnhtbC94bWxtZW1vcnkuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvZGVidWdYTUwuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvcmVsYXhuZy5oPgorCisjaWZkZWYgTElCWE1MX0RFQlVHX0VOQUJMRUQKK3N0YXRpYyBpbnQgZGVidWcgPSAwOworI2VuZGlmCitzdGF0aWMgaW50IG5vb3V0ID0gMDsKK3N0YXRpYyBpbnQgdHJlZSA9IDA7CisjaWZkZWYgSEFWRV9NTUFQCitzdGF0aWMgaW50IG1lbW9yeSA9IDA7CisjZW5kaWYKKworCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKKyAgICBpbnQgaTsKKyAgICBpbnQgZmlsZXMgPSAwOworICAgIHhtbFJlbGF4TkdQdHIgc2NoZW1hID0gTlVMTDsKKworICAgIGZvciAoaSA9IDE7IGkgPCBhcmdjIDsgaSsrKSB7CisjaWZkZWYgTElCWE1MX0RFQlVHX0VOQUJMRUQKKwlpZiAoKCFzdHJjbXAoYXJndltpXSwgIi1kZWJ1ZyIpKSB8fCAoIXN0cmNtcChhcmd2W2ldLCAiLS1kZWJ1ZyIpKSkKKwkgICAgZGVidWcrKzsKKwllbHNlCisjZW5kaWYKKyNpZmRlZiBIQVZFX01NQVAKKwlpZiAoKCFzdHJjbXAoYXJndltpXSwgIi1tZW1vcnkiKSkgfHwgKCFzdHJjbXAoYXJndltpXSwgIi0tbWVtb3J5IikpKSB7CisJICAgIG1lbW9yeSsrOworICAgICAgICB9IGVsc2UKKyNlbmRpZgorCWlmICgoIXN0cmNtcChhcmd2W2ldLCAiLW5vb3V0IikpIHx8ICghc3RyY21wKGFyZ3ZbaV0sICItLW5vb3V0IikpKSB7CisJICAgIG5vb3V0Kys7CisgICAgICAgIH0gZWxzZQorCWlmICgoIXN0cmNtcChhcmd2W2ldLCAiLXRyZWUiKSkgfHwgKCFzdHJjbXAoYXJndltpXSwgIi0tdHJlZSIpKSkgeworCSAgICB0cmVlKys7CisgICAgICAgIH0KKyAgICB9CisgICAgeG1sTGluZU51bWJlcnNEZWZhdWx0KDEpOworICAgIHhtbFN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHQoMSk7CisgICAgZm9yIChpID0gMTsgaSA8IGFyZ2MgOyBpKyspIHsKKwlpZiAoYXJndltpXVswXSAhPSAnLScpIHsKKwkgICAgaWYgKHNjaGVtYSA9PSBOVUxMKSB7CisJCXhtbFJlbGF4TkdQYXJzZXJDdHh0UHRyIGN0eHQ7CisKKyNpZmRlZiBIQVZFX01NQVAKKwkJaWYgKG1lbW9yeSkgeworCQkgICAgaW50IGZkOworCQkgICAgc3RydWN0IHN0YXQgaW5mbzsKKwkJICAgIGNvbnN0IGNoYXIgKmJhc2U7CisJCSAgICBpZiAoc3RhdChhcmd2W2ldLCAmaW5mbykgPCAwKQorCQkJYnJlYWs7CisJCSAgICBpZiAoKGZkID0gb3Blbihhcmd2W2ldLCBPX1JET05MWSkpIDwgMCkKKwkJCWJyZWFrOworCQkgICAgYmFzZSA9IG1tYXAoTlVMTCwgaW5mby5zdF9zaXplLCBQUk9UX1JFQUQsCisJCQkgICAgICAgIE1BUF9TSEFSRUQsIGZkLCAwKSA7CisJCSAgICBpZiAoYmFzZSA9PSAodm9pZCAqKSBNQVBfRkFJTEVEKQorCQkJYnJlYWs7CisKKwkJICAgIGN0eHQgPSB4bWxSZWxheE5HTmV3TWVtUGFyc2VyQ3R4dCgoY2hhciAqKWJhc2UsaW5mby5zdF9zaXplKTsKKworCQkgICAgeG1sUmVsYXhOR1NldFBhcnNlckVycm9ycyhjdHh0LAorCQkJICAgICh4bWxSZWxheE5HVmFsaWRpdHlFcnJvckZ1bmMpIGZwcmludGYsCisJCQkgICAgKHhtbFJlbGF4TkdWYWxpZGl0eVdhcm5pbmdGdW5jKSBmcHJpbnRmLAorCQkJICAgIHN0ZGVycik7CisJCSAgICBzY2hlbWEgPSB4bWxSZWxheE5HUGFyc2UoY3R4dCk7CisJCSAgICB4bWxSZWxheE5HRnJlZVBhcnNlckN0eHQoY3R4dCk7CisJCSAgICBtdW5tYXAoKGNoYXIgKikgYmFzZSwgaW5mby5zdF9zaXplKTsKKwkJfSBlbHNlCisjZW5kaWYKKwkJeworCQkgICAgY3R4dCA9IHhtbFJlbGF4TkdOZXdQYXJzZXJDdHh0KGFyZ3ZbaV0pOworCQkgICAgeG1sUmVsYXhOR1NldFBhcnNlckVycm9ycyhjdHh0LAorCQkJICAgICh4bWxSZWxheE5HVmFsaWRpdHlFcnJvckZ1bmMpIGZwcmludGYsCisJCQkgICAgKHhtbFJlbGF4TkdWYWxpZGl0eVdhcm5pbmdGdW5jKSBmcHJpbnRmLAorCQkJICAgIHN0ZGVycik7CisJCSAgICBzY2hlbWEgPSB4bWxSZWxheE5HUGFyc2UoY3R4dCk7CisJCSAgICB4bWxSZWxheE5HRnJlZVBhcnNlckN0eHQoY3R4dCk7CisJCX0KKwkJaWYgKHNjaGVtYSA9PSBOVUxMKSB7CisJCSAgICBwcmludGYoIlJlbGF4LU5HIHNjaGVtYSAlcyBmYWlsZWQgdG8gY29tcGlsZVxuIiwgYXJndltpXSk7CisJCSAgICBmaWxlcyA9IC0xOworCQkgICAgYnJlYWs7CisJCX0KKyNpZmRlZiBMSUJYTUxfT1VUUFVUX0VOQUJMRUQKKyNpZmRlZiBMSUJYTUxfREVCVUdfRU5BQkxFRAorCQlpZiAoZGVidWcpCisJCSAgICB4bWxSZWxheE5HRHVtcChzdGRvdXQsIHNjaGVtYSk7CisjZW5kaWYKKwkJaWYgKHRyZWUpCisJCSAgICB4bWxSZWxheE5HRHVtcFRyZWUoc3Rkb3V0LCBzY2hlbWEpOworI2VuZGlmIC8qIExJQlhNTF9PVVRQVVRfRU5BQkxFRCAqLworCSAgICB9IGVsc2UgeworCQl4bWxEb2NQdHIgZG9jOworCisJCWRvYyA9IHhtbFJlYWRGaWxlKGFyZ3ZbaV0sTlVMTCwwKTsKKworCQlpZiAoZG9jID09IE5VTEwpIHsKKwkJICAgIGZwcmludGYoc3RkZXJyLCAiQ291bGQgbm90IHBhcnNlICVzXG4iLCBhcmd2W2ldKTsKKwkJfSBlbHNlIHsKKwkJICAgIHhtbFJlbGF4TkdWYWxpZEN0eHRQdHIgY3R4dDsKKwkJICAgIGludCByZXQ7CisKKwkJICAgIGN0eHQgPSB4bWxSZWxheE5HTmV3VmFsaWRDdHh0KHNjaGVtYSk7CisJCSAgICB4bWxSZWxheE5HU2V0VmFsaWRFcnJvcnMoY3R4dCwKKwkJCSAgICAoeG1sUmVsYXhOR1ZhbGlkaXR5RXJyb3JGdW5jKSBmcHJpbnRmLAorCQkJICAgICh4bWxSZWxheE5HVmFsaWRpdHlXYXJuaW5nRnVuYykgZnByaW50ZiwKKwkJCSAgICBzdGRlcnIpOworCQkgICAgcmV0ID0geG1sUmVsYXhOR1ZhbGlkYXRlRG9jKGN0eHQsIGRvYyk7CisJCSAgICBpZiAocmV0ID09IDApIHsKKwkJCXByaW50ZigiJXMgdmFsaWRhdGVzXG4iLCBhcmd2W2ldKTsKKwkJICAgIH0gZWxzZSBpZiAocmV0ID4gMCkgeworCQkJcHJpbnRmKCIlcyBmYWlscyB0byB2YWxpZGF0ZVxuIiwgYXJndltpXSk7CisJCSAgICB9IGVsc2UgeworCQkJcHJpbnRmKCIlcyB2YWxpZGF0aW9uIGdlbmVyYXRlZCBhbiBpbnRlcm5hbCBlcnJvclxuIiwKKwkJCSAgICAgICBhcmd2W2ldKTsKKwkJICAgIH0KKwkJICAgIHhtbFJlbGF4TkdGcmVlVmFsaWRDdHh0KGN0eHQpOworCQkgICAgeG1sRnJlZURvYyhkb2MpOworCQl9CisJICAgIH0KKwkgICAgZmlsZXMgKys7CisJfQorICAgIH0KKyAgICBpZiAoc2NoZW1hICE9IE5VTEwpCisJeG1sUmVsYXhOR0ZyZWUoc2NoZW1hKTsKKyAgICBpZiAoZmlsZXMgPT0gMCkgeworCXByaW50ZigiVXNhZ2UgOiAlcyBbLS1kZWJ1Z10gWy0tbm9vdXRdIHNjaGVtYXMgWE1MZmlsZXMgLi4uXG4iLAorCSAgICAgICBhcmd2WzBdKTsKKwlwcmludGYoIlx0UGFyc2UgdGhlIEhUTUwgZmlsZXMgYW5kIG91dHB1dCB0aGUgcmVzdWx0IG9mIHRoZSBwYXJzaW5nXG4iKTsKKyNpZmRlZiBMSUJYTUxfREVCVUdfRU5BQkxFRAorCXByaW50ZigiXHQtLWRlYnVnIDogZHVtcCBhIGRlYnVnIHRyZWUgb2YgdGhlIGluLW1lbW9yeSBkb2N1bWVudFxuIik7CisjZW5kaWYKKwlwcmludGYoIlx0LS1ub291dCA6IGRvIG5vdCBwcmludCB0aGUgcmVzdWx0XG4iKTsKKwlwcmludGYoIlx0LS10cmVlIDogcHJpbnQgdGhlIGludGVybWVkaWF0ZSBSZWxheC1ORyBkb2N1bWVudCB0cmVlXG4iKTsKKyNpZmRlZiBIQVZFX01NQVAKKwlwcmludGYoIlx0LS1tZW1vcnkgOiB0ZXN0IHRoZSBzY2hlbWFzIGluIG1lbW9yeSBwYXJzaW5nXG4iKTsKKyNlbmRpZgorICAgIH0KKyAgICB4bWxSZWxheE5HQ2xlYW51cFR5cGVzKCk7CisgICAgeG1sQ2xlYW51cFBhcnNlcigpOworICAgIHhtbE1lbW9yeUR1bXAoKTsKKworICAgIHJldHVybigwKTsKK30KKworI2Vsc2UKKyNpbmNsdWRlIDxzdGRpby5oPgoraW50IG1haW4oaW50IGFyZ2MgQVRUUklCVVRFX1VOVVNFRCwgY2hhciAqKmFyZ3YgQVRUUklCVVRFX1VOVVNFRCkgeworICAgIHByaW50ZigiJXMgOiBSZWxheE5HIHN1cHBvcnQgbm90IGNvbXBpbGVkIGluXG4iLCBhcmd2WzBdKTsKKyAgICByZXR1cm4oMCk7Cit9CisjZW5kaWYgLyogTElCWE1MX1NDSEVNQVNfRU5BQkxFRCAqLwpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0U0FYLmMgYi9saWJ4bWwyL3Rlc3RTQVguYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MWM0YjkzCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0U0FYLmMKQEAgLTAsMCArMSwxMTk4IEBACisvKgorICogdGVzdFNBWC5jIDogYSBzbWFsbCB0ZXN0ZXIgcHJvZ3JhbSBmb3IgcGFyc2luZyB1c2luZyB0aGUgU0FYIEFQSS4KKyAqCisgKiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisgKgorICogZGFuaWVsQHZlaWxsYXJkLmNvbQorICovCisKKyNpbmNsdWRlICJsaWJ4bWwuaCIKKworI2lmZGVmIEhBVkVfU1lTX1RJTUVfSAorI2luY2x1ZGUgPHN5cy90aW1lLmg+CisjZW5kaWYKKyNpZmRlZiBIQVZFX1NZU19USU1FQl9ICisjaW5jbHVkZSA8c3lzL3RpbWViLmg+CisjZW5kaWYKKyNpZmRlZiBIQVZFX1RJTUVfSAorI2luY2x1ZGUgPHRpbWUuaD4KKyNlbmRpZgorCisjaWZkZWYgTElCWE1MX1NBWDFfRU5BQkxFRAorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN0ZGFyZy5oPgorCisjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNlbmRpZgorI2lmZGVmIEhBVkVfRkNOVExfSAorI2luY2x1ZGUgPGZjbnRsLmg+CisjZW5kaWYKKyNpZmRlZiBIQVZFX1VOSVNURF9ICisjaW5jbHVkZSA8dW5pc3RkLmg+CisjZW5kaWYKKyNpZmRlZiBIQVZFX1NURExJQl9ICisjaW5jbHVkZSA8c3RkbGliLmg+CisjZW5kaWYKKyNpZmRlZiBIQVZFX1NUUklOR19ICisjaW5jbHVkZSA8c3RyaW5nLmg+CisjZW5kaWYKKworCisjaW5jbHVkZSA8bGlieG1sL2dsb2JhbHMuaD4KKyNpbmNsdWRlIDxsaWJ4bWwveG1sZXJyb3IuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvcGFyc2VyLmg+CisjaW5jbHVkZSA8bGlieG1sL3BhcnNlckludGVybmFscy5oPiAvKiBvbmx5IGZvciB4bWxOZXdJbnB1dEZyb21GaWxlKCkgKi8KKyNpbmNsdWRlIDxsaWJ4bWwvdHJlZS5oPgorI2luY2x1ZGUgPGxpYnhtbC9kZWJ1Z1hNTC5oPgorI2luY2x1ZGUgPGxpYnhtbC94bWxtZW1vcnkuaD4KKworc3RhdGljIGludCBkZWJ1ZyA9IDA7CitzdGF0aWMgaW50IGNvcHkgPSAwOworc3RhdGljIGludCByZWNvdmVyeSA9IDA7CitzdGF0aWMgaW50IHB1c2ggPSAwOworc3RhdGljIGludCBzcGVlZCA9IDA7CitzdGF0aWMgaW50IG5vZW50ID0gMDsKK3N0YXRpYyBpbnQgcXVpZXQgPSAwOworc3RhdGljIGludCBub251bGwgPSAwOworc3RhdGljIGludCBzYXgyID0gMDsKK3N0YXRpYyBpbnQgcmVwZWF0ID0gMDsKK3N0YXRpYyBpbnQgY2FsbGJhY2tzID0gMDsKK3N0YXRpYyBpbnQgdGltaW5nID0gMDsKKworLyoKKyAqIFRpbWluZyByb3V0aW5lcy4KKyAqLworLyoKKyAqIEludGVybmFsIHRpbWluZyByb3V0aW5lcyB0byByZW1vdmUgdGhlIG5lY2Vzc2l0eSB0byBoYXZlIHVuaXgtc3BlY2lmaWMKKyAqIGZ1bmN0aW9uIGNhbGxzCisgKi8KKworI2lmbmRlZiBIQVZFX0dFVFRJTUVPRkRBWQorI2lmZGVmIEhBVkVfU1lTX1RJTUVCX0gKKyNpZmRlZiBIQVZFX1NZU19USU1FX0gKKyNpZmRlZiBIQVZFX0ZUSU1FCisKK3N0YXRpYyBpbnQKK215X2dldHRpbWVvZmRheShzdHJ1Y3QgdGltZXZhbCAqdHZwLCB2b2lkICp0enApCit7CisJc3RydWN0IHRpbWViIHRpbWVidWZmZXI7CisKKwlmdGltZSgmdGltZWJ1ZmZlcik7CisJaWYgKHR2cCkgeworCQl0dnAtPnR2X3NlYyA9IHRpbWVidWZmZXIudGltZTsKKwkJdHZwLT50dl91c2VjID0gdGltZWJ1ZmZlci5taWxsaXRtICogMTAwMEw7CisJfQorCXJldHVybiAoMCk7Cit9CisjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKKyNkZWZpbmUgZ2V0dGltZW9mZGF5IG15X2dldHRpbWVvZmRheQorCisjZW5kaWYgLyogSEFWRV9GVElNRSAqLworI2VuZGlmIC8qIEhBVkVfU1lTX1RJTUVfSCAqLworI2VuZGlmIC8qIEhBVkVfU1lTX1RJTUVCX0ggKi8KKyNlbmRpZiAvKiAhSEFWRV9HRVRUSU1FT0ZEQVkgKi8KKworI2lmIGRlZmluZWQoSEFWRV9HRVRUSU1FT0ZEQVkpCitzdGF0aWMgc3RydWN0IHRpbWV2YWwgYmVnaW4sIGVuZDsKKworLyoKKyAqIHN0YXJ0VGltZXI6IGNhbGwgd2hlcmUgeW91IHdhbnQgdG8gc3RhcnQgdGltaW5nCisgKi8KK3N0YXRpYyB2b2lkCitzdGFydFRpbWVyKHZvaWQpCit7CisgICAgZ2V0dGltZW9mZGF5KCZiZWdpbiwgTlVMTCk7Cit9CisKKy8qCisgKiBlbmRUaW1lcjogY2FsbCB3aGVyZSB5b3Ugd2FudCB0byBzdG9wIHRpbWluZyBhbmQgdG8gcHJpbnQgb3V0IGEKKyAqICAgICAgICAgICBtZXNzYWdlIGFib3V0IHRoZSB0aW1pbmcgcGVyZm9ybWVkOyBmb3JtYXQgaXMgYSBwcmludGYKKyAqICAgICAgICAgICB0eXBlIGFyZ3VtZW50CisgKi8KK3N0YXRpYyB2b2lkIFhNTENERUNMCitlbmRUaW1lcihjb25zdCBjaGFyICpmbXQsIC4uLikKK3sKKyAgICBsb25nIG1zZWM7CisgICAgdmFfbGlzdCBhcDsKKworICAgIGdldHRpbWVvZmRheSgmZW5kLCBOVUxMKTsKKyAgICBtc2VjID0gZW5kLnR2X3NlYyAtIGJlZ2luLnR2X3NlYzsKKyAgICBtc2VjICo9IDEwMDA7CisgICAgbXNlYyArPSAoZW5kLnR2X3VzZWMgLSBiZWdpbi50dl91c2VjKSAvIDEwMDA7CisKKyNpZm5kZWYgSEFWRV9TVERBUkdfSAorI2Vycm9yICJlbmRUaW1lciByZXF1aXJlZCBzdGRhcmcgZnVuY3Rpb25zIgorI2VuZGlmCisgICAgdmFfc3RhcnQoYXAsIGZtdCk7CisgICAgdmZwcmludGYoc3RkZXJyLCBmbXQsIGFwKTsKKyAgICB2YV9lbmQoYXApOworCisgICAgZnByaW50ZihzdGRlcnIsICIgdG9vayAlbGQgbXNcbiIsIG1zZWMpOworfQorI2VsaWYgZGVmaW5lZChIQVZFX1RJTUVfSCkKKy8qCisgKiBObyBnZXR0aW1lb2ZkYXkgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG8gbWFrZSBkbyB3aXRoIGNhbGxpbmcgY2xvY2suCisgKiBUaGlzIGlzIG9idmlvdXNseSBsZXNzIGFjY3VyYXRlLCBidXQgdGhlcmUncyBsaXR0bGUgd2UgY2FuIGRvIGFib3V0CisgKiB0aGF0LgorICovCisjaWZuZGVmIENMT0NLU19QRVJfU0VDCisjZGVmaW5lIENMT0NLU19QRVJfU0VDIDEwMAorI2VuZGlmCisKK3N0YXRpYyBjbG9ja190IGJlZ2luLCBlbmQ7CitzdGF0aWMgdm9pZAorc3RhcnRUaW1lcih2b2lkKQoreworICAgIGJlZ2luID0gY2xvY2soKTsKK30KK3N0YXRpYyB2b2lkIFhNTENERUNMCitlbmRUaW1lcihjb25zdCBjaGFyICpmbXQsIC4uLikKK3sKKyAgICBsb25nIG1zZWM7CisgICAgdmFfbGlzdCBhcDsKKworICAgIGVuZCA9IGNsb2NrKCk7CisgICAgbXNlYyA9ICgoZW5kIC0gYmVnaW4pICogMTAwMCkgLyBDTE9DS1NfUEVSX1NFQzsKKworI2lmbmRlZiBIQVZFX1NUREFSR19ICisjZXJyb3IgImVuZFRpbWVyIHJlcXVpcmVkIHN0ZGFyZyBmdW5jdGlvbnMiCisjZW5kaWYKKyAgICB2YV9zdGFydChhcCwgZm10KTsKKyAgICB2ZnByaW50ZihzdGRlcnIsIGZtdCwgYXApOworICAgIHZhX2VuZChhcCk7CisgICAgZnByaW50ZihzdGRlcnIsICIgdG9vayAlbGQgbXNcbiIsIG1zZWMpOworfQorI2Vsc2UKKworLyoKKyAqIFdlIGRvbid0IGhhdmUgYSBnZXR0aW1lb2ZkYXkgb3IgdGltZS5oLCBzbyB3ZSBqdXN0IGRvbid0IGRvIHRpbWluZworICovCitzdGF0aWMgdm9pZAorc3RhcnRUaW1lcih2b2lkKQoreworICAgIC8qCisgICAgICogRG8gbm90aGluZworICAgICAqLworfQorc3RhdGljIHZvaWQgWE1MQ0RFQ0wKK2VuZFRpbWVyKGNoYXIgKmZvcm1hdCwgLi4uKQoreworICAgIC8qCisgICAgICogV2UgY2Fubm90IGRvIGFueXRoaW5nIGJlY2F1c2Ugd2UgZG9uJ3QgaGF2ZSBhIHRpbWluZyBmdW5jdGlvbgorICAgICAqLworI2lmZGVmIEhBVkVfU1REQVJHX0gKKyAgICB2YV9zdGFydChhcCwgZm9ybWF0KTsKKyAgICB2ZnByaW50ZihzdGRlcnIsIGZvcm1hdCwgYXApOworICAgIHZhX2VuZChhcCk7CisgICAgZnByaW50ZihzdGRlcnIsICIgd2FzIG5vdCB0aW1lZFxuIiwgbXNlYyk7CisjZWxzZQorICAgIC8qIFdlIGRvbid0IGhhdmUgZ2V0dGltZW9mZGF5LCB0aW1lIG9yIHN0ZGFyZy5oLCB3aGF0IGNyYXp5IHdvcmxkIGlzCisgICAgICogdGhpcyA/IQorICAgICAqLworI2VuZGlmCit9CisjZW5kaWYKKworLyoKKyAqIGVtcHR5IFNBWCBibG9jaworICovCitzdGF0aWMgeG1sU0FYSGFuZGxlciBlbXB0eVNBWEhhbmRsZXJTdHJ1Y3QgPSB7CisgICAgTlVMTCwgLyogaW50ZXJuYWxTdWJzZXQgKi8KKyAgICBOVUxMLCAvKiBpc1N0YW5kYWxvbmUgKi8KKyAgICBOVUxMLCAvKiBoYXNJbnRlcm5hbFN1YnNldCAqLworICAgIE5VTEwsIC8qIGhhc0V4dGVybmFsU3Vic2V0ICovCisgICAgTlVMTCwgLyogcmVzb2x2ZUVudGl0eSAqLworICAgIE5VTEwsIC8qIGdldEVudGl0eSAqLworICAgIE5VTEwsIC8qIGVudGl0eURlY2wgKi8KKyAgICBOVUxMLCAvKiBub3RhdGlvbkRlY2wgKi8KKyAgICBOVUxMLCAvKiBhdHRyaWJ1dGVEZWNsICovCisgICAgTlVMTCwgLyogZWxlbWVudERlY2wgKi8KKyAgICBOVUxMLCAvKiB1bnBhcnNlZEVudGl0eURlY2wgKi8KKyAgICBOVUxMLCAvKiBzZXREb2N1bWVudExvY2F0b3IgKi8KKyAgICBOVUxMLCAvKiBzdGFydERvY3VtZW50ICovCisgICAgTlVMTCwgLyogZW5kRG9jdW1lbnQgKi8KKyAgICBOVUxMLCAvKiBzdGFydEVsZW1lbnQgKi8KKyAgICBOVUxMLCAvKiBlbmRFbGVtZW50ICovCisgICAgTlVMTCwgLyogcmVmZXJlbmNlICovCisgICAgTlVMTCwgLyogY2hhcmFjdGVycyAqLworICAgIE5VTEwsIC8qIGlnbm9yYWJsZVdoaXRlc3BhY2UgKi8KKyAgICBOVUxMLCAvKiBwcm9jZXNzaW5nSW5zdHJ1Y3Rpb24gKi8KKyAgICBOVUxMLCAvKiBjb21tZW50ICovCisgICAgTlVMTCwgLyogeG1sUGFyc2VyV2FybmluZyAqLworICAgIE5VTEwsIC8qIHhtbFBhcnNlckVycm9yICovCisgICAgTlVMTCwgLyogeG1sUGFyc2VyRXJyb3IgKi8KKyAgICBOVUxMLCAvKiBnZXRQYXJhbWV0ZXJFbnRpdHkgKi8KKyAgICBOVUxMLCAvKiBjZGF0YUJsb2NrOyAqLworICAgIE5VTEwsIC8qIGV4dGVybmFsU3Vic2V0OyAqLworICAgIDEsCisgICAgTlVMTCwKKyAgICBOVUxMLCAvKiBzdGFydEVsZW1lbnROcyAqLworICAgIE5VTEwsIC8qIGVuZEVsZW1lbnROcyAqLworICAgIE5VTEwgIC8qIHhtbFN0cnVjdHVyZWRFcnJvckZ1bmMgKi8KK307CisKK3N0YXRpYyB4bWxTQVhIYW5kbGVyUHRyIGVtcHR5U0FYSGFuZGxlciA9ICZlbXB0eVNBWEhhbmRsZXJTdHJ1Y3Q7CitleHRlcm4geG1sU0FYSGFuZGxlclB0ciBkZWJ1Z1NBWEhhbmRsZXI7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCQkJRGVidWcgSGFuZGxlcnMJCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioKKyAqIGlzU3RhbmRhbG9uZURlYnVnOgorICogQGN0eHQ6ICBBbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqCisgKiBJcyB0aGlzIGRvY3VtZW50IHRhZ2dlZCBzdGFuZGFsb25lID8KKyAqCisgKiBSZXR1cm5zIDEgaWYgdHJ1ZQorICovCitzdGF0aWMgaW50Citpc1N0YW5kYWxvbmVEZWJ1Zyh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCkKK3sKKyAgICBjYWxsYmFja3MrKzsKKyAgICBpZiAocXVpZXQpCisJcmV0dXJuKDApOworICAgIGZwcmludGYoc3Rkb3V0LCAiU0FYLmlzU3RhbmRhbG9uZSgpXG4iKTsKKyAgICByZXR1cm4oMCk7Cit9CisKKy8qKgorICogaGFzSW50ZXJuYWxTdWJzZXREZWJ1ZzoKKyAqIEBjdHh0OiAgQW4gWE1MIHBhcnNlciBjb250ZXh0CisgKgorICogRG9lcyB0aGlzIGRvY3VtZW50IGhhcyBhbiBpbnRlcm5hbCBzdWJzZXQKKyAqCisgKiBSZXR1cm5zIDEgaWYgdHJ1ZQorICovCitzdGF0aWMgaW50CitoYXNJbnRlcm5hbFN1YnNldERlYnVnKHZvaWQgKmN0eCBBVFRSSUJVVEVfVU5VU0VEKQoreworICAgIGNhbGxiYWNrcysrOworICAgIGlmIChxdWlldCkKKwlyZXR1cm4oMCk7CisgICAgZnByaW50ZihzdGRvdXQsICJTQVguaGFzSW50ZXJuYWxTdWJzZXQoKVxuIik7CisgICAgcmV0dXJuKDApOworfQorCisvKioKKyAqIGhhc0V4dGVybmFsU3Vic2V0RGVidWc6CisgKiBAY3R4dDogIEFuIFhNTCBwYXJzZXIgY29udGV4dAorICoKKyAqIERvZXMgdGhpcyBkb2N1bWVudCBoYXMgYW4gZXh0ZXJuYWwgc3Vic2V0CisgKgorICogUmV0dXJucyAxIGlmIHRydWUKKyAqLworc3RhdGljIGludAoraGFzRXh0ZXJuYWxTdWJzZXREZWJ1Zyh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCkKK3sKKyAgICBjYWxsYmFja3MrKzsKKyAgICBpZiAocXVpZXQpCisJcmV0dXJuKDApOworICAgIGZwcmludGYoc3Rkb3V0LCAiU0FYLmhhc0V4dGVybmFsU3Vic2V0KClcbiIpOworICAgIHJldHVybigwKTsKK30KKworLyoqCisgKiBpbnRlcm5hbFN1YnNldERlYnVnOgorICogQGN0eHQ6ICBBbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqCisgKiBEb2VzIHRoaXMgZG9jdW1lbnQgaGFzIGFuIGludGVybmFsIHN1YnNldAorICovCitzdGF0aWMgdm9pZAoraW50ZXJuYWxTdWJzZXREZWJ1Zyh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCwgY29uc3QgeG1sQ2hhciAqbmFtZSwKKwkgICAgICAgY29uc3QgeG1sQ2hhciAqRXh0ZXJuYWxJRCwgY29uc3QgeG1sQ2hhciAqU3lzdGVtSUQpCit7CisgICAgY2FsbGJhY2tzKys7CisgICAgaWYgKHF1aWV0KQorCXJldHVybjsKKyAgICBmcHJpbnRmKHN0ZG91dCwgIlNBWC5pbnRlcm5hbFN1YnNldCglcywiLCBuYW1lKTsKKyAgICBpZiAoRXh0ZXJuYWxJRCA9PSBOVUxMKQorCWZwcmludGYoc3Rkb3V0LCAiICwiKTsKKyAgICBlbHNlCisJZnByaW50ZihzdGRvdXQsICIgJXMsIiwgRXh0ZXJuYWxJRCk7CisgICAgaWYgKFN5c3RlbUlEID09IE5VTEwpCisJZnByaW50ZihzdGRvdXQsICIgKVxuIik7CisgICAgZWxzZQorCWZwcmludGYoc3Rkb3V0LCAiICVzKVxuIiwgU3lzdGVtSUQpOworfQorCisvKioKKyAqIGV4dGVybmFsU3Vic2V0RGVidWc6CisgKiBAY3R4dDogIEFuIFhNTCBwYXJzZXIgY29udGV4dAorICoKKyAqIERvZXMgdGhpcyBkb2N1bWVudCBoYXMgYW4gZXh0ZXJuYWwgc3Vic2V0CisgKi8KK3N0YXRpYyB2b2lkCitleHRlcm5hbFN1YnNldERlYnVnKHZvaWQgKmN0eCBBVFRSSUJVVEVfVU5VU0VELCBjb25zdCB4bWxDaGFyICpuYW1lLAorCSAgICAgICBjb25zdCB4bWxDaGFyICpFeHRlcm5hbElELCBjb25zdCB4bWxDaGFyICpTeXN0ZW1JRCkKK3sKKyAgICBjYWxsYmFja3MrKzsKKyAgICBpZiAocXVpZXQpCisJcmV0dXJuOworICAgIGZwcmludGYoc3Rkb3V0LCAiU0FYLmV4dGVybmFsU3Vic2V0KCVzLCIsIG5hbWUpOworICAgIGlmIChFeHRlcm5hbElEID09IE5VTEwpCisJZnByaW50ZihzdGRvdXQsICIgLCIpOworICAgIGVsc2UKKwlmcHJpbnRmKHN0ZG91dCwgIiAlcywiLCBFeHRlcm5hbElEKTsKKyAgICBpZiAoU3lzdGVtSUQgPT0gTlVMTCkKKwlmcHJpbnRmKHN0ZG91dCwgIiApXG4iKTsKKyAgICBlbHNlCisJZnByaW50ZihzdGRvdXQsICIgJXMpXG4iLCBTeXN0ZW1JRCk7Cit9CisKKy8qKgorICogcmVzb2x2ZUVudGl0eURlYnVnOgorICogQGN0eHQ6ICBBbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBwdWJsaWNJZDogVGhlIHB1YmxpYyBJRCBvZiB0aGUgZW50aXR5CisgKiBAc3lzdGVtSWQ6IFRoZSBzeXN0ZW0gSUQgb2YgdGhlIGVudGl0eQorICoKKyAqIFNwZWNpYWwgZW50aXR5IHJlc29sdmVyLCBiZXR0ZXIgbGVmdCB0byB0aGUgcGFyc2VyLCBpdCBoYXMKKyAqIG1vcmUgY29udGV4dCB0aGFuIHRoZSBhcHBsaWNhdGlvbiBsYXllci4KKyAqIFRoZSBkZWZhdWx0IGJlaGF2aW91ciBpcyB0byBOT1QgcmVzb2x2ZSB0aGUgZW50aXRpZXMsIGluIHRoYXQgY2FzZQorICogdGhlIEVOVElUWV9SRUYgbm9kZXMgYXJlIGJ1aWx0IGluIHRoZSBzdHJ1Y3R1cmUgKGFuZCB0aGUgcGFyYW1ldGVyCisgKiB2YWx1ZXMpLgorICoKKyAqIFJldHVybnMgdGhlIHhtbFBhcnNlcklucHV0UHRyIGlmIGlubGluZWQgb3IgTlVMTCBmb3IgRE9NIGJlaGF2aW91ci4KKyAqLworc3RhdGljIHhtbFBhcnNlcklucHV0UHRyCityZXNvbHZlRW50aXR5RGVidWcodm9pZCAqY3R4IEFUVFJJQlVURV9VTlVTRUQsIGNvbnN0IHhtbENoYXIgKnB1YmxpY0lkLCBjb25zdCB4bWxDaGFyICpzeXN0ZW1JZCkKK3sKKyAgICBjYWxsYmFja3MrKzsKKyAgICBpZiAocXVpZXQpCisJcmV0dXJuKE5VTEwpOworICAgIC8qIHhtbFBhcnNlckN0eHRQdHIgY3R4dCA9ICh4bWxQYXJzZXJDdHh0UHRyKSBjdHg7ICovCisKKworICAgIGZwcmludGYoc3Rkb3V0LCAiU0FYLnJlc29sdmVFbnRpdHkoIik7CisgICAgaWYgKHB1YmxpY0lkICE9IE5VTEwpCisJZnByaW50ZihzdGRvdXQsICIlcyIsIChjaGFyICopcHVibGljSWQpOworICAgIGVsc2UKKwlmcHJpbnRmKHN0ZG91dCwgIiAiKTsKKyAgICBpZiAoc3lzdGVtSWQgIT0gTlVMTCkKKwlmcHJpbnRmKHN0ZG91dCwgIiwgJXMpXG4iLCAoY2hhciAqKXN5c3RlbUlkKTsKKyAgICBlbHNlCisJZnByaW50ZihzdGRvdXQsICIsIClcbiIpOworLyoqKioqKioqKgorICAgIGlmIChzeXN0ZW1JZCAhPSBOVUxMKSB7CisgICAgICAgIHJldHVybih4bWxOZXdJbnB1dEZyb21GaWxlKGN0eHQsIChjaGFyICopIHN5c3RlbUlkKSk7CisgICAgfQorICoqKioqKioqKi8KKyAgICByZXR1cm4oTlVMTCk7Cit9CisKKy8qKgorICogZ2V0RW50aXR5RGVidWc6CisgKiBAY3R4dDogIEFuIFhNTCBwYXJzZXIgY29udGV4dAorICogQG5hbWU6IFRoZSBlbnRpdHkgbmFtZQorICoKKyAqIEdldCBhbiBlbnRpdHkgYnkgbmFtZQorICoKKyAqIFJldHVybnMgdGhlIHhtbFBhcnNlcklucHV0UHRyIGlmIGlubGluZWQgb3IgTlVMTCBmb3IgRE9NIGJlaGF2aW91ci4KKyAqLworc3RhdGljIHhtbEVudGl0eVB0cgorZ2V0RW50aXR5RGVidWcodm9pZCAqY3R4IEFUVFJJQlVURV9VTlVTRUQsIGNvbnN0IHhtbENoYXIgKm5hbWUpCit7CisgICAgY2FsbGJhY2tzKys7CisgICAgaWYgKHF1aWV0KQorCXJldHVybihOVUxMKTsKKyAgICBmcHJpbnRmKHN0ZG91dCwgIlNBWC5nZXRFbnRpdHkoJXMpXG4iLCBuYW1lKTsKKyAgICByZXR1cm4oTlVMTCk7Cit9CisKKy8qKgorICogZ2V0UGFyYW1ldGVyRW50aXR5RGVidWc6CisgKiBAY3R4dDogIEFuIFhNTCBwYXJzZXIgY29udGV4dAorICogQG5hbWU6IFRoZSBlbnRpdHkgbmFtZQorICoKKyAqIEdldCBhIHBhcmFtZXRlciBlbnRpdHkgYnkgbmFtZQorICoKKyAqIFJldHVybnMgdGhlIHhtbFBhcnNlcklucHV0UHRyCisgKi8KK3N0YXRpYyB4bWxFbnRpdHlQdHIKK2dldFBhcmFtZXRlckVudGl0eURlYnVnKHZvaWQgKmN0eCBBVFRSSUJVVEVfVU5VU0VELCBjb25zdCB4bWxDaGFyICpuYW1lKQoreworICAgIGNhbGxiYWNrcysrOworICAgIGlmIChxdWlldCkKKwlyZXR1cm4oTlVMTCk7CisgICAgZnByaW50ZihzdGRvdXQsICJTQVguZ2V0UGFyYW1ldGVyRW50aXR5KCVzKVxuIiwgbmFtZSk7CisgICAgcmV0dXJuKE5VTEwpOworfQorCisKKy8qKgorICogZW50aXR5RGVjbERlYnVnOgorICogQGN0eHQ6ICBBbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBuYW1lOiAgdGhlIGVudGl0eSBuYW1lCisgKiBAdHlwZTogIHRoZSBlbnRpdHkgdHlwZQorICogQHB1YmxpY0lkOiBUaGUgcHVibGljIElEIG9mIHRoZSBlbnRpdHkKKyAqIEBzeXN0ZW1JZDogVGhlIHN5c3RlbSBJRCBvZiB0aGUgZW50aXR5CisgKiBAY29udGVudDogdGhlIGVudGl0eSB2YWx1ZSAod2l0aG91dCBwcm9jZXNzaW5nKS4KKyAqCisgKiBBbiBlbnRpdHkgZGVmaW5pdGlvbiBoYXMgYmVlbiBwYXJzZWQKKyAqLworc3RhdGljIHZvaWQKK2VudGl0eURlY2xEZWJ1Zyh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCwgY29uc3QgeG1sQ2hhciAqbmFtZSwgaW50IHR5cGUsCisgICAgICAgICAgY29uc3QgeG1sQ2hhciAqcHVibGljSWQsIGNvbnN0IHhtbENoYXIgKnN5c3RlbUlkLCB4bWxDaGFyICpjb250ZW50KQoreworY29uc3QgeG1sQ2hhciAqbnVsbHN0ciA9IEJBRF9DQVNUICIobnVsbCkiOworICAgIC8qIG5vdCBhbGwgbGlicmFyaWVzIGhhbmRsZSBwcmludGluZyBudWxsIHBvaW50ZXJzIG5pY2VseSAqLworICAgIGlmIChwdWJsaWNJZCA9PSBOVUxMKQorICAgICAgICBwdWJsaWNJZCA9IG51bGxzdHI7CisgICAgaWYgKHN5c3RlbUlkID09IE5VTEwpCisgICAgICAgIHN5c3RlbUlkID0gbnVsbHN0cjsKKyAgICBpZiAoY29udGVudCA9PSBOVUxMKQorICAgICAgICBjb250ZW50ID0gKHhtbENoYXIgKiludWxsc3RyOworICAgIGNhbGxiYWNrcysrOworICAgIGlmIChxdWlldCkKKwlyZXR1cm47CisgICAgZnByaW50ZihzdGRvdXQsICJTQVguZW50aXR5RGVjbCglcywgJWQsICVzLCAlcywgJXMpXG4iLAorICAgICAgICAgICAgbmFtZSwgdHlwZSwgcHVibGljSWQsIHN5c3RlbUlkLCBjb250ZW50KTsKK30KKworLyoqCisgKiBhdHRyaWJ1dGVEZWNsRGVidWc6CisgKiBAY3R4dDogIEFuIFhNTCBwYXJzZXIgY29udGV4dAorICogQG5hbWU6ICB0aGUgYXR0cmlidXRlIG5hbWUKKyAqIEB0eXBlOiAgdGhlIGF0dHJpYnV0ZSB0eXBlCisgKgorICogQW4gYXR0cmlidXRlIGRlZmluaXRpb24gaGFzIGJlZW4gcGFyc2VkCisgKi8KK3N0YXRpYyB2b2lkCithdHRyaWJ1dGVEZWNsRGVidWcodm9pZCAqY3R4IEFUVFJJQlVURV9VTlVTRUQsIGNvbnN0IHhtbENoYXIgKiBlbGVtLAorICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBuYW1lLCBpbnQgdHlwZSwgaW50IGRlZiwKKyAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogZGVmYXVsdFZhbHVlLCB4bWxFbnVtZXJhdGlvblB0ciB0cmVlKQoreworICAgIGNhbGxiYWNrcysrOworICAgIGlmIChxdWlldCkKKyAgICAgICAgcmV0dXJuOworICAgIGlmIChkZWZhdWx0VmFsdWUgPT0gTlVMTCkKKyAgICAgICAgZnByaW50ZihzdGRvdXQsICJTQVguYXR0cmlidXRlRGVjbCglcywgJXMsICVkLCAlZCwgTlVMTCwgLi4uKVxuIiwKKyAgICAgICAgICAgICAgICBlbGVtLCBuYW1lLCB0eXBlLCBkZWYpOworICAgIGVsc2UKKyAgICAgICAgZnByaW50ZihzdGRvdXQsICJTQVguYXR0cmlidXRlRGVjbCglcywgJXMsICVkLCAlZCwgJXMsIC4uLilcbiIsCisgICAgICAgICAgICAgICAgZWxlbSwgbmFtZSwgdHlwZSwgZGVmLCBkZWZhdWx0VmFsdWUpOworICAgIHhtbEZyZWVFbnVtZXJhdGlvbih0cmVlKTsKK30KKworLyoqCisgKiBlbGVtZW50RGVjbERlYnVnOgorICogQGN0eHQ6ICBBbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBuYW1lOiAgdGhlIGVsZW1lbnQgbmFtZQorICogQHR5cGU6ICB0aGUgZWxlbWVudCB0eXBlCisgKiBAY29udGVudDogdGhlIGVsZW1lbnQgdmFsdWUgKHdpdGhvdXQgcHJvY2Vzc2luZykuCisgKgorICogQW4gZWxlbWVudCBkZWZpbml0aW9uIGhhcyBiZWVuIHBhcnNlZAorICovCitzdGF0aWMgdm9pZAorZWxlbWVudERlY2xEZWJ1Zyh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCwgY29uc3QgeG1sQ2hhciAqbmFtZSwgaW50IHR5cGUsCisJICAgIHhtbEVsZW1lbnRDb250ZW50UHRyIGNvbnRlbnQgQVRUUklCVVRFX1VOVVNFRCkKK3sKKyAgICBjYWxsYmFja3MrKzsKKyAgICBpZiAocXVpZXQpCisJcmV0dXJuOworICAgIGZwcmludGYoc3Rkb3V0LCAiU0FYLmVsZW1lbnREZWNsKCVzLCAlZCwgLi4uKVxuIiwKKyAgICAgICAgICAgIG5hbWUsIHR5cGUpOworfQorCisvKioKKyAqIG5vdGF0aW9uRGVjbERlYnVnOgorICogQGN0eHQ6ICBBbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBuYW1lOiBUaGUgbmFtZSBvZiB0aGUgbm90YXRpb24KKyAqIEBwdWJsaWNJZDogVGhlIHB1YmxpYyBJRCBvZiB0aGUgZW50aXR5CisgKiBAc3lzdGVtSWQ6IFRoZSBzeXN0ZW0gSUQgb2YgdGhlIGVudGl0eQorICoKKyAqIFdoYXQgdG8gZG8gd2hlbiBhIG5vdGF0aW9uIGRlY2xhcmF0aW9uIGhhcyBiZWVuIHBhcnNlZC4KKyAqLworc3RhdGljIHZvaWQKK25vdGF0aW9uRGVjbERlYnVnKHZvaWQgKmN0eCBBVFRSSUJVVEVfVU5VU0VELCBjb25zdCB4bWxDaGFyICpuYW1lLAorCSAgICAgY29uc3QgeG1sQ2hhciAqcHVibGljSWQsIGNvbnN0IHhtbENoYXIgKnN5c3RlbUlkKQoreworICAgIGNhbGxiYWNrcysrOworICAgIGlmIChxdWlldCkKKwlyZXR1cm47CisgICAgZnByaW50ZihzdGRvdXQsICJTQVgubm90YXRpb25EZWNsKCVzLCAlcywgJXMpXG4iLAorICAgICAgICAgICAgKGNoYXIgKikgbmFtZSwgKGNoYXIgKikgcHVibGljSWQsIChjaGFyICopIHN5c3RlbUlkKTsKK30KKworLyoqCisgKiB1bnBhcnNlZEVudGl0eURlY2xEZWJ1ZzoKKyAqIEBjdHh0OiAgQW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAbmFtZTogVGhlIG5hbWUgb2YgdGhlIGVudGl0eQorICogQHB1YmxpY0lkOiBUaGUgcHVibGljIElEIG9mIHRoZSBlbnRpdHkKKyAqIEBzeXN0ZW1JZDogVGhlIHN5c3RlbSBJRCBvZiB0aGUgZW50aXR5CisgKiBAbm90YXRpb25OYW1lOiB0aGUgbmFtZSBvZiB0aGUgbm90YXRpb24KKyAqCisgKiBXaGF0IHRvIGRvIHdoZW4gYW4gdW5wYXJzZWQgZW50aXR5IGRlY2xhcmF0aW9uIGlzIHBhcnNlZAorICovCitzdGF0aWMgdm9pZAordW5wYXJzZWRFbnRpdHlEZWNsRGVidWcodm9pZCAqY3R4IEFUVFJJQlVURV9VTlVTRUQsIGNvbnN0IHhtbENoYXIgKm5hbWUsCisJCSAgIGNvbnN0IHhtbENoYXIgKnB1YmxpY0lkLCBjb25zdCB4bWxDaGFyICpzeXN0ZW1JZCwKKwkJICAgY29uc3QgeG1sQ2hhciAqbm90YXRpb25OYW1lKQoreworY29uc3QgeG1sQ2hhciAqbnVsbHN0ciA9IEJBRF9DQVNUICIobnVsbCkiOworCisgICAgaWYgKHB1YmxpY0lkID09IE5VTEwpCisgICAgICAgIHB1YmxpY0lkID0gbnVsbHN0cjsKKyAgICBpZiAoc3lzdGVtSWQgPT0gTlVMTCkKKyAgICAgICAgc3lzdGVtSWQgPSBudWxsc3RyOworICAgIGlmIChub3RhdGlvbk5hbWUgPT0gTlVMTCkKKyAgICAgICAgbm90YXRpb25OYW1lID0gbnVsbHN0cjsKKyAgICBjYWxsYmFja3MrKzsKKyAgICBpZiAocXVpZXQpCisJcmV0dXJuOworICAgIGZwcmludGYoc3Rkb3V0LCAiU0FYLnVucGFyc2VkRW50aXR5RGVjbCglcywgJXMsICVzLCAlcylcbiIsCisgICAgICAgICAgICAoY2hhciAqKSBuYW1lLCAoY2hhciAqKSBwdWJsaWNJZCwgKGNoYXIgKikgc3lzdGVtSWQsCisJICAgIChjaGFyICopIG5vdGF0aW9uTmFtZSk7Cit9CisKKy8qKgorICogc2V0RG9jdW1lbnRMb2NhdG9yRGVidWc6CisgKiBAY3R4dDogIEFuIFhNTCBwYXJzZXIgY29udGV4dAorICogQGxvYzogQSBTQVggTG9jYXRvcgorICoKKyAqIFJlY2VpdmUgdGhlIGRvY3VtZW50IGxvY2F0b3IgYXQgc3RhcnR1cCwgYWN0dWFsbHkgeG1sRGVmYXVsdFNBWExvY2F0b3IKKyAqIEV2ZXJ5dGhpbmcgaXMgYXZhaWxhYmxlIG9uIHRoZSBjb250ZXh0LCBzbyB0aGlzIGlzIHVzZWxlc3MgaW4gb3VyIGNhc2UuCisgKi8KK3N0YXRpYyB2b2lkCitzZXREb2N1bWVudExvY2F0b3JEZWJ1Zyh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCwgeG1sU0FYTG9jYXRvclB0ciBsb2MgQVRUUklCVVRFX1VOVVNFRCkKK3sKKyAgICBjYWxsYmFja3MrKzsKKyAgICBpZiAocXVpZXQpCisJcmV0dXJuOworICAgIGZwcmludGYoc3Rkb3V0LCAiU0FYLnNldERvY3VtZW50TG9jYXRvcigpXG4iKTsKK30KKworLyoqCisgKiBzdGFydERvY3VtZW50RGVidWc6CisgKiBAY3R4dDogIEFuIFhNTCBwYXJzZXIgY29udGV4dAorICoKKyAqIGNhbGxlZCB3aGVuIHRoZSBkb2N1bWVudCBzdGFydCBiZWluZyBwcm9jZXNzZWQuCisgKi8KK3N0YXRpYyB2b2lkCitzdGFydERvY3VtZW50RGVidWcodm9pZCAqY3R4IEFUVFJJQlVURV9VTlVTRUQpCit7CisgICAgY2FsbGJhY2tzKys7CisgICAgaWYgKHF1aWV0KQorCXJldHVybjsKKyAgICBmcHJpbnRmKHN0ZG91dCwgIlNBWC5zdGFydERvY3VtZW50KClcbiIpOworfQorCisvKioKKyAqIGVuZERvY3VtZW50RGVidWc6CisgKiBAY3R4dDogIEFuIFhNTCBwYXJzZXIgY29udGV4dAorICoKKyAqIGNhbGxlZCB3aGVuIHRoZSBkb2N1bWVudCBlbmQgaGFzIGJlZW4gZGV0ZWN0ZWQuCisgKi8KK3N0YXRpYyB2b2lkCitlbmREb2N1bWVudERlYnVnKHZvaWQgKmN0eCBBVFRSSUJVVEVfVU5VU0VEKQoreworICAgIGNhbGxiYWNrcysrOworICAgIGlmIChxdWlldCkKKwlyZXR1cm47CisgICAgZnByaW50ZihzdGRvdXQsICJTQVguZW5kRG9jdW1lbnQoKVxuIik7Cit9CisKKy8qKgorICogc3RhcnRFbGVtZW50RGVidWc6CisgKiBAY3R4dDogIEFuIFhNTCBwYXJzZXIgY29udGV4dAorICogQG5hbWU6ICBUaGUgZWxlbWVudCBuYW1lCisgKgorICogY2FsbGVkIHdoZW4gYW4gb3BlbmluZyB0YWcgaGFzIGJlZW4gcHJvY2Vzc2VkLgorICovCitzdGF0aWMgdm9pZAorc3RhcnRFbGVtZW50RGVidWcodm9pZCAqY3R4IEFUVFJJQlVURV9VTlVTRUQsIGNvbnN0IHhtbENoYXIgKm5hbWUsIGNvbnN0IHhtbENoYXIgKiphdHRzKQoreworICAgIGludCBpOworCisgICAgY2FsbGJhY2tzKys7CisgICAgaWYgKHF1aWV0KQorCXJldHVybjsKKyAgICBmcHJpbnRmKHN0ZG91dCwgIlNBWC5zdGFydEVsZW1lbnQoJXMiLCAoY2hhciAqKSBuYW1lKTsKKyAgICBpZiAoYXR0cyAhPSBOVUxMKSB7CisgICAgICAgIGZvciAoaSA9IDA7KGF0dHNbaV0gIT0gTlVMTCk7aSsrKSB7CisJICAgIGZwcmludGYoc3Rkb3V0LCAiLCAlcz0nIiwgYXR0c1tpKytdKTsKKwkgICAgaWYgKGF0dHNbaV0gIT0gTlVMTCkKKwkgICAgICAgIGZwcmludGYoc3Rkb3V0LCAiJXMnIiwgYXR0c1tpXSk7CisJfQorICAgIH0KKyAgICBmcHJpbnRmKHN0ZG91dCwgIilcbiIpOworfQorCisvKioKKyAqIGVuZEVsZW1lbnREZWJ1ZzoKKyAqIEBjdHh0OiAgQW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAbmFtZTogIFRoZSBlbGVtZW50IG5hbWUKKyAqCisgKiBjYWxsZWQgd2hlbiB0aGUgZW5kIG9mIGFuIGVsZW1lbnQgaGFzIGJlZW4gZGV0ZWN0ZWQuCisgKi8KK3N0YXRpYyB2b2lkCitlbmRFbGVtZW50RGVidWcodm9pZCAqY3R4IEFUVFJJQlVURV9VTlVTRUQsIGNvbnN0IHhtbENoYXIgKm5hbWUpCit7CisgICAgY2FsbGJhY2tzKys7CisgICAgaWYgKHF1aWV0KQorCXJldHVybjsKKyAgICBmcHJpbnRmKHN0ZG91dCwgIlNBWC5lbmRFbGVtZW50KCVzKVxuIiwgKGNoYXIgKikgbmFtZSk7Cit9CisKKy8qKgorICogY2hhcmFjdGVyc0RlYnVnOgorICogQGN0eHQ6ICBBbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBjaDogIGEgeG1sQ2hhciBzdHJpbmcKKyAqIEBsZW46IHRoZSBudW1iZXIgb2YgeG1sQ2hhcgorICoKKyAqIHJlY2VpdmluZyBzb21lIGNoYXJzIGZyb20gdGhlIHBhcnNlci4KKyAqIFF1ZXN0aW9uOiBob3cgbXVjaCBhdCBhIHRpbWUgPz8/CisgKi8KK3N0YXRpYyB2b2lkCitjaGFyYWN0ZXJzRGVidWcodm9pZCAqY3R4IEFUVFJJQlVURV9VTlVTRUQsIGNvbnN0IHhtbENoYXIgKmNoLCBpbnQgbGVuKQoreworICAgIGNoYXIgb3V0cHV0WzQwXTsKKyAgICBpbnQgaTsKKworICAgIGNhbGxiYWNrcysrOworICAgIGlmIChxdWlldCkKKwlyZXR1cm47CisgICAgZm9yIChpID0gMDsoaTxsZW4pICYmIChpIDwgMzApO2krKykKKwlvdXRwdXRbaV0gPSBjaFtpXTsKKyAgICBvdXRwdXRbaV0gPSAwOworCisgICAgZnByaW50ZihzdGRvdXQsICJTQVguY2hhcmFjdGVycyglcywgJWQpXG4iLCBvdXRwdXQsIGxlbik7Cit9CisKKy8qKgorICogcmVmZXJlbmNlRGVidWc6CisgKiBAY3R4dDogIEFuIFhNTCBwYXJzZXIgY29udGV4dAorICogQG5hbWU6ICBUaGUgZW50aXR5IG5hbWUKKyAqCisgKiBjYWxsZWQgd2hlbiBhbiBlbnRpdHkgcmVmZXJlbmNlIGlzIGRldGVjdGVkLgorICovCitzdGF0aWMgdm9pZAorcmVmZXJlbmNlRGVidWcodm9pZCAqY3R4IEFUVFJJQlVURV9VTlVTRUQsIGNvbnN0IHhtbENoYXIgKm5hbWUpCit7CisgICAgY2FsbGJhY2tzKys7CisgICAgaWYgKHF1aWV0KQorCXJldHVybjsKKyAgICBmcHJpbnRmKHN0ZG91dCwgIlNBWC5yZWZlcmVuY2UoJXMpXG4iLCBuYW1lKTsKK30KKworLyoqCisgKiBpZ25vcmFibGVXaGl0ZXNwYWNlRGVidWc6CisgKiBAY3R4dDogIEFuIFhNTCBwYXJzZXIgY29udGV4dAorICogQGNoOiAgYSB4bWxDaGFyIHN0cmluZworICogQHN0YXJ0OiB0aGUgZmlyc3QgY2hhciBpbiB0aGUgc3RyaW5nCisgKiBAbGVuOiB0aGUgbnVtYmVyIG9mIHhtbENoYXIKKyAqCisgKiByZWNlaXZpbmcgc29tZSBpZ25vcmFibGUgd2hpdGVzcGFjZXMgZnJvbSB0aGUgcGFyc2VyLgorICogUXVlc3Rpb246IGhvdyBtdWNoIGF0IGEgdGltZSA/Pz8KKyAqLworc3RhdGljIHZvaWQKK2lnbm9yYWJsZVdoaXRlc3BhY2VEZWJ1Zyh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCwgY29uc3QgeG1sQ2hhciAqY2gsIGludCBsZW4pCit7CisgICAgY2hhciBvdXRwdXRbNDBdOworICAgIGludCBpOworCisgICAgY2FsbGJhY2tzKys7CisgICAgaWYgKHF1aWV0KQorCXJldHVybjsKKyAgICBmb3IgKGkgPSAwOyhpPGxlbikgJiYgKGkgPCAzMCk7aSsrKQorCW91dHB1dFtpXSA9IGNoW2ldOworICAgIG91dHB1dFtpXSA9IDA7CisgICAgZnByaW50ZihzdGRvdXQsICJTQVguaWdub3JhYmxlV2hpdGVzcGFjZSglcywgJWQpXG4iLCBvdXRwdXQsIGxlbik7Cit9CisKKy8qKgorICogcHJvY2Vzc2luZ0luc3RydWN0aW9uRGVidWc6CisgKiBAY3R4dDogIEFuIFhNTCBwYXJzZXIgY29udGV4dAorICogQHRhcmdldDogIHRoZSB0YXJnZXQgbmFtZQorICogQGRhdGE6IHRoZSBQSSBkYXRhJ3MKKyAqIEBsZW46IHRoZSBudW1iZXIgb2YgeG1sQ2hhcgorICoKKyAqIEEgcHJvY2Vzc2luZyBpbnN0cnVjdGlvbiBoYXMgYmVlbiBwYXJzZWQuCisgKi8KK3N0YXRpYyB2b2lkCitwcm9jZXNzaW5nSW5zdHJ1Y3Rpb25EZWJ1Zyh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCwgY29uc3QgeG1sQ2hhciAqdGFyZ2V0LAorICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKmRhdGEpCit7CisgICAgY2FsbGJhY2tzKys7CisgICAgaWYgKHF1aWV0KQorCXJldHVybjsKKyAgICBpZiAoZGF0YSAhPSBOVUxMKQorCWZwcmludGYoc3Rkb3V0LCAiU0FYLnByb2Nlc3NpbmdJbnN0cnVjdGlvbiglcywgJXMpXG4iLAorCQkoY2hhciAqKSB0YXJnZXQsIChjaGFyICopIGRhdGEpOworICAgIGVsc2UKKwlmcHJpbnRmKHN0ZG91dCwgIlNBWC5wcm9jZXNzaW5nSW5zdHJ1Y3Rpb24oJXMsIE5VTEwpXG4iLAorCQkoY2hhciAqKSB0YXJnZXQpOworfQorCisvKioKKyAqIGNkYXRhQmxvY2tEZWJ1ZzoKKyAqIEBjdHg6IHRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCkKKyAqIEB2YWx1ZTogIFRoZSBwY2RhdGEgY29udGVudAorICogQGxlbjogIHRoZSBibG9jayBsZW5ndGgKKyAqCisgKiBjYWxsZWQgd2hlbiBhIHBjZGF0YSBibG9jayBoYXMgYmVlbiBwYXJzZWQKKyAqLworc3RhdGljIHZvaWQKK2NkYXRhQmxvY2tEZWJ1Zyh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCwgY29uc3QgeG1sQ2hhciAqdmFsdWUsIGludCBsZW4pCit7CisgICAgY2FsbGJhY2tzKys7CisgICAgaWYgKHF1aWV0KQorCXJldHVybjsKKyAgICBmcHJpbnRmKHN0ZG91dCwgIlNBWC5wY2RhdGEoJS4yMHMsICVkKVxuIiwKKwkgICAgKGNoYXIgKikgdmFsdWUsIGxlbik7Cit9CisKKy8qKgorICogY29tbWVudERlYnVnOgorICogQGN0eHQ6ICBBbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEB2YWx1ZTogIHRoZSBjb21tZW50IGNvbnRlbnQKKyAqCisgKiBBIGNvbW1lbnQgaGFzIGJlZW4gcGFyc2VkLgorICovCitzdGF0aWMgdm9pZAorY29tbWVudERlYnVnKHZvaWQgKmN0eCBBVFRSSUJVVEVfVU5VU0VELCBjb25zdCB4bWxDaGFyICp2YWx1ZSkKK3sKKyAgICBjYWxsYmFja3MrKzsKKyAgICBpZiAocXVpZXQpCisJcmV0dXJuOworICAgIGZwcmludGYoc3Rkb3V0LCAiU0FYLmNvbW1lbnQoJXMpXG4iLCB2YWx1ZSk7Cit9CisKKy8qKgorICogd2FybmluZ0RlYnVnOgorICogQGN0eHQ6ICBBbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBtc2c6ICB0aGUgbWVzc2FnZSB0byBkaXNwbGF5L3RyYW5zbWl0CisgKiBALi4uOiAgZXh0cmEgcGFyYW1ldGVycyBmb3IgdGhlIG1lc3NhZ2UgZGlzcGxheQorICoKKyAqIERpc3BsYXkgYW5kIGZvcm1hdCBhIHdhcm5pbmcgbWVzc2FnZXMsIGdpdmVzIGZpbGUsIGxpbmUsIHBvc2l0aW9uIGFuZAorICogZXh0cmEgcGFyYW1ldGVycy4KKyAqLworc3RhdGljIHZvaWQgWE1MQ0RFQ0wKK3dhcm5pbmdEZWJ1Zyh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCwgY29uc3QgY2hhciAqbXNnLCAuLi4pCit7CisgICAgdmFfbGlzdCBhcmdzOworCisgICAgY2FsbGJhY2tzKys7CisgICAgaWYgKHF1aWV0KQorCXJldHVybjsKKyAgICB2YV9zdGFydChhcmdzLCBtc2cpOworICAgIGZwcmludGYoc3Rkb3V0LCAiU0FYLndhcm5pbmc6ICIpOworICAgIHZmcHJpbnRmKHN0ZG91dCwgbXNnLCBhcmdzKTsKKyAgICB2YV9lbmQoYXJncyk7Cit9CisKKy8qKgorICogZXJyb3JEZWJ1ZzoKKyAqIEBjdHh0OiAgQW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAbXNnOiAgdGhlIG1lc3NhZ2UgdG8gZGlzcGxheS90cmFuc21pdAorICogQC4uLjogIGV4dHJhIHBhcmFtZXRlcnMgZm9yIHRoZSBtZXNzYWdlIGRpc3BsYXkKKyAqCisgKiBEaXNwbGF5IGFuZCBmb3JtYXQgYSBlcnJvciBtZXNzYWdlcywgZ2l2ZXMgZmlsZSwgbGluZSwgcG9zaXRpb24gYW5kCisgKiBleHRyYSBwYXJhbWV0ZXJzLgorICovCitzdGF0aWMgdm9pZCBYTUxDREVDTAorZXJyb3JEZWJ1Zyh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCwgY29uc3QgY2hhciAqbXNnLCAuLi4pCit7CisgICAgdmFfbGlzdCBhcmdzOworCisgICAgY2FsbGJhY2tzKys7CisgICAgaWYgKHF1aWV0KQorCXJldHVybjsKKyAgICB2YV9zdGFydChhcmdzLCBtc2cpOworICAgIGZwcmludGYoc3Rkb3V0LCAiU0FYLmVycm9yOiAiKTsKKyAgICB2ZnByaW50ZihzdGRvdXQsIG1zZywgYXJncyk7CisgICAgdmFfZW5kKGFyZ3MpOworfQorCisvKioKKyAqIGZhdGFsRXJyb3JEZWJ1ZzoKKyAqIEBjdHh0OiAgQW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAbXNnOiAgdGhlIG1lc3NhZ2UgdG8gZGlzcGxheS90cmFuc21pdAorICogQC4uLjogIGV4dHJhIHBhcmFtZXRlcnMgZm9yIHRoZSBtZXNzYWdlIGRpc3BsYXkKKyAqCisgKiBEaXNwbGF5IGFuZCBmb3JtYXQgYSBmYXRhbEVycm9yIG1lc3NhZ2VzLCBnaXZlcyBmaWxlLCBsaW5lLCBwb3NpdGlvbiBhbmQKKyAqIGV4dHJhIHBhcmFtZXRlcnMuCisgKi8KK3N0YXRpYyB2b2lkIFhNTENERUNMCitmYXRhbEVycm9yRGVidWcodm9pZCAqY3R4IEFUVFJJQlVURV9VTlVTRUQsIGNvbnN0IGNoYXIgKm1zZywgLi4uKQoreworICAgIHZhX2xpc3QgYXJnczsKKworICAgIGNhbGxiYWNrcysrOworICAgIGlmIChxdWlldCkKKwlyZXR1cm47CisgICAgdmFfc3RhcnQoYXJncywgbXNnKTsKKyAgICBmcHJpbnRmKHN0ZG91dCwgIlNBWC5mYXRhbEVycm9yOiAiKTsKKyAgICB2ZnByaW50ZihzdGRvdXQsIG1zZywgYXJncyk7CisgICAgdmFfZW5kKGFyZ3MpOworfQorCitzdGF0aWMgeG1sU0FYSGFuZGxlciBkZWJ1Z1NBWEhhbmRsZXJTdHJ1Y3QgPSB7CisgICAgaW50ZXJuYWxTdWJzZXREZWJ1ZywKKyAgICBpc1N0YW5kYWxvbmVEZWJ1ZywKKyAgICBoYXNJbnRlcm5hbFN1YnNldERlYnVnLAorICAgIGhhc0V4dGVybmFsU3Vic2V0RGVidWcsCisgICAgcmVzb2x2ZUVudGl0eURlYnVnLAorICAgIGdldEVudGl0eURlYnVnLAorICAgIGVudGl0eURlY2xEZWJ1ZywKKyAgICBub3RhdGlvbkRlY2xEZWJ1ZywKKyAgICBhdHRyaWJ1dGVEZWNsRGVidWcsCisgICAgZWxlbWVudERlY2xEZWJ1ZywKKyAgICB1bnBhcnNlZEVudGl0eURlY2xEZWJ1ZywKKyAgICBzZXREb2N1bWVudExvY2F0b3JEZWJ1ZywKKyAgICBzdGFydERvY3VtZW50RGVidWcsCisgICAgZW5kRG9jdW1lbnREZWJ1ZywKKyAgICBzdGFydEVsZW1lbnREZWJ1ZywKKyAgICBlbmRFbGVtZW50RGVidWcsCisgICAgcmVmZXJlbmNlRGVidWcsCisgICAgY2hhcmFjdGVyc0RlYnVnLAorICAgIGlnbm9yYWJsZVdoaXRlc3BhY2VEZWJ1ZywKKyAgICBwcm9jZXNzaW5nSW5zdHJ1Y3Rpb25EZWJ1ZywKKyAgICBjb21tZW50RGVidWcsCisgICAgd2FybmluZ0RlYnVnLAorICAgIGVycm9yRGVidWcsCisgICAgZmF0YWxFcnJvckRlYnVnLAorICAgIGdldFBhcmFtZXRlckVudGl0eURlYnVnLAorICAgIGNkYXRhQmxvY2tEZWJ1ZywKKyAgICBleHRlcm5hbFN1YnNldERlYnVnLAorICAgIDEsCisgICAgTlVMTCwKKyAgICBOVUxMLAorICAgIE5VTEwsCisgICAgTlVMTAorfTsKKworeG1sU0FYSGFuZGxlclB0ciBkZWJ1Z1NBWEhhbmRsZXIgPSAmZGVidWdTQVhIYW5kbGVyU3RydWN0OworCisvKgorICogU0FYMiBzcGVjaWZpYyBjYWxsYmFja3MKKyAqLworLyoqCisgKiBzdGFydEVsZW1lbnROc0RlYnVnOgorICogQGN0eHQ6ICBBbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBuYW1lOiAgVGhlIGVsZW1lbnQgbmFtZQorICoKKyAqIGNhbGxlZCB3aGVuIGFuIG9wZW5pbmcgdGFnIGhhcyBiZWVuIHByb2Nlc3NlZC4KKyAqLworc3RhdGljIHZvaWQKK3N0YXJ0RWxlbWVudE5zRGVidWcodm9pZCAqY3R4IEFUVFJJQlVURV9VTlVTRUQsCisgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKmxvY2FsbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqcHJlZml4LAorICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICpVUkksCisJCSAgICBpbnQgbmJfbmFtZXNwYWNlcywKKwkJICAgIGNvbnN0IHhtbENoYXIgKipuYW1lc3BhY2VzLAorCQkgICAgaW50IG5iX2F0dHJpYnV0ZXMsCisJCSAgICBpbnQgbmJfZGVmYXVsdGVkLAorCQkgICAgY29uc3QgeG1sQ2hhciAqKmF0dHJpYnV0ZXMpCit7CisgICAgaW50IGk7CisKKyAgICBjYWxsYmFja3MrKzsKKyAgICBpZiAocXVpZXQpCisJcmV0dXJuOworICAgIGZwcmludGYoc3Rkb3V0LCAiU0FYLnN0YXJ0RWxlbWVudE5zKCVzIiwgKGNoYXIgKikgbG9jYWxuYW1lKTsKKyAgICBpZiAocHJlZml4ID09IE5VTEwpCisJZnByaW50ZihzdGRvdXQsICIsIE5VTEwiKTsKKyAgICBlbHNlCisJZnByaW50ZihzdGRvdXQsICIsICVzIiwgKGNoYXIgKikgcHJlZml4KTsKKyAgICBpZiAoVVJJID09IE5VTEwpCisJZnByaW50ZihzdGRvdXQsICIsIE5VTEwiKTsKKyAgICBlbHNlCisJZnByaW50ZihzdGRvdXQsICIsICclcyciLCAoY2hhciAqKSBVUkkpOworICAgIGZwcmludGYoc3Rkb3V0LCAiLCAlZCIsIG5iX25hbWVzcGFjZXMpOworCisgICAgaWYgKG5hbWVzcGFjZXMgIT0gTlVMTCkgeworICAgICAgICBmb3IgKGkgPSAwO2kgPCBuYl9uYW1lc3BhY2VzICogMjtpKyspIHsKKwkgICAgZnByaW50ZihzdGRvdXQsICIsIHhtbG5zIik7CisJICAgIGlmIChuYW1lc3BhY2VzW2ldICE9IE5VTEwpCisJICAgICAgICBmcHJpbnRmKHN0ZG91dCwgIjolcyIsIG5hbWVzcGFjZXNbaV0pOworCSAgICBpKys7CisJICAgIGZwcmludGYoc3Rkb3V0LCAiPSclcyciLCBuYW1lc3BhY2VzW2ldKTsKKwl9CisgICAgfQorICAgIGZwcmludGYoc3Rkb3V0LCAiLCAlZCwgJWQiLCBuYl9hdHRyaWJ1dGVzLCBuYl9kZWZhdWx0ZWQpOworICAgIGlmIChhdHRyaWJ1dGVzICE9IE5VTEwpIHsKKyAgICAgICAgZm9yIChpID0gMDtpIDwgbmJfYXR0cmlidXRlcyAqIDU7aSArPSA1KSB7CisJICAgIGlmIChhdHRyaWJ1dGVzW2kgKyAxXSAhPSBOVUxMKQorCQlmcHJpbnRmKHN0ZG91dCwgIiwgJXM6JXM9JyIsIGF0dHJpYnV0ZXNbaSArIDFdLCBhdHRyaWJ1dGVzW2ldKTsKKwkgICAgZWxzZQorCQlmcHJpbnRmKHN0ZG91dCwgIiwgJXM9JyIsIGF0dHJpYnV0ZXNbaV0pOworCSAgICBmcHJpbnRmKHN0ZG91dCwgIiUuNHMuLi4nLCAlZCIsIGF0dHJpYnV0ZXNbaSArIDNdLAorCQkgICAgKGludCkoYXR0cmlidXRlc1tpICsgNF0gLSBhdHRyaWJ1dGVzW2kgKyAzXSkpOworCX0KKyAgICB9CisgICAgZnByaW50ZihzdGRvdXQsICIpXG4iKTsKK30KKworLyoqCisgKiBlbmRFbGVtZW50RGVidWc6CisgKiBAY3R4dDogIEFuIFhNTCBwYXJzZXIgY29udGV4dAorICogQG5hbWU6ICBUaGUgZWxlbWVudCBuYW1lCisgKgorICogY2FsbGVkIHdoZW4gdGhlIGVuZCBvZiBhbiBlbGVtZW50IGhhcyBiZWVuIGRldGVjdGVkLgorICovCitzdGF0aWMgdm9pZAorZW5kRWxlbWVudE5zRGVidWcodm9pZCAqY3R4IEFUVFJJQlVURV9VTlVTRUQsCisgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICpsb2NhbG5hbWUsCisgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICpwcmVmaXgsCisgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICpVUkkpCit7CisgICAgY2FsbGJhY2tzKys7CisgICAgaWYgKHF1aWV0KQorCXJldHVybjsKKyAgICBmcHJpbnRmKHN0ZG91dCwgIlNBWC5lbmRFbGVtZW50TnMoJXMiLCAoY2hhciAqKSBsb2NhbG5hbWUpOworICAgIGlmIChwcmVmaXggPT0gTlVMTCkKKwlmcHJpbnRmKHN0ZG91dCwgIiwgTlVMTCIpOworICAgIGVsc2UKKwlmcHJpbnRmKHN0ZG91dCwgIiwgJXMiLCAoY2hhciAqKSBwcmVmaXgpOworICAgIGlmIChVUkkgPT0gTlVMTCkKKwlmcHJpbnRmKHN0ZG91dCwgIiwgTlVMTClcbiIpOworICAgIGVsc2UKKwlmcHJpbnRmKHN0ZG91dCwgIiwgJyVzJylcbiIsIChjaGFyICopIFVSSSk7Cit9CisKK3N0YXRpYyB4bWxTQVhIYW5kbGVyIGRlYnVnU0FYMkhhbmRsZXJTdHJ1Y3QgPSB7CisgICAgaW50ZXJuYWxTdWJzZXREZWJ1ZywKKyAgICBpc1N0YW5kYWxvbmVEZWJ1ZywKKyAgICBoYXNJbnRlcm5hbFN1YnNldERlYnVnLAorICAgIGhhc0V4dGVybmFsU3Vic2V0RGVidWcsCisgICAgcmVzb2x2ZUVudGl0eURlYnVnLAorICAgIGdldEVudGl0eURlYnVnLAorICAgIGVudGl0eURlY2xEZWJ1ZywKKyAgICBub3RhdGlvbkRlY2xEZWJ1ZywKKyAgICBhdHRyaWJ1dGVEZWNsRGVidWcsCisgICAgZWxlbWVudERlY2xEZWJ1ZywKKyAgICB1bnBhcnNlZEVudGl0eURlY2xEZWJ1ZywKKyAgICBzZXREb2N1bWVudExvY2F0b3JEZWJ1ZywKKyAgICBzdGFydERvY3VtZW50RGVidWcsCisgICAgZW5kRG9jdW1lbnREZWJ1ZywKKyAgICBOVUxMLAorICAgIE5VTEwsCisgICAgcmVmZXJlbmNlRGVidWcsCisgICAgY2hhcmFjdGVyc0RlYnVnLAorICAgIGlnbm9yYWJsZVdoaXRlc3BhY2VEZWJ1ZywKKyAgICBwcm9jZXNzaW5nSW5zdHJ1Y3Rpb25EZWJ1ZywKKyAgICBjb21tZW50RGVidWcsCisgICAgd2FybmluZ0RlYnVnLAorICAgIGVycm9yRGVidWcsCisgICAgZmF0YWxFcnJvckRlYnVnLAorICAgIGdldFBhcmFtZXRlckVudGl0eURlYnVnLAorICAgIGNkYXRhQmxvY2tEZWJ1ZywKKyAgICBleHRlcm5hbFN1YnNldERlYnVnLAorICAgIFhNTF9TQVgyX01BR0lDLAorICAgIE5VTEwsCisgICAgc3RhcnRFbGVtZW50TnNEZWJ1ZywKKyAgICBlbmRFbGVtZW50TnNEZWJ1ZywKKyAgICBOVUxMCit9OworCitzdGF0aWMgeG1sU0FYSGFuZGxlclB0ciBkZWJ1Z1NBWDJIYW5kbGVyID0gJmRlYnVnU0FYMkhhbmRsZXJTdHJ1Y3Q7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCQkJRGVidWcJCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworc3RhdGljIHZvaWQKK3BhcnNlQW5kUHJpbnRGaWxlKGNoYXIgKmZpbGVuYW1lKSB7CisgICAgaW50IHJlczsKKworI2lmZGVmIExJQlhNTF9QVVNIX0VOQUJMRUQKKyAgICBpZiAocHVzaCkgeworCUZJTEUgKmY7CisKKyAgICAgICAgaWYgKCghcXVpZXQpICYmICghbm9udWxsKSkgeworCSAgICAvKgorCSAgICAgKiBFbXB0eSBjYWxsYmFja3MgZm9yIGNoZWNraW5nCisJICAgICAqLworI2lmIGRlZmluZWQoX1dJTjMyKSB8fCBkZWZpbmVkIChfX0RKR1BQX18pICYmICFkZWZpbmVkIChfX0NZR1dJTl9fKQorCSAgICBmID0gZm9wZW4oZmlsZW5hbWUsICJyYiIpOworI2Vsc2UKKwkgICAgZiA9IGZvcGVuKGZpbGVuYW1lLCAiciIpOworI2VuZGlmCisJICAgIGlmIChmICE9IE5VTEwpIHsKKwkJaW50IHJldDsKKwkJY2hhciBjaGFyc1sxMF07CisJCXhtbFBhcnNlckN0eHRQdHIgY3R4dDsKKworCQlyZXQgPSBmcmVhZChjaGFycywgMSwgNCwgZik7CisJCWlmIChyZXQgPiAwKSB7CisJCSAgICBjdHh0ID0geG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQoZW1wdHlTQVhIYW5kbGVyLCBOVUxMLAorCQkJCWNoYXJzLCByZXQsIGZpbGVuYW1lKTsKKwkJICAgIHdoaWxlICgocmV0ID0gZnJlYWQoY2hhcnMsIDEsIDMsIGYpKSA+IDApIHsKKwkJCXhtbFBhcnNlQ2h1bmsoY3R4dCwgY2hhcnMsIHJldCwgMCk7CisJCSAgICB9CisJCSAgICB4bWxQYXJzZUNodW5rKGN0eHQsIGNoYXJzLCAwLCAxKTsKKwkJICAgIHhtbEZyZWVQYXJzZXJDdHh0KGN0eHQpOworCQl9CisJCWZjbG9zZShmKTsKKwkgICAgfSBlbHNlIHsKKwkJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCQkiQ2Fubm90IHJlYWQgZmlsZSAlc1xuIiwgZmlsZW5hbWUpOworCSAgICB9CisJfQorCS8qCisJICogRGVidWcgY2FsbGJhY2sKKwkgKi8KKyNpZiBkZWZpbmVkKF9XSU4zMikgfHwgZGVmaW5lZCAoX19ESkdQUF9fKSAmJiAhZGVmaW5lZCAoX19DWUdXSU5fXykKKwlmID0gZm9wZW4oZmlsZW5hbWUsICJyYiIpOworI2Vsc2UKKwlmID0gZm9wZW4oZmlsZW5hbWUsICJyIik7CisjZW5kaWYKKwlpZiAoZiAhPSBOVUxMKSB7CisJICAgIGludCByZXQ7CisJICAgIGNoYXIgY2hhcnNbMTBdOworCSAgICB4bWxQYXJzZXJDdHh0UHRyIGN0eHQ7CisKKwkgICAgcmV0ID0gZnJlYWQoY2hhcnMsIDEsIDQsIGYpOworCSAgICBpZiAocmV0ID4gMCkgeworCSAgICAgICAgaWYgKHNheDIpCisJCSAgICBjdHh0ID0geG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQoZGVidWdTQVgySGFuZGxlciwgTlVMTCwKKwkJCQljaGFycywgcmV0LCBmaWxlbmFtZSk7CisJCWVsc2UKKwkJICAgIGN0eHQgPSB4bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dChkZWJ1Z1NBWEhhbmRsZXIsIE5VTEwsCisJCQkJY2hhcnMsIHJldCwgZmlsZW5hbWUpOworCQl3aGlsZSAoKHJldCA9IGZyZWFkKGNoYXJzLCAxLCAzLCBmKSkgPiAwKSB7CisJCSAgICB4bWxQYXJzZUNodW5rKGN0eHQsIGNoYXJzLCByZXQsIDApOworCQl9CisJCXJldCA9IHhtbFBhcnNlQ2h1bmsoY3R4dCwgY2hhcnMsIDAsIDEpOworCQl4bWxGcmVlUGFyc2VyQ3R4dChjdHh0KTsKKwkJaWYgKHJldCAhPSAwKSB7CisJCSAgICBmcHJpbnRmKHN0ZG91dCwKKwkJICAgICAgICAgICAgInhtbFNBWFVzZXJQYXJzZUZpbGUgcmV0dXJuZWQgZXJyb3IgJWRcbiIsIHJldCk7CisJCX0KKwkgICAgfQorCSAgICBmY2xvc2UoZik7CisJfQorICAgIH0gZWxzZSB7CisjZW5kaWYgLyogTElCWE1MX1BVU0hfRU5BQkxFRCAqLworCWlmICghc3BlZWQpIHsKKwkgICAgLyoKKwkgICAgICogRW1wdHkgY2FsbGJhY2tzIGZvciBjaGVja2luZworCSAgICAgKi8KKwkgICAgaWYgKCghcXVpZXQpICYmICghbm9udWxsKSkgeworCQlyZXMgPSB4bWxTQVhVc2VyUGFyc2VGaWxlKGVtcHR5U0FYSGFuZGxlciwgTlVMTCwgZmlsZW5hbWUpOworCQlpZiAocmVzICE9IDApIHsKKwkJICAgIGZwcmludGYoc3Rkb3V0LCAieG1sU0FYVXNlclBhcnNlRmlsZSByZXR1cm5lZCBlcnJvciAlZFxuIiwgcmVzKTsKKwkJfQorCSAgICB9CisKKwkgICAgLyoKKwkgICAgICogRGVidWcgY2FsbGJhY2sKKwkgICAgICovCisJICAgIGNhbGxiYWNrcyA9IDA7CisJICAgIGlmIChyZXBlYXQpIHsKKwkgICAgICAgIGludCBpOworCQlmb3IgKGkgPSAwO2kgPCA5OTtpKyspIHsKKwkJICAgIGlmIChzYXgyKQorCQkJcmVzID0geG1sU0FYVXNlclBhcnNlRmlsZShkZWJ1Z1NBWDJIYW5kbGVyLCBOVUxMLAorCQkJICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlbmFtZSk7CisJCSAgICBlbHNlCisJCQlyZXMgPSB4bWxTQVhVc2VyUGFyc2VGaWxlKGRlYnVnU0FYSGFuZGxlciwgTlVMTCwKKwkJCSAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZW5hbWUpOworCQl9CisJICAgIH0KKwkgICAgaWYgKHNheDIpCisJICAgICAgICByZXMgPSB4bWxTQVhVc2VyUGFyc2VGaWxlKGRlYnVnU0FYMkhhbmRsZXIsIE5VTEwsIGZpbGVuYW1lKTsKKwkgICAgZWxzZQorCQlyZXMgPSB4bWxTQVhVc2VyUGFyc2VGaWxlKGRlYnVnU0FYSGFuZGxlciwgTlVMTCwgZmlsZW5hbWUpOworCSAgICBpZiAocmVzICE9IDApIHsKKwkJZnByaW50ZihzdGRvdXQsICJ4bWxTQVhVc2VyUGFyc2VGaWxlIHJldHVybmVkIGVycm9yICVkXG4iLCByZXMpOworCSAgICB9CisJICAgIGlmIChxdWlldCkKKwkJZnByaW50ZihzdGRvdXQsICIlZCBjYWxsYmFja3MgZ2VuZXJhdGVkXG4iLCBjYWxsYmFja3MpOworCX0gZWxzZSB7CisJICAgIC8qCisJICAgICAqIHRlc3QgMTAweCB0aGUgU0FYIHBhcnNlCisJICAgICAqLworCSAgICBpbnQgaTsKKworCSAgICBmb3IgKGkgPSAwOyBpPDEwMDtpKyspCisJCXJlcyA9IHhtbFNBWFVzZXJQYXJzZUZpbGUoZW1wdHlTQVhIYW5kbGVyLCBOVUxMLCBmaWxlbmFtZSk7CisJICAgIGlmIChyZXMgIT0gMCkgeworCQlmcHJpbnRmKHN0ZG91dCwgInhtbFNBWFVzZXJQYXJzZUZpbGUgcmV0dXJuZWQgZXJyb3IgJWRcbiIsIHJlcyk7CisJICAgIH0KKwl9CisjaWZkZWYgTElCWE1MX1BVU0hfRU5BQkxFRAorICAgIH0KKyNlbmRpZgorfQorCisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgeworICAgIGludCBpOworICAgIGludCBmaWxlcyA9IDA7CisKKyAgICBMSUJYTUxfVEVTVF9WRVJTSU9OCS8qIGJlIHNhZmUsIHBsdXMgY2FsbHMgeG1sSW5pdFBhcnNlciAqLworCisgICAgZm9yIChpID0gMTsgaSA8IGFyZ2MgOyBpKyspIHsKKwlpZiAoKCFzdHJjbXAoYXJndltpXSwgIi1kZWJ1ZyIpKSB8fCAoIXN0cmNtcChhcmd2W2ldLCAiLS1kZWJ1ZyIpKSkKKwkgICAgZGVidWcrKzsKKwllbHNlIGlmICgoIXN0cmNtcChhcmd2W2ldLCAiLWNvcHkiKSkgfHwgKCFzdHJjbXAoYXJndltpXSwgIi0tY29weSIpKSkKKwkgICAgY29weSsrOworCWVsc2UgaWYgKCghc3RyY21wKGFyZ3ZbaV0sICItcmVjb3ZlciIpKSB8fAorCSAgICAgICAgICghc3RyY21wKGFyZ3ZbaV0sICItLXJlY292ZXIiKSkpCisJICAgIHJlY292ZXJ5Kys7CisJZWxzZSBpZiAoKCFzdHJjbXAoYXJndltpXSwgIi1wdXNoIikpIHx8CisJICAgICAgICAgKCFzdHJjbXAoYXJndltpXSwgIi0tcHVzaCIpKSkKKyNpZmRlZiBMSUJYTUxfUFVTSF9FTkFCTEVECisJICAgIHB1c2grKzsKKyNlbHNlCisJICAgIGZwcmludGYoc3RkZXJyLCIncHVzaCcgbm90IGVuYWJsZWQgaW4gbGlicmFyeSAtIGlnbm9yaW5nXG4iKTsKKyNlbmRpZiAvKiBMSUJYTUxfUFVTSF9FTkFCTEVEICovCisJZWxzZSBpZiAoKCFzdHJjbXAoYXJndltpXSwgIi1zcGVlZCIpKSB8fAorCSAgICAgICAgICghc3RyY21wKGFyZ3ZbaV0sICItLXNwZWVkIikpKQorCSAgICBzcGVlZCsrOworCWVsc2UgaWYgKCghc3RyY21wKGFyZ3ZbaV0sICItdGltaW5nIikpIHx8CisJICAgICAgICAgKCFzdHJjbXAoYXJndltpXSwgIi0tdGltaW5nIikpKSB7CisJICAgIG5vbnVsbCsrOworCSAgICB0aW1pbmcrKzsKKwkgICAgcXVpZXQrKzsKKwl9IGVsc2UgaWYgKCghc3RyY21wKGFyZ3ZbaV0sICItcmVwZWF0IikpIHx8CisJICAgICAgICAgKCFzdHJjbXAoYXJndltpXSwgIi0tcmVwZWF0IikpKSB7CisJICAgIHJlcGVhdCsrOworCSAgICBxdWlldCsrOworCX0gZWxzZSBpZiAoKCFzdHJjbXAoYXJndltpXSwgIi1ub2VudCIpKSB8fAorCSAgICAgICAgICghc3RyY21wKGFyZ3ZbaV0sICItLW5vZW50IikpKQorCSAgICBub2VudCsrOworCWVsc2UgaWYgKCghc3RyY21wKGFyZ3ZbaV0sICItcXVpZXQiKSkgfHwKKwkgICAgICAgICAoIXN0cmNtcChhcmd2W2ldLCAiLS1xdWlldCIpKSkKKwkgICAgcXVpZXQrKzsKKwllbHNlIGlmICgoIXN0cmNtcChhcmd2W2ldLCAiLXNheDIiKSkgfHwKKwkgICAgICAgICAoIXN0cmNtcChhcmd2W2ldLCAiLS1zYXgyIikpKQorCSAgICBzYXgyKys7CisJZWxzZSBpZiAoKCFzdHJjbXAoYXJndltpXSwgIi1ub251bGwiKSkgfHwKKwkgICAgICAgICAoIXN0cmNtcChhcmd2W2ldLCAiLS1ub251bGwiKSkpCisJICAgIG5vbnVsbCsrOworICAgIH0KKyAgICBpZiAobm9lbnQgIT0gMCkgeG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdCgxKTsKKyAgICBmb3IgKGkgPSAxOyBpIDwgYXJnYyA7IGkrKykgeworCWlmIChhcmd2W2ldWzBdICE9ICctJykgeworCSAgICBpZiAodGltaW5nKSB7CisJCXN0YXJ0VGltZXIoKTsKKwkgICAgfQorCSAgICBwYXJzZUFuZFByaW50RmlsZShhcmd2W2ldKTsKKwkgICAgaWYgKHRpbWluZykgeworCQllbmRUaW1lcigiUGFyc2luZyIpOworCSAgICB9CisJICAgIGZpbGVzICsrOworCX0KKyAgICB9CisgICAgeG1sQ2xlYW51cFBhcnNlcigpOworICAgIHhtbE1lbW9yeUR1bXAoKTsKKworICAgIHJldHVybigwKTsKK30KKyNlbHNlCitpbnQgbWFpbihpbnQgYXJnYyBBVFRSSUJVVEVfVU5VU0VELCBjaGFyICoqYXJndiBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgcHJpbnRmKCIlcyA6IFNBWDEgcGFyc2luZyBzdXBwb3J0IG5vdCBjb21waWxlZCBpblxuIiwgYXJndlswXSk7CisgICAgcmV0dXJuKDApOworfQorI2VuZGlmIC8qIExJQlhNTF9TQVgxX0VOQUJMRUQgKi8KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdFNjaGVtYXMuYyBiL2xpYnhtbDIvdGVzdFNjaGVtYXMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iOThlNjMxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0U2NoZW1hcy5jCkBAIC0wLDAgKzEsMTg1IEBACisvKgorICogdGVzdFNjaGVtYXMuYyA6IGEgc21hbGwgdGVzdGVyIHByb2dyYW0gZm9yIFNjaGVtYSB2YWxpZGF0aW9uCisgKgorICogU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgorICoKKyAqIERhbmllbC5WZWlsbGFyZEB3My5vcmcKKyAqLworCisjaW5jbHVkZSAibGlieG1sLmgiCisjaWZkZWYgTElCWE1MX1NDSEVNQVNfRU5BQkxFRAorCisjaW5jbHVkZSA8bGlieG1sL3htbHZlcnNpb24uaD4KKyNpbmNsdWRlIDxsaWJ4bWwvcGFyc2VyLmg+CisKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN0ZGFyZy5oPgorCisKKyNpZmRlZiBIQVZFX1NZU19UWVBFU19ICisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjZW5kaWYKKyNpZmRlZiBIQVZFX1NZU19TVEFUX0gKKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9GQ05UTF9ICisjaW5jbHVkZSA8ZmNudGwuaD4KKyNlbmRpZgorI2lmZGVmIEhBVkVfVU5JU1REX0gKKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNlbmRpZgorI2lmZGVmIEhBVkVfU1RETElCX0gKKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNlbmRpZgorI2lmZGVmIEhBVkVfU1lTX01NQU5fSAorI2luY2x1ZGUgPHN5cy9tbWFuLmg+CisvKiBzZWVtcyBuZWVkZWQgZm9yIFNvbGFyaXMgKi8KKyNpZm5kZWYgTUFQX0ZBSUxFRAorI2RlZmluZSBNQVBfRkFJTEVEICgodm9pZCAqKSAtMSkKKyNlbmRpZgorI2VuZGlmCisKKyNpbmNsdWRlIDxsaWJ4bWwveG1sbWVtb3J5Lmg+CisjaW5jbHVkZSA8bGlieG1sL2RlYnVnWE1MLmg+CisjaW5jbHVkZSA8bGlieG1sL3htbHNjaGVtYXMuaD4KKyNpbmNsdWRlIDxsaWJ4bWwveG1sc2NoZW1hc3R5cGVzLmg+CisKKyNpZmRlZiBMSUJYTUxfREVCVUdfRU5BQkxFRAorc3RhdGljIGludCBkZWJ1ZyA9IDA7CisjZW5kaWYKK3N0YXRpYyBpbnQgbm9vdXQgPSAwOworI2lmZGVmIEhBVkVfTU1BUAorc3RhdGljIGludCBtZW1vcnkgPSAwOworI2VuZGlmCisKKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CisgICAgaW50IGk7CisgICAgaW50IGZpbGVzID0gMDsKKyAgICB4bWxTY2hlbWFQdHIgc2NoZW1hID0gTlVMTDsKKworICAgIGZvciAoaSA9IDE7IGkgPCBhcmdjIDsgaSsrKSB7CisjaWZkZWYgTElCWE1MX0RFQlVHX0VOQUJMRUQKKwlpZiAoKCFzdHJjbXAoYXJndltpXSwgIi1kZWJ1ZyIpKSB8fCAoIXN0cmNtcChhcmd2W2ldLCAiLS1kZWJ1ZyIpKSkKKwkgICAgZGVidWcrKzsKKwllbHNlCisjZW5kaWYKKyNpZmRlZiBIQVZFX01NQVAKKwlpZiAoKCFzdHJjbXAoYXJndltpXSwgIi1tZW1vcnkiKSkgfHwgKCFzdHJjbXAoYXJndltpXSwgIi0tbWVtb3J5IikpKSB7CisJICAgIG1lbW9yeSsrOworICAgICAgICB9IGVsc2UKKyNlbmRpZgorCWlmICgoIXN0cmNtcChhcmd2W2ldLCAiLW5vb3V0IikpIHx8ICghc3RyY21wKGFyZ3ZbaV0sICItLW5vb3V0IikpKSB7CisJICAgIG5vb3V0Kys7CisgICAgICAgIH0KKyAgICB9CisgICAgeG1sTGluZU51bWJlcnNEZWZhdWx0KDEpOworICAgIGZvciAoaSA9IDE7IGkgPCBhcmdjIDsgaSsrKSB7CisJaWYgKGFyZ3ZbaV1bMF0gIT0gJy0nKSB7CisJICAgIGlmIChzY2hlbWEgPT0gTlVMTCkgeworCQl4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIGN0eHQ7CisKKyNpZmRlZiBIQVZFX01NQVAKKwkJaWYgKG1lbW9yeSkgeworCQkgICAgaW50IGZkOworCQkgICAgc3RydWN0IHN0YXQgaW5mbzsKKwkJICAgIGNvbnN0IGNoYXIgKmJhc2U7CisJCSAgICBpZiAoc3RhdChhcmd2W2ldLCAmaW5mbykgPCAwKQorCQkJYnJlYWs7CisJCSAgICBpZiAoKGZkID0gb3Blbihhcmd2W2ldLCBPX1JET05MWSkpIDwgMCkKKwkJCWJyZWFrOworCQkgICAgYmFzZSA9IG1tYXAoTlVMTCwgaW5mby5zdF9zaXplLCBQUk9UX1JFQUQsCisJCQkgICAgICAgIE1BUF9TSEFSRUQsIGZkLCAwKSA7CisJCSAgICBpZiAoYmFzZSA9PSAodm9pZCAqKSBNQVBfRkFJTEVEKQorCQkJYnJlYWs7CisKKwkJICAgIGN0eHQgPSB4bWxTY2hlbWFOZXdNZW1QYXJzZXJDdHh0KChjaGFyICopYmFzZSxpbmZvLnN0X3NpemUpOworCisJCSAgICB4bWxTY2hlbWFTZXRQYXJzZXJFcnJvcnMoY3R4dCwKKwkJCSAgICAoeG1sU2NoZW1hVmFsaWRpdHlFcnJvckZ1bmMpIGZwcmludGYsCisJCQkgICAgKHhtbFNjaGVtYVZhbGlkaXR5V2FybmluZ0Z1bmMpIGZwcmludGYsCisJCQkgICAgc3RkZXJyKTsKKwkJICAgIHNjaGVtYSA9IHhtbFNjaGVtYVBhcnNlKGN0eHQpOworCQkgICAgeG1sU2NoZW1hRnJlZVBhcnNlckN0eHQoY3R4dCk7CisJCSAgICBtdW5tYXAoKGNoYXIgKikgYmFzZSwgaW5mby5zdF9zaXplKTsKKwkJfSBlbHNlCisjZW5kaWYKKwkJeworCQkgICAgY3R4dCA9IHhtbFNjaGVtYU5ld1BhcnNlckN0eHQoYXJndltpXSk7CisJCSAgICB4bWxTY2hlbWFTZXRQYXJzZXJFcnJvcnMoY3R4dCwKKwkJCSAgICAoeG1sU2NoZW1hVmFsaWRpdHlFcnJvckZ1bmMpIGZwcmludGYsCisJCQkgICAgKHhtbFNjaGVtYVZhbGlkaXR5V2FybmluZ0Z1bmMpIGZwcmludGYsCisJCQkgICAgc3RkZXJyKTsKKwkJICAgIHNjaGVtYSA9IHhtbFNjaGVtYVBhcnNlKGN0eHQpOworCQkgICAgeG1sU2NoZW1hRnJlZVBhcnNlckN0eHQoY3R4dCk7CisJCX0KKyNpZmRlZiBMSUJYTUxfT1VUUFVUX0VOQUJMRUQKKyNpZmRlZiBMSUJYTUxfREVCVUdfRU5BQkxFRAorCQlpZiAoZGVidWcpCisJCSAgICB4bWxTY2hlbWFEdW1wKHN0ZG91dCwgc2NoZW1hKTsKKyNlbmRpZgorI2VuZGlmIC8qIExJQlhNTF9PVVRQVVRfRU5BQkxFRCAqLworCQlpZiAoc2NoZW1hID09IE5VTEwpCisJCSAgICBnb3RvIGZhaWxlZF9zY2hlbWFzOworCSAgICB9IGVsc2UgeworCQl4bWxEb2NQdHIgZG9jOworCisJCWRvYyA9IHhtbFJlYWRGaWxlKGFyZ3ZbaV0sTlVMTCwwKTsKKworCQlpZiAoZG9jID09IE5VTEwpIHsKKwkJICAgIGZwcmludGYoc3RkZXJyLCAiQ291bGQgbm90IHBhcnNlICVzXG4iLCBhcmd2W2ldKTsKKwkJfSBlbHNlIHsKKwkJICAgIHhtbFNjaGVtYVZhbGlkQ3R4dFB0ciBjdHh0OworCQkgICAgaW50IHJldDsKKworCQkgICAgY3R4dCA9IHhtbFNjaGVtYU5ld1ZhbGlkQ3R4dChzY2hlbWEpOworCQkgICAgeG1sU2NoZW1hU2V0VmFsaWRFcnJvcnMoY3R4dCwKKwkJCSAgICAoeG1sU2NoZW1hVmFsaWRpdHlFcnJvckZ1bmMpIGZwcmludGYsCisJCQkgICAgKHhtbFNjaGVtYVZhbGlkaXR5V2FybmluZ0Z1bmMpIGZwcmludGYsCisJCQkgICAgc3RkZXJyKTsKKwkJICAgIHJldCA9IHhtbFNjaGVtYVZhbGlkYXRlRG9jKGN0eHQsIGRvYyk7CisJCSAgICBpZiAocmV0ID09IDApIHsKKwkJCXByaW50ZigiJXMgdmFsaWRhdGVzXG4iLCBhcmd2W2ldKTsKKwkJICAgIH0gZWxzZSBpZiAocmV0ID4gMCkgeworCQkJcHJpbnRmKCIlcyBmYWlscyB0byB2YWxpZGF0ZVxuIiwgYXJndltpXSk7CisJCSAgICB9IGVsc2UgeworCQkJcHJpbnRmKCIlcyB2YWxpZGF0aW9uIGdlbmVyYXRlZCBhbiBpbnRlcm5hbCBlcnJvclxuIiwKKwkJCSAgICAgICBhcmd2W2ldKTsKKwkJICAgIH0KKwkJICAgIHhtbFNjaGVtYUZyZWVWYWxpZEN0eHQoY3R4dCk7CisJCSAgICB4bWxGcmVlRG9jKGRvYyk7CisJCX0KKwkgICAgfQorCSAgICBmaWxlcyArKzsKKwl9CisgICAgfQorICAgIGlmIChzY2hlbWEgIT0gTlVMTCkKKwl4bWxTY2hlbWFGcmVlKHNjaGVtYSk7CisgICAgaWYgKGZpbGVzID09IDApIHsKKwlwcmludGYoIlVzYWdlIDogJXMgWy0tZGVidWddIFstLW5vb3V0XSBzY2hlbWFzIFhNTGZpbGVzIC4uLlxuIiwKKwkgICAgICAgYXJndlswXSk7CisJcHJpbnRmKCJcdFBhcnNlIHRoZSBIVE1MIGZpbGVzIGFuZCBvdXRwdXQgdGhlIHJlc3VsdCBvZiB0aGUgcGFyc2luZ1xuIik7CisjaWZkZWYgTElCWE1MX0RFQlVHX0VOQUJMRUQKKwlwcmludGYoIlx0LS1kZWJ1ZyA6IGR1bXAgYSBkZWJ1ZyB0cmVlIG9mIHRoZSBpbi1tZW1vcnkgZG9jdW1lbnRcbiIpOworI2VuZGlmCisJcHJpbnRmKCJcdC0tbm9vdXQgOiBkbyBub3QgcHJpbnQgdGhlIHJlc3VsdFxuIik7CisjaWZkZWYgSEFWRV9NTUFQCisJcHJpbnRmKCJcdC0tbWVtb3J5IDogdGVzdCB0aGUgc2NoZW1hcyBpbiBtZW1vcnkgcGFyc2luZ1xuIik7CisjZW5kaWYKKyAgICB9CitmYWlsZWRfc2NoZW1hczoKKyAgICB4bWxTY2hlbWFDbGVhbnVwVHlwZXMoKTsKKyAgICB4bWxDbGVhbnVwUGFyc2VyKCk7CisgICAgeG1sTWVtb3J5RHVtcCgpOworCisgICAgcmV0dXJuKDApOworfQorCisjZWxzZQorI2luY2x1ZGUgPHN0ZGlvLmg+CitpbnQgbWFpbihpbnQgYXJnYyBBVFRSSUJVVEVfVU5VU0VELCBjaGFyICoqYXJndiBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgcHJpbnRmKCIlcyA6IFNjaGVtYXMgc3VwcG9ydCBub3QgY29tcGlsZWQgaW5cbiIsIGFyZ3ZbMF0pOworICAgIHJldHVybigwKTsKK30KKyNlbmRpZiAvKiBMSUJYTUxfU0NIRU1BU19FTkFCTEVEICovCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3RUaHJlYWRzLmMgYi9saWJ4bWwyL3Rlc3RUaHJlYWRzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmZmNTM5MQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdFRocmVhZHMuYwpAQCAtMCwwICsxLDIwMCBAQAorI2luY2x1ZGUgImxpYnhtbC5oIgorCisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKworI2lmIGRlZmluZWQoTElCWE1MX1RIUkVBRF9FTkFCTEVEKSAmJiBkZWZpbmVkKExJQlhNTF9DQVRBTE9HX0VOQUJMRUQpICYmIGRlZmluZWQoTElCWE1MX1NBWDFfRU5BQkxFRCkKKyNpbmNsdWRlIDxsaWJ4bWwvZ2xvYmFscy5oPgorI2luY2x1ZGUgPGxpYnhtbC90aHJlYWRzLmg+CisjaW5jbHVkZSA8bGlieG1sL3BhcnNlci5oPgorI2luY2x1ZGUgPGxpYnhtbC9jYXRhbG9nLmg+CisjaWZkZWYgSEFWRV9QVEhSRUFEX0gKKyNpbmNsdWRlIDxwdGhyZWFkLmg+CisjZWxpZiBkZWZpbmVkIEhBVkVfQkVPU19USFJFQURTCisjaW5jbHVkZSA8T1MuaD4KKyNlbmRpZgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2lmICFkZWZpbmVkKF9NU0NfVkVSKQorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2VuZGlmCisjaW5jbHVkZSA8YXNzZXJ0Lmg+CisKKyNkZWZpbmUJTUFYX0FSR0MJMjAKKyNpZmRlZiBIQVZFX1BUSFJFQURfSAorc3RhdGljIHB0aHJlYWRfdCB0aWRbTUFYX0FSR0NdOworI2VsaWYgZGVmaW5lZCBIQVZFX0JFT1NfVEhSRUFEUworc3RhdGljIHRocmVhZF9pZCB0aWRbTUFYX0FSR0NdOworI2VuZGlmCisKK3N0YXRpYyBjb25zdCBjaGFyICpjYXRhbG9nID0gInRlc3QvdGhyZWFkcy9jb21wbGV4LnhtbCI7CitzdGF0aWMgY29uc3QgY2hhciAqdGVzdGZpbGVzW10gPSB7CisgICAgInRlc3QvdGhyZWFkcy9hYmMueG1sIiwKKyAgICAidGVzdC90aHJlYWRzL2FjYi54bWwiLAorICAgICJ0ZXN0L3RocmVhZHMvYmFjLnhtbCIsCisgICAgInRlc3QvdGhyZWFkcy9iY2EueG1sIiwKKyAgICAidGVzdC90aHJlYWRzL2NhYi54bWwiLAorICAgICJ0ZXN0L3RocmVhZHMvY2JhLnhtbCIsCisgICAgInRlc3QvdGhyZWFkcy9pbnZhbGlkLnhtbCIsCit9OworCitzdGF0aWMgY29uc3QgY2hhciAqT2theSA9ICJPSyI7CitzdGF0aWMgY29uc3QgY2hhciAqRmFpbGVkID0gIkZhaWxlZCI7CisKKyNpZm5kZWYgeG1sRG9WYWxpZGl0eUNoZWNraW5nRGVmYXVsdFZhbHVlCisjZXJyb3IgeG1sRG9WYWxpZGl0eUNoZWNraW5nRGVmYXVsdFZhbHVlIGlzIG5vdCBhIG1hY3JvCisjZW5kaWYKKyNpZm5kZWYgeG1sR2VuZXJpY0Vycm9yQ29udGV4dAorI2Vycm9yIHhtbEdlbmVyaWNFcnJvckNvbnRleHQgaXMgbm90IGEgbWFjcm8KKyNlbmRpZgorCitzdGF0aWMgdm9pZCAqCit0aHJlYWRfc3BlY2lmaWNfZGF0YSh2b2lkICpwcml2YXRlX2RhdGEpCit7CisgICAgeG1sRG9jUHRyIG15RG9jOworICAgIGNvbnN0IGNoYXIgKmZpbGVuYW1lID0gKGNvbnN0IGNoYXIgKikgcHJpdmF0ZV9kYXRhOworICAgIGludCBva2F5ID0gMTsKKworICAgIGlmICghc3RyY21wKGZpbGVuYW1lLCAidGVzdC90aHJlYWRzL2ludmFsaWQueG1sIikpIHsKKyAgICAgICAgeG1sRG9WYWxpZGl0eUNoZWNraW5nRGVmYXVsdFZhbHVlID0gMDsKKyAgICAgICAgeG1sR2VuZXJpY0Vycm9yQ29udGV4dCA9IHN0ZG91dDsKKyAgICB9IGVsc2UgeworICAgICAgICB4bWxEb1ZhbGlkaXR5Q2hlY2tpbmdEZWZhdWx0VmFsdWUgPSAxOworICAgICAgICB4bWxHZW5lcmljRXJyb3JDb250ZXh0ID0gc3RkZXJyOworICAgIH0KKyAgICBteURvYyA9IHhtbFBhcnNlRmlsZShmaWxlbmFtZSk7CisgICAgaWYgKG15RG9jKSB7CisgICAgICAgIHhtbEZyZWVEb2MobXlEb2MpOworICAgIH0gZWxzZSB7CisgICAgICAgIHByaW50ZigicGFyc2UgZmFpbGVkXG4iKTsKKwlva2F5ID0gMDsKKyAgICB9CisgICAgaWYgKCFzdHJjbXAoZmlsZW5hbWUsICJ0ZXN0L3RocmVhZHMvaW52YWxpZC54bWwiKSkgeworICAgICAgICBpZiAoeG1sRG9WYWxpZGl0eUNoZWNraW5nRGVmYXVsdFZhbHVlICE9IDApIHsKKwkgICAgcHJpbnRmKCJWYWxpZGl0eUNoZWNraW5nRGVmYXVsdFZhbHVlIG92ZXJyaWRlIGZhaWxlZFxuIik7CisJICAgIG9rYXkgPSAwOworCX0KKyAgICAgICAgaWYgKHhtbEdlbmVyaWNFcnJvckNvbnRleHQgIT0gc3Rkb3V0KSB7CisJICAgIHByaW50ZigieG1sR2VuZXJpY0Vycm9yQ29udGV4dCBvdmVycmlkZSBmYWlsZWRcbiIpOworCSAgICBva2F5ID0gMDsKKwl9CisgICAgfSBlbHNlIHsKKyAgICAgICAgaWYgKHhtbERvVmFsaWRpdHlDaGVja2luZ0RlZmF1bHRWYWx1ZSAhPSAxKSB7CisJICAgIHByaW50ZigiVmFsaWRpdHlDaGVja2luZ0RlZmF1bHRWYWx1ZSBvdmVycmlkZSBmYWlsZWRcbiIpOworCSAgICBva2F5ID0gMDsKKwl9CisgICAgICAgIGlmICh4bWxHZW5lcmljRXJyb3JDb250ZXh0ICE9IHN0ZGVycikgeworCSAgICBwcmludGYoInhtbEdlbmVyaWNFcnJvckNvbnRleHQgb3ZlcnJpZGUgZmFpbGVkXG4iKTsKKwkgICAgb2theSA9IDA7CisJfQorICAgIH0KKyAgICBpZiAob2theSA9PSAwKQorCXJldHVybigodm9pZCAqKSBGYWlsZWQpOworICAgIHJldHVybiAoKHZvaWQgKikgT2theSk7Cit9CisKKyNpZmRlZiBIQVZFX1BUSFJFQURfSAoraW50CittYWluKHZvaWQpCit7CisgICAgdW5zaWduZWQgaW50IGksIHJlcGVhdDsKKyAgICB1bnNpZ25lZCBpbnQgbnVtX3RocmVhZHMgPSBzaXplb2YodGVzdGZpbGVzKSAvIHNpemVvZih0ZXN0ZmlsZXNbMF0pOworICAgIHZvaWQgKnJlc3VsdHNbTUFYX0FSR0NdOworICAgIGludCByZXQ7CisKKyAgICB4bWxJbml0UGFyc2VyKCk7CisgICAgZm9yIChyZXBlYXQgPSAwO3JlcGVhdCA8IDUwMDtyZXBlYXQrKykgeworCXhtbExvYWRDYXRhbG9nKGNhdGFsb2cpOworCisgICAgICAgIG1lbXNldChyZXN1bHRzLCAwLCBzaXplb2YoKnJlc3VsdHMpKm51bV90aHJlYWRzKTsKKyAgICAgICAgbWVtc2V0KHRpZCwgMHhmZiwgc2l6ZW9mKCp0aWQpKm51bV90aHJlYWRzKTsKKworCWZvciAoaSA9IDA7IGkgPCBudW1fdGhyZWFkczsgaSsrKSB7CisJICAgIHJldCA9IHB0aHJlYWRfY3JlYXRlKCZ0aWRbaV0sIE5VTEwsIHRocmVhZF9zcGVjaWZpY19kYXRhLAorCQkJCSAodm9pZCAqKSB0ZXN0ZmlsZXNbaV0pOworCSAgICBpZiAocmV0ICE9IDApIHsKKwkJcGVycm9yKCJwdGhyZWFkX2NyZWF0ZSIpOworCQlleGl0KDEpOworCSAgICB9CisJfQorCWZvciAoaSA9IDA7IGkgPCBudW1fdGhyZWFkczsgaSsrKSB7CisJICAgIHJldCA9IHB0aHJlYWRfam9pbih0aWRbaV0sICZyZXN1bHRzW2ldKTsKKwkgICAgaWYgKHJldCAhPSAwKSB7CisJCXBlcnJvcigicHRocmVhZF9qb2luIik7CisJCWV4aXQoMSk7CisJICAgIH0KKwl9CisKKwl4bWxDYXRhbG9nQ2xlYW51cCgpOworCWZvciAoaSA9IDA7IGkgPCBudW1fdGhyZWFkczsgaSsrKQorCSAgICBpZiAocmVzdWx0c1tpXSAhPSAodm9pZCAqKSBPa2F5KQorCQlwcmludGYoIlRocmVhZCAlZCBoYW5kbGluZyAlcyBmYWlsZWRcbiIsIGksIHRlc3RmaWxlc1tpXSk7CisgICAgfQorICAgIHhtbENsZWFudXBQYXJzZXIoKTsKKyAgICB4bWxNZW1vcnlEdW1wKCk7CisgICAgcmV0dXJuICgwKTsKK30KKyNlbGlmIGRlZmluZWQgSEFWRV9CRU9TX1RIUkVBRFMKK2ludAorbWFpbih2b2lkKQoreworICAgIHVuc2lnbmVkIGludCBpLCByZXBlYXQ7CisgICAgdW5zaWduZWQgaW50IG51bV90aHJlYWRzID0gc2l6ZW9mKHRlc3RmaWxlcykgLyBzaXplb2YodGVzdGZpbGVzWzBdKTsKKyAgICB2b2lkICpyZXN1bHRzW01BWF9BUkdDXTsKKyAgICBzdGF0dXNfdCByZXQ7CisKKyAgICB4bWxJbml0UGFyc2VyKCk7CisgICAgcHJpbnRmKCJQYXJzZXIgaW5pdGlhbGl6ZWRcbiIpOworICAgIGZvciAocmVwZWF0ID0gMDtyZXBlYXQgPCA1MDA7cmVwZWF0KyspIHsKKyAgICBwcmludGYoInJlcGVhdDogJWRcbiIscmVwZWF0KTsKKwl4bWxMb2FkQ2F0YWxvZyhjYXRhbG9nKTsKKwlwcmludGYoImxvYWRlZCBjYXRhbG9nOiAlc1xuIiwgY2F0YWxvZyk7CisJZm9yIChpID0gMDsgaSA8IG51bV90aHJlYWRzOyBpKyspIHsKKwkgICAgcmVzdWx0c1tpXSA9IE5VTEw7CisJICAgIHRpZFtpXSA9ICh0aHJlYWRfaWQpIC0xOworCX0KKwlwcmludGYoImNsZWFuZWQgdGhyZWFkc1xuIik7CisJZm9yIChpID0gMDsgaSA8IG51bV90aHJlYWRzOyBpKyspIHsKKwkJdGlkW2ldID0gc3Bhd25fdGhyZWFkKHRocmVhZF9zcGVjaWZpY19kYXRhLCAieG1sVGVzdFRocmVhZCIsIEJfTk9STUFMX1BSSU9SSVRZLCAodm9pZCAqKSB0ZXN0ZmlsZXNbaV0pOworCQlpZiAodGlkW2ldIDwgQl9PSykgeworCQkJcGVycm9yKCJiZW9zX3RocmVhZF9jcmVhdGUiKTsKKwkJCWV4aXQoMSk7CisJCX0KKwkJcHJpbnRmKCJiZW9zX3RocmVhZF9jcmVhdGUgJWQgLT4gJWRcbiIsIGksIHRpZFtpXSk7CisJfQorCWZvciAoaSA9IDA7IGkgPCBudW1fdGhyZWFkczsgaSsrKSB7CisJICAgIHJldCA9IHdhaXRfZm9yX3RocmVhZCh0aWRbaV0sICZyZXN1bHRzW2ldKTsKKwkgICAgcHJpbnRmKCJiZW9zX3RocmVhZF93YWl0ICVkIC0+ICVkXG4iLCBpLCByZXQpOworCSAgICBpZiAocmV0ICE9IEJfT0spIHsKKwkJCXBlcnJvcigiYmVvc190aHJlYWRfd2FpdCIpOworCQkJZXhpdCgxKTsKKwkgICAgfQorCX0KKworCXhtbENhdGFsb2dDbGVhbnVwKCk7CisJcmV0ID0gQl9PSzsKKwlmb3IgKGkgPSAwOyBpIDwgbnVtX3RocmVhZHM7IGkrKykKKwkgICAgaWYgKHJlc3VsdHNbaV0gIT0gKHZvaWQgKikgT2theSkgeworCQkJcHJpbnRmKCJUaHJlYWQgJWQgaGFuZGxpbmcgJXMgZmFpbGVkXG4iLCBpLCB0ZXN0ZmlsZXNbaV0pOworCQkJcmV0ID0gQl9FUlJPUjsKKwkJfQorICAgIH0KKyAgICB4bWxDbGVhbnVwUGFyc2VyKCk7CisgICAgeG1sTWVtb3J5RHVtcCgpOworCisJaWYgKHJldCA9PSBCX09LKQorCQlwcmludGYoInRlc3RUaHJlYWQgOiBCZU9TIDogU1VDQ0VTUyFcbiIpOworCWVsc2UKKwkJcHJpbnRmKCJ0ZXN0VGhyZWFkIDogQmVPUyA6IEZBSUxFRCFcbiIpOworCisgICAgcmV0dXJuICgwKTsKK30KKyNlbmRpZiAvKiBwdGhyZWFkcyBvciBCZU9TIHRocmVhZHMgKi8KKworI2Vsc2UgLyogIUxJQlhNTF9USFJFQURTX0VOQUJMRUQgKi8KK2ludAorbWFpbih2b2lkKQoreworICAgIGZwcmludGYoc3RkZXJyLCAibGlieG1sIHdhcyBub3QgY29tcGlsZWQgd2l0aCB0aHJlYWQgb3IgY2F0YWxvZyBzdXBwb3J0XG4iKTsKKyAgICByZXR1cm4gKDApOworfQorI2VuZGlmCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3RUaHJlYWRzV2luMzIuYyBiL2xpYnhtbDIvdGVzdFRocmVhZHNXaW4zMi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNkMWE1YmEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3RUaHJlYWRzV2luMzIuYwpAQCAtMCwwICsxLDE1MCBAQAorI2luY2x1ZGUgImxpYnhtbC5oIgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisKKyNpZiBkZWZpbmVkKExJQlhNTF9USFJFQURfRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfQ0FUQUxPR19FTkFCTEVEKQorI2luY2x1ZGUgPGxpYnhtbC9nbG9iYWxzLmg+CisjaW5jbHVkZSA8bGlieG1sL3RocmVhZHMuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvcGFyc2VyLmg+CisjaW5jbHVkZSA8bGlieG1sL2NhdGFsb2cuaD4KKyNpbmNsdWRlIDx3aW5kb3dzLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8YXNzZXJ0Lmg+CisKKyNkZWZpbmUJTUFYX0FSR0MJMjAKKyNkZWZpbmUgVEVTVF9SRVBFQVRfQ09VTlQgNTAwCisKK3N0YXRpYyBIQU5ETEUgdGlkW01BWF9BUkdDXTsKKworc3RhdGljIGNvbnN0IGNoYXIgKmNhdGFsb2cgPSAidGVzdC90aHJlYWRzL2NvbXBsZXgueG1sIjsKK3N0YXRpYyBjaGFyICp0ZXN0ZmlsZXNbXSA9IHsKKyAgICAidGVzdC90aHJlYWRzL2FiYy54bWwiLAorICAgICJ0ZXN0L3RocmVhZHMvYWNiLnhtbCIsCisgICAgInRlc3QvdGhyZWFkcy9iYWMueG1sIiwKKyAgICAidGVzdC90aHJlYWRzL2JjYS54bWwiLAorICAgICJ0ZXN0L3RocmVhZHMvY2FiLnhtbCIsCisgICAgInRlc3QvdGhyZWFkcy9jYmEueG1sIiwKKyAgICAidGVzdC90aHJlYWRzL2ludmFsaWQueG1sIiwKK307CisKK2NvbnN0IGNoYXIgKk9rYXkgPSAiT0siOworY29uc3QgY2hhciAqRmFpbGVkID0gIkZhaWxlZCI7CisKKyNpZm5kZWYgeG1sRG9WYWxpZGl0eUNoZWNraW5nRGVmYXVsdFZhbHVlCisjZXJyb3IgeG1sRG9WYWxpZGl0eUNoZWNraW5nRGVmYXVsdFZhbHVlIGlzIG5vdCBhIG1hY3JvCisjZW5kaWYKKyNpZm5kZWYgeG1sR2VuZXJpY0Vycm9yQ29udGV4dAorI2Vycm9yIHhtbEdlbmVyaWNFcnJvckNvbnRleHQgaXMgbm90IGEgbWFjcm8KKyNlbmRpZgorCitzdGF0aWMgRFdPUkQgV0lOQVBJCit0aHJlYWRfc3BlY2lmaWNfZGF0YSh2b2lkICpwcml2YXRlX2RhdGEpCit7CisgICAgeG1sRG9jUHRyIG15RG9jOworICAgIGNvbnN0IGNoYXIgKmZpbGVuYW1lID0gKGNvbnN0IGNoYXIgKikgcHJpdmF0ZV9kYXRhOworICAgIGludCBva2F5ID0gMTsKKworICAgIGlmICghc3RyY21wKGZpbGVuYW1lLCAidGVzdC90aHJlYWRzL2ludmFsaWQueG1sIikpIHsKKyAgICAgICAgeG1sRG9WYWxpZGl0eUNoZWNraW5nRGVmYXVsdFZhbHVlID0gMDsKKyAgICAgICAgeG1sR2VuZXJpY0Vycm9yQ29udGV4dCA9IHN0ZG91dDsKKyAgICB9IGVsc2UgeworICAgICAgICB4bWxEb1ZhbGlkaXR5Q2hlY2tpbmdEZWZhdWx0VmFsdWUgPSAxOworICAgICAgICB4bWxHZW5lcmljRXJyb3JDb250ZXh0ID0gc3RkZXJyOworICAgIH0KKyAgICBteURvYyA9IHhtbFBhcnNlRmlsZShmaWxlbmFtZSk7CisgICAgaWYgKG15RG9jKSB7CisgICAgICAgIHhtbEZyZWVEb2MobXlEb2MpOworICAgIH0gZWxzZSB7CisgICAgICAgIHByaW50ZigicGFyc2UgZmFpbGVkXG4iKTsKKwlva2F5ID0gMDsKKyAgICB9CisgICAgaWYgKCFzdHJjbXAoZmlsZW5hbWUsICJ0ZXN0L3RocmVhZHMvaW52YWxpZC54bWwiKSkgeworICAgICAgICBpZiAoeG1sRG9WYWxpZGl0eUNoZWNraW5nRGVmYXVsdFZhbHVlICE9IDApIHsKKwkgICAgcHJpbnRmKCJWYWxpZGl0eUNoZWNraW5nRGVmYXVsdFZhbHVlIG92ZXJyaWRlIGZhaWxlZFxuIik7CisJICAgIG9rYXkgPSAwOworCX0KKyAgICAgICAgaWYgKHhtbEdlbmVyaWNFcnJvckNvbnRleHQgIT0gc3Rkb3V0KSB7CisJICAgIHByaW50ZigieG1sR2VuZXJpY0Vycm9yQ29udGV4dCBvdmVycmlkZSBmYWlsZWRcbiIpOworCSAgICBva2F5ID0gMDsKKwl9CisgICAgfSBlbHNlIHsKKyAgICAgICAgaWYgKHhtbERvVmFsaWRpdHlDaGVja2luZ0RlZmF1bHRWYWx1ZSAhPSAxKSB7CisJICAgIHByaW50ZigiVmFsaWRpdHlDaGVja2luZ0RlZmF1bHRWYWx1ZSBvdmVycmlkZSBmYWlsZWRcbiIpOworCSAgICBva2F5ID0gMDsKKwl9CisgICAgICAgIGlmICh4bWxHZW5lcmljRXJyb3JDb250ZXh0ICE9IHN0ZGVycikgeworCSAgICBwcmludGYoInhtbEdlbmVyaWNFcnJvckNvbnRleHQgb3ZlcnJpZGUgZmFpbGVkXG4iKTsKKwkgICAgb2theSA9IDA7CisJfQorICAgIH0KKyAgICBpZiAob2theSA9PSAwKQorCXJldHVybiAoKERXT1JEKSBGYWlsZWQpOworICAgIHJldHVybiAoKERXT1JEKSBPa2F5KTsKK30KKworaW50CittYWluKCkKK3sKKwl1bnNpZ25lZCBpbnQgaSwgcmVwZWF0OworCXVuc2lnbmVkIGludCBudW1fdGhyZWFkcyA9IHNpemVvZih0ZXN0ZmlsZXMpIC8gc2l6ZW9mKHRlc3RmaWxlc1swXSk7CisJRFdPUkQgcmVzdWx0c1tNQVhfQVJHQ107CisJQk9PTCByZXQ7CisKKwl4bWxJbml0UGFyc2VyKCk7CisJZm9yIChyZXBlYXQgPSAwO3JlcGVhdCA8IFRFU1RfUkVQRUFUX0NPVU5UO3JlcGVhdCsrKQorCXsKKwkJeG1sTG9hZENhdGFsb2coY2F0YWxvZyk7CisKKwkJZm9yIChpID0gMDsgaSA8IG51bV90aHJlYWRzOyBpKyspCisJCXsKKwkJCXJlc3VsdHNbaV0gPSAwOworCQkJdGlkW2ldID0gKEhBTkRMRSkgLTE7CisJCX0KKworCQlmb3IgKGkgPSAwOyBpIDwgbnVtX3RocmVhZHM7IGkrKykKKwkJeworCQkJRFdPUkQgdXNlbGVzczsKKwkJCXRpZFtpXSA9IENyZWF0ZVRocmVhZChOVUxMLCAwLAorCQkJCXRocmVhZF9zcGVjaWZpY19kYXRhLCB0ZXN0ZmlsZXNbaV0sIDAsICZ1c2VsZXNzKTsKKwkJCWlmICh0aWRbaV0gPT0gTlVMTCkKKwkJCXsKKwkJCQlwZXJyb3IoIkNyZWF0ZVRocmVhZCIpOworCQkJCWV4aXQoMSk7CisJCQl9CisJCX0KKworCQlpZiAoV2FpdEZvck11bHRpcGxlT2JqZWN0cyAobnVtX3RocmVhZHMsIHRpZCwgVFJVRSwgSU5GSU5JVEUpID09IFdBSVRfRkFJTEVEKQorCQkJcGVycm9yICgiV2FpdEZvck11bHRpcGxlT2JqZWN0cyBmYWlsZWQiKTsKKworCQlmb3IgKGkgPSAwOyBpIDwgbnVtX3RocmVhZHM7IGkrKykKKwkJeworCQkJcmV0ID0gR2V0RXhpdENvZGVUaHJlYWQgKHRpZFtpXSwgJnJlc3VsdHNbaV0pOworCQkJaWYgKHJldCA9PSAwKQorCQkJeworCQkJCXBlcnJvcigiR2V0RXhpdENvZGVUaHJlYWQiKTsKKwkJCQlleGl0KDEpOworCQkJfQorCQkJQ2xvc2VIYW5kbGUgKHRpZFtpXSk7CisJCX0KKworCQl4bWxDYXRhbG9nQ2xlYW51cCgpOworCQlmb3IgKGkgPSAwOyBpIDwgbnVtX3RocmVhZHM7IGkrKykgeworCQkgICAgaWYgKHJlc3VsdHNbaV0gIT0gKERXT1JEKSBPa2F5KQorCQkJcHJpbnRmKCJUaHJlYWQgJWQgaGFuZGxpbmcgJXMgZmFpbGVkXG4iLCBpLCB0ZXN0ZmlsZXNbaV0pOworCQl9CisJfQorCisJeG1sQ2xlYW51cFBhcnNlcigpOworCXhtbE1lbW9yeUR1bXAoKTsKKworCXJldHVybiAoMCk7Cit9CisKKyNlbHNlIC8qICFMSUJYTUxfVEhSRUFEU19FTkFCTEVEICovCitpbnQKK21haW4oKQoreworICAgIGZwcmludGYoc3RkZXJyLCAibGlieG1sIHdhcyBub3QgY29tcGlsZWQgd2l0aCB0aHJlYWQgb3IgY2F0YWxvZyBzdXBwb3J0XG4iKTsKKyAgICByZXR1cm4gKDApOworfQorI2VuZGlmCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3RVUkkuYyBiL2xpYnhtbDIvdGVzdFVSSS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQyMDk4OWQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3RVUkkuYwpAQCAtMCwwICsxLDEyNCBAQAorLyoKKyAqIHRlc3RVUkkuYyA6IGEgc21hbGwgdGVzdGVyIHByb2dyYW0gZm9yIFhNTCBpbnB1dC4KKyAqCisgKiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisgKgorICogZGFuaWVsQHZlaWxsYXJkLmNvbQorICovCisKKyNpbmNsdWRlICJsaWJ4bWwuaCIKKworI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkYXJnLmg+CisKKyNpbmNsdWRlIDxsaWJ4bWwveG1sbWVtb3J5Lmg+CisjaW5jbHVkZSA8bGlieG1sL3VyaS5oPgorI2luY2x1ZGUgPGxpYnhtbC9nbG9iYWxzLmg+CisKK3N0YXRpYyBjb25zdCBjaGFyICpiYXNlID0gTlVMTDsKK3N0YXRpYyBpbnQgZXNjYXBlID0gMDsKK3N0YXRpYyBpbnQgZGVidWcgPSAwOworCitzdGF0aWMgdm9pZCBoYW5kbGVVUkkoY29uc3QgY2hhciAqc3RyKSB7CisgICAgaW50IHJldDsKKyAgICB4bWxVUklQdHIgdXJpOworICAgIHhtbENoYXIgKnJlcyA9IE5VTEwsICpwYXJzZWQgPSBOVUxMOworCisgICAgdXJpID0geG1sQ3JlYXRlVVJJKCk7CisKKyAgICBpZiAoYmFzZSA9PSBOVUxMKSB7CisJcmV0ID0geG1sUGFyc2VVUklSZWZlcmVuY2UodXJpLCBzdHIpOworCWlmIChyZXQgIT0gMCkKKwkgICAgcHJpbnRmKCIlcyA6IGVycm9yICVkXG4iLCBzdHIsIHJldCk7CisJZWxzZSB7CisJICAgIGlmIChkZWJ1ZykgeworCSAgICAgICAgaWYgKHVyaS0+c2NoZW1lKSBwcmludGYoInNjaGVtZTogJXNcbiIsIHVyaS0+c2NoZW1lKTsKKwkgICAgICAgIGlmICh1cmktPm9wYXF1ZSkgcHJpbnRmKCJvcGFxdWU6ICVzXG4iLCB1cmktPm9wYXF1ZSk7CisJICAgICAgICBpZiAodXJpLT5hdXRob3JpdHkpIHByaW50ZigiYXV0aG9yaXR5OiAlc1xuIiwgdXJpLT5hdXRob3JpdHkpOworCSAgICAgICAgaWYgKHVyaS0+c2VydmVyKSBwcmludGYoInNlcnZlcjogJXNcbiIsIHVyaS0+c2VydmVyKTsKKwkgICAgICAgIGlmICh1cmktPnVzZXIpIHByaW50ZigidXNlcjogJXNcbiIsIHVyaS0+dXNlcik7CisJICAgICAgICBpZiAodXJpLT5wb3J0ICE9IDApIHByaW50ZigicG9ydDogJWRcbiIsIHVyaS0+cG9ydCk7CisJICAgICAgICBpZiAodXJpLT5wYXRoKSBwcmludGYoInBhdGg6ICVzXG4iLCB1cmktPnBhdGgpOworCSAgICAgICAgaWYgKHVyaS0+cXVlcnkpIHByaW50ZigicXVlcnk6ICVzXG4iLCB1cmktPnF1ZXJ5KTsKKwkgICAgICAgIGlmICh1cmktPmZyYWdtZW50KSBwcmludGYoImZyYWdtZW50OiAlc1xuIiwgdXJpLT5mcmFnbWVudCk7CisJICAgICAgICBpZiAodXJpLT5xdWVyeV9yYXcpIHByaW50ZigicXVlcnlfcmF3OiAlc1xuIiwgdXJpLT5xdWVyeV9yYXcpOworCSAgICAgICAgaWYgKHVyaS0+Y2xlYW51cCAhPSAwKSBwcmludGYoImNsZWFudXBcbiIpOworCSAgICB9CisJICAgIHhtbE5vcm1hbGl6ZVVSSVBhdGgodXJpLT5wYXRoKTsKKwkgICAgaWYgKGVzY2FwZSAhPSAwKSB7CisJCXBhcnNlZCA9IHhtbFNhdmVVcmkodXJpKTsKKwkJcmVzID0geG1sVVJJRXNjYXBlKHBhcnNlZCk7CisJCXByaW50ZigiJXNcbiIsIChjaGFyICopIHJlcyk7CisKKwkgICAgfSBlbHNlIHsKKwkJeG1sUHJpbnRVUkkoc3Rkb3V0LCB1cmkpOworCQlwcmludGYoIlxuIik7CisJICAgIH0KKwl9CisgICAgfSBlbHNlIHsKKwlyZXMgPSB4bWxCdWlsZFVSSSgoeG1sQ2hhciAqKXN0ciwgKHhtbENoYXIgKikgYmFzZSk7CisJaWYgKHJlcyAhPSBOVUxMKSB7CisJICAgIHByaW50ZigiJXNcbiIsIChjaGFyICopIHJlcyk7CisJfQorCWVsc2UKKwkgICAgcHJpbnRmKCI6OkVSUk9SOjpcbiIpOworICAgIH0KKyAgICBpZiAocmVzICE9IE5VTEwpCisJeG1sRnJlZShyZXMpOworICAgIGlmIChwYXJzZWQgIT0gTlVMTCkKKwl4bWxGcmVlKHBhcnNlZCk7CisgICAgeG1sRnJlZVVSSSh1cmkpOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKKyAgICBpbnQgaSwgYXJnID0gMTsKKworICAgIGlmICgoYXJnYyA+IGFyZykgJiYgKGFyZ3ZbYXJnXSAhPSBOVUxMKSAmJgorCSgoIXN0cmNtcChhcmd2W2FyZ10sICItYmFzZSIpKSB8fCAoIXN0cmNtcChhcmd2W2FyZ10sICItLWJhc2UiKSkpKSB7CisJYXJnKys7CisJYmFzZSA9IGFyZ3ZbYXJnXTsKKwlpZiAoYmFzZSAhPSBOVUxMKQorCSAgICBhcmcrKzsKKyAgICB9CisgICAgaWYgKChhcmdjID4gYXJnKSAmJiAoYXJndlthcmddICE9IE5VTEwpICYmCisJKCghc3RyY21wKGFyZ3ZbYXJnXSwgIi1lc2NhcGUiKSkgfHwgKCFzdHJjbXAoYXJndlthcmddLCAiLS1lc2NhcGUiKSkpKSB7CisJYXJnKys7CisJZXNjYXBlKys7CisgICAgfQorICAgIGlmICgoYXJnYyA+IGFyZykgJiYgKGFyZ3ZbYXJnXSAhPSBOVUxMKSAmJgorCSgoIXN0cmNtcChhcmd2W2FyZ10sICItZGVidWciKSkgfHwgKCFzdHJjbXAoYXJndlthcmddLCAiLS1kZWJ1ZyIpKSkpIHsKKwlhcmcrKzsKKwlkZWJ1ZysrOworICAgIH0KKyAgICBpZiAoYXJndlthcmddID09IE5VTEwpIHsKKwljaGFyIHN0clsxMDI0XTsKKworICAgICAgICB3aGlsZSAoMSkgeworCSAgICAvKgorCSAgICAgKiByZWFkIG9uZSBsaW5lIGluIHN0cmluZyBidWZmZXIuCisJICAgICAqLworCSAgICBpZiAoZmdldHMgKCZzdHJbMF0sIHNpemVvZiAoc3RyKSAtIDEsIHN0ZGluKSA9PSBOVUxMKQorCSAgICAgICBicmVhazsKKworCSAgICAvKgorCSAgICAgKiByZW1vdmUgdGhlIGVuZGluZyBzcGFjZXMKKwkgICAgICovCisJICAgIGkgPSBzdHJsZW4oc3RyKTsKKwkgICAgd2hpbGUgKChpID4gMCkgJiYKKwkJICAgKChzdHJbaSAtIDFdID09ICdcbicpIHx8IChzdHJbaSAtIDFdID09ICdccicpIHx8CisJCSAgICAoc3RyW2kgLSAxXSA9PSAnICcpIHx8IChzdHJbaSAtIDFdID09ICdcdCcpKSkgeworCQlpLS07CisJCXN0cltpXSA9IDA7CisJICAgIH0KKwkgICAgaGFuZGxlVVJJKHN0cik7CisgICAgICAgIH0KKyAgICB9IGVsc2UgeworCXdoaWxlIChhcmd2W2FyZ10gIT0gTlVMTCkgeworCSAgICBoYW5kbGVVUkkoYXJndlthcmddKTsKKwkgICAgYXJnKys7CisJfQorICAgIH0KKyAgICB4bWxNZW1vcnlEdW1wKCk7CisgICAgcmV0dXJuKDApOworfQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0WFBhdGguYyBiL2xpYnhtbDIvdGVzdFhQYXRoLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWJiOWZmNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdFhQYXRoLmMKQEAgLTAsMCArMSwyMjkgQEAKKy8qCisgKiB0ZXN0WFBhdGguYyA6IGEgc21hbGwgdGVzdGVyIHByb2dyYW0gZm9yIFhQYXRoLgorICoKKyAqIFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyAqCisgKiBkYW5pZWxAdmVpbGxhcmQuY29tCisgKi8KKworI2luY2x1ZGUgImxpYnhtbC5oIgorI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpICYmIGRlZmluZWQoTElCWE1MX0RFQlVHX0VOQUJMRUQpCisKKyNpbmNsdWRlIDxzdHJpbmcuaD4KKworI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNlbmRpZgorI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjZW5kaWYKKyNpZmRlZiBIQVZFX0ZDTlRMX0gKKyNpbmNsdWRlIDxmY250bC5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9VTklTVERfSAorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9TVERMSUJfSAorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2VuZGlmCisKKworI2luY2x1ZGUgPGxpYnhtbC94cGF0aC5oPgorI2luY2x1ZGUgPGxpYnhtbC90cmVlLmg+CisjaW5jbHVkZSA8bGlieG1sL3BhcnNlci5oPgorI2luY2x1ZGUgPGxpYnhtbC9kZWJ1Z1hNTC5oPgorI2luY2x1ZGUgPGxpYnhtbC94bWxtZW1vcnkuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvcGFyc2VySW50ZXJuYWxzLmg+CisjaW5jbHVkZSA8bGlieG1sL3hwYXRoSW50ZXJuYWxzLmg+CisjaW5jbHVkZSA8bGlieG1sL3htbGVycm9yLmg+CisjaW5jbHVkZSA8bGlieG1sL2dsb2JhbHMuaD4KKyNpZiBkZWZpbmVkKExJQlhNTF9YUFRSX0VOQUJMRUQpCisjaW5jbHVkZSA8bGlieG1sL3hwb2ludGVyLmg+CitzdGF0aWMgaW50IHhwdHIgPSAwOworI2VuZGlmCitzdGF0aWMgaW50IGRlYnVnID0gMDsKK3N0YXRpYyBpbnQgdmFsaWQgPSAwOworc3RhdGljIGludCBleHByID0gMDsKK3N0YXRpYyBpbnQgdHJlZSA9IDA7CitzdGF0aWMgaW50IG5vY2RhdGEgPSAwOworc3RhdGljIHhtbERvY1B0ciBkb2N1bWVudCA9IE5VTEw7CisKKy8qCisgKiBEZWZhdWx0IGRvY3VtZW50CisgKi8KK3N0YXRpYyB4bWxDaGFyIGJ1ZmZlcltdID0KKyI8P3htbCB2ZXJzaW9uPVwiMS4wXCI/PlxuXAorPEVYQU1QTEUgcHJvcDE9XCJnbm9tZSBpcyBncmVhdFwiIHByb3AyPVwiJmFtcDsgbGludXggdG9vXCI+XG5cCisgIDxoZWFkPlxuXAorICAgPHRpdGxlPldlbGNvbWUgdG8gR25vbWU8L3RpdGxlPlxuXAorICA8L2hlYWQ+XG5cCisgIDxjaGFwdGVyPlxuXAorICAgPHRpdGxlPlRoZSBMaW51eCBhZHZlbnR1cmU8L3RpdGxlPlxuXAorICAgPHA+YmxhIGJsYSBibGEgLi4uPC9wPlxuXAorICAgPGltYWdlIGhyZWY9XCJsaW51cy5naWZcIi8+XG5cCisgICA8cD4uLi48L3A+XG5cCisgIDwvY2hhcHRlcj5cblwKKyAgPGNoYXB0ZXI+XG5cCisgICA8dGl0bGU+Q2hhcHRlciAyPC90aXRsZT5cblwKKyAgIDxwPnRoaXMgaXMgY2hhcHRlciAyIC4uLjwvcD5cblwKKyAgPC9jaGFwdGVyPlxuXAorICA8Y2hhcHRlcj5cblwKKyAgIDx0aXRsZT5DaGFwdGVyIDM8L3RpdGxlPlxuXAorICAgPHA+dGhpcyBpcyBjaGFwdGVyIDMgLi4uPC9wPlxuXAorICA8L2NoYXB0ZXI+XG5cCis8L0VYQU1QTEU+XG5cCisiOworCisKK3N0YXRpYyB2b2lkCit0ZXN0WFBhdGgoY29uc3QgY2hhciAqc3RyKSB7CisgICAgeG1sWFBhdGhPYmplY3RQdHIgcmVzOworICAgIHhtbFhQYXRoQ29udGV4dFB0ciBjdHh0OworCisjaWYgZGVmaW5lZChMSUJYTUxfWFBUUl9FTkFCTEVEKQorICAgIGlmICh4cHRyKSB7CisJY3R4dCA9IHhtbFhQdHJOZXdDb250ZXh0KGRvY3VtZW50LCBOVUxMLCBOVUxMKTsKKwlyZXMgPSB4bWxYUHRyRXZhbChCQURfQ0FTVCBzdHIsIGN0eHQpOworICAgIH0gZWxzZSB7CisjZW5kaWYKKwljdHh0ID0geG1sWFBhdGhOZXdDb250ZXh0KGRvY3VtZW50KTsKKwljdHh0LT5ub2RlID0geG1sRG9jR2V0Um9vdEVsZW1lbnQoZG9jdW1lbnQpOworCWlmIChleHByKQorCSAgICByZXMgPSB4bWxYUGF0aEV2YWxFeHByZXNzaW9uKEJBRF9DQVNUIHN0ciwgY3R4dCk7CisJZWxzZSB7CisJICAgIC8qIHJlcyA9IHhtbFhQYXRoRXZhbChCQURfQ0FTVCBzdHIsIGN0eHQpOyAqLworCSAgICB4bWxYUGF0aENvbXBFeHByUHRyIGNvbXA7CisKKwkgICAgY29tcCA9IHhtbFhQYXRoQ29tcGlsZShCQURfQ0FTVCBzdHIpOworCSAgICBpZiAoY29tcCAhPSBOVUxMKSB7CisJCWlmICh0cmVlKQorCQkgICAgeG1sWFBhdGhEZWJ1Z0R1bXBDb21wRXhwcihzdGRvdXQsIGNvbXAsIDApOworCisJCXJlcyA9IHhtbFhQYXRoQ29tcGlsZWRFdmFsKGNvbXAsIGN0eHQpOworCQl4bWxYUGF0aEZyZWVDb21wRXhwcihjb21wKTsKKwkgICAgfSBlbHNlCisJCXJlcyA9IE5VTEw7CisJfQorI2lmIGRlZmluZWQoTElCWE1MX1hQVFJfRU5BQkxFRCkKKyAgICB9CisjZW5kaWYKKyAgICB4bWxYUGF0aERlYnVnRHVtcE9iamVjdChzdGRvdXQsIHJlcywgMCk7CisgICAgeG1sWFBhdGhGcmVlT2JqZWN0KHJlcyk7CisgICAgeG1sWFBhdGhGcmVlQ29udGV4dChjdHh0KTsKK30KKworc3RhdGljIHZvaWQKK3Rlc3RYUGF0aEZpbGUoY29uc3QgY2hhciAqZmlsZW5hbWUpIHsKKyAgICBGSUxFICppbnB1dDsKKyAgICBjaGFyIGV4cHJlc3Npb25bNTAwMF07CisgICAgaW50IGxlbjsKKworICAgIGlucHV0ID0gZm9wZW4oZmlsZW5hbWUsICJyIik7CisgICAgaWYgKGlucHV0ID09IE5VTEwpIHsKKyAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSJDYW5ub3Qgb3BlbiAlcyBmb3IgcmVhZGluZ1xuIiwgZmlsZW5hbWUpOworCXJldHVybjsKKyAgICB9CisgICAgd2hpbGUgKGZnZXRzKGV4cHJlc3Npb24sIDQ1MDAsIGlucHV0KSAhPSBOVUxMKSB7CisJbGVuID0gc3RybGVuKGV4cHJlc3Npb24pOworCWxlbi0tOworCXdoaWxlICgobGVuID49IDApICYmCisJICAgICAgICgoZXhwcmVzc2lvbltsZW5dID09ICdcbicpIHx8IChleHByZXNzaW9uW2xlbl0gPT0gJ1x0JykgfHwKKwkJKGV4cHJlc3Npb25bbGVuXSA9PSAnXHInKSB8fCAoZXhwcmVzc2lvbltsZW5dID09ICcgJykpKSBsZW4tLTsKKwlleHByZXNzaW9uW2xlbiArIDFdID0gMDsKKwlpZiAobGVuID49IDApIHsKKwkgICAgcHJpbnRmKCJcbj09PT09PT09PT09PT09PT09PT09PT09PVxuRXhwcmVzc2lvbjogJXNcbiIsIGV4cHJlc3Npb24pIDsKKwkgICAgdGVzdFhQYXRoKGV4cHJlc3Npb24pOworCX0KKyAgICB9CisKKyAgICBmY2xvc2UoaW5wdXQpOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKKyAgICBpbnQgaTsKKyAgICBpbnQgc3RyaW5ncyA9IDA7CisgICAgaW50IHVzZWZpbGUgPSAwOworICAgIGNoYXIgKmZpbGVuYW1lID0gTlVMTDsKKworICAgIGZvciAoaSA9IDE7IGkgPCBhcmdjIDsgaSsrKSB7CisjaWYgZGVmaW5lZChMSUJYTUxfWFBUUl9FTkFCTEVEKQorCWlmICgoIXN0cmNtcChhcmd2W2ldLCAiLXhwdHIiKSkgfHwgKCFzdHJjbXAoYXJndltpXSwgIi0teHB0ciIpKSkKKwkgICAgeHB0cisrOworCWVsc2UKKyNlbmRpZgorCWlmICgoIXN0cmNtcChhcmd2W2ldLCAiLWRlYnVnIikpIHx8ICghc3RyY21wKGFyZ3ZbaV0sICItLWRlYnVnIikpKQorCSAgICBkZWJ1ZysrOworCWVsc2UgaWYgKCghc3RyY21wKGFyZ3ZbaV0sICItdmFsaWQiKSkgfHwgKCFzdHJjbXAoYXJndltpXSwgIi0tdmFsaWQiKSkpCisJICAgIHZhbGlkKys7CisJZWxzZSBpZiAoKCFzdHJjbXAoYXJndltpXSwgIi1leHByIikpIHx8ICghc3RyY21wKGFyZ3ZbaV0sICItLWV4cHIiKSkpCisJICAgIGV4cHIrKzsKKwllbHNlIGlmICgoIXN0cmNtcChhcmd2W2ldLCAiLXRyZWUiKSkgfHwgKCFzdHJjbXAoYXJndltpXSwgIi0tdHJlZSIpKSkKKwkgICAgdHJlZSsrOworCWVsc2UgaWYgKCghc3RyY21wKGFyZ3ZbaV0sICItbm9jZGF0YSIpKSB8fAorCQkgKCFzdHJjbXAoYXJndltpXSwgIi0tbm9jZGF0YSIpKSkKKwkgICAgbm9jZGF0YSsrOworCWVsc2UgaWYgKCghc3RyY21wKGFyZ3ZbaV0sICItaSIpKSB8fCAoIXN0cmNtcChhcmd2W2ldLCAiLS1pbnB1dCIpKSkKKwkgICAgZmlsZW5hbWUgPSBhcmd2WysraV07CisJZWxzZSBpZiAoKCFzdHJjbXAoYXJndltpXSwgIi1mIikpIHx8ICghc3RyY21wKGFyZ3ZbaV0sICItLWZpbGUiKSkpCisJICAgIHVzZWZpbGUrKzsKKyAgICB9CisgICAgaWYgKHZhbGlkICE9IDApIHhtbERvVmFsaWRpdHlDaGVja2luZ0RlZmF1bHRWYWx1ZSA9IDE7CisgICAgeG1sTG9hZEV4dER0ZERlZmF1bHRWYWx1ZSB8PSBYTUxfREVURUNUX0lEUzsKKyAgICB4bWxMb2FkRXh0RHRkRGVmYXVsdFZhbHVlIHw9IFhNTF9DT01QTEVURV9BVFRSUzsKKyAgICB4bWxTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0VmFsdWUgPSAxOworI2lmZGVmIExJQlhNTF9TQVgxX0VOQUJMRUQKKyAgICBpZiAobm9jZGF0YSAhPSAwKSB7CisJeG1sRGVmYXVsdFNBWEhhbmRsZXJJbml0KCk7CisJeG1sRGVmYXVsdFNBWEhhbmRsZXIuY2RhdGFCbG9jayA9IE5VTEw7CisgICAgfQorI2VuZGlmCisgICAgaWYgKGRvY3VtZW50ID09IE5VTEwpIHsKKyAgICAgICAgaWYgKGZpbGVuYW1lID09IE5VTEwpCisJICAgIGRvY3VtZW50ID0geG1sUmVhZERvYyhidWZmZXIsTlVMTCxOVUxMLFhNTF9QQVJTRV9DT01QQUNUKTsKKwllbHNlCisJICAgIGRvY3VtZW50ID0geG1sUmVhZEZpbGUoZmlsZW5hbWUsTlVMTCxYTUxfUEFSU0VfQ09NUEFDVCk7CisgICAgfQorICAgIGZvciAoaSA9IDE7IGkgPCBhcmdjIDsgaSsrKSB7CisJaWYgKCghc3RyY21wKGFyZ3ZbaV0sICItaSIpKSB8fCAoIXN0cmNtcChhcmd2W2ldLCAiLS1pbnB1dCIpKSkgeworCSAgICBpKys7IGNvbnRpbnVlOworCX0KKwlpZiAoYXJndltpXVswXSAhPSAnLScpIHsKKwkgICAgaWYgKHVzZWZpbGUpCisJICAgICAgICB0ZXN0WFBhdGhGaWxlKGFyZ3ZbaV0pOworCSAgICBlbHNlCisJCXRlc3RYUGF0aChhcmd2W2ldKTsKKwkgICAgc3RyaW5ncyArKzsKKwl9CisgICAgfQorICAgIGlmIChzdHJpbmdzID09IDApIHsKKwlwcmludGYoIlVzYWdlIDogJXMgWy0tZGVidWddIFstLWNvcHldIHN0cmluZ3NvcmZpbGVzIC4uLlxuIiwKKwkgICAgICAgYXJndlswXSk7CisJcHJpbnRmKCJcdFBhcnNlIHRoZSBYUGF0aCBzdHJpbmdzIGFuZCBvdXRwdXQgdGhlIHJlc3VsdCBvZiB0aGUgcGFyc2luZ1xuIik7CisJcHJpbnRmKCJcdC0tZGVidWcgOiBkdW1wIGEgZGVidWcgdmVyc2lvbiBvZiB0aGUgcmVzdWx0XG4iKTsKKwlwcmludGYoIlx0LS12YWxpZCA6IHN3aXRjaCBvbiBEVEQgc3VwcG9ydCBpbiB0aGUgcGFyc2VyXG4iKTsKKyNpZiBkZWZpbmVkKExJQlhNTF9YUFRSX0VOQUJMRUQpCisJcHJpbnRmKCJcdC0teHB0ciA6IGV4cHJlc3Npb25zIGFyZSBYUG9pbnRlciBleHByZXNzaW9uc1xuIik7CisjZW5kaWYKKwlwcmludGYoIlx0LS1leHByIDogZGVidWcgWFBhdGggZXhwcmVzc2lvbnMgb25seVxuIik7CisJcHJpbnRmKCJcdC0tdHJlZSA6IHNob3cgdGhlIGNvbXBpbGVkIFhQYXRoIHRyZWVcbiIpOworCXByaW50ZigiXHQtLW5vY2RhdGEgOiBkbyBub3QgZ2VuZXJhdGUgQ0RBVEEgbm9kZXNcbiIpOworCXByaW50ZigiXHQtLWlucHV0IGZpbGVuYW1lIDogb3JcbiIpOworCXByaW50ZigiXHQtaSBmaWxlbmFtZSAgICAgIDogcmVhZCB0aGUgZG9jdW1lbnQgZnJvbSBmaWxlbmFtZVxuIik7CisJcHJpbnRmKCJcdC0tZmlsZSA6IG9yXG4iKTsKKwlwcmludGYoIlx0LWYgICAgIDogcmVhZCBxdWVyaWVzIGZyb20gZmlsZXMsIGFyZ3NcbiIpOworICAgIH0KKyAgICBpZiAoZG9jdW1lbnQgIT0gTlVMTCkKKwl4bWxGcmVlRG9jKGRvY3VtZW50KTsKKyAgICB4bWxDbGVhbnVwUGFyc2VyKCk7CisgICAgeG1sTWVtb3J5RHVtcCgpOworCisgICAgcmV0dXJuKDApOworfQorI2Vsc2UKKyNpbmNsdWRlIDxzdGRpby5oPgoraW50IG1haW4oaW50IGFyZ2MgQVRUUklCVVRFX1VOVVNFRCwgY2hhciAqKmFyZ3YgQVRUUklCVVRFX1VOVVNFRCkgeworICAgIHByaW50ZigiJXMgOiBYUGF0aC9EZWJ1ZyBzdXBwb3J0IG5vdCBjb21waWxlZCBpblxuIiwgYXJndlswXSk7CisgICAgcmV0dXJuKDApOworfQorI2VuZGlmIC8qIExJQlhNTF9YUEFUSF9FTkFCTEVEICovCmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3RhcGkuYyBiL2xpYnhtbDIvdGVzdGFwaS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAzNjdmZmQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3RhcGkuYwpAQCAtMCwwICsxLDUyMTcyIEBACisvKgorICogdGVzdGFwaS5jOiBsaWJ4bWwyIEFQSSB0ZXN0ZXIgcHJvZ3JhbS4KKyAqCisgKiBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSBnZW50ZXN0LnB5IGZyb20gbGlieG1sMi1hcGkueG1sCisgKgorICogU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgorICoKKyAqIGRhbmllbEB2ZWlsbGFyZC5jb20KKyAqLworCisjaW5jbHVkZSAibGlieG1sLmgiCisjaW5jbHVkZSA8c3RkaW8uaD4KKworI2luY2x1ZGUgPHN0ZGxpYi5oPiAvKiBmb3IgcHV0ZW52KCkgKi8KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxsaWJ4bWwveG1sZXJyb3IuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvcmVsYXhuZy5oPgorCisKK3N0YXRpYyBpbnQgdGVzdGxpYnhtbDIodm9pZCk7CitzdGF0aWMgaW50IHRlc3RfbW9kdWxlKGNvbnN0IGNoYXIgKm1vZHVsZSk7CisKK3N0YXRpYyBpbnQgZ2VuZXJpY19lcnJvcnMgPSAwOworc3RhdGljIGludCBjYWxsX3Rlc3RzID0gMDsKK3N0YXRpYyBpbnQgZnVuY3Rpb25fdGVzdHMgPSAwOworCitzdGF0aWMgeG1sQ2hhciBjaGFydGFiWzEwMjRdOworc3RhdGljIGludCBpbnR0YWJbMTAyNF07CitzdGF0aWMgdW5zaWduZWQgbG9uZyBsb25ndGFiWzEwMjRdOworCitzdGF0aWMgeG1sRG9jUHRyIGFwaV9kb2MgPSBOVUxMOworc3RhdGljIHhtbER0ZFB0ciBhcGlfZHRkID0gTlVMTDsKK3N0YXRpYyB4bWxOb2RlUHRyIGFwaV9yb290ID0gTlVMTDsKK3N0YXRpYyB4bWxBdHRyUHRyIGFwaV9hdHRyID0gTlVMTDsKK3N0YXRpYyB4bWxOc1B0ciBhcGlfbnMgPSBOVUxMOworCitzdGF0aWMgdm9pZAorc3RydWN0dXJlZF9lcnJvcnModm9pZCAqdXNlckRhdGEgQVRUUklCVVRFX1VOVVNFRCwKKyAgICAgICAgICAgICAgICAgIHhtbEVycm9yUHRyIGVycm9yIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICBnZW5lcmljX2Vycm9ycysrOworfQorCitzdGF0aWMgdm9pZAorZnJlZV9hcGlfZG9jKHZvaWQpIHsKKyAgICB4bWxGcmVlRG9jKGFwaV9kb2MpOworICAgIGFwaV9kb2MgPSBOVUxMOworICAgIGFwaV9kdGQgPSBOVUxMOworICAgIGFwaV9yb290ID0gTlVMTDsKKyAgICBhcGlfYXR0ciA9IE5VTEw7CisgICAgYXBpX25zID0gTlVMTDsKK30KKworc3RhdGljIHhtbERvY1B0cgorZ2V0X2FwaV9kb2Modm9pZCkgeworICAgIGlmIChhcGlfZG9jID09IE5VTEwpIHsKKyAgICAgICAgYXBpX2RvYyA9IHhtbFJlYWRNZW1vcnkoIjwhRE9DVFlQRSByb290IFs8IUVMRU1FTlQgcm9vdCBFTVBUWT5dPjxyb290IHhtbG5zOmg9J2h0dHA6Ly9leGFtcGxlLmNvbS8nIGg6Zm9vPSdiYXInLz4iLCA4OCwgInJvb3RfdGVzdCIsIE5VTEwsIDApOworCWFwaV9yb290ID0gTlVMTDsKKwlhcGlfYXR0ciA9IE5VTEw7CisgICAgfQorICAgIHJldHVybihhcGlfZG9jKTsKK30KKworc3RhdGljIHhtbER0ZFB0cgorZ2V0X2FwaV9kdGQodm9pZCkgeworICAgIGlmICgoYXBpX2R0ZCA9PSBOVUxMKSB8fCAoYXBpX2R0ZC0+dHlwZSAhPSBYTUxfRFREX05PREUpKSB7CisgICAgICAgIGdldF9hcGlfZG9jKCk7CisJaWYgKChhcGlfZG9jICE9IE5VTEwpICYmIChhcGlfZG9jLT5jaGlsZHJlbiAhPSBOVUxMKSAmJgorCSAgICAoYXBpX2RvYy0+Y2hpbGRyZW4tPnR5cGUgPT0gWE1MX0RURF9OT0RFKSkKKwkgICAgYXBpX2R0ZCA9ICh4bWxEdGRQdHIpIGFwaV9kb2MtPmNoaWxkcmVuOworICAgIH0KKyAgICByZXR1cm4oYXBpX2R0ZCk7Cit9CisKK3N0YXRpYyB4bWxOb2RlUHRyCitnZXRfYXBpX3Jvb3Qodm9pZCkgeworICAgIGlmICgoYXBpX3Jvb3QgPT0gTlVMTCkgfHwgKGFwaV9yb290LT50eXBlICE9IFhNTF9FTEVNRU5UX05PREUpKSB7CisgICAgICAgIGdldF9hcGlfZG9jKCk7CisJaWYgKChhcGlfZG9jICE9IE5VTEwpICYmIChhcGlfZG9jLT5jaGlsZHJlbiAhPSBOVUxMKSAmJgorCSAgICAoYXBpX2RvYy0+Y2hpbGRyZW4tPm5leHQgIT0gTlVMTCkgJiYKKwkgICAgKGFwaV9kb2MtPmNoaWxkcmVuLT5uZXh0LT50eXBlID09IFhNTF9FTEVNRU5UX05PREUpKQorCSAgICBhcGlfcm9vdCA9IGFwaV9kb2MtPmNoaWxkcmVuLT5uZXh0OworICAgIH0KKyAgICByZXR1cm4oYXBpX3Jvb3QpOworfQorCitzdGF0aWMgeG1sTnNQdHIKK2dldF9hcGlfbnModm9pZCkgeworICAgIGdldF9hcGlfcm9vdCgpOworICAgIGlmIChhcGlfcm9vdCAhPSBOVUxMKQorICAgICAgICBhcGlfbnMgPSBhcGlfcm9vdC0+bnNEZWY7CisgICAgcmV0dXJuKGFwaV9ucyk7Cit9CisKK3N0YXRpYyB4bWxBdHRyUHRyCitnZXRfYXBpX2F0dHIodm9pZCkgeworI2lmIGRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfWElOQ0xVREVfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpCisgICAgc3RhdGljIGludCBuciA9IDA7CisgICAgeG1sQ2hhciBuYW1lWzIwXTsKKyNlbmRpZgorCisgICAgaWYgKChhcGlfcm9vdCA9PSBOVUxMKSB8fCAoYXBpX3Jvb3QtPnR5cGUgIT0gWE1MX0VMRU1FTlRfTk9ERSkpIHsKKyAgICAgICAgZ2V0X2FwaV9yb290KCk7CisgICAgfQorICAgIGlmIChhcGlfcm9vdCA9PSBOVUxMKQorICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgaWYgKGFwaV9yb290LT5wcm9wZXJ0aWVzICE9IE5VTEwpIHsKKyAgICAgICAgYXBpX2F0dHIgPSBhcGlfcm9vdC0+cHJvcGVydGllczsKKyAgICAgICAgcmV0dXJuKGFwaV9yb290LT5wcm9wZXJ0aWVzKTsKKyAgICB9CisgICAgYXBpX2F0dHIgPSBOVUxMOworI2lmIGRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfWElOQ0xVREVfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpCisgICAgc25wcmludGYoKGNoYXIgKikgbmFtZSwgMjAsICJmb28lZCIsIG5yKyspOworICAgIGFwaV9hdHRyID0geG1sU2V0UHJvcChhcGlfcm9vdCwgbmFtZSwgKGNvbnN0IHhtbENoYXIgKikgImJhciIpOworI2VuZGlmCisgICAgcmV0dXJuKGFwaV9hdHRyKTsKK30KKworc3RhdGljIGludCBxdWlldCA9IDA7CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgeworICAgIGludCByZXQ7CisgICAgaW50IGJsb2NrcywgbWVtOworCisjaWZkZWYgSEFWRV9QVVRFTlYKKyAgICAvKiBhY2Nlc3MgdG8gdGhlIHByb3h5IGNhbiBzbG93IHVwIHJlZ3Jlc3Npb24gdGVzdHMgYSBsb3QgKi8KKyAgICBwdXRlbnYoKGNoYXIgKikgImh0dHBfcHJveHk9Iik7CisjZW5kaWYKKworICAgIG1lbXNldChjaGFydGFiLCAwLCBzaXplb2YoY2hhcnRhYikpOworICAgIHN0cm5jcHkoKGNoYXIgKikgY2hhcnRhYiwgIiAgY2hhcnRhYlxuIiwgMjApOworICAgIG1lbXNldChpbnR0YWIsIDAsIHNpemVvZihpbnR0YWIpKTsKKyAgICBtZW1zZXQobG9uZ3RhYiwgMCwgc2l6ZW9mKGxvbmd0YWIpKTsKKworICAgIHhtbEluaXRQYXJzZXIoKTsKKyNpZmRlZiBMSUJYTUxfU0NIRU1BU19FTkFCTEVECisgICAgeG1sUmVsYXhOR0luaXRUeXBlcygpOworI2VuZGlmCisKKyAgICBMSUJYTUxfVEVTVF9WRVJTSU9OCisKKyAgICB4bWxTZXRTdHJ1Y3R1cmVkRXJyb3JGdW5jKE5VTEwsIHN0cnVjdHVyZWRfZXJyb3JzKTsKKworICAgIGlmIChhcmdjID49IDIpIHsKKyAgICAgICAgaWYgKCFzdHJjbXAoYXJndlsxXSwgIi1xIikpIHsKKwkgICAgcXVpZXQgPSAxOworCSAgICBpZiAoYXJnYyA+PSAzKQorCSAgICAgICAgcmV0ID0gdGVzdF9tb2R1bGUoYXJndlsyXSk7CisJICAgIGVsc2UKKwkJcmV0ID0gdGVzdGxpYnhtbDIoKTsKKyAgICAgICAgfSBlbHNlIHsKKwkgICByZXQgPSB0ZXN0X21vZHVsZShhcmd2WzFdKTsKKwl9CisgICAgfSBlbHNlCisJcmV0ID0gdGVzdGxpYnhtbDIoKTsKKworICAgIHhtbENsZWFudXBQYXJzZXIoKTsKKyAgICBibG9ja3MgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICBtZW0gPSB4bWxNZW1Vc2VkKCk7CisgICAgaWYgKChibG9ja3MgIT0gMCkgfHwgKG1lbSAhPSAwKSkgeworICAgICAgICBwcmludGYoInRlc3RhcGkgbGVha2VkICVkIGJ5dGVzIGluICVkIGJsb2Nrc1xuIiwgbWVtLCBibG9ja3MpOworICAgIH0KKyAgICB4bWxNZW1vcnlEdW1wKCk7CisKKyAgICByZXR1cm4gKHJldCAhPSAwKTsKK30KKworI2luY2x1ZGUgPGxpYnhtbC9IVE1McGFyc2VyLmg+CisjaW5jbHVkZSA8bGlieG1sL0hUTUx0cmVlLmg+CisjaW5jbHVkZSA8bGlieG1sL2NhdGFsb2cuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvY2h2YWxpZC5oPgorI2luY2x1ZGUgPGxpYnhtbC9kaWN0Lmg+CisjaW5jbHVkZSA8bGlieG1sL2VuY29kaW5nLmg+CisjaW5jbHVkZSA8bGlieG1sL2VudGl0aWVzLmg+CisjaW5jbHVkZSA8bGlieG1sL2hhc2guaD4KKyNpbmNsdWRlIDxsaWJ4bWwvbGlzdC5oPgorI2luY2x1ZGUgPGxpYnhtbC9uYW5vZnRwLmg+CisjaW5jbHVkZSA8bGlieG1sL25hbm9odHRwLmg+CisjaW5jbHVkZSA8bGlieG1sL3BhcnNlci5oPgorI2luY2x1ZGUgPGxpYnhtbC9wYXJzZXJJbnRlcm5hbHMuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvcGF0dGVybi5oPgorI2luY2x1ZGUgPGxpYnhtbC9yZWxheG5nLmg+CisjaW5jbHVkZSA8bGlieG1sL3NjaGVtYXNJbnRlcm5hbHMuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvc2NoZW1hdHJvbi5oPgorI2luY2x1ZGUgPGxpYnhtbC90cmVlLmg+CisjaW5jbHVkZSA8bGlieG1sL3VyaS5oPgorI2luY2x1ZGUgPGxpYnhtbC92YWxpZC5oPgorI2luY2x1ZGUgPGxpYnhtbC94aW5jbHVkZS5oPgorI2luY2x1ZGUgPGxpYnhtbC94bWxJTy5oPgorI2luY2x1ZGUgPGxpYnhtbC94bWxlcnJvci5oPgorI2luY2x1ZGUgPGxpYnhtbC94bWxyZWFkZXIuaD4KKyNpbmNsdWRlIDxsaWJ4bWwveG1sc2F2ZS5oPgorI2luY2x1ZGUgPGxpYnhtbC94bWxzY2hlbWFzLmg+CisjaW5jbHVkZSA8bGlieG1sL3htbHNjaGVtYXN0eXBlcy5oPgorI2luY2x1ZGUgPGxpYnhtbC94bWxzdHJpbmcuaD4KKyNpbmNsdWRlIDxsaWJ4bWwveG1sd3JpdGVyLmg+CisjaW5jbHVkZSA8bGlieG1sL3hwYXRoLmg+CisjaW5jbHVkZSA8bGlieG1sL3hwb2ludGVyLmg+CisjaW5jbHVkZSA8bGlieG1sL2RlYnVnWE1MLmg+CisKKy8qCisgIFdlIG1hbnVhbGx5IGRlZmluZSB4bWxFcnJNZW1vcnkgYmVjYXVzZSBpdCdzIG5vcm1hbCBkZWNsYXJhdGlvbgorICBpcyAiaGlkZGVuIiBieSAjaWZkZWYgSU5fTElCWE1MCisqLwordm9pZCB4bWxFcnJNZW1vcnkoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0LCBjb25zdCBjaGFyICpleHRyYSk7CisKKy8qCisgV2UgbmVlZCBzb21lICJyZW1vdGUiIGFkZHJlc3NlcywgYnV0IHdhbnQgdG8gYXZvaWQgZ2V0dGluZyBpbnRvCisgbmFtZSByZXNvbHV0aW9uIGRlbGF5cywgc28gd2UgdXNlIHRoZXNlCisqLworI2RlZmluZQlSRU1PVEUxR09PRAkiaHR0cDovL2xvY2FsaG9zdC8iCisjZGVmaW5lCVJFTU9URTFCQUQJImh0dHA6aHR0cDovL2h0dHAiCisjZGVmaW5lCVJFTU9URTJHT09ECSJmdHA6Ly9sb2NhbGhvc3QvZm9vIgorCisjZGVmaW5lIGdlbl9uYl92b2lkX3B0ciAyCisKK3N0YXRpYyB2b2lkICpnZW5fdm9pZF9wdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgcmV0dXJuKE5VTEwpOworfQorc3RhdGljIHZvaWQgZGVzX3ZvaWRfcHRyKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCB2b2lkICp2YWwgQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKK30KKworI2lmIDAKKyNkZWZpbmUgZ2VuX25iX2NvbnN0X3ZvaWRfcHRyIDIKKworc3RhdGljIGNvbnN0IHZvaWQgKmdlbl9jb25zdF92b2lkX3B0cihpbnQgbm8sIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgaWYgKG5vID09IDApIHJldHVybigoY29uc3Qgdm9pZCAqKSAiaW1tdXRhYmxlIHN0cmluZyIpOworICAgIHJldHVybihOVUxMKTsKK30KK3N0YXRpYyB2b2lkIGRlc19jb25zdF92b2lkX3B0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgY29uc3Qgdm9pZCAqdmFsIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7Cit9CisjZW5kaWYKKworI2RlZmluZSBnZW5fbmJfdXNlcmRhdGEgMworCitzdGF0aWMgdm9pZCAqZ2VuX3VzZXJkYXRhKGludCBubywgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICBpZiAobm8gPT0gMCkgcmV0dXJuKCh2b2lkICopICZjYWxsX3Rlc3RzKTsKKyAgICBpZiAobm8gPT0gMSkgcmV0dXJuKCh2b2lkICopIC0xKTsKKyAgICByZXR1cm4oTlVMTCk7Cit9CitzdGF0aWMgdm9pZCBkZXNfdXNlcmRhdGEoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIHZvaWQgKnZhbCBBVFRSSUJVVEVfVU5VU0VELCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworfQorCisKKyNkZWZpbmUgZ2VuX25iX2ludCA0CisKK3N0YXRpYyBpbnQgZ2VuX2ludChpbnQgbm8sIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgaWYgKG5vID09IDApIHJldHVybigwKTsKKyAgICBpZiAobm8gPT0gMSkgcmV0dXJuKDEpOworICAgIGlmIChubyA9PSAyKSByZXR1cm4oLTEpOworICAgIGlmIChubyA9PSAzKSByZXR1cm4oMTIyKTsKKyAgICByZXR1cm4oLTEpOworfQorCitzdGF0aWMgdm9pZCBkZXNfaW50KGludCBubyBBVFRSSUJVVEVfVU5VU0VELCBpbnQgdmFsIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7Cit9CisKKyNkZWZpbmUgZ2VuX25iX3BhcnNlcm9wdGlvbnMgNQorCitzdGF0aWMgaW50IGdlbl9wYXJzZXJvcHRpb25zKGludCBubywgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICBpZiAobm8gPT0gMCkgcmV0dXJuKFhNTF9QQVJTRV9OT0JMQU5LUyB8IFhNTF9QQVJTRV9SRUNPVkVSKTsKKyAgICBpZiAobm8gPT0gMSkgcmV0dXJuKFhNTF9QQVJTRV9OT0VOVCB8IFhNTF9QQVJTRV9EVERMT0FEIHwgWE1MX1BBUlNFX0RUREFUVFIgfCBYTUxfUEFSU0VfRFREVkFMSUQgfCBYTUxfUEFSU0VfTk9DREFUQSk7CisgICAgaWYgKG5vID09IDIpIHJldHVybihYTUxfUEFSU0VfWElOQ0xVREUgfCBYTUxfUEFSU0VfTk9YSU5DTk9ERSB8IFhNTF9QQVJTRV9OU0NMRUFOKTsKKyAgICBpZiAobm8gPT0gMykgcmV0dXJuKFhNTF9QQVJTRV9YSU5DTFVERSB8IFhNTF9QQVJTRV9OT0RJQ1QpOworICAgIHJldHVybihYTUxfUEFSU0VfU0FYMSk7Cit9CisKK3N0YXRpYyB2b2lkIGRlc19wYXJzZXJvcHRpb25zKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCBpbnQgdmFsIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7Cit9CisKKyNpZiAwCisjZGVmaW5lIGdlbl9uYl9sb25nIDUKKworc3RhdGljIGxvbmcgZ2VuX2xvbmcoaW50IG5vLCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworICAgIGlmIChubyA9PSAwKSByZXR1cm4oMCk7CisgICAgaWYgKG5vID09IDEpIHJldHVybigxKTsKKyAgICBpZiAobm8gPT0gMikgcmV0dXJuKC0xKTsKKyAgICBpZiAobm8gPT0gMykgcmV0dXJuKDEyMik7CisgICAgcmV0dXJuKC0xKTsKK30KKworc3RhdGljIHZvaWQgZGVzX2xvbmcoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIGxvbmcgdmFsIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7Cit9CisjZW5kaWYKKworI2RlZmluZSBnZW5fbmJfeG1sQ2hhciA0CisKK3N0YXRpYyB4bWxDaGFyIGdlbl94bWxDaGFyKGludCBubywgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICBpZiAobm8gPT0gMCkgcmV0dXJuKCdhJyk7CisgICAgaWYgKG5vID09IDEpIHJldHVybignICcpOworICAgIGlmIChubyA9PSAyKSByZXR1cm4oKHhtbENoYXIpICdceGY4Jyk7CisgICAgcmV0dXJuKDApOworfQorCitzdGF0aWMgdm9pZCBkZXNfeG1sQ2hhcihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgeG1sQ2hhciB2YWwgQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKK30KKworI2RlZmluZSBnZW5fbmJfdW5zaWduZWRfaW50IDMKKworc3RhdGljIHVuc2lnbmVkIGludCBnZW5fdW5zaWduZWRfaW50KGludCBubywgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICBpZiAobm8gPT0gMCkgcmV0dXJuKDApOworICAgIGlmIChubyA9PSAxKSByZXR1cm4oMSk7CisgICAgaWYgKG5vID09IDIpIHJldHVybigxMjIpOworICAgIHJldHVybigodW5zaWduZWQgaW50KSAtMSk7Cit9CisKK3N0YXRpYyB2b2lkIGRlc191bnNpZ25lZF9pbnQoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIHVuc2lnbmVkIGludCB2YWwgQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKK30KKworI2RlZmluZSBnZW5fbmJfdW5zaWduZWRfbG9uZyA0CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGdlbl91bnNpZ25lZF9sb25nKGludCBubywgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICBpZiAobm8gPT0gMCkgcmV0dXJuKDApOworICAgIGlmIChubyA9PSAxKSByZXR1cm4oMSk7CisgICAgaWYgKG5vID09IDIpIHJldHVybigxMjIpOworICAgIHJldHVybigodW5zaWduZWQgbG9uZykgLTEpOworfQorCitzdGF0aWMgdm9pZCBkZXNfdW5zaWduZWRfbG9uZyhpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgdW5zaWduZWQgbG9uZyB2YWwgQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKK30KKworI2RlZmluZSBnZW5fbmJfZG91YmxlIDQKKworc3RhdGljIGRvdWJsZSBnZW5fZG91YmxlKGludCBubywgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICBpZiAobm8gPT0gMCkgcmV0dXJuKDApOworICAgIGlmIChubyA9PSAxKSByZXR1cm4oLTEuMSk7CisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyAgICBpZiAobm8gPT0gMikgcmV0dXJuKHhtbFhQYXRoTkFOKTsKKyNlbmRpZgorICAgIHJldHVybigtMSk7Cit9CisKK3N0YXRpYyB2b2lkIGRlc19kb3VibGUoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIGRvdWJsZSB2YWwgQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKK30KKworI2RlZmluZSBnZW5fbmJfdW5zaWduZWRfbG9uZ19wdHIgMgorCitzdGF0aWMgdW5zaWduZWQgbG9uZyAqZ2VuX3Vuc2lnbmVkX2xvbmdfcHRyKGludCBubywgaW50IG5yKSB7CisgICAgaWYgKG5vID09IDApIHJldHVybigmbG9uZ3RhYltucl0pOworICAgIHJldHVybihOVUxMKTsKK30KKworc3RhdGljIHZvaWQgZGVzX3Vuc2lnbmVkX2xvbmdfcHRyKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCB1bnNpZ25lZCBsb25nICp2YWwgQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKK30KKworI2RlZmluZSBnZW5fbmJfaW50X3B0ciAyCisKK3N0YXRpYyBpbnQgKmdlbl9pbnRfcHRyKGludCBubywgaW50IG5yKSB7CisgICAgaWYgKG5vID09IDApIHJldHVybigmaW50dGFiW25yXSk7CisgICAgcmV0dXJuKE5VTEwpOworfQorCitzdGF0aWMgdm9pZCBkZXNfaW50X3B0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgaW50ICp2YWwgQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKK30KKworI2RlZmluZSBnZW5fbmJfY29uc3RfY2hhcl9wdHIgNAorCitzdGF0aWMgY2hhciAqZ2VuX2NvbnN0X2NoYXJfcHRyKGludCBubywgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICBpZiAobm8gPT0gMCkgcmV0dXJuKChjaGFyICopICJmb28iKTsKKyAgICBpZiAobm8gPT0gMSkgcmV0dXJuKChjaGFyICopICI8Zm9vLz4iKTsKKyAgICBpZiAobm8gPT0gMikgcmV0dXJuKChjaGFyICopICJ0ZXN0L2VudDIiKTsKKyAgICByZXR1cm4oTlVMTCk7Cit9CitzdGF0aWMgdm9pZCBkZXNfY29uc3RfY2hhcl9wdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIGNvbnN0IGNoYXIgKnZhbCBBVFRSSUJVVEVfVU5VU0VELCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworfQorCisjZGVmaW5lIGdlbl9uYl94bWxDaGFyX3B0ciAyCisKK3N0YXRpYyB4bWxDaGFyICpnZW5feG1sQ2hhcl9wdHIoaW50IG5vLCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworICAgIGlmIChubyA9PSAwKSByZXR1cm4oJmNoYXJ0YWJbMF0pOworICAgIHJldHVybihOVUxMKTsKK30KK3N0YXRpYyB2b2lkIGRlc194bWxDaGFyX3B0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgeG1sQ2hhciAqdmFsIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7Cit9CisKKyNkZWZpbmUgZ2VuX25iX0ZJTEVfcHRyIDIKKworc3RhdGljIEZJTEUgKmdlbl9GSUxFX3B0cihpbnQgbm8sIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgaWYgKG5vID09IDApIHJldHVybihmb3BlbigidGVzdC5vdXQiLCAiYSsiKSk7CisgICAgcmV0dXJuKE5VTEwpOworfQorc3RhdGljIHZvaWQgZGVzX0ZJTEVfcHRyKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCBGSUxFICp2YWwsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgaWYgKHZhbCAhPSBOVUxMKSBmY2xvc2UodmFsKTsKK30KKworI2RlZmluZSBnZW5fbmJfZGVidWdfRklMRV9wdHIgMgorc3RhdGljIEZJTEUgKmdlbl9kZWJ1Z19GSUxFX3B0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICByZXR1cm4oZm9wZW4oInRlc3Qub3V0IiwgImErIikpOworfQorc3RhdGljIHZvaWQgZGVzX2RlYnVnX0ZJTEVfcHRyKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCBGSUxFICp2YWwsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgaWYgKHZhbCAhPSBOVUxMKSBmY2xvc2UodmFsKTsKK30KKworI2RlZmluZSBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHIgNQorCitzdGF0aWMgeG1sQ2hhciAqZ2VuX2NvbnN0X3htbENoYXJfcHRyKGludCBubywgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICBpZiAobm8gPT0gMCkgcmV0dXJuKCh4bWxDaGFyICopICJmb28iKTsKKyAgICBpZiAobm8gPT0gMSkgcmV0dXJuKCh4bWxDaGFyICopICI8Zm9vLz4iKTsKKyAgICBpZiAobm8gPT0gMikgcmV0dXJuKCh4bWxDaGFyICopICJuIiAiXHhmOCIgIm5lIik7CisgICAgaWYgKG5vID09IDMpIHJldHVybigoeG1sQ2hhciAqKSAiIDJhYiAiKTsKKyAgICByZXR1cm4oTlVMTCk7Cit9CitzdGF0aWMgdm9pZCBkZXNfY29uc3RfeG1sQ2hhcl9wdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIGNvbnN0IHhtbENoYXIgKnZhbCBBVFRSSUJVVEVfVU5VU0VELCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworfQorCisjZGVmaW5lIGdlbl9uYl9maWxlcGF0aCA4CisKK3N0YXRpYyBjb25zdCBjaGFyICpnZW5fZmlsZXBhdGgoaW50IG5vLCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworICAgIGlmIChubyA9PSAwKSByZXR1cm4oIm1pc3NpbmcueG1sIik7CisgICAgaWYgKG5vID09IDEpIHJldHVybigiPGZvby8+Iik7CisgICAgaWYgKG5vID09IDIpIHJldHVybigidGVzdC9lbnQyIik7CisgICAgaWYgKG5vID09IDMpIHJldHVybigidGVzdC92YWxpZC9SRUMteG1sLTE5OTgwMjEwLnhtbCIpOworICAgIGlmIChubyA9PSA0KSByZXR1cm4oInRlc3QvdmFsaWQvZHRkcy94aHRtbDEtc3RyaWN0LmR0ZCIpOworICAgIGlmIChubyA9PSA1KSByZXR1cm4oUkVNT1RFMUdPT0QpOworICAgIGlmIChubyA9PSA2KSByZXR1cm4oUkVNT1RFMUJBRCk7CisgICAgcmV0dXJuKE5VTEwpOworfQorc3RhdGljIHZvaWQgZGVzX2ZpbGVwYXRoKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCBjb25zdCBjaGFyICp2YWwgQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKK30KKworI2RlZmluZSBnZW5fbmJfZWF0ZW5fbmFtZSAyCisKK3N0YXRpYyB4bWxDaGFyICpnZW5fZWF0ZW5fbmFtZShpbnQgbm8sIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgaWYgKG5vID09IDApIHJldHVybih4bWxTdHJkdXAoQkFEX0NBU1QgImVhdGVuIikpOworICAgIHJldHVybihOVUxMKTsKK30KK3N0YXRpYyB2b2lkIGRlc19lYXRlbl9uYW1lKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCB4bWxDaGFyICp2YWwgQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKK30KKworI2RlZmluZSBnZW5fbmJfZmlsZW91dHB1dCA2CisKK3N0YXRpYyBjb25zdCBjaGFyICpnZW5fZmlsZW91dHB1dChpbnQgbm8sIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgaWYgKG5vID09IDApIHJldHVybigiL21pc3NpbmcueG1sIik7CisgICAgaWYgKG5vID09IDEpIHJldHVybigiPGZvby8+Iik7CisgICAgaWYgKG5vID09IDIpIHJldHVybihSRU1PVEUyR09PRCk7CisgICAgaWYgKG5vID09IDMpIHJldHVybihSRU1PVEUxR09PRCk7CisgICAgaWYgKG5vID09IDQpIHJldHVybihSRU1PVEUxQkFEKTsKKyAgICByZXR1cm4oTlVMTCk7Cit9CitzdGF0aWMgdm9pZCBkZXNfZmlsZW91dHB1dChpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgY29uc3QgY2hhciAqdmFsIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7Cit9CisKKyNkZWZpbmUgZ2VuX25iX3htbFBhcnNlckN0eHRQdHIgMworc3RhdGljIHhtbFBhcnNlckN0eHRQdHIgZ2VuX3htbFBhcnNlckN0eHRQdHIoaW50IG5vLCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworICAgIGlmIChubyA9PSAwKSByZXR1cm4oeG1sTmV3UGFyc2VyQ3R4dCgpKTsKKyAgICBpZiAobm8gPT0gMSkgcmV0dXJuKHhtbENyZWF0ZU1lbW9yeVBhcnNlckN0eHQoIjxkb2MvPiIsIDYpKTsKKyAgICByZXR1cm4oTlVMTCk7Cit9CitzdGF0aWMgdm9pZCBkZXNfeG1sUGFyc2VyQ3R4dFB0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgeG1sUGFyc2VyQ3R4dFB0ciB2YWwsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgaWYgKHZhbCAhPSBOVUxMKQorICAgICAgICB4bWxGcmVlUGFyc2VyQ3R4dCh2YWwpOworfQorCisjZGVmaW5lIGdlbl9uYl94bWxTQVhIYW5kbGVyUHRyIDIKK3N0YXRpYyB4bWxTQVhIYW5kbGVyUHRyIGdlbl94bWxTQVhIYW5kbGVyUHRyKGludCBubywgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKKyNpZmRlZiBMSUJYTUxfU0FYMV9FTkFCTEVECisgICAgaWYgKG5vID09IDApIHJldHVybigoeG1sU0FYSGFuZGxlclB0cikgJnhtbERlZmF1bHRTQVhIYW5kbGVyKTsKKyNlbmRpZgorICAgIHJldHVybihOVUxMKTsKK30KK3N0YXRpYyB2b2lkIGRlc194bWxTQVhIYW5kbGVyUHRyKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCB4bWxTQVhIYW5kbGVyUHRyIHZhbCBBVFRSSUJVVEVfVU5VU0VELCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworfQorCisjZGVmaW5lIGdlbl9uYl94bWxWYWxpZEN0eHRQdHIgMgorc3RhdGljIHhtbFZhbGlkQ3R4dFB0ciBnZW5feG1sVmFsaWRDdHh0UHRyKGludCBubywgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKKyNpZmRlZiBMSUJYTUxfVkFMSURfRU5BQkxFRAorICAgIGlmIChubyA9PSAwKSByZXR1cm4oeG1sTmV3VmFsaWRDdHh0KCkpOworI2VuZGlmCisgICAgcmV0dXJuKE5VTEwpOworfQorc3RhdGljIHZvaWQgZGVzX3htbFZhbGlkQ3R4dFB0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgeG1sVmFsaWRDdHh0UHRyIHZhbCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKKyNpZmRlZiBMSUJYTUxfVkFMSURfRU5BQkxFRAorICAgIGlmICh2YWwgIT0gTlVMTCkKKyAgICAgICAgeG1sRnJlZVZhbGlkQ3R4dCh2YWwpOworI2VuZGlmCit9CisKKyNkZWZpbmUgZ2VuX25iX3htbFBhcnNlcklucHV0QnVmZmVyUHRyIDgKKworc3RhdGljIHhtbFBhcnNlcklucHV0QnVmZmVyUHRyIGdlbl94bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cihpbnQgbm8sIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgaWYgKG5vID09IDApIHJldHVybih4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lKCJtaXNzaW5nLnhtbCIsIFhNTF9DSEFSX0VOQ09ESU5HX05PTkUpKTsKKyAgICBpZiAobm8gPT0gMSkgcmV0dXJuKHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWUoIjxmb28vPiIsIFhNTF9DSEFSX0VOQ09ESU5HX05PTkUpKTsKKyAgICBpZiAobm8gPT0gMikgcmV0dXJuKHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWUoInRlc3QvZW50MiIsIFhNTF9DSEFSX0VOQ09ESU5HX05PTkUpKTsKKyAgICBpZiAobm8gPT0gMykgcmV0dXJuKHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWUoInRlc3QvdmFsaWQvUkVDLXhtbC0xOTk4MDIxMC54bWwiLCBYTUxfQ0hBUl9FTkNPRElOR19OT05FKSk7CisgICAgaWYgKG5vID09IDQpIHJldHVybih4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lKCJ0ZXN0L3ZhbGlkL2R0ZHMveGh0bWwxLXN0cmljdC5kdGQiLCBYTUxfQ0hBUl9FTkNPRElOR19OT05FKSk7CisgICAgaWYgKG5vID09IDUpIHJldHVybih4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lKFJFTU9URTFHT09ELCBYTUxfQ0hBUl9FTkNPRElOR19OT05FKSk7CisgICAgaWYgKG5vID09IDYpIHJldHVybih4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lKFJFTU9URTFCQUQsIFhNTF9DSEFSX0VOQ09ESU5HX05PTkUpKTsKKyAgICByZXR1cm4oTlVMTCk7Cit9CitzdGF0aWMgdm9pZCBkZXNfeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIHhtbFBhcnNlcklucHV0QnVmZmVyUHRyIHZhbCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICB4bWxGcmVlUGFyc2VySW5wdXRCdWZmZXIodmFsKTsKK30KKworI2RlZmluZSBnZW5fbmJfeG1sRG9jUHRyIDQKK3N0YXRpYyB4bWxEb2NQdHIgZ2VuX3htbERvY1B0cihpbnQgbm8sIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgaWYgKG5vID09IDApIHJldHVybih4bWxOZXdEb2MoQkFEX0NBU1QgIjEuMCIpKTsKKyAgICBpZiAobm8gPT0gMSkgcmV0dXJuKHhtbFJlYWRNZW1vcnkoIjxmb28vPiIsIDYsICJ0ZXN0IiwgTlVMTCwgMCkpOworICAgIGlmIChubyA9PSAyKSByZXR1cm4oeG1sUmVhZE1lbW9yeSgiPCFET0NUWVBFIGZvbyBbXT4gPGZvby8+IiwgMjQsICJ0ZXN0IiwgTlVMTCwgMCkpOworICAgIHJldHVybihOVUxMKTsKK30KK3N0YXRpYyB2b2lkIGRlc194bWxEb2NQdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIHhtbERvY1B0ciB2YWwsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgaWYgKCh2YWwgIT0gTlVMTCkgJiYgKHZhbCAhPSBhcGlfZG9jKSAmJiAodmFsLT5kb2MgIT0gYXBpX2RvYykpCisgICAgICAgIHhtbEZyZWVEb2ModmFsKTsKK30KKworI2RlZmluZSBnZW5fbmJfeG1sQXR0clB0ciAyCitzdGF0aWMgeG1sQXR0clB0ciBnZW5feG1sQXR0clB0cihpbnQgbm8sIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgaWYgKG5vID09IDApIHJldHVybihnZXRfYXBpX2F0dHIoKSk7CisgICAgcmV0dXJuKE5VTEwpOworfQorc3RhdGljIHZvaWQgZGVzX3htbEF0dHJQdHIoaW50IG5vLCB4bWxBdHRyUHRyIHZhbCBBVFRSSUJVVEVfVU5VU0VELCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworICAgIGlmIChubyA9PSAwKSBmcmVlX2FwaV9kb2MoKTsKK30KKworI2RlZmluZSBnZW5fbmJfeG1sRGljdFB0ciAyCitzdGF0aWMgeG1sRGljdFB0ciBnZW5feG1sRGljdFB0cihpbnQgbm8sIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgaWYgKG5vID09IDApIHJldHVybih4bWxEaWN0Q3JlYXRlKCkpOworICAgIHJldHVybihOVUxMKTsKK30KK3N0YXRpYyB2b2lkIGRlc194bWxEaWN0UHRyKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCB4bWxEaWN0UHRyIHZhbCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICBpZiAodmFsICE9IE5VTEwpCisgICAgICAgIHhtbERpY3RGcmVlKHZhbCk7Cit9CisKKyNkZWZpbmUgZ2VuX25iX3htbE5vZGVQdHIgMworc3RhdGljIHhtbE5vZGVQdHIgZ2VuX3htbE5vZGVQdHIoaW50IG5vLCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworICAgIGlmIChubyA9PSAwKSByZXR1cm4oeG1sTmV3UEkoQkFEX0NBU1QgInRlc3QiLCBOVUxMKSk7CisgICAgaWYgKG5vID09IDEpIHJldHVybihnZXRfYXBpX3Jvb3QoKSk7CisgICAgcmV0dXJuKE5VTEwpOworLyogICAgIGlmIChubyA9PSAyKSByZXR1cm4oKHhtbE5vZGVQdHIpIGdldF9hcGlfZG9jKCkpOyAqLworfQorc3RhdGljIHZvaWQgZGVzX3htbE5vZGVQdHIoaW50IG5vLCB4bWxOb2RlUHRyIHZhbCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICBpZiAobm8gPT0gMSkgeworICAgICAgICBmcmVlX2FwaV9kb2MoKTsKKyAgICB9IGVsc2UgaWYgKHZhbCAhPSBOVUxMKSB7CisgICAgICAgIHhtbFVubGlua05vZGUodmFsKTsKKyAgICAgICAgeG1sRnJlZU5vZGUodmFsKTsKKyAgICB9Cit9CisKKyNkZWZpbmUgZ2VuX25iX3htbER0ZFB0ciAzCitzdGF0aWMgeG1sRHRkUHRyIGdlbl94bWxEdGRQdHIoaW50IG5vLCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworICAgIGlmIChubyA9PSAwKQorICAgICAgICByZXR1cm4oeG1sTmV3RHRkKE5VTEwsIEJBRF9DQVNUICJkdGQiLCBCQURfQ0FTVCJmb28iLCBCQURfQ0FTVCJiYXIiKSk7CisgICAgaWYgKG5vID09IDEpIHJldHVybihnZXRfYXBpX2R0ZCgpKTsKKyAgICByZXR1cm4oTlVMTCk7Cit9CitzdGF0aWMgdm9pZCBkZXNfeG1sRHRkUHRyKGludCBubywgeG1sRHRkUHRyIHZhbCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICBpZiAobm8gPT0gMSkgZnJlZV9hcGlfZG9jKCk7CisgICAgZWxzZSBpZiAodmFsICE9IE5VTEwpIHsKKyAgICAgICAgeG1sVW5saW5rTm9kZSgoeG1sTm9kZVB0cikgdmFsKTsKKyAgICAgICAgeG1sRnJlZU5vZGUoKHhtbE5vZGVQdHIpIHZhbCk7CisgICAgfQorfQorCisjZGVmaW5lIGdlbl9uYl94bWxOc1B0ciAyCitzdGF0aWMgeG1sTnNQdHIgZ2VuX3htbE5zUHRyKGludCBubywgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICBpZiAobm8gPT0gMCkgcmV0dXJuKGdldF9hcGlfbnMoKSk7CisgICAgcmV0dXJuKE5VTEwpOworfQorc3RhdGljIHZvaWQgZGVzX3htbE5zUHRyKGludCBubywgeG1sTnNQdHIgdmFsIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgaWYgKG5vID09IDApIGZyZWVfYXBpX2RvYygpOworfQorCisjZGVmaW5lIGdlbl9uYl94bWxOb2RlUHRyX2luIDMKK3N0YXRpYyB4bWxOb2RlUHRyIGdlbl94bWxOb2RlUHRyX2luKGludCBubywgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICBpZiAobm8gPT0gMCkgcmV0dXJuKHhtbE5ld1BJKEJBRF9DQVNUICJ0ZXN0IiwgTlVMTCkpOworICAgIGlmIChubyA9PSAwKSByZXR1cm4oeG1sTmV3VGV4dChCQURfQ0FTVCAidGV4dCIpKTsKKyAgICByZXR1cm4oTlVMTCk7Cit9CitzdGF0aWMgdm9pZCBkZXNfeG1sTm9kZVB0cl9pbihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgeG1sTm9kZVB0ciB2YWwgQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKK30KKworI2lmZGVmIExJQlhNTF9XUklURVJfRU5BQkxFRAorI2RlZmluZSBnZW5fbmJfeG1sVGV4dFdyaXRlclB0ciAyCitzdGF0aWMgeG1sVGV4dFdyaXRlclB0ciBnZW5feG1sVGV4dFdyaXRlclB0cihpbnQgbm8sIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgaWYgKG5vID09IDApIHJldHVybih4bWxOZXdUZXh0V3JpdGVyRmlsZW5hbWUoInRlc3Qub3V0IiwgMCkpOworICAgIHJldHVybihOVUxMKTsKK30KK3N0YXRpYyB2b2lkIGRlc194bWxUZXh0V3JpdGVyUHRyKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCB4bWxUZXh0V3JpdGVyUHRyIHZhbCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICBpZiAodmFsICE9IE5VTEwpIHhtbEZyZWVUZXh0V3JpdGVyKHZhbCk7Cit9CisjZW5kaWYKKworI2lmZGVmIExJQlhNTF9SRUFERVJfRU5BQkxFRAorI2RlZmluZSBnZW5fbmJfeG1sVGV4dFJlYWRlclB0ciA0CitzdGF0aWMgeG1sVGV4dFJlYWRlclB0ciBnZW5feG1sVGV4dFJlYWRlclB0cihpbnQgbm8sIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgaWYgKG5vID09IDApIHJldHVybih4bWxOZXdUZXh0UmVhZGVyRmlsZW5hbWUoInRlc3QvZW50MiIpKTsKKyAgICBpZiAobm8gPT0gMSkgcmV0dXJuKHhtbE5ld1RleHRSZWFkZXJGaWxlbmFtZSgidGVzdC92YWxpZC9SRUMteG1sLTE5OTgwMjEwLnhtbCIpKTsKKyAgICBpZiAobm8gPT0gMikgcmV0dXJuKHhtbE5ld1RleHRSZWFkZXJGaWxlbmFtZSgidGVzdC92YWxpZC9kdGRzL3hodG1sMS1zdHJpY3QuZHRkIikpOworICAgIHJldHVybihOVUxMKTsKK30KK3N0YXRpYyB2b2lkIGRlc194bWxUZXh0UmVhZGVyUHRyKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCB4bWxUZXh0UmVhZGVyUHRyIHZhbCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICBpZiAodmFsICE9IE5VTEwpIHhtbEZyZWVUZXh0UmVhZGVyKHZhbCk7Cit9CisjZW5kaWYKKworI2RlZmluZSBnZW5fbmJfeG1sQnVmZmVyUHRyIDMKK3N0YXRpYyBjb25zdCB4bWxDaGFyICpzdGF0aWNfYnVmX2NvbnRlbnQgPSAoeG1sQ2hhciAqKSJhIHN0YXRpYyBidWZmZXIiOworc3RhdGljIHhtbEJ1ZmZlclB0ciBnZW5feG1sQnVmZmVyUHRyKGludCBubywgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICBpZiAobm8gPT0gMCkgcmV0dXJuKHhtbEJ1ZmZlckNyZWF0ZSgpKTsKKyAgICBpZiAobm8gPT0gMSkgcmV0dXJuKHhtbEJ1ZmZlckNyZWF0ZVN0YXRpYygodm9pZCAqKXN0YXRpY19idWZfY29udGVudCwgMTMpKTsKKyAgICByZXR1cm4oTlVMTCk7Cit9CitzdGF0aWMgdm9pZCBkZXNfeG1sQnVmZmVyUHRyKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCB4bWxCdWZmZXJQdHIgdmFsLCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworICAgIGlmICh2YWwgIT0gTlVMTCkgeworICAgICAgICB4bWxCdWZmZXJGcmVlKHZhbCk7CisgICAgfQorfQorCisjZGVmaW5lIGdlbl9uYl94bWxMaXN0UHRyIDIKK3N0YXRpYyB4bWxMaXN0UHRyIGdlbl94bWxMaXN0UHRyKGludCBubywgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICBpZiAobm8gPT0gMCkgcmV0dXJuKHhtbExpc3RDcmVhdGUoTlVMTCwgTlVMTCkpOworICAgIHJldHVybihOVUxMKTsKK30KK3N0YXRpYyB2b2lkIGRlc194bWxMaXN0UHRyKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCB4bWxMaXN0UHRyIHZhbCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICBpZiAodmFsICE9IE5VTEwpIHsKKyAgICAgICAgeG1sTGlzdERlbGV0ZSh2YWwpOworICAgIH0KK30KKworI2RlZmluZSBnZW5fbmJfeG1sSGFzaFRhYmxlUHRyIDIKK3N0YXRpYyB4bWxIYXNoVGFibGVQdHIgZ2VuX3htbEhhc2hUYWJsZVB0cihpbnQgbm8sIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgaWYgKG5vID09IDApIHJldHVybih4bWxIYXNoQ3JlYXRlKDEwKSk7CisgICAgcmV0dXJuKE5VTEwpOworfQorc3RhdGljIHZvaWQgZGVzX3htbEhhc2hUYWJsZVB0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgeG1sSGFzaFRhYmxlUHRyIHZhbCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICBpZiAodmFsICE9IE5VTEwpIHsKKyAgICAgICAgeG1sSGFzaEZyZWUodmFsLCBOVUxMKTsKKyAgICB9Cit9CisKKyNpbmNsdWRlIDxsaWJ4bWwveHBhdGhJbnRlcm5hbHMuaD4KKworI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECisjZGVmaW5lIGdlbl9uYl94bWxYUGF0aE9iamVjdFB0ciA1CitzdGF0aWMgeG1sWFBhdGhPYmplY3RQdHIgZ2VuX3htbFhQYXRoT2JqZWN0UHRyKGludCBubywgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICBpZiAobm8gPT0gMCkgcmV0dXJuKHhtbFhQYXRoTmV3U3RyaW5nKEJBRF9DQVNUICJzdHJpbmcgb2JqZWN0IikpOworICAgIGlmIChubyA9PSAxKSByZXR1cm4oeG1sWFBhdGhOZXdGbG9hdCgxLjEpKTsKKyAgICBpZiAobm8gPT0gMikgcmV0dXJuKHhtbFhQYXRoTmV3Qm9vbGVhbigxKSk7CisgICAgaWYgKG5vID09IDMpIHJldHVybih4bWxYUGF0aE5ld05vZGVTZXQoTlVMTCkpOworICAgIHJldHVybihOVUxMKTsKK30KK3N0YXRpYyB2b2lkIGRlc194bWxYUGF0aE9iamVjdFB0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgeG1sWFBhdGhPYmplY3RQdHIgdmFsLCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworICAgIGlmICh2YWwgIT0gTlVMTCkgeworICAgICAgICB4bWxYUGF0aEZyZWVPYmplY3QodmFsKTsKKyAgICB9Cit9CisjZW5kaWYKKworI2lmZGVmIExJQlhNTF9PVVRQVVRfRU5BQkxFRAorI2RlZmluZSBnZW5fbmJfeG1sT3V0cHV0QnVmZmVyUHRyIDIKK3N0YXRpYyB4bWxPdXRwdXRCdWZmZXJQdHIgZ2VuX3htbE91dHB1dEJ1ZmZlclB0cihpbnQgbm8sIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgaWYgKG5vID09IDApIHJldHVybih4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZSgidGVzdC5vdXQiLCBOVUxMLCAwKSk7CisgICAgcmV0dXJuKE5VTEwpOworfQorc3RhdGljIHZvaWQgZGVzX3htbE91dHB1dEJ1ZmZlclB0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgeG1sT3V0cHV0QnVmZmVyUHRyIHZhbCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICBpZiAodmFsICE9IE5VTEwpIHsKKyAgICAgICAgeG1sT3V0cHV0QnVmZmVyQ2xvc2UodmFsKTsKKyAgICB9Cit9CisjZW5kaWYKKworI2lmZGVmIExJQlhNTF9GVFBfRU5BQkxFRAorI2RlZmluZSBnZW5fbmJfeG1sTmFub0ZUUEN0eHRQdHIgNAorc3RhdGljIHZvaWQgKmdlbl94bWxOYW5vRlRQQ3R4dFB0cihpbnQgbm8sIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgaWYgKG5vID09IDApIHJldHVybih4bWxOYW5vRlRQTmV3Q3R4dChSRU1PVEUyR09PRCkpOworICAgIGlmIChubyA9PSAxKSByZXR1cm4oeG1sTmFub0ZUUE5ld0N0eHQoUkVNT1RFMUdPT0QpKTsKKyAgICBpZiAobm8gPT0gMikgcmV0dXJuKHhtbE5hbm9GVFBOZXdDdHh0KCJmb28iKSk7CisgICAgcmV0dXJuKE5VTEwpOworfQorc3RhdGljIHZvaWQgZGVzX3htbE5hbm9GVFBDdHh0UHRyKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCB2b2lkICp2YWwsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgaWYgKHZhbCAhPSBOVUxMKSB7CisgICAgICAgIHhtbE5hbm9GVFBGcmVlQ3R4dCh2YWwpOworICAgIH0KK30KKyNlbmRpZgorCisjaWZkZWYgTElCWE1MX0hUVFBfRU5BQkxFRAorI2RlZmluZSBnZW5fbmJfeG1sTmFub0hUVFBDdHh0UHRyIDEKK3N0YXRpYyB2b2lkICpnZW5feG1sTmFub0hUVFBDdHh0UHRyKGludCBubywgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICBpZiAobm8gPT0gMCkgcmV0dXJuKHhtbE5hbm9IVFRQT3BlbihSRU1PVEUxR09PRCwgTlVMTCkpOworICAgIGlmIChubyA9PSAxKSByZXR1cm4oeG1sTmFub0hUVFBPcGVuKFJFTU9URTJHT09ELCBOVUxMKSk7CisgICAgaWYgKG5vID09IDIpIHJldHVybih4bWxOYW5vSFRUUE9wZW4oUkVNT1RFMUJBRCwgTlVMTCkpOworICAgIHJldHVybihOVUxMKTsKK30KK3N0YXRpYyB2b2lkIGRlc194bWxOYW5vSFRUUEN0eHRQdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIHZvaWQgKnZhbCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICBpZiAodmFsICE9IE5VTEwpIHsKKwl4bWxOYW5vSFRUUENsb3NlKHZhbCk7CisgICAgfQorfQorI2VuZGlmCisKKyNkZWZpbmUgZ2VuX25iX3htbENoYXJFbmNvZGluZyA0CitzdGF0aWMgeG1sQ2hhckVuY29kaW5nIGdlbl94bWxDaGFyRW5jb2RpbmcoaW50IG5vLCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworICAgIGlmIChubyA9PSAwKSByZXR1cm4oWE1MX0NIQVJfRU5DT0RJTkdfVVRGOCk7CisgICAgaWYgKG5vID09IDEpIHJldHVybihYTUxfQ0hBUl9FTkNPRElOR19OT05FKTsKKyAgICBpZiAobm8gPT0gMikgcmV0dXJuKFhNTF9DSEFSX0VOQ09ESU5HXzg4NTlfMSk7CisgICAgcmV0dXJuKFhNTF9DSEFSX0VOQ09ESU5HX0VSUk9SKTsKK30KK3N0YXRpYyB2b2lkIGRlc194bWxDaGFyRW5jb2RpbmcoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIHhtbENoYXJFbmNvZGluZyB2YWwgQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKK30KKworI2lmIGRlZmluZWQoTElCWE1MX1JFR0VYUF9FTkFCTEVEKSAmJiBkZWZpbmVkKExJQlhNTF9FWFBSX0VOQUJMRUQpCisKKyNkZWZpbmUgZ2VuX25iX3htbEV4cEN0eHRQdHIgMQorc3RhdGljIHhtbEV4cEN0eHRQdHIgZ2VuX3htbEV4cEN0eHRQdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgcmV0dXJuKE5VTEwpOworfQorc3RhdGljIHZvaWQgZGVzX3htbEV4cEN0eHRQdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIHhtbEV4cEN0eHRQdHIgdmFsIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7Cit9CisKKyNkZWZpbmUgZ2VuX25iX3htbEV4cE5vZGVQdHIgMQorc3RhdGljIHhtbEV4cE5vZGVQdHIgZ2VuX3htbEV4cE5vZGVQdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgcmV0dXJuKE5VTEwpOworfQorc3RhdGljIHZvaWQgZGVzX3htbEV4cE5vZGVQdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIHhtbEV4cE5vZGVQdHIgdmFsIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7Cit9CisKKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQorI2RlZmluZSBnZW5fbmJfeG1sU2NoZW1hUHRyIDEKK3N0YXRpYyB4bWxTY2hlbWFQdHIgZ2VuX3htbFNjaGVtYVB0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICByZXR1cm4oTlVMTCk7Cit9CitzdGF0aWMgdm9pZCBkZXNfeG1sU2NoZW1hUHRyKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCB4bWxTY2hlbWFQdHIgdmFsIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7Cit9CisKKyNkZWZpbmUgZ2VuX25iX3htbFNjaGVtYVZhbGlkQ3R4dFB0ciAxCitzdGF0aWMgeG1sU2NoZW1hVmFsaWRDdHh0UHRyIGdlbl94bWxTY2hlbWFWYWxpZEN0eHRQdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgcmV0dXJuKE5VTEwpOworfQorc3RhdGljIHZvaWQgZGVzX3htbFNjaGVtYVZhbGlkQ3R4dFB0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgeG1sU2NoZW1hVmFsaWRDdHh0UHRyIHZhbCBBVFRSSUJVVEVfVU5VU0VELCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworfQorCisjZW5kaWYgLyogTElCWE1MX1NDSEVNQVNfRU5BQkxFRCAqLworCisjZGVmaW5lIGdlbl9uYl94bWxIYXNoRGVhbGxvY2F0b3IgMgorc3RhdGljIHZvaWQKK3Rlc3RfeG1sSGFzaERlYWxsb2NhdG9yKHZvaWQgKnBheWxvYWQgQVRUUklCVVRFX1VOVVNFRCwgeG1sQ2hhciAqbmFtZSBBVFRSSUJVVEVfVU5VU0VEKSB7Cit9CisKK3N0YXRpYyB4bWxIYXNoRGVhbGxvY2F0b3IgZ2VuX3htbEhhc2hEZWFsbG9jYXRvcihpbnQgbm8sIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgaWYgKG5vID09IDApIHJldHVybih0ZXN0X3htbEhhc2hEZWFsbG9jYXRvcik7CisgICAgcmV0dXJuKE5VTEwpOworfQorc3RhdGljIHZvaWQgZGVzX3htbEhhc2hEZWFsbG9jYXRvcihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgeG1sSGFzaERlYWxsb2NhdG9yIHZhbCBBVFRSSUJVVEVfVU5VU0VELCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworfQorCisKK3N0YXRpYyB2b2lkIGRlc3JldF9pbnQoaW50IHZhbCBBVFRSSUJVVEVfVU5VU0VEKSB7Cit9CitzdGF0aWMgdm9pZCBkZXNyZXRfeG1sQ2hhcih4bWxDaGFyIHZhbCBBVFRSSUJVVEVfVU5VU0VEKSB7Cit9CitzdGF0aWMgdm9pZCBkZXNyZXRfbG9uZyhsb25nIHZhbCBBVFRSSUJVVEVfVU5VU0VEKSB7Cit9CitzdGF0aWMgdm9pZCBkZXNyZXRfdW5zaWduZWRfbG9uZyh1bnNpZ25lZCBsb25nIHZhbCBBVFRSSUJVVEVfVU5VU0VEKSB7Cit9CitzdGF0aWMgdm9pZCBkZXNyZXRfZG91YmxlKGRvdWJsZSB2YWwgQVRUUklCVVRFX1VOVVNFRCkgeworfQorc3RhdGljIHZvaWQgZGVzcmV0X3htbENoYXJFbmNvZGluZyh4bWxDaGFyRW5jb2RpbmcgdmFsIEFUVFJJQlVURV9VTlVTRUQpIHsKK30KKyNpZiAwCitzdGF0aWMgdm9pZCBkZXNyZXRfY29uc3Rfdm9pZF9wdHIodm9pZCAqdmFsIEFUVFJJQlVURV9VTlVTRUQpIHsKK30KKyNlbmRpZgorc3RhdGljIHZvaWQgZGVzcmV0X3ZvaWRfcHRyKHZvaWQgKnZhbCBBVFRSSUJVVEVfVU5VU0VEKSB7Cit9CitzdGF0aWMgdm9pZCBkZXNyZXRfY29uc3RfY2hhcl9wdHIoY29uc3QgY2hhciAqdmFsIEFUVFJJQlVURV9VTlVTRUQpIHsKK30KK3N0YXRpYyB2b2lkIGRlc3JldF9jb25zdF94bWxDaGFyX3B0cihjb25zdCB4bWxDaGFyICp2YWwgQVRUUklCVVRFX1VOVVNFRCkgeworfQorc3RhdGljIHZvaWQgZGVzcmV0X3htbENoYXJfcHRyKHhtbENoYXIgKnZhbCkgeworICAgIGlmICh2YWwgIT0gTlVMTCkKKwl4bWxGcmVlKHZhbCk7Cit9CitzdGF0aWMgdm9pZCBkZXNyZXRfeG1sRG9jUHRyKHhtbERvY1B0ciB2YWwpIHsKKyAgICBpZiAodmFsICE9IGFwaV9kb2MpCisJeG1sRnJlZURvYyh2YWwpOworfQorc3RhdGljIHZvaWQgZGVzcmV0X3htbERpY3RQdHIoeG1sRGljdFB0ciB2YWwpIHsKKyAgICB4bWxEaWN0RnJlZSh2YWwpOworfQorI2lmZGVmIExJQlhNTF9PVVRQVVRfRU5BQkxFRAorc3RhdGljIHZvaWQgZGVzcmV0X3htbE91dHB1dEJ1ZmZlclB0cih4bWxPdXRwdXRCdWZmZXJQdHIgdmFsKSB7CisgICAgeG1sT3V0cHV0QnVmZmVyQ2xvc2UodmFsKTsKK30KKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUFERVJfRU5BQkxFRAorc3RhdGljIHZvaWQgZGVzcmV0X3htbFRleHRSZWFkZXJQdHIoeG1sVGV4dFJlYWRlclB0ciB2YWwpIHsKKyAgICB4bWxGcmVlVGV4dFJlYWRlcih2YWwpOworfQorI2VuZGlmCitzdGF0aWMgdm9pZCBkZXNyZXRfeG1sTm9kZVB0cih4bWxOb2RlUHRyIHZhbCkgeworICAgIGlmICgodmFsICE9IE5VTEwpICYmICh2YWwgIT0gYXBpX3Jvb3QpICYmICh2YWwgIT0gKHhtbE5vZGVQdHIpIGFwaV9kb2MpKSB7CisJeG1sVW5saW5rTm9kZSh2YWwpOworCXhtbEZyZWVOb2RlKHZhbCk7CisgICAgfQorfQorc3RhdGljIHZvaWQgZGVzcmV0X3htbEF0dHJQdHIoeG1sQXR0clB0ciB2YWwpIHsKKyAgICBpZiAodmFsICE9IE5VTEwpIHsKKwl4bWxVbmxpbmtOb2RlKCh4bWxOb2RlUHRyKSB2YWwpOworCXhtbEZyZWVOb2RlKCh4bWxOb2RlUHRyKSB2YWwpOworICAgIH0KK30KK3N0YXRpYyB2b2lkIGRlc3JldF94bWxFbnRpdHlQdHIoeG1sRW50aXR5UHRyIHZhbCkgeworICAgIGlmICh2YWwgIT0gTlVMTCkgeworCXhtbFVubGlua05vZGUoKHhtbE5vZGVQdHIpIHZhbCk7CisJeG1sRnJlZU5vZGUoKHhtbE5vZGVQdHIpIHZhbCk7CisgICAgfQorfQorc3RhdGljIHZvaWQgZGVzcmV0X3htbEVsZW1lbnRQdHIoeG1sRWxlbWVudFB0ciB2YWwpIHsKKyAgICBpZiAodmFsICE9IE5VTEwpIHsKKwl4bWxVbmxpbmtOb2RlKCh4bWxOb2RlUHRyKSB2YWwpOworICAgIH0KK30KK3N0YXRpYyB2b2lkIGRlc3JldF94bWxBdHRyaWJ1dGVQdHIoeG1sQXR0cmlidXRlUHRyIHZhbCkgeworICAgIGlmICh2YWwgIT0gTlVMTCkgeworCXhtbFVubGlua05vZGUoKHhtbE5vZGVQdHIpIHZhbCk7CisgICAgfQorfQorc3RhdGljIHZvaWQgZGVzcmV0X3htbE5zUHRyKHhtbE5zUHRyIHZhbCBBVFRSSUJVVEVfVU5VU0VEKSB7Cit9CitzdGF0aWMgdm9pZCBkZXNyZXRfeG1sRHRkUHRyKHhtbER0ZFB0ciB2YWwpIHsKKyAgICBkZXNyZXRfeG1sTm9kZVB0cigoeG1sTm9kZVB0cil2YWwpOworfQorI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECitzdGF0aWMgdm9pZCBkZXNyZXRfeG1sWFBhdGhPYmplY3RQdHIoeG1sWFBhdGhPYmplY3RQdHIgdmFsKSB7CisgICAgeG1sWFBhdGhGcmVlT2JqZWN0KHZhbCk7Cit9CitzdGF0aWMgdm9pZCBkZXNyZXRfeG1sTm9kZVNldFB0cih4bWxOb2RlU2V0UHRyIHZhbCkgeworICAgIHhtbFhQYXRoRnJlZU5vZGVTZXQodmFsKTsKK30KKyNlbmRpZgorc3RhdGljIHZvaWQgZGVzcmV0X3htbFBhcnNlckN0eHRQdHIoeG1sUGFyc2VyQ3R4dFB0ciB2YWwpIHsKKyAgICB4bWxGcmVlUGFyc2VyQ3R4dCh2YWwpOworfQorc3RhdGljIHZvaWQgZGVzcmV0X3htbFBhcnNlcklucHV0QnVmZmVyUHRyKHhtbFBhcnNlcklucHV0QnVmZmVyUHRyIHZhbCkgeworICAgIHhtbEZyZWVQYXJzZXJJbnB1dEJ1ZmZlcih2YWwpOworfQorc3RhdGljIHZvaWQgZGVzcmV0X3htbFBhcnNlcklucHV0UHRyKHhtbFBhcnNlcklucHV0UHRyIHZhbCkgeworICAgIHhtbEZyZWVJbnB1dFN0cmVhbSh2YWwpOworfQorI2lmZGVmIExJQlhNTF9XUklURVJfRU5BQkxFRAorc3RhdGljIHZvaWQgZGVzcmV0X3htbFRleHRXcml0ZXJQdHIoeG1sVGV4dFdyaXRlclB0ciB2YWwpIHsKKyAgICB4bWxGcmVlVGV4dFdyaXRlcih2YWwpOworfQorI2VuZGlmCitzdGF0aWMgdm9pZCBkZXNyZXRfeG1sQnVmZmVyUHRyKHhtbEJ1ZmZlclB0ciB2YWwpIHsKKyAgICB4bWxCdWZmZXJGcmVlKHZhbCk7Cit9CisjaWZkZWYgTElCWE1MX1NDSEVNQVNfRU5BQkxFRAorc3RhdGljIHZvaWQgZGVzcmV0X3htbFNjaGVtYVBhcnNlckN0eHRQdHIoeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciB2YWwpIHsKKyAgICB4bWxTY2hlbWFGcmVlUGFyc2VyQ3R4dCh2YWwpOworfQorc3RhdGljIHZvaWQgZGVzcmV0X3htbFNjaGVtYVR5cGVQdHIoeG1sU2NoZW1hVHlwZVB0ciB2YWwgQVRUUklCVVRFX1VOVVNFRCkgeworfQorc3RhdGljIHZvaWQgZGVzcmV0X3htbFJlbGF4TkdQYXJzZXJDdHh0UHRyKHhtbFJlbGF4TkdQYXJzZXJDdHh0UHRyIHZhbCkgeworICAgIHhtbFJlbGF4TkdGcmVlUGFyc2VyQ3R4dCh2YWwpOworfQorI2VuZGlmCisjaWZkZWYgTElCWE1MX0hUTUxfRU5BQkxFRAorc3RhdGljIHZvaWQgZGVzcmV0X2NvbnN0X2h0bWxFbnRpdHlEZXNjX3B0cihjb25zdCBodG1sRW50aXR5RGVzYyAqIHZhbCBBVFRSSUJVVEVfVU5VU0VEKSB7Cit9CisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfSFRUUF9FTkFCTEVECitzdGF0aWMgdm9pZCBkZXNyZXRfeG1sTmFub0hUVFBDdHh0UHRyKHZvaWQgKnZhbCkgeworICAgIHhtbE5hbm9IVFRQQ2xvc2UodmFsKTsKK30KKyNlbmRpZgorI2lmZGVmIExJQlhNTF9GVFBfRU5BQkxFRAorc3RhdGljIHZvaWQgZGVzcmV0X3htbE5hbm9GVFBDdHh0UHRyKHZvaWQgKnZhbCkgeworICAgIHhtbE5hbm9GVFBDbG9zZSh2YWwpOworfQorI2VuZGlmCisvKiBjdXQgYW5kIHBhc3RlZCBmcm9tIGF1dG9nZW5lcmF0ZWQgdG8gYXZvaWQgdHJvdWJsZXMgKi8KKyNkZWZpbmUgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyX3B0ciAxCitzdGF0aWMgeG1sQ2hhciAqKiBnZW5fY29uc3RfeG1sQ2hhcl9wdHJfcHRyKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworICAgIHJldHVybihOVUxMKTsKK30KK3N0YXRpYyB2b2lkIGRlc19jb25zdF94bWxDaGFyX3B0cl9wdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIGNvbnN0IHhtbENoYXIgKiogdmFsIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7Cit9CisKKyNkZWZpbmUgZ2VuX25iX3Vuc2lnbmVkX2NoYXJfcHRyIDEKK3N0YXRpYyB1bnNpZ25lZCBjaGFyICogZ2VuX3Vuc2lnbmVkX2NoYXJfcHRyKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworICAgIHJldHVybihOVUxMKTsKK30KK3N0YXRpYyB2b2lkIGRlc191bnNpZ25lZF9jaGFyX3B0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgdW5zaWduZWQgY2hhciAqIHZhbCBBVFRSSUJVVEVfVU5VU0VELCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworfQorCisjZGVmaW5lIGdlbl9uYl9jb25zdF91bnNpZ25lZF9jaGFyX3B0ciAxCitzdGF0aWMgdW5zaWduZWQgY2hhciAqIGdlbl9jb25zdF91bnNpZ25lZF9jaGFyX3B0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICByZXR1cm4oTlVMTCk7Cit9CitzdGF0aWMgdm9pZCBkZXNfY29uc3RfdW5zaWduZWRfY2hhcl9wdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKiB2YWwgQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKK30KKworI2lmZGVmIExJQlhNTF9IVE1MX0VOQUJMRUQKKyNkZWZpbmUgZ2VuX25iX2NvbnN0X2h0bWxOb2RlUHRyIDEKK3N0YXRpYyBodG1sTm9kZVB0ciBnZW5fY29uc3RfaHRtbE5vZGVQdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgcmV0dXJuKE5VTEwpOworfQorc3RhdGljIHZvaWQgZGVzX2NvbnN0X2h0bWxOb2RlUHRyKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCBjb25zdCBodG1sTm9kZVB0ciB2YWwgQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKK30KKyNlbmRpZgorCisjaWZkZWYgTElCWE1MX0hUTUxfRU5BQkxFRAorI2RlZmluZSBnZW5fbmJfaHRtbERvY1B0ciAzCitzdGF0aWMgaHRtbERvY1B0ciBnZW5faHRtbERvY1B0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICBpZiAobm8gPT0gMCkgcmV0dXJuKGh0bWxOZXdEb2MoTlVMTCwgTlVMTCkpOworICAgIGlmIChubyA9PSAxKSByZXR1cm4oaHRtbFJlYWRNZW1vcnkoIjxodG1sLz4iLCA3LCAidGVzdCIsIE5VTEwsIDApKTsKKyAgICByZXR1cm4oTlVMTCk7Cit9CitzdGF0aWMgdm9pZCBkZXNfaHRtbERvY1B0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgaHRtbERvY1B0ciB2YWwgQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICBpZiAoKHZhbCAhPSBOVUxMKSAmJiAodmFsICE9IGFwaV9kb2MpICYmICh2YWwtPmRvYyAhPSBhcGlfZG9jKSkKKyAgICAgICAgeG1sRnJlZURvYyh2YWwpOworfQorc3RhdGljIHZvaWQgZGVzcmV0X2h0bWxEb2NQdHIoaHRtbERvY1B0ciB2YWwpIHsKKyAgICBpZiAoKHZhbCAhPSBOVUxMKSAmJiAodmFsICE9IGFwaV9kb2MpICYmICh2YWwtPmRvYyAhPSBhcGlfZG9jKSkKKyAgICAgICAgeG1sRnJlZURvYyh2YWwpOworfQorI2RlZmluZSBnZW5fbmJfaHRtbFBhcnNlckN0eHRQdHIgMworc3RhdGljIGh0bWxQYXJzZXJDdHh0UHRyIGdlbl9odG1sUGFyc2VyQ3R4dFB0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICBpZiAobm8gPT0gMCkgcmV0dXJuKHhtbE5ld1BhcnNlckN0eHQoKSk7CisgICAgaWYgKG5vID09IDEpIHJldHVybihodG1sQ3JlYXRlTWVtb3J5UGFyc2VyQ3R4dCgiPGh0bWwvPiIsIDcpKTsKKyAgICByZXR1cm4oTlVMTCk7Cit9CitzdGF0aWMgdm9pZCBkZXNfaHRtbFBhcnNlckN0eHRQdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIGh0bWxQYXJzZXJDdHh0UHRyIHZhbCBBVFRSSUJVVEVfVU5VU0VELCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworICAgIGlmICh2YWwgIT0gTlVMTCkKKyAgICAgICAgaHRtbEZyZWVQYXJzZXJDdHh0KHZhbCk7Cit9CitzdGF0aWMgdm9pZCBkZXNyZXRfaHRtbFBhcnNlckN0eHRQdHIoaHRtbFBhcnNlckN0eHRQdHIgdmFsKSB7CisgICAgaWYgKHZhbCAhPSBOVUxMKQorICAgICAgICBodG1sRnJlZVBhcnNlckN0eHQodmFsKTsKK30KKyNlbmRpZgorCisjaWZkZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQKKyNkZWZpbmUgZ2VuX25iX3htbE5vZGVTZXRQdHIgMQorc3RhdGljIHhtbE5vZGVTZXRQdHIgZ2VuX3htbE5vZGVTZXRQdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgcmV0dXJuKE5VTEwpOworfQorc3RhdGljIHZvaWQgZGVzX3htbE5vZGVTZXRQdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIHhtbE5vZGVTZXRQdHIgdmFsIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7Cit9CisjZW5kaWYKKworI2lmZGVmIExJQlhNTF9ERUJVR19FTkFCTEVECisjaWZkZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQKKyNkZWZpbmUgZ2VuX25iX3htbFNoZWxsQ3R4dFB0ciAxCitzdGF0aWMgeG1sU2hlbGxDdHh0UHRyIGdlbl94bWxTaGVsbEN0eHRQdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgcmV0dXJuKE5VTEwpOworfQorc3RhdGljIHZvaWQgZGVzX3htbFNoZWxsQ3R4dFB0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgeG1sU2hlbGxDdHh0UHRyIHZhbCBBVFRSSUJVVEVfVU5VU0VELCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworfQorI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIExJQlhNTF9QQVRURVJOX0VOQUJMRUQKKyNkZWZpbmUgZ2VuX25iX3htbFBhdHRlcm5QdHIgMQorc3RhdGljIHhtbFBhdHRlcm5QdHIgZ2VuX3htbFBhdHRlcm5QdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgcmV0dXJuKE5VTEwpOworfQorc3RhdGljIHZvaWQgZGVzX3htbFBhdHRlcm5QdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIHhtbFBhdHRlcm5QdHIgdmFsIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7Cit9CisjZW5kaWYKKworI2RlZmluZSBnZW5fbmJfeG1sRWxlbWVudENvbnRlbnRQdHIgMQorc3RhdGljIHhtbEVsZW1lbnRDb250ZW50UHRyIGdlbl94bWxFbGVtZW50Q29udGVudFB0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICByZXR1cm4oTlVMTCk7Cit9CitzdGF0aWMgdm9pZCBkZXNfeG1sRWxlbWVudENvbnRlbnRQdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIHhtbEVsZW1lbnRDb250ZW50UHRyIHZhbCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICBpZiAodmFsICE9IE5VTEwpCisgICAgICAgIHhtbEZyZWVFbGVtZW50Q29udGVudCh2YWwpOworfQorc3RhdGljIHZvaWQgZGVzcmV0X3htbEVsZW1lbnRDb250ZW50UHRyKHhtbEVsZW1lbnRDb250ZW50UHRyIHZhbCkgeworICAgIGlmICh2YWwgIT0gTlVMTCkKKyAgICAgICAgeG1sRnJlZUVsZW1lbnRDb250ZW50KHZhbCk7Cit9CisKKyNkZWZpbmUgZ2VuX25iX3htbFBhcnNlck5vZGVJbmZvU2VxUHRyIDEKK3N0YXRpYyB4bWxQYXJzZXJOb2RlSW5mb1NlcVB0ciBnZW5feG1sUGFyc2VyTm9kZUluZm9TZXFQdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgcmV0dXJuKE5VTEwpOworfQorc3RhdGljIHZvaWQgZGVzX3htbFBhcnNlck5vZGVJbmZvU2VxUHRyKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCB4bWxQYXJzZXJOb2RlSW5mb1NlcVB0ciB2YWwgQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKK30KKworc3RhdGljIHZvaWQgZGVzcmV0X2NvbnN0X3htbFBhcnNlck5vZGVJbmZvX3B0cihjb25zdCB4bWxQYXJzZXJOb2RlSW5mbyAqdmFsIEFUVFJJQlVURV9VTlVTRUQpIHsKK30KKworI2RlZmluZSBnZW5fbmJfdm9pZF9wdHJfcHRyIDEKK3N0YXRpYyB2b2lkICoqIGdlbl92b2lkX3B0cl9wdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgcmV0dXJuKE5VTEwpOworfQorc3RhdGljIHZvaWQgZGVzX3ZvaWRfcHRyX3B0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgdm9pZCAqKiB2YWwgQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKiAgIFdBUk5JTkc6IGVuZCBvZiB0aGUgbWFudWFsbHkgbWFpbnRhaW5lZCBwYXJ0IG9mIHRoZSB0ZXN0IGNvZGUJKgorICogICAgICAgICAgICBkbyBub3QgcmVtb3ZlIG9yIGFsdGVyIHRoZSBDVVQgSEVSRSBsaW5lCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKiBDVVQgSEVSRTogZXZlcnl0aGluZyBiZWxvdyB0aGF0IGxpbmUgaXMgZ2VuZXJhdGVkICovCisjaWZkZWYgTElCWE1MX0hUTUxfRU5BQkxFRAorc3RhdGljIHZvaWQgZGVzcmV0X2h0bWxTdGF0dXMoaHRtbFN0YXR1cyB2YWwgQVRUUklCVVRFX1VOVVNFRCkgeworfQorCisjZW5kaWYKKworI2RlZmluZSBnZW5fbmJfeG1sQXR0cmlidXRlRGVmYXVsdCA0CitzdGF0aWMgeG1sQXR0cmlidXRlRGVmYXVsdCBnZW5feG1sQXR0cmlidXRlRGVmYXVsdChpbnQgbm8sIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgaWYgKG5vID09IDEpIHJldHVybihYTUxfQVRUUklCVVRFX0ZJWEVEKTsKKyAgICBpZiAobm8gPT0gMikgcmV0dXJuKFhNTF9BVFRSSUJVVEVfSU1QTElFRCk7CisgICAgaWYgKG5vID09IDMpIHJldHVybihYTUxfQVRUUklCVVRFX05PTkUpOworICAgIGlmIChubyA9PSA0KSByZXR1cm4oWE1MX0FUVFJJQlVURV9SRVFVSVJFRCk7CisgICAgcmV0dXJuKDApOworfQorCitzdGF0aWMgdm9pZCBkZXNfeG1sQXR0cmlidXRlRGVmYXVsdChpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgeG1sQXR0cmlidXRlRGVmYXVsdCB2YWwgQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKK30KKworI2RlZmluZSBnZW5fbmJfeG1sQXR0cmlidXRlVHlwZSA0CitzdGF0aWMgeG1sQXR0cmlidXRlVHlwZSBnZW5feG1sQXR0cmlidXRlVHlwZShpbnQgbm8sIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgaWYgKG5vID09IDEpIHJldHVybihYTUxfQVRUUklCVVRFX0NEQVRBKTsKKyAgICBpZiAobm8gPT0gMikgcmV0dXJuKFhNTF9BVFRSSUJVVEVfRU5USVRJRVMpOworICAgIGlmIChubyA9PSAzKSByZXR1cm4oWE1MX0FUVFJJQlVURV9FTlRJVFkpOworICAgIGlmIChubyA9PSA0KSByZXR1cm4oWE1MX0FUVFJJQlVURV9FTlVNRVJBVElPTik7CisgICAgcmV0dXJuKDApOworfQorCitzdGF0aWMgdm9pZCBkZXNfeG1sQXR0cmlidXRlVHlwZShpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgeG1sQXR0cmlidXRlVHlwZSB2YWwgQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKK30KKworI2RlZmluZSBnZW5fbmJfeG1sQnVmZmVyQWxsb2NhdGlvblNjaGVtZSA0CitzdGF0aWMgeG1sQnVmZmVyQWxsb2NhdGlvblNjaGVtZSBnZW5feG1sQnVmZmVyQWxsb2NhdGlvblNjaGVtZShpbnQgbm8sIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgaWYgKG5vID09IDEpIHJldHVybihYTUxfQlVGRkVSX0FMTE9DX0RPVUJMRUlUKTsKKyAgICBpZiAobm8gPT0gMikgcmV0dXJuKFhNTF9CVUZGRVJfQUxMT0NfRVhBQ1QpOworICAgIGlmIChubyA9PSAzKSByZXR1cm4oWE1MX0JVRkZFUl9BTExPQ19IWUJSSUQpOworICAgIGlmIChubyA9PSA0KSByZXR1cm4oWE1MX0JVRkZFUl9BTExPQ19JTU1VVEFCTEUpOworICAgIHJldHVybigwKTsKK30KKworc3RhdGljIHZvaWQgZGVzX3htbEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIHhtbEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUgdmFsIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7Cit9CisKK3N0YXRpYyB2b2lkIGRlc3JldF94bWxCdWZmZXJBbGxvY2F0aW9uU2NoZW1lKHhtbEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUgdmFsIEFUVFJJQlVURV9VTlVTRUQpIHsKK30KKworI2lmZGVmIExJQlhNTF9DQVRBTE9HX0VOQUJMRUQKKyNkZWZpbmUgZ2VuX25iX3htbENhdGFsb2dBbGxvdyA0CitzdGF0aWMgeG1sQ2F0YWxvZ0FsbG93IGdlbl94bWxDYXRhbG9nQWxsb3coaW50IG5vLCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworICAgIGlmIChubyA9PSAxKSByZXR1cm4oWE1MX0NBVEFfQUxMT1dfQUxMKTsKKyAgICBpZiAobm8gPT0gMikgcmV0dXJuKFhNTF9DQVRBX0FMTE9XX0RPQ1VNRU5UKTsKKyAgICBpZiAobm8gPT0gMykgcmV0dXJuKFhNTF9DQVRBX0FMTE9XX0dMT0JBTCk7CisgICAgaWYgKG5vID09IDQpIHJldHVybihYTUxfQ0FUQV9BTExPV19OT05FKTsKKyAgICByZXR1cm4oMCk7Cit9CisKK3N0YXRpYyB2b2lkIGRlc194bWxDYXRhbG9nQWxsb3coaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIHhtbENhdGFsb2dBbGxvdyB2YWwgQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKK30KKworc3RhdGljIHZvaWQgZGVzcmV0X3htbENhdGFsb2dBbGxvdyh4bWxDYXRhbG9nQWxsb3cgdmFsIEFUVFJJQlVURV9VTlVTRUQpIHsKK30KKworI2VuZGlmCisKKyNpZmRlZiBMSUJYTUxfQ0FUQUxPR19FTkFCTEVECisjZGVmaW5lIGdlbl9uYl94bWxDYXRhbG9nUHJlZmVyIDMKK3N0YXRpYyB4bWxDYXRhbG9nUHJlZmVyIGdlbl94bWxDYXRhbG9nUHJlZmVyKGludCBubywgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICBpZiAobm8gPT0gMSkgcmV0dXJuKFhNTF9DQVRBX1BSRUZFUl9OT05FKTsKKyAgICBpZiAobm8gPT0gMikgcmV0dXJuKFhNTF9DQVRBX1BSRUZFUl9QVUJMSUMpOworICAgIGlmIChubyA9PSAzKSByZXR1cm4oWE1MX0NBVEFfUFJFRkVSX1NZU1RFTSk7CisgICAgcmV0dXJuKDApOworfQorCitzdGF0aWMgdm9pZCBkZXNfeG1sQ2F0YWxvZ1ByZWZlcihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgeG1sQ2F0YWxvZ1ByZWZlciB2YWwgQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKK30KKworc3RhdGljIHZvaWQgZGVzcmV0X3htbENhdGFsb2dQcmVmZXIoeG1sQ2F0YWxvZ1ByZWZlciB2YWwgQVRUUklCVVRFX1VOVVNFRCkgeworfQorCisjZW5kaWYKKworI2RlZmluZSBnZW5fbmJfeG1sRWxlbWVudENvbnRlbnRUeXBlIDQKK3N0YXRpYyB4bWxFbGVtZW50Q29udGVudFR5cGUgZ2VuX3htbEVsZW1lbnRDb250ZW50VHlwZShpbnQgbm8sIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgaWYgKG5vID09IDEpIHJldHVybihYTUxfRUxFTUVOVF9DT05URU5UX0VMRU1FTlQpOworICAgIGlmIChubyA9PSAyKSByZXR1cm4oWE1MX0VMRU1FTlRfQ09OVEVOVF9PUik7CisgICAgaWYgKG5vID09IDMpIHJldHVybihYTUxfRUxFTUVOVF9DT05URU5UX1BDREFUQSk7CisgICAgaWYgKG5vID09IDQpIHJldHVybihYTUxfRUxFTUVOVF9DT05URU5UX1NFUSk7CisgICAgcmV0dXJuKDApOworfQorCitzdGF0aWMgdm9pZCBkZXNfeG1sRWxlbWVudENvbnRlbnRUeXBlKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCB4bWxFbGVtZW50Q29udGVudFR5cGUgdmFsIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7Cit9CisKKyNkZWZpbmUgZ2VuX25iX3htbEVsZW1lbnRUeXBlVmFsIDQKK3N0YXRpYyB4bWxFbGVtZW50VHlwZVZhbCBnZW5feG1sRWxlbWVudFR5cGVWYWwoaW50IG5vLCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworICAgIGlmIChubyA9PSAxKSByZXR1cm4oWE1MX0VMRU1FTlRfVFlQRV9BTlkpOworICAgIGlmIChubyA9PSAyKSByZXR1cm4oWE1MX0VMRU1FTlRfVFlQRV9FTEVNRU5UKTsKKyAgICBpZiAobm8gPT0gMykgcmV0dXJuKFhNTF9FTEVNRU5UX1RZUEVfRU1QVFkpOworICAgIGlmIChubyA9PSA0KSByZXR1cm4oWE1MX0VMRU1FTlRfVFlQRV9NSVhFRCk7CisgICAgcmV0dXJuKDApOworfQorCitzdGF0aWMgdm9pZCBkZXNfeG1sRWxlbWVudFR5cGVWYWwoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIHhtbEVsZW1lbnRUeXBlVmFsIHZhbCBBVFRSSUJVVEVfVU5VU0VELCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworfQorCisjZGVmaW5lIGdlbl9uYl94bWxGZWF0dXJlIDQKK3N0YXRpYyB4bWxGZWF0dXJlIGdlbl94bWxGZWF0dXJlKGludCBubywgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICBpZiAobm8gPT0gMSkgcmV0dXJuKFhNTF9XSVRIX0FVVE9NQVRBKTsKKyAgICBpZiAobm8gPT0gMikgcmV0dXJuKFhNTF9XSVRIX0MxNE4pOworICAgIGlmIChubyA9PSAzKSByZXR1cm4oWE1MX1dJVEhfQ0FUQUxPRyk7CisgICAgaWYgKG5vID09IDQpIHJldHVybihYTUxfV0lUSF9ERUJVRyk7CisgICAgcmV0dXJuKDApOworfQorCitzdGF0aWMgdm9pZCBkZXNfeG1sRmVhdHVyZShpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgeG1sRmVhdHVyZSB2YWwgQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKK30KKworc3RhdGljIHZvaWQgZGVzcmV0X3htbFBhcnNlckVycm9ycyh4bWxQYXJzZXJFcnJvcnMgdmFsIEFUVFJJQlVURV9VTlVTRUQpIHsKK30KKworI2lmZGVmIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQKKyNkZWZpbmUgZ2VuX25iX3htbFNjaGVtYVZhbFR5cGUgNAorc3RhdGljIHhtbFNjaGVtYVZhbFR5cGUgZ2VuX3htbFNjaGVtYVZhbFR5cGUoaW50IG5vLCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworICAgIGlmIChubyA9PSAxKSByZXR1cm4oWE1MX1NDSEVNQVNfQU5ZU0lNUExFVFlQRSk7CisgICAgaWYgKG5vID09IDIpIHJldHVybihYTUxfU0NIRU1BU19BTllUWVBFKTsKKyAgICBpZiAobm8gPT0gMykgcmV0dXJuKFhNTF9TQ0hFTUFTX0FOWVVSSSk7CisgICAgaWYgKG5vID09IDQpIHJldHVybihYTUxfU0NIRU1BU19CQVNFNjRCSU5BUlkpOworICAgIHJldHVybigwKTsKK30KKworc3RhdGljIHZvaWQgZGVzX3htbFNjaGVtYVZhbFR5cGUoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIHhtbFNjaGVtYVZhbFR5cGUgdmFsIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7Cit9CisKK3N0YXRpYyB2b2lkIGRlc3JldF94bWxTY2hlbWFWYWxUeXBlKHhtbFNjaGVtYVZhbFR5cGUgdmFsIEFUVFJJQlVURV9VTlVTRUQpIHsKK30KKworI2VuZGlmCisKKyNpZmRlZiBMSUJYTUxfU0NIRU1BU19FTkFCTEVECisjZGVmaW5lIGdlbl9uYl94bWxTY2hlbWFXaGl0ZXNwYWNlVmFsdWVUeXBlIDQKK3N0YXRpYyB4bWxTY2hlbWFXaGl0ZXNwYWNlVmFsdWVUeXBlIGdlbl94bWxTY2hlbWFXaGl0ZXNwYWNlVmFsdWVUeXBlKGludCBubywgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICBpZiAobm8gPT0gMSkgcmV0dXJuKFhNTF9TQ0hFTUFfV0hJVEVTUEFDRV9DT0xMQVBTRSk7CisgICAgaWYgKG5vID09IDIpIHJldHVybihYTUxfU0NIRU1BX1dISVRFU1BBQ0VfUFJFU0VSVkUpOworICAgIGlmIChubyA9PSAzKSByZXR1cm4oWE1MX1NDSEVNQV9XSElURVNQQUNFX1JFUExBQ0UpOworICAgIGlmIChubyA9PSA0KSByZXR1cm4oWE1MX1NDSEVNQV9XSElURVNQQUNFX1VOS05PV04pOworICAgIHJldHVybigwKTsKK30KKworc3RhdGljIHZvaWQgZGVzX3htbFNjaGVtYVdoaXRlc3BhY2VWYWx1ZVR5cGUoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIHhtbFNjaGVtYVdoaXRlc3BhY2VWYWx1ZVR5cGUgdmFsIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7Cit9CisKKyNlbmRpZgorCisjaW5jbHVkZSA8bGlieG1sL0hUTUxwYXJzZXIuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvSFRNTHRyZWUuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvU0FYMi5oPgorI2luY2x1ZGUgPGxpYnhtbC9jMTRuLmg+CisjaW5jbHVkZSA8bGlieG1sL2NhdGFsb2cuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvY2h2YWxpZC5oPgorI2luY2x1ZGUgPGxpYnhtbC9kZWJ1Z1hNTC5oPgorI2luY2x1ZGUgPGxpYnhtbC9kaWN0Lmg+CisjaW5jbHVkZSA8bGlieG1sL2VuY29kaW5nLmg+CisjaW5jbHVkZSA8bGlieG1sL2VudGl0aWVzLmg+CisjaW5jbHVkZSA8bGlieG1sL2hhc2guaD4KKyNpbmNsdWRlIDxsaWJ4bWwvbGlzdC5oPgorI2luY2x1ZGUgPGxpYnhtbC9uYW5vZnRwLmg+CisjaW5jbHVkZSA8bGlieG1sL25hbm9odHRwLmg+CisjaW5jbHVkZSA8bGlieG1sL3BhcnNlci5oPgorI2luY2x1ZGUgPGxpYnhtbC9wYXJzZXJJbnRlcm5hbHMuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvcGF0dGVybi5oPgorI2luY2x1ZGUgPGxpYnhtbC9yZWxheG5nLmg+CisjaW5jbHVkZSA8bGlieG1sL3NjaGVtYXNJbnRlcm5hbHMuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvc2NoZW1hdHJvbi5oPgorI2luY2x1ZGUgPGxpYnhtbC90cmVlLmg+CisjaW5jbHVkZSA8bGlieG1sL3VyaS5oPgorI2luY2x1ZGUgPGxpYnhtbC92YWxpZC5oPgorI2luY2x1ZGUgPGxpYnhtbC94aW5jbHVkZS5oPgorI2luY2x1ZGUgPGxpYnhtbC94bWxJTy5oPgorI2luY2x1ZGUgPGxpYnhtbC94bWxhdXRvbWF0YS5oPgorI2luY2x1ZGUgPGxpYnhtbC94bWxlcnJvci5oPgorI2luY2x1ZGUgPGxpYnhtbC94bWxtb2R1bGUuaD4KKyNpbmNsdWRlIDxsaWJ4bWwveG1scmVhZGVyLmg+CisjaW5jbHVkZSA8bGlieG1sL3htbHJlZ2V4cC5oPgorI2luY2x1ZGUgPGxpYnhtbC94bWxzYXZlLmg+CisjaW5jbHVkZSA8bGlieG1sL3htbHNjaGVtYXMuaD4KKyNpbmNsdWRlIDxsaWJ4bWwveG1sc2NoZW1hc3R5cGVzLmg+CisjaW5jbHVkZSA8bGlieG1sL3htbHN0cmluZy5oPgorI2luY2x1ZGUgPGxpYnhtbC94bWx1bmljb2RlLmg+CisjaW5jbHVkZSA8bGlieG1sL3htbHdyaXRlci5oPgorI2luY2x1ZGUgPGxpYnhtbC94cGF0aC5oPgorI2luY2x1ZGUgPGxpYnhtbC94cGF0aEludGVybmFscy5oPgorI2luY2x1ZGUgPGxpYnhtbC94cG9pbnRlci5oPgorc3RhdGljIGludCB0ZXN0X0hUTUxwYXJzZXIodm9pZCk7CitzdGF0aWMgaW50IHRlc3RfSFRNTHRyZWUodm9pZCk7CitzdGF0aWMgaW50IHRlc3RfU0FYMih2b2lkKTsKK3N0YXRpYyBpbnQgdGVzdF9jMTRuKHZvaWQpOworc3RhdGljIGludCB0ZXN0X2NhdGFsb2codm9pZCk7CitzdGF0aWMgaW50IHRlc3RfY2h2YWxpZCh2b2lkKTsKK3N0YXRpYyBpbnQgdGVzdF9kZWJ1Z1hNTCh2b2lkKTsKK3N0YXRpYyBpbnQgdGVzdF9kaWN0KHZvaWQpOworc3RhdGljIGludCB0ZXN0X2VuY29kaW5nKHZvaWQpOworc3RhdGljIGludCB0ZXN0X2VudGl0aWVzKHZvaWQpOworc3RhdGljIGludCB0ZXN0X2hhc2godm9pZCk7CitzdGF0aWMgaW50IHRlc3RfbGlzdCh2b2lkKTsKK3N0YXRpYyBpbnQgdGVzdF9uYW5vZnRwKHZvaWQpOworc3RhdGljIGludCB0ZXN0X25hbm9odHRwKHZvaWQpOworc3RhdGljIGludCB0ZXN0X3BhcnNlcih2b2lkKTsKK3N0YXRpYyBpbnQgdGVzdF9wYXJzZXJJbnRlcm5hbHModm9pZCk7CitzdGF0aWMgaW50IHRlc3RfcGF0dGVybih2b2lkKTsKK3N0YXRpYyBpbnQgdGVzdF9yZWxheG5nKHZvaWQpOworc3RhdGljIGludCB0ZXN0X3NjaGVtYXNJbnRlcm5hbHModm9pZCk7CitzdGF0aWMgaW50IHRlc3Rfc2NoZW1hdHJvbih2b2lkKTsKK3N0YXRpYyBpbnQgdGVzdF90cmVlKHZvaWQpOworc3RhdGljIGludCB0ZXN0X3VyaSh2b2lkKTsKK3N0YXRpYyBpbnQgdGVzdF92YWxpZCh2b2lkKTsKK3N0YXRpYyBpbnQgdGVzdF94aW5jbHVkZSh2b2lkKTsKK3N0YXRpYyBpbnQgdGVzdF94bWxJTyh2b2lkKTsKK3N0YXRpYyBpbnQgdGVzdF94bWxhdXRvbWF0YSh2b2lkKTsKK3N0YXRpYyBpbnQgdGVzdF94bWxlcnJvcih2b2lkKTsKK3N0YXRpYyBpbnQgdGVzdF94bWxtb2R1bGUodm9pZCk7CitzdGF0aWMgaW50IHRlc3RfeG1scmVhZGVyKHZvaWQpOworc3RhdGljIGludCB0ZXN0X3htbHJlZ2V4cCh2b2lkKTsKK3N0YXRpYyBpbnQgdGVzdF94bWxzYXZlKHZvaWQpOworc3RhdGljIGludCB0ZXN0X3htbHNjaGVtYXModm9pZCk7CitzdGF0aWMgaW50IHRlc3RfeG1sc2NoZW1hc3R5cGVzKHZvaWQpOworc3RhdGljIGludCB0ZXN0X3htbHN0cmluZyh2b2lkKTsKK3N0YXRpYyBpbnQgdGVzdF94bWx1bmljb2RlKHZvaWQpOworc3RhdGljIGludCB0ZXN0X3htbHdyaXRlcih2b2lkKTsKK3N0YXRpYyBpbnQgdGVzdF94cGF0aCh2b2lkKTsKK3N0YXRpYyBpbnQgdGVzdF94cGF0aEludGVybmFscyh2b2lkKTsKK3N0YXRpYyBpbnQgdGVzdF94cG9pbnRlcih2b2lkKTsKKworLyoqCisgKiB0ZXN0bGlieG1sMjoKKyAqCisgKiBNYWluIGVudHJ5IHBvaW50IG9mIHRoZSB0ZXN0ZXIgZm9yIHRoZSBmdWxsIGxpYnhtbDIgbW9kdWxlLAorICogaXQgY2FsbHMgYWxsIHRoZSB0ZXN0ZXIgZW50cnkgcG9pbnQgZm9yIGVhY2ggbW9kdWxlLgorICoKKyAqIFJldHVybnMgdGhlIG51bWJlciBvZiBlcnJvciBmb3VuZAorICovCitzdGF0aWMgaW50Cit0ZXN0bGlieG1sMih2b2lkKQoreworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICB0ZXN0X3JldCArPSB0ZXN0X0hUTUxwYXJzZXIoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X0hUTUx0cmVlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF9TQVgyKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF9jMTRuKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF9jYXRhbG9nKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF9jaHZhbGlkKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF9kZWJ1Z1hNTCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfZGljdCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfZW5jb2RpbmcoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X2VudGl0aWVzKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF9oYXNoKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF9saXN0KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF9uYW5vZnRwKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF9uYW5vaHR0cCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfcGFyc2VyKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF9wYXJzZXJJbnRlcm5hbHMoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3BhdHRlcm4oKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3JlbGF4bmcoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3NjaGVtYXNJbnRlcm5hbHMoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3NjaGVtYXRyb24oKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3RyZWUoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3VyaSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfdmFsaWQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3hpbmNsdWRlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxJTygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sYXV0b21hdGEoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbGVycm9yKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxtb2R1bGUoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbHJlYWRlcigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1scmVnZXhwKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxzYXZlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxzY2hlbWFzKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxzY2hlbWFzdHlwZXMoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbHN0cmluZygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sdW5pY29kZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sd3JpdGVyKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94cGF0aCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeHBhdGhJbnRlcm5hbHMoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3hwb2ludGVyKCk7CisKKyAgICBwcmludGYoIlRvdGFsOiAlZCBmdW5jdGlvbnMsICVkIHRlc3RzLCAlZCBlcnJvcnNcbiIsCisgICAgICAgICAgIGZ1bmN0aW9uX3Rlc3RzLCBjYWxsX3Rlc3RzLCB0ZXN0X3JldCk7CisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X1VURjhUb0h0bWwodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHVuc2lnbmVkIGNoYXIgKiBvdXQ7IC8qIGEgcG9pbnRlciB0byBhbiBhcnJheSBvZiBieXRlcyB0byBzdG9yZSB0aGUgcmVzdWx0ICovCisgICAgaW50IG5fb3V0OworICAgIGludCAqIG91dGxlbjsgLyogdGhlIGxlbmd0aCBvZiBAb3V0ICovCisgICAgaW50IG5fb3V0bGVuOworICAgIHVuc2lnbmVkIGNoYXIgKiBpbjsgLyogYSBwb2ludGVyIHRvIGFuIGFycmF5IG9mIFVURi04IGNoYXJzICovCisgICAgaW50IG5faW47CisgICAgaW50ICogaW5sZW47IC8qIHRoZSBsZW5ndGggb2YgQGluICovCisgICAgaW50IG5faW5sZW47CisKKyAgICBmb3IgKG5fb3V0ID0gMDtuX291dCA8IGdlbl9uYl91bnNpZ25lZF9jaGFyX3B0cjtuX291dCsrKSB7CisgICAgZm9yIChuX291dGxlbiA9IDA7bl9vdXRsZW4gPCBnZW5fbmJfaW50X3B0cjtuX291dGxlbisrKSB7CisgICAgZm9yIChuX2luID0gMDtuX2luIDwgZ2VuX25iX2NvbnN0X3Vuc2lnbmVkX2NoYXJfcHRyO25faW4rKykgeworICAgIGZvciAobl9pbmxlbiA9IDA7bl9pbmxlbiA8IGdlbl9uYl9pbnRfcHRyO25faW5sZW4rKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBvdXQgPSBnZW5fdW5zaWduZWRfY2hhcl9wdHIobl9vdXQsIDApOworICAgICAgICBvdXRsZW4gPSBnZW5faW50X3B0cihuX291dGxlbiwgMSk7CisgICAgICAgIGluID0gZ2VuX2NvbnN0X3Vuc2lnbmVkX2NoYXJfcHRyKG5faW4sIDIpOworICAgICAgICBpbmxlbiA9IGdlbl9pbnRfcHRyKG5faW5sZW4sIDMpOworCisgICAgICAgIHJldF92YWwgPSBVVEY4VG9IdG1sKG91dCwgb3V0bGVuLCAoY29uc3QgdW5zaWduZWQgY2hhciAqKWluLCBpbmxlbik7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3Vuc2lnbmVkX2NoYXJfcHRyKG5fb3V0LCBvdXQsIDApOworICAgICAgICBkZXNfaW50X3B0cihuX291dGxlbiwgb3V0bGVuLCAxKTsKKyAgICAgICAgZGVzX2NvbnN0X3Vuc2lnbmVkX2NoYXJfcHRyKG5faW4sIChjb25zdCB1bnNpZ25lZCBjaGFyICopaW4sIDIpOworICAgICAgICBkZXNfaW50X3B0cihuX2lubGVuLCBpbmxlbiwgMyk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiBVVEY4VG9IdG1sIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX291dCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fb3V0bGVuKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9pbik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5faW5sZW4pOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKyNpZmRlZiBMSUJYTUxfSFRNTF9FTkFCTEVECisKKyNkZWZpbmUgZ2VuX25iX2NvbnN0X2h0bWxFbGVtRGVzY19wdHIgMQorc3RhdGljIGh0bWxFbGVtRGVzYyAqIGdlbl9jb25zdF9odG1sRWxlbURlc2NfcHRyKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworICAgIHJldHVybihOVUxMKTsKK30KK3N0YXRpYyB2b2lkIGRlc19jb25zdF9odG1sRWxlbURlc2NfcHRyKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCBjb25zdCBodG1sRWxlbURlc2MgKiB2YWwgQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKK30KKyNlbmRpZgorCisKK3N0YXRpYyBpbnQKK3Rlc3RfaHRtbEF0dHJBbGxvd2VkKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBodG1sU3RhdHVzIHJldF92YWw7CisgICAgaHRtbEVsZW1EZXNjICogZWx0OyAvKiBIVE1MIGVsZW1lbnQgKi8KKyAgICBpbnQgbl9lbHQ7CisgICAgeG1sQ2hhciAqIGF0dHI7IC8qIEhUTUwgYXR0cmlidXRlICovCisgICAgaW50IG5fYXR0cjsKKyAgICBpbnQgbGVnYWN5OyAvKiB3aGV0aGVyIHRvIGFsbG93IGRlcHJlY2F0ZWQgYXR0cmlidXRlcyAqLworICAgIGludCBuX2xlZ2FjeTsKKworICAgIGZvciAobl9lbHQgPSAwO25fZWx0IDwgZ2VuX25iX2NvbnN0X2h0bWxFbGVtRGVzY19wdHI7bl9lbHQrKykgeworICAgIGZvciAobl9hdHRyID0gMDtuX2F0dHIgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9hdHRyKyspIHsKKyAgICBmb3IgKG5fbGVnYWN5ID0gMDtuX2xlZ2FjeSA8IGdlbl9uYl9pbnQ7bl9sZWdhY3krKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBlbHQgPSBnZW5fY29uc3RfaHRtbEVsZW1EZXNjX3B0cihuX2VsdCwgMCk7CisgICAgICAgIGF0dHIgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9hdHRyLCAxKTsKKyAgICAgICAgbGVnYWN5ID0gZ2VuX2ludChuX2xlZ2FjeSwgMik7CisKKyAgICAgICAgcmV0X3ZhbCA9IGh0bWxBdHRyQWxsb3dlZCgoY29uc3QgaHRtbEVsZW1EZXNjICopZWx0LCAoY29uc3QgeG1sQ2hhciAqKWF0dHIsIGxlZ2FjeSk7CisgICAgICAgIGRlc3JldF9odG1sU3RhdHVzKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19jb25zdF9odG1sRWxlbURlc2NfcHRyKG5fZWx0LCAoY29uc3QgaHRtbEVsZW1EZXNjICopZWx0LCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fYXR0ciwgKGNvbnN0IHhtbENoYXIgKilhdHRyLCAxKTsKKyAgICAgICAgZGVzX2ludChuX2xlZ2FjeSwgbGVnYWN5LCAyKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIGh0bWxBdHRyQWxsb3dlZCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9lbHQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2F0dHIpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2xlZ2FjeSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisjaWZkZWYgTElCWE1MX0hUTUxfRU5BQkxFRAorCisjZGVmaW5lIGdlbl9uYl9odG1sTm9kZVB0ciAxCitzdGF0aWMgaHRtbE5vZGVQdHIgZ2VuX2h0bWxOb2RlUHRyKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworICAgIHJldHVybihOVUxMKTsKK30KK3N0YXRpYyB2b2lkIGRlc19odG1sTm9kZVB0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgaHRtbE5vZGVQdHIgdmFsIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7Cit9CisjZW5kaWYKKworCitzdGF0aWMgaW50Cit0ZXN0X2h0bWxBdXRvQ2xvc2VUYWcodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGh0bWxEb2NQdHIgZG9jOyAvKiB0aGUgSFRNTCBkb2N1bWVudCAqLworICAgIGludCBuX2RvYzsKKyAgICB4bWxDaGFyICogbmFtZTsgLyogVGhlIHRhZyBuYW1lICovCisgICAgaW50IG5fbmFtZTsKKyAgICBodG1sTm9kZVB0ciBlbGVtOyAvKiB0aGUgSFRNTCBlbGVtZW50ICovCisgICAgaW50IG5fZWxlbTsKKworICAgIGZvciAobl9kb2MgPSAwO25fZG9jIDwgZ2VuX25iX2h0bWxEb2NQdHI7bl9kb2MrKykgeworICAgIGZvciAobl9uYW1lID0gMDtuX25hbWUgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9uYW1lKyspIHsKKyAgICBmb3IgKG5fZWxlbSA9IDA7bl9lbGVtIDwgZ2VuX25iX2h0bWxOb2RlUHRyO25fZWxlbSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGRvYyA9IGdlbl9odG1sRG9jUHRyKG5fZG9jLCAwKTsKKyAgICAgICAgbmFtZSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIDEpOworICAgICAgICBlbGVtID0gZ2VuX2h0bWxOb2RlUHRyKG5fZWxlbSwgMik7CisKKyAgICAgICAgcmV0X3ZhbCA9IGh0bWxBdXRvQ2xvc2VUYWcoZG9jLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUsIGVsZW0pOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19odG1sRG9jUHRyKG5fZG9jLCBkb2MsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUsIDEpOworICAgICAgICBkZXNfaHRtbE5vZGVQdHIobl9lbGVtLCBlbGVtLCAyKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIGh0bWxBdXRvQ2xvc2VUYWciLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZG9jKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9uYW1lKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9lbGVtKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF9odG1sQ3JlYXRlTWVtb3J5UGFyc2VyQ3R4dCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX0hUTUxfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaHRtbFBhcnNlckN0eHRQdHIgcmV0X3ZhbDsKKyAgICBjaGFyICogYnVmZmVyOyAvKiBhIHBvaW50ZXIgdG8gYSBjaGFyIGFycmF5ICovCisgICAgaW50IG5fYnVmZmVyOworICAgIGludCBzaXplOyAvKiB0aGUgc2l6ZSBvZiB0aGUgYXJyYXkgKi8KKyAgICBpbnQgbl9zaXplOworCisgICAgZm9yIChuX2J1ZmZlciA9IDA7bl9idWZmZXIgPCBnZW5fbmJfY29uc3RfY2hhcl9wdHI7bl9idWZmZXIrKykgeworICAgIGZvciAobl9zaXplID0gMDtuX3NpemUgPCBnZW5fbmJfaW50O25fc2l6ZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGJ1ZmZlciA9IGdlbl9jb25zdF9jaGFyX3B0cihuX2J1ZmZlciwgMCk7CisgICAgICAgIHNpemUgPSBnZW5faW50KG5fc2l6ZSwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IGh0bWxDcmVhdGVNZW1vcnlQYXJzZXJDdHh0KChjb25zdCBjaGFyICopYnVmZmVyLCBzaXplKTsKKyAgICAgICAgZGVzcmV0X2h0bWxQYXJzZXJDdHh0UHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19jb25zdF9jaGFyX3B0cihuX2J1ZmZlciwgKGNvbnN0IGNoYXIgKilidWZmZXIsIDApOworICAgICAgICBkZXNfaW50KG5fc2l6ZSwgc2l6ZSwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiBodG1sQ3JlYXRlTWVtb3J5UGFyc2VyQ3R4dCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9idWZmZXIpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3NpemUpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisjaWZkZWYgTElCWE1MX0hUTUxfRU5BQkxFRAorCisjZGVmaW5lIGdlbl9uYl9odG1sU0FYSGFuZGxlclB0ciAxCitzdGF0aWMgaHRtbFNBWEhhbmRsZXJQdHIgZ2VuX2h0bWxTQVhIYW5kbGVyUHRyKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworICAgIHJldHVybihOVUxMKTsKK30KK3N0YXRpYyB2b2lkIGRlc19odG1sU0FYSGFuZGxlclB0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgaHRtbFNBWEhhbmRsZXJQdHIgdmFsIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7Cit9CisjZW5kaWYKKworCitzdGF0aWMgaW50Cit0ZXN0X2h0bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX0hUTUxfRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfUFVTSF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBodG1sUGFyc2VyQ3R4dFB0ciByZXRfdmFsOworICAgIGh0bWxTQVhIYW5kbGVyUHRyIHNheDsgLyogYSBTQVggaGFuZGxlciAqLworICAgIGludCBuX3NheDsKKyAgICB2b2lkICogdXNlcl9kYXRhOyAvKiBUaGUgdXNlciBkYXRhIHJldHVybmVkIG9uIFNBWCBjYWxsYmFja3MgKi8KKyAgICBpbnQgbl91c2VyX2RhdGE7CisgICAgY2hhciAqIGNodW5rOyAvKiBhIHBvaW50ZXIgdG8gYW4gYXJyYXkgb2YgY2hhcnMgKi8KKyAgICBpbnQgbl9jaHVuazsKKyAgICBpbnQgc2l6ZTsgLyogbnVtYmVyIG9mIGNoYXJzIGluIHRoZSBhcnJheSAqLworICAgIGludCBuX3NpemU7CisgICAgY29uc3QgY2hhciAqIGZpbGVuYW1lOyAvKiBhbiBvcHRpb25hbCBmaWxlIG5hbWUgb3IgVVJJICovCisgICAgaW50IG5fZmlsZW5hbWU7CisgICAgeG1sQ2hhckVuY29kaW5nIGVuYzsgLyogYW4gb3B0aW9uYWwgZW5jb2RpbmcgKi8KKyAgICBpbnQgbl9lbmM7CisKKyAgICBmb3IgKG5fc2F4ID0gMDtuX3NheCA8IGdlbl9uYl9odG1sU0FYSGFuZGxlclB0cjtuX3NheCsrKSB7CisgICAgZm9yIChuX3VzZXJfZGF0YSA9IDA7bl91c2VyX2RhdGEgPCBnZW5fbmJfdXNlcmRhdGE7bl91c2VyX2RhdGErKykgeworICAgIGZvciAobl9jaHVuayA9IDA7bl9jaHVuayA8IGdlbl9uYl9jb25zdF9jaGFyX3B0cjtuX2NodW5rKyspIHsKKyAgICBmb3IgKG5fc2l6ZSA9IDA7bl9zaXplIDwgZ2VuX25iX2ludDtuX3NpemUrKykgeworICAgIGZvciAobl9maWxlbmFtZSA9IDA7bl9maWxlbmFtZSA8IGdlbl9uYl9maWxlb3V0cHV0O25fZmlsZW5hbWUrKykgeworICAgIGZvciAobl9lbmMgPSAwO25fZW5jIDwgZ2VuX25iX3htbENoYXJFbmNvZGluZztuX2VuYysrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHNheCA9IGdlbl9odG1sU0FYSGFuZGxlclB0cihuX3NheCwgMCk7CisgICAgICAgIHVzZXJfZGF0YSA9IGdlbl91c2VyZGF0YShuX3VzZXJfZGF0YSwgMSk7CisgICAgICAgIGNodW5rID0gZ2VuX2NvbnN0X2NoYXJfcHRyKG5fY2h1bmssIDIpOworICAgICAgICBzaXplID0gZ2VuX2ludChuX3NpemUsIDMpOworICAgICAgICBmaWxlbmFtZSA9IGdlbl9maWxlb3V0cHV0KG5fZmlsZW5hbWUsIDQpOworICAgICAgICBlbmMgPSBnZW5feG1sQ2hhckVuY29kaW5nKG5fZW5jLCA1KTsKKworICAgICAgICByZXRfdmFsID0gaHRtbENyZWF0ZVB1c2hQYXJzZXJDdHh0KHNheCwgdXNlcl9kYXRhLCAoY29uc3QgY2hhciAqKWNodW5rLCBzaXplLCBmaWxlbmFtZSwgZW5jKTsKKyAgICAgICAgZGVzcmV0X2h0bWxQYXJzZXJDdHh0UHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19odG1sU0FYSGFuZGxlclB0cihuX3NheCwgc2F4LCAwKTsKKyAgICAgICAgZGVzX3VzZXJkYXRhKG5fdXNlcl9kYXRhLCB1c2VyX2RhdGEsIDEpOworICAgICAgICBkZXNfY29uc3RfY2hhcl9wdHIobl9jaHVuaywgKGNvbnN0IGNoYXIgKiljaHVuaywgMik7CisgICAgICAgIGRlc19pbnQobl9zaXplLCBzaXplLCAzKTsKKyAgICAgICAgZGVzX2ZpbGVvdXRwdXQobl9maWxlbmFtZSwgZmlsZW5hbWUsIDQpOworICAgICAgICBkZXNfeG1sQ2hhckVuY29kaW5nKG5fZW5jLCBlbmMsIDUpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4gaHRtbENyZWF0ZVB1c2hQYXJzZXJDdHh0IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3NheCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdXNlcl9kYXRhKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jaHVuayk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fc2l6ZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZmlsZW5hbWUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2VuYyk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfaHRtbEN0eHRSZWFkRG9jKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBodG1sRG9jUHRyIHJldF92YWw7CisgICAgaHRtbFBhcnNlckN0eHRQdHIgY3R4dDsgLyogYW4gSFRNTCBwYXJzZXIgY29udGV4dCAqLworICAgIGludCBuX2N0eHQ7CisgICAgeG1sQ2hhciAqIGN1cjsgLyogYSBwb2ludGVyIHRvIGEgemVybyB0ZXJtaW5hdGVkIHN0cmluZyAqLworICAgIGludCBuX2N1cjsKKyAgICBjb25zdCBjaGFyICogVVJMOyAvKiB0aGUgYmFzZSBVUkwgdG8gdXNlIGZvciB0aGUgZG9jdW1lbnQgKi8KKyAgICBpbnQgbl9VUkw7CisgICAgY2hhciAqIGVuY29kaW5nOyAvKiB0aGUgZG9jdW1lbnQgZW5jb2RpbmcsIG9yIE5VTEwgKi8KKyAgICBpbnQgbl9lbmNvZGluZzsKKyAgICBpbnQgb3B0aW9uczsgLyogYSBjb21iaW5hdGlvbiBvZiBodG1sUGFyc2VyT3B0aW9uKHMpICovCisgICAgaW50IG5fb3B0aW9uczsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfaHRtbFBhcnNlckN0eHRQdHI7bl9jdHh0KyspIHsKKyAgICBmb3IgKG5fY3VyID0gMDtuX2N1ciA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX2N1cisrKSB7CisgICAgZm9yIChuX1VSTCA9IDA7bl9VUkwgPCBnZW5fbmJfZmlsZXBhdGg7bl9VUkwrKykgeworICAgIGZvciAobl9lbmNvZGluZyA9IDA7bl9lbmNvZGluZyA8IGdlbl9uYl9jb25zdF9jaGFyX3B0cjtuX2VuY29kaW5nKyspIHsKKyAgICBmb3IgKG5fb3B0aW9ucyA9IDA7bl9vcHRpb25zIDwgZ2VuX25iX2ludDtuX29wdGlvbnMrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX2h0bWxQYXJzZXJDdHh0UHRyKG5fY3R4dCwgMCk7CisgICAgICAgIGN1ciA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX2N1ciwgMSk7CisgICAgICAgIFVSTCA9IGdlbl9maWxlcGF0aChuX1VSTCwgMik7CisgICAgICAgIGVuY29kaW5nID0gZ2VuX2NvbnN0X2NoYXJfcHRyKG5fZW5jb2RpbmcsIDMpOworICAgICAgICBvcHRpb25zID0gZ2VuX2ludChuX29wdGlvbnMsIDQpOworCisgICAgICAgIHJldF92YWwgPSBodG1sQ3R4dFJlYWREb2MoY3R4dCwgKGNvbnN0IHhtbENoYXIgKiljdXIsIFVSTCwgKGNvbnN0IGNoYXIgKillbmNvZGluZywgb3B0aW9ucyk7CisgICAgICAgIGRlc3JldF9odG1sRG9jUHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19odG1sUGFyc2VyQ3R4dFB0cihuX2N0eHQsIGN0eHQsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9jdXIsIChjb25zdCB4bWxDaGFyICopY3VyLCAxKTsKKyAgICAgICAgZGVzX2ZpbGVwYXRoKG5fVVJMLCBVUkwsIDIpOworICAgICAgICBkZXNfY29uc3RfY2hhcl9wdHIobl9lbmNvZGluZywgKGNvbnN0IGNoYXIgKillbmNvZGluZywgMyk7CisgICAgICAgIGRlc19pbnQobl9vcHRpb25zLCBvcHRpb25zLCA0KTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIGh0bWxDdHh0UmVhZERvYyIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHh0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdXIpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX1VSTCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZW5jb2RpbmcpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX29wdGlvbnMpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfaHRtbEN0eHRSZWFkRmlsZSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX0hUTUxfRU5BQkxFRCkKKyAgICBodG1sRG9jUHRyIHJldF92YWw7CisgICAgaHRtbFBhcnNlckN0eHRQdHIgY3R4dDsgLyogYW4gSFRNTCBwYXJzZXIgY29udGV4dCAqLworICAgIGludCBuX2N0eHQ7CisgICAgY29uc3QgY2hhciAqIGZpbGVuYW1lOyAvKiBhIGZpbGUgb3IgVVJMICovCisgICAgaW50IG5fZmlsZW5hbWU7CisgICAgY2hhciAqIGVuY29kaW5nOyAvKiB0aGUgZG9jdW1lbnQgZW5jb2RpbmcsIG9yIE5VTEwgKi8KKyAgICBpbnQgbl9lbmNvZGluZzsKKyAgICBpbnQgb3B0aW9uczsgLyogYSBjb21iaW5hdGlvbiBvZiBodG1sUGFyc2VyT3B0aW9uKHMpICovCisgICAgaW50IG5fb3B0aW9uczsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfaHRtbFBhcnNlckN0eHRQdHI7bl9jdHh0KyspIHsKKyAgICBmb3IgKG5fZmlsZW5hbWUgPSAwO25fZmlsZW5hbWUgPCBnZW5fbmJfZmlsZXBhdGg7bl9maWxlbmFtZSsrKSB7CisgICAgZm9yIChuX2VuY29kaW5nID0gMDtuX2VuY29kaW5nIDwgZ2VuX25iX2NvbnN0X2NoYXJfcHRyO25fZW5jb2RpbmcrKykgeworICAgIGZvciAobl9vcHRpb25zID0gMDtuX29wdGlvbnMgPCBnZW5fbmJfaW50O25fb3B0aW9ucysrKSB7CisgICAgICAgIGN0eHQgPSBnZW5faHRtbFBhcnNlckN0eHRQdHIobl9jdHh0LCAwKTsKKyAgICAgICAgZmlsZW5hbWUgPSBnZW5fZmlsZXBhdGgobl9maWxlbmFtZSwgMSk7CisgICAgICAgIGVuY29kaW5nID0gZ2VuX2NvbnN0X2NoYXJfcHRyKG5fZW5jb2RpbmcsIDIpOworICAgICAgICBvcHRpb25zID0gZ2VuX2ludChuX29wdGlvbnMsIDMpOworCisgICAgICAgIHJldF92YWwgPSBodG1sQ3R4dFJlYWRGaWxlKGN0eHQsIGZpbGVuYW1lLCAoY29uc3QgY2hhciAqKWVuY29kaW5nLCBvcHRpb25zKTsKKyAgICAgICAgZGVzcmV0X2h0bWxEb2NQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2h0bWxQYXJzZXJDdHh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIGRlc19maWxlcGF0aChuX2ZpbGVuYW1lLCBmaWxlbmFtZSwgMSk7CisgICAgICAgIGRlc19jb25zdF9jaGFyX3B0cihuX2VuY29kaW5nLCAoY29uc3QgY2hhciAqKWVuY29kaW5nLCAyKTsKKyAgICAgICAgZGVzX2ludChuX29wdGlvbnMsIG9wdGlvbnMsIDMpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfaHRtbEN0eHRSZWFkTWVtb3J5KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBodG1sRG9jUHRyIHJldF92YWw7CisgICAgaHRtbFBhcnNlckN0eHRQdHIgY3R4dDsgLyogYW4gSFRNTCBwYXJzZXIgY29udGV4dCAqLworICAgIGludCBuX2N0eHQ7CisgICAgY2hhciAqIGJ1ZmZlcjsgLyogYSBwb2ludGVyIHRvIGEgY2hhciBhcnJheSAqLworICAgIGludCBuX2J1ZmZlcjsKKyAgICBpbnQgc2l6ZTsgLyogdGhlIHNpemUgb2YgdGhlIGFycmF5ICovCisgICAgaW50IG5fc2l6ZTsKKyAgICBjb25zdCBjaGFyICogVVJMOyAvKiB0aGUgYmFzZSBVUkwgdG8gdXNlIGZvciB0aGUgZG9jdW1lbnQgKi8KKyAgICBpbnQgbl9VUkw7CisgICAgY2hhciAqIGVuY29kaW5nOyAvKiB0aGUgZG9jdW1lbnQgZW5jb2RpbmcsIG9yIE5VTEwgKi8KKyAgICBpbnQgbl9lbmNvZGluZzsKKyAgICBpbnQgb3B0aW9uczsgLyogYSBjb21iaW5hdGlvbiBvZiBodG1sUGFyc2VyT3B0aW9uKHMpICovCisgICAgaW50IG5fb3B0aW9uczsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfaHRtbFBhcnNlckN0eHRQdHI7bl9jdHh0KyspIHsKKyAgICBmb3IgKG5fYnVmZmVyID0gMDtuX2J1ZmZlciA8IGdlbl9uYl9jb25zdF9jaGFyX3B0cjtuX2J1ZmZlcisrKSB7CisgICAgZm9yIChuX3NpemUgPSAwO25fc2l6ZSA8IGdlbl9uYl9pbnQ7bl9zaXplKyspIHsKKyAgICBmb3IgKG5fVVJMID0gMDtuX1VSTCA8IGdlbl9uYl9maWxlcGF0aDtuX1VSTCsrKSB7CisgICAgZm9yIChuX2VuY29kaW5nID0gMDtuX2VuY29kaW5nIDwgZ2VuX25iX2NvbnN0X2NoYXJfcHRyO25fZW5jb2RpbmcrKykgeworICAgIGZvciAobl9vcHRpb25zID0gMDtuX29wdGlvbnMgPCBnZW5fbmJfaW50O25fb3B0aW9ucysrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eHQgPSBnZW5faHRtbFBhcnNlckN0eHRQdHIobl9jdHh0LCAwKTsKKyAgICAgICAgYnVmZmVyID0gZ2VuX2NvbnN0X2NoYXJfcHRyKG5fYnVmZmVyLCAxKTsKKyAgICAgICAgc2l6ZSA9IGdlbl9pbnQobl9zaXplLCAyKTsKKyAgICAgICAgVVJMID0gZ2VuX2ZpbGVwYXRoKG5fVVJMLCAzKTsKKyAgICAgICAgZW5jb2RpbmcgPSBnZW5fY29uc3RfY2hhcl9wdHIobl9lbmNvZGluZywgNCk7CisgICAgICAgIG9wdGlvbnMgPSBnZW5faW50KG5fb3B0aW9ucywgNSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IGh0bWxDdHh0UmVhZE1lbW9yeShjdHh0LCAoY29uc3QgY2hhciAqKWJ1ZmZlciwgc2l6ZSwgVVJMLCAoY29uc3QgY2hhciAqKWVuY29kaW5nLCBvcHRpb25zKTsKKyAgICAgICAgZGVzcmV0X2h0bWxEb2NQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2h0bWxQYXJzZXJDdHh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIGRlc19jb25zdF9jaGFyX3B0cihuX2J1ZmZlciwgKGNvbnN0IGNoYXIgKilidWZmZXIsIDEpOworICAgICAgICBkZXNfaW50KG5fc2l6ZSwgc2l6ZSwgMik7CisgICAgICAgIGRlc19maWxlcGF0aChuX1VSTCwgVVJMLCAzKTsKKyAgICAgICAgZGVzX2NvbnN0X2NoYXJfcHRyKG5fZW5jb2RpbmcsIChjb25zdCBjaGFyICopZW5jb2RpbmcsIDQpOworICAgICAgICBkZXNfaW50KG5fb3B0aW9ucywgb3B0aW9ucywgNSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiBodG1sQ3R4dFJlYWRNZW1vcnkiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fYnVmZmVyKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9zaXplKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9VUkwpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2VuY29kaW5nKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9vcHRpb25zKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF9odG1sQ3R4dFJlc2V0KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBodG1sUGFyc2VyQ3R4dFB0ciBjdHh0OyAvKiBhbiBIVE1MIHBhcnNlciBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfaHRtbFBhcnNlckN0eHRQdHI7bl9jdHh0KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4dCA9IGdlbl9odG1sUGFyc2VyQ3R4dFB0cihuX2N0eHQsIDApOworCisgICAgICAgIGh0bWxDdHh0UmVzZXQoY3R4dCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2h0bWxQYXJzZXJDdHh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiBodG1sQ3R4dFJlc2V0IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF9odG1sQ3R4dFVzZU9wdGlvbnModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGh0bWxQYXJzZXJDdHh0UHRyIGN0eHQ7IC8qIGFuIEhUTUwgcGFyc2VyIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHh0OworICAgIGludCBvcHRpb25zOyAvKiBhIGNvbWJpbmF0aW9uIG9mIGh0bWxQYXJzZXJPcHRpb24ocykgKi8KKyAgICBpbnQgbl9vcHRpb25zOworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl9odG1sUGFyc2VyQ3R4dFB0cjtuX2N0eHQrKykgeworICAgIGZvciAobl9vcHRpb25zID0gMDtuX29wdGlvbnMgPCBnZW5fbmJfaW50O25fb3B0aW9ucysrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eHQgPSBnZW5faHRtbFBhcnNlckN0eHRQdHIobl9jdHh0LCAwKTsKKyAgICAgICAgb3B0aW9ucyA9IGdlbl9pbnQobl9vcHRpb25zLCAxKTsKKworICAgICAgICByZXRfdmFsID0gaHRtbEN0eHRVc2VPcHRpb25zKGN0eHQsIG9wdGlvbnMpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19odG1sUGFyc2VyQ3R4dFB0cihuX2N0eHQsIGN0eHQsIDApOworICAgICAgICBkZXNfaW50KG5fb3B0aW9ucywgb3B0aW9ucywgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiBodG1sQ3R4dFVzZU9wdGlvbnMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fb3B0aW9ucyk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF9odG1sRWxlbWVudEFsbG93ZWRIZXJlKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICBodG1sRWxlbURlc2MgKiBwYXJlbnQ7IC8qIEhUTUwgcGFyZW50IGVsZW1lbnQgKi8KKyAgICBpbnQgbl9wYXJlbnQ7CisgICAgeG1sQ2hhciAqIGVsdDsgLyogSFRNTCBlbGVtZW50ICovCisgICAgaW50IG5fZWx0OworCisgICAgZm9yIChuX3BhcmVudCA9IDA7bl9wYXJlbnQgPCBnZW5fbmJfY29uc3RfaHRtbEVsZW1EZXNjX3B0cjtuX3BhcmVudCsrKSB7CisgICAgZm9yIChuX2VsdCA9IDA7bl9lbHQgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9lbHQrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBwYXJlbnQgPSBnZW5fY29uc3RfaHRtbEVsZW1EZXNjX3B0cihuX3BhcmVudCwgMCk7CisgICAgICAgIGVsdCA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX2VsdCwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IGh0bWxFbGVtZW50QWxsb3dlZEhlcmUoKGNvbnN0IGh0bWxFbGVtRGVzYyAqKXBhcmVudCwgKGNvbnN0IHhtbENoYXIgKillbHQpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19jb25zdF9odG1sRWxlbURlc2NfcHRyKG5fcGFyZW50LCAoY29uc3QgaHRtbEVsZW1EZXNjICopcGFyZW50LCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fZWx0LCAoY29uc3QgeG1sQ2hhciAqKWVsdCwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiBodG1sRWxlbWVudEFsbG93ZWRIZXJlIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3BhcmVudCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZWx0KTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X2h0bWxFbGVtZW50U3RhdHVzSGVyZSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX0hUTUxfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaHRtbFN0YXR1cyByZXRfdmFsOworICAgIGh0bWxFbGVtRGVzYyAqIHBhcmVudDsgLyogSFRNTCBwYXJlbnQgZWxlbWVudCAqLworICAgIGludCBuX3BhcmVudDsKKyAgICBodG1sRWxlbURlc2MgKiBlbHQ7IC8qIEhUTUwgZWxlbWVudCAqLworICAgIGludCBuX2VsdDsKKworICAgIGZvciAobl9wYXJlbnQgPSAwO25fcGFyZW50IDwgZ2VuX25iX2NvbnN0X2h0bWxFbGVtRGVzY19wdHI7bl9wYXJlbnQrKykgeworICAgIGZvciAobl9lbHQgPSAwO25fZWx0IDwgZ2VuX25iX2NvbnN0X2h0bWxFbGVtRGVzY19wdHI7bl9lbHQrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBwYXJlbnQgPSBnZW5fY29uc3RfaHRtbEVsZW1EZXNjX3B0cihuX3BhcmVudCwgMCk7CisgICAgICAgIGVsdCA9IGdlbl9jb25zdF9odG1sRWxlbURlc2NfcHRyKG5fZWx0LCAxKTsKKworICAgICAgICByZXRfdmFsID0gaHRtbEVsZW1lbnRTdGF0dXNIZXJlKChjb25zdCBodG1sRWxlbURlc2MgKilwYXJlbnQsIChjb25zdCBodG1sRWxlbURlc2MgKillbHQpOworICAgICAgICBkZXNyZXRfaHRtbFN0YXR1cyhyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfY29uc3RfaHRtbEVsZW1EZXNjX3B0cihuX3BhcmVudCwgKGNvbnN0IGh0bWxFbGVtRGVzYyAqKXBhcmVudCwgMCk7CisgICAgICAgIGRlc19jb25zdF9odG1sRWxlbURlc2NfcHRyKG5fZWx0LCAoY29uc3QgaHRtbEVsZW1EZXNjICopZWx0LCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIGh0bWxFbGVtZW50U3RhdHVzSGVyZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9wYXJlbnQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2VsdCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF9odG1sRW5jb2RlRW50aXRpZXModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHVuc2lnbmVkIGNoYXIgKiBvdXQ7IC8qIGEgcG9pbnRlciB0byBhbiBhcnJheSBvZiBieXRlcyB0byBzdG9yZSB0aGUgcmVzdWx0ICovCisgICAgaW50IG5fb3V0OworICAgIGludCAqIG91dGxlbjsgLyogdGhlIGxlbmd0aCBvZiBAb3V0ICovCisgICAgaW50IG5fb3V0bGVuOworICAgIHVuc2lnbmVkIGNoYXIgKiBpbjsgLyogYSBwb2ludGVyIHRvIGFuIGFycmF5IG9mIFVURi04IGNoYXJzICovCisgICAgaW50IG5faW47CisgICAgaW50ICogaW5sZW47IC8qIHRoZSBsZW5ndGggb2YgQGluICovCisgICAgaW50IG5faW5sZW47CisgICAgaW50IHF1b3RlQ2hhcjsgLyogdGhlIHF1b3RlIGNoYXJhY3RlciB0byBlc2NhcGUgKCcgb3IgIikgb3IgemVyby4gKi8KKyAgICBpbnQgbl9xdW90ZUNoYXI7CisKKyAgICBmb3IgKG5fb3V0ID0gMDtuX291dCA8IGdlbl9uYl91bnNpZ25lZF9jaGFyX3B0cjtuX291dCsrKSB7CisgICAgZm9yIChuX291dGxlbiA9IDA7bl9vdXRsZW4gPCBnZW5fbmJfaW50X3B0cjtuX291dGxlbisrKSB7CisgICAgZm9yIChuX2luID0gMDtuX2luIDwgZ2VuX25iX2NvbnN0X3Vuc2lnbmVkX2NoYXJfcHRyO25faW4rKykgeworICAgIGZvciAobl9pbmxlbiA9IDA7bl9pbmxlbiA8IGdlbl9uYl9pbnRfcHRyO25faW5sZW4rKykgeworICAgIGZvciAobl9xdW90ZUNoYXIgPSAwO25fcXVvdGVDaGFyIDwgZ2VuX25iX2ludDtuX3F1b3RlQ2hhcisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIG91dCA9IGdlbl91bnNpZ25lZF9jaGFyX3B0cihuX291dCwgMCk7CisgICAgICAgIG91dGxlbiA9IGdlbl9pbnRfcHRyKG5fb3V0bGVuLCAxKTsKKyAgICAgICAgaW4gPSBnZW5fY29uc3RfdW5zaWduZWRfY2hhcl9wdHIobl9pbiwgMik7CisgICAgICAgIGlubGVuID0gZ2VuX2ludF9wdHIobl9pbmxlbiwgMyk7CisgICAgICAgIHF1b3RlQ2hhciA9IGdlbl9pbnQobl9xdW90ZUNoYXIsIDQpOworCisgICAgICAgIHJldF92YWwgPSBodG1sRW5jb2RlRW50aXRpZXMob3V0LCBvdXRsZW4sIChjb25zdCB1bnNpZ25lZCBjaGFyICopaW4sIGlubGVuLCBxdW90ZUNoYXIpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc191bnNpZ25lZF9jaGFyX3B0cihuX291dCwgb3V0LCAwKTsKKyAgICAgICAgZGVzX2ludF9wdHIobl9vdXRsZW4sIG91dGxlbiwgMSk7CisgICAgICAgIGRlc19jb25zdF91bnNpZ25lZF9jaGFyX3B0cihuX2luLCAoY29uc3QgdW5zaWduZWQgY2hhciAqKWluLCAyKTsKKyAgICAgICAgZGVzX2ludF9wdHIobl9pbmxlbiwgaW5sZW4sIDMpOworICAgICAgICBkZXNfaW50KG5fcXVvdGVDaGFyLCBxdW90ZUNoYXIsIDQpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4gaHRtbEVuY29kZUVudGl0aWVzIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX291dCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fb3V0bGVuKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9pbik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5faW5sZW4pOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3F1b3RlQ2hhcik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF9odG1sRW50aXR5TG9va3VwKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBjb25zdCBodG1sRW50aXR5RGVzYyAqIHJldF92YWw7CisgICAgeG1sQ2hhciAqIG5hbWU7IC8qIHRoZSBlbnRpdHkgbmFtZSAqLworICAgIGludCBuX25hbWU7CisKKyAgICBmb3IgKG5fbmFtZSA9IDA7bl9uYW1lIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fbmFtZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIG5hbWUgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAwKTsKKworICAgICAgICByZXRfdmFsID0gaHRtbEVudGl0eUxvb2t1cCgoY29uc3QgeG1sQ2hhciAqKW5hbWUpOworICAgICAgICBkZXNyZXRfY29uc3RfaHRtbEVudGl0eURlc2NfcHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIChjb25zdCB4bWxDaGFyICopbmFtZSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiBodG1sRW50aXR5TG9va3VwIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25hbWUpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF9odG1sRW50aXR5VmFsdWVMb29rdXAodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGNvbnN0IGh0bWxFbnRpdHlEZXNjICogcmV0X3ZhbDsKKyAgICB1bnNpZ25lZCBpbnQgdmFsdWU7IC8qIHRoZSBlbnRpdHkncyB1bmljb2RlIHZhbHVlICovCisgICAgaW50IG5fdmFsdWU7CisKKyAgICBmb3IgKG5fdmFsdWUgPSAwO25fdmFsdWUgPCBnZW5fbmJfdW5zaWduZWRfaW50O25fdmFsdWUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICB2YWx1ZSA9IGdlbl91bnNpZ25lZF9pbnQobl92YWx1ZSwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IGh0bWxFbnRpdHlWYWx1ZUxvb2t1cCh2YWx1ZSk7CisgICAgICAgIGRlc3JldF9jb25zdF9odG1sRW50aXR5RGVzY19wdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3Vuc2lnbmVkX2ludChuX3ZhbHVlLCB2YWx1ZSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiBodG1sRW50aXR5VmFsdWVMb29rdXAiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdmFsdWUpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF9odG1sSGFuZGxlT21pdHRlZEVsZW0odm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCB2YWw7IC8qIGludCAwIG9yIDEgKi8KKyAgICBpbnQgbl92YWw7CisKKyAgICBmb3IgKG5fdmFsID0gMDtuX3ZhbCA8IGdlbl9uYl9pbnQ7bl92YWwrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICB2YWwgPSBnZW5faW50KG5fdmFsLCAwKTsKKworICAgICAgICByZXRfdmFsID0gaHRtbEhhbmRsZU9taXR0ZWRFbGVtKHZhbCk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2ludChuX3ZhbCwgdmFsLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIGh0bWxIYW5kbGVPbWl0dGVkRWxlbSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl92YWwpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF9odG1sSXNBdXRvQ2xvc2VkKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICBodG1sRG9jUHRyIGRvYzsgLyogdGhlIEhUTUwgZG9jdW1lbnQgKi8KKyAgICBpbnQgbl9kb2M7CisgICAgaHRtbE5vZGVQdHIgZWxlbTsgLyogdGhlIEhUTUwgZWxlbWVudCAqLworICAgIGludCBuX2VsZW07CisKKyAgICBmb3IgKG5fZG9jID0gMDtuX2RvYyA8IGdlbl9uYl9odG1sRG9jUHRyO25fZG9jKyspIHsKKyAgICBmb3IgKG5fZWxlbSA9IDA7bl9lbGVtIDwgZ2VuX25iX2h0bWxOb2RlUHRyO25fZWxlbSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGRvYyA9IGdlbl9odG1sRG9jUHRyKG5fZG9jLCAwKTsKKyAgICAgICAgZWxlbSA9IGdlbl9odG1sTm9kZVB0cihuX2VsZW0sIDEpOworCisgICAgICAgIHJldF92YWwgPSBodG1sSXNBdXRvQ2xvc2VkKGRvYywgZWxlbSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2h0bWxEb2NQdHIobl9kb2MsIGRvYywgMCk7CisgICAgICAgIGRlc19odG1sTm9kZVB0cihuX2VsZW0sIGVsZW0sIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4gaHRtbElzQXV0b0Nsb3NlZCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9kb2MpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2VsZW0pOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfaHRtbElzU2NyaXB0QXR0cmlidXRlKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxDaGFyICogbmFtZTsgLyogYW4gYXR0cmlidXRlIG5hbWUgKi8KKyAgICBpbnQgbl9uYW1lOworCisgICAgZm9yIChuX25hbWUgPSAwO25fbmFtZSA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX25hbWUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBuYW1lID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IGh0bWxJc1NjcmlwdEF0dHJpYnV0ZSgoY29uc3QgeG1sQ2hhciAqKW5hbWUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIChjb25zdCB4bWxDaGFyICopbmFtZSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiBodG1sSXNTY3JpcHRBdHRyaWJ1dGUiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFtZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X2h0bWxOZXdQYXJzZXJDdHh0KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBodG1sUGFyc2VyQ3R4dFB0ciByZXRfdmFsOworCisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IGh0bWxOZXdQYXJzZXJDdHh0KCk7CisgICAgICAgIGRlc3JldF9odG1sUGFyc2VyQ3R4dFB0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4gaHRtbE5ld1BhcnNlckN0eHQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfaHRtbE5vZGVTdGF0dXModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGh0bWxTdGF0dXMgcmV0X3ZhbDsKKyAgICBodG1sTm9kZVB0ciBub2RlOyAvKiBhbiBodG1sTm9kZVB0ciBpbiBhIHRyZWUgKi8KKyAgICBpbnQgbl9ub2RlOworICAgIGludCBsZWdhY3k7IC8qIHdoZXRoZXIgdG8gYWxsb3cgZGVwcmVjYXRlZCBlbGVtZW50cyAoWUVTIGlzIGZhc3RlciBoZXJlIGZvciBFbGVtZW50IG5vZGVzKSAqLworICAgIGludCBuX2xlZ2FjeTsKKworICAgIGZvciAobl9ub2RlID0gMDtuX25vZGUgPCBnZW5fbmJfY29uc3RfaHRtbE5vZGVQdHI7bl9ub2RlKyspIHsKKyAgICBmb3IgKG5fbGVnYWN5ID0gMDtuX2xlZ2FjeSA8IGdlbl9uYl9pbnQ7bl9sZWdhY3krKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBub2RlID0gZ2VuX2NvbnN0X2h0bWxOb2RlUHRyKG5fbm9kZSwgMCk7CisgICAgICAgIGxlZ2FjeSA9IGdlbl9pbnQobl9sZWdhY3ksIDEpOworCisgICAgICAgIHJldF92YWwgPSBodG1sTm9kZVN0YXR1cygoY29uc3QgaHRtbE5vZGVQdHIpbm9kZSwgbGVnYWN5KTsKKyAgICAgICAgZGVzcmV0X2h0bWxTdGF0dXMocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2NvbnN0X2h0bWxOb2RlUHRyKG5fbm9kZSwgKGNvbnN0IGh0bWxOb2RlUHRyKW5vZGUsIDApOworICAgICAgICBkZXNfaW50KG5fbGVnYWN5LCBsZWdhY3ksIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4gaHRtbE5vZGVTdGF0dXMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbm9kZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbGVnYWN5KTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X2h0bWxQYXJzZUNoYXJSZWYodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGh0bWxQYXJzZXJDdHh0UHRyIGN0eHQ7IC8qIGFuIEhUTUwgcGFyc2VyIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHh0OworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl9odG1sUGFyc2VyQ3R4dFB0cjtuX2N0eHQrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX2h0bWxQYXJzZXJDdHh0UHRyKG5fY3R4dCwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IGh0bWxQYXJzZUNoYXJSZWYoY3R4dCk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2h0bWxQYXJzZXJDdHh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiBodG1sUGFyc2VDaGFyUmVmIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF9odG1sUGFyc2VDaHVuayh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX0hUTUxfRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfUFVTSF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICBodG1sUGFyc2VyQ3R4dFB0ciBjdHh0OyAvKiBhbiBIVE1MIHBhcnNlciBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKyAgICBjaGFyICogY2h1bms7IC8qIGFuIGNoYXIgYXJyYXkgKi8KKyAgICBpbnQgbl9jaHVuazsKKyAgICBpbnQgc2l6ZTsgLyogdGhlIHNpemUgaW4gYnl0ZSBvZiB0aGUgY2h1bmsgKi8KKyAgICBpbnQgbl9zaXplOworICAgIGludCB0ZXJtaW5hdGU7IC8qIGxhc3QgY2h1bmsgaW5kaWNhdG9yICovCisgICAgaW50IG5fdGVybWluYXRlOworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl9odG1sUGFyc2VyQ3R4dFB0cjtuX2N0eHQrKykgeworICAgIGZvciAobl9jaHVuayA9IDA7bl9jaHVuayA8IGdlbl9uYl9jb25zdF9jaGFyX3B0cjtuX2NodW5rKyspIHsKKyAgICBmb3IgKG5fc2l6ZSA9IDA7bl9zaXplIDwgZ2VuX25iX2ludDtuX3NpemUrKykgeworICAgIGZvciAobl90ZXJtaW5hdGUgPSAwO25fdGVybWluYXRlIDwgZ2VuX25iX2ludDtuX3Rlcm1pbmF0ZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eHQgPSBnZW5faHRtbFBhcnNlckN0eHRQdHIobl9jdHh0LCAwKTsKKyAgICAgICAgY2h1bmsgPSBnZW5fY29uc3RfY2hhcl9wdHIobl9jaHVuaywgMSk7CisgICAgICAgIHNpemUgPSBnZW5faW50KG5fc2l6ZSwgMik7CisgICAgICAgIHRlcm1pbmF0ZSA9IGdlbl9pbnQobl90ZXJtaW5hdGUsIDMpOworCisgICAgICAgIHJldF92YWwgPSBodG1sUGFyc2VDaHVuayhjdHh0LCAoY29uc3QgY2hhciAqKWNodW5rLCBzaXplLCB0ZXJtaW5hdGUpOworICAgICAgICBpZiAoY3R4dCAhPSBOVUxMKSB7eG1sRnJlZURvYyhjdHh0LT5teURvYyk7IGN0eHQtPm15RG9jID0gTlVMTDt9CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2h0bWxQYXJzZXJDdHh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIGRlc19jb25zdF9jaGFyX3B0cihuX2NodW5rLCAoY29uc3QgY2hhciAqKWNodW5rLCAxKTsKKyAgICAgICAgZGVzX2ludChuX3NpemUsIHNpemUsIDIpOworICAgICAgICBkZXNfaW50KG5fdGVybWluYXRlLCB0ZXJtaW5hdGUsIDMpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4gaHRtbFBhcnNlQ2h1bmsiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY2h1bmspOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3NpemUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3Rlcm1pbmF0ZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X2h0bWxQYXJzZURvYyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX0hUTUxfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaHRtbERvY1B0ciByZXRfdmFsOworICAgIHhtbENoYXIgKiBjdXI7IC8qIGEgcG9pbnRlciB0byBhbiBhcnJheSBvZiB4bWxDaGFyICovCisgICAgaW50IG5fY3VyOworICAgIGNoYXIgKiBlbmNvZGluZzsgLyogYSBmcmVlIGZvcm0gQyBzdHJpbmcgZGVzY3JpYmluZyB0aGUgSFRNTCBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTCAqLworICAgIGludCBuX2VuY29kaW5nOworCisgICAgZm9yIChuX2N1ciA9IDA7bl9jdXIgPCBnZW5fbmJfeG1sQ2hhcl9wdHI7bl9jdXIrKykgeworICAgIGZvciAobl9lbmNvZGluZyA9IDA7bl9lbmNvZGluZyA8IGdlbl9uYl9jb25zdF9jaGFyX3B0cjtuX2VuY29kaW5nKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3VyID0gZ2VuX3htbENoYXJfcHRyKG5fY3VyLCAwKTsKKyAgICAgICAgZW5jb2RpbmcgPSBnZW5fY29uc3RfY2hhcl9wdHIobl9lbmNvZGluZywgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IGh0bWxQYXJzZURvYyhjdXIsIChjb25zdCBjaGFyICopZW5jb2RpbmcpOworICAgICAgICBkZXNyZXRfaHRtbERvY1B0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sQ2hhcl9wdHIobl9jdXIsIGN1ciwgMCk7CisgICAgICAgIGRlc19jb25zdF9jaGFyX3B0cihuX2VuY29kaW5nLCAoY29uc3QgY2hhciAqKWVuY29kaW5nLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIGh0bWxQYXJzZURvYyIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdXIpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2VuY29kaW5nKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X2h0bWxQYXJzZURvY3VtZW50KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICBodG1sUGFyc2VyQ3R4dFB0ciBjdHh0OyAvKiBhbiBIVE1MIHBhcnNlciBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfaHRtbFBhcnNlckN0eHRQdHI7bl9jdHh0KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4dCA9IGdlbl9odG1sUGFyc2VyQ3R4dFB0cihuX2N0eHQsIDApOworCisgICAgICAgIHJldF92YWwgPSBodG1sUGFyc2VEb2N1bWVudChjdHh0KTsKKyAgICAgICAgaWYgKGN0eHQgIT0gTlVMTCkge3htbEZyZWVEb2MoY3R4dC0+bXlEb2MpOyBjdHh0LT5teURvYyA9IE5VTEw7fQorICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19odG1sUGFyc2VyQ3R4dFB0cihuX2N0eHQsIGN0eHQsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4gaHRtbFBhcnNlRG9jdW1lbnQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X2h0bWxQYXJzZUVsZW1lbnQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGh0bWxQYXJzZXJDdHh0UHRyIGN0eHQ7IC8qIGFuIEhUTUwgcGFyc2VyIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHh0OworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl9odG1sUGFyc2VyQ3R4dFB0cjtuX2N0eHQrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX2h0bWxQYXJzZXJDdHh0UHRyKG5fY3R4dCwgMCk7CisKKyAgICAgICAgaHRtbFBhcnNlRWxlbWVudChjdHh0KTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfaHRtbFBhcnNlckN0eHRQdHIobl9jdHh0LCBjdHh0LCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIGh0bWxQYXJzZUVsZW1lbnQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X2h0bWxQYXJzZUVudGl0eVJlZih2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX0hUTUxfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgY29uc3QgaHRtbEVudGl0eURlc2MgKiByZXRfdmFsOworICAgIGh0bWxQYXJzZXJDdHh0UHRyIGN0eHQ7IC8qIGFuIEhUTUwgcGFyc2VyIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHh0OworICAgIHhtbENoYXIgKiogc3RyOyAvKiBsb2NhdGlvbiB0byBzdG9yZSB0aGUgZW50aXR5IG5hbWUgKi8KKyAgICBpbnQgbl9zdHI7CisKKyAgICBmb3IgKG5fY3R4dCA9IDA7bl9jdHh0IDwgZ2VuX25iX2h0bWxQYXJzZXJDdHh0UHRyO25fY3R4dCsrKSB7CisgICAgZm9yIChuX3N0ciA9IDA7bl9zdHIgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHJfcHRyO25fc3RyKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4dCA9IGdlbl9odG1sUGFyc2VyQ3R4dFB0cihuX2N0eHQsIDApOworICAgICAgICBzdHIgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHJfcHRyKG5fc3RyLCAxKTsKKworICAgICAgICByZXRfdmFsID0gaHRtbFBhcnNlRW50aXR5UmVmKGN0eHQsIChjb25zdCB4bWxDaGFyICoqKXN0cik7CisgICAgICAgIGRlc3JldF9jb25zdF9odG1sRW50aXR5RGVzY19wdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2h0bWxQYXJzZXJDdHh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cl9wdHIobl9zdHIsIChjb25zdCB4bWxDaGFyICoqKXN0ciwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiBodG1sUGFyc2VFbnRpdHlSZWYiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fc3RyKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X2h0bWxQYXJzZUZpbGUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpCisgICAgaHRtbERvY1B0ciByZXRfdmFsOworICAgIGNvbnN0IGNoYXIgKiBmaWxlbmFtZTsgLyogdGhlIGZpbGVuYW1lICovCisgICAgaW50IG5fZmlsZW5hbWU7CisgICAgY2hhciAqIGVuY29kaW5nOyAvKiBhIGZyZWUgZm9ybSBDIHN0cmluZyBkZXNjcmliaW5nIHRoZSBIVE1MIGRvY3VtZW50IGVuY29kaW5nLCBvciBOVUxMICovCisgICAgaW50IG5fZW5jb2Rpbmc7CisKKyAgICBmb3IgKG5fZmlsZW5hbWUgPSAwO25fZmlsZW5hbWUgPCBnZW5fbmJfZmlsZXBhdGg7bl9maWxlbmFtZSsrKSB7CisgICAgZm9yIChuX2VuY29kaW5nID0gMDtuX2VuY29kaW5nIDwgZ2VuX25iX2NvbnN0X2NoYXJfcHRyO25fZW5jb2RpbmcrKykgeworICAgICAgICBmaWxlbmFtZSA9IGdlbl9maWxlcGF0aChuX2ZpbGVuYW1lLCAwKTsKKyAgICAgICAgZW5jb2RpbmcgPSBnZW5fY29uc3RfY2hhcl9wdHIobl9lbmNvZGluZywgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IGh0bWxQYXJzZUZpbGUoZmlsZW5hbWUsIChjb25zdCBjaGFyICopZW5jb2RpbmcpOworICAgICAgICBkZXNyZXRfaHRtbERvY1B0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfZmlsZXBhdGgobl9maWxlbmFtZSwgZmlsZW5hbWUsIDApOworICAgICAgICBkZXNfY29uc3RfY2hhcl9wdHIobl9lbmNvZGluZywgKGNvbnN0IGNoYXIgKillbmNvZGluZywgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfaHRtbFJlYWREb2Modm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGh0bWxEb2NQdHIgcmV0X3ZhbDsKKyAgICB4bWxDaGFyICogY3VyOyAvKiBhIHBvaW50ZXIgdG8gYSB6ZXJvIHRlcm1pbmF0ZWQgc3RyaW5nICovCisgICAgaW50IG5fY3VyOworICAgIGNvbnN0IGNoYXIgKiBVUkw7IC8qIHRoZSBiYXNlIFVSTCB0byB1c2UgZm9yIHRoZSBkb2N1bWVudCAqLworICAgIGludCBuX1VSTDsKKyAgICBjaGFyICogZW5jb2Rpbmc7IC8qIHRoZSBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTCAqLworICAgIGludCBuX2VuY29kaW5nOworICAgIGludCBvcHRpb25zOyAvKiBhIGNvbWJpbmF0aW9uIG9mIGh0bWxQYXJzZXJPcHRpb24ocykgKi8KKyAgICBpbnQgbl9vcHRpb25zOworCisgICAgZm9yIChuX2N1ciA9IDA7bl9jdXIgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9jdXIrKykgeworICAgIGZvciAobl9VUkwgPSAwO25fVVJMIDwgZ2VuX25iX2ZpbGVwYXRoO25fVVJMKyspIHsKKyAgICBmb3IgKG5fZW5jb2RpbmcgPSAwO25fZW5jb2RpbmcgPCBnZW5fbmJfY29uc3RfY2hhcl9wdHI7bl9lbmNvZGluZysrKSB7CisgICAgZm9yIChuX29wdGlvbnMgPSAwO25fb3B0aW9ucyA8IGdlbl9uYl9pbnQ7bl9vcHRpb25zKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3VyID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fY3VyLCAwKTsKKyAgICAgICAgVVJMID0gZ2VuX2ZpbGVwYXRoKG5fVVJMLCAxKTsKKyAgICAgICAgZW5jb2RpbmcgPSBnZW5fY29uc3RfY2hhcl9wdHIobl9lbmNvZGluZywgMik7CisgICAgICAgIG9wdGlvbnMgPSBnZW5faW50KG5fb3B0aW9ucywgMyk7CisKKyAgICAgICAgcmV0X3ZhbCA9IGh0bWxSZWFkRG9jKChjb25zdCB4bWxDaGFyICopY3VyLCBVUkwsIChjb25zdCBjaGFyICopZW5jb2RpbmcsIG9wdGlvbnMpOworICAgICAgICBkZXNyZXRfaHRtbERvY1B0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9jdXIsIChjb25zdCB4bWxDaGFyICopY3VyLCAwKTsKKyAgICAgICAgZGVzX2ZpbGVwYXRoKG5fVVJMLCBVUkwsIDEpOworICAgICAgICBkZXNfY29uc3RfY2hhcl9wdHIobl9lbmNvZGluZywgKGNvbnN0IGNoYXIgKillbmNvZGluZywgMik7CisgICAgICAgIGRlc19pbnQobl9vcHRpb25zLCBvcHRpb25zLCAzKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIGh0bWxSZWFkRG9jIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N1cik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fVVJMKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9lbmNvZGluZyk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fb3B0aW9ucyk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X2h0bWxSZWFkRmlsZSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX0hUTUxfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaHRtbERvY1B0ciByZXRfdmFsOworICAgIGNvbnN0IGNoYXIgKiBmaWxlbmFtZTsgLyogYSBmaWxlIG9yIFVSTCAqLworICAgIGludCBuX2ZpbGVuYW1lOworICAgIGNoYXIgKiBlbmNvZGluZzsgLyogdGhlIGRvY3VtZW50IGVuY29kaW5nLCBvciBOVUxMICovCisgICAgaW50IG5fZW5jb2Rpbmc7CisgICAgaW50IG9wdGlvbnM7IC8qIGEgY29tYmluYXRpb24gb2YgaHRtbFBhcnNlck9wdGlvbihzKSAqLworICAgIGludCBuX29wdGlvbnM7CisKKyAgICBmb3IgKG5fZmlsZW5hbWUgPSAwO25fZmlsZW5hbWUgPCBnZW5fbmJfZmlsZXBhdGg7bl9maWxlbmFtZSsrKSB7CisgICAgZm9yIChuX2VuY29kaW5nID0gMDtuX2VuY29kaW5nIDwgZ2VuX25iX2NvbnN0X2NoYXJfcHRyO25fZW5jb2RpbmcrKykgeworICAgIGZvciAobl9vcHRpb25zID0gMDtuX29wdGlvbnMgPCBnZW5fbmJfaW50O25fb3B0aW9ucysrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGZpbGVuYW1lID0gZ2VuX2ZpbGVwYXRoKG5fZmlsZW5hbWUsIDApOworICAgICAgICBlbmNvZGluZyA9IGdlbl9jb25zdF9jaGFyX3B0cihuX2VuY29kaW5nLCAxKTsKKyAgICAgICAgb3B0aW9ucyA9IGdlbl9pbnQobl9vcHRpb25zLCAyKTsKKworICAgICAgICByZXRfdmFsID0gaHRtbFJlYWRGaWxlKGZpbGVuYW1lLCAoY29uc3QgY2hhciAqKWVuY29kaW5nLCBvcHRpb25zKTsKKyAgICAgICAgZGVzcmV0X2h0bWxEb2NQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2ZpbGVwYXRoKG5fZmlsZW5hbWUsIGZpbGVuYW1lLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X2NoYXJfcHRyKG5fZW5jb2RpbmcsIChjb25zdCBjaGFyICopZW5jb2RpbmcsIDEpOworICAgICAgICBkZXNfaW50KG5fb3B0aW9ucywgb3B0aW9ucywgMik7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiBodG1sUmVhZEZpbGUiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZmlsZW5hbWUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2VuY29kaW5nKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9vcHRpb25zKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF9odG1sUmVhZE1lbW9yeSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX0hUTUxfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaHRtbERvY1B0ciByZXRfdmFsOworICAgIGNoYXIgKiBidWZmZXI7IC8qIGEgcG9pbnRlciB0byBhIGNoYXIgYXJyYXkgKi8KKyAgICBpbnQgbl9idWZmZXI7CisgICAgaW50IHNpemU7IC8qIHRoZSBzaXplIG9mIHRoZSBhcnJheSAqLworICAgIGludCBuX3NpemU7CisgICAgY29uc3QgY2hhciAqIFVSTDsgLyogdGhlIGJhc2UgVVJMIHRvIHVzZSBmb3IgdGhlIGRvY3VtZW50ICovCisgICAgaW50IG5fVVJMOworICAgIGNoYXIgKiBlbmNvZGluZzsgLyogdGhlIGRvY3VtZW50IGVuY29kaW5nLCBvciBOVUxMICovCisgICAgaW50IG5fZW5jb2Rpbmc7CisgICAgaW50IG9wdGlvbnM7IC8qIGEgY29tYmluYXRpb24gb2YgaHRtbFBhcnNlck9wdGlvbihzKSAqLworICAgIGludCBuX29wdGlvbnM7CisKKyAgICBmb3IgKG5fYnVmZmVyID0gMDtuX2J1ZmZlciA8IGdlbl9uYl9jb25zdF9jaGFyX3B0cjtuX2J1ZmZlcisrKSB7CisgICAgZm9yIChuX3NpemUgPSAwO25fc2l6ZSA8IGdlbl9uYl9pbnQ7bl9zaXplKyspIHsKKyAgICBmb3IgKG5fVVJMID0gMDtuX1VSTCA8IGdlbl9uYl9maWxlcGF0aDtuX1VSTCsrKSB7CisgICAgZm9yIChuX2VuY29kaW5nID0gMDtuX2VuY29kaW5nIDwgZ2VuX25iX2NvbnN0X2NoYXJfcHRyO25fZW5jb2RpbmcrKykgeworICAgIGZvciAobl9vcHRpb25zID0gMDtuX29wdGlvbnMgPCBnZW5fbmJfaW50O25fb3B0aW9ucysrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGJ1ZmZlciA9IGdlbl9jb25zdF9jaGFyX3B0cihuX2J1ZmZlciwgMCk7CisgICAgICAgIHNpemUgPSBnZW5faW50KG5fc2l6ZSwgMSk7CisgICAgICAgIFVSTCA9IGdlbl9maWxlcGF0aChuX1VSTCwgMik7CisgICAgICAgIGVuY29kaW5nID0gZ2VuX2NvbnN0X2NoYXJfcHRyKG5fZW5jb2RpbmcsIDMpOworICAgICAgICBvcHRpb25zID0gZ2VuX2ludChuX29wdGlvbnMsIDQpOworCisgICAgICAgIHJldF92YWwgPSBodG1sUmVhZE1lbW9yeSgoY29uc3QgY2hhciAqKWJ1ZmZlciwgc2l6ZSwgVVJMLCAoY29uc3QgY2hhciAqKWVuY29kaW5nLCBvcHRpb25zKTsKKyAgICAgICAgZGVzcmV0X2h0bWxEb2NQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2NvbnN0X2NoYXJfcHRyKG5fYnVmZmVyLCAoY29uc3QgY2hhciAqKWJ1ZmZlciwgMCk7CisgICAgICAgIGRlc19pbnQobl9zaXplLCBzaXplLCAxKTsKKyAgICAgICAgZGVzX2ZpbGVwYXRoKG5fVVJMLCBVUkwsIDIpOworICAgICAgICBkZXNfY29uc3RfY2hhcl9wdHIobl9lbmNvZGluZywgKGNvbnN0IGNoYXIgKillbmNvZGluZywgMyk7CisgICAgICAgIGRlc19pbnQobl9vcHRpb25zLCBvcHRpb25zLCA0KTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIGh0bWxSZWFkTWVtb3J5IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2J1ZmZlcik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fc2l6ZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fVVJMKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9lbmNvZGluZyk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fb3B0aW9ucyk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF9odG1sU0FYUGFyc2VEb2Modm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGh0bWxEb2NQdHIgcmV0X3ZhbDsKKyAgICB4bWxDaGFyICogY3VyOyAvKiBhIHBvaW50ZXIgdG8gYW4gYXJyYXkgb2YgeG1sQ2hhciAqLworICAgIGludCBuX2N1cjsKKyAgICBjaGFyICogZW5jb2Rpbmc7IC8qIGEgZnJlZSBmb3JtIEMgc3RyaW5nIGRlc2NyaWJpbmcgdGhlIEhUTUwgZG9jdW1lbnQgZW5jb2RpbmcsIG9yIE5VTEwgKi8KKyAgICBpbnQgbl9lbmNvZGluZzsKKyAgICBodG1sU0FYSGFuZGxlclB0ciBzYXg7IC8qIHRoZSBTQVggaGFuZGxlciBibG9jayAqLworICAgIGludCBuX3NheDsKKyAgICB2b2lkICogdXNlckRhdGE7IC8qIGlmIHVzaW5nIFNBWCwgdGhpcyBwb2ludGVyIHdpbGwgYmUgcHJvdmlkZWQgb24gY2FsbGJhY2tzLiAqLworICAgIGludCBuX3VzZXJEYXRhOworCisgICAgZm9yIChuX2N1ciA9IDA7bl9jdXIgPCBnZW5fbmJfeG1sQ2hhcl9wdHI7bl9jdXIrKykgeworICAgIGZvciAobl9lbmNvZGluZyA9IDA7bl9lbmNvZGluZyA8IGdlbl9uYl9jb25zdF9jaGFyX3B0cjtuX2VuY29kaW5nKyspIHsKKyAgICBmb3IgKG5fc2F4ID0gMDtuX3NheCA8IGdlbl9uYl9odG1sU0FYSGFuZGxlclB0cjtuX3NheCsrKSB7CisgICAgZm9yIChuX3VzZXJEYXRhID0gMDtuX3VzZXJEYXRhIDwgZ2VuX25iX3VzZXJkYXRhO25fdXNlckRhdGErKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdXIgPSBnZW5feG1sQ2hhcl9wdHIobl9jdXIsIDApOworICAgICAgICBlbmNvZGluZyA9IGdlbl9jb25zdF9jaGFyX3B0cihuX2VuY29kaW5nLCAxKTsKKyAgICAgICAgc2F4ID0gZ2VuX2h0bWxTQVhIYW5kbGVyUHRyKG5fc2F4LCAyKTsKKyAgICAgICAgdXNlckRhdGEgPSBnZW5fdXNlcmRhdGEobl91c2VyRGF0YSwgMyk7CisKKyAgICAgICAgcmV0X3ZhbCA9IGh0bWxTQVhQYXJzZURvYyhjdXIsIChjb25zdCBjaGFyICopZW5jb2RpbmcsIHNheCwgdXNlckRhdGEpOworICAgICAgICBkZXNyZXRfaHRtbERvY1B0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sQ2hhcl9wdHIobl9jdXIsIGN1ciwgMCk7CisgICAgICAgIGRlc19jb25zdF9jaGFyX3B0cihuX2VuY29kaW5nLCAoY29uc3QgY2hhciAqKWVuY29kaW5nLCAxKTsKKyAgICAgICAgZGVzX2h0bWxTQVhIYW5kbGVyUHRyKG5fc2F4LCBzYXgsIDIpOworICAgICAgICBkZXNfdXNlcmRhdGEobl91c2VyRGF0YSwgdXNlckRhdGEsIDMpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4gaHRtbFNBWFBhcnNlRG9jIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N1cik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZW5jb2RpbmcpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3NheCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdXNlckRhdGEpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF9odG1sU0FYUGFyc2VGaWxlKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBodG1sRG9jUHRyIHJldF92YWw7CisgICAgY29uc3QgY2hhciAqIGZpbGVuYW1lOyAvKiB0aGUgZmlsZW5hbWUgKi8KKyAgICBpbnQgbl9maWxlbmFtZTsKKyAgICBjaGFyICogZW5jb2Rpbmc7IC8qIGEgZnJlZSBmb3JtIEMgc3RyaW5nIGRlc2NyaWJpbmcgdGhlIEhUTUwgZG9jdW1lbnQgZW5jb2RpbmcsIG9yIE5VTEwgKi8KKyAgICBpbnQgbl9lbmNvZGluZzsKKyAgICBodG1sU0FYSGFuZGxlclB0ciBzYXg7IC8qIHRoZSBTQVggaGFuZGxlciBibG9jayAqLworICAgIGludCBuX3NheDsKKyAgICB2b2lkICogdXNlckRhdGE7IC8qIGlmIHVzaW5nIFNBWCwgdGhpcyBwb2ludGVyIHdpbGwgYmUgcHJvdmlkZWQgb24gY2FsbGJhY2tzLiAqLworICAgIGludCBuX3VzZXJEYXRhOworCisgICAgZm9yIChuX2ZpbGVuYW1lID0gMDtuX2ZpbGVuYW1lIDwgZ2VuX25iX2ZpbGVwYXRoO25fZmlsZW5hbWUrKykgeworICAgIGZvciAobl9lbmNvZGluZyA9IDA7bl9lbmNvZGluZyA8IGdlbl9uYl9jb25zdF9jaGFyX3B0cjtuX2VuY29kaW5nKyspIHsKKyAgICBmb3IgKG5fc2F4ID0gMDtuX3NheCA8IGdlbl9uYl9odG1sU0FYSGFuZGxlclB0cjtuX3NheCsrKSB7CisgICAgZm9yIChuX3VzZXJEYXRhID0gMDtuX3VzZXJEYXRhIDwgZ2VuX25iX3VzZXJkYXRhO25fdXNlckRhdGErKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBmaWxlbmFtZSA9IGdlbl9maWxlcGF0aChuX2ZpbGVuYW1lLCAwKTsKKyAgICAgICAgZW5jb2RpbmcgPSBnZW5fY29uc3RfY2hhcl9wdHIobl9lbmNvZGluZywgMSk7CisgICAgICAgIHNheCA9IGdlbl9odG1sU0FYSGFuZGxlclB0cihuX3NheCwgMik7CisgICAgICAgIHVzZXJEYXRhID0gZ2VuX3VzZXJkYXRhKG5fdXNlckRhdGEsIDMpOworCisgICAgICAgIHJldF92YWwgPSBodG1sU0FYUGFyc2VGaWxlKGZpbGVuYW1lLCAoY29uc3QgY2hhciAqKWVuY29kaW5nLCBzYXgsIHVzZXJEYXRhKTsKKyAgICAgICAgZGVzcmV0X2h0bWxEb2NQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2ZpbGVwYXRoKG5fZmlsZW5hbWUsIGZpbGVuYW1lLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X2NoYXJfcHRyKG5fZW5jb2RpbmcsIChjb25zdCBjaGFyICopZW5jb2RpbmcsIDEpOworICAgICAgICBkZXNfaHRtbFNBWEhhbmRsZXJQdHIobl9zYXgsIHNheCwgMik7CisgICAgICAgIGRlc191c2VyZGF0YShuX3VzZXJEYXRhLCB1c2VyRGF0YSwgMyk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiBodG1sU0FYUGFyc2VGaWxlIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2ZpbGVuYW1lKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9lbmNvZGluZyk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fc2F4KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl91c2VyRGF0YSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X2h0bWxUYWdMb29rdXAodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworICAgIC8qIG1pc3NpbmcgdHlwZSBzdXBwb3J0ICovCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworc3RhdGljIGludAordGVzdF9IVE1McGFyc2VyKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaWYgKHF1aWV0ID09IDApIHByaW50ZigiVGVzdGluZyBIVE1McGFyc2VyIDogMzIgb2YgMzggZnVuY3Rpb25zIC4uLlxuIik7CisgICAgdGVzdF9yZXQgKz0gdGVzdF9VVEY4VG9IdG1sKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF9odG1sQXR0ckFsbG93ZWQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X2h0bWxBdXRvQ2xvc2VUYWcoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X2h0bWxDcmVhdGVNZW1vcnlQYXJzZXJDdHh0KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF9odG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X2h0bWxDdHh0UmVhZERvYygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfaHRtbEN0eHRSZWFkRmlsZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfaHRtbEN0eHRSZWFkTWVtb3J5KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF9odG1sQ3R4dFJlc2V0KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF9odG1sQ3R4dFVzZU9wdGlvbnMoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X2h0bWxFbGVtZW50QWxsb3dlZEhlcmUoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X2h0bWxFbGVtZW50U3RhdHVzSGVyZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfaHRtbEVuY29kZUVudGl0aWVzKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF9odG1sRW50aXR5TG9va3VwKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF9odG1sRW50aXR5VmFsdWVMb29rdXAoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X2h0bWxIYW5kbGVPbWl0dGVkRWxlbSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfaHRtbElzQXV0b0Nsb3NlZCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfaHRtbElzU2NyaXB0QXR0cmlidXRlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF9odG1sTmV3UGFyc2VyQ3R4dCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfaHRtbE5vZGVTdGF0dXMoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X2h0bWxQYXJzZUNoYXJSZWYoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X2h0bWxQYXJzZUNodW5rKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF9odG1sUGFyc2VEb2MoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X2h0bWxQYXJzZURvY3VtZW50KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF9odG1sUGFyc2VFbGVtZW50KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF9odG1sUGFyc2VFbnRpdHlSZWYoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X2h0bWxQYXJzZUZpbGUoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X2h0bWxSZWFkRG9jKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF9odG1sUmVhZEZpbGUoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X2h0bWxSZWFkTWVtb3J5KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF9odG1sU0FYUGFyc2VEb2MoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X2h0bWxTQVhQYXJzZUZpbGUoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X2h0bWxUYWdMb29rdXAoKTsKKworICAgIGlmICh0ZXN0X3JldCAhPSAwKQorCXByaW50ZigiTW9kdWxlIEhUTUxwYXJzZXI6ICVkIGVycm9yc1xuIiwgdGVzdF9yZXQpOworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKK3N0YXRpYyBpbnQKK3Rlc3RfaHRtbERvY0NvbnRlbnREdW1wRm9ybWF0T3V0cHV0KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKSAmJiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sT3V0cHV0QnVmZmVyUHRyIGJ1ZjsgLyogdGhlIEhUTUwgYnVmZmVyIG91dHB1dCAqLworICAgIGludCBuX2J1ZjsKKyAgICB4bWxEb2NQdHIgY3VyOyAvKiB0aGUgZG9jdW1lbnQgKi8KKyAgICBpbnQgbl9jdXI7CisgICAgY2hhciAqIGVuY29kaW5nOyAvKiB0aGUgZW5jb2Rpbmcgc3RyaW5nICovCisgICAgaW50IG5fZW5jb2Rpbmc7CisgICAgaW50IGZvcm1hdDsgLyogc2hvdWxkIGZvcm1hdHRpbmcgc3BhY2VzIGJlZW4gYWRkZWQgKi8KKyAgICBpbnQgbl9mb3JtYXQ7CisKKyAgICBmb3IgKG5fYnVmID0gMDtuX2J1ZiA8IGdlbl9uYl94bWxPdXRwdXRCdWZmZXJQdHI7bl9idWYrKykgeworICAgIGZvciAobl9jdXIgPSAwO25fY3VyIDwgZ2VuX25iX3htbERvY1B0cjtuX2N1cisrKSB7CisgICAgZm9yIChuX2VuY29kaW5nID0gMDtuX2VuY29kaW5nIDwgZ2VuX25iX2NvbnN0X2NoYXJfcHRyO25fZW5jb2RpbmcrKykgeworICAgIGZvciAobl9mb3JtYXQgPSAwO25fZm9ybWF0IDwgZ2VuX25iX2ludDtuX2Zvcm1hdCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGJ1ZiA9IGdlbl94bWxPdXRwdXRCdWZmZXJQdHIobl9idWYsIDApOworICAgICAgICBjdXIgPSBnZW5feG1sRG9jUHRyKG5fY3VyLCAxKTsKKyAgICAgICAgZW5jb2RpbmcgPSBnZW5fY29uc3RfY2hhcl9wdHIobl9lbmNvZGluZywgMik7CisgICAgICAgIGZvcm1hdCA9IGdlbl9pbnQobl9mb3JtYXQsIDMpOworCisgICAgICAgIGh0bWxEb2NDb250ZW50RHVtcEZvcm1hdE91dHB1dChidWYsIGN1ciwgKGNvbnN0IGNoYXIgKillbmNvZGluZywgZm9ybWF0KTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sT3V0cHV0QnVmZmVyUHRyKG5fYnVmLCBidWYsIDApOworICAgICAgICBkZXNfeG1sRG9jUHRyKG5fY3VyLCBjdXIsIDEpOworICAgICAgICBkZXNfY29uc3RfY2hhcl9wdHIobl9lbmNvZGluZywgKGNvbnN0IGNoYXIgKillbmNvZGluZywgMik7CisgICAgICAgIGRlc19pbnQobl9mb3JtYXQsIGZvcm1hdCwgMyk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiBodG1sRG9jQ29udGVudER1bXBGb3JtYXRPdXRwdXQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fYnVmKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdXIpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2VuY29kaW5nKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9mb3JtYXQpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF9odG1sRG9jQ29udGVudER1bXBPdXRwdXQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpICYmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxPdXRwdXRCdWZmZXJQdHIgYnVmOyAvKiB0aGUgSFRNTCBidWZmZXIgb3V0cHV0ICovCisgICAgaW50IG5fYnVmOworICAgIHhtbERvY1B0ciBjdXI7IC8qIHRoZSBkb2N1bWVudCAqLworICAgIGludCBuX2N1cjsKKyAgICBjaGFyICogZW5jb2Rpbmc7IC8qIHRoZSBlbmNvZGluZyBzdHJpbmcgKi8KKyAgICBpbnQgbl9lbmNvZGluZzsKKworICAgIGZvciAobl9idWYgPSAwO25fYnVmIDwgZ2VuX25iX3htbE91dHB1dEJ1ZmZlclB0cjtuX2J1ZisrKSB7CisgICAgZm9yIChuX2N1ciA9IDA7bl9jdXIgPCBnZW5fbmJfeG1sRG9jUHRyO25fY3VyKyspIHsKKyAgICBmb3IgKG5fZW5jb2RpbmcgPSAwO25fZW5jb2RpbmcgPCBnZW5fbmJfY29uc3RfY2hhcl9wdHI7bl9lbmNvZGluZysrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGJ1ZiA9IGdlbl94bWxPdXRwdXRCdWZmZXJQdHIobl9idWYsIDApOworICAgICAgICBjdXIgPSBnZW5feG1sRG9jUHRyKG5fY3VyLCAxKTsKKyAgICAgICAgZW5jb2RpbmcgPSBnZW5fY29uc3RfY2hhcl9wdHIobl9lbmNvZGluZywgMik7CisKKyAgICAgICAgaHRtbERvY0NvbnRlbnREdW1wT3V0cHV0KGJ1ZiwgY3VyLCAoY29uc3QgY2hhciAqKWVuY29kaW5nKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sT3V0cHV0QnVmZmVyUHRyKG5fYnVmLCBidWYsIDApOworICAgICAgICBkZXNfeG1sRG9jUHRyKG5fY3VyLCBjdXIsIDEpOworICAgICAgICBkZXNfY29uc3RfY2hhcl9wdHIobl9lbmNvZGluZywgKGNvbnN0IGNoYXIgKillbmNvZGluZywgMik7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiBodG1sRG9jQ29udGVudER1bXBPdXRwdXQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fYnVmKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdXIpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2VuY29kaW5nKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF9odG1sRG9jRHVtcCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX0hUTUxfRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIEZJTEUgKiBmOyAvKiB0aGUgRklMRSogKi8KKyAgICBpbnQgbl9mOworICAgIHhtbERvY1B0ciBjdXI7IC8qIHRoZSBkb2N1bWVudCAqLworICAgIGludCBuX2N1cjsKKworICAgIGZvciAobl9mID0gMDtuX2YgPCBnZW5fbmJfRklMRV9wdHI7bl9mKyspIHsKKyAgICBmb3IgKG5fY3VyID0gMDtuX2N1ciA8IGdlbl9uYl94bWxEb2NQdHI7bl9jdXIrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBmID0gZ2VuX0ZJTEVfcHRyKG5fZiwgMCk7CisgICAgICAgIGN1ciA9IGdlbl94bWxEb2NQdHIobl9jdXIsIDEpOworCisgICAgICAgIHJldF92YWwgPSBodG1sRG9jRHVtcChmLCBjdXIpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19GSUxFX3B0cihuX2YsIGYsIDApOworICAgICAgICBkZXNfeG1sRG9jUHRyKG5fY3VyLCBjdXIsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4gaHRtbERvY0R1bXAiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3VyKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCisjZGVmaW5lIGdlbl9uYl94bWxDaGFyX3B0cl9wdHIgMQorc3RhdGljIHhtbENoYXIgKiogZ2VuX3htbENoYXJfcHRyX3B0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICByZXR1cm4oTlVMTCk7Cit9CitzdGF0aWMgdm9pZCBkZXNfeG1sQ2hhcl9wdHJfcHRyKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCB4bWxDaGFyICoqIHZhbCBBVFRSSUJVVEVfVU5VU0VELCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworfQorCitzdGF0aWMgaW50Cit0ZXN0X2h0bWxEb2NEdW1wTWVtb3J5KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKSAmJiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sRG9jUHRyIGN1cjsgLyogdGhlIGRvY3VtZW50ICovCisgICAgaW50IG5fY3VyOworICAgIHhtbENoYXIgKiogbWVtOyAvKiBPVVQ6IHRoZSBtZW1vcnkgcG9pbnRlciAqLworICAgIGludCBuX21lbTsKKyAgICBpbnQgKiBzaXplOyAvKiBPVVQ6IHRoZSBtZW1vcnkgbGVuZ3RoICovCisgICAgaW50IG5fc2l6ZTsKKworICAgIGZvciAobl9jdXIgPSAwO25fY3VyIDwgZ2VuX25iX3htbERvY1B0cjtuX2N1cisrKSB7CisgICAgZm9yIChuX21lbSA9IDA7bl9tZW0gPCBnZW5fbmJfeG1sQ2hhcl9wdHJfcHRyO25fbWVtKyspIHsKKyAgICBmb3IgKG5fc2l6ZSA9IDA7bl9zaXplIDwgZ2VuX25iX2ludF9wdHI7bl9zaXplKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3VyID0gZ2VuX3htbERvY1B0cihuX2N1ciwgMCk7CisgICAgICAgIG1lbSA9IGdlbl94bWxDaGFyX3B0cl9wdHIobl9tZW0sIDEpOworICAgICAgICBzaXplID0gZ2VuX2ludF9wdHIobl9zaXplLCAyKTsKKworICAgICAgICBodG1sRG9jRHVtcE1lbW9yeShjdXIsIG1lbSwgc2l6ZSk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbERvY1B0cihuX2N1ciwgY3VyLCAwKTsKKyAgICAgICAgZGVzX3htbENoYXJfcHRyX3B0cihuX21lbSwgbWVtLCAxKTsKKyAgICAgICAgZGVzX2ludF9wdHIobl9zaXplLCBzaXplLCAyKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIGh0bWxEb2NEdW1wTWVtb3J5IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N1cik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbWVtKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9zaXplKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF9odG1sRG9jRHVtcE1lbW9yeUZvcm1hdCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX0hUTUxfRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbERvY1B0ciBjdXI7IC8qIHRoZSBkb2N1bWVudCAqLworICAgIGludCBuX2N1cjsKKyAgICB4bWxDaGFyICoqIG1lbTsgLyogT1VUOiB0aGUgbWVtb3J5IHBvaW50ZXIgKi8KKyAgICBpbnQgbl9tZW07CisgICAgaW50ICogc2l6ZTsgLyogT1VUOiB0aGUgbWVtb3J5IGxlbmd0aCAqLworICAgIGludCBuX3NpemU7CisgICAgaW50IGZvcm1hdDsgLyogc2hvdWxkIGZvcm1hdHRpbmcgc3BhY2VzIGJlZW4gYWRkZWQgKi8KKyAgICBpbnQgbl9mb3JtYXQ7CisKKyAgICBmb3IgKG5fY3VyID0gMDtuX2N1ciA8IGdlbl9uYl94bWxEb2NQdHI7bl9jdXIrKykgeworICAgIGZvciAobl9tZW0gPSAwO25fbWVtIDwgZ2VuX25iX3htbENoYXJfcHRyX3B0cjtuX21lbSsrKSB7CisgICAgZm9yIChuX3NpemUgPSAwO25fc2l6ZSA8IGdlbl9uYl9pbnRfcHRyO25fc2l6ZSsrKSB7CisgICAgZm9yIChuX2Zvcm1hdCA9IDA7bl9mb3JtYXQgPCBnZW5fbmJfaW50O25fZm9ybWF0KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3VyID0gZ2VuX3htbERvY1B0cihuX2N1ciwgMCk7CisgICAgICAgIG1lbSA9IGdlbl94bWxDaGFyX3B0cl9wdHIobl9tZW0sIDEpOworICAgICAgICBzaXplID0gZ2VuX2ludF9wdHIobl9zaXplLCAyKTsKKyAgICAgICAgZm9ybWF0ID0gZ2VuX2ludChuX2Zvcm1hdCwgMyk7CisKKyAgICAgICAgaHRtbERvY0R1bXBNZW1vcnlGb3JtYXQoY3VyLCBtZW0sIHNpemUsIGZvcm1hdCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbERvY1B0cihuX2N1ciwgY3VyLCAwKTsKKyAgICAgICAgZGVzX3htbENoYXJfcHRyX3B0cihuX21lbSwgbWVtLCAxKTsKKyAgICAgICAgZGVzX2ludF9wdHIobl9zaXplLCBzaXplLCAyKTsKKyAgICAgICAgZGVzX2ludChuX2Zvcm1hdCwgZm9ybWF0LCAzKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIGh0bWxEb2NEdW1wTWVtb3J5Rm9ybWF0IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N1cik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbWVtKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9zaXplKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9mb3JtYXQpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF9odG1sR2V0TWV0YUVuY29kaW5nKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBjb25zdCB4bWxDaGFyICogcmV0X3ZhbDsKKyAgICBodG1sRG9jUHRyIGRvYzsgLyogdGhlIGRvY3VtZW50ICovCisgICAgaW50IG5fZG9jOworCisgICAgZm9yIChuX2RvYyA9IDA7bl9kb2MgPCBnZW5fbmJfaHRtbERvY1B0cjtuX2RvYysrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGRvYyA9IGdlbl9odG1sRG9jUHRyKG5fZG9jLCAwKTsKKworICAgICAgICByZXRfdmFsID0gaHRtbEdldE1ldGFFbmNvZGluZyhkb2MpOworICAgICAgICBkZXNyZXRfY29uc3RfeG1sQ2hhcl9wdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2h0bWxEb2NQdHIobl9kb2MsIGRvYywgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiBodG1sR2V0TWV0YUVuY29kaW5nIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2RvYyk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X2h0bWxJc0Jvb2xlYW5BdHRyKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxDaGFyICogbmFtZTsgLyogdGhlIG5hbWUgb2YgdGhlIGF0dHJpYnV0ZSB0byBjaGVjayAqLworICAgIGludCBuX25hbWU7CisKKyAgICBmb3IgKG5fbmFtZSA9IDA7bl9uYW1lIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fbmFtZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIG5hbWUgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAwKTsKKworICAgICAgICByZXRfdmFsID0gaHRtbElzQm9vbGVhbkF0dHIoKGNvbnN0IHhtbENoYXIgKiluYW1lKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4gaHRtbElzQm9vbGVhbkF0dHIiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFtZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X2h0bWxOZXdEb2Modm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGh0bWxEb2NQdHIgcmV0X3ZhbDsKKyAgICB4bWxDaGFyICogVVJJOyAvKiBVUkkgZm9yIHRoZSBkdGQsIG9yIE5VTEwgKi8KKyAgICBpbnQgbl9VUkk7CisgICAgeG1sQ2hhciAqIEV4dGVybmFsSUQ7IC8qIHRoZSBleHRlcm5hbCBJRCBvZiB0aGUgRFRELCBvciBOVUxMICovCisgICAgaW50IG5fRXh0ZXJuYWxJRDsKKworICAgIGZvciAobl9VUkkgPSAwO25fVVJJIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fVVJJKyspIHsKKyAgICBmb3IgKG5fRXh0ZXJuYWxJRCA9IDA7bl9FeHRlcm5hbElEIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fRXh0ZXJuYWxJRCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIFVSSSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX1VSSSwgMCk7CisgICAgICAgIEV4dGVybmFsSUQgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9FeHRlcm5hbElELCAxKTsKKworICAgICAgICByZXRfdmFsID0gaHRtbE5ld0RvYygoY29uc3QgeG1sQ2hhciAqKVVSSSwgKGNvbnN0IHhtbENoYXIgKilFeHRlcm5hbElEKTsKKyAgICAgICAgZGVzcmV0X2h0bWxEb2NQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fVVJJLCAoY29uc3QgeG1sQ2hhciAqKVVSSSwgMCk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX0V4dGVybmFsSUQsIChjb25zdCB4bWxDaGFyICopRXh0ZXJuYWxJRCwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiBodG1sTmV3RG9jIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX1VSSSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fRXh0ZXJuYWxJRCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF9odG1sTmV3RG9jTm9EdEQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGh0bWxEb2NQdHIgcmV0X3ZhbDsKKyAgICB4bWxDaGFyICogVVJJOyAvKiBVUkkgZm9yIHRoZSBkdGQsIG9yIE5VTEwgKi8KKyAgICBpbnQgbl9VUkk7CisgICAgeG1sQ2hhciAqIEV4dGVybmFsSUQ7IC8qIHRoZSBleHRlcm5hbCBJRCBvZiB0aGUgRFRELCBvciBOVUxMICovCisgICAgaW50IG5fRXh0ZXJuYWxJRDsKKworICAgIGZvciAobl9VUkkgPSAwO25fVVJJIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fVVJJKyspIHsKKyAgICBmb3IgKG5fRXh0ZXJuYWxJRCA9IDA7bl9FeHRlcm5hbElEIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fRXh0ZXJuYWxJRCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIFVSSSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX1VSSSwgMCk7CisgICAgICAgIEV4dGVybmFsSUQgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9FeHRlcm5hbElELCAxKTsKKworICAgICAgICByZXRfdmFsID0gaHRtbE5ld0RvY05vRHREKChjb25zdCB4bWxDaGFyICopVVJJLCAoY29uc3QgeG1sQ2hhciAqKUV4dGVybmFsSUQpOworICAgICAgICBkZXNyZXRfaHRtbERvY1B0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9VUkksIChjb25zdCB4bWxDaGFyICopVVJJLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fRXh0ZXJuYWxJRCwgKGNvbnN0IHhtbENoYXIgKilFeHRlcm5hbElELCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIGh0bWxOZXdEb2NOb0R0RCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9VUkkpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX0V4dGVybmFsSUQpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfaHRtbE5vZGVEdW1wKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKSAmJiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sQnVmZmVyUHRyIGJ1ZjsgLyogdGhlIEhUTUwgYnVmZmVyIG91dHB1dCAqLworICAgIGludCBuX2J1ZjsKKyAgICB4bWxEb2NQdHIgZG9jOyAvKiB0aGUgZG9jdW1lbnQgKi8KKyAgICBpbnQgbl9kb2M7CisgICAgeG1sTm9kZVB0ciBjdXI7IC8qIHRoZSBjdXJyZW50IG5vZGUgKi8KKyAgICBpbnQgbl9jdXI7CisKKyAgICBmb3IgKG5fYnVmID0gMDtuX2J1ZiA8IGdlbl9uYl94bWxCdWZmZXJQdHI7bl9idWYrKykgeworICAgIGZvciAobl9kb2MgPSAwO25fZG9jIDwgZ2VuX25iX3htbERvY1B0cjtuX2RvYysrKSB7CisgICAgZm9yIChuX2N1ciA9IDA7bl9jdXIgPCBnZW5fbmJfeG1sTm9kZVB0cjtuX2N1cisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGJ1ZiA9IGdlbl94bWxCdWZmZXJQdHIobl9idWYsIDApOworICAgICAgICBkb2MgPSBnZW5feG1sRG9jUHRyKG5fZG9jLCAxKTsKKyAgICAgICAgY3VyID0gZ2VuX3htbE5vZGVQdHIobl9jdXIsIDIpOworCisgICAgICAgIHJldF92YWwgPSBodG1sTm9kZUR1bXAoYnVmLCBkb2MsIGN1cik7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbEJ1ZmZlclB0cihuX2J1ZiwgYnVmLCAwKTsKKyAgICAgICAgZGVzX3htbERvY1B0cihuX2RvYywgZG9jLCAxKTsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl9jdXIsIGN1ciwgMik7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiBodG1sTm9kZUR1bXAiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fYnVmKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9kb2MpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N1cik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfaHRtbE5vZGVEdW1wRmlsZSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX0hUTUxfRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIEZJTEUgKiBvdXQ7IC8qIHRoZSBGSUxFIHBvaW50ZXIgKi8KKyAgICBpbnQgbl9vdXQ7CisgICAgeG1sRG9jUHRyIGRvYzsgLyogdGhlIGRvY3VtZW50ICovCisgICAgaW50IG5fZG9jOworICAgIHhtbE5vZGVQdHIgY3VyOyAvKiB0aGUgY3VycmVudCBub2RlICovCisgICAgaW50IG5fY3VyOworCisgICAgZm9yIChuX291dCA9IDA7bl9vdXQgPCBnZW5fbmJfRklMRV9wdHI7bl9vdXQrKykgeworICAgIGZvciAobl9kb2MgPSAwO25fZG9jIDwgZ2VuX25iX3htbERvY1B0cjtuX2RvYysrKSB7CisgICAgZm9yIChuX2N1ciA9IDA7bl9jdXIgPCBnZW5fbmJfeG1sTm9kZVB0cjtuX2N1cisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIG91dCA9IGdlbl9GSUxFX3B0cihuX291dCwgMCk7CisgICAgICAgIGRvYyA9IGdlbl94bWxEb2NQdHIobl9kb2MsIDEpOworICAgICAgICBjdXIgPSBnZW5feG1sTm9kZVB0cihuX2N1ciwgMik7CisKKyAgICAgICAgaHRtbE5vZGVEdW1wRmlsZShvdXQsIGRvYywgY3VyKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfRklMRV9wdHIobl9vdXQsIG91dCwgMCk7CisgICAgICAgIGRlc194bWxEb2NQdHIobl9kb2MsIGRvYywgMSk7CisgICAgICAgIGRlc194bWxOb2RlUHRyKG5fY3VyLCBjdXIsIDIpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4gaHRtbE5vZGVEdW1wRmlsZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9vdXQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2RvYyk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3VyKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF9odG1sTm9kZUR1bXBGaWxlRm9ybWF0KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKSAmJiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgRklMRSAqIG91dDsgLyogdGhlIEZJTEUgcG9pbnRlciAqLworICAgIGludCBuX291dDsKKyAgICB4bWxEb2NQdHIgZG9jOyAvKiB0aGUgZG9jdW1lbnQgKi8KKyAgICBpbnQgbl9kb2M7CisgICAgeG1sTm9kZVB0ciBjdXI7IC8qIHRoZSBjdXJyZW50IG5vZGUgKi8KKyAgICBpbnQgbl9jdXI7CisgICAgY2hhciAqIGVuY29kaW5nOyAvKiB0aGUgZG9jdW1lbnQgZW5jb2RpbmcgKi8KKyAgICBpbnQgbl9lbmNvZGluZzsKKyAgICBpbnQgZm9ybWF0OyAvKiBzaG91bGQgZm9ybWF0dGluZyBzcGFjZXMgYmVlbiBhZGRlZCAqLworICAgIGludCBuX2Zvcm1hdDsKKworICAgIGZvciAobl9vdXQgPSAwO25fb3V0IDwgZ2VuX25iX0ZJTEVfcHRyO25fb3V0KyspIHsKKyAgICBmb3IgKG5fZG9jID0gMDtuX2RvYyA8IGdlbl9uYl94bWxEb2NQdHI7bl9kb2MrKykgeworICAgIGZvciAobl9jdXIgPSAwO25fY3VyIDwgZ2VuX25iX3htbE5vZGVQdHI7bl9jdXIrKykgeworICAgIGZvciAobl9lbmNvZGluZyA9IDA7bl9lbmNvZGluZyA8IGdlbl9uYl9jb25zdF9jaGFyX3B0cjtuX2VuY29kaW5nKyspIHsKKyAgICBmb3IgKG5fZm9ybWF0ID0gMDtuX2Zvcm1hdCA8IGdlbl9uYl9pbnQ7bl9mb3JtYXQrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBvdXQgPSBnZW5fRklMRV9wdHIobl9vdXQsIDApOworICAgICAgICBkb2MgPSBnZW5feG1sRG9jUHRyKG5fZG9jLCAxKTsKKyAgICAgICAgY3VyID0gZ2VuX3htbE5vZGVQdHIobl9jdXIsIDIpOworICAgICAgICBlbmNvZGluZyA9IGdlbl9jb25zdF9jaGFyX3B0cihuX2VuY29kaW5nLCAzKTsKKyAgICAgICAgZm9ybWF0ID0gZ2VuX2ludChuX2Zvcm1hdCwgNCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IGh0bWxOb2RlRHVtcEZpbGVGb3JtYXQob3V0LCBkb2MsIGN1ciwgKGNvbnN0IGNoYXIgKillbmNvZGluZywgZm9ybWF0KTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfRklMRV9wdHIobl9vdXQsIG91dCwgMCk7CisgICAgICAgIGRlc194bWxEb2NQdHIobl9kb2MsIGRvYywgMSk7CisgICAgICAgIGRlc194bWxOb2RlUHRyKG5fY3VyLCBjdXIsIDIpOworICAgICAgICBkZXNfY29uc3RfY2hhcl9wdHIobl9lbmNvZGluZywgKGNvbnN0IGNoYXIgKillbmNvZGluZywgMyk7CisgICAgICAgIGRlc19pbnQobl9mb3JtYXQsIGZvcm1hdCwgNCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiBodG1sTm9kZUR1bXBGaWxlRm9ybWF0IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX291dCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZG9jKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdXIpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2VuY29kaW5nKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9mb3JtYXQpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfaHRtbE5vZGVEdW1wRm9ybWF0T3V0cHV0KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKSAmJiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sT3V0cHV0QnVmZmVyUHRyIGJ1ZjsgLyogdGhlIEhUTUwgYnVmZmVyIG91dHB1dCAqLworICAgIGludCBuX2J1ZjsKKyAgICB4bWxEb2NQdHIgZG9jOyAvKiB0aGUgZG9jdW1lbnQgKi8KKyAgICBpbnQgbl9kb2M7CisgICAgeG1sTm9kZVB0ciBjdXI7IC8qIHRoZSBjdXJyZW50IG5vZGUgKi8KKyAgICBpbnQgbl9jdXI7CisgICAgY2hhciAqIGVuY29kaW5nOyAvKiB0aGUgZW5jb2Rpbmcgc3RyaW5nICovCisgICAgaW50IG5fZW5jb2Rpbmc7CisgICAgaW50IGZvcm1hdDsgLyogc2hvdWxkIGZvcm1hdHRpbmcgc3BhY2VzIGJlZW4gYWRkZWQgKi8KKyAgICBpbnQgbl9mb3JtYXQ7CisKKyAgICBmb3IgKG5fYnVmID0gMDtuX2J1ZiA8IGdlbl9uYl94bWxPdXRwdXRCdWZmZXJQdHI7bl9idWYrKykgeworICAgIGZvciAobl9kb2MgPSAwO25fZG9jIDwgZ2VuX25iX3htbERvY1B0cjtuX2RvYysrKSB7CisgICAgZm9yIChuX2N1ciA9IDA7bl9jdXIgPCBnZW5fbmJfeG1sTm9kZVB0cjtuX2N1cisrKSB7CisgICAgZm9yIChuX2VuY29kaW5nID0gMDtuX2VuY29kaW5nIDwgZ2VuX25iX2NvbnN0X2NoYXJfcHRyO25fZW5jb2RpbmcrKykgeworICAgIGZvciAobl9mb3JtYXQgPSAwO25fZm9ybWF0IDwgZ2VuX25iX2ludDtuX2Zvcm1hdCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGJ1ZiA9IGdlbl94bWxPdXRwdXRCdWZmZXJQdHIobl9idWYsIDApOworICAgICAgICBkb2MgPSBnZW5feG1sRG9jUHRyKG5fZG9jLCAxKTsKKyAgICAgICAgY3VyID0gZ2VuX3htbE5vZGVQdHIobl9jdXIsIDIpOworICAgICAgICBlbmNvZGluZyA9IGdlbl9jb25zdF9jaGFyX3B0cihuX2VuY29kaW5nLCAzKTsKKyAgICAgICAgZm9ybWF0ID0gZ2VuX2ludChuX2Zvcm1hdCwgNCk7CisKKyAgICAgICAgaHRtbE5vZGVEdW1wRm9ybWF0T3V0cHV0KGJ1ZiwgZG9jLCBjdXIsIChjb25zdCBjaGFyICopZW5jb2RpbmcsIGZvcm1hdCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbE91dHB1dEJ1ZmZlclB0cihuX2J1ZiwgYnVmLCAwKTsKKyAgICAgICAgZGVzX3htbERvY1B0cihuX2RvYywgZG9jLCAxKTsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl9jdXIsIGN1ciwgMik7CisgICAgICAgIGRlc19jb25zdF9jaGFyX3B0cihuX2VuY29kaW5nLCAoY29uc3QgY2hhciAqKWVuY29kaW5nLCAzKTsKKyAgICAgICAgZGVzX2ludChuX2Zvcm1hdCwgZm9ybWF0LCA0KTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIGh0bWxOb2RlRHVtcEZvcm1hdE91dHB1dCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9idWYpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2RvYyk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3VyKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9lbmNvZGluZyk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZm9ybWF0KTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X2h0bWxOb2RlRHVtcE91dHB1dCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX0hUTUxfRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbE91dHB1dEJ1ZmZlclB0ciBidWY7IC8qIHRoZSBIVE1MIGJ1ZmZlciBvdXRwdXQgKi8KKyAgICBpbnQgbl9idWY7CisgICAgeG1sRG9jUHRyIGRvYzsgLyogdGhlIGRvY3VtZW50ICovCisgICAgaW50IG5fZG9jOworICAgIHhtbE5vZGVQdHIgY3VyOyAvKiB0aGUgY3VycmVudCBub2RlICovCisgICAgaW50IG5fY3VyOworICAgIGNoYXIgKiBlbmNvZGluZzsgLyogdGhlIGVuY29kaW5nIHN0cmluZyAqLworICAgIGludCBuX2VuY29kaW5nOworCisgICAgZm9yIChuX2J1ZiA9IDA7bl9idWYgPCBnZW5fbmJfeG1sT3V0cHV0QnVmZmVyUHRyO25fYnVmKyspIHsKKyAgICBmb3IgKG5fZG9jID0gMDtuX2RvYyA8IGdlbl9uYl94bWxEb2NQdHI7bl9kb2MrKykgeworICAgIGZvciAobl9jdXIgPSAwO25fY3VyIDwgZ2VuX25iX3htbE5vZGVQdHI7bl9jdXIrKykgeworICAgIGZvciAobl9lbmNvZGluZyA9IDA7bl9lbmNvZGluZyA8IGdlbl9uYl9jb25zdF9jaGFyX3B0cjtuX2VuY29kaW5nKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgYnVmID0gZ2VuX3htbE91dHB1dEJ1ZmZlclB0cihuX2J1ZiwgMCk7CisgICAgICAgIGRvYyA9IGdlbl94bWxEb2NQdHIobl9kb2MsIDEpOworICAgICAgICBjdXIgPSBnZW5feG1sTm9kZVB0cihuX2N1ciwgMik7CisgICAgICAgIGVuY29kaW5nID0gZ2VuX2NvbnN0X2NoYXJfcHRyKG5fZW5jb2RpbmcsIDMpOworCisgICAgICAgIGh0bWxOb2RlRHVtcE91dHB1dChidWYsIGRvYywgY3VyLCAoY29uc3QgY2hhciAqKWVuY29kaW5nKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sT3V0cHV0QnVmZmVyUHRyKG5fYnVmLCBidWYsIDApOworICAgICAgICBkZXNfeG1sRG9jUHRyKG5fZG9jLCBkb2MsIDEpOworICAgICAgICBkZXNfeG1sTm9kZVB0cihuX2N1ciwgY3VyLCAyKTsKKyAgICAgICAgZGVzX2NvbnN0X2NoYXJfcHRyKG5fZW5jb2RpbmcsIChjb25zdCBjaGFyICopZW5jb2RpbmcsIDMpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4gaHRtbE5vZGVEdW1wT3V0cHV0IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2J1Zik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZG9jKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdXIpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2VuY29kaW5nKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfaHRtbFNhdmVGaWxlKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKSAmJiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgY29uc3QgY2hhciAqIGZpbGVuYW1lOyAvKiB0aGUgZmlsZW5hbWUgKG9yIFVSTCkgKi8KKyAgICBpbnQgbl9maWxlbmFtZTsKKyAgICB4bWxEb2NQdHIgY3VyOyAvKiB0aGUgZG9jdW1lbnQgKi8KKyAgICBpbnQgbl9jdXI7CisKKyAgICBmb3IgKG5fZmlsZW5hbWUgPSAwO25fZmlsZW5hbWUgPCBnZW5fbmJfZmlsZW91dHB1dDtuX2ZpbGVuYW1lKyspIHsKKyAgICBmb3IgKG5fY3VyID0gMDtuX2N1ciA8IGdlbl9uYl94bWxEb2NQdHI7bl9jdXIrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBmaWxlbmFtZSA9IGdlbl9maWxlb3V0cHV0KG5fZmlsZW5hbWUsIDApOworICAgICAgICBjdXIgPSBnZW5feG1sRG9jUHRyKG5fY3VyLCAxKTsKKworICAgICAgICByZXRfdmFsID0gaHRtbFNhdmVGaWxlKGZpbGVuYW1lLCBjdXIpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19maWxlb3V0cHV0KG5fZmlsZW5hbWUsIGZpbGVuYW1lLCAwKTsKKyAgICAgICAgZGVzX3htbERvY1B0cihuX2N1ciwgY3VyLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIGh0bWxTYXZlRmlsZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9maWxlbmFtZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3VyKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X2h0bWxTYXZlRmlsZUVuYyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX0hUTUxfRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGNvbnN0IGNoYXIgKiBmaWxlbmFtZTsgLyogdGhlIGZpbGVuYW1lICovCisgICAgaW50IG5fZmlsZW5hbWU7CisgICAgeG1sRG9jUHRyIGN1cjsgLyogdGhlIGRvY3VtZW50ICovCisgICAgaW50IG5fY3VyOworICAgIGNoYXIgKiBlbmNvZGluZzsgLyogdGhlIGRvY3VtZW50IGVuY29kaW5nICovCisgICAgaW50IG5fZW5jb2Rpbmc7CisKKyAgICBmb3IgKG5fZmlsZW5hbWUgPSAwO25fZmlsZW5hbWUgPCBnZW5fbmJfZmlsZW91dHB1dDtuX2ZpbGVuYW1lKyspIHsKKyAgICBmb3IgKG5fY3VyID0gMDtuX2N1ciA8IGdlbl9uYl94bWxEb2NQdHI7bl9jdXIrKykgeworICAgIGZvciAobl9lbmNvZGluZyA9IDA7bl9lbmNvZGluZyA8IGdlbl9uYl9jb25zdF9jaGFyX3B0cjtuX2VuY29kaW5nKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgZmlsZW5hbWUgPSBnZW5fZmlsZW91dHB1dChuX2ZpbGVuYW1lLCAwKTsKKyAgICAgICAgY3VyID0gZ2VuX3htbERvY1B0cihuX2N1ciwgMSk7CisgICAgICAgIGVuY29kaW5nID0gZ2VuX2NvbnN0X2NoYXJfcHRyKG5fZW5jb2RpbmcsIDIpOworCisgICAgICAgIHJldF92YWwgPSBodG1sU2F2ZUZpbGVFbmMoZmlsZW5hbWUsIGN1ciwgKGNvbnN0IGNoYXIgKillbmNvZGluZyk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2ZpbGVvdXRwdXQobl9maWxlbmFtZSwgZmlsZW5hbWUsIDApOworICAgICAgICBkZXNfeG1sRG9jUHRyKG5fY3VyLCBjdXIsIDEpOworICAgICAgICBkZXNfY29uc3RfY2hhcl9wdHIobl9lbmNvZGluZywgKGNvbnN0IGNoYXIgKillbmNvZGluZywgMik7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiBodG1sU2F2ZUZpbGVFbmMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZmlsZW5hbWUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N1cik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZW5jb2RpbmcpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X2h0bWxTYXZlRmlsZUZvcm1hdCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX0hUTUxfRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGNvbnN0IGNoYXIgKiBmaWxlbmFtZTsgLyogdGhlIGZpbGVuYW1lICovCisgICAgaW50IG5fZmlsZW5hbWU7CisgICAgeG1sRG9jUHRyIGN1cjsgLyogdGhlIGRvY3VtZW50ICovCisgICAgaW50IG5fY3VyOworICAgIGNoYXIgKiBlbmNvZGluZzsgLyogdGhlIGRvY3VtZW50IGVuY29kaW5nICovCisgICAgaW50IG5fZW5jb2Rpbmc7CisgICAgaW50IGZvcm1hdDsgLyogc2hvdWxkIGZvcm1hdHRpbmcgc3BhY2VzIGJlZW4gYWRkZWQgKi8KKyAgICBpbnQgbl9mb3JtYXQ7CisKKyAgICBmb3IgKG5fZmlsZW5hbWUgPSAwO25fZmlsZW5hbWUgPCBnZW5fbmJfZmlsZW91dHB1dDtuX2ZpbGVuYW1lKyspIHsKKyAgICBmb3IgKG5fY3VyID0gMDtuX2N1ciA8IGdlbl9uYl94bWxEb2NQdHI7bl9jdXIrKykgeworICAgIGZvciAobl9lbmNvZGluZyA9IDA7bl9lbmNvZGluZyA8IGdlbl9uYl9jb25zdF9jaGFyX3B0cjtuX2VuY29kaW5nKyspIHsKKyAgICBmb3IgKG5fZm9ybWF0ID0gMDtuX2Zvcm1hdCA8IGdlbl9uYl9pbnQ7bl9mb3JtYXQrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBmaWxlbmFtZSA9IGdlbl9maWxlb3V0cHV0KG5fZmlsZW5hbWUsIDApOworICAgICAgICBjdXIgPSBnZW5feG1sRG9jUHRyKG5fY3VyLCAxKTsKKyAgICAgICAgZW5jb2RpbmcgPSBnZW5fY29uc3RfY2hhcl9wdHIobl9lbmNvZGluZywgMik7CisgICAgICAgIGZvcm1hdCA9IGdlbl9pbnQobl9mb3JtYXQsIDMpOworCisgICAgICAgIHJldF92YWwgPSBodG1sU2F2ZUZpbGVGb3JtYXQoZmlsZW5hbWUsIGN1ciwgKGNvbnN0IGNoYXIgKillbmNvZGluZywgZm9ybWF0KTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfZmlsZW91dHB1dChuX2ZpbGVuYW1lLCBmaWxlbmFtZSwgMCk7CisgICAgICAgIGRlc194bWxEb2NQdHIobl9jdXIsIGN1ciwgMSk7CisgICAgICAgIGRlc19jb25zdF9jaGFyX3B0cihuX2VuY29kaW5nLCAoY29uc3QgY2hhciAqKWVuY29kaW5nLCAyKTsKKyAgICAgICAgZGVzX2ludChuX2Zvcm1hdCwgZm9ybWF0LCAzKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIGh0bWxTYXZlRmlsZUZvcm1hdCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9maWxlbmFtZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3VyKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9lbmNvZGluZyk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZm9ybWF0KTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfaHRtbFNldE1ldGFFbmNvZGluZyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX0hUTUxfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgaHRtbERvY1B0ciBkb2M7IC8qIHRoZSBkb2N1bWVudCAqLworICAgIGludCBuX2RvYzsKKyAgICB4bWxDaGFyICogZW5jb2Rpbmc7IC8qIHRoZSBlbmNvZGluZyBzdHJpbmcgKi8KKyAgICBpbnQgbl9lbmNvZGluZzsKKworICAgIGZvciAobl9kb2MgPSAwO25fZG9jIDwgZ2VuX25iX2h0bWxEb2NQdHI7bl9kb2MrKykgeworICAgIGZvciAobl9lbmNvZGluZyA9IDA7bl9lbmNvZGluZyA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX2VuY29kaW5nKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgZG9jID0gZ2VuX2h0bWxEb2NQdHIobl9kb2MsIDApOworICAgICAgICBlbmNvZGluZyA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX2VuY29kaW5nLCAxKTsKKworICAgICAgICByZXRfdmFsID0gaHRtbFNldE1ldGFFbmNvZGluZyhkb2MsIChjb25zdCB4bWxDaGFyICopZW5jb2RpbmcpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19odG1sRG9jUHRyKG5fZG9jLCBkb2MsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9lbmNvZGluZywgKGNvbnN0IHhtbENoYXIgKillbmNvZGluZywgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiBodG1sU2V0TWV0YUVuY29kaW5nIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2RvYyk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZW5jb2RpbmcpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCitzdGF0aWMgaW50Cit0ZXN0X0hUTUx0cmVlKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaWYgKHF1aWV0ID09IDApIHByaW50ZigiVGVzdGluZyBIVE1MdHJlZSA6IDE4IG9mIDE4IGZ1bmN0aW9ucyAuLi5cbiIpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfaHRtbERvY0NvbnRlbnREdW1wRm9ybWF0T3V0cHV0KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF9odG1sRG9jQ29udGVudER1bXBPdXRwdXQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X2h0bWxEb2NEdW1wKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF9odG1sRG9jRHVtcE1lbW9yeSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfaHRtbERvY0R1bXBNZW1vcnlGb3JtYXQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X2h0bWxHZXRNZXRhRW5jb2RpbmcoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X2h0bWxJc0Jvb2xlYW5BdHRyKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF9odG1sTmV3RG9jKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF9odG1sTmV3RG9jTm9EdEQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X2h0bWxOb2RlRHVtcCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfaHRtbE5vZGVEdW1wRmlsZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfaHRtbE5vZGVEdW1wRmlsZUZvcm1hdCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfaHRtbE5vZGVEdW1wRm9ybWF0T3V0cHV0KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF9odG1sTm9kZUR1bXBPdXRwdXQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X2h0bWxTYXZlRmlsZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfaHRtbFNhdmVGaWxlRW5jKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF9odG1sU2F2ZUZpbGVGb3JtYXQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X2h0bWxTZXRNZXRhRW5jb2RpbmcoKTsKKworICAgIGlmICh0ZXN0X3JldCAhPSAwKQorCXByaW50ZigiTW9kdWxlIEhUTUx0cmVlOiAlZCBlcnJvcnNcbiIsIHRlc3RfcmV0KTsKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCitzdGF0aWMgaW50Cit0ZXN0X2RvY2JEZWZhdWx0U0FYSGFuZGxlckluaXQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9ET0NCX0VOQUJMRUQpCisjaWZkZWYgTElCWE1MX0RPQ0JfRU5BQkxFRAorICAgIGludCBtZW1fYmFzZTsKKworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworCisgICAgICAgIGRvY2JEZWZhdWx0U0FYSGFuZGxlckluaXQoKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4gZG9jYkRlZmF1bHRTQVhIYW5kbGVySW5pdCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X2h0bWxEZWZhdWx0U0FYSGFuZGxlckluaXQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpCisjaWZkZWYgTElCWE1MX0hUTUxfRU5BQkxFRAorICAgIGludCBtZW1fYmFzZTsKKworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworCisgICAgICAgIGh0bWxEZWZhdWx0U0FYSGFuZGxlckluaXQoKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4gaHRtbERlZmF1bHRTQVhIYW5kbGVySW5pdCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbERlZmF1bHRTQVhIYW5kbGVySW5pdCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworCisgICAgICAgIHhtbERlZmF1bHRTQVhIYW5kbGVySW5pdCgpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxEZWZhdWx0U0FYSGFuZGxlckluaXQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCisjZGVmaW5lIGdlbl9uYl94bWxFbnVtZXJhdGlvblB0ciAxCitzdGF0aWMgeG1sRW51bWVyYXRpb25QdHIgZ2VuX3htbEVudW1lcmF0aW9uUHRyKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworICAgIHJldHVybihOVUxMKTsKK30KK3N0YXRpYyB2b2lkIGRlc194bWxFbnVtZXJhdGlvblB0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgeG1sRW51bWVyYXRpb25QdHIgdmFsIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7Cit9CisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sU0FYMkF0dHJpYnV0ZURlY2wodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgdm9pZCAqIGN0eDsgLyogdGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KSAqLworICAgIGludCBuX2N0eDsKKyAgICB4bWxDaGFyICogZWxlbTsgLyogdGhlIG5hbWUgb2YgdGhlIGVsZW1lbnQgKi8KKyAgICBpbnQgbl9lbGVtOworICAgIHhtbENoYXIgKiBmdWxsbmFtZTsgLyogdGhlIGF0dHJpYnV0ZSBuYW1lICovCisgICAgaW50IG5fZnVsbG5hbWU7CisgICAgaW50IHR5cGU7IC8qIHRoZSBhdHRyaWJ1dGUgdHlwZSAqLworICAgIGludCBuX3R5cGU7CisgICAgaW50IGRlZjsgLyogdGhlIHR5cGUgb2YgZGVmYXVsdCB2YWx1ZSAqLworICAgIGludCBuX2RlZjsKKyAgICB4bWxDaGFyICogZGVmYXVsdFZhbHVlOyAvKiB0aGUgYXR0cmlidXRlIGRlZmF1bHQgdmFsdWUgKi8KKyAgICBpbnQgbl9kZWZhdWx0VmFsdWU7CisgICAgeG1sRW51bWVyYXRpb25QdHIgdHJlZTsgLyogdGhlIHRyZWUgb2YgZW51bWVyYXRlZCB2YWx1ZSBzZXQgKi8KKyAgICBpbnQgbl90cmVlOworCisgICAgZm9yIChuX2N0eCA9IDA7bl9jdHggPCBnZW5fbmJfdm9pZF9wdHI7bl9jdHgrKykgeworICAgIGZvciAobl9lbGVtID0gMDtuX2VsZW0gPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9lbGVtKyspIHsKKyAgICBmb3IgKG5fZnVsbG5hbWUgPSAwO25fZnVsbG5hbWUgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9mdWxsbmFtZSsrKSB7CisgICAgZm9yIChuX3R5cGUgPSAwO25fdHlwZSA8IGdlbl9uYl9pbnQ7bl90eXBlKyspIHsKKyAgICBmb3IgKG5fZGVmID0gMDtuX2RlZiA8IGdlbl9uYl9pbnQ7bl9kZWYrKykgeworICAgIGZvciAobl9kZWZhdWx0VmFsdWUgPSAwO25fZGVmYXVsdFZhbHVlIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fZGVmYXVsdFZhbHVlKyspIHsKKyAgICBmb3IgKG5fdHJlZSA9IDA7bl90cmVlIDwgZ2VuX25iX3htbEVudW1lcmF0aW9uUHRyO25fdHJlZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eCA9IGdlbl92b2lkX3B0cihuX2N0eCwgMCk7CisgICAgICAgIGVsZW0gPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9lbGVtLCAxKTsKKyAgICAgICAgZnVsbG5hbWUgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9mdWxsbmFtZSwgMik7CisgICAgICAgIHR5cGUgPSBnZW5faW50KG5fdHlwZSwgMyk7CisgICAgICAgIGRlZiA9IGdlbl9pbnQobl9kZWYsIDQpOworICAgICAgICBkZWZhdWx0VmFsdWUgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9kZWZhdWx0VmFsdWUsIDUpOworICAgICAgICB0cmVlID0gZ2VuX3htbEVudW1lcmF0aW9uUHRyKG5fdHJlZSwgNik7CisKKyAgICAgICAgeG1sU0FYMkF0dHJpYnV0ZURlY2woY3R4LCAoY29uc3QgeG1sQ2hhciAqKWVsZW0sIChjb25zdCB4bWxDaGFyICopZnVsbG5hbWUsIHR5cGUsIGRlZiwgKGNvbnN0IHhtbENoYXIgKilkZWZhdWx0VmFsdWUsIHRyZWUpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc192b2lkX3B0cihuX2N0eCwgY3R4LCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fZWxlbSwgKGNvbnN0IHhtbENoYXIgKillbGVtLCAxKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fZnVsbG5hbWUsIChjb25zdCB4bWxDaGFyICopZnVsbG5hbWUsIDIpOworICAgICAgICBkZXNfaW50KG5fdHlwZSwgdHlwZSwgMyk7CisgICAgICAgIGRlc19pbnQobl9kZWYsIGRlZiwgNCk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX2RlZmF1bHRWYWx1ZSwgKGNvbnN0IHhtbENoYXIgKilkZWZhdWx0VmFsdWUsIDUpOworICAgICAgICBkZXNfeG1sRW51bWVyYXRpb25QdHIobl90cmVlLCB0cmVlLCA2KTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFNBWDJBdHRyaWJ1dGVEZWNsIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZWxlbSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZnVsbG5hbWUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3R5cGUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2RlZik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZGVmYXVsdFZhbHVlKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl90cmVlKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFNBWDJDRGF0YUJsb2NrKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIHZvaWQgKiBjdHg7IC8qIHRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCkgKi8KKyAgICBpbnQgbl9jdHg7CisgICAgeG1sQ2hhciAqIHZhbHVlOyAvKiBUaGUgcGNkYXRhIGNvbnRlbnQgKi8KKyAgICBpbnQgbl92YWx1ZTsKKyAgICBpbnQgbGVuOyAvKiB0aGUgYmxvY2sgbGVuZ3RoICovCisgICAgaW50IG5fbGVuOworCisgICAgZm9yIChuX2N0eCA9IDA7bl9jdHggPCBnZW5fbmJfdm9pZF9wdHI7bl9jdHgrKykgeworICAgIGZvciAobl92YWx1ZSA9IDA7bl92YWx1ZSA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX3ZhbHVlKyspIHsKKyAgICBmb3IgKG5fbGVuID0gMDtuX2xlbiA8IGdlbl9uYl9pbnQ7bl9sZW4rKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHggPSBnZW5fdm9pZF9wdHIobl9jdHgsIDApOworICAgICAgICB2YWx1ZSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX3ZhbHVlLCAxKTsKKyAgICAgICAgbGVuID0gZ2VuX2ludChuX2xlbiwgMik7CisKKyAgICAgICAgeG1sU0FYMkNEYXRhQmxvY2soY3R4LCAoY29uc3QgeG1sQ2hhciAqKXZhbHVlLCBsZW4pOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc192b2lkX3B0cihuX2N0eCwgY3R4LCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fdmFsdWUsIChjb25zdCB4bWxDaGFyICopdmFsdWUsIDEpOworICAgICAgICBkZXNfaW50KG5fbGVuLCBsZW4sIDIpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sU0FYMkNEYXRhQmxvY2siLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl92YWx1ZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbGVuKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sU0FYMkNoYXJhY3RlcnModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgdm9pZCAqIGN0eDsgLyogdGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KSAqLworICAgIGludCBuX2N0eDsKKyAgICB4bWxDaGFyICogY2g7IC8qIGEgeG1sQ2hhciBzdHJpbmcgKi8KKyAgICBpbnQgbl9jaDsKKyAgICBpbnQgbGVuOyAvKiB0aGUgbnVtYmVyIG9mIHhtbENoYXIgKi8KKyAgICBpbnQgbl9sZW47CisKKyAgICBmb3IgKG5fY3R4ID0gMDtuX2N0eCA8IGdlbl9uYl92b2lkX3B0cjtuX2N0eCsrKSB7CisgICAgZm9yIChuX2NoID0gMDtuX2NoIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fY2grKykgeworICAgIGZvciAobl9sZW4gPSAwO25fbGVuIDwgZ2VuX25iX2ludDtuX2xlbisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eCA9IGdlbl92b2lkX3B0cihuX2N0eCwgMCk7CisgICAgICAgIGNoID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fY2gsIDEpOworICAgICAgICBsZW4gPSBnZW5faW50KG5fbGVuLCAyKTsKKworICAgICAgICB4bWxTQVgyQ2hhcmFjdGVycyhjdHgsIChjb25zdCB4bWxDaGFyICopY2gsIGxlbik7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3ZvaWRfcHRyKG5fY3R4LCBjdHgsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9jaCwgKGNvbnN0IHhtbENoYXIgKiljaCwgMSk7CisgICAgICAgIGRlc19pbnQobl9sZW4sIGxlbiwgMik7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxTQVgyQ2hhcmFjdGVycyIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHgpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2NoKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9sZW4pOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxTQVgyQ29tbWVudCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB2b2lkICogY3R4OyAvKiB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpICovCisgICAgaW50IG5fY3R4OworICAgIHhtbENoYXIgKiB2YWx1ZTsgLyogdGhlIHhtbFNBWDJDb21tZW50IGNvbnRlbnQgKi8KKyAgICBpbnQgbl92YWx1ZTsKKworICAgIGZvciAobl9jdHggPSAwO25fY3R4IDwgZ2VuX25iX3ZvaWRfcHRyO25fY3R4KyspIHsKKyAgICBmb3IgKG5fdmFsdWUgPSAwO25fdmFsdWUgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl92YWx1ZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eCA9IGdlbl92b2lkX3B0cihuX2N0eCwgMCk7CisgICAgICAgIHZhbHVlID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fdmFsdWUsIDEpOworCisgICAgICAgIHhtbFNBWDJDb21tZW50KGN0eCwgKGNvbnN0IHhtbENoYXIgKil2YWx1ZSk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3ZvaWRfcHRyKG5fY3R4LCBjdHgsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl92YWx1ZSwgKGNvbnN0IHhtbENoYXIgKil2YWx1ZSwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxTQVgyQ29tbWVudCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHgpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3ZhbHVlKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxTQVgyRWxlbWVudERlY2wodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgdm9pZCAqIGN0eDsgLyogdGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KSAqLworICAgIGludCBuX2N0eDsKKyAgICB4bWxDaGFyICogbmFtZTsgLyogdGhlIGVsZW1lbnQgbmFtZSAqLworICAgIGludCBuX25hbWU7CisgICAgaW50IHR5cGU7IC8qIHRoZSBlbGVtZW50IHR5cGUgKi8KKyAgICBpbnQgbl90eXBlOworICAgIHhtbEVsZW1lbnRDb250ZW50UHRyIGNvbnRlbnQ7IC8qIHRoZSBlbGVtZW50IHZhbHVlIHRyZWUgKi8KKyAgICBpbnQgbl9jb250ZW50OworCisgICAgZm9yIChuX2N0eCA9IDA7bl9jdHggPCBnZW5fbmJfdm9pZF9wdHI7bl9jdHgrKykgeworICAgIGZvciAobl9uYW1lID0gMDtuX25hbWUgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9uYW1lKyspIHsKKyAgICBmb3IgKG5fdHlwZSA9IDA7bl90eXBlIDwgZ2VuX25iX2ludDtuX3R5cGUrKykgeworICAgIGZvciAobl9jb250ZW50ID0gMDtuX2NvbnRlbnQgPCBnZW5fbmJfeG1sRWxlbWVudENvbnRlbnRQdHI7bl9jb250ZW50KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4ID0gZ2VuX3ZvaWRfcHRyKG5fY3R4LCAwKTsKKyAgICAgICAgbmFtZSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIDEpOworICAgICAgICB0eXBlID0gZ2VuX2ludChuX3R5cGUsIDIpOworICAgICAgICBjb250ZW50ID0gZ2VuX3htbEVsZW1lbnRDb250ZW50UHRyKG5fY29udGVudCwgMyk7CisKKyAgICAgICAgeG1sU0FYMkVsZW1lbnREZWNsKGN0eCwgKGNvbnN0IHhtbENoYXIgKiluYW1lLCB0eXBlLCBjb250ZW50KTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfdm9pZF9wdHIobl9jdHgsIGN0eCwgMCk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIChjb25zdCB4bWxDaGFyICopbmFtZSwgMSk7CisgICAgICAgIGRlc19pbnQobl90eXBlLCB0eXBlLCAyKTsKKyAgICAgICAgZGVzX3htbEVsZW1lbnRDb250ZW50UHRyKG5fY29udGVudCwgY29udGVudCwgMyk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxTQVgyRWxlbWVudERlY2wiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9uYW1lKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl90eXBlKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jb250ZW50KTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFNBWDJFbmREb2N1bWVudCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB2b2lkICogY3R4OyAvKiB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpICovCisgICAgaW50IG5fY3R4OworCisgICAgZm9yIChuX2N0eCA9IDA7bl9jdHggPCBnZW5fbmJfdm9pZF9wdHI7bl9jdHgrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHggPSBnZW5fdm9pZF9wdHIobl9jdHgsIDApOworCisgICAgICAgIHhtbFNBWDJFbmREb2N1bWVudChjdHgpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc192b2lkX3B0cihuX2N0eCwgY3R4LCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFNBWDJFbmREb2N1bWVudCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHgpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sU0FYMkVuZEVsZW1lbnQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9TQVgxX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX0hUTUxfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX0RPQ0JfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfTEVHQUNZX0VOQUJMRUQpCisjaWZkZWYgTElCWE1MX1NBWDFfRU5BQkxFRAorICAgIGludCBtZW1fYmFzZTsKKyAgICB2b2lkICogY3R4OyAvKiB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpICovCisgICAgaW50IG5fY3R4OworICAgIHhtbENoYXIgKiBuYW1lOyAvKiBUaGUgZWxlbWVudCBuYW1lICovCisgICAgaW50IG5fbmFtZTsKKworICAgIGZvciAobl9jdHggPSAwO25fY3R4IDwgZ2VuX25iX3ZvaWRfcHRyO25fY3R4KyspIHsKKyAgICBmb3IgKG5fbmFtZSA9IDA7bl9uYW1lIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fbmFtZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eCA9IGdlbl92b2lkX3B0cihuX2N0eCwgMCk7CisgICAgICAgIG5hbWUgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAxKTsKKworICAgICAgICB4bWxTQVgyRW5kRWxlbWVudChjdHgsIChjb25zdCB4bWxDaGFyICopbmFtZSk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3ZvaWRfcHRyKG5fY3R4LCBjdHgsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sU0FYMkVuZEVsZW1lbnQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9uYW1lKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sU0FYMkVuZEVsZW1lbnROcyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB2b2lkICogY3R4OyAvKiB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpICovCisgICAgaW50IG5fY3R4OworICAgIHhtbENoYXIgKiBsb2NhbG5hbWU7IC8qIHRoZSBsb2NhbCBuYW1lIG9mIHRoZSBlbGVtZW50ICovCisgICAgaW50IG5fbG9jYWxuYW1lOworICAgIHhtbENoYXIgKiBwcmVmaXg7IC8qIHRoZSBlbGVtZW50IG5hbWVzcGFjZSBwcmVmaXggaWYgYXZhaWxhYmxlICovCisgICAgaW50IG5fcHJlZml4OworICAgIHhtbENoYXIgKiBVUkk7IC8qIHRoZSBlbGVtZW50IG5hbWVzcGFjZSBuYW1lIGlmIGF2YWlsYWJsZSAqLworICAgIGludCBuX1VSSTsKKworICAgIGZvciAobl9jdHggPSAwO25fY3R4IDwgZ2VuX25iX3ZvaWRfcHRyO25fY3R4KyspIHsKKyAgICBmb3IgKG5fbG9jYWxuYW1lID0gMDtuX2xvY2FsbmFtZSA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX2xvY2FsbmFtZSsrKSB7CisgICAgZm9yIChuX3ByZWZpeCA9IDA7bl9wcmVmaXggPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9wcmVmaXgrKykgeworICAgIGZvciAobl9VUkkgPSAwO25fVVJJIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fVVJJKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4ID0gZ2VuX3ZvaWRfcHRyKG5fY3R4LCAwKTsKKyAgICAgICAgbG9jYWxuYW1lID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fbG9jYWxuYW1lLCAxKTsKKyAgICAgICAgcHJlZml4ID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fcHJlZml4LCAyKTsKKyAgICAgICAgVVJJID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fVVJJLCAzKTsKKworICAgICAgICB4bWxTQVgyRW5kRWxlbWVudE5zKGN0eCwgKGNvbnN0IHhtbENoYXIgKilsb2NhbG5hbWUsIChjb25zdCB4bWxDaGFyICopcHJlZml4LCAoY29uc3QgeG1sQ2hhciAqKVVSSSk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3ZvaWRfcHRyKG5fY3R4LCBjdHgsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9sb2NhbG5hbWUsIChjb25zdCB4bWxDaGFyICopbG9jYWxuYW1lLCAxKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fcHJlZml4LCAoY29uc3QgeG1sQ2hhciAqKXByZWZpeCwgMik7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX1VSSSwgKGNvbnN0IHhtbENoYXIgKilVUkksIDMpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sU0FYMkVuZEVsZW1lbnROcyIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHgpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2xvY2FsbmFtZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fcHJlZml4KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9VUkkpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sU0FYMkVudGl0eURlY2wodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgdm9pZCAqIGN0eDsgLyogdGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KSAqLworICAgIGludCBuX2N0eDsKKyAgICB4bWxDaGFyICogbmFtZTsgLyogdGhlIGVudGl0eSBuYW1lICovCisgICAgaW50IG5fbmFtZTsKKyAgICBpbnQgdHlwZTsgLyogdGhlIGVudGl0eSB0eXBlICovCisgICAgaW50IG5fdHlwZTsKKyAgICB4bWxDaGFyICogcHVibGljSWQ7IC8qIFRoZSBwdWJsaWMgSUQgb2YgdGhlIGVudGl0eSAqLworICAgIGludCBuX3B1YmxpY0lkOworICAgIHhtbENoYXIgKiBzeXN0ZW1JZDsgLyogVGhlIHN5c3RlbSBJRCBvZiB0aGUgZW50aXR5ICovCisgICAgaW50IG5fc3lzdGVtSWQ7CisgICAgeG1sQ2hhciAqIGNvbnRlbnQ7IC8qIHRoZSBlbnRpdHkgdmFsdWUgKHdpdGhvdXQgcHJvY2Vzc2luZykuICovCisgICAgaW50IG5fY29udGVudDsKKworICAgIGZvciAobl9jdHggPSAwO25fY3R4IDwgZ2VuX25iX3ZvaWRfcHRyO25fY3R4KyspIHsKKyAgICBmb3IgKG5fbmFtZSA9IDA7bl9uYW1lIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fbmFtZSsrKSB7CisgICAgZm9yIChuX3R5cGUgPSAwO25fdHlwZSA8IGdlbl9uYl9pbnQ7bl90eXBlKyspIHsKKyAgICBmb3IgKG5fcHVibGljSWQgPSAwO25fcHVibGljSWQgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9wdWJsaWNJZCsrKSB7CisgICAgZm9yIChuX3N5c3RlbUlkID0gMDtuX3N5c3RlbUlkIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fc3lzdGVtSWQrKykgeworICAgIGZvciAobl9jb250ZW50ID0gMDtuX2NvbnRlbnQgPCBnZW5fbmJfeG1sQ2hhcl9wdHI7bl9jb250ZW50KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4ID0gZ2VuX3ZvaWRfcHRyKG5fY3R4LCAwKTsKKyAgICAgICAgbmFtZSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIDEpOworICAgICAgICB0eXBlID0gZ2VuX2ludChuX3R5cGUsIDIpOworICAgICAgICBwdWJsaWNJZCA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX3B1YmxpY0lkLCAzKTsKKyAgICAgICAgc3lzdGVtSWQgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9zeXN0ZW1JZCwgNCk7CisgICAgICAgIGNvbnRlbnQgPSBnZW5feG1sQ2hhcl9wdHIobl9jb250ZW50LCA1KTsKKworICAgICAgICB4bWxTQVgyRW50aXR5RGVjbChjdHgsIChjb25zdCB4bWxDaGFyICopbmFtZSwgdHlwZSwgKGNvbnN0IHhtbENoYXIgKilwdWJsaWNJZCwgKGNvbnN0IHhtbENoYXIgKilzeXN0ZW1JZCwgY29udGVudCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3ZvaWRfcHRyKG5fY3R4LCBjdHgsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUsIDEpOworICAgICAgICBkZXNfaW50KG5fdHlwZSwgdHlwZSwgMik7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX3B1YmxpY0lkLCAoY29uc3QgeG1sQ2hhciAqKXB1YmxpY0lkLCAzKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fc3lzdGVtSWQsIChjb25zdCB4bWxDaGFyICopc3lzdGVtSWQsIDQpOworICAgICAgICBkZXNfeG1sQ2hhcl9wdHIobl9jb250ZW50LCBjb250ZW50LCA1KTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFNBWDJFbnRpdHlEZWNsIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFtZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdHlwZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fcHVibGljSWQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3N5c3RlbUlkKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jb250ZW50KTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sU0FYMkV4dGVybmFsU3Vic2V0KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIHZvaWQgKiBjdHg7IC8qIHRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCkgKi8KKyAgICBpbnQgbl9jdHg7CisgICAgeG1sQ2hhciAqIG5hbWU7IC8qIHRoZSByb290IGVsZW1lbnQgbmFtZSAqLworICAgIGludCBuX25hbWU7CisgICAgeG1sQ2hhciAqIEV4dGVybmFsSUQ7IC8qIHRoZSBleHRlcm5hbCBJRCAqLworICAgIGludCBuX0V4dGVybmFsSUQ7CisgICAgeG1sQ2hhciAqIFN5c3RlbUlEOyAvKiB0aGUgU1lTVEVNIElEIChlLmcuIGZpbGVuYW1lIG9yIFVSTCkgKi8KKyAgICBpbnQgbl9TeXN0ZW1JRDsKKworICAgIGZvciAobl9jdHggPSAwO25fY3R4IDwgZ2VuX25iX3ZvaWRfcHRyO25fY3R4KyspIHsKKyAgICBmb3IgKG5fbmFtZSA9IDA7bl9uYW1lIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fbmFtZSsrKSB7CisgICAgZm9yIChuX0V4dGVybmFsSUQgPSAwO25fRXh0ZXJuYWxJRCA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX0V4dGVybmFsSUQrKykgeworICAgIGZvciAobl9TeXN0ZW1JRCA9IDA7bl9TeXN0ZW1JRCA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX1N5c3RlbUlEKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4ID0gZ2VuX3ZvaWRfcHRyKG5fY3R4LCAwKTsKKyAgICAgICAgbmFtZSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIDEpOworICAgICAgICBFeHRlcm5hbElEID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fRXh0ZXJuYWxJRCwgMik7CisgICAgICAgIFN5c3RlbUlEID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fU3lzdGVtSUQsIDMpOworCisgICAgICAgIHhtbFNBWDJFeHRlcm5hbFN1YnNldChjdHgsIChjb25zdCB4bWxDaGFyICopbmFtZSwgKGNvbnN0IHhtbENoYXIgKilFeHRlcm5hbElELCAoY29uc3QgeG1sQ2hhciAqKVN5c3RlbUlEKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfdm9pZF9wdHIobl9jdHgsIGN0eCwgMCk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIChjb25zdCB4bWxDaGFyICopbmFtZSwgMSk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX0V4dGVybmFsSUQsIChjb25zdCB4bWxDaGFyICopRXh0ZXJuYWxJRCwgMik7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX1N5c3RlbUlELCAoY29uc3QgeG1sQ2hhciAqKVN5c3RlbUlELCAzKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFNBWDJFeHRlcm5hbFN1YnNldCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHgpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25hbWUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX0V4dGVybmFsSUQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX1N5c3RlbUlEKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFNBWDJHZXRDb2x1bW5OdW1iZXIodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgdm9pZCAqIGN0eDsgLyogdGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KSAqLworICAgIGludCBuX2N0eDsKKworICAgIGZvciAobl9jdHggPSAwO25fY3R4IDwgZ2VuX25iX3ZvaWRfcHRyO25fY3R4KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4ID0gZ2VuX3ZvaWRfcHRyKG5fY3R4LCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sU0FYMkdldENvbHVtbk51bWJlcihjdHgpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc192b2lkX3B0cihuX2N0eCwgY3R4LCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFNBWDJHZXRDb2x1bW5OdW1iZXIiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4KTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFNBWDJHZXRFbnRpdHkodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sRW50aXR5UHRyIHJldF92YWw7CisgICAgdm9pZCAqIGN0eDsgLyogdGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KSAqLworICAgIGludCBuX2N0eDsKKyAgICB4bWxDaGFyICogbmFtZTsgLyogVGhlIGVudGl0eSBuYW1lICovCisgICAgaW50IG5fbmFtZTsKKworICAgIGZvciAobl9jdHggPSAwO25fY3R4IDwgZ2VuX25iX3ZvaWRfcHRyO25fY3R4KyspIHsKKyAgICBmb3IgKG5fbmFtZSA9IDA7bl9uYW1lIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fbmFtZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eCA9IGdlbl92b2lkX3B0cihuX2N0eCwgMCk7CisgICAgICAgIG5hbWUgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sU0FYMkdldEVudGl0eShjdHgsIChjb25zdCB4bWxDaGFyICopbmFtZSk7CisgICAgICAgIGRlc3JldF94bWxFbnRpdHlQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3ZvaWRfcHRyKG5fY3R4LCBjdHgsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sU0FYMkdldEVudGl0eSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHgpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25hbWUpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFNBWDJHZXRMaW5lTnVtYmVyKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHZvaWQgKiBjdHg7IC8qIHRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCkgKi8KKyAgICBpbnQgbl9jdHg7CisKKyAgICBmb3IgKG5fY3R4ID0gMDtuX2N0eCA8IGdlbl9uYl92b2lkX3B0cjtuX2N0eCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eCA9IGdlbl92b2lkX3B0cihuX2N0eCwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFNBWDJHZXRMaW5lTnVtYmVyKGN0eCk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3ZvaWRfcHRyKG5fY3R4LCBjdHgsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sU0FYMkdldExpbmVOdW1iZXIiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4KTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFNBWDJHZXRQYXJhbWV0ZXJFbnRpdHkodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sRW50aXR5UHRyIHJldF92YWw7CisgICAgdm9pZCAqIGN0eDsgLyogdGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KSAqLworICAgIGludCBuX2N0eDsKKyAgICB4bWxDaGFyICogbmFtZTsgLyogVGhlIGVudGl0eSBuYW1lICovCisgICAgaW50IG5fbmFtZTsKKworICAgIGZvciAobl9jdHggPSAwO25fY3R4IDwgZ2VuX25iX3ZvaWRfcHRyO25fY3R4KyspIHsKKyAgICBmb3IgKG5fbmFtZSA9IDA7bl9uYW1lIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fbmFtZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eCA9IGdlbl92b2lkX3B0cihuX2N0eCwgMCk7CisgICAgICAgIG5hbWUgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sU0FYMkdldFBhcmFtZXRlckVudGl0eShjdHgsIChjb25zdCB4bWxDaGFyICopbmFtZSk7CisgICAgICAgIGRlc3JldF94bWxFbnRpdHlQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3ZvaWRfcHRyKG5fY3R4LCBjdHgsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sU0FYMkdldFBhcmFtZXRlckVudGl0eSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHgpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25hbWUpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFNBWDJHZXRQdWJsaWNJZCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICBjb25zdCB4bWxDaGFyICogcmV0X3ZhbDsKKyAgICB2b2lkICogY3R4OyAvKiB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpICovCisgICAgaW50IG5fY3R4OworCisgICAgZm9yIChuX2N0eCA9IDA7bl9jdHggPCBnZW5fbmJfdm9pZF9wdHI7bl9jdHgrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHggPSBnZW5fdm9pZF9wdHIobl9jdHgsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxTQVgyR2V0UHVibGljSWQoY3R4KTsKKyAgICAgICAgZGVzcmV0X2NvbnN0X3htbENoYXJfcHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc192b2lkX3B0cihuX2N0eCwgY3R4LCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFNBWDJHZXRQdWJsaWNJZCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHgpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sU0FYMkdldFN5c3RlbUlkKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIGNvbnN0IHhtbENoYXIgKiByZXRfdmFsOworICAgIHZvaWQgKiBjdHg7IC8qIHRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCkgKi8KKyAgICBpbnQgbl9jdHg7CisKKyAgICBmb3IgKG5fY3R4ID0gMDtuX2N0eCA8IGdlbl9uYl92b2lkX3B0cjtuX2N0eCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eCA9IGdlbl92b2lkX3B0cihuX2N0eCwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFNBWDJHZXRTeXN0ZW1JZChjdHgpOworICAgICAgICBkZXNyZXRfY29uc3RfeG1sQ2hhcl9wdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3ZvaWRfcHRyKG5fY3R4LCBjdHgsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sU0FYMkdldFN5c3RlbUlkIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxTQVgySGFzRXh0ZXJuYWxTdWJzZXQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgdm9pZCAqIGN0eDsgLyogdGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KSAqLworICAgIGludCBuX2N0eDsKKworICAgIGZvciAobl9jdHggPSAwO25fY3R4IDwgZ2VuX25iX3ZvaWRfcHRyO25fY3R4KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4ID0gZ2VuX3ZvaWRfcHRyKG5fY3R4LCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sU0FYMkhhc0V4dGVybmFsU3Vic2V0KGN0eCk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3ZvaWRfcHRyKG5fY3R4LCBjdHgsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sU0FYMkhhc0V4dGVybmFsU3Vic2V0IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxTQVgySGFzSW50ZXJuYWxTdWJzZXQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgdm9pZCAqIGN0eDsgLyogdGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KSAqLworICAgIGludCBuX2N0eDsKKworICAgIGZvciAobl9jdHggPSAwO25fY3R4IDwgZ2VuX25iX3ZvaWRfcHRyO25fY3R4KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4ID0gZ2VuX3ZvaWRfcHRyKG5fY3R4LCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sU0FYMkhhc0ludGVybmFsU3Vic2V0KGN0eCk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3ZvaWRfcHRyKG5fY3R4LCBjdHgsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sU0FYMkhhc0ludGVybmFsU3Vic2V0IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxTQVgySWdub3JhYmxlV2hpdGVzcGFjZSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB2b2lkICogY3R4OyAvKiB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpICovCisgICAgaW50IG5fY3R4OworICAgIHhtbENoYXIgKiBjaDsgLyogYSB4bWxDaGFyIHN0cmluZyAqLworICAgIGludCBuX2NoOworICAgIGludCBsZW47IC8qIHRoZSBudW1iZXIgb2YgeG1sQ2hhciAqLworICAgIGludCBuX2xlbjsKKworICAgIGZvciAobl9jdHggPSAwO25fY3R4IDwgZ2VuX25iX3ZvaWRfcHRyO25fY3R4KyspIHsKKyAgICBmb3IgKG5fY2ggPSAwO25fY2ggPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9jaCsrKSB7CisgICAgZm9yIChuX2xlbiA9IDA7bl9sZW4gPCBnZW5fbmJfaW50O25fbGVuKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4ID0gZ2VuX3ZvaWRfcHRyKG5fY3R4LCAwKTsKKyAgICAgICAgY2ggPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9jaCwgMSk7CisgICAgICAgIGxlbiA9IGdlbl9pbnQobl9sZW4sIDIpOworCisgICAgICAgIHhtbFNBWDJJZ25vcmFibGVXaGl0ZXNwYWNlKGN0eCwgKGNvbnN0IHhtbENoYXIgKiljaCwgbGVuKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfdm9pZF9wdHIobl9jdHgsIGN0eCwgMCk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX2NoLCAoY29uc3QgeG1sQ2hhciAqKWNoLCAxKTsKKyAgICAgICAgZGVzX2ludChuX2xlbiwgbGVuLCAyKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFNBWDJJZ25vcmFibGVXaGl0ZXNwYWNlIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY2gpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2xlbik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCisjZGVmaW5lIGdlbl9uYl94bWxTQVhIYW5kbGVyX3B0ciAxCitzdGF0aWMgeG1sU0FYSGFuZGxlciAqIGdlbl94bWxTQVhIYW5kbGVyX3B0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICByZXR1cm4oTlVMTCk7Cit9CitzdGF0aWMgdm9pZCBkZXNfeG1sU0FYSGFuZGxlcl9wdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIHhtbFNBWEhhbmRsZXIgKiB2YWwgQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKK30KKworc3RhdGljIGludAordGVzdF94bWxTQVgySW5pdERlZmF1bHRTQVhIYW5kbGVyKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbFNBWEhhbmRsZXIgKiBoZGxyOyAvKiB0aGUgU0FYIGhhbmRsZXIgKi8KKyAgICBpbnQgbl9oZGxyOworICAgIGludCB3YXJuaW5nOyAvKiBmbGFnIGlmIG5vbi16ZXJvIHNldHMgdGhlIGhhbmRsZXIgd2FybmluZyBwcm9jZWR1cmUgKi8KKyAgICBpbnQgbl93YXJuaW5nOworCisgICAgZm9yIChuX2hkbHIgPSAwO25faGRsciA8IGdlbl9uYl94bWxTQVhIYW5kbGVyX3B0cjtuX2hkbHIrKykgeworICAgIGZvciAobl93YXJuaW5nID0gMDtuX3dhcm5pbmcgPCBnZW5fbmJfaW50O25fd2FybmluZysrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGhkbHIgPSBnZW5feG1sU0FYSGFuZGxlcl9wdHIobl9oZGxyLCAwKTsKKyAgICAgICAgd2FybmluZyA9IGdlbl9pbnQobl93YXJuaW5nLCAxKTsKKworICAgICAgICB4bWxTQVgySW5pdERlZmF1bHRTQVhIYW5kbGVyKGhkbHIsIHdhcm5pbmcpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxTQVhIYW5kbGVyX3B0cihuX2hkbHIsIGhkbHIsIDApOworICAgICAgICBkZXNfaW50KG5fd2FybmluZywgd2FybmluZywgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxTQVgySW5pdERlZmF1bHRTQVhIYW5kbGVyIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2hkbHIpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3dhcm5pbmcpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFNBWDJJbml0RG9jYkRlZmF1bHRTQVhIYW5kbGVyKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfRE9DQl9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxTQVhIYW5kbGVyICogaGRscjsgLyogdGhlIFNBWCBoYW5kbGVyICovCisgICAgaW50IG5faGRscjsKKworICAgIGZvciAobl9oZGxyID0gMDtuX2hkbHIgPCBnZW5fbmJfeG1sU0FYSGFuZGxlcl9wdHI7bl9oZGxyKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgaGRsciA9IGdlbl94bWxTQVhIYW5kbGVyX3B0cihuX2hkbHIsIDApOworCisgICAgICAgIHhtbFNBWDJJbml0RG9jYkRlZmF1bHRTQVhIYW5kbGVyKGhkbHIpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxTQVhIYW5kbGVyX3B0cihuX2hkbHIsIGhkbHIsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sU0FYMkluaXREb2NiRGVmYXVsdFNBWEhhbmRsZXIiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5faGRscik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFNBWDJJbml0SHRtbERlZmF1bHRTQVhIYW5kbGVyKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxTQVhIYW5kbGVyICogaGRscjsgLyogdGhlIFNBWCBoYW5kbGVyICovCisgICAgaW50IG5faGRscjsKKworICAgIGZvciAobl9oZGxyID0gMDtuX2hkbHIgPCBnZW5fbmJfeG1sU0FYSGFuZGxlcl9wdHI7bl9oZGxyKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgaGRsciA9IGdlbl94bWxTQVhIYW5kbGVyX3B0cihuX2hkbHIsIDApOworCisgICAgICAgIHhtbFNBWDJJbml0SHRtbERlZmF1bHRTQVhIYW5kbGVyKGhkbHIpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxTQVhIYW5kbGVyX3B0cihuX2hkbHIsIGhkbHIsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sU0FYMkluaXRIdG1sRGVmYXVsdFNBWEhhbmRsZXIiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5faGRscik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFNBWDJJbnRlcm5hbFN1YnNldCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB2b2lkICogY3R4OyAvKiB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpICovCisgICAgaW50IG5fY3R4OworICAgIHhtbENoYXIgKiBuYW1lOyAvKiB0aGUgcm9vdCBlbGVtZW50IG5hbWUgKi8KKyAgICBpbnQgbl9uYW1lOworICAgIHhtbENoYXIgKiBFeHRlcm5hbElEOyAvKiB0aGUgZXh0ZXJuYWwgSUQgKi8KKyAgICBpbnQgbl9FeHRlcm5hbElEOworICAgIHhtbENoYXIgKiBTeXN0ZW1JRDsgLyogdGhlIFNZU1RFTSBJRCAoZS5nLiBmaWxlbmFtZSBvciBVUkwpICovCisgICAgaW50IG5fU3lzdGVtSUQ7CisKKyAgICBmb3IgKG5fY3R4ID0gMDtuX2N0eCA8IGdlbl9uYl92b2lkX3B0cjtuX2N0eCsrKSB7CisgICAgZm9yIChuX25hbWUgPSAwO25fbmFtZSA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX25hbWUrKykgeworICAgIGZvciAobl9FeHRlcm5hbElEID0gMDtuX0V4dGVybmFsSUQgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9FeHRlcm5hbElEKyspIHsKKyAgICBmb3IgKG5fU3lzdGVtSUQgPSAwO25fU3lzdGVtSUQgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9TeXN0ZW1JRCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eCA9IGdlbl92b2lkX3B0cihuX2N0eCwgMCk7CisgICAgICAgIG5hbWUgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAxKTsKKyAgICAgICAgRXh0ZXJuYWxJRCA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX0V4dGVybmFsSUQsIDIpOworICAgICAgICBTeXN0ZW1JRCA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX1N5c3RlbUlELCAzKTsKKworICAgICAgICB4bWxTQVgySW50ZXJuYWxTdWJzZXQoY3R4LCAoY29uc3QgeG1sQ2hhciAqKW5hbWUsIChjb25zdCB4bWxDaGFyICopRXh0ZXJuYWxJRCwgKGNvbnN0IHhtbENoYXIgKilTeXN0ZW1JRCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3ZvaWRfcHRyKG5fY3R4LCBjdHgsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUsIDEpOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9FeHRlcm5hbElELCAoY29uc3QgeG1sQ2hhciAqKUV4dGVybmFsSUQsIDIpOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9TeXN0ZW1JRCwgKGNvbnN0IHhtbENoYXIgKilTeXN0ZW1JRCwgMyk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxTQVgySW50ZXJuYWxTdWJzZXQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9uYW1lKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9FeHRlcm5hbElEKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9TeXN0ZW1JRCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxTQVgySXNTdGFuZGFsb25lKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHZvaWQgKiBjdHg7IC8qIHRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCkgKi8KKyAgICBpbnQgbl9jdHg7CisKKyAgICBmb3IgKG5fY3R4ID0gMDtuX2N0eCA8IGdlbl9uYl92b2lkX3B0cjtuX2N0eCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eCA9IGdlbl92b2lkX3B0cihuX2N0eCwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFNBWDJJc1N0YW5kYWxvbmUoY3R4KTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfdm9pZF9wdHIobl9jdHgsIGN0eCwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxTQVgySXNTdGFuZGFsb25lIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxTQVgyTm90YXRpb25EZWNsKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIHZvaWQgKiBjdHg7IC8qIHRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCkgKi8KKyAgICBpbnQgbl9jdHg7CisgICAgeG1sQ2hhciAqIG5hbWU7IC8qIFRoZSBuYW1lIG9mIHRoZSBub3RhdGlvbiAqLworICAgIGludCBuX25hbWU7CisgICAgeG1sQ2hhciAqIHB1YmxpY0lkOyAvKiBUaGUgcHVibGljIElEIG9mIHRoZSBlbnRpdHkgKi8KKyAgICBpbnQgbl9wdWJsaWNJZDsKKyAgICB4bWxDaGFyICogc3lzdGVtSWQ7IC8qIFRoZSBzeXN0ZW0gSUQgb2YgdGhlIGVudGl0eSAqLworICAgIGludCBuX3N5c3RlbUlkOworCisgICAgZm9yIChuX2N0eCA9IDA7bl9jdHggPCBnZW5fbmJfdm9pZF9wdHI7bl9jdHgrKykgeworICAgIGZvciAobl9uYW1lID0gMDtuX25hbWUgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9uYW1lKyspIHsKKyAgICBmb3IgKG5fcHVibGljSWQgPSAwO25fcHVibGljSWQgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9wdWJsaWNJZCsrKSB7CisgICAgZm9yIChuX3N5c3RlbUlkID0gMDtuX3N5c3RlbUlkIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fc3lzdGVtSWQrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHggPSBnZW5fdm9pZF9wdHIobl9jdHgsIDApOworICAgICAgICBuYW1lID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgMSk7CisgICAgICAgIHB1YmxpY0lkID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fcHVibGljSWQsIDIpOworICAgICAgICBzeXN0ZW1JZCA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX3N5c3RlbUlkLCAzKTsKKworICAgICAgICB4bWxTQVgyTm90YXRpb25EZWNsKGN0eCwgKGNvbnN0IHhtbENoYXIgKiluYW1lLCAoY29uc3QgeG1sQ2hhciAqKXB1YmxpY0lkLCAoY29uc3QgeG1sQ2hhciAqKXN5c3RlbUlkKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfdm9pZF9wdHIobl9jdHgsIGN0eCwgMCk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIChjb25zdCB4bWxDaGFyICopbmFtZSwgMSk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX3B1YmxpY0lkLCAoY29uc3QgeG1sQ2hhciAqKXB1YmxpY0lkLCAyKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fc3lzdGVtSWQsIChjb25zdCB4bWxDaGFyICopc3lzdGVtSWQsIDMpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sU0FYMk5vdGF0aW9uRGVjbCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHgpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25hbWUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3B1YmxpY0lkKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9zeXN0ZW1JZCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxTQVgyUHJvY2Vzc2luZ0luc3RydWN0aW9uKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIHZvaWQgKiBjdHg7IC8qIHRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCkgKi8KKyAgICBpbnQgbl9jdHg7CisgICAgeG1sQ2hhciAqIHRhcmdldDsgLyogdGhlIHRhcmdldCBuYW1lICovCisgICAgaW50IG5fdGFyZ2V0OworICAgIHhtbENoYXIgKiBkYXRhOyAvKiB0aGUgUEkgZGF0YSdzICovCisgICAgaW50IG5fZGF0YTsKKworICAgIGZvciAobl9jdHggPSAwO25fY3R4IDwgZ2VuX25iX3ZvaWRfcHRyO25fY3R4KyspIHsKKyAgICBmb3IgKG5fdGFyZ2V0ID0gMDtuX3RhcmdldCA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX3RhcmdldCsrKSB7CisgICAgZm9yIChuX2RhdGEgPSAwO25fZGF0YSA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX2RhdGErKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHggPSBnZW5fdm9pZF9wdHIobl9jdHgsIDApOworICAgICAgICB0YXJnZXQgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl90YXJnZXQsIDEpOworICAgICAgICBkYXRhID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fZGF0YSwgMik7CisKKyAgICAgICAgeG1sU0FYMlByb2Nlc3NpbmdJbnN0cnVjdGlvbihjdHgsIChjb25zdCB4bWxDaGFyICopdGFyZ2V0LCAoY29uc3QgeG1sQ2hhciAqKWRhdGEpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc192b2lkX3B0cihuX2N0eCwgY3R4LCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fdGFyZ2V0LCAoY29uc3QgeG1sQ2hhciAqKXRhcmdldCwgMSk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX2RhdGEsIChjb25zdCB4bWxDaGFyICopZGF0YSwgMik7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxTQVgyUHJvY2Vzc2luZ0luc3RydWN0aW9uIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdGFyZ2V0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9kYXRhKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sU0FYMlJlZmVyZW5jZSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB2b2lkICogY3R4OyAvKiB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpICovCisgICAgaW50IG5fY3R4OworICAgIHhtbENoYXIgKiBuYW1lOyAvKiBUaGUgZW50aXR5IG5hbWUgKi8KKyAgICBpbnQgbl9uYW1lOworCisgICAgZm9yIChuX2N0eCA9IDA7bl9jdHggPCBnZW5fbmJfdm9pZF9wdHI7bl9jdHgrKykgeworICAgIGZvciAobl9uYW1lID0gMDtuX25hbWUgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9uYW1lKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4ID0gZ2VuX3ZvaWRfcHRyKG5fY3R4LCAwKTsKKyAgICAgICAgbmFtZSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIDEpOworCisgICAgICAgIHhtbFNBWDJSZWZlcmVuY2UoY3R4LCAoY29uc3QgeG1sQ2hhciAqKW5hbWUpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc192b2lkX3B0cihuX2N0eCwgY3R4LCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgKGNvbnN0IHhtbENoYXIgKiluYW1lLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFNBWDJSZWZlcmVuY2UiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9uYW1lKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxTQVgyUmVzb2x2ZUVudGl0eSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxQYXJzZXJJbnB1dFB0ciByZXRfdmFsOworICAgIHZvaWQgKiBjdHg7IC8qIHRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCkgKi8KKyAgICBpbnQgbl9jdHg7CisgICAgeG1sQ2hhciAqIHB1YmxpY0lkOyAvKiBUaGUgcHVibGljIElEIG9mIHRoZSBlbnRpdHkgKi8KKyAgICBpbnQgbl9wdWJsaWNJZDsKKyAgICB4bWxDaGFyICogc3lzdGVtSWQ7IC8qIFRoZSBzeXN0ZW0gSUQgb2YgdGhlIGVudGl0eSAqLworICAgIGludCBuX3N5c3RlbUlkOworCisgICAgZm9yIChuX2N0eCA9IDA7bl9jdHggPCBnZW5fbmJfdm9pZF9wdHI7bl9jdHgrKykgeworICAgIGZvciAobl9wdWJsaWNJZCA9IDA7bl9wdWJsaWNJZCA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX3B1YmxpY0lkKyspIHsKKyAgICBmb3IgKG5fc3lzdGVtSWQgPSAwO25fc3lzdGVtSWQgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9zeXN0ZW1JZCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eCA9IGdlbl92b2lkX3B0cihuX2N0eCwgMCk7CisgICAgICAgIHB1YmxpY0lkID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fcHVibGljSWQsIDEpOworICAgICAgICBzeXN0ZW1JZCA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX3N5c3RlbUlkLCAyKTsKKworICAgICAgICByZXRfdmFsID0geG1sU0FYMlJlc29sdmVFbnRpdHkoY3R4LCAoY29uc3QgeG1sQ2hhciAqKXB1YmxpY0lkLCAoY29uc3QgeG1sQ2hhciAqKXN5c3RlbUlkKTsKKyAgICAgICAgZGVzcmV0X3htbFBhcnNlcklucHV0UHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc192b2lkX3B0cihuX2N0eCwgY3R4LCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fcHVibGljSWQsIChjb25zdCB4bWxDaGFyICopcHVibGljSWQsIDEpOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9zeXN0ZW1JZCwgKGNvbnN0IHhtbENoYXIgKilzeXN0ZW1JZCwgMik7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxTQVgyUmVzb2x2ZUVudGl0eSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHgpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3B1YmxpY0lkKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9zeXN0ZW1JZCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCisjZGVmaW5lIGdlbl9uYl94bWxTQVhMb2NhdG9yUHRyIDEKK3N0YXRpYyB4bWxTQVhMb2NhdG9yUHRyIGdlbl94bWxTQVhMb2NhdG9yUHRyKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworICAgIHJldHVybihOVUxMKTsKK30KK3N0YXRpYyB2b2lkIGRlc194bWxTQVhMb2NhdG9yUHRyKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCB4bWxTQVhMb2NhdG9yUHRyIHZhbCBBVFRSSUJVVEVfVU5VU0VELCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworfQorCitzdGF0aWMgaW50Cit0ZXN0X3htbFNBWDJTZXREb2N1bWVudExvY2F0b3Iodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgdm9pZCAqIGN0eDsgLyogdGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KSAqLworICAgIGludCBuX2N0eDsKKyAgICB4bWxTQVhMb2NhdG9yUHRyIGxvYzsgLyogQSBTQVggTG9jYXRvciAqLworICAgIGludCBuX2xvYzsKKworICAgIGZvciAobl9jdHggPSAwO25fY3R4IDwgZ2VuX25iX3ZvaWRfcHRyO25fY3R4KyspIHsKKyAgICBmb3IgKG5fbG9jID0gMDtuX2xvYyA8IGdlbl9uYl94bWxTQVhMb2NhdG9yUHRyO25fbG9jKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4ID0gZ2VuX3ZvaWRfcHRyKG5fY3R4LCAwKTsKKyAgICAgICAgbG9jID0gZ2VuX3htbFNBWExvY2F0b3JQdHIobl9sb2MsIDEpOworCisgICAgICAgIHhtbFNBWDJTZXREb2N1bWVudExvY2F0b3IoY3R4LCBsb2MpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc192b2lkX3B0cihuX2N0eCwgY3R4LCAwKTsKKyAgICAgICAgZGVzX3htbFNBWExvY2F0b3JQdHIobl9sb2MsIGxvYywgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxTQVgyU2V0RG9jdW1lbnRMb2NhdG9yIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbG9jKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxTQVgyU3RhcnREb2N1bWVudCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB2b2lkICogY3R4OyAvKiB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpICovCisgICAgaW50IG5fY3R4OworCisgICAgZm9yIChuX2N0eCA9IDA7bl9jdHggPCBnZW5fbmJfdm9pZF9wdHI7bl9jdHgrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHggPSBnZW5fdm9pZF9wdHIobl9jdHgsIDApOworCisgICAgICAgIHhtbFNBWDJTdGFydERvY3VtZW50KGN0eCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3ZvaWRfcHRyKG5fY3R4LCBjdHgsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sU0FYMlN0YXJ0RG9jdW1lbnQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4KTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFNBWDJTdGFydEVsZW1lbnQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9TQVgxX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX0hUTUxfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX0RPQ0JfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfTEVHQUNZX0VOQUJMRUQpCisjaWZkZWYgTElCWE1MX1NBWDFfRU5BQkxFRAorICAgIGludCBtZW1fYmFzZTsKKyAgICB2b2lkICogY3R4OyAvKiB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpICovCisgICAgaW50IG5fY3R4OworICAgIHhtbENoYXIgKiBmdWxsbmFtZTsgLyogVGhlIGVsZW1lbnQgbmFtZSwgaW5jbHVkaW5nIG5hbWVzcGFjZSBwcmVmaXggKi8KKyAgICBpbnQgbl9mdWxsbmFtZTsKKyAgICB4bWxDaGFyICoqIGF0dHM7IC8qIEFuIGFycmF5IG9mIG5hbWUvdmFsdWUgYXR0cmlidXRlcyBwYWlycywgTlVMTCB0ZXJtaW5hdGVkICovCisgICAgaW50IG5fYXR0czsKKworICAgIGZvciAobl9jdHggPSAwO25fY3R4IDwgZ2VuX25iX3ZvaWRfcHRyO25fY3R4KyspIHsKKyAgICBmb3IgKG5fZnVsbG5hbWUgPSAwO25fZnVsbG5hbWUgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9mdWxsbmFtZSsrKSB7CisgICAgZm9yIChuX2F0dHMgPSAwO25fYXR0cyA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cl9wdHI7bl9hdHRzKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4ID0gZ2VuX3ZvaWRfcHRyKG5fY3R4LCAwKTsKKyAgICAgICAgZnVsbG5hbWUgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9mdWxsbmFtZSwgMSk7CisgICAgICAgIGF0dHMgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHJfcHRyKG5fYXR0cywgMik7CisKKyAgICAgICAgeG1sU0FYMlN0YXJ0RWxlbWVudChjdHgsIChjb25zdCB4bWxDaGFyICopZnVsbG5hbWUsIChjb25zdCB4bWxDaGFyICoqKWF0dHMpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc192b2lkX3B0cihuX2N0eCwgY3R4LCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fZnVsbG5hbWUsIChjb25zdCB4bWxDaGFyICopZnVsbG5hbWUsIDEpOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHJfcHRyKG5fYXR0cywgKGNvbnN0IHhtbENoYXIgKiopYXR0cywgMik7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxTQVgyU3RhcnRFbGVtZW50IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZnVsbG5hbWUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2F0dHMpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sU0FYMlN0YXJ0RWxlbWVudE5zKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIHZvaWQgKiBjdHg7IC8qIHRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCkgKi8KKyAgICBpbnQgbl9jdHg7CisgICAgeG1sQ2hhciAqIGxvY2FsbmFtZTsgLyogdGhlIGxvY2FsIG5hbWUgb2YgdGhlIGVsZW1lbnQgKi8KKyAgICBpbnQgbl9sb2NhbG5hbWU7CisgICAgeG1sQ2hhciAqIHByZWZpeDsgLyogdGhlIGVsZW1lbnQgbmFtZXNwYWNlIHByZWZpeCBpZiBhdmFpbGFibGUgKi8KKyAgICBpbnQgbl9wcmVmaXg7CisgICAgeG1sQ2hhciAqIFVSSTsgLyogdGhlIGVsZW1lbnQgbmFtZXNwYWNlIG5hbWUgaWYgYXZhaWxhYmxlICovCisgICAgaW50IG5fVVJJOworICAgIGludCBuYl9uYW1lc3BhY2VzOyAvKiBudW1iZXIgb2YgbmFtZXNwYWNlIGRlZmluaXRpb25zIG9uIHRoYXQgbm9kZSAqLworICAgIGludCBuX25iX25hbWVzcGFjZXM7CisgICAgeG1sQ2hhciAqKiBuYW1lc3BhY2VzOyAvKiBwb2ludGVyIHRvIHRoZSBhcnJheSBvZiBwcmVmaXgvVVJJIHBhaXJzIG5hbWVzcGFjZSBkZWZpbml0aW9ucyAqLworICAgIGludCBuX25hbWVzcGFjZXM7CisgICAgaW50IG5iX2F0dHJpYnV0ZXM7IC8qIHRoZSBudW1iZXIgb2YgYXR0cmlidXRlcyBvbiB0aGF0IG5vZGUgKi8KKyAgICBpbnQgbl9uYl9hdHRyaWJ1dGVzOworICAgIGludCBuYl9kZWZhdWx0ZWQ7IC8qIHRoZSBudW1iZXIgb2YgZGVmYXVsdGVkIGF0dHJpYnV0ZXMuICovCisgICAgaW50IG5fbmJfZGVmYXVsdGVkOworICAgIHhtbENoYXIgKiogYXR0cmlidXRlczsgLyogcG9pbnRlciB0byB0aGUgYXJyYXkgb2YgKGxvY2FsbmFtZS9wcmVmaXgvVVJJL3ZhbHVlL2VuZCkgYXR0cmlidXRlIHZhbHVlcy4gKi8KKyAgICBpbnQgbl9hdHRyaWJ1dGVzOworCisgICAgZm9yIChuX2N0eCA9IDA7bl9jdHggPCBnZW5fbmJfdm9pZF9wdHI7bl9jdHgrKykgeworICAgIGZvciAobl9sb2NhbG5hbWUgPSAwO25fbG9jYWxuYW1lIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fbG9jYWxuYW1lKyspIHsKKyAgICBmb3IgKG5fcHJlZml4ID0gMDtuX3ByZWZpeCA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX3ByZWZpeCsrKSB7CisgICAgZm9yIChuX1VSSSA9IDA7bl9VUkkgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9VUkkrKykgeworICAgIGZvciAobl9uYl9uYW1lc3BhY2VzID0gMDtuX25iX25hbWVzcGFjZXMgPCBnZW5fbmJfaW50O25fbmJfbmFtZXNwYWNlcysrKSB7CisgICAgZm9yIChuX25hbWVzcGFjZXMgPSAwO25fbmFtZXNwYWNlcyA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cl9wdHI7bl9uYW1lc3BhY2VzKyspIHsKKyAgICBmb3IgKG5fbmJfYXR0cmlidXRlcyA9IDA7bl9uYl9hdHRyaWJ1dGVzIDwgZ2VuX25iX2ludDtuX25iX2F0dHJpYnV0ZXMrKykgeworICAgIGZvciAobl9uYl9kZWZhdWx0ZWQgPSAwO25fbmJfZGVmYXVsdGVkIDwgZ2VuX25iX2ludDtuX25iX2RlZmF1bHRlZCsrKSB7CisgICAgZm9yIChuX2F0dHJpYnV0ZXMgPSAwO25fYXR0cmlidXRlcyA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cl9wdHI7bl9hdHRyaWJ1dGVzKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4ID0gZ2VuX3ZvaWRfcHRyKG5fY3R4LCAwKTsKKyAgICAgICAgbG9jYWxuYW1lID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fbG9jYWxuYW1lLCAxKTsKKyAgICAgICAgcHJlZml4ID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fcHJlZml4LCAyKTsKKyAgICAgICAgVVJJID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fVVJJLCAzKTsKKyAgICAgICAgbmJfbmFtZXNwYWNlcyA9IGdlbl9pbnQobl9uYl9uYW1lc3BhY2VzLCA0KTsKKyAgICAgICAgbmFtZXNwYWNlcyA9IGdlbl9jb25zdF94bWxDaGFyX3B0cl9wdHIobl9uYW1lc3BhY2VzLCA1KTsKKyAgICAgICAgbmJfYXR0cmlidXRlcyA9IGdlbl9pbnQobl9uYl9hdHRyaWJ1dGVzLCA2KTsKKyAgICAgICAgbmJfZGVmYXVsdGVkID0gZ2VuX2ludChuX25iX2RlZmF1bHRlZCwgNyk7CisgICAgICAgIGF0dHJpYnV0ZXMgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHJfcHRyKG5fYXR0cmlidXRlcywgOCk7CisKKyAgICAgICAgeG1sU0FYMlN0YXJ0RWxlbWVudE5zKGN0eCwgKGNvbnN0IHhtbENoYXIgKilsb2NhbG5hbWUsIChjb25zdCB4bWxDaGFyICopcHJlZml4LCAoY29uc3QgeG1sQ2hhciAqKVVSSSwgbmJfbmFtZXNwYWNlcywgKGNvbnN0IHhtbENoYXIgKiopbmFtZXNwYWNlcywgbmJfYXR0cmlidXRlcywgbmJfZGVmYXVsdGVkLCAoY29uc3QgeG1sQ2hhciAqKilhdHRyaWJ1dGVzKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfdm9pZF9wdHIobl9jdHgsIGN0eCwgMCk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX2xvY2FsbmFtZSwgKGNvbnN0IHhtbENoYXIgKilsb2NhbG5hbWUsIDEpOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9wcmVmaXgsIChjb25zdCB4bWxDaGFyICopcHJlZml4LCAyKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fVVJJLCAoY29uc3QgeG1sQ2hhciAqKVVSSSwgMyk7CisgICAgICAgIGRlc19pbnQobl9uYl9uYW1lc3BhY2VzLCBuYl9uYW1lc3BhY2VzLCA0KTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyX3B0cihuX25hbWVzcGFjZXMsIChjb25zdCB4bWxDaGFyICoqKW5hbWVzcGFjZXMsIDUpOworICAgICAgICBkZXNfaW50KG5fbmJfYXR0cmlidXRlcywgbmJfYXR0cmlidXRlcywgNik7CisgICAgICAgIGRlc19pbnQobl9uYl9kZWZhdWx0ZWQsIG5iX2RlZmF1bHRlZCwgNyk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cl9wdHIobl9hdHRyaWJ1dGVzLCAoY29uc3QgeG1sQ2hhciAqKilhdHRyaWJ1dGVzLCA4KTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFNBWDJTdGFydEVsZW1lbnROcyIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHgpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2xvY2FsbmFtZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fcHJlZml4KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9VUkkpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25iX25hbWVzcGFjZXMpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25hbWVzcGFjZXMpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25iX2F0dHJpYnV0ZXMpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25iX2RlZmF1bHRlZCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fYXR0cmlidXRlcyk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFNBWDJVbnBhcnNlZEVudGl0eURlY2wodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgdm9pZCAqIGN0eDsgLyogdGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KSAqLworICAgIGludCBuX2N0eDsKKyAgICB4bWxDaGFyICogbmFtZTsgLyogVGhlIG5hbWUgb2YgdGhlIGVudGl0eSAqLworICAgIGludCBuX25hbWU7CisgICAgeG1sQ2hhciAqIHB1YmxpY0lkOyAvKiBUaGUgcHVibGljIElEIG9mIHRoZSBlbnRpdHkgKi8KKyAgICBpbnQgbl9wdWJsaWNJZDsKKyAgICB4bWxDaGFyICogc3lzdGVtSWQ7IC8qIFRoZSBzeXN0ZW0gSUQgb2YgdGhlIGVudGl0eSAqLworICAgIGludCBuX3N5c3RlbUlkOworICAgIHhtbENoYXIgKiBub3RhdGlvbk5hbWU7IC8qIHRoZSBuYW1lIG9mIHRoZSBub3RhdGlvbiAqLworICAgIGludCBuX25vdGF0aW9uTmFtZTsKKworICAgIGZvciAobl9jdHggPSAwO25fY3R4IDwgZ2VuX25iX3ZvaWRfcHRyO25fY3R4KyspIHsKKyAgICBmb3IgKG5fbmFtZSA9IDA7bl9uYW1lIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fbmFtZSsrKSB7CisgICAgZm9yIChuX3B1YmxpY0lkID0gMDtuX3B1YmxpY0lkIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fcHVibGljSWQrKykgeworICAgIGZvciAobl9zeXN0ZW1JZCA9IDA7bl9zeXN0ZW1JZCA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX3N5c3RlbUlkKyspIHsKKyAgICBmb3IgKG5fbm90YXRpb25OYW1lID0gMDtuX25vdGF0aW9uTmFtZSA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX25vdGF0aW9uTmFtZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eCA9IGdlbl92b2lkX3B0cihuX2N0eCwgMCk7CisgICAgICAgIG5hbWUgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAxKTsKKyAgICAgICAgcHVibGljSWQgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9wdWJsaWNJZCwgMik7CisgICAgICAgIHN5c3RlbUlkID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fc3lzdGVtSWQsIDMpOworICAgICAgICBub3RhdGlvbk5hbWUgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9ub3RhdGlvbk5hbWUsIDQpOworCisgICAgICAgIHhtbFNBWDJVbnBhcnNlZEVudGl0eURlY2woY3R4LCAoY29uc3QgeG1sQ2hhciAqKW5hbWUsIChjb25zdCB4bWxDaGFyICopcHVibGljSWQsIChjb25zdCB4bWxDaGFyICopc3lzdGVtSWQsIChjb25zdCB4bWxDaGFyICopbm90YXRpb25OYW1lKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfdm9pZF9wdHIobl9jdHgsIGN0eCwgMCk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIChjb25zdCB4bWxDaGFyICopbmFtZSwgMSk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX3B1YmxpY0lkLCAoY29uc3QgeG1sQ2hhciAqKXB1YmxpY0lkLCAyKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fc3lzdGVtSWQsIChjb25zdCB4bWxDaGFyICopc3lzdGVtSWQsIDMpOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9ub3RhdGlvbk5hbWUsIChjb25zdCB4bWxDaGFyICopbm90YXRpb25OYW1lLCA0KTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFNBWDJVbnBhcnNlZEVudGl0eURlY2wiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9uYW1lKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9wdWJsaWNJZCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fc3lzdGVtSWQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25vdGF0aW9uTmFtZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sU0FYRGVmYXVsdFZlcnNpb24odm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9TQVgxX0VOQUJMRUQpCisjaWZkZWYgTElCWE1MX1NBWDFfRU5BQkxFRAorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICBpbnQgdmVyc2lvbjsgLyogdGhlIHZlcnNpb24sIDEgb3IgMiAqLworICAgIGludCBuX3ZlcnNpb247CisKKyAgICBmb3IgKG5fdmVyc2lvbiA9IDA7bl92ZXJzaW9uIDwgZ2VuX25iX2ludDtuX3ZlcnNpb24rKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICB2ZXJzaW9uID0gZ2VuX2ludChuX3ZlcnNpb24sIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxTQVhEZWZhdWx0VmVyc2lvbih2ZXJzaW9uKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfaW50KG5fdmVyc2lvbiwgdmVyc2lvbiwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxTQVhEZWZhdWx0VmVyc2lvbiIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl92ZXJzaW9uKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxTQVhWZXJzaW9uKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbFNBWEhhbmRsZXIgKiBoZGxyOyAvKiB0aGUgU0FYIGhhbmRsZXIgKi8KKyAgICBpbnQgbl9oZGxyOworICAgIGludCB2ZXJzaW9uOyAvKiB0aGUgdmVyc2lvbiwgMSBvciAyICovCisgICAgaW50IG5fdmVyc2lvbjsKKworICAgIGZvciAobl9oZGxyID0gMDtuX2hkbHIgPCBnZW5fbmJfeG1sU0FYSGFuZGxlcl9wdHI7bl9oZGxyKyspIHsKKyAgICBmb3IgKG5fdmVyc2lvbiA9IDA7bl92ZXJzaW9uIDwgZ2VuX25iX2ludDtuX3ZlcnNpb24rKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBoZGxyID0gZ2VuX3htbFNBWEhhbmRsZXJfcHRyKG5faGRsciwgMCk7CisgICAgICAgIHZlcnNpb24gPSBnZW5faW50KG5fdmVyc2lvbiwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFNBWFZlcnNpb24oaGRsciwgdmVyc2lvbik7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFNBWEhhbmRsZXJfcHRyKG5faGRsciwgaGRsciwgMCk7CisgICAgICAgIGRlc19pbnQobl92ZXJzaW9uLCB2ZXJzaW9uLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFNBWFZlcnNpb24iLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5faGRscik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdmVyc2lvbik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCitzdGF0aWMgaW50Cit0ZXN0X1NBWDIodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpZiAocXVpZXQgPT0gMCkgcHJpbnRmKCJUZXN0aW5nIFNBWDIgOiAzOCBvZiAzOCBmdW5jdGlvbnMgLi4uXG4iKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X2RvY2JEZWZhdWx0U0FYSGFuZGxlckluaXQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X2h0bWxEZWZhdWx0U0FYSGFuZGxlckluaXQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbERlZmF1bHRTQVhIYW5kbGVySW5pdCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU0FYMkF0dHJpYnV0ZURlY2woKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFNBWDJDRGF0YUJsb2NrKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxTQVgyQ2hhcmFjdGVycygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU0FYMkNvbW1lbnQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFNBWDJFbGVtZW50RGVjbCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU0FYMkVuZERvY3VtZW50KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxTQVgyRW5kRWxlbWVudCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU0FYMkVuZEVsZW1lbnROcygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU0FYMkVudGl0eURlY2woKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFNBWDJFeHRlcm5hbFN1YnNldCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU0FYMkdldENvbHVtbk51bWJlcigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU0FYMkdldEVudGl0eSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU0FYMkdldExpbmVOdW1iZXIoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFNBWDJHZXRQYXJhbWV0ZXJFbnRpdHkoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFNBWDJHZXRQdWJsaWNJZCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU0FYMkdldFN5c3RlbUlkKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxTQVgySGFzRXh0ZXJuYWxTdWJzZXQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFNBWDJIYXNJbnRlcm5hbFN1YnNldCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU0FYMklnbm9yYWJsZVdoaXRlc3BhY2UoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFNBWDJJbml0RGVmYXVsdFNBWEhhbmRsZXIoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFNBWDJJbml0RG9jYkRlZmF1bHRTQVhIYW5kbGVyKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxTQVgySW5pdEh0bWxEZWZhdWx0U0FYSGFuZGxlcigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU0FYMkludGVybmFsU3Vic2V0KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxTQVgySXNTdGFuZGFsb25lKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxTQVgyTm90YXRpb25EZWNsKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxTQVgyUHJvY2Vzc2luZ0luc3RydWN0aW9uKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxTQVgyUmVmZXJlbmNlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxTQVgyUmVzb2x2ZUVudGl0eSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU0FYMlNldERvY3VtZW50TG9jYXRvcigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU0FYMlN0YXJ0RG9jdW1lbnQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFNBWDJTdGFydEVsZW1lbnQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFNBWDJTdGFydEVsZW1lbnROcygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU0FYMlVucGFyc2VkRW50aXR5RGVjbCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU0FYRGVmYXVsdFZlcnNpb24oKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFNBWFZlcnNpb24oKTsKKworICAgIGlmICh0ZXN0X3JldCAhPSAwKQorCXByaW50ZigiTW9kdWxlIFNBWDI6ICVkIGVycm9yc1xuIiwgdGVzdF9yZXQpOworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sQzE0TkRvY0R1bXBNZW1vcnkodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9DMTROX0VOQUJMRUQpICYmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxEb2NQdHIgZG9jOyAvKiB0aGUgWE1MIGRvY3VtZW50IGZvciBjYW5vbml6YXRpb24gKi8KKyAgICBpbnQgbl9kb2M7CisgICAgeG1sTm9kZVNldFB0ciBub2RlczsgLyogdGhlIG5vZGVzIHNldCB0byBiZSBpbmNsdWRlZCBpbiB0aGUgY2Fub25pemVkIGltYWdlIG9yIE5VTEwgaWYgYWxsIGRvY3VtZW50IG5vZGVzIHNob3VsZCBiZSBpbmNsdWRlZCAqLworICAgIGludCBuX25vZGVzOworICAgIGludCBtb2RlOyAvKiB0aGUgYzE0biBtb2RlIChzZWUgQHhtbEMxNE5Nb2RlKSAqLworICAgIGludCBuX21vZGU7CisgICAgeG1sQ2hhciAqKiBpbmNsdXNpdmVfbnNfcHJlZml4ZXM7IC8qIHRoZSBsaXN0IG9mIGluY2x1c2l2ZSBuYW1lc3BhY2UgcHJlZml4ZXMgZW5kZWQgd2l0aCBhIE5VTEwgb3IgTlVMTCBpZiB0aGVyZSBpcyBubyBpbmNsdXNpdmUgbmFtZXNwYWNlcyAob25seSBmb3IgZXhjbHVzaXZlIGNhbm9uaWNhbGl6YXRpb24sIGlnbm9yZWQgb3RoZXJ3aXNlKSAqLworICAgIGludCBuX2luY2x1c2l2ZV9uc19wcmVmaXhlczsKKyAgICBpbnQgd2l0aF9jb21tZW50czsgLyogaW5jbHVkZSBjb21tZW50cyBpbiB0aGUgcmVzdWx0ICghPTApIG9yIG5vdCAoPT0wKSAqLworICAgIGludCBuX3dpdGhfY29tbWVudHM7CisgICAgeG1sQ2hhciAqKiBkb2NfdHh0X3B0cjsgLyogdGhlIG1lbW9yeSBwb2ludGVyIGZvciBhbGxvY2F0ZWQgY2Fub25pY2FsIFhNTCB0ZXh0OyB0aGUgY2FsbGVyIG9mIHRoaXMgZnVuY3Rpb25zIGlzIHJlc3BvbnNpYmxlIGZvciBjYWxsaW5nIHhtbEZyZWUoKSB0byBmcmVlIGFsbG9jYXRlZCBtZW1vcnkgKi8KKyAgICBpbnQgbl9kb2NfdHh0X3B0cjsKKworICAgIGZvciAobl9kb2MgPSAwO25fZG9jIDwgZ2VuX25iX3htbERvY1B0cjtuX2RvYysrKSB7CisgICAgZm9yIChuX25vZGVzID0gMDtuX25vZGVzIDwgZ2VuX25iX3htbE5vZGVTZXRQdHI7bl9ub2RlcysrKSB7CisgICAgZm9yIChuX21vZGUgPSAwO25fbW9kZSA8IGdlbl9uYl9pbnQ7bl9tb2RlKyspIHsKKyAgICBmb3IgKG5faW5jbHVzaXZlX25zX3ByZWZpeGVzID0gMDtuX2luY2x1c2l2ZV9uc19wcmVmaXhlcyA8IGdlbl9uYl94bWxDaGFyX3B0cl9wdHI7bl9pbmNsdXNpdmVfbnNfcHJlZml4ZXMrKykgeworICAgIGZvciAobl93aXRoX2NvbW1lbnRzID0gMDtuX3dpdGhfY29tbWVudHMgPCBnZW5fbmJfaW50O25fd2l0aF9jb21tZW50cysrKSB7CisgICAgZm9yIChuX2RvY190eHRfcHRyID0gMDtuX2RvY190eHRfcHRyIDwgZ2VuX25iX3htbENoYXJfcHRyX3B0cjtuX2RvY190eHRfcHRyKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgZG9jID0gZ2VuX3htbERvY1B0cihuX2RvYywgMCk7CisgICAgICAgIG5vZGVzID0gZ2VuX3htbE5vZGVTZXRQdHIobl9ub2RlcywgMSk7CisgICAgICAgIG1vZGUgPSBnZW5faW50KG5fbW9kZSwgMik7CisgICAgICAgIGluY2x1c2l2ZV9uc19wcmVmaXhlcyA9IGdlbl94bWxDaGFyX3B0cl9wdHIobl9pbmNsdXNpdmVfbnNfcHJlZml4ZXMsIDMpOworICAgICAgICB3aXRoX2NvbW1lbnRzID0gZ2VuX2ludChuX3dpdGhfY29tbWVudHMsIDQpOworICAgICAgICBkb2NfdHh0X3B0ciA9IGdlbl94bWxDaGFyX3B0cl9wdHIobl9kb2NfdHh0X3B0ciwgNSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbEMxNE5Eb2NEdW1wTWVtb3J5KGRvYywgbm9kZXMsIG1vZGUsIGluY2x1c2l2ZV9uc19wcmVmaXhlcywgd2l0aF9jb21tZW50cywgZG9jX3R4dF9wdHIpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxEb2NQdHIobl9kb2MsIGRvYywgMCk7CisgICAgICAgIGRlc194bWxOb2RlU2V0UHRyKG5fbm9kZXMsIG5vZGVzLCAxKTsKKyAgICAgICAgZGVzX2ludChuX21vZGUsIG1vZGUsIDIpOworICAgICAgICBkZXNfeG1sQ2hhcl9wdHJfcHRyKG5faW5jbHVzaXZlX25zX3ByZWZpeGVzLCBpbmNsdXNpdmVfbnNfcHJlZml4ZXMsIDMpOworICAgICAgICBkZXNfaW50KG5fd2l0aF9jb21tZW50cywgd2l0aF9jb21tZW50cywgNCk7CisgICAgICAgIGRlc194bWxDaGFyX3B0cl9wdHIobl9kb2NfdHh0X3B0ciwgZG9jX3R4dF9wdHIsIDUpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sQzE0TkRvY0R1bXBNZW1vcnkiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZG9jKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9ub2Rlcyk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbW9kZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5faW5jbHVzaXZlX25zX3ByZWZpeGVzKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl93aXRoX2NvbW1lbnRzKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9kb2NfdHh0X3B0cik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sQzE0TkRvY1NhdmUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9DMTROX0VOQUJMRUQpICYmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxEb2NQdHIgZG9jOyAvKiB0aGUgWE1MIGRvY3VtZW50IGZvciBjYW5vbml6YXRpb24gKi8KKyAgICBpbnQgbl9kb2M7CisgICAgeG1sTm9kZVNldFB0ciBub2RlczsgLyogdGhlIG5vZGVzIHNldCB0byBiZSBpbmNsdWRlZCBpbiB0aGUgY2Fub25pemVkIGltYWdlIG9yIE5VTEwgaWYgYWxsIGRvY3VtZW50IG5vZGVzIHNob3VsZCBiZSBpbmNsdWRlZCAqLworICAgIGludCBuX25vZGVzOworICAgIGludCBtb2RlOyAvKiB0aGUgYzE0biBtb2RlIChzZWUgQHhtbEMxNE5Nb2RlKSAqLworICAgIGludCBuX21vZGU7CisgICAgeG1sQ2hhciAqKiBpbmNsdXNpdmVfbnNfcHJlZml4ZXM7IC8qIHRoZSBsaXN0IG9mIGluY2x1c2l2ZSBuYW1lc3BhY2UgcHJlZml4ZXMgZW5kZWQgd2l0aCBhIE5VTEwgb3IgTlVMTCBpZiB0aGVyZSBpcyBubyBpbmNsdXNpdmUgbmFtZXNwYWNlcyAob25seSBmb3IgZXhjbHVzaXZlIGNhbm9uaWNhbGl6YXRpb24sIGlnbm9yZWQgb3RoZXJ3aXNlKSAqLworICAgIGludCBuX2luY2x1c2l2ZV9uc19wcmVmaXhlczsKKyAgICBpbnQgd2l0aF9jb21tZW50czsgLyogaW5jbHVkZSBjb21tZW50cyBpbiB0aGUgcmVzdWx0ICghPTApIG9yIG5vdCAoPT0wKSAqLworICAgIGludCBuX3dpdGhfY29tbWVudHM7CisgICAgY29uc3QgY2hhciAqIGZpbGVuYW1lOyAvKiB0aGUgZmlsZW5hbWUgdG8gc3RvcmUgY2Fub25pY2FsIFhNTCBpbWFnZSAqLworICAgIGludCBuX2ZpbGVuYW1lOworICAgIGludCBjb21wcmVzc2lvbjsgLyogdGhlIGNvbXByZXNzaW9uIGxldmVsICh6bGliIHJlcXVyZWQpOiAtMSAtIGxpYnhtbCBkZWZhdWx0LCAwIC0gdW5jb21wcmVzc2VkLCA+MCAtIGNvbXByZXNzaW9uIGxldmVsICovCisgICAgaW50IG5fY29tcHJlc3Npb247CisKKyAgICBmb3IgKG5fZG9jID0gMDtuX2RvYyA8IGdlbl9uYl94bWxEb2NQdHI7bl9kb2MrKykgeworICAgIGZvciAobl9ub2RlcyA9IDA7bl9ub2RlcyA8IGdlbl9uYl94bWxOb2RlU2V0UHRyO25fbm9kZXMrKykgeworICAgIGZvciAobl9tb2RlID0gMDtuX21vZGUgPCBnZW5fbmJfaW50O25fbW9kZSsrKSB7CisgICAgZm9yIChuX2luY2x1c2l2ZV9uc19wcmVmaXhlcyA9IDA7bl9pbmNsdXNpdmVfbnNfcHJlZml4ZXMgPCBnZW5fbmJfeG1sQ2hhcl9wdHJfcHRyO25faW5jbHVzaXZlX25zX3ByZWZpeGVzKyspIHsKKyAgICBmb3IgKG5fd2l0aF9jb21tZW50cyA9IDA7bl93aXRoX2NvbW1lbnRzIDwgZ2VuX25iX2ludDtuX3dpdGhfY29tbWVudHMrKykgeworICAgIGZvciAobl9maWxlbmFtZSA9IDA7bl9maWxlbmFtZSA8IGdlbl9uYl9maWxlb3V0cHV0O25fZmlsZW5hbWUrKykgeworICAgIGZvciAobl9jb21wcmVzc2lvbiA9IDA7bl9jb21wcmVzc2lvbiA8IGdlbl9uYl9pbnQ7bl9jb21wcmVzc2lvbisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGRvYyA9IGdlbl94bWxEb2NQdHIobl9kb2MsIDApOworICAgICAgICBub2RlcyA9IGdlbl94bWxOb2RlU2V0UHRyKG5fbm9kZXMsIDEpOworICAgICAgICBtb2RlID0gZ2VuX2ludChuX21vZGUsIDIpOworICAgICAgICBpbmNsdXNpdmVfbnNfcHJlZml4ZXMgPSBnZW5feG1sQ2hhcl9wdHJfcHRyKG5faW5jbHVzaXZlX25zX3ByZWZpeGVzLCAzKTsKKyAgICAgICAgd2l0aF9jb21tZW50cyA9IGdlbl9pbnQobl93aXRoX2NvbW1lbnRzLCA0KTsKKyAgICAgICAgZmlsZW5hbWUgPSBnZW5fZmlsZW91dHB1dChuX2ZpbGVuYW1lLCA1KTsKKyAgICAgICAgY29tcHJlc3Npb24gPSBnZW5faW50KG5fY29tcHJlc3Npb24sIDYpOworCisgICAgICAgIHJldF92YWwgPSB4bWxDMTRORG9jU2F2ZShkb2MsIG5vZGVzLCBtb2RlLCBpbmNsdXNpdmVfbnNfcHJlZml4ZXMsIHdpdGhfY29tbWVudHMsIGZpbGVuYW1lLCBjb21wcmVzc2lvbik7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbERvY1B0cihuX2RvYywgZG9jLCAwKTsKKyAgICAgICAgZGVzX3htbE5vZGVTZXRQdHIobl9ub2Rlcywgbm9kZXMsIDEpOworICAgICAgICBkZXNfaW50KG5fbW9kZSwgbW9kZSwgMik7CisgICAgICAgIGRlc194bWxDaGFyX3B0cl9wdHIobl9pbmNsdXNpdmVfbnNfcHJlZml4ZXMsIGluY2x1c2l2ZV9uc19wcmVmaXhlcywgMyk7CisgICAgICAgIGRlc19pbnQobl93aXRoX2NvbW1lbnRzLCB3aXRoX2NvbW1lbnRzLCA0KTsKKyAgICAgICAgZGVzX2ZpbGVvdXRwdXQobl9maWxlbmFtZSwgZmlsZW5hbWUsIDUpOworICAgICAgICBkZXNfaW50KG5fY29tcHJlc3Npb24sIGNvbXByZXNzaW9uLCA2KTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbEMxNE5Eb2NTYXZlIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2RvYyk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbm9kZXMpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX21vZGUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2luY2x1c2l2ZV9uc19wcmVmaXhlcyk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fd2l0aF9jb21tZW50cyk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZmlsZW5hbWUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2NvbXByZXNzaW9uKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sQzE0TkRvY1NhdmVUbyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX0MxNE5fRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbERvY1B0ciBkb2M7IC8qIHRoZSBYTUwgZG9jdW1lbnQgZm9yIGNhbm9uaXphdGlvbiAqLworICAgIGludCBuX2RvYzsKKyAgICB4bWxOb2RlU2V0UHRyIG5vZGVzOyAvKiB0aGUgbm9kZXMgc2V0IHRvIGJlIGluY2x1ZGVkIGluIHRoZSBjYW5vbml6ZWQgaW1hZ2Ugb3IgTlVMTCBpZiBhbGwgZG9jdW1lbnQgbm9kZXMgc2hvdWxkIGJlIGluY2x1ZGVkICovCisgICAgaW50IG5fbm9kZXM7CisgICAgaW50IG1vZGU7IC8qIHRoZSBjMTRuIG1vZGUgKHNlZSBAeG1sQzE0Tk1vZGUpICovCisgICAgaW50IG5fbW9kZTsKKyAgICB4bWxDaGFyICoqIGluY2x1c2l2ZV9uc19wcmVmaXhlczsgLyogdGhlIGxpc3Qgb2YgaW5jbHVzaXZlIG5hbWVzcGFjZSBwcmVmaXhlcyBlbmRlZCB3aXRoIGEgTlVMTCBvciBOVUxMIGlmIHRoZXJlIGlzIG5vIGluY2x1c2l2ZSBuYW1lc3BhY2VzIChvbmx5IGZvciBleGNsdXNpdmUgY2Fub25pY2FsaXphdGlvbiwgaWdub3JlZCBvdGhlcndpc2UpICovCisgICAgaW50IG5faW5jbHVzaXZlX25zX3ByZWZpeGVzOworICAgIGludCB3aXRoX2NvbW1lbnRzOyAvKiBpbmNsdWRlIGNvbW1lbnRzIGluIHRoZSByZXN1bHQgKCE9MCkgb3Igbm90ICg9PTApICovCisgICAgaW50IG5fd2l0aF9jb21tZW50czsKKyAgICB4bWxPdXRwdXRCdWZmZXJQdHIgYnVmOyAvKiB0aGUgb3V0cHV0IGJ1ZmZlciB0byBzdG9yZSBjYW5vbmljYWwgWE1MOyB0aGlzIGJ1ZmZlciBNVVNUIGhhdmUgZW5jb2Rlcj09TlVMTCBiZWNhdXNlIEMxNE4gcmVxdWlyZXMgVVRGLTggb3V0cHV0ICovCisgICAgaW50IG5fYnVmOworCisgICAgZm9yIChuX2RvYyA9IDA7bl9kb2MgPCBnZW5fbmJfeG1sRG9jUHRyO25fZG9jKyspIHsKKyAgICBmb3IgKG5fbm9kZXMgPSAwO25fbm9kZXMgPCBnZW5fbmJfeG1sTm9kZVNldFB0cjtuX25vZGVzKyspIHsKKyAgICBmb3IgKG5fbW9kZSA9IDA7bl9tb2RlIDwgZ2VuX25iX2ludDtuX21vZGUrKykgeworICAgIGZvciAobl9pbmNsdXNpdmVfbnNfcHJlZml4ZXMgPSAwO25faW5jbHVzaXZlX25zX3ByZWZpeGVzIDwgZ2VuX25iX3htbENoYXJfcHRyX3B0cjtuX2luY2x1c2l2ZV9uc19wcmVmaXhlcysrKSB7CisgICAgZm9yIChuX3dpdGhfY29tbWVudHMgPSAwO25fd2l0aF9jb21tZW50cyA8IGdlbl9uYl9pbnQ7bl93aXRoX2NvbW1lbnRzKyspIHsKKyAgICBmb3IgKG5fYnVmID0gMDtuX2J1ZiA8IGdlbl9uYl94bWxPdXRwdXRCdWZmZXJQdHI7bl9idWYrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBkb2MgPSBnZW5feG1sRG9jUHRyKG5fZG9jLCAwKTsKKyAgICAgICAgbm9kZXMgPSBnZW5feG1sTm9kZVNldFB0cihuX25vZGVzLCAxKTsKKyAgICAgICAgbW9kZSA9IGdlbl9pbnQobl9tb2RlLCAyKTsKKyAgICAgICAgaW5jbHVzaXZlX25zX3ByZWZpeGVzID0gZ2VuX3htbENoYXJfcHRyX3B0cihuX2luY2x1c2l2ZV9uc19wcmVmaXhlcywgMyk7CisgICAgICAgIHdpdGhfY29tbWVudHMgPSBnZW5faW50KG5fd2l0aF9jb21tZW50cywgNCk7CisgICAgICAgIGJ1ZiA9IGdlbl94bWxPdXRwdXRCdWZmZXJQdHIobl9idWYsIDUpOworCisgICAgICAgIHJldF92YWwgPSB4bWxDMTRORG9jU2F2ZVRvKGRvYywgbm9kZXMsIG1vZGUsIGluY2x1c2l2ZV9uc19wcmVmaXhlcywgd2l0aF9jb21tZW50cywgYnVmKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sRG9jUHRyKG5fZG9jLCBkb2MsIDApOworICAgICAgICBkZXNfeG1sTm9kZVNldFB0cihuX25vZGVzLCBub2RlcywgMSk7CisgICAgICAgIGRlc19pbnQobl9tb2RlLCBtb2RlLCAyKTsKKyAgICAgICAgZGVzX3htbENoYXJfcHRyX3B0cihuX2luY2x1c2l2ZV9uc19wcmVmaXhlcywgaW5jbHVzaXZlX25zX3ByZWZpeGVzLCAzKTsKKyAgICAgICAgZGVzX2ludChuX3dpdGhfY29tbWVudHMsIHdpdGhfY29tbWVudHMsIDQpOworICAgICAgICBkZXNfeG1sT3V0cHV0QnVmZmVyUHRyKG5fYnVmLCBidWYsIDUpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sQzE0TkRvY1NhdmVUbyIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9kb2MpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25vZGVzKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9tb2RlKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9pbmNsdXNpdmVfbnNfcHJlZml4ZXMpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3dpdGhfY29tbWVudHMpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2J1Zik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sQzE0TkV4ZWN1dGUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworICAgIC8qIG1pc3NpbmcgdHlwZSBzdXBwb3J0ICovCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworc3RhdGljIGludAordGVzdF9jMTRuKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaWYgKHF1aWV0ID09IDApIHByaW50ZigiVGVzdGluZyBjMTRuIDogMyBvZiA0IGZ1bmN0aW9ucyAuLi5cbiIpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sQzE0TkRvY0R1bXBNZW1vcnkoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbEMxNE5Eb2NTYXZlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxDMTRORG9jU2F2ZVRvKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxDMTRORXhlY3V0ZSgpOworCisgICAgaWYgKHRlc3RfcmV0ICE9IDApCisJcHJpbnRmKCJNb2R1bGUgYzE0bjogJWQgZXJyb3JzXG4iLCB0ZXN0X3JldCk7CisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKyNpZmRlZiBMSUJYTUxfQ0FUQUxPR19FTkFCTEVECisKKyNkZWZpbmUgZ2VuX25iX3htbENhdGFsb2dQdHIgMQorc3RhdGljIHhtbENhdGFsb2dQdHIgZ2VuX3htbENhdGFsb2dQdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgcmV0dXJuKE5VTEwpOworfQorc3RhdGljIHZvaWQgZGVzX3htbENhdGFsb2dQdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIHhtbENhdGFsb2dQdHIgdmFsIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7Cit9CisjZW5kaWYKKworCitzdGF0aWMgaW50Cit0ZXN0X3htbEFDYXRhbG9nQWRkKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfQ0FUQUxPR19FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxDYXRhbG9nUHRyIGNhdGFsOyAvKiBhIENhdGFsb2cgKi8KKyAgICBpbnQgbl9jYXRhbDsKKyAgICB4bWxDaGFyICogdHlwZTsgLyogdGhlIHR5cGUgb2YgcmVjb3JkIHRvIGFkZCB0byB0aGUgY2F0YWxvZyAqLworICAgIGludCBuX3R5cGU7CisgICAgeG1sQ2hhciAqIG9yaWc7IC8qIHRoZSBzeXN0ZW0sIHB1YmxpYyBvciBwcmVmaXggdG8gbWF0Y2ggKi8KKyAgICBpbnQgbl9vcmlnOworICAgIHhtbENoYXIgKiByZXBsYWNlOyAvKiB0aGUgcmVwbGFjZW1lbnQgdmFsdWUgZm9yIHRoZSBtYXRjaCAqLworICAgIGludCBuX3JlcGxhY2U7CisKKyAgICBmb3IgKG5fY2F0YWwgPSAwO25fY2F0YWwgPCBnZW5fbmJfeG1sQ2F0YWxvZ1B0cjtuX2NhdGFsKyspIHsKKyAgICBmb3IgKG5fdHlwZSA9IDA7bl90eXBlIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fdHlwZSsrKSB7CisgICAgZm9yIChuX29yaWcgPSAwO25fb3JpZyA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX29yaWcrKykgeworICAgIGZvciAobl9yZXBsYWNlID0gMDtuX3JlcGxhY2UgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9yZXBsYWNlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY2F0YWwgPSBnZW5feG1sQ2F0YWxvZ1B0cihuX2NhdGFsLCAwKTsKKyAgICAgICAgdHlwZSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX3R5cGUsIDEpOworICAgICAgICBvcmlnID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fb3JpZywgMik7CisgICAgICAgIHJlcGxhY2UgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9yZXBsYWNlLCAzKTsKKworICAgICAgICByZXRfdmFsID0geG1sQUNhdGFsb2dBZGQoY2F0YWwsIChjb25zdCB4bWxDaGFyICopdHlwZSwgKGNvbnN0IHhtbENoYXIgKilvcmlnLCAoY29uc3QgeG1sQ2hhciAqKXJlcGxhY2UpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxDYXRhbG9nUHRyKG5fY2F0YWwsIGNhdGFsLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fdHlwZSwgKGNvbnN0IHhtbENoYXIgKil0eXBlLCAxKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fb3JpZywgKGNvbnN0IHhtbENoYXIgKilvcmlnLCAyKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fcmVwbGFjZSwgKGNvbnN0IHhtbENoYXIgKilyZXBsYWNlLCAzKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbEFDYXRhbG9nQWRkIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2NhdGFsKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl90eXBlKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9vcmlnKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9yZXBsYWNlKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sQUNhdGFsb2dEdW1wKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfQ0FUQUxPR19FTkFCTEVEKSAmJiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sQ2F0YWxvZ1B0ciBjYXRhbDsgLyogYSBDYXRhbG9nICovCisgICAgaW50IG5fY2F0YWw7CisgICAgRklMRSAqIG91dDsgLyogdGhlIGZpbGUuICovCisgICAgaW50IG5fb3V0OworCisgICAgZm9yIChuX2NhdGFsID0gMDtuX2NhdGFsIDwgZ2VuX25iX3htbENhdGFsb2dQdHI7bl9jYXRhbCsrKSB7CisgICAgZm9yIChuX291dCA9IDA7bl9vdXQgPCBnZW5fbmJfRklMRV9wdHI7bl9vdXQrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjYXRhbCA9IGdlbl94bWxDYXRhbG9nUHRyKG5fY2F0YWwsIDApOworICAgICAgICBvdXQgPSBnZW5fRklMRV9wdHIobl9vdXQsIDEpOworCisgICAgICAgIHhtbEFDYXRhbG9nRHVtcChjYXRhbCwgb3V0KTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sQ2F0YWxvZ1B0cihuX2NhdGFsLCBjYXRhbCwgMCk7CisgICAgICAgIGRlc19GSUxFX3B0cihuX291dCwgb3V0LCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbEFDYXRhbG9nRHVtcCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jYXRhbCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fb3V0KTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbEFDYXRhbG9nUmVtb3ZlKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfQ0FUQUxPR19FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxDYXRhbG9nUHRyIGNhdGFsOyAvKiBhIENhdGFsb2cgKi8KKyAgICBpbnQgbl9jYXRhbDsKKyAgICB4bWxDaGFyICogdmFsdWU7IC8qIHRoZSB2YWx1ZSB0byByZW1vdmUgKi8KKyAgICBpbnQgbl92YWx1ZTsKKworICAgIGZvciAobl9jYXRhbCA9IDA7bl9jYXRhbCA8IGdlbl9uYl94bWxDYXRhbG9nUHRyO25fY2F0YWwrKykgeworICAgIGZvciAobl92YWx1ZSA9IDA7bl92YWx1ZSA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX3ZhbHVlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY2F0YWwgPSBnZW5feG1sQ2F0YWxvZ1B0cihuX2NhdGFsLCAwKTsKKyAgICAgICAgdmFsdWUgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl92YWx1ZSwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbEFDYXRhbG9nUmVtb3ZlKGNhdGFsLCAoY29uc3QgeG1sQ2hhciAqKXZhbHVlKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sQ2F0YWxvZ1B0cihuX2NhdGFsLCBjYXRhbCwgMCk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX3ZhbHVlLCAoY29uc3QgeG1sQ2hhciAqKXZhbHVlLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbEFDYXRhbG9nUmVtb3ZlIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2NhdGFsKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl92YWx1ZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxBQ2F0YWxvZ1Jlc29sdmUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9DQVRBTE9HX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbENoYXIgKiByZXRfdmFsOworICAgIHhtbENhdGFsb2dQdHIgY2F0YWw7IC8qIGEgQ2F0YWxvZyAqLworICAgIGludCBuX2NhdGFsOworICAgIHhtbENoYXIgKiBwdWJJRDsgLyogdGhlIHB1YmxpYyBJRCBzdHJpbmcgKi8KKyAgICBpbnQgbl9wdWJJRDsKKyAgICB4bWxDaGFyICogc3lzSUQ7IC8qIHRoZSBzeXN0ZW0gSUQgc3RyaW5nICovCisgICAgaW50IG5fc3lzSUQ7CisKKyAgICBmb3IgKG5fY2F0YWwgPSAwO25fY2F0YWwgPCBnZW5fbmJfeG1sQ2F0YWxvZ1B0cjtuX2NhdGFsKyspIHsKKyAgICBmb3IgKG5fcHViSUQgPSAwO25fcHViSUQgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9wdWJJRCsrKSB7CisgICAgZm9yIChuX3N5c0lEID0gMDtuX3N5c0lEIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fc3lzSUQrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjYXRhbCA9IGdlbl94bWxDYXRhbG9nUHRyKG5fY2F0YWwsIDApOworICAgICAgICBwdWJJRCA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX3B1YklELCAxKTsKKyAgICAgICAgc3lzSUQgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9zeXNJRCwgMik7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbEFDYXRhbG9nUmVzb2x2ZShjYXRhbCwgKGNvbnN0IHhtbENoYXIgKilwdWJJRCwgKGNvbnN0IHhtbENoYXIgKilzeXNJRCk7CisgICAgICAgIGRlc3JldF94bWxDaGFyX3B0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sQ2F0YWxvZ1B0cihuX2NhdGFsLCBjYXRhbCwgMCk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX3B1YklELCAoY29uc3QgeG1sQ2hhciAqKXB1YklELCAxKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fc3lzSUQsIChjb25zdCB4bWxDaGFyICopc3lzSUQsIDIpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sQUNhdGFsb2dSZXNvbHZlIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2NhdGFsKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9wdWJJRCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fc3lzSUQpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbEFDYXRhbG9nUmVzb2x2ZVB1YmxpYyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX0NBVEFMT0dfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sQ2hhciAqIHJldF92YWw7CisgICAgeG1sQ2F0YWxvZ1B0ciBjYXRhbDsgLyogYSBDYXRhbG9nICovCisgICAgaW50IG5fY2F0YWw7CisgICAgeG1sQ2hhciAqIHB1YklEOyAvKiB0aGUgcHVibGljIElEIHN0cmluZyAqLworICAgIGludCBuX3B1YklEOworCisgICAgZm9yIChuX2NhdGFsID0gMDtuX2NhdGFsIDwgZ2VuX25iX3htbENhdGFsb2dQdHI7bl9jYXRhbCsrKSB7CisgICAgZm9yIChuX3B1YklEID0gMDtuX3B1YklEIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fcHViSUQrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjYXRhbCA9IGdlbl94bWxDYXRhbG9nUHRyKG5fY2F0YWwsIDApOworICAgICAgICBwdWJJRCA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX3B1YklELCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sQUNhdGFsb2dSZXNvbHZlUHVibGljKGNhdGFsLCAoY29uc3QgeG1sQ2hhciAqKXB1YklEKTsKKyAgICAgICAgZGVzcmV0X3htbENoYXJfcHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxDYXRhbG9nUHRyKG5fY2F0YWwsIGNhdGFsLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fcHViSUQsIChjb25zdCB4bWxDaGFyICopcHViSUQsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sQUNhdGFsb2dSZXNvbHZlUHVibGljIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2NhdGFsKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9wdWJJRCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxBQ2F0YWxvZ1Jlc29sdmVTeXN0ZW0odm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9DQVRBTE9HX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbENoYXIgKiByZXRfdmFsOworICAgIHhtbENhdGFsb2dQdHIgY2F0YWw7IC8qIGEgQ2F0YWxvZyAqLworICAgIGludCBuX2NhdGFsOworICAgIHhtbENoYXIgKiBzeXNJRDsgLyogdGhlIHN5c3RlbSBJRCBzdHJpbmcgKi8KKyAgICBpbnQgbl9zeXNJRDsKKworICAgIGZvciAobl9jYXRhbCA9IDA7bl9jYXRhbCA8IGdlbl9uYl94bWxDYXRhbG9nUHRyO25fY2F0YWwrKykgeworICAgIGZvciAobl9zeXNJRCA9IDA7bl9zeXNJRCA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX3N5c0lEKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY2F0YWwgPSBnZW5feG1sQ2F0YWxvZ1B0cihuX2NhdGFsLCAwKTsKKyAgICAgICAgc3lzSUQgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9zeXNJRCwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbEFDYXRhbG9nUmVzb2x2ZVN5c3RlbShjYXRhbCwgKGNvbnN0IHhtbENoYXIgKilzeXNJRCk7CisgICAgICAgIGRlc3JldF94bWxDaGFyX3B0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sQ2F0YWxvZ1B0cihuX2NhdGFsLCBjYXRhbCwgMCk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX3N5c0lELCAoY29uc3QgeG1sQ2hhciAqKXN5c0lELCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbEFDYXRhbG9nUmVzb2x2ZVN5c3RlbSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jYXRhbCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fc3lzSUQpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sQUNhdGFsb2dSZXNvbHZlVVJJKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfQ0FUQUxPR19FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxDaGFyICogcmV0X3ZhbDsKKyAgICB4bWxDYXRhbG9nUHRyIGNhdGFsOyAvKiBhIENhdGFsb2cgKi8KKyAgICBpbnQgbl9jYXRhbDsKKyAgICB4bWxDaGFyICogVVJJOyAvKiB0aGUgVVJJICovCisgICAgaW50IG5fVVJJOworCisgICAgZm9yIChuX2NhdGFsID0gMDtuX2NhdGFsIDwgZ2VuX25iX3htbENhdGFsb2dQdHI7bl9jYXRhbCsrKSB7CisgICAgZm9yIChuX1VSSSA9IDA7bl9VUkkgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9VUkkrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjYXRhbCA9IGdlbl94bWxDYXRhbG9nUHRyKG5fY2F0YWwsIDApOworICAgICAgICBVUkkgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9VUkksIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxBQ2F0YWxvZ1Jlc29sdmVVUkkoY2F0YWwsIChjb25zdCB4bWxDaGFyICopVVJJKTsKKyAgICAgICAgZGVzcmV0X3htbENoYXJfcHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxDYXRhbG9nUHRyKG5fY2F0YWwsIGNhdGFsLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fVVJJLCAoY29uc3QgeG1sQ2hhciAqKVVSSSwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxBQ2F0YWxvZ1Jlc29sdmVVUkkiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY2F0YWwpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX1VSSSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxDYXRhbG9nQWRkKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfQ0FUQUxPR19FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxDaGFyICogdHlwZTsgLyogdGhlIHR5cGUgb2YgcmVjb3JkIHRvIGFkZCB0byB0aGUgY2F0YWxvZyAqLworICAgIGludCBuX3R5cGU7CisgICAgeG1sQ2hhciAqIG9yaWc7IC8qIHRoZSBzeXN0ZW0sIHB1YmxpYyBvciBwcmVmaXggdG8gbWF0Y2ggKi8KKyAgICBpbnQgbl9vcmlnOworICAgIHhtbENoYXIgKiByZXBsYWNlOyAvKiB0aGUgcmVwbGFjZW1lbnQgdmFsdWUgZm9yIHRoZSBtYXRjaCAqLworICAgIGludCBuX3JlcGxhY2U7CisKKyAgICBmb3IgKG5fdHlwZSA9IDA7bl90eXBlIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fdHlwZSsrKSB7CisgICAgZm9yIChuX29yaWcgPSAwO25fb3JpZyA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX29yaWcrKykgeworICAgIGZvciAobl9yZXBsYWNlID0gMDtuX3JlcGxhY2UgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9yZXBsYWNlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgdHlwZSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX3R5cGUsIDApOworICAgICAgICBvcmlnID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fb3JpZywgMSk7CisgICAgICAgIHJlcGxhY2UgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9yZXBsYWNlLCAyKTsKKworICAgICAgICByZXRfdmFsID0geG1sQ2F0YWxvZ0FkZCgoY29uc3QgeG1sQ2hhciAqKXR5cGUsIChjb25zdCB4bWxDaGFyICopb3JpZywgKGNvbnN0IHhtbENoYXIgKilyZXBsYWNlKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl90eXBlLCAoY29uc3QgeG1sQ2hhciAqKXR5cGUsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9vcmlnLCAoY29uc3QgeG1sQ2hhciAqKW9yaWcsIDEpOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9yZXBsYWNlLCAoY29uc3QgeG1sQ2hhciAqKXJlcGxhY2UsIDIpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sQ2F0YWxvZ0FkZCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl90eXBlKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9vcmlnKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9yZXBsYWNlKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxDYXRhbG9nQ2xlYW51cCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX0NBVEFMT0dfRU5BQkxFRCkKKworCisgICAgICAgIHhtbENhdGFsb2dDbGVhbnVwKCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sQ2F0YWxvZ0NvbnZlcnQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9DQVRBTE9HX0VOQUJMRUQpCisgICAgaW50IHJldF92YWw7CisKKworICAgICAgICByZXRfdmFsID0geG1sQ2F0YWxvZ0NvbnZlcnQoKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxDYXRhbG9nRHVtcCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX0NBVEFMT0dfRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIEZJTEUgKiBvdXQ7IC8qIHRoZSBmaWxlLiAqLworICAgIGludCBuX291dDsKKworICAgIGZvciAobl9vdXQgPSAwO25fb3V0IDwgZ2VuX25iX0ZJTEVfcHRyO25fb3V0KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgb3V0ID0gZ2VuX0ZJTEVfcHRyKG5fb3V0LCAwKTsKKworICAgICAgICB4bWxDYXRhbG9nRHVtcChvdXQpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19GSUxFX3B0cihuX291dCwgb3V0LCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbENhdGFsb2dEdW1wIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX291dCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbENhdGFsb2dHZXREZWZhdWx0cyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX0NBVEFMT0dfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sQ2F0YWxvZ0FsbG93IHJldF92YWw7CisKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKworICAgICAgICByZXRfdmFsID0geG1sQ2F0YWxvZ0dldERlZmF1bHRzKCk7CisgICAgICAgIGRlc3JldF94bWxDYXRhbG9nQWxsb3cocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbENhdGFsb2dHZXREZWZhdWx0cyIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxDYXRhbG9nSXNFbXB0eSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX0NBVEFMT0dfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sQ2F0YWxvZ1B0ciBjYXRhbDsgLyogc2hvdWxkIHRoaXMgY3JlYXRlIGFuIFNHTUwgY2F0YWxvZyAqLworICAgIGludCBuX2NhdGFsOworCisgICAgZm9yIChuX2NhdGFsID0gMDtuX2NhdGFsIDwgZ2VuX25iX3htbENhdGFsb2dQdHI7bl9jYXRhbCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGNhdGFsID0gZ2VuX3htbENhdGFsb2dQdHIobl9jYXRhbCwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbENhdGFsb2dJc0VtcHR5KGNhdGFsKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sQ2F0YWxvZ1B0cihuX2NhdGFsLCBjYXRhbCwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxDYXRhbG9nSXNFbXB0eSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jYXRhbCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbENhdGFsb2dMb2NhbFJlc29sdmUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9DQVRBTE9HX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbENoYXIgKiByZXRfdmFsOworICAgIHZvaWQgKiBjYXRhbG9nczsgLyogYSBkb2N1bWVudCdzIGxpc3Qgb2YgY2F0YWxvZ3MgKi8KKyAgICBpbnQgbl9jYXRhbG9nczsKKyAgICB4bWxDaGFyICogcHViSUQ7IC8qIHRoZSBwdWJsaWMgSUQgc3RyaW5nICovCisgICAgaW50IG5fcHViSUQ7CisgICAgeG1sQ2hhciAqIHN5c0lEOyAvKiB0aGUgc3lzdGVtIElEIHN0cmluZyAqLworICAgIGludCBuX3N5c0lEOworCisgICAgZm9yIChuX2NhdGFsb2dzID0gMDtuX2NhdGFsb2dzIDwgZ2VuX25iX3ZvaWRfcHRyO25fY2F0YWxvZ3MrKykgeworICAgIGZvciAobl9wdWJJRCA9IDA7bl9wdWJJRCA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX3B1YklEKyspIHsKKyAgICBmb3IgKG5fc3lzSUQgPSAwO25fc3lzSUQgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9zeXNJRCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGNhdGFsb2dzID0gZ2VuX3ZvaWRfcHRyKG5fY2F0YWxvZ3MsIDApOworICAgICAgICBwdWJJRCA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX3B1YklELCAxKTsKKyAgICAgICAgc3lzSUQgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9zeXNJRCwgMik7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbENhdGFsb2dMb2NhbFJlc29sdmUoY2F0YWxvZ3MsIChjb25zdCB4bWxDaGFyICopcHViSUQsIChjb25zdCB4bWxDaGFyICopc3lzSUQpOworICAgICAgICBkZXNyZXRfeG1sQ2hhcl9wdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3ZvaWRfcHRyKG5fY2F0YWxvZ3MsIGNhdGFsb2dzLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fcHViSUQsIChjb25zdCB4bWxDaGFyICopcHViSUQsIDEpOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9zeXNJRCwgKGNvbnN0IHhtbENoYXIgKilzeXNJRCwgMik7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxDYXRhbG9nTG9jYWxSZXNvbHZlIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2NhdGFsb2dzKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9wdWJJRCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fc3lzSUQpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbENhdGFsb2dMb2NhbFJlc29sdmVVUkkodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9DQVRBTE9HX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbENoYXIgKiByZXRfdmFsOworICAgIHZvaWQgKiBjYXRhbG9nczsgLyogYSBkb2N1bWVudCdzIGxpc3Qgb2YgY2F0YWxvZ3MgKi8KKyAgICBpbnQgbl9jYXRhbG9nczsKKyAgICB4bWxDaGFyICogVVJJOyAvKiB0aGUgVVJJICovCisgICAgaW50IG5fVVJJOworCisgICAgZm9yIChuX2NhdGFsb2dzID0gMDtuX2NhdGFsb2dzIDwgZ2VuX25iX3ZvaWRfcHRyO25fY2F0YWxvZ3MrKykgeworICAgIGZvciAobl9VUkkgPSAwO25fVVJJIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fVVJJKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY2F0YWxvZ3MgPSBnZW5fdm9pZF9wdHIobl9jYXRhbG9ncywgMCk7CisgICAgICAgIFVSSSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX1VSSSwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbENhdGFsb2dMb2NhbFJlc29sdmVVUkkoY2F0YWxvZ3MsIChjb25zdCB4bWxDaGFyICopVVJJKTsKKyAgICAgICAgZGVzcmV0X3htbENoYXJfcHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc192b2lkX3B0cihuX2NhdGFsb2dzLCBjYXRhbG9ncywgMCk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX1VSSSwgKGNvbnN0IHhtbENoYXIgKilVUkksIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sQ2F0YWxvZ0xvY2FsUmVzb2x2ZVVSSSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jYXRhbG9ncyk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fVVJJKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbENhdGFsb2dSZW1vdmUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9DQVRBTE9HX0VOQUJMRUQpCisgICAgaW50IHJldF92YWw7CisgICAgeG1sQ2hhciAqIHZhbHVlOyAvKiB0aGUgdmFsdWUgdG8gcmVtb3ZlICovCisgICAgaW50IG5fdmFsdWU7CisKKyAgICBmb3IgKG5fdmFsdWUgPSAwO25fdmFsdWUgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl92YWx1ZSsrKSB7CisgICAgICAgIHZhbHVlID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fdmFsdWUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxDYXRhbG9nUmVtb3ZlKChjb25zdCB4bWxDaGFyICopdmFsdWUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX3ZhbHVlLCAoY29uc3QgeG1sQ2hhciAqKXZhbHVlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbENhdGFsb2dSZXNvbHZlKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfQ0FUQUxPR19FTkFCTEVEKQorICAgIHhtbENoYXIgKiByZXRfdmFsOworICAgIHhtbENoYXIgKiBwdWJJRDsgLyogdGhlIHB1YmxpYyBJRCBzdHJpbmcgKi8KKyAgICBpbnQgbl9wdWJJRDsKKyAgICB4bWxDaGFyICogc3lzSUQ7IC8qIHRoZSBzeXN0ZW0gSUQgc3RyaW5nICovCisgICAgaW50IG5fc3lzSUQ7CisKKyAgICBmb3IgKG5fcHViSUQgPSAwO25fcHViSUQgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9wdWJJRCsrKSB7CisgICAgZm9yIChuX3N5c0lEID0gMDtuX3N5c0lEIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fc3lzSUQrKykgeworICAgICAgICBwdWJJRCA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX3B1YklELCAwKTsKKyAgICAgICAgc3lzSUQgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9zeXNJRCwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbENhdGFsb2dSZXNvbHZlKChjb25zdCB4bWxDaGFyICopcHViSUQsIChjb25zdCB4bWxDaGFyICopc3lzSUQpOworICAgICAgICBkZXNyZXRfeG1sQ2hhcl9wdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fcHViSUQsIChjb25zdCB4bWxDaGFyICopcHViSUQsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9zeXNJRCwgKGNvbnN0IHhtbENoYXIgKilzeXNJRCwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sQ2F0YWxvZ1Jlc29sdmVQdWJsaWModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9DQVRBTE9HX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbENoYXIgKiByZXRfdmFsOworICAgIHhtbENoYXIgKiBwdWJJRDsgLyogdGhlIHB1YmxpYyBJRCBzdHJpbmcgKi8KKyAgICBpbnQgbl9wdWJJRDsKKworICAgIGZvciAobl9wdWJJRCA9IDA7bl9wdWJJRCA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX3B1YklEKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgcHViSUQgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9wdWJJRCwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbENhdGFsb2dSZXNvbHZlUHVibGljKChjb25zdCB4bWxDaGFyICopcHViSUQpOworICAgICAgICBkZXNyZXRfeG1sQ2hhcl9wdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fcHViSUQsIChjb25zdCB4bWxDaGFyICopcHViSUQsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sQ2F0YWxvZ1Jlc29sdmVQdWJsaWMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fcHViSUQpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxDYXRhbG9nUmVzb2x2ZVN5c3RlbSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX0NBVEFMT0dfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sQ2hhciAqIHJldF92YWw7CisgICAgeG1sQ2hhciAqIHN5c0lEOyAvKiB0aGUgc3lzdGVtIElEIHN0cmluZyAqLworICAgIGludCBuX3N5c0lEOworCisgICAgZm9yIChuX3N5c0lEID0gMDtuX3N5c0lEIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fc3lzSUQrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBzeXNJRCA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX3N5c0lELCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sQ2F0YWxvZ1Jlc29sdmVTeXN0ZW0oKGNvbnN0IHhtbENoYXIgKilzeXNJRCk7CisgICAgICAgIGRlc3JldF94bWxDaGFyX3B0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9zeXNJRCwgKGNvbnN0IHhtbENoYXIgKilzeXNJRCwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxDYXRhbG9nUmVzb2x2ZVN5c3RlbSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9zeXNJRCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbENhdGFsb2dSZXNvbHZlVVJJKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfQ0FUQUxPR19FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxDaGFyICogcmV0X3ZhbDsKKyAgICB4bWxDaGFyICogVVJJOyAvKiB0aGUgVVJJICovCisgICAgaW50IG5fVVJJOworCisgICAgZm9yIChuX1VSSSA9IDA7bl9VUkkgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9VUkkrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBVUkkgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9VUkksIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxDYXRhbG9nUmVzb2x2ZVVSSSgoY29uc3QgeG1sQ2hhciAqKVVSSSk7CisgICAgICAgIGRlc3JldF94bWxDaGFyX3B0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9VUkksIChjb25zdCB4bWxDaGFyICopVVJJLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbENhdGFsb2dSZXNvbHZlVVJJIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX1VSSSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbENhdGFsb2dTZXREZWZhdWx0UHJlZmVyKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfQ0FUQUxPR19FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxDYXRhbG9nUHJlZmVyIHJldF92YWw7CisgICAgeG1sQ2F0YWxvZ1ByZWZlciBwcmVmZXI7IC8qIHRoZSBkZWZhdWx0IHByZWZlcmVuY2UgZm9yIGRlbGVnYXRpb24gKi8KKyAgICBpbnQgbl9wcmVmZXI7CisKKyAgICBmb3IgKG5fcHJlZmVyID0gMDtuX3ByZWZlciA8IGdlbl9uYl94bWxDYXRhbG9nUHJlZmVyO25fcHJlZmVyKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgcHJlZmVyID0gZ2VuX3htbENhdGFsb2dQcmVmZXIobl9wcmVmZXIsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxDYXRhbG9nU2V0RGVmYXVsdFByZWZlcihwcmVmZXIpOworICAgICAgICBkZXNyZXRfeG1sQ2F0YWxvZ1ByZWZlcihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sQ2F0YWxvZ1ByZWZlcihuX3ByZWZlciwgcHJlZmVyLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbENhdGFsb2dTZXREZWZhdWx0UHJlZmVyIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3ByZWZlcik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbENhdGFsb2dTZXREZWZhdWx0cyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX0NBVEFMT0dfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sQ2F0YWxvZ0FsbG93IGFsbG93OyAvKiB3aGF0IGNhdGFsb2dzIHNob3VsZCBiZSBhY2NlcHRlZCAqLworICAgIGludCBuX2FsbG93OworCisgICAgZm9yIChuX2FsbG93ID0gMDtuX2FsbG93IDwgZ2VuX25iX3htbENhdGFsb2dBbGxvdztuX2FsbG93KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgYWxsb3cgPSBnZW5feG1sQ2F0YWxvZ0FsbG93KG5fYWxsb3csIDApOworCisgICAgICAgIHhtbENhdGFsb2dTZXREZWZhdWx0cyhhbGxvdyk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbENhdGFsb2dBbGxvdyhuX2FsbG93LCBhbGxvdywgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxDYXRhbG9nU2V0RGVmYXVsdHMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fYWxsb3cpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxDb252ZXJ0U0dNTENhdGFsb2codm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9DQVRBTE9HX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbENhdGFsb2dQdHIgY2F0YWw7IC8qIHRoZSBjYXRhbG9nICovCisgICAgaW50IG5fY2F0YWw7CisKKyAgICBmb3IgKG5fY2F0YWwgPSAwO25fY2F0YWwgPCBnZW5fbmJfeG1sQ2F0YWxvZ1B0cjtuX2NhdGFsKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY2F0YWwgPSBnZW5feG1sQ2F0YWxvZ1B0cihuX2NhdGFsLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sQ29udmVydFNHTUxDYXRhbG9nKGNhdGFsKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sQ2F0YWxvZ1B0cihuX2NhdGFsLCBjYXRhbCwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxDb252ZXJ0U0dNTENhdGFsb2ciLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY2F0YWwpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxJbml0aWFsaXplQ2F0YWxvZyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX0NBVEFMT0dfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKworICAgICAgICB4bWxJbml0aWFsaXplQ2F0YWxvZygpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxJbml0aWFsaXplQ2F0YWxvZyIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxMb2FkQUNhdGFsb2codm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworICAgIC8qIG1pc3NpbmcgdHlwZSBzdXBwb3J0ICovCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbExvYWRDYXRhbG9nKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfQ0FUQUxPR19FTkFCTEVEKQorICAgIGludCByZXRfdmFsOworICAgIGNvbnN0IGNoYXIgKiBmaWxlbmFtZTsgLyogYSBmaWxlIHBhdGggKi8KKyAgICBpbnQgbl9maWxlbmFtZTsKKworICAgIGZvciAobl9maWxlbmFtZSA9IDA7bl9maWxlbmFtZSA8IGdlbl9uYl9maWxlcGF0aDtuX2ZpbGVuYW1lKyspIHsKKyAgICAgICAgZmlsZW5hbWUgPSBnZW5fZmlsZXBhdGgobl9maWxlbmFtZSwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbExvYWRDYXRhbG9nKGZpbGVuYW1lKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfZmlsZXBhdGgobl9maWxlbmFtZSwgZmlsZW5hbWUsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sTG9hZENhdGFsb2dzKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfQ0FUQUxPR19FTkFCTEVEKQorICAgIGNoYXIgKiBwYXRoc3M7IC8qIGEgbGlzdCBvZiBkaXJlY3RvcmllcyBzZXBhcmF0ZWQgYnkgYSBjb2xvbiBvciBhIHNwYWNlLiAqLworICAgIGludCBuX3BhdGhzczsKKworICAgIGZvciAobl9wYXRoc3MgPSAwO25fcGF0aHNzIDwgZ2VuX25iX2NvbnN0X2NoYXJfcHRyO25fcGF0aHNzKyspIHsKKyAgICAgICAgcGF0aHNzID0gZ2VuX2NvbnN0X2NoYXJfcHRyKG5fcGF0aHNzLCAwKTsKKworICAgICAgICB4bWxMb2FkQ2F0YWxvZ3MoKGNvbnN0IGNoYXIgKilwYXRoc3MpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19jb25zdF9jaGFyX3B0cihuX3BhdGhzcywgKGNvbnN0IGNoYXIgKilwYXRoc3MsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sTG9hZFNHTUxTdXBlckNhdGFsb2codm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworICAgIC8qIG1pc3NpbmcgdHlwZSBzdXBwb3J0ICovCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbE5ld0NhdGFsb2codm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworICAgIC8qIG1pc3NpbmcgdHlwZSBzdXBwb3J0ICovCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFBhcnNlQ2F0YWxvZ0ZpbGUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9DQVRBTE9HX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbERvY1B0ciByZXRfdmFsOworICAgIGNvbnN0IGNoYXIgKiBmaWxlbmFtZTsgLyogdGhlIGZpbGVuYW1lICovCisgICAgaW50IG5fZmlsZW5hbWU7CisKKyAgICBmb3IgKG5fZmlsZW5hbWUgPSAwO25fZmlsZW5hbWUgPCBnZW5fbmJfZmlsZXBhdGg7bl9maWxlbmFtZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGZpbGVuYW1lID0gZ2VuX2ZpbGVwYXRoKG5fZmlsZW5hbWUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxQYXJzZUNhdGFsb2dGaWxlKGZpbGVuYW1lKTsKKyAgICAgICAgZGVzcmV0X3htbERvY1B0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfZmlsZXBhdGgobl9maWxlbmFtZSwgZmlsZW5hbWUsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sUGFyc2VDYXRhbG9nRmlsZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9maWxlbmFtZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworc3RhdGljIGludAordGVzdF9jYXRhbG9nKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaWYgKHF1aWV0ID09IDApIHByaW50ZigiVGVzdGluZyBjYXRhbG9nIDogMjcgb2YgMzYgZnVuY3Rpb25zIC4uLlxuIik7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxBQ2F0YWxvZ0FkZCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sQUNhdGFsb2dEdW1wKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxBQ2F0YWxvZ1JlbW92ZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sQUNhdGFsb2dSZXNvbHZlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxBQ2F0YWxvZ1Jlc29sdmVQdWJsaWMoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbEFDYXRhbG9nUmVzb2x2ZVN5c3RlbSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sQUNhdGFsb2dSZXNvbHZlVVJJKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxDYXRhbG9nQWRkKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxDYXRhbG9nQ2xlYW51cCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sQ2F0YWxvZ0NvbnZlcnQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbENhdGFsb2dEdW1wKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxDYXRhbG9nR2V0RGVmYXVsdHMoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbENhdGFsb2dJc0VtcHR5KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxDYXRhbG9nTG9jYWxSZXNvbHZlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxDYXRhbG9nTG9jYWxSZXNvbHZlVVJJKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxDYXRhbG9nUmVtb3ZlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxDYXRhbG9nUmVzb2x2ZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sQ2F0YWxvZ1Jlc29sdmVQdWJsaWMoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbENhdGFsb2dSZXNvbHZlU3lzdGVtKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxDYXRhbG9nUmVzb2x2ZVVSSSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sQ2F0YWxvZ1NldERlZmF1bHRQcmVmZXIoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbENhdGFsb2dTZXREZWZhdWx0cygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sQ29udmVydFNHTUxDYXRhbG9nKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxJbml0aWFsaXplQ2F0YWxvZygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sTG9hZEFDYXRhbG9nKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxMb2FkQ2F0YWxvZygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sTG9hZENhdGFsb2dzKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxMb2FkU0dNTFN1cGVyQ2F0YWxvZygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sTmV3Q2F0YWxvZygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sUGFyc2VDYXRhbG9nRmlsZSgpOworCisgICAgaWYgKHRlc3RfcmV0ICE9IDApCisJcHJpbnRmKCJNb2R1bGUgY2F0YWxvZzogJWQgZXJyb3JzXG4iLCB0ZXN0X3JldCk7CisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworI2RlZmluZSBnZW5fbmJfY29uc3RfeG1sQ2hSYW5nZUdyb3VwX3B0ciAxCitzdGF0aWMgeG1sQ2hSYW5nZUdyb3VwICogZ2VuX2NvbnN0X3htbENoUmFuZ2VHcm91cF9wdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgcmV0dXJuKE5VTEwpOworfQorc3RhdGljIHZvaWQgZGVzX2NvbnN0X3htbENoUmFuZ2VHcm91cF9wdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIGNvbnN0IHhtbENoUmFuZ2VHcm91cCAqIHZhbCBBVFRSSUJVVEVfVU5VU0VELCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworfQorCitzdGF0aWMgaW50Cit0ZXN0X3htbENoYXJJblJhbmdlKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHVuc2lnbmVkIGludCB2YWw7IC8qIGNoYXJhY3RlciB0byBiZSB2YWxpZGF0ZWQgKi8KKyAgICBpbnQgbl92YWw7CisgICAgeG1sQ2hSYW5nZUdyb3VwICogcnB0cjsgLyogcG9pbnRlciB0byByYW5nZSB0byBiZSB1c2VkIHRvIHZhbGlkYXRlICovCisgICAgaW50IG5fcnB0cjsKKworICAgIGZvciAobl92YWwgPSAwO25fdmFsIDwgZ2VuX25iX3Vuc2lnbmVkX2ludDtuX3ZhbCsrKSB7CisgICAgZm9yIChuX3JwdHIgPSAwO25fcnB0ciA8IGdlbl9uYl9jb25zdF94bWxDaFJhbmdlR3JvdXBfcHRyO25fcnB0cisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHZhbCA9IGdlbl91bnNpZ25lZF9pbnQobl92YWwsIDApOworICAgICAgICBycHRyID0gZ2VuX2NvbnN0X3htbENoUmFuZ2VHcm91cF9wdHIobl9ycHRyLCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sQ2hhckluUmFuZ2UodmFsLCAoY29uc3QgeG1sQ2hSYW5nZUdyb3VwICopcnB0cik7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3Vuc2lnbmVkX2ludChuX3ZhbCwgdmFsLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoUmFuZ2VHcm91cF9wdHIobl9ycHRyLCAoY29uc3QgeG1sQ2hSYW5nZUdyb3VwICopcnB0ciwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxDaGFySW5SYW5nZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl92YWwpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3JwdHIpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbElzQmFzZUNoYXIodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgdW5zaWduZWQgaW50IGNoOyAvKiBjaGFyYWN0ZXIgdG8gdmFsaWRhdGUgKi8KKyAgICBpbnQgbl9jaDsKKworICAgIGZvciAobl9jaCA9IDA7bl9jaCA8IGdlbl9uYl91bnNpZ25lZF9pbnQ7bl9jaCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGNoID0gZ2VuX3Vuc2lnbmVkX2ludChuX2NoLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sSXNCYXNlQ2hhcihjaCk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3Vuc2lnbmVkX2ludChuX2NoLCBjaCwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxJc0Jhc2VDaGFyIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2NoKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbElzQmxhbmsodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgdW5zaWduZWQgaW50IGNoOyAvKiBjaGFyYWN0ZXIgdG8gdmFsaWRhdGUgKi8KKyAgICBpbnQgbl9jaDsKKworICAgIGZvciAobl9jaCA9IDA7bl9jaCA8IGdlbl9uYl91bnNpZ25lZF9pbnQ7bl9jaCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGNoID0gZ2VuX3Vuc2lnbmVkX2ludChuX2NoLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sSXNCbGFuayhjaCk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3Vuc2lnbmVkX2ludChuX2NoLCBjaCwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxJc0JsYW5rIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2NoKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbElzQ2hhcih2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB1bnNpZ25lZCBpbnQgY2g7IC8qIGNoYXJhY3RlciB0byB2YWxpZGF0ZSAqLworICAgIGludCBuX2NoOworCisgICAgZm9yIChuX2NoID0gMDtuX2NoIDwgZ2VuX25iX3Vuc2lnbmVkX2ludDtuX2NoKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY2ggPSBnZW5fdW5zaWduZWRfaW50KG5fY2gsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxJc0NoYXIoY2gpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc191bnNpZ25lZF9pbnQobl9jaCwgY2gsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sSXNDaGFyIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2NoKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbElzQ29tYmluaW5nKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHVuc2lnbmVkIGludCBjaDsgLyogY2hhcmFjdGVyIHRvIHZhbGlkYXRlICovCisgICAgaW50IG5fY2g7CisKKyAgICBmb3IgKG5fY2ggPSAwO25fY2ggPCBnZW5fbmJfdW5zaWduZWRfaW50O25fY2grKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjaCA9IGdlbl91bnNpZ25lZF9pbnQobl9jaCwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbElzQ29tYmluaW5nKGNoKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfdW5zaWduZWRfaW50KG5fY2gsIGNoLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbElzQ29tYmluaW5nIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2NoKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbElzRGlnaXQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgdW5zaWduZWQgaW50IGNoOyAvKiBjaGFyYWN0ZXIgdG8gdmFsaWRhdGUgKi8KKyAgICBpbnQgbl9jaDsKKworICAgIGZvciAobl9jaCA9IDA7bl9jaCA8IGdlbl9uYl91bnNpZ25lZF9pbnQ7bl9jaCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGNoID0gZ2VuX3Vuc2lnbmVkX2ludChuX2NoLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sSXNEaWdpdChjaCk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3Vuc2lnbmVkX2ludChuX2NoLCBjaCwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxJc0RpZ2l0IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2NoKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbElzRXh0ZW5kZXIodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgdW5zaWduZWQgaW50IGNoOyAvKiBjaGFyYWN0ZXIgdG8gdmFsaWRhdGUgKi8KKyAgICBpbnQgbl9jaDsKKworICAgIGZvciAobl9jaCA9IDA7bl9jaCA8IGdlbl9uYl91bnNpZ25lZF9pbnQ7bl9jaCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGNoID0gZ2VuX3Vuc2lnbmVkX2ludChuX2NoLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sSXNFeHRlbmRlcihjaCk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3Vuc2lnbmVkX2ludChuX2NoLCBjaCwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxJc0V4dGVuZGVyIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2NoKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbElzSWRlb2dyYXBoaWModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgdW5zaWduZWQgaW50IGNoOyAvKiBjaGFyYWN0ZXIgdG8gdmFsaWRhdGUgKi8KKyAgICBpbnQgbl9jaDsKKworICAgIGZvciAobl9jaCA9IDA7bl9jaCA8IGdlbl9uYl91bnNpZ25lZF9pbnQ7bl9jaCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGNoID0gZ2VuX3Vuc2lnbmVkX2ludChuX2NoLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sSXNJZGVvZ3JhcGhpYyhjaCk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3Vuc2lnbmVkX2ludChuX2NoLCBjaCwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxJc0lkZW9ncmFwaGljIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2NoKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbElzUHViaWRDaGFyKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHVuc2lnbmVkIGludCBjaDsgLyogY2hhcmFjdGVyIHRvIHZhbGlkYXRlICovCisgICAgaW50IG5fY2g7CisKKyAgICBmb3IgKG5fY2ggPSAwO25fY2ggPCBnZW5fbmJfdW5zaWduZWRfaW50O25fY2grKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjaCA9IGdlbl91bnNpZ25lZF9pbnQobl9jaCwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbElzUHViaWRDaGFyKGNoKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfdW5zaWduZWRfaW50KG5fY2gsIGNoLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbElzUHViaWRDaGFyIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2NoKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworc3RhdGljIGludAordGVzdF9jaHZhbGlkKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaWYgKHF1aWV0ID09IDApIHByaW50ZigiVGVzdGluZyBjaHZhbGlkIDogOSBvZiA5IGZ1bmN0aW9ucyAuLi5cbiIpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sQ2hhckluUmFuZ2UoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbElzQmFzZUNoYXIoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbElzQmxhbmsoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbElzQ2hhcigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sSXNDb21iaW5pbmcoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbElzRGlnaXQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbElzRXh0ZW5kZXIoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbElzSWRlb2dyYXBoaWMoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbElzUHViaWRDaGFyKCk7CisKKyAgICBpZiAodGVzdF9yZXQgIT0gMCkKKwlwcmludGYoIk1vZHVsZSBjaHZhbGlkOiAlZCBlcnJvcnNcbiIsIHRlc3RfcmV0KTsKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCitzdGF0aWMgaW50Cit0ZXN0X3htbEJvb2xUb1RleHQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9ERUJVR19FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBjb25zdCBjaGFyICogcmV0X3ZhbDsKKyAgICBpbnQgYm9vbHZhbDsgLyogYSBib29sIHRvIHR1cm4gaW50byB0ZXh0ICovCisgICAgaW50IG5fYm9vbHZhbDsKKworICAgIGZvciAobl9ib29sdmFsID0gMDtuX2Jvb2x2YWwgPCBnZW5fbmJfaW50O25fYm9vbHZhbCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGJvb2x2YWwgPSBnZW5faW50KG5fYm9vbHZhbCwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbEJvb2xUb1RleHQoYm9vbHZhbCk7CisgICAgICAgIGRlc3JldF9jb25zdF9jaGFyX3B0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfaW50KG5fYm9vbHZhbCwgYm9vbHZhbCwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxCb29sVG9UZXh0IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2Jvb2x2YWwpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxEZWJ1Z0NoZWNrRG9jdW1lbnQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9ERUJVR19FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICBGSUxFICogb3V0cHV0OyAvKiB0aGUgRklMRSAqIGZvciB0aGUgb3V0cHV0ICovCisgICAgaW50IG5fb3V0cHV0OworICAgIHhtbERvY1B0ciBkb2M7IC8qIHRoZSBkb2N1bWVudCAqLworICAgIGludCBuX2RvYzsKKworICAgIGZvciAobl9vdXRwdXQgPSAwO25fb3V0cHV0IDwgZ2VuX25iX2RlYnVnX0ZJTEVfcHRyO25fb3V0cHV0KyspIHsKKyAgICBmb3IgKG5fZG9jID0gMDtuX2RvYyA8IGdlbl9uYl94bWxEb2NQdHI7bl9kb2MrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBvdXRwdXQgPSBnZW5fZGVidWdfRklMRV9wdHIobl9vdXRwdXQsIDApOworICAgICAgICBkb2MgPSBnZW5feG1sRG9jUHRyKG5fZG9jLCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sRGVidWdDaGVja0RvY3VtZW50KG91dHB1dCwgZG9jKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfZGVidWdfRklMRV9wdHIobl9vdXRwdXQsIG91dHB1dCwgMCk7CisgICAgICAgIGRlc194bWxEb2NQdHIobl9kb2MsIGRvYywgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxEZWJ1Z0NoZWNrRG9jdW1lbnQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fb3V0cHV0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9kb2MpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sRGVidWdEdW1wQXR0cih2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX0RFQlVHX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIEZJTEUgKiBvdXRwdXQ7IC8qIHRoZSBGSUxFICogZm9yIHRoZSBvdXRwdXQgKi8KKyAgICBpbnQgbl9vdXRwdXQ7CisgICAgeG1sQXR0clB0ciBhdHRyOyAvKiB0aGUgYXR0cmlidXRlICovCisgICAgaW50IG5fYXR0cjsKKyAgICBpbnQgZGVwdGg7IC8qIHRoZSBpbmRlbnRhdGlvbiBsZXZlbC4gKi8KKyAgICBpbnQgbl9kZXB0aDsKKworICAgIGZvciAobl9vdXRwdXQgPSAwO25fb3V0cHV0IDwgZ2VuX25iX2RlYnVnX0ZJTEVfcHRyO25fb3V0cHV0KyspIHsKKyAgICBmb3IgKG5fYXR0ciA9IDA7bl9hdHRyIDwgZ2VuX25iX3htbEF0dHJQdHI7bl9hdHRyKyspIHsKKyAgICBmb3IgKG5fZGVwdGggPSAwO25fZGVwdGggPCBnZW5fbmJfaW50O25fZGVwdGgrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBvdXRwdXQgPSBnZW5fZGVidWdfRklMRV9wdHIobl9vdXRwdXQsIDApOworICAgICAgICBhdHRyID0gZ2VuX3htbEF0dHJQdHIobl9hdHRyLCAxKTsKKyAgICAgICAgZGVwdGggPSBnZW5faW50KG5fZGVwdGgsIDIpOworCisgICAgICAgIHhtbERlYnVnRHVtcEF0dHIob3V0cHV0LCBhdHRyLCBkZXB0aCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2RlYnVnX0ZJTEVfcHRyKG5fb3V0cHV0LCBvdXRwdXQsIDApOworICAgICAgICBkZXNfeG1sQXR0clB0cihuX2F0dHIsIGF0dHIsIDEpOworICAgICAgICBkZXNfaW50KG5fZGVwdGgsIGRlcHRoLCAyKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbERlYnVnRHVtcEF0dHIiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fb3V0cHV0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9hdHRyKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9kZXB0aCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sRGVidWdEdW1wQXR0ckxpc3Qodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9ERUJVR19FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBGSUxFICogb3V0cHV0OyAvKiB0aGUgRklMRSAqIGZvciB0aGUgb3V0cHV0ICovCisgICAgaW50IG5fb3V0cHV0OworICAgIHhtbEF0dHJQdHIgYXR0cjsgLyogdGhlIGF0dHJpYnV0ZSBsaXN0ICovCisgICAgaW50IG5fYXR0cjsKKyAgICBpbnQgZGVwdGg7IC8qIHRoZSBpbmRlbnRhdGlvbiBsZXZlbC4gKi8KKyAgICBpbnQgbl9kZXB0aDsKKworICAgIGZvciAobl9vdXRwdXQgPSAwO25fb3V0cHV0IDwgZ2VuX25iX2RlYnVnX0ZJTEVfcHRyO25fb3V0cHV0KyspIHsKKyAgICBmb3IgKG5fYXR0ciA9IDA7bl9hdHRyIDwgZ2VuX25iX3htbEF0dHJQdHI7bl9hdHRyKyspIHsKKyAgICBmb3IgKG5fZGVwdGggPSAwO25fZGVwdGggPCBnZW5fbmJfaW50O25fZGVwdGgrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBvdXRwdXQgPSBnZW5fZGVidWdfRklMRV9wdHIobl9vdXRwdXQsIDApOworICAgICAgICBhdHRyID0gZ2VuX3htbEF0dHJQdHIobl9hdHRyLCAxKTsKKyAgICAgICAgZGVwdGggPSBnZW5faW50KG5fZGVwdGgsIDIpOworCisgICAgICAgIHhtbERlYnVnRHVtcEF0dHJMaXN0KG91dHB1dCwgYXR0ciwgZGVwdGgpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19kZWJ1Z19GSUxFX3B0cihuX291dHB1dCwgb3V0cHV0LCAwKTsKKyAgICAgICAgZGVzX3htbEF0dHJQdHIobl9hdHRyLCBhdHRyLCAxKTsKKyAgICAgICAgZGVzX2ludChuX2RlcHRoLCBkZXB0aCwgMik7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxEZWJ1Z0R1bXBBdHRyTGlzdCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9vdXRwdXQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2F0dHIpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2RlcHRoKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxEZWJ1Z0R1bXBEVEQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9ERUJVR19FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBGSUxFICogb3V0cHV0OyAvKiB0aGUgRklMRSAqIGZvciB0aGUgb3V0cHV0ICovCisgICAgaW50IG5fb3V0cHV0OworICAgIHhtbER0ZFB0ciBkdGQ7IC8qIHRoZSBEVEQgKi8KKyAgICBpbnQgbl9kdGQ7CisKKyAgICBmb3IgKG5fb3V0cHV0ID0gMDtuX291dHB1dCA8IGdlbl9uYl9kZWJ1Z19GSUxFX3B0cjtuX291dHB1dCsrKSB7CisgICAgZm9yIChuX2R0ZCA9IDA7bl9kdGQgPCBnZW5fbmJfeG1sRHRkUHRyO25fZHRkKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgb3V0cHV0ID0gZ2VuX2RlYnVnX0ZJTEVfcHRyKG5fb3V0cHV0LCAwKTsKKyAgICAgICAgZHRkID0gZ2VuX3htbER0ZFB0cihuX2R0ZCwgMSk7CisKKyAgICAgICAgeG1sRGVidWdEdW1wRFREKG91dHB1dCwgZHRkKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfZGVidWdfRklMRV9wdHIobl9vdXRwdXQsIG91dHB1dCwgMCk7CisgICAgICAgIGRlc194bWxEdGRQdHIobl9kdGQsIGR0ZCwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxEZWJ1Z0R1bXBEVEQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fb3V0cHV0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9kdGQpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sRGVidWdEdW1wRG9jdW1lbnQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9ERUJVR19FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBGSUxFICogb3V0cHV0OyAvKiB0aGUgRklMRSAqIGZvciB0aGUgb3V0cHV0ICovCisgICAgaW50IG5fb3V0cHV0OworICAgIHhtbERvY1B0ciBkb2M7IC8qIHRoZSBkb2N1bWVudCAqLworICAgIGludCBuX2RvYzsKKworICAgIGZvciAobl9vdXRwdXQgPSAwO25fb3V0cHV0IDwgZ2VuX25iX2RlYnVnX0ZJTEVfcHRyO25fb3V0cHV0KyspIHsKKyAgICBmb3IgKG5fZG9jID0gMDtuX2RvYyA8IGdlbl9uYl94bWxEb2NQdHI7bl9kb2MrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBvdXRwdXQgPSBnZW5fZGVidWdfRklMRV9wdHIobl9vdXRwdXQsIDApOworICAgICAgICBkb2MgPSBnZW5feG1sRG9jUHRyKG5fZG9jLCAxKTsKKworICAgICAgICB4bWxEZWJ1Z0R1bXBEb2N1bWVudChvdXRwdXQsIGRvYyk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2RlYnVnX0ZJTEVfcHRyKG5fb3V0cHV0LCBvdXRwdXQsIDApOworICAgICAgICBkZXNfeG1sRG9jUHRyKG5fZG9jLCBkb2MsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sRGVidWdEdW1wRG9jdW1lbnQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fb3V0cHV0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9kb2MpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sRGVidWdEdW1wRG9jdW1lbnRIZWFkKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfREVCVUdfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgRklMRSAqIG91dHB1dDsgLyogdGhlIEZJTEUgKiBmb3IgdGhlIG91dHB1dCAqLworICAgIGludCBuX291dHB1dDsKKyAgICB4bWxEb2NQdHIgZG9jOyAvKiB0aGUgZG9jdW1lbnQgKi8KKyAgICBpbnQgbl9kb2M7CisKKyAgICBmb3IgKG5fb3V0cHV0ID0gMDtuX291dHB1dCA8IGdlbl9uYl9kZWJ1Z19GSUxFX3B0cjtuX291dHB1dCsrKSB7CisgICAgZm9yIChuX2RvYyA9IDA7bl9kb2MgPCBnZW5fbmJfeG1sRG9jUHRyO25fZG9jKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgb3V0cHV0ID0gZ2VuX2RlYnVnX0ZJTEVfcHRyKG5fb3V0cHV0LCAwKTsKKyAgICAgICAgZG9jID0gZ2VuX3htbERvY1B0cihuX2RvYywgMSk7CisKKyAgICAgICAgeG1sRGVidWdEdW1wRG9jdW1lbnRIZWFkKG91dHB1dCwgZG9jKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfZGVidWdfRklMRV9wdHIobl9vdXRwdXQsIG91dHB1dCwgMCk7CisgICAgICAgIGRlc194bWxEb2NQdHIobl9kb2MsIGRvYywgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxEZWJ1Z0R1bXBEb2N1bWVudEhlYWQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fb3V0cHV0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9kb2MpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sRGVidWdEdW1wRW50aXRpZXModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9ERUJVR19FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBGSUxFICogb3V0cHV0OyAvKiB0aGUgRklMRSAqIGZvciB0aGUgb3V0cHV0ICovCisgICAgaW50IG5fb3V0cHV0OworICAgIHhtbERvY1B0ciBkb2M7IC8qIHRoZSBkb2N1bWVudCAqLworICAgIGludCBuX2RvYzsKKworICAgIGZvciAobl9vdXRwdXQgPSAwO25fb3V0cHV0IDwgZ2VuX25iX2RlYnVnX0ZJTEVfcHRyO25fb3V0cHV0KyspIHsKKyAgICBmb3IgKG5fZG9jID0gMDtuX2RvYyA8IGdlbl9uYl94bWxEb2NQdHI7bl9kb2MrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBvdXRwdXQgPSBnZW5fZGVidWdfRklMRV9wdHIobl9vdXRwdXQsIDApOworICAgICAgICBkb2MgPSBnZW5feG1sRG9jUHRyKG5fZG9jLCAxKTsKKworICAgICAgICB4bWxEZWJ1Z0R1bXBFbnRpdGllcyhvdXRwdXQsIGRvYyk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2RlYnVnX0ZJTEVfcHRyKG5fb3V0cHV0LCBvdXRwdXQsIDApOworICAgICAgICBkZXNfeG1sRG9jUHRyKG5fZG9jLCBkb2MsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sRGVidWdEdW1wRW50aXRpZXMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fb3V0cHV0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9kb2MpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sRGVidWdEdW1wTm9kZSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX0RFQlVHX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIEZJTEUgKiBvdXRwdXQ7IC8qIHRoZSBGSUxFICogZm9yIHRoZSBvdXRwdXQgKi8KKyAgICBpbnQgbl9vdXRwdXQ7CisgICAgeG1sTm9kZVB0ciBub2RlOyAvKiB0aGUgbm9kZSAqLworICAgIGludCBuX25vZGU7CisgICAgaW50IGRlcHRoOyAvKiB0aGUgaW5kZW50YXRpb24gbGV2ZWwuICovCisgICAgaW50IG5fZGVwdGg7CisKKyAgICBmb3IgKG5fb3V0cHV0ID0gMDtuX291dHB1dCA8IGdlbl9uYl9kZWJ1Z19GSUxFX3B0cjtuX291dHB1dCsrKSB7CisgICAgZm9yIChuX25vZGUgPSAwO25fbm9kZSA8IGdlbl9uYl94bWxOb2RlUHRyO25fbm9kZSsrKSB7CisgICAgZm9yIChuX2RlcHRoID0gMDtuX2RlcHRoIDwgZ2VuX25iX2ludDtuX2RlcHRoKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgb3V0cHV0ID0gZ2VuX2RlYnVnX0ZJTEVfcHRyKG5fb3V0cHV0LCAwKTsKKyAgICAgICAgbm9kZSA9IGdlbl94bWxOb2RlUHRyKG5fbm9kZSwgMSk7CisgICAgICAgIGRlcHRoID0gZ2VuX2ludChuX2RlcHRoLCAyKTsKKworICAgICAgICB4bWxEZWJ1Z0R1bXBOb2RlKG91dHB1dCwgbm9kZSwgZGVwdGgpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19kZWJ1Z19GSUxFX3B0cihuX291dHB1dCwgb3V0cHV0LCAwKTsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl9ub2RlLCBub2RlLCAxKTsKKyAgICAgICAgZGVzX2ludChuX2RlcHRoLCBkZXB0aCwgMik7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxEZWJ1Z0R1bXBOb2RlIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX291dHB1dCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbm9kZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZGVwdGgpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbERlYnVnRHVtcE5vZGVMaXN0KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfREVCVUdfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgRklMRSAqIG91dHB1dDsgLyogdGhlIEZJTEUgKiBmb3IgdGhlIG91dHB1dCAqLworICAgIGludCBuX291dHB1dDsKKyAgICB4bWxOb2RlUHRyIG5vZGU7IC8qIHRoZSBub2RlIGxpc3QgKi8KKyAgICBpbnQgbl9ub2RlOworICAgIGludCBkZXB0aDsgLyogdGhlIGluZGVudGF0aW9uIGxldmVsLiAqLworICAgIGludCBuX2RlcHRoOworCisgICAgZm9yIChuX291dHB1dCA9IDA7bl9vdXRwdXQgPCBnZW5fbmJfZGVidWdfRklMRV9wdHI7bl9vdXRwdXQrKykgeworICAgIGZvciAobl9ub2RlID0gMDtuX25vZGUgPCBnZW5fbmJfeG1sTm9kZVB0cjtuX25vZGUrKykgeworICAgIGZvciAobl9kZXB0aCA9IDA7bl9kZXB0aCA8IGdlbl9uYl9pbnQ7bl9kZXB0aCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIG91dHB1dCA9IGdlbl9kZWJ1Z19GSUxFX3B0cihuX291dHB1dCwgMCk7CisgICAgICAgIG5vZGUgPSBnZW5feG1sTm9kZVB0cihuX25vZGUsIDEpOworICAgICAgICBkZXB0aCA9IGdlbl9pbnQobl9kZXB0aCwgMik7CisKKyAgICAgICAgeG1sRGVidWdEdW1wTm9kZUxpc3Qob3V0cHV0LCBub2RlLCBkZXB0aCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2RlYnVnX0ZJTEVfcHRyKG5fb3V0cHV0LCBvdXRwdXQsIDApOworICAgICAgICBkZXNfeG1sTm9kZVB0cihuX25vZGUsIG5vZGUsIDEpOworICAgICAgICBkZXNfaW50KG5fZGVwdGgsIGRlcHRoLCAyKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbERlYnVnRHVtcE5vZGVMaXN0IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX291dHB1dCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbm9kZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZGVwdGgpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbERlYnVnRHVtcE9uZU5vZGUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9ERUJVR19FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBGSUxFICogb3V0cHV0OyAvKiB0aGUgRklMRSAqIGZvciB0aGUgb3V0cHV0ICovCisgICAgaW50IG5fb3V0cHV0OworICAgIHhtbE5vZGVQdHIgbm9kZTsgLyogdGhlIG5vZGUgKi8KKyAgICBpbnQgbl9ub2RlOworICAgIGludCBkZXB0aDsgLyogdGhlIGluZGVudGF0aW9uIGxldmVsLiAqLworICAgIGludCBuX2RlcHRoOworCisgICAgZm9yIChuX291dHB1dCA9IDA7bl9vdXRwdXQgPCBnZW5fbmJfZGVidWdfRklMRV9wdHI7bl9vdXRwdXQrKykgeworICAgIGZvciAobl9ub2RlID0gMDtuX25vZGUgPCBnZW5fbmJfeG1sTm9kZVB0cjtuX25vZGUrKykgeworICAgIGZvciAobl9kZXB0aCA9IDA7bl9kZXB0aCA8IGdlbl9uYl9pbnQ7bl9kZXB0aCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIG91dHB1dCA9IGdlbl9kZWJ1Z19GSUxFX3B0cihuX291dHB1dCwgMCk7CisgICAgICAgIG5vZGUgPSBnZW5feG1sTm9kZVB0cihuX25vZGUsIDEpOworICAgICAgICBkZXB0aCA9IGdlbl9pbnQobl9kZXB0aCwgMik7CisKKyAgICAgICAgeG1sRGVidWdEdW1wT25lTm9kZShvdXRwdXQsIG5vZGUsIGRlcHRoKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfZGVidWdfRklMRV9wdHIobl9vdXRwdXQsIG91dHB1dCwgMCk7CisgICAgICAgIGRlc194bWxOb2RlUHRyKG5fbm9kZSwgbm9kZSwgMSk7CisgICAgICAgIGRlc19pbnQobl9kZXB0aCwgZGVwdGgsIDIpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sRGVidWdEdW1wT25lTm9kZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9vdXRwdXQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25vZGUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2RlcHRoKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxEZWJ1Z0R1bXBTdHJpbmcodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9ERUJVR19FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBGSUxFICogb3V0cHV0OyAvKiB0aGUgRklMRSAqIGZvciB0aGUgb3V0cHV0ICovCisgICAgaW50IG5fb3V0cHV0OworICAgIHhtbENoYXIgKiBzdHI7IC8qIHRoZSBzdHJpbmcgKi8KKyAgICBpbnQgbl9zdHI7CisKKyAgICBmb3IgKG5fb3V0cHV0ID0gMDtuX291dHB1dCA8IGdlbl9uYl9kZWJ1Z19GSUxFX3B0cjtuX291dHB1dCsrKSB7CisgICAgZm9yIChuX3N0ciA9IDA7bl9zdHIgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9zdHIrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBvdXRwdXQgPSBnZW5fZGVidWdfRklMRV9wdHIobl9vdXRwdXQsIDApOworICAgICAgICBzdHIgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9zdHIsIDEpOworCisgICAgICAgIHhtbERlYnVnRHVtcFN0cmluZyhvdXRwdXQsIChjb25zdCB4bWxDaGFyICopc3RyKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfZGVidWdfRklMRV9wdHIobl9vdXRwdXQsIG91dHB1dCwgMCk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX3N0ciwgKGNvbnN0IHhtbENoYXIgKilzdHIsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sRGVidWdEdW1wU3RyaW5nIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX291dHB1dCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fc3RyKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbExzQ291bnROb2RlKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfREVCVUdfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sTm9kZVB0ciBub2RlOyAvKiB0aGUgbm9kZSB0byBjb3VudCAqLworICAgIGludCBuX25vZGU7CisKKyAgICBmb3IgKG5fbm9kZSA9IDA7bl9ub2RlIDwgZ2VuX25iX3htbE5vZGVQdHI7bl9ub2RlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgbm9kZSA9IGdlbl94bWxOb2RlUHRyKG5fbm9kZSwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbExzQ291bnROb2RlKG5vZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxOb2RlUHRyKG5fbm9kZSwgbm9kZSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxMc0NvdW50Tm9kZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9ub2RlKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sTHNPbmVOb2RlKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfREVCVUdfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgRklMRSAqIG91dHB1dDsgLyogdGhlIEZJTEUgKiBmb3IgdGhlIG91dHB1dCAqLworICAgIGludCBuX291dHB1dDsKKyAgICB4bWxOb2RlUHRyIG5vZGU7IC8qIHRoZSBub2RlIHRvIGR1bXAgKi8KKyAgICBpbnQgbl9ub2RlOworCisgICAgZm9yIChuX291dHB1dCA9IDA7bl9vdXRwdXQgPCBnZW5fbmJfZGVidWdfRklMRV9wdHI7bl9vdXRwdXQrKykgeworICAgIGZvciAobl9ub2RlID0gMDtuX25vZGUgPCBnZW5fbmJfeG1sTm9kZVB0cjtuX25vZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBvdXRwdXQgPSBnZW5fZGVidWdfRklMRV9wdHIobl9vdXRwdXQsIDApOworICAgICAgICBub2RlID0gZ2VuX3htbE5vZGVQdHIobl9ub2RlLCAxKTsKKworICAgICAgICB4bWxMc09uZU5vZGUob3V0cHV0LCBub2RlKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfZGVidWdfRklMRV9wdHIobl9vdXRwdXQsIG91dHB1dCwgMCk7CisgICAgICAgIGRlc194bWxOb2RlUHRyKG5fbm9kZSwgbm9kZSwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxMc09uZU5vZGUiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fb3V0cHV0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9ub2RlKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCisjZGVmaW5lIGdlbl9uYl9jaGFyX3B0ciAxCitzdGF0aWMgY2hhciAqIGdlbl9jaGFyX3B0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICByZXR1cm4oTlVMTCk7Cit9CitzdGF0aWMgdm9pZCBkZXNfY2hhcl9wdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIGNoYXIgKiB2YWwgQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKK30KKworc3RhdGljIGludAordGVzdF94bWxTaGVsbCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworCisgICAgLyogbWlzc2luZyB0eXBlIHN1cHBvcnQgKi8KKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sU2hlbGxCYXNlKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfREVCVUdfRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sU2hlbGxDdHh0UHRyIGN0eHQ7IC8qIHRoZSBzaGVsbCBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKyAgICBjaGFyICogYXJnOyAvKiB1bnVzZWQgKi8KKyAgICBpbnQgbl9hcmc7CisgICAgeG1sTm9kZVB0ciBub2RlOyAvKiBhIG5vZGUgKi8KKyAgICBpbnQgbl9ub2RlOworICAgIHhtbE5vZGVQdHIgbm9kZTI7IC8qIHVudXNlZCAqLworICAgIGludCBuX25vZGUyOworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxTaGVsbEN0eHRQdHI7bl9jdHh0KyspIHsKKyAgICBmb3IgKG5fYXJnID0gMDtuX2FyZyA8IGdlbl9uYl9jaGFyX3B0cjtuX2FyZysrKSB7CisgICAgZm9yIChuX25vZGUgPSAwO25fbm9kZSA8IGdlbl9uYl94bWxOb2RlUHRyO25fbm9kZSsrKSB7CisgICAgZm9yIChuX25vZGUyID0gMDtuX25vZGUyIDwgZ2VuX25iX3htbE5vZGVQdHI7bl9ub2RlMisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eHQgPSBnZW5feG1sU2hlbGxDdHh0UHRyKG5fY3R4dCwgMCk7CisgICAgICAgIGFyZyA9IGdlbl9jaGFyX3B0cihuX2FyZywgMSk7CisgICAgICAgIG5vZGUgPSBnZW5feG1sTm9kZVB0cihuX25vZGUsIDIpOworICAgICAgICBub2RlMiA9IGdlbl94bWxOb2RlUHRyKG5fbm9kZTIsIDMpOworCisgICAgICAgIHJldF92YWwgPSB4bWxTaGVsbEJhc2UoY3R4dCwgYXJnLCBub2RlLCBub2RlMik7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFNoZWxsQ3R4dFB0cihuX2N0eHQsIGN0eHQsIDApOworICAgICAgICBkZXNfY2hhcl9wdHIobl9hcmcsIGFyZywgMSk7CisgICAgICAgIGRlc194bWxOb2RlUHRyKG5fbm9kZSwgbm9kZSwgMik7CisgICAgICAgIGRlc194bWxOb2RlUHRyKG5fbm9kZTIsIG5vZGUyLCAzKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFNoZWxsQmFzZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHh0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9hcmcpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25vZGUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25vZGUyKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sU2hlbGxDYXQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9ERUJVR19FTkFCTEVEKSAmJiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKSAmJiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sU2hlbGxDdHh0UHRyIGN0eHQ7IC8qIHRoZSBzaGVsbCBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKyAgICBjaGFyICogYXJnOyAvKiB1bnVzZWQgKi8KKyAgICBpbnQgbl9hcmc7CisgICAgeG1sTm9kZVB0ciBub2RlOyAvKiBhIG5vZGUgKi8KKyAgICBpbnQgbl9ub2RlOworICAgIHhtbE5vZGVQdHIgbm9kZTI7IC8qIHVudXNlZCAqLworICAgIGludCBuX25vZGUyOworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxTaGVsbEN0eHRQdHI7bl9jdHh0KyspIHsKKyAgICBmb3IgKG5fYXJnID0gMDtuX2FyZyA8IGdlbl9uYl9jaGFyX3B0cjtuX2FyZysrKSB7CisgICAgZm9yIChuX25vZGUgPSAwO25fbm9kZSA8IGdlbl9uYl94bWxOb2RlUHRyO25fbm9kZSsrKSB7CisgICAgZm9yIChuX25vZGUyID0gMDtuX25vZGUyIDwgZ2VuX25iX3htbE5vZGVQdHI7bl9ub2RlMisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eHQgPSBnZW5feG1sU2hlbGxDdHh0UHRyKG5fY3R4dCwgMCk7CisgICAgICAgIGFyZyA9IGdlbl9jaGFyX3B0cihuX2FyZywgMSk7CisgICAgICAgIG5vZGUgPSBnZW5feG1sTm9kZVB0cihuX25vZGUsIDIpOworICAgICAgICBub2RlMiA9IGdlbl94bWxOb2RlUHRyKG5fbm9kZTIsIDMpOworCisgICAgICAgIHJldF92YWwgPSB4bWxTaGVsbENhdChjdHh0LCBhcmcsIG5vZGUsIG5vZGUyKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sU2hlbGxDdHh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIGRlc19jaGFyX3B0cihuX2FyZywgYXJnLCAxKTsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl9ub2RlLCBub2RlLCAyKTsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl9ub2RlMiwgbm9kZTIsIDMpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sU2hlbGxDYXQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fYXJnKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9ub2RlKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9ub2RlMik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFNoZWxsRGlyKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfREVCVUdfRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sU2hlbGxDdHh0UHRyIGN0eHQ7IC8qIHRoZSBzaGVsbCBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKyAgICBjaGFyICogYXJnOyAvKiB1bnVzZWQgKi8KKyAgICBpbnQgbl9hcmc7CisgICAgeG1sTm9kZVB0ciBub2RlOyAvKiBhIG5vZGUgKi8KKyAgICBpbnQgbl9ub2RlOworICAgIHhtbE5vZGVQdHIgbm9kZTI7IC8qIHVudXNlZCAqLworICAgIGludCBuX25vZGUyOworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxTaGVsbEN0eHRQdHI7bl9jdHh0KyspIHsKKyAgICBmb3IgKG5fYXJnID0gMDtuX2FyZyA8IGdlbl9uYl9jaGFyX3B0cjtuX2FyZysrKSB7CisgICAgZm9yIChuX25vZGUgPSAwO25fbm9kZSA8IGdlbl9uYl94bWxOb2RlUHRyO25fbm9kZSsrKSB7CisgICAgZm9yIChuX25vZGUyID0gMDtuX25vZGUyIDwgZ2VuX25iX3htbE5vZGVQdHI7bl9ub2RlMisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eHQgPSBnZW5feG1sU2hlbGxDdHh0UHRyKG5fY3R4dCwgMCk7CisgICAgICAgIGFyZyA9IGdlbl9jaGFyX3B0cihuX2FyZywgMSk7CisgICAgICAgIG5vZGUgPSBnZW5feG1sTm9kZVB0cihuX25vZGUsIDIpOworICAgICAgICBub2RlMiA9IGdlbl94bWxOb2RlUHRyKG5fbm9kZTIsIDMpOworCisgICAgICAgIHJldF92YWwgPSB4bWxTaGVsbERpcihjdHh0LCBhcmcsIG5vZGUsIG5vZGUyKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sU2hlbGxDdHh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIGRlc19jaGFyX3B0cihuX2FyZywgYXJnLCAxKTsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl9ub2RlLCBub2RlLCAyKTsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl9ub2RlMiwgbm9kZTIsIDMpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sU2hlbGxEaXIiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fYXJnKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9ub2RlKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9ub2RlMik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFNoZWxsRHUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9ERUJVR19FTkFCTEVEKSAmJiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxTaGVsbEN0eHRQdHIgY3R4dDsgLyogdGhlIHNoZWxsIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHh0OworICAgIGNoYXIgKiBhcmc7IC8qIHVudXNlZCAqLworICAgIGludCBuX2FyZzsKKyAgICB4bWxOb2RlUHRyIHRyZWU7IC8qIGEgbm9kZSBkZWZpbmluZyBhIHN1YnRyZWUgKi8KKyAgICBpbnQgbl90cmVlOworICAgIHhtbE5vZGVQdHIgbm9kZTI7IC8qIHVudXNlZCAqLworICAgIGludCBuX25vZGUyOworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxTaGVsbEN0eHRQdHI7bl9jdHh0KyspIHsKKyAgICBmb3IgKG5fYXJnID0gMDtuX2FyZyA8IGdlbl9uYl9jaGFyX3B0cjtuX2FyZysrKSB7CisgICAgZm9yIChuX3RyZWUgPSAwO25fdHJlZSA8IGdlbl9uYl94bWxOb2RlUHRyO25fdHJlZSsrKSB7CisgICAgZm9yIChuX25vZGUyID0gMDtuX25vZGUyIDwgZ2VuX25iX3htbE5vZGVQdHI7bl9ub2RlMisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eHQgPSBnZW5feG1sU2hlbGxDdHh0UHRyKG5fY3R4dCwgMCk7CisgICAgICAgIGFyZyA9IGdlbl9jaGFyX3B0cihuX2FyZywgMSk7CisgICAgICAgIHRyZWUgPSBnZW5feG1sTm9kZVB0cihuX3RyZWUsIDIpOworICAgICAgICBub2RlMiA9IGdlbl94bWxOb2RlUHRyKG5fbm9kZTIsIDMpOworCisgICAgICAgIHJldF92YWwgPSB4bWxTaGVsbER1KGN0eHQsIGFyZywgdHJlZSwgbm9kZTIpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxTaGVsbEN0eHRQdHIobl9jdHh0LCBjdHh0LCAwKTsKKyAgICAgICAgZGVzX2NoYXJfcHRyKG5fYXJnLCBhcmcsIDEpOworICAgICAgICBkZXNfeG1sTm9kZVB0cihuX3RyZWUsIHRyZWUsIDIpOworICAgICAgICBkZXNfeG1sTm9kZVB0cihuX25vZGUyLCBub2RlMiwgMyk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxTaGVsbER1IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2FyZyk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdHJlZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbm9kZTIpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxTaGVsbExpc3Qodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9ERUJVR19FTkFCTEVEKSAmJiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxTaGVsbEN0eHRQdHIgY3R4dDsgLyogdGhlIHNoZWxsIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHh0OworICAgIGNoYXIgKiBhcmc7IC8qIHVudXNlZCAqLworICAgIGludCBuX2FyZzsKKyAgICB4bWxOb2RlUHRyIG5vZGU7IC8qIGEgbm9kZSAqLworICAgIGludCBuX25vZGU7CisgICAgeG1sTm9kZVB0ciBub2RlMjsgLyogdW51c2VkICovCisgICAgaW50IG5fbm9kZTI7CisKKyAgICBmb3IgKG5fY3R4dCA9IDA7bl9jdHh0IDwgZ2VuX25iX3htbFNoZWxsQ3R4dFB0cjtuX2N0eHQrKykgeworICAgIGZvciAobl9hcmcgPSAwO25fYXJnIDwgZ2VuX25iX2NoYXJfcHRyO25fYXJnKyspIHsKKyAgICBmb3IgKG5fbm9kZSA9IDA7bl9ub2RlIDwgZ2VuX25iX3htbE5vZGVQdHI7bl9ub2RlKyspIHsKKyAgICBmb3IgKG5fbm9kZTIgPSAwO25fbm9kZTIgPCBnZW5fbmJfeG1sTm9kZVB0cjtuX25vZGUyKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4dCA9IGdlbl94bWxTaGVsbEN0eHRQdHIobl9jdHh0LCAwKTsKKyAgICAgICAgYXJnID0gZ2VuX2NoYXJfcHRyKG5fYXJnLCAxKTsKKyAgICAgICAgbm9kZSA9IGdlbl94bWxOb2RlUHRyKG5fbm9kZSwgMik7CisgICAgICAgIG5vZGUyID0gZ2VuX3htbE5vZGVQdHIobl9ub2RlMiwgMyk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFNoZWxsTGlzdChjdHh0LCBhcmcsIG5vZGUsIG5vZGUyKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sU2hlbGxDdHh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIGRlc19jaGFyX3B0cihuX2FyZywgYXJnLCAxKTsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl9ub2RlLCBub2RlLCAyKTsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl9ub2RlMiwgbm9kZTIsIDMpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sU2hlbGxMaXN0IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2FyZyk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbm9kZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbm9kZTIpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxTaGVsbExvYWQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9ERUJVR19FTkFCTEVEKSAmJiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxTaGVsbEN0eHRQdHIgY3R4dDsgLyogdGhlIHNoZWxsIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHh0OworICAgIGNoYXIgKiBmaWxlbmFtZTsgLyogdGhlIGZpbGUgbmFtZSAqLworICAgIGludCBuX2ZpbGVuYW1lOworICAgIHhtbE5vZGVQdHIgbm9kZTsgLyogdW51c2VkICovCisgICAgaW50IG5fbm9kZTsKKyAgICB4bWxOb2RlUHRyIG5vZGUyOyAvKiB1bnVzZWQgKi8KKyAgICBpbnQgbl9ub2RlMjsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfeG1sU2hlbGxDdHh0UHRyO25fY3R4dCsrKSB7CisgICAgZm9yIChuX2ZpbGVuYW1lID0gMDtuX2ZpbGVuYW1lIDwgZ2VuX25iX2NoYXJfcHRyO25fZmlsZW5hbWUrKykgeworICAgIGZvciAobl9ub2RlID0gMDtuX25vZGUgPCBnZW5fbmJfeG1sTm9kZVB0cjtuX25vZGUrKykgeworICAgIGZvciAobl9ub2RlMiA9IDA7bl9ub2RlMiA8IGdlbl9uYl94bWxOb2RlUHRyO25fbm9kZTIrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX3htbFNoZWxsQ3R4dFB0cihuX2N0eHQsIDApOworICAgICAgICBmaWxlbmFtZSA9IGdlbl9jaGFyX3B0cihuX2ZpbGVuYW1lLCAxKTsKKyAgICAgICAgbm9kZSA9IGdlbl94bWxOb2RlUHRyKG5fbm9kZSwgMik7CisgICAgICAgIG5vZGUyID0gZ2VuX3htbE5vZGVQdHIobl9ub2RlMiwgMyk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFNoZWxsTG9hZChjdHh0LCBmaWxlbmFtZSwgbm9kZSwgbm9kZTIpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxTaGVsbEN0eHRQdHIobl9jdHh0LCBjdHh0LCAwKTsKKyAgICAgICAgZGVzX2NoYXJfcHRyKG5fZmlsZW5hbWUsIGZpbGVuYW1lLCAxKTsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl9ub2RlLCBub2RlLCAyKTsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl9ub2RlMiwgbm9kZTIsIDMpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sU2hlbGxMb2FkIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2ZpbGVuYW1lKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9ub2RlKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9ub2RlMik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFNoZWxsUHJpbnRYUGF0aFJlc3VsdCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX0RFQlVHX0VOQUJMRUQpICYmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbFhQYXRoT2JqZWN0UHRyIGxpc3Q7IC8qIGEgdmFsaWQgcmVzdWx0IGdlbmVyYXRlZCBieSBhbiB4cGF0aCBldmFsdWF0aW9uICovCisgICAgaW50IG5fbGlzdDsKKworICAgIGZvciAobl9saXN0ID0gMDtuX2xpc3QgPCBnZW5fbmJfeG1sWFBhdGhPYmplY3RQdHI7bl9saXN0KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgbGlzdCA9IGdlbl94bWxYUGF0aE9iamVjdFB0cihuX2xpc3QsIDApOworCisgICAgICAgIHhtbFNoZWxsUHJpbnRYUGF0aFJlc3VsdChsaXN0KTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sWFBhdGhPYmplY3RQdHIobl9saXN0LCBsaXN0LCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFNoZWxsUHJpbnRYUGF0aFJlc3VsdCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9saXN0KTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sU2hlbGxQd2Qodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9ERUJVR19FTkFCTEVEKSAmJiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxTaGVsbEN0eHRQdHIgY3R4dDsgLyogdGhlIHNoZWxsIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHh0OworICAgIGNoYXIgKiBidWZmZXI7IC8qIHRoZSBvdXRwdXQgYnVmZmVyICovCisgICAgaW50IG5fYnVmZmVyOworICAgIHhtbE5vZGVQdHIgbm9kZTsgLyogYSBub2RlICovCisgICAgaW50IG5fbm9kZTsKKyAgICB4bWxOb2RlUHRyIG5vZGUyOyAvKiB1bnVzZWQgKi8KKyAgICBpbnQgbl9ub2RlMjsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfeG1sU2hlbGxDdHh0UHRyO25fY3R4dCsrKSB7CisgICAgZm9yIChuX2J1ZmZlciA9IDA7bl9idWZmZXIgPCBnZW5fbmJfY2hhcl9wdHI7bl9idWZmZXIrKykgeworICAgIGZvciAobl9ub2RlID0gMDtuX25vZGUgPCBnZW5fbmJfeG1sTm9kZVB0cjtuX25vZGUrKykgeworICAgIGZvciAobl9ub2RlMiA9IDA7bl9ub2RlMiA8IGdlbl9uYl94bWxOb2RlUHRyO25fbm9kZTIrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX3htbFNoZWxsQ3R4dFB0cihuX2N0eHQsIDApOworICAgICAgICBidWZmZXIgPSBnZW5fY2hhcl9wdHIobl9idWZmZXIsIDEpOworICAgICAgICBub2RlID0gZ2VuX3htbE5vZGVQdHIobl9ub2RlLCAyKTsKKyAgICAgICAgbm9kZTIgPSBnZW5feG1sTm9kZVB0cihuX25vZGUyLCAzKTsKKworICAgICAgICByZXRfdmFsID0geG1sU2hlbGxQd2QoY3R4dCwgYnVmZmVyLCBub2RlLCBub2RlMik7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFNoZWxsQ3R4dFB0cihuX2N0eHQsIGN0eHQsIDApOworICAgICAgICBkZXNfY2hhcl9wdHIobl9idWZmZXIsIGJ1ZmZlciwgMSk7CisgICAgICAgIGRlc194bWxOb2RlUHRyKG5fbm9kZSwgbm9kZSwgMik7CisgICAgICAgIGRlc194bWxOb2RlUHRyKG5fbm9kZTIsIG5vZGUyLCAzKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFNoZWxsUHdkIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2J1ZmZlcik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbm9kZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbm9kZTIpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxTaGVsbFNhdmUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9ERUJVR19FTkFCTEVEKSAmJiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKSAmJiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sU2hlbGxDdHh0UHRyIGN0eHQ7IC8qIHRoZSBzaGVsbCBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKyAgICBjaGFyICogZmlsZW5hbWU7IC8qIHRoZSBmaWxlIG5hbWUgKG9wdGlvbmFsKSAqLworICAgIGludCBuX2ZpbGVuYW1lOworICAgIHhtbE5vZGVQdHIgbm9kZTsgLyogdW51c2VkICovCisgICAgaW50IG5fbm9kZTsKKyAgICB4bWxOb2RlUHRyIG5vZGUyOyAvKiB1bnVzZWQgKi8KKyAgICBpbnQgbl9ub2RlMjsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfeG1sU2hlbGxDdHh0UHRyO25fY3R4dCsrKSB7CisgICAgZm9yIChuX2ZpbGVuYW1lID0gMDtuX2ZpbGVuYW1lIDwgZ2VuX25iX2NoYXJfcHRyO25fZmlsZW5hbWUrKykgeworICAgIGZvciAobl9ub2RlID0gMDtuX25vZGUgPCBnZW5fbmJfeG1sTm9kZVB0cjtuX25vZGUrKykgeworICAgIGZvciAobl9ub2RlMiA9IDA7bl9ub2RlMiA8IGdlbl9uYl94bWxOb2RlUHRyO25fbm9kZTIrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX3htbFNoZWxsQ3R4dFB0cihuX2N0eHQsIDApOworICAgICAgICBmaWxlbmFtZSA9IGdlbl9jaGFyX3B0cihuX2ZpbGVuYW1lLCAxKTsKKyAgICAgICAgbm9kZSA9IGdlbl94bWxOb2RlUHRyKG5fbm9kZSwgMik7CisgICAgICAgIG5vZGUyID0gZ2VuX3htbE5vZGVQdHIobl9ub2RlMiwgMyk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFNoZWxsU2F2ZShjdHh0LCBmaWxlbmFtZSwgbm9kZSwgbm9kZTIpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxTaGVsbEN0eHRQdHIobl9jdHh0LCBjdHh0LCAwKTsKKyAgICAgICAgZGVzX2NoYXJfcHRyKG5fZmlsZW5hbWUsIGZpbGVuYW1lLCAxKTsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl9ub2RlLCBub2RlLCAyKTsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl9ub2RlMiwgbm9kZTIsIDMpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sU2hlbGxTYXZlIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2ZpbGVuYW1lKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9ub2RlKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9ub2RlMik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFNoZWxsVmFsaWRhdGUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9ERUJVR19FTkFCTEVEKSAmJiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKSAmJiBkZWZpbmVkKExJQlhNTF9WQUxJRF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxTaGVsbEN0eHRQdHIgY3R4dDsgLyogdGhlIHNoZWxsIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHh0OworICAgIGNoYXIgKiBkdGQ7IC8qIHRoZSBEVEQgVVJJIChvcHRpb25hbCkgKi8KKyAgICBpbnQgbl9kdGQ7CisgICAgeG1sTm9kZVB0ciBub2RlOyAvKiB1bnVzZWQgKi8KKyAgICBpbnQgbl9ub2RlOworICAgIHhtbE5vZGVQdHIgbm9kZTI7IC8qIHVudXNlZCAqLworICAgIGludCBuX25vZGUyOworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxTaGVsbEN0eHRQdHI7bl9jdHh0KyspIHsKKyAgICBmb3IgKG5fZHRkID0gMDtuX2R0ZCA8IGdlbl9uYl9jaGFyX3B0cjtuX2R0ZCsrKSB7CisgICAgZm9yIChuX25vZGUgPSAwO25fbm9kZSA8IGdlbl9uYl94bWxOb2RlUHRyO25fbm9kZSsrKSB7CisgICAgZm9yIChuX25vZGUyID0gMDtuX25vZGUyIDwgZ2VuX25iX3htbE5vZGVQdHI7bl9ub2RlMisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eHQgPSBnZW5feG1sU2hlbGxDdHh0UHRyKG5fY3R4dCwgMCk7CisgICAgICAgIGR0ZCA9IGdlbl9jaGFyX3B0cihuX2R0ZCwgMSk7CisgICAgICAgIG5vZGUgPSBnZW5feG1sTm9kZVB0cihuX25vZGUsIDIpOworICAgICAgICBub2RlMiA9IGdlbl94bWxOb2RlUHRyKG5fbm9kZTIsIDMpOworCisgICAgICAgIHJldF92YWwgPSB4bWxTaGVsbFZhbGlkYXRlKGN0eHQsIGR0ZCwgbm9kZSwgbm9kZTIpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxTaGVsbEN0eHRQdHIobl9jdHh0LCBjdHh0LCAwKTsKKyAgICAgICAgZGVzX2NoYXJfcHRyKG5fZHRkLCBkdGQsIDEpOworICAgICAgICBkZXNfeG1sTm9kZVB0cihuX25vZGUsIG5vZGUsIDIpOworICAgICAgICBkZXNfeG1sTm9kZVB0cihuX25vZGUyLCBub2RlMiwgMyk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxTaGVsbFZhbGlkYXRlIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2R0ZCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbm9kZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbm9kZTIpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxTaGVsbFdyaXRlKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfREVCVUdfRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbFNoZWxsQ3R4dFB0ciBjdHh0OyAvKiB0aGUgc2hlbGwgY29udGV4dCAqLworICAgIGludCBuX2N0eHQ7CisgICAgY2hhciAqIGZpbGVuYW1lOyAvKiB0aGUgZmlsZSBuYW1lICovCisgICAgaW50IG5fZmlsZW5hbWU7CisgICAgeG1sTm9kZVB0ciBub2RlOyAvKiBhIG5vZGUgaW4gdGhlIHRyZWUgKi8KKyAgICBpbnQgbl9ub2RlOworICAgIHhtbE5vZGVQdHIgbm9kZTI7IC8qIHVudXNlZCAqLworICAgIGludCBuX25vZGUyOworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxTaGVsbEN0eHRQdHI7bl9jdHh0KyspIHsKKyAgICBmb3IgKG5fZmlsZW5hbWUgPSAwO25fZmlsZW5hbWUgPCBnZW5fbmJfY2hhcl9wdHI7bl9maWxlbmFtZSsrKSB7CisgICAgZm9yIChuX25vZGUgPSAwO25fbm9kZSA8IGdlbl9uYl94bWxOb2RlUHRyO25fbm9kZSsrKSB7CisgICAgZm9yIChuX25vZGUyID0gMDtuX25vZGUyIDwgZ2VuX25iX3htbE5vZGVQdHI7bl9ub2RlMisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eHQgPSBnZW5feG1sU2hlbGxDdHh0UHRyKG5fY3R4dCwgMCk7CisgICAgICAgIGZpbGVuYW1lID0gZ2VuX2NoYXJfcHRyKG5fZmlsZW5hbWUsIDEpOworICAgICAgICBub2RlID0gZ2VuX3htbE5vZGVQdHIobl9ub2RlLCAyKTsKKyAgICAgICAgbm9kZTIgPSBnZW5feG1sTm9kZVB0cihuX25vZGUyLCAzKTsKKworICAgICAgICByZXRfdmFsID0geG1sU2hlbGxXcml0ZShjdHh0LCBmaWxlbmFtZSwgbm9kZSwgbm9kZTIpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxTaGVsbEN0eHRQdHIobl9jdHh0LCBjdHh0LCAwKTsKKyAgICAgICAgZGVzX2NoYXJfcHRyKG5fZmlsZW5hbWUsIGZpbGVuYW1lLCAxKTsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl9ub2RlLCBub2RlLCAyKTsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl9ub2RlMiwgbm9kZTIsIDMpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sU2hlbGxXcml0ZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHh0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9maWxlbmFtZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbm9kZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbm9kZTIpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKK3N0YXRpYyBpbnQKK3Rlc3RfZGVidWdYTUwodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpZiAocXVpZXQgPT0gMCkgcHJpbnRmKCJUZXN0aW5nIGRlYnVnWE1MIDogMjUgb2YgMjggZnVuY3Rpb25zIC4uLlxuIik7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxCb29sVG9UZXh0KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxEZWJ1Z0NoZWNrRG9jdW1lbnQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbERlYnVnRHVtcEF0dHIoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbERlYnVnRHVtcEF0dHJMaXN0KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxEZWJ1Z0R1bXBEVEQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbERlYnVnRHVtcERvY3VtZW50KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxEZWJ1Z0R1bXBEb2N1bWVudEhlYWQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbERlYnVnRHVtcEVudGl0aWVzKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxEZWJ1Z0R1bXBOb2RlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxEZWJ1Z0R1bXBOb2RlTGlzdCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sRGVidWdEdW1wT25lTm9kZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sRGVidWdEdW1wU3RyaW5nKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxMc0NvdW50Tm9kZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sTHNPbmVOb2RlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxTaGVsbCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU2hlbGxCYXNlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxTaGVsbENhdCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU2hlbGxEaXIoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFNoZWxsRHUoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFNoZWxsTGlzdCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU2hlbGxMb2FkKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxTaGVsbFByaW50WFBhdGhSZXN1bHQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFNoZWxsUHdkKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxTaGVsbFNhdmUoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFNoZWxsVmFsaWRhdGUoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFNoZWxsV3JpdGUoKTsKKworICAgIGlmICh0ZXN0X3JldCAhPSAwKQorCXByaW50ZigiTW9kdWxlIGRlYnVnWE1MOiAlZCBlcnJvcnNcbiIsIHRlc3RfcmV0KTsKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCitzdGF0aWMgaW50Cit0ZXN0X3htbERpY3RDbGVhbnVwKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworCisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisKKyAgICAgICAgeG1sRGljdENsZWFudXAoKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sRGljdENsZWFudXAiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbERpY3RDcmVhdGUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sRGljdFB0ciByZXRfdmFsOworCisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbERpY3RDcmVhdGUoKTsKKyAgICAgICAgZGVzcmV0X3htbERpY3RQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbERpY3RDcmVhdGUiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbERpY3RDcmVhdGVTdWIodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sRGljdFB0ciByZXRfdmFsOworICAgIHhtbERpY3RQdHIgc3ViOyAvKiBhbiBleGlzdGluZyBkaWN0aW9ubmFyeSAqLworICAgIGludCBuX3N1YjsKKworICAgIGZvciAobl9zdWIgPSAwO25fc3ViIDwgZ2VuX25iX3htbERpY3RQdHI7bl9zdWIrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBzdWIgPSBnZW5feG1sRGljdFB0cihuX3N1YiwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbERpY3RDcmVhdGVTdWIoc3ViKTsKKyAgICAgICAgZGVzcmV0X3htbERpY3RQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbERpY3RQdHIobl9zdWIsIHN1YiwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxEaWN0Q3JlYXRlU3ViIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3N1Yik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxEaWN0RXhpc3RzKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIGNvbnN0IHhtbENoYXIgKiByZXRfdmFsOworICAgIHhtbERpY3RQdHIgZGljdDsgLyogdGhlIGRpY3Rpb25uYXJ5ICovCisgICAgaW50IG5fZGljdDsKKyAgICB4bWxDaGFyICogbmFtZTsgLyogdGhlIG5hbWUgb2YgdGhlIHVzZXJkYXRhICovCisgICAgaW50IG5fbmFtZTsKKyAgICBpbnQgbGVuOyAvKiB0aGUgbGVuZ3RoIG9mIHRoZSBuYW1lLCBpZiAtMSBpdCBpcyByZWNvbXB1dGVkICovCisgICAgaW50IG5fbGVuOworCisgICAgZm9yIChuX2RpY3QgPSAwO25fZGljdCA8IGdlbl9uYl94bWxEaWN0UHRyO25fZGljdCsrKSB7CisgICAgZm9yIChuX25hbWUgPSAwO25fbmFtZSA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX25hbWUrKykgeworICAgIGZvciAobl9sZW4gPSAwO25fbGVuIDwgZ2VuX25iX2ludDtuX2xlbisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGRpY3QgPSBnZW5feG1sRGljdFB0cihuX2RpY3QsIDApOworICAgICAgICBuYW1lID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgMSk7CisgICAgICAgIGxlbiA9IGdlbl9pbnQobl9sZW4sIDIpOworCisgICAgICAgIHJldF92YWwgPSB4bWxEaWN0RXhpc3RzKGRpY3QsIChjb25zdCB4bWxDaGFyICopbmFtZSwgbGVuKTsKKyAgICAgICAgZGVzcmV0X2NvbnN0X3htbENoYXJfcHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxEaWN0UHRyKG5fZGljdCwgZGljdCwgMCk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIChjb25zdCB4bWxDaGFyICopbmFtZSwgMSk7CisgICAgICAgIGRlc19pbnQobl9sZW4sIGxlbiwgMik7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxEaWN0RXhpc3RzIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2RpY3QpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25hbWUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2xlbik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbERpY3RHZXRVc2FnZSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworCisgICAgLyogbWlzc2luZyB0eXBlIHN1cHBvcnQgKi8KKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sRGljdExvb2t1cCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICBjb25zdCB4bWxDaGFyICogcmV0X3ZhbDsKKyAgICB4bWxEaWN0UHRyIGRpY3Q7IC8qIHRoZSBkaWN0aW9ubmFyeSAqLworICAgIGludCBuX2RpY3Q7CisgICAgeG1sQ2hhciAqIG5hbWU7IC8qIHRoZSBuYW1lIG9mIHRoZSB1c2VyZGF0YSAqLworICAgIGludCBuX25hbWU7CisgICAgaW50IGxlbjsgLyogdGhlIGxlbmd0aCBvZiB0aGUgbmFtZSwgaWYgLTEgaXQgaXMgcmVjb21wdXRlZCAqLworICAgIGludCBuX2xlbjsKKworICAgIGZvciAobl9kaWN0ID0gMDtuX2RpY3QgPCBnZW5fbmJfeG1sRGljdFB0cjtuX2RpY3QrKykgeworICAgIGZvciAobl9uYW1lID0gMDtuX25hbWUgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9uYW1lKyspIHsKKyAgICBmb3IgKG5fbGVuID0gMDtuX2xlbiA8IGdlbl9uYl9pbnQ7bl9sZW4rKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBkaWN0ID0gZ2VuX3htbERpY3RQdHIobl9kaWN0LCAwKTsKKyAgICAgICAgbmFtZSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIDEpOworICAgICAgICBsZW4gPSBnZW5faW50KG5fbGVuLCAyKTsKKworICAgICAgICByZXRfdmFsID0geG1sRGljdExvb2t1cChkaWN0LCAoY29uc3QgeG1sQ2hhciAqKW5hbWUsIGxlbik7CisgICAgICAgIGRlc3JldF9jb25zdF94bWxDaGFyX3B0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sRGljdFB0cihuX2RpY3QsIGRpY3QsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUsIDEpOworICAgICAgICBkZXNfaW50KG5fbGVuLCBsZW4sIDIpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sRGljdExvb2t1cCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9kaWN0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9uYW1lKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9sZW4pOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxEaWN0T3ducyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxEaWN0UHRyIGRpY3Q7IC8qIHRoZSBkaWN0aW9ubmFyeSAqLworICAgIGludCBuX2RpY3Q7CisgICAgeG1sQ2hhciAqIHN0cjsgLyogdGhlIHN0cmluZyAqLworICAgIGludCBuX3N0cjsKKworICAgIGZvciAobl9kaWN0ID0gMDtuX2RpY3QgPCBnZW5fbmJfeG1sRGljdFB0cjtuX2RpY3QrKykgeworICAgIGZvciAobl9zdHIgPSAwO25fc3RyIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fc3RyKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgZGljdCA9IGdlbl94bWxEaWN0UHRyKG5fZGljdCwgMCk7CisgICAgICAgIHN0ciA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX3N0ciwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbERpY3RPd25zKGRpY3QsIChjb25zdCB4bWxDaGFyICopc3RyKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sRGljdFB0cihuX2RpY3QsIGRpY3QsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9zdHIsIChjb25zdCB4bWxDaGFyICopc3RyLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbERpY3RPd25zIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2RpY3QpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3N0cik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sRGljdFFMb29rdXAodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgY29uc3QgeG1sQ2hhciAqIHJldF92YWw7CisgICAgeG1sRGljdFB0ciBkaWN0OyAvKiB0aGUgZGljdGlvbm5hcnkgKi8KKyAgICBpbnQgbl9kaWN0OworICAgIHhtbENoYXIgKiBwcmVmaXg7IC8qIHRoZSBwcmVmaXggKi8KKyAgICBpbnQgbl9wcmVmaXg7CisgICAgeG1sQ2hhciAqIG5hbWU7IC8qIHRoZSBuYW1lICovCisgICAgaW50IG5fbmFtZTsKKworICAgIGZvciAobl9kaWN0ID0gMDtuX2RpY3QgPCBnZW5fbmJfeG1sRGljdFB0cjtuX2RpY3QrKykgeworICAgIGZvciAobl9wcmVmaXggPSAwO25fcHJlZml4IDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fcHJlZml4KyspIHsKKyAgICBmb3IgKG5fbmFtZSA9IDA7bl9uYW1lIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fbmFtZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGRpY3QgPSBnZW5feG1sRGljdFB0cihuX2RpY3QsIDApOworICAgICAgICBwcmVmaXggPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9wcmVmaXgsIDEpOworICAgICAgICBuYW1lID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgMik7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbERpY3RRTG9va3VwKGRpY3QsIChjb25zdCB4bWxDaGFyICopcHJlZml4LCAoY29uc3QgeG1sQ2hhciAqKW5hbWUpOworICAgICAgICBkZXNyZXRfY29uc3RfeG1sQ2hhcl9wdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbERpY3RQdHIobl9kaWN0LCBkaWN0LCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fcHJlZml4LCAoY29uc3QgeG1sQ2hhciAqKXByZWZpeCwgMSk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIChjb25zdCB4bWxDaGFyICopbmFtZSwgMik7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxEaWN0UUxvb2t1cCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9kaWN0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9wcmVmaXgpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25hbWUpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxEaWN0UmVmZXJlbmNlKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbERpY3RQdHIgZGljdDsgLyogdGhlIGRpY3Rpb25uYXJ5ICovCisgICAgaW50IG5fZGljdDsKKworICAgIGZvciAobl9kaWN0ID0gMDtuX2RpY3QgPCBnZW5fbmJfeG1sRGljdFB0cjtuX2RpY3QrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBkaWN0ID0gZ2VuX3htbERpY3RQdHIobl9kaWN0LCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sRGljdFJlZmVyZW5jZShkaWN0KTsKKyAgICAgICAgeG1sRGljdEZyZWUoZGljdCk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbERpY3RQdHIobl9kaWN0LCBkaWN0LCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbERpY3RSZWZlcmVuY2UiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZGljdCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxEaWN0U2V0TGltaXQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworICAgIC8qIG1pc3NpbmcgdHlwZSBzdXBwb3J0ICovCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbERpY3RTaXplKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbERpY3RQdHIgZGljdDsgLyogdGhlIGRpY3Rpb25uYXJ5ICovCisgICAgaW50IG5fZGljdDsKKworICAgIGZvciAobl9kaWN0ID0gMDtuX2RpY3QgPCBnZW5fbmJfeG1sRGljdFB0cjtuX2RpY3QrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBkaWN0ID0gZ2VuX3htbERpY3RQdHIobl9kaWN0LCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sRGljdFNpemUoZGljdCk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbERpY3RQdHIobl9kaWN0LCBkaWN0LCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbERpY3RTaXplIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2RpY3QpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sSW5pdGlhbGl6ZURpY3Qodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKworICAgICAgICByZXRfdmFsID0geG1sSW5pdGlhbGl6ZURpY3QoKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sSW5pdGlhbGl6ZURpY3QiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworc3RhdGljIGludAordGVzdF9kaWN0KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaWYgKHF1aWV0ID09IDApIHByaW50ZigiVGVzdGluZyBkaWN0IDogMTAgb2YgMTMgZnVuY3Rpb25zIC4uLlxuIik7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxEaWN0Q2xlYW51cCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sRGljdENyZWF0ZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sRGljdENyZWF0ZVN1YigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sRGljdEV4aXN0cygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sRGljdEdldFVzYWdlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxEaWN0TG9va3VwKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxEaWN0T3ducygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sRGljdFFMb29rdXAoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbERpY3RSZWZlcmVuY2UoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbERpY3RTZXRMaW1pdCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sRGljdFNpemUoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbEluaXRpYWxpemVEaWN0KCk7CisKKyAgICBpZiAodGVzdF9yZXQgIT0gMCkKKwlwcmludGYoIk1vZHVsZSBkaWN0OiAlZCBlcnJvcnNcbiIsIHRlc3RfcmV0KTsKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCitzdGF0aWMgaW50Cit0ZXN0X1VURjhUb2lzb2xhdDEodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKKyNpZmRlZiBMSUJYTUxfT1VUUFVUX0VOQUJMRUQKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgdW5zaWduZWQgY2hhciAqIG91dDsgLyogYSBwb2ludGVyIHRvIGFuIGFycmF5IG9mIGJ5dGVzIHRvIHN0b3JlIHRoZSByZXN1bHQgKi8KKyAgICBpbnQgbl9vdXQ7CisgICAgaW50ICogb3V0bGVuOyAvKiB0aGUgbGVuZ3RoIG9mIEBvdXQgKi8KKyAgICBpbnQgbl9vdXRsZW47CisgICAgdW5zaWduZWQgY2hhciAqIGluOyAvKiBhIHBvaW50ZXIgdG8gYW4gYXJyYXkgb2YgVVRGLTggY2hhcnMgKi8KKyAgICBpbnQgbl9pbjsKKyAgICBpbnQgKiBpbmxlbjsgLyogdGhlIGxlbmd0aCBvZiBAaW4gKi8KKyAgICBpbnQgbl9pbmxlbjsKKworICAgIGZvciAobl9vdXQgPSAwO25fb3V0IDwgZ2VuX25iX3Vuc2lnbmVkX2NoYXJfcHRyO25fb3V0KyspIHsKKyAgICBmb3IgKG5fb3V0bGVuID0gMDtuX291dGxlbiA8IGdlbl9uYl9pbnRfcHRyO25fb3V0bGVuKyspIHsKKyAgICBmb3IgKG5faW4gPSAwO25faW4gPCBnZW5fbmJfY29uc3RfdW5zaWduZWRfY2hhcl9wdHI7bl9pbisrKSB7CisgICAgZm9yIChuX2lubGVuID0gMDtuX2lubGVuIDwgZ2VuX25iX2ludF9wdHI7bl9pbmxlbisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIG91dCA9IGdlbl91bnNpZ25lZF9jaGFyX3B0cihuX291dCwgMCk7CisgICAgICAgIG91dGxlbiA9IGdlbl9pbnRfcHRyKG5fb3V0bGVuLCAxKTsKKyAgICAgICAgaW4gPSBnZW5fY29uc3RfdW5zaWduZWRfY2hhcl9wdHIobl9pbiwgMik7CisgICAgICAgIGlubGVuID0gZ2VuX2ludF9wdHIobl9pbmxlbiwgMyk7CisKKyAgICAgICAgcmV0X3ZhbCA9IFVURjhUb2lzb2xhdDEob3V0LCBvdXRsZW4sIChjb25zdCB1bnNpZ25lZCBjaGFyICopaW4sIGlubGVuKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfdW5zaWduZWRfY2hhcl9wdHIobl9vdXQsIG91dCwgMCk7CisgICAgICAgIGRlc19pbnRfcHRyKG5fb3V0bGVuLCBvdXRsZW4sIDEpOworICAgICAgICBkZXNfY29uc3RfdW5zaWduZWRfY2hhcl9wdHIobl9pbiwgKGNvbnN0IHVuc2lnbmVkIGNoYXIgKilpbiwgMik7CisgICAgICAgIGRlc19pbnRfcHRyKG5faW5sZW4sIGlubGVuLCAzKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIFVURjhUb2lzb2xhdDEiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fb3V0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9vdXRsZW4pOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2luKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9pbmxlbik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfaXNvbGF0MVRvVVRGOCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB1bnNpZ25lZCBjaGFyICogb3V0OyAvKiBhIHBvaW50ZXIgdG8gYW4gYXJyYXkgb2YgYnl0ZXMgdG8gc3RvcmUgdGhlIHJlc3VsdCAqLworICAgIGludCBuX291dDsKKyAgICBpbnQgKiBvdXRsZW47IC8qIHRoZSBsZW5ndGggb2YgQG91dCAqLworICAgIGludCBuX291dGxlbjsKKyAgICB1bnNpZ25lZCBjaGFyICogaW47IC8qIGEgcG9pbnRlciB0byBhbiBhcnJheSBvZiBJU08gTGF0aW4gMSBjaGFycyAqLworICAgIGludCBuX2luOworICAgIGludCAqIGlubGVuOyAvKiB0aGUgbGVuZ3RoIG9mIEBpbiAqLworICAgIGludCBuX2lubGVuOworCisgICAgZm9yIChuX291dCA9IDA7bl9vdXQgPCBnZW5fbmJfdW5zaWduZWRfY2hhcl9wdHI7bl9vdXQrKykgeworICAgIGZvciAobl9vdXRsZW4gPSAwO25fb3V0bGVuIDwgZ2VuX25iX2ludF9wdHI7bl9vdXRsZW4rKykgeworICAgIGZvciAobl9pbiA9IDA7bl9pbiA8IGdlbl9uYl9jb25zdF91bnNpZ25lZF9jaGFyX3B0cjtuX2luKyspIHsKKyAgICBmb3IgKG5faW5sZW4gPSAwO25faW5sZW4gPCBnZW5fbmJfaW50X3B0cjtuX2lubGVuKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgb3V0ID0gZ2VuX3Vuc2lnbmVkX2NoYXJfcHRyKG5fb3V0LCAwKTsKKyAgICAgICAgb3V0bGVuID0gZ2VuX2ludF9wdHIobl9vdXRsZW4sIDEpOworICAgICAgICBpbiA9IGdlbl9jb25zdF91bnNpZ25lZF9jaGFyX3B0cihuX2luLCAyKTsKKyAgICAgICAgaW5sZW4gPSBnZW5faW50X3B0cihuX2lubGVuLCAzKTsKKworICAgICAgICByZXRfdmFsID0gaXNvbGF0MVRvVVRGOChvdXQsIG91dGxlbiwgKGNvbnN0IHVuc2lnbmVkIGNoYXIgKilpbiwgaW5sZW4pOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc191bnNpZ25lZF9jaGFyX3B0cihuX291dCwgb3V0LCAwKTsKKyAgICAgICAgZGVzX2ludF9wdHIobl9vdXRsZW4sIG91dGxlbiwgMSk7CisgICAgICAgIGRlc19jb25zdF91bnNpZ25lZF9jaGFyX3B0cihuX2luLCAoY29uc3QgdW5zaWduZWQgY2hhciAqKWluLCAyKTsKKyAgICAgICAgZGVzX2ludF9wdHIobl9pbmxlbiwgaW5sZW4sIDMpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4gaXNvbGF0MVRvVVRGOCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9vdXQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX291dGxlbik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5faW4pOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2lubGVuKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbEFkZEVuY29kaW5nQWxpYXModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICBjaGFyICogbmFtZTsgLyogdGhlIGVuY29kaW5nIG5hbWUgYXMgcGFyc2VkLCBpbiBVVEYtOCBmb3JtYXQgKEFTQ0lJIGFjdHVhbGx5KSAqLworICAgIGludCBuX25hbWU7CisgICAgY2hhciAqIGFsaWFzOyAvKiB0aGUgYWxpYXMgbmFtZSBhcyBwYXJzZWQsIGluIFVURi04IGZvcm1hdCAoQVNDSUkgYWN0dWFsbHkpICovCisgICAgaW50IG5fYWxpYXM7CisKKyAgICBmb3IgKG5fbmFtZSA9IDA7bl9uYW1lIDwgZ2VuX25iX2NvbnN0X2NoYXJfcHRyO25fbmFtZSsrKSB7CisgICAgZm9yIChuX2FsaWFzID0gMDtuX2FsaWFzIDwgZ2VuX25iX2NvbnN0X2NoYXJfcHRyO25fYWxpYXMrKykgeworICAgICAgICBuYW1lID0gZ2VuX2NvbnN0X2NoYXJfcHRyKG5fbmFtZSwgMCk7CisgICAgICAgIGFsaWFzID0gZ2VuX2NvbnN0X2NoYXJfcHRyKG5fYWxpYXMsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxBZGRFbmNvZGluZ0FsaWFzKChjb25zdCBjaGFyICopbmFtZSwgKGNvbnN0IGNoYXIgKilhbGlhcyk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2NvbnN0X2NoYXJfcHRyKG5fbmFtZSwgKGNvbnN0IGNoYXIgKiluYW1lLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X2NoYXJfcHRyKG5fYWxpYXMsIChjb25zdCBjaGFyICopYWxpYXMsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworI2RlZmluZSBnZW5fbmJfeG1sQ2hhckVuY29kaW5nSGFuZGxlcl9wdHIgMQorc3RhdGljIHhtbENoYXJFbmNvZGluZ0hhbmRsZXIgKiBnZW5feG1sQ2hhckVuY29kaW5nSGFuZGxlcl9wdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgcmV0dXJuKE5VTEwpOworfQorc3RhdGljIHZvaWQgZGVzX3htbENoYXJFbmNvZGluZ0hhbmRsZXJfcHRyKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCB4bWxDaGFyRW5jb2RpbmdIYW5kbGVyICogdmFsIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7Cit9CisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sQ2hhckVuY0Nsb3NlRnVuYyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxDaGFyRW5jb2RpbmdIYW5kbGVyICogaGFuZGxlcjsgLyogY2hhciBlbmNvbmRpbmcgdHJhbnNmb3JtYXRpb24gZGF0YSBzdHJ1Y3R1cmUgKi8KKyAgICBpbnQgbl9oYW5kbGVyOworCisgICAgZm9yIChuX2hhbmRsZXIgPSAwO25faGFuZGxlciA8IGdlbl9uYl94bWxDaGFyRW5jb2RpbmdIYW5kbGVyX3B0cjtuX2hhbmRsZXIrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBoYW5kbGVyID0gZ2VuX3htbENoYXJFbmNvZGluZ0hhbmRsZXJfcHRyKG5faGFuZGxlciwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbENoYXJFbmNDbG9zZUZ1bmMoaGFuZGxlcik7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbENoYXJFbmNvZGluZ0hhbmRsZXJfcHRyKG5faGFuZGxlciwgaGFuZGxlciwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxDaGFyRW5jQ2xvc2VGdW5jIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2hhbmRsZXIpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sQ2hhckVuY0ZpcnN0TGluZSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxDaGFyRW5jb2RpbmdIYW5kbGVyICogaGFuZGxlcjsgLyogY2hhciBlbmNvbmRpbmcgdHJhbnNmb3JtYXRpb24gZGF0YSBzdHJ1Y3R1cmUgKi8KKyAgICBpbnQgbl9oYW5kbGVyOworICAgIHhtbEJ1ZmZlclB0ciBvdXQ7IC8qIGFuIHhtbEJ1ZmZlciBmb3IgdGhlIG91dHB1dC4gKi8KKyAgICBpbnQgbl9vdXQ7CisgICAgeG1sQnVmZmVyUHRyIGluOyAvKiBhbiB4bWxCdWZmZXIgZm9yIHRoZSBpbnB1dCAqLworICAgIGludCBuX2luOworCisgICAgZm9yIChuX2hhbmRsZXIgPSAwO25faGFuZGxlciA8IGdlbl9uYl94bWxDaGFyRW5jb2RpbmdIYW5kbGVyX3B0cjtuX2hhbmRsZXIrKykgeworICAgIGZvciAobl9vdXQgPSAwO25fb3V0IDwgZ2VuX25iX3htbEJ1ZmZlclB0cjtuX291dCsrKSB7CisgICAgZm9yIChuX2luID0gMDtuX2luIDwgZ2VuX25iX3htbEJ1ZmZlclB0cjtuX2luKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgaGFuZGxlciA9IGdlbl94bWxDaGFyRW5jb2RpbmdIYW5kbGVyX3B0cihuX2hhbmRsZXIsIDApOworICAgICAgICBvdXQgPSBnZW5feG1sQnVmZmVyUHRyKG5fb3V0LCAxKTsKKyAgICAgICAgaW4gPSBnZW5feG1sQnVmZmVyUHRyKG5faW4sIDIpOworCisgICAgICAgIHJldF92YWwgPSB4bWxDaGFyRW5jRmlyc3RMaW5lKGhhbmRsZXIsIG91dCwgaW4pOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxDaGFyRW5jb2RpbmdIYW5kbGVyX3B0cihuX2hhbmRsZXIsIGhhbmRsZXIsIDApOworICAgICAgICBkZXNfeG1sQnVmZmVyUHRyKG5fb3V0LCBvdXQsIDEpOworICAgICAgICBkZXNfeG1sQnVmZmVyUHRyKG5faW4sIGluLCAyKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbENoYXJFbmNGaXJzdExpbmUiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5faGFuZGxlcik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fb3V0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9pbik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbENoYXJFbmNJbkZ1bmModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sQ2hhckVuY29kaW5nSGFuZGxlciAqIGhhbmRsZXI7IC8qIGNoYXIgZW5jb2RpbmcgdHJhbnNmb3JtYXRpb24gZGF0YSBzdHJ1Y3R1cmUgKi8KKyAgICBpbnQgbl9oYW5kbGVyOworICAgIHhtbEJ1ZmZlclB0ciBvdXQ7IC8qIGFuIHhtbEJ1ZmZlciBmb3IgdGhlIG91dHB1dC4gKi8KKyAgICBpbnQgbl9vdXQ7CisgICAgeG1sQnVmZmVyUHRyIGluOyAvKiBhbiB4bWxCdWZmZXIgZm9yIHRoZSBpbnB1dCAqLworICAgIGludCBuX2luOworCisgICAgZm9yIChuX2hhbmRsZXIgPSAwO25faGFuZGxlciA8IGdlbl9uYl94bWxDaGFyRW5jb2RpbmdIYW5kbGVyX3B0cjtuX2hhbmRsZXIrKykgeworICAgIGZvciAobl9vdXQgPSAwO25fb3V0IDwgZ2VuX25iX3htbEJ1ZmZlclB0cjtuX291dCsrKSB7CisgICAgZm9yIChuX2luID0gMDtuX2luIDwgZ2VuX25iX3htbEJ1ZmZlclB0cjtuX2luKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgaGFuZGxlciA9IGdlbl94bWxDaGFyRW5jb2RpbmdIYW5kbGVyX3B0cihuX2hhbmRsZXIsIDApOworICAgICAgICBvdXQgPSBnZW5feG1sQnVmZmVyUHRyKG5fb3V0LCAxKTsKKyAgICAgICAgaW4gPSBnZW5feG1sQnVmZmVyUHRyKG5faW4sIDIpOworCisgICAgICAgIHJldF92YWwgPSB4bWxDaGFyRW5jSW5GdW5jKGhhbmRsZXIsIG91dCwgaW4pOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxDaGFyRW5jb2RpbmdIYW5kbGVyX3B0cihuX2hhbmRsZXIsIGhhbmRsZXIsIDApOworICAgICAgICBkZXNfeG1sQnVmZmVyUHRyKG5fb3V0LCBvdXQsIDEpOworICAgICAgICBkZXNfeG1sQnVmZmVyUHRyKG5faW4sIGluLCAyKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbENoYXJFbmNJbkZ1bmMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5faGFuZGxlcik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fb3V0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9pbik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbENoYXJFbmNPdXRGdW5jKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbENoYXJFbmNvZGluZ0hhbmRsZXIgKiBoYW5kbGVyOyAvKiBjaGFyIGVuY29uZGluZyB0cmFuc2Zvcm1hdGlvbiBkYXRhIHN0cnVjdHVyZSAqLworICAgIGludCBuX2hhbmRsZXI7CisgICAgeG1sQnVmZmVyUHRyIG91dDsgLyogYW4geG1sQnVmZmVyIGZvciB0aGUgb3V0cHV0LiAqLworICAgIGludCBuX291dDsKKyAgICB4bWxCdWZmZXJQdHIgaW47IC8qIGFuIHhtbEJ1ZmZlciBmb3IgdGhlIGlucHV0ICovCisgICAgaW50IG5faW47CisKKyAgICBmb3IgKG5faGFuZGxlciA9IDA7bl9oYW5kbGVyIDwgZ2VuX25iX3htbENoYXJFbmNvZGluZ0hhbmRsZXJfcHRyO25faGFuZGxlcisrKSB7CisgICAgZm9yIChuX291dCA9IDA7bl9vdXQgPCBnZW5fbmJfeG1sQnVmZmVyUHRyO25fb3V0KyspIHsKKyAgICBmb3IgKG5faW4gPSAwO25faW4gPCBnZW5fbmJfeG1sQnVmZmVyUHRyO25faW4rKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBoYW5kbGVyID0gZ2VuX3htbENoYXJFbmNvZGluZ0hhbmRsZXJfcHRyKG5faGFuZGxlciwgMCk7CisgICAgICAgIG91dCA9IGdlbl94bWxCdWZmZXJQdHIobl9vdXQsIDEpOworICAgICAgICBpbiA9IGdlbl94bWxCdWZmZXJQdHIobl9pbiwgMik7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbENoYXJFbmNPdXRGdW5jKGhhbmRsZXIsIG91dCwgaW4pOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxDaGFyRW5jb2RpbmdIYW5kbGVyX3B0cihuX2hhbmRsZXIsIGhhbmRsZXIsIDApOworICAgICAgICBkZXNfeG1sQnVmZmVyUHRyKG5fb3V0LCBvdXQsIDEpOworICAgICAgICBkZXNfeG1sQnVmZmVyUHRyKG5faW4sIGluLCAyKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbENoYXJFbmNPdXRGdW5jIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2hhbmRsZXIpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX291dCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5faW4pOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxDbGVhbnVwQ2hhckVuY29kaW5nSGFuZGxlcnModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworCisgICAgICAgIHhtbENsZWFudXBDaGFyRW5jb2RpbmdIYW5kbGVycygpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxDbGVhbnVwRW5jb2RpbmdBbGlhc2VzKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworCisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisKKyAgICAgICAgeG1sQ2xlYW51cEVuY29kaW5nQWxpYXNlcygpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxDbGVhbnVwRW5jb2RpbmdBbGlhc2VzIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxEZWxFbmNvZGluZ0FsaWFzKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGNoYXIgKiBhbGlhczsgLyogdGhlIGFsaWFzIG5hbWUgYXMgcGFyc2VkLCBpbiBVVEYtOCBmb3JtYXQgKEFTQ0lJIGFjdHVhbGx5KSAqLworICAgIGludCBuX2FsaWFzOworCisgICAgZm9yIChuX2FsaWFzID0gMDtuX2FsaWFzIDwgZ2VuX25iX2NvbnN0X2NoYXJfcHRyO25fYWxpYXMrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBhbGlhcyA9IGdlbl9jb25zdF9jaGFyX3B0cihuX2FsaWFzLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sRGVsRW5jb2RpbmdBbGlhcygoY29uc3QgY2hhciAqKWFsaWFzKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfY29uc3RfY2hhcl9wdHIobl9hbGlhcywgKGNvbnN0IGNoYXIgKilhbGlhcywgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxEZWxFbmNvZGluZ0FsaWFzIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2FsaWFzKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbERldGVjdENoYXJFbmNvZGluZyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxDaGFyRW5jb2RpbmcgcmV0X3ZhbDsKKyAgICB1bnNpZ25lZCBjaGFyICogaW47IC8qIGEgcG9pbnRlciB0byB0aGUgZmlyc3QgYnl0ZXMgb2YgdGhlIFhNTCBlbnRpdHksIG11c3QgYmUgYXQgbGVhc3QgMiBieXRlcyBsb25nIChhdCBsZWFzdCA0IGlmIGVuY29kaW5nIGlzIFVURjQgdmFyaWFudCkuICovCisgICAgaW50IG5faW47CisgICAgaW50IGxlbjsgLyogcG9pbnRlciB0byB0aGUgbGVuZ3RoIG9mIHRoZSBidWZmZXIgKi8KKyAgICBpbnQgbl9sZW47CisKKyAgICBmb3IgKG5faW4gPSAwO25faW4gPCBnZW5fbmJfY29uc3RfdW5zaWduZWRfY2hhcl9wdHI7bl9pbisrKSB7CisgICAgZm9yIChuX2xlbiA9IDA7bl9sZW4gPCBnZW5fbmJfaW50O25fbGVuKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgaW4gPSBnZW5fY29uc3RfdW5zaWduZWRfY2hhcl9wdHIobl9pbiwgMCk7CisgICAgICAgIGxlbiA9IGdlbl9pbnQobl9sZW4sIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxEZXRlY3RDaGFyRW5jb2RpbmcoKGNvbnN0IHVuc2lnbmVkIGNoYXIgKilpbiwgbGVuKTsKKyAgICAgICAgZGVzcmV0X3htbENoYXJFbmNvZGluZyhyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfY29uc3RfdW5zaWduZWRfY2hhcl9wdHIobl9pbiwgKGNvbnN0IHVuc2lnbmVkIGNoYXIgKilpbiwgMCk7CisgICAgICAgIGRlc19pbnQobl9sZW4sIGxlbiwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxEZXRlY3RDaGFyRW5jb2RpbmciLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5faW4pOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2xlbik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sRmluZENoYXJFbmNvZGluZ0hhbmRsZXIodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworICAgIC8qIG1pc3NpbmcgdHlwZSBzdXBwb3J0ICovCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbEdldENoYXJFbmNvZGluZ0hhbmRsZXIodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworICAgIC8qIG1pc3NpbmcgdHlwZSBzdXBwb3J0ICovCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbEdldENoYXJFbmNvZGluZ05hbWUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgY29uc3QgY2hhciAqIHJldF92YWw7CisgICAgeG1sQ2hhckVuY29kaW5nIGVuYzsgLyogdGhlIGVuY29kaW5nICovCisgICAgaW50IG5fZW5jOworCisgICAgZm9yIChuX2VuYyA9IDA7bl9lbmMgPCBnZW5fbmJfeG1sQ2hhckVuY29kaW5nO25fZW5jKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgZW5jID0gZ2VuX3htbENoYXJFbmNvZGluZyhuX2VuYywgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbEdldENoYXJFbmNvZGluZ05hbWUoZW5jKTsKKyAgICAgICAgZGVzcmV0X2NvbnN0X2NoYXJfcHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxDaGFyRW5jb2Rpbmcobl9lbmMsIGVuYywgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxHZXRDaGFyRW5jb2RpbmdOYW1lIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2VuYyk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxHZXRFbmNvZGluZ0FsaWFzKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIGNvbnN0IGNoYXIgKiByZXRfdmFsOworICAgIGNoYXIgKiBhbGlhczsgLyogdGhlIGFsaWFzIG5hbWUgYXMgcGFyc2VkLCBpbiBVVEYtOCBmb3JtYXQgKEFTQ0lJIGFjdHVhbGx5KSAqLworICAgIGludCBuX2FsaWFzOworCisgICAgZm9yIChuX2FsaWFzID0gMDtuX2FsaWFzIDwgZ2VuX25iX2NvbnN0X2NoYXJfcHRyO25fYWxpYXMrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBhbGlhcyA9IGdlbl9jb25zdF9jaGFyX3B0cihuX2FsaWFzLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sR2V0RW5jb2RpbmdBbGlhcygoY29uc3QgY2hhciAqKWFsaWFzKTsKKyAgICAgICAgZGVzcmV0X2NvbnN0X2NoYXJfcHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19jb25zdF9jaGFyX3B0cihuX2FsaWFzLCAoY29uc3QgY2hhciAqKWFsaWFzLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbEdldEVuY29kaW5nQWxpYXMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fYWxpYXMpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sSW5pdENoYXJFbmNvZGluZ0hhbmRsZXJzKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisKKworICAgICAgICB4bWxJbml0Q2hhckVuY29kaW5nSGFuZGxlcnMoKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sTmV3Q2hhckVuY29kaW5nSGFuZGxlcih2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworCisgICAgLyogbWlzc2luZyB0eXBlIHN1cHBvcnQgKi8KKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sUGFyc2VDaGFyRW5jb2Rpbmcodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sQ2hhckVuY29kaW5nIHJldF92YWw7CisgICAgY2hhciAqIG5hbWU7IC8qIHRoZSBlbmNvZGluZyBuYW1lIGFzIHBhcnNlZCwgaW4gVVRGLTggZm9ybWF0IChBU0NJSSBhY3R1YWxseSkgKi8KKyAgICBpbnQgbl9uYW1lOworCisgICAgZm9yIChuX25hbWUgPSAwO25fbmFtZSA8IGdlbl9uYl9jb25zdF9jaGFyX3B0cjtuX25hbWUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBuYW1lID0gZ2VuX2NvbnN0X2NoYXJfcHRyKG5fbmFtZSwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFBhcnNlQ2hhckVuY29kaW5nKChjb25zdCBjaGFyICopbmFtZSk7CisgICAgICAgIGRlc3JldF94bWxDaGFyRW5jb2RpbmcocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2NvbnN0X2NoYXJfcHRyKG5fbmFtZSwgKGNvbnN0IGNoYXIgKiluYW1lLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFBhcnNlQ2hhckVuY29kaW5nIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25hbWUpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKKyNkZWZpbmUgZ2VuX25iX3htbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIgMQorc3RhdGljIHhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIgZ2VuX3htbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgcmV0dXJuKE5VTEwpOworfQorc3RhdGljIHZvaWQgZGVzX3htbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIHhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIgdmFsIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7Cit9CisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sUmVnaXN0ZXJDaGFyRW5jb2RpbmdIYW5kbGVyKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIgaGFuZGxlcjsgLyogdGhlIHhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIgaGFuZGxlciBibG9jayAqLworICAgIGludCBuX2hhbmRsZXI7CisKKyAgICBmb3IgKG5faGFuZGxlciA9IDA7bl9oYW5kbGVyIDwgZ2VuX25iX3htbENoYXJFbmNvZGluZ0hhbmRsZXJQdHI7bl9oYW5kbGVyKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgaGFuZGxlciA9IGdlbl94bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyKG5faGFuZGxlciwgMCk7CisKKyAgICAgICAgeG1sUmVnaXN0ZXJDaGFyRW5jb2RpbmdIYW5kbGVyKGhhbmRsZXIpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyKG5faGFuZGxlciwgaGFuZGxlciwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxSZWdpc3RlckNoYXJFbmNvZGluZ0hhbmRsZXIiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5faGFuZGxlcik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKK3N0YXRpYyBpbnQKK3Rlc3RfZW5jb2Rpbmcodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpZiAocXVpZXQgPT0gMCkgcHJpbnRmKCJUZXN0aW5nIGVuY29kaW5nIDogMTYgb2YgMTkgZnVuY3Rpb25zIC4uLlxuIik7CisgICAgdGVzdF9yZXQgKz0gdGVzdF9VVEY4VG9pc29sYXQxKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF9pc29sYXQxVG9VVEY4KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxBZGRFbmNvZGluZ0FsaWFzKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxDaGFyRW5jQ2xvc2VGdW5jKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxDaGFyRW5jRmlyc3RMaW5lKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxDaGFyRW5jSW5GdW5jKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxDaGFyRW5jT3V0RnVuYygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sQ2xlYW51cENoYXJFbmNvZGluZ0hhbmRsZXJzKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxDbGVhbnVwRW5jb2RpbmdBbGlhc2VzKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxEZWxFbmNvZGluZ0FsaWFzKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxEZXRlY3RDaGFyRW5jb2RpbmcoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbEZpbmRDaGFyRW5jb2RpbmdIYW5kbGVyKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxHZXRDaGFyRW5jb2RpbmdIYW5kbGVyKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxHZXRDaGFyRW5jb2RpbmdOYW1lKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxHZXRFbmNvZGluZ0FsaWFzKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxJbml0Q2hhckVuY29kaW5nSGFuZGxlcnMoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbE5ld0NoYXJFbmNvZGluZ0hhbmRsZXIoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFBhcnNlQ2hhckVuY29kaW5nKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxSZWdpc3RlckNoYXJFbmNvZGluZ0hhbmRsZXIoKTsKKworICAgIGlmICh0ZXN0X3JldCAhPSAwKQorCXByaW50ZigiTW9kdWxlIGVuY29kaW5nOiAlZCBlcnJvcnNcbiIsIHRlc3RfcmV0KTsKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCitzdGF0aWMgaW50Cit0ZXN0X3htbEFkZERvY0VudGl0eSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxFbnRpdHlQdHIgcmV0X3ZhbDsKKyAgICB4bWxEb2NQdHIgZG9jOyAvKiB0aGUgZG9jdW1lbnQgKi8KKyAgICBpbnQgbl9kb2M7CisgICAgeG1sQ2hhciAqIG5hbWU7IC8qIHRoZSBlbnRpdHkgbmFtZSAqLworICAgIGludCBuX25hbWU7CisgICAgaW50IHR5cGU7IC8qIHRoZSBlbnRpdHkgdHlwZSBYTUxfeHh4X3l5eV9FTlRJVFkgKi8KKyAgICBpbnQgbl90eXBlOworICAgIHhtbENoYXIgKiBFeHRlcm5hbElEOyAvKiB0aGUgZW50aXR5IGV4dGVybmFsIElEIGlmIGF2YWlsYWJsZSAqLworICAgIGludCBuX0V4dGVybmFsSUQ7CisgICAgeG1sQ2hhciAqIFN5c3RlbUlEOyAvKiB0aGUgZW50aXR5IHN5c3RlbSBJRCBpZiBhdmFpbGFibGUgKi8KKyAgICBpbnQgbl9TeXN0ZW1JRDsKKyAgICB4bWxDaGFyICogY29udGVudDsgLyogdGhlIGVudGl0eSBjb250ZW50ICovCisgICAgaW50IG5fY29udGVudDsKKworICAgIGZvciAobl9kb2MgPSAwO25fZG9jIDwgZ2VuX25iX3htbERvY1B0cjtuX2RvYysrKSB7CisgICAgZm9yIChuX25hbWUgPSAwO25fbmFtZSA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX25hbWUrKykgeworICAgIGZvciAobl90eXBlID0gMDtuX3R5cGUgPCBnZW5fbmJfaW50O25fdHlwZSsrKSB7CisgICAgZm9yIChuX0V4dGVybmFsSUQgPSAwO25fRXh0ZXJuYWxJRCA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX0V4dGVybmFsSUQrKykgeworICAgIGZvciAobl9TeXN0ZW1JRCA9IDA7bl9TeXN0ZW1JRCA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX1N5c3RlbUlEKyspIHsKKyAgICBmb3IgKG5fY29udGVudCA9IDA7bl9jb250ZW50IDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fY29udGVudCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGRvYyA9IGdlbl94bWxEb2NQdHIobl9kb2MsIDApOworICAgICAgICBuYW1lID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgMSk7CisgICAgICAgIHR5cGUgPSBnZW5faW50KG5fdHlwZSwgMik7CisgICAgICAgIEV4dGVybmFsSUQgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9FeHRlcm5hbElELCAzKTsKKyAgICAgICAgU3lzdGVtSUQgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9TeXN0ZW1JRCwgNCk7CisgICAgICAgIGNvbnRlbnQgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9jb250ZW50LCA1KTsKKworICAgICAgICByZXRfdmFsID0geG1sQWRkRG9jRW50aXR5KGRvYywgKGNvbnN0IHhtbENoYXIgKiluYW1lLCB0eXBlLCAoY29uc3QgeG1sQ2hhciAqKUV4dGVybmFsSUQsIChjb25zdCB4bWxDaGFyICopU3lzdGVtSUQsIChjb25zdCB4bWxDaGFyICopY29udGVudCk7CisgICAgICAgIGRlc3JldF94bWxFbnRpdHlQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbERvY1B0cihuX2RvYywgZG9jLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgKGNvbnN0IHhtbENoYXIgKiluYW1lLCAxKTsKKyAgICAgICAgZGVzX2ludChuX3R5cGUsIHR5cGUsIDIpOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9FeHRlcm5hbElELCAoY29uc3QgeG1sQ2hhciAqKUV4dGVybmFsSUQsIDMpOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9TeXN0ZW1JRCwgKGNvbnN0IHhtbENoYXIgKilTeXN0ZW1JRCwgNCk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX2NvbnRlbnQsIChjb25zdCB4bWxDaGFyICopY29udGVudCwgNSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxBZGREb2NFbnRpdHkiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZG9jKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9uYW1lKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl90eXBlKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9FeHRlcm5hbElEKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9TeXN0ZW1JRCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29udGVudCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbEFkZER0ZEVudGl0eSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxFbnRpdHlQdHIgcmV0X3ZhbDsKKyAgICB4bWxEb2NQdHIgZG9jOyAvKiB0aGUgZG9jdW1lbnQgKi8KKyAgICBpbnQgbl9kb2M7CisgICAgeG1sQ2hhciAqIG5hbWU7IC8qIHRoZSBlbnRpdHkgbmFtZSAqLworICAgIGludCBuX25hbWU7CisgICAgaW50IHR5cGU7IC8qIHRoZSBlbnRpdHkgdHlwZSBYTUxfeHh4X3l5eV9FTlRJVFkgKi8KKyAgICBpbnQgbl90eXBlOworICAgIHhtbENoYXIgKiBFeHRlcm5hbElEOyAvKiB0aGUgZW50aXR5IGV4dGVybmFsIElEIGlmIGF2YWlsYWJsZSAqLworICAgIGludCBuX0V4dGVybmFsSUQ7CisgICAgeG1sQ2hhciAqIFN5c3RlbUlEOyAvKiB0aGUgZW50aXR5IHN5c3RlbSBJRCBpZiBhdmFpbGFibGUgKi8KKyAgICBpbnQgbl9TeXN0ZW1JRDsKKyAgICB4bWxDaGFyICogY29udGVudDsgLyogdGhlIGVudGl0eSBjb250ZW50ICovCisgICAgaW50IG5fY29udGVudDsKKworICAgIGZvciAobl9kb2MgPSAwO25fZG9jIDwgZ2VuX25iX3htbERvY1B0cjtuX2RvYysrKSB7CisgICAgZm9yIChuX25hbWUgPSAwO25fbmFtZSA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX25hbWUrKykgeworICAgIGZvciAobl90eXBlID0gMDtuX3R5cGUgPCBnZW5fbmJfaW50O25fdHlwZSsrKSB7CisgICAgZm9yIChuX0V4dGVybmFsSUQgPSAwO25fRXh0ZXJuYWxJRCA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX0V4dGVybmFsSUQrKykgeworICAgIGZvciAobl9TeXN0ZW1JRCA9IDA7bl9TeXN0ZW1JRCA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX1N5c3RlbUlEKyspIHsKKyAgICBmb3IgKG5fY29udGVudCA9IDA7bl9jb250ZW50IDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fY29udGVudCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGRvYyA9IGdlbl94bWxEb2NQdHIobl9kb2MsIDApOworICAgICAgICBuYW1lID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgMSk7CisgICAgICAgIHR5cGUgPSBnZW5faW50KG5fdHlwZSwgMik7CisgICAgICAgIEV4dGVybmFsSUQgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9FeHRlcm5hbElELCAzKTsKKyAgICAgICAgU3lzdGVtSUQgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9TeXN0ZW1JRCwgNCk7CisgICAgICAgIGNvbnRlbnQgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9jb250ZW50LCA1KTsKKworICAgICAgICByZXRfdmFsID0geG1sQWRkRHRkRW50aXR5KGRvYywgKGNvbnN0IHhtbENoYXIgKiluYW1lLCB0eXBlLCAoY29uc3QgeG1sQ2hhciAqKUV4dGVybmFsSUQsIChjb25zdCB4bWxDaGFyICopU3lzdGVtSUQsIChjb25zdCB4bWxDaGFyICopY29udGVudCk7CisgICAgICAgIGRlc3JldF94bWxFbnRpdHlQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbERvY1B0cihuX2RvYywgZG9jLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgKGNvbnN0IHhtbENoYXIgKiluYW1lLCAxKTsKKyAgICAgICAgZGVzX2ludChuX3R5cGUsIHR5cGUsIDIpOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9FeHRlcm5hbElELCAoY29uc3QgeG1sQ2hhciAqKUV4dGVybmFsSUQsIDMpOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9TeXN0ZW1JRCwgKGNvbnN0IHhtbENoYXIgKilTeXN0ZW1JRCwgNCk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX2NvbnRlbnQsIChjb25zdCB4bWxDaGFyICopY29udGVudCwgNSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxBZGREdGRFbnRpdHkiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZG9jKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9uYW1lKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl90eXBlKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9FeHRlcm5hbElEKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9TeXN0ZW1JRCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29udGVudCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbENsZWFudXBQcmVkZWZpbmVkRW50aXRpZXModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9MRUdBQ1lfRU5BQkxFRCkKKyNpZmRlZiBMSUJYTUxfTEVHQUNZX0VOQUJMRUQKKyAgICBpbnQgbWVtX2Jhc2U7CisKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKworICAgICAgICB4bWxDbGVhbnVwUHJlZGVmaW5lZEVudGl0aWVzKCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbENsZWFudXBQcmVkZWZpbmVkRW50aXRpZXMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworI2RlZmluZSBnZW5fbmJfeG1sRW50aXRpZXNUYWJsZVB0ciAxCitzdGF0aWMgeG1sRW50aXRpZXNUYWJsZVB0ciBnZW5feG1sRW50aXRpZXNUYWJsZVB0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICByZXR1cm4oTlVMTCk7Cit9CitzdGF0aWMgdm9pZCBkZXNfeG1sRW50aXRpZXNUYWJsZVB0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgeG1sRW50aXRpZXNUYWJsZVB0ciB2YWwgQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKK30KKworc3RhdGljIGludAordGVzdF94bWxDb3B5RW50aXRpZXNUYWJsZSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworCisgICAgLyogbWlzc2luZyB0eXBlIHN1cHBvcnQgKi8KKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sQ3JlYXRlRW50aXRpZXNUYWJsZSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworCisgICAgLyogbWlzc2luZyB0eXBlIHN1cHBvcnQgKi8KKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sRHVtcEVudGl0aWVzVGFibGUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sQnVmZmVyUHRyIGJ1ZjsgLyogQW4gWE1MIGJ1ZmZlci4gKi8KKyAgICBpbnQgbl9idWY7CisgICAgeG1sRW50aXRpZXNUYWJsZVB0ciB0YWJsZTsgLyogQW4gZW50aXR5IHRhYmxlICovCisgICAgaW50IG5fdGFibGU7CisKKyAgICBmb3IgKG5fYnVmID0gMDtuX2J1ZiA8IGdlbl9uYl94bWxCdWZmZXJQdHI7bl9idWYrKykgeworICAgIGZvciAobl90YWJsZSA9IDA7bl90YWJsZSA8IGdlbl9uYl94bWxFbnRpdGllc1RhYmxlUHRyO25fdGFibGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBidWYgPSBnZW5feG1sQnVmZmVyUHRyKG5fYnVmLCAwKTsKKyAgICAgICAgdGFibGUgPSBnZW5feG1sRW50aXRpZXNUYWJsZVB0cihuX3RhYmxlLCAxKTsKKworICAgICAgICB4bWxEdW1wRW50aXRpZXNUYWJsZShidWYsIHRhYmxlKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sQnVmZmVyUHRyKG5fYnVmLCBidWYsIDApOworICAgICAgICBkZXNfeG1sRW50aXRpZXNUYWJsZVB0cihuX3RhYmxlLCB0YWJsZSwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxEdW1wRW50aXRpZXNUYWJsZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9idWYpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3RhYmxlKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCisjZGVmaW5lIGdlbl9uYl94bWxFbnRpdHlQdHIgMQorc3RhdGljIHhtbEVudGl0eVB0ciBnZW5feG1sRW50aXR5UHRyKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworICAgIHJldHVybihOVUxMKTsKK30KK3N0YXRpYyB2b2lkIGRlc194bWxFbnRpdHlQdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIHhtbEVudGl0eVB0ciB2YWwgQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKK30KKworc3RhdGljIGludAordGVzdF94bWxEdW1wRW50aXR5RGVjbCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxCdWZmZXJQdHIgYnVmOyAvKiBBbiBYTUwgYnVmZmVyLiAqLworICAgIGludCBuX2J1ZjsKKyAgICB4bWxFbnRpdHlQdHIgZW50OyAvKiBBbiBlbnRpdHkgdGFibGUgKi8KKyAgICBpbnQgbl9lbnQ7CisKKyAgICBmb3IgKG5fYnVmID0gMDtuX2J1ZiA8IGdlbl9uYl94bWxCdWZmZXJQdHI7bl9idWYrKykgeworICAgIGZvciAobl9lbnQgPSAwO25fZW50IDwgZ2VuX25iX3htbEVudGl0eVB0cjtuX2VudCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGJ1ZiA9IGdlbl94bWxCdWZmZXJQdHIobl9idWYsIDApOworICAgICAgICBlbnQgPSBnZW5feG1sRW50aXR5UHRyKG5fZW50LCAxKTsKKworICAgICAgICB4bWxEdW1wRW50aXR5RGVjbChidWYsIGVudCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbEJ1ZmZlclB0cihuX2J1ZiwgYnVmLCAwKTsKKyAgICAgICAgZGVzX3htbEVudGl0eVB0cihuX2VudCwgZW50LCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbER1bXBFbnRpdHlEZWNsIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2J1Zik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZW50KTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbEVuY29kZUVudGl0aWVzUmVlbnRyYW50KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbENoYXIgKiByZXRfdmFsOworICAgIHhtbERvY1B0ciBkb2M7IC8qIHRoZSBkb2N1bWVudCBjb250YWluaW5nIHRoZSBzdHJpbmcgKi8KKyAgICBpbnQgbl9kb2M7CisgICAgeG1sQ2hhciAqIGlucHV0OyAvKiBBIHN0cmluZyB0byBjb252ZXJ0IHRvIFhNTC4gKi8KKyAgICBpbnQgbl9pbnB1dDsKKworICAgIGZvciAobl9kb2MgPSAwO25fZG9jIDwgZ2VuX25iX3htbERvY1B0cjtuX2RvYysrKSB7CisgICAgZm9yIChuX2lucHV0ID0gMDtuX2lucHV0IDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25faW5wdXQrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBkb2MgPSBnZW5feG1sRG9jUHRyKG5fZG9jLCAwKTsKKyAgICAgICAgaW5wdXQgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9pbnB1dCwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbEVuY29kZUVudGl0aWVzUmVlbnRyYW50KGRvYywgKGNvbnN0IHhtbENoYXIgKilpbnB1dCk7CisgICAgICAgIGRlc3JldF94bWxDaGFyX3B0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sRG9jUHRyKG5fZG9jLCBkb2MsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9pbnB1dCwgKGNvbnN0IHhtbENoYXIgKilpbnB1dCwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxFbmNvZGVFbnRpdGllc1JlZW50cmFudCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9kb2MpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2lucHV0KTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworI2RlZmluZSBnZW5fbmJfY29uc3RfeG1sRG9jX3B0ciAxCitzdGF0aWMgeG1sRG9jICogZ2VuX2NvbnN0X3htbERvY19wdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgcmV0dXJuKE5VTEwpOworfQorc3RhdGljIHZvaWQgZGVzX2NvbnN0X3htbERvY19wdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIGNvbnN0IHhtbERvYyAqIHZhbCBBVFRSSUJVVEVfVU5VU0VELCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworfQorCitzdGF0aWMgaW50Cit0ZXN0X3htbEVuY29kZVNwZWNpYWxDaGFycyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxDaGFyICogcmV0X3ZhbDsKKyAgICB4bWxEb2MgKiBkb2M7IC8qIHRoZSBkb2N1bWVudCBjb250YWluaW5nIHRoZSBzdHJpbmcgKi8KKyAgICBpbnQgbl9kb2M7CisgICAgeG1sQ2hhciAqIGlucHV0OyAvKiBBIHN0cmluZyB0byBjb252ZXJ0IHRvIFhNTC4gKi8KKyAgICBpbnQgbl9pbnB1dDsKKworICAgIGZvciAobl9kb2MgPSAwO25fZG9jIDwgZ2VuX25iX2NvbnN0X3htbERvY19wdHI7bl9kb2MrKykgeworICAgIGZvciAobl9pbnB1dCA9IDA7bl9pbnB1dCA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX2lucHV0KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgZG9jID0gZ2VuX2NvbnN0X3htbERvY19wdHIobl9kb2MsIDApOworICAgICAgICBpbnB1dCA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX2lucHV0LCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sRW5jb2RlU3BlY2lhbENoYXJzKChjb25zdCB4bWxEb2MgKilkb2MsIChjb25zdCB4bWxDaGFyICopaW5wdXQpOworICAgICAgICBkZXNyZXRfeG1sQ2hhcl9wdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2NvbnN0X3htbERvY19wdHIobl9kb2MsIChjb25zdCB4bWxEb2MgKilkb2MsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9pbnB1dCwgKGNvbnN0IHhtbENoYXIgKilpbnB1dCwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxFbmNvZGVTcGVjaWFsQ2hhcnMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZG9jKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9pbnB1dCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sR2V0RG9jRW50aXR5KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbEVudGl0eVB0ciByZXRfdmFsOworICAgIHhtbERvYyAqIGRvYzsgLyogdGhlIGRvY3VtZW50IHJlZmVyZW5jaW5nIHRoZSBlbnRpdHkgKi8KKyAgICBpbnQgbl9kb2M7CisgICAgeG1sQ2hhciAqIG5hbWU7IC8qIHRoZSBlbnRpdHkgbmFtZSAqLworICAgIGludCBuX25hbWU7CisKKyAgICBmb3IgKG5fZG9jID0gMDtuX2RvYyA8IGdlbl9uYl9jb25zdF94bWxEb2NfcHRyO25fZG9jKyspIHsKKyAgICBmb3IgKG5fbmFtZSA9IDA7bl9uYW1lIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fbmFtZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGRvYyA9IGdlbl9jb25zdF94bWxEb2NfcHRyKG5fZG9jLCAwKTsKKyAgICAgICAgbmFtZSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxHZXREb2NFbnRpdHkoKGNvbnN0IHhtbERvYyAqKWRvYywgKGNvbnN0IHhtbENoYXIgKiluYW1lKTsKKyAgICAgICAgZGVzcmV0X3htbEVudGl0eVB0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfY29uc3RfeG1sRG9jX3B0cihuX2RvYywgKGNvbnN0IHhtbERvYyAqKWRvYywgMCk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIChjb25zdCB4bWxDaGFyICopbmFtZSwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxHZXREb2NFbnRpdHkiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZG9jKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9uYW1lKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxHZXREdGRFbnRpdHkodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sRW50aXR5UHRyIHJldF92YWw7CisgICAgeG1sRG9jUHRyIGRvYzsgLyogdGhlIGRvY3VtZW50IHJlZmVyZW5jaW5nIHRoZSBlbnRpdHkgKi8KKyAgICBpbnQgbl9kb2M7CisgICAgeG1sQ2hhciAqIG5hbWU7IC8qIHRoZSBlbnRpdHkgbmFtZSAqLworICAgIGludCBuX25hbWU7CisKKyAgICBmb3IgKG5fZG9jID0gMDtuX2RvYyA8IGdlbl9uYl94bWxEb2NQdHI7bl9kb2MrKykgeworICAgIGZvciAobl9uYW1lID0gMDtuX25hbWUgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9uYW1lKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgZG9jID0gZ2VuX3htbERvY1B0cihuX2RvYywgMCk7CisgICAgICAgIG5hbWUgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sR2V0RHRkRW50aXR5KGRvYywgKGNvbnN0IHhtbENoYXIgKiluYW1lKTsKKyAgICAgICAgZGVzcmV0X3htbEVudGl0eVB0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sRG9jUHRyKG5fZG9jLCBkb2MsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sR2V0RHRkRW50aXR5IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2RvYyk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFtZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sR2V0UGFyYW1ldGVyRW50aXR5KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbEVudGl0eVB0ciByZXRfdmFsOworICAgIHhtbERvY1B0ciBkb2M7IC8qIHRoZSBkb2N1bWVudCByZWZlcmVuY2luZyB0aGUgZW50aXR5ICovCisgICAgaW50IG5fZG9jOworICAgIHhtbENoYXIgKiBuYW1lOyAvKiB0aGUgZW50aXR5IG5hbWUgKi8KKyAgICBpbnQgbl9uYW1lOworCisgICAgZm9yIChuX2RvYyA9IDA7bl9kb2MgPCBnZW5fbmJfeG1sRG9jUHRyO25fZG9jKyspIHsKKyAgICBmb3IgKG5fbmFtZSA9IDA7bl9uYW1lIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fbmFtZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGRvYyA9IGdlbl94bWxEb2NQdHIobl9kb2MsIDApOworICAgICAgICBuYW1lID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbEdldFBhcmFtZXRlckVudGl0eShkb2MsIChjb25zdCB4bWxDaGFyICopbmFtZSk7CisgICAgICAgIGRlc3JldF94bWxFbnRpdHlQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbERvY1B0cihuX2RvYywgZG9jLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgKGNvbnN0IHhtbENoYXIgKiluYW1lLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbEdldFBhcmFtZXRlckVudGl0eSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9kb2MpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25hbWUpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbEdldFByZWRlZmluZWRFbnRpdHkodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sRW50aXR5UHRyIHJldF92YWw7CisgICAgeG1sQ2hhciAqIG5hbWU7IC8qIHRoZSBlbnRpdHkgbmFtZSAqLworICAgIGludCBuX25hbWU7CisKKyAgICBmb3IgKG5fbmFtZSA9IDA7bl9uYW1lIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fbmFtZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIG5hbWUgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sR2V0UHJlZGVmaW5lZEVudGl0eSgoY29uc3QgeG1sQ2hhciAqKW5hbWUpOworICAgICAgICBkZXNyZXRfeG1sRW50aXR5UHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIChjb25zdCB4bWxDaGFyICopbmFtZSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxHZXRQcmVkZWZpbmVkRW50aXR5IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25hbWUpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sSW5pdGlhbGl6ZVByZWRlZmluZWRFbnRpdGllcyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX0xFR0FDWV9FTkFCTEVEKQorI2lmZGVmIExJQlhNTF9MRUdBQ1lfRU5BQkxFRAorICAgIGludCBtZW1fYmFzZTsKKworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworCisgICAgICAgIHhtbEluaXRpYWxpemVQcmVkZWZpbmVkRW50aXRpZXMoKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sSW5pdGlhbGl6ZVByZWRlZmluZWRFbnRpdGllcyIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbE5ld0VudGl0eSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxFbnRpdHlQdHIgcmV0X3ZhbDsKKyAgICB4bWxEb2NQdHIgZG9jOyAvKiB0aGUgZG9jdW1lbnQgKi8KKyAgICBpbnQgbl9kb2M7CisgICAgeG1sQ2hhciAqIG5hbWU7IC8qIHRoZSBlbnRpdHkgbmFtZSAqLworICAgIGludCBuX25hbWU7CisgICAgaW50IHR5cGU7IC8qIHRoZSBlbnRpdHkgdHlwZSBYTUxfeHh4X3l5eV9FTlRJVFkgKi8KKyAgICBpbnQgbl90eXBlOworICAgIHhtbENoYXIgKiBFeHRlcm5hbElEOyAvKiB0aGUgZW50aXR5IGV4dGVybmFsIElEIGlmIGF2YWlsYWJsZSAqLworICAgIGludCBuX0V4dGVybmFsSUQ7CisgICAgeG1sQ2hhciAqIFN5c3RlbUlEOyAvKiB0aGUgZW50aXR5IHN5c3RlbSBJRCBpZiBhdmFpbGFibGUgKi8KKyAgICBpbnQgbl9TeXN0ZW1JRDsKKyAgICB4bWxDaGFyICogY29udGVudDsgLyogdGhlIGVudGl0eSBjb250ZW50ICovCisgICAgaW50IG5fY29udGVudDsKKworICAgIGZvciAobl9kb2MgPSAwO25fZG9jIDwgZ2VuX25iX3htbERvY1B0cjtuX2RvYysrKSB7CisgICAgZm9yIChuX25hbWUgPSAwO25fbmFtZSA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX25hbWUrKykgeworICAgIGZvciAobl90eXBlID0gMDtuX3R5cGUgPCBnZW5fbmJfaW50O25fdHlwZSsrKSB7CisgICAgZm9yIChuX0V4dGVybmFsSUQgPSAwO25fRXh0ZXJuYWxJRCA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX0V4dGVybmFsSUQrKykgeworICAgIGZvciAobl9TeXN0ZW1JRCA9IDA7bl9TeXN0ZW1JRCA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX1N5c3RlbUlEKyspIHsKKyAgICBmb3IgKG5fY29udGVudCA9IDA7bl9jb250ZW50IDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fY29udGVudCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGRvYyA9IGdlbl94bWxEb2NQdHIobl9kb2MsIDApOworICAgICAgICBuYW1lID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgMSk7CisgICAgICAgIHR5cGUgPSBnZW5faW50KG5fdHlwZSwgMik7CisgICAgICAgIEV4dGVybmFsSUQgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9FeHRlcm5hbElELCAzKTsKKyAgICAgICAgU3lzdGVtSUQgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9TeXN0ZW1JRCwgNCk7CisgICAgICAgIGNvbnRlbnQgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9jb250ZW50LCA1KTsKKworICAgICAgICByZXRfdmFsID0geG1sTmV3RW50aXR5KGRvYywgKGNvbnN0IHhtbENoYXIgKiluYW1lLCB0eXBlLCAoY29uc3QgeG1sQ2hhciAqKUV4dGVybmFsSUQsIChjb25zdCB4bWxDaGFyICopU3lzdGVtSUQsIChjb25zdCB4bWxDaGFyICopY29udGVudCk7CisgICAgICAgIGRlc3JldF94bWxFbnRpdHlQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbERvY1B0cihuX2RvYywgZG9jLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgKGNvbnN0IHhtbENoYXIgKiluYW1lLCAxKTsKKyAgICAgICAgZGVzX2ludChuX3R5cGUsIHR5cGUsIDIpOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9FeHRlcm5hbElELCAoY29uc3QgeG1sQ2hhciAqKUV4dGVybmFsSUQsIDMpOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9TeXN0ZW1JRCwgKGNvbnN0IHhtbENoYXIgKilTeXN0ZW1JRCwgNCk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX2NvbnRlbnQsIChjb25zdCB4bWxDaGFyICopY29udGVudCwgNSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxOZXdFbnRpdHkiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZG9jKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9uYW1lKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl90eXBlKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9FeHRlcm5hbElEKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9TeXN0ZW1JRCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29udGVudCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworc3RhdGljIGludAordGVzdF9lbnRpdGllcyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGlmIChxdWlldCA9PSAwKSBwcmludGYoIlRlc3RpbmcgZW50aXRpZXMgOiAxMyBvZiAxNyBmdW5jdGlvbnMgLi4uXG4iKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbEFkZERvY0VudGl0eSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sQWRkRHRkRW50aXR5KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxDbGVhbnVwUHJlZGVmaW5lZEVudGl0aWVzKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxDb3B5RW50aXRpZXNUYWJsZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sQ3JlYXRlRW50aXRpZXNUYWJsZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sRHVtcEVudGl0aWVzVGFibGUoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbER1bXBFbnRpdHlEZWNsKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxFbmNvZGVFbnRpdGllc1JlZW50cmFudCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sRW5jb2RlU3BlY2lhbENoYXJzKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxHZXREb2NFbnRpdHkoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbEdldER0ZEVudGl0eSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sR2V0UGFyYW1ldGVyRW50aXR5KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxHZXRQcmVkZWZpbmVkRW50aXR5KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxJbml0aWFsaXplUHJlZGVmaW5lZEVudGl0aWVzKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxOZXdFbnRpdHkoKTsKKworICAgIGlmICh0ZXN0X3JldCAhPSAwKQorCXByaW50ZigiTW9kdWxlIGVudGl0aWVzOiAlZCBlcnJvcnNcbiIsIHRlc3RfcmV0KTsKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCitzdGF0aWMgaW50Cit0ZXN0X3htbEhhc2hBZGRFbnRyeSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxIYXNoVGFibGVQdHIgdGFibGU7IC8qIHRoZSBoYXNoIHRhYmxlICovCisgICAgaW50IG5fdGFibGU7CisgICAgeG1sQ2hhciAqIG5hbWU7IC8qIHRoZSBuYW1lIG9mIHRoZSB1c2VyZGF0YSAqLworICAgIGludCBuX25hbWU7CisgICAgdm9pZCAqIHVzZXJkYXRhOyAvKiBhIHBvaW50ZXIgdG8gdGhlIHVzZXJkYXRhICovCisgICAgaW50IG5fdXNlcmRhdGE7CisKKyAgICBmb3IgKG5fdGFibGUgPSAwO25fdGFibGUgPCBnZW5fbmJfeG1sSGFzaFRhYmxlUHRyO25fdGFibGUrKykgeworICAgIGZvciAobl9uYW1lID0gMDtuX25hbWUgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9uYW1lKyspIHsKKyAgICBmb3IgKG5fdXNlcmRhdGEgPSAwO25fdXNlcmRhdGEgPCBnZW5fbmJfdXNlcmRhdGE7bl91c2VyZGF0YSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHRhYmxlID0gZ2VuX3htbEhhc2hUYWJsZVB0cihuX3RhYmxlLCAwKTsKKyAgICAgICAgbmFtZSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIDEpOworICAgICAgICB1c2VyZGF0YSA9IGdlbl91c2VyZGF0YShuX3VzZXJkYXRhLCAyKTsKKworICAgICAgICByZXRfdmFsID0geG1sSGFzaEFkZEVudHJ5KHRhYmxlLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUsIHVzZXJkYXRhKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sSGFzaFRhYmxlUHRyKG5fdGFibGUsIHRhYmxlLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgKGNvbnN0IHhtbENoYXIgKiluYW1lLCAxKTsKKyAgICAgICAgZGVzX3VzZXJkYXRhKG5fdXNlcmRhdGEsIHVzZXJkYXRhLCAyKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbEhhc2hBZGRFbnRyeSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl90YWJsZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFtZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdXNlcmRhdGEpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxIYXNoQWRkRW50cnkyKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbEhhc2hUYWJsZVB0ciB0YWJsZTsgLyogdGhlIGhhc2ggdGFibGUgKi8KKyAgICBpbnQgbl90YWJsZTsKKyAgICB4bWxDaGFyICogbmFtZTsgLyogdGhlIG5hbWUgb2YgdGhlIHVzZXJkYXRhICovCisgICAgaW50IG5fbmFtZTsKKyAgICB4bWxDaGFyICogbmFtZTI7IC8qIGEgc2Vjb25kIG5hbWUgb2YgdGhlIHVzZXJkYXRhICovCisgICAgaW50IG5fbmFtZTI7CisgICAgdm9pZCAqIHVzZXJkYXRhOyAvKiBhIHBvaW50ZXIgdG8gdGhlIHVzZXJkYXRhICovCisgICAgaW50IG5fdXNlcmRhdGE7CisKKyAgICBmb3IgKG5fdGFibGUgPSAwO25fdGFibGUgPCBnZW5fbmJfeG1sSGFzaFRhYmxlUHRyO25fdGFibGUrKykgeworICAgIGZvciAobl9uYW1lID0gMDtuX25hbWUgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9uYW1lKyspIHsKKyAgICBmb3IgKG5fbmFtZTIgPSAwO25fbmFtZTIgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9uYW1lMisrKSB7CisgICAgZm9yIChuX3VzZXJkYXRhID0gMDtuX3VzZXJkYXRhIDwgZ2VuX25iX3VzZXJkYXRhO25fdXNlcmRhdGErKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICB0YWJsZSA9IGdlbl94bWxIYXNoVGFibGVQdHIobl90YWJsZSwgMCk7CisgICAgICAgIG5hbWUgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAxKTsKKyAgICAgICAgbmFtZTIgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lMiwgMik7CisgICAgICAgIHVzZXJkYXRhID0gZ2VuX3VzZXJkYXRhKG5fdXNlcmRhdGEsIDMpOworCisgICAgICAgIHJldF92YWwgPSB4bWxIYXNoQWRkRW50cnkyKHRhYmxlLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUsIChjb25zdCB4bWxDaGFyICopbmFtZTIsIHVzZXJkYXRhKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sSGFzaFRhYmxlUHRyKG5fdGFibGUsIHRhYmxlLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgKGNvbnN0IHhtbENoYXIgKiluYW1lLCAxKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZTIsIChjb25zdCB4bWxDaGFyICopbmFtZTIsIDIpOworICAgICAgICBkZXNfdXNlcmRhdGEobl91c2VyZGF0YSwgdXNlcmRhdGEsIDMpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sSGFzaEFkZEVudHJ5MiIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl90YWJsZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFtZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFtZTIpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3VzZXJkYXRhKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbEhhc2hBZGRFbnRyeTModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sSGFzaFRhYmxlUHRyIHRhYmxlOyAvKiB0aGUgaGFzaCB0YWJsZSAqLworICAgIGludCBuX3RhYmxlOworICAgIHhtbENoYXIgKiBuYW1lOyAvKiB0aGUgbmFtZSBvZiB0aGUgdXNlcmRhdGEgKi8KKyAgICBpbnQgbl9uYW1lOworICAgIHhtbENoYXIgKiBuYW1lMjsgLyogYSBzZWNvbmQgbmFtZSBvZiB0aGUgdXNlcmRhdGEgKi8KKyAgICBpbnQgbl9uYW1lMjsKKyAgICB4bWxDaGFyICogbmFtZTM7IC8qIGEgdGhpcmQgbmFtZSBvZiB0aGUgdXNlcmRhdGEgKi8KKyAgICBpbnQgbl9uYW1lMzsKKyAgICB2b2lkICogdXNlcmRhdGE7IC8qIGEgcG9pbnRlciB0byB0aGUgdXNlcmRhdGEgKi8KKyAgICBpbnQgbl91c2VyZGF0YTsKKworICAgIGZvciAobl90YWJsZSA9IDA7bl90YWJsZSA8IGdlbl9uYl94bWxIYXNoVGFibGVQdHI7bl90YWJsZSsrKSB7CisgICAgZm9yIChuX25hbWUgPSAwO25fbmFtZSA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX25hbWUrKykgeworICAgIGZvciAobl9uYW1lMiA9IDA7bl9uYW1lMiA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX25hbWUyKyspIHsKKyAgICBmb3IgKG5fbmFtZTMgPSAwO25fbmFtZTMgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9uYW1lMysrKSB7CisgICAgZm9yIChuX3VzZXJkYXRhID0gMDtuX3VzZXJkYXRhIDwgZ2VuX25iX3VzZXJkYXRhO25fdXNlcmRhdGErKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICB0YWJsZSA9IGdlbl94bWxIYXNoVGFibGVQdHIobl90YWJsZSwgMCk7CisgICAgICAgIG5hbWUgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAxKTsKKyAgICAgICAgbmFtZTIgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lMiwgMik7CisgICAgICAgIG5hbWUzID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZTMsIDMpOworICAgICAgICB1c2VyZGF0YSA9IGdlbl91c2VyZGF0YShuX3VzZXJkYXRhLCA0KTsKKworICAgICAgICByZXRfdmFsID0geG1sSGFzaEFkZEVudHJ5Myh0YWJsZSwgKGNvbnN0IHhtbENoYXIgKiluYW1lLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUyLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUzLCB1c2VyZGF0YSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbEhhc2hUYWJsZVB0cihuX3RhYmxlLCB0YWJsZSwgMCk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIChjb25zdCB4bWxDaGFyICopbmFtZSwgMSk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX25hbWUyLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUyLCAyKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZTMsIChjb25zdCB4bWxDaGFyICopbmFtZTMsIDMpOworICAgICAgICBkZXNfdXNlcmRhdGEobl91c2VyZGF0YSwgdXNlcmRhdGEsIDQpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sSGFzaEFkZEVudHJ5MyIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl90YWJsZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFtZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFtZTIpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25hbWUzKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl91c2VyZGF0YSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sSGFzaENvcHkodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworICAgIC8qIG1pc3NpbmcgdHlwZSBzdXBwb3J0ICovCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbEhhc2hDcmVhdGUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworICAgIC8qIG1pc3NpbmcgdHlwZSBzdXBwb3J0ICovCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbEhhc2hDcmVhdGVEaWN0KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisKKyAgICAvKiBtaXNzaW5nIHR5cGUgc3VwcG9ydCAqLworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxIYXNoTG9va3VwKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIHZvaWQgKiByZXRfdmFsOworICAgIHhtbEhhc2hUYWJsZVB0ciB0YWJsZTsgLyogdGhlIGhhc2ggdGFibGUgKi8KKyAgICBpbnQgbl90YWJsZTsKKyAgICB4bWxDaGFyICogbmFtZTsgLyogdGhlIG5hbWUgb2YgdGhlIHVzZXJkYXRhICovCisgICAgaW50IG5fbmFtZTsKKworICAgIGZvciAobl90YWJsZSA9IDA7bl90YWJsZSA8IGdlbl9uYl94bWxIYXNoVGFibGVQdHI7bl90YWJsZSsrKSB7CisgICAgZm9yIChuX25hbWUgPSAwO25fbmFtZSA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX25hbWUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICB0YWJsZSA9IGdlbl94bWxIYXNoVGFibGVQdHIobl90YWJsZSwgMCk7CisgICAgICAgIG5hbWUgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sSGFzaExvb2t1cCh0YWJsZSwgKGNvbnN0IHhtbENoYXIgKiluYW1lKTsKKyAgICAgICAgZGVzcmV0X3ZvaWRfcHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxIYXNoVGFibGVQdHIobl90YWJsZSwgdGFibGUsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sSGFzaExvb2t1cCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl90YWJsZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFtZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sSGFzaExvb2t1cDIodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgdm9pZCAqIHJldF92YWw7CisgICAgeG1sSGFzaFRhYmxlUHRyIHRhYmxlOyAvKiB0aGUgaGFzaCB0YWJsZSAqLworICAgIGludCBuX3RhYmxlOworICAgIHhtbENoYXIgKiBuYW1lOyAvKiB0aGUgbmFtZSBvZiB0aGUgdXNlcmRhdGEgKi8KKyAgICBpbnQgbl9uYW1lOworICAgIHhtbENoYXIgKiBuYW1lMjsgLyogYSBzZWNvbmQgbmFtZSBvZiB0aGUgdXNlcmRhdGEgKi8KKyAgICBpbnQgbl9uYW1lMjsKKworICAgIGZvciAobl90YWJsZSA9IDA7bl90YWJsZSA8IGdlbl9uYl94bWxIYXNoVGFibGVQdHI7bl90YWJsZSsrKSB7CisgICAgZm9yIChuX25hbWUgPSAwO25fbmFtZSA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX25hbWUrKykgeworICAgIGZvciAobl9uYW1lMiA9IDA7bl9uYW1lMiA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX25hbWUyKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgdGFibGUgPSBnZW5feG1sSGFzaFRhYmxlUHRyKG5fdGFibGUsIDApOworICAgICAgICBuYW1lID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgMSk7CisgICAgICAgIG5hbWUyID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZTIsIDIpOworCisgICAgICAgIHJldF92YWwgPSB4bWxIYXNoTG9va3VwMih0YWJsZSwgKGNvbnN0IHhtbENoYXIgKiluYW1lLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUyKTsKKyAgICAgICAgZGVzcmV0X3ZvaWRfcHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxIYXNoVGFibGVQdHIobl90YWJsZSwgdGFibGUsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUsIDEpOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lMiwgKGNvbnN0IHhtbENoYXIgKiluYW1lMiwgMik7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxIYXNoTG9va3VwMiIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl90YWJsZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFtZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFtZTIpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxIYXNoTG9va3VwMyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB2b2lkICogcmV0X3ZhbDsKKyAgICB4bWxIYXNoVGFibGVQdHIgdGFibGU7IC8qIHRoZSBoYXNoIHRhYmxlICovCisgICAgaW50IG5fdGFibGU7CisgICAgeG1sQ2hhciAqIG5hbWU7IC8qIHRoZSBuYW1lIG9mIHRoZSB1c2VyZGF0YSAqLworICAgIGludCBuX25hbWU7CisgICAgeG1sQ2hhciAqIG5hbWUyOyAvKiBhIHNlY29uZCBuYW1lIG9mIHRoZSB1c2VyZGF0YSAqLworICAgIGludCBuX25hbWUyOworICAgIHhtbENoYXIgKiBuYW1lMzsgLyogYSB0aGlyZCBuYW1lIG9mIHRoZSB1c2VyZGF0YSAqLworICAgIGludCBuX25hbWUzOworCisgICAgZm9yIChuX3RhYmxlID0gMDtuX3RhYmxlIDwgZ2VuX25iX3htbEhhc2hUYWJsZVB0cjtuX3RhYmxlKyspIHsKKyAgICBmb3IgKG5fbmFtZSA9IDA7bl9uYW1lIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fbmFtZSsrKSB7CisgICAgZm9yIChuX25hbWUyID0gMDtuX25hbWUyIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fbmFtZTIrKykgeworICAgIGZvciAobl9uYW1lMyA9IDA7bl9uYW1lMyA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX25hbWUzKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgdGFibGUgPSBnZW5feG1sSGFzaFRhYmxlUHRyKG5fdGFibGUsIDApOworICAgICAgICBuYW1lID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgMSk7CisgICAgICAgIG5hbWUyID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZTIsIDIpOworICAgICAgICBuYW1lMyA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX25hbWUzLCAzKTsKKworICAgICAgICByZXRfdmFsID0geG1sSGFzaExvb2t1cDModGFibGUsIChjb25zdCB4bWxDaGFyICopbmFtZSwgKGNvbnN0IHhtbENoYXIgKiluYW1lMiwgKGNvbnN0IHhtbENoYXIgKiluYW1lMyk7CisgICAgICAgIGRlc3JldF92b2lkX3B0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sSGFzaFRhYmxlUHRyKG5fdGFibGUsIHRhYmxlLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgKGNvbnN0IHhtbENoYXIgKiluYW1lLCAxKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZTIsIChjb25zdCB4bWxDaGFyICopbmFtZTIsIDIpOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lMywgKGNvbnN0IHhtbENoYXIgKiluYW1lMywgMyk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxIYXNoTG9va3VwMyIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl90YWJsZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFtZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFtZTIpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25hbWUzKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbEhhc2hRTG9va3VwKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIHZvaWQgKiByZXRfdmFsOworICAgIHhtbEhhc2hUYWJsZVB0ciB0YWJsZTsgLyogdGhlIGhhc2ggdGFibGUgKi8KKyAgICBpbnQgbl90YWJsZTsKKyAgICB4bWxDaGFyICogcHJlZml4OyAvKiB0aGUgcHJlZml4IG9mIHRoZSB1c2VyZGF0YSAqLworICAgIGludCBuX3ByZWZpeDsKKyAgICB4bWxDaGFyICogbmFtZTsgLyogdGhlIG5hbWUgb2YgdGhlIHVzZXJkYXRhICovCisgICAgaW50IG5fbmFtZTsKKworICAgIGZvciAobl90YWJsZSA9IDA7bl90YWJsZSA8IGdlbl9uYl94bWxIYXNoVGFibGVQdHI7bl90YWJsZSsrKSB7CisgICAgZm9yIChuX3ByZWZpeCA9IDA7bl9wcmVmaXggPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9wcmVmaXgrKykgeworICAgIGZvciAobl9uYW1lID0gMDtuX25hbWUgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9uYW1lKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgdGFibGUgPSBnZW5feG1sSGFzaFRhYmxlUHRyKG5fdGFibGUsIDApOworICAgICAgICBwcmVmaXggPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9wcmVmaXgsIDEpOworICAgICAgICBuYW1lID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgMik7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbEhhc2hRTG9va3VwKHRhYmxlLCAoY29uc3QgeG1sQ2hhciAqKXByZWZpeCwgKGNvbnN0IHhtbENoYXIgKiluYW1lKTsKKyAgICAgICAgZGVzcmV0X3ZvaWRfcHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxIYXNoVGFibGVQdHIobl90YWJsZSwgdGFibGUsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9wcmVmaXgsIChjb25zdCB4bWxDaGFyICopcHJlZml4LCAxKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgKGNvbnN0IHhtbENoYXIgKiluYW1lLCAyKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbEhhc2hRTG9va3VwIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3RhYmxlKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9wcmVmaXgpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25hbWUpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxIYXNoUUxvb2t1cDIodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgdm9pZCAqIHJldF92YWw7CisgICAgeG1sSGFzaFRhYmxlUHRyIHRhYmxlOyAvKiB0aGUgaGFzaCB0YWJsZSAqLworICAgIGludCBuX3RhYmxlOworICAgIHhtbENoYXIgKiBwcmVmaXg7IC8qIHRoZSBwcmVmaXggb2YgdGhlIHVzZXJkYXRhICovCisgICAgaW50IG5fcHJlZml4OworICAgIHhtbENoYXIgKiBuYW1lOyAvKiB0aGUgbmFtZSBvZiB0aGUgdXNlcmRhdGEgKi8KKyAgICBpbnQgbl9uYW1lOworICAgIHhtbENoYXIgKiBwcmVmaXgyOyAvKiB0aGUgc2Vjb25kIHByZWZpeCBvZiB0aGUgdXNlcmRhdGEgKi8KKyAgICBpbnQgbl9wcmVmaXgyOworICAgIHhtbENoYXIgKiBuYW1lMjsgLyogYSBzZWNvbmQgbmFtZSBvZiB0aGUgdXNlcmRhdGEgKi8KKyAgICBpbnQgbl9uYW1lMjsKKworICAgIGZvciAobl90YWJsZSA9IDA7bl90YWJsZSA8IGdlbl9uYl94bWxIYXNoVGFibGVQdHI7bl90YWJsZSsrKSB7CisgICAgZm9yIChuX3ByZWZpeCA9IDA7bl9wcmVmaXggPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9wcmVmaXgrKykgeworICAgIGZvciAobl9uYW1lID0gMDtuX25hbWUgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9uYW1lKyspIHsKKyAgICBmb3IgKG5fcHJlZml4MiA9IDA7bl9wcmVmaXgyIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fcHJlZml4MisrKSB7CisgICAgZm9yIChuX25hbWUyID0gMDtuX25hbWUyIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fbmFtZTIrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICB0YWJsZSA9IGdlbl94bWxIYXNoVGFibGVQdHIobl90YWJsZSwgMCk7CisgICAgICAgIHByZWZpeCA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX3ByZWZpeCwgMSk7CisgICAgICAgIG5hbWUgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAyKTsKKyAgICAgICAgcHJlZml4MiA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX3ByZWZpeDIsIDMpOworICAgICAgICBuYW1lMiA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX25hbWUyLCA0KTsKKworICAgICAgICByZXRfdmFsID0geG1sSGFzaFFMb29rdXAyKHRhYmxlLCAoY29uc3QgeG1sQ2hhciAqKXByZWZpeCwgKGNvbnN0IHhtbENoYXIgKiluYW1lLCAoY29uc3QgeG1sQ2hhciAqKXByZWZpeDIsIChjb25zdCB4bWxDaGFyICopbmFtZTIpOworICAgICAgICBkZXNyZXRfdm9pZF9wdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbEhhc2hUYWJsZVB0cihuX3RhYmxlLCB0YWJsZSwgMCk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX3ByZWZpeCwgKGNvbnN0IHhtbENoYXIgKilwcmVmaXgsIDEpOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUsIDIpOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9wcmVmaXgyLCAoY29uc3QgeG1sQ2hhciAqKXByZWZpeDIsIDMpOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lMiwgKGNvbnN0IHhtbENoYXIgKiluYW1lMiwgNCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxIYXNoUUxvb2t1cDIiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdGFibGUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3ByZWZpeCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFtZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fcHJlZml4Mik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFtZTIpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbEhhc2hRTG9va3VwMyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB2b2lkICogcmV0X3ZhbDsKKyAgICB4bWxIYXNoVGFibGVQdHIgdGFibGU7IC8qIHRoZSBoYXNoIHRhYmxlICovCisgICAgaW50IG5fdGFibGU7CisgICAgeG1sQ2hhciAqIHByZWZpeDsgLyogdGhlIHByZWZpeCBvZiB0aGUgdXNlcmRhdGEgKi8KKyAgICBpbnQgbl9wcmVmaXg7CisgICAgeG1sQ2hhciAqIG5hbWU7IC8qIHRoZSBuYW1lIG9mIHRoZSB1c2VyZGF0YSAqLworICAgIGludCBuX25hbWU7CisgICAgeG1sQ2hhciAqIHByZWZpeDI7IC8qIHRoZSBzZWNvbmQgcHJlZml4IG9mIHRoZSB1c2VyZGF0YSAqLworICAgIGludCBuX3ByZWZpeDI7CisgICAgeG1sQ2hhciAqIG5hbWUyOyAvKiBhIHNlY29uZCBuYW1lIG9mIHRoZSB1c2VyZGF0YSAqLworICAgIGludCBuX25hbWUyOworICAgIHhtbENoYXIgKiBwcmVmaXgzOyAvKiB0aGUgdGhpcmQgcHJlZml4IG9mIHRoZSB1c2VyZGF0YSAqLworICAgIGludCBuX3ByZWZpeDM7CisgICAgeG1sQ2hhciAqIG5hbWUzOyAvKiBhIHRoaXJkIG5hbWUgb2YgdGhlIHVzZXJkYXRhICovCisgICAgaW50IG5fbmFtZTM7CisKKyAgICBmb3IgKG5fdGFibGUgPSAwO25fdGFibGUgPCBnZW5fbmJfeG1sSGFzaFRhYmxlUHRyO25fdGFibGUrKykgeworICAgIGZvciAobl9wcmVmaXggPSAwO25fcHJlZml4IDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fcHJlZml4KyspIHsKKyAgICBmb3IgKG5fbmFtZSA9IDA7bl9uYW1lIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fbmFtZSsrKSB7CisgICAgZm9yIChuX3ByZWZpeDIgPSAwO25fcHJlZml4MiA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX3ByZWZpeDIrKykgeworICAgIGZvciAobl9uYW1lMiA9IDA7bl9uYW1lMiA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX25hbWUyKyspIHsKKyAgICBmb3IgKG5fcHJlZml4MyA9IDA7bl9wcmVmaXgzIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fcHJlZml4MysrKSB7CisgICAgZm9yIChuX25hbWUzID0gMDtuX25hbWUzIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fbmFtZTMrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICB0YWJsZSA9IGdlbl94bWxIYXNoVGFibGVQdHIobl90YWJsZSwgMCk7CisgICAgICAgIHByZWZpeCA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX3ByZWZpeCwgMSk7CisgICAgICAgIG5hbWUgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAyKTsKKyAgICAgICAgcHJlZml4MiA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX3ByZWZpeDIsIDMpOworICAgICAgICBuYW1lMiA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX25hbWUyLCA0KTsKKyAgICAgICAgcHJlZml4MyA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX3ByZWZpeDMsIDUpOworICAgICAgICBuYW1lMyA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX25hbWUzLCA2KTsKKworICAgICAgICByZXRfdmFsID0geG1sSGFzaFFMb29rdXAzKHRhYmxlLCAoY29uc3QgeG1sQ2hhciAqKXByZWZpeCwgKGNvbnN0IHhtbENoYXIgKiluYW1lLCAoY29uc3QgeG1sQ2hhciAqKXByZWZpeDIsIChjb25zdCB4bWxDaGFyICopbmFtZTIsIChjb25zdCB4bWxDaGFyICopcHJlZml4MywgKGNvbnN0IHhtbENoYXIgKiluYW1lMyk7CisgICAgICAgIGRlc3JldF92b2lkX3B0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sSGFzaFRhYmxlUHRyKG5fdGFibGUsIHRhYmxlLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fcHJlZml4LCAoY29uc3QgeG1sQ2hhciAqKXByZWZpeCwgMSk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIChjb25zdCB4bWxDaGFyICopbmFtZSwgMik7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX3ByZWZpeDIsIChjb25zdCB4bWxDaGFyICopcHJlZml4MiwgMyk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX25hbWUyLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUyLCA0KTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fcHJlZml4MywgKGNvbnN0IHhtbENoYXIgKilwcmVmaXgzLCA1KTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZTMsIChjb25zdCB4bWxDaGFyICopbmFtZTMsIDYpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sSGFzaFFMb29rdXAzIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3RhYmxlKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9wcmVmaXgpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25hbWUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3ByZWZpeDIpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25hbWUyKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9wcmVmaXgzKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9uYW1lMyk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxIYXNoUmVtb3ZlRW50cnkodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sSGFzaFRhYmxlUHRyIHRhYmxlOyAvKiB0aGUgaGFzaCB0YWJsZSAqLworICAgIGludCBuX3RhYmxlOworICAgIHhtbENoYXIgKiBuYW1lOyAvKiB0aGUgbmFtZSBvZiB0aGUgdXNlcmRhdGEgKi8KKyAgICBpbnQgbl9uYW1lOworICAgIHhtbEhhc2hEZWFsbG9jYXRvciBmOyAvKiB0aGUgZGVhbGxvY2F0b3IgZnVuY3Rpb24gZm9yIHJlbW92ZWQgaXRlbSAoaWYgYW55KSAqLworICAgIGludCBuX2Y7CisKKyAgICBmb3IgKG5fdGFibGUgPSAwO25fdGFibGUgPCBnZW5fbmJfeG1sSGFzaFRhYmxlUHRyO25fdGFibGUrKykgeworICAgIGZvciAobl9uYW1lID0gMDtuX25hbWUgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9uYW1lKyspIHsKKyAgICBmb3IgKG5fZiA9IDA7bl9mIDwgZ2VuX25iX3htbEhhc2hEZWFsbG9jYXRvcjtuX2YrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICB0YWJsZSA9IGdlbl94bWxIYXNoVGFibGVQdHIobl90YWJsZSwgMCk7CisgICAgICAgIG5hbWUgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAxKTsKKyAgICAgICAgZiA9IGdlbl94bWxIYXNoRGVhbGxvY2F0b3Iobl9mLCAyKTsKKworICAgICAgICByZXRfdmFsID0geG1sSGFzaFJlbW92ZUVudHJ5KHRhYmxlLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUsIGYpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxIYXNoVGFibGVQdHIobl90YWJsZSwgdGFibGUsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUsIDEpOworICAgICAgICBkZXNfeG1sSGFzaERlYWxsb2NhdG9yKG5fZiwgZiwgMik7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxIYXNoUmVtb3ZlRW50cnkiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdGFibGUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25hbWUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2YpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxIYXNoUmVtb3ZlRW50cnkyKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbEhhc2hUYWJsZVB0ciB0YWJsZTsgLyogdGhlIGhhc2ggdGFibGUgKi8KKyAgICBpbnQgbl90YWJsZTsKKyAgICB4bWxDaGFyICogbmFtZTsgLyogdGhlIG5hbWUgb2YgdGhlIHVzZXJkYXRhICovCisgICAgaW50IG5fbmFtZTsKKyAgICB4bWxDaGFyICogbmFtZTI7IC8qIGEgc2Vjb25kIG5hbWUgb2YgdGhlIHVzZXJkYXRhICovCisgICAgaW50IG5fbmFtZTI7CisgICAgeG1sSGFzaERlYWxsb2NhdG9yIGY7IC8qIHRoZSBkZWFsbG9jYXRvciBmdW5jdGlvbiBmb3IgcmVtb3ZlZCBpdGVtIChpZiBhbnkpICovCisgICAgaW50IG5fZjsKKworICAgIGZvciAobl90YWJsZSA9IDA7bl90YWJsZSA8IGdlbl9uYl94bWxIYXNoVGFibGVQdHI7bl90YWJsZSsrKSB7CisgICAgZm9yIChuX25hbWUgPSAwO25fbmFtZSA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX25hbWUrKykgeworICAgIGZvciAobl9uYW1lMiA9IDA7bl9uYW1lMiA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX25hbWUyKyspIHsKKyAgICBmb3IgKG5fZiA9IDA7bl9mIDwgZ2VuX25iX3htbEhhc2hEZWFsbG9jYXRvcjtuX2YrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICB0YWJsZSA9IGdlbl94bWxIYXNoVGFibGVQdHIobl90YWJsZSwgMCk7CisgICAgICAgIG5hbWUgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAxKTsKKyAgICAgICAgbmFtZTIgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lMiwgMik7CisgICAgICAgIGYgPSBnZW5feG1sSGFzaERlYWxsb2NhdG9yKG5fZiwgMyk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbEhhc2hSZW1vdmVFbnRyeTIodGFibGUsIChjb25zdCB4bWxDaGFyICopbmFtZSwgKGNvbnN0IHhtbENoYXIgKiluYW1lMiwgZik7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbEhhc2hUYWJsZVB0cihuX3RhYmxlLCB0YWJsZSwgMCk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIChjb25zdCB4bWxDaGFyICopbmFtZSwgMSk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX25hbWUyLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUyLCAyKTsKKyAgICAgICAgZGVzX3htbEhhc2hEZWFsbG9jYXRvcihuX2YsIGYsIDMpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sSGFzaFJlbW92ZUVudHJ5MiIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl90YWJsZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFtZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFtZTIpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2YpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sSGFzaFJlbW92ZUVudHJ5Myh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxIYXNoVGFibGVQdHIgdGFibGU7IC8qIHRoZSBoYXNoIHRhYmxlICovCisgICAgaW50IG5fdGFibGU7CisgICAgeG1sQ2hhciAqIG5hbWU7IC8qIHRoZSBuYW1lIG9mIHRoZSB1c2VyZGF0YSAqLworICAgIGludCBuX25hbWU7CisgICAgeG1sQ2hhciAqIG5hbWUyOyAvKiBhIHNlY29uZCBuYW1lIG9mIHRoZSB1c2VyZGF0YSAqLworICAgIGludCBuX25hbWUyOworICAgIHhtbENoYXIgKiBuYW1lMzsgLyogYSB0aGlyZCBuYW1lIG9mIHRoZSB1c2VyZGF0YSAqLworICAgIGludCBuX25hbWUzOworICAgIHhtbEhhc2hEZWFsbG9jYXRvciBmOyAvKiB0aGUgZGVhbGxvY2F0b3IgZnVuY3Rpb24gZm9yIHJlbW92ZWQgaXRlbSAoaWYgYW55KSAqLworICAgIGludCBuX2Y7CisKKyAgICBmb3IgKG5fdGFibGUgPSAwO25fdGFibGUgPCBnZW5fbmJfeG1sSGFzaFRhYmxlUHRyO25fdGFibGUrKykgeworICAgIGZvciAobl9uYW1lID0gMDtuX25hbWUgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9uYW1lKyspIHsKKyAgICBmb3IgKG5fbmFtZTIgPSAwO25fbmFtZTIgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9uYW1lMisrKSB7CisgICAgZm9yIChuX25hbWUzID0gMDtuX25hbWUzIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fbmFtZTMrKykgeworICAgIGZvciAobl9mID0gMDtuX2YgPCBnZW5fbmJfeG1sSGFzaERlYWxsb2NhdG9yO25fZisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHRhYmxlID0gZ2VuX3htbEhhc2hUYWJsZVB0cihuX3RhYmxlLCAwKTsKKyAgICAgICAgbmFtZSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIDEpOworICAgICAgICBuYW1lMiA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX25hbWUyLCAyKTsKKyAgICAgICAgbmFtZTMgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lMywgMyk7CisgICAgICAgIGYgPSBnZW5feG1sSGFzaERlYWxsb2NhdG9yKG5fZiwgNCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbEhhc2hSZW1vdmVFbnRyeTModGFibGUsIChjb25zdCB4bWxDaGFyICopbmFtZSwgKGNvbnN0IHhtbENoYXIgKiluYW1lMiwgKGNvbnN0IHhtbENoYXIgKiluYW1lMywgZik7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbEhhc2hUYWJsZVB0cihuX3RhYmxlLCB0YWJsZSwgMCk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIChjb25zdCB4bWxDaGFyICopbmFtZSwgMSk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX25hbWUyLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUyLCAyKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZTMsIChjb25zdCB4bWxDaGFyICopbmFtZTMsIDMpOworICAgICAgICBkZXNfeG1sSGFzaERlYWxsb2NhdG9yKG5fZiwgZiwgNCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxIYXNoUmVtb3ZlRW50cnkzIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3RhYmxlKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9uYW1lKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9uYW1lMik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFtZTMpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2YpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbEhhc2hTY2FuKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisKKyAgICAvKiBtaXNzaW5nIHR5cGUgc3VwcG9ydCAqLworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxIYXNoU2NhbjModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworICAgIC8qIG1pc3NpbmcgdHlwZSBzdXBwb3J0ICovCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbEhhc2hTY2FuRnVsbCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworCisgICAgLyogbWlzc2luZyB0eXBlIHN1cHBvcnQgKi8KKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sSGFzaFNjYW5GdWxsMyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworCisgICAgLyogbWlzc2luZyB0eXBlIHN1cHBvcnQgKi8KKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sSGFzaFNpemUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sSGFzaFRhYmxlUHRyIHRhYmxlOyAvKiB0aGUgaGFzaCB0YWJsZSAqLworICAgIGludCBuX3RhYmxlOworCisgICAgZm9yIChuX3RhYmxlID0gMDtuX3RhYmxlIDwgZ2VuX25iX3htbEhhc2hUYWJsZVB0cjtuX3RhYmxlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgdGFibGUgPSBnZW5feG1sSGFzaFRhYmxlUHRyKG5fdGFibGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxIYXNoU2l6ZSh0YWJsZSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbEhhc2hUYWJsZVB0cihuX3RhYmxlLCB0YWJsZSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxIYXNoU2l6ZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl90YWJsZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxIYXNoVXBkYXRlRW50cnkodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sSGFzaFRhYmxlUHRyIHRhYmxlOyAvKiB0aGUgaGFzaCB0YWJsZSAqLworICAgIGludCBuX3RhYmxlOworICAgIHhtbENoYXIgKiBuYW1lOyAvKiB0aGUgbmFtZSBvZiB0aGUgdXNlcmRhdGEgKi8KKyAgICBpbnQgbl9uYW1lOworICAgIHZvaWQgKiB1c2VyZGF0YTsgLyogYSBwb2ludGVyIHRvIHRoZSB1c2VyZGF0YSAqLworICAgIGludCBuX3VzZXJkYXRhOworICAgIHhtbEhhc2hEZWFsbG9jYXRvciBmOyAvKiB0aGUgZGVhbGxvY2F0b3IgZnVuY3Rpb24gZm9yIHJlcGxhY2VkIGl0ZW0gKGlmIGFueSkgKi8KKyAgICBpbnQgbl9mOworCisgICAgZm9yIChuX3RhYmxlID0gMDtuX3RhYmxlIDwgZ2VuX25iX3htbEhhc2hUYWJsZVB0cjtuX3RhYmxlKyspIHsKKyAgICBmb3IgKG5fbmFtZSA9IDA7bl9uYW1lIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fbmFtZSsrKSB7CisgICAgZm9yIChuX3VzZXJkYXRhID0gMDtuX3VzZXJkYXRhIDwgZ2VuX25iX3VzZXJkYXRhO25fdXNlcmRhdGErKykgeworICAgIGZvciAobl9mID0gMDtuX2YgPCBnZW5fbmJfeG1sSGFzaERlYWxsb2NhdG9yO25fZisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHRhYmxlID0gZ2VuX3htbEhhc2hUYWJsZVB0cihuX3RhYmxlLCAwKTsKKyAgICAgICAgbmFtZSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIDEpOworICAgICAgICB1c2VyZGF0YSA9IGdlbl91c2VyZGF0YShuX3VzZXJkYXRhLCAyKTsKKyAgICAgICAgZiA9IGdlbl94bWxIYXNoRGVhbGxvY2F0b3Iobl9mLCAzKTsKKworICAgICAgICByZXRfdmFsID0geG1sSGFzaFVwZGF0ZUVudHJ5KHRhYmxlLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUsIHVzZXJkYXRhLCBmKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sSGFzaFRhYmxlUHRyKG5fdGFibGUsIHRhYmxlLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgKGNvbnN0IHhtbENoYXIgKiluYW1lLCAxKTsKKyAgICAgICAgZGVzX3VzZXJkYXRhKG5fdXNlcmRhdGEsIHVzZXJkYXRhLCAyKTsKKyAgICAgICAgZGVzX3htbEhhc2hEZWFsbG9jYXRvcihuX2YsIGYsIDMpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sSGFzaFVwZGF0ZUVudHJ5IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3RhYmxlKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9uYW1lKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl91c2VyZGF0YSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxIYXNoVXBkYXRlRW50cnkyKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbEhhc2hUYWJsZVB0ciB0YWJsZTsgLyogdGhlIGhhc2ggdGFibGUgKi8KKyAgICBpbnQgbl90YWJsZTsKKyAgICB4bWxDaGFyICogbmFtZTsgLyogdGhlIG5hbWUgb2YgdGhlIHVzZXJkYXRhICovCisgICAgaW50IG5fbmFtZTsKKyAgICB4bWxDaGFyICogbmFtZTI7IC8qIGEgc2Vjb25kIG5hbWUgb2YgdGhlIHVzZXJkYXRhICovCisgICAgaW50IG5fbmFtZTI7CisgICAgdm9pZCAqIHVzZXJkYXRhOyAvKiBhIHBvaW50ZXIgdG8gdGhlIHVzZXJkYXRhICovCisgICAgaW50IG5fdXNlcmRhdGE7CisgICAgeG1sSGFzaERlYWxsb2NhdG9yIGY7IC8qIHRoZSBkZWFsbG9jYXRvciBmdW5jdGlvbiBmb3IgcmVwbGFjZWQgaXRlbSAoaWYgYW55KSAqLworICAgIGludCBuX2Y7CisKKyAgICBmb3IgKG5fdGFibGUgPSAwO25fdGFibGUgPCBnZW5fbmJfeG1sSGFzaFRhYmxlUHRyO25fdGFibGUrKykgeworICAgIGZvciAobl9uYW1lID0gMDtuX25hbWUgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9uYW1lKyspIHsKKyAgICBmb3IgKG5fbmFtZTIgPSAwO25fbmFtZTIgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9uYW1lMisrKSB7CisgICAgZm9yIChuX3VzZXJkYXRhID0gMDtuX3VzZXJkYXRhIDwgZ2VuX25iX3VzZXJkYXRhO25fdXNlcmRhdGErKykgeworICAgIGZvciAobl9mID0gMDtuX2YgPCBnZW5fbmJfeG1sSGFzaERlYWxsb2NhdG9yO25fZisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHRhYmxlID0gZ2VuX3htbEhhc2hUYWJsZVB0cihuX3RhYmxlLCAwKTsKKyAgICAgICAgbmFtZSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIDEpOworICAgICAgICBuYW1lMiA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX25hbWUyLCAyKTsKKyAgICAgICAgdXNlcmRhdGEgPSBnZW5fdXNlcmRhdGEobl91c2VyZGF0YSwgMyk7CisgICAgICAgIGYgPSBnZW5feG1sSGFzaERlYWxsb2NhdG9yKG5fZiwgNCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbEhhc2hVcGRhdGVFbnRyeTIodGFibGUsIChjb25zdCB4bWxDaGFyICopbmFtZSwgKGNvbnN0IHhtbENoYXIgKiluYW1lMiwgdXNlcmRhdGEsIGYpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxIYXNoVGFibGVQdHIobl90YWJsZSwgdGFibGUsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUsIDEpOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lMiwgKGNvbnN0IHhtbENoYXIgKiluYW1lMiwgMik7CisgICAgICAgIGRlc191c2VyZGF0YShuX3VzZXJkYXRhLCB1c2VyZGF0YSwgMyk7CisgICAgICAgIGRlc194bWxIYXNoRGVhbGxvY2F0b3Iobl9mLCBmLCA0KTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbEhhc2hVcGRhdGVFbnRyeTIiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdGFibGUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25hbWUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25hbWUyKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl91c2VyZGF0YSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sSGFzaFVwZGF0ZUVudHJ5Myh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxIYXNoVGFibGVQdHIgdGFibGU7IC8qIHRoZSBoYXNoIHRhYmxlICovCisgICAgaW50IG5fdGFibGU7CisgICAgeG1sQ2hhciAqIG5hbWU7IC8qIHRoZSBuYW1lIG9mIHRoZSB1c2VyZGF0YSAqLworICAgIGludCBuX25hbWU7CisgICAgeG1sQ2hhciAqIG5hbWUyOyAvKiBhIHNlY29uZCBuYW1lIG9mIHRoZSB1c2VyZGF0YSAqLworICAgIGludCBuX25hbWUyOworICAgIHhtbENoYXIgKiBuYW1lMzsgLyogYSB0aGlyZCBuYW1lIG9mIHRoZSB1c2VyZGF0YSAqLworICAgIGludCBuX25hbWUzOworICAgIHZvaWQgKiB1c2VyZGF0YTsgLyogYSBwb2ludGVyIHRvIHRoZSB1c2VyZGF0YSAqLworICAgIGludCBuX3VzZXJkYXRhOworICAgIHhtbEhhc2hEZWFsbG9jYXRvciBmOyAvKiB0aGUgZGVhbGxvY2F0b3IgZnVuY3Rpb24gZm9yIHJlcGxhY2VkIGl0ZW0gKGlmIGFueSkgKi8KKyAgICBpbnQgbl9mOworCisgICAgZm9yIChuX3RhYmxlID0gMDtuX3RhYmxlIDwgZ2VuX25iX3htbEhhc2hUYWJsZVB0cjtuX3RhYmxlKyspIHsKKyAgICBmb3IgKG5fbmFtZSA9IDA7bl9uYW1lIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fbmFtZSsrKSB7CisgICAgZm9yIChuX25hbWUyID0gMDtuX25hbWUyIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fbmFtZTIrKykgeworICAgIGZvciAobl9uYW1lMyA9IDA7bl9uYW1lMyA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX25hbWUzKyspIHsKKyAgICBmb3IgKG5fdXNlcmRhdGEgPSAwO25fdXNlcmRhdGEgPCBnZW5fbmJfdXNlcmRhdGE7bl91c2VyZGF0YSsrKSB7CisgICAgZm9yIChuX2YgPSAwO25fZiA8IGdlbl9uYl94bWxIYXNoRGVhbGxvY2F0b3I7bl9mKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgdGFibGUgPSBnZW5feG1sSGFzaFRhYmxlUHRyKG5fdGFibGUsIDApOworICAgICAgICBuYW1lID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgMSk7CisgICAgICAgIG5hbWUyID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZTIsIDIpOworICAgICAgICBuYW1lMyA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX25hbWUzLCAzKTsKKyAgICAgICAgdXNlcmRhdGEgPSBnZW5fdXNlcmRhdGEobl91c2VyZGF0YSwgNCk7CisgICAgICAgIGYgPSBnZW5feG1sSGFzaERlYWxsb2NhdG9yKG5fZiwgNSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbEhhc2hVcGRhdGVFbnRyeTModGFibGUsIChjb25zdCB4bWxDaGFyICopbmFtZSwgKGNvbnN0IHhtbENoYXIgKiluYW1lMiwgKGNvbnN0IHhtbENoYXIgKiluYW1lMywgdXNlcmRhdGEsIGYpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxIYXNoVGFibGVQdHIobl90YWJsZSwgdGFibGUsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUsIDEpOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lMiwgKGNvbnN0IHhtbENoYXIgKiluYW1lMiwgMik7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX25hbWUzLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUzLCAzKTsKKyAgICAgICAgZGVzX3VzZXJkYXRhKG5fdXNlcmRhdGEsIHVzZXJkYXRhLCA0KTsKKyAgICAgICAgZGVzX3htbEhhc2hEZWFsbG9jYXRvcihuX2YsIGYsIDUpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sSGFzaFVwZGF0ZUVudHJ5MyIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl90YWJsZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFtZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFtZTIpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25hbWUzKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl91c2VyZGF0YSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworc3RhdGljIGludAordGVzdF9oYXNoKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaWYgKHF1aWV0ID09IDApIHByaW50ZigiVGVzdGluZyBoYXNoIDogMTYgb2YgMjQgZnVuY3Rpb25zIC4uLlxuIik7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxIYXNoQWRkRW50cnkoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbEhhc2hBZGRFbnRyeTIoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbEhhc2hBZGRFbnRyeTMoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbEhhc2hDb3B5KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxIYXNoQ3JlYXRlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxIYXNoQ3JlYXRlRGljdCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sSGFzaExvb2t1cCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sSGFzaExvb2t1cDIoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbEhhc2hMb29rdXAzKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxIYXNoUUxvb2t1cCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sSGFzaFFMb29rdXAyKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxIYXNoUUxvb2t1cDMoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbEhhc2hSZW1vdmVFbnRyeSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sSGFzaFJlbW92ZUVudHJ5MigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sSGFzaFJlbW92ZUVudHJ5MygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sSGFzaFNjYW4oKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbEhhc2hTY2FuMygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sSGFzaFNjYW5GdWxsKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxIYXNoU2NhbkZ1bGwzKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxIYXNoU2l6ZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sSGFzaFVwZGF0ZUVudHJ5KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxIYXNoVXBkYXRlRW50cnkyKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxIYXNoVXBkYXRlRW50cnkzKCk7CisKKyAgICBpZiAodGVzdF9yZXQgIT0gMCkKKwlwcmludGYoIk1vZHVsZSBoYXNoOiAlZCBlcnJvcnNcbiIsIHRlc3RfcmV0KTsKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisjZGVmaW5lIGdlbl9uYl94bWxMaW5rUHRyIDEKK3N0YXRpYyB4bWxMaW5rUHRyIGdlbl94bWxMaW5rUHRyKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworICAgIHJldHVybihOVUxMKTsKK30KK3N0YXRpYyB2b2lkIGRlc194bWxMaW5rUHRyKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCB4bWxMaW5rUHRyIHZhbCBBVFRSSUJVVEVfVU5VU0VELCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworfQorCitzdGF0aWMgaW50Cit0ZXN0X3htbExpbmtHZXREYXRhKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIHZvaWQgKiByZXRfdmFsOworICAgIHhtbExpbmtQdHIgbGs7IC8qIGEgbGluayAqLworICAgIGludCBuX2xrOworCisgICAgZm9yIChuX2xrID0gMDtuX2xrIDwgZ2VuX25iX3htbExpbmtQdHI7bl9saysrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGxrID0gZ2VuX3htbExpbmtQdHIobl9saywgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbExpbmtHZXREYXRhKGxrKTsKKyAgICAgICAgZGVzcmV0X3ZvaWRfcHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxMaW5rUHRyKG5fbGssIGxrLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbExpbmtHZXREYXRhIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2xrKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbExpc3RBcHBlbmQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sTGlzdFB0ciBsOyAvKiBhIGxpc3QgKi8KKyAgICBpbnQgbl9sOworICAgIHZvaWQgKiBkYXRhOyAvKiB0aGUgZGF0YSAqLworICAgIGludCBuX2RhdGE7CisKKyAgICBmb3IgKG5fbCA9IDA7bl9sIDwgZ2VuX25iX3htbExpc3RQdHI7bl9sKyspIHsKKyAgICBmb3IgKG5fZGF0YSA9IDA7bl9kYXRhIDwgZ2VuX25iX3VzZXJkYXRhO25fZGF0YSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGwgPSBnZW5feG1sTGlzdFB0cihuX2wsIDApOworICAgICAgICBkYXRhID0gZ2VuX3VzZXJkYXRhKG5fZGF0YSwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbExpc3RBcHBlbmQobCwgZGF0YSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbExpc3RQdHIobl9sLCBsLCAwKTsKKyAgICAgICAgZGVzX3VzZXJkYXRhKG5fZGF0YSwgZGF0YSwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxMaXN0QXBwZW5kIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2wpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2RhdGEpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbExpc3RDbGVhcih2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxMaXN0UHRyIGw7IC8qIGEgbGlzdCAqLworICAgIGludCBuX2w7CisKKyAgICBmb3IgKG5fbCA9IDA7bl9sIDwgZ2VuX25iX3htbExpc3RQdHI7bl9sKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgbCA9IGdlbl94bWxMaXN0UHRyKG5fbCwgMCk7CisKKyAgICAgICAgeG1sTGlzdENsZWFyKGwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxMaXN0UHRyKG5fbCwgbCwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxMaXN0Q2xlYXIiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworI2RlZmluZSBnZW5fbmJfY29uc3RfeG1sTGlzdFB0ciAxCitzdGF0aWMgeG1sTGlzdFB0ciBnZW5fY29uc3RfeG1sTGlzdFB0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICByZXR1cm4oTlVMTCk7Cit9CitzdGF0aWMgdm9pZCBkZXNfY29uc3RfeG1sTGlzdFB0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgY29uc3QgeG1sTGlzdFB0ciB2YWwgQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKK30KKworc3RhdGljIGludAordGVzdF94bWxMaXN0Q29weSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxMaXN0UHRyIGN1cjsgLyogdGhlIG5ldyBsaXN0ICovCisgICAgaW50IG5fY3VyOworICAgIHhtbExpc3RQdHIgb2xkOyAvKiB0aGUgb2xkIGxpc3QgKi8KKyAgICBpbnQgbl9vbGQ7CisKKyAgICBmb3IgKG5fY3VyID0gMDtuX2N1ciA8IGdlbl9uYl94bWxMaXN0UHRyO25fY3VyKyspIHsKKyAgICBmb3IgKG5fb2xkID0gMDtuX29sZCA8IGdlbl9uYl9jb25zdF94bWxMaXN0UHRyO25fb2xkKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3VyID0gZ2VuX3htbExpc3RQdHIobl9jdXIsIDApOworICAgICAgICBvbGQgPSBnZW5fY29uc3RfeG1sTGlzdFB0cihuX29sZCwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbExpc3RDb3B5KGN1ciwgKGNvbnN0IHhtbExpc3RQdHIpb2xkKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sTGlzdFB0cihuX2N1ciwgY3VyLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbExpc3RQdHIobl9vbGQsIChjb25zdCB4bWxMaXN0UHRyKW9sZCwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxMaXN0Q29weSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdXIpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX29sZCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sTGlzdENyZWF0ZSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworCisgICAgLyogbWlzc2luZyB0eXBlIHN1cHBvcnQgKi8KKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sTGlzdER1cCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworCisgICAgLyogbWlzc2luZyB0eXBlIHN1cHBvcnQgKi8KKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sTGlzdEVtcHR5KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbExpc3RQdHIgbDsgLyogYSBsaXN0ICovCisgICAgaW50IG5fbDsKKworICAgIGZvciAobl9sID0gMDtuX2wgPCBnZW5fbmJfeG1sTGlzdFB0cjtuX2wrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBsID0gZ2VuX3htbExpc3RQdHIobl9sLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sTGlzdEVtcHR5KGwpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxMaXN0UHRyKG5fbCwgbCwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxMaXN0RW1wdHkiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxMaXN0RW5kKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisKKyAgICAvKiBtaXNzaW5nIHR5cGUgc3VwcG9ydCAqLworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxMaXN0RnJvbnQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworICAgIC8qIG1pc3NpbmcgdHlwZSBzdXBwb3J0ICovCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbExpc3RJbnNlcnQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sTGlzdFB0ciBsOyAvKiBhIGxpc3QgKi8KKyAgICBpbnQgbl9sOworICAgIHZvaWQgKiBkYXRhOyAvKiB0aGUgZGF0YSAqLworICAgIGludCBuX2RhdGE7CisKKyAgICBmb3IgKG5fbCA9IDA7bl9sIDwgZ2VuX25iX3htbExpc3RQdHI7bl9sKyspIHsKKyAgICBmb3IgKG5fZGF0YSA9IDA7bl9kYXRhIDwgZ2VuX25iX3VzZXJkYXRhO25fZGF0YSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGwgPSBnZW5feG1sTGlzdFB0cihuX2wsIDApOworICAgICAgICBkYXRhID0gZ2VuX3VzZXJkYXRhKG5fZGF0YSwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbExpc3RJbnNlcnQobCwgZGF0YSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbExpc3RQdHIobl9sLCBsLCAwKTsKKyAgICAgICAgZGVzX3VzZXJkYXRhKG5fZGF0YSwgZGF0YSwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxMaXN0SW5zZXJ0IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2wpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2RhdGEpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbExpc3RNZXJnZSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxMaXN0UHRyIGwxOyAvKiB0aGUgb3JpZ2luYWwgbGlzdCAqLworICAgIGludCBuX2wxOworICAgIHhtbExpc3RQdHIgbDI7IC8qIHRoZSBuZXcgbGlzdCAqLworICAgIGludCBuX2wyOworCisgICAgZm9yIChuX2wxID0gMDtuX2wxIDwgZ2VuX25iX3htbExpc3RQdHI7bl9sMSsrKSB7CisgICAgZm9yIChuX2wyID0gMDtuX2wyIDwgZ2VuX25iX3htbExpc3RQdHI7bl9sMisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGwxID0gZ2VuX3htbExpc3RQdHIobl9sMSwgMCk7CisgICAgICAgIGwyID0gZ2VuX3htbExpc3RQdHIobl9sMiwgMSk7CisKKyAgICAgICAgeG1sTGlzdE1lcmdlKGwxLCBsMik7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbExpc3RQdHIobl9sMSwgbDEsIDApOworICAgICAgICBkZXNfeG1sTGlzdFB0cihuX2wyLCBsMiwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxMaXN0TWVyZ2UiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbDEpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2wyKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxMaXN0UG9wQmFjayh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxMaXN0UHRyIGw7IC8qIGEgbGlzdCAqLworICAgIGludCBuX2w7CisKKyAgICBmb3IgKG5fbCA9IDA7bl9sIDwgZ2VuX25iX3htbExpc3RQdHI7bl9sKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgbCA9IGdlbl94bWxMaXN0UHRyKG5fbCwgMCk7CisKKyAgICAgICAgeG1sTGlzdFBvcEJhY2sobCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbExpc3RQdHIobl9sLCBsLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbExpc3RQb3BCYWNrIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2wpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sTGlzdFBvcEZyb250KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbExpc3RQdHIgbDsgLyogYSBsaXN0ICovCisgICAgaW50IG5fbDsKKworICAgIGZvciAobl9sID0gMDtuX2wgPCBnZW5fbmJfeG1sTGlzdFB0cjtuX2wrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBsID0gZ2VuX3htbExpc3RQdHIobl9sLCAwKTsKKworICAgICAgICB4bWxMaXN0UG9wRnJvbnQobCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbExpc3RQdHIobl9sLCBsLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbExpc3RQb3BGcm9udCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9sKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbExpc3RQdXNoQmFjayh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxMaXN0UHRyIGw7IC8qIGEgbGlzdCAqLworICAgIGludCBuX2w7CisgICAgdm9pZCAqIGRhdGE7IC8qIG5ldyBkYXRhICovCisgICAgaW50IG5fZGF0YTsKKworICAgIGZvciAobl9sID0gMDtuX2wgPCBnZW5fbmJfeG1sTGlzdFB0cjtuX2wrKykgeworICAgIGZvciAobl9kYXRhID0gMDtuX2RhdGEgPCBnZW5fbmJfdXNlcmRhdGE7bl9kYXRhKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgbCA9IGdlbl94bWxMaXN0UHRyKG5fbCwgMCk7CisgICAgICAgIGRhdGEgPSBnZW5fdXNlcmRhdGEobl9kYXRhLCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sTGlzdFB1c2hCYWNrKGwsIGRhdGEpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxMaXN0UHRyKG5fbCwgbCwgMCk7CisgICAgICAgIGRlc191c2VyZGF0YShuX2RhdGEsIGRhdGEsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sTGlzdFB1c2hCYWNrIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2wpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2RhdGEpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbExpc3RQdXNoRnJvbnQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sTGlzdFB0ciBsOyAvKiBhIGxpc3QgKi8KKyAgICBpbnQgbl9sOworICAgIHZvaWQgKiBkYXRhOyAvKiBuZXcgZGF0YSAqLworICAgIGludCBuX2RhdGE7CisKKyAgICBmb3IgKG5fbCA9IDA7bl9sIDwgZ2VuX25iX3htbExpc3RQdHI7bl9sKyspIHsKKyAgICBmb3IgKG5fZGF0YSA9IDA7bl9kYXRhIDwgZ2VuX25iX3VzZXJkYXRhO25fZGF0YSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGwgPSBnZW5feG1sTGlzdFB0cihuX2wsIDApOworICAgICAgICBkYXRhID0gZ2VuX3VzZXJkYXRhKG5fZGF0YSwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbExpc3RQdXNoRnJvbnQobCwgZGF0YSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbExpc3RQdHIobl9sLCBsLCAwKTsKKyAgICAgICAgZGVzX3VzZXJkYXRhKG5fZGF0YSwgZGF0YSwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxMaXN0UHVzaEZyb250IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2wpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2RhdGEpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbExpc3RSZW1vdmVBbGwodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sTGlzdFB0ciBsOyAvKiBhIGxpc3QgKi8KKyAgICBpbnQgbl9sOworICAgIHZvaWQgKiBkYXRhOyAvKiBsaXN0IGRhdGEgKi8KKyAgICBpbnQgbl9kYXRhOworCisgICAgZm9yIChuX2wgPSAwO25fbCA8IGdlbl9uYl94bWxMaXN0UHRyO25fbCsrKSB7CisgICAgZm9yIChuX2RhdGEgPSAwO25fZGF0YSA8IGdlbl9uYl91c2VyZGF0YTtuX2RhdGErKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBsID0gZ2VuX3htbExpc3RQdHIobl9sLCAwKTsKKyAgICAgICAgZGF0YSA9IGdlbl91c2VyZGF0YShuX2RhdGEsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxMaXN0UmVtb3ZlQWxsKGwsIGRhdGEpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxMaXN0UHRyKG5fbCwgbCwgMCk7CisgICAgICAgIGRlc191c2VyZGF0YShuX2RhdGEsIGRhdGEsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sTGlzdFJlbW92ZUFsbCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9sKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9kYXRhKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxMaXN0UmVtb3ZlRmlyc3Qodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sTGlzdFB0ciBsOyAvKiBhIGxpc3QgKi8KKyAgICBpbnQgbl9sOworICAgIHZvaWQgKiBkYXRhOyAvKiBsaXN0IGRhdGEgKi8KKyAgICBpbnQgbl9kYXRhOworCisgICAgZm9yIChuX2wgPSAwO25fbCA8IGdlbl9uYl94bWxMaXN0UHRyO25fbCsrKSB7CisgICAgZm9yIChuX2RhdGEgPSAwO25fZGF0YSA8IGdlbl9uYl91c2VyZGF0YTtuX2RhdGErKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBsID0gZ2VuX3htbExpc3RQdHIobl9sLCAwKTsKKyAgICAgICAgZGF0YSA9IGdlbl91c2VyZGF0YShuX2RhdGEsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxMaXN0UmVtb3ZlRmlyc3QobCwgZGF0YSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbExpc3RQdHIobl9sLCBsLCAwKTsKKyAgICAgICAgZGVzX3VzZXJkYXRhKG5fZGF0YSwgZGF0YSwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxMaXN0UmVtb3ZlRmlyc3QiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZGF0YSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sTGlzdFJlbW92ZUxhc3Qodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sTGlzdFB0ciBsOyAvKiBhIGxpc3QgKi8KKyAgICBpbnQgbl9sOworICAgIHZvaWQgKiBkYXRhOyAvKiBsaXN0IGRhdGEgKi8KKyAgICBpbnQgbl9kYXRhOworCisgICAgZm9yIChuX2wgPSAwO25fbCA8IGdlbl9uYl94bWxMaXN0UHRyO25fbCsrKSB7CisgICAgZm9yIChuX2RhdGEgPSAwO25fZGF0YSA8IGdlbl9uYl91c2VyZGF0YTtuX2RhdGErKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBsID0gZ2VuX3htbExpc3RQdHIobl9sLCAwKTsKKyAgICAgICAgZGF0YSA9IGdlbl91c2VyZGF0YShuX2RhdGEsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxMaXN0UmVtb3ZlTGFzdChsLCBkYXRhKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sTGlzdFB0cihuX2wsIGwsIDApOworICAgICAgICBkZXNfdXNlcmRhdGEobl9kYXRhLCBkYXRhLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbExpc3RSZW1vdmVMYXN0IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2wpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2RhdGEpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbExpc3RSZXZlcnNlKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbExpc3RQdHIgbDsgLyogYSBsaXN0ICovCisgICAgaW50IG5fbDsKKworICAgIGZvciAobl9sID0gMDtuX2wgPCBnZW5fbmJfeG1sTGlzdFB0cjtuX2wrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBsID0gZ2VuX3htbExpc3RQdHIobl9sLCAwKTsKKworICAgICAgICB4bWxMaXN0UmV2ZXJzZShsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sTGlzdFB0cihuX2wsIGwsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sTGlzdFJldmVyc2UiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxMaXN0UmV2ZXJzZVNlYXJjaCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB2b2lkICogcmV0X3ZhbDsKKyAgICB4bWxMaXN0UHRyIGw7IC8qIGEgbGlzdCAqLworICAgIGludCBuX2w7CisgICAgdm9pZCAqIGRhdGE7IC8qIGEgc2VhcmNoIHZhbHVlICovCisgICAgaW50IG5fZGF0YTsKKworICAgIGZvciAobl9sID0gMDtuX2wgPCBnZW5fbmJfeG1sTGlzdFB0cjtuX2wrKykgeworICAgIGZvciAobl9kYXRhID0gMDtuX2RhdGEgPCBnZW5fbmJfdXNlcmRhdGE7bl9kYXRhKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgbCA9IGdlbl94bWxMaXN0UHRyKG5fbCwgMCk7CisgICAgICAgIGRhdGEgPSBnZW5fdXNlcmRhdGEobl9kYXRhLCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sTGlzdFJldmVyc2VTZWFyY2gobCwgZGF0YSk7CisgICAgICAgIGRlc3JldF92b2lkX3B0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sTGlzdFB0cihuX2wsIGwsIDApOworICAgICAgICBkZXNfdXNlcmRhdGEobl9kYXRhLCBkYXRhLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbExpc3RSZXZlcnNlU2VhcmNoIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2wpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2RhdGEpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbExpc3RSZXZlcnNlV2Fsayh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworCisgICAgLyogbWlzc2luZyB0eXBlIHN1cHBvcnQgKi8KKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sTGlzdFNlYXJjaCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB2b2lkICogcmV0X3ZhbDsKKyAgICB4bWxMaXN0UHRyIGw7IC8qIGEgbGlzdCAqLworICAgIGludCBuX2w7CisgICAgdm9pZCAqIGRhdGE7IC8qIGEgc2VhcmNoIHZhbHVlICovCisgICAgaW50IG5fZGF0YTsKKworICAgIGZvciAobl9sID0gMDtuX2wgPCBnZW5fbmJfeG1sTGlzdFB0cjtuX2wrKykgeworICAgIGZvciAobl9kYXRhID0gMDtuX2RhdGEgPCBnZW5fbmJfdXNlcmRhdGE7bl9kYXRhKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgbCA9IGdlbl94bWxMaXN0UHRyKG5fbCwgMCk7CisgICAgICAgIGRhdGEgPSBnZW5fdXNlcmRhdGEobl9kYXRhLCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sTGlzdFNlYXJjaChsLCBkYXRhKTsKKyAgICAgICAgZGVzcmV0X3ZvaWRfcHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxMaXN0UHRyKG5fbCwgbCwgMCk7CisgICAgICAgIGRlc191c2VyZGF0YShuX2RhdGEsIGRhdGEsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sTGlzdFNlYXJjaCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9sKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9kYXRhKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxMaXN0U2l6ZSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxMaXN0UHRyIGw7IC8qIGEgbGlzdCAqLworICAgIGludCBuX2w7CisKKyAgICBmb3IgKG5fbCA9IDA7bl9sIDwgZ2VuX25iX3htbExpc3RQdHI7bl9sKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgbCA9IGdlbl94bWxMaXN0UHRyKG5fbCwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbExpc3RTaXplKGwpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxMaXN0UHRyKG5fbCwgbCwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxMaXN0U2l6ZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9sKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbExpc3RTb3J0KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbExpc3RQdHIgbDsgLyogYSBsaXN0ICovCisgICAgaW50IG5fbDsKKworICAgIGZvciAobl9sID0gMDtuX2wgPCBnZW5fbmJfeG1sTGlzdFB0cjtuX2wrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBsID0gZ2VuX3htbExpc3RQdHIobl9sLCAwKTsKKworICAgICAgICB4bWxMaXN0U29ydChsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sTGlzdFB0cihuX2wsIGwsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sTGlzdFNvcnQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxMaXN0V2Fsayh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworCisgICAgLyogbWlzc2luZyB0eXBlIHN1cHBvcnQgKi8KKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCitzdGF0aWMgaW50Cit0ZXN0X2xpc3Qodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpZiAocXVpZXQgPT0gMCkgcHJpbnRmKCJUZXN0aW5nIGxpc3QgOiAxOSBvZiAyNiBmdW5jdGlvbnMgLi4uXG4iKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbExpbmtHZXREYXRhKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxMaXN0QXBwZW5kKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxMaXN0Q2xlYXIoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbExpc3RDb3B5KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxMaXN0Q3JlYXRlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxMaXN0RHVwKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxMaXN0RW1wdHkoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbExpc3RFbmQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbExpc3RGcm9udCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sTGlzdEluc2VydCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sTGlzdE1lcmdlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxMaXN0UG9wQmFjaygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sTGlzdFBvcEZyb250KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxMaXN0UHVzaEJhY2soKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbExpc3RQdXNoRnJvbnQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbExpc3RSZW1vdmVBbGwoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbExpc3RSZW1vdmVGaXJzdCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sTGlzdFJlbW92ZUxhc3QoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbExpc3RSZXZlcnNlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxMaXN0UmV2ZXJzZVNlYXJjaCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sTGlzdFJldmVyc2VXYWxrKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxMaXN0U2VhcmNoKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxMaXN0U2l6ZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sTGlzdFNvcnQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbExpc3RXYWxrKCk7CisKKyAgICBpZiAodGVzdF9yZXQgIT0gMCkKKwlwcmludGYoIk1vZHVsZSBsaXN0OiAlZCBlcnJvcnNcbiIsIHRlc3RfcmV0KTsKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCitzdGF0aWMgaW50Cit0ZXN0X3htbE5hbm9GVFBDaGVja1Jlc3BvbnNlKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfRlRQX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHZvaWQgKiBjdHg7IC8qIGFuIEZUUCBjb250ZXh0ICovCisgICAgaW50IG5fY3R4OworCisgICAgZm9yIChuX2N0eCA9IDA7bl9jdHggPCBnZW5fbmJfeG1sTmFub0ZUUEN0eHRQdHI7bl9jdHgrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHggPSBnZW5feG1sTmFub0ZUUEN0eHRQdHIobl9jdHgsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxOYW5vRlRQQ2hlY2tSZXNwb25zZShjdHgpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxOYW5vRlRQQ3R4dFB0cihuX2N0eCwgY3R4LCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbE5hbm9GVFBDaGVja1Jlc3BvbnNlIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbE5hbm9GVFBDbGVhbnVwKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfRlRQX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworCisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisKKyAgICAgICAgeG1sTmFub0ZUUENsZWFudXAoKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sTmFub0ZUUENsZWFudXAiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sTmFub0ZUUENsb3NlQ29ubmVjdGlvbih2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX0ZUUF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB2b2lkICogY3R4OyAvKiBhbiBGVFAgY29udGV4dCAqLworICAgIGludCBuX2N0eDsKKworICAgIGZvciAobl9jdHggPSAwO25fY3R4IDwgZ2VuX25iX3htbE5hbm9GVFBDdHh0UHRyO25fY3R4KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4ID0gZ2VuX3htbE5hbm9GVFBDdHh0UHRyKG5fY3R4LCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sTmFub0ZUUENsb3NlQ29ubmVjdGlvbihjdHgpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxOYW5vRlRQQ3R4dFB0cihuX2N0eCwgY3R4LCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbE5hbm9GVFBDbG9zZUNvbm5lY3Rpb24iLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4KTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sTmFub0ZUUEN3ZCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX0ZUUF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB2b2lkICogY3R4OyAvKiBhbiBGVFAgY29udGV4dCAqLworICAgIGludCBuX2N0eDsKKyAgICBjaGFyICogZGlyZWN0b3J5OyAvKiBhIGRpcmVjdG9yeSBvbiB0aGUgc2VydmVyICovCisgICAgaW50IG5fZGlyZWN0b3J5OworCisgICAgZm9yIChuX2N0eCA9IDA7bl9jdHggPCBnZW5fbmJfeG1sTmFub0ZUUEN0eHRQdHI7bl9jdHgrKykgeworICAgIGZvciAobl9kaXJlY3RvcnkgPSAwO25fZGlyZWN0b3J5IDwgZ2VuX25iX2NvbnN0X2NoYXJfcHRyO25fZGlyZWN0b3J5KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4ID0gZ2VuX3htbE5hbm9GVFBDdHh0UHRyKG5fY3R4LCAwKTsKKyAgICAgICAgZGlyZWN0b3J5ID0gZ2VuX2NvbnN0X2NoYXJfcHRyKG5fZGlyZWN0b3J5LCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sTmFub0ZUUEN3ZChjdHgsIChjb25zdCBjaGFyICopZGlyZWN0b3J5KTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sTmFub0ZUUEN0eHRQdHIobl9jdHgsIGN0eCwgMCk7CisgICAgICAgIGRlc19jb25zdF9jaGFyX3B0cihuX2RpcmVjdG9yeSwgKGNvbnN0IGNoYXIgKilkaXJlY3RvcnksIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sTmFub0ZUUEN3ZCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHgpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2RpcmVjdG9yeSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxOYW5vRlRQRGVsZSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX0ZUUF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB2b2lkICogY3R4OyAvKiBhbiBGVFAgY29udGV4dCAqLworICAgIGludCBuX2N0eDsKKyAgICBjb25zdCBjaGFyICogZmlsZTsgLyogYSBmaWxlIG9yIGRpcmVjdG9yeSBvbiB0aGUgc2VydmVyICovCisgICAgaW50IG5fZmlsZTsKKworICAgIGZvciAobl9jdHggPSAwO25fY3R4IDwgZ2VuX25iX3htbE5hbm9GVFBDdHh0UHRyO25fY3R4KyspIHsKKyAgICBmb3IgKG5fZmlsZSA9IDA7bl9maWxlIDwgZ2VuX25iX2ZpbGVwYXRoO25fZmlsZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eCA9IGdlbl94bWxOYW5vRlRQQ3R4dFB0cihuX2N0eCwgMCk7CisgICAgICAgIGZpbGUgPSBnZW5fZmlsZXBhdGgobl9maWxlLCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sTmFub0ZUUERlbGUoY3R4LCBmaWxlKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sTmFub0ZUUEN0eHRQdHIobl9jdHgsIGN0eCwgMCk7CisgICAgICAgIGRlc19maWxlcGF0aChuX2ZpbGUsIGZpbGUsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sTmFub0ZUUERlbGUiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9maWxlKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbE5hbm9GVFBHZXQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworICAgIC8qIG1pc3NpbmcgdHlwZSBzdXBwb3J0ICovCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbE5hbm9GVFBHZXRDb25uZWN0aW9uKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisKKyAgICAvKiBtaXNzaW5nIHR5cGUgc3VwcG9ydCAqLworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxOYW5vRlRQR2V0UmVzcG9uc2Uodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9GVFBfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgdm9pZCAqIGN0eDsgLyogYW4gRlRQIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHg7CisKKyAgICBmb3IgKG5fY3R4ID0gMDtuX2N0eCA8IGdlbl9uYl94bWxOYW5vRlRQQ3R4dFB0cjtuX2N0eCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eCA9IGdlbl94bWxOYW5vRlRQQ3R4dFB0cihuX2N0eCwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbE5hbm9GVFBHZXRSZXNwb25zZShjdHgpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxOYW5vRlRQQ3R4dFB0cihuX2N0eCwgY3R4LCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbE5hbm9GVFBHZXRSZXNwb25zZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHgpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxOYW5vRlRQR2V0U29ja2V0KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisKKyAgICAvKiBtaXNzaW5nIHR5cGUgc3VwcG9ydCAqLworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxOYW5vRlRQSW5pdCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX0ZUUF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworCisgICAgICAgIHhtbE5hbm9GVFBJbml0KCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbE5hbm9GVFBJbml0IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbE5hbm9GVFBMaXN0KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisKKyAgICAvKiBtaXNzaW5nIHR5cGUgc3VwcG9ydCAqLworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxOYW5vRlRQTmV3Q3R4dCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX0ZUUF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB2b2lkICogcmV0X3ZhbDsKKyAgICBjb25zdCBjaGFyICogVVJMOyAvKiBUaGUgVVJMIHVzZWQgdG8gaW5pdGlhbGl6ZSB0aGUgY29udGV4dCAqLworICAgIGludCBuX1VSTDsKKworICAgIGZvciAobl9VUkwgPSAwO25fVVJMIDwgZ2VuX25iX2ZpbGVwYXRoO25fVVJMKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgVVJMID0gZ2VuX2ZpbGVwYXRoKG5fVVJMLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sTmFub0ZUUE5ld0N0eHQoVVJMKTsKKyAgICAgICAgZGVzcmV0X3htbE5hbm9GVFBDdHh0UHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19maWxlcGF0aChuX1VSTCwgVVJMLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbE5hbm9GVFBOZXdDdHh0IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX1VSTCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbE5hbm9GVFBPcGVuKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfRlRQX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHZvaWQgKiByZXRfdmFsOworICAgIGNvbnN0IGNoYXIgKiBVUkw7IC8qIHRoZSBVUkwgdG8gdGhlIHJlc291cmNlICovCisgICAgaW50IG5fVVJMOworCisgICAgZm9yIChuX1VSTCA9IDA7bl9VUkwgPCBnZW5fbmJfZmlsZXBhdGg7bl9VUkwrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBVUkwgPSBnZW5fZmlsZXBhdGgobl9VUkwsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxOYW5vRlRQT3BlbihVUkwpOworICAgICAgICBkZXNyZXRfeG1sTmFub0ZUUEN0eHRQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2ZpbGVwYXRoKG5fVVJMLCBVUkwsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sTmFub0ZUUE9wZW4iLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fVVJMKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sTmFub0ZUUFByb3h5KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfRlRQX0VOQUJMRUQpCisgICAgY2hhciAqIGhvc3Q7IC8qIHRoZSBwcm94eSBob3N0IG5hbWUgKi8KKyAgICBpbnQgbl9ob3N0OworICAgIGludCBwb3J0OyAvKiB0aGUgcHJveHkgcG9ydCAqLworICAgIGludCBuX3BvcnQ7CisgICAgY2hhciAqIHVzZXI7IC8qIHRoZSBwcm94eSB1c2VyIG5hbWUgKi8KKyAgICBpbnQgbl91c2VyOworICAgIGNoYXIgKiBwYXNzd2Q7IC8qIHRoZSBwcm94eSBwYXNzd29yZCAqLworICAgIGludCBuX3Bhc3N3ZDsKKyAgICBpbnQgdHlwZTsgLyogdGhlIHR5cGUgb2YgcHJveHkgMSBmb3IgdXNpbmcgU0lURSwgMiBmb3IgVVNFUiBhQGIgKi8KKyAgICBpbnQgbl90eXBlOworCisgICAgZm9yIChuX2hvc3QgPSAwO25faG9zdCA8IGdlbl9uYl9jb25zdF9jaGFyX3B0cjtuX2hvc3QrKykgeworICAgIGZvciAobl9wb3J0ID0gMDtuX3BvcnQgPCBnZW5fbmJfaW50O25fcG9ydCsrKSB7CisgICAgZm9yIChuX3VzZXIgPSAwO25fdXNlciA8IGdlbl9uYl9jb25zdF9jaGFyX3B0cjtuX3VzZXIrKykgeworICAgIGZvciAobl9wYXNzd2QgPSAwO25fcGFzc3dkIDwgZ2VuX25iX2NvbnN0X2NoYXJfcHRyO25fcGFzc3dkKyspIHsKKyAgICBmb3IgKG5fdHlwZSA9IDA7bl90eXBlIDwgZ2VuX25iX2ludDtuX3R5cGUrKykgeworICAgICAgICBob3N0ID0gZ2VuX2NvbnN0X2NoYXJfcHRyKG5faG9zdCwgMCk7CisgICAgICAgIHBvcnQgPSBnZW5faW50KG5fcG9ydCwgMSk7CisgICAgICAgIHVzZXIgPSBnZW5fY29uc3RfY2hhcl9wdHIobl91c2VyLCAyKTsKKyAgICAgICAgcGFzc3dkID0gZ2VuX2NvbnN0X2NoYXJfcHRyKG5fcGFzc3dkLCAzKTsKKyAgICAgICAgdHlwZSA9IGdlbl9pbnQobl90eXBlLCA0KTsKKworICAgICAgICB4bWxOYW5vRlRQUHJveHkoKGNvbnN0IGNoYXIgKilob3N0LCBwb3J0LCAoY29uc3QgY2hhciAqKXVzZXIsIChjb25zdCBjaGFyICopcGFzc3dkLCB0eXBlKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfY29uc3RfY2hhcl9wdHIobl9ob3N0LCAoY29uc3QgY2hhciAqKWhvc3QsIDApOworICAgICAgICBkZXNfaW50KG5fcG9ydCwgcG9ydCwgMSk7CisgICAgICAgIGRlc19jb25zdF9jaGFyX3B0cihuX3VzZXIsIChjb25zdCBjaGFyICopdXNlciwgMik7CisgICAgICAgIGRlc19jb25zdF9jaGFyX3B0cihuX3Bhc3N3ZCwgKGNvbnN0IGNoYXIgKilwYXNzd2QsIDMpOworICAgICAgICBkZXNfaW50KG5fdHlwZSwgdHlwZSwgNCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sTmFub0ZUUFF1aXQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9GVFBfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgdm9pZCAqIGN0eDsgLyogYW4gRlRQIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHg7CisKKyAgICBmb3IgKG5fY3R4ID0gMDtuX2N0eCA8IGdlbl9uYl94bWxOYW5vRlRQQ3R4dFB0cjtuX2N0eCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eCA9IGdlbl94bWxOYW5vRlRQQ3R4dFB0cihuX2N0eCwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbE5hbm9GVFBRdWl0KGN0eCk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbE5hbm9GVFBDdHh0UHRyKG5fY3R4LCBjdHgsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sTmFub0ZUUFF1aXQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4KTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sTmFub0ZUUFJlYWQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9GVFBfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgdm9pZCAqIGN0eDsgLyogdGhlIEZUUCBjb250ZXh0ICovCisgICAgaW50IG5fY3R4OworICAgIHZvaWQgKiBkZXN0OyAvKiBhIGJ1ZmZlciAqLworICAgIGludCBuX2Rlc3Q7CisgICAgaW50IGxlbjsgLyogdGhlIGJ1ZmZlciBsZW5ndGggKi8KKyAgICBpbnQgbl9sZW47CisKKyAgICBmb3IgKG5fY3R4ID0gMDtuX2N0eCA8IGdlbl9uYl94bWxOYW5vRlRQQ3R4dFB0cjtuX2N0eCsrKSB7CisgICAgZm9yIChuX2Rlc3QgPSAwO25fZGVzdCA8IGdlbl9uYl92b2lkX3B0cjtuX2Rlc3QrKykgeworICAgIGZvciAobl9sZW4gPSAwO25fbGVuIDwgZ2VuX25iX2ludDtuX2xlbisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eCA9IGdlbl94bWxOYW5vRlRQQ3R4dFB0cihuX2N0eCwgMCk7CisgICAgICAgIGRlc3QgPSBnZW5fdm9pZF9wdHIobl9kZXN0LCAxKTsKKyAgICAgICAgbGVuID0gZ2VuX2ludChuX2xlbiwgMik7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbE5hbm9GVFBSZWFkKGN0eCwgZGVzdCwgbGVuKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sTmFub0ZUUEN0eHRQdHIobl9jdHgsIGN0eCwgMCk7CisgICAgICAgIGRlc192b2lkX3B0cihuX2Rlc3QsIGRlc3QsIDEpOworICAgICAgICBkZXNfaW50KG5fbGVuLCBsZW4sIDIpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sTmFub0ZUUFJlYWQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9kZXN0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9sZW4pOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbE5hbm9GVFBTY2FuUHJveHkodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9GVFBfRU5BQkxFRCkKKyAgICBjb25zdCBjaGFyICogVVJMOyAvKiBUaGUgcHJveHkgVVJMIHVzZWQgdG8gaW5pdGlhbGl6ZSB0aGUgcHJveHkgY29udGV4dCAqLworICAgIGludCBuX1VSTDsKKworICAgIGZvciAobl9VUkwgPSAwO25fVVJMIDwgZ2VuX25iX2ZpbGVwYXRoO25fVVJMKyspIHsKKyAgICAgICAgVVJMID0gZ2VuX2ZpbGVwYXRoKG5fVVJMLCAwKTsKKworICAgICAgICB4bWxOYW5vRlRQU2NhblByb3h5KFVSTCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2ZpbGVwYXRoKG5fVVJMLCBVUkwsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sTmFub0ZUUFVwZGF0ZVVSTCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX0ZUUF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB2b2lkICogY3R4OyAvKiBhbiBGVFAgY29udGV4dCAqLworICAgIGludCBuX2N0eDsKKyAgICBjb25zdCBjaGFyICogVVJMOyAvKiBUaGUgVVJMIHVzZWQgdG8gdXBkYXRlIHRoZSBjb250ZXh0ICovCisgICAgaW50IG5fVVJMOworCisgICAgZm9yIChuX2N0eCA9IDA7bl9jdHggPCBnZW5fbmJfeG1sTmFub0ZUUEN0eHRQdHI7bl9jdHgrKykgeworICAgIGZvciAobl9VUkwgPSAwO25fVVJMIDwgZ2VuX25iX2ZpbGVwYXRoO25fVVJMKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4ID0gZ2VuX3htbE5hbm9GVFBDdHh0UHRyKG5fY3R4LCAwKTsKKyAgICAgICAgVVJMID0gZ2VuX2ZpbGVwYXRoKG5fVVJMLCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sTmFub0ZUUFVwZGF0ZVVSTChjdHgsIFVSTCk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbE5hbm9GVFBDdHh0UHRyKG5fY3R4LCBjdHgsIDApOworICAgICAgICBkZXNfZmlsZXBhdGgobl9VUkwsIFVSTCwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxOYW5vRlRQVXBkYXRlVVJMIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fVVJMKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworc3RhdGljIGludAordGVzdF9uYW5vZnRwKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaWYgKHF1aWV0ID09IDApIHByaW50ZigiVGVzdGluZyBuYW5vZnRwIDogMTQgb2YgMjIgZnVuY3Rpb25zIC4uLlxuIik7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxOYW5vRlRQQ2hlY2tSZXNwb25zZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sTmFub0ZUUENsZWFudXAoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbE5hbm9GVFBDbG9zZUNvbm5lY3Rpb24oKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbE5hbm9GVFBDd2QoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbE5hbm9GVFBEZWxlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxOYW5vRlRQR2V0KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxOYW5vRlRQR2V0Q29ubmVjdGlvbigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sTmFub0ZUUEdldFJlc3BvbnNlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxOYW5vRlRQR2V0U29ja2V0KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxOYW5vRlRQSW5pdCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sTmFub0ZUUExpc3QoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbE5hbm9GVFBOZXdDdHh0KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxOYW5vRlRQT3BlbigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sTmFub0ZUUFByb3h5KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxOYW5vRlRQUXVpdCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sTmFub0ZUUFJlYWQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbE5hbm9GVFBTY2FuUHJveHkoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbE5hbm9GVFBVcGRhdGVVUkwoKTsKKworICAgIGlmICh0ZXN0X3JldCAhPSAwKQorCXByaW50ZigiTW9kdWxlIG5hbm9mdHA6ICVkIGVycm9yc1xuIiwgdGVzdF9yZXQpOworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sTmFub0hUVFBBdXRoSGVhZGVyKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfSFRUUF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBjb25zdCBjaGFyICogcmV0X3ZhbDsKKyAgICB2b2lkICogY3R4OyAvKiB0aGUgSFRUUCBjb250ZXh0ICovCisgICAgaW50IG5fY3R4OworCisgICAgZm9yIChuX2N0eCA9IDA7bl9jdHggPCBnZW5fbmJfeG1sTmFub0hUVFBDdHh0UHRyO25fY3R4KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4ID0gZ2VuX3htbE5hbm9IVFRQQ3R4dFB0cihuX2N0eCwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbE5hbm9IVFRQQXV0aEhlYWRlcihjdHgpOworICAgICAgICBkZXNyZXRfY29uc3RfY2hhcl9wdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbE5hbm9IVFRQQ3R4dFB0cihuX2N0eCwgY3R4LCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbE5hbm9IVFRQQXV0aEhlYWRlciIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHgpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxOYW5vSFRUUENsZWFudXAodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9IVFRQX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworCisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisKKyAgICAgICAgeG1sTmFub0hUVFBDbGVhbnVwKCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbE5hbm9IVFRQQ2xlYW51cCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxOYW5vSFRUUENvbnRlbnRMZW5ndGgodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9IVFRQX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHZvaWQgKiBjdHg7IC8qIHRoZSBIVFRQIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHg7CisKKyAgICBmb3IgKG5fY3R4ID0gMDtuX2N0eCA8IGdlbl9uYl94bWxOYW5vSFRUUEN0eHRQdHI7bl9jdHgrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHggPSBnZW5feG1sTmFub0hUVFBDdHh0UHRyKG5fY3R4LCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sTmFub0hUVFBDb250ZW50TGVuZ3RoKGN0eCk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbE5hbm9IVFRQQ3R4dFB0cihuX2N0eCwgY3R4LCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbE5hbm9IVFRQQ29udGVudExlbmd0aCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHgpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxOYW5vSFRUUEVuY29kaW5nKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfSFRUUF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBjb25zdCBjaGFyICogcmV0X3ZhbDsKKyAgICB2b2lkICogY3R4OyAvKiB0aGUgSFRUUCBjb250ZXh0ICovCisgICAgaW50IG5fY3R4OworCisgICAgZm9yIChuX2N0eCA9IDA7bl9jdHggPCBnZW5fbmJfeG1sTmFub0hUVFBDdHh0UHRyO25fY3R4KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4ID0gZ2VuX3htbE5hbm9IVFRQQ3R4dFB0cihuX2N0eCwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbE5hbm9IVFRQRW5jb2RpbmcoY3R4KTsKKyAgICAgICAgZGVzcmV0X2NvbnN0X2NoYXJfcHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxOYW5vSFRUUEN0eHRQdHIobl9jdHgsIGN0eCwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxOYW5vSFRUUEVuY29kaW5nIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCisjZGVmaW5lIGdlbl9uYl9jaGFyX3B0cl9wdHIgMQorc3RhdGljIGNoYXIgKiogZ2VuX2NoYXJfcHRyX3B0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICByZXR1cm4oTlVMTCk7Cit9CitzdGF0aWMgdm9pZCBkZXNfY2hhcl9wdHJfcHRyKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCBjaGFyICoqIHZhbCBBVFRSSUJVVEVfVU5VU0VELCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworfQorCitzdGF0aWMgaW50Cit0ZXN0X3htbE5hbm9IVFRQRmV0Y2godm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9IVFRQX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGNvbnN0IGNoYXIgKiBVUkw7IC8qIFRoZSBVUkwgdG8gbG9hZCAqLworICAgIGludCBuX1VSTDsKKyAgICBjb25zdCBjaGFyICogZmlsZW5hbWU7IC8qIHRoZSBmaWxlbmFtZSB3aGVyZSB0aGUgY29udGVudCBzaG91bGQgYmUgc2F2ZWQgKi8KKyAgICBpbnQgbl9maWxlbmFtZTsKKyAgICBjaGFyICoqIGNvbnRlbnRUeXBlOyAvKiBpZiBhdmFpbGFibGUgdGhlIENvbnRlbnQtVHlwZSBpbmZvcm1hdGlvbiB3aWxsIGJlIHJldHVybmVkIGF0IHRoYXQgbG9jYXRpb24gKi8KKyAgICBpbnQgbl9jb250ZW50VHlwZTsKKworICAgIGZvciAobl9VUkwgPSAwO25fVVJMIDwgZ2VuX25iX2ZpbGVvdXRwdXQ7bl9VUkwrKykgeworICAgIGZvciAobl9maWxlbmFtZSA9IDA7bl9maWxlbmFtZSA8IGdlbl9uYl9maWxlb3V0cHV0O25fZmlsZW5hbWUrKykgeworICAgIGZvciAobl9jb250ZW50VHlwZSA9IDA7bl9jb250ZW50VHlwZSA8IGdlbl9uYl9jaGFyX3B0cl9wdHI7bl9jb250ZW50VHlwZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIFVSTCA9IGdlbl9maWxlb3V0cHV0KG5fVVJMLCAwKTsKKyAgICAgICAgZmlsZW5hbWUgPSBnZW5fZmlsZW91dHB1dChuX2ZpbGVuYW1lLCAxKTsKKyAgICAgICAgY29udGVudFR5cGUgPSBnZW5fY2hhcl9wdHJfcHRyKG5fY29udGVudFR5cGUsIDIpOworCisgICAgICAgIHJldF92YWwgPSB4bWxOYW5vSFRUUEZldGNoKFVSTCwgZmlsZW5hbWUsIGNvbnRlbnRUeXBlKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfZmlsZW91dHB1dChuX1VSTCwgVVJMLCAwKTsKKyAgICAgICAgZGVzX2ZpbGVvdXRwdXQobl9maWxlbmFtZSwgZmlsZW5hbWUsIDEpOworICAgICAgICBkZXNfY2hhcl9wdHJfcHRyKG5fY29udGVudFR5cGUsIGNvbnRlbnRUeXBlLCAyKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbE5hbm9IVFRQRmV0Y2giLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fVVJMKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9maWxlbmFtZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29udGVudFR5cGUpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbE5hbm9IVFRQSW5pdCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX0hUVFBfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKworICAgICAgICB4bWxOYW5vSFRUUEluaXQoKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sTmFub0hUVFBJbml0IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbE5hbm9IVFRQTWltZVR5cGUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9IVFRQX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGNvbnN0IGNoYXIgKiByZXRfdmFsOworICAgIHZvaWQgKiBjdHg7IC8qIHRoZSBIVFRQIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHg7CisKKyAgICBmb3IgKG5fY3R4ID0gMDtuX2N0eCA8IGdlbl9uYl94bWxOYW5vSFRUUEN0eHRQdHI7bl9jdHgrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHggPSBnZW5feG1sTmFub0hUVFBDdHh0UHRyKG5fY3R4LCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sTmFub0hUVFBNaW1lVHlwZShjdHgpOworICAgICAgICBkZXNyZXRfY29uc3RfY2hhcl9wdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbE5hbm9IVFRQQ3R4dFB0cihuX2N0eCwgY3R4LCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbE5hbm9IVFRQTWltZVR5cGUiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4KTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sTmFub0hUVFBPcGVuKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfSFRUUF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB2b2lkICogcmV0X3ZhbDsKKyAgICBjb25zdCBjaGFyICogVVJMOyAvKiBUaGUgVVJMIHRvIGxvYWQgKi8KKyAgICBpbnQgbl9VUkw7CisgICAgY2hhciAqKiBjb250ZW50VHlwZTsgLyogaWYgYXZhaWxhYmxlIHRoZSBDb250ZW50LVR5cGUgaW5mb3JtYXRpb24gd2lsbCBiZSByZXR1cm5lZCBhdCB0aGF0IGxvY2F0aW9uICovCisgICAgaW50IG5fY29udGVudFR5cGU7CisKKyAgICBmb3IgKG5fVVJMID0gMDtuX1VSTCA8IGdlbl9uYl9maWxlcGF0aDtuX1VSTCsrKSB7CisgICAgZm9yIChuX2NvbnRlbnRUeXBlID0gMDtuX2NvbnRlbnRUeXBlIDwgZ2VuX25iX2NoYXJfcHRyX3B0cjtuX2NvbnRlbnRUeXBlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgVVJMID0gZ2VuX2ZpbGVwYXRoKG5fVVJMLCAwKTsKKyAgICAgICAgY29udGVudFR5cGUgPSBnZW5fY2hhcl9wdHJfcHRyKG5fY29udGVudFR5cGUsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxOYW5vSFRUUE9wZW4oVVJMLCBjb250ZW50VHlwZSk7CisgICAgICAgIGRlc3JldF94bWxOYW5vSFRUUEN0eHRQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2ZpbGVwYXRoKG5fVVJMLCBVUkwsIDApOworICAgICAgICBkZXNfY2hhcl9wdHJfcHRyKG5fY29udGVudFR5cGUsIGNvbnRlbnRUeXBlLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbE5hbm9IVFRQT3BlbiIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9VUkwpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2NvbnRlbnRUeXBlKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbE5hbm9IVFRQT3BlblJlZGlyKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfSFRUUF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB2b2lkICogcmV0X3ZhbDsKKyAgICBjb25zdCBjaGFyICogVVJMOyAvKiBUaGUgVVJMIHRvIGxvYWQgKi8KKyAgICBpbnQgbl9VUkw7CisgICAgY2hhciAqKiBjb250ZW50VHlwZTsgLyogaWYgYXZhaWxhYmxlIHRoZSBDb250ZW50LVR5cGUgaW5mb3JtYXRpb24gd2lsbCBiZSByZXR1cm5lZCBhdCB0aGF0IGxvY2F0aW9uICovCisgICAgaW50IG5fY29udGVudFR5cGU7CisgICAgY2hhciAqKiByZWRpcjsgLyogaWYgYXZhaWxhYmxlIHRoZSByZWRpcmVjdGVkIFVSTCB3aWxsIGJlIHJldHVybmVkICovCisgICAgaW50IG5fcmVkaXI7CisKKyAgICBmb3IgKG5fVVJMID0gMDtuX1VSTCA8IGdlbl9uYl9maWxlcGF0aDtuX1VSTCsrKSB7CisgICAgZm9yIChuX2NvbnRlbnRUeXBlID0gMDtuX2NvbnRlbnRUeXBlIDwgZ2VuX25iX2NoYXJfcHRyX3B0cjtuX2NvbnRlbnRUeXBlKyspIHsKKyAgICBmb3IgKG5fcmVkaXIgPSAwO25fcmVkaXIgPCBnZW5fbmJfY2hhcl9wdHJfcHRyO25fcmVkaXIrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBVUkwgPSBnZW5fZmlsZXBhdGgobl9VUkwsIDApOworICAgICAgICBjb250ZW50VHlwZSA9IGdlbl9jaGFyX3B0cl9wdHIobl9jb250ZW50VHlwZSwgMSk7CisgICAgICAgIHJlZGlyID0gZ2VuX2NoYXJfcHRyX3B0cihuX3JlZGlyLCAyKTsKKworICAgICAgICByZXRfdmFsID0geG1sTmFub0hUVFBPcGVuUmVkaXIoVVJMLCBjb250ZW50VHlwZSwgcmVkaXIpOworICAgICAgICBkZXNyZXRfeG1sTmFub0hUVFBDdHh0UHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19maWxlcGF0aChuX1VSTCwgVVJMLCAwKTsKKyAgICAgICAgZGVzX2NoYXJfcHRyX3B0cihuX2NvbnRlbnRUeXBlLCBjb250ZW50VHlwZSwgMSk7CisgICAgICAgIGRlc19jaGFyX3B0cl9wdHIobl9yZWRpciwgcmVkaXIsIDIpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sTmFub0hUVFBPcGVuUmVkaXIiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fVVJMKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jb250ZW50VHlwZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fcmVkaXIpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbE5hbm9IVFRQUmVhZCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX0hUVFBfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgdm9pZCAqIGN0eDsgLyogdGhlIEhUVFAgY29udGV4dCAqLworICAgIGludCBuX2N0eDsKKyAgICB2b2lkICogZGVzdDsgLyogYSBidWZmZXIgKi8KKyAgICBpbnQgbl9kZXN0OworICAgIGludCBsZW47IC8qIHRoZSBidWZmZXIgbGVuZ3RoICovCisgICAgaW50IG5fbGVuOworCisgICAgZm9yIChuX2N0eCA9IDA7bl9jdHggPCBnZW5fbmJfeG1sTmFub0hUVFBDdHh0UHRyO25fY3R4KyspIHsKKyAgICBmb3IgKG5fZGVzdCA9IDA7bl9kZXN0IDwgZ2VuX25iX3ZvaWRfcHRyO25fZGVzdCsrKSB7CisgICAgZm9yIChuX2xlbiA9IDA7bl9sZW4gPCBnZW5fbmJfaW50O25fbGVuKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4ID0gZ2VuX3htbE5hbm9IVFRQQ3R4dFB0cihuX2N0eCwgMCk7CisgICAgICAgIGRlc3QgPSBnZW5fdm9pZF9wdHIobl9kZXN0LCAxKTsKKyAgICAgICAgbGVuID0gZ2VuX2ludChuX2xlbiwgMik7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbE5hbm9IVFRQUmVhZChjdHgsIGRlc3QsIGxlbik7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbE5hbm9IVFRQQ3R4dFB0cihuX2N0eCwgY3R4LCAwKTsKKyAgICAgICAgZGVzX3ZvaWRfcHRyKG5fZGVzdCwgZGVzdCwgMSk7CisgICAgICAgIGRlc19pbnQobl9sZW4sIGxlbiwgMik7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxOYW5vSFRUUFJlYWQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9kZXN0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9sZW4pOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbE5hbm9IVFRQUmVkaXIodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworICAgIC8qIG1pc3NpbmcgdHlwZSBzdXBwb3J0ICovCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbE5hbm9IVFRQUmV0dXJuQ29kZSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX0hUVFBfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgdm9pZCAqIGN0eDsgLyogdGhlIEhUVFAgY29udGV4dCAqLworICAgIGludCBuX2N0eDsKKworICAgIGZvciAobl9jdHggPSAwO25fY3R4IDwgZ2VuX25iX3htbE5hbm9IVFRQQ3R4dFB0cjtuX2N0eCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eCA9IGdlbl94bWxOYW5vSFRUUEN0eHRQdHIobl9jdHgsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxOYW5vSFRUUFJldHVybkNvZGUoY3R4KTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sTmFub0hUVFBDdHh0UHRyKG5fY3R4LCBjdHgsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sTmFub0hUVFBSZXR1cm5Db2RlIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbE5hbm9IVFRQU2F2ZSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX0hUVFBfRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHZvaWQgKiBjdHh0OyAvKiB0aGUgSFRUUCBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKyAgICBjb25zdCBjaGFyICogZmlsZW5hbWU7IC8qIHRoZSBmaWxlbmFtZSB3aGVyZSB0aGUgY29udGVudCBzaG91bGQgYmUgc2F2ZWQgKi8KKyAgICBpbnQgbl9maWxlbmFtZTsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfdm9pZF9wdHI7bl9jdHh0KyspIHsKKyAgICBmb3IgKG5fZmlsZW5hbWUgPSAwO25fZmlsZW5hbWUgPCBnZW5fbmJfZmlsZW91dHB1dDtuX2ZpbGVuYW1lKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4dCA9IGdlbl92b2lkX3B0cihuX2N0eHQsIDApOworICAgICAgICBmaWxlbmFtZSA9IGdlbl9maWxlb3V0cHV0KG5fZmlsZW5hbWUsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxOYW5vSFRUUFNhdmUoY3R4dCwgZmlsZW5hbWUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc192b2lkX3B0cihuX2N0eHQsIGN0eHQsIDApOworICAgICAgICBkZXNfZmlsZW91dHB1dChuX2ZpbGVuYW1lLCBmaWxlbmFtZSwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxOYW5vSFRUUFNhdmUiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZmlsZW5hbWUpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sTmFub0hUVFBTY2FuUHJveHkodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9IVFRQX0VOQUJMRUQpCisgICAgY29uc3QgY2hhciAqIFVSTDsgLyogVGhlIHByb3h5IFVSTCB1c2VkIHRvIGluaXRpYWxpemUgdGhlIHByb3h5IGNvbnRleHQgKi8KKyAgICBpbnQgbl9VUkw7CisKKyAgICBmb3IgKG5fVVJMID0gMDtuX1VSTCA8IGdlbl9uYl9maWxlcGF0aDtuX1VSTCsrKSB7CisgICAgICAgIFVSTCA9IGdlbl9maWxlcGF0aChuX1VSTCwgMCk7CisKKyAgICAgICAgeG1sTmFub0hUVFBTY2FuUHJveHkoVVJMKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfZmlsZXBhdGgobl9VUkwsIFVSTCwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKK3N0YXRpYyBpbnQKK3Rlc3RfbmFub2h0dHAodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpZiAocXVpZXQgPT0gMCkgcHJpbnRmKCJUZXN0aW5nIG5hbm9odHRwIDogMTMgb2YgMTcgZnVuY3Rpb25zIC4uLlxuIik7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxOYW5vSFRUUEF1dGhIZWFkZXIoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbE5hbm9IVFRQQ2xlYW51cCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sTmFub0hUVFBDb250ZW50TGVuZ3RoKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxOYW5vSFRUUEVuY29kaW5nKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxOYW5vSFRUUEZldGNoKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxOYW5vSFRUUEluaXQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbE5hbm9IVFRQTWltZVR5cGUoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbE5hbm9IVFRQT3BlbigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sTmFub0hUVFBPcGVuUmVkaXIoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbE5hbm9IVFRQUmVhZCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sTmFub0hUVFBSZWRpcigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sTmFub0hUVFBSZXR1cm5Db2RlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxOYW5vSFRUUFNhdmUoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbE5hbm9IVFRQU2NhblByb3h5KCk7CisKKyAgICBpZiAodGVzdF9yZXQgIT0gMCkKKwlwcmludGYoIk1vZHVsZSBuYW5vaHR0cDogJWQgZXJyb3JzXG4iLCB0ZXN0X3JldCk7CisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworc3RhdGljIGludAordGVzdF94bWxCeXRlQ29uc3VtZWQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgbG9uZyByZXRfdmFsOworICAgIHhtbFBhcnNlckN0eHRQdHIgY3R4dDsgLyogYW4gWE1MIHBhcnNlciBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfeG1sUGFyc2VyQ3R4dFB0cjtuX2N0eHQrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX3htbFBhcnNlckN0eHRQdHIobl9jdHh0LCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sQnl0ZUNvbnN1bWVkKGN0eHQpOworICAgICAgICBkZXNyZXRfbG9uZyhyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sUGFyc2VyQ3R4dFB0cihuX2N0eHQsIGN0eHQsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sQnl0ZUNvbnN1bWVkIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sQ2xlYXJOb2RlSW5mb1NlcSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxQYXJzZXJOb2RlSW5mb1NlcVB0ciBzZXE7IC8qIGEgbm9kZSBpbmZvIHNlcXVlbmNlIHBvaW50ZXIgKi8KKyAgICBpbnQgbl9zZXE7CisKKyAgICBmb3IgKG5fc2VxID0gMDtuX3NlcSA8IGdlbl9uYl94bWxQYXJzZXJOb2RlSW5mb1NlcVB0cjtuX3NlcSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHNlcSA9IGdlbl94bWxQYXJzZXJOb2RlSW5mb1NlcVB0cihuX3NlcSwgMCk7CisKKyAgICAgICAgeG1sQ2xlYXJOb2RlSW5mb1NlcShzZXEpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxQYXJzZXJOb2RlSW5mb1NlcVB0cihuX3NlcSwgc2VxLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbENsZWFyTm9kZUluZm9TZXEiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fc2VxKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbENsZWFyUGFyc2VyQ3R4dCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxQYXJzZXJDdHh0UHRyIGN0eHQ7IC8qIGFuIFhNTCBwYXJzZXIgY29udGV4dCAqLworICAgIGludCBuX2N0eHQ7CisKKyAgICBmb3IgKG5fY3R4dCA9IDA7bl9jdHh0IDwgZ2VuX25iX3htbFBhcnNlckN0eHRQdHI7bl9jdHh0KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4dCA9IGdlbl94bWxQYXJzZXJDdHh0UHRyKG5fY3R4dCwgMCk7CisKKyAgICAgICAgeG1sQ2xlYXJQYXJzZXJDdHh0KGN0eHQpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxQYXJzZXJDdHh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxDbGVhclBhcnNlckN0eHQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxDcmVhdGVEb2NQYXJzZXJDdHh0KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbFBhcnNlckN0eHRQdHIgcmV0X3ZhbDsKKyAgICB4bWxDaGFyICogY3VyOyAvKiBhIHBvaW50ZXIgdG8gYW4gYXJyYXkgb2YgeG1sQ2hhciAqLworICAgIGludCBuX2N1cjsKKworICAgIGZvciAobl9jdXIgPSAwO25fY3VyIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fY3VyKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3VyID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fY3VyLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sQ3JlYXRlRG9jUGFyc2VyQ3R4dCgoY29uc3QgeG1sQ2hhciAqKWN1cik7CisgICAgICAgIGRlc3JldF94bWxQYXJzZXJDdHh0UHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX2N1ciwgKGNvbnN0IHhtbENoYXIgKiljdXIsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sQ3JlYXRlRG9jUGFyc2VyQ3R4dCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdXIpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9QVVNIX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbFBhcnNlckN0eHRQdHIgcmV0X3ZhbDsKKyAgICB4bWxTQVhIYW5kbGVyUHRyIHNheDsgLyogYSBTQVggaGFuZGxlciAqLworICAgIGludCBuX3NheDsKKyAgICB2b2lkICogdXNlcl9kYXRhOyAvKiBUaGUgdXNlciBkYXRhIHJldHVybmVkIG9uIFNBWCBjYWxsYmFja3MgKi8KKyAgICBpbnQgbl91c2VyX2RhdGE7CisgICAgY2hhciAqIGNodW5rOyAvKiBhIHBvaW50ZXIgdG8gYW4gYXJyYXkgb2YgY2hhcnMgKi8KKyAgICBpbnQgbl9jaHVuazsKKyAgICBpbnQgc2l6ZTsgLyogbnVtYmVyIG9mIGNoYXJzIGluIHRoZSBhcnJheSAqLworICAgIGludCBuX3NpemU7CisgICAgY29uc3QgY2hhciAqIGZpbGVuYW1lOyAvKiBhbiBvcHRpb25hbCBmaWxlIG5hbWUgb3IgVVJJICovCisgICAgaW50IG5fZmlsZW5hbWU7CisKKyAgICBmb3IgKG5fc2F4ID0gMDtuX3NheCA8IGdlbl9uYl94bWxTQVhIYW5kbGVyUHRyO25fc2F4KyspIHsKKyAgICBmb3IgKG5fdXNlcl9kYXRhID0gMDtuX3VzZXJfZGF0YSA8IGdlbl9uYl91c2VyZGF0YTtuX3VzZXJfZGF0YSsrKSB7CisgICAgZm9yIChuX2NodW5rID0gMDtuX2NodW5rIDwgZ2VuX25iX2NvbnN0X2NoYXJfcHRyO25fY2h1bmsrKykgeworICAgIGZvciAobl9zaXplID0gMDtuX3NpemUgPCBnZW5fbmJfaW50O25fc2l6ZSsrKSB7CisgICAgZm9yIChuX2ZpbGVuYW1lID0gMDtuX2ZpbGVuYW1lIDwgZ2VuX25iX2ZpbGVvdXRwdXQ7bl9maWxlbmFtZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHNheCA9IGdlbl94bWxTQVhIYW5kbGVyUHRyKG5fc2F4LCAwKTsKKyAgICAgICAgdXNlcl9kYXRhID0gZ2VuX3VzZXJkYXRhKG5fdXNlcl9kYXRhLCAxKTsKKyAgICAgICAgY2h1bmsgPSBnZW5fY29uc3RfY2hhcl9wdHIobl9jaHVuaywgMik7CisgICAgICAgIHNpemUgPSBnZW5faW50KG5fc2l6ZSwgMyk7CisgICAgICAgIGZpbGVuYW1lID0gZ2VuX2ZpbGVvdXRwdXQobl9maWxlbmFtZSwgNCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbENyZWF0ZVB1c2hQYXJzZXJDdHh0KHNheCwgdXNlcl9kYXRhLCAoY29uc3QgY2hhciAqKWNodW5rLCBzaXplLCBmaWxlbmFtZSk7CisgICAgICAgIGRlc3JldF94bWxQYXJzZXJDdHh0UHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxTQVhIYW5kbGVyUHRyKG5fc2F4LCBzYXgsIDApOworICAgICAgICBkZXNfdXNlcmRhdGEobl91c2VyX2RhdGEsIHVzZXJfZGF0YSwgMSk7CisgICAgICAgIGRlc19jb25zdF9jaGFyX3B0cihuX2NodW5rLCAoY29uc3QgY2hhciAqKWNodW5rLCAyKTsKKyAgICAgICAgZGVzX2ludChuX3NpemUsIHNpemUsIDMpOworICAgICAgICBkZXNfZmlsZW91dHB1dChuX2ZpbGVuYW1lLCBmaWxlbmFtZSwgNCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9zYXgpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3VzZXJfZGF0YSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY2h1bmspOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3NpemUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2ZpbGVuYW1lKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbEN0eHRSZWFkRG9jKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbERvY1B0ciByZXRfdmFsOworICAgIHhtbFBhcnNlckN0eHRQdHIgY3R4dDsgLyogYW4gWE1MIHBhcnNlciBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKyAgICB4bWxDaGFyICogY3VyOyAvKiBhIHBvaW50ZXIgdG8gYSB6ZXJvIHRlcm1pbmF0ZWQgc3RyaW5nICovCisgICAgaW50IG5fY3VyOworICAgIGNvbnN0IGNoYXIgKiBVUkw7IC8qIHRoZSBiYXNlIFVSTCB0byB1c2UgZm9yIHRoZSBkb2N1bWVudCAqLworICAgIGludCBuX1VSTDsKKyAgICBjaGFyICogZW5jb2Rpbmc7IC8qIHRoZSBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTCAqLworICAgIGludCBuX2VuY29kaW5nOworICAgIGludCBvcHRpb25zOyAvKiBhIGNvbWJpbmF0aW9uIG9mIHhtbFBhcnNlck9wdGlvbiAqLworICAgIGludCBuX29wdGlvbnM7CisKKyAgICBmb3IgKG5fY3R4dCA9IDA7bl9jdHh0IDwgZ2VuX25iX3htbFBhcnNlckN0eHRQdHI7bl9jdHh0KyspIHsKKyAgICBmb3IgKG5fY3VyID0gMDtuX2N1ciA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX2N1cisrKSB7CisgICAgZm9yIChuX1VSTCA9IDA7bl9VUkwgPCBnZW5fbmJfZmlsZXBhdGg7bl9VUkwrKykgeworICAgIGZvciAobl9lbmNvZGluZyA9IDA7bl9lbmNvZGluZyA8IGdlbl9uYl9jb25zdF9jaGFyX3B0cjtuX2VuY29kaW5nKyspIHsKKyAgICBmb3IgKG5fb3B0aW9ucyA9IDA7bl9vcHRpb25zIDwgZ2VuX25iX3BhcnNlcm9wdGlvbnM7bl9vcHRpb25zKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4dCA9IGdlbl94bWxQYXJzZXJDdHh0UHRyKG5fY3R4dCwgMCk7CisgICAgICAgIGN1ciA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX2N1ciwgMSk7CisgICAgICAgIFVSTCA9IGdlbl9maWxlcGF0aChuX1VSTCwgMik7CisgICAgICAgIGVuY29kaW5nID0gZ2VuX2NvbnN0X2NoYXJfcHRyKG5fZW5jb2RpbmcsIDMpOworICAgICAgICBvcHRpb25zID0gZ2VuX3BhcnNlcm9wdGlvbnMobl9vcHRpb25zLCA0KTsKKworICAgICAgICByZXRfdmFsID0geG1sQ3R4dFJlYWREb2MoY3R4dCwgKGNvbnN0IHhtbENoYXIgKiljdXIsIFVSTCwgKGNvbnN0IGNoYXIgKillbmNvZGluZywgb3B0aW9ucyk7CisgICAgICAgIGRlc3JldF94bWxEb2NQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFBhcnNlckN0eHRQdHIobl9jdHh0LCBjdHh0LCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fY3VyLCAoY29uc3QgeG1sQ2hhciAqKWN1ciwgMSk7CisgICAgICAgIGRlc19maWxlcGF0aChuX1VSTCwgVVJMLCAyKTsKKyAgICAgICAgZGVzX2NvbnN0X2NoYXJfcHRyKG5fZW5jb2RpbmcsIChjb25zdCBjaGFyICopZW5jb2RpbmcsIDMpOworICAgICAgICBkZXNfcGFyc2Vyb3B0aW9ucyhuX29wdGlvbnMsIG9wdGlvbnMsIDQpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sQ3R4dFJlYWREb2MiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3VyKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9VUkwpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2VuY29kaW5nKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9vcHRpb25zKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxDdHh0UmVhZEZpbGUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sRG9jUHRyIHJldF92YWw7CisgICAgeG1sUGFyc2VyQ3R4dFB0ciBjdHh0OyAvKiBhbiBYTUwgcGFyc2VyIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHh0OworICAgIGNvbnN0IGNoYXIgKiBmaWxlbmFtZTsgLyogYSBmaWxlIG9yIFVSTCAqLworICAgIGludCBuX2ZpbGVuYW1lOworICAgIGNoYXIgKiBlbmNvZGluZzsgLyogdGhlIGRvY3VtZW50IGVuY29kaW5nLCBvciBOVUxMICovCisgICAgaW50IG5fZW5jb2Rpbmc7CisgICAgaW50IG9wdGlvbnM7IC8qIGEgY29tYmluYXRpb24gb2YgeG1sUGFyc2VyT3B0aW9uICovCisgICAgaW50IG5fb3B0aW9uczsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfeG1sUGFyc2VyQ3R4dFB0cjtuX2N0eHQrKykgeworICAgIGZvciAobl9maWxlbmFtZSA9IDA7bl9maWxlbmFtZSA8IGdlbl9uYl9maWxlcGF0aDtuX2ZpbGVuYW1lKyspIHsKKyAgICBmb3IgKG5fZW5jb2RpbmcgPSAwO25fZW5jb2RpbmcgPCBnZW5fbmJfY29uc3RfY2hhcl9wdHI7bl9lbmNvZGluZysrKSB7CisgICAgZm9yIChuX29wdGlvbnMgPSAwO25fb3B0aW9ucyA8IGdlbl9uYl9wYXJzZXJvcHRpb25zO25fb3B0aW9ucysrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eHQgPSBnZW5feG1sUGFyc2VyQ3R4dFB0cihuX2N0eHQsIDApOworICAgICAgICBmaWxlbmFtZSA9IGdlbl9maWxlcGF0aChuX2ZpbGVuYW1lLCAxKTsKKyAgICAgICAgZW5jb2RpbmcgPSBnZW5fY29uc3RfY2hhcl9wdHIobl9lbmNvZGluZywgMik7CisgICAgICAgIG9wdGlvbnMgPSBnZW5fcGFyc2Vyb3B0aW9ucyhuX29wdGlvbnMsIDMpOworCisgICAgICAgIHJldF92YWwgPSB4bWxDdHh0UmVhZEZpbGUoY3R4dCwgZmlsZW5hbWUsIChjb25zdCBjaGFyICopZW5jb2RpbmcsIG9wdGlvbnMpOworICAgICAgICBkZXNyZXRfeG1sRG9jUHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxQYXJzZXJDdHh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIGRlc19maWxlcGF0aChuX2ZpbGVuYW1lLCBmaWxlbmFtZSwgMSk7CisgICAgICAgIGRlc19jb25zdF9jaGFyX3B0cihuX2VuY29kaW5nLCAoY29uc3QgY2hhciAqKWVuY29kaW5nLCAyKTsKKyAgICAgICAgZGVzX3BhcnNlcm9wdGlvbnMobl9vcHRpb25zLCBvcHRpb25zLCAzKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbEN0eHRSZWFkRmlsZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHh0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9maWxlbmFtZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZW5jb2RpbmcpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX29wdGlvbnMpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sQ3R4dFJlYWRNZW1vcnkodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sRG9jUHRyIHJldF92YWw7CisgICAgeG1sUGFyc2VyQ3R4dFB0ciBjdHh0OyAvKiBhbiBYTUwgcGFyc2VyIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHh0OworICAgIGNoYXIgKiBidWZmZXI7IC8qIGEgcG9pbnRlciB0byBhIGNoYXIgYXJyYXkgKi8KKyAgICBpbnQgbl9idWZmZXI7CisgICAgaW50IHNpemU7IC8qIHRoZSBzaXplIG9mIHRoZSBhcnJheSAqLworICAgIGludCBuX3NpemU7CisgICAgY29uc3QgY2hhciAqIFVSTDsgLyogdGhlIGJhc2UgVVJMIHRvIHVzZSBmb3IgdGhlIGRvY3VtZW50ICovCisgICAgaW50IG5fVVJMOworICAgIGNoYXIgKiBlbmNvZGluZzsgLyogdGhlIGRvY3VtZW50IGVuY29kaW5nLCBvciBOVUxMICovCisgICAgaW50IG5fZW5jb2Rpbmc7CisgICAgaW50IG9wdGlvbnM7IC8qIGEgY29tYmluYXRpb24gb2YgeG1sUGFyc2VyT3B0aW9uICovCisgICAgaW50IG5fb3B0aW9uczsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfeG1sUGFyc2VyQ3R4dFB0cjtuX2N0eHQrKykgeworICAgIGZvciAobl9idWZmZXIgPSAwO25fYnVmZmVyIDwgZ2VuX25iX2NvbnN0X2NoYXJfcHRyO25fYnVmZmVyKyspIHsKKyAgICBmb3IgKG5fc2l6ZSA9IDA7bl9zaXplIDwgZ2VuX25iX2ludDtuX3NpemUrKykgeworICAgIGZvciAobl9VUkwgPSAwO25fVVJMIDwgZ2VuX25iX2ZpbGVwYXRoO25fVVJMKyspIHsKKyAgICBmb3IgKG5fZW5jb2RpbmcgPSAwO25fZW5jb2RpbmcgPCBnZW5fbmJfY29uc3RfY2hhcl9wdHI7bl9lbmNvZGluZysrKSB7CisgICAgZm9yIChuX29wdGlvbnMgPSAwO25fb3B0aW9ucyA8IGdlbl9uYl9wYXJzZXJvcHRpb25zO25fb3B0aW9ucysrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eHQgPSBnZW5feG1sUGFyc2VyQ3R4dFB0cihuX2N0eHQsIDApOworICAgICAgICBidWZmZXIgPSBnZW5fY29uc3RfY2hhcl9wdHIobl9idWZmZXIsIDEpOworICAgICAgICBzaXplID0gZ2VuX2ludChuX3NpemUsIDIpOworICAgICAgICBVUkwgPSBnZW5fZmlsZXBhdGgobl9VUkwsIDMpOworICAgICAgICBlbmNvZGluZyA9IGdlbl9jb25zdF9jaGFyX3B0cihuX2VuY29kaW5nLCA0KTsKKyAgICAgICAgb3B0aW9ucyA9IGdlbl9wYXJzZXJvcHRpb25zKG5fb3B0aW9ucywgNSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbEN0eHRSZWFkTWVtb3J5KGN0eHQsIChjb25zdCBjaGFyICopYnVmZmVyLCBzaXplLCBVUkwsIChjb25zdCBjaGFyICopZW5jb2RpbmcsIG9wdGlvbnMpOworICAgICAgICBkZXNyZXRfeG1sRG9jUHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxQYXJzZXJDdHh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIGRlc19jb25zdF9jaGFyX3B0cihuX2J1ZmZlciwgKGNvbnN0IGNoYXIgKilidWZmZXIsIDEpOworICAgICAgICBkZXNfaW50KG5fc2l6ZSwgc2l6ZSwgMik7CisgICAgICAgIGRlc19maWxlcGF0aChuX1VSTCwgVVJMLCAzKTsKKyAgICAgICAgZGVzX2NvbnN0X2NoYXJfcHRyKG5fZW5jb2RpbmcsIChjb25zdCBjaGFyICopZW5jb2RpbmcsIDQpOworICAgICAgICBkZXNfcGFyc2Vyb3B0aW9ucyhuX29wdGlvbnMsIG9wdGlvbnMsIDUpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sQ3R4dFJlYWRNZW1vcnkiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fYnVmZmVyKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9zaXplKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9VUkwpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2VuY29kaW5nKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9vcHRpb25zKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sQ3R4dFJlc2V0KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbFBhcnNlckN0eHRQdHIgY3R4dDsgLyogYW4gWE1MIHBhcnNlciBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfeG1sUGFyc2VyQ3R4dFB0cjtuX2N0eHQrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX3htbFBhcnNlckN0eHRQdHIobl9jdHh0LCAwKTsKKworICAgICAgICB4bWxDdHh0UmVzZXQoY3R4dCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFBhcnNlckN0eHRQdHIobl9jdHh0LCBjdHh0LCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbEN0eHRSZXNldCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHh0KTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbEN0eHRSZXNldFB1c2godm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sUGFyc2VyQ3R4dFB0ciBjdHh0OyAvKiBhbiBYTUwgcGFyc2VyIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHh0OworICAgIGNoYXIgKiBjaHVuazsgLyogYSBwb2ludGVyIHRvIGFuIGFycmF5IG9mIGNoYXJzICovCisgICAgaW50IG5fY2h1bms7CisgICAgaW50IHNpemU7IC8qIG51bWJlciBvZiBjaGFycyBpbiB0aGUgYXJyYXkgKi8KKyAgICBpbnQgbl9zaXplOworICAgIGNvbnN0IGNoYXIgKiBmaWxlbmFtZTsgLyogYW4gb3B0aW9uYWwgZmlsZSBuYW1lIG9yIFVSSSAqLworICAgIGludCBuX2ZpbGVuYW1lOworICAgIGNoYXIgKiBlbmNvZGluZzsgLyogdGhlIGRvY3VtZW50IGVuY29kaW5nLCBvciBOVUxMICovCisgICAgaW50IG5fZW5jb2Rpbmc7CisKKyAgICBmb3IgKG5fY3R4dCA9IDA7bl9jdHh0IDwgZ2VuX25iX3htbFBhcnNlckN0eHRQdHI7bl9jdHh0KyspIHsKKyAgICBmb3IgKG5fY2h1bmsgPSAwO25fY2h1bmsgPCBnZW5fbmJfY29uc3RfY2hhcl9wdHI7bl9jaHVuaysrKSB7CisgICAgZm9yIChuX3NpemUgPSAwO25fc2l6ZSA8IGdlbl9uYl9pbnQ7bl9zaXplKyspIHsKKyAgICBmb3IgKG5fZmlsZW5hbWUgPSAwO25fZmlsZW5hbWUgPCBnZW5fbmJfZmlsZXBhdGg7bl9maWxlbmFtZSsrKSB7CisgICAgZm9yIChuX2VuY29kaW5nID0gMDtuX2VuY29kaW5nIDwgZ2VuX25iX2NvbnN0X2NoYXJfcHRyO25fZW5jb2RpbmcrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX3htbFBhcnNlckN0eHRQdHIobl9jdHh0LCAwKTsKKyAgICAgICAgY2h1bmsgPSBnZW5fY29uc3RfY2hhcl9wdHIobl9jaHVuaywgMSk7CisgICAgICAgIHNpemUgPSBnZW5faW50KG5fc2l6ZSwgMik7CisgICAgICAgIGZpbGVuYW1lID0gZ2VuX2ZpbGVwYXRoKG5fZmlsZW5hbWUsIDMpOworICAgICAgICBlbmNvZGluZyA9IGdlbl9jb25zdF9jaGFyX3B0cihuX2VuY29kaW5nLCA0KTsKKworICAgICAgICByZXRfdmFsID0geG1sQ3R4dFJlc2V0UHVzaChjdHh0LCAoY29uc3QgY2hhciAqKWNodW5rLCBzaXplLCBmaWxlbmFtZSwgKGNvbnN0IGNoYXIgKillbmNvZGluZyk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFBhcnNlckN0eHRQdHIobl9jdHh0LCBjdHh0LCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X2NoYXJfcHRyKG5fY2h1bmssIChjb25zdCBjaGFyICopY2h1bmssIDEpOworICAgICAgICBkZXNfaW50KG5fc2l6ZSwgc2l6ZSwgMik7CisgICAgICAgIGRlc19maWxlcGF0aChuX2ZpbGVuYW1lLCBmaWxlbmFtZSwgMyk7CisgICAgICAgIGRlc19jb25zdF9jaGFyX3B0cihuX2VuY29kaW5nLCAoY29uc3QgY2hhciAqKWVuY29kaW5nLCA0KTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbEN0eHRSZXNldFB1c2giLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY2h1bmspOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3NpemUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2ZpbGVuYW1lKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9lbmNvZGluZyk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sQ3R4dFVzZU9wdGlvbnModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sUGFyc2VyQ3R4dFB0ciBjdHh0OyAvKiBhbiBYTUwgcGFyc2VyIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHh0OworICAgIGludCBvcHRpb25zOyAvKiBhIGNvbWJpbmF0aW9uIG9mIHhtbFBhcnNlck9wdGlvbiAqLworICAgIGludCBuX29wdGlvbnM7CisKKyAgICBmb3IgKG5fY3R4dCA9IDA7bl9jdHh0IDwgZ2VuX25iX3htbFBhcnNlckN0eHRQdHI7bl9jdHh0KyspIHsKKyAgICBmb3IgKG5fb3B0aW9ucyA9IDA7bl9vcHRpb25zIDwgZ2VuX25iX3BhcnNlcm9wdGlvbnM7bl9vcHRpb25zKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4dCA9IGdlbl94bWxQYXJzZXJDdHh0UHRyKG5fY3R4dCwgMCk7CisgICAgICAgIG9wdGlvbnMgPSBnZW5fcGFyc2Vyb3B0aW9ucyhuX29wdGlvbnMsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxDdHh0VXNlT3B0aW9ucyhjdHh0LCBvcHRpb25zKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sUGFyc2VyQ3R4dFB0cihuX2N0eHQsIGN0eHQsIDApOworICAgICAgICBkZXNfcGFyc2Vyb3B0aW9ucyhuX29wdGlvbnMsIG9wdGlvbnMsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sQ3R4dFVzZU9wdGlvbnMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fb3B0aW9ucyk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sR2V0RXh0ZXJuYWxFbnRpdHlMb2FkZXIodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworICAgIC8qIG1pc3NpbmcgdHlwZSBzdXBwb3J0ICovCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbEdldEZlYXR1cmUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9MRUdBQ1lfRU5BQkxFRCkKKyNpZmRlZiBMSUJYTUxfTEVHQUNZX0VOQUJMRUQKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sUGFyc2VyQ3R4dFB0ciBjdHh0OyAvKiBhbiBYTUwvSFRNTCBwYXJzZXIgY29udGV4dCAqLworICAgIGludCBuX2N0eHQ7CisgICAgY2hhciAqIG5hbWU7IC8qIHRoZSBmZWF0dXJlIG5hbWUgKi8KKyAgICBpbnQgbl9uYW1lOworICAgIHZvaWQgKiByZXN1bHQ7IC8qIGxvY2F0aW9uIHRvIHN0b3JlIHRoZSByZXN1bHQgKi8KKyAgICBpbnQgbl9yZXN1bHQ7CisKKyAgICBmb3IgKG5fY3R4dCA9IDA7bl9jdHh0IDwgZ2VuX25iX3htbFBhcnNlckN0eHRQdHI7bl9jdHh0KyspIHsKKyAgICBmb3IgKG5fbmFtZSA9IDA7bl9uYW1lIDwgZ2VuX25iX2NvbnN0X2NoYXJfcHRyO25fbmFtZSsrKSB7CisgICAgZm9yIChuX3Jlc3VsdCA9IDA7bl9yZXN1bHQgPCBnZW5fbmJfdm9pZF9wdHI7bl9yZXN1bHQrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX3htbFBhcnNlckN0eHRQdHIobl9jdHh0LCAwKTsKKyAgICAgICAgbmFtZSA9IGdlbl9jb25zdF9jaGFyX3B0cihuX25hbWUsIDEpOworICAgICAgICByZXN1bHQgPSBnZW5fdm9pZF9wdHIobl9yZXN1bHQsIDIpOworCisgICAgICAgIHJldF92YWwgPSB4bWxHZXRGZWF0dXJlKGN0eHQsIChjb25zdCBjaGFyICopbmFtZSwgcmVzdWx0KTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sUGFyc2VyQ3R4dFB0cihuX2N0eHQsIGN0eHQsIDApOworICAgICAgICBkZXNfY29uc3RfY2hhcl9wdHIobl9uYW1lLCAoY29uc3QgY2hhciAqKW5hbWUsIDEpOworICAgICAgICBkZXNfdm9pZF9wdHIobl9yZXN1bHQsIHJlc3VsdCwgMik7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxHZXRGZWF0dXJlIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25hbWUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3Jlc3VsdCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworI2RlZmluZSBnZW5fbmJfY29uc3RfY2hhcl9wdHJfcHRyIDEKK3N0YXRpYyBjaGFyICoqIGdlbl9jb25zdF9jaGFyX3B0cl9wdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgcmV0dXJuKE5VTEwpOworfQorc3RhdGljIHZvaWQgZGVzX2NvbnN0X2NoYXJfcHRyX3B0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgY29uc3QgY2hhciAqKiB2YWwgQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKK30KKworc3RhdGljIGludAordGVzdF94bWxHZXRGZWF0dXJlc0xpc3Qodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9MRUdBQ1lfRU5BQkxFRCkKKyNpZmRlZiBMSUJYTUxfTEVHQUNZX0VOQUJMRUQKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgaW50ICogbGVuOyAvKiB0aGUgbGVuZ3RoIG9mIHRoZSBmZWF0dXJlcyBuYW1lIGFycmF5IChpbnB1dC9vdXRwdXQpICovCisgICAgaW50IG5fbGVuOworICAgIGNoYXIgKiogcmVzdWx0OyAvKiBhbiBhcnJheSBvZiBzdHJpbmcgdG8gYmUgZmlsbGVkIHdpdGggdGhlIGZlYXR1cmVzIG5hbWUuICovCisgICAgaW50IG5fcmVzdWx0OworCisgICAgZm9yIChuX2xlbiA9IDA7bl9sZW4gPCBnZW5fbmJfaW50X3B0cjtuX2xlbisrKSB7CisgICAgZm9yIChuX3Jlc3VsdCA9IDA7bl9yZXN1bHQgPCBnZW5fbmJfY29uc3RfY2hhcl9wdHJfcHRyO25fcmVzdWx0KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgbGVuID0gZ2VuX2ludF9wdHIobl9sZW4sIDApOworICAgICAgICByZXN1bHQgPSBnZW5fY29uc3RfY2hhcl9wdHJfcHRyKG5fcmVzdWx0LCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sR2V0RmVhdHVyZXNMaXN0KGxlbiwgKGNvbnN0IGNoYXIgKiopcmVzdWx0KTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfaW50X3B0cihuX2xlbiwgbGVuLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X2NoYXJfcHRyX3B0cihuX3Jlc3VsdCwgKGNvbnN0IGNoYXIgKiopcmVzdWx0LCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbEdldEZlYXR1cmVzTGlzdCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9sZW4pOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3Jlc3VsdCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbEhhc0ZlYXR1cmUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sRmVhdHVyZSBmZWF0dXJlOyAvKiB0aGUgZmVhdHVyZSB0byBiZSBleGFtaW5lZCAqLworICAgIGludCBuX2ZlYXR1cmU7CisKKyAgICBmb3IgKG5fZmVhdHVyZSA9IDA7bl9mZWF0dXJlIDwgZ2VuX25iX3htbEZlYXR1cmU7bl9mZWF0dXJlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgZmVhdHVyZSA9IGdlbl94bWxGZWF0dXJlKG5fZmVhdHVyZSwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbEhhc0ZlYXR1cmUoZmVhdHVyZSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbEZlYXR1cmUobl9mZWF0dXJlLCBmZWF0dXJlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbEhhc0ZlYXR1cmUiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZmVhdHVyZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxJT1BhcnNlRFREKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfVkFMSURfRU5BQkxFRCkKKyNpZmRlZiBMSUJYTUxfVkFMSURfRU5BQkxFRAorICAgIHhtbER0ZFB0ciByZXRfdmFsOworICAgIHhtbFNBWEhhbmRsZXJQdHIgc2F4OyAvKiB0aGUgU0FYIGhhbmRsZXIgYmxvY2sgb3IgTlVMTCAqLworICAgIGludCBuX3NheDsKKyAgICB4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciBpbnB1dDsgLyogYW4gSW5wdXQgQnVmZmVyICovCisgICAgaW50IG5faW5wdXQ7CisgICAgeG1sQ2hhckVuY29kaW5nIGVuYzsgLyogdGhlIGNoYXJzZXQgZW5jb2RpbmcgaWYga25vd24gKi8KKyAgICBpbnQgbl9lbmM7CisKKyAgICBmb3IgKG5fc2F4ID0gMDtuX3NheCA8IGdlbl9uYl94bWxTQVhIYW5kbGVyUHRyO25fc2F4KyspIHsKKyAgICBmb3IgKG5faW5wdXQgPSAwO25faW5wdXQgPCBnZW5fbmJfeG1sUGFyc2VySW5wdXRCdWZmZXJQdHI7bl9pbnB1dCsrKSB7CisgICAgZm9yIChuX2VuYyA9IDA7bl9lbmMgPCBnZW5fbmJfeG1sQ2hhckVuY29kaW5nO25fZW5jKyspIHsKKyAgICAgICAgc2F4ID0gZ2VuX3htbFNBWEhhbmRsZXJQdHIobl9zYXgsIDApOworICAgICAgICBpbnB1dCA9IGdlbl94bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cihuX2lucHV0LCAxKTsKKyAgICAgICAgZW5jID0gZ2VuX3htbENoYXJFbmNvZGluZyhuX2VuYywgMik7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbElPUGFyc2VEVEQoc2F4LCBpbnB1dCwgZW5jKTsKKyAgICAgICAgaW5wdXQgPSBOVUxMOworICAgICAgICBkZXNyZXRfeG1sRHRkUHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxTQVhIYW5kbGVyUHRyKG5fc2F4LCBzYXgsIDApOworICAgICAgICBkZXNfeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIobl9pbnB1dCwgaW5wdXQsIDEpOworICAgICAgICBkZXNfeG1sQ2hhckVuY29kaW5nKG5fZW5jLCBlbmMsIDIpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbEluaXROb2RlSW5mb1NlcSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxQYXJzZXJOb2RlSW5mb1NlcVB0ciBzZXE7IC8qIGEgbm9kZSBpbmZvIHNlcXVlbmNlIHBvaW50ZXIgKi8KKyAgICBpbnQgbl9zZXE7CisKKyAgICBmb3IgKG5fc2VxID0gMDtuX3NlcSA8IGdlbl9uYl94bWxQYXJzZXJOb2RlSW5mb1NlcVB0cjtuX3NlcSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHNlcSA9IGdlbl94bWxQYXJzZXJOb2RlSW5mb1NlcVB0cihuX3NlcSwgMCk7CisKKyAgICAgICAgeG1sSW5pdE5vZGVJbmZvU2VxKHNlcSk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFBhcnNlck5vZGVJbmZvU2VxUHRyKG5fc2VxLCBzZXEsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sSW5pdE5vZGVJbmZvU2VxIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3NlcSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxJbml0UGFyc2VyKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworCisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisKKyAgICAgICAgeG1sSW5pdFBhcnNlcigpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxJbml0UGFyc2VyIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxJbml0UGFyc2VyQ3R4dCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxQYXJzZXJDdHh0UHRyIGN0eHQ7IC8qIGFuIFhNTCBwYXJzZXIgY29udGV4dCAqLworICAgIGludCBuX2N0eHQ7CisKKyAgICBmb3IgKG5fY3R4dCA9IDA7bl9jdHh0IDwgZ2VuX25iX3htbFBhcnNlckN0eHRQdHI7bl9jdHh0KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4dCA9IGdlbl94bWxQYXJzZXJDdHh0UHRyKG5fY3R4dCwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbEluaXRQYXJzZXJDdHh0KGN0eHQpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxQYXJzZXJDdHh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxJbml0UGFyc2VyQ3R4dCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHh0KTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbEtlZXBCbGFua3NEZWZhdWx0KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCB2YWw7IC8qIGludCAwIG9yIDEgKi8KKyAgICBpbnQgbl92YWw7CisKKyAgICBmb3IgKG5fdmFsID0gMDtuX3ZhbCA8IGdlbl9uYl9pbnQ7bl92YWwrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICB2YWwgPSBnZW5faW50KG5fdmFsLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sS2VlcEJsYW5rc0RlZmF1bHQodmFsKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfaW50KG5fdmFsLCB2YWwsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sS2VlcEJsYW5rc0RlZmF1bHQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdmFsKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbExpbmVOdW1iZXJzRGVmYXVsdCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICBpbnQgdmFsOyAvKiBpbnQgMCBvciAxICovCisgICAgaW50IG5fdmFsOworCisgICAgZm9yIChuX3ZhbCA9IDA7bl92YWwgPCBnZW5fbmJfaW50O25fdmFsKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgdmFsID0gZ2VuX2ludChuX3ZhbCwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbExpbmVOdW1iZXJzRGVmYXVsdCh2YWwpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl92YWwsIHZhbCwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxMaW5lTnVtYmVyc0RlZmF1bHQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdmFsKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbExvYWRFeHRlcm5hbEVudGl0eSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxQYXJzZXJJbnB1dFB0ciByZXRfdmFsOworICAgIGNvbnN0IGNoYXIgKiBVUkw7IC8qIHRoZSBVUkwgZm9yIHRoZSBlbnRpdHkgdG8gbG9hZCAqLworICAgIGludCBuX1VSTDsKKyAgICBjaGFyICogSUQ7IC8qIHRoZSBQdWJsaWMgSUQgZm9yIHRoZSBlbnRpdHkgdG8gbG9hZCAqLworICAgIGludCBuX0lEOworICAgIHhtbFBhcnNlckN0eHRQdHIgY3R4dDsgLyogdGhlIGNvbnRleHQgaW4gd2hpY2ggdGhlIGVudGl0eSBpcyBjYWxsZWQgb3IgTlVMTCAqLworICAgIGludCBuX2N0eHQ7CisKKyAgICBmb3IgKG5fVVJMID0gMDtuX1VSTCA8IGdlbl9uYl9maWxlcGF0aDtuX1VSTCsrKSB7CisgICAgZm9yIChuX0lEID0gMDtuX0lEIDwgZ2VuX25iX2NvbnN0X2NoYXJfcHRyO25fSUQrKykgeworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfeG1sUGFyc2VyQ3R4dFB0cjtuX2N0eHQrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBVUkwgPSBnZW5fZmlsZXBhdGgobl9VUkwsIDApOworICAgICAgICBJRCA9IGdlbl9jb25zdF9jaGFyX3B0cihuX0lELCAxKTsKKyAgICAgICAgY3R4dCA9IGdlbl94bWxQYXJzZXJDdHh0UHRyKG5fY3R4dCwgMik7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbExvYWRFeHRlcm5hbEVudGl0eShVUkwsIChjb25zdCBjaGFyICopSUQsIGN0eHQpOworICAgICAgICBkZXNyZXRfeG1sUGFyc2VySW5wdXRQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2ZpbGVwYXRoKG5fVVJMLCBVUkwsIDApOworICAgICAgICBkZXNfY29uc3RfY2hhcl9wdHIobl9JRCwgKGNvbnN0IGNoYXIgKilJRCwgMSk7CisgICAgICAgIGRlc194bWxQYXJzZXJDdHh0UHRyKG5fY3R4dCwgY3R4dCwgMik7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxMb2FkRXh0ZXJuYWxFbnRpdHkiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fVVJMKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9JRCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbE5ld0lPSW5wdXRTdHJlYW0odm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sUGFyc2VySW5wdXRQdHIgcmV0X3ZhbDsKKyAgICB4bWxQYXJzZXJDdHh0UHRyIGN0eHQ7IC8qIGFuIFhNTCBwYXJzZXIgY29udGV4dCAqLworICAgIGludCBuX2N0eHQ7CisgICAgeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIgaW5wdXQ7IC8qIGFuIEkvTyBJbnB1dCAqLworICAgIGludCBuX2lucHV0OworICAgIHhtbENoYXJFbmNvZGluZyBlbmM7IC8qIHRoZSBjaGFyc2V0IGVuY29kaW5nIGlmIGtub3duICovCisgICAgaW50IG5fZW5jOworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxQYXJzZXJDdHh0UHRyO25fY3R4dCsrKSB7CisgICAgZm9yIChuX2lucHV0ID0gMDtuX2lucHV0IDwgZ2VuX25iX3htbFBhcnNlcklucHV0QnVmZmVyUHRyO25faW5wdXQrKykgeworICAgIGZvciAobl9lbmMgPSAwO25fZW5jIDwgZ2VuX25iX3htbENoYXJFbmNvZGluZztuX2VuYysrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eHQgPSBnZW5feG1sUGFyc2VyQ3R4dFB0cihuX2N0eHQsIDApOworICAgICAgICBpbnB1dCA9IGdlbl94bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cihuX2lucHV0LCAxKTsKKyAgICAgICAgZW5jID0gZ2VuX3htbENoYXJFbmNvZGluZyhuX2VuYywgMik7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbE5ld0lPSW5wdXRTdHJlYW0oY3R4dCwgaW5wdXQsIGVuYyk7CisgICAgICAgIGlmIChyZXRfdmFsICE9IE5VTEwpIGlucHV0ID0gTlVMTDsKKyAgICAgICAgZGVzcmV0X3htbFBhcnNlcklucHV0UHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxQYXJzZXJDdHh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIGRlc194bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cihuX2lucHV0LCBpbnB1dCwgMSk7CisgICAgICAgIGRlc194bWxDaGFyRW5jb2Rpbmcobl9lbmMsIGVuYywgMik7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxOZXdJT0lucHV0U3RyZWFtIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2lucHV0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9lbmMpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxOZXdQYXJzZXJDdHh0KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbFBhcnNlckN0eHRQdHIgcmV0X3ZhbDsKKworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworCisgICAgICAgIHJldF92YWwgPSB4bWxOZXdQYXJzZXJDdHh0KCk7CisgICAgICAgIGRlc3JldF94bWxQYXJzZXJDdHh0UHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxOZXdQYXJzZXJDdHh0IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworI2RlZmluZSBnZW5fbmJfeG1sTm9kZVB0cl9wdHIgMQorc3RhdGljIHhtbE5vZGVQdHIgKiBnZW5feG1sTm9kZVB0cl9wdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgcmV0dXJuKE5VTEwpOworfQorc3RhdGljIHZvaWQgZGVzX3htbE5vZGVQdHJfcHRyKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCB4bWxOb2RlUHRyICogdmFsIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7Cit9CisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfU0FYMV9FTkFCTEVEKQorI2lmZGVmIExJQlhNTF9TQVgxX0VOQUJMRUQKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sRG9jUHRyIGRvYzsgLyogdGhlIGRvY3VtZW50IHRoZSBjaHVuayBwZXJ0YWlucyB0byAqLworICAgIGludCBuX2RvYzsKKyAgICB4bWxTQVhIYW5kbGVyUHRyIHNheDsgLyogdGhlIFNBWCBoYW5kbGVyIGJsb2MgKHBvc3NpYmx5IE5VTEwpICovCisgICAgaW50IG5fc2F4OworICAgIHZvaWQgKiB1c2VyX2RhdGE7IC8qIFRoZSB1c2VyIGRhdGEgcmV0dXJuZWQgb24gU0FYIGNhbGxiYWNrcyAocG9zc2libHkgTlVMTCkgKi8KKyAgICBpbnQgbl91c2VyX2RhdGE7CisgICAgaW50IGRlcHRoOyAvKiBVc2VkIGZvciBsb29wIGRldGVjdGlvbiwgdXNlIDAgKi8KKyAgICBpbnQgbl9kZXB0aDsKKyAgICB4bWxDaGFyICogc3RyaW5nOyAvKiB0aGUgaW5wdXQgc3RyaW5nIGluIFVURjggb3IgSVNPLUxhdGluICh6ZXJvIHRlcm1pbmF0ZWQpICovCisgICAgaW50IG5fc3RyaW5nOworICAgIHhtbE5vZGVQdHIgKiBsc3Q7IC8qIHRoZSByZXR1cm4gdmFsdWUgZm9yIHRoZSBzZXQgb2YgcGFyc2VkIG5vZGVzICovCisgICAgaW50IG5fbHN0OworCisgICAgZm9yIChuX2RvYyA9IDA7bl9kb2MgPCBnZW5fbmJfeG1sRG9jUHRyO25fZG9jKyspIHsKKyAgICBmb3IgKG5fc2F4ID0gMDtuX3NheCA8IGdlbl9uYl94bWxTQVhIYW5kbGVyUHRyO25fc2F4KyspIHsKKyAgICBmb3IgKG5fdXNlcl9kYXRhID0gMDtuX3VzZXJfZGF0YSA8IGdlbl9uYl91c2VyZGF0YTtuX3VzZXJfZGF0YSsrKSB7CisgICAgZm9yIChuX2RlcHRoID0gMDtuX2RlcHRoIDwgZ2VuX25iX2ludDtuX2RlcHRoKyspIHsKKyAgICBmb3IgKG5fc3RyaW5nID0gMDtuX3N0cmluZyA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX3N0cmluZysrKSB7CisgICAgZm9yIChuX2xzdCA9IDA7bl9sc3QgPCBnZW5fbmJfeG1sTm9kZVB0cl9wdHI7bl9sc3QrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBkb2MgPSBnZW5feG1sRG9jUHRyKG5fZG9jLCAwKTsKKyAgICAgICAgc2F4ID0gZ2VuX3htbFNBWEhhbmRsZXJQdHIobl9zYXgsIDEpOworICAgICAgICB1c2VyX2RhdGEgPSBnZW5fdXNlcmRhdGEobl91c2VyX2RhdGEsIDIpOworICAgICAgICBkZXB0aCA9IGdlbl9pbnQobl9kZXB0aCwgMyk7CisgICAgICAgIHN0cmluZyA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX3N0cmluZywgNCk7CisgICAgICAgIGxzdCA9IGdlbl94bWxOb2RlUHRyX3B0cihuX2xzdCwgNSk7CisgICAgICAgIAorI2lmZGVmIExJQlhNTF9TQVgxX0VOQUJMRUQKKyAgICAgICAgaWYgKHNheCA9PSAoeG1sU0FYSGFuZGxlclB0cikmeG1sRGVmYXVsdFNBWEhhbmRsZXIpIHVzZXJfZGF0YSA9IE5VTEw7CisjZW5kaWYKKworCisgICAgICAgIHJldF92YWwgPSB4bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnkoZG9jLCBzYXgsIHVzZXJfZGF0YSwgZGVwdGgsIChjb25zdCB4bWxDaGFyICopc3RyaW5nLCBsc3QpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxEb2NQdHIobl9kb2MsIGRvYywgMCk7CisgICAgICAgIGRlc194bWxTQVhIYW5kbGVyUHRyKG5fc2F4LCBzYXgsIDEpOworICAgICAgICBkZXNfdXNlcmRhdGEobl91c2VyX2RhdGEsIHVzZXJfZGF0YSwgMik7CisgICAgICAgIGRlc19pbnQobl9kZXB0aCwgZGVwdGgsIDMpOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9zdHJpbmcsIChjb25zdCB4bWxDaGFyICopc3RyaW5nLCA0KTsKKyAgICAgICAgZGVzX3htbE5vZGVQdHJfcHRyKG5fbHN0LCBsc3QsIDUpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2RvYyk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fc2F4KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl91c2VyX2RhdGEpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2RlcHRoKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9zdHJpbmcpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2xzdCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxQYXJzZUJhbGFuY2VkQ2h1bmtNZW1vcnlSZWNvdmVyKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfU0FYMV9FTkFCTEVEKQorI2lmZGVmIExJQlhNTF9TQVgxX0VOQUJMRUQKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sRG9jUHRyIGRvYzsgLyogdGhlIGRvY3VtZW50IHRoZSBjaHVuayBwZXJ0YWlucyB0byAqLworICAgIGludCBuX2RvYzsKKyAgICB4bWxTQVhIYW5kbGVyUHRyIHNheDsgLyogdGhlIFNBWCBoYW5kbGVyIGJsb2MgKHBvc3NpYmx5IE5VTEwpICovCisgICAgaW50IG5fc2F4OworICAgIHZvaWQgKiB1c2VyX2RhdGE7IC8qIFRoZSB1c2VyIGRhdGEgcmV0dXJuZWQgb24gU0FYIGNhbGxiYWNrcyAocG9zc2libHkgTlVMTCkgKi8KKyAgICBpbnQgbl91c2VyX2RhdGE7CisgICAgaW50IGRlcHRoOyAvKiBVc2VkIGZvciBsb29wIGRldGVjdGlvbiwgdXNlIDAgKi8KKyAgICBpbnQgbl9kZXB0aDsKKyAgICB4bWxDaGFyICogc3RyaW5nOyAvKiB0aGUgaW5wdXQgc3RyaW5nIGluIFVURjggb3IgSVNPLUxhdGluICh6ZXJvIHRlcm1pbmF0ZWQpICovCisgICAgaW50IG5fc3RyaW5nOworICAgIHhtbE5vZGVQdHIgKiBsc3Q7IC8qIHRoZSByZXR1cm4gdmFsdWUgZm9yIHRoZSBzZXQgb2YgcGFyc2VkIG5vZGVzICovCisgICAgaW50IG5fbHN0OworICAgIGludCByZWNvdmVyOyAvKiByZXR1cm4gbm9kZXMgZXZlbiBpZiB0aGUgZGF0YSBpcyBicm9rZW4gKHVzZSAwKSAqLworICAgIGludCBuX3JlY292ZXI7CisKKyAgICBmb3IgKG5fZG9jID0gMDtuX2RvYyA8IGdlbl9uYl94bWxEb2NQdHI7bl9kb2MrKykgeworICAgIGZvciAobl9zYXggPSAwO25fc2F4IDwgZ2VuX25iX3htbFNBWEhhbmRsZXJQdHI7bl9zYXgrKykgeworICAgIGZvciAobl91c2VyX2RhdGEgPSAwO25fdXNlcl9kYXRhIDwgZ2VuX25iX3VzZXJkYXRhO25fdXNlcl9kYXRhKyspIHsKKyAgICBmb3IgKG5fZGVwdGggPSAwO25fZGVwdGggPCBnZW5fbmJfaW50O25fZGVwdGgrKykgeworICAgIGZvciAobl9zdHJpbmcgPSAwO25fc3RyaW5nIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fc3RyaW5nKyspIHsKKyAgICBmb3IgKG5fbHN0ID0gMDtuX2xzdCA8IGdlbl9uYl94bWxOb2RlUHRyX3B0cjtuX2xzdCsrKSB7CisgICAgZm9yIChuX3JlY292ZXIgPSAwO25fcmVjb3ZlciA8IGdlbl9uYl9pbnQ7bl9yZWNvdmVyKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgZG9jID0gZ2VuX3htbERvY1B0cihuX2RvYywgMCk7CisgICAgICAgIHNheCA9IGdlbl94bWxTQVhIYW5kbGVyUHRyKG5fc2F4LCAxKTsKKyAgICAgICAgdXNlcl9kYXRhID0gZ2VuX3VzZXJkYXRhKG5fdXNlcl9kYXRhLCAyKTsKKyAgICAgICAgZGVwdGggPSBnZW5faW50KG5fZGVwdGgsIDMpOworICAgICAgICBzdHJpbmcgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9zdHJpbmcsIDQpOworICAgICAgICBsc3QgPSBnZW5feG1sTm9kZVB0cl9wdHIobl9sc3QsIDUpOworICAgICAgICByZWNvdmVyID0gZ2VuX2ludChuX3JlY292ZXIsIDYpOworICAgICAgICAKKyNpZmRlZiBMSUJYTUxfU0FYMV9FTkFCTEVECisgICAgICAgIGlmIChzYXggPT0gKHhtbFNBWEhhbmRsZXJQdHIpJnhtbERlZmF1bHRTQVhIYW5kbGVyKSB1c2VyX2RhdGEgPSBOVUxMOworI2VuZGlmCisKKworICAgICAgICByZXRfdmFsID0geG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5UmVjb3Zlcihkb2MsIHNheCwgdXNlcl9kYXRhLCBkZXB0aCwgKGNvbnN0IHhtbENoYXIgKilzdHJpbmcsIGxzdCwgcmVjb3Zlcik7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbERvY1B0cihuX2RvYywgZG9jLCAwKTsKKyAgICAgICAgZGVzX3htbFNBWEhhbmRsZXJQdHIobl9zYXgsIHNheCwgMSk7CisgICAgICAgIGRlc191c2VyZGF0YShuX3VzZXJfZGF0YSwgdXNlcl9kYXRhLCAyKTsKKyAgICAgICAgZGVzX2ludChuX2RlcHRoLCBkZXB0aCwgMyk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX3N0cmluZywgKGNvbnN0IHhtbENoYXIgKilzdHJpbmcsIDQpOworICAgICAgICBkZXNfeG1sTm9kZVB0cl9wdHIobl9sc3QsIGxzdCwgNSk7CisgICAgICAgIGRlc19pbnQobl9yZWNvdmVyLCByZWNvdmVyLCA2KTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeVJlY292ZXIiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZG9jKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9zYXgpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3VzZXJfZGF0YSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZGVwdGgpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3N0cmluZyk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbHN0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9yZWNvdmVyKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxQYXJzZUNodW5rKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfUFVTSF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxQYXJzZXJDdHh0UHRyIGN0eHQ7IC8qIGFuIFhNTCBwYXJzZXIgY29udGV4dCAqLworICAgIGludCBuX2N0eHQ7CisgICAgY2hhciAqIGNodW5rOyAvKiBhbiBjaGFyIGFycmF5ICovCisgICAgaW50IG5fY2h1bms7CisgICAgaW50IHNpemU7IC8qIHRoZSBzaXplIGluIGJ5dGUgb2YgdGhlIGNodW5rICovCisgICAgaW50IG5fc2l6ZTsKKyAgICBpbnQgdGVybWluYXRlOyAvKiBsYXN0IGNodW5rIGluZGljYXRvciAqLworICAgIGludCBuX3Rlcm1pbmF0ZTsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfeG1sUGFyc2VyQ3R4dFB0cjtuX2N0eHQrKykgeworICAgIGZvciAobl9jaHVuayA9IDA7bl9jaHVuayA8IGdlbl9uYl9jb25zdF9jaGFyX3B0cjtuX2NodW5rKyspIHsKKyAgICBmb3IgKG5fc2l6ZSA9IDA7bl9zaXplIDwgZ2VuX25iX2ludDtuX3NpemUrKykgeworICAgIGZvciAobl90ZXJtaW5hdGUgPSAwO25fdGVybWluYXRlIDwgZ2VuX25iX2ludDtuX3Rlcm1pbmF0ZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eHQgPSBnZW5feG1sUGFyc2VyQ3R4dFB0cihuX2N0eHQsIDApOworICAgICAgICBjaHVuayA9IGdlbl9jb25zdF9jaGFyX3B0cihuX2NodW5rLCAxKTsKKyAgICAgICAgc2l6ZSA9IGdlbl9pbnQobl9zaXplLCAyKTsKKyAgICAgICAgdGVybWluYXRlID0gZ2VuX2ludChuX3Rlcm1pbmF0ZSwgMyk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFBhcnNlQ2h1bmsoY3R4dCwgKGNvbnN0IGNoYXIgKiljaHVuaywgc2l6ZSwgdGVybWluYXRlKTsKKyAgICAgICAgaWYgKGN0eHQgIT0gTlVMTCkge3htbEZyZWVEb2MoY3R4dC0+bXlEb2MpOyBjdHh0LT5teURvYyA9IE5VTEw7fQorICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxQYXJzZXJDdHh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIGRlc19jb25zdF9jaGFyX3B0cihuX2NodW5rLCAoY29uc3QgY2hhciAqKWNodW5rLCAxKTsKKyAgICAgICAgZGVzX2ludChuX3NpemUsIHNpemUsIDIpOworICAgICAgICBkZXNfaW50KG5fdGVybWluYXRlLCB0ZXJtaW5hdGUsIDMpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sUGFyc2VDaHVuayIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHh0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jaHVuayk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fc2l6ZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdGVybWluYXRlKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sUGFyc2VDdHh0RXh0ZXJuYWxFbnRpdHkodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sUGFyc2VyQ3R4dFB0ciBjdHg7IC8qIHRoZSBleGlzdGluZyBwYXJzaW5nIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHg7CisgICAgeG1sQ2hhciAqIFVSTDsgLyogdGhlIFVSTCBmb3IgdGhlIGVudGl0eSB0byBsb2FkICovCisgICAgaW50IG5fVVJMOworICAgIHhtbENoYXIgKiBJRDsgLyogdGhlIFN5c3RlbSBJRCBmb3IgdGhlIGVudGl0eSB0byBsb2FkICovCisgICAgaW50IG5fSUQ7CisgICAgeG1sTm9kZVB0ciAqIGxzdDsgLyogdGhlIHJldHVybiB2YWx1ZSBmb3IgdGhlIHNldCBvZiBwYXJzZWQgbm9kZXMgKi8KKyAgICBpbnQgbl9sc3Q7CisKKyAgICBmb3IgKG5fY3R4ID0gMDtuX2N0eCA8IGdlbl9uYl94bWxQYXJzZXJDdHh0UHRyO25fY3R4KyspIHsKKyAgICBmb3IgKG5fVVJMID0gMDtuX1VSTCA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX1VSTCsrKSB7CisgICAgZm9yIChuX0lEID0gMDtuX0lEIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fSUQrKykgeworICAgIGZvciAobl9sc3QgPSAwO25fbHN0IDwgZ2VuX25iX3htbE5vZGVQdHJfcHRyO25fbHN0KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4ID0gZ2VuX3htbFBhcnNlckN0eHRQdHIobl9jdHgsIDApOworICAgICAgICBVUkwgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9VUkwsIDEpOworICAgICAgICBJRCA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX0lELCAyKTsKKyAgICAgICAgbHN0ID0gZ2VuX3htbE5vZGVQdHJfcHRyKG5fbHN0LCAzKTsKKworICAgICAgICByZXRfdmFsID0geG1sUGFyc2VDdHh0RXh0ZXJuYWxFbnRpdHkoY3R4LCAoY29uc3QgeG1sQ2hhciAqKVVSTCwgKGNvbnN0IHhtbENoYXIgKilJRCwgbHN0KTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sUGFyc2VyQ3R4dFB0cihuX2N0eCwgY3R4LCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fVVJMLCAoY29uc3QgeG1sQ2hhciAqKVVSTCwgMSk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX0lELCAoY29uc3QgeG1sQ2hhciAqKUlELCAyKTsKKyAgICAgICAgZGVzX3htbE5vZGVQdHJfcHRyKG5fbHN0LCBsc3QsIDMpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sUGFyc2VDdHh0RXh0ZXJuYWxFbnRpdHkiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9VUkwpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX0lEKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9sc3QpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sUGFyc2VEVEQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9WQUxJRF9FTkFCTEVEKQorI2lmZGVmIExJQlhNTF9WQUxJRF9FTkFCTEVECisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbER0ZFB0ciByZXRfdmFsOworICAgIHhtbENoYXIgKiBFeHRlcm5hbElEOyAvKiBhIE5BTUUqIGNvbnRhaW5pbmcgdGhlIEV4dGVybmFsIElEIG9mIHRoZSBEVEQgKi8KKyAgICBpbnQgbl9FeHRlcm5hbElEOworICAgIHhtbENoYXIgKiBTeXN0ZW1JRDsgLyogYSBOQU1FKiBjb250YWluaW5nIHRoZSBVUkwgdG8gdGhlIERURCAqLworICAgIGludCBuX1N5c3RlbUlEOworCisgICAgZm9yIChuX0V4dGVybmFsSUQgPSAwO25fRXh0ZXJuYWxJRCA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX0V4dGVybmFsSUQrKykgeworICAgIGZvciAobl9TeXN0ZW1JRCA9IDA7bl9TeXN0ZW1JRCA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX1N5c3RlbUlEKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgRXh0ZXJuYWxJRCA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX0V4dGVybmFsSUQsIDApOworICAgICAgICBTeXN0ZW1JRCA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX1N5c3RlbUlELCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sUGFyc2VEVEQoKGNvbnN0IHhtbENoYXIgKilFeHRlcm5hbElELCAoY29uc3QgeG1sQ2hhciAqKVN5c3RlbUlEKTsKKyAgICAgICAgZGVzcmV0X3htbER0ZFB0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9FeHRlcm5hbElELCAoY29uc3QgeG1sQ2hhciAqKUV4dGVybmFsSUQsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9TeXN0ZW1JRCwgKGNvbnN0IHhtbENoYXIgKilTeXN0ZW1JRCwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxQYXJzZURURCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9FeHRlcm5hbElEKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9TeXN0ZW1JRCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFBhcnNlRG9jKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfU0FYMV9FTkFCTEVEKQorI2lmZGVmIExJQlhNTF9TQVgxX0VOQUJMRUQKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sRG9jUHRyIHJldF92YWw7CisgICAgeG1sQ2hhciAqIGN1cjsgLyogYSBwb2ludGVyIHRvIGFuIGFycmF5IG9mIHhtbENoYXIgKi8KKyAgICBpbnQgbl9jdXI7CisKKyAgICBmb3IgKG5fY3VyID0gMDtuX2N1ciA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX2N1cisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN1ciA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX2N1ciwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFBhcnNlRG9jKChjb25zdCB4bWxDaGFyICopY3VyKTsKKyAgICAgICAgZGVzcmV0X3htbERvY1B0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9jdXIsIChjb25zdCB4bWxDaGFyICopY3VyLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFBhcnNlRG9jIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N1cik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sUGFyc2VEb2N1bWVudCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxQYXJzZXJDdHh0UHRyIGN0eHQ7IC8qIGFuIFhNTCBwYXJzZXIgY29udGV4dCAqLworICAgIGludCBuX2N0eHQ7CisKKyAgICBmb3IgKG5fY3R4dCA9IDA7bl9jdHh0IDwgZ2VuX25iX3htbFBhcnNlckN0eHRQdHI7bl9jdHh0KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4dCA9IGdlbl94bWxQYXJzZXJDdHh0UHRyKG5fY3R4dCwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFBhcnNlRG9jdW1lbnQoY3R4dCk7CisgICAgICAgIGlmIChjdHh0ICE9IE5VTEwpIHt4bWxGcmVlRG9jKGN0eHQtPm15RG9jKTsgY3R4dC0+bXlEb2MgPSBOVUxMO30KKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sUGFyc2VyQ3R4dFB0cihuX2N0eHQsIGN0eHQsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sUGFyc2VEb2N1bWVudCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHh0KTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFBhcnNlRW50aXR5KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfU0FYMV9FTkFCTEVEKQorI2lmZGVmIExJQlhNTF9TQVgxX0VOQUJMRUQKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sRG9jUHRyIHJldF92YWw7CisgICAgY29uc3QgY2hhciAqIGZpbGVuYW1lOyAvKiB0aGUgZmlsZW5hbWUgKi8KKyAgICBpbnQgbl9maWxlbmFtZTsKKworICAgIGZvciAobl9maWxlbmFtZSA9IDA7bl9maWxlbmFtZSA8IGdlbl9uYl9maWxlcGF0aDtuX2ZpbGVuYW1lKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgZmlsZW5hbWUgPSBnZW5fZmlsZXBhdGgobl9maWxlbmFtZSwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFBhcnNlRW50aXR5KGZpbGVuYW1lKTsKKyAgICAgICAgZGVzcmV0X3htbERvY1B0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfZmlsZXBhdGgobl9maWxlbmFtZSwgZmlsZW5hbWUsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sUGFyc2VFbnRpdHkiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZmlsZW5hbWUpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFBhcnNlRXh0UGFyc2VkRW50KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbFBhcnNlckN0eHRQdHIgY3R4dDsgLyogYW4gWE1MIHBhcnNlciBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfeG1sUGFyc2VyQ3R4dFB0cjtuX2N0eHQrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX3htbFBhcnNlckN0eHRQdHIobl9jdHh0LCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sUGFyc2VFeHRQYXJzZWRFbnQoY3R4dCk7CisgICAgICAgIGlmIChjdHh0ICE9IE5VTEwpIHt4bWxGcmVlRG9jKGN0eHQtPm15RG9jKTsgY3R4dC0+bXlEb2MgPSBOVUxMO30KKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sUGFyc2VyQ3R4dFB0cihuX2N0eHQsIGN0eHQsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sUGFyc2VFeHRQYXJzZWRFbnQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxQYXJzZUV4dGVybmFsRW50aXR5KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfU0FYMV9FTkFCTEVEKQorI2lmZGVmIExJQlhNTF9TQVgxX0VOQUJMRUQKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sRG9jUHRyIGRvYzsgLyogdGhlIGRvY3VtZW50IHRoZSBjaHVuayBwZXJ0YWlucyB0byAqLworICAgIGludCBuX2RvYzsKKyAgICB4bWxTQVhIYW5kbGVyUHRyIHNheDsgLyogdGhlIFNBWCBoYW5kbGVyIGJsb2MgKHBvc3NpYmx5IE5VTEwpICovCisgICAgaW50IG5fc2F4OworICAgIHZvaWQgKiB1c2VyX2RhdGE7IC8qIFRoZSB1c2VyIGRhdGEgcmV0dXJuZWQgb24gU0FYIGNhbGxiYWNrcyAocG9zc2libHkgTlVMTCkgKi8KKyAgICBpbnQgbl91c2VyX2RhdGE7CisgICAgaW50IGRlcHRoOyAvKiBVc2VkIGZvciBsb29wIGRldGVjdGlvbiwgdXNlIDAgKi8KKyAgICBpbnQgbl9kZXB0aDsKKyAgICB4bWxDaGFyICogVVJMOyAvKiB0aGUgVVJMIGZvciB0aGUgZW50aXR5IHRvIGxvYWQgKi8KKyAgICBpbnQgbl9VUkw7CisgICAgeG1sQ2hhciAqIElEOyAvKiB0aGUgU3lzdGVtIElEIGZvciB0aGUgZW50aXR5IHRvIGxvYWQgKi8KKyAgICBpbnQgbl9JRDsKKyAgICB4bWxOb2RlUHRyICogbHN0OyAvKiB0aGUgcmV0dXJuIHZhbHVlIGZvciB0aGUgc2V0IG9mIHBhcnNlZCBub2RlcyAqLworICAgIGludCBuX2xzdDsKKworICAgIGZvciAobl9kb2MgPSAwO25fZG9jIDwgZ2VuX25iX3htbERvY1B0cjtuX2RvYysrKSB7CisgICAgZm9yIChuX3NheCA9IDA7bl9zYXggPCBnZW5fbmJfeG1sU0FYSGFuZGxlclB0cjtuX3NheCsrKSB7CisgICAgZm9yIChuX3VzZXJfZGF0YSA9IDA7bl91c2VyX2RhdGEgPCBnZW5fbmJfdXNlcmRhdGE7bl91c2VyX2RhdGErKykgeworICAgIGZvciAobl9kZXB0aCA9IDA7bl9kZXB0aCA8IGdlbl9uYl9pbnQ7bl9kZXB0aCsrKSB7CisgICAgZm9yIChuX1VSTCA9IDA7bl9VUkwgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9VUkwrKykgeworICAgIGZvciAobl9JRCA9IDA7bl9JRCA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX0lEKyspIHsKKyAgICBmb3IgKG5fbHN0ID0gMDtuX2xzdCA8IGdlbl9uYl94bWxOb2RlUHRyX3B0cjtuX2xzdCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGRvYyA9IGdlbl94bWxEb2NQdHIobl9kb2MsIDApOworICAgICAgICBzYXggPSBnZW5feG1sU0FYSGFuZGxlclB0cihuX3NheCwgMSk7CisgICAgICAgIHVzZXJfZGF0YSA9IGdlbl91c2VyZGF0YShuX3VzZXJfZGF0YSwgMik7CisgICAgICAgIGRlcHRoID0gZ2VuX2ludChuX2RlcHRoLCAzKTsKKyAgICAgICAgVVJMID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fVVJMLCA0KTsKKyAgICAgICAgSUQgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9JRCwgNSk7CisgICAgICAgIGxzdCA9IGdlbl94bWxOb2RlUHRyX3B0cihuX2xzdCwgNik7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFBhcnNlRXh0ZXJuYWxFbnRpdHkoZG9jLCBzYXgsIHVzZXJfZGF0YSwgZGVwdGgsIChjb25zdCB4bWxDaGFyICopVVJMLCAoY29uc3QgeG1sQ2hhciAqKUlELCBsc3QpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxEb2NQdHIobl9kb2MsIGRvYywgMCk7CisgICAgICAgIGRlc194bWxTQVhIYW5kbGVyUHRyKG5fc2F4LCBzYXgsIDEpOworICAgICAgICBkZXNfdXNlcmRhdGEobl91c2VyX2RhdGEsIHVzZXJfZGF0YSwgMik7CisgICAgICAgIGRlc19pbnQobl9kZXB0aCwgZGVwdGgsIDMpOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9VUkwsIChjb25zdCB4bWxDaGFyICopVVJMLCA0KTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fSUQsIChjb25zdCB4bWxDaGFyICopSUQsIDUpOworICAgICAgICBkZXNfeG1sTm9kZVB0cl9wdHIobl9sc3QsIGxzdCwgNik7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxQYXJzZUV4dGVybmFsRW50aXR5IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2RvYyk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fc2F4KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl91c2VyX2RhdGEpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2RlcHRoKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9VUkwpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX0lEKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9sc3QpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFBhcnNlRmlsZSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1NBWDFfRU5BQkxFRCkKKyNpZmRlZiBMSUJYTUxfU0FYMV9FTkFCTEVECisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbERvY1B0ciByZXRfdmFsOworICAgIGNvbnN0IGNoYXIgKiBmaWxlbmFtZTsgLyogdGhlIGZpbGVuYW1lICovCisgICAgaW50IG5fZmlsZW5hbWU7CisKKyAgICBmb3IgKG5fZmlsZW5hbWUgPSAwO25fZmlsZW5hbWUgPCBnZW5fbmJfZmlsZXBhdGg7bl9maWxlbmFtZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGZpbGVuYW1lID0gZ2VuX2ZpbGVwYXRoKG5fZmlsZW5hbWUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxQYXJzZUZpbGUoZmlsZW5hbWUpOworICAgICAgICBkZXNyZXRfeG1sRG9jUHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19maWxlcGF0aChuX2ZpbGVuYW1lLCBmaWxlbmFtZSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxQYXJzZUZpbGUiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZmlsZW5hbWUpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFBhcnNlSW5Ob2RlQ29udGV4dCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxQYXJzZXJFcnJvcnMgcmV0X3ZhbDsKKyAgICB4bWxOb2RlUHRyIG5vZGU7IC8qIHRoZSBjb250ZXh0IG5vZGUgKi8KKyAgICBpbnQgbl9ub2RlOworICAgIGNoYXIgKiBkYXRhOyAvKiB0aGUgaW5wdXQgc3RyaW5nICovCisgICAgaW50IG5fZGF0YTsKKyAgICBpbnQgZGF0YWxlbjsgLyogdGhlIGlucHV0IHN0cmluZyBsZW5ndGggaW4gYnl0ZXMgKi8KKyAgICBpbnQgbl9kYXRhbGVuOworICAgIGludCBvcHRpb25zOyAvKiBhIGNvbWJpbmF0aW9uIG9mIHhtbFBhcnNlck9wdGlvbiAqLworICAgIGludCBuX29wdGlvbnM7CisgICAgeG1sTm9kZVB0ciAqIGxzdDsgLyogdGhlIHJldHVybiB2YWx1ZSBmb3IgdGhlIHNldCBvZiBwYXJzZWQgbm9kZXMgKi8KKyAgICBpbnQgbl9sc3Q7CisKKyAgICBmb3IgKG5fbm9kZSA9IDA7bl9ub2RlIDwgZ2VuX25iX3htbE5vZGVQdHI7bl9ub2RlKyspIHsKKyAgICBmb3IgKG5fZGF0YSA9IDA7bl9kYXRhIDwgZ2VuX25iX2NvbnN0X2NoYXJfcHRyO25fZGF0YSsrKSB7CisgICAgZm9yIChuX2RhdGFsZW4gPSAwO25fZGF0YWxlbiA8IGdlbl9uYl9pbnQ7bl9kYXRhbGVuKyspIHsKKyAgICBmb3IgKG5fb3B0aW9ucyA9IDA7bl9vcHRpb25zIDwgZ2VuX25iX3BhcnNlcm9wdGlvbnM7bl9vcHRpb25zKyspIHsKKyAgICBmb3IgKG5fbHN0ID0gMDtuX2xzdCA8IGdlbl9uYl94bWxOb2RlUHRyX3B0cjtuX2xzdCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIG5vZGUgPSBnZW5feG1sTm9kZVB0cihuX25vZGUsIDApOworICAgICAgICBkYXRhID0gZ2VuX2NvbnN0X2NoYXJfcHRyKG5fZGF0YSwgMSk7CisgICAgICAgIGRhdGFsZW4gPSBnZW5faW50KG5fZGF0YWxlbiwgMik7CisgICAgICAgIG9wdGlvbnMgPSBnZW5fcGFyc2Vyb3B0aW9ucyhuX29wdGlvbnMsIDMpOworICAgICAgICBsc3QgPSBnZW5feG1sTm9kZVB0cl9wdHIobl9sc3QsIDQpOworCisgICAgICAgIHJldF92YWwgPSB4bWxQYXJzZUluTm9kZUNvbnRleHQobm9kZSwgKGNvbnN0IGNoYXIgKilkYXRhLCBkYXRhbGVuLCBvcHRpb25zLCBsc3QpOworICAgICAgICBkZXNyZXRfeG1sUGFyc2VyRXJyb3JzKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxOb2RlUHRyKG5fbm9kZSwgbm9kZSwgMCk7CisgICAgICAgIGRlc19jb25zdF9jaGFyX3B0cihuX2RhdGEsIChjb25zdCBjaGFyICopZGF0YSwgMSk7CisgICAgICAgIGRlc19pbnQobl9kYXRhbGVuLCBkYXRhbGVuLCAyKTsKKyAgICAgICAgZGVzX3BhcnNlcm9wdGlvbnMobl9vcHRpb25zLCBvcHRpb25zLCAzKTsKKyAgICAgICAgZGVzX3htbE5vZGVQdHJfcHRyKG5fbHN0LCBsc3QsIDQpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sUGFyc2VJbk5vZGVDb250ZXh0IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25vZGUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2RhdGEpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2RhdGFsZW4pOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX29wdGlvbnMpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2xzdCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sUGFyc2VNZW1vcnkodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9TQVgxX0VOQUJMRUQpCisjaWZkZWYgTElCWE1MX1NBWDFfRU5BQkxFRAorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxEb2NQdHIgcmV0X3ZhbDsKKyAgICBjaGFyICogYnVmZmVyOyAvKiBhbiBwb2ludGVyIHRvIGEgY2hhciBhcnJheSAqLworICAgIGludCBuX2J1ZmZlcjsKKyAgICBpbnQgc2l6ZTsgLyogdGhlIHNpemUgb2YgdGhlIGFycmF5ICovCisgICAgaW50IG5fc2l6ZTsKKworICAgIGZvciAobl9idWZmZXIgPSAwO25fYnVmZmVyIDwgZ2VuX25iX2NvbnN0X2NoYXJfcHRyO25fYnVmZmVyKyspIHsKKyAgICBmb3IgKG5fc2l6ZSA9IDA7bl9zaXplIDwgZ2VuX25iX2ludDtuX3NpemUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBidWZmZXIgPSBnZW5fY29uc3RfY2hhcl9wdHIobl9idWZmZXIsIDApOworICAgICAgICBzaXplID0gZ2VuX2ludChuX3NpemUsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxQYXJzZU1lbW9yeSgoY29uc3QgY2hhciAqKWJ1ZmZlciwgc2l6ZSk7CisgICAgICAgIGRlc3JldF94bWxEb2NQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2NvbnN0X2NoYXJfcHRyKG5fYnVmZmVyLCAoY29uc3QgY2hhciAqKWJ1ZmZlciwgMCk7CisgICAgICAgIGRlc19pbnQobl9zaXplLCBzaXplLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFBhcnNlTWVtb3J5IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2J1ZmZlcik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fc2l6ZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCisjZGVmaW5lIGdlbl9uYl9jb25zdF94bWxQYXJzZXJOb2RlSW5mb1B0ciAxCitzdGF0aWMgeG1sUGFyc2VyTm9kZUluZm9QdHIgZ2VuX2NvbnN0X3htbFBhcnNlck5vZGVJbmZvUHRyKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworICAgIHJldHVybihOVUxMKTsKK30KK3N0YXRpYyB2b2lkIGRlc19jb25zdF94bWxQYXJzZXJOb2RlSW5mb1B0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgY29uc3QgeG1sUGFyc2VyTm9kZUluZm9QdHIgdmFsIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7Cit9CisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sUGFyc2VyQWRkTm9kZUluZm8odm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sUGFyc2VyQ3R4dFB0ciBjdHh0OyAvKiBhbiBYTUwgcGFyc2VyIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHh0OworICAgIHhtbFBhcnNlck5vZGVJbmZvUHRyIGluZm87IC8qIGEgbm9kZSBpbmZvIHNlcXVlbmNlIHBvaW50ZXIgKi8KKyAgICBpbnQgbl9pbmZvOworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxQYXJzZXJDdHh0UHRyO25fY3R4dCsrKSB7CisgICAgZm9yIChuX2luZm8gPSAwO25faW5mbyA8IGdlbl9uYl9jb25zdF94bWxQYXJzZXJOb2RlSW5mb1B0cjtuX2luZm8rKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX3htbFBhcnNlckN0eHRQdHIobl9jdHh0LCAwKTsKKyAgICAgICAgaW5mbyA9IGdlbl9jb25zdF94bWxQYXJzZXJOb2RlSW5mb1B0cihuX2luZm8sIDEpOworCisgICAgICAgIHhtbFBhcnNlckFkZE5vZGVJbmZvKGN0eHQsIChjb25zdCB4bWxQYXJzZXJOb2RlSW5mb1B0cilpbmZvKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sUGFyc2VyQ3R4dFB0cihuX2N0eHQsIGN0eHQsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sUGFyc2VyTm9kZUluZm9QdHIobl9pbmZvLCAoY29uc3QgeG1sUGFyc2VyTm9kZUluZm9QdHIpaW5mbywgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxQYXJzZXJBZGROb2RlSW5mbyIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHh0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9pbmZvKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworI2RlZmluZSBnZW5fbmJfY29uc3RfeG1sUGFyc2VyQ3R4dFB0ciAxCitzdGF0aWMgeG1sUGFyc2VyQ3R4dFB0ciBnZW5fY29uc3RfeG1sUGFyc2VyQ3R4dFB0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICByZXR1cm4oTlVMTCk7Cit9CitzdGF0aWMgdm9pZCBkZXNfY29uc3RfeG1sUGFyc2VyQ3R4dFB0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgY29uc3QgeG1sUGFyc2VyQ3R4dFB0ciB2YWwgQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKK30KKworI2RlZmluZSBnZW5fbmJfY29uc3RfeG1sTm9kZVB0ciAxCitzdGF0aWMgeG1sTm9kZVB0ciBnZW5fY29uc3RfeG1sTm9kZVB0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICByZXR1cm4oTlVMTCk7Cit9CitzdGF0aWMgdm9pZCBkZXNfY29uc3RfeG1sTm9kZVB0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgY29uc3QgeG1sTm9kZVB0ciB2YWwgQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKK30KKworc3RhdGljIGludAordGVzdF94bWxQYXJzZXJGaW5kTm9kZUluZm8odm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgY29uc3QgeG1sUGFyc2VyTm9kZUluZm8gKiByZXRfdmFsOworICAgIHhtbFBhcnNlckN0eHRQdHIgY3R4OyAvKiBhbiBYTUwgcGFyc2VyIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHg7CisgICAgeG1sTm9kZVB0ciBub2RlOyAvKiBhbiBYTUwgbm9kZSB3aXRoaW4gdGhlIHRyZWUgKi8KKyAgICBpbnQgbl9ub2RlOworCisgICAgZm9yIChuX2N0eCA9IDA7bl9jdHggPCBnZW5fbmJfY29uc3RfeG1sUGFyc2VyQ3R4dFB0cjtuX2N0eCsrKSB7CisgICAgZm9yIChuX25vZGUgPSAwO25fbm9kZSA8IGdlbl9uYl9jb25zdF94bWxOb2RlUHRyO25fbm9kZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eCA9IGdlbl9jb25zdF94bWxQYXJzZXJDdHh0UHRyKG5fY3R4LCAwKTsKKyAgICAgICAgbm9kZSA9IGdlbl9jb25zdF94bWxOb2RlUHRyKG5fbm9kZSwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFBhcnNlckZpbmROb2RlSW5mbygoY29uc3QgeG1sUGFyc2VyQ3R4dFB0ciljdHgsIChjb25zdCB4bWxOb2RlUHRyKW5vZGUpOworICAgICAgICBkZXNyZXRfY29uc3RfeG1sUGFyc2VyTm9kZUluZm9fcHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19jb25zdF94bWxQYXJzZXJDdHh0UHRyKG5fY3R4LCAoY29uc3QgeG1sUGFyc2VyQ3R4dFB0ciljdHgsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sTm9kZVB0cihuX25vZGUsIChjb25zdCB4bWxOb2RlUHRyKW5vZGUsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sUGFyc2VyRmluZE5vZGVJbmZvIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbm9kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKKyNkZWZpbmUgZ2VuX25iX2NvbnN0X3htbFBhcnNlck5vZGVJbmZvU2VxUHRyIDEKK3N0YXRpYyB4bWxQYXJzZXJOb2RlSW5mb1NlcVB0ciBnZW5fY29uc3RfeG1sUGFyc2VyTm9kZUluZm9TZXFQdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgcmV0dXJuKE5VTEwpOworfQorc3RhdGljIHZvaWQgZGVzX2NvbnN0X3htbFBhcnNlck5vZGVJbmZvU2VxUHRyKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCBjb25zdCB4bWxQYXJzZXJOb2RlSW5mb1NlcVB0ciB2YWwgQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKK30KKworc3RhdGljIGludAordGVzdF94bWxQYXJzZXJGaW5kTm9kZUluZm9JbmRleCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB1bnNpZ25lZCBsb25nIHJldF92YWw7CisgICAgeG1sUGFyc2VyTm9kZUluZm9TZXFQdHIgc2VxOyAvKiBhIG5vZGUgaW5mbyBzZXF1ZW5jZSBwb2ludGVyICovCisgICAgaW50IG5fc2VxOworICAgIHhtbE5vZGVQdHIgbm9kZTsgLyogYW4gWE1MIG5vZGUgcG9pbnRlciAqLworICAgIGludCBuX25vZGU7CisKKyAgICBmb3IgKG5fc2VxID0gMDtuX3NlcSA8IGdlbl9uYl9jb25zdF94bWxQYXJzZXJOb2RlSW5mb1NlcVB0cjtuX3NlcSsrKSB7CisgICAgZm9yIChuX25vZGUgPSAwO25fbm9kZSA8IGdlbl9uYl9jb25zdF94bWxOb2RlUHRyO25fbm9kZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHNlcSA9IGdlbl9jb25zdF94bWxQYXJzZXJOb2RlSW5mb1NlcVB0cihuX3NlcSwgMCk7CisgICAgICAgIG5vZGUgPSBnZW5fY29uc3RfeG1sTm9kZVB0cihuX25vZGUsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxQYXJzZXJGaW5kTm9kZUluZm9JbmRleCgoY29uc3QgeG1sUGFyc2VyTm9kZUluZm9TZXFQdHIpc2VxLCAoY29uc3QgeG1sTm9kZVB0cilub2RlKTsKKyAgICAgICAgZGVzcmV0X3Vuc2lnbmVkX2xvbmcocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2NvbnN0X3htbFBhcnNlck5vZGVJbmZvU2VxUHRyKG5fc2VxLCAoY29uc3QgeG1sUGFyc2VyTm9kZUluZm9TZXFQdHIpc2VxLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbE5vZGVQdHIobl9ub2RlLCAoY29uc3QgeG1sTm9kZVB0cilub2RlLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFBhcnNlckZpbmROb2RlSW5mb0luZGV4IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3NlcSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbm9kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKKyNkZWZpbmUgZ2VuX25iX3htbFBhcnNlcklucHV0UHRyIDEKK3N0YXRpYyB4bWxQYXJzZXJJbnB1dFB0ciBnZW5feG1sUGFyc2VySW5wdXRQdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgcmV0dXJuKE5VTEwpOworfQorc3RhdGljIHZvaWQgZGVzX3htbFBhcnNlcklucHV0UHRyKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCB4bWxQYXJzZXJJbnB1dFB0ciB2YWwgQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKK30KKworc3RhdGljIGludAordGVzdF94bWxQYXJzZXJJbnB1dEdyb3codm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sUGFyc2VySW5wdXRQdHIgaW47IC8qIGFuIFhNTCBwYXJzZXIgaW5wdXQgKi8KKyAgICBpbnQgbl9pbjsKKyAgICBpbnQgbGVuOyAvKiBhbiBpbmRpY2F0aXZlIHNpemUgZm9yIHRoZSBsb29rYWhlYWQgKi8KKyAgICBpbnQgbl9sZW47CisKKyAgICBmb3IgKG5faW4gPSAwO25faW4gPCBnZW5fbmJfeG1sUGFyc2VySW5wdXRQdHI7bl9pbisrKSB7CisgICAgZm9yIChuX2xlbiA9IDA7bl9sZW4gPCBnZW5fbmJfaW50O25fbGVuKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgaW4gPSBnZW5feG1sUGFyc2VySW5wdXRQdHIobl9pbiwgMCk7CisgICAgICAgIGxlbiA9IGdlbl9pbnQobl9sZW4sIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxQYXJzZXJJbnB1dEdyb3coaW4sIGxlbik7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFBhcnNlcklucHV0UHRyKG5faW4sIGluLCAwKTsKKyAgICAgICAgZGVzX2ludChuX2xlbiwgbGVuLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFBhcnNlcklucHV0R3JvdyIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9pbik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbGVuKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxQYXJzZXJJbnB1dFJlYWQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sUGFyc2VySW5wdXRQdHIgaW47IC8qIGFuIFhNTCBwYXJzZXIgaW5wdXQgKi8KKyAgICBpbnQgbl9pbjsKKyAgICBpbnQgbGVuOyAvKiBhbiBpbmRpY2F0aXZlIHNpemUgZm9yIHRoZSBsb29rYWhlYWQgKi8KKyAgICBpbnQgbl9sZW47CisKKyAgICBmb3IgKG5faW4gPSAwO25faW4gPCBnZW5fbmJfeG1sUGFyc2VySW5wdXRQdHI7bl9pbisrKSB7CisgICAgZm9yIChuX2xlbiA9IDA7bl9sZW4gPCBnZW5fbmJfaW50O25fbGVuKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgaW4gPSBnZW5feG1sUGFyc2VySW5wdXRQdHIobl9pbiwgMCk7CisgICAgICAgIGxlbiA9IGdlbl9pbnQobl9sZW4sIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxQYXJzZXJJbnB1dFJlYWQoaW4sIGxlbik7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFBhcnNlcklucHV0UHRyKG5faW4sIGluLCAwKTsKKyAgICAgICAgZGVzX2ludChuX2xlbiwgbGVuLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFBhcnNlcklucHV0UmVhZCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9pbik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbGVuKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxQZWRhbnRpY1BhcnNlckRlZmF1bHQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgaW50IHZhbDsgLyogaW50IDAgb3IgMSAqLworICAgIGludCBuX3ZhbDsKKworICAgIGZvciAobl92YWwgPSAwO25fdmFsIDwgZ2VuX25iX2ludDtuX3ZhbCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHZhbCA9IGdlbl9pbnQobl92YWwsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxQZWRhbnRpY1BhcnNlckRlZmF1bHQodmFsKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfaW50KG5fdmFsLCB2YWwsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sUGVkYW50aWNQYXJzZXJEZWZhdWx0IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3ZhbCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxSZWFkRG9jKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbERvY1B0ciByZXRfdmFsOworICAgIHhtbENoYXIgKiBjdXI7IC8qIGEgcG9pbnRlciB0byBhIHplcm8gdGVybWluYXRlZCBzdHJpbmcgKi8KKyAgICBpbnQgbl9jdXI7CisgICAgY29uc3QgY2hhciAqIFVSTDsgLyogdGhlIGJhc2UgVVJMIHRvIHVzZSBmb3IgdGhlIGRvY3VtZW50ICovCisgICAgaW50IG5fVVJMOworICAgIGNoYXIgKiBlbmNvZGluZzsgLyogdGhlIGRvY3VtZW50IGVuY29kaW5nLCBvciBOVUxMICovCisgICAgaW50IG5fZW5jb2Rpbmc7CisgICAgaW50IG9wdGlvbnM7IC8qIGEgY29tYmluYXRpb24gb2YgeG1sUGFyc2VyT3B0aW9uICovCisgICAgaW50IG5fb3B0aW9uczsKKworICAgIGZvciAobl9jdXIgPSAwO25fY3VyIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fY3VyKyspIHsKKyAgICBmb3IgKG5fVVJMID0gMDtuX1VSTCA8IGdlbl9uYl9maWxlcGF0aDtuX1VSTCsrKSB7CisgICAgZm9yIChuX2VuY29kaW5nID0gMDtuX2VuY29kaW5nIDwgZ2VuX25iX2NvbnN0X2NoYXJfcHRyO25fZW5jb2RpbmcrKykgeworICAgIGZvciAobl9vcHRpb25zID0gMDtuX29wdGlvbnMgPCBnZW5fbmJfcGFyc2Vyb3B0aW9ucztuX29wdGlvbnMrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdXIgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9jdXIsIDApOworICAgICAgICBVUkwgPSBnZW5fZmlsZXBhdGgobl9VUkwsIDEpOworICAgICAgICBlbmNvZGluZyA9IGdlbl9jb25zdF9jaGFyX3B0cihuX2VuY29kaW5nLCAyKTsKKyAgICAgICAgb3B0aW9ucyA9IGdlbl9wYXJzZXJvcHRpb25zKG5fb3B0aW9ucywgMyk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFJlYWREb2MoKGNvbnN0IHhtbENoYXIgKiljdXIsIFVSTCwgKGNvbnN0IGNoYXIgKillbmNvZGluZywgb3B0aW9ucyk7CisgICAgICAgIGRlc3JldF94bWxEb2NQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fY3VyLCAoY29uc3QgeG1sQ2hhciAqKWN1ciwgMCk7CisgICAgICAgIGRlc19maWxlcGF0aChuX1VSTCwgVVJMLCAxKTsKKyAgICAgICAgZGVzX2NvbnN0X2NoYXJfcHRyKG5fZW5jb2RpbmcsIChjb25zdCBjaGFyICopZW5jb2RpbmcsIDIpOworICAgICAgICBkZXNfcGFyc2Vyb3B0aW9ucyhuX29wdGlvbnMsIG9wdGlvbnMsIDMpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sUmVhZERvYyIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdXIpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX1VSTCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZW5jb2RpbmcpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX29wdGlvbnMpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sUmVhZEZpbGUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sRG9jUHRyIHJldF92YWw7CisgICAgY29uc3QgY2hhciAqIGZpbGVuYW1lOyAvKiBhIGZpbGUgb3IgVVJMICovCisgICAgaW50IG5fZmlsZW5hbWU7CisgICAgY2hhciAqIGVuY29kaW5nOyAvKiB0aGUgZG9jdW1lbnQgZW5jb2RpbmcsIG9yIE5VTEwgKi8KKyAgICBpbnQgbl9lbmNvZGluZzsKKyAgICBpbnQgb3B0aW9uczsgLyogYSBjb21iaW5hdGlvbiBvZiB4bWxQYXJzZXJPcHRpb24gKi8KKyAgICBpbnQgbl9vcHRpb25zOworCisgICAgZm9yIChuX2ZpbGVuYW1lID0gMDtuX2ZpbGVuYW1lIDwgZ2VuX25iX2ZpbGVwYXRoO25fZmlsZW5hbWUrKykgeworICAgIGZvciAobl9lbmNvZGluZyA9IDA7bl9lbmNvZGluZyA8IGdlbl9uYl9jb25zdF9jaGFyX3B0cjtuX2VuY29kaW5nKyspIHsKKyAgICBmb3IgKG5fb3B0aW9ucyA9IDA7bl9vcHRpb25zIDwgZ2VuX25iX3BhcnNlcm9wdGlvbnM7bl9vcHRpb25zKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgZmlsZW5hbWUgPSBnZW5fZmlsZXBhdGgobl9maWxlbmFtZSwgMCk7CisgICAgICAgIGVuY29kaW5nID0gZ2VuX2NvbnN0X2NoYXJfcHRyKG5fZW5jb2RpbmcsIDEpOworICAgICAgICBvcHRpb25zID0gZ2VuX3BhcnNlcm9wdGlvbnMobl9vcHRpb25zLCAyKTsKKworICAgICAgICByZXRfdmFsID0geG1sUmVhZEZpbGUoZmlsZW5hbWUsIChjb25zdCBjaGFyICopZW5jb2RpbmcsIG9wdGlvbnMpOworICAgICAgICBkZXNyZXRfeG1sRG9jUHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19maWxlcGF0aChuX2ZpbGVuYW1lLCBmaWxlbmFtZSwgMCk7CisgICAgICAgIGRlc19jb25zdF9jaGFyX3B0cihuX2VuY29kaW5nLCAoY29uc3QgY2hhciAqKWVuY29kaW5nLCAxKTsKKyAgICAgICAgZGVzX3BhcnNlcm9wdGlvbnMobl9vcHRpb25zLCBvcHRpb25zLCAyKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFJlYWRGaWxlIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2ZpbGVuYW1lKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9lbmNvZGluZyk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fb3B0aW9ucyk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFJlYWRNZW1vcnkodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sRG9jUHRyIHJldF92YWw7CisgICAgY2hhciAqIGJ1ZmZlcjsgLyogYSBwb2ludGVyIHRvIGEgY2hhciBhcnJheSAqLworICAgIGludCBuX2J1ZmZlcjsKKyAgICBpbnQgc2l6ZTsgLyogdGhlIHNpemUgb2YgdGhlIGFycmF5ICovCisgICAgaW50IG5fc2l6ZTsKKyAgICBjb25zdCBjaGFyICogVVJMOyAvKiB0aGUgYmFzZSBVUkwgdG8gdXNlIGZvciB0aGUgZG9jdW1lbnQgKi8KKyAgICBpbnQgbl9VUkw7CisgICAgY2hhciAqIGVuY29kaW5nOyAvKiB0aGUgZG9jdW1lbnQgZW5jb2RpbmcsIG9yIE5VTEwgKi8KKyAgICBpbnQgbl9lbmNvZGluZzsKKyAgICBpbnQgb3B0aW9uczsgLyogYSBjb21iaW5hdGlvbiBvZiB4bWxQYXJzZXJPcHRpb24gKi8KKyAgICBpbnQgbl9vcHRpb25zOworCisgICAgZm9yIChuX2J1ZmZlciA9IDA7bl9idWZmZXIgPCBnZW5fbmJfY29uc3RfY2hhcl9wdHI7bl9idWZmZXIrKykgeworICAgIGZvciAobl9zaXplID0gMDtuX3NpemUgPCBnZW5fbmJfaW50O25fc2l6ZSsrKSB7CisgICAgZm9yIChuX1VSTCA9IDA7bl9VUkwgPCBnZW5fbmJfZmlsZXBhdGg7bl9VUkwrKykgeworICAgIGZvciAobl9lbmNvZGluZyA9IDA7bl9lbmNvZGluZyA8IGdlbl9uYl9jb25zdF9jaGFyX3B0cjtuX2VuY29kaW5nKyspIHsKKyAgICBmb3IgKG5fb3B0aW9ucyA9IDA7bl9vcHRpb25zIDwgZ2VuX25iX3BhcnNlcm9wdGlvbnM7bl9vcHRpb25zKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgYnVmZmVyID0gZ2VuX2NvbnN0X2NoYXJfcHRyKG5fYnVmZmVyLCAwKTsKKyAgICAgICAgc2l6ZSA9IGdlbl9pbnQobl9zaXplLCAxKTsKKyAgICAgICAgVVJMID0gZ2VuX2ZpbGVwYXRoKG5fVVJMLCAyKTsKKyAgICAgICAgZW5jb2RpbmcgPSBnZW5fY29uc3RfY2hhcl9wdHIobl9lbmNvZGluZywgMyk7CisgICAgICAgIG9wdGlvbnMgPSBnZW5fcGFyc2Vyb3B0aW9ucyhuX29wdGlvbnMsIDQpOworCisgICAgICAgIHJldF92YWwgPSB4bWxSZWFkTWVtb3J5KChjb25zdCBjaGFyICopYnVmZmVyLCBzaXplLCBVUkwsIChjb25zdCBjaGFyICopZW5jb2RpbmcsIG9wdGlvbnMpOworICAgICAgICBkZXNyZXRfeG1sRG9jUHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19jb25zdF9jaGFyX3B0cihuX2J1ZmZlciwgKGNvbnN0IGNoYXIgKilidWZmZXIsIDApOworICAgICAgICBkZXNfaW50KG5fc2l6ZSwgc2l6ZSwgMSk7CisgICAgICAgIGRlc19maWxlcGF0aChuX1VSTCwgVVJMLCAyKTsKKyAgICAgICAgZGVzX2NvbnN0X2NoYXJfcHRyKG5fZW5jb2RpbmcsIChjb25zdCBjaGFyICopZW5jb2RpbmcsIDMpOworICAgICAgICBkZXNfcGFyc2Vyb3B0aW9ucyhuX29wdGlvbnMsIG9wdGlvbnMsIDQpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sUmVhZE1lbW9yeSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9idWZmZXIpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3NpemUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX1VSTCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZW5jb2RpbmcpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX29wdGlvbnMpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFJlY292ZXJEb2Modm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9TQVgxX0VOQUJMRUQpCisjaWZkZWYgTElCWE1MX1NBWDFfRU5BQkxFRAorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxEb2NQdHIgcmV0X3ZhbDsKKyAgICB4bWxDaGFyICogY3VyOyAvKiBhIHBvaW50ZXIgdG8gYW4gYXJyYXkgb2YgeG1sQ2hhciAqLworICAgIGludCBuX2N1cjsKKworICAgIGZvciAobl9jdXIgPSAwO25fY3VyIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fY3VyKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3VyID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fY3VyLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sUmVjb3ZlckRvYygoY29uc3QgeG1sQ2hhciAqKWN1cik7CisgICAgICAgIGRlc3JldF94bWxEb2NQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fY3VyLCAoY29uc3QgeG1sQ2hhciAqKWN1ciwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxSZWNvdmVyRG9jIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N1cik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sUmVjb3ZlckZpbGUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9TQVgxX0VOQUJMRUQpCisjaWZkZWYgTElCWE1MX1NBWDFfRU5BQkxFRAorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxEb2NQdHIgcmV0X3ZhbDsKKyAgICBjb25zdCBjaGFyICogZmlsZW5hbWU7IC8qIHRoZSBmaWxlbmFtZSAqLworICAgIGludCBuX2ZpbGVuYW1lOworCisgICAgZm9yIChuX2ZpbGVuYW1lID0gMDtuX2ZpbGVuYW1lIDwgZ2VuX25iX2ZpbGVwYXRoO25fZmlsZW5hbWUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBmaWxlbmFtZSA9IGdlbl9maWxlcGF0aChuX2ZpbGVuYW1lLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sUmVjb3ZlckZpbGUoZmlsZW5hbWUpOworICAgICAgICBkZXNyZXRfeG1sRG9jUHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19maWxlcGF0aChuX2ZpbGVuYW1lLCBmaWxlbmFtZSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxSZWNvdmVyRmlsZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9maWxlbmFtZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sUmVjb3Zlck1lbW9yeSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1NBWDFfRU5BQkxFRCkKKyNpZmRlZiBMSUJYTUxfU0FYMV9FTkFCTEVECisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbERvY1B0ciByZXRfdmFsOworICAgIGNoYXIgKiBidWZmZXI7IC8qIGFuIHBvaW50ZXIgdG8gYSBjaGFyIGFycmF5ICovCisgICAgaW50IG5fYnVmZmVyOworICAgIGludCBzaXplOyAvKiB0aGUgc2l6ZSBvZiB0aGUgYXJyYXkgKi8KKyAgICBpbnQgbl9zaXplOworCisgICAgZm9yIChuX2J1ZmZlciA9IDA7bl9idWZmZXIgPCBnZW5fbmJfY29uc3RfY2hhcl9wdHI7bl9idWZmZXIrKykgeworICAgIGZvciAobl9zaXplID0gMDtuX3NpemUgPCBnZW5fbmJfaW50O25fc2l6ZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGJ1ZmZlciA9IGdlbl9jb25zdF9jaGFyX3B0cihuX2J1ZmZlciwgMCk7CisgICAgICAgIHNpemUgPSBnZW5faW50KG5fc2l6ZSwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFJlY292ZXJNZW1vcnkoKGNvbnN0IGNoYXIgKilidWZmZXIsIHNpemUpOworICAgICAgICBkZXNyZXRfeG1sRG9jUHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19jb25zdF9jaGFyX3B0cihuX2J1ZmZlciwgKGNvbnN0IGNoYXIgKilidWZmZXIsIDApOworICAgICAgICBkZXNfaW50KG5fc2l6ZSwgc2l6ZSwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxSZWNvdmVyTWVtb3J5IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2J1ZmZlcik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fc2l6ZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFNBWFBhcnNlRFREKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfVkFMSURfRU5BQkxFRCkKKyNpZmRlZiBMSUJYTUxfU0FYMV9FTkFCTEVECisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbER0ZFB0ciByZXRfdmFsOworICAgIHhtbFNBWEhhbmRsZXJQdHIgc2F4OyAvKiB0aGUgU0FYIGhhbmRsZXIgYmxvY2sgKi8KKyAgICBpbnQgbl9zYXg7CisgICAgeG1sQ2hhciAqIEV4dGVybmFsSUQ7IC8qIGEgTkFNRSogY29udGFpbmluZyB0aGUgRXh0ZXJuYWwgSUQgb2YgdGhlIERURCAqLworICAgIGludCBuX0V4dGVybmFsSUQ7CisgICAgeG1sQ2hhciAqIFN5c3RlbUlEOyAvKiBhIE5BTUUqIGNvbnRhaW5pbmcgdGhlIFVSTCB0byB0aGUgRFREICovCisgICAgaW50IG5fU3lzdGVtSUQ7CisKKyAgICBmb3IgKG5fc2F4ID0gMDtuX3NheCA8IGdlbl9uYl94bWxTQVhIYW5kbGVyUHRyO25fc2F4KyspIHsKKyAgICBmb3IgKG5fRXh0ZXJuYWxJRCA9IDA7bl9FeHRlcm5hbElEIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fRXh0ZXJuYWxJRCsrKSB7CisgICAgZm9yIChuX1N5c3RlbUlEID0gMDtuX1N5c3RlbUlEIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fU3lzdGVtSUQrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBzYXggPSBnZW5feG1sU0FYSGFuZGxlclB0cihuX3NheCwgMCk7CisgICAgICAgIEV4dGVybmFsSUQgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9FeHRlcm5hbElELCAxKTsKKyAgICAgICAgU3lzdGVtSUQgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9TeXN0ZW1JRCwgMik7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFNBWFBhcnNlRFREKHNheCwgKGNvbnN0IHhtbENoYXIgKilFeHRlcm5hbElELCAoY29uc3QgeG1sQ2hhciAqKVN5c3RlbUlEKTsKKyAgICAgICAgZGVzcmV0X3htbER0ZFB0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sU0FYSGFuZGxlclB0cihuX3NheCwgc2F4LCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fRXh0ZXJuYWxJRCwgKGNvbnN0IHhtbENoYXIgKilFeHRlcm5hbElELCAxKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fU3lzdGVtSUQsIChjb25zdCB4bWxDaGFyICopU3lzdGVtSUQsIDIpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sU0FYUGFyc2VEVEQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fc2F4KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9FeHRlcm5hbElEKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9TeXN0ZW1JRCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxTQVhQYXJzZURvYyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1NBWDFfRU5BQkxFRCkKKyNpZmRlZiBMSUJYTUxfU0FYMV9FTkFCTEVECisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbERvY1B0ciByZXRfdmFsOworICAgIHhtbFNBWEhhbmRsZXJQdHIgc2F4OyAvKiB0aGUgU0FYIGhhbmRsZXIgYmxvY2sgKi8KKyAgICBpbnQgbl9zYXg7CisgICAgeG1sQ2hhciAqIGN1cjsgLyogYSBwb2ludGVyIHRvIGFuIGFycmF5IG9mIHhtbENoYXIgKi8KKyAgICBpbnQgbl9jdXI7CisgICAgaW50IHJlY292ZXJ5OyAvKiB3b3JrIGluIHJlY292ZXJ5IG1vZGUsIGkuZS4gdHJpZXMgdG8gcmVhZCBubyBXZWxsIEZvcm1lZCBkb2N1bWVudHMgKi8KKyAgICBpbnQgbl9yZWNvdmVyeTsKKworICAgIGZvciAobl9zYXggPSAwO25fc2F4IDwgZ2VuX25iX3htbFNBWEhhbmRsZXJQdHI7bl9zYXgrKykgeworICAgIGZvciAobl9jdXIgPSAwO25fY3VyIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fY3VyKyspIHsKKyAgICBmb3IgKG5fcmVjb3ZlcnkgPSAwO25fcmVjb3ZlcnkgPCBnZW5fbmJfaW50O25fcmVjb3ZlcnkrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBzYXggPSBnZW5feG1sU0FYSGFuZGxlclB0cihuX3NheCwgMCk7CisgICAgICAgIGN1ciA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX2N1ciwgMSk7CisgICAgICAgIHJlY292ZXJ5ID0gZ2VuX2ludChuX3JlY292ZXJ5LCAyKTsKKworICAgICAgICByZXRfdmFsID0geG1sU0FYUGFyc2VEb2Moc2F4LCAoY29uc3QgeG1sQ2hhciAqKWN1ciwgcmVjb3ZlcnkpOworICAgICAgICBkZXNyZXRfeG1sRG9jUHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxTQVhIYW5kbGVyUHRyKG5fc2F4LCBzYXgsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9jdXIsIChjb25zdCB4bWxDaGFyICopY3VyLCAxKTsKKyAgICAgICAgZGVzX2ludChuX3JlY292ZXJ5LCByZWNvdmVyeSwgMik7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxTQVhQYXJzZURvYyIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9zYXgpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N1cik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fcmVjb3ZlcnkpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sU0FYUGFyc2VFbnRpdHkodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9TQVgxX0VOQUJMRUQpCisjaWZkZWYgTElCWE1MX1NBWDFfRU5BQkxFRAorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxEb2NQdHIgcmV0X3ZhbDsKKyAgICB4bWxTQVhIYW5kbGVyUHRyIHNheDsgLyogdGhlIFNBWCBoYW5kbGVyIGJsb2NrICovCisgICAgaW50IG5fc2F4OworICAgIGNvbnN0IGNoYXIgKiBmaWxlbmFtZTsgLyogdGhlIGZpbGVuYW1lICovCisgICAgaW50IG5fZmlsZW5hbWU7CisKKyAgICBmb3IgKG5fc2F4ID0gMDtuX3NheCA8IGdlbl9uYl94bWxTQVhIYW5kbGVyUHRyO25fc2F4KyspIHsKKyAgICBmb3IgKG5fZmlsZW5hbWUgPSAwO25fZmlsZW5hbWUgPCBnZW5fbmJfZmlsZXBhdGg7bl9maWxlbmFtZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHNheCA9IGdlbl94bWxTQVhIYW5kbGVyUHRyKG5fc2F4LCAwKTsKKyAgICAgICAgZmlsZW5hbWUgPSBnZW5fZmlsZXBhdGgobl9maWxlbmFtZSwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFNBWFBhcnNlRW50aXR5KHNheCwgZmlsZW5hbWUpOworICAgICAgICBkZXNyZXRfeG1sRG9jUHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxTQVhIYW5kbGVyUHRyKG5fc2F4LCBzYXgsIDApOworICAgICAgICBkZXNfZmlsZXBhdGgobl9maWxlbmFtZSwgZmlsZW5hbWUsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sU0FYUGFyc2VFbnRpdHkiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fc2F4KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9maWxlbmFtZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFNBWFBhcnNlRmlsZSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1NBWDFfRU5BQkxFRCkKKyNpZmRlZiBMSUJYTUxfU0FYMV9FTkFCTEVECisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbERvY1B0ciByZXRfdmFsOworICAgIHhtbFNBWEhhbmRsZXJQdHIgc2F4OyAvKiB0aGUgU0FYIGhhbmRsZXIgYmxvY2sgKi8KKyAgICBpbnQgbl9zYXg7CisgICAgY29uc3QgY2hhciAqIGZpbGVuYW1lOyAvKiB0aGUgZmlsZW5hbWUgKi8KKyAgICBpbnQgbl9maWxlbmFtZTsKKyAgICBpbnQgcmVjb3Zlcnk7IC8qIHdvcmsgaW4gcmVjb3ZlcnkgbW9kZSwgaS5lLiB0cmllcyB0byByZWFkIG5vIFdlbGwgRm9ybWVkIGRvY3VtZW50cyAqLworICAgIGludCBuX3JlY292ZXJ5OworCisgICAgZm9yIChuX3NheCA9IDA7bl9zYXggPCBnZW5fbmJfeG1sU0FYSGFuZGxlclB0cjtuX3NheCsrKSB7CisgICAgZm9yIChuX2ZpbGVuYW1lID0gMDtuX2ZpbGVuYW1lIDwgZ2VuX25iX2ZpbGVwYXRoO25fZmlsZW5hbWUrKykgeworICAgIGZvciAobl9yZWNvdmVyeSA9IDA7bl9yZWNvdmVyeSA8IGdlbl9uYl9pbnQ7bl9yZWNvdmVyeSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHNheCA9IGdlbl94bWxTQVhIYW5kbGVyUHRyKG5fc2F4LCAwKTsKKyAgICAgICAgZmlsZW5hbWUgPSBnZW5fZmlsZXBhdGgobl9maWxlbmFtZSwgMSk7CisgICAgICAgIHJlY292ZXJ5ID0gZ2VuX2ludChuX3JlY292ZXJ5LCAyKTsKKworICAgICAgICByZXRfdmFsID0geG1sU0FYUGFyc2VGaWxlKHNheCwgZmlsZW5hbWUsIHJlY292ZXJ5KTsKKyAgICAgICAgZGVzcmV0X3htbERvY1B0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sU0FYSGFuZGxlclB0cihuX3NheCwgc2F4LCAwKTsKKyAgICAgICAgZGVzX2ZpbGVwYXRoKG5fZmlsZW5hbWUsIGZpbGVuYW1lLCAxKTsKKyAgICAgICAgZGVzX2ludChuX3JlY292ZXJ5LCByZWNvdmVyeSwgMik7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxTQVhQYXJzZUZpbGUiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fc2F4KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9maWxlbmFtZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fcmVjb3ZlcnkpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sU0FYUGFyc2VGaWxlV2l0aERhdGEodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9TQVgxX0VOQUJMRUQpCisjaWZkZWYgTElCWE1MX1NBWDFfRU5BQkxFRAorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxEb2NQdHIgcmV0X3ZhbDsKKyAgICB4bWxTQVhIYW5kbGVyUHRyIHNheDsgLyogdGhlIFNBWCBoYW5kbGVyIGJsb2NrICovCisgICAgaW50IG5fc2F4OworICAgIGNvbnN0IGNoYXIgKiBmaWxlbmFtZTsgLyogdGhlIGZpbGVuYW1lICovCisgICAgaW50IG5fZmlsZW5hbWU7CisgICAgaW50IHJlY292ZXJ5OyAvKiB3b3JrIGluIHJlY292ZXJ5IG1vZGUsIGkuZS4gdHJpZXMgdG8gcmVhZCBubyBXZWxsIEZvcm1lZCBkb2N1bWVudHMgKi8KKyAgICBpbnQgbl9yZWNvdmVyeTsKKyAgICB2b2lkICogZGF0YTsgLyogdGhlIHVzZXJkYXRhICovCisgICAgaW50IG5fZGF0YTsKKworICAgIGZvciAobl9zYXggPSAwO25fc2F4IDwgZ2VuX25iX3htbFNBWEhhbmRsZXJQdHI7bl9zYXgrKykgeworICAgIGZvciAobl9maWxlbmFtZSA9IDA7bl9maWxlbmFtZSA8IGdlbl9uYl9maWxlcGF0aDtuX2ZpbGVuYW1lKyspIHsKKyAgICBmb3IgKG5fcmVjb3ZlcnkgPSAwO25fcmVjb3ZlcnkgPCBnZW5fbmJfaW50O25fcmVjb3ZlcnkrKykgeworICAgIGZvciAobl9kYXRhID0gMDtuX2RhdGEgPCBnZW5fbmJfdXNlcmRhdGE7bl9kYXRhKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgc2F4ID0gZ2VuX3htbFNBWEhhbmRsZXJQdHIobl9zYXgsIDApOworICAgICAgICBmaWxlbmFtZSA9IGdlbl9maWxlcGF0aChuX2ZpbGVuYW1lLCAxKTsKKyAgICAgICAgcmVjb3ZlcnkgPSBnZW5faW50KG5fcmVjb3ZlcnksIDIpOworICAgICAgICBkYXRhID0gZ2VuX3VzZXJkYXRhKG5fZGF0YSwgMyk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFNBWFBhcnNlRmlsZVdpdGhEYXRhKHNheCwgZmlsZW5hbWUsIHJlY292ZXJ5LCBkYXRhKTsKKyAgICAgICAgZGVzcmV0X3htbERvY1B0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sU0FYSGFuZGxlclB0cihuX3NheCwgc2F4LCAwKTsKKyAgICAgICAgZGVzX2ZpbGVwYXRoKG5fZmlsZW5hbWUsIGZpbGVuYW1lLCAxKTsKKyAgICAgICAgZGVzX2ludChuX3JlY292ZXJ5LCByZWNvdmVyeSwgMik7CisgICAgICAgIGRlc191c2VyZGF0YShuX2RhdGEsIGRhdGEsIDMpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sU0FYUGFyc2VGaWxlV2l0aERhdGEiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fc2F4KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9maWxlbmFtZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fcmVjb3ZlcnkpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2RhdGEpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFNBWFBhcnNlTWVtb3J5KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfU0FYMV9FTkFCTEVEKQorI2lmZGVmIExJQlhNTF9TQVgxX0VOQUJMRUQKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sRG9jUHRyIHJldF92YWw7CisgICAgeG1sU0FYSGFuZGxlclB0ciBzYXg7IC8qIHRoZSBTQVggaGFuZGxlciBibG9jayAqLworICAgIGludCBuX3NheDsKKyAgICBjaGFyICogYnVmZmVyOyAvKiBhbiBwb2ludGVyIHRvIGEgY2hhciBhcnJheSAqLworICAgIGludCBuX2J1ZmZlcjsKKyAgICBpbnQgc2l6ZTsgLyogdGhlIHNpemUgb2YgdGhlIGFycmF5ICovCisgICAgaW50IG5fc2l6ZTsKKyAgICBpbnQgcmVjb3Zlcnk7IC8qIHdvcmsgaW4gcmVjb3ZlcnkgbW9kZSwgaS5lLiB0cmllcyB0byByZWFkIG5vdCBXZWxsIEZvcm1lZCBkb2N1bWVudHMgKi8KKyAgICBpbnQgbl9yZWNvdmVyeTsKKworICAgIGZvciAobl9zYXggPSAwO25fc2F4IDwgZ2VuX25iX3htbFNBWEhhbmRsZXJQdHI7bl9zYXgrKykgeworICAgIGZvciAobl9idWZmZXIgPSAwO25fYnVmZmVyIDwgZ2VuX25iX2NvbnN0X2NoYXJfcHRyO25fYnVmZmVyKyspIHsKKyAgICBmb3IgKG5fc2l6ZSA9IDA7bl9zaXplIDwgZ2VuX25iX2ludDtuX3NpemUrKykgeworICAgIGZvciAobl9yZWNvdmVyeSA9IDA7bl9yZWNvdmVyeSA8IGdlbl9uYl9pbnQ7bl9yZWNvdmVyeSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHNheCA9IGdlbl94bWxTQVhIYW5kbGVyUHRyKG5fc2F4LCAwKTsKKyAgICAgICAgYnVmZmVyID0gZ2VuX2NvbnN0X2NoYXJfcHRyKG5fYnVmZmVyLCAxKTsKKyAgICAgICAgc2l6ZSA9IGdlbl9pbnQobl9zaXplLCAyKTsKKyAgICAgICAgcmVjb3ZlcnkgPSBnZW5faW50KG5fcmVjb3ZlcnksIDMpOworCisgICAgICAgIHJldF92YWwgPSB4bWxTQVhQYXJzZU1lbW9yeShzYXgsIChjb25zdCBjaGFyICopYnVmZmVyLCBzaXplLCByZWNvdmVyeSk7CisgICAgICAgIGRlc3JldF94bWxEb2NQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFNBWEhhbmRsZXJQdHIobl9zYXgsIHNheCwgMCk7CisgICAgICAgIGRlc19jb25zdF9jaGFyX3B0cihuX2J1ZmZlciwgKGNvbnN0IGNoYXIgKilidWZmZXIsIDEpOworICAgICAgICBkZXNfaW50KG5fc2l6ZSwgc2l6ZSwgMik7CisgICAgICAgIGRlc19pbnQobl9yZWNvdmVyeSwgcmVjb3ZlcnksIDMpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sU0FYUGFyc2VNZW1vcnkiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fc2F4KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9idWZmZXIpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3NpemUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3JlY292ZXJ5KTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxTQVhQYXJzZU1lbW9yeVdpdGhEYXRhKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfU0FYMV9FTkFCTEVEKQorI2lmZGVmIExJQlhNTF9TQVgxX0VOQUJMRUQKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sRG9jUHRyIHJldF92YWw7CisgICAgeG1sU0FYSGFuZGxlclB0ciBzYXg7IC8qIHRoZSBTQVggaGFuZGxlciBibG9jayAqLworICAgIGludCBuX3NheDsKKyAgICBjaGFyICogYnVmZmVyOyAvKiBhbiBwb2ludGVyIHRvIGEgY2hhciBhcnJheSAqLworICAgIGludCBuX2J1ZmZlcjsKKyAgICBpbnQgc2l6ZTsgLyogdGhlIHNpemUgb2YgdGhlIGFycmF5ICovCisgICAgaW50IG5fc2l6ZTsKKyAgICBpbnQgcmVjb3Zlcnk7IC8qIHdvcmsgaW4gcmVjb3ZlcnkgbW9kZSwgaS5lLiB0cmllcyB0byByZWFkIG5vIFdlbGwgRm9ybWVkIGRvY3VtZW50cyAqLworICAgIGludCBuX3JlY292ZXJ5OworICAgIHZvaWQgKiBkYXRhOyAvKiB0aGUgdXNlcmRhdGEgKi8KKyAgICBpbnQgbl9kYXRhOworCisgICAgZm9yIChuX3NheCA9IDA7bl9zYXggPCBnZW5fbmJfeG1sU0FYSGFuZGxlclB0cjtuX3NheCsrKSB7CisgICAgZm9yIChuX2J1ZmZlciA9IDA7bl9idWZmZXIgPCBnZW5fbmJfY29uc3RfY2hhcl9wdHI7bl9idWZmZXIrKykgeworICAgIGZvciAobl9zaXplID0gMDtuX3NpemUgPCBnZW5fbmJfaW50O25fc2l6ZSsrKSB7CisgICAgZm9yIChuX3JlY292ZXJ5ID0gMDtuX3JlY292ZXJ5IDwgZ2VuX25iX2ludDtuX3JlY292ZXJ5KyspIHsKKyAgICBmb3IgKG5fZGF0YSA9IDA7bl9kYXRhIDwgZ2VuX25iX3VzZXJkYXRhO25fZGF0YSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHNheCA9IGdlbl94bWxTQVhIYW5kbGVyUHRyKG5fc2F4LCAwKTsKKyAgICAgICAgYnVmZmVyID0gZ2VuX2NvbnN0X2NoYXJfcHRyKG5fYnVmZmVyLCAxKTsKKyAgICAgICAgc2l6ZSA9IGdlbl9pbnQobl9zaXplLCAyKTsKKyAgICAgICAgcmVjb3ZlcnkgPSBnZW5faW50KG5fcmVjb3ZlcnksIDMpOworICAgICAgICBkYXRhID0gZ2VuX3VzZXJkYXRhKG5fZGF0YSwgNCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFNBWFBhcnNlTWVtb3J5V2l0aERhdGEoc2F4LCAoY29uc3QgY2hhciAqKWJ1ZmZlciwgc2l6ZSwgcmVjb3ZlcnksIGRhdGEpOworICAgICAgICBkZXNyZXRfeG1sRG9jUHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxTQVhIYW5kbGVyUHRyKG5fc2F4LCBzYXgsIDApOworICAgICAgICBkZXNfY29uc3RfY2hhcl9wdHIobl9idWZmZXIsIChjb25zdCBjaGFyICopYnVmZmVyLCAxKTsKKyAgICAgICAgZGVzX2ludChuX3NpemUsIHNpemUsIDIpOworICAgICAgICBkZXNfaW50KG5fcmVjb3ZlcnksIHJlY292ZXJ5LCAzKTsKKyAgICAgICAgZGVzX3VzZXJkYXRhKG5fZGF0YSwgZGF0YSwgNCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxTQVhQYXJzZU1lbW9yeVdpdGhEYXRhIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3NheCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fYnVmZmVyKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9zaXplKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9yZWNvdmVyeSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZGF0YSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFNBWFVzZXJQYXJzZUZpbGUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9TQVgxX0VOQUJMRUQpCisjaWZkZWYgTElCWE1MX1NBWDFfRU5BQkxFRAorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxTQVhIYW5kbGVyUHRyIHNheDsgLyogYSBTQVggaGFuZGxlciAqLworICAgIGludCBuX3NheDsKKyAgICB2b2lkICogdXNlcl9kYXRhOyAvKiBUaGUgdXNlciBkYXRhIHJldHVybmVkIG9uIFNBWCBjYWxsYmFja3MgKi8KKyAgICBpbnQgbl91c2VyX2RhdGE7CisgICAgY29uc3QgY2hhciAqIGZpbGVuYW1lOyAvKiBhIGZpbGUgbmFtZSAqLworICAgIGludCBuX2ZpbGVuYW1lOworCisgICAgZm9yIChuX3NheCA9IDA7bl9zYXggPCBnZW5fbmJfeG1sU0FYSGFuZGxlclB0cjtuX3NheCsrKSB7CisgICAgZm9yIChuX3VzZXJfZGF0YSA9IDA7bl91c2VyX2RhdGEgPCBnZW5fbmJfdXNlcmRhdGE7bl91c2VyX2RhdGErKykgeworICAgIGZvciAobl9maWxlbmFtZSA9IDA7bl9maWxlbmFtZSA8IGdlbl9uYl9maWxlcGF0aDtuX2ZpbGVuYW1lKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgc2F4ID0gZ2VuX3htbFNBWEhhbmRsZXJQdHIobl9zYXgsIDApOworICAgICAgICB1c2VyX2RhdGEgPSBnZW5fdXNlcmRhdGEobl91c2VyX2RhdGEsIDEpOworICAgICAgICBmaWxlbmFtZSA9IGdlbl9maWxlcGF0aChuX2ZpbGVuYW1lLCAyKTsKKyAgICAgICAgCisjaWZkZWYgTElCWE1MX1NBWDFfRU5BQkxFRAorICAgICAgICBpZiAoc2F4ID09ICh4bWxTQVhIYW5kbGVyUHRyKSZ4bWxEZWZhdWx0U0FYSGFuZGxlcikgdXNlcl9kYXRhID0gTlVMTDsKKyNlbmRpZgorCisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFNBWFVzZXJQYXJzZUZpbGUoc2F4LCB1c2VyX2RhdGEsIGZpbGVuYW1lKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sU0FYSGFuZGxlclB0cihuX3NheCwgc2F4LCAwKTsKKyAgICAgICAgZGVzX3VzZXJkYXRhKG5fdXNlcl9kYXRhLCB1c2VyX2RhdGEsIDEpOworICAgICAgICBkZXNfZmlsZXBhdGgobl9maWxlbmFtZSwgZmlsZW5hbWUsIDIpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sU0FYVXNlclBhcnNlRmlsZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9zYXgpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3VzZXJfZGF0YSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZmlsZW5hbWUpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sU0FYVXNlclBhcnNlTWVtb3J5KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfU0FYMV9FTkFCTEVEKQorI2lmZGVmIExJQlhNTF9TQVgxX0VOQUJMRUQKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sU0FYSGFuZGxlclB0ciBzYXg7IC8qIGEgU0FYIGhhbmRsZXIgKi8KKyAgICBpbnQgbl9zYXg7CisgICAgdm9pZCAqIHVzZXJfZGF0YTsgLyogVGhlIHVzZXIgZGF0YSByZXR1cm5lZCBvbiBTQVggY2FsbGJhY2tzICovCisgICAgaW50IG5fdXNlcl9kYXRhOworICAgIGNoYXIgKiBidWZmZXI7IC8qIGFuIGluLW1lbW9yeSBYTUwgZG9jdW1lbnQgaW5wdXQgKi8KKyAgICBpbnQgbl9idWZmZXI7CisgICAgaW50IHNpemU7IC8qIHRoZSBsZW5ndGggb2YgdGhlIFhNTCBkb2N1bWVudCBpbiBieXRlcyAqLworICAgIGludCBuX3NpemU7CisKKyAgICBmb3IgKG5fc2F4ID0gMDtuX3NheCA8IGdlbl9uYl94bWxTQVhIYW5kbGVyUHRyO25fc2F4KyspIHsKKyAgICBmb3IgKG5fdXNlcl9kYXRhID0gMDtuX3VzZXJfZGF0YSA8IGdlbl9uYl91c2VyZGF0YTtuX3VzZXJfZGF0YSsrKSB7CisgICAgZm9yIChuX2J1ZmZlciA9IDA7bl9idWZmZXIgPCBnZW5fbmJfY29uc3RfY2hhcl9wdHI7bl9idWZmZXIrKykgeworICAgIGZvciAobl9zaXplID0gMDtuX3NpemUgPCBnZW5fbmJfaW50O25fc2l6ZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHNheCA9IGdlbl94bWxTQVhIYW5kbGVyUHRyKG5fc2F4LCAwKTsKKyAgICAgICAgdXNlcl9kYXRhID0gZ2VuX3VzZXJkYXRhKG5fdXNlcl9kYXRhLCAxKTsKKyAgICAgICAgYnVmZmVyID0gZ2VuX2NvbnN0X2NoYXJfcHRyKG5fYnVmZmVyLCAyKTsKKyAgICAgICAgc2l6ZSA9IGdlbl9pbnQobl9zaXplLCAzKTsKKyAgICAgICAgCisjaWZkZWYgTElCWE1MX1NBWDFfRU5BQkxFRAorICAgICAgICBpZiAoc2F4ID09ICh4bWxTQVhIYW5kbGVyUHRyKSZ4bWxEZWZhdWx0U0FYSGFuZGxlcikgdXNlcl9kYXRhID0gTlVMTDsKKyNlbmRpZgorCisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFNBWFVzZXJQYXJzZU1lbW9yeShzYXgsIHVzZXJfZGF0YSwgKGNvbnN0IGNoYXIgKilidWZmZXIsIHNpemUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxTQVhIYW5kbGVyUHRyKG5fc2F4LCBzYXgsIDApOworICAgICAgICBkZXNfdXNlcmRhdGEobl91c2VyX2RhdGEsIHVzZXJfZGF0YSwgMSk7CisgICAgICAgIGRlc19jb25zdF9jaGFyX3B0cihuX2J1ZmZlciwgKGNvbnN0IGNoYXIgKilidWZmZXIsIDIpOworICAgICAgICBkZXNfaW50KG5fc2l6ZSwgc2l6ZSwgMyk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxTQVhVc2VyUGFyc2VNZW1vcnkiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fc2F4KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl91c2VyX2RhdGEpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2J1ZmZlcik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fc2l6ZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sU2V0RXh0ZXJuYWxFbnRpdHlMb2FkZXIodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworICAgIC8qIG1pc3NpbmcgdHlwZSBzdXBwb3J0ICovCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFNldEZlYXR1cmUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9MRUdBQ1lfRU5BQkxFRCkKKyNpZmRlZiBMSUJYTUxfTEVHQUNZX0VOQUJMRUQKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sUGFyc2VyQ3R4dFB0ciBjdHh0OyAvKiBhbiBYTUwvSFRNTCBwYXJzZXIgY29udGV4dCAqLworICAgIGludCBuX2N0eHQ7CisgICAgY2hhciAqIG5hbWU7IC8qIHRoZSBmZWF0dXJlIG5hbWUgKi8KKyAgICBpbnQgbl9uYW1lOworICAgIHZvaWQgKiB2YWx1ZTsgLyogcG9pbnRlciB0byB0aGUgbG9jYXRpb24gb2YgdGhlIG5ldyB2YWx1ZSAqLworICAgIGludCBuX3ZhbHVlOworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxQYXJzZXJDdHh0UHRyO25fY3R4dCsrKSB7CisgICAgZm9yIChuX25hbWUgPSAwO25fbmFtZSA8IGdlbl9uYl9jb25zdF9jaGFyX3B0cjtuX25hbWUrKykgeworICAgIGZvciAobl92YWx1ZSA9IDA7bl92YWx1ZSA8IGdlbl9uYl92b2lkX3B0cjtuX3ZhbHVlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4dCA9IGdlbl94bWxQYXJzZXJDdHh0UHRyKG5fY3R4dCwgMCk7CisgICAgICAgIG5hbWUgPSBnZW5fY29uc3RfY2hhcl9wdHIobl9uYW1lLCAxKTsKKyAgICAgICAgdmFsdWUgPSBnZW5fdm9pZF9wdHIobl92YWx1ZSwgMik7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFNldEZlYXR1cmUoY3R4dCwgKGNvbnN0IGNoYXIgKiluYW1lLCB2YWx1ZSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFBhcnNlckN0eHRQdHIobl9jdHh0LCBjdHh0LCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X2NoYXJfcHRyKG5fbmFtZSwgKGNvbnN0IGNoYXIgKiluYW1lLCAxKTsKKyAgICAgICAgZGVzX3ZvaWRfcHRyKG5fdmFsdWUsIHZhbHVlLCAyKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFNldEZlYXR1cmUiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFtZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdmFsdWUpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sU2V0dXBQYXJzZXJGb3JCdWZmZXIodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9TQVgxX0VOQUJMRUQpCisjaWZkZWYgTElCWE1MX1NBWDFfRU5BQkxFRAorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxQYXJzZXJDdHh0UHRyIGN0eHQ7IC8qIGFuIFhNTCBwYXJzZXIgY29udGV4dCAqLworICAgIGludCBuX2N0eHQ7CisgICAgeG1sQ2hhciAqIGJ1ZmZlcjsgLyogYSB4bWxDaGFyICogYnVmZmVyICovCisgICAgaW50IG5fYnVmZmVyOworICAgIGNvbnN0IGNoYXIgKiBmaWxlbmFtZTsgLyogYSBmaWxlIG5hbWUgKi8KKyAgICBpbnQgbl9maWxlbmFtZTsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfeG1sUGFyc2VyQ3R4dFB0cjtuX2N0eHQrKykgeworICAgIGZvciAobl9idWZmZXIgPSAwO25fYnVmZmVyIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fYnVmZmVyKyspIHsKKyAgICBmb3IgKG5fZmlsZW5hbWUgPSAwO25fZmlsZW5hbWUgPCBnZW5fbmJfZmlsZXBhdGg7bl9maWxlbmFtZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eHQgPSBnZW5feG1sUGFyc2VyQ3R4dFB0cihuX2N0eHQsIDApOworICAgICAgICBidWZmZXIgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9idWZmZXIsIDEpOworICAgICAgICBmaWxlbmFtZSA9IGdlbl9maWxlcGF0aChuX2ZpbGVuYW1lLCAyKTsKKworICAgICAgICB4bWxTZXR1cFBhcnNlckZvckJ1ZmZlcihjdHh0LCAoY29uc3QgeG1sQ2hhciAqKWJ1ZmZlciwgZmlsZW5hbWUpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxQYXJzZXJDdHh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX2J1ZmZlciwgKGNvbnN0IHhtbENoYXIgKilidWZmZXIsIDEpOworICAgICAgICBkZXNfZmlsZXBhdGgobl9maWxlbmFtZSwgZmlsZW5hbWUsIDIpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sU2V0dXBQYXJzZXJGb3JCdWZmZXIiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fYnVmZmVyKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9maWxlbmFtZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxTdG9wUGFyc2VyKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWZkZWYgTElCWE1MX1BVU0hfRU5BQkxFRAorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxQYXJzZXJDdHh0UHRyIGN0eHQ7IC8qIGFuIFhNTCBwYXJzZXIgY29udGV4dCAqLworICAgIGludCBuX2N0eHQ7CisKKyAgICBmb3IgKG5fY3R4dCA9IDA7bl9jdHh0IDwgZ2VuX25iX3htbFBhcnNlckN0eHRQdHI7bl9jdHh0KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4dCA9IGdlbl94bWxQYXJzZXJDdHh0UHRyKG5fY3R4dCwgMCk7CisKKyAgICAgICAgeG1sU3RvcFBhcnNlcihjdHh0KTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sUGFyc2VyQ3R4dFB0cihuX2N0eHQsIGN0eHQsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sU3RvcFBhcnNlciIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHh0KTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICBpbnQgdmFsOyAvKiBpbnQgMCBvciAxICovCisgICAgaW50IG5fdmFsOworCisgICAgZm9yIChuX3ZhbCA9IDA7bl92YWwgPCBnZW5fbmJfaW50O25fdmFsKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgdmFsID0gZ2VuX2ludChuX3ZhbCwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHQodmFsKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfaW50KG5fdmFsLCB2YWwsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl92YWwpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCitzdGF0aWMgaW50Cit0ZXN0X3BhcnNlcih2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGlmIChxdWlldCA9PSAwKSBwcmludGYoIlRlc3RpbmcgcGFyc2VyIDogNjEgb2YgNzAgZnVuY3Rpb25zIC4uLlxuIik7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxCeXRlQ29uc3VtZWQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbENsZWFyTm9kZUluZm9TZXEoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbENsZWFyUGFyc2VyQ3R4dCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sQ3JlYXRlRG9jUGFyc2VyQ3R4dCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbEN0eHRSZWFkRG9jKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxDdHh0UmVhZEZpbGUoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbEN0eHRSZWFkTWVtb3J5KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxDdHh0UmVzZXQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbEN0eHRSZXNldFB1c2goKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbEN0eHRVc2VPcHRpb25zKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxHZXRFeHRlcm5hbEVudGl0eUxvYWRlcigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sR2V0RmVhdHVyZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sR2V0RmVhdHVyZXNMaXN0KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxIYXNGZWF0dXJlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxJT1BhcnNlRFREKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxJbml0Tm9kZUluZm9TZXEoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbEluaXRQYXJzZXIoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbEluaXRQYXJzZXJDdHh0KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxLZWVwQmxhbmtzRGVmYXVsdCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sTGluZU51bWJlcnNEZWZhdWx0KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxMb2FkRXh0ZXJuYWxFbnRpdHkoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbE5ld0lPSW5wdXRTdHJlYW0oKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbE5ld1BhcnNlckN0eHQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5UmVjb3ZlcigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sUGFyc2VDaHVuaygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sUGFyc2VDdHh0RXh0ZXJuYWxFbnRpdHkoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFBhcnNlRFREKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxQYXJzZURvYygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sUGFyc2VEb2N1bWVudCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sUGFyc2VFbnRpdHkoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFBhcnNlRXh0UGFyc2VkRW50KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxQYXJzZUV4dGVybmFsRW50aXR5KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxQYXJzZUZpbGUoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFBhcnNlSW5Ob2RlQ29udGV4dCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sUGFyc2VNZW1vcnkoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFBhcnNlckFkZE5vZGVJbmZvKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxQYXJzZXJGaW5kTm9kZUluZm8oKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFBhcnNlckZpbmROb2RlSW5mb0luZGV4KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxQYXJzZXJJbnB1dEdyb3coKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFBhcnNlcklucHV0UmVhZCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sUGVkYW50aWNQYXJzZXJEZWZhdWx0KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxSZWFkRG9jKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxSZWFkRmlsZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sUmVhZE1lbW9yeSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sUmVjb3ZlckRvYygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sUmVjb3ZlckZpbGUoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFJlY292ZXJNZW1vcnkoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFNBWFBhcnNlRFREKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxTQVhQYXJzZURvYygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU0FYUGFyc2VFbnRpdHkoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFNBWFBhcnNlRmlsZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU0FYUGFyc2VGaWxlV2l0aERhdGEoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFNBWFBhcnNlTWVtb3J5KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxTQVhQYXJzZU1lbW9yeVdpdGhEYXRhKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxTQVhVc2VyUGFyc2VGaWxlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxTQVhVc2VyUGFyc2VNZW1vcnkoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFNldEV4dGVybmFsRW50aXR5TG9hZGVyKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxTZXRGZWF0dXJlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxTZXR1cFBhcnNlckZvckJ1ZmZlcigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU3RvcFBhcnNlcigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdCgpOworCisgICAgaWYgKHRlc3RfcmV0ICE9IDApCisJcHJpbnRmKCJNb2R1bGUgcGFyc2VyOiAlZCBlcnJvcnNcbiIsIHRlc3RfcmV0KTsKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCitzdGF0aWMgaW50Cit0ZXN0X2h0bWxDcmVhdGVGaWxlUGFyc2VyQ3R4dCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX0hUTUxfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaHRtbFBhcnNlckN0eHRQdHIgcmV0X3ZhbDsKKyAgICBjb25zdCBjaGFyICogZmlsZW5hbWU7IC8qIHRoZSBmaWxlbmFtZSAqLworICAgIGludCBuX2ZpbGVuYW1lOworICAgIGNoYXIgKiBlbmNvZGluZzsgLyogYSBmcmVlIGZvcm0gQyBzdHJpbmcgZGVzY3JpYmluZyB0aGUgSFRNTCBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTCAqLworICAgIGludCBuX2VuY29kaW5nOworCisgICAgZm9yIChuX2ZpbGVuYW1lID0gMDtuX2ZpbGVuYW1lIDwgZ2VuX25iX2ZpbGVvdXRwdXQ7bl9maWxlbmFtZSsrKSB7CisgICAgZm9yIChuX2VuY29kaW5nID0gMDtuX2VuY29kaW5nIDwgZ2VuX25iX2NvbnN0X2NoYXJfcHRyO25fZW5jb2RpbmcrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBmaWxlbmFtZSA9IGdlbl9maWxlb3V0cHV0KG5fZmlsZW5hbWUsIDApOworICAgICAgICBlbmNvZGluZyA9IGdlbl9jb25zdF9jaGFyX3B0cihuX2VuY29kaW5nLCAxKTsKKworICAgICAgICByZXRfdmFsID0gaHRtbENyZWF0ZUZpbGVQYXJzZXJDdHh0KGZpbGVuYW1lLCAoY29uc3QgY2hhciAqKWVuY29kaW5nKTsKKyAgICAgICAgZGVzcmV0X2h0bWxQYXJzZXJDdHh0UHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19maWxlb3V0cHV0KG5fZmlsZW5hbWUsIGZpbGVuYW1lLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X2NoYXJfcHRyKG5fZW5jb2RpbmcsIChjb25zdCBjaGFyICopZW5jb2RpbmcsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4gaHRtbENyZWF0ZUZpbGVQYXJzZXJDdHh0IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2ZpbGVuYW1lKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9lbmNvZGluZyk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF9odG1sSW5pdEF1dG9DbG9zZSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX0hUTUxfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKworICAgICAgICBodG1sSW5pdEF1dG9DbG9zZSgpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiBodG1sSW5pdEF1dG9DbG9zZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF9pbnB1dFBvcCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxQYXJzZXJJbnB1dFB0ciByZXRfdmFsOworICAgIHhtbFBhcnNlckN0eHRQdHIgY3R4dDsgLyogYW4gWE1MIHBhcnNlciBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfeG1sUGFyc2VyQ3R4dFB0cjtuX2N0eHQrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX3htbFBhcnNlckN0eHRQdHIobl9jdHh0LCAwKTsKKworICAgICAgICByZXRfdmFsID0gaW5wdXRQb3AoY3R4dCk7CisgICAgICAgIGRlc3JldF94bWxQYXJzZXJJbnB1dFB0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sUGFyc2VyQ3R4dFB0cihuX2N0eHQsIGN0eHQsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4gaW5wdXRQb3AiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF9pbnB1dFB1c2godm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sUGFyc2VyQ3R4dFB0ciBjdHh0OyAvKiBhbiBYTUwgcGFyc2VyIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHh0OworICAgIHhtbFBhcnNlcklucHV0UHRyIHZhbHVlOyAvKiB0aGUgcGFyc2VyIGlucHV0ICovCisgICAgaW50IG5fdmFsdWU7CisKKyAgICBmb3IgKG5fY3R4dCA9IDA7bl9jdHh0IDwgZ2VuX25iX3htbFBhcnNlckN0eHRQdHI7bl9jdHh0KyspIHsKKyAgICBmb3IgKG5fdmFsdWUgPSAwO25fdmFsdWUgPCBnZW5fbmJfeG1sUGFyc2VySW5wdXRQdHI7bl92YWx1ZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eHQgPSBnZW5feG1sUGFyc2VyQ3R4dFB0cihuX2N0eHQsIDApOworICAgICAgICB2YWx1ZSA9IGdlbl94bWxQYXJzZXJJbnB1dFB0cihuX3ZhbHVlLCAxKTsKKworICAgICAgICByZXRfdmFsID0gaW5wdXRQdXNoKGN0eHQsIHZhbHVlKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sUGFyc2VyQ3R4dFB0cihuX2N0eHQsIGN0eHQsIDApOworICAgICAgICBkZXNfeG1sUGFyc2VySW5wdXRQdHIobl92YWx1ZSwgdmFsdWUsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4gaW5wdXRQdXNoIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3ZhbHVlKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF9uYW1lUG9wKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIGNvbnN0IHhtbENoYXIgKiByZXRfdmFsOworICAgIHhtbFBhcnNlckN0eHRQdHIgY3R4dDsgLyogYW4gWE1MIHBhcnNlciBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfeG1sUGFyc2VyQ3R4dFB0cjtuX2N0eHQrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX3htbFBhcnNlckN0eHRQdHIobl9jdHh0LCAwKTsKKworICAgICAgICByZXRfdmFsID0gbmFtZVBvcChjdHh0KTsKKyAgICAgICAgZGVzcmV0X2NvbnN0X3htbENoYXJfcHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxQYXJzZXJDdHh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiBuYW1lUG9wIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfbmFtZVB1c2godm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sUGFyc2VyQ3R4dFB0ciBjdHh0OyAvKiBhbiBYTUwgcGFyc2VyIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHh0OworICAgIHhtbENoYXIgKiB2YWx1ZTsgLyogdGhlIGVsZW1lbnQgbmFtZSAqLworICAgIGludCBuX3ZhbHVlOworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxQYXJzZXJDdHh0UHRyO25fY3R4dCsrKSB7CisgICAgZm9yIChuX3ZhbHVlID0gMDtuX3ZhbHVlIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fdmFsdWUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX3htbFBhcnNlckN0eHRQdHIobl9jdHh0LCAwKTsKKyAgICAgICAgdmFsdWUgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl92YWx1ZSwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IG5hbWVQdXNoKGN0eHQsIChjb25zdCB4bWxDaGFyICopdmFsdWUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxQYXJzZXJDdHh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX3ZhbHVlLCAoY29uc3QgeG1sQ2hhciAqKXZhbHVlLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIG5hbWVQdXNoIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3ZhbHVlKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF9ub2RlUG9wKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbE5vZGVQdHIgcmV0X3ZhbDsKKyAgICB4bWxQYXJzZXJDdHh0UHRyIGN0eHQ7IC8qIGFuIFhNTCBwYXJzZXIgY29udGV4dCAqLworICAgIGludCBuX2N0eHQ7CisKKyAgICBmb3IgKG5fY3R4dCA9IDA7bl9jdHh0IDwgZ2VuX25iX3htbFBhcnNlckN0eHRQdHI7bl9jdHh0KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4dCA9IGdlbl94bWxQYXJzZXJDdHh0UHRyKG5fY3R4dCwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IG5vZGVQb3AoY3R4dCk7CisgICAgICAgIGRlc3JldF94bWxOb2RlUHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxQYXJzZXJDdHh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiBub2RlUG9wIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3Rfbm9kZVB1c2godm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sUGFyc2VyQ3R4dFB0ciBjdHh0OyAvKiBhbiBYTUwgcGFyc2VyIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHh0OworICAgIHhtbE5vZGVQdHIgdmFsdWU7IC8qIHRoZSBlbGVtZW50IG5vZGUgKi8KKyAgICBpbnQgbl92YWx1ZTsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfeG1sUGFyc2VyQ3R4dFB0cjtuX2N0eHQrKykgeworICAgIGZvciAobl92YWx1ZSA9IDA7bl92YWx1ZSA8IGdlbl9uYl94bWxOb2RlUHRyO25fdmFsdWUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX3htbFBhcnNlckN0eHRQdHIobl9jdHh0LCAwKTsKKyAgICAgICAgdmFsdWUgPSBnZW5feG1sTm9kZVB0cihuX3ZhbHVlLCAxKTsKKworICAgICAgICByZXRfdmFsID0gbm9kZVB1c2goY3R4dCwgdmFsdWUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxQYXJzZXJDdHh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIGRlc194bWxOb2RlUHRyKG5fdmFsdWUsIHZhbHVlLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIG5vZGVQdXNoIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3ZhbHVlKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxDaGVja0xhbmd1YWdlSUQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sQ2hhciAqIGxhbmc7IC8qIHBvaW50ZXIgdG8gdGhlIHN0cmluZyB2YWx1ZSAqLworICAgIGludCBuX2xhbmc7CisKKyAgICBmb3IgKG5fbGFuZyA9IDA7bl9sYW5nIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fbGFuZysrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGxhbmcgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9sYW5nLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sQ2hlY2tMYW5ndWFnZUlEKChjb25zdCB4bWxDaGFyICopbGFuZyk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fbGFuZywgKGNvbnN0IHhtbENoYXIgKilsYW5nLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbENoZWNrTGFuZ3VhZ2VJRCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9sYW5nKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbENvcHlDaGFyKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBsZW47IC8qIElnbm9yZWQsIGNvbXBhdGliaWxpdHkgKi8KKyAgICBpbnQgbl9sZW47CisgICAgeG1sQ2hhciAqIG91dDsgLyogcG9pbnRlciB0byBhbiBhcnJheSBvZiB4bWxDaGFyICovCisgICAgaW50IG5fb3V0OworICAgIGludCB2YWw7IC8qIHRoZSBjaGFyIHZhbHVlICovCisgICAgaW50IG5fdmFsOworCisgICAgZm9yIChuX2xlbiA9IDA7bl9sZW4gPCBnZW5fbmJfaW50O25fbGVuKyspIHsKKyAgICBmb3IgKG5fb3V0ID0gMDtuX291dCA8IGdlbl9uYl94bWxDaGFyX3B0cjtuX291dCsrKSB7CisgICAgZm9yIChuX3ZhbCA9IDA7bl92YWwgPCBnZW5fbmJfaW50O25fdmFsKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgbGVuID0gZ2VuX2ludChuX2xlbiwgMCk7CisgICAgICAgIG91dCA9IGdlbl94bWxDaGFyX3B0cihuX291dCwgMSk7CisgICAgICAgIHZhbCA9IGdlbl9pbnQobl92YWwsIDIpOworCisgICAgICAgIHJldF92YWwgPSB4bWxDb3B5Q2hhcihsZW4sIG91dCwgdmFsKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfaW50KG5fbGVuLCBsZW4sIDApOworICAgICAgICBkZXNfeG1sQ2hhcl9wdHIobl9vdXQsIG91dCwgMSk7CisgICAgICAgIGRlc19pbnQobl92YWwsIHZhbCwgMik7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxDb3B5Q2hhciIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9sZW4pOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX291dCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdmFsKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sQ29weUNoYXJNdWx0aUJ5dGUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sQ2hhciAqIG91dDsgLyogcG9pbnRlciB0byBhbiBhcnJheSBvZiB4bWxDaGFyICovCisgICAgaW50IG5fb3V0OworICAgIGludCB2YWw7IC8qIHRoZSBjaGFyIHZhbHVlICovCisgICAgaW50IG5fdmFsOworCisgICAgZm9yIChuX291dCA9IDA7bl9vdXQgPCBnZW5fbmJfeG1sQ2hhcl9wdHI7bl9vdXQrKykgeworICAgIGZvciAobl92YWwgPSAwO25fdmFsIDwgZ2VuX25iX2ludDtuX3ZhbCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIG91dCA9IGdlbl94bWxDaGFyX3B0cihuX291dCwgMCk7CisgICAgICAgIHZhbCA9IGdlbl9pbnQobl92YWwsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxDb3B5Q2hhck11bHRpQnl0ZShvdXQsIHZhbCk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbENoYXJfcHRyKG5fb3V0LCBvdXQsIDApOworICAgICAgICBkZXNfaW50KG5fdmFsLCB2YWwsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sQ29weUNoYXJNdWx0aUJ5dGUiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fb3V0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl92YWwpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbENyZWF0ZUVudGl0eVBhcnNlckN0eHQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sUGFyc2VyQ3R4dFB0ciByZXRfdmFsOworICAgIHhtbENoYXIgKiBVUkw7IC8qIHRoZSBlbnRpdHkgVVJMICovCisgICAgaW50IG5fVVJMOworICAgIHhtbENoYXIgKiBJRDsgLyogdGhlIGVudGl0eSBQVUJMSUMgSUQgKi8KKyAgICBpbnQgbl9JRDsKKyAgICB4bWxDaGFyICogYmFzZTsgLyogYSBwb3NzaWJsZSBiYXNlIGZvciB0aGUgdGFyZ2V0IFVSSSAqLworICAgIGludCBuX2Jhc2U7CisKKyAgICBmb3IgKG5fVVJMID0gMDtuX1VSTCA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX1VSTCsrKSB7CisgICAgZm9yIChuX0lEID0gMDtuX0lEIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fSUQrKykgeworICAgIGZvciAobl9iYXNlID0gMDtuX2Jhc2UgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9iYXNlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgVVJMID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fVVJMLCAwKTsKKyAgICAgICAgSUQgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9JRCwgMSk7CisgICAgICAgIGJhc2UgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9iYXNlLCAyKTsKKworICAgICAgICByZXRfdmFsID0geG1sQ3JlYXRlRW50aXR5UGFyc2VyQ3R4dCgoY29uc3QgeG1sQ2hhciAqKVVSTCwgKGNvbnN0IHhtbENoYXIgKilJRCwgKGNvbnN0IHhtbENoYXIgKiliYXNlKTsKKyAgICAgICAgZGVzcmV0X3htbFBhcnNlckN0eHRQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fVVJMLCAoY29uc3QgeG1sQ2hhciAqKVVSTCwgMCk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX0lELCAoY29uc3QgeG1sQ2hhciAqKUlELCAxKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fYmFzZSwgKGNvbnN0IHhtbENoYXIgKiliYXNlLCAyKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbENyZWF0ZUVudGl0eVBhcnNlckN0eHQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fVVJMKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9JRCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fYmFzZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbENyZWF0ZUZpbGVQYXJzZXJDdHh0KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbFBhcnNlckN0eHRQdHIgcmV0X3ZhbDsKKyAgICBjb25zdCBjaGFyICogZmlsZW5hbWU7IC8qIHRoZSBmaWxlbmFtZSAqLworICAgIGludCBuX2ZpbGVuYW1lOworCisgICAgZm9yIChuX2ZpbGVuYW1lID0gMDtuX2ZpbGVuYW1lIDwgZ2VuX25iX2ZpbGVvdXRwdXQ7bl9maWxlbmFtZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGZpbGVuYW1lID0gZ2VuX2ZpbGVvdXRwdXQobl9maWxlbmFtZSwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbENyZWF0ZUZpbGVQYXJzZXJDdHh0KGZpbGVuYW1lKTsKKyAgICAgICAgZGVzcmV0X3htbFBhcnNlckN0eHRQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2ZpbGVvdXRwdXQobl9maWxlbmFtZSwgZmlsZW5hbWUsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sQ3JlYXRlRmlsZVBhcnNlckN0eHQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZmlsZW5hbWUpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sQ3JlYXRlTWVtb3J5UGFyc2VyQ3R4dCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxQYXJzZXJDdHh0UHRyIHJldF92YWw7CisgICAgY2hhciAqIGJ1ZmZlcjsgLyogYSBwb2ludGVyIHRvIGEgY2hhciBhcnJheSAqLworICAgIGludCBuX2J1ZmZlcjsKKyAgICBpbnQgc2l6ZTsgLyogdGhlIHNpemUgb2YgdGhlIGFycmF5ICovCisgICAgaW50IG5fc2l6ZTsKKworICAgIGZvciAobl9idWZmZXIgPSAwO25fYnVmZmVyIDwgZ2VuX25iX2NvbnN0X2NoYXJfcHRyO25fYnVmZmVyKyspIHsKKyAgICBmb3IgKG5fc2l6ZSA9IDA7bl9zaXplIDwgZ2VuX25iX2ludDtuX3NpemUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBidWZmZXIgPSBnZW5fY29uc3RfY2hhcl9wdHIobl9idWZmZXIsIDApOworICAgICAgICBzaXplID0gZ2VuX2ludChuX3NpemUsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxDcmVhdGVNZW1vcnlQYXJzZXJDdHh0KChjb25zdCBjaGFyICopYnVmZmVyLCBzaXplKTsKKyAgICAgICAgZGVzcmV0X3htbFBhcnNlckN0eHRQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2NvbnN0X2NoYXJfcHRyKG5fYnVmZmVyLCAoY29uc3QgY2hhciAqKWJ1ZmZlciwgMCk7CisgICAgICAgIGRlc19pbnQobl9zaXplLCBzaXplLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbENyZWF0ZU1lbW9yeVBhcnNlckN0eHQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fYnVmZmVyKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9zaXplKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxDcmVhdGVVUkxQYXJzZXJDdHh0KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbFBhcnNlckN0eHRQdHIgcmV0X3ZhbDsKKyAgICBjb25zdCBjaGFyICogZmlsZW5hbWU7IC8qIHRoZSBmaWxlbmFtZSBvciBVUkwgKi8KKyAgICBpbnQgbl9maWxlbmFtZTsKKyAgICBpbnQgb3B0aW9uczsgLyogYSBjb21iaW5hdGlvbiBvZiB4bWxQYXJzZXJPcHRpb24gKi8KKyAgICBpbnQgbl9vcHRpb25zOworCisgICAgZm9yIChuX2ZpbGVuYW1lID0gMDtuX2ZpbGVuYW1lIDwgZ2VuX25iX2ZpbGVvdXRwdXQ7bl9maWxlbmFtZSsrKSB7CisgICAgZm9yIChuX29wdGlvbnMgPSAwO25fb3B0aW9ucyA8IGdlbl9uYl9pbnQ7bl9vcHRpb25zKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgZmlsZW5hbWUgPSBnZW5fZmlsZW91dHB1dChuX2ZpbGVuYW1lLCAwKTsKKyAgICAgICAgb3B0aW9ucyA9IGdlbl9pbnQobl9vcHRpb25zLCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sQ3JlYXRlVVJMUGFyc2VyQ3R4dChmaWxlbmFtZSwgb3B0aW9ucyk7CisgICAgICAgIGRlc3JldF94bWxQYXJzZXJDdHh0UHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19maWxlb3V0cHV0KG5fZmlsZW5hbWUsIGZpbGVuYW1lLCAwKTsKKyAgICAgICAgZGVzX2ludChuX29wdGlvbnMsIG9wdGlvbnMsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sQ3JlYXRlVVJMUGFyc2VyQ3R4dCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9maWxlbmFtZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fb3B0aW9ucyk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sQ3VycmVudENoYXIodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sUGFyc2VyQ3R4dFB0ciBjdHh0OyAvKiB0aGUgWE1MIHBhcnNlciBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKyAgICBpbnQgKiBsZW47IC8qIHBvaW50ZXIgdG8gdGhlIGxlbmd0aCBvZiB0aGUgY2hhciByZWFkICovCisgICAgaW50IG5fbGVuOworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxQYXJzZXJDdHh0UHRyO25fY3R4dCsrKSB7CisgICAgZm9yIChuX2xlbiA9IDA7bl9sZW4gPCBnZW5fbmJfaW50X3B0cjtuX2xlbisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eHQgPSBnZW5feG1sUGFyc2VyQ3R4dFB0cihuX2N0eHQsIDApOworICAgICAgICBsZW4gPSBnZW5faW50X3B0cihuX2xlbiwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbEN1cnJlbnRDaGFyKGN0eHQsIGxlbik7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFBhcnNlckN0eHRQdHIobl9jdHh0LCBjdHh0LCAwKTsKKyAgICAgICAgZGVzX2ludF9wdHIobl9sZW4sIGxlbiwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxDdXJyZW50Q2hhciIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHh0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9sZW4pOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbEVyck1lbW9yeSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxQYXJzZXJDdHh0UHRyIGN0eHQ7IC8qIGFuIFhNTCBwYXJzZXIgY29udGV4dCAqLworICAgIGludCBuX2N0eHQ7CisgICAgY2hhciAqIGV4dHJhOyAvKiBleHRyYSBpbmZvcm1hdGlvbnMgKi8KKyAgICBpbnQgbl9leHRyYTsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfeG1sUGFyc2VyQ3R4dFB0cjtuX2N0eHQrKykgeworICAgIGZvciAobl9leHRyYSA9IDA7bl9leHRyYSA8IGdlbl9uYl9jb25zdF9jaGFyX3B0cjtuX2V4dHJhKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4dCA9IGdlbl94bWxQYXJzZXJDdHh0UHRyKG5fY3R4dCwgMCk7CisgICAgICAgIGV4dHJhID0gZ2VuX2NvbnN0X2NoYXJfcHRyKG5fZXh0cmEsIDEpOworCisgICAgICAgIHhtbEVyck1lbW9yeShjdHh0LCAoY29uc3QgY2hhciAqKWV4dHJhKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sUGFyc2VyQ3R4dFB0cihuX2N0eHQsIGN0eHQsIDApOworICAgICAgICBkZXNfY29uc3RfY2hhcl9wdHIobl9leHRyYSwgKGNvbnN0IGNoYXIgKilleHRyYSwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxFcnJNZW1vcnkiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZXh0cmEpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbElzTGV0dGVyKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjOyAvKiBhbiB1bmljb2RlIGNoYXJhY3RlciAoaW50KSAqLworICAgIGludCBuX2M7CisKKyAgICBmb3IgKG5fYyA9IDA7bl9jIDwgZ2VuX25iX2ludDtuX2MrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjID0gZ2VuX2ludChuX2MsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxJc0xldHRlcihjKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfaW50KG5fYywgYywgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxJc0xldHRlciIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbE5ld0VudGl0eUlucHV0U3RyZWFtKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbFBhcnNlcklucHV0UHRyIHJldF92YWw7CisgICAgeG1sUGFyc2VyQ3R4dFB0ciBjdHh0OyAvKiBhbiBYTUwgcGFyc2VyIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHh0OworICAgIHhtbEVudGl0eVB0ciBlbnRpdHk7IC8qIGFuIEVudGl0eSBwb2ludGVyICovCisgICAgaW50IG5fZW50aXR5OworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxQYXJzZXJDdHh0UHRyO25fY3R4dCsrKSB7CisgICAgZm9yIChuX2VudGl0eSA9IDA7bl9lbnRpdHkgPCBnZW5fbmJfeG1sRW50aXR5UHRyO25fZW50aXR5KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4dCA9IGdlbl94bWxQYXJzZXJDdHh0UHRyKG5fY3R4dCwgMCk7CisgICAgICAgIGVudGl0eSA9IGdlbl94bWxFbnRpdHlQdHIobl9lbnRpdHksIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxOZXdFbnRpdHlJbnB1dFN0cmVhbShjdHh0LCBlbnRpdHkpOworICAgICAgICBkZXNyZXRfeG1sUGFyc2VySW5wdXRQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFBhcnNlckN0eHRQdHIobl9jdHh0LCBjdHh0LCAwKTsKKyAgICAgICAgZGVzX3htbEVudGl0eVB0cihuX2VudGl0eSwgZW50aXR5LCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbE5ld0VudGl0eUlucHV0U3RyZWFtIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2VudGl0eSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sTmV3SW5wdXRGcm9tRmlsZSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxQYXJzZXJJbnB1dFB0ciByZXRfdmFsOworICAgIHhtbFBhcnNlckN0eHRQdHIgY3R4dDsgLyogYW4gWE1MIHBhcnNlciBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKyAgICBjb25zdCBjaGFyICogZmlsZW5hbWU7IC8qIHRoZSBmaWxlbmFtZSB0byB1c2UgYXMgZW50aXR5ICovCisgICAgaW50IG5fZmlsZW5hbWU7CisKKyAgICBmb3IgKG5fY3R4dCA9IDA7bl9jdHh0IDwgZ2VuX25iX3htbFBhcnNlckN0eHRQdHI7bl9jdHh0KyspIHsKKyAgICBmb3IgKG5fZmlsZW5hbWUgPSAwO25fZmlsZW5hbWUgPCBnZW5fbmJfZmlsZXBhdGg7bl9maWxlbmFtZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eHQgPSBnZW5feG1sUGFyc2VyQ3R4dFB0cihuX2N0eHQsIDApOworICAgICAgICBmaWxlbmFtZSA9IGdlbl9maWxlcGF0aChuX2ZpbGVuYW1lLCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sTmV3SW5wdXRGcm9tRmlsZShjdHh0LCBmaWxlbmFtZSk7CisgICAgICAgIGRlc3JldF94bWxQYXJzZXJJbnB1dFB0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sUGFyc2VyQ3R4dFB0cihuX2N0eHQsIGN0eHQsIDApOworICAgICAgICBkZXNfZmlsZXBhdGgobl9maWxlbmFtZSwgZmlsZW5hbWUsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sTmV3SW5wdXRGcm9tRmlsZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHh0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9maWxlbmFtZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sTmV3SW5wdXRTdHJlYW0odm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sUGFyc2VySW5wdXRQdHIgcmV0X3ZhbDsKKyAgICB4bWxQYXJzZXJDdHh0UHRyIGN0eHQ7IC8qIGFuIFhNTCBwYXJzZXIgY29udGV4dCAqLworICAgIGludCBuX2N0eHQ7CisKKyAgICBmb3IgKG5fY3R4dCA9IDA7bl9jdHh0IDwgZ2VuX25iX3htbFBhcnNlckN0eHRQdHI7bl9jdHh0KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4dCA9IGdlbl94bWxQYXJzZXJDdHh0UHRyKG5fY3R4dCwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbE5ld0lucHV0U3RyZWFtKGN0eHQpOworICAgICAgICBkZXNyZXRfeG1sUGFyc2VySW5wdXRQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFBhcnNlckN0eHRQdHIobl9jdHh0LCBjdHh0LCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbE5ld0lucHV0U3RyZWFtIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sTmV3U3RyaW5nSW5wdXRTdHJlYW0odm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sUGFyc2VySW5wdXRQdHIgcmV0X3ZhbDsKKyAgICB4bWxQYXJzZXJDdHh0UHRyIGN0eHQ7IC8qIGFuIFhNTCBwYXJzZXIgY29udGV4dCAqLworICAgIGludCBuX2N0eHQ7CisgICAgeG1sQ2hhciAqIGJ1ZmZlcjsgLyogYW4gbWVtb3J5IGJ1ZmZlciAqLworICAgIGludCBuX2J1ZmZlcjsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfeG1sUGFyc2VyQ3R4dFB0cjtuX2N0eHQrKykgeworICAgIGZvciAobl9idWZmZXIgPSAwO25fYnVmZmVyIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fYnVmZmVyKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4dCA9IGdlbl94bWxQYXJzZXJDdHh0UHRyKG5fY3R4dCwgMCk7CisgICAgICAgIGJ1ZmZlciA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX2J1ZmZlciwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbE5ld1N0cmluZ0lucHV0U3RyZWFtKGN0eHQsIChjb25zdCB4bWxDaGFyICopYnVmZmVyKTsKKyAgICAgICAgZGVzcmV0X3htbFBhcnNlcklucHV0UHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxQYXJzZXJDdHh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX2J1ZmZlciwgKGNvbnN0IHhtbENoYXIgKilidWZmZXIsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sTmV3U3RyaW5nSW5wdXRTdHJlYW0iLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fYnVmZmVyKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxOZXh0Q2hhcih2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxQYXJzZXJDdHh0UHRyIGN0eHQ7IC8qIHRoZSBYTUwgcGFyc2VyIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHh0OworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxQYXJzZXJDdHh0UHRyO25fY3R4dCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eHQgPSBnZW5feG1sUGFyc2VyQ3R4dFB0cihuX2N0eHQsIDApOworCisgICAgICAgIHhtbE5leHRDaGFyKGN0eHQpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxQYXJzZXJDdHh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxOZXh0Q2hhciIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHh0KTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFBhcnNlcklucHV0U2hyaW5rKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbFBhcnNlcklucHV0UHRyIGluOyAvKiBhbiBYTUwgcGFyc2VyIGlucHV0ICovCisgICAgaW50IG5faW47CisKKyAgICBmb3IgKG5faW4gPSAwO25faW4gPCBnZW5fbmJfeG1sUGFyc2VySW5wdXRQdHI7bl9pbisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGluID0gZ2VuX3htbFBhcnNlcklucHV0UHRyKG5faW4sIDApOworCisgICAgICAgIHhtbFBhcnNlcklucHV0U2hyaW5rKGluKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sUGFyc2VySW5wdXRQdHIobl9pbiwgaW4sIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sUGFyc2VySW5wdXRTaHJpbmsiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5faW4pOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sUG9wSW5wdXQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sQ2hhciByZXRfdmFsOworICAgIHhtbFBhcnNlckN0eHRQdHIgY3R4dDsgLyogYW4gWE1MIHBhcnNlciBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfeG1sUGFyc2VyQ3R4dFB0cjtuX2N0eHQrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX3htbFBhcnNlckN0eHRQdHIobl9jdHh0LCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sUG9wSW5wdXQoY3R4dCk7CisgICAgICAgIGRlc3JldF94bWxDaGFyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxQYXJzZXJDdHh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxQb3BJbnB1dCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHh0KTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFB1c2hJbnB1dCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxQYXJzZXJDdHh0UHRyIGN0eHQ7IC8qIGFuIFhNTCBwYXJzZXIgY29udGV4dCAqLworICAgIGludCBuX2N0eHQ7CisgICAgeG1sUGFyc2VySW5wdXRQdHIgaW5wdXQ7IC8qIGFuIFhNTCBwYXJzZXIgaW5wdXQgZnJhZ21lbnQgKGVudGl0eSwgWE1MIGZyYWdtZW50IC4uLikuICovCisgICAgaW50IG5faW5wdXQ7CisKKyAgICBmb3IgKG5fY3R4dCA9IDA7bl9jdHh0IDwgZ2VuX25iX3htbFBhcnNlckN0eHRQdHI7bl9jdHh0KyspIHsKKyAgICBmb3IgKG5faW5wdXQgPSAwO25faW5wdXQgPCBnZW5fbmJfeG1sUGFyc2VySW5wdXRQdHI7bl9pbnB1dCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eHQgPSBnZW5feG1sUGFyc2VyQ3R4dFB0cihuX2N0eHQsIDApOworICAgICAgICBpbnB1dCA9IGdlbl94bWxQYXJzZXJJbnB1dFB0cihuX2lucHV0LCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sUHVzaElucHV0KGN0eHQsIGlucHV0KTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sUGFyc2VyQ3R4dFB0cihuX2N0eHQsIGN0eHQsIDApOworICAgICAgICBkZXNfeG1sUGFyc2VySW5wdXRQdHIobl9pbnB1dCwgaW5wdXQsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sUHVzaElucHV0IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2lucHV0KTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxTZXRFbnRpdHlSZWZlcmVuY2VGdW5jKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisKKyAgICAvKiBtaXNzaW5nIHR5cGUgc3VwcG9ydCAqLworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxTcGxpdFFOYW1lKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbENoYXIgKiByZXRfdmFsOworICAgIHhtbFBhcnNlckN0eHRQdHIgY3R4dDsgLyogYW4gWE1MIHBhcnNlciBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKyAgICB4bWxDaGFyICogbmFtZTsgLyogYW4gWE1MIHBhcnNlciBjb250ZXh0ICovCisgICAgaW50IG5fbmFtZTsKKyAgICB4bWxDaGFyICoqIHByZWZpeDsgLyogYSB4bWxDaGFyICoqICovCisgICAgaW50IG5fcHJlZml4OworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxQYXJzZXJDdHh0UHRyO25fY3R4dCsrKSB7CisgICAgZm9yIChuX25hbWUgPSAwO25fbmFtZSA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX25hbWUrKykgeworICAgIGZvciAobl9wcmVmaXggPSAwO25fcHJlZml4IDwgZ2VuX25iX3htbENoYXJfcHRyX3B0cjtuX3ByZWZpeCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eHQgPSBnZW5feG1sUGFyc2VyQ3R4dFB0cihuX2N0eHQsIDApOworICAgICAgICBuYW1lID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgMSk7CisgICAgICAgIHByZWZpeCA9IGdlbl94bWxDaGFyX3B0cl9wdHIobl9wcmVmaXgsIDIpOworCisgICAgICAgIHJldF92YWwgPSB4bWxTcGxpdFFOYW1lKGN0eHQsIChjb25zdCB4bWxDaGFyICopbmFtZSwgcHJlZml4KTsKKyAgICAgICAgZGVzcmV0X3htbENoYXJfcHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxQYXJzZXJDdHh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIChjb25zdCB4bWxDaGFyICopbmFtZSwgMSk7CisgICAgICAgIGRlc194bWxDaGFyX3B0cl9wdHIobl9wcmVmaXgsIHByZWZpeCwgMik7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxTcGxpdFFOYW1lIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25hbWUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3ByZWZpeCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFN0cmluZ0N1cnJlbnRDaGFyKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbFBhcnNlckN0eHRQdHIgY3R4dDsgLyogdGhlIFhNTCBwYXJzZXIgY29udGV4dCAqLworICAgIGludCBuX2N0eHQ7CisgICAgeG1sQ2hhciAqIGN1cjsgLyogcG9pbnRlciB0byB0aGUgYmVnaW5uaW5nIG9mIHRoZSBjaGFyICovCisgICAgaW50IG5fY3VyOworICAgIGludCAqIGxlbjsgLyogcG9pbnRlciB0byB0aGUgbGVuZ3RoIG9mIHRoZSBjaGFyIHJlYWQgKi8KKyAgICBpbnQgbl9sZW47CisKKyAgICBmb3IgKG5fY3R4dCA9IDA7bl9jdHh0IDwgZ2VuX25iX3htbFBhcnNlckN0eHRQdHI7bl9jdHh0KyspIHsKKyAgICBmb3IgKG5fY3VyID0gMDtuX2N1ciA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX2N1cisrKSB7CisgICAgZm9yIChuX2xlbiA9IDA7bl9sZW4gPCBnZW5fbmJfaW50X3B0cjtuX2xlbisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eHQgPSBnZW5feG1sUGFyc2VyQ3R4dFB0cihuX2N0eHQsIDApOworICAgICAgICBjdXIgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9jdXIsIDEpOworICAgICAgICBsZW4gPSBnZW5faW50X3B0cihuX2xlbiwgMik7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFN0cmluZ0N1cnJlbnRDaGFyKGN0eHQsIChjb25zdCB4bWxDaGFyICopY3VyLCBsZW4pOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxQYXJzZXJDdHh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX2N1ciwgKGNvbnN0IHhtbENoYXIgKiljdXIsIDEpOworICAgICAgICBkZXNfaW50X3B0cihuX2xlbiwgbGVuLCAyKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFN0cmluZ0N1cnJlbnRDaGFyIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N1cik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbGVuKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sU3RyaW5nRGVjb2RlRW50aXRpZXModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sQ2hhciAqIHJldF92YWw7CisgICAgeG1sUGFyc2VyQ3R4dFB0ciBjdHh0OyAvKiB0aGUgcGFyc2VyIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHh0OworICAgIHhtbENoYXIgKiBzdHI7IC8qIHRoZSBpbnB1dCBzdHJpbmcgKi8KKyAgICBpbnQgbl9zdHI7CisgICAgaW50IHdoYXQ7IC8qIGNvbWJpbmF0aW9uIG9mIFhNTF9TVUJTVElUVVRFX1JFRiBhbmQgWE1MX1NVQlNUSVRVVEVfUEVSRUYgKi8KKyAgICBpbnQgbl93aGF0OworICAgIHhtbENoYXIgZW5kOyAvKiBhbiBlbmQgbWFya2VyIHhtbENoYXIsIDAgaWYgbm9uZSAqLworICAgIGludCBuX2VuZDsKKyAgICB4bWxDaGFyIGVuZDI7IC8qIGFuIGVuZCBtYXJrZXIgeG1sQ2hhciwgMCBpZiBub25lICovCisgICAgaW50IG5fZW5kMjsKKyAgICB4bWxDaGFyIGVuZDM7IC8qIGFuIGVuZCBtYXJrZXIgeG1sQ2hhciwgMCBpZiBub25lICovCisgICAgaW50IG5fZW5kMzsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfeG1sUGFyc2VyQ3R4dFB0cjtuX2N0eHQrKykgeworICAgIGZvciAobl9zdHIgPSAwO25fc3RyIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fc3RyKyspIHsKKyAgICBmb3IgKG5fd2hhdCA9IDA7bl93aGF0IDwgZ2VuX25iX2ludDtuX3doYXQrKykgeworICAgIGZvciAobl9lbmQgPSAwO25fZW5kIDwgZ2VuX25iX3htbENoYXI7bl9lbmQrKykgeworICAgIGZvciAobl9lbmQyID0gMDtuX2VuZDIgPCBnZW5fbmJfeG1sQ2hhcjtuX2VuZDIrKykgeworICAgIGZvciAobl9lbmQzID0gMDtuX2VuZDMgPCBnZW5fbmJfeG1sQ2hhcjtuX2VuZDMrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX3htbFBhcnNlckN0eHRQdHIobl9jdHh0LCAwKTsKKyAgICAgICAgc3RyID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fc3RyLCAxKTsKKyAgICAgICAgd2hhdCA9IGdlbl9pbnQobl93aGF0LCAyKTsKKyAgICAgICAgZW5kID0gZ2VuX3htbENoYXIobl9lbmQsIDMpOworICAgICAgICBlbmQyID0gZ2VuX3htbENoYXIobl9lbmQyLCA0KTsKKyAgICAgICAgZW5kMyA9IGdlbl94bWxDaGFyKG5fZW5kMywgNSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFN0cmluZ0RlY29kZUVudGl0aWVzKGN0eHQsIChjb25zdCB4bWxDaGFyICopc3RyLCB3aGF0LCBlbmQsIGVuZDIsIGVuZDMpOworICAgICAgICBkZXNyZXRfeG1sQ2hhcl9wdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFBhcnNlckN0eHRQdHIobl9jdHh0LCBjdHh0LCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fc3RyLCAoY29uc3QgeG1sQ2hhciAqKXN0ciwgMSk7CisgICAgICAgIGRlc19pbnQobl93aGF0LCB3aGF0LCAyKTsKKyAgICAgICAgZGVzX3htbENoYXIobl9lbmQsIGVuZCwgMyk7CisgICAgICAgIGRlc194bWxDaGFyKG5fZW5kMiwgZW5kMiwgNCk7CisgICAgICAgIGRlc194bWxDaGFyKG5fZW5kMywgZW5kMywgNSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxTdHJpbmdEZWNvZGVFbnRpdGllcyIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHh0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9zdHIpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3doYXQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2VuZCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZW5kMik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZW5kMyk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFN0cmluZ0xlbkRlY29kZUVudGl0aWVzKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbENoYXIgKiByZXRfdmFsOworICAgIHhtbFBhcnNlckN0eHRQdHIgY3R4dDsgLyogdGhlIHBhcnNlciBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKyAgICB4bWxDaGFyICogc3RyOyAvKiB0aGUgaW5wdXQgc3RyaW5nICovCisgICAgaW50IG5fc3RyOworICAgIGludCBsZW47IC8qIHRoZSBzdHJpbmcgbGVuZ3RoICovCisgICAgaW50IG5fbGVuOworICAgIGludCB3aGF0OyAvKiBjb21iaW5hdGlvbiBvZiBYTUxfU1VCU1RJVFVURV9SRUYgYW5kIFhNTF9TVUJTVElUVVRFX1BFUkVGICovCisgICAgaW50IG5fd2hhdDsKKyAgICB4bWxDaGFyIGVuZDsgLyogYW4gZW5kIG1hcmtlciB4bWxDaGFyLCAwIGlmIG5vbmUgKi8KKyAgICBpbnQgbl9lbmQ7CisgICAgeG1sQ2hhciBlbmQyOyAvKiBhbiBlbmQgbWFya2VyIHhtbENoYXIsIDAgaWYgbm9uZSAqLworICAgIGludCBuX2VuZDI7CisgICAgeG1sQ2hhciBlbmQzOyAvKiBhbiBlbmQgbWFya2VyIHhtbENoYXIsIDAgaWYgbm9uZSAqLworICAgIGludCBuX2VuZDM7CisKKyAgICBmb3IgKG5fY3R4dCA9IDA7bl9jdHh0IDwgZ2VuX25iX3htbFBhcnNlckN0eHRQdHI7bl9jdHh0KyspIHsKKyAgICBmb3IgKG5fc3RyID0gMDtuX3N0ciA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX3N0cisrKSB7CisgICAgZm9yIChuX2xlbiA9IDA7bl9sZW4gPCBnZW5fbmJfaW50O25fbGVuKyspIHsKKyAgICBmb3IgKG5fd2hhdCA9IDA7bl93aGF0IDwgZ2VuX25iX2ludDtuX3doYXQrKykgeworICAgIGZvciAobl9lbmQgPSAwO25fZW5kIDwgZ2VuX25iX3htbENoYXI7bl9lbmQrKykgeworICAgIGZvciAobl9lbmQyID0gMDtuX2VuZDIgPCBnZW5fbmJfeG1sQ2hhcjtuX2VuZDIrKykgeworICAgIGZvciAobl9lbmQzID0gMDtuX2VuZDMgPCBnZW5fbmJfeG1sQ2hhcjtuX2VuZDMrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX3htbFBhcnNlckN0eHRQdHIobl9jdHh0LCAwKTsKKyAgICAgICAgc3RyID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fc3RyLCAxKTsKKyAgICAgICAgbGVuID0gZ2VuX2ludChuX2xlbiwgMik7CisgICAgICAgIHdoYXQgPSBnZW5faW50KG5fd2hhdCwgMyk7CisgICAgICAgIGVuZCA9IGdlbl94bWxDaGFyKG5fZW5kLCA0KTsKKyAgICAgICAgZW5kMiA9IGdlbl94bWxDaGFyKG5fZW5kMiwgNSk7CisgICAgICAgIGVuZDMgPSBnZW5feG1sQ2hhcihuX2VuZDMsIDYpOworCisgICAgICAgIHJldF92YWwgPSB4bWxTdHJpbmdMZW5EZWNvZGVFbnRpdGllcyhjdHh0LCAoY29uc3QgeG1sQ2hhciAqKXN0ciwgbGVuLCB3aGF0LCBlbmQsIGVuZDIsIGVuZDMpOworICAgICAgICBkZXNyZXRfeG1sQ2hhcl9wdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFBhcnNlckN0eHRQdHIobl9jdHh0LCBjdHh0LCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fc3RyLCAoY29uc3QgeG1sQ2hhciAqKXN0ciwgMSk7CisgICAgICAgIGRlc19pbnQobl9sZW4sIGxlbiwgMik7CisgICAgICAgIGRlc19pbnQobl93aGF0LCB3aGF0LCAzKTsKKyAgICAgICAgZGVzX3htbENoYXIobl9lbmQsIGVuZCwgNCk7CisgICAgICAgIGRlc194bWxDaGFyKG5fZW5kMiwgZW5kMiwgNSk7CisgICAgICAgIGRlc194bWxDaGFyKG5fZW5kMywgZW5kMywgNik7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxTdHJpbmdMZW5EZWNvZGVFbnRpdGllcyIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHh0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9zdHIpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2xlbik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fd2hhdCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZW5kKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9lbmQyKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9lbmQzKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFN3aXRjaEVuY29kaW5nKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbFBhcnNlckN0eHRQdHIgY3R4dDsgLyogdGhlIHBhcnNlciBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKyAgICB4bWxDaGFyRW5jb2RpbmcgZW5jOyAvKiB0aGUgZW5jb2RpbmcgdmFsdWUgKG51bWJlcikgKi8KKyAgICBpbnQgbl9lbmM7CisKKyAgICBmb3IgKG5fY3R4dCA9IDA7bl9jdHh0IDwgZ2VuX25iX3htbFBhcnNlckN0eHRQdHI7bl9jdHh0KyspIHsKKyAgICBmb3IgKG5fZW5jID0gMDtuX2VuYyA8IGdlbl9uYl94bWxDaGFyRW5jb2Rpbmc7bl9lbmMrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX3htbFBhcnNlckN0eHRQdHIobl9jdHh0LCAwKTsKKyAgICAgICAgZW5jID0gZ2VuX3htbENoYXJFbmNvZGluZyhuX2VuYywgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFN3aXRjaEVuY29kaW5nKGN0eHQsIGVuYyk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFBhcnNlckN0eHRQdHIobl9jdHh0LCBjdHh0LCAwKTsKKyAgICAgICAgZGVzX3htbENoYXJFbmNvZGluZyhuX2VuYywgZW5jLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFN3aXRjaEVuY29kaW5nIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2VuYyk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sU3dpdGNoSW5wdXRFbmNvZGluZyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxQYXJzZXJDdHh0UHRyIGN0eHQ7IC8qIHRoZSBwYXJzZXIgY29udGV4dCAqLworICAgIGludCBuX2N0eHQ7CisgICAgeG1sUGFyc2VySW5wdXRQdHIgaW5wdXQ7IC8qIHRoZSBpbnB1dCBzdHJlYW0gKi8KKyAgICBpbnQgbl9pbnB1dDsKKyAgICB4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyIGhhbmRsZXI7IC8qIHRoZSBlbmNvZGluZyBoYW5kbGVyICovCisgICAgaW50IG5faGFuZGxlcjsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfeG1sUGFyc2VyQ3R4dFB0cjtuX2N0eHQrKykgeworICAgIGZvciAobl9pbnB1dCA9IDA7bl9pbnB1dCA8IGdlbl9uYl94bWxQYXJzZXJJbnB1dFB0cjtuX2lucHV0KyspIHsKKyAgICBmb3IgKG5faGFuZGxlciA9IDA7bl9oYW5kbGVyIDwgZ2VuX25iX3htbENoYXJFbmNvZGluZ0hhbmRsZXJQdHI7bl9oYW5kbGVyKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4dCA9IGdlbl94bWxQYXJzZXJDdHh0UHRyKG5fY3R4dCwgMCk7CisgICAgICAgIGlucHV0ID0gZ2VuX3htbFBhcnNlcklucHV0UHRyKG5faW5wdXQsIDEpOworICAgICAgICBoYW5kbGVyID0gZ2VuX3htbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIobl9oYW5kbGVyLCAyKTsKKworICAgICAgICByZXRfdmFsID0geG1sU3dpdGNoSW5wdXRFbmNvZGluZyhjdHh0LCBpbnB1dCwgaGFuZGxlcik7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFBhcnNlckN0eHRQdHIobl9jdHh0LCBjdHh0LCAwKTsKKyAgICAgICAgZGVzX3htbFBhcnNlcklucHV0UHRyKG5faW5wdXQsIGlucHV0LCAxKTsKKyAgICAgICAgZGVzX3htbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIobl9oYW5kbGVyLCBoYW5kbGVyLCAyKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFN3aXRjaElucHV0RW5jb2RpbmciLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5faW5wdXQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2hhbmRsZXIpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxTd2l0Y2hUb0VuY29kaW5nKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbFBhcnNlckN0eHRQdHIgY3R4dDsgLyogdGhlIHBhcnNlciBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKyAgICB4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyIGhhbmRsZXI7IC8qIHRoZSBlbmNvZGluZyBoYW5kbGVyICovCisgICAgaW50IG5faGFuZGxlcjsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfeG1sUGFyc2VyQ3R4dFB0cjtuX2N0eHQrKykgeworICAgIGZvciAobl9oYW5kbGVyID0gMDtuX2hhbmRsZXIgPCBnZW5fbmJfeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0cjtuX2hhbmRsZXIrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX3htbFBhcnNlckN0eHRQdHIobl9jdHh0LCAwKTsKKyAgICAgICAgaGFuZGxlciA9IGdlbl94bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyKG5faGFuZGxlciwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFN3aXRjaFRvRW5jb2RpbmcoY3R4dCwgaGFuZGxlcik7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFBhcnNlckN0eHRQdHIobl9jdHh0LCBjdHh0LCAwKTsKKyAgICAgICAgZGVzX3htbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIobl9oYW5kbGVyLCBoYW5kbGVyLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFN3aXRjaFRvRW5jb2RpbmciLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5faGFuZGxlcik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCitzdGF0aWMgaW50Cit0ZXN0X3BhcnNlckludGVybmFscyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGlmIChxdWlldCA9PSAwKSBwcmludGYoIlRlc3RpbmcgcGFyc2VySW50ZXJuYWxzIDogMzMgb2YgOTAgZnVuY3Rpb25zIC4uLlxuIik7CisgICAgdGVzdF9yZXQgKz0gdGVzdF9odG1sQ3JlYXRlRmlsZVBhcnNlckN0eHQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X2h0bWxJbml0QXV0b0Nsb3NlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF9pbnB1dFBvcCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfaW5wdXRQdXNoKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF9uYW1lUG9wKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF9uYW1lUHVzaCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3Rfbm9kZVBvcCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3Rfbm9kZVB1c2goKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbENoZWNrTGFuZ3VhZ2VJRCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sQ29weUNoYXIoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbENvcHlDaGFyTXVsdGlCeXRlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxDcmVhdGVFbnRpdHlQYXJzZXJDdHh0KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxDcmVhdGVGaWxlUGFyc2VyQ3R4dCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sQ3JlYXRlTWVtb3J5UGFyc2VyQ3R4dCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sQ3JlYXRlVVJMUGFyc2VyQ3R4dCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sQ3VycmVudENoYXIoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbEVyck1lbW9yeSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sSXNMZXR0ZXIoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbE5ld0VudGl0eUlucHV0U3RyZWFtKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxOZXdJbnB1dEZyb21GaWxlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxOZXdJbnB1dFN0cmVhbSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sTmV3U3RyaW5nSW5wdXRTdHJlYW0oKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbE5leHRDaGFyKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxQYXJzZXJJbnB1dFNocmluaygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sUG9wSW5wdXQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFB1c2hJbnB1dCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU2V0RW50aXR5UmVmZXJlbmNlRnVuYygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU3BsaXRRTmFtZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU3RyaW5nQ3VycmVudENoYXIoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFN0cmluZ0RlY29kZUVudGl0aWVzKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxTdHJpbmdMZW5EZWNvZGVFbnRpdGllcygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU3dpdGNoRW5jb2RpbmcoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFN3aXRjaElucHV0RW5jb2RpbmcoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFN3aXRjaFRvRW5jb2RpbmcoKTsKKworICAgIGlmICh0ZXN0X3JldCAhPSAwKQorCXByaW50ZigiTW9kdWxlIHBhcnNlckludGVybmFsczogJWQgZXJyb3JzXG4iLCB0ZXN0X3JldCk7CisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworc3RhdGljIGludAordGVzdF94bWxQYXR0ZXJuRnJvbVJvb3Qodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9QQVRURVJOX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbFBhdHRlcm5QdHIgY29tcDsgLyogdGhlIHByZWNvbXBpbGVkIHBhdHRlcm4gKi8KKyAgICBpbnQgbl9jb21wOworCisgICAgZm9yIChuX2NvbXAgPSAwO25fY29tcCA8IGdlbl9uYl94bWxQYXR0ZXJuUHRyO25fY29tcCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGNvbXAgPSBnZW5feG1sUGF0dGVyblB0cihuX2NvbXAsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxQYXR0ZXJuRnJvbVJvb3QoY29tcCk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFBhdHRlcm5QdHIobl9jb21wLCBjb21wLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFBhdHRlcm5Gcm9tUm9vdCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jb21wKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sUGF0dGVybkdldFN0cmVhbUN0eHQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworICAgIC8qIG1pc3NpbmcgdHlwZSBzdXBwb3J0ICovCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFBhdHRlcm5NYXRjaCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1BBVFRFUk5fRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sUGF0dGVyblB0ciBjb21wOyAvKiB0aGUgcHJlY29tcGlsZWQgcGF0dGVybiAqLworICAgIGludCBuX2NvbXA7CisgICAgeG1sTm9kZVB0ciBub2RlOyAvKiBhIG5vZGUgKi8KKyAgICBpbnQgbl9ub2RlOworCisgICAgZm9yIChuX2NvbXAgPSAwO25fY29tcCA8IGdlbl9uYl94bWxQYXR0ZXJuUHRyO25fY29tcCsrKSB7CisgICAgZm9yIChuX25vZGUgPSAwO25fbm9kZSA8IGdlbl9uYl94bWxOb2RlUHRyO25fbm9kZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGNvbXAgPSBnZW5feG1sUGF0dGVyblB0cihuX2NvbXAsIDApOworICAgICAgICBub2RlID0gZ2VuX3htbE5vZGVQdHIobl9ub2RlLCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sUGF0dGVybk1hdGNoKGNvbXAsIG5vZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxQYXR0ZXJuUHRyKG5fY29tcCwgY29tcCwgMCk7CisgICAgICAgIGRlc194bWxOb2RlUHRyKG5fbm9kZSwgbm9kZSwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxQYXR0ZXJuTWF0Y2giLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29tcCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbm9kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxQYXR0ZXJuTWF4RGVwdGgodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9QQVRURVJOX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbFBhdHRlcm5QdHIgY29tcDsgLyogdGhlIHByZWNvbXBpbGVkIHBhdHRlcm4gKi8KKyAgICBpbnQgbl9jb21wOworCisgICAgZm9yIChuX2NvbXAgPSAwO25fY29tcCA8IGdlbl9uYl94bWxQYXR0ZXJuUHRyO25fY29tcCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGNvbXAgPSBnZW5feG1sUGF0dGVyblB0cihuX2NvbXAsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxQYXR0ZXJuTWF4RGVwdGgoY29tcCk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFBhdHRlcm5QdHIobl9jb21wLCBjb21wLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFBhdHRlcm5NYXhEZXB0aCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jb21wKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sUGF0dGVybk1pbkRlcHRoKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfUEFUVEVSTl9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxQYXR0ZXJuUHRyIGNvbXA7IC8qIHRoZSBwcmVjb21waWxlZCBwYXR0ZXJuICovCisgICAgaW50IG5fY29tcDsKKworICAgIGZvciAobl9jb21wID0gMDtuX2NvbXAgPCBnZW5fbmJfeG1sUGF0dGVyblB0cjtuX2NvbXArKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb21wID0gZ2VuX3htbFBhdHRlcm5QdHIobl9jb21wLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sUGF0dGVybk1pbkRlcHRoKGNvbXApOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxQYXR0ZXJuUHRyKG5fY29tcCwgY29tcCwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxQYXR0ZXJuTWluRGVwdGgiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29tcCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFBhdHRlcm5TdHJlYW1hYmxlKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfUEFUVEVSTl9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxQYXR0ZXJuUHRyIGNvbXA7IC8qIHRoZSBwcmVjb21waWxlZCBwYXR0ZXJuICovCisgICAgaW50IG5fY29tcDsKKworICAgIGZvciAobl9jb21wID0gMDtuX2NvbXAgPCBnZW5fbmJfeG1sUGF0dGVyblB0cjtuX2NvbXArKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb21wID0gZ2VuX3htbFBhdHRlcm5QdHIobl9jb21wLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sUGF0dGVyblN0cmVhbWFibGUoY29tcCk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFBhdHRlcm5QdHIobl9jb21wLCBjb21wLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFBhdHRlcm5TdHJlYW1hYmxlIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2NvbXApOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxQYXR0ZXJuY29tcGlsZSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworCisgICAgLyogbWlzc2luZyB0eXBlIHN1cHBvcnQgKi8KKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisjaWZkZWYgTElCWE1MX1BBVFRFUk5fRU5BQkxFRAorCisjZGVmaW5lIGdlbl9uYl94bWxTdHJlYW1DdHh0UHRyIDEKK3N0YXRpYyB4bWxTdHJlYW1DdHh0UHRyIGdlbl94bWxTdHJlYW1DdHh0UHRyKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworICAgIHJldHVybihOVUxMKTsKK30KK3N0YXRpYyB2b2lkIGRlc194bWxTdHJlYW1DdHh0UHRyKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCB4bWxTdHJlYW1DdHh0UHRyIHZhbCBBVFRSSUJVVEVfVU5VU0VELCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworfQorI2VuZGlmCisKKworc3RhdGljIGludAordGVzdF94bWxTdHJlYW1Qb3Aodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9QQVRURVJOX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbFN0cmVhbUN0eHRQdHIgc3RyZWFtOyAvKiB0aGUgc3RyZWFtIGNvbnRleHQgKi8KKyAgICBpbnQgbl9zdHJlYW07CisKKyAgICBmb3IgKG5fc3RyZWFtID0gMDtuX3N0cmVhbSA8IGdlbl9uYl94bWxTdHJlYW1DdHh0UHRyO25fc3RyZWFtKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgc3RyZWFtID0gZ2VuX3htbFN0cmVhbUN0eHRQdHIobl9zdHJlYW0sIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxTdHJlYW1Qb3Aoc3RyZWFtKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sU3RyZWFtQ3R4dFB0cihuX3N0cmVhbSwgc3RyZWFtLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFN0cmVhbVBvcCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9zdHJlYW0pOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxTdHJlYW1QdXNoKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfUEFUVEVSTl9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxTdHJlYW1DdHh0UHRyIHN0cmVhbTsgLyogdGhlIHN0cmVhbSBjb250ZXh0ICovCisgICAgaW50IG5fc3RyZWFtOworICAgIHhtbENoYXIgKiBuYW1lOyAvKiB0aGUgY3VycmVudCBuYW1lICovCisgICAgaW50IG5fbmFtZTsKKyAgICB4bWxDaGFyICogbnM7IC8qIHRoZSBuYW1lc3BhY2UgbmFtZSAqLworICAgIGludCBuX25zOworCisgICAgZm9yIChuX3N0cmVhbSA9IDA7bl9zdHJlYW0gPCBnZW5fbmJfeG1sU3RyZWFtQ3R4dFB0cjtuX3N0cmVhbSsrKSB7CisgICAgZm9yIChuX25hbWUgPSAwO25fbmFtZSA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX25hbWUrKykgeworICAgIGZvciAobl9ucyA9IDA7bl9ucyA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX25zKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgc3RyZWFtID0gZ2VuX3htbFN0cmVhbUN0eHRQdHIobl9zdHJlYW0sIDApOworICAgICAgICBuYW1lID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgMSk7CisgICAgICAgIG5zID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fbnMsIDIpOworCisgICAgICAgIHJldF92YWwgPSB4bWxTdHJlYW1QdXNoKHN0cmVhbSwgKGNvbnN0IHhtbENoYXIgKiluYW1lLCAoY29uc3QgeG1sQ2hhciAqKW5zKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sU3RyZWFtQ3R4dFB0cihuX3N0cmVhbSwgc3RyZWFtLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgKGNvbnN0IHhtbENoYXIgKiluYW1lLCAxKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fbnMsIChjb25zdCB4bWxDaGFyICopbnMsIDIpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sU3RyZWFtUHVzaCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9zdHJlYW0pOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25hbWUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25zKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxTdHJlYW1QdXNoQXR0cih2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1BBVFRFUk5fRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sU3RyZWFtQ3R4dFB0ciBzdHJlYW07IC8qIHRoZSBzdHJlYW0gY29udGV4dCAqLworICAgIGludCBuX3N0cmVhbTsKKyAgICB4bWxDaGFyICogbmFtZTsgLyogdGhlIGN1cnJlbnQgbmFtZSAqLworICAgIGludCBuX25hbWU7CisgICAgeG1sQ2hhciAqIG5zOyAvKiB0aGUgbmFtZXNwYWNlIG5hbWUgKi8KKyAgICBpbnQgbl9uczsKKworICAgIGZvciAobl9zdHJlYW0gPSAwO25fc3RyZWFtIDwgZ2VuX25iX3htbFN0cmVhbUN0eHRQdHI7bl9zdHJlYW0rKykgeworICAgIGZvciAobl9uYW1lID0gMDtuX25hbWUgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9uYW1lKyspIHsKKyAgICBmb3IgKG5fbnMgPSAwO25fbnMgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9ucysrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHN0cmVhbSA9IGdlbl94bWxTdHJlYW1DdHh0UHRyKG5fc3RyZWFtLCAwKTsKKyAgICAgICAgbmFtZSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIDEpOworICAgICAgICBucyA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX25zLCAyKTsKKworICAgICAgICByZXRfdmFsID0geG1sU3RyZWFtUHVzaEF0dHIoc3RyZWFtLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUsIChjb25zdCB4bWxDaGFyICopbnMpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxTdHJlYW1DdHh0UHRyKG5fc3RyZWFtLCBzdHJlYW0sIDApOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUsIDEpOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9ucywgKGNvbnN0IHhtbENoYXIgKilucywgMik7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxTdHJlYW1QdXNoQXR0ciIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9zdHJlYW0pOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25hbWUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25zKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxTdHJlYW1QdXNoTm9kZSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1BBVFRFUk5fRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sU3RyZWFtQ3R4dFB0ciBzdHJlYW07IC8qIHRoZSBzdHJlYW0gY29udGV4dCAqLworICAgIGludCBuX3N0cmVhbTsKKyAgICB4bWxDaGFyICogbmFtZTsgLyogdGhlIGN1cnJlbnQgbmFtZSAqLworICAgIGludCBuX25hbWU7CisgICAgeG1sQ2hhciAqIG5zOyAvKiB0aGUgbmFtZXNwYWNlIG5hbWUgKi8KKyAgICBpbnQgbl9uczsKKyAgICBpbnQgbm9kZVR5cGU7IC8qIHRoZSB0eXBlIG9mIHRoZSBub2RlIGJlaW5nIHB1c2hlZCAqLworICAgIGludCBuX25vZGVUeXBlOworCisgICAgZm9yIChuX3N0cmVhbSA9IDA7bl9zdHJlYW0gPCBnZW5fbmJfeG1sU3RyZWFtQ3R4dFB0cjtuX3N0cmVhbSsrKSB7CisgICAgZm9yIChuX25hbWUgPSAwO25fbmFtZSA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX25hbWUrKykgeworICAgIGZvciAobl9ucyA9IDA7bl9ucyA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX25zKyspIHsKKyAgICBmb3IgKG5fbm9kZVR5cGUgPSAwO25fbm9kZVR5cGUgPCBnZW5fbmJfaW50O25fbm9kZVR5cGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBzdHJlYW0gPSBnZW5feG1sU3RyZWFtQ3R4dFB0cihuX3N0cmVhbSwgMCk7CisgICAgICAgIG5hbWUgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAxKTsKKyAgICAgICAgbnMgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9ucywgMik7CisgICAgICAgIG5vZGVUeXBlID0gZ2VuX2ludChuX25vZGVUeXBlLCAzKTsKKworICAgICAgICByZXRfdmFsID0geG1sU3RyZWFtUHVzaE5vZGUoc3RyZWFtLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUsIChjb25zdCB4bWxDaGFyICopbnMsIG5vZGVUeXBlKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sU3RyZWFtQ3R4dFB0cihuX3N0cmVhbSwgc3RyZWFtLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgKGNvbnN0IHhtbENoYXIgKiluYW1lLCAxKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fbnMsIChjb25zdCB4bWxDaGFyICopbnMsIDIpOworICAgICAgICBkZXNfaW50KG5fbm9kZVR5cGUsIG5vZGVUeXBlLCAzKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFN0cmVhbVB1c2hOb2RlIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3N0cmVhbSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFtZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbnMpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25vZGVUeXBlKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sU3RyZWFtV2FudHNBbnlOb2RlKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfUEFUVEVSTl9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxTdHJlYW1DdHh0UHRyIHN0cmVhbUN0eHQ7IC8qIHRoZSBzdHJlYW0gY29udGV4dCAqLworICAgIGludCBuX3N0cmVhbUN0eHQ7CisKKyAgICBmb3IgKG5fc3RyZWFtQ3R4dCA9IDA7bl9zdHJlYW1DdHh0IDwgZ2VuX25iX3htbFN0cmVhbUN0eHRQdHI7bl9zdHJlYW1DdHh0KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgc3RyZWFtQ3R4dCA9IGdlbl94bWxTdHJlYW1DdHh0UHRyKG5fc3RyZWFtQ3R4dCwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFN0cmVhbVdhbnRzQW55Tm9kZShzdHJlYW1DdHh0KTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sU3RyZWFtQ3R4dFB0cihuX3N0cmVhbUN0eHQsIHN0cmVhbUN0eHQsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sU3RyZWFtV2FudHNBbnlOb2RlIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3N0cmVhbUN0eHQpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKK3N0YXRpYyBpbnQKK3Rlc3RfcGF0dGVybih2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGlmIChxdWlldCA9PSAwKSBwcmludGYoIlRlc3RpbmcgcGF0dGVybiA6IDEwIG9mIDE1IGZ1bmN0aW9ucyAuLi5cbiIpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sUGF0dGVybkZyb21Sb290KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxQYXR0ZXJuR2V0U3RyZWFtQ3R4dCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sUGF0dGVybk1hdGNoKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxQYXR0ZXJuTWF4RGVwdGgoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFBhdHRlcm5NaW5EZXB0aCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sUGF0dGVyblN0cmVhbWFibGUoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFBhdHRlcm5jb21waWxlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxTdHJlYW1Qb3AoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFN0cmVhbVB1c2goKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFN0cmVhbVB1c2hBdHRyKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxTdHJlYW1QdXNoTm9kZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU3RyZWFtV2FudHNBbnlOb2RlKCk7CisKKyAgICBpZiAodGVzdF9yZXQgIT0gMCkKKwlwcmludGYoIk1vZHVsZSBwYXR0ZXJuOiAlZCBlcnJvcnNcbiIsIHRlc3RfcmV0KTsKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorI2lmZGVmIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQKKworI2RlZmluZSBnZW5fbmJfeG1sUmVsYXhOR1B0ciAxCitzdGF0aWMgeG1sUmVsYXhOR1B0ciBnZW5feG1sUmVsYXhOR1B0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICByZXR1cm4oTlVMTCk7Cit9CitzdGF0aWMgdm9pZCBkZXNfeG1sUmVsYXhOR1B0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgeG1sUmVsYXhOR1B0ciB2YWwgQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKK30KKyNlbmRpZgorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sUmVsYXhOR0R1bXAodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpICYmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBGSUxFICogb3V0cHV0OyAvKiB0aGUgZmlsZSBvdXRwdXQgKi8KKyAgICBpbnQgbl9vdXRwdXQ7CisgICAgeG1sUmVsYXhOR1B0ciBzY2hlbWE7IC8qIGEgc2NoZW1hIHN0cnVjdHVyZSAqLworICAgIGludCBuX3NjaGVtYTsKKworICAgIGZvciAobl9vdXRwdXQgPSAwO25fb3V0cHV0IDwgZ2VuX25iX0ZJTEVfcHRyO25fb3V0cHV0KyspIHsKKyAgICBmb3IgKG5fc2NoZW1hID0gMDtuX3NjaGVtYSA8IGdlbl9uYl94bWxSZWxheE5HUHRyO25fc2NoZW1hKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgb3V0cHV0ID0gZ2VuX0ZJTEVfcHRyKG5fb3V0cHV0LCAwKTsKKyAgICAgICAgc2NoZW1hID0gZ2VuX3htbFJlbGF4TkdQdHIobl9zY2hlbWEsIDEpOworCisgICAgICAgIHhtbFJlbGF4TkdEdW1wKG91dHB1dCwgc2NoZW1hKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfRklMRV9wdHIobl9vdXRwdXQsIG91dHB1dCwgMCk7CisgICAgICAgIGRlc194bWxSZWxheE5HUHRyKG5fc2NoZW1hLCBzY2hlbWEsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sUmVsYXhOR0R1bXAiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fb3V0cHV0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9zY2hlbWEpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sUmVsYXhOR0R1bXBUcmVlKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKSAmJiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgRklMRSAqIG91dHB1dDsgLyogdGhlIGZpbGUgb3V0cHV0ICovCisgICAgaW50IG5fb3V0cHV0OworICAgIHhtbFJlbGF4TkdQdHIgc2NoZW1hOyAvKiBhIHNjaGVtYSBzdHJ1Y3R1cmUgKi8KKyAgICBpbnQgbl9zY2hlbWE7CisKKyAgICBmb3IgKG5fb3V0cHV0ID0gMDtuX291dHB1dCA8IGdlbl9uYl9GSUxFX3B0cjtuX291dHB1dCsrKSB7CisgICAgZm9yIChuX3NjaGVtYSA9IDA7bl9zY2hlbWEgPCBnZW5fbmJfeG1sUmVsYXhOR1B0cjtuX3NjaGVtYSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIG91dHB1dCA9IGdlbl9GSUxFX3B0cihuX291dHB1dCwgMCk7CisgICAgICAgIHNjaGVtYSA9IGdlbl94bWxSZWxheE5HUHRyKG5fc2NoZW1hLCAxKTsKKworICAgICAgICB4bWxSZWxheE5HRHVtcFRyZWUob3V0cHV0LCBzY2hlbWEpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19GSUxFX3B0cihuX291dHB1dCwgb3V0cHV0LCAwKTsKKyAgICAgICAgZGVzX3htbFJlbGF4TkdQdHIobl9zY2hlbWEsIHNjaGVtYSwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxSZWxheE5HRHVtcFRyZWUiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fb3V0cHV0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9zY2hlbWEpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisjaWZkZWYgTElCWE1MX1NDSEVNQVNfRU5BQkxFRAorCisjZGVmaW5lIGdlbl9uYl94bWxSZWxheE5HUGFyc2VyQ3R4dFB0ciAxCitzdGF0aWMgeG1sUmVsYXhOR1BhcnNlckN0eHRQdHIgZ2VuX3htbFJlbGF4TkdQYXJzZXJDdHh0UHRyKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworICAgIHJldHVybihOVUxMKTsKK30KK3N0YXRpYyB2b2lkIGRlc194bWxSZWxheE5HUGFyc2VyQ3R4dFB0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgeG1sUmVsYXhOR1BhcnNlckN0eHRQdHIgdmFsIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7Cit9CisjZW5kaWYKKworI2lmZGVmIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQKKworI2RlZmluZSBnZW5fbmJfeG1sUmVsYXhOR1ZhbGlkaXR5RXJyb3JGdW5jX3B0ciAxCitzdGF0aWMgeG1sUmVsYXhOR1ZhbGlkaXR5RXJyb3JGdW5jICogZ2VuX3htbFJlbGF4TkdWYWxpZGl0eUVycm9yRnVuY19wdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgcmV0dXJuKE5VTEwpOworfQorc3RhdGljIHZvaWQgZGVzX3htbFJlbGF4TkdWYWxpZGl0eUVycm9yRnVuY19wdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIHhtbFJlbGF4TkdWYWxpZGl0eUVycm9yRnVuYyAqIHZhbCBBVFRSSUJVVEVfVU5VU0VELCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworfQorI2VuZGlmCisKKyNpZmRlZiBMSUJYTUxfU0NIRU1BU19FTkFCTEVECisKKyNkZWZpbmUgZ2VuX25iX3htbFJlbGF4TkdWYWxpZGl0eVdhcm5pbmdGdW5jX3B0ciAxCitzdGF0aWMgeG1sUmVsYXhOR1ZhbGlkaXR5V2FybmluZ0Z1bmMgKiBnZW5feG1sUmVsYXhOR1ZhbGlkaXR5V2FybmluZ0Z1bmNfcHRyKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworICAgIHJldHVybihOVUxMKTsKK30KK3N0YXRpYyB2b2lkIGRlc194bWxSZWxheE5HVmFsaWRpdHlXYXJuaW5nRnVuY19wdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIHhtbFJlbGF4TkdWYWxpZGl0eVdhcm5pbmdGdW5jICogdmFsIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7Cit9CisjZW5kaWYKKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFJlbGF4TkdHZXRQYXJzZXJFcnJvcnModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbFJlbGF4TkdQYXJzZXJDdHh0UHRyIGN0eHQ7IC8qIGEgUmVsYXgtTkcgdmFsaWRhdGlvbiBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKyAgICB4bWxSZWxheE5HVmFsaWRpdHlFcnJvckZ1bmMgKiBlcnI7IC8qIHRoZSBlcnJvciBjYWxsYmFjayByZXN1bHQgKi8KKyAgICBpbnQgbl9lcnI7CisgICAgeG1sUmVsYXhOR1ZhbGlkaXR5V2FybmluZ0Z1bmMgKiB3YXJuOyAvKiB0aGUgd2FybmluZyBjYWxsYmFjayByZXN1bHQgKi8KKyAgICBpbnQgbl93YXJuOworICAgIHZvaWQgKiogY3R4OyAvKiBjb250ZXh0dWFsIGRhdGEgZm9yIHRoZSBjYWxsYmFja3MgcmVzdWx0ICovCisgICAgaW50IG5fY3R4OworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxSZWxheE5HUGFyc2VyQ3R4dFB0cjtuX2N0eHQrKykgeworICAgIGZvciAobl9lcnIgPSAwO25fZXJyIDwgZ2VuX25iX3htbFJlbGF4TkdWYWxpZGl0eUVycm9yRnVuY19wdHI7bl9lcnIrKykgeworICAgIGZvciAobl93YXJuID0gMDtuX3dhcm4gPCBnZW5fbmJfeG1sUmVsYXhOR1ZhbGlkaXR5V2FybmluZ0Z1bmNfcHRyO25fd2FybisrKSB7CisgICAgZm9yIChuX2N0eCA9IDA7bl9jdHggPCBnZW5fbmJfdm9pZF9wdHJfcHRyO25fY3R4KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4dCA9IGdlbl94bWxSZWxheE5HUGFyc2VyQ3R4dFB0cihuX2N0eHQsIDApOworICAgICAgICBlcnIgPSBnZW5feG1sUmVsYXhOR1ZhbGlkaXR5RXJyb3JGdW5jX3B0cihuX2VyciwgMSk7CisgICAgICAgIHdhcm4gPSBnZW5feG1sUmVsYXhOR1ZhbGlkaXR5V2FybmluZ0Z1bmNfcHRyKG5fd2FybiwgMik7CisgICAgICAgIGN0eCA9IGdlbl92b2lkX3B0cl9wdHIobl9jdHgsIDMpOworCisgICAgICAgIHJldF92YWwgPSB4bWxSZWxheE5HR2V0UGFyc2VyRXJyb3JzKGN0eHQsIGVyciwgd2FybiwgY3R4KTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sUmVsYXhOR1BhcnNlckN0eHRQdHIobl9jdHh0LCBjdHh0LCAwKTsKKyAgICAgICAgZGVzX3htbFJlbGF4TkdWYWxpZGl0eUVycm9yRnVuY19wdHIobl9lcnIsIGVyciwgMSk7CisgICAgICAgIGRlc194bWxSZWxheE5HVmFsaWRpdHlXYXJuaW5nRnVuY19wdHIobl93YXJuLCB3YXJuLCAyKTsKKyAgICAgICAgZGVzX3ZvaWRfcHRyX3B0cihuX2N0eCwgY3R4LCAzKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFJlbGF4TkdHZXRQYXJzZXJFcnJvcnMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZXJyKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl93YXJuKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHgpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKyNpZmRlZiBMSUJYTUxfU0NIRU1BU19FTkFCTEVECisKKyNkZWZpbmUgZ2VuX25iX3htbFJlbGF4TkdWYWxpZEN0eHRQdHIgMQorc3RhdGljIHhtbFJlbGF4TkdWYWxpZEN0eHRQdHIgZ2VuX3htbFJlbGF4TkdWYWxpZEN0eHRQdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgcmV0dXJuKE5VTEwpOworfQorc3RhdGljIHZvaWQgZGVzX3htbFJlbGF4TkdWYWxpZEN0eHRQdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIHhtbFJlbGF4TkdWYWxpZEN0eHRQdHIgdmFsIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7Cit9CisjZW5kaWYKKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFJlbGF4TkdHZXRWYWxpZEVycm9ycyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0ciBjdHh0OyAvKiBhIFJlbGF4LU5HIHZhbGlkYXRpb24gY29udGV4dCAqLworICAgIGludCBuX2N0eHQ7CisgICAgeG1sUmVsYXhOR1ZhbGlkaXR5RXJyb3JGdW5jICogZXJyOyAvKiB0aGUgZXJyb3IgZnVuY3Rpb24gcmVzdWx0ICovCisgICAgaW50IG5fZXJyOworICAgIHhtbFJlbGF4TkdWYWxpZGl0eVdhcm5pbmdGdW5jICogd2FybjsgLyogdGhlIHdhcm5pbmcgZnVuY3Rpb24gcmVzdWx0ICovCisgICAgaW50IG5fd2FybjsKKyAgICB2b2lkICoqIGN0eDsgLyogdGhlIGZ1bmN0aW9ucyBjb250ZXh0IHJlc3VsdCAqLworICAgIGludCBuX2N0eDsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0cjtuX2N0eHQrKykgeworICAgIGZvciAobl9lcnIgPSAwO25fZXJyIDwgZ2VuX25iX3htbFJlbGF4TkdWYWxpZGl0eUVycm9yRnVuY19wdHI7bl9lcnIrKykgeworICAgIGZvciAobl93YXJuID0gMDtuX3dhcm4gPCBnZW5fbmJfeG1sUmVsYXhOR1ZhbGlkaXR5V2FybmluZ0Z1bmNfcHRyO25fd2FybisrKSB7CisgICAgZm9yIChuX2N0eCA9IDA7bl9jdHggPCBnZW5fbmJfdm9pZF9wdHJfcHRyO25fY3R4KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4dCA9IGdlbl94bWxSZWxheE5HVmFsaWRDdHh0UHRyKG5fY3R4dCwgMCk7CisgICAgICAgIGVyciA9IGdlbl94bWxSZWxheE5HVmFsaWRpdHlFcnJvckZ1bmNfcHRyKG5fZXJyLCAxKTsKKyAgICAgICAgd2FybiA9IGdlbl94bWxSZWxheE5HVmFsaWRpdHlXYXJuaW5nRnVuY19wdHIobl93YXJuLCAyKTsKKyAgICAgICAgY3R4ID0gZ2VuX3ZvaWRfcHRyX3B0cihuX2N0eCwgMyk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFJlbGF4TkdHZXRWYWxpZEVycm9ycyhjdHh0LCBlcnIsIHdhcm4sIGN0eCk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFJlbGF4TkdWYWxpZEN0eHRQdHIobl9jdHh0LCBjdHh0LCAwKTsKKyAgICAgICAgZGVzX3htbFJlbGF4TkdWYWxpZGl0eUVycm9yRnVuY19wdHIobl9lcnIsIGVyciwgMSk7CisgICAgICAgIGRlc194bWxSZWxheE5HVmFsaWRpdHlXYXJuaW5nRnVuY19wdHIobl93YXJuLCB3YXJuLCAyKTsKKyAgICAgICAgZGVzX3ZvaWRfcHRyX3B0cihuX2N0eCwgY3R4LCAzKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFJlbGF4TkdHZXRWYWxpZEVycm9ycyIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHh0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9lcnIpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3dhcm4pOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFJlbGF4TkdJbml0VHlwZXModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworCisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFJlbGF4TkdJbml0VHlwZXMoKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sUmVsYXhOR0luaXRUeXBlcyIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxSZWxheE5HTmV3RG9jUGFyc2VyQ3R4dCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sUmVsYXhOR1BhcnNlckN0eHRQdHIgcmV0X3ZhbDsKKyAgICB4bWxEb2NQdHIgZG9jOyAvKiBhIHByZXBhcnNlZCBkb2N1bWVudCB0cmVlICovCisgICAgaW50IG5fZG9jOworCisgICAgZm9yIChuX2RvYyA9IDA7bl9kb2MgPCBnZW5fbmJfeG1sRG9jUHRyO25fZG9jKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgZG9jID0gZ2VuX3htbERvY1B0cihuX2RvYywgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFJlbGF4TkdOZXdEb2NQYXJzZXJDdHh0KGRvYyk7CisgICAgICAgIGRlc3JldF94bWxSZWxheE5HUGFyc2VyQ3R4dFB0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sRG9jUHRyKG5fZG9jLCBkb2MsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sUmVsYXhOR05ld0RvY1BhcnNlckN0eHQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZG9jKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sUmVsYXhOR05ld01lbVBhcnNlckN0eHQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbFJlbGF4TkdQYXJzZXJDdHh0UHRyIHJldF92YWw7CisgICAgY2hhciAqIGJ1ZmZlcjsgLyogYSBwb2ludGVyIHRvIGEgY2hhciBhcnJheSBjb250YWluaW5nIHRoZSBzY2hlbWFzICovCisgICAgaW50IG5fYnVmZmVyOworICAgIGludCBzaXplOyAvKiB0aGUgc2l6ZSBvZiB0aGUgYXJyYXkgKi8KKyAgICBpbnQgbl9zaXplOworCisgICAgZm9yIChuX2J1ZmZlciA9IDA7bl9idWZmZXIgPCBnZW5fbmJfY29uc3RfY2hhcl9wdHI7bl9idWZmZXIrKykgeworICAgIGZvciAobl9zaXplID0gMDtuX3NpemUgPCBnZW5fbmJfaW50O25fc2l6ZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGJ1ZmZlciA9IGdlbl9jb25zdF9jaGFyX3B0cihuX2J1ZmZlciwgMCk7CisgICAgICAgIHNpemUgPSBnZW5faW50KG5fc2l6ZSwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFJlbGF4TkdOZXdNZW1QYXJzZXJDdHh0KChjb25zdCBjaGFyICopYnVmZmVyLCBzaXplKTsKKyAgICAgICAgZGVzcmV0X3htbFJlbGF4TkdQYXJzZXJDdHh0UHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19jb25zdF9jaGFyX3B0cihuX2J1ZmZlciwgKGNvbnN0IGNoYXIgKilidWZmZXIsIDApOworICAgICAgICBkZXNfaW50KG5fc2l6ZSwgc2l6ZSwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxSZWxheE5HTmV3TWVtUGFyc2VyQ3R4dCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9idWZmZXIpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3NpemUpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sUmVsYXhOR05ld1BhcnNlckN0eHQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbFJlbGF4TkdQYXJzZXJDdHh0UHRyIHJldF92YWw7CisgICAgY2hhciAqIFVSTDsgLyogdGhlIGxvY2F0aW9uIG9mIHRoZSBzY2hlbWEgKi8KKyAgICBpbnQgbl9VUkw7CisKKyAgICBmb3IgKG5fVVJMID0gMDtuX1VSTCA8IGdlbl9uYl9jb25zdF9jaGFyX3B0cjtuX1VSTCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIFVSTCA9IGdlbl9jb25zdF9jaGFyX3B0cihuX1VSTCwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFJlbGF4TkdOZXdQYXJzZXJDdHh0KChjb25zdCBjaGFyICopVVJMKTsKKyAgICAgICAgZGVzcmV0X3htbFJlbGF4TkdQYXJzZXJDdHh0UHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19jb25zdF9jaGFyX3B0cihuX1VSTCwgKGNvbnN0IGNoYXIgKilVUkwsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sUmVsYXhOR05ld1BhcnNlckN0eHQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fVVJMKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sUmVsYXhOR05ld1ZhbGlkQ3R4dCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworCisgICAgLyogbWlzc2luZyB0eXBlIHN1cHBvcnQgKi8KKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sUmVsYXhOR1BhcnNlKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisKKyAgICAvKiBtaXNzaW5nIHR5cGUgc3VwcG9ydCAqLworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxSZWxheE5HU2V0UGFyc2VyRXJyb3JzKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisKKyAgICAvKiBtaXNzaW5nIHR5cGUgc3VwcG9ydCAqLworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxSZWxheE5HU2V0UGFyc2VyU3RydWN0dXJlZEVycm9ycyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworCisgICAgLyogbWlzc2luZyB0eXBlIHN1cHBvcnQgKi8KKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sUmVsYXhOR1NldFZhbGlkRXJyb3JzKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisKKyAgICAvKiBtaXNzaW5nIHR5cGUgc3VwcG9ydCAqLworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxSZWxheE5HU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisKKyAgICAvKiBtaXNzaW5nIHR5cGUgc3VwcG9ydCAqLworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxSZWxheE5HVmFsaWRhdGVEb2Modm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbFJlbGF4TkdWYWxpZEN0eHRQdHIgY3R4dDsgLyogYSBSZWxheC1ORyB2YWxpZGF0aW9uIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHh0OworICAgIHhtbERvY1B0ciBkb2M7IC8qIGEgcGFyc2VkIGRvY3VtZW50IHRyZWUgKi8KKyAgICBpbnQgbl9kb2M7CisKKyAgICBmb3IgKG5fY3R4dCA9IDA7bl9jdHh0IDwgZ2VuX25iX3htbFJlbGF4TkdWYWxpZEN0eHRQdHI7bl9jdHh0KyspIHsKKyAgICBmb3IgKG5fZG9jID0gMDtuX2RvYyA8IGdlbl9uYl94bWxEb2NQdHI7bl9kb2MrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX3htbFJlbGF4TkdWYWxpZEN0eHRQdHIobl9jdHh0LCAwKTsKKyAgICAgICAgZG9jID0gZ2VuX3htbERvY1B0cihuX2RvYywgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFJlbGF4TkdWYWxpZGF0ZURvYyhjdHh0LCBkb2MpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxSZWxheE5HVmFsaWRDdHh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIGRlc194bWxEb2NQdHIobl9kb2MsIGRvYywgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxSZWxheE5HVmFsaWRhdGVEb2MiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZG9jKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFJlbGF4TkdWYWxpZGF0ZUZ1bGxFbGVtZW50KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxSZWxheE5HVmFsaWRDdHh0UHRyIGN0eHQ7IC8qIHRoZSB2YWxpZGF0aW9uIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHh0OworICAgIHhtbERvY1B0ciBkb2M7IC8qIGEgZG9jdW1lbnQgaW5zdGFuY2UgKi8KKyAgICBpbnQgbl9kb2M7CisgICAgeG1sTm9kZVB0ciBlbGVtOyAvKiBhbiBlbGVtZW50IGluc3RhbmNlICovCisgICAgaW50IG5fZWxlbTsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0cjtuX2N0eHQrKykgeworICAgIGZvciAobl9kb2MgPSAwO25fZG9jIDwgZ2VuX25iX3htbERvY1B0cjtuX2RvYysrKSB7CisgICAgZm9yIChuX2VsZW0gPSAwO25fZWxlbSA8IGdlbl9uYl94bWxOb2RlUHRyO25fZWxlbSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eHQgPSBnZW5feG1sUmVsYXhOR1ZhbGlkQ3R4dFB0cihuX2N0eHQsIDApOworICAgICAgICBkb2MgPSBnZW5feG1sRG9jUHRyKG5fZG9jLCAxKTsKKyAgICAgICAgZWxlbSA9IGdlbl94bWxOb2RlUHRyKG5fZWxlbSwgMik7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFJlbGF4TkdWYWxpZGF0ZUZ1bGxFbGVtZW50KGN0eHQsIGRvYywgZWxlbSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFJlbGF4TkdWYWxpZEN0eHRQdHIobl9jdHh0LCBjdHh0LCAwKTsKKyAgICAgICAgZGVzX3htbERvY1B0cihuX2RvYywgZG9jLCAxKTsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl9lbGVtLCBlbGVtLCAyKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFJlbGF4TkdWYWxpZGF0ZUZ1bGxFbGVtZW50IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2RvYyk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZWxlbSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sUmVsYXhOR1ZhbGlkYXRlUG9wRWxlbWVudCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0ciBjdHh0OyAvKiB0aGUgUmVsYXhORyB2YWxpZGF0aW9uIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHh0OworICAgIHhtbERvY1B0ciBkb2M7IC8qIGEgZG9jdW1lbnQgaW5zdGFuY2UgKi8KKyAgICBpbnQgbl9kb2M7CisgICAgeG1sTm9kZVB0ciBlbGVtOyAvKiBhbiBlbGVtZW50IGluc3RhbmNlICovCisgICAgaW50IG5fZWxlbTsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0cjtuX2N0eHQrKykgeworICAgIGZvciAobl9kb2MgPSAwO25fZG9jIDwgZ2VuX25iX3htbERvY1B0cjtuX2RvYysrKSB7CisgICAgZm9yIChuX2VsZW0gPSAwO25fZWxlbSA8IGdlbl9uYl94bWxOb2RlUHRyO25fZWxlbSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eHQgPSBnZW5feG1sUmVsYXhOR1ZhbGlkQ3R4dFB0cihuX2N0eHQsIDApOworICAgICAgICBkb2MgPSBnZW5feG1sRG9jUHRyKG5fZG9jLCAxKTsKKyAgICAgICAgZWxlbSA9IGdlbl94bWxOb2RlUHRyKG5fZWxlbSwgMik7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFJlbGF4TkdWYWxpZGF0ZVBvcEVsZW1lbnQoY3R4dCwgZG9jLCBlbGVtKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0cihuX2N0eHQsIGN0eHQsIDApOworICAgICAgICBkZXNfeG1sRG9jUHRyKG5fZG9jLCBkb2MsIDEpOworICAgICAgICBkZXNfeG1sTm9kZVB0cihuX2VsZW0sIGVsZW0sIDIpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sUmVsYXhOR1ZhbGlkYXRlUG9wRWxlbWVudCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHh0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9kb2MpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2VsZW0pOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFJlbGF4TkdWYWxpZGF0ZVB1c2hDRGF0YSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0ciBjdHh0OyAvKiB0aGUgUmVsYXhORyB2YWxpZGF0aW9uIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHh0OworICAgIHhtbENoYXIgKiBkYXRhOyAvKiBzb21lIGNoYXJhY3RlciBkYXRhIHJlYWQgKi8KKyAgICBpbnQgbl9kYXRhOworICAgIGludCBsZW47IC8qIHRoZSBsZW5ndGggb2YgdGhlIGRhdGEgKi8KKyAgICBpbnQgbl9sZW47CisKKyAgICBmb3IgKG5fY3R4dCA9IDA7bl9jdHh0IDwgZ2VuX25iX3htbFJlbGF4TkdWYWxpZEN0eHRQdHI7bl9jdHh0KyspIHsKKyAgICBmb3IgKG5fZGF0YSA9IDA7bl9kYXRhIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fZGF0YSsrKSB7CisgICAgZm9yIChuX2xlbiA9IDA7bl9sZW4gPCBnZW5fbmJfaW50O25fbGVuKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4dCA9IGdlbl94bWxSZWxheE5HVmFsaWRDdHh0UHRyKG5fY3R4dCwgMCk7CisgICAgICAgIGRhdGEgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9kYXRhLCAxKTsKKyAgICAgICAgbGVuID0gZ2VuX2ludChuX2xlbiwgMik7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFJlbGF4TkdWYWxpZGF0ZVB1c2hDRGF0YShjdHh0LCAoY29uc3QgeG1sQ2hhciAqKWRhdGEsIGxlbik7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFJlbGF4TkdWYWxpZEN0eHRQdHIobl9jdHh0LCBjdHh0LCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fZGF0YSwgKGNvbnN0IHhtbENoYXIgKilkYXRhLCAxKTsKKyAgICAgICAgZGVzX2ludChuX2xlbiwgbGVuLCAyKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFJlbGF4TkdWYWxpZGF0ZVB1c2hDRGF0YSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHh0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9kYXRhKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9sZW4pOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFJlbGF4TkdWYWxpZGF0ZVB1c2hFbGVtZW50KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxSZWxheE5HVmFsaWRDdHh0UHRyIGN0eHQ7IC8qIHRoZSB2YWxpZGF0aW9uIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHh0OworICAgIHhtbERvY1B0ciBkb2M7IC8qIGEgZG9jdW1lbnQgaW5zdGFuY2UgKi8KKyAgICBpbnQgbl9kb2M7CisgICAgeG1sTm9kZVB0ciBlbGVtOyAvKiBhbiBlbGVtZW50IGluc3RhbmNlICovCisgICAgaW50IG5fZWxlbTsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0cjtuX2N0eHQrKykgeworICAgIGZvciAobl9kb2MgPSAwO25fZG9jIDwgZ2VuX25iX3htbERvY1B0cjtuX2RvYysrKSB7CisgICAgZm9yIChuX2VsZW0gPSAwO25fZWxlbSA8IGdlbl9uYl94bWxOb2RlUHRyO25fZWxlbSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eHQgPSBnZW5feG1sUmVsYXhOR1ZhbGlkQ3R4dFB0cihuX2N0eHQsIDApOworICAgICAgICBkb2MgPSBnZW5feG1sRG9jUHRyKG5fZG9jLCAxKTsKKyAgICAgICAgZWxlbSA9IGdlbl94bWxOb2RlUHRyKG5fZWxlbSwgMik7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFJlbGF4TkdWYWxpZGF0ZVB1c2hFbGVtZW50KGN0eHQsIGRvYywgZWxlbSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFJlbGF4TkdWYWxpZEN0eHRQdHIobl9jdHh0LCBjdHh0LCAwKTsKKyAgICAgICAgZGVzX3htbERvY1B0cihuX2RvYywgZG9jLCAxKTsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl9lbGVtLCBlbGVtLCAyKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFJlbGF4TkdWYWxpZGF0ZVB1c2hFbGVtZW50IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2RvYyk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZWxlbSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sUmVsYXhQYXJzZXJTZXRGbGFnKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxSZWxheE5HUGFyc2VyQ3R4dFB0ciBjdHh0OyAvKiBhIFJlbGF4TkcgcGFyc2VyIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHh0OworICAgIGludCBmbGFnczsgLyogYSBzZXQgb2YgZmxhZ3MgdmFsdWVzICovCisgICAgaW50IG5fZmxhZ3M7CisKKyAgICBmb3IgKG5fY3R4dCA9IDA7bl9jdHh0IDwgZ2VuX25iX3htbFJlbGF4TkdQYXJzZXJDdHh0UHRyO25fY3R4dCsrKSB7CisgICAgZm9yIChuX2ZsYWdzID0gMDtuX2ZsYWdzIDwgZ2VuX25iX2ludDtuX2ZsYWdzKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4dCA9IGdlbl94bWxSZWxheE5HUGFyc2VyQ3R4dFB0cihuX2N0eHQsIDApOworICAgICAgICBmbGFncyA9IGdlbl9pbnQobl9mbGFncywgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFJlbGF4UGFyc2VyU2V0RmxhZyhjdHh0LCBmbGFncyk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFJlbGF4TkdQYXJzZXJDdHh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIGRlc19pbnQobl9mbGFncywgZmxhZ3MsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sUmVsYXhQYXJzZXJTZXRGbGFnIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2ZsYWdzKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworc3RhdGljIGludAordGVzdF9yZWxheG5nKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaWYgKHF1aWV0ID09IDApIHByaW50ZigiVGVzdGluZyByZWxheG5nIDogMTQgb2YgMjQgZnVuY3Rpb25zIC4uLlxuIik7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxSZWxheE5HRHVtcCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sUmVsYXhOR0R1bXBUcmVlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxSZWxheE5HR2V0UGFyc2VyRXJyb3JzKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxSZWxheE5HR2V0VmFsaWRFcnJvcnMoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFJlbGF4TkdJbml0VHlwZXMoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFJlbGF4TkdOZXdEb2NQYXJzZXJDdHh0KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxSZWxheE5HTmV3TWVtUGFyc2VyQ3R4dCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sUmVsYXhOR05ld1BhcnNlckN0eHQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFJlbGF4TkdOZXdWYWxpZEN0eHQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFJlbGF4TkdQYXJzZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sUmVsYXhOR1NldFBhcnNlckVycm9ycygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sUmVsYXhOR1NldFBhcnNlclN0cnVjdHVyZWRFcnJvcnMoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFJlbGF4TkdTZXRWYWxpZEVycm9ycygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sUmVsYXhOR1NldFZhbGlkU3RydWN0dXJlZEVycm9ycygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sUmVsYXhOR1ZhbGlkYXRlRG9jKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxSZWxheE5HVmFsaWRhdGVGdWxsRWxlbWVudCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sUmVsYXhOR1ZhbGlkYXRlUG9wRWxlbWVudCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sUmVsYXhOR1ZhbGlkYXRlUHVzaENEYXRhKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxSZWxheE5HVmFsaWRhdGVQdXNoRWxlbWVudCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sUmVsYXhQYXJzZXJTZXRGbGFnKCk7CisKKyAgICBpZiAodGVzdF9yZXQgIT0gMCkKKwlwcmludGYoIk1vZHVsZSByZWxheG5nOiAlZCBlcnJvcnNcbiIsIHRlc3RfcmV0KTsKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorc3RhdGljIGludAordGVzdF9zY2hlbWFzSW50ZXJuYWxzKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaWYgKHF1aWV0ID09IDApIHByaW50ZigiVGVzdGluZyBzY2hlbWFzSW50ZXJuYWxzIDogMCBvZiAyIGZ1bmN0aW9ucyAuLi5cbiIpOworCisgICAgaWYgKHRlc3RfcmV0ICE9IDApCisJcHJpbnRmKCJNb2R1bGUgc2NoZW1hc0ludGVybmFsczogJWQgZXJyb3JzXG4iLCB0ZXN0X3JldCk7CisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworc3RhdGljIGludAordGVzdF94bWxTY2hlbWF0cm9uTmV3RG9jUGFyc2VyQ3R4dCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworCisgICAgLyogbWlzc2luZyB0eXBlIHN1cHBvcnQgKi8KKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sU2NoZW1hdHJvbk5ld01lbVBhcnNlckN0eHQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworICAgIC8qIG1pc3NpbmcgdHlwZSBzdXBwb3J0ICovCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFNjaGVtYXRyb25OZXdQYXJzZXJDdHh0KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisKKyAgICAvKiBtaXNzaW5nIHR5cGUgc3VwcG9ydCAqLworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKyNpZmRlZiBMSUJYTUxfU0NIRU1BVFJPTl9FTkFCTEVECisKKyNkZWZpbmUgZ2VuX25iX3htbFNjaGVtYXRyb25QdHIgMQorc3RhdGljIHhtbFNjaGVtYXRyb25QdHIgZ2VuX3htbFNjaGVtYXRyb25QdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgcmV0dXJuKE5VTEwpOworfQorc3RhdGljIHZvaWQgZGVzX3htbFNjaGVtYXRyb25QdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIHhtbFNjaGVtYXRyb25QdHIgdmFsIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7Cit9CisjZW5kaWYKKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFNjaGVtYXRyb25OZXdWYWxpZEN0eHQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworICAgIC8qIG1pc3NpbmcgdHlwZSBzdXBwb3J0ICovCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworI2lmZGVmIExJQlhNTF9TQ0hFTUFUUk9OX0VOQUJMRUQKKworI2RlZmluZSBnZW5fbmJfeG1sU2NoZW1hdHJvblBhcnNlckN0eHRQdHIgMQorc3RhdGljIHhtbFNjaGVtYXRyb25QYXJzZXJDdHh0UHRyIGdlbl94bWxTY2hlbWF0cm9uUGFyc2VyQ3R4dFB0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICByZXR1cm4oTlVMTCk7Cit9CitzdGF0aWMgdm9pZCBkZXNfeG1sU2NoZW1hdHJvblBhcnNlckN0eHRQdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIHhtbFNjaGVtYXRyb25QYXJzZXJDdHh0UHRyIHZhbCBBVFRSSUJVVEVfVU5VU0VELCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworfQorI2VuZGlmCisKKworc3RhdGljIGludAordGVzdF94bWxTY2hlbWF0cm9uUGFyc2Uodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworICAgIC8qIG1pc3NpbmcgdHlwZSBzdXBwb3J0ICovCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworI2lmZGVmIExJQlhNTF9TQ0hFTUFUUk9OX0VOQUJMRUQKKworI2RlZmluZSBnZW5fbmJfeG1sU2NoZW1hdHJvblZhbGlkQ3R4dFB0ciAxCitzdGF0aWMgeG1sU2NoZW1hdHJvblZhbGlkQ3R4dFB0ciBnZW5feG1sU2NoZW1hdHJvblZhbGlkQ3R4dFB0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICByZXR1cm4oTlVMTCk7Cit9CitzdGF0aWMgdm9pZCBkZXNfeG1sU2NoZW1hdHJvblZhbGlkQ3R4dFB0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgeG1sU2NoZW1hdHJvblZhbGlkQ3R4dFB0ciB2YWwgQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKK30KKyNlbmRpZgorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sU2NoZW1hdHJvblNldFZhbGlkU3RydWN0dXJlZEVycm9ycyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworCisgICAgLyogbWlzc2luZyB0eXBlIHN1cHBvcnQgKi8KKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sU2NoZW1hdHJvblZhbGlkYXRlRG9jKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfU0NIRU1BVFJPTl9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxTY2hlbWF0cm9uVmFsaWRDdHh0UHRyIGN0eHQ7IC8qIHRoZSBzY2hlbWEgdmFsaWRhdGlvbiBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKyAgICB4bWxEb2NQdHIgaW5zdGFuY2U7IC8qIHRoZSBkb2N1bWVudCBpbnN0YWNlIHRyZWUgKi8KKyAgICBpbnQgbl9pbnN0YW5jZTsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfeG1sU2NoZW1hdHJvblZhbGlkQ3R4dFB0cjtuX2N0eHQrKykgeworICAgIGZvciAobl9pbnN0YW5jZSA9IDA7bl9pbnN0YW5jZSA8IGdlbl9uYl94bWxEb2NQdHI7bl9pbnN0YW5jZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eHQgPSBnZW5feG1sU2NoZW1hdHJvblZhbGlkQ3R4dFB0cihuX2N0eHQsIDApOworICAgICAgICBpbnN0YW5jZSA9IGdlbl94bWxEb2NQdHIobl9pbnN0YW5jZSwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFNjaGVtYXRyb25WYWxpZGF0ZURvYyhjdHh0LCBpbnN0YW5jZSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFNjaGVtYXRyb25WYWxpZEN0eHRQdHIobl9jdHh0LCBjdHh0LCAwKTsKKyAgICAgICAgZGVzX3htbERvY1B0cihuX2luc3RhbmNlLCBpbnN0YW5jZSwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxTY2hlbWF0cm9uVmFsaWRhdGVEb2MiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5faW5zdGFuY2UpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCitzdGF0aWMgaW50Cit0ZXN0X3NjaGVtYXRyb24odm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpZiAocXVpZXQgPT0gMCkgcHJpbnRmKCJUZXN0aW5nIHNjaGVtYXRyb24gOiAxIG9mIDEwIGZ1bmN0aW9ucyAuLi5cbiIpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU2NoZW1hdHJvbk5ld0RvY1BhcnNlckN0eHQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFNjaGVtYXRyb25OZXdNZW1QYXJzZXJDdHh0KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxTY2hlbWF0cm9uTmV3UGFyc2VyQ3R4dCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU2NoZW1hdHJvbk5ld1ZhbGlkQ3R4dCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU2NoZW1hdHJvblBhcnNlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxTY2hlbWF0cm9uU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxTY2hlbWF0cm9uVmFsaWRhdGVEb2MoKTsKKworICAgIGlmICh0ZXN0X3JldCAhPSAwKQorCXByaW50ZigiTW9kdWxlIHNjaGVtYXRyb246ICVkIGVycm9yc1xuIiwgdGVzdF9yZXQpOworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sQWRkQ2hpbGQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sTm9kZVB0ciByZXRfdmFsOworICAgIHhtbE5vZGVQdHIgcGFyZW50OyAvKiB0aGUgcGFyZW50IG5vZGUgKi8KKyAgICBpbnQgbl9wYXJlbnQ7CisgICAgeG1sTm9kZVB0ciBjdXI7IC8qIHRoZSBjaGlsZCBub2RlICovCisgICAgaW50IG5fY3VyOworCisgICAgZm9yIChuX3BhcmVudCA9IDA7bl9wYXJlbnQgPCBnZW5fbmJfeG1sTm9kZVB0cjtuX3BhcmVudCsrKSB7CisgICAgZm9yIChuX2N1ciA9IDA7bl9jdXIgPCBnZW5fbmJfeG1sTm9kZVB0cl9pbjtuX2N1cisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHBhcmVudCA9IGdlbl94bWxOb2RlUHRyKG5fcGFyZW50LCAwKTsKKyAgICAgICAgY3VyID0gZ2VuX3htbE5vZGVQdHJfaW4obl9jdXIsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxBZGRDaGlsZChwYXJlbnQsIGN1cik7CisgICAgICAgIGlmIChyZXRfdmFsID09IE5VTEwpIHsgeG1sRnJlZU5vZGUoY3VyKSA7IGN1ciA9IE5VTEwgOyB9CisgICAgICAgIGRlc3JldF94bWxOb2RlUHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxOb2RlUHRyKG5fcGFyZW50LCBwYXJlbnQsIDApOworICAgICAgICBkZXNfeG1sTm9kZVB0cl9pbihuX2N1ciwgY3VyLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbEFkZENoaWxkIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3BhcmVudCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3VyKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxBZGRDaGlsZExpc3Qodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sTm9kZVB0ciByZXRfdmFsOworICAgIHhtbE5vZGVQdHIgcGFyZW50OyAvKiB0aGUgcGFyZW50IG5vZGUgKi8KKyAgICBpbnQgbl9wYXJlbnQ7CisgICAgeG1sTm9kZVB0ciBjdXI7IC8qIHRoZSBmaXJzdCBub2RlIGluIHRoZSBsaXN0ICovCisgICAgaW50IG5fY3VyOworCisgICAgZm9yIChuX3BhcmVudCA9IDA7bl9wYXJlbnQgPCBnZW5fbmJfeG1sTm9kZVB0cjtuX3BhcmVudCsrKSB7CisgICAgZm9yIChuX2N1ciA9IDA7bl9jdXIgPCBnZW5fbmJfeG1sTm9kZVB0cl9pbjtuX2N1cisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHBhcmVudCA9IGdlbl94bWxOb2RlUHRyKG5fcGFyZW50LCAwKTsKKyAgICAgICAgY3VyID0gZ2VuX3htbE5vZGVQdHJfaW4obl9jdXIsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxBZGRDaGlsZExpc3QocGFyZW50LCBjdXIpOworICAgICAgICBpZiAocmV0X3ZhbCA9PSBOVUxMKSB7IHhtbEZyZWVOb2RlTGlzdChjdXIpIDsgY3VyID0gTlVMTCA7IH0KKyAgICAgICAgZGVzcmV0X3htbE5vZGVQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl9wYXJlbnQsIHBhcmVudCwgMCk7CisgICAgICAgIGRlc194bWxOb2RlUHRyX2luKG5fY3VyLCBjdXIsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sQWRkQ2hpbGRMaXN0IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3BhcmVudCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3VyKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxBZGROZXh0U2libGluZyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxOb2RlUHRyIHJldF92YWw7CisgICAgeG1sTm9kZVB0ciBjdXI7IC8qIHRoZSBjaGlsZCBub2RlICovCisgICAgaW50IG5fY3VyOworICAgIHhtbE5vZGVQdHIgZWxlbTsgLyogdGhlIG5ldyBub2RlICovCisgICAgaW50IG5fZWxlbTsKKworICAgIGZvciAobl9jdXIgPSAwO25fY3VyIDwgZ2VuX25iX3htbE5vZGVQdHI7bl9jdXIrKykgeworICAgIGZvciAobl9lbGVtID0gMDtuX2VsZW0gPCBnZW5fbmJfeG1sTm9kZVB0cl9pbjtuX2VsZW0rKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdXIgPSBnZW5feG1sTm9kZVB0cihuX2N1ciwgMCk7CisgICAgICAgIGVsZW0gPSBnZW5feG1sTm9kZVB0cl9pbihuX2VsZW0sIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxBZGROZXh0U2libGluZyhjdXIsIGVsZW0pOworICAgICAgICBpZiAocmV0X3ZhbCA9PSBOVUxMKSB7IHhtbEZyZWVOb2RlKGVsZW0pIDsgZWxlbSA9IE5VTEwgOyB9CisgICAgICAgIGRlc3JldF94bWxOb2RlUHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxOb2RlUHRyKG5fY3VyLCBjdXIsIDApOworICAgICAgICBkZXNfeG1sTm9kZVB0cl9pbihuX2VsZW0sIGVsZW0sIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sQWRkTmV4dFNpYmxpbmciLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3VyKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9lbGVtKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxBZGRQcmV2U2libGluZyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX1hJTkNMVURFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbE5vZGVQdHIgcmV0X3ZhbDsKKyAgICB4bWxOb2RlUHRyIGN1cjsgLyogdGhlIGNoaWxkIG5vZGUgKi8KKyAgICBpbnQgbl9jdXI7CisgICAgeG1sTm9kZVB0ciBlbGVtOyAvKiB0aGUgbmV3IG5vZGUgKi8KKyAgICBpbnQgbl9lbGVtOworCisgICAgZm9yIChuX2N1ciA9IDA7bl9jdXIgPCBnZW5fbmJfeG1sTm9kZVB0cjtuX2N1cisrKSB7CisgICAgZm9yIChuX2VsZW0gPSAwO25fZWxlbSA8IGdlbl9uYl94bWxOb2RlUHRyX2luO25fZWxlbSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN1ciA9IGdlbl94bWxOb2RlUHRyKG5fY3VyLCAwKTsKKyAgICAgICAgZWxlbSA9IGdlbl94bWxOb2RlUHRyX2luKG5fZWxlbSwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbEFkZFByZXZTaWJsaW5nKGN1ciwgZWxlbSk7CisgICAgICAgIGlmIChyZXRfdmFsID09IE5VTEwpIHsgeG1sRnJlZU5vZGUoZWxlbSkgOyBlbGVtID0gTlVMTCA7IH0KKyAgICAgICAgZGVzcmV0X3htbE5vZGVQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl9jdXIsIGN1ciwgMCk7CisgICAgICAgIGRlc194bWxOb2RlUHRyX2luKG5fZWxlbSwgZWxlbSwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxBZGRQcmV2U2libGluZyIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdXIpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2VsZW0pOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sQWRkU2libGluZyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxOb2RlUHRyIHJldF92YWw7CisgICAgeG1sTm9kZVB0ciBjdXI7IC8qIHRoZSBjaGlsZCBub2RlICovCisgICAgaW50IG5fY3VyOworICAgIHhtbE5vZGVQdHIgZWxlbTsgLyogdGhlIG5ldyBub2RlICovCisgICAgaW50IG5fZWxlbTsKKworICAgIGZvciAobl9jdXIgPSAwO25fY3VyIDwgZ2VuX25iX3htbE5vZGVQdHI7bl9jdXIrKykgeworICAgIGZvciAobl9lbGVtID0gMDtuX2VsZW0gPCBnZW5fbmJfeG1sTm9kZVB0cl9pbjtuX2VsZW0rKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdXIgPSBnZW5feG1sTm9kZVB0cihuX2N1ciwgMCk7CisgICAgICAgIGVsZW0gPSBnZW5feG1sTm9kZVB0cl9pbihuX2VsZW0sIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxBZGRTaWJsaW5nKGN1ciwgZWxlbSk7CisgICAgICAgIGlmIChyZXRfdmFsID09IE5VTEwpIHsgeG1sRnJlZU5vZGUoZWxlbSkgOyBlbGVtID0gTlVMTCA7IH0KKyAgICAgICAgZGVzcmV0X3htbE5vZGVQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl9jdXIsIGN1ciwgMCk7CisgICAgICAgIGRlc194bWxOb2RlUHRyX2luKG5fZWxlbSwgZWxlbSwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxBZGRTaWJsaW5nIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N1cik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZWxlbSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sQXR0clNlcmlhbGl6ZVR4dENvbnRlbnQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKKyNpZmRlZiBMSUJYTUxfT1VUUFVUX0VOQUJMRUQKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sQnVmZmVyUHRyIGJ1ZjsgLyogdGhlIFhNTCBidWZmZXIgb3V0cHV0ICovCisgICAgaW50IG5fYnVmOworICAgIHhtbERvY1B0ciBkb2M7IC8qIHRoZSBkb2N1bWVudCAqLworICAgIGludCBuX2RvYzsKKyAgICB4bWxBdHRyUHRyIGF0dHI7IC8qIHRoZSBhdHRyaWJ1dGUgbm9kZSAqLworICAgIGludCBuX2F0dHI7CisgICAgeG1sQ2hhciAqIHN0cmluZzsgLyogdGhlIHRleHQgY29udGVudCAqLworICAgIGludCBuX3N0cmluZzsKKworICAgIGZvciAobl9idWYgPSAwO25fYnVmIDwgZ2VuX25iX3htbEJ1ZmZlclB0cjtuX2J1ZisrKSB7CisgICAgZm9yIChuX2RvYyA9IDA7bl9kb2MgPCBnZW5fbmJfeG1sRG9jUHRyO25fZG9jKyspIHsKKyAgICBmb3IgKG5fYXR0ciA9IDA7bl9hdHRyIDwgZ2VuX25iX3htbEF0dHJQdHI7bl9hdHRyKyspIHsKKyAgICBmb3IgKG5fc3RyaW5nID0gMDtuX3N0cmluZyA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX3N0cmluZysrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGJ1ZiA9IGdlbl94bWxCdWZmZXJQdHIobl9idWYsIDApOworICAgICAgICBkb2MgPSBnZW5feG1sRG9jUHRyKG5fZG9jLCAxKTsKKyAgICAgICAgYXR0ciA9IGdlbl94bWxBdHRyUHRyKG5fYXR0ciwgMik7CisgICAgICAgIHN0cmluZyA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX3N0cmluZywgMyk7CisKKyAgICAgICAgeG1sQXR0clNlcmlhbGl6ZVR4dENvbnRlbnQoYnVmLCBkb2MsIGF0dHIsIChjb25zdCB4bWxDaGFyICopc3RyaW5nKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sQnVmZmVyUHRyKG5fYnVmLCBidWYsIDApOworICAgICAgICBkZXNfeG1sRG9jUHRyKG5fZG9jLCBkb2MsIDEpOworICAgICAgICBkZXNfeG1sQXR0clB0cihuX2F0dHIsIGF0dHIsIDIpOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9zdHJpbmcsIChjb25zdCB4bWxDaGFyICopc3RyaW5nLCAzKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbEF0dHJTZXJpYWxpemVUeHRDb250ZW50IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2J1Zik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZG9jKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9hdHRyKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9zdHJpbmcpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCisjZGVmaW5lIGdlbl9uYl9jb25zdF94bWxCdWZfcHRyIDEKK3N0YXRpYyB4bWxCdWYgKiBnZW5fY29uc3RfeG1sQnVmX3B0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICByZXR1cm4oTlVMTCk7Cit9CitzdGF0aWMgdm9pZCBkZXNfY29uc3RfeG1sQnVmX3B0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgY29uc3QgeG1sQnVmICogdmFsIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7Cit9CisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sQnVmQ29udGVudCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxDaGFyICogcmV0X3ZhbDsKKyAgICB4bWxCdWYgKiBidWY7IC8qIHRoZSBidWZmZXIgKi8KKyAgICBpbnQgbl9idWY7CisKKyAgICBmb3IgKG5fYnVmID0gMDtuX2J1ZiA8IGdlbl9uYl9jb25zdF94bWxCdWZfcHRyO25fYnVmKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgYnVmID0gZ2VuX2NvbnN0X3htbEJ1Zl9wdHIobl9idWYsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxCdWZDb250ZW50KChjb25zdCB4bWxCdWYgKilidWYpOworICAgICAgICBkZXNyZXRfeG1sQ2hhcl9wdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2NvbnN0X3htbEJ1Zl9wdHIobl9idWYsIChjb25zdCB4bWxCdWYgKilidWYsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sQnVmQ29udGVudCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9idWYpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKKyNkZWZpbmUgZ2VuX25iX3htbEJ1ZlB0ciAxCitzdGF0aWMgeG1sQnVmUHRyIGdlbl94bWxCdWZQdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgcmV0dXJuKE5VTEwpOworfQorc3RhdGljIHZvaWQgZGVzX3htbEJ1ZlB0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgeG1sQnVmUHRyIHZhbCBBVFRSSUJVVEVfVU5VU0VELCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworfQorCitzdGF0aWMgaW50Cit0ZXN0X3htbEJ1ZkVuZCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxDaGFyICogcmV0X3ZhbDsKKyAgICB4bWxCdWZQdHIgYnVmOyAvKiB0aGUgYnVmZmVyICovCisgICAgaW50IG5fYnVmOworCisgICAgZm9yIChuX2J1ZiA9IDA7bl9idWYgPCBnZW5fbmJfeG1sQnVmUHRyO25fYnVmKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgYnVmID0gZ2VuX3htbEJ1ZlB0cihuX2J1ZiwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbEJ1ZkVuZChidWYpOworICAgICAgICBkZXNyZXRfeG1sQ2hhcl9wdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbEJ1ZlB0cihuX2J1ZiwgYnVmLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbEJ1ZkVuZCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9idWYpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKKyNkZWZpbmUgZ2VuX25iX2NvbnN0X3htbE5vZGVfcHRyIDEKK3N0YXRpYyB4bWxOb2RlICogZ2VuX2NvbnN0X3htbE5vZGVfcHRyKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworICAgIHJldHVybihOVUxMKTsKK30KK3N0YXRpYyB2b2lkIGRlc19jb25zdF94bWxOb2RlX3B0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgY29uc3QgeG1sTm9kZSAqIHZhbCBBVFRSSUJVVEVfVU5VU0VELCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworfQorCitzdGF0aWMgaW50Cit0ZXN0X3htbEJ1ZkdldE5vZGVDb250ZW50KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbEJ1ZlB0ciBidWY7IC8qIGEgYnVmZmVyIHhtbEJ1ZlB0ciAqLworICAgIGludCBuX2J1ZjsKKyAgICB4bWxOb2RlICogY3VyOyAvKiB0aGUgbm9kZSBiZWluZyByZWFkICovCisgICAgaW50IG5fY3VyOworCisgICAgZm9yIChuX2J1ZiA9IDA7bl9idWYgPCBnZW5fbmJfeG1sQnVmUHRyO25fYnVmKyspIHsKKyAgICBmb3IgKG5fY3VyID0gMDtuX2N1ciA8IGdlbl9uYl9jb25zdF94bWxOb2RlX3B0cjtuX2N1cisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGJ1ZiA9IGdlbl94bWxCdWZQdHIobl9idWYsIDApOworICAgICAgICBjdXIgPSBnZW5fY29uc3RfeG1sTm9kZV9wdHIobl9jdXIsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxCdWZHZXROb2RlQ29udGVudChidWYsIChjb25zdCB4bWxOb2RlICopY3VyKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sQnVmUHRyKG5fYnVmLCBidWYsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sTm9kZV9wdHIobl9jdXIsIChjb25zdCB4bWxOb2RlICopY3VyLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbEJ1ZkdldE5vZGVDb250ZW50IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2J1Zik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3VyKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxCdWZOb2RlRHVtcCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworCisgICAgLyogbWlzc2luZyB0eXBlIHN1cHBvcnQgKi8KKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sQnVmU2hyaW5rKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisKKyAgICAvKiBtaXNzaW5nIHR5cGUgc3VwcG9ydCAqLworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworI2RlZmluZSBnZW5fbmJfY29uc3RfeG1sQnVmUHRyIDEKK3N0YXRpYyB4bWxCdWZQdHIgZ2VuX2NvbnN0X3htbEJ1ZlB0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICByZXR1cm4oTlVMTCk7Cit9CitzdGF0aWMgdm9pZCBkZXNfY29uc3RfeG1sQnVmUHRyKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCBjb25zdCB4bWxCdWZQdHIgdmFsIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7Cit9CisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sQnVmVXNlKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisKKyAgICAvKiBtaXNzaW5nIHR5cGUgc3VwcG9ydCAqLworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxCdWZmZXJBZGQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sQnVmZmVyUHRyIGJ1ZjsgLyogdGhlIGJ1ZmZlciB0byBkdW1wICovCisgICAgaW50IG5fYnVmOworICAgIHhtbENoYXIgKiBzdHI7IC8qIHRoZSAjeG1sQ2hhciBzdHJpbmcgKi8KKyAgICBpbnQgbl9zdHI7CisgICAgaW50IGxlbjsgLyogdGhlIG51bWJlciBvZiAjeG1sQ2hhciB0byBhZGQgKi8KKyAgICBpbnQgbl9sZW47CisKKyAgICBmb3IgKG5fYnVmID0gMDtuX2J1ZiA8IGdlbl9uYl94bWxCdWZmZXJQdHI7bl9idWYrKykgeworICAgIGZvciAobl9zdHIgPSAwO25fc3RyIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fc3RyKyspIHsKKyAgICBmb3IgKG5fbGVuID0gMDtuX2xlbiA8IGdlbl9uYl9pbnQ7bl9sZW4rKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBidWYgPSBnZW5feG1sQnVmZmVyUHRyKG5fYnVmLCAwKTsKKyAgICAgICAgc3RyID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fc3RyLCAxKTsKKyAgICAgICAgbGVuID0gZ2VuX2ludChuX2xlbiwgMik7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbEJ1ZmZlckFkZChidWYsIChjb25zdCB4bWxDaGFyICopc3RyLCBsZW4pOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxCdWZmZXJQdHIobl9idWYsIGJ1ZiwgMCk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX3N0ciwgKGNvbnN0IHhtbENoYXIgKilzdHIsIDEpOworICAgICAgICBkZXNfaW50KG5fbGVuLCBsZW4sIDIpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sQnVmZmVyQWRkIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2J1Zik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fc3RyKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9sZW4pOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxCdWZmZXJBZGRIZWFkKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbEJ1ZmZlclB0ciBidWY7IC8qIHRoZSBidWZmZXIgKi8KKyAgICBpbnQgbl9idWY7CisgICAgeG1sQ2hhciAqIHN0cjsgLyogdGhlICN4bWxDaGFyIHN0cmluZyAqLworICAgIGludCBuX3N0cjsKKyAgICBpbnQgbGVuOyAvKiB0aGUgbnVtYmVyIG9mICN4bWxDaGFyIHRvIGFkZCAqLworICAgIGludCBuX2xlbjsKKworICAgIGZvciAobl9idWYgPSAwO25fYnVmIDwgZ2VuX25iX3htbEJ1ZmZlclB0cjtuX2J1ZisrKSB7CisgICAgZm9yIChuX3N0ciA9IDA7bl9zdHIgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9zdHIrKykgeworICAgIGZvciAobl9sZW4gPSAwO25fbGVuIDwgZ2VuX25iX2ludDtuX2xlbisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGJ1ZiA9IGdlbl94bWxCdWZmZXJQdHIobl9idWYsIDApOworICAgICAgICBzdHIgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9zdHIsIDEpOworICAgICAgICBsZW4gPSBnZW5faW50KG5fbGVuLCAyKTsKKworICAgICAgICByZXRfdmFsID0geG1sQnVmZmVyQWRkSGVhZChidWYsIChjb25zdCB4bWxDaGFyICopc3RyLCBsZW4pOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxCdWZmZXJQdHIobl9idWYsIGJ1ZiwgMCk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX3N0ciwgKGNvbnN0IHhtbENoYXIgKilzdHIsIDEpOworICAgICAgICBkZXNfaW50KG5fbGVuLCBsZW4sIDIpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sQnVmZmVyQWRkSGVhZCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9idWYpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3N0cik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbGVuKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sQnVmZmVyQ0NhdCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxCdWZmZXJQdHIgYnVmOyAvKiB0aGUgYnVmZmVyIHRvIGR1bXAgKi8KKyAgICBpbnQgbl9idWY7CisgICAgY2hhciAqIHN0cjsgLyogdGhlIEMgY2hhciBzdHJpbmcgKi8KKyAgICBpbnQgbl9zdHI7CisKKyAgICBmb3IgKG5fYnVmID0gMDtuX2J1ZiA8IGdlbl9uYl94bWxCdWZmZXJQdHI7bl9idWYrKykgeworICAgIGZvciAobl9zdHIgPSAwO25fc3RyIDwgZ2VuX25iX2NvbnN0X2NoYXJfcHRyO25fc3RyKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgYnVmID0gZ2VuX3htbEJ1ZmZlclB0cihuX2J1ZiwgMCk7CisgICAgICAgIHN0ciA9IGdlbl9jb25zdF9jaGFyX3B0cihuX3N0ciwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbEJ1ZmZlckNDYXQoYnVmLCAoY29uc3QgY2hhciAqKXN0cik7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbEJ1ZmZlclB0cihuX2J1ZiwgYnVmLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X2NoYXJfcHRyKG5fc3RyLCAoY29uc3QgY2hhciAqKXN0ciwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxCdWZmZXJDQ2F0IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2J1Zik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fc3RyKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxCdWZmZXJDYXQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sQnVmZmVyUHRyIGJ1ZjsgLyogdGhlIGJ1ZmZlciB0byBhZGQgdG8gKi8KKyAgICBpbnQgbl9idWY7CisgICAgeG1sQ2hhciAqIHN0cjsgLyogdGhlICN4bWxDaGFyIHN0cmluZyAqLworICAgIGludCBuX3N0cjsKKworICAgIGZvciAobl9idWYgPSAwO25fYnVmIDwgZ2VuX25iX3htbEJ1ZmZlclB0cjtuX2J1ZisrKSB7CisgICAgZm9yIChuX3N0ciA9IDA7bl9zdHIgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9zdHIrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBidWYgPSBnZW5feG1sQnVmZmVyUHRyKG5fYnVmLCAwKTsKKyAgICAgICAgc3RyID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fc3RyLCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sQnVmZmVyQ2F0KGJ1ZiwgKGNvbnN0IHhtbENoYXIgKilzdHIpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxCdWZmZXJQdHIobl9idWYsIGJ1ZiwgMCk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX3N0ciwgKGNvbnN0IHhtbENoYXIgKilzdHIsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sQnVmZmVyQ2F0IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2J1Zik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fc3RyKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworI2RlZmluZSBnZW5fbmJfY29uc3RfeG1sQnVmZmVyX3B0ciAxCitzdGF0aWMgeG1sQnVmZmVyICogZ2VuX2NvbnN0X3htbEJ1ZmZlcl9wdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgcmV0dXJuKE5VTEwpOworfQorc3RhdGljIHZvaWQgZGVzX2NvbnN0X3htbEJ1ZmZlcl9wdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIGNvbnN0IHhtbEJ1ZmZlciAqIHZhbCBBVFRSSUJVVEVfVU5VU0VELCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworfQorCitzdGF0aWMgaW50Cit0ZXN0X3htbEJ1ZmZlckNvbnRlbnQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgY29uc3QgeG1sQ2hhciAqIHJldF92YWw7CisgICAgeG1sQnVmZmVyICogYnVmOyAvKiB0aGUgYnVmZmVyICovCisgICAgaW50IG5fYnVmOworCisgICAgZm9yIChuX2J1ZiA9IDA7bl9idWYgPCBnZW5fbmJfY29uc3RfeG1sQnVmZmVyX3B0cjtuX2J1ZisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGJ1ZiA9IGdlbl9jb25zdF94bWxCdWZmZXJfcHRyKG5fYnVmLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sQnVmZmVyQ29udGVudCgoY29uc3QgeG1sQnVmZmVyICopYnVmKTsKKyAgICAgICAgZGVzcmV0X2NvbnN0X3htbENoYXJfcHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19jb25zdF94bWxCdWZmZXJfcHRyKG5fYnVmLCAoY29uc3QgeG1sQnVmZmVyICopYnVmLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbEJ1ZmZlckNvbnRlbnQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fYnVmKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbEJ1ZmZlckNyZWF0ZSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxCdWZmZXJQdHIgcmV0X3ZhbDsKKworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworCisgICAgICAgIHJldF92YWwgPSB4bWxCdWZmZXJDcmVhdGUoKTsKKyAgICAgICAgZGVzcmV0X3htbEJ1ZmZlclB0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sQnVmZmVyQ3JlYXRlIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxCdWZmZXJDcmVhdGVTaXplKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisKKyAgICAvKiBtaXNzaW5nIHR5cGUgc3VwcG9ydCAqLworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxCdWZmZXJDcmVhdGVTdGF0aWModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworICAgIC8qIG1pc3NpbmcgdHlwZSBzdXBwb3J0ICovCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbEJ1ZmZlckRldGFjaCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxDaGFyICogcmV0X3ZhbDsKKyAgICB4bWxCdWZmZXJQdHIgYnVmOyAvKiB0aGUgYnVmZmVyICovCisgICAgaW50IG5fYnVmOworCisgICAgZm9yIChuX2J1ZiA9IDA7bl9idWYgPCBnZW5fbmJfeG1sQnVmZmVyUHRyO25fYnVmKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgYnVmID0gZ2VuX3htbEJ1ZmZlclB0cihuX2J1ZiwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbEJ1ZmZlckRldGFjaChidWYpOworICAgICAgICBkZXNyZXRfeG1sQ2hhcl9wdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbEJ1ZmZlclB0cihuX2J1ZiwgYnVmLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbEJ1ZmZlckRldGFjaCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9idWYpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sQnVmZmVyRW1wdHkodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sQnVmZmVyUHRyIGJ1ZjsgLyogdGhlIGJ1ZmZlciAqLworICAgIGludCBuX2J1ZjsKKworICAgIGZvciAobl9idWYgPSAwO25fYnVmIDwgZ2VuX25iX3htbEJ1ZmZlclB0cjtuX2J1ZisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGJ1ZiA9IGdlbl94bWxCdWZmZXJQdHIobl9idWYsIDApOworCisgICAgICAgIHhtbEJ1ZmZlckVtcHR5KGJ1Zik7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbEJ1ZmZlclB0cihuX2J1ZiwgYnVmLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbEJ1ZmZlckVtcHR5IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2J1Zik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxCdWZmZXJHcm93KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbEJ1ZmZlclB0ciBidWY7IC8qIHRoZSBidWZmZXIgKi8KKyAgICBpbnQgbl9idWY7CisgICAgdW5zaWduZWQgaW50IGxlbjsgLyogdGhlIG1pbmltdW0gZnJlZSBzaXplIHRvIGFsbG9jYXRlICovCisgICAgaW50IG5fbGVuOworCisgICAgZm9yIChuX2J1ZiA9IDA7bl9idWYgPCBnZW5fbmJfeG1sQnVmZmVyUHRyO25fYnVmKyspIHsKKyAgICBmb3IgKG5fbGVuID0gMDtuX2xlbiA8IGdlbl9uYl91bnNpZ25lZF9pbnQ7bl9sZW4rKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBidWYgPSBnZW5feG1sQnVmZmVyUHRyKG5fYnVmLCAwKTsKKyAgICAgICAgbGVuID0gZ2VuX3Vuc2lnbmVkX2ludChuX2xlbiwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbEJ1ZmZlckdyb3coYnVmLCBsZW4pOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxCdWZmZXJQdHIobl9idWYsIGJ1ZiwgMCk7CisgICAgICAgIGRlc191bnNpZ25lZF9pbnQobl9sZW4sIGxlbiwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxCdWZmZXJHcm93IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2J1Zik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbGVuKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxCdWZmZXJMZW5ndGgodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sQnVmZmVyICogYnVmOyAvKiB0aGUgYnVmZmVyICovCisgICAgaW50IG5fYnVmOworCisgICAgZm9yIChuX2J1ZiA9IDA7bl9idWYgPCBnZW5fbmJfY29uc3RfeG1sQnVmZmVyX3B0cjtuX2J1ZisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGJ1ZiA9IGdlbl9jb25zdF94bWxCdWZmZXJfcHRyKG5fYnVmLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sQnVmZmVyTGVuZ3RoKChjb25zdCB4bWxCdWZmZXIgKilidWYpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19jb25zdF94bWxCdWZmZXJfcHRyKG5fYnVmLCAoY29uc3QgeG1sQnVmZmVyICopYnVmLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbEJ1ZmZlckxlbmd0aCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9idWYpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sQnVmZmVyUmVzaXplKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbEJ1ZmZlclB0ciBidWY7IC8qIHRoZSBidWZmZXIgdG8gcmVzaXplICovCisgICAgaW50IG5fYnVmOworICAgIHVuc2lnbmVkIGludCBzaXplOyAvKiB0aGUgZGVzaXJlZCBzaXplICovCisgICAgaW50IG5fc2l6ZTsKKworICAgIGZvciAobl9idWYgPSAwO25fYnVmIDwgZ2VuX25iX3htbEJ1ZmZlclB0cjtuX2J1ZisrKSB7CisgICAgZm9yIChuX3NpemUgPSAwO25fc2l6ZSA8IGdlbl9uYl91bnNpZ25lZF9pbnQ7bl9zaXplKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgYnVmID0gZ2VuX3htbEJ1ZmZlclB0cihuX2J1ZiwgMCk7CisgICAgICAgIHNpemUgPSBnZW5fdW5zaWduZWRfaW50KG5fc2l6ZSwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbEJ1ZmZlclJlc2l6ZShidWYsIHNpemUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxCdWZmZXJQdHIobl9idWYsIGJ1ZiwgMCk7CisgICAgICAgIGRlc191bnNpZ25lZF9pbnQobl9zaXplLCBzaXplLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbEJ1ZmZlclJlc2l6ZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9idWYpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3NpemUpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbEJ1ZmZlclNldEFsbG9jYXRpb25TY2hlbWUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sQnVmZmVyUHRyIGJ1ZjsgLyogdGhlIGJ1ZmZlciB0byB0dW5lICovCisgICAgaW50IG5fYnVmOworICAgIHhtbEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUgc2NoZW1lOyAvKiBhbGxvY2F0aW9uIHNjaGVtZSB0byB1c2UgKi8KKyAgICBpbnQgbl9zY2hlbWU7CisKKyAgICBmb3IgKG5fYnVmID0gMDtuX2J1ZiA8IGdlbl9uYl94bWxCdWZmZXJQdHI7bl9idWYrKykgeworICAgIGZvciAobl9zY2hlbWUgPSAwO25fc2NoZW1lIDwgZ2VuX25iX3htbEJ1ZmZlckFsbG9jYXRpb25TY2hlbWU7bl9zY2hlbWUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBidWYgPSBnZW5feG1sQnVmZmVyUHRyKG5fYnVmLCAwKTsKKyAgICAgICAgc2NoZW1lID0gZ2VuX3htbEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUobl9zY2hlbWUsIDEpOworCisgICAgICAgIHhtbEJ1ZmZlclNldEFsbG9jYXRpb25TY2hlbWUoYnVmLCBzY2hlbWUpOworICAgICAgICBpZiAoKGJ1ZiAhPSBOVUxMKSAmJiAoc2NoZW1lID09IFhNTF9CVUZGRVJfQUxMT0NfSU1NVVRBQkxFKSAmJiAoYnVmLT5jb250ZW50ICE9IE5VTEwpICYmIChidWYtPmNvbnRlbnQgIT0gc3RhdGljX2J1Zl9jb250ZW50KSkgeyB4bWxGcmVlKGJ1Zi0+Y29udGVudCk7IGJ1Zi0+Y29udGVudCA9IE5VTEw7fQorICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxCdWZmZXJQdHIobl9idWYsIGJ1ZiwgMCk7CisgICAgICAgIGRlc194bWxCdWZmZXJBbGxvY2F0aW9uU2NoZW1lKG5fc2NoZW1lLCBzY2hlbWUsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sQnVmZmVyU2V0QWxsb2NhdGlvblNjaGVtZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9idWYpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3NjaGVtZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sQnVmZmVyU2hyaW5rKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbEJ1ZmZlclB0ciBidWY7IC8qIHRoZSBidWZmZXIgdG8gZHVtcCAqLworICAgIGludCBuX2J1ZjsKKyAgICB1bnNpZ25lZCBpbnQgbGVuOyAvKiB0aGUgbnVtYmVyIG9mIHhtbENoYXIgdG8gcmVtb3ZlICovCisgICAgaW50IG5fbGVuOworCisgICAgZm9yIChuX2J1ZiA9IDA7bl9idWYgPCBnZW5fbmJfeG1sQnVmZmVyUHRyO25fYnVmKyspIHsKKyAgICBmb3IgKG5fbGVuID0gMDtuX2xlbiA8IGdlbl9uYl91bnNpZ25lZF9pbnQ7bl9sZW4rKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBidWYgPSBnZW5feG1sQnVmZmVyUHRyKG5fYnVmLCAwKTsKKyAgICAgICAgbGVuID0gZ2VuX3Vuc2lnbmVkX2ludChuX2xlbiwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbEJ1ZmZlclNocmluayhidWYsIGxlbik7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbEJ1ZmZlclB0cihuX2J1ZiwgYnVmLCAwKTsKKyAgICAgICAgZGVzX3Vuc2lnbmVkX2ludChuX2xlbiwgbGVuLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbEJ1ZmZlclNocmluayIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9idWYpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2xlbik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sQnVmZmVyV3JpdGVDSEFSKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbEJ1ZmZlclB0ciBidWY7IC8qIHRoZSBYTUwgYnVmZmVyICovCisgICAgaW50IG5fYnVmOworICAgIHhtbENoYXIgKiBzdHJpbmc7IC8qIHRoZSBzdHJpbmcgdG8gYWRkICovCisgICAgaW50IG5fc3RyaW5nOworCisgICAgZm9yIChuX2J1ZiA9IDA7bl9idWYgPCBnZW5fbmJfeG1sQnVmZmVyUHRyO25fYnVmKyspIHsKKyAgICBmb3IgKG5fc3RyaW5nID0gMDtuX3N0cmluZyA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX3N0cmluZysrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGJ1ZiA9IGdlbl94bWxCdWZmZXJQdHIobl9idWYsIDApOworICAgICAgICBzdHJpbmcgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9zdHJpbmcsIDEpOworCisgICAgICAgIHhtbEJ1ZmZlcldyaXRlQ0hBUihidWYsIChjb25zdCB4bWxDaGFyICopc3RyaW5nKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sQnVmZmVyUHRyKG5fYnVmLCBidWYsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9zdHJpbmcsIChjb25zdCB4bWxDaGFyICopc3RyaW5nLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbEJ1ZmZlcldyaXRlQ0hBUiIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9idWYpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3N0cmluZyk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sQnVmZmVyV3JpdGVDaGFyKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbEJ1ZmZlclB0ciBidWY7IC8qIHRoZSBYTUwgYnVmZmVyIG91dHB1dCAqLworICAgIGludCBuX2J1ZjsKKyAgICBjaGFyICogc3RyaW5nOyAvKiB0aGUgc3RyaW5nIHRvIGFkZCAqLworICAgIGludCBuX3N0cmluZzsKKworICAgIGZvciAobl9idWYgPSAwO25fYnVmIDwgZ2VuX25iX3htbEJ1ZmZlclB0cjtuX2J1ZisrKSB7CisgICAgZm9yIChuX3N0cmluZyA9IDA7bl9zdHJpbmcgPCBnZW5fbmJfY29uc3RfY2hhcl9wdHI7bl9zdHJpbmcrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBidWYgPSBnZW5feG1sQnVmZmVyUHRyKG5fYnVmLCAwKTsKKyAgICAgICAgc3RyaW5nID0gZ2VuX2NvbnN0X2NoYXJfcHRyKG5fc3RyaW5nLCAxKTsKKworICAgICAgICB4bWxCdWZmZXJXcml0ZUNoYXIoYnVmLCAoY29uc3QgY2hhciAqKXN0cmluZyk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbEJ1ZmZlclB0cihuX2J1ZiwgYnVmLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X2NoYXJfcHRyKG5fc3RyaW5nLCAoY29uc3QgY2hhciAqKXN0cmluZywgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxCdWZmZXJXcml0ZUNoYXIiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fYnVmKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9zdHJpbmcpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbEJ1ZmZlcldyaXRlUXVvdGVkU3RyaW5nKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbEJ1ZmZlclB0ciBidWY7IC8qIHRoZSBYTUwgYnVmZmVyIG91dHB1dCAqLworICAgIGludCBuX2J1ZjsKKyAgICB4bWxDaGFyICogc3RyaW5nOyAvKiB0aGUgc3RyaW5nIHRvIGFkZCAqLworICAgIGludCBuX3N0cmluZzsKKworICAgIGZvciAobl9idWYgPSAwO25fYnVmIDwgZ2VuX25iX3htbEJ1ZmZlclB0cjtuX2J1ZisrKSB7CisgICAgZm9yIChuX3N0cmluZyA9IDA7bl9zdHJpbmcgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9zdHJpbmcrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBidWYgPSBnZW5feG1sQnVmZmVyUHRyKG5fYnVmLCAwKTsKKyAgICAgICAgc3RyaW5nID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fc3RyaW5nLCAxKTsKKworICAgICAgICB4bWxCdWZmZXJXcml0ZVF1b3RlZFN0cmluZyhidWYsIChjb25zdCB4bWxDaGFyICopc3RyaW5nKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sQnVmZmVyUHRyKG5fYnVmLCBidWYsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9zdHJpbmcsIChjb25zdCB4bWxDaGFyICopc3RyaW5nLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbEJ1ZmZlcldyaXRlUXVvdGVkU3RyaW5nIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2J1Zik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fc3RyaW5nKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxCdWlsZFFOYW1lKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbENoYXIgKiByZXRfdmFsOworICAgIHhtbENoYXIgKiBuY25hbWU7IC8qIHRoZSBOYW1lICovCisgICAgaW50IG5fbmNuYW1lOworICAgIHhtbENoYXIgKiBwcmVmaXg7IC8qIHRoZSBwcmVmaXggKi8KKyAgICBpbnQgbl9wcmVmaXg7CisgICAgeG1sQ2hhciAqIG1lbW9yeTsgLyogcHJlYWxsb2NhdGVkIG1lbW9yeSAqLworICAgIGludCBuX21lbW9yeTsKKyAgICBpbnQgbGVuOyAvKiBwcmVhbGxvY2F0ZWQgbWVtb3J5IGxlbmd0aCAqLworICAgIGludCBuX2xlbjsKKworICAgIGZvciAobl9uY25hbWUgPSAwO25fbmNuYW1lIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fbmNuYW1lKyspIHsKKyAgICBmb3IgKG5fcHJlZml4ID0gMDtuX3ByZWZpeCA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX3ByZWZpeCsrKSB7CisgICAgZm9yIChuX21lbW9yeSA9IDA7bl9tZW1vcnkgPCBnZW5fbmJfeG1sQ2hhcl9wdHI7bl9tZW1vcnkrKykgeworICAgIGZvciAobl9sZW4gPSAwO25fbGVuIDwgZ2VuX25iX2ludDtuX2xlbisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIG5jbmFtZSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX25jbmFtZSwgMCk7CisgICAgICAgIHByZWZpeCA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX3ByZWZpeCwgMSk7CisgICAgICAgIG1lbW9yeSA9IGdlbl94bWxDaGFyX3B0cihuX21lbW9yeSwgMik7CisgICAgICAgIGxlbiA9IGdlbl9pbnQobl9sZW4sIDMpOworCisgICAgICAgIHJldF92YWwgPSB4bWxCdWlsZFFOYW1lKChjb25zdCB4bWxDaGFyICopbmNuYW1lLCAoY29uc3QgeG1sQ2hhciAqKXByZWZpeCwgbWVtb3J5LCBsZW4pOworICAgICAgICBpZiAoKHJldF92YWwgIT0gTlVMTCkgJiYgKHJldF92YWwgIT0gbmNuYW1lKSAmJgorICAgICAgICAgICAgICAocmV0X3ZhbCAhPSBwcmVmaXgpICYmIChyZXRfdmFsICE9IG1lbW9yeSkpCisgICAgICAgICAgICAgIHhtbEZyZWUocmV0X3ZhbCk7CisJICByZXRfdmFsID0gTlVMTDsKKyAgICAgICAgZGVzcmV0X3htbENoYXJfcHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX25jbmFtZSwgKGNvbnN0IHhtbENoYXIgKiluY25hbWUsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9wcmVmaXgsIChjb25zdCB4bWxDaGFyICopcHJlZml4LCAxKTsKKyAgICAgICAgZGVzX3htbENoYXJfcHRyKG5fbWVtb3J5LCBtZW1vcnksIDIpOworICAgICAgICBkZXNfaW50KG5fbGVuLCBsZW4sIDMpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sQnVpbGRRTmFtZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9uY25hbWUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3ByZWZpeCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbWVtb3J5KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9sZW4pOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sQ2hpbGRFbGVtZW50Q291bnQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHVuc2lnbmVkIGxvbmcgcmV0X3ZhbDsKKyAgICB4bWxOb2RlUHRyIHBhcmVudDsgLyogdGhlIHBhcmVudCBub2RlICovCisgICAgaW50IG5fcGFyZW50OworCisgICAgZm9yIChuX3BhcmVudCA9IDA7bl9wYXJlbnQgPCBnZW5fbmJfeG1sTm9kZVB0cjtuX3BhcmVudCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHBhcmVudCA9IGdlbl94bWxOb2RlUHRyKG5fcGFyZW50LCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sQ2hpbGRFbGVtZW50Q291bnQocGFyZW50KTsKKyAgICAgICAgZGVzcmV0X3Vuc2lnbmVkX2xvbmcocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl9wYXJlbnQsIHBhcmVudCwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxDaGlsZEVsZW1lbnRDb3VudCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9wYXJlbnQpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxDb3B5RG9jKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfVFJFRV9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbERvY1B0ciByZXRfdmFsOworICAgIHhtbERvY1B0ciBkb2M7IC8qIHRoZSBkb2N1bWVudCAqLworICAgIGludCBuX2RvYzsKKyAgICBpbnQgcmVjdXJzaXZlOyAvKiBpZiBub3QgemVybyBkbyBhIHJlY3Vyc2l2ZSBjb3B5LiAqLworICAgIGludCBuX3JlY3Vyc2l2ZTsKKworICAgIGZvciAobl9kb2MgPSAwO25fZG9jIDwgZ2VuX25iX3htbERvY1B0cjtuX2RvYysrKSB7CisgICAgZm9yIChuX3JlY3Vyc2l2ZSA9IDA7bl9yZWN1cnNpdmUgPCBnZW5fbmJfaW50O25fcmVjdXJzaXZlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgZG9jID0gZ2VuX3htbERvY1B0cihuX2RvYywgMCk7CisgICAgICAgIHJlY3Vyc2l2ZSA9IGdlbl9pbnQobl9yZWN1cnNpdmUsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxDb3B5RG9jKGRvYywgcmVjdXJzaXZlKTsKKyAgICAgICAgZGVzcmV0X3htbERvY1B0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sRG9jUHRyKG5fZG9jLCBkb2MsIDApOworICAgICAgICBkZXNfaW50KG5fcmVjdXJzaXZlLCByZWN1cnNpdmUsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sQ29weURvYyIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9kb2MpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3JlY3Vyc2l2ZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxDb3B5RHRkKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfVFJFRV9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxEdGRQdHIgcmV0X3ZhbDsKKyAgICB4bWxEdGRQdHIgZHRkOyAvKiB0aGUgZHRkICovCisgICAgaW50IG5fZHRkOworCisgICAgZm9yIChuX2R0ZCA9IDA7bl9kdGQgPCBnZW5fbmJfeG1sRHRkUHRyO25fZHRkKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgZHRkID0gZ2VuX3htbER0ZFB0cihuX2R0ZCwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbENvcHlEdGQoZHRkKTsKKyAgICAgICAgZGVzcmV0X3htbER0ZFB0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sRHRkUHRyKG5fZHRkLCBkdGQsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sQ29weUR0ZCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9kdGQpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxDb3B5TmFtZXNwYWNlKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbE5zUHRyIHJldF92YWw7CisgICAgeG1sTnNQdHIgY3VyOyAvKiB0aGUgbmFtZXNwYWNlICovCisgICAgaW50IG5fY3VyOworCisgICAgZm9yIChuX2N1ciA9IDA7bl9jdXIgPCBnZW5fbmJfeG1sTnNQdHI7bl9jdXIrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdXIgPSBnZW5feG1sTnNQdHIobl9jdXIsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxDb3B5TmFtZXNwYWNlKGN1cik7CisgICAgICAgIGlmIChyZXRfdmFsICE9IE5VTEwpIHhtbEZyZWVOcyhyZXRfdmFsKTsKKyAgICAgICAgZGVzcmV0X3htbE5zUHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxOc1B0cihuX2N1ciwgY3VyLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbENvcHlOYW1lc3BhY2UiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3VyKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbENvcHlOYW1lc3BhY2VMaXN0KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbE5zUHRyIHJldF92YWw7CisgICAgeG1sTnNQdHIgY3VyOyAvKiB0aGUgZmlyc3QgbmFtZXNwYWNlICovCisgICAgaW50IG5fY3VyOworCisgICAgZm9yIChuX2N1ciA9IDA7bl9jdXIgPCBnZW5fbmJfeG1sTnNQdHI7bl9jdXIrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdXIgPSBnZW5feG1sTnNQdHIobl9jdXIsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxDb3B5TmFtZXNwYWNlTGlzdChjdXIpOworICAgICAgICBpZiAocmV0X3ZhbCAhPSBOVUxMKSB4bWxGcmVlTnNMaXN0KHJldF92YWwpOworICAgICAgICBkZXNyZXRfeG1sTnNQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbE5zUHRyKG5fY3VyLCBjdXIsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sQ29weU5hbWVzcGFjZUxpc3QiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3VyKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbENvcHlOb2RlKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbE5vZGVQdHIgcmV0X3ZhbDsKKyAgICB4bWxOb2RlUHRyIG5vZGU7IC8qIHRoZSBub2RlICovCisgICAgaW50IG5fbm9kZTsKKyAgICBpbnQgZXh0ZW5kZWQ7IC8qIGlmIDEgZG8gYSByZWN1cnNpdmUgY29weSAocHJvcGVydGllcywgbmFtZXNwYWNlcyBhbmQgY2hpbGRyZW4gd2hlbiBhcHBsaWNhYmxlKSBpZiAyIGNvcHkgcHJvcGVydGllcyBhbmQgbmFtZXNwYWNlcyAod2hlbiBhcHBsaWNhYmxlKSAqLworICAgIGludCBuX2V4dGVuZGVkOworCisgICAgZm9yIChuX25vZGUgPSAwO25fbm9kZSA8IGdlbl9uYl94bWxOb2RlUHRyO25fbm9kZSsrKSB7CisgICAgZm9yIChuX2V4dGVuZGVkID0gMDtuX2V4dGVuZGVkIDwgZ2VuX25iX2ludDtuX2V4dGVuZGVkKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgbm9kZSA9IGdlbl94bWxOb2RlUHRyKG5fbm9kZSwgMCk7CisgICAgICAgIGV4dGVuZGVkID0gZ2VuX2ludChuX2V4dGVuZGVkLCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sQ29weU5vZGUobm9kZSwgZXh0ZW5kZWQpOworICAgICAgICBkZXNyZXRfeG1sTm9kZVB0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sTm9kZVB0cihuX25vZGUsIG5vZGUsIDApOworICAgICAgICBkZXNfaW50KG5fZXh0ZW5kZWQsIGV4dGVuZGVkLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbENvcHlOb2RlIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25vZGUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2V4dGVuZGVkKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxDb3B5Tm9kZUxpc3Qodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sTm9kZVB0ciByZXRfdmFsOworICAgIHhtbE5vZGVQdHIgbm9kZTsgLyogdGhlIGZpcnN0IG5vZGUgaW4gdGhlIGxpc3QuICovCisgICAgaW50IG5fbm9kZTsKKworICAgIGZvciAobl9ub2RlID0gMDtuX25vZGUgPCBnZW5fbmJfeG1sTm9kZVB0cjtuX25vZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBub2RlID0gZ2VuX3htbE5vZGVQdHIobl9ub2RlLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sQ29weU5vZGVMaXN0KG5vZGUpOworICAgICAgICBkZXNyZXRfeG1sTm9kZVB0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sTm9kZVB0cihuX25vZGUsIG5vZGUsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sQ29weU5vZGVMaXN0IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25vZGUpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sQ29weVByb3Aodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sQXR0clB0ciByZXRfdmFsOworICAgIHhtbE5vZGVQdHIgdGFyZ2V0OyAvKiB0aGUgZWxlbWVudCB3aGVyZSB0aGUgYXR0cmlidXRlIHdpbGwgYmUgZ3JhZnRlZCAqLworICAgIGludCBuX3RhcmdldDsKKyAgICB4bWxBdHRyUHRyIGN1cjsgLyogdGhlIGF0dHJpYnV0ZSAqLworICAgIGludCBuX2N1cjsKKworICAgIGZvciAobl90YXJnZXQgPSAwO25fdGFyZ2V0IDwgZ2VuX25iX3htbE5vZGVQdHI7bl90YXJnZXQrKykgeworICAgIGZvciAobl9jdXIgPSAwO25fY3VyIDwgZ2VuX25iX3htbEF0dHJQdHI7bl9jdXIrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICB0YXJnZXQgPSBnZW5feG1sTm9kZVB0cihuX3RhcmdldCwgMCk7CisgICAgICAgIGN1ciA9IGdlbl94bWxBdHRyUHRyKG5fY3VyLCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sQ29weVByb3AodGFyZ2V0LCBjdXIpOworICAgICAgICBkZXNyZXRfeG1sQXR0clB0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sTm9kZVB0cihuX3RhcmdldCwgdGFyZ2V0LCAwKTsKKyAgICAgICAgZGVzX3htbEF0dHJQdHIobl9jdXIsIGN1ciwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxDb3B5UHJvcCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl90YXJnZXQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N1cik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sQ29weVByb3BMaXN0KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbEF0dHJQdHIgcmV0X3ZhbDsKKyAgICB4bWxOb2RlUHRyIHRhcmdldDsgLyogdGhlIGVsZW1lbnQgd2hlcmUgdGhlIGF0dHJpYnV0ZXMgd2lsbCBiZSBncmFmdGVkICovCisgICAgaW50IG5fdGFyZ2V0OworICAgIHhtbEF0dHJQdHIgY3VyOyAvKiB0aGUgZmlyc3QgYXR0cmlidXRlICovCisgICAgaW50IG5fY3VyOworCisgICAgZm9yIChuX3RhcmdldCA9IDA7bl90YXJnZXQgPCBnZW5fbmJfeG1sTm9kZVB0cjtuX3RhcmdldCsrKSB7CisgICAgZm9yIChuX2N1ciA9IDA7bl9jdXIgPCBnZW5fbmJfeG1sQXR0clB0cjtuX2N1cisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHRhcmdldCA9IGdlbl94bWxOb2RlUHRyKG5fdGFyZ2V0LCAwKTsKKyAgICAgICAgY3VyID0gZ2VuX3htbEF0dHJQdHIobl9jdXIsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxDb3B5UHJvcExpc3QodGFyZ2V0LCBjdXIpOworICAgICAgICBkZXNyZXRfeG1sQXR0clB0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sTm9kZVB0cihuX3RhcmdldCwgdGFyZ2V0LCAwKTsKKyAgICAgICAgZGVzX3htbEF0dHJQdHIobl9jdXIsIGN1ciwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxDb3B5UHJvcExpc3QiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdGFyZ2V0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdXIpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbENyZWF0ZUludFN1YnNldCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxEdGRQdHIgcmV0X3ZhbDsKKyAgICB4bWxEb2NQdHIgZG9jOyAvKiB0aGUgZG9jdW1lbnQgcG9pbnRlciAqLworICAgIGludCBuX2RvYzsKKyAgICB4bWxDaGFyICogbmFtZTsgLyogdGhlIERURCBuYW1lICovCisgICAgaW50IG5fbmFtZTsKKyAgICB4bWxDaGFyICogRXh0ZXJuYWxJRDsgLyogdGhlIGV4dGVybmFsIChQVUJMSUMpIElEICovCisgICAgaW50IG5fRXh0ZXJuYWxJRDsKKyAgICB4bWxDaGFyICogU3lzdGVtSUQ7IC8qIHRoZSBzeXN0ZW0gSUQgKi8KKyAgICBpbnQgbl9TeXN0ZW1JRDsKKworICAgIGZvciAobl9kb2MgPSAwO25fZG9jIDwgZ2VuX25iX3htbERvY1B0cjtuX2RvYysrKSB7CisgICAgZm9yIChuX25hbWUgPSAwO25fbmFtZSA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX25hbWUrKykgeworICAgIGZvciAobl9FeHRlcm5hbElEID0gMDtuX0V4dGVybmFsSUQgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9FeHRlcm5hbElEKyspIHsKKyAgICBmb3IgKG5fU3lzdGVtSUQgPSAwO25fU3lzdGVtSUQgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9TeXN0ZW1JRCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGRvYyA9IGdlbl94bWxEb2NQdHIobl9kb2MsIDApOworICAgICAgICBuYW1lID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgMSk7CisgICAgICAgIEV4dGVybmFsSUQgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9FeHRlcm5hbElELCAyKTsKKyAgICAgICAgU3lzdGVtSUQgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9TeXN0ZW1JRCwgMyk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbENyZWF0ZUludFN1YnNldChkb2MsIChjb25zdCB4bWxDaGFyICopbmFtZSwgKGNvbnN0IHhtbENoYXIgKilFeHRlcm5hbElELCAoY29uc3QgeG1sQ2hhciAqKVN5c3RlbUlEKTsKKyAgICAgICAgZGVzcmV0X3htbER0ZFB0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sRG9jUHRyKG5fZG9jLCBkb2MsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUsIDEpOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9FeHRlcm5hbElELCAoY29uc3QgeG1sQ2hhciAqKUV4dGVybmFsSUQsIDIpOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9TeXN0ZW1JRCwgKGNvbnN0IHhtbENoYXIgKilTeXN0ZW1JRCwgMyk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxDcmVhdGVJbnRTdWJzZXQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZG9jKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9uYW1lKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9FeHRlcm5hbElEKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9TeXN0ZW1JRCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworI2RlZmluZSBnZW5fbmJfeG1sRE9NV3JhcEN0eHRQdHIgMQorc3RhdGljIHhtbERPTVdyYXBDdHh0UHRyIGdlbl94bWxET01XcmFwQ3R4dFB0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICByZXR1cm4oTlVMTCk7Cit9CitzdGF0aWMgdm9pZCBkZXNfeG1sRE9NV3JhcEN0eHRQdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIHhtbERPTVdyYXBDdHh0UHRyIHZhbCBBVFRSSUJVVEVfVU5VU0VELCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworfQorCitzdGF0aWMgaW50Cit0ZXN0X3htbERPTVdyYXBBZG9wdE5vZGUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sRE9NV3JhcEN0eHRQdHIgY3R4dDsgLyogdGhlIG9wdGlvbmFsIGNvbnRleHQgZm9yIGN1c3RvbSBwcm9jZXNzaW5nICovCisgICAgaW50IG5fY3R4dDsKKyAgICB4bWxEb2NQdHIgc291cmNlRG9jOyAvKiB0aGUgb3B0aW9uYWwgc291cmNlRG9jICovCisgICAgaW50IG5fc291cmNlRG9jOworICAgIHhtbE5vZGVQdHIgbm9kZTsgLyogdGhlIG5vZGUgdG8gc3RhcnQgd2l0aCAqLworICAgIGludCBuX25vZGU7CisgICAgeG1sRG9jUHRyIGRlc3REb2M7IC8qIHRoZSBkZXN0aW5hdGlvbiBkb2MgKi8KKyAgICBpbnQgbl9kZXN0RG9jOworICAgIHhtbE5vZGVQdHIgZGVzdFBhcmVudDsgLyogdGhlIG9wdGlvbmFsIG5ldyBwYXJlbnQgb2YgQG5vZGUgaW4gQGRlc3REb2MgKi8KKyAgICBpbnQgbl9kZXN0UGFyZW50OworICAgIGludCBvcHRpb25zOyAvKiBvcHRpb24gZmxhZ3MgKi8KKyAgICBpbnQgbl9vcHRpb25zOworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxET01XcmFwQ3R4dFB0cjtuX2N0eHQrKykgeworICAgIGZvciAobl9zb3VyY2VEb2MgPSAwO25fc291cmNlRG9jIDwgZ2VuX25iX3htbERvY1B0cjtuX3NvdXJjZURvYysrKSB7CisgICAgZm9yIChuX25vZGUgPSAwO25fbm9kZSA8IGdlbl9uYl94bWxOb2RlUHRyO25fbm9kZSsrKSB7CisgICAgZm9yIChuX2Rlc3REb2MgPSAwO25fZGVzdERvYyA8IGdlbl9uYl94bWxEb2NQdHI7bl9kZXN0RG9jKyspIHsKKyAgICBmb3IgKG5fZGVzdFBhcmVudCA9IDA7bl9kZXN0UGFyZW50IDwgZ2VuX25iX3htbE5vZGVQdHI7bl9kZXN0UGFyZW50KyspIHsKKyAgICBmb3IgKG5fb3B0aW9ucyA9IDA7bl9vcHRpb25zIDwgZ2VuX25iX2ludDtuX29wdGlvbnMrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX3htbERPTVdyYXBDdHh0UHRyKG5fY3R4dCwgMCk7CisgICAgICAgIHNvdXJjZURvYyA9IGdlbl94bWxEb2NQdHIobl9zb3VyY2VEb2MsIDEpOworICAgICAgICBub2RlID0gZ2VuX3htbE5vZGVQdHIobl9ub2RlLCAyKTsKKyAgICAgICAgZGVzdERvYyA9IGdlbl94bWxEb2NQdHIobl9kZXN0RG9jLCAzKTsKKyAgICAgICAgZGVzdFBhcmVudCA9IGdlbl94bWxOb2RlUHRyKG5fZGVzdFBhcmVudCwgNCk7CisgICAgICAgIG9wdGlvbnMgPSBnZW5faW50KG5fb3B0aW9ucywgNSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbERPTVdyYXBBZG9wdE5vZGUoY3R4dCwgc291cmNlRG9jLCBub2RlLCBkZXN0RG9jLCBkZXN0UGFyZW50LCBvcHRpb25zKTsKKyAgICAgICAgaWYgKChub2RlICE9IE5VTEwpICYmIChub2RlLT5wYXJlbnQgPT0gTlVMTCkpIHt4bWxVbmxpbmtOb2RlKG5vZGUpO3htbEZyZWVOb2RlKG5vZGUpO25vZGUgPSBOVUxMO30KKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sRE9NV3JhcEN0eHRQdHIobl9jdHh0LCBjdHh0LCAwKTsKKyAgICAgICAgZGVzX3htbERvY1B0cihuX3NvdXJjZURvYywgc291cmNlRG9jLCAxKTsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl9ub2RlLCBub2RlLCAyKTsKKyAgICAgICAgZGVzX3htbERvY1B0cihuX2Rlc3REb2MsIGRlc3REb2MsIDMpOworICAgICAgICBkZXNfeG1sTm9kZVB0cihuX2Rlc3RQYXJlbnQsIGRlc3RQYXJlbnQsIDQpOworICAgICAgICBkZXNfaW50KG5fb3B0aW9ucywgb3B0aW9ucywgNSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxET01XcmFwQWRvcHROb2RlIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3NvdXJjZURvYyk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbm9kZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZGVzdERvYyk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZGVzdFBhcmVudCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fb3B0aW9ucyk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbERPTVdyYXBDbG9uZU5vZGUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sRE9NV3JhcEN0eHRQdHIgY3R4dDsgLyogdGhlIG9wdGlvbmFsIGNvbnRleHQgZm9yIGN1c3RvbSBwcm9jZXNzaW5nICovCisgICAgaW50IG5fY3R4dDsKKyAgICB4bWxEb2NQdHIgc291cmNlRG9jOyAvKiB0aGUgb3B0aW9uYWwgc291cmNlRG9jICovCisgICAgaW50IG5fc291cmNlRG9jOworICAgIHhtbE5vZGVQdHIgbm9kZTsgLyogdGhlIG5vZGUgdG8gc3RhcnQgd2l0aCAqLworICAgIGludCBuX25vZGU7CisgICAgeG1sTm9kZVB0ciAqIHJlc05vZGU7IC8qIHRoZSBjbG9uZSBvZiB0aGUgZ2l2ZW4gQG5vZGUgKi8KKyAgICBpbnQgbl9yZXNOb2RlOworICAgIHhtbERvY1B0ciBkZXN0RG9jOyAvKiB0aGUgZGVzdGluYXRpb24gZG9jICovCisgICAgaW50IG5fZGVzdERvYzsKKyAgICB4bWxOb2RlUHRyIGRlc3RQYXJlbnQ7IC8qIHRoZSBvcHRpb25hbCBuZXcgcGFyZW50IG9mIEBub2RlIGluIEBkZXN0RG9jICovCisgICAgaW50IG5fZGVzdFBhcmVudDsKKyAgICBpbnQgZGVlcDsgLyogZGVzY2VuZCBpbnRvIGNoaWxkIGlmIHNldCAqLworICAgIGludCBuX2RlZXA7CisgICAgaW50IG9wdGlvbnM7IC8qIG9wdGlvbiBmbGFncyAqLworICAgIGludCBuX29wdGlvbnM7CisKKyAgICBmb3IgKG5fY3R4dCA9IDA7bl9jdHh0IDwgZ2VuX25iX3htbERPTVdyYXBDdHh0UHRyO25fY3R4dCsrKSB7CisgICAgZm9yIChuX3NvdXJjZURvYyA9IDA7bl9zb3VyY2VEb2MgPCBnZW5fbmJfeG1sRG9jUHRyO25fc291cmNlRG9jKyspIHsKKyAgICBmb3IgKG5fbm9kZSA9IDA7bl9ub2RlIDwgZ2VuX25iX3htbE5vZGVQdHI7bl9ub2RlKyspIHsKKyAgICBmb3IgKG5fcmVzTm9kZSA9IDA7bl9yZXNOb2RlIDwgZ2VuX25iX3htbE5vZGVQdHJfcHRyO25fcmVzTm9kZSsrKSB7CisgICAgZm9yIChuX2Rlc3REb2MgPSAwO25fZGVzdERvYyA8IGdlbl9uYl94bWxEb2NQdHI7bl9kZXN0RG9jKyspIHsKKyAgICBmb3IgKG5fZGVzdFBhcmVudCA9IDA7bl9kZXN0UGFyZW50IDwgZ2VuX25iX3htbE5vZGVQdHI7bl9kZXN0UGFyZW50KyspIHsKKyAgICBmb3IgKG5fZGVlcCA9IDA7bl9kZWVwIDwgZ2VuX25iX2ludDtuX2RlZXArKykgeworICAgIGZvciAobl9vcHRpb25zID0gMDtuX29wdGlvbnMgPCBnZW5fbmJfaW50O25fb3B0aW9ucysrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eHQgPSBnZW5feG1sRE9NV3JhcEN0eHRQdHIobl9jdHh0LCAwKTsKKyAgICAgICAgc291cmNlRG9jID0gZ2VuX3htbERvY1B0cihuX3NvdXJjZURvYywgMSk7CisgICAgICAgIG5vZGUgPSBnZW5feG1sTm9kZVB0cihuX25vZGUsIDIpOworICAgICAgICByZXNOb2RlID0gZ2VuX3htbE5vZGVQdHJfcHRyKG5fcmVzTm9kZSwgMyk7CisgICAgICAgIGRlc3REb2MgPSBnZW5feG1sRG9jUHRyKG5fZGVzdERvYywgNCk7CisgICAgICAgIGRlc3RQYXJlbnQgPSBnZW5feG1sTm9kZVB0cihuX2Rlc3RQYXJlbnQsIDUpOworICAgICAgICBkZWVwID0gZ2VuX2ludChuX2RlZXAsIDYpOworICAgICAgICBvcHRpb25zID0gZ2VuX2ludChuX29wdGlvbnMsIDcpOworCisgICAgICAgIHJldF92YWwgPSB4bWxET01XcmFwQ2xvbmVOb2RlKGN0eHQsIHNvdXJjZURvYywgbm9kZSwgcmVzTm9kZSwgZGVzdERvYywgZGVzdFBhcmVudCwgZGVlcCwgb3B0aW9ucyk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbERPTVdyYXBDdHh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIGRlc194bWxEb2NQdHIobl9zb3VyY2VEb2MsIHNvdXJjZURvYywgMSk7CisgICAgICAgIGRlc194bWxOb2RlUHRyKG5fbm9kZSwgbm9kZSwgMik7CisgICAgICAgIGRlc194bWxOb2RlUHRyX3B0cihuX3Jlc05vZGUsIHJlc05vZGUsIDMpOworICAgICAgICBkZXNfeG1sRG9jUHRyKG5fZGVzdERvYywgZGVzdERvYywgNCk7CisgICAgICAgIGRlc194bWxOb2RlUHRyKG5fZGVzdFBhcmVudCwgZGVzdFBhcmVudCwgNSk7CisgICAgICAgIGRlc19pbnQobl9kZWVwLCBkZWVwLCA2KTsKKyAgICAgICAgZGVzX2ludChuX29wdGlvbnMsIG9wdGlvbnMsIDcpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sRE9NV3JhcENsb25lTm9kZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHh0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9zb3VyY2VEb2MpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25vZGUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3Jlc05vZGUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2Rlc3REb2MpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2Rlc3RQYXJlbnQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2RlZXApOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX29wdGlvbnMpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbERPTVdyYXBOZXdDdHh0KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisKKyAgICAvKiBtaXNzaW5nIHR5cGUgc3VwcG9ydCAqLworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxET01XcmFwUmVjb25jaWxlTmFtZXNwYWNlcyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxET01XcmFwQ3R4dFB0ciBjdHh0OyAvKiBET00gd3JhcHBlciBjb250ZXh0LCB1bnVzZWQgYXQgdGhlIG1vbWVudCAqLworICAgIGludCBuX2N0eHQ7CisgICAgeG1sTm9kZVB0ciBlbGVtOyAvKiB0aGUgZWxlbWVudC1ub2RlICovCisgICAgaW50IG5fZWxlbTsKKyAgICBpbnQgb3B0aW9uczsgLyogb3B0aW9uIGZsYWdzICovCisgICAgaW50IG5fb3B0aW9uczsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfeG1sRE9NV3JhcEN0eHRQdHI7bl9jdHh0KyspIHsKKyAgICBmb3IgKG5fZWxlbSA9IDA7bl9lbGVtIDwgZ2VuX25iX3htbE5vZGVQdHI7bl9lbGVtKyspIHsKKyAgICBmb3IgKG5fb3B0aW9ucyA9IDA7bl9vcHRpb25zIDwgZ2VuX25iX2ludDtuX29wdGlvbnMrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX3htbERPTVdyYXBDdHh0UHRyKG5fY3R4dCwgMCk7CisgICAgICAgIGVsZW0gPSBnZW5feG1sTm9kZVB0cihuX2VsZW0sIDEpOworICAgICAgICBvcHRpb25zID0gZ2VuX2ludChuX29wdGlvbnMsIDIpOworCisgICAgICAgIHJldF92YWwgPSB4bWxET01XcmFwUmVjb25jaWxlTmFtZXNwYWNlcyhjdHh0LCBlbGVtLCBvcHRpb25zKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sRE9NV3JhcEN0eHRQdHIobl9jdHh0LCBjdHh0LCAwKTsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl9lbGVtLCBlbGVtLCAxKTsKKyAgICAgICAgZGVzX2ludChuX29wdGlvbnMsIG9wdGlvbnMsIDIpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sRE9NV3JhcFJlY29uY2lsZU5hbWVzcGFjZXMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZWxlbSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fb3B0aW9ucyk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbERPTVdyYXBSZW1vdmVOb2RlKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbERPTVdyYXBDdHh0UHRyIGN0eHQ7IC8qIGEgRE9NIHdyYXBwZXIgY29udGV4dCAqLworICAgIGludCBuX2N0eHQ7CisgICAgeG1sRG9jUHRyIGRvYzsgLyogdGhlIGRvYyAqLworICAgIGludCBuX2RvYzsKKyAgICB4bWxOb2RlUHRyIG5vZGU7IC8qIHRoZSBub2RlIHRvIGJlIHJlbW92ZWQuICovCisgICAgaW50IG5fbm9kZTsKKyAgICBpbnQgb3B0aW9uczsgLyogc2V0IG9mIG9wdGlvbnMsIHVudXNlZCBhdCB0aGUgbW9tZW50ICovCisgICAgaW50IG5fb3B0aW9uczsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfeG1sRE9NV3JhcEN0eHRQdHI7bl9jdHh0KyspIHsKKyAgICBmb3IgKG5fZG9jID0gMDtuX2RvYyA8IGdlbl9uYl94bWxEb2NQdHI7bl9kb2MrKykgeworICAgIGZvciAobl9ub2RlID0gMDtuX25vZGUgPCBnZW5fbmJfeG1sTm9kZVB0cjtuX25vZGUrKykgeworICAgIGZvciAobl9vcHRpb25zID0gMDtuX29wdGlvbnMgPCBnZW5fbmJfaW50O25fb3B0aW9ucysrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eHQgPSBnZW5feG1sRE9NV3JhcEN0eHRQdHIobl9jdHh0LCAwKTsKKyAgICAgICAgZG9jID0gZ2VuX3htbERvY1B0cihuX2RvYywgMSk7CisgICAgICAgIG5vZGUgPSBnZW5feG1sTm9kZVB0cihuX25vZGUsIDIpOworICAgICAgICBvcHRpb25zID0gZ2VuX2ludChuX29wdGlvbnMsIDMpOworCisgICAgICAgIHJldF92YWwgPSB4bWxET01XcmFwUmVtb3ZlTm9kZShjdHh0LCBkb2MsIG5vZGUsIG9wdGlvbnMpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxET01XcmFwQ3R4dFB0cihuX2N0eHQsIGN0eHQsIDApOworICAgICAgICBkZXNfeG1sRG9jUHRyKG5fZG9jLCBkb2MsIDEpOworICAgICAgICBkZXNfeG1sTm9kZVB0cihuX25vZGUsIG5vZGUsIDIpOworICAgICAgICBkZXNfaW50KG5fb3B0aW9ucywgb3B0aW9ucywgMyk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxET01XcmFwUmVtb3ZlTm9kZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHh0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9kb2MpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25vZGUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX29wdGlvbnMpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sRG9jQ29weU5vZGUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sTm9kZVB0ciByZXRfdmFsOworICAgIHhtbE5vZGVQdHIgbm9kZTsgLyogdGhlIG5vZGUgKi8KKyAgICBpbnQgbl9ub2RlOworICAgIHhtbERvY1B0ciBkb2M7IC8qIHRoZSBkb2N1bWVudCAqLworICAgIGludCBuX2RvYzsKKyAgICBpbnQgZXh0ZW5kZWQ7IC8qIGlmIDEgZG8gYSByZWN1cnNpdmUgY29weSAocHJvcGVydGllcywgbmFtZXNwYWNlcyBhbmQgY2hpbGRyZW4gd2hlbiBhcHBsaWNhYmxlKSBpZiAyIGNvcHkgcHJvcGVydGllcyBhbmQgbmFtZXNwYWNlcyAod2hlbiBhcHBsaWNhYmxlKSAqLworICAgIGludCBuX2V4dGVuZGVkOworCisgICAgZm9yIChuX25vZGUgPSAwO25fbm9kZSA8IGdlbl9uYl94bWxOb2RlUHRyO25fbm9kZSsrKSB7CisgICAgZm9yIChuX2RvYyA9IDA7bl9kb2MgPCBnZW5fbmJfeG1sRG9jUHRyO25fZG9jKyspIHsKKyAgICBmb3IgKG5fZXh0ZW5kZWQgPSAwO25fZXh0ZW5kZWQgPCBnZW5fbmJfaW50O25fZXh0ZW5kZWQrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBub2RlID0gZ2VuX3htbE5vZGVQdHIobl9ub2RlLCAwKTsKKyAgICAgICAgZG9jID0gZ2VuX3htbERvY1B0cihuX2RvYywgMSk7CisgICAgICAgIGV4dGVuZGVkID0gZ2VuX2ludChuX2V4dGVuZGVkLCAyKTsKKworICAgICAgICByZXRfdmFsID0geG1sRG9jQ29weU5vZGUobm9kZSwgZG9jLCBleHRlbmRlZCk7CisgICAgICAgIGRlc3JldF94bWxOb2RlUHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxOb2RlUHRyKG5fbm9kZSwgbm9kZSwgMCk7CisgICAgICAgIGRlc194bWxEb2NQdHIobl9kb2MsIGRvYywgMSk7CisgICAgICAgIGRlc19pbnQobl9leHRlbmRlZCwgZXh0ZW5kZWQsIDIpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sRG9jQ29weU5vZGUiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbm9kZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZG9jKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9leHRlbmRlZCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbERvY0NvcHlOb2RlTGlzdCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxOb2RlUHRyIHJldF92YWw7CisgICAgeG1sRG9jUHRyIGRvYzsgLyogdGhlIHRhcmdldCBkb2N1bWVudCAqLworICAgIGludCBuX2RvYzsKKyAgICB4bWxOb2RlUHRyIG5vZGU7IC8qIHRoZSBmaXJzdCBub2RlIGluIHRoZSBsaXN0LiAqLworICAgIGludCBuX25vZGU7CisKKyAgICBmb3IgKG5fZG9jID0gMDtuX2RvYyA8IGdlbl9uYl94bWxEb2NQdHI7bl9kb2MrKykgeworICAgIGZvciAobl9ub2RlID0gMDtuX25vZGUgPCBnZW5fbmJfeG1sTm9kZVB0cjtuX25vZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBkb2MgPSBnZW5feG1sRG9jUHRyKG5fZG9jLCAwKTsKKyAgICAgICAgbm9kZSA9IGdlbl94bWxOb2RlUHRyKG5fbm9kZSwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbERvY0NvcHlOb2RlTGlzdChkb2MsIG5vZGUpOworICAgICAgICBkZXNyZXRfeG1sTm9kZVB0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sRG9jUHRyKG5fZG9jLCBkb2MsIDApOworICAgICAgICBkZXNfeG1sTm9kZVB0cihuX25vZGUsIG5vZGUsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sRG9jQ29weU5vZGVMaXN0IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2RvYyk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbm9kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sRG9jRHVtcCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICBGSUxFICogZjsgLyogdGhlIEZJTEUqICovCisgICAgaW50IG5fZjsKKyAgICB4bWxEb2NQdHIgY3VyOyAvKiB0aGUgZG9jdW1lbnQgKi8KKyAgICBpbnQgbl9jdXI7CisKKyAgICBmb3IgKG5fZiA9IDA7bl9mIDwgZ2VuX25iX0ZJTEVfcHRyO25fZisrKSB7CisgICAgZm9yIChuX2N1ciA9IDA7bl9jdXIgPCBnZW5fbmJfeG1sRG9jUHRyO25fY3VyKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgZiA9IGdlbl9GSUxFX3B0cihuX2YsIDApOworICAgICAgICBjdXIgPSBnZW5feG1sRG9jUHRyKG5fY3VyLCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sRG9jRHVtcChmLCBjdXIpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19GSUxFX3B0cihuX2YsIGYsIDApOworICAgICAgICBkZXNfeG1sRG9jUHRyKG5fY3VyLCBjdXIsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sRG9jRHVtcCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9mKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdXIpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sRG9jRHVtcEZvcm1hdE1lbW9yeSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxEb2NQdHIgY3VyOyAvKiB0aGUgZG9jdW1lbnQgKi8KKyAgICBpbnQgbl9jdXI7CisgICAgeG1sQ2hhciAqKiBtZW07IC8qIE9VVDogdGhlIG1lbW9yeSBwb2ludGVyICovCisgICAgaW50IG5fbWVtOworICAgIGludCAqIHNpemU7IC8qIE9VVDogdGhlIG1lbW9yeSBsZW5ndGggKi8KKyAgICBpbnQgbl9zaXplOworICAgIGludCBmb3JtYXQ7IC8qIHNob3VsZCBmb3JtYXR0aW5nIHNwYWNlcyBiZWVuIGFkZGVkICovCisgICAgaW50IG5fZm9ybWF0OworCisgICAgZm9yIChuX2N1ciA9IDA7bl9jdXIgPCBnZW5fbmJfeG1sRG9jUHRyO25fY3VyKyspIHsKKyAgICBmb3IgKG5fbWVtID0gMDtuX21lbSA8IGdlbl9uYl94bWxDaGFyX3B0cl9wdHI7bl9tZW0rKykgeworICAgIGZvciAobl9zaXplID0gMDtuX3NpemUgPCBnZW5fbmJfaW50X3B0cjtuX3NpemUrKykgeworICAgIGZvciAobl9mb3JtYXQgPSAwO25fZm9ybWF0IDwgZ2VuX25iX2ludDtuX2Zvcm1hdCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN1ciA9IGdlbl94bWxEb2NQdHIobl9jdXIsIDApOworICAgICAgICBtZW0gPSBnZW5feG1sQ2hhcl9wdHJfcHRyKG5fbWVtLCAxKTsKKyAgICAgICAgc2l6ZSA9IGdlbl9pbnRfcHRyKG5fc2l6ZSwgMik7CisgICAgICAgIGZvcm1hdCA9IGdlbl9pbnQobl9mb3JtYXQsIDMpOworCisgICAgICAgIHhtbERvY0R1bXBGb3JtYXRNZW1vcnkoY3VyLCBtZW0sIHNpemUsIGZvcm1hdCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbERvY1B0cihuX2N1ciwgY3VyLCAwKTsKKyAgICAgICAgZGVzX3htbENoYXJfcHRyX3B0cihuX21lbSwgbWVtLCAxKTsKKyAgICAgICAgZGVzX2ludF9wdHIobl9zaXplLCBzaXplLCAyKTsKKyAgICAgICAgZGVzX2ludChuX2Zvcm1hdCwgZm9ybWF0LCAzKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbERvY0R1bXBGb3JtYXRNZW1vcnkiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3VyKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9tZW0pOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3NpemUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2Zvcm1hdCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbERvY0R1bXBGb3JtYXRNZW1vcnlFbmModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sRG9jUHRyIG91dF9kb2M7IC8qIERvY3VtZW50IHRvIGdlbmVyYXRlIFhNTCB0ZXh0IGZyb20gKi8KKyAgICBpbnQgbl9vdXRfZG9jOworICAgIHhtbENoYXIgKiogZG9jX3R4dF9wdHI7IC8qIE1lbW9yeSBwb2ludGVyIGZvciBhbGxvY2F0ZWQgWE1MIHRleHQgKi8KKyAgICBpbnQgbl9kb2NfdHh0X3B0cjsKKyAgICBpbnQgKiBkb2NfdHh0X2xlbjsgLyogTGVuZ3RoIG9mIHRoZSBnZW5lcmF0ZWQgWE1MIHRleHQgKi8KKyAgICBpbnQgbl9kb2NfdHh0X2xlbjsKKyAgICBjaGFyICogdHh0X2VuY29kaW5nOyAvKiBDaGFyYWN0ZXIgZW5jb2RpbmcgdG8gdXNlIHdoZW4gZ2VuZXJhdGluZyBYTUwgdGV4dCAqLworICAgIGludCBuX3R4dF9lbmNvZGluZzsKKyAgICBpbnQgZm9ybWF0OyAvKiBzaG91bGQgZm9ybWF0dGluZyBzcGFjZXMgYmVlbiBhZGRlZCAqLworICAgIGludCBuX2Zvcm1hdDsKKworICAgIGZvciAobl9vdXRfZG9jID0gMDtuX291dF9kb2MgPCBnZW5fbmJfeG1sRG9jUHRyO25fb3V0X2RvYysrKSB7CisgICAgZm9yIChuX2RvY190eHRfcHRyID0gMDtuX2RvY190eHRfcHRyIDwgZ2VuX25iX3htbENoYXJfcHRyX3B0cjtuX2RvY190eHRfcHRyKyspIHsKKyAgICBmb3IgKG5fZG9jX3R4dF9sZW4gPSAwO25fZG9jX3R4dF9sZW4gPCBnZW5fbmJfaW50X3B0cjtuX2RvY190eHRfbGVuKyspIHsKKyAgICBmb3IgKG5fdHh0X2VuY29kaW5nID0gMDtuX3R4dF9lbmNvZGluZyA8IGdlbl9uYl9jb25zdF9jaGFyX3B0cjtuX3R4dF9lbmNvZGluZysrKSB7CisgICAgZm9yIChuX2Zvcm1hdCA9IDA7bl9mb3JtYXQgPCBnZW5fbmJfaW50O25fZm9ybWF0KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgb3V0X2RvYyA9IGdlbl94bWxEb2NQdHIobl9vdXRfZG9jLCAwKTsKKyAgICAgICAgZG9jX3R4dF9wdHIgPSBnZW5feG1sQ2hhcl9wdHJfcHRyKG5fZG9jX3R4dF9wdHIsIDEpOworICAgICAgICBkb2NfdHh0X2xlbiA9IGdlbl9pbnRfcHRyKG5fZG9jX3R4dF9sZW4sIDIpOworICAgICAgICB0eHRfZW5jb2RpbmcgPSBnZW5fY29uc3RfY2hhcl9wdHIobl90eHRfZW5jb2RpbmcsIDMpOworICAgICAgICBmb3JtYXQgPSBnZW5faW50KG5fZm9ybWF0LCA0KTsKKworICAgICAgICB4bWxEb2NEdW1wRm9ybWF0TWVtb3J5RW5jKG91dF9kb2MsIGRvY190eHRfcHRyLCBkb2NfdHh0X2xlbiwgKGNvbnN0IGNoYXIgKil0eHRfZW5jb2RpbmcsIGZvcm1hdCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbERvY1B0cihuX291dF9kb2MsIG91dF9kb2MsIDApOworICAgICAgICBkZXNfeG1sQ2hhcl9wdHJfcHRyKG5fZG9jX3R4dF9wdHIsIGRvY190eHRfcHRyLCAxKTsKKyAgICAgICAgZGVzX2ludF9wdHIobl9kb2NfdHh0X2xlbiwgZG9jX3R4dF9sZW4sIDIpOworICAgICAgICBkZXNfY29uc3RfY2hhcl9wdHIobl90eHRfZW5jb2RpbmcsIChjb25zdCBjaGFyICopdHh0X2VuY29kaW5nLCAzKTsKKyAgICAgICAgZGVzX2ludChuX2Zvcm1hdCwgZm9ybWF0LCA0KTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbERvY0R1bXBGb3JtYXRNZW1vcnlFbmMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fb3V0X2RvYyk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZG9jX3R4dF9wdHIpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2RvY190eHRfbGVuKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl90eHRfZW5jb2RpbmcpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2Zvcm1hdCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxEb2NEdW1wTWVtb3J5KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbERvY1B0ciBjdXI7IC8qIHRoZSBkb2N1bWVudCAqLworICAgIGludCBuX2N1cjsKKyAgICB4bWxDaGFyICoqIG1lbTsgLyogT1VUOiB0aGUgbWVtb3J5IHBvaW50ZXIgKi8KKyAgICBpbnQgbl9tZW07CisgICAgaW50ICogc2l6ZTsgLyogT1VUOiB0aGUgbWVtb3J5IGxlbmd0aCAqLworICAgIGludCBuX3NpemU7CisKKyAgICBmb3IgKG5fY3VyID0gMDtuX2N1ciA8IGdlbl9uYl94bWxEb2NQdHI7bl9jdXIrKykgeworICAgIGZvciAobl9tZW0gPSAwO25fbWVtIDwgZ2VuX25iX3htbENoYXJfcHRyX3B0cjtuX21lbSsrKSB7CisgICAgZm9yIChuX3NpemUgPSAwO25fc2l6ZSA8IGdlbl9uYl9pbnRfcHRyO25fc2l6ZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN1ciA9IGdlbl94bWxEb2NQdHIobl9jdXIsIDApOworICAgICAgICBtZW0gPSBnZW5feG1sQ2hhcl9wdHJfcHRyKG5fbWVtLCAxKTsKKyAgICAgICAgc2l6ZSA9IGdlbl9pbnRfcHRyKG5fc2l6ZSwgMik7CisKKyAgICAgICAgeG1sRG9jRHVtcE1lbW9yeShjdXIsIG1lbSwgc2l6ZSk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbERvY1B0cihuX2N1ciwgY3VyLCAwKTsKKyAgICAgICAgZGVzX3htbENoYXJfcHRyX3B0cihuX21lbSwgbWVtLCAxKTsKKyAgICAgICAgZGVzX2ludF9wdHIobl9zaXplLCBzaXplLCAyKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbERvY0R1bXBNZW1vcnkiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3VyKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9tZW0pOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3NpemUpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbERvY0R1bXBNZW1vcnlFbmModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sRG9jUHRyIG91dF9kb2M7IC8qIERvY3VtZW50IHRvIGdlbmVyYXRlIFhNTCB0ZXh0IGZyb20gKi8KKyAgICBpbnQgbl9vdXRfZG9jOworICAgIHhtbENoYXIgKiogZG9jX3R4dF9wdHI7IC8qIE1lbW9yeSBwb2ludGVyIGZvciBhbGxvY2F0ZWQgWE1MIHRleHQgKi8KKyAgICBpbnQgbl9kb2NfdHh0X3B0cjsKKyAgICBpbnQgKiBkb2NfdHh0X2xlbjsgLyogTGVuZ3RoIG9mIHRoZSBnZW5lcmF0ZWQgWE1MIHRleHQgKi8KKyAgICBpbnQgbl9kb2NfdHh0X2xlbjsKKyAgICBjaGFyICogdHh0X2VuY29kaW5nOyAvKiBDaGFyYWN0ZXIgZW5jb2RpbmcgdG8gdXNlIHdoZW4gZ2VuZXJhdGluZyBYTUwgdGV4dCAqLworICAgIGludCBuX3R4dF9lbmNvZGluZzsKKworICAgIGZvciAobl9vdXRfZG9jID0gMDtuX291dF9kb2MgPCBnZW5fbmJfeG1sRG9jUHRyO25fb3V0X2RvYysrKSB7CisgICAgZm9yIChuX2RvY190eHRfcHRyID0gMDtuX2RvY190eHRfcHRyIDwgZ2VuX25iX3htbENoYXJfcHRyX3B0cjtuX2RvY190eHRfcHRyKyspIHsKKyAgICBmb3IgKG5fZG9jX3R4dF9sZW4gPSAwO25fZG9jX3R4dF9sZW4gPCBnZW5fbmJfaW50X3B0cjtuX2RvY190eHRfbGVuKyspIHsKKyAgICBmb3IgKG5fdHh0X2VuY29kaW5nID0gMDtuX3R4dF9lbmNvZGluZyA8IGdlbl9uYl9jb25zdF9jaGFyX3B0cjtuX3R4dF9lbmNvZGluZysrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIG91dF9kb2MgPSBnZW5feG1sRG9jUHRyKG5fb3V0X2RvYywgMCk7CisgICAgICAgIGRvY190eHRfcHRyID0gZ2VuX3htbENoYXJfcHRyX3B0cihuX2RvY190eHRfcHRyLCAxKTsKKyAgICAgICAgZG9jX3R4dF9sZW4gPSBnZW5faW50X3B0cihuX2RvY190eHRfbGVuLCAyKTsKKyAgICAgICAgdHh0X2VuY29kaW5nID0gZ2VuX2NvbnN0X2NoYXJfcHRyKG5fdHh0X2VuY29kaW5nLCAzKTsKKworICAgICAgICB4bWxEb2NEdW1wTWVtb3J5RW5jKG91dF9kb2MsIGRvY190eHRfcHRyLCBkb2NfdHh0X2xlbiwgKGNvbnN0IGNoYXIgKil0eHRfZW5jb2RpbmcpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxEb2NQdHIobl9vdXRfZG9jLCBvdXRfZG9jLCAwKTsKKyAgICAgICAgZGVzX3htbENoYXJfcHRyX3B0cihuX2RvY190eHRfcHRyLCBkb2NfdHh0X3B0ciwgMSk7CisgICAgICAgIGRlc19pbnRfcHRyKG5fZG9jX3R4dF9sZW4sIGRvY190eHRfbGVuLCAyKTsKKyAgICAgICAgZGVzX2NvbnN0X2NoYXJfcHRyKG5fdHh0X2VuY29kaW5nLCAoY29uc3QgY2hhciAqKXR4dF9lbmNvZGluZywgMyk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxEb2NEdW1wTWVtb3J5RW5jIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX291dF9kb2MpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2RvY190eHRfcHRyKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9kb2NfdHh0X2xlbik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdHh0X2VuY29kaW5nKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sRG9jRm9ybWF0RHVtcCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICBGSUxFICogZjsgLyogdGhlIEZJTEUqICovCisgICAgaW50IG5fZjsKKyAgICB4bWxEb2NQdHIgY3VyOyAvKiB0aGUgZG9jdW1lbnQgKi8KKyAgICBpbnQgbl9jdXI7CisgICAgaW50IGZvcm1hdDsgLyogc2hvdWxkIGZvcm1hdHRpbmcgc3BhY2VzIGJlZW4gYWRkZWQgKi8KKyAgICBpbnQgbl9mb3JtYXQ7CisKKyAgICBmb3IgKG5fZiA9IDA7bl9mIDwgZ2VuX25iX0ZJTEVfcHRyO25fZisrKSB7CisgICAgZm9yIChuX2N1ciA9IDA7bl9jdXIgPCBnZW5fbmJfeG1sRG9jUHRyO25fY3VyKyspIHsKKyAgICBmb3IgKG5fZm9ybWF0ID0gMDtuX2Zvcm1hdCA8IGdlbl9uYl9pbnQ7bl9mb3JtYXQrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBmID0gZ2VuX0ZJTEVfcHRyKG5fZiwgMCk7CisgICAgICAgIGN1ciA9IGdlbl94bWxEb2NQdHIobl9jdXIsIDEpOworICAgICAgICBmb3JtYXQgPSBnZW5faW50KG5fZm9ybWF0LCAyKTsKKworICAgICAgICByZXRfdmFsID0geG1sRG9jRm9ybWF0RHVtcChmLCBjdXIsIGZvcm1hdCk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX0ZJTEVfcHRyKG5fZiwgZiwgMCk7CisgICAgICAgIGRlc194bWxEb2NQdHIobl9jdXIsIGN1ciwgMSk7CisgICAgICAgIGRlc19pbnQobl9mb3JtYXQsIGZvcm1hdCwgMik7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxEb2NGb3JtYXREdW1wIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2YpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N1cik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZm9ybWF0KTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxEb2NHZXRSb290RWxlbWVudCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxOb2RlUHRyIHJldF92YWw7CisgICAgeG1sRG9jICogZG9jOyAvKiB0aGUgZG9jdW1lbnQgKi8KKyAgICBpbnQgbl9kb2M7CisKKyAgICBmb3IgKG5fZG9jID0gMDtuX2RvYyA8IGdlbl9uYl9jb25zdF94bWxEb2NfcHRyO25fZG9jKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgZG9jID0gZ2VuX2NvbnN0X3htbERvY19wdHIobl9kb2MsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxEb2NHZXRSb290RWxlbWVudCgoY29uc3QgeG1sRG9jICopZG9jKTsKKyAgICAgICAgZGVzcmV0X3htbE5vZGVQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2NvbnN0X3htbERvY19wdHIobl9kb2MsIChjb25zdCB4bWxEb2MgKilkb2MsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sRG9jR2V0Um9vdEVsZW1lbnQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZG9jKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbERvY1NldFJvb3RFbGVtZW50KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfVFJFRV9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sTm9kZVB0ciByZXRfdmFsOworICAgIHhtbERvY1B0ciBkb2M7IC8qIHRoZSBkb2N1bWVudCAqLworICAgIGludCBuX2RvYzsKKyAgICB4bWxOb2RlUHRyIHJvb3Q7IC8qIHRoZSBuZXcgZG9jdW1lbnQgcm9vdCBlbGVtZW50LCBpZiByb290IGlzIE5VTEwgbm8gYWN0aW9uIGlzIHRha2VuLCB0byByZW1vdmUgYSBub2RlIGZyb20gYSBkb2N1bWVudCB1c2UgeG1sVW5saW5rTm9kZShyb290KSBpbnN0ZWFkLiAqLworICAgIGludCBuX3Jvb3Q7CisKKyAgICBmb3IgKG5fZG9jID0gMDtuX2RvYyA8IGdlbl9uYl94bWxEb2NQdHI7bl9kb2MrKykgeworICAgIGZvciAobl9yb290ID0gMDtuX3Jvb3QgPCBnZW5fbmJfeG1sTm9kZVB0cl9pbjtuX3Jvb3QrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBkb2MgPSBnZW5feG1sRG9jUHRyKG5fZG9jLCAwKTsKKyAgICAgICAgcm9vdCA9IGdlbl94bWxOb2RlUHRyX2luKG5fcm9vdCwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbERvY1NldFJvb3RFbGVtZW50KGRvYywgcm9vdCk7CisgICAgICAgIGlmIChkb2MgPT0gTlVMTCkgeyB4bWxGcmVlTm9kZShyb290KSA7IHJvb3QgPSBOVUxMIDsgfQorICAgICAgICBkZXNyZXRfeG1sTm9kZVB0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sRG9jUHRyKG5fZG9jLCBkb2MsIDApOworICAgICAgICBkZXNfeG1sTm9kZVB0cl9pbihuX3Jvb3QsIHJvb3QsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sRG9jU2V0Um9vdEVsZW1lbnQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZG9jKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9yb290KTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbEVsZW1EdW1wKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIEZJTEUgKiBmOyAvKiB0aGUgRklMRSAqIGZvciB0aGUgb3V0cHV0ICovCisgICAgaW50IG5fZjsKKyAgICB4bWxEb2NQdHIgZG9jOyAvKiB0aGUgZG9jdW1lbnQgKi8KKyAgICBpbnQgbl9kb2M7CisgICAgeG1sTm9kZVB0ciBjdXI7IC8qIHRoZSBjdXJyZW50IG5vZGUgKi8KKyAgICBpbnQgbl9jdXI7CisKKyAgICBmb3IgKG5fZiA9IDA7bl9mIDwgZ2VuX25iX0ZJTEVfcHRyO25fZisrKSB7CisgICAgZm9yIChuX2RvYyA9IDA7bl9kb2MgPCBnZW5fbmJfeG1sRG9jUHRyO25fZG9jKyspIHsKKyAgICBmb3IgKG5fY3VyID0gMDtuX2N1ciA8IGdlbl9uYl94bWxOb2RlUHRyO25fY3VyKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgZiA9IGdlbl9GSUxFX3B0cihuX2YsIDApOworICAgICAgICBkb2MgPSBnZW5feG1sRG9jUHRyKG5fZG9jLCAxKTsKKyAgICAgICAgY3VyID0gZ2VuX3htbE5vZGVQdHIobl9jdXIsIDIpOworCisgICAgICAgIHhtbEVsZW1EdW1wKGYsIGRvYywgY3VyKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfRklMRV9wdHIobl9mLCBmLCAwKTsKKyAgICAgICAgZGVzX3htbERvY1B0cihuX2RvYywgZG9jLCAxKTsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl9jdXIsIGN1ciwgMik7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxFbGVtRHVtcCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9mKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9kb2MpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N1cik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sRmlyc3RFbGVtZW50Q2hpbGQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbE5vZGVQdHIgcmV0X3ZhbDsKKyAgICB4bWxOb2RlUHRyIHBhcmVudDsgLyogdGhlIHBhcmVudCBub2RlICovCisgICAgaW50IG5fcGFyZW50OworCisgICAgZm9yIChuX3BhcmVudCA9IDA7bl9wYXJlbnQgPCBnZW5fbmJfeG1sTm9kZVB0cjtuX3BhcmVudCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHBhcmVudCA9IGdlbl94bWxOb2RlUHRyKG5fcGFyZW50LCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sRmlyc3RFbGVtZW50Q2hpbGQocGFyZW50KTsKKyAgICAgICAgZGVzcmV0X3htbE5vZGVQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl9wYXJlbnQsIHBhcmVudCwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxGaXJzdEVsZW1lbnRDaGlsZCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9wYXJlbnQpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxHZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUgcmV0X3ZhbDsKKworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworCisgICAgICAgIHJldF92YWwgPSB4bWxHZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lKCk7CisgICAgICAgIGRlc3JldF94bWxCdWZmZXJBbGxvY2F0aW9uU2NoZW1lKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxHZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxHZXRDb21wcmVzc01vZGUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKworICAgICAgICByZXRfdmFsID0geG1sR2V0Q29tcHJlc3NNb2RlKCk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbEdldENvbXByZXNzTW9kZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sR2V0RG9jQ29tcHJlc3NNb2RlKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbERvYyAqIGRvYzsgLyogdGhlIGRvY3VtZW50ICovCisgICAgaW50IG5fZG9jOworCisgICAgZm9yIChuX2RvYyA9IDA7bl9kb2MgPCBnZW5fbmJfY29uc3RfeG1sRG9jX3B0cjtuX2RvYysrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGRvYyA9IGdlbl9jb25zdF94bWxEb2NfcHRyKG5fZG9jLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sR2V0RG9jQ29tcHJlc3NNb2RlKChjb25zdCB4bWxEb2MgKilkb2MpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19jb25zdF94bWxEb2NfcHRyKG5fZG9jLCAoY29uc3QgeG1sRG9jICopZG9jLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbEdldERvY0NvbXByZXNzTW9kZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9kb2MpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sR2V0SW50U3Vic2V0KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbER0ZFB0ciByZXRfdmFsOworICAgIHhtbERvYyAqIGRvYzsgLyogdGhlIGRvY3VtZW50IHBvaW50ZXIgKi8KKyAgICBpbnQgbl9kb2M7CisKKyAgICBmb3IgKG5fZG9jID0gMDtuX2RvYyA8IGdlbl9uYl9jb25zdF94bWxEb2NfcHRyO25fZG9jKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgZG9jID0gZ2VuX2NvbnN0X3htbERvY19wdHIobl9kb2MsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxHZXRJbnRTdWJzZXQoKGNvbnN0IHhtbERvYyAqKWRvYyk7CisgICAgICAgIGRlc3JldF94bWxEdGRQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2NvbnN0X3htbERvY19wdHIobl9kb2MsIChjb25zdCB4bWxEb2MgKilkb2MsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sR2V0SW50U3Vic2V0IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2RvYyk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxHZXRMYXN0Q2hpbGQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sTm9kZVB0ciByZXRfdmFsOworICAgIHhtbE5vZGUgKiBwYXJlbnQ7IC8qIHRoZSBwYXJlbnQgbm9kZSAqLworICAgIGludCBuX3BhcmVudDsKKworICAgIGZvciAobl9wYXJlbnQgPSAwO25fcGFyZW50IDwgZ2VuX25iX2NvbnN0X3htbE5vZGVfcHRyO25fcGFyZW50KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgcGFyZW50ID0gZ2VuX2NvbnN0X3htbE5vZGVfcHRyKG5fcGFyZW50LCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sR2V0TGFzdENoaWxkKChjb25zdCB4bWxOb2RlICopcGFyZW50KTsKKyAgICAgICAgZGVzcmV0X3htbE5vZGVQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2NvbnN0X3htbE5vZGVfcHRyKG5fcGFyZW50LCAoY29uc3QgeG1sTm9kZSAqKXBhcmVudCwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxHZXRMYXN0Q2hpbGQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fcGFyZW50KTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbEdldExpbmVObyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICBsb25nIHJldF92YWw7CisgICAgeG1sTm9kZSAqIG5vZGU7IC8qIHZhbGlkIG5vZGUgKi8KKyAgICBpbnQgbl9ub2RlOworCisgICAgZm9yIChuX25vZGUgPSAwO25fbm9kZSA8IGdlbl9uYl9jb25zdF94bWxOb2RlX3B0cjtuX25vZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBub2RlID0gZ2VuX2NvbnN0X3htbE5vZGVfcHRyKG5fbm9kZSwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbEdldExpbmVObygoY29uc3QgeG1sTm9kZSAqKW5vZGUpOworICAgICAgICBkZXNyZXRfbG9uZyhyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfY29uc3RfeG1sTm9kZV9wdHIobl9ub2RlLCAoY29uc3QgeG1sTm9kZSAqKW5vZGUsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sR2V0TGluZU5vIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25vZGUpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sR2V0Tm9Oc1Byb3Aodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sQ2hhciAqIHJldF92YWw7CisgICAgeG1sTm9kZSAqIG5vZGU7IC8qIHRoZSBub2RlICovCisgICAgaW50IG5fbm9kZTsKKyAgICB4bWxDaGFyICogbmFtZTsgLyogdGhlIGF0dHJpYnV0ZSBuYW1lICovCisgICAgaW50IG5fbmFtZTsKKworICAgIGZvciAobl9ub2RlID0gMDtuX25vZGUgPCBnZW5fbmJfY29uc3RfeG1sTm9kZV9wdHI7bl9ub2RlKyspIHsKKyAgICBmb3IgKG5fbmFtZSA9IDA7bl9uYW1lIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fbmFtZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIG5vZGUgPSBnZW5fY29uc3RfeG1sTm9kZV9wdHIobl9ub2RlLCAwKTsKKyAgICAgICAgbmFtZSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxHZXROb05zUHJvcCgoY29uc3QgeG1sTm9kZSAqKW5vZGUsIChjb25zdCB4bWxDaGFyICopbmFtZSk7CisgICAgICAgIGRlc3JldF94bWxDaGFyX3B0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfY29uc3RfeG1sTm9kZV9wdHIobl9ub2RlLCAoY29uc3QgeG1sTm9kZSAqKW5vZGUsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sR2V0Tm9Oc1Byb3AiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbm9kZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFtZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sR2V0Tm9kZVBhdGgodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX0RFQlVHX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbENoYXIgKiByZXRfdmFsOworICAgIHhtbE5vZGUgKiBub2RlOyAvKiBhIG5vZGUgKi8KKyAgICBpbnQgbl9ub2RlOworCisgICAgZm9yIChuX25vZGUgPSAwO25fbm9kZSA8IGdlbl9uYl9jb25zdF94bWxOb2RlX3B0cjtuX25vZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBub2RlID0gZ2VuX2NvbnN0X3htbE5vZGVfcHRyKG5fbm9kZSwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbEdldE5vZGVQYXRoKChjb25zdCB4bWxOb2RlICopbm9kZSk7CisgICAgICAgIGRlc3JldF94bWxDaGFyX3B0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfY29uc3RfeG1sTm9kZV9wdHIobl9ub2RlLCAoY29uc3QgeG1sTm9kZSAqKW5vZGUsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sR2V0Tm9kZVBhdGgiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbm9kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbEdldE5zTGlzdCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworCisgICAgLyogbWlzc2luZyB0eXBlIHN1cHBvcnQgKi8KKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sR2V0TnNQcm9wKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbENoYXIgKiByZXRfdmFsOworICAgIHhtbE5vZGUgKiBub2RlOyAvKiB0aGUgbm9kZSAqLworICAgIGludCBuX25vZGU7CisgICAgeG1sQ2hhciAqIG5hbWU7IC8qIHRoZSBhdHRyaWJ1dGUgbmFtZSAqLworICAgIGludCBuX25hbWU7CisgICAgeG1sQ2hhciAqIG5hbWVTcGFjZTsgLyogdGhlIFVSSSBvZiB0aGUgbmFtZXNwYWNlICovCisgICAgaW50IG5fbmFtZVNwYWNlOworCisgICAgZm9yIChuX25vZGUgPSAwO25fbm9kZSA8IGdlbl9uYl9jb25zdF94bWxOb2RlX3B0cjtuX25vZGUrKykgeworICAgIGZvciAobl9uYW1lID0gMDtuX25hbWUgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9uYW1lKyspIHsKKyAgICBmb3IgKG5fbmFtZVNwYWNlID0gMDtuX25hbWVTcGFjZSA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX25hbWVTcGFjZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIG5vZGUgPSBnZW5fY29uc3RfeG1sTm9kZV9wdHIobl9ub2RlLCAwKTsKKyAgICAgICAgbmFtZSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIDEpOworICAgICAgICBuYW1lU3BhY2UgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lU3BhY2UsIDIpOworCisgICAgICAgIHJldF92YWwgPSB4bWxHZXROc1Byb3AoKGNvbnN0IHhtbE5vZGUgKilub2RlLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUsIChjb25zdCB4bWxDaGFyICopbmFtZVNwYWNlKTsKKyAgICAgICAgZGVzcmV0X3htbENoYXJfcHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19jb25zdF94bWxOb2RlX3B0cihuX25vZGUsIChjb25zdCB4bWxOb2RlICopbm9kZSwgMCk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIChjb25zdCB4bWxDaGFyICopbmFtZSwgMSk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX25hbWVTcGFjZSwgKGNvbnN0IHhtbENoYXIgKiluYW1lU3BhY2UsIDIpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sR2V0TnNQcm9wIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25vZGUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25hbWUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25hbWVTcGFjZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbEdldFByb3Aodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sQ2hhciAqIHJldF92YWw7CisgICAgeG1sTm9kZSAqIG5vZGU7IC8qIHRoZSBub2RlICovCisgICAgaW50IG5fbm9kZTsKKyAgICB4bWxDaGFyICogbmFtZTsgLyogdGhlIGF0dHJpYnV0ZSBuYW1lICovCisgICAgaW50IG5fbmFtZTsKKworICAgIGZvciAobl9ub2RlID0gMDtuX25vZGUgPCBnZW5fbmJfY29uc3RfeG1sTm9kZV9wdHI7bl9ub2RlKyspIHsKKyAgICBmb3IgKG5fbmFtZSA9IDA7bl9uYW1lIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fbmFtZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIG5vZGUgPSBnZW5fY29uc3RfeG1sTm9kZV9wdHIobl9ub2RlLCAwKTsKKyAgICAgICAgbmFtZSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxHZXRQcm9wKChjb25zdCB4bWxOb2RlICopbm9kZSwgKGNvbnN0IHhtbENoYXIgKiluYW1lKTsKKyAgICAgICAgZGVzcmV0X3htbENoYXJfcHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19jb25zdF94bWxOb2RlX3B0cihuX25vZGUsIChjb25zdCB4bWxOb2RlICopbm9kZSwgMCk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIChjb25zdCB4bWxDaGFyICopbmFtZSwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxHZXRQcm9wIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25vZGUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25hbWUpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbEhhc05zUHJvcCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxBdHRyUHRyIHJldF92YWw7CisgICAgeG1sTm9kZSAqIG5vZGU7IC8qIHRoZSBub2RlICovCisgICAgaW50IG5fbm9kZTsKKyAgICB4bWxDaGFyICogbmFtZTsgLyogdGhlIGF0dHJpYnV0ZSBuYW1lICovCisgICAgaW50IG5fbmFtZTsKKyAgICB4bWxDaGFyICogbmFtZVNwYWNlOyAvKiB0aGUgVVJJIG9mIHRoZSBuYW1lc3BhY2UgKi8KKyAgICBpbnQgbl9uYW1lU3BhY2U7CisKKyAgICBmb3IgKG5fbm9kZSA9IDA7bl9ub2RlIDwgZ2VuX25iX2NvbnN0X3htbE5vZGVfcHRyO25fbm9kZSsrKSB7CisgICAgZm9yIChuX25hbWUgPSAwO25fbmFtZSA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX25hbWUrKykgeworICAgIGZvciAobl9uYW1lU3BhY2UgPSAwO25fbmFtZVNwYWNlIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fbmFtZVNwYWNlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgbm9kZSA9IGdlbl9jb25zdF94bWxOb2RlX3B0cihuX25vZGUsIDApOworICAgICAgICBuYW1lID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgMSk7CisgICAgICAgIG5hbWVTcGFjZSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX25hbWVTcGFjZSwgMik7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbEhhc05zUHJvcCgoY29uc3QgeG1sTm9kZSAqKW5vZGUsIChjb25zdCB4bWxDaGFyICopbmFtZSwgKGNvbnN0IHhtbENoYXIgKiluYW1lU3BhY2UpOworICAgICAgICBkZXNyZXRfeG1sQXR0clB0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfY29uc3RfeG1sTm9kZV9wdHIobl9ub2RlLCAoY29uc3QgeG1sTm9kZSAqKW5vZGUsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUsIDEpOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lU3BhY2UsIChjb25zdCB4bWxDaGFyICopbmFtZVNwYWNlLCAyKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbEhhc05zUHJvcCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9ub2RlKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9uYW1lKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9uYW1lU3BhY2UpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxIYXNQcm9wKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbEF0dHJQdHIgcmV0X3ZhbDsKKyAgICB4bWxOb2RlICogbm9kZTsgLyogdGhlIG5vZGUgKi8KKyAgICBpbnQgbl9ub2RlOworICAgIHhtbENoYXIgKiBuYW1lOyAvKiB0aGUgYXR0cmlidXRlIG5hbWUgKi8KKyAgICBpbnQgbl9uYW1lOworCisgICAgZm9yIChuX25vZGUgPSAwO25fbm9kZSA8IGdlbl9uYl9jb25zdF94bWxOb2RlX3B0cjtuX25vZGUrKykgeworICAgIGZvciAobl9uYW1lID0gMDtuX25hbWUgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9uYW1lKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgbm9kZSA9IGdlbl9jb25zdF94bWxOb2RlX3B0cihuX25vZGUsIDApOworICAgICAgICBuYW1lID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbEhhc1Byb3AoKGNvbnN0IHhtbE5vZGUgKilub2RlLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUpOworICAgICAgICBkZXNyZXRfeG1sQXR0clB0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfY29uc3RfeG1sTm9kZV9wdHIobl9ub2RlLCAoY29uc3QgeG1sTm9kZSAqKW5vZGUsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sSGFzUHJvcCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9ub2RlKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9uYW1lKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxJc0JsYW5rTm9kZSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxOb2RlICogbm9kZTsgLyogdGhlIG5vZGUgKi8KKyAgICBpbnQgbl9ub2RlOworCisgICAgZm9yIChuX25vZGUgPSAwO25fbm9kZSA8IGdlbl9uYl9jb25zdF94bWxOb2RlX3B0cjtuX25vZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBub2RlID0gZ2VuX2NvbnN0X3htbE5vZGVfcHRyKG5fbm9kZSwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbElzQmxhbmtOb2RlKChjb25zdCB4bWxOb2RlICopbm9kZSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2NvbnN0X3htbE5vZGVfcHRyKG5fbm9kZSwgKGNvbnN0IHhtbE5vZGUgKilub2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbElzQmxhbmtOb2RlIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25vZGUpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sSXNYSFRNTCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxDaGFyICogc3lzdGVtSUQ7IC8qIHRoZSBzeXN0ZW0gaWRlbnRpZmllciAqLworICAgIGludCBuX3N5c3RlbUlEOworICAgIHhtbENoYXIgKiBwdWJsaWNJRDsgLyogdGhlIHB1YmxpYyBpZGVudGlmaWVyICovCisgICAgaW50IG5fcHVibGljSUQ7CisKKyAgICBmb3IgKG5fc3lzdGVtSUQgPSAwO25fc3lzdGVtSUQgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9zeXN0ZW1JRCsrKSB7CisgICAgZm9yIChuX3B1YmxpY0lEID0gMDtuX3B1YmxpY0lEIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fcHVibGljSUQrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBzeXN0ZW1JRCA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX3N5c3RlbUlELCAwKTsKKyAgICAgICAgcHVibGljSUQgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9wdWJsaWNJRCwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbElzWEhUTUwoKGNvbnN0IHhtbENoYXIgKilzeXN0ZW1JRCwgKGNvbnN0IHhtbENoYXIgKilwdWJsaWNJRCk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fc3lzdGVtSUQsIChjb25zdCB4bWxDaGFyICopc3lzdGVtSUQsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9wdWJsaWNJRCwgKGNvbnN0IHhtbENoYXIgKilwdWJsaWNJRCwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxJc1hIVE1MIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3N5c3RlbUlEKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9wdWJsaWNJRCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sTGFzdEVsZW1lbnRDaGlsZCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sTm9kZVB0ciByZXRfdmFsOworICAgIHhtbE5vZGVQdHIgcGFyZW50OyAvKiB0aGUgcGFyZW50IG5vZGUgKi8KKyAgICBpbnQgbl9wYXJlbnQ7CisKKyAgICBmb3IgKG5fcGFyZW50ID0gMDtuX3BhcmVudCA8IGdlbl9uYl94bWxOb2RlUHRyO25fcGFyZW50KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgcGFyZW50ID0gZ2VuX3htbE5vZGVQdHIobl9wYXJlbnQsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxMYXN0RWxlbWVudENoaWxkKHBhcmVudCk7CisgICAgICAgIGRlc3JldF94bWxOb2RlUHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxOb2RlUHRyKG5fcGFyZW50LCBwYXJlbnQsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sTGFzdEVsZW1lbnRDaGlsZCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9wYXJlbnQpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxOZXdDRGF0YUJsb2NrKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbE5vZGVQdHIgcmV0X3ZhbDsKKyAgICB4bWxEb2NQdHIgZG9jOyAvKiB0aGUgZG9jdW1lbnQgKi8KKyAgICBpbnQgbl9kb2M7CisgICAgeG1sQ2hhciAqIGNvbnRlbnQ7IC8qIHRoZSBDREFUQSBibG9jayBjb250ZW50IGNvbnRlbnQgKi8KKyAgICBpbnQgbl9jb250ZW50OworICAgIGludCBsZW47IC8qIHRoZSBsZW5ndGggb2YgdGhlIGJsb2NrICovCisgICAgaW50IG5fbGVuOworCisgICAgZm9yIChuX2RvYyA9IDA7bl9kb2MgPCBnZW5fbmJfeG1sRG9jUHRyO25fZG9jKyspIHsKKyAgICBmb3IgKG5fY29udGVudCA9IDA7bl9jb250ZW50IDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fY29udGVudCsrKSB7CisgICAgZm9yIChuX2xlbiA9IDA7bl9sZW4gPCBnZW5fbmJfaW50O25fbGVuKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgZG9jID0gZ2VuX3htbERvY1B0cihuX2RvYywgMCk7CisgICAgICAgIGNvbnRlbnQgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9jb250ZW50LCAxKTsKKyAgICAgICAgbGVuID0gZ2VuX2ludChuX2xlbiwgMik7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbE5ld0NEYXRhQmxvY2soZG9jLCAoY29uc3QgeG1sQ2hhciAqKWNvbnRlbnQsIGxlbik7CisgICAgICAgIGRlc3JldF94bWxOb2RlUHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxEb2NQdHIobl9kb2MsIGRvYywgMCk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX2NvbnRlbnQsIChjb25zdCB4bWxDaGFyICopY29udGVudCwgMSk7CisgICAgICAgIGRlc19pbnQobl9sZW4sIGxlbiwgMik7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxOZXdDRGF0YUJsb2NrIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2RvYyk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29udGVudCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbGVuKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sTmV3Q2hhclJlZih2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxOb2RlUHRyIHJldF92YWw7CisgICAgeG1sRG9jUHRyIGRvYzsgLyogdGhlIGRvY3VtZW50ICovCisgICAgaW50IG5fZG9jOworICAgIHhtbENoYXIgKiBuYW1lOyAvKiB0aGUgY2hhciByZWYgc3RyaW5nLCBzdGFydGluZyB3aXRoICMgb3IgIiYjIC4uLiA7IiAqLworICAgIGludCBuX25hbWU7CisKKyAgICBmb3IgKG5fZG9jID0gMDtuX2RvYyA8IGdlbl9uYl94bWxEb2NQdHI7bl9kb2MrKykgeworICAgIGZvciAobl9uYW1lID0gMDtuX25hbWUgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9uYW1lKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgZG9jID0gZ2VuX3htbERvY1B0cihuX2RvYywgMCk7CisgICAgICAgIG5hbWUgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sTmV3Q2hhclJlZihkb2MsIChjb25zdCB4bWxDaGFyICopbmFtZSk7CisgICAgICAgIGRlc3JldF94bWxOb2RlUHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxEb2NQdHIobl9kb2MsIGRvYywgMCk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIChjb25zdCB4bWxDaGFyICopbmFtZSwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxOZXdDaGFyUmVmIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2RvYyk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFtZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sTmV3Q2hpbGQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyNpZmRlZiBMSUJYTUxfVFJFRV9FTkFCTEVECisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbE5vZGVQdHIgcmV0X3ZhbDsKKyAgICB4bWxOb2RlUHRyIHBhcmVudDsgLyogdGhlIHBhcmVudCBub2RlICovCisgICAgaW50IG5fcGFyZW50OworICAgIHhtbE5zUHRyIG5zOyAvKiBhIG5hbWVzcGFjZSBpZiBhbnkgKi8KKyAgICBpbnQgbl9uczsKKyAgICB4bWxDaGFyICogbmFtZTsgLyogdGhlIG5hbWUgb2YgdGhlIGNoaWxkICovCisgICAgaW50IG5fbmFtZTsKKyAgICB4bWxDaGFyICogY29udGVudDsgLyogdGhlIFhNTCBjb250ZW50IG9mIHRoZSBjaGlsZCBpZiBhbnkuICovCisgICAgaW50IG5fY29udGVudDsKKworICAgIGZvciAobl9wYXJlbnQgPSAwO25fcGFyZW50IDwgZ2VuX25iX3htbE5vZGVQdHI7bl9wYXJlbnQrKykgeworICAgIGZvciAobl9ucyA9IDA7bl9ucyA8IGdlbl9uYl94bWxOc1B0cjtuX25zKyspIHsKKyAgICBmb3IgKG5fbmFtZSA9IDA7bl9uYW1lIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fbmFtZSsrKSB7CisgICAgZm9yIChuX2NvbnRlbnQgPSAwO25fY29udGVudCA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX2NvbnRlbnQrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBwYXJlbnQgPSBnZW5feG1sTm9kZVB0cihuX3BhcmVudCwgMCk7CisgICAgICAgIG5zID0gZ2VuX3htbE5zUHRyKG5fbnMsIDEpOworICAgICAgICBuYW1lID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgMik7CisgICAgICAgIGNvbnRlbnQgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9jb250ZW50LCAzKTsKKworICAgICAgICByZXRfdmFsID0geG1sTmV3Q2hpbGQocGFyZW50LCBucywgKGNvbnN0IHhtbENoYXIgKiluYW1lLCAoY29uc3QgeG1sQ2hhciAqKWNvbnRlbnQpOworICAgICAgICBkZXNyZXRfeG1sTm9kZVB0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sTm9kZVB0cihuX3BhcmVudCwgcGFyZW50LCAwKTsKKyAgICAgICAgZGVzX3htbE5zUHRyKG5fbnMsIG5zLCAxKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgKGNvbnN0IHhtbENoYXIgKiluYW1lLCAyKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fY29udGVudCwgKGNvbnN0IHhtbENoYXIgKiljb250ZW50LCAzKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbE5ld0NoaWxkIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3BhcmVudCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbnMpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25hbWUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2NvbnRlbnQpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbE5ld0NvbW1lbnQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sTm9kZVB0ciByZXRfdmFsOworICAgIHhtbENoYXIgKiBjb250ZW50OyAvKiB0aGUgY29tbWVudCBjb250ZW50ICovCisgICAgaW50IG5fY29udGVudDsKKworICAgIGZvciAobl9jb250ZW50ID0gMDtuX2NvbnRlbnQgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9jb250ZW50KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY29udGVudCA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX2NvbnRlbnQsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxOZXdDb21tZW50KChjb25zdCB4bWxDaGFyICopY29udGVudCk7CisgICAgICAgIGRlc3JldF94bWxOb2RlUHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX2NvbnRlbnQsIChjb25zdCB4bWxDaGFyICopY29udGVudCwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxOZXdDb21tZW50IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2NvbnRlbnQpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sTmV3RG9jKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbERvY1B0ciByZXRfdmFsOworICAgIHhtbENoYXIgKiB2ZXJzaW9uOyAvKiB4bWxDaGFyIHN0cmluZyBnaXZpbmcgdGhlIHZlcnNpb24gb2YgWE1MICIxLjAiICovCisgICAgaW50IG5fdmVyc2lvbjsKKworICAgIGZvciAobl92ZXJzaW9uID0gMDtuX3ZlcnNpb24gPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl92ZXJzaW9uKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgdmVyc2lvbiA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX3ZlcnNpb24sIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxOZXdEb2MoKGNvbnN0IHhtbENoYXIgKil2ZXJzaW9uKTsKKyAgICAgICAgZGVzcmV0X3htbERvY1B0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl92ZXJzaW9uLCAoY29uc3QgeG1sQ2hhciAqKXZlcnNpb24sIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sTmV3RG9jIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3ZlcnNpb24pOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sTmV3RG9jQ29tbWVudCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxOb2RlUHRyIHJldF92YWw7CisgICAgeG1sRG9jUHRyIGRvYzsgLyogdGhlIGRvY3VtZW50ICovCisgICAgaW50IG5fZG9jOworICAgIHhtbENoYXIgKiBjb250ZW50OyAvKiB0aGUgY29tbWVudCBjb250ZW50ICovCisgICAgaW50IG5fY29udGVudDsKKworICAgIGZvciAobl9kb2MgPSAwO25fZG9jIDwgZ2VuX25iX3htbERvY1B0cjtuX2RvYysrKSB7CisgICAgZm9yIChuX2NvbnRlbnQgPSAwO25fY29udGVudCA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX2NvbnRlbnQrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBkb2MgPSBnZW5feG1sRG9jUHRyKG5fZG9jLCAwKTsKKyAgICAgICAgY29udGVudCA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX2NvbnRlbnQsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxOZXdEb2NDb21tZW50KGRvYywgKGNvbnN0IHhtbENoYXIgKiljb250ZW50KTsKKyAgICAgICAgZGVzcmV0X3htbE5vZGVQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbERvY1B0cihuX2RvYywgZG9jLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fY29udGVudCwgKGNvbnN0IHhtbENoYXIgKiljb250ZW50LCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbE5ld0RvY0NvbW1lbnQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZG9jKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jb250ZW50KTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxOZXdEb2NGcmFnbWVudCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sTm9kZVB0ciByZXRfdmFsOworICAgIHhtbERvY1B0ciBkb2M7IC8qIHRoZSBkb2N1bWVudCBvd25pbmcgdGhlIGZyYWdtZW50ICovCisgICAgaW50IG5fZG9jOworCisgICAgZm9yIChuX2RvYyA9IDA7bl9kb2MgPCBnZW5fbmJfeG1sRG9jUHRyO25fZG9jKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgZG9jID0gZ2VuX3htbERvY1B0cihuX2RvYywgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbE5ld0RvY0ZyYWdtZW50KGRvYyk7CisgICAgICAgIGRlc3JldF94bWxOb2RlUHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxEb2NQdHIobl9kb2MsIGRvYywgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxOZXdEb2NGcmFnbWVudCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9kb2MpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxOZXdEb2NOb2RlKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbE5vZGVQdHIgcmV0X3ZhbDsKKyAgICB4bWxEb2NQdHIgZG9jOyAvKiB0aGUgZG9jdW1lbnQgKi8KKyAgICBpbnQgbl9kb2M7CisgICAgeG1sTnNQdHIgbnM7IC8qIG5hbWVzcGFjZSBpZiBhbnkgKi8KKyAgICBpbnQgbl9uczsKKyAgICB4bWxDaGFyICogbmFtZTsgLyogdGhlIG5vZGUgbmFtZSAqLworICAgIGludCBuX25hbWU7CisgICAgeG1sQ2hhciAqIGNvbnRlbnQ7IC8qIHRoZSBYTUwgdGV4dCBjb250ZW50IGlmIGFueSAqLworICAgIGludCBuX2NvbnRlbnQ7CisKKyAgICBmb3IgKG5fZG9jID0gMDtuX2RvYyA8IGdlbl9uYl94bWxEb2NQdHI7bl9kb2MrKykgeworICAgIGZvciAobl9ucyA9IDA7bl9ucyA8IGdlbl9uYl94bWxOc1B0cjtuX25zKyspIHsKKyAgICBmb3IgKG5fbmFtZSA9IDA7bl9uYW1lIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fbmFtZSsrKSB7CisgICAgZm9yIChuX2NvbnRlbnQgPSAwO25fY29udGVudCA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX2NvbnRlbnQrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBkb2MgPSBnZW5feG1sRG9jUHRyKG5fZG9jLCAwKTsKKyAgICAgICAgbnMgPSBnZW5feG1sTnNQdHIobl9ucywgMSk7CisgICAgICAgIG5hbWUgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAyKTsKKyAgICAgICAgY29udGVudCA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX2NvbnRlbnQsIDMpOworCisgICAgICAgIHJldF92YWwgPSB4bWxOZXdEb2NOb2RlKGRvYywgbnMsIChjb25zdCB4bWxDaGFyICopbmFtZSwgKGNvbnN0IHhtbENoYXIgKiljb250ZW50KTsKKyAgICAgICAgZGVzcmV0X3htbE5vZGVQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbERvY1B0cihuX2RvYywgZG9jLCAwKTsKKyAgICAgICAgZGVzX3htbE5zUHRyKG5fbnMsIG5zLCAxKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgKGNvbnN0IHhtbENoYXIgKiluYW1lLCAyKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fY29udGVudCwgKGNvbnN0IHhtbENoYXIgKiljb250ZW50LCAzKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbE5ld0RvY05vZGUiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZG9jKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9ucyk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFtZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29udGVudCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxOZXdEb2NOb2RlRWF0TmFtZSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxOb2RlUHRyIHJldF92YWw7CisgICAgeG1sRG9jUHRyIGRvYzsgLyogdGhlIGRvY3VtZW50ICovCisgICAgaW50IG5fZG9jOworICAgIHhtbE5zUHRyIG5zOyAvKiBuYW1lc3BhY2UgaWYgYW55ICovCisgICAgaW50IG5fbnM7CisgICAgeG1sQ2hhciAqIG5hbWU7IC8qIHRoZSBub2RlIG5hbWUgKi8KKyAgICBpbnQgbl9uYW1lOworICAgIHhtbENoYXIgKiBjb250ZW50OyAvKiB0aGUgWE1MIHRleHQgY29udGVudCBpZiBhbnkgKi8KKyAgICBpbnQgbl9jb250ZW50OworCisgICAgZm9yIChuX2RvYyA9IDA7bl9kb2MgPCBnZW5fbmJfeG1sRG9jUHRyO25fZG9jKyspIHsKKyAgICBmb3IgKG5fbnMgPSAwO25fbnMgPCBnZW5fbmJfeG1sTnNQdHI7bl9ucysrKSB7CisgICAgZm9yIChuX25hbWUgPSAwO25fbmFtZSA8IGdlbl9uYl9lYXRlbl9uYW1lO25fbmFtZSsrKSB7CisgICAgZm9yIChuX2NvbnRlbnQgPSAwO25fY29udGVudCA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX2NvbnRlbnQrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBkb2MgPSBnZW5feG1sRG9jUHRyKG5fZG9jLCAwKTsKKyAgICAgICAgbnMgPSBnZW5feG1sTnNQdHIobl9ucywgMSk7CisgICAgICAgIG5hbWUgPSBnZW5fZWF0ZW5fbmFtZShuX25hbWUsIDIpOworICAgICAgICBjb250ZW50ID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fY29udGVudCwgMyk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbE5ld0RvY05vZGVFYXROYW1lKGRvYywgbnMsIG5hbWUsIChjb25zdCB4bWxDaGFyICopY29udGVudCk7CisgICAgICAgIGRlc3JldF94bWxOb2RlUHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxEb2NQdHIobl9kb2MsIGRvYywgMCk7CisgICAgICAgIGRlc194bWxOc1B0cihuX25zLCBucywgMSk7CisgICAgICAgIGRlc19lYXRlbl9uYW1lKG5fbmFtZSwgbmFtZSwgMik7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX2NvbnRlbnQsIChjb25zdCB4bWxDaGFyICopY29udGVudCwgMyk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxOZXdEb2NOb2RlRWF0TmFtZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9kb2MpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25zKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9uYW1lKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jb250ZW50KTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbE5ld0RvY1BJKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbE5vZGVQdHIgcmV0X3ZhbDsKKyAgICB4bWxEb2NQdHIgZG9jOyAvKiB0aGUgdGFyZ2V0IGRvY3VtZW50ICovCisgICAgaW50IG5fZG9jOworICAgIHhtbENoYXIgKiBuYW1lOyAvKiB0aGUgcHJvY2Vzc2luZyBpbnN0cnVjdGlvbiBuYW1lICovCisgICAgaW50IG5fbmFtZTsKKyAgICB4bWxDaGFyICogY29udGVudDsgLyogdGhlIFBJIGNvbnRlbnQgKi8KKyAgICBpbnQgbl9jb250ZW50OworCisgICAgZm9yIChuX2RvYyA9IDA7bl9kb2MgPCBnZW5fbmJfeG1sRG9jUHRyO25fZG9jKyspIHsKKyAgICBmb3IgKG5fbmFtZSA9IDA7bl9uYW1lIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fbmFtZSsrKSB7CisgICAgZm9yIChuX2NvbnRlbnQgPSAwO25fY29udGVudCA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX2NvbnRlbnQrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBkb2MgPSBnZW5feG1sRG9jUHRyKG5fZG9jLCAwKTsKKyAgICAgICAgbmFtZSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIDEpOworICAgICAgICBjb250ZW50ID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fY29udGVudCwgMik7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbE5ld0RvY1BJKGRvYywgKGNvbnN0IHhtbENoYXIgKiluYW1lLCAoY29uc3QgeG1sQ2hhciAqKWNvbnRlbnQpOworICAgICAgICBkZXNyZXRfeG1sTm9kZVB0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sRG9jUHRyKG5fZG9jLCBkb2MsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUsIDEpOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9jb250ZW50LCAoY29uc3QgeG1sQ2hhciAqKWNvbnRlbnQsIDIpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sTmV3RG9jUEkiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZG9jKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9uYW1lKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jb250ZW50KTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sTmV3RG9jUHJvcCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxBdHRyUHRyIHJldF92YWw7CisgICAgeG1sRG9jUHRyIGRvYzsgLyogdGhlIGRvY3VtZW50ICovCisgICAgaW50IG5fZG9jOworICAgIHhtbENoYXIgKiBuYW1lOyAvKiB0aGUgbmFtZSBvZiB0aGUgYXR0cmlidXRlICovCisgICAgaW50IG5fbmFtZTsKKyAgICB4bWxDaGFyICogdmFsdWU7IC8qIHRoZSB2YWx1ZSBvZiB0aGUgYXR0cmlidXRlICovCisgICAgaW50IG5fdmFsdWU7CisKKyAgICBmb3IgKG5fZG9jID0gMDtuX2RvYyA8IGdlbl9uYl94bWxEb2NQdHI7bl9kb2MrKykgeworICAgIGZvciAobl9uYW1lID0gMDtuX25hbWUgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9uYW1lKyspIHsKKyAgICBmb3IgKG5fdmFsdWUgPSAwO25fdmFsdWUgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl92YWx1ZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGRvYyA9IGdlbl94bWxEb2NQdHIobl9kb2MsIDApOworICAgICAgICBuYW1lID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgMSk7CisgICAgICAgIHZhbHVlID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fdmFsdWUsIDIpOworCisgICAgICAgIHJldF92YWwgPSB4bWxOZXdEb2NQcm9wKGRvYywgKGNvbnN0IHhtbENoYXIgKiluYW1lLCAoY29uc3QgeG1sQ2hhciAqKXZhbHVlKTsKKyAgICAgICAgZGVzcmV0X3htbEF0dHJQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbERvY1B0cihuX2RvYywgZG9jLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgKGNvbnN0IHhtbENoYXIgKiluYW1lLCAxKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fdmFsdWUsIChjb25zdCB4bWxDaGFyICopdmFsdWUsIDIpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sTmV3RG9jUHJvcCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9kb2MpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25hbWUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3ZhbHVlKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sTmV3RG9jUmF3Tm9kZSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCkKKyNpZmRlZiBMSUJYTUxfVFJFRV9FTkFCTEVECisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbE5vZGVQdHIgcmV0X3ZhbDsKKyAgICB4bWxEb2NQdHIgZG9jOyAvKiB0aGUgZG9jdW1lbnQgKi8KKyAgICBpbnQgbl9kb2M7CisgICAgeG1sTnNQdHIgbnM7IC8qIG5hbWVzcGFjZSBpZiBhbnkgKi8KKyAgICBpbnQgbl9uczsKKyAgICB4bWxDaGFyICogbmFtZTsgLyogdGhlIG5vZGUgbmFtZSAqLworICAgIGludCBuX25hbWU7CisgICAgeG1sQ2hhciAqIGNvbnRlbnQ7IC8qIHRoZSB0ZXh0IGNvbnRlbnQgaWYgYW55ICovCisgICAgaW50IG5fY29udGVudDsKKworICAgIGZvciAobl9kb2MgPSAwO25fZG9jIDwgZ2VuX25iX3htbERvY1B0cjtuX2RvYysrKSB7CisgICAgZm9yIChuX25zID0gMDtuX25zIDwgZ2VuX25iX3htbE5zUHRyO25fbnMrKykgeworICAgIGZvciAobl9uYW1lID0gMDtuX25hbWUgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9uYW1lKyspIHsKKyAgICBmb3IgKG5fY29udGVudCA9IDA7bl9jb250ZW50IDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fY29udGVudCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGRvYyA9IGdlbl94bWxEb2NQdHIobl9kb2MsIDApOworICAgICAgICBucyA9IGdlbl94bWxOc1B0cihuX25zLCAxKTsKKyAgICAgICAgbmFtZSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIDIpOworICAgICAgICBjb250ZW50ID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fY29udGVudCwgMyk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbE5ld0RvY1Jhd05vZGUoZG9jLCBucywgKGNvbnN0IHhtbENoYXIgKiluYW1lLCAoY29uc3QgeG1sQ2hhciAqKWNvbnRlbnQpOworICAgICAgICBkZXNyZXRfeG1sTm9kZVB0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sRG9jUHRyKG5fZG9jLCBkb2MsIDApOworICAgICAgICBkZXNfeG1sTnNQdHIobl9ucywgbnMsIDEpOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUsIDIpOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9jb250ZW50LCAoY29uc3QgeG1sQ2hhciAqKWNvbnRlbnQsIDMpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sTmV3RG9jUmF3Tm9kZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9kb2MpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25zKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9uYW1lKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jb250ZW50KTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxOZXdEb2NUZXh0KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbE5vZGVQdHIgcmV0X3ZhbDsKKyAgICB4bWxEb2MgKiBkb2M7IC8qIHRoZSBkb2N1bWVudCAqLworICAgIGludCBuX2RvYzsKKyAgICB4bWxDaGFyICogY29udGVudDsgLyogdGhlIHRleHQgY29udGVudCAqLworICAgIGludCBuX2NvbnRlbnQ7CisKKyAgICBmb3IgKG5fZG9jID0gMDtuX2RvYyA8IGdlbl9uYl9jb25zdF94bWxEb2NfcHRyO25fZG9jKyspIHsKKyAgICBmb3IgKG5fY29udGVudCA9IDA7bl9jb250ZW50IDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fY29udGVudCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGRvYyA9IGdlbl9jb25zdF94bWxEb2NfcHRyKG5fZG9jLCAwKTsKKyAgICAgICAgY29udGVudCA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX2NvbnRlbnQsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxOZXdEb2NUZXh0KChjb25zdCB4bWxEb2MgKilkb2MsIChjb25zdCB4bWxDaGFyICopY29udGVudCk7CisgICAgICAgIGRlc3JldF94bWxOb2RlUHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19jb25zdF94bWxEb2NfcHRyKG5fZG9jLCAoY29uc3QgeG1sRG9jICopZG9jLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fY29udGVudCwgKGNvbnN0IHhtbENoYXIgKiljb250ZW50LCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbE5ld0RvY1RleHQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZG9jKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jb250ZW50KTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxOZXdEb2NUZXh0TGVuKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbE5vZGVQdHIgcmV0X3ZhbDsKKyAgICB4bWxEb2NQdHIgZG9jOyAvKiB0aGUgZG9jdW1lbnQgKi8KKyAgICBpbnQgbl9kb2M7CisgICAgeG1sQ2hhciAqIGNvbnRlbnQ7IC8qIHRoZSB0ZXh0IGNvbnRlbnQgKi8KKyAgICBpbnQgbl9jb250ZW50OworICAgIGludCBsZW47IC8qIHRoZSB0ZXh0IGxlbi4gKi8KKyAgICBpbnQgbl9sZW47CisKKyAgICBmb3IgKG5fZG9jID0gMDtuX2RvYyA8IGdlbl9uYl94bWxEb2NQdHI7bl9kb2MrKykgeworICAgIGZvciAobl9jb250ZW50ID0gMDtuX2NvbnRlbnQgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9jb250ZW50KyspIHsKKyAgICBmb3IgKG5fbGVuID0gMDtuX2xlbiA8IGdlbl9uYl9pbnQ7bl9sZW4rKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBkb2MgPSBnZW5feG1sRG9jUHRyKG5fZG9jLCAwKTsKKyAgICAgICAgY29udGVudCA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX2NvbnRlbnQsIDEpOworICAgICAgICBsZW4gPSBnZW5faW50KG5fbGVuLCAyKTsKKworICAgICAgICByZXRfdmFsID0geG1sTmV3RG9jVGV4dExlbihkb2MsIChjb25zdCB4bWxDaGFyICopY29udGVudCwgbGVuKTsKKyAgICAgICAgZGVzcmV0X3htbE5vZGVQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbERvY1B0cihuX2RvYywgZG9jLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fY29udGVudCwgKGNvbnN0IHhtbENoYXIgKiljb250ZW50LCAxKTsKKyAgICAgICAgZGVzX2ludChuX2xlbiwgbGVuLCAyKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbE5ld0RvY1RleHRMZW4iLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZG9jKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jb250ZW50KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9sZW4pOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxOZXdEdGQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sRHRkUHRyIHJldF92YWw7CisgICAgeG1sRG9jUHRyIGRvYzsgLyogdGhlIGRvY3VtZW50IHBvaW50ZXIgKi8KKyAgICBpbnQgbl9kb2M7CisgICAgeG1sQ2hhciAqIG5hbWU7IC8qIHRoZSBEVEQgbmFtZSAqLworICAgIGludCBuX25hbWU7CisgICAgeG1sQ2hhciAqIEV4dGVybmFsSUQ7IC8qIHRoZSBleHRlcm5hbCBJRCAqLworICAgIGludCBuX0V4dGVybmFsSUQ7CisgICAgeG1sQ2hhciAqIFN5c3RlbUlEOyAvKiB0aGUgc3lzdGVtIElEICovCisgICAgaW50IG5fU3lzdGVtSUQ7CisKKyAgICBmb3IgKG5fZG9jID0gMDtuX2RvYyA8IGdlbl9uYl94bWxEb2NQdHI7bl9kb2MrKykgeworICAgIGZvciAobl9uYW1lID0gMDtuX25hbWUgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9uYW1lKyspIHsKKyAgICBmb3IgKG5fRXh0ZXJuYWxJRCA9IDA7bl9FeHRlcm5hbElEIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fRXh0ZXJuYWxJRCsrKSB7CisgICAgZm9yIChuX1N5c3RlbUlEID0gMDtuX1N5c3RlbUlEIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fU3lzdGVtSUQrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBkb2MgPSBnZW5feG1sRG9jUHRyKG5fZG9jLCAwKTsKKyAgICAgICAgbmFtZSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIDEpOworICAgICAgICBFeHRlcm5hbElEID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fRXh0ZXJuYWxJRCwgMik7CisgICAgICAgIFN5c3RlbUlEID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fU3lzdGVtSUQsIDMpOworCisgICAgICAgIHJldF92YWwgPSB4bWxOZXdEdGQoZG9jLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUsIChjb25zdCB4bWxDaGFyICopRXh0ZXJuYWxJRCwgKGNvbnN0IHhtbENoYXIgKilTeXN0ZW1JRCk7CisgICAgICAgIGRlc3JldF94bWxEdGRQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbERvY1B0cihuX2RvYywgZG9jLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgKGNvbnN0IHhtbENoYXIgKiluYW1lLCAxKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fRXh0ZXJuYWxJRCwgKGNvbnN0IHhtbENoYXIgKilFeHRlcm5hbElELCAyKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fU3lzdGVtSUQsIChjb25zdCB4bWxDaGFyICopU3lzdGVtSUQsIDMpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sTmV3RHRkIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2RvYyk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFtZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fRXh0ZXJuYWxJRCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fU3lzdGVtSUQpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sTmV3Tm9kZSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxOb2RlUHRyIHJldF92YWw7CisgICAgeG1sTnNQdHIgbnM7IC8qIG5hbWVzcGFjZSBpZiBhbnkgKi8KKyAgICBpbnQgbl9uczsKKyAgICB4bWxDaGFyICogbmFtZTsgLyogdGhlIG5vZGUgbmFtZSAqLworICAgIGludCBuX25hbWU7CisKKyAgICBmb3IgKG5fbnMgPSAwO25fbnMgPCBnZW5fbmJfeG1sTnNQdHI7bl9ucysrKSB7CisgICAgZm9yIChuX25hbWUgPSAwO25fbmFtZSA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX25hbWUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBucyA9IGdlbl94bWxOc1B0cihuX25zLCAwKTsKKyAgICAgICAgbmFtZSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxOZXdOb2RlKG5zLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUpOworICAgICAgICBkZXNyZXRfeG1sTm9kZVB0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sTnNQdHIobl9ucywgbnMsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sTmV3Tm9kZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9ucyk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFtZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sTmV3Tm9kZUVhdE5hbWUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sTm9kZVB0ciByZXRfdmFsOworICAgIHhtbE5zUHRyIG5zOyAvKiBuYW1lc3BhY2UgaWYgYW55ICovCisgICAgaW50IG5fbnM7CisgICAgeG1sQ2hhciAqIG5hbWU7IC8qIHRoZSBub2RlIG5hbWUgKi8KKyAgICBpbnQgbl9uYW1lOworCisgICAgZm9yIChuX25zID0gMDtuX25zIDwgZ2VuX25iX3htbE5zUHRyO25fbnMrKykgeworICAgIGZvciAobl9uYW1lID0gMDtuX25hbWUgPCBnZW5fbmJfZWF0ZW5fbmFtZTtuX25hbWUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBucyA9IGdlbl94bWxOc1B0cihuX25zLCAwKTsKKyAgICAgICAgbmFtZSA9IGdlbl9lYXRlbl9uYW1lKG5fbmFtZSwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbE5ld05vZGVFYXROYW1lKG5zLCBuYW1lKTsKKyAgICAgICAgZGVzcmV0X3htbE5vZGVQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbE5zUHRyKG5fbnMsIG5zLCAwKTsKKyAgICAgICAgZGVzX2VhdGVuX25hbWUobl9uYW1lLCBuYW1lLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbE5ld05vZGVFYXROYW1lIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25zKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9uYW1lKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxOZXdOcyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxOc1B0ciByZXRfdmFsOworICAgIHhtbE5vZGVQdHIgbm9kZTsgLyogdGhlIGVsZW1lbnQgY2FycnlpbmcgdGhlIG5hbWVzcGFjZSAqLworICAgIGludCBuX25vZGU7CisgICAgeG1sQ2hhciAqIGhyZWY7IC8qIHRoZSBVUkkgYXNzb2NpYXRlZCAqLworICAgIGludCBuX2hyZWY7CisgICAgeG1sQ2hhciAqIHByZWZpeDsgLyogdGhlIHByZWZpeCBmb3IgdGhlIG5hbWVzcGFjZSAqLworICAgIGludCBuX3ByZWZpeDsKKworICAgIGZvciAobl9ub2RlID0gMDtuX25vZGUgPCBnZW5fbmJfeG1sTm9kZVB0cjtuX25vZGUrKykgeworICAgIGZvciAobl9ocmVmID0gMDtuX2hyZWYgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9ocmVmKyspIHsKKyAgICBmb3IgKG5fcHJlZml4ID0gMDtuX3ByZWZpeCA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX3ByZWZpeCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIG5vZGUgPSBnZW5feG1sTm9kZVB0cihuX25vZGUsIDApOworICAgICAgICBocmVmID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5faHJlZiwgMSk7CisgICAgICAgIHByZWZpeCA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX3ByZWZpeCwgMik7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbE5ld05zKG5vZGUsIChjb25zdCB4bWxDaGFyICopaHJlZiwgKGNvbnN0IHhtbENoYXIgKilwcmVmaXgpOworICAgICAgICBpZiAoKG5vZGUgPT0gTlVMTCkgJiYgKHJldF92YWwgIT0gTlVMTCkpIHhtbEZyZWVOcyhyZXRfdmFsKTsKKyAgICAgICAgZGVzcmV0X3htbE5zUHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxOb2RlUHRyKG5fbm9kZSwgbm9kZSwgMCk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX2hyZWYsIChjb25zdCB4bWxDaGFyICopaHJlZiwgMSk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX3ByZWZpeCwgKGNvbnN0IHhtbENoYXIgKilwcmVmaXgsIDIpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sTmV3TnMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbm9kZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5faHJlZik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fcHJlZml4KTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sTmV3TnNQcm9wKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbEF0dHJQdHIgcmV0X3ZhbDsKKyAgICB4bWxOb2RlUHRyIG5vZGU7IC8qIHRoZSBob2xkaW5nIG5vZGUgKi8KKyAgICBpbnQgbl9ub2RlOworICAgIHhtbE5zUHRyIG5zOyAvKiB0aGUgbmFtZXNwYWNlICovCisgICAgaW50IG5fbnM7CisgICAgeG1sQ2hhciAqIG5hbWU7IC8qIHRoZSBuYW1lIG9mIHRoZSBhdHRyaWJ1dGUgKi8KKyAgICBpbnQgbl9uYW1lOworICAgIHhtbENoYXIgKiB2YWx1ZTsgLyogdGhlIHZhbHVlIG9mIHRoZSBhdHRyaWJ1dGUgKi8KKyAgICBpbnQgbl92YWx1ZTsKKworICAgIGZvciAobl9ub2RlID0gMDtuX25vZGUgPCBnZW5fbmJfeG1sTm9kZVB0cjtuX25vZGUrKykgeworICAgIGZvciAobl9ucyA9IDA7bl9ucyA8IGdlbl9uYl94bWxOc1B0cjtuX25zKyspIHsKKyAgICBmb3IgKG5fbmFtZSA9IDA7bl9uYW1lIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fbmFtZSsrKSB7CisgICAgZm9yIChuX3ZhbHVlID0gMDtuX3ZhbHVlIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fdmFsdWUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBub2RlID0gZ2VuX3htbE5vZGVQdHIobl9ub2RlLCAwKTsKKyAgICAgICAgbnMgPSBnZW5feG1sTnNQdHIobl9ucywgMSk7CisgICAgICAgIG5hbWUgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAyKTsKKyAgICAgICAgdmFsdWUgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl92YWx1ZSwgMyk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbE5ld05zUHJvcChub2RlLCBucywgKGNvbnN0IHhtbENoYXIgKiluYW1lLCAoY29uc3QgeG1sQ2hhciAqKXZhbHVlKTsKKyAgICAgICAgZGVzcmV0X3htbEF0dHJQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl9ub2RlLCBub2RlLCAwKTsKKyAgICAgICAgZGVzX3htbE5zUHRyKG5fbnMsIG5zLCAxKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgKGNvbnN0IHhtbENoYXIgKiluYW1lLCAyKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fdmFsdWUsIChjb25zdCB4bWxDaGFyICopdmFsdWUsIDMpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sTmV3TnNQcm9wIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25vZGUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25zKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9uYW1lKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl92YWx1ZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxOZXdOc1Byb3BFYXROYW1lKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbEF0dHJQdHIgcmV0X3ZhbDsKKyAgICB4bWxOb2RlUHRyIG5vZGU7IC8qIHRoZSBob2xkaW5nIG5vZGUgKi8KKyAgICBpbnQgbl9ub2RlOworICAgIHhtbE5zUHRyIG5zOyAvKiB0aGUgbmFtZXNwYWNlICovCisgICAgaW50IG5fbnM7CisgICAgeG1sQ2hhciAqIG5hbWU7IC8qIHRoZSBuYW1lIG9mIHRoZSBhdHRyaWJ1dGUgKi8KKyAgICBpbnQgbl9uYW1lOworICAgIHhtbENoYXIgKiB2YWx1ZTsgLyogdGhlIHZhbHVlIG9mIHRoZSBhdHRyaWJ1dGUgKi8KKyAgICBpbnQgbl92YWx1ZTsKKworICAgIGZvciAobl9ub2RlID0gMDtuX25vZGUgPCBnZW5fbmJfeG1sTm9kZVB0cjtuX25vZGUrKykgeworICAgIGZvciAobl9ucyA9IDA7bl9ucyA8IGdlbl9uYl94bWxOc1B0cjtuX25zKyspIHsKKyAgICBmb3IgKG5fbmFtZSA9IDA7bl9uYW1lIDwgZ2VuX25iX2VhdGVuX25hbWU7bl9uYW1lKyspIHsKKyAgICBmb3IgKG5fdmFsdWUgPSAwO25fdmFsdWUgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl92YWx1ZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIG5vZGUgPSBnZW5feG1sTm9kZVB0cihuX25vZGUsIDApOworICAgICAgICBucyA9IGdlbl94bWxOc1B0cihuX25zLCAxKTsKKyAgICAgICAgbmFtZSA9IGdlbl9lYXRlbl9uYW1lKG5fbmFtZSwgMik7CisgICAgICAgIHZhbHVlID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fdmFsdWUsIDMpOworCisgICAgICAgIHJldF92YWwgPSB4bWxOZXdOc1Byb3BFYXROYW1lKG5vZGUsIG5zLCBuYW1lLCAoY29uc3QgeG1sQ2hhciAqKXZhbHVlKTsKKyAgICAgICAgZGVzcmV0X3htbEF0dHJQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl9ub2RlLCBub2RlLCAwKTsKKyAgICAgICAgZGVzX3htbE5zUHRyKG5fbnMsIG5zLCAxKTsKKyAgICAgICAgZGVzX2VhdGVuX25hbWUobl9uYW1lLCBuYW1lLCAyKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fdmFsdWUsIChjb25zdCB4bWxDaGFyICopdmFsdWUsIDMpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sTmV3TnNQcm9wRWF0TmFtZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9ub2RlKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9ucyk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFtZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdmFsdWUpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sTmV3UEkodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sTm9kZVB0ciByZXRfdmFsOworICAgIHhtbENoYXIgKiBuYW1lOyAvKiB0aGUgcHJvY2Vzc2luZyBpbnN0cnVjdGlvbiBuYW1lICovCisgICAgaW50IG5fbmFtZTsKKyAgICB4bWxDaGFyICogY29udGVudDsgLyogdGhlIFBJIGNvbnRlbnQgKi8KKyAgICBpbnQgbl9jb250ZW50OworCisgICAgZm9yIChuX25hbWUgPSAwO25fbmFtZSA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX25hbWUrKykgeworICAgIGZvciAobl9jb250ZW50ID0gMDtuX2NvbnRlbnQgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9jb250ZW50KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgbmFtZSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIDApOworICAgICAgICBjb250ZW50ID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fY29udGVudCwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbE5ld1BJKChjb25zdCB4bWxDaGFyICopbmFtZSwgKGNvbnN0IHhtbENoYXIgKiljb250ZW50KTsKKyAgICAgICAgZGVzcmV0X3htbE5vZGVQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgKGNvbnN0IHhtbENoYXIgKiluYW1lLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fY29udGVudCwgKGNvbnN0IHhtbENoYXIgKiljb250ZW50LCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbE5ld1BJIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25hbWUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2NvbnRlbnQpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbE5ld1Byb3Aodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX0hUTUxfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQorI2lmZGVmIExJQlhNTF9UUkVFX0VOQUJMRUQKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sQXR0clB0ciByZXRfdmFsOworICAgIHhtbE5vZGVQdHIgbm9kZTsgLyogdGhlIGhvbGRpbmcgbm9kZSAqLworICAgIGludCBuX25vZGU7CisgICAgeG1sQ2hhciAqIG5hbWU7IC8qIHRoZSBuYW1lIG9mIHRoZSBhdHRyaWJ1dGUgKi8KKyAgICBpbnQgbl9uYW1lOworICAgIHhtbENoYXIgKiB2YWx1ZTsgLyogdGhlIHZhbHVlIG9mIHRoZSBhdHRyaWJ1dGUgKi8KKyAgICBpbnQgbl92YWx1ZTsKKworICAgIGZvciAobl9ub2RlID0gMDtuX25vZGUgPCBnZW5fbmJfeG1sTm9kZVB0cjtuX25vZGUrKykgeworICAgIGZvciAobl9uYW1lID0gMDtuX25hbWUgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9uYW1lKyspIHsKKyAgICBmb3IgKG5fdmFsdWUgPSAwO25fdmFsdWUgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl92YWx1ZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIG5vZGUgPSBnZW5feG1sTm9kZVB0cihuX25vZGUsIDApOworICAgICAgICBuYW1lID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgMSk7CisgICAgICAgIHZhbHVlID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fdmFsdWUsIDIpOworCisgICAgICAgIHJldF92YWwgPSB4bWxOZXdQcm9wKG5vZGUsIChjb25zdCB4bWxDaGFyICopbmFtZSwgKGNvbnN0IHhtbENoYXIgKil2YWx1ZSk7CisgICAgICAgIGRlc3JldF94bWxBdHRyUHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxOb2RlUHRyKG5fbm9kZSwgbm9kZSwgMCk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIChjb25zdCB4bWxDaGFyICopbmFtZSwgMSk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX3ZhbHVlLCAoY29uc3QgeG1sQ2hhciAqKXZhbHVlLCAyKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbE5ld1Byb3AiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbm9kZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFtZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdmFsdWUpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sTmV3UmVmZXJlbmNlKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbE5vZGVQdHIgcmV0X3ZhbDsKKyAgICB4bWxEb2MgKiBkb2M7IC8qIHRoZSBkb2N1bWVudCAqLworICAgIGludCBuX2RvYzsKKyAgICB4bWxDaGFyICogbmFtZTsgLyogdGhlIHJlZmVyZW5jZSBuYW1lLCBvciB0aGUgcmVmZXJlbmNlIHN0cmluZyB3aXRoICYgYW5kIDsgKi8KKyAgICBpbnQgbl9uYW1lOworCisgICAgZm9yIChuX2RvYyA9IDA7bl9kb2MgPCBnZW5fbmJfY29uc3RfeG1sRG9jX3B0cjtuX2RvYysrKSB7CisgICAgZm9yIChuX25hbWUgPSAwO25fbmFtZSA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX25hbWUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBkb2MgPSBnZW5fY29uc3RfeG1sRG9jX3B0cihuX2RvYywgMCk7CisgICAgICAgIG5hbWUgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sTmV3UmVmZXJlbmNlKChjb25zdCB4bWxEb2MgKilkb2MsIChjb25zdCB4bWxDaGFyICopbmFtZSk7CisgICAgICAgIGRlc3JldF94bWxOb2RlUHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19jb25zdF94bWxEb2NfcHRyKG5fZG9jLCAoY29uc3QgeG1sRG9jICopZG9jLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgKGNvbnN0IHhtbENoYXIgKiluYW1lLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbE5ld1JlZmVyZW5jZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9kb2MpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25hbWUpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbE5ld1RleHQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sTm9kZVB0ciByZXRfdmFsOworICAgIHhtbENoYXIgKiBjb250ZW50OyAvKiB0aGUgdGV4dCBjb250ZW50ICovCisgICAgaW50IG5fY29udGVudDsKKworICAgIGZvciAobl9jb250ZW50ID0gMDtuX2NvbnRlbnQgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9jb250ZW50KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY29udGVudCA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX2NvbnRlbnQsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxOZXdUZXh0KChjb25zdCB4bWxDaGFyICopY29udGVudCk7CisgICAgICAgIGRlc3JldF94bWxOb2RlUHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX2NvbnRlbnQsIChjb25zdCB4bWxDaGFyICopY29udGVudCwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxOZXdUZXh0IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2NvbnRlbnQpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sTmV3VGV4dENoaWxkKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfVFJFRV9FTkFCTEVEKQorI2lmZGVmIExJQlhNTF9UUkVFX0VOQUJMRUQKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sTm9kZVB0ciByZXRfdmFsOworICAgIHhtbE5vZGVQdHIgcGFyZW50OyAvKiB0aGUgcGFyZW50IG5vZGUgKi8KKyAgICBpbnQgbl9wYXJlbnQ7CisgICAgeG1sTnNQdHIgbnM7IC8qIGEgbmFtZXNwYWNlIGlmIGFueSAqLworICAgIGludCBuX25zOworICAgIHhtbENoYXIgKiBuYW1lOyAvKiB0aGUgbmFtZSBvZiB0aGUgY2hpbGQgKi8KKyAgICBpbnQgbl9uYW1lOworICAgIHhtbENoYXIgKiBjb250ZW50OyAvKiB0aGUgdGV4dCBjb250ZW50IG9mIHRoZSBjaGlsZCBpZiBhbnkuICovCisgICAgaW50IG5fY29udGVudDsKKworICAgIGZvciAobl9wYXJlbnQgPSAwO25fcGFyZW50IDwgZ2VuX25iX3htbE5vZGVQdHI7bl9wYXJlbnQrKykgeworICAgIGZvciAobl9ucyA9IDA7bl9ucyA8IGdlbl9uYl94bWxOc1B0cjtuX25zKyspIHsKKyAgICBmb3IgKG5fbmFtZSA9IDA7bl9uYW1lIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fbmFtZSsrKSB7CisgICAgZm9yIChuX2NvbnRlbnQgPSAwO25fY29udGVudCA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX2NvbnRlbnQrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBwYXJlbnQgPSBnZW5feG1sTm9kZVB0cihuX3BhcmVudCwgMCk7CisgICAgICAgIG5zID0gZ2VuX3htbE5zUHRyKG5fbnMsIDEpOworICAgICAgICBuYW1lID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgMik7CisgICAgICAgIGNvbnRlbnQgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9jb250ZW50LCAzKTsKKworICAgICAgICByZXRfdmFsID0geG1sTmV3VGV4dENoaWxkKHBhcmVudCwgbnMsIChjb25zdCB4bWxDaGFyICopbmFtZSwgKGNvbnN0IHhtbENoYXIgKiljb250ZW50KTsKKyAgICAgICAgZGVzcmV0X3htbE5vZGVQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl9wYXJlbnQsIHBhcmVudCwgMCk7CisgICAgICAgIGRlc194bWxOc1B0cihuX25zLCBucywgMSk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIChjb25zdCB4bWxDaGFyICopbmFtZSwgMik7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX2NvbnRlbnQsIChjb25zdCB4bWxDaGFyICopY29udGVudCwgMyk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxOZXdUZXh0Q2hpbGQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fcGFyZW50KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9ucyk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFtZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29udGVudCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sTmV3VGV4dExlbih2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxOb2RlUHRyIHJldF92YWw7CisgICAgeG1sQ2hhciAqIGNvbnRlbnQ7IC8qIHRoZSB0ZXh0IGNvbnRlbnQgKi8KKyAgICBpbnQgbl9jb250ZW50OworICAgIGludCBsZW47IC8qIHRoZSB0ZXh0IGxlbi4gKi8KKyAgICBpbnQgbl9sZW47CisKKyAgICBmb3IgKG5fY29udGVudCA9IDA7bl9jb250ZW50IDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fY29udGVudCsrKSB7CisgICAgZm9yIChuX2xlbiA9IDA7bl9sZW4gPCBnZW5fbmJfaW50O25fbGVuKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY29udGVudCA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX2NvbnRlbnQsIDApOworICAgICAgICBsZW4gPSBnZW5faW50KG5fbGVuLCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sTmV3VGV4dExlbigoY29uc3QgeG1sQ2hhciAqKWNvbnRlbnQsIGxlbik7CisgICAgICAgIGRlc3JldF94bWxOb2RlUHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX2NvbnRlbnQsIChjb25zdCB4bWxDaGFyICopY29udGVudCwgMCk7CisgICAgICAgIGRlc19pbnQobl9sZW4sIGxlbiwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxOZXdUZXh0TGVuIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2NvbnRlbnQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2xlbik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sTmV4dEVsZW1lbnRTaWJsaW5nKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfVFJFRV9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxOb2RlUHRyIHJldF92YWw7CisgICAgeG1sTm9kZVB0ciBub2RlOyAvKiB0aGUgY3VycmVudCBub2RlICovCisgICAgaW50IG5fbm9kZTsKKworICAgIGZvciAobl9ub2RlID0gMDtuX25vZGUgPCBnZW5fbmJfeG1sTm9kZVB0cjtuX25vZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBub2RlID0gZ2VuX3htbE5vZGVQdHIobl9ub2RlLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sTmV4dEVsZW1lbnRTaWJsaW5nKG5vZGUpOworICAgICAgICBkZXNyZXRfeG1sTm9kZVB0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sTm9kZVB0cihuX25vZGUsIG5vZGUsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sTmV4dEVsZW1lbnRTaWJsaW5nIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25vZGUpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxOb2RlQWRkQ29udGVudCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxOb2RlUHRyIGN1cjsgLyogdGhlIG5vZGUgYmVpbmcgbW9kaWZpZWQgKi8KKyAgICBpbnQgbl9jdXI7CisgICAgeG1sQ2hhciAqIGNvbnRlbnQ7IC8qIGV4dHJhIGNvbnRlbnQgKi8KKyAgICBpbnQgbl9jb250ZW50OworCisgICAgZm9yIChuX2N1ciA9IDA7bl9jdXIgPCBnZW5fbmJfeG1sTm9kZVB0cjtuX2N1cisrKSB7CisgICAgZm9yIChuX2NvbnRlbnQgPSAwO25fY29udGVudCA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX2NvbnRlbnQrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdXIgPSBnZW5feG1sTm9kZVB0cihuX2N1ciwgMCk7CisgICAgICAgIGNvbnRlbnQgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9jb250ZW50LCAxKTsKKworICAgICAgICB4bWxOb2RlQWRkQ29udGVudChjdXIsIChjb25zdCB4bWxDaGFyICopY29udGVudCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl9jdXIsIGN1ciwgMCk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX2NvbnRlbnQsIChjb25zdCB4bWxDaGFyICopY29udGVudCwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxOb2RlQWRkQ29udGVudCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdXIpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2NvbnRlbnQpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbE5vZGVBZGRDb250ZW50TGVuKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbE5vZGVQdHIgY3VyOyAvKiB0aGUgbm9kZSBiZWluZyBtb2RpZmllZCAqLworICAgIGludCBuX2N1cjsKKyAgICB4bWxDaGFyICogY29udGVudDsgLyogZXh0cmEgY29udGVudCAqLworICAgIGludCBuX2NvbnRlbnQ7CisgICAgaW50IGxlbjsgLyogdGhlIHNpemUgb2YgQGNvbnRlbnQgKi8KKyAgICBpbnQgbl9sZW47CisKKyAgICBmb3IgKG5fY3VyID0gMDtuX2N1ciA8IGdlbl9uYl94bWxOb2RlUHRyO25fY3VyKyspIHsKKyAgICBmb3IgKG5fY29udGVudCA9IDA7bl9jb250ZW50IDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fY29udGVudCsrKSB7CisgICAgZm9yIChuX2xlbiA9IDA7bl9sZW4gPCBnZW5fbmJfaW50O25fbGVuKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3VyID0gZ2VuX3htbE5vZGVQdHIobl9jdXIsIDApOworICAgICAgICBjb250ZW50ID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fY29udGVudCwgMSk7CisgICAgICAgIGxlbiA9IGdlbl9pbnQobl9sZW4sIDIpOworCisgICAgICAgIHhtbE5vZGVBZGRDb250ZW50TGVuKGN1ciwgKGNvbnN0IHhtbENoYXIgKiljb250ZW50LCBsZW4pOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxOb2RlUHRyKG5fY3VyLCBjdXIsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9jb250ZW50LCAoY29uc3QgeG1sQ2hhciAqKWNvbnRlbnQsIDEpOworICAgICAgICBkZXNfaW50KG5fbGVuLCBsZW4sIDIpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sTm9kZUFkZENvbnRlbnRMZW4iLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3VyKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jb250ZW50KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9sZW4pOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxOb2RlQnVmR2V0Q29udGVudCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxCdWZmZXJQdHIgYnVmZmVyOyAvKiBhIGJ1ZmZlciAqLworICAgIGludCBuX2J1ZmZlcjsKKyAgICB4bWxOb2RlICogY3VyOyAvKiB0aGUgbm9kZSBiZWluZyByZWFkICovCisgICAgaW50IG5fY3VyOworCisgICAgZm9yIChuX2J1ZmZlciA9IDA7bl9idWZmZXIgPCBnZW5fbmJfeG1sQnVmZmVyUHRyO25fYnVmZmVyKyspIHsKKyAgICBmb3IgKG5fY3VyID0gMDtuX2N1ciA8IGdlbl9uYl9jb25zdF94bWxOb2RlX3B0cjtuX2N1cisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGJ1ZmZlciA9IGdlbl94bWxCdWZmZXJQdHIobl9idWZmZXIsIDApOworICAgICAgICBjdXIgPSBnZW5fY29uc3RfeG1sTm9kZV9wdHIobl9jdXIsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxOb2RlQnVmR2V0Q29udGVudChidWZmZXIsIChjb25zdCB4bWxOb2RlICopY3VyKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sQnVmZmVyUHRyKG5fYnVmZmVyLCBidWZmZXIsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sTm9kZV9wdHIobl9jdXIsIChjb25zdCB4bWxOb2RlICopY3VyLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbE5vZGVCdWZHZXRDb250ZW50IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2J1ZmZlcik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3VyKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxOb2RlRHVtcCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxCdWZmZXJQdHIgYnVmOyAvKiB0aGUgWE1MIGJ1ZmZlciBvdXRwdXQgKi8KKyAgICBpbnQgbl9idWY7CisgICAgeG1sRG9jUHRyIGRvYzsgLyogdGhlIGRvY3VtZW50ICovCisgICAgaW50IG5fZG9jOworICAgIHhtbE5vZGVQdHIgY3VyOyAvKiB0aGUgY3VycmVudCBub2RlICovCisgICAgaW50IG5fY3VyOworICAgIGludCBsZXZlbDsgLyogdGhlIGltYnJpY2F0aW9uIGxldmVsIGZvciBpbmRlbnRpbmcgKi8KKyAgICBpbnQgbl9sZXZlbDsKKyAgICBpbnQgZm9ybWF0OyAvKiBpcyBmb3JtYXR0aW5nIGFsbG93ZWQgKi8KKyAgICBpbnQgbl9mb3JtYXQ7CisKKyAgICBmb3IgKG5fYnVmID0gMDtuX2J1ZiA8IGdlbl9uYl94bWxCdWZmZXJQdHI7bl9idWYrKykgeworICAgIGZvciAobl9kb2MgPSAwO25fZG9jIDwgZ2VuX25iX3htbERvY1B0cjtuX2RvYysrKSB7CisgICAgZm9yIChuX2N1ciA9IDA7bl9jdXIgPCBnZW5fbmJfeG1sTm9kZVB0cjtuX2N1cisrKSB7CisgICAgZm9yIChuX2xldmVsID0gMDtuX2xldmVsIDwgZ2VuX25iX2ludDtuX2xldmVsKyspIHsKKyAgICBmb3IgKG5fZm9ybWF0ID0gMDtuX2Zvcm1hdCA8IGdlbl9uYl9pbnQ7bl9mb3JtYXQrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBidWYgPSBnZW5feG1sQnVmZmVyUHRyKG5fYnVmLCAwKTsKKyAgICAgICAgZG9jID0gZ2VuX3htbERvY1B0cihuX2RvYywgMSk7CisgICAgICAgIGN1ciA9IGdlbl94bWxOb2RlUHRyKG5fY3VyLCAyKTsKKyAgICAgICAgbGV2ZWwgPSBnZW5faW50KG5fbGV2ZWwsIDMpOworICAgICAgICBmb3JtYXQgPSBnZW5faW50KG5fZm9ybWF0LCA0KTsKKworICAgICAgICByZXRfdmFsID0geG1sTm9kZUR1bXAoYnVmLCBkb2MsIGN1ciwgbGV2ZWwsIGZvcm1hdCk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbEJ1ZmZlclB0cihuX2J1ZiwgYnVmLCAwKTsKKyAgICAgICAgZGVzX3htbERvY1B0cihuX2RvYywgZG9jLCAxKTsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl9jdXIsIGN1ciwgMik7CisgICAgICAgIGRlc19pbnQobl9sZXZlbCwgbGV2ZWwsIDMpOworICAgICAgICBkZXNfaW50KG5fZm9ybWF0LCBmb3JtYXQsIDQpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sTm9kZUR1bXAiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fYnVmKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9kb2MpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N1cik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbGV2ZWwpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2Zvcm1hdCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxOb2RlRHVtcE91dHB1dCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxPdXRwdXRCdWZmZXJQdHIgYnVmOyAvKiB0aGUgWE1MIGJ1ZmZlciBvdXRwdXQgKi8KKyAgICBpbnQgbl9idWY7CisgICAgeG1sRG9jUHRyIGRvYzsgLyogdGhlIGRvY3VtZW50ICovCisgICAgaW50IG5fZG9jOworICAgIHhtbE5vZGVQdHIgY3VyOyAvKiB0aGUgY3VycmVudCBub2RlICovCisgICAgaW50IG5fY3VyOworICAgIGludCBsZXZlbDsgLyogdGhlIGltYnJpY2F0aW9uIGxldmVsIGZvciBpbmRlbnRpbmcgKi8KKyAgICBpbnQgbl9sZXZlbDsKKyAgICBpbnQgZm9ybWF0OyAvKiBpcyBmb3JtYXR0aW5nIGFsbG93ZWQgKi8KKyAgICBpbnQgbl9mb3JtYXQ7CisgICAgY2hhciAqIGVuY29kaW5nOyAvKiBhbiBvcHRpb25hbCBlbmNvZGluZyBzdHJpbmcgKi8KKyAgICBpbnQgbl9lbmNvZGluZzsKKworICAgIGZvciAobl9idWYgPSAwO25fYnVmIDwgZ2VuX25iX3htbE91dHB1dEJ1ZmZlclB0cjtuX2J1ZisrKSB7CisgICAgZm9yIChuX2RvYyA9IDA7bl9kb2MgPCBnZW5fbmJfeG1sRG9jUHRyO25fZG9jKyspIHsKKyAgICBmb3IgKG5fY3VyID0gMDtuX2N1ciA8IGdlbl9uYl94bWxOb2RlUHRyO25fY3VyKyspIHsKKyAgICBmb3IgKG5fbGV2ZWwgPSAwO25fbGV2ZWwgPCBnZW5fbmJfaW50O25fbGV2ZWwrKykgeworICAgIGZvciAobl9mb3JtYXQgPSAwO25fZm9ybWF0IDwgZ2VuX25iX2ludDtuX2Zvcm1hdCsrKSB7CisgICAgZm9yIChuX2VuY29kaW5nID0gMDtuX2VuY29kaW5nIDwgZ2VuX25iX2NvbnN0X2NoYXJfcHRyO25fZW5jb2RpbmcrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBidWYgPSBnZW5feG1sT3V0cHV0QnVmZmVyUHRyKG5fYnVmLCAwKTsKKyAgICAgICAgZG9jID0gZ2VuX3htbERvY1B0cihuX2RvYywgMSk7CisgICAgICAgIGN1ciA9IGdlbl94bWxOb2RlUHRyKG5fY3VyLCAyKTsKKyAgICAgICAgbGV2ZWwgPSBnZW5faW50KG5fbGV2ZWwsIDMpOworICAgICAgICBmb3JtYXQgPSBnZW5faW50KG5fZm9ybWF0LCA0KTsKKyAgICAgICAgZW5jb2RpbmcgPSBnZW5fY29uc3RfY2hhcl9wdHIobl9lbmNvZGluZywgNSk7CisKKyAgICAgICAgeG1sTm9kZUR1bXBPdXRwdXQoYnVmLCBkb2MsIGN1ciwgbGV2ZWwsIGZvcm1hdCwgKGNvbnN0IGNoYXIgKillbmNvZGluZyk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbE91dHB1dEJ1ZmZlclB0cihuX2J1ZiwgYnVmLCAwKTsKKyAgICAgICAgZGVzX3htbERvY1B0cihuX2RvYywgZG9jLCAxKTsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl9jdXIsIGN1ciwgMik7CisgICAgICAgIGRlc19pbnQobl9sZXZlbCwgbGV2ZWwsIDMpOworICAgICAgICBkZXNfaW50KG5fZm9ybWF0LCBmb3JtYXQsIDQpOworICAgICAgICBkZXNfY29uc3RfY2hhcl9wdHIobl9lbmNvZGluZywgKGNvbnN0IGNoYXIgKillbmNvZGluZywgNSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxOb2RlRHVtcE91dHB1dCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9idWYpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2RvYyk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3VyKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9sZXZlbCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZm9ybWF0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9lbmNvZGluZyk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sTm9kZUdldEJhc2Uodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sQ2hhciAqIHJldF92YWw7CisgICAgeG1sRG9jICogZG9jOyAvKiB0aGUgZG9jdW1lbnQgdGhlIG5vZGUgcGVydGFpbnMgdG8gKi8KKyAgICBpbnQgbl9kb2M7CisgICAgeG1sTm9kZSAqIGN1cjsgLyogdGhlIG5vZGUgYmVpbmcgY2hlY2tlZCAqLworICAgIGludCBuX2N1cjsKKworICAgIGZvciAobl9kb2MgPSAwO25fZG9jIDwgZ2VuX25iX2NvbnN0X3htbERvY19wdHI7bl9kb2MrKykgeworICAgIGZvciAobl9jdXIgPSAwO25fY3VyIDwgZ2VuX25iX2NvbnN0X3htbE5vZGVfcHRyO25fY3VyKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgZG9jID0gZ2VuX2NvbnN0X3htbERvY19wdHIobl9kb2MsIDApOworICAgICAgICBjdXIgPSBnZW5fY29uc3RfeG1sTm9kZV9wdHIobl9jdXIsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxOb2RlR2V0QmFzZSgoY29uc3QgeG1sRG9jICopZG9jLCAoY29uc3QgeG1sTm9kZSAqKWN1cik7CisgICAgICAgIGRlc3JldF94bWxDaGFyX3B0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfY29uc3RfeG1sRG9jX3B0cihuX2RvYywgKGNvbnN0IHhtbERvYyAqKWRvYywgMCk7CisgICAgICAgIGRlc19jb25zdF94bWxOb2RlX3B0cihuX2N1ciwgKGNvbnN0IHhtbE5vZGUgKiljdXIsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sTm9kZUdldEJhc2UiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZG9jKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdXIpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbE5vZGVHZXRDb250ZW50KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbENoYXIgKiByZXRfdmFsOworICAgIHhtbE5vZGUgKiBjdXI7IC8qIHRoZSBub2RlIGJlaW5nIHJlYWQgKi8KKyAgICBpbnQgbl9jdXI7CisKKyAgICBmb3IgKG5fY3VyID0gMDtuX2N1ciA8IGdlbl9uYl9jb25zdF94bWxOb2RlX3B0cjtuX2N1cisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN1ciA9IGdlbl9jb25zdF94bWxOb2RlX3B0cihuX2N1ciwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbE5vZGVHZXRDb250ZW50KChjb25zdCB4bWxOb2RlICopY3VyKTsKKyAgICAgICAgZGVzcmV0X3htbENoYXJfcHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19jb25zdF94bWxOb2RlX3B0cihuX2N1ciwgKGNvbnN0IHhtbE5vZGUgKiljdXIsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sTm9kZUdldENvbnRlbnQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3VyKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbE5vZGVHZXRMYW5nKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbENoYXIgKiByZXRfdmFsOworICAgIHhtbE5vZGUgKiBjdXI7IC8qIHRoZSBub2RlIGJlaW5nIGNoZWNrZWQgKi8KKyAgICBpbnQgbl9jdXI7CisKKyAgICBmb3IgKG5fY3VyID0gMDtuX2N1ciA8IGdlbl9uYl9jb25zdF94bWxOb2RlX3B0cjtuX2N1cisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN1ciA9IGdlbl9jb25zdF94bWxOb2RlX3B0cihuX2N1ciwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbE5vZGVHZXRMYW5nKChjb25zdCB4bWxOb2RlICopY3VyKTsKKyAgICAgICAgZGVzcmV0X3htbENoYXJfcHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19jb25zdF94bWxOb2RlX3B0cihuX2N1ciwgKGNvbnN0IHhtbE5vZGUgKiljdXIsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sTm9kZUdldExhbmciLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3VyKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbE5vZGVHZXRTcGFjZVByZXNlcnZlKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbE5vZGUgKiBjdXI7IC8qIHRoZSBub2RlIGJlaW5nIGNoZWNrZWQgKi8KKyAgICBpbnQgbl9jdXI7CisKKyAgICBmb3IgKG5fY3VyID0gMDtuX2N1ciA8IGdlbl9uYl9jb25zdF94bWxOb2RlX3B0cjtuX2N1cisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN1ciA9IGdlbl9jb25zdF94bWxOb2RlX3B0cihuX2N1ciwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbE5vZGVHZXRTcGFjZVByZXNlcnZlKChjb25zdCB4bWxOb2RlICopY3VyKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfY29uc3RfeG1sTm9kZV9wdHIobl9jdXIsIChjb25zdCB4bWxOb2RlICopY3VyLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbE5vZGVHZXRTcGFjZVByZXNlcnZlIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N1cik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxOb2RlSXNUZXh0KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbE5vZGUgKiBub2RlOyAvKiB0aGUgbm9kZSAqLworICAgIGludCBuX25vZGU7CisKKyAgICBmb3IgKG5fbm9kZSA9IDA7bl9ub2RlIDwgZ2VuX25iX2NvbnN0X3htbE5vZGVfcHRyO25fbm9kZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIG5vZGUgPSBnZW5fY29uc3RfeG1sTm9kZV9wdHIobl9ub2RlLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sTm9kZUlzVGV4dCgoY29uc3QgeG1sTm9kZSAqKW5vZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19jb25zdF94bWxOb2RlX3B0cihuX25vZGUsIChjb25zdCB4bWxOb2RlICopbm9kZSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxOb2RlSXNUZXh0IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25vZGUpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sTm9kZUxpc3RHZXRSYXdTdHJpbmcodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbENoYXIgKiByZXRfdmFsOworICAgIHhtbERvYyAqIGRvYzsgLyogdGhlIGRvY3VtZW50ICovCisgICAgaW50IG5fZG9jOworICAgIHhtbE5vZGUgKiBsaXN0OyAvKiBhIE5vZGUgbGlzdCAqLworICAgIGludCBuX2xpc3Q7CisgICAgaW50IGluTGluZTsgLyogc2hvdWxkIHdlIHJlcGxhY2UgZW50aXR5IGNvbnRlbnRzIG9yIHNob3cgdGhlaXIgZXh0ZXJuYWwgZm9ybSAqLworICAgIGludCBuX2luTGluZTsKKworICAgIGZvciAobl9kb2MgPSAwO25fZG9jIDwgZ2VuX25iX2NvbnN0X3htbERvY19wdHI7bl9kb2MrKykgeworICAgIGZvciAobl9saXN0ID0gMDtuX2xpc3QgPCBnZW5fbmJfY29uc3RfeG1sTm9kZV9wdHI7bl9saXN0KyspIHsKKyAgICBmb3IgKG5faW5MaW5lID0gMDtuX2luTGluZSA8IGdlbl9uYl9pbnQ7bl9pbkxpbmUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBkb2MgPSBnZW5fY29uc3RfeG1sRG9jX3B0cihuX2RvYywgMCk7CisgICAgICAgIGxpc3QgPSBnZW5fY29uc3RfeG1sTm9kZV9wdHIobl9saXN0LCAxKTsKKyAgICAgICAgaW5MaW5lID0gZ2VuX2ludChuX2luTGluZSwgMik7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbE5vZGVMaXN0R2V0UmF3U3RyaW5nKChjb25zdCB4bWxEb2MgKilkb2MsIChjb25zdCB4bWxOb2RlICopbGlzdCwgaW5MaW5lKTsKKyAgICAgICAgZGVzcmV0X3htbENoYXJfcHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19jb25zdF94bWxEb2NfcHRyKG5fZG9jLCAoY29uc3QgeG1sRG9jICopZG9jLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbE5vZGVfcHRyKG5fbGlzdCwgKGNvbnN0IHhtbE5vZGUgKilsaXN0LCAxKTsKKyAgICAgICAgZGVzX2ludChuX2luTGluZSwgaW5MaW5lLCAyKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbE5vZGVMaXN0R2V0UmF3U3RyaW5nIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2RvYyk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbGlzdCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5faW5MaW5lKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxOb2RlTGlzdEdldFN0cmluZyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxDaGFyICogcmV0X3ZhbDsKKyAgICB4bWxEb2NQdHIgZG9jOyAvKiB0aGUgZG9jdW1lbnQgKi8KKyAgICBpbnQgbl9kb2M7CisgICAgeG1sTm9kZSAqIGxpc3Q7IC8qIGEgTm9kZSBsaXN0ICovCisgICAgaW50IG5fbGlzdDsKKyAgICBpbnQgaW5MaW5lOyAvKiBzaG91bGQgd2UgcmVwbGFjZSBlbnRpdHkgY29udGVudHMgb3Igc2hvdyB0aGVpciBleHRlcm5hbCBmb3JtICovCisgICAgaW50IG5faW5MaW5lOworCisgICAgZm9yIChuX2RvYyA9IDA7bl9kb2MgPCBnZW5fbmJfeG1sRG9jUHRyO25fZG9jKyspIHsKKyAgICBmb3IgKG5fbGlzdCA9IDA7bl9saXN0IDwgZ2VuX25iX2NvbnN0X3htbE5vZGVfcHRyO25fbGlzdCsrKSB7CisgICAgZm9yIChuX2luTGluZSA9IDA7bl9pbkxpbmUgPCBnZW5fbmJfaW50O25faW5MaW5lKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgZG9jID0gZ2VuX3htbERvY1B0cihuX2RvYywgMCk7CisgICAgICAgIGxpc3QgPSBnZW5fY29uc3RfeG1sTm9kZV9wdHIobl9saXN0LCAxKTsKKyAgICAgICAgaW5MaW5lID0gZ2VuX2ludChuX2luTGluZSwgMik7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbE5vZGVMaXN0R2V0U3RyaW5nKGRvYywgKGNvbnN0IHhtbE5vZGUgKilsaXN0LCBpbkxpbmUpOworICAgICAgICBkZXNyZXRfeG1sQ2hhcl9wdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbERvY1B0cihuX2RvYywgZG9jLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbE5vZGVfcHRyKG5fbGlzdCwgKGNvbnN0IHhtbE5vZGUgKilsaXN0LCAxKTsKKyAgICAgICAgZGVzX2ludChuX2luTGluZSwgaW5MaW5lLCAyKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbE5vZGVMaXN0R2V0U3RyaW5nIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2RvYyk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbGlzdCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5faW5MaW5lKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sTm9kZVNldEJhc2Uodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX1hJTkNMVURFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbE5vZGVQdHIgY3VyOyAvKiB0aGUgbm9kZSBiZWluZyBjaGFuZ2VkICovCisgICAgaW50IG5fY3VyOworICAgIHhtbENoYXIgKiB1cmk7IC8qIHRoZSBuZXcgYmFzZSBVUkkgKi8KKyAgICBpbnQgbl91cmk7CisKKyAgICBmb3IgKG5fY3VyID0gMDtuX2N1ciA8IGdlbl9uYl94bWxOb2RlUHRyO25fY3VyKyspIHsKKyAgICBmb3IgKG5fdXJpID0gMDtuX3VyaSA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX3VyaSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN1ciA9IGdlbl94bWxOb2RlUHRyKG5fY3VyLCAwKTsKKyAgICAgICAgdXJpID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fdXJpLCAxKTsKKworICAgICAgICB4bWxOb2RlU2V0QmFzZShjdXIsIChjb25zdCB4bWxDaGFyICopdXJpKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sTm9kZVB0cihuX2N1ciwgY3VyLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fdXJpLCAoY29uc3QgeG1sQ2hhciAqKXVyaSwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxOb2RlU2V0QmFzZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdXIpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3VyaSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxOb2RlU2V0Q29udGVudCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxOb2RlUHRyIGN1cjsgLyogdGhlIG5vZGUgYmVpbmcgbW9kaWZpZWQgKi8KKyAgICBpbnQgbl9jdXI7CisgICAgeG1sQ2hhciAqIGNvbnRlbnQ7IC8qIHRoZSBuZXcgdmFsdWUgb2YgdGhlIGNvbnRlbnQgKi8KKyAgICBpbnQgbl9jb250ZW50OworCisgICAgZm9yIChuX2N1ciA9IDA7bl9jdXIgPCBnZW5fbmJfeG1sTm9kZVB0cjtuX2N1cisrKSB7CisgICAgZm9yIChuX2NvbnRlbnQgPSAwO25fY29udGVudCA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX2NvbnRlbnQrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdXIgPSBnZW5feG1sTm9kZVB0cihuX2N1ciwgMCk7CisgICAgICAgIGNvbnRlbnQgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9jb250ZW50LCAxKTsKKworICAgICAgICB4bWxOb2RlU2V0Q29udGVudChjdXIsIChjb25zdCB4bWxDaGFyICopY29udGVudCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl9jdXIsIGN1ciwgMCk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX2NvbnRlbnQsIChjb25zdCB4bWxDaGFyICopY29udGVudCwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxOb2RlU2V0Q29udGVudCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdXIpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2NvbnRlbnQpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbE5vZGVTZXRDb250ZW50TGVuKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfVFJFRV9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxOb2RlUHRyIGN1cjsgLyogdGhlIG5vZGUgYmVpbmcgbW9kaWZpZWQgKi8KKyAgICBpbnQgbl9jdXI7CisgICAgeG1sQ2hhciAqIGNvbnRlbnQ7IC8qIHRoZSBuZXcgdmFsdWUgb2YgdGhlIGNvbnRlbnQgKi8KKyAgICBpbnQgbl9jb250ZW50OworICAgIGludCBsZW47IC8qIHRoZSBzaXplIG9mIEBjb250ZW50ICovCisgICAgaW50IG5fbGVuOworCisgICAgZm9yIChuX2N1ciA9IDA7bl9jdXIgPCBnZW5fbmJfeG1sTm9kZVB0cjtuX2N1cisrKSB7CisgICAgZm9yIChuX2NvbnRlbnQgPSAwO25fY29udGVudCA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX2NvbnRlbnQrKykgeworICAgIGZvciAobl9sZW4gPSAwO25fbGVuIDwgZ2VuX25iX2ludDtuX2xlbisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN1ciA9IGdlbl94bWxOb2RlUHRyKG5fY3VyLCAwKTsKKyAgICAgICAgY29udGVudCA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX2NvbnRlbnQsIDEpOworICAgICAgICBsZW4gPSBnZW5faW50KG5fbGVuLCAyKTsKKworICAgICAgICB4bWxOb2RlU2V0Q29udGVudExlbihjdXIsIChjb25zdCB4bWxDaGFyICopY29udGVudCwgbGVuKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sTm9kZVB0cihuX2N1ciwgY3VyLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fY29udGVudCwgKGNvbnN0IHhtbENoYXIgKiljb250ZW50LCAxKTsKKyAgICAgICAgZGVzX2ludChuX2xlbiwgbGVuLCAyKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbE5vZGVTZXRDb250ZW50TGVuIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N1cik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29udGVudCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbGVuKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxOb2RlU2V0TGFuZyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sTm9kZVB0ciBjdXI7IC8qIHRoZSBub2RlIGJlaW5nIGNoYW5nZWQgKi8KKyAgICBpbnQgbl9jdXI7CisgICAgeG1sQ2hhciAqIGxhbmc7IC8qIHRoZSBsYW5ndWFnZSBkZXNjcmlwdGlvbiAqLworICAgIGludCBuX2xhbmc7CisKKyAgICBmb3IgKG5fY3VyID0gMDtuX2N1ciA8IGdlbl9uYl94bWxOb2RlUHRyO25fY3VyKyspIHsKKyAgICBmb3IgKG5fbGFuZyA9IDA7bl9sYW5nIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fbGFuZysrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN1ciA9IGdlbl94bWxOb2RlUHRyKG5fY3VyLCAwKTsKKyAgICAgICAgbGFuZyA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX2xhbmcsIDEpOworCisgICAgICAgIHhtbE5vZGVTZXRMYW5nKGN1ciwgKGNvbnN0IHhtbENoYXIgKilsYW5nKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sTm9kZVB0cihuX2N1ciwgY3VyLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fbGFuZywgKGNvbnN0IHhtbENoYXIgKilsYW5nLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbE5vZGVTZXRMYW5nIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N1cik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbGFuZyk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxOb2RlU2V0TmFtZSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sTm9kZVB0ciBjdXI7IC8qIHRoZSBub2RlIGJlaW5nIGNoYW5nZWQgKi8KKyAgICBpbnQgbl9jdXI7CisgICAgeG1sQ2hhciAqIG5hbWU7IC8qIHRoZSBuZXcgdGFnIG5hbWUgKi8KKyAgICBpbnQgbl9uYW1lOworCisgICAgZm9yIChuX2N1ciA9IDA7bl9jdXIgPCBnZW5fbmJfeG1sTm9kZVB0cjtuX2N1cisrKSB7CisgICAgZm9yIChuX25hbWUgPSAwO25fbmFtZSA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX25hbWUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdXIgPSBnZW5feG1sTm9kZVB0cihuX2N1ciwgMCk7CisgICAgICAgIG5hbWUgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAxKTsKKworICAgICAgICB4bWxOb2RlU2V0TmFtZShjdXIsIChjb25zdCB4bWxDaGFyICopbmFtZSk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl9jdXIsIGN1ciwgMCk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIChjb25zdCB4bWxDaGFyICopbmFtZSwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxOb2RlU2V0TmFtZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdXIpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25hbWUpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sTm9kZVNldFNwYWNlUHJlc2VydmUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbE5vZGVQdHIgY3VyOyAvKiB0aGUgbm9kZSBiZWluZyBjaGFuZ2VkICovCisgICAgaW50IG5fY3VyOworICAgIGludCB2YWw7IC8qIHRoZSB4bWw6c3BhY2UgdmFsdWUgKCIwIjogZGVmYXVsdCwgMTogInByZXNlcnZlIikgKi8KKyAgICBpbnQgbl92YWw7CisKKyAgICBmb3IgKG5fY3VyID0gMDtuX2N1ciA8IGdlbl9uYl94bWxOb2RlUHRyO25fY3VyKyspIHsKKyAgICBmb3IgKG5fdmFsID0gMDtuX3ZhbCA8IGdlbl9uYl9pbnQ7bl92YWwrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdXIgPSBnZW5feG1sTm9kZVB0cihuX2N1ciwgMCk7CisgICAgICAgIHZhbCA9IGdlbl9pbnQobl92YWwsIDEpOworCisgICAgICAgIHhtbE5vZGVTZXRTcGFjZVByZXNlcnZlKGN1ciwgdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sTm9kZVB0cihuX2N1ciwgY3VyLCAwKTsKKyAgICAgICAgZGVzX2ludChuX3ZhbCwgdmFsLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbE5vZGVTZXRTcGFjZVByZXNlcnZlIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N1cik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdmFsKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFByZXZpb3VzRWxlbWVudFNpYmxpbmcodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbE5vZGVQdHIgcmV0X3ZhbDsKKyAgICB4bWxOb2RlUHRyIG5vZGU7IC8qIHRoZSBjdXJyZW50IG5vZGUgKi8KKyAgICBpbnQgbl9ub2RlOworCisgICAgZm9yIChuX25vZGUgPSAwO25fbm9kZSA8IGdlbl9uYl94bWxOb2RlUHRyO25fbm9kZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIG5vZGUgPSBnZW5feG1sTm9kZVB0cihuX25vZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxQcmV2aW91c0VsZW1lbnRTaWJsaW5nKG5vZGUpOworICAgICAgICBkZXNyZXRfeG1sTm9kZVB0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sTm9kZVB0cihuX25vZGUsIG5vZGUsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sUHJldmlvdXNFbGVtZW50U2libGluZyIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9ub2RlKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sUmVjb25jaWxpYXRlTnModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpCisjaWZkZWYgTElCWE1MX1RSRUVfRU5BQkxFRAorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxEb2NQdHIgZG9jOyAvKiB0aGUgZG9jdW1lbnQgKi8KKyAgICBpbnQgbl9kb2M7CisgICAgeG1sTm9kZVB0ciB0cmVlOyAvKiBhIG5vZGUgZGVmaW5pbmcgdGhlIHN1YnRyZWUgdG8gcmVjb25jaWxpYXRlICovCisgICAgaW50IG5fdHJlZTsKKworICAgIGZvciAobl9kb2MgPSAwO25fZG9jIDwgZ2VuX25iX3htbERvY1B0cjtuX2RvYysrKSB7CisgICAgZm9yIChuX3RyZWUgPSAwO25fdHJlZSA8IGdlbl9uYl94bWxOb2RlUHRyO25fdHJlZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGRvYyA9IGdlbl94bWxEb2NQdHIobl9kb2MsIDApOworICAgICAgICB0cmVlID0gZ2VuX3htbE5vZGVQdHIobl90cmVlLCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sUmVjb25jaWxpYXRlTnMoZG9jLCB0cmVlKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sRG9jUHRyKG5fZG9jLCBkb2MsIDApOworICAgICAgICBkZXNfeG1sTm9kZVB0cihuX3RyZWUsIHRyZWUsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sUmVjb25jaWxpYXRlTnMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZG9jKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl90cmVlKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sUmVtb3ZlUHJvcCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxBdHRyUHRyIGN1cjsgLyogYW4gYXR0cmlidXRlICovCisgICAgaW50IG5fY3VyOworCisgICAgZm9yIChuX2N1ciA9IDA7bl9jdXIgPCBnZW5fbmJfeG1sQXR0clB0cjtuX2N1cisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN1ciA9IGdlbl94bWxBdHRyUHRyKG5fY3VyLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sUmVtb3ZlUHJvcChjdXIpOworICAgICAgICBjdXIgPSBOVUxMOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxBdHRyUHRyKG5fY3VyLCBjdXIsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sUmVtb3ZlUHJvcCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdXIpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sUmVwbGFjZU5vZGUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxOb2RlUHRyIHJldF92YWw7CisgICAgeG1sTm9kZVB0ciBvbGQ7IC8qIHRoZSBvbGQgbm9kZSAqLworICAgIGludCBuX29sZDsKKyAgICB4bWxOb2RlUHRyIGN1cjsgLyogdGhlIG5vZGUgKi8KKyAgICBpbnQgbl9jdXI7CisKKyAgICBmb3IgKG5fb2xkID0gMDtuX29sZCA8IGdlbl9uYl94bWxOb2RlUHRyO25fb2xkKyspIHsKKyAgICBmb3IgKG5fY3VyID0gMDtuX2N1ciA8IGdlbl9uYl94bWxOb2RlUHRyX2luO25fY3VyKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgb2xkID0gZ2VuX3htbE5vZGVQdHIobl9vbGQsIDApOworICAgICAgICBjdXIgPSBnZW5feG1sTm9kZVB0cl9pbihuX2N1ciwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFJlcGxhY2VOb2RlKG9sZCwgY3VyKTsKKyAgICAgICAgaWYgKGN1ciAhPSBOVUxMKSB7CisgICAgICAgICAgICAgIHhtbFVubGlua05vZGUoY3VyKTsKKyAgICAgICAgICAgICAgeG1sRnJlZU5vZGUoY3VyKSA7IGN1ciA9IE5VTEwgOyB9CisgICAgICAgICAgaWYgKG9sZCAhPSBOVUxMKSB7CisgICAgICAgICAgICAgIHhtbFVubGlua05vZGUob2xkKTsKKyAgICAgICAgICAgICAgeG1sRnJlZU5vZGUob2xkKSA7IG9sZCA9IE5VTEwgOyB9CisJICByZXRfdmFsID0gTlVMTDsKKyAgICAgICAgZGVzcmV0X3htbE5vZGVQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl9vbGQsIG9sZCwgMCk7CisgICAgICAgIGRlc194bWxOb2RlUHRyX2luKG5fY3VyLCBjdXIsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sUmVwbGFjZU5vZGUiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fb2xkKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdXIpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sU2F2ZUZpbGUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgY29uc3QgY2hhciAqIGZpbGVuYW1lOyAvKiB0aGUgZmlsZW5hbWUgKG9yIFVSTCkgKi8KKyAgICBpbnQgbl9maWxlbmFtZTsKKyAgICB4bWxEb2NQdHIgY3VyOyAvKiB0aGUgZG9jdW1lbnQgKi8KKyAgICBpbnQgbl9jdXI7CisKKyAgICBmb3IgKG5fZmlsZW5hbWUgPSAwO25fZmlsZW5hbWUgPCBnZW5fbmJfZmlsZW91dHB1dDtuX2ZpbGVuYW1lKyspIHsKKyAgICBmb3IgKG5fY3VyID0gMDtuX2N1ciA8IGdlbl9uYl94bWxEb2NQdHI7bl9jdXIrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBmaWxlbmFtZSA9IGdlbl9maWxlb3V0cHV0KG5fZmlsZW5hbWUsIDApOworICAgICAgICBjdXIgPSBnZW5feG1sRG9jUHRyKG5fY3VyLCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sU2F2ZUZpbGUoZmlsZW5hbWUsIGN1cik7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2ZpbGVvdXRwdXQobl9maWxlbmFtZSwgZmlsZW5hbWUsIDApOworICAgICAgICBkZXNfeG1sRG9jUHRyKG5fY3VyLCBjdXIsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sU2F2ZUZpbGUiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZmlsZW5hbWUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N1cik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxTYXZlRmlsZUVuYyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICBjb25zdCBjaGFyICogZmlsZW5hbWU7IC8qIHRoZSBmaWxlbmFtZSAob3IgVVJMKSAqLworICAgIGludCBuX2ZpbGVuYW1lOworICAgIHhtbERvY1B0ciBjdXI7IC8qIHRoZSBkb2N1bWVudCAqLworICAgIGludCBuX2N1cjsKKyAgICBjaGFyICogZW5jb2Rpbmc7IC8qIHRoZSBuYW1lIG9mIGFuIGVuY29kaW5nIChvciBOVUxMKSAqLworICAgIGludCBuX2VuY29kaW5nOworCisgICAgZm9yIChuX2ZpbGVuYW1lID0gMDtuX2ZpbGVuYW1lIDwgZ2VuX25iX2ZpbGVvdXRwdXQ7bl9maWxlbmFtZSsrKSB7CisgICAgZm9yIChuX2N1ciA9IDA7bl9jdXIgPCBnZW5fbmJfeG1sRG9jUHRyO25fY3VyKyspIHsKKyAgICBmb3IgKG5fZW5jb2RpbmcgPSAwO25fZW5jb2RpbmcgPCBnZW5fbmJfY29uc3RfY2hhcl9wdHI7bl9lbmNvZGluZysrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGZpbGVuYW1lID0gZ2VuX2ZpbGVvdXRwdXQobl9maWxlbmFtZSwgMCk7CisgICAgICAgIGN1ciA9IGdlbl94bWxEb2NQdHIobl9jdXIsIDEpOworICAgICAgICBlbmNvZGluZyA9IGdlbl9jb25zdF9jaGFyX3B0cihuX2VuY29kaW5nLCAyKTsKKworICAgICAgICByZXRfdmFsID0geG1sU2F2ZUZpbGVFbmMoZmlsZW5hbWUsIGN1ciwgKGNvbnN0IGNoYXIgKillbmNvZGluZyk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2ZpbGVvdXRwdXQobl9maWxlbmFtZSwgZmlsZW5hbWUsIDApOworICAgICAgICBkZXNfeG1sRG9jUHRyKG5fY3VyLCBjdXIsIDEpOworICAgICAgICBkZXNfY29uc3RfY2hhcl9wdHIobl9lbmNvZGluZywgKGNvbnN0IGNoYXIgKillbmNvZGluZywgMik7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxTYXZlRmlsZUVuYyIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9maWxlbmFtZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3VyKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9lbmNvZGluZyk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sU2F2ZUZpbGVUbyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxPdXRwdXRCdWZmZXJQdHIgYnVmOyAvKiBhbiBvdXRwdXQgSS9PIGJ1ZmZlciAqLworICAgIGludCBuX2J1ZjsKKyAgICB4bWxEb2NQdHIgY3VyOyAvKiB0aGUgZG9jdW1lbnQgKi8KKyAgICBpbnQgbl9jdXI7CisgICAgY2hhciAqIGVuY29kaW5nOyAvKiB0aGUgZW5jb2RpbmcgaWYgYW55IGFzc3VtaW5nIHRoZSBJL08gbGF5ZXIgaGFuZGxlcyB0aGUgdHJhbmNvZGluZyAqLworICAgIGludCBuX2VuY29kaW5nOworCisgICAgZm9yIChuX2J1ZiA9IDA7bl9idWYgPCBnZW5fbmJfeG1sT3V0cHV0QnVmZmVyUHRyO25fYnVmKyspIHsKKyAgICBmb3IgKG5fY3VyID0gMDtuX2N1ciA8IGdlbl9uYl94bWxEb2NQdHI7bl9jdXIrKykgeworICAgIGZvciAobl9lbmNvZGluZyA9IDA7bl9lbmNvZGluZyA8IGdlbl9uYl9jb25zdF9jaGFyX3B0cjtuX2VuY29kaW5nKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgYnVmID0gZ2VuX3htbE91dHB1dEJ1ZmZlclB0cihuX2J1ZiwgMCk7CisgICAgICAgIGN1ciA9IGdlbl94bWxEb2NQdHIobl9jdXIsIDEpOworICAgICAgICBlbmNvZGluZyA9IGdlbl9jb25zdF9jaGFyX3B0cihuX2VuY29kaW5nLCAyKTsKKworICAgICAgICByZXRfdmFsID0geG1sU2F2ZUZpbGVUbyhidWYsIGN1ciwgKGNvbnN0IGNoYXIgKillbmNvZGluZyk7CisgICAgICAgIGJ1ZiA9IE5VTEw7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbE91dHB1dEJ1ZmZlclB0cihuX2J1ZiwgYnVmLCAwKTsKKyAgICAgICAgZGVzX3htbERvY1B0cihuX2N1ciwgY3VyLCAxKTsKKyAgICAgICAgZGVzX2NvbnN0X2NoYXJfcHRyKG5fZW5jb2RpbmcsIChjb25zdCBjaGFyICopZW5jb2RpbmcsIDIpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sU2F2ZUZpbGVUbyIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9idWYpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N1cik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZW5jb2RpbmcpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFNhdmVGb3JtYXRGaWxlKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGNvbnN0IGNoYXIgKiBmaWxlbmFtZTsgLyogdGhlIGZpbGVuYW1lIChvciBVUkwpICovCisgICAgaW50IG5fZmlsZW5hbWU7CisgICAgeG1sRG9jUHRyIGN1cjsgLyogdGhlIGRvY3VtZW50ICovCisgICAgaW50IG5fY3VyOworICAgIGludCBmb3JtYXQ7IC8qIHNob3VsZCBmb3JtYXR0aW5nIHNwYWNlcyBiZWVuIGFkZGVkICovCisgICAgaW50IG5fZm9ybWF0OworCisgICAgZm9yIChuX2ZpbGVuYW1lID0gMDtuX2ZpbGVuYW1lIDwgZ2VuX25iX2ZpbGVvdXRwdXQ7bl9maWxlbmFtZSsrKSB7CisgICAgZm9yIChuX2N1ciA9IDA7bl9jdXIgPCBnZW5fbmJfeG1sRG9jUHRyO25fY3VyKyspIHsKKyAgICBmb3IgKG5fZm9ybWF0ID0gMDtuX2Zvcm1hdCA8IGdlbl9uYl9pbnQ7bl9mb3JtYXQrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBmaWxlbmFtZSA9IGdlbl9maWxlb3V0cHV0KG5fZmlsZW5hbWUsIDApOworICAgICAgICBjdXIgPSBnZW5feG1sRG9jUHRyKG5fY3VyLCAxKTsKKyAgICAgICAgZm9ybWF0ID0gZ2VuX2ludChuX2Zvcm1hdCwgMik7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFNhdmVGb3JtYXRGaWxlKGZpbGVuYW1lLCBjdXIsIGZvcm1hdCk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2ZpbGVvdXRwdXQobl9maWxlbmFtZSwgZmlsZW5hbWUsIDApOworICAgICAgICBkZXNfeG1sRG9jUHRyKG5fY3VyLCBjdXIsIDEpOworICAgICAgICBkZXNfaW50KG5fZm9ybWF0LCBmb3JtYXQsIDIpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sU2F2ZUZvcm1hdEZpbGUiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZmlsZW5hbWUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N1cik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZm9ybWF0KTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxTYXZlRm9ybWF0RmlsZUVuYyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICBjb25zdCBjaGFyICogZmlsZW5hbWU7IC8qIHRoZSBmaWxlbmFtZSBvciBVUkwgdG8gb3V0cHV0ICovCisgICAgaW50IG5fZmlsZW5hbWU7CisgICAgeG1sRG9jUHRyIGN1cjsgLyogdGhlIGRvY3VtZW50IGJlaW5nIHNhdmVkICovCisgICAgaW50IG5fY3VyOworICAgIGNoYXIgKiBlbmNvZGluZzsgLyogdGhlIG5hbWUgb2YgdGhlIGVuY29kaW5nIHRvIHVzZSBvciBOVUxMLiAqLworICAgIGludCBuX2VuY29kaW5nOworICAgIGludCBmb3JtYXQ7IC8qIHNob3VsZCBmb3JtYXR0aW5nIHNwYWNlcyBiZSBhZGRlZC4gKi8KKyAgICBpbnQgbl9mb3JtYXQ7CisKKyAgICBmb3IgKG5fZmlsZW5hbWUgPSAwO25fZmlsZW5hbWUgPCBnZW5fbmJfZmlsZW91dHB1dDtuX2ZpbGVuYW1lKyspIHsKKyAgICBmb3IgKG5fY3VyID0gMDtuX2N1ciA8IGdlbl9uYl94bWxEb2NQdHI7bl9jdXIrKykgeworICAgIGZvciAobl9lbmNvZGluZyA9IDA7bl9lbmNvZGluZyA8IGdlbl9uYl9jb25zdF9jaGFyX3B0cjtuX2VuY29kaW5nKyspIHsKKyAgICBmb3IgKG5fZm9ybWF0ID0gMDtuX2Zvcm1hdCA8IGdlbl9uYl9pbnQ7bl9mb3JtYXQrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBmaWxlbmFtZSA9IGdlbl9maWxlb3V0cHV0KG5fZmlsZW5hbWUsIDApOworICAgICAgICBjdXIgPSBnZW5feG1sRG9jUHRyKG5fY3VyLCAxKTsKKyAgICAgICAgZW5jb2RpbmcgPSBnZW5fY29uc3RfY2hhcl9wdHIobl9lbmNvZGluZywgMik7CisgICAgICAgIGZvcm1hdCA9IGdlbl9pbnQobl9mb3JtYXQsIDMpOworCisgICAgICAgIHJldF92YWwgPSB4bWxTYXZlRm9ybWF0RmlsZUVuYyhmaWxlbmFtZSwgY3VyLCAoY29uc3QgY2hhciAqKWVuY29kaW5nLCBmb3JtYXQpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19maWxlb3V0cHV0KG5fZmlsZW5hbWUsIGZpbGVuYW1lLCAwKTsKKyAgICAgICAgZGVzX3htbERvY1B0cihuX2N1ciwgY3VyLCAxKTsKKyAgICAgICAgZGVzX2NvbnN0X2NoYXJfcHRyKG5fZW5jb2RpbmcsIChjb25zdCBjaGFyICopZW5jb2RpbmcsIDIpOworICAgICAgICBkZXNfaW50KG5fZm9ybWF0LCBmb3JtYXQsIDMpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sU2F2ZUZvcm1hdEZpbGVFbmMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZmlsZW5hbWUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N1cik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZW5jb2RpbmcpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2Zvcm1hdCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFNhdmVGb3JtYXRGaWxlVG8odm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sT3V0cHV0QnVmZmVyUHRyIGJ1ZjsgLyogYW4gb3V0cHV0IEkvTyBidWZmZXIgKi8KKyAgICBpbnQgbl9idWY7CisgICAgeG1sRG9jUHRyIGN1cjsgLyogdGhlIGRvY3VtZW50ICovCisgICAgaW50IG5fY3VyOworICAgIGNoYXIgKiBlbmNvZGluZzsgLyogdGhlIGVuY29kaW5nIGlmIGFueSBhc3N1bWluZyB0aGUgSS9PIGxheWVyIGhhbmRsZXMgdGhlIHRyYW5jb2RpbmcgKi8KKyAgICBpbnQgbl9lbmNvZGluZzsKKyAgICBpbnQgZm9ybWF0OyAvKiBzaG91bGQgZm9ybWF0dGluZyBzcGFjZXMgYmVlbiBhZGRlZCAqLworICAgIGludCBuX2Zvcm1hdDsKKworICAgIGZvciAobl9idWYgPSAwO25fYnVmIDwgZ2VuX25iX3htbE91dHB1dEJ1ZmZlclB0cjtuX2J1ZisrKSB7CisgICAgZm9yIChuX2N1ciA9IDA7bl9jdXIgPCBnZW5fbmJfeG1sRG9jUHRyO25fY3VyKyspIHsKKyAgICBmb3IgKG5fZW5jb2RpbmcgPSAwO25fZW5jb2RpbmcgPCBnZW5fbmJfY29uc3RfY2hhcl9wdHI7bl9lbmNvZGluZysrKSB7CisgICAgZm9yIChuX2Zvcm1hdCA9IDA7bl9mb3JtYXQgPCBnZW5fbmJfaW50O25fZm9ybWF0KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgYnVmID0gZ2VuX3htbE91dHB1dEJ1ZmZlclB0cihuX2J1ZiwgMCk7CisgICAgICAgIGN1ciA9IGdlbl94bWxEb2NQdHIobl9jdXIsIDEpOworICAgICAgICBlbmNvZGluZyA9IGdlbl9jb25zdF9jaGFyX3B0cihuX2VuY29kaW5nLCAyKTsKKyAgICAgICAgZm9ybWF0ID0gZ2VuX2ludChuX2Zvcm1hdCwgMyk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFNhdmVGb3JtYXRGaWxlVG8oYnVmLCBjdXIsIChjb25zdCBjaGFyICopZW5jb2RpbmcsIGZvcm1hdCk7CisgICAgICAgIGJ1ZiA9IE5VTEw7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbE91dHB1dEJ1ZmZlclB0cihuX2J1ZiwgYnVmLCAwKTsKKyAgICAgICAgZGVzX3htbERvY1B0cihuX2N1ciwgY3VyLCAxKTsKKyAgICAgICAgZGVzX2NvbnN0X2NoYXJfcHRyKG5fZW5jb2RpbmcsIChjb25zdCBjaGFyICopZW5jb2RpbmcsIDIpOworICAgICAgICBkZXNfaW50KG5fZm9ybWF0LCBmb3JtYXQsIDMpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sU2F2ZUZvcm1hdEZpbGVUbyIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9idWYpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N1cik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZW5jb2RpbmcpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2Zvcm1hdCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFNlYXJjaE5zKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbE5zUHRyIHJldF92YWw7CisgICAgeG1sRG9jUHRyIGRvYzsgLyogdGhlIGRvY3VtZW50ICovCisgICAgaW50IG5fZG9jOworICAgIHhtbE5vZGVQdHIgbm9kZTsgLyogdGhlIGN1cnJlbnQgbm9kZSAqLworICAgIGludCBuX25vZGU7CisgICAgeG1sQ2hhciAqIG5hbWVTcGFjZTsgLyogdGhlIG5hbWVzcGFjZSBwcmVmaXggKi8KKyAgICBpbnQgbl9uYW1lU3BhY2U7CisKKyAgICBmb3IgKG5fZG9jID0gMDtuX2RvYyA8IGdlbl9uYl94bWxEb2NQdHI7bl9kb2MrKykgeworICAgIGZvciAobl9ub2RlID0gMDtuX25vZGUgPCBnZW5fbmJfeG1sTm9kZVB0cjtuX25vZGUrKykgeworICAgIGZvciAobl9uYW1lU3BhY2UgPSAwO25fbmFtZVNwYWNlIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fbmFtZVNwYWNlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgZG9jID0gZ2VuX3htbERvY1B0cihuX2RvYywgMCk7CisgICAgICAgIG5vZGUgPSBnZW5feG1sTm9kZVB0cihuX25vZGUsIDEpOworICAgICAgICBuYW1lU3BhY2UgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lU3BhY2UsIDIpOworCisgICAgICAgIHJldF92YWwgPSB4bWxTZWFyY2hOcyhkb2MsIG5vZGUsIChjb25zdCB4bWxDaGFyICopbmFtZVNwYWNlKTsKKyAgICAgICAgZGVzcmV0X3htbE5zUHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxEb2NQdHIobl9kb2MsIGRvYywgMCk7CisgICAgICAgIGRlc194bWxOb2RlUHRyKG5fbm9kZSwgbm9kZSwgMSk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX25hbWVTcGFjZSwgKGNvbnN0IHhtbENoYXIgKiluYW1lU3BhY2UsIDIpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sU2VhcmNoTnMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZG9jKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9ub2RlKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9uYW1lU3BhY2UpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxTZWFyY2hOc0J5SHJlZih2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxOc1B0ciByZXRfdmFsOworICAgIHhtbERvY1B0ciBkb2M7IC8qIHRoZSBkb2N1bWVudCAqLworICAgIGludCBuX2RvYzsKKyAgICB4bWxOb2RlUHRyIG5vZGU7IC8qIHRoZSBjdXJyZW50IG5vZGUgKi8KKyAgICBpbnQgbl9ub2RlOworICAgIHhtbENoYXIgKiBocmVmOyAvKiB0aGUgbmFtZXNwYWNlIHZhbHVlICovCisgICAgaW50IG5faHJlZjsKKworICAgIGZvciAobl9kb2MgPSAwO25fZG9jIDwgZ2VuX25iX3htbERvY1B0cjtuX2RvYysrKSB7CisgICAgZm9yIChuX25vZGUgPSAwO25fbm9kZSA8IGdlbl9uYl94bWxOb2RlUHRyO25fbm9kZSsrKSB7CisgICAgZm9yIChuX2hyZWYgPSAwO25faHJlZiA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX2hyZWYrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBkb2MgPSBnZW5feG1sRG9jUHRyKG5fZG9jLCAwKTsKKyAgICAgICAgbm9kZSA9IGdlbl94bWxOb2RlUHRyKG5fbm9kZSwgMSk7CisgICAgICAgIGhyZWYgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9ocmVmLCAyKTsKKworICAgICAgICByZXRfdmFsID0geG1sU2VhcmNoTnNCeUhyZWYoZG9jLCBub2RlLCAoY29uc3QgeG1sQ2hhciAqKWhyZWYpOworICAgICAgICBkZXNyZXRfeG1sTnNQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbERvY1B0cihuX2RvYywgZG9jLCAwKTsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl9ub2RlLCBub2RlLCAxKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5faHJlZiwgKGNvbnN0IHhtbENoYXIgKilocmVmLCAyKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFNlYXJjaE5zQnlIcmVmIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2RvYyk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbm9kZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5faHJlZik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFNldEJ1ZmZlckFsbG9jYXRpb25TY2hlbWUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sQnVmZmVyQWxsb2NhdGlvblNjaGVtZSBzY2hlbWU7IC8qIGFsbG9jYXRpb24gbWV0aG9kIHRvIHVzZSAqLworICAgIGludCBuX3NjaGVtZTsKKworICAgIGZvciAobl9zY2hlbWUgPSAwO25fc2NoZW1lIDwgZ2VuX25iX3htbEJ1ZmZlckFsbG9jYXRpb25TY2hlbWU7bl9zY2hlbWUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBzY2hlbWUgPSBnZW5feG1sQnVmZmVyQWxsb2NhdGlvblNjaGVtZShuX3NjaGVtZSwgMCk7CisKKyAgICAgICAgeG1sU2V0QnVmZmVyQWxsb2NhdGlvblNjaGVtZShzY2hlbWUpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxCdWZmZXJBbGxvY2F0aW9uU2NoZW1lKG5fc2NoZW1lLCBzY2hlbWUsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sU2V0QnVmZmVyQWxsb2NhdGlvblNjaGVtZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9zY2hlbWUpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sU2V0Q29tcHJlc3NNb2RlKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCBtb2RlOyAvKiB0aGUgY29tcHJlc3Npb24gcmF0aW8gKi8KKyAgICBpbnQgbl9tb2RlOworCisgICAgZm9yIChuX21vZGUgPSAwO25fbW9kZSA8IGdlbl9uYl9pbnQ7bl9tb2RlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgbW9kZSA9IGdlbl9pbnQobl9tb2RlLCAwKTsKKworICAgICAgICB4bWxTZXRDb21wcmVzc01vZGUobW9kZSk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2ludChuX21vZGUsIG1vZGUsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sU2V0Q29tcHJlc3NNb2RlIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX21vZGUpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sU2V0RG9jQ29tcHJlc3NNb2RlKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbERvY1B0ciBkb2M7IC8qIHRoZSBkb2N1bWVudCAqLworICAgIGludCBuX2RvYzsKKyAgICBpbnQgbW9kZTsgLyogdGhlIGNvbXByZXNzaW9uIHJhdGlvICovCisgICAgaW50IG5fbW9kZTsKKworICAgIGZvciAobl9kb2MgPSAwO25fZG9jIDwgZ2VuX25iX3htbERvY1B0cjtuX2RvYysrKSB7CisgICAgZm9yIChuX21vZGUgPSAwO25fbW9kZSA8IGdlbl9uYl9pbnQ7bl9tb2RlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgZG9jID0gZ2VuX3htbERvY1B0cihuX2RvYywgMCk7CisgICAgICAgIG1vZGUgPSBnZW5faW50KG5fbW9kZSwgMSk7CisKKyAgICAgICAgeG1sU2V0RG9jQ29tcHJlc3NNb2RlKGRvYywgbW9kZSk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbERvY1B0cihuX2RvYywgZG9jLCAwKTsKKyAgICAgICAgZGVzX2ludChuX21vZGUsIG1vZGUsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sU2V0RG9jQ29tcHJlc3NNb2RlIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2RvYyk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbW9kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sU2V0TnModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sTm9kZVB0ciBub2RlOyAvKiBhIG5vZGUgaW4gdGhlIGRvY3VtZW50ICovCisgICAgaW50IG5fbm9kZTsKKyAgICB4bWxOc1B0ciBuczsgLyogYSBuYW1lc3BhY2UgcG9pbnRlciAqLworICAgIGludCBuX25zOworCisgICAgZm9yIChuX25vZGUgPSAwO25fbm9kZSA8IGdlbl9uYl94bWxOb2RlUHRyO25fbm9kZSsrKSB7CisgICAgZm9yIChuX25zID0gMDtuX25zIDwgZ2VuX25iX3htbE5zUHRyO25fbnMrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBub2RlID0gZ2VuX3htbE5vZGVQdHIobl9ub2RlLCAwKTsKKyAgICAgICAgbnMgPSBnZW5feG1sTnNQdHIobl9ucywgMSk7CisKKyAgICAgICAgeG1sU2V0TnMobm9kZSwgbnMpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxOb2RlUHRyKG5fbm9kZSwgbm9kZSwgMCk7CisgICAgICAgIGRlc194bWxOc1B0cihuX25zLCBucywgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxTZXROcyIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9ub2RlKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9ucyk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sU2V0TnNQcm9wKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfVFJFRV9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9YSU5DTFVERV9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX0hUTUxfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sQXR0clB0ciByZXRfdmFsOworICAgIHhtbE5vZGVQdHIgbm9kZTsgLyogdGhlIG5vZGUgKi8KKyAgICBpbnQgbl9ub2RlOworICAgIHhtbE5zUHRyIG5zOyAvKiB0aGUgbmFtZXNwYWNlIGRlZmluaXRpb24gKi8KKyAgICBpbnQgbl9uczsKKyAgICB4bWxDaGFyICogbmFtZTsgLyogdGhlIGF0dHJpYnV0ZSBuYW1lICovCisgICAgaW50IG5fbmFtZTsKKyAgICB4bWxDaGFyICogdmFsdWU7IC8qIHRoZSBhdHRyaWJ1dGUgdmFsdWUgKi8KKyAgICBpbnQgbl92YWx1ZTsKKworICAgIGZvciAobl9ub2RlID0gMDtuX25vZGUgPCBnZW5fbmJfeG1sTm9kZVB0cjtuX25vZGUrKykgeworICAgIGZvciAobl9ucyA9IDA7bl9ucyA8IGdlbl9uYl94bWxOc1B0cjtuX25zKyspIHsKKyAgICBmb3IgKG5fbmFtZSA9IDA7bl9uYW1lIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fbmFtZSsrKSB7CisgICAgZm9yIChuX3ZhbHVlID0gMDtuX3ZhbHVlIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fdmFsdWUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBub2RlID0gZ2VuX3htbE5vZGVQdHIobl9ub2RlLCAwKTsKKyAgICAgICAgbnMgPSBnZW5feG1sTnNQdHIobl9ucywgMSk7CisgICAgICAgIG5hbWUgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAyKTsKKyAgICAgICAgdmFsdWUgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl92YWx1ZSwgMyk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFNldE5zUHJvcChub2RlLCBucywgKGNvbnN0IHhtbENoYXIgKiluYW1lLCAoY29uc3QgeG1sQ2hhciAqKXZhbHVlKTsKKyAgICAgICAgZGVzcmV0X3htbEF0dHJQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl9ub2RlLCBub2RlLCAwKTsKKyAgICAgICAgZGVzX3htbE5zUHRyKG5fbnMsIG5zLCAxKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgKGNvbnN0IHhtbENoYXIgKiluYW1lLCAyKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fdmFsdWUsIChjb25zdCB4bWxDaGFyICopdmFsdWUsIDMpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sU2V0TnNQcm9wIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25vZGUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25zKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9uYW1lKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl92YWx1ZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFNldFByb3Aodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX1hJTkNMVURFX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxBdHRyUHRyIHJldF92YWw7CisgICAgeG1sTm9kZVB0ciBub2RlOyAvKiB0aGUgbm9kZSAqLworICAgIGludCBuX25vZGU7CisgICAgeG1sQ2hhciAqIG5hbWU7IC8qIHRoZSBhdHRyaWJ1dGUgbmFtZSAoYSBRTmFtZSkgKi8KKyAgICBpbnQgbl9uYW1lOworICAgIHhtbENoYXIgKiB2YWx1ZTsgLyogdGhlIGF0dHJpYnV0ZSB2YWx1ZSAqLworICAgIGludCBuX3ZhbHVlOworCisgICAgZm9yIChuX25vZGUgPSAwO25fbm9kZSA8IGdlbl9uYl94bWxOb2RlUHRyO25fbm9kZSsrKSB7CisgICAgZm9yIChuX25hbWUgPSAwO25fbmFtZSA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX25hbWUrKykgeworICAgIGZvciAobl92YWx1ZSA9IDA7bl92YWx1ZSA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX3ZhbHVlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgbm9kZSA9IGdlbl94bWxOb2RlUHRyKG5fbm9kZSwgMCk7CisgICAgICAgIG5hbWUgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAxKTsKKyAgICAgICAgdmFsdWUgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl92YWx1ZSwgMik7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFNldFByb3Aobm9kZSwgKGNvbnN0IHhtbENoYXIgKiluYW1lLCAoY29uc3QgeG1sQ2hhciAqKXZhbHVlKTsKKyAgICAgICAgZGVzcmV0X3htbEF0dHJQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl9ub2RlLCBub2RlLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgKGNvbnN0IHhtbENoYXIgKiluYW1lLCAxKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fdmFsdWUsIChjb25zdCB4bWxDaGFyICopdmFsdWUsIDIpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sU2V0UHJvcCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9ub2RlKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9uYW1lKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl92YWx1ZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sU3BsaXRRTmFtZTIodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sQ2hhciAqIHJldF92YWw7CisgICAgeG1sQ2hhciAqIG5hbWU7IC8qIHRoZSBmdWxsIFFOYW1lICovCisgICAgaW50IG5fbmFtZTsKKyAgICB4bWxDaGFyICoqIHByZWZpeDsgLyogYSB4bWxDaGFyICoqICovCisgICAgaW50IG5fcHJlZml4OworCisgICAgZm9yIChuX25hbWUgPSAwO25fbmFtZSA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX25hbWUrKykgeworICAgIGZvciAobl9wcmVmaXggPSAwO25fcHJlZml4IDwgZ2VuX25iX3htbENoYXJfcHRyX3B0cjtuX3ByZWZpeCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIG5hbWUgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAwKTsKKyAgICAgICAgcHJlZml4ID0gZ2VuX3htbENoYXJfcHRyX3B0cihuX3ByZWZpeCwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFNwbGl0UU5hbWUyKChjb25zdCB4bWxDaGFyICopbmFtZSwgcHJlZml4KTsKKyAgICAgICAgZGVzcmV0X3htbENoYXJfcHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIChjb25zdCB4bWxDaGFyICopbmFtZSwgMCk7CisgICAgICAgIGRlc194bWxDaGFyX3B0cl9wdHIobl9wcmVmaXgsIHByZWZpeCwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxTcGxpdFFOYW1lMiIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9uYW1lKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9wcmVmaXgpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFNwbGl0UU5hbWUzKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIGNvbnN0IHhtbENoYXIgKiByZXRfdmFsOworICAgIHhtbENoYXIgKiBuYW1lOyAvKiB0aGUgZnVsbCBRTmFtZSAqLworICAgIGludCBuX25hbWU7CisgICAgaW50ICogbGVuOyAvKiBhbiBpbnQgKiAqLworICAgIGludCBuX2xlbjsKKworICAgIGZvciAobl9uYW1lID0gMDtuX25hbWUgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9uYW1lKyspIHsKKyAgICBmb3IgKG5fbGVuID0gMDtuX2xlbiA8IGdlbl9uYl9pbnRfcHRyO25fbGVuKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgbmFtZSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIDApOworICAgICAgICBsZW4gPSBnZW5faW50X3B0cihuX2xlbiwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFNwbGl0UU5hbWUzKChjb25zdCB4bWxDaGFyICopbmFtZSwgbGVuKTsKKyAgICAgICAgZGVzcmV0X2NvbnN0X3htbENoYXJfcHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIChjb25zdCB4bWxDaGFyICopbmFtZSwgMCk7CisgICAgICAgIGRlc19pbnRfcHRyKG5fbGVuLCBsZW4sIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sU3BsaXRRTmFtZTMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFtZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbGVuKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxTdHJpbmdHZXROb2RlTGlzdCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxOb2RlUHRyIHJldF92YWw7CisgICAgeG1sRG9jICogZG9jOyAvKiB0aGUgZG9jdW1lbnQgKi8KKyAgICBpbnQgbl9kb2M7CisgICAgeG1sQ2hhciAqIHZhbHVlOyAvKiB0aGUgdmFsdWUgb2YgdGhlIGF0dHJpYnV0ZSAqLworICAgIGludCBuX3ZhbHVlOworCisgICAgZm9yIChuX2RvYyA9IDA7bl9kb2MgPCBnZW5fbmJfY29uc3RfeG1sRG9jX3B0cjtuX2RvYysrKSB7CisgICAgZm9yIChuX3ZhbHVlID0gMDtuX3ZhbHVlIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fdmFsdWUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBkb2MgPSBnZW5fY29uc3RfeG1sRG9jX3B0cihuX2RvYywgMCk7CisgICAgICAgIHZhbHVlID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fdmFsdWUsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxTdHJpbmdHZXROb2RlTGlzdCgoY29uc3QgeG1sRG9jICopZG9jLCAoY29uc3QgeG1sQ2hhciAqKXZhbHVlKTsKKyAgICAgICAgZGVzcmV0X3htbE5vZGVQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2NvbnN0X3htbERvY19wdHIobl9kb2MsIChjb25zdCB4bWxEb2MgKilkb2MsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl92YWx1ZSwgKGNvbnN0IHhtbENoYXIgKil2YWx1ZSwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxTdHJpbmdHZXROb2RlTGlzdCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9kb2MpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3ZhbHVlKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxTdHJpbmdMZW5HZXROb2RlTGlzdCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxOb2RlUHRyIHJldF92YWw7CisgICAgeG1sRG9jICogZG9jOyAvKiB0aGUgZG9jdW1lbnQgKi8KKyAgICBpbnQgbl9kb2M7CisgICAgeG1sQ2hhciAqIHZhbHVlOyAvKiB0aGUgdmFsdWUgb2YgdGhlIHRleHQgKi8KKyAgICBpbnQgbl92YWx1ZTsKKyAgICBpbnQgbGVuOyAvKiB0aGUgbGVuZ3RoIG9mIHRoZSBzdHJpbmcgdmFsdWUgKi8KKyAgICBpbnQgbl9sZW47CisKKyAgICBmb3IgKG5fZG9jID0gMDtuX2RvYyA8IGdlbl9uYl9jb25zdF94bWxEb2NfcHRyO25fZG9jKyspIHsKKyAgICBmb3IgKG5fdmFsdWUgPSAwO25fdmFsdWUgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl92YWx1ZSsrKSB7CisgICAgZm9yIChuX2xlbiA9IDA7bl9sZW4gPCBnZW5fbmJfaW50O25fbGVuKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgZG9jID0gZ2VuX2NvbnN0X3htbERvY19wdHIobl9kb2MsIDApOworICAgICAgICB2YWx1ZSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX3ZhbHVlLCAxKTsKKyAgICAgICAgbGVuID0gZ2VuX2ludChuX2xlbiwgMik7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFN0cmluZ0xlbkdldE5vZGVMaXN0KChjb25zdCB4bWxEb2MgKilkb2MsIChjb25zdCB4bWxDaGFyICopdmFsdWUsIGxlbik7CisgICAgICAgIGRlc3JldF94bWxOb2RlUHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19jb25zdF94bWxEb2NfcHRyKG5fZG9jLCAoY29uc3QgeG1sRG9jICopZG9jLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fdmFsdWUsIChjb25zdCB4bWxDaGFyICopdmFsdWUsIDEpOworICAgICAgICBkZXNfaW50KG5fbGVuLCBsZW4sIDIpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sU3RyaW5nTGVuR2V0Tm9kZUxpc3QiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZG9jKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl92YWx1ZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbGVuKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVGV4dENvbmNhdCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxOb2RlUHRyIG5vZGU7IC8qIHRoZSBub2RlICovCisgICAgaW50IG5fbm9kZTsKKyAgICB4bWxDaGFyICogY29udGVudDsgLyogdGhlIGNvbnRlbnQgKi8KKyAgICBpbnQgbl9jb250ZW50OworICAgIGludCBsZW47IC8qIEBjb250ZW50IGxlbmd0aCAqLworICAgIGludCBuX2xlbjsKKworICAgIGZvciAobl9ub2RlID0gMDtuX25vZGUgPCBnZW5fbmJfeG1sTm9kZVB0cjtuX25vZGUrKykgeworICAgIGZvciAobl9jb250ZW50ID0gMDtuX2NvbnRlbnQgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9jb250ZW50KyspIHsKKyAgICBmb3IgKG5fbGVuID0gMDtuX2xlbiA8IGdlbl9uYl9pbnQ7bl9sZW4rKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBub2RlID0gZ2VuX3htbE5vZGVQdHIobl9ub2RlLCAwKTsKKyAgICAgICAgY29udGVudCA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX2NvbnRlbnQsIDEpOworICAgICAgICBsZW4gPSBnZW5faW50KG5fbGVuLCAyKTsKKworICAgICAgICByZXRfdmFsID0geG1sVGV4dENvbmNhdChub2RlLCAoY29uc3QgeG1sQ2hhciAqKWNvbnRlbnQsIGxlbik7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl9ub2RlLCBub2RlLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fY29udGVudCwgKGNvbnN0IHhtbENoYXIgKiljb250ZW50LCAxKTsKKyAgICAgICAgZGVzX2ludChuX2xlbiwgbGVuLCAyKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFRleHRDb25jYXQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbm9kZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29udGVudCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbGVuKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVGV4dE1lcmdlKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbE5vZGVQdHIgcmV0X3ZhbDsKKyAgICB4bWxOb2RlUHRyIGZpcnN0OyAvKiB0aGUgZmlyc3QgdGV4dCBub2RlICovCisgICAgaW50IG5fZmlyc3Q7CisgICAgeG1sTm9kZVB0ciBzZWNvbmQ7IC8qIHRoZSBzZWNvbmQgdGV4dCBub2RlIGJlaW5nIG1lcmdlZCAqLworICAgIGludCBuX3NlY29uZDsKKworICAgIGZvciAobl9maXJzdCA9IDA7bl9maXJzdCA8IGdlbl9uYl94bWxOb2RlUHRyX2luO25fZmlyc3QrKykgeworICAgIGZvciAobl9zZWNvbmQgPSAwO25fc2Vjb25kIDwgZ2VuX25iX3htbE5vZGVQdHJfaW47bl9zZWNvbmQrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBmaXJzdCA9IGdlbl94bWxOb2RlUHRyX2luKG5fZmlyc3QsIDApOworICAgICAgICBzZWNvbmQgPSBnZW5feG1sTm9kZVB0cl9pbihuX3NlY29uZCwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFRleHRNZXJnZShmaXJzdCwgc2Vjb25kKTsKKyAgICAgICAgaWYgKChmaXJzdCAhPSBOVUxMKSAmJiAoZmlyc3QtPnR5cGUgIT0gWE1MX1RFWFRfTk9ERSkpIHsKKyAgICAgICAgICAgICAgeG1sVW5saW5rTm9kZShzZWNvbmQpOworICAgICAgICAgICAgICB4bWxGcmVlTm9kZShzZWNvbmQpIDsgc2Vjb25kID0gTlVMTCA7IH0KKyAgICAgICAgZGVzcmV0X3htbE5vZGVQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbE5vZGVQdHJfaW4obl9maXJzdCwgZmlyc3QsIDApOworICAgICAgICBkZXNfeG1sTm9kZVB0cl9pbihuX3NlY29uZCwgc2Vjb25kLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFRleHRNZXJnZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9maXJzdCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fc2Vjb25kKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxVbnNldE5zUHJvcCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxOb2RlUHRyIG5vZGU7IC8qIHRoZSBub2RlICovCisgICAgaW50IG5fbm9kZTsKKyAgICB4bWxOc1B0ciBuczsgLyogdGhlIG5hbWVzcGFjZSBkZWZpbml0aW9uICovCisgICAgaW50IG5fbnM7CisgICAgeG1sQ2hhciAqIG5hbWU7IC8qIHRoZSBhdHRyaWJ1dGUgbmFtZSAqLworICAgIGludCBuX25hbWU7CisKKyAgICBmb3IgKG5fbm9kZSA9IDA7bl9ub2RlIDwgZ2VuX25iX3htbE5vZGVQdHI7bl9ub2RlKyspIHsKKyAgICBmb3IgKG5fbnMgPSAwO25fbnMgPCBnZW5fbmJfeG1sTnNQdHI7bl9ucysrKSB7CisgICAgZm9yIChuX25hbWUgPSAwO25fbmFtZSA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX25hbWUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBub2RlID0gZ2VuX3htbE5vZGVQdHIobl9ub2RlLCAwKTsKKyAgICAgICAgbnMgPSBnZW5feG1sTnNQdHIobl9ucywgMSk7CisgICAgICAgIG5hbWUgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAyKTsKKworICAgICAgICByZXRfdmFsID0geG1sVW5zZXROc1Byb3Aobm9kZSwgbnMsIChjb25zdCB4bWxDaGFyICopbmFtZSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl9ub2RlLCBub2RlLCAwKTsKKyAgICAgICAgZGVzX3htbE5zUHRyKG5fbnMsIG5zLCAxKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgKGNvbnN0IHhtbENoYXIgKiluYW1lLCAyKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVuc2V0TnNQcm9wIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25vZGUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25zKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9uYW1lKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxVbnNldFByb3Aodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sTm9kZVB0ciBub2RlOyAvKiB0aGUgbm9kZSAqLworICAgIGludCBuX25vZGU7CisgICAgeG1sQ2hhciAqIG5hbWU7IC8qIHRoZSBhdHRyaWJ1dGUgbmFtZSAqLworICAgIGludCBuX25hbWU7CisKKyAgICBmb3IgKG5fbm9kZSA9IDA7bl9ub2RlIDwgZ2VuX25iX3htbE5vZGVQdHI7bl9ub2RlKyspIHsKKyAgICBmb3IgKG5fbmFtZSA9IDA7bl9uYW1lIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fbmFtZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIG5vZGUgPSBnZW5feG1sTm9kZVB0cihuX25vZGUsIDApOworICAgICAgICBuYW1lID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFVuc2V0UHJvcChub2RlLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxOb2RlUHRyKG5fbm9kZSwgbm9kZSwgMCk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIChjb25zdCB4bWxDaGFyICopbmFtZSwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxVbnNldFByb3AiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbm9kZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFtZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxWYWxpZGF0ZU5DTmFtZSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9ERUJVR19FTkFCTEVEKSB8fCBkZWZpbmVkIChMSUJYTUxfSFRNTF9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9TQVgxX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX0hUTUxfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX0RPQ0JfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfTEVHQUNZX0VOQUJMRUQpCisjaWZkZWYgTElCWE1MX1RSRUVfRU5BQkxFRAorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxDaGFyICogdmFsdWU7IC8qIHRoZSB2YWx1ZSB0byBjaGVjayAqLworICAgIGludCBuX3ZhbHVlOworICAgIGludCBzcGFjZTsgLyogYWxsb3cgc3BhY2VzIGluIGZyb250IGFuZCBlbmQgb2YgdGhlIHN0cmluZyAqLworICAgIGludCBuX3NwYWNlOworCisgICAgZm9yIChuX3ZhbHVlID0gMDtuX3ZhbHVlIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fdmFsdWUrKykgeworICAgIGZvciAobl9zcGFjZSA9IDA7bl9zcGFjZSA8IGdlbl9uYl9pbnQ7bl9zcGFjZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHZhbHVlID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fdmFsdWUsIDApOworICAgICAgICBzcGFjZSA9IGdlbl9pbnQobl9zcGFjZSwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFZhbGlkYXRlTkNOYW1lKChjb25zdCB4bWxDaGFyICopdmFsdWUsIHNwYWNlKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl92YWx1ZSwgKGNvbnN0IHhtbENoYXIgKil2YWx1ZSwgMCk7CisgICAgICAgIGRlc19pbnQobl9zcGFjZSwgc3BhY2UsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVmFsaWRhdGVOQ05hbWUiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdmFsdWUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3NwYWNlKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVmFsaWRhdGVOTVRva2VuKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfVFJFRV9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisjaWZkZWYgTElCWE1MX1RSRUVfRU5BQkxFRAorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxDaGFyICogdmFsdWU7IC8qIHRoZSB2YWx1ZSB0byBjaGVjayAqLworICAgIGludCBuX3ZhbHVlOworICAgIGludCBzcGFjZTsgLyogYWxsb3cgc3BhY2VzIGluIGZyb250IGFuZCBlbmQgb2YgdGhlIHN0cmluZyAqLworICAgIGludCBuX3NwYWNlOworCisgICAgZm9yIChuX3ZhbHVlID0gMDtuX3ZhbHVlIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fdmFsdWUrKykgeworICAgIGZvciAobl9zcGFjZSA9IDA7bl9zcGFjZSA8IGdlbl9uYl9pbnQ7bl9zcGFjZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHZhbHVlID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fdmFsdWUsIDApOworICAgICAgICBzcGFjZSA9IGdlbl9pbnQobl9zcGFjZSwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFZhbGlkYXRlTk1Ub2tlbigoY29uc3QgeG1sQ2hhciAqKXZhbHVlLCBzcGFjZSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fdmFsdWUsIChjb25zdCB4bWxDaGFyICopdmFsdWUsIDApOworICAgICAgICBkZXNfaW50KG5fc3BhY2UsIHNwYWNlLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFZhbGlkYXRlTk1Ub2tlbiIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl92YWx1ZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fc3BhY2UpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxWYWxpZGF0ZU5hbWUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyNpZmRlZiBMSUJYTUxfVFJFRV9FTkFCTEVECisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbENoYXIgKiB2YWx1ZTsgLyogdGhlIHZhbHVlIHRvIGNoZWNrICovCisgICAgaW50IG5fdmFsdWU7CisgICAgaW50IHNwYWNlOyAvKiBhbGxvdyBzcGFjZXMgaW4gZnJvbnQgYW5kIGVuZCBvZiB0aGUgc3RyaW5nICovCisgICAgaW50IG5fc3BhY2U7CisKKyAgICBmb3IgKG5fdmFsdWUgPSAwO25fdmFsdWUgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl92YWx1ZSsrKSB7CisgICAgZm9yIChuX3NwYWNlID0gMDtuX3NwYWNlIDwgZ2VuX25iX2ludDtuX3NwYWNlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgdmFsdWUgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl92YWx1ZSwgMCk7CisgICAgICAgIHNwYWNlID0gZ2VuX2ludChuX3NwYWNlLCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sVmFsaWRhdGVOYW1lKChjb25zdCB4bWxDaGFyICopdmFsdWUsIHNwYWNlKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl92YWx1ZSwgKGNvbnN0IHhtbENoYXIgKil2YWx1ZSwgMCk7CisgICAgICAgIGRlc19pbnQobl9zcGFjZSwgc3BhY2UsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVmFsaWRhdGVOYW1lIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3ZhbHVlKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9zcGFjZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFZhbGlkYXRlUU5hbWUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyNpZmRlZiBMSUJYTUxfVFJFRV9FTkFCTEVECisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbENoYXIgKiB2YWx1ZTsgLyogdGhlIHZhbHVlIHRvIGNoZWNrICovCisgICAgaW50IG5fdmFsdWU7CisgICAgaW50IHNwYWNlOyAvKiBhbGxvdyBzcGFjZXMgaW4gZnJvbnQgYW5kIGVuZCBvZiB0aGUgc3RyaW5nICovCisgICAgaW50IG5fc3BhY2U7CisKKyAgICBmb3IgKG5fdmFsdWUgPSAwO25fdmFsdWUgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl92YWx1ZSsrKSB7CisgICAgZm9yIChuX3NwYWNlID0gMDtuX3NwYWNlIDwgZ2VuX25iX2ludDtuX3NwYWNlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgdmFsdWUgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl92YWx1ZSwgMCk7CisgICAgICAgIHNwYWNlID0gZ2VuX2ludChuX3NwYWNlLCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sVmFsaWRhdGVRTmFtZSgoY29uc3QgeG1sQ2hhciAqKXZhbHVlLCBzcGFjZSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fdmFsdWUsIChjb25zdCB4bWxDaGFyICopdmFsdWUsIDApOworICAgICAgICBkZXNfaW50KG5fc3BhY2UsIHNwYWNlLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFZhbGlkYXRlUU5hbWUiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdmFsdWUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3NwYWNlKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCitzdGF0aWMgaW50Cit0ZXN0X3RyZWUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpZiAocXVpZXQgPT0gMCkgcHJpbnRmKCJUZXN0aW5nIHRyZWUgOiAxNDIgb2YgMTY0IGZ1bmN0aW9ucyAuLi5cbiIpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sQWRkQ2hpbGQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbEFkZENoaWxkTGlzdCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sQWRkTmV4dFNpYmxpbmcoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbEFkZFByZXZTaWJsaW5nKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxBZGRTaWJsaW5nKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxBdHRyU2VyaWFsaXplVHh0Q29udGVudCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sQnVmQ29udGVudCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sQnVmRW5kKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxCdWZHZXROb2RlQ29udGVudCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sQnVmTm9kZUR1bXAoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbEJ1ZlNocmluaygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sQnVmVXNlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxCdWZmZXJBZGQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbEJ1ZmZlckFkZEhlYWQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbEJ1ZmZlckNDYXQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbEJ1ZmZlckNhdCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sQnVmZmVyQ29udGVudCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sQnVmZmVyQ3JlYXRlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxCdWZmZXJDcmVhdGVTaXplKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxCdWZmZXJDcmVhdGVTdGF0aWMoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbEJ1ZmZlckRldGFjaCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sQnVmZmVyRW1wdHkoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbEJ1ZmZlckdyb3coKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbEJ1ZmZlckxlbmd0aCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sQnVmZmVyUmVzaXplKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxCdWZmZXJTZXRBbGxvY2F0aW9uU2NoZW1lKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxCdWZmZXJTaHJpbmsoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbEJ1ZmZlcldyaXRlQ0hBUigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sQnVmZmVyV3JpdGVDaGFyKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxCdWZmZXJXcml0ZVF1b3RlZFN0cmluZygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sQnVpbGRRTmFtZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sQ2hpbGRFbGVtZW50Q291bnQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbENvcHlEb2MoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbENvcHlEdGQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbENvcHlOYW1lc3BhY2UoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbENvcHlOYW1lc3BhY2VMaXN0KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxDb3B5Tm9kZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sQ29weU5vZGVMaXN0KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxDb3B5UHJvcCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sQ29weVByb3BMaXN0KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxDcmVhdGVJbnRTdWJzZXQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbERPTVdyYXBBZG9wdE5vZGUoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbERPTVdyYXBDbG9uZU5vZGUoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbERPTVdyYXBOZXdDdHh0KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxET01XcmFwUmVjb25jaWxlTmFtZXNwYWNlcygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sRE9NV3JhcFJlbW92ZU5vZGUoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbERvY0NvcHlOb2RlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxEb2NDb3B5Tm9kZUxpc3QoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbERvY0R1bXAoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbERvY0R1bXBGb3JtYXRNZW1vcnkoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbERvY0R1bXBGb3JtYXRNZW1vcnlFbmMoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbERvY0R1bXBNZW1vcnkoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbERvY0R1bXBNZW1vcnlFbmMoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbERvY0Zvcm1hdER1bXAoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbERvY0dldFJvb3RFbGVtZW50KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxEb2NTZXRSb290RWxlbWVudCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sRWxlbUR1bXAoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbEZpcnN0RWxlbWVudENoaWxkKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxHZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxHZXRDb21wcmVzc01vZGUoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbEdldERvY0NvbXByZXNzTW9kZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sR2V0SW50U3Vic2V0KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxHZXRMYXN0Q2hpbGQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbEdldExpbmVObygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sR2V0Tm9Oc1Byb3AoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbEdldE5vZGVQYXRoKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxHZXROc0xpc3QoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbEdldE5zUHJvcCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sR2V0UHJvcCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sSGFzTnNQcm9wKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxIYXNQcm9wKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxJc0JsYW5rTm9kZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sSXNYSFRNTCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sTGFzdEVsZW1lbnRDaGlsZCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sTmV3Q0RhdGFCbG9jaygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sTmV3Q2hhclJlZigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sTmV3Q2hpbGQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbE5ld0NvbW1lbnQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbE5ld0RvYygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sTmV3RG9jQ29tbWVudCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sTmV3RG9jRnJhZ21lbnQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbE5ld0RvY05vZGUoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbE5ld0RvY05vZGVFYXROYW1lKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxOZXdEb2NQSSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sTmV3RG9jUHJvcCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sTmV3RG9jUmF3Tm9kZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sTmV3RG9jVGV4dCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sTmV3RG9jVGV4dExlbigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sTmV3RHRkKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxOZXdOb2RlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxOZXdOb2RlRWF0TmFtZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sTmV3TnMoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbE5ld05zUHJvcCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sTmV3TnNQcm9wRWF0TmFtZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sTmV3UEkoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbE5ld1Byb3AoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbE5ld1JlZmVyZW5jZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sTmV3VGV4dCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sTmV3VGV4dENoaWxkKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxOZXdUZXh0TGVuKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxOZXh0RWxlbWVudFNpYmxpbmcoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbE5vZGVBZGRDb250ZW50KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxOb2RlQWRkQ29udGVudExlbigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sTm9kZUJ1ZkdldENvbnRlbnQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbE5vZGVEdW1wKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxOb2RlRHVtcE91dHB1dCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sTm9kZUdldEJhc2UoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbE5vZGVHZXRDb250ZW50KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxOb2RlR2V0TGFuZygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sTm9kZUdldFNwYWNlUHJlc2VydmUoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbE5vZGVJc1RleHQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbE5vZGVMaXN0R2V0UmF3U3RyaW5nKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxOb2RlTGlzdEdldFN0cmluZygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sTm9kZVNldEJhc2UoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbE5vZGVTZXRDb250ZW50KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxOb2RlU2V0Q29udGVudExlbigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sTm9kZVNldExhbmcoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbE5vZGVTZXROYW1lKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxOb2RlU2V0U3BhY2VQcmVzZXJ2ZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sUHJldmlvdXNFbGVtZW50U2libGluZygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sUmVjb25jaWxpYXRlTnMoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFJlbW92ZVByb3AoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFJlcGxhY2VOb2RlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxTYXZlRmlsZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU2F2ZUZpbGVFbmMoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFNhdmVGaWxlVG8oKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFNhdmVGb3JtYXRGaWxlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxTYXZlRm9ybWF0RmlsZUVuYygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU2F2ZUZvcm1hdEZpbGVUbygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU2VhcmNoTnMoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFNlYXJjaE5zQnlIcmVmKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxTZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxTZXRDb21wcmVzc01vZGUoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFNldERvY0NvbXByZXNzTW9kZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU2V0TnMoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFNldE5zUHJvcCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU2V0UHJvcCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU3BsaXRRTmFtZTIoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFNwbGl0UU5hbWUzKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxTdHJpbmdHZXROb2RlTGlzdCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU3RyaW5nTGVuR2V0Tm9kZUxpc3QoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFRleHRDb25jYXQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFRleHRNZXJnZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVW5zZXROc1Byb3AoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFVuc2V0UHJvcCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVmFsaWRhdGVOQ05hbWUoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFZhbGlkYXRlTk1Ub2tlbigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVmFsaWRhdGVOYW1lKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxWYWxpZGF0ZVFOYW1lKCk7CisKKyAgICBpZiAodGVzdF9yZXQgIT0gMCkKKwlwcmludGYoIk1vZHVsZSB0cmVlOiAlZCBlcnJvcnNcbiIsIHRlc3RfcmV0KTsKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCitzdGF0aWMgaW50Cit0ZXN0X3htbEJ1aWxkUmVsYXRpdmVVUkkodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sQ2hhciAqIHJldF92YWw7CisgICAgeG1sQ2hhciAqIFVSSTsgLyogdGhlIFVSSSByZWZlcmVuY2UgdW5kZXIgY29uc2lkZXJhdGlvbiAqLworICAgIGludCBuX1VSSTsKKyAgICB4bWxDaGFyICogYmFzZTsgLyogdGhlIGJhc2UgdmFsdWUgKi8KKyAgICBpbnQgbl9iYXNlOworCisgICAgZm9yIChuX1VSSSA9IDA7bl9VUkkgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9VUkkrKykgeworICAgIGZvciAobl9iYXNlID0gMDtuX2Jhc2UgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9iYXNlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgVVJJID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fVVJJLCAwKTsKKyAgICAgICAgYmFzZSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX2Jhc2UsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxCdWlsZFJlbGF0aXZlVVJJKChjb25zdCB4bWxDaGFyICopVVJJLCAoY29uc3QgeG1sQ2hhciAqKWJhc2UpOworICAgICAgICBkZXNyZXRfeG1sQ2hhcl9wdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fVVJJLCAoY29uc3QgeG1sQ2hhciAqKVVSSSwgMCk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX2Jhc2UsIChjb25zdCB4bWxDaGFyICopYmFzZSwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxCdWlsZFJlbGF0aXZlVVJJIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX1VSSSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fYmFzZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sQnVpbGRVUkkodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sQ2hhciAqIHJldF92YWw7CisgICAgeG1sQ2hhciAqIFVSSTsgLyogdGhlIFVSSSBpbnN0YW5jZSBmb3VuZCBpbiB0aGUgZG9jdW1lbnQgKi8KKyAgICBpbnQgbl9VUkk7CisgICAgeG1sQ2hhciAqIGJhc2U7IC8qIHRoZSBiYXNlIHZhbHVlICovCisgICAgaW50IG5fYmFzZTsKKworICAgIGZvciAobl9VUkkgPSAwO25fVVJJIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fVVJJKyspIHsKKyAgICBmb3IgKG5fYmFzZSA9IDA7bl9iYXNlIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fYmFzZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIFVSSSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX1VSSSwgMCk7CisgICAgICAgIGJhc2UgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9iYXNlLCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sQnVpbGRVUkkoKGNvbnN0IHhtbENoYXIgKilVUkksIChjb25zdCB4bWxDaGFyICopYmFzZSk7CisgICAgICAgIGRlc3JldF94bWxDaGFyX3B0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9VUkksIChjb25zdCB4bWxDaGFyICopVVJJLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fYmFzZSwgKGNvbnN0IHhtbENoYXIgKiliYXNlLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbEJ1aWxkVVJJIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX1VSSSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fYmFzZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sQ2Fub25pY1BhdGgodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sQ2hhciAqIHJldF92YWw7CisgICAgeG1sQ2hhciAqIHBhdGg7IC8qIHRoZSByZXNvdXJjZSBsb2NhdG9yIGluIGEgZmlsZXN5c3RlbSBub3RhdGlvbiAqLworICAgIGludCBuX3BhdGg7CisKKyAgICBmb3IgKG5fcGF0aCA9IDA7bl9wYXRoIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fcGF0aCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHBhdGggPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9wYXRoLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sQ2Fub25pY1BhdGgoKGNvbnN0IHhtbENoYXIgKilwYXRoKTsKKyAgICAgICAgZGVzcmV0X3htbENoYXJfcHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX3BhdGgsIChjb25zdCB4bWxDaGFyICopcGF0aCwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxDYW5vbmljUGF0aCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9wYXRoKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbENyZWF0ZVVSSSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworCisgICAgLyogbWlzc2luZyB0eXBlIHN1cHBvcnQgKi8KKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sTm9ybWFsaXplVVJJUGF0aCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICBjaGFyICogcGF0aDsgLyogcG9pbnRlciB0byB0aGUgcGF0aCBzdHJpbmcgKi8KKyAgICBpbnQgbl9wYXRoOworCisgICAgZm9yIChuX3BhdGggPSAwO25fcGF0aCA8IGdlbl9uYl9jaGFyX3B0cjtuX3BhdGgrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBwYXRoID0gZ2VuX2NoYXJfcHRyKG5fcGF0aCwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbE5vcm1hbGl6ZVVSSVBhdGgocGF0aCk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2NoYXJfcHRyKG5fcGF0aCwgcGF0aCwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxOb3JtYWxpemVVUklQYXRoIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3BhdGgpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sUGFyc2VVUkkodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworICAgIC8qIG1pc3NpbmcgdHlwZSBzdXBwb3J0ICovCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFBhcnNlVVJJUmF3KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisKKyAgICAvKiBtaXNzaW5nIHR5cGUgc3VwcG9ydCAqLworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworI2RlZmluZSBnZW5fbmJfeG1sVVJJUHRyIDEKK3N0YXRpYyB4bWxVUklQdHIgZ2VuX3htbFVSSVB0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICByZXR1cm4oTlVMTCk7Cit9CitzdGF0aWMgdm9pZCBkZXNfeG1sVVJJUHRyKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCB4bWxVUklQdHIgdmFsIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7Cit9CisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sUGFyc2VVUklSZWZlcmVuY2Uodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sVVJJUHRyIHVyaTsgLyogcG9pbnRlciB0byBhbiBVUkkgc3RydWN0dXJlICovCisgICAgaW50IG5fdXJpOworICAgIGNoYXIgKiBzdHI7IC8qIHRoZSBzdHJpbmcgdG8gYW5hbHl6ZSAqLworICAgIGludCBuX3N0cjsKKworICAgIGZvciAobl91cmkgPSAwO25fdXJpIDwgZ2VuX25iX3htbFVSSVB0cjtuX3VyaSsrKSB7CisgICAgZm9yIChuX3N0ciA9IDA7bl9zdHIgPCBnZW5fbmJfY29uc3RfY2hhcl9wdHI7bl9zdHIrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICB1cmkgPSBnZW5feG1sVVJJUHRyKG5fdXJpLCAwKTsKKyAgICAgICAgc3RyID0gZ2VuX2NvbnN0X2NoYXJfcHRyKG5fc3RyLCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sUGFyc2VVUklSZWZlcmVuY2UodXJpLCAoY29uc3QgY2hhciAqKXN0cik7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFVSSVB0cihuX3VyaSwgdXJpLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X2NoYXJfcHRyKG5fc3RyLCAoY29uc3QgY2hhciAqKXN0ciwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxQYXJzZVVSSVJlZmVyZW5jZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl91cmkpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3N0cik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sUGF0aFRvVVJJKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbENoYXIgKiByZXRfdmFsOworICAgIHhtbENoYXIgKiBwYXRoOyAvKiB0aGUgcmVzb3VyY2UgbG9jYXRvciBpbiBhIGZpbGVzeXN0ZW0gbm90YXRpb24gKi8KKyAgICBpbnQgbl9wYXRoOworCisgICAgZm9yIChuX3BhdGggPSAwO25fcGF0aCA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX3BhdGgrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBwYXRoID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fcGF0aCwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFBhdGhUb1VSSSgoY29uc3QgeG1sQ2hhciAqKXBhdGgpOworICAgICAgICBkZXNyZXRfeG1sQ2hhcl9wdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fcGF0aCwgKGNvbnN0IHhtbENoYXIgKilwYXRoLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFBhdGhUb1VSSSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9wYXRoKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFByaW50VVJJKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIEZJTEUgKiBzdHJlYW07IC8qIGEgRklMRSogZm9yIHRoZSBvdXRwdXQgKi8KKyAgICBpbnQgbl9zdHJlYW07CisgICAgeG1sVVJJUHRyIHVyaTsgLyogcG9pbnRlciB0byBhbiB4bWxVUkkgKi8KKyAgICBpbnQgbl91cmk7CisKKyAgICBmb3IgKG5fc3RyZWFtID0gMDtuX3N0cmVhbSA8IGdlbl9uYl9GSUxFX3B0cjtuX3N0cmVhbSsrKSB7CisgICAgZm9yIChuX3VyaSA9IDA7bl91cmkgPCBnZW5fbmJfeG1sVVJJUHRyO25fdXJpKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgc3RyZWFtID0gZ2VuX0ZJTEVfcHRyKG5fc3RyZWFtLCAwKTsKKyAgICAgICAgdXJpID0gZ2VuX3htbFVSSVB0cihuX3VyaSwgMSk7CisKKyAgICAgICAgeG1sUHJpbnRVUkkoc3RyZWFtLCB1cmkpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19GSUxFX3B0cihuX3N0cmVhbSwgc3RyZWFtLCAwKTsKKyAgICAgICAgZGVzX3htbFVSSVB0cihuX3VyaSwgdXJpLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFByaW50VVJJIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3N0cmVhbSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdXJpKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxTYXZlVXJpKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbENoYXIgKiByZXRfdmFsOworICAgIHhtbFVSSVB0ciB1cmk7IC8qIHBvaW50ZXIgdG8gYW4geG1sVVJJICovCisgICAgaW50IG5fdXJpOworCisgICAgZm9yIChuX3VyaSA9IDA7bl91cmkgPCBnZW5fbmJfeG1sVVJJUHRyO25fdXJpKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgdXJpID0gZ2VuX3htbFVSSVB0cihuX3VyaSwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFNhdmVVcmkodXJpKTsKKyAgICAgICAgZGVzcmV0X3htbENoYXJfcHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxVUklQdHIobl91cmksIHVyaSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxTYXZlVXJpIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3VyaSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxVUklFc2NhcGUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sQ2hhciAqIHJldF92YWw7CisgICAgeG1sQ2hhciAqIHN0cjsgLyogdGhlIHN0cmluZyBvZiB0aGUgVVJJIHRvIGVzY2FwZSAqLworICAgIGludCBuX3N0cjsKKworICAgIGZvciAobl9zdHIgPSAwO25fc3RyIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fc3RyKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgc3RyID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fc3RyLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVVJJRXNjYXBlKChjb25zdCB4bWxDaGFyICopc3RyKTsKKyAgICAgICAgZGVzcmV0X3htbENoYXJfcHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX3N0ciwgKGNvbnN0IHhtbENoYXIgKilzdHIsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVVJJRXNjYXBlIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3N0cik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxVUklFc2NhcGVTdHIodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sQ2hhciAqIHJldF92YWw7CisgICAgeG1sQ2hhciAqIHN0cjsgLyogc3RyaW5nIHRvIGVzY2FwZSAqLworICAgIGludCBuX3N0cjsKKyAgICB4bWxDaGFyICogbGlzdDsgLyogZXhjZXB0aW9uIGxpc3Qgc3RyaW5nIG9mIGNoYXJzIG5vdCB0byBlc2NhcGUgKi8KKyAgICBpbnQgbl9saXN0OworCisgICAgZm9yIChuX3N0ciA9IDA7bl9zdHIgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9zdHIrKykgeworICAgIGZvciAobl9saXN0ID0gMDtuX2xpc3QgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9saXN0KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgc3RyID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fc3RyLCAwKTsKKyAgICAgICAgbGlzdCA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX2xpc3QsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxVUklFc2NhcGVTdHIoKGNvbnN0IHhtbENoYXIgKilzdHIsIChjb25zdCB4bWxDaGFyICopbGlzdCk7CisgICAgICAgIGRlc3JldF94bWxDaGFyX3B0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9zdHIsIChjb25zdCB4bWxDaGFyICopc3RyLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fbGlzdCwgKGNvbnN0IHhtbENoYXIgKilsaXN0LCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVSSUVzY2FwZVN0ciIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9zdHIpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2xpc3QpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVSSVVuZXNjYXBlU3RyaW5nKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisKKyAgICAvKiBtaXNzaW5nIHR5cGUgc3VwcG9ydCAqLworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKK3N0YXRpYyBpbnQKK3Rlc3RfdXJpKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaWYgKHF1aWV0ID09IDApIHByaW50ZigiVGVzdGluZyB1cmkgOiAxMCBvZiAxNSBmdW5jdGlvbnMgLi4uXG4iKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbEJ1aWxkUmVsYXRpdmVVUkkoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbEJ1aWxkVVJJKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxDYW5vbmljUGF0aCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sQ3JlYXRlVVJJKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxOb3JtYWxpemVVUklQYXRoKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxQYXJzZVVSSSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sUGFyc2VVUklSYXcoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFBhcnNlVVJJUmVmZXJlbmNlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxQYXRoVG9VUkkoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFByaW50VVJJKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxTYXZlVXJpKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxVUklFc2NhcGUoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFVSSUVzY2FwZVN0cigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVVJJVW5lc2NhcGVTdHJpbmcoKTsKKworICAgIGlmICh0ZXN0X3JldCAhPSAwKQorCXByaW50ZigiTW9kdWxlIHVyaTogJWQgZXJyb3JzXG4iLCB0ZXN0X3JldCk7CisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworc3RhdGljIGludAordGVzdF94bWxBZGRBdHRyaWJ1dGVEZWNsKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbEF0dHJpYnV0ZVB0ciByZXRfdmFsOworICAgIHhtbFZhbGlkQ3R4dFB0ciBjdHh0OyAvKiB0aGUgdmFsaWRhdGlvbiBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKyAgICB4bWxEdGRQdHIgZHRkOyAvKiBwb2ludGVyIHRvIHRoZSBEVEQgKi8KKyAgICBpbnQgbl9kdGQ7CisgICAgeG1sQ2hhciAqIGVsZW07IC8qIHRoZSBlbGVtZW50IG5hbWUgKi8KKyAgICBpbnQgbl9lbGVtOworICAgIHhtbENoYXIgKiBuYW1lOyAvKiB0aGUgYXR0cmlidXRlIG5hbWUgKi8KKyAgICBpbnQgbl9uYW1lOworICAgIHhtbENoYXIgKiBuczsgLyogdGhlIGF0dHJpYnV0ZSBuYW1lc3BhY2UgcHJlZml4ICovCisgICAgaW50IG5fbnM7CisgICAgeG1sQXR0cmlidXRlVHlwZSB0eXBlOyAvKiB0aGUgYXR0cmlidXRlIHR5cGUgKi8KKyAgICBpbnQgbl90eXBlOworICAgIHhtbEF0dHJpYnV0ZURlZmF1bHQgZGVmOyAvKiB0aGUgYXR0cmlidXRlIGRlZmF1bHQgdHlwZSAqLworICAgIGludCBuX2RlZjsKKyAgICB4bWxDaGFyICogZGVmYXVsdFZhbHVlOyAvKiB0aGUgYXR0cmlidXRlIGRlZmF1bHQgdmFsdWUgKi8KKyAgICBpbnQgbl9kZWZhdWx0VmFsdWU7CisgICAgeG1sRW51bWVyYXRpb25QdHIgdHJlZTsgLyogaWYgaXQncyBhbiBlbnVtZXJhdGlvbiwgdGhlIGFzc29jaWF0ZWQgbGlzdCAqLworICAgIGludCBuX3RyZWU7CisKKyAgICBmb3IgKG5fY3R4dCA9IDA7bl9jdHh0IDwgZ2VuX25iX3htbFZhbGlkQ3R4dFB0cjtuX2N0eHQrKykgeworICAgIGZvciAobl9kdGQgPSAwO25fZHRkIDwgZ2VuX25iX3htbER0ZFB0cjtuX2R0ZCsrKSB7CisgICAgZm9yIChuX2VsZW0gPSAwO25fZWxlbSA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX2VsZW0rKykgeworICAgIGZvciAobl9uYW1lID0gMDtuX25hbWUgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9uYW1lKyspIHsKKyAgICBmb3IgKG5fbnMgPSAwO25fbnMgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9ucysrKSB7CisgICAgZm9yIChuX3R5cGUgPSAwO25fdHlwZSA8IGdlbl9uYl94bWxBdHRyaWJ1dGVUeXBlO25fdHlwZSsrKSB7CisgICAgZm9yIChuX2RlZiA9IDA7bl9kZWYgPCBnZW5fbmJfeG1sQXR0cmlidXRlRGVmYXVsdDtuX2RlZisrKSB7CisgICAgZm9yIChuX2RlZmF1bHRWYWx1ZSA9IDA7bl9kZWZhdWx0VmFsdWUgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9kZWZhdWx0VmFsdWUrKykgeworICAgIGZvciAobl90cmVlID0gMDtuX3RyZWUgPCBnZW5fbmJfeG1sRW51bWVyYXRpb25QdHI7bl90cmVlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4dCA9IGdlbl94bWxWYWxpZEN0eHRQdHIobl9jdHh0LCAwKTsKKyAgICAgICAgZHRkID0gZ2VuX3htbER0ZFB0cihuX2R0ZCwgMSk7CisgICAgICAgIGVsZW0gPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9lbGVtLCAyKTsKKyAgICAgICAgbmFtZSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIDMpOworICAgICAgICBucyA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX25zLCA0KTsKKyAgICAgICAgdHlwZSA9IGdlbl94bWxBdHRyaWJ1dGVUeXBlKG5fdHlwZSwgNSk7CisgICAgICAgIGRlZiA9IGdlbl94bWxBdHRyaWJ1dGVEZWZhdWx0KG5fZGVmLCA2KTsKKyAgICAgICAgZGVmYXVsdFZhbHVlID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fZGVmYXVsdFZhbHVlLCA3KTsKKyAgICAgICAgdHJlZSA9IGdlbl94bWxFbnVtZXJhdGlvblB0cihuX3RyZWUsIDgpOworCisgICAgICAgIHJldF92YWwgPSB4bWxBZGRBdHRyaWJ1dGVEZWNsKGN0eHQsIGR0ZCwgKGNvbnN0IHhtbENoYXIgKillbGVtLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUsIChjb25zdCB4bWxDaGFyICopbnMsIHR5cGUsIGRlZiwgKGNvbnN0IHhtbENoYXIgKilkZWZhdWx0VmFsdWUsIHRyZWUpOworICAgICAgICBkZXNyZXRfeG1sQXR0cmlidXRlUHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxWYWxpZEN0eHRQdHIobl9jdHh0LCBjdHh0LCAwKTsKKyAgICAgICAgZGVzX3htbER0ZFB0cihuX2R0ZCwgZHRkLCAxKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fZWxlbSwgKGNvbnN0IHhtbENoYXIgKillbGVtLCAyKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgKGNvbnN0IHhtbENoYXIgKiluYW1lLCAzKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fbnMsIChjb25zdCB4bWxDaGFyICopbnMsIDQpOworICAgICAgICBkZXNfeG1sQXR0cmlidXRlVHlwZShuX3R5cGUsIHR5cGUsIDUpOworICAgICAgICBkZXNfeG1sQXR0cmlidXRlRGVmYXVsdChuX2RlZiwgZGVmLCA2KTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fZGVmYXVsdFZhbHVlLCAoY29uc3QgeG1sQ2hhciAqKWRlZmF1bHRWYWx1ZSwgNyk7CisgICAgICAgIGRlc194bWxFbnVtZXJhdGlvblB0cihuX3RyZWUsIHRyZWUsIDgpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sQWRkQXR0cmlidXRlRGVjbCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHh0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9kdGQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2VsZW0pOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25hbWUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25zKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl90eXBlKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9kZWYpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2RlZmF1bHRWYWx1ZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdHJlZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbEFkZEVsZW1lbnREZWNsKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbEVsZW1lbnRQdHIgcmV0X3ZhbDsKKyAgICB4bWxWYWxpZEN0eHRQdHIgY3R4dDsgLyogdGhlIHZhbGlkYXRpb24gY29udGV4dCAqLworICAgIGludCBuX2N0eHQ7CisgICAgeG1sRHRkUHRyIGR0ZDsgLyogcG9pbnRlciB0byB0aGUgRFREICovCisgICAgaW50IG5fZHRkOworICAgIHhtbENoYXIgKiBuYW1lOyAvKiB0aGUgZW50aXR5IG5hbWUgKi8KKyAgICBpbnQgbl9uYW1lOworICAgIHhtbEVsZW1lbnRUeXBlVmFsIHR5cGU7IC8qIHRoZSBlbGVtZW50IHR5cGUgKi8KKyAgICBpbnQgbl90eXBlOworICAgIHhtbEVsZW1lbnRDb250ZW50UHRyIGNvbnRlbnQ7IC8qIHRoZSBlbGVtZW50IGNvbnRlbnQgdHJlZSBvciBOVUxMICovCisgICAgaW50IG5fY29udGVudDsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfeG1sVmFsaWRDdHh0UHRyO25fY3R4dCsrKSB7CisgICAgZm9yIChuX2R0ZCA9IDA7bl9kdGQgPCBnZW5fbmJfeG1sRHRkUHRyO25fZHRkKyspIHsKKyAgICBmb3IgKG5fbmFtZSA9IDA7bl9uYW1lIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fbmFtZSsrKSB7CisgICAgZm9yIChuX3R5cGUgPSAwO25fdHlwZSA8IGdlbl9uYl94bWxFbGVtZW50VHlwZVZhbDtuX3R5cGUrKykgeworICAgIGZvciAobl9jb250ZW50ID0gMDtuX2NvbnRlbnQgPCBnZW5fbmJfeG1sRWxlbWVudENvbnRlbnRQdHI7bl9jb250ZW50KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4dCA9IGdlbl94bWxWYWxpZEN0eHRQdHIobl9jdHh0LCAwKTsKKyAgICAgICAgZHRkID0gZ2VuX3htbER0ZFB0cihuX2R0ZCwgMSk7CisgICAgICAgIG5hbWUgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAyKTsKKyAgICAgICAgdHlwZSA9IGdlbl94bWxFbGVtZW50VHlwZVZhbChuX3R5cGUsIDMpOworICAgICAgICBjb250ZW50ID0gZ2VuX3htbEVsZW1lbnRDb250ZW50UHRyKG5fY29udGVudCwgNCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbEFkZEVsZW1lbnREZWNsKGN0eHQsIGR0ZCwgKGNvbnN0IHhtbENoYXIgKiluYW1lLCB0eXBlLCBjb250ZW50KTsKKyAgICAgICAgZGVzcmV0X3htbEVsZW1lbnRQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFZhbGlkQ3R4dFB0cihuX2N0eHQsIGN0eHQsIDApOworICAgICAgICBkZXNfeG1sRHRkUHRyKG5fZHRkLCBkdGQsIDEpOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUsIDIpOworICAgICAgICBkZXNfeG1sRWxlbWVudFR5cGVWYWwobl90eXBlLCB0eXBlLCAzKTsKKyAgICAgICAgZGVzX3htbEVsZW1lbnRDb250ZW50UHRyKG5fY29udGVudCwgY29udGVudCwgNCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxBZGRFbGVtZW50RGVjbCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHh0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9kdGQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25hbWUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3R5cGUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2NvbnRlbnQpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbEFkZElEKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisKKyAgICAvKiBtaXNzaW5nIHR5cGUgc3VwcG9ydCAqLworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxBZGROb3RhdGlvbkRlY2wodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworICAgIC8qIG1pc3NpbmcgdHlwZSBzdXBwb3J0ICovCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbEFkZFJlZih2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworCisgICAgLyogbWlzc2luZyB0eXBlIHN1cHBvcnQgKi8KKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKKyNkZWZpbmUgZ2VuX25iX3htbEF0dHJpYnV0ZVRhYmxlUHRyIDEKK3N0YXRpYyB4bWxBdHRyaWJ1dGVUYWJsZVB0ciBnZW5feG1sQXR0cmlidXRlVGFibGVQdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgcmV0dXJuKE5VTEwpOworfQorc3RhdGljIHZvaWQgZGVzX3htbEF0dHJpYnV0ZVRhYmxlUHRyKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCB4bWxBdHRyaWJ1dGVUYWJsZVB0ciB2YWwgQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKK30KKworc3RhdGljIGludAordGVzdF94bWxDb3B5QXR0cmlidXRlVGFibGUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworICAgIC8qIG1pc3NpbmcgdHlwZSBzdXBwb3J0ICovCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbENvcHlEb2NFbGVtZW50Q29udGVudCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxFbGVtZW50Q29udGVudFB0ciByZXRfdmFsOworICAgIHhtbERvY1B0ciBkb2M7IC8qIHRoZSBkb2N1bWVudCBvd25pbmcgdGhlIGVsZW1lbnQgZGVjbGFyYXRpb24gKi8KKyAgICBpbnQgbl9kb2M7CisgICAgeG1sRWxlbWVudENvbnRlbnRQdHIgY3VyOyAvKiBBbiBlbGVtZW50IGNvbnRlbnQgcG9pbnRlci4gKi8KKyAgICBpbnQgbl9jdXI7CisKKyAgICBmb3IgKG5fZG9jID0gMDtuX2RvYyA8IGdlbl9uYl94bWxEb2NQdHI7bl9kb2MrKykgeworICAgIGZvciAobl9jdXIgPSAwO25fY3VyIDwgZ2VuX25iX3htbEVsZW1lbnRDb250ZW50UHRyO25fY3VyKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgZG9jID0gZ2VuX3htbERvY1B0cihuX2RvYywgMCk7CisgICAgICAgIGN1ciA9IGdlbl94bWxFbGVtZW50Q29udGVudFB0cihuX2N1ciwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbENvcHlEb2NFbGVtZW50Q29udGVudChkb2MsIGN1cik7CisgICAgICAgIGRlc3JldF94bWxFbGVtZW50Q29udGVudFB0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sRG9jUHRyKG5fZG9jLCBkb2MsIDApOworICAgICAgICBkZXNfeG1sRWxlbWVudENvbnRlbnRQdHIobl9jdXIsIGN1ciwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxDb3B5RG9jRWxlbWVudENvbnRlbnQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZG9jKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdXIpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbENvcHlFbGVtZW50Q29udGVudCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxFbGVtZW50Q29udGVudFB0ciByZXRfdmFsOworICAgIHhtbEVsZW1lbnRDb250ZW50UHRyIGN1cjsgLyogQW4gZWxlbWVudCBjb250ZW50IHBvaW50ZXIuICovCisgICAgaW50IG5fY3VyOworCisgICAgZm9yIChuX2N1ciA9IDA7bl9jdXIgPCBnZW5fbmJfeG1sRWxlbWVudENvbnRlbnRQdHI7bl9jdXIrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdXIgPSBnZW5feG1sRWxlbWVudENvbnRlbnRQdHIobl9jdXIsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxDb3B5RWxlbWVudENvbnRlbnQoY3VyKTsKKyAgICAgICAgZGVzcmV0X3htbEVsZW1lbnRDb250ZW50UHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxFbGVtZW50Q29udGVudFB0cihuX2N1ciwgY3VyLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbENvcHlFbGVtZW50Q29udGVudCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdXIpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKKyNkZWZpbmUgZ2VuX25iX3htbEVsZW1lbnRUYWJsZVB0ciAxCitzdGF0aWMgeG1sRWxlbWVudFRhYmxlUHRyIGdlbl94bWxFbGVtZW50VGFibGVQdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgcmV0dXJuKE5VTEwpOworfQorc3RhdGljIHZvaWQgZGVzX3htbEVsZW1lbnRUYWJsZVB0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgeG1sRWxlbWVudFRhYmxlUHRyIHZhbCBBVFRSSUJVVEVfVU5VU0VELCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworfQorCitzdGF0aWMgaW50Cit0ZXN0X3htbENvcHlFbGVtZW50VGFibGUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworICAgIC8qIG1pc3NpbmcgdHlwZSBzdXBwb3J0ICovCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbENvcHlFbnVtZXJhdGlvbih2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworCisgICAgLyogbWlzc2luZyB0eXBlIHN1cHBvcnQgKi8KKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKKyNkZWZpbmUgZ2VuX25iX3htbE5vdGF0aW9uVGFibGVQdHIgMQorc3RhdGljIHhtbE5vdGF0aW9uVGFibGVQdHIgZ2VuX3htbE5vdGF0aW9uVGFibGVQdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgcmV0dXJuKE5VTEwpOworfQorc3RhdGljIHZvaWQgZGVzX3htbE5vdGF0aW9uVGFibGVQdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIHhtbE5vdGF0aW9uVGFibGVQdHIgdmFsIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7Cit9CisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sQ29weU5vdGF0aW9uVGFibGUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworICAgIC8qIG1pc3NpbmcgdHlwZSBzdXBwb3J0ICovCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbENyZWF0ZUVudW1lcmF0aW9uKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisKKyAgICAvKiBtaXNzaW5nIHR5cGUgc3VwcG9ydCAqLworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworI2RlZmluZSBnZW5fbmJfeG1sQXR0cmlidXRlUHRyIDEKK3N0YXRpYyB4bWxBdHRyaWJ1dGVQdHIgZ2VuX3htbEF0dHJpYnV0ZVB0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICByZXR1cm4oTlVMTCk7Cit9CitzdGF0aWMgdm9pZCBkZXNfeG1sQXR0cmlidXRlUHRyKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCB4bWxBdHRyaWJ1dGVQdHIgdmFsIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7Cit9CisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sRHVtcEF0dHJpYnV0ZURlY2wodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sQnVmZmVyUHRyIGJ1ZjsgLyogdGhlIFhNTCBidWZmZXIgb3V0cHV0ICovCisgICAgaW50IG5fYnVmOworICAgIHhtbEF0dHJpYnV0ZVB0ciBhdHRyOyAvKiBBbiBhdHRyaWJ1dGUgZGVjbGFyYXRpb24gKi8KKyAgICBpbnQgbl9hdHRyOworCisgICAgZm9yIChuX2J1ZiA9IDA7bl9idWYgPCBnZW5fbmJfeG1sQnVmZmVyUHRyO25fYnVmKyspIHsKKyAgICBmb3IgKG5fYXR0ciA9IDA7bl9hdHRyIDwgZ2VuX25iX3htbEF0dHJpYnV0ZVB0cjtuX2F0dHIrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBidWYgPSBnZW5feG1sQnVmZmVyUHRyKG5fYnVmLCAwKTsKKyAgICAgICAgYXR0ciA9IGdlbl94bWxBdHRyaWJ1dGVQdHIobl9hdHRyLCAxKTsKKworICAgICAgICB4bWxEdW1wQXR0cmlidXRlRGVjbChidWYsIGF0dHIpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxCdWZmZXJQdHIobl9idWYsIGJ1ZiwgMCk7CisgICAgICAgIGRlc194bWxBdHRyaWJ1dGVQdHIobl9hdHRyLCBhdHRyLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbER1bXBBdHRyaWJ1dGVEZWNsIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2J1Zik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fYXR0cik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxEdW1wQXR0cmlidXRlVGFibGUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sQnVmZmVyUHRyIGJ1ZjsgLyogdGhlIFhNTCBidWZmZXIgb3V0cHV0ICovCisgICAgaW50IG5fYnVmOworICAgIHhtbEF0dHJpYnV0ZVRhYmxlUHRyIHRhYmxlOyAvKiBBbiBhdHRyaWJ1dGUgdGFibGUgKi8KKyAgICBpbnQgbl90YWJsZTsKKworICAgIGZvciAobl9idWYgPSAwO25fYnVmIDwgZ2VuX25iX3htbEJ1ZmZlclB0cjtuX2J1ZisrKSB7CisgICAgZm9yIChuX3RhYmxlID0gMDtuX3RhYmxlIDwgZ2VuX25iX3htbEF0dHJpYnV0ZVRhYmxlUHRyO25fdGFibGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBidWYgPSBnZW5feG1sQnVmZmVyUHRyKG5fYnVmLCAwKTsKKyAgICAgICAgdGFibGUgPSBnZW5feG1sQXR0cmlidXRlVGFibGVQdHIobl90YWJsZSwgMSk7CisKKyAgICAgICAgeG1sRHVtcEF0dHJpYnV0ZVRhYmxlKGJ1ZiwgdGFibGUpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxCdWZmZXJQdHIobl9idWYsIGJ1ZiwgMCk7CisgICAgICAgIGRlc194bWxBdHRyaWJ1dGVUYWJsZVB0cihuX3RhYmxlLCB0YWJsZSwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxEdW1wQXR0cmlidXRlVGFibGUiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fYnVmKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl90YWJsZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworI2RlZmluZSBnZW5fbmJfeG1sRWxlbWVudFB0ciAxCitzdGF0aWMgeG1sRWxlbWVudFB0ciBnZW5feG1sRWxlbWVudFB0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICByZXR1cm4oTlVMTCk7Cit9CitzdGF0aWMgdm9pZCBkZXNfeG1sRWxlbWVudFB0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgeG1sRWxlbWVudFB0ciB2YWwgQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKK30KKworc3RhdGljIGludAordGVzdF94bWxEdW1wRWxlbWVudERlY2wodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sQnVmZmVyUHRyIGJ1ZjsgLyogdGhlIFhNTCBidWZmZXIgb3V0cHV0ICovCisgICAgaW50IG5fYnVmOworICAgIHhtbEVsZW1lbnRQdHIgZWxlbTsgLyogQW4gZWxlbWVudCB0YWJsZSAqLworICAgIGludCBuX2VsZW07CisKKyAgICBmb3IgKG5fYnVmID0gMDtuX2J1ZiA8IGdlbl9uYl94bWxCdWZmZXJQdHI7bl9idWYrKykgeworICAgIGZvciAobl9lbGVtID0gMDtuX2VsZW0gPCBnZW5fbmJfeG1sRWxlbWVudFB0cjtuX2VsZW0rKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBidWYgPSBnZW5feG1sQnVmZmVyUHRyKG5fYnVmLCAwKTsKKyAgICAgICAgZWxlbSA9IGdlbl94bWxFbGVtZW50UHRyKG5fZWxlbSwgMSk7CisKKyAgICAgICAgeG1sRHVtcEVsZW1lbnREZWNsKGJ1ZiwgZWxlbSk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbEJ1ZmZlclB0cihuX2J1ZiwgYnVmLCAwKTsKKyAgICAgICAgZGVzX3htbEVsZW1lbnRQdHIobl9lbGVtLCBlbGVtLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbER1bXBFbGVtZW50RGVjbCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9idWYpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2VsZW0pOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sRHVtcEVsZW1lbnRUYWJsZSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxCdWZmZXJQdHIgYnVmOyAvKiB0aGUgWE1MIGJ1ZmZlciBvdXRwdXQgKi8KKyAgICBpbnQgbl9idWY7CisgICAgeG1sRWxlbWVudFRhYmxlUHRyIHRhYmxlOyAvKiBBbiBlbGVtZW50IHRhYmxlICovCisgICAgaW50IG5fdGFibGU7CisKKyAgICBmb3IgKG5fYnVmID0gMDtuX2J1ZiA8IGdlbl9uYl94bWxCdWZmZXJQdHI7bl9idWYrKykgeworICAgIGZvciAobl90YWJsZSA9IDA7bl90YWJsZSA8IGdlbl9uYl94bWxFbGVtZW50VGFibGVQdHI7bl90YWJsZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGJ1ZiA9IGdlbl94bWxCdWZmZXJQdHIobl9idWYsIDApOworICAgICAgICB0YWJsZSA9IGdlbl94bWxFbGVtZW50VGFibGVQdHIobl90YWJsZSwgMSk7CisKKyAgICAgICAgeG1sRHVtcEVsZW1lbnRUYWJsZShidWYsIHRhYmxlKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sQnVmZmVyUHRyKG5fYnVmLCBidWYsIDApOworICAgICAgICBkZXNfeG1sRWxlbWVudFRhYmxlUHRyKG5fdGFibGUsIHRhYmxlLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbER1bXBFbGVtZW50VGFibGUiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fYnVmKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl90YWJsZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworI2RlZmluZSBnZW5fbmJfeG1sTm90YXRpb25QdHIgMQorc3RhdGljIHhtbE5vdGF0aW9uUHRyIGdlbl94bWxOb3RhdGlvblB0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICByZXR1cm4oTlVMTCk7Cit9CitzdGF0aWMgdm9pZCBkZXNfeG1sTm90YXRpb25QdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIHhtbE5vdGF0aW9uUHRyIHZhbCBBVFRSSUJVVEVfVU5VU0VELCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworfQorCitzdGF0aWMgaW50Cit0ZXN0X3htbER1bXBOb3RhdGlvbkRlY2wodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sQnVmZmVyUHRyIGJ1ZjsgLyogdGhlIFhNTCBidWZmZXIgb3V0cHV0ICovCisgICAgaW50IG5fYnVmOworICAgIHhtbE5vdGF0aW9uUHRyIG5vdGE7IC8qIEEgbm90YXRpb24gZGVjbGFyYXRpb24gKi8KKyAgICBpbnQgbl9ub3RhOworCisgICAgZm9yIChuX2J1ZiA9IDA7bl9idWYgPCBnZW5fbmJfeG1sQnVmZmVyUHRyO25fYnVmKyspIHsKKyAgICBmb3IgKG5fbm90YSA9IDA7bl9ub3RhIDwgZ2VuX25iX3htbE5vdGF0aW9uUHRyO25fbm90YSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGJ1ZiA9IGdlbl94bWxCdWZmZXJQdHIobl9idWYsIDApOworICAgICAgICBub3RhID0gZ2VuX3htbE5vdGF0aW9uUHRyKG5fbm90YSwgMSk7CisKKyAgICAgICAgeG1sRHVtcE5vdGF0aW9uRGVjbChidWYsIG5vdGEpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxCdWZmZXJQdHIobl9idWYsIGJ1ZiwgMCk7CisgICAgICAgIGRlc194bWxOb3RhdGlvblB0cihuX25vdGEsIG5vdGEsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sRHVtcE5vdGF0aW9uRGVjbCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9idWYpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25vdGEpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sRHVtcE5vdGF0aW9uVGFibGUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sQnVmZmVyUHRyIGJ1ZjsgLyogdGhlIFhNTCBidWZmZXIgb3V0cHV0ICovCisgICAgaW50IG5fYnVmOworICAgIHhtbE5vdGF0aW9uVGFibGVQdHIgdGFibGU7IC8qIEEgbm90YXRpb24gdGFibGUgKi8KKyAgICBpbnQgbl90YWJsZTsKKworICAgIGZvciAobl9idWYgPSAwO25fYnVmIDwgZ2VuX25iX3htbEJ1ZmZlclB0cjtuX2J1ZisrKSB7CisgICAgZm9yIChuX3RhYmxlID0gMDtuX3RhYmxlIDwgZ2VuX25iX3htbE5vdGF0aW9uVGFibGVQdHI7bl90YWJsZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGJ1ZiA9IGdlbl94bWxCdWZmZXJQdHIobl9idWYsIDApOworICAgICAgICB0YWJsZSA9IGdlbl94bWxOb3RhdGlvblRhYmxlUHRyKG5fdGFibGUsIDEpOworCisgICAgICAgIHhtbER1bXBOb3RhdGlvblRhYmxlKGJ1ZiwgdGFibGUpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxCdWZmZXJQdHIobl9idWYsIGJ1ZiwgMCk7CisgICAgICAgIGRlc194bWxOb3RhdGlvblRhYmxlUHRyKG5fdGFibGUsIHRhYmxlLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbER1bXBOb3RhdGlvblRhYmxlIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2J1Zik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdGFibGUpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sR2V0RHRkQXR0ckRlc2Modm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sQXR0cmlidXRlUHRyIHJldF92YWw7CisgICAgeG1sRHRkUHRyIGR0ZDsgLyogYSBwb2ludGVyIHRvIHRoZSBEdEQgdG8gc2VhcmNoICovCisgICAgaW50IG5fZHRkOworICAgIHhtbENoYXIgKiBlbGVtOyAvKiB0aGUgZWxlbWVudCBuYW1lICovCisgICAgaW50IG5fZWxlbTsKKyAgICB4bWxDaGFyICogbmFtZTsgLyogdGhlIGF0dHJpYnV0ZSBuYW1lICovCisgICAgaW50IG5fbmFtZTsKKworICAgIGZvciAobl9kdGQgPSAwO25fZHRkIDwgZ2VuX25iX3htbER0ZFB0cjtuX2R0ZCsrKSB7CisgICAgZm9yIChuX2VsZW0gPSAwO25fZWxlbSA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX2VsZW0rKykgeworICAgIGZvciAobl9uYW1lID0gMDtuX25hbWUgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9uYW1lKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgZHRkID0gZ2VuX3htbER0ZFB0cihuX2R0ZCwgMCk7CisgICAgICAgIGVsZW0gPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9lbGVtLCAxKTsKKyAgICAgICAgbmFtZSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIDIpOworCisgICAgICAgIHJldF92YWwgPSB4bWxHZXREdGRBdHRyRGVzYyhkdGQsIChjb25zdCB4bWxDaGFyICopZWxlbSwgKGNvbnN0IHhtbENoYXIgKiluYW1lKTsKKyAgICAgICAgZGVzcmV0X3htbEF0dHJpYnV0ZVB0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sRHRkUHRyKG5fZHRkLCBkdGQsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9lbGVtLCAoY29uc3QgeG1sQ2hhciAqKWVsZW0sIDEpOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUsIDIpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sR2V0RHRkQXR0ckRlc2MiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZHRkKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9lbGVtKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9uYW1lKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sR2V0RHRkRWxlbWVudERlc2Modm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sRWxlbWVudFB0ciByZXRfdmFsOworICAgIHhtbER0ZFB0ciBkdGQ7IC8qIGEgcG9pbnRlciB0byB0aGUgRHREIHRvIHNlYXJjaCAqLworICAgIGludCBuX2R0ZDsKKyAgICB4bWxDaGFyICogbmFtZTsgLyogdGhlIGVsZW1lbnQgbmFtZSAqLworICAgIGludCBuX25hbWU7CisKKyAgICBmb3IgKG5fZHRkID0gMDtuX2R0ZCA8IGdlbl9uYl94bWxEdGRQdHI7bl9kdGQrKykgeworICAgIGZvciAobl9uYW1lID0gMDtuX25hbWUgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9uYW1lKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgZHRkID0gZ2VuX3htbER0ZFB0cihuX2R0ZCwgMCk7CisgICAgICAgIG5hbWUgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sR2V0RHRkRWxlbWVudERlc2MoZHRkLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUpOworICAgICAgICBkZXNyZXRfeG1sRWxlbWVudFB0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sRHRkUHRyKG5fZHRkLCBkdGQsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sR2V0RHRkRWxlbWVudERlc2MiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZHRkKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9uYW1lKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxHZXREdGROb3RhdGlvbkRlc2Modm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworICAgIC8qIG1pc3NpbmcgdHlwZSBzdXBwb3J0ICovCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbEdldER0ZFFBdHRyRGVzYyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxBdHRyaWJ1dGVQdHIgcmV0X3ZhbDsKKyAgICB4bWxEdGRQdHIgZHRkOyAvKiBhIHBvaW50ZXIgdG8gdGhlIER0RCB0byBzZWFyY2ggKi8KKyAgICBpbnQgbl9kdGQ7CisgICAgeG1sQ2hhciAqIGVsZW07IC8qIHRoZSBlbGVtZW50IG5hbWUgKi8KKyAgICBpbnQgbl9lbGVtOworICAgIHhtbENoYXIgKiBuYW1lOyAvKiB0aGUgYXR0cmlidXRlIG5hbWUgKi8KKyAgICBpbnQgbl9uYW1lOworICAgIHhtbENoYXIgKiBwcmVmaXg7IC8qIHRoZSBhdHRyaWJ1dGUgbmFtZXNwYWNlIHByZWZpeCAqLworICAgIGludCBuX3ByZWZpeDsKKworICAgIGZvciAobl9kdGQgPSAwO25fZHRkIDwgZ2VuX25iX3htbER0ZFB0cjtuX2R0ZCsrKSB7CisgICAgZm9yIChuX2VsZW0gPSAwO25fZWxlbSA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX2VsZW0rKykgeworICAgIGZvciAobl9uYW1lID0gMDtuX25hbWUgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9uYW1lKyspIHsKKyAgICBmb3IgKG5fcHJlZml4ID0gMDtuX3ByZWZpeCA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX3ByZWZpeCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGR0ZCA9IGdlbl94bWxEdGRQdHIobl9kdGQsIDApOworICAgICAgICBlbGVtID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fZWxlbSwgMSk7CisgICAgICAgIG5hbWUgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAyKTsKKyAgICAgICAgcHJlZml4ID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fcHJlZml4LCAzKTsKKworICAgICAgICByZXRfdmFsID0geG1sR2V0RHRkUUF0dHJEZXNjKGR0ZCwgKGNvbnN0IHhtbENoYXIgKillbGVtLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUsIChjb25zdCB4bWxDaGFyICopcHJlZml4KTsKKyAgICAgICAgZGVzcmV0X3htbEF0dHJpYnV0ZVB0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sRHRkUHRyKG5fZHRkLCBkdGQsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9lbGVtLCAoY29uc3QgeG1sQ2hhciAqKWVsZW0sIDEpOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUsIDIpOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9wcmVmaXgsIChjb25zdCB4bWxDaGFyICopcHJlZml4LCAzKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbEdldER0ZFFBdHRyRGVzYyIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9kdGQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2VsZW0pOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25hbWUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3ByZWZpeCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxHZXREdGRRRWxlbWVudERlc2Modm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sRWxlbWVudFB0ciByZXRfdmFsOworICAgIHhtbER0ZFB0ciBkdGQ7IC8qIGEgcG9pbnRlciB0byB0aGUgRHREIHRvIHNlYXJjaCAqLworICAgIGludCBuX2R0ZDsKKyAgICB4bWxDaGFyICogbmFtZTsgLyogdGhlIGVsZW1lbnQgbmFtZSAqLworICAgIGludCBuX25hbWU7CisgICAgeG1sQ2hhciAqIHByZWZpeDsgLyogdGhlIGVsZW1lbnQgbmFtZXNwYWNlIHByZWZpeCAqLworICAgIGludCBuX3ByZWZpeDsKKworICAgIGZvciAobl9kdGQgPSAwO25fZHRkIDwgZ2VuX25iX3htbER0ZFB0cjtuX2R0ZCsrKSB7CisgICAgZm9yIChuX25hbWUgPSAwO25fbmFtZSA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX25hbWUrKykgeworICAgIGZvciAobl9wcmVmaXggPSAwO25fcHJlZml4IDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fcHJlZml4KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgZHRkID0gZ2VuX3htbER0ZFB0cihuX2R0ZCwgMCk7CisgICAgICAgIG5hbWUgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAxKTsKKyAgICAgICAgcHJlZml4ID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fcHJlZml4LCAyKTsKKworICAgICAgICByZXRfdmFsID0geG1sR2V0RHRkUUVsZW1lbnREZXNjKGR0ZCwgKGNvbnN0IHhtbENoYXIgKiluYW1lLCAoY29uc3QgeG1sQ2hhciAqKXByZWZpeCk7CisgICAgICAgIGRlc3JldF94bWxFbGVtZW50UHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxEdGRQdHIobl9kdGQsIGR0ZCwgMCk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIChjb25zdCB4bWxDaGFyICopbmFtZSwgMSk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX3ByZWZpeCwgKGNvbnN0IHhtbENoYXIgKilwcmVmaXgsIDIpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sR2V0RHRkUUVsZW1lbnREZXNjIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2R0ZCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFtZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fcHJlZml4KTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sR2V0SUQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sQXR0clB0ciByZXRfdmFsOworICAgIHhtbERvY1B0ciBkb2M7IC8qIHBvaW50ZXIgdG8gdGhlIGRvY3VtZW50ICovCisgICAgaW50IG5fZG9jOworICAgIHhtbENoYXIgKiBJRDsgLyogdGhlIElEIHZhbHVlICovCisgICAgaW50IG5fSUQ7CisKKyAgICBmb3IgKG5fZG9jID0gMDtuX2RvYyA8IGdlbl9uYl94bWxEb2NQdHI7bl9kb2MrKykgeworICAgIGZvciAobl9JRCA9IDA7bl9JRCA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX0lEKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgZG9jID0gZ2VuX3htbERvY1B0cihuX2RvYywgMCk7CisgICAgICAgIElEID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fSUQsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxHZXRJRChkb2MsIChjb25zdCB4bWxDaGFyICopSUQpOworICAgICAgICBkZXNyZXRfeG1sQXR0clB0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sRG9jUHRyKG5fZG9jLCBkb2MsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9JRCwgKGNvbnN0IHhtbENoYXIgKilJRCwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxHZXRJRCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9kb2MpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX0lEKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxHZXRSZWZzKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisKKyAgICAvKiBtaXNzaW5nIHR5cGUgc3VwcG9ydCAqLworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxJc0lEKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbERvY1B0ciBkb2M7IC8qIHRoZSBkb2N1bWVudCAqLworICAgIGludCBuX2RvYzsKKyAgICB4bWxOb2RlUHRyIGVsZW07IC8qIHRoZSBlbGVtZW50IGNhcnJ5aW5nIHRoZSBhdHRyaWJ1dGUgKi8KKyAgICBpbnQgbl9lbGVtOworICAgIHhtbEF0dHJQdHIgYXR0cjsgLyogdGhlIGF0dHJpYnV0ZSAqLworICAgIGludCBuX2F0dHI7CisKKyAgICBmb3IgKG5fZG9jID0gMDtuX2RvYyA8IGdlbl9uYl94bWxEb2NQdHI7bl9kb2MrKykgeworICAgIGZvciAobl9lbGVtID0gMDtuX2VsZW0gPCBnZW5fbmJfeG1sTm9kZVB0cjtuX2VsZW0rKykgeworICAgIGZvciAobl9hdHRyID0gMDtuX2F0dHIgPCBnZW5fbmJfeG1sQXR0clB0cjtuX2F0dHIrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBkb2MgPSBnZW5feG1sRG9jUHRyKG5fZG9jLCAwKTsKKyAgICAgICAgZWxlbSA9IGdlbl94bWxOb2RlUHRyKG5fZWxlbSwgMSk7CisgICAgICAgIGF0dHIgPSBnZW5feG1sQXR0clB0cihuX2F0dHIsIDIpOworCisgICAgICAgIHJldF92YWwgPSB4bWxJc0lEKGRvYywgZWxlbSwgYXR0cik7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbERvY1B0cihuX2RvYywgZG9jLCAwKTsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl9lbGVtLCBlbGVtLCAxKTsKKyAgICAgICAgZGVzX3htbEF0dHJQdHIobl9hdHRyLCBhdHRyLCAyKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbElzSUQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZG9jKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9lbGVtKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9hdHRyKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sSXNNaXhlZEVsZW1lbnQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sRG9jUHRyIGRvYzsgLyogdGhlIGRvY3VtZW50ICovCisgICAgaW50IG5fZG9jOworICAgIHhtbENoYXIgKiBuYW1lOyAvKiB0aGUgZWxlbWVudCBuYW1lICovCisgICAgaW50IG5fbmFtZTsKKworICAgIGZvciAobl9kb2MgPSAwO25fZG9jIDwgZ2VuX25iX3htbERvY1B0cjtuX2RvYysrKSB7CisgICAgZm9yIChuX25hbWUgPSAwO25fbmFtZSA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX25hbWUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBkb2MgPSBnZW5feG1sRG9jUHRyKG5fZG9jLCAwKTsKKyAgICAgICAgbmFtZSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxJc01peGVkRWxlbWVudChkb2MsIChjb25zdCB4bWxDaGFyICopbmFtZSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbERvY1B0cihuX2RvYywgZG9jLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgKGNvbnN0IHhtbENoYXIgKiluYW1lLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbElzTWl4ZWRFbGVtZW50IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2RvYyk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFtZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sSXNSZWYodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sRG9jUHRyIGRvYzsgLyogdGhlIGRvY3VtZW50ICovCisgICAgaW50IG5fZG9jOworICAgIHhtbE5vZGVQdHIgZWxlbTsgLyogdGhlIGVsZW1lbnQgY2FycnlpbmcgdGhlIGF0dHJpYnV0ZSAqLworICAgIGludCBuX2VsZW07CisgICAgeG1sQXR0clB0ciBhdHRyOyAvKiB0aGUgYXR0cmlidXRlICovCisgICAgaW50IG5fYXR0cjsKKworICAgIGZvciAobl9kb2MgPSAwO25fZG9jIDwgZ2VuX25iX3htbERvY1B0cjtuX2RvYysrKSB7CisgICAgZm9yIChuX2VsZW0gPSAwO25fZWxlbSA8IGdlbl9uYl94bWxOb2RlUHRyO25fZWxlbSsrKSB7CisgICAgZm9yIChuX2F0dHIgPSAwO25fYXR0ciA8IGdlbl9uYl94bWxBdHRyUHRyO25fYXR0cisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGRvYyA9IGdlbl94bWxEb2NQdHIobl9kb2MsIDApOworICAgICAgICBlbGVtID0gZ2VuX3htbE5vZGVQdHIobl9lbGVtLCAxKTsKKyAgICAgICAgYXR0ciA9IGdlbl94bWxBdHRyUHRyKG5fYXR0ciwgMik7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbElzUmVmKGRvYywgZWxlbSwgYXR0cik7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbERvY1B0cihuX2RvYywgZG9jLCAwKTsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl9lbGVtLCBlbGVtLCAxKTsKKyAgICAgICAgZGVzX3htbEF0dHJQdHIobl9hdHRyLCBhdHRyLCAyKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbElzUmVmIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2RvYyk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZWxlbSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fYXR0cik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbE5ld0RvY0VsZW1lbnRDb250ZW50KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbEVsZW1lbnRDb250ZW50UHRyIHJldF92YWw7CisgICAgeG1sRG9jUHRyIGRvYzsgLyogdGhlIGRvY3VtZW50ICovCisgICAgaW50IG5fZG9jOworICAgIHhtbENoYXIgKiBuYW1lOyAvKiB0aGUgc3ViZWxlbWVudCBuYW1lIG9yIE5VTEwgKi8KKyAgICBpbnQgbl9uYW1lOworICAgIHhtbEVsZW1lbnRDb250ZW50VHlwZSB0eXBlOyAvKiB0aGUgdHlwZSBvZiBlbGVtZW50IGNvbnRlbnQgZGVjbCAqLworICAgIGludCBuX3R5cGU7CisKKyAgICBmb3IgKG5fZG9jID0gMDtuX2RvYyA8IGdlbl9uYl94bWxEb2NQdHI7bl9kb2MrKykgeworICAgIGZvciAobl9uYW1lID0gMDtuX25hbWUgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9uYW1lKyspIHsKKyAgICBmb3IgKG5fdHlwZSA9IDA7bl90eXBlIDwgZ2VuX25iX3htbEVsZW1lbnRDb250ZW50VHlwZTtuX3R5cGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBkb2MgPSBnZW5feG1sRG9jUHRyKG5fZG9jLCAwKTsKKyAgICAgICAgbmFtZSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIDEpOworICAgICAgICB0eXBlID0gZ2VuX3htbEVsZW1lbnRDb250ZW50VHlwZShuX3R5cGUsIDIpOworCisgICAgICAgIHJldF92YWwgPSB4bWxOZXdEb2NFbGVtZW50Q29udGVudChkb2MsIChjb25zdCB4bWxDaGFyICopbmFtZSwgdHlwZSk7CisgICAgICAgIHhtbEZyZWVEb2NFbGVtZW50Q29udGVudChkb2MsIHJldF92YWwpOyByZXRfdmFsID0gTlVMTDsKKyAgICAgICAgZGVzcmV0X3htbEVsZW1lbnRDb250ZW50UHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxEb2NQdHIobl9kb2MsIGRvYywgMCk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIChjb25zdCB4bWxDaGFyICopbmFtZSwgMSk7CisgICAgICAgIGRlc194bWxFbGVtZW50Q29udGVudFR5cGUobl90eXBlLCB0eXBlLCAyKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbE5ld0RvY0VsZW1lbnRDb250ZW50IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2RvYyk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFtZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdHlwZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbE5ld0VsZW1lbnRDb250ZW50KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbEVsZW1lbnRDb250ZW50UHRyIHJldF92YWw7CisgICAgeG1sQ2hhciAqIG5hbWU7IC8qIHRoZSBzdWJlbGVtZW50IG5hbWUgb3IgTlVMTCAqLworICAgIGludCBuX25hbWU7CisgICAgeG1sRWxlbWVudENvbnRlbnRUeXBlIHR5cGU7IC8qIHRoZSB0eXBlIG9mIGVsZW1lbnQgY29udGVudCBkZWNsICovCisgICAgaW50IG5fdHlwZTsKKworICAgIGZvciAobl9uYW1lID0gMDtuX25hbWUgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9uYW1lKyspIHsKKyAgICBmb3IgKG5fdHlwZSA9IDA7bl90eXBlIDwgZ2VuX25iX3htbEVsZW1lbnRDb250ZW50VHlwZTtuX3R5cGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBuYW1lID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgMCk7CisgICAgICAgIHR5cGUgPSBnZW5feG1sRWxlbWVudENvbnRlbnRUeXBlKG5fdHlwZSwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbE5ld0VsZW1lbnRDb250ZW50KChjb25zdCB4bWxDaGFyICopbmFtZSwgdHlwZSk7CisgICAgICAgIGRlc3JldF94bWxFbGVtZW50Q29udGVudFB0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUsIDApOworICAgICAgICBkZXNfeG1sRWxlbWVudENvbnRlbnRUeXBlKG5fdHlwZSwgdHlwZSwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxOZXdFbGVtZW50Q29udGVudCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9uYW1lKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl90eXBlKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxOZXdWYWxpZEN0eHQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworICAgIC8qIG1pc3NpbmcgdHlwZSBzdXBwb3J0ICovCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFJlbW92ZUlEKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbERvY1B0ciBkb2M7IC8qIHRoZSBkb2N1bWVudCAqLworICAgIGludCBuX2RvYzsKKyAgICB4bWxBdHRyUHRyIGF0dHI7IC8qIHRoZSBhdHRyaWJ1dGUgKi8KKyAgICBpbnQgbl9hdHRyOworCisgICAgZm9yIChuX2RvYyA9IDA7bl9kb2MgPCBnZW5fbmJfeG1sRG9jUHRyO25fZG9jKyspIHsKKyAgICBmb3IgKG5fYXR0ciA9IDA7bl9hdHRyIDwgZ2VuX25iX3htbEF0dHJQdHI7bl9hdHRyKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgZG9jID0gZ2VuX3htbERvY1B0cihuX2RvYywgMCk7CisgICAgICAgIGF0dHIgPSBnZW5feG1sQXR0clB0cihuX2F0dHIsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxSZW1vdmVJRChkb2MsIGF0dHIpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxEb2NQdHIobl9kb2MsIGRvYywgMCk7CisgICAgICAgIGRlc194bWxBdHRyUHRyKG5fYXR0ciwgYXR0ciwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxSZW1vdmVJRCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9kb2MpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2F0dHIpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFJlbW92ZVJlZih2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxEb2NQdHIgZG9jOyAvKiB0aGUgZG9jdW1lbnQgKi8KKyAgICBpbnQgbl9kb2M7CisgICAgeG1sQXR0clB0ciBhdHRyOyAvKiB0aGUgYXR0cmlidXRlICovCisgICAgaW50IG5fYXR0cjsKKworICAgIGZvciAobl9kb2MgPSAwO25fZG9jIDwgZ2VuX25iX3htbERvY1B0cjtuX2RvYysrKSB7CisgICAgZm9yIChuX2F0dHIgPSAwO25fYXR0ciA8IGdlbl9uYl94bWxBdHRyUHRyO25fYXR0cisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGRvYyA9IGdlbl94bWxEb2NQdHIobl9kb2MsIDApOworICAgICAgICBhdHRyID0gZ2VuX3htbEF0dHJQdHIobl9hdHRyLCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sUmVtb3ZlUmVmKGRvYywgYXR0cik7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbERvY1B0cihuX2RvYywgZG9jLCAwKTsKKyAgICAgICAgZGVzX3htbEF0dHJQdHIobl9hdHRyLCBhdHRyLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFJlbW92ZVJlZiIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9kb2MpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2F0dHIpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFNucHJpbnRmRWxlbWVudENvbnRlbnQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgY2hhciAqIGJ1ZjsgLyogYW4gb3V0cHV0IGJ1ZmZlciAqLworICAgIGludCBuX2J1ZjsKKyAgICBpbnQgc2l6ZTsgLyogdGhlIGJ1ZmZlciBzaXplICovCisgICAgaW50IG5fc2l6ZTsKKyAgICB4bWxFbGVtZW50Q29udGVudFB0ciBjb250ZW50OyAvKiBBbiBlbGVtZW50IHRhYmxlICovCisgICAgaW50IG5fY29udGVudDsKKyAgICBpbnQgZW5nbG9iOyAvKiAxIGlmIG9uZSBtdXN0IHByaW50IHRoZSBlbmdsb2JpbmcgcGFyZW50aGVzaXMsIDAgb3RoZXJ3aXNlICovCisgICAgaW50IG5fZW5nbG9iOworCisgICAgZm9yIChuX2J1ZiA9IDA7bl9idWYgPCBnZW5fbmJfY2hhcl9wdHI7bl9idWYrKykgeworICAgIGZvciAobl9zaXplID0gMDtuX3NpemUgPCBnZW5fbmJfaW50O25fc2l6ZSsrKSB7CisgICAgZm9yIChuX2NvbnRlbnQgPSAwO25fY29udGVudCA8IGdlbl9uYl94bWxFbGVtZW50Q29udGVudFB0cjtuX2NvbnRlbnQrKykgeworICAgIGZvciAobl9lbmdsb2IgPSAwO25fZW5nbG9iIDwgZ2VuX25iX2ludDtuX2VuZ2xvYisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGJ1ZiA9IGdlbl9jaGFyX3B0cihuX2J1ZiwgMCk7CisgICAgICAgIHNpemUgPSBnZW5faW50KG5fc2l6ZSwgMSk7CisgICAgICAgIGNvbnRlbnQgPSBnZW5feG1sRWxlbWVudENvbnRlbnRQdHIobl9jb250ZW50LCAyKTsKKyAgICAgICAgZW5nbG9iID0gZ2VuX2ludChuX2VuZ2xvYiwgMyk7CisKKyAgICAgICAgeG1sU25wcmludGZFbGVtZW50Q29udGVudChidWYsIHNpemUsIGNvbnRlbnQsIGVuZ2xvYik7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2NoYXJfcHRyKG5fYnVmLCBidWYsIDApOworICAgICAgICBkZXNfaW50KG5fc2l6ZSwgc2l6ZSwgMSk7CisgICAgICAgIGRlc194bWxFbGVtZW50Q29udGVudFB0cihuX2NvbnRlbnQsIGNvbnRlbnQsIDIpOworICAgICAgICBkZXNfaW50KG5fZW5nbG9iLCBlbmdsb2IsIDMpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sU25wcmludGZFbGVtZW50Q29udGVudCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9idWYpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3NpemUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2NvbnRlbnQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2VuZ2xvYik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxTcHJpbnRmRWxlbWVudENvbnRlbnQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKKyNpZmRlZiBMSUJYTUxfT1VUUFVUX0VOQUJMRUQKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgY2hhciAqIGJ1ZjsgLyogYW4gb3V0cHV0IGJ1ZmZlciAqLworICAgIGludCBuX2J1ZjsKKyAgICB4bWxFbGVtZW50Q29udGVudFB0ciBjb250ZW50OyAvKiBBbiBlbGVtZW50IHRhYmxlICovCisgICAgaW50IG5fY29udGVudDsKKyAgICBpbnQgZW5nbG9iOyAvKiAxIGlmIG9uZSBtdXN0IHByaW50IHRoZSBlbmdsb2JpbmcgcGFyZW50aGVzaXMsIDAgb3RoZXJ3aXNlICovCisgICAgaW50IG5fZW5nbG9iOworCisgICAgZm9yIChuX2J1ZiA9IDA7bl9idWYgPCBnZW5fbmJfY2hhcl9wdHI7bl9idWYrKykgeworICAgIGZvciAobl9jb250ZW50ID0gMDtuX2NvbnRlbnQgPCBnZW5fbmJfeG1sRWxlbWVudENvbnRlbnRQdHI7bl9jb250ZW50KyspIHsKKyAgICBmb3IgKG5fZW5nbG9iID0gMDtuX2VuZ2xvYiA8IGdlbl9uYl9pbnQ7bl9lbmdsb2IrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBidWYgPSBnZW5fY2hhcl9wdHIobl9idWYsIDApOworICAgICAgICBjb250ZW50ID0gZ2VuX3htbEVsZW1lbnRDb250ZW50UHRyKG5fY29udGVudCwgMSk7CisgICAgICAgIGVuZ2xvYiA9IGdlbl9pbnQobl9lbmdsb2IsIDIpOworCisgICAgICAgIHhtbFNwcmludGZFbGVtZW50Q29udGVudChidWYsIGNvbnRlbnQsIGVuZ2xvYik7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2NoYXJfcHRyKG5fYnVmLCBidWYsIDApOworICAgICAgICBkZXNfeG1sRWxlbWVudENvbnRlbnRQdHIobl9jb250ZW50LCBjb250ZW50LCAxKTsKKyAgICAgICAgZGVzX2ludChuX2VuZ2xvYiwgZW5nbG9iLCAyKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFNwcmludGZFbGVtZW50Q29udGVudCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9idWYpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2NvbnRlbnQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2VuZ2xvYik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxWYWxpZEJ1aWxkQ29udGVudE1vZGVsKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfVkFMSURfRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfUkVHRVhQX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbFZhbGlkQ3R4dFB0ciBjdHh0OyAvKiBhIHZhbGlkYXRpb24gY29udGV4dCAqLworICAgIGludCBuX2N0eHQ7CisgICAgeG1sRWxlbWVudFB0ciBlbGVtOyAvKiBhbiBlbGVtZW50IGRlY2xhcmF0aW9uIG5vZGUgKi8KKyAgICBpbnQgbl9lbGVtOworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxWYWxpZEN0eHRQdHI7bl9jdHh0KyspIHsKKyAgICBmb3IgKG5fZWxlbSA9IDA7bl9lbGVtIDwgZ2VuX25iX3htbEVsZW1lbnRQdHI7bl9lbGVtKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4dCA9IGdlbl94bWxWYWxpZEN0eHRQdHIobl9jdHh0LCAwKTsKKyAgICAgICAgZWxlbSA9IGdlbl94bWxFbGVtZW50UHRyKG5fZWxlbSwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFZhbGlkQnVpbGRDb250ZW50TW9kZWwoY3R4dCwgZWxlbSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFZhbGlkQ3R4dFB0cihuX2N0eHQsIGN0eHQsIDApOworICAgICAgICBkZXNfeG1sRWxlbWVudFB0cihuX2VsZW0sIGVsZW0sIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVmFsaWRCdWlsZENvbnRlbnRNb2RlbCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHh0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9lbGVtKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFZhbGlkQ3R4dE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfVkFMSURfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sQ2hhciAqIHJldF92YWw7CisgICAgeG1sVmFsaWRDdHh0UHRyIGN0eHQ7IC8qIHRoZSB2YWxpZGF0aW9uIGNvbnRleHQgb3IgTlVMTCAqLworICAgIGludCBuX2N0eHQ7CisgICAgeG1sRG9jUHRyIGRvYzsgLyogdGhlIGRvY3VtZW50ICovCisgICAgaW50IG5fZG9jOworICAgIHhtbE5vZGVQdHIgZWxlbTsgLyogdGhlIHBhcmVudCAqLworICAgIGludCBuX2VsZW07CisgICAgeG1sQ2hhciAqIG5hbWU7IC8qIHRoZSBhdHRyaWJ1dGUgbmFtZSAqLworICAgIGludCBuX25hbWU7CisgICAgeG1sQ2hhciAqIHZhbHVlOyAvKiB0aGUgYXR0cmlidXRlIHZhbHVlICovCisgICAgaW50IG5fdmFsdWU7CisKKyAgICBmb3IgKG5fY3R4dCA9IDA7bl9jdHh0IDwgZ2VuX25iX3htbFZhbGlkQ3R4dFB0cjtuX2N0eHQrKykgeworICAgIGZvciAobl9kb2MgPSAwO25fZG9jIDwgZ2VuX25iX3htbERvY1B0cjtuX2RvYysrKSB7CisgICAgZm9yIChuX2VsZW0gPSAwO25fZWxlbSA8IGdlbl9uYl94bWxOb2RlUHRyO25fZWxlbSsrKSB7CisgICAgZm9yIChuX25hbWUgPSAwO25fbmFtZSA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX25hbWUrKykgeworICAgIGZvciAobl92YWx1ZSA9IDA7bl92YWx1ZSA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX3ZhbHVlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4dCA9IGdlbl94bWxWYWxpZEN0eHRQdHIobl9jdHh0LCAwKTsKKyAgICAgICAgZG9jID0gZ2VuX3htbERvY1B0cihuX2RvYywgMSk7CisgICAgICAgIGVsZW0gPSBnZW5feG1sTm9kZVB0cihuX2VsZW0sIDIpOworICAgICAgICBuYW1lID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgMyk7CisgICAgICAgIHZhbHVlID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fdmFsdWUsIDQpOworCisgICAgICAgIHJldF92YWwgPSB4bWxWYWxpZEN0eHROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZShjdHh0LCBkb2MsIGVsZW0sIChjb25zdCB4bWxDaGFyICopbmFtZSwgKGNvbnN0IHhtbENoYXIgKil2YWx1ZSk7CisgICAgICAgIGRlc3JldF94bWxDaGFyX3B0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sVmFsaWRDdHh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIGRlc194bWxEb2NQdHIobl9kb2MsIGRvYywgMSk7CisgICAgICAgIGRlc194bWxOb2RlUHRyKG5fZWxlbSwgZWxlbSwgMik7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIChjb25zdCB4bWxDaGFyICopbmFtZSwgMyk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX3ZhbHVlLCAoY29uc3QgeG1sQ2hhciAqKXZhbHVlLCA0KTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFZhbGlkQ3R4dE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2RvYyk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZWxlbSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFtZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdmFsdWUpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKKyNkZWZpbmUgZ2VuX25iX3htbEVsZW1lbnRDb250ZW50X3B0ciAxCitzdGF0aWMgeG1sRWxlbWVudENvbnRlbnQgKiBnZW5feG1sRWxlbWVudENvbnRlbnRfcHRyKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworICAgIHJldHVybihOVUxMKTsKK30KK3N0YXRpYyB2b2lkIGRlc194bWxFbGVtZW50Q29udGVudF9wdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIHhtbEVsZW1lbnRDb250ZW50ICogdmFsIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7Cit9CisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVmFsaWRHZXRQb3RlbnRpYWxDaGlsZHJlbih2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1ZBTElEX0VOQUJMRUQpCisjaWZkZWYgTElCWE1MX1ZBTElEX0VOQUJMRUQKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sRWxlbWVudENvbnRlbnQgKiBjdHJlZTsgLyogYW4gZWxlbWVudCBjb250ZW50IHRyZWUgKi8KKyAgICBpbnQgbl9jdHJlZTsKKyAgICB4bWxDaGFyICoqIG5hbWVzOyAvKiBhbiBhcnJheSB0byBzdG9yZSB0aGUgbGlzdCBvZiBjaGlsZCBuYW1lcyAqLworICAgIGludCBuX25hbWVzOworICAgIGludCAqIGxlbjsgLyogYSBwb2ludGVyIHRvIHRoZSBudW1iZXIgb2YgZWxlbWVudCBpbiB0aGUgbGlzdCAqLworICAgIGludCBuX2xlbjsKKyAgICBpbnQgbWF4OyAvKiB0aGUgc2l6ZSBvZiB0aGUgYXJyYXkgKi8KKyAgICBpbnQgbl9tYXg7CisKKyAgICBmb3IgKG5fY3RyZWUgPSAwO25fY3RyZWUgPCBnZW5fbmJfeG1sRWxlbWVudENvbnRlbnRfcHRyO25fY3RyZWUrKykgeworICAgIGZvciAobl9uYW1lcyA9IDA7bl9uYW1lcyA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cl9wdHI7bl9uYW1lcysrKSB7CisgICAgZm9yIChuX2xlbiA9IDA7bl9sZW4gPCBnZW5fbmJfaW50X3B0cjtuX2xlbisrKSB7CisgICAgZm9yIChuX21heCA9IDA7bl9tYXggPCBnZW5fbmJfaW50O25fbWF4KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3RyZWUgPSBnZW5feG1sRWxlbWVudENvbnRlbnRfcHRyKG5fY3RyZWUsIDApOworICAgICAgICBuYW1lcyA9IGdlbl9jb25zdF94bWxDaGFyX3B0cl9wdHIobl9uYW1lcywgMSk7CisgICAgICAgIGxlbiA9IGdlbl9pbnRfcHRyKG5fbGVuLCAyKTsKKyAgICAgICAgbWF4ID0gZ2VuX2ludChuX21heCwgMyk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFZhbGlkR2V0UG90ZW50aWFsQ2hpbGRyZW4oY3RyZWUsIChjb25zdCB4bWxDaGFyICoqKW5hbWVzLCBsZW4sIG1heCk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbEVsZW1lbnRDb250ZW50X3B0cihuX2N0cmVlLCBjdHJlZSwgMCk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cl9wdHIobl9uYW1lcywgKGNvbnN0IHhtbENoYXIgKiopbmFtZXMsIDEpOworICAgICAgICBkZXNfaW50X3B0cihuX2xlbiwgbGVuLCAyKTsKKyAgICAgICAgZGVzX2ludChuX21heCwgbWF4LCAzKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFZhbGlkR2V0UG90ZW50aWFsQ2hpbGRyZW4iLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3RyZWUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25hbWVzKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9sZW4pOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX21heCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfVkFMSURfRU5BQkxFRCkKKyNpZmRlZiBMSUJYTUxfVkFMSURfRU5BQkxFRAorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxOb2RlICogcHJldjsgLyogYW4gZWxlbWVudCB0byBpbnNlcnQgYWZ0ZXIgKi8KKyAgICBpbnQgbl9wcmV2OworICAgIHhtbE5vZGUgKiBuZXh0OyAvKiBhbiBlbGVtZW50IHRvIGluc2VydCBuZXh0ICovCisgICAgaW50IG5fbmV4dDsKKyAgICB4bWxDaGFyICoqIG5hbWVzOyAvKiBhbiBhcnJheSB0byBzdG9yZSB0aGUgbGlzdCBvZiBjaGlsZCBuYW1lcyAqLworICAgIGludCBuX25hbWVzOworICAgIGludCBtYXg7IC8qIHRoZSBzaXplIG9mIHRoZSBhcnJheSAqLworICAgIGludCBuX21heDsKKworICAgIGZvciAobl9wcmV2ID0gMDtuX3ByZXYgPCBnZW5fbmJfeG1sTm9kZVB0cjtuX3ByZXYrKykgeworICAgIGZvciAobl9uZXh0ID0gMDtuX25leHQgPCBnZW5fbmJfeG1sTm9kZVB0cjtuX25leHQrKykgeworICAgIGZvciAobl9uYW1lcyA9IDA7bl9uYW1lcyA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cl9wdHI7bl9uYW1lcysrKSB7CisgICAgZm9yIChuX21heCA9IDA7bl9tYXggPCBnZW5fbmJfaW50O25fbWF4KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgcHJldiA9IGdlbl94bWxOb2RlUHRyKG5fcHJldiwgMCk7CisgICAgICAgIG5leHQgPSBnZW5feG1sTm9kZVB0cihuX25leHQsIDEpOworICAgICAgICBuYW1lcyA9IGdlbl9jb25zdF94bWxDaGFyX3B0cl9wdHIobl9uYW1lcywgMik7CisgICAgICAgIG1heCA9IGdlbl9pbnQobl9tYXgsIDMpOworCisgICAgICAgIHJldF92YWwgPSB4bWxWYWxpZEdldFZhbGlkRWxlbWVudHMocHJldiwgbmV4dCwgKGNvbnN0IHhtbENoYXIgKiopbmFtZXMsIG1heCk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl9wcmV2LCBwcmV2LCAwKTsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl9uZXh0LCBuZXh0LCAxKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyX3B0cihuX25hbWVzLCAoY29uc3QgeG1sQ2hhciAqKiluYW1lcywgMik7CisgICAgICAgIGRlc19pbnQobl9tYXgsIG1heCwgMyk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxWYWxpZEdldFZhbGlkRWxlbWVudHMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fcHJldik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmV4dCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFtZXMpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX21heCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVmFsaWROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1ZBTElEX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbENoYXIgKiByZXRfdmFsOworICAgIHhtbERvY1B0ciBkb2M7IC8qIHRoZSBkb2N1bWVudCAqLworICAgIGludCBuX2RvYzsKKyAgICB4bWxOb2RlUHRyIGVsZW07IC8qIHRoZSBwYXJlbnQgKi8KKyAgICBpbnQgbl9lbGVtOworICAgIHhtbENoYXIgKiBuYW1lOyAvKiB0aGUgYXR0cmlidXRlIG5hbWUgKi8KKyAgICBpbnQgbl9uYW1lOworICAgIHhtbENoYXIgKiB2YWx1ZTsgLyogdGhlIGF0dHJpYnV0ZSB2YWx1ZSAqLworICAgIGludCBuX3ZhbHVlOworCisgICAgZm9yIChuX2RvYyA9IDA7bl9kb2MgPCBnZW5fbmJfeG1sRG9jUHRyO25fZG9jKyspIHsKKyAgICBmb3IgKG5fZWxlbSA9IDA7bl9lbGVtIDwgZ2VuX25iX3htbE5vZGVQdHI7bl9lbGVtKyspIHsKKyAgICBmb3IgKG5fbmFtZSA9IDA7bl9uYW1lIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fbmFtZSsrKSB7CisgICAgZm9yIChuX3ZhbHVlID0gMDtuX3ZhbHVlIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fdmFsdWUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBkb2MgPSBnZW5feG1sRG9jUHRyKG5fZG9jLCAwKTsKKyAgICAgICAgZWxlbSA9IGdlbl94bWxOb2RlUHRyKG5fZWxlbSwgMSk7CisgICAgICAgIG5hbWUgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAyKTsKKyAgICAgICAgdmFsdWUgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl92YWx1ZSwgMyk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFZhbGlkTm9ybWFsaXplQXR0cmlidXRlVmFsdWUoZG9jLCBlbGVtLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUsIChjb25zdCB4bWxDaGFyICopdmFsdWUpOworICAgICAgICBkZXNyZXRfeG1sQ2hhcl9wdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbERvY1B0cihuX2RvYywgZG9jLCAwKTsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl9lbGVtLCBlbGVtLCAxKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgKGNvbnN0IHhtbENoYXIgKiluYW1lLCAyKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fdmFsdWUsIChjb25zdCB4bWxDaGFyICopdmFsdWUsIDMpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVmFsaWROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9kb2MpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2VsZW0pOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25hbWUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3ZhbHVlKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVmFsaWRhdGVBdHRyaWJ1dGVEZWNsKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfVkFMSURfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sVmFsaWRDdHh0UHRyIGN0eHQ7IC8qIHRoZSB2YWxpZGF0aW9uIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHh0OworICAgIHhtbERvY1B0ciBkb2M7IC8qIGEgZG9jdW1lbnQgaW5zdGFuY2UgKi8KKyAgICBpbnQgbl9kb2M7CisgICAgeG1sQXR0cmlidXRlUHRyIGF0dHI7IC8qIGFuIGF0dHJpYnV0ZSBkZWZpbml0aW9uICovCisgICAgaW50IG5fYXR0cjsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfeG1sVmFsaWRDdHh0UHRyO25fY3R4dCsrKSB7CisgICAgZm9yIChuX2RvYyA9IDA7bl9kb2MgPCBnZW5fbmJfeG1sRG9jUHRyO25fZG9jKyspIHsKKyAgICBmb3IgKG5fYXR0ciA9IDA7bl9hdHRyIDwgZ2VuX25iX3htbEF0dHJpYnV0ZVB0cjtuX2F0dHIrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX3htbFZhbGlkQ3R4dFB0cihuX2N0eHQsIDApOworICAgICAgICBkb2MgPSBnZW5feG1sRG9jUHRyKG5fZG9jLCAxKTsKKyAgICAgICAgYXR0ciA9IGdlbl94bWxBdHRyaWJ1dGVQdHIobl9hdHRyLCAyKTsKKworICAgICAgICByZXRfdmFsID0geG1sVmFsaWRhdGVBdHRyaWJ1dGVEZWNsKGN0eHQsIGRvYywgYXR0cik7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFZhbGlkQ3R4dFB0cihuX2N0eHQsIGN0eHQsIDApOworICAgICAgICBkZXNfeG1sRG9jUHRyKG5fZG9jLCBkb2MsIDEpOworICAgICAgICBkZXNfeG1sQXR0cmlidXRlUHRyKG5fYXR0ciwgYXR0ciwgMik7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxWYWxpZGF0ZUF0dHJpYnV0ZURlY2wiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZG9jKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9hdHRyKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxWYWxpZGF0ZUF0dHJpYnV0ZVZhbHVlKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfVkFMSURfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sQXR0cmlidXRlVHlwZSB0eXBlOyAvKiBhbiBhdHRyaWJ1dGUgdHlwZSAqLworICAgIGludCBuX3R5cGU7CisgICAgeG1sQ2hhciAqIHZhbHVlOyAvKiBhbiBhdHRyaWJ1dGUgdmFsdWUgKi8KKyAgICBpbnQgbl92YWx1ZTsKKworICAgIGZvciAobl90eXBlID0gMDtuX3R5cGUgPCBnZW5fbmJfeG1sQXR0cmlidXRlVHlwZTtuX3R5cGUrKykgeworICAgIGZvciAobl92YWx1ZSA9IDA7bl92YWx1ZSA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX3ZhbHVlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgdHlwZSA9IGdlbl94bWxBdHRyaWJ1dGVUeXBlKG5fdHlwZSwgMCk7CisgICAgICAgIHZhbHVlID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fdmFsdWUsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxWYWxpZGF0ZUF0dHJpYnV0ZVZhbHVlKHR5cGUsIChjb25zdCB4bWxDaGFyICopdmFsdWUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxBdHRyaWJ1dGVUeXBlKG5fdHlwZSwgdHlwZSwgMCk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX3ZhbHVlLCAoY29uc3QgeG1sQ2hhciAqKXZhbHVlLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFZhbGlkYXRlQXR0cmlidXRlVmFsdWUiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdHlwZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdmFsdWUpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVmFsaWRhdGVEb2N1bWVudCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1ZBTElEX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbFZhbGlkQ3R4dFB0ciBjdHh0OyAvKiB0aGUgdmFsaWRhdGlvbiBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKyAgICB4bWxEb2NQdHIgZG9jOyAvKiBhIGRvY3VtZW50IGluc3RhbmNlICovCisgICAgaW50IG5fZG9jOworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxWYWxpZEN0eHRQdHI7bl9jdHh0KyspIHsKKyAgICBmb3IgKG5fZG9jID0gMDtuX2RvYyA8IGdlbl9uYl94bWxEb2NQdHI7bl9kb2MrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX3htbFZhbGlkQ3R4dFB0cihuX2N0eHQsIDApOworICAgICAgICBkb2MgPSBnZW5feG1sRG9jUHRyKG5fZG9jLCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sVmFsaWRhdGVEb2N1bWVudChjdHh0LCBkb2MpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxWYWxpZEN0eHRQdHIobl9jdHh0LCBjdHh0LCAwKTsKKyAgICAgICAgZGVzX3htbERvY1B0cihuX2RvYywgZG9jLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFZhbGlkYXRlRG9jdW1lbnQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZG9jKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFZhbGlkYXRlRG9jdW1lbnRGaW5hbCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1ZBTElEX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbFZhbGlkQ3R4dFB0ciBjdHh0OyAvKiB0aGUgdmFsaWRhdGlvbiBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKyAgICB4bWxEb2NQdHIgZG9jOyAvKiBhIGRvY3VtZW50IGluc3RhbmNlICovCisgICAgaW50IG5fZG9jOworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxWYWxpZEN0eHRQdHI7bl9jdHh0KyspIHsKKyAgICBmb3IgKG5fZG9jID0gMDtuX2RvYyA8IGdlbl9uYl94bWxEb2NQdHI7bl9kb2MrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX3htbFZhbGlkQ3R4dFB0cihuX2N0eHQsIDApOworICAgICAgICBkb2MgPSBnZW5feG1sRG9jUHRyKG5fZG9jLCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sVmFsaWRhdGVEb2N1bWVudEZpbmFsKGN0eHQsIGRvYyk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFZhbGlkQ3R4dFB0cihuX2N0eHQsIGN0eHQsIDApOworICAgICAgICBkZXNfeG1sRG9jUHRyKG5fZG9jLCBkb2MsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVmFsaWRhdGVEb2N1bWVudEZpbmFsIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2RvYyk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxWYWxpZGF0ZUR0ZCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1ZBTElEX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbFZhbGlkQ3R4dFB0ciBjdHh0OyAvKiB0aGUgdmFsaWRhdGlvbiBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKyAgICB4bWxEb2NQdHIgZG9jOyAvKiBhIGRvY3VtZW50IGluc3RhbmNlICovCisgICAgaW50IG5fZG9jOworICAgIHhtbER0ZFB0ciBkdGQ7IC8qIGEgZHRkIGluc3RhbmNlICovCisgICAgaW50IG5fZHRkOworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxWYWxpZEN0eHRQdHI7bl9jdHh0KyspIHsKKyAgICBmb3IgKG5fZG9jID0gMDtuX2RvYyA8IGdlbl9uYl94bWxEb2NQdHI7bl9kb2MrKykgeworICAgIGZvciAobl9kdGQgPSAwO25fZHRkIDwgZ2VuX25iX3htbER0ZFB0cjtuX2R0ZCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eHQgPSBnZW5feG1sVmFsaWRDdHh0UHRyKG5fY3R4dCwgMCk7CisgICAgICAgIGRvYyA9IGdlbl94bWxEb2NQdHIobl9kb2MsIDEpOworICAgICAgICBkdGQgPSBnZW5feG1sRHRkUHRyKG5fZHRkLCAyKTsKKworICAgICAgICByZXRfdmFsID0geG1sVmFsaWRhdGVEdGQoY3R4dCwgZG9jLCBkdGQpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxWYWxpZEN0eHRQdHIobl9jdHh0LCBjdHh0LCAwKTsKKyAgICAgICAgZGVzX3htbERvY1B0cihuX2RvYywgZG9jLCAxKTsKKyAgICAgICAgZGVzX3htbER0ZFB0cihuX2R0ZCwgZHRkLCAyKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFZhbGlkYXRlRHRkIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2RvYyk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZHRkKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxWYWxpZGF0ZUR0ZEZpbmFsKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfVkFMSURfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sVmFsaWRDdHh0UHRyIGN0eHQ7IC8qIHRoZSB2YWxpZGF0aW9uIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHh0OworICAgIHhtbERvY1B0ciBkb2M7IC8qIGEgZG9jdW1lbnQgaW5zdGFuY2UgKi8KKyAgICBpbnQgbl9kb2M7CisKKyAgICBmb3IgKG5fY3R4dCA9IDA7bl9jdHh0IDwgZ2VuX25iX3htbFZhbGlkQ3R4dFB0cjtuX2N0eHQrKykgeworICAgIGZvciAobl9kb2MgPSAwO25fZG9jIDwgZ2VuX25iX3htbERvY1B0cjtuX2RvYysrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eHQgPSBnZW5feG1sVmFsaWRDdHh0UHRyKG5fY3R4dCwgMCk7CisgICAgICAgIGRvYyA9IGdlbl94bWxEb2NQdHIobl9kb2MsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxWYWxpZGF0ZUR0ZEZpbmFsKGN0eHQsIGRvYyk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFZhbGlkQ3R4dFB0cihuX2N0eHQsIGN0eHQsIDApOworICAgICAgICBkZXNfeG1sRG9jUHRyKG5fZG9jLCBkb2MsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVmFsaWRhdGVEdGRGaW5hbCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHh0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9kb2MpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVmFsaWRhdGVFbGVtZW50KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfVkFMSURfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sVmFsaWRDdHh0UHRyIGN0eHQ7IC8qIHRoZSB2YWxpZGF0aW9uIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHh0OworICAgIHhtbERvY1B0ciBkb2M7IC8qIGEgZG9jdW1lbnQgaW5zdGFuY2UgKi8KKyAgICBpbnQgbl9kb2M7CisgICAgeG1sTm9kZVB0ciBlbGVtOyAvKiBhbiBlbGVtZW50IGluc3RhbmNlICovCisgICAgaW50IG5fZWxlbTsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfeG1sVmFsaWRDdHh0UHRyO25fY3R4dCsrKSB7CisgICAgZm9yIChuX2RvYyA9IDA7bl9kb2MgPCBnZW5fbmJfeG1sRG9jUHRyO25fZG9jKyspIHsKKyAgICBmb3IgKG5fZWxlbSA9IDA7bl9lbGVtIDwgZ2VuX25iX3htbE5vZGVQdHI7bl9lbGVtKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4dCA9IGdlbl94bWxWYWxpZEN0eHRQdHIobl9jdHh0LCAwKTsKKyAgICAgICAgZG9jID0gZ2VuX3htbERvY1B0cihuX2RvYywgMSk7CisgICAgICAgIGVsZW0gPSBnZW5feG1sTm9kZVB0cihuX2VsZW0sIDIpOworCisgICAgICAgIHJldF92YWwgPSB4bWxWYWxpZGF0ZUVsZW1lbnQoY3R4dCwgZG9jLCBlbGVtKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sVmFsaWRDdHh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIGRlc194bWxEb2NQdHIobl9kb2MsIGRvYywgMSk7CisgICAgICAgIGRlc194bWxOb2RlUHRyKG5fZWxlbSwgZWxlbSwgMik7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxWYWxpZGF0ZUVsZW1lbnQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZG9jKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9lbGVtKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxWYWxpZGF0ZUVsZW1lbnREZWNsKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfVkFMSURfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sVmFsaWRDdHh0UHRyIGN0eHQ7IC8qIHRoZSB2YWxpZGF0aW9uIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHh0OworICAgIHhtbERvY1B0ciBkb2M7IC8qIGEgZG9jdW1lbnQgaW5zdGFuY2UgKi8KKyAgICBpbnQgbl9kb2M7CisgICAgeG1sRWxlbWVudFB0ciBlbGVtOyAvKiBhbiBlbGVtZW50IGRlZmluaXRpb24gKi8KKyAgICBpbnQgbl9lbGVtOworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxWYWxpZEN0eHRQdHI7bl9jdHh0KyspIHsKKyAgICBmb3IgKG5fZG9jID0gMDtuX2RvYyA8IGdlbl9uYl94bWxEb2NQdHI7bl9kb2MrKykgeworICAgIGZvciAobl9lbGVtID0gMDtuX2VsZW0gPCBnZW5fbmJfeG1sRWxlbWVudFB0cjtuX2VsZW0rKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX3htbFZhbGlkQ3R4dFB0cihuX2N0eHQsIDApOworICAgICAgICBkb2MgPSBnZW5feG1sRG9jUHRyKG5fZG9jLCAxKTsKKyAgICAgICAgZWxlbSA9IGdlbl94bWxFbGVtZW50UHRyKG5fZWxlbSwgMik7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFZhbGlkYXRlRWxlbWVudERlY2woY3R4dCwgZG9jLCBlbGVtKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sVmFsaWRDdHh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIGRlc194bWxEb2NQdHIobl9kb2MsIGRvYywgMSk7CisgICAgICAgIGRlc194bWxFbGVtZW50UHRyKG5fZWxlbSwgZWxlbSwgMik7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxWYWxpZGF0ZUVsZW1lbnREZWNsIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2RvYyk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZWxlbSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVmFsaWRhdGVOYW1lVmFsdWUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9WQUxJRF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxDaGFyICogdmFsdWU7IC8qIGFuIE5hbWUgdmFsdWUgKi8KKyAgICBpbnQgbl92YWx1ZTsKKworICAgIGZvciAobl92YWx1ZSA9IDA7bl92YWx1ZSA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX3ZhbHVlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgdmFsdWUgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl92YWx1ZSwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFZhbGlkYXRlTmFtZVZhbHVlKChjb25zdCB4bWxDaGFyICopdmFsdWUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX3ZhbHVlLCAoY29uc3QgeG1sQ2hhciAqKXZhbHVlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFZhbGlkYXRlTmFtZVZhbHVlIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3ZhbHVlKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVmFsaWRhdGVOYW1lc1ZhbHVlKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfVkFMSURfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sQ2hhciAqIHZhbHVlOyAvKiBhbiBOYW1lcyB2YWx1ZSAqLworICAgIGludCBuX3ZhbHVlOworCisgICAgZm9yIChuX3ZhbHVlID0gMDtuX3ZhbHVlIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fdmFsdWUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICB2YWx1ZSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX3ZhbHVlLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVmFsaWRhdGVOYW1lc1ZhbHVlKChjb25zdCB4bWxDaGFyICopdmFsdWUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX3ZhbHVlLCAoY29uc3QgeG1sQ2hhciAqKXZhbHVlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFZhbGlkYXRlTmFtZXNWYWx1ZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl92YWx1ZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFZhbGlkYXRlTm10b2tlblZhbHVlKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfVkFMSURfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sQ2hhciAqIHZhbHVlOyAvKiBhbiBObXRva2VuIHZhbHVlICovCisgICAgaW50IG5fdmFsdWU7CisKKyAgICBmb3IgKG5fdmFsdWUgPSAwO25fdmFsdWUgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl92YWx1ZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHZhbHVlID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fdmFsdWUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxWYWxpZGF0ZU5tdG9rZW5WYWx1ZSgoY29uc3QgeG1sQ2hhciAqKXZhbHVlKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl92YWx1ZSwgKGNvbnN0IHhtbENoYXIgKil2YWx1ZSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxWYWxpZGF0ZU5tdG9rZW5WYWx1ZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl92YWx1ZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFZhbGlkYXRlTm10b2tlbnNWYWx1ZSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1ZBTElEX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbENoYXIgKiB2YWx1ZTsgLyogYW4gTm10b2tlbnMgdmFsdWUgKi8KKyAgICBpbnQgbl92YWx1ZTsKKworICAgIGZvciAobl92YWx1ZSA9IDA7bl92YWx1ZSA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX3ZhbHVlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgdmFsdWUgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl92YWx1ZSwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFZhbGlkYXRlTm10b2tlbnNWYWx1ZSgoY29uc3QgeG1sQ2hhciAqKXZhbHVlKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl92YWx1ZSwgKGNvbnN0IHhtbENoYXIgKil2YWx1ZSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxWYWxpZGF0ZU5tdG9rZW5zVmFsdWUiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdmFsdWUpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxWYWxpZGF0ZU5vdGF0aW9uRGVjbCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1ZBTElEX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbFZhbGlkQ3R4dFB0ciBjdHh0OyAvKiB0aGUgdmFsaWRhdGlvbiBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKyAgICB4bWxEb2NQdHIgZG9jOyAvKiBhIGRvY3VtZW50IGluc3RhbmNlICovCisgICAgaW50IG5fZG9jOworICAgIHhtbE5vdGF0aW9uUHRyIG5vdGE7IC8qIGEgbm90YXRpb24gZGVmaW5pdGlvbiAqLworICAgIGludCBuX25vdGE7CisKKyAgICBmb3IgKG5fY3R4dCA9IDA7bl9jdHh0IDwgZ2VuX25iX3htbFZhbGlkQ3R4dFB0cjtuX2N0eHQrKykgeworICAgIGZvciAobl9kb2MgPSAwO25fZG9jIDwgZ2VuX25iX3htbERvY1B0cjtuX2RvYysrKSB7CisgICAgZm9yIChuX25vdGEgPSAwO25fbm90YSA8IGdlbl9uYl94bWxOb3RhdGlvblB0cjtuX25vdGErKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX3htbFZhbGlkQ3R4dFB0cihuX2N0eHQsIDApOworICAgICAgICBkb2MgPSBnZW5feG1sRG9jUHRyKG5fZG9jLCAxKTsKKyAgICAgICAgbm90YSA9IGdlbl94bWxOb3RhdGlvblB0cihuX25vdGEsIDIpOworCisgICAgICAgIHJldF92YWwgPSB4bWxWYWxpZGF0ZU5vdGF0aW9uRGVjbChjdHh0LCBkb2MsIG5vdGEpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxWYWxpZEN0eHRQdHIobl9jdHh0LCBjdHh0LCAwKTsKKyAgICAgICAgZGVzX3htbERvY1B0cihuX2RvYywgZG9jLCAxKTsKKyAgICAgICAgZGVzX3htbE5vdGF0aW9uUHRyKG5fbm90YSwgbm90YSwgMik7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxWYWxpZGF0ZU5vdGF0aW9uRGVjbCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHh0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9kb2MpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25vdGEpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFZhbGlkYXRlTm90YXRpb25Vc2Uodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9WQUxJRF9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbFZhbGlkQ3R4dFB0ciBjdHh0OyAvKiB0aGUgdmFsaWRhdGlvbiBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKyAgICB4bWxEb2NQdHIgZG9jOyAvKiB0aGUgZG9jdW1lbnQgKi8KKyAgICBpbnQgbl9kb2M7CisgICAgeG1sQ2hhciAqIG5vdGF0aW9uTmFtZTsgLyogdGhlIG5vdGF0aW9uIG5hbWUgdG8gY2hlY2sgKi8KKyAgICBpbnQgbl9ub3RhdGlvbk5hbWU7CisKKyAgICBmb3IgKG5fY3R4dCA9IDA7bl9jdHh0IDwgZ2VuX25iX3htbFZhbGlkQ3R4dFB0cjtuX2N0eHQrKykgeworICAgIGZvciAobl9kb2MgPSAwO25fZG9jIDwgZ2VuX25iX3htbERvY1B0cjtuX2RvYysrKSB7CisgICAgZm9yIChuX25vdGF0aW9uTmFtZSA9IDA7bl9ub3RhdGlvbk5hbWUgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9ub3RhdGlvbk5hbWUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX3htbFZhbGlkQ3R4dFB0cihuX2N0eHQsIDApOworICAgICAgICBkb2MgPSBnZW5feG1sRG9jUHRyKG5fZG9jLCAxKTsKKyAgICAgICAgbm90YXRpb25OYW1lID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fbm90YXRpb25OYW1lLCAyKTsKKworICAgICAgICByZXRfdmFsID0geG1sVmFsaWRhdGVOb3RhdGlvblVzZShjdHh0LCBkb2MsIChjb25zdCB4bWxDaGFyICopbm90YXRpb25OYW1lKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sVmFsaWRDdHh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIGRlc194bWxEb2NQdHIobl9kb2MsIGRvYywgMSk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX25vdGF0aW9uTmFtZSwgKGNvbnN0IHhtbENoYXIgKilub3RhdGlvbk5hbWUsIDIpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVmFsaWRhdGVOb3RhdGlvblVzZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHh0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9kb2MpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25vdGF0aW9uTmFtZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVmFsaWRhdGVPbmVBdHRyaWJ1dGUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9WQUxJRF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxWYWxpZEN0eHRQdHIgY3R4dDsgLyogdGhlIHZhbGlkYXRpb24gY29udGV4dCAqLworICAgIGludCBuX2N0eHQ7CisgICAgeG1sRG9jUHRyIGRvYzsgLyogYSBkb2N1bWVudCBpbnN0YW5jZSAqLworICAgIGludCBuX2RvYzsKKyAgICB4bWxOb2RlUHRyIGVsZW07IC8qIGFuIGVsZW1lbnQgaW5zdGFuY2UgKi8KKyAgICBpbnQgbl9lbGVtOworICAgIHhtbEF0dHJQdHIgYXR0cjsgLyogYW4gYXR0cmlidXRlIGluc3RhbmNlICovCisgICAgaW50IG5fYXR0cjsKKyAgICB4bWxDaGFyICogdmFsdWU7IC8qIHRoZSBhdHRyaWJ1dGUgdmFsdWUgKHdpdGhvdXQgZW50aXRpZXMgcHJvY2Vzc2luZykgKi8KKyAgICBpbnQgbl92YWx1ZTsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfeG1sVmFsaWRDdHh0UHRyO25fY3R4dCsrKSB7CisgICAgZm9yIChuX2RvYyA9IDA7bl9kb2MgPCBnZW5fbmJfeG1sRG9jUHRyO25fZG9jKyspIHsKKyAgICBmb3IgKG5fZWxlbSA9IDA7bl9lbGVtIDwgZ2VuX25iX3htbE5vZGVQdHI7bl9lbGVtKyspIHsKKyAgICBmb3IgKG5fYXR0ciA9IDA7bl9hdHRyIDwgZ2VuX25iX3htbEF0dHJQdHI7bl9hdHRyKyspIHsKKyAgICBmb3IgKG5fdmFsdWUgPSAwO25fdmFsdWUgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl92YWx1ZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eHQgPSBnZW5feG1sVmFsaWRDdHh0UHRyKG5fY3R4dCwgMCk7CisgICAgICAgIGRvYyA9IGdlbl94bWxEb2NQdHIobl9kb2MsIDEpOworICAgICAgICBlbGVtID0gZ2VuX3htbE5vZGVQdHIobl9lbGVtLCAyKTsKKyAgICAgICAgYXR0ciA9IGdlbl94bWxBdHRyUHRyKG5fYXR0ciwgMyk7CisgICAgICAgIHZhbHVlID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fdmFsdWUsIDQpOworCisgICAgICAgIHJldF92YWwgPSB4bWxWYWxpZGF0ZU9uZUF0dHJpYnV0ZShjdHh0LCBkb2MsIGVsZW0sIGF0dHIsIChjb25zdCB4bWxDaGFyICopdmFsdWUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxWYWxpZEN0eHRQdHIobl9jdHh0LCBjdHh0LCAwKTsKKyAgICAgICAgZGVzX3htbERvY1B0cihuX2RvYywgZG9jLCAxKTsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl9lbGVtLCBlbGVtLCAyKTsKKyAgICAgICAgZGVzX3htbEF0dHJQdHIobl9hdHRyLCBhdHRyLCAzKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fdmFsdWUsIChjb25zdCB4bWxDaGFyICopdmFsdWUsIDQpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVmFsaWRhdGVPbmVBdHRyaWJ1dGUiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZG9jKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9lbGVtKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9hdHRyKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl92YWx1ZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxWYWxpZGF0ZU9uZUVsZW1lbnQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9WQUxJRF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxWYWxpZEN0eHRQdHIgY3R4dDsgLyogdGhlIHZhbGlkYXRpb24gY29udGV4dCAqLworICAgIGludCBuX2N0eHQ7CisgICAgeG1sRG9jUHRyIGRvYzsgLyogYSBkb2N1bWVudCBpbnN0YW5jZSAqLworICAgIGludCBuX2RvYzsKKyAgICB4bWxOb2RlUHRyIGVsZW07IC8qIGFuIGVsZW1lbnQgaW5zdGFuY2UgKi8KKyAgICBpbnQgbl9lbGVtOworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxWYWxpZEN0eHRQdHI7bl9jdHh0KyspIHsKKyAgICBmb3IgKG5fZG9jID0gMDtuX2RvYyA8IGdlbl9uYl94bWxEb2NQdHI7bl9kb2MrKykgeworICAgIGZvciAobl9lbGVtID0gMDtuX2VsZW0gPCBnZW5fbmJfeG1sTm9kZVB0cjtuX2VsZW0rKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX3htbFZhbGlkQ3R4dFB0cihuX2N0eHQsIDApOworICAgICAgICBkb2MgPSBnZW5feG1sRG9jUHRyKG5fZG9jLCAxKTsKKyAgICAgICAgZWxlbSA9IGdlbl94bWxOb2RlUHRyKG5fZWxlbSwgMik7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFZhbGlkYXRlT25lRWxlbWVudChjdHh0LCBkb2MsIGVsZW0pOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxWYWxpZEN0eHRQdHIobl9jdHh0LCBjdHh0LCAwKTsKKyAgICAgICAgZGVzX3htbERvY1B0cihuX2RvYywgZG9jLCAxKTsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl9lbGVtLCBlbGVtLCAyKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFZhbGlkYXRlT25lRWxlbWVudCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHh0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9kb2MpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2VsZW0pOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFZhbGlkYXRlT25lTmFtZXNwYWNlKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfVkFMSURfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sVmFsaWRDdHh0UHRyIGN0eHQ7IC8qIHRoZSB2YWxpZGF0aW9uIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHh0OworICAgIHhtbERvY1B0ciBkb2M7IC8qIGEgZG9jdW1lbnQgaW5zdGFuY2UgKi8KKyAgICBpbnQgbl9kb2M7CisgICAgeG1sTm9kZVB0ciBlbGVtOyAvKiBhbiBlbGVtZW50IGluc3RhbmNlICovCisgICAgaW50IG5fZWxlbTsKKyAgICB4bWxDaGFyICogcHJlZml4OyAvKiB0aGUgbmFtZXNwYWNlIHByZWZpeCAqLworICAgIGludCBuX3ByZWZpeDsKKyAgICB4bWxOc1B0ciBuczsgLyogYW4gbmFtZXNwYWNlIGRlY2xhcmF0aW9uIGluc3RhbmNlICovCisgICAgaW50IG5fbnM7CisgICAgeG1sQ2hhciAqIHZhbHVlOyAvKiB0aGUgYXR0cmlidXRlIHZhbHVlICh3aXRob3V0IGVudGl0aWVzIHByb2Nlc3NpbmcpICovCisgICAgaW50IG5fdmFsdWU7CisKKyAgICBmb3IgKG5fY3R4dCA9IDA7bl9jdHh0IDwgZ2VuX25iX3htbFZhbGlkQ3R4dFB0cjtuX2N0eHQrKykgeworICAgIGZvciAobl9kb2MgPSAwO25fZG9jIDwgZ2VuX25iX3htbERvY1B0cjtuX2RvYysrKSB7CisgICAgZm9yIChuX2VsZW0gPSAwO25fZWxlbSA8IGdlbl9uYl94bWxOb2RlUHRyO25fZWxlbSsrKSB7CisgICAgZm9yIChuX3ByZWZpeCA9IDA7bl9wcmVmaXggPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9wcmVmaXgrKykgeworICAgIGZvciAobl9ucyA9IDA7bl9ucyA8IGdlbl9uYl94bWxOc1B0cjtuX25zKyspIHsKKyAgICBmb3IgKG5fdmFsdWUgPSAwO25fdmFsdWUgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl92YWx1ZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eHQgPSBnZW5feG1sVmFsaWRDdHh0UHRyKG5fY3R4dCwgMCk7CisgICAgICAgIGRvYyA9IGdlbl94bWxEb2NQdHIobl9kb2MsIDEpOworICAgICAgICBlbGVtID0gZ2VuX3htbE5vZGVQdHIobl9lbGVtLCAyKTsKKyAgICAgICAgcHJlZml4ID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fcHJlZml4LCAzKTsKKyAgICAgICAgbnMgPSBnZW5feG1sTnNQdHIobl9ucywgNCk7CisgICAgICAgIHZhbHVlID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fdmFsdWUsIDUpOworCisgICAgICAgIHJldF92YWwgPSB4bWxWYWxpZGF0ZU9uZU5hbWVzcGFjZShjdHh0LCBkb2MsIGVsZW0sIChjb25zdCB4bWxDaGFyICopcHJlZml4LCBucywgKGNvbnN0IHhtbENoYXIgKil2YWx1ZSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFZhbGlkQ3R4dFB0cihuX2N0eHQsIGN0eHQsIDApOworICAgICAgICBkZXNfeG1sRG9jUHRyKG5fZG9jLCBkb2MsIDEpOworICAgICAgICBkZXNfeG1sTm9kZVB0cihuX2VsZW0sIGVsZW0sIDIpOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9wcmVmaXgsIChjb25zdCB4bWxDaGFyICopcHJlZml4LCAzKTsKKyAgICAgICAgZGVzX3htbE5zUHRyKG5fbnMsIG5zLCA0KTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fdmFsdWUsIChjb25zdCB4bWxDaGFyICopdmFsdWUsIDUpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVmFsaWRhdGVPbmVOYW1lc3BhY2UiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZG9jKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9lbGVtKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9wcmVmaXgpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25zKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl92YWx1ZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVmFsaWRhdGVQb3BFbGVtZW50KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfVkFMSURfRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfUkVHRVhQX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbFZhbGlkQ3R4dFB0ciBjdHh0OyAvKiB0aGUgdmFsaWRhdGlvbiBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKyAgICB4bWxEb2NQdHIgZG9jOyAvKiBhIGRvY3VtZW50IGluc3RhbmNlICovCisgICAgaW50IG5fZG9jOworICAgIHhtbE5vZGVQdHIgZWxlbTsgLyogYW4gZWxlbWVudCBpbnN0YW5jZSAqLworICAgIGludCBuX2VsZW07CisgICAgeG1sQ2hhciAqIHFuYW1lOyAvKiB0aGUgcXVhbGlmaWVkIG5hbWUgYXMgYXBwZWFyaW5nIGluIHRoZSBzZXJpYWxpemF0aW9uICovCisgICAgaW50IG5fcW5hbWU7CisKKyAgICBmb3IgKG5fY3R4dCA9IDA7bl9jdHh0IDwgZ2VuX25iX3htbFZhbGlkQ3R4dFB0cjtuX2N0eHQrKykgeworICAgIGZvciAobl9kb2MgPSAwO25fZG9jIDwgZ2VuX25iX3htbERvY1B0cjtuX2RvYysrKSB7CisgICAgZm9yIChuX2VsZW0gPSAwO25fZWxlbSA8IGdlbl9uYl94bWxOb2RlUHRyO25fZWxlbSsrKSB7CisgICAgZm9yIChuX3FuYW1lID0gMDtuX3FuYW1lIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fcW5hbWUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX3htbFZhbGlkQ3R4dFB0cihuX2N0eHQsIDApOworICAgICAgICBkb2MgPSBnZW5feG1sRG9jUHRyKG5fZG9jLCAxKTsKKyAgICAgICAgZWxlbSA9IGdlbl94bWxOb2RlUHRyKG5fZWxlbSwgMik7CisgICAgICAgIHFuYW1lID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fcW5hbWUsIDMpOworCisgICAgICAgIHJldF92YWwgPSB4bWxWYWxpZGF0ZVBvcEVsZW1lbnQoY3R4dCwgZG9jLCBlbGVtLCAoY29uc3QgeG1sQ2hhciAqKXFuYW1lKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sVmFsaWRDdHh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIGRlc194bWxEb2NQdHIobl9kb2MsIGRvYywgMSk7CisgICAgICAgIGRlc194bWxOb2RlUHRyKG5fZWxlbSwgZWxlbSwgMik7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX3FuYW1lLCAoY29uc3QgeG1sQ2hhciAqKXFuYW1lLCAzKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFZhbGlkYXRlUG9wRWxlbWVudCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHh0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9kb2MpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2VsZW0pOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3FuYW1lKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVmFsaWRhdGVQdXNoQ0RhdGEodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9WQUxJRF9FTkFCTEVEKSAmJiBkZWZpbmVkKExJQlhNTF9SRUdFWFBfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sVmFsaWRDdHh0UHRyIGN0eHQ7IC8qIHRoZSB2YWxpZGF0aW9uIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHh0OworICAgIHhtbENoYXIgKiBkYXRhOyAvKiBzb21lIGNoYXJhY3RlciBkYXRhIHJlYWQgKi8KKyAgICBpbnQgbl9kYXRhOworICAgIGludCBsZW47IC8qIHRoZSBsZW5ndGggb2YgdGhlIGRhdGEgKi8KKyAgICBpbnQgbl9sZW47CisKKyAgICBmb3IgKG5fY3R4dCA9IDA7bl9jdHh0IDwgZ2VuX25iX3htbFZhbGlkQ3R4dFB0cjtuX2N0eHQrKykgeworICAgIGZvciAobl9kYXRhID0gMDtuX2RhdGEgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9kYXRhKyspIHsKKyAgICBmb3IgKG5fbGVuID0gMDtuX2xlbiA8IGdlbl9uYl9pbnQ7bl9sZW4rKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX3htbFZhbGlkQ3R4dFB0cihuX2N0eHQsIDApOworICAgICAgICBkYXRhID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fZGF0YSwgMSk7CisgICAgICAgIGxlbiA9IGdlbl9pbnQobl9sZW4sIDIpOworCisgICAgICAgIHJldF92YWwgPSB4bWxWYWxpZGF0ZVB1c2hDRGF0YShjdHh0LCAoY29uc3QgeG1sQ2hhciAqKWRhdGEsIGxlbik7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFZhbGlkQ3R4dFB0cihuX2N0eHQsIGN0eHQsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9kYXRhLCAoY29uc3QgeG1sQ2hhciAqKWRhdGEsIDEpOworICAgICAgICBkZXNfaW50KG5fbGVuLCBsZW4sIDIpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVmFsaWRhdGVQdXNoQ0RhdGEiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZGF0YSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbGVuKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxWYWxpZGF0ZVB1c2hFbGVtZW50KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfVkFMSURfRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfUkVHRVhQX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbFZhbGlkQ3R4dFB0ciBjdHh0OyAvKiB0aGUgdmFsaWRhdGlvbiBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKyAgICB4bWxEb2NQdHIgZG9jOyAvKiBhIGRvY3VtZW50IGluc3RhbmNlICovCisgICAgaW50IG5fZG9jOworICAgIHhtbE5vZGVQdHIgZWxlbTsgLyogYW4gZWxlbWVudCBpbnN0YW5jZSAqLworICAgIGludCBuX2VsZW07CisgICAgeG1sQ2hhciAqIHFuYW1lOyAvKiB0aGUgcXVhbGlmaWVkIG5hbWUgYXMgYXBwZWFyaW5nIGluIHRoZSBzZXJpYWxpemF0aW9uICovCisgICAgaW50IG5fcW5hbWU7CisKKyAgICBmb3IgKG5fY3R4dCA9IDA7bl9jdHh0IDwgZ2VuX25iX3htbFZhbGlkQ3R4dFB0cjtuX2N0eHQrKykgeworICAgIGZvciAobl9kb2MgPSAwO25fZG9jIDwgZ2VuX25iX3htbERvY1B0cjtuX2RvYysrKSB7CisgICAgZm9yIChuX2VsZW0gPSAwO25fZWxlbSA8IGdlbl9uYl94bWxOb2RlUHRyO25fZWxlbSsrKSB7CisgICAgZm9yIChuX3FuYW1lID0gMDtuX3FuYW1lIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fcW5hbWUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX3htbFZhbGlkQ3R4dFB0cihuX2N0eHQsIDApOworICAgICAgICBkb2MgPSBnZW5feG1sRG9jUHRyKG5fZG9jLCAxKTsKKyAgICAgICAgZWxlbSA9IGdlbl94bWxOb2RlUHRyKG5fZWxlbSwgMik7CisgICAgICAgIHFuYW1lID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fcW5hbWUsIDMpOworCisgICAgICAgIHJldF92YWwgPSB4bWxWYWxpZGF0ZVB1c2hFbGVtZW50KGN0eHQsIGRvYywgZWxlbSwgKGNvbnN0IHhtbENoYXIgKilxbmFtZSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFZhbGlkQ3R4dFB0cihuX2N0eHQsIGN0eHQsIDApOworICAgICAgICBkZXNfeG1sRG9jUHRyKG5fZG9jLCBkb2MsIDEpOworICAgICAgICBkZXNfeG1sTm9kZVB0cihuX2VsZW0sIGVsZW0sIDIpOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9xbmFtZSwgKGNvbnN0IHhtbENoYXIgKilxbmFtZSwgMyk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxWYWxpZGF0ZVB1c2hFbGVtZW50IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2RvYyk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZWxlbSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fcW5hbWUpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxWYWxpZGF0ZVJvb3Qodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9WQUxJRF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxWYWxpZEN0eHRQdHIgY3R4dDsgLyogdGhlIHZhbGlkYXRpb24gY29udGV4dCAqLworICAgIGludCBuX2N0eHQ7CisgICAgeG1sRG9jUHRyIGRvYzsgLyogYSBkb2N1bWVudCBpbnN0YW5jZSAqLworICAgIGludCBuX2RvYzsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfeG1sVmFsaWRDdHh0UHRyO25fY3R4dCsrKSB7CisgICAgZm9yIChuX2RvYyA9IDA7bl9kb2MgPCBnZW5fbmJfeG1sRG9jUHRyO25fZG9jKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4dCA9IGdlbl94bWxWYWxpZEN0eHRQdHIobl9jdHh0LCAwKTsKKyAgICAgICAgZG9jID0gZ2VuX3htbERvY1B0cihuX2RvYywgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFZhbGlkYXRlUm9vdChjdHh0LCBkb2MpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxWYWxpZEN0eHRQdHIobl9jdHh0LCBjdHh0LCAwKTsKKyAgICAgICAgZGVzX3htbERvY1B0cihuX2RvYywgZG9jLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFZhbGlkYXRlUm9vdCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHh0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9kb2MpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCitzdGF0aWMgaW50Cit0ZXN0X3ZhbGlkKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaWYgKHF1aWV0ID09IDApIHByaW50ZigiVGVzdGluZyB2YWxpZCA6IDUwIG9mIDcwIGZ1bmN0aW9ucyAuLi5cbiIpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sQWRkQXR0cmlidXRlRGVjbCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sQWRkRWxlbWVudERlY2woKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbEFkZElEKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxBZGROb3RhdGlvbkRlY2woKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbEFkZFJlZigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sQ29weUF0dHJpYnV0ZVRhYmxlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxDb3B5RG9jRWxlbWVudENvbnRlbnQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbENvcHlFbGVtZW50Q29udGVudCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sQ29weUVsZW1lbnRUYWJsZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sQ29weUVudW1lcmF0aW9uKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxDb3B5Tm90YXRpb25UYWJsZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sQ3JlYXRlRW51bWVyYXRpb24oKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbER1bXBBdHRyaWJ1dGVEZWNsKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxEdW1wQXR0cmlidXRlVGFibGUoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbER1bXBFbGVtZW50RGVjbCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sRHVtcEVsZW1lbnRUYWJsZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sRHVtcE5vdGF0aW9uRGVjbCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sRHVtcE5vdGF0aW9uVGFibGUoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbEdldER0ZEF0dHJEZXNjKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxHZXREdGRFbGVtZW50RGVzYygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sR2V0RHRkTm90YXRpb25EZXNjKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxHZXREdGRRQXR0ckRlc2MoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbEdldER0ZFFFbGVtZW50RGVzYygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sR2V0SUQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbEdldFJlZnMoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbElzSUQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbElzTWl4ZWRFbGVtZW50KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxJc1JlZigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sTmV3RG9jRWxlbWVudENvbnRlbnQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbE5ld0VsZW1lbnRDb250ZW50KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxOZXdWYWxpZEN0eHQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFJlbW92ZUlEKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxSZW1vdmVSZWYoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFNucHJpbnRmRWxlbWVudENvbnRlbnQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFNwcmludGZFbGVtZW50Q29udGVudCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVmFsaWRCdWlsZENvbnRlbnRNb2RlbCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVmFsaWRDdHh0Tm9ybWFsaXplQXR0cmlidXRlVmFsdWUoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFZhbGlkR2V0UG90ZW50aWFsQ2hpbGRyZW4oKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFZhbGlkR2V0VmFsaWRFbGVtZW50cygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVmFsaWROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVmFsaWRhdGVBdHRyaWJ1dGVEZWNsKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxWYWxpZGF0ZUF0dHJpYnV0ZVZhbHVlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxWYWxpZGF0ZURvY3VtZW50KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxWYWxpZGF0ZURvY3VtZW50RmluYWwoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFZhbGlkYXRlRHRkKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxWYWxpZGF0ZUR0ZEZpbmFsKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxWYWxpZGF0ZUVsZW1lbnQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFZhbGlkYXRlRWxlbWVudERlY2woKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFZhbGlkYXRlTmFtZVZhbHVlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxWYWxpZGF0ZU5hbWVzVmFsdWUoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFZhbGlkYXRlTm10b2tlblZhbHVlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxWYWxpZGF0ZU5tdG9rZW5zVmFsdWUoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFZhbGlkYXRlTm90YXRpb25EZWNsKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxWYWxpZGF0ZU5vdGF0aW9uVXNlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxWYWxpZGF0ZU9uZUF0dHJpYnV0ZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVmFsaWRhdGVPbmVFbGVtZW50KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxWYWxpZGF0ZU9uZU5hbWVzcGFjZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVmFsaWRhdGVQb3BFbGVtZW50KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxWYWxpZGF0ZVB1c2hDRGF0YSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVmFsaWRhdGVQdXNoRWxlbWVudCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVmFsaWRhdGVSb290KCk7CisKKyAgICBpZiAodGVzdF9yZXQgIT0gMCkKKwlwcmludGYoIk1vZHVsZSB2YWxpZDogJWQgZXJyb3JzXG4iLCB0ZXN0X3JldCk7CisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworc3RhdGljIGludAordGVzdF94bWxYSW5jbHVkZU5ld0NvbnRleHQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworICAgIC8qIG1pc3NpbmcgdHlwZSBzdXBwb3J0ICovCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFhJbmNsdWRlUHJvY2Vzcyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1hJTkNMVURFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbERvY1B0ciBkb2M7IC8qIGFuIFhNTCBkb2N1bWVudCAqLworICAgIGludCBuX2RvYzsKKworICAgIGZvciAobl9kb2MgPSAwO25fZG9jIDwgZ2VuX25iX3htbERvY1B0cjtuX2RvYysrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGRvYyA9IGdlbl94bWxEb2NQdHIobl9kb2MsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxYSW5jbHVkZVByb2Nlc3MoZG9jKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sRG9jUHRyKG5fZG9jLCBkb2MsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sWEluY2x1ZGVQcm9jZXNzIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2RvYyk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFhJbmNsdWRlUHJvY2Vzc0ZsYWdzKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfWElOQ0xVREVfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sRG9jUHRyIGRvYzsgLyogYW4gWE1MIGRvY3VtZW50ICovCisgICAgaW50IG5fZG9jOworICAgIGludCBmbGFnczsgLyogYSBzZXQgb2YgeG1sUGFyc2VyT3B0aW9uIHVzZWQgZm9yIHBhcnNpbmcgWE1MIGluY2x1ZGVzICovCisgICAgaW50IG5fZmxhZ3M7CisKKyAgICBmb3IgKG5fZG9jID0gMDtuX2RvYyA8IGdlbl9uYl94bWxEb2NQdHI7bl9kb2MrKykgeworICAgIGZvciAobl9mbGFncyA9IDA7bl9mbGFncyA8IGdlbl9uYl9pbnQ7bl9mbGFncysrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGRvYyA9IGdlbl94bWxEb2NQdHIobl9kb2MsIDApOworICAgICAgICBmbGFncyA9IGdlbl9pbnQobl9mbGFncywgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFhJbmNsdWRlUHJvY2Vzc0ZsYWdzKGRvYywgZmxhZ3MpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxEb2NQdHIobl9kb2MsIGRvYywgMCk7CisgICAgICAgIGRlc19pbnQobl9mbGFncywgZmxhZ3MsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sWEluY2x1ZGVQcm9jZXNzRmxhZ3MiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZG9jKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9mbGFncyk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxYSW5jbHVkZVByb2Nlc3NGbGFnc0RhdGEodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9YSU5DTFVERV9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxEb2NQdHIgZG9jOyAvKiBhbiBYTUwgZG9jdW1lbnQgKi8KKyAgICBpbnQgbl9kb2M7CisgICAgaW50IGZsYWdzOyAvKiBhIHNldCBvZiB4bWxQYXJzZXJPcHRpb24gdXNlZCBmb3IgcGFyc2luZyBYTUwgaW5jbHVkZXMgKi8KKyAgICBpbnQgbl9mbGFnczsKKyAgICB2b2lkICogZGF0YTsgLyogYXBwbGljYXRpb24gZGF0YSB0aGF0IHdpbGwgYmUgcGFzc2VkIHRvIHRoZSBwYXJzZXIgY29udGV4dCBpbiB0aGUgX3ByaXZhdGUgZmllbGQgb2YgdGhlIHBhcnNlciBjb250ZXh0KHMpICovCisgICAgaW50IG5fZGF0YTsKKworICAgIGZvciAobl9kb2MgPSAwO25fZG9jIDwgZ2VuX25iX3htbERvY1B0cjtuX2RvYysrKSB7CisgICAgZm9yIChuX2ZsYWdzID0gMDtuX2ZsYWdzIDwgZ2VuX25iX2ludDtuX2ZsYWdzKyspIHsKKyAgICBmb3IgKG5fZGF0YSA9IDA7bl9kYXRhIDwgZ2VuX25iX3VzZXJkYXRhO25fZGF0YSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGRvYyA9IGdlbl94bWxEb2NQdHIobl9kb2MsIDApOworICAgICAgICBmbGFncyA9IGdlbl9pbnQobl9mbGFncywgMSk7CisgICAgICAgIGRhdGEgPSBnZW5fdXNlcmRhdGEobl9kYXRhLCAyKTsKKworICAgICAgICByZXRfdmFsID0geG1sWEluY2x1ZGVQcm9jZXNzRmxhZ3NEYXRhKGRvYywgZmxhZ3MsIGRhdGEpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxEb2NQdHIobl9kb2MsIGRvYywgMCk7CisgICAgICAgIGRlc19pbnQobl9mbGFncywgZmxhZ3MsIDEpOworICAgICAgICBkZXNfdXNlcmRhdGEobl9kYXRhLCBkYXRhLCAyKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFhJbmNsdWRlUHJvY2Vzc0ZsYWdzRGF0YSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9kb2MpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2ZsYWdzKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9kYXRhKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKyNpZmRlZiBMSUJYTUxfWElOQ0xVREVfRU5BQkxFRAorCisjZGVmaW5lIGdlbl9uYl94bWxYSW5jbHVkZUN0eHRQdHIgMQorc3RhdGljIHhtbFhJbmNsdWRlQ3R4dFB0ciBnZW5feG1sWEluY2x1ZGVDdHh0UHRyKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworICAgIHJldHVybihOVUxMKTsKK30KK3N0YXRpYyB2b2lkIGRlc194bWxYSW5jbHVkZUN0eHRQdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIHhtbFhJbmNsdWRlQ3R4dFB0ciB2YWwgQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKK30KKyNlbmRpZgorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sWEluY2x1ZGVQcm9jZXNzTm9kZSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1hJTkNMVURFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbFhJbmNsdWRlQ3R4dFB0ciBjdHh0OyAvKiBhbiBleGlzdGluZyBYSW5jbHVkZSBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKyAgICB4bWxOb2RlUHRyIG5vZGU7IC8qIGEgbm9kZSBpbiBhbiBYTUwgZG9jdW1lbnQgKi8KKyAgICBpbnQgbl9ub2RlOworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxYSW5jbHVkZUN0eHRQdHI7bl9jdHh0KyspIHsKKyAgICBmb3IgKG5fbm9kZSA9IDA7bl9ub2RlIDwgZ2VuX25iX3htbE5vZGVQdHI7bl9ub2RlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4dCA9IGdlbl94bWxYSW5jbHVkZUN0eHRQdHIobl9jdHh0LCAwKTsKKyAgICAgICAgbm9kZSA9IGdlbl94bWxOb2RlUHRyKG5fbm9kZSwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFhJbmNsdWRlUHJvY2Vzc05vZGUoY3R4dCwgbm9kZSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFhJbmNsdWRlQ3R4dFB0cihuX2N0eHQsIGN0eHQsIDApOworICAgICAgICBkZXNfeG1sTm9kZVB0cihuX25vZGUsIG5vZGUsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sWEluY2x1ZGVQcm9jZXNzTm9kZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHh0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9ub2RlKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFhJbmNsdWRlUHJvY2Vzc1RyZWUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9YSU5DTFVERV9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxOb2RlUHRyIHRyZWU7IC8qIGEgbm9kZSBpbiBhbiBYTUwgZG9jdW1lbnQgKi8KKyAgICBpbnQgbl90cmVlOworCisgICAgZm9yIChuX3RyZWUgPSAwO25fdHJlZSA8IGdlbl9uYl94bWxOb2RlUHRyO25fdHJlZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHRyZWUgPSBnZW5feG1sTm9kZVB0cihuX3RyZWUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxYSW5jbHVkZVByb2Nlc3NUcmVlKHRyZWUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxOb2RlUHRyKG5fdHJlZSwgdHJlZSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxYSW5jbHVkZVByb2Nlc3NUcmVlIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3RyZWUpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxYSW5jbHVkZVByb2Nlc3NUcmVlRmxhZ3Modm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9YSU5DTFVERV9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxOb2RlUHRyIHRyZWU7IC8qIGEgbm9kZSBpbiBhbiBYTUwgZG9jdW1lbnQgKi8KKyAgICBpbnQgbl90cmVlOworICAgIGludCBmbGFnczsgLyogYSBzZXQgb2YgeG1sUGFyc2VyT3B0aW9uIHVzZWQgZm9yIHBhcnNpbmcgWE1MIGluY2x1ZGVzICovCisgICAgaW50IG5fZmxhZ3M7CisKKyAgICBmb3IgKG5fdHJlZSA9IDA7bl90cmVlIDwgZ2VuX25iX3htbE5vZGVQdHI7bl90cmVlKyspIHsKKyAgICBmb3IgKG5fZmxhZ3MgPSAwO25fZmxhZ3MgPCBnZW5fbmJfaW50O25fZmxhZ3MrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICB0cmVlID0gZ2VuX3htbE5vZGVQdHIobl90cmVlLCAwKTsKKyAgICAgICAgZmxhZ3MgPSBnZW5faW50KG5fZmxhZ3MsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxYSW5jbHVkZVByb2Nlc3NUcmVlRmxhZ3ModHJlZSwgZmxhZ3MpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxOb2RlUHRyKG5fdHJlZSwgdHJlZSwgMCk7CisgICAgICAgIGRlc19pbnQobl9mbGFncywgZmxhZ3MsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sWEluY2x1ZGVQcm9jZXNzVHJlZUZsYWdzIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3RyZWUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2ZsYWdzKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFhJbmNsdWRlUHJvY2Vzc1RyZWVGbGFnc0RhdGEodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9YSU5DTFVERV9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxOb2RlUHRyIHRyZWU7IC8qIGFuIFhNTCBub2RlICovCisgICAgaW50IG5fdHJlZTsKKyAgICBpbnQgZmxhZ3M7IC8qIGEgc2V0IG9mIHhtbFBhcnNlck9wdGlvbiB1c2VkIGZvciBwYXJzaW5nIFhNTCBpbmNsdWRlcyAqLworICAgIGludCBuX2ZsYWdzOworICAgIHZvaWQgKiBkYXRhOyAvKiBhcHBsaWNhdGlvbiBkYXRhIHRoYXQgd2lsbCBiZSBwYXNzZWQgdG8gdGhlIHBhcnNlciBjb250ZXh0IGluIHRoZSBfcHJpdmF0ZSBmaWVsZCBvZiB0aGUgcGFyc2VyIGNvbnRleHQocykgKi8KKyAgICBpbnQgbl9kYXRhOworCisgICAgZm9yIChuX3RyZWUgPSAwO25fdHJlZSA8IGdlbl9uYl94bWxOb2RlUHRyO25fdHJlZSsrKSB7CisgICAgZm9yIChuX2ZsYWdzID0gMDtuX2ZsYWdzIDwgZ2VuX25iX2ludDtuX2ZsYWdzKyspIHsKKyAgICBmb3IgKG5fZGF0YSA9IDA7bl9kYXRhIDwgZ2VuX25iX3VzZXJkYXRhO25fZGF0YSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHRyZWUgPSBnZW5feG1sTm9kZVB0cihuX3RyZWUsIDApOworICAgICAgICBmbGFncyA9IGdlbl9pbnQobl9mbGFncywgMSk7CisgICAgICAgIGRhdGEgPSBnZW5fdXNlcmRhdGEobl9kYXRhLCAyKTsKKworICAgICAgICByZXRfdmFsID0geG1sWEluY2x1ZGVQcm9jZXNzVHJlZUZsYWdzRGF0YSh0cmVlLCBmbGFncywgZGF0YSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl90cmVlLCB0cmVlLCAwKTsKKyAgICAgICAgZGVzX2ludChuX2ZsYWdzLCBmbGFncywgMSk7CisgICAgICAgIGRlc191c2VyZGF0YShuX2RhdGEsIGRhdGEsIDIpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sWEluY2x1ZGVQcm9jZXNzVHJlZUZsYWdzRGF0YSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl90cmVlKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9mbGFncyk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZGF0YSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sWEluY2x1ZGVTZXRGbGFncyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1hJTkNMVURFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbFhJbmNsdWRlQ3R4dFB0ciBjdHh0OyAvKiBhbiBYSW5jbHVkZSBwcm9jZXNzaW5nIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHh0OworICAgIGludCBmbGFnczsgLyogYSBzZXQgb2YgeG1sUGFyc2VyT3B0aW9uIHVzZWQgZm9yIHBhcnNpbmcgWE1MIGluY2x1ZGVzICovCisgICAgaW50IG5fZmxhZ3M7CisKKyAgICBmb3IgKG5fY3R4dCA9IDA7bl9jdHh0IDwgZ2VuX25iX3htbFhJbmNsdWRlQ3R4dFB0cjtuX2N0eHQrKykgeworICAgIGZvciAobl9mbGFncyA9IDA7bl9mbGFncyA8IGdlbl9uYl9pbnQ7bl9mbGFncysrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eHQgPSBnZW5feG1sWEluY2x1ZGVDdHh0UHRyKG5fY3R4dCwgMCk7CisgICAgICAgIGZsYWdzID0gZ2VuX2ludChuX2ZsYWdzLCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sWEluY2x1ZGVTZXRGbGFncyhjdHh0LCBmbGFncyk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFhJbmNsdWRlQ3R4dFB0cihuX2N0eHQsIGN0eHQsIDApOworICAgICAgICBkZXNfaW50KG5fZmxhZ3MsIGZsYWdzLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFhJbmNsdWRlU2V0RmxhZ3MiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZmxhZ3MpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCitzdGF0aWMgaW50Cit0ZXN0X3hpbmNsdWRlKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaWYgKHF1aWV0ID09IDApIHByaW50ZigiVGVzdGluZyB4aW5jbHVkZSA6IDggb2YgMTAgZnVuY3Rpb25zIC4uLlxuIik7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYSW5jbHVkZU5ld0NvbnRleHQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFhJbmNsdWRlUHJvY2VzcygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sWEluY2x1ZGVQcm9jZXNzRmxhZ3MoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFhJbmNsdWRlUHJvY2Vzc0ZsYWdzRGF0YSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sWEluY2x1ZGVQcm9jZXNzTm9kZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sWEluY2x1ZGVQcm9jZXNzVHJlZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sWEluY2x1ZGVQcm9jZXNzVHJlZUZsYWdzKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYSW5jbHVkZVByb2Nlc3NUcmVlRmxhZ3NEYXRhKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYSW5jbHVkZVNldEZsYWdzKCk7CisKKyAgICBpZiAodGVzdF9yZXQgIT0gMCkKKwlwcmludGYoIk1vZHVsZSB4aW5jbHVkZTogJWQgZXJyb3JzXG4iLCB0ZXN0X3JldCk7CisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworc3RhdGljIGludAordGVzdF94bWxBbGxvY091dHB1dEJ1ZmZlcih2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxPdXRwdXRCdWZmZXJQdHIgcmV0X3ZhbDsKKyAgICB4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyIGVuY29kZXI7IC8qIHRoZSBlbmNvZGluZyBjb252ZXJ0ZXIgb3IgTlVMTCAqLworICAgIGludCBuX2VuY29kZXI7CisKKyAgICBmb3IgKG5fZW5jb2RlciA9IDA7bl9lbmNvZGVyIDwgZ2VuX25iX3htbENoYXJFbmNvZGluZ0hhbmRsZXJQdHI7bl9lbmNvZGVyKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgZW5jb2RlciA9IGdlbl94bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyKG5fZW5jb2RlciwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbEFsbG9jT3V0cHV0QnVmZmVyKGVuY29kZXIpOworICAgICAgICBkZXNyZXRfeG1sT3V0cHV0QnVmZmVyUHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyKG5fZW5jb2RlciwgZW5jb2RlciwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxBbGxvY091dHB1dEJ1ZmZlciIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9lbmNvZGVyKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sQWxsb2NQYXJzZXJJbnB1dEJ1ZmZlcih2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciByZXRfdmFsOworICAgIHhtbENoYXJFbmNvZGluZyBlbmM7IC8qIHRoZSBjaGFyc2V0IGVuY29kaW5nIGlmIGtub3duICovCisgICAgaW50IG5fZW5jOworCisgICAgZm9yIChuX2VuYyA9IDA7bl9lbmMgPCBnZW5fbmJfeG1sQ2hhckVuY29kaW5nO25fZW5jKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgZW5jID0gZ2VuX3htbENoYXJFbmNvZGluZyhuX2VuYywgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbEFsbG9jUGFyc2VySW5wdXRCdWZmZXIoZW5jKTsKKyAgICAgICAgZGVzcmV0X3htbFBhcnNlcklucHV0QnVmZmVyUHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxDaGFyRW5jb2Rpbmcobl9lbmMsIGVuYywgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxBbGxvY1BhcnNlcklucHV0QnVmZmVyIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2VuYyk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxDaGVja0ZpbGVuYW1lKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGNoYXIgKiBwYXRoOyAvKiB0aGUgcGF0aCB0byBjaGVjayAqLworICAgIGludCBuX3BhdGg7CisKKyAgICBmb3IgKG5fcGF0aCA9IDA7bl9wYXRoIDwgZ2VuX25iX2NvbnN0X2NoYXJfcHRyO25fcGF0aCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHBhdGggPSBnZW5fY29uc3RfY2hhcl9wdHIobl9wYXRoLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sQ2hlY2tGaWxlbmFtZSgoY29uc3QgY2hhciAqKXBhdGgpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19jb25zdF9jaGFyX3B0cihuX3BhdGgsIChjb25zdCBjaGFyICopcGF0aCwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxDaGVja0ZpbGVuYW1lIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3BhdGgpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sQ2hlY2tIVFRQSW5wdXQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sUGFyc2VySW5wdXRQdHIgcmV0X3ZhbDsKKyAgICB4bWxQYXJzZXJDdHh0UHRyIGN0eHQ7IC8qIGFuIFhNTCBwYXJzZXIgY29udGV4dCAqLworICAgIGludCBuX2N0eHQ7CisgICAgeG1sUGFyc2VySW5wdXRQdHIgcmV0OyAvKiBhbiBYTUwgcGFyc2VyIGlucHV0ICovCisgICAgaW50IG5fcmV0OworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxQYXJzZXJDdHh0UHRyO25fY3R4dCsrKSB7CisgICAgZm9yIChuX3JldCA9IDA7bl9yZXQgPCBnZW5fbmJfeG1sUGFyc2VySW5wdXRQdHI7bl9yZXQrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX3htbFBhcnNlckN0eHRQdHIobl9jdHh0LCAwKTsKKyAgICAgICAgcmV0ID0gZ2VuX3htbFBhcnNlcklucHV0UHRyKG5fcmV0LCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sQ2hlY2tIVFRQSW5wdXQoY3R4dCwgcmV0KTsKKyAgICAgICAgZGVzcmV0X3htbFBhcnNlcklucHV0UHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxQYXJzZXJDdHh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIGRlc194bWxQYXJzZXJJbnB1dFB0cihuX3JldCwgcmV0LCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbENoZWNrSFRUUElucHV0IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3JldCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sQ2xlYW51cElucHV0Q2FsbGJhY2tzKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworCisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisKKyAgICAgICAgeG1sQ2xlYW51cElucHV0Q2FsbGJhY2tzKCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbENsZWFudXBJbnB1dENhbGxiYWNrcyIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sQ2xlYW51cE91dHB1dENhbGxiYWNrcyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworCisgICAgICAgIHhtbENsZWFudXBPdXRwdXRDYWxsYmFja3MoKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sQ2xlYW51cE91dHB1dENhbGxiYWNrcyIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxGaWxlQ2xvc2Uodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgdm9pZCAqIGNvbnRleHQ7IC8qIHRoZSBJL08gY29udGV4dCAqLworICAgIGludCBuX2NvbnRleHQ7CisKKyAgICBmb3IgKG5fY29udGV4dCA9IDA7bl9jb250ZXh0IDwgZ2VuX25iX3ZvaWRfcHRyO25fY29udGV4dCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGNvbnRleHQgPSBnZW5fdm9pZF9wdHIobl9jb250ZXh0LCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sRmlsZUNsb3NlKGNvbnRleHQpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc192b2lkX3B0cihuX2NvbnRleHQsIGNvbnRleHQsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sRmlsZUNsb3NlIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2NvbnRleHQpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sRmlsZU1hdGNoKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGNvbnN0IGNoYXIgKiBmaWxlbmFtZTsgLyogdGhlIFVSSSBmb3IgbWF0Y2hpbmcgKi8KKyAgICBpbnQgbl9maWxlbmFtZTsKKworICAgIGZvciAobl9maWxlbmFtZSA9IDA7bl9maWxlbmFtZSA8IGdlbl9uYl9maWxlcGF0aDtuX2ZpbGVuYW1lKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgZmlsZW5hbWUgPSBnZW5fZmlsZXBhdGgobl9maWxlbmFtZSwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbEZpbGVNYXRjaChmaWxlbmFtZSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2ZpbGVwYXRoKG5fZmlsZW5hbWUsIGZpbGVuYW1lLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbEZpbGVNYXRjaCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9maWxlbmFtZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxGaWxlT3Blbih2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB2b2lkICogcmV0X3ZhbDsKKyAgICBjb25zdCBjaGFyICogZmlsZW5hbWU7IC8qIHRoZSBVUkkgZm9yIG1hdGNoaW5nICovCisgICAgaW50IG5fZmlsZW5hbWU7CisKKyAgICBmb3IgKG5fZmlsZW5hbWUgPSAwO25fZmlsZW5hbWUgPCBnZW5fbmJfZmlsZXBhdGg7bl9maWxlbmFtZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGZpbGVuYW1lID0gZ2VuX2ZpbGVwYXRoKG5fZmlsZW5hbWUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxGaWxlT3BlbihmaWxlbmFtZSk7CisgICAgICAgIGRlc3JldF92b2lkX3B0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfZmlsZXBhdGgobl9maWxlbmFtZSwgZmlsZW5hbWUsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sRmlsZU9wZW4iLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZmlsZW5hbWUpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sRmlsZVJlYWQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgdm9pZCAqIGNvbnRleHQ7IC8qIHRoZSBJL08gY29udGV4dCAqLworICAgIGludCBuX2NvbnRleHQ7CisgICAgY2hhciAqIGJ1ZmZlcjsgLyogd2hlcmUgdG8gZHJvcCBkYXRhICovCisgICAgaW50IG5fYnVmZmVyOworICAgIGludCBsZW47IC8qIG51bWJlciBvZiBieXRlcyB0byB3cml0ZSAqLworICAgIGludCBuX2xlbjsKKworICAgIGZvciAobl9jb250ZXh0ID0gMDtuX2NvbnRleHQgPCBnZW5fbmJfdm9pZF9wdHI7bl9jb250ZXh0KyspIHsKKyAgICBmb3IgKG5fYnVmZmVyID0gMDtuX2J1ZmZlciA8IGdlbl9uYl9jaGFyX3B0cjtuX2J1ZmZlcisrKSB7CisgICAgZm9yIChuX2xlbiA9IDA7bl9sZW4gPCBnZW5fbmJfaW50O25fbGVuKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY29udGV4dCA9IGdlbl92b2lkX3B0cihuX2NvbnRleHQsIDApOworICAgICAgICBidWZmZXIgPSBnZW5fY2hhcl9wdHIobl9idWZmZXIsIDEpOworICAgICAgICBsZW4gPSBnZW5faW50KG5fbGVuLCAyKTsKKworICAgICAgICByZXRfdmFsID0geG1sRmlsZVJlYWQoY29udGV4dCwgYnVmZmVyLCBsZW4pOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc192b2lkX3B0cihuX2NvbnRleHQsIGNvbnRleHQsIDApOworICAgICAgICBkZXNfY2hhcl9wdHIobl9idWZmZXIsIGJ1ZmZlciwgMSk7CisgICAgICAgIGRlc19pbnQobl9sZW4sIGxlbiwgMik7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxGaWxlUmVhZCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jb250ZXh0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9idWZmZXIpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2xlbik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbElPRlRQQ2xvc2Uodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9GVFBfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgdm9pZCAqIGNvbnRleHQ7IC8qIHRoZSBJL08gY29udGV4dCAqLworICAgIGludCBuX2NvbnRleHQ7CisKKyAgICBmb3IgKG5fY29udGV4dCA9IDA7bl9jb250ZXh0IDwgZ2VuX25iX3ZvaWRfcHRyO25fY29udGV4dCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGNvbnRleHQgPSBnZW5fdm9pZF9wdHIobl9jb250ZXh0LCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sSU9GVFBDbG9zZShjb250ZXh0KTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfdm9pZF9wdHIobl9jb250ZXh0LCBjb250ZXh0LCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbElPRlRQQ2xvc2UiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29udGV4dCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbElPRlRQTWF0Y2godm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9GVFBfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgY29uc3QgY2hhciAqIGZpbGVuYW1lOyAvKiB0aGUgVVJJIGZvciBtYXRjaGluZyAqLworICAgIGludCBuX2ZpbGVuYW1lOworCisgICAgZm9yIChuX2ZpbGVuYW1lID0gMDtuX2ZpbGVuYW1lIDwgZ2VuX25iX2ZpbGVwYXRoO25fZmlsZW5hbWUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBmaWxlbmFtZSA9IGdlbl9maWxlcGF0aChuX2ZpbGVuYW1lLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sSU9GVFBNYXRjaChmaWxlbmFtZSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2ZpbGVwYXRoKG5fZmlsZW5hbWUsIGZpbGVuYW1lLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbElPRlRQTWF0Y2giLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZmlsZW5hbWUpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxJT0ZUUE9wZW4odm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9GVFBfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgdm9pZCAqIHJldF92YWw7CisgICAgY29uc3QgY2hhciAqIGZpbGVuYW1lOyAvKiB0aGUgVVJJIGZvciBtYXRjaGluZyAqLworICAgIGludCBuX2ZpbGVuYW1lOworCisgICAgZm9yIChuX2ZpbGVuYW1lID0gMDtuX2ZpbGVuYW1lIDwgZ2VuX25iX2ZpbGVwYXRoO25fZmlsZW5hbWUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBmaWxlbmFtZSA9IGdlbl9maWxlcGF0aChuX2ZpbGVuYW1lLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sSU9GVFBPcGVuKGZpbGVuYW1lKTsKKyAgICAgICAgZGVzcmV0X3ZvaWRfcHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19maWxlcGF0aChuX2ZpbGVuYW1lLCBmaWxlbmFtZSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxJT0ZUUE9wZW4iLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZmlsZW5hbWUpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxJT0ZUUFJlYWQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9GVFBfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgdm9pZCAqIGNvbnRleHQ7IC8qIHRoZSBJL08gY29udGV4dCAqLworICAgIGludCBuX2NvbnRleHQ7CisgICAgY2hhciAqIGJ1ZmZlcjsgLyogd2hlcmUgdG8gZHJvcCBkYXRhICovCisgICAgaW50IG5fYnVmZmVyOworICAgIGludCBsZW47IC8qIG51bWJlciBvZiBieXRlcyB0byB3cml0ZSAqLworICAgIGludCBuX2xlbjsKKworICAgIGZvciAobl9jb250ZXh0ID0gMDtuX2NvbnRleHQgPCBnZW5fbmJfdm9pZF9wdHI7bl9jb250ZXh0KyspIHsKKyAgICBmb3IgKG5fYnVmZmVyID0gMDtuX2J1ZmZlciA8IGdlbl9uYl9jaGFyX3B0cjtuX2J1ZmZlcisrKSB7CisgICAgZm9yIChuX2xlbiA9IDA7bl9sZW4gPCBnZW5fbmJfaW50O25fbGVuKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY29udGV4dCA9IGdlbl92b2lkX3B0cihuX2NvbnRleHQsIDApOworICAgICAgICBidWZmZXIgPSBnZW5fY2hhcl9wdHIobl9idWZmZXIsIDEpOworICAgICAgICBsZW4gPSBnZW5faW50KG5fbGVuLCAyKTsKKworICAgICAgICByZXRfdmFsID0geG1sSU9GVFBSZWFkKGNvbnRleHQsIGJ1ZmZlciwgbGVuKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfdm9pZF9wdHIobl9jb250ZXh0LCBjb250ZXh0LCAwKTsKKyAgICAgICAgZGVzX2NoYXJfcHRyKG5fYnVmZmVyLCBidWZmZXIsIDEpOworICAgICAgICBkZXNfaW50KG5fbGVuLCBsZW4sIDIpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sSU9GVFBSZWFkIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2NvbnRleHQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2J1ZmZlcik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbGVuKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxJT0hUVFBDbG9zZSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX0hUVFBfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgdm9pZCAqIGNvbnRleHQ7IC8qIHRoZSBJL08gY29udGV4dCAqLworICAgIGludCBuX2NvbnRleHQ7CisKKyAgICBmb3IgKG5fY29udGV4dCA9IDA7bl9jb250ZXh0IDwgZ2VuX25iX3ZvaWRfcHRyO25fY29udGV4dCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGNvbnRleHQgPSBnZW5fdm9pZF9wdHIobl9jb250ZXh0LCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sSU9IVFRQQ2xvc2UoY29udGV4dCk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3ZvaWRfcHRyKG5fY29udGV4dCwgY29udGV4dCwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxJT0hUVFBDbG9zZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jb250ZXh0KTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sSU9IVFRQTWF0Y2godm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9IVFRQX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGNvbnN0IGNoYXIgKiBmaWxlbmFtZTsgLyogdGhlIFVSSSBmb3IgbWF0Y2hpbmcgKi8KKyAgICBpbnQgbl9maWxlbmFtZTsKKworICAgIGZvciAobl9maWxlbmFtZSA9IDA7bl9maWxlbmFtZSA8IGdlbl9uYl9maWxlcGF0aDtuX2ZpbGVuYW1lKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgZmlsZW5hbWUgPSBnZW5fZmlsZXBhdGgobl9maWxlbmFtZSwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbElPSFRUUE1hdGNoKGZpbGVuYW1lKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfZmlsZXBhdGgobl9maWxlbmFtZSwgZmlsZW5hbWUsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sSU9IVFRQTWF0Y2giLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZmlsZW5hbWUpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxJT0hUVFBPcGVuKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfSFRUUF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB2b2lkICogcmV0X3ZhbDsKKyAgICBjb25zdCBjaGFyICogZmlsZW5hbWU7IC8qIHRoZSBVUkkgZm9yIG1hdGNoaW5nICovCisgICAgaW50IG5fZmlsZW5hbWU7CisKKyAgICBmb3IgKG5fZmlsZW5hbWUgPSAwO25fZmlsZW5hbWUgPCBnZW5fbmJfZmlsZXBhdGg7bl9maWxlbmFtZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGZpbGVuYW1lID0gZ2VuX2ZpbGVwYXRoKG5fZmlsZW5hbWUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxJT0hUVFBPcGVuKGZpbGVuYW1lKTsKKyAgICAgICAgZGVzcmV0X3htbE5hbm9IVFRQQ3R4dFB0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfZmlsZXBhdGgobl9maWxlbmFtZSwgZmlsZW5hbWUsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sSU9IVFRQT3BlbiIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9maWxlbmFtZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbElPSFRUUFJlYWQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9IVFRQX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHZvaWQgKiBjb250ZXh0OyAvKiB0aGUgSS9PIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jb250ZXh0OworICAgIGNoYXIgKiBidWZmZXI7IC8qIHdoZXJlIHRvIGRyb3AgZGF0YSAqLworICAgIGludCBuX2J1ZmZlcjsKKyAgICBpbnQgbGVuOyAvKiBudW1iZXIgb2YgYnl0ZXMgdG8gd3JpdGUgKi8KKyAgICBpbnQgbl9sZW47CisKKyAgICBmb3IgKG5fY29udGV4dCA9IDA7bl9jb250ZXh0IDwgZ2VuX25iX3ZvaWRfcHRyO25fY29udGV4dCsrKSB7CisgICAgZm9yIChuX2J1ZmZlciA9IDA7bl9idWZmZXIgPCBnZW5fbmJfY2hhcl9wdHI7bl9idWZmZXIrKykgeworICAgIGZvciAobl9sZW4gPSAwO25fbGVuIDwgZ2VuX25iX2ludDtuX2xlbisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGNvbnRleHQgPSBnZW5fdm9pZF9wdHIobl9jb250ZXh0LCAwKTsKKyAgICAgICAgYnVmZmVyID0gZ2VuX2NoYXJfcHRyKG5fYnVmZmVyLCAxKTsKKyAgICAgICAgbGVuID0gZ2VuX2ludChuX2xlbiwgMik7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbElPSFRUUFJlYWQoY29udGV4dCwgYnVmZmVyLCBsZW4pOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc192b2lkX3B0cihuX2NvbnRleHQsIGNvbnRleHQsIDApOworICAgICAgICBkZXNfY2hhcl9wdHIobl9idWZmZXIsIGJ1ZmZlciwgMSk7CisgICAgICAgIGRlc19pbnQobl9sZW4sIGxlbiwgMik7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxJT0hUVFBSZWFkIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2NvbnRleHQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2J1ZmZlcik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbGVuKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxOb05ldEV4dGVybmFsRW50aXR5TG9hZGVyKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbFBhcnNlcklucHV0UHRyIHJldF92YWw7CisgICAgY29uc3QgY2hhciAqIFVSTDsgLyogdGhlIFVSTCBmb3IgdGhlIGVudGl0eSB0byBsb2FkICovCisgICAgaW50IG5fVVJMOworICAgIGNoYXIgKiBJRDsgLyogdGhlIFN5c3RlbSBJRCBmb3IgdGhlIGVudGl0eSB0byBsb2FkICovCisgICAgaW50IG5fSUQ7CisgICAgeG1sUGFyc2VyQ3R4dFB0ciBjdHh0OyAvKiB0aGUgY29udGV4dCBpbiB3aGljaCB0aGUgZW50aXR5IGlzIGNhbGxlZCBvciBOVUxMICovCisgICAgaW50IG5fY3R4dDsKKworICAgIGZvciAobl9VUkwgPSAwO25fVVJMIDwgZ2VuX25iX2ZpbGVwYXRoO25fVVJMKyspIHsKKyAgICBmb3IgKG5fSUQgPSAwO25fSUQgPCBnZW5fbmJfY29uc3RfY2hhcl9wdHI7bl9JRCsrKSB7CisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxQYXJzZXJDdHh0UHRyO25fY3R4dCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIFVSTCA9IGdlbl9maWxlcGF0aChuX1VSTCwgMCk7CisgICAgICAgIElEID0gZ2VuX2NvbnN0X2NoYXJfcHRyKG5fSUQsIDEpOworICAgICAgICBjdHh0ID0gZ2VuX3htbFBhcnNlckN0eHRQdHIobl9jdHh0LCAyKTsKKworICAgICAgICByZXRfdmFsID0geG1sTm9OZXRFeHRlcm5hbEVudGl0eUxvYWRlcihVUkwsIChjb25zdCBjaGFyICopSUQsIGN0eHQpOworICAgICAgICBkZXNyZXRfeG1sUGFyc2VySW5wdXRQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2ZpbGVwYXRoKG5fVVJMLCBVUkwsIDApOworICAgICAgICBkZXNfY29uc3RfY2hhcl9wdHIobl9JRCwgKGNvbnN0IGNoYXIgKilJRCwgMSk7CisgICAgICAgIGRlc194bWxQYXJzZXJDdHh0UHRyKG5fY3R4dCwgY3R4dCwgMik7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxOb05ldEV4dGVybmFsRW50aXR5TG9hZGVyIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX1VSTCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fSUQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxOb3JtYWxpemVXaW5kb3dzUGF0aCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxDaGFyICogcmV0X3ZhbDsKKyAgICB4bWxDaGFyICogcGF0aDsgLyogdGhlIGlucHV0IGZpbGUgcGF0aCAqLworICAgIGludCBuX3BhdGg7CisKKyAgICBmb3IgKG5fcGF0aCA9IDA7bl9wYXRoIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fcGF0aCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHBhdGggPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9wYXRoLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sTm9ybWFsaXplV2luZG93c1BhdGgoKGNvbnN0IHhtbENoYXIgKilwYXRoKTsKKyAgICAgICAgZGVzcmV0X3htbENoYXJfcHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX3BhdGgsIChjb25zdCB4bWxDaGFyICopcGF0aCwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxOb3JtYWxpemVXaW5kb3dzUGF0aCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9wYXRoKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbE91dHB1dEJ1ZmZlckNyZWF0ZUJ1ZmZlcih2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxPdXRwdXRCdWZmZXJQdHIgcmV0X3ZhbDsKKyAgICB4bWxCdWZmZXJQdHIgYnVmZmVyOyAvKiBhIHhtbEJ1ZmZlclB0ciAqLworICAgIGludCBuX2J1ZmZlcjsKKyAgICB4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyIGVuY29kZXI7IC8qIHRoZSBlbmNvZGluZyBjb252ZXJ0ZXIgb3IgTlVMTCAqLworICAgIGludCBuX2VuY29kZXI7CisKKyAgICBmb3IgKG5fYnVmZmVyID0gMDtuX2J1ZmZlciA8IGdlbl9uYl94bWxCdWZmZXJQdHI7bl9idWZmZXIrKykgeworICAgIGZvciAobl9lbmNvZGVyID0gMDtuX2VuY29kZXIgPCBnZW5fbmJfeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0cjtuX2VuY29kZXIrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBidWZmZXIgPSBnZW5feG1sQnVmZmVyUHRyKG5fYnVmZmVyLCAwKTsKKyAgICAgICAgZW5jb2RlciA9IGdlbl94bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyKG5fZW5jb2RlciwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbE91dHB1dEJ1ZmZlckNyZWF0ZUJ1ZmZlcihidWZmZXIsIGVuY29kZXIpOworICAgICAgICBkZXNyZXRfeG1sT3V0cHV0QnVmZmVyUHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxCdWZmZXJQdHIobl9idWZmZXIsIGJ1ZmZlciwgMCk7CisgICAgICAgIGRlc194bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyKG5fZW5jb2RlciwgZW5jb2RlciwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxPdXRwdXRCdWZmZXJDcmVhdGVCdWZmZXIiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fYnVmZmVyKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9lbmNvZGVyKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZkKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbE91dHB1dEJ1ZmZlclB0ciByZXRfdmFsOworICAgIGludCBmZDsgLyogYSBmaWxlIGRlc2NyaXB0b3IgbnVtYmVyICovCisgICAgaW50IG5fZmQ7CisgICAgeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0ciBlbmNvZGVyOyAvKiB0aGUgZW5jb2RpbmcgY29udmVydGVyIG9yIE5VTEwgKi8KKyAgICBpbnQgbl9lbmNvZGVyOworCisgICAgZm9yIChuX2ZkID0gMDtuX2ZkIDwgZ2VuX25iX2ludDtuX2ZkKyspIHsKKyAgICBmb3IgKG5fZW5jb2RlciA9IDA7bl9lbmNvZGVyIDwgZ2VuX25iX3htbENoYXJFbmNvZGluZ0hhbmRsZXJQdHI7bl9lbmNvZGVyKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgZmQgPSBnZW5faW50KG5fZmQsIDApOworICAgICAgICBlbmNvZGVyID0gZ2VuX3htbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIobl9lbmNvZGVyLCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmQoZmQsIGVuY29kZXIpOworICAgICAgICBkZXNyZXRfeG1sT3V0cHV0QnVmZmVyUHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9mZCwgZmQsIDApOworICAgICAgICBkZXNfeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0cihuX2VuY29kZXIsIGVuY29kZXIsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZmQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2VuY29kZXIpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxPdXRwdXRCdWZmZXJQdHIgcmV0X3ZhbDsKKyAgICBGSUxFICogZmlsZTsgLyogYSBGSUxFKiAqLworICAgIGludCBuX2ZpbGU7CisgICAgeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0ciBlbmNvZGVyOyAvKiB0aGUgZW5jb2RpbmcgY29udmVydGVyIG9yIE5VTEwgKi8KKyAgICBpbnQgbl9lbmNvZGVyOworCisgICAgZm9yIChuX2ZpbGUgPSAwO25fZmlsZSA8IGdlbl9uYl9GSUxFX3B0cjtuX2ZpbGUrKykgeworICAgIGZvciAobl9lbmNvZGVyID0gMDtuX2VuY29kZXIgPCBnZW5fbmJfeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0cjtuX2VuY29kZXIrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBmaWxlID0gZ2VuX0ZJTEVfcHRyKG5fZmlsZSwgMCk7CisgICAgICAgIGVuY29kZXIgPSBnZW5feG1sQ2hhckVuY29kaW5nSGFuZGxlclB0cihuX2VuY29kZXIsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlKGZpbGUsIGVuY29kZXIpOworICAgICAgICBkZXNyZXRfeG1sT3V0cHV0QnVmZmVyUHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19GSUxFX3B0cihuX2ZpbGUsIGZpbGUsIDApOworICAgICAgICBkZXNfeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0cihuX2VuY29kZXIsIGVuY29kZXIsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9maWxlKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9lbmNvZGVyKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbE91dHB1dEJ1ZmZlclB0ciByZXRfdmFsOworICAgIGNvbnN0IGNoYXIgKiBVUkk7IC8qIGEgQyBzdHJpbmcgY29udGFpbmluZyB0aGUgVVJJIG9yIGZpbGVuYW1lICovCisgICAgaW50IG5fVVJJOworICAgIHhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIgZW5jb2RlcjsgLyogdGhlIGVuY29kaW5nIGNvbnZlcnRlciBvciBOVUxMICovCisgICAgaW50IG5fZW5jb2RlcjsKKyAgICBpbnQgY29tcHJlc3Npb247IC8qIHRoZSBjb21wcmVzc2lvbiByYXRpb24gKDAgbm9uZSwgOSBtYXgpLiAqLworICAgIGludCBuX2NvbXByZXNzaW9uOworCisgICAgZm9yIChuX1VSSSA9IDA7bl9VUkkgPCBnZW5fbmJfZmlsZW91dHB1dDtuX1VSSSsrKSB7CisgICAgZm9yIChuX2VuY29kZXIgPSAwO25fZW5jb2RlciA8IGdlbl9uYl94bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyO25fZW5jb2RlcisrKSB7CisgICAgZm9yIChuX2NvbXByZXNzaW9uID0gMDtuX2NvbXByZXNzaW9uIDwgZ2VuX25iX2ludDtuX2NvbXByZXNzaW9uKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgVVJJID0gZ2VuX2ZpbGVvdXRwdXQobl9VUkksIDApOworICAgICAgICBlbmNvZGVyID0gZ2VuX3htbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIobl9lbmNvZGVyLCAxKTsKKyAgICAgICAgY29tcHJlc3Npb24gPSBnZW5faW50KG5fY29tcHJlc3Npb24sIDIpOworCisgICAgICAgIHJldF92YWwgPSB4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZShVUkksIGVuY29kZXIsIGNvbXByZXNzaW9uKTsKKyAgICAgICAgZGVzcmV0X3htbE91dHB1dEJ1ZmZlclB0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfZmlsZW91dHB1dChuX1VSSSwgVVJJLCAwKTsKKyAgICAgICAgZGVzX3htbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIobl9lbmNvZGVyLCBlbmNvZGVyLCAxKTsKKyAgICAgICAgZGVzX2ludChuX2NvbXByZXNzaW9uLCBjb21wcmVzc2lvbiwgMik7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9VUkkpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2VuY29kZXIpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2NvbXByZXNzaW9uKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxPdXRwdXRCdWZmZXJGbHVzaCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxPdXRwdXRCdWZmZXJQdHIgb3V0OyAvKiBhIGJ1ZmZlcmVkIG91dHB1dCAqLworICAgIGludCBuX291dDsKKworICAgIGZvciAobl9vdXQgPSAwO25fb3V0IDwgZ2VuX25iX3htbE91dHB1dEJ1ZmZlclB0cjtuX291dCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIG91dCA9IGdlbl94bWxPdXRwdXRCdWZmZXJQdHIobl9vdXQsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxPdXRwdXRCdWZmZXJGbHVzaChvdXQpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxPdXRwdXRCdWZmZXJQdHIobl9vdXQsIG91dCwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxPdXRwdXRCdWZmZXJGbHVzaCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9vdXQpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxPdXRwdXRCdWZmZXJHZXRDb250ZW50KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGNvbnN0IHhtbENoYXIgKiByZXRfdmFsOworICAgIHhtbE91dHB1dEJ1ZmZlclB0ciBvdXQ7IC8qIGFuIHhtbE91dHB1dEJ1ZmZlclB0ciAqLworICAgIGludCBuX291dDsKKworICAgIGZvciAobl9vdXQgPSAwO25fb3V0IDwgZ2VuX25iX3htbE91dHB1dEJ1ZmZlclB0cjtuX291dCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIG91dCA9IGdlbl94bWxPdXRwdXRCdWZmZXJQdHIobl9vdXQsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxPdXRwdXRCdWZmZXJHZXRDb250ZW50KG91dCk7CisgICAgICAgIGRlc3JldF9jb25zdF94bWxDaGFyX3B0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sT3V0cHV0QnVmZmVyUHRyKG5fb3V0LCBvdXQsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sT3V0cHV0QnVmZmVyR2V0Q29udGVudCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9vdXQpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxPdXRwdXRCdWZmZXJHZXRTaXplKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisKKyAgICAvKiBtaXNzaW5nIHR5cGUgc3VwcG9ydCAqLworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxPdXRwdXRCdWZmZXJXcml0ZSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxPdXRwdXRCdWZmZXJQdHIgb3V0OyAvKiBhIGJ1ZmZlcmVkIHBhcnNlciBvdXRwdXQgKi8KKyAgICBpbnQgbl9vdXQ7CisgICAgaW50IGxlbjsgLyogdGhlIHNpemUgaW4gYnl0ZXMgb2YgdGhlIGFycmF5LiAqLworICAgIGludCBuX2xlbjsKKyAgICBjaGFyICogYnVmOyAvKiBhbiBjaGFyIGFycmF5ICovCisgICAgaW50IG5fYnVmOworCisgICAgZm9yIChuX291dCA9IDA7bl9vdXQgPCBnZW5fbmJfeG1sT3V0cHV0QnVmZmVyUHRyO25fb3V0KyspIHsKKyAgICBmb3IgKG5fbGVuID0gMDtuX2xlbiA8IGdlbl9uYl9pbnQ7bl9sZW4rKykgeworICAgIGZvciAobl9idWYgPSAwO25fYnVmIDwgZ2VuX25iX2NvbnN0X2NoYXJfcHRyO25fYnVmKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgb3V0ID0gZ2VuX3htbE91dHB1dEJ1ZmZlclB0cihuX291dCwgMCk7CisgICAgICAgIGxlbiA9IGdlbl9pbnQobl9sZW4sIDEpOworICAgICAgICBidWYgPSBnZW5fY29uc3RfY2hhcl9wdHIobl9idWYsIDIpOworCisgICAgICAgIHJldF92YWwgPSB4bWxPdXRwdXRCdWZmZXJXcml0ZShvdXQsIGxlbiwgKGNvbnN0IGNoYXIgKilidWYpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxPdXRwdXRCdWZmZXJQdHIobl9vdXQsIG91dCwgMCk7CisgICAgICAgIGRlc19pbnQobl9sZW4sIGxlbiwgMSk7CisgICAgICAgIGRlc19jb25zdF9jaGFyX3B0cihuX2J1ZiwgKGNvbnN0IGNoYXIgKilidWYsIDIpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sT3V0cHV0QnVmZmVyV3JpdGUiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fb3V0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9sZW4pOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2J1Zik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sT3V0cHV0QnVmZmVyV3JpdGVFc2NhcGUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworICAgIC8qIG1pc3NpbmcgdHlwZSBzdXBwb3J0ICovCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfT1VUUFVUX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbE91dHB1dEJ1ZmZlclB0ciBvdXQ7IC8qIGEgYnVmZmVyZWQgcGFyc2VyIG91dHB1dCAqLworICAgIGludCBuX291dDsKKyAgICBjaGFyICogc3RyOyAvKiBhIHplcm8gdGVybWluYXRlZCBDIHN0cmluZyAqLworICAgIGludCBuX3N0cjsKKworICAgIGZvciAobl9vdXQgPSAwO25fb3V0IDwgZ2VuX25iX3htbE91dHB1dEJ1ZmZlclB0cjtuX291dCsrKSB7CisgICAgZm9yIChuX3N0ciA9IDA7bl9zdHIgPCBnZW5fbmJfY29uc3RfY2hhcl9wdHI7bl9zdHIrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBvdXQgPSBnZW5feG1sT3V0cHV0QnVmZmVyUHRyKG5fb3V0LCAwKTsKKyAgICAgICAgc3RyID0gZ2VuX2NvbnN0X2NoYXJfcHRyKG5fc3RyLCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcob3V0LCAoY29uc3QgY2hhciAqKXN0cik7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbE91dHB1dEJ1ZmZlclB0cihuX291dCwgb3V0LCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X2NoYXJfcHRyKG5fc3RyLCAoY29uc3QgY2hhciAqKXN0ciwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9vdXQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3N0cik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxQYXJzZXJHZXREaXJlY3Rvcnkodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworICAgIC8qIG1pc3NpbmcgdHlwZSBzdXBwb3J0ICovCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIgcmV0X3ZhbDsKKyAgICBpbnQgZmQ7IC8qIGEgZmlsZSBkZXNjcmlwdG9yIG51bWJlciAqLworICAgIGludCBuX2ZkOworICAgIHhtbENoYXJFbmNvZGluZyBlbmM7IC8qIHRoZSBjaGFyc2V0IGVuY29kaW5nIGlmIGtub3duICovCisgICAgaW50IG5fZW5jOworCisgICAgZm9yIChuX2ZkID0gMDtuX2ZkIDwgZ2VuX25iX2ludDtuX2ZkKyspIHsKKyAgICBmb3IgKG5fZW5jID0gMDtuX2VuYyA8IGdlbl9uYl94bWxDaGFyRW5jb2Rpbmc7bl9lbmMrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBmZCA9IGdlbl9pbnQobl9mZCwgMCk7CisgICAgICAgIGVuYyA9IGdlbl94bWxDaGFyRW5jb2Rpbmcobl9lbmMsIDEpOworICAgICAgICBpZiAoZmQgPj0gMCkgZmQgPSAtMTsKKworICAgICAgICByZXRfdmFsID0geG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGZChmZCwgZW5jKTsKKyAgICAgICAgZGVzcmV0X3htbFBhcnNlcklucHV0QnVmZmVyUHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9mZCwgZmQsIDApOworICAgICAgICBkZXNfeG1sQ2hhckVuY29kaW5nKG5fZW5jLCBlbmMsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGZCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9mZCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZW5jKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIgcmV0X3ZhbDsKKyAgICBGSUxFICogZmlsZTsgLyogYSBGSUxFKiAqLworICAgIGludCBuX2ZpbGU7CisgICAgeG1sQ2hhckVuY29kaW5nIGVuYzsgLyogdGhlIGNoYXJzZXQgZW5jb2RpbmcgaWYga25vd24gKi8KKyAgICBpbnQgbl9lbmM7CisKKyAgICBmb3IgKG5fZmlsZSA9IDA7bl9maWxlIDwgZ2VuX25iX0ZJTEVfcHRyO25fZmlsZSsrKSB7CisgICAgZm9yIChuX2VuYyA9IDA7bl9lbmMgPCBnZW5fbmJfeG1sQ2hhckVuY29kaW5nO25fZW5jKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgZmlsZSA9IGdlbl9GSUxFX3B0cihuX2ZpbGUsIDApOworICAgICAgICBlbmMgPSBnZW5feG1sQ2hhckVuY29kaW5nKG5fZW5jLCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlKGZpbGUsIGVuYyk7CisgICAgICAgIGRlc3JldF94bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfRklMRV9wdHIobl9maWxlLCBmaWxlLCAwKTsKKyAgICAgICAgZGVzX3htbENoYXJFbmNvZGluZyhuX2VuYywgZW5jLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9maWxlKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9lbmMpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIgcmV0X3ZhbDsKKyAgICBjb25zdCBjaGFyICogVVJJOyAvKiBhIEMgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIFVSSSBvciBmaWxlbmFtZSAqLworICAgIGludCBuX1VSSTsKKyAgICB4bWxDaGFyRW5jb2RpbmcgZW5jOyAvKiB0aGUgY2hhcnNldCBlbmNvZGluZyBpZiBrbm93biAqLworICAgIGludCBuX2VuYzsKKworICAgIGZvciAobl9VUkkgPSAwO25fVVJJIDwgZ2VuX25iX2ZpbGVvdXRwdXQ7bl9VUkkrKykgeworICAgIGZvciAobl9lbmMgPSAwO25fZW5jIDwgZ2VuX25iX3htbENoYXJFbmNvZGluZztuX2VuYysrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIFVSSSA9IGdlbl9maWxlb3V0cHV0KG5fVVJJLCAwKTsKKyAgICAgICAgZW5jID0gZ2VuX3htbENoYXJFbmNvZGluZyhuX2VuYywgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWUoVVJJLCBlbmMpOworICAgICAgICBkZXNyZXRfeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2ZpbGVvdXRwdXQobl9VUkksIFVSSSwgMCk7CisgICAgICAgIGRlc194bWxDaGFyRW5jb2Rpbmcobl9lbmMsIGVuYywgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX1VSSSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZW5jKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZU1lbSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciByZXRfdmFsOworICAgIGNoYXIgKiBtZW07IC8qIHRoZSBtZW1vcnkgaW5wdXQgKi8KKyAgICBpbnQgbl9tZW07CisgICAgaW50IHNpemU7IC8qIHRoZSBsZW5ndGggb2YgdGhlIG1lbW9yeSBibG9jayAqLworICAgIGludCBuX3NpemU7CisgICAgeG1sQ2hhckVuY29kaW5nIGVuYzsgLyogdGhlIGNoYXJzZXQgZW5jb2RpbmcgaWYga25vd24gKi8KKyAgICBpbnQgbl9lbmM7CisKKyAgICBmb3IgKG5fbWVtID0gMDtuX21lbSA8IGdlbl9uYl9jb25zdF9jaGFyX3B0cjtuX21lbSsrKSB7CisgICAgZm9yIChuX3NpemUgPSAwO25fc2l6ZSA8IGdlbl9uYl9pbnQ7bl9zaXplKyspIHsKKyAgICBmb3IgKG5fZW5jID0gMDtuX2VuYyA8IGdlbl9uYl94bWxDaGFyRW5jb2Rpbmc7bl9lbmMrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBtZW0gPSBnZW5fY29uc3RfY2hhcl9wdHIobl9tZW0sIDApOworICAgICAgICBzaXplID0gZ2VuX2ludChuX3NpemUsIDEpOworICAgICAgICBlbmMgPSBnZW5feG1sQ2hhckVuY29kaW5nKG5fZW5jLCAyKTsKKworICAgICAgICByZXRfdmFsID0geG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVNZW0oKGNvbnN0IGNoYXIgKiltZW0sIHNpemUsIGVuYyk7CisgICAgICAgIGRlc3JldF94bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfY29uc3RfY2hhcl9wdHIobl9tZW0sIChjb25zdCBjaGFyICopbWVtLCAwKTsKKyAgICAgICAgZGVzX2ludChuX3NpemUsIHNpemUsIDEpOworICAgICAgICBkZXNfeG1sQ2hhckVuY29kaW5nKG5fZW5jLCBlbmMsIDIpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVNZW0iLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbWVtKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9zaXplKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9lbmMpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZVN0YXRpYyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciByZXRfdmFsOworICAgIGNoYXIgKiBtZW07IC8qIHRoZSBtZW1vcnkgaW5wdXQgKi8KKyAgICBpbnQgbl9tZW07CisgICAgaW50IHNpemU7IC8qIHRoZSBsZW5ndGggb2YgdGhlIG1lbW9yeSBibG9jayAqLworICAgIGludCBuX3NpemU7CisgICAgeG1sQ2hhckVuY29kaW5nIGVuYzsgLyogdGhlIGNoYXJzZXQgZW5jb2RpbmcgaWYga25vd24gKi8KKyAgICBpbnQgbl9lbmM7CisKKyAgICBmb3IgKG5fbWVtID0gMDtuX21lbSA8IGdlbl9uYl9jb25zdF9jaGFyX3B0cjtuX21lbSsrKSB7CisgICAgZm9yIChuX3NpemUgPSAwO25fc2l6ZSA8IGdlbl9uYl9pbnQ7bl9zaXplKyspIHsKKyAgICBmb3IgKG5fZW5jID0gMDtuX2VuYyA8IGdlbl9uYl94bWxDaGFyRW5jb2Rpbmc7bl9lbmMrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBtZW0gPSBnZW5fY29uc3RfY2hhcl9wdHIobl9tZW0sIDApOworICAgICAgICBzaXplID0gZ2VuX2ludChuX3NpemUsIDEpOworICAgICAgICBlbmMgPSBnZW5feG1sQ2hhckVuY29kaW5nKG5fZW5jLCAyKTsKKworICAgICAgICByZXRfdmFsID0geG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVTdGF0aWMoKGNvbnN0IGNoYXIgKiltZW0sIHNpemUsIGVuYyk7CisgICAgICAgIGRlc3JldF94bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfY29uc3RfY2hhcl9wdHIobl9tZW0sIChjb25zdCBjaGFyICopbWVtLCAwKTsKKyAgICAgICAgZGVzX2ludChuX3NpemUsIHNpemUsIDEpOworICAgICAgICBkZXNfeG1sQ2hhckVuY29kaW5nKG5fZW5jLCBlbmMsIDIpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVTdGF0aWMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbWVtKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9zaXplKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9lbmMpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxQYXJzZXJJbnB1dEJ1ZmZlckdyb3codm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIgaW47IC8qIGEgYnVmZmVyZWQgcGFyc2VyIGlucHV0ICovCisgICAgaW50IG5faW47CisgICAgaW50IGxlbjsgLyogaW5kaWNhdGl2ZSB2YWx1ZSBvZiB0aGUgYW1vdW50IG9mIGNoYXJzIHRvIHJlYWQgKi8KKyAgICBpbnQgbl9sZW47CisKKyAgICBmb3IgKG5faW4gPSAwO25faW4gPCBnZW5fbmJfeG1sUGFyc2VySW5wdXRCdWZmZXJQdHI7bl9pbisrKSB7CisgICAgZm9yIChuX2xlbiA9IDA7bl9sZW4gPCBnZW5fbmJfaW50O25fbGVuKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgaW4gPSBnZW5feG1sUGFyc2VySW5wdXRCdWZmZXJQdHIobl9pbiwgMCk7CisgICAgICAgIGxlbiA9IGdlbl9pbnQobl9sZW4sIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxQYXJzZXJJbnB1dEJ1ZmZlckdyb3coaW4sIGxlbik7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFBhcnNlcklucHV0QnVmZmVyUHRyKG5faW4sIGluLCAwKTsKKyAgICAgICAgZGVzX2ludChuX2xlbiwgbGVuLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFBhcnNlcklucHV0QnVmZmVyR3JvdyIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9pbik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbGVuKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxQYXJzZXJJbnB1dEJ1ZmZlclB1c2godm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIgaW47IC8qIGEgYnVmZmVyZWQgcGFyc2VyIGlucHV0ICovCisgICAgaW50IG5faW47CisgICAgaW50IGxlbjsgLyogdGhlIHNpemUgaW4gYnl0ZXMgb2YgdGhlIGFycmF5LiAqLworICAgIGludCBuX2xlbjsKKyAgICBjaGFyICogYnVmOyAvKiBhbiBjaGFyIGFycmF5ICovCisgICAgaW50IG5fYnVmOworCisgICAgZm9yIChuX2luID0gMDtuX2luIDwgZ2VuX25iX3htbFBhcnNlcklucHV0QnVmZmVyUHRyO25faW4rKykgeworICAgIGZvciAobl9sZW4gPSAwO25fbGVuIDwgZ2VuX25iX2ludDtuX2xlbisrKSB7CisgICAgZm9yIChuX2J1ZiA9IDA7bl9idWYgPCBnZW5fbmJfY29uc3RfY2hhcl9wdHI7bl9idWYrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBpbiA9IGdlbl94bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cihuX2luLCAwKTsKKyAgICAgICAgbGVuID0gZ2VuX2ludChuX2xlbiwgMSk7CisgICAgICAgIGJ1ZiA9IGdlbl9jb25zdF9jaGFyX3B0cihuX2J1ZiwgMik7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFBhcnNlcklucHV0QnVmZmVyUHVzaChpbiwgbGVuLCAoY29uc3QgY2hhciAqKWJ1Zik7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFBhcnNlcklucHV0QnVmZmVyUHRyKG5faW4sIGluLCAwKTsKKyAgICAgICAgZGVzX2ludChuX2xlbiwgbGVuLCAxKTsKKyAgICAgICAgZGVzX2NvbnN0X2NoYXJfcHRyKG5fYnVmLCAoY29uc3QgY2hhciAqKWJ1ZiwgMik7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxQYXJzZXJJbnB1dEJ1ZmZlclB1c2giLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5faW4pOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2xlbik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fYnVmKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sUGFyc2VySW5wdXRCdWZmZXJSZWFkKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbFBhcnNlcklucHV0QnVmZmVyUHRyIGluOyAvKiBhIGJ1ZmZlcmVkIHBhcnNlciBpbnB1dCAqLworICAgIGludCBuX2luOworICAgIGludCBsZW47IC8qIGluZGljYXRpdmUgdmFsdWUgb2YgdGhlIGFtb3VudCBvZiBjaGFycyB0byByZWFkICovCisgICAgaW50IG5fbGVuOworCisgICAgZm9yIChuX2luID0gMDtuX2luIDwgZ2VuX25iX3htbFBhcnNlcklucHV0QnVmZmVyUHRyO25faW4rKykgeworICAgIGZvciAobl9sZW4gPSAwO25fbGVuIDwgZ2VuX25iX2ludDtuX2xlbisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGluID0gZ2VuX3htbFBhcnNlcklucHV0QnVmZmVyUHRyKG5faW4sIDApOworICAgICAgICBsZW4gPSBnZW5faW50KG5fbGVuLCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sUGFyc2VySW5wdXRCdWZmZXJSZWFkKGluLCBsZW4pOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cihuX2luLCBpbiwgMCk7CisgICAgICAgIGRlc19pbnQobl9sZW4sIGxlbiwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxQYXJzZXJJbnB1dEJ1ZmZlclJlYWQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5faW4pOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2xlbik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sUG9wSW5wdXRDYWxsYmFja3Modm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKworICAgICAgICByZXRfdmFsID0geG1sUG9wSW5wdXRDYWxsYmFja3MoKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sUG9wSW5wdXRDYWxsYmFja3MiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFJlZ2lzdGVyRGVmYXVsdElucHV0Q2FsbGJhY2tzKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworCisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisKKyAgICAgICAgeG1sUmVnaXN0ZXJEZWZhdWx0SW5wdXRDYWxsYmFja3MoKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sUmVnaXN0ZXJEZWZhdWx0SW5wdXRDYWxsYmFja3MiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFJlZ2lzdGVyRGVmYXVsdE91dHB1dENhbGxiYWNrcyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworCisgICAgICAgIHhtbFJlZ2lzdGVyRGVmYXVsdE91dHB1dENhbGxiYWNrcygpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxSZWdpc3RlckRlZmF1bHRPdXRwdXRDYWxsYmFja3MiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sUmVnaXN0ZXJIVFRQUG9zdENhbGxiYWNrcyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKSAmJiBkZWZpbmVkKExJQlhNTF9IVFRQX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworCisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisKKyAgICAgICAgeG1sUmVnaXN0ZXJIVFRQUG9zdENhbGxiYWNrcygpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxSZWdpc3RlckhUVFBQb3N0Q2FsbGJhY2tzIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworc3RhdGljIGludAordGVzdF94bWxJTyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGlmIChxdWlldCA9PSAwKSBwcmludGYoIlRlc3RpbmcgeG1sSU8gOiA0MCBvZiA1MCBmdW5jdGlvbnMgLi4uXG4iKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbEFsbG9jT3V0cHV0QnVmZmVyKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxBbGxvY1BhcnNlcklucHV0QnVmZmVyKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxDaGVja0ZpbGVuYW1lKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxDaGVja0hUVFBJbnB1dCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sQ2xlYW51cElucHV0Q2FsbGJhY2tzKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxDbGVhbnVwT3V0cHV0Q2FsbGJhY2tzKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxGaWxlQ2xvc2UoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbEZpbGVNYXRjaCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sRmlsZU9wZW4oKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbEZpbGVSZWFkKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxJT0ZUUENsb3NlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxJT0ZUUE1hdGNoKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxJT0ZUUE9wZW4oKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbElPRlRQUmVhZCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sSU9IVFRQQ2xvc2UoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbElPSFRUUE1hdGNoKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxJT0hUVFBPcGVuKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxJT0hUVFBSZWFkKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxOb05ldEV4dGVybmFsRW50aXR5TG9hZGVyKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxOb3JtYWxpemVXaW5kb3dzUGF0aCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sT3V0cHV0QnVmZmVyQ3JlYXRlQnVmZmVyKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxPdXRwdXRCdWZmZXJDcmVhdGVGZCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWUoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbE91dHB1dEJ1ZmZlckZsdXNoKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxPdXRwdXRCdWZmZXJHZXRDb250ZW50KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxPdXRwdXRCdWZmZXJHZXRTaXplKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxPdXRwdXRCdWZmZXJXcml0ZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sT3V0cHV0QnVmZmVyV3JpdGVFc2NhcGUoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxQYXJzZXJHZXREaXJlY3RvcnkoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVNZW0oKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlU3RhdGljKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxQYXJzZXJJbnB1dEJ1ZmZlckdyb3coKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFBhcnNlcklucHV0QnVmZmVyUHVzaCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sUGFyc2VySW5wdXRCdWZmZXJSZWFkKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxQb3BJbnB1dENhbGxiYWNrcygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sUmVnaXN0ZXJEZWZhdWx0SW5wdXRDYWxsYmFja3MoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFJlZ2lzdGVyRGVmYXVsdE91dHB1dENhbGxiYWNrcygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sUmVnaXN0ZXJIVFRQUG9zdENhbGxiYWNrcygpOworCisgICAgaWYgKHRlc3RfcmV0ICE9IDApCisJcHJpbnRmKCJNb2R1bGUgeG1sSU86ICVkIGVycm9yc1xuIiwgdGVzdF9yZXQpOworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisjaWZkZWYgTElCWE1MX0FVVE9NQVRBX0VOQUJMRUQKKworI2RlZmluZSBnZW5fbmJfeG1sQXV0b21hdGFQdHIgMQorc3RhdGljIHhtbEF1dG9tYXRhUHRyIGdlbl94bWxBdXRvbWF0YVB0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICByZXR1cm4oTlVMTCk7Cit9CitzdGF0aWMgdm9pZCBkZXNfeG1sQXV0b21hdGFQdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIHhtbEF1dG9tYXRhUHRyIHZhbCBBVFRSSUJVVEVfVU5VU0VELCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworfQorI2VuZGlmCisKKworc3RhdGljIGludAordGVzdF94bWxBdXRvbWF0YUNvbXBpbGUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworICAgIC8qIG1pc3NpbmcgdHlwZSBzdXBwb3J0ICovCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbEF1dG9tYXRhR2V0SW5pdFN0YXRlKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisKKyAgICAvKiBtaXNzaW5nIHR5cGUgc3VwcG9ydCAqLworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxBdXRvbWF0YUlzRGV0ZXJtaW5pc3Qodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUdFWFBfRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfQVVUT01BVEFfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sQXV0b21hdGFQdHIgYW07IC8qIGFuIGF1dG9tYXRhICovCisgICAgaW50IG5fYW07CisKKyAgICBmb3IgKG5fYW0gPSAwO25fYW0gPCBnZW5fbmJfeG1sQXV0b21hdGFQdHI7bl9hbSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGFtID0gZ2VuX3htbEF1dG9tYXRhUHRyKG5fYW0sIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxBdXRvbWF0YUlzRGV0ZXJtaW5pc3QoYW0pOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxBdXRvbWF0YVB0cihuX2FtLCBhbSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxBdXRvbWF0YUlzRGV0ZXJtaW5pc3QiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fYW0pOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKyNpZmRlZiBMSUJYTUxfQVVUT01BVEFfRU5BQkxFRAorCisjZGVmaW5lIGdlbl9uYl94bWxBdXRvbWF0YVN0YXRlUHRyIDEKK3N0YXRpYyB4bWxBdXRvbWF0YVN0YXRlUHRyIGdlbl94bWxBdXRvbWF0YVN0YXRlUHRyKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworICAgIHJldHVybihOVUxMKTsKK30KK3N0YXRpYyB2b2lkIGRlc194bWxBdXRvbWF0YVN0YXRlUHRyKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCB4bWxBdXRvbWF0YVN0YXRlUHRyIHZhbCBBVFRSSUJVVEVfVU5VU0VELCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworfQorI2VuZGlmCisKKworc3RhdGljIGludAordGVzdF94bWxBdXRvbWF0YU5ld0FsbFRyYW5zKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisKKyAgICAvKiBtaXNzaW5nIHR5cGUgc3VwcG9ydCAqLworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxBdXRvbWF0YU5ld0NvdW50VHJhbnModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworICAgIC8qIG1pc3NpbmcgdHlwZSBzdXBwb3J0ICovCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbEF1dG9tYXRhTmV3Q291bnRUcmFuczIodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworICAgIC8qIG1pc3NpbmcgdHlwZSBzdXBwb3J0ICovCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbEF1dG9tYXRhTmV3Q291bnRlZFRyYW5zKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisKKyAgICAvKiBtaXNzaW5nIHR5cGUgc3VwcG9ydCAqLworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxBdXRvbWF0YU5ld0NvdW50ZXIodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUdFWFBfRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfQVVUT01BVEFfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sQXV0b21hdGFQdHIgYW07IC8qIGFuIGF1dG9tYXRhICovCisgICAgaW50IG5fYW07CisgICAgaW50IG1pbjsgLyogdGhlIG1pbmltYWwgdmFsdWUgb24gdGhlIGNvdW50ZXIgKi8KKyAgICBpbnQgbl9taW47CisgICAgaW50IG1heDsgLyogdGhlIG1heGltYWwgdmFsdWUgb24gdGhlIGNvdW50ZXIgKi8KKyAgICBpbnQgbl9tYXg7CisKKyAgICBmb3IgKG5fYW0gPSAwO25fYW0gPCBnZW5fbmJfeG1sQXV0b21hdGFQdHI7bl9hbSsrKSB7CisgICAgZm9yIChuX21pbiA9IDA7bl9taW4gPCBnZW5fbmJfaW50O25fbWluKyspIHsKKyAgICBmb3IgKG5fbWF4ID0gMDtuX21heCA8IGdlbl9uYl9pbnQ7bl9tYXgrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBhbSA9IGdlbl94bWxBdXRvbWF0YVB0cihuX2FtLCAwKTsKKyAgICAgICAgbWluID0gZ2VuX2ludChuX21pbiwgMSk7CisgICAgICAgIG1heCA9IGdlbl9pbnQobl9tYXgsIDIpOworCisgICAgICAgIHJldF92YWwgPSB4bWxBdXRvbWF0YU5ld0NvdW50ZXIoYW0sIG1pbiwgbWF4KTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sQXV0b21hdGFQdHIobl9hbSwgYW0sIDApOworICAgICAgICBkZXNfaW50KG5fbWluLCBtaW4sIDEpOworICAgICAgICBkZXNfaW50KG5fbWF4LCBtYXgsIDIpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sQXV0b21hdGFOZXdDb3VudGVyIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2FtKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9taW4pOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX21heCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sQXV0b21hdGFOZXdDb3VudGVyVHJhbnModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworICAgIC8qIG1pc3NpbmcgdHlwZSBzdXBwb3J0ICovCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbEF1dG9tYXRhTmV3RXBzaWxvbih2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworCisgICAgLyogbWlzc2luZyB0eXBlIHN1cHBvcnQgKi8KKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sQXV0b21hdGFOZXdOZWdUcmFucyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworCisgICAgLyogbWlzc2luZyB0eXBlIHN1cHBvcnQgKi8KKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sQXV0b21hdGFOZXdPbmNlVHJhbnModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworICAgIC8qIG1pc3NpbmcgdHlwZSBzdXBwb3J0ICovCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbEF1dG9tYXRhTmV3T25jZVRyYW5zMih2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworCisgICAgLyogbWlzc2luZyB0eXBlIHN1cHBvcnQgKi8KKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sQXV0b21hdGFOZXdTdGF0ZSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworCisgICAgLyogbWlzc2luZyB0eXBlIHN1cHBvcnQgKi8KKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sQXV0b21hdGFOZXdUcmFuc2l0aW9uKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisKKyAgICAvKiBtaXNzaW5nIHR5cGUgc3VwcG9ydCAqLworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxBdXRvbWF0YU5ld1RyYW5zaXRpb24yKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisKKyAgICAvKiBtaXNzaW5nIHR5cGUgc3VwcG9ydCAqLworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxBdXRvbWF0YVNldEZpbmFsU3RhdGUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUdFWFBfRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfQVVUT01BVEFfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sQXV0b21hdGFQdHIgYW07IC8qIGFuIGF1dG9tYXRhICovCisgICAgaW50IG5fYW07CisgICAgeG1sQXV0b21hdGFTdGF0ZVB0ciBzdGF0ZTsgLyogYSBzdGF0ZSBpbiB0aGlzIGF1dG9tYXRhICovCisgICAgaW50IG5fc3RhdGU7CisKKyAgICBmb3IgKG5fYW0gPSAwO25fYW0gPCBnZW5fbmJfeG1sQXV0b21hdGFQdHI7bl9hbSsrKSB7CisgICAgZm9yIChuX3N0YXRlID0gMDtuX3N0YXRlIDwgZ2VuX25iX3htbEF1dG9tYXRhU3RhdGVQdHI7bl9zdGF0ZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGFtID0gZ2VuX3htbEF1dG9tYXRhUHRyKG5fYW0sIDApOworICAgICAgICBzdGF0ZSA9IGdlbl94bWxBdXRvbWF0YVN0YXRlUHRyKG5fc3RhdGUsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxBdXRvbWF0YVNldEZpbmFsU3RhdGUoYW0sIHN0YXRlKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sQXV0b21hdGFQdHIobl9hbSwgYW0sIDApOworICAgICAgICBkZXNfeG1sQXV0b21hdGFTdGF0ZVB0cihuX3N0YXRlLCBzdGF0ZSwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxBdXRvbWF0YVNldEZpbmFsU3RhdGUiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fYW0pOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3N0YXRlKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbE5ld0F1dG9tYXRhKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisKKyAgICAvKiBtaXNzaW5nIHR5cGUgc3VwcG9ydCAqLworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sYXV0b21hdGEodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpZiAocXVpZXQgPT0gMCkgcHJpbnRmKCJUZXN0aW5nIHhtbGF1dG9tYXRhIDogMyBvZiAxOSBmdW5jdGlvbnMgLi4uXG4iKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbEF1dG9tYXRhQ29tcGlsZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sQXV0b21hdGFHZXRJbml0U3RhdGUoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbEF1dG9tYXRhSXNEZXRlcm1pbmlzdCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sQXV0b21hdGFOZXdBbGxUcmFucygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sQXV0b21hdGFOZXdDb3VudFRyYW5zKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxBdXRvbWF0YU5ld0NvdW50VHJhbnMyKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxBdXRvbWF0YU5ld0NvdW50ZWRUcmFucygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sQXV0b21hdGFOZXdDb3VudGVyKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxBdXRvbWF0YU5ld0NvdW50ZXJUcmFucygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sQXV0b21hdGFOZXdFcHNpbG9uKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxBdXRvbWF0YU5ld05lZ1RyYW5zKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxBdXRvbWF0YU5ld09uY2VUcmFucygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sQXV0b21hdGFOZXdPbmNlVHJhbnMyKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxBdXRvbWF0YU5ld1N0YXRlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxBdXRvbWF0YU5ld1RyYW5zaXRpb24oKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbEF1dG9tYXRhTmV3VHJhbnNpdGlvbjIoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbEF1dG9tYXRhU2V0RmluYWxTdGF0ZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sTmV3QXV0b21hdGEoKTsKKworICAgIGlmICh0ZXN0X3JldCAhPSAwKQorCXByaW50ZigiTW9kdWxlIHhtbGF1dG9tYXRhOiAlZCBlcnJvcnNcbiIsIHRlc3RfcmV0KTsKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisjZGVmaW5lIGdlbl9uYl94bWxHZW5lcmljRXJyb3JGdW5jX3B0ciAxCitzdGF0aWMgeG1sR2VuZXJpY0Vycm9yRnVuYyAqIGdlbl94bWxHZW5lcmljRXJyb3JGdW5jX3B0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICByZXR1cm4oTlVMTCk7Cit9CitzdGF0aWMgdm9pZCBkZXNfeG1sR2VuZXJpY0Vycm9yRnVuY19wdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIHhtbEdlbmVyaWNFcnJvckZ1bmMgKiB2YWwgQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKK30KKworc3RhdGljIGludAordGVzdF9pbml0R2VuZXJpY0Vycm9yRGVmYXVsdEZ1bmModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sR2VuZXJpY0Vycm9yRnVuYyAqIGhhbmRsZXI7IC8qIHRoZSBoYW5kbGVyICovCisgICAgaW50IG5faGFuZGxlcjsKKworICAgIGZvciAobl9oYW5kbGVyID0gMDtuX2hhbmRsZXIgPCBnZW5fbmJfeG1sR2VuZXJpY0Vycm9yRnVuY19wdHI7bl9oYW5kbGVyKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgaGFuZGxlciA9IGdlbl94bWxHZW5lcmljRXJyb3JGdW5jX3B0cihuX2hhbmRsZXIsIDApOworCisgICAgICAgIGluaXRHZW5lcmljRXJyb3JEZWZhdWx0RnVuYyhoYW5kbGVyKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sR2VuZXJpY0Vycm9yRnVuY19wdHIobl9oYW5kbGVyLCBoYW5kbGVyLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIGluaXRHZW5lcmljRXJyb3JEZWZhdWx0RnVuYyIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9oYW5kbGVyKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCisjZGVmaW5lIGdlbl9uYl94bWxFcnJvclB0ciAxCitzdGF0aWMgeG1sRXJyb3JQdHIgZ2VuX3htbEVycm9yUHRyKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworICAgIHJldHVybihOVUxMKTsKK30KK3N0YXRpYyB2b2lkIGRlc194bWxFcnJvclB0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgeG1sRXJyb3JQdHIgdmFsIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7Cit9CisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sQ29weUVycm9yKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbEVycm9yUHRyIGZyb207IC8qIGEgc291cmNlIGVycm9yICovCisgICAgaW50IG5fZnJvbTsKKyAgICB4bWxFcnJvclB0ciB0bzsgLyogYSB0YXJnZXQgZXJyb3IgKi8KKyAgICBpbnQgbl90bzsKKworICAgIGZvciAobl9mcm9tID0gMDtuX2Zyb20gPCBnZW5fbmJfeG1sRXJyb3JQdHI7bl9mcm9tKyspIHsKKyAgICBmb3IgKG5fdG8gPSAwO25fdG8gPCBnZW5fbmJfeG1sRXJyb3JQdHI7bl90bysrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGZyb20gPSBnZW5feG1sRXJyb3JQdHIobl9mcm9tLCAwKTsKKyAgICAgICAgdG8gPSBnZW5feG1sRXJyb3JQdHIobl90bywgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbENvcHlFcnJvcihmcm9tLCB0byk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbEVycm9yUHRyKG5fZnJvbSwgZnJvbSwgMCk7CisgICAgICAgIGRlc194bWxFcnJvclB0cihuX3RvLCB0bywgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxDb3B5RXJyb3IiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZnJvbSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdG8pOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbEN0eHRHZXRMYXN0RXJyb3Iodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworICAgIC8qIG1pc3NpbmcgdHlwZSBzdXBwb3J0ICovCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbEN0eHRSZXNldExhc3RFcnJvcih2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB2b2lkICogY3R4OyAvKiBhbiBYTUwgcGFyc2VyIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHg7CisKKyAgICBmb3IgKG5fY3R4ID0gMDtuX2N0eCA8IGdlbl9uYl92b2lkX3B0cjtuX2N0eCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eCA9IGdlbl92b2lkX3B0cihuX2N0eCwgMCk7CisKKyAgICAgICAgeG1sQ3R4dFJlc2V0TGFzdEVycm9yKGN0eCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3ZvaWRfcHRyKG5fY3R4LCBjdHgsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sQ3R4dFJlc2V0TGFzdEVycm9yIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxHZXRMYXN0RXJyb3Iodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworICAgIC8qIG1pc3NpbmcgdHlwZSBzdXBwb3J0ICovCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFBhcnNlckVycm9yKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisKKyAgICAvKiBtaXNzaW5nIHR5cGUgc3VwcG9ydCAqLworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxQYXJzZXJQcmludEZpbGVDb250ZXh0KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbFBhcnNlcklucHV0UHRyIGlucHV0OyAvKiBhbiB4bWxQYXJzZXJJbnB1dFB0ciBpbnB1dCAqLworICAgIGludCBuX2lucHV0OworCisgICAgZm9yIChuX2lucHV0ID0gMDtuX2lucHV0IDwgZ2VuX25iX3htbFBhcnNlcklucHV0UHRyO25faW5wdXQrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBpbnB1dCA9IGdlbl94bWxQYXJzZXJJbnB1dFB0cihuX2lucHV0LCAwKTsKKworICAgICAgICB4bWxQYXJzZXJQcmludEZpbGVDb250ZXh0KGlucHV0KTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sUGFyc2VySW5wdXRQdHIobl9pbnB1dCwgaW5wdXQsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sUGFyc2VyUHJpbnRGaWxlQ29udGV4dCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9pbnB1dCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxQYXJzZXJQcmludEZpbGVJbmZvKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbFBhcnNlcklucHV0UHRyIGlucHV0OyAvKiBhbiB4bWxQYXJzZXJJbnB1dFB0ciBpbnB1dCAqLworICAgIGludCBuX2lucHV0OworCisgICAgZm9yIChuX2lucHV0ID0gMDtuX2lucHV0IDwgZ2VuX25iX3htbFBhcnNlcklucHV0UHRyO25faW5wdXQrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBpbnB1dCA9IGdlbl94bWxQYXJzZXJJbnB1dFB0cihuX2lucHV0LCAwKTsKKworICAgICAgICB4bWxQYXJzZXJQcmludEZpbGVJbmZvKGlucHV0KTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sUGFyc2VySW5wdXRQdHIobl9pbnB1dCwgaW5wdXQsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sUGFyc2VyUHJpbnRGaWxlSW5mbyIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9pbnB1dCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxQYXJzZXJWYWxpZGl0eUVycm9yKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisKKyAgICAvKiBtaXNzaW5nIHR5cGUgc3VwcG9ydCAqLworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxQYXJzZXJWYWxpZGl0eVdhcm5pbmcodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworICAgIC8qIG1pc3NpbmcgdHlwZSBzdXBwb3J0ICovCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFBhcnNlcldhcm5pbmcodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworICAgIC8qIG1pc3NpbmcgdHlwZSBzdXBwb3J0ICovCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFJlc2V0RXJyb3Iodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sRXJyb3JQdHIgZXJyOyAvKiBwb2ludGVyIHRvIHRoZSBlcnJvci4gKi8KKyAgICBpbnQgbl9lcnI7CisKKyAgICBmb3IgKG5fZXJyID0gMDtuX2VyciA8IGdlbl9uYl94bWxFcnJvclB0cjtuX2VycisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGVyciA9IGdlbl94bWxFcnJvclB0cihuX2VyciwgMCk7CisKKyAgICAgICAgeG1sUmVzZXRFcnJvcihlcnIpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxFcnJvclB0cihuX2VyciwgZXJyLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFJlc2V0RXJyb3IiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZXJyKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFJlc2V0TGFzdEVycm9yKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisKKworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxTZXRHZW5lcmljRXJyb3JGdW5jKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisKKyAgICAvKiBtaXNzaW5nIHR5cGUgc3VwcG9ydCAqLworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxTZXRTdHJ1Y3R1cmVkRXJyb3JGdW5jKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisKKyAgICAvKiBtaXNzaW5nIHR5cGUgc3VwcG9ydCAqLworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sZXJyb3Iodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpZiAocXVpZXQgPT0gMCkgcHJpbnRmKCJUZXN0aW5nIHhtbGVycm9yIDogNyBvZiAxNSBmdW5jdGlvbnMgLi4uXG4iKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X2luaXRHZW5lcmljRXJyb3JEZWZhdWx0RnVuYygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sQ29weUVycm9yKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxDdHh0R2V0TGFzdEVycm9yKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxDdHh0UmVzZXRMYXN0RXJyb3IoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbEdldExhc3RFcnJvcigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sUGFyc2VyRXJyb3IoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFBhcnNlclByaW50RmlsZUNvbnRleHQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFBhcnNlclByaW50RmlsZUluZm8oKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFBhcnNlclZhbGlkaXR5RXJyb3IoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFBhcnNlclZhbGlkaXR5V2FybmluZygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sUGFyc2VyV2FybmluZygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sUmVzZXRFcnJvcigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFNldEdlbmVyaWNFcnJvckZ1bmMoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFNldFN0cnVjdHVyZWRFcnJvckZ1bmMoKTsKKworICAgIGlmICh0ZXN0X3JldCAhPSAwKQorCXByaW50ZigiTW9kdWxlIHhtbGVycm9yOiAlZCBlcnJvcnNcbiIsIHRlc3RfcmV0KTsKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorI2lmZGVmIExJQlhNTF9NT0RVTEVTX0VOQUJMRUQKKworI2RlZmluZSBnZW5fbmJfeG1sTW9kdWxlUHRyIDEKK3N0YXRpYyB4bWxNb2R1bGVQdHIgZ2VuX3htbE1vZHVsZVB0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICByZXR1cm4oTlVMTCk7Cit9CitzdGF0aWMgdm9pZCBkZXNfeG1sTW9kdWxlUHRyKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCB4bWxNb2R1bGVQdHIgdmFsIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7Cit9CisjZW5kaWYKKworCitzdGF0aWMgaW50Cit0ZXN0X3htbE1vZHVsZUNsb3NlKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfTU9EVUxFU19FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxNb2R1bGVQdHIgbW9kdWxlOyAvKiB0aGUgbW9kdWxlIGhhbmRsZSAqLworICAgIGludCBuX21vZHVsZTsKKworICAgIGZvciAobl9tb2R1bGUgPSAwO25fbW9kdWxlIDwgZ2VuX25iX3htbE1vZHVsZVB0cjtuX21vZHVsZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIG1vZHVsZSA9IGdlbl94bWxNb2R1bGVQdHIobl9tb2R1bGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxNb2R1bGVDbG9zZShtb2R1bGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxNb2R1bGVQdHIobl9tb2R1bGUsIG1vZHVsZSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxNb2R1bGVDbG9zZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9tb2R1bGUpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxNb2R1bGVPcGVuKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisKKyAgICAvKiBtaXNzaW5nIHR5cGUgc3VwcG9ydCAqLworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxNb2R1bGVTeW1ib2wodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9NT0RVTEVTX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbE1vZHVsZVB0ciBtb2R1bGU7IC8qIHRoZSBtb2R1bGUgKi8KKyAgICBpbnQgbl9tb2R1bGU7CisgICAgY2hhciAqIG5hbWU7IC8qIHRoZSBuYW1lIG9mIHRoZSBzeW1ib2wgKi8KKyAgICBpbnQgbl9uYW1lOworICAgIHZvaWQgKiogc3ltYm9sOyAvKiB0aGUgcmVzdWx0aW5nIHN5bWJvbCBhZGRyZXNzICovCisgICAgaW50IG5fc3ltYm9sOworCisgICAgZm9yIChuX21vZHVsZSA9IDA7bl9tb2R1bGUgPCBnZW5fbmJfeG1sTW9kdWxlUHRyO25fbW9kdWxlKyspIHsKKyAgICBmb3IgKG5fbmFtZSA9IDA7bl9uYW1lIDwgZ2VuX25iX2NvbnN0X2NoYXJfcHRyO25fbmFtZSsrKSB7CisgICAgZm9yIChuX3N5bWJvbCA9IDA7bl9zeW1ib2wgPCBnZW5fbmJfdm9pZF9wdHJfcHRyO25fc3ltYm9sKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgbW9kdWxlID0gZ2VuX3htbE1vZHVsZVB0cihuX21vZHVsZSwgMCk7CisgICAgICAgIG5hbWUgPSBnZW5fY29uc3RfY2hhcl9wdHIobl9uYW1lLCAxKTsKKyAgICAgICAgc3ltYm9sID0gZ2VuX3ZvaWRfcHRyX3B0cihuX3N5bWJvbCwgMik7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbE1vZHVsZVN5bWJvbChtb2R1bGUsIChjb25zdCBjaGFyICopbmFtZSwgc3ltYm9sKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sTW9kdWxlUHRyKG5fbW9kdWxlLCBtb2R1bGUsIDApOworICAgICAgICBkZXNfY29uc3RfY2hhcl9wdHIobl9uYW1lLCAoY29uc3QgY2hhciAqKW5hbWUsIDEpOworICAgICAgICBkZXNfdm9pZF9wdHJfcHRyKG5fc3ltYm9sLCBzeW1ib2wsIDIpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sTW9kdWxlU3ltYm9sIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX21vZHVsZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFtZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fc3ltYm9sKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sbW9kdWxlKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaWYgKHF1aWV0ID09IDApIHByaW50ZigiVGVzdGluZyB4bWxtb2R1bGUgOiAyIG9mIDQgZnVuY3Rpb25zIC4uLlxuIik7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxNb2R1bGVDbG9zZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sTW9kdWxlT3BlbigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sTW9kdWxlU3ltYm9sKCk7CisKKyAgICBpZiAodGVzdF9yZXQgIT0gMCkKKwlwcmludGYoIk1vZHVsZSB4bWxtb2R1bGU6ICVkIGVycm9yc1xuIiwgdGVzdF9yZXQpOworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sTmV3VGV4dFJlYWRlcih2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxUZXh0UmVhZGVyUHRyIHJldF92YWw7CisgICAgeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIgaW5wdXQ7IC8qIHRoZSB4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciB1c2VkIHRvIHJlYWQgZGF0YSAqLworICAgIGludCBuX2lucHV0OworICAgIGNvbnN0IGNoYXIgKiBVUkk7IC8qIHRoZSBVUkkgaW5mb3JtYXRpb24gZm9yIHRoZSBzb3VyY2UgaWYgYXZhaWxhYmxlICovCisgICAgaW50IG5fVVJJOworCisgICAgZm9yIChuX2lucHV0ID0gMDtuX2lucHV0IDwgZ2VuX25iX3htbFBhcnNlcklucHV0QnVmZmVyUHRyO25faW5wdXQrKykgeworICAgIGZvciAobl9VUkkgPSAwO25fVVJJIDwgZ2VuX25iX2ZpbGVwYXRoO25fVVJJKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgaW5wdXQgPSBnZW5feG1sUGFyc2VySW5wdXRCdWZmZXJQdHIobl9pbnB1dCwgMCk7CisgICAgICAgIFVSSSA9IGdlbl9maWxlcGF0aChuX1VSSSwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbE5ld1RleHRSZWFkZXIoaW5wdXQsIFVSSSk7CisgICAgICAgIGRlc3JldF94bWxUZXh0UmVhZGVyUHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cihuX2lucHV0LCBpbnB1dCwgMCk7CisgICAgICAgIGRlc19maWxlcGF0aChuX1VSSSwgVVJJLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbE5ld1RleHRSZWFkZXIiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5faW5wdXQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX1VSSSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxOZXdUZXh0UmVhZGVyRmlsZW5hbWUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sVGV4dFJlYWRlclB0ciByZXRfdmFsOworICAgIGNvbnN0IGNoYXIgKiBVUkk7IC8qIHRoZSBVUkkgb2YgdGhlIHJlc291cmNlIHRvIHByb2Nlc3MgKi8KKyAgICBpbnQgbl9VUkk7CisKKyAgICBmb3IgKG5fVVJJID0gMDtuX1VSSSA8IGdlbl9uYl9maWxlcGF0aDtuX1VSSSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIFVSSSA9IGdlbl9maWxlcGF0aChuX1VSSSwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbE5ld1RleHRSZWFkZXJGaWxlbmFtZShVUkkpOworICAgICAgICBkZXNyZXRfeG1sVGV4dFJlYWRlclB0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfZmlsZXBhdGgobl9VUkksIFVSSSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxOZXdUZXh0UmVhZGVyRmlsZW5hbWUiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fVVJJKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sUmVhZGVyRm9yRG9jKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbFRleHRSZWFkZXJQdHIgcmV0X3ZhbDsKKyAgICB4bWxDaGFyICogY3VyOyAvKiBhIHBvaW50ZXIgdG8gYSB6ZXJvIHRlcm1pbmF0ZWQgc3RyaW5nICovCisgICAgaW50IG5fY3VyOworICAgIGNvbnN0IGNoYXIgKiBVUkw7IC8qIHRoZSBiYXNlIFVSTCB0byB1c2UgZm9yIHRoZSBkb2N1bWVudCAqLworICAgIGludCBuX1VSTDsKKyAgICBjaGFyICogZW5jb2Rpbmc7IC8qIHRoZSBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTCAqLworICAgIGludCBuX2VuY29kaW5nOworICAgIGludCBvcHRpb25zOyAvKiBhIGNvbWJpbmF0aW9uIG9mIHhtbFBhcnNlck9wdGlvbiAqLworICAgIGludCBuX29wdGlvbnM7CisKKyAgICBmb3IgKG5fY3VyID0gMDtuX2N1ciA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX2N1cisrKSB7CisgICAgZm9yIChuX1VSTCA9IDA7bl9VUkwgPCBnZW5fbmJfZmlsZXBhdGg7bl9VUkwrKykgeworICAgIGZvciAobl9lbmNvZGluZyA9IDA7bl9lbmNvZGluZyA8IGdlbl9uYl9jb25zdF9jaGFyX3B0cjtuX2VuY29kaW5nKyspIHsKKyAgICBmb3IgKG5fb3B0aW9ucyA9IDA7bl9vcHRpb25zIDwgZ2VuX25iX3BhcnNlcm9wdGlvbnM7bl9vcHRpb25zKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3VyID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fY3VyLCAwKTsKKyAgICAgICAgVVJMID0gZ2VuX2ZpbGVwYXRoKG5fVVJMLCAxKTsKKyAgICAgICAgZW5jb2RpbmcgPSBnZW5fY29uc3RfY2hhcl9wdHIobl9lbmNvZGluZywgMik7CisgICAgICAgIG9wdGlvbnMgPSBnZW5fcGFyc2Vyb3B0aW9ucyhuX29wdGlvbnMsIDMpOworCisgICAgICAgIHJldF92YWwgPSB4bWxSZWFkZXJGb3JEb2MoKGNvbnN0IHhtbENoYXIgKiljdXIsIFVSTCwgKGNvbnN0IGNoYXIgKillbmNvZGluZywgb3B0aW9ucyk7CisgICAgICAgIGRlc3JldF94bWxUZXh0UmVhZGVyUHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX2N1ciwgKGNvbnN0IHhtbENoYXIgKiljdXIsIDApOworICAgICAgICBkZXNfZmlsZXBhdGgobl9VUkwsIFVSTCwgMSk7CisgICAgICAgIGRlc19jb25zdF9jaGFyX3B0cihuX2VuY29kaW5nLCAoY29uc3QgY2hhciAqKWVuY29kaW5nLCAyKTsKKyAgICAgICAgZGVzX3BhcnNlcm9wdGlvbnMobl9vcHRpb25zLCBvcHRpb25zLCAzKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFJlYWRlckZvckRvYyIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdXIpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX1VSTCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZW5jb2RpbmcpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX29wdGlvbnMpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxSZWFkZXJGb3JGaWxlKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbFRleHRSZWFkZXJQdHIgcmV0X3ZhbDsKKyAgICBjb25zdCBjaGFyICogZmlsZW5hbWU7IC8qIGEgZmlsZSBvciBVUkwgKi8KKyAgICBpbnQgbl9maWxlbmFtZTsKKyAgICBjaGFyICogZW5jb2Rpbmc7IC8qIHRoZSBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTCAqLworICAgIGludCBuX2VuY29kaW5nOworICAgIGludCBvcHRpb25zOyAvKiBhIGNvbWJpbmF0aW9uIG9mIHhtbFBhcnNlck9wdGlvbiAqLworICAgIGludCBuX29wdGlvbnM7CisKKyAgICBmb3IgKG5fZmlsZW5hbWUgPSAwO25fZmlsZW5hbWUgPCBnZW5fbmJfZmlsZXBhdGg7bl9maWxlbmFtZSsrKSB7CisgICAgZm9yIChuX2VuY29kaW5nID0gMDtuX2VuY29kaW5nIDwgZ2VuX25iX2NvbnN0X2NoYXJfcHRyO25fZW5jb2RpbmcrKykgeworICAgIGZvciAobl9vcHRpb25zID0gMDtuX29wdGlvbnMgPCBnZW5fbmJfcGFyc2Vyb3B0aW9ucztuX29wdGlvbnMrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBmaWxlbmFtZSA9IGdlbl9maWxlcGF0aChuX2ZpbGVuYW1lLCAwKTsKKyAgICAgICAgZW5jb2RpbmcgPSBnZW5fY29uc3RfY2hhcl9wdHIobl9lbmNvZGluZywgMSk7CisgICAgICAgIG9wdGlvbnMgPSBnZW5fcGFyc2Vyb3B0aW9ucyhuX29wdGlvbnMsIDIpOworCisgICAgICAgIHJldF92YWwgPSB4bWxSZWFkZXJGb3JGaWxlKGZpbGVuYW1lLCAoY29uc3QgY2hhciAqKWVuY29kaW5nLCBvcHRpb25zKTsKKyAgICAgICAgZGVzcmV0X3htbFRleHRSZWFkZXJQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2ZpbGVwYXRoKG5fZmlsZW5hbWUsIGZpbGVuYW1lLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X2NoYXJfcHRyKG5fZW5jb2RpbmcsIChjb25zdCBjaGFyICopZW5jb2RpbmcsIDEpOworICAgICAgICBkZXNfcGFyc2Vyb3B0aW9ucyhuX29wdGlvbnMsIG9wdGlvbnMsIDIpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sUmVhZGVyRm9yRmlsZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9maWxlbmFtZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZW5jb2RpbmcpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX29wdGlvbnMpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFJlYWRlckZvck1lbW9yeSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxUZXh0UmVhZGVyUHRyIHJldF92YWw7CisgICAgY2hhciAqIGJ1ZmZlcjsgLyogYSBwb2ludGVyIHRvIGEgY2hhciBhcnJheSAqLworICAgIGludCBuX2J1ZmZlcjsKKyAgICBpbnQgc2l6ZTsgLyogdGhlIHNpemUgb2YgdGhlIGFycmF5ICovCisgICAgaW50IG5fc2l6ZTsKKyAgICBjb25zdCBjaGFyICogVVJMOyAvKiB0aGUgYmFzZSBVUkwgdG8gdXNlIGZvciB0aGUgZG9jdW1lbnQgKi8KKyAgICBpbnQgbl9VUkw7CisgICAgY2hhciAqIGVuY29kaW5nOyAvKiB0aGUgZG9jdW1lbnQgZW5jb2RpbmcsIG9yIE5VTEwgKi8KKyAgICBpbnQgbl9lbmNvZGluZzsKKyAgICBpbnQgb3B0aW9uczsgLyogYSBjb21iaW5hdGlvbiBvZiB4bWxQYXJzZXJPcHRpb24gKi8KKyAgICBpbnQgbl9vcHRpb25zOworCisgICAgZm9yIChuX2J1ZmZlciA9IDA7bl9idWZmZXIgPCBnZW5fbmJfY29uc3RfY2hhcl9wdHI7bl9idWZmZXIrKykgeworICAgIGZvciAobl9zaXplID0gMDtuX3NpemUgPCBnZW5fbmJfaW50O25fc2l6ZSsrKSB7CisgICAgZm9yIChuX1VSTCA9IDA7bl9VUkwgPCBnZW5fbmJfZmlsZXBhdGg7bl9VUkwrKykgeworICAgIGZvciAobl9lbmNvZGluZyA9IDA7bl9lbmNvZGluZyA8IGdlbl9uYl9jb25zdF9jaGFyX3B0cjtuX2VuY29kaW5nKyspIHsKKyAgICBmb3IgKG5fb3B0aW9ucyA9IDA7bl9vcHRpb25zIDwgZ2VuX25iX3BhcnNlcm9wdGlvbnM7bl9vcHRpb25zKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgYnVmZmVyID0gZ2VuX2NvbnN0X2NoYXJfcHRyKG5fYnVmZmVyLCAwKTsKKyAgICAgICAgc2l6ZSA9IGdlbl9pbnQobl9zaXplLCAxKTsKKyAgICAgICAgVVJMID0gZ2VuX2ZpbGVwYXRoKG5fVVJMLCAyKTsKKyAgICAgICAgZW5jb2RpbmcgPSBnZW5fY29uc3RfY2hhcl9wdHIobl9lbmNvZGluZywgMyk7CisgICAgICAgIG9wdGlvbnMgPSBnZW5fcGFyc2Vyb3B0aW9ucyhuX29wdGlvbnMsIDQpOworCisgICAgICAgIHJldF92YWwgPSB4bWxSZWFkZXJGb3JNZW1vcnkoKGNvbnN0IGNoYXIgKilidWZmZXIsIHNpemUsIFVSTCwgKGNvbnN0IGNoYXIgKillbmNvZGluZywgb3B0aW9ucyk7CisgICAgICAgIGRlc3JldF94bWxUZXh0UmVhZGVyUHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19jb25zdF9jaGFyX3B0cihuX2J1ZmZlciwgKGNvbnN0IGNoYXIgKilidWZmZXIsIDApOworICAgICAgICBkZXNfaW50KG5fc2l6ZSwgc2l6ZSwgMSk7CisgICAgICAgIGRlc19maWxlcGF0aChuX1VSTCwgVVJMLCAyKTsKKyAgICAgICAgZGVzX2NvbnN0X2NoYXJfcHRyKG5fZW5jb2RpbmcsIChjb25zdCBjaGFyICopZW5jb2RpbmcsIDMpOworICAgICAgICBkZXNfcGFyc2Vyb3B0aW9ucyhuX29wdGlvbnMsIG9wdGlvbnMsIDQpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sUmVhZGVyRm9yTWVtb3J5IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2J1ZmZlcik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fc2l6ZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fVVJMKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9lbmNvZGluZyk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fb3B0aW9ucyk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxSZWFkZXJOZXdEb2Modm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sVGV4dFJlYWRlclB0ciByZWFkZXI7IC8qIGFuIFhNTCByZWFkZXIgKi8KKyAgICBpbnQgbl9yZWFkZXI7CisgICAgeG1sQ2hhciAqIGN1cjsgLyogYSBwb2ludGVyIHRvIGEgemVybyB0ZXJtaW5hdGVkIHN0cmluZyAqLworICAgIGludCBuX2N1cjsKKyAgICBjb25zdCBjaGFyICogVVJMOyAvKiB0aGUgYmFzZSBVUkwgdG8gdXNlIGZvciB0aGUgZG9jdW1lbnQgKi8KKyAgICBpbnQgbl9VUkw7CisgICAgY2hhciAqIGVuY29kaW5nOyAvKiB0aGUgZG9jdW1lbnQgZW5jb2RpbmcsIG9yIE5VTEwgKi8KKyAgICBpbnQgbl9lbmNvZGluZzsKKyAgICBpbnQgb3B0aW9uczsgLyogYSBjb21iaW5hdGlvbiBvZiB4bWxQYXJzZXJPcHRpb24gKi8KKyAgICBpbnQgbl9vcHRpb25zOworCisgICAgZm9yIChuX3JlYWRlciA9IDA7bl9yZWFkZXIgPCBnZW5fbmJfeG1sVGV4dFJlYWRlclB0cjtuX3JlYWRlcisrKSB7CisgICAgZm9yIChuX2N1ciA9IDA7bl9jdXIgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9jdXIrKykgeworICAgIGZvciAobl9VUkwgPSAwO25fVVJMIDwgZ2VuX25iX2ZpbGVwYXRoO25fVVJMKyspIHsKKyAgICBmb3IgKG5fZW5jb2RpbmcgPSAwO25fZW5jb2RpbmcgPCBnZW5fbmJfY29uc3RfY2hhcl9wdHI7bl9lbmNvZGluZysrKSB7CisgICAgZm9yIChuX29wdGlvbnMgPSAwO25fb3B0aW9ucyA8IGdlbl9uYl9wYXJzZXJvcHRpb25zO25fb3B0aW9ucysrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHJlYWRlciA9IGdlbl94bWxUZXh0UmVhZGVyUHRyKG5fcmVhZGVyLCAwKTsKKyAgICAgICAgY3VyID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fY3VyLCAxKTsKKyAgICAgICAgVVJMID0gZ2VuX2ZpbGVwYXRoKG5fVVJMLCAyKTsKKyAgICAgICAgZW5jb2RpbmcgPSBnZW5fY29uc3RfY2hhcl9wdHIobl9lbmNvZGluZywgMyk7CisgICAgICAgIG9wdGlvbnMgPSBnZW5fcGFyc2Vyb3B0aW9ucyhuX29wdGlvbnMsIDQpOworCisgICAgICAgIHJldF92YWwgPSB4bWxSZWFkZXJOZXdEb2MocmVhZGVyLCAoY29uc3QgeG1sQ2hhciAqKWN1ciwgVVJMLCAoY29uc3QgY2hhciAqKWVuY29kaW5nLCBvcHRpb25zKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sVGV4dFJlYWRlclB0cihuX3JlYWRlciwgcmVhZGVyLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fY3VyLCAoY29uc3QgeG1sQ2hhciAqKWN1ciwgMSk7CisgICAgICAgIGRlc19maWxlcGF0aChuX1VSTCwgVVJMLCAyKTsKKyAgICAgICAgZGVzX2NvbnN0X2NoYXJfcHRyKG5fZW5jb2RpbmcsIChjb25zdCBjaGFyICopZW5jb2RpbmcsIDMpOworICAgICAgICBkZXNfcGFyc2Vyb3B0aW9ucyhuX29wdGlvbnMsIG9wdGlvbnMsIDQpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sUmVhZGVyTmV3RG9jIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3JlYWRlcik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3VyKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9VUkwpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2VuY29kaW5nKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9vcHRpb25zKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFJlYWRlck5ld0ZpbGUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sVGV4dFJlYWRlclB0ciByZWFkZXI7IC8qIGFuIFhNTCByZWFkZXIgKi8KKyAgICBpbnQgbl9yZWFkZXI7CisgICAgY29uc3QgY2hhciAqIGZpbGVuYW1lOyAvKiBhIGZpbGUgb3IgVVJMICovCisgICAgaW50IG5fZmlsZW5hbWU7CisgICAgY2hhciAqIGVuY29kaW5nOyAvKiB0aGUgZG9jdW1lbnQgZW5jb2RpbmcsIG9yIE5VTEwgKi8KKyAgICBpbnQgbl9lbmNvZGluZzsKKyAgICBpbnQgb3B0aW9uczsgLyogYSBjb21iaW5hdGlvbiBvZiB4bWxQYXJzZXJPcHRpb24gKi8KKyAgICBpbnQgbl9vcHRpb25zOworCisgICAgZm9yIChuX3JlYWRlciA9IDA7bl9yZWFkZXIgPCBnZW5fbmJfeG1sVGV4dFJlYWRlclB0cjtuX3JlYWRlcisrKSB7CisgICAgZm9yIChuX2ZpbGVuYW1lID0gMDtuX2ZpbGVuYW1lIDwgZ2VuX25iX2ZpbGVwYXRoO25fZmlsZW5hbWUrKykgeworICAgIGZvciAobl9lbmNvZGluZyA9IDA7bl9lbmNvZGluZyA8IGdlbl9uYl9jb25zdF9jaGFyX3B0cjtuX2VuY29kaW5nKyspIHsKKyAgICBmb3IgKG5fb3B0aW9ucyA9IDA7bl9vcHRpb25zIDwgZ2VuX25iX3BhcnNlcm9wdGlvbnM7bl9vcHRpb25zKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgcmVhZGVyID0gZ2VuX3htbFRleHRSZWFkZXJQdHIobl9yZWFkZXIsIDApOworICAgICAgICBmaWxlbmFtZSA9IGdlbl9maWxlcGF0aChuX2ZpbGVuYW1lLCAxKTsKKyAgICAgICAgZW5jb2RpbmcgPSBnZW5fY29uc3RfY2hhcl9wdHIobl9lbmNvZGluZywgMik7CisgICAgICAgIG9wdGlvbnMgPSBnZW5fcGFyc2Vyb3B0aW9ucyhuX29wdGlvbnMsIDMpOworCisgICAgICAgIHJldF92YWwgPSB4bWxSZWFkZXJOZXdGaWxlKHJlYWRlciwgZmlsZW5hbWUsIChjb25zdCBjaGFyICopZW5jb2RpbmcsIG9wdGlvbnMpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxUZXh0UmVhZGVyUHRyKG5fcmVhZGVyLCByZWFkZXIsIDApOworICAgICAgICBkZXNfZmlsZXBhdGgobl9maWxlbmFtZSwgZmlsZW5hbWUsIDEpOworICAgICAgICBkZXNfY29uc3RfY2hhcl9wdHIobl9lbmNvZGluZywgKGNvbnN0IGNoYXIgKillbmNvZGluZywgMik7CisgICAgICAgIGRlc19wYXJzZXJvcHRpb25zKG5fb3B0aW9ucywgb3B0aW9ucywgMyk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxSZWFkZXJOZXdGaWxlIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3JlYWRlcik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZmlsZW5hbWUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2VuY29kaW5nKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9vcHRpb25zKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sUmVhZGVyTmV3TWVtb3J5KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyOyAvKiBhbiBYTUwgcmVhZGVyICovCisgICAgaW50IG5fcmVhZGVyOworICAgIGNoYXIgKiBidWZmZXI7IC8qIGEgcG9pbnRlciB0byBhIGNoYXIgYXJyYXkgKi8KKyAgICBpbnQgbl9idWZmZXI7CisgICAgaW50IHNpemU7IC8qIHRoZSBzaXplIG9mIHRoZSBhcnJheSAqLworICAgIGludCBuX3NpemU7CisgICAgY29uc3QgY2hhciAqIFVSTDsgLyogdGhlIGJhc2UgVVJMIHRvIHVzZSBmb3IgdGhlIGRvY3VtZW50ICovCisgICAgaW50IG5fVVJMOworICAgIGNoYXIgKiBlbmNvZGluZzsgLyogdGhlIGRvY3VtZW50IGVuY29kaW5nLCBvciBOVUxMICovCisgICAgaW50IG5fZW5jb2Rpbmc7CisgICAgaW50IG9wdGlvbnM7IC8qIGEgY29tYmluYXRpb24gb2YgeG1sUGFyc2VyT3B0aW9uICovCisgICAgaW50IG5fb3B0aW9uczsKKworICAgIGZvciAobl9yZWFkZXIgPSAwO25fcmVhZGVyIDwgZ2VuX25iX3htbFRleHRSZWFkZXJQdHI7bl9yZWFkZXIrKykgeworICAgIGZvciAobl9idWZmZXIgPSAwO25fYnVmZmVyIDwgZ2VuX25iX2NvbnN0X2NoYXJfcHRyO25fYnVmZmVyKyspIHsKKyAgICBmb3IgKG5fc2l6ZSA9IDA7bl9zaXplIDwgZ2VuX25iX2ludDtuX3NpemUrKykgeworICAgIGZvciAobl9VUkwgPSAwO25fVVJMIDwgZ2VuX25iX2ZpbGVwYXRoO25fVVJMKyspIHsKKyAgICBmb3IgKG5fZW5jb2RpbmcgPSAwO25fZW5jb2RpbmcgPCBnZW5fbmJfY29uc3RfY2hhcl9wdHI7bl9lbmNvZGluZysrKSB7CisgICAgZm9yIChuX29wdGlvbnMgPSAwO25fb3B0aW9ucyA8IGdlbl9uYl9wYXJzZXJvcHRpb25zO25fb3B0aW9ucysrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHJlYWRlciA9IGdlbl94bWxUZXh0UmVhZGVyUHRyKG5fcmVhZGVyLCAwKTsKKyAgICAgICAgYnVmZmVyID0gZ2VuX2NvbnN0X2NoYXJfcHRyKG5fYnVmZmVyLCAxKTsKKyAgICAgICAgc2l6ZSA9IGdlbl9pbnQobl9zaXplLCAyKTsKKyAgICAgICAgVVJMID0gZ2VuX2ZpbGVwYXRoKG5fVVJMLCAzKTsKKyAgICAgICAgZW5jb2RpbmcgPSBnZW5fY29uc3RfY2hhcl9wdHIobl9lbmNvZGluZywgNCk7CisgICAgICAgIG9wdGlvbnMgPSBnZW5fcGFyc2Vyb3B0aW9ucyhuX29wdGlvbnMsIDUpOworCisgICAgICAgIHJldF92YWwgPSB4bWxSZWFkZXJOZXdNZW1vcnkocmVhZGVyLCAoY29uc3QgY2hhciAqKWJ1ZmZlciwgc2l6ZSwgVVJMLCAoY29uc3QgY2hhciAqKWVuY29kaW5nLCBvcHRpb25zKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sVGV4dFJlYWRlclB0cihuX3JlYWRlciwgcmVhZGVyLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X2NoYXJfcHRyKG5fYnVmZmVyLCAoY29uc3QgY2hhciAqKWJ1ZmZlciwgMSk7CisgICAgICAgIGRlc19pbnQobl9zaXplLCBzaXplLCAyKTsKKyAgICAgICAgZGVzX2ZpbGVwYXRoKG5fVVJMLCBVUkwsIDMpOworICAgICAgICBkZXNfY29uc3RfY2hhcl9wdHIobl9lbmNvZGluZywgKGNvbnN0IGNoYXIgKillbmNvZGluZywgNCk7CisgICAgICAgIGRlc19wYXJzZXJvcHRpb25zKG5fb3B0aW9ucywgb3B0aW9ucywgNSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxSZWFkZXJOZXdNZW1vcnkiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fcmVhZGVyKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9idWZmZXIpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3NpemUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX1VSTCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZW5jb2RpbmcpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX29wdGlvbnMpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFJlYWRlck5ld1dhbGtlcih2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxUZXh0UmVhZGVyUHRyIHJlYWRlcjsgLyogYW4gWE1MIHJlYWRlciAqLworICAgIGludCBuX3JlYWRlcjsKKyAgICB4bWxEb2NQdHIgZG9jOyAvKiBhIHByZXBhcnNlZCBkb2N1bWVudCAqLworICAgIGludCBuX2RvYzsKKworICAgIGZvciAobl9yZWFkZXIgPSAwO25fcmVhZGVyIDwgZ2VuX25iX3htbFRleHRSZWFkZXJQdHI7bl9yZWFkZXIrKykgeworICAgIGZvciAobl9kb2MgPSAwO25fZG9jIDwgZ2VuX25iX3htbERvY1B0cjtuX2RvYysrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHJlYWRlciA9IGdlbl94bWxUZXh0UmVhZGVyUHRyKG5fcmVhZGVyLCAwKTsKKyAgICAgICAgZG9jID0gZ2VuX3htbERvY1B0cihuX2RvYywgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFJlYWRlck5ld1dhbGtlcihyZWFkZXIsIGRvYyk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFRleHRSZWFkZXJQdHIobl9yZWFkZXIsIHJlYWRlciwgMCk7CisgICAgICAgIGRlc194bWxEb2NQdHIobl9kb2MsIGRvYywgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxSZWFkZXJOZXdXYWxrZXIiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fcmVhZGVyKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9kb2MpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sUmVhZGVyV2Fsa2VyKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbFRleHRSZWFkZXJQdHIgcmV0X3ZhbDsKKyAgICB4bWxEb2NQdHIgZG9jOyAvKiBhIHByZXBhcnNlZCBkb2N1bWVudCAqLworICAgIGludCBuX2RvYzsKKworICAgIGZvciAobl9kb2MgPSAwO25fZG9jIDwgZ2VuX25iX3htbERvY1B0cjtuX2RvYysrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGRvYyA9IGdlbl94bWxEb2NQdHIobl9kb2MsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxSZWFkZXJXYWxrZXIoZG9jKTsKKyAgICAgICAgZGVzcmV0X3htbFRleHRSZWFkZXJQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbERvY1B0cihuX2RvYywgZG9jLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFJlYWRlcldhbGtlciIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9kb2MpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxUZXh0UmVhZGVyQXR0cmlidXRlQ291bnQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sVGV4dFJlYWRlclB0ciByZWFkZXI7IC8qIHRoZSB4bWxUZXh0UmVhZGVyUHRyIHVzZWQgKi8KKyAgICBpbnQgbl9yZWFkZXI7CisKKyAgICBmb3IgKG5fcmVhZGVyID0gMDtuX3JlYWRlciA8IGdlbl9uYl94bWxUZXh0UmVhZGVyUHRyO25fcmVhZGVyKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgcmVhZGVyID0gZ2VuX3htbFRleHRSZWFkZXJQdHIobl9yZWFkZXIsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxUZXh0UmVhZGVyQXR0cmlidXRlQ291bnQocmVhZGVyKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sVGV4dFJlYWRlclB0cihuX3JlYWRlciwgcmVhZGVyLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFRleHRSZWFkZXJBdHRyaWJ1dGVDb3VudCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9yZWFkZXIpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxUZXh0UmVhZGVyQmFzZVVyaSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxDaGFyICogcmV0X3ZhbDsKKyAgICB4bWxUZXh0UmVhZGVyUHRyIHJlYWRlcjsgLyogdGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZCAqLworICAgIGludCBuX3JlYWRlcjsKKworICAgIGZvciAobl9yZWFkZXIgPSAwO25fcmVhZGVyIDwgZ2VuX25iX3htbFRleHRSZWFkZXJQdHI7bl9yZWFkZXIrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICByZWFkZXIgPSBnZW5feG1sVGV4dFJlYWRlclB0cihuX3JlYWRlciwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFRleHRSZWFkZXJCYXNlVXJpKHJlYWRlcik7CisgICAgICAgIGRlc3JldF94bWxDaGFyX3B0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sVGV4dFJlYWRlclB0cihuX3JlYWRlciwgcmVhZGVyLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFRleHRSZWFkZXJCYXNlVXJpIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3JlYWRlcik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFRleHRSZWFkZXJCeXRlQ29uc3VtZWQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgbG9uZyByZXRfdmFsOworICAgIHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyOyAvKiBhbiBYTUwgcmVhZGVyICovCisgICAgaW50IG5fcmVhZGVyOworCisgICAgZm9yIChuX3JlYWRlciA9IDA7bl9yZWFkZXIgPCBnZW5fbmJfeG1sVGV4dFJlYWRlclB0cjtuX3JlYWRlcisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHJlYWRlciA9IGdlbl94bWxUZXh0UmVhZGVyUHRyKG5fcmVhZGVyLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVGV4dFJlYWRlckJ5dGVDb25zdW1lZChyZWFkZXIpOworICAgICAgICBkZXNyZXRfbG9uZyhyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sVGV4dFJlYWRlclB0cihuX3JlYWRlciwgcmVhZGVyLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFRleHRSZWFkZXJCeXRlQ29uc3VtZWQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fcmVhZGVyKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVGV4dFJlYWRlckNsb3NlKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyOyAvKiB0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkICovCisgICAgaW50IG5fcmVhZGVyOworCisgICAgZm9yIChuX3JlYWRlciA9IDA7bl9yZWFkZXIgPCBnZW5fbmJfeG1sVGV4dFJlYWRlclB0cjtuX3JlYWRlcisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHJlYWRlciA9IGdlbl94bWxUZXh0UmVhZGVyUHRyKG5fcmVhZGVyLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVGV4dFJlYWRlckNsb3NlKHJlYWRlcik7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFRleHRSZWFkZXJQdHIobl9yZWFkZXIsIHJlYWRlciwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxUZXh0UmVhZGVyQ2xvc2UiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fcmVhZGVyKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVGV4dFJlYWRlckNvbnN0QmFzZVVyaSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBjb25zdCB4bWxDaGFyICogcmV0X3ZhbDsKKyAgICB4bWxUZXh0UmVhZGVyUHRyIHJlYWRlcjsgLyogdGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZCAqLworICAgIGludCBuX3JlYWRlcjsKKworICAgIGZvciAobl9yZWFkZXIgPSAwO25fcmVhZGVyIDwgZ2VuX25iX3htbFRleHRSZWFkZXJQdHI7bl9yZWFkZXIrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICByZWFkZXIgPSBnZW5feG1sVGV4dFJlYWRlclB0cihuX3JlYWRlciwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFRleHRSZWFkZXJDb25zdEJhc2VVcmkocmVhZGVyKTsKKyAgICAgICAgZGVzcmV0X2NvbnN0X3htbENoYXJfcHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxUZXh0UmVhZGVyUHRyKG5fcmVhZGVyLCByZWFkZXIsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVGV4dFJlYWRlckNvbnN0QmFzZVVyaSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9yZWFkZXIpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxUZXh0UmVhZGVyQ29uc3RFbmNvZGluZyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBjb25zdCB4bWxDaGFyICogcmV0X3ZhbDsKKyAgICB4bWxUZXh0UmVhZGVyUHRyIHJlYWRlcjsgLyogdGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZCAqLworICAgIGludCBuX3JlYWRlcjsKKworICAgIGZvciAobl9yZWFkZXIgPSAwO25fcmVhZGVyIDwgZ2VuX25iX3htbFRleHRSZWFkZXJQdHI7bl9yZWFkZXIrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICByZWFkZXIgPSBnZW5feG1sVGV4dFJlYWRlclB0cihuX3JlYWRlciwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFRleHRSZWFkZXJDb25zdEVuY29kaW5nKHJlYWRlcik7CisgICAgICAgIGRlc3JldF9jb25zdF94bWxDaGFyX3B0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sVGV4dFJlYWRlclB0cihuX3JlYWRlciwgcmVhZGVyLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFRleHRSZWFkZXJDb25zdEVuY29kaW5nIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3JlYWRlcik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFRleHRSZWFkZXJDb25zdExvY2FsTmFtZSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBjb25zdCB4bWxDaGFyICogcmV0X3ZhbDsKKyAgICB4bWxUZXh0UmVhZGVyUHRyIHJlYWRlcjsgLyogdGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZCAqLworICAgIGludCBuX3JlYWRlcjsKKworICAgIGZvciAobl9yZWFkZXIgPSAwO25fcmVhZGVyIDwgZ2VuX25iX3htbFRleHRSZWFkZXJQdHI7bl9yZWFkZXIrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICByZWFkZXIgPSBnZW5feG1sVGV4dFJlYWRlclB0cihuX3JlYWRlciwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFRleHRSZWFkZXJDb25zdExvY2FsTmFtZShyZWFkZXIpOworICAgICAgICBkZXNyZXRfY29uc3RfeG1sQ2hhcl9wdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFRleHRSZWFkZXJQdHIobl9yZWFkZXIsIHJlYWRlciwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxUZXh0UmVhZGVyQ29uc3RMb2NhbE5hbWUiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fcmVhZGVyKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVGV4dFJlYWRlckNvbnN0TmFtZSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBjb25zdCB4bWxDaGFyICogcmV0X3ZhbDsKKyAgICB4bWxUZXh0UmVhZGVyUHRyIHJlYWRlcjsgLyogdGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZCAqLworICAgIGludCBuX3JlYWRlcjsKKworICAgIGZvciAobl9yZWFkZXIgPSAwO25fcmVhZGVyIDwgZ2VuX25iX3htbFRleHRSZWFkZXJQdHI7bl9yZWFkZXIrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICByZWFkZXIgPSBnZW5feG1sVGV4dFJlYWRlclB0cihuX3JlYWRlciwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFRleHRSZWFkZXJDb25zdE5hbWUocmVhZGVyKTsKKyAgICAgICAgZGVzcmV0X2NvbnN0X3htbENoYXJfcHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxUZXh0UmVhZGVyUHRyKG5fcmVhZGVyLCByZWFkZXIsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVGV4dFJlYWRlckNvbnN0TmFtZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9yZWFkZXIpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxUZXh0UmVhZGVyQ29uc3ROYW1lc3BhY2VVcmkodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgY29uc3QgeG1sQ2hhciAqIHJldF92YWw7CisgICAgeG1sVGV4dFJlYWRlclB0ciByZWFkZXI7IC8qIHRoZSB4bWxUZXh0UmVhZGVyUHRyIHVzZWQgKi8KKyAgICBpbnQgbl9yZWFkZXI7CisKKyAgICBmb3IgKG5fcmVhZGVyID0gMDtuX3JlYWRlciA8IGdlbl9uYl94bWxUZXh0UmVhZGVyUHRyO25fcmVhZGVyKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgcmVhZGVyID0gZ2VuX3htbFRleHRSZWFkZXJQdHIobl9yZWFkZXIsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxUZXh0UmVhZGVyQ29uc3ROYW1lc3BhY2VVcmkocmVhZGVyKTsKKyAgICAgICAgZGVzcmV0X2NvbnN0X3htbENoYXJfcHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxUZXh0UmVhZGVyUHRyKG5fcmVhZGVyLCByZWFkZXIsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVGV4dFJlYWRlckNvbnN0TmFtZXNwYWNlVXJpIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3JlYWRlcik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFRleHRSZWFkZXJDb25zdFByZWZpeCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBjb25zdCB4bWxDaGFyICogcmV0X3ZhbDsKKyAgICB4bWxUZXh0UmVhZGVyUHRyIHJlYWRlcjsgLyogdGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZCAqLworICAgIGludCBuX3JlYWRlcjsKKworICAgIGZvciAobl9yZWFkZXIgPSAwO25fcmVhZGVyIDwgZ2VuX25iX3htbFRleHRSZWFkZXJQdHI7bl9yZWFkZXIrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICByZWFkZXIgPSBnZW5feG1sVGV4dFJlYWRlclB0cihuX3JlYWRlciwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFRleHRSZWFkZXJDb25zdFByZWZpeChyZWFkZXIpOworICAgICAgICBkZXNyZXRfY29uc3RfeG1sQ2hhcl9wdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFRleHRSZWFkZXJQdHIobl9yZWFkZXIsIHJlYWRlciwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxUZXh0UmVhZGVyQ29uc3RQcmVmaXgiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fcmVhZGVyKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVGV4dFJlYWRlckNvbnN0U3RyaW5nKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGNvbnN0IHhtbENoYXIgKiByZXRfdmFsOworICAgIHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyOyAvKiB0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkICovCisgICAgaW50IG5fcmVhZGVyOworICAgIHhtbENoYXIgKiBzdHI7IC8qIHRoZSBzdHJpbmcgdG8gaW50ZXJuLiAqLworICAgIGludCBuX3N0cjsKKworICAgIGZvciAobl9yZWFkZXIgPSAwO25fcmVhZGVyIDwgZ2VuX25iX3htbFRleHRSZWFkZXJQdHI7bl9yZWFkZXIrKykgeworICAgIGZvciAobl9zdHIgPSAwO25fc3RyIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fc3RyKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgcmVhZGVyID0gZ2VuX3htbFRleHRSZWFkZXJQdHIobl9yZWFkZXIsIDApOworICAgICAgICBzdHIgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9zdHIsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxUZXh0UmVhZGVyQ29uc3RTdHJpbmcocmVhZGVyLCAoY29uc3QgeG1sQ2hhciAqKXN0cik7CisgICAgICAgIGRlc3JldF9jb25zdF94bWxDaGFyX3B0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sVGV4dFJlYWRlclB0cihuX3JlYWRlciwgcmVhZGVyLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fc3RyLCAoY29uc3QgeG1sQ2hhciAqKXN0ciwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxUZXh0UmVhZGVyQ29uc3RTdHJpbmciLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fcmVhZGVyKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9zdHIpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVGV4dFJlYWRlckNvbnN0VmFsdWUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgY29uc3QgeG1sQ2hhciAqIHJldF92YWw7CisgICAgeG1sVGV4dFJlYWRlclB0ciByZWFkZXI7IC8qIHRoZSB4bWxUZXh0UmVhZGVyUHRyIHVzZWQgKi8KKyAgICBpbnQgbl9yZWFkZXI7CisKKyAgICBmb3IgKG5fcmVhZGVyID0gMDtuX3JlYWRlciA8IGdlbl9uYl94bWxUZXh0UmVhZGVyUHRyO25fcmVhZGVyKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgcmVhZGVyID0gZ2VuX3htbFRleHRSZWFkZXJQdHIobl9yZWFkZXIsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxUZXh0UmVhZGVyQ29uc3RWYWx1ZShyZWFkZXIpOworICAgICAgICBkZXNyZXRfY29uc3RfeG1sQ2hhcl9wdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFRleHRSZWFkZXJQdHIobl9yZWFkZXIsIHJlYWRlciwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxUZXh0UmVhZGVyQ29uc3RWYWx1ZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9yZWFkZXIpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxUZXh0UmVhZGVyQ29uc3RYbWxMYW5nKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGNvbnN0IHhtbENoYXIgKiByZXRfdmFsOworICAgIHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyOyAvKiB0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkICovCisgICAgaW50IG5fcmVhZGVyOworCisgICAgZm9yIChuX3JlYWRlciA9IDA7bl9yZWFkZXIgPCBnZW5fbmJfeG1sVGV4dFJlYWRlclB0cjtuX3JlYWRlcisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHJlYWRlciA9IGdlbl94bWxUZXh0UmVhZGVyUHRyKG5fcmVhZGVyLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVGV4dFJlYWRlckNvbnN0WG1sTGFuZyhyZWFkZXIpOworICAgICAgICBkZXNyZXRfY29uc3RfeG1sQ2hhcl9wdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFRleHRSZWFkZXJQdHIobl9yZWFkZXIsIHJlYWRlciwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxUZXh0UmVhZGVyQ29uc3RYbWxMYW5nIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3JlYWRlcik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFRleHRSZWFkZXJDb25zdFhtbFZlcnNpb24odm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgY29uc3QgeG1sQ2hhciAqIHJldF92YWw7CisgICAgeG1sVGV4dFJlYWRlclB0ciByZWFkZXI7IC8qIHRoZSB4bWxUZXh0UmVhZGVyUHRyIHVzZWQgKi8KKyAgICBpbnQgbl9yZWFkZXI7CisKKyAgICBmb3IgKG5fcmVhZGVyID0gMDtuX3JlYWRlciA8IGdlbl9uYl94bWxUZXh0UmVhZGVyUHRyO25fcmVhZGVyKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgcmVhZGVyID0gZ2VuX3htbFRleHRSZWFkZXJQdHIobl9yZWFkZXIsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxUZXh0UmVhZGVyQ29uc3RYbWxWZXJzaW9uKHJlYWRlcik7CisgICAgICAgIGRlc3JldF9jb25zdF94bWxDaGFyX3B0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sVGV4dFJlYWRlclB0cihuX3JlYWRlciwgcmVhZGVyLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFRleHRSZWFkZXJDb25zdFhtbFZlcnNpb24iLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fcmVhZGVyKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVGV4dFJlYWRlckN1cnJlbnREb2Modm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sRG9jUHRyIHJldF92YWw7CisgICAgeG1sVGV4dFJlYWRlclB0ciByZWFkZXI7IC8qIHRoZSB4bWxUZXh0UmVhZGVyUHRyIHVzZWQgKi8KKyAgICBpbnQgbl9yZWFkZXI7CisKKyAgICBmb3IgKG5fcmVhZGVyID0gMDtuX3JlYWRlciA8IGdlbl9uYl94bWxUZXh0UmVhZGVyUHRyO25fcmVhZGVyKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgcmVhZGVyID0gZ2VuX3htbFRleHRSZWFkZXJQdHIobl9yZWFkZXIsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxUZXh0UmVhZGVyQ3VycmVudERvYyhyZWFkZXIpOworICAgICAgICBkZXNyZXRfeG1sRG9jUHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxUZXh0UmVhZGVyUHRyKG5fcmVhZGVyLCByZWFkZXIsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVGV4dFJlYWRlckN1cnJlbnREb2MiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fcmVhZGVyKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVGV4dFJlYWRlckN1cnJlbnROb2RlKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbE5vZGVQdHIgcmV0X3ZhbDsKKyAgICB4bWxUZXh0UmVhZGVyUHRyIHJlYWRlcjsgLyogdGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZCAqLworICAgIGludCBuX3JlYWRlcjsKKworICAgIGZvciAobl9yZWFkZXIgPSAwO25fcmVhZGVyIDwgZ2VuX25iX3htbFRleHRSZWFkZXJQdHI7bl9yZWFkZXIrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICByZWFkZXIgPSBnZW5feG1sVGV4dFJlYWRlclB0cihuX3JlYWRlciwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFRleHRSZWFkZXJDdXJyZW50Tm9kZShyZWFkZXIpOworICAgICAgICBkZXNyZXRfeG1sTm9kZVB0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sVGV4dFJlYWRlclB0cihuX3JlYWRlciwgcmVhZGVyLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFRleHRSZWFkZXJDdXJyZW50Tm9kZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9yZWFkZXIpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxUZXh0UmVhZGVyRGVwdGgodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sVGV4dFJlYWRlclB0ciByZWFkZXI7IC8qIHRoZSB4bWxUZXh0UmVhZGVyUHRyIHVzZWQgKi8KKyAgICBpbnQgbl9yZWFkZXI7CisKKyAgICBmb3IgKG5fcmVhZGVyID0gMDtuX3JlYWRlciA8IGdlbl9uYl94bWxUZXh0UmVhZGVyUHRyO25fcmVhZGVyKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgcmVhZGVyID0gZ2VuX3htbFRleHRSZWFkZXJQdHIobl9yZWFkZXIsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxUZXh0UmVhZGVyRGVwdGgocmVhZGVyKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sVGV4dFJlYWRlclB0cihuX3JlYWRlciwgcmVhZGVyLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFRleHRSZWFkZXJEZXB0aCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9yZWFkZXIpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxUZXh0UmVhZGVyRXhwYW5kKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbE5vZGVQdHIgcmV0X3ZhbDsKKyAgICB4bWxUZXh0UmVhZGVyUHRyIHJlYWRlcjsgLyogdGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZCAqLworICAgIGludCBuX3JlYWRlcjsKKworICAgIGZvciAobl9yZWFkZXIgPSAwO25fcmVhZGVyIDwgZ2VuX25iX3htbFRleHRSZWFkZXJQdHI7bl9yZWFkZXIrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICByZWFkZXIgPSBnZW5feG1sVGV4dFJlYWRlclB0cihuX3JlYWRlciwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFRleHRSZWFkZXJFeHBhbmQocmVhZGVyKTsKKyAgICAgICAgZGVzcmV0X3htbE5vZGVQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFRleHRSZWFkZXJQdHIobl9yZWFkZXIsIHJlYWRlciwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxUZXh0UmVhZGVyRXhwYW5kIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3JlYWRlcik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFRleHRSZWFkZXJHZXRBdHRyaWJ1dGUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sQ2hhciAqIHJldF92YWw7CisgICAgeG1sVGV4dFJlYWRlclB0ciByZWFkZXI7IC8qIHRoZSB4bWxUZXh0UmVhZGVyUHRyIHVzZWQgKi8KKyAgICBpbnQgbl9yZWFkZXI7CisgICAgeG1sQ2hhciAqIG5hbWU7IC8qIHRoZSBxdWFsaWZpZWQgbmFtZSBvZiB0aGUgYXR0cmlidXRlLiAqLworICAgIGludCBuX25hbWU7CisKKyAgICBmb3IgKG5fcmVhZGVyID0gMDtuX3JlYWRlciA8IGdlbl9uYl94bWxUZXh0UmVhZGVyUHRyO25fcmVhZGVyKyspIHsKKyAgICBmb3IgKG5fbmFtZSA9IDA7bl9uYW1lIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fbmFtZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHJlYWRlciA9IGdlbl94bWxUZXh0UmVhZGVyUHRyKG5fcmVhZGVyLCAwKTsKKyAgICAgICAgbmFtZSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlKHJlYWRlciwgKGNvbnN0IHhtbENoYXIgKiluYW1lKTsKKyAgICAgICAgZGVzcmV0X3htbENoYXJfcHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxUZXh0UmVhZGVyUHRyKG5fcmVhZGVyLCByZWFkZXIsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9yZWFkZXIpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25hbWUpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZU5vKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbENoYXIgKiByZXRfdmFsOworICAgIHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyOyAvKiB0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkICovCisgICAgaW50IG5fcmVhZGVyOworICAgIGludCBubzsgLyogdGhlIHplcm8tYmFzZWQgaW5kZXggb2YgdGhlIGF0dHJpYnV0ZSByZWxhdGl2ZSB0byB0aGUgY29udGFpbmluZyBlbGVtZW50ICovCisgICAgaW50IG5fbm87CisKKyAgICBmb3IgKG5fcmVhZGVyID0gMDtuX3JlYWRlciA8IGdlbl9uYl94bWxUZXh0UmVhZGVyUHRyO25fcmVhZGVyKyspIHsKKyAgICBmb3IgKG5fbm8gPSAwO25fbm8gPCBnZW5fbmJfaW50O25fbm8rKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICByZWFkZXIgPSBnZW5feG1sVGV4dFJlYWRlclB0cihuX3JlYWRlciwgMCk7CisgICAgICAgIG5vID0gZ2VuX2ludChuX25vLCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZU5vKHJlYWRlciwgbm8pOworICAgICAgICBkZXNyZXRfeG1sQ2hhcl9wdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFRleHRSZWFkZXJQdHIobl9yZWFkZXIsIHJlYWRlciwgMCk7CisgICAgICAgIGRlc19pbnQobl9ubywgbm8sIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZU5vIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3JlYWRlcik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbm8pOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZU5zKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbENoYXIgKiByZXRfdmFsOworICAgIHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyOyAvKiB0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkICovCisgICAgaW50IG5fcmVhZGVyOworICAgIHhtbENoYXIgKiBsb2NhbE5hbWU7IC8qIHRoZSBsb2NhbCBuYW1lIG9mIHRoZSBhdHRyaWJ1dGUuICovCisgICAgaW50IG5fbG9jYWxOYW1lOworICAgIHhtbENoYXIgKiBuYW1lc3BhY2VVUkk7IC8qIHRoZSBuYW1lc3BhY2UgVVJJIG9mIHRoZSBhdHRyaWJ1dGUuICovCisgICAgaW50IG5fbmFtZXNwYWNlVVJJOworCisgICAgZm9yIChuX3JlYWRlciA9IDA7bl9yZWFkZXIgPCBnZW5fbmJfeG1sVGV4dFJlYWRlclB0cjtuX3JlYWRlcisrKSB7CisgICAgZm9yIChuX2xvY2FsTmFtZSA9IDA7bl9sb2NhbE5hbWUgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9sb2NhbE5hbWUrKykgeworICAgIGZvciAobl9uYW1lc3BhY2VVUkkgPSAwO25fbmFtZXNwYWNlVVJJIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fbmFtZXNwYWNlVVJJKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgcmVhZGVyID0gZ2VuX3htbFRleHRSZWFkZXJQdHIobl9yZWFkZXIsIDApOworICAgICAgICBsb2NhbE5hbWUgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9sb2NhbE5hbWUsIDEpOworICAgICAgICBuYW1lc3BhY2VVUkkgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lc3BhY2VVUkksIDIpOworCisgICAgICAgIHJldF92YWwgPSB4bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlTnMocmVhZGVyLCAoY29uc3QgeG1sQ2hhciAqKWxvY2FsTmFtZSwgKGNvbnN0IHhtbENoYXIgKiluYW1lc3BhY2VVUkkpOworICAgICAgICBkZXNyZXRfeG1sQ2hhcl9wdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFRleHRSZWFkZXJQdHIobl9yZWFkZXIsIHJlYWRlciwgMCk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX2xvY2FsTmFtZSwgKGNvbnN0IHhtbENoYXIgKilsb2NhbE5hbWUsIDEpOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lc3BhY2VVUkksIChjb25zdCB4bWxDaGFyICopbmFtZXNwYWNlVVJJLCAyKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFRleHRSZWFkZXJHZXRBdHRyaWJ1dGVOcyIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9yZWFkZXIpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2xvY2FsTmFtZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFtZXNwYWNlVVJJKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKyNpZmRlZiBMSUJYTUxfUkVBREVSX0VOQUJMRUQKKworI2RlZmluZSBnZW5fbmJfeG1sVGV4dFJlYWRlckVycm9yRnVuY19wdHIgMQorc3RhdGljIHhtbFRleHRSZWFkZXJFcnJvckZ1bmMgKiBnZW5feG1sVGV4dFJlYWRlckVycm9yRnVuY19wdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgcmV0dXJuKE5VTEwpOworfQorc3RhdGljIHZvaWQgZGVzX3htbFRleHRSZWFkZXJFcnJvckZ1bmNfcHRyKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCB4bWxUZXh0UmVhZGVyRXJyb3JGdW5jICogdmFsIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7Cit9CisjZW5kaWYKKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFRleHRSZWFkZXJHZXRFcnJvckhhbmRsZXIodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sVGV4dFJlYWRlclB0ciByZWFkZXI7IC8qIHRoZSB4bWxUZXh0UmVhZGVyUHRyIHVzZWQgKi8KKyAgICBpbnQgbl9yZWFkZXI7CisgICAgeG1sVGV4dFJlYWRlckVycm9yRnVuYyAqIGY7IC8qIHRoZSBjYWxsYmFjayBmdW5jdGlvbiBvciBOVUxMIGlzIG5vIGNhbGxiYWNrIGhhcyBiZWVuIHJlZ2lzdGVyZWQgKi8KKyAgICBpbnQgbl9mOworICAgIHZvaWQgKiogYXJnOyAvKiBhIHVzZXIgYXJndW1lbnQgKi8KKyAgICBpbnQgbl9hcmc7CisKKyAgICBmb3IgKG5fcmVhZGVyID0gMDtuX3JlYWRlciA8IGdlbl9uYl94bWxUZXh0UmVhZGVyUHRyO25fcmVhZGVyKyspIHsKKyAgICBmb3IgKG5fZiA9IDA7bl9mIDwgZ2VuX25iX3htbFRleHRSZWFkZXJFcnJvckZ1bmNfcHRyO25fZisrKSB7CisgICAgZm9yIChuX2FyZyA9IDA7bl9hcmcgPCBnZW5fbmJfdm9pZF9wdHJfcHRyO25fYXJnKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgcmVhZGVyID0gZ2VuX3htbFRleHRSZWFkZXJQdHIobl9yZWFkZXIsIDApOworICAgICAgICBmID0gZ2VuX3htbFRleHRSZWFkZXJFcnJvckZ1bmNfcHRyKG5fZiwgMSk7CisgICAgICAgIGFyZyA9IGdlbl92b2lkX3B0cl9wdHIobl9hcmcsIDIpOworCisgICAgICAgIHhtbFRleHRSZWFkZXJHZXRFcnJvckhhbmRsZXIocmVhZGVyLCBmLCBhcmcpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxUZXh0UmVhZGVyUHRyKG5fcmVhZGVyLCByZWFkZXIsIDApOworICAgICAgICBkZXNfeG1sVGV4dFJlYWRlckVycm9yRnVuY19wdHIobl9mLCBmLCAxKTsKKyAgICAgICAgZGVzX3ZvaWRfcHRyX3B0cihuX2FyZywgYXJnLCAyKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFRleHRSZWFkZXJHZXRFcnJvckhhbmRsZXIiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fcmVhZGVyKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9mKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9hcmcpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFRleHRSZWFkZXJHZXRQYXJzZXJDb2x1bW5OdW1iZXIodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sVGV4dFJlYWRlclB0ciByZWFkZXI7IC8qIHRoZSB1c2VyIGRhdGEgKFhNTCByZWFkZXIgY29udGV4dCkgKi8KKyAgICBpbnQgbl9yZWFkZXI7CisKKyAgICBmb3IgKG5fcmVhZGVyID0gMDtuX3JlYWRlciA8IGdlbl9uYl94bWxUZXh0UmVhZGVyUHRyO25fcmVhZGVyKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgcmVhZGVyID0gZ2VuX3htbFRleHRSZWFkZXJQdHIobl9yZWFkZXIsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxUZXh0UmVhZGVyR2V0UGFyc2VyQ29sdW1uTnVtYmVyKHJlYWRlcik7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFRleHRSZWFkZXJQdHIobl9yZWFkZXIsIHJlYWRlciwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxUZXh0UmVhZGVyR2V0UGFyc2VyQ29sdW1uTnVtYmVyIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3JlYWRlcik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFRleHRSZWFkZXJHZXRQYXJzZXJMaW5lTnVtYmVyKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyOyAvKiB0aGUgdXNlciBkYXRhIChYTUwgcmVhZGVyIGNvbnRleHQpICovCisgICAgaW50IG5fcmVhZGVyOworCisgICAgZm9yIChuX3JlYWRlciA9IDA7bl9yZWFkZXIgPCBnZW5fbmJfeG1sVGV4dFJlYWRlclB0cjtuX3JlYWRlcisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHJlYWRlciA9IGdlbl94bWxUZXh0UmVhZGVyUHRyKG5fcmVhZGVyLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVGV4dFJlYWRlckdldFBhcnNlckxpbmVOdW1iZXIocmVhZGVyKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sVGV4dFJlYWRlclB0cihuX3JlYWRlciwgcmVhZGVyLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFRleHRSZWFkZXJHZXRQYXJzZXJMaW5lTnVtYmVyIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3JlYWRlcik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFRleHRSZWFkZXJHZXRQYXJzZXJQcm9wKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyOyAvKiB0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkICovCisgICAgaW50IG5fcmVhZGVyOworICAgIGludCBwcm9wOyAvKiB0aGUgeG1sUGFyc2VyUHJvcGVydGllcyB0byBnZXQgKi8KKyAgICBpbnQgbl9wcm9wOworCisgICAgZm9yIChuX3JlYWRlciA9IDA7bl9yZWFkZXIgPCBnZW5fbmJfeG1sVGV4dFJlYWRlclB0cjtuX3JlYWRlcisrKSB7CisgICAgZm9yIChuX3Byb3AgPSAwO25fcHJvcCA8IGdlbl9uYl9pbnQ7bl9wcm9wKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgcmVhZGVyID0gZ2VuX3htbFRleHRSZWFkZXJQdHIobl9yZWFkZXIsIDApOworICAgICAgICBwcm9wID0gZ2VuX2ludChuX3Byb3AsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxUZXh0UmVhZGVyR2V0UGFyc2VyUHJvcChyZWFkZXIsIHByb3ApOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxUZXh0UmVhZGVyUHRyKG5fcmVhZGVyLCByZWFkZXIsIDApOworICAgICAgICBkZXNfaW50KG5fcHJvcCwgcHJvcCwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxUZXh0UmVhZGVyR2V0UGFyc2VyUHJvcCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9yZWFkZXIpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3Byb3ApOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVGV4dFJlYWRlckdldFJlbWFpbmRlcih2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciByZXRfdmFsOworICAgIHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyOyAvKiB0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkICovCisgICAgaW50IG5fcmVhZGVyOworCisgICAgZm9yIChuX3JlYWRlciA9IDA7bl9yZWFkZXIgPCBnZW5fbmJfeG1sVGV4dFJlYWRlclB0cjtuX3JlYWRlcisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHJlYWRlciA9IGdlbl94bWxUZXh0UmVhZGVyUHRyKG5fcmVhZGVyLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVGV4dFJlYWRlckdldFJlbWFpbmRlcihyZWFkZXIpOworICAgICAgICBkZXNyZXRfeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFRleHRSZWFkZXJQdHIobl9yZWFkZXIsIHJlYWRlciwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxUZXh0UmVhZGVyR2V0UmVtYWluZGVyIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3JlYWRlcik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFRleHRSZWFkZXJIYXNBdHRyaWJ1dGVzKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyOyAvKiB0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkICovCisgICAgaW50IG5fcmVhZGVyOworCisgICAgZm9yIChuX3JlYWRlciA9IDA7bl9yZWFkZXIgPCBnZW5fbmJfeG1sVGV4dFJlYWRlclB0cjtuX3JlYWRlcisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHJlYWRlciA9IGdlbl94bWxUZXh0UmVhZGVyUHRyKG5fcmVhZGVyLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVGV4dFJlYWRlckhhc0F0dHJpYnV0ZXMocmVhZGVyKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sVGV4dFJlYWRlclB0cihuX3JlYWRlciwgcmVhZGVyLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFRleHRSZWFkZXJIYXNBdHRyaWJ1dGVzIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3JlYWRlcik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFRleHRSZWFkZXJIYXNWYWx1ZSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxUZXh0UmVhZGVyUHRyIHJlYWRlcjsgLyogdGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZCAqLworICAgIGludCBuX3JlYWRlcjsKKworICAgIGZvciAobl9yZWFkZXIgPSAwO25fcmVhZGVyIDwgZ2VuX25iX3htbFRleHRSZWFkZXJQdHI7bl9yZWFkZXIrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICByZWFkZXIgPSBnZW5feG1sVGV4dFJlYWRlclB0cihuX3JlYWRlciwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFRleHRSZWFkZXJIYXNWYWx1ZShyZWFkZXIpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxUZXh0UmVhZGVyUHRyKG5fcmVhZGVyLCByZWFkZXIsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVGV4dFJlYWRlckhhc1ZhbHVlIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3JlYWRlcik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFRleHRSZWFkZXJJc0RlZmF1bHQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sVGV4dFJlYWRlclB0ciByZWFkZXI7IC8qIHRoZSB4bWxUZXh0UmVhZGVyUHRyIHVzZWQgKi8KKyAgICBpbnQgbl9yZWFkZXI7CisKKyAgICBmb3IgKG5fcmVhZGVyID0gMDtuX3JlYWRlciA8IGdlbl9uYl94bWxUZXh0UmVhZGVyUHRyO25fcmVhZGVyKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgcmVhZGVyID0gZ2VuX3htbFRleHRSZWFkZXJQdHIobl9yZWFkZXIsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxUZXh0UmVhZGVySXNEZWZhdWx0KHJlYWRlcik7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFRleHRSZWFkZXJQdHIobl9yZWFkZXIsIHJlYWRlciwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxUZXh0UmVhZGVySXNEZWZhdWx0IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3JlYWRlcik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFRleHRSZWFkZXJJc0VtcHR5RWxlbWVudCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxUZXh0UmVhZGVyUHRyIHJlYWRlcjsgLyogdGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZCAqLworICAgIGludCBuX3JlYWRlcjsKKworICAgIGZvciAobl9yZWFkZXIgPSAwO25fcmVhZGVyIDwgZ2VuX25iX3htbFRleHRSZWFkZXJQdHI7bl9yZWFkZXIrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICByZWFkZXIgPSBnZW5feG1sVGV4dFJlYWRlclB0cihuX3JlYWRlciwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFRleHRSZWFkZXJJc0VtcHR5RWxlbWVudChyZWFkZXIpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxUZXh0UmVhZGVyUHRyKG5fcmVhZGVyLCByZWFkZXIsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVGV4dFJlYWRlcklzRW1wdHlFbGVtZW50IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3JlYWRlcik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFRleHRSZWFkZXJJc05hbWVzcGFjZURlY2wodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sVGV4dFJlYWRlclB0ciByZWFkZXI7IC8qIHRoZSB4bWxUZXh0UmVhZGVyUHRyIHVzZWQgKi8KKyAgICBpbnQgbl9yZWFkZXI7CisKKyAgICBmb3IgKG5fcmVhZGVyID0gMDtuX3JlYWRlciA8IGdlbl9uYl94bWxUZXh0UmVhZGVyUHRyO25fcmVhZGVyKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgcmVhZGVyID0gZ2VuX3htbFRleHRSZWFkZXJQdHIobl9yZWFkZXIsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxUZXh0UmVhZGVySXNOYW1lc3BhY2VEZWNsKHJlYWRlcik7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFRleHRSZWFkZXJQdHIobl9yZWFkZXIsIHJlYWRlciwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxUZXh0UmVhZGVySXNOYW1lc3BhY2VEZWNsIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3JlYWRlcik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFRleHRSZWFkZXJJc1ZhbGlkKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyOyAvKiB0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkICovCisgICAgaW50IG5fcmVhZGVyOworCisgICAgZm9yIChuX3JlYWRlciA9IDA7bl9yZWFkZXIgPCBnZW5fbmJfeG1sVGV4dFJlYWRlclB0cjtuX3JlYWRlcisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHJlYWRlciA9IGdlbl94bWxUZXh0UmVhZGVyUHRyKG5fcmVhZGVyLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVGV4dFJlYWRlcklzVmFsaWQocmVhZGVyKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sVGV4dFJlYWRlclB0cihuX3JlYWRlciwgcmVhZGVyLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFRleHRSZWFkZXJJc1ZhbGlkIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3JlYWRlcik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFRleHRSZWFkZXJMb2NhbE5hbWUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sQ2hhciAqIHJldF92YWw7CisgICAgeG1sVGV4dFJlYWRlclB0ciByZWFkZXI7IC8qIHRoZSB4bWxUZXh0UmVhZGVyUHRyIHVzZWQgKi8KKyAgICBpbnQgbl9yZWFkZXI7CisKKyAgICBmb3IgKG5fcmVhZGVyID0gMDtuX3JlYWRlciA8IGdlbl9uYl94bWxUZXh0UmVhZGVyUHRyO25fcmVhZGVyKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgcmVhZGVyID0gZ2VuX3htbFRleHRSZWFkZXJQdHIobl9yZWFkZXIsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxUZXh0UmVhZGVyTG9jYWxOYW1lKHJlYWRlcik7CisgICAgICAgIGRlc3JldF94bWxDaGFyX3B0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sVGV4dFJlYWRlclB0cihuX3JlYWRlciwgcmVhZGVyLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFRleHRSZWFkZXJMb2NhbE5hbWUiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fcmVhZGVyKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisjaWZkZWYgTElCWE1MX1JFQURFUl9FTkFCTEVECisKKyNkZWZpbmUgZ2VuX25iX3htbFRleHRSZWFkZXJMb2NhdG9yUHRyIDEKK3N0YXRpYyB4bWxUZXh0UmVhZGVyTG9jYXRvclB0ciBnZW5feG1sVGV4dFJlYWRlckxvY2F0b3JQdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgcmV0dXJuKE5VTEwpOworfQorc3RhdGljIHZvaWQgZGVzX3htbFRleHRSZWFkZXJMb2NhdG9yUHRyKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCB4bWxUZXh0UmVhZGVyTG9jYXRvclB0ciB2YWwgQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKK30KKyNlbmRpZgorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVGV4dFJlYWRlckxvY2F0b3JCYXNlVVJJKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbENoYXIgKiByZXRfdmFsOworICAgIHhtbFRleHRSZWFkZXJMb2NhdG9yUHRyIGxvY2F0b3I7IC8qIHRoZSB4bWxUZXh0UmVhZGVyTG9jYXRvclB0ciB1c2VkICovCisgICAgaW50IG5fbG9jYXRvcjsKKworICAgIGZvciAobl9sb2NhdG9yID0gMDtuX2xvY2F0b3IgPCBnZW5fbmJfeG1sVGV4dFJlYWRlckxvY2F0b3JQdHI7bl9sb2NhdG9yKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgbG9jYXRvciA9IGdlbl94bWxUZXh0UmVhZGVyTG9jYXRvclB0cihuX2xvY2F0b3IsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxUZXh0UmVhZGVyTG9jYXRvckJhc2VVUkkobG9jYXRvcik7CisgICAgICAgIGRlc3JldF94bWxDaGFyX3B0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sVGV4dFJlYWRlckxvY2F0b3JQdHIobl9sb2NhdG9yLCBsb2NhdG9yLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFRleHRSZWFkZXJMb2NhdG9yQmFzZVVSSSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9sb2NhdG9yKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVGV4dFJlYWRlckxvY2F0b3JMaW5lTnVtYmVyKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbFRleHRSZWFkZXJMb2NhdG9yUHRyIGxvY2F0b3I7IC8qIHRoZSB4bWxUZXh0UmVhZGVyTG9jYXRvclB0ciB1c2VkICovCisgICAgaW50IG5fbG9jYXRvcjsKKworICAgIGZvciAobl9sb2NhdG9yID0gMDtuX2xvY2F0b3IgPCBnZW5fbmJfeG1sVGV4dFJlYWRlckxvY2F0b3JQdHI7bl9sb2NhdG9yKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgbG9jYXRvciA9IGdlbl94bWxUZXh0UmVhZGVyTG9jYXRvclB0cihuX2xvY2F0b3IsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxUZXh0UmVhZGVyTG9jYXRvckxpbmVOdW1iZXIobG9jYXRvcik7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFRleHRSZWFkZXJMb2NhdG9yUHRyKG5fbG9jYXRvciwgbG9jYXRvciwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxUZXh0UmVhZGVyTG9jYXRvckxpbmVOdW1iZXIiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbG9jYXRvcik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFRleHRSZWFkZXJMb29rdXBOYW1lc3BhY2Uodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sQ2hhciAqIHJldF92YWw7CisgICAgeG1sVGV4dFJlYWRlclB0ciByZWFkZXI7IC8qIHRoZSB4bWxUZXh0UmVhZGVyUHRyIHVzZWQgKi8KKyAgICBpbnQgbl9yZWFkZXI7CisgICAgeG1sQ2hhciAqIHByZWZpeDsgLyogdGhlIHByZWZpeCB3aG9zZSBuYW1lc3BhY2UgVVJJIGlzIHRvIGJlIHJlc29sdmVkLiBUbyByZXR1cm4gdGhlIGRlZmF1bHQgbmFtZXNwYWNlLCBzcGVjaWZ5IE5VTEwgKi8KKyAgICBpbnQgbl9wcmVmaXg7CisKKyAgICBmb3IgKG5fcmVhZGVyID0gMDtuX3JlYWRlciA8IGdlbl9uYl94bWxUZXh0UmVhZGVyUHRyO25fcmVhZGVyKyspIHsKKyAgICBmb3IgKG5fcHJlZml4ID0gMDtuX3ByZWZpeCA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX3ByZWZpeCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHJlYWRlciA9IGdlbl94bWxUZXh0UmVhZGVyUHRyKG5fcmVhZGVyLCAwKTsKKyAgICAgICAgcHJlZml4ID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fcHJlZml4LCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sVGV4dFJlYWRlckxvb2t1cE5hbWVzcGFjZShyZWFkZXIsIChjb25zdCB4bWxDaGFyICopcHJlZml4KTsKKyAgICAgICAgZGVzcmV0X3htbENoYXJfcHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxUZXh0UmVhZGVyUHRyKG5fcmVhZGVyLCByZWFkZXIsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9wcmVmaXgsIChjb25zdCB4bWxDaGFyICopcHJlZml4LCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFRleHRSZWFkZXJMb29rdXBOYW1lc3BhY2UiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fcmVhZGVyKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9wcmVmaXgpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVGV4dFJlYWRlck1vdmVUb0F0dHJpYnV0ZSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxUZXh0UmVhZGVyUHRyIHJlYWRlcjsgLyogdGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZCAqLworICAgIGludCBuX3JlYWRlcjsKKyAgICB4bWxDaGFyICogbmFtZTsgLyogdGhlIHF1YWxpZmllZCBuYW1lIG9mIHRoZSBhdHRyaWJ1dGUuICovCisgICAgaW50IG5fbmFtZTsKKworICAgIGZvciAobl9yZWFkZXIgPSAwO25fcmVhZGVyIDwgZ2VuX25iX3htbFRleHRSZWFkZXJQdHI7bl9yZWFkZXIrKykgeworICAgIGZvciAobl9uYW1lID0gMDtuX25hbWUgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9uYW1lKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgcmVhZGVyID0gZ2VuX3htbFRleHRSZWFkZXJQdHIobl9yZWFkZXIsIDApOworICAgICAgICBuYW1lID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFRleHRSZWFkZXJNb3ZlVG9BdHRyaWJ1dGUocmVhZGVyLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxUZXh0UmVhZGVyUHRyKG5fcmVhZGVyLCByZWFkZXIsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVGV4dFJlYWRlck1vdmVUb0F0dHJpYnV0ZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9yZWFkZXIpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25hbWUpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVGV4dFJlYWRlck1vdmVUb0F0dHJpYnV0ZU5vKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyOyAvKiB0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkICovCisgICAgaW50IG5fcmVhZGVyOworICAgIGludCBubzsgLyogdGhlIHplcm8tYmFzZWQgaW5kZXggb2YgdGhlIGF0dHJpYnV0ZSByZWxhdGl2ZSB0byB0aGUgY29udGFpbmluZyBlbGVtZW50LiAqLworICAgIGludCBuX25vOworCisgICAgZm9yIChuX3JlYWRlciA9IDA7bl9yZWFkZXIgPCBnZW5fbmJfeG1sVGV4dFJlYWRlclB0cjtuX3JlYWRlcisrKSB7CisgICAgZm9yIChuX25vID0gMDtuX25vIDwgZ2VuX25iX2ludDtuX25vKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgcmVhZGVyID0gZ2VuX3htbFRleHRSZWFkZXJQdHIobl9yZWFkZXIsIDApOworICAgICAgICBubyA9IGdlbl9pbnQobl9ubywgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFRleHRSZWFkZXJNb3ZlVG9BdHRyaWJ1dGVObyhyZWFkZXIsIG5vKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sVGV4dFJlYWRlclB0cihuX3JlYWRlciwgcmVhZGVyLCAwKTsKKyAgICAgICAgZGVzX2ludChuX25vLCBubywgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxUZXh0UmVhZGVyTW92ZVRvQXR0cmlidXRlTm8iLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fcmVhZGVyKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9ubyk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxUZXh0UmVhZGVyTW92ZVRvQXR0cmlidXRlTnModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sVGV4dFJlYWRlclB0ciByZWFkZXI7IC8qIHRoZSB4bWxUZXh0UmVhZGVyUHRyIHVzZWQgKi8KKyAgICBpbnQgbl9yZWFkZXI7CisgICAgeG1sQ2hhciAqIGxvY2FsTmFtZTsgLyogdGhlIGxvY2FsIG5hbWUgb2YgdGhlIGF0dHJpYnV0ZS4gKi8KKyAgICBpbnQgbl9sb2NhbE5hbWU7CisgICAgeG1sQ2hhciAqIG5hbWVzcGFjZVVSSTsgLyogdGhlIG5hbWVzcGFjZSBVUkkgb2YgdGhlIGF0dHJpYnV0ZS4gKi8KKyAgICBpbnQgbl9uYW1lc3BhY2VVUkk7CisKKyAgICBmb3IgKG5fcmVhZGVyID0gMDtuX3JlYWRlciA8IGdlbl9uYl94bWxUZXh0UmVhZGVyUHRyO25fcmVhZGVyKyspIHsKKyAgICBmb3IgKG5fbG9jYWxOYW1lID0gMDtuX2xvY2FsTmFtZSA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX2xvY2FsTmFtZSsrKSB7CisgICAgZm9yIChuX25hbWVzcGFjZVVSSSA9IDA7bl9uYW1lc3BhY2VVUkkgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9uYW1lc3BhY2VVUkkrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICByZWFkZXIgPSBnZW5feG1sVGV4dFJlYWRlclB0cihuX3JlYWRlciwgMCk7CisgICAgICAgIGxvY2FsTmFtZSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX2xvY2FsTmFtZSwgMSk7CisgICAgICAgIG5hbWVzcGFjZVVSSSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX25hbWVzcGFjZVVSSSwgMik7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFRleHRSZWFkZXJNb3ZlVG9BdHRyaWJ1dGVOcyhyZWFkZXIsIChjb25zdCB4bWxDaGFyICopbG9jYWxOYW1lLCAoY29uc3QgeG1sQ2hhciAqKW5hbWVzcGFjZVVSSSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFRleHRSZWFkZXJQdHIobl9yZWFkZXIsIHJlYWRlciwgMCk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX2xvY2FsTmFtZSwgKGNvbnN0IHhtbENoYXIgKilsb2NhbE5hbWUsIDEpOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lc3BhY2VVUkksIChjb25zdCB4bWxDaGFyICopbmFtZXNwYWNlVVJJLCAyKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFRleHRSZWFkZXJNb3ZlVG9BdHRyaWJ1dGVOcyIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9yZWFkZXIpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2xvY2FsTmFtZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFtZXNwYWNlVVJJKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxUZXh0UmVhZGVyTW92ZVRvRWxlbWVudCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxUZXh0UmVhZGVyUHRyIHJlYWRlcjsgLyogdGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZCAqLworICAgIGludCBuX3JlYWRlcjsKKworICAgIGZvciAobl9yZWFkZXIgPSAwO25fcmVhZGVyIDwgZ2VuX25iX3htbFRleHRSZWFkZXJQdHI7bl9yZWFkZXIrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICByZWFkZXIgPSBnZW5feG1sVGV4dFJlYWRlclB0cihuX3JlYWRlciwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFRleHRSZWFkZXJNb3ZlVG9FbGVtZW50KHJlYWRlcik7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFRleHRSZWFkZXJQdHIobl9yZWFkZXIsIHJlYWRlciwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxUZXh0UmVhZGVyTW92ZVRvRWxlbWVudCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9yZWFkZXIpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxUZXh0UmVhZGVyTW92ZVRvRmlyc3RBdHRyaWJ1dGUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sVGV4dFJlYWRlclB0ciByZWFkZXI7IC8qIHRoZSB4bWxUZXh0UmVhZGVyUHRyIHVzZWQgKi8KKyAgICBpbnQgbl9yZWFkZXI7CisKKyAgICBmb3IgKG5fcmVhZGVyID0gMDtuX3JlYWRlciA8IGdlbl9uYl94bWxUZXh0UmVhZGVyUHRyO25fcmVhZGVyKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgcmVhZGVyID0gZ2VuX3htbFRleHRSZWFkZXJQdHIobl9yZWFkZXIsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxUZXh0UmVhZGVyTW92ZVRvRmlyc3RBdHRyaWJ1dGUocmVhZGVyKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sVGV4dFJlYWRlclB0cihuX3JlYWRlciwgcmVhZGVyLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFRleHRSZWFkZXJNb3ZlVG9GaXJzdEF0dHJpYnV0ZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9yZWFkZXIpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxUZXh0UmVhZGVyTW92ZVRvTmV4dEF0dHJpYnV0ZSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxUZXh0UmVhZGVyUHRyIHJlYWRlcjsgLyogdGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZCAqLworICAgIGludCBuX3JlYWRlcjsKKworICAgIGZvciAobl9yZWFkZXIgPSAwO25fcmVhZGVyIDwgZ2VuX25iX3htbFRleHRSZWFkZXJQdHI7bl9yZWFkZXIrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICByZWFkZXIgPSBnZW5feG1sVGV4dFJlYWRlclB0cihuX3JlYWRlciwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFRleHRSZWFkZXJNb3ZlVG9OZXh0QXR0cmlidXRlKHJlYWRlcik7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFRleHRSZWFkZXJQdHIobl9yZWFkZXIsIHJlYWRlciwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxUZXh0UmVhZGVyTW92ZVRvTmV4dEF0dHJpYnV0ZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9yZWFkZXIpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxUZXh0UmVhZGVyTmFtZSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxDaGFyICogcmV0X3ZhbDsKKyAgICB4bWxUZXh0UmVhZGVyUHRyIHJlYWRlcjsgLyogdGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZCAqLworICAgIGludCBuX3JlYWRlcjsKKworICAgIGZvciAobl9yZWFkZXIgPSAwO25fcmVhZGVyIDwgZ2VuX25iX3htbFRleHRSZWFkZXJQdHI7bl9yZWFkZXIrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICByZWFkZXIgPSBnZW5feG1sVGV4dFJlYWRlclB0cihuX3JlYWRlciwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFRleHRSZWFkZXJOYW1lKHJlYWRlcik7CisgICAgICAgIGRlc3JldF94bWxDaGFyX3B0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sVGV4dFJlYWRlclB0cihuX3JlYWRlciwgcmVhZGVyLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFRleHRSZWFkZXJOYW1lIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3JlYWRlcik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFRleHRSZWFkZXJOYW1lc3BhY2VVcmkodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sQ2hhciAqIHJldF92YWw7CisgICAgeG1sVGV4dFJlYWRlclB0ciByZWFkZXI7IC8qIHRoZSB4bWxUZXh0UmVhZGVyUHRyIHVzZWQgKi8KKyAgICBpbnQgbl9yZWFkZXI7CisKKyAgICBmb3IgKG5fcmVhZGVyID0gMDtuX3JlYWRlciA8IGdlbl9uYl94bWxUZXh0UmVhZGVyUHRyO25fcmVhZGVyKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgcmVhZGVyID0gZ2VuX3htbFRleHRSZWFkZXJQdHIobl9yZWFkZXIsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxUZXh0UmVhZGVyTmFtZXNwYWNlVXJpKHJlYWRlcik7CisgICAgICAgIGRlc3JldF94bWxDaGFyX3B0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sVGV4dFJlYWRlclB0cihuX3JlYWRlciwgcmVhZGVyLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFRleHRSZWFkZXJOYW1lc3BhY2VVcmkiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fcmVhZGVyKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVGV4dFJlYWRlck5leHQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sVGV4dFJlYWRlclB0ciByZWFkZXI7IC8qIHRoZSB4bWxUZXh0UmVhZGVyUHRyIHVzZWQgKi8KKyAgICBpbnQgbl9yZWFkZXI7CisKKyAgICBmb3IgKG5fcmVhZGVyID0gMDtuX3JlYWRlciA8IGdlbl9uYl94bWxUZXh0UmVhZGVyUHRyO25fcmVhZGVyKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgcmVhZGVyID0gZ2VuX3htbFRleHRSZWFkZXJQdHIobl9yZWFkZXIsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxUZXh0UmVhZGVyTmV4dChyZWFkZXIpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxUZXh0UmVhZGVyUHRyKG5fcmVhZGVyLCByZWFkZXIsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVGV4dFJlYWRlck5leHQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fcmVhZGVyKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVGV4dFJlYWRlck5leHRTaWJsaW5nKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyOyAvKiB0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkICovCisgICAgaW50IG5fcmVhZGVyOworCisgICAgZm9yIChuX3JlYWRlciA9IDA7bl9yZWFkZXIgPCBnZW5fbmJfeG1sVGV4dFJlYWRlclB0cjtuX3JlYWRlcisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHJlYWRlciA9IGdlbl94bWxUZXh0UmVhZGVyUHRyKG5fcmVhZGVyLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVGV4dFJlYWRlck5leHRTaWJsaW5nKHJlYWRlcik7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFRleHRSZWFkZXJQdHIobl9yZWFkZXIsIHJlYWRlciwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxUZXh0UmVhZGVyTmV4dFNpYmxpbmciLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fcmVhZGVyKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVGV4dFJlYWRlck5vZGVUeXBlKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyOyAvKiB0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkICovCisgICAgaW50IG5fcmVhZGVyOworCisgICAgZm9yIChuX3JlYWRlciA9IDA7bl9yZWFkZXIgPCBnZW5fbmJfeG1sVGV4dFJlYWRlclB0cjtuX3JlYWRlcisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHJlYWRlciA9IGdlbl94bWxUZXh0UmVhZGVyUHRyKG5fcmVhZGVyLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVGV4dFJlYWRlck5vZGVUeXBlKHJlYWRlcik7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFRleHRSZWFkZXJQdHIobl9yZWFkZXIsIHJlYWRlciwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxUZXh0UmVhZGVyTm9kZVR5cGUiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fcmVhZGVyKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVGV4dFJlYWRlck5vcm1hbGl6YXRpb24odm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sVGV4dFJlYWRlclB0ciByZWFkZXI7IC8qIHRoZSB4bWxUZXh0UmVhZGVyUHRyIHVzZWQgKi8KKyAgICBpbnQgbl9yZWFkZXI7CisKKyAgICBmb3IgKG5fcmVhZGVyID0gMDtuX3JlYWRlciA8IGdlbl9uYl94bWxUZXh0UmVhZGVyUHRyO25fcmVhZGVyKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgcmVhZGVyID0gZ2VuX3htbFRleHRSZWFkZXJQdHIobl9yZWFkZXIsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxUZXh0UmVhZGVyTm9ybWFsaXphdGlvbihyZWFkZXIpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxUZXh0UmVhZGVyUHRyKG5fcmVhZGVyLCByZWFkZXIsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVGV4dFJlYWRlck5vcm1hbGl6YXRpb24iLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fcmVhZGVyKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVGV4dFJlYWRlclByZWZpeCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxDaGFyICogcmV0X3ZhbDsKKyAgICB4bWxUZXh0UmVhZGVyUHRyIHJlYWRlcjsgLyogdGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZCAqLworICAgIGludCBuX3JlYWRlcjsKKworICAgIGZvciAobl9yZWFkZXIgPSAwO25fcmVhZGVyIDwgZ2VuX25iX3htbFRleHRSZWFkZXJQdHI7bl9yZWFkZXIrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICByZWFkZXIgPSBnZW5feG1sVGV4dFJlYWRlclB0cihuX3JlYWRlciwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFRleHRSZWFkZXJQcmVmaXgocmVhZGVyKTsKKyAgICAgICAgZGVzcmV0X3htbENoYXJfcHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxUZXh0UmVhZGVyUHRyKG5fcmVhZGVyLCByZWFkZXIsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVGV4dFJlYWRlclByZWZpeCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9yZWFkZXIpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxUZXh0UmVhZGVyUHJlc2VydmUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sTm9kZVB0ciByZXRfdmFsOworICAgIHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyOyAvKiB0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkICovCisgICAgaW50IG5fcmVhZGVyOworCisgICAgZm9yIChuX3JlYWRlciA9IDA7bl9yZWFkZXIgPCBnZW5fbmJfeG1sVGV4dFJlYWRlclB0cjtuX3JlYWRlcisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHJlYWRlciA9IGdlbl94bWxUZXh0UmVhZGVyUHRyKG5fcmVhZGVyLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVGV4dFJlYWRlclByZXNlcnZlKHJlYWRlcik7CisgICAgICAgIGRlc3JldF94bWxOb2RlUHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxUZXh0UmVhZGVyUHRyKG5fcmVhZGVyLCByZWFkZXIsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVGV4dFJlYWRlclByZXNlcnZlIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3JlYWRlcik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFRleHRSZWFkZXJQcmVzZXJ2ZVBhdHRlcm4odm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfUEFUVEVSTl9FTkFCTEVEKQorI2lmZGVmIExJQlhNTF9QQVRURVJOX0VOQUJMRUQKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sVGV4dFJlYWRlclB0ciByZWFkZXI7IC8qIHRoZSB4bWxUZXh0UmVhZGVyUHRyIHVzZWQgKi8KKyAgICBpbnQgbl9yZWFkZXI7CisgICAgeG1sQ2hhciAqIHBhdHRlcm47IC8qIGFuIFhQYXRoIHN1YnNldCBwYXR0ZXJuICovCisgICAgaW50IG5fcGF0dGVybjsKKyAgICB4bWxDaGFyICoqIG5hbWVzcGFjZXM7IC8qIHRoZSBwcmVmaXggZGVmaW5pdGlvbnMsIGFycmF5IG9mIFtVUkksIHByZWZpeF0gb3IgTlVMTCAqLworICAgIGludCBuX25hbWVzcGFjZXM7CisKKyAgICBmb3IgKG5fcmVhZGVyID0gMDtuX3JlYWRlciA8IGdlbl9uYl94bWxUZXh0UmVhZGVyUHRyO25fcmVhZGVyKyspIHsKKyAgICBmb3IgKG5fcGF0dGVybiA9IDA7bl9wYXR0ZXJuIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fcGF0dGVybisrKSB7CisgICAgZm9yIChuX25hbWVzcGFjZXMgPSAwO25fbmFtZXNwYWNlcyA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cl9wdHI7bl9uYW1lc3BhY2VzKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgcmVhZGVyID0gZ2VuX3htbFRleHRSZWFkZXJQdHIobl9yZWFkZXIsIDApOworICAgICAgICBwYXR0ZXJuID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fcGF0dGVybiwgMSk7CisgICAgICAgIG5hbWVzcGFjZXMgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHJfcHRyKG5fbmFtZXNwYWNlcywgMik7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFRleHRSZWFkZXJQcmVzZXJ2ZVBhdHRlcm4ocmVhZGVyLCAoY29uc3QgeG1sQ2hhciAqKXBhdHRlcm4sIChjb25zdCB4bWxDaGFyICoqKW5hbWVzcGFjZXMpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxUZXh0UmVhZGVyUHRyKG5fcmVhZGVyLCByZWFkZXIsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9wYXR0ZXJuLCAoY29uc3QgeG1sQ2hhciAqKXBhdHRlcm4sIDEpOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHJfcHRyKG5fbmFtZXNwYWNlcywgKGNvbnN0IHhtbENoYXIgKiopbmFtZXNwYWNlcywgMik7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxUZXh0UmVhZGVyUHJlc2VydmVQYXR0ZXJuIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3JlYWRlcik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fcGF0dGVybik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFtZXNwYWNlcyk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxUZXh0UmVhZGVyUXVvdGVDaGFyKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyOyAvKiB0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkICovCisgICAgaW50IG5fcmVhZGVyOworCisgICAgZm9yIChuX3JlYWRlciA9IDA7bl9yZWFkZXIgPCBnZW5fbmJfeG1sVGV4dFJlYWRlclB0cjtuX3JlYWRlcisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHJlYWRlciA9IGdlbl94bWxUZXh0UmVhZGVyUHRyKG5fcmVhZGVyLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVGV4dFJlYWRlclF1b3RlQ2hhcihyZWFkZXIpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxUZXh0UmVhZGVyUHRyKG5fcmVhZGVyLCByZWFkZXIsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVGV4dFJlYWRlclF1b3RlQ2hhciIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9yZWFkZXIpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxUZXh0UmVhZGVyUmVhZCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxUZXh0UmVhZGVyUHRyIHJlYWRlcjsgLyogdGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZCAqLworICAgIGludCBuX3JlYWRlcjsKKworICAgIGZvciAobl9yZWFkZXIgPSAwO25fcmVhZGVyIDwgZ2VuX25iX3htbFRleHRSZWFkZXJQdHI7bl9yZWFkZXIrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICByZWFkZXIgPSBnZW5feG1sVGV4dFJlYWRlclB0cihuX3JlYWRlciwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFRleHRSZWFkZXJSZWFkKHJlYWRlcik7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFRleHRSZWFkZXJQdHIobl9yZWFkZXIsIHJlYWRlciwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxUZXh0UmVhZGVyUmVhZCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9yZWFkZXIpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxUZXh0UmVhZGVyUmVhZEF0dHJpYnV0ZVZhbHVlKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyOyAvKiB0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkICovCisgICAgaW50IG5fcmVhZGVyOworCisgICAgZm9yIChuX3JlYWRlciA9IDA7bl9yZWFkZXIgPCBnZW5fbmJfeG1sVGV4dFJlYWRlclB0cjtuX3JlYWRlcisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHJlYWRlciA9IGdlbl94bWxUZXh0UmVhZGVyUHRyKG5fcmVhZGVyLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVGV4dFJlYWRlclJlYWRBdHRyaWJ1dGVWYWx1ZShyZWFkZXIpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxUZXh0UmVhZGVyUHRyKG5fcmVhZGVyLCByZWFkZXIsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVGV4dFJlYWRlclJlYWRBdHRyaWJ1dGVWYWx1ZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9yZWFkZXIpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxUZXh0UmVhZGVyUmVhZFN0YXRlKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyOyAvKiB0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkICovCisgICAgaW50IG5fcmVhZGVyOworCisgICAgZm9yIChuX3JlYWRlciA9IDA7bl9yZWFkZXIgPCBnZW5fbmJfeG1sVGV4dFJlYWRlclB0cjtuX3JlYWRlcisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHJlYWRlciA9IGdlbl94bWxUZXh0UmVhZGVyUHRyKG5fcmVhZGVyLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVGV4dFJlYWRlclJlYWRTdGF0ZShyZWFkZXIpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxUZXh0UmVhZGVyUHRyKG5fcmVhZGVyLCByZWFkZXIsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVGV4dFJlYWRlclJlYWRTdGF0ZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9yZWFkZXIpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxUZXh0UmVhZGVyUmVsYXhOR1NldFNjaGVtYSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKSAmJiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyOyAvKiB0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkICovCisgICAgaW50IG5fcmVhZGVyOworICAgIHhtbFJlbGF4TkdQdHIgc2NoZW1hOyAvKiBhIHByZWNvbXBpbGVkIFJlbGF4Tkcgc2NoZW1hICovCisgICAgaW50IG5fc2NoZW1hOworCisgICAgZm9yIChuX3JlYWRlciA9IDA7bl9yZWFkZXIgPCBnZW5fbmJfeG1sVGV4dFJlYWRlclB0cjtuX3JlYWRlcisrKSB7CisgICAgZm9yIChuX3NjaGVtYSA9IDA7bl9zY2hlbWEgPCBnZW5fbmJfeG1sUmVsYXhOR1B0cjtuX3NjaGVtYSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHJlYWRlciA9IGdlbl94bWxUZXh0UmVhZGVyUHRyKG5fcmVhZGVyLCAwKTsKKyAgICAgICAgc2NoZW1hID0gZ2VuX3htbFJlbGF4TkdQdHIobl9zY2hlbWEsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxUZXh0UmVhZGVyUmVsYXhOR1NldFNjaGVtYShyZWFkZXIsIHNjaGVtYSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFRleHRSZWFkZXJQdHIobl9yZWFkZXIsIHJlYWRlciwgMCk7CisgICAgICAgIGRlc194bWxSZWxheE5HUHRyKG5fc2NoZW1hLCBzY2hlbWEsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVGV4dFJlYWRlclJlbGF4TkdTZXRTY2hlbWEiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fcmVhZGVyKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9zY2hlbWEpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKSAmJiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyOyAvKiB0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkICovCisgICAgaW50IG5fcmVhZGVyOworICAgIGNoYXIgKiBybmc7IC8qIHRoZSBwYXRoIHRvIGEgUmVsYXhORyBzY2hlbWEgb3IgTlVMTCAqLworICAgIGludCBuX3JuZzsKKworICAgIGZvciAobl9yZWFkZXIgPSAwO25fcmVhZGVyIDwgZ2VuX25iX3htbFRleHRSZWFkZXJQdHI7bl9yZWFkZXIrKykgeworICAgIGZvciAobl9ybmcgPSAwO25fcm5nIDwgZ2VuX25iX2NvbnN0X2NoYXJfcHRyO25fcm5nKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgcmVhZGVyID0gZ2VuX3htbFRleHRSZWFkZXJQdHIobl9yZWFkZXIsIDApOworICAgICAgICBybmcgPSBnZW5fY29uc3RfY2hhcl9wdHIobl9ybmcsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxUZXh0UmVhZGVyUmVsYXhOR1ZhbGlkYXRlKHJlYWRlciwgKGNvbnN0IGNoYXIgKilybmcpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxUZXh0UmVhZGVyUHRyKG5fcmVhZGVyLCByZWFkZXIsIDApOworICAgICAgICBkZXNfY29uc3RfY2hhcl9wdHIobl9ybmcsIChjb25zdCBjaGFyICopcm5nLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFRleHRSZWFkZXJSZWxheE5HVmFsaWRhdGUiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fcmVhZGVyKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9ybmcpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZUN0eHQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxUZXh0UmVhZGVyUHRyIHJlYWRlcjsgLyogdGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZCAqLworICAgIGludCBuX3JlYWRlcjsKKyAgICB4bWxSZWxheE5HVmFsaWRDdHh0UHRyIGN0eHQ7IC8qIHRoZSBSZWxheE5HIHNjaGVtYSB2YWxpZGF0aW9uIGNvbnRleHQgb3IgTlVMTCAqLworICAgIGludCBuX2N0eHQ7CisgICAgaW50IG9wdGlvbnM7IC8qIG9wdGlvbnMgKG5vdCB1c2VkIHlldCkgKi8KKyAgICBpbnQgbl9vcHRpb25zOworCisgICAgZm9yIChuX3JlYWRlciA9IDA7bl9yZWFkZXIgPCBnZW5fbmJfeG1sVGV4dFJlYWRlclB0cjtuX3JlYWRlcisrKSB7CisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxSZWxheE5HVmFsaWRDdHh0UHRyO25fY3R4dCsrKSB7CisgICAgZm9yIChuX29wdGlvbnMgPSAwO25fb3B0aW9ucyA8IGdlbl9uYl9wYXJzZXJvcHRpb25zO25fb3B0aW9ucysrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHJlYWRlciA9IGdlbl94bWxUZXh0UmVhZGVyUHRyKG5fcmVhZGVyLCAwKTsKKyAgICAgICAgY3R4dCA9IGdlbl94bWxSZWxheE5HVmFsaWRDdHh0UHRyKG5fY3R4dCwgMSk7CisgICAgICAgIG9wdGlvbnMgPSBnZW5fcGFyc2Vyb3B0aW9ucyhuX29wdGlvbnMsIDIpOworCisgICAgICAgIHJldF92YWwgPSB4bWxUZXh0UmVhZGVyUmVsYXhOR1ZhbGlkYXRlQ3R4dChyZWFkZXIsIGN0eHQsIG9wdGlvbnMpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxUZXh0UmVhZGVyUHRyKG5fcmVhZGVyLCByZWFkZXIsIDApOworICAgICAgICBkZXNfeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0cihuX2N0eHQsIGN0eHQsIDEpOworICAgICAgICBkZXNfcGFyc2Vyb3B0aW9ucyhuX29wdGlvbnMsIG9wdGlvbnMsIDIpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZUN0eHQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fcmVhZGVyKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHh0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9vcHRpb25zKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxUZXh0UmVhZGVyU2NoZW1hVmFsaWRhdGUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQorICAgIGludCByZXRfdmFsOworICAgIHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyOyAvKiB0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkICovCisgICAgaW50IG5fcmVhZGVyOworICAgIGNoYXIgKiB4c2Q7IC8qIHRoZSBwYXRoIHRvIGEgVzNDIFhTRCBzY2hlbWEgb3IgTlVMTCAqLworICAgIGludCBuX3hzZDsKKworICAgIGZvciAobl9yZWFkZXIgPSAwO25fcmVhZGVyIDwgZ2VuX25iX3htbFRleHRSZWFkZXJQdHI7bl9yZWFkZXIrKykgeworICAgIGZvciAobl94c2QgPSAwO25feHNkIDwgZ2VuX25iX2NvbnN0X2NoYXJfcHRyO25feHNkKyspIHsKKyAgICAgICAgcmVhZGVyID0gZ2VuX3htbFRleHRSZWFkZXJQdHIobl9yZWFkZXIsIDApOworICAgICAgICB4c2QgPSBnZW5fY29uc3RfY2hhcl9wdHIobl94c2QsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxUZXh0UmVhZGVyU2NoZW1hVmFsaWRhdGUocmVhZGVyLCAoY29uc3QgY2hhciAqKXhzZCk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFRleHRSZWFkZXJQdHIobl9yZWFkZXIsIHJlYWRlciwgMCk7CisgICAgICAgIGRlc19jb25zdF9jaGFyX3B0cihuX3hzZCwgKGNvbnN0IGNoYXIgKil4c2QsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZUN0eHQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxUZXh0UmVhZGVyUHRyIHJlYWRlcjsgLyogdGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZCAqLworICAgIGludCBuX3JlYWRlcjsKKyAgICB4bWxTY2hlbWFWYWxpZEN0eHRQdHIgY3R4dDsgLyogdGhlIFhNTCBTY2hlbWEgdmFsaWRhdGlvbiBjb250ZXh0IG9yIE5VTEwgKi8KKyAgICBpbnQgbl9jdHh0OworICAgIGludCBvcHRpb25zOyAvKiBvcHRpb25zIChub3QgdXNlZCB5ZXQpICovCisgICAgaW50IG5fb3B0aW9uczsKKworICAgIGZvciAobl9yZWFkZXIgPSAwO25fcmVhZGVyIDwgZ2VuX25iX3htbFRleHRSZWFkZXJQdHI7bl9yZWFkZXIrKykgeworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfeG1sU2NoZW1hVmFsaWRDdHh0UHRyO25fY3R4dCsrKSB7CisgICAgZm9yIChuX29wdGlvbnMgPSAwO25fb3B0aW9ucyA8IGdlbl9uYl9wYXJzZXJvcHRpb25zO25fb3B0aW9ucysrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHJlYWRlciA9IGdlbl94bWxUZXh0UmVhZGVyUHRyKG5fcmVhZGVyLCAwKTsKKyAgICAgICAgY3R4dCA9IGdlbl94bWxTY2hlbWFWYWxpZEN0eHRQdHIobl9jdHh0LCAxKTsKKyAgICAgICAgb3B0aW9ucyA9IGdlbl9wYXJzZXJvcHRpb25zKG5fb3B0aW9ucywgMik7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZUN0eHQocmVhZGVyLCBjdHh0LCBvcHRpb25zKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sVGV4dFJlYWRlclB0cihuX3JlYWRlciwgcmVhZGVyLCAwKTsKKyAgICAgICAgZGVzX3htbFNjaGVtYVZhbGlkQ3R4dFB0cihuX2N0eHQsIGN0eHQsIDEpOworICAgICAgICBkZXNfcGFyc2Vyb3B0aW9ucyhuX29wdGlvbnMsIG9wdGlvbnMsIDIpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlQ3R4dCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9yZWFkZXIpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX29wdGlvbnMpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFRleHRSZWFkZXJTZXRFcnJvckhhbmRsZXIodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworICAgIC8qIG1pc3NpbmcgdHlwZSBzdXBwb3J0ICovCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFRleHRSZWFkZXJTZXRQYXJzZXJQcm9wKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyOyAvKiB0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkICovCisgICAgaW50IG5fcmVhZGVyOworICAgIGludCBwcm9wOyAvKiB0aGUgeG1sUGFyc2VyUHJvcGVydGllcyB0byBzZXQgKi8KKyAgICBpbnQgbl9wcm9wOworICAgIGludCB2YWx1ZTsgLyogdXN1YWxseSAwIG9yIDEgdG8gKGRlKWFjdGl2YXRlIGl0ICovCisgICAgaW50IG5fdmFsdWU7CisKKyAgICBmb3IgKG5fcmVhZGVyID0gMDtuX3JlYWRlciA8IGdlbl9uYl94bWxUZXh0UmVhZGVyUHRyO25fcmVhZGVyKyspIHsKKyAgICBmb3IgKG5fcHJvcCA9IDA7bl9wcm9wIDwgZ2VuX25iX2ludDtuX3Byb3ArKykgeworICAgIGZvciAobl92YWx1ZSA9IDA7bl92YWx1ZSA8IGdlbl9uYl9pbnQ7bl92YWx1ZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHJlYWRlciA9IGdlbl94bWxUZXh0UmVhZGVyUHRyKG5fcmVhZGVyLCAwKTsKKyAgICAgICAgcHJvcCA9IGdlbl9pbnQobl9wcm9wLCAxKTsKKyAgICAgICAgdmFsdWUgPSBnZW5faW50KG5fdmFsdWUsIDIpOworCisgICAgICAgIHJldF92YWwgPSB4bWxUZXh0UmVhZGVyU2V0UGFyc2VyUHJvcChyZWFkZXIsIHByb3AsIHZhbHVlKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sVGV4dFJlYWRlclB0cihuX3JlYWRlciwgcmVhZGVyLCAwKTsKKyAgICAgICAgZGVzX2ludChuX3Byb3AsIHByb3AsIDEpOworICAgICAgICBkZXNfaW50KG5fdmFsdWUsIHZhbHVlLCAyKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFRleHRSZWFkZXJTZXRQYXJzZXJQcm9wIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3JlYWRlcik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fcHJvcCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdmFsdWUpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFRleHRSZWFkZXJTZXRTY2hlbWEodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxUZXh0UmVhZGVyUHRyIHJlYWRlcjsgLyogdGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZCAqLworICAgIGludCBuX3JlYWRlcjsKKyAgICB4bWxTY2hlbWFQdHIgc2NoZW1hOyAvKiBhIHByZWNvbXBpbGVkIFNjaGVtYSBzY2hlbWEgKi8KKyAgICBpbnQgbl9zY2hlbWE7CisKKyAgICBmb3IgKG5fcmVhZGVyID0gMDtuX3JlYWRlciA8IGdlbl9uYl94bWxUZXh0UmVhZGVyUHRyO25fcmVhZGVyKyspIHsKKyAgICBmb3IgKG5fc2NoZW1hID0gMDtuX3NjaGVtYSA8IGdlbl9uYl94bWxTY2hlbWFQdHI7bl9zY2hlbWErKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICByZWFkZXIgPSBnZW5feG1sVGV4dFJlYWRlclB0cihuX3JlYWRlciwgMCk7CisgICAgICAgIHNjaGVtYSA9IGdlbl94bWxTY2hlbWFQdHIobl9zY2hlbWEsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxUZXh0UmVhZGVyU2V0U2NoZW1hKHJlYWRlciwgc2NoZW1hKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sVGV4dFJlYWRlclB0cihuX3JlYWRlciwgcmVhZGVyLCAwKTsKKyAgICAgICAgZGVzX3htbFNjaGVtYVB0cihuX3NjaGVtYSwgc2NoZW1hLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFRleHRSZWFkZXJTZXRTY2hlbWEiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fcmVhZGVyKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9zY2hlbWEpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVGV4dFJlYWRlclNldFN0cnVjdHVyZWRFcnJvckhhbmRsZXIodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworICAgIC8qIG1pc3NpbmcgdHlwZSBzdXBwb3J0ICovCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFRleHRSZWFkZXJTZXR1cCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxUZXh0UmVhZGVyUHRyIHJlYWRlcjsgLyogYW4gWE1MIHJlYWRlciAqLworICAgIGludCBuX3JlYWRlcjsKKyAgICB4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciBpbnB1dDsgLyogeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIgdXNlZCB0byBmZWVkIHRoZSByZWFkZXIsIHdpbGwgYmUgZGVzdHJveWVkIHdpdGggaXQuICovCisgICAgaW50IG5faW5wdXQ7CisgICAgY29uc3QgY2hhciAqIFVSTDsgLyogdGhlIGJhc2UgVVJMIHRvIHVzZSBmb3IgdGhlIGRvY3VtZW50ICovCisgICAgaW50IG5fVVJMOworICAgIGNoYXIgKiBlbmNvZGluZzsgLyogdGhlIGRvY3VtZW50IGVuY29kaW5nLCBvciBOVUxMICovCisgICAgaW50IG5fZW5jb2Rpbmc7CisgICAgaW50IG9wdGlvbnM7IC8qIGEgY29tYmluYXRpb24gb2YgeG1sUGFyc2VyT3B0aW9uICovCisgICAgaW50IG5fb3B0aW9uczsKKworICAgIGZvciAobl9yZWFkZXIgPSAwO25fcmVhZGVyIDwgZ2VuX25iX3htbFRleHRSZWFkZXJQdHI7bl9yZWFkZXIrKykgeworICAgIGZvciAobl9pbnB1dCA9IDA7bl9pbnB1dCA8IGdlbl9uYl94bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cjtuX2lucHV0KyspIHsKKyAgICBmb3IgKG5fVVJMID0gMDtuX1VSTCA8IGdlbl9uYl9maWxlcGF0aDtuX1VSTCsrKSB7CisgICAgZm9yIChuX2VuY29kaW5nID0gMDtuX2VuY29kaW5nIDwgZ2VuX25iX2NvbnN0X2NoYXJfcHRyO25fZW5jb2RpbmcrKykgeworICAgIGZvciAobl9vcHRpb25zID0gMDtuX29wdGlvbnMgPCBnZW5fbmJfcGFyc2Vyb3B0aW9ucztuX29wdGlvbnMrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICByZWFkZXIgPSBnZW5feG1sVGV4dFJlYWRlclB0cihuX3JlYWRlciwgMCk7CisgICAgICAgIGlucHV0ID0gZ2VuX3htbFBhcnNlcklucHV0QnVmZmVyUHRyKG5faW5wdXQsIDEpOworICAgICAgICBVUkwgPSBnZW5fZmlsZXBhdGgobl9VUkwsIDIpOworICAgICAgICBlbmNvZGluZyA9IGdlbl9jb25zdF9jaGFyX3B0cihuX2VuY29kaW5nLCAzKTsKKyAgICAgICAgb3B0aW9ucyA9IGdlbl9wYXJzZXJvcHRpb25zKG5fb3B0aW9ucywgNCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFRleHRSZWFkZXJTZXR1cChyZWFkZXIsIGlucHV0LCBVUkwsIChjb25zdCBjaGFyICopZW5jb2RpbmcsIG9wdGlvbnMpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxUZXh0UmVhZGVyUHRyKG5fcmVhZGVyLCByZWFkZXIsIDApOworICAgICAgICBkZXNfZmlsZXBhdGgobl9VUkwsIFVSTCwgMik7CisgICAgICAgIGRlc19jb25zdF9jaGFyX3B0cihuX2VuY29kaW5nLCAoY29uc3QgY2hhciAqKWVuY29kaW5nLCAzKTsKKyAgICAgICAgZGVzX3BhcnNlcm9wdGlvbnMobl9vcHRpb25zLCBvcHRpb25zLCA0KTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFRleHRSZWFkZXJTZXR1cCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9yZWFkZXIpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2lucHV0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9VUkwpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2VuY29kaW5nKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9vcHRpb25zKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFRleHRSZWFkZXJTdGFuZGFsb25lKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfUkVBREVSX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyOyAvKiB0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkICovCisgICAgaW50IG5fcmVhZGVyOworCisgICAgZm9yIChuX3JlYWRlciA9IDA7bl9yZWFkZXIgPCBnZW5fbmJfeG1sVGV4dFJlYWRlclB0cjtuX3JlYWRlcisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHJlYWRlciA9IGdlbl94bWxUZXh0UmVhZGVyUHRyKG5fcmVhZGVyLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVGV4dFJlYWRlclN0YW5kYWxvbmUocmVhZGVyKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sVGV4dFJlYWRlclB0cihuX3JlYWRlciwgcmVhZGVyLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFRleHRSZWFkZXJTdGFuZGFsb25lIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3JlYWRlcik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFRleHRSZWFkZXJWYWx1ZSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1JFQURFUl9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxDaGFyICogcmV0X3ZhbDsKKyAgICB4bWxUZXh0UmVhZGVyUHRyIHJlYWRlcjsgLyogdGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZCAqLworICAgIGludCBuX3JlYWRlcjsKKworICAgIGZvciAobl9yZWFkZXIgPSAwO25fcmVhZGVyIDwgZ2VuX25iX3htbFRleHRSZWFkZXJQdHI7bl9yZWFkZXIrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICByZWFkZXIgPSBnZW5feG1sVGV4dFJlYWRlclB0cihuX3JlYWRlciwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFRleHRSZWFkZXJWYWx1ZShyZWFkZXIpOworICAgICAgICBkZXNyZXRfeG1sQ2hhcl9wdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFRleHRSZWFkZXJQdHIobl9yZWFkZXIsIHJlYWRlciwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxUZXh0UmVhZGVyVmFsdWUiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fcmVhZGVyKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVGV4dFJlYWRlclhtbExhbmcodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUFERVJfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sQ2hhciAqIHJldF92YWw7CisgICAgeG1sVGV4dFJlYWRlclB0ciByZWFkZXI7IC8qIHRoZSB4bWxUZXh0UmVhZGVyUHRyIHVzZWQgKi8KKyAgICBpbnQgbl9yZWFkZXI7CisKKyAgICBmb3IgKG5fcmVhZGVyID0gMDtuX3JlYWRlciA8IGdlbl9uYl94bWxUZXh0UmVhZGVyUHRyO25fcmVhZGVyKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgcmVhZGVyID0gZ2VuX3htbFRleHRSZWFkZXJQdHIobl9yZWFkZXIsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxUZXh0UmVhZGVyWG1sTGFuZyhyZWFkZXIpOworICAgICAgICBkZXNyZXRfeG1sQ2hhcl9wdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFRleHRSZWFkZXJQdHIobl9yZWFkZXIsIHJlYWRlciwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxUZXh0UmVhZGVyWG1sTGFuZyIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9yZWFkZXIpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1scmVhZGVyKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaWYgKHF1aWV0ID09IDApIHByaW50ZigiVGVzdGluZyB4bWxyZWFkZXIgOiA3NiBvZiA4NiBmdW5jdGlvbnMgLi4uXG4iKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbE5ld1RleHRSZWFkZXIoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbE5ld1RleHRSZWFkZXJGaWxlbmFtZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sUmVhZGVyRm9yRG9jKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxSZWFkZXJGb3JGaWxlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxSZWFkZXJGb3JNZW1vcnkoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFJlYWRlck5ld0RvYygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sUmVhZGVyTmV3RmlsZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sUmVhZGVyTmV3TWVtb3J5KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxSZWFkZXJOZXdXYWxrZXIoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFJlYWRlcldhbGtlcigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVGV4dFJlYWRlckF0dHJpYnV0ZUNvdW50KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxUZXh0UmVhZGVyQmFzZVVyaSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVGV4dFJlYWRlckJ5dGVDb25zdW1lZCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVGV4dFJlYWRlckNsb3NlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxUZXh0UmVhZGVyQ29uc3RCYXNlVXJpKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxUZXh0UmVhZGVyQ29uc3RFbmNvZGluZygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVGV4dFJlYWRlckNvbnN0TG9jYWxOYW1lKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxUZXh0UmVhZGVyQ29uc3ROYW1lKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxUZXh0UmVhZGVyQ29uc3ROYW1lc3BhY2VVcmkoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFRleHRSZWFkZXJDb25zdFByZWZpeCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVGV4dFJlYWRlckNvbnN0U3RyaW5nKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxUZXh0UmVhZGVyQ29uc3RWYWx1ZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVGV4dFJlYWRlckNvbnN0WG1sTGFuZygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVGV4dFJlYWRlckNvbnN0WG1sVmVyc2lvbigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVGV4dFJlYWRlckN1cnJlbnREb2MoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFRleHRSZWFkZXJDdXJyZW50Tm9kZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVGV4dFJlYWRlckRlcHRoKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxUZXh0UmVhZGVyRXhwYW5kKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlTm8oKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFRleHRSZWFkZXJHZXRBdHRyaWJ1dGVOcygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVGV4dFJlYWRlckdldEVycm9ySGFuZGxlcigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVGV4dFJlYWRlckdldFBhcnNlckNvbHVtbk51bWJlcigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVGV4dFJlYWRlckdldFBhcnNlckxpbmVOdW1iZXIoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFRleHRSZWFkZXJHZXRQYXJzZXJQcm9wKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxUZXh0UmVhZGVyR2V0UmVtYWluZGVyKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxUZXh0UmVhZGVySGFzQXR0cmlidXRlcygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVGV4dFJlYWRlckhhc1ZhbHVlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxUZXh0UmVhZGVySXNEZWZhdWx0KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxUZXh0UmVhZGVySXNFbXB0eUVsZW1lbnQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFRleHRSZWFkZXJJc05hbWVzcGFjZURlY2woKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFRleHRSZWFkZXJJc1ZhbGlkKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxUZXh0UmVhZGVyTG9jYWxOYW1lKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxUZXh0UmVhZGVyTG9jYXRvckJhc2VVUkkoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFRleHRSZWFkZXJMb2NhdG9yTGluZU51bWJlcigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVGV4dFJlYWRlckxvb2t1cE5hbWVzcGFjZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVGV4dFJlYWRlck1vdmVUb0F0dHJpYnV0ZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVGV4dFJlYWRlck1vdmVUb0F0dHJpYnV0ZU5vKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxUZXh0UmVhZGVyTW92ZVRvQXR0cmlidXRlTnMoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFRleHRSZWFkZXJNb3ZlVG9FbGVtZW50KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxUZXh0UmVhZGVyTW92ZVRvRmlyc3RBdHRyaWJ1dGUoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFRleHRSZWFkZXJNb3ZlVG9OZXh0QXR0cmlidXRlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxUZXh0UmVhZGVyTmFtZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVGV4dFJlYWRlck5hbWVzcGFjZVVyaSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVGV4dFJlYWRlck5leHQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFRleHRSZWFkZXJOZXh0U2libGluZygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVGV4dFJlYWRlck5vZGVUeXBlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxUZXh0UmVhZGVyTm9ybWFsaXphdGlvbigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVGV4dFJlYWRlclByZWZpeCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVGV4dFJlYWRlclByZXNlcnZlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxUZXh0UmVhZGVyUHJlc2VydmVQYXR0ZXJuKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxUZXh0UmVhZGVyUXVvdGVDaGFyKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxUZXh0UmVhZGVyUmVhZCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVGV4dFJlYWRlclJlYWRBdHRyaWJ1dGVWYWx1ZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVGV4dFJlYWRlclJlYWRTdGF0ZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVGV4dFJlYWRlclJlbGF4TkdTZXRTY2hlbWEoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFRleHRSZWFkZXJSZWxheE5HVmFsaWRhdGUoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFRleHRSZWFkZXJSZWxheE5HVmFsaWRhdGVDdHh0KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxUZXh0UmVhZGVyU2NoZW1hVmFsaWRhdGUoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZUN0eHQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFRleHRSZWFkZXJTZXRFcnJvckhhbmRsZXIoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFRleHRSZWFkZXJTZXRQYXJzZXJQcm9wKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxUZXh0UmVhZGVyU2V0U2NoZW1hKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxUZXh0UmVhZGVyU2V0U3RydWN0dXJlZEVycm9ySGFuZGxlcigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVGV4dFJlYWRlclNldHVwKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxUZXh0UmVhZGVyU3RhbmRhbG9uZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVGV4dFJlYWRlclZhbHVlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxUZXh0UmVhZGVyWG1sTGFuZygpOworCisgICAgaWYgKHRlc3RfcmV0ICE9IDApCisJcHJpbnRmKCJNb2R1bGUgeG1scmVhZGVyOiAlZCBlcnJvcnNcbiIsIHRlc3RfcmV0KTsKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCitzdGF0aWMgaW50Cit0ZXN0X3htbEV4cEN0eHROYkNvbnModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUdFWFBfRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfRVhQUl9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxFeHBDdHh0UHRyIGN0eHQ7IC8qIGFuIGV4cHJlc3Npb24gY29udGV4dCAqLworICAgIGludCBuX2N0eHQ7CisKKyAgICBmb3IgKG5fY3R4dCA9IDA7bl9jdHh0IDwgZ2VuX25iX3htbEV4cEN0eHRQdHI7bl9jdHh0KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4dCA9IGdlbl94bWxFeHBDdHh0UHRyKG5fY3R4dCwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbEV4cEN0eHROYkNvbnMoY3R4dCk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbEV4cEN0eHRQdHIobl9jdHh0LCBjdHh0LCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbEV4cEN0eHROYkNvbnMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbEV4cEN0eHROYk5vZGVzKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfUkVHRVhQX0VOQUJMRUQpICYmIGRlZmluZWQoTElCWE1MX0VYUFJfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sRXhwQ3R4dFB0ciBjdHh0OyAvKiBhbiBleHByZXNzaW9uIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHh0OworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxFeHBDdHh0UHRyO25fY3R4dCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eHQgPSBnZW5feG1sRXhwQ3R4dFB0cihuX2N0eHQsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxFeHBDdHh0TmJOb2RlcyhjdHh0KTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sRXhwQ3R4dFB0cihuX2N0eHQsIGN0eHQsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sRXhwQ3R4dE5iTm9kZXMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbEV4cER1bXAodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUdFWFBfRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfRVhQUl9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxCdWZmZXJQdHIgYnVmOyAvKiBhIGJ1ZmZlciB0byByZWNlaXZlIHRoZSBvdXRwdXQgKi8KKyAgICBpbnQgbl9idWY7CisgICAgeG1sRXhwTm9kZVB0ciBleHByOyAvKiB0aGUgY29tcGlsZWQgZXhwcmVzc2lvbiAqLworICAgIGludCBuX2V4cHI7CisKKyAgICBmb3IgKG5fYnVmID0gMDtuX2J1ZiA8IGdlbl9uYl94bWxCdWZmZXJQdHI7bl9idWYrKykgeworICAgIGZvciAobl9leHByID0gMDtuX2V4cHIgPCBnZW5fbmJfeG1sRXhwTm9kZVB0cjtuX2V4cHIrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBidWYgPSBnZW5feG1sQnVmZmVyUHRyKG5fYnVmLCAwKTsKKyAgICAgICAgZXhwciA9IGdlbl94bWxFeHBOb2RlUHRyKG5fZXhwciwgMSk7CisKKyAgICAgICAgeG1sRXhwRHVtcChidWYsIGV4cHIpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxCdWZmZXJQdHIobl9idWYsIGJ1ZiwgMCk7CisgICAgICAgIGRlc194bWxFeHBOb2RlUHRyKG5fZXhwciwgZXhwciwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxFeHBEdW1wIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2J1Zik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZXhwcik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxFeHBFeHBEZXJpdmUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworICAgIC8qIG1pc3NpbmcgdHlwZSBzdXBwb3J0ICovCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbEV4cEdldExhbmd1YWdlKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfUkVHRVhQX0VOQUJMRUQpICYmIGRlZmluZWQoTElCWE1MX0VYUFJfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sRXhwQ3R4dFB0ciBjdHh0OyAvKiB0aGUgZXhwcmVzc2lvbiBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKyAgICB4bWxFeHBOb2RlUHRyIGV4cDsgLyogdGhlIGV4cHJlc3Npb24gKi8KKyAgICBpbnQgbl9leHA7CisgICAgeG1sQ2hhciAqKiBsYW5nTGlzdDsgLyogd2hlcmUgdG8gc3RvcmUgdGhlIHRva2VucyAqLworICAgIGludCBuX2xhbmdMaXN0OworICAgIGludCBsZW47IC8qIHRoZSBhbGxvY2F0ZWQgbGVuZ3RoIG9mIEBsaXN0ICovCisgICAgaW50IG5fbGVuOworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxFeHBDdHh0UHRyO25fY3R4dCsrKSB7CisgICAgZm9yIChuX2V4cCA9IDA7bl9leHAgPCBnZW5fbmJfeG1sRXhwTm9kZVB0cjtuX2V4cCsrKSB7CisgICAgZm9yIChuX2xhbmdMaXN0ID0gMDtuX2xhbmdMaXN0IDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyX3B0cjtuX2xhbmdMaXN0KyspIHsKKyAgICBmb3IgKG5fbGVuID0gMDtuX2xlbiA8IGdlbl9uYl9pbnQ7bl9sZW4rKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX3htbEV4cEN0eHRQdHIobl9jdHh0LCAwKTsKKyAgICAgICAgZXhwID0gZ2VuX3htbEV4cE5vZGVQdHIobl9leHAsIDEpOworICAgICAgICBsYW5nTGlzdCA9IGdlbl9jb25zdF94bWxDaGFyX3B0cl9wdHIobl9sYW5nTGlzdCwgMik7CisgICAgICAgIGxlbiA9IGdlbl9pbnQobl9sZW4sIDMpOworCisgICAgICAgIHJldF92YWwgPSB4bWxFeHBHZXRMYW5ndWFnZShjdHh0LCBleHAsIChjb25zdCB4bWxDaGFyICoqKWxhbmdMaXN0LCBsZW4pOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxFeHBDdHh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIGRlc194bWxFeHBOb2RlUHRyKG5fZXhwLCBleHAsIDEpOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHJfcHRyKG5fbGFuZ0xpc3QsIChjb25zdCB4bWxDaGFyICoqKWxhbmdMaXN0LCAyKTsKKyAgICAgICAgZGVzX2ludChuX2xlbiwgbGVuLCAzKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbEV4cEdldExhbmd1YWdlIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2V4cCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbGFuZ0xpc3QpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2xlbik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbEV4cEdldFN0YXJ0KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfUkVHRVhQX0VOQUJMRUQpICYmIGRlZmluZWQoTElCWE1MX0VYUFJfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sRXhwQ3R4dFB0ciBjdHh0OyAvKiB0aGUgZXhwcmVzc2lvbiBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKyAgICB4bWxFeHBOb2RlUHRyIGV4cDsgLyogdGhlIGV4cHJlc3Npb24gKi8KKyAgICBpbnQgbl9leHA7CisgICAgeG1sQ2hhciAqKiB0b2tMaXN0OyAvKiB3aGVyZSB0byBzdG9yZSB0aGUgdG9rZW5zICovCisgICAgaW50IG5fdG9rTGlzdDsKKyAgICBpbnQgbGVuOyAvKiB0aGUgYWxsb2NhdGVkIGxlbmd0aCBvZiBAbGlzdCAqLworICAgIGludCBuX2xlbjsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfeG1sRXhwQ3R4dFB0cjtuX2N0eHQrKykgeworICAgIGZvciAobl9leHAgPSAwO25fZXhwIDwgZ2VuX25iX3htbEV4cE5vZGVQdHI7bl9leHArKykgeworICAgIGZvciAobl90b2tMaXN0ID0gMDtuX3Rva0xpc3QgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHJfcHRyO25fdG9rTGlzdCsrKSB7CisgICAgZm9yIChuX2xlbiA9IDA7bl9sZW4gPCBnZW5fbmJfaW50O25fbGVuKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4dCA9IGdlbl94bWxFeHBDdHh0UHRyKG5fY3R4dCwgMCk7CisgICAgICAgIGV4cCA9IGdlbl94bWxFeHBOb2RlUHRyKG5fZXhwLCAxKTsKKyAgICAgICAgdG9rTGlzdCA9IGdlbl9jb25zdF94bWxDaGFyX3B0cl9wdHIobl90b2tMaXN0LCAyKTsKKyAgICAgICAgbGVuID0gZ2VuX2ludChuX2xlbiwgMyk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbEV4cEdldFN0YXJ0KGN0eHQsIGV4cCwgKGNvbnN0IHhtbENoYXIgKiopdG9rTGlzdCwgbGVuKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sRXhwQ3R4dFB0cihuX2N0eHQsIGN0eHQsIDApOworICAgICAgICBkZXNfeG1sRXhwTm9kZVB0cihuX2V4cCwgZXhwLCAxKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyX3B0cihuX3Rva0xpc3QsIChjb25zdCB4bWxDaGFyICoqKXRva0xpc3QsIDIpOworICAgICAgICBkZXNfaW50KG5fbGVuLCBsZW4sIDMpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sRXhwR2V0U3RhcnQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZXhwKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl90b2tMaXN0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9sZW4pOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxFeHBJc05pbGxhYmxlKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfUkVHRVhQX0VOQUJMRUQpICYmIGRlZmluZWQoTElCWE1MX0VYUFJfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sRXhwTm9kZVB0ciBleHA7IC8qIHRoZSBleHByZXNzaW9uICovCisgICAgaW50IG5fZXhwOworCisgICAgZm9yIChuX2V4cCA9IDA7bl9leHAgPCBnZW5fbmJfeG1sRXhwTm9kZVB0cjtuX2V4cCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGV4cCA9IGdlbl94bWxFeHBOb2RlUHRyKG5fZXhwLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sRXhwSXNOaWxsYWJsZShleHApOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxFeHBOb2RlUHRyKG5fZXhwLCBleHAsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sRXhwSXNOaWxsYWJsZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9leHApOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxFeHBNYXhUb2tlbih2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1JFR0VYUF9FTkFCTEVEKSAmJiBkZWZpbmVkKExJQlhNTF9FWFBSX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbEV4cE5vZGVQdHIgZXhwcjsgLyogYSBjb21waWxlZCBleHByZXNzaW9uICovCisgICAgaW50IG5fZXhwcjsKKworICAgIGZvciAobl9leHByID0gMDtuX2V4cHIgPCBnZW5fbmJfeG1sRXhwTm9kZVB0cjtuX2V4cHIrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBleHByID0gZ2VuX3htbEV4cE5vZGVQdHIobl9leHByLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sRXhwTWF4VG9rZW4oZXhwcik7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbEV4cE5vZGVQdHIobl9leHByLCBleHByLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbEV4cE1heFRva2VuIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2V4cHIpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxFeHBOZXdBdG9tKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisKKyAgICAvKiBtaXNzaW5nIHR5cGUgc3VwcG9ydCAqLworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxFeHBOZXdDdHh0KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisKKyAgICAvKiBtaXNzaW5nIHR5cGUgc3VwcG9ydCAqLworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxFeHBOZXdPcih2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworCisgICAgLyogbWlzc2luZyB0eXBlIHN1cHBvcnQgKi8KKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sRXhwTmV3UmFuZ2Uodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworICAgIC8qIG1pc3NpbmcgdHlwZSBzdXBwb3J0ICovCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbEV4cE5ld1NlcSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworCisgICAgLyogbWlzc2luZyB0eXBlIHN1cHBvcnQgKi8KKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sRXhwUGFyc2Uodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworICAgIC8qIG1pc3NpbmcgdHlwZSBzdXBwb3J0ICovCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbEV4cFJlZih2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1JFR0VYUF9FTkFCTEVEKSAmJiBkZWZpbmVkKExJQlhNTF9FWFBSX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbEV4cE5vZGVQdHIgZXhwOyAvKiB0aGUgZXhwcmVzc2lvbiAqLworICAgIGludCBuX2V4cDsKKworICAgIGZvciAobl9leHAgPSAwO25fZXhwIDwgZ2VuX25iX3htbEV4cE5vZGVQdHI7bl9leHArKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBleHAgPSBnZW5feG1sRXhwTm9kZVB0cihuX2V4cCwgMCk7CisKKyAgICAgICAgeG1sRXhwUmVmKGV4cCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbEV4cE5vZGVQdHIobl9leHAsIGV4cCwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxFeHBSZWYiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZXhwKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sRXhwU3RyaW5nRGVyaXZlKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisKKyAgICAvKiBtaXNzaW5nIHR5cGUgc3VwcG9ydCAqLworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxFeHBTdWJzdW1lKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfUkVHRVhQX0VOQUJMRUQpICYmIGRlZmluZWQoTElCWE1MX0VYUFJfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sRXhwQ3R4dFB0ciBjdHh0OyAvKiB0aGUgZXhwcmVzc2lvbnMgY29udGV4dCAqLworICAgIGludCBuX2N0eHQ7CisgICAgeG1sRXhwTm9kZVB0ciBleHA7IC8qIHRoZSBlbmdsb2JpbmcgZXhwcmVzc2lvbiAqLworICAgIGludCBuX2V4cDsKKyAgICB4bWxFeHBOb2RlUHRyIHN1YjsgLyogdGhlIHN1YmV4cHJlc3Npb24gKi8KKyAgICBpbnQgbl9zdWI7CisKKyAgICBmb3IgKG5fY3R4dCA9IDA7bl9jdHh0IDwgZ2VuX25iX3htbEV4cEN0eHRQdHI7bl9jdHh0KyspIHsKKyAgICBmb3IgKG5fZXhwID0gMDtuX2V4cCA8IGdlbl9uYl94bWxFeHBOb2RlUHRyO25fZXhwKyspIHsKKyAgICBmb3IgKG5fc3ViID0gMDtuX3N1YiA8IGdlbl9uYl94bWxFeHBOb2RlUHRyO25fc3ViKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4dCA9IGdlbl94bWxFeHBDdHh0UHRyKG5fY3R4dCwgMCk7CisgICAgICAgIGV4cCA9IGdlbl94bWxFeHBOb2RlUHRyKG5fZXhwLCAxKTsKKyAgICAgICAgc3ViID0gZ2VuX3htbEV4cE5vZGVQdHIobl9zdWIsIDIpOworCisgICAgICAgIHJldF92YWwgPSB4bWxFeHBTdWJzdW1lKGN0eHQsIGV4cCwgc3ViKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sRXhwQ3R4dFB0cihuX2N0eHQsIGN0eHQsIDApOworICAgICAgICBkZXNfeG1sRXhwTm9kZVB0cihuX2V4cCwgZXhwLCAxKTsKKyAgICAgICAgZGVzX3htbEV4cE5vZGVQdHIobl9zdWIsIHN1YiwgMik7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxFeHBTdWJzdW1lIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2V4cCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fc3ViKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKKworI2RlZmluZSBnZW5fbmJfeG1sUmVnRXhlY0N0eHRQdHIgMQorc3RhdGljIHhtbFJlZ0V4ZWNDdHh0UHRyIGdlbl94bWxSZWdFeGVjQ3R4dFB0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICByZXR1cm4oTlVMTCk7Cit9CitzdGF0aWMgdm9pZCBkZXNfeG1sUmVnRXhlY0N0eHRQdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIHhtbFJlZ0V4ZWNDdHh0UHRyIHZhbCBBVFRSSUJVVEVfVU5VU0VELCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworfQorI2VuZGlmCisKKworc3RhdGljIGludAordGVzdF94bWxSZWdFeGVjRXJySW5mbyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1JFR0VYUF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxSZWdFeGVjQ3R4dFB0ciBleGVjOyAvKiBhIHJlZ2V4cCBleGVjdXRpb24gY29udGV4dCBnZW5lcmF0aW5nIGFuIGVycm9yICovCisgICAgaW50IG5fZXhlYzsKKyAgICB4bWxDaGFyICoqIHN0cmluZzsgLyogcmV0dXJuIHZhbHVlIGZvciB0aGUgZXJyb3Igc3RyaW5nICovCisgICAgaW50IG5fc3RyaW5nOworICAgIGludCAqIG5idmFsOyAvKiBwb2ludGVyIHRvIHRoZSBudW1iZXIgb2YgYWNjZXB0ZWQgdmFsdWVzIElOL09VVCAqLworICAgIGludCBuX25idmFsOworICAgIGludCAqIG5ibmVnOyAvKiByZXR1cm4gbnVtYmVyIG9mIG5lZ2F0aXZlIHRyYW5zaXRpb25zICovCisgICAgaW50IG5fbmJuZWc7CisgICAgeG1sQ2hhciAqKiB2YWx1ZXM7IC8qIHBvaW50ZXIgdG8gdGhlIGFycmF5IG9mIGFjY2VwdGFibGUgdmFsdWVzICovCisgICAgaW50IG5fdmFsdWVzOworICAgIGludCAqIHRlcm1pbmFsOyAvKiByZXR1cm4gdmFsdWUgaWYgdGhpcyB3YXMgYSB0ZXJtaW5hbCBzdGF0ZSAqLworICAgIGludCBuX3Rlcm1pbmFsOworCisgICAgZm9yIChuX2V4ZWMgPSAwO25fZXhlYyA8IGdlbl9uYl94bWxSZWdFeGVjQ3R4dFB0cjtuX2V4ZWMrKykgeworICAgIGZvciAobl9zdHJpbmcgPSAwO25fc3RyaW5nIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyX3B0cjtuX3N0cmluZysrKSB7CisgICAgZm9yIChuX25idmFsID0gMDtuX25idmFsIDwgZ2VuX25iX2ludF9wdHI7bl9uYnZhbCsrKSB7CisgICAgZm9yIChuX25ibmVnID0gMDtuX25ibmVnIDwgZ2VuX25iX2ludF9wdHI7bl9uYm5lZysrKSB7CisgICAgZm9yIChuX3ZhbHVlcyA9IDA7bl92YWx1ZXMgPCBnZW5fbmJfeG1sQ2hhcl9wdHJfcHRyO25fdmFsdWVzKyspIHsKKyAgICBmb3IgKG5fdGVybWluYWwgPSAwO25fdGVybWluYWwgPCBnZW5fbmJfaW50X3B0cjtuX3Rlcm1pbmFsKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgZXhlYyA9IGdlbl94bWxSZWdFeGVjQ3R4dFB0cihuX2V4ZWMsIDApOworICAgICAgICBzdHJpbmcgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHJfcHRyKG5fc3RyaW5nLCAxKTsKKyAgICAgICAgbmJ2YWwgPSBnZW5faW50X3B0cihuX25idmFsLCAyKTsKKyAgICAgICAgbmJuZWcgPSBnZW5faW50X3B0cihuX25ibmVnLCAzKTsKKyAgICAgICAgdmFsdWVzID0gZ2VuX3htbENoYXJfcHRyX3B0cihuX3ZhbHVlcywgNCk7CisgICAgICAgIHRlcm1pbmFsID0gZ2VuX2ludF9wdHIobl90ZXJtaW5hbCwgNSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFJlZ0V4ZWNFcnJJbmZvKGV4ZWMsIChjb25zdCB4bWxDaGFyICoqKXN0cmluZywgbmJ2YWwsIG5ibmVnLCB2YWx1ZXMsIHRlcm1pbmFsKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sUmVnRXhlY0N0eHRQdHIobl9leGVjLCBleGVjLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyX3B0cihuX3N0cmluZywgKGNvbnN0IHhtbENoYXIgKiopc3RyaW5nLCAxKTsKKyAgICAgICAgZGVzX2ludF9wdHIobl9uYnZhbCwgbmJ2YWwsIDIpOworICAgICAgICBkZXNfaW50X3B0cihuX25ibmVnLCBuYm5lZywgMyk7CisgICAgICAgIGRlc194bWxDaGFyX3B0cl9wdHIobl92YWx1ZXMsIHZhbHVlcywgNCk7CisgICAgICAgIGRlc19pbnRfcHRyKG5fdGVybWluYWwsIHRlcm1pbmFsLCA1KTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFJlZ0V4ZWNFcnJJbmZvIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2V4ZWMpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3N0cmluZyk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmJ2YWwpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25ibmVnKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl92YWx1ZXMpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3Rlcm1pbmFsKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxSZWdFeGVjTmV4dFZhbHVlcyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1JFR0VYUF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxSZWdFeGVjQ3R4dFB0ciBleGVjOyAvKiBhIHJlZ2V4cCBleGVjdXRpb24gY29udGV4dCAqLworICAgIGludCBuX2V4ZWM7CisgICAgaW50ICogbmJ2YWw7IC8qIHBvaW50ZXIgdG8gdGhlIG51bWJlciBvZiBhY2NlcHRlZCB2YWx1ZXMgSU4vT1VUICovCisgICAgaW50IG5fbmJ2YWw7CisgICAgaW50ICogbmJuZWc7IC8qIHJldHVybiBudW1iZXIgb2YgbmVnYXRpdmUgdHJhbnNpdGlvbnMgKi8KKyAgICBpbnQgbl9uYm5lZzsKKyAgICB4bWxDaGFyICoqIHZhbHVlczsgLyogcG9pbnRlciB0byB0aGUgYXJyYXkgb2YgYWNjZXB0YWJsZSB2YWx1ZXMgKi8KKyAgICBpbnQgbl92YWx1ZXM7CisgICAgaW50ICogdGVybWluYWw7IC8qIHJldHVybiB2YWx1ZSBpZiB0aGlzIHdhcyBhIHRlcm1pbmFsIHN0YXRlICovCisgICAgaW50IG5fdGVybWluYWw7CisKKyAgICBmb3IgKG5fZXhlYyA9IDA7bl9leGVjIDwgZ2VuX25iX3htbFJlZ0V4ZWNDdHh0UHRyO25fZXhlYysrKSB7CisgICAgZm9yIChuX25idmFsID0gMDtuX25idmFsIDwgZ2VuX25iX2ludF9wdHI7bl9uYnZhbCsrKSB7CisgICAgZm9yIChuX25ibmVnID0gMDtuX25ibmVnIDwgZ2VuX25iX2ludF9wdHI7bl9uYm5lZysrKSB7CisgICAgZm9yIChuX3ZhbHVlcyA9IDA7bl92YWx1ZXMgPCBnZW5fbmJfeG1sQ2hhcl9wdHJfcHRyO25fdmFsdWVzKyspIHsKKyAgICBmb3IgKG5fdGVybWluYWwgPSAwO25fdGVybWluYWwgPCBnZW5fbmJfaW50X3B0cjtuX3Rlcm1pbmFsKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgZXhlYyA9IGdlbl94bWxSZWdFeGVjQ3R4dFB0cihuX2V4ZWMsIDApOworICAgICAgICBuYnZhbCA9IGdlbl9pbnRfcHRyKG5fbmJ2YWwsIDEpOworICAgICAgICBuYm5lZyA9IGdlbl9pbnRfcHRyKG5fbmJuZWcsIDIpOworICAgICAgICB2YWx1ZXMgPSBnZW5feG1sQ2hhcl9wdHJfcHRyKG5fdmFsdWVzLCAzKTsKKyAgICAgICAgdGVybWluYWwgPSBnZW5faW50X3B0cihuX3Rlcm1pbmFsLCA0KTsKKworICAgICAgICByZXRfdmFsID0geG1sUmVnRXhlY05leHRWYWx1ZXMoZXhlYywgbmJ2YWwsIG5ibmVnLCB2YWx1ZXMsIHRlcm1pbmFsKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sUmVnRXhlY0N0eHRQdHIobl9leGVjLCBleGVjLCAwKTsKKyAgICAgICAgZGVzX2ludF9wdHIobl9uYnZhbCwgbmJ2YWwsIDEpOworICAgICAgICBkZXNfaW50X3B0cihuX25ibmVnLCBuYm5lZywgMik7CisgICAgICAgIGRlc194bWxDaGFyX3B0cl9wdHIobl92YWx1ZXMsIHZhbHVlcywgMyk7CisgICAgICAgIGRlc19pbnRfcHRyKG5fdGVybWluYWwsIHRlcm1pbmFsLCA0KTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFJlZ0V4ZWNOZXh0VmFsdWVzIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2V4ZWMpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25idmFsKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9uYm5lZyk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdmFsdWVzKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl90ZXJtaW5hbCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxSZWdFeGVjUHVzaFN0cmluZyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1JFR0VYUF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxSZWdFeGVjQ3R4dFB0ciBleGVjOyAvKiBhIHJlZ2V4cCBleGVjdXRpb24gY29udGV4dCBvciBOVUxMIHRvIGluZGljYXRlIHRoZSBlbmQgKi8KKyAgICBpbnQgbl9leGVjOworICAgIHhtbENoYXIgKiB2YWx1ZTsgLyogYSBzdHJpbmcgdG9rZW4gaW5wdXQgKi8KKyAgICBpbnQgbl92YWx1ZTsKKyAgICB2b2lkICogZGF0YTsgLyogZGF0YSBhc3NvY2lhdGVkIHRvIHRoZSB0b2tlbiB0byByZXVzZSBpbiBjYWxsYmFja3MgKi8KKyAgICBpbnQgbl9kYXRhOworCisgICAgZm9yIChuX2V4ZWMgPSAwO25fZXhlYyA8IGdlbl9uYl94bWxSZWdFeGVjQ3R4dFB0cjtuX2V4ZWMrKykgeworICAgIGZvciAobl92YWx1ZSA9IDA7bl92YWx1ZSA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX3ZhbHVlKyspIHsKKyAgICBmb3IgKG5fZGF0YSA9IDA7bl9kYXRhIDwgZ2VuX25iX3VzZXJkYXRhO25fZGF0YSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGV4ZWMgPSBnZW5feG1sUmVnRXhlY0N0eHRQdHIobl9leGVjLCAwKTsKKyAgICAgICAgdmFsdWUgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl92YWx1ZSwgMSk7CisgICAgICAgIGRhdGEgPSBnZW5fdXNlcmRhdGEobl9kYXRhLCAyKTsKKworICAgICAgICByZXRfdmFsID0geG1sUmVnRXhlY1B1c2hTdHJpbmcoZXhlYywgKGNvbnN0IHhtbENoYXIgKil2YWx1ZSwgZGF0YSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFJlZ0V4ZWNDdHh0UHRyKG5fZXhlYywgZXhlYywgMCk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX3ZhbHVlLCAoY29uc3QgeG1sQ2hhciAqKXZhbHVlLCAxKTsKKyAgICAgICAgZGVzX3VzZXJkYXRhKG5fZGF0YSwgZGF0YSwgMik7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxSZWdFeGVjUHVzaFN0cmluZyIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9leGVjKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl92YWx1ZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZGF0YSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sUmVnRXhlY1B1c2hTdHJpbmcyKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfUkVHRVhQX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbFJlZ0V4ZWNDdHh0UHRyIGV4ZWM7IC8qIGEgcmVnZXhwIGV4ZWN1dGlvbiBjb250ZXh0IG9yIE5VTEwgdG8gaW5kaWNhdGUgdGhlIGVuZCAqLworICAgIGludCBuX2V4ZWM7CisgICAgeG1sQ2hhciAqIHZhbHVlOyAvKiB0aGUgZmlyc3Qgc3RyaW5nIHRva2VuIGlucHV0ICovCisgICAgaW50IG5fdmFsdWU7CisgICAgeG1sQ2hhciAqIHZhbHVlMjsgLyogdGhlIHNlY29uZCBzdHJpbmcgdG9rZW4gaW5wdXQgKi8KKyAgICBpbnQgbl92YWx1ZTI7CisgICAgdm9pZCAqIGRhdGE7IC8qIGRhdGEgYXNzb2NpYXRlZCB0byB0aGUgdG9rZW4gdG8gcmV1c2UgaW4gY2FsbGJhY2tzICovCisgICAgaW50IG5fZGF0YTsKKworICAgIGZvciAobl9leGVjID0gMDtuX2V4ZWMgPCBnZW5fbmJfeG1sUmVnRXhlY0N0eHRQdHI7bl9leGVjKyspIHsKKyAgICBmb3IgKG5fdmFsdWUgPSAwO25fdmFsdWUgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl92YWx1ZSsrKSB7CisgICAgZm9yIChuX3ZhbHVlMiA9IDA7bl92YWx1ZTIgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl92YWx1ZTIrKykgeworICAgIGZvciAobl9kYXRhID0gMDtuX2RhdGEgPCBnZW5fbmJfdXNlcmRhdGE7bl9kYXRhKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgZXhlYyA9IGdlbl94bWxSZWdFeGVjQ3R4dFB0cihuX2V4ZWMsIDApOworICAgICAgICB2YWx1ZSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX3ZhbHVlLCAxKTsKKyAgICAgICAgdmFsdWUyID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fdmFsdWUyLCAyKTsKKyAgICAgICAgZGF0YSA9IGdlbl91c2VyZGF0YShuX2RhdGEsIDMpOworCisgICAgICAgIHJldF92YWwgPSB4bWxSZWdFeGVjUHVzaFN0cmluZzIoZXhlYywgKGNvbnN0IHhtbENoYXIgKil2YWx1ZSwgKGNvbnN0IHhtbENoYXIgKil2YWx1ZTIsIGRhdGEpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxSZWdFeGVjQ3R4dFB0cihuX2V4ZWMsIGV4ZWMsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl92YWx1ZSwgKGNvbnN0IHhtbENoYXIgKil2YWx1ZSwgMSk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX3ZhbHVlMiwgKGNvbnN0IHhtbENoYXIgKil2YWx1ZTIsIDIpOworICAgICAgICBkZXNfdXNlcmRhdGEobl9kYXRhLCBkYXRhLCAzKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFJlZ0V4ZWNQdXNoU3RyaW5nMiIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9leGVjKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl92YWx1ZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdmFsdWUyKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9kYXRhKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECisKKyNkZWZpbmUgZ2VuX25iX3htbFJlZ2V4cFB0ciAxCitzdGF0aWMgeG1sUmVnZXhwUHRyIGdlbl94bWxSZWdleHBQdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgcmV0dXJuKE5VTEwpOworfQorc3RhdGljIHZvaWQgZGVzX3htbFJlZ2V4cFB0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgeG1sUmVnZXhwUHRyIHZhbCBBVFRSSUJVVEVfVU5VU0VELCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworfQorI2VuZGlmCisKKworc3RhdGljIGludAordGVzdF94bWxSZWdOZXdFeGVjQ3R4dCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworCisgICAgLyogbWlzc2luZyB0eXBlIHN1cHBvcnQgKi8KKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sUmVnZXhwQ29tcGlsZSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworCisgICAgLyogbWlzc2luZyB0eXBlIHN1cHBvcnQgKi8KKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sUmVnZXhwRXhlYyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1JFR0VYUF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxSZWdleHBQdHIgY29tcDsgLyogdGhlIGNvbXBpbGVkIHJlZ3VsYXIgZXhwcmVzc2lvbiAqLworICAgIGludCBuX2NvbXA7CisgICAgeG1sQ2hhciAqIGNvbnRlbnQ7IC8qIHRoZSB2YWx1ZSB0byBjaGVjayBhZ2FpbnN0IHRoZSByZWd1bGFyIGV4cHJlc3Npb24gKi8KKyAgICBpbnQgbl9jb250ZW50OworCisgICAgZm9yIChuX2NvbXAgPSAwO25fY29tcCA8IGdlbl9uYl94bWxSZWdleHBQdHI7bl9jb21wKyspIHsKKyAgICBmb3IgKG5fY29udGVudCA9IDA7bl9jb250ZW50IDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fY29udGVudCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGNvbXAgPSBnZW5feG1sUmVnZXhwUHRyKG5fY29tcCwgMCk7CisgICAgICAgIGNvbnRlbnQgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9jb250ZW50LCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sUmVnZXhwRXhlYyhjb21wLCAoY29uc3QgeG1sQ2hhciAqKWNvbnRlbnQpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxSZWdleHBQdHIobl9jb21wLCBjb21wLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fY29udGVudCwgKGNvbnN0IHhtbENoYXIgKiljb250ZW50LCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFJlZ2V4cEV4ZWMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29tcCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29udGVudCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxSZWdleHBJc0RldGVybWluaXN0KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfUkVHRVhQX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbFJlZ2V4cFB0ciBjb21wOyAvKiB0aGUgY29tcGlsZWQgcmVndWxhciBleHByZXNzaW9uICovCisgICAgaW50IG5fY29tcDsKKworICAgIGZvciAobl9jb21wID0gMDtuX2NvbXAgPCBnZW5fbmJfeG1sUmVnZXhwUHRyO25fY29tcCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGNvbXAgPSBnZW5feG1sUmVnZXhwUHRyKG5fY29tcCwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFJlZ2V4cElzRGV0ZXJtaW5pc3QoY29tcCk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFJlZ2V4cFB0cihuX2NvbXAsIGNvbXAsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sUmVnZXhwSXNEZXRlcm1pbmlzdCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jb21wKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sUmVnZXhwUHJpbnQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9SRUdFWFBfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgRklMRSAqIG91dHB1dDsgLyogdGhlIGZpbGUgZm9yIHRoZSBvdXRwdXQgZGVidWcgKi8KKyAgICBpbnQgbl9vdXRwdXQ7CisgICAgeG1sUmVnZXhwUHRyIHJlZ2V4cDsgLyogdGhlIGNvbXBpbGVkIHJlZ2V4cCAqLworICAgIGludCBuX3JlZ2V4cDsKKworICAgIGZvciAobl9vdXRwdXQgPSAwO25fb3V0cHV0IDwgZ2VuX25iX0ZJTEVfcHRyO25fb3V0cHV0KyspIHsKKyAgICBmb3IgKG5fcmVnZXhwID0gMDtuX3JlZ2V4cCA8IGdlbl9uYl94bWxSZWdleHBQdHI7bl9yZWdleHArKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBvdXRwdXQgPSBnZW5fRklMRV9wdHIobl9vdXRwdXQsIDApOworICAgICAgICByZWdleHAgPSBnZW5feG1sUmVnZXhwUHRyKG5fcmVnZXhwLCAxKTsKKworICAgICAgICB4bWxSZWdleHBQcmludChvdXRwdXQsIHJlZ2V4cCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX0ZJTEVfcHRyKG5fb3V0cHV0LCBvdXRwdXQsIDApOworICAgICAgICBkZXNfeG1sUmVnZXhwUHRyKG5fcmVnZXhwLCByZWdleHAsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sUmVnZXhwUHJpbnQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fb3V0cHV0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9yZWdleHApOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCitzdGF0aWMgaW50Cit0ZXN0X3htbHJlZ2V4cCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGlmIChxdWlldCA9PSAwKSBwcmludGYoIlRlc3RpbmcgeG1scmVnZXhwIDogMTYgb2YgMzAgZnVuY3Rpb25zIC4uLlxuIik7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxFeHBDdHh0TmJDb25zKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxFeHBDdHh0TmJOb2RlcygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sRXhwRHVtcCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sRXhwRXhwRGVyaXZlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxFeHBHZXRMYW5ndWFnZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sRXhwR2V0U3RhcnQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbEV4cElzTmlsbGFibGUoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbEV4cE1heFRva2VuKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxFeHBOZXdBdG9tKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxFeHBOZXdDdHh0KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxFeHBOZXdPcigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sRXhwTmV3UmFuZ2UoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbEV4cE5ld1NlcSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sRXhwUGFyc2UoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbEV4cFJlZigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sRXhwU3RyaW5nRGVyaXZlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxFeHBTdWJzdW1lKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxSZWdFeGVjRXJySW5mbygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sUmVnRXhlY05leHRWYWx1ZXMoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFJlZ0V4ZWNQdXNoU3RyaW5nKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxSZWdFeGVjUHVzaFN0cmluZzIoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFJlZ05ld0V4ZWNDdHh0KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxSZWdleHBDb21waWxlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxSZWdleHBFeGVjKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxSZWdleHBJc0RldGVybWluaXN0KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxSZWdleHBQcmludCgpOworCisgICAgaWYgKHRlc3RfcmV0ICE9IDApCisJcHJpbnRmKCJNb2R1bGUgeG1scmVnZXhwOiAlZCBlcnJvcnNcbiIsIHRlc3RfcmV0KTsKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorI2lmZGVmIExJQlhNTF9PVVRQVVRfRU5BQkxFRAorCisjZGVmaW5lIGdlbl9uYl94bWxTYXZlQ3R4dFB0ciAxCitzdGF0aWMgeG1sU2F2ZUN0eHRQdHIgZ2VuX3htbFNhdmVDdHh0UHRyKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworICAgIHJldHVybihOVUxMKTsKK30KK3N0YXRpYyB2b2lkIGRlc194bWxTYXZlQ3R4dFB0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgeG1sU2F2ZUN0eHRQdHIgdmFsIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7Cit9CisjZW5kaWYKKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFNhdmVDbG9zZSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxTYXZlQ3R4dFB0ciBjdHh0OyAvKiBhIGRvY3VtZW50IHNhdmluZyBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfeG1sU2F2ZUN0eHRQdHI7bl9jdHh0KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4dCA9IGdlbl94bWxTYXZlQ3R4dFB0cihuX2N0eHQsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxTYXZlQ2xvc2UoY3R4dCk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFNhdmVDdHh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxTYXZlQ2xvc2UiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFNhdmVEb2Modm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgbG9uZyByZXRfdmFsOworICAgIHhtbFNhdmVDdHh0UHRyIGN0eHQ7IC8qIGEgZG9jdW1lbnQgc2F2aW5nIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHh0OworICAgIHhtbERvY1B0ciBkb2M7IC8qIGEgZG9jdW1lbnQgKi8KKyAgICBpbnQgbl9kb2M7CisKKyAgICBmb3IgKG5fY3R4dCA9IDA7bl9jdHh0IDwgZ2VuX25iX3htbFNhdmVDdHh0UHRyO25fY3R4dCsrKSB7CisgICAgZm9yIChuX2RvYyA9IDA7bl9kb2MgPCBnZW5fbmJfeG1sRG9jUHRyO25fZG9jKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4dCA9IGdlbl94bWxTYXZlQ3R4dFB0cihuX2N0eHQsIDApOworICAgICAgICBkb2MgPSBnZW5feG1sRG9jUHRyKG5fZG9jLCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sU2F2ZURvYyhjdHh0LCBkb2MpOworICAgICAgICBkZXNyZXRfbG9uZyhyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sU2F2ZUN0eHRQdHIobl9jdHh0LCBjdHh0LCAwKTsKKyAgICAgICAgZGVzX3htbERvY1B0cihuX2RvYywgZG9jLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFNhdmVEb2MiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZG9jKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFNhdmVGbHVzaCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxTYXZlQ3R4dFB0ciBjdHh0OyAvKiBhIGRvY3VtZW50IHNhdmluZyBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfeG1sU2F2ZUN0eHRQdHI7bl9jdHh0KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4dCA9IGdlbl94bWxTYXZlQ3R4dFB0cihuX2N0eHQsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxTYXZlRmx1c2goY3R4dCk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFNhdmVDdHh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxTYXZlRmx1c2giLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFNhdmVTZXRBdHRyRXNjYXBlKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisKKyAgICAvKiBtaXNzaW5nIHR5cGUgc3VwcG9ydCAqLworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxTYXZlU2V0RXNjYXBlKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisKKyAgICAvKiBtaXNzaW5nIHR5cGUgc3VwcG9ydCAqLworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxTYXZlVG9CdWZmZXIodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworICAgIC8qIG1pc3NpbmcgdHlwZSBzdXBwb3J0ICovCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFNhdmVUb0ZkKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisKKyAgICAvKiBtaXNzaW5nIHR5cGUgc3VwcG9ydCAqLworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxTYXZlVG9GaWxlbmFtZSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworCisgICAgLyogbWlzc2luZyB0eXBlIHN1cHBvcnQgKi8KKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sU2F2ZVRyZWUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgbG9uZyByZXRfdmFsOworICAgIHhtbFNhdmVDdHh0UHRyIGN0eHQ7IC8qIGEgZG9jdW1lbnQgc2F2aW5nIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHh0OworICAgIHhtbE5vZGVQdHIgbm9kZTsgLyogdGhlIHRvcCBub2RlIG9mIHRoZSBzdWJ0cmVlIHRvIHNhdmUgKi8KKyAgICBpbnQgbl9ub2RlOworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxTYXZlQ3R4dFB0cjtuX2N0eHQrKykgeworICAgIGZvciAobl9ub2RlID0gMDtuX25vZGUgPCBnZW5fbmJfeG1sTm9kZVB0cjtuX25vZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX3htbFNhdmVDdHh0UHRyKG5fY3R4dCwgMCk7CisgICAgICAgIG5vZGUgPSBnZW5feG1sTm9kZVB0cihuX25vZGUsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxTYXZlVHJlZShjdHh0LCBub2RlKTsKKyAgICAgICAgZGVzcmV0X2xvbmcocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFNhdmVDdHh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIGRlc194bWxOb2RlUHRyKG5fbm9kZSwgbm9kZSwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxTYXZlVHJlZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHh0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9ub2RlKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworc3RhdGljIGludAordGVzdF94bWxzYXZlKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaWYgKHF1aWV0ID09IDApIHByaW50ZigiVGVzdGluZyB4bWxzYXZlIDogNCBvZiAxMCBmdW5jdGlvbnMgLi4uXG4iKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFNhdmVDbG9zZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU2F2ZURvYygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU2F2ZUZsdXNoKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxTYXZlU2V0QXR0ckVzY2FwZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU2F2ZVNldEVzY2FwZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU2F2ZVRvQnVmZmVyKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxTYXZlVG9GZCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU2F2ZVRvRmlsZW5hbWUoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFNhdmVUcmVlKCk7CisKKyAgICBpZiAodGVzdF9yZXQgIT0gMCkKKwlwcmludGYoIk1vZHVsZSB4bWxzYXZlOiAlZCBlcnJvcnNcbiIsIHRlc3RfcmV0KTsKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCitzdGF0aWMgaW50Cit0ZXN0X3htbFNjaGVtYUR1bXAodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpICYmIGRlZmluZWQoTElCWE1MX09VVFBVVF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBGSUxFICogb3V0cHV0OyAvKiB0aGUgZmlsZSBvdXRwdXQgKi8KKyAgICBpbnQgbl9vdXRwdXQ7CisgICAgeG1sU2NoZW1hUHRyIHNjaGVtYTsgLyogYSBzY2hlbWEgc3RydWN0dXJlICovCisgICAgaW50IG5fc2NoZW1hOworCisgICAgZm9yIChuX291dHB1dCA9IDA7bl9vdXRwdXQgPCBnZW5fbmJfRklMRV9wdHI7bl9vdXRwdXQrKykgeworICAgIGZvciAobl9zY2hlbWEgPSAwO25fc2NoZW1hIDwgZ2VuX25iX3htbFNjaGVtYVB0cjtuX3NjaGVtYSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIG91dHB1dCA9IGdlbl9GSUxFX3B0cihuX291dHB1dCwgMCk7CisgICAgICAgIHNjaGVtYSA9IGdlbl94bWxTY2hlbWFQdHIobl9zY2hlbWEsIDEpOworCisgICAgICAgIHhtbFNjaGVtYUR1bXAob3V0cHV0LCBzY2hlbWEpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19GSUxFX3B0cihuX291dHB1dCwgb3V0cHV0LCAwKTsKKyAgICAgICAgZGVzX3htbFNjaGVtYVB0cihuX3NjaGVtYSwgc2NoZW1hLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFNjaGVtYUR1bXAiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fb3V0cHV0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9zY2hlbWEpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisjaWZkZWYgTElCWE1MX1NDSEVNQVNfRU5BQkxFRAorCisjZGVmaW5lIGdlbl9uYl94bWxTY2hlbWFQYXJzZXJDdHh0UHRyIDEKK3N0YXRpYyB4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIGdlbl94bWxTY2hlbWFQYXJzZXJDdHh0UHRyKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworICAgIHJldHVybihOVUxMKTsKK30KK3N0YXRpYyB2b2lkIGRlc194bWxTY2hlbWFQYXJzZXJDdHh0UHRyKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCB4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIHZhbCBBVFRSSUJVVEVfVU5VU0VELCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworfQorI2VuZGlmCisKKyNpZmRlZiBMSUJYTUxfU0NIRU1BU19FTkFCTEVECisKKyNkZWZpbmUgZ2VuX25iX3htbFNjaGVtYVZhbGlkaXR5RXJyb3JGdW5jX3B0ciAxCitzdGF0aWMgeG1sU2NoZW1hVmFsaWRpdHlFcnJvckZ1bmMgKiBnZW5feG1sU2NoZW1hVmFsaWRpdHlFcnJvckZ1bmNfcHRyKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworICAgIHJldHVybihOVUxMKTsKK30KK3N0YXRpYyB2b2lkIGRlc194bWxTY2hlbWFWYWxpZGl0eUVycm9yRnVuY19wdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIHhtbFNjaGVtYVZhbGlkaXR5RXJyb3JGdW5jICogdmFsIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7Cit9CisjZW5kaWYKKworI2lmZGVmIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQKKworI2RlZmluZSBnZW5fbmJfeG1sU2NoZW1hVmFsaWRpdHlXYXJuaW5nRnVuY19wdHIgMQorc3RhdGljIHhtbFNjaGVtYVZhbGlkaXR5V2FybmluZ0Z1bmMgKiBnZW5feG1sU2NoZW1hVmFsaWRpdHlXYXJuaW5nRnVuY19wdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgcmV0dXJuKE5VTEwpOworfQorc3RhdGljIHZvaWQgZGVzX3htbFNjaGVtYVZhbGlkaXR5V2FybmluZ0Z1bmNfcHRyKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCB4bWxTY2hlbWFWYWxpZGl0eVdhcm5pbmdGdW5jICogdmFsIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7Cit9CisjZW5kaWYKKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFNjaGVtYUdldFBhcnNlckVycm9ycyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBjdHh0OyAvKiBhIFhNbC1TY2hlbWEgcGFyc2VyIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHh0OworICAgIHhtbFNjaGVtYVZhbGlkaXR5RXJyb3JGdW5jICogZXJyOyAvKiB0aGUgZXJyb3IgY2FsbGJhY2sgcmVzdWx0ICovCisgICAgaW50IG5fZXJyOworICAgIHhtbFNjaGVtYVZhbGlkaXR5V2FybmluZ0Z1bmMgKiB3YXJuOyAvKiB0aGUgd2FybmluZyBjYWxsYmFjayByZXN1bHQgKi8KKyAgICBpbnQgbl93YXJuOworICAgIHZvaWQgKiogY3R4OyAvKiBjb250ZXh0dWFsIGRhdGEgZm9yIHRoZSBjYWxsYmFja3MgcmVzdWx0ICovCisgICAgaW50IG5fY3R4OworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxTY2hlbWFQYXJzZXJDdHh0UHRyO25fY3R4dCsrKSB7CisgICAgZm9yIChuX2VyciA9IDA7bl9lcnIgPCBnZW5fbmJfeG1sU2NoZW1hVmFsaWRpdHlFcnJvckZ1bmNfcHRyO25fZXJyKyspIHsKKyAgICBmb3IgKG5fd2FybiA9IDA7bl93YXJuIDwgZ2VuX25iX3htbFNjaGVtYVZhbGlkaXR5V2FybmluZ0Z1bmNfcHRyO25fd2FybisrKSB7CisgICAgZm9yIChuX2N0eCA9IDA7bl9jdHggPCBnZW5fbmJfdm9pZF9wdHJfcHRyO25fY3R4KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4dCA9IGdlbl94bWxTY2hlbWFQYXJzZXJDdHh0UHRyKG5fY3R4dCwgMCk7CisgICAgICAgIGVyciA9IGdlbl94bWxTY2hlbWFWYWxpZGl0eUVycm9yRnVuY19wdHIobl9lcnIsIDEpOworICAgICAgICB3YXJuID0gZ2VuX3htbFNjaGVtYVZhbGlkaXR5V2FybmluZ0Z1bmNfcHRyKG5fd2FybiwgMik7CisgICAgICAgIGN0eCA9IGdlbl92b2lkX3B0cl9wdHIobl9jdHgsIDMpOworCisgICAgICAgIHJldF92YWwgPSB4bWxTY2hlbWFHZXRQYXJzZXJFcnJvcnMoY3R4dCwgZXJyLCB3YXJuLCBjdHgpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxTY2hlbWFQYXJzZXJDdHh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIGRlc194bWxTY2hlbWFWYWxpZGl0eUVycm9yRnVuY19wdHIobl9lcnIsIGVyciwgMSk7CisgICAgICAgIGRlc194bWxTY2hlbWFWYWxpZGl0eVdhcm5pbmdGdW5jX3B0cihuX3dhcm4sIHdhcm4sIDIpOworICAgICAgICBkZXNfdm9pZF9wdHJfcHRyKG5fY3R4LCBjdHgsIDMpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sU2NoZW1hR2V0UGFyc2VyRXJyb3JzIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2Vycik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fd2Fybik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4KTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sU2NoZW1hR2V0VmFsaWRFcnJvcnModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbFNjaGVtYVZhbGlkQ3R4dFB0ciBjdHh0OyAvKiBhIFhNTC1TY2hlbWEgdmFsaWRhdGlvbiBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKyAgICB4bWxTY2hlbWFWYWxpZGl0eUVycm9yRnVuYyAqIGVycjsgLyogdGhlIGVycm9yIGZ1bmN0aW9uIHJlc3VsdCAqLworICAgIGludCBuX2VycjsKKyAgICB4bWxTY2hlbWFWYWxpZGl0eVdhcm5pbmdGdW5jICogd2FybjsgLyogdGhlIHdhcm5pbmcgZnVuY3Rpb24gcmVzdWx0ICovCisgICAgaW50IG5fd2FybjsKKyAgICB2b2lkICoqIGN0eDsgLyogdGhlIGZ1bmN0aW9ucyBjb250ZXh0IHJlc3VsdCAqLworICAgIGludCBuX2N0eDsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfeG1sU2NoZW1hVmFsaWRDdHh0UHRyO25fY3R4dCsrKSB7CisgICAgZm9yIChuX2VyciA9IDA7bl9lcnIgPCBnZW5fbmJfeG1sU2NoZW1hVmFsaWRpdHlFcnJvckZ1bmNfcHRyO25fZXJyKyspIHsKKyAgICBmb3IgKG5fd2FybiA9IDA7bl93YXJuIDwgZ2VuX25iX3htbFNjaGVtYVZhbGlkaXR5V2FybmluZ0Z1bmNfcHRyO25fd2FybisrKSB7CisgICAgZm9yIChuX2N0eCA9IDA7bl9jdHggPCBnZW5fbmJfdm9pZF9wdHJfcHRyO25fY3R4KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4dCA9IGdlbl94bWxTY2hlbWFWYWxpZEN0eHRQdHIobl9jdHh0LCAwKTsKKyAgICAgICAgZXJyID0gZ2VuX3htbFNjaGVtYVZhbGlkaXR5RXJyb3JGdW5jX3B0cihuX2VyciwgMSk7CisgICAgICAgIHdhcm4gPSBnZW5feG1sU2NoZW1hVmFsaWRpdHlXYXJuaW5nRnVuY19wdHIobl93YXJuLCAyKTsKKyAgICAgICAgY3R4ID0gZ2VuX3ZvaWRfcHRyX3B0cihuX2N0eCwgMyk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFNjaGVtYUdldFZhbGlkRXJyb3JzKGN0eHQsIGVyciwgd2FybiwgY3R4KTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sU2NoZW1hVmFsaWRDdHh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIGRlc194bWxTY2hlbWFWYWxpZGl0eUVycm9yRnVuY19wdHIobl9lcnIsIGVyciwgMSk7CisgICAgICAgIGRlc194bWxTY2hlbWFWYWxpZGl0eVdhcm5pbmdGdW5jX3B0cihuX3dhcm4sIHdhcm4sIDIpOworICAgICAgICBkZXNfdm9pZF9wdHJfcHRyKG5fY3R4LCBjdHgsIDMpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sU2NoZW1hR2V0VmFsaWRFcnJvcnMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZXJyKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl93YXJuKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHgpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxTY2hlbWFJc1ZhbGlkKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxTY2hlbWFWYWxpZEN0eHRQdHIgY3R4dDsgLyogdGhlIHNjaGVtYSB2YWxpZGF0aW9uIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHh0OworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxTY2hlbWFWYWxpZEN0eHRQdHI7bl9jdHh0KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4dCA9IGdlbl94bWxTY2hlbWFWYWxpZEN0eHRQdHIobl9jdHh0LCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sU2NoZW1hSXNWYWxpZChjdHh0KTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sU2NoZW1hVmFsaWRDdHh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxTY2hlbWFJc1ZhbGlkIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxTY2hlbWFOZXdEb2NQYXJzZXJDdHh0KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIHJldF92YWw7CisgICAgeG1sRG9jUHRyIGRvYzsgLyogYSBwcmVwYXJzZWQgZG9jdW1lbnQgdHJlZSAqLworICAgIGludCBuX2RvYzsKKworICAgIGZvciAobl9kb2MgPSAwO25fZG9jIDwgZ2VuX25iX3htbERvY1B0cjtuX2RvYysrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGRvYyA9IGdlbl94bWxEb2NQdHIobl9kb2MsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxTY2hlbWFOZXdEb2NQYXJzZXJDdHh0KGRvYyk7CisgICAgICAgIGRlc3JldF94bWxTY2hlbWFQYXJzZXJDdHh0UHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxEb2NQdHIobl9kb2MsIGRvYywgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxTY2hlbWFOZXdEb2NQYXJzZXJDdHh0IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2RvYyk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFNjaGVtYU5ld01lbVBhcnNlckN0eHQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbFNjaGVtYVBhcnNlckN0eHRQdHIgcmV0X3ZhbDsKKyAgICBjaGFyICogYnVmZmVyOyAvKiBhIHBvaW50ZXIgdG8gYSBjaGFyIGFycmF5IGNvbnRhaW5pbmcgdGhlIHNjaGVtYXMgKi8KKyAgICBpbnQgbl9idWZmZXI7CisgICAgaW50IHNpemU7IC8qIHRoZSBzaXplIG9mIHRoZSBhcnJheSAqLworICAgIGludCBuX3NpemU7CisKKyAgICBmb3IgKG5fYnVmZmVyID0gMDtuX2J1ZmZlciA8IGdlbl9uYl9jb25zdF9jaGFyX3B0cjtuX2J1ZmZlcisrKSB7CisgICAgZm9yIChuX3NpemUgPSAwO25fc2l6ZSA8IGdlbl9uYl9pbnQ7bl9zaXplKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgYnVmZmVyID0gZ2VuX2NvbnN0X2NoYXJfcHRyKG5fYnVmZmVyLCAwKTsKKyAgICAgICAgc2l6ZSA9IGdlbl9pbnQobl9zaXplLCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sU2NoZW1hTmV3TWVtUGFyc2VyQ3R4dCgoY29uc3QgY2hhciAqKWJ1ZmZlciwgc2l6ZSk7CisgICAgICAgIGRlc3JldF94bWxTY2hlbWFQYXJzZXJDdHh0UHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19jb25zdF9jaGFyX3B0cihuX2J1ZmZlciwgKGNvbnN0IGNoYXIgKilidWZmZXIsIDApOworICAgICAgICBkZXNfaW50KG5fc2l6ZSwgc2l6ZSwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxTY2hlbWFOZXdNZW1QYXJzZXJDdHh0IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2J1ZmZlcik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fc2l6ZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxTY2hlbWFOZXdQYXJzZXJDdHh0KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIHJldF92YWw7CisgICAgY2hhciAqIFVSTDsgLyogdGhlIGxvY2F0aW9uIG9mIHRoZSBzY2hlbWEgKi8KKyAgICBpbnQgbl9VUkw7CisKKyAgICBmb3IgKG5fVVJMID0gMDtuX1VSTCA8IGdlbl9uYl9jb25zdF9jaGFyX3B0cjtuX1VSTCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIFVSTCA9IGdlbl9jb25zdF9jaGFyX3B0cihuX1VSTCwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFNjaGVtYU5ld1BhcnNlckN0eHQoKGNvbnN0IGNoYXIgKilVUkwpOworICAgICAgICBkZXNyZXRfeG1sU2NoZW1hUGFyc2VyQ3R4dFB0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfY29uc3RfY2hhcl9wdHIobl9VUkwsIChjb25zdCBjaGFyICopVVJMLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFNjaGVtYU5ld1BhcnNlckN0eHQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fVVJMKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sU2NoZW1hTmV3VmFsaWRDdHh0KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisKKyAgICAvKiBtaXNzaW5nIHR5cGUgc3VwcG9ydCAqLworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxTY2hlbWFQYXJzZSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworCisgICAgLyogbWlzc2luZyB0eXBlIHN1cHBvcnQgKi8KKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisjaWZkZWYgTElCWE1MX1NDSEVNQVNfRU5BQkxFRAorCisjZGVmaW5lIGdlbl9uYl94bWxTQVhIYW5kbGVyUHRyX3B0ciAxCitzdGF0aWMgeG1sU0FYSGFuZGxlclB0ciAqIGdlbl94bWxTQVhIYW5kbGVyUHRyX3B0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICByZXR1cm4oTlVMTCk7Cit9CitzdGF0aWMgdm9pZCBkZXNfeG1sU0FYSGFuZGxlclB0cl9wdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIHhtbFNBWEhhbmRsZXJQdHIgKiB2YWwgQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKK30KKyNlbmRpZgorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sU2NoZW1hU0FYUGx1Zyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworCisgICAgLyogbWlzc2luZyB0eXBlIHN1cHBvcnQgKi8KKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisjaWZkZWYgTElCWE1MX1NDSEVNQVNfRU5BQkxFRAorCisjZGVmaW5lIGdlbl9uYl94bWxTY2hlbWFTQVhQbHVnUHRyIDEKK3N0YXRpYyB4bWxTY2hlbWFTQVhQbHVnUHRyIGdlbl94bWxTY2hlbWFTQVhQbHVnUHRyKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworICAgIHJldHVybihOVUxMKTsKK30KK3N0YXRpYyB2b2lkIGRlc194bWxTY2hlbWFTQVhQbHVnUHRyKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCB4bWxTY2hlbWFTQVhQbHVnUHRyIHZhbCBBVFRSSUJVVEVfVU5VU0VELCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworfQorI2VuZGlmCisKKworc3RhdGljIGludAordGVzdF94bWxTY2hlbWFTQVhVbnBsdWcodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbFNjaGVtYVNBWFBsdWdQdHIgcGx1ZzsgLyogYSBkYXRhIHN0cnVjdHVyZSByZXR1cm5lZCBieSB4bWxTY2hlbWFTQVhQbHVnICovCisgICAgaW50IG5fcGx1ZzsKKworICAgIGZvciAobl9wbHVnID0gMDtuX3BsdWcgPCBnZW5fbmJfeG1sU2NoZW1hU0FYUGx1Z1B0cjtuX3BsdWcrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBwbHVnID0gZ2VuX3htbFNjaGVtYVNBWFBsdWdQdHIobl9wbHVnLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sU2NoZW1hU0FYVW5wbHVnKHBsdWcpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxTY2hlbWFTQVhQbHVnUHRyKG5fcGx1ZywgcGx1ZywgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxTY2hlbWFTQVhVbnBsdWciLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fcGx1Zyk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFNjaGVtYVNldFBhcnNlckVycm9ycyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworCisgICAgLyogbWlzc2luZyB0eXBlIHN1cHBvcnQgKi8KKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sU2NoZW1hU2V0UGFyc2VyU3RydWN0dXJlZEVycm9ycyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworCisgICAgLyogbWlzc2luZyB0eXBlIHN1cHBvcnQgKi8KKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sU2NoZW1hU2V0VmFsaWRFcnJvcnModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworICAgIC8qIG1pc3NpbmcgdHlwZSBzdXBwb3J0ICovCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFNjaGVtYVNldFZhbGlkT3B0aW9ucyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sU2NoZW1hVmFsaWRDdHh0UHRyIGN0eHQ7IC8qIGEgc2NoZW1hIHZhbGlkYXRpb24gY29udGV4dCAqLworICAgIGludCBuX2N0eHQ7CisgICAgaW50IG9wdGlvbnM7IC8qIGEgY29tYmluYXRpb24gb2YgeG1sU2NoZW1hVmFsaWRPcHRpb24gKi8KKyAgICBpbnQgbl9vcHRpb25zOworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxTY2hlbWFWYWxpZEN0eHRQdHI7bl9jdHh0KyspIHsKKyAgICBmb3IgKG5fb3B0aW9ucyA9IDA7bl9vcHRpb25zIDwgZ2VuX25iX2ludDtuX29wdGlvbnMrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX3htbFNjaGVtYVZhbGlkQ3R4dFB0cihuX2N0eHQsIDApOworICAgICAgICBvcHRpb25zID0gZ2VuX2ludChuX29wdGlvbnMsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxTY2hlbWFTZXRWYWxpZE9wdGlvbnMoY3R4dCwgb3B0aW9ucyk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFNjaGVtYVZhbGlkQ3R4dFB0cihuX2N0eHQsIGN0eHQsIDApOworICAgICAgICBkZXNfaW50KG5fb3B0aW9ucywgb3B0aW9ucywgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxTY2hlbWFTZXRWYWxpZE9wdGlvbnMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fb3B0aW9ucyk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxTY2hlbWFTZXRWYWxpZFN0cnVjdHVyZWRFcnJvcnModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworICAgIC8qIG1pc3NpbmcgdHlwZSBzdXBwb3J0ICovCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFNjaGVtYVZhbGlkQ3R4dEdldE9wdGlvbnModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbFNjaGVtYVZhbGlkQ3R4dFB0ciBjdHh0OyAvKiBhIHNjaGVtYSB2YWxpZGF0aW9uIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHh0OworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxTY2hlbWFWYWxpZEN0eHRQdHI7bl9jdHh0KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4dCA9IGdlbl94bWxTY2hlbWFWYWxpZEN0eHRQdHIobl9jdHh0LCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sU2NoZW1hVmFsaWRDdHh0R2V0T3B0aW9ucyhjdHh0KTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sU2NoZW1hVmFsaWRDdHh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxTY2hlbWFWYWxpZEN0eHRHZXRPcHRpb25zIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxTY2hlbWFWYWxpZEN0eHRHZXRQYXJzZXJDdHh0KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxQYXJzZXJDdHh0UHRyIHJldF92YWw7CisgICAgeG1sU2NoZW1hVmFsaWRDdHh0UHRyIGN0eHQ7IC8qIGEgc2NoZW1hIHZhbGlkYXRpb24gY29udGV4dCAqLworICAgIGludCBuX2N0eHQ7CisKKyAgICBmb3IgKG5fY3R4dCA9IDA7bl9jdHh0IDwgZ2VuX25iX3htbFNjaGVtYVZhbGlkQ3R4dFB0cjtuX2N0eHQrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX3htbFNjaGVtYVZhbGlkQ3R4dFB0cihuX2N0eHQsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxTY2hlbWFWYWxpZEN0eHRHZXRQYXJzZXJDdHh0KGN0eHQpOworICAgICAgICBkZXNyZXRfeG1sUGFyc2VyQ3R4dFB0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sU2NoZW1hVmFsaWRDdHh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxTY2hlbWFWYWxpZEN0eHRHZXRQYXJzZXJDdHh0IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxTY2hlbWFWYWxpZGF0ZURvYyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sU2NoZW1hVmFsaWRDdHh0UHRyIGN0eHQ7IC8qIGEgc2NoZW1hIHZhbGlkYXRpb24gY29udGV4dCAqLworICAgIGludCBuX2N0eHQ7CisgICAgeG1sRG9jUHRyIGRvYzsgLyogYSBwYXJzZWQgZG9jdW1lbnQgdHJlZSAqLworICAgIGludCBuX2RvYzsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfeG1sU2NoZW1hVmFsaWRDdHh0UHRyO25fY3R4dCsrKSB7CisgICAgZm9yIChuX2RvYyA9IDA7bl9kb2MgPCBnZW5fbmJfeG1sRG9jUHRyO25fZG9jKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4dCA9IGdlbl94bWxTY2hlbWFWYWxpZEN0eHRQdHIobl9jdHh0LCAwKTsKKyAgICAgICAgZG9jID0gZ2VuX3htbERvY1B0cihuX2RvYywgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFNjaGVtYVZhbGlkYXRlRG9jKGN0eHQsIGRvYyk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFNjaGVtYVZhbGlkQ3R4dFB0cihuX2N0eHQsIGN0eHQsIDApOworICAgICAgICBkZXNfeG1sRG9jUHRyKG5fZG9jLCBkb2MsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sU2NoZW1hVmFsaWRhdGVEb2MiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZG9jKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFNjaGVtYVZhbGlkYXRlRmlsZSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sU2NoZW1hVmFsaWRDdHh0UHRyIGN0eHQ7IC8qIGEgc2NoZW1hIHZhbGlkYXRpb24gY29udGV4dCAqLworICAgIGludCBuX2N0eHQ7CisgICAgY29uc3QgY2hhciAqIGZpbGVuYW1lOyAvKiB0aGUgVVJJIG9mIHRoZSBpbnN0YW5jZSAqLworICAgIGludCBuX2ZpbGVuYW1lOworICAgIGludCBvcHRpb25zOyAvKiBhIGZ1dHVyZSBzZXQgb2Ygb3B0aW9ucywgY3VycmVudGx5IHVudXNlZCAqLworICAgIGludCBuX29wdGlvbnM7CisKKyAgICBmb3IgKG5fY3R4dCA9IDA7bl9jdHh0IDwgZ2VuX25iX3htbFNjaGVtYVZhbGlkQ3R4dFB0cjtuX2N0eHQrKykgeworICAgIGZvciAobl9maWxlbmFtZSA9IDA7bl9maWxlbmFtZSA8IGdlbl9uYl9maWxlcGF0aDtuX2ZpbGVuYW1lKyspIHsKKyAgICBmb3IgKG5fb3B0aW9ucyA9IDA7bl9vcHRpb25zIDwgZ2VuX25iX2ludDtuX29wdGlvbnMrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX3htbFNjaGVtYVZhbGlkQ3R4dFB0cihuX2N0eHQsIDApOworICAgICAgICBmaWxlbmFtZSA9IGdlbl9maWxlcGF0aChuX2ZpbGVuYW1lLCAxKTsKKyAgICAgICAgb3B0aW9ucyA9IGdlbl9pbnQobl9vcHRpb25zLCAyKTsKKworICAgICAgICByZXRfdmFsID0geG1sU2NoZW1hVmFsaWRhdGVGaWxlKGN0eHQsIGZpbGVuYW1lLCBvcHRpb25zKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sU2NoZW1hVmFsaWRDdHh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIGRlc19maWxlcGF0aChuX2ZpbGVuYW1lLCBmaWxlbmFtZSwgMSk7CisgICAgICAgIGRlc19pbnQobl9vcHRpb25zLCBvcHRpb25zLCAyKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFNjaGVtYVZhbGlkYXRlRmlsZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHh0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9maWxlbmFtZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fb3B0aW9ucyk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sU2NoZW1hVmFsaWRhdGVPbmVFbGVtZW50KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxTY2hlbWFWYWxpZEN0eHRQdHIgY3R4dDsgLyogYSBzY2hlbWEgdmFsaWRhdGlvbiBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKyAgICB4bWxOb2RlUHRyIGVsZW07IC8qIGFuIGVsZW1lbnQgbm9kZSAqLworICAgIGludCBuX2VsZW07CisKKyAgICBmb3IgKG5fY3R4dCA9IDA7bl9jdHh0IDwgZ2VuX25iX3htbFNjaGVtYVZhbGlkQ3R4dFB0cjtuX2N0eHQrKykgeworICAgIGZvciAobl9lbGVtID0gMDtuX2VsZW0gPCBnZW5fbmJfeG1sTm9kZVB0cjtuX2VsZW0rKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX3htbFNjaGVtYVZhbGlkQ3R4dFB0cihuX2N0eHQsIDApOworICAgICAgICBlbGVtID0gZ2VuX3htbE5vZGVQdHIobl9lbGVtLCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sU2NoZW1hVmFsaWRhdGVPbmVFbGVtZW50KGN0eHQsIGVsZW0pOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxTY2hlbWFWYWxpZEN0eHRQdHIobl9jdHh0LCBjdHh0LCAwKTsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl9lbGVtLCBlbGVtLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFNjaGVtYVZhbGlkYXRlT25lRWxlbWVudCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHh0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9lbGVtKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFNjaGVtYVZhbGlkYXRlU2V0RmlsZW5hbWUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbFNjaGVtYVZhbGlkQ3R4dFB0ciB2Y3R4dDsgLyogdGhlIHNjaGVtYSB2YWxpZGF0aW9uIGNvbnRleHQgKi8KKyAgICBpbnQgbl92Y3R4dDsKKyAgICBjb25zdCBjaGFyICogZmlsZW5hbWU7IC8qIHRoZSBmaWxlIG5hbWUgKi8KKyAgICBpbnQgbl9maWxlbmFtZTsKKworICAgIGZvciAobl92Y3R4dCA9IDA7bl92Y3R4dCA8IGdlbl9uYl94bWxTY2hlbWFWYWxpZEN0eHRQdHI7bl92Y3R4dCsrKSB7CisgICAgZm9yIChuX2ZpbGVuYW1lID0gMDtuX2ZpbGVuYW1lIDwgZ2VuX25iX2ZpbGVwYXRoO25fZmlsZW5hbWUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICB2Y3R4dCA9IGdlbl94bWxTY2hlbWFWYWxpZEN0eHRQdHIobl92Y3R4dCwgMCk7CisgICAgICAgIGZpbGVuYW1lID0gZ2VuX2ZpbGVwYXRoKG5fZmlsZW5hbWUsIDEpOworCisgICAgICAgIHhtbFNjaGVtYVZhbGlkYXRlU2V0RmlsZW5hbWUodmN0eHQsIGZpbGVuYW1lKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sU2NoZW1hVmFsaWRDdHh0UHRyKG5fdmN0eHQsIHZjdHh0LCAwKTsKKyAgICAgICAgZGVzX2ZpbGVwYXRoKG5fZmlsZW5hbWUsIGZpbGVuYW1lLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFNjaGVtYVZhbGlkYXRlU2V0RmlsZW5hbWUiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdmN0eHQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2ZpbGVuYW1lKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFNjaGVtYVZhbGlkYXRlU2V0TG9jYXRvcih2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworCisgICAgLyogbWlzc2luZyB0eXBlIHN1cHBvcnQgKi8KKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sU2NoZW1hVmFsaWRhdGVTdHJlYW0odm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbFNjaGVtYVZhbGlkQ3R4dFB0ciBjdHh0OyAvKiBhIHNjaGVtYSB2YWxpZGF0aW9uIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHh0OworICAgIHhtbFBhcnNlcklucHV0QnVmZmVyUHRyIGlucHV0OyAvKiB0aGUgaW5wdXQgdG8gdXNlIGZvciByZWFkaW5nIHRoZSBkYXRhICovCisgICAgaW50IG5faW5wdXQ7CisgICAgeG1sQ2hhckVuY29kaW5nIGVuYzsgLyogYW4gb3B0aW9uYWwgZW5jb2RpbmcgaW5mb3JtYXRpb24gKi8KKyAgICBpbnQgbl9lbmM7CisgICAgeG1sU0FYSGFuZGxlclB0ciBzYXg7IC8qIGEgU0FYIGhhbmRsZXIgZm9yIHRoZSByZXN1bHRpbmcgZXZlbnRzICovCisgICAgaW50IG5fc2F4OworICAgIHZvaWQgKiB1c2VyX2RhdGE7IC8qIHRoZSBjb250ZXh0IHRvIHByb3ZpZGUgdG8gdGhlIFNBWCBoYW5kbGVyLiAqLworICAgIGludCBuX3VzZXJfZGF0YTsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfeG1sU2NoZW1hVmFsaWRDdHh0UHRyO25fY3R4dCsrKSB7CisgICAgZm9yIChuX2lucHV0ID0gMDtuX2lucHV0IDwgZ2VuX25iX3htbFBhcnNlcklucHV0QnVmZmVyUHRyO25faW5wdXQrKykgeworICAgIGZvciAobl9lbmMgPSAwO25fZW5jIDwgZ2VuX25iX3htbENoYXJFbmNvZGluZztuX2VuYysrKSB7CisgICAgZm9yIChuX3NheCA9IDA7bl9zYXggPCBnZW5fbmJfeG1sU0FYSGFuZGxlclB0cjtuX3NheCsrKSB7CisgICAgZm9yIChuX3VzZXJfZGF0YSA9IDA7bl91c2VyX2RhdGEgPCBnZW5fbmJfdXNlcmRhdGE7bl91c2VyX2RhdGErKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX3htbFNjaGVtYVZhbGlkQ3R4dFB0cihuX2N0eHQsIDApOworICAgICAgICBpbnB1dCA9IGdlbl94bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cihuX2lucHV0LCAxKTsKKyAgICAgICAgZW5jID0gZ2VuX3htbENoYXJFbmNvZGluZyhuX2VuYywgMik7CisgICAgICAgIHNheCA9IGdlbl94bWxTQVhIYW5kbGVyUHRyKG5fc2F4LCAzKTsKKyAgICAgICAgdXNlcl9kYXRhID0gZ2VuX3VzZXJkYXRhKG5fdXNlcl9kYXRhLCA0KTsKKworICAgICAgICByZXRfdmFsID0geG1sU2NoZW1hVmFsaWRhdGVTdHJlYW0oY3R4dCwgaW5wdXQsIGVuYywgc2F4LCB1c2VyX2RhdGEpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxTY2hlbWFWYWxpZEN0eHRQdHIobl9jdHh0LCBjdHh0LCAwKTsKKyAgICAgICAgZGVzX3htbFBhcnNlcklucHV0QnVmZmVyUHRyKG5faW5wdXQsIGlucHV0LCAxKTsKKyAgICAgICAgZGVzX3htbENoYXJFbmNvZGluZyhuX2VuYywgZW5jLCAyKTsKKyAgICAgICAgZGVzX3htbFNBWEhhbmRsZXJQdHIobl9zYXgsIHNheCwgMyk7CisgICAgICAgIGRlc191c2VyZGF0YShuX3VzZXJfZGF0YSwgdXNlcl9kYXRhLCA0KTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFNjaGVtYVZhbGlkYXRlU3RyZWFtIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2lucHV0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9lbmMpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3NheCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdXNlcl9kYXRhKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworc3RhdGljIGludAordGVzdF94bWxzY2hlbWFzKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaWYgKHF1aWV0ID09IDApIHByaW50ZigiVGVzdGluZyB4bWxzY2hlbWFzIDogMTYgb2YgMjcgZnVuY3Rpb25zIC4uLlxuIik7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxTY2hlbWFEdW1wKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxTY2hlbWFHZXRQYXJzZXJFcnJvcnMoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFNjaGVtYUdldFZhbGlkRXJyb3JzKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxTY2hlbWFJc1ZhbGlkKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxTY2hlbWFOZXdEb2NQYXJzZXJDdHh0KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxTY2hlbWFOZXdNZW1QYXJzZXJDdHh0KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxTY2hlbWFOZXdQYXJzZXJDdHh0KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxTY2hlbWFOZXdWYWxpZEN0eHQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFNjaGVtYVBhcnNlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxTY2hlbWFTQVhQbHVnKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxTY2hlbWFTQVhVbnBsdWcoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFNjaGVtYVNldFBhcnNlckVycm9ycygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU2NoZW1hU2V0UGFyc2VyU3RydWN0dXJlZEVycm9ycygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU2NoZW1hU2V0VmFsaWRFcnJvcnMoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFNjaGVtYVNldFZhbGlkT3B0aW9ucygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU2NoZW1hU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxTY2hlbWFWYWxpZEN0eHRHZXRPcHRpb25zKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxTY2hlbWFWYWxpZEN0eHRHZXRQYXJzZXJDdHh0KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxTY2hlbWFWYWxpZGF0ZURvYygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU2NoZW1hVmFsaWRhdGVGaWxlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxTY2hlbWFWYWxpZGF0ZU9uZUVsZW1lbnQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFNjaGVtYVZhbGlkYXRlU2V0RmlsZW5hbWUoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFNjaGVtYVZhbGlkYXRlU2V0TG9jYXRvcigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU2NoZW1hVmFsaWRhdGVTdHJlYW0oKTsKKworICAgIGlmICh0ZXN0X3JldCAhPSAwKQorCXByaW50ZigiTW9kdWxlIHhtbHNjaGVtYXM6ICVkIGVycm9yc1xuIiwgdGVzdF9yZXQpOworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisjaWZkZWYgTElCWE1MX1NDSEVNQVNfRU5BQkxFRAorCisjZGVmaW5lIGdlbl9uYl94bWxTY2hlbWFGYWNldFB0ciAxCitzdGF0aWMgeG1sU2NoZW1hRmFjZXRQdHIgZ2VuX3htbFNjaGVtYUZhY2V0UHRyKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworICAgIHJldHVybihOVUxMKTsKK30KK3N0YXRpYyB2b2lkIGRlc194bWxTY2hlbWFGYWNldFB0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgeG1sU2NoZW1hRmFjZXRQdHIgdmFsIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7Cit9CisjZW5kaWYKKworI2lmZGVmIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQKKworI2RlZmluZSBnZW5fbmJfeG1sU2NoZW1hVHlwZVB0ciAxCitzdGF0aWMgeG1sU2NoZW1hVHlwZVB0ciBnZW5feG1sU2NoZW1hVHlwZVB0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICByZXR1cm4oTlVMTCk7Cit9CitzdGF0aWMgdm9pZCBkZXNfeG1sU2NoZW1hVHlwZVB0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgeG1sU2NoZW1hVHlwZVB0ciB2YWwgQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKK30KKyNlbmRpZgorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sU2NoZW1hQ2hlY2tGYWNldCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sU2NoZW1hRmFjZXRQdHIgZmFjZXQ7IC8qIHRoZSBmYWNldCAqLworICAgIGludCBuX2ZhY2V0OworICAgIHhtbFNjaGVtYVR5cGVQdHIgdHlwZURlY2w7IC8qIHRoZSBzY2hlbWEgdHlwZSBkZWZpbml0aW9uICovCisgICAgaW50IG5fdHlwZURlY2w7CisgICAgeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBwY3R4dDsgLyogdGhlIHNjaGVtYSBwYXJzZXIgY29udGV4dCBvciBOVUxMICovCisgICAgaW50IG5fcGN0eHQ7CisgICAgeG1sQ2hhciAqIG5hbWU7IC8qIHRoZSBvcHRpb25hbCBuYW1lIG9mIHRoZSB0eXBlICovCisgICAgaW50IG5fbmFtZTsKKworICAgIGZvciAobl9mYWNldCA9IDA7bl9mYWNldCA8IGdlbl9uYl94bWxTY2hlbWFGYWNldFB0cjtuX2ZhY2V0KyspIHsKKyAgICBmb3IgKG5fdHlwZURlY2wgPSAwO25fdHlwZURlY2wgPCBnZW5fbmJfeG1sU2NoZW1hVHlwZVB0cjtuX3R5cGVEZWNsKyspIHsKKyAgICBmb3IgKG5fcGN0eHQgPSAwO25fcGN0eHQgPCBnZW5fbmJfeG1sU2NoZW1hUGFyc2VyQ3R4dFB0cjtuX3BjdHh0KyspIHsKKyAgICBmb3IgKG5fbmFtZSA9IDA7bl9uYW1lIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fbmFtZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGZhY2V0ID0gZ2VuX3htbFNjaGVtYUZhY2V0UHRyKG5fZmFjZXQsIDApOworICAgICAgICB0eXBlRGVjbCA9IGdlbl94bWxTY2hlbWFUeXBlUHRyKG5fdHlwZURlY2wsIDEpOworICAgICAgICBwY3R4dCA9IGdlbl94bWxTY2hlbWFQYXJzZXJDdHh0UHRyKG5fcGN0eHQsIDIpOworICAgICAgICBuYW1lID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgMyk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFNjaGVtYUNoZWNrRmFjZXQoZmFjZXQsIHR5cGVEZWNsLCBwY3R4dCwgKGNvbnN0IHhtbENoYXIgKiluYW1lKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sU2NoZW1hRmFjZXRQdHIobl9mYWNldCwgZmFjZXQsIDApOworICAgICAgICBkZXNfeG1sU2NoZW1hVHlwZVB0cihuX3R5cGVEZWNsLCB0eXBlRGVjbCwgMSk7CisgICAgICAgIGRlc194bWxTY2hlbWFQYXJzZXJDdHh0UHRyKG5fcGN0eHQsIHBjdHh0LCAyKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgKGNvbnN0IHhtbENoYXIgKiluYW1lLCAzKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFNjaGVtYUNoZWNrRmFjZXQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZmFjZXQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3R5cGVEZWNsKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9wY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFtZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFNjaGVtYUNsZWFudXBUeXBlcyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKworCisgICAgICAgIHhtbFNjaGVtYUNsZWFudXBUeXBlcygpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFNjaGVtYUNvbGxhcHNlU3RyaW5nKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxDaGFyICogcmV0X3ZhbDsKKyAgICB4bWxDaGFyICogdmFsdWU7IC8qIGEgdmFsdWUgKi8KKyAgICBpbnQgbl92YWx1ZTsKKworICAgIGZvciAobl92YWx1ZSA9IDA7bl92YWx1ZSA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX3ZhbHVlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgdmFsdWUgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl92YWx1ZSwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFNjaGVtYUNvbGxhcHNlU3RyaW5nKChjb25zdCB4bWxDaGFyICopdmFsdWUpOworICAgICAgICBkZXNyZXRfeG1sQ2hhcl9wdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fdmFsdWUsIChjb25zdCB4bWxDaGFyICopdmFsdWUsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sU2NoZW1hQ29sbGFwc2VTdHJpbmciLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdmFsdWUpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKyNpZmRlZiBMSUJYTUxfU0NIRU1BU19FTkFCTEVECisKKyNkZWZpbmUgZ2VuX25iX3htbFNjaGVtYVZhbFB0ciAxCitzdGF0aWMgeG1sU2NoZW1hVmFsUHRyIGdlbl94bWxTY2hlbWFWYWxQdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgcmV0dXJuKE5VTEwpOworfQorc3RhdGljIHZvaWQgZGVzX3htbFNjaGVtYVZhbFB0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgeG1sU2NoZW1hVmFsUHRyIHZhbCBBVFRSSUJVVEVfVU5VU0VELCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworfQorI2VuZGlmCisKKworc3RhdGljIGludAordGVzdF94bWxTY2hlbWFDb21wYXJlVmFsdWVzKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxTY2hlbWFWYWxQdHIgeDsgLyogYSBmaXJzdCB2YWx1ZSAqLworICAgIGludCBuX3g7CisgICAgeG1sU2NoZW1hVmFsUHRyIHk7IC8qIGEgc2Vjb25kIHZhbHVlICovCisgICAgaW50IG5feTsKKworICAgIGZvciAobl94ID0gMDtuX3ggPCBnZW5fbmJfeG1sU2NoZW1hVmFsUHRyO25feCsrKSB7CisgICAgZm9yIChuX3kgPSAwO25feSA8IGdlbl9uYl94bWxTY2hlbWFWYWxQdHI7bl95KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgeCA9IGdlbl94bWxTY2hlbWFWYWxQdHIobl94LCAwKTsKKyAgICAgICAgeSA9IGdlbl94bWxTY2hlbWFWYWxQdHIobl95LCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sU2NoZW1hQ29tcGFyZVZhbHVlcyh4LCB5KTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sU2NoZW1hVmFsUHRyKG5feCwgeCwgMCk7CisgICAgICAgIGRlc194bWxTY2hlbWFWYWxQdHIobl95LCB5LCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFNjaGVtYUNvbXBhcmVWYWx1ZXMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5feCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5feSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxTY2hlbWFDb21wYXJlVmFsdWVzV2h0c3Aodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbFNjaGVtYVZhbFB0ciB4OyAvKiBhIGZpcnN0IHZhbHVlICovCisgICAgaW50IG5feDsKKyAgICB4bWxTY2hlbWFXaGl0ZXNwYWNlVmFsdWVUeXBlIHh3czsgLyogdGhlIHdoaXRlc3BhY2UgdmFsdWUgb2YgeCAqLworICAgIGludCBuX3h3czsKKyAgICB4bWxTY2hlbWFWYWxQdHIgeTsgLyogYSBzZWNvbmQgdmFsdWUgKi8KKyAgICBpbnQgbl95OworICAgIHhtbFNjaGVtYVdoaXRlc3BhY2VWYWx1ZVR5cGUgeXdzOyAvKiB0aGUgd2hpdGVzcGFjZSB2YWx1ZSBvZiB5ICovCisgICAgaW50IG5feXdzOworCisgICAgZm9yIChuX3ggPSAwO25feCA8IGdlbl9uYl94bWxTY2hlbWFWYWxQdHI7bl94KyspIHsKKyAgICBmb3IgKG5feHdzID0gMDtuX3h3cyA8IGdlbl9uYl94bWxTY2hlbWFXaGl0ZXNwYWNlVmFsdWVUeXBlO25feHdzKyspIHsKKyAgICBmb3IgKG5feSA9IDA7bl95IDwgZ2VuX25iX3htbFNjaGVtYVZhbFB0cjtuX3krKykgeworICAgIGZvciAobl95d3MgPSAwO25feXdzIDwgZ2VuX25iX3htbFNjaGVtYVdoaXRlc3BhY2VWYWx1ZVR5cGU7bl95d3MrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICB4ID0gZ2VuX3htbFNjaGVtYVZhbFB0cihuX3gsIDApOworICAgICAgICB4d3MgPSBnZW5feG1sU2NoZW1hV2hpdGVzcGFjZVZhbHVlVHlwZShuX3h3cywgMSk7CisgICAgICAgIHkgPSBnZW5feG1sU2NoZW1hVmFsUHRyKG5feSwgMik7CisgICAgICAgIHl3cyA9IGdlbl94bWxTY2hlbWFXaGl0ZXNwYWNlVmFsdWVUeXBlKG5feXdzLCAzKTsKKworICAgICAgICByZXRfdmFsID0geG1sU2NoZW1hQ29tcGFyZVZhbHVlc1dodHNwKHgsIHh3cywgeSwgeXdzKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sU2NoZW1hVmFsUHRyKG5feCwgeCwgMCk7CisgICAgICAgIGRlc194bWxTY2hlbWFXaGl0ZXNwYWNlVmFsdWVUeXBlKG5feHdzLCB4d3MsIDEpOworICAgICAgICBkZXNfeG1sU2NoZW1hVmFsUHRyKG5feSwgeSwgMik7CisgICAgICAgIGRlc194bWxTY2hlbWFXaGl0ZXNwYWNlVmFsdWVUeXBlKG5feXdzLCB5d3MsIDMpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sU2NoZW1hQ29tcGFyZVZhbHVlc1dodHNwIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3gpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3h3cyk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5feSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5feXdzKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sU2NoZW1hQ29weVZhbHVlKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisKKyAgICAvKiBtaXNzaW5nIHR5cGUgc3VwcG9ydCAqLworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxTY2hlbWFHZXRCdWlsdEluTGlzdFNpbXBsZVR5cGVJdGVtVHlwZSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sU2NoZW1hVHlwZVB0ciByZXRfdmFsOworICAgIHhtbFNjaGVtYVR5cGVQdHIgdHlwZTsgLyogdGhlIGJ1aWx0LWluIHNpbXBsZSB0eXBlLiAqLworICAgIGludCBuX3R5cGU7CisKKyAgICBmb3IgKG5fdHlwZSA9IDA7bl90eXBlIDwgZ2VuX25iX3htbFNjaGVtYVR5cGVQdHI7bl90eXBlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgdHlwZSA9IGdlbl94bWxTY2hlbWFUeXBlUHRyKG5fdHlwZSwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFNjaGVtYUdldEJ1aWx0SW5MaXN0U2ltcGxlVHlwZUl0ZW1UeXBlKHR5cGUpOworICAgICAgICBkZXNyZXRfeG1sU2NoZW1hVHlwZVB0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sU2NoZW1hVHlwZVB0cihuX3R5cGUsIHR5cGUsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sU2NoZW1hR2V0QnVpbHRJbkxpc3RTaW1wbGVUeXBlSXRlbVR5cGUiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdHlwZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFNjaGVtYUdldEJ1aWx0SW5UeXBlKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQorICAgIHhtbFNjaGVtYVR5cGVQdHIgcmV0X3ZhbDsKKyAgICB4bWxTY2hlbWFWYWxUeXBlIHR5cGU7IC8qIHRoZSB0eXBlIG9mIHRoZSBidWlsdCBpbiB0eXBlICovCisgICAgaW50IG5fdHlwZTsKKworICAgIGZvciAobl90eXBlID0gMDtuX3R5cGUgPCBnZW5fbmJfeG1sU2NoZW1hVmFsVHlwZTtuX3R5cGUrKykgeworICAgICAgICB0eXBlID0gZ2VuX3htbFNjaGVtYVZhbFR5cGUobl90eXBlLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sU2NoZW1hR2V0QnVpbHRJblR5cGUodHlwZSk7CisgICAgICAgIGRlc3JldF94bWxTY2hlbWFUeXBlUHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxTY2hlbWFWYWxUeXBlKG5fdHlwZSwgdHlwZSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxTY2hlbWFHZXRDYW5vblZhbHVlKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxTY2hlbWFWYWxQdHIgdmFsOyAvKiB0aGUgcHJlY29tcHV0ZWQgdmFsdWUgKi8KKyAgICBpbnQgbl92YWw7CisgICAgeG1sQ2hhciAqKiByZXRWYWx1ZTsgLyogdGhlIHJldHVybmVkIHZhbHVlICovCisgICAgaW50IG5fcmV0VmFsdWU7CisKKyAgICBmb3IgKG5fdmFsID0gMDtuX3ZhbCA8IGdlbl9uYl94bWxTY2hlbWFWYWxQdHI7bl92YWwrKykgeworICAgIGZvciAobl9yZXRWYWx1ZSA9IDA7bl9yZXRWYWx1ZSA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cl9wdHI7bl9yZXRWYWx1ZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHZhbCA9IGdlbl94bWxTY2hlbWFWYWxQdHIobl92YWwsIDApOworICAgICAgICByZXRWYWx1ZSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cl9wdHIobl9yZXRWYWx1ZSwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFNjaGVtYUdldENhbm9uVmFsdWUodmFsLCAoY29uc3QgeG1sQ2hhciAqKilyZXRWYWx1ZSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFNjaGVtYVZhbFB0cihuX3ZhbCwgdmFsLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyX3B0cihuX3JldFZhbHVlLCAoY29uc3QgeG1sQ2hhciAqKilyZXRWYWx1ZSwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxTY2hlbWFHZXRDYW5vblZhbHVlIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3ZhbCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fcmV0VmFsdWUpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sU2NoZW1hR2V0Q2Fub25WYWx1ZVdodHNwKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxTY2hlbWFWYWxQdHIgdmFsOyAvKiB0aGUgcHJlY29tcHV0ZWQgdmFsdWUgKi8KKyAgICBpbnQgbl92YWw7CisgICAgeG1sQ2hhciAqKiByZXRWYWx1ZTsgLyogdGhlIHJldHVybmVkIHZhbHVlICovCisgICAgaW50IG5fcmV0VmFsdWU7CisgICAgeG1sU2NoZW1hV2hpdGVzcGFjZVZhbHVlVHlwZSB3czsgLyogdGhlIHdoaXRlc3BhY2UgdHlwZSBvZiB0aGUgdmFsdWUgKi8KKyAgICBpbnQgbl93czsKKworICAgIGZvciAobl92YWwgPSAwO25fdmFsIDwgZ2VuX25iX3htbFNjaGVtYVZhbFB0cjtuX3ZhbCsrKSB7CisgICAgZm9yIChuX3JldFZhbHVlID0gMDtuX3JldFZhbHVlIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyX3B0cjtuX3JldFZhbHVlKyspIHsKKyAgICBmb3IgKG5fd3MgPSAwO25fd3MgPCBnZW5fbmJfeG1sU2NoZW1hV2hpdGVzcGFjZVZhbHVlVHlwZTtuX3dzKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgdmFsID0gZ2VuX3htbFNjaGVtYVZhbFB0cihuX3ZhbCwgMCk7CisgICAgICAgIHJldFZhbHVlID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyX3B0cihuX3JldFZhbHVlLCAxKTsKKyAgICAgICAgd3MgPSBnZW5feG1sU2NoZW1hV2hpdGVzcGFjZVZhbHVlVHlwZShuX3dzLCAyKTsKKworICAgICAgICByZXRfdmFsID0geG1sU2NoZW1hR2V0Q2Fub25WYWx1ZVdodHNwKHZhbCwgKGNvbnN0IHhtbENoYXIgKiopcmV0VmFsdWUsIHdzKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sU2NoZW1hVmFsUHRyKG5fdmFsLCB2YWwsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHJfcHRyKG5fcmV0VmFsdWUsIChjb25zdCB4bWxDaGFyICoqKXJldFZhbHVlLCAxKTsKKyAgICAgICAgZGVzX3htbFNjaGVtYVdoaXRlc3BhY2VWYWx1ZVR5cGUobl93cywgd3MsIDIpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sU2NoZW1hR2V0Q2Fub25WYWx1ZVdodHNwIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3ZhbCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fcmV0VmFsdWUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3dzKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxTY2hlbWFHZXRGYWNldFZhbHVlQXNVTG9uZyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgdW5zaWduZWQgbG9uZyByZXRfdmFsOworICAgIHhtbFNjaGVtYUZhY2V0UHRyIGZhY2V0OyAvKiBhbiBzY2hlbWFzIHR5cGUgZmFjZXQgKi8KKyAgICBpbnQgbl9mYWNldDsKKworICAgIGZvciAobl9mYWNldCA9IDA7bl9mYWNldCA8IGdlbl9uYl94bWxTY2hlbWFGYWNldFB0cjtuX2ZhY2V0KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgZmFjZXQgPSBnZW5feG1sU2NoZW1hRmFjZXRQdHIobl9mYWNldCwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFNjaGVtYUdldEZhY2V0VmFsdWVBc1VMb25nKGZhY2V0KTsKKyAgICAgICAgZGVzcmV0X3Vuc2lnbmVkX2xvbmcocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFNjaGVtYUZhY2V0UHRyKG5fZmFjZXQsIGZhY2V0LCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFNjaGVtYUdldEZhY2V0VmFsdWVBc1VMb25nIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2ZhY2V0KTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sU2NoZW1hR2V0UHJlZGVmaW5lZFR5cGUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbFNjaGVtYVR5cGVQdHIgcmV0X3ZhbDsKKyAgICB4bWxDaGFyICogbmFtZTsgLyogdGhlIHR5cGUgbmFtZSAqLworICAgIGludCBuX25hbWU7CisgICAgeG1sQ2hhciAqIG5zOyAvKiB0aGUgVVJJIG9mIHRoZSBuYW1lc3BhY2UgdXN1YWxseSAiaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiICovCisgICAgaW50IG5fbnM7CisKKyAgICBmb3IgKG5fbmFtZSA9IDA7bl9uYW1lIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fbmFtZSsrKSB7CisgICAgZm9yIChuX25zID0gMDtuX25zIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fbnMrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBuYW1lID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgMCk7CisgICAgICAgIG5zID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fbnMsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxTY2hlbWFHZXRQcmVkZWZpbmVkVHlwZSgoY29uc3QgeG1sQ2hhciAqKW5hbWUsIChjb25zdCB4bWxDaGFyICopbnMpOworICAgICAgICBkZXNyZXRfeG1sU2NoZW1hVHlwZVB0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9ucywgKGNvbnN0IHhtbENoYXIgKilucywgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxTY2hlbWFHZXRQcmVkZWZpbmVkVHlwZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9uYW1lKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9ucyk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxTY2hlbWFHZXRWYWxUeXBlKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxTY2hlbWFWYWxUeXBlIHJldF92YWw7CisgICAgeG1sU2NoZW1hVmFsUHRyIHZhbDsgLyogYSBzY2hlbWFzIHZhbHVlICovCisgICAgaW50IG5fdmFsOworCisgICAgZm9yIChuX3ZhbCA9IDA7bl92YWwgPCBnZW5fbmJfeG1sU2NoZW1hVmFsUHRyO25fdmFsKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgdmFsID0gZ2VuX3htbFNjaGVtYVZhbFB0cihuX3ZhbCwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFNjaGVtYUdldFZhbFR5cGUodmFsKTsKKyAgICAgICAgZGVzcmV0X3htbFNjaGVtYVZhbFR5cGUocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFNjaGVtYVZhbFB0cihuX3ZhbCwgdmFsLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFNjaGVtYUdldFZhbFR5cGUiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdmFsKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sU2NoZW1hSW5pdFR5cGVzKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQorCisKKyAgICAgICAgeG1sU2NoZW1hSW5pdFR5cGVzKCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sU2NoZW1hSXNCdWlsdEluVHlwZUZhY2V0KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxTY2hlbWFUeXBlUHRyIHR5cGU7IC8qIHRoZSBidWlsdC1pbiB0eXBlICovCisgICAgaW50IG5fdHlwZTsKKyAgICBpbnQgZmFjZXRUeXBlOyAvKiB0aGUgZmFjZXQgdHlwZSAqLworICAgIGludCBuX2ZhY2V0VHlwZTsKKworICAgIGZvciAobl90eXBlID0gMDtuX3R5cGUgPCBnZW5fbmJfeG1sU2NoZW1hVHlwZVB0cjtuX3R5cGUrKykgeworICAgIGZvciAobl9mYWNldFR5cGUgPSAwO25fZmFjZXRUeXBlIDwgZ2VuX25iX2ludDtuX2ZhY2V0VHlwZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHR5cGUgPSBnZW5feG1sU2NoZW1hVHlwZVB0cihuX3R5cGUsIDApOworICAgICAgICBmYWNldFR5cGUgPSBnZW5faW50KG5fZmFjZXRUeXBlLCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sU2NoZW1hSXNCdWlsdEluVHlwZUZhY2V0KHR5cGUsIGZhY2V0VHlwZSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFNjaGVtYVR5cGVQdHIobl90eXBlLCB0eXBlLCAwKTsKKyAgICAgICAgZGVzX2ludChuX2ZhY2V0VHlwZSwgZmFjZXRUeXBlLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFNjaGVtYUlzQnVpbHRJblR5cGVGYWNldCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl90eXBlKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9mYWNldFR5cGUpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sU2NoZW1hTmV3RmFjZXQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworICAgIC8qIG1pc3NpbmcgdHlwZSBzdXBwb3J0ICovCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFNjaGVtYU5ld05PVEFUSU9OVmFsdWUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworICAgIC8qIG1pc3NpbmcgdHlwZSBzdXBwb3J0ICovCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFNjaGVtYU5ld1FOYW1lVmFsdWUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworICAgIC8qIG1pc3NpbmcgdHlwZSBzdXBwb3J0ICovCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFNjaGVtYU5ld1N0cmluZ1ZhbHVlKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisKKyAgICAvKiBtaXNzaW5nIHR5cGUgc3VwcG9ydCAqLworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKyNpZmRlZiBMSUJYTUxfU0NIRU1BU19FTkFCTEVECisKKyNkZWZpbmUgZ2VuX25iX3htbFNjaGVtYVZhbFB0cl9wdHIgMQorc3RhdGljIHhtbFNjaGVtYVZhbFB0ciAqIGdlbl94bWxTY2hlbWFWYWxQdHJfcHRyKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworICAgIHJldHVybihOVUxMKTsKK30KK3N0YXRpYyB2b2lkIGRlc194bWxTY2hlbWFWYWxQdHJfcHRyKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCB4bWxTY2hlbWFWYWxQdHIgKiB2YWwgQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKK30KKyNlbmRpZgorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sU2NoZW1hVmFsUHJlZGVmVHlwZU5vZGUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbFNjaGVtYVR5cGVQdHIgdHlwZTsgLyogdGhlIHByZWRlZmluZWQgdHlwZSAqLworICAgIGludCBuX3R5cGU7CisgICAgeG1sQ2hhciAqIHZhbHVlOyAvKiB0aGUgdmFsdWUgdG8gY2hlY2sgKi8KKyAgICBpbnQgbl92YWx1ZTsKKyAgICB4bWxTY2hlbWFWYWxQdHIgKiB2YWw7IC8qIHRoZSByZXR1cm4gY29tcHV0ZWQgdmFsdWUgKi8KKyAgICBpbnQgbl92YWw7CisgICAgeG1sTm9kZVB0ciBub2RlOyAvKiB0aGUgbm9kZSBjb250YWluaW5nIHRoZSB2YWx1ZSAqLworICAgIGludCBuX25vZGU7CisKKyAgICBmb3IgKG5fdHlwZSA9IDA7bl90eXBlIDwgZ2VuX25iX3htbFNjaGVtYVR5cGVQdHI7bl90eXBlKyspIHsKKyAgICBmb3IgKG5fdmFsdWUgPSAwO25fdmFsdWUgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl92YWx1ZSsrKSB7CisgICAgZm9yIChuX3ZhbCA9IDA7bl92YWwgPCBnZW5fbmJfeG1sU2NoZW1hVmFsUHRyX3B0cjtuX3ZhbCsrKSB7CisgICAgZm9yIChuX25vZGUgPSAwO25fbm9kZSA8IGdlbl9uYl94bWxOb2RlUHRyO25fbm9kZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHR5cGUgPSBnZW5feG1sU2NoZW1hVHlwZVB0cihuX3R5cGUsIDApOworICAgICAgICB2YWx1ZSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX3ZhbHVlLCAxKTsKKyAgICAgICAgdmFsID0gZ2VuX3htbFNjaGVtYVZhbFB0cl9wdHIobl92YWwsIDIpOworICAgICAgICBub2RlID0gZ2VuX3htbE5vZGVQdHIobl9ub2RlLCAzKTsKKworICAgICAgICByZXRfdmFsID0geG1sU2NoZW1hVmFsUHJlZGVmVHlwZU5vZGUodHlwZSwgKGNvbnN0IHhtbENoYXIgKil2YWx1ZSwgdmFsLCBub2RlKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sU2NoZW1hVHlwZVB0cihuX3R5cGUsIHR5cGUsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl92YWx1ZSwgKGNvbnN0IHhtbENoYXIgKil2YWx1ZSwgMSk7CisgICAgICAgIGRlc194bWxTY2hlbWFWYWxQdHJfcHRyKG5fdmFsLCB2YWwsIDIpOworICAgICAgICBkZXNfeG1sTm9kZVB0cihuX25vZGUsIG5vZGUsIDMpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sU2NoZW1hVmFsUHJlZGVmVHlwZU5vZGUiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdHlwZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdmFsdWUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3ZhbCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbm9kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFNjaGVtYVZhbFByZWRlZlR5cGVOb2RlTm9Ob3JtKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxTY2hlbWFUeXBlUHRyIHR5cGU7IC8qIHRoZSBwcmVkZWZpbmVkIHR5cGUgKi8KKyAgICBpbnQgbl90eXBlOworICAgIHhtbENoYXIgKiB2YWx1ZTsgLyogdGhlIHZhbHVlIHRvIGNoZWNrICovCisgICAgaW50IG5fdmFsdWU7CisgICAgeG1sU2NoZW1hVmFsUHRyICogdmFsOyAvKiB0aGUgcmV0dXJuIGNvbXB1dGVkIHZhbHVlICovCisgICAgaW50IG5fdmFsOworICAgIHhtbE5vZGVQdHIgbm9kZTsgLyogdGhlIG5vZGUgY29udGFpbmluZyB0aGUgdmFsdWUgKi8KKyAgICBpbnQgbl9ub2RlOworCisgICAgZm9yIChuX3R5cGUgPSAwO25fdHlwZSA8IGdlbl9uYl94bWxTY2hlbWFUeXBlUHRyO25fdHlwZSsrKSB7CisgICAgZm9yIChuX3ZhbHVlID0gMDtuX3ZhbHVlIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fdmFsdWUrKykgeworICAgIGZvciAobl92YWwgPSAwO25fdmFsIDwgZ2VuX25iX3htbFNjaGVtYVZhbFB0cl9wdHI7bl92YWwrKykgeworICAgIGZvciAobl9ub2RlID0gMDtuX25vZGUgPCBnZW5fbmJfeG1sTm9kZVB0cjtuX25vZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICB0eXBlID0gZ2VuX3htbFNjaGVtYVR5cGVQdHIobl90eXBlLCAwKTsKKyAgICAgICAgdmFsdWUgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl92YWx1ZSwgMSk7CisgICAgICAgIHZhbCA9IGdlbl94bWxTY2hlbWFWYWxQdHJfcHRyKG5fdmFsLCAyKTsKKyAgICAgICAgbm9kZSA9IGdlbl94bWxOb2RlUHRyKG5fbm9kZSwgMyk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFNjaGVtYVZhbFByZWRlZlR5cGVOb2RlTm9Ob3JtKHR5cGUsIChjb25zdCB4bWxDaGFyICopdmFsdWUsIHZhbCwgbm9kZSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFNjaGVtYVR5cGVQdHIobl90eXBlLCB0eXBlLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fdmFsdWUsIChjb25zdCB4bWxDaGFyICopdmFsdWUsIDEpOworICAgICAgICBkZXNfeG1sU2NoZW1hVmFsUHRyX3B0cihuX3ZhbCwgdmFsLCAyKTsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl9ub2RlLCBub2RlLCAzKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFNjaGVtYVZhbFByZWRlZlR5cGVOb2RlTm9Ob3JtIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3R5cGUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3ZhbHVlKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl92YWwpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25vZGUpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxTY2hlbWFWYWxpZGF0ZUZhY2V0KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxTY2hlbWFUeXBlUHRyIGJhc2U7IC8qIHRoZSBiYXNlIHR5cGUgKi8KKyAgICBpbnQgbl9iYXNlOworICAgIHhtbFNjaGVtYUZhY2V0UHRyIGZhY2V0OyAvKiB0aGUgZmFjZXQgdG8gY2hlY2sgKi8KKyAgICBpbnQgbl9mYWNldDsKKyAgICB4bWxDaGFyICogdmFsdWU7IC8qIHRoZSBsZXhpY2FsIHJlcHIgb2YgdGhlIHZhbHVlIHRvIHZhbGlkYXRlICovCisgICAgaW50IG5fdmFsdWU7CisgICAgeG1sU2NoZW1hVmFsUHRyIHZhbDsgLyogdGhlIHByZWNvbXB1dGVkIHZhbHVlICovCisgICAgaW50IG5fdmFsOworCisgICAgZm9yIChuX2Jhc2UgPSAwO25fYmFzZSA8IGdlbl9uYl94bWxTY2hlbWFUeXBlUHRyO25fYmFzZSsrKSB7CisgICAgZm9yIChuX2ZhY2V0ID0gMDtuX2ZhY2V0IDwgZ2VuX25iX3htbFNjaGVtYUZhY2V0UHRyO25fZmFjZXQrKykgeworICAgIGZvciAobl92YWx1ZSA9IDA7bl92YWx1ZSA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX3ZhbHVlKyspIHsKKyAgICBmb3IgKG5fdmFsID0gMDtuX3ZhbCA8IGdlbl9uYl94bWxTY2hlbWFWYWxQdHI7bl92YWwrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBiYXNlID0gZ2VuX3htbFNjaGVtYVR5cGVQdHIobl9iYXNlLCAwKTsKKyAgICAgICAgZmFjZXQgPSBnZW5feG1sU2NoZW1hRmFjZXRQdHIobl9mYWNldCwgMSk7CisgICAgICAgIHZhbHVlID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fdmFsdWUsIDIpOworICAgICAgICB2YWwgPSBnZW5feG1sU2NoZW1hVmFsUHRyKG5fdmFsLCAzKTsKKworICAgICAgICByZXRfdmFsID0geG1sU2NoZW1hVmFsaWRhdGVGYWNldChiYXNlLCBmYWNldCwgKGNvbnN0IHhtbENoYXIgKil2YWx1ZSwgdmFsKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sU2NoZW1hVHlwZVB0cihuX2Jhc2UsIGJhc2UsIDApOworICAgICAgICBkZXNfeG1sU2NoZW1hRmFjZXRQdHIobl9mYWNldCwgZmFjZXQsIDEpOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl92YWx1ZSwgKGNvbnN0IHhtbENoYXIgKil2YWx1ZSwgMik7CisgICAgICAgIGRlc194bWxTY2hlbWFWYWxQdHIobl92YWwsIHZhbCwgMyk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2Jhc2UpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2ZhY2V0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl92YWx1ZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdmFsKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sU2NoZW1hVmFsaWRhdGVGYWNldFdodHNwKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxTY2hlbWFGYWNldFB0ciBmYWNldDsgLyogdGhlIGZhY2V0IHRvIGNoZWNrICovCisgICAgaW50IG5fZmFjZXQ7CisgICAgeG1sU2NoZW1hV2hpdGVzcGFjZVZhbHVlVHlwZSBmd3M7IC8qIHRoZSB3aGl0ZXNwYWNlIHR5cGUgb2YgdGhlIGZhY2V0J3MgdmFsdWUgKi8KKyAgICBpbnQgbl9md3M7CisgICAgeG1sU2NoZW1hVmFsVHlwZSB2YWxUeXBlOyAvKiB0aGUgYnVpbHQtaW4gdHlwZSBvZiB0aGUgdmFsdWUgKi8KKyAgICBpbnQgbl92YWxUeXBlOworICAgIHhtbENoYXIgKiB2YWx1ZTsgLyogdGhlIGxleGljYWwgKG9yIG5vcm1hbGl6ZWQgZm9yIHBhdHRlcm4pIHJlcHIgb2YgdGhlIHZhbHVlIHRvIHZhbGlkYXRlICovCisgICAgaW50IG5fdmFsdWU7CisgICAgeG1sU2NoZW1hVmFsUHRyIHZhbDsgLyogdGhlIHByZWNvbXB1dGVkIHZhbHVlICovCisgICAgaW50IG5fdmFsOworICAgIHhtbFNjaGVtYVdoaXRlc3BhY2VWYWx1ZVR5cGUgd3M7IC8qIHRoZSB3aGl0ZXNwYWNlIHR5cGUgb2YgdGhlIHZhbHVlICovCisgICAgaW50IG5fd3M7CisKKyAgICBmb3IgKG5fZmFjZXQgPSAwO25fZmFjZXQgPCBnZW5fbmJfeG1sU2NoZW1hRmFjZXRQdHI7bl9mYWNldCsrKSB7CisgICAgZm9yIChuX2Z3cyA9IDA7bl9md3MgPCBnZW5fbmJfeG1sU2NoZW1hV2hpdGVzcGFjZVZhbHVlVHlwZTtuX2Z3cysrKSB7CisgICAgZm9yIChuX3ZhbFR5cGUgPSAwO25fdmFsVHlwZSA8IGdlbl9uYl94bWxTY2hlbWFWYWxUeXBlO25fdmFsVHlwZSsrKSB7CisgICAgZm9yIChuX3ZhbHVlID0gMDtuX3ZhbHVlIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fdmFsdWUrKykgeworICAgIGZvciAobl92YWwgPSAwO25fdmFsIDwgZ2VuX25iX3htbFNjaGVtYVZhbFB0cjtuX3ZhbCsrKSB7CisgICAgZm9yIChuX3dzID0gMDtuX3dzIDwgZ2VuX25iX3htbFNjaGVtYVdoaXRlc3BhY2VWYWx1ZVR5cGU7bl93cysrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGZhY2V0ID0gZ2VuX3htbFNjaGVtYUZhY2V0UHRyKG5fZmFjZXQsIDApOworICAgICAgICBmd3MgPSBnZW5feG1sU2NoZW1hV2hpdGVzcGFjZVZhbHVlVHlwZShuX2Z3cywgMSk7CisgICAgICAgIHZhbFR5cGUgPSBnZW5feG1sU2NoZW1hVmFsVHlwZShuX3ZhbFR5cGUsIDIpOworICAgICAgICB2YWx1ZSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX3ZhbHVlLCAzKTsKKyAgICAgICAgdmFsID0gZ2VuX3htbFNjaGVtYVZhbFB0cihuX3ZhbCwgNCk7CisgICAgICAgIHdzID0gZ2VuX3htbFNjaGVtYVdoaXRlc3BhY2VWYWx1ZVR5cGUobl93cywgNSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFNjaGVtYVZhbGlkYXRlRmFjZXRXaHRzcChmYWNldCwgZndzLCB2YWxUeXBlLCAoY29uc3QgeG1sQ2hhciAqKXZhbHVlLCB2YWwsIHdzKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sU2NoZW1hRmFjZXRQdHIobl9mYWNldCwgZmFjZXQsIDApOworICAgICAgICBkZXNfeG1sU2NoZW1hV2hpdGVzcGFjZVZhbHVlVHlwZShuX2Z3cywgZndzLCAxKTsKKyAgICAgICAgZGVzX3htbFNjaGVtYVZhbFR5cGUobl92YWxUeXBlLCB2YWxUeXBlLCAyKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fdmFsdWUsIChjb25zdCB4bWxDaGFyICopdmFsdWUsIDMpOworICAgICAgICBkZXNfeG1sU2NoZW1hVmFsUHRyKG5fdmFsLCB2YWwsIDQpOworICAgICAgICBkZXNfeG1sU2NoZW1hV2hpdGVzcGFjZVZhbHVlVHlwZShuX3dzLCB3cywgNSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0V2h0c3AiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZmFjZXQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2Z3cyk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdmFsVHlwZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdmFsdWUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3ZhbCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fd3MpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbFNjaGVtYVR5cGVQdHIgdHlwZTsgLyogdGhlIGJ1aWx0LWluIHR5cGUgKi8KKyAgICBpbnQgbl90eXBlOworICAgIHhtbFNjaGVtYUZhY2V0UHRyIGZhY2V0OyAvKiB0aGUgZmFjZXQgdG8gY2hlY2sgKi8KKyAgICBpbnQgbl9mYWNldDsKKyAgICB4bWxDaGFyICogdmFsdWU7IC8qIHRoZSBsZXhpY2FsIHJlcHIuIG9mIHRoZSB2YWx1ZSB0byBiZSB2YWxpZGF0ZWQgKi8KKyAgICBpbnQgbl92YWx1ZTsKKyAgICB4bWxTY2hlbWFWYWxQdHIgdmFsOyAvKiB0aGUgcHJlY29tcHV0ZWQgdmFsdWUgKi8KKyAgICBpbnQgbl92YWw7CisgICAgdW5zaWduZWQgbG9uZyAqIGxlbmd0aDsgLyogdGhlIGFjdHVhbCBsZW5ndGggb2YgdGhlIHZhbHVlICovCisgICAgaW50IG5fbGVuZ3RoOworCisgICAgZm9yIChuX3R5cGUgPSAwO25fdHlwZSA8IGdlbl9uYl94bWxTY2hlbWFUeXBlUHRyO25fdHlwZSsrKSB7CisgICAgZm9yIChuX2ZhY2V0ID0gMDtuX2ZhY2V0IDwgZ2VuX25iX3htbFNjaGVtYUZhY2V0UHRyO25fZmFjZXQrKykgeworICAgIGZvciAobl92YWx1ZSA9IDA7bl92YWx1ZSA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX3ZhbHVlKyspIHsKKyAgICBmb3IgKG5fdmFsID0gMDtuX3ZhbCA8IGdlbl9uYl94bWxTY2hlbWFWYWxQdHI7bl92YWwrKykgeworICAgIGZvciAobl9sZW5ndGggPSAwO25fbGVuZ3RoIDwgZ2VuX25iX3Vuc2lnbmVkX2xvbmdfcHRyO25fbGVuZ3RoKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgdHlwZSA9IGdlbl94bWxTY2hlbWFUeXBlUHRyKG5fdHlwZSwgMCk7CisgICAgICAgIGZhY2V0ID0gZ2VuX3htbFNjaGVtYUZhY2V0UHRyKG5fZmFjZXQsIDEpOworICAgICAgICB2YWx1ZSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX3ZhbHVlLCAyKTsKKyAgICAgICAgdmFsID0gZ2VuX3htbFNjaGVtYVZhbFB0cihuX3ZhbCwgMyk7CisgICAgICAgIGxlbmd0aCA9IGdlbl91bnNpZ25lZF9sb25nX3B0cihuX2xlbmd0aCwgNCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXQodHlwZSwgZmFjZXQsIChjb25zdCB4bWxDaGFyICopdmFsdWUsIHZhbCwgbGVuZ3RoKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sU2NoZW1hVHlwZVB0cihuX3R5cGUsIHR5cGUsIDApOworICAgICAgICBkZXNfeG1sU2NoZW1hRmFjZXRQdHIobl9mYWNldCwgZmFjZXQsIDEpOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl92YWx1ZSwgKGNvbnN0IHhtbENoYXIgKil2YWx1ZSwgMik7CisgICAgICAgIGRlc194bWxTY2hlbWFWYWxQdHIobl92YWwsIHZhbCwgMyk7CisgICAgICAgIGRlc191bnNpZ25lZF9sb25nX3B0cihuX2xlbmd0aCwgbGVuZ3RoLCA0KTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdHlwZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZmFjZXQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3ZhbHVlKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl92YWwpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2xlbmd0aCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxTY2hlbWFWYWxpZGF0ZUxlbmd0aEZhY2V0V2h0c3Aodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbFNjaGVtYUZhY2V0UHRyIGZhY2V0OyAvKiB0aGUgZmFjZXQgdG8gY2hlY2sgKi8KKyAgICBpbnQgbl9mYWNldDsKKyAgICB4bWxTY2hlbWFWYWxUeXBlIHZhbFR5cGU7IC8qIHRoZSBidWlsdC1pbiB0eXBlICovCisgICAgaW50IG5fdmFsVHlwZTsKKyAgICB4bWxDaGFyICogdmFsdWU7IC8qIHRoZSBsZXhpY2FsIHJlcHIuIG9mIHRoZSB2YWx1ZSB0byBiZSB2YWxpZGF0ZWQgKi8KKyAgICBpbnQgbl92YWx1ZTsKKyAgICB4bWxTY2hlbWFWYWxQdHIgdmFsOyAvKiB0aGUgcHJlY29tcHV0ZWQgdmFsdWUgKi8KKyAgICBpbnQgbl92YWw7CisgICAgdW5zaWduZWQgbG9uZyAqIGxlbmd0aDsgLyogdGhlIGFjdHVhbCBsZW5ndGggb2YgdGhlIHZhbHVlICovCisgICAgaW50IG5fbGVuZ3RoOworICAgIHhtbFNjaGVtYVdoaXRlc3BhY2VWYWx1ZVR5cGUgd3M7IC8qIHRoZSB3aGl0ZXNwYWNlIHR5cGUgb2YgdGhlIHZhbHVlICovCisgICAgaW50IG5fd3M7CisKKyAgICBmb3IgKG5fZmFjZXQgPSAwO25fZmFjZXQgPCBnZW5fbmJfeG1sU2NoZW1hRmFjZXRQdHI7bl9mYWNldCsrKSB7CisgICAgZm9yIChuX3ZhbFR5cGUgPSAwO25fdmFsVHlwZSA8IGdlbl9uYl94bWxTY2hlbWFWYWxUeXBlO25fdmFsVHlwZSsrKSB7CisgICAgZm9yIChuX3ZhbHVlID0gMDtuX3ZhbHVlIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fdmFsdWUrKykgeworICAgIGZvciAobl92YWwgPSAwO25fdmFsIDwgZ2VuX25iX3htbFNjaGVtYVZhbFB0cjtuX3ZhbCsrKSB7CisgICAgZm9yIChuX2xlbmd0aCA9IDA7bl9sZW5ndGggPCBnZW5fbmJfdW5zaWduZWRfbG9uZ19wdHI7bl9sZW5ndGgrKykgeworICAgIGZvciAobl93cyA9IDA7bl93cyA8IGdlbl9uYl94bWxTY2hlbWFXaGl0ZXNwYWNlVmFsdWVUeXBlO25fd3MrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBmYWNldCA9IGdlbl94bWxTY2hlbWFGYWNldFB0cihuX2ZhY2V0LCAwKTsKKyAgICAgICAgdmFsVHlwZSA9IGdlbl94bWxTY2hlbWFWYWxUeXBlKG5fdmFsVHlwZSwgMSk7CisgICAgICAgIHZhbHVlID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fdmFsdWUsIDIpOworICAgICAgICB2YWwgPSBnZW5feG1sU2NoZW1hVmFsUHRyKG5fdmFsLCAzKTsKKyAgICAgICAgbGVuZ3RoID0gZ2VuX3Vuc2lnbmVkX2xvbmdfcHRyKG5fbGVuZ3RoLCA0KTsKKyAgICAgICAgd3MgPSBnZW5feG1sU2NoZW1hV2hpdGVzcGFjZVZhbHVlVHlwZShuX3dzLCA1KTsKKworICAgICAgICByZXRfdmFsID0geG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldFdodHNwKGZhY2V0LCB2YWxUeXBlLCAoY29uc3QgeG1sQ2hhciAqKXZhbHVlLCB2YWwsIGxlbmd0aCwgd3MpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxTY2hlbWFGYWNldFB0cihuX2ZhY2V0LCBmYWNldCwgMCk7CisgICAgICAgIGRlc194bWxTY2hlbWFWYWxUeXBlKG5fdmFsVHlwZSwgdmFsVHlwZSwgMSk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX3ZhbHVlLCAoY29uc3QgeG1sQ2hhciAqKXZhbHVlLCAyKTsKKyAgICAgICAgZGVzX3htbFNjaGVtYVZhbFB0cihuX3ZhbCwgdmFsLCAzKTsKKyAgICAgICAgZGVzX3Vuc2lnbmVkX2xvbmdfcHRyKG5fbGVuZ3RoLCBsZW5ndGgsIDQpOworICAgICAgICBkZXNfeG1sU2NoZW1hV2hpdGVzcGFjZVZhbHVlVHlwZShuX3dzLCB3cywgNSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxTY2hlbWFWYWxpZGF0ZUxlbmd0aEZhY2V0V2h0c3AiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZmFjZXQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3ZhbFR5cGUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3ZhbHVlKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl92YWwpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2xlbmd0aCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fd3MpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFNjaGVtYVZhbGlkYXRlTGlzdFNpbXBsZVR5cGVGYWNldCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sU2NoZW1hRmFjZXRQdHIgZmFjZXQ7IC8qIHRoZSBmYWNldCB0byBjaGVjayAqLworICAgIGludCBuX2ZhY2V0OworICAgIHhtbENoYXIgKiB2YWx1ZTsgLyogdGhlIGxleGljYWwgcmVwciBvZiB0aGUgdmFsdWUgdG8gdmFsaWRhdGUgKi8KKyAgICBpbnQgbl92YWx1ZTsKKyAgICB1bnNpZ25lZCBsb25nIGFjdHVhbExlbjsgLyogdGhlIG51bWJlciBvZiBsaXN0IGl0ZW1zICovCisgICAgaW50IG5fYWN0dWFsTGVuOworICAgIHVuc2lnbmVkIGxvbmcgKiBleHBlY3RlZExlbjsgLyogdGhlIHJlc3VsdGluZyBleHBlY3RlZCBudW1iZXIgb2YgbGlzdCBpdGVtcyAqLworICAgIGludCBuX2V4cGVjdGVkTGVuOworCisgICAgZm9yIChuX2ZhY2V0ID0gMDtuX2ZhY2V0IDwgZ2VuX25iX3htbFNjaGVtYUZhY2V0UHRyO25fZmFjZXQrKykgeworICAgIGZvciAobl92YWx1ZSA9IDA7bl92YWx1ZSA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX3ZhbHVlKyspIHsKKyAgICBmb3IgKG5fYWN0dWFsTGVuID0gMDtuX2FjdHVhbExlbiA8IGdlbl9uYl91bnNpZ25lZF9sb25nO25fYWN0dWFsTGVuKyspIHsKKyAgICBmb3IgKG5fZXhwZWN0ZWRMZW4gPSAwO25fZXhwZWN0ZWRMZW4gPCBnZW5fbmJfdW5zaWduZWRfbG9uZ19wdHI7bl9leHBlY3RlZExlbisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGZhY2V0ID0gZ2VuX3htbFNjaGVtYUZhY2V0UHRyKG5fZmFjZXQsIDApOworICAgICAgICB2YWx1ZSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX3ZhbHVlLCAxKTsKKyAgICAgICAgYWN0dWFsTGVuID0gZ2VuX3Vuc2lnbmVkX2xvbmcobl9hY3R1YWxMZW4sIDIpOworICAgICAgICBleHBlY3RlZExlbiA9IGdlbl91bnNpZ25lZF9sb25nX3B0cihuX2V4cGVjdGVkTGVuLCAzKTsKKworICAgICAgICByZXRfdmFsID0geG1sU2NoZW1hVmFsaWRhdGVMaXN0U2ltcGxlVHlwZUZhY2V0KGZhY2V0LCAoY29uc3QgeG1sQ2hhciAqKXZhbHVlLCBhY3R1YWxMZW4sIGV4cGVjdGVkTGVuKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sU2NoZW1hRmFjZXRQdHIobl9mYWNldCwgZmFjZXQsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl92YWx1ZSwgKGNvbnN0IHhtbENoYXIgKil2YWx1ZSwgMSk7CisgICAgICAgIGRlc191bnNpZ25lZF9sb25nKG5fYWN0dWFsTGVuLCBhY3R1YWxMZW4sIDIpOworICAgICAgICBkZXNfdW5zaWduZWRfbG9uZ19wdHIobl9leHBlY3RlZExlbiwgZXhwZWN0ZWRMZW4sIDMpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sU2NoZW1hVmFsaWRhdGVMaXN0U2ltcGxlVHlwZUZhY2V0IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2ZhY2V0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl92YWx1ZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fYWN0dWFsTGVuKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9leHBlY3RlZExlbik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFNjaGVtYVZhbGlkYXRlUHJlZGVmaW5lZFR5cGUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbFNjaGVtYVR5cGVQdHIgdHlwZTsgLyogdGhlIHByZWRlZmluZWQgdHlwZSAqLworICAgIGludCBuX3R5cGU7CisgICAgeG1sQ2hhciAqIHZhbHVlOyAvKiB0aGUgdmFsdWUgdG8gY2hlY2sgKi8KKyAgICBpbnQgbl92YWx1ZTsKKyAgICB4bWxTY2hlbWFWYWxQdHIgKiB2YWw7IC8qIHRoZSByZXR1cm4gY29tcHV0ZWQgdmFsdWUgKi8KKyAgICBpbnQgbl92YWw7CisKKyAgICBmb3IgKG5fdHlwZSA9IDA7bl90eXBlIDwgZ2VuX25iX3htbFNjaGVtYVR5cGVQdHI7bl90eXBlKyspIHsKKyAgICBmb3IgKG5fdmFsdWUgPSAwO25fdmFsdWUgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl92YWx1ZSsrKSB7CisgICAgZm9yIChuX3ZhbCA9IDA7bl92YWwgPCBnZW5fbmJfeG1sU2NoZW1hVmFsUHRyX3B0cjtuX3ZhbCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHR5cGUgPSBnZW5feG1sU2NoZW1hVHlwZVB0cihuX3R5cGUsIDApOworICAgICAgICB2YWx1ZSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX3ZhbHVlLCAxKTsKKyAgICAgICAgdmFsID0gZ2VuX3htbFNjaGVtYVZhbFB0cl9wdHIobl92YWwsIDIpOworCisgICAgICAgIHJldF92YWwgPSB4bWxTY2hlbWFWYWxpZGF0ZVByZWRlZmluZWRUeXBlKHR5cGUsIChjb25zdCB4bWxDaGFyICopdmFsdWUsIHZhbCk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFNjaGVtYVR5cGVQdHIobl90eXBlLCB0eXBlLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fdmFsdWUsIChjb25zdCB4bWxDaGFyICopdmFsdWUsIDEpOworICAgICAgICBkZXNfeG1sU2NoZW1hVmFsUHRyX3B0cihuX3ZhbCwgdmFsLCAyKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFNjaGVtYVZhbGlkYXRlUHJlZGVmaW5lZFR5cGUiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdHlwZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdmFsdWUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3ZhbCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sU2NoZW1hVmFsdWVBcHBlbmQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbFNjaGVtYVZhbFB0ciBwcmV2OyAvKiB0aGUgdmFsdWUgKi8KKyAgICBpbnQgbl9wcmV2OworICAgIHhtbFNjaGVtYVZhbFB0ciBjdXI7IC8qIHRoZSB2YWx1ZSB0byBiZSBhcHBlbmRlZCAqLworICAgIGludCBuX2N1cjsKKworICAgIGZvciAobl9wcmV2ID0gMDtuX3ByZXYgPCBnZW5fbmJfeG1sU2NoZW1hVmFsUHRyO25fcHJldisrKSB7CisgICAgZm9yIChuX2N1ciA9IDA7bl9jdXIgPCBnZW5fbmJfeG1sU2NoZW1hVmFsUHRyO25fY3VyKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgcHJldiA9IGdlbl94bWxTY2hlbWFWYWxQdHIobl9wcmV2LCAwKTsKKyAgICAgICAgY3VyID0gZ2VuX3htbFNjaGVtYVZhbFB0cihuX2N1ciwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFNjaGVtYVZhbHVlQXBwZW5kKHByZXYsIGN1cik7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFNjaGVtYVZhbFB0cihuX3ByZXYsIHByZXYsIDApOworICAgICAgICBkZXNfeG1sU2NoZW1hVmFsUHRyKG5fY3VyLCBjdXIsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sU2NoZW1hVmFsdWVBcHBlbmQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fcHJldik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3VyKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFNjaGVtYVZhbHVlR2V0QXNCb29sZWFuKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxTY2hlbWFWYWxQdHIgdmFsOyAvKiB0aGUgdmFsdWUgKi8KKyAgICBpbnQgbl92YWw7CisKKyAgICBmb3IgKG5fdmFsID0gMDtuX3ZhbCA8IGdlbl9uYl94bWxTY2hlbWFWYWxQdHI7bl92YWwrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICB2YWwgPSBnZW5feG1sU2NoZW1hVmFsUHRyKG5fdmFsLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sU2NoZW1hVmFsdWVHZXRBc0Jvb2xlYW4odmFsKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sU2NoZW1hVmFsUHRyKG5fdmFsLCB2YWwsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sU2NoZW1hVmFsdWVHZXRBc0Jvb2xlYW4iLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdmFsKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sU2NoZW1hVmFsdWVHZXRBc1N0cmluZyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgY29uc3QgeG1sQ2hhciAqIHJldF92YWw7CisgICAgeG1sU2NoZW1hVmFsUHRyIHZhbDsgLyogdGhlIHZhbHVlICovCisgICAgaW50IG5fdmFsOworCisgICAgZm9yIChuX3ZhbCA9IDA7bl92YWwgPCBnZW5fbmJfeG1sU2NoZW1hVmFsUHRyO25fdmFsKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgdmFsID0gZ2VuX3htbFNjaGVtYVZhbFB0cihuX3ZhbCwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFNjaGVtYVZhbHVlR2V0QXNTdHJpbmcodmFsKTsKKyAgICAgICAgZGVzcmV0X2NvbnN0X3htbENoYXJfcHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxTY2hlbWFWYWxQdHIobl92YWwsIHZhbCwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxTY2hlbWFWYWx1ZUdldEFzU3RyaW5nIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3ZhbCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFNjaGVtYVZhbHVlR2V0TmV4dCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworCisgICAgLyogbWlzc2luZyB0eXBlIHN1cHBvcnQgKi8KKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sU2NoZW1hV2hpdGVTcGFjZVJlcGxhY2Uodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbENoYXIgKiByZXRfdmFsOworICAgIHhtbENoYXIgKiB2YWx1ZTsgLyogYSB2YWx1ZSAqLworICAgIGludCBuX3ZhbHVlOworCisgICAgZm9yIChuX3ZhbHVlID0gMDtuX3ZhbHVlIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fdmFsdWUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICB2YWx1ZSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX3ZhbHVlLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sU2NoZW1hV2hpdGVTcGFjZVJlcGxhY2UoKGNvbnN0IHhtbENoYXIgKil2YWx1ZSk7CisgICAgICAgIGRlc3JldF94bWxDaGFyX3B0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl92YWx1ZSwgKGNvbnN0IHhtbENoYXIgKil2YWx1ZSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxTY2hlbWFXaGl0ZVNwYWNlUmVwbGFjZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl92YWx1ZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworc3RhdGljIGludAordGVzdF94bWxzY2hlbWFzdHlwZXModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpZiAocXVpZXQgPT0gMCkgcHJpbnRmKCJUZXN0aW5nIHhtbHNjaGVtYXN0eXBlcyA6IDI2IG9mIDM0IGZ1bmN0aW9ucyAuLi5cbiIpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU2NoZW1hQ2hlY2tGYWNldCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU2NoZW1hQ2xlYW51cFR5cGVzKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxTY2hlbWFDb2xsYXBzZVN0cmluZygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU2NoZW1hQ29tcGFyZVZhbHVlcygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU2NoZW1hQ29tcGFyZVZhbHVlc1dodHNwKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxTY2hlbWFDb3B5VmFsdWUoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFNjaGVtYUdldEJ1aWx0SW5MaXN0U2ltcGxlVHlwZUl0ZW1UeXBlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxTY2hlbWFHZXRCdWlsdEluVHlwZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU2NoZW1hR2V0Q2Fub25WYWx1ZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU2NoZW1hR2V0Q2Fub25WYWx1ZVdodHNwKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxTY2hlbWFHZXRGYWNldFZhbHVlQXNVTG9uZygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU2NoZW1hR2V0UHJlZGVmaW5lZFR5cGUoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFNjaGVtYUdldFZhbFR5cGUoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFNjaGVtYUluaXRUeXBlcygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU2NoZW1hSXNCdWlsdEluVHlwZUZhY2V0KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxTY2hlbWFOZXdGYWNldCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU2NoZW1hTmV3Tk9UQVRJT05WYWx1ZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU2NoZW1hTmV3UU5hbWVWYWx1ZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU2NoZW1hTmV3U3RyaW5nVmFsdWUoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFNjaGVtYVZhbFByZWRlZlR5cGVOb2RlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxTY2hlbWFWYWxQcmVkZWZUeXBlTm9kZU5vTm9ybSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU2NoZW1hVmFsaWRhdGVGYWNldCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU2NoZW1hVmFsaWRhdGVGYWNldFdodHNwKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxTY2hlbWFWYWxpZGF0ZUxlbmd0aEZhY2V0KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxTY2hlbWFWYWxpZGF0ZUxlbmd0aEZhY2V0V2h0c3AoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFNjaGVtYVZhbGlkYXRlTGlzdFNpbXBsZVR5cGVGYWNldCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU2NoZW1hVmFsaWRhdGVQcmVkZWZpbmVkVHlwZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU2NoZW1hVmFsdWVBcHBlbmQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFNjaGVtYVZhbHVlR2V0QXNCb29sZWFuKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxTY2hlbWFWYWx1ZUdldEFzU3RyaW5nKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxTY2hlbWFWYWx1ZUdldE5leHQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFNjaGVtYVdoaXRlU3BhY2VSZXBsYWNlKCk7CisKKyAgICBpZiAodGVzdF9yZXQgIT0gMCkKKwlwcmludGYoIk1vZHVsZSB4bWxzY2hlbWFzdHlwZXM6ICVkIGVycm9yc1xuIiwgdGVzdF9yZXQpOworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sQ2hhclN0cmR1cCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxDaGFyICogcmV0X3ZhbDsKKyAgICBjaGFyICogY3VyOyAvKiB0aGUgaW5wdXQgY2hhciAqICovCisgICAgaW50IG5fY3VyOworCisgICAgZm9yIChuX2N1ciA9IDA7bl9jdXIgPCBnZW5fbmJfY29uc3RfY2hhcl9wdHI7bl9jdXIrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdXIgPSBnZW5fY29uc3RfY2hhcl9wdHIobl9jdXIsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxDaGFyU3RyZHVwKChjb25zdCBjaGFyICopY3VyKTsKKyAgICAgICAgZGVzcmV0X3htbENoYXJfcHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19jb25zdF9jaGFyX3B0cihuX2N1ciwgKGNvbnN0IGNoYXIgKiljdXIsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sQ2hhclN0cmR1cCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdXIpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sQ2hhclN0cm5kdXAodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sQ2hhciAqIHJldF92YWw7CisgICAgY2hhciAqIGN1cjsgLyogdGhlIGlucHV0IGNoYXIgKiAqLworICAgIGludCBuX2N1cjsKKyAgICBpbnQgbGVuOyAvKiB0aGUgbGVuIG9mIEBjdXIgKi8KKyAgICBpbnQgbl9sZW47CisKKyAgICBmb3IgKG5fY3VyID0gMDtuX2N1ciA8IGdlbl9uYl9jb25zdF9jaGFyX3B0cjtuX2N1cisrKSB7CisgICAgZm9yIChuX2xlbiA9IDA7bl9sZW4gPCBnZW5fbmJfaW50O25fbGVuKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3VyID0gZ2VuX2NvbnN0X2NoYXJfcHRyKG5fY3VyLCAwKTsKKyAgICAgICAgbGVuID0gZ2VuX2ludChuX2xlbiwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbENoYXJTdHJuZHVwKChjb25zdCBjaGFyICopY3VyLCBsZW4pOworICAgICAgICBkZXNyZXRfeG1sQ2hhcl9wdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2NvbnN0X2NoYXJfcHRyKG5fY3VyLCAoY29uc3QgY2hhciAqKWN1ciwgMCk7CisgICAgICAgIGRlc19pbnQobl9sZW4sIGxlbiwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxDaGFyU3RybmR1cCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdXIpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2xlbik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sQ2hlY2tVVEY4KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHVuc2lnbmVkIGNoYXIgKiB1dGY7IC8qIFBvaW50ZXIgdG8gcHV0YXRpdmUgVVRGLTggZW5jb2RlZCBzdHJpbmcuICovCisgICAgaW50IG5fdXRmOworCisgICAgZm9yIChuX3V0ZiA9IDA7bl91dGYgPCBnZW5fbmJfY29uc3RfdW5zaWduZWRfY2hhcl9wdHI7bl91dGYrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICB1dGYgPSBnZW5fY29uc3RfdW5zaWduZWRfY2hhcl9wdHIobl91dGYsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxDaGVja1VURjgoKGNvbnN0IHVuc2lnbmVkIGNoYXIgKil1dGYpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19jb25zdF91bnNpZ25lZF9jaGFyX3B0cihuX3V0ZiwgKGNvbnN0IHVuc2lnbmVkIGNoYXIgKil1dGYsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sQ2hlY2tVVEY4IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3V0Zik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxHZXRVVEY4Q2hhcih2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB1bnNpZ25lZCBjaGFyICogdXRmOyAvKiBhIHNlcXVlbmNlIG9mIFVURi04IGVuY29kZWQgYnl0ZXMgKi8KKyAgICBpbnQgbl91dGY7CisgICAgaW50ICogbGVuOyAvKiBhIHBvaW50ZXIgdG8gdGhlIG1pbmltdW0gbnVtYmVyIG9mIGJ5dGVzIHByZXNlbnQgaW4gdGhlIHNlcXVlbmNlLiAgVGhpcyBpcyB1c2VkIHRvIGFzc3VyZSB0aGUgbmV4dCBjaGFyYWN0ZXIgaXMgY29tcGxldGVseSBjb250YWluZWQgd2l0aGluIHRoZSBzZXF1ZW5jZS4gKi8KKyAgICBpbnQgbl9sZW47CisKKyAgICBmb3IgKG5fdXRmID0gMDtuX3V0ZiA8IGdlbl9uYl9jb25zdF91bnNpZ25lZF9jaGFyX3B0cjtuX3V0ZisrKSB7CisgICAgZm9yIChuX2xlbiA9IDA7bl9sZW4gPCBnZW5fbmJfaW50X3B0cjtuX2xlbisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHV0ZiA9IGdlbl9jb25zdF91bnNpZ25lZF9jaGFyX3B0cihuX3V0ZiwgMCk7CisgICAgICAgIGxlbiA9IGdlbl9pbnRfcHRyKG5fbGVuLCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sR2V0VVRGOENoYXIoKGNvbnN0IHVuc2lnbmVkIGNoYXIgKil1dGYsIGxlbik7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2NvbnN0X3Vuc2lnbmVkX2NoYXJfcHRyKG5fdXRmLCAoY29uc3QgdW5zaWduZWQgY2hhciAqKXV0ZiwgMCk7CisgICAgICAgIGRlc19pbnRfcHRyKG5fbGVuLCBsZW4sIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sR2V0VVRGOENoYXIiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdXRmKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9sZW4pOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFN0ckVxdWFsKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbENoYXIgKiBzdHIxOyAvKiB0aGUgZmlyc3QgeG1sQ2hhciAqICovCisgICAgaW50IG5fc3RyMTsKKyAgICB4bWxDaGFyICogc3RyMjsgLyogdGhlIHNlY29uZCB4bWxDaGFyICogKi8KKyAgICBpbnQgbl9zdHIyOworCisgICAgZm9yIChuX3N0cjEgPSAwO25fc3RyMSA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX3N0cjErKykgeworICAgIGZvciAobl9zdHIyID0gMDtuX3N0cjIgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9zdHIyKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgc3RyMSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX3N0cjEsIDApOworICAgICAgICBzdHIyID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fc3RyMiwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFN0ckVxdWFsKChjb25zdCB4bWxDaGFyICopc3RyMSwgKGNvbnN0IHhtbENoYXIgKilzdHIyKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9zdHIxLCAoY29uc3QgeG1sQ2hhciAqKXN0cjEsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9zdHIyLCAoY29uc3QgeG1sQ2hhciAqKXN0cjIsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sU3RyRXF1YWwiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fc3RyMSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fc3RyMik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sU3RyUHJpbnRmKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisKKyAgICAvKiBtaXNzaW5nIHR5cGUgc3VwcG9ydCAqLworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxTdHJRRXF1YWwodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sQ2hhciAqIHByZWY7IC8qIHRoZSBwcmVmaXggb2YgdGhlIFFOYW1lICovCisgICAgaW50IG5fcHJlZjsKKyAgICB4bWxDaGFyICogbmFtZTsgLyogdGhlIGxvY2FsbmFtZSBvZiB0aGUgUU5hbWUgKi8KKyAgICBpbnQgbl9uYW1lOworICAgIHhtbENoYXIgKiBzdHI7IC8qIHRoZSBzZWNvbmQgeG1sQ2hhciAqICovCisgICAgaW50IG5fc3RyOworCisgICAgZm9yIChuX3ByZWYgPSAwO25fcHJlZiA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX3ByZWYrKykgeworICAgIGZvciAobl9uYW1lID0gMDtuX25hbWUgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9uYW1lKyspIHsKKyAgICBmb3IgKG5fc3RyID0gMDtuX3N0ciA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX3N0cisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHByZWYgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9wcmVmLCAwKTsKKyAgICAgICAgbmFtZSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIDEpOworICAgICAgICBzdHIgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9zdHIsIDIpOworCisgICAgICAgIHJldF92YWwgPSB4bWxTdHJRRXF1YWwoKGNvbnN0IHhtbENoYXIgKilwcmVmLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUsIChjb25zdCB4bWxDaGFyICopc3RyKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9wcmVmLCAoY29uc3QgeG1sQ2hhciAqKXByZWYsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUsIDEpOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9zdHIsIChjb25zdCB4bWxDaGFyICopc3RyLCAyKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFN0clFFcXVhbCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9wcmVmKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9uYW1lKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9zdHIpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxTdHJWUHJpbnRmKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisKKyAgICAvKiBtaXNzaW5nIHR5cGUgc3VwcG9ydCAqLworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxTdHJjYXNlY21wKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbENoYXIgKiBzdHIxOyAvKiB0aGUgZmlyc3QgeG1sQ2hhciAqICovCisgICAgaW50IG5fc3RyMTsKKyAgICB4bWxDaGFyICogc3RyMjsgLyogdGhlIHNlY29uZCB4bWxDaGFyICogKi8KKyAgICBpbnQgbl9zdHIyOworCisgICAgZm9yIChuX3N0cjEgPSAwO25fc3RyMSA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX3N0cjErKykgeworICAgIGZvciAobl9zdHIyID0gMDtuX3N0cjIgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9zdHIyKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgc3RyMSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX3N0cjEsIDApOworICAgICAgICBzdHIyID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fc3RyMiwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFN0cmNhc2VjbXAoKGNvbnN0IHhtbENoYXIgKilzdHIxLCAoY29uc3QgeG1sQ2hhciAqKXN0cjIpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX3N0cjEsIChjb25zdCB4bWxDaGFyICopc3RyMSwgMCk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX3N0cjIsIChjb25zdCB4bWxDaGFyICopc3RyMiwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxTdHJjYXNlY21wIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3N0cjEpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3N0cjIpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFN0cmNhc2VzdHIodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgY29uc3QgeG1sQ2hhciAqIHJldF92YWw7CisgICAgeG1sQ2hhciAqIHN0cjsgLyogdGhlIHhtbENoYXIgKiBhcnJheSAoaGF5c3RhY2spICovCisgICAgaW50IG5fc3RyOworICAgIHhtbENoYXIgKiB2YWw7IC8qIHRoZSB4bWxDaGFyIHRvIHNlYXJjaCAobmVlZGxlKSAqLworICAgIGludCBuX3ZhbDsKKworICAgIGZvciAobl9zdHIgPSAwO25fc3RyIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fc3RyKyspIHsKKyAgICBmb3IgKG5fdmFsID0gMDtuX3ZhbCA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX3ZhbCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHN0ciA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX3N0ciwgMCk7CisgICAgICAgIHZhbCA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX3ZhbCwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFN0cmNhc2VzdHIoKGNvbnN0IHhtbENoYXIgKilzdHIsIChjb25zdCB4bWxDaGFyICopdmFsKTsKKyAgICAgICAgZGVzcmV0X2NvbnN0X3htbENoYXJfcHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX3N0ciwgKGNvbnN0IHhtbENoYXIgKilzdHIsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl92YWwsIChjb25zdCB4bWxDaGFyICopdmFsLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFN0cmNhc2VzdHIiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fc3RyKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl92YWwpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFN0cmNocih2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICBjb25zdCB4bWxDaGFyICogcmV0X3ZhbDsKKyAgICB4bWxDaGFyICogc3RyOyAvKiB0aGUgeG1sQ2hhciAqIGFycmF5ICovCisgICAgaW50IG5fc3RyOworICAgIHhtbENoYXIgdmFsOyAvKiB0aGUgeG1sQ2hhciB0byBzZWFyY2ggKi8KKyAgICBpbnQgbl92YWw7CisKKyAgICBmb3IgKG5fc3RyID0gMDtuX3N0ciA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX3N0cisrKSB7CisgICAgZm9yIChuX3ZhbCA9IDA7bl92YWwgPCBnZW5fbmJfeG1sQ2hhcjtuX3ZhbCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHN0ciA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX3N0ciwgMCk7CisgICAgICAgIHZhbCA9IGdlbl94bWxDaGFyKG5fdmFsLCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sU3RyY2hyKChjb25zdCB4bWxDaGFyICopc3RyLCB2YWwpOworICAgICAgICBkZXNyZXRfY29uc3RfeG1sQ2hhcl9wdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fc3RyLCAoY29uc3QgeG1sQ2hhciAqKXN0ciwgMCk7CisgICAgICAgIGRlc194bWxDaGFyKG5fdmFsLCB2YWwsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sU3RyY2hyIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3N0cik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdmFsKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxTdHJjbXAodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sQ2hhciAqIHN0cjE7IC8qIHRoZSBmaXJzdCB4bWxDaGFyICogKi8KKyAgICBpbnQgbl9zdHIxOworICAgIHhtbENoYXIgKiBzdHIyOyAvKiB0aGUgc2Vjb25kIHhtbENoYXIgKiAqLworICAgIGludCBuX3N0cjI7CisKKyAgICBmb3IgKG5fc3RyMSA9IDA7bl9zdHIxIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fc3RyMSsrKSB7CisgICAgZm9yIChuX3N0cjIgPSAwO25fc3RyMiA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX3N0cjIrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBzdHIxID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fc3RyMSwgMCk7CisgICAgICAgIHN0cjIgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9zdHIyLCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sU3RyY21wKChjb25zdCB4bWxDaGFyICopc3RyMSwgKGNvbnN0IHhtbENoYXIgKilzdHIyKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9zdHIxLCAoY29uc3QgeG1sQ2hhciAqKXN0cjEsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9zdHIyLCAoY29uc3QgeG1sQ2hhciAqKXN0cjIsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sU3RyY21wIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3N0cjEpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3N0cjIpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFN0cmR1cCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxDaGFyICogcmV0X3ZhbDsKKyAgICB4bWxDaGFyICogY3VyOyAvKiB0aGUgaW5wdXQgeG1sQ2hhciAqICovCisgICAgaW50IG5fY3VyOworCisgICAgZm9yIChuX2N1ciA9IDA7bl9jdXIgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9jdXIrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdXIgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9jdXIsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxTdHJkdXAoKGNvbnN0IHhtbENoYXIgKiljdXIpOworICAgICAgICBkZXNyZXRfeG1sQ2hhcl9wdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fY3VyLCAoY29uc3QgeG1sQ2hhciAqKWN1ciwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxTdHJkdXAiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3VyKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFN0cmxlbih2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxDaGFyICogc3RyOyAvKiB0aGUgeG1sQ2hhciAqIGFycmF5ICovCisgICAgaW50IG5fc3RyOworCisgICAgZm9yIChuX3N0ciA9IDA7bl9zdHIgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9zdHIrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBzdHIgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9zdHIsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxTdHJsZW4oKGNvbnN0IHhtbENoYXIgKilzdHIpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX3N0ciwgKGNvbnN0IHhtbENoYXIgKilzdHIsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sU3RybGVuIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3N0cik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxTdHJuY2FzZWNtcCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxDaGFyICogc3RyMTsgLyogdGhlIGZpcnN0IHhtbENoYXIgKiAqLworICAgIGludCBuX3N0cjE7CisgICAgeG1sQ2hhciAqIHN0cjI7IC8qIHRoZSBzZWNvbmQgeG1sQ2hhciAqICovCisgICAgaW50IG5fc3RyMjsKKyAgICBpbnQgbGVuOyAvKiB0aGUgbWF4IGNvbXBhcmlzb24gbGVuZ3RoICovCisgICAgaW50IG5fbGVuOworCisgICAgZm9yIChuX3N0cjEgPSAwO25fc3RyMSA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX3N0cjErKykgeworICAgIGZvciAobl9zdHIyID0gMDtuX3N0cjIgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9zdHIyKyspIHsKKyAgICBmb3IgKG5fbGVuID0gMDtuX2xlbiA8IGdlbl9uYl9pbnQ7bl9sZW4rKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBzdHIxID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fc3RyMSwgMCk7CisgICAgICAgIHN0cjIgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9zdHIyLCAxKTsKKyAgICAgICAgbGVuID0gZ2VuX2ludChuX2xlbiwgMik7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFN0cm5jYXNlY21wKChjb25zdCB4bWxDaGFyICopc3RyMSwgKGNvbnN0IHhtbENoYXIgKilzdHIyLCBsZW4pOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX3N0cjEsIChjb25zdCB4bWxDaGFyICopc3RyMSwgMCk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX3N0cjIsIChjb25zdCB4bWxDaGFyICopc3RyMiwgMSk7CisgICAgICAgIGRlc19pbnQobl9sZW4sIGxlbiwgMik7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxTdHJuY2FzZWNtcCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9zdHIxKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9zdHIyKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9sZW4pOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxTdHJuY2F0TmV3KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbENoYXIgKiByZXRfdmFsOworICAgIHhtbENoYXIgKiBzdHIxOyAvKiBmaXJzdCB4bWxDaGFyIHN0cmluZyAqLworICAgIGludCBuX3N0cjE7CisgICAgeG1sQ2hhciAqIHN0cjI7IC8qIHNlY29uZCB4bWxDaGFyIHN0cmluZyAqLworICAgIGludCBuX3N0cjI7CisgICAgaW50IGxlbjsgLyogdGhlIGxlbiBvZiBAc3RyMiBvciA8IDAgKi8KKyAgICBpbnQgbl9sZW47CisKKyAgICBmb3IgKG5fc3RyMSA9IDA7bl9zdHIxIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fc3RyMSsrKSB7CisgICAgZm9yIChuX3N0cjIgPSAwO25fc3RyMiA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX3N0cjIrKykgeworICAgIGZvciAobl9sZW4gPSAwO25fbGVuIDwgZ2VuX25iX2ludDtuX2xlbisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHN0cjEgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9zdHIxLCAwKTsKKyAgICAgICAgc3RyMiA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX3N0cjIsIDEpOworICAgICAgICBsZW4gPSBnZW5faW50KG5fbGVuLCAyKTsKKworICAgICAgICByZXRfdmFsID0geG1sU3RybmNhdE5ldygoY29uc3QgeG1sQ2hhciAqKXN0cjEsIChjb25zdCB4bWxDaGFyICopc3RyMiwgbGVuKTsKKyAgICAgICAgZGVzcmV0X3htbENoYXJfcHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX3N0cjEsIChjb25zdCB4bWxDaGFyICopc3RyMSwgMCk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX3N0cjIsIChjb25zdCB4bWxDaGFyICopc3RyMiwgMSk7CisgICAgICAgIGRlc19pbnQobl9sZW4sIGxlbiwgMik7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxTdHJuY2F0TmV3IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3N0cjEpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3N0cjIpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2xlbik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFN0cm5jbXAodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sQ2hhciAqIHN0cjE7IC8qIHRoZSBmaXJzdCB4bWxDaGFyICogKi8KKyAgICBpbnQgbl9zdHIxOworICAgIHhtbENoYXIgKiBzdHIyOyAvKiB0aGUgc2Vjb25kIHhtbENoYXIgKiAqLworICAgIGludCBuX3N0cjI7CisgICAgaW50IGxlbjsgLyogdGhlIG1heCBjb21wYXJpc29uIGxlbmd0aCAqLworICAgIGludCBuX2xlbjsKKworICAgIGZvciAobl9zdHIxID0gMDtuX3N0cjEgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9zdHIxKyspIHsKKyAgICBmb3IgKG5fc3RyMiA9IDA7bl9zdHIyIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fc3RyMisrKSB7CisgICAgZm9yIChuX2xlbiA9IDA7bl9sZW4gPCBnZW5fbmJfaW50O25fbGVuKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgc3RyMSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX3N0cjEsIDApOworICAgICAgICBzdHIyID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fc3RyMiwgMSk7CisgICAgICAgIGxlbiA9IGdlbl9pbnQobl9sZW4sIDIpOworCisgICAgICAgIHJldF92YWwgPSB4bWxTdHJuY21wKChjb25zdCB4bWxDaGFyICopc3RyMSwgKGNvbnN0IHhtbENoYXIgKilzdHIyLCBsZW4pOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX3N0cjEsIChjb25zdCB4bWxDaGFyICopc3RyMSwgMCk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX3N0cjIsIChjb25zdCB4bWxDaGFyICopc3RyMiwgMSk7CisgICAgICAgIGRlc19pbnQobl9sZW4sIGxlbiwgMik7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxTdHJuY21wIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3N0cjEpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3N0cjIpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2xlbik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFN0cm5kdXAodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sQ2hhciAqIHJldF92YWw7CisgICAgeG1sQ2hhciAqIGN1cjsgLyogdGhlIGlucHV0IHhtbENoYXIgKiAqLworICAgIGludCBuX2N1cjsKKyAgICBpbnQgbGVuOyAvKiB0aGUgbGVuIG9mIEBjdXIgKi8KKyAgICBpbnQgbl9sZW47CisKKyAgICBmb3IgKG5fY3VyID0gMDtuX2N1ciA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX2N1cisrKSB7CisgICAgZm9yIChuX2xlbiA9IDA7bl9sZW4gPCBnZW5fbmJfaW50O25fbGVuKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3VyID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fY3VyLCAwKTsKKyAgICAgICAgbGVuID0gZ2VuX2ludChuX2xlbiwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFN0cm5kdXAoKGNvbnN0IHhtbENoYXIgKiljdXIsIGxlbik7CisgICAgICAgIGRlc3JldF94bWxDaGFyX3B0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9jdXIsIChjb25zdCB4bWxDaGFyICopY3VyLCAwKTsKKyAgICAgICAgZGVzX2ludChuX2xlbiwgbGVuLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFN0cm5kdXAiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3VyKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9sZW4pOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFN0cnN0cih2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICBjb25zdCB4bWxDaGFyICogcmV0X3ZhbDsKKyAgICB4bWxDaGFyICogc3RyOyAvKiB0aGUgeG1sQ2hhciAqIGFycmF5IChoYXlzdGFjaykgKi8KKyAgICBpbnQgbl9zdHI7CisgICAgeG1sQ2hhciAqIHZhbDsgLyogdGhlIHhtbENoYXIgdG8gc2VhcmNoIChuZWVkbGUpICovCisgICAgaW50IG5fdmFsOworCisgICAgZm9yIChuX3N0ciA9IDA7bl9zdHIgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9zdHIrKykgeworICAgIGZvciAobl92YWwgPSAwO25fdmFsIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fdmFsKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgc3RyID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fc3RyLCAwKTsKKyAgICAgICAgdmFsID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fdmFsLCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sU3Ryc3RyKChjb25zdCB4bWxDaGFyICopc3RyLCAoY29uc3QgeG1sQ2hhciAqKXZhbCk7CisgICAgICAgIGRlc3JldF9jb25zdF94bWxDaGFyX3B0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9zdHIsIChjb25zdCB4bWxDaGFyICopc3RyLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fdmFsLCAoY29uc3QgeG1sQ2hhciAqKXZhbCwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxTdHJzdHIiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fc3RyKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl92YWwpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFN0cnN1Yih2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxDaGFyICogcmV0X3ZhbDsKKyAgICB4bWxDaGFyICogc3RyOyAvKiB0aGUgeG1sQ2hhciAqIGFycmF5IChoYXlzdGFjaykgKi8KKyAgICBpbnQgbl9zdHI7CisgICAgaW50IHN0YXJ0OyAvKiB0aGUgaW5kZXggb2YgdGhlIGZpcnN0IGNoYXIgKHplcm8gYmFzZWQpICovCisgICAgaW50IG5fc3RhcnQ7CisgICAgaW50IGxlbjsgLyogdGhlIGxlbmd0aCBvZiB0aGUgc3Vic3RyaW5nICovCisgICAgaW50IG5fbGVuOworCisgICAgZm9yIChuX3N0ciA9IDA7bl9zdHIgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9zdHIrKykgeworICAgIGZvciAobl9zdGFydCA9IDA7bl9zdGFydCA8IGdlbl9uYl9pbnQ7bl9zdGFydCsrKSB7CisgICAgZm9yIChuX2xlbiA9IDA7bl9sZW4gPCBnZW5fbmJfaW50O25fbGVuKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgc3RyID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fc3RyLCAwKTsKKyAgICAgICAgc3RhcnQgPSBnZW5faW50KG5fc3RhcnQsIDEpOworICAgICAgICBsZW4gPSBnZW5faW50KG5fbGVuLCAyKTsKKworICAgICAgICByZXRfdmFsID0geG1sU3Ryc3ViKChjb25zdCB4bWxDaGFyICopc3RyLCBzdGFydCwgbGVuKTsKKyAgICAgICAgZGVzcmV0X3htbENoYXJfcHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX3N0ciwgKGNvbnN0IHhtbENoYXIgKilzdHIsIDApOworICAgICAgICBkZXNfaW50KG5fc3RhcnQsIHN0YXJ0LCAxKTsKKyAgICAgICAgZGVzX2ludChuX2xlbiwgbGVuLCAyKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFN0cnN1YiIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9zdHIpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3N0YXJ0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9sZW4pOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxVVEY4Q2hhcmNtcCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxDaGFyICogdXRmMTsgLyogcG9pbnRlciB0byBmaXJzdCBVVEY4IGNoYXIgKi8KKyAgICBpbnQgbl91dGYxOworICAgIHhtbENoYXIgKiB1dGYyOyAvKiBwb2ludGVyIHRvIHNlY29uZCBVVEY4IGNoYXIgKi8KKyAgICBpbnQgbl91dGYyOworCisgICAgZm9yIChuX3V0ZjEgPSAwO25fdXRmMSA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX3V0ZjErKykgeworICAgIGZvciAobl91dGYyID0gMDtuX3V0ZjIgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl91dGYyKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgdXRmMSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX3V0ZjEsIDApOworICAgICAgICB1dGYyID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fdXRmMiwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFVURjhDaGFyY21wKChjb25zdCB4bWxDaGFyICopdXRmMSwgKGNvbnN0IHhtbENoYXIgKil1dGYyKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl91dGYxLCAoY29uc3QgeG1sQ2hhciAqKXV0ZjEsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl91dGYyLCAoY29uc3QgeG1sQ2hhciAqKXV0ZjIsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVVRGOENoYXJjbXAiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdXRmMSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdXRmMik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVVRGOFNpemUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sQ2hhciAqIHV0ZjsgLyogcG9pbnRlciB0byB0aGUgVVRGOCBjaGFyYWN0ZXIgKi8KKyAgICBpbnQgbl91dGY7CisKKyAgICBmb3IgKG5fdXRmID0gMDtuX3V0ZiA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX3V0ZisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHV0ZiA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX3V0ZiwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFVURjhTaXplKChjb25zdCB4bWxDaGFyICopdXRmKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl91dGYsIChjb25zdCB4bWxDaGFyICopdXRmLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVURjhTaXplIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3V0Zik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxVVEY4U3RybGVuKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbENoYXIgKiB1dGY7IC8qIGEgc2VxdWVuY2Ugb2YgVVRGLTggZW5jb2RlZCBieXRlcyAqLworICAgIGludCBuX3V0ZjsKKworICAgIGZvciAobl91dGYgPSAwO25fdXRmIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fdXRmKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgdXRmID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fdXRmLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVVRGOFN0cmxlbigoY29uc3QgeG1sQ2hhciAqKXV0Zik7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fdXRmLCAoY29uc3QgeG1sQ2hhciAqKXV0ZiwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxVVEY4U3RybGVuIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3V0Zik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxVVEY4U3RybG9jKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbENoYXIgKiB1dGY7IC8qIHRoZSBpbnB1dCBVVEY4ICogKi8KKyAgICBpbnQgbl91dGY7CisgICAgeG1sQ2hhciAqIHV0ZmNoYXI7IC8qIHRoZSBVVEY4IGNoYXJhY3RlciB0byBiZSBmb3VuZCAqLworICAgIGludCBuX3V0ZmNoYXI7CisKKyAgICBmb3IgKG5fdXRmID0gMDtuX3V0ZiA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX3V0ZisrKSB7CisgICAgZm9yIChuX3V0ZmNoYXIgPSAwO25fdXRmY2hhciA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX3V0ZmNoYXIrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICB1dGYgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl91dGYsIDApOworICAgICAgICB1dGZjaGFyID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fdXRmY2hhciwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFVURjhTdHJsb2MoKGNvbnN0IHhtbENoYXIgKil1dGYsIChjb25zdCB4bWxDaGFyICopdXRmY2hhcik7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fdXRmLCAoY29uc3QgeG1sQ2hhciAqKXV0ZiwgMCk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX3V0ZmNoYXIsIChjb25zdCB4bWxDaGFyICopdXRmY2hhciwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxVVEY4U3RybG9jIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3V0Zik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdXRmY2hhcik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVVRGOFN0cm5kdXAodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sQ2hhciAqIHJldF92YWw7CisgICAgeG1sQ2hhciAqIHV0ZjsgLyogdGhlIGlucHV0IFVURjggKiAqLworICAgIGludCBuX3V0ZjsKKyAgICBpbnQgbGVuOyAvKiB0aGUgbGVuIG9mIEB1dGYgKGluIGNoYXJzKSAqLworICAgIGludCBuX2xlbjsKKworICAgIGZvciAobl91dGYgPSAwO25fdXRmIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fdXRmKyspIHsKKyAgICBmb3IgKG5fbGVuID0gMDtuX2xlbiA8IGdlbl9uYl9pbnQ7bl9sZW4rKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICB1dGYgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl91dGYsIDApOworICAgICAgICBsZW4gPSBnZW5faW50KG5fbGVuLCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sVVRGOFN0cm5kdXAoKGNvbnN0IHhtbENoYXIgKil1dGYsIGxlbik7CisgICAgICAgIGRlc3JldF94bWxDaGFyX3B0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl91dGYsIChjb25zdCB4bWxDaGFyICopdXRmLCAwKTsKKyAgICAgICAgZGVzX2ludChuX2xlbiwgbGVuLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVURjhTdHJuZHVwIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3V0Zik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbGVuKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxVVEY4U3RycG9zKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaW50IG1lbV9iYXNlOworICAgIGNvbnN0IHhtbENoYXIgKiByZXRfdmFsOworICAgIHhtbENoYXIgKiB1dGY7IC8qIHRoZSBpbnB1dCBVVEY4ICogKi8KKyAgICBpbnQgbl91dGY7CisgICAgaW50IHBvczsgLyogdGhlIHBvc2l0aW9uIG9mIHRoZSBkZXNpcmVkIFVURjggY2hhciAoaW4gY2hhcnMpICovCisgICAgaW50IG5fcG9zOworCisgICAgZm9yIChuX3V0ZiA9IDA7bl91dGYgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl91dGYrKykgeworICAgIGZvciAobl9wb3MgPSAwO25fcG9zIDwgZ2VuX25iX2ludDtuX3BvcysrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHV0ZiA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX3V0ZiwgMCk7CisgICAgICAgIHBvcyA9IGdlbl9pbnQobl9wb3MsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxVVEY4U3RycG9zKChjb25zdCB4bWxDaGFyICopdXRmLCBwb3MpOworICAgICAgICBkZXNyZXRfY29uc3RfeG1sQ2hhcl9wdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fdXRmLCAoY29uc3QgeG1sQ2hhciAqKXV0ZiwgMCk7CisgICAgICAgIGRlc19pbnQobl9wb3MsIHBvcywgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxVVEY4U3RycG9zIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3V0Zik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fcG9zKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxVVEY4U3Ryc2l6ZSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxDaGFyICogdXRmOyAvKiBhIHNlcXVlbmNlIG9mIFVURi04IGVuY29kZWQgYnl0ZXMgKi8KKyAgICBpbnQgbl91dGY7CisgICAgaW50IGxlbjsgLyogdGhlIG51bWJlciBvZiBjaGFyYWN0ZXJzIGluIHRoZSBhcnJheSAqLworICAgIGludCBuX2xlbjsKKworICAgIGZvciAobl91dGYgPSAwO25fdXRmIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fdXRmKyspIHsKKyAgICBmb3IgKG5fbGVuID0gMDtuX2xlbiA8IGdlbl9uYl9pbnQ7bl9sZW4rKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICB1dGYgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl91dGYsIDApOworICAgICAgICBsZW4gPSBnZW5faW50KG5fbGVuLCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sVVRGOFN0cnNpemUoKGNvbnN0IHhtbENoYXIgKil1dGYsIGxlbik7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fdXRmLCAoY29uc3QgeG1sQ2hhciAqKXV0ZiwgMCk7CisgICAgICAgIGRlc19pbnQobl9sZW4sIGxlbiwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxVVEY4U3Ryc2l6ZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl91dGYpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2xlbik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVVRGOFN0cnN1Yih2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxDaGFyICogcmV0X3ZhbDsKKyAgICB4bWxDaGFyICogdXRmOyAvKiBhIHNlcXVlbmNlIG9mIFVURi04IGVuY29kZWQgYnl0ZXMgKi8KKyAgICBpbnQgbl91dGY7CisgICAgaW50IHN0YXJ0OyAvKiByZWxhdGl2ZSBwb3Mgb2YgZmlyc3QgY2hhciAqLworICAgIGludCBuX3N0YXJ0OworICAgIGludCBsZW47IC8qIHRvdGFsIG51bWJlciB0byBjb3B5ICovCisgICAgaW50IG5fbGVuOworCisgICAgZm9yIChuX3V0ZiA9IDA7bl91dGYgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl91dGYrKykgeworICAgIGZvciAobl9zdGFydCA9IDA7bl9zdGFydCA8IGdlbl9uYl9pbnQ7bl9zdGFydCsrKSB7CisgICAgZm9yIChuX2xlbiA9IDA7bl9sZW4gPCBnZW5fbmJfaW50O25fbGVuKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgdXRmID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fdXRmLCAwKTsKKyAgICAgICAgc3RhcnQgPSBnZW5faW50KG5fc3RhcnQsIDEpOworICAgICAgICBsZW4gPSBnZW5faW50KG5fbGVuLCAyKTsKKworICAgICAgICByZXRfdmFsID0geG1sVVRGOFN0cnN1YigoY29uc3QgeG1sQ2hhciAqKXV0Ziwgc3RhcnQsIGxlbik7CisgICAgICAgIGRlc3JldF94bWxDaGFyX3B0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl91dGYsIChjb25zdCB4bWxDaGFyICopdXRmLCAwKTsKKyAgICAgICAgZGVzX2ludChuX3N0YXJ0LCBzdGFydCwgMSk7CisgICAgICAgIGRlc19pbnQobl9sZW4sIGxlbiwgMik7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxVVEY4U3Ryc3ViIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3V0Zik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fc3RhcnQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2xlbik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworc3RhdGljIGludAordGVzdF94bWxzdHJpbmcodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpZiAocXVpZXQgPT0gMCkgcHJpbnRmKCJUZXN0aW5nIHhtbHN0cmluZyA6IDI2IG9mIDMwIGZ1bmN0aW9ucyAuLi5cbiIpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sQ2hhclN0cmR1cCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sQ2hhclN0cm5kdXAoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbENoZWNrVVRGOCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sR2V0VVRGOENoYXIoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFN0ckVxdWFsKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxTdHJQcmludGYoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFN0clFFcXVhbCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU3RyVlByaW50ZigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU3RyY2FzZWNtcCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU3RyY2FzZXN0cigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU3RyY2hyKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxTdHJjbXAoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFN0cmR1cCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU3RybGVuKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxTdHJuY2FzZWNtcCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU3RybmNhdE5ldygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU3RybmNtcCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU3RybmR1cCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sU3Ryc3RyKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxTdHJzdWIoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFVURjhDaGFyY21wKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxVVEY4U2l6ZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVVRGOFN0cmxlbigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVVRGOFN0cmxvYygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVVRGOFN0cm5kdXAoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFVURjhTdHJwb3MoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFVURjhTdHJzaXplKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxVVEY4U3Ryc3ViKCk7CisKKyAgICBpZiAodGVzdF9yZXQgIT0gMCkKKwlwcmludGYoIk1vZHVsZSB4bWxzdHJpbmc6ICVkIGVycm9yc1xuIiwgdGVzdF9yZXQpOworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVUNTSXNBZWdlYW5OdW1iZXJzKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICBpbnQgY29kZTsgLyogVUNTIGNvZGUgcG9pbnQgKi8KKyAgICBpbnQgbl9jb2RlOworCisgICAgZm9yIChuX2NvZGUgPSAwO25fY29kZSA8IGdlbl9uYl9pbnQ7bl9jb2RlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY29kZSA9IGdlbl9pbnQobl9jb2RlLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVUNTSXNBZWdlYW5OdW1iZXJzKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzQWVnZWFuTnVtYmVycyIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jb2RlKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVUNTSXNBbHBoYWJldGljUHJlc2VudGF0aW9uRm9ybXModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc0FscGhhYmV0aWNQcmVzZW50YXRpb25Gb3Jtcyhjb2RlKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfaW50KG5fY29kZSwgY29kZSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxVQ1NJc0FscGhhYmV0aWNQcmVzZW50YXRpb25Gb3JtcyIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jb2RlKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVUNTSXNBcmFiaWModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc0FyYWJpYyhjb2RlKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfaW50KG5fY29kZSwgY29kZSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxVQ1NJc0FyYWJpYyIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jb2RlKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVUNTSXNBcmFiaWNQcmVzZW50YXRpb25Gb3Jtc0Eodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc0FyYWJpY1ByZXNlbnRhdGlvbkZvcm1zQShjb2RlKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfaW50KG5fY29kZSwgY29kZSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxVQ1NJc0FyYWJpY1ByZXNlbnRhdGlvbkZvcm1zQSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jb2RlKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVUNTSXNBcmFiaWNQcmVzZW50YXRpb25Gb3Jtc0Iodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc0FyYWJpY1ByZXNlbnRhdGlvbkZvcm1zQihjb2RlKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfaW50KG5fY29kZSwgY29kZSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxVQ1NJc0FyYWJpY1ByZXNlbnRhdGlvbkZvcm1zQiIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jb2RlKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVUNTSXNBcm1lbmlhbih2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgaW50IGNvZGU7IC8qIFVDUyBjb2RlIHBvaW50ICovCisgICAgaW50IG5fY29kZTsKKworICAgIGZvciAobl9jb2RlID0gMDtuX2NvZGUgPCBnZW5fbmJfaW50O25fY29kZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGNvZGUgPSBnZW5faW50KG5fY29kZSwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFVDU0lzQXJtZW5pYW4oY29kZSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2ludChuX2NvZGUsIGNvZGUsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVUNTSXNBcm1lbmlhbiIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jb2RlKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVUNTSXNBcnJvd3Modm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc0Fycm93cyhjb2RlKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfaW50KG5fY29kZSwgY29kZSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxVQ1NJc0Fycm93cyIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jb2RlKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVUNTSXNCYXNpY0xhdGluKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICBpbnQgY29kZTsgLyogVUNTIGNvZGUgcG9pbnQgKi8KKyAgICBpbnQgbl9jb2RlOworCisgICAgZm9yIChuX2NvZGUgPSAwO25fY29kZSA8IGdlbl9uYl9pbnQ7bl9jb2RlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY29kZSA9IGdlbl9pbnQobl9jb2RlLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVUNTSXNCYXNpY0xhdGluKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzQmFzaWNMYXRpbiIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jb2RlKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVUNTSXNCZW5nYWxpKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICBpbnQgY29kZTsgLyogVUNTIGNvZGUgcG9pbnQgKi8KKyAgICBpbnQgbl9jb2RlOworCisgICAgZm9yIChuX2NvZGUgPSAwO25fY29kZSA8IGdlbl9uYl9pbnQ7bl9jb2RlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY29kZSA9IGdlbl9pbnQobl9jb2RlLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVUNTSXNCZW5nYWxpKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzQmVuZ2FsaSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jb2RlKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVUNTSXNCbG9jayh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgaW50IGNvZGU7IC8qIFVDUyBjb2RlIHBvaW50ICovCisgICAgaW50IG5fY29kZTsKKyAgICBjaGFyICogYmxvY2s7IC8qIFVDUyBibG9jayBuYW1lICovCisgICAgaW50IG5fYmxvY2s7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgIGZvciAobl9ibG9jayA9IDA7bl9ibG9jayA8IGdlbl9uYl9jb25zdF9jaGFyX3B0cjtuX2Jsb2NrKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY29kZSA9IGdlbl9pbnQobl9jb2RlLCAwKTsKKyAgICAgICAgYmxvY2sgPSBnZW5fY29uc3RfY2hhcl9wdHIobl9ibG9jaywgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFVDU0lzQmxvY2soY29kZSwgKGNvbnN0IGNoYXIgKilibG9jayk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2ludChuX2NvZGUsIGNvZGUsIDApOworICAgICAgICBkZXNfY29uc3RfY2hhcl9wdHIobl9ibG9jaywgKGNvbnN0IGNoYXIgKilibG9jaywgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxVQ1NJc0Jsb2NrIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2NvZGUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2Jsb2NrKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzQmxvY2tFbGVtZW50cyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgaW50IGNvZGU7IC8qIFVDUyBjb2RlIHBvaW50ICovCisgICAgaW50IG5fY29kZTsKKworICAgIGZvciAobl9jb2RlID0gMDtuX2NvZGUgPCBnZW5fbmJfaW50O25fY29kZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGNvZGUgPSBnZW5faW50KG5fY29kZSwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFVDU0lzQmxvY2tFbGVtZW50cyhjb2RlKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfaW50KG5fY29kZSwgY29kZSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxVQ1NJc0Jsb2NrRWxlbWVudHMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzQm9wb21vZm8odm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc0JvcG9tb2ZvKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzQm9wb21vZm8iLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzQm9wb21vZm9FeHRlbmRlZCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgaW50IGNvZGU7IC8qIFVDUyBjb2RlIHBvaW50ICovCisgICAgaW50IG5fY29kZTsKKworICAgIGZvciAobl9jb2RlID0gMDtuX2NvZGUgPCBnZW5fbmJfaW50O25fY29kZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGNvZGUgPSBnZW5faW50KG5fY29kZSwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFVDU0lzQm9wb21vZm9FeHRlbmRlZChjb2RlKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfaW50KG5fY29kZSwgY29kZSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxVQ1NJc0JvcG9tb2ZvRXh0ZW5kZWQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzQm94RHJhd2luZyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgaW50IGNvZGU7IC8qIFVDUyBjb2RlIHBvaW50ICovCisgICAgaW50IG5fY29kZTsKKworICAgIGZvciAobl9jb2RlID0gMDtuX2NvZGUgPCBnZW5fbmJfaW50O25fY29kZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGNvZGUgPSBnZW5faW50KG5fY29kZSwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFVDU0lzQm94RHJhd2luZyhjb2RlKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfaW50KG5fY29kZSwgY29kZSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxVQ1NJc0JveERyYXdpbmciLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzQnJhaWxsZVBhdHRlcm5zKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICBpbnQgY29kZTsgLyogVUNTIGNvZGUgcG9pbnQgKi8KKyAgICBpbnQgbl9jb2RlOworCisgICAgZm9yIChuX2NvZGUgPSAwO25fY29kZSA8IGdlbl9uYl9pbnQ7bl9jb2RlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY29kZSA9IGdlbl9pbnQobl9jb2RlLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVUNTSXNCcmFpbGxlUGF0dGVybnMoY29kZSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2ludChuX2NvZGUsIGNvZGUsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVUNTSXNCcmFpbGxlUGF0dGVybnMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzQnVoaWQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc0J1aGlkKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzQnVoaWQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzQnl6YW50aW5lTXVzaWNhbFN5bWJvbHModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc0J5emFudGluZU11c2ljYWxTeW1ib2xzKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzQnl6YW50aW5lTXVzaWNhbFN5bWJvbHMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgaW50IGNvZGU7IC8qIFVDUyBjb2RlIHBvaW50ICovCisgICAgaW50IG5fY29kZTsKKworICAgIGZvciAobl9jb2RlID0gMDtuX2NvZGUgPCBnZW5fbmJfaW50O25fY29kZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGNvZGUgPSBnZW5faW50KG5fY29kZSwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eShjb2RlKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfaW50KG5fY29kZSwgY29kZSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHkiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eUZvcm1zKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICBpbnQgY29kZTsgLyogVUNTIGNvZGUgcG9pbnQgKi8KKyAgICBpbnQgbl9jb2RlOworCisgICAgZm9yIChuX2NvZGUgPSAwO25fY29kZSA8IGdlbl9uYl9pbnQ7bl9jb2RlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY29kZSA9IGdlbl9pbnQobl9jb2RlLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVUNTSXNDSktDb21wYXRpYmlsaXR5Rm9ybXMoY29kZSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2ludChuX2NvZGUsIGNvZGUsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVUNTSXNDSktDb21wYXRpYmlsaXR5Rm9ybXMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eUlkZW9ncmFwaHModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHlJZGVvZ3JhcGhzKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eUlkZW9ncmFwaHMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eUlkZW9ncmFwaHNTdXBwbGVtZW50KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICBpbnQgY29kZTsgLyogVUNTIGNvZGUgcG9pbnQgKi8KKyAgICBpbnQgbl9jb2RlOworCisgICAgZm9yIChuX2NvZGUgPSAwO25fY29kZSA8IGdlbl9uYl9pbnQ7bl9jb2RlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY29kZSA9IGdlbl9pbnQobl9jb2RlLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVUNTSXNDSktDb21wYXRpYmlsaXR5SWRlb2dyYXBoc1N1cHBsZW1lbnQoY29kZSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2ludChuX2NvZGUsIGNvZGUsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVUNTSXNDSktDb21wYXRpYmlsaXR5SWRlb2dyYXBoc1N1cHBsZW1lbnQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzQ0pLUmFkaWNhbHNTdXBwbGVtZW50KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICBpbnQgY29kZTsgLyogVUNTIGNvZGUgcG9pbnQgKi8KKyAgICBpbnQgbl9jb2RlOworCisgICAgZm9yIChuX2NvZGUgPSAwO25fY29kZSA8IGdlbl9uYl9pbnQ7bl9jb2RlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY29kZSA9IGdlbl9pbnQobl9jb2RlLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVUNTSXNDSktSYWRpY2Fsc1N1cHBsZW1lbnQoY29kZSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2ludChuX2NvZGUsIGNvZGUsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVUNTSXNDSktSYWRpY2Fsc1N1cHBsZW1lbnQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzQ0pLU3ltYm9sc2FuZFB1bmN0dWF0aW9uKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICBpbnQgY29kZTsgLyogVUNTIGNvZGUgcG9pbnQgKi8KKyAgICBpbnQgbl9jb2RlOworCisgICAgZm9yIChuX2NvZGUgPSAwO25fY29kZSA8IGdlbl9uYl9pbnQ7bl9jb2RlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY29kZSA9IGdlbl9pbnQobl9jb2RlLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVUNTSXNDSktTeW1ib2xzYW5kUHVuY3R1YXRpb24oY29kZSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2ludChuX2NvZGUsIGNvZGUsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVUNTSXNDSktTeW1ib2xzYW5kUHVuY3R1YXRpb24iLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzQ0pLVW5pZmllZElkZW9ncmFwaHModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc0NKS1VuaWZpZWRJZGVvZ3JhcGhzKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzQ0pLVW5pZmllZElkZW9ncmFwaHMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzQ0pLVW5pZmllZElkZW9ncmFwaHNFeHRlbnNpb25BKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICBpbnQgY29kZTsgLyogVUNTIGNvZGUgcG9pbnQgKi8KKyAgICBpbnQgbl9jb2RlOworCisgICAgZm9yIChuX2NvZGUgPSAwO25fY29kZSA8IGdlbl9uYl9pbnQ7bl9jb2RlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY29kZSA9IGdlbl9pbnQobl9jb2RlLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVUNTSXNDSktVbmlmaWVkSWRlb2dyYXBoc0V4dGVuc2lvbkEoY29kZSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2ludChuX2NvZGUsIGNvZGUsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVUNTSXNDSktVbmlmaWVkSWRlb2dyYXBoc0V4dGVuc2lvbkEiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzQ0pLVW5pZmllZElkZW9ncmFwaHNFeHRlbnNpb25CKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICBpbnQgY29kZTsgLyogVUNTIGNvZGUgcG9pbnQgKi8KKyAgICBpbnQgbl9jb2RlOworCisgICAgZm9yIChuX2NvZGUgPSAwO25fY29kZSA8IGdlbl9uYl9pbnQ7bl9jb2RlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY29kZSA9IGdlbl9pbnQobl9jb2RlLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVUNTSXNDSktVbmlmaWVkSWRlb2dyYXBoc0V4dGVuc2lvbkIoY29kZSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2ludChuX2NvZGUsIGNvZGUsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVUNTSXNDSktVbmlmaWVkSWRlb2dyYXBoc0V4dGVuc2lvbkIiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzQ2F0KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICBpbnQgY29kZTsgLyogVUNTIGNvZGUgcG9pbnQgKi8KKyAgICBpbnQgbl9jb2RlOworICAgIGNoYXIgKiBjYXQ7IC8qIFVDUyBDYXRlZ29yeSBuYW1lICovCisgICAgaW50IG5fY2F0OworCisgICAgZm9yIChuX2NvZGUgPSAwO25fY29kZSA8IGdlbl9uYl9pbnQ7bl9jb2RlKyspIHsKKyAgICBmb3IgKG5fY2F0ID0gMDtuX2NhdCA8IGdlbl9uYl9jb25zdF9jaGFyX3B0cjtuX2NhdCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGNvZGUgPSBnZW5faW50KG5fY29kZSwgMCk7CisgICAgICAgIGNhdCA9IGdlbl9jb25zdF9jaGFyX3B0cihuX2NhdCwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFVDU0lzQ2F0KGNvZGUsIChjb25zdCBjaGFyICopY2F0KTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfaW50KG5fY29kZSwgY29kZSwgMCk7CisgICAgICAgIGRlc19jb25zdF9jaGFyX3B0cihuX2NhdCwgKGNvbnN0IGNoYXIgKiljYXQsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVUNTSXNDYXQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY2F0KTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzQ2F0Qyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgaW50IGNvZGU7IC8qIFVDUyBjb2RlIHBvaW50ICovCisgICAgaW50IG5fY29kZTsKKworICAgIGZvciAobl9jb2RlID0gMDtuX2NvZGUgPCBnZW5fbmJfaW50O25fY29kZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGNvZGUgPSBnZW5faW50KG5fY29kZSwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFVDU0lzQ2F0Qyhjb2RlKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfaW50KG5fY29kZSwgY29kZSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxVQ1NJc0NhdEMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzQ2F0Q2Modm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc0NhdENjKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzQ2F0Q2MiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzQ2F0Q2Yodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc0NhdENmKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzQ2F0Q2YiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzQ2F0Q28odm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc0NhdENvKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzQ2F0Q28iLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzQ2F0Q3Modm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc0NhdENzKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzQ2F0Q3MiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzQ2F0TCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgaW50IGNvZGU7IC8qIFVDUyBjb2RlIHBvaW50ICovCisgICAgaW50IG5fY29kZTsKKworICAgIGZvciAobl9jb2RlID0gMDtuX2NvZGUgPCBnZW5fbmJfaW50O25fY29kZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGNvZGUgPSBnZW5faW50KG5fY29kZSwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFVDU0lzQ2F0TChjb2RlKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfaW50KG5fY29kZSwgY29kZSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxVQ1NJc0NhdEwiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzQ2F0TGwodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc0NhdExsKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzQ2F0TGwiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzQ2F0TG0odm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc0NhdExtKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzQ2F0TG0iLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzQ2F0TG8odm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc0NhdExvKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzQ2F0TG8iLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzQ2F0THQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc0NhdEx0KGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzQ2F0THQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzQ2F0THUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc0NhdEx1KGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzQ2F0THUiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzQ2F0TSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgaW50IGNvZGU7IC8qIFVDUyBjb2RlIHBvaW50ICovCisgICAgaW50IG5fY29kZTsKKworICAgIGZvciAobl9jb2RlID0gMDtuX2NvZGUgPCBnZW5fbmJfaW50O25fY29kZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGNvZGUgPSBnZW5faW50KG5fY29kZSwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFVDU0lzQ2F0TShjb2RlKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfaW50KG5fY29kZSwgY29kZSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxVQ1NJc0NhdE0iLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzQ2F0TWModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc0NhdE1jKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzQ2F0TWMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzQ2F0TWUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc0NhdE1lKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzQ2F0TWUiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzQ2F0TW4odm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc0NhdE1uKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzQ2F0TW4iLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzQ2F0Tih2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgaW50IGNvZGU7IC8qIFVDUyBjb2RlIHBvaW50ICovCisgICAgaW50IG5fY29kZTsKKworICAgIGZvciAobl9jb2RlID0gMDtuX2NvZGUgPCBnZW5fbmJfaW50O25fY29kZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGNvZGUgPSBnZW5faW50KG5fY29kZSwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFVDU0lzQ2F0Tihjb2RlKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfaW50KG5fY29kZSwgY29kZSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxVQ1NJc0NhdE4iLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzQ2F0TmQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc0NhdE5kKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzQ2F0TmQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzQ2F0Tmwodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc0NhdE5sKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzQ2F0TmwiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzQ2F0Tm8odm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc0NhdE5vKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzQ2F0Tm8iLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzQ2F0UCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgaW50IGNvZGU7IC8qIFVDUyBjb2RlIHBvaW50ICovCisgICAgaW50IG5fY29kZTsKKworICAgIGZvciAobl9jb2RlID0gMDtuX2NvZGUgPCBnZW5fbmJfaW50O25fY29kZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGNvZGUgPSBnZW5faW50KG5fY29kZSwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFVDU0lzQ2F0UChjb2RlKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfaW50KG5fY29kZSwgY29kZSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxVQ1NJc0NhdFAiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzQ2F0UGModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc0NhdFBjKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzQ2F0UGMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzQ2F0UGQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc0NhdFBkKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzQ2F0UGQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzQ2F0UGUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc0NhdFBlKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzQ2F0UGUiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzQ2F0UGYodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc0NhdFBmKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzQ2F0UGYiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzQ2F0UGkodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc0NhdFBpKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzQ2F0UGkiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzQ2F0UG8odm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc0NhdFBvKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzQ2F0UG8iLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzQ2F0UHModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc0NhdFBzKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzQ2F0UHMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzQ2F0Uyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgaW50IGNvZGU7IC8qIFVDUyBjb2RlIHBvaW50ICovCisgICAgaW50IG5fY29kZTsKKworICAgIGZvciAobl9jb2RlID0gMDtuX2NvZGUgPCBnZW5fbmJfaW50O25fY29kZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGNvZGUgPSBnZW5faW50KG5fY29kZSwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFVDU0lzQ2F0Uyhjb2RlKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfaW50KG5fY29kZSwgY29kZSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxVQ1NJc0NhdFMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzQ2F0U2Modm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc0NhdFNjKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzQ2F0U2MiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzQ2F0U2sodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc0NhdFNrKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzQ2F0U2siLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzQ2F0U20odm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc0NhdFNtKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzQ2F0U20iLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzQ2F0U28odm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc0NhdFNvKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzQ2F0U28iLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzQ2F0Wih2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgaW50IGNvZGU7IC8qIFVDUyBjb2RlIHBvaW50ICovCisgICAgaW50IG5fY29kZTsKKworICAgIGZvciAobl9jb2RlID0gMDtuX2NvZGUgPCBnZW5fbmJfaW50O25fY29kZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGNvZGUgPSBnZW5faW50KG5fY29kZSwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFVDU0lzQ2F0Wihjb2RlKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfaW50KG5fY29kZSwgY29kZSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxVQ1NJc0NhdFoiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzQ2F0Wmwodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc0NhdFpsKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzQ2F0WmwiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzQ2F0WnAodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc0NhdFpwKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzQ2F0WnAiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzQ2F0WnModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc0NhdFpzKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzQ2F0WnMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzQ2hlcm9rZWUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc0NoZXJva2VlKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzQ2hlcm9rZWUiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzQ29tYmluaW5nRGlhY3JpdGljYWxNYXJrcyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgaW50IGNvZGU7IC8qIFVDUyBjb2RlIHBvaW50ICovCisgICAgaW50IG5fY29kZTsKKworICAgIGZvciAobl9jb2RlID0gMDtuX2NvZGUgPCBnZW5fbmJfaW50O25fY29kZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGNvZGUgPSBnZW5faW50KG5fY29kZSwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFVDU0lzQ29tYmluaW5nRGlhY3JpdGljYWxNYXJrcyhjb2RlKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfaW50KG5fY29kZSwgY29kZSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxVQ1NJc0NvbWJpbmluZ0RpYWNyaXRpY2FsTWFya3MiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzQ29tYmluaW5nRGlhY3JpdGljYWxNYXJrc2ZvclN5bWJvbHModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc0NvbWJpbmluZ0RpYWNyaXRpY2FsTWFya3Nmb3JTeW1ib2xzKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzQ29tYmluaW5nRGlhY3JpdGljYWxNYXJrc2ZvclN5bWJvbHMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzQ29tYmluaW5nSGFsZk1hcmtzKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICBpbnQgY29kZTsgLyogVUNTIGNvZGUgcG9pbnQgKi8KKyAgICBpbnQgbl9jb2RlOworCisgICAgZm9yIChuX2NvZGUgPSAwO25fY29kZSA8IGdlbl9uYl9pbnQ7bl9jb2RlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY29kZSA9IGdlbl9pbnQobl9jb2RlLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVUNTSXNDb21iaW5pbmdIYWxmTWFya3MoY29kZSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2ludChuX2NvZGUsIGNvZGUsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVUNTSXNDb21iaW5pbmdIYWxmTWFya3MiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzQ29tYmluaW5nTWFya3Nmb3JTeW1ib2xzKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICBpbnQgY29kZTsgLyogVUNTIGNvZGUgcG9pbnQgKi8KKyAgICBpbnQgbl9jb2RlOworCisgICAgZm9yIChuX2NvZGUgPSAwO25fY29kZSA8IGdlbl9uYl9pbnQ7bl9jb2RlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY29kZSA9IGdlbl9pbnQobl9jb2RlLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVUNTSXNDb21iaW5pbmdNYXJrc2ZvclN5bWJvbHMoY29kZSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2ludChuX2NvZGUsIGNvZGUsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVUNTSXNDb21iaW5pbmdNYXJrc2ZvclN5bWJvbHMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzQ29udHJvbFBpY3R1cmVzKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICBpbnQgY29kZTsgLyogVUNTIGNvZGUgcG9pbnQgKi8KKyAgICBpbnQgbl9jb2RlOworCisgICAgZm9yIChuX2NvZGUgPSAwO25fY29kZSA8IGdlbl9uYl9pbnQ7bl9jb2RlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY29kZSA9IGdlbl9pbnQobl9jb2RlLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVUNTSXNDb250cm9sUGljdHVyZXMoY29kZSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2ludChuX2NvZGUsIGNvZGUsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVUNTSXNDb250cm9sUGljdHVyZXMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzQ3VycmVuY3lTeW1ib2xzKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICBpbnQgY29kZTsgLyogVUNTIGNvZGUgcG9pbnQgKi8KKyAgICBpbnQgbl9jb2RlOworCisgICAgZm9yIChuX2NvZGUgPSAwO25fY29kZSA8IGdlbl9uYl9pbnQ7bl9jb2RlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY29kZSA9IGdlbl9pbnQobl9jb2RlLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVUNTSXNDdXJyZW5jeVN5bWJvbHMoY29kZSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2ludChuX2NvZGUsIGNvZGUsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVUNTSXNDdXJyZW5jeVN5bWJvbHMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzQ3lwcmlvdFN5bGxhYmFyeSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgaW50IGNvZGU7IC8qIFVDUyBjb2RlIHBvaW50ICovCisgICAgaW50IG5fY29kZTsKKworICAgIGZvciAobl9jb2RlID0gMDtuX2NvZGUgPCBnZW5fbmJfaW50O25fY29kZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGNvZGUgPSBnZW5faW50KG5fY29kZSwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFVDU0lzQ3lwcmlvdFN5bGxhYmFyeShjb2RlKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfaW50KG5fY29kZSwgY29kZSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxVQ1NJc0N5cHJpb3RTeWxsYWJhcnkiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzQ3lyaWxsaWModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc0N5cmlsbGljKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzQ3lyaWxsaWMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzQ3lyaWxsaWNTdXBwbGVtZW50KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICBpbnQgY29kZTsgLyogVUNTIGNvZGUgcG9pbnQgKi8KKyAgICBpbnQgbl9jb2RlOworCisgICAgZm9yIChuX2NvZGUgPSAwO25fY29kZSA8IGdlbl9uYl9pbnQ7bl9jb2RlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY29kZSA9IGdlbl9pbnQobl9jb2RlLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVUNTSXNDeXJpbGxpY1N1cHBsZW1lbnQoY29kZSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2ludChuX2NvZGUsIGNvZGUsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVUNTSXNDeXJpbGxpY1N1cHBsZW1lbnQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzRGVzZXJldCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgaW50IGNvZGU7IC8qIFVDUyBjb2RlIHBvaW50ICovCisgICAgaW50IG5fY29kZTsKKworICAgIGZvciAobl9jb2RlID0gMDtuX2NvZGUgPCBnZW5fbmJfaW50O25fY29kZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGNvZGUgPSBnZW5faW50KG5fY29kZSwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFVDU0lzRGVzZXJldChjb2RlKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfaW50KG5fY29kZSwgY29kZSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxVQ1NJc0Rlc2VyZXQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzRGV2YW5hZ2FyaSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgaW50IGNvZGU7IC8qIFVDUyBjb2RlIHBvaW50ICovCisgICAgaW50IG5fY29kZTsKKworICAgIGZvciAobl9jb2RlID0gMDtuX2NvZGUgPCBnZW5fbmJfaW50O25fY29kZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGNvZGUgPSBnZW5faW50KG5fY29kZSwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFVDU0lzRGV2YW5hZ2FyaShjb2RlKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfaW50KG5fY29kZSwgY29kZSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxVQ1NJc0RldmFuYWdhcmkiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzRGluZ2JhdHModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc0RpbmdiYXRzKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzRGluZ2JhdHMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzRW5jbG9zZWRBbHBoYW51bWVyaWNzKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICBpbnQgY29kZTsgLyogVUNTIGNvZGUgcG9pbnQgKi8KKyAgICBpbnQgbl9jb2RlOworCisgICAgZm9yIChuX2NvZGUgPSAwO25fY29kZSA8IGdlbl9uYl9pbnQ7bl9jb2RlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY29kZSA9IGdlbl9pbnQobl9jb2RlLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVUNTSXNFbmNsb3NlZEFscGhhbnVtZXJpY3MoY29kZSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2ludChuX2NvZGUsIGNvZGUsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVUNTSXNFbmNsb3NlZEFscGhhbnVtZXJpY3MiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzRW5jbG9zZWRDSktMZXR0ZXJzYW5kTW9udGhzKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICBpbnQgY29kZTsgLyogVUNTIGNvZGUgcG9pbnQgKi8KKyAgICBpbnQgbl9jb2RlOworCisgICAgZm9yIChuX2NvZGUgPSAwO25fY29kZSA8IGdlbl9uYl9pbnQ7bl9jb2RlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY29kZSA9IGdlbl9pbnQobl9jb2RlLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVUNTSXNFbmNsb3NlZENKS0xldHRlcnNhbmRNb250aHMoY29kZSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2ludChuX2NvZGUsIGNvZGUsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVUNTSXNFbmNsb3NlZENKS0xldHRlcnNhbmRNb250aHMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzRXRoaW9waWModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc0V0aGlvcGljKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzRXRoaW9waWMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzR2VuZXJhbFB1bmN0dWF0aW9uKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICBpbnQgY29kZTsgLyogVUNTIGNvZGUgcG9pbnQgKi8KKyAgICBpbnQgbl9jb2RlOworCisgICAgZm9yIChuX2NvZGUgPSAwO25fY29kZSA8IGdlbl9uYl9pbnQ7bl9jb2RlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY29kZSA9IGdlbl9pbnQobl9jb2RlLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVUNTSXNHZW5lcmFsUHVuY3R1YXRpb24oY29kZSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2ludChuX2NvZGUsIGNvZGUsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVUNTSXNHZW5lcmFsUHVuY3R1YXRpb24iLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzR2VvbWV0cmljU2hhcGVzKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICBpbnQgY29kZTsgLyogVUNTIGNvZGUgcG9pbnQgKi8KKyAgICBpbnQgbl9jb2RlOworCisgICAgZm9yIChuX2NvZGUgPSAwO25fY29kZSA8IGdlbl9uYl9pbnQ7bl9jb2RlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY29kZSA9IGdlbl9pbnQobl9jb2RlLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVUNTSXNHZW9tZXRyaWNTaGFwZXMoY29kZSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2ludChuX2NvZGUsIGNvZGUsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVUNTSXNHZW9tZXRyaWNTaGFwZXMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzR2VvcmdpYW4odm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc0dlb3JnaWFuKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzR2VvcmdpYW4iLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzR290aGljKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICBpbnQgY29kZTsgLyogVUNTIGNvZGUgcG9pbnQgKi8KKyAgICBpbnQgbl9jb2RlOworCisgICAgZm9yIChuX2NvZGUgPSAwO25fY29kZSA8IGdlbl9uYl9pbnQ7bl9jb2RlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY29kZSA9IGdlbl9pbnQobl9jb2RlLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVUNTSXNHb3RoaWMoY29kZSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2ludChuX2NvZGUsIGNvZGUsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVUNTSXNHb3RoaWMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzR3JlZWsodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc0dyZWVrKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzR3JlZWsiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzR3JlZWtFeHRlbmRlZCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgaW50IGNvZGU7IC8qIFVDUyBjb2RlIHBvaW50ICovCisgICAgaW50IG5fY29kZTsKKworICAgIGZvciAobl9jb2RlID0gMDtuX2NvZGUgPCBnZW5fbmJfaW50O25fY29kZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGNvZGUgPSBnZW5faW50KG5fY29kZSwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFVDU0lzR3JlZWtFeHRlbmRlZChjb2RlKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfaW50KG5fY29kZSwgY29kZSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxVQ1NJc0dyZWVrRXh0ZW5kZWQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzR3JlZWthbmRDb3B0aWModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc0dyZWVrYW5kQ29wdGljKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzR3JlZWthbmRDb3B0aWMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzR3VqYXJhdGkodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc0d1amFyYXRpKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzR3VqYXJhdGkiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzR3VybXVraGkodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc0d1cm11a2hpKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzR3VybXVraGkiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzSGFsZndpZHRoYW5kRnVsbHdpZHRoRm9ybXModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc0hhbGZ3aWR0aGFuZEZ1bGx3aWR0aEZvcm1zKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzSGFsZndpZHRoYW5kRnVsbHdpZHRoRm9ybXMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzSGFuZ3VsQ29tcGF0aWJpbGl0eUphbW8odm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc0hhbmd1bENvbXBhdGliaWxpdHlKYW1vKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzSGFuZ3VsQ29tcGF0aWJpbGl0eUphbW8iLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzSGFuZ3VsSmFtbyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgaW50IGNvZGU7IC8qIFVDUyBjb2RlIHBvaW50ICovCisgICAgaW50IG5fY29kZTsKKworICAgIGZvciAobl9jb2RlID0gMDtuX2NvZGUgPCBnZW5fbmJfaW50O25fY29kZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGNvZGUgPSBnZW5faW50KG5fY29kZSwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFVDU0lzSGFuZ3VsSmFtbyhjb2RlKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfaW50KG5fY29kZSwgY29kZSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxVQ1NJc0hhbmd1bEphbW8iLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzSGFuZ3VsU3lsbGFibGVzKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICBpbnQgY29kZTsgLyogVUNTIGNvZGUgcG9pbnQgKi8KKyAgICBpbnQgbl9jb2RlOworCisgICAgZm9yIChuX2NvZGUgPSAwO25fY29kZSA8IGdlbl9uYl9pbnQ7bl9jb2RlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY29kZSA9IGdlbl9pbnQobl9jb2RlLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVUNTSXNIYW5ndWxTeWxsYWJsZXMoY29kZSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2ludChuX2NvZGUsIGNvZGUsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVUNTSXNIYW5ndWxTeWxsYWJsZXMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzSGFudW5vbyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgaW50IGNvZGU7IC8qIFVDUyBjb2RlIHBvaW50ICovCisgICAgaW50IG5fY29kZTsKKworICAgIGZvciAobl9jb2RlID0gMDtuX2NvZGUgPCBnZW5fbmJfaW50O25fY29kZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGNvZGUgPSBnZW5faW50KG5fY29kZSwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFVDU0lzSGFudW5vbyhjb2RlKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfaW50KG5fY29kZSwgY29kZSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxVQ1NJc0hhbnVub28iLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzSGVicmV3KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICBpbnQgY29kZTsgLyogVUNTIGNvZGUgcG9pbnQgKi8KKyAgICBpbnQgbl9jb2RlOworCisgICAgZm9yIChuX2NvZGUgPSAwO25fY29kZSA8IGdlbl9uYl9pbnQ7bl9jb2RlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY29kZSA9IGdlbl9pbnQobl9jb2RlLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVUNTSXNIZWJyZXcoY29kZSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2ludChuX2NvZGUsIGNvZGUsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVUNTSXNIZWJyZXciLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzSGlnaFByaXZhdGVVc2VTdXJyb2dhdGVzKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICBpbnQgY29kZTsgLyogVUNTIGNvZGUgcG9pbnQgKi8KKyAgICBpbnQgbl9jb2RlOworCisgICAgZm9yIChuX2NvZGUgPSAwO25fY29kZSA8IGdlbl9uYl9pbnQ7bl9jb2RlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY29kZSA9IGdlbl9pbnQobl9jb2RlLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVUNTSXNIaWdoUHJpdmF0ZVVzZVN1cnJvZ2F0ZXMoY29kZSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2ludChuX2NvZGUsIGNvZGUsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVUNTSXNIaWdoUHJpdmF0ZVVzZVN1cnJvZ2F0ZXMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzSGlnaFN1cnJvZ2F0ZXModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc0hpZ2hTdXJyb2dhdGVzKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzSGlnaFN1cnJvZ2F0ZXMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzSGlyYWdhbmEodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc0hpcmFnYW5hKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzSGlyYWdhbmEiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzSVBBRXh0ZW5zaW9ucyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgaW50IGNvZGU7IC8qIFVDUyBjb2RlIHBvaW50ICovCisgICAgaW50IG5fY29kZTsKKworICAgIGZvciAobl9jb2RlID0gMDtuX2NvZGUgPCBnZW5fbmJfaW50O25fY29kZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGNvZGUgPSBnZW5faW50KG5fY29kZSwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFVDU0lzSVBBRXh0ZW5zaW9ucyhjb2RlKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfaW50KG5fY29kZSwgY29kZSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxVQ1NJc0lQQUV4dGVuc2lvbnMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzSWRlb2dyYXBoaWNEZXNjcmlwdGlvbkNoYXJhY3RlcnModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc0lkZW9ncmFwaGljRGVzY3JpcHRpb25DaGFyYWN0ZXJzKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzSWRlb2dyYXBoaWNEZXNjcmlwdGlvbkNoYXJhY3RlcnMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzS2FuYnVuKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICBpbnQgY29kZTsgLyogVUNTIGNvZGUgcG9pbnQgKi8KKyAgICBpbnQgbl9jb2RlOworCisgICAgZm9yIChuX2NvZGUgPSAwO25fY29kZSA8IGdlbl9uYl9pbnQ7bl9jb2RlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY29kZSA9IGdlbl9pbnQobl9jb2RlLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVUNTSXNLYW5idW4oY29kZSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2ludChuX2NvZGUsIGNvZGUsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVUNTSXNLYW5idW4iLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzS2FuZ3hpUmFkaWNhbHModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc0thbmd4aVJhZGljYWxzKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzS2FuZ3hpUmFkaWNhbHMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzS2FubmFkYSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgaW50IGNvZGU7IC8qIFVDUyBjb2RlIHBvaW50ICovCisgICAgaW50IG5fY29kZTsKKworICAgIGZvciAobl9jb2RlID0gMDtuX2NvZGUgPCBnZW5fbmJfaW50O25fY29kZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGNvZGUgPSBnZW5faW50KG5fY29kZSwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFVDU0lzS2FubmFkYShjb2RlKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfaW50KG5fY29kZSwgY29kZSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxVQ1NJc0thbm5hZGEiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzS2F0YWthbmEodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc0thdGFrYW5hKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzS2F0YWthbmEiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzS2F0YWthbmFQaG9uZXRpY0V4dGVuc2lvbnModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc0thdGFrYW5hUGhvbmV0aWNFeHRlbnNpb25zKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzS2F0YWthbmFQaG9uZXRpY0V4dGVuc2lvbnMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzS2htZXIodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc0tobWVyKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzS2htZXIiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzS2htZXJTeW1ib2xzKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICBpbnQgY29kZTsgLyogVUNTIGNvZGUgcG9pbnQgKi8KKyAgICBpbnQgbl9jb2RlOworCisgICAgZm9yIChuX2NvZGUgPSAwO25fY29kZSA8IGdlbl9uYl9pbnQ7bl9jb2RlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY29kZSA9IGdlbl9pbnQobl9jb2RlLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVUNTSXNLaG1lclN5bWJvbHMoY29kZSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2ludChuX2NvZGUsIGNvZGUsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVUNTSXNLaG1lclN5bWJvbHMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzTGFvKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICBpbnQgY29kZTsgLyogVUNTIGNvZGUgcG9pbnQgKi8KKyAgICBpbnQgbl9jb2RlOworCisgICAgZm9yIChuX2NvZGUgPSAwO25fY29kZSA8IGdlbl9uYl9pbnQ7bl9jb2RlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY29kZSA9IGdlbl9pbnQobl9jb2RlLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVUNTSXNMYW8oY29kZSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2ludChuX2NvZGUsIGNvZGUsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVUNTSXNMYW8iLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzTGF0aW4xU3VwcGxlbWVudCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgaW50IGNvZGU7IC8qIFVDUyBjb2RlIHBvaW50ICovCisgICAgaW50IG5fY29kZTsKKworICAgIGZvciAobl9jb2RlID0gMDtuX2NvZGUgPCBnZW5fbmJfaW50O25fY29kZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGNvZGUgPSBnZW5faW50KG5fY29kZSwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFVDU0lzTGF0aW4xU3VwcGxlbWVudChjb2RlKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfaW50KG5fY29kZSwgY29kZSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxVQ1NJc0xhdGluMVN1cHBsZW1lbnQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzTGF0aW5FeHRlbmRlZEEodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc0xhdGluRXh0ZW5kZWRBKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzTGF0aW5FeHRlbmRlZEEiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzTGF0aW5FeHRlbmRlZEFkZGl0aW9uYWwodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc0xhdGluRXh0ZW5kZWRBZGRpdGlvbmFsKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzTGF0aW5FeHRlbmRlZEFkZGl0aW9uYWwiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzTGF0aW5FeHRlbmRlZEIodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc0xhdGluRXh0ZW5kZWRCKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzTGF0aW5FeHRlbmRlZEIiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzTGV0dGVybGlrZVN5bWJvbHModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc0xldHRlcmxpa2VTeW1ib2xzKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzTGV0dGVybGlrZVN5bWJvbHMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzTGltYnUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc0xpbWJ1KGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzTGltYnUiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzTGluZWFyQklkZW9ncmFtcyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgaW50IGNvZGU7IC8qIFVDUyBjb2RlIHBvaW50ICovCisgICAgaW50IG5fY29kZTsKKworICAgIGZvciAobl9jb2RlID0gMDtuX2NvZGUgPCBnZW5fbmJfaW50O25fY29kZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGNvZGUgPSBnZW5faW50KG5fY29kZSwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFVDU0lzTGluZWFyQklkZW9ncmFtcyhjb2RlKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfaW50KG5fY29kZSwgY29kZSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxVQ1NJc0xpbmVhckJJZGVvZ3JhbXMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzTGluZWFyQlN5bGxhYmFyeSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgaW50IGNvZGU7IC8qIFVDUyBjb2RlIHBvaW50ICovCisgICAgaW50IG5fY29kZTsKKworICAgIGZvciAobl9jb2RlID0gMDtuX2NvZGUgPCBnZW5fbmJfaW50O25fY29kZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGNvZGUgPSBnZW5faW50KG5fY29kZSwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFVDU0lzTGluZWFyQlN5bGxhYmFyeShjb2RlKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfaW50KG5fY29kZSwgY29kZSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxVQ1NJc0xpbmVhckJTeWxsYWJhcnkiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzTG93U3Vycm9nYXRlcyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgaW50IGNvZGU7IC8qIFVDUyBjb2RlIHBvaW50ICovCisgICAgaW50IG5fY29kZTsKKworICAgIGZvciAobl9jb2RlID0gMDtuX2NvZGUgPCBnZW5fbmJfaW50O25fY29kZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGNvZGUgPSBnZW5faW50KG5fY29kZSwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFVDU0lzTG93U3Vycm9nYXRlcyhjb2RlKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfaW50KG5fY29kZSwgY29kZSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxVQ1NJc0xvd1N1cnJvZ2F0ZXMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzTWFsYXlhbGFtKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICBpbnQgY29kZTsgLyogVUNTIGNvZGUgcG9pbnQgKi8KKyAgICBpbnQgbl9jb2RlOworCisgICAgZm9yIChuX2NvZGUgPSAwO25fY29kZSA8IGdlbl9uYl9pbnQ7bl9jb2RlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY29kZSA9IGdlbl9pbnQobl9jb2RlLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVUNTSXNNYWxheWFsYW0oY29kZSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2ludChuX2NvZGUsIGNvZGUsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVUNTSXNNYWxheWFsYW0iLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzTWF0aGVtYXRpY2FsQWxwaGFudW1lcmljU3ltYm9scyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgaW50IGNvZGU7IC8qIFVDUyBjb2RlIHBvaW50ICovCisgICAgaW50IG5fY29kZTsKKworICAgIGZvciAobl9jb2RlID0gMDtuX2NvZGUgPCBnZW5fbmJfaW50O25fY29kZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGNvZGUgPSBnZW5faW50KG5fY29kZSwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFVDU0lzTWF0aGVtYXRpY2FsQWxwaGFudW1lcmljU3ltYm9scyhjb2RlKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfaW50KG5fY29kZSwgY29kZSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxVQ1NJc01hdGhlbWF0aWNhbEFscGhhbnVtZXJpY1N5bWJvbHMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzTWF0aGVtYXRpY2FsT3BlcmF0b3JzKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICBpbnQgY29kZTsgLyogVUNTIGNvZGUgcG9pbnQgKi8KKyAgICBpbnQgbl9jb2RlOworCisgICAgZm9yIChuX2NvZGUgPSAwO25fY29kZSA8IGdlbl9uYl9pbnQ7bl9jb2RlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY29kZSA9IGdlbl9pbnQobl9jb2RlLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVUNTSXNNYXRoZW1hdGljYWxPcGVyYXRvcnMoY29kZSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2ludChuX2NvZGUsIGNvZGUsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVUNTSXNNYXRoZW1hdGljYWxPcGVyYXRvcnMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzTWlzY2VsbGFuZW91c01hdGhlbWF0aWNhbFN5bWJvbHNBKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICBpbnQgY29kZTsgLyogVUNTIGNvZGUgcG9pbnQgKi8KKyAgICBpbnQgbl9jb2RlOworCisgICAgZm9yIChuX2NvZGUgPSAwO25fY29kZSA8IGdlbl9uYl9pbnQ7bl9jb2RlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY29kZSA9IGdlbl9pbnQobl9jb2RlLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVUNTSXNNaXNjZWxsYW5lb3VzTWF0aGVtYXRpY2FsU3ltYm9sc0EoY29kZSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2ludChuX2NvZGUsIGNvZGUsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVUNTSXNNaXNjZWxsYW5lb3VzTWF0aGVtYXRpY2FsU3ltYm9sc0EiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzTWlzY2VsbGFuZW91c01hdGhlbWF0aWNhbFN5bWJvbHNCKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICBpbnQgY29kZTsgLyogVUNTIGNvZGUgcG9pbnQgKi8KKyAgICBpbnQgbl9jb2RlOworCisgICAgZm9yIChuX2NvZGUgPSAwO25fY29kZSA8IGdlbl9uYl9pbnQ7bl9jb2RlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY29kZSA9IGdlbl9pbnQobl9jb2RlLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVUNTSXNNaXNjZWxsYW5lb3VzTWF0aGVtYXRpY2FsU3ltYm9sc0IoY29kZSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2ludChuX2NvZGUsIGNvZGUsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVUNTSXNNaXNjZWxsYW5lb3VzTWF0aGVtYXRpY2FsU3ltYm9sc0IiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzTWlzY2VsbGFuZW91c1N5bWJvbHModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc01pc2NlbGxhbmVvdXNTeW1ib2xzKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzTWlzY2VsbGFuZW91c1N5bWJvbHMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzTWlzY2VsbGFuZW91c1N5bWJvbHNhbmRBcnJvd3Modm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc01pc2NlbGxhbmVvdXNTeW1ib2xzYW5kQXJyb3dzKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzTWlzY2VsbGFuZW91c1N5bWJvbHNhbmRBcnJvd3MiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzTWlzY2VsbGFuZW91c1RlY2huaWNhbCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgaW50IGNvZGU7IC8qIFVDUyBjb2RlIHBvaW50ICovCisgICAgaW50IG5fY29kZTsKKworICAgIGZvciAobl9jb2RlID0gMDtuX2NvZGUgPCBnZW5fbmJfaW50O25fY29kZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGNvZGUgPSBnZW5faW50KG5fY29kZSwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFVDU0lzTWlzY2VsbGFuZW91c1RlY2huaWNhbChjb2RlKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfaW50KG5fY29kZSwgY29kZSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxVQ1NJc01pc2NlbGxhbmVvdXNUZWNobmljYWwiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzTW9uZ29saWFuKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICBpbnQgY29kZTsgLyogVUNTIGNvZGUgcG9pbnQgKi8KKyAgICBpbnQgbl9jb2RlOworCisgICAgZm9yIChuX2NvZGUgPSAwO25fY29kZSA8IGdlbl9uYl9pbnQ7bl9jb2RlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY29kZSA9IGdlbl9pbnQobl9jb2RlLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVUNTSXNNb25nb2xpYW4oY29kZSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2ludChuX2NvZGUsIGNvZGUsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVUNTSXNNb25nb2xpYW4iLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzTXVzaWNhbFN5bWJvbHModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc011c2ljYWxTeW1ib2xzKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzTXVzaWNhbFN5bWJvbHMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzTXlhbm1hcih2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgaW50IGNvZGU7IC8qIFVDUyBjb2RlIHBvaW50ICovCisgICAgaW50IG5fY29kZTsKKworICAgIGZvciAobl9jb2RlID0gMDtuX2NvZGUgPCBnZW5fbmJfaW50O25fY29kZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGNvZGUgPSBnZW5faW50KG5fY29kZSwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFVDU0lzTXlhbm1hcihjb2RlKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfaW50KG5fY29kZSwgY29kZSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxVQ1NJc015YW5tYXIiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzTnVtYmVyRm9ybXModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc051bWJlckZvcm1zKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzTnVtYmVyRm9ybXMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzT2doYW0odm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc09naGFtKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzT2doYW0iLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzT2xkSXRhbGljKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICBpbnQgY29kZTsgLyogVUNTIGNvZGUgcG9pbnQgKi8KKyAgICBpbnQgbl9jb2RlOworCisgICAgZm9yIChuX2NvZGUgPSAwO25fY29kZSA8IGdlbl9uYl9pbnQ7bl9jb2RlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY29kZSA9IGdlbl9pbnQobl9jb2RlLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVUNTSXNPbGRJdGFsaWMoY29kZSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2ludChuX2NvZGUsIGNvZGUsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVUNTSXNPbGRJdGFsaWMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzT3B0aWNhbENoYXJhY3RlclJlY29nbml0aW9uKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICBpbnQgY29kZTsgLyogVUNTIGNvZGUgcG9pbnQgKi8KKyAgICBpbnQgbl9jb2RlOworCisgICAgZm9yIChuX2NvZGUgPSAwO25fY29kZSA8IGdlbl9uYl9pbnQ7bl9jb2RlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY29kZSA9IGdlbl9pbnQobl9jb2RlLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVUNTSXNPcHRpY2FsQ2hhcmFjdGVyUmVjb2duaXRpb24oY29kZSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2ludChuX2NvZGUsIGNvZGUsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVUNTSXNPcHRpY2FsQ2hhcmFjdGVyUmVjb2duaXRpb24iLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzT3JpeWEodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc09yaXlhKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzT3JpeWEiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzT3NtYW55YSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgaW50IGNvZGU7IC8qIFVDUyBjb2RlIHBvaW50ICovCisgICAgaW50IG5fY29kZTsKKworICAgIGZvciAobl9jb2RlID0gMDtuX2NvZGUgPCBnZW5fbmJfaW50O25fY29kZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGNvZGUgPSBnZW5faW50KG5fY29kZSwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFVDU0lzT3NtYW55YShjb2RlKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfaW50KG5fY29kZSwgY29kZSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxVQ1NJc09zbWFueWEiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzUGhvbmV0aWNFeHRlbnNpb25zKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICBpbnQgY29kZTsgLyogVUNTIGNvZGUgcG9pbnQgKi8KKyAgICBpbnQgbl9jb2RlOworCisgICAgZm9yIChuX2NvZGUgPSAwO25fY29kZSA8IGdlbl9uYl9pbnQ7bl9jb2RlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY29kZSA9IGdlbl9pbnQobl9jb2RlLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVUNTSXNQaG9uZXRpY0V4dGVuc2lvbnMoY29kZSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2ludChuX2NvZGUsIGNvZGUsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVUNTSXNQaG9uZXRpY0V4dGVuc2lvbnMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzUHJpdmF0ZVVzZSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgaW50IGNvZGU7IC8qIFVDUyBjb2RlIHBvaW50ICovCisgICAgaW50IG5fY29kZTsKKworICAgIGZvciAobl9jb2RlID0gMDtuX2NvZGUgPCBnZW5fbmJfaW50O25fY29kZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGNvZGUgPSBnZW5faW50KG5fY29kZSwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFVDU0lzUHJpdmF0ZVVzZShjb2RlKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfaW50KG5fY29kZSwgY29kZSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxVQ1NJc1ByaXZhdGVVc2UiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzUHJpdmF0ZVVzZUFyZWEodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc1ByaXZhdGVVc2VBcmVhKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzUHJpdmF0ZVVzZUFyZWEiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzUnVuaWModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc1J1bmljKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzUnVuaWMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzU2hhdmlhbih2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgaW50IGNvZGU7IC8qIFVDUyBjb2RlIHBvaW50ICovCisgICAgaW50IG5fY29kZTsKKworICAgIGZvciAobl9jb2RlID0gMDtuX2NvZGUgPCBnZW5fbmJfaW50O25fY29kZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGNvZGUgPSBnZW5faW50KG5fY29kZSwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFVDU0lzU2hhdmlhbihjb2RlKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfaW50KG5fY29kZSwgY29kZSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxVQ1NJc1NoYXZpYW4iLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzU2luaGFsYSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgaW50IGNvZGU7IC8qIFVDUyBjb2RlIHBvaW50ICovCisgICAgaW50IG5fY29kZTsKKworICAgIGZvciAobl9jb2RlID0gMDtuX2NvZGUgPCBnZW5fbmJfaW50O25fY29kZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGNvZGUgPSBnZW5faW50KG5fY29kZSwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFVDU0lzU2luaGFsYShjb2RlKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfaW50KG5fY29kZSwgY29kZSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxVQ1NJc1NpbmhhbGEiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzU21hbGxGb3JtVmFyaWFudHModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc1NtYWxsRm9ybVZhcmlhbnRzKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzU21hbGxGb3JtVmFyaWFudHMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzU3BhY2luZ01vZGlmaWVyTGV0dGVycyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgaW50IGNvZGU7IC8qIFVDUyBjb2RlIHBvaW50ICovCisgICAgaW50IG5fY29kZTsKKworICAgIGZvciAobl9jb2RlID0gMDtuX2NvZGUgPCBnZW5fbmJfaW50O25fY29kZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGNvZGUgPSBnZW5faW50KG5fY29kZSwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFVDU0lzU3BhY2luZ01vZGlmaWVyTGV0dGVycyhjb2RlKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfaW50KG5fY29kZSwgY29kZSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxVQ1NJc1NwYWNpbmdNb2RpZmllckxldHRlcnMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzU3BlY2lhbHModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc1NwZWNpYWxzKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzU3BlY2lhbHMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzU3VwZXJzY3JpcHRzYW5kU3Vic2NyaXB0cyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgaW50IGNvZGU7IC8qIFVDUyBjb2RlIHBvaW50ICovCisgICAgaW50IG5fY29kZTsKKworICAgIGZvciAobl9jb2RlID0gMDtuX2NvZGUgPCBnZW5fbmJfaW50O25fY29kZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGNvZGUgPSBnZW5faW50KG5fY29kZSwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFVDU0lzU3VwZXJzY3JpcHRzYW5kU3Vic2NyaXB0cyhjb2RlKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfaW50KG5fY29kZSwgY29kZSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxVQ1NJc1N1cGVyc2NyaXB0c2FuZFN1YnNjcmlwdHMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzU3VwcGxlbWVudGFsQXJyb3dzQSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgaW50IGNvZGU7IC8qIFVDUyBjb2RlIHBvaW50ICovCisgICAgaW50IG5fY29kZTsKKworICAgIGZvciAobl9jb2RlID0gMDtuX2NvZGUgPCBnZW5fbmJfaW50O25fY29kZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGNvZGUgPSBnZW5faW50KG5fY29kZSwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFVDU0lzU3VwcGxlbWVudGFsQXJyb3dzQShjb2RlKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfaW50KG5fY29kZSwgY29kZSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxVQ1NJc1N1cHBsZW1lbnRhbEFycm93c0EiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzU3VwcGxlbWVudGFsQXJyb3dzQih2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgaW50IGNvZGU7IC8qIFVDUyBjb2RlIHBvaW50ICovCisgICAgaW50IG5fY29kZTsKKworICAgIGZvciAobl9jb2RlID0gMDtuX2NvZGUgPCBnZW5fbmJfaW50O25fY29kZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGNvZGUgPSBnZW5faW50KG5fY29kZSwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFVDU0lzU3VwcGxlbWVudGFsQXJyb3dzQihjb2RlKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfaW50KG5fY29kZSwgY29kZSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxVQ1NJc1N1cHBsZW1lbnRhbEFycm93c0IiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzU3VwcGxlbWVudGFsTWF0aGVtYXRpY2FsT3BlcmF0b3JzKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICBpbnQgY29kZTsgLyogVUNTIGNvZGUgcG9pbnQgKi8KKyAgICBpbnQgbl9jb2RlOworCisgICAgZm9yIChuX2NvZGUgPSAwO25fY29kZSA8IGdlbl9uYl9pbnQ7bl9jb2RlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY29kZSA9IGdlbl9pbnQobl9jb2RlLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVUNTSXNTdXBwbGVtZW50YWxNYXRoZW1hdGljYWxPcGVyYXRvcnMoY29kZSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2ludChuX2NvZGUsIGNvZGUsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVUNTSXNTdXBwbGVtZW50YWxNYXRoZW1hdGljYWxPcGVyYXRvcnMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzU3VwcGxlbWVudGFyeVByaXZhdGVVc2VBcmVhQSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgaW50IGNvZGU7IC8qIFVDUyBjb2RlIHBvaW50ICovCisgICAgaW50IG5fY29kZTsKKworICAgIGZvciAobl9jb2RlID0gMDtuX2NvZGUgPCBnZW5fbmJfaW50O25fY29kZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGNvZGUgPSBnZW5faW50KG5fY29kZSwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFVDU0lzU3VwcGxlbWVudGFyeVByaXZhdGVVc2VBcmVhQShjb2RlKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfaW50KG5fY29kZSwgY29kZSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxVQ1NJc1N1cHBsZW1lbnRhcnlQcml2YXRlVXNlQXJlYUEiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzU3VwcGxlbWVudGFyeVByaXZhdGVVc2VBcmVhQih2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgaW50IGNvZGU7IC8qIFVDUyBjb2RlIHBvaW50ICovCisgICAgaW50IG5fY29kZTsKKworICAgIGZvciAobl9jb2RlID0gMDtuX2NvZGUgPCBnZW5fbmJfaW50O25fY29kZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGNvZGUgPSBnZW5faW50KG5fY29kZSwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFVDU0lzU3VwcGxlbWVudGFyeVByaXZhdGVVc2VBcmVhQihjb2RlKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfaW50KG5fY29kZSwgY29kZSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxVQ1NJc1N1cHBsZW1lbnRhcnlQcml2YXRlVXNlQXJlYUIiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzU3lyaWFjKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICBpbnQgY29kZTsgLyogVUNTIGNvZGUgcG9pbnQgKi8KKyAgICBpbnQgbl9jb2RlOworCisgICAgZm9yIChuX2NvZGUgPSAwO25fY29kZSA8IGdlbl9uYl9pbnQ7bl9jb2RlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY29kZSA9IGdlbl9pbnQobl9jb2RlLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVUNTSXNTeXJpYWMoY29kZSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2ludChuX2NvZGUsIGNvZGUsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVUNTSXNTeXJpYWMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzVGFnYWxvZyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgaW50IGNvZGU7IC8qIFVDUyBjb2RlIHBvaW50ICovCisgICAgaW50IG5fY29kZTsKKworICAgIGZvciAobl9jb2RlID0gMDtuX2NvZGUgPCBnZW5fbmJfaW50O25fY29kZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGNvZGUgPSBnZW5faW50KG5fY29kZSwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFVDU0lzVGFnYWxvZyhjb2RlKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfaW50KG5fY29kZSwgY29kZSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxVQ1NJc1RhZ2Fsb2ciLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzVGFnYmFud2Eodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc1RhZ2JhbndhKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzVGFnYmFud2EiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzVGFncyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgaW50IGNvZGU7IC8qIFVDUyBjb2RlIHBvaW50ICovCisgICAgaW50IG5fY29kZTsKKworICAgIGZvciAobl9jb2RlID0gMDtuX2NvZGUgPCBnZW5fbmJfaW50O25fY29kZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGNvZGUgPSBnZW5faW50KG5fY29kZSwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFVDU0lzVGFncyhjb2RlKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfaW50KG5fY29kZSwgY29kZSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxVQ1NJc1RhZ3MiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzVGFpTGUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc1RhaUxlKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzVGFpTGUiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzVGFpWHVhbkppbmdTeW1ib2xzKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICBpbnQgY29kZTsgLyogVUNTIGNvZGUgcG9pbnQgKi8KKyAgICBpbnQgbl9jb2RlOworCisgICAgZm9yIChuX2NvZGUgPSAwO25fY29kZSA8IGdlbl9uYl9pbnQ7bl9jb2RlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY29kZSA9IGdlbl9pbnQobl9jb2RlLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVUNTSXNUYWlYdWFuSmluZ1N5bWJvbHMoY29kZSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2ludChuX2NvZGUsIGNvZGUsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVUNTSXNUYWlYdWFuSmluZ1N5bWJvbHMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzVGFtaWwodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc1RhbWlsKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzVGFtaWwiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzVGVsdWd1KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICBpbnQgY29kZTsgLyogVUNTIGNvZGUgcG9pbnQgKi8KKyAgICBpbnQgbl9jb2RlOworCisgICAgZm9yIChuX2NvZGUgPSAwO25fY29kZSA8IGdlbl9uYl9pbnQ7bl9jb2RlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY29kZSA9IGdlbl9pbnQobl9jb2RlLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVUNTSXNUZWx1Z3UoY29kZSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2ludChuX2NvZGUsIGNvZGUsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVUNTSXNUZWx1Z3UiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzVGhhYW5hKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICBpbnQgY29kZTsgLyogVUNTIGNvZGUgcG9pbnQgKi8KKyAgICBpbnQgbl9jb2RlOworCisgICAgZm9yIChuX2NvZGUgPSAwO25fY29kZSA8IGdlbl9uYl9pbnQ7bl9jb2RlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY29kZSA9IGdlbl9pbnQobl9jb2RlLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVUNTSXNUaGFhbmEoY29kZSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2ludChuX2NvZGUsIGNvZGUsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVUNTSXNUaGFhbmEiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzVGhhaSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgaW50IGNvZGU7IC8qIFVDUyBjb2RlIHBvaW50ICovCisgICAgaW50IG5fY29kZTsKKworICAgIGZvciAobl9jb2RlID0gMDtuX2NvZGUgPCBnZW5fbmJfaW50O25fY29kZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGNvZGUgPSBnZW5faW50KG5fY29kZSwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFVDU0lzVGhhaShjb2RlKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfaW50KG5fY29kZSwgY29kZSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxVQ1NJc1RoYWkiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzVGliZXRhbih2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgaW50IGNvZGU7IC8qIFVDUyBjb2RlIHBvaW50ICovCisgICAgaW50IG5fY29kZTsKKworICAgIGZvciAobl9jb2RlID0gMDtuX2NvZGUgPCBnZW5fbmJfaW50O25fY29kZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGNvZGUgPSBnZW5faW50KG5fY29kZSwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFVDU0lzVGliZXRhbihjb2RlKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfaW50KG5fY29kZSwgY29kZSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxVQ1NJc1RpYmV0YW4iLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzVWdhcml0aWModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc1VnYXJpdGljKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzVWdhcml0aWMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzVW5pZmllZENhbmFkaWFuQWJvcmlnaW5hbFN5bGxhYmljcyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgaW50IGNvZGU7IC8qIFVDUyBjb2RlIHBvaW50ICovCisgICAgaW50IG5fY29kZTsKKworICAgIGZvciAobl9jb2RlID0gMDtuX2NvZGUgPCBnZW5fbmJfaW50O25fY29kZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGNvZGUgPSBnZW5faW50KG5fY29kZSwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFVDU0lzVW5pZmllZENhbmFkaWFuQWJvcmlnaW5hbFN5bGxhYmljcyhjb2RlKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfaW50KG5fY29kZSwgY29kZSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxVQ1NJc1VuaWZpZWRDYW5hZGlhbkFib3JpZ2luYWxTeWxsYWJpY3MiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzVmFyaWF0aW9uU2VsZWN0b3JzKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICBpbnQgY29kZTsgLyogVUNTIGNvZGUgcG9pbnQgKi8KKyAgICBpbnQgbl9jb2RlOworCisgICAgZm9yIChuX2NvZGUgPSAwO25fY29kZSA8IGdlbl9uYl9pbnQ7bl9jb2RlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY29kZSA9IGdlbl9pbnQobl9jb2RlLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVUNTSXNWYXJpYXRpb25TZWxlY3RvcnMoY29kZSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2ludChuX2NvZGUsIGNvZGUsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVUNTSXNWYXJpYXRpb25TZWxlY3RvcnMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzVmFyaWF0aW9uU2VsZWN0b3JzU3VwcGxlbWVudCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgaW50IGNvZGU7IC8qIFVDUyBjb2RlIHBvaW50ICovCisgICAgaW50IG5fY29kZTsKKworICAgIGZvciAobl9jb2RlID0gMDtuX2NvZGUgPCBnZW5fbmJfaW50O25fY29kZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGNvZGUgPSBnZW5faW50KG5fY29kZSwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFVDU0lzVmFyaWF0aW9uU2VsZWN0b3JzU3VwcGxlbWVudChjb2RlKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfaW50KG5fY29kZSwgY29kZSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxVQ1NJc1ZhcmlhdGlvblNlbGVjdG9yc1N1cHBsZW1lbnQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzWWlSYWRpY2Fscyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1VOSUNPREVfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgaW50IGNvZGU7IC8qIFVDUyBjb2RlIHBvaW50ICovCisgICAgaW50IG5fY29kZTsKKworICAgIGZvciAobl9jb2RlID0gMDtuX2NvZGUgPCBnZW5fbmJfaW50O25fY29kZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGNvZGUgPSBnZW5faW50KG5fY29kZSwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFVDU0lzWWlSYWRpY2Fscyhjb2RlKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfaW50KG5fY29kZSwgY29kZSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxVQ1NJc1lpUmFkaWNhbHMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzWWlTeWxsYWJsZXModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9VTklDT0RFX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIGludCBjb2RlOyAvKiBVQ1MgY29kZSBwb2ludCAqLworICAgIGludCBuX2NvZGU7CisKKyAgICBmb3IgKG5fY29kZSA9IDA7bl9jb2RlIDwgZ2VuX25iX2ludDtuX2NvZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb2RlID0gZ2VuX2ludChuX2NvZGUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxVQ1NJc1lpU3lsbGFibGVzKGNvZGUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl9jb2RlLCBjb2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFVDU0lzWWlTeWxsYWJsZXMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFVDU0lzWWlqaW5nSGV4YWdyYW1TeW1ib2xzKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfVU5JQ09ERV9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICBpbnQgY29kZTsgLyogVUNTIGNvZGUgcG9pbnQgKi8KKyAgICBpbnQgbl9jb2RlOworCisgICAgZm9yIChuX2NvZGUgPSAwO25fY29kZSA8IGdlbl9uYl9pbnQ7bl9jb2RlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY29kZSA9IGdlbl9pbnQobl9jb2RlLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVUNTSXNZaWppbmdIZXhhZ3JhbVN5bWJvbHMoY29kZSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2ludChuX2NvZGUsIGNvZGUsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVUNTSXNZaWppbmdIZXhhZ3JhbVN5bWJvbHMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworc3RhdGljIGludAordGVzdF94bWx1bmljb2RlKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaWYgKHF1aWV0ID09IDApIHByaW50ZigiVGVzdGluZyB4bWx1bmljb2RlIDogMTY2IG9mIDE2NiBmdW5jdGlvbnMgLi4uXG4iKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFVDU0lzQWVnZWFuTnVtYmVycygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVUNTSXNBbHBoYWJldGljUHJlc2VudGF0aW9uRm9ybXMoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFVDU0lzQXJhYmljKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxVQ1NJc0FyYWJpY1ByZXNlbnRhdGlvbkZvcm1zQSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVUNTSXNBcmFiaWNQcmVzZW50YXRpb25Gb3Jtc0IoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFVDU0lzQXJtZW5pYW4oKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFVDU0lzQXJyb3dzKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxVQ1NJc0Jhc2ljTGF0aW4oKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFVDU0lzQmVuZ2FsaSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVUNTSXNCbG9jaygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVUNTSXNCbG9ja0VsZW1lbnRzKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxVQ1NJc0JvcG9tb2ZvKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxVQ1NJc0JvcG9tb2ZvRXh0ZW5kZWQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFVDU0lzQm94RHJhd2luZygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVUNTSXNCcmFpbGxlUGF0dGVybnMoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFVDU0lzQnVoaWQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFVDU0lzQnl6YW50aW5lTXVzaWNhbFN5bWJvbHMoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVUNTSXNDSktDb21wYXRpYmlsaXR5Rm9ybXMoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eUlkZW9ncmFwaHMoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eUlkZW9ncmFwaHNTdXBwbGVtZW50KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxVQ1NJc0NKS1JhZGljYWxzU3VwcGxlbWVudCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVUNTSXNDSktTeW1ib2xzYW5kUHVuY3R1YXRpb24oKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFVDU0lzQ0pLVW5pZmllZElkZW9ncmFwaHMoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFVDU0lzQ0pLVW5pZmllZElkZW9ncmFwaHNFeHRlbnNpb25BKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxVQ1NJc0NKS1VuaWZpZWRJZGVvZ3JhcGhzRXh0ZW5zaW9uQigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVUNTSXNDYXQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFVDU0lzQ2F0QygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVUNTSXNDYXRDYygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVUNTSXNDYXRDZigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVUNTSXNDYXRDbygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVUNTSXNDYXRDcygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVUNTSXNDYXRMKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxVQ1NJc0NhdExsKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxVQ1NJc0NhdExtKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxVQ1NJc0NhdExvKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxVQ1NJc0NhdEx0KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxVQ1NJc0NhdEx1KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxVQ1NJc0NhdE0oKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFVDU0lzQ2F0TWMoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFVDU0lzQ2F0TWUoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFVDU0lzQ2F0TW4oKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFVDU0lzQ2F0TigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVUNTSXNDYXROZCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVUNTSXNDYXRObCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVUNTSXNDYXRObygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVUNTSXNDYXRQKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxVQ1NJc0NhdFBjKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxVQ1NJc0NhdFBkKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxVQ1NJc0NhdFBlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxVQ1NJc0NhdFBmKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxVQ1NJc0NhdFBpKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxVQ1NJc0NhdFBvKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxVQ1NJc0NhdFBzKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxVQ1NJc0NhdFMoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFVDU0lzQ2F0U2MoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFVDU0lzQ2F0U2soKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFVDU0lzQ2F0U20oKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFVDU0lzQ2F0U28oKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFVDU0lzQ2F0WigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVUNTSXNDYXRabCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVUNTSXNDYXRacCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVUNTSXNDYXRacygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVUNTSXNDaGVyb2tlZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVUNTSXNDb21iaW5pbmdEaWFjcml0aWNhbE1hcmtzKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxVQ1NJc0NvbWJpbmluZ0RpYWNyaXRpY2FsTWFya3Nmb3JTeW1ib2xzKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxVQ1NJc0NvbWJpbmluZ0hhbGZNYXJrcygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVUNTSXNDb21iaW5pbmdNYXJrc2ZvclN5bWJvbHMoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFVDU0lzQ29udHJvbFBpY3R1cmVzKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxVQ1NJc0N1cnJlbmN5U3ltYm9scygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVUNTSXNDeXByaW90U3lsbGFiYXJ5KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxVQ1NJc0N5cmlsbGljKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxVQ1NJc0N5cmlsbGljU3VwcGxlbWVudCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVUNTSXNEZXNlcmV0KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxVQ1NJc0RldmFuYWdhcmkoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFVDU0lzRGluZ2JhdHMoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFVDU0lzRW5jbG9zZWRBbHBoYW51bWVyaWNzKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxVQ1NJc0VuY2xvc2VkQ0pLTGV0dGVyc2FuZE1vbnRocygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVUNTSXNFdGhpb3BpYygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVUNTSXNHZW5lcmFsUHVuY3R1YXRpb24oKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFVDU0lzR2VvbWV0cmljU2hhcGVzKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxVQ1NJc0dlb3JnaWFuKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxVQ1NJc0dvdGhpYygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVUNTSXNHcmVlaygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVUNTSXNHcmVla0V4dGVuZGVkKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxVQ1NJc0dyZWVrYW5kQ29wdGljKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxVQ1NJc0d1amFyYXRpKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxVQ1NJc0d1cm11a2hpKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxVQ1NJc0hhbGZ3aWR0aGFuZEZ1bGx3aWR0aEZvcm1zKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxVQ1NJc0hhbmd1bENvbXBhdGliaWxpdHlKYW1vKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxVQ1NJc0hhbmd1bEphbW8oKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFVDU0lzSGFuZ3VsU3lsbGFibGVzKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxVQ1NJc0hhbnVub28oKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFVDU0lzSGVicmV3KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxVQ1NJc0hpZ2hQcml2YXRlVXNlU3Vycm9nYXRlcygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVUNTSXNIaWdoU3Vycm9nYXRlcygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVUNTSXNIaXJhZ2FuYSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVUNTSXNJUEFFeHRlbnNpb25zKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxVQ1NJc0lkZW9ncmFwaGljRGVzY3JpcHRpb25DaGFyYWN0ZXJzKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxVQ1NJc0thbmJ1bigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVUNTSXNLYW5neGlSYWRpY2FscygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVUNTSXNLYW5uYWRhKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxVQ1NJc0thdGFrYW5hKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxVQ1NJc0thdGFrYW5hUGhvbmV0aWNFeHRlbnNpb25zKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxVQ1NJc0tobWVyKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxVQ1NJc0tobWVyU3ltYm9scygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVUNTSXNMYW8oKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFVDU0lzTGF0aW4xU3VwcGxlbWVudCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVUNTSXNMYXRpbkV4dGVuZGVkQSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVUNTSXNMYXRpbkV4dGVuZGVkQWRkaXRpb25hbCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVUNTSXNMYXRpbkV4dGVuZGVkQigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVUNTSXNMZXR0ZXJsaWtlU3ltYm9scygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVUNTSXNMaW1idSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVUNTSXNMaW5lYXJCSWRlb2dyYW1zKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxVQ1NJc0xpbmVhckJTeWxsYWJhcnkoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFVDU0lzTG93U3Vycm9nYXRlcygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVUNTSXNNYWxheWFsYW0oKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFVDU0lzTWF0aGVtYXRpY2FsQWxwaGFudW1lcmljU3ltYm9scygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVUNTSXNNYXRoZW1hdGljYWxPcGVyYXRvcnMoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFVDU0lzTWlzY2VsbGFuZW91c01hdGhlbWF0aWNhbFN5bWJvbHNBKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxVQ1NJc01pc2NlbGxhbmVvdXNNYXRoZW1hdGljYWxTeW1ib2xzQigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVUNTSXNNaXNjZWxsYW5lb3VzU3ltYm9scygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVUNTSXNNaXNjZWxsYW5lb3VzU3ltYm9sc2FuZEFycm93cygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVUNTSXNNaXNjZWxsYW5lb3VzVGVjaG5pY2FsKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxVQ1NJc01vbmdvbGlhbigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVUNTSXNNdXNpY2FsU3ltYm9scygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVUNTSXNNeWFubWFyKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxVQ1NJc051bWJlckZvcm1zKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxVQ1NJc09naGFtKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxVQ1NJc09sZEl0YWxpYygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVUNTSXNPcHRpY2FsQ2hhcmFjdGVyUmVjb2duaXRpb24oKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFVDU0lzT3JpeWEoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFVDU0lzT3NtYW55YSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVUNTSXNQaG9uZXRpY0V4dGVuc2lvbnMoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFVDU0lzUHJpdmF0ZVVzZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVUNTSXNQcml2YXRlVXNlQXJlYSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVUNTSXNSdW5pYygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVUNTSXNTaGF2aWFuKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxVQ1NJc1NpbmhhbGEoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFVDU0lzU21hbGxGb3JtVmFyaWFudHMoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFVDU0lzU3BhY2luZ01vZGlmaWVyTGV0dGVycygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVUNTSXNTcGVjaWFscygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVUNTSXNTdXBlcnNjcmlwdHNhbmRTdWJzY3JpcHRzKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxVQ1NJc1N1cHBsZW1lbnRhbEFycm93c0EoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFVDU0lzU3VwcGxlbWVudGFsQXJyb3dzQigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVUNTSXNTdXBwbGVtZW50YWxNYXRoZW1hdGljYWxPcGVyYXRvcnMoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFVDU0lzU3VwcGxlbWVudGFyeVByaXZhdGVVc2VBcmVhQSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVUNTSXNTdXBwbGVtZW50YXJ5UHJpdmF0ZVVzZUFyZWFCKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxVQ1NJc1N5cmlhYygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVUNTSXNUYWdhbG9nKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxVQ1NJc1RhZ2JhbndhKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxVQ1NJc1RhZ3MoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFVDU0lzVGFpTGUoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFVDU0lzVGFpWHVhbkppbmdTeW1ib2xzKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxVQ1NJc1RhbWlsKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxVQ1NJc1RlbHVndSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVUNTSXNUaGFhbmEoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFVDU0lzVGhhaSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVUNTSXNUaWJldGFuKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxVQ1NJc1VnYXJpdGljKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxVQ1NJc1VuaWZpZWRDYW5hZGlhbkFib3JpZ2luYWxTeWxsYWJpY3MoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFVDU0lzVmFyaWF0aW9uU2VsZWN0b3JzKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxVQ1NJc1ZhcmlhdGlvblNlbGVjdG9yc1N1cHBsZW1lbnQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFVDU0lzWWlSYWRpY2FscygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVUNTSXNZaVN5bGxhYmxlcygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVUNTSXNZaWppbmdIZXhhZ3JhbVN5bWJvbHMoKTsKKworICAgIGlmICh0ZXN0X3JldCAhPSAwKQorCXByaW50ZigiTW9kdWxlIHhtbHVuaWNvZGU6ICVkIGVycm9yc1xuIiwgdGVzdF9yZXQpOworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sTmV3VGV4dFdyaXRlcih2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxUZXh0V3JpdGVyUHRyIHJldF92YWw7CisgICAgeG1sT3V0cHV0QnVmZmVyUHRyIG91dDsgLyogYW4geG1sT3V0cHV0QnVmZmVyUHRyICovCisgICAgaW50IG5fb3V0OworCisgICAgZm9yIChuX291dCA9IDA7bl9vdXQgPCBnZW5fbmJfeG1sT3V0cHV0QnVmZmVyUHRyO25fb3V0KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgb3V0ID0gZ2VuX3htbE91dHB1dEJ1ZmZlclB0cihuX291dCwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbE5ld1RleHRXcml0ZXIob3V0KTsKKyAgICAgICAgaWYgKHJldF92YWwgIT0gTlVMTCkgb3V0ID0gTlVMTDsKKyAgICAgICAgZGVzcmV0X3htbFRleHRXcml0ZXJQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbE91dHB1dEJ1ZmZlclB0cihuX291dCwgb3V0LCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbE5ld1RleHRXcml0ZXIiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fb3V0KTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sTmV3VGV4dFdyaXRlckZpbGVuYW1lKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbFRleHRXcml0ZXJQdHIgcmV0X3ZhbDsKKyAgICBjb25zdCBjaGFyICogdXJpOyAvKiB0aGUgVVJJIG9mIHRoZSByZXNvdXJjZSBmb3IgdGhlIG91dHB1dCAqLworICAgIGludCBuX3VyaTsKKyAgICBpbnQgY29tcHJlc3Npb247IC8qIGNvbXByZXNzIHRoZSBvdXRwdXQ/ICovCisgICAgaW50IG5fY29tcHJlc3Npb247CisKKyAgICBmb3IgKG5fdXJpID0gMDtuX3VyaSA8IGdlbl9uYl9maWxlb3V0cHV0O25fdXJpKyspIHsKKyAgICBmb3IgKG5fY29tcHJlc3Npb24gPSAwO25fY29tcHJlc3Npb24gPCBnZW5fbmJfaW50O25fY29tcHJlc3Npb24rKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICB1cmkgPSBnZW5fZmlsZW91dHB1dChuX3VyaSwgMCk7CisgICAgICAgIGNvbXByZXNzaW9uID0gZ2VuX2ludChuX2NvbXByZXNzaW9uLCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sTmV3VGV4dFdyaXRlckZpbGVuYW1lKHVyaSwgY29tcHJlc3Npb24pOworICAgICAgICBkZXNyZXRfeG1sVGV4dFdyaXRlclB0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfZmlsZW91dHB1dChuX3VyaSwgdXJpLCAwKTsKKyAgICAgICAgZGVzX2ludChuX2NvbXByZXNzaW9uLCBjb21wcmVzc2lvbiwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxOZXdUZXh0V3JpdGVyRmlsZW5hbWUiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdXJpKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jb21wcmVzc2lvbik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxOZXdUZXh0V3JpdGVyTWVtb3J5KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbFRleHRXcml0ZXJQdHIgcmV0X3ZhbDsKKyAgICB4bWxCdWZmZXJQdHIgYnVmOyAvKiB4bWxCdWZmZXJQdHIgKi8KKyAgICBpbnQgbl9idWY7CisgICAgaW50IGNvbXByZXNzaW9uOyAvKiBjb21wcmVzcyB0aGUgb3V0cHV0PyAqLworICAgIGludCBuX2NvbXByZXNzaW9uOworCisgICAgZm9yIChuX2J1ZiA9IDA7bl9idWYgPCBnZW5fbmJfeG1sQnVmZmVyUHRyO25fYnVmKyspIHsKKyAgICBmb3IgKG5fY29tcHJlc3Npb24gPSAwO25fY29tcHJlc3Npb24gPCBnZW5fbmJfaW50O25fY29tcHJlc3Npb24rKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBidWYgPSBnZW5feG1sQnVmZmVyUHRyKG5fYnVmLCAwKTsKKyAgICAgICAgY29tcHJlc3Npb24gPSBnZW5faW50KG5fY29tcHJlc3Npb24sIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxOZXdUZXh0V3JpdGVyTWVtb3J5KGJ1ZiwgY29tcHJlc3Npb24pOworICAgICAgICBkZXNyZXRfeG1sVGV4dFdyaXRlclB0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sQnVmZmVyUHRyKG5fYnVmLCBidWYsIDApOworICAgICAgICBkZXNfaW50KG5fY29tcHJlc3Npb24sIGNvbXByZXNzaW9uLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbE5ld1RleHRXcml0ZXJNZW1vcnkiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fYnVmKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jb21wcmVzc2lvbik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxOZXdUZXh0V3JpdGVyUHVzaFBhcnNlcih2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxUZXh0V3JpdGVyUHRyIHJldF92YWw7CisgICAgeG1sUGFyc2VyQ3R4dFB0ciBjdHh0OyAvKiB4bWxQYXJzZXJDdHh0UHRyIHRvIGhvbGQgdGhlIG5ldyBYTUwgZG9jdW1lbnQgdHJlZSAqLworICAgIGludCBuX2N0eHQ7CisgICAgaW50IGNvbXByZXNzaW9uOyAvKiBjb21wcmVzcyB0aGUgb3V0cHV0PyAqLworICAgIGludCBuX2NvbXByZXNzaW9uOworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxQYXJzZXJDdHh0UHRyO25fY3R4dCsrKSB7CisgICAgZm9yIChuX2NvbXByZXNzaW9uID0gMDtuX2NvbXByZXNzaW9uIDwgZ2VuX25iX2ludDtuX2NvbXByZXNzaW9uKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4dCA9IGdlbl94bWxQYXJzZXJDdHh0UHRyKG5fY3R4dCwgMCk7CisgICAgICAgIGNvbXByZXNzaW9uID0gZ2VuX2ludChuX2NvbXByZXNzaW9uLCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sTmV3VGV4dFdyaXRlclB1c2hQYXJzZXIoY3R4dCwgY29tcHJlc3Npb24pOworICAgICAgICBpZiAoY3R4dCAhPSBOVUxMKSB7eG1sRnJlZURvYyhjdHh0LT5teURvYyk7IGN0eHQtPm15RG9jID0gTlVMTDt9IGlmIChyZXRfdmFsICE9IE5VTEwpIGN0eHQgPSBOVUxMOworICAgICAgICBkZXNyZXRfeG1sVGV4dFdyaXRlclB0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sUGFyc2VyQ3R4dFB0cihuX2N0eHQsIGN0eHQsIDApOworICAgICAgICBkZXNfaW50KG5fY29tcHJlc3Npb24sIGNvbXByZXNzaW9uLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbE5ld1RleHRXcml0ZXJQdXNoUGFyc2VyIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2NvbXByZXNzaW9uKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbE5ld1RleHRXcml0ZXJUcmVlKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbFRleHRXcml0ZXJQdHIgcmV0X3ZhbDsKKyAgICB4bWxEb2NQdHIgZG9jOyAvKiB4bWxEb2NQdHIgKi8KKyAgICBpbnQgbl9kb2M7CisgICAgeG1sTm9kZVB0ciBub2RlOyAvKiB4bWxOb2RlUHRyIG9yIE5VTEwgZm9yIGRvYy0+Y2hpbGRyZW4gKi8KKyAgICBpbnQgbl9ub2RlOworICAgIGludCBjb21wcmVzc2lvbjsgLyogY29tcHJlc3MgdGhlIG91dHB1dD8gKi8KKyAgICBpbnQgbl9jb21wcmVzc2lvbjsKKworICAgIGZvciAobl9kb2MgPSAwO25fZG9jIDwgZ2VuX25iX3htbERvY1B0cjtuX2RvYysrKSB7CisgICAgZm9yIChuX25vZGUgPSAwO25fbm9kZSA8IGdlbl9uYl94bWxOb2RlUHRyO25fbm9kZSsrKSB7CisgICAgZm9yIChuX2NvbXByZXNzaW9uID0gMDtuX2NvbXByZXNzaW9uIDwgZ2VuX25iX2ludDtuX2NvbXByZXNzaW9uKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgZG9jID0gZ2VuX3htbERvY1B0cihuX2RvYywgMCk7CisgICAgICAgIG5vZGUgPSBnZW5feG1sTm9kZVB0cihuX25vZGUsIDEpOworICAgICAgICBjb21wcmVzc2lvbiA9IGdlbl9pbnQobl9jb21wcmVzc2lvbiwgMik7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbE5ld1RleHRXcml0ZXJUcmVlKGRvYywgbm9kZSwgY29tcHJlc3Npb24pOworICAgICAgICBkZXNyZXRfeG1sVGV4dFdyaXRlclB0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sRG9jUHRyKG5fZG9jLCBkb2MsIDApOworICAgICAgICBkZXNfeG1sTm9kZVB0cihuX25vZGUsIG5vZGUsIDEpOworICAgICAgICBkZXNfaW50KG5fY29tcHJlc3Npb24sIGNvbXByZXNzaW9uLCAyKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbE5ld1RleHRXcml0ZXJUcmVlIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2RvYyk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbm9kZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29tcHJlc3Npb24pOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFRleHRXcml0ZXJFbmRBdHRyaWJ1dGUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sVGV4dFdyaXRlclB0ciB3cml0ZXI7IC8qIHRoZSB4bWxUZXh0V3JpdGVyUHRyICovCisgICAgaW50IG5fd3JpdGVyOworCisgICAgZm9yIChuX3dyaXRlciA9IDA7bl93cml0ZXIgPCBnZW5fbmJfeG1sVGV4dFdyaXRlclB0cjtuX3dyaXRlcisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHdyaXRlciA9IGdlbl94bWxUZXh0V3JpdGVyUHRyKG5fd3JpdGVyLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVGV4dFdyaXRlckVuZEF0dHJpYnV0ZSh3cml0ZXIpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxUZXh0V3JpdGVyUHRyKG5fd3JpdGVyLCB3cml0ZXIsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVGV4dFdyaXRlckVuZEF0dHJpYnV0ZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl93cml0ZXIpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxUZXh0V3JpdGVyRW5kQ0RBVEEodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sVGV4dFdyaXRlclB0ciB3cml0ZXI7IC8qIHRoZSB4bWxUZXh0V3JpdGVyUHRyICovCisgICAgaW50IG5fd3JpdGVyOworCisgICAgZm9yIChuX3dyaXRlciA9IDA7bl93cml0ZXIgPCBnZW5fbmJfeG1sVGV4dFdyaXRlclB0cjtuX3dyaXRlcisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHdyaXRlciA9IGdlbl94bWxUZXh0V3JpdGVyUHRyKG5fd3JpdGVyLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVGV4dFdyaXRlckVuZENEQVRBKHdyaXRlcik7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFRleHRXcml0ZXJQdHIobl93cml0ZXIsIHdyaXRlciwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxUZXh0V3JpdGVyRW5kQ0RBVEEiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fd3JpdGVyKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVGV4dFdyaXRlckVuZENvbW1lbnQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sVGV4dFdyaXRlclB0ciB3cml0ZXI7IC8qIHRoZSB4bWxUZXh0V3JpdGVyUHRyICovCisgICAgaW50IG5fd3JpdGVyOworCisgICAgZm9yIChuX3dyaXRlciA9IDA7bl93cml0ZXIgPCBnZW5fbmJfeG1sVGV4dFdyaXRlclB0cjtuX3dyaXRlcisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHdyaXRlciA9IGdlbl94bWxUZXh0V3JpdGVyUHRyKG5fd3JpdGVyLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVGV4dFdyaXRlckVuZENvbW1lbnQod3JpdGVyKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sVGV4dFdyaXRlclB0cihuX3dyaXRlciwgd3JpdGVyLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFRleHRXcml0ZXJFbmRDb21tZW50IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3dyaXRlcik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFRleHRXcml0ZXJFbmREVEQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sVGV4dFdyaXRlclB0ciB3cml0ZXI7IC8qIHRoZSB4bWxUZXh0V3JpdGVyUHRyICovCisgICAgaW50IG5fd3JpdGVyOworCisgICAgZm9yIChuX3dyaXRlciA9IDA7bl93cml0ZXIgPCBnZW5fbmJfeG1sVGV4dFdyaXRlclB0cjtuX3dyaXRlcisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHdyaXRlciA9IGdlbl94bWxUZXh0V3JpdGVyUHRyKG5fd3JpdGVyLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVGV4dFdyaXRlckVuZERURCh3cml0ZXIpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxUZXh0V3JpdGVyUHRyKG5fd3JpdGVyLCB3cml0ZXIsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVGV4dFdyaXRlckVuZERURCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl93cml0ZXIpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxUZXh0V3JpdGVyRW5kRFREQXR0bGlzdCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxUZXh0V3JpdGVyUHRyIHdyaXRlcjsgLyogdGhlIHhtbFRleHRXcml0ZXJQdHIgKi8KKyAgICBpbnQgbl93cml0ZXI7CisKKyAgICBmb3IgKG5fd3JpdGVyID0gMDtuX3dyaXRlciA8IGdlbl9uYl94bWxUZXh0V3JpdGVyUHRyO25fd3JpdGVyKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgd3JpdGVyID0gZ2VuX3htbFRleHRXcml0ZXJQdHIobl93cml0ZXIsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxUZXh0V3JpdGVyRW5kRFREQXR0bGlzdCh3cml0ZXIpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxUZXh0V3JpdGVyUHRyKG5fd3JpdGVyLCB3cml0ZXIsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVGV4dFdyaXRlckVuZERUREF0dGxpc3QiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fd3JpdGVyKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVGV4dFdyaXRlckVuZERUREVsZW1lbnQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sVGV4dFdyaXRlclB0ciB3cml0ZXI7IC8qIHRoZSB4bWxUZXh0V3JpdGVyUHRyICovCisgICAgaW50IG5fd3JpdGVyOworCisgICAgZm9yIChuX3dyaXRlciA9IDA7bl93cml0ZXIgPCBnZW5fbmJfeG1sVGV4dFdyaXRlclB0cjtuX3dyaXRlcisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHdyaXRlciA9IGdlbl94bWxUZXh0V3JpdGVyUHRyKG5fd3JpdGVyLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVGV4dFdyaXRlckVuZERUREVsZW1lbnQod3JpdGVyKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sVGV4dFdyaXRlclB0cihuX3dyaXRlciwgd3JpdGVyLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFRleHRXcml0ZXJFbmREVERFbGVtZW50IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3dyaXRlcik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFRleHRXcml0ZXJFbmREVERFbnRpdHkodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sVGV4dFdyaXRlclB0ciB3cml0ZXI7IC8qIHRoZSB4bWxUZXh0V3JpdGVyUHRyICovCisgICAgaW50IG5fd3JpdGVyOworCisgICAgZm9yIChuX3dyaXRlciA9IDA7bl93cml0ZXIgPCBnZW5fbmJfeG1sVGV4dFdyaXRlclB0cjtuX3dyaXRlcisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHdyaXRlciA9IGdlbl94bWxUZXh0V3JpdGVyUHRyKG5fd3JpdGVyLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVGV4dFdyaXRlckVuZERUREVudGl0eSh3cml0ZXIpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxUZXh0V3JpdGVyUHRyKG5fd3JpdGVyLCB3cml0ZXIsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVGV4dFdyaXRlckVuZERUREVudGl0eSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl93cml0ZXIpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxUZXh0V3JpdGVyRW5kRG9jdW1lbnQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sVGV4dFdyaXRlclB0ciB3cml0ZXI7IC8qIHRoZSB4bWxUZXh0V3JpdGVyUHRyICovCisgICAgaW50IG5fd3JpdGVyOworCisgICAgZm9yIChuX3dyaXRlciA9IDA7bl93cml0ZXIgPCBnZW5fbmJfeG1sVGV4dFdyaXRlclB0cjtuX3dyaXRlcisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHdyaXRlciA9IGdlbl94bWxUZXh0V3JpdGVyUHRyKG5fd3JpdGVyLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVGV4dFdyaXRlckVuZERvY3VtZW50KHdyaXRlcik7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFRleHRXcml0ZXJQdHIobl93cml0ZXIsIHdyaXRlciwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxUZXh0V3JpdGVyRW5kRG9jdW1lbnQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fd3JpdGVyKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVGV4dFdyaXRlckVuZEVsZW1lbnQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sVGV4dFdyaXRlclB0ciB3cml0ZXI7IC8qIHRoZSB4bWxUZXh0V3JpdGVyUHRyICovCisgICAgaW50IG5fd3JpdGVyOworCisgICAgZm9yIChuX3dyaXRlciA9IDA7bl93cml0ZXIgPCBnZW5fbmJfeG1sVGV4dFdyaXRlclB0cjtuX3dyaXRlcisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHdyaXRlciA9IGdlbl94bWxUZXh0V3JpdGVyUHRyKG5fd3JpdGVyLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVGV4dFdyaXRlckVuZEVsZW1lbnQod3JpdGVyKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sVGV4dFdyaXRlclB0cihuX3dyaXRlciwgd3JpdGVyLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFRleHRXcml0ZXJFbmRFbGVtZW50IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3dyaXRlcik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFRleHRXcml0ZXJFbmRQSSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxUZXh0V3JpdGVyUHRyIHdyaXRlcjsgLyogdGhlIHhtbFRleHRXcml0ZXJQdHIgKi8KKyAgICBpbnQgbl93cml0ZXI7CisKKyAgICBmb3IgKG5fd3JpdGVyID0gMDtuX3dyaXRlciA8IGdlbl9uYl94bWxUZXh0V3JpdGVyUHRyO25fd3JpdGVyKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgd3JpdGVyID0gZ2VuX3htbFRleHRXcml0ZXJQdHIobl93cml0ZXIsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxUZXh0V3JpdGVyRW5kUEkod3JpdGVyKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sVGV4dFdyaXRlclB0cihuX3dyaXRlciwgd3JpdGVyLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFRleHRXcml0ZXJFbmRQSSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl93cml0ZXIpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxUZXh0V3JpdGVyRmx1c2godm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sVGV4dFdyaXRlclB0ciB3cml0ZXI7IC8qIHRoZSB4bWxUZXh0V3JpdGVyUHRyICovCisgICAgaW50IG5fd3JpdGVyOworCisgICAgZm9yIChuX3dyaXRlciA9IDA7bl93cml0ZXIgPCBnZW5fbmJfeG1sVGV4dFdyaXRlclB0cjtuX3dyaXRlcisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHdyaXRlciA9IGdlbl94bWxUZXh0V3JpdGVyUHRyKG5fd3JpdGVyLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sVGV4dFdyaXRlckZsdXNoKHdyaXRlcik7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFRleHRXcml0ZXJQdHIobl93cml0ZXIsIHdyaXRlciwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxUZXh0V3JpdGVyRmx1c2giLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fd3JpdGVyKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVGV4dFdyaXRlckZ1bGxFbmRFbGVtZW50KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbFRleHRXcml0ZXJQdHIgd3JpdGVyOyAvKiB0aGUgeG1sVGV4dFdyaXRlclB0ciAqLworICAgIGludCBuX3dyaXRlcjsKKworICAgIGZvciAobl93cml0ZXIgPSAwO25fd3JpdGVyIDwgZ2VuX25iX3htbFRleHRXcml0ZXJQdHI7bl93cml0ZXIrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICB3cml0ZXIgPSBnZW5feG1sVGV4dFdyaXRlclB0cihuX3dyaXRlciwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFRleHRXcml0ZXJGdWxsRW5kRWxlbWVudCh3cml0ZXIpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxUZXh0V3JpdGVyUHRyKG5fd3JpdGVyLCB3cml0ZXIsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVGV4dFdyaXRlckZ1bGxFbmRFbGVtZW50IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3dyaXRlcik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFRleHRXcml0ZXJTZXRJbmRlbnQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sVGV4dFdyaXRlclB0ciB3cml0ZXI7IC8qIHRoZSB4bWxUZXh0V3JpdGVyUHRyICovCisgICAgaW50IG5fd3JpdGVyOworICAgIGludCBpbmRlbnQ7IC8qIGRvIGluZGVudGF0aW9uPyAqLworICAgIGludCBuX2luZGVudDsKKworICAgIGZvciAobl93cml0ZXIgPSAwO25fd3JpdGVyIDwgZ2VuX25iX3htbFRleHRXcml0ZXJQdHI7bl93cml0ZXIrKykgeworICAgIGZvciAobl9pbmRlbnQgPSAwO25faW5kZW50IDwgZ2VuX25iX2ludDtuX2luZGVudCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHdyaXRlciA9IGdlbl94bWxUZXh0V3JpdGVyUHRyKG5fd3JpdGVyLCAwKTsKKyAgICAgICAgaW5kZW50ID0gZ2VuX2ludChuX2luZGVudCwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFRleHRXcml0ZXJTZXRJbmRlbnQod3JpdGVyLCBpbmRlbnQpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxUZXh0V3JpdGVyUHRyKG5fd3JpdGVyLCB3cml0ZXIsIDApOworICAgICAgICBkZXNfaW50KG5faW5kZW50LCBpbmRlbnQsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVGV4dFdyaXRlclNldEluZGVudCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl93cml0ZXIpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2luZGVudCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxUZXh0V3JpdGVyU2V0SW5kZW50U3RyaW5nKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbFRleHRXcml0ZXJQdHIgd3JpdGVyOyAvKiB0aGUgeG1sVGV4dFdyaXRlclB0ciAqLworICAgIGludCBuX3dyaXRlcjsKKyAgICB4bWxDaGFyICogc3RyOyAvKiB0aGUgeG1sQ2hhciBzdHJpbmcgKi8KKyAgICBpbnQgbl9zdHI7CisKKyAgICBmb3IgKG5fd3JpdGVyID0gMDtuX3dyaXRlciA8IGdlbl9uYl94bWxUZXh0V3JpdGVyUHRyO25fd3JpdGVyKyspIHsKKyAgICBmb3IgKG5fc3RyID0gMDtuX3N0ciA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX3N0cisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHdyaXRlciA9IGdlbl94bWxUZXh0V3JpdGVyUHRyKG5fd3JpdGVyLCAwKTsKKyAgICAgICAgc3RyID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fc3RyLCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sVGV4dFdyaXRlclNldEluZGVudFN0cmluZyh3cml0ZXIsIChjb25zdCB4bWxDaGFyICopc3RyKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sVGV4dFdyaXRlclB0cihuX3dyaXRlciwgd3JpdGVyLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fc3RyLCAoY29uc3QgeG1sQ2hhciAqKXN0ciwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxUZXh0V3JpdGVyU2V0SW5kZW50U3RyaW5nIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3dyaXRlcik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fc3RyKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFRleHRXcml0ZXJTZXRRdW90ZUNoYXIodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sVGV4dFdyaXRlclB0ciB3cml0ZXI7IC8qIHRoZSB4bWxUZXh0V3JpdGVyUHRyICovCisgICAgaW50IG5fd3JpdGVyOworICAgIHhtbENoYXIgcXVvdGVjaGFyOyAvKiB0aGUgcXVvdGUgY2hhcmFjdGVyICovCisgICAgaW50IG5fcXVvdGVjaGFyOworCisgICAgZm9yIChuX3dyaXRlciA9IDA7bl93cml0ZXIgPCBnZW5fbmJfeG1sVGV4dFdyaXRlclB0cjtuX3dyaXRlcisrKSB7CisgICAgZm9yIChuX3F1b3RlY2hhciA9IDA7bl9xdW90ZWNoYXIgPCBnZW5fbmJfeG1sQ2hhcjtuX3F1b3RlY2hhcisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHdyaXRlciA9IGdlbl94bWxUZXh0V3JpdGVyUHRyKG5fd3JpdGVyLCAwKTsKKyAgICAgICAgcXVvdGVjaGFyID0gZ2VuX3htbENoYXIobl9xdW90ZWNoYXIsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxUZXh0V3JpdGVyU2V0UXVvdGVDaGFyKHdyaXRlciwgcXVvdGVjaGFyKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sVGV4dFdyaXRlclB0cihuX3dyaXRlciwgd3JpdGVyLCAwKTsKKyAgICAgICAgZGVzX3htbENoYXIobl9xdW90ZWNoYXIsIHF1b3RlY2hhciwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxUZXh0V3JpdGVyU2V0UXVvdGVDaGFyIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3dyaXRlcik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fcXVvdGVjaGFyKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFRleHRXcml0ZXJTdGFydEF0dHJpYnV0ZSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxUZXh0V3JpdGVyUHRyIHdyaXRlcjsgLyogdGhlIHhtbFRleHRXcml0ZXJQdHIgKi8KKyAgICBpbnQgbl93cml0ZXI7CisgICAgeG1sQ2hhciAqIG5hbWU7IC8qIGVsZW1lbnQgbmFtZSAqLworICAgIGludCBuX25hbWU7CisKKyAgICBmb3IgKG5fd3JpdGVyID0gMDtuX3dyaXRlciA8IGdlbl9uYl94bWxUZXh0V3JpdGVyUHRyO25fd3JpdGVyKyspIHsKKyAgICBmb3IgKG5fbmFtZSA9IDA7bl9uYW1lIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fbmFtZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHdyaXRlciA9IGdlbl94bWxUZXh0V3JpdGVyUHRyKG5fd3JpdGVyLCAwKTsKKyAgICAgICAgbmFtZSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxUZXh0V3JpdGVyU3RhcnRBdHRyaWJ1dGUod3JpdGVyLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxUZXh0V3JpdGVyUHRyKG5fd3JpdGVyLCB3cml0ZXIsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVGV4dFdyaXRlclN0YXJ0QXR0cmlidXRlIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3dyaXRlcik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFtZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxUZXh0V3JpdGVyU3RhcnRBdHRyaWJ1dGVOUyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxUZXh0V3JpdGVyUHRyIHdyaXRlcjsgLyogdGhlIHhtbFRleHRXcml0ZXJQdHIgKi8KKyAgICBpbnQgbl93cml0ZXI7CisgICAgeG1sQ2hhciAqIHByZWZpeDsgLyogbmFtZXNwYWNlIHByZWZpeCBvciBOVUxMICovCisgICAgaW50IG5fcHJlZml4OworICAgIHhtbENoYXIgKiBuYW1lOyAvKiBlbGVtZW50IGxvY2FsIG5hbWUgKi8KKyAgICBpbnQgbl9uYW1lOworICAgIHhtbENoYXIgKiBuYW1lc3BhY2VVUkk7IC8qIG5hbWVzcGFjZSBVUkkgb3IgTlVMTCAqLworICAgIGludCBuX25hbWVzcGFjZVVSSTsKKworICAgIGZvciAobl93cml0ZXIgPSAwO25fd3JpdGVyIDwgZ2VuX25iX3htbFRleHRXcml0ZXJQdHI7bl93cml0ZXIrKykgeworICAgIGZvciAobl9wcmVmaXggPSAwO25fcHJlZml4IDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fcHJlZml4KyspIHsKKyAgICBmb3IgKG5fbmFtZSA9IDA7bl9uYW1lIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fbmFtZSsrKSB7CisgICAgZm9yIChuX25hbWVzcGFjZVVSSSA9IDA7bl9uYW1lc3BhY2VVUkkgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9uYW1lc3BhY2VVUkkrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICB3cml0ZXIgPSBnZW5feG1sVGV4dFdyaXRlclB0cihuX3dyaXRlciwgMCk7CisgICAgICAgIHByZWZpeCA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX3ByZWZpeCwgMSk7CisgICAgICAgIG5hbWUgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAyKTsKKyAgICAgICAgbmFtZXNwYWNlVVJJID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZXNwYWNlVVJJLCAzKTsKKworICAgICAgICByZXRfdmFsID0geG1sVGV4dFdyaXRlclN0YXJ0QXR0cmlidXRlTlMod3JpdGVyLCAoY29uc3QgeG1sQ2hhciAqKXByZWZpeCwgKGNvbnN0IHhtbENoYXIgKiluYW1lLCAoY29uc3QgeG1sQ2hhciAqKW5hbWVzcGFjZVVSSSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFRleHRXcml0ZXJQdHIobl93cml0ZXIsIHdyaXRlciwgMCk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX3ByZWZpeCwgKGNvbnN0IHhtbENoYXIgKilwcmVmaXgsIDEpOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUsIDIpOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lc3BhY2VVUkksIChjb25zdCB4bWxDaGFyICopbmFtZXNwYWNlVVJJLCAzKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFRleHRXcml0ZXJTdGFydEF0dHJpYnV0ZU5TIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3dyaXRlcik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fcHJlZml4KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9uYW1lKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9uYW1lc3BhY2VVUkkpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxUZXh0V3JpdGVyU3RhcnRDREFUQSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxUZXh0V3JpdGVyUHRyIHdyaXRlcjsgLyogdGhlIHhtbFRleHRXcml0ZXJQdHIgKi8KKyAgICBpbnQgbl93cml0ZXI7CisKKyAgICBmb3IgKG5fd3JpdGVyID0gMDtuX3dyaXRlciA8IGdlbl9uYl94bWxUZXh0V3JpdGVyUHRyO25fd3JpdGVyKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgd3JpdGVyID0gZ2VuX3htbFRleHRXcml0ZXJQdHIobl93cml0ZXIsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxUZXh0V3JpdGVyU3RhcnRDREFUQSh3cml0ZXIpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxUZXh0V3JpdGVyUHRyKG5fd3JpdGVyLCB3cml0ZXIsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVGV4dFdyaXRlclN0YXJ0Q0RBVEEiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fd3JpdGVyKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVGV4dFdyaXRlclN0YXJ0Q29tbWVudCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxUZXh0V3JpdGVyUHRyIHdyaXRlcjsgLyogdGhlIHhtbFRleHRXcml0ZXJQdHIgKi8KKyAgICBpbnQgbl93cml0ZXI7CisKKyAgICBmb3IgKG5fd3JpdGVyID0gMDtuX3dyaXRlciA8IGdlbl9uYl94bWxUZXh0V3JpdGVyUHRyO25fd3JpdGVyKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgd3JpdGVyID0gZ2VuX3htbFRleHRXcml0ZXJQdHIobl93cml0ZXIsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxUZXh0V3JpdGVyU3RhcnRDb21tZW50KHdyaXRlcik7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFRleHRXcml0ZXJQdHIobl93cml0ZXIsIHdyaXRlciwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxUZXh0V3JpdGVyU3RhcnRDb21tZW50IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3dyaXRlcik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFRleHRXcml0ZXJTdGFydERURCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxUZXh0V3JpdGVyUHRyIHdyaXRlcjsgLyogdGhlIHhtbFRleHRXcml0ZXJQdHIgKi8KKyAgICBpbnQgbl93cml0ZXI7CisgICAgeG1sQ2hhciAqIG5hbWU7IC8qIHRoZSBuYW1lIG9mIHRoZSBEVEQgKi8KKyAgICBpbnQgbl9uYW1lOworICAgIHhtbENoYXIgKiBwdWJpZDsgLyogdGhlIHB1YmxpYyBpZGVudGlmaWVyLCB3aGljaCBpcyBhbiBhbHRlcm5hdGl2ZSB0byB0aGUgc3lzdGVtIGlkZW50aWZpZXIgKi8KKyAgICBpbnQgbl9wdWJpZDsKKyAgICB4bWxDaGFyICogc3lzaWQ7IC8qIHRoZSBzeXN0ZW0gaWRlbnRpZmllciwgd2hpY2ggaXMgdGhlIFVSSSBvZiB0aGUgRFREICovCisgICAgaW50IG5fc3lzaWQ7CisKKyAgICBmb3IgKG5fd3JpdGVyID0gMDtuX3dyaXRlciA8IGdlbl9uYl94bWxUZXh0V3JpdGVyUHRyO25fd3JpdGVyKyspIHsKKyAgICBmb3IgKG5fbmFtZSA9IDA7bl9uYW1lIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fbmFtZSsrKSB7CisgICAgZm9yIChuX3B1YmlkID0gMDtuX3B1YmlkIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fcHViaWQrKykgeworICAgIGZvciAobl9zeXNpZCA9IDA7bl9zeXNpZCA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX3N5c2lkKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgd3JpdGVyID0gZ2VuX3htbFRleHRXcml0ZXJQdHIobl93cml0ZXIsIDApOworICAgICAgICBuYW1lID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgMSk7CisgICAgICAgIHB1YmlkID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fcHViaWQsIDIpOworICAgICAgICBzeXNpZCA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX3N5c2lkLCAzKTsKKworICAgICAgICByZXRfdmFsID0geG1sVGV4dFdyaXRlclN0YXJ0RFREKHdyaXRlciwgKGNvbnN0IHhtbENoYXIgKiluYW1lLCAoY29uc3QgeG1sQ2hhciAqKXB1YmlkLCAoY29uc3QgeG1sQ2hhciAqKXN5c2lkKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sVGV4dFdyaXRlclB0cihuX3dyaXRlciwgd3JpdGVyLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgKGNvbnN0IHhtbENoYXIgKiluYW1lLCAxKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fcHViaWQsIChjb25zdCB4bWxDaGFyICopcHViaWQsIDIpOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9zeXNpZCwgKGNvbnN0IHhtbENoYXIgKilzeXNpZCwgMyk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxUZXh0V3JpdGVyU3RhcnREVEQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fd3JpdGVyKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9uYW1lKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9wdWJpZCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fc3lzaWQpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxUZXh0V3JpdGVyU3RhcnREVERBdHRsaXN0KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbFRleHRXcml0ZXJQdHIgd3JpdGVyOyAvKiB0aGUgeG1sVGV4dFdyaXRlclB0ciAqLworICAgIGludCBuX3dyaXRlcjsKKyAgICB4bWxDaGFyICogbmFtZTsgLyogdGhlIG5hbWUgb2YgdGhlIERURCBBVFRMSVNUICovCisgICAgaW50IG5fbmFtZTsKKworICAgIGZvciAobl93cml0ZXIgPSAwO25fd3JpdGVyIDwgZ2VuX25iX3htbFRleHRXcml0ZXJQdHI7bl93cml0ZXIrKykgeworICAgIGZvciAobl9uYW1lID0gMDtuX25hbWUgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9uYW1lKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgd3JpdGVyID0gZ2VuX3htbFRleHRXcml0ZXJQdHIobl93cml0ZXIsIDApOworICAgICAgICBuYW1lID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFRleHRXcml0ZXJTdGFydERUREF0dGxpc3Qod3JpdGVyLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxUZXh0V3JpdGVyUHRyKG5fd3JpdGVyLCB3cml0ZXIsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVGV4dFdyaXRlclN0YXJ0RFREQXR0bGlzdCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl93cml0ZXIpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25hbWUpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVGV4dFdyaXRlclN0YXJ0RFRERWxlbWVudCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxUZXh0V3JpdGVyUHRyIHdyaXRlcjsgLyogdGhlIHhtbFRleHRXcml0ZXJQdHIgKi8KKyAgICBpbnQgbl93cml0ZXI7CisgICAgeG1sQ2hhciAqIG5hbWU7IC8qIHRoZSBuYW1lIG9mIHRoZSBEVEQgZWxlbWVudCAqLworICAgIGludCBuX25hbWU7CisKKyAgICBmb3IgKG5fd3JpdGVyID0gMDtuX3dyaXRlciA8IGdlbl9uYl94bWxUZXh0V3JpdGVyUHRyO25fd3JpdGVyKyspIHsKKyAgICBmb3IgKG5fbmFtZSA9IDA7bl9uYW1lIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fbmFtZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHdyaXRlciA9IGdlbl94bWxUZXh0V3JpdGVyUHRyKG5fd3JpdGVyLCAwKTsKKyAgICAgICAgbmFtZSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxUZXh0V3JpdGVyU3RhcnREVERFbGVtZW50KHdyaXRlciwgKGNvbnN0IHhtbENoYXIgKiluYW1lKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sVGV4dFdyaXRlclB0cihuX3dyaXRlciwgd3JpdGVyLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgKGNvbnN0IHhtbENoYXIgKiluYW1lLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFRleHRXcml0ZXJTdGFydERUREVsZW1lbnQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fd3JpdGVyKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9uYW1lKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFRleHRXcml0ZXJTdGFydERUREVudGl0eSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxUZXh0V3JpdGVyUHRyIHdyaXRlcjsgLyogdGhlIHhtbFRleHRXcml0ZXJQdHIgKi8KKyAgICBpbnQgbl93cml0ZXI7CisgICAgaW50IHBlOyAvKiBUUlVFIGlmIHRoaXMgaXMgYSBwYXJhbWV0ZXIgZW50aXR5LCBGQUxTRSBpZiBub3QgKi8KKyAgICBpbnQgbl9wZTsKKyAgICB4bWxDaGFyICogbmFtZTsgLyogdGhlIG5hbWUgb2YgdGhlIERURCBBVFRMSVNUICovCisgICAgaW50IG5fbmFtZTsKKworICAgIGZvciAobl93cml0ZXIgPSAwO25fd3JpdGVyIDwgZ2VuX25iX3htbFRleHRXcml0ZXJQdHI7bl93cml0ZXIrKykgeworICAgIGZvciAobl9wZSA9IDA7bl9wZSA8IGdlbl9uYl9pbnQ7bl9wZSsrKSB7CisgICAgZm9yIChuX25hbWUgPSAwO25fbmFtZSA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX25hbWUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICB3cml0ZXIgPSBnZW5feG1sVGV4dFdyaXRlclB0cihuX3dyaXRlciwgMCk7CisgICAgICAgIHBlID0gZ2VuX2ludChuX3BlLCAxKTsKKyAgICAgICAgbmFtZSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIDIpOworCisgICAgICAgIHJldF92YWwgPSB4bWxUZXh0V3JpdGVyU3RhcnREVERFbnRpdHkod3JpdGVyLCBwZSwgKGNvbnN0IHhtbENoYXIgKiluYW1lKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sVGV4dFdyaXRlclB0cihuX3dyaXRlciwgd3JpdGVyLCAwKTsKKyAgICAgICAgZGVzX2ludChuX3BlLCBwZSwgMSk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIChjb25zdCB4bWxDaGFyICopbmFtZSwgMik7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxUZXh0V3JpdGVyU3RhcnREVERFbnRpdHkiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fd3JpdGVyKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9wZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFtZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVGV4dFdyaXRlclN0YXJ0RG9jdW1lbnQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sVGV4dFdyaXRlclB0ciB3cml0ZXI7IC8qIHRoZSB4bWxUZXh0V3JpdGVyUHRyICovCisgICAgaW50IG5fd3JpdGVyOworICAgIGNoYXIgKiB2ZXJzaW9uOyAvKiB0aGUgeG1sIHZlcnNpb24gKCIxLjAiKSBvciBOVUxMIGZvciBkZWZhdWx0ICgiMS4wIikgKi8KKyAgICBpbnQgbl92ZXJzaW9uOworICAgIGNoYXIgKiBlbmNvZGluZzsgLyogdGhlIGVuY29kaW5nIG9yIE5VTEwgZm9yIGRlZmF1bHQgKi8KKyAgICBpbnQgbl9lbmNvZGluZzsKKyAgICBjaGFyICogc3RhbmRhbG9uZTsgLyogInllcyIgb3IgIm5vIiBvciBOVUxMIGZvciBkZWZhdWx0ICovCisgICAgaW50IG5fc3RhbmRhbG9uZTsKKworICAgIGZvciAobl93cml0ZXIgPSAwO25fd3JpdGVyIDwgZ2VuX25iX3htbFRleHRXcml0ZXJQdHI7bl93cml0ZXIrKykgeworICAgIGZvciAobl92ZXJzaW9uID0gMDtuX3ZlcnNpb24gPCBnZW5fbmJfY29uc3RfY2hhcl9wdHI7bl92ZXJzaW9uKyspIHsKKyAgICBmb3IgKG5fZW5jb2RpbmcgPSAwO25fZW5jb2RpbmcgPCBnZW5fbmJfY29uc3RfY2hhcl9wdHI7bl9lbmNvZGluZysrKSB7CisgICAgZm9yIChuX3N0YW5kYWxvbmUgPSAwO25fc3RhbmRhbG9uZSA8IGdlbl9uYl9jb25zdF9jaGFyX3B0cjtuX3N0YW5kYWxvbmUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICB3cml0ZXIgPSBnZW5feG1sVGV4dFdyaXRlclB0cihuX3dyaXRlciwgMCk7CisgICAgICAgIHZlcnNpb24gPSBnZW5fY29uc3RfY2hhcl9wdHIobl92ZXJzaW9uLCAxKTsKKyAgICAgICAgZW5jb2RpbmcgPSBnZW5fY29uc3RfY2hhcl9wdHIobl9lbmNvZGluZywgMik7CisgICAgICAgIHN0YW5kYWxvbmUgPSBnZW5fY29uc3RfY2hhcl9wdHIobl9zdGFuZGFsb25lLCAzKTsKKworICAgICAgICByZXRfdmFsID0geG1sVGV4dFdyaXRlclN0YXJ0RG9jdW1lbnQod3JpdGVyLCAoY29uc3QgY2hhciAqKXZlcnNpb24sIChjb25zdCBjaGFyICopZW5jb2RpbmcsIChjb25zdCBjaGFyICopc3RhbmRhbG9uZSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFRleHRXcml0ZXJQdHIobl93cml0ZXIsIHdyaXRlciwgMCk7CisgICAgICAgIGRlc19jb25zdF9jaGFyX3B0cihuX3ZlcnNpb24sIChjb25zdCBjaGFyICopdmVyc2lvbiwgMSk7CisgICAgICAgIGRlc19jb25zdF9jaGFyX3B0cihuX2VuY29kaW5nLCAoY29uc3QgY2hhciAqKWVuY29kaW5nLCAyKTsKKyAgICAgICAgZGVzX2NvbnN0X2NoYXJfcHRyKG5fc3RhbmRhbG9uZSwgKGNvbnN0IGNoYXIgKilzdGFuZGFsb25lLCAzKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFRleHRXcml0ZXJTdGFydERvY3VtZW50IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3dyaXRlcik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdmVyc2lvbik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZW5jb2RpbmcpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3N0YW5kYWxvbmUpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxUZXh0V3JpdGVyU3RhcnRFbGVtZW50KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbFRleHRXcml0ZXJQdHIgd3JpdGVyOyAvKiB0aGUgeG1sVGV4dFdyaXRlclB0ciAqLworICAgIGludCBuX3dyaXRlcjsKKyAgICB4bWxDaGFyICogbmFtZTsgLyogZWxlbWVudCBuYW1lICovCisgICAgaW50IG5fbmFtZTsKKworICAgIGZvciAobl93cml0ZXIgPSAwO25fd3JpdGVyIDwgZ2VuX25iX3htbFRleHRXcml0ZXJQdHI7bl93cml0ZXIrKykgeworICAgIGZvciAobl9uYW1lID0gMDtuX25hbWUgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9uYW1lKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgd3JpdGVyID0gZ2VuX3htbFRleHRXcml0ZXJQdHIobl93cml0ZXIsIDApOworICAgICAgICBuYW1lID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFRleHRXcml0ZXJTdGFydEVsZW1lbnQod3JpdGVyLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxUZXh0V3JpdGVyUHRyKG5fd3JpdGVyLCB3cml0ZXIsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVGV4dFdyaXRlclN0YXJ0RWxlbWVudCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl93cml0ZXIpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25hbWUpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVGV4dFdyaXRlclN0YXJ0RWxlbWVudE5TKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbFRleHRXcml0ZXJQdHIgd3JpdGVyOyAvKiB0aGUgeG1sVGV4dFdyaXRlclB0ciAqLworICAgIGludCBuX3dyaXRlcjsKKyAgICB4bWxDaGFyICogcHJlZml4OyAvKiBuYW1lc3BhY2UgcHJlZml4IG9yIE5VTEwgKi8KKyAgICBpbnQgbl9wcmVmaXg7CisgICAgeG1sQ2hhciAqIG5hbWU7IC8qIGVsZW1lbnQgbG9jYWwgbmFtZSAqLworICAgIGludCBuX25hbWU7CisgICAgeG1sQ2hhciAqIG5hbWVzcGFjZVVSSTsgLyogbmFtZXNwYWNlIFVSSSBvciBOVUxMICovCisgICAgaW50IG5fbmFtZXNwYWNlVVJJOworCisgICAgZm9yIChuX3dyaXRlciA9IDA7bl93cml0ZXIgPCBnZW5fbmJfeG1sVGV4dFdyaXRlclB0cjtuX3dyaXRlcisrKSB7CisgICAgZm9yIChuX3ByZWZpeCA9IDA7bl9wcmVmaXggPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9wcmVmaXgrKykgeworICAgIGZvciAobl9uYW1lID0gMDtuX25hbWUgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9uYW1lKyspIHsKKyAgICBmb3IgKG5fbmFtZXNwYWNlVVJJID0gMDtuX25hbWVzcGFjZVVSSSA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX25hbWVzcGFjZVVSSSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHdyaXRlciA9IGdlbl94bWxUZXh0V3JpdGVyUHRyKG5fd3JpdGVyLCAwKTsKKyAgICAgICAgcHJlZml4ID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fcHJlZml4LCAxKTsKKyAgICAgICAgbmFtZSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIDIpOworICAgICAgICBuYW1lc3BhY2VVUkkgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lc3BhY2VVUkksIDMpOworCisgICAgICAgIHJldF92YWwgPSB4bWxUZXh0V3JpdGVyU3RhcnRFbGVtZW50TlMod3JpdGVyLCAoY29uc3QgeG1sQ2hhciAqKXByZWZpeCwgKGNvbnN0IHhtbENoYXIgKiluYW1lLCAoY29uc3QgeG1sQ2hhciAqKW5hbWVzcGFjZVVSSSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFRleHRXcml0ZXJQdHIobl93cml0ZXIsIHdyaXRlciwgMCk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX3ByZWZpeCwgKGNvbnN0IHhtbENoYXIgKilwcmVmaXgsIDEpOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUsIDIpOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lc3BhY2VVUkksIChjb25zdCB4bWxDaGFyICopbmFtZXNwYWNlVVJJLCAzKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFRleHRXcml0ZXJTdGFydEVsZW1lbnROUyIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl93cml0ZXIpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3ByZWZpeCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFtZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFtZXNwYWNlVVJJKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVGV4dFdyaXRlclN0YXJ0UEkodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sVGV4dFdyaXRlclB0ciB3cml0ZXI7IC8qIHRoZSB4bWxUZXh0V3JpdGVyUHRyICovCisgICAgaW50IG5fd3JpdGVyOworICAgIHhtbENoYXIgKiB0YXJnZXQ7IC8qIFBJIHRhcmdldCAqLworICAgIGludCBuX3RhcmdldDsKKworICAgIGZvciAobl93cml0ZXIgPSAwO25fd3JpdGVyIDwgZ2VuX25iX3htbFRleHRXcml0ZXJQdHI7bl93cml0ZXIrKykgeworICAgIGZvciAobl90YXJnZXQgPSAwO25fdGFyZ2V0IDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fdGFyZ2V0KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgd3JpdGVyID0gZ2VuX3htbFRleHRXcml0ZXJQdHIobl93cml0ZXIsIDApOworICAgICAgICB0YXJnZXQgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl90YXJnZXQsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxUZXh0V3JpdGVyU3RhcnRQSSh3cml0ZXIsIChjb25zdCB4bWxDaGFyICopdGFyZ2V0KTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sVGV4dFdyaXRlclB0cihuX3dyaXRlciwgd3JpdGVyLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fdGFyZ2V0LCAoY29uc3QgeG1sQ2hhciAqKXRhcmdldCwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxUZXh0V3JpdGVyU3RhcnRQSSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl93cml0ZXIpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3RhcmdldCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxUZXh0V3JpdGVyV3JpdGVBdHRyaWJ1dGUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sVGV4dFdyaXRlclB0ciB3cml0ZXI7IC8qIHRoZSB4bWxUZXh0V3JpdGVyUHRyICovCisgICAgaW50IG5fd3JpdGVyOworICAgIHhtbENoYXIgKiBuYW1lOyAvKiBhdHRyaWJ1dGUgbmFtZSAqLworICAgIGludCBuX25hbWU7CisgICAgeG1sQ2hhciAqIGNvbnRlbnQ7IC8qIGF0dHJpYnV0ZSBjb250ZW50ICovCisgICAgaW50IG5fY29udGVudDsKKworICAgIGZvciAobl93cml0ZXIgPSAwO25fd3JpdGVyIDwgZ2VuX25iX3htbFRleHRXcml0ZXJQdHI7bl93cml0ZXIrKykgeworICAgIGZvciAobl9uYW1lID0gMDtuX25hbWUgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9uYW1lKyspIHsKKyAgICBmb3IgKG5fY29udGVudCA9IDA7bl9jb250ZW50IDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fY29udGVudCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHdyaXRlciA9IGdlbl94bWxUZXh0V3JpdGVyUHRyKG5fd3JpdGVyLCAwKTsKKyAgICAgICAgbmFtZSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIDEpOworICAgICAgICBjb250ZW50ID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fY29udGVudCwgMik7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFRleHRXcml0ZXJXcml0ZUF0dHJpYnV0ZSh3cml0ZXIsIChjb25zdCB4bWxDaGFyICopbmFtZSwgKGNvbnN0IHhtbENoYXIgKiljb250ZW50KTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sVGV4dFdyaXRlclB0cihuX3dyaXRlciwgd3JpdGVyLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgKGNvbnN0IHhtbENoYXIgKiluYW1lLCAxKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fY29udGVudCwgKGNvbnN0IHhtbENoYXIgKiljb250ZW50LCAyKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFRleHRXcml0ZXJXcml0ZUF0dHJpYnV0ZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl93cml0ZXIpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25hbWUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2NvbnRlbnQpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFRleHRXcml0ZXJXcml0ZUF0dHJpYnV0ZU5TKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbFRleHRXcml0ZXJQdHIgd3JpdGVyOyAvKiB0aGUgeG1sVGV4dFdyaXRlclB0ciAqLworICAgIGludCBuX3dyaXRlcjsKKyAgICB4bWxDaGFyICogcHJlZml4OyAvKiBuYW1lc3BhY2UgcHJlZml4ICovCisgICAgaW50IG5fcHJlZml4OworICAgIHhtbENoYXIgKiBuYW1lOyAvKiBhdHRyaWJ1dGUgbG9jYWwgbmFtZSAqLworICAgIGludCBuX25hbWU7CisgICAgeG1sQ2hhciAqIG5hbWVzcGFjZVVSSTsgLyogbmFtZXNwYWNlIFVSSSAqLworICAgIGludCBuX25hbWVzcGFjZVVSSTsKKyAgICB4bWxDaGFyICogY29udGVudDsgLyogYXR0cmlidXRlIGNvbnRlbnQgKi8KKyAgICBpbnQgbl9jb250ZW50OworCisgICAgZm9yIChuX3dyaXRlciA9IDA7bl93cml0ZXIgPCBnZW5fbmJfeG1sVGV4dFdyaXRlclB0cjtuX3dyaXRlcisrKSB7CisgICAgZm9yIChuX3ByZWZpeCA9IDA7bl9wcmVmaXggPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9wcmVmaXgrKykgeworICAgIGZvciAobl9uYW1lID0gMDtuX25hbWUgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9uYW1lKyspIHsKKyAgICBmb3IgKG5fbmFtZXNwYWNlVVJJID0gMDtuX25hbWVzcGFjZVVSSSA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX25hbWVzcGFjZVVSSSsrKSB7CisgICAgZm9yIChuX2NvbnRlbnQgPSAwO25fY29udGVudCA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX2NvbnRlbnQrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICB3cml0ZXIgPSBnZW5feG1sVGV4dFdyaXRlclB0cihuX3dyaXRlciwgMCk7CisgICAgICAgIHByZWZpeCA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX3ByZWZpeCwgMSk7CisgICAgICAgIG5hbWUgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAyKTsKKyAgICAgICAgbmFtZXNwYWNlVVJJID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZXNwYWNlVVJJLCAzKTsKKyAgICAgICAgY29udGVudCA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX2NvbnRlbnQsIDQpOworCisgICAgICAgIHJldF92YWwgPSB4bWxUZXh0V3JpdGVyV3JpdGVBdHRyaWJ1dGVOUyh3cml0ZXIsIChjb25zdCB4bWxDaGFyICopcHJlZml4LCAoY29uc3QgeG1sQ2hhciAqKW5hbWUsIChjb25zdCB4bWxDaGFyICopbmFtZXNwYWNlVVJJLCAoY29uc3QgeG1sQ2hhciAqKWNvbnRlbnQpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxUZXh0V3JpdGVyUHRyKG5fd3JpdGVyLCB3cml0ZXIsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9wcmVmaXgsIChjb25zdCB4bWxDaGFyICopcHJlZml4LCAxKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgKGNvbnN0IHhtbENoYXIgKiluYW1lLCAyKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZXNwYWNlVVJJLCAoY29uc3QgeG1sQ2hhciAqKW5hbWVzcGFjZVVSSSwgMyk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX2NvbnRlbnQsIChjb25zdCB4bWxDaGFyICopY29udGVudCwgNCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxUZXh0V3JpdGVyV3JpdGVBdHRyaWJ1dGVOUyIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl93cml0ZXIpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3ByZWZpeCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFtZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFtZXNwYWNlVVJJKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jb250ZW50KTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFRleHRXcml0ZXJXcml0ZUJhc2U2NCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxUZXh0V3JpdGVyUHRyIHdyaXRlcjsgLyogdGhlIHhtbFRleHRXcml0ZXJQdHIgKi8KKyAgICBpbnQgbl93cml0ZXI7CisgICAgY2hhciAqIGRhdGE7IC8qIGJpbmFyeSBkYXRhICovCisgICAgaW50IG5fZGF0YTsKKyAgICBpbnQgc3RhcnQ7IC8qIHRoZSBwb3NpdGlvbiB3aXRoaW4gdGhlIGRhdGEgb2YgdGhlIGZpcnN0IGJ5dGUgdG8gZW5jb2RlICovCisgICAgaW50IG5fc3RhcnQ7CisgICAgaW50IGxlbjsgLyogdGhlIG51bWJlciBvZiBieXRlcyB0byBlbmNvZGUgKi8KKyAgICBpbnQgbl9sZW47CisKKyAgICBmb3IgKG5fd3JpdGVyID0gMDtuX3dyaXRlciA8IGdlbl9uYl94bWxUZXh0V3JpdGVyUHRyO25fd3JpdGVyKyspIHsKKyAgICBmb3IgKG5fZGF0YSA9IDA7bl9kYXRhIDwgZ2VuX25iX2NvbnN0X2NoYXJfcHRyO25fZGF0YSsrKSB7CisgICAgZm9yIChuX3N0YXJ0ID0gMDtuX3N0YXJ0IDwgZ2VuX25iX2ludDtuX3N0YXJ0KyspIHsKKyAgICBmb3IgKG5fbGVuID0gMDtuX2xlbiA8IGdlbl9uYl9pbnQ7bl9sZW4rKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICB3cml0ZXIgPSBnZW5feG1sVGV4dFdyaXRlclB0cihuX3dyaXRlciwgMCk7CisgICAgICAgIGRhdGEgPSBnZW5fY29uc3RfY2hhcl9wdHIobl9kYXRhLCAxKTsKKyAgICAgICAgc3RhcnQgPSBnZW5faW50KG5fc3RhcnQsIDIpOworICAgICAgICBsZW4gPSBnZW5faW50KG5fbGVuLCAzKTsKKworICAgICAgICByZXRfdmFsID0geG1sVGV4dFdyaXRlcldyaXRlQmFzZTY0KHdyaXRlciwgKGNvbnN0IGNoYXIgKilkYXRhLCBzdGFydCwgbGVuKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sVGV4dFdyaXRlclB0cihuX3dyaXRlciwgd3JpdGVyLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X2NoYXJfcHRyKG5fZGF0YSwgKGNvbnN0IGNoYXIgKilkYXRhLCAxKTsKKyAgICAgICAgZGVzX2ludChuX3N0YXJ0LCBzdGFydCwgMik7CisgICAgICAgIGRlc19pbnQobl9sZW4sIGxlbiwgMyk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxUZXh0V3JpdGVyV3JpdGVCYXNlNjQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fd3JpdGVyKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9kYXRhKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9zdGFydCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbGVuKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVGV4dFdyaXRlcldyaXRlQmluSGV4KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbFRleHRXcml0ZXJQdHIgd3JpdGVyOyAvKiB0aGUgeG1sVGV4dFdyaXRlclB0ciAqLworICAgIGludCBuX3dyaXRlcjsKKyAgICBjaGFyICogZGF0YTsgLyogYmluYXJ5IGRhdGEgKi8KKyAgICBpbnQgbl9kYXRhOworICAgIGludCBzdGFydDsgLyogdGhlIHBvc2l0aW9uIHdpdGhpbiB0aGUgZGF0YSBvZiB0aGUgZmlyc3QgYnl0ZSB0byBlbmNvZGUgKi8KKyAgICBpbnQgbl9zdGFydDsKKyAgICBpbnQgbGVuOyAvKiB0aGUgbnVtYmVyIG9mIGJ5dGVzIHRvIGVuY29kZSAqLworICAgIGludCBuX2xlbjsKKworICAgIGZvciAobl93cml0ZXIgPSAwO25fd3JpdGVyIDwgZ2VuX25iX3htbFRleHRXcml0ZXJQdHI7bl93cml0ZXIrKykgeworICAgIGZvciAobl9kYXRhID0gMDtuX2RhdGEgPCBnZW5fbmJfY29uc3RfY2hhcl9wdHI7bl9kYXRhKyspIHsKKyAgICBmb3IgKG5fc3RhcnQgPSAwO25fc3RhcnQgPCBnZW5fbmJfaW50O25fc3RhcnQrKykgeworICAgIGZvciAobl9sZW4gPSAwO25fbGVuIDwgZ2VuX25iX2ludDtuX2xlbisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHdyaXRlciA9IGdlbl94bWxUZXh0V3JpdGVyUHRyKG5fd3JpdGVyLCAwKTsKKyAgICAgICAgZGF0YSA9IGdlbl9jb25zdF9jaGFyX3B0cihuX2RhdGEsIDEpOworICAgICAgICBzdGFydCA9IGdlbl9pbnQobl9zdGFydCwgMik7CisgICAgICAgIGxlbiA9IGdlbl9pbnQobl9sZW4sIDMpOworCisgICAgICAgIHJldF92YWwgPSB4bWxUZXh0V3JpdGVyV3JpdGVCaW5IZXgod3JpdGVyLCAoY29uc3QgY2hhciAqKWRhdGEsIHN0YXJ0LCBsZW4pOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxUZXh0V3JpdGVyUHRyKG5fd3JpdGVyLCB3cml0ZXIsIDApOworICAgICAgICBkZXNfY29uc3RfY2hhcl9wdHIobl9kYXRhLCAoY29uc3QgY2hhciAqKWRhdGEsIDEpOworICAgICAgICBkZXNfaW50KG5fc3RhcnQsIHN0YXJ0LCAyKTsKKyAgICAgICAgZGVzX2ludChuX2xlbiwgbGVuLCAzKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFRleHRXcml0ZXJXcml0ZUJpbkhleCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl93cml0ZXIpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2RhdGEpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3N0YXJ0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9sZW4pOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxUZXh0V3JpdGVyV3JpdGVDREFUQSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxUZXh0V3JpdGVyUHRyIHdyaXRlcjsgLyogdGhlIHhtbFRleHRXcml0ZXJQdHIgKi8KKyAgICBpbnQgbl93cml0ZXI7CisgICAgeG1sQ2hhciAqIGNvbnRlbnQ7IC8qIENEQVRBIGNvbnRlbnQgKi8KKyAgICBpbnQgbl9jb250ZW50OworCisgICAgZm9yIChuX3dyaXRlciA9IDA7bl93cml0ZXIgPCBnZW5fbmJfeG1sVGV4dFdyaXRlclB0cjtuX3dyaXRlcisrKSB7CisgICAgZm9yIChuX2NvbnRlbnQgPSAwO25fY29udGVudCA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX2NvbnRlbnQrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICB3cml0ZXIgPSBnZW5feG1sVGV4dFdyaXRlclB0cihuX3dyaXRlciwgMCk7CisgICAgICAgIGNvbnRlbnQgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9jb250ZW50LCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sVGV4dFdyaXRlcldyaXRlQ0RBVEEod3JpdGVyLCAoY29uc3QgeG1sQ2hhciAqKWNvbnRlbnQpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxUZXh0V3JpdGVyUHRyKG5fd3JpdGVyLCB3cml0ZXIsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9jb250ZW50LCAoY29uc3QgeG1sQ2hhciAqKWNvbnRlbnQsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sVGV4dFdyaXRlcldyaXRlQ0RBVEEiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fd3JpdGVyKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jb250ZW50KTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFRleHRXcml0ZXJXcml0ZUNvbW1lbnQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sVGV4dFdyaXRlclB0ciB3cml0ZXI7IC8qIHRoZSB4bWxUZXh0V3JpdGVyUHRyICovCisgICAgaW50IG5fd3JpdGVyOworICAgIHhtbENoYXIgKiBjb250ZW50OyAvKiBjb21tZW50IHN0cmluZyAqLworICAgIGludCBuX2NvbnRlbnQ7CisKKyAgICBmb3IgKG5fd3JpdGVyID0gMDtuX3dyaXRlciA8IGdlbl9uYl94bWxUZXh0V3JpdGVyUHRyO25fd3JpdGVyKyspIHsKKyAgICBmb3IgKG5fY29udGVudCA9IDA7bl9jb250ZW50IDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fY29udGVudCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHdyaXRlciA9IGdlbl94bWxUZXh0V3JpdGVyUHRyKG5fd3JpdGVyLCAwKTsKKyAgICAgICAgY29udGVudCA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX2NvbnRlbnQsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxUZXh0V3JpdGVyV3JpdGVDb21tZW50KHdyaXRlciwgKGNvbnN0IHhtbENoYXIgKiljb250ZW50KTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sVGV4dFdyaXRlclB0cihuX3dyaXRlciwgd3JpdGVyLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fY29udGVudCwgKGNvbnN0IHhtbENoYXIgKiljb250ZW50LCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFRleHRXcml0ZXJXcml0ZUNvbW1lbnQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fd3JpdGVyKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jb250ZW50KTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFRleHRXcml0ZXJXcml0ZURURCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxUZXh0V3JpdGVyUHRyIHdyaXRlcjsgLyogdGhlIHhtbFRleHRXcml0ZXJQdHIgKi8KKyAgICBpbnQgbl93cml0ZXI7CisgICAgeG1sQ2hhciAqIG5hbWU7IC8qIHRoZSBuYW1lIG9mIHRoZSBEVEQgKi8KKyAgICBpbnQgbl9uYW1lOworICAgIHhtbENoYXIgKiBwdWJpZDsgLyogdGhlIHB1YmxpYyBpZGVudGlmaWVyLCB3aGljaCBpcyBhbiBhbHRlcm5hdGl2ZSB0byB0aGUgc3lzdGVtIGlkZW50aWZpZXIgKi8KKyAgICBpbnQgbl9wdWJpZDsKKyAgICB4bWxDaGFyICogc3lzaWQ7IC8qIHRoZSBzeXN0ZW0gaWRlbnRpZmllciwgd2hpY2ggaXMgdGhlIFVSSSBvZiB0aGUgRFREICovCisgICAgaW50IG5fc3lzaWQ7CisgICAgeG1sQ2hhciAqIHN1YnNldDsgLyogc3RyaW5nIGNvbnRlbnQgb2YgdGhlIERURCAqLworICAgIGludCBuX3N1YnNldDsKKworICAgIGZvciAobl93cml0ZXIgPSAwO25fd3JpdGVyIDwgZ2VuX25iX3htbFRleHRXcml0ZXJQdHI7bl93cml0ZXIrKykgeworICAgIGZvciAobl9uYW1lID0gMDtuX25hbWUgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9uYW1lKyspIHsKKyAgICBmb3IgKG5fcHViaWQgPSAwO25fcHViaWQgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9wdWJpZCsrKSB7CisgICAgZm9yIChuX3N5c2lkID0gMDtuX3N5c2lkIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fc3lzaWQrKykgeworICAgIGZvciAobl9zdWJzZXQgPSAwO25fc3Vic2V0IDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fc3Vic2V0KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgd3JpdGVyID0gZ2VuX3htbFRleHRXcml0ZXJQdHIobl93cml0ZXIsIDApOworICAgICAgICBuYW1lID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgMSk7CisgICAgICAgIHB1YmlkID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fcHViaWQsIDIpOworICAgICAgICBzeXNpZCA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX3N5c2lkLCAzKTsKKyAgICAgICAgc3Vic2V0ID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fc3Vic2V0LCA0KTsKKworICAgICAgICByZXRfdmFsID0geG1sVGV4dFdyaXRlcldyaXRlRFREKHdyaXRlciwgKGNvbnN0IHhtbENoYXIgKiluYW1lLCAoY29uc3QgeG1sQ2hhciAqKXB1YmlkLCAoY29uc3QgeG1sQ2hhciAqKXN5c2lkLCAoY29uc3QgeG1sQ2hhciAqKXN1YnNldCk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFRleHRXcml0ZXJQdHIobl93cml0ZXIsIHdyaXRlciwgMCk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIChjb25zdCB4bWxDaGFyICopbmFtZSwgMSk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX3B1YmlkLCAoY29uc3QgeG1sQ2hhciAqKXB1YmlkLCAyKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fc3lzaWQsIChjb25zdCB4bWxDaGFyICopc3lzaWQsIDMpOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9zdWJzZXQsIChjb25zdCB4bWxDaGFyICopc3Vic2V0LCA0KTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFRleHRXcml0ZXJXcml0ZURURCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl93cml0ZXIpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25hbWUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3B1YmlkKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9zeXNpZCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fc3Vic2V0KTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFRleHRXcml0ZXJXcml0ZURUREF0dGxpc3Qodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sVGV4dFdyaXRlclB0ciB3cml0ZXI7IC8qIHRoZSB4bWxUZXh0V3JpdGVyUHRyICovCisgICAgaW50IG5fd3JpdGVyOworICAgIHhtbENoYXIgKiBuYW1lOyAvKiB0aGUgbmFtZSBvZiB0aGUgRFREIEFUVExJU1QgKi8KKyAgICBpbnQgbl9uYW1lOworICAgIHhtbENoYXIgKiBjb250ZW50OyAvKiBjb250ZW50IG9mIHRoZSBBVFRMSVNUICovCisgICAgaW50IG5fY29udGVudDsKKworICAgIGZvciAobl93cml0ZXIgPSAwO25fd3JpdGVyIDwgZ2VuX25iX3htbFRleHRXcml0ZXJQdHI7bl93cml0ZXIrKykgeworICAgIGZvciAobl9uYW1lID0gMDtuX25hbWUgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9uYW1lKyspIHsKKyAgICBmb3IgKG5fY29udGVudCA9IDA7bl9jb250ZW50IDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fY29udGVudCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHdyaXRlciA9IGdlbl94bWxUZXh0V3JpdGVyUHRyKG5fd3JpdGVyLCAwKTsKKyAgICAgICAgbmFtZSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIDEpOworICAgICAgICBjb250ZW50ID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fY29udGVudCwgMik7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFRleHRXcml0ZXJXcml0ZURUREF0dGxpc3Qod3JpdGVyLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUsIChjb25zdCB4bWxDaGFyICopY29udGVudCk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFRleHRXcml0ZXJQdHIobl93cml0ZXIsIHdyaXRlciwgMCk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIChjb25zdCB4bWxDaGFyICopbmFtZSwgMSk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX2NvbnRlbnQsIChjb25zdCB4bWxDaGFyICopY29udGVudCwgMik7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxUZXh0V3JpdGVyV3JpdGVEVERBdHRsaXN0IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3dyaXRlcik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFtZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29udGVudCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVGV4dFdyaXRlcldyaXRlRFRERWxlbWVudCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxUZXh0V3JpdGVyUHRyIHdyaXRlcjsgLyogdGhlIHhtbFRleHRXcml0ZXJQdHIgKi8KKyAgICBpbnQgbl93cml0ZXI7CisgICAgeG1sQ2hhciAqIG5hbWU7IC8qIHRoZSBuYW1lIG9mIHRoZSBEVEQgZWxlbWVudCAqLworICAgIGludCBuX25hbWU7CisgICAgeG1sQ2hhciAqIGNvbnRlbnQ7IC8qIGNvbnRlbnQgb2YgdGhlIGVsZW1lbnQgKi8KKyAgICBpbnQgbl9jb250ZW50OworCisgICAgZm9yIChuX3dyaXRlciA9IDA7bl93cml0ZXIgPCBnZW5fbmJfeG1sVGV4dFdyaXRlclB0cjtuX3dyaXRlcisrKSB7CisgICAgZm9yIChuX25hbWUgPSAwO25fbmFtZSA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX25hbWUrKykgeworICAgIGZvciAobl9jb250ZW50ID0gMDtuX2NvbnRlbnQgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9jb250ZW50KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgd3JpdGVyID0gZ2VuX3htbFRleHRXcml0ZXJQdHIobl93cml0ZXIsIDApOworICAgICAgICBuYW1lID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgMSk7CisgICAgICAgIGNvbnRlbnQgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9jb250ZW50LCAyKTsKKworICAgICAgICByZXRfdmFsID0geG1sVGV4dFdyaXRlcldyaXRlRFRERWxlbWVudCh3cml0ZXIsIChjb25zdCB4bWxDaGFyICopbmFtZSwgKGNvbnN0IHhtbENoYXIgKiljb250ZW50KTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sVGV4dFdyaXRlclB0cihuX3dyaXRlciwgd3JpdGVyLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgKGNvbnN0IHhtbENoYXIgKiluYW1lLCAxKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fY29udGVudCwgKGNvbnN0IHhtbENoYXIgKiljb250ZW50LCAyKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFRleHRXcml0ZXJXcml0ZURUREVsZW1lbnQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fd3JpdGVyKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9uYW1lKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jb250ZW50KTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxUZXh0V3JpdGVyV3JpdGVEVERFbnRpdHkodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sVGV4dFdyaXRlclB0ciB3cml0ZXI7IC8qIHRoZSB4bWxUZXh0V3JpdGVyUHRyICovCisgICAgaW50IG5fd3JpdGVyOworICAgIGludCBwZTsgLyogVFJVRSBpZiB0aGlzIGlzIGEgcGFyYW1ldGVyIGVudGl0eSwgRkFMU0UgaWYgbm90ICovCisgICAgaW50IG5fcGU7CisgICAgeG1sQ2hhciAqIG5hbWU7IC8qIHRoZSBuYW1lIG9mIHRoZSBEVEQgZW50aXR5ICovCisgICAgaW50IG5fbmFtZTsKKyAgICB4bWxDaGFyICogcHViaWQ7IC8qIHRoZSBwdWJsaWMgaWRlbnRpZmllciwgd2hpY2ggaXMgYW4gYWx0ZXJuYXRpdmUgdG8gdGhlIHN5c3RlbSBpZGVudGlmaWVyICovCisgICAgaW50IG5fcHViaWQ7CisgICAgeG1sQ2hhciAqIHN5c2lkOyAvKiB0aGUgc3lzdGVtIGlkZW50aWZpZXIsIHdoaWNoIGlzIHRoZSBVUkkgb2YgdGhlIERURCAqLworICAgIGludCBuX3N5c2lkOworICAgIHhtbENoYXIgKiBuZGF0YWlkOyAvKiB0aGUgeG1sIG5vdGF0aW9uIG5hbWUuICovCisgICAgaW50IG5fbmRhdGFpZDsKKyAgICB4bWxDaGFyICogY29udGVudDsgLyogY29udGVudCBvZiB0aGUgZW50aXR5ICovCisgICAgaW50IG5fY29udGVudDsKKworICAgIGZvciAobl93cml0ZXIgPSAwO25fd3JpdGVyIDwgZ2VuX25iX3htbFRleHRXcml0ZXJQdHI7bl93cml0ZXIrKykgeworICAgIGZvciAobl9wZSA9IDA7bl9wZSA8IGdlbl9uYl9pbnQ7bl9wZSsrKSB7CisgICAgZm9yIChuX25hbWUgPSAwO25fbmFtZSA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX25hbWUrKykgeworICAgIGZvciAobl9wdWJpZCA9IDA7bl9wdWJpZCA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX3B1YmlkKyspIHsKKyAgICBmb3IgKG5fc3lzaWQgPSAwO25fc3lzaWQgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9zeXNpZCsrKSB7CisgICAgZm9yIChuX25kYXRhaWQgPSAwO25fbmRhdGFpZCA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX25kYXRhaWQrKykgeworICAgIGZvciAobl9jb250ZW50ID0gMDtuX2NvbnRlbnQgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9jb250ZW50KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgd3JpdGVyID0gZ2VuX3htbFRleHRXcml0ZXJQdHIobl93cml0ZXIsIDApOworICAgICAgICBwZSA9IGdlbl9pbnQobl9wZSwgMSk7CisgICAgICAgIG5hbWUgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAyKTsKKyAgICAgICAgcHViaWQgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9wdWJpZCwgMyk7CisgICAgICAgIHN5c2lkID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fc3lzaWQsIDQpOworICAgICAgICBuZGF0YWlkID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fbmRhdGFpZCwgNSk7CisgICAgICAgIGNvbnRlbnQgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9jb250ZW50LCA2KTsKKworICAgICAgICByZXRfdmFsID0geG1sVGV4dFdyaXRlcldyaXRlRFRERW50aXR5KHdyaXRlciwgcGUsIChjb25zdCB4bWxDaGFyICopbmFtZSwgKGNvbnN0IHhtbENoYXIgKilwdWJpZCwgKGNvbnN0IHhtbENoYXIgKilzeXNpZCwgKGNvbnN0IHhtbENoYXIgKiluZGF0YWlkLCAoY29uc3QgeG1sQ2hhciAqKWNvbnRlbnQpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxUZXh0V3JpdGVyUHRyKG5fd3JpdGVyLCB3cml0ZXIsIDApOworICAgICAgICBkZXNfaW50KG5fcGUsIHBlLCAxKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgKGNvbnN0IHhtbENoYXIgKiluYW1lLCAyKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fcHViaWQsIChjb25zdCB4bWxDaGFyICopcHViaWQsIDMpOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9zeXNpZCwgKGNvbnN0IHhtbENoYXIgKilzeXNpZCwgNCk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX25kYXRhaWQsIChjb25zdCB4bWxDaGFyICopbmRhdGFpZCwgNSk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX2NvbnRlbnQsIChjb25zdCB4bWxDaGFyICopY29udGVudCwgNik7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxUZXh0V3JpdGVyV3JpdGVEVERFbnRpdHkiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fd3JpdGVyKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9wZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFtZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fcHViaWQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3N5c2lkKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9uZGF0YWlkKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jb250ZW50KTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVGV4dFdyaXRlcldyaXRlRFRERXh0ZXJuYWxFbnRpdHkodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sVGV4dFdyaXRlclB0ciB3cml0ZXI7IC8qIHRoZSB4bWxUZXh0V3JpdGVyUHRyICovCisgICAgaW50IG5fd3JpdGVyOworICAgIGludCBwZTsgLyogVFJVRSBpZiB0aGlzIGlzIGEgcGFyYW1ldGVyIGVudGl0eSwgRkFMU0UgaWYgbm90ICovCisgICAgaW50IG5fcGU7CisgICAgeG1sQ2hhciAqIG5hbWU7IC8qIHRoZSBuYW1lIG9mIHRoZSBEVEQgZW50aXR5ICovCisgICAgaW50IG5fbmFtZTsKKyAgICB4bWxDaGFyICogcHViaWQ7IC8qIHRoZSBwdWJsaWMgaWRlbnRpZmllciwgd2hpY2ggaXMgYW4gYWx0ZXJuYXRpdmUgdG8gdGhlIHN5c3RlbSBpZGVudGlmaWVyICovCisgICAgaW50IG5fcHViaWQ7CisgICAgeG1sQ2hhciAqIHN5c2lkOyAvKiB0aGUgc3lzdGVtIGlkZW50aWZpZXIsIHdoaWNoIGlzIHRoZSBVUkkgb2YgdGhlIERURCAqLworICAgIGludCBuX3N5c2lkOworICAgIHhtbENoYXIgKiBuZGF0YWlkOyAvKiB0aGUgeG1sIG5vdGF0aW9uIG5hbWUuICovCisgICAgaW50IG5fbmRhdGFpZDsKKworICAgIGZvciAobl93cml0ZXIgPSAwO25fd3JpdGVyIDwgZ2VuX25iX3htbFRleHRXcml0ZXJQdHI7bl93cml0ZXIrKykgeworICAgIGZvciAobl9wZSA9IDA7bl9wZSA8IGdlbl9uYl9pbnQ7bl9wZSsrKSB7CisgICAgZm9yIChuX25hbWUgPSAwO25fbmFtZSA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX25hbWUrKykgeworICAgIGZvciAobl9wdWJpZCA9IDA7bl9wdWJpZCA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX3B1YmlkKyspIHsKKyAgICBmb3IgKG5fc3lzaWQgPSAwO25fc3lzaWQgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9zeXNpZCsrKSB7CisgICAgZm9yIChuX25kYXRhaWQgPSAwO25fbmRhdGFpZCA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX25kYXRhaWQrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICB3cml0ZXIgPSBnZW5feG1sVGV4dFdyaXRlclB0cihuX3dyaXRlciwgMCk7CisgICAgICAgIHBlID0gZ2VuX2ludChuX3BlLCAxKTsKKyAgICAgICAgbmFtZSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIDIpOworICAgICAgICBwdWJpZCA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX3B1YmlkLCAzKTsKKyAgICAgICAgc3lzaWQgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9zeXNpZCwgNCk7CisgICAgICAgIG5kYXRhaWQgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9uZGF0YWlkLCA1KTsKKworICAgICAgICByZXRfdmFsID0geG1sVGV4dFdyaXRlcldyaXRlRFRERXh0ZXJuYWxFbnRpdHkod3JpdGVyLCBwZSwgKGNvbnN0IHhtbENoYXIgKiluYW1lLCAoY29uc3QgeG1sQ2hhciAqKXB1YmlkLCAoY29uc3QgeG1sQ2hhciAqKXN5c2lkLCAoY29uc3QgeG1sQ2hhciAqKW5kYXRhaWQpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxUZXh0V3JpdGVyUHRyKG5fd3JpdGVyLCB3cml0ZXIsIDApOworICAgICAgICBkZXNfaW50KG5fcGUsIHBlLCAxKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgKGNvbnN0IHhtbENoYXIgKiluYW1lLCAyKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fcHViaWQsIChjb25zdCB4bWxDaGFyICopcHViaWQsIDMpOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9zeXNpZCwgKGNvbnN0IHhtbENoYXIgKilzeXNpZCwgNCk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX25kYXRhaWQsIChjb25zdCB4bWxDaGFyICopbmRhdGFpZCwgNSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxUZXh0V3JpdGVyV3JpdGVEVERFeHRlcm5hbEVudGl0eSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl93cml0ZXIpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3BlKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9uYW1lKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9wdWJpZCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fc3lzaWQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25kYXRhaWQpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFRleHRXcml0ZXJXcml0ZURUREV4dGVybmFsRW50aXR5Q29udGVudHModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sVGV4dFdyaXRlclB0ciB3cml0ZXI7IC8qIHRoZSB4bWxUZXh0V3JpdGVyUHRyICovCisgICAgaW50IG5fd3JpdGVyOworICAgIHhtbENoYXIgKiBwdWJpZDsgLyogdGhlIHB1YmxpYyBpZGVudGlmaWVyLCB3aGljaCBpcyBhbiBhbHRlcm5hdGl2ZSB0byB0aGUgc3lzdGVtIGlkZW50aWZpZXIgKi8KKyAgICBpbnQgbl9wdWJpZDsKKyAgICB4bWxDaGFyICogc3lzaWQ7IC8qIHRoZSBzeXN0ZW0gaWRlbnRpZmllciwgd2hpY2ggaXMgdGhlIFVSSSBvZiB0aGUgRFREICovCisgICAgaW50IG5fc3lzaWQ7CisgICAgeG1sQ2hhciAqIG5kYXRhaWQ7IC8qIHRoZSB4bWwgbm90YXRpb24gbmFtZS4gKi8KKyAgICBpbnQgbl9uZGF0YWlkOworCisgICAgZm9yIChuX3dyaXRlciA9IDA7bl93cml0ZXIgPCBnZW5fbmJfeG1sVGV4dFdyaXRlclB0cjtuX3dyaXRlcisrKSB7CisgICAgZm9yIChuX3B1YmlkID0gMDtuX3B1YmlkIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fcHViaWQrKykgeworICAgIGZvciAobl9zeXNpZCA9IDA7bl9zeXNpZCA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX3N5c2lkKyspIHsKKyAgICBmb3IgKG5fbmRhdGFpZCA9IDA7bl9uZGF0YWlkIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fbmRhdGFpZCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHdyaXRlciA9IGdlbl94bWxUZXh0V3JpdGVyUHRyKG5fd3JpdGVyLCAwKTsKKyAgICAgICAgcHViaWQgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9wdWJpZCwgMSk7CisgICAgICAgIHN5c2lkID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fc3lzaWQsIDIpOworICAgICAgICBuZGF0YWlkID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fbmRhdGFpZCwgMyk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFRleHRXcml0ZXJXcml0ZURUREV4dGVybmFsRW50aXR5Q29udGVudHMod3JpdGVyLCAoY29uc3QgeG1sQ2hhciAqKXB1YmlkLCAoY29uc3QgeG1sQ2hhciAqKXN5c2lkLCAoY29uc3QgeG1sQ2hhciAqKW5kYXRhaWQpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxUZXh0V3JpdGVyUHRyKG5fd3JpdGVyLCB3cml0ZXIsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9wdWJpZCwgKGNvbnN0IHhtbENoYXIgKilwdWJpZCwgMSk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX3N5c2lkLCAoY29uc3QgeG1sQ2hhciAqKXN5c2lkLCAyKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fbmRhdGFpZCwgKGNvbnN0IHhtbENoYXIgKiluZGF0YWlkLCAzKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFRleHRXcml0ZXJXcml0ZURUREV4dGVybmFsRW50aXR5Q29udGVudHMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fd3JpdGVyKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9wdWJpZCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fc3lzaWQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25kYXRhaWQpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxUZXh0V3JpdGVyV3JpdGVEVERJbnRlcm5hbEVudGl0eSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxUZXh0V3JpdGVyUHRyIHdyaXRlcjsgLyogdGhlIHhtbFRleHRXcml0ZXJQdHIgKi8KKyAgICBpbnQgbl93cml0ZXI7CisgICAgaW50IHBlOyAvKiBUUlVFIGlmIHRoaXMgaXMgYSBwYXJhbWV0ZXIgZW50aXR5LCBGQUxTRSBpZiBub3QgKi8KKyAgICBpbnQgbl9wZTsKKyAgICB4bWxDaGFyICogbmFtZTsgLyogdGhlIG5hbWUgb2YgdGhlIERURCBlbnRpdHkgKi8KKyAgICBpbnQgbl9uYW1lOworICAgIHhtbENoYXIgKiBjb250ZW50OyAvKiBjb250ZW50IG9mIHRoZSBlbnRpdHkgKi8KKyAgICBpbnQgbl9jb250ZW50OworCisgICAgZm9yIChuX3dyaXRlciA9IDA7bl93cml0ZXIgPCBnZW5fbmJfeG1sVGV4dFdyaXRlclB0cjtuX3dyaXRlcisrKSB7CisgICAgZm9yIChuX3BlID0gMDtuX3BlIDwgZ2VuX25iX2ludDtuX3BlKyspIHsKKyAgICBmb3IgKG5fbmFtZSA9IDA7bl9uYW1lIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fbmFtZSsrKSB7CisgICAgZm9yIChuX2NvbnRlbnQgPSAwO25fY29udGVudCA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX2NvbnRlbnQrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICB3cml0ZXIgPSBnZW5feG1sVGV4dFdyaXRlclB0cihuX3dyaXRlciwgMCk7CisgICAgICAgIHBlID0gZ2VuX2ludChuX3BlLCAxKTsKKyAgICAgICAgbmFtZSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIDIpOworICAgICAgICBjb250ZW50ID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fY29udGVudCwgMyk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFRleHRXcml0ZXJXcml0ZURUREludGVybmFsRW50aXR5KHdyaXRlciwgcGUsIChjb25zdCB4bWxDaGFyICopbmFtZSwgKGNvbnN0IHhtbENoYXIgKiljb250ZW50KTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sVGV4dFdyaXRlclB0cihuX3dyaXRlciwgd3JpdGVyLCAwKTsKKyAgICAgICAgZGVzX2ludChuX3BlLCBwZSwgMSk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIChjb25zdCB4bWxDaGFyICopbmFtZSwgMik7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX2NvbnRlbnQsIChjb25zdCB4bWxDaGFyICopY29udGVudCwgMyk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxUZXh0V3JpdGVyV3JpdGVEVERJbnRlcm5hbEVudGl0eSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl93cml0ZXIpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3BlKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9uYW1lKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jb250ZW50KTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVGV4dFdyaXRlcldyaXRlRFRETm90YXRpb24odm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sVGV4dFdyaXRlclB0ciB3cml0ZXI7IC8qIHRoZSB4bWxUZXh0V3JpdGVyUHRyICovCisgICAgaW50IG5fd3JpdGVyOworICAgIHhtbENoYXIgKiBuYW1lOyAvKiB0aGUgbmFtZSBvZiB0aGUgeG1sIG5vdGF0aW9uICovCisgICAgaW50IG5fbmFtZTsKKyAgICB4bWxDaGFyICogcHViaWQ7IC8qIHRoZSBwdWJsaWMgaWRlbnRpZmllciwgd2hpY2ggaXMgYW4gYWx0ZXJuYXRpdmUgdG8gdGhlIHN5c3RlbSBpZGVudGlmaWVyICovCisgICAgaW50IG5fcHViaWQ7CisgICAgeG1sQ2hhciAqIHN5c2lkOyAvKiB0aGUgc3lzdGVtIGlkZW50aWZpZXIsIHdoaWNoIGlzIHRoZSBVUkkgb2YgdGhlIERURCAqLworICAgIGludCBuX3N5c2lkOworCisgICAgZm9yIChuX3dyaXRlciA9IDA7bl93cml0ZXIgPCBnZW5fbmJfeG1sVGV4dFdyaXRlclB0cjtuX3dyaXRlcisrKSB7CisgICAgZm9yIChuX25hbWUgPSAwO25fbmFtZSA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX25hbWUrKykgeworICAgIGZvciAobl9wdWJpZCA9IDA7bl9wdWJpZCA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX3B1YmlkKyspIHsKKyAgICBmb3IgKG5fc3lzaWQgPSAwO25fc3lzaWQgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9zeXNpZCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHdyaXRlciA9IGdlbl94bWxUZXh0V3JpdGVyUHRyKG5fd3JpdGVyLCAwKTsKKyAgICAgICAgbmFtZSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIDEpOworICAgICAgICBwdWJpZCA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX3B1YmlkLCAyKTsKKyAgICAgICAgc3lzaWQgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9zeXNpZCwgMyk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFRleHRXcml0ZXJXcml0ZURURE5vdGF0aW9uKHdyaXRlciwgKGNvbnN0IHhtbENoYXIgKiluYW1lLCAoY29uc3QgeG1sQ2hhciAqKXB1YmlkLCAoY29uc3QgeG1sQ2hhciAqKXN5c2lkKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sVGV4dFdyaXRlclB0cihuX3dyaXRlciwgd3JpdGVyLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgKGNvbnN0IHhtbENoYXIgKiluYW1lLCAxKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fcHViaWQsIChjb25zdCB4bWxDaGFyICopcHViaWQsIDIpOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9zeXNpZCwgKGNvbnN0IHhtbENoYXIgKilzeXNpZCwgMyk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxUZXh0V3JpdGVyV3JpdGVEVEROb3RhdGlvbiIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl93cml0ZXIpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25hbWUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3B1YmlkKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9zeXNpZCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFRleHRXcml0ZXJXcml0ZUVsZW1lbnQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sVGV4dFdyaXRlclB0ciB3cml0ZXI7IC8qIHRoZSB4bWxUZXh0V3JpdGVyUHRyICovCisgICAgaW50IG5fd3JpdGVyOworICAgIHhtbENoYXIgKiBuYW1lOyAvKiBlbGVtZW50IG5hbWUgKi8KKyAgICBpbnQgbl9uYW1lOworICAgIHhtbENoYXIgKiBjb250ZW50OyAvKiBlbGVtZW50IGNvbnRlbnQgKi8KKyAgICBpbnQgbl9jb250ZW50OworCisgICAgZm9yIChuX3dyaXRlciA9IDA7bl93cml0ZXIgPCBnZW5fbmJfeG1sVGV4dFdyaXRlclB0cjtuX3dyaXRlcisrKSB7CisgICAgZm9yIChuX25hbWUgPSAwO25fbmFtZSA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX25hbWUrKykgeworICAgIGZvciAobl9jb250ZW50ID0gMDtuX2NvbnRlbnQgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9jb250ZW50KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgd3JpdGVyID0gZ2VuX3htbFRleHRXcml0ZXJQdHIobl93cml0ZXIsIDApOworICAgICAgICBuYW1lID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgMSk7CisgICAgICAgIGNvbnRlbnQgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9jb250ZW50LCAyKTsKKworICAgICAgICByZXRfdmFsID0geG1sVGV4dFdyaXRlcldyaXRlRWxlbWVudCh3cml0ZXIsIChjb25zdCB4bWxDaGFyICopbmFtZSwgKGNvbnN0IHhtbENoYXIgKiljb250ZW50KTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sVGV4dFdyaXRlclB0cihuX3dyaXRlciwgd3JpdGVyLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgKGNvbnN0IHhtbENoYXIgKiluYW1lLCAxKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fY29udGVudCwgKGNvbnN0IHhtbENoYXIgKiljb250ZW50LCAyKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFRleHRXcml0ZXJXcml0ZUVsZW1lbnQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fd3JpdGVyKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9uYW1lKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jb250ZW50KTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxUZXh0V3JpdGVyV3JpdGVFbGVtZW50TlModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sVGV4dFdyaXRlclB0ciB3cml0ZXI7IC8qIHRoZSB4bWxUZXh0V3JpdGVyUHRyICovCisgICAgaW50IG5fd3JpdGVyOworICAgIHhtbENoYXIgKiBwcmVmaXg7IC8qIG5hbWVzcGFjZSBwcmVmaXggKi8KKyAgICBpbnQgbl9wcmVmaXg7CisgICAgeG1sQ2hhciAqIG5hbWU7IC8qIGVsZW1lbnQgbG9jYWwgbmFtZSAqLworICAgIGludCBuX25hbWU7CisgICAgeG1sQ2hhciAqIG5hbWVzcGFjZVVSSTsgLyogbmFtZXNwYWNlIFVSSSAqLworICAgIGludCBuX25hbWVzcGFjZVVSSTsKKyAgICB4bWxDaGFyICogY29udGVudDsgLyogZWxlbWVudCBjb250ZW50ICovCisgICAgaW50IG5fY29udGVudDsKKworICAgIGZvciAobl93cml0ZXIgPSAwO25fd3JpdGVyIDwgZ2VuX25iX3htbFRleHRXcml0ZXJQdHI7bl93cml0ZXIrKykgeworICAgIGZvciAobl9wcmVmaXggPSAwO25fcHJlZml4IDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fcHJlZml4KyspIHsKKyAgICBmb3IgKG5fbmFtZSA9IDA7bl9uYW1lIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fbmFtZSsrKSB7CisgICAgZm9yIChuX25hbWVzcGFjZVVSSSA9IDA7bl9uYW1lc3BhY2VVUkkgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9uYW1lc3BhY2VVUkkrKykgeworICAgIGZvciAobl9jb250ZW50ID0gMDtuX2NvbnRlbnQgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9jb250ZW50KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgd3JpdGVyID0gZ2VuX3htbFRleHRXcml0ZXJQdHIobl93cml0ZXIsIDApOworICAgICAgICBwcmVmaXggPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9wcmVmaXgsIDEpOworICAgICAgICBuYW1lID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgMik7CisgICAgICAgIG5hbWVzcGFjZVVSSSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX25hbWVzcGFjZVVSSSwgMyk7CisgICAgICAgIGNvbnRlbnQgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9jb250ZW50LCA0KTsKKworICAgICAgICByZXRfdmFsID0geG1sVGV4dFdyaXRlcldyaXRlRWxlbWVudE5TKHdyaXRlciwgKGNvbnN0IHhtbENoYXIgKilwcmVmaXgsIChjb25zdCB4bWxDaGFyICopbmFtZSwgKGNvbnN0IHhtbENoYXIgKiluYW1lc3BhY2VVUkksIChjb25zdCB4bWxDaGFyICopY29udGVudCk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFRleHRXcml0ZXJQdHIobl93cml0ZXIsIHdyaXRlciwgMCk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX3ByZWZpeCwgKGNvbnN0IHhtbENoYXIgKilwcmVmaXgsIDEpOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUsIDIpOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lc3BhY2VVUkksIChjb25zdCB4bWxDaGFyICopbmFtZXNwYWNlVVJJLCAzKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fY29udGVudCwgKGNvbnN0IHhtbENoYXIgKiljb250ZW50LCA0KTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFRleHRXcml0ZXJXcml0ZUVsZW1lbnROUyIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl93cml0ZXIpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3ByZWZpeCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFtZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFtZXNwYWNlVVJJKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jb250ZW50KTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdEF0dHJpYnV0ZSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworCisgICAgLyogbWlzc2luZyB0eXBlIHN1cHBvcnQgKi8KKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0QXR0cmlidXRlTlModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworICAgIC8qIG1pc3NpbmcgdHlwZSBzdXBwb3J0ICovCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdENEQVRBKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisKKyAgICAvKiBtaXNzaW5nIHR5cGUgc3VwcG9ydCAqLworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRDb21tZW50KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisKKyAgICAvKiBtaXNzaW5nIHR5cGUgc3VwcG9ydCAqLworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVEQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworICAgIC8qIG1pc3NpbmcgdHlwZSBzdXBwb3J0ICovCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdERUREF0dGxpc3Qodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworICAgIC8qIG1pc3NpbmcgdHlwZSBzdXBwb3J0ICovCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdERUREVsZW1lbnQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworICAgIC8qIG1pc3NpbmcgdHlwZSBzdXBwb3J0ICovCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdERUREludGVybmFsRW50aXR5KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisKKyAgICAvKiBtaXNzaW5nIHR5cGUgc3VwcG9ydCAqLworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRFbGVtZW50KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisKKyAgICAvKiBtaXNzaW5nIHR5cGUgc3VwcG9ydCAqLworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRFbGVtZW50TlModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworICAgIC8qIG1pc3NpbmcgdHlwZSBzdXBwb3J0ICovCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdFBJKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisKKyAgICAvKiBtaXNzaW5nIHR5cGUgc3VwcG9ydCAqLworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRSYXcodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworICAgIC8qIG1pc3NpbmcgdHlwZSBzdXBwb3J0ICovCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdFN0cmluZyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworCisgICAgLyogbWlzc2luZyB0eXBlIHN1cHBvcnQgKi8KKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVGV4dFdyaXRlcldyaXRlUEkodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sVGV4dFdyaXRlclB0ciB3cml0ZXI7IC8qIHRoZSB4bWxUZXh0V3JpdGVyUHRyICovCisgICAgaW50IG5fd3JpdGVyOworICAgIHhtbENoYXIgKiB0YXJnZXQ7IC8qIFBJIHRhcmdldCAqLworICAgIGludCBuX3RhcmdldDsKKyAgICB4bWxDaGFyICogY29udGVudDsgLyogUEkgY29udGVudCAqLworICAgIGludCBuX2NvbnRlbnQ7CisKKyAgICBmb3IgKG5fd3JpdGVyID0gMDtuX3dyaXRlciA8IGdlbl9uYl94bWxUZXh0V3JpdGVyUHRyO25fd3JpdGVyKyspIHsKKyAgICBmb3IgKG5fdGFyZ2V0ID0gMDtuX3RhcmdldCA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX3RhcmdldCsrKSB7CisgICAgZm9yIChuX2NvbnRlbnQgPSAwO25fY29udGVudCA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX2NvbnRlbnQrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICB3cml0ZXIgPSBnZW5feG1sVGV4dFdyaXRlclB0cihuX3dyaXRlciwgMCk7CisgICAgICAgIHRhcmdldCA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX3RhcmdldCwgMSk7CisgICAgICAgIGNvbnRlbnQgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9jb250ZW50LCAyKTsKKworICAgICAgICByZXRfdmFsID0geG1sVGV4dFdyaXRlcldyaXRlUEkod3JpdGVyLCAoY29uc3QgeG1sQ2hhciAqKXRhcmdldCwgKGNvbnN0IHhtbENoYXIgKiljb250ZW50KTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sVGV4dFdyaXRlclB0cihuX3dyaXRlciwgd3JpdGVyLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fdGFyZ2V0LCAoY29uc3QgeG1sQ2hhciAqKXRhcmdldCwgMSk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX2NvbnRlbnQsIChjb25zdCB4bWxDaGFyICopY29udGVudCwgMik7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxUZXh0V3JpdGVyV3JpdGVQSSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl93cml0ZXIpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3RhcmdldCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29udGVudCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVGV4dFdyaXRlcldyaXRlUmF3KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbFRleHRXcml0ZXJQdHIgd3JpdGVyOyAvKiB0aGUgeG1sVGV4dFdyaXRlclB0ciAqLworICAgIGludCBuX3dyaXRlcjsKKyAgICB4bWxDaGFyICogY29udGVudDsgLyogdGV4dCBzdHJpbmcgKi8KKyAgICBpbnQgbl9jb250ZW50OworCisgICAgZm9yIChuX3dyaXRlciA9IDA7bl93cml0ZXIgPCBnZW5fbmJfeG1sVGV4dFdyaXRlclB0cjtuX3dyaXRlcisrKSB7CisgICAgZm9yIChuX2NvbnRlbnQgPSAwO25fY29udGVudCA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX2NvbnRlbnQrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICB3cml0ZXIgPSBnZW5feG1sVGV4dFdyaXRlclB0cihuX3dyaXRlciwgMCk7CisgICAgICAgIGNvbnRlbnQgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9jb250ZW50LCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sVGV4dFdyaXRlcldyaXRlUmF3KHdyaXRlciwgKGNvbnN0IHhtbENoYXIgKiljb250ZW50KTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sVGV4dFdyaXRlclB0cihuX3dyaXRlciwgd3JpdGVyLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fY29udGVudCwgKGNvbnN0IHhtbENoYXIgKiljb250ZW50LCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFRleHRXcml0ZXJXcml0ZVJhdyIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl93cml0ZXIpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2NvbnRlbnQpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVGV4dFdyaXRlcldyaXRlUmF3TGVuKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbFRleHRXcml0ZXJQdHIgd3JpdGVyOyAvKiB0aGUgeG1sVGV4dFdyaXRlclB0ciAqLworICAgIGludCBuX3dyaXRlcjsKKyAgICB4bWxDaGFyICogY29udGVudDsgLyogdGV4dCBzdHJpbmcgKi8KKyAgICBpbnQgbl9jb250ZW50OworICAgIGludCBsZW47IC8qIGxlbmd0aCBvZiB0aGUgdGV4dCBzdHJpbmcgKi8KKyAgICBpbnQgbl9sZW47CisKKyAgICBmb3IgKG5fd3JpdGVyID0gMDtuX3dyaXRlciA8IGdlbl9uYl94bWxUZXh0V3JpdGVyUHRyO25fd3JpdGVyKyspIHsKKyAgICBmb3IgKG5fY29udGVudCA9IDA7bl9jb250ZW50IDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fY29udGVudCsrKSB7CisgICAgZm9yIChuX2xlbiA9IDA7bl9sZW4gPCBnZW5fbmJfaW50O25fbGVuKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgd3JpdGVyID0gZ2VuX3htbFRleHRXcml0ZXJQdHIobl93cml0ZXIsIDApOworICAgICAgICBjb250ZW50ID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fY29udGVudCwgMSk7CisgICAgICAgIGxlbiA9IGdlbl9pbnQobl9sZW4sIDIpOworCisgICAgICAgIHJldF92YWwgPSB4bWxUZXh0V3JpdGVyV3JpdGVSYXdMZW4od3JpdGVyLCAoY29uc3QgeG1sQ2hhciAqKWNvbnRlbnQsIGxlbik7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFRleHRXcml0ZXJQdHIobl93cml0ZXIsIHdyaXRlciwgMCk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX2NvbnRlbnQsIChjb25zdCB4bWxDaGFyICopY29udGVudCwgMSk7CisgICAgICAgIGRlc19pbnQobl9sZW4sIGxlbiwgMik7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxUZXh0V3JpdGVyV3JpdGVSYXdMZW4iLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fd3JpdGVyKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jb250ZW50KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9sZW4pOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFRleHRXcml0ZXJXcml0ZVN0cmluZyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1dSSVRFUl9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxUZXh0V3JpdGVyUHRyIHdyaXRlcjsgLyogdGhlIHhtbFRleHRXcml0ZXJQdHIgKi8KKyAgICBpbnQgbl93cml0ZXI7CisgICAgeG1sQ2hhciAqIGNvbnRlbnQ7IC8qIHRleHQgc3RyaW5nICovCisgICAgaW50IG5fY29udGVudDsKKworICAgIGZvciAobl93cml0ZXIgPSAwO25fd3JpdGVyIDwgZ2VuX25iX3htbFRleHRXcml0ZXJQdHI7bl93cml0ZXIrKykgeworICAgIGZvciAobl9jb250ZW50ID0gMDtuX2NvbnRlbnQgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9jb250ZW50KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgd3JpdGVyID0gZ2VuX3htbFRleHRXcml0ZXJQdHIobl93cml0ZXIsIDApOworICAgICAgICBjb250ZW50ID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fY29udGVudCwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFRleHRXcml0ZXJXcml0ZVN0cmluZyh3cml0ZXIsIChjb25zdCB4bWxDaGFyICopY29udGVudCk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFRleHRXcml0ZXJQdHIobl93cml0ZXIsIHdyaXRlciwgMCk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX2NvbnRlbnQsIChjb25zdCB4bWxDaGFyICopY29udGVudCwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxUZXh0V3JpdGVyV3JpdGVTdHJpbmciLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fd3JpdGVyKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jb250ZW50KTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRBdHRyaWJ1dGUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworICAgIC8qIG1pc3NpbmcgdHlwZSBzdXBwb3J0ICovCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRBdHRyaWJ1dGVOUyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworCisgICAgLyogbWlzc2luZyB0eXBlIHN1cHBvcnQgKi8KKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdENEQVRBKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisKKyAgICAvKiBtaXNzaW5nIHR5cGUgc3VwcG9ydCAqLworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0Q29tbWVudCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworCisgICAgLyogbWlzc2luZyB0eXBlIHN1cHBvcnQgKi8KKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERURCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworCisgICAgLyogbWlzc2luZyB0eXBlIHN1cHBvcnQgKi8KKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREF0dGxpc3Qodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworICAgIC8qIG1pc3NpbmcgdHlwZSBzdXBwb3J0ICovCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVERFbGVtZW50KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisKKyAgICAvKiBtaXNzaW5nIHR5cGUgc3VwcG9ydCAqLworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFRESW50ZXJuYWxFbnRpdHkodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworICAgIC8qIG1pc3NpbmcgdHlwZSBzdXBwb3J0ICovCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRFbGVtZW50KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisKKyAgICAvKiBtaXNzaW5nIHR5cGUgc3VwcG9ydCAqLworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RWxlbWVudE5TKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisKKyAgICAvKiBtaXNzaW5nIHR5cGUgc3VwcG9ydCAqLworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0UEkodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworICAgIC8qIG1pc3NpbmcgdHlwZSBzdXBwb3J0ICovCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRSYXcodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworICAgIC8qIG1pc3NpbmcgdHlwZSBzdXBwb3J0ICovCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRTdHJpbmcodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworICAgIC8qIG1pc3NpbmcgdHlwZSBzdXBwb3J0ICovCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworc3RhdGljIGludAordGVzdF94bWx3cml0ZXIodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpZiAocXVpZXQgPT0gMCkgcHJpbnRmKCJUZXN0aW5nIHhtbHdyaXRlciA6IDUyIG9mIDgwIGZ1bmN0aW9ucyAuLi5cbiIpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sTmV3VGV4dFdyaXRlcigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sTmV3VGV4dFdyaXRlckZpbGVuYW1lKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxOZXdUZXh0V3JpdGVyTWVtb3J5KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxOZXdUZXh0V3JpdGVyUHVzaFBhcnNlcigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sTmV3VGV4dFdyaXRlclRyZWUoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFRleHRXcml0ZXJFbmRBdHRyaWJ1dGUoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFRleHRXcml0ZXJFbmRDREFUQSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVGV4dFdyaXRlckVuZENvbW1lbnQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFRleHRXcml0ZXJFbmREVEQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFRleHRXcml0ZXJFbmREVERBdHRsaXN0KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxUZXh0V3JpdGVyRW5kRFRERWxlbWVudCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVGV4dFdyaXRlckVuZERUREVudGl0eSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVGV4dFdyaXRlckVuZERvY3VtZW50KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxUZXh0V3JpdGVyRW5kRWxlbWVudCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVGV4dFdyaXRlckVuZFBJKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxUZXh0V3JpdGVyRmx1c2goKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFRleHRXcml0ZXJGdWxsRW5kRWxlbWVudCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVGV4dFdyaXRlclNldEluZGVudCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVGV4dFdyaXRlclNldEluZGVudFN0cmluZygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVGV4dFdyaXRlclNldFF1b3RlQ2hhcigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVGV4dFdyaXRlclN0YXJ0QXR0cmlidXRlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxUZXh0V3JpdGVyU3RhcnRBdHRyaWJ1dGVOUygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVGV4dFdyaXRlclN0YXJ0Q0RBVEEoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFRleHRXcml0ZXJTdGFydENvbW1lbnQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFRleHRXcml0ZXJTdGFydERURCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVGV4dFdyaXRlclN0YXJ0RFREQXR0bGlzdCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVGV4dFdyaXRlclN0YXJ0RFRERWxlbWVudCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVGV4dFdyaXRlclN0YXJ0RFRERW50aXR5KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxUZXh0V3JpdGVyU3RhcnREb2N1bWVudCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVGV4dFdyaXRlclN0YXJ0RWxlbWVudCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVGV4dFdyaXRlclN0YXJ0RWxlbWVudE5TKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxUZXh0V3JpdGVyU3RhcnRQSSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVGV4dFdyaXRlcldyaXRlQXR0cmlidXRlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxUZXh0V3JpdGVyV3JpdGVBdHRyaWJ1dGVOUygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVGV4dFdyaXRlcldyaXRlQmFzZTY0KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxUZXh0V3JpdGVyV3JpdGVCaW5IZXgoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFRleHRXcml0ZXJXcml0ZUNEQVRBKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxUZXh0V3JpdGVyV3JpdGVDb21tZW50KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxUZXh0V3JpdGVyV3JpdGVEVEQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFRleHRXcml0ZXJXcml0ZURUREF0dGxpc3QoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFRleHRXcml0ZXJXcml0ZURUREVsZW1lbnQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFRleHRXcml0ZXJXcml0ZURUREVudGl0eSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVGV4dFdyaXRlcldyaXRlRFRERXh0ZXJuYWxFbnRpdHkoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFRleHRXcml0ZXJXcml0ZURUREV4dGVybmFsRW50aXR5Q29udGVudHMoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFRleHRXcml0ZXJXcml0ZURUREludGVybmFsRW50aXR5KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxUZXh0V3JpdGVyV3JpdGVEVEROb3RhdGlvbigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVGV4dFdyaXRlcldyaXRlRWxlbWVudCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVGV4dFdyaXRlcldyaXRlRWxlbWVudE5TKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRBdHRyaWJ1dGUoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdEF0dHJpYnV0ZU5TKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRDREFUQSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0Q29tbWVudCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFREKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVERBdHRsaXN0KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVERFbGVtZW50KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVERJbnRlcm5hbEVudGl0eSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RWxlbWVudCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RWxlbWVudE5TKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRQSSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0UmF3KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRTdHJpbmcoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFRleHRXcml0ZXJXcml0ZVBJKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxUZXh0V3JpdGVyV3JpdGVSYXcoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFRleHRXcml0ZXJXcml0ZVJhd0xlbigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVGV4dFdyaXRlcldyaXRlU3RyaW5nKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0QXR0cmlidXRlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0QXR0cmlidXRlTlMoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRDREFUQSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdENvbW1lbnQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVEQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVERBdHRsaXN0KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFRERWxlbWVudCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREludGVybmFsRW50aXR5KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RWxlbWVudCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEVsZW1lbnROUygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdFBJKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0UmF3KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0U3RyaW5nKCk7CisKKyAgICBpZiAodGVzdF9yZXQgIT0gMCkKKwlwcmludGYoIk1vZHVsZSB4bWx3cml0ZXI6ICVkIGVycm9yc1xuIiwgdGVzdF9yZXQpOworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sWFBhdGhDYXN0Qm9vbGVhblRvTnVtYmVyKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgZG91YmxlIHJldF92YWw7CisgICAgaW50IHZhbDsgLyogYSBib29sZWFuICovCisgICAgaW50IG5fdmFsOworCisgICAgZm9yIChuX3ZhbCA9IDA7bl92YWwgPCBnZW5fbmJfaW50O25fdmFsKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgdmFsID0gZ2VuX2ludChuX3ZhbCwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFhQYXRoQ2FzdEJvb2xlYW5Ub051bWJlcih2YWwpOworICAgICAgICBkZXNyZXRfZG91YmxlKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl92YWwsIHZhbCwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxYUGF0aENhc3RCb29sZWFuVG9OdW1iZXIiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdmFsKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sWFBhdGhDYXN0Qm9vbGVhblRvU3RyaW5nKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sQ2hhciAqIHJldF92YWw7CisgICAgaW50IHZhbDsgLyogYSBib29sZWFuICovCisgICAgaW50IG5fdmFsOworCisgICAgZm9yIChuX3ZhbCA9IDA7bl92YWwgPCBnZW5fbmJfaW50O25fdmFsKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgdmFsID0gZ2VuX2ludChuX3ZhbCwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFhQYXRoQ2FzdEJvb2xlYW5Ub1N0cmluZyh2YWwpOworICAgICAgICBkZXNyZXRfeG1sQ2hhcl9wdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2ludChuX3ZhbCwgdmFsLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFhQYXRoQ2FzdEJvb2xlYW5Ub1N0cmluZyIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl92YWwpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxYUGF0aENhc3ROb2RlU2V0VG9Cb29sZWFuKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sTm9kZVNldFB0ciBuczsgLyogYSBub2RlLXNldCAqLworICAgIGludCBuX25zOworCisgICAgZm9yIChuX25zID0gMDtuX25zIDwgZ2VuX25iX3htbE5vZGVTZXRQdHI7bl9ucysrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIG5zID0gZ2VuX3htbE5vZGVTZXRQdHIobl9ucywgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFhQYXRoQ2FzdE5vZGVTZXRUb0Jvb2xlYW4obnMpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxOb2RlU2V0UHRyKG5fbnMsIG5zLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFhQYXRoQ2FzdE5vZGVTZXRUb0Jvb2xlYW4iLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbnMpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxYUGF0aENhc3ROb2RlU2V0VG9OdW1iZXIodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBkb3VibGUgcmV0X3ZhbDsKKyAgICB4bWxOb2RlU2V0UHRyIG5zOyAvKiBhIG5vZGUtc2V0ICovCisgICAgaW50IG5fbnM7CisKKyAgICBmb3IgKG5fbnMgPSAwO25fbnMgPCBnZW5fbmJfeG1sTm9kZVNldFB0cjtuX25zKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgbnMgPSBnZW5feG1sTm9kZVNldFB0cihuX25zLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sWFBhdGhDYXN0Tm9kZVNldFRvTnVtYmVyKG5zKTsKKyAgICAgICAgZGVzcmV0X2RvdWJsZShyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sTm9kZVNldFB0cihuX25zLCBucywgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxYUGF0aENhc3ROb2RlU2V0VG9OdW1iZXIiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbnMpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxYUGF0aENhc3ROb2RlU2V0VG9TdHJpbmcodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxDaGFyICogcmV0X3ZhbDsKKyAgICB4bWxOb2RlU2V0UHRyIG5zOyAvKiBhIG5vZGUtc2V0ICovCisgICAgaW50IG5fbnM7CisKKyAgICBmb3IgKG5fbnMgPSAwO25fbnMgPCBnZW5fbmJfeG1sTm9kZVNldFB0cjtuX25zKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgbnMgPSBnZW5feG1sTm9kZVNldFB0cihuX25zLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sWFBhdGhDYXN0Tm9kZVNldFRvU3RyaW5nKG5zKTsKKyAgICAgICAgZGVzcmV0X3htbENoYXJfcHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxOb2RlU2V0UHRyKG5fbnMsIG5zLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFhQYXRoQ2FzdE5vZGVTZXRUb1N0cmluZyIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9ucyk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFhQYXRoQ2FzdE5vZGVUb051bWJlcih2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGRvdWJsZSByZXRfdmFsOworICAgIHhtbE5vZGVQdHIgbm9kZTsgLyogYSBub2RlICovCisgICAgaW50IG5fbm9kZTsKKworICAgIGZvciAobl9ub2RlID0gMDtuX25vZGUgPCBnZW5fbmJfeG1sTm9kZVB0cjtuX25vZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBub2RlID0gZ2VuX3htbE5vZGVQdHIobl9ub2RlLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sWFBhdGhDYXN0Tm9kZVRvTnVtYmVyKG5vZGUpOworICAgICAgICBkZXNyZXRfZG91YmxlKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxOb2RlUHRyKG5fbm9kZSwgbm9kZSwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxYUGF0aENhc3ROb2RlVG9OdW1iZXIiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbm9kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFhQYXRoQ2FzdE5vZGVUb1N0cmluZyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbENoYXIgKiByZXRfdmFsOworICAgIHhtbE5vZGVQdHIgbm9kZTsgLyogYSBub2RlICovCisgICAgaW50IG5fbm9kZTsKKworICAgIGZvciAobl9ub2RlID0gMDtuX25vZGUgPCBnZW5fbmJfeG1sTm9kZVB0cjtuX25vZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBub2RlID0gZ2VuX3htbE5vZGVQdHIobl9ub2RlLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sWFBhdGhDYXN0Tm9kZVRvU3RyaW5nKG5vZGUpOworICAgICAgICBkZXNyZXRfeG1sQ2hhcl9wdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl9ub2RlLCBub2RlLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFhQYXRoQ2FzdE5vZGVUb1N0cmluZyIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9ub2RlKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sWFBhdGhDYXN0TnVtYmVyVG9Cb29sZWFuKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgZG91YmxlIHZhbDsgLyogYSBudW1iZXIgKi8KKyAgICBpbnQgbl92YWw7CisKKyAgICBmb3IgKG5fdmFsID0gMDtuX3ZhbCA8IGdlbl9uYl9kb3VibGU7bl92YWwrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICB2YWwgPSBnZW5fZG91YmxlKG5fdmFsLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sWFBhdGhDYXN0TnVtYmVyVG9Cb29sZWFuKHZhbCk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2RvdWJsZShuX3ZhbCwgdmFsLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFhQYXRoQ2FzdE51bWJlclRvQm9vbGVhbiIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl92YWwpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxYUGF0aENhc3ROdW1iZXJUb1N0cmluZyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbENoYXIgKiByZXRfdmFsOworICAgIGRvdWJsZSB2YWw7IC8qIGEgbnVtYmVyICovCisgICAgaW50IG5fdmFsOworCisgICAgZm9yIChuX3ZhbCA9IDA7bl92YWwgPCBnZW5fbmJfZG91YmxlO25fdmFsKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgdmFsID0gZ2VuX2RvdWJsZShuX3ZhbCwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFhQYXRoQ2FzdE51bWJlclRvU3RyaW5nKHZhbCk7CisgICAgICAgIGRlc3JldF94bWxDaGFyX3B0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfZG91YmxlKG5fdmFsLCB2YWwsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sWFBhdGhDYXN0TnVtYmVyVG9TdHJpbmciLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdmFsKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sWFBhdGhDYXN0U3RyaW5nVG9Cb29sZWFuKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sQ2hhciAqIHZhbDsgLyogYSBzdHJpbmcgKi8KKyAgICBpbnQgbl92YWw7CisKKyAgICBmb3IgKG5fdmFsID0gMDtuX3ZhbCA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX3ZhbCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHZhbCA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX3ZhbCwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFhQYXRoQ2FzdFN0cmluZ1RvQm9vbGVhbigoY29uc3QgeG1sQ2hhciAqKXZhbCk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fdmFsLCAoY29uc3QgeG1sQ2hhciAqKXZhbCwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxYUGF0aENhc3RTdHJpbmdUb0Jvb2xlYW4iLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdmFsKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sWFBhdGhDYXN0U3RyaW5nVG9OdW1iZXIodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBkb3VibGUgcmV0X3ZhbDsKKyAgICB4bWxDaGFyICogdmFsOyAvKiBhIHN0cmluZyAqLworICAgIGludCBuX3ZhbDsKKworICAgIGZvciAobl92YWwgPSAwO25fdmFsIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fdmFsKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgdmFsID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fdmFsLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sWFBhdGhDYXN0U3RyaW5nVG9OdW1iZXIoKGNvbnN0IHhtbENoYXIgKil2YWwpOworICAgICAgICBkZXNyZXRfZG91YmxlKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX3ZhbCwgKGNvbnN0IHhtbENoYXIgKil2YWwsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sWFBhdGhDYXN0U3RyaW5nVG9OdW1iZXIiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdmFsKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sWFBhdGhDYXN0VG9Cb29sZWFuKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sWFBhdGhPYmplY3RQdHIgdmFsOyAvKiBhbiBYUGF0aCBvYmplY3QgKi8KKyAgICBpbnQgbl92YWw7CisKKyAgICBmb3IgKG5fdmFsID0gMDtuX3ZhbCA8IGdlbl9uYl94bWxYUGF0aE9iamVjdFB0cjtuX3ZhbCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHZhbCA9IGdlbl94bWxYUGF0aE9iamVjdFB0cihuX3ZhbCwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFhQYXRoQ2FzdFRvQm9vbGVhbih2YWwpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxYUGF0aE9iamVjdFB0cihuX3ZhbCwgdmFsLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFhQYXRoQ2FzdFRvQm9vbGVhbiIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl92YWwpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxYUGF0aENhc3RUb051bWJlcih2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGRvdWJsZSByZXRfdmFsOworICAgIHhtbFhQYXRoT2JqZWN0UHRyIHZhbDsgLyogYW4gWFBhdGggb2JqZWN0ICovCisgICAgaW50IG5fdmFsOworCisgICAgZm9yIChuX3ZhbCA9IDA7bl92YWwgPCBnZW5fbmJfeG1sWFBhdGhPYmplY3RQdHI7bl92YWwrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICB2YWwgPSBnZW5feG1sWFBhdGhPYmplY3RQdHIobl92YWwsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxYUGF0aENhc3RUb051bWJlcih2YWwpOworICAgICAgICBkZXNyZXRfZG91YmxlKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxYUGF0aE9iamVjdFB0cihuX3ZhbCwgdmFsLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFhQYXRoQ2FzdFRvTnVtYmVyIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3ZhbCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFhQYXRoQ2FzdFRvU3RyaW5nKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sQ2hhciAqIHJldF92YWw7CisgICAgeG1sWFBhdGhPYmplY3RQdHIgdmFsOyAvKiBhbiBYUGF0aCBvYmplY3QgKi8KKyAgICBpbnQgbl92YWw7CisKKyAgICBmb3IgKG5fdmFsID0gMDtuX3ZhbCA8IGdlbl9uYl94bWxYUGF0aE9iamVjdFB0cjtuX3ZhbCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHZhbCA9IGdlbl94bWxYUGF0aE9iamVjdFB0cihuX3ZhbCwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFhQYXRoQ2FzdFRvU3RyaW5nKHZhbCk7CisgICAgICAgIGRlc3JldF94bWxDaGFyX3B0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sWFBhdGhPYmplY3RQdHIobl92YWwsIHZhbCwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxYUGF0aENhc3RUb1N0cmluZyIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl92YWwpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxYUGF0aENtcE5vZGVzKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sTm9kZVB0ciBub2RlMTsgLyogdGhlIGZpcnN0IG5vZGUgKi8KKyAgICBpbnQgbl9ub2RlMTsKKyAgICB4bWxOb2RlUHRyIG5vZGUyOyAvKiB0aGUgc2Vjb25kIG5vZGUgKi8KKyAgICBpbnQgbl9ub2RlMjsKKworICAgIGZvciAobl9ub2RlMSA9IDA7bl9ub2RlMSA8IGdlbl9uYl94bWxOb2RlUHRyO25fbm9kZTErKykgeworICAgIGZvciAobl9ub2RlMiA9IDA7bl9ub2RlMiA8IGdlbl9uYl94bWxOb2RlUHRyO25fbm9kZTIrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBub2RlMSA9IGdlbl94bWxOb2RlUHRyKG5fbm9kZTEsIDApOworICAgICAgICBub2RlMiA9IGdlbl94bWxOb2RlUHRyKG5fbm9kZTIsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxYUGF0aENtcE5vZGVzKG5vZGUxLCBub2RlMik7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl9ub2RlMSwgbm9kZTEsIDApOworICAgICAgICBkZXNfeG1sTm9kZVB0cihuX25vZGUyLCBub2RlMiwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxYUGF0aENtcE5vZGVzIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25vZGUxKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9ub2RlMik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxYUGF0aENvbXBpbGUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworICAgIC8qIG1pc3NpbmcgdHlwZSBzdXBwb3J0ICovCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECisKKyNkZWZpbmUgZ2VuX25iX3htbFhQYXRoQ29tcEV4cHJQdHIgMQorc3RhdGljIHhtbFhQYXRoQ29tcEV4cHJQdHIgZ2VuX3htbFhQYXRoQ29tcEV4cHJQdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgcmV0dXJuKE5VTEwpOworfQorc3RhdGljIHZvaWQgZGVzX3htbFhQYXRoQ29tcEV4cHJQdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIHhtbFhQYXRoQ29tcEV4cHJQdHIgdmFsIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7Cit9CisjZW5kaWYKKworI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECisKKyNkZWZpbmUgZ2VuX25iX3htbFhQYXRoQ29udGV4dFB0ciAxCitzdGF0aWMgeG1sWFBhdGhDb250ZXh0UHRyIGdlbl94bWxYUGF0aENvbnRleHRQdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgcmV0dXJuKE5VTEwpOworfQorc3RhdGljIHZvaWQgZGVzX3htbFhQYXRoQ29udGV4dFB0cihpbnQgbm8gQVRUUklCVVRFX1VOVVNFRCwgeG1sWFBhdGhDb250ZXh0UHRyIHZhbCBBVFRSSUJVVEVfVU5VU0VELCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworfQorI2VuZGlmCisKKworc3RhdGljIGludAordGVzdF94bWxYUGF0aENvbXBpbGVkRXZhbCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbFhQYXRoT2JqZWN0UHRyIHJldF92YWw7CisgICAgeG1sWFBhdGhDb21wRXhwclB0ciBjb21wOyAvKiB0aGUgY29tcGlsZWQgWFBhdGggZXhwcmVzc2lvbiAqLworICAgIGludCBuX2NvbXA7CisgICAgeG1sWFBhdGhDb250ZXh0UHRyIGN0eDsgLyogdGhlIFhQYXRoIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHg7CisKKyAgICBmb3IgKG5fY29tcCA9IDA7bl9jb21wIDwgZ2VuX25iX3htbFhQYXRoQ29tcEV4cHJQdHI7bl9jb21wKyspIHsKKyAgICBmb3IgKG5fY3R4ID0gMDtuX2N0eCA8IGdlbl9uYl94bWxYUGF0aENvbnRleHRQdHI7bl9jdHgrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjb21wID0gZ2VuX3htbFhQYXRoQ29tcEV4cHJQdHIobl9jb21wLCAwKTsKKyAgICAgICAgY3R4ID0gZ2VuX3htbFhQYXRoQ29udGV4dFB0cihuX2N0eCwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFhQYXRoQ29tcGlsZWRFdmFsKGNvbXAsIGN0eCk7CisgICAgICAgIGRlc3JldF94bWxYUGF0aE9iamVjdFB0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sWFBhdGhDb21wRXhwclB0cihuX2NvbXAsIGNvbXAsIDApOworICAgICAgICBkZXNfeG1sWFBhdGhDb250ZXh0UHRyKG5fY3R4LCBjdHgsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sWFBhdGhDb21waWxlZEV2YWwiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY29tcCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4KTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFhQYXRoQ29tcGlsZWRFdmFsVG9Cb29sZWFuKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sWFBhdGhDb21wRXhwclB0ciBjb21wOyAvKiB0aGUgY29tcGlsZWQgWFBhdGggZXhwcmVzc2lvbiAqLworICAgIGludCBuX2NvbXA7CisgICAgeG1sWFBhdGhDb250ZXh0UHRyIGN0eHQ7IC8qIHRoZSBYUGF0aCBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKworICAgIGZvciAobl9jb21wID0gMDtuX2NvbXAgPCBnZW5fbmJfeG1sWFBhdGhDb21wRXhwclB0cjtuX2NvbXArKykgeworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfeG1sWFBhdGhDb250ZXh0UHRyO25fY3R4dCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGNvbXAgPSBnZW5feG1sWFBhdGhDb21wRXhwclB0cihuX2NvbXAsIDApOworICAgICAgICBjdHh0ID0gZ2VuX3htbFhQYXRoQ29udGV4dFB0cihuX2N0eHQsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxYUGF0aENvbXBpbGVkRXZhbFRvQm9vbGVhbihjb21wLCBjdHh0KTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sWFBhdGhDb21wRXhwclB0cihuX2NvbXAsIGNvbXAsIDApOworICAgICAgICBkZXNfeG1sWFBhdGhDb250ZXh0UHRyKG5fY3R4dCwgY3R4dCwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxYUGF0aENvbXBpbGVkRXZhbFRvQm9vbGVhbiIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jb21wKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHh0KTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFhQYXRoQ29udGV4dFNldENhY2hlKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sWFBhdGhDb250ZXh0UHRyIGN0eHQ7IC8qIHRoZSBYUGF0aCBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKyAgICBpbnQgYWN0aXZlOyAvKiBlbmFibGVzL2Rpc2FibGVzIChjcmVhdGVzL2ZyZWVzKSB0aGUgY2FjaGUgKi8KKyAgICBpbnQgbl9hY3RpdmU7CisgICAgaW50IHZhbHVlOyAvKiBhIHZhbHVlIHdpdGggc2VtYW50aWNzIGRlcGVuZGFudCBvbiBAb3B0aW9ucyAqLworICAgIGludCBuX3ZhbHVlOworICAgIGludCBvcHRpb25zOyAvKiBvcHRpb25zIChjdXJyZW50bHkgb25seSB0aGUgdmFsdWUgMCBpcyB1c2VkKSAqLworICAgIGludCBuX29wdGlvbnM7CisKKyAgICBmb3IgKG5fY3R4dCA9IDA7bl9jdHh0IDwgZ2VuX25iX3htbFhQYXRoQ29udGV4dFB0cjtuX2N0eHQrKykgeworICAgIGZvciAobl9hY3RpdmUgPSAwO25fYWN0aXZlIDwgZ2VuX25iX2ludDtuX2FjdGl2ZSsrKSB7CisgICAgZm9yIChuX3ZhbHVlID0gMDtuX3ZhbHVlIDwgZ2VuX25iX2ludDtuX3ZhbHVlKyspIHsKKyAgICBmb3IgKG5fb3B0aW9ucyA9IDA7bl9vcHRpb25zIDwgZ2VuX25iX2ludDtuX29wdGlvbnMrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX3htbFhQYXRoQ29udGV4dFB0cihuX2N0eHQsIDApOworICAgICAgICBhY3RpdmUgPSBnZW5faW50KG5fYWN0aXZlLCAxKTsKKyAgICAgICAgdmFsdWUgPSBnZW5faW50KG5fdmFsdWUsIDIpOworICAgICAgICBvcHRpb25zID0gZ2VuX2ludChuX29wdGlvbnMsIDMpOworCisgICAgICAgIHJldF92YWwgPSB4bWxYUGF0aENvbnRleHRTZXRDYWNoZShjdHh0LCBhY3RpdmUsIHZhbHVlLCBvcHRpb25zKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sWFBhdGhDb250ZXh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIGRlc19pbnQobl9hY3RpdmUsIGFjdGl2ZSwgMSk7CisgICAgICAgIGRlc19pbnQobl92YWx1ZSwgdmFsdWUsIDIpOworICAgICAgICBkZXNfaW50KG5fb3B0aW9ucywgb3B0aW9ucywgMyk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxYUGF0aENvbnRleHRTZXRDYWNoZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHh0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9hY3RpdmUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3ZhbHVlKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9vcHRpb25zKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sWFBhdGhDb252ZXJ0Qm9vbGVhbih2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbFhQYXRoT2JqZWN0UHRyIHJldF92YWw7CisgICAgeG1sWFBhdGhPYmplY3RQdHIgdmFsOyAvKiBhbiBYUGF0aCBvYmplY3QgKi8KKyAgICBpbnQgbl92YWw7CisKKyAgICBmb3IgKG5fdmFsID0gMDtuX3ZhbCA8IGdlbl9uYl94bWxYUGF0aE9iamVjdFB0cjtuX3ZhbCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHZhbCA9IGdlbl94bWxYUGF0aE9iamVjdFB0cihuX3ZhbCwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFhQYXRoQ29udmVydEJvb2xlYW4odmFsKTsKKyAgICAgICAgdmFsID0gTlVMTDsKKyAgICAgICAgZGVzcmV0X3htbFhQYXRoT2JqZWN0UHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxYUGF0aE9iamVjdFB0cihuX3ZhbCwgdmFsLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFhQYXRoQ29udmVydEJvb2xlYW4iLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdmFsKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sWFBhdGhDb252ZXJ0TnVtYmVyKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sWFBhdGhPYmplY3RQdHIgcmV0X3ZhbDsKKyAgICB4bWxYUGF0aE9iamVjdFB0ciB2YWw7IC8qIGFuIFhQYXRoIG9iamVjdCAqLworICAgIGludCBuX3ZhbDsKKworICAgIGZvciAobl92YWwgPSAwO25fdmFsIDwgZ2VuX25iX3htbFhQYXRoT2JqZWN0UHRyO25fdmFsKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgdmFsID0gZ2VuX3htbFhQYXRoT2JqZWN0UHRyKG5fdmFsLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sWFBhdGhDb252ZXJ0TnVtYmVyKHZhbCk7CisgICAgICAgIHZhbCA9IE5VTEw7CisgICAgICAgIGRlc3JldF94bWxYUGF0aE9iamVjdFB0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sWFBhdGhPYmplY3RQdHIobl92YWwsIHZhbCwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxYUGF0aENvbnZlcnROdW1iZXIiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdmFsKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sWFBhdGhDb252ZXJ0U3RyaW5nKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sWFBhdGhPYmplY3RQdHIgcmV0X3ZhbDsKKyAgICB4bWxYUGF0aE9iamVjdFB0ciB2YWw7IC8qIGFuIFhQYXRoIG9iamVjdCAqLworICAgIGludCBuX3ZhbDsKKworICAgIGZvciAobl92YWwgPSAwO25fdmFsIDwgZ2VuX25iX3htbFhQYXRoT2JqZWN0UHRyO25fdmFsKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgdmFsID0gZ2VuX3htbFhQYXRoT2JqZWN0UHRyKG5fdmFsLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sWFBhdGhDb252ZXJ0U3RyaW5nKHZhbCk7CisgICAgICAgIHZhbCA9IE5VTEw7CisgICAgICAgIGRlc3JldF94bWxYUGF0aE9iamVjdFB0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sWFBhdGhPYmplY3RQdHIobl92YWwsIHZhbCwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxYUGF0aENvbnZlcnRTdHJpbmciLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdmFsKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sWFBhdGhDdHh0Q29tcGlsZSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworCisgICAgLyogbWlzc2luZyB0eXBlIHN1cHBvcnQgKi8KKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sWFBhdGhFdmFsKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sWFBhdGhPYmplY3RQdHIgcmV0X3ZhbDsKKyAgICB4bWxDaGFyICogc3RyOyAvKiB0aGUgWFBhdGggZXhwcmVzc2lvbiAqLworICAgIGludCBuX3N0cjsKKyAgICB4bWxYUGF0aENvbnRleHRQdHIgY3R4OyAvKiB0aGUgWFBhdGggY29udGV4dCAqLworICAgIGludCBuX2N0eDsKKworICAgIGZvciAobl9zdHIgPSAwO25fc3RyIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fc3RyKyspIHsKKyAgICBmb3IgKG5fY3R4ID0gMDtuX2N0eCA8IGdlbl9uYl94bWxYUGF0aENvbnRleHRQdHI7bl9jdHgrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBzdHIgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9zdHIsIDApOworICAgICAgICBjdHggPSBnZW5feG1sWFBhdGhDb250ZXh0UHRyKG5fY3R4LCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sWFBhdGhFdmFsKChjb25zdCB4bWxDaGFyICopc3RyLCBjdHgpOworICAgICAgICBkZXNyZXRfeG1sWFBhdGhPYmplY3RQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fc3RyLCAoY29uc3QgeG1sQ2hhciAqKXN0ciwgMCk7CisgICAgICAgIGRlc194bWxYUGF0aENvbnRleHRQdHIobl9jdHgsIGN0eCwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxYUGF0aEV2YWwiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fc3RyKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHgpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sWFBhdGhFdmFsRXhwcmVzc2lvbih2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbFhQYXRoT2JqZWN0UHRyIHJldF92YWw7CisgICAgeG1sQ2hhciAqIHN0cjsgLyogdGhlIFhQYXRoIGV4cHJlc3Npb24gKi8KKyAgICBpbnQgbl9zdHI7CisgICAgeG1sWFBhdGhDb250ZXh0UHRyIGN0eHQ7IC8qIHRoZSBYUGF0aCBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKworICAgIGZvciAobl9zdHIgPSAwO25fc3RyIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fc3RyKyspIHsKKyAgICBmb3IgKG5fY3R4dCA9IDA7bl9jdHh0IDwgZ2VuX25iX3htbFhQYXRoQ29udGV4dFB0cjtuX2N0eHQrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBzdHIgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9zdHIsIDApOworICAgICAgICBjdHh0ID0gZ2VuX3htbFhQYXRoQ29udGV4dFB0cihuX2N0eHQsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxYUGF0aEV2YWxFeHByZXNzaW9uKChjb25zdCB4bWxDaGFyICopc3RyLCBjdHh0KTsKKyAgICAgICAgZGVzcmV0X3htbFhQYXRoT2JqZWN0UHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX3N0ciwgKGNvbnN0IHhtbENoYXIgKilzdHIsIDApOworICAgICAgICBkZXNfeG1sWFBhdGhDb250ZXh0UHRyKG5fY3R4dCwgY3R4dCwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxYUGF0aEV2YWxFeHByZXNzaW9uIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3N0cik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxYUGF0aEV2YWxQcmVkaWNhdGUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxYUGF0aENvbnRleHRQdHIgY3R4dDsgLyogdGhlIFhQYXRoIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHh0OworICAgIHhtbFhQYXRoT2JqZWN0UHRyIHJlczsgLyogdGhlIFByZWRpY2F0ZSBFeHByZXNzaW9uIGV2YWx1YXRpb24gcmVzdWx0ICovCisgICAgaW50IG5fcmVzOworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxYUGF0aENvbnRleHRQdHI7bl9jdHh0KyspIHsKKyAgICBmb3IgKG5fcmVzID0gMDtuX3JlcyA8IGdlbl9uYl94bWxYUGF0aE9iamVjdFB0cjtuX3JlcysrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eHQgPSBnZW5feG1sWFBhdGhDb250ZXh0UHRyKG5fY3R4dCwgMCk7CisgICAgICAgIHJlcyA9IGdlbl94bWxYUGF0aE9iamVjdFB0cihuX3JlcywgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFhQYXRoRXZhbFByZWRpY2F0ZShjdHh0LCByZXMpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxYUGF0aENvbnRleHRQdHIobl9jdHh0LCBjdHh0LCAwKTsKKyAgICAgICAgZGVzX3htbFhQYXRoT2JqZWN0UHRyKG5fcmVzLCByZXMsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sWFBhdGhFdmFsUHJlZGljYXRlIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3Jlcyk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxYUGF0aEluaXQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworCisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisKKyAgICAgICAgeG1sWFBhdGhJbml0KCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFhQYXRoSW5pdCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxYUGF0aElzSW5mKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICBkb3VibGUgdmFsOyAvKiBhIGRvdWJsZSB2YWx1ZSAqLworICAgIGludCBuX3ZhbDsKKworICAgIGZvciAobl92YWwgPSAwO25fdmFsIDwgZ2VuX25iX2RvdWJsZTtuX3ZhbCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHZhbCA9IGdlbl9kb3VibGUobl92YWwsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxYUGF0aElzSW5mKHZhbCk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2RvdWJsZShuX3ZhbCwgdmFsLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFhQYXRoSXNJbmYiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdmFsKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sWFBhdGhJc05hTih2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgZG91YmxlIHZhbDsgLyogYSBkb3VibGUgdmFsdWUgKi8KKyAgICBpbnQgbl92YWw7CisKKyAgICBmb3IgKG5fdmFsID0gMDtuX3ZhbCA8IGdlbl9uYl9kb3VibGU7bl92YWwrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICB2YWwgPSBnZW5fZG91YmxlKG5fdmFsLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sWFBhdGhJc05hTih2YWwpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19kb3VibGUobl92YWwsIHZhbCwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxYUGF0aElzTmFOIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3ZhbCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFhQYXRoTmV3Q29udGV4dCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworCisgICAgLyogbWlzc2luZyB0eXBlIHN1cHBvcnQgKi8KKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sWFBhdGhOb2RlRXZhbCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbFhQYXRoT2JqZWN0UHRyIHJldF92YWw7CisgICAgeG1sTm9kZVB0ciBub2RlOyAvKiB0aGUgbm9kZSB0byB0byB1c2UgYXMgdGhlIGNvbnRleHQgbm9kZSAqLworICAgIGludCBuX25vZGU7CisgICAgeG1sQ2hhciAqIHN0cjsgLyogdGhlIFhQYXRoIGV4cHJlc3Npb24gKi8KKyAgICBpbnQgbl9zdHI7CisgICAgeG1sWFBhdGhDb250ZXh0UHRyIGN0eDsgLyogdGhlIFhQYXRoIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHg7CisKKyAgICBmb3IgKG5fbm9kZSA9IDA7bl9ub2RlIDwgZ2VuX25iX3htbE5vZGVQdHI7bl9ub2RlKyspIHsKKyAgICBmb3IgKG5fc3RyID0gMDtuX3N0ciA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX3N0cisrKSB7CisgICAgZm9yIChuX2N0eCA9IDA7bl9jdHggPCBnZW5fbmJfeG1sWFBhdGhDb250ZXh0UHRyO25fY3R4KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgbm9kZSA9IGdlbl94bWxOb2RlUHRyKG5fbm9kZSwgMCk7CisgICAgICAgIHN0ciA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX3N0ciwgMSk7CisgICAgICAgIGN0eCA9IGdlbl94bWxYUGF0aENvbnRleHRQdHIobl9jdHgsIDIpOworCisgICAgICAgIHJldF92YWwgPSB4bWxYUGF0aE5vZGVFdmFsKG5vZGUsIChjb25zdCB4bWxDaGFyICopc3RyLCBjdHgpOworICAgICAgICBkZXNyZXRfeG1sWFBhdGhPYmplY3RQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl9ub2RlLCBub2RlLCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fc3RyLCAoY29uc3QgeG1sQ2hhciAqKXN0ciwgMSk7CisgICAgICAgIGRlc194bWxYUGF0aENvbnRleHRQdHIobl9jdHgsIGN0eCwgMik7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxYUGF0aE5vZGVFdmFsIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25vZGUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3N0cik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4KTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxYUGF0aE5vZGVTZXRDcmVhdGUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxOb2RlU2V0UHRyIHJldF92YWw7CisgICAgeG1sTm9kZVB0ciB2YWw7IC8qIGFuIGluaXRpYWwgeG1sTm9kZVB0ciwgb3IgTlVMTCAqLworICAgIGludCBuX3ZhbDsKKworICAgIGZvciAobl92YWwgPSAwO25fdmFsIDwgZ2VuX25iX3htbE5vZGVQdHI7bl92YWwrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICB2YWwgPSBnZW5feG1sTm9kZVB0cihuX3ZhbCwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFhQYXRoTm9kZVNldENyZWF0ZSh2YWwpOworICAgICAgICBkZXNyZXRfeG1sTm9kZVNldFB0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sTm9kZVB0cihuX3ZhbCwgdmFsLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFhQYXRoTm9kZVNldENyZWF0ZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl92YWwpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxYUGF0aE9iamVjdENvcHkodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxYUGF0aE9iamVjdFB0ciByZXRfdmFsOworICAgIHhtbFhQYXRoT2JqZWN0UHRyIHZhbDsgLyogdGhlIG9yaWdpbmFsIG9iamVjdCAqLworICAgIGludCBuX3ZhbDsKKworICAgIGZvciAobl92YWwgPSAwO25fdmFsIDwgZ2VuX25iX3htbFhQYXRoT2JqZWN0UHRyO25fdmFsKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgdmFsID0gZ2VuX3htbFhQYXRoT2JqZWN0UHRyKG5fdmFsLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sWFBhdGhPYmplY3RDb3B5KHZhbCk7CisgICAgICAgIGRlc3JldF94bWxYUGF0aE9iamVjdFB0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sWFBhdGhPYmplY3RQdHIobl92YWwsIHZhbCwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxYUGF0aE9iamVjdENvcHkiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdmFsKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sWFBhdGhPcmRlckRvY0VsZW1zKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgbG9uZyByZXRfdmFsOworICAgIHhtbERvY1B0ciBkb2M7IC8qIGFuIGlucHV0IGRvY3VtZW50ICovCisgICAgaW50IG5fZG9jOworCisgICAgZm9yIChuX2RvYyA9IDA7bl9kb2MgPCBnZW5fbmJfeG1sRG9jUHRyO25fZG9jKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgZG9jID0gZ2VuX3htbERvY1B0cihuX2RvYywgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFhQYXRoT3JkZXJEb2NFbGVtcyhkb2MpOworICAgICAgICBkZXNyZXRfbG9uZyhyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sRG9jUHRyKG5fZG9jLCBkb2MsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sWFBhdGhPcmRlckRvY0VsZW1zIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2RvYyk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFhQYXRoU2V0Q29udGV4dE5vZGUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxOb2RlUHRyIG5vZGU7IC8qIHRoZSBub2RlIHRvIHRvIHVzZSBhcyB0aGUgY29udGV4dCBub2RlICovCisgICAgaW50IG5fbm9kZTsKKyAgICB4bWxYUGF0aENvbnRleHRQdHIgY3R4OyAvKiB0aGUgWFBhdGggY29udGV4dCAqLworICAgIGludCBuX2N0eDsKKworICAgIGZvciAobl9ub2RlID0gMDtuX25vZGUgPCBnZW5fbmJfeG1sTm9kZVB0cjtuX25vZGUrKykgeworICAgIGZvciAobl9jdHggPSAwO25fY3R4IDwgZ2VuX25iX3htbFhQYXRoQ29udGV4dFB0cjtuX2N0eCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIG5vZGUgPSBnZW5feG1sTm9kZVB0cihuX25vZGUsIDApOworICAgICAgICBjdHggPSBnZW5feG1sWFBhdGhDb250ZXh0UHRyKG5fY3R4LCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sWFBhdGhTZXRDb250ZXh0Tm9kZShub2RlLCBjdHgpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxOb2RlUHRyKG5fbm9kZSwgbm9kZSwgMCk7CisgICAgICAgIGRlc194bWxYUGF0aENvbnRleHRQdHIobl9jdHgsIGN0eCwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxYUGF0aFNldENvbnRleHROb2RlIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25vZGUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKK3N0YXRpYyBpbnQKK3Rlc3RfeHBhdGgodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpZiAocXVpZXQgPT0gMCkgcHJpbnRmKCJUZXN0aW5nIHhwYXRoIDogMzIgb2YgNDAgZnVuY3Rpb25zIC4uLlxuIik7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUGF0aENhc3RCb29sZWFuVG9OdW1iZXIoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFhQYXRoQ2FzdEJvb2xlYW5Ub1N0cmluZygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sWFBhdGhDYXN0Tm9kZVNldFRvQm9vbGVhbigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sWFBhdGhDYXN0Tm9kZVNldFRvTnVtYmVyKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUGF0aENhc3ROb2RlU2V0VG9TdHJpbmcoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFhQYXRoQ2FzdE5vZGVUb051bWJlcigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sWFBhdGhDYXN0Tm9kZVRvU3RyaW5nKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUGF0aENhc3ROdW1iZXJUb0Jvb2xlYW4oKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFhQYXRoQ2FzdE51bWJlclRvU3RyaW5nKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUGF0aENhc3RTdHJpbmdUb0Jvb2xlYW4oKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFhQYXRoQ2FzdFN0cmluZ1RvTnVtYmVyKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUGF0aENhc3RUb0Jvb2xlYW4oKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFhQYXRoQ2FzdFRvTnVtYmVyKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUGF0aENhc3RUb1N0cmluZygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sWFBhdGhDbXBOb2RlcygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sWFBhdGhDb21waWxlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUGF0aENvbXBpbGVkRXZhbCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sWFBhdGhDb21waWxlZEV2YWxUb0Jvb2xlYW4oKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFhQYXRoQ29udGV4dFNldENhY2hlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUGF0aENvbnZlcnRCb29sZWFuKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUGF0aENvbnZlcnROdW1iZXIoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFhQYXRoQ29udmVydFN0cmluZygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sWFBhdGhDdHh0Q29tcGlsZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sWFBhdGhFdmFsKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUGF0aEV2YWxFeHByZXNzaW9uKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUGF0aEV2YWxQcmVkaWNhdGUoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFhQYXRoSW5pdCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sWFBhdGhJc0luZigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sWFBhdGhJc05hTigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sWFBhdGhOZXdDb250ZXh0KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUGF0aE5vZGVFdmFsKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUGF0aE5vZGVTZXRDcmVhdGUoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFhQYXRoT2JqZWN0Q29weSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sWFBhdGhPcmRlckRvY0VsZW1zKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUGF0aFNldENvbnRleHROb2RlKCk7CisKKyAgICBpZiAodGVzdF9yZXQgIT0gMCkKKwlwcmludGYoIk1vZHVsZSB4cGF0aDogJWQgZXJyb3JzXG4iLCB0ZXN0X3JldCk7CisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAorCisjZGVmaW5lIGdlbl9uYl94bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgMQorc3RhdGljIHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBnZW5feG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCBpbnQgbnIgQVRUUklCVVRFX1VOVVNFRCkgeworICAgIHJldHVybihOVUxMKTsKK30KK3N0YXRpYyB2b2lkIGRlc194bWxYUGF0aFBhcnNlckNvbnRleHRQdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciB2YWwgQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKK30KKyNlbmRpZgorCisKK3N0YXRpYyBpbnQKK3Rlc3RfdmFsdWVQb3Aodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxYUGF0aE9iamVjdFB0ciByZXRfdmFsOworICAgIHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0OyAvKiBhbiBYUGF0aCBldmFsdWF0aW9uIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHh0OworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxYUGF0aFBhcnNlckNvbnRleHRQdHI7bl9jdHh0KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4dCA9IGdlbl94bWxYUGF0aFBhcnNlckNvbnRleHRQdHIobl9jdHh0LCAwKTsKKworICAgICAgICByZXRfdmFsID0gdmFsdWVQb3AoY3R4dCk7CisgICAgICAgIGRlc3JldF94bWxYUGF0aE9iamVjdFB0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB2YWx1ZVBvcCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHh0KTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfdmFsdWVQdXNoKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQ7IC8qIGFuIFhQYXRoIGV2YWx1YXRpb24gY29udGV4dCAqLworICAgIGludCBuX2N0eHQ7CisgICAgeG1sWFBhdGhPYmplY3RQdHIgdmFsdWU7IC8qIHRoZSBYUGF0aCBvYmplY3QgKi8KKyAgICBpbnQgbl92YWx1ZTsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyO25fY3R4dCsrKSB7CisgICAgZm9yIChuX3ZhbHVlID0gMDtuX3ZhbHVlIDwgZ2VuX25iX3htbFhQYXRoT2JqZWN0UHRyO25fdmFsdWUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cihuX2N0eHQsIDApOworICAgICAgICB2YWx1ZSA9IGdlbl94bWxYUGF0aE9iamVjdFB0cihuX3ZhbHVlLCAxKTsKKworICAgICAgICByZXRfdmFsID0gdmFsdWVQdXNoKGN0eHQsIHZhbHVlKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIGRlc194bWxYUGF0aE9iamVjdFB0cihuX3ZhbHVlLCB2YWx1ZSwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB2YWx1ZVB1c2giLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdmFsdWUpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sWFBhdGhBZGRWYWx1ZXModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dDsgLyogdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyO25fY3R4dCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eHQgPSBnZW5feG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKG5fY3R4dCwgMCk7CisKKyAgICAgICAgeG1sWFBhdGhBZGRWYWx1ZXMoY3R4dCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cihuX2N0eHQsIGN0eHQsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sWFBhdGhBZGRWYWx1ZXMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFhQYXRoQm9vbGVhbkZ1bmN0aW9uKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQ7IC8qIHRoZSBYUGF0aCBQYXJzZXIgY29udGV4dCAqLworICAgIGludCBuX2N0eHQ7CisgICAgaW50IG5hcmdzOyAvKiB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cyAqLworICAgIGludCBuX25hcmdzOworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxYUGF0aFBhcnNlckNvbnRleHRQdHI7bl9jdHh0KyspIHsKKyAgICBmb3IgKG5fbmFyZ3MgPSAwO25fbmFyZ3MgPCBnZW5fbmJfaW50O25fbmFyZ3MrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cihuX2N0eHQsIDApOworICAgICAgICBuYXJncyA9IGdlbl9pbnQobl9uYXJncywgMSk7CisKKyAgICAgICAgeG1sWFBhdGhCb29sZWFuRnVuY3Rpb24oY3R4dCwgbmFyZ3MpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxYUGF0aFBhcnNlckNvbnRleHRQdHIobl9jdHh0LCBjdHh0LCAwKTsKKyAgICAgICAgZGVzX2ludChuX25hcmdzLCBuYXJncywgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxYUGF0aEJvb2xlYW5GdW5jdGlvbiIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHh0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9uYXJncyk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxYUGF0aENlaWxpbmdGdW5jdGlvbih2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0OyAvKiB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHh0OworICAgIGludCBuYXJnczsgLyogdGhlIG51bWJlciBvZiBhcmd1bWVudHMgKi8KKyAgICBpbnQgbl9uYXJnczsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyO25fY3R4dCsrKSB7CisgICAgZm9yIChuX25hcmdzID0gMDtuX25hcmdzIDwgZ2VuX25iX2ludDtuX25hcmdzKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4dCA9IGdlbl94bWxYUGF0aFBhcnNlckNvbnRleHRQdHIobl9jdHh0LCAwKTsKKyAgICAgICAgbmFyZ3MgPSBnZW5faW50KG5fbmFyZ3MsIDEpOworCisgICAgICAgIHhtbFhQYXRoQ2VpbGluZ0Z1bmN0aW9uKGN0eHQsIG5hcmdzKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIGRlc19pbnQobl9uYXJncywgbmFyZ3MsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sWFBhdGhDZWlsaW5nRnVuY3Rpb24iLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFyZ3MpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sWFBhdGhDb21wYXJlVmFsdWVzKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQ7IC8qIHRoZSBYUGF0aCBQYXJzZXIgY29udGV4dCAqLworICAgIGludCBuX2N0eHQ7CisgICAgaW50IGluZjsgLyogbGVzcyB0aGFuICgxKSBvciBncmVhdGVyIHRoYW4gKDApICovCisgICAgaW50IG5faW5mOworICAgIGludCBzdHJpY3Q7IC8qIGlzIHRoZSBjb21wYXJpc29uIHN0cmljdCAqLworICAgIGludCBuX3N0cmljdDsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyO25fY3R4dCsrKSB7CisgICAgZm9yIChuX2luZiA9IDA7bl9pbmYgPCBnZW5fbmJfaW50O25faW5mKyspIHsKKyAgICBmb3IgKG5fc3RyaWN0ID0gMDtuX3N0cmljdCA8IGdlbl9uYl9pbnQ7bl9zdHJpY3QrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cihuX2N0eHQsIDApOworICAgICAgICBpbmYgPSBnZW5faW50KG5faW5mLCAxKTsKKyAgICAgICAgc3RyaWN0ID0gZ2VuX2ludChuX3N0cmljdCwgMik7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFhQYXRoQ29tcGFyZVZhbHVlcyhjdHh0LCBpbmYsIHN0cmljdCk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cihuX2N0eHQsIGN0eHQsIDApOworICAgICAgICBkZXNfaW50KG5faW5mLCBpbmYsIDEpOworICAgICAgICBkZXNfaW50KG5fc3RyaWN0LCBzdHJpY3QsIDIpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sWFBhdGhDb21wYXJlVmFsdWVzIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2luZik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fc3RyaWN0KTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxYUGF0aENvbmNhdEZ1bmN0aW9uKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQ7IC8qIHRoZSBYUGF0aCBQYXJzZXIgY29udGV4dCAqLworICAgIGludCBuX2N0eHQ7CisgICAgaW50IG5hcmdzOyAvKiB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cyAqLworICAgIGludCBuX25hcmdzOworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxYUGF0aFBhcnNlckNvbnRleHRQdHI7bl9jdHh0KyspIHsKKyAgICBmb3IgKG5fbmFyZ3MgPSAwO25fbmFyZ3MgPCBnZW5fbmJfaW50O25fbmFyZ3MrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cihuX2N0eHQsIDApOworICAgICAgICBuYXJncyA9IGdlbl9pbnQobl9uYXJncywgMSk7CisKKyAgICAgICAgeG1sWFBhdGhDb25jYXRGdW5jdGlvbihjdHh0LCBuYXJncyk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cihuX2N0eHQsIGN0eHQsIDApOworICAgICAgICBkZXNfaW50KG5fbmFyZ3MsIG5hcmdzLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFhQYXRoQ29uY2F0RnVuY3Rpb24iLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFyZ3MpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sWFBhdGhDb250YWluc0Z1bmN0aW9uKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQ7IC8qIHRoZSBYUGF0aCBQYXJzZXIgY29udGV4dCAqLworICAgIGludCBuX2N0eHQ7CisgICAgaW50IG5hcmdzOyAvKiB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cyAqLworICAgIGludCBuX25hcmdzOworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxYUGF0aFBhcnNlckNvbnRleHRQdHI7bl9jdHh0KyspIHsKKyAgICBmb3IgKG5fbmFyZ3MgPSAwO25fbmFyZ3MgPCBnZW5fbmJfaW50O25fbmFyZ3MrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cihuX2N0eHQsIDApOworICAgICAgICBuYXJncyA9IGdlbl9pbnQobl9uYXJncywgMSk7CisKKyAgICAgICAgeG1sWFBhdGhDb250YWluc0Z1bmN0aW9uKGN0eHQsIG5hcmdzKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIGRlc19pbnQobl9uYXJncywgbmFyZ3MsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sWFBhdGhDb250YWluc0Z1bmN0aW9uIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25hcmdzKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFhQYXRoQ291bnRGdW5jdGlvbih2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0OyAvKiB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHh0OworICAgIGludCBuYXJnczsgLyogdGhlIG51bWJlciBvZiBhcmd1bWVudHMgKi8KKyAgICBpbnQgbl9uYXJnczsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyO25fY3R4dCsrKSB7CisgICAgZm9yIChuX25hcmdzID0gMDtuX25hcmdzIDwgZ2VuX25iX2ludDtuX25hcmdzKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4dCA9IGdlbl94bWxYUGF0aFBhcnNlckNvbnRleHRQdHIobl9jdHh0LCAwKTsKKyAgICAgICAgbmFyZ3MgPSBnZW5faW50KG5fbmFyZ3MsIDEpOworCisgICAgICAgIHhtbFhQYXRoQ291bnRGdW5jdGlvbihjdHh0LCBuYXJncyk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cihuX2N0eHQsIGN0eHQsIDApOworICAgICAgICBkZXNfaW50KG5fbmFyZ3MsIG5hcmdzLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFhQYXRoQ291bnRGdW5jdGlvbiIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHh0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9uYXJncyk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxYUGF0aERlYnVnRHVtcENvbXBFeHByKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkgJiYgZGVmaW5lZChMSUJYTUxfREVCVUdfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgRklMRSAqIG91dHB1dDsgLyogdGhlIEZJTEUgKiBmb3IgdGhlIG91dHB1dCAqLworICAgIGludCBuX291dHB1dDsKKyAgICB4bWxYUGF0aENvbXBFeHByUHRyIGNvbXA7IC8qIHRoZSBwcmVjb21waWxlZCBYUGF0aCBleHByZXNzaW9uICovCisgICAgaW50IG5fY29tcDsKKyAgICBpbnQgZGVwdGg7IC8qIHRoZSBpbmRlbnRhdGlvbiBsZXZlbC4gKi8KKyAgICBpbnQgbl9kZXB0aDsKKworICAgIGZvciAobl9vdXRwdXQgPSAwO25fb3V0cHV0IDwgZ2VuX25iX0ZJTEVfcHRyO25fb3V0cHV0KyspIHsKKyAgICBmb3IgKG5fY29tcCA9IDA7bl9jb21wIDwgZ2VuX25iX3htbFhQYXRoQ29tcEV4cHJQdHI7bl9jb21wKyspIHsKKyAgICBmb3IgKG5fZGVwdGggPSAwO25fZGVwdGggPCBnZW5fbmJfaW50O25fZGVwdGgrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBvdXRwdXQgPSBnZW5fRklMRV9wdHIobl9vdXRwdXQsIDApOworICAgICAgICBjb21wID0gZ2VuX3htbFhQYXRoQ29tcEV4cHJQdHIobl9jb21wLCAxKTsKKyAgICAgICAgZGVwdGggPSBnZW5faW50KG5fZGVwdGgsIDIpOworCisgICAgICAgIHhtbFhQYXRoRGVidWdEdW1wQ29tcEV4cHIob3V0cHV0LCBjb21wLCBkZXB0aCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX0ZJTEVfcHRyKG5fb3V0cHV0LCBvdXRwdXQsIDApOworICAgICAgICBkZXNfeG1sWFBhdGhDb21wRXhwclB0cihuX2NvbXAsIGNvbXAsIDEpOworICAgICAgICBkZXNfaW50KG5fZGVwdGgsIGRlcHRoLCAyKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFhQYXRoRGVidWdEdW1wQ29tcEV4cHIiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fb3V0cHV0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jb21wKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9kZXB0aCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sWFBhdGhEZWJ1Z0R1bXBPYmplY3Qodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKSAmJiBkZWZpbmVkKExJQlhNTF9ERUJVR19FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBGSUxFICogb3V0cHV0OyAvKiB0aGUgRklMRSAqIHRvIGR1bXAgdGhlIG91dHB1dCAqLworICAgIGludCBuX291dHB1dDsKKyAgICB4bWxYUGF0aE9iamVjdFB0ciBjdXI7IC8qIHRoZSBvYmplY3QgdG8gaW5zcGVjdCAqLworICAgIGludCBuX2N1cjsKKyAgICBpbnQgZGVwdGg7IC8qIGluZGVudGF0aW9uIGxldmVsICovCisgICAgaW50IG5fZGVwdGg7CisKKyAgICBmb3IgKG5fb3V0cHV0ID0gMDtuX291dHB1dCA8IGdlbl9uYl9GSUxFX3B0cjtuX291dHB1dCsrKSB7CisgICAgZm9yIChuX2N1ciA9IDA7bl9jdXIgPCBnZW5fbmJfeG1sWFBhdGhPYmplY3RQdHI7bl9jdXIrKykgeworICAgIGZvciAobl9kZXB0aCA9IDA7bl9kZXB0aCA8IGdlbl9uYl9pbnQ7bl9kZXB0aCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIG91dHB1dCA9IGdlbl9GSUxFX3B0cihuX291dHB1dCwgMCk7CisgICAgICAgIGN1ciA9IGdlbl94bWxYUGF0aE9iamVjdFB0cihuX2N1ciwgMSk7CisgICAgICAgIGRlcHRoID0gZ2VuX2ludChuX2RlcHRoLCAyKTsKKworICAgICAgICB4bWxYUGF0aERlYnVnRHVtcE9iamVjdChvdXRwdXQsIGN1ciwgZGVwdGgpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19GSUxFX3B0cihuX291dHB1dCwgb3V0cHV0LCAwKTsKKyAgICAgICAgZGVzX3htbFhQYXRoT2JqZWN0UHRyKG5fY3VyLCBjdXIsIDEpOworICAgICAgICBkZXNfaW50KG5fZGVwdGgsIGRlcHRoLCAyKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFhQYXRoRGVidWdEdW1wT2JqZWN0IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX291dHB1dCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3VyKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9kZXB0aCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sWFBhdGhEaWZmZXJlbmNlKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sTm9kZVNldFB0ciByZXRfdmFsOworICAgIHhtbE5vZGVTZXRQdHIgbm9kZXMxOyAvKiBhIG5vZGUtc2V0ICovCisgICAgaW50IG5fbm9kZXMxOworICAgIHhtbE5vZGVTZXRQdHIgbm9kZXMyOyAvKiBhIG5vZGUtc2V0ICovCisgICAgaW50IG5fbm9kZXMyOworCisgICAgZm9yIChuX25vZGVzMSA9IDA7bl9ub2RlczEgPCBnZW5fbmJfeG1sTm9kZVNldFB0cjtuX25vZGVzMSsrKSB7CisgICAgZm9yIChuX25vZGVzMiA9IDA7bl9ub2RlczIgPCBnZW5fbmJfeG1sTm9kZVNldFB0cjtuX25vZGVzMisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIG5vZGVzMSA9IGdlbl94bWxOb2RlU2V0UHRyKG5fbm9kZXMxLCAwKTsKKyAgICAgICAgbm9kZXMyID0gZ2VuX3htbE5vZGVTZXRQdHIobl9ub2RlczIsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxYUGF0aERpZmZlcmVuY2Uobm9kZXMxLCBub2RlczIpOworICAgICAgICBkZXNyZXRfeG1sTm9kZVNldFB0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sTm9kZVNldFB0cihuX25vZGVzMSwgbm9kZXMxLCAwKTsKKyAgICAgICAgZGVzX3htbE5vZGVTZXRQdHIobl9ub2RlczIsIG5vZGVzMiwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxYUGF0aERpZmZlcmVuY2UiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbm9kZXMxKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9ub2RlczIpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sWFBhdGhEaXN0aW5jdCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbE5vZGVTZXRQdHIgcmV0X3ZhbDsKKyAgICB4bWxOb2RlU2V0UHRyIG5vZGVzOyAvKiBhIG5vZGUtc2V0ICovCisgICAgaW50IG5fbm9kZXM7CisKKyAgICBmb3IgKG5fbm9kZXMgPSAwO25fbm9kZXMgPCBnZW5fbmJfeG1sTm9kZVNldFB0cjtuX25vZGVzKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgbm9kZXMgPSBnZW5feG1sTm9kZVNldFB0cihuX25vZGVzLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sWFBhdGhEaXN0aW5jdChub2Rlcyk7CisgICAgICAgIGRlc3JldF94bWxOb2RlU2V0UHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxOb2RlU2V0UHRyKG5fbm9kZXMsIG5vZGVzLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFhQYXRoRGlzdGluY3QiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbm9kZXMpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxYUGF0aERpc3RpbmN0U29ydGVkKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sTm9kZVNldFB0ciByZXRfdmFsOworICAgIHhtbE5vZGVTZXRQdHIgbm9kZXM7IC8qIGEgbm9kZS1zZXQsIHNvcnRlZCBieSBkb2N1bWVudCBvcmRlciAqLworICAgIGludCBuX25vZGVzOworCisgICAgZm9yIChuX25vZGVzID0gMDtuX25vZGVzIDwgZ2VuX25iX3htbE5vZGVTZXRQdHI7bl9ub2RlcysrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIG5vZGVzID0gZ2VuX3htbE5vZGVTZXRQdHIobl9ub2RlcywgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFhQYXRoRGlzdGluY3RTb3J0ZWQobm9kZXMpOworICAgICAgICBkZXNyZXRfeG1sTm9kZVNldFB0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sTm9kZVNldFB0cihuX25vZGVzLCBub2RlcywgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxYUGF0aERpc3RpbmN0U29ydGVkIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25vZGVzKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sWFBhdGhEaXZWYWx1ZXModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dDsgLyogdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyO25fY3R4dCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eHQgPSBnZW5feG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKG5fY3R4dCwgMCk7CisKKyAgICAgICAgeG1sWFBhdGhEaXZWYWx1ZXMoY3R4dCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cihuX2N0eHQsIGN0eHQsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sWFBhdGhEaXZWYWx1ZXMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFhQYXRoRXF1YWxWYWx1ZXModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dDsgLyogdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyO25fY3R4dCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eHQgPSBnZW5feG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKG5fY3R4dCwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFhQYXRoRXF1YWxWYWx1ZXMoY3R4dCk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cihuX2N0eHQsIGN0eHQsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sWFBhdGhFcXVhbFZhbHVlcyIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHh0KTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sWFBhdGhFcnIodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dDsgLyogYSBYUGF0aCBwYXJzZXIgY29udGV4dCAqLworICAgIGludCBuX2N0eHQ7CisgICAgaW50IGVycm9yOyAvKiB0aGUgZXJyb3IgY29kZSAqLworICAgIGludCBuX2Vycm9yOworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxYUGF0aFBhcnNlckNvbnRleHRQdHI7bl9jdHh0KyspIHsKKyAgICBmb3IgKG5fZXJyb3IgPSAwO25fZXJyb3IgPCBnZW5fbmJfaW50O25fZXJyb3IrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cihuX2N0eHQsIDApOworICAgICAgICBlcnJvciA9IGdlbl9pbnQobl9lcnJvciwgMSk7CisKKyAgICAgICAgeG1sWFBhdGhFcnIoY3R4dCwgZXJyb3IpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxYUGF0aFBhcnNlckNvbnRleHRQdHIobl9jdHh0LCBjdHh0LCAwKTsKKyAgICAgICAgZGVzX2ludChuX2Vycm9yLCBlcnJvciwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxYUGF0aEVyciIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHh0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9lcnJvcik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxYUGF0aEV2YWxFeHByKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQ7IC8qIHRoZSBYUGF0aCBQYXJzZXIgY29udGV4dCAqLworICAgIGludCBuX2N0eHQ7CisKKyAgICBmb3IgKG5fY3R4dCA9IDA7bl9jdHh0IDwgZ2VuX25iX3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cjtuX2N0eHQrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cihuX2N0eHQsIDApOworCisgICAgICAgIHhtbFhQYXRoRXZhbEV4cHIoY3R4dCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cihuX2N0eHQsIGN0eHQsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sWFBhdGhFdmFsRXhwciIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHh0KTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sWFBhdGhFdmFsdWF0ZVByZWRpY2F0ZVJlc3VsdCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0OyAvKiB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHh0OworICAgIHhtbFhQYXRoT2JqZWN0UHRyIHJlczsgLyogdGhlIFByZWRpY2F0ZSBFeHByZXNzaW9uIGV2YWx1YXRpb24gcmVzdWx0ICovCisgICAgaW50IG5fcmVzOworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxYUGF0aFBhcnNlckNvbnRleHRQdHI7bl9jdHh0KyspIHsKKyAgICBmb3IgKG5fcmVzID0gMDtuX3JlcyA8IGdlbl9uYl94bWxYUGF0aE9iamVjdFB0cjtuX3JlcysrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eHQgPSBnZW5feG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKG5fY3R4dCwgMCk7CisgICAgICAgIHJlcyA9IGdlbl94bWxYUGF0aE9iamVjdFB0cihuX3JlcywgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFhQYXRoRXZhbHVhdGVQcmVkaWNhdGVSZXN1bHQoY3R4dCwgcmVzKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIGRlc194bWxYUGF0aE9iamVjdFB0cihuX3JlcywgcmVzLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFhQYXRoRXZhbHVhdGVQcmVkaWNhdGVSZXN1bHQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fcmVzKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFhQYXRoRmFsc2VGdW5jdGlvbih2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0OyAvKiB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHh0OworICAgIGludCBuYXJnczsgLyogdGhlIG51bWJlciBvZiBhcmd1bWVudHMgKi8KKyAgICBpbnQgbl9uYXJnczsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyO25fY3R4dCsrKSB7CisgICAgZm9yIChuX25hcmdzID0gMDtuX25hcmdzIDwgZ2VuX25iX2ludDtuX25hcmdzKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4dCA9IGdlbl94bWxYUGF0aFBhcnNlckNvbnRleHRQdHIobl9jdHh0LCAwKTsKKyAgICAgICAgbmFyZ3MgPSBnZW5faW50KG5fbmFyZ3MsIDEpOworCisgICAgICAgIHhtbFhQYXRoRmFsc2VGdW5jdGlvbihjdHh0LCBuYXJncyk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cihuX2N0eHQsIGN0eHQsIDApOworICAgICAgICBkZXNfaW50KG5fbmFyZ3MsIG5hcmdzLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFhQYXRoRmFsc2VGdW5jdGlvbiIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHh0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9uYXJncyk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxYUGF0aEZsb29yRnVuY3Rpb24odm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dDsgLyogdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKyAgICBpbnQgbmFyZ3M7IC8qIHRoZSBudW1iZXIgb2YgYXJndW1lbnRzICovCisgICAgaW50IG5fbmFyZ3M7CisKKyAgICBmb3IgKG5fY3R4dCA9IDA7bl9jdHh0IDwgZ2VuX25iX3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cjtuX2N0eHQrKykgeworICAgIGZvciAobl9uYXJncyA9IDA7bl9uYXJncyA8IGdlbl9uYl9pbnQ7bl9uYXJncysrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eHQgPSBnZW5feG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKG5fY3R4dCwgMCk7CisgICAgICAgIG5hcmdzID0gZ2VuX2ludChuX25hcmdzLCAxKTsKKworICAgICAgICB4bWxYUGF0aEZsb29yRnVuY3Rpb24oY3R4dCwgbmFyZ3MpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxYUGF0aFBhcnNlckNvbnRleHRQdHIobl9jdHh0LCBjdHh0LCAwKTsKKyAgICAgICAgZGVzX2ludChuX25hcmdzLCBuYXJncywgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxYUGF0aEZsb29yRnVuY3Rpb24iLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFyZ3MpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sWFBhdGhGdW5jdGlvbkxvb2t1cCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworCisgICAgLyogbWlzc2luZyB0eXBlIHN1cHBvcnQgKi8KKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sWFBhdGhGdW5jdGlvbkxvb2t1cE5TKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisKKyAgICAvKiBtaXNzaW5nIHR5cGUgc3VwcG9ydCAqLworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxYUGF0aEhhc1NhbWVOb2Rlcyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbE5vZGVTZXRQdHIgbm9kZXMxOyAvKiBhIG5vZGUtc2V0ICovCisgICAgaW50IG5fbm9kZXMxOworICAgIHhtbE5vZGVTZXRQdHIgbm9kZXMyOyAvKiBhIG5vZGUtc2V0ICovCisgICAgaW50IG5fbm9kZXMyOworCisgICAgZm9yIChuX25vZGVzMSA9IDA7bl9ub2RlczEgPCBnZW5fbmJfeG1sTm9kZVNldFB0cjtuX25vZGVzMSsrKSB7CisgICAgZm9yIChuX25vZGVzMiA9IDA7bl9ub2RlczIgPCBnZW5fbmJfeG1sTm9kZVNldFB0cjtuX25vZGVzMisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIG5vZGVzMSA9IGdlbl94bWxOb2RlU2V0UHRyKG5fbm9kZXMxLCAwKTsKKyAgICAgICAgbm9kZXMyID0gZ2VuX3htbE5vZGVTZXRQdHIobl9ub2RlczIsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxYUGF0aEhhc1NhbWVOb2Rlcyhub2RlczEsIG5vZGVzMik7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbE5vZGVTZXRQdHIobl9ub2RlczEsIG5vZGVzMSwgMCk7CisgICAgICAgIGRlc194bWxOb2RlU2V0UHRyKG5fbm9kZXMyLCBub2RlczIsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sWFBhdGhIYXNTYW1lTm9kZXMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbm9kZXMxKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9ub2RlczIpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sWFBhdGhJZEZ1bmN0aW9uKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQ7IC8qIHRoZSBYUGF0aCBQYXJzZXIgY29udGV4dCAqLworICAgIGludCBuX2N0eHQ7CisgICAgaW50IG5hcmdzOyAvKiB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cyAqLworICAgIGludCBuX25hcmdzOworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxYUGF0aFBhcnNlckNvbnRleHRQdHI7bl9jdHh0KyspIHsKKyAgICBmb3IgKG5fbmFyZ3MgPSAwO25fbmFyZ3MgPCBnZW5fbmJfaW50O25fbmFyZ3MrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cihuX2N0eHQsIDApOworICAgICAgICBuYXJncyA9IGdlbl9pbnQobl9uYXJncywgMSk7CisKKyAgICAgICAgeG1sWFBhdGhJZEZ1bmN0aW9uKGN0eHQsIG5hcmdzKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIGRlc19pbnQobl9uYXJncywgbmFyZ3MsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sWFBhdGhJZEZ1bmN0aW9uIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25hcmdzKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFhQYXRoSW50ZXJzZWN0aW9uKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sTm9kZVNldFB0ciByZXRfdmFsOworICAgIHhtbE5vZGVTZXRQdHIgbm9kZXMxOyAvKiBhIG5vZGUtc2V0ICovCisgICAgaW50IG5fbm9kZXMxOworICAgIHhtbE5vZGVTZXRQdHIgbm9kZXMyOyAvKiBhIG5vZGUtc2V0ICovCisgICAgaW50IG5fbm9kZXMyOworCisgICAgZm9yIChuX25vZGVzMSA9IDA7bl9ub2RlczEgPCBnZW5fbmJfeG1sTm9kZVNldFB0cjtuX25vZGVzMSsrKSB7CisgICAgZm9yIChuX25vZGVzMiA9IDA7bl9ub2RlczIgPCBnZW5fbmJfeG1sTm9kZVNldFB0cjtuX25vZGVzMisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIG5vZGVzMSA9IGdlbl94bWxOb2RlU2V0UHRyKG5fbm9kZXMxLCAwKTsKKyAgICAgICAgbm9kZXMyID0gZ2VuX3htbE5vZGVTZXRQdHIobl9ub2RlczIsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxYUGF0aEludGVyc2VjdGlvbihub2RlczEsIG5vZGVzMik7CisgICAgICAgIGRlc3JldF94bWxOb2RlU2V0UHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxOb2RlU2V0UHRyKG5fbm9kZXMxLCBub2RlczEsIDApOworICAgICAgICBkZXNfeG1sTm9kZVNldFB0cihuX25vZGVzMiwgbm9kZXMyLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFhQYXRoSW50ZXJzZWN0aW9uIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25vZGVzMSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbm9kZXMyKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFhQYXRoSXNOb2RlVHlwZSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbENoYXIgKiBuYW1lOyAvKiBhIG5hbWUgc3RyaW5nICovCisgICAgaW50IG5fbmFtZTsKKworICAgIGZvciAobl9uYW1lID0gMDtuX25hbWUgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9uYW1lKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgbmFtZSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxYUGF0aElzTm9kZVR5cGUoKGNvbnN0IHhtbENoYXIgKiluYW1lKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sWFBhdGhJc05vZGVUeXBlIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25hbWUpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxYUGF0aExhbmdGdW5jdGlvbih2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0OyAvKiB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHh0OworICAgIGludCBuYXJnczsgLyogdGhlIG51bWJlciBvZiBhcmd1bWVudHMgKi8KKyAgICBpbnQgbl9uYXJnczsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyO25fY3R4dCsrKSB7CisgICAgZm9yIChuX25hcmdzID0gMDtuX25hcmdzIDwgZ2VuX25iX2ludDtuX25hcmdzKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4dCA9IGdlbl94bWxYUGF0aFBhcnNlckNvbnRleHRQdHIobl9jdHh0LCAwKTsKKyAgICAgICAgbmFyZ3MgPSBnZW5faW50KG5fbmFyZ3MsIDEpOworCisgICAgICAgIHhtbFhQYXRoTGFuZ0Z1bmN0aW9uKGN0eHQsIG5hcmdzKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIGRlc19pbnQobl9uYXJncywgbmFyZ3MsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sWFBhdGhMYW5nRnVuY3Rpb24iLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFyZ3MpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sWFBhdGhMYXN0RnVuY3Rpb24odm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dDsgLyogdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKyAgICBpbnQgbmFyZ3M7IC8qIHRoZSBudW1iZXIgb2YgYXJndW1lbnRzICovCisgICAgaW50IG5fbmFyZ3M7CisKKyAgICBmb3IgKG5fY3R4dCA9IDA7bl9jdHh0IDwgZ2VuX25iX3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cjtuX2N0eHQrKykgeworICAgIGZvciAobl9uYXJncyA9IDA7bl9uYXJncyA8IGdlbl9uYl9pbnQ7bl9uYXJncysrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eHQgPSBnZW5feG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKG5fY3R4dCwgMCk7CisgICAgICAgIG5hcmdzID0gZ2VuX2ludChuX25hcmdzLCAxKTsKKworICAgICAgICB4bWxYUGF0aExhc3RGdW5jdGlvbihjdHh0LCBuYXJncyk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cihuX2N0eHQsIGN0eHQsIDApOworICAgICAgICBkZXNfaW50KG5fbmFyZ3MsIG5hcmdzLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFhQYXRoTGFzdEZ1bmN0aW9uIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25hcmdzKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFhQYXRoTGVhZGluZyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbE5vZGVTZXRQdHIgcmV0X3ZhbDsKKyAgICB4bWxOb2RlU2V0UHRyIG5vZGVzMTsgLyogYSBub2RlLXNldCAqLworICAgIGludCBuX25vZGVzMTsKKyAgICB4bWxOb2RlU2V0UHRyIG5vZGVzMjsgLyogYSBub2RlLXNldCAqLworICAgIGludCBuX25vZGVzMjsKKworICAgIGZvciAobl9ub2RlczEgPSAwO25fbm9kZXMxIDwgZ2VuX25iX3htbE5vZGVTZXRQdHI7bl9ub2RlczErKykgeworICAgIGZvciAobl9ub2RlczIgPSAwO25fbm9kZXMyIDwgZ2VuX25iX3htbE5vZGVTZXRQdHI7bl9ub2RlczIrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBub2RlczEgPSBnZW5feG1sTm9kZVNldFB0cihuX25vZGVzMSwgMCk7CisgICAgICAgIG5vZGVzMiA9IGdlbl94bWxOb2RlU2V0UHRyKG5fbm9kZXMyLCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sWFBhdGhMZWFkaW5nKG5vZGVzMSwgbm9kZXMyKTsKKyAgICAgICAgZGVzcmV0X3htbE5vZGVTZXRQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbE5vZGVTZXRQdHIobl9ub2RlczEsIG5vZGVzMSwgMCk7CisgICAgICAgIGRlc194bWxOb2RlU2V0UHRyKG5fbm9kZXMyLCBub2RlczIsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sWFBhdGhMZWFkaW5nIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25vZGVzMSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbm9kZXMyKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFhQYXRoTGVhZGluZ1NvcnRlZCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbE5vZGVTZXRQdHIgcmV0X3ZhbDsKKyAgICB4bWxOb2RlU2V0UHRyIG5vZGVzMTsgLyogYSBub2RlLXNldCwgc29ydGVkIGJ5IGRvY3VtZW50IG9yZGVyICovCisgICAgaW50IG5fbm9kZXMxOworICAgIHhtbE5vZGVTZXRQdHIgbm9kZXMyOyAvKiBhIG5vZGUtc2V0LCBzb3J0ZWQgYnkgZG9jdW1lbnQgb3JkZXIgKi8KKyAgICBpbnQgbl9ub2RlczI7CisKKyAgICBmb3IgKG5fbm9kZXMxID0gMDtuX25vZGVzMSA8IGdlbl9uYl94bWxOb2RlU2V0UHRyO25fbm9kZXMxKyspIHsKKyAgICBmb3IgKG5fbm9kZXMyID0gMDtuX25vZGVzMiA8IGdlbl9uYl94bWxOb2RlU2V0UHRyO25fbm9kZXMyKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgbm9kZXMxID0gZ2VuX3htbE5vZGVTZXRQdHIobl9ub2RlczEsIDApOworICAgICAgICBub2RlczIgPSBnZW5feG1sTm9kZVNldFB0cihuX25vZGVzMiwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFhQYXRoTGVhZGluZ1NvcnRlZChub2RlczEsIG5vZGVzMik7CisgICAgICAgIGRlc3JldF94bWxOb2RlU2V0UHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxOb2RlU2V0UHRyKG5fbm9kZXMxLCBub2RlczEsIDApOworICAgICAgICBkZXNfeG1sTm9kZVNldFB0cihuX25vZGVzMiwgbm9kZXMyLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFhQYXRoTGVhZGluZ1NvcnRlZCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9ub2RlczEpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25vZGVzMik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxYUGF0aExvY2FsTmFtZUZ1bmN0aW9uKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQ7IC8qIHRoZSBYUGF0aCBQYXJzZXIgY29udGV4dCAqLworICAgIGludCBuX2N0eHQ7CisgICAgaW50IG5hcmdzOyAvKiB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cyAqLworICAgIGludCBuX25hcmdzOworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxYUGF0aFBhcnNlckNvbnRleHRQdHI7bl9jdHh0KyspIHsKKyAgICBmb3IgKG5fbmFyZ3MgPSAwO25fbmFyZ3MgPCBnZW5fbmJfaW50O25fbmFyZ3MrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cihuX2N0eHQsIDApOworICAgICAgICBuYXJncyA9IGdlbl9pbnQobl9uYXJncywgMSk7CisKKyAgICAgICAgeG1sWFBhdGhMb2NhbE5hbWVGdW5jdGlvbihjdHh0LCBuYXJncyk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cihuX2N0eHQsIGN0eHQsIDApOworICAgICAgICBkZXNfaW50KG5fbmFyZ3MsIG5hcmdzLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFhQYXRoTG9jYWxOYW1lRnVuY3Rpb24iLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFyZ3MpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sWFBhdGhNb2RWYWx1ZXModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dDsgLyogdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyO25fY3R4dCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eHQgPSBnZW5feG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKG5fY3R4dCwgMCk7CisKKyAgICAgICAgeG1sWFBhdGhNb2RWYWx1ZXMoY3R4dCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cihuX2N0eHQsIGN0eHQsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sWFBhdGhNb2RWYWx1ZXMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFhQYXRoTXVsdFZhbHVlcyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0OyAvKiB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHh0OworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxYUGF0aFBhcnNlckNvbnRleHRQdHI7bl9jdHh0KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4dCA9IGdlbl94bWxYUGF0aFBhcnNlckNvbnRleHRQdHIobl9jdHh0LCAwKTsKKworICAgICAgICB4bWxYUGF0aE11bHRWYWx1ZXMoY3R4dCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cihuX2N0eHQsIGN0eHQsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sWFBhdGhNdWx0VmFsdWVzIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxYUGF0aE5hbWVzcGFjZVVSSUZ1bmN0aW9uKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQ7IC8qIHRoZSBYUGF0aCBQYXJzZXIgY29udGV4dCAqLworICAgIGludCBuX2N0eHQ7CisgICAgaW50IG5hcmdzOyAvKiB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cyAqLworICAgIGludCBuX25hcmdzOworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxYUGF0aFBhcnNlckNvbnRleHRQdHI7bl9jdHh0KyspIHsKKyAgICBmb3IgKG5fbmFyZ3MgPSAwO25fbmFyZ3MgPCBnZW5fbmJfaW50O25fbmFyZ3MrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cihuX2N0eHQsIDApOworICAgICAgICBuYXJncyA9IGdlbl9pbnQobl9uYXJncywgMSk7CisKKyAgICAgICAgeG1sWFBhdGhOYW1lc3BhY2VVUklGdW5jdGlvbihjdHh0LCBuYXJncyk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cihuX2N0eHQsIGN0eHQsIDApOworICAgICAgICBkZXNfaW50KG5fbmFyZ3MsIG5hcmdzLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFhQYXRoTmFtZXNwYWNlVVJJRnVuY3Rpb24iLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFyZ3MpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sWFBhdGhOZXdCb29sZWFuKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sWFBhdGhPYmplY3RQdHIgcmV0X3ZhbDsKKyAgICBpbnQgdmFsOyAvKiB0aGUgYm9vbGVhbiB2YWx1ZSAqLworICAgIGludCBuX3ZhbDsKKworICAgIGZvciAobl92YWwgPSAwO25fdmFsIDwgZ2VuX25iX2ludDtuX3ZhbCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHZhbCA9IGdlbl9pbnQobl92YWwsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxYUGF0aE5ld0Jvb2xlYW4odmFsKTsKKyAgICAgICAgZGVzcmV0X3htbFhQYXRoT2JqZWN0UHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19pbnQobl92YWwsIHZhbCwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxYUGF0aE5ld0Jvb2xlYW4iLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdmFsKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sWFBhdGhOZXdDU3RyaW5nKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sWFBhdGhPYmplY3RQdHIgcmV0X3ZhbDsKKyAgICBjaGFyICogdmFsOyAvKiB0aGUgY2hhciAqIHZhbHVlICovCisgICAgaW50IG5fdmFsOworCisgICAgZm9yIChuX3ZhbCA9IDA7bl92YWwgPCBnZW5fbmJfY29uc3RfY2hhcl9wdHI7bl92YWwrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICB2YWwgPSBnZW5fY29uc3RfY2hhcl9wdHIobl92YWwsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxYUGF0aE5ld0NTdHJpbmcoKGNvbnN0IGNoYXIgKil2YWwpOworICAgICAgICBkZXNyZXRfeG1sWFBhdGhPYmplY3RQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2NvbnN0X2NoYXJfcHRyKG5fdmFsLCAoY29uc3QgY2hhciAqKXZhbCwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxYUGF0aE5ld0NTdHJpbmciLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdmFsKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sWFBhdGhOZXdGbG9hdCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbFhQYXRoT2JqZWN0UHRyIHJldF92YWw7CisgICAgZG91YmxlIHZhbDsgLyogdGhlIGRvdWJsZSB2YWx1ZSAqLworICAgIGludCBuX3ZhbDsKKworICAgIGZvciAobl92YWwgPSAwO25fdmFsIDwgZ2VuX25iX2RvdWJsZTtuX3ZhbCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHZhbCA9IGdlbl9kb3VibGUobl92YWwsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxYUGF0aE5ld0Zsb2F0KHZhbCk7CisgICAgICAgIGRlc3JldF94bWxYUGF0aE9iamVjdFB0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfZG91YmxlKG5fdmFsLCB2YWwsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sWFBhdGhOZXdGbG9hdCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl92YWwpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxYUGF0aE5ld05vZGVTZXQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxYUGF0aE9iamVjdFB0ciByZXRfdmFsOworICAgIHhtbE5vZGVQdHIgdmFsOyAvKiB0aGUgTm9kZVB0ciB2YWx1ZSAqLworICAgIGludCBuX3ZhbDsKKworICAgIGZvciAobl92YWwgPSAwO25fdmFsIDwgZ2VuX25iX3htbE5vZGVQdHI7bl92YWwrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICB2YWwgPSBnZW5feG1sTm9kZVB0cihuX3ZhbCwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFhQYXRoTmV3Tm9kZVNldCh2YWwpOworICAgICAgICBkZXNyZXRfeG1sWFBhdGhPYmplY3RQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl92YWwsIHZhbCwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxYUGF0aE5ld05vZGVTZXQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdmFsKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sWFBhdGhOZXdOb2RlU2V0TGlzdCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbFhQYXRoT2JqZWN0UHRyIHJldF92YWw7CisgICAgeG1sTm9kZVNldFB0ciB2YWw7IC8qIGFuIGV4aXN0aW5nIE5vZGVTZXQgKi8KKyAgICBpbnQgbl92YWw7CisKKyAgICBmb3IgKG5fdmFsID0gMDtuX3ZhbCA8IGdlbl9uYl94bWxOb2RlU2V0UHRyO25fdmFsKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgdmFsID0gZ2VuX3htbE5vZGVTZXRQdHIobl92YWwsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxYUGF0aE5ld05vZGVTZXRMaXN0KHZhbCk7CisgICAgICAgIGRlc3JldF94bWxYUGF0aE9iamVjdFB0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sTm9kZVNldFB0cihuX3ZhbCwgdmFsLCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFhQYXRoTmV3Tm9kZVNldExpc3QiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdmFsKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sWFBhdGhOZXdQYXJzZXJDb250ZXh0KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisKKyAgICAvKiBtaXNzaW5nIHR5cGUgc3VwcG9ydCAqLworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxYUGF0aE5ld1N0cmluZyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbFhQYXRoT2JqZWN0UHRyIHJldF92YWw7CisgICAgeG1sQ2hhciAqIHZhbDsgLyogdGhlIHhtbENoYXIgKiB2YWx1ZSAqLworICAgIGludCBuX3ZhbDsKKworICAgIGZvciAobl92YWwgPSAwO25fdmFsIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fdmFsKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgdmFsID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fdmFsLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sWFBhdGhOZXdTdHJpbmcoKGNvbnN0IHhtbENoYXIgKil2YWwpOworICAgICAgICBkZXNyZXRfeG1sWFBhdGhPYmplY3RQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fdmFsLCAoY29uc3QgeG1sQ2hhciAqKXZhbCwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxYUGF0aE5ld1N0cmluZyIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl92YWwpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxYUGF0aE5leHRBbmNlc3Rvcih2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbE5vZGVQdHIgcmV0X3ZhbDsKKyAgICB4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dDsgLyogdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKyAgICB4bWxOb2RlUHRyIGN1cjsgLyogdGhlIGN1cnJlbnQgbm9kZSBpbiB0aGUgdHJhdmVyc2FsICovCisgICAgaW50IG5fY3VyOworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxYUGF0aFBhcnNlckNvbnRleHRQdHI7bl9jdHh0KyspIHsKKyAgICBmb3IgKG5fY3VyID0gMDtuX2N1ciA8IGdlbl9uYl94bWxOb2RlUHRyO25fY3VyKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4dCA9IGdlbl94bWxYUGF0aFBhcnNlckNvbnRleHRQdHIobl9jdHh0LCAwKTsKKyAgICAgICAgY3VyID0gZ2VuX3htbE5vZGVQdHIobl9jdXIsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxYUGF0aE5leHRBbmNlc3RvcihjdHh0LCBjdXIpOworICAgICAgICBkZXNyZXRfeG1sTm9kZVB0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIGRlc194bWxOb2RlUHRyKG5fY3VyLCBjdXIsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sWFBhdGhOZXh0QW5jZXN0b3IiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3VyKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFhQYXRoTmV4dEFuY2VzdG9yT3JTZWxmKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sTm9kZVB0ciByZXRfdmFsOworICAgIHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0OyAvKiB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHh0OworICAgIHhtbE5vZGVQdHIgY3VyOyAvKiB0aGUgY3VycmVudCBub2RlIGluIHRoZSB0cmF2ZXJzYWwgKi8KKyAgICBpbnQgbl9jdXI7CisKKyAgICBmb3IgKG5fY3R4dCA9IDA7bl9jdHh0IDwgZ2VuX25iX3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cjtuX2N0eHQrKykgeworICAgIGZvciAobl9jdXIgPSAwO25fY3VyIDwgZ2VuX25iX3htbE5vZGVQdHI7bl9jdXIrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cihuX2N0eHQsIDApOworICAgICAgICBjdXIgPSBnZW5feG1sTm9kZVB0cihuX2N1ciwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFhQYXRoTmV4dEFuY2VzdG9yT3JTZWxmKGN0eHQsIGN1cik7CisgICAgICAgIGRlc3JldF94bWxOb2RlUHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxYUGF0aFBhcnNlckNvbnRleHRQdHIobl9jdHh0LCBjdHh0LCAwKTsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl9jdXIsIGN1ciwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxYUGF0aE5leHRBbmNlc3Rvck9yU2VsZiIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHh0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdXIpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sWFBhdGhOZXh0QXR0cmlidXRlKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sTm9kZVB0ciByZXRfdmFsOworICAgIHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0OyAvKiB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHh0OworICAgIHhtbE5vZGVQdHIgY3VyOyAvKiB0aGUgY3VycmVudCBhdHRyaWJ1dGUgaW4gdGhlIHRyYXZlcnNhbCAqLworICAgIGludCBuX2N1cjsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyO25fY3R4dCsrKSB7CisgICAgZm9yIChuX2N1ciA9IDA7bl9jdXIgPCBnZW5fbmJfeG1sTm9kZVB0cjtuX2N1cisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eHQgPSBnZW5feG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKG5fY3R4dCwgMCk7CisgICAgICAgIGN1ciA9IGdlbl94bWxOb2RlUHRyKG5fY3VyLCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sWFBhdGhOZXh0QXR0cmlidXRlKGN0eHQsIGN1cik7CisgICAgICAgIGRlc3JldF94bWxOb2RlUHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxYUGF0aFBhcnNlckNvbnRleHRQdHIobl9jdHh0LCBjdHh0LCAwKTsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl9jdXIsIGN1ciwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxYUGF0aE5leHRBdHRyaWJ1dGUiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3VyKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFhQYXRoTmV4dENoaWxkKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sTm9kZVB0ciByZXRfdmFsOworICAgIHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0OyAvKiB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHh0OworICAgIHhtbE5vZGVQdHIgY3VyOyAvKiB0aGUgY3VycmVudCBub2RlIGluIHRoZSB0cmF2ZXJzYWwgKi8KKyAgICBpbnQgbl9jdXI7CisKKyAgICBmb3IgKG5fY3R4dCA9IDA7bl9jdHh0IDwgZ2VuX25iX3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cjtuX2N0eHQrKykgeworICAgIGZvciAobl9jdXIgPSAwO25fY3VyIDwgZ2VuX25iX3htbE5vZGVQdHI7bl9jdXIrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cihuX2N0eHQsIDApOworICAgICAgICBjdXIgPSBnZW5feG1sTm9kZVB0cihuX2N1ciwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFhQYXRoTmV4dENoaWxkKGN0eHQsIGN1cik7CisgICAgICAgIGRlc3JldF94bWxOb2RlUHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxYUGF0aFBhcnNlckNvbnRleHRQdHIobl9jdHh0LCBjdHh0LCAwKTsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl9jdXIsIGN1ciwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxYUGF0aE5leHRDaGlsZCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHh0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdXIpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sWFBhdGhOZXh0RGVzY2VuZGFudCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbE5vZGVQdHIgcmV0X3ZhbDsKKyAgICB4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dDsgLyogdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKyAgICB4bWxOb2RlUHRyIGN1cjsgLyogdGhlIGN1cnJlbnQgbm9kZSBpbiB0aGUgdHJhdmVyc2FsICovCisgICAgaW50IG5fY3VyOworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxYUGF0aFBhcnNlckNvbnRleHRQdHI7bl9jdHh0KyspIHsKKyAgICBmb3IgKG5fY3VyID0gMDtuX2N1ciA8IGdlbl9uYl94bWxOb2RlUHRyO25fY3VyKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4dCA9IGdlbl94bWxYUGF0aFBhcnNlckNvbnRleHRQdHIobl9jdHh0LCAwKTsKKyAgICAgICAgY3VyID0gZ2VuX3htbE5vZGVQdHIobl9jdXIsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxYUGF0aE5leHREZXNjZW5kYW50KGN0eHQsIGN1cik7CisgICAgICAgIGRlc3JldF94bWxOb2RlUHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxYUGF0aFBhcnNlckNvbnRleHRQdHIobl9jdHh0LCBjdHh0LCAwKTsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl9jdXIsIGN1ciwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxYUGF0aE5leHREZXNjZW5kYW50IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N1cik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxYUGF0aE5leHREZXNjZW5kYW50T3JTZWxmKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sTm9kZVB0ciByZXRfdmFsOworICAgIHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0OyAvKiB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHh0OworICAgIHhtbE5vZGVQdHIgY3VyOyAvKiB0aGUgY3VycmVudCBub2RlIGluIHRoZSB0cmF2ZXJzYWwgKi8KKyAgICBpbnQgbl9jdXI7CisKKyAgICBmb3IgKG5fY3R4dCA9IDA7bl9jdHh0IDwgZ2VuX25iX3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cjtuX2N0eHQrKykgeworICAgIGZvciAobl9jdXIgPSAwO25fY3VyIDwgZ2VuX25iX3htbE5vZGVQdHI7bl9jdXIrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cihuX2N0eHQsIDApOworICAgICAgICBjdXIgPSBnZW5feG1sTm9kZVB0cihuX2N1ciwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFhQYXRoTmV4dERlc2NlbmRhbnRPclNlbGYoY3R4dCwgY3VyKTsKKyAgICAgICAgZGVzcmV0X3htbE5vZGVQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cihuX2N0eHQsIGN0eHQsIDApOworICAgICAgICBkZXNfeG1sTm9kZVB0cihuX2N1ciwgY3VyLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFhQYXRoTmV4dERlc2NlbmRhbnRPclNlbGYiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3VyKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFhQYXRoTmV4dEZvbGxvd2luZyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbE5vZGVQdHIgcmV0X3ZhbDsKKyAgICB4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dDsgLyogdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKyAgICB4bWxOb2RlUHRyIGN1cjsgLyogdGhlIGN1cnJlbnQgbm9kZSBpbiB0aGUgdHJhdmVyc2FsICovCisgICAgaW50IG5fY3VyOworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxYUGF0aFBhcnNlckNvbnRleHRQdHI7bl9jdHh0KyspIHsKKyAgICBmb3IgKG5fY3VyID0gMDtuX2N1ciA8IGdlbl9uYl94bWxOb2RlUHRyO25fY3VyKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4dCA9IGdlbl94bWxYUGF0aFBhcnNlckNvbnRleHRQdHIobl9jdHh0LCAwKTsKKyAgICAgICAgY3VyID0gZ2VuX3htbE5vZGVQdHIobl9jdXIsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxYUGF0aE5leHRGb2xsb3dpbmcoY3R4dCwgY3VyKTsKKyAgICAgICAgZGVzcmV0X3htbE5vZGVQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cihuX2N0eHQsIGN0eHQsIDApOworICAgICAgICBkZXNfeG1sTm9kZVB0cihuX2N1ciwgY3VyLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFhQYXRoTmV4dEZvbGxvd2luZyIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHh0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdXIpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sWFBhdGhOZXh0Rm9sbG93aW5nU2libGluZyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbE5vZGVQdHIgcmV0X3ZhbDsKKyAgICB4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dDsgLyogdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKyAgICB4bWxOb2RlUHRyIGN1cjsgLyogdGhlIGN1cnJlbnQgbm9kZSBpbiB0aGUgdHJhdmVyc2FsICovCisgICAgaW50IG5fY3VyOworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxYUGF0aFBhcnNlckNvbnRleHRQdHI7bl9jdHh0KyspIHsKKyAgICBmb3IgKG5fY3VyID0gMDtuX2N1ciA8IGdlbl9uYl94bWxOb2RlUHRyO25fY3VyKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4dCA9IGdlbl94bWxYUGF0aFBhcnNlckNvbnRleHRQdHIobl9jdHh0LCAwKTsKKyAgICAgICAgY3VyID0gZ2VuX3htbE5vZGVQdHIobl9jdXIsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxYUGF0aE5leHRGb2xsb3dpbmdTaWJsaW5nKGN0eHQsIGN1cik7CisgICAgICAgIGRlc3JldF94bWxOb2RlUHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxYUGF0aFBhcnNlckNvbnRleHRQdHIobl9jdHh0LCBjdHh0LCAwKTsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl9jdXIsIGN1ciwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxYUGF0aE5leHRGb2xsb3dpbmdTaWJsaW5nIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N1cik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxYUGF0aE5leHROYW1lc3BhY2Uodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxOb2RlUHRyIHJldF92YWw7CisgICAgeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQ7IC8qIHRoZSBYUGF0aCBQYXJzZXIgY29udGV4dCAqLworICAgIGludCBuX2N0eHQ7CisgICAgeG1sTm9kZVB0ciBjdXI7IC8qIHRoZSBjdXJyZW50IGF0dHJpYnV0ZSBpbiB0aGUgdHJhdmVyc2FsICovCisgICAgaW50IG5fY3VyOworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxYUGF0aFBhcnNlckNvbnRleHRQdHI7bl9jdHh0KyspIHsKKyAgICBmb3IgKG5fY3VyID0gMDtuX2N1ciA8IGdlbl9uYl94bWxOb2RlUHRyO25fY3VyKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4dCA9IGdlbl94bWxYUGF0aFBhcnNlckNvbnRleHRQdHIobl9jdHh0LCAwKTsKKyAgICAgICAgY3VyID0gZ2VuX3htbE5vZGVQdHIobl9jdXIsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxYUGF0aE5leHROYW1lc3BhY2UoY3R4dCwgY3VyKTsKKyAgICAgICAgZGVzcmV0X3htbE5vZGVQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cihuX2N0eHQsIGN0eHQsIDApOworICAgICAgICBkZXNfeG1sTm9kZVB0cihuX2N1ciwgY3VyLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFhQYXRoTmV4dE5hbWVzcGFjZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHh0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdXIpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sWFBhdGhOZXh0UGFyZW50KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sTm9kZVB0ciByZXRfdmFsOworICAgIHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0OyAvKiB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHh0OworICAgIHhtbE5vZGVQdHIgY3VyOyAvKiB0aGUgY3VycmVudCBub2RlIGluIHRoZSB0cmF2ZXJzYWwgKi8KKyAgICBpbnQgbl9jdXI7CisKKyAgICBmb3IgKG5fY3R4dCA9IDA7bl9jdHh0IDwgZ2VuX25iX3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cjtuX2N0eHQrKykgeworICAgIGZvciAobl9jdXIgPSAwO25fY3VyIDwgZ2VuX25iX3htbE5vZGVQdHI7bl9jdXIrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cihuX2N0eHQsIDApOworICAgICAgICBjdXIgPSBnZW5feG1sTm9kZVB0cihuX2N1ciwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFhQYXRoTmV4dFBhcmVudChjdHh0LCBjdXIpOworICAgICAgICBkZXNyZXRfeG1sTm9kZVB0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIGRlc194bWxOb2RlUHRyKG5fY3VyLCBjdXIsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sWFBhdGhOZXh0UGFyZW50IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N1cik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxYUGF0aE5leHRQcmVjZWRpbmcodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxOb2RlUHRyIHJldF92YWw7CisgICAgeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQ7IC8qIHRoZSBYUGF0aCBQYXJzZXIgY29udGV4dCAqLworICAgIGludCBuX2N0eHQ7CisgICAgeG1sTm9kZVB0ciBjdXI7IC8qIHRoZSBjdXJyZW50IG5vZGUgaW4gdGhlIHRyYXZlcnNhbCAqLworICAgIGludCBuX2N1cjsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyO25fY3R4dCsrKSB7CisgICAgZm9yIChuX2N1ciA9IDA7bl9jdXIgPCBnZW5fbmJfeG1sTm9kZVB0cjtuX2N1cisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eHQgPSBnZW5feG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKG5fY3R4dCwgMCk7CisgICAgICAgIGN1ciA9IGdlbl94bWxOb2RlUHRyKG5fY3VyLCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sWFBhdGhOZXh0UHJlY2VkaW5nKGN0eHQsIGN1cik7CisgICAgICAgIGRlc3JldF94bWxOb2RlUHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxYUGF0aFBhcnNlckNvbnRleHRQdHIobl9jdHh0LCBjdHh0LCAwKTsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl9jdXIsIGN1ciwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxYUGF0aE5leHRQcmVjZWRpbmciLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3VyKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFhQYXRoTmV4dFByZWNlZGluZ1NpYmxpbmcodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxOb2RlUHRyIHJldF92YWw7CisgICAgeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQ7IC8qIHRoZSBYUGF0aCBQYXJzZXIgY29udGV4dCAqLworICAgIGludCBuX2N0eHQ7CisgICAgeG1sTm9kZVB0ciBjdXI7IC8qIHRoZSBjdXJyZW50IG5vZGUgaW4gdGhlIHRyYXZlcnNhbCAqLworICAgIGludCBuX2N1cjsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyO25fY3R4dCsrKSB7CisgICAgZm9yIChuX2N1ciA9IDA7bl9jdXIgPCBnZW5fbmJfeG1sTm9kZVB0cjtuX2N1cisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eHQgPSBnZW5feG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKG5fY3R4dCwgMCk7CisgICAgICAgIGN1ciA9IGdlbl94bWxOb2RlUHRyKG5fY3VyLCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sWFBhdGhOZXh0UHJlY2VkaW5nU2libGluZyhjdHh0LCBjdXIpOworICAgICAgICBkZXNyZXRfeG1sTm9kZVB0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIGRlc194bWxOb2RlUHRyKG5fY3VyLCBjdXIsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sWFBhdGhOZXh0UHJlY2VkaW5nU2libGluZyIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHh0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdXIpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sWFBhdGhOZXh0U2VsZih2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbE5vZGVQdHIgcmV0X3ZhbDsKKyAgICB4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dDsgLyogdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKyAgICB4bWxOb2RlUHRyIGN1cjsgLyogdGhlIGN1cnJlbnQgbm9kZSBpbiB0aGUgdHJhdmVyc2FsICovCisgICAgaW50IG5fY3VyOworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxYUGF0aFBhcnNlckNvbnRleHRQdHI7bl9jdHh0KyspIHsKKyAgICBmb3IgKG5fY3VyID0gMDtuX2N1ciA8IGdlbl9uYl94bWxOb2RlUHRyO25fY3VyKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4dCA9IGdlbl94bWxYUGF0aFBhcnNlckNvbnRleHRQdHIobl9jdHh0LCAwKTsKKyAgICAgICAgY3VyID0gZ2VuX3htbE5vZGVQdHIobl9jdXIsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxYUGF0aE5leHRTZWxmKGN0eHQsIGN1cik7CisgICAgICAgIGRlc3JldF94bWxOb2RlUHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxYUGF0aFBhcnNlckNvbnRleHRQdHIobl9jdHh0LCBjdHh0LCAwKTsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl9jdXIsIGN1ciwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxYUGF0aE5leHRTZWxmIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N1cik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxYUGF0aE5vZGVMZWFkaW5nKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sTm9kZVNldFB0ciByZXRfdmFsOworICAgIHhtbE5vZGVTZXRQdHIgbm9kZXM7IC8qIGEgbm9kZS1zZXQgKi8KKyAgICBpbnQgbl9ub2RlczsKKyAgICB4bWxOb2RlUHRyIG5vZGU7IC8qIGEgbm9kZSAqLworICAgIGludCBuX25vZGU7CisKKyAgICBmb3IgKG5fbm9kZXMgPSAwO25fbm9kZXMgPCBnZW5fbmJfeG1sTm9kZVNldFB0cjtuX25vZGVzKyspIHsKKyAgICBmb3IgKG5fbm9kZSA9IDA7bl9ub2RlIDwgZ2VuX25iX3htbE5vZGVQdHI7bl9ub2RlKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgbm9kZXMgPSBnZW5feG1sTm9kZVNldFB0cihuX25vZGVzLCAwKTsKKyAgICAgICAgbm9kZSA9IGdlbl94bWxOb2RlUHRyKG5fbm9kZSwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFhQYXRoTm9kZUxlYWRpbmcobm9kZXMsIG5vZGUpOworICAgICAgICBkZXNyZXRfeG1sTm9kZVNldFB0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sTm9kZVNldFB0cihuX25vZGVzLCBub2RlcywgMCk7CisgICAgICAgIGRlc194bWxOb2RlUHRyKG5fbm9kZSwgbm9kZSwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxYUGF0aE5vZGVMZWFkaW5nIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25vZGVzKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9ub2RlKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFhQYXRoTm9kZUxlYWRpbmdTb3J0ZWQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxOb2RlU2V0UHRyIHJldF92YWw7CisgICAgeG1sTm9kZVNldFB0ciBub2RlczsgLyogYSBub2RlLXNldCwgc29ydGVkIGJ5IGRvY3VtZW50IG9yZGVyICovCisgICAgaW50IG5fbm9kZXM7CisgICAgeG1sTm9kZVB0ciBub2RlOyAvKiBhIG5vZGUgKi8KKyAgICBpbnQgbl9ub2RlOworCisgICAgZm9yIChuX25vZGVzID0gMDtuX25vZGVzIDwgZ2VuX25iX3htbE5vZGVTZXRQdHI7bl9ub2RlcysrKSB7CisgICAgZm9yIChuX25vZGUgPSAwO25fbm9kZSA8IGdlbl9uYl94bWxOb2RlUHRyO25fbm9kZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIG5vZGVzID0gZ2VuX3htbE5vZGVTZXRQdHIobl9ub2RlcywgMCk7CisgICAgICAgIG5vZGUgPSBnZW5feG1sTm9kZVB0cihuX25vZGUsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxYUGF0aE5vZGVMZWFkaW5nU29ydGVkKG5vZGVzLCBub2RlKTsKKyAgICAgICAgZGVzcmV0X3htbE5vZGVTZXRQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbE5vZGVTZXRQdHIobl9ub2Rlcywgbm9kZXMsIDApOworICAgICAgICBkZXNfeG1sTm9kZVB0cihuX25vZGUsIG5vZGUsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sWFBhdGhOb2RlTGVhZGluZ1NvcnRlZCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9ub2Rlcyk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbm9kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxYUGF0aE5vZGVTZXRBZGQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxOb2RlU2V0UHRyIGN1cjsgLyogdGhlIGluaXRpYWwgbm9kZSBzZXQgKi8KKyAgICBpbnQgbl9jdXI7CisgICAgeG1sTm9kZVB0ciB2YWw7IC8qIGEgbmV3IHhtbE5vZGVQdHIgKi8KKyAgICBpbnQgbl92YWw7CisKKyAgICBmb3IgKG5fY3VyID0gMDtuX2N1ciA8IGdlbl9uYl94bWxOb2RlU2V0UHRyO25fY3VyKyspIHsKKyAgICBmb3IgKG5fdmFsID0gMDtuX3ZhbCA8IGdlbl9uYl94bWxOb2RlUHRyO25fdmFsKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3VyID0gZ2VuX3htbE5vZGVTZXRQdHIobl9jdXIsIDApOworICAgICAgICB2YWwgPSBnZW5feG1sTm9kZVB0cihuX3ZhbCwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFhQYXRoTm9kZVNldEFkZChjdXIsIHZhbCk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbE5vZGVTZXRQdHIobl9jdXIsIGN1ciwgMCk7CisgICAgICAgIGRlc194bWxOb2RlUHRyKG5fdmFsLCB2YWwsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sWFBhdGhOb2RlU2V0QWRkIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N1cik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdmFsKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFhQYXRoTm9kZVNldEFkZE5zKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sTm9kZVNldFB0ciBjdXI7IC8qIHRoZSBpbml0aWFsIG5vZGUgc2V0ICovCisgICAgaW50IG5fY3VyOworICAgIHhtbE5vZGVQdHIgbm9kZTsgLyogdGhlIGhvc3Rpbmcgbm9kZSAqLworICAgIGludCBuX25vZGU7CisgICAgeG1sTnNQdHIgbnM7IC8qIGEgdGhlIG5hbWVzcGFjZSBub2RlICovCisgICAgaW50IG5fbnM7CisKKyAgICBmb3IgKG5fY3VyID0gMDtuX2N1ciA8IGdlbl9uYl94bWxOb2RlU2V0UHRyO25fY3VyKyspIHsKKyAgICBmb3IgKG5fbm9kZSA9IDA7bl9ub2RlIDwgZ2VuX25iX3htbE5vZGVQdHI7bl9ub2RlKyspIHsKKyAgICBmb3IgKG5fbnMgPSAwO25fbnMgPCBnZW5fbmJfeG1sTnNQdHI7bl9ucysrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN1ciA9IGdlbl94bWxOb2RlU2V0UHRyKG5fY3VyLCAwKTsKKyAgICAgICAgbm9kZSA9IGdlbl94bWxOb2RlUHRyKG5fbm9kZSwgMSk7CisgICAgICAgIG5zID0gZ2VuX3htbE5zUHRyKG5fbnMsIDIpOworCisgICAgICAgIHJldF92YWwgPSB4bWxYUGF0aE5vZGVTZXRBZGROcyhjdXIsIG5vZGUsIG5zKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sTm9kZVNldFB0cihuX2N1ciwgY3VyLCAwKTsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl9ub2RlLCBub2RlLCAxKTsKKyAgICAgICAgZGVzX3htbE5zUHRyKG5fbnMsIG5zLCAyKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFhQYXRoTm9kZVNldEFkZE5zIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N1cik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbm9kZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbnMpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFhQYXRoTm9kZVNldEFkZFVuaXF1ZSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbE5vZGVTZXRQdHIgY3VyOyAvKiB0aGUgaW5pdGlhbCBub2RlIHNldCAqLworICAgIGludCBuX2N1cjsKKyAgICB4bWxOb2RlUHRyIHZhbDsgLyogYSBuZXcgeG1sTm9kZVB0ciAqLworICAgIGludCBuX3ZhbDsKKworICAgIGZvciAobl9jdXIgPSAwO25fY3VyIDwgZ2VuX25iX3htbE5vZGVTZXRQdHI7bl9jdXIrKykgeworICAgIGZvciAobl92YWwgPSAwO25fdmFsIDwgZ2VuX25iX3htbE5vZGVQdHI7bl92YWwrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdXIgPSBnZW5feG1sTm9kZVNldFB0cihuX2N1ciwgMCk7CisgICAgICAgIHZhbCA9IGdlbl94bWxOb2RlUHRyKG5fdmFsLCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sWFBhdGhOb2RlU2V0QWRkVW5pcXVlKGN1ciwgdmFsKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sTm9kZVNldFB0cihuX2N1ciwgY3VyLCAwKTsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl92YWwsIHZhbCwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxYUGF0aE5vZGVTZXRBZGRVbmlxdWUiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3VyKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl92YWwpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sWFBhdGhOb2RlU2V0Q29udGFpbnModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxOb2RlU2V0UHRyIGN1cjsgLyogdGhlIG5vZGUtc2V0ICovCisgICAgaW50IG5fY3VyOworICAgIHhtbE5vZGVQdHIgdmFsOyAvKiB0aGUgbm9kZSAqLworICAgIGludCBuX3ZhbDsKKworICAgIGZvciAobl9jdXIgPSAwO25fY3VyIDwgZ2VuX25iX3htbE5vZGVTZXRQdHI7bl9jdXIrKykgeworICAgIGZvciAobl92YWwgPSAwO25fdmFsIDwgZ2VuX25iX3htbE5vZGVQdHI7bl92YWwrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdXIgPSBnZW5feG1sTm9kZVNldFB0cihuX2N1ciwgMCk7CisgICAgICAgIHZhbCA9IGdlbl94bWxOb2RlUHRyKG5fdmFsLCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sWFBhdGhOb2RlU2V0Q29udGFpbnMoY3VyLCB2YWwpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxOb2RlU2V0UHRyKG5fY3VyLCBjdXIsIDApOworICAgICAgICBkZXNfeG1sTm9kZVB0cihuX3ZhbCwgdmFsLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFhQYXRoTm9kZVNldENvbnRhaW5zIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N1cik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdmFsKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFhQYXRoTm9kZVNldERlbCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbE5vZGVTZXRQdHIgY3VyOyAvKiB0aGUgaW5pdGlhbCBub2RlIHNldCAqLworICAgIGludCBuX2N1cjsKKyAgICB4bWxOb2RlUHRyIHZhbDsgLyogYW4geG1sTm9kZVB0ciAqLworICAgIGludCBuX3ZhbDsKKworICAgIGZvciAobl9jdXIgPSAwO25fY3VyIDwgZ2VuX25iX3htbE5vZGVTZXRQdHI7bl9jdXIrKykgeworICAgIGZvciAobl92YWwgPSAwO25fdmFsIDwgZ2VuX25iX3htbE5vZGVQdHI7bl92YWwrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdXIgPSBnZW5feG1sTm9kZVNldFB0cihuX2N1ciwgMCk7CisgICAgICAgIHZhbCA9IGdlbl94bWxOb2RlUHRyKG5fdmFsLCAxKTsKKworICAgICAgICB4bWxYUGF0aE5vZGVTZXREZWwoY3VyLCB2YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxOb2RlU2V0UHRyKG5fY3VyLCBjdXIsIDApOworICAgICAgICBkZXNfeG1sTm9kZVB0cihuX3ZhbCwgdmFsLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFhQYXRoTm9kZVNldERlbCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdXIpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3ZhbCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxYUGF0aE5vZGVTZXRNZXJnZSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbE5vZGVTZXRQdHIgcmV0X3ZhbDsKKyAgICB4bWxOb2RlU2V0UHRyIHZhbDE7IC8qIHRoZSBmaXJzdCBOb2RlU2V0IG9yIE5VTEwgKi8KKyAgICBpbnQgbl92YWwxOworICAgIHhtbE5vZGVTZXRQdHIgdmFsMjsgLyogdGhlIHNlY29uZCBOb2RlU2V0ICovCisgICAgaW50IG5fdmFsMjsKKworICAgIGZvciAobl92YWwxID0gMDtuX3ZhbDEgPCBnZW5fbmJfeG1sTm9kZVNldFB0cjtuX3ZhbDErKykgeworICAgIGZvciAobl92YWwyID0gMDtuX3ZhbDIgPCBnZW5fbmJfeG1sTm9kZVNldFB0cjtuX3ZhbDIrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICB2YWwxID0gZ2VuX3htbE5vZGVTZXRQdHIobl92YWwxLCAwKTsKKyAgICAgICAgdmFsMiA9IGdlbl94bWxOb2RlU2V0UHRyKG5fdmFsMiwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFhQYXRoTm9kZVNldE1lcmdlKHZhbDEsIHZhbDIpOworICAgICAgICBkZXNyZXRfeG1sTm9kZVNldFB0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sTm9kZVNldFB0cihuX3ZhbDEsIHZhbDEsIDApOworICAgICAgICBkZXNfeG1sTm9kZVNldFB0cihuX3ZhbDIsIHZhbDIsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sWFBhdGhOb2RlU2V0TWVyZ2UiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdmFsMSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdmFsMik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxYUGF0aE5vZGVTZXRSZW1vdmUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxOb2RlU2V0UHRyIGN1cjsgLyogdGhlIGluaXRpYWwgbm9kZSBzZXQgKi8KKyAgICBpbnQgbl9jdXI7CisgICAgaW50IHZhbDsgLyogdGhlIGluZGV4IHRvIHJlbW92ZSAqLworICAgIGludCBuX3ZhbDsKKworICAgIGZvciAobl9jdXIgPSAwO25fY3VyIDwgZ2VuX25iX3htbE5vZGVTZXRQdHI7bl9jdXIrKykgeworICAgIGZvciAobl92YWwgPSAwO25fdmFsIDwgZ2VuX25iX2ludDtuX3ZhbCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN1ciA9IGdlbl94bWxOb2RlU2V0UHRyKG5fY3VyLCAwKTsKKyAgICAgICAgdmFsID0gZ2VuX2ludChuX3ZhbCwgMSk7CisKKyAgICAgICAgeG1sWFBhdGhOb2RlU2V0UmVtb3ZlKGN1ciwgdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sTm9kZVNldFB0cihuX2N1ciwgY3VyLCAwKTsKKyAgICAgICAgZGVzX2ludChuX3ZhbCwgdmFsLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFhQYXRoTm9kZVNldFJlbW92ZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdXIpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3ZhbCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxYUGF0aE5vZGVTZXRTb3J0KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sTm9kZVNldFB0ciBzZXQ7IC8qIHRoZSBub2RlIHNldCAqLworICAgIGludCBuX3NldDsKKworICAgIGZvciAobl9zZXQgPSAwO25fc2V0IDwgZ2VuX25iX3htbE5vZGVTZXRQdHI7bl9zZXQrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBzZXQgPSBnZW5feG1sTm9kZVNldFB0cihuX3NldCwgMCk7CisKKyAgICAgICAgeG1sWFBhdGhOb2RlU2V0U29ydChzZXQpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxOb2RlU2V0UHRyKG5fc2V0LCBzZXQsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sWFBhdGhOb2RlU2V0U29ydCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9zZXQpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxYUGF0aE5vZGVUcmFpbGluZyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbE5vZGVTZXRQdHIgcmV0X3ZhbDsKKyAgICB4bWxOb2RlU2V0UHRyIG5vZGVzOyAvKiBhIG5vZGUtc2V0ICovCisgICAgaW50IG5fbm9kZXM7CisgICAgeG1sTm9kZVB0ciBub2RlOyAvKiBhIG5vZGUgKi8KKyAgICBpbnQgbl9ub2RlOworCisgICAgZm9yIChuX25vZGVzID0gMDtuX25vZGVzIDwgZ2VuX25iX3htbE5vZGVTZXRQdHI7bl9ub2RlcysrKSB7CisgICAgZm9yIChuX25vZGUgPSAwO25fbm9kZSA8IGdlbl9uYl94bWxOb2RlUHRyO25fbm9kZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIG5vZGVzID0gZ2VuX3htbE5vZGVTZXRQdHIobl9ub2RlcywgMCk7CisgICAgICAgIG5vZGUgPSBnZW5feG1sTm9kZVB0cihuX25vZGUsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxYUGF0aE5vZGVUcmFpbGluZyhub2Rlcywgbm9kZSk7CisgICAgICAgIGRlc3JldF94bWxOb2RlU2V0UHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxOb2RlU2V0UHRyKG5fbm9kZXMsIG5vZGVzLCAwKTsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl9ub2RlLCBub2RlLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFhQYXRoTm9kZVRyYWlsaW5nIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25vZGVzKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9ub2RlKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFhQYXRoTm9kZVRyYWlsaW5nU29ydGVkKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sTm9kZVNldFB0ciByZXRfdmFsOworICAgIHhtbE5vZGVTZXRQdHIgbm9kZXM7IC8qIGEgbm9kZS1zZXQsIHNvcnRlZCBieSBkb2N1bWVudCBvcmRlciAqLworICAgIGludCBuX25vZGVzOworICAgIHhtbE5vZGVQdHIgbm9kZTsgLyogYSBub2RlICovCisgICAgaW50IG5fbm9kZTsKKworICAgIGZvciAobl9ub2RlcyA9IDA7bl9ub2RlcyA8IGdlbl9uYl94bWxOb2RlU2V0UHRyO25fbm9kZXMrKykgeworICAgIGZvciAobl9ub2RlID0gMDtuX25vZGUgPCBnZW5fbmJfeG1sTm9kZVB0cjtuX25vZGUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBub2RlcyA9IGdlbl94bWxOb2RlU2V0UHRyKG5fbm9kZXMsIDApOworICAgICAgICBub2RlID0gZ2VuX3htbE5vZGVQdHIobl9ub2RlLCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sWFBhdGhOb2RlVHJhaWxpbmdTb3J0ZWQobm9kZXMsIG5vZGUpOworICAgICAgICBkZXNyZXRfeG1sTm9kZVNldFB0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sTm9kZVNldFB0cihuX25vZGVzLCBub2RlcywgMCk7CisgICAgICAgIGRlc194bWxOb2RlUHRyKG5fbm9kZSwgbm9kZSwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxYUGF0aE5vZGVUcmFpbGluZ1NvcnRlZCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9ub2Rlcyk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbm9kZSk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxYUGF0aE5vcm1hbGl6ZUZ1bmN0aW9uKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQ7IC8qIHRoZSBYUGF0aCBQYXJzZXIgY29udGV4dCAqLworICAgIGludCBuX2N0eHQ7CisgICAgaW50IG5hcmdzOyAvKiB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cyAqLworICAgIGludCBuX25hcmdzOworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxYUGF0aFBhcnNlckNvbnRleHRQdHI7bl9jdHh0KyspIHsKKyAgICBmb3IgKG5fbmFyZ3MgPSAwO25fbmFyZ3MgPCBnZW5fbmJfaW50O25fbmFyZ3MrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cihuX2N0eHQsIDApOworICAgICAgICBuYXJncyA9IGdlbl9pbnQobl9uYXJncywgMSk7CisKKyAgICAgICAgeG1sWFBhdGhOb3JtYWxpemVGdW5jdGlvbihjdHh0LCBuYXJncyk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cihuX2N0eHQsIGN0eHQsIDApOworICAgICAgICBkZXNfaW50KG5fbmFyZ3MsIG5hcmdzLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFhQYXRoTm9ybWFsaXplRnVuY3Rpb24iLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFyZ3MpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sWFBhdGhOb3RFcXVhbFZhbHVlcyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGludCByZXRfdmFsOworICAgIHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0OyAvKiB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHh0OworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxYUGF0aFBhcnNlckNvbnRleHRQdHI7bl9jdHh0KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4dCA9IGdlbl94bWxYUGF0aFBhcnNlckNvbnRleHRQdHIobl9jdHh0LCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sWFBhdGhOb3RFcXVhbFZhbHVlcyhjdHh0KTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxYUGF0aE5vdEVxdWFsVmFsdWVzIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxYUGF0aE5vdEZ1bmN0aW9uKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQ7IC8qIHRoZSBYUGF0aCBQYXJzZXIgY29udGV4dCAqLworICAgIGludCBuX2N0eHQ7CisgICAgaW50IG5hcmdzOyAvKiB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cyAqLworICAgIGludCBuX25hcmdzOworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxYUGF0aFBhcnNlckNvbnRleHRQdHI7bl9jdHh0KyspIHsKKyAgICBmb3IgKG5fbmFyZ3MgPSAwO25fbmFyZ3MgPCBnZW5fbmJfaW50O25fbmFyZ3MrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cihuX2N0eHQsIDApOworICAgICAgICBuYXJncyA9IGdlbl9pbnQobl9uYXJncywgMSk7CisKKyAgICAgICAgeG1sWFBhdGhOb3RGdW5jdGlvbihjdHh0LCBuYXJncyk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cihuX2N0eHQsIGN0eHQsIDApOworICAgICAgICBkZXNfaW50KG5fbmFyZ3MsIG5hcmdzLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFhQYXRoTm90RnVuY3Rpb24iLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFyZ3MpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sWFBhdGhOc0xvb2t1cCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIGNvbnN0IHhtbENoYXIgKiByZXRfdmFsOworICAgIHhtbFhQYXRoQ29udGV4dFB0ciBjdHh0OyAvKiB0aGUgWFBhdGggY29udGV4dCAqLworICAgIGludCBuX2N0eHQ7CisgICAgeG1sQ2hhciAqIHByZWZpeDsgLyogdGhlIG5hbWVzcGFjZSBwcmVmaXggdmFsdWUgKi8KKyAgICBpbnQgbl9wcmVmaXg7CisKKyAgICBmb3IgKG5fY3R4dCA9IDA7bl9jdHh0IDwgZ2VuX25iX3htbFhQYXRoQ29udGV4dFB0cjtuX2N0eHQrKykgeworICAgIGZvciAobl9wcmVmaXggPSAwO25fcHJlZml4IDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fcHJlZml4KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4dCA9IGdlbl94bWxYUGF0aENvbnRleHRQdHIobl9jdHh0LCAwKTsKKyAgICAgICAgcHJlZml4ID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fcHJlZml4LCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sWFBhdGhOc0xvb2t1cChjdHh0LCAoY29uc3QgeG1sQ2hhciAqKXByZWZpeCk7CisgICAgICAgIGRlc3JldF9jb25zdF94bWxDaGFyX3B0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sWFBhdGhDb250ZXh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX3ByZWZpeCwgKGNvbnN0IHhtbENoYXIgKilwcmVmaXgsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sWFBhdGhOc0xvb2t1cCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHh0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9wcmVmaXgpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sWFBhdGhOdW1iZXJGdW5jdGlvbih2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0OyAvKiB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHh0OworICAgIGludCBuYXJnczsgLyogdGhlIG51bWJlciBvZiBhcmd1bWVudHMgKi8KKyAgICBpbnQgbl9uYXJnczsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyO25fY3R4dCsrKSB7CisgICAgZm9yIChuX25hcmdzID0gMDtuX25hcmdzIDwgZ2VuX25iX2ludDtuX25hcmdzKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4dCA9IGdlbl94bWxYUGF0aFBhcnNlckNvbnRleHRQdHIobl9jdHh0LCAwKTsKKyAgICAgICAgbmFyZ3MgPSBnZW5faW50KG5fbmFyZ3MsIDEpOworCisgICAgICAgIHhtbFhQYXRoTnVtYmVyRnVuY3Rpb24oY3R4dCwgbmFyZ3MpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxYUGF0aFBhcnNlckNvbnRleHRQdHIobl9jdHh0LCBjdHh0LCAwKTsKKyAgICAgICAgZGVzX2ludChuX25hcmdzLCBuYXJncywgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxYUGF0aE51bWJlckZ1bmN0aW9uIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25hcmdzKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFhQYXRoUGFyc2VOQ05hbWUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxDaGFyICogcmV0X3ZhbDsKKyAgICB4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dDsgLyogdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyO25fY3R4dCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eHQgPSBnZW5feG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKG5fY3R4dCwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFhQYXRoUGFyc2VOQ05hbWUoY3R4dCk7CisgICAgICAgIGRlc3JldF94bWxDaGFyX3B0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxYUGF0aFBhcnNlTkNOYW1lIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxYUGF0aFBhcnNlTmFtZSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbENoYXIgKiByZXRfdmFsOworICAgIHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0OyAvKiB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHh0OworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxYUGF0aFBhcnNlckNvbnRleHRQdHI7bl9jdHh0KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4dCA9IGdlbl94bWxYUGF0aFBhcnNlckNvbnRleHRQdHIobl9jdHh0LCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sWFBhdGhQYXJzZU5hbWUoY3R4dCk7CisgICAgICAgIGRlc3JldF94bWxDaGFyX3B0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxYUGF0aFBhcnNlTmFtZSIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHh0KTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sWFBhdGhQb3BCb29sZWFuKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgaW50IHJldF92YWw7CisgICAgeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQ7IC8qIGFuIFhQYXRoIHBhcnNlciBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyO25fY3R4dCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eHQgPSBnZW5feG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKG5fY3R4dCwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFhQYXRoUG9wQm9vbGVhbihjdHh0KTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxYUGF0aFBvcEJvb2xlYW4iLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFhQYXRoUG9wRXh0ZXJuYWwodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB2b2lkICogcmV0X3ZhbDsKKyAgICB4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dDsgLyogYW4gWFBhdGggcGFyc2VyIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHh0OworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxYUGF0aFBhcnNlckNvbnRleHRQdHI7bl9jdHh0KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4dCA9IGdlbl94bWxYUGF0aFBhcnNlckNvbnRleHRQdHIobl9jdHh0LCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sWFBhdGhQb3BFeHRlcm5hbChjdHh0KTsKKyAgICAgICAgZGVzcmV0X3ZvaWRfcHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxYUGF0aFBhcnNlckNvbnRleHRQdHIobl9jdHh0LCBjdHh0LCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFhQYXRoUG9wRXh0ZXJuYWwiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFhQYXRoUG9wTm9kZVNldCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbE5vZGVTZXRQdHIgcmV0X3ZhbDsKKyAgICB4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dDsgLyogYW4gWFBhdGggcGFyc2VyIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHh0OworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxYUGF0aFBhcnNlckNvbnRleHRQdHI7bl9jdHh0KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4dCA9IGdlbl94bWxYUGF0aFBhcnNlckNvbnRleHRQdHIobl9jdHh0LCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sWFBhdGhQb3BOb2RlU2V0KGN0eHQpOworICAgICAgICBkZXNyZXRfeG1sTm9kZVNldFB0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxYUGF0aFBvcE5vZGVTZXQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFhQYXRoUG9wTnVtYmVyKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgZG91YmxlIHJldF92YWw7CisgICAgeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQ7IC8qIGFuIFhQYXRoIHBhcnNlciBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyO25fY3R4dCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eHQgPSBnZW5feG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKG5fY3R4dCwgMCk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFhQYXRoUG9wTnVtYmVyKGN0eHQpOworICAgICAgICBkZXNyZXRfZG91YmxlKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxYUGF0aFBhcnNlckNvbnRleHRQdHIobl9jdHh0LCBjdHh0LCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFhQYXRoUG9wTnVtYmVyIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxYUGF0aFBvcFN0cmluZyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbENoYXIgKiByZXRfdmFsOworICAgIHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0OyAvKiBhbiBYUGF0aCBwYXJzZXIgY29udGV4dCAqLworICAgIGludCBuX2N0eHQ7CisKKyAgICBmb3IgKG5fY3R4dCA9IDA7bl9jdHh0IDwgZ2VuX25iX3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cjtuX2N0eHQrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cihuX2N0eHQsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxYUGF0aFBvcFN0cmluZyhjdHh0KTsKKyAgICAgICAgZGVzcmV0X3htbENoYXJfcHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxYUGF0aFBhcnNlckNvbnRleHRQdHIobl9jdHh0LCBjdHh0LCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFhQYXRoUG9wU3RyaW5nIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxYUGF0aFBvc2l0aW9uRnVuY3Rpb24odm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dDsgLyogdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKyAgICBpbnQgbmFyZ3M7IC8qIHRoZSBudW1iZXIgb2YgYXJndW1lbnRzICovCisgICAgaW50IG5fbmFyZ3M7CisKKyAgICBmb3IgKG5fY3R4dCA9IDA7bl9jdHh0IDwgZ2VuX25iX3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cjtuX2N0eHQrKykgeworICAgIGZvciAobl9uYXJncyA9IDA7bl9uYXJncyA8IGdlbl9uYl9pbnQ7bl9uYXJncysrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eHQgPSBnZW5feG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKG5fY3R4dCwgMCk7CisgICAgICAgIG5hcmdzID0gZ2VuX2ludChuX25hcmdzLCAxKTsKKworICAgICAgICB4bWxYUGF0aFBvc2l0aW9uRnVuY3Rpb24oY3R4dCwgbmFyZ3MpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxYUGF0aFBhcnNlckNvbnRleHRQdHIobl9jdHh0LCBjdHh0LCAwKTsKKyAgICAgICAgZGVzX2ludChuX25hcmdzLCBuYXJncywgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxYUGF0aFBvc2l0aW9uRnVuY3Rpb24iLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFyZ3MpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sWFBhdGhSZWdpc3RlckFsbEZ1bmN0aW9ucyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbFhQYXRoQ29udGV4dFB0ciBjdHh0OyAvKiB0aGUgWFBhdGggY29udGV4dCAqLworICAgIGludCBuX2N0eHQ7CisKKyAgICBmb3IgKG5fY3R4dCA9IDA7bl9jdHh0IDwgZ2VuX25iX3htbFhQYXRoQ29udGV4dFB0cjtuX2N0eHQrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX3htbFhQYXRoQ29udGV4dFB0cihuX2N0eHQsIDApOworCisgICAgICAgIHhtbFhQYXRoUmVnaXN0ZXJBbGxGdW5jdGlvbnMoY3R4dCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFhQYXRoQ29udGV4dFB0cihuX2N0eHQsIGN0eHQsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sWFBhdGhSZWdpc3RlckFsbEZ1bmN0aW9ucyIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHh0KTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sWFBhdGhSZWdpc3RlckZ1bmModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworICAgIC8qIG1pc3NpbmcgdHlwZSBzdXBwb3J0ICovCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFhQYXRoUmVnaXN0ZXJGdW5jTG9va3VwKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisKKyAgICAvKiBtaXNzaW5nIHR5cGUgc3VwcG9ydCAqLworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxYUGF0aFJlZ2lzdGVyRnVuY05TKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisKKyAgICAvKiBtaXNzaW5nIHR5cGUgc3VwcG9ydCAqLworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxYUGF0aFJlZ2lzdGVyTnModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxYUGF0aENvbnRleHRQdHIgY3R4dDsgLyogdGhlIFhQYXRoIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHh0OworICAgIHhtbENoYXIgKiBwcmVmaXg7IC8qIHRoZSBuYW1lc3BhY2UgcHJlZml4IGNhbm5vdCBiZSBOVUxMIG9yIGVtcHR5IHN0cmluZyAqLworICAgIGludCBuX3ByZWZpeDsKKyAgICB4bWxDaGFyICogbnNfdXJpOyAvKiB0aGUgbmFtZXNwYWNlIG5hbWUgKi8KKyAgICBpbnQgbl9uc191cmk7CisKKyAgICBmb3IgKG5fY3R4dCA9IDA7bl9jdHh0IDwgZ2VuX25iX3htbFhQYXRoQ29udGV4dFB0cjtuX2N0eHQrKykgeworICAgIGZvciAobl9wcmVmaXggPSAwO25fcHJlZml4IDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fcHJlZml4KyspIHsKKyAgICBmb3IgKG5fbnNfdXJpID0gMDtuX25zX3VyaSA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX25zX3VyaSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eHQgPSBnZW5feG1sWFBhdGhDb250ZXh0UHRyKG5fY3R4dCwgMCk7CisgICAgICAgIHByZWZpeCA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX3ByZWZpeCwgMSk7CisgICAgICAgIG5zX3VyaSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX25zX3VyaSwgMik7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFhQYXRoUmVnaXN0ZXJOcyhjdHh0LCAoY29uc3QgeG1sQ2hhciAqKXByZWZpeCwgKGNvbnN0IHhtbENoYXIgKiluc191cmkpOworICAgICAgICBkZXNyZXRfaW50KHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxYUGF0aENvbnRleHRQdHIobl9jdHh0LCBjdHh0LCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fcHJlZml4LCAoY29uc3QgeG1sQ2hhciAqKXByZWZpeCwgMSk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX25zX3VyaSwgKGNvbnN0IHhtbENoYXIgKiluc191cmksIDIpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sWFBhdGhSZWdpc3Rlck5zIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3ByZWZpeCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbnNfdXJpKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxYUGF0aENvbnRleHRQdHIgY3R4dDsgLyogdGhlIFhQYXRoIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHh0OworICAgIHhtbENoYXIgKiBuYW1lOyAvKiB0aGUgdmFyaWFibGUgbmFtZSAqLworICAgIGludCBuX25hbWU7CisgICAgeG1sWFBhdGhPYmplY3RQdHIgdmFsdWU7IC8qIHRoZSB2YXJpYWJsZSB2YWx1ZSBvciBOVUxMICovCisgICAgaW50IG5fdmFsdWU7CisKKyAgICBmb3IgKG5fY3R4dCA9IDA7bl9jdHh0IDwgZ2VuX25iX3htbFhQYXRoQ29udGV4dFB0cjtuX2N0eHQrKykgeworICAgIGZvciAobl9uYW1lID0gMDtuX25hbWUgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9uYW1lKyspIHsKKyAgICBmb3IgKG5fdmFsdWUgPSAwO25fdmFsdWUgPCBnZW5fbmJfeG1sWFBhdGhPYmplY3RQdHI7bl92YWx1ZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eHQgPSBnZW5feG1sWFBhdGhDb250ZXh0UHRyKG5fY3R4dCwgMCk7CisgICAgICAgIG5hbWUgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAxKTsKKyAgICAgICAgdmFsdWUgPSBnZW5feG1sWFBhdGhPYmplY3RQdHIobl92YWx1ZSwgMik7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZShjdHh0LCAoY29uc3QgeG1sQ2hhciAqKW5hbWUsIHZhbHVlKTsKKyAgICAgICAgZGVzcmV0X2ludChyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sWFBhdGhDb250ZXh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX25hbWUsIChjb25zdCB4bWxDaGFyICopbmFtZSwgMSk7CisgICAgICAgIGRlc194bWxYUGF0aE9iamVjdFB0cihuX3ZhbHVlLCB2YWx1ZSwgMik7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGUiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFtZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdmFsdWUpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZUxvb2t1cCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworCisgICAgLyogbWlzc2luZyB0eXBlIHN1cHBvcnQgKi8KKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlTlModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBpbnQgcmV0X3ZhbDsKKyAgICB4bWxYUGF0aENvbnRleHRQdHIgY3R4dDsgLyogdGhlIFhQYXRoIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHh0OworICAgIHhtbENoYXIgKiBuYW1lOyAvKiB0aGUgdmFyaWFibGUgbmFtZSAqLworICAgIGludCBuX25hbWU7CisgICAgeG1sQ2hhciAqIG5zX3VyaTsgLyogdGhlIHZhcmlhYmxlIG5hbWVzcGFjZSBVUkkgKi8KKyAgICBpbnQgbl9uc191cmk7CisgICAgeG1sWFBhdGhPYmplY3RQdHIgdmFsdWU7IC8qIHRoZSB2YXJpYWJsZSB2YWx1ZSBvciBOVUxMICovCisgICAgaW50IG5fdmFsdWU7CisKKyAgICBmb3IgKG5fY3R4dCA9IDA7bl9jdHh0IDwgZ2VuX25iX3htbFhQYXRoQ29udGV4dFB0cjtuX2N0eHQrKykgeworICAgIGZvciAobl9uYW1lID0gMDtuX25hbWUgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9uYW1lKyspIHsKKyAgICBmb3IgKG5fbnNfdXJpID0gMDtuX25zX3VyaSA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX25zX3VyaSsrKSB7CisgICAgZm9yIChuX3ZhbHVlID0gMDtuX3ZhbHVlIDwgZ2VuX25iX3htbFhQYXRoT2JqZWN0UHRyO25fdmFsdWUrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX3htbFhQYXRoQ29udGV4dFB0cihuX2N0eHQsIDApOworICAgICAgICBuYW1lID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgMSk7CisgICAgICAgIG5zX3VyaSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX25zX3VyaSwgMik7CisgICAgICAgIHZhbHVlID0gZ2VuX3htbFhQYXRoT2JqZWN0UHRyKG5fdmFsdWUsIDMpOworCisgICAgICAgIHJldF92YWwgPSB4bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGVOUyhjdHh0LCAoY29uc3QgeG1sQ2hhciAqKW5hbWUsIChjb25zdCB4bWxDaGFyICopbnNfdXJpLCB2YWx1ZSk7CisgICAgICAgIGRlc3JldF9pbnQocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFhQYXRoQ29udGV4dFB0cihuX2N0eHQsIGN0eHQsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUsIDEpOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9uc191cmksIChjb25zdCB4bWxDaGFyICopbnNfdXJpLCAyKTsKKyAgICAgICAgZGVzX3htbFhQYXRoT2JqZWN0UHRyKG5fdmFsdWUsIHZhbHVlLCAzKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZU5TIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25hbWUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25zX3VyaSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdmFsdWUpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxYUGF0aFJlZ2lzdGVyZWRGdW5jc0NsZWFudXAodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxYUGF0aENvbnRleHRQdHIgY3R4dDsgLyogdGhlIFhQYXRoIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHh0OworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxYUGF0aENvbnRleHRQdHI7bl9jdHh0KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4dCA9IGdlbl94bWxYUGF0aENvbnRleHRQdHIobl9jdHh0LCAwKTsKKworICAgICAgICB4bWxYUGF0aFJlZ2lzdGVyZWRGdW5jc0NsZWFudXAoY3R4dCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFhQYXRoQ29udGV4dFB0cihuX2N0eHQsIGN0eHQsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sWFBhdGhSZWdpc3RlcmVkRnVuY3NDbGVhbnVwIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxYUGF0aFJlZ2lzdGVyZWROc0NsZWFudXAodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxYUGF0aENvbnRleHRQdHIgY3R4dDsgLyogdGhlIFhQYXRoIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHh0OworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxYUGF0aENvbnRleHRQdHI7bl9jdHh0KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4dCA9IGdlbl94bWxYUGF0aENvbnRleHRQdHIobl9jdHh0LCAwKTsKKworICAgICAgICB4bWxYUGF0aFJlZ2lzdGVyZWROc0NsZWFudXAoY3R4dCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFhQYXRoQ29udGV4dFB0cihuX2N0eHQsIGN0eHQsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sWFBhdGhSZWdpc3RlcmVkTnNDbGVhbnVwIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxYUGF0aFJlZ2lzdGVyZWRWYXJpYWJsZXNDbGVhbnVwKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sWFBhdGhDb250ZXh0UHRyIGN0eHQ7IC8qIHRoZSBYUGF0aCBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfeG1sWFBhdGhDb250ZXh0UHRyO25fY3R4dCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eHQgPSBnZW5feG1sWFBhdGhDb250ZXh0UHRyKG5fY3R4dCwgMCk7CisKKyAgICAgICAgeG1sWFBhdGhSZWdpc3RlcmVkVmFyaWFibGVzQ2xlYW51cChjdHh0KTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sWFBhdGhDb250ZXh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxYUGF0aFJlZ2lzdGVyZWRWYXJpYWJsZXNDbGVhbnVwIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxYUGF0aFJvb3Qodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dDsgLyogdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyO25fY3R4dCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eHQgPSBnZW5feG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKG5fY3R4dCwgMCk7CisKKyAgICAgICAgeG1sWFBhdGhSb290KGN0eHQpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxYUGF0aFBhcnNlckNvbnRleHRQdHIobl9jdHh0LCBjdHh0LCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFhQYXRoUm9vdCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHh0KTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sWFBhdGhSb3VuZEZ1bmN0aW9uKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQ7IC8qIHRoZSBYUGF0aCBQYXJzZXIgY29udGV4dCAqLworICAgIGludCBuX2N0eHQ7CisgICAgaW50IG5hcmdzOyAvKiB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cyAqLworICAgIGludCBuX25hcmdzOworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxYUGF0aFBhcnNlckNvbnRleHRQdHI7bl9jdHh0KyspIHsKKyAgICBmb3IgKG5fbmFyZ3MgPSAwO25fbmFyZ3MgPCBnZW5fbmJfaW50O25fbmFyZ3MrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cihuX2N0eHQsIDApOworICAgICAgICBuYXJncyA9IGdlbl9pbnQobl9uYXJncywgMSk7CisKKyAgICAgICAgeG1sWFBhdGhSb3VuZEZ1bmN0aW9uKGN0eHQsIG5hcmdzKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIGRlc19pbnQobl9uYXJncywgbmFyZ3MsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sWFBhdGhSb3VuZEZ1bmN0aW9uIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25hcmdzKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFhQYXRoU3RhcnRzV2l0aEZ1bmN0aW9uKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQ7IC8qIHRoZSBYUGF0aCBQYXJzZXIgY29udGV4dCAqLworICAgIGludCBuX2N0eHQ7CisgICAgaW50IG5hcmdzOyAvKiB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cyAqLworICAgIGludCBuX25hcmdzOworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxYUGF0aFBhcnNlckNvbnRleHRQdHI7bl9jdHh0KyspIHsKKyAgICBmb3IgKG5fbmFyZ3MgPSAwO25fbmFyZ3MgPCBnZW5fbmJfaW50O25fbmFyZ3MrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cihuX2N0eHQsIDApOworICAgICAgICBuYXJncyA9IGdlbl9pbnQobl9uYXJncywgMSk7CisKKyAgICAgICAgeG1sWFBhdGhTdGFydHNXaXRoRnVuY3Rpb24oY3R4dCwgbmFyZ3MpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxYUGF0aFBhcnNlckNvbnRleHRQdHIobl9jdHh0LCBjdHh0LCAwKTsKKyAgICAgICAgZGVzX2ludChuX25hcmdzLCBuYXJncywgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxYUGF0aFN0YXJ0c1dpdGhGdW5jdGlvbiIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHh0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9uYXJncyk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxYUGF0aFN0cmluZ0V2YWxOdW1iZXIodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICBkb3VibGUgcmV0X3ZhbDsKKyAgICB4bWxDaGFyICogc3RyOyAvKiBBIHN0cmluZyB0byBzY2FuICovCisgICAgaW50IG5fc3RyOworCisgICAgZm9yIChuX3N0ciA9IDA7bl9zdHIgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9zdHIrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBzdHIgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9zdHIsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxYUGF0aFN0cmluZ0V2YWxOdW1iZXIoKGNvbnN0IHhtbENoYXIgKilzdHIpOworICAgICAgICBkZXNyZXRfZG91YmxlKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc19jb25zdF94bWxDaGFyX3B0cihuX3N0ciwgKGNvbnN0IHhtbENoYXIgKilzdHIsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sWFBhdGhTdHJpbmdFdmFsTnVtYmVyIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3N0cik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFhQYXRoU3RyaW5nRnVuY3Rpb24odm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dDsgLyogdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKyAgICBpbnQgbmFyZ3M7IC8qIHRoZSBudW1iZXIgb2YgYXJndW1lbnRzICovCisgICAgaW50IG5fbmFyZ3M7CisKKyAgICBmb3IgKG5fY3R4dCA9IDA7bl9jdHh0IDwgZ2VuX25iX3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cjtuX2N0eHQrKykgeworICAgIGZvciAobl9uYXJncyA9IDA7bl9uYXJncyA8IGdlbl9uYl9pbnQ7bl9uYXJncysrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eHQgPSBnZW5feG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKG5fY3R4dCwgMCk7CisgICAgICAgIG5hcmdzID0gZ2VuX2ludChuX25hcmdzLCAxKTsKKworICAgICAgICB4bWxYUGF0aFN0cmluZ0Z1bmN0aW9uKGN0eHQsIG5hcmdzKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIGRlc19pbnQobl9uYXJncywgbmFyZ3MsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sWFBhdGhTdHJpbmdGdW5jdGlvbiIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHh0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9uYXJncyk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxYUGF0aFN0cmluZ0xlbmd0aEZ1bmN0aW9uKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQ7IC8qIHRoZSBYUGF0aCBQYXJzZXIgY29udGV4dCAqLworICAgIGludCBuX2N0eHQ7CisgICAgaW50IG5hcmdzOyAvKiB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cyAqLworICAgIGludCBuX25hcmdzOworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxYUGF0aFBhcnNlckNvbnRleHRQdHI7bl9jdHh0KyspIHsKKyAgICBmb3IgKG5fbmFyZ3MgPSAwO25fbmFyZ3MgPCBnZW5fbmJfaW50O25fbmFyZ3MrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cihuX2N0eHQsIDApOworICAgICAgICBuYXJncyA9IGdlbl9pbnQobl9uYXJncywgMSk7CisKKyAgICAgICAgeG1sWFBhdGhTdHJpbmdMZW5ndGhGdW5jdGlvbihjdHh0LCBuYXJncyk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cihuX2N0eHQsIGN0eHQsIDApOworICAgICAgICBkZXNfaW50KG5fbmFyZ3MsIG5hcmdzLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFhQYXRoU3RyaW5nTGVuZ3RoRnVuY3Rpb24iLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFyZ3MpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sWFBhdGhTdWJWYWx1ZXModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dDsgLyogdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyO25fY3R4dCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eHQgPSBnZW5feG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKG5fY3R4dCwgMCk7CisKKyAgICAgICAgeG1sWFBhdGhTdWJWYWx1ZXMoY3R4dCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cihuX2N0eHQsIGN0eHQsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sWFBhdGhTdWJWYWx1ZXMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFhQYXRoU3Vic3RyaW5nQWZ0ZXJGdW5jdGlvbih2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0OyAvKiB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHh0OworICAgIGludCBuYXJnczsgLyogdGhlIG51bWJlciBvZiBhcmd1bWVudHMgKi8KKyAgICBpbnQgbl9uYXJnczsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyO25fY3R4dCsrKSB7CisgICAgZm9yIChuX25hcmdzID0gMDtuX25hcmdzIDwgZ2VuX25iX2ludDtuX25hcmdzKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4dCA9IGdlbl94bWxYUGF0aFBhcnNlckNvbnRleHRQdHIobl9jdHh0LCAwKTsKKyAgICAgICAgbmFyZ3MgPSBnZW5faW50KG5fbmFyZ3MsIDEpOworCisgICAgICAgIHhtbFhQYXRoU3Vic3RyaW5nQWZ0ZXJGdW5jdGlvbihjdHh0LCBuYXJncyk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cihuX2N0eHQsIGN0eHQsIDApOworICAgICAgICBkZXNfaW50KG5fbmFyZ3MsIG5hcmdzLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFhQYXRoU3Vic3RyaW5nQWZ0ZXJGdW5jdGlvbiIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHh0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9uYXJncyk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxYUGF0aFN1YnN0cmluZ0JlZm9yZUZ1bmN0aW9uKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQ7IC8qIHRoZSBYUGF0aCBQYXJzZXIgY29udGV4dCAqLworICAgIGludCBuX2N0eHQ7CisgICAgaW50IG5hcmdzOyAvKiB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cyAqLworICAgIGludCBuX25hcmdzOworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxYUGF0aFBhcnNlckNvbnRleHRQdHI7bl9jdHh0KyspIHsKKyAgICBmb3IgKG5fbmFyZ3MgPSAwO25fbmFyZ3MgPCBnZW5fbmJfaW50O25fbmFyZ3MrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cihuX2N0eHQsIDApOworICAgICAgICBuYXJncyA9IGdlbl9pbnQobl9uYXJncywgMSk7CisKKyAgICAgICAgeG1sWFBhdGhTdWJzdHJpbmdCZWZvcmVGdW5jdGlvbihjdHh0LCBuYXJncyk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cihuX2N0eHQsIGN0eHQsIDApOworICAgICAgICBkZXNfaW50KG5fbmFyZ3MsIG5hcmdzLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFhQYXRoU3Vic3RyaW5nQmVmb3JlRnVuY3Rpb24iLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFyZ3MpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sWFBhdGhTdWJzdHJpbmdGdW5jdGlvbih2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0OyAvKiB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHh0OworICAgIGludCBuYXJnczsgLyogdGhlIG51bWJlciBvZiBhcmd1bWVudHMgKi8KKyAgICBpbnQgbl9uYXJnczsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyO25fY3R4dCsrKSB7CisgICAgZm9yIChuX25hcmdzID0gMDtuX25hcmdzIDwgZ2VuX25iX2ludDtuX25hcmdzKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4dCA9IGdlbl94bWxYUGF0aFBhcnNlckNvbnRleHRQdHIobl9jdHh0LCAwKTsKKyAgICAgICAgbmFyZ3MgPSBnZW5faW50KG5fbmFyZ3MsIDEpOworCisgICAgICAgIHhtbFhQYXRoU3Vic3RyaW5nRnVuY3Rpb24oY3R4dCwgbmFyZ3MpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxYUGF0aFBhcnNlckNvbnRleHRQdHIobl9jdHh0LCBjdHh0LCAwKTsKKyAgICAgICAgZGVzX2ludChuX25hcmdzLCBuYXJncywgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxYUGF0aFN1YnN0cmluZ0Z1bmN0aW9uIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25hcmdzKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFhQYXRoU3VtRnVuY3Rpb24odm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dDsgLyogdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKyAgICBpbnQgbmFyZ3M7IC8qIHRoZSBudW1iZXIgb2YgYXJndW1lbnRzICovCisgICAgaW50IG5fbmFyZ3M7CisKKyAgICBmb3IgKG5fY3R4dCA9IDA7bl9jdHh0IDwgZ2VuX25iX3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cjtuX2N0eHQrKykgeworICAgIGZvciAobl9uYXJncyA9IDA7bl9uYXJncyA8IGdlbl9uYl9pbnQ7bl9uYXJncysrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eHQgPSBnZW5feG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKG5fY3R4dCwgMCk7CisgICAgICAgIG5hcmdzID0gZ2VuX2ludChuX25hcmdzLCAxKTsKKworICAgICAgICB4bWxYUGF0aFN1bUZ1bmN0aW9uKGN0eHQsIG5hcmdzKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIGRlc19pbnQobl9uYXJncywgbmFyZ3MsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sWFBhdGhTdW1GdW5jdGlvbiIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHh0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9uYXJncyk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxYUGF0aFRyYWlsaW5nKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sTm9kZVNldFB0ciByZXRfdmFsOworICAgIHhtbE5vZGVTZXRQdHIgbm9kZXMxOyAvKiBhIG5vZGUtc2V0ICovCisgICAgaW50IG5fbm9kZXMxOworICAgIHhtbE5vZGVTZXRQdHIgbm9kZXMyOyAvKiBhIG5vZGUtc2V0ICovCisgICAgaW50IG5fbm9kZXMyOworCisgICAgZm9yIChuX25vZGVzMSA9IDA7bl9ub2RlczEgPCBnZW5fbmJfeG1sTm9kZVNldFB0cjtuX25vZGVzMSsrKSB7CisgICAgZm9yIChuX25vZGVzMiA9IDA7bl9ub2RlczIgPCBnZW5fbmJfeG1sTm9kZVNldFB0cjtuX25vZGVzMisrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIG5vZGVzMSA9IGdlbl94bWxOb2RlU2V0UHRyKG5fbm9kZXMxLCAwKTsKKyAgICAgICAgbm9kZXMyID0gZ2VuX3htbE5vZGVTZXRQdHIobl9ub2RlczIsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxYUGF0aFRyYWlsaW5nKG5vZGVzMSwgbm9kZXMyKTsKKyAgICAgICAgZGVzcmV0X3htbE5vZGVTZXRQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbE5vZGVTZXRQdHIobl9ub2RlczEsIG5vZGVzMSwgMCk7CisgICAgICAgIGRlc194bWxOb2RlU2V0UHRyKG5fbm9kZXMyLCBub2RlczIsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sWFBhdGhUcmFpbGluZyIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9ub2RlczEpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25vZGVzMik7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxYUGF0aFRyYWlsaW5nU29ydGVkKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sTm9kZVNldFB0ciByZXRfdmFsOworICAgIHhtbE5vZGVTZXRQdHIgbm9kZXMxOyAvKiBhIG5vZGUtc2V0LCBzb3J0ZWQgYnkgZG9jdW1lbnQgb3JkZXIgKi8KKyAgICBpbnQgbl9ub2RlczE7CisgICAgeG1sTm9kZVNldFB0ciBub2RlczI7IC8qIGEgbm9kZS1zZXQsIHNvcnRlZCBieSBkb2N1bWVudCBvcmRlciAqLworICAgIGludCBuX25vZGVzMjsKKworICAgIGZvciAobl9ub2RlczEgPSAwO25fbm9kZXMxIDwgZ2VuX25iX3htbE5vZGVTZXRQdHI7bl9ub2RlczErKykgeworICAgIGZvciAobl9ub2RlczIgPSAwO25fbm9kZXMyIDwgZ2VuX25iX3htbE5vZGVTZXRQdHI7bl9ub2RlczIrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBub2RlczEgPSBnZW5feG1sTm9kZVNldFB0cihuX25vZGVzMSwgMCk7CisgICAgICAgIG5vZGVzMiA9IGdlbl94bWxOb2RlU2V0UHRyKG5fbm9kZXMyLCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sWFBhdGhUcmFpbGluZ1NvcnRlZChub2RlczEsIG5vZGVzMik7CisgICAgICAgIGRlc3JldF94bWxOb2RlU2V0UHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxOb2RlU2V0UHRyKG5fbm9kZXMxLCBub2RlczEsIDApOworICAgICAgICBkZXNfeG1sTm9kZVNldFB0cihuX25vZGVzMiwgbm9kZXMyLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFhQYXRoVHJhaWxpbmdTb3J0ZWQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbm9kZXMxKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9ub2RlczIpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sWFBhdGhUcmFuc2xhdGVGdW5jdGlvbih2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0OyAvKiB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHh0OworICAgIGludCBuYXJnczsgLyogdGhlIG51bWJlciBvZiBhcmd1bWVudHMgKi8KKyAgICBpbnQgbl9uYXJnczsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyO25fY3R4dCsrKSB7CisgICAgZm9yIChuX25hcmdzID0gMDtuX25hcmdzIDwgZ2VuX25iX2ludDtuX25hcmdzKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3R4dCA9IGdlbl94bWxYUGF0aFBhcnNlckNvbnRleHRQdHIobl9jdHh0LCAwKTsKKyAgICAgICAgbmFyZ3MgPSBnZW5faW50KG5fbmFyZ3MsIDEpOworCisgICAgICAgIHhtbFhQYXRoVHJhbnNsYXRlRnVuY3Rpb24oY3R4dCwgbmFyZ3MpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxYUGF0aFBhcnNlckNvbnRleHRQdHIobl9jdHh0LCBjdHh0LCAwKTsKKyAgICAgICAgZGVzX2ludChuX25hcmdzLCBuYXJncywgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxYUGF0aFRyYW5zbGF0ZUZ1bmN0aW9uIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25hcmdzKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFhQYXRoVHJ1ZUZ1bmN0aW9uKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQ7IC8qIHRoZSBYUGF0aCBQYXJzZXIgY29udGV4dCAqLworICAgIGludCBuX2N0eHQ7CisgICAgaW50IG5hcmdzOyAvKiB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cyAqLworICAgIGludCBuX25hcmdzOworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxYUGF0aFBhcnNlckNvbnRleHRQdHI7bl9jdHh0KyspIHsKKyAgICBmb3IgKG5fbmFyZ3MgPSAwO25fbmFyZ3MgPCBnZW5fbmJfaW50O25fbmFyZ3MrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cihuX2N0eHQsIDApOworICAgICAgICBuYXJncyA9IGdlbl9pbnQobl9uYXJncywgMSk7CisKKyAgICAgICAgeG1sWFBhdGhUcnVlRnVuY3Rpb24oY3R4dCwgbmFyZ3MpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxYUGF0aFBhcnNlckNvbnRleHRQdHIobl9jdHh0LCBjdHh0LCAwKTsKKyAgICAgICAgZGVzX2ludChuX25hcmdzLCBuYXJncywgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxYUGF0aFRydWVGdW5jdGlvbiIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHh0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9uYXJncyk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxYUGF0aFZhbHVlRmxpcFNpZ24odm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dDsgLyogdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyO25fY3R4dCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eHQgPSBnZW5feG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKG5fY3R4dCwgMCk7CisKKyAgICAgICAgeG1sWFBhdGhWYWx1ZUZsaXBTaWduKGN0eHQpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxYUGF0aFBhcnNlckNvbnRleHRQdHIobl9jdHh0LCBjdHh0LCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFhQYXRoVmFsdWVGbGlwU2lnbiIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHh0KTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sWFBhdGhWYXJpYWJsZUxvb2t1cCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbFhQYXRoT2JqZWN0UHRyIHJldF92YWw7CisgICAgeG1sWFBhdGhDb250ZXh0UHRyIGN0eHQ7IC8qIHRoZSBYUGF0aCBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKyAgICB4bWxDaGFyICogbmFtZTsgLyogdGhlIHZhcmlhYmxlIG5hbWUgKi8KKyAgICBpbnQgbl9uYW1lOworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxYUGF0aENvbnRleHRQdHI7bl9jdHh0KyspIHsKKyAgICBmb3IgKG5fbmFtZSA9IDA7bl9uYW1lIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fbmFtZSsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eHQgPSBnZW5feG1sWFBhdGhDb250ZXh0UHRyKG5fY3R4dCwgMCk7CisgICAgICAgIG5hbWUgPSBnZW5fY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sWFBhdGhWYXJpYWJsZUxvb2t1cChjdHh0LCAoY29uc3QgeG1sQ2hhciAqKW5hbWUpOworICAgICAgICBkZXNyZXRfeG1sWFBhdGhPYmplY3RQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFhQYXRoQ29udGV4dFB0cihuX2N0eHQsIGN0eHQsIDApOworICAgICAgICBkZXNfY29uc3RfeG1sQ2hhcl9wdHIobl9uYW1lLCAoY29uc3QgeG1sQ2hhciAqKW5hbWUsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sWFBhdGhWYXJpYWJsZUxvb2t1cCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9jdHh0KTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9uYW1lKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFhQYXRoVmFyaWFibGVMb29rdXBOUyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbFhQYXRoT2JqZWN0UHRyIHJldF92YWw7CisgICAgeG1sWFBhdGhDb250ZXh0UHRyIGN0eHQ7IC8qIHRoZSBYUGF0aCBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKyAgICB4bWxDaGFyICogbmFtZTsgLyogdGhlIHZhcmlhYmxlIG5hbWUgKi8KKyAgICBpbnQgbl9uYW1lOworICAgIHhtbENoYXIgKiBuc191cmk7IC8qIHRoZSB2YXJpYWJsZSBuYW1lc3BhY2UgVVJJICovCisgICAgaW50IG5fbnNfdXJpOworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxYUGF0aENvbnRleHRQdHI7bl9jdHh0KyspIHsKKyAgICBmb3IgKG5fbmFtZSA9IDA7bl9uYW1lIDwgZ2VuX25iX2NvbnN0X3htbENoYXJfcHRyO25fbmFtZSsrKSB7CisgICAgZm9yIChuX25zX3VyaSA9IDA7bl9uc191cmkgPCBnZW5fbmJfY29uc3RfeG1sQ2hhcl9wdHI7bl9uc191cmkrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX3htbFhQYXRoQ29udGV4dFB0cihuX2N0eHQsIDApOworICAgICAgICBuYW1lID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgMSk7CisgICAgICAgIG5zX3VyaSA9IGdlbl9jb25zdF94bWxDaGFyX3B0cihuX25zX3VyaSwgMik7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFhQYXRoVmFyaWFibGVMb29rdXBOUyhjdHh0LCAoY29uc3QgeG1sQ2hhciAqKW5hbWUsIChjb25zdCB4bWxDaGFyICopbnNfdXJpKTsKKyAgICAgICAgZGVzcmV0X3htbFhQYXRoT2JqZWN0UHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxYUGF0aENvbnRleHRQdHIobl9jdHh0LCBjdHh0LCAwKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fbmFtZSwgKGNvbnN0IHhtbENoYXIgKiluYW1lLCAxKTsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fbnNfdXJpLCAoY29uc3QgeG1sQ2hhciAqKW5zX3VyaSwgMik7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxYUGF0aFZhcmlhYmxlTG9va3VwTlMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFtZSk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbnNfdXJpKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxYUGF0aFdyYXBDU3RyaW5nKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sWFBhdGhPYmplY3RQdHIgcmV0X3ZhbDsKKyAgICBjaGFyICogdmFsOyAvKiB0aGUgY2hhciAqIHZhbHVlICovCisgICAgaW50IG5fdmFsOworCisgICAgZm9yIChuX3ZhbCA9IDA7bl92YWwgPCBnZW5fbmJfY2hhcl9wdHI7bl92YWwrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICB2YWwgPSBnZW5fY2hhcl9wdHIobl92YWwsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxYUGF0aFdyYXBDU3RyaW5nKHZhbCk7CisgICAgICAgIGRlc3JldF94bWxYUGF0aE9iamVjdFB0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfY2hhcl9wdHIobl92YWwsIHZhbCwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxYUGF0aFdyYXBDU3RyaW5nIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3ZhbCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFhQYXRoV3JhcEV4dGVybmFsKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sWFBhdGhPYmplY3RQdHIgcmV0X3ZhbDsKKyAgICB2b2lkICogdmFsOyAvKiB0aGUgdXNlciBkYXRhICovCisgICAgaW50IG5fdmFsOworCisgICAgZm9yIChuX3ZhbCA9IDA7bl92YWwgPCBnZW5fbmJfdm9pZF9wdHI7bl92YWwrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICB2YWwgPSBnZW5fdm9pZF9wdHIobl92YWwsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxYUGF0aFdyYXBFeHRlcm5hbCh2YWwpOworICAgICAgICBkZXNyZXRfeG1sWFBhdGhPYmplY3RQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3ZvaWRfcHRyKG5fdmFsLCB2YWwsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sWFBhdGhXcmFwRXh0ZXJuYWwiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdmFsKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sWFBhdGhXcmFwTm9kZVNldCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1hQQVRIX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbFhQYXRoT2JqZWN0UHRyIHJldF92YWw7CisgICAgeG1sTm9kZVNldFB0ciB2YWw7IC8qIHRoZSBOb2RlUHRyIHZhbHVlICovCisgICAgaW50IG5fdmFsOworCisgICAgZm9yIChuX3ZhbCA9IDA7bl92YWwgPCBnZW5fbmJfeG1sTm9kZVNldFB0cjtuX3ZhbCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHZhbCA9IGdlbl94bWxOb2RlU2V0UHRyKG5fdmFsLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sWFBhdGhXcmFwTm9kZVNldCh2YWwpOworICAgICAgICBkZXNyZXRfeG1sWFBhdGhPYmplY3RQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbE5vZGVTZXRQdHIobl92YWwsIHZhbCwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxYUGF0aFdyYXBOb2RlU2V0IiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3ZhbCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFhQYXRoZXJyb3Iodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dDsgLyogdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKyAgICBjb25zdCBjaGFyICogZmlsZTsgLyogdGhlIGZpbGUgbmFtZSAqLworICAgIGludCBuX2ZpbGU7CisgICAgaW50IGxpbmU7IC8qIHRoZSBsaW5lIG51bWJlciAqLworICAgIGludCBuX2xpbmU7CisgICAgaW50IG5vOyAvKiB0aGUgZXJyb3IgbnVtYmVyICovCisgICAgaW50IG5fbm87CisKKyAgICBmb3IgKG5fY3R4dCA9IDA7bl9jdHh0IDwgZ2VuX25iX3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cjtuX2N0eHQrKykgeworICAgIGZvciAobl9maWxlID0gMDtuX2ZpbGUgPCBnZW5fbmJfZmlsZXBhdGg7bl9maWxlKyspIHsKKyAgICBmb3IgKG5fbGluZSA9IDA7bl9saW5lIDwgZ2VuX25iX2ludDtuX2xpbmUrKykgeworICAgIGZvciAobl9ubyA9IDA7bl9ubyA8IGdlbl9uYl9pbnQ7bl9ubysrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eHQgPSBnZW5feG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKG5fY3R4dCwgMCk7CisgICAgICAgIGZpbGUgPSBnZW5fZmlsZXBhdGgobl9maWxlLCAxKTsKKyAgICAgICAgbGluZSA9IGdlbl9pbnQobl9saW5lLCAyKTsKKyAgICAgICAgbm8gPSBnZW5faW50KG5fbm8sIDMpOworCisgICAgICAgIHhtbFhQYXRoZXJyb3IoY3R4dCwgZmlsZSwgbGluZSwgbm8pOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxYUGF0aFBhcnNlckNvbnRleHRQdHIobl9jdHh0LCBjdHh0LCAwKTsKKyAgICAgICAgZGVzX2ZpbGVwYXRoKG5fZmlsZSwgZmlsZSwgMSk7CisgICAgICAgIGRlc19pbnQobl9saW5lLCBsaW5lLCAyKTsKKyAgICAgICAgZGVzX2ludChuX25vLCBubywgMyk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxYUGF0aGVycm9yIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2ZpbGUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2xpbmUpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX25vKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCitzdGF0aWMgaW50Cit0ZXN0X3hwYXRoSW50ZXJuYWxzKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisgICAgaWYgKHF1aWV0ID09IDApIHByaW50ZigiVGVzdGluZyB4cGF0aEludGVybmFscyA6IDEwNiBvZiAxMTcgZnVuY3Rpb25zIC4uLlxuIik7CisgICAgdGVzdF9yZXQgKz0gdGVzdF92YWx1ZVBvcCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfdmFsdWVQdXNoKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUGF0aEFkZFZhbHVlcygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sWFBhdGhCb29sZWFuRnVuY3Rpb24oKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFhQYXRoQ2VpbGluZ0Z1bmN0aW9uKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUGF0aENvbXBhcmVWYWx1ZXMoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFhQYXRoQ29uY2F0RnVuY3Rpb24oKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFhQYXRoQ29udGFpbnNGdW5jdGlvbigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sWFBhdGhDb3VudEZ1bmN0aW9uKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUGF0aERlYnVnRHVtcENvbXBFeHByKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUGF0aERlYnVnRHVtcE9iamVjdCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sWFBhdGhEaWZmZXJlbmNlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUGF0aERpc3RpbmN0KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUGF0aERpc3RpbmN0U29ydGVkKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUGF0aERpdlZhbHVlcygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sWFBhdGhFcXVhbFZhbHVlcygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sWFBhdGhFcnIoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFhQYXRoRXZhbEV4cHIoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFhQYXRoRXZhbHVhdGVQcmVkaWNhdGVSZXN1bHQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFhQYXRoRmFsc2VGdW5jdGlvbigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sWFBhdGhGbG9vckZ1bmN0aW9uKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUGF0aEZ1bmN0aW9uTG9va3VwKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUGF0aEZ1bmN0aW9uTG9va3VwTlMoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFhQYXRoSGFzU2FtZU5vZGVzKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUGF0aElkRnVuY3Rpb24oKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFhQYXRoSW50ZXJzZWN0aW9uKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUGF0aElzTm9kZVR5cGUoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFhQYXRoTGFuZ0Z1bmN0aW9uKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUGF0aExhc3RGdW5jdGlvbigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sWFBhdGhMZWFkaW5nKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUGF0aExlYWRpbmdTb3J0ZWQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFhQYXRoTG9jYWxOYW1lRnVuY3Rpb24oKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFhQYXRoTW9kVmFsdWVzKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUGF0aE11bHRWYWx1ZXMoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFhQYXRoTmFtZXNwYWNlVVJJRnVuY3Rpb24oKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFhQYXRoTmV3Qm9vbGVhbigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sWFBhdGhOZXdDU3RyaW5nKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUGF0aE5ld0Zsb2F0KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUGF0aE5ld05vZGVTZXQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFhQYXRoTmV3Tm9kZVNldExpc3QoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFhQYXRoTmV3UGFyc2VyQ29udGV4dCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sWFBhdGhOZXdTdHJpbmcoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFhQYXRoTmV4dEFuY2VzdG9yKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUGF0aE5leHRBbmNlc3Rvck9yU2VsZigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sWFBhdGhOZXh0QXR0cmlidXRlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUGF0aE5leHRDaGlsZCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sWFBhdGhOZXh0RGVzY2VuZGFudCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sWFBhdGhOZXh0RGVzY2VuZGFudE9yU2VsZigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sWFBhdGhOZXh0Rm9sbG93aW5nKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUGF0aE5leHRGb2xsb3dpbmdTaWJsaW5nKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUGF0aE5leHROYW1lc3BhY2UoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFhQYXRoTmV4dFBhcmVudCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sWFBhdGhOZXh0UHJlY2VkaW5nKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUGF0aE5leHRQcmVjZWRpbmdTaWJsaW5nKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUGF0aE5leHRTZWxmKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUGF0aE5vZGVMZWFkaW5nKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUGF0aE5vZGVMZWFkaW5nU29ydGVkKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUGF0aE5vZGVTZXRBZGQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFhQYXRoTm9kZVNldEFkZE5zKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUGF0aE5vZGVTZXRBZGRVbmlxdWUoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFhQYXRoTm9kZVNldENvbnRhaW5zKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUGF0aE5vZGVTZXREZWwoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFhQYXRoTm9kZVNldE1lcmdlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUGF0aE5vZGVTZXRSZW1vdmUoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFhQYXRoTm9kZVNldFNvcnQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFhQYXRoTm9kZVRyYWlsaW5nKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUGF0aE5vZGVUcmFpbGluZ1NvcnRlZCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sWFBhdGhOb3JtYWxpemVGdW5jdGlvbigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sWFBhdGhOb3RFcXVhbFZhbHVlcygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sWFBhdGhOb3RGdW5jdGlvbigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sWFBhdGhOc0xvb2t1cCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sWFBhdGhOdW1iZXJGdW5jdGlvbigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sWFBhdGhQYXJzZU5DTmFtZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sWFBhdGhQYXJzZU5hbWUoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFhQYXRoUG9wQm9vbGVhbigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sWFBhdGhQb3BFeHRlcm5hbCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sWFBhdGhQb3BOb2RlU2V0KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUGF0aFBvcE51bWJlcigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sWFBhdGhQb3BTdHJpbmcoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFhQYXRoUG9zaXRpb25GdW5jdGlvbigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sWFBhdGhSZWdpc3RlckFsbEZ1bmN0aW9ucygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sWFBhdGhSZWdpc3RlckZ1bmMoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFhQYXRoUmVnaXN0ZXJGdW5jTG9va3VwKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUGF0aFJlZ2lzdGVyRnVuY05TKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUGF0aFJlZ2lzdGVyTnMoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlTG9va3VwKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGVOUygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sWFBhdGhSZWdpc3RlcmVkRnVuY3NDbGVhbnVwKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUGF0aFJlZ2lzdGVyZWROc0NsZWFudXAoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFhQYXRoUmVnaXN0ZXJlZFZhcmlhYmxlc0NsZWFudXAoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFhQYXRoUm9vdCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sWFBhdGhSb3VuZEZ1bmN0aW9uKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUGF0aFN0YXJ0c1dpdGhGdW5jdGlvbigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sWFBhdGhTdHJpbmdFdmFsTnVtYmVyKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUGF0aFN0cmluZ0Z1bmN0aW9uKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUGF0aFN0cmluZ0xlbmd0aEZ1bmN0aW9uKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUGF0aFN1YlZhbHVlcygpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sWFBhdGhTdWJzdHJpbmdBZnRlckZ1bmN0aW9uKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUGF0aFN1YnN0cmluZ0JlZm9yZUZ1bmN0aW9uKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUGF0aFN1YnN0cmluZ0Z1bmN0aW9uKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUGF0aFN1bUZ1bmN0aW9uKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUGF0aFRyYWlsaW5nKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUGF0aFRyYWlsaW5nU29ydGVkKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUGF0aFRyYW5zbGF0ZUZ1bmN0aW9uKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUGF0aFRydWVGdW5jdGlvbigpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sWFBhdGhWYWx1ZUZsaXBTaWduKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUGF0aFZhcmlhYmxlTG9va3VwKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUGF0aFZhcmlhYmxlTG9va3VwTlMoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFhQYXRoV3JhcENTdHJpbmcoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFhQYXRoV3JhcEV4dGVybmFsKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUGF0aFdyYXBOb2RlU2V0KCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUGF0aGVycm9yKCk7CisKKyAgICBpZiAodGVzdF9yZXQgIT0gMCkKKwlwcmludGYoIk1vZHVsZSB4cGF0aEludGVybmFsczogJWQgZXJyb3JzXG4iLCB0ZXN0X3JldCk7CisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworc3RhdGljIGludAordGVzdF94bWxYUHRyQnVpbGROb2RlTGlzdCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1hQVFJfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sTm9kZVB0ciByZXRfdmFsOworICAgIHhtbFhQYXRoT2JqZWN0UHRyIG9iajsgLyogdGhlIFhQb2ludGVyIHJlc3VsdCBmcm9tIHRoZSBldmFsdWF0aW9uLiAqLworICAgIGludCBuX29iajsKKworICAgIGZvciAobl9vYmogPSAwO25fb2JqIDwgZ2VuX25iX3htbFhQYXRoT2JqZWN0UHRyO25fb2JqKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgb2JqID0gZ2VuX3htbFhQYXRoT2JqZWN0UHRyKG5fb2JqLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sWFB0ckJ1aWxkTm9kZUxpc3Qob2JqKTsKKyAgICAgICAgZGVzcmV0X3htbE5vZGVQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFhQYXRoT2JqZWN0UHRyKG5fb2JqLCBvYmosIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sWFB0ckJ1aWxkTm9kZUxpc3QiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fb2JqKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sWFB0ckV2YWwodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUFRSX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbFhQYXRoT2JqZWN0UHRyIHJldF92YWw7CisgICAgeG1sQ2hhciAqIHN0cjsgLyogdGhlIFhQb2ludGVyIGV4cHJlc3Npb24gKi8KKyAgICBpbnQgbl9zdHI7CisgICAgeG1sWFBhdGhDb250ZXh0UHRyIGN0eDsgLyogdGhlIFhQb2ludGVyIGNvbnRleHQgKi8KKyAgICBpbnQgbl9jdHg7CisKKyAgICBmb3IgKG5fc3RyID0gMDtuX3N0ciA8IGdlbl9uYl9jb25zdF94bWxDaGFyX3B0cjtuX3N0cisrKSB7CisgICAgZm9yIChuX2N0eCA9IDA7bl9jdHggPCBnZW5fbmJfeG1sWFBhdGhDb250ZXh0UHRyO25fY3R4KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgc3RyID0gZ2VuX2NvbnN0X3htbENoYXJfcHRyKG5fc3RyLCAwKTsKKyAgICAgICAgY3R4ID0gZ2VuX3htbFhQYXRoQ29udGV4dFB0cihuX2N0eCwgMSk7CisKKyAgICAgICAgcmV0X3ZhbCA9IHhtbFhQdHJFdmFsKChjb25zdCB4bWxDaGFyICopc3RyLCBjdHgpOworICAgICAgICBkZXNyZXRfeG1sWFBhdGhPYmplY3RQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX2NvbnN0X3htbENoYXJfcHRyKG5fc3RyLCAoY29uc3QgeG1sQ2hhciAqKXN0ciwgMCk7CisgICAgICAgIGRlc194bWxYUGF0aENvbnRleHRQdHIobl9jdHgsIGN0eCwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxYUHRyRXZhbCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9zdHIpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxYUHRyRXZhbFJhbmdlUHJlZGljYXRlKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfWFBUUl9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dDsgLyogdGhlIFhQb2ludGVyIFBhcnNlciBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKworICAgIGZvciAobl9jdHh0ID0gMDtuX2N0eHQgPCBnZW5fbmJfeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyO25fY3R4dCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIGN0eHQgPSBnZW5feG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKG5fY3R4dCwgMCk7CisKKyAgICAgICAgeG1sWFB0ckV2YWxSYW5nZVByZWRpY2F0ZShjdHh0KTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyKG5fY3R4dCwgY3R4dCwgMCk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxYUHRyRXZhbFJhbmdlUHJlZGljYXRlIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N0eHQpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKyNpZmRlZiBMSUJYTUxfWFBUUl9FTkFCTEVECisKKyNkZWZpbmUgZ2VuX25iX3htbExvY2F0aW9uU2V0UHRyIDEKK3N0YXRpYyB4bWxMb2NhdGlvblNldFB0ciBnZW5feG1sTG9jYXRpb25TZXRQdHIoaW50IG5vIEFUVFJJQlVURV9VTlVTRUQsIGludCBuciBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgcmV0dXJuKE5VTEwpOworfQorc3RhdGljIHZvaWQgZGVzX3htbExvY2F0aW9uU2V0UHRyKGludCBubyBBVFRSSUJVVEVfVU5VU0VELCB4bWxMb2NhdGlvblNldFB0ciB2YWwgQVRUUklCVVRFX1VOVVNFRCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpIHsKK30KKyNlbmRpZgorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sWFB0ckxvY2F0aW9uU2V0QWRkKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfWFBUUl9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxMb2NhdGlvblNldFB0ciBjdXI7IC8qIHRoZSBpbml0aWFsIHJhbmdlIHNldCAqLworICAgIGludCBuX2N1cjsKKyAgICB4bWxYUGF0aE9iamVjdFB0ciB2YWw7IC8qIGEgbmV3IHhtbFhQYXRoT2JqZWN0UHRyICovCisgICAgaW50IG5fdmFsOworCisgICAgZm9yIChuX2N1ciA9IDA7bl9jdXIgPCBnZW5fbmJfeG1sTG9jYXRpb25TZXRQdHI7bl9jdXIrKykgeworICAgIGZvciAobl92YWwgPSAwO25fdmFsIDwgZ2VuX25iX3htbFhQYXRoT2JqZWN0UHRyO25fdmFsKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3VyID0gZ2VuX3htbExvY2F0aW9uU2V0UHRyKG5fY3VyLCAwKTsKKyAgICAgICAgdmFsID0gZ2VuX3htbFhQYXRoT2JqZWN0UHRyKG5fdmFsLCAxKTsKKworICAgICAgICB4bWxYUHRyTG9jYXRpb25TZXRBZGQoY3VyLCB2YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxMb2NhdGlvblNldFB0cihuX2N1ciwgY3VyLCAwKTsKKyAgICAgICAgZGVzX3htbFhQYXRoT2JqZWN0UHRyKG5fdmFsLCB2YWwsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sWFB0ckxvY2F0aW9uU2V0QWRkIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N1cik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdmFsKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFhQdHJMb2NhdGlvblNldENyZWF0ZSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworCisgICAgLyogbWlzc2luZyB0eXBlIHN1cHBvcnQgKi8KKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sWFB0ckxvY2F0aW9uU2V0RGVsKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfWFBUUl9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxMb2NhdGlvblNldFB0ciBjdXI7IC8qIHRoZSBpbml0aWFsIHJhbmdlIHNldCAqLworICAgIGludCBuX2N1cjsKKyAgICB4bWxYUGF0aE9iamVjdFB0ciB2YWw7IC8qIGFuIHhtbFhQYXRoT2JqZWN0UHRyICovCisgICAgaW50IG5fdmFsOworCisgICAgZm9yIChuX2N1ciA9IDA7bl9jdXIgPCBnZW5fbmJfeG1sTG9jYXRpb25TZXRQdHI7bl9jdXIrKykgeworICAgIGZvciAobl92YWwgPSAwO25fdmFsIDwgZ2VuX25iX3htbFhQYXRoT2JqZWN0UHRyO25fdmFsKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3VyID0gZ2VuX3htbExvY2F0aW9uU2V0UHRyKG5fY3VyLCAwKTsKKyAgICAgICAgdmFsID0gZ2VuX3htbFhQYXRoT2JqZWN0UHRyKG5fdmFsLCAxKTsKKworICAgICAgICB4bWxYUHRyTG9jYXRpb25TZXREZWwoY3VyLCB2YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxMb2NhdGlvblNldFB0cihuX2N1ciwgY3VyLCAwKTsKKyAgICAgICAgZGVzX3htbFhQYXRoT2JqZWN0UHRyKG5fdmFsLCB2YWwsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sWFB0ckxvY2F0aW9uU2V0RGVsIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2N1cik7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fdmFsKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFhQdHJMb2NhdGlvblNldE1lcmdlKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisKKyAgICAvKiBtaXNzaW5nIHR5cGUgc3VwcG9ydCAqLworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxYUHRyTG9jYXRpb25TZXRSZW1vdmUodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUFRSX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbExvY2F0aW9uU2V0UHRyIGN1cjsgLyogdGhlIGluaXRpYWwgcmFuZ2Ugc2V0ICovCisgICAgaW50IG5fY3VyOworICAgIGludCB2YWw7IC8qIHRoZSBpbmRleCB0byByZW1vdmUgKi8KKyAgICBpbnQgbl92YWw7CisKKyAgICBmb3IgKG5fY3VyID0gMDtuX2N1ciA8IGdlbl9uYl94bWxMb2NhdGlvblNldFB0cjtuX2N1cisrKSB7CisgICAgZm9yIChuX3ZhbCA9IDA7bl92YWwgPCBnZW5fbmJfaW50O25fdmFsKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgY3VyID0gZ2VuX3htbExvY2F0aW9uU2V0UHRyKG5fY3VyLCAwKTsKKyAgICAgICAgdmFsID0gZ2VuX2ludChuX3ZhbCwgMSk7CisKKyAgICAgICAgeG1sWFB0ckxvY2F0aW9uU2V0UmVtb3ZlKGN1ciwgdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sTG9jYXRpb25TZXRQdHIobl9jdXIsIGN1ciwgMCk7CisgICAgICAgIGRlc19pbnQobl92YWwsIHZhbCwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxYUHRyTG9jYXRpb25TZXRSZW1vdmUiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3VyKTsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl92YWwpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sWFB0ck5ld0NvbGxhcHNlZFJhbmdlKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfWFBUUl9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxYUGF0aE9iamVjdFB0ciByZXRfdmFsOworICAgIHhtbE5vZGVQdHIgc3RhcnQ7IC8qIHRoZSBzdGFydGluZyBhbmQgZW5kaW5nIG5vZGUgKi8KKyAgICBpbnQgbl9zdGFydDsKKworICAgIGZvciAobl9zdGFydCA9IDA7bl9zdGFydCA8IGdlbl9uYl94bWxOb2RlUHRyO25fc3RhcnQrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBzdGFydCA9IGdlbl94bWxOb2RlUHRyKG5fc3RhcnQsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxYUHRyTmV3Q29sbGFwc2VkUmFuZ2Uoc3RhcnQpOworICAgICAgICBkZXNyZXRfeG1sWFBhdGhPYmplY3RQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl9zdGFydCwgc3RhcnQsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sWFB0ck5ld0NvbGxhcHNlZFJhbmdlIiwKKwkgICAgICAgICAgIHhtbE1lbUJsb2NrcygpIC0gbWVtX2Jhc2UpOworCSAgICB0ZXN0X3JldCsrOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3N0YXJ0KTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sWFB0ck5ld0NvbnRleHQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKworICAgIC8qIG1pc3NpbmcgdHlwZSBzdXBwb3J0ICovCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFhQdHJOZXdMb2NhdGlvblNldE5vZGVTZXQodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUFRSX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbFhQYXRoT2JqZWN0UHRyIHJldF92YWw7CisgICAgeG1sTm9kZVNldFB0ciBzZXQ7IC8qIGEgbm9kZSBzZXQgKi8KKyAgICBpbnQgbl9zZXQ7CisKKyAgICBmb3IgKG5fc2V0ID0gMDtuX3NldCA8IGdlbl9uYl94bWxOb2RlU2V0UHRyO25fc2V0KyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgc2V0ID0gZ2VuX3htbE5vZGVTZXRQdHIobl9zZXQsIDApOworCisgICAgICAgIHJldF92YWwgPSB4bWxYUHRyTmV3TG9jYXRpb25TZXROb2RlU2V0KHNldCk7CisgICAgICAgIGRlc3JldF94bWxYUGF0aE9iamVjdFB0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sTm9kZVNldFB0cihuX3NldCwgc2V0LCAwKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFhQdHJOZXdMb2NhdGlvblNldE5vZGVTZXQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fc2V0KTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sWFB0ck5ld0xvY2F0aW9uU2V0Tm9kZXModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUFRSX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbFhQYXRoT2JqZWN0UHRyIHJldF92YWw7CisgICAgeG1sTm9kZVB0ciBzdGFydDsgLyogdGhlIHN0YXJ0IE5vZGVQdHIgdmFsdWUgKi8KKyAgICBpbnQgbl9zdGFydDsKKyAgICB4bWxOb2RlUHRyIGVuZDsgLyogdGhlIGVuZCBOb2RlUHRyIHZhbHVlIG9yIE5VTEwgKi8KKyAgICBpbnQgbl9lbmQ7CisKKyAgICBmb3IgKG5fc3RhcnQgPSAwO25fc3RhcnQgPCBnZW5fbmJfeG1sTm9kZVB0cjtuX3N0YXJ0KyspIHsKKyAgICBmb3IgKG5fZW5kID0gMDtuX2VuZCA8IGdlbl9uYl94bWxOb2RlUHRyO25fZW5kKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgc3RhcnQgPSBnZW5feG1sTm9kZVB0cihuX3N0YXJ0LCAwKTsKKyAgICAgICAgZW5kID0gZ2VuX3htbE5vZGVQdHIobl9lbmQsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxYUHRyTmV3TG9jYXRpb25TZXROb2RlcyhzdGFydCwgZW5kKTsKKyAgICAgICAgZGVzcmV0X3htbFhQYXRoT2JqZWN0UHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxOb2RlUHRyKG5fc3RhcnQsIHN0YXJ0LCAwKTsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl9lbmQsIGVuZCwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxYUHRyTmV3TG9jYXRpb25TZXROb2RlcyIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9zdGFydCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZW5kKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFhQdHJOZXdSYW5nZSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1hQVFJfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sWFBhdGhPYmplY3RQdHIgcmV0X3ZhbDsKKyAgICB4bWxOb2RlUHRyIHN0YXJ0OyAvKiB0aGUgc3RhcnRpbmcgbm9kZSAqLworICAgIGludCBuX3N0YXJ0OworICAgIGludCBzdGFydGluZGV4OyAvKiB0aGUgc3RhcnQgaW5kZXggKi8KKyAgICBpbnQgbl9zdGFydGluZGV4OworICAgIHhtbE5vZGVQdHIgZW5kOyAvKiB0aGUgZW5kaW5nIHBvaW50ICovCisgICAgaW50IG5fZW5kOworICAgIGludCBlbmRpbmRleDsgLyogdGhlIGVuZGluZyBpbmRleCAqLworICAgIGludCBuX2VuZGluZGV4OworCisgICAgZm9yIChuX3N0YXJ0ID0gMDtuX3N0YXJ0IDwgZ2VuX25iX3htbE5vZGVQdHI7bl9zdGFydCsrKSB7CisgICAgZm9yIChuX3N0YXJ0aW5kZXggPSAwO25fc3RhcnRpbmRleCA8IGdlbl9uYl9pbnQ7bl9zdGFydGluZGV4KyspIHsKKyAgICBmb3IgKG5fZW5kID0gMDtuX2VuZCA8IGdlbl9uYl94bWxOb2RlUHRyO25fZW5kKyspIHsKKyAgICBmb3IgKG5fZW5kaW5kZXggPSAwO25fZW5kaW5kZXggPCBnZW5fbmJfaW50O25fZW5kaW5kZXgrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBzdGFydCA9IGdlbl94bWxOb2RlUHRyKG5fc3RhcnQsIDApOworICAgICAgICBzdGFydGluZGV4ID0gZ2VuX2ludChuX3N0YXJ0aW5kZXgsIDEpOworICAgICAgICBlbmQgPSBnZW5feG1sTm9kZVB0cihuX2VuZCwgMik7CisgICAgICAgIGVuZGluZGV4ID0gZ2VuX2ludChuX2VuZGluZGV4LCAzKTsKKworICAgICAgICByZXRfdmFsID0geG1sWFB0ck5ld1JhbmdlKHN0YXJ0LCBzdGFydGluZGV4LCBlbmQsIGVuZGluZGV4KTsKKyAgICAgICAgZGVzcmV0X3htbFhQYXRoT2JqZWN0UHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxOb2RlUHRyKG5fc3RhcnQsIHN0YXJ0LCAwKTsKKyAgICAgICAgZGVzX2ludChuX3N0YXJ0aW5kZXgsIHN0YXJ0aW5kZXgsIDEpOworICAgICAgICBkZXNfeG1sTm9kZVB0cihuX2VuZCwgZW5kLCAyKTsKKyAgICAgICAgZGVzX2ludChuX2VuZGluZGV4LCBlbmRpbmRleCwgMyk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxYUHRyTmV3UmFuZ2UiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fc3RhcnQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX3N0YXJ0aW5kZXgpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2VuZCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZW5kaW5kZXgpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxYUHRyTmV3UmFuZ2VOb2RlT2JqZWN0KHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfWFBUUl9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxYUGF0aE9iamVjdFB0ciByZXRfdmFsOworICAgIHhtbE5vZGVQdHIgc3RhcnQ7IC8qIHRoZSBzdGFydGluZyBub2RlICovCisgICAgaW50IG5fc3RhcnQ7CisgICAgeG1sWFBhdGhPYmplY3RQdHIgZW5kOyAvKiB0aGUgZW5kaW5nIG9iamVjdCAqLworICAgIGludCBuX2VuZDsKKworICAgIGZvciAobl9zdGFydCA9IDA7bl9zdGFydCA8IGdlbl9uYl94bWxOb2RlUHRyO25fc3RhcnQrKykgeworICAgIGZvciAobl9lbmQgPSAwO25fZW5kIDwgZ2VuX25iX3htbFhQYXRoT2JqZWN0UHRyO25fZW5kKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgc3RhcnQgPSBnZW5feG1sTm9kZVB0cihuX3N0YXJ0LCAwKTsKKyAgICAgICAgZW5kID0gZ2VuX3htbFhQYXRoT2JqZWN0UHRyKG5fZW5kLCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sWFB0ck5ld1JhbmdlTm9kZU9iamVjdChzdGFydCwgZW5kKTsKKyAgICAgICAgZGVzcmV0X3htbFhQYXRoT2JqZWN0UHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxOb2RlUHRyKG5fc3RhcnQsIHN0YXJ0LCAwKTsKKyAgICAgICAgZGVzX3htbFhQYXRoT2JqZWN0UHRyKG5fZW5kLCBlbmQsIDEpOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sWFB0ck5ld1JhbmdlTm9kZU9iamVjdCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9zdGFydCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZW5kKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFhQdHJOZXdSYW5nZU5vZGVQb2ludCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1hQVFJfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sWFBhdGhPYmplY3RQdHIgcmV0X3ZhbDsKKyAgICB4bWxOb2RlUHRyIHN0YXJ0OyAvKiB0aGUgc3RhcnRpbmcgbm9kZSAqLworICAgIGludCBuX3N0YXJ0OworICAgIHhtbFhQYXRoT2JqZWN0UHRyIGVuZDsgLyogdGhlIGVuZGluZyBwb2ludCAqLworICAgIGludCBuX2VuZDsKKworICAgIGZvciAobl9zdGFydCA9IDA7bl9zdGFydCA8IGdlbl9uYl94bWxOb2RlUHRyO25fc3RhcnQrKykgeworICAgIGZvciAobl9lbmQgPSAwO25fZW5kIDwgZ2VuX25iX3htbFhQYXRoT2JqZWN0UHRyO25fZW5kKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgc3RhcnQgPSBnZW5feG1sTm9kZVB0cihuX3N0YXJ0LCAwKTsKKyAgICAgICAgZW5kID0gZ2VuX3htbFhQYXRoT2JqZWN0UHRyKG5fZW5kLCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sWFB0ck5ld1JhbmdlTm9kZVBvaW50KHN0YXJ0LCBlbmQpOworICAgICAgICBkZXNyZXRfeG1sWFBhdGhPYmplY3RQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl9zdGFydCwgc3RhcnQsIDApOworICAgICAgICBkZXNfeG1sWFBhdGhPYmplY3RQdHIobl9lbmQsIGVuZCwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxYUHRyTmV3UmFuZ2VOb2RlUG9pbnQiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fc3RhcnQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2VuZCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxYUHRyTmV3UmFuZ2VOb2Rlcyh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1hQVFJfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sWFBhdGhPYmplY3RQdHIgcmV0X3ZhbDsKKyAgICB4bWxOb2RlUHRyIHN0YXJ0OyAvKiB0aGUgc3RhcnRpbmcgbm9kZSAqLworICAgIGludCBuX3N0YXJ0OworICAgIHhtbE5vZGVQdHIgZW5kOyAvKiB0aGUgZW5kaW5nIG5vZGUgKi8KKyAgICBpbnQgbl9lbmQ7CisKKyAgICBmb3IgKG5fc3RhcnQgPSAwO25fc3RhcnQgPCBnZW5fbmJfeG1sTm9kZVB0cjtuX3N0YXJ0KyspIHsKKyAgICBmb3IgKG5fZW5kID0gMDtuX2VuZCA8IGdlbl9uYl94bWxOb2RlUHRyO25fZW5kKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgc3RhcnQgPSBnZW5feG1sTm9kZVB0cihuX3N0YXJ0LCAwKTsKKyAgICAgICAgZW5kID0gZ2VuX3htbE5vZGVQdHIobl9lbmQsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxYUHRyTmV3UmFuZ2VOb2RlcyhzdGFydCwgZW5kKTsKKyAgICAgICAgZGVzcmV0X3htbFhQYXRoT2JqZWN0UHRyKHJldF92YWwpOworICAgICAgICBjYWxsX3Rlc3RzKys7CisgICAgICAgIGRlc194bWxOb2RlUHRyKG5fc3RhcnQsIHN0YXJ0LCAwKTsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl9lbmQsIGVuZCwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxYUHRyTmV3UmFuZ2VOb2RlcyIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl9zdGFydCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fZW5kKTsKKyAgICAgICAgICAgIHByaW50ZigiXG4iKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB9CisgICAgZnVuY3Rpb25fdGVzdHMrKzsKKyNlbmRpZgorCisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KKworCitzdGF0aWMgaW50Cit0ZXN0X3htbFhQdHJOZXdSYW5nZVBvaW50Tm9kZSh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1hQVFJfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sWFBhdGhPYmplY3RQdHIgcmV0X3ZhbDsKKyAgICB4bWxYUGF0aE9iamVjdFB0ciBzdGFydDsgLyogdGhlIHN0YXJ0aW5nIHBvaW50ICovCisgICAgaW50IG5fc3RhcnQ7CisgICAgeG1sTm9kZVB0ciBlbmQ7IC8qIHRoZSBlbmRpbmcgbm9kZSAqLworICAgIGludCBuX2VuZDsKKworICAgIGZvciAobl9zdGFydCA9IDA7bl9zdGFydCA8IGdlbl9uYl94bWxYUGF0aE9iamVjdFB0cjtuX3N0YXJ0KyspIHsKKyAgICBmb3IgKG5fZW5kID0gMDtuX2VuZCA8IGdlbl9uYl94bWxOb2RlUHRyO25fZW5kKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgc3RhcnQgPSBnZW5feG1sWFBhdGhPYmplY3RQdHIobl9zdGFydCwgMCk7CisgICAgICAgIGVuZCA9IGdlbl94bWxOb2RlUHRyKG5fZW5kLCAxKTsKKworICAgICAgICByZXRfdmFsID0geG1sWFB0ck5ld1JhbmdlUG9pbnROb2RlKHN0YXJ0LCBlbmQpOworICAgICAgICBkZXNyZXRfeG1sWFBhdGhPYmplY3RQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFhQYXRoT2JqZWN0UHRyKG5fc3RhcnQsIHN0YXJ0LCAwKTsKKyAgICAgICAgZGVzX3htbE5vZGVQdHIobl9lbmQsIGVuZCwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxYUHRyTmV3UmFuZ2VQb2ludE5vZGUiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fc3RhcnQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2VuZCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxYUHRyTmV3UmFuZ2VQb2ludHModm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUFRSX0VOQUJMRUQpCisgICAgaW50IG1lbV9iYXNlOworICAgIHhtbFhQYXRoT2JqZWN0UHRyIHJldF92YWw7CisgICAgeG1sWFBhdGhPYmplY3RQdHIgc3RhcnQ7IC8qIHRoZSBzdGFydGluZyBwb2ludCAqLworICAgIGludCBuX3N0YXJ0OworICAgIHhtbFhQYXRoT2JqZWN0UHRyIGVuZDsgLyogdGhlIGVuZGluZyBwb2ludCAqLworICAgIGludCBuX2VuZDsKKworICAgIGZvciAobl9zdGFydCA9IDA7bl9zdGFydCA8IGdlbl9uYl94bWxYUGF0aE9iamVjdFB0cjtuX3N0YXJ0KyspIHsKKyAgICBmb3IgKG5fZW5kID0gMDtuX2VuZCA8IGdlbl9uYl94bWxYUGF0aE9iamVjdFB0cjtuX2VuZCsrKSB7CisgICAgICAgIG1lbV9iYXNlID0geG1sTWVtQmxvY2tzKCk7CisgICAgICAgIHN0YXJ0ID0gZ2VuX3htbFhQYXRoT2JqZWN0UHRyKG5fc3RhcnQsIDApOworICAgICAgICBlbmQgPSBnZW5feG1sWFBhdGhPYmplY3RQdHIobl9lbmQsIDEpOworCisgICAgICAgIHJldF92YWwgPSB4bWxYUHRyTmV3UmFuZ2VQb2ludHMoc3RhcnQsIGVuZCk7CisgICAgICAgIGRlc3JldF94bWxYUGF0aE9iamVjdFB0cihyZXRfdmFsKTsKKyAgICAgICAgY2FsbF90ZXN0cysrOworICAgICAgICBkZXNfeG1sWFBhdGhPYmplY3RQdHIobl9zdGFydCwgc3RhcnQsIDApOworICAgICAgICBkZXNfeG1sWFBhdGhPYmplY3RQdHIobl9lbmQsIGVuZCwgMSk7CisgICAgICAgIHhtbFJlc2V0TGFzdEVycm9yKCk7CisgICAgICAgIGlmIChtZW1fYmFzZSAhPSB4bWxNZW1CbG9ja3MoKSkgeworICAgICAgICAgICAgcHJpbnRmKCJMZWFrIG9mICVkIGJsb2NrcyBmb3VuZCBpbiB4bWxYUHRyTmV3UmFuZ2VQb2ludHMiLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fc3RhcnQpOworICAgICAgICAgICAgcHJpbnRmKCIgJWQiLCBuX2VuZCk7CisgICAgICAgICAgICBwcmludGYoIlxuIik7CisgICAgICAgIH0KKyAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKKworc3RhdGljIGludAordGVzdF94bWxYUHRyUmFuZ2VUb0Z1bmN0aW9uKHZvaWQpIHsKKyAgICBpbnQgdGVzdF9yZXQgPSAwOworCisjaWYgZGVmaW5lZChMSUJYTUxfWFBUUl9FTkFCTEVEKQorICAgIGludCBtZW1fYmFzZTsKKyAgICB4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dDsgLyogdGhlIFhQb2ludGVyIFBhcnNlciBjb250ZXh0ICovCisgICAgaW50IG5fY3R4dDsKKyAgICBpbnQgbmFyZ3M7IC8qIHRoZSBudW1iZXIgb2YgYXJncyAqLworICAgIGludCBuX25hcmdzOworCisgICAgZm9yIChuX2N0eHQgPSAwO25fY3R4dCA8IGdlbl9uYl94bWxYUGF0aFBhcnNlckNvbnRleHRQdHI7bl9jdHh0KyspIHsKKyAgICBmb3IgKG5fbmFyZ3MgPSAwO25fbmFyZ3MgPCBnZW5fbmJfaW50O25fbmFyZ3MrKykgeworICAgICAgICBtZW1fYmFzZSA9IHhtbE1lbUJsb2NrcygpOworICAgICAgICBjdHh0ID0gZ2VuX3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cihuX2N0eHQsIDApOworICAgICAgICBuYXJncyA9IGdlbl9pbnQobl9uYXJncywgMSk7CisKKyAgICAgICAgeG1sWFB0clJhbmdlVG9GdW5jdGlvbihjdHh0LCBuYXJncyk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cihuX2N0eHQsIGN0eHQsIDApOworICAgICAgICBkZXNfaW50KG5fbmFyZ3MsIG5hcmdzLCAxKTsKKyAgICAgICAgeG1sUmVzZXRMYXN0RXJyb3IoKTsKKyAgICAgICAgaWYgKG1lbV9iYXNlICE9IHhtbE1lbUJsb2NrcygpKSB7CisgICAgICAgICAgICBwcmludGYoIkxlYWsgb2YgJWQgYmxvY2tzIGZvdW5kIGluIHhtbFhQdHJSYW5nZVRvRnVuY3Rpb24iLAorCSAgICAgICAgICAgeG1sTWVtQmxvY2tzKCkgLSBtZW1fYmFzZSk7CisJICAgIHRlc3RfcmV0Kys7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fY3R4dCk7CisgICAgICAgICAgICBwcmludGYoIiAlZCIsIG5fbmFyZ3MpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIH0KKyAgICBmdW5jdGlvbl90ZXN0cysrOworI2VuZGlmCisKKyAgICByZXR1cm4odGVzdF9yZXQpOworfQorCisKK3N0YXRpYyBpbnQKK3Rlc3RfeG1sWFB0cldyYXBMb2NhdGlvblNldCh2b2lkKSB7CisgICAgaW50IHRlc3RfcmV0ID0gMDsKKworI2lmIGRlZmluZWQoTElCWE1MX1hQVFJfRU5BQkxFRCkKKyAgICBpbnQgbWVtX2Jhc2U7CisgICAgeG1sWFBhdGhPYmplY3RQdHIgcmV0X3ZhbDsKKyAgICB4bWxMb2NhdGlvblNldFB0ciB2YWw7IC8qIHRoZSBMb2NhdGlvblNldCB2YWx1ZSAqLworICAgIGludCBuX3ZhbDsKKworICAgIGZvciAobl92YWwgPSAwO25fdmFsIDwgZ2VuX25iX3htbExvY2F0aW9uU2V0UHRyO25fdmFsKyspIHsKKyAgICAgICAgbWVtX2Jhc2UgPSB4bWxNZW1CbG9ja3MoKTsKKyAgICAgICAgdmFsID0gZ2VuX3htbExvY2F0aW9uU2V0UHRyKG5fdmFsLCAwKTsKKworICAgICAgICByZXRfdmFsID0geG1sWFB0cldyYXBMb2NhdGlvblNldCh2YWwpOworICAgICAgICBkZXNyZXRfeG1sWFBhdGhPYmplY3RQdHIocmV0X3ZhbCk7CisgICAgICAgIGNhbGxfdGVzdHMrKzsKKyAgICAgICAgZGVzX3htbExvY2F0aW9uU2V0UHRyKG5fdmFsLCB2YWwsIDApOworICAgICAgICB4bWxSZXNldExhc3RFcnJvcigpOworICAgICAgICBpZiAobWVtX2Jhc2UgIT0geG1sTWVtQmxvY2tzKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiTGVhayBvZiAlZCBibG9ja3MgZm91bmQgaW4geG1sWFB0cldyYXBMb2NhdGlvblNldCIsCisJICAgICAgICAgICB4bWxNZW1CbG9ja3MoKSAtIG1lbV9iYXNlKTsKKwkgICAgdGVzdF9yZXQrKzsKKyAgICAgICAgICAgIHByaW50ZigiICVkIiwgbl92YWwpOworICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworICAgICAgICB9CisgICAgfQorICAgIGZ1bmN0aW9uX3Rlc3RzKys7CisjZW5kaWYKKworICAgIHJldHVybih0ZXN0X3JldCk7Cit9CisKK3N0YXRpYyBpbnQKK3Rlc3RfeHBvaW50ZXIodm9pZCkgeworICAgIGludCB0ZXN0X3JldCA9IDA7CisKKyAgICBpZiAocXVpZXQgPT0gMCkgcHJpbnRmKCJUZXN0aW5nIHhwb2ludGVyIDogMTcgb2YgMjEgZnVuY3Rpb25zIC4uLlxuIik7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUHRyQnVpbGROb2RlTGlzdCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sWFB0ckV2YWwoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFhQdHJFdmFsUmFuZ2VQcmVkaWNhdGUoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFhQdHJMb2NhdGlvblNldEFkZCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sWFB0ckxvY2F0aW9uU2V0Q3JlYXRlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUHRyTG9jYXRpb25TZXREZWwoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFhQdHJMb2NhdGlvblNldE1lcmdlKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUHRyTG9jYXRpb25TZXRSZW1vdmUoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFhQdHJOZXdDb2xsYXBzZWRSYW5nZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sWFB0ck5ld0NvbnRleHQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFhQdHJOZXdMb2NhdGlvblNldE5vZGVTZXQoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFhQdHJOZXdMb2NhdGlvblNldE5vZGVzKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUHRyTmV3UmFuZ2UoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFhQdHJOZXdSYW5nZU5vZGVPYmplY3QoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFhQdHJOZXdSYW5nZU5vZGVQb2ludCgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sWFB0ck5ld1JhbmdlTm9kZXMoKTsKKyAgICB0ZXN0X3JldCArPSB0ZXN0X3htbFhQdHJOZXdSYW5nZVBvaW50Tm9kZSgpOworICAgIHRlc3RfcmV0ICs9IHRlc3RfeG1sWFB0ck5ld1JhbmdlUG9pbnRzKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUHRyUmFuZ2VUb0Z1bmN0aW9uKCk7CisgICAgdGVzdF9yZXQgKz0gdGVzdF94bWxYUHRyV3JhcExvY2F0aW9uU2V0KCk7CisKKyAgICBpZiAodGVzdF9yZXQgIT0gMCkKKwlwcmludGYoIk1vZHVsZSB4cG9pbnRlcjogJWQgZXJyb3JzXG4iLCB0ZXN0X3JldCk7CisgICAgcmV0dXJuKHRlc3RfcmV0KTsKK30KK3N0YXRpYyBpbnQKK3Rlc3RfbW9kdWxlKGNvbnN0IGNoYXIgKm1vZHVsZSkgeworICAgIGlmICghc3RyY21wKG1vZHVsZSwgIkhUTUxwYXJzZXIiKSkgcmV0dXJuKHRlc3RfSFRNTHBhcnNlcigpKTsKKyAgICBpZiAoIXN0cmNtcChtb2R1bGUsICJIVE1MdHJlZSIpKSByZXR1cm4odGVzdF9IVE1MdHJlZSgpKTsKKyAgICBpZiAoIXN0cmNtcChtb2R1bGUsICJTQVgyIikpIHJldHVybih0ZXN0X1NBWDIoKSk7CisgICAgaWYgKCFzdHJjbXAobW9kdWxlLCAiYzE0biIpKSByZXR1cm4odGVzdF9jMTRuKCkpOworICAgIGlmICghc3RyY21wKG1vZHVsZSwgImNhdGFsb2ciKSkgcmV0dXJuKHRlc3RfY2F0YWxvZygpKTsKKyAgICBpZiAoIXN0cmNtcChtb2R1bGUsICJjaHZhbGlkIikpIHJldHVybih0ZXN0X2NodmFsaWQoKSk7CisgICAgaWYgKCFzdHJjbXAobW9kdWxlLCAiZGVidWdYTUwiKSkgcmV0dXJuKHRlc3RfZGVidWdYTUwoKSk7CisgICAgaWYgKCFzdHJjbXAobW9kdWxlLCAiZGljdCIpKSByZXR1cm4odGVzdF9kaWN0KCkpOworICAgIGlmICghc3RyY21wKG1vZHVsZSwgImVuY29kaW5nIikpIHJldHVybih0ZXN0X2VuY29kaW5nKCkpOworICAgIGlmICghc3RyY21wKG1vZHVsZSwgImVudGl0aWVzIikpIHJldHVybih0ZXN0X2VudGl0aWVzKCkpOworICAgIGlmICghc3RyY21wKG1vZHVsZSwgImhhc2giKSkgcmV0dXJuKHRlc3RfaGFzaCgpKTsKKyAgICBpZiAoIXN0cmNtcChtb2R1bGUsICJsaXN0IikpIHJldHVybih0ZXN0X2xpc3QoKSk7CisgICAgaWYgKCFzdHJjbXAobW9kdWxlLCAibmFub2Z0cCIpKSByZXR1cm4odGVzdF9uYW5vZnRwKCkpOworICAgIGlmICghc3RyY21wKG1vZHVsZSwgIm5hbm9odHRwIikpIHJldHVybih0ZXN0X25hbm9odHRwKCkpOworICAgIGlmICghc3RyY21wKG1vZHVsZSwgInBhcnNlciIpKSByZXR1cm4odGVzdF9wYXJzZXIoKSk7CisgICAgaWYgKCFzdHJjbXAobW9kdWxlLCAicGFyc2VySW50ZXJuYWxzIikpIHJldHVybih0ZXN0X3BhcnNlckludGVybmFscygpKTsKKyAgICBpZiAoIXN0cmNtcChtb2R1bGUsICJwYXR0ZXJuIikpIHJldHVybih0ZXN0X3BhdHRlcm4oKSk7CisgICAgaWYgKCFzdHJjbXAobW9kdWxlLCAicmVsYXhuZyIpKSByZXR1cm4odGVzdF9yZWxheG5nKCkpOworICAgIGlmICghc3RyY21wKG1vZHVsZSwgInNjaGVtYXNJbnRlcm5hbHMiKSkgcmV0dXJuKHRlc3Rfc2NoZW1hc0ludGVybmFscygpKTsKKyAgICBpZiAoIXN0cmNtcChtb2R1bGUsICJzY2hlbWF0cm9uIikpIHJldHVybih0ZXN0X3NjaGVtYXRyb24oKSk7CisgICAgaWYgKCFzdHJjbXAobW9kdWxlLCAidHJlZSIpKSByZXR1cm4odGVzdF90cmVlKCkpOworICAgIGlmICghc3RyY21wKG1vZHVsZSwgInVyaSIpKSByZXR1cm4odGVzdF91cmkoKSk7CisgICAgaWYgKCFzdHJjbXAobW9kdWxlLCAidmFsaWQiKSkgcmV0dXJuKHRlc3RfdmFsaWQoKSk7CisgICAgaWYgKCFzdHJjbXAobW9kdWxlLCAieGluY2x1ZGUiKSkgcmV0dXJuKHRlc3RfeGluY2x1ZGUoKSk7CisgICAgaWYgKCFzdHJjbXAobW9kdWxlLCAieG1sSU8iKSkgcmV0dXJuKHRlc3RfeG1sSU8oKSk7CisgICAgaWYgKCFzdHJjbXAobW9kdWxlLCAieG1sYXV0b21hdGEiKSkgcmV0dXJuKHRlc3RfeG1sYXV0b21hdGEoKSk7CisgICAgaWYgKCFzdHJjbXAobW9kdWxlLCAieG1sZXJyb3IiKSkgcmV0dXJuKHRlc3RfeG1sZXJyb3IoKSk7CisgICAgaWYgKCFzdHJjbXAobW9kdWxlLCAieG1sbW9kdWxlIikpIHJldHVybih0ZXN0X3htbG1vZHVsZSgpKTsKKyAgICBpZiAoIXN0cmNtcChtb2R1bGUsICJ4bWxyZWFkZXIiKSkgcmV0dXJuKHRlc3RfeG1scmVhZGVyKCkpOworICAgIGlmICghc3RyY21wKG1vZHVsZSwgInhtbHJlZ2V4cCIpKSByZXR1cm4odGVzdF94bWxyZWdleHAoKSk7CisgICAgaWYgKCFzdHJjbXAobW9kdWxlLCAieG1sc2F2ZSIpKSByZXR1cm4odGVzdF94bWxzYXZlKCkpOworICAgIGlmICghc3RyY21wKG1vZHVsZSwgInhtbHNjaGVtYXMiKSkgcmV0dXJuKHRlc3RfeG1sc2NoZW1hcygpKTsKKyAgICBpZiAoIXN0cmNtcChtb2R1bGUsICJ4bWxzY2hlbWFzdHlwZXMiKSkgcmV0dXJuKHRlc3RfeG1sc2NoZW1hc3R5cGVzKCkpOworICAgIGlmICghc3RyY21wKG1vZHVsZSwgInhtbHN0cmluZyIpKSByZXR1cm4odGVzdF94bWxzdHJpbmcoKSk7CisgICAgaWYgKCFzdHJjbXAobW9kdWxlLCAieG1sdW5pY29kZSIpKSByZXR1cm4odGVzdF94bWx1bmljb2RlKCkpOworICAgIGlmICghc3RyY21wKG1vZHVsZSwgInhtbHdyaXRlciIpKSByZXR1cm4odGVzdF94bWx3cml0ZXIoKSk7CisgICAgaWYgKCFzdHJjbXAobW9kdWxlLCAieHBhdGgiKSkgcmV0dXJuKHRlc3RfeHBhdGgoKSk7CisgICAgaWYgKCFzdHJjbXAobW9kdWxlLCAieHBhdGhJbnRlcm5hbHMiKSkgcmV0dXJuKHRlc3RfeHBhdGhJbnRlcm5hbHMoKSk7CisgICAgaWYgKCFzdHJjbXAobW9kdWxlLCAieHBvaW50ZXIiKSkgcmV0dXJuKHRlc3RfeHBvaW50ZXIoKSk7CisgICAgcmV0dXJuKDApOworfQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0Y2hhci5jIGIvbGlieG1sMi90ZXN0Y2hhci5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBkMDg3OTIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Rlc3RjaGFyLmMKQEAgLTAsMCArMSw2MTcgQEAKKy8qKgorICogVGVzdCB0aGUgVVRGLTggZGVjb2Rpbmcgcm91dGluZXMKKyAqCisgKiBhdXRob3I6IERhbmllbCBWZWlsbGFyZAorICogY29weTogc2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgorICovCisKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGxpYnhtbC9wYXJzZXIuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvcGFyc2VySW50ZXJuYWxzLmg+CisKKyNpbmNsdWRlICJidWYuaCIKKworaW50IGxhc3RFcnJvcjsKKworc3RhdGljIHZvaWQgZXJyb3JIYW5kbGVyKHZvaWQgKnVudXNlZCwgeG1sRXJyb3JQdHIgZXJyKSB7CisgICAgaWYgKCh1bnVzZWQgPT0gTlVMTCkgJiYgKGVyciAhPSBOVUxMKSAmJiAobGFzdEVycm9yID09IDApKSB7CisgICAgICAgIGxhc3RFcnJvciA9IGVyci0+Y29kZTsKKyAgICB9Cit9CisKK2NoYXIgZG9jdW1lbnQxWzEwMF0gPSAiPGRvYz5YWFhYPC9kb2M+IjsKK2NoYXIgZG9jdW1lbnQyWzEwMF0gPSAiPGRvYyBmb289J1hYWFgnLz4iOworCitzdGF0aWMgdm9pZCB0ZXN0RG9jdW1lbnRSYW5nZUJ5dGUxKHhtbFBhcnNlckN0eHRQdHIgY3R4dCwgY2hhciAqZG9jdW1lbnQsCisgICAgICAgICAgICAgICAgICBpbnQgbGVuLCAgY2hhciAqZGF0YSwgaW50IGZvcmJpZDEsIGludCBmb3JiaWQyKSB7CisgICAgaW50IGk7CisgICAgeG1sRG9jUHRyIHJlczsKKworICAgIGZvciAoaSA9IDA7aSA8PSAweEZGO2krKykgeworCWxhc3RFcnJvciA9IDA7CisJeG1sQ3R4dFJlc2V0KGN0eHQpOworCisgICAgICAgIGRhdGFbMF0gPSBpOworCisJcmVzID0geG1sUmVhZE1lbW9yeShkb2N1bWVudCwgbGVuLCAidGVzdCIsIE5VTEwsIDApOworCisJaWYgKChpID09IGZvcmJpZDEpIHx8IChpID09IGZvcmJpZDIpKSB7CisJICAgIGlmICgobGFzdEVycm9yID09IDApIHx8IChyZXMgIT0gTlVMTCkpCisJICAgICAgICBmcHJpbnRmKHN0ZGVyciwKKwkJICAgICJGYWlsZWQgdG8gZGV0ZWN0IGludmFsaWQgY2hhciBmb3IgQnl0ZSAweCUwMlg6ICVjXG4iLAorCQkgICAgICAgIGksIGkpOworCX0KKworCWVsc2UgaWYgKChpID09ICc8JykgfHwgKGkgPT0gJyYnKSkgeworCSAgICBpZiAoKGxhc3RFcnJvciA9PSAwKSB8fCAocmVzICE9IE5VTEwpKQorCSAgICAgICAgZnByaW50ZihzdGRlcnIsCisJCSAgICAiRmFpbGVkIHRvIGRldGVjdCBpbGxlZ2FsIGNoYXIgJWMgZm9yIEJ5dGUgMHglMDJYXG4iLCBpLCBpKTsKKwl9CisJZWxzZSBpZiAoKChpIDwgMHgyMCkgfHwgKGkgPj0gMHg4MCkpICYmCisJICAgIChpICE9IDB4OSkgJiYgKGkgIT0gMHhBKSAmJiAoaSAhPSAweEQpKSB7CisJICAgIGlmICgobGFzdEVycm9yICE9IFhNTF9FUlJfSU5WQUxJRF9DSEFSKSAmJiAocmVzICE9IE5VTEwpKQorCSAgICAgICAgZnByaW50ZihzdGRlcnIsCisJCSAgICAiRmFpbGVkIHRvIGRldGVjdCBpbnZhbGlkIGNoYXIgZm9yIEJ5dGUgMHglMDJYXG4iLCBpKTsKKwl9CisJZWxzZSBpZiAocmVzID09IE5VTEwpIHsKKwkgICAgZnByaW50ZihzdGRlcnIsCisJCSJGYWlsZWQgdG8gcGFyc2UgdmFsaWQgY2hhciBmb3IgQnl0ZSAweCUwMlggOiAlY1xuIiwgaSwgaSk7CisJfQorCWlmIChyZXMgIT0gTlVMTCkKKwkgICAgeG1sRnJlZURvYyhyZXMpOworICAgIH0KK30KKworc3RhdGljIHZvaWQgdGVzdERvY3VtZW50UmFuZ2VCeXRlMih4bWxQYXJzZXJDdHh0UHRyIGN0eHQsIGNoYXIgKmRvY3VtZW50LAorICAgICAgICAgICAgICAgICAgaW50IGxlbiwgIGNoYXIgKmRhdGEpIHsKKyAgICBpbnQgaSwgajsKKyAgICB4bWxEb2NQdHIgcmVzOworCisgICAgZm9yIChpID0gMHg4MDtpIDw9IDB4RkY7aSsrKSB7CisgICAgZm9yIChqID0gMDtqIDw9IDB4RkY7aisrKSB7CisJbGFzdEVycm9yID0gMDsKKwl4bWxDdHh0UmVzZXQoY3R4dCk7CisKKyAgICAgICAgZGF0YVswXSA9IGk7CisgICAgICAgIGRhdGFbMV0gPSBqOworCisJcmVzID0geG1sUmVhZE1lbW9yeShkb2N1bWVudCwgbGVuLCAidGVzdCIsIE5VTEwsIDApOworCisJLyogaWYgZmlyc3QgYml0IG9mIGZpcnN0IGNoYXIgaXMgc2V0LCB0aGVuIHNlY29uZCBiaXQgbXVzdCB0b28gKi8KKwlpZiAoKGkgJiAweDgwKSAmJiAoKGkgJiAweDQwKSA9PSAwKSkgeworCSAgICBpZiAoKGxhc3RFcnJvciA9PSAwKSB8fCAocmVzICE9IE5VTEwpKQorCQlmcHJpbnRmKHN0ZGVyciwKKwkJIkZhaWxlZCB0byBkZXRlY3QgaW52YWxpZCBjaGFyIGZvciBCeXRlcyAweCUwMlggMHglMDJYXG4iLAorCQkJaSwgaik7CisJfQorCisJLyoKKwkgKiBpZiBmaXJzdCBiaXQgb2YgZmlyc3QgY2hhciBpcyBzZXQsIHRoZW4gc2Vjb25kIGNoYXIgZmlyc3QKKwkgKiBiaXRzIG11c3QgYmUgMTAKKwkgKi8KKwllbHNlIGlmICgoaSAmIDB4ODApICYmICgoaiAmIDB4QzApICE9IDB4ODApKSB7CisJICAgIGlmICgobGFzdEVycm9yID09IDApIHx8IChyZXMgIT0gTlVMTCkpCisJCWZwcmludGYoc3RkZXJyLAorCSAgICAiRmFpbGVkIHRvIGRldGVjdCBpbnZhbGlkIGNoYXIgZm9yIEJ5dGVzIDB4JTAyWCAweCUwMlhcbiIsCisJCQlpLCBqKTsKKwl9CisKKwkvKgorCSAqIGlmIHVzaW5nIGEgMiBieXRlIGVuY29kaW5nIHRoZW4gdGhlIHZhbHVlIG11c3QgYmUgZ3JlYXRlcgorCSAqIHRoYW4gMHg4MCwgaS5lLiBvbmUgb2YgYml0cyA1IHRvIDEgb2YgaSBtdXN0IGJlIHNldAorCSAqLworCWVsc2UgaWYgKChpICYgMHg4MCkgJiYgKChpICYgMHgxRSkgPT0gMCkpIHsKKwkgICAgaWYgKChsYXN0RXJyb3IgPT0gMCkgfHwgKHJlcyAhPSBOVUxMKSkKKwkJZnByaW50ZihzdGRlcnIsCisJICAgICJGYWlsZWQgdG8gZGV0ZWN0IGludmFsaWQgY2hhciBmb3IgQnl0ZXMgMHglMDJYIDB4JTAyWFxuIiwKKwkJCWksIGopOworCX0KKworCS8qCisJICogaWYgdGhpcmQgYml0IG9mIGZpcnN0IGNoYXIgaXMgc2V0LCB0aGVuIHRoZSBzZXF1ZW5jZSB3b3VsZCBuZWVkCisJICogYXQgbGVhc3QgMyBieXRlcywgYnV0IHdlIGdpdmUgb25seSAyICEKKwkgKi8KKwllbHNlIGlmICgoaSAmIDB4RTApID09IDB4RTApIHsKKwkgICAgaWYgKChsYXN0RXJyb3IgPT0gMCkgfHwgKHJlcyAhPSBOVUxMKSkKKwkJZnByaW50ZihzdGRlcnIsCisJICAgICJGYWlsZWQgdG8gZGV0ZWN0IGludmFsaWQgY2hhciBmb3IgQnl0ZXMgMHglMDJYIDB4JTAyWCAweDAwXG4iLAorCQkJaSwgaik7CisJfQorCisJLyoKKwkgKiBXZSBzaG91bGQgc2VlIG5vIGVycm9yIGluIHJlbWFuaW5nIGNhc2VzCisJICovCisJZWxzZSBpZiAoKGxhc3RFcnJvciAhPSAwKSB8fCAocmVzID09IE5VTEwpKSB7CisJICAgIGZwcmludGYoc3RkZXJyLAorCQkiRmFpbGVkIHRvIHBhcnNlIGRvY3VtZW50IGZvciBCeXRlcyAweCUwMlggMHglMDJYXG4iLCBpLCBqKTsKKwl9CisJaWYgKHJlcyAhPSBOVUxMKQorCSAgICB4bWxGcmVlRG9jKHJlcyk7CisgICAgfQorICAgIH0KK30KKworLyoqCisgKiB0ZXN0RG9jdW1lbnRSYW5nZXM6CisgKgorICogVGVzdCB0aGUgY29ycmVjdCBVVEY4IGNoYXJhY3RlciBwYXJzaW5nIGluIGNvbnRleHQgb2YgWE1MIGRvY3VtZW50cworICogVGhvc2UgYXJlIGluLWNvbnRleHQgaW5qZWN0aW9uIHRlc3RzIGNoZWNraW5nIHRoZSBwYXJzZXIgYmVoYXZpb3VyIG9uCisgKiBlZGdlIGNhc2UgdmFsdWVzIGF0IGRpZmZlcmVudCBwb2ludCBpbiBjb250ZW50LCBiZWdpbm5pbmcgYW5kIGVuZCBvZgorICogQ0RBVEEgaW4gdGV4dCBvciBpbiBhdHRyaWJ1dGUgdmFsdWVzLgorICovCisKK3N0YXRpYyB2b2lkIHRlc3REb2N1bWVudFJhbmdlcyh2b2lkKSB7CisgICAgeG1sUGFyc2VyQ3R4dFB0ciBjdHh0OworICAgIGNoYXIgKmRhdGE7CisKKyAgICAvKgorICAgICAqIFNldCB1cCBhIHBhcnNpbmcgY29udGV4dCB1c2luZyB0aGUgZmlyc3QgZG9jdW1lbnQgYXMKKyAgICAgKiB0aGUgY3VycmVudCBpbnB1dCBzb3VyY2UuCisgICAgICovCisgICAgY3R4dCA9IHhtbE5ld1BhcnNlckN0eHQoKTsKKyAgICBpZiAoY3R4dCA9PSBOVUxMKSB7CisgICAgICAgIGZwcmludGYoc3RkZXJyLCAiRmFpbGVkIHRvIGFsbG9jYXRlIHBhcnNlciBjb250ZXh0XG4iKTsKKwlyZXR1cm47CisgICAgfQorCisgICAgcHJpbnRmKCJ0ZXN0aW5nIDEgYnl0ZSBjaGFyIGluIGRvY3VtZW50OiAxIik7CisgICAgZmZsdXNoKHN0ZG91dCk7CisgICAgZGF0YSA9ICZkb2N1bWVudDFbNV07CisgICAgZGF0YVswXSA9ICcgJzsKKyAgICBkYXRhWzFdID0gJyAnOworICAgIGRhdGFbMl0gPSAnICc7CisgICAgZGF0YVszXSA9ICcgJzsKKyAgICAvKiB0ZXN0IDEgYnl0ZSBpbmplY3Rpb24gYXQgYmVnaW5uaW5nIG9mIGFyZWEgKi8KKyAgICB0ZXN0RG9jdW1lbnRSYW5nZUJ5dGUxKGN0eHQsICZkb2N1bWVudDFbMF0sIHN0cmxlbihkb2N1bWVudDEpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YSwgLTEsIC0xKTsKKyAgICBwcmludGYoIiAyIik7CisgICAgZmZsdXNoKHN0ZG91dCk7CisgICAgZGF0YVswXSA9ICcgJzsKKyAgICBkYXRhWzFdID0gJyAnOworICAgIGRhdGFbMl0gPSAnICc7CisgICAgZGF0YVszXSA9ICcgJzsKKyAgICAvKiB0ZXN0IDEgYnl0ZSBpbmplY3Rpb24gYXQgZW5kIG9mIGFyZWEgKi8KKyAgICB0ZXN0RG9jdW1lbnRSYW5nZUJ5dGUxKGN0eHQsICZkb2N1bWVudDFbMF0sIHN0cmxlbihkb2N1bWVudDEpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YSArIDMsIC0xLCAtMSk7CisKKyAgICBwcmludGYoIiAzIik7CisgICAgZmZsdXNoKHN0ZG91dCk7CisgICAgZGF0YSA9ICZkb2N1bWVudDJbMTBdOworICAgIGRhdGFbMF0gPSAnICc7CisgICAgZGF0YVsxXSA9ICcgJzsKKyAgICBkYXRhWzJdID0gJyAnOworICAgIGRhdGFbM10gPSAnICc7CisgICAgLyogdGVzdCAxIGJ5dGUgaW5qZWN0aW9uIGF0IGJlZ2lubmluZyBvZiBhcmVhICovCisgICAgdGVzdERvY3VtZW50UmFuZ2VCeXRlMShjdHh0LCAmZG9jdW1lbnQyWzBdLCBzdHJsZW4oZG9jdW1lbnQyKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEsICdcJycsIC0xKTsKKyAgICBwcmludGYoIiA0Iik7CisgICAgZmZsdXNoKHN0ZG91dCk7CisgICAgZGF0YVswXSA9ICcgJzsKKyAgICBkYXRhWzFdID0gJyAnOworICAgIGRhdGFbMl0gPSAnICc7CisgICAgZGF0YVszXSA9ICcgJzsKKyAgICAvKiB0ZXN0IDEgYnl0ZSBpbmplY3Rpb24gYXQgZW5kIG9mIGFyZWEgKi8KKyAgICB0ZXN0RG9jdW1lbnRSYW5nZUJ5dGUxKGN0eHQsICZkb2N1bWVudDJbMF0sIHN0cmxlbihkb2N1bWVudDIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YSArIDMsICdcJycsIC0xKTsKKyAgICBwcmludGYoIiBkb25lXG4iKTsKKworICAgIHByaW50ZigidGVzdGluZyAyIGJ5dGUgY2hhciBpbiBkb2N1bWVudDogMSIpOworICAgIGZmbHVzaChzdGRvdXQpOworICAgIGRhdGEgPSAmZG9jdW1lbnQxWzVdOworICAgIGRhdGFbMF0gPSAnICc7CisgICAgZGF0YVsxXSA9ICcgJzsKKyAgICBkYXRhWzJdID0gJyAnOworICAgIGRhdGFbM10gPSAnICc7CisgICAgLyogdGVzdCAyIGJ5dGUgaW5qZWN0aW9uIGF0IGJlZ2lubmluZyBvZiBhcmVhICovCisgICAgdGVzdERvY3VtZW50UmFuZ2VCeXRlMihjdHh0LCAmZG9jdW1lbnQxWzBdLCBzdHJsZW4oZG9jdW1lbnQxKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEpOworICAgIHByaW50ZigiIDIiKTsKKyAgICBmZmx1c2goc3Rkb3V0KTsKKyAgICBkYXRhWzBdID0gJyAnOworICAgIGRhdGFbMV0gPSAnICc7CisgICAgZGF0YVsyXSA9ICcgJzsKKyAgICBkYXRhWzNdID0gJyAnOworICAgIC8qIHRlc3QgMiBieXRlIGluamVjdGlvbiBhdCBlbmQgb2YgYXJlYSAqLworICAgIHRlc3REb2N1bWVudFJhbmdlQnl0ZTIoY3R4dCwgJmRvY3VtZW50MVswXSwgc3RybGVuKGRvY3VtZW50MSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhICsgMik7CisKKyAgICBwcmludGYoIiAzIik7CisgICAgZmZsdXNoKHN0ZG91dCk7CisgICAgZGF0YSA9ICZkb2N1bWVudDJbMTBdOworICAgIGRhdGFbMF0gPSAnICc7CisgICAgZGF0YVsxXSA9ICcgJzsKKyAgICBkYXRhWzJdID0gJyAnOworICAgIGRhdGFbM10gPSAnICc7CisgICAgLyogdGVzdCAyIGJ5dGUgaW5qZWN0aW9uIGF0IGJlZ2lubmluZyBvZiBhcmVhICovCisgICAgdGVzdERvY3VtZW50UmFuZ2VCeXRlMihjdHh0LCAmZG9jdW1lbnQyWzBdLCBzdHJsZW4oZG9jdW1lbnQyKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEpOworICAgIHByaW50ZigiIDQiKTsKKyAgICBmZmx1c2goc3Rkb3V0KTsKKyAgICBkYXRhWzBdID0gJyAnOworICAgIGRhdGFbMV0gPSAnICc7CisgICAgZGF0YVsyXSA9ICcgJzsKKyAgICBkYXRhWzNdID0gJyAnOworICAgIC8qIHRlc3QgMiBieXRlIGluamVjdGlvbiBhdCBlbmQgb2YgYXJlYSAqLworICAgIHRlc3REb2N1bWVudFJhbmdlQnl0ZTIoY3R4dCwgJmRvY3VtZW50MlswXSwgc3RybGVuKGRvY3VtZW50MiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhICsgMik7CisgICAgcHJpbnRmKCIgZG9uZVxuIik7CisKKyAgICB4bWxGcmVlUGFyc2VyQ3R4dChjdHh0KTsKK30KKworc3RhdGljIHZvaWQgdGVzdENoYXJSYW5nZUJ5dGUxKHhtbFBhcnNlckN0eHRQdHIgY3R4dCwgY2hhciAqZGF0YSkgeworICAgIGludCBpID0gMDsKKyAgICBpbnQgbGVuLCBjOworCisgICAgZGF0YVsxXSA9IDA7CisgICAgZGF0YVsyXSA9IDA7CisgICAgZGF0YVszXSA9IDA7CisgICAgZm9yIChpID0gMDtpIDw9IDB4RkY7aSsrKSB7CisgICAgICAgIGRhdGFbMF0gPSBpOworCWN0eHQtPmNoYXJzZXQgPSBYTUxfQ0hBUl9FTkNPRElOR19VVEY4OworCisJbGFzdEVycm9yID0gMDsKKyAgICAgICAgYyA9IHhtbEN1cnJlbnRDaGFyKGN0eHQsICZsZW4pOworCWlmICgoaSA9PSAwKSB8fCAoaSA+PSAweDgwKSkgeworCSAgICAvKiB3ZSBtdXN0IHNlZSBhbiBlcnJvciB0aGVyZSAqLworCSAgICBpZiAobGFzdEVycm9yICE9IFhNTF9FUlJfSU5WQUxJRF9DSEFSKQorCSAgICAgICAgZnByaW50ZihzdGRlcnIsCisJCSAgICAiRmFpbGVkIHRvIGRldGVjdCBpbnZhbGlkIGNoYXIgZm9yIEJ5dGUgMHglMDJYXG4iLCBpKTsKKwl9IGVsc2UgaWYgKGkgPT0gMHhEKSB7CisJICAgIGlmICgoYyAhPSAweEEpIHx8IChsZW4gIT0gMSkpCisJCWZwcmludGYoc3RkZXJyLCAiRmFpbGVkIHRvIGNvbnZlcnQgY2hhciBmb3IgQnl0ZSAweCUwMlhcbiIsIGkpOworCX0gZWxzZSBpZiAoKGMgIT0gaSkgfHwgKGxlbiAhPSAxKSkgeworCSAgICBmcHJpbnRmKHN0ZGVyciwgIkZhaWxlZCB0byBwYXJzZSBjaGFyIGZvciBCeXRlIDB4JTAyWFxuIiwgaSk7CisJfQorICAgIH0KK30KKworc3RhdGljIHZvaWQgdGVzdENoYXJSYW5nZUJ5dGUyKHhtbFBhcnNlckN0eHRQdHIgY3R4dCwgY2hhciAqZGF0YSkgeworICAgIGludCBpLCBqOworICAgIGludCBsZW4sIGM7CisKKyAgICBkYXRhWzJdID0gMDsKKyAgICBkYXRhWzNdID0gMDsKKyAgICBmb3IgKGkgPSAweDgwO2kgPD0gMHhGRjtpKyspIHsKKwlmb3IgKGogPSAwO2ogPD0gMHhGRjtqKyspIHsKKwkgICAgZGF0YVswXSA9IGk7CisJICAgIGRhdGFbMV0gPSBqOworCSAgICBjdHh0LT5jaGFyc2V0ID0gWE1MX0NIQVJfRU5DT0RJTkdfVVRGODsKKworCSAgICBsYXN0RXJyb3IgPSAwOworCSAgICBjID0geG1sQ3VycmVudENoYXIoY3R4dCwgJmxlbik7CisKKwkgICAgLyogaWYgZmlyc3QgYml0IG9mIGZpcnN0IGNoYXIgaXMgc2V0LCB0aGVuIHNlY29uZCBiaXQgbXVzdCB0b28gKi8KKwkgICAgaWYgKChpICYgMHg4MCkgJiYgKChpICYgMHg0MCkgPT0gMCkpIHsKKwkJaWYgKGxhc3RFcnJvciAhPSBYTUxfRVJSX0lOVkFMSURfQ0hBUikKKwkJICAgIGZwcmludGYoc3RkZXJyLAorCQkgICAgIkZhaWxlZCB0byBkZXRlY3QgaW52YWxpZCBjaGFyIGZvciBCeXRlcyAweCUwMlggMHglMDJYXG4iLAorCQkgICAgICAgICAgICBpLCBqKTsKKwkgICAgfQorCisJICAgIC8qCisJICAgICAqIGlmIGZpcnN0IGJpdCBvZiBmaXJzdCBjaGFyIGlzIHNldCwgdGhlbiBzZWNvbmQgY2hhciBmaXJzdAorCSAgICAgKiBiaXRzIG11c3QgYmUgMTAKKwkgICAgICovCisJICAgIGVsc2UgaWYgKChpICYgMHg4MCkgJiYgKChqICYgMHhDMCkgIT0gMHg4MCkpIHsKKwkJaWYgKGxhc3RFcnJvciAhPSBYTUxfRVJSX0lOVkFMSURfQ0hBUikKKwkJICAgIGZwcmludGYoc3RkZXJyLAorCQkiRmFpbGVkIHRvIGRldGVjdCBpbnZhbGlkIGNoYXIgZm9yIEJ5dGVzIDB4JTAyWCAweCUwMlg6ICVkXG4iLAorCQkgICAgICAgICAgICBpLCBqLCBjKTsKKwkgICAgfQorCisJICAgIC8qCisJICAgICAqIGlmIHVzaW5nIGEgMiBieXRlIGVuY29kaW5nIHRoZW4gdGhlIHZhbHVlIG11c3QgYmUgZ3JlYXRlcgorCSAgICAgKiB0aGFuIDB4ODAsIGkuZS4gb25lIG9mIGJpdHMgNSB0byAxIG9mIGkgbXVzdCBiZSBzZXQKKwkgICAgICovCisJICAgIGVsc2UgaWYgKChpICYgMHg4MCkgJiYgKChpICYgMHgxRSkgPT0gMCkpIHsKKwkJaWYgKGxhc3RFcnJvciAhPSBYTUxfRVJSX0lOVkFMSURfQ0hBUikKKwkJICAgIGZwcmludGYoc3RkZXJyLAorCQkiRmFpbGVkIHRvIGRldGVjdCBpbnZhbGlkIGNoYXIgZm9yIEJ5dGVzIDB4JTAyWCAweCUwMlg6ICVkXG4iLAorCQkgICAgICAgICAgICBpLCBqLCBjKTsKKwkgICAgfQorCisJICAgIC8qCisJICAgICAqIGlmIHRoaXJkIGJpdCBvZiBmaXJzdCBjaGFyIGlzIHNldCwgdGhlbiB0aGUgc2VxdWVuY2Ugd291bGQgbmVlZAorCSAgICAgKiBhdCBsZWFzdCAzIGJ5dGVzLCBidXQgd2UgZ2l2ZSBvbmx5IDIgIQorCSAgICAgKi8KKwkgICAgZWxzZSBpZiAoKGkgJiAweEUwKSA9PSAweEUwKSB7CisJCWlmIChsYXN0RXJyb3IgIT0gWE1MX0VSUl9JTlZBTElEX0NIQVIpCisJCSAgICBmcHJpbnRmKHN0ZGVyciwKKwkJIkZhaWxlZCB0byBkZXRlY3QgaW52YWxpZCBjaGFyIGZvciBCeXRlcyAweCUwMlggMHglMDJYIDB4MDBcbiIsCisJCSAgICAgICAgICAgIGksIGopOworCSAgICB9CisKKyAgICAgICAgICAgIC8qCisJICAgICAqIFdlIHNob3VsZCBzZWUgbm8gZXJyb3IgaW4gcmVtYW5pbmcgY2FzZXMKKwkgICAgICovCisJICAgIGVsc2UgaWYgKChsYXN0RXJyb3IgIT0gMCkgfHwgKGxlbiAhPSAyKSkgeworCQlmcHJpbnRmKHN0ZGVyciwKKwkJICAgICJGYWlsZWQgdG8gcGFyc2UgY2hhciBmb3IgQnl0ZXMgMHglMDJYIDB4JTAyWFxuIiwgaSwgaik7CisJICAgIH0KKworICAgICAgICAgICAgLyoKKwkgICAgICogRmluYWxseSBjaGVjayB0aGUgdmFsdWUgaXMgcmlnaHQKKwkgICAgICovCisJICAgIGVsc2UgaWYgKGMgIT0gKGogJiAweDNGKSArICgoaSAmIDB4MUYpIDw8IDYpKSB7CisJCWZwcmludGYoc3RkZXJyLAorCSJGYWlsZWQgdG8gcGFyc2UgY2hhciBmb3IgQnl0ZXMgMHglMDJYIDB4JTAyWDogZXhwZWN0ICVkIGdvdCAlZFxuIiwKKwkgICAgICAgICAgICAgICAgaSwgaiwgKChqICYgMHgzRikgKyAoKGkgJiAweDFGKSA8PCA2KSksIGMpOworCSAgICB9CisgICAgICAgIH0KKyAgICB9Cit9CisKK3N0YXRpYyB2b2lkIHRlc3RDaGFyUmFuZ2VCeXRlMyh4bWxQYXJzZXJDdHh0UHRyIGN0eHQsIGNoYXIgKmRhdGEpIHsKKyAgICBpbnQgaSwgaiwgaywgSzsKKyAgICBpbnQgbGVuLCBjOworICAgIHVuc2lnbmVkIGNoYXIgbG93c1s2XSA9IHswLCAweDgwLCAweDgxLCAweEMxLCAweEZGLCAweEJGfTsKKyAgICBpbnQgdmFsdWU7CisKKyAgICBkYXRhWzNdID0gMDsKKyAgICBmb3IgKGkgPSAweEUwO2kgPD0gMHhGRjtpKyspIHsKKyAgICBmb3IgKGogPSAwO2ogPD0gMHhGRjtqKyspIHsKKyAgICBmb3IgKGsgPSAwO2sgPCA2O2srKykgeworCWRhdGFbMF0gPSBpOworCWRhdGFbMV0gPSBqOworCUsgPSBsb3dzW2tdOworCWRhdGFbMl0gPSAoY2hhcikgSzsKKwl2YWx1ZSA9IChLICYgMHgzRikgKyAoKGogJiAweDNGKSA8PCA2KSArICgoaSAmIDB4RikgPDwgMTIpOworCWN0eHQtPmNoYXJzZXQgPSBYTUxfQ0hBUl9FTkNPRElOR19VVEY4OworCisJbGFzdEVycm9yID0gMDsKKwljID0geG1sQ3VycmVudENoYXIoY3R4dCwgJmxlbik7CisKKwkvKgorCSAqIGlmIGZvdXJ0aCBiaXQgb2YgZmlyc3QgY2hhciBpcyBzZXQsIHRoZW4gdGhlIHNlcXVlbmNlIHdvdWxkIG5lZWQKKwkgKiBhdCBsZWFzdCA0IGJ5dGVzLCBidXQgd2UgZ2l2ZSBvbmx5IDMgIQorCSAqLworCWlmICgoaSAmIDB4RjApID09IDB4RjApIHsKKwkgICAgaWYgKGxhc3RFcnJvciAhPSBYTUxfRVJSX0lOVkFMSURfQ0hBUikKKwkJZnByaW50ZihzdGRlcnIsCisJIkZhaWxlZCB0byBkZXRlY3QgaW52YWxpZCBjaGFyIGZvciBCeXRlcyAweCUwMlggMHglMDJYIDB4JTAyWCAweCUwMlhcbiIsCisJCQlpLCBqLCBLLCBkYXRhWzNdKTsKKwl9CisKKyAgICAgICAgLyoKKwkgKiBUaGUgc2Vjb25kIGFuZCB0aGUgdGhpcmQgYnl0ZXMgbXVzdCBzdGFydCB3aXRoIDEwCisJICovCisJZWxzZSBpZiAoKChqICYgMHhDMCkgIT0gMHg4MCkgfHwgKChLICYgMHhDMCkgIT0gMHg4MCkpIHsKKwkgICAgaWYgKGxhc3RFcnJvciAhPSBYTUxfRVJSX0lOVkFMSURfQ0hBUikKKwkJZnByaW50ZihzdGRlcnIsCisJIkZhaWxlZCB0byBkZXRlY3QgaW52YWxpZCBjaGFyIGZvciBCeXRlcyAweCUwMlggMHglMDJYIDB4JTAyWFxuIiwKKwkJCWksIGosIEspOworCX0KKworCS8qCisJICogaWYgdXNpbmcgYSAzIGJ5dGUgZW5jb2RpbmcgdGhlbiB0aGUgdmFsdWUgbXVzdCBiZSBncmVhdGVyCisJICogdGhhbiAweDgwMCwgaS5lLiBvbmUgb2YgYml0cyA0IHRvIDAgb2YgaSBtdXN0IGJlIHNldCBvcgorCSAqIHRoZSA2dGggYnl0ZSBvZiBkYXRhWzFdIG11c3QgYmUgc2V0CisJICovCisJZWxzZSBpZiAoKChpICYgMHhGKSA9PSAwKSAmJiAoKGogJiAweDIwKSA9PSAwKSkgeworCSAgICBpZiAobGFzdEVycm9yICE9IFhNTF9FUlJfSU5WQUxJRF9DSEFSKQorCQlmcHJpbnRmKHN0ZGVyciwKKwkgICAgIkZhaWxlZCB0byBkZXRlY3QgaW52YWxpZCBjaGFyIGZvciBCeXRlcyAweCUwMlggMHglMDJYIDB4JTAyWFxuIiwKKwkJCWksIGosIEspOworCX0KKworICAgICAgICAvKgorCSAqIFRoZXJlIGFyZSB2YWx1ZXMgaW4gdGhhdCByYW5nZSB0aGF0IGFyZSBub3QgYWxsb3dlZCBpbiBYTUwtMS4wCisJICovCisJZWxzZSBpZiAoKCh2YWx1ZSA+IDB4RDdGRikgJiYgKHZhbHVlIDwweEUwMDApKSB8fAorCSAgICAgICAgICgodmFsdWUgPiAweEZGRkQpICYmICh2YWx1ZSA8MHgxMDAwMCkpKSB7CisJICAgIGlmIChsYXN0RXJyb3IgIT0gWE1MX0VSUl9JTlZBTElEX0NIQVIpCisJCWZwcmludGYoc3RkZXJyLAorCSJGYWlsZWQgdG8gZGV0ZWN0IGludmFsaWQgY2hhciAweCUwNFggZm9yIEJ5dGVzIDB4JTAyWCAweCUwMlggMHglMDJYXG4iLAorCQkJdmFsdWUsIGksIGosIEspOworCX0KKworCS8qCisJICogV2Ugc2hvdWxkIHNlZSBubyBlcnJvciBpbiByZW1haW5pbmcgY2FzZXMKKwkgKi8KKwllbHNlIGlmICgobGFzdEVycm9yICE9IDApIHx8IChsZW4gIT0gMykpIHsKKwkgICAgZnByaW50ZihzdGRlcnIsCisJCSJGYWlsZWQgdG8gcGFyc2UgY2hhciBmb3IgQnl0ZXMgMHglMDJYIDB4JTAyWCAweCUwMlhcbiIsCisJCSAgICBpLCBqLCBLKTsKKwl9CisKKwkvKgorCSAqIEZpbmFsbHkgY2hlY2sgdGhlIHZhbHVlIGlzIHJpZ2h0CisJICovCisJZWxzZSBpZiAoYyAhPSB2YWx1ZSkgeworCSAgICBmcHJpbnRmKHN0ZGVyciwKKyAgICAiRmFpbGVkIHRvIHBhcnNlIGNoYXIgZm9yIEJ5dGVzIDB4JTAyWCAweCUwMlggMHglMDJYOiBleHBlY3QgJWQgZ290ICVkXG4iLAorCQlpLCBqLCBkYXRhWzJdLCB2YWx1ZSwgYyk7CisJfQorICAgIH0KKyAgICB9CisgICAgfQorfQorCitzdGF0aWMgdm9pZCB0ZXN0Q2hhclJhbmdlQnl0ZTQoeG1sUGFyc2VyQ3R4dFB0ciBjdHh0LCBjaGFyICpkYXRhKSB7CisgICAgaW50IGksIGosIGssIEssIGwsIEw7CisgICAgaW50IGxlbiwgYzsKKyAgICB1bnNpZ25lZCBjaGFyIGxvd3NbNl0gPSB7MCwgMHg4MCwgMHg4MSwgMHhDMSwgMHhGRiwgMHhCRn07CisgICAgaW50IHZhbHVlOworCisgICAgZGF0YVs0XSA9IDA7CisgICAgZm9yIChpID0gMHhGMDtpIDw9IDB4RkY7aSsrKSB7CisgICAgZm9yIChqID0gMDtqIDw9IDB4RkY7aisrKSB7CisgICAgZm9yIChrID0gMDtrIDwgNjtrKyspIHsKKyAgICBmb3IgKGwgPSAwO2wgPCA2O2wrKykgeworCWRhdGFbMF0gPSBpOworCWRhdGFbMV0gPSBqOworCUsgPSBsb3dzW2tdOworCWRhdGFbMl0gPSAoY2hhcikgSzsKKwlMID0gbG93c1tsXTsKKwlkYXRhWzNdID0gKGNoYXIpIEw7CisJdmFsdWUgPSAoTCAmIDB4M0YpICsgKChLICYgMHgzRikgPDwgNikgKyAoKGogJiAweDNGKSA8PCAxMikgKworCSAgICAgICAgKChpICYgMHg3KSA8PCAxOCk7CisJY3R4dC0+Y2hhcnNldCA9IFhNTF9DSEFSX0VOQ09ESU5HX1VURjg7CisKKwlsYXN0RXJyb3IgPSAwOworCWMgPSB4bWxDdXJyZW50Q2hhcihjdHh0LCAmbGVuKTsKKworCS8qCisJICogaWYgZmlmdGggYml0IG9mIGZpcnN0IGNoYXIgaXMgc2V0LCB0aGVuIHRoZSBzZXF1ZW5jZSB3b3VsZCBuZWVkCisJICogYXQgbGVhc3QgNSBieXRlcywgYnV0IHdlIGdpdmUgb25seSA0ICEKKwkgKi8KKwlpZiAoKGkgJiAweEY4KSA9PSAweEY4KSB7CisJICAgIGlmIChsYXN0RXJyb3IgIT0gWE1MX0VSUl9JTlZBTElEX0NIQVIpCisJCWZwcmludGYoc3RkZXJyLAorICAiRmFpbGVkIHRvIGRldGVjdCBpbnZhbGlkIGNoYXIgZm9yIEJ5dGVzIDB4JTAyWCAweCUwMlggMHglMDJYIDB4JTAyWFxuIiwKKwkJCWksIGosIEssIGRhdGFbM10pOworCX0KKworICAgICAgICAvKgorCSAqIFRoZSBzZWNvbmQsIHRoaXJkIGFuZCBmb3VydGggYnl0ZXMgbXVzdCBzdGFydCB3aXRoIDEwCisJICovCisJZWxzZSBpZiAoKChqICYgMHhDMCkgIT0gMHg4MCkgfHwgKChLICYgMHhDMCkgIT0gMHg4MCkgfHwKKwkgICAgICAgICAoKEwgJiAweEMwKSAhPSAweDgwKSkgeworCSAgICBpZiAobGFzdEVycm9yICE9IFhNTF9FUlJfSU5WQUxJRF9DSEFSKQorCQlmcHJpbnRmKHN0ZGVyciwKKwkiRmFpbGVkIHRvIGRldGVjdCBpbnZhbGlkIGNoYXIgZm9yIEJ5dGVzIDB4JTAyWCAweCUwMlggMHglMDJYIDB4JTAyWFxuIiwKKwkJCWksIGosIEssIEwpOworCX0KKworCS8qCisJICogaWYgdXNpbmcgYSAzIGJ5dGUgZW5jb2RpbmcgdGhlbiB0aGUgdmFsdWUgbXVzdCBiZSBncmVhdGVyCisJICogdGhhbiAweDEwMDAwLCBpLmUuIG9uZSBvZiBiaXRzIDMgdG8gMCBvZiBpIG11c3QgYmUgc2V0IG9yCisJICogdGhlIDYgb3IgNXRoIGJ5dGUgb2YgaiBtdXN0IGJlIHNldAorCSAqLworCWVsc2UgaWYgKCgoaSAmIDB4NykgPT0gMCkgJiYgKChqICYgMHgzMCkgPT0gMCkpIHsKKwkgICAgaWYgKGxhc3RFcnJvciAhPSBYTUxfRVJSX0lOVkFMSURfQ0hBUikKKwkJZnByaW50ZihzdGRlcnIsCisJIkZhaWxlZCB0byBkZXRlY3QgaW52YWxpZCBjaGFyIGZvciBCeXRlcyAweCUwMlggMHglMDJYIDB4JTAyWCAweCUwMlhcbiIsCisJCQlpLCBqLCBLLCBMKTsKKwl9CisKKyAgICAgICAgLyoKKwkgKiBUaGVyZSBhcmUgdmFsdWVzIGluIHRoYXQgcmFuZ2UgdGhhdCBhcmUgbm90IGFsbG93ZWQgaW4gWE1MLTEuMAorCSAqLworCWVsc2UgaWYgKCgodmFsdWUgPiAweEQ3RkYpICYmICh2YWx1ZSA8MHhFMDAwKSkgfHwKKwkgICAgICAgICAoKHZhbHVlID4gMHhGRkZEKSAmJiAodmFsdWUgPDB4MTAwMDApKSB8fAorCQkgKHZhbHVlID4gMHgxMEZGRkYpKSB7CisJICAgIGlmIChsYXN0RXJyb3IgIT0gWE1MX0VSUl9JTlZBTElEX0NIQVIpCisJCWZwcmludGYoc3RkZXJyLAorIkZhaWxlZCB0byBkZXRlY3QgaW52YWxpZCBjaGFyIDB4JTA0WCBmb3IgQnl0ZXMgMHglMDJYIDB4JTAyWCAweCUwMlggMHglMDJYXG4iLAorCQkJdmFsdWUsIGksIGosIEssIEwpOworCX0KKworCS8qCisJICogV2Ugc2hvdWxkIHNlZSBubyBlcnJvciBpbiByZW1haW5pbmcgY2FzZXMKKwkgKi8KKwllbHNlIGlmICgobGFzdEVycm9yICE9IDApIHx8IChsZW4gIT0gNCkpIHsKKwkgICAgZnByaW50ZihzdGRlcnIsCisJCSJGYWlsZWQgdG8gcGFyc2UgY2hhciBmb3IgQnl0ZXMgMHglMDJYIDB4JTAyWCAweCUwMlhcbiIsCisJCSAgICBpLCBqLCBLKTsKKwl9CisKKwkvKgorCSAqIEZpbmFsbHkgY2hlY2sgdGhlIHZhbHVlIGlzIHJpZ2h0CisJICovCisJZWxzZSBpZiAoYyAhPSB2YWx1ZSkgeworCSAgICBmcHJpbnRmKHN0ZGVyciwKKyAgICAiRmFpbGVkIHRvIHBhcnNlIGNoYXIgZm9yIEJ5dGVzIDB4JTAyWCAweCUwMlggMHglMDJYOiBleHBlY3QgJWQgZ290ICVkXG4iLAorCQlpLCBqLCBkYXRhWzJdLCB2YWx1ZSwgYyk7CisJfQorICAgIH0KKyAgICB9CisgICAgfQorICAgIH0KK30KKworLyoqCisgKiB0ZXN0Q2hhclJhbmdlczoKKyAqCisgKiBUZXN0IHRoZSBjb3JyZWN0IFVURjggY2hhcmFjdGVyIHBhcnNpbmcgaW4gaXNvbGF0aW9uIGkuZS4KKyAqIG5vdCB3aGVuIHBhcnNpbmcgYSBmdWxsIGRvY3VtZW50LCB0aGlzIGlzIGxlc3MgZXhwZW5zaXZlIGFuZCB3ZSBjYW4KKyAqIGNvdmVyIHRoZSBmdWxsIHJhbmdlIG9mIFVURi04IGNoYXJzIGFjY2VwdGVkIGJ5IFhNTC0xLjAKKyAqLworCitzdGF0aWMgdm9pZCB0ZXN0Q2hhclJhbmdlcyh2b2lkKSB7CisgICAgY2hhciBkYXRhWzVdOworICAgIHhtbFBhcnNlckN0eHRQdHIgY3R4dDsKKyAgICB4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciBidWY7CisgICAgeG1sUGFyc2VySW5wdXRQdHIgaW5wdXQ7CisKKyAgICBtZW1zZXQoZGF0YSwgMCwgNSk7CisKKyAgICAvKgorICAgICAqIFNldCB1cCBhIHBhcnNpbmcgY29udGV4dCB1c2luZyB0aGUgYWJvdmUgZGF0YSBidWZmZXIgYXMKKyAgICAgKiB0aGUgY3VycmVudCBpbnB1dCBzb3VyY2UuCisgICAgICovCisgICAgY3R4dCA9IHhtbE5ld1BhcnNlckN0eHQoKTsKKyAgICBpZiAoY3R4dCA9PSBOVUxMKSB7CisgICAgICAgIGZwcmludGYoc3RkZXJyLCAiRmFpbGVkIHRvIGFsbG9jYXRlIHBhcnNlciBjb250ZXh0XG4iKTsKKwlyZXR1cm47CisgICAgfQorICAgIGJ1ZiA9IHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlU3RhdGljKGRhdGEsIHNpemVvZihkYXRhKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfQ0hBUl9FTkNPRElOR19OT05FKTsKKyAgICBpZiAoYnVmID09IE5VTEwpIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJGYWlsZWQgdG8gYWxsb2NhdGUgaW5wdXQgYnVmZmVyXG4iKTsKKwlnb3RvIGVycm9yOworICAgIH0KKyAgICBpbnB1dCA9IHhtbE5ld0lucHV0U3RyZWFtKGN0eHQpOworICAgIGlmIChpbnB1dCA9PSBOVUxMKSB7CisgICAgICAgIHhtbEZyZWVQYXJzZXJJbnB1dEJ1ZmZlcihidWYpOworCWdvdG8gZXJyb3I7CisgICAgfQorICAgIGlucHV0LT5maWxlbmFtZSA9IE5VTEw7CisgICAgaW5wdXQtPmJ1ZiA9IGJ1ZjsKKyAgICBpbnB1dC0+Y3VyID0KKyAgICBpbnB1dC0+YmFzZSA9IHhtbEJ1ZkNvbnRlbnQoaW5wdXQtPmJ1Zi0+YnVmZmVyKTsKKyAgICBpbnB1dC0+ZW5kID0gaW5wdXQtPmJhc2UgKyA0OworICAgIGlucHV0UHVzaChjdHh0LCBpbnB1dCk7CisKKyAgICBwcmludGYoInRlc3RpbmcgY2hhciByYW5nZTogMSIpOworICAgIGZmbHVzaChzdGRvdXQpOworICAgIHRlc3RDaGFyUmFuZ2VCeXRlMShjdHh0LCBkYXRhKTsKKyAgICBwcmludGYoIiAyIik7CisgICAgZmZsdXNoKHN0ZG91dCk7CisgICAgdGVzdENoYXJSYW5nZUJ5dGUyKGN0eHQsIGRhdGEpOworICAgIHByaW50ZigiIDMiKTsKKyAgICBmZmx1c2goc3Rkb3V0KTsKKyAgICB0ZXN0Q2hhclJhbmdlQnl0ZTMoY3R4dCwgZGF0YSk7CisgICAgcHJpbnRmKCIgNCIpOworICAgIGZmbHVzaChzdGRvdXQpOworICAgIHRlc3RDaGFyUmFuZ2VCeXRlNChjdHh0LCBkYXRhKTsKKyAgICBwcmludGYoIiBkb25lXG4iKTsKKyAgICBmZmx1c2goc3Rkb3V0KTsKKworZXJyb3I6CisgICAgeG1sRnJlZVBhcnNlckN0eHQoY3R4dCk7Cit9CisKK2ludCBtYWluKHZvaWQpIHsKKworICAgIC8qCisgICAgICogdGhpcyBpbml0aWFsaXplIHRoZSBsaWJyYXJ5IGFuZCBjaGVjayBwb3RlbnRpYWwgQUJJIG1pc21hdGNoZXMKKyAgICAgKiBiZXR3ZWVuIHRoZSB2ZXJzaW9uIGl0IHdhcyBjb21waWxlZCBmb3IgYW5kIHRoZSBhY3R1YWwgc2hhcmVkCisgICAgICogbGlicmFyeSB1c2VkLgorICAgICAqLworICAgIExJQlhNTF9URVNUX1ZFUlNJT04KKworICAgIC8qCisgICAgICogQ2F0Y2ggZXJyb3JzIHNlcGFyYXRlbHkKKyAgICAgKi8KKworICAgIHhtbFNldFN0cnVjdHVyZWRFcnJvckZ1bmMoTlVMTCwgZXJyb3JIYW5kbGVyKTsKKworICAgIC8qCisgICAgICogUnVuIHRoZSB0ZXN0cworICAgICAqLworICAgIHRlc3RDaGFyUmFuZ2VzKCk7CisgICAgdGVzdERvY3VtZW50UmFuZ2VzKCk7CisKKyAgICAvKgorICAgICAqIENsZWFudXAgZnVuY3Rpb24gZm9yIHRoZSBYTUwgbGlicmFyeS4KKyAgICAgKi8KKyAgICB4bWxDbGVhbnVwUGFyc2VyKCk7CisgICAgLyoKKyAgICAgKiB0aGlzIGlzIHRvIGRlYnVnIG1lbW9yeSBmb3IgcmVncmVzc2lvbiB0ZXN0cworICAgICAqLworICAgIHhtbE1lbW9yeUR1bXAoKTsKKyAgICByZXR1cm4oMCk7Cit9CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3RkaWN0LmMgYi9saWJ4bWwyL3Rlc3RkaWN0LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDBiZWJkMAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdGRpY3QuYwpAQCAtMCwwICsxLDQ0NCBAQAorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGxpYnhtbC9wYXJzZXIuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvZGljdC5oPgorCisvKiAjZGVmaW5lIFdJVEhfUFJJTlQgKi8KKworc3RhdGljIGNvbnN0IGNoYXIgKnNlZWRzMVtdID0geworICAgImEiLCAiYiIsICJjIiwKKyAgICJkIiwgImUiLCAiZiIsCisgICAiZyIsICJoIiwgImkiLAorICAgImoiLCAiayIsICJsIiwKKworICAgTlVMTAorfTsKKworc3RhdGljIGNvbnN0IGNoYXIgKnNlZWRzMltdID0geworICAgIm0iLCAibiIsICJvIiwKKyAgICJwIiwgInEiLCAiciIsCisgICAicyIsICJ0IiwgInUiLAorICAgInYiLCAidyIsICJ4IiwKKworICAgTlVMTAorfTsKKworI2RlZmluZSBOQl9TVFJJTkdTX05TIDEwMAorI2RlZmluZSBOQl9TVFJJTkdTX01BWCAxMDAwMAorI2RlZmluZSBOQl9TVFJJTkdTX01JTiAxMAorCitzdGF0aWMgeG1sQ2hhciAqc3RyaW5nczFbTkJfU1RSSU5HU19NQVhdOworc3RhdGljIHhtbENoYXIgKnN0cmluZ3MyW05CX1NUUklOR1NfTUFYXTsKK3N0YXRpYyBjb25zdCB4bWxDaGFyICp0ZXN0MVtOQl9TVFJJTkdTX01BWF07CitzdGF0aWMgY29uc3QgeG1sQ2hhciAqdGVzdDJbTkJfU1RSSU5HU19NQVhdOworc3RhdGljIGludCBuYkVycm9ycyA9IDA7CisKK3N0YXRpYyB2b2lkIGZpbGxfc3RyaW5ncyh2b2lkKSB7CisgICAgaW50IGksIGosIGs7CisKKyAgICAvKgorICAgICAqIFRoYXQncyBhIGJpdCBuYXN0eSBidXQgdGhlIG91dHB1dCBpcyBmaW5lIGFuZCBpdCBkb2Vzbid0IHRha2UgaG91cnMKKyAgICAgKiB0aGVyZSBpcyBhIHNtYWxsIGJ1dCBzdWZmaWNpZW50IG51bWJlciBvZiBkdXBsaWNhdGVzLCBhbmQgd2UgaGF2ZQorICAgICAqICI6eHh4IiBhbmQgZnVsbCBRTmFtZXMgaW4gdGhlIGxhc3QgTkJfU1RSSU5HU19OUyB2YWx1ZXMKKyAgICAgKi8KKyAgICBmb3IgKGkgPSAwOyBzZWVkczFbaV0gIT0gTlVMTDsgaSsrKSB7CisgICAgICAgIHN0cmluZ3MxW2ldID0geG1sU3RyZHVwKChjb25zdCB4bWxDaGFyICopIHNlZWRzMVtpXSk7CisJaWYgKHN0cmluZ3MxW2ldID09IE5VTEwpIHsKKwkgICAgZnByaW50ZihzdGRlcnIsICJPdXQgb2YgbWVtb3J5IHdoaWxlIGdlbmVyYXRpbmcgc3RyaW5nczFcbiIpOworCSAgICBleGl0KDEpOworCX0KKyAgICB9CisgICAgZm9yIChqID0gMCwgayA9IDA7aSA8IE5CX1NUUklOR1NfTUFYIC0gTkJfU1RSSU5HU19OUztpKyssaisrKSB7CisgICAgICAgIHN0cmluZ3MxW2ldID0geG1sU3RybmNhdE5ldyhzdHJpbmdzMVtqXSwgc3RyaW5nczFba10sIC0xKTsKKwlpZiAoc3RyaW5nczFbaV0gPT0gTlVMTCkgeworCSAgICBmcHJpbnRmKHN0ZGVyciwgIk91dCBvZiBtZW1vcnkgd2hpbGUgZ2VuZXJhdGluZyBzdHJpbmdzMVxuIik7CisJICAgIGV4aXQoMSk7CisJfQorCWlmIChqID49IDUwKSB7CisJICAgIGogPSAwOworCSAgICBrKys7CisJfQorICAgIH0KKyAgICBmb3IgKGogPSAwOyAoaiA8IDUwKSAmJiAoaSA8IE5CX1NUUklOR1NfTUFYKTsgaSsrLCBqKz0yKSB7CisgICAgICAgIHN0cmluZ3MxW2ldID0geG1sU3RybmNhdE5ldyhzdHJpbmdzMVtqXSwgKGNvbnN0IHhtbENoYXIgKikgIjoiLCAtMSk7CisJaWYgKHN0cmluZ3MxW2ldID09IE5VTEwpIHsKKwkgICAgZnByaW50ZihzdGRlcnIsICJPdXQgb2YgbWVtb3J5IHdoaWxlIGdlbmVyYXRpbmcgc3RyaW5nczFcbiIpOworCSAgICBleGl0KDEpOworCX0KKyAgICB9CisgICAgZm9yIChqID0gTkJfU1RSSU5HU19NQVggLSBOQl9TVFJJTkdTX05TLCBrID0gMDsKKyAgICAgICAgIGkgPCBOQl9TVFJJTkdTX01BWDtpKyssaisrKSB7CisgICAgICAgIHN0cmluZ3MxW2ldID0geG1sU3RybmNhdE5ldyhzdHJpbmdzMVtqXSwgc3RyaW5nczFba10sIC0xKTsKKwlpZiAoc3RyaW5nczFbaV0gPT0gTlVMTCkgeworCSAgICBmcHJpbnRmKHN0ZGVyciwgIk91dCBvZiBtZW1vcnkgd2hpbGUgZ2VuZXJhdGluZyBzdHJpbmdzMVxuIik7CisJICAgIGV4aXQoMSk7CisJfQorCWsgKz0gMzsKKwlpZiAoayA+PSA1MCkgayA9IDA7CisgICAgfQorCisgICAgLyoKKyAgICAgKiBOb3cgZG8gdGhlIHNhbWUgd2l0aCB0aGUgc2Vjb25kIHBvb2wgb2Ygc3RyaW5ncworICAgICAqLworICAgIGZvciAoaSA9IDA7IHNlZWRzMltpXSAhPSBOVUxMOyBpKyspIHsKKyAgICAgICAgc3RyaW5nczJbaV0gPSB4bWxTdHJkdXAoKGNvbnN0IHhtbENoYXIgKikgc2VlZHMyW2ldKTsKKwlpZiAoc3RyaW5nczJbaV0gPT0gTlVMTCkgeworCSAgICBmcHJpbnRmKHN0ZGVyciwgIk91dCBvZiBtZW1vcnkgd2hpbGUgZ2VuZXJhdGluZyBzdHJpbmdzMlxuIik7CisJICAgIGV4aXQoMSk7CisJfQorICAgIH0KKyAgICBmb3IgKGogPSAwLCBrID0gMDtpIDwgTkJfU1RSSU5HU19NQVggLSBOQl9TVFJJTkdTX05TO2krKyxqKyspIHsKKyAgICAgICAgc3RyaW5nczJbaV0gPSB4bWxTdHJuY2F0TmV3KHN0cmluZ3MyW2pdLCBzdHJpbmdzMltrXSwgLTEpOworCWlmIChzdHJpbmdzMltpXSA9PSBOVUxMKSB7CisJICAgIGZwcmludGYoc3RkZXJyLCAiT3V0IG9mIG1lbW9yeSB3aGlsZSBnZW5lcmF0aW5nIHN0cmluZ3MyXG4iKTsKKwkgICAgZXhpdCgxKTsKKwl9CisJaWYgKGogPj0gNTApIHsKKwkgICAgaiA9IDA7CisJICAgIGsrKzsKKwl9CisgICAgfQorICAgIGZvciAoaiA9IDA7IChqIDwgNTApICYmIChpIDwgTkJfU1RSSU5HU19NQVgpOyBpKyssIGorPTIpIHsKKyAgICAgICAgc3RyaW5nczJbaV0gPSB4bWxTdHJuY2F0TmV3KHN0cmluZ3MyW2pdLCAoY29uc3QgeG1sQ2hhciAqKSAiOiIsIC0xKTsKKwlpZiAoc3RyaW5nczJbaV0gPT0gTlVMTCkgeworCSAgICBmcHJpbnRmKHN0ZGVyciwgIk91dCBvZiBtZW1vcnkgd2hpbGUgZ2VuZXJhdGluZyBzdHJpbmdzMlxuIik7CisJICAgIGV4aXQoMSk7CisJfQorICAgIH0KKyAgICBmb3IgKGogPSBOQl9TVFJJTkdTX01BWCAtIE5CX1NUUklOR1NfTlMsIGsgPSAwOworICAgICAgICAgaSA8IE5CX1NUUklOR1NfTUFYO2krKyxqKyspIHsKKyAgICAgICAgc3RyaW5nczJbaV0gPSB4bWxTdHJuY2F0TmV3KHN0cmluZ3MyW2pdLCBzdHJpbmdzMltrXSwgLTEpOworCWlmIChzdHJpbmdzMltpXSA9PSBOVUxMKSB7CisJICAgIGZwcmludGYoc3RkZXJyLCAiT3V0IG9mIG1lbW9yeSB3aGlsZSBnZW5lcmF0aW5nIHN0cmluZ3MyXG4iKTsKKwkgICAgZXhpdCgxKTsKKwl9CisJayArPSAzOworCWlmIChrID49IDUwKSBrID0gMDsKKyAgICB9CisKK30KKworI2lmZGVmIFdJVEhfUFJJTlQKK3N0YXRpYyB2b2lkIHByaW50X3N0cmluZ3Modm9pZCkgeworICAgIGludCBpOworCisgICAgZm9yIChpID0gMDsgaSA8IE5CX1NUUklOR1NfTUFYO2krKykgeworICAgICAgICBwcmludGYoIiVzXG4iLCBzdHJpbmdzMVtpXSk7CisgICAgfQorICAgIGZvciAoaSA9IDA7IGkgPCBOQl9TVFJJTkdTX01BWDtpKyspIHsKKyAgICAgICAgcHJpbnRmKCIlc1xuIiwgc3RyaW5nczJbaV0pOworICAgIH0KK30KKyNlbmRpZgorCitzdGF0aWMgdm9pZCBjbGVhbl9zdHJpbmdzKHZvaWQpIHsKKyAgICBpbnQgaTsKKworICAgIGZvciAoaSA9IDA7IGkgPCBOQl9TVFJJTkdTX01BWDsgaSsrKSB7CisgICAgICAgIGlmIChzdHJpbmdzMVtpXSAhPSBOVUxMKSAvKiByZWFsbHkgc2hvdWxkIG5vdCBoYXBwZW4gKi8KKwkgICAgeG1sRnJlZShzdHJpbmdzMVtpXSk7CisgICAgfQorICAgIGZvciAoaSA9IDA7IGkgPCBOQl9TVFJJTkdTX01BWDsgaSsrKSB7CisgICAgICAgIGlmIChzdHJpbmdzMltpXSAhPSBOVUxMKSAvKiByZWFsbHkgc2hvdWxkIG5vdCBoYXBwZW4gKi8KKwkgICAgeG1sRnJlZShzdHJpbmdzMltpXSk7CisgICAgfQorfQorCisvKgorICogVGhpcyB0ZXN0cyB0aGUgc3ViLWRpY3Rpb25hcnkgc3VwcG9ydAorICovCitzdGF0aWMgaW50IHJ1bl90ZXN0Mih4bWxEaWN0UHRyIHBhcmVudCkgeworICAgIGludCBpLCBqOworICAgIHhtbERpY3RQdHIgZGljdDsKKyAgICBpbnQgcmV0ID0gMDsKKyAgICB4bWxDaGFyIHByZWZpeFs0MF07CisgICAgeG1sQ2hhciAqY3VyLCAqcHJlZjsKKyAgICBjb25zdCB4bWxDaGFyICp0bXA7CisKKyAgICBkaWN0ID0geG1sRGljdENyZWF0ZVN1YihwYXJlbnQpOworICAgIGlmIChkaWN0ID09IE5VTEwpIHsKKwlmcHJpbnRmKHN0ZGVyciwgIk91dCBvZiBtZW1vcnkgd2hpbGUgY3JlYXRpbmcgc3ViLWRpY3Rpb25hcnlcbiIpOworCWV4aXQoMSk7CisgICAgfQorICAgIG1lbXNldCh0ZXN0MiwgMCwgc2l6ZW9mKHRlc3QyKSk7CisKKyAgICAvKgorICAgICAqIEZpbGwgaW4gTkJfU1RSSU5HU19NSU4sIGF0IHRoaXMgcG9pbnQgdGhlIGRpY3Rpb25hcnkgc2hvdWxkIG5vdCBncm93CisgICAgICogYW5kIHdlIGFsbG9jYXRlIGFsbCB0aG9zZSBkb2luZyB0aGUgZmFzdCBrZXkgY29tcHV0YXRpb25zCisgICAgICogQWxsIHRoZSBzdHJpbmdzIGFyZSBiYXNlZCBvbiBhIGRpZmZlcmVudCBzZWVkcyBzdWJzZXQgc28gd2Uga25vdworICAgICAqIHRoZXkgYXJlIGFsbG9jYXRlZCBpbiB0aGUgbWFpbiBkaWN0aW9uYXJ5LCBub3QgY29taW5nIGZyb20gdGhlIHBhcmVudAorICAgICAqLworICAgIGZvciAoaSA9IDA7aSA8IE5CX1NUUklOR1NfTUlOO2krKykgeworICAgICAgICB0ZXN0MltpXSA9IHhtbERpY3RMb29rdXAoZGljdCwgc3RyaW5nczJbaV0sIC0xKTsKKwlpZiAodGVzdDJbaV0gPT0gTlVMTCkgeworCSAgICBmcHJpbnRmKHN0ZGVyciwgIkZhaWxlZCBsb29rdXAgZm9yICclcydcbiIsIHN0cmluZ3MyW2ldKTsKKwkgICAgcmV0ID0gMTsKKwkgICAgbmJFcnJvcnMrKzsKKwl9CisgICAgfQorICAgIGogPSBOQl9TVFJJTkdTX01BWCAtIE5CX1NUUklOR1NfTlM7CisgICAgLyogIjpmb28iIGxpa2Ugc3RyaW5nczIgKi8KKyAgICBmb3IgKGkgPSAwO2kgPCBOQl9TVFJJTkdTX01JTjtpKyssIGorKykgeworICAgICAgICB0ZXN0MltqXSA9IHhtbERpY3RMb29rdXAoZGljdCwgc3RyaW5nczJbal0sIHhtbFN0cmxlbihzdHJpbmdzMltqXSkpOworCWlmICh0ZXN0MltqXSA9PSBOVUxMKSB7CisJICAgIGZwcmludGYoc3RkZXJyLCAiRmFpbGVkIGxvb2t1cCBmb3IgJyVzJ1xuIiwgc3RyaW5nczJbal0pOworCSAgICByZXQgPSAxOworCSAgICBuYkVycm9ycysrOworCX0KKyAgICB9CisgICAgLyogImE6Zm9vIiBsaWtlIHN0cmluZ3MyICovCisgICAgaiA9IE5CX1NUUklOR1NfTUFYIC0gTkJfU1RSSU5HU19NSU47CisgICAgZm9yIChpID0gMDtpIDwgTkJfU1RSSU5HU19NSU47aSsrLCBqKyspIHsKKyAgICAgICAgdGVzdDJbal0gPSB4bWxEaWN0TG9va3VwKGRpY3QsIHN0cmluZ3MyW2pdLCB4bWxTdHJsZW4oc3RyaW5nczJbal0pKTsKKwlpZiAodGVzdDJbal0gPT0gTlVMTCkgeworCSAgICBmcHJpbnRmKHN0ZGVyciwgIkZhaWxlZCBsb29rdXAgZm9yICclcydcbiIsIHN0cmluZ3MyW2pdKTsKKwkgICAgcmV0ID0gMTsKKwkgICAgbmJFcnJvcnMrKzsKKwl9CisgICAgfQorCisgICAgLyoKKyAgICAgKiBBdCB0aGlzIHBvaW50IGFsbG9jYXRlIGFsbCB0aGUgc3RyaW5ncworICAgICAqIHRoZSBkaWN0aW9uYXJ5IHdpbGwgZ3JvdyBpbiB0aGUgcHJvY2VzcywgcmVhbGxvY2F0ZSBtb3JlIHN0cmluZyB0YWJsZXMKKyAgICAgKiBhbmQgc3dpdGNoIHRvIHRoZSBiZXR0ZXIga2V5IGdlbmVyYXRvcgorICAgICAqLworICAgIGZvciAoaSA9IDA7aSA8IE5CX1NUUklOR1NfTUFYO2krKykgeworICAgICAgICBpZiAodGVzdDJbaV0gIT0gTlVMTCkKKwkgICAgY29udGludWU7CisJdGVzdDJbaV0gPSB4bWxEaWN0TG9va3VwKGRpY3QsIHN0cmluZ3MyW2ldLCAtMSk7CisJaWYgKHRlc3QyW2ldID09IE5VTEwpIHsKKwkgICAgZnByaW50ZihzdGRlcnIsICJGYWlsZWQgbG9va3VwIGZvciAnJXMnXG4iLCBzdHJpbmdzMltpXSk7CisJICAgIHJldCA9IDE7CisJICAgIG5iRXJyb3JzKys7CisJfQorICAgIH0KKworICAgIC8qCisgICAgICogTm93IHdlIGNhbiBzdGFydCB0byB0ZXN0IHRoaW5ncywgZmlyc3QgdGhhdCBhbGwgc3RyaW5nczIgYmVsb25ncyB0bworICAgICAqIHRoZSBkaWN0LCBhbmQgdGhhdCBub25lIG9mIHRoZW0gd2FzIGFjdHVhbGx5IGFsbG9jYXRlZCBpbiB0aGUgcGFyZW50CisgICAgICovCisgICAgZm9yIChpID0gMDtpIDwgTkJfU1RSSU5HU19NQVg7aSsrKSB7CisgICAgICAgIGlmICgheG1sRGljdE93bnMoZGljdCwgdGVzdDJbaV0pKSB7CisJICAgIGZwcmludGYoc3RkZXJyLCAiRmFpbGVkIG93bmVyc2hpcCBmYWlsdXJlIGZvciAnJXMnXG4iLAorCSAgICAgICAgICAgIHN0cmluZ3MyW2ldKTsKKwkgICAgcmV0ID0gMTsKKwkgICAgbmJFcnJvcnMrKzsKKwl9CisgICAgICAgIGlmICh4bWxEaWN0T3ducyhwYXJlbnQsIHRlc3QyW2ldKSkgeworCSAgICBmcHJpbnRmKHN0ZGVyciwgIkZhaWxlZCBwYXJlbnQgb3duZXJzaGlwIGZhaWx1cmUgZm9yICclcydcbiIsCisJICAgICAgICAgICAgc3RyaW5nczJbaV0pOworCSAgICByZXQgPSAxOworCSAgICBuYkVycm9ycysrOworCX0KKyAgICB9CisKKyAgICAvKgorICAgICAqIEFsc28gdmVyaWZ5IHRoYXQgYWxsIHN0cmluZ3MgZnJvbSB0aGUgcGFyZW50IGFyZSBzZWVuIGZyb20gdGhlIHN1YmRpY3QKKyAgICAgKi8KKyAgICBmb3IgKGkgPSAwO2kgPCBOQl9TVFJJTkdTX01BWDtpKyspIHsKKyAgICAgICAgaWYgKCF4bWxEaWN0T3ducyhkaWN0LCB0ZXN0MVtpXSkpIHsKKwkgICAgZnByaW50ZihzdGRlcnIsICJGYWlsZWQgc3ViLW93bmVyc2hpcCBmYWlsdXJlIGZvciAnJXMnXG4iLAorCSAgICAgICAgICAgIHN0cmluZ3MxW2ldKTsKKwkgICAgcmV0ID0gMTsKKwkgICAgbmJFcnJvcnMrKzsKKwl9CisgICAgfQorCisgICAgLyoKKyAgICAgKiBUaGVuIHRoYXQgYW5vdGhlciBsb29rdXAgdG8gdGhlIHN0cmluZyBpbiBzdWIgd2lsbCByZXR1cm4gdGhlIHNhbWUKKyAgICAgKi8KKyAgICBmb3IgKGkgPSAwO2kgPCBOQl9TVFJJTkdTX01BWDtpKyspIHsKKyAgICAgICAgaWYgKHhtbERpY3RMb29rdXAoZGljdCwgc3RyaW5nczJbaV0sIC0xKSAhPSB0ZXN0MltpXSkgeworCSAgICBmcHJpbnRmKHN0ZGVyciwgIkZhaWxlZCByZS1sb29rdXAgY2hlY2sgZm9yICVkLCAnJXMnXG4iLAorCSAgICAgICAgICAgIGksIHN0cmluZ3MyW2ldKTsKKwkgICAgcmV0ID0gMTsKKwkgICAgbmJFcnJvcnMrKzsKKwl9CisgICAgfQorICAgIC8qCisgICAgICogQnV0IGFsc28gdGhhdCBhbnkgbG9va3VwIGZvciBhIHN0cmluZyBpbiB0aGUgcGFyZW50IHdpbGwgYmUgcHJvdmlkZWQKKyAgICAgKiBhcyBpbiB0aGUgcGFyZW50CisgICAgICovCisgICAgZm9yIChpID0gMDtpIDwgTkJfU1RSSU5HU19NQVg7aSsrKSB7CisgICAgICAgIGlmICh4bWxEaWN0TG9va3VwKGRpY3QsIHN0cmluZ3MxW2ldLCAtMSkgIT0gdGVzdDFbaV0pIHsKKwkgICAgZnByaW50ZihzdGRlcnIsICJGYWlsZWQgcGFyZW50IHN0cmluZyBsb29rdXAgY2hlY2sgZm9yICVkLCAnJXMnXG4iLAorCSAgICAgICAgICAgIGksIHN0cmluZ3MxW2ldKTsKKwkgICAgcmV0ID0gMTsKKwkgICAgbmJFcnJvcnMrKzsKKwl9CisgICAgfQorCisgICAgLyoKKyAgICAgKiBjaGVjayB0aGUgUU5hbWUgbG9va3VwcworICAgICAqLworICAgIGZvciAoaSA9IE5CX1NUUklOR1NfTUFYIC0gTkJfU1RSSU5HU19OUztpIDwgTkJfU1RSSU5HU19NQVg7aSsrKSB7CisgICAgICAgIGN1ciA9IHN0cmluZ3MyW2ldOworCXByZWYgPSAmcHJlZml4WzBdOworCXdoaWxlICgqY3VyICE9ICc6JykgKnByZWYrKyA9ICpjdXIrKzsKKwljdXIrKzsKKwkqcHJlZiA9IDA7CisJdG1wID0geG1sRGljdFFMb29rdXAoZGljdCwgJnByZWZpeFswXSwgY3VyKTsKKwlpZiAodG1wICE9IHRlc3QyW2ldKSB7CisJICAgIGZwcmludGYoc3RkZXJyLCAiRmFpbGVkIGxvb2t1cCBjaGVjayBmb3IgJyVzJzonJXMnXG4iLAorCSAgICAgICAgICAgICZwcmVmaXhbMF0sIGN1cik7CisgICAgICAgICAgICByZXQgPSAxOworCSAgICBuYkVycm9ycysrOworCX0KKyAgICB9CisgICAgLyoKKyAgICAgKiBjaGVjayB0aGUgUU5hbWUgbG9va3VwcyBmb3Igc3RyaW5ncyBmcm9tIHRoZSBwYXJlbnQKKyAgICAgKi8KKyAgICBmb3IgKGkgPSBOQl9TVFJJTkdTX01BWCAtIE5CX1NUUklOR1NfTlM7aSA8IE5CX1NUUklOR1NfTUFYO2krKykgeworICAgICAgICBjdXIgPSBzdHJpbmdzMVtpXTsKKwlwcmVmID0gJnByZWZpeFswXTsKKwl3aGlsZSAoKmN1ciAhPSAnOicpICpwcmVmKysgPSAqY3VyKys7CisJY3VyKys7CisJKnByZWYgPSAwOworCXRtcCA9IHhtbERpY3RRTG9va3VwKGRpY3QsICZwcmVmaXhbMF0sIGN1cik7CisJaWYgKHhtbERpY3RRTG9va3VwKGRpY3QsICZwcmVmaXhbMF0sIGN1cikgIT0gdGVzdDFbaV0pIHsKKwkgICAgZnByaW50ZihzdGRlcnIsICJGYWlsZWQgcGFyZW50IGxvb2t1cCBjaGVjayBmb3IgJyVzJzonJXMnXG4iLAorCSAgICAgICAgICAgICZwcmVmaXhbMF0sIGN1cik7CisgICAgICAgICAgICByZXQgPSAxOworCSAgICBuYkVycm9ycysrOworCX0KKyAgICB9CisKKyAgICB4bWxEaWN0RnJlZShkaWN0KTsKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoKKyAqIFRlc3QgYSBzaW5nbGUgZGljdGlvbmFyeQorICovCitzdGF0aWMgaW50IHJ1bl90ZXN0MSh2b2lkKSB7CisgICAgaW50IGksIGo7CisgICAgeG1sRGljdFB0ciBkaWN0OworICAgIGludCByZXQgPSAwOworICAgIHhtbENoYXIgcHJlZml4WzQwXTsKKyAgICB4bWxDaGFyICpjdXIsICpwcmVmOworICAgIGNvbnN0IHhtbENoYXIgKnRtcDsKKworICAgIGRpY3QgPSB4bWxEaWN0Q3JlYXRlKCk7CisgICAgaWYgKGRpY3QgPT0gTlVMTCkgeworCWZwcmludGYoc3RkZXJyLCAiT3V0IG9mIG1lbW9yeSB3aGlsZSBjcmVhdGluZyBkaWN0aW9uYXJ5XG4iKTsKKwlleGl0KDEpOworICAgIH0KKyAgICBtZW1zZXQodGVzdDEsIDAsIHNpemVvZih0ZXN0MSkpOworCisgICAgLyoKKyAgICAgKiBGaWxsIGluIE5CX1NUUklOR1NfTUlOLCBhdCB0aGlzIHBvaW50IHRoZSBkaWN0aW9uYXJ5IHNob3VsZCBub3QgZ3JvdworICAgICAqIGFuZCB3ZSBhbGxvY2F0ZSBhbGwgdGhvc2UgZG9pbmcgdGhlIGZhc3Qga2V5IGNvbXB1dGF0aW9ucworICAgICAqLworICAgIGZvciAoaSA9IDA7aSA8IE5CX1NUUklOR1NfTUlOO2krKykgeworICAgICAgICB0ZXN0MVtpXSA9IHhtbERpY3RMb29rdXAoZGljdCwgc3RyaW5nczFbaV0sIC0xKTsKKwlpZiAodGVzdDFbaV0gPT0gTlVMTCkgeworCSAgICBmcHJpbnRmKHN0ZGVyciwgIkZhaWxlZCBsb29rdXAgZm9yICclcydcbiIsIHN0cmluZ3MxW2ldKTsKKwkgICAgcmV0ID0gMTsKKwkgICAgbmJFcnJvcnMrKzsKKwl9CisgICAgfQorICAgIGogPSBOQl9TVFJJTkdTX01BWCAtIE5CX1NUUklOR1NfTlM7CisgICAgLyogIjpmb28iIGxpa2Ugc3RyaW5nczEgKi8KKyAgICBmb3IgKGkgPSAwO2kgPCBOQl9TVFJJTkdTX01JTjtpKyssIGorKykgeworICAgICAgICB0ZXN0MVtqXSA9IHhtbERpY3RMb29rdXAoZGljdCwgc3RyaW5nczFbal0sIHhtbFN0cmxlbihzdHJpbmdzMVtqXSkpOworCWlmICh0ZXN0MVtqXSA9PSBOVUxMKSB7CisJICAgIGZwcmludGYoc3RkZXJyLCAiRmFpbGVkIGxvb2t1cCBmb3IgJyVzJ1xuIiwgc3RyaW5nczFbal0pOworCSAgICByZXQgPSAxOworCSAgICBuYkVycm9ycysrOworCX0KKyAgICB9CisgICAgLyogImE6Zm9vIiBsaWtlIHN0cmluZ3MxICovCisgICAgaiA9IE5CX1NUUklOR1NfTUFYIC0gTkJfU1RSSU5HU19NSU47CisgICAgZm9yIChpID0gMDtpIDwgTkJfU1RSSU5HU19NSU47aSsrLCBqKyspIHsKKyAgICAgICAgdGVzdDFbal0gPSB4bWxEaWN0TG9va3VwKGRpY3QsIHN0cmluZ3MxW2pdLCB4bWxTdHJsZW4oc3RyaW5nczFbal0pKTsKKwlpZiAodGVzdDFbal0gPT0gTlVMTCkgeworCSAgICBmcHJpbnRmKHN0ZGVyciwgIkZhaWxlZCBsb29rdXAgZm9yICclcydcbiIsIHN0cmluZ3MxW2pdKTsKKwkgICAgcmV0ID0gMTsKKwkgICAgbmJFcnJvcnMrKzsKKwl9CisgICAgfQorCisgICAgLyoKKyAgICAgKiBBdCB0aGlzIHBvaW50IGFsbG9jYXRlIGFsbCB0aGUgc3RyaW5ncworICAgICAqIHRoZSBkaWN0aW9uYXJ5IHdpbGwgZ3JvdyBpbiB0aGUgcHJvY2VzcywgcmVhbGxvY2F0ZSBtb3JlIHN0cmluZyB0YWJsZXMKKyAgICAgKiBhbmQgc3dpdGNoIHRvIHRoZSBiZXR0ZXIga2V5IGdlbmVyYXRvcgorICAgICAqLworICAgIGZvciAoaSA9IDA7aSA8IE5CX1NUUklOR1NfTUFYO2krKykgeworICAgICAgICBpZiAodGVzdDFbaV0gIT0gTlVMTCkKKwkgICAgY29udGludWU7CisJdGVzdDFbaV0gPSB4bWxEaWN0TG9va3VwKGRpY3QsIHN0cmluZ3MxW2ldLCAtMSk7CisJaWYgKHRlc3QxW2ldID09IE5VTEwpIHsKKwkgICAgZnByaW50ZihzdGRlcnIsICJGYWlsZWQgbG9va3VwIGZvciAnJXMnXG4iLCBzdHJpbmdzMVtpXSk7CisJICAgIHJldCA9IDE7CisJICAgIG5iRXJyb3JzKys7CisJfQorICAgIH0KKworICAgIC8qCisgICAgICogTm93IHdlIGNhbiBzdGFydCB0byB0ZXN0IHRoaW5ncywgZmlyc3QgdGhhdCBhbGwgc3RyaW5nczEgYmVsb25ncyB0bworICAgICAqIHRoZSBkaWN0CisgICAgICovCisgICAgZm9yIChpID0gMDtpIDwgTkJfU1RSSU5HU19NQVg7aSsrKSB7CisgICAgICAgIGlmICgheG1sRGljdE93bnMoZGljdCwgdGVzdDFbaV0pKSB7CisJICAgIGZwcmludGYoc3RkZXJyLCAiRmFpbGVkIG93bmVyc2hpcCBmYWlsdXJlIGZvciAnJXMnXG4iLAorCSAgICAgICAgICAgIHN0cmluZ3MxW2ldKTsKKwkgICAgcmV0ID0gMTsKKwkgICAgbmJFcnJvcnMrKzsKKwl9CisgICAgfQorCisgICAgLyoKKyAgICAgKiBUaGVuIHRoYXQgYW5vdGhlciBsb29rdXAgdG8gdGhlIHN0cmluZyB3aWxsIHJldHVybiB0aGUgc2FtZQorICAgICAqLworICAgIGZvciAoaSA9IDA7aSA8IE5CX1NUUklOR1NfTUFYO2krKykgeworICAgICAgICBpZiAoeG1sRGljdExvb2t1cChkaWN0LCBzdHJpbmdzMVtpXSwgLTEpICE9IHRlc3QxW2ldKSB7CisJICAgIGZwcmludGYoc3RkZXJyLCAiRmFpbGVkIHJlLWxvb2t1cCBjaGVjayBmb3IgJWQsICclcydcbiIsCisJICAgICAgICAgICAgaSwgc3RyaW5nczFbaV0pOworCSAgICByZXQgPSAxOworCSAgICBuYkVycm9ycysrOworCX0KKyAgICB9CisKKyAgICAvKgorICAgICAqIE1vcmUgY29tcGxleCwgY2hlY2sgdGhlIFFOYW1lIGxvb2t1cHMKKyAgICAgKi8KKyAgICBmb3IgKGkgPSBOQl9TVFJJTkdTX01BWCAtIE5CX1NUUklOR1NfTlM7aSA8IE5CX1NUUklOR1NfTUFYO2krKykgeworICAgICAgICBjdXIgPSBzdHJpbmdzMVtpXTsKKwlwcmVmID0gJnByZWZpeFswXTsKKwl3aGlsZSAoKmN1ciAhPSAnOicpICpwcmVmKysgPSAqY3VyKys7CisJY3VyKys7CisJKnByZWYgPSAwOworCXRtcCA9IHhtbERpY3RRTG9va3VwKGRpY3QsICZwcmVmaXhbMF0sIGN1cik7CisJaWYgKHRtcCAhPSB0ZXN0MVtpXSkgeworCSAgICBmcHJpbnRmKHN0ZGVyciwgIkZhaWxlZCBsb29rdXAgY2hlY2sgZm9yICclcyc6JyVzJ1xuIiwKKwkgICAgICAgICAgICAmcHJlZml4WzBdLCBjdXIpOworICAgICAgICAgICAgcmV0ID0gMTsKKwkgICAgbmJFcnJvcnMrKzsKKwl9CisgICAgfQorCisgICAgcnVuX3Rlc3QyKGRpY3QpOworCisgICAgeG1sRGljdEZyZWUoZGljdCk7CisgICAgcmV0dXJuKHJldCk7Cit9CisKK2ludCBtYWluKHZvaWQpCit7CisgICAgaW50IHJldDsKKworICAgIExJQlhNTF9URVNUX1ZFUlNJT04KKyAgICBmaWxsX3N0cmluZ3MoKTsKKyNpZmRlZiBXSVRIX1BSSU5UCisgICAgcHJpbnRfc3RyaW5ncygpOworI2VuZGlmCisgICAgcmV0ID0gcnVuX3Rlc3QxKCk7CisgICAgaWYgKHJldCA9PSAwKSB7CisgICAgICAgIHByaW50ZigiZGljdGlvbmFyeSB0ZXN0cyBzdWNjZWVkZWQgJWQgc3RyaW5nc1xuIiwgMiAqIE5CX1NUUklOR1NfTUFYKTsKKyAgICB9IGVsc2UgeworICAgICAgICBwcmludGYoImRpY3Rpb25hcnkgdGVzdHMgZmFpbGVkIHdpdGggJWQgZXJyb3JzXG4iLCBuYkVycm9ycyk7CisgICAgfQorICAgIGNsZWFuX3N0cmluZ3MoKTsKKyAgICB4bWxDbGVhbnVwUGFyc2VyKCk7CisgICAgeG1sTWVtb3J5RHVtcCgpOworICAgIHJldHVybihyZXQpOworfQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90ZXN0ZHNvLmMgYi9saWJ4bWwyL3Rlc3Rkc28uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZDRmZjA4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90ZXN0ZHNvLmMKQEAgLTAsMCArMSwxMiBAQAorI2luY2x1ZGUgPHN0ZGlvLmg+CisKKyNkZWZpbmUgSU5fTElCWE1MCisjaW5jbHVkZSAibGlieG1sL3htbGV4cG9ydHMuaCIKKworWE1MUFVCRlVOIGludCBoZWxsb193b3JsZCh2b2lkKTsKKworaW50IGhlbGxvX3dvcmxkKHZvaWQpCit7CisgIHByaW50ZigiU3VjY2VzcyFcbiIpOworICByZXR1cm4gMDsKK30KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdGVzdGxpbWl0cy5jIGIvbGlieG1sMi90ZXN0bGltaXRzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTc3ZjU5MwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdGxpbWl0cy5jCkBAIC0wLDAgKzEsMTYzNyBAQAorLyoKKyAqIHRlc3RsaW1pdHMuYzogQyBwcm9ncmFtIHRvIHJ1biBsaWJ4bWwyIHJlZ3Jlc3Npb24gdGVzdHMgY2hlY2tpbmcgdmFyaW91cworICogICAgICAgbGltaXRzIGluIGRvY3VtZW50IHNpemUuIFdpbGwgY29uc3VtZSBhIGxvdCBvZiBSQU0gYW5kIENQVSBjeWNsZXMKKyAqCisgKiBUbyBjb21waWxlIG9uIFVuaXhlczoKKyAqIGNjIC1vIHRlc3RsaW1pdHMgYHhtbDItY29uZmlnIC0tY2ZsYWdzYCB0ZXN0bGltaXRzLmMgYHhtbDItY29uZmlnIC0tbGlic2AgLWxwdGhyZWFkCisgKgorICogU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgorICoKKyAqIGRhbmllbEB2ZWlsbGFyZC5jb20KKyAqLworCisjaW5jbHVkZSAibGlieG1sLmgiCisjaW5jbHVkZSA8c3RkaW8uaD4KKworI2lmICFkZWZpbmVkKF9XSU4zMikgfHwgZGVmaW5lZChfX0NZR1dJTl9fKQorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2VuZGlmCisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPHRpbWUuaD4KKworI2luY2x1ZGUgPGxpYnhtbC9wYXJzZXIuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvcGFyc2VySW50ZXJuYWxzLmg+CisjaW5jbHVkZSA8bGlieG1sL3RyZWUuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvdXJpLmg+CisjaWZkZWYgTElCWE1MX1JFQURFUl9FTkFCTEVECisjaW5jbHVkZSA8bGlieG1sL3htbHJlYWRlci5oPgorI2VuZGlmCisKK3N0YXRpYyBpbnQgdmVyYm9zZSA9IDA7CitzdGF0aWMgaW50IHRlc3RzX3F1aWV0ID0gMDsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJdGltZSBoYW5kbGluZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qIG1heGltdW0gdGltZSBmb3Igb25lIHBhcnNpbmcgYmVmb3JlIGRlY2xhcmluZyBhIHRpbWVvdXQgKi8KKyNkZWZpbmUgTUFYX1RJTUUgMiAvKiBzZWNvbmRzICovCisKK3N0YXRpYyBjbG9ja190IHQwOworaW50IHRpbWVvdXQgPSAwOworCitzdGF0aWMgdm9pZCByZXNldF90aW1vdXQodm9pZCkgeworICAgIHRpbWVvdXQgPSAwOworICAgIHQwID0gY2xvY2soKTsKK30KKworc3RhdGljIGludCBjaGVja190aW1lKHZvaWQpIHsKKyAgICBjbG9ja190IHRub3cgPSBjbG9jaygpOworICAgIGlmICgoKHRub3cgLSB0MCkgLyBDTE9DS1NfUEVSX1NFQykgPiBNQVhfVElNRSkgeworICAgICAgICB0aW1lb3V0ID0gMTsKKyAgICAgICAgcmV0dXJuKDApOworICAgIH0KKyAgICByZXR1cm4oMSk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCUh1Z2UgZG9jdW1lbnQgZ2VuZXJhdG9yCQkJCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpbmNsdWRlIDxsaWJ4bWwveG1sSU8uaD4KKworLyoKKyAqIEh1Z2UgZG9jdW1lbnRzIGFyZSBidWlsdCB1c2luZyBmaXhlZCBzdGFydCBhbmQgZW5kIGNodW5rcworICogYW5kIGZpbGxpbmcgYmV0d2VlbiB0aGUgdHdvIGFuIHVuY29udmVudGlvbmFsIGFtb3VudCBvZiBjaGFyIGRhdGEKKyAqLwordHlwZWRlZiBzdHJ1Y3QgaHVnZVRlc3QgaHVnZVRlc3Q7Cit0eXBlZGVmIGh1Z2VUZXN0ICpodWdlVGVzdFB0cjsKK3N0cnVjdCBodWdlVGVzdCB7CisgICAgY29uc3QgY2hhciAqZGVzY3JpcHRpb247CisgICAgY29uc3QgY2hhciAqbmFtZTsKKyAgICBjb25zdCBjaGFyICpzdGFydDsKKyAgICBjb25zdCBjaGFyICplbmQ7Cit9OworCitzdGF0aWMgc3RydWN0IGh1Z2VUZXN0IGh1Z2VUZXN0c1tdID0geworICAgIHsgIkh1Z2UgdGV4dCBub2RlIiwgImh1Z2U6dGV4dE5vZGUiLCAiPGZvbz4iLCAiPC9mb28+IiB9LAorICAgIHsgIkh1Z2UgYXR0cmlidXRlIG5vZGUiLCAiaHVnZTphdHRyTm9kZSIsICI8Zm9vIGJhcj0nIiwgIicvPiIgfSwKKyAgICB7ICJIdWdlIGNvbW1lbnQgbm9kZSIsICJodWdlOmNvbW1lbnROb2RlIiwgIjxmb28+PCEtLSIsICItLT48L2Zvbz4iIH0sCisgICAgeyAiSHVnZSBQSSBub2RlIiwgImh1Z2U6cGlOb2RlIiwgIjxmb28+PD9iYXIgIiwgIj8+PC9mb28+IiB9LAorfTsKKworc3RhdGljIGNvbnN0IGNoYXIgKmN1cnJlbnQ7CitzdGF0aWMgaW50IHJsZW47CitzdGF0aWMgdW5zaWduZWQgaW50IGN1cnJlbnRUZXN0ID0gMDsKK3N0YXRpYyBpbnQgaW5zdGF0ZSA9IDA7CisKKy8qKgorICogaHVnZU1hdGNoOgorICogQFVSSTogYW4gVVJJIHRvIHRlc3QKKyAqCisgKiBDaGVjayBmb3IgYW4gaHVnZTogcXVlcnkKKyAqCisgKiBSZXR1cm5zIDEgaWYgeWVzIGFuZCAwIGlmIGFub3RoZXIgSW5wdXQgbW9kdWxlIHNob3VsZCBiZSB1c2VkCisgKi8KK3N0YXRpYyBpbnQKK2h1Z2VNYXRjaChjb25zdCBjaGFyICogVVJJKSB7CisgICAgaWYgKChVUkkgIT0gTlVMTCkgJiYgKCFzdHJuY21wKFVSSSwgImh1Z2U6IiwgNSkpKQorICAgICAgICByZXR1cm4oMSk7CisgICAgcmV0dXJuKDApOworfQorCisvKioKKyAqIGh1Z2VPcGVuOgorICogQFVSSTogYW4gVVJJIHRvIHRlc3QKKyAqCisgKiBSZXR1cm4gYSBwb2ludGVyIHRvIHRoZSBodWdlOiBxdWVyeSBoYW5kbGVyLCBpbiB0aGlzIGV4YW1wbGUgc2ltcGx5CisgKiB0aGUgY3VycmVudCBwb2ludGVyLi4uCisgKgorICogUmV0dXJucyBhbiBJbnB1dCBjb250ZXh0IG9yIE5VTEwgaW4gY2FzZSBvciBlcnJvcgorICovCitzdGF0aWMgdm9pZCAqCitodWdlT3Blbihjb25zdCBjaGFyICogVVJJKSB7CisgICAgaWYgKChVUkkgPT0gTlVMTCkgfHwgKHN0cm5jbXAoVVJJLCAiaHVnZToiLCA1KSkpCisgICAgICAgIHJldHVybihOVUxMKTsKKworICAgIGZvciAoY3VycmVudFRlc3QgPSAwO2N1cnJlbnRUZXN0IDwgc2l6ZW9mKGh1Z2VUZXN0cykvc2l6ZW9mKGh1Z2VUZXN0c1swXSk7CisgICAgICAgICBjdXJyZW50VGVzdCsrKQorICAgICAgICAgaWYgKCFzdHJjbXAoaHVnZVRlc3RzW2N1cnJlbnRUZXN0XS5uYW1lLCBVUkkpKQorICAgICAgICAgICAgIGdvdG8gZm91bmQ7CisKKyAgICByZXR1cm4oTlVMTCk7CisKK2ZvdW5kOgorICAgIHJsZW4gPSBzdHJsZW4oaHVnZVRlc3RzW2N1cnJlbnRUZXN0XS5zdGFydCk7CisgICAgY3VycmVudCA9IGh1Z2VUZXN0c1tjdXJyZW50VGVzdF0uc3RhcnQ7CisgICAgaW5zdGF0ZSA9IDA7CisgICAgcmV0dXJuKCh2b2lkICopIGN1cnJlbnQpOworfQorCisvKioKKyAqIGh1Z2VDbG9zZToKKyAqIEBjb250ZXh0OiB0aGUgcmVhZCBjb250ZXh0CisgKgorICogQ2xvc2UgdGhlIGh1Z2U6IHF1ZXJ5IGhhbmRsZXIKKyAqCisgKiBSZXR1cm5zIDAgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcgorICovCitzdGF0aWMgaW50CitodWdlQ2xvc2Uodm9pZCAqIGNvbnRleHQpIHsKKyAgICBpZiAoY29udGV4dCA9PSBOVUxMKSByZXR1cm4oLTEpOworICAgIGZwcmludGYoc3RkZXJyLCAiXG4iKTsKKyAgICByZXR1cm4oMCk7Cit9CisKKyNkZWZpbmUgQ0hVTksgNDA5NgorCitjaGFyIGZpbGxpbmdbQ0hVTksgKyAxXTsKKworc3RhdGljIHZvaWQgZmlsbEZpbGxpbmcodm9pZCkgeworICAgIGludCBpOworCisgICAgZm9yIChpID0gMDtpIDwgQ0hVTks7aSsrKSB7CisgICAgICAgIGZpbGxpbmdbaV0gPSAnYSc7CisgICAgfQorICAgIGZpbGxpbmdbQ0hVTktdID0gMDsKK30KKworc2l6ZV90IG1heGxlbiA9IDY0ICogMTAyNCAqIDEwMjQ7CitzaXplX3QgY3VybGVuID0gMDsKK3NpemVfdCBkb3RsZW47CisKKy8qKgorICogaHVnZVJlYWQ6CisgKiBAY29udGV4dDogdGhlIHJlYWQgY29udGV4dAorICogQGJ1ZmZlcjogd2hlcmUgdG8gc3RvcmUgZGF0YQorICogQGxlbjogbnVtYmVyIG9mIGJ5dGVzIHRvIHJlYWQKKyAqCisgKiBJbXBsZW1lbnQgYW4gaHVnZTogcXVlcnkgcmVhZC4KKyAqCisgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgYnl0ZXMgcmVhZCBvciAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3N0YXRpYyBpbnQKK2h1Z2VSZWFkKHZvaWQgKmNvbnRleHQsIGNoYXIgKmJ1ZmZlciwgaW50IGxlbikKK3sKKyAgICBpZiAoKGNvbnRleHQgPT0gTlVMTCkgfHwgKGJ1ZmZlciA9PSBOVUxMKSB8fCAobGVuIDwgMCkpCisgICAgICAgIHJldHVybiAoLTEpOworCisgICAgaWYgKGluc3RhdGUgPT0gMCkgeworICAgICAgICBpZiAobGVuID49IHJsZW4pIHsKKyAgICAgICAgICAgIGxlbiA9IHJsZW47CisgICAgICAgICAgICBybGVuID0gMDsKKyAgICAgICAgICAgIG1lbWNweShidWZmZXIsIGN1cnJlbnQsIGxlbik7CisgICAgICAgICAgICBpbnN0YXRlID0gMTsKKyAgICAgICAgICAgIGN1cmxlbiA9IDA7CisgICAgICAgICAgICBkb3RsZW4gPSBtYXhsZW4gLyAxMDsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIG1lbWNweShidWZmZXIsIGN1cnJlbnQsIGxlbik7CisgICAgICAgICAgICBybGVuIC09IGxlbjsKKyAgICAgICAgICAgIGN1cnJlbnQgKz0gbGVuOworICAgICAgICB9CisgICAgfSBlbHNlIGlmIChpbnN0YXRlID09IDIpIHsKKyAgICAgICAgaWYgKGxlbiA+PSBybGVuKSB7CisgICAgICAgICAgICBsZW4gPSBybGVuOworICAgICAgICAgICAgcmxlbiA9IDA7CisgICAgICAgICAgICBtZW1jcHkoYnVmZmVyLCBjdXJyZW50LCBsZW4pOworICAgICAgICAgICAgaW5zdGF0ZSA9IDM7CisgICAgICAgICAgICBjdXJsZW4gPSAwOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgbWVtY3B5KGJ1ZmZlciwgY3VycmVudCwgbGVuKTsKKyAgICAgICAgICAgIHJsZW4gLT0gbGVuOworICAgICAgICAgICAgY3VycmVudCArPSBsZW47CisgICAgICAgIH0KKyAgICB9IGVsc2UgaWYgKGluc3RhdGUgPT0gMSkgeworICAgICAgICBpZiAobGVuID4gQ0hVTkspIGxlbiA9IENIVU5LOworICAgICAgICBtZW1jcHkoYnVmZmVyLCAmZmlsbGluZ1swXSwgbGVuKTsKKyAgICAgICAgY3VybGVuICs9IGxlbjsKKyAgICAgICAgaWYgKGN1cmxlbiA+PSBtYXhsZW4pIHsKKyAgICAgICAgICAgIHJsZW4gPSBzdHJsZW4oaHVnZVRlc3RzW2N1cnJlbnRUZXN0XS5lbmQpOworICAgICAgICAgICAgY3VycmVudCA9IGh1Z2VUZXN0c1tjdXJyZW50VGVzdF0uZW5kOworICAgICAgICAgICAgaW5zdGF0ZSA9IDI7CisJfSBlbHNlIHsKKyAgICAgICAgICAgIGlmIChjdXJsZW4gPiBkb3RsZW4pIHsKKyAgICAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIi4iKTsKKyAgICAgICAgICAgICAgICBkb3RsZW4gKz0gbWF4bGVuIC8gMTA7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9IGVsc2UKKyAgICAgIGxlbiA9IDA7CisgICAgcmV0dXJuIChsZW4pOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQlDcmF6eSBkb2N1bWVudCBnZW5lcmF0b3IJCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCit1bnNpZ25lZCBpbnQgY3JhenlfaW5keCA9IDA7CisKK2NvbnN0IGNoYXIgKmNyYXp5ID0gIjw/eG1sIHZlcnNpb249JzEuMCcgZW5jb2Rpbmc9J1VURi04Jz8+XAorPD90c3QgPz5cCis8IS0tIHRzdCAtLT5cCis8IURPQ1RZUEUgZm9vIFtcCis8P3RzdCA/PlwKKzwhLS0gdHN0IC0tPlwKKzwhRUxFTUVOVCBmb28gKCNQQ0RBVEEpPlwKKzwhRUxFTUVOVCBwICgjUENEQVRBfGVtcGgpKiA+XAorXT5cCis8P3RzdCA/PlwKKzwhLS0gdHN0IC0tPlwKKzxmb28gYmFyPSdmb28nPlwKKzw/dHN0ID8+XAorPCEtLSB0c3QgLS0+XAorZm9vXAorPCFbQ0RBVEFbIF1dPlwKKzwvZm9vPlwKKzw/dHN0ID8+XAorPCEtLSB0c3QgLS0+IjsKKworLyoqCisgKiBjcmF6eU1hdGNoOgorICogQFVSSTogYW4gVVJJIHRvIHRlc3QKKyAqCisgKiBDaGVjayBmb3IgYSBjcmF6eTogcXVlcnkKKyAqCisgKiBSZXR1cm5zIDEgaWYgeWVzIGFuZCAwIGlmIGFub3RoZXIgSW5wdXQgbW9kdWxlIHNob3VsZCBiZSB1c2VkCisgKi8KK3N0YXRpYyBpbnQKK2NyYXp5TWF0Y2goY29uc3QgY2hhciAqIFVSSSkgeworICAgIGlmICgoVVJJICE9IE5VTEwpICYmICghc3RybmNtcChVUkksICJjcmF6eToiLCA2KSkpCisgICAgICAgIHJldHVybigxKTsKKyAgICByZXR1cm4oMCk7Cit9CisKKy8qKgorICogY3JhenlPcGVuOgorICogQFVSSTogYW4gVVJJIHRvIHRlc3QKKyAqCisgKiBSZXR1cm4gYSBwb2ludGVyIHRvIHRoZSBjcmF6eTogcXVlcnkgaGFuZGxlciwgaW4gdGhpcyBleGFtcGxlIHNpbXBseQorICogdGhlIGN1cnJlbnQgcG9pbnRlci4uLgorICoKKyAqIFJldHVybnMgYW4gSW5wdXQgY29udGV4dCBvciBOVUxMIGluIGNhc2Ugb3IgZXJyb3IKKyAqLworc3RhdGljIHZvaWQgKgorY3JhenlPcGVuKGNvbnN0IGNoYXIgKiBVUkkpIHsKKyAgICBpZiAoKFVSSSA9PSBOVUxMKSB8fCAoc3RybmNtcChVUkksICJjcmF6eToiLCA2KSkpCisgICAgICAgIHJldHVybihOVUxMKTsKKworICAgIGlmIChjcmF6eV9pbmR4ID4gc3RybGVuKGNyYXp5KSkKKyAgICAgICAgcmV0dXJuKE5VTEwpOworICAgIHJlc2V0X3RpbW91dCgpOworICAgIHJsZW4gPSBjcmF6eV9pbmR4OworICAgIGN1cnJlbnQgPSAmY3JhenlbMF07CisgICAgaW5zdGF0ZSA9IDA7CisgICAgcmV0dXJuKCh2b2lkICopIGN1cnJlbnQpOworfQorCisvKioKKyAqIGNyYXp5Q2xvc2U6CisgKiBAY29udGV4dDogdGhlIHJlYWQgY29udGV4dAorICoKKyAqIENsb3NlIHRoZSBjcmF6eTogcXVlcnkgaGFuZGxlcgorICoKKyAqIFJldHVybnMgMCBvciAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3N0YXRpYyBpbnQKK2NyYXp5Q2xvc2Uodm9pZCAqIGNvbnRleHQpIHsKKyAgICBpZiAoY29udGV4dCA9PSBOVUxMKSByZXR1cm4oLTEpOworICAgIHJldHVybigwKTsKK30KKworCisvKioKKyAqIGNyYXp5UmVhZDoKKyAqIEBjb250ZXh0OiB0aGUgcmVhZCBjb250ZXh0CisgKiBAYnVmZmVyOiB3aGVyZSB0byBzdG9yZSBkYXRhCisgKiBAbGVuOiBudW1iZXIgb2YgYnl0ZXMgdG8gcmVhZAorICoKKyAqIEltcGxlbWVudCBhbiBjcmF6eTogcXVlcnkgcmVhZC4KKyAqCisgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgYnl0ZXMgcmVhZCBvciAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3N0YXRpYyBpbnQKK2NyYXp5UmVhZCh2b2lkICpjb250ZXh0LCBjaGFyICpidWZmZXIsIGludCBsZW4pCit7CisgICAgaWYgKChjb250ZXh0ID09IE5VTEwpIHx8IChidWZmZXIgPT0gTlVMTCkgfHwgKGxlbiA8IDApKQorICAgICAgICByZXR1cm4gKC0xKTsKKworICAgIGlmICgoY2hlY2tfdGltZSgpIDw9IDApICYmIChpbnN0YXRlID09IDEpKSB7CisgICAgICAgIGZwcmludGYoc3RkZXJyLCAiXG50aW1lb3V0IGluIGNyYXp5KCVkKVxuIiwgY3JhenlfaW5keCk7CisgICAgICAgIHJsZW4gPSBzdHJsZW4oY3JhenkpIC0gY3JhenlfaW5keDsKKyAgICAgICAgY3VycmVudCA9ICZjcmF6eVtjcmF6eV9pbmR4XTsKKyAgICAgICAgaW5zdGF0ZSA9IDI7CisgICAgfQorICAgIGlmIChpbnN0YXRlID09IDApIHsKKyAgICAgICAgaWYgKGxlbiA+PSBybGVuKSB7CisgICAgICAgICAgICBsZW4gPSBybGVuOworICAgICAgICAgICAgcmxlbiA9IDA7CisgICAgICAgICAgICBtZW1jcHkoYnVmZmVyLCBjdXJyZW50LCBsZW4pOworICAgICAgICAgICAgaW5zdGF0ZSA9IDE7CisgICAgICAgICAgICBjdXJsZW4gPSAwOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgbWVtY3B5KGJ1ZmZlciwgY3VycmVudCwgbGVuKTsKKyAgICAgICAgICAgIHJsZW4gLT0gbGVuOworICAgICAgICAgICAgY3VycmVudCArPSBsZW47CisgICAgICAgIH0KKyAgICB9IGVsc2UgaWYgKGluc3RhdGUgPT0gMikgeworICAgICAgICBpZiAobGVuID49IHJsZW4pIHsKKyAgICAgICAgICAgIGxlbiA9IHJsZW47CisgICAgICAgICAgICBybGVuID0gMDsKKyAgICAgICAgICAgIG1lbWNweShidWZmZXIsIGN1cnJlbnQsIGxlbik7CisgICAgICAgICAgICBpbnN0YXRlID0gMzsKKyAgICAgICAgICAgIGN1cmxlbiA9IDA7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBtZW1jcHkoYnVmZmVyLCBjdXJyZW50LCBsZW4pOworICAgICAgICAgICAgcmxlbiAtPSBsZW47CisgICAgICAgICAgICBjdXJyZW50ICs9IGxlbjsKKyAgICAgICAgfQorICAgIH0gZWxzZSBpZiAoaW5zdGF0ZSA9PSAxKSB7CisgICAgICAgIGlmIChsZW4gPiBDSFVOSykgbGVuID0gQ0hVTks7CisgICAgICAgIG1lbWNweShidWZmZXIsICZmaWxsaW5nWzBdLCBsZW4pOworICAgICAgICBjdXJsZW4gKz0gbGVuOworICAgICAgICBpZiAoY3VybGVuID49IG1heGxlbikgeworICAgICAgICAgICAgcmxlbiA9IHN0cmxlbihjcmF6eSkgLSBjcmF6eV9pbmR4OworICAgICAgICAgICAgY3VycmVudCA9ICZjcmF6eVtjcmF6eV9pbmR4XTsKKyAgICAgICAgICAgIGluc3RhdGUgPSAyOworICAgICAgICB9CisgICAgfSBlbHNlCisgICAgICBsZW4gPSAwOworICAgIHJldHVybiAobGVuKTsKK30KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCUxpYnhtbDIgc3BlY2lmaWMgcm91dGluZXMJCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitzdGF0aWMgaW50IG5iX3Rlc3RzID0gMDsKK3N0YXRpYyBpbnQgbmJfZXJyb3JzID0gMDsKK3N0YXRpYyBpbnQgbmJfbGVha3MgPSAwOworc3RhdGljIGludCBleHRyYU1lbW9yeUZyb21SZXNvbHZlciA9IDA7CisKKy8qCisgKiBXZSBuZWVkIHRvIHRyYXAgY2FsbHMgdG8gdGhlIHJlc29sdmVyIHRvIG5vdCBhY2NvdW50IG1lbW9yeSBmb3IgdGhlIGNhdGFsb2cKKyAqIHdoaWNoIGlzIHNoYXJlZCB0byB0aGUgY3VycmVudCBydW5uaW5nIHRlc3QuIFdlIGFsc28gZG9uJ3Qgd2FudCB0byBoYXZlCisgKiBuZXR3b3JrIGRvd25sb2FkcyBtb2RpZnlpbmcgdGVzdHMuCisgKi8KK3N0YXRpYyB4bWxQYXJzZXJJbnB1dFB0cgordGVzdEV4dGVybmFsRW50aXR5TG9hZGVyKGNvbnN0IGNoYXIgKlVSTCwgY29uc3QgY2hhciAqSUQsCisJCQkgeG1sUGFyc2VyQ3R4dFB0ciBjdHh0KSB7CisgICAgeG1sUGFyc2VySW5wdXRQdHIgcmV0OworICAgIGludCBtZW11c2VkID0geG1sTWVtVXNlZCgpOworCisgICAgcmV0ID0geG1sTm9OZXRFeHRlcm5hbEVudGl0eUxvYWRlcihVUkwsIElELCBjdHh0KTsKKyAgICBleHRyYU1lbW9yeUZyb21SZXNvbHZlciArPSB4bWxNZW1Vc2VkKCkgLSBtZW11c2VkOworCisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qCisgKiBUcmFwcGluZyB0aGUgZXJyb3IgbWVzc2FnZXMgYXQgdGhlIGdlbmVyaWMgbGV2ZWwgdG8gZ3JhYiB0aGUgZXF1aXZhbGVudCBvZgorICogc3RkZXJyIG1lc3NhZ2VzIG9uIENMSSB0b29scy4KKyAqLworc3RhdGljIGNoYXIgdGVzdEVycm9yc1szMjc2OV07CitzdGF0aWMgaW50IHRlc3RFcnJvcnNTaXplID0gMDsKKworc3RhdGljIHZvaWQgWE1MQ0RFQ0wKK2NoYW5uZWwodm9pZCAqY3R4ICBBVFRSSUJVVEVfVU5VU0VELCBjb25zdCBjaGFyICptc2csIC4uLikgeworICAgIHZhX2xpc3QgYXJnczsKKyAgICBpbnQgcmVzOworCisgICAgaWYgKHRlc3RFcnJvcnNTaXplID49IDMyNzY4KQorICAgICAgICByZXR1cm47CisgICAgdmFfc3RhcnQoYXJncywgbXNnKTsKKyAgICByZXMgPSB2c25wcmludGYoJnRlc3RFcnJvcnNbdGVzdEVycm9yc1NpemVdLAorICAgICAgICAgICAgICAgICAgICAzMjc2OCAtIHRlc3RFcnJvcnNTaXplLAorCQkgICAgbXNnLCBhcmdzKTsKKyAgICB2YV9lbmQoYXJncyk7CisgICAgaWYgKHRlc3RFcnJvcnNTaXplICsgcmVzID49IDMyNzY4KSB7CisgICAgICAgIC8qIGJ1ZmZlciBpcyBmdWxsICovCisJdGVzdEVycm9yc1NpemUgPSAzMjc2ODsKKwl0ZXN0RXJyb3JzW3Rlc3RFcnJvcnNTaXplXSA9IDA7CisgICAgfSBlbHNlIHsKKyAgICAgICAgdGVzdEVycm9yc1NpemUgKz0gcmVzOworICAgIH0KKyAgICB0ZXN0RXJyb3JzW3Rlc3RFcnJvcnNTaXplXSA9IDA7Cit9CisKKy8qKgorICogeG1sUGFyc2VyUHJpbnRGaWxlQ29udGV4dDoKKyAqIEBpbnB1dDogIGFuIHhtbFBhcnNlcklucHV0UHRyIGlucHV0CisgKgorICogRGlzcGxheXMgY3VycmVudCBjb250ZXh0IHdpdGhpbiB0aGUgaW5wdXQgY29udGVudCBmb3IgZXJyb3IgdHJhY2tpbmcKKyAqLworCitzdGF0aWMgdm9pZAoreG1sUGFyc2VyUHJpbnRGaWxlQ29udGV4dEludGVybmFsKHhtbFBhcnNlcklucHV0UHRyIGlucHV0ICwKKwkJeG1sR2VuZXJpY0Vycm9yRnVuYyBjaGFubCwgdm9pZCAqZGF0YSApIHsKKyAgICBjb25zdCB4bWxDaGFyICpjdXIsICpiYXNlOworICAgIHVuc2lnbmVkIGludCBuLCBjb2w7CS8qIEdDQyB3YXJucyBpZiBzaWduZWQsIGJlY2F1c2UgY29tcGFyZWQgd2l0aCBzaXplb2YoKSAqLworICAgIHhtbENoYXIgIGNvbnRlbnRbODFdOyAvKiBzcGFjZSBmb3IgODAgY2hhcnMgKyBsaW5lIHRlcm1pbmF0b3IgKi8KKyAgICB4bWxDaGFyICpjdG50OworCisgICAgaWYgKGlucHV0ID09IE5VTEwpIHJldHVybjsKKyAgICBjdXIgPSBpbnB1dC0+Y3VyOworICAgIGJhc2UgPSBpbnB1dC0+YmFzZTsKKyAgICAvKiBza2lwIGJhY2t3YXJkcyBvdmVyIGFueSBlbmQtb2YtbGluZXMgKi8KKyAgICB3aGlsZSAoKGN1ciA+IGJhc2UpICYmICgoKihjdXIpID09ICdcbicpIHx8ICgqKGN1cikgPT0gJ1xyJykpKSB7CisJY3VyLS07CisgICAgfQorICAgIG4gPSAwOworICAgIC8qIHNlYXJjaCBiYWNrd2FyZHMgZm9yIGJlZ2lubmluZy1vZi1saW5lICh0byBtYXggYnVmZiBzaXplKSAqLworICAgIHdoaWxlICgobisrIDwgKHNpemVvZihjb250ZW50KS0xKSkgJiYgKGN1ciA+IGJhc2UpICYmCisgICAoKihjdXIpICE9ICdcbicpICYmICgqKGN1cikgIT0gJ1xyJykpCisgICAgICAgIGN1ci0tOworICAgIGlmICgoKihjdXIpID09ICdcbicpIHx8ICgqKGN1cikgPT0gJ1xyJykpIGN1cisrOworICAgIC8qIGNhbGN1bGF0ZSB0aGUgZXJyb3IgcG9zaXRpb24gaW4gdGVybXMgb2YgdGhlIGN1cnJlbnQgcG9zaXRpb24gKi8KKyAgICBjb2wgPSBpbnB1dC0+Y3VyIC0gY3VyOworICAgIC8qIHNlYXJjaCBmb3J3YXJkIGZvciBlbmQtb2YtbGluZSAodG8gbWF4IGJ1ZmYgc2l6ZSkgKi8KKyAgICBuID0gMDsKKyAgICBjdG50ID0gY29udGVudDsKKyAgICAvKiBjb3B5IHNlbGVjdGVkIHRleHQgdG8gb3VyIGJ1ZmZlciAqLworICAgIHdoaWxlICgoKmN1ciAhPSAwKSAmJiAoKihjdXIpICE9ICdcbicpICYmCisgICAoKihjdXIpICE9ICdccicpICYmIChuIDwgc2l6ZW9mKGNvbnRlbnQpLTEpKSB7CisJCSpjdG50KysgPSAqY3VyKys7CisJbisrOworICAgIH0KKyAgICAqY3RudCA9IDA7CisgICAgLyogcHJpbnQgb3V0IHRoZSBzZWxlY3RlZCB0ZXh0ICovCisgICAgY2hhbmwoZGF0YSAsIiVzXG4iLCBjb250ZW50KTsKKyAgICAvKiBjcmVhdGUgYmxhbmsgbGluZSB3aXRoIHByb2JsZW0gcG9pbnRlciAqLworICAgIG4gPSAwOworICAgIGN0bnQgPSBjb250ZW50OworICAgIC8qIChsZWF2ZSBidWZmZXIgc3BhY2UgZm9yIHBvaW50ZXIgKyBsaW5lIHRlcm1pbmF0b3IpICovCisgICAgd2hpbGUgKChuPGNvbCkgJiYgKG4rKyA8IHNpemVvZihjb250ZW50KS0yKSAmJiAoKmN0bnQgIT0gMCkpIHsKKwlpZiAoKihjdG50KSAhPSAnXHQnKQorCSAgICAqKGN0bnQpID0gJyAnOworCWN0bnQrKzsKKyAgICB9CisgICAgKmN0bnQrKyA9ICdeJzsKKyAgICAqY3RudCA9IDA7CisgICAgY2hhbmwoZGF0YSAsIiVzXG4iLCBjb250ZW50KTsKK30KKworc3RhdGljIHZvaWQKK3Rlc3RTdHJ1Y3R1cmVkRXJyb3JIYW5kbGVyKHZvaWQgKmN0eCAgQVRUUklCVVRFX1VOVVNFRCwgeG1sRXJyb3JQdHIgZXJyKSB7CisgICAgY2hhciAqZmlsZSA9IE5VTEw7CisgICAgaW50IGxpbmUgPSAwOworICAgIGludCBjb2RlID0gLTE7CisgICAgaW50IGRvbWFpbjsKKyAgICB2b2lkICpkYXRhID0gTlVMTDsKKyAgICBjb25zdCBjaGFyICpzdHI7CisgICAgY29uc3QgeG1sQ2hhciAqbmFtZSA9IE5VTEw7CisgICAgeG1sTm9kZVB0ciBub2RlOworICAgIHhtbEVycm9yTGV2ZWwgbGV2ZWw7CisgICAgeG1sUGFyc2VySW5wdXRQdHIgaW5wdXQgPSBOVUxMOworICAgIHhtbFBhcnNlcklucHV0UHRyIGN1ciA9IE5VTEw7CisgICAgeG1sUGFyc2VyQ3R4dFB0ciBjdHh0ID0gTlVMTDsKKworICAgIGlmIChlcnIgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuOworCisgICAgZmlsZSA9IGVyci0+ZmlsZTsKKyAgICBsaW5lID0gZXJyLT5saW5lOworICAgIGNvZGUgPSBlcnItPmNvZGU7CisgICAgZG9tYWluID0gZXJyLT5kb21haW47CisgICAgbGV2ZWwgPSBlcnItPmxldmVsOworICAgIG5vZGUgPSBlcnItPm5vZGU7CisgICAgaWYgKChkb21haW4gPT0gWE1MX0ZST01fUEFSU0VSKSB8fCAoZG9tYWluID09IFhNTF9GUk9NX0hUTUwpIHx8CisgICAgICAgIChkb21haW4gPT0gWE1MX0ZST01fRFREKSB8fCAoZG9tYWluID09IFhNTF9GUk9NX05BTUVTUEFDRSkgfHwKKwkoZG9tYWluID09IFhNTF9GUk9NX0lPKSB8fCAoZG9tYWluID09IFhNTF9GUk9NX1ZBTElEKSkgeworCWN0eHQgPSBlcnItPmN0eHQ7CisgICAgfQorICAgIHN0ciA9IGVyci0+bWVzc2FnZTsKKworICAgIGlmIChjb2RlID09IFhNTF9FUlJfT0spCisgICAgICAgIHJldHVybjsKKworICAgIGlmICgobm9kZSAhPSBOVUxMKSAmJiAobm9kZS0+dHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFKSkKKyAgICAgICAgbmFtZSA9IG5vZGUtPm5hbWU7CisKKyAgICAvKgorICAgICAqIE1haW50YWluIHRoZSBjb21wYXRpYmlsaXR5IHdpdGggdGhlIGxlZ2FjeSBlcnJvciBoYW5kbGluZworICAgICAqLworICAgIGlmIChjdHh0ICE9IE5VTEwpIHsKKyAgICAgICAgaW5wdXQgPSBjdHh0LT5pbnB1dDsKKyAgICAgICAgaWYgKChpbnB1dCAhPSBOVUxMKSAmJiAoaW5wdXQtPmZpbGVuYW1lID09IE5VTEwpICYmCisgICAgICAgICAgICAoY3R4dC0+aW5wdXROciA+IDEpKSB7CisgICAgICAgICAgICBjdXIgPSBpbnB1dDsKKyAgICAgICAgICAgIGlucHV0ID0gY3R4dC0+aW5wdXRUYWJbY3R4dC0+aW5wdXROciAtIDJdOworICAgICAgICB9CisgICAgICAgIGlmIChpbnB1dCAhPSBOVUxMKSB7CisgICAgICAgICAgICBpZiAoaW5wdXQtPmZpbGVuYW1lKQorICAgICAgICAgICAgICAgIGNoYW5uZWwoZGF0YSwgIiVzOiVkOiAiLCBpbnB1dC0+ZmlsZW5hbWUsIGlucHV0LT5saW5lKTsKKyAgICAgICAgICAgIGVsc2UgaWYgKChsaW5lICE9IDApICYmIChkb21haW4gPT0gWE1MX0ZST01fUEFSU0VSKSkKKyAgICAgICAgICAgICAgICBjaGFubmVsKGRhdGEsICJFbnRpdHk6IGxpbmUgJWQ6ICIsIGlucHV0LT5saW5lKTsKKyAgICAgICAgfQorICAgIH0gZWxzZSB7CisgICAgICAgIGlmIChmaWxlICE9IE5VTEwpCisgICAgICAgICAgICBjaGFubmVsKGRhdGEsICIlczolZDogIiwgZmlsZSwgbGluZSk7CisgICAgICAgIGVsc2UgaWYgKChsaW5lICE9IDApICYmIChkb21haW4gPT0gWE1MX0ZST01fUEFSU0VSKSkKKyAgICAgICAgICAgIGNoYW5uZWwoZGF0YSwgIkVudGl0eTogbGluZSAlZDogIiwgbGluZSk7CisgICAgfQorICAgIGlmIChuYW1lICE9IE5VTEwpIHsKKyAgICAgICAgY2hhbm5lbChkYXRhLCAiZWxlbWVudCAlczogIiwgbmFtZSk7CisgICAgfQorICAgIGlmIChjb2RlID09IFhNTF9FUlJfT0spCisgICAgICAgIHJldHVybjsKKyAgICBzd2l0Y2ggKGRvbWFpbikgeworICAgICAgICBjYXNlIFhNTF9GUk9NX1BBUlNFUjoKKyAgICAgICAgICAgIGNoYW5uZWwoZGF0YSwgInBhcnNlciAiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9GUk9NX05BTUVTUEFDRToKKyAgICAgICAgICAgIGNoYW5uZWwoZGF0YSwgIm5hbWVzcGFjZSAiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9GUk9NX0RURDoKKyAgICAgICAgY2FzZSBYTUxfRlJPTV9WQUxJRDoKKyAgICAgICAgICAgIGNoYW5uZWwoZGF0YSwgInZhbGlkaXR5ICIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0ZST01fSFRNTDoKKyAgICAgICAgICAgIGNoYW5uZWwoZGF0YSwgIkhUTUwgcGFyc2VyICIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0ZST01fTUVNT1JZOgorICAgICAgICAgICAgY2hhbm5lbChkYXRhLCAibWVtb3J5ICIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0ZST01fT1VUUFVUOgorICAgICAgICAgICAgY2hhbm5lbChkYXRhLCAib3V0cHV0ICIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0ZST01fSU86CisgICAgICAgICAgICBjaGFubmVsKGRhdGEsICJJL08gIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfRlJPTV9YSU5DTFVERToKKyAgICAgICAgICAgIGNoYW5uZWwoZGF0YSwgIlhJbmNsdWRlICIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0ZST01fWFBBVEg6CisgICAgICAgICAgICBjaGFubmVsKGRhdGEsICJYUGF0aCAiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9GUk9NX1hQT0lOVEVSOgorICAgICAgICAgICAgY2hhbm5lbChkYXRhLCAicGFyc2VyICIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0ZST01fUkVHRVhQOgorICAgICAgICAgICAgY2hhbm5lbChkYXRhLCAicmVnZXhwICIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0ZST01fTU9EVUxFOgorICAgICAgICAgICAgY2hhbm5lbChkYXRhLCAibW9kdWxlICIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0ZST01fU0NIRU1BU1Y6CisgICAgICAgICAgICBjaGFubmVsKGRhdGEsICJTY2hlbWFzIHZhbGlkaXR5ICIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0ZST01fU0NIRU1BU1A6CisgICAgICAgICAgICBjaGFubmVsKGRhdGEsICJTY2hlbWFzIHBhcnNlciAiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9GUk9NX1JFTEFYTkdQOgorICAgICAgICAgICAgY2hhbm5lbChkYXRhLCAiUmVsYXgtTkcgcGFyc2VyICIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0ZST01fUkVMQVhOR1Y6CisgICAgICAgICAgICBjaGFubmVsKGRhdGEsICJSZWxheC1ORyB2YWxpZGl0eSAiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9GUk9NX0NBVEFMT0c6CisgICAgICAgICAgICBjaGFubmVsKGRhdGEsICJDYXRhbG9nICIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0ZST01fQzE0TjoKKyAgICAgICAgICAgIGNoYW5uZWwoZGF0YSwgIkMxNE4gIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfRlJPTV9YU0xUOgorICAgICAgICAgICAgY2hhbm5lbChkYXRhLCAiWFNMVCAiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgYnJlYWs7CisgICAgfQorICAgIGlmIChjb2RlID09IFhNTF9FUlJfT0spCisgICAgICAgIHJldHVybjsKKyAgICBzd2l0Y2ggKGxldmVsKSB7CisgICAgICAgIGNhc2UgWE1MX0VSUl9OT05FOgorICAgICAgICAgICAgY2hhbm5lbChkYXRhLCAiOiAiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9FUlJfV0FSTklORzoKKyAgICAgICAgICAgIGNoYW5uZWwoZGF0YSwgIndhcm5pbmcgOiAiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9FUlJfRVJST1I6CisgICAgICAgICAgICBjaGFubmVsKGRhdGEsICJlcnJvciA6ICIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0VSUl9GQVRBTDoKKyAgICAgICAgICAgIGNoYW5uZWwoZGF0YSwgImVycm9yIDogIik7CisgICAgICAgICAgICBicmVhazsKKyAgICB9CisgICAgaWYgKGNvZGUgPT0gWE1MX0VSUl9PSykKKyAgICAgICAgcmV0dXJuOworICAgIGlmIChzdHIgIT0gTlVMTCkgeworICAgICAgICBpbnQgbGVuOworCWxlbiA9IHhtbFN0cmxlbigoY29uc3QgeG1sQ2hhciAqKXN0cik7CisJaWYgKChsZW4gPiAwKSAmJiAoc3RyW2xlbiAtIDFdICE9ICdcbicpKQorCSAgICBjaGFubmVsKGRhdGEsICIlc1xuIiwgc3RyKTsKKwllbHNlCisJICAgIGNoYW5uZWwoZGF0YSwgIiVzIiwgc3RyKTsKKyAgICB9IGVsc2UgeworICAgICAgICBjaGFubmVsKGRhdGEsICIlc1xuIiwgIm91dCBvZiBtZW1vcnkgZXJyb3IiKTsKKyAgICB9CisgICAgaWYgKGNvZGUgPT0gWE1MX0VSUl9PSykKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKGN0eHQgIT0gTlVMTCkgeworICAgICAgICB4bWxQYXJzZXJQcmludEZpbGVDb250ZXh0SW50ZXJuYWwoaW5wdXQsIGNoYW5uZWwsIGRhdGEpOworICAgICAgICBpZiAoY3VyICE9IE5VTEwpIHsKKyAgICAgICAgICAgIGlmIChjdXItPmZpbGVuYW1lKQorICAgICAgICAgICAgICAgIGNoYW5uZWwoZGF0YSwgIiVzOiVkOiBcbiIsIGN1ci0+ZmlsZW5hbWUsIGN1ci0+bGluZSk7CisgICAgICAgICAgICBlbHNlIGlmICgobGluZSAhPSAwKSAmJiAoZG9tYWluID09IFhNTF9GUk9NX1BBUlNFUikpCisgICAgICAgICAgICAgICAgY2hhbm5lbChkYXRhLCAiRW50aXR5OiBsaW5lICVkOiBcbiIsIGN1ci0+bGluZSk7CisgICAgICAgICAgICB4bWxQYXJzZXJQcmludEZpbGVDb250ZXh0SW50ZXJuYWwoY3VyLCBjaGFubmVsLCBkYXRhKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBpZiAoKGRvbWFpbiA9PSBYTUxfRlJPTV9YUEFUSCkgJiYgKGVyci0+c3RyMSAhPSBOVUxMKSAmJgorICAgICAgICAoZXJyLT5pbnQxIDwgMTAwKSAmJgorCShlcnItPmludDEgPCB4bWxTdHJsZW4oKGNvbnN0IHhtbENoYXIgKillcnItPnN0cjEpKSkgeworCXhtbENoYXIgYnVmWzE1MF07CisJaW50IGk7CisKKwljaGFubmVsKGRhdGEsICIlc1xuIiwgZXJyLT5zdHIxKTsKKwlmb3IgKGk9MDtpIDwgZXJyLT5pbnQxO2krKykKKwkgICAgIGJ1ZltpXSA9ICcgJzsKKwlidWZbaSsrXSA9ICdeJzsKKwlidWZbaV0gPSAwOworCWNoYW5uZWwoZGF0YSwgIiVzXG4iLCBidWYpOworICAgIH0KK30KKworc3RhdGljIHZvaWQKK2luaXRpYWxpemVMaWJ4bWwyKHZvaWQpIHsKKyAgICB4bWxHZXRXYXJuaW5nc0RlZmF1bHRWYWx1ZSA9IDA7CisgICAgeG1sUGVkYW50aWNQYXJzZXJEZWZhdWx0KDApOworCisgICAgeG1sTWVtU2V0dXAoeG1sTWVtRnJlZSwgeG1sTWVtTWFsbG9jLCB4bWxNZW1SZWFsbG9jLCB4bWxNZW1vcnlTdHJkdXApOworICAgIHhtbEluaXRQYXJzZXIoKTsKKyAgICB4bWxTZXRFeHRlcm5hbEVudGl0eUxvYWRlcih0ZXN0RXh0ZXJuYWxFbnRpdHlMb2FkZXIpOworICAgIHhtbFNldFN0cnVjdHVyZWRFcnJvckZ1bmMoTlVMTCwgdGVzdFN0cnVjdHVyZWRFcnJvckhhbmRsZXIpOworICAgIC8qCisgICAgICogcmVnaXN0ZXIgdGhlIG5ldyBJL08gaGFuZGxlcnMKKyAgICAgKi8KKyAgICBpZiAoeG1sUmVnaXN0ZXJJbnB1dENhbGxiYWNrcyhodWdlTWF0Y2gsIGh1Z2VPcGVuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGh1Z2VSZWFkLCBodWdlQ2xvc2UpIDwgMCkgeworICAgICAgICBmcHJpbnRmKHN0ZGVyciwgImZhaWxlZCB0byByZWdpc3RlciBIdWdlIGhhbmRsZXJzXG4iKTsKKwlleGl0KDEpOworICAgIH0KKyAgICBpZiAoeG1sUmVnaXN0ZXJJbnB1dENhbGxiYWNrcyhjcmF6eU1hdGNoLCBjcmF6eU9wZW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3JhenlSZWFkLCBjcmF6eUNsb3NlKSA8IDApIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJmYWlsZWQgdG8gcmVnaXN0ZXIgQ3JhenkgaGFuZGxlcnNcbiIpOworCWV4aXQoMSk7CisgICAgfQorfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQlTQVggZW1wdHkgY2FsbGJhY2tzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKwordW5zaWduZWQgbG9uZyBjYWxsYmFja3MgPSAwOworCisvKioKKyAqIGlzU3RhbmRhbG9uZUNhbGxiYWNrOgorICogQGN0eHQ6ICBBbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqCisgKiBJcyB0aGlzIGRvY3VtZW50IHRhZ2dlZCBzdGFuZGFsb25lID8KKyAqCisgKiBSZXR1cm5zIDEgaWYgdHJ1ZQorICovCitzdGF0aWMgaW50Citpc1N0YW5kYWxvbmVDYWxsYmFjayh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCkKK3sKKyAgICBjYWxsYmFja3MrKzsKKyAgICByZXR1cm4gKDApOworfQorCisvKioKKyAqIGhhc0ludGVybmFsU3Vic2V0Q2FsbGJhY2s6CisgKiBAY3R4dDogIEFuIFhNTCBwYXJzZXIgY29udGV4dAorICoKKyAqIERvZXMgdGhpcyBkb2N1bWVudCBoYXMgYW4gaW50ZXJuYWwgc3Vic2V0CisgKgorICogUmV0dXJucyAxIGlmIHRydWUKKyAqLworc3RhdGljIGludAoraGFzSW50ZXJuYWxTdWJzZXRDYWxsYmFjayh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCkKK3sKKyAgICBjYWxsYmFja3MrKzsKKyAgICByZXR1cm4gKDApOworfQorCisvKioKKyAqIGhhc0V4dGVybmFsU3Vic2V0Q2FsbGJhY2s6CisgKiBAY3R4dDogIEFuIFhNTCBwYXJzZXIgY29udGV4dAorICoKKyAqIERvZXMgdGhpcyBkb2N1bWVudCBoYXMgYW4gZXh0ZXJuYWwgc3Vic2V0CisgKgorICogUmV0dXJucyAxIGlmIHRydWUKKyAqLworc3RhdGljIGludAoraGFzRXh0ZXJuYWxTdWJzZXRDYWxsYmFjayh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCkKK3sKKyAgICBjYWxsYmFja3MrKzsKKyAgICByZXR1cm4gKDApOworfQorCisvKioKKyAqIGludGVybmFsU3Vic2V0Q2FsbGJhY2s6CisgKiBAY3R4dDogIEFuIFhNTCBwYXJzZXIgY29udGV4dAorICoKKyAqIERvZXMgdGhpcyBkb2N1bWVudCBoYXMgYW4gaW50ZXJuYWwgc3Vic2V0CisgKi8KK3N0YXRpYyB2b2lkCitpbnRlcm5hbFN1YnNldENhbGxiYWNrKHZvaWQgKmN0eCBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogbmFtZSBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogRXh0ZXJuYWxJRCBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogU3lzdGVtSUQgQVRUUklCVVRFX1VOVVNFRCkKK3sKKyAgICBjYWxsYmFja3MrKzsKKyAgICByZXR1cm47Cit9CisKKy8qKgorICogZXh0ZXJuYWxTdWJzZXRDYWxsYmFjazoKKyAqIEBjdHh0OiAgQW4gWE1MIHBhcnNlciBjb250ZXh0CisgKgorICogRG9lcyB0aGlzIGRvY3VtZW50IGhhcyBhbiBleHRlcm5hbCBzdWJzZXQKKyAqLworc3RhdGljIHZvaWQKK2V4dGVybmFsU3Vic2V0Q2FsbGJhY2sodm9pZCAqY3R4IEFUVFJJQlVURV9VTlVTRUQsCisgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBuYW1lIEFUVFJJQlVURV9VTlVTRUQsCisgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBFeHRlcm5hbElEIEFUVFJJQlVURV9VTlVTRUQsCisgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBTeXN0ZW1JRCBBVFRSSUJVVEVfVU5VU0VEKQoreworICAgIGNhbGxiYWNrcysrOworICAgIHJldHVybjsKK30KKworLyoqCisgKiByZXNvbHZlRW50aXR5Q2FsbGJhY2s6CisgKiBAY3R4dDogIEFuIFhNTCBwYXJzZXIgY29udGV4dAorICogQHB1YmxpY0lkOiBUaGUgcHVibGljIElEIG9mIHRoZSBlbnRpdHkKKyAqIEBzeXN0ZW1JZDogVGhlIHN5c3RlbSBJRCBvZiB0aGUgZW50aXR5CisgKgorICogU3BlY2lhbCBlbnRpdHkgcmVzb2x2ZXIsIGJldHRlciBsZWZ0IHRvIHRoZSBwYXJzZXIsIGl0IGhhcworICogbW9yZSBjb250ZXh0IHRoYW4gdGhlIGFwcGxpY2F0aW9uIGxheWVyLgorICogVGhlIGRlZmF1bHQgYmVoYXZpb3VyIGlzIHRvIE5PVCByZXNvbHZlIHRoZSBlbnRpdGllcywgaW4gdGhhdCBjYXNlCisgKiB0aGUgRU5USVRZX1JFRiBub2RlcyBhcmUgYnVpbHQgaW4gdGhlIHN0cnVjdHVyZSAoYW5kIHRoZSBwYXJhbWV0ZXIKKyAqIHZhbHVlcykuCisgKgorICogUmV0dXJucyB0aGUgeG1sUGFyc2VySW5wdXRQdHIgaWYgaW5saW5lZCBvciBOVUxMIGZvciBET00gYmVoYXZpb3VyLgorICovCitzdGF0aWMgeG1sUGFyc2VySW5wdXRQdHIKK3Jlc29sdmVFbnRpdHlDYWxsYmFjayh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCwKKyAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogcHVibGljSWQgQVRUUklCVVRFX1VOVVNFRCwKKyAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogc3lzdGVtSWQgQVRUUklCVVRFX1VOVVNFRCkKK3sKKyAgICBjYWxsYmFja3MrKzsKKyAgICByZXR1cm4gKE5VTEwpOworfQorCisvKioKKyAqIGdldEVudGl0eUNhbGxiYWNrOgorICogQGN0eHQ6ICBBbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBuYW1lOiBUaGUgZW50aXR5IG5hbWUKKyAqCisgKiBHZXQgYW4gZW50aXR5IGJ5IG5hbWUKKyAqCisgKiBSZXR1cm5zIHRoZSB4bWxQYXJzZXJJbnB1dFB0ciBpZiBpbmxpbmVkIG9yIE5VTEwgZm9yIERPTSBiZWhhdmlvdXIuCisgKi8KK3N0YXRpYyB4bWxFbnRpdHlQdHIKK2dldEVudGl0eUNhbGxiYWNrKHZvaWQgKmN0eCBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIG5hbWUgQVRUUklCVVRFX1VOVVNFRCkKK3sKKyAgICBjYWxsYmFja3MrKzsKKyAgICByZXR1cm4gKE5VTEwpOworfQorCisvKioKKyAqIGdldFBhcmFtZXRlckVudGl0eUNhbGxiYWNrOgorICogQGN0eHQ6ICBBbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBuYW1lOiBUaGUgZW50aXR5IG5hbWUKKyAqCisgKiBHZXQgYSBwYXJhbWV0ZXIgZW50aXR5IGJ5IG5hbWUKKyAqCisgKiBSZXR1cm5zIHRoZSB4bWxQYXJzZXJJbnB1dFB0cgorICovCitzdGF0aWMgeG1sRW50aXR5UHRyCitnZXRQYXJhbWV0ZXJFbnRpdHlDYWxsYmFjayh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBuYW1lIEFUVFJJQlVURV9VTlVTRUQpCit7CisgICAgY2FsbGJhY2tzKys7CisgICAgcmV0dXJuIChOVUxMKTsKK30KKworCisvKioKKyAqIGVudGl0eURlY2xDYWxsYmFjazoKKyAqIEBjdHh0OiAgQW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAbmFtZTogIHRoZSBlbnRpdHkgbmFtZQorICogQHR5cGU6ICB0aGUgZW50aXR5IHR5cGUKKyAqIEBwdWJsaWNJZDogVGhlIHB1YmxpYyBJRCBvZiB0aGUgZW50aXR5CisgKiBAc3lzdGVtSWQ6IFRoZSBzeXN0ZW0gSUQgb2YgdGhlIGVudGl0eQorICogQGNvbnRlbnQ6IHRoZSBlbnRpdHkgdmFsdWUgKHdpdGhvdXQgcHJvY2Vzc2luZykuCisgKgorICogQW4gZW50aXR5IGRlZmluaXRpb24gaGFzIGJlZW4gcGFyc2VkCisgKi8KK3N0YXRpYyB2b2lkCitlbnRpdHlEZWNsQ2FsbGJhY2sodm9pZCAqY3R4IEFUVFJJQlVURV9VTlVTRUQsCisgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIG5hbWUgQVRUUklCVVRFX1VOVVNFRCwKKyAgICAgICAgICAgICAgICAgICBpbnQgdHlwZSBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBwdWJsaWNJZCBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBzeXN0ZW1JZCBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgICAgICAgIHhtbENoYXIgKiBjb250ZW50IEFUVFJJQlVURV9VTlVTRUQpCit7CisgICAgY2FsbGJhY2tzKys7CisgICAgcmV0dXJuOworfQorCisvKioKKyAqIGF0dHJpYnV0ZURlY2xDYWxsYmFjazoKKyAqIEBjdHh0OiAgQW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAbmFtZTogIHRoZSBhdHRyaWJ1dGUgbmFtZQorICogQHR5cGU6ICB0aGUgYXR0cmlidXRlIHR5cGUKKyAqCisgKiBBbiBhdHRyaWJ1dGUgZGVmaW5pdGlvbiBoYXMgYmVlbiBwYXJzZWQKKyAqLworc3RhdGljIHZvaWQKK2F0dHJpYnV0ZURlY2xDYWxsYmFjayh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCwKKyAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogZWxlbSBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBuYW1lIEFUVFJJQlVURV9VTlVTRUQsCisgICAgICAgICAgICAgICAgICAgICAgaW50IHR5cGUgQVRUUklCVVRFX1VOVVNFRCwgaW50IGRlZiBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBkZWZhdWx0VmFsdWUgQVRUUklCVVRFX1VOVVNFRCwKKyAgICAgICAgICAgICAgICAgICAgICB4bWxFbnVtZXJhdGlvblB0ciB0cmVlIEFUVFJJQlVURV9VTlVTRUQpCit7CisgICAgY2FsbGJhY2tzKys7CisgICAgcmV0dXJuOworfQorCisvKioKKyAqIGVsZW1lbnREZWNsQ2FsbGJhY2s6CisgKiBAY3R4dDogIEFuIFhNTCBwYXJzZXIgY29udGV4dAorICogQG5hbWU6ICB0aGUgZWxlbWVudCBuYW1lCisgKiBAdHlwZTogIHRoZSBlbGVtZW50IHR5cGUKKyAqIEBjb250ZW50OiB0aGUgZWxlbWVudCB2YWx1ZSAod2l0aG91dCBwcm9jZXNzaW5nKS4KKyAqCisgKiBBbiBlbGVtZW50IGRlZmluaXRpb24gaGFzIGJlZW4gcGFyc2VkCisgKi8KK3N0YXRpYyB2b2lkCitlbGVtZW50RGVjbENhbGxiYWNrKHZvaWQgKmN0eCBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogbmFtZSBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgICAgICAgICBpbnQgdHlwZSBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgICAgICAgICB4bWxFbGVtZW50Q29udGVudFB0ciBjb250ZW50IEFUVFJJQlVURV9VTlVTRUQpCit7CisgICAgY2FsbGJhY2tzKys7CisgICAgcmV0dXJuOworfQorCisvKioKKyAqIG5vdGF0aW9uRGVjbENhbGxiYWNrOgorICogQGN0eHQ6ICBBbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBuYW1lOiBUaGUgbmFtZSBvZiB0aGUgbm90YXRpb24KKyAqIEBwdWJsaWNJZDogVGhlIHB1YmxpYyBJRCBvZiB0aGUgZW50aXR5CisgKiBAc3lzdGVtSWQ6IFRoZSBzeXN0ZW0gSUQgb2YgdGhlIGVudGl0eQorICoKKyAqIFdoYXQgdG8gZG8gd2hlbiBhIG5vdGF0aW9uIGRlY2xhcmF0aW9uIGhhcyBiZWVuIHBhcnNlZC4KKyAqLworc3RhdGljIHZvaWQKK25vdGF0aW9uRGVjbENhbGxiYWNrKHZvaWQgKmN0eCBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIG5hbWUgQVRUUklCVVRFX1VOVVNFRCwKKyAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBwdWJsaWNJZCBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIHN5c3RlbUlkIEFUVFJJQlVURV9VTlVTRUQpCit7CisgICAgY2FsbGJhY2tzKys7CisgICAgcmV0dXJuOworfQorCisvKioKKyAqIHVucGFyc2VkRW50aXR5RGVjbENhbGxiYWNrOgorICogQGN0eHQ6ICBBbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBuYW1lOiBUaGUgbmFtZSBvZiB0aGUgZW50aXR5CisgKiBAcHVibGljSWQ6IFRoZSBwdWJsaWMgSUQgb2YgdGhlIGVudGl0eQorICogQHN5c3RlbUlkOiBUaGUgc3lzdGVtIElEIG9mIHRoZSBlbnRpdHkKKyAqIEBub3RhdGlvbk5hbWU6IHRoZSBuYW1lIG9mIHRoZSBub3RhdGlvbgorICoKKyAqIFdoYXQgdG8gZG8gd2hlbiBhbiB1bnBhcnNlZCBlbnRpdHkgZGVjbGFyYXRpb24gaXMgcGFyc2VkCisgKi8KK3N0YXRpYyB2b2lkCit1bnBhcnNlZEVudGl0eURlY2xDYWxsYmFjayh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBuYW1lIEFUVFJJQlVURV9VTlVTRUQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogcHVibGljSWQgQVRUUklCVVRFX1VOVVNFRCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBzeXN0ZW1JZCBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIG5vdGF0aW9uTmFtZSBBVFRSSUJVVEVfVU5VU0VEKQoreworICAgIGNhbGxiYWNrcysrOworICAgIHJldHVybjsKK30KKworLyoqCisgKiBzZXREb2N1bWVudExvY2F0b3JDYWxsYmFjazoKKyAqIEBjdHh0OiAgQW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAbG9jOiBBIFNBWCBMb2NhdG9yCisgKgorICogUmVjZWl2ZSB0aGUgZG9jdW1lbnQgbG9jYXRvciBhdCBzdGFydHVwLCBhY3R1YWxseSB4bWxEZWZhdWx0U0FYTG9jYXRvcgorICogRXZlcnl0aGluZyBpcyBhdmFpbGFibGUgb24gdGhlIGNvbnRleHQsIHNvIHRoaXMgaXMgdXNlbGVzcyBpbiBvdXIgY2FzZS4KKyAqLworc3RhdGljIHZvaWQKK3NldERvY3VtZW50TG9jYXRvckNhbGxiYWNrKHZvaWQgKmN0eCBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sU0FYTG9jYXRvclB0ciBsb2MgQVRUUklCVVRFX1VOVVNFRCkKK3sKKyAgICBjYWxsYmFja3MrKzsKKyAgICByZXR1cm47Cit9CisKKy8qKgorICogc3RhcnREb2N1bWVudENhbGxiYWNrOgorICogQGN0eHQ6ICBBbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqCisgKiBjYWxsZWQgd2hlbiB0aGUgZG9jdW1lbnQgc3RhcnQgYmVpbmcgcHJvY2Vzc2VkLgorICovCitzdGF0aWMgdm9pZAorc3RhcnREb2N1bWVudENhbGxiYWNrKHZvaWQgKmN0eCBBVFRSSUJVVEVfVU5VU0VEKQoreworICAgIGNhbGxiYWNrcysrOworICAgIHJldHVybjsKK30KKworLyoqCisgKiBlbmREb2N1bWVudENhbGxiYWNrOgorICogQGN0eHQ6ICBBbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqCisgKiBjYWxsZWQgd2hlbiB0aGUgZG9jdW1lbnQgZW5kIGhhcyBiZWVuIGRldGVjdGVkLgorICovCitzdGF0aWMgdm9pZAorZW5kRG9jdW1lbnRDYWxsYmFjayh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCkKK3sKKyAgICBjYWxsYmFja3MrKzsKKyAgICByZXR1cm47Cit9CisKKyNpZiAwCisvKioKKyAqIHN0YXJ0RWxlbWVudENhbGxiYWNrOgorICogQGN0eHQ6ICBBbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBuYW1lOiAgVGhlIGVsZW1lbnQgbmFtZQorICoKKyAqIGNhbGxlZCB3aGVuIGFuIG9wZW5pbmcgdGFnIGhhcyBiZWVuIHByb2Nlc3NlZC4KKyAqLworc3RhdGljIHZvaWQKK3N0YXJ0RWxlbWVudENhbGxiYWNrKHZvaWQgKmN0eCBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIG5hbWUgQVRUUklCVVRFX1VOVVNFRCwKKyAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiogYXR0cyBBVFRSSUJVVEVfVU5VU0VEKQoreworICAgIGNhbGxiYWNrcysrOworICAgIHJldHVybjsKK30KKworLyoqCisgKiBlbmRFbGVtZW50Q2FsbGJhY2s6CisgKiBAY3R4dDogIEFuIFhNTCBwYXJzZXIgY29udGV4dAorICogQG5hbWU6ICBUaGUgZWxlbWVudCBuYW1lCisgKgorICogY2FsbGVkIHdoZW4gdGhlIGVuZCBvZiBhbiBlbGVtZW50IGhhcyBiZWVuIGRldGVjdGVkLgorICovCitzdGF0aWMgdm9pZAorZW5kRWxlbWVudENhbGxiYWNrKHZvaWQgKmN0eCBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBuYW1lIEFUVFJJQlVURV9VTlVTRUQpCit7CisgICAgY2FsbGJhY2tzKys7CisgICAgcmV0dXJuOworfQorI2VuZGlmCisKKy8qKgorICogY2hhcmFjdGVyc0NhbGxiYWNrOgorICogQGN0eHQ6ICBBbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBjaDogIGEgeG1sQ2hhciBzdHJpbmcKKyAqIEBsZW46IHRoZSBudW1iZXIgb2YgeG1sQ2hhcgorICoKKyAqIHJlY2VpdmluZyBzb21lIGNoYXJzIGZyb20gdGhlIHBhcnNlci4KKyAqIFF1ZXN0aW9uOiBob3cgbXVjaCBhdCBhIHRpbWUgPz8/CisgKi8KK3N0YXRpYyB2b2lkCitjaGFyYWN0ZXJzQ2FsbGJhY2sodm9pZCAqY3R4IEFUVFJJQlVURV9VTlVTRUQsCisgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIGNoIEFUVFJJQlVURV9VTlVTRUQsCisgICAgICAgICAgICAgICAgICAgaW50IGxlbiBBVFRSSUJVVEVfVU5VU0VEKQoreworICAgIGNhbGxiYWNrcysrOworICAgIHJldHVybjsKK30KKworLyoqCisgKiByZWZlcmVuY2VDYWxsYmFjazoKKyAqIEBjdHh0OiAgQW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAbmFtZTogIFRoZSBlbnRpdHkgbmFtZQorICoKKyAqIGNhbGxlZCB3aGVuIGFuIGVudGl0eSByZWZlcmVuY2UgaXMgZGV0ZWN0ZWQuCisgKi8KK3N0YXRpYyB2b2lkCityZWZlcmVuY2VDYWxsYmFjayh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCwKKyAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBuYW1lIEFUVFJJQlVURV9VTlVTRUQpCit7CisgICAgY2FsbGJhY2tzKys7CisgICAgcmV0dXJuOworfQorCisvKioKKyAqIGlnbm9yYWJsZVdoaXRlc3BhY2VDYWxsYmFjazoKKyAqIEBjdHh0OiAgQW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAY2g6ICBhIHhtbENoYXIgc3RyaW5nCisgKiBAc3RhcnQ6IHRoZSBmaXJzdCBjaGFyIGluIHRoZSBzdHJpbmcKKyAqIEBsZW46IHRoZSBudW1iZXIgb2YgeG1sQ2hhcgorICoKKyAqIHJlY2VpdmluZyBzb21lIGlnbm9yYWJsZSB3aGl0ZXNwYWNlcyBmcm9tIHRoZSBwYXJzZXIuCisgKiBRdWVzdGlvbjogaG93IG11Y2ggYXQgYSB0aW1lID8/PworICovCitzdGF0aWMgdm9pZAoraWdub3JhYmxlV2hpdGVzcGFjZUNhbGxiYWNrKHZvaWQgKmN0eCBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBjaCBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBsZW4gQVRUUklCVVRFX1VOVVNFRCkKK3sKKyAgICBjYWxsYmFja3MrKzsKKyAgICByZXR1cm47Cit9CisKKy8qKgorICogcHJvY2Vzc2luZ0luc3RydWN0aW9uQ2FsbGJhY2s6CisgKiBAY3R4dDogIEFuIFhNTCBwYXJzZXIgY29udGV4dAorICogQHRhcmdldDogIHRoZSB0YXJnZXQgbmFtZQorICogQGRhdGE6IHRoZSBQSSBkYXRhJ3MKKyAqIEBsZW46IHRoZSBudW1iZXIgb2YgeG1sQ2hhcgorICoKKyAqIEEgcHJvY2Vzc2luZyBpbnN0cnVjdGlvbiBoYXMgYmVlbiBwYXJzZWQuCisgKi8KK3N0YXRpYyB2b2lkCitwcm9jZXNzaW5nSW5zdHJ1Y3Rpb25DYWxsYmFjayh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiB0YXJnZXQgQVRUUklCVVRFX1VOVVNFRCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBkYXRhIEFUVFJJQlVURV9VTlVTRUQpCit7CisgICAgY2FsbGJhY2tzKys7CisgICAgcmV0dXJuOworfQorCisvKioKKyAqIGNkYXRhQmxvY2tDYWxsYmFjazoKKyAqIEBjdHg6IHRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCkKKyAqIEB2YWx1ZTogIFRoZSBwY2RhdGEgY29udGVudAorICogQGxlbjogIHRoZSBibG9jayBsZW5ndGgKKyAqCisgKiBjYWxsZWQgd2hlbiBhIHBjZGF0YSBibG9jayBoYXMgYmVlbiBwYXJzZWQKKyAqLworc3RhdGljIHZvaWQKK2NkYXRhQmxvY2tDYWxsYmFjayh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCwKKyAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogdmFsdWUgQVRUUklCVVRFX1VOVVNFRCwKKyAgICAgICAgICAgICAgICAgICBpbnQgbGVuIEFUVFJJQlVURV9VTlVTRUQpCit7CisgICAgY2FsbGJhY2tzKys7CisgICAgcmV0dXJuOworfQorCisvKioKKyAqIGNvbW1lbnRDYWxsYmFjazoKKyAqIEBjdHh0OiAgQW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAdmFsdWU6ICB0aGUgY29tbWVudCBjb250ZW50CisgKgorICogQSBjb21tZW50IGhhcyBiZWVuIHBhcnNlZC4KKyAqLworc3RhdGljIHZvaWQKK2NvbW1lbnRDYWxsYmFjayh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCwKKyAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogdmFsdWUgQVRUUklCVVRFX1VOVVNFRCkKK3sKKyAgICBjYWxsYmFja3MrKzsKKyAgICByZXR1cm47Cit9CisKKy8qKgorICogd2FybmluZ0NhbGxiYWNrOgorICogQGN0eHQ6ICBBbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBtc2c6ICB0aGUgbWVzc2FnZSB0byBkaXNwbGF5L3RyYW5zbWl0CisgKiBALi4uOiAgZXh0cmEgcGFyYW1ldGVycyBmb3IgdGhlIG1lc3NhZ2UgZGlzcGxheQorICoKKyAqIERpc3BsYXkgYW5kIGZvcm1hdCBhIHdhcm5pbmcgbWVzc2FnZXMsIGdpdmVzIGZpbGUsIGxpbmUsIHBvc2l0aW9uIGFuZAorICogZXh0cmEgcGFyYW1ldGVycy4KKyAqLworc3RhdGljIHZvaWQgWE1MQ0RFQ0wKK3dhcm5pbmdDYWxsYmFjayh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCwKKyAgICAgICAgICAgICAgICBjb25zdCBjaGFyICptc2cgQVRUUklCVVRFX1VOVVNFRCwgLi4uKQoreworICAgIGNhbGxiYWNrcysrOworICAgIHJldHVybjsKK30KKworLyoqCisgKiBlcnJvckNhbGxiYWNrOgorICogQGN0eHQ6ICBBbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBtc2c6ICB0aGUgbWVzc2FnZSB0byBkaXNwbGF5L3RyYW5zbWl0CisgKiBALi4uOiAgZXh0cmEgcGFyYW1ldGVycyBmb3IgdGhlIG1lc3NhZ2UgZGlzcGxheQorICoKKyAqIERpc3BsYXkgYW5kIGZvcm1hdCBhIGVycm9yIG1lc3NhZ2VzLCBnaXZlcyBmaWxlLCBsaW5lLCBwb3NpdGlvbiBhbmQKKyAqIGV4dHJhIHBhcmFtZXRlcnMuCisgKi8KK3N0YXRpYyB2b2lkIFhNTENERUNMCitlcnJvckNhbGxiYWNrKHZvaWQgKmN0eCBBVFRSSUJVVEVfVU5VU0VELCBjb25zdCBjaGFyICptc2cgQVRUUklCVVRFX1VOVVNFRCwKKyAgICAgICAgICAgICAgLi4uKQoreworICAgIGNhbGxiYWNrcysrOworICAgIHJldHVybjsKK30KKworLyoqCisgKiBmYXRhbEVycm9yQ2FsbGJhY2s6CisgKiBAY3R4dDogIEFuIFhNTCBwYXJzZXIgY29udGV4dAorICogQG1zZzogIHRoZSBtZXNzYWdlIHRvIGRpc3BsYXkvdHJhbnNtaXQKKyAqIEAuLi46ICBleHRyYSBwYXJhbWV0ZXJzIGZvciB0aGUgbWVzc2FnZSBkaXNwbGF5CisgKgorICogRGlzcGxheSBhbmQgZm9ybWF0IGEgZmF0YWxFcnJvciBtZXNzYWdlcywgZ2l2ZXMgZmlsZSwgbGluZSwgcG9zaXRpb24gYW5kCisgKiBleHRyYSBwYXJhbWV0ZXJzLgorICovCitzdGF0aWMgdm9pZCBYTUxDREVDTAorZmF0YWxFcnJvckNhbGxiYWNrKHZvaWQgKmN0eCBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKm1zZyBBVFRSSUJVVEVfVU5VU0VELCAuLi4pCit7CisgICAgcmV0dXJuOworfQorCisKKy8qCisgKiBTQVgyIHNwZWNpZmljIGNhbGxiYWNrcworICovCisKKy8qKgorICogc3RhcnRFbGVtZW50TnNDYWxsYmFjazoKKyAqIEBjdHh0OiAgQW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAbmFtZTogIFRoZSBlbGVtZW50IG5hbWUKKyAqCisgKiBjYWxsZWQgd2hlbiBhbiBvcGVuaW5nIHRhZyBoYXMgYmVlbiBwcm9jZXNzZWQuCisgKi8KK3N0YXRpYyB2b2lkCitzdGFydEVsZW1lbnROc0NhbGxiYWNrKHZvaWQgKmN0eCBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogbG9jYWxuYW1lIEFUVFJJQlVURV9VTlVTRUQsCisgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBwcmVmaXggQVRUUklCVVRFX1VOVVNFRCwKKyAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIFVSSSBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgICAgICAgICAgICBpbnQgbmJfbmFtZXNwYWNlcyBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoqIG5hbWVzcGFjZXMgQVRUUklCVVRFX1VOVVNFRCwKKyAgICAgICAgICAgICAgICAgICAgICAgaW50IG5iX2F0dHJpYnV0ZXMgQVRUUklCVVRFX1VOVVNFRCwKKyAgICAgICAgICAgICAgICAgICAgICAgaW50IG5iX2RlZmF1bHRlZCBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoqIGF0dHJpYnV0ZXMgQVRUUklCVVRFX1VOVVNFRCkKK3sKKyAgICBjYWxsYmFja3MrKzsKKyAgICByZXR1cm47Cit9CisKKy8qKgorICogZW5kRWxlbWVudENhbGxiYWNrOgorICogQGN0eHQ6ICBBbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBuYW1lOiAgVGhlIGVsZW1lbnQgbmFtZQorICoKKyAqIGNhbGxlZCB3aGVuIHRoZSBlbmQgb2YgYW4gZWxlbWVudCBoYXMgYmVlbiBkZXRlY3RlZC4KKyAqLworc3RhdGljIHZvaWQKK2VuZEVsZW1lbnROc0NhbGxiYWNrKHZvaWQgKmN0eCBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIGxvY2FsbmFtZSBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIHByZWZpeCBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIFVSSSBBVFRSSUJVVEVfVU5VU0VEKQoreworICAgIGNhbGxiYWNrcysrOworICAgIHJldHVybjsKK30KKworc3RhdGljIHhtbFNBWEhhbmRsZXIgY2FsbGJhY2tTQVgySGFuZGxlclN0cnVjdCA9IHsKKyAgICBpbnRlcm5hbFN1YnNldENhbGxiYWNrLAorICAgIGlzU3RhbmRhbG9uZUNhbGxiYWNrLAorICAgIGhhc0ludGVybmFsU3Vic2V0Q2FsbGJhY2ssCisgICAgaGFzRXh0ZXJuYWxTdWJzZXRDYWxsYmFjaywKKyAgICByZXNvbHZlRW50aXR5Q2FsbGJhY2ssCisgICAgZ2V0RW50aXR5Q2FsbGJhY2ssCisgICAgZW50aXR5RGVjbENhbGxiYWNrLAorICAgIG5vdGF0aW9uRGVjbENhbGxiYWNrLAorICAgIGF0dHJpYnV0ZURlY2xDYWxsYmFjaywKKyAgICBlbGVtZW50RGVjbENhbGxiYWNrLAorICAgIHVucGFyc2VkRW50aXR5RGVjbENhbGxiYWNrLAorICAgIHNldERvY3VtZW50TG9jYXRvckNhbGxiYWNrLAorICAgIHN0YXJ0RG9jdW1lbnRDYWxsYmFjaywKKyAgICBlbmREb2N1bWVudENhbGxiYWNrLAorICAgIE5VTEwsCisgICAgTlVMTCwKKyAgICByZWZlcmVuY2VDYWxsYmFjaywKKyAgICBjaGFyYWN0ZXJzQ2FsbGJhY2ssCisgICAgaWdub3JhYmxlV2hpdGVzcGFjZUNhbGxiYWNrLAorICAgIHByb2Nlc3NpbmdJbnN0cnVjdGlvbkNhbGxiYWNrLAorICAgIGNvbW1lbnRDYWxsYmFjaywKKyAgICB3YXJuaW5nQ2FsbGJhY2ssCisgICAgZXJyb3JDYWxsYmFjaywKKyAgICBmYXRhbEVycm9yQ2FsbGJhY2ssCisgICAgZ2V0UGFyYW1ldGVyRW50aXR5Q2FsbGJhY2ssCisgICAgY2RhdGFCbG9ja0NhbGxiYWNrLAorICAgIGV4dGVybmFsU3Vic2V0Q2FsbGJhY2ssCisgICAgWE1MX1NBWDJfTUFHSUMsCisgICAgTlVMTCwKKyAgICBzdGFydEVsZW1lbnROc0NhbGxiYWNrLAorICAgIGVuZEVsZW1lbnROc0NhbGxiYWNrLAorICAgIE5VTEwKK307CisKK3N0YXRpYyB4bWxTQVhIYW5kbGVyUHRyIGNhbGxiYWNrU0FYMkhhbmRsZXIgPSAmY2FsbGJhY2tTQVgySGFuZGxlclN0cnVjdDsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJVGhlIHRlc3RzIGZyb250LWVuZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioKKyAqIHJlYWRlclRlc3Q6CisgKiBAZmlsZW5hbWU6IHRoZSBmaWxlIHRvIHBhcnNlCisgKiBAbWF4X3NpemU6IHNpemUgb2YgdGhlIGxpbWl0IHRvIHRlc3QKKyAqIEBvcHRpb25zOiBwYXJzaW5nIG9wdGlvbnMKKyAqIEBmYWlsOiBzaG91bGQgYSBmYWlsdXJlIGJlIHJlcG9ydGVkCisgKgorICogUGFyc2UgYSBtZW1vcnkgZ2VuZXJhdGVkIGZpbGUgdXNpbmcgU0FYCisgKgorICogUmV0dXJucyAwIGluIGNhc2Ugb2Ygc3VjY2VzcywgYW4gZXJyb3IgY29kZSBvdGhlcndpc2UKKyAqLworc3RhdGljIGludAorc2F4VGVzdChjb25zdCBjaGFyICpmaWxlbmFtZSwgc2l6ZV90IGxpbWl0LCBpbnQgb3B0aW9ucywgaW50IGZhaWwpIHsKKyAgICBpbnQgcmVzID0gMDsKKyAgICB4bWxQYXJzZXJDdHh0UHRyIGN0eHQ7CisgICAgeG1sRG9jUHRyIGRvYzsKKyAgICB4bWxTQVhIYW5kbGVyUHRyIG9sZF9zYXg7CisKKyAgICBuYl90ZXN0cysrOworCisgICAgbWF4bGVuID0gbGltaXQ7CisgICAgY3R4dCA9IHhtbE5ld1BhcnNlckN0eHQoKTsKKyAgICBpZiAoY3R4dCA9PSBOVUxMKSB7CisgICAgICAgIGZwcmludGYoc3RkZXJyLCAiRmFpbGVkIHRvIGNyZWF0ZSBwYXJzZXIgY29udGV4dFxuIik7CisJcmV0dXJuKDEpOworICAgIH0KKyAgICBvbGRfc2F4ID0gY3R4dC0+c2F4OworICAgIGN0eHQtPnNheCA9IGNhbGxiYWNrU0FYMkhhbmRsZXI7CisgICAgY3R4dC0+dXNlckRhdGEgPSBOVUxMOworICAgIGRvYyA9IHhtbEN0eHRSZWFkRmlsZShjdHh0LCBmaWxlbmFtZSwgTlVMTCwgb3B0aW9ucyk7CisKKyAgICBpZiAoZG9jICE9IE5VTEwpIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJTQVggcGFyc2luZyBnZW5lcmF0ZWQgYSBkb2N1bWVudCAhXG4iKTsKKyAgICAgICAgeG1sRnJlZURvYyhkb2MpOworICAgICAgICByZXMgPSAwOworICAgIH0gZWxzZSBpZiAoY3R4dC0+d2VsbEZvcm1lZCA9PSAwKSB7CisgICAgICAgIGlmIChmYWlsKQorICAgICAgICAgICAgcmVzID0gMDsKKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkZhaWxlZCB0byBwYXJzZSAnJXMnICVsdVxuIiwgZmlsZW5hbWUsIGxpbWl0KTsKKyAgICAgICAgICAgIHJlcyA9IDE7CisgICAgICAgIH0KKyAgICB9IGVsc2UgeworICAgICAgICBpZiAoZmFpbCkgeworICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJGYWlsZWQgdG8gZ2V0IGZhaWx1cmUgZm9yICclcycgJWx1XG4iLAorICAgICAgICAgICAgICAgICAgICBmaWxlbmFtZSwgbGltaXQpOworICAgICAgICAgICAgcmVzID0gMTsKKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICByZXMgPSAwOworICAgIH0KKyAgICBjdHh0LT5zYXggPSBvbGRfc2F4OworICAgIHhtbEZyZWVQYXJzZXJDdHh0KGN0eHQpOworCisgICAgcmV0dXJuKHJlcyk7Cit9CisjaWZkZWYgTElCWE1MX1JFQURFUl9FTkFCTEVECisvKioKKyAqIHJlYWRlclRlc3Q6CisgKiBAZmlsZW5hbWU6IHRoZSBmaWxlIHRvIHBhcnNlCisgKiBAbWF4X3NpemU6IHNpemUgb2YgdGhlIGxpbWl0IHRvIHRlc3QKKyAqIEBvcHRpb25zOiBwYXJzaW5nIG9wdGlvbnMKKyAqIEBmYWlsOiBzaG91bGQgYSBmYWlsdXJlIGJlIHJlcG9ydGVkCisgKgorICogUGFyc2UgYSBtZW1vcnkgZ2VuZXJhdGVkIGZpbGUgdXNpbmcgdGhlIHhtbFJlYWRlcgorICoKKyAqIFJldHVybnMgMCBpbiBjYXNlIG9mIHN1Y2Nlc3MsIGFuIGVycm9yIGNvZGUgb3RoZXJ3aXNlCisgKi8KK3N0YXRpYyBpbnQKK3JlYWRlclRlc3QoY29uc3QgY2hhciAqZmlsZW5hbWUsIHNpemVfdCBsaW1pdCwgaW50IG9wdGlvbnMsIGludCBmYWlsKSB7CisgICAgeG1sVGV4dFJlYWRlclB0ciByZWFkZXI7CisgICAgaW50IHJlcyA9IDA7CisgICAgaW50IHJldDsKKworICAgIG5iX3Rlc3RzKys7CisKKyAgICBtYXhsZW4gPSBsaW1pdDsKKyAgICByZWFkZXIgPSB4bWxSZWFkZXJGb3JGaWxlKGZpbGVuYW1lICwgTlVMTCwgb3B0aW9ucyk7CisgICAgaWYgKHJlYWRlciA9PSBOVUxMKSB7CisgICAgICAgIGZwcmludGYoc3RkZXJyLCAiRmFpbGVkIHRvIG9wZW4gJyVzJyB0ZXN0XG4iLCBmaWxlbmFtZSk7CisJcmV0dXJuKDEpOworICAgIH0KKyAgICByZXQgPSB4bWxUZXh0UmVhZGVyUmVhZChyZWFkZXIpOworICAgIHdoaWxlIChyZXQgPT0gMSkgeworICAgICAgICByZXQgPSB4bWxUZXh0UmVhZGVyUmVhZChyZWFkZXIpOworICAgIH0KKyAgICBpZiAocmV0ICE9IDApIHsKKyAgICAgICAgaWYgKGZhaWwpCisgICAgICAgICAgICByZXMgPSAwOworICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIGlmIChzdHJuY21wKGZpbGVuYW1lLCAiY3Jhenk6IiwgNikgPT0gMCkKKyAgICAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkZhaWxlZCB0byBwYXJzZSAnJXMnICV1XG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgZmlsZW5hbWUsIGNyYXp5X2luZHgpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiRmFpbGVkIHRvIHBhcnNlICclcycgJWx1XG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgZmlsZW5hbWUsIGxpbWl0KTsKKyAgICAgICAgICAgIHJlcyA9IDE7CisgICAgICAgIH0KKyAgICB9IGVsc2UgeworICAgICAgICBpZiAoZmFpbCkgeworICAgICAgICAgICAgaWYgKHN0cm5jbXAoZmlsZW5hbWUsICJjcmF6eToiLCA2KSA9PSAwKQorICAgICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiRmFpbGVkIHRvIGdldCBmYWlsdXJlIGZvciAnJXMnICV1XG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgZmlsZW5hbWUsIGNyYXp5X2luZHgpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiRmFpbGVkIHRvIGdldCBmYWlsdXJlIGZvciAnJXMnICVsdVxuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVuYW1lLCBsaW1pdCk7CisgICAgICAgICAgICByZXMgPSAxOworICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgIHJlcyA9IDA7CisgICAgfQorICAgIGlmICh0aW1lb3V0KQorICAgICAgICByZXMgPSAxOworICAgIHhtbEZyZWVUZXh0UmVhZGVyKHJlYWRlcik7CisKKyAgICByZXR1cm4ocmVzKTsKK30KKyNlbmRpZgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQkJVGVzdHMgZGVzY3JpcHRpb25zCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKwordHlwZWRlZiBpbnQgKCpmdW5jdGVzdCkgKGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBzaXplX3QgbGltaXQsIGludCBvcHRpb25zLAorICAgICAgICAgICAgICAgICAgICAgICAgIGludCBmYWlsKTsKKwordHlwZWRlZiBzdHJ1Y3QgbGltaXREZXNjIGxpbWl0RGVzYzsKK3R5cGVkZWYgbGltaXREZXNjICpsaW1pdERlc2NQdHI7CitzdHJ1Y3QgbGltaXREZXNjIHsKKyAgICBjb25zdCBjaGFyICpuYW1lOyAvKiB0aGUgaHVnZSBnZW5lcmF0b3IgbmFtZSAqLworICAgIHNpemVfdCBsaW1pdDsgICAgIC8qIHRoZSBsaW1pdCB0byB0ZXN0ICovCisgICAgaW50IG9wdGlvbnM7ICAgICAgLyogZXh0cmEgcGFyc2VyIG9wdGlvbnMgKi8KKyAgICBpbnQgZmFpbDsgICAgICAgICAvKiB3aGV0aGVyIHRoZSB0ZXN0IHNob3VsZCBmYWlsICovCit9OworCitzdGF0aWMgbGltaXREZXNjIGxpbWl0RGVzY3JpcHRpb25zW10gPSB7CisgICAgLyogbWF4IGxlbmd0aCBvZiBhIHRleHQgbm9kZSBpbiBjb250ZW50ICovCisgICAgeyJodWdlOnRleHROb2RlIiwgWE1MX01BWF9URVhUX0xFTkdUSCAtIENIVU5LLCAwLCAwfSwKKyAgICB7Imh1Z2U6dGV4dE5vZGUiLCBYTUxfTUFYX1RFWFRfTEVOR1RIICsgQ0hVTkssIDAsIDF9LAorICAgIHsiaHVnZTp0ZXh0Tm9kZSIsIFhNTF9NQVhfVEVYVF9MRU5HVEggKyBDSFVOSywgWE1MX1BBUlNFX0hVR0UsIDB9LAorICAgIC8qIG1heCBsZW5ndGggb2YgYSB0ZXh0IG5vZGUgaW4gY29udGVudCAqLworICAgIHsiaHVnZTphdHRyTm9kZSIsIFhNTF9NQVhfVEVYVF9MRU5HVEggLSBDSFVOSywgMCwgMH0sCisgICAgeyJodWdlOmF0dHJOb2RlIiwgWE1MX01BWF9URVhUX0xFTkdUSCArIENIVU5LLCAwLCAxfSwKKyAgICB7Imh1Z2U6YXR0ck5vZGUiLCBYTUxfTUFYX1RFWFRfTEVOR1RIICsgQ0hVTkssIFhNTF9QQVJTRV9IVUdFLCAwfSwKKyAgICAvKiBtYXggbGVuZ3RoIG9mIGEgY29tbWVudCBub2RlICovCisgICAgeyJodWdlOmNvbW1lbnROb2RlIiwgWE1MX01BWF9URVhUX0xFTkdUSCAtIENIVU5LLCAwLCAwfSwKKyAgICB7Imh1Z2U6Y29tbWVudE5vZGUiLCBYTUxfTUFYX1RFWFRfTEVOR1RIICsgQ0hVTkssIDAsIDF9LAorICAgIHsiaHVnZTpjb21tZW50Tm9kZSIsIFhNTF9NQVhfVEVYVF9MRU5HVEggKyBDSFVOSywgWE1MX1BBUlNFX0hVR0UsIDB9LAorICAgIC8qIG1heCBsZW5ndGggb2YgYSBQSSBub2RlICovCisgICAgeyJodWdlOnBpTm9kZSIsIFhNTF9NQVhfVEVYVF9MRU5HVEggLSBDSFVOSywgMCwgMH0sCisgICAgeyJodWdlOnBpTm9kZSIsIFhNTF9NQVhfVEVYVF9MRU5HVEggKyBDSFVOSywgMCwgMX0sCisgICAgeyJodWdlOnBpTm9kZSIsIFhNTF9NQVhfVEVYVF9MRU5HVEggKyBDSFVOSywgWE1MX1BBUlNFX0hVR0UsIDB9LAorfTsKKwordHlwZWRlZiBzdHJ1Y3QgdGVzdERlc2MgdGVzdERlc2M7Cit0eXBlZGVmIHRlc3REZXNjICp0ZXN0RGVzY1B0cjsKK3N0cnVjdCB0ZXN0RGVzYyB7CisgICAgY29uc3QgY2hhciAqZGVzYzsgLyogZGVzY3JpcHRvbiBvZiB0aGUgdGVzdCAqLworICAgIGZ1bmN0ZXN0ICAgIGZ1bmM7IC8qIGZ1bmN0aW9uIGltcGxlbWVudGluZyB0aGUgdGVzdCAqLworfTsKKworc3RhdGljCit0ZXN0RGVzYyB0ZXN0RGVzY3JpcHRpb25zW10gPSB7CisgICAgeyAiUGFyc2luZyBvZiBodWdlIGZpbGVzIHdpdGggdGhlIHNheCBwYXJzZXIiLCBzYXhUZXN0fSwKKy8qICAgIHsgIlBhcnNpbmcgb2YgaHVnZSBmaWxlcyB3aXRoIHRoZSB0cmVlIHBhcnNlciIsIHRyZWVUZXN0fSwgKi8KKyNpZmRlZiBMSUJYTUxfUkVBREVSX0VOQUJMRUQKKyAgICB7ICJQYXJzaW5nIG9mIGh1Z2UgZmlsZXMgd2l0aCB0aGUgcmVhZGVyIiwgcmVhZGVyVGVzdH0sCisjZW5kaWYKKyAgICB7TlVMTCwgTlVMTH0KK307CisKK3R5cGVkZWYgc3RydWN0IHRlc3RFeGNlcHRpb24gdGVzdEV4Y2VwdGlvbjsKK3R5cGVkZWYgdGVzdEV4Y2VwdGlvbiAqdGVzdEV4Y2VwdGlvblB0cjsKK3N0cnVjdCB0ZXN0RXhjZXB0aW9uIHsKKyAgICB1bnNpZ25lZCBpbnQgdGVzdDsgIC8qIHRoZSBwYXJzZXIgdGVzdCBudW1iZXIgKi8KKyAgICB1bnNpZ25lZCBpbnQgbGltaXQ7IC8qIHRoZSBsaW1pdCB0ZXN0IG51bWJlciAqLworICAgIGludCBmYWlsOyAgICAgICAgICAgLyogbmV3IGZhaWwgdmFsdWUgb3IgLTEqLworICAgIHNpemVfdCBzaXplOyAgICAgICAgLyogbmV3IGxpbWl0IHZhbHVlIG9yIDAgKi8KK307CisKK3N0YXRpYwordGVzdEV4Y2VwdGlvbiB0ZXN0RXhjZXB0aW9uc1tdID0geworICAgIC8qIHRoZSBTQVggcGFyc2VyIGRvZXNuJ3QgaGl0IGEgbGltaXQgb2YgWE1MX01BWF9URVhUX0xFTkdUSCB0ZXh0IG5vZGVzICovCisgICAgeyAwLCAxLCAwLCAwfSwKK307CisKK3N0YXRpYyBpbnQKK2xhdW5jaFRlc3RzKHRlc3REZXNjUHRyIHRzdCwgdW5zaWduZWQgaW50IHRlc3QpIHsKKyAgICBpbnQgcmVzID0gMCwgZXJyID0gMDsKKyAgICB1bnNpZ25lZCBpbnQgaSwgajsKKyAgICBzaXplX3QgbGltaXQ7CisgICAgaW50IGZhaWw7CisKKyAgICBpZiAodHN0ID09IE5VTEwpIHJldHVybigtMSk7CisKKyAgICBmb3IgKGkgPSAwO2kgPCBzaXplb2YobGltaXREZXNjcmlwdGlvbnMpL3NpemVvZihsaW1pdERlc2NyaXB0aW9uc1swXSk7aSsrKSB7CisgICAgICAgIGxpbWl0ID0gbGltaXREZXNjcmlwdGlvbnNbaV0ubGltaXQ7CisgICAgICAgIGZhaWwgPSBsaW1pdERlc2NyaXB0aW9uc1tpXS5mYWlsOworICAgICAgICAvKgorICAgICAgICAgKiBIYW5kbGUgZXhjZXB0aW9ucyBpZiBhbnkKKyAgICAgICAgICovCisgICAgICAgIGZvciAoaiA9IDA7aiA8IHNpemVvZih0ZXN0RXhjZXB0aW9ucykvc2l6ZW9mKHRlc3RFeGNlcHRpb25zWzBdKTtqKyspIHsKKyAgICAgICAgICAgIGlmICgodGVzdEV4Y2VwdGlvbnNbal0udGVzdCA9PSB0ZXN0KSAmJgorICAgICAgICAgICAgICAgICh0ZXN0RXhjZXB0aW9uc1tqXS5saW1pdCA9PSBpKSkgeworICAgICAgICAgICAgICAgIGlmICh0ZXN0RXhjZXB0aW9uc1tqXS5mYWlsICE9IC0xKQorICAgICAgICAgICAgICAgICAgICBmYWlsID0gdGVzdEV4Y2VwdGlvbnNbal0uZmFpbDsKKyAgICAgICAgICAgICAgICBpZiAodGVzdEV4Y2VwdGlvbnNbal0uc2l6ZSAhPSAwKQorICAgICAgICAgICAgICAgICAgICBsaW1pdCA9IHRlc3RFeGNlcHRpb25zW2pdLnNpemU7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgcmVzID0gdHN0LT5mdW5jKGxpbWl0RGVzY3JpcHRpb25zW2ldLm5hbWUsIGxpbWl0LAorICAgICAgICAgICAgICAgICAgICAgICAgbGltaXREZXNjcmlwdGlvbnNbaV0ub3B0aW9ucywgZmFpbCk7CisgICAgICAgIGlmIChyZXMgIT0gMCkgeworICAgICAgICAgICAgbmJfZXJyb3JzKys7CisgICAgICAgICAgICBlcnIrKzsKKyAgICAgICAgfQorICAgIH0KKyAgICByZXR1cm4oZXJyKTsKK30KKworCitzdGF0aWMgaW50CitydW50ZXN0KHVuc2lnbmVkIGludCBpKSB7CisgICAgaW50IHJldCA9IDAsIHJlczsKKyAgICBpbnQgb2xkX2Vycm9ycywgb2xkX3Rlc3RzLCBvbGRfbGVha3M7CisKKyAgICBvbGRfZXJyb3JzID0gbmJfZXJyb3JzOworICAgIG9sZF90ZXN0cyA9IG5iX3Rlc3RzOworICAgIG9sZF9sZWFrcyA9IG5iX2xlYWtzOworICAgIGlmICgodGVzdHNfcXVpZXQgPT0gMCkgJiYgKHRlc3REZXNjcmlwdGlvbnNbaV0uZGVzYyAhPSBOVUxMKSkKKwlwcmludGYoIiMjICVzXG4iLCB0ZXN0RGVzY3JpcHRpb25zW2ldLmRlc2MpOworICAgIHJlcyA9IGxhdW5jaFRlc3RzKCZ0ZXN0RGVzY3JpcHRpb25zW2ldLCBpKTsKKyAgICBpZiAocmVzICE9IDApCisJcmV0Kys7CisgICAgaWYgKHZlcmJvc2UpIHsKKwlpZiAoKG5iX2Vycm9ycyA9PSBvbGRfZXJyb3JzKSAmJiAobmJfbGVha3MgPT0gb2xkX2xlYWtzKSkKKwkgICAgcHJpbnRmKCJSYW4gJWQgdGVzdHMsIG5vIGVycm9yc1xuIiwgbmJfdGVzdHMgLSBvbGRfdGVzdHMpOworCWVsc2UKKwkgICAgcHJpbnRmKCJSYW4gJWQgdGVzdHMsICVkIGVycm9ycywgJWQgbGVha3NcbiIsCisJCSAgIG5iX3Rlc3RzIC0gb2xkX3Rlc3RzLAorCQkgICBuYl9lcnJvcnMgLSBvbGRfZXJyb3JzLAorCQkgICBuYl9sZWFrcyAtIG9sZF9sZWFrcyk7CisgICAgfQorICAgIHJldHVybihyZXQpOworfQorCitzdGF0aWMgaW50CitsYXVuY2hDcmF6eVNBWCh1bnNpZ25lZCBpbnQgdGVzdCwgaW50IGZhaWwpIHsKKyAgICBpbnQgcmVzID0gMCwgZXJyID0gMDsKKworICAgIGNyYXp5X2luZHggPSB0ZXN0OworCisgICAgcmVzID0gc2F4VGVzdCgiY3Jhenk6OnRlc3QiLCBYTUxfTUFYX0xPT0tVUF9MSU1JVCAtIENIVU5LLCAwLCBmYWlsKTsKKyAgICBpZiAocmVzICE9IDApIHsKKyAgICAgICAgbmJfZXJyb3JzKys7CisgICAgICAgIGVycisrOworICAgIH0KKyAgICBpZiAodGVzdHNfcXVpZXQgPT0gMCkKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICIlYyIsIGNyYXp5W3Rlc3RdKTsKKworICAgIHJldHVybihlcnIpOworfQorCisjaWZkZWYgTElCWE1MX1JFQURFUl9FTkFCTEVECitzdGF0aWMgaW50CitsYXVuY2hDcmF6eSh1bnNpZ25lZCBpbnQgdGVzdCwgaW50IGZhaWwpIHsKKyAgICBpbnQgcmVzID0gMCwgZXJyID0gMDsKKworICAgIGNyYXp5X2luZHggPSB0ZXN0OworCisgICAgcmVzID0gcmVhZGVyVGVzdCgiY3Jhenk6OnRlc3QiLCBYTUxfTUFYX0xPT0tVUF9MSU1JVCAtIENIVU5LLCAwLCBmYWlsKTsKKyAgICBpZiAocmVzICE9IDApIHsKKyAgICAgICAgbmJfZXJyb3JzKys7CisgICAgICAgIGVycisrOworICAgIH0KKyAgICBpZiAodGVzdHNfcXVpZXQgPT0gMCkKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICIlYyIsIGNyYXp5W3Rlc3RdKTsKKworICAgIHJldHVybihlcnIpOworfQorI2VuZGlmCisKK3N0YXRpYyBpbnQgZ2V0X2NyYXp5X2ZhaWwoaW50IHRlc3QpIHsKKyAgICAvKgorICAgICAqIGFkZGluZyAxMDAwMDAwIG9mIGNoYXJhY3RlciAnYScgbGVhZHMgdG8gcGFyc2VyIGZhaWx1cmUgbW9zdGx5CisgICAgICogZXZlcnl3aGVyZSBleGNlcHQgaW4gdGhvc2Ugc3BlY2lhbCBzcG90cy4gTmVlZCB0byBiZSB1cGRhdGVkCisgICAgICogZWFjaCB0aW1lIGNyYXp5IGlzIHVwZGF0ZWQKKyAgICAgKi8KKyAgICBpbnQgZmFpbCA9IDE7CisgICAgaWYgKCh0ZXN0ID09IDQ0KSB8fCAvKiBQSSBpbiBNaXNjICovCisgICAgICAgICgodGVzdCA+PSA1MCkgJiYgKHRlc3QgPD0gNTUpKSB8fCAvKiBDb21tZW50IGluIE1pc2MgKi8KKyAgICAgICAgKHRlc3QgPT0gNzkpIHx8IC8qIFBJIGluIERURCAqLworICAgICAgICAoKHRlc3QgPj0gODUpICYmICh0ZXN0IDw9IDkwKSkgfHwgLyogQ29tbWVudCBpbiBEVEQgKi8KKyAgICAgICAgKHRlc3QgPT0gMTU0KSB8fCAvKiBQSSBpbiBNaXNjICovCisgICAgICAgICgodGVzdCA+PSAxNjApICYmICh0ZXN0IDw9IDE2NSkpIHx8IC8qIENvbW1lbnQgaW4gTWlzYyAqLworICAgICAgICAoKHRlc3QgPj0gMTc4KSAmJiAodGVzdCA8PSAxODEpKSB8fCAvKiBhdHRyaWJ1dGUgdmFsdWUgKi8KKyAgICAgICAgKHRlc3QgPT0gMTgzKSB8fCAvKiBUZXh0ICovCisgICAgICAgICh0ZXN0ID09IDE4OSkgfHwgLyogUEkgaW4gQ29udGVudCAqLworICAgICAgICAodGVzdCA9PSAxOTEpIHx8IC8qIFRleHQgKi8KKyAgICAgICAgKCh0ZXN0ID49IDE5NSkgJiYgKHRlc3QgPD0gMjAwKSkgfHwgLyogQ29tbWVudCBpbiBDb250ZW50ICovCisgICAgICAgICgodGVzdCA+PSAyMDMpICYmICh0ZXN0IDw9IDIwNikpIHx8IC8qIFRleHQgKi8KKyAgICAgICAgKHRlc3QgPT0gMjE1KSB8fCAodGVzdCA9PSAyMTYpIHx8IC8qIGluIENEQVRBICovCisgICAgICAgICh0ZXN0ID09IDIxOSkgfHwgLyogVGV4dCAqLworICAgICAgICAodGVzdCA9PSAyMzEpIHx8IC8qIFBJIGluIE1pc2MgKi8KKyAgICAgICAgKCh0ZXN0ID49IDIzNykgJiYgKHRlc3QgPD0gMjQyKSkpIC8qIENvbW1lbnQgaW4gTWlzYyAqLworICAgICAgICBmYWlsID0gMDsKKyAgICByZXR1cm4oZmFpbCk7Cit9CisKK3N0YXRpYyBpbnQKK3J1bmNyYXp5KHZvaWQpIHsKKyAgICBpbnQgcmV0ID0gMCwgcmVzID0gMDsKKyAgICBpbnQgb2xkX2Vycm9ycywgb2xkX3Rlc3RzLCBvbGRfbGVha3M7CisgICAgdW5zaWduZWQgaW50IGk7CisKKyAgICBvbGRfZXJyb3JzID0gbmJfZXJyb3JzOworICAgIG9sZF90ZXN0cyA9IG5iX3Rlc3RzOworICAgIG9sZF9sZWFrcyA9IG5iX2xlYWtzOworCisjaWZkZWYgTElCWE1MX1JFQURFUl9FTkFCTEVECisgICAgaWYgKHRlc3RzX3F1aWV0ID09IDApIHsKKwlwcmludGYoIiMjIENyYXp5IHRlc3RzIG9uIHJlYWRlclxuIik7CisgICAgfQorICAgIGZvciAoaSA9IDA7aSA8IHN0cmxlbihjcmF6eSk7aSsrKSB7CisgICAgICAgIHJlcyArPSBsYXVuY2hDcmF6eShpLCBnZXRfY3JhenlfZmFpbChpKSk7CisgICAgICAgIGlmIChyZXMgIT0gMCkKKyAgICAgICAgICAgIHJldCsrOworICAgIH0KKyNlbmRpZgorCisgICAgaWYgKHRlc3RzX3F1aWV0ID09IDApIHsKKwlwcmludGYoIlxuIyMgQ3JhenkgdGVzdHMgb24gU0FYXG4iKTsKKyAgICB9CisgICAgZm9yIChpID0gMDtpIDwgc3RybGVuKGNyYXp5KTtpKyspIHsKKyAgICAgICAgcmVzICs9IGxhdW5jaENyYXp5U0FYKGksIGdldF9jcmF6eV9mYWlsKGkpKTsKKyAgICAgICAgaWYgKHJlcyAhPSAwKQorICAgICAgICAgICAgcmV0Kys7CisgICAgfQorICAgIGlmICh0ZXN0c19xdWlldCA9PSAwKQorICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIlxuIik7CisgICAgaWYgKHZlcmJvc2UpIHsKKwlpZiAoKG5iX2Vycm9ycyA9PSBvbGRfZXJyb3JzKSAmJiAobmJfbGVha3MgPT0gb2xkX2xlYWtzKSkKKwkgICAgcHJpbnRmKCJSYW4gJWQgdGVzdHMsIG5vIGVycm9yc1xuIiwgbmJfdGVzdHMgLSBvbGRfdGVzdHMpOworCWVsc2UKKwkgICAgcHJpbnRmKCJSYW4gJWQgdGVzdHMsICVkIGVycm9ycywgJWQgbGVha3NcbiIsCisJCSAgIG5iX3Rlc3RzIC0gb2xkX3Rlc3RzLAorCQkgICBuYl9lcnJvcnMgLSBvbGRfZXJyb3JzLAorCQkgICBuYl9sZWFrcyAtIG9sZF9sZWFrcyk7CisgICAgfQorICAgIHJldHVybihyZXQpOworfQorCisKK2ludAorbWFpbihpbnQgYXJnYyBBVFRSSUJVVEVfVU5VU0VELCBjaGFyICoqYXJndiBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgaW50IGksIGEsIHJldCA9IDA7CisgICAgaW50IHN1YnNldCA9IDA7CisKKyAgICBmaWxsRmlsbGluZygpOworICAgIGluaXRpYWxpemVMaWJ4bWwyKCk7CisKKyAgICBmb3IgKGEgPSAxOyBhIDwgYXJnYzthKyspIHsKKyAgICAgICAgaWYgKCFzdHJjbXAoYXJndlthXSwgIi12IikpCisJICAgIHZlcmJvc2UgPSAxOworICAgICAgICBlbHNlIGlmICghc3RyY21wKGFyZ3ZbYV0sICItcXVpZXQiKSkKKwkgICAgdGVzdHNfcXVpZXQgPSAxOworICAgICAgICBlbHNlIGlmICghc3RyY21wKGFyZ3ZbYV0sICItY3JhenkiKSkKKwkgICAgc3Vic2V0ID0gMTsKKyAgICB9CisgICAgaWYgKHN1YnNldCA9PSAwKSB7CisJZm9yIChpID0gMDsgdGVzdERlc2NyaXB0aW9uc1tpXS5mdW5jICE9IE5VTEw7IGkrKykgeworCSAgICByZXQgKz0gcnVudGVzdChpKTsKKwl9CisgICAgfQorICAgIHJldCArPSBydW5jcmF6eSgpOworICAgIGlmICgobmJfZXJyb3JzID09IDApICYmIChuYl9sZWFrcyA9PSAwKSkgeworICAgICAgICByZXQgPSAwOworCXByaW50ZigiVG90YWwgJWQgdGVzdHMsIG5vIGVycm9yc1xuIiwKKwkgICAgICAgbmJfdGVzdHMpOworICAgIH0gZWxzZSB7CisgICAgICAgIHJldCA9IDE7CisJcHJpbnRmKCJUb3RhbCAlZCB0ZXN0cywgJWQgZXJyb3JzLCAlZCBsZWFrc1xuIiwKKwkgICAgICAgbmJfdGVzdHMsIG5iX2Vycm9ycywgbmJfbGVha3MpOworICAgIH0KKyAgICB4bWxDbGVhbnVwUGFyc2VyKCk7CisgICAgeG1sTWVtb3J5RHVtcCgpOworCisgICAgcmV0dXJuKHJldCk7Cit9CmRpZmYgLS1naXQgYS9saWJ4bWwyL3Rlc3RyZWN1cnNlLmMgYi9saWJ4bWwyL3Rlc3RyZWN1cnNlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTVkNWQxYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdGVzdHJlY3Vyc2UuYwpAQCAtMCwwICsxLDk2NSBAQAorLyoKKyAqIHRlc3RyZWN1cnNlLmM6IEMgcHJvZ3JhbSB0byBydW4gbGlieG1sMiByZWdyZXNzaW9uIHRlc3RzIGNoZWNraW5nIGVudGl0aWVzCisgKiAgICAgICAgICAgIHJlY3Vyc2lvbnMKKyAqCisgKiBUbyBjb21waWxlIG9uIFVuaXhlczoKKyAqIGNjIC1vIHRlc3RyZWN1cnNlIGB4bWwyLWNvbmZpZyAtLWNmbGFnc2AgdGVzdHJlY3Vyc2UuYyBgeG1sMi1jb25maWcgLS1saWJzYCAtbHB0aHJlYWQKKyAqCisgKiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisgKgorICogZGFuaWVsQHZlaWxsYXJkLmNvbQorICovCisKKyNpbmNsdWRlICJsaWJ4bWwuaCIKKyNpbmNsdWRlIDxzdGRpby5oPgorCisjaWYgIWRlZmluZWQoX1dJTjMyKSB8fCBkZWZpbmVkKF9fQ1lHV0lOX18pCisjaW5jbHVkZSA8dW5pc3RkLmg+CisjZW5kaWYKKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisKKyNpbmNsdWRlIDxsaWJ4bWwvcGFyc2VyLmg+CisjaW5jbHVkZSA8bGlieG1sL3RyZWUuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvdXJpLmg+CisjaWZkZWYgTElCWE1MX1JFQURFUl9FTkFCTEVECisjaW5jbHVkZSA8bGlieG1sL3htbHJlYWRlci5oPgorI2VuZGlmCisKKy8qCisgKiBPX0JJTkFSWSBpcyBqdXN0IGZvciBXaW5kb3dzIGNvbXBhdGliaWxpdHkgLSBpZiBpdCBpc24ndCBkZWZpbmVkCisgKiBvbiB0aGlzIHN5c3RlbSwgYXZvaWQgYW55IGNvbXBpbGF0aW9uIGVycm9yCisgKi8KKyNpZmRlZglPX0JJTkFSWQorI2RlZmluZSBSRF9GTEFHUwlPX1JET05MWSB8IE9fQklOQVJZCisjZWxzZQorI2RlZmluZQlSRF9GTEFHUwlPX1JET05MWQorI2VuZGlmCisKK3R5cGVkZWYgaW50ICgqZnVuY3Rlc3QpIChjb25zdCBjaGFyICpmaWxlbmFtZSwgY29uc3QgY2hhciAqcmVzdWx0LAorICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmVycm9yLCBpbnQgb3B0aW9ucyk7CisKK3R5cGVkZWYgc3RydWN0IHRlc3REZXNjIHRlc3REZXNjOwordHlwZWRlZiB0ZXN0RGVzYyAqdGVzdERlc2NQdHI7CitzdHJ1Y3QgdGVzdERlc2MgeworICAgIGNvbnN0IGNoYXIgKmRlc2M7IC8qIGRlc2NyaXB0b24gb2YgdGhlIHRlc3QgKi8KKyAgICBmdW5jdGVzdCAgICBmdW5jOyAvKiBmdW5jdGlvbiBpbXBsZW1lbnRpbmcgdGhlIHRlc3QgKi8KKyAgICBjb25zdCBjaGFyICppbjsgICAvKiBnbG9iIHRvIHBhdGggZm9yIGlucHV0IGZpbGVzICovCisgICAgY29uc3QgY2hhciAqb3V0OyAgLyogb3V0cHV0IGRpcmVjdG9yeSAqLworICAgIGNvbnN0IGNoYXIgKnN1ZmZpeDsvKiBzdWZmaXggZm9yIG91dHB1dCBmaWxlcyAqLworICAgIGNvbnN0IGNoYXIgKmVycjsgIC8qIHN1ZmZpeCBmb3IgZXJyb3Igb3V0cHV0IGZpbGVzICovCisgICAgaW50ICAgICBvcHRpb25zOyAgLyogcGFyc2VyIG9wdGlvbnMgZm9yIHRoZSB0ZXN0ICovCit9OworCitzdGF0aWMgaW50IGNoZWNrVGVzdEZpbGUoY29uc3QgY2hhciAqZmlsZW5hbWUpOworCisKKyNpZiBkZWZpbmVkKF9XSU4zMikgJiYgIWRlZmluZWQoX19DWUdXSU5fXykKKworI2luY2x1ZGUgPHdpbmRvd3MuaD4KKyNpbmNsdWRlIDxpby5oPgorCit0eXBlZGVmIHN0cnVjdAoreworICAgICAgc2l6ZV90IGdsX3BhdGhjOyAgICAvKiBDb3VudCBvZiBwYXRocyBtYXRjaGVkIHNvIGZhciAgKi8KKyAgICAgIGNoYXIgKipnbF9wYXRodjsgICAgLyogTGlzdCBvZiBtYXRjaGVkIHBhdGhuYW1lcy4gICovCisgICAgICBzaXplX3QgZ2xfb2ZmczsgICAgIC8qIFNsb3RzIHRvIHJlc2VydmUgaW4gJ2dsX3BhdGh2Jy4gICovCit9IGdsb2JfdDsKKworI2RlZmluZSBHTE9CX0RPT0ZGUyAwCitzdGF0aWMgaW50IGdsb2IoY29uc3QgY2hhciAqcGF0dGVybiwgaW50IGZsYWdzLAorICAgICAgICAgICAgICAgIGludCBlcnJmdW5jKGNvbnN0IGNoYXIgKmVwYXRoLCBpbnQgZWVycm5vKSwKKyAgICAgICAgICAgICAgICBnbG9iX3QgKnBnbG9iKSB7CisgICAgZ2xvYl90ICpyZXQ7CisgICAgV0lOMzJfRklORF9EQVRBIEZpbmRGaWxlRGF0YTsKKyAgICBIQU5ETEUgaEZpbmQ7CisgICAgdW5zaWduZWQgaW50IG5iX3BhdGhzID0gMDsKKyAgICBjaGFyIGRpcmVjdG9yeVs1MDBdOworICAgIGludCBsZW47CisKKyAgICBpZiAoKHBhdHRlcm4gPT0gTlVMTCkgfHwgKHBnbG9iID09IE5VTEwpKSByZXR1cm4oLTEpOworCisgICAgc3RybmNweShkaXJlY3RvcnksIHBhdHRlcm4sIDQ5OSk7CisgICAgZm9yIChsZW4gPSBzdHJsZW4oZGlyZWN0b3J5KTtsZW4gPj0gMDtsZW4tLSkgeworICAgICAgICBpZiAoZGlyZWN0b3J5W2xlbl0gPT0gJy8nKSB7CisJICAgIGxlbisrOworCSAgICBkaXJlY3RvcnlbbGVuXSA9IDA7CisJICAgIGJyZWFrOworCX0KKyAgICB9CisgICAgaWYgKGxlbiA8PSAwKQorICAgICAgICBsZW4gPSAwOworCisKKyAgICByZXQgPSBwZ2xvYjsKKyAgICBtZW1zZXQocmV0LCAwLCBzaXplb2YoZ2xvYl90KSk7CisKKyAgICBoRmluZCA9IEZpbmRGaXJzdEZpbGVBKHBhdHRlcm4sICZGaW5kRmlsZURhdGEpOworICAgIGlmIChoRmluZCA9PSBJTlZBTElEX0hBTkRMRV9WQUxVRSkKKyAgICAgICAgcmV0dXJuKDApOworICAgIG5iX3BhdGhzID0gMjA7CisgICAgcmV0LT5nbF9wYXRodiA9IChjaGFyICoqKSBtYWxsb2MobmJfcGF0aHMgKiBzaXplb2YoY2hhciAqKSk7CisgICAgaWYgKHJldC0+Z2xfcGF0aHYgPT0gTlVMTCkgeworCUZpbmRDbG9zZShoRmluZCk7CisgICAgICAgIHJldHVybigtMSk7CisgICAgfQorICAgIHN0cm5jcHkoZGlyZWN0b3J5ICsgbGVuLCBGaW5kRmlsZURhdGEuY0ZpbGVOYW1lLCA0OTkgLSBsZW4pOworICAgIHJldC0+Z2xfcGF0aHZbcmV0LT5nbF9wYXRoY10gPSBzdHJkdXAoZGlyZWN0b3J5KTsKKyAgICBpZiAocmV0LT5nbF9wYXRodltyZXQtPmdsX3BhdGhjXSA9PSBOVUxMKQorICAgICAgICBnb3RvIGRvbmU7CisgICAgcmV0LT5nbF9wYXRoYysrOworICAgIHdoaWxlKEZpbmROZXh0RmlsZUEoaEZpbmQsICZGaW5kRmlsZURhdGEpKSB7CisgICAgICAgIGlmIChGaW5kRmlsZURhdGEuY0ZpbGVOYW1lWzBdID09ICcuJykKKwkgICAgY29udGludWU7CisgICAgICAgIGlmIChyZXQtPmdsX3BhdGhjICsgMiA+IG5iX3BhdGhzKSB7CisgICAgICAgICAgICBjaGFyICoqdG1wID0gcmVhbGxvYyhyZXQtPmdsX3BhdGh2LCBuYl9wYXRocyAqIDIgKiBzaXplb2YoY2hhciAqKSk7CisgICAgICAgICAgICBpZiAodG1wID09IE5VTEwpCisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICByZXQtPmdsX3BhdGh2ID0gdG1wOworICAgICAgICAgICAgbmJfcGF0aHMgKj0gMjsKKwl9CisJc3RybmNweShkaXJlY3RvcnkgKyBsZW4sIEZpbmRGaWxlRGF0YS5jRmlsZU5hbWUsIDQ5OSAtIGxlbik7CisJcmV0LT5nbF9wYXRodltyZXQtPmdsX3BhdGhjXSA9IHN0cmR1cChkaXJlY3RvcnkpOworICAgICAgICBpZiAocmV0LT5nbF9wYXRodltyZXQtPmdsX3BhdGhjXSA9PSBOVUxMKQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIHJldC0+Z2xfcGF0aGMrKzsKKyAgICB9CisgICAgcmV0LT5nbF9wYXRodltyZXQtPmdsX3BhdGhjXSA9IE5VTEw7CisKK2RvbmU6CisgICAgRmluZENsb3NlKGhGaW5kKTsKKyAgICByZXR1cm4oMCk7Cit9CisKKworCitzdGF0aWMgdm9pZCBnbG9iZnJlZShnbG9iX3QgKnBnbG9iKSB7CisgICAgdW5zaWduZWQgaW50IGk7CisgICAgaWYgKHBnbG9iID09IE5VTEwpCisgICAgICAgIHJldHVybjsKKworICAgIGZvciAoaSA9IDA7aSA8IHBnbG9iLT5nbF9wYXRoYztpKyspIHsKKyAgICAgICAgIGlmIChwZ2xvYi0+Z2xfcGF0aHZbaV0gIT0gTlVMTCkKKyAgICAgICAgICAgICBmcmVlKHBnbG9iLT5nbF9wYXRodltpXSk7CisgICAgfQorfQorCisjZWxzZQorI2luY2x1ZGUgPGdsb2IuaD4KKyNlbmRpZgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQlIdWdlIGRvY3VtZW50IGdlbmVyYXRvcgkJCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaW5jbHVkZSA8bGlieG1sL3htbElPLmg+CisKKworc3RhdGljIGNvbnN0IGNoYXIgKnN0YXJ0ID0gIjwhRE9DVFlQRSBmb28gW1wKKzwhRU5USVRZIGYgJ3NvbWUgaW50ZXJuYWwgZGF0YSc+IFwKKzwhRU5USVRZIGUgJyZmOyZmOyc+IFwKKzwhRU5USVRZIGQgJyZlOyZlOyc+IFwKK10+IFwKKzxmb28+IjsKKworc3RhdGljIGNvbnN0IGNoYXIgKnNlZ21lbnQgPSAiICA8YmFyPiZlOyAmZjsgJmQ7PC9iYXI+XG4iOworc3RhdGljIGNvbnN0IGNoYXIgKmZpbmlzaCA9ICI8L2Zvbz4iOworCitzdGF0aWMgaW50IGN1cnNlZyA9IDA7CitzdGF0aWMgY29uc3QgY2hhciAqY3VycmVudDsKK3N0YXRpYyBpbnQgcmxlbjsKKworLyoqCisgKiBodWdlTWF0Y2g6CisgKiBAVVJJOiBhbiBVUkkgdG8gdGVzdAorICoKKyAqIENoZWNrIGZvciBhbiBodWdlOiBxdWVyeQorICoKKyAqIFJldHVybnMgMSBpZiB5ZXMgYW5kIDAgaWYgYW5vdGhlciBJbnB1dCBtb2R1bGUgc2hvdWxkIGJlIHVzZWQKKyAqLworc3RhdGljIGludAoraHVnZU1hdGNoKGNvbnN0IGNoYXIgKiBVUkkpIHsKKyAgICBpZiAoKFVSSSAhPSBOVUxMKSAmJiAoIXN0cm5jbXAoVVJJLCAiaHVnZToiLCA0KSkpCisgICAgICAgIHJldHVybigxKTsKKyAgICByZXR1cm4oMCk7Cit9CisKKy8qKgorICogaHVnZU9wZW46CisgKiBAVVJJOiBhbiBVUkkgdG8gdGVzdAorICoKKyAqIFJldHVybiBhIHBvaW50ZXIgdG8gdGhlIGh1Z2U6IHF1ZXJ5IGhhbmRsZXIsIGluIHRoaXMgZXhhbXBsZSBzaW1wbHkKKyAqIHRoZSBjdXJyZW50IHBvaW50ZXIuLi4KKyAqCisgKiBSZXR1cm5zIGFuIElucHV0IGNvbnRleHQgb3IgTlVMTCBpbiBjYXNlIG9yIGVycm9yCisgKi8KK3N0YXRpYyB2b2lkICoKK2h1Z2VPcGVuKGNvbnN0IGNoYXIgKiBVUkkpIHsKKyAgICBpZiAoKFVSSSA9PSBOVUxMKSB8fCAoc3RybmNtcChVUkksICJodWdlOiIsIDQpKSkKKyAgICAgICAgcmV0dXJuKE5VTEwpOworICAgIHJsZW4gPSBzdHJsZW4oc3RhcnQpOworICAgIGN1cnJlbnQgPSBzdGFydDsKKyAgICByZXR1cm4oKHZvaWQgKikgY3VycmVudCk7Cit9CisKKy8qKgorICogaHVnZUNsb3NlOgorICogQGNvbnRleHQ6IHRoZSByZWFkIGNvbnRleHQKKyAqCisgKiBDbG9zZSB0aGUgaHVnZTogcXVlcnkgaGFuZGxlcgorICoKKyAqIFJldHVybnMgMCBvciAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3N0YXRpYyBpbnQKK2h1Z2VDbG9zZSh2b2lkICogY29udGV4dCkgeworICAgIGlmIChjb250ZXh0ID09IE5VTEwpIHJldHVybigtMSk7CisgICAgcmV0dXJuKDApOworfQorCisjZGVmaW5lIE1BWF9OT0RFUyAxMDAwMDAwCisKKy8qKgorICogaHVnZVJlYWQ6CisgKiBAY29udGV4dDogdGhlIHJlYWQgY29udGV4dAorICogQGJ1ZmZlcjogd2hlcmUgdG8gc3RvcmUgZGF0YQorICogQGxlbjogbnVtYmVyIG9mIGJ5dGVzIHRvIHJlYWQKKyAqCisgKiBJbXBsZW1lbnQgYW4gaHVnZTogcXVlcnkgcmVhZC4KKyAqCisgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgYnl0ZXMgcmVhZCBvciAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3N0YXRpYyBpbnQKK2h1Z2VSZWFkKHZvaWQgKmNvbnRleHQsIGNoYXIgKmJ1ZmZlciwgaW50IGxlbikKK3sKKyAgICBpZiAoKGNvbnRleHQgPT0gTlVMTCkgfHwgKGJ1ZmZlciA9PSBOVUxMKSB8fCAobGVuIDwgMCkpCisgICAgICAgIHJldHVybiAoLTEpOworCisgICAgaWYgKGxlbiA+PSBybGVuKSB7CisgICAgICAgIGlmIChjdXJzZWcgPj0gTUFYX05PREVTICsgMSkgeworICAgICAgICAgICAgcmxlbiA9IDA7CisgICAgICAgICAgICByZXR1cm4oMCk7CisgICAgICAgIH0KKyAgICAgICAgbGVuID0gcmxlbjsKKyAgICAgICAgcmxlbiA9IDA7CisJbWVtY3B5KGJ1ZmZlciwgY3VycmVudCwgbGVuKTsKKyAgICAgICAgY3Vyc2VnICsrOworICAgICAgICBpZiAoY3Vyc2VnID09IE1BWF9OT0RFUykgeworCSAgICBmcHJpbnRmKHN0ZGVyciwgIlxuIik7CisgICAgICAgICAgICBybGVuID0gc3RybGVuKGZpbmlzaCk7CisgICAgICAgICAgICBjdXJyZW50ID0gZmluaXNoOworCX0gZWxzZSB7CisJICAgIGlmIChjdXJzZWcgJSAoTUFYX05PREVTIC8gMTApID09IDApCisJICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIi4iKTsKKyAgICAgICAgICAgIHJsZW4gPSBzdHJsZW4oc2VnbWVudCk7CisgICAgICAgICAgICBjdXJyZW50ID0gc2VnbWVudDsKKwl9CisgICAgfSBlbHNlIHsKKwltZW1jcHkoYnVmZmVyLCBjdXJyZW50LCBsZW4pOworCXJsZW4gLT0gbGVuOworICAgICAgICBjdXJyZW50ICs9IGxlbjsKKyAgICB9CisgICAgcmV0dXJuIChsZW4pOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQlMaWJ4bWwyIHNwZWNpZmljIHJvdXRpbmVzCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworc3RhdGljIGludCBuYl90ZXN0cyA9IDA7CitzdGF0aWMgaW50IG5iX2Vycm9ycyA9IDA7CitzdGF0aWMgaW50IG5iX2xlYWtzID0gMDsKK3N0YXRpYyBpbnQgZXh0cmFNZW1vcnlGcm9tUmVzb2x2ZXIgPSAwOworCitzdGF0aWMgaW50CitmYXRhbEVycm9yKHZvaWQpIHsKKyAgICBmcHJpbnRmKHN0ZGVyciwgIkV4aXR0aW5nIHRlc3RzIG9uIGZhdGFsIGVycm9yXG4iKTsKKyAgICBleGl0KDEpOworfQorCisvKgorICogV2UgbmVlZCB0byB0cmFwIGNhbGxzIHRvIHRoZSByZXNvbHZlciB0byBub3QgYWNjb3VudCBtZW1vcnkgZm9yIHRoZSBjYXRhbG9nCisgKiB3aGljaCBpcyBzaGFyZWQgdG8gdGhlIGN1cnJlbnQgcnVubmluZyB0ZXN0LiBXZSBhbHNvIGRvbid0IHdhbnQgdG8gaGF2ZQorICogbmV0d29yayBkb3dubG9hZHMgbW9kaWZ5aW5nIHRlc3RzLgorICovCitzdGF0aWMgeG1sUGFyc2VySW5wdXRQdHIKK3Rlc3RFeHRlcm5hbEVudGl0eUxvYWRlcihjb25zdCBjaGFyICpVUkwsIGNvbnN0IGNoYXIgKklELAorCQkJIHhtbFBhcnNlckN0eHRQdHIgY3R4dCkgeworICAgIHhtbFBhcnNlcklucHV0UHRyIHJldDsKKworICAgIGlmIChjaGVja1Rlc3RGaWxlKFVSTCkpIHsKKwlyZXQgPSB4bWxOb05ldEV4dGVybmFsRW50aXR5TG9hZGVyKFVSTCwgSUQsIGN0eHQpOworICAgIH0gZWxzZSB7CisJaW50IG1lbXVzZWQgPSB4bWxNZW1Vc2VkKCk7CisJcmV0ID0geG1sTm9OZXRFeHRlcm5hbEVudGl0eUxvYWRlcihVUkwsIElELCBjdHh0KTsKKwlleHRyYU1lbW9yeUZyb21SZXNvbHZlciArPSB4bWxNZW1Vc2VkKCkgLSBtZW11c2VkOworICAgIH0KKworICAgIHJldHVybihyZXQpOworfQorCisvKgorICogVHJhcHBpbmcgdGhlIGVycm9yIG1lc3NhZ2VzIGF0IHRoZSBnZW5lcmljIGxldmVsIHRvIGdyYWIgdGhlIGVxdWl2YWxlbnQgb2YKKyAqIHN0ZGVyciBtZXNzYWdlcyBvbiBDTEkgdG9vbHMuCisgKi8KK3N0YXRpYyBjaGFyIHRlc3RFcnJvcnNbMzI3NjldOworc3RhdGljIGludCB0ZXN0RXJyb3JzU2l6ZSA9IDA7CisKK3N0YXRpYyB2b2lkIFhNTENERUNMCitjaGFubmVsKHZvaWQgKmN0eCAgQVRUUklCVVRFX1VOVVNFRCwgY29uc3QgY2hhciAqbXNnLCAuLi4pIHsKKyAgICB2YV9saXN0IGFyZ3M7CisgICAgaW50IHJlczsKKworICAgIGlmICh0ZXN0RXJyb3JzU2l6ZSA+PSAzMjc2OCkKKyAgICAgICAgcmV0dXJuOworICAgIHZhX3N0YXJ0KGFyZ3MsIG1zZyk7CisgICAgcmVzID0gdnNucHJpbnRmKCZ0ZXN0RXJyb3JzW3Rlc3RFcnJvcnNTaXplXSwKKyAgICAgICAgICAgICAgICAgICAgMzI3NjggLSB0ZXN0RXJyb3JzU2l6ZSwKKwkJICAgIG1zZywgYXJncyk7CisgICAgdmFfZW5kKGFyZ3MpOworICAgIGlmICh0ZXN0RXJyb3JzU2l6ZSArIHJlcyA+PSAzMjc2OCkgeworICAgICAgICAvKiBidWZmZXIgaXMgZnVsbCAqLworCXRlc3RFcnJvcnNTaXplID0gMzI3Njg7CisJdGVzdEVycm9yc1t0ZXN0RXJyb3JzU2l6ZV0gPSAwOworICAgIH0gZWxzZSB7CisgICAgICAgIHRlc3RFcnJvcnNTaXplICs9IHJlczsKKyAgICB9CisgICAgdGVzdEVycm9yc1t0ZXN0RXJyb3JzU2l6ZV0gPSAwOworfQorCisvKioKKyAqIHhtbFBhcnNlclByaW50RmlsZUNvbnRleHQ6CisgKiBAaW5wdXQ6ICBhbiB4bWxQYXJzZXJJbnB1dFB0ciBpbnB1dAorICoKKyAqIERpc3BsYXlzIGN1cnJlbnQgY29udGV4dCB3aXRoaW4gdGhlIGlucHV0IGNvbnRlbnQgZm9yIGVycm9yIHRyYWNraW5nCisgKi8KKworc3RhdGljIHZvaWQKK3htbFBhcnNlclByaW50RmlsZUNvbnRleHRJbnRlcm5hbCh4bWxQYXJzZXJJbnB1dFB0ciBpbnB1dCAsCisJCXhtbEdlbmVyaWNFcnJvckZ1bmMgY2hhbmwsIHZvaWQgKmRhdGEgKSB7CisgICAgY29uc3QgeG1sQ2hhciAqY3VyLCAqYmFzZTsKKyAgICB1bnNpZ25lZCBpbnQgbiwgY29sOwkvKiBHQ0Mgd2FybnMgaWYgc2lnbmVkLCBiZWNhdXNlIGNvbXBhcmVkIHdpdGggc2l6ZW9mKCkgKi8KKyAgICB4bWxDaGFyICBjb250ZW50WzgxXTsgLyogc3BhY2UgZm9yIDgwIGNoYXJzICsgbGluZSB0ZXJtaW5hdG9yICovCisgICAgeG1sQ2hhciAqY3RudDsKKworICAgIGlmIChpbnB1dCA9PSBOVUxMKSByZXR1cm47CisgICAgY3VyID0gaW5wdXQtPmN1cjsKKyAgICBiYXNlID0gaW5wdXQtPmJhc2U7CisgICAgLyogc2tpcCBiYWNrd2FyZHMgb3ZlciBhbnkgZW5kLW9mLWxpbmVzICovCisgICAgd2hpbGUgKChjdXIgPiBiYXNlKSAmJiAoKCooY3VyKSA9PSAnXG4nKSB8fCAoKihjdXIpID09ICdccicpKSkgeworCWN1ci0tOworICAgIH0KKyAgICBuID0gMDsKKyAgICAvKiBzZWFyY2ggYmFja3dhcmRzIGZvciBiZWdpbm5pbmctb2YtbGluZSAodG8gbWF4IGJ1ZmYgc2l6ZSkgKi8KKyAgICB3aGlsZSAoKG4rKyA8IChzaXplb2YoY29udGVudCktMSkpICYmIChjdXIgPiBiYXNlKSAmJgorICAgKCooY3VyKSAhPSAnXG4nKSAmJiAoKihjdXIpICE9ICdccicpKQorICAgICAgICBjdXItLTsKKyAgICBpZiAoKCooY3VyKSA9PSAnXG4nKSB8fCAoKihjdXIpID09ICdccicpKSBjdXIrKzsKKyAgICAvKiBjYWxjdWxhdGUgdGhlIGVycm9yIHBvc2l0aW9uIGluIHRlcm1zIG9mIHRoZSBjdXJyZW50IHBvc2l0aW9uICovCisgICAgY29sID0gaW5wdXQtPmN1ciAtIGN1cjsKKyAgICAvKiBzZWFyY2ggZm9yd2FyZCBmb3IgZW5kLW9mLWxpbmUgKHRvIG1heCBidWZmIHNpemUpICovCisgICAgbiA9IDA7CisgICAgY3RudCA9IGNvbnRlbnQ7CisgICAgLyogY29weSBzZWxlY3RlZCB0ZXh0IHRvIG91ciBidWZmZXIgKi8KKyAgICB3aGlsZSAoKCpjdXIgIT0gMCkgJiYgKCooY3VyKSAhPSAnXG4nKSAmJgorICAgKCooY3VyKSAhPSAnXHInKSAmJiAobiA8IHNpemVvZihjb250ZW50KS0xKSkgeworCQkqY3RudCsrID0gKmN1cisrOworCW4rKzsKKyAgICB9CisgICAgKmN0bnQgPSAwOworICAgIC8qIHByaW50IG91dCB0aGUgc2VsZWN0ZWQgdGV4dCAqLworICAgIGNoYW5sKGRhdGEgLCIlc1xuIiwgY29udGVudCk7CisgICAgLyogY3JlYXRlIGJsYW5rIGxpbmUgd2l0aCBwcm9ibGVtIHBvaW50ZXIgKi8KKyAgICBuID0gMDsKKyAgICBjdG50ID0gY29udGVudDsKKyAgICAvKiAobGVhdmUgYnVmZmVyIHNwYWNlIGZvciBwb2ludGVyICsgbGluZSB0ZXJtaW5hdG9yKSAqLworICAgIHdoaWxlICgobjxjb2wpICYmIChuKysgPCBzaXplb2YoY29udGVudCktMikgJiYgKCpjdG50ICE9IDApKSB7CisJaWYgKCooY3RudCkgIT0gJ1x0JykKKwkgICAgKihjdG50KSA9ICcgJzsKKwljdG50Kys7CisgICAgfQorICAgICpjdG50KysgPSAnXic7CisgICAgKmN0bnQgPSAwOworICAgIGNoYW5sKGRhdGEgLCIlc1xuIiwgY29udGVudCk7Cit9CisKK3N0YXRpYyB2b2lkCit0ZXN0U3RydWN0dXJlZEVycm9ySGFuZGxlcih2b2lkICpjdHggIEFUVFJJQlVURV9VTlVTRUQsIHhtbEVycm9yUHRyIGVycikgeworICAgIGNoYXIgKmZpbGUgPSBOVUxMOworICAgIGludCBsaW5lID0gMDsKKyAgICBpbnQgY29kZSA9IC0xOworICAgIGludCBkb21haW47CisgICAgdm9pZCAqZGF0YSA9IE5VTEw7CisgICAgY29uc3QgY2hhciAqc3RyOworICAgIGNvbnN0IHhtbENoYXIgKm5hbWUgPSBOVUxMOworICAgIHhtbE5vZGVQdHIgbm9kZTsKKyAgICB4bWxFcnJvckxldmVsIGxldmVsOworICAgIHhtbFBhcnNlcklucHV0UHRyIGlucHV0ID0gTlVMTDsKKyAgICB4bWxQYXJzZXJJbnB1dFB0ciBjdXIgPSBOVUxMOworICAgIHhtbFBhcnNlckN0eHRQdHIgY3R4dCA9IE5VTEw7CisKKyAgICBpZiAoZXJyID09IE5VTEwpCisgICAgICAgIHJldHVybjsKKworICAgIGZpbGUgPSBlcnItPmZpbGU7CisgICAgbGluZSA9IGVyci0+bGluZTsKKyAgICBjb2RlID0gZXJyLT5jb2RlOworICAgIGRvbWFpbiA9IGVyci0+ZG9tYWluOworICAgIGxldmVsID0gZXJyLT5sZXZlbDsKKyAgICBub2RlID0gZXJyLT5ub2RlOworICAgIGlmICgoZG9tYWluID09IFhNTF9GUk9NX1BBUlNFUikgfHwgKGRvbWFpbiA9PSBYTUxfRlJPTV9IVE1MKSB8fAorICAgICAgICAoZG9tYWluID09IFhNTF9GUk9NX0RURCkgfHwgKGRvbWFpbiA9PSBYTUxfRlJPTV9OQU1FU1BBQ0UpIHx8CisJKGRvbWFpbiA9PSBYTUxfRlJPTV9JTykgfHwgKGRvbWFpbiA9PSBYTUxfRlJPTV9WQUxJRCkpIHsKKwljdHh0ID0gZXJyLT5jdHh0OworICAgIH0KKyAgICBzdHIgPSBlcnItPm1lc3NhZ2U7CisKKyAgICBpZiAoY29kZSA9PSBYTUxfRVJSX09LKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoKG5vZGUgIT0gTlVMTCkgJiYgKG5vZGUtPnR5cGUgPT0gWE1MX0VMRU1FTlRfTk9ERSkpCisgICAgICAgIG5hbWUgPSBub2RlLT5uYW1lOworCisgICAgLyoKKyAgICAgKiBNYWludGFpbiB0aGUgY29tcGF0aWJpbGl0eSB3aXRoIHRoZSBsZWdhY3kgZXJyb3IgaGFuZGxpbmcKKyAgICAgKi8KKyAgICBpZiAoY3R4dCAhPSBOVUxMKSB7CisgICAgICAgIGlucHV0ID0gY3R4dC0+aW5wdXQ7CisgICAgICAgIGlmICgoaW5wdXQgIT0gTlVMTCkgJiYgKGlucHV0LT5maWxlbmFtZSA9PSBOVUxMKSAmJgorICAgICAgICAgICAgKGN0eHQtPmlucHV0TnIgPiAxKSkgeworICAgICAgICAgICAgY3VyID0gaW5wdXQ7CisgICAgICAgICAgICBpbnB1dCA9IGN0eHQtPmlucHV0VGFiW2N0eHQtPmlucHV0TnIgLSAyXTsKKyAgICAgICAgfQorICAgICAgICBpZiAoaW5wdXQgIT0gTlVMTCkgeworICAgICAgICAgICAgaWYgKGlucHV0LT5maWxlbmFtZSkKKyAgICAgICAgICAgICAgICBjaGFubmVsKGRhdGEsICIlczolZDogIiwgaW5wdXQtPmZpbGVuYW1lLCBpbnB1dC0+bGluZSk7CisgICAgICAgICAgICBlbHNlIGlmICgobGluZSAhPSAwKSAmJiAoZG9tYWluID09IFhNTF9GUk9NX1BBUlNFUikpCisgICAgICAgICAgICAgICAgY2hhbm5lbChkYXRhLCAiRW50aXR5OiBsaW5lICVkOiAiLCBpbnB1dC0+bGluZSk7CisgICAgICAgIH0KKyAgICB9IGVsc2UgeworICAgICAgICBpZiAoZmlsZSAhPSBOVUxMKQorICAgICAgICAgICAgY2hhbm5lbChkYXRhLCAiJXM6JWQ6ICIsIGZpbGUsIGxpbmUpOworICAgICAgICBlbHNlIGlmICgobGluZSAhPSAwKSAmJiAoZG9tYWluID09IFhNTF9GUk9NX1BBUlNFUikpCisgICAgICAgICAgICBjaGFubmVsKGRhdGEsICJFbnRpdHk6IGxpbmUgJWQ6ICIsIGxpbmUpOworICAgIH0KKyAgICBpZiAobmFtZSAhPSBOVUxMKSB7CisgICAgICAgIGNoYW5uZWwoZGF0YSwgImVsZW1lbnQgJXM6ICIsIG5hbWUpOworICAgIH0KKyAgICBpZiAoY29kZSA9PSBYTUxfRVJSX09LKQorICAgICAgICByZXR1cm47CisgICAgc3dpdGNoIChkb21haW4pIHsKKyAgICAgICAgY2FzZSBYTUxfRlJPTV9QQVJTRVI6CisgICAgICAgICAgICBjaGFubmVsKGRhdGEsICJwYXJzZXIgIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfRlJPTV9OQU1FU1BBQ0U6CisgICAgICAgICAgICBjaGFubmVsKGRhdGEsICJuYW1lc3BhY2UgIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfRlJPTV9EVEQ6CisgICAgICAgIGNhc2UgWE1MX0ZST01fVkFMSUQ6CisgICAgICAgICAgICBjaGFubmVsKGRhdGEsICJ2YWxpZGl0eSAiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9GUk9NX0hUTUw6CisgICAgICAgICAgICBjaGFubmVsKGRhdGEsICJIVE1MIHBhcnNlciAiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9GUk9NX01FTU9SWToKKyAgICAgICAgICAgIGNoYW5uZWwoZGF0YSwgIm1lbW9yeSAiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9GUk9NX09VVFBVVDoKKyAgICAgICAgICAgIGNoYW5uZWwoZGF0YSwgIm91dHB1dCAiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9GUk9NX0lPOgorICAgICAgICAgICAgY2hhbm5lbChkYXRhLCAiSS9PICIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0ZST01fWElOQ0xVREU6CisgICAgICAgICAgICBjaGFubmVsKGRhdGEsICJYSW5jbHVkZSAiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9GUk9NX1hQQVRIOgorICAgICAgICAgICAgY2hhbm5lbChkYXRhLCAiWFBhdGggIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfRlJPTV9YUE9JTlRFUjoKKyAgICAgICAgICAgIGNoYW5uZWwoZGF0YSwgInBhcnNlciAiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9GUk9NX1JFR0VYUDoKKyAgICAgICAgICAgIGNoYW5uZWwoZGF0YSwgInJlZ2V4cCAiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9GUk9NX01PRFVMRToKKyAgICAgICAgICAgIGNoYW5uZWwoZGF0YSwgIm1vZHVsZSAiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9GUk9NX1NDSEVNQVNWOgorICAgICAgICAgICAgY2hhbm5lbChkYXRhLCAiU2NoZW1hcyB2YWxpZGl0eSAiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9GUk9NX1NDSEVNQVNQOgorICAgICAgICAgICAgY2hhbm5lbChkYXRhLCAiU2NoZW1hcyBwYXJzZXIgIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfRlJPTV9SRUxBWE5HUDoKKyAgICAgICAgICAgIGNoYW5uZWwoZGF0YSwgIlJlbGF4LU5HIHBhcnNlciAiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9GUk9NX1JFTEFYTkdWOgorICAgICAgICAgICAgY2hhbm5lbChkYXRhLCAiUmVsYXgtTkcgdmFsaWRpdHkgIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfRlJPTV9DQVRBTE9HOgorICAgICAgICAgICAgY2hhbm5lbChkYXRhLCAiQ2F0YWxvZyAiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9GUk9NX0MxNE46CisgICAgICAgICAgICBjaGFubmVsKGRhdGEsICJDMTROICIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0ZST01fWFNMVDoKKyAgICAgICAgICAgIGNoYW5uZWwoZGF0YSwgIlhTTFQgIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIGJyZWFrOworICAgIH0KKyAgICBpZiAoY29kZSA9PSBYTUxfRVJSX09LKQorICAgICAgICByZXR1cm47CisgICAgc3dpdGNoIChsZXZlbCkgeworICAgICAgICBjYXNlIFhNTF9FUlJfTk9ORToKKyAgICAgICAgICAgIGNoYW5uZWwoZGF0YSwgIjogIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfRVJSX1dBUk5JTkc6CisgICAgICAgICAgICBjaGFubmVsKGRhdGEsICJ3YXJuaW5nIDogIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfRVJSX0VSUk9SOgorICAgICAgICAgICAgY2hhbm5lbChkYXRhLCAiZXJyb3IgOiAiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9FUlJfRkFUQUw6CisgICAgICAgICAgICBjaGFubmVsKGRhdGEsICJlcnJvciA6ICIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgfQorICAgIGlmIChjb2RlID09IFhNTF9FUlJfT0spCisgICAgICAgIHJldHVybjsKKyAgICBpZiAoc3RyICE9IE5VTEwpIHsKKyAgICAgICAgaW50IGxlbjsKKwlsZW4gPSB4bWxTdHJsZW4oKGNvbnN0IHhtbENoYXIgKilzdHIpOworCWlmICgobGVuID4gMCkgJiYgKHN0cltsZW4gLSAxXSAhPSAnXG4nKSkKKwkgICAgY2hhbm5lbChkYXRhLCAiJXNcbiIsIHN0cik7CisJZWxzZQorCSAgICBjaGFubmVsKGRhdGEsICIlcyIsIHN0cik7CisgICAgfSBlbHNlIHsKKyAgICAgICAgY2hhbm5lbChkYXRhLCAiJXNcbiIsICJvdXQgb2YgbWVtb3J5IGVycm9yIik7CisgICAgfQorICAgIGlmIChjb2RlID09IFhNTF9FUlJfT0spCisgICAgICAgIHJldHVybjsKKworICAgIGlmIChjdHh0ICE9IE5VTEwpIHsKKyAgICAgICAgeG1sUGFyc2VyUHJpbnRGaWxlQ29udGV4dEludGVybmFsKGlucHV0LCBjaGFubmVsLCBkYXRhKTsKKyAgICAgICAgaWYgKGN1ciAhPSBOVUxMKSB7CisgICAgICAgICAgICBpZiAoY3VyLT5maWxlbmFtZSkKKyAgICAgICAgICAgICAgICBjaGFubmVsKGRhdGEsICIlczolZDogXG4iLCBjdXItPmZpbGVuYW1lLCBjdXItPmxpbmUpOworICAgICAgICAgICAgZWxzZSBpZiAoKGxpbmUgIT0gMCkgJiYgKGRvbWFpbiA9PSBYTUxfRlJPTV9QQVJTRVIpKQorICAgICAgICAgICAgICAgIGNoYW5uZWwoZGF0YSwgIkVudGl0eTogbGluZSAlZDogXG4iLCBjdXItPmxpbmUpOworICAgICAgICAgICAgeG1sUGFyc2VyUHJpbnRGaWxlQ29udGV4dEludGVybmFsKGN1ciwgY2hhbm5lbCwgZGF0YSk7CisgICAgICAgIH0KKyAgICB9CisgICAgaWYgKChkb21haW4gPT0gWE1MX0ZST01fWFBBVEgpICYmIChlcnItPnN0cjEgIT0gTlVMTCkgJiYKKyAgICAgICAgKGVyci0+aW50MSA8IDEwMCkgJiYKKwkoZXJyLT5pbnQxIDwgeG1sU3RybGVuKChjb25zdCB4bWxDaGFyICopZXJyLT5zdHIxKSkpIHsKKwl4bWxDaGFyIGJ1ZlsxNTBdOworCWludCBpOworCisJY2hhbm5lbChkYXRhLCAiJXNcbiIsIGVyci0+c3RyMSk7CisJZm9yIChpPTA7aSA8IGVyci0+aW50MTtpKyspCisJICAgICBidWZbaV0gPSAnICc7CisJYnVmW2krK10gPSAnXic7CisJYnVmW2ldID0gMDsKKwljaGFubmVsKGRhdGEsICIlc1xuIiwgYnVmKTsKKyAgICB9Cit9CisKK3N0YXRpYyB2b2lkCitpbml0aWFsaXplTGlieG1sMih2b2lkKSB7CisgICAgeG1sR2V0V2FybmluZ3NEZWZhdWx0VmFsdWUgPSAwOworICAgIHhtbFBlZGFudGljUGFyc2VyRGVmYXVsdCgwKTsKKworICAgIHhtbE1lbVNldHVwKHhtbE1lbUZyZWUsIHhtbE1lbU1hbGxvYywgeG1sTWVtUmVhbGxvYywgeG1sTWVtb3J5U3RyZHVwKTsKKyAgICB4bWxJbml0UGFyc2VyKCk7CisgICAgeG1sU2V0RXh0ZXJuYWxFbnRpdHlMb2FkZXIodGVzdEV4dGVybmFsRW50aXR5TG9hZGVyKTsKKyAgICB4bWxTZXRTdHJ1Y3R1cmVkRXJyb3JGdW5jKE5VTEwsIHRlc3RTdHJ1Y3R1cmVkRXJyb3JIYW5kbGVyKTsKKyAgICAvKgorICAgICAqIHJlZ2lzdGVyIHRoZSBuZXcgSS9PIGhhbmRsZXJzCisgICAgICovCisgICAgaWYgKHhtbFJlZ2lzdGVySW5wdXRDYWxsYmFja3MoaHVnZU1hdGNoLCBodWdlT3BlbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodWdlUmVhZCwgaHVnZUNsb3NlKSA8IDApIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJmYWlsZWQgdG8gcmVnaXN0ZXIgSHVnZSBoYW5kbGVyXG4iKTsKKwlleGl0KDEpOworICAgIH0KK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJRmlsZSBuYW1lIGFuZCBwYXRoIHV0aWxpdGllcwkJCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK3N0YXRpYyBjb25zdCBjaGFyICpiYXNlRmlsZW5hbWUoY29uc3QgY2hhciAqZmlsZW5hbWUpIHsKKyAgICBjb25zdCBjaGFyICpjdXI7CisgICAgaWYgKGZpbGVuYW1lID09IE5VTEwpCisgICAgICAgIHJldHVybihOVUxMKTsKKyAgICBjdXIgPSAmZmlsZW5hbWVbc3RybGVuKGZpbGVuYW1lKV07CisgICAgd2hpbGUgKChjdXIgPiBmaWxlbmFtZSkgJiYgKCpjdXIgIT0gJy8nKSkKKyAgICAgICAgY3VyLS07CisgICAgaWYgKCpjdXIgPT0gJy8nKQorICAgICAgICByZXR1cm4oY3VyICsgMSk7CisgICAgcmV0dXJuKGN1cik7Cit9CisKK3N0YXRpYyBjaGFyICpyZXN1bHRGaWxlbmFtZShjb25zdCBjaGFyICpmaWxlbmFtZSwgY29uc3QgY2hhciAqb3V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnN1ZmZpeCkgeworICAgIGNvbnN0IGNoYXIgKmJhc2U7CisgICAgY2hhciByZXNbNTAwXTsKKyAgICBjaGFyIHN1ZmZpeGJ1ZmZbNTAwXTsKKworLyoqKioqKioqKioqKioKKyAgICBpZiAoKGZpbGVuYW1lWzBdID09ICd0JykgJiYgKGZpbGVuYW1lWzFdID09ICdlJykgJiYKKyAgICAgICAgKGZpbGVuYW1lWzJdID09ICdzJykgJiYgKGZpbGVuYW1lWzNdID09ICd0JykgJiYKKwkoZmlsZW5hbWVbNF0gPT0gJy8nKSkKKwlmaWxlbmFtZSA9ICZmaWxlbmFtZVs1XTsKKyAqKioqKioqKioqKioqLworCisgICAgYmFzZSA9IGJhc2VGaWxlbmFtZShmaWxlbmFtZSk7CisgICAgaWYgKHN1ZmZpeCA9PSBOVUxMKQorICAgICAgICBzdWZmaXggPSAiLnRtcCI7CisgICAgaWYgKG91dCA9PSBOVUxMKQorICAgICAgICBvdXQgPSAiIjsKKworICAgIHN0cm5jcHkoc3VmZml4YnVmZixzdWZmaXgsNDk5KTsKKyNpZmRlZiBWTVMKKyAgICBpZihzdHJzdHIoYmFzZSwiLiIpICYmIHN1ZmZpeGJ1ZmZbMF09PScuJykKKyAgICAgIHN1ZmZpeGJ1ZmZbMF09J18nOworI2VuZGlmCisKKyAgICBzbnByaW50ZihyZXMsIDQ5OSwgIiVzJXMlcyIsIG91dCwgYmFzZSwgc3VmZml4YnVmZik7CisgICAgcmVzWzQ5OV0gPSAwOworICAgIHJldHVybihzdHJkdXAocmVzKSk7Cit9CisKK3N0YXRpYyBpbnQgY2hlY2tUZXN0RmlsZShjb25zdCBjaGFyICpmaWxlbmFtZSkgeworICAgIHN0cnVjdCBzdGF0IGJ1ZjsKKworICAgIGlmIChzdGF0KGZpbGVuYW1lLCAmYnVmKSA9PSAtMSkKKyAgICAgICAgcmV0dXJuKDApOworCisjaWYgZGVmaW5lZChfV0lOMzIpICYmICFkZWZpbmVkKF9fQ1lHV0lOX18pCisgICAgaWYgKCEoYnVmLnN0X21vZGUgJiBfU19JRlJFRykpCisgICAgICAgIHJldHVybigwKTsKKyNlbHNlCisgICAgaWYgKCFTX0lTUkVHKGJ1Zi5zdF9tb2RlKSkKKyAgICAgICAgcmV0dXJuKDApOworI2VuZGlmCisKKyAgICByZXR1cm4oMSk7Cit9CisKKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQlUZXN0IHRvIGRldGVjdCBvciBub3QgcmVjdXJzaXZlIGVudGl0aWVzCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKioKKyAqIHJlY3Vyc2l2ZURldGVjdFRlc3Q6CisgKiBAZmlsZW5hbWU6IHRoZSBmaWxlIHRvIHBhcnNlCisgKiBAcmVzdWx0OiB0aGUgZmlsZSB3aXRoIGV4cGVjdGVkIHJlc3VsdAorICogQGVycjogdGhlIGZpbGUgd2l0aCBlcnJvciBtZXNzYWdlczogdW51c2VkCisgKgorICogUGFyc2UgYSBmaWxlIGxvYWRpbmcgRFREIGFuZCByZXBsYWNpbmcgZW50aXRpZXMgY2hlY2sgaXQgZmFpbHMgZm9yCisgKiBsb2wgY2FzZXMKKyAqCisgKiBSZXR1cm5zIDAgaW4gY2FzZSBvZiBzdWNjZXNzLCBhbiBlcnJvciBjb2RlIG90aGVyd2lzZQorICovCitzdGF0aWMgaW50CityZWN1cnNpdmVEZXRlY3RUZXN0KGNvbnN0IGNoYXIgKmZpbGVuYW1lLAorICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnJlc3VsdCBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmVyciBBVFRSSUJVVEVfVU5VU0VELAorCSAgICAgaW50IG9wdGlvbnMgQVRUUklCVVRFX1VOVVNFRCkgeworICAgIHhtbERvY1B0ciBkb2M7CisgICAgeG1sUGFyc2VyQ3R4dFB0ciBjdHh0OworICAgIGludCByZXMgPSAwOworCisgICAgbmJfdGVzdHMrKzsKKworICAgIGN0eHQgPSB4bWxOZXdQYXJzZXJDdHh0KCk7CisgICAgLyoKKyAgICAgKiBiYXNlIG9mIHRoZSB0ZXN0LCBwYXJzZSB3aXRoIHRoZSBvbGQgQVBJCisgICAgICovCisgICAgZG9jID0geG1sQ3R4dFJlYWRGaWxlKGN0eHQsIGZpbGVuYW1lLCBOVUxMLAorICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfUEFSU0VfTk9FTlQgfCBYTUxfUEFSU0VfRFRETE9BRCk7CisgICAgaWYgKChkb2MgIT0gTlVMTCkgfHwgKGN0eHQtPmxhc3RFcnJvci5jb2RlICE9IFhNTF9FUlJfRU5USVRZX0xPT1ApKSB7CisgICAgICAgIGZwcmludGYoc3RkZXJyLCAiRmFpbGVkIHRvIGRldGVjdCByZWN1cnNpb24gaW4gJXNcbiIsIGZpbGVuYW1lKTsKKwl4bWxGcmVlUGFyc2VyQ3R4dChjdHh0KTsKKwl4bWxGcmVlRG9jKGRvYyk7CisgICAgICAgIHJldHVybigxKTsKKyAgICB9CisgICAgeG1sRnJlZVBhcnNlckN0eHQoY3R4dCk7CisKKyAgICByZXR1cm4ocmVzKTsKK30KKworLyoqCisgKiBub3RSZWN1cnNpdmVEZXRlY3RUZXN0OgorICogQGZpbGVuYW1lOiB0aGUgZmlsZSB0byBwYXJzZQorICogQHJlc3VsdDogdGhlIGZpbGUgd2l0aCBleHBlY3RlZCByZXN1bHQKKyAqIEBlcnI6IHRoZSBmaWxlIHdpdGggZXJyb3IgbWVzc2FnZXM6IHVudXNlZAorICoKKyAqIFBhcnNlIGEgZmlsZSBsb2FkaW5nIERURCBhbmQgcmVwbGFjaW5nIGVudGl0aWVzIGNoZWNrIGl0IHdvcmtzIGZvcgorICogZ29vZCBjYXNlcworICoKKyAqIFJldHVybnMgMCBpbiBjYXNlIG9mIHN1Y2Nlc3MsIGFuIGVycm9yIGNvZGUgb3RoZXJ3aXNlCisgKi8KK3N0YXRpYyBpbnQKK25vdFJlY3Vyc2l2ZURldGVjdFRlc3QoY29uc3QgY2hhciAqZmlsZW5hbWUsCisgICAgICAgICAgICAgY29uc3QgY2hhciAqcmVzdWx0IEFUVFJJQlVURV9VTlVTRUQsCisgICAgICAgICAgICAgY29uc3QgY2hhciAqZXJyIEFUVFJJQlVURV9VTlVTRUQsCisJICAgICBpbnQgb3B0aW9ucyBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgeG1sRG9jUHRyIGRvYzsKKyAgICB4bWxQYXJzZXJDdHh0UHRyIGN0eHQ7CisgICAgaW50IHJlcyA9IDA7CisKKyAgICBuYl90ZXN0cysrOworCisgICAgY3R4dCA9IHhtbE5ld1BhcnNlckN0eHQoKTsKKyAgICAvKgorICAgICAqIGJhc2Ugb2YgdGhlIHRlc3QsIHBhcnNlIHdpdGggdGhlIG9sZCBBUEkKKyAgICAgKi8KKyAgICBkb2MgPSB4bWxDdHh0UmVhZEZpbGUoY3R4dCwgZmlsZW5hbWUsIE5VTEwsCisgICAgICAgICAgICAgICAgICAgICAgICAgIFhNTF9QQVJTRV9OT0VOVCB8IFhNTF9QQVJTRV9EVERMT0FEKTsKKyAgICBpZiAoZG9jID09IE5VTEwpIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJGYWlsZWQgdG8gcGFyc2UgY29ycmVjdCBmaWxlICVzXG4iLCBmaWxlbmFtZSk7CisJeG1sRnJlZVBhcnNlckN0eHQoY3R4dCk7CisgICAgICAgIHJldHVybigxKTsKKyAgICB9CisgICAgeG1sRnJlZURvYyhkb2MpOworICAgIHhtbEZyZWVQYXJzZXJDdHh0KGN0eHQpOworCisgICAgcmV0dXJuKHJlcyk7Cit9CisKKyNpZmRlZiBMSUJYTUxfUkVBREVSX0VOQUJMRUQKKy8qKgorICogbm90UmVjdXJzaXZlSHVnZVRlc3Q6CisgKiBAZmlsZW5hbWU6IHRoZSBmaWxlIHRvIHBhcnNlCisgKiBAcmVzdWx0OiB0aGUgZmlsZSB3aXRoIGV4cGVjdGVkIHJlc3VsdAorICogQGVycjogdGhlIGZpbGUgd2l0aCBlcnJvciBtZXNzYWdlczogdW51c2VkCisgKgorICogUGFyc2UgYSBtZW1vcnkgZ2VuZXJhdGVkIGZpbGUKKyAqIGdvb2QgY2FzZXMKKyAqCisgKiBSZXR1cm5zIDAgaW4gY2FzZSBvZiBzdWNjZXNzLCBhbiBlcnJvciBjb2RlIG90aGVyd2lzZQorICovCitzdGF0aWMgaW50Citub3RSZWN1cnNpdmVIdWdlVGVzdChjb25zdCBjaGFyICpmaWxlbmFtZSBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnJlc3VsdCBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmVyciBBVFRSSUJVVEVfVU5VU0VELAorCSAgICAgaW50IG9wdGlvbnMgQVRUUklCVVRFX1VOVVNFRCkgeworICAgIHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyOworICAgIGludCByZXMgPSAwOworICAgIGludCByZXQ7CisKKyAgICBuYl90ZXN0cysrOworCisgICAgcmVhZGVyID0geG1sUmVhZGVyRm9yRmlsZSgiaHVnZTp0ZXN0IiAsIE5VTEwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfUEFSU0VfTk9FTlQgfCBYTUxfUEFSU0VfRFRETE9BRCk7CisgICAgaWYgKHJlYWRlciA9PSBOVUxMKSB7CisgICAgICAgIGZwcmludGYoc3RkZXJyLCAiRmFpbGVkIHRvIG9wZW4gaHVnZTp0ZXN0XG4iKTsKKwlyZXR1cm4oMSk7CisgICAgfQorICAgIHJldCA9IHhtbFRleHRSZWFkZXJSZWFkKHJlYWRlcik7CisgICAgd2hpbGUgKHJldCA9PSAxKSB7CisgICAgICAgIHJldCA9IHhtbFRleHRSZWFkZXJSZWFkKHJlYWRlcik7CisgICAgfQorICAgIGlmIChyZXQgIT0gMCkgeworICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkZhaWxlZCB0byBwYXJzZXIgaHVnZTp0ZXN0IHdpdGggZW50aXRpZXNcbiIpOworCXJlcyA9IDE7CisgICAgfQorICAgIHhtbEZyZWVUZXh0UmVhZGVyKHJlYWRlcik7CisKKyAgICByZXR1cm4ocmVzKTsKK30KKyNlbmRpZgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQkJVGVzdHMgRGVzY3JpcHRpb25zCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworc3RhdGljCit0ZXN0RGVzYyB0ZXN0RGVzY3JpcHRpb25zW10gPSB7CisgICAgeyAiUGFyc2luZyByZWN1cnNpdmUgdGVzdCBjYXNlcyIgLAorICAgICAgcmVjdXJzaXZlRGV0ZWN0VGVzdCwgIi4vdGVzdC9yZWN1cnNlL2xvbCoueG1sIiwgTlVMTCwgTlVMTCwgTlVMTCwKKyAgICAgIDAgfSwKKyAgICB7ICJQYXJzaW5nIG5vbi1yZWN1cnNpdmUgdGVzdCBjYXNlcyIgLAorICAgICAgbm90UmVjdXJzaXZlRGV0ZWN0VGVzdCwgIi4vdGVzdC9yZWN1cnNlL2dvb2QqLnhtbCIsIE5VTEwsIE5VTEwsIE5VTEwsCisgICAgICAwIH0sCisjaWZkZWYgTElCWE1MX1JFQURFUl9FTkFCTEVECisgICAgeyAiUGFyc2luZyBub24tcmVjdXJzaXZlIGh1Z2UgY2FzZSIgLAorICAgICAgbm90UmVjdXJzaXZlSHVnZVRlc3QsIE5VTEwsIE5VTEwsIE5VTEwsIE5VTEwsCisgICAgICAwIH0sCisjZW5kaWYKKyAgICB7TlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwgMH0KK307CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCVRoZSBtYWluIGNvZGUgZHJpdmluZyB0aGUgdGVzdHMJCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitzdGF0aWMgaW50CitsYXVuY2hUZXN0cyh0ZXN0RGVzY1B0ciB0c3QpIHsKKyAgICBpbnQgcmVzID0gMCwgZXJyID0gMDsKKyAgICBzaXplX3QgaTsKKyAgICBjaGFyICpyZXN1bHQ7CisgICAgY2hhciAqZXJyb3I7CisgICAgaW50IG1lbTsKKworICAgIGlmICh0c3QgPT0gTlVMTCkgcmV0dXJuKC0xKTsKKyAgICBpZiAodHN0LT5pbiAhPSBOVUxMKSB7CisJZ2xvYl90IGdsb2JidWY7CisKKwlnbG9iYnVmLmdsX29mZnMgPSAwOworCWdsb2IodHN0LT5pbiwgR0xPQl9ET09GRlMsIE5VTEwsICZnbG9iYnVmKTsKKwlmb3IgKGkgPSAwO2kgPCBnbG9iYnVmLmdsX3BhdGhjO2krKykgeworCSAgICBpZiAoIWNoZWNrVGVzdEZpbGUoZ2xvYmJ1Zi5nbF9wYXRodltpXSkpCisJICAgICAgICBjb250aW51ZTsKKwkgICAgaWYgKHRzdC0+c3VmZml4ICE9IE5VTEwpIHsKKwkJcmVzdWx0ID0gcmVzdWx0RmlsZW5hbWUoZ2xvYmJ1Zi5nbF9wYXRodltpXSwgdHN0LT5vdXQsCisJCQkJCXRzdC0+c3VmZml4KTsKKwkJaWYgKHJlc3VsdCA9PSBOVUxMKSB7CisJCSAgICBmcHJpbnRmKHN0ZGVyciwgIk91dCBvZiBtZW1vcnkgIVxuIik7CisJCSAgICBmYXRhbEVycm9yKCk7CisJCX0KKwkgICAgfSBlbHNlIHsKKwkgICAgICAgIHJlc3VsdCA9IE5VTEw7CisJICAgIH0KKwkgICAgaWYgKHRzdC0+ZXJyICE9IE5VTEwpIHsKKwkJZXJyb3IgPSByZXN1bHRGaWxlbmFtZShnbG9iYnVmLmdsX3BhdGh2W2ldLCB0c3QtPm91dCwKKwkJICAgICAgICAgICAgICAgICAgICAgICAgdHN0LT5lcnIpOworCQlpZiAoZXJyb3IgPT0gTlVMTCkgeworCQkgICAgZnByaW50ZihzdGRlcnIsICJPdXQgb2YgbWVtb3J5ICFcbiIpOworCQkgICAgZmF0YWxFcnJvcigpOworCQl9CisJICAgIH0gZWxzZSB7CisJICAgICAgICBlcnJvciA9IE5VTEw7CisJICAgIH0KKwkgICAgaWYgKChyZXN1bHQpICYmKCFjaGVja1Rlc3RGaWxlKHJlc3VsdCkpKSB7CisJICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIk1pc3NpbmcgcmVzdWx0IGZpbGUgJXNcbiIsIHJlc3VsdCk7CisJICAgIH0gZWxzZSBpZiAoKGVycm9yKSAmJighY2hlY2tUZXN0RmlsZShlcnJvcikpKSB7CisJICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIk1pc3NpbmcgZXJyb3IgZmlsZSAlc1xuIiwgZXJyb3IpOworCSAgICB9IGVsc2UgeworCQltZW0gPSB4bWxNZW1Vc2VkKCk7CisJCWV4dHJhTWVtb3J5RnJvbVJlc29sdmVyID0gMDsKKwkJdGVzdEVycm9yc1NpemUgPSAwOworCQl0ZXN0RXJyb3JzWzBdID0gMDsKKwkJcmVzID0gdHN0LT5mdW5jKGdsb2JidWYuZ2xfcGF0aHZbaV0sIHJlc3VsdCwgZXJyb3IsCisJCSAgICAgICAgICAgICAgICB0c3QtPm9wdGlvbnMgfCBYTUxfUEFSU0VfQ09NUEFDVCk7CisJCXhtbFJlc2V0TGFzdEVycm9yKCk7CisJCWlmIChyZXMgIT0gMCkgeworCQkgICAgZnByaW50ZihzdGRlcnIsICJGaWxlICVzIGdlbmVyYXRlZCBhbiBlcnJvclxuIiwKKwkJICAgICAgICAgICAgZ2xvYmJ1Zi5nbF9wYXRodltpXSk7CisJCSAgICBuYl9lcnJvcnMrKzsKKwkJICAgIGVycisrOworCQl9CisJCWVsc2UgaWYgKHhtbE1lbVVzZWQoKSAhPSBtZW0pIHsKKwkJICAgIGlmICgoeG1sTWVtVXNlZCgpICE9IG1lbSkgJiYKKwkJICAgICAgICAoZXh0cmFNZW1vcnlGcm9tUmVzb2x2ZXIgPT0gMCkpIHsKKwkJCWZwcmludGYoc3RkZXJyLCAiRmlsZSAlcyBsZWFrZWQgJWQgYnl0ZXNcbiIsCisJCQkJZ2xvYmJ1Zi5nbF9wYXRodltpXSwgeG1sTWVtVXNlZCgpIC0gbWVtKTsKKwkJCW5iX2xlYWtzKys7CisJCQllcnIrKzsKKwkJICAgIH0KKwkJfQorCQl0ZXN0RXJyb3JzU2l6ZSA9IDA7CisJICAgIH0KKwkgICAgaWYgKHJlc3VsdCkKKwkJZnJlZShyZXN1bHQpOworCSAgICBpZiAoZXJyb3IpCisJCWZyZWUoZXJyb3IpOworCX0KKwlnbG9iZnJlZSgmZ2xvYmJ1Zik7CisgICAgfSBlbHNlIHsKKyAgICAgICAgdGVzdEVycm9yc1NpemUgPSAwOworCXRlc3RFcnJvcnNbMF0gPSAwOworCWV4dHJhTWVtb3J5RnJvbVJlc29sdmVyID0gMDsKKyAgICAgICAgcmVzID0gdHN0LT5mdW5jKE5VTEwsIE5VTEwsIE5VTEwsIHRzdC0+b3B0aW9ucyk7CisJaWYgKHJlcyAhPSAwKSB7CisJICAgIG5iX2Vycm9ycysrOworCSAgICBlcnIrKzsKKwl9CisgICAgfQorICAgIHJldHVybihlcnIpOworfQorCitzdGF0aWMgaW50IHZlcmJvc2UgPSAwOworc3RhdGljIGludCB0ZXN0c19xdWlldCA9IDA7CisKK3N0YXRpYyBpbnQKK3J1bnRlc3QoaW50IGkpIHsKKyAgICBpbnQgcmV0ID0gMCwgcmVzOworICAgIGludCBvbGRfZXJyb3JzLCBvbGRfdGVzdHMsIG9sZF9sZWFrczsKKworICAgIG9sZF9lcnJvcnMgPSBuYl9lcnJvcnM7CisgICAgb2xkX3Rlc3RzID0gbmJfdGVzdHM7CisgICAgb2xkX2xlYWtzID0gbmJfbGVha3M7CisgICAgaWYgKCh0ZXN0c19xdWlldCA9PSAwKSAmJiAodGVzdERlc2NyaXB0aW9uc1tpXS5kZXNjICE9IE5VTEwpKQorCXByaW50ZigiIyMgJXNcbiIsIHRlc3REZXNjcmlwdGlvbnNbaV0uZGVzYyk7CisgICAgcmVzID0gbGF1bmNoVGVzdHMoJnRlc3REZXNjcmlwdGlvbnNbaV0pOworICAgIGlmIChyZXMgIT0gMCkKKwlyZXQrKzsKKyAgICBpZiAodmVyYm9zZSkgeworCWlmICgobmJfZXJyb3JzID09IG9sZF9lcnJvcnMpICYmIChuYl9sZWFrcyA9PSBvbGRfbGVha3MpKQorCSAgICBwcmludGYoIlJhbiAlZCB0ZXN0cywgbm8gZXJyb3JzXG4iLCBuYl90ZXN0cyAtIG9sZF90ZXN0cyk7CisJZWxzZQorCSAgICBwcmludGYoIlJhbiAlZCB0ZXN0cywgJWQgZXJyb3JzLCAlZCBsZWFrc1xuIiwKKwkJICAgbmJfdGVzdHMgLSBvbGRfdGVzdHMsCisJCSAgIG5iX2Vycm9ycyAtIG9sZF9lcnJvcnMsCisJCSAgIG5iX2xlYWtzIC0gb2xkX2xlYWtzKTsKKyAgICB9CisgICAgcmV0dXJuKHJldCk7Cit9CisKK2ludAorbWFpbihpbnQgYXJnYyBBVFRSSUJVVEVfVU5VU0VELCBjaGFyICoqYXJndiBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgaW50IGksIGEsIHJldCA9IDA7CisgICAgaW50IHN1YnNldCA9IDA7CisKKyAgICBpbml0aWFsaXplTGlieG1sMigpOworCisgICAgZm9yIChhID0gMTsgYSA8IGFyZ2M7YSsrKSB7CisgICAgICAgIGlmICghc3RyY21wKGFyZ3ZbYV0sICItdiIpKQorCSAgICB2ZXJib3NlID0gMTsKKyAgICAgICAgZWxzZSBpZiAoIXN0cmNtcChhcmd2W2FdLCAiLXF1aWV0IikpCisJICAgIHRlc3RzX3F1aWV0ID0gMTsKKwllbHNlIHsKKwkgICAgZm9yIChpID0gMDsgdGVzdERlc2NyaXB0aW9uc1tpXS5mdW5jICE9IE5VTEw7IGkrKykgeworCSAgICAgICAgaWYgKHN0cnN0cih0ZXN0RGVzY3JpcHRpb25zW2ldLmRlc2MsIGFyZ3ZbYV0pKSB7CisJCSAgICByZXQgKz0gcnVudGVzdChpKTsKKwkJICAgIHN1YnNldCsrOworCQl9CisJICAgIH0KKwl9CisgICAgfQorICAgIGlmIChzdWJzZXQgPT0gMCkgeworCWZvciAoaSA9IDA7IHRlc3REZXNjcmlwdGlvbnNbaV0uZnVuYyAhPSBOVUxMOyBpKyspIHsKKwkgICAgcmV0ICs9IHJ1bnRlc3QoaSk7CisJfQorICAgIH0KKyAgICBpZiAoKG5iX2Vycm9ycyA9PSAwKSAmJiAobmJfbGVha3MgPT0gMCkpIHsKKyAgICAgICAgcmV0ID0gMDsKKwlwcmludGYoIlRvdGFsICVkIHRlc3RzLCBubyBlcnJvcnNcbiIsCisJICAgICAgIG5iX3Rlc3RzKTsKKyAgICB9IGVsc2UgeworICAgICAgICByZXQgPSAxOworCXByaW50ZigiVG90YWwgJWQgdGVzdHMsICVkIGVycm9ycywgJWQgbGVha3NcbiIsCisJICAgICAgIG5iX3Rlc3RzLCBuYl9lcnJvcnMsIG5iX2xlYWtzKTsKKyAgICB9CisgICAgeG1sQ2xlYW51cFBhcnNlcigpOworICAgIHhtbE1lbW9yeUR1bXAoKTsKKworICAgIHJldHVybihyZXQpOworfQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90aHJlYWRzLmMgYi9saWJ4bWwyL3RocmVhZHMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44OTIxMjA0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90aHJlYWRzLmMKQEAgLTAsMCArMSwxMDM5IEBACisvKioKKyAqIHRocmVhZHMuYzogc2V0IG9mIGdlbmVyaWMgdGhyZWFkaW5nIHJlbGF0ZWQgcm91dGluZXMKKyAqCisgKiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisgKgorICogR2FyeSBQZW5uaW5ndG9uIDxHYXJ5LlBlbm5pbmd0b25AdWsuc3VuLmNvbT4KKyAqIGRhbmllbEB2ZWlsbGFyZC5jb20KKyAqLworCisjZGVmaW5lIElOX0xJQlhNTAorI2luY2x1ZGUgImxpYnhtbC5oIgorCisjaW5jbHVkZSA8c3RyaW5nLmg+CisKKyNpbmNsdWRlIDxsaWJ4bWwvdGhyZWFkcy5oPgorI2luY2x1ZGUgPGxpYnhtbC9nbG9iYWxzLmg+CisKKyNpZmRlZiBIQVZFX1NZU19UWVBFU19ICisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjZW5kaWYKKyNpZmRlZiBIQVZFX1VOSVNURF9ICisjaW5jbHVkZSA8dW5pc3RkLmg+CisjZW5kaWYKKyNpZmRlZiBIQVZFX1NURExJQl9ICisjaW5jbHVkZSA8c3RkbGliLmg+CisjZW5kaWYKKyNpZmRlZiBIQVZFX1BUSFJFQURfSAorI2luY2x1ZGUgPHB0aHJlYWQuaD4KKyNlbGlmIGRlZmluZWQgSEFWRV9XSU4zMl9USFJFQURTCisjaW5jbHVkZSA8d2luZG93cy5oPgorI2lmbmRlZiBIQVZFX0NPTVBJTEVSX1RMUworI2luY2x1ZGUgPHByb2Nlc3MuaD4KKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBIQVZFX0JFT1NfVEhSRUFEUworI2luY2x1ZGUgPE9TLmg+CisjaW5jbHVkZSA8VExTLmg+CisjZW5kaWYKKworI2lmIGRlZmluZWQoU09MQVJJUykKKyNpbmNsdWRlIDxub3RlLmg+CisjZW5kaWYKKworLyogI2RlZmluZSBERUJVR19USFJFQURTICovCisKKyNpZmRlZiBIQVZFX1BUSFJFQURfSAorCitzdGF0aWMgaW50IGxpYnhtbF9pc190aHJlYWRlZCA9IC0xOworI2lmZGVmIF9fR05VQ19fCisjaWZkZWYgbGludXgKKyNpZiAoX19HTlVDX18gPT0gMyAmJiBfX0dOVUNfTUlOT1JfXyA+PSAzKSB8fCAoX19HTlVDX18gPiAzKQorZXh0ZXJuIGludCBwdGhyZWFkX29uY2UgKHB0aHJlYWRfb25jZV90ICpfX29uY2VfY29udHJvbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICgqX19pbml0X3JvdXRpbmUpICh2b2lkKSkKKwkgICBfX2F0dHJpYnV0ZSgod2VhaykpOworZXh0ZXJuIHZvaWQgKnB0aHJlYWRfZ2V0c3BlY2lmaWMgKHB0aHJlYWRfa2V5X3QgX19rZXkpCisJICAgX19hdHRyaWJ1dGUoKHdlYWspKTsKK2V4dGVybiBpbnQgcHRocmVhZF9zZXRzcGVjaWZpYyAocHRocmVhZF9rZXlfdCBfX2tleSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19jb25zdCB2b2lkICpfX3BvaW50ZXIpCisJICAgX19hdHRyaWJ1dGUoKHdlYWspKTsKK2V4dGVybiBpbnQgcHRocmVhZF9rZXlfY3JlYXRlIChwdGhyZWFkX2tleV90ICpfX2tleSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICgqX19kZXN0cl9mdW5jdGlvbikgKHZvaWQgKikpCisJICAgX19hdHRyaWJ1dGUoKHdlYWspKTsKK2V4dGVybiBpbnQgcHRocmVhZF9rZXlfZGVsZXRlIChwdGhyZWFkX2tleV90IF9fa2V5KQorCSAgIF9fYXR0cmlidXRlKCh3ZWFrKSk7CitleHRlcm4gaW50IHB0aHJlYWRfbXV0ZXhfaW5pdCAoKQorCSAgIF9fYXR0cmlidXRlKCh3ZWFrKSk7CitleHRlcm4gaW50IHB0aHJlYWRfbXV0ZXhfZGVzdHJveSAoKQorCSAgIF9fYXR0cmlidXRlKCh3ZWFrKSk7CitleHRlcm4gaW50IHB0aHJlYWRfbXV0ZXhfbG9jayAoKQorCSAgIF9fYXR0cmlidXRlKCh3ZWFrKSk7CitleHRlcm4gaW50IHB0aHJlYWRfbXV0ZXhfdW5sb2NrICgpCisJICAgX19hdHRyaWJ1dGUoKHdlYWspKTsKK2V4dGVybiBpbnQgcHRocmVhZF9jb25kX2luaXQgKCkKKwkgICBfX2F0dHJpYnV0ZSgod2VhaykpOworZXh0ZXJuIGludCBwdGhyZWFkX2NvbmRfZGVzdHJveSAoKQorCSAgIF9fYXR0cmlidXRlKCh3ZWFrKSk7CitleHRlcm4gaW50IHB0aHJlYWRfY29uZF93YWl0ICgpCisJICAgX19hdHRyaWJ1dGUoKHdlYWspKTsKK2V4dGVybiBpbnQgcHRocmVhZF9lcXVhbCAoKQorCSAgIF9fYXR0cmlidXRlKCh3ZWFrKSk7CitleHRlcm4gcHRocmVhZF90IHB0aHJlYWRfc2VsZiAoKQorCSAgIF9fYXR0cmlidXRlKCh3ZWFrKSk7CitleHRlcm4gaW50IHB0aHJlYWRfa2V5X2NyZWF0ZSAoKQorCSAgIF9fYXR0cmlidXRlKCh3ZWFrKSk7CitleHRlcm4gaW50IHB0aHJlYWRfa2V5X2RlbGV0ZSAoKQorCSAgIF9fYXR0cmlidXRlKCh3ZWFrKSk7CitleHRlcm4gaW50IHB0aHJlYWRfY29uZF9zaWduYWwgKCkKKwkgICBfX2F0dHJpYnV0ZSgod2VhaykpOworI2VuZGlmCisjZW5kaWYgLyogbGludXggKi8KKyNlbmRpZiAvKiBfX0dOVUNfXyAqLworI2VuZGlmIC8qIEhBVkVfUFRIUkVBRF9IICovCisKKy8qCisgKiBUT0RPOiB0aGlzIG1vZHVsZSBzdGlsbCB1c2VzIG1hbGxvYy9mcmVlIGFuZCBub3QgeG1sTWFsbG9jL3htbEZyZWUKKyAqICAgICAgIHRvIGF2b2lkIHNvbWUgY3JhenluZXNzIHNpbmNlIHhtbE1hbGxvYy94bWxGcmVlIG1heSBhY3R1YWxseQorICogICAgICAgYmUgaG9zdGVkIG9uIGFsbG9jYXRlZCBibG9ja3MgbmVlZGluZyB0aGVtIGZvciB0aGUgYWxsb2NhdGlvbiAuLi4KKyAqLworCisvKgorICogeG1sTXV0ZXggYXJlIGEgc2ltcGxlIG11dHVhbCBleGNlcHRpb24gbG9ja3MKKyAqLworc3RydWN0IF94bWxNdXRleCB7CisjaWZkZWYgSEFWRV9QVEhSRUFEX0gKKyAgICBwdGhyZWFkX211dGV4X3QgbG9jazsKKyNlbGlmIGRlZmluZWQgSEFWRV9XSU4zMl9USFJFQURTCisgICAgSEFORExFIG11dGV4OworI2VsaWYgZGVmaW5lZCBIQVZFX0JFT1NfVEhSRUFEUworICAgIHNlbV9pZCBzZW07CisgICAgdGhyZWFkX2lkIHRpZDsKKyNlbHNlCisgICAgaW50IGVtcHR5OworI2VuZGlmCit9OworCisvKgorICogeG1sUk11dGV4IGFyZSByZWVudHJhbnQgbXV0dWFsIGV4Y2VwdGlvbiBsb2NrcworICovCitzdHJ1Y3QgX3htbFJNdXRleCB7CisjaWZkZWYgSEFWRV9QVEhSRUFEX0gKKyAgICBwdGhyZWFkX211dGV4X3QgbG9jazsKKyAgICB1bnNpZ25lZCBpbnQgaGVsZDsKKyAgICB1bnNpZ25lZCBpbnQgd2FpdGVyczsKKyAgICBwdGhyZWFkX3QgdGlkOworICAgIHB0aHJlYWRfY29uZF90IGN2OworI2VsaWYgZGVmaW5lZCBIQVZFX1dJTjMyX1RIUkVBRFMKKyAgICBDUklUSUNBTF9TRUNUSU9OIGNzOworICAgIHVuc2lnbmVkIGludCBjb3VudDsKKyNlbGlmIGRlZmluZWQgSEFWRV9CRU9TX1RIUkVBRFMKKyAgICB4bWxNdXRleFB0ciBsb2NrOworICAgIHRocmVhZF9pZCB0aWQ7CisgICAgaW50MzIgY291bnQ7CisjZWxzZQorICAgIGludCBlbXB0eTsKKyNlbmRpZgorfTsKKworLyoKKyAqIFRoaXMgbW9kdWxlIHN0aWxsIGhhcyBzb21lIGludGVybmFsIHN0YXRpYyBkYXRhLgorICogICAtIHhtbExpYnJhcnlMb2NrIGEgZ2xvYmFsIGxvY2sKKyAqICAgLSBnbG9iYWxrZXkgdXNlZCBmb3IgcGVyLXRocmVhZCBkYXRhCisgKi8KKworI2lmZGVmIEhBVkVfUFRIUkVBRF9ICitzdGF0aWMgcHRocmVhZF9rZXlfdCBnbG9iYWxrZXk7CitzdGF0aWMgcHRocmVhZF90IG1haW50aHJlYWQ7CitzdGF0aWMgcHRocmVhZF9vbmNlX3Qgb25jZV9jb250cm9sID0gUFRIUkVBRF9PTkNFX0lOSVQ7CitzdGF0aWMgcHRocmVhZF9vbmNlX3Qgb25jZV9jb250cm9sX2luaXQgPSBQVEhSRUFEX09OQ0VfSU5JVDsKK3N0YXRpYyBwdGhyZWFkX211dGV4X3QgZ2xvYmFsX2luaXRfbG9jayA9IFBUSFJFQURfTVVURVhfSU5JVElBTElaRVI7CisjZWxpZiBkZWZpbmVkIEhBVkVfV0lOMzJfVEhSRUFEUworI2lmIGRlZmluZWQoSEFWRV9DT01QSUxFUl9UTFMpCitzdGF0aWMgX19kZWNsc3BlYyh0aHJlYWQpIHhtbEdsb2JhbFN0YXRlIHRsc3RhdGU7CitzdGF0aWMgX19kZWNsc3BlYyh0aHJlYWQpIGludCB0bHN0YXRlX2luaXRlZCA9IDA7CisjZWxzZSAvKiBIQVZFX0NPTVBJTEVSX1RMUyAqLworc3RhdGljIERXT1JEIGdsb2JhbGtleSA9IFRMU19PVVRfT0ZfSU5ERVhFUzsKKyNlbmRpZiAvKiBIQVZFX0NPTVBJTEVSX1RMUyAqLworc3RhdGljIERXT1JEIG1haW50aHJlYWQ7CitzdGF0aWMgc3RydWN0IHsKKyAgICBEV09SRCBkb25lOworICAgIERXT1JEIGNvbnRyb2w7Cit9IHJ1bl9vbmNlID0geyAwLCAwfTsKK3N0YXRpYyB2b2xhdGlsZSBMUENSSVRJQ0FMX1NFQ1RJT04gZ2xvYmFsX2luaXRfbG9jayA9IE5VTEw7CisKKy8qIGVuZGlmIEhBVkVfV0lOMzJfVEhSRUFEUyAqLworI2VsaWYgZGVmaW5lZCBIQVZFX0JFT1NfVEhSRUFEUworaW50MzIgZ2xvYmFsa2V5ID0gMDsKK3RocmVhZF9pZCBtYWludGhyZWFkID0gMDsKK2ludDMyIHJ1bl9vbmNlX2luaXQgPSAwOworc3RhdGljIGludDMyIGdsb2JhbF9pbml0X2xvY2sgPSAtMTsKK3N0YXRpYyB2aW50MzIgZ2xvYmFsX2luaXRfY291bnQgPSAwOworI2VuZGlmCisKK3N0YXRpYyB4bWxSTXV0ZXhQdHIgeG1sTGlicmFyeUxvY2sgPSBOVUxMOworCisjaWZkZWYgTElCWE1MX1RIUkVBRF9FTkFCTEVECitzdGF0aWMgdm9pZCB4bWxPbmNlSW5pdCh2b2lkKTsKKyNlbmRpZgorCisvKioKKyAqIHhtbE5ld011dGV4OgorICoKKyAqIHhtbE5ld011dGV4KCkgaXMgdXNlZCB0byBhbGxvY2F0ZSBhIGxpYnhtbDIgdG9rZW4gc3RydWN0IGZvciB1c2UgaW4KKyAqIHN5bmNocm9uaXppbmcgYWNjZXNzIHRvIGRhdGEuCisgKgorICogUmV0dXJucyBhIG5ldyBzaW1wbGUgbXV0ZXggcG9pbnRlciBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworeG1sTXV0ZXhQdHIKK3htbE5ld011dGV4KHZvaWQpCit7CisgICAgeG1sTXV0ZXhQdHIgdG9rOworCisgICAgaWYgKCh0b2sgPSBtYWxsb2Moc2l6ZW9mKHhtbE11dGV4KSkpID09IE5VTEwpCisgICAgICAgIHJldHVybiAoTlVMTCk7CisjaWZkZWYgSEFWRV9QVEhSRUFEX0gKKyAgICBpZiAobGlieG1sX2lzX3RocmVhZGVkICE9IDApCisgICAgICAgIHB0aHJlYWRfbXV0ZXhfaW5pdCgmdG9rLT5sb2NrLCBOVUxMKTsKKyNlbGlmIGRlZmluZWQgSEFWRV9XSU4zMl9USFJFQURTCisgICAgdG9rLT5tdXRleCA9IENyZWF0ZU11dGV4KE5VTEwsIEZBTFNFLCBOVUxMKTsKKyNlbGlmIGRlZmluZWQgSEFWRV9CRU9TX1RIUkVBRFMKKyAgICBpZiAoKHRvay0+c2VtID0gY3JlYXRlX3NlbSgxLCAieG1sTXV0ZXgiKSkgPCBCX09LKSB7CisgICAgICAgIGZyZWUodG9rKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIHRvay0+dGlkID0gLTE7CisjZW5kaWYKKyAgICByZXR1cm4gKHRvayk7Cit9CisKKy8qKgorICogeG1sRnJlZU11dGV4OgorICogQHRvazogIHRoZSBzaW1wbGUgbXV0ZXgKKyAqCisgKiB4bWxGcmVlTXV0ZXgoKSBpcyB1c2VkIHRvIHJlY2xhaW0gcmVzb3VyY2VzIGFzc29jaWF0ZWQgd2l0aCBhIGxpYnhtbDIgdG9rZW4KKyAqIHN0cnVjdC4KKyAqLwordm9pZAoreG1sRnJlZU11dGV4KHhtbE11dGV4UHRyIHRvaykKK3sKKyAgICBpZiAodG9rID09IE5VTEwpCisgICAgICAgIHJldHVybjsKKworI2lmZGVmIEhBVkVfUFRIUkVBRF9ICisgICAgaWYgKGxpYnhtbF9pc190aHJlYWRlZCAhPSAwKQorICAgICAgICBwdGhyZWFkX211dGV4X2Rlc3Ryb3koJnRvay0+bG9jayk7CisjZWxpZiBkZWZpbmVkIEhBVkVfV0lOMzJfVEhSRUFEUworICAgIENsb3NlSGFuZGxlKHRvay0+bXV0ZXgpOworI2VsaWYgZGVmaW5lZCBIQVZFX0JFT1NfVEhSRUFEUworICAgIGRlbGV0ZV9zZW0odG9rLT5zZW0pOworI2VuZGlmCisgICAgZnJlZSh0b2spOworfQorCisvKioKKyAqIHhtbE11dGV4TG9jazoKKyAqIEB0b2s6ICB0aGUgc2ltcGxlIG11dGV4CisgKgorICogeG1sTXV0ZXhMb2NrKCkgaXMgdXNlZCB0byBsb2NrIGEgbGlieG1sMiB0b2tlbi4KKyAqLwordm9pZAoreG1sTXV0ZXhMb2NrKHhtbE11dGV4UHRyIHRvaykKK3sKKyAgICBpZiAodG9rID09IE5VTEwpCisgICAgICAgIHJldHVybjsKKyNpZmRlZiBIQVZFX1BUSFJFQURfSAorICAgIGlmIChsaWJ4bWxfaXNfdGhyZWFkZWQgIT0gMCkKKyAgICAgICAgcHRocmVhZF9tdXRleF9sb2NrKCZ0b2stPmxvY2spOworI2VsaWYgZGVmaW5lZCBIQVZFX1dJTjMyX1RIUkVBRFMKKyAgICBXYWl0Rm9yU2luZ2xlT2JqZWN0KHRvay0+bXV0ZXgsIElORklOSVRFKTsKKyNlbGlmIGRlZmluZWQgSEFWRV9CRU9TX1RIUkVBRFMKKyAgICBpZiAoYWNxdWlyZV9zZW0odG9rLT5zZW0pICE9IEJfTk9fRVJST1IpIHsKKyNpZmRlZiBERUJVR19USFJFQURTCisgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgInhtbE11dGV4TG9jaygpOkJlT1M6Q291bGRuJ3QgYXF1aXJlIHNlbWFwaG9yZVxuIik7CisjZW5kaWYKKyAgICB9CisgICAgdG9rLT50aWQgPSBmaW5kX3RocmVhZChOVUxMKTsKKyNlbmRpZgorCit9CisKKy8qKgorICogeG1sTXV0ZXhVbmxvY2s6CisgKiBAdG9rOiAgdGhlIHNpbXBsZSBtdXRleAorICoKKyAqIHhtbE11dGV4VW5sb2NrKCkgaXMgdXNlZCB0byB1bmxvY2sgYSBsaWJ4bWwyIHRva2VuLgorICovCit2b2lkCit4bWxNdXRleFVubG9jayh4bWxNdXRleFB0ciB0b2spCit7CisgICAgaWYgKHRvayA9PSBOVUxMKQorICAgICAgICByZXR1cm47CisjaWZkZWYgSEFWRV9QVEhSRUFEX0gKKyAgICBpZiAobGlieG1sX2lzX3RocmVhZGVkICE9IDApCisgICAgICAgIHB0aHJlYWRfbXV0ZXhfdW5sb2NrKCZ0b2stPmxvY2spOworI2VsaWYgZGVmaW5lZCBIQVZFX1dJTjMyX1RIUkVBRFMKKyAgICBSZWxlYXNlTXV0ZXgodG9rLT5tdXRleCk7CisjZWxpZiBkZWZpbmVkIEhBVkVfQkVPU19USFJFQURTCisgICAgaWYgKHRvay0+dGlkID09IGZpbmRfdGhyZWFkKE5VTEwpKSB7CisgICAgICAgIHRvay0+dGlkID0gLTE7CisgICAgICAgIHJlbGVhc2Vfc2VtKHRvay0+c2VtKTsKKyAgICB9CisjZW5kaWYKK30KKworLyoqCisgKiB4bWxOZXdSTXV0ZXg6CisgKgorICogeG1sUk5ld011dGV4KCkgaXMgdXNlZCB0byBhbGxvY2F0ZSBhIHJlZW50cmFudCBtdXRleCBmb3IgdXNlIGluCisgKiBzeW5jaHJvbml6aW5nIGFjY2VzcyB0byBkYXRhLiB0b2tlbl9yIGlzIGEgcmUtZW50cmFudCBsb2NrIGFuZCB0aHVzIHVzZWZ1bAorICogZm9yIHN5bmNocm9uaXppbmcgYWNjZXNzIHRvIGRhdGEgc3RydWN0dXJlcyB0aGF0IG1heSBiZSBtYW5pcHVsYXRlZCBpbiBhCisgKiByZWN1cnNpdmUgZmFzaGlvbi4KKyAqCisgKiBSZXR1cm5zIHRoZSBuZXcgcmVlbnRyYW50IG11dGV4IHBvaW50ZXIgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3htbFJNdXRleFB0cgoreG1sTmV3Uk11dGV4KHZvaWQpCit7CisgICAgeG1sUk11dGV4UHRyIHRvazsKKworICAgIGlmICgodG9rID0gbWFsbG9jKHNpemVvZih4bWxSTXV0ZXgpKSkgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyNpZmRlZiBIQVZFX1BUSFJFQURfSAorICAgIGlmIChsaWJ4bWxfaXNfdGhyZWFkZWQgIT0gMCkgeworICAgICAgICBwdGhyZWFkX211dGV4X2luaXQoJnRvay0+bG9jaywgTlVMTCk7CisgICAgICAgIHRvay0+aGVsZCA9IDA7CisgICAgICAgIHRvay0+d2FpdGVycyA9IDA7CisgICAgICAgIHB0aHJlYWRfY29uZF9pbml0KCZ0b2stPmN2LCBOVUxMKTsKKyAgICB9CisjZWxpZiBkZWZpbmVkIEhBVkVfV0lOMzJfVEhSRUFEUworICAgIEluaXRpYWxpemVDcml0aWNhbFNlY3Rpb24oJnRvay0+Y3MpOworICAgIHRvay0+Y291bnQgPSAwOworI2VsaWYgZGVmaW5lZCBIQVZFX0JFT1NfVEhSRUFEUworICAgIGlmICgodG9rLT5sb2NrID0geG1sTmV3TXV0ZXgoKSkgPT0gTlVMTCkgeworICAgICAgICBmcmVlKHRvayk7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICB0b2stPmNvdW50ID0gMDsKKyNlbmRpZgorICAgIHJldHVybiAodG9rKTsKK30KKworLyoqCisgKiB4bWxGcmVlUk11dGV4OgorICogQHRvazogIHRoZSByZWVudHJhbnQgbXV0ZXgKKyAqCisgKiB4bWxSRnJlZU11dGV4KCkgaXMgdXNlZCB0byByZWNsYWltIHJlc291cmNlcyBhc3NvY2lhdGVkIHdpdGggYQorICogcmVlbnRyYW50IG11dGV4LgorICovCit2b2lkCit4bWxGcmVlUk11dGV4KHhtbFJNdXRleFB0ciB0b2sgQVRUUklCVVRFX1VOVVNFRCkKK3sKKyAgICBpZiAodG9rID09IE5VTEwpCisgICAgICAgIHJldHVybjsKKyNpZmRlZiBIQVZFX1BUSFJFQURfSAorICAgIGlmIChsaWJ4bWxfaXNfdGhyZWFkZWQgIT0gMCkgeworICAgICAgICBwdGhyZWFkX211dGV4X2Rlc3Ryb3koJnRvay0+bG9jayk7CisgICAgICAgIHB0aHJlYWRfY29uZF9kZXN0cm95KCZ0b2stPmN2KTsKKyAgICB9CisjZWxpZiBkZWZpbmVkIEhBVkVfV0lOMzJfVEhSRUFEUworICAgIERlbGV0ZUNyaXRpY2FsU2VjdGlvbigmdG9rLT5jcyk7CisjZWxpZiBkZWZpbmVkIEhBVkVfQkVPU19USFJFQURTCisgICAgeG1sRnJlZU11dGV4KHRvay0+bG9jayk7CisjZW5kaWYKKyAgICBmcmVlKHRvayk7Cit9CisKKy8qKgorICogeG1sUk11dGV4TG9jazoKKyAqIEB0b2s6ICB0aGUgcmVlbnRyYW50IG11dGV4CisgKgorICogeG1sUk11dGV4TG9jaygpIGlzIHVzZWQgdG8gbG9jayBhIGxpYnhtbDIgdG9rZW5fci4KKyAqLwordm9pZAoreG1sUk11dGV4TG9jayh4bWxSTXV0ZXhQdHIgdG9rKQoreworICAgIGlmICh0b2sgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuOworI2lmZGVmIEhBVkVfUFRIUkVBRF9ICisgICAgaWYgKGxpYnhtbF9pc190aHJlYWRlZCA9PSAwKQorICAgICAgICByZXR1cm47CisKKyAgICBwdGhyZWFkX211dGV4X2xvY2soJnRvay0+bG9jayk7CisgICAgaWYgKHRvay0+aGVsZCkgeworICAgICAgICBpZiAocHRocmVhZF9lcXVhbCh0b2stPnRpZCwgcHRocmVhZF9zZWxmKCkpKSB7CisgICAgICAgICAgICB0b2stPmhlbGQrKzsKKyAgICAgICAgICAgIHB0aHJlYWRfbXV0ZXhfdW5sb2NrKCZ0b2stPmxvY2spOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgdG9rLT53YWl0ZXJzKys7CisgICAgICAgICAgICB3aGlsZSAodG9rLT5oZWxkKQorICAgICAgICAgICAgICAgIHB0aHJlYWRfY29uZF93YWl0KCZ0b2stPmN2LCAmdG9rLT5sb2NrKTsKKyAgICAgICAgICAgIHRvay0+d2FpdGVycy0tOworICAgICAgICB9CisgICAgfQorICAgIHRvay0+dGlkID0gcHRocmVhZF9zZWxmKCk7CisgICAgdG9rLT5oZWxkID0gMTsKKyAgICBwdGhyZWFkX211dGV4X3VubG9jaygmdG9rLT5sb2NrKTsKKyNlbGlmIGRlZmluZWQgSEFWRV9XSU4zMl9USFJFQURTCisgICAgRW50ZXJDcml0aWNhbFNlY3Rpb24oJnRvay0+Y3MpOworICAgIHRvay0+Y291bnQrKzsKKyNlbGlmIGRlZmluZWQgSEFWRV9CRU9TX1RIUkVBRFMKKyAgICBpZiAodG9rLT5sb2NrLT50aWQgPT0gZmluZF90aHJlYWQoTlVMTCkpIHsKKyAgICAgICAgdG9rLT5jb3VudCsrOworICAgICAgICByZXR1cm47CisgICAgfSBlbHNlIHsKKyAgICAgICAgeG1sTXV0ZXhMb2NrKHRvay0+bG9jayk7CisgICAgICAgIHRvay0+Y291bnQgPSAxOworICAgIH0KKyNlbmRpZgorfQorCisvKioKKyAqIHhtbFJNdXRleFVubG9jazoKKyAqIEB0b2s6ICB0aGUgcmVlbnRyYW50IG11dGV4CisgKgorICogeG1sUk11dGV4VW5sb2NrKCkgaXMgdXNlZCB0byB1bmxvY2sgYSBsaWJ4bWwyIHRva2VuX3IuCisgKi8KK3ZvaWQKK3htbFJNdXRleFVubG9jayh4bWxSTXV0ZXhQdHIgdG9rIEFUVFJJQlVURV9VTlVTRUQpCit7CisgICAgaWYgKHRvayA9PSBOVUxMKQorICAgICAgICByZXR1cm47CisjaWZkZWYgSEFWRV9QVEhSRUFEX0gKKyAgICBpZiAobGlieG1sX2lzX3RocmVhZGVkID09IDApCisgICAgICAgIHJldHVybjsKKworICAgIHB0aHJlYWRfbXV0ZXhfbG9jaygmdG9rLT5sb2NrKTsKKyAgICB0b2stPmhlbGQtLTsKKyAgICBpZiAodG9rLT5oZWxkID09IDApIHsKKyAgICAgICAgaWYgKHRvay0+d2FpdGVycykKKyAgICAgICAgICAgIHB0aHJlYWRfY29uZF9zaWduYWwoJnRvay0+Y3YpOworICAgICAgICBtZW1zZXQoJnRvay0+dGlkLCAwLCBzaXplb2YodG9rLT50aWQpKTsKKyAgICB9CisgICAgcHRocmVhZF9tdXRleF91bmxvY2soJnRvay0+bG9jayk7CisjZWxpZiBkZWZpbmVkIEhBVkVfV0lOMzJfVEhSRUFEUworICAgIGlmICh0b2stPmNvdW50ID4gMCkgeworICAgICAgICBMZWF2ZUNyaXRpY2FsU2VjdGlvbigmdG9rLT5jcyk7CisJdG9rLT5jb3VudC0tOworICAgIH0KKyNlbGlmIGRlZmluZWQgSEFWRV9CRU9TX1RIUkVBRFMKKyAgICBpZiAodG9rLT5sb2NrLT50aWQgPT0gZmluZF90aHJlYWQoTlVMTCkpIHsKKyAgICAgICAgdG9rLT5jb3VudC0tOworICAgICAgICBpZiAodG9rLT5jb3VudCA9PSAwKSB7CisgICAgICAgICAgICB4bWxNdXRleFVubG9jayh0b2stPmxvY2spOworICAgICAgICB9CisgICAgICAgIHJldHVybjsKKyAgICB9CisjZW5kaWYKK30KKworLyoqCisgKiB4bWxHbG9iYWxJbml0TXV0ZXhMb2NrCisgKgorICogTWFrZXMgc3VyZSB0aGF0IHRoZSBnbG9iYWwgaW5pdGlhbGl6YXRpb24gbXV0ZXggaXMgaW5pdGlhbGl6ZWQgYW5kCisgKiBsb2NrcyBpdC4KKyAqLwordm9pZAorX194bWxHbG9iYWxJbml0TXV0ZXhMb2NrKHZvaWQpCit7CisgICAgLyogTWFrZSBzdXJlIHRoZSBnbG9iYWwgaW5pdCBsb2NrIGlzIGluaXRpYWxpemVkIGFuZCB0aGVuIGxvY2sgaXQuICovCisjaWZkZWYgSEFWRV9QVEhSRUFEX0gKKyAgICAvKiBUaGUgbXV0ZXggaXMgc3RhdGljYWxseSBpbml0aWFsaXplZCwgc28gd2UganVzdCBsb2NrIGl0LiAqLworICAgIGlmIChwdGhyZWFkX211dGV4X2xvY2sgIT0gTlVMTCkKKyAgICAgICAgcHRocmVhZF9tdXRleF9sb2NrKCZnbG9iYWxfaW5pdF9sb2NrKTsKKyNlbGlmIGRlZmluZWQgSEFWRV9XSU4zMl9USFJFQURTCisgICAgTFBDUklUSUNBTF9TRUNUSU9OIGNzOworCisgICAgLyogQ3JlYXRlIGEgbmV3IGNyaXRpY2FsIHNlY3Rpb24gKi8KKyAgICBpZiAoZ2xvYmFsX2luaXRfbG9jayA9PSBOVUxMKSB7CisgICAgICAgIGNzID0gbWFsbG9jKHNpemVvZihDUklUSUNBTF9TRUNUSU9OKSk7CisgICAgICAgIGlmIChjcyA9PSBOVUxMKSB7CisgICAgICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAieG1sR2xvYmFsSW5pdE11dGV4TG9jazogb3V0IG9mIG1lbW9yeVxuIik7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgSW5pdGlhbGl6ZUNyaXRpY2FsU2VjdGlvbihjcyk7CisKKyAgICAgICAgLyogU3dhcCBpdCBpbnRvIHRoZSBnbG9iYWxfaW5pdF9sb2NrICovCisjaWZkZWYgSW50ZXJsb2NrZWRDb21wYXJlRXhjaGFuZ2VQb2ludGVyCisgICAgICAgIEludGVybG9ja2VkQ29tcGFyZUV4Y2hhbmdlUG9pbnRlcigmZ2xvYmFsX2luaXRfbG9jaywgY3MsIE5VTEwpOworI2Vsc2UgLyogVXNlIG9sZGVyIHZvaWQqIHZlcnNpb24gKi8KKyAgICAgICAgSW50ZXJsb2NrZWRDb21wYXJlRXhjaGFuZ2UoKHZvaWQgKiopICZnbG9iYWxfaW5pdF9sb2NrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodm9pZCAqKSBjcywgTlVMTCk7CisjZW5kaWYgLyogSW50ZXJsb2NrZWRDb21wYXJlRXhjaGFuZ2VQb2ludGVyICovCisKKyAgICAgICAgLyogSWYgYW5vdGhlciB0aHJlYWQgc3VjY2Vzc2Z1bGx5IHJlY29yZGVkIGl0cyBjcml0aWNhbAorICAgICAgICAgKiBzZWN0aW9uIGluIHRoZSBnbG9iYWxfaW5pdF9sb2NrIHRoZW4gZGlzY2FyZCB0aGUgb25lCisgICAgICAgICAqIGFsbG9jYXRlZCBieSB0aGlzIHRocmVhZC4gKi8KKyAgICAgICAgaWYgKGdsb2JhbF9pbml0X2xvY2sgIT0gY3MpIHsKKyAgICAgICAgICAgIERlbGV0ZUNyaXRpY2FsU2VjdGlvbihjcyk7CisgICAgICAgICAgICBmcmVlKGNzKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIC8qIExvY2sgdGhlIGNob3NlbiBjcml0aWNhbCBzZWN0aW9uICovCisgICAgRW50ZXJDcml0aWNhbFNlY3Rpb24oZ2xvYmFsX2luaXRfbG9jayk7CisjZWxpZiBkZWZpbmVkIEhBVkVfQkVPU19USFJFQURTCisgICAgaW50MzIgc2VtOworCisgICAgLyogQWxsb2NhdGUgYSBuZXcgc2VtYXBob3JlICovCisgICAgc2VtID0gY3JlYXRlX3NlbSgxLCAieG1sR2xvYmFsaW5pdE11dGV4Iik7CisKKyAgICB3aGlsZSAoZ2xvYmFsX2luaXRfbG9jayA9PSAtMSkgeworICAgICAgICBpZiAoYXRvbWljX2FkZCgmZ2xvYmFsX2luaXRfY291bnQsIDEpID09IDApIHsKKyAgICAgICAgICAgIGdsb2JhbF9pbml0X2xvY2sgPSBzZW07CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBzbm9vemUoMSk7CisgICAgICAgICAgICBhdG9taWNfYWRkKCZnbG9iYWxfaW5pdF9jb3VudCwgLTEpOworICAgICAgICB9CisgICAgfQorCisgICAgLyogSWYgYW5vdGhlciB0aHJlYWQgc3VjY2Vzc2Z1bGx5IHJlY29yZGVkIGl0cyBjcml0aWNhbAorICAgICAqIHNlY3Rpb24gaW4gdGhlIGdsb2JhbF9pbml0X2xvY2sgdGhlbiBkaXNjYXJkIHRoZSBvbmUKKyAgICAgKiBhbGxvY2F0ZWQgYnkgdGhpcyB0aHJlYWQuICovCisgICAgaWYgKGdsb2JhbF9pbml0X2xvY2sgIT0gc2VtKQorICAgICAgICBkZWxldGVfc2VtKHNlbSk7CisKKyAgICAvKiBBY3F1aXJlIHRoZSBjaG9zZW4gc2VtYXBob3JlICovCisgICAgaWYgKGFjcXVpcmVfc2VtKGdsb2JhbF9pbml0X2xvY2spICE9IEJfTk9fRVJST1IpIHsKKyNpZmRlZiBERUJVR19USFJFQURTCisgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgInhtbEdsb2JhbEluaXRNdXRleExvY2soKTpCZU9TOkNvdWxkbid0IGFjcXVpcmUgc2VtYXBob3JlXG4iKTsKKyNlbmRpZgorICAgIH0KKyNlbmRpZgorfQorCit2b2lkCitfX3htbEdsb2JhbEluaXRNdXRleFVubG9jayh2b2lkKQoreworI2lmZGVmIEhBVkVfUFRIUkVBRF9ICisgICAgaWYgKHB0aHJlYWRfbXV0ZXhfdW5sb2NrICE9IE5VTEwpCisgICAgICAgIHB0aHJlYWRfbXV0ZXhfdW5sb2NrKCZnbG9iYWxfaW5pdF9sb2NrKTsKKyNlbGlmIGRlZmluZWQgSEFWRV9XSU4zMl9USFJFQURTCisgICAgaWYgKGdsb2JhbF9pbml0X2xvY2sgIT0gTlVMTCkgeworCUxlYXZlQ3JpdGljYWxTZWN0aW9uKGdsb2JhbF9pbml0X2xvY2spOworICAgIH0KKyNlbGlmIGRlZmluZWQgSEFWRV9CRU9TX1RIUkVBRFMKKyAgICByZWxlYXNlX3NlbShnbG9iYWxfaW5pdF9sb2NrKTsKKyNlbmRpZgorfQorCisvKioKKyAqIHhtbEdsb2JhbEluaXRNdXRleERlc3Ryb3kKKyAqCisgKiBNYWtlcyBzdXJlIHRoYXQgdGhlIGdsb2JhbCBpbml0aWFsaXphdGlvbiBtdXRleCBpcyBkZXN0cm95ZWQgYmVmb3JlCisgKiBhcHBsaWNhdGlvbiB0ZXJtaW5hdGlvbi4KKyAqLwordm9pZAorX194bWxHbG9iYWxJbml0TXV0ZXhEZXN0cm95KHZvaWQpCit7CisjaWZkZWYgSEFWRV9QVEhSRUFEX0gKKyNlbGlmIGRlZmluZWQgSEFWRV9XSU4zMl9USFJFQURTCisgICAgaWYgKGdsb2JhbF9pbml0X2xvY2sgIT0gTlVMTCkgeworICAgICAgICBEZWxldGVDcml0aWNhbFNlY3Rpb24oZ2xvYmFsX2luaXRfbG9jayk7CisgICAgICAgIGZyZWUoZ2xvYmFsX2luaXRfbG9jayk7CisgICAgICAgIGdsb2JhbF9pbml0X2xvY2sgPSBOVUxMOworICAgIH0KKyNlbmRpZgorfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQkJUGVyIHRocmVhZCBnbG9iYWwgc3RhdGUgaGFuZGxpbmcJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmZGVmIExJQlhNTF9USFJFQURfRU5BQkxFRAorI2lmZGVmIHhtbExhc3RFcnJvcgorI3VuZGVmIHhtbExhc3RFcnJvcgorI2VuZGlmCisKKy8qKgorICogeG1sRnJlZUdsb2JhbFN0YXRlOgorICogQHN0YXRlOiAgYSB0aHJlYWQgZ2xvYmFsIHN0YXRlCisgKgorICogeG1sRnJlZUdsb2JhbFN0YXRlKCkgaXMgY2FsbGVkIHdoZW4gYSB0aHJlYWQgdGVybWluYXRlcyB3aXRoIGEgbm9uLU5VTEwKKyAqIGdsb2JhbCBzdGF0ZS4gSXQgaXMgaXMgdXNlZCBoZXJlIHRvIHJlY2xhaW0gbWVtb3J5IHJlc291cmNlcy4KKyAqLworc3RhdGljIHZvaWQKK3htbEZyZWVHbG9iYWxTdGF0ZSh2b2lkICpzdGF0ZSkKK3sKKyAgICB4bWxHbG9iYWxTdGF0ZSAqZ3MgPSAoeG1sR2xvYmFsU3RhdGUgKikgc3RhdGU7CisKKyAgICAvKiBmcmVlIGFueSBtZW1vcnkgYWxsb2NhdGVkIGluIHRoZSB0aHJlYWQncyB4bWxMYXN0RXJyb3IgKi8KKyAgICB4bWxSZXNldEVycm9yKCYoZ3MtPnhtbExhc3RFcnJvcikpOworICAgIGZyZWUoc3RhdGUpOworfQorCisvKioKKyAqIHhtbE5ld0dsb2JhbFN0YXRlOgorICoKKyAqIHhtbE5ld0dsb2JhbFN0YXRlKCkgYWxsb2NhdGVzIGEgZ2xvYmFsIHN0YXRlLiBUaGlzIHN0cnVjdHVyZSBpcyB1c2VkIHRvCisgKiBob2xkIGFsbCBkYXRhIGZvciB1c2UgYnkgYSB0aHJlYWQgd2hlbiBzdXBwb3J0aW5nIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5CisgKiBvZiBsaWJ4bWwyIHRvIHByZS10aHJlYWQtc2FmZSBiZWhhdmlvdXIuCisgKgorICogUmV0dXJucyB0aGUgbmV3bHkgYWxsb2NhdGVkIHhtbEdsb2JhbFN0YXRlUHRyIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcgorICovCitzdGF0aWMgeG1sR2xvYmFsU3RhdGVQdHIKK3htbE5ld0dsb2JhbFN0YXRlKHZvaWQpCit7CisgICAgeG1sR2xvYmFsU3RhdGUgKmdzOworCisgICAgZ3MgPSBtYWxsb2Moc2l6ZW9mKHhtbEdsb2JhbFN0YXRlKSk7CisgICAgaWYgKGdzID09IE5VTEwpIHsKKwl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJCSJ4bWxHZXRHbG9iYWxTdGF0ZTogb3V0IG9mIG1lbW9yeVxuIik7CisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgfQorCisgICAgbWVtc2V0KGdzLCAwLCBzaXplb2YoeG1sR2xvYmFsU3RhdGUpKTsKKyAgICB4bWxJbml0aWFsaXplR2xvYmFsU3RhdGUoZ3MpOworICAgIHJldHVybiAoZ3MpOworfQorI2VuZGlmIC8qIExJQlhNTF9USFJFQURfRU5BQkxFRCAqLworCisjaWZkZWYgSEFWRV9QVEhSRUFEX0gKKyNlbGlmIGRlZmluZWQgSEFWRV9XSU4zMl9USFJFQURTCisjaWYgIWRlZmluZWQoSEFWRV9DT01QSUxFUl9UTFMpCisjaWYgZGVmaW5lZChMSUJYTUxfU1RBVElDKSAmJiAhZGVmaW5lZChMSUJYTUxfU1RBVElDX0ZPUl9ETEwpCit0eXBlZGVmIHN0cnVjdCBfeG1sR2xvYmFsU3RhdGVDbGVhbnVwSGVscGVyUGFyYW1zIHsKKyAgICBIQU5ETEUgdGhyZWFkOworICAgIHZvaWQgKm1lbW9yeTsKK30geG1sR2xvYmFsU3RhdGVDbGVhbnVwSGVscGVyUGFyYW1zOworCitzdGF0aWMgdm9pZCBYTUxDREVDTAoreG1sR2xvYmFsU3RhdGVDbGVhbnVwSGVscGVyKHZvaWQgKnApCit7CisgICAgeG1sR2xvYmFsU3RhdGVDbGVhbnVwSGVscGVyUGFyYW1zICpwYXJhbXMgPQorICAgICAgICAoeG1sR2xvYmFsU3RhdGVDbGVhbnVwSGVscGVyUGFyYW1zICopIHA7CisgICAgV2FpdEZvclNpbmdsZU9iamVjdChwYXJhbXMtPnRocmVhZCwgSU5GSU5JVEUpOworICAgIENsb3NlSGFuZGxlKHBhcmFtcy0+dGhyZWFkKTsKKyAgICB4bWxGcmVlR2xvYmFsU3RhdGUocGFyYW1zLT5tZW1vcnkpOworICAgIGZyZWUocGFyYW1zKTsKKyAgICBfZW5kdGhyZWFkKCk7Cit9CisjZWxzZSAvKiBMSUJYTUxfU1RBVElDICYmICFMSUJYTUxfU1RBVElDX0ZPUl9ETEwgKi8KKwordHlwZWRlZiBzdHJ1Y3QgX3htbEdsb2JhbFN0YXRlQ2xlYW51cEhlbHBlclBhcmFtcyB7CisgICAgdm9pZCAqbWVtb3J5OworICAgIHN0cnVjdCBfeG1sR2xvYmFsU3RhdGVDbGVhbnVwSGVscGVyUGFyYW1zICpwcmV2OworICAgIHN0cnVjdCBfeG1sR2xvYmFsU3RhdGVDbGVhbnVwSGVscGVyUGFyYW1zICpuZXh0OworfSB4bWxHbG9iYWxTdGF0ZUNsZWFudXBIZWxwZXJQYXJhbXM7CisKK3N0YXRpYyB4bWxHbG9iYWxTdGF0ZUNsZWFudXBIZWxwZXJQYXJhbXMgKmNsZWFudXBfaGVscGVyc19oZWFkID0gTlVMTDsKK3N0YXRpYyBDUklUSUNBTF9TRUNUSU9OIGNsZWFudXBfaGVscGVyc19jczsKKworI2VuZGlmIC8qIExJQlhNTFNUQVRJQyAmJiAhTElCWE1MX1NUQVRJQ19GT1JfRExMICovCisjZW5kaWYgLyogSEFWRV9DT01QSUxFUl9UTFMgKi8KKyNlbmRpZiAvKiBIQVZFX1dJTjMyX1RIUkVBRFMgKi8KKworI2lmIGRlZmluZWQgSEFWRV9CRU9TX1RIUkVBRFMKKworLyoqCisgKiB4bWxHbG9iYWxTdGF0ZUNsZWFudXA6CisgKiBAZGF0YTogdW51c2VkIHBhcmFtZXRlcgorICoKKyAqIFVzZWQgZm9yIEJlb3Mgb25seQorICovCit2b2lkCit4bWxHbG9iYWxTdGF0ZUNsZWFudXAodm9pZCAqZGF0YSkKK3sKKyAgICB2b2lkICpnbG9iYWx2YWwgPSB0bHNfZ2V0KGdsb2JhbGtleSk7CisKKyAgICBpZiAoZ2xvYmFsdmFsICE9IE5VTEwpCisgICAgICAgIHhtbEZyZWVHbG9iYWxTdGF0ZShnbG9iYWx2YWwpOworfQorI2VuZGlmCisKKy8qKgorICogeG1sR2V0R2xvYmFsU3RhdGU6CisgKgorICogeG1sR2V0R2xvYmFsU3RhdGUoKSBpcyBjYWxsZWQgdG8gcmV0cmlldmUgdGhlIGdsb2JhbCBzdGF0ZSBmb3IgYSB0aHJlYWQuCisgKgorICogUmV0dXJucyB0aGUgdGhyZWFkIGdsb2JhbCBzdGF0ZSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworeG1sR2xvYmFsU3RhdGVQdHIKK3htbEdldEdsb2JhbFN0YXRlKHZvaWQpCit7CisjaWZkZWYgSEFWRV9QVEhSRUFEX0gKKyAgICB4bWxHbG9iYWxTdGF0ZSAqZ2xvYmFsdmFsOworCisgICAgaWYgKGxpYnhtbF9pc190aHJlYWRlZCA9PSAwKQorICAgICAgICByZXR1cm4gKE5VTEwpOworCisgICAgcHRocmVhZF9vbmNlKCZvbmNlX2NvbnRyb2wsIHhtbE9uY2VJbml0KTsKKworICAgIGlmICgoZ2xvYmFsdmFsID0gKHhtbEdsb2JhbFN0YXRlICopCisgICAgICAgICBwdGhyZWFkX2dldHNwZWNpZmljKGdsb2JhbGtleSkpID09IE5VTEwpIHsKKyAgICAgICAgeG1sR2xvYmFsU3RhdGUgKnRzZCA9IHhtbE5ld0dsb2JhbFN0YXRlKCk7CisJaWYgKHRzZCA9PSBOVUxMKQorCSAgICByZXR1cm4oTlVMTCk7CisKKyAgICAgICAgcHRocmVhZF9zZXRzcGVjaWZpYyhnbG9iYWxrZXksIHRzZCk7CisgICAgICAgIHJldHVybiAodHNkKTsKKyAgICB9CisgICAgcmV0dXJuIChnbG9iYWx2YWwpOworI2VsaWYgZGVmaW5lZCBIQVZFX1dJTjMyX1RIUkVBRFMKKyNpZiBkZWZpbmVkKEhBVkVfQ09NUElMRVJfVExTKQorICAgIGlmICghdGxzdGF0ZV9pbml0ZWQpIHsKKyAgICAgICAgdGxzdGF0ZV9pbml0ZWQgPSAxOworICAgICAgICB4bWxJbml0aWFsaXplR2xvYmFsU3RhdGUoJnRsc3RhdGUpOworICAgIH0KKyAgICByZXR1cm4gJnRsc3RhdGU7CisjZWxzZSAvKiBIQVZFX0NPTVBJTEVSX1RMUyAqLworICAgIHhtbEdsb2JhbFN0YXRlICpnbG9iYWx2YWw7CisgICAgeG1sR2xvYmFsU3RhdGVDbGVhbnVwSGVscGVyUGFyYW1zICpwOworCisgICAgeG1sT25jZUluaXQoKTsKKyNpZiBkZWZpbmVkKExJQlhNTF9TVEFUSUMpICYmICFkZWZpbmVkKExJQlhNTF9TVEFUSUNfRk9SX0RMTCkKKyAgICBnbG9iYWx2YWwgPSAoeG1sR2xvYmFsU3RhdGUgKikgVGxzR2V0VmFsdWUoZ2xvYmFsa2V5KTsKKyNlbHNlCisgICAgcCA9ICh4bWxHbG9iYWxTdGF0ZUNsZWFudXBIZWxwZXJQYXJhbXMgKikgVGxzR2V0VmFsdWUoZ2xvYmFsa2V5KTsKKyAgICBnbG9iYWx2YWwgPSAoeG1sR2xvYmFsU3RhdGUgKikgKHAgPyBwLT5tZW1vcnkgOiBOVUxMKTsKKyNlbmRpZgorICAgIGlmIChnbG9iYWx2YWwgPT0gTlVMTCkgeworICAgICAgICB4bWxHbG9iYWxTdGF0ZSAqdHNkID0geG1sTmV3R2xvYmFsU3RhdGUoKTsKKworICAgICAgICBpZiAodHNkID09IE5VTEwpCisJICAgIHJldHVybihOVUxMKTsKKyAgICAgICAgcCA9ICh4bWxHbG9iYWxTdGF0ZUNsZWFudXBIZWxwZXJQYXJhbXMgKikKKyAgICAgICAgICAgIG1hbGxvYyhzaXplb2YoeG1sR2xvYmFsU3RhdGVDbGVhbnVwSGVscGVyUGFyYW1zKSk7CisJaWYgKHAgPT0gTlVMTCkgeworICAgICAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgInhtbEdldEdsb2JhbFN0YXRlOiBvdXQgb2YgbWVtb3J5XG4iKTsKKyAgICAgICAgICAgIHhtbEZyZWVHbG9iYWxTdGF0ZSh0c2QpOworCSAgICByZXR1cm4oTlVMTCk7CisJfQorICAgICAgICBwLT5tZW1vcnkgPSB0c2Q7CisjaWYgZGVmaW5lZChMSUJYTUxfU1RBVElDKSAmJiAhZGVmaW5lZChMSUJYTUxfU1RBVElDX0ZPUl9ETEwpCisgICAgICAgIER1cGxpY2F0ZUhhbmRsZShHZXRDdXJyZW50UHJvY2VzcygpLCBHZXRDdXJyZW50VGhyZWFkKCksCisgICAgICAgICAgICAgICAgICAgICAgICBHZXRDdXJyZW50UHJvY2VzcygpLCAmcC0+dGhyZWFkLCAwLCBUUlVFLAorICAgICAgICAgICAgICAgICAgICAgICAgRFVQTElDQVRFX1NBTUVfQUNDRVNTKTsKKyAgICAgICAgVGxzU2V0VmFsdWUoZ2xvYmFsa2V5LCB0c2QpOworICAgICAgICBfYmVnaW50aHJlYWQoeG1sR2xvYmFsU3RhdGVDbGVhbnVwSGVscGVyLCAwLCBwKTsKKyNlbHNlCisgICAgICAgIEVudGVyQ3JpdGljYWxTZWN0aW9uKCZjbGVhbnVwX2hlbHBlcnNfY3MpOworICAgICAgICBpZiAoY2xlYW51cF9oZWxwZXJzX2hlYWQgIT0gTlVMTCkgeworICAgICAgICAgICAgY2xlYW51cF9oZWxwZXJzX2hlYWQtPnByZXYgPSBwOworICAgICAgICB9CisgICAgICAgIHAtPm5leHQgPSBjbGVhbnVwX2hlbHBlcnNfaGVhZDsKKyAgICAgICAgcC0+cHJldiA9IE5VTEw7CisgICAgICAgIGNsZWFudXBfaGVscGVyc19oZWFkID0gcDsKKyAgICAgICAgVGxzU2V0VmFsdWUoZ2xvYmFsa2V5LCBwKTsKKyAgICAgICAgTGVhdmVDcml0aWNhbFNlY3Rpb24oJmNsZWFudXBfaGVscGVyc19jcyk7CisjZW5kaWYKKworICAgICAgICByZXR1cm4gKHRzZCk7CisgICAgfQorICAgIHJldHVybiAoZ2xvYmFsdmFsKTsKKyNlbmRpZiAvKiBIQVZFX0NPTVBJTEVSX1RMUyAqLworI2VsaWYgZGVmaW5lZCBIQVZFX0JFT1NfVEhSRUFEUworICAgIHhtbEdsb2JhbFN0YXRlICpnbG9iYWx2YWw7CisKKyAgICB4bWxPbmNlSW5pdCgpOworCisgICAgaWYgKChnbG9iYWx2YWwgPSAoeG1sR2xvYmFsU3RhdGUgKikgdGxzX2dldChnbG9iYWxrZXkpKSA9PSBOVUxMKSB7CisgICAgICAgIHhtbEdsb2JhbFN0YXRlICp0c2QgPSB4bWxOZXdHbG9iYWxTdGF0ZSgpOworCWlmICh0c2QgPT0gTlVMTCkKKwkgICAgcmV0dXJuIChOVUxMKTsKKworICAgICAgICB0bHNfc2V0KGdsb2JhbGtleSwgdHNkKTsKKyAgICAgICAgb25fZXhpdF90aHJlYWQoeG1sR2xvYmFsU3RhdGVDbGVhbnVwLCBOVUxMKTsKKyAgICAgICAgcmV0dXJuICh0c2QpOworICAgIH0KKyAgICByZXR1cm4gKGdsb2JhbHZhbCk7CisjZWxzZQorICAgIHJldHVybiAoTlVMTCk7CisjZW5kaWYKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJCUxpYnJhcnkgd2lkZSB0aHJlYWQgaW50ZXJmYWNlcwkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqCisgKiB4bWxHZXRUaHJlYWRJZDoKKyAqCisgKiB4bWxHZXRUaHJlYWRJZCgpIGZpbmQgdGhlIGN1cnJlbnQgdGhyZWFkIElEIG51bWJlcgorICogTm90ZSB0aGF0IHRoaXMgaXMgbGlrZWx5IHRvIGJlIGJyb2tlbiBvbiBzb21lIHBsYXRmb3JtcyB1c2luZyBwdGhyZWFkcworICogYXMgdGhlIHNwZWNpZmljYXRpb24gZG9lc24ndCBtYW5kYXRlIHB0aHJlYWRfdCB0byBiZSBhbiBpbnRlZ2VyIHR5cGUKKyAqCisgKiBSZXR1cm5zIHRoZSBjdXJyZW50IHRocmVhZCBJRCBudW1iZXIKKyAqLworaW50Cit4bWxHZXRUaHJlYWRJZCh2b2lkKQoreworI2lmZGVmIEhBVkVfUFRIUkVBRF9ICisgICAgcHRocmVhZF90IGlkOworICAgIGludCByZXQ7CisKKyAgICBpZiAobGlieG1sX2lzX3RocmVhZGVkID09IDApCisgICAgICAgIHJldHVybiAoMCk7CisgICAgaWQgPSBwdGhyZWFkX3NlbGYoKTsKKyAgICAvKiBob3JyaWJsZSBidXQgcHJlc2VydmVzIGNvbXBhdCwgc2VlIHdhcm5pbmcgYWJvdmUgKi8KKyAgICBtZW1jcHkoJnJldCwgJmlkLCBzaXplb2YocmV0KSk7CisgICAgcmV0dXJuIChyZXQpOworI2VsaWYgZGVmaW5lZCBIQVZFX1dJTjMyX1RIUkVBRFMKKyAgICByZXR1cm4gR2V0Q3VycmVudFRocmVhZElkKCk7CisjZWxpZiBkZWZpbmVkIEhBVkVfQkVPU19USFJFQURTCisgICAgcmV0dXJuIGZpbmRfdGhyZWFkKE5VTEwpOworI2Vsc2UKKyAgICByZXR1cm4gKChpbnQpIDApOworI2VuZGlmCit9CisKKy8qKgorICogeG1sSXNNYWluVGhyZWFkOgorICoKKyAqIHhtbElzTWFpblRocmVhZCgpIGNoZWNrIHdoZXRoZXIgdGhlIGN1cnJlbnQgdGhyZWFkIGlzIHRoZSBtYWluIHRocmVhZC4KKyAqCisgKiBSZXR1cm5zIDEgaWYgdGhlIGN1cnJlbnQgdGhyZWFkIGlzIHRoZSBtYWluIHRocmVhZCwgMCBvdGhlcndpc2UKKyAqLworaW50Cit4bWxJc01haW5UaHJlYWQodm9pZCkKK3sKKyNpZmRlZiBIQVZFX1BUSFJFQURfSAorICAgIGlmIChsaWJ4bWxfaXNfdGhyZWFkZWQgPT0gLTEpCisgICAgICAgIHhtbEluaXRUaHJlYWRzKCk7CisgICAgaWYgKGxpYnhtbF9pc190aHJlYWRlZCA9PSAwKQorICAgICAgICByZXR1cm4gKDEpOworICAgIHB0aHJlYWRfb25jZSgmb25jZV9jb250cm9sLCB4bWxPbmNlSW5pdCk7CisjZWxpZiBkZWZpbmVkIEhBVkVfV0lOMzJfVEhSRUFEUworICAgIHhtbE9uY2VJbml0KCk7CisjZWxpZiBkZWZpbmVkIEhBVkVfQkVPU19USFJFQURTCisgICAgeG1sT25jZUluaXQoKTsKKyNlbmRpZgorCisjaWZkZWYgREVCVUdfVEhSRUFEUworICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCAieG1sSXNNYWluVGhyZWFkKClcbiIpOworI2VuZGlmCisjaWZkZWYgSEFWRV9QVEhSRUFEX0gKKyAgICByZXR1cm4gKHB0aHJlYWRfZXF1YWwobWFpbnRocmVhZCxwdGhyZWFkX3NlbGYoKSkpOworI2VsaWYgZGVmaW5lZCBIQVZFX1dJTjMyX1RIUkVBRFMKKyAgICByZXR1cm4gKG1haW50aHJlYWQgPT0gR2V0Q3VycmVudFRocmVhZElkKCkpOworI2VsaWYgZGVmaW5lZCBIQVZFX0JFT1NfVEhSRUFEUworICAgIHJldHVybiAobWFpbnRocmVhZCA9PSBmaW5kX3RocmVhZChOVUxMKSk7CisjZWxzZQorICAgIHJldHVybiAoMSk7CisjZW5kaWYKK30KKworLyoqCisgKiB4bWxMb2NrTGlicmFyeToKKyAqCisgKiB4bWxMb2NrTGlicmFyeSgpIGlzIHVzZWQgdG8gdGFrZSBvdXQgYSByZS1lbnRyYW50IGxvY2sgb24gdGhlIGxpYnhtbDIKKyAqIGxpYnJhcnkuCisgKi8KK3ZvaWQKK3htbExvY2tMaWJyYXJ5KHZvaWQpCit7CisjaWZkZWYgREVCVUdfVEhSRUFEUworICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCAieG1sTG9ja0xpYnJhcnkoKVxuIik7CisjZW5kaWYKKyAgICB4bWxSTXV0ZXhMb2NrKHhtbExpYnJhcnlMb2NrKTsKK30KKworLyoqCisgKiB4bWxVbmxvY2tMaWJyYXJ5OgorICoKKyAqIHhtbFVubG9ja0xpYnJhcnkoKSBpcyB1c2VkIHRvIHJlbGVhc2UgYSByZS1lbnRyYW50IGxvY2sgb24gdGhlIGxpYnhtbDIKKyAqIGxpYnJhcnkuCisgKi8KK3ZvaWQKK3htbFVubG9ja0xpYnJhcnkodm9pZCkKK3sKKyNpZmRlZiBERUJVR19USFJFQURTCisgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICJ4bWxVbmxvY2tMaWJyYXJ5KClcbiIpOworI2VuZGlmCisgICAgeG1sUk11dGV4VW5sb2NrKHhtbExpYnJhcnlMb2NrKTsKK30KKworLyoqCisgKiB4bWxJbml0VGhyZWFkczoKKyAqCisgKiB4bWxJbml0VGhyZWFkcygpIGlzIHVzZWQgdG8gdG8gaW5pdGlhbGl6ZSBhbGwgdGhlIHRocmVhZCByZWxhdGVkCisgKiBkYXRhIG9mIHRoZSBsaWJ4bWwyIGxpYnJhcnkuCisgKi8KK3ZvaWQKK3htbEluaXRUaHJlYWRzKHZvaWQpCit7CisjaWZkZWYgSEFWRV9QVEhSRUFEX0gKKyAgICBpZiAobGlieG1sX2lzX3RocmVhZGVkID09IC0xKSB7CisgICAgICAgIGlmICgocHRocmVhZF9vbmNlICE9IE5VTEwpICYmCisgICAgICAgICAgICAocHRocmVhZF9nZXRzcGVjaWZpYyAhPSBOVUxMKSAmJgorICAgICAgICAgICAgKHB0aHJlYWRfc2V0c3BlY2lmaWMgIT0gTlVMTCkgJiYKKyAgICAgICAgICAgIChwdGhyZWFkX2tleV9jcmVhdGUgIT0gTlVMTCkgJiYKKyAgICAgICAgICAgIChwdGhyZWFkX2tleV9kZWxldGUgIT0gTlVMTCkgJiYKKyAgICAgICAgICAgIChwdGhyZWFkX211dGV4X2luaXQgIT0gTlVMTCkgJiYKKyAgICAgICAgICAgIChwdGhyZWFkX211dGV4X2Rlc3Ryb3kgIT0gTlVMTCkgJiYKKyAgICAgICAgICAgIChwdGhyZWFkX211dGV4X2xvY2sgIT0gTlVMTCkgJiYKKyAgICAgICAgICAgIChwdGhyZWFkX211dGV4X3VubG9jayAhPSBOVUxMKSAmJgorICAgICAgICAgICAgKHB0aHJlYWRfY29uZF9pbml0ICE9IE5VTEwpICYmCisgICAgICAgICAgICAocHRocmVhZF9jb25kX2Rlc3Ryb3kgIT0gTlVMTCkgJiYKKyAgICAgICAgICAgIChwdGhyZWFkX2NvbmRfd2FpdCAhPSBOVUxMKSAmJgorICAgICAgICAgICAgKHB0aHJlYWRfZXF1YWwgIT0gTlVMTCkgJiYKKyAgICAgICAgICAgIChwdGhyZWFkX3NlbGYgIT0gTlVMTCkgJiYKKyAgICAgICAgICAgIChwdGhyZWFkX2NvbmRfc2lnbmFsICE9IE5VTEwpKSB7CisgICAgICAgICAgICBsaWJ4bWxfaXNfdGhyZWFkZWQgPSAxOworCisvKiBmcHJpbnRmKHN0ZGVyciwgIlJ1bm5pbmcgbXVsdGl0aHJlYWRlZFxuIik7ICovCisgICAgICAgIH0gZWxzZSB7CisKKy8qIGZwcmludGYoc3RkZXJyLCAiUnVubmluZyB3aXRob3V0IG11bHRpdGhyZWFkXG4iKTsgKi8KKyAgICAgICAgICAgIGxpYnhtbF9pc190aHJlYWRlZCA9IDA7CisgICAgICAgIH0KKyAgICB9CisjZWxpZiBkZWZpbmVkKEhBVkVfV0lOMzJfVEhSRUFEUykgJiYgIWRlZmluZWQoSEFWRV9DT01QSUxFUl9UTFMpICYmICghZGVmaW5lZChMSUJYTUxfU1RBVElDKSB8fCBkZWZpbmVkKExJQlhNTF9TVEFUSUNfRk9SX0RMTCkpCisgICAgSW5pdGlhbGl6ZUNyaXRpY2FsU2VjdGlvbigmY2xlYW51cF9oZWxwZXJzX2NzKTsKKyNlbmRpZgorfQorCisvKioKKyAqIHhtbENsZWFudXBUaHJlYWRzOgorICoKKyAqIHhtbENsZWFudXBUaHJlYWRzKCkgaXMgdXNlZCB0byB0byBjbGVhbnVwIGFsbCB0aGUgdGhyZWFkIHJlbGF0ZWQKKyAqIGRhdGEgb2YgdGhlIGxpYnhtbDIgbGlicmFyeSBvbmNlIHByb2Nlc3NpbmcgaGFzIGVuZGVkLgorICoKKyAqIFdBUk5JTkc6IGlmIHlvdXIgYXBwbGljYXRpb24gaXMgbXVsdGl0aHJlYWRlZCBvciBoYXMgcGx1Z2luIHN1cHBvcnQKKyAqICAgICAgICAgIGNhbGxpbmcgdGhpcyBtYXkgY3Jhc2ggdGhlIGFwcGxpY2F0aW9uIGlmIGFub3RoZXIgdGhyZWFkIG9yCisgKiAgICAgICAgICBhIHBsdWdpbiBpcyBzdGlsbCB1c2luZyBsaWJ4bWwyLiBJdCdzIHNvbWV0aW1lcyB2ZXJ5IGhhcmQgdG8KKyAqICAgICAgICAgIGd1ZXNzIGlmIGxpYnhtbDIgaXMgaW4gdXNlIGluIHRoZSBhcHBsaWNhdGlvbiwgc29tZSBsaWJyYXJpZXMKKyAqICAgICAgICAgIG9yIHBsdWdpbnMgbWF5IHVzZSBpdCB3aXRob3V0IG5vdGljZS4gSW4gY2FzZSBvZiBkb3VidCBhYnN0YWluCisgKiAgICAgICAgICBmcm9tIGNhbGxpbmcgdGhpcyBmdW5jdGlvbiBvciBkbyBpdCBqdXN0IGJlZm9yZSBjYWxsaW5nIGV4aXQoKQorICogICAgICAgICAgdG8gYXZvaWQgbGVhayByZXBvcnRzIGZyb20gdmFsZ3JpbmQgIQorICovCit2b2lkCit4bWxDbGVhbnVwVGhyZWFkcyh2b2lkKQoreworI2lmZGVmIERFQlVHX1RIUkVBRFMKKyAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgInhtbENsZWFudXBUaHJlYWRzKClcbiIpOworI2VuZGlmCisjaWZkZWYgSEFWRV9QVEhSRUFEX0gKKyAgICBpZiAoKGxpYnhtbF9pc190aHJlYWRlZCkgICYmIChwdGhyZWFkX2tleV9kZWxldGUgIT0gTlVMTCkpCisgICAgICAgIHB0aHJlYWRfa2V5X2RlbGV0ZShnbG9iYWxrZXkpOworICAgIG9uY2VfY29udHJvbCA9IG9uY2VfY29udHJvbF9pbml0OworI2VsaWYgZGVmaW5lZChIQVZFX1dJTjMyX1RIUkVBRFMpICYmICFkZWZpbmVkKEhBVkVfQ09NUElMRVJfVExTKSAmJiAoIWRlZmluZWQoTElCWE1MX1NUQVRJQykgfHwgZGVmaW5lZChMSUJYTUxfU1RBVElDX0ZPUl9ETEwpKQorICAgIGlmIChnbG9iYWxrZXkgIT0gVExTX09VVF9PRl9JTkRFWEVTKSB7CisgICAgICAgIHhtbEdsb2JhbFN0YXRlQ2xlYW51cEhlbHBlclBhcmFtcyAqcDsKKworICAgICAgICBFbnRlckNyaXRpY2FsU2VjdGlvbigmY2xlYW51cF9oZWxwZXJzX2NzKTsKKyAgICAgICAgcCA9IGNsZWFudXBfaGVscGVyc19oZWFkOworICAgICAgICB3aGlsZSAocCAhPSBOVUxMKSB7CisgICAgICAgICAgICB4bWxHbG9iYWxTdGF0ZUNsZWFudXBIZWxwZXJQYXJhbXMgKnRlbXAgPSBwOworCisgICAgICAgICAgICBwID0gcC0+bmV4dDsKKyAgICAgICAgICAgIHhtbEZyZWVHbG9iYWxTdGF0ZSh0ZW1wLT5tZW1vcnkpOworICAgICAgICAgICAgZnJlZSh0ZW1wKTsKKyAgICAgICAgfQorICAgICAgICBjbGVhbnVwX2hlbHBlcnNfaGVhZCA9IDA7CisgICAgICAgIExlYXZlQ3JpdGljYWxTZWN0aW9uKCZjbGVhbnVwX2hlbHBlcnNfY3MpOworICAgICAgICBUbHNGcmVlKGdsb2JhbGtleSk7CisgICAgICAgIGdsb2JhbGtleSA9IFRMU19PVVRfT0ZfSU5ERVhFUzsKKyAgICB9CisgICAgRGVsZXRlQ3JpdGljYWxTZWN0aW9uKCZjbGVhbnVwX2hlbHBlcnNfY3MpOworI2VuZGlmCit9CisKKyNpZmRlZiBMSUJYTUxfVEhSRUFEX0VOQUJMRUQKKworLyoqCisgKiB4bWxPbmNlSW5pdAorICoKKyAqIHhtbE9uY2VJbml0KCkgaXMgdXNlZCB0byBpbml0aWFsaXplIHRoZSB2YWx1ZSBvZiBtYWludGhyZWFkIGZvciB1c2UKKyAqIGluIG90aGVyIHJvdXRpbmVzLiBUaGlzIGZ1bmN0aW9uIHNob3VsZCBvbmx5IGJlIGNhbGxlZCB1c2luZworICogcHRocmVhZF9vbmNlKCkgaW4gYXNzb2NpYXRpb24gd2l0aCB0aGUgb25jZV9jb250cm9sIHZhcmlhYmxlIHRvIGVuc3VyZQorICogdGhhdCB0aGUgZnVuY3Rpb24gaXMgb25seSBjYWxsZWQgb25jZS4gU2VlIG1hbiBwdGhyZWFkX29uY2UgZm9yIG1vcmUKKyAqIGRldGFpbHMuCisgKi8KK3N0YXRpYyB2b2lkCit4bWxPbmNlSW5pdCh2b2lkKQoreworI2lmZGVmIEhBVkVfUFRIUkVBRF9ICisgICAgKHZvaWQpIHB0aHJlYWRfa2V5X2NyZWF0ZSgmZ2xvYmFsa2V5LCB4bWxGcmVlR2xvYmFsU3RhdGUpOworICAgIG1haW50aHJlYWQgPSBwdGhyZWFkX3NlbGYoKTsKKyAgICBfX3htbEluaXRpYWxpemVEaWN0KCk7CisjZWxpZiBkZWZpbmVkKEhBVkVfV0lOMzJfVEhSRUFEUykKKyAgICBpZiAoIXJ1bl9vbmNlLmRvbmUpIHsKKyAgICAgICAgaWYgKEludGVybG9ja2VkSW5jcmVtZW50KCZydW5fb25jZS5jb250cm9sKSA9PSAxKSB7CisjaWYgIWRlZmluZWQoSEFWRV9DT01QSUxFUl9UTFMpCisgICAgICAgICAgICBnbG9iYWxrZXkgPSBUbHNBbGxvYygpOworI2VuZGlmCisgICAgICAgICAgICBtYWludGhyZWFkID0gR2V0Q3VycmVudFRocmVhZElkKCk7CisJICAgIF9feG1sSW5pdGlhbGl6ZURpY3QoKTsKKyAgICAgICAgICAgIHJ1bl9vbmNlLmRvbmUgPSAxOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgLyogQW5vdGhlciB0aHJlYWQgaXMgd29ya2luZzsgZ2l2ZSB1cCBvdXIgc2xpY2UgYW5kCisgICAgICAgICAgICAgKiB3YWl0IHVudGlsIHRoZXkncmUgZG9uZS4gKi8KKyAgICAgICAgICAgIHdoaWxlICghcnVuX29uY2UuZG9uZSkKKyAgICAgICAgICAgICAgICBTbGVlcCgwKTsKKyAgICAgICAgfQorICAgIH0KKyNlbGlmIGRlZmluZWQgSEFWRV9CRU9TX1RIUkVBRFMKKyAgICBpZiAoYXRvbWljX2FkZCgmcnVuX29uY2VfaW5pdCwgMSkgPT0gMCkgeworICAgICAgICBnbG9iYWxrZXkgPSB0bHNfYWxsb2NhdGUoKTsKKyAgICAgICAgdGxzX3NldChnbG9iYWxrZXksIE5VTEwpOworICAgICAgICBtYWludGhyZWFkID0gZmluZF90aHJlYWQoTlVMTCk7CisJX194bWxJbml0aWFsaXplRGljdCgpOworICAgIH0gZWxzZQorICAgICAgICBhdG9taWNfYWRkKCZydW5fb25jZV9pbml0LCAtMSk7CisjZW5kaWYKK30KKyNlbmRpZgorCisvKioKKyAqIERsbE1haW46CisgKiBAaGluc3RETEw6IGhhbmRsZSB0byBETEwgaW5zdGFuY2UKKyAqIEBmZHdSZWFzb246IFJlYXNvbiBjb2RlIGZvciBlbnRyeQorICogQGxwdlJlc2VydmVkOiBnZW5lcmljIHBvaW50ZXIgKGRlcGVuZHMgdXBvbiByZWFzb24gY29kZSkKKyAqCisgKiBFbnRyeSBwb2ludCBmb3IgV2luZG93cyBsaWJyYXJ5LiBJdCBpcyBiZWluZyB1c2VkIHRvIGZyZWUgdGhyZWFkLXNwZWNpZmljCisgKiBzdG9yYWdlLgorICoKKyAqIFJldHVybnMgVFJVRSBhbHdheXMKKyAqLworI2lmZGVmIEhBVkVfUFRIUkVBRF9ICisjZWxpZiBkZWZpbmVkKEhBVkVfV0lOMzJfVEhSRUFEUykgJiYgIWRlZmluZWQoSEFWRV9DT01QSUxFUl9UTFMpICYmICghZGVmaW5lZChMSUJYTUxfU1RBVElDKSB8fCBkZWZpbmVkKExJQlhNTF9TVEFUSUNfRk9SX0RMTCkpCisjaWYgZGVmaW5lZChMSUJYTUxfU1RBVElDX0ZPUl9ETEwpCitCT09MIFhNTENBTEwKK3htbERsbE1haW4oSElOU1RBTkNFIGhpbnN0RExMLCBEV09SRCBmZHdSZWFzb24sIExQVk9JRCBscHZSZXNlcnZlZCkKKyNlbHNlCitCT09MIFdJTkFQSQorRGxsTWFpbihISU5TVEFOQ0UgaGluc3RETEwsIERXT1JEIGZkd1JlYXNvbiwgTFBWT0lEIGxwdlJlc2VydmVkKQorI2VuZGlmCit7CisgICAgc3dpdGNoIChmZHdSZWFzb24pIHsKKyAgICAgICAgY2FzZSBETExfVEhSRUFEX0RFVEFDSDoKKyAgICAgICAgICAgIGlmIChnbG9iYWxrZXkgIT0gVExTX09VVF9PRl9JTkRFWEVTKSB7CisgICAgICAgICAgICAgICAgeG1sR2xvYmFsU3RhdGUgKmdsb2JhbHZhbCA9IE5VTEw7CisgICAgICAgICAgICAgICAgeG1sR2xvYmFsU3RhdGVDbGVhbnVwSGVscGVyUGFyYW1zICpwID0KKyAgICAgICAgICAgICAgICAgICAgKHhtbEdsb2JhbFN0YXRlQ2xlYW51cEhlbHBlclBhcmFtcyAqKQorICAgICAgICAgICAgICAgICAgICBUbHNHZXRWYWx1ZShnbG9iYWxrZXkpOworICAgICAgICAgICAgICAgIGdsb2JhbHZhbCA9ICh4bWxHbG9iYWxTdGF0ZSAqKSAocCA/IHAtPm1lbW9yeSA6IE5VTEwpOworICAgICAgICAgICAgICAgIGlmIChnbG9iYWx2YWwpIHsKKyAgICAgICAgICAgICAgICAgICAgeG1sRnJlZUdsb2JhbFN0YXRlKGdsb2JhbHZhbCk7CisgICAgICAgICAgICAgICAgICAgIFRsc1NldFZhbHVlKGdsb2JhbGtleSwgTlVMTCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGlmIChwKSB7CisgICAgICAgICAgICAgICAgICAgIEVudGVyQ3JpdGljYWxTZWN0aW9uKCZjbGVhbnVwX2hlbHBlcnNfY3MpOworICAgICAgICAgICAgICAgICAgICBpZiAocCA9PSBjbGVhbnVwX2hlbHBlcnNfaGVhZCkKKyAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFudXBfaGVscGVyc19oZWFkID0gcC0+bmV4dDsKKyAgICAgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAgcC0+cHJldi0+bmV4dCA9IHAtPm5leHQ7CisgICAgICAgICAgICAgICAgICAgIGlmIChwLT5uZXh0ICE9IE5VTEwpCisgICAgICAgICAgICAgICAgICAgICAgICBwLT5uZXh0LT5wcmV2ID0gcC0+cHJldjsKKyAgICAgICAgICAgICAgICAgICAgTGVhdmVDcml0aWNhbFNlY3Rpb24oJmNsZWFudXBfaGVscGVyc19jcyk7CisgICAgICAgICAgICAgICAgICAgIGZyZWUocCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgICAgYnJlYWs7CisgICAgfQorICAgIHJldHVybiBUUlVFOworfQorI2VuZGlmCisjZGVmaW5lIGJvdHRvbV90aHJlYWRzCisjaW5jbHVkZSAiZWxmZ2NjaGFjay5oIgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90aW1zb3J0LmggYi9saWJ4bWwyL3RpbXNvcnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZmEzYWFiCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90aW1zb3J0LmgKQEAgLTAsMCArMSw1MTQgQEAKKy8qCisgKiB0YWtlbiBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9zd2Vuc29uL3NvcnQKKyAqIEtlcHQgYXMgaXMgZm9yIHRoZSBtb21lbnQgdG8gYmUgYWJsZSB0byBhcHBseSB1cHN0cmVhbSBwYXRjaGVzIGZvciB0aGF0CisgKiBjb2RlLCBjdXJyZW50bHkgdXNlZCBvbmx5IHRvIHNwZWVkIHVwIFhQYXRoIG5vZGUgc29ydGluZywgc2VlIHhwYXRoLmMKKyAqLworCisvKgorICogQWxsIGNvZGUgaW4gdGhpcyBoZWFkZXIsIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkLCBpcyBoZXJlYnkgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBQdWJsaWMgTGljZW5zZToKKworQ29weXJpZ2h0IChjKSAyMDEwIENocmlzdG9waGVyIFN3ZW5zb24KKworUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisKK1RoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorCitUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCisqLworCisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpZmRlZiBIQVZFX1NURElOVF9ICisjaW5jbHVkZSA8c3RkaW50Lmg+CisjZWxzZQorI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAorI2luY2x1ZGUgPGludHR5cGVzLmg+CisjZWxpZiBkZWZpbmVkKFdJTjMyKQordHlwZWRlZiBfX2ludDY0IGludDY0X3Q7Cit0eXBlZGVmIHVuc2lnbmVkIF9faW50NjQgdWludDY0X3Q7CisjZW5kaWYKKyNlbmRpZgorCisjaWZuZGVmIE1LX1VJTlQ2NAorI2lmIGRlZmluZWQoV0lOMzIpICYmIGRlZmluZWQoX01TQ19WRVIpICYmIF9NU0NfVkVSIDwgMTMwMAorI2RlZmluZSBNS19VSU5UNjQoeCkgKCh1aW50NjRfdCkoeCkpCisjZWxzZQorI2RlZmluZSBNS19VSU5UNjQoeCkgeCMjVUxMCisjZW5kaWYKKyNlbmRpZgorCisjaWZuZGVmIE1BWAorI2RlZmluZSBNQVgoeCx5KSAoKCh4KSA+ICh5KSA/ICh4KSA6ICh5KSkpCisjZW5kaWYKKyNpZm5kZWYgTUlOCisjZGVmaW5lIE1JTih4LHkpICgoKHgpIDwgKHkpID8gKHgpIDogKHkpKSkKKyNlbmRpZgorCitpbnQgY29tcHV0ZV9taW5ydW4odWludDY0X3QpOworCisjaWZuZGVmIENMWgorI2lmIGRlZmluZWQoX19HTlVDX18pICYmICgoX19HTlVDX18gPT0gMyAmJiBfX0dOVUNfTUlOT1JfXyA+PSA0KSB8fCAoX19HTlVDX18gPiAzKSkKKyNkZWZpbmUgQ0xaIF9fYnVpbHRpbl9jbHpsbAorI2Vsc2UKKworaW50IGNsemxsKHVpbnQ2NF90KTsKKworLyogYWRhcHRlZCBmcm9tIEhhY2tlcidzIERlbGlnaHQgKi8KK2ludCBjbHpsbCh1aW50NjRfdCB4KSAvKiB7e3sgKi8KK3sKKyAgaW50IG47CisKKyAgaWYgKHggPT0gMCkgcmV0dXJuKDY0KTsKKyAgbiA9IDA7CisgIGlmICh4IDw9IE1LX1VJTlQ2NCgweDAwMDAwMDAwRkZGRkZGRkYpKSB7biA9IG4gKyAzMjsgeCA9IHggPDwgMzI7fQorICBpZiAoeCA8PSBNS19VSU5UNjQoMHgwMDAwRkZGRkZGRkZGRkZGKSkge24gPSBuICsgMTY7IHggPSB4IDw8IDE2O30KKyAgaWYgKHggPD0gTUtfVUlOVDY0KDB4MDBGRkZGRkZGRkZGRkZGRikpIHtuID0gbiArIDg7IHggPSB4IDw8IDg7fQorICBpZiAoeCA8PSBNS19VSU5UNjQoMHgwRkZGRkZGRkZGRkZGRkZGKSkge24gPSBuICsgNDsgeCA9IHggPDwgNDt9CisgIGlmICh4IDw9IE1LX1VJTlQ2NCgweDNGRkZGRkZGRkZGRkZGRkYpKSB7biA9IG4gKyAyOyB4ID0geCA8PCAyO30KKyAgaWYgKHggPD0gTUtfVUlOVDY0KDB4N0ZGRkZGRkZGRkZGRkZGRikpIHtuID0gbiArIDE7fQorICByZXR1cm4gbjsKK30KKy8qIH19fSAqLworCisjZGVmaW5lIENMWiBjbHpsbAorI2VuZGlmCisjZW5kaWYKKworaW50IGNvbXB1dGVfbWlucnVuKHVpbnQ2NF90IHNpemUpIC8qIHt7eyAqLworeworICBjb25zdCBpbnQgdG9wX2JpdCA9IDY0IC0gQ0xaKHNpemUpOworICBjb25zdCBpbnQgc2hpZnQgPSBNQVgodG9wX2JpdCwgNikgLSA2OworICBjb25zdCBpbnQgbWlucnVuID0gc2l6ZSA+PiBzaGlmdDsKKyAgY29uc3QgdWludDY0X3QgbWFzayA9IChNS19VSU5UNjQoMSkgPDwgc2hpZnQpIC0gMTsKKyAgaWYgKG1hc2sgJiBzaXplKSByZXR1cm4gbWlucnVuICsgMTsKKyAgcmV0dXJuIG1pbnJ1bjsKK30KKy8qIH19fSAqLworCisjaWZuZGVmIFNPUlRfTkFNRQorI2Vycm9yICJNdXN0IGRlY2xhcmUgU09SVF9OQU1FIgorI2VuZGlmCisKKyNpZm5kZWYgU09SVF9UWVBFCisjZXJyb3IgIk11c3QgZGVjbGFyZSBTT1JUX1RZUEUiCisjZW5kaWYKKworI2lmbmRlZiBTT1JUX0NNUAorI2RlZmluZSBTT1JUX0NNUCh4LCB5KSAgKCh4KSA8ICh5KSA/IC0xIDogKCh4KSA9PSAoeSkgPyAwIDogMSkpCisjZW5kaWYKKworCisjZGVmaW5lIFNPUlRfU1dBUCh4LHkpIHtTT1JUX1RZUEUgX19TT1JUX1NXQVBfdCA9ICh4KTsgKHgpID0gKHkpOyAoeSkgPSBfX1NPUlRfU1dBUF90O30KKworI2RlZmluZSBTT1JUX0NPTkNBVCh4LCB5KSB4ICMjIF8gIyMgeQorI2RlZmluZSBTT1JUX01BS0VfU1RSMSh4LCB5KSBTT1JUX0NPTkNBVCh4LHkpCisjZGVmaW5lIFNPUlRfTUFLRV9TVFIoeCkgU09SVF9NQUtFX1NUUjEoU09SVF9OQU1FLHgpCisKKyNkZWZpbmUgQklOQVJZX0lOU0VSVElPTl9GSU5EICBTT1JUX01BS0VfU1RSKGJpbmFyeV9pbnNlcnRpb25fZmluZCkKKyNkZWZpbmUgQklOQVJZX0lOU0VSVElPTl9TT1JUX1NUQVJUIFNPUlRfTUFLRV9TVFIoYmluYXJ5X2luc2VydGlvbl9zb3J0X3N0YXJ0KQorI2RlZmluZSBCSU5BUllfSU5TRVJUSU9OX1NPUlQgIFNPUlRfTUFLRV9TVFIoYmluYXJ5X2luc2VydGlvbl9zb3J0KQorI2RlZmluZSBSRVZFUlNFX0VMRU1FTlRTICAgICAgIFNPUlRfTUFLRV9TVFIocmV2ZXJzZV9lbGVtZW50cykKKyNkZWZpbmUgQ09VTlRfUlVOICAgICAgICAgICAgICBTT1JUX01BS0VfU1RSKGNvdW50X3J1bikKKyNkZWZpbmUgQ0hFQ0tfSU5WQVJJQU5UICAgICAgICBTT1JUX01BS0VfU1RSKGNoZWNrX2ludmFyaWFudCkKKyNkZWZpbmUgVElNX1NPUlQgICAgICAgICAgICAgICBTT1JUX01BS0VfU1RSKHRpbV9zb3J0KQorI2RlZmluZSBUSU1fU09SVF9SRVNJWkUgICAgICAgIFNPUlRfTUFLRV9TVFIodGltX3NvcnRfcmVzaXplKQorI2RlZmluZSBUSU1fU09SVF9NRVJHRSAgICAgICAgIFNPUlRfTUFLRV9TVFIodGltX3NvcnRfbWVyZ2UpCisjZGVmaW5lIFRJTV9TT1JUX0NPTExBUFNFICAgICAgU09SVF9NQUtFX1NUUih0aW1fc29ydF9jb2xsYXBzZSkKKworI2RlZmluZSBUSU1fU09SVF9SVU5fVCAgICAgICAgIFNPUlRfTUFLRV9TVFIodGltX3NvcnRfcnVuX3QpCisjZGVmaW5lIFRFTVBfU1RPUkFHRV9UICAgICAgICAgU09SVF9NQUtFX1NUUih0ZW1wX3N0b3JhZ2VfdCkKKwordHlwZWRlZiBzdHJ1Y3QgeworICBpbnQ2NF90IHN0YXJ0OworICBpbnQ2NF90IGxlbmd0aDsKK30gVElNX1NPUlRfUlVOX1Q7CisKK3ZvaWQgQklOQVJZX0lOU0VSVElPTl9TT1JUKFNPUlRfVFlQRSAqZHN0LCBjb25zdCBzaXplX3Qgc2l6ZSk7Cit2b2lkIFRJTV9TT1JUKFNPUlRfVFlQRSAqZHN0LCBjb25zdCBzaXplX3Qgc2l6ZSk7CisKKy8qIEZ1bmN0aW9uIHVzZWQgdG8gZG8gYSBiaW5hcnkgc2VhcmNoIGZvciBiaW5hcnkgaW5zZXJ0aW9uIHNvcnQgKi8KK3N0YXRpYyBpbnQ2NF90IEJJTkFSWV9JTlNFUlRJT05fRklORChTT1JUX1RZUEUgKmRzdCwgY29uc3QgU09SVF9UWVBFIHgsIGNvbnN0IHNpemVfdCBzaXplKQoreworICBpbnQ2NF90IGwsIGMsIHI7CisgIFNPUlRfVFlQRSBseDsKKyAgU09SVF9UWVBFIGN4OworICBsID0gMDsKKyAgciA9IHNpemUgLSAxOworICBjID0gciA+PiAxOworICBseCA9IGRzdFtsXTsKKworICAvKiBjaGVjayBmb3IgYmVnaW5uaW5nIGNvbmRpdGlvbnMgKi8KKyAgaWYgKFNPUlRfQ01QKHgsIGx4KSA8IDApCisgICAgcmV0dXJuIDA7CisgIGVsc2UgaWYgKFNPUlRfQ01QKHgsIGx4KSA9PSAwKQorICB7CisgICAgaW50NjRfdCBpID0gMTsKKyAgICB3aGlsZSAoU09SVF9DTVAoeCwgZHN0W2ldKSA9PSAwKSBpKys7CisgICAgcmV0dXJuIGk7CisgIH0KKworICBjeCA9IGRzdFtjXTsKKyAgd2hpbGUgKDEpCisgIHsKKyAgICBjb25zdCBpbnQgdmFsID0gU09SVF9DTVAoeCwgY3gpOworICAgIGlmICh2YWwgPCAwKQorICAgIHsKKyAgICAgIGlmIChjIC0gbCA8PSAxKSByZXR1cm4gYzsKKyAgICAgIHIgPSBjOworICAgIH0KKyAgICBlbHNlIGlmICh2YWwgPiAwKQorICAgIHsKKyAgICAgIGlmIChyIC0gYyA8PSAxKSByZXR1cm4gYyArIDE7CisgICAgICBsID0gYzsKKyAgICAgIGx4ID0gY3g7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICBkbworICAgICAgeworICAgICAgICBjeCA9IGRzdFsrK2NdOworICAgICAgfSB3aGlsZSAoU09SVF9DTVAoeCwgY3gpID09IDApOworICAgICAgcmV0dXJuIGM7CisgICAgfQorICAgIGMgPSBsICsgKChyIC0gbCkgPj4gMSk7CisgICAgY3ggPSBkc3RbY107CisgIH0KK30KKworLyogQmluYXJ5IGluc2VydGlvbiBzb3J0LCBidXQga25vd2luZyB0aGF0IHRoZSBmaXJzdCAic3RhcnQiIGVudHJpZXMgYXJlIHNvcnRlZC4gIFVzZWQgaW4gdGltc29ydC4gKi8KK3N0YXRpYyB2b2lkIEJJTkFSWV9JTlNFUlRJT05fU09SVF9TVEFSVChTT1JUX1RZUEUgKmRzdCwgY29uc3Qgc2l6ZV90IHN0YXJ0LCBjb25zdCBzaXplX3Qgc2l6ZSkKK3sKKyAgaW50NjRfdCBpOworICBmb3IgKGkgPSBzdGFydDsgaSA8IChpbnQ2NF90KSBzaXplOyBpKyspCisgIHsKKyAgICBpbnQ2NF90IGo7CisgICAgU09SVF9UWVBFIHg7CisgICAgaW50NjRfdCBsb2NhdGlvbjsKKyAgICAvKiBJZiB0aGlzIGVudHJ5IGlzIGFscmVhZHkgY29ycmVjdCwganVzdCBtb3ZlIGFsb25nICovCisgICAgaWYgKFNPUlRfQ01QKGRzdFtpIC0gMV0sIGRzdFtpXSkgPD0gMCkgY29udGludWU7CisKKyAgICAvKiBFbHNlIHdlIG5lZWQgdG8gZmluZCB0aGUgcmlnaHQgcGxhY2UsIHNoaWZ0IGV2ZXJ5dGhpbmcgb3ZlciwgYW5kIHNxdWVlemUgaW4gKi8KKyAgICB4ID0gZHN0W2ldOworICAgIGxvY2F0aW9uID0gQklOQVJZX0lOU0VSVElPTl9GSU5EKGRzdCwgeCwgaSk7CisgICAgZm9yIChqID0gaSAtIDE7IGogPj0gbG9jYXRpb247IGotLSkKKyAgICB7CisgICAgICBkc3RbaiArIDFdID0gZHN0W2pdOworICAgIH0KKyAgICBkc3RbbG9jYXRpb25dID0geDsKKyAgfQorfQorCisvKiBCaW5hcnkgaW5zZXJ0aW9uIHNvcnQgKi8KK3ZvaWQgQklOQVJZX0lOU0VSVElPTl9TT1JUKFNPUlRfVFlQRSAqZHN0LCBjb25zdCBzaXplX3Qgc2l6ZSkKK3sKKyAgQklOQVJZX0lOU0VSVElPTl9TT1JUX1NUQVJUKGRzdCwgMSwgc2l6ZSk7Cit9CisKKy8qIHRpbXNvcnQgaW1wbGVtZW50YXRpb24sIGJhc2VkIG9uIHRpbXNvcnQudHh0ICovCisKK3N0YXRpYyB2b2lkIFJFVkVSU0VfRUxFTUVOVFMoU09SVF9UWVBFICpkc3QsIGludDY0X3Qgc3RhcnQsIGludDY0X3QgZW5kKQoreworICB3aGlsZSAoMSkKKyAgeworICAgIGlmIChzdGFydCA+PSBlbmQpIHJldHVybjsKKyAgICBTT1JUX1NXQVAoZHN0W3N0YXJ0XSwgZHN0W2VuZF0pOworICAgIHN0YXJ0Kys7CisgICAgZW5kLS07CisgIH0KK30KKworc3RhdGljIGludDY0X3QgQ09VTlRfUlVOKFNPUlRfVFlQRSAqZHN0LCBjb25zdCBpbnQ2NF90IHN0YXJ0LCBjb25zdCBzaXplX3Qgc2l6ZSkKK3sKKyAgaW50NjRfdCBjdXJyOworICBpZiAoc2l6ZSAtIHN0YXJ0ID09IDEpIHJldHVybiAxOworICBpZiAoc3RhcnQgPj0gKGludDY0X3QpIHNpemUgLSAyKQorICB7CisgICAgaWYgKFNPUlRfQ01QKGRzdFtzaXplIC0gMl0sIGRzdFtzaXplIC0gMV0pID4gMCkKKyAgICAgIFNPUlRfU1dBUChkc3Rbc2l6ZSAtIDJdLCBkc3Rbc2l6ZSAtIDFdKTsKKyAgICByZXR1cm4gMjsKKyAgfQorCisgIGN1cnIgPSBzdGFydCArIDI7CisKKyAgaWYgKFNPUlRfQ01QKGRzdFtzdGFydF0sIGRzdFtzdGFydCArIDFdKSA8PSAwKQorICB7CisgICAgLyogaW5jcmVhc2luZyBydW4gKi8KKyAgICB3aGlsZSAoMSkKKyAgICB7CisgICAgICBpZiAoY3VyciA9PSAoaW50NjRfdCkgc2l6ZSAtIDEpIGJyZWFrOworICAgICAgaWYgKFNPUlRfQ01QKGRzdFtjdXJyIC0gMV0sIGRzdFtjdXJyXSkgPiAwKSBicmVhazsKKyAgICAgIGN1cnIrKzsKKyAgICB9CisgICAgcmV0dXJuIGN1cnIgLSBzdGFydDsKKyAgfQorICBlbHNlCisgIHsKKyAgICAvKiBkZWNyZWFzaW5nIHJ1biAqLworICAgIHdoaWxlICgxKQorICAgIHsKKyAgICAgIGlmIChjdXJyID09IChpbnQ2NF90KSBzaXplIC0gMSkgYnJlYWs7CisgICAgICBpZiAoU09SVF9DTVAoZHN0W2N1cnIgLSAxXSwgZHN0W2N1cnJdKSA8PSAwKSBicmVhazsKKyAgICAgIGN1cnIrKzsKKyAgICB9CisgICAgLyogcmV2ZXJzZSBpbi1wbGFjZSAqLworICAgIFJFVkVSU0VfRUxFTUVOVFMoZHN0LCBzdGFydCwgY3VyciAtIDEpOworICAgIHJldHVybiBjdXJyIC0gc3RhcnQ7CisgIH0KK30KKworI2RlZmluZSBQVVNIX05FWFQoKSBkbyB7XAorbGVuID0gQ09VTlRfUlVOKGRzdCwgY3Vyciwgc2l6ZSk7XAorcnVuID0gbWlucnVuO1wKK2lmIChydW4gPCBtaW5ydW4pIHJ1biA9IG1pbnJ1bjtcCitpZiAocnVuID4gKGludDY0X3QpIHNpemUgLSBjdXJyKSBydW4gPSBzaXplIC0gY3VycjtcCitpZiAocnVuID4gbGVuKVwKK3tcCisgIEJJTkFSWV9JTlNFUlRJT05fU09SVF9TVEFSVCgmZHN0W2N1cnJdLCBsZW4sIHJ1bik7XAorICBsZW4gPSBydW47XAorfVwKK3tcCitydW5fc3RhY2tbc3RhY2tfY3Vycl0uc3RhcnQgPSBjdXJyO1wKK3J1bl9zdGFja1tzdGFja19jdXJyXS5sZW5ndGggPSBsZW47XAorc3RhY2tfY3VycisrO1wKK31cCitjdXJyICs9IGxlbjtcCitpZiAoY3VyciA9PSAoaW50NjRfdCkgc2l6ZSlcCit7XAorICAvKiBmaW5pc2ggdXAgKi8gXAorICB3aGlsZSAoc3RhY2tfY3VyciA+IDEpIFwKKyAgeyBcCisgICAgVElNX1NPUlRfTUVSR0UoZHN0LCBydW5fc3RhY2ssIHN0YWNrX2N1cnIsIHN0b3JlKTsgXAorICAgIHJ1bl9zdGFja1tzdGFja19jdXJyIC0gMl0ubGVuZ3RoICs9IHJ1bl9zdGFja1tzdGFja19jdXJyIC0gMV0ubGVuZ3RoOyBcCisgICAgc3RhY2tfY3Vyci0tOyBcCisgIH0gXAorICBpZiAoc3RvcmUtPnN0b3JhZ2UgIT0gTlVMTClcCisgIHtcCisgICAgZnJlZShzdG9yZS0+c3RvcmFnZSk7XAorICAgIHN0b3JlLT5zdG9yYWdlID0gTlVMTDtcCisgIH1cCisgIHJldHVybjtcCit9XAorfVwKK3doaWxlICgwKQorCitzdGF0aWMgaW50IENIRUNLX0lOVkFSSUFOVChUSU1fU09SVF9SVU5fVCAqc3RhY2ssIGNvbnN0IGludCBzdGFja19jdXJyKQoreworICBpbnQ2NF90IEEsIEIsIEM7CisgIGlmIChzdGFja19jdXJyIDwgMikgcmV0dXJuIDE7CisgIGlmIChzdGFja19jdXJyID09IDIpCisgIHsKKyAgICBjb25zdCBpbnQ2NF90IEExID0gc3RhY2tbc3RhY2tfY3VyciAtIDJdLmxlbmd0aDsKKyAgICBjb25zdCBpbnQ2NF90IEIxID0gc3RhY2tbc3RhY2tfY3VyciAtIDFdLmxlbmd0aDsKKyAgICBpZiAoQTEgPD0gQjEpIHJldHVybiAwOworICAgIHJldHVybiAxOworICB9CisgIEEgPSBzdGFja1tzdGFja19jdXJyIC0gM10ubGVuZ3RoOworICBCID0gc3RhY2tbc3RhY2tfY3VyciAtIDJdLmxlbmd0aDsKKyAgQyA9IHN0YWNrW3N0YWNrX2N1cnIgLSAxXS5sZW5ndGg7CisgIGlmICgoQSA8PSBCICsgQykgfHwgKEIgPD0gQykpIHJldHVybiAwOworICByZXR1cm4gMTsKK30KKwordHlwZWRlZiBzdHJ1Y3QgeworICBzaXplX3QgYWxsb2M7CisgIFNPUlRfVFlQRSAqc3RvcmFnZTsKK30gVEVNUF9TVE9SQUdFX1Q7CisKKworc3RhdGljIHZvaWQgVElNX1NPUlRfUkVTSVpFKFRFTVBfU1RPUkFHRV9UICpzdG9yZSwgY29uc3Qgc2l6ZV90IG5ld19zaXplKQoreworICBpZiAoc3RvcmUtPmFsbG9jIDwgbmV3X3NpemUpCisgIHsKKyAgICBTT1JUX1RZUEUgKnRlbXBzdG9yZSA9IChTT1JUX1RZUEUgKilyZWFsbG9jKHN0b3JlLT5zdG9yYWdlLCBuZXdfc2l6ZSAqIHNpemVvZihTT1JUX1RZUEUpKTsKKyAgICBpZiAodGVtcHN0b3JlID09IE5VTEwpCisgICAgeworICAgICAgZnByaW50ZihzdGRlcnIsICJFcnJvciBhbGxvY2F0aW5nIHRlbXBvcmFyeSBzdG9yYWdlIGZvciB0aW0gc29ydDogbmVlZCAlbHUgYnl0ZXMiLCBzaXplb2YoU09SVF9UWVBFKSAqIG5ld19zaXplKTsKKyAgICAgIGV4aXQoMSk7CisgICAgfQorICAgIHN0b3JlLT5zdG9yYWdlID0gdGVtcHN0b3JlOworICAgIHN0b3JlLT5hbGxvYyA9IG5ld19zaXplOworICB9Cit9CisKK3N0YXRpYyB2b2lkIFRJTV9TT1JUX01FUkdFKFNPUlRfVFlQRSAqZHN0LCBjb25zdCBUSU1fU09SVF9SVU5fVCAqc3RhY2ssIGNvbnN0IGludCBzdGFja19jdXJyLCBURU1QX1NUT1JBR0VfVCAqc3RvcmUpCit7CisgIGNvbnN0IGludDY0X3QgQSA9IHN0YWNrW3N0YWNrX2N1cnIgLSAyXS5sZW5ndGg7CisgIGNvbnN0IGludDY0X3QgQiA9IHN0YWNrW3N0YWNrX2N1cnIgLSAxXS5sZW5ndGg7CisgIGNvbnN0IGludDY0X3QgY3VyciA9IHN0YWNrW3N0YWNrX2N1cnIgLSAyXS5zdGFydDsKKyAgU09SVF9UWVBFICpzdG9yYWdlOworICBpbnQ2NF90IGksIGosIGs7CisKKyAgVElNX1NPUlRfUkVTSVpFKHN0b3JlLCBNSU4oQSwgQikpOworICBzdG9yYWdlID0gc3RvcmUtPnN0b3JhZ2U7CisKKyAgLyogbGVmdCBtZXJnZSAqLworICBpZiAoQSA8IEIpCisgIHsKKyAgICBtZW1jcHkoc3RvcmFnZSwgJmRzdFtjdXJyXSwgQSAqIHNpemVvZihTT1JUX1RZUEUpKTsKKyAgICBpID0gMDsKKyAgICBqID0gY3VyciArIEE7CisKKyAgICBmb3IgKGsgPSBjdXJyOyBrIDwgY3VyciArIEEgKyBCOyBrKyspCisgICAgeworICAgICAgaWYgKChpIDwgQSkgJiYgKGogPCBjdXJyICsgQSArIEIpKQorICAgICAgeworICAgICAgICBpZiAoU09SVF9DTVAoc3RvcmFnZVtpXSwgZHN0W2pdKSA8PSAwKQorICAgICAgICAgIGRzdFtrXSA9IHN0b3JhZ2VbaSsrXTsKKyAgICAgICAgZWxzZQorICAgICAgICAgIGRzdFtrXSA9IGRzdFtqKytdOworICAgICAgfQorICAgICAgZWxzZSBpZiAoaSA8IEEpCisgICAgICB7CisgICAgICAgIGRzdFtrXSA9IHN0b3JhZ2VbaSsrXTsKKyAgICAgIH0KKyAgICAgIGVsc2UKKyAgICAgICAgZHN0W2tdID0gZHN0W2orK107CisgICAgfQorICB9CisgIC8qIHJpZ2h0IG1lcmdlICovCisgIGVsc2UKKyAgeworICAgIG1lbWNweShzdG9yYWdlLCAmZHN0W2N1cnIgKyBBXSwgQiAqIHNpemVvZihTT1JUX1RZUEUpKTsKKyAgICBpID0gQiAtIDE7CisgICAgaiA9IGN1cnIgKyBBIC0gMTsKKworICAgIGZvciAoayA9IGN1cnIgKyBBICsgQiAtIDE7IGsgPj0gY3Vycjsgay0tKQorICAgIHsKKyAgICAgIGlmICgoaSA+PSAwKSAmJiAoaiA+PSBjdXJyKSkKKyAgICAgIHsKKyAgICAgICAgICBpZiAoU09SVF9DTVAoZHN0W2pdLCBzdG9yYWdlW2ldKSA+IDApCisgICAgICAgICAgICBkc3Rba10gPSBkc3Rbai0tXTsKKyAgICAgICAgICBlbHNlCisgICAgICAgICAgICBkc3Rba10gPSBzdG9yYWdlW2ktLV07CisgICAgICB9CisgICAgICBlbHNlIGlmIChpID49IDApCisgICAgICAgIGRzdFtrXSA9IHN0b3JhZ2VbaS0tXTsKKyAgICAgIGVsc2UKKyAgICAgICAgZHN0W2tdID0gZHN0W2otLV07CisgICAgfQorICB9Cit9CisKK3N0YXRpYyBpbnQgVElNX1NPUlRfQ09MTEFQU0UoU09SVF9UWVBFICpkc3QsIFRJTV9TT1JUX1JVTl9UICpzdGFjaywgaW50IHN0YWNrX2N1cnIsIFRFTVBfU1RPUkFHRV9UICpzdG9yZSwgY29uc3Qgc2l6ZV90IHNpemUpCit7CisgIHdoaWxlICgxKQorICB7CisgICAgaW50NjRfdCBBLCBCLCBDOworICAgIC8qIGlmIHRoZSBzdGFjayBvbmx5IGhhcyBvbmUgdGhpbmcgb24gaXQsIHdlIGFyZSBkb25lIHdpdGggdGhlIGNvbGxhcHNlICovCisgICAgaWYgKHN0YWNrX2N1cnIgPD0gMSkgYnJlYWs7CisgICAgLyogaWYgdGhpcyBpcyB0aGUgbGFzdCBtZXJnZSwganVzdCBkbyBpdCAqLworICAgIGlmICgoc3RhY2tfY3VyciA9PSAyKSAmJgorICAgICAgICAoc3RhY2tbMF0ubGVuZ3RoICsgc3RhY2tbMV0ubGVuZ3RoID09IChpbnQ2NF90KSBzaXplKSkKKyAgICB7CisgICAgICBUSU1fU09SVF9NRVJHRShkc3QsIHN0YWNrLCBzdGFja19jdXJyLCBzdG9yZSk7CisgICAgICBzdGFja1swXS5sZW5ndGggKz0gc3RhY2tbMV0ubGVuZ3RoOworICAgICAgc3RhY2tfY3Vyci0tOworICAgICAgYnJlYWs7CisgICAgfQorICAgIC8qIGNoZWNrIGlmIHRoZSBpbnZhcmlhbnQgaXMgb2ZmIGZvciBhIHN0YWNrIG9mIDIgZWxlbWVudHMgKi8KKyAgICBlbHNlIGlmICgoc3RhY2tfY3VyciA9PSAyKSAmJiAoc3RhY2tbMF0ubGVuZ3RoIDw9IHN0YWNrWzFdLmxlbmd0aCkpCisgICAgeworICAgICAgVElNX1NPUlRfTUVSR0UoZHN0LCBzdGFjaywgc3RhY2tfY3Vyciwgc3RvcmUpOworICAgICAgc3RhY2tbMF0ubGVuZ3RoICs9IHN0YWNrWzFdLmxlbmd0aDsKKyAgICAgIHN0YWNrX2N1cnItLTsKKyAgICAgIGJyZWFrOworICAgIH0KKyAgICBlbHNlIGlmIChzdGFja19jdXJyID09IDIpCisgICAgICBicmVhazsKKworICAgIEEgPSBzdGFja1tzdGFja19jdXJyIC0gM10ubGVuZ3RoOworICAgIEIgPSBzdGFja1tzdGFja19jdXJyIC0gMl0ubGVuZ3RoOworICAgIEMgPSBzdGFja1tzdGFja19jdXJyIC0gMV0ubGVuZ3RoOworCisgICAgLyogY2hlY2sgZmlyc3QgaW52YXJpYW50ICovCisgICAgaWYgKEEgPD0gQiArIEMpCisgICAgeworICAgICAgaWYgKEEgPCBDKQorICAgICAgeworICAgICAgICBUSU1fU09SVF9NRVJHRShkc3QsIHN0YWNrLCBzdGFja19jdXJyIC0gMSwgc3RvcmUpOworICAgICAgICBzdGFja1tzdGFja19jdXJyIC0gM10ubGVuZ3RoICs9IHN0YWNrW3N0YWNrX2N1cnIgLSAyXS5sZW5ndGg7CisgICAgICAgIHN0YWNrW3N0YWNrX2N1cnIgLSAyXSA9IHN0YWNrW3N0YWNrX2N1cnIgLSAxXTsKKyAgICAgICAgc3RhY2tfY3Vyci0tOworICAgICAgfQorICAgICAgZWxzZQorICAgICAgeworICAgICAgICBUSU1fU09SVF9NRVJHRShkc3QsIHN0YWNrLCBzdGFja19jdXJyLCBzdG9yZSk7CisgICAgICAgIHN0YWNrW3N0YWNrX2N1cnIgLSAyXS5sZW5ndGggKz0gc3RhY2tbc3RhY2tfY3VyciAtIDFdLmxlbmd0aDsKKyAgICAgICAgc3RhY2tfY3Vyci0tOworICAgICAgfQorICAgIH0KKyAgICAvKiBjaGVjayBzZWNvbmQgaW52YXJpYW50ICovCisgICAgZWxzZSBpZiAoQiA8PSBDKQorICAgIHsKKyAgICAgIFRJTV9TT1JUX01FUkdFKGRzdCwgc3RhY2ssIHN0YWNrX2N1cnIsIHN0b3JlKTsKKyAgICAgIHN0YWNrW3N0YWNrX2N1cnIgLSAyXS5sZW5ndGggKz0gc3RhY2tbc3RhY2tfY3VyciAtIDFdLmxlbmd0aDsKKyAgICAgIHN0YWNrX2N1cnItLTsKKyAgICB9CisgICAgZWxzZQorICAgICAgYnJlYWs7CisgIH0KKyAgcmV0dXJuIHN0YWNrX2N1cnI7Cit9CisKK3ZvaWQgVElNX1NPUlQoU09SVF9UWVBFICpkc3QsIGNvbnN0IHNpemVfdCBzaXplKQoreworICBpbnQgbWlucnVuOworICBURU1QX1NUT1JBR0VfVCBfc3RvcmUsICpzdG9yZTsKKyAgVElNX1NPUlRfUlVOX1QgcnVuX3N0YWNrWzEyOF07CisgIGludCBzdGFja19jdXJyID0gMDsKKyAgaW50NjRfdCBsZW4sIHJ1bjsKKyAgaW50NjRfdCBjdXJyID0gMDsKKworICBpZiAoc2l6ZSA8IDY0KQorICB7CisgICAgQklOQVJZX0lOU0VSVElPTl9TT1JUKGRzdCwgc2l6ZSk7CisgICAgcmV0dXJuOworICB9CisKKyAgLyogY29tcHV0ZSB0aGUgbWluaW11bSBydW4gbGVuZ3RoICovCisgIG1pbnJ1biA9IGNvbXB1dGVfbWlucnVuKHNpemUpOworCisgIC8qIHRlbXBvcmFyeSBzdG9yYWdlIGZvciBtZXJnZXMgKi8KKyAgc3RvcmUgPSAmX3N0b3JlOworICBzdG9yZS0+YWxsb2MgPSAwOworICBzdG9yZS0+c3RvcmFnZSA9IE5VTEw7CisKKyAgUFVTSF9ORVhUKCk7CisgIFBVU0hfTkVYVCgpOworICBQVVNIX05FWFQoKTsKKworICB3aGlsZSAoMSkKKyAgeworICAgIGlmICghQ0hFQ0tfSU5WQVJJQU5UKHJ1bl9zdGFjaywgc3RhY2tfY3VycikpCisgICAgeworICAgICAgc3RhY2tfY3VyciA9IFRJTV9TT1JUX0NPTExBUFNFKGRzdCwgcnVuX3N0YWNrLCBzdGFja19jdXJyLCBzdG9yZSwgc2l6ZSk7CisgICAgICBjb250aW51ZTsKKyAgICB9CisgICAgUFVTSF9ORVhUKCk7CisgIH0KK30KKworI3VuZGVmIFNPUlRfQ09OQ0FUCisjdW5kZWYgU09SVF9NQUtFX1NUUjEKKyN1bmRlZiBTT1JUX01BS0VfU1RSCisjdW5kZWYgU09SVF9OQU1FCisjdW5kZWYgU09SVF9UWVBFCisjdW5kZWYgU09SVF9DTVAKKyN1bmRlZiBURU1QX1NUT1JBR0VfVAorI3VuZGVmIFRJTV9TT1JUX1JVTl9UCisjdW5kZWYgUFVTSF9ORVhUCisjdW5kZWYgU09SVF9TV0FQCisjdW5kZWYgU09SVF9DT05DQVQKKyN1bmRlZiBTT1JUX01BS0VfU1RSMQorI3VuZGVmIFNPUlRfTUFLRV9TVFIKKyN1bmRlZiBCSU5BUllfSU5TRVJUSU9OX0ZJTkQKKyN1bmRlZiBCSU5BUllfSU5TRVJUSU9OX1NPUlRfU1RBUlQKKyN1bmRlZiBCSU5BUllfSU5TRVJUSU9OX1NPUlQKKyN1bmRlZiBSRVZFUlNFX0VMRU1FTlRTCisjdW5kZWYgQ09VTlRfUlVOCisjdW5kZWYgVElNX1NPUlQKKyN1bmRlZiBUSU1fU09SVF9SRVNJWkUKKyN1bmRlZiBUSU1fU09SVF9DT0xMQVBTRQorI3VuZGVmIFRJTV9TT1JUX1JVTl9UCisjdW5kZWYgVEVNUF9TVE9SQUdFX1QKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdHJlZS5jIGIvbGlieG1sMi90cmVlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmVjOTIyMwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdHJlZS5jCkBAIC0wLDAgKzEsMTAxMDIgQEAKKy8qCisgKiB0cmVlLmMgOiBpbXBsZW1lbnRhdGlvbiBvZiBhY2Nlc3MgZnVuY3Rpb24gZm9yIGFuIFhNTCB0cmVlLgorICoKKyAqIFJlZmVyZW5jZXM6CisgKiAgIFhIVE1MIDEuMCBXM0MgUkVDOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDAyL1JFQy14aHRtbDEtMjAwMjA4MDEvCisgKgorICogU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgorICoKKyAqIGRhbmllbEB2ZWlsbGFyZC5jb20KKyAqCisgKi8KKworI2RlZmluZSBJTl9MSUJYTUwKKyNpbmNsdWRlICJsaWJ4bWwuaCIKKworI2luY2x1ZGUgPHN0cmluZy5oPiAvKiBmb3IgbWVtc2V0KCkgb25seSAhICovCisjaW5jbHVkZSA8bGltaXRzLmg+CisjaWZkZWYgSEFWRV9DVFlQRV9ICisjaW5jbHVkZSA8Y3R5cGUuaD4KKyNlbmRpZgorI2lmZGVmIEhBVkVfU1RETElCX0gKKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNlbmRpZgorI2lmZGVmIEhBVkVfWkxJQl9ICisjaW5jbHVkZSA8emxpYi5oPgorI2VuZGlmCisKKyNpbmNsdWRlIDxsaWJ4bWwveG1sbWVtb3J5Lmg+CisjaW5jbHVkZSA8bGlieG1sL3RyZWUuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvcGFyc2VyLmg+CisjaW5jbHVkZSA8bGlieG1sL3VyaS5oPgorI2luY2x1ZGUgPGxpYnhtbC9lbnRpdGllcy5oPgorI2luY2x1ZGUgPGxpYnhtbC92YWxpZC5oPgorI2luY2x1ZGUgPGxpYnhtbC94bWxlcnJvci5oPgorI2luY2x1ZGUgPGxpYnhtbC9wYXJzZXJJbnRlcm5hbHMuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvZ2xvYmFscy5oPgorI2lmZGVmIExJQlhNTF9IVE1MX0VOQUJMRUQKKyNpbmNsdWRlIDxsaWJ4bWwvSFRNTHRyZWUuaD4KKyNlbmRpZgorI2lmZGVmIExJQlhNTF9ERUJVR19FTkFCTEVECisjaW5jbHVkZSA8bGlieG1sL2RlYnVnWE1MLmg+CisjZW5kaWYKKworI2luY2x1ZGUgImJ1Zi5oIgorI2luY2x1ZGUgInNhdmUuaCIKKworaW50IF9feG1sUmVnaXN0ZXJDYWxsYmFja3MgPSAwOworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQlGb3J3YXJkIGRlY2xhcmF0aW9ucwkJCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitzdGF0aWMgeG1sTnNQdHIKK3htbE5ld1JlY29uY2lsaWVkTnMoeG1sRG9jUHRyIGRvYywgeG1sTm9kZVB0ciB0cmVlLCB4bWxOc1B0ciBucyk7CisKK3N0YXRpYyB4bWxDaGFyKiB4bWxHZXRQcm9wTm9kZVZhbHVlSW50ZXJuYWwoY29uc3QgeG1sQXR0ciAqcHJvcCk7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCVRyZWUgbWVtb3J5IGVycm9yIGhhbmRsZXIJCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyoqCisgKiB4bWxUcmVlRXJyTWVtb3J5OgorICogQGV4dHJhOiAgZXh0cmEgaW5mb3JtYXRpb25zCisgKgorICogSGFuZGxlIGFuIG91dCBvZiBtZW1vcnkgY29uZGl0aW9uCisgKi8KK3N0YXRpYyB2b2lkCit4bWxUcmVlRXJyTWVtb3J5KGNvbnN0IGNoYXIgKmV4dHJhKQoreworICAgIF9feG1sU2ltcGxlRXJyb3IoWE1MX0ZST01fVFJFRSwgWE1MX0VSUl9OT19NRU1PUlksIE5VTEwsIE5VTEwsIGV4dHJhKTsKK30KKworLyoqCisgKiB4bWxUcmVlRXJyOgorICogQGNvZGU6ICB0aGUgZXJyb3IgbnVtYmVyCisgKiBAZXh0cmE6ICBleHRyYSBpbmZvcm1hdGlvbnMKKyAqCisgKiBIYW5kbGUgYW4gb3V0IG9mIG1lbW9yeSBjb25kaXRpb24KKyAqLworc3RhdGljIHZvaWQKK3htbFRyZWVFcnIoaW50IGNvZGUsIHhtbE5vZGVQdHIgbm9kZSwgY29uc3QgY2hhciAqZXh0cmEpCit7CisgICAgY29uc3QgY2hhciAqbXNnID0gTlVMTDsKKworICAgIHN3aXRjaChjb2RlKSB7CisgICAgICAgIGNhc2UgWE1MX1RSRUVfSU5WQUxJRF9IRVg6CisJICAgIG1zZyA9ICJpbnZhbGlkIGhleGFkZWNpbWFsIGNoYXJhY3RlciB2YWx1ZVxuIjsKKwkgICAgYnJlYWs7CisJY2FzZSBYTUxfVFJFRV9JTlZBTElEX0RFQzoKKwkgICAgbXNnID0gImludmFsaWQgZGVjaW1hbCBjaGFyYWN0ZXIgdmFsdWVcbiI7CisJICAgIGJyZWFrOworCWNhc2UgWE1MX1RSRUVfVU5URVJNSU5BVEVEX0VOVElUWToKKwkgICAgbXNnID0gInVudGVybWluYXRlZCBlbnRpdHkgcmVmZXJlbmNlICUxNXNcbiI7CisJICAgIGJyZWFrOworCWNhc2UgWE1MX1RSRUVfTk9UX1VURjg6CisJICAgIG1zZyA9ICJzdHJpbmcgaXMgbm90IGluIFVURi04XG4iOworCSAgICBicmVhazsKKwlkZWZhdWx0OgorCSAgICBtc2cgPSAidW5leHBlY3RlZCBlcnJvciBudW1iZXJcbiI7CisgICAgfQorICAgIF9feG1sU2ltcGxlRXJyb3IoWE1MX0ZST01fVFJFRSwgY29kZSwgbm9kZSwgbXNnLCBleHRyYSk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCUEgZmV3IHN0YXRpYyB2YXJpYWJsZXMgYW5kIG1hY3JvcwkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qICN1bmRlZiB4bWxTdHJpbmdUZXh0ICovCitjb25zdCB4bWxDaGFyIHhtbFN0cmluZ1RleHRbXSA9IHsgJ3QnLCAnZScsICd4JywgJ3QnLCAwIH07CisvKiAjdW5kZWYgeG1sU3RyaW5nVGV4dE5vZW5jICovCitjb25zdCB4bWxDaGFyIHhtbFN0cmluZ1RleHROb2VuY1tdID0KKyAgICAgICAgICAgICAgeyAndCcsICdlJywgJ3gnLCAndCcsICduJywgJ28nLCAnZScsICduJywgJ2MnLCAwIH07CisvKiAjdW5kZWYgeG1sU3RyaW5nQ29tbWVudCAqLworY29uc3QgeG1sQ2hhciB4bWxTdHJpbmdDb21tZW50W10gPSB7ICdjJywgJ28nLCAnbScsICdtJywgJ2UnLCAnbicsICd0JywgMCB9OworCitzdGF0aWMgaW50IHhtbENvbXByZXNzTW9kZSA9IDA7CitzdGF0aWMgaW50IHhtbENoZWNrRFREID0gMTsKKworI2RlZmluZSBVUERBVEVfTEFTVF9DSElMRF9BTkRfUEFSRU5UKG4pIGlmICgobikgIT0gTlVMTCkgewkJXAorICAgIHhtbE5vZGVQdHIgdWxjY3VyID0gKG4pLT5jaGlsZHJlbjsJCQkJCVwKKyAgICBpZiAodWxjY3VyID09IE5VTEwpIHsJCQkJCQlcCisgICAgICAgIChuKS0+bGFzdCA9IE5VTEw7CQkJCQkJXAorICAgIH0gZWxzZSB7CQkJCQkJCQlcCisgICAgICAgIHdoaWxlICh1bGNjdXItPm5leHQgIT0gTlVMTCkgewkJCQkJXAorCQl1bGNjdXItPnBhcmVudCA9IChuKTsJCQkJCVwKKwkJdWxjY3VyID0gdWxjY3VyLT5uZXh0OwkJCQkJXAorCX0JCQkJCQkJCVwKKwl1bGNjdXItPnBhcmVudCA9IChuKTsJCQkJCQlcCisJKG4pLT5sYXN0ID0gdWxjY3VyOwkJCQkJCVwKK319CisKKyNkZWZpbmUgSVNfU1RSX1hNTChzdHIpICgoc3RyICE9IE5VTEwpICYmIChzdHJbMF0gPT0gJ3gnKSAmJiBcCisgIChzdHJbMV0gPT0gJ20nKSAmJiAoc3RyWzJdID09ICdsJykgJiYgKHN0clszXSA9PSAwKSkKKworLyogI2RlZmluZSBERUJVR19CVUZGRVIgKi8KKy8qICNkZWZpbmUgREVCVUdfVFJFRSAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQlGdW5jdGlvbnMgdG8gbW92ZSB0byBlbnRpdGllcy5jIG9uY2UgdGhlCQkqCisgKgkJQVBJIGZyZWV6ZSBpcyBzbW9vdGhlbiBhbmQgdGhleSBjYW4gYmUgbWFkZSBwdWJsaWMuCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpbmNsdWRlIDxsaWJ4bWwvaGFzaC5oPgorCisjaWZkZWYgTElCWE1MX1RSRUVfRU5BQkxFRAorLyoqCisgKiB4bWxHZXRFbnRpdHlGcm9tRHRkOgorICogQGR0ZDogIEEgcG9pbnRlciB0byB0aGUgRFREIHRvIHNlYXJjaAorICogQG5hbWU6ICBUaGUgZW50aXR5IG5hbWUKKyAqCisgKiBEbyBhbiBlbnRpdHkgbG9va3VwIGluIHRoZSBEVEQgZW50aXR5IGhhc2ggdGFibGUgYW5kCisgKiByZXR1cm4gdGhlIGNvcnJlc3BvbmRpbmcgZW50aXR5LCBpZiBmb3VuZC4KKyAqCisgKiBSZXR1cm5zIEEgcG9pbnRlciB0byB0aGUgZW50aXR5IHN0cnVjdHVyZSBvciBOVUxMIGlmIG5vdCBmb3VuZC4KKyAqLworc3RhdGljIHhtbEVudGl0eVB0cgoreG1sR2V0RW50aXR5RnJvbUR0ZChjb25zdCB4bWxEdGQgKmR0ZCwgY29uc3QgeG1sQ2hhciAqbmFtZSkgeworICAgIHhtbEVudGl0aWVzVGFibGVQdHIgdGFibGU7CisKKyAgICBpZigoZHRkICE9IE5VTEwpICYmIChkdGQtPmVudGl0aWVzICE9IE5VTEwpKSB7CisJdGFibGUgPSAoeG1sRW50aXRpZXNUYWJsZVB0cikgZHRkLT5lbnRpdGllczsKKwlyZXR1cm4oKHhtbEVudGl0eVB0cikgeG1sSGFzaExvb2t1cCh0YWJsZSwgbmFtZSkpOworCS8qIHJldHVybih4bWxHZXRFbnRpdHlGcm9tVGFibGUodGFibGUsIG5hbWUpKTsgKi8KKyAgICB9CisgICAgcmV0dXJuKE5VTEwpOworfQorLyoqCisgKiB4bWxHZXRQYXJhbWV0ZXJFbnRpdHlGcm9tRHRkOgorICogQGR0ZDogIEEgcG9pbnRlciB0byB0aGUgRFREIHRvIHNlYXJjaAorICogQG5hbWU6ICBUaGUgZW50aXR5IG5hbWUKKyAqCisgKiBEbyBhbiBlbnRpdHkgbG9va3VwIGluIHRoZSBEVEQgcGFyYXJtZXRlciBlbnRpdHkgaGFzaCB0YWJsZSBhbmQKKyAqIHJldHVybiB0aGUgY29ycmVzcG9uZGluZyBlbnRpdHksIGlmIGZvdW5kLgorICoKKyAqIFJldHVybnMgQSBwb2ludGVyIHRvIHRoZSBlbnRpdHkgc3RydWN0dXJlIG9yIE5VTEwgaWYgbm90IGZvdW5kLgorICovCitzdGF0aWMgeG1sRW50aXR5UHRyCit4bWxHZXRQYXJhbWV0ZXJFbnRpdHlGcm9tRHRkKGNvbnN0IHhtbER0ZCAqZHRkLCBjb25zdCB4bWxDaGFyICpuYW1lKSB7CisgICAgeG1sRW50aXRpZXNUYWJsZVB0ciB0YWJsZTsKKworICAgIGlmICgoZHRkICE9IE5VTEwpICYmIChkdGQtPnBlbnRpdGllcyAhPSBOVUxMKSkgeworCXRhYmxlID0gKHhtbEVudGl0aWVzVGFibGVQdHIpIGR0ZC0+cGVudGl0aWVzOworCXJldHVybigoeG1sRW50aXR5UHRyKSB4bWxIYXNoTG9va3VwKHRhYmxlLCBuYW1lKSk7CisJLyogcmV0dXJuKHhtbEdldEVudGl0eUZyb21UYWJsZSh0YWJsZSwgbmFtZSkpOyAqLworICAgIH0KKyAgICByZXR1cm4oTlVMTCk7Cit9CisjZW5kaWYgLyogTElCWE1MX1RSRUVfRU5BQkxFRCAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQkJUU5hbWUgaGFuZGxpbmcgaGVscGVyCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqCisgKiB4bWxCdWlsZFFOYW1lOgorICogQG5jbmFtZTogIHRoZSBOYW1lCisgKiBAcHJlZml4OiAgdGhlIHByZWZpeAorICogQG1lbW9yeTogIHByZWFsbG9jYXRlZCBtZW1vcnkKKyAqIEBsZW46ICBwcmVhbGxvY2F0ZWQgbWVtb3J5IGxlbmd0aAorICoKKyAqIEJ1aWxkcyB0aGUgUU5hbWUgQHByZWZpeDpAbmNuYW1lIGluIEBtZW1vcnkgaWYgdGhlcmUgaXMgZW5vdWdoIHNwYWNlCisgKiBhbmQgcHJlZml4IGlzIG5vdCBOVUxMIG5vciBlbXB0eSwgb3RoZXJ3aXNlIGFsbG9jYXRlIGEgbmV3IHN0cmluZy4KKyAqIElmIHByZWZpeCBpcyBOVUxMIG9yIGVtcHR5IGl0IHJldHVybnMgbmNuYW1lLgorICoKKyAqIFJldHVybnMgdGhlIG5ldyBzdHJpbmcgd2hpY2ggbXVzdCBiZSBmcmVlZCBieSB0aGUgY2FsbGVyIGlmIGRpZmZlcmVudCBmcm9tCisgKiAgICAgICAgIEBtZW1vcnkgYW5kIEBuY25hbWUgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3htbENoYXIgKgoreG1sQnVpbGRRTmFtZShjb25zdCB4bWxDaGFyICpuY25hbWUsIGNvbnN0IHhtbENoYXIgKnByZWZpeCwKKwkgICAgICB4bWxDaGFyICptZW1vcnksIGludCBsZW4pIHsKKyAgICBpbnQgbGVubiwgbGVucDsKKyAgICB4bWxDaGFyICpyZXQ7CisKKyAgICBpZiAobmNuYW1lID09IE5VTEwpIHJldHVybihOVUxMKTsKKyAgICBpZiAocHJlZml4ID09IE5VTEwpIHJldHVybigoeG1sQ2hhciAqKSBuY25hbWUpOworCisgICAgbGVubiA9IHN0cmxlbigoY2hhciAqKSBuY25hbWUpOworICAgIGxlbnAgPSBzdHJsZW4oKGNoYXIgKikgcHJlZml4KTsKKworICAgIGlmICgobWVtb3J5ID09IE5VTEwpIHx8IChsZW4gPCBsZW5uICsgbGVucCArIDIpKSB7CisJcmV0ID0gKHhtbENoYXIgKikgeG1sTWFsbG9jQXRvbWljKGxlbm4gKyBsZW5wICsgMik7CisJaWYgKHJldCA9PSBOVUxMKSB7CisJICAgIHhtbFRyZWVFcnJNZW1vcnkoImJ1aWxkaW5nIFFOYW1lIik7CisJICAgIHJldHVybihOVUxMKTsKKwl9CisgICAgfSBlbHNlIHsKKwlyZXQgPSBtZW1vcnk7CisgICAgfQorICAgIG1lbWNweSgmcmV0WzBdLCBwcmVmaXgsIGxlbnApOworICAgIHJldFtsZW5wXSA9ICc6JzsKKyAgICBtZW1jcHkoJnJldFtsZW5wICsgMV0sIG5jbmFtZSwgbGVubik7CisgICAgcmV0W2xlbm4gKyBsZW5wICsgMV0gPSAwOworICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbFNwbGl0UU5hbWUyOgorICogQG5hbWU6ICB0aGUgZnVsbCBRTmFtZQorICogQHByZWZpeDogIGEgeG1sQ2hhciAqKgorICoKKyAqIHBhcnNlIGFuIFhNTCBxdWFsaWZpZWQgbmFtZSBzdHJpbmcKKyAqCisgKiBbTlMgNV0gUU5hbWUgOjo9IChQcmVmaXggJzonKT8gTG9jYWxQYXJ0CisgKgorICogW05TIDZdIFByZWZpeCA6Oj0gTkNOYW1lCisgKgorICogW05TIDddIExvY2FsUGFydCA6Oj0gTkNOYW1lCisgKgorICogUmV0dXJucyBOVUxMIGlmIG5vdCBhIFFOYW1lLCBvdGhlcndpc2UgdGhlIGxvY2FsIHBhcnQsIGFuZCBwcmVmaXgKKyAqICAgaXMgdXBkYXRlZCB0byBnZXQgdGhlIFByZWZpeCBpZiBhbnkuCisgKi8KKworeG1sQ2hhciAqCit4bWxTcGxpdFFOYW1lMihjb25zdCB4bWxDaGFyICpuYW1lLCB4bWxDaGFyICoqcHJlZml4KSB7CisgICAgaW50IGxlbiA9IDA7CisgICAgeG1sQ2hhciAqcmV0ID0gTlVMTDsKKworICAgIGlmIChwcmVmaXggPT0gTlVMTCkgcmV0dXJuKE5VTEwpOworICAgICpwcmVmaXggPSBOVUxMOworICAgIGlmIChuYW1lID09IE5VTEwpIHJldHVybihOVUxMKTsKKworI2lmbmRlZiBYTUxfWE1MX05BTUVTUEFDRQorICAgIC8qIHhtbDogcHJlZml4IGlzIG5vdCByZWFsbHkgYSBuYW1lc3BhY2UgKi8KKyAgICBpZiAoKG5hbWVbMF0gPT0gJ3gnKSAmJiAobmFtZVsxXSA9PSAnbScpICYmCisgICAgICAgIChuYW1lWzJdID09ICdsJykgJiYgKG5hbWVbM10gPT0gJzonKSkKKwlyZXR1cm4oTlVMTCk7CisjZW5kaWYKKworICAgIC8qIG5hc3R5IGJ1dCB2YWxpZCAqLworICAgIGlmIChuYW1lWzBdID09ICc6JykKKwlyZXR1cm4oTlVMTCk7CisKKyAgICAvKgorICAgICAqIHdlIGFyZSBub3QgdHJ5aW5nIHRvIHZhbGlkYXRlIGJ1dCBqdXN0IHRvIGN1dCwgYW5kIHllcyBpdCB3aWxsCisgICAgICogd29yayBldmVuIGlmIHRoaXMgaXMgYXMgc2V0IG9mIFVURi04IGVuY29kZWQgY2hhcnMKKyAgICAgKi8KKyAgICB3aGlsZSAoKG5hbWVbbGVuXSAhPSAwKSAmJiAobmFtZVtsZW5dICE9ICc6JykpCisJbGVuKys7CisKKyAgICBpZiAobmFtZVtsZW5dID09IDApCisJcmV0dXJuKE5VTEwpOworCisgICAgKnByZWZpeCA9IHhtbFN0cm5kdXAobmFtZSwgbGVuKTsKKyAgICBpZiAoKnByZWZpeCA9PSBOVUxMKSB7CisJeG1sVHJlZUVyck1lbW9yeSgiUU5hbWUgc3BsaXQiKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIHJldCA9IHhtbFN0cmR1cCgmbmFtZVtsZW4gKyAxXSk7CisgICAgaWYgKHJldCA9PSBOVUxMKSB7CisJeG1sVHJlZUVyck1lbW9yeSgiUU5hbWUgc3BsaXQiKTsKKwlpZiAoKnByZWZpeCAhPSBOVUxMKSB7CisJICAgIHhtbEZyZWUoKnByZWZpeCk7CisJICAgICpwcmVmaXggPSBOVUxMOworCX0KKwlyZXR1cm4oTlVMTCk7CisgICAgfQorCisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogeG1sU3BsaXRRTmFtZTM6CisgKiBAbmFtZTogIHRoZSBmdWxsIFFOYW1lCisgKiBAbGVuOiBhbiBpbnQgKgorICoKKyAqIHBhcnNlIGFuIFhNTCBxdWFsaWZpZWQgbmFtZSBzdHJpbmcsaQorICoKKyAqIHJldHVybnMgTlVMTCBpZiBpdCBpcyBub3QgYSBRdWFsaWZpZWQgTmFtZSwgb3RoZXJ3aXNlLCB1cGRhdGUgbGVuCisgKiAgICAgICAgIHdpdGggdGhlIGxlbmd0aCBpbiBieXRlIG9mIHRoZSBwcmVmaXggYW5kIHJldHVybiBhIHBvaW50ZXIKKyAqICAgICAgICAgdG8gdGhlIHN0YXJ0IG9mIHRoZSBuYW1lIHdpdGhvdXQgdGhlIHByZWZpeAorICovCisKK2NvbnN0IHhtbENoYXIgKgoreG1sU3BsaXRRTmFtZTMoY29uc3QgeG1sQ2hhciAqbmFtZSwgaW50ICpsZW4pIHsKKyAgICBpbnQgbCA9IDA7CisKKyAgICBpZiAobmFtZSA9PSBOVUxMKSByZXR1cm4oTlVMTCk7CisgICAgaWYgKGxlbiA9PSBOVUxMKSByZXR1cm4oTlVMTCk7CisKKyAgICAvKiBuYXN0eSBidXQgdmFsaWQgKi8KKyAgICBpZiAobmFtZVswXSA9PSAnOicpCisJcmV0dXJuKE5VTEwpOworCisgICAgLyoKKyAgICAgKiB3ZSBhcmUgbm90IHRyeWluZyB0byB2YWxpZGF0ZSBidXQganVzdCB0byBjdXQsIGFuZCB5ZXMgaXQgd2lsbAorICAgICAqIHdvcmsgZXZlbiBpZiB0aGlzIGlzIGFzIHNldCBvZiBVVEYtOCBlbmNvZGVkIGNoYXJzCisgICAgICovCisgICAgd2hpbGUgKChuYW1lW2xdICE9IDApICYmIChuYW1lW2xdICE9ICc6JykpCisJbCsrOworCisgICAgaWYgKG5hbWVbbF0gPT0gMCkKKwlyZXR1cm4oTlVMTCk7CisKKyAgICAqbGVuID0gbDsKKworICAgIHJldHVybigmbmFtZVtsKzFdKTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJQ2hlY2sgTmFtZSwgTkNOYW1lIGFuZCBRTmFtZSBzdHJpbmdzCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjZGVmaW5lIENVUl9TQ0hBUihzLCBsKSB4bWxTdHJpbmdDdXJyZW50Q2hhcihOVUxMLCBzLCAmbCkKKworI2lmIGRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfWFBBVEhfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9ERUJVR19FTkFCTEVEKSB8fCBkZWZpbmVkIChMSUJYTUxfSFRNTF9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9TQVgxX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX0hUTUxfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX0RPQ0JfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfTEVHQUNZX0VOQUJMRUQpCisvKioKKyAqIHhtbFZhbGlkYXRlTkNOYW1lOgorICogQHZhbHVlOiB0aGUgdmFsdWUgdG8gY2hlY2sKKyAqIEBzcGFjZTogYWxsb3cgc3BhY2VzIGluIGZyb250IGFuZCBlbmQgb2YgdGhlIHN0cmluZworICoKKyAqIENoZWNrIHRoYXQgYSB2YWx1ZSBjb25mb3JtcyB0byB0aGUgbGV4aWNhbCBzcGFjZSBvZiBOQ05hbWUKKyAqCisgKiBSZXR1cm5zIDAgaWYgdGhpcyB2YWxpZGF0ZXMsIGEgcG9zaXRpdmUgZXJyb3IgY29kZSBudW1iZXIgb3RoZXJ3aXNlCisgKiAgICAgICAgIGFuZCAtMSBpbiBjYXNlIG9mIGludGVybmFsIG9yIEFQSSBlcnJvci4KKyAqLworaW50Cit4bWxWYWxpZGF0ZU5DTmFtZShjb25zdCB4bWxDaGFyICp2YWx1ZSwgaW50IHNwYWNlKSB7CisgICAgY29uc3QgeG1sQ2hhciAqY3VyID0gdmFsdWU7CisgICAgaW50IGMsbDsKKworICAgIGlmICh2YWx1ZSA9PSBOVUxMKQorICAgICAgICByZXR1cm4oLTEpOworCisgICAgLyoKKyAgICAgKiBGaXJzdCBxdWljayBhbGdvcml0aG0gZm9yIEFTQ0lJIHJhbmdlCisgICAgICovCisgICAgaWYgKHNwYWNlKQorCXdoaWxlIChJU19CTEFOS19DSCgqY3VyKSkgY3VyKys7CisgICAgaWYgKCgoKmN1ciA+PSAnYScpICYmICgqY3VyIDw9ICd6JykpIHx8ICgoKmN1ciA+PSAnQScpICYmICgqY3VyIDw9ICdaJykpIHx8CisJKCpjdXIgPT0gJ18nKSkKKwljdXIrKzsKKyAgICBlbHNlCisJZ290byB0cnlfY29tcGxleDsKKyAgICB3aGlsZSAoKCgqY3VyID49ICdhJykgJiYgKCpjdXIgPD0gJ3onKSkgfHwKKwkgICAoKCpjdXIgPj0gJ0EnKSAmJiAoKmN1ciA8PSAnWicpKSB8fAorCSAgICgoKmN1ciA+PSAnMCcpICYmICgqY3VyIDw9ICc5JykpIHx8CisJICAgKCpjdXIgPT0gJ18nKSB8fCAoKmN1ciA9PSAnLScpIHx8ICgqY3VyID09ICcuJykpCisJY3VyKys7CisgICAgaWYgKHNwYWNlKQorCXdoaWxlIChJU19CTEFOS19DSCgqY3VyKSkgY3VyKys7CisgICAgaWYgKCpjdXIgPT0gMCkKKwlyZXR1cm4oMCk7CisKK3RyeV9jb21wbGV4OgorICAgIC8qCisgICAgICogU2Vjb25kIGNoZWNrIGZvciBjaGFycyBvdXRzaWRlIHRoZSBBU0NJSSByYW5nZQorICAgICAqLworICAgIGN1ciA9IHZhbHVlOworICAgIGMgPSBDVVJfU0NIQVIoY3VyLCBsKTsKKyAgICBpZiAoc3BhY2UpIHsKKwl3aGlsZSAoSVNfQkxBTksoYykpIHsKKwkgICAgY3VyICs9IGw7CisJICAgIGMgPSBDVVJfU0NIQVIoY3VyLCBsKTsKKwl9CisgICAgfQorICAgIGlmICgoIUlTX0xFVFRFUihjKSkgJiYgKGMgIT0gJ18nKSkKKwlyZXR1cm4oMSk7CisgICAgY3VyICs9IGw7CisgICAgYyA9IENVUl9TQ0hBUihjdXIsIGwpOworICAgIHdoaWxlIChJU19MRVRURVIoYykgfHwgSVNfRElHSVQoYykgfHwgKGMgPT0gJy4nKSB8fAorCSAgIChjID09ICctJykgfHwgKGMgPT0gJ18nKSB8fCBJU19DT01CSU5JTkcoYykgfHwKKwkgICBJU19FWFRFTkRFUihjKSkgeworCWN1ciArPSBsOworCWMgPSBDVVJfU0NIQVIoY3VyLCBsKTsKKyAgICB9CisgICAgaWYgKHNwYWNlKSB7CisJd2hpbGUgKElTX0JMQU5LKGMpKSB7CisJICAgIGN1ciArPSBsOworCSAgICBjID0gQ1VSX1NDSEFSKGN1ciwgbCk7CisJfQorICAgIH0KKyAgICBpZiAoYyAhPSAwKQorCXJldHVybigxKTsKKworICAgIHJldHVybigwKTsKK30KKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVFJFRV9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisvKioKKyAqIHhtbFZhbGlkYXRlUU5hbWU6CisgKiBAdmFsdWU6IHRoZSB2YWx1ZSB0byBjaGVjaworICogQHNwYWNlOiBhbGxvdyBzcGFjZXMgaW4gZnJvbnQgYW5kIGVuZCBvZiB0aGUgc3RyaW5nCisgKgorICogQ2hlY2sgdGhhdCBhIHZhbHVlIGNvbmZvcm1zIHRvIHRoZSBsZXhpY2FsIHNwYWNlIG9mIFFOYW1lCisgKgorICogUmV0dXJucyAwIGlmIHRoaXMgdmFsaWRhdGVzLCBhIHBvc2l0aXZlIGVycm9yIGNvZGUgbnVtYmVyIG90aGVyd2lzZQorICogICAgICAgICBhbmQgLTEgaW4gY2FzZSBvZiBpbnRlcm5hbCBvciBBUEkgZXJyb3IuCisgKi8KK2ludAoreG1sVmFsaWRhdGVRTmFtZShjb25zdCB4bWxDaGFyICp2YWx1ZSwgaW50IHNwYWNlKSB7CisgICAgY29uc3QgeG1sQ2hhciAqY3VyID0gdmFsdWU7CisgICAgaW50IGMsbDsKKworICAgIGlmICh2YWx1ZSA9PSBOVUxMKQorICAgICAgICByZXR1cm4oLTEpOworICAgIC8qCisgICAgICogRmlyc3QgcXVpY2sgYWxnb3JpdGhtIGZvciBBU0NJSSByYW5nZQorICAgICAqLworICAgIGlmIChzcGFjZSkKKwl3aGlsZSAoSVNfQkxBTktfQ0goKmN1cikpIGN1cisrOworICAgIGlmICgoKCpjdXIgPj0gJ2EnKSAmJiAoKmN1ciA8PSAneicpKSB8fCAoKCpjdXIgPj0gJ0EnKSAmJiAoKmN1ciA8PSAnWicpKSB8fAorCSgqY3VyID09ICdfJykpCisJY3VyKys7CisgICAgZWxzZQorCWdvdG8gdHJ5X2NvbXBsZXg7CisgICAgd2hpbGUgKCgoKmN1ciA+PSAnYScpICYmICgqY3VyIDw9ICd6JykpIHx8CisJICAgKCgqY3VyID49ICdBJykgJiYgKCpjdXIgPD0gJ1onKSkgfHwKKwkgICAoKCpjdXIgPj0gJzAnKSAmJiAoKmN1ciA8PSAnOScpKSB8fAorCSAgICgqY3VyID09ICdfJykgfHwgKCpjdXIgPT0gJy0nKSB8fCAoKmN1ciA9PSAnLicpKQorCWN1cisrOworICAgIGlmICgqY3VyID09ICc6JykgeworCWN1cisrOworCWlmICgoKCpjdXIgPj0gJ2EnKSAmJiAoKmN1ciA8PSAneicpKSB8fAorCSAgICAoKCpjdXIgPj0gJ0EnKSAmJiAoKmN1ciA8PSAnWicpKSB8fAorCSAgICAoKmN1ciA9PSAnXycpKQorCSAgICBjdXIrKzsKKwllbHNlCisJICAgIGdvdG8gdHJ5X2NvbXBsZXg7CisJd2hpbGUgKCgoKmN1ciA+PSAnYScpICYmICgqY3VyIDw9ICd6JykpIHx8CisJICAgICAgICgoKmN1ciA+PSAnQScpICYmICgqY3VyIDw9ICdaJykpIHx8CisJICAgICAgICgoKmN1ciA+PSAnMCcpICYmICgqY3VyIDw9ICc5JykpIHx8CisJICAgICAgICgqY3VyID09ICdfJykgfHwgKCpjdXIgPT0gJy0nKSB8fCAoKmN1ciA9PSAnLicpKQorCSAgICBjdXIrKzsKKyAgICB9CisgICAgaWYgKHNwYWNlKQorCXdoaWxlIChJU19CTEFOS19DSCgqY3VyKSkgY3VyKys7CisgICAgaWYgKCpjdXIgPT0gMCkKKwlyZXR1cm4oMCk7CisKK3RyeV9jb21wbGV4OgorICAgIC8qCisgICAgICogU2Vjb25kIGNoZWNrIGZvciBjaGFycyBvdXRzaWRlIHRoZSBBU0NJSSByYW5nZQorICAgICAqLworICAgIGN1ciA9IHZhbHVlOworICAgIGMgPSBDVVJfU0NIQVIoY3VyLCBsKTsKKyAgICBpZiAoc3BhY2UpIHsKKwl3aGlsZSAoSVNfQkxBTksoYykpIHsKKwkgICAgY3VyICs9IGw7CisJICAgIGMgPSBDVVJfU0NIQVIoY3VyLCBsKTsKKwl9CisgICAgfQorICAgIGlmICgoIUlTX0xFVFRFUihjKSkgJiYgKGMgIT0gJ18nKSkKKwlyZXR1cm4oMSk7CisgICAgY3VyICs9IGw7CisgICAgYyA9IENVUl9TQ0hBUihjdXIsIGwpOworICAgIHdoaWxlIChJU19MRVRURVIoYykgfHwgSVNfRElHSVQoYykgfHwgKGMgPT0gJy4nKSB8fAorCSAgIChjID09ICctJykgfHwgKGMgPT0gJ18nKSB8fCBJU19DT01CSU5JTkcoYykgfHwKKwkgICBJU19FWFRFTkRFUihjKSkgeworCWN1ciArPSBsOworCWMgPSBDVVJfU0NIQVIoY3VyLCBsKTsKKyAgICB9CisgICAgaWYgKGMgPT0gJzonKSB7CisJY3VyICs9IGw7CisJYyA9IENVUl9TQ0hBUihjdXIsIGwpOworCWlmICgoIUlTX0xFVFRFUihjKSkgJiYgKGMgIT0gJ18nKSkKKwkgICAgcmV0dXJuKDEpOworCWN1ciArPSBsOworCWMgPSBDVVJfU0NIQVIoY3VyLCBsKTsKKwl3aGlsZSAoSVNfTEVUVEVSKGMpIHx8IElTX0RJR0lUKGMpIHx8IChjID09ICcuJykgfHwKKwkgICAgICAgKGMgPT0gJy0nKSB8fCAoYyA9PSAnXycpIHx8IElTX0NPTUJJTklORyhjKSB8fAorCSAgICAgICBJU19FWFRFTkRFUihjKSkgeworCSAgICBjdXIgKz0gbDsKKwkgICAgYyA9IENVUl9TQ0hBUihjdXIsIGwpOworCX0KKyAgICB9CisgICAgaWYgKHNwYWNlKSB7CisJd2hpbGUgKElTX0JMQU5LKGMpKSB7CisJICAgIGN1ciArPSBsOworCSAgICBjID0gQ1VSX1NDSEFSKGN1ciwgbCk7CisJfQorICAgIH0KKyAgICBpZiAoYyAhPSAwKQorCXJldHVybigxKTsKKyAgICByZXR1cm4oMCk7Cit9CisKKy8qKgorICogeG1sVmFsaWRhdGVOYW1lOgorICogQHZhbHVlOiB0aGUgdmFsdWUgdG8gY2hlY2sKKyAqIEBzcGFjZTogYWxsb3cgc3BhY2VzIGluIGZyb250IGFuZCBlbmQgb2YgdGhlIHN0cmluZworICoKKyAqIENoZWNrIHRoYXQgYSB2YWx1ZSBjb25mb3JtcyB0byB0aGUgbGV4aWNhbCBzcGFjZSBvZiBOYW1lCisgKgorICogUmV0dXJucyAwIGlmIHRoaXMgdmFsaWRhdGVzLCBhIHBvc2l0aXZlIGVycm9yIGNvZGUgbnVtYmVyIG90aGVyd2lzZQorICogICAgICAgICBhbmQgLTEgaW4gY2FzZSBvZiBpbnRlcm5hbCBvciBBUEkgZXJyb3IuCisgKi8KK2ludAoreG1sVmFsaWRhdGVOYW1lKGNvbnN0IHhtbENoYXIgKnZhbHVlLCBpbnQgc3BhY2UpIHsKKyAgICBjb25zdCB4bWxDaGFyICpjdXIgPSB2YWx1ZTsKKyAgICBpbnQgYyxsOworCisgICAgaWYgKHZhbHVlID09IE5VTEwpCisgICAgICAgIHJldHVybigtMSk7CisgICAgLyoKKyAgICAgKiBGaXJzdCBxdWljayBhbGdvcml0aG0gZm9yIEFTQ0lJIHJhbmdlCisgICAgICovCisgICAgaWYgKHNwYWNlKQorCXdoaWxlIChJU19CTEFOS19DSCgqY3VyKSkgY3VyKys7CisgICAgaWYgKCgoKmN1ciA+PSAnYScpICYmICgqY3VyIDw9ICd6JykpIHx8ICgoKmN1ciA+PSAnQScpICYmICgqY3VyIDw9ICdaJykpIHx8CisJKCpjdXIgPT0gJ18nKSB8fCAoKmN1ciA9PSAnOicpKQorCWN1cisrOworICAgIGVsc2UKKwlnb3RvIHRyeV9jb21wbGV4OworICAgIHdoaWxlICgoKCpjdXIgPj0gJ2EnKSAmJiAoKmN1ciA8PSAneicpKSB8fAorCSAgICgoKmN1ciA+PSAnQScpICYmICgqY3VyIDw9ICdaJykpIHx8CisJICAgKCgqY3VyID49ICcwJykgJiYgKCpjdXIgPD0gJzknKSkgfHwKKwkgICAoKmN1ciA9PSAnXycpIHx8ICgqY3VyID09ICctJykgfHwgKCpjdXIgPT0gJy4nKSB8fCAoKmN1ciA9PSAnOicpKQorCWN1cisrOworICAgIGlmIChzcGFjZSkKKwl3aGlsZSAoSVNfQkxBTktfQ0goKmN1cikpIGN1cisrOworICAgIGlmICgqY3VyID09IDApCisJcmV0dXJuKDApOworCit0cnlfY29tcGxleDoKKyAgICAvKgorICAgICAqIFNlY29uZCBjaGVjayBmb3IgY2hhcnMgb3V0c2lkZSB0aGUgQVNDSUkgcmFuZ2UKKyAgICAgKi8KKyAgICBjdXIgPSB2YWx1ZTsKKyAgICBjID0gQ1VSX1NDSEFSKGN1ciwgbCk7CisgICAgaWYgKHNwYWNlKSB7CisJd2hpbGUgKElTX0JMQU5LKGMpKSB7CisJICAgIGN1ciArPSBsOworCSAgICBjID0gQ1VSX1NDSEFSKGN1ciwgbCk7CisJfQorICAgIH0KKyAgICBpZiAoKCFJU19MRVRURVIoYykpICYmIChjICE9ICdfJykgJiYgKGMgIT0gJzonKSkKKwlyZXR1cm4oMSk7CisgICAgY3VyICs9IGw7CisgICAgYyA9IENVUl9TQ0hBUihjdXIsIGwpOworICAgIHdoaWxlIChJU19MRVRURVIoYykgfHwgSVNfRElHSVQoYykgfHwgKGMgPT0gJy4nKSB8fCAoYyA9PSAnOicpIHx8CisJICAgKGMgPT0gJy0nKSB8fCAoYyA9PSAnXycpIHx8IElTX0NPTUJJTklORyhjKSB8fCBJU19FWFRFTkRFUihjKSkgeworCWN1ciArPSBsOworCWMgPSBDVVJfU0NIQVIoY3VyLCBsKTsKKyAgICB9CisgICAgaWYgKHNwYWNlKSB7CisJd2hpbGUgKElTX0JMQU5LKGMpKSB7CisJICAgIGN1ciArPSBsOworCSAgICBjID0gQ1VSX1NDSEFSKGN1ciwgbCk7CisJfQorICAgIH0KKyAgICBpZiAoYyAhPSAwKQorCXJldHVybigxKTsKKyAgICByZXR1cm4oMCk7Cit9CisKKy8qKgorICogeG1sVmFsaWRhdGVOTVRva2VuOgorICogQHZhbHVlOiB0aGUgdmFsdWUgdG8gY2hlY2sKKyAqIEBzcGFjZTogYWxsb3cgc3BhY2VzIGluIGZyb250IGFuZCBlbmQgb2YgdGhlIHN0cmluZworICoKKyAqIENoZWNrIHRoYXQgYSB2YWx1ZSBjb25mb3JtcyB0byB0aGUgbGV4aWNhbCBzcGFjZSBvZiBOTVRva2VuCisgKgorICogUmV0dXJucyAwIGlmIHRoaXMgdmFsaWRhdGVzLCBhIHBvc2l0aXZlIGVycm9yIGNvZGUgbnVtYmVyIG90aGVyd2lzZQorICogICAgICAgICBhbmQgLTEgaW4gY2FzZSBvZiBpbnRlcm5hbCBvciBBUEkgZXJyb3IuCisgKi8KK2ludAoreG1sVmFsaWRhdGVOTVRva2VuKGNvbnN0IHhtbENoYXIgKnZhbHVlLCBpbnQgc3BhY2UpIHsKKyAgICBjb25zdCB4bWxDaGFyICpjdXIgPSB2YWx1ZTsKKyAgICBpbnQgYyxsOworCisgICAgaWYgKHZhbHVlID09IE5VTEwpCisgICAgICAgIHJldHVybigtMSk7CisgICAgLyoKKyAgICAgKiBGaXJzdCBxdWljayBhbGdvcml0aG0gZm9yIEFTQ0lJIHJhbmdlCisgICAgICovCisgICAgaWYgKHNwYWNlKQorCXdoaWxlIChJU19CTEFOS19DSCgqY3VyKSkgY3VyKys7CisgICAgaWYgKCgoKmN1ciA+PSAnYScpICYmICgqY3VyIDw9ICd6JykpIHx8CisgICAgICAgICgoKmN1ciA+PSAnQScpICYmICgqY3VyIDw9ICdaJykpIHx8CisgICAgICAgICgoKmN1ciA+PSAnMCcpICYmICgqY3VyIDw9ICc5JykpIHx8CisgICAgICAgICgqY3VyID09ICdfJykgfHwgKCpjdXIgPT0gJy0nKSB8fCAoKmN1ciA9PSAnLicpIHx8ICgqY3VyID09ICc6JykpCisJY3VyKys7CisgICAgZWxzZQorCWdvdG8gdHJ5X2NvbXBsZXg7CisgICAgd2hpbGUgKCgoKmN1ciA+PSAnYScpICYmICgqY3VyIDw9ICd6JykpIHx8CisJICAgKCgqY3VyID49ICdBJykgJiYgKCpjdXIgPD0gJ1onKSkgfHwKKwkgICAoKCpjdXIgPj0gJzAnKSAmJiAoKmN1ciA8PSAnOScpKSB8fAorCSAgICgqY3VyID09ICdfJykgfHwgKCpjdXIgPT0gJy0nKSB8fCAoKmN1ciA9PSAnLicpIHx8ICgqY3VyID09ICc6JykpCisJY3VyKys7CisgICAgaWYgKHNwYWNlKQorCXdoaWxlIChJU19CTEFOS19DSCgqY3VyKSkgY3VyKys7CisgICAgaWYgKCpjdXIgPT0gMCkKKwlyZXR1cm4oMCk7CisKK3RyeV9jb21wbGV4OgorICAgIC8qCisgICAgICogU2Vjb25kIGNoZWNrIGZvciBjaGFycyBvdXRzaWRlIHRoZSBBU0NJSSByYW5nZQorICAgICAqLworICAgIGN1ciA9IHZhbHVlOworICAgIGMgPSBDVVJfU0NIQVIoY3VyLCBsKTsKKyAgICBpZiAoc3BhY2UpIHsKKwl3aGlsZSAoSVNfQkxBTksoYykpIHsKKwkgICAgY3VyICs9IGw7CisJICAgIGMgPSBDVVJfU0NIQVIoY3VyLCBsKTsKKwl9CisgICAgfQorICAgIGlmICghKElTX0xFVFRFUihjKSB8fCBJU19ESUdJVChjKSB8fCAoYyA9PSAnLicpIHx8IChjID09ICc6JykgfHwKKyAgICAgICAgKGMgPT0gJy0nKSB8fCAoYyA9PSAnXycpIHx8IElTX0NPTUJJTklORyhjKSB8fCBJU19FWFRFTkRFUihjKSkpCisJcmV0dXJuKDEpOworICAgIGN1ciArPSBsOworICAgIGMgPSBDVVJfU0NIQVIoY3VyLCBsKTsKKyAgICB3aGlsZSAoSVNfTEVUVEVSKGMpIHx8IElTX0RJR0lUKGMpIHx8IChjID09ICcuJykgfHwgKGMgPT0gJzonKSB8fAorCSAgIChjID09ICctJykgfHwgKGMgPT0gJ18nKSB8fCBJU19DT01CSU5JTkcoYykgfHwgSVNfRVhURU5ERVIoYykpIHsKKwljdXIgKz0gbDsKKwljID0gQ1VSX1NDSEFSKGN1ciwgbCk7CisgICAgfQorICAgIGlmIChzcGFjZSkgeworCXdoaWxlIChJU19CTEFOSyhjKSkgeworCSAgICBjdXIgKz0gbDsKKwkgICAgYyA9IENVUl9TQ0hBUihjdXIsIGwpOworCX0KKyAgICB9CisgICAgaWYgKGMgIT0gMCkKKwlyZXR1cm4oMSk7CisgICAgcmV0dXJuKDApOworfQorI2VuZGlmIC8qIExJQlhNTF9UUkVFX0VOQUJMRUQgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJQWxsb2NhdGlvbiBhbmQgZGVhbGxvY2F0aW9uIG9mIGJhc2ljIHN0cnVjdHVyZXMJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqCisgKiB4bWxTZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lOgorICogQHNjaGVtZTogIGFsbG9jYXRpb24gbWV0aG9kIHRvIHVzZQorICoKKyAqIFNldCB0aGUgYnVmZmVyIGFsbG9jYXRpb24gbWV0aG9kLiAgVHlwZXMgYXJlCisgKiBYTUxfQlVGRkVSX0FMTE9DX0VYQUNUIC0gdXNlIGV4YWN0IHNpemVzLCBrZWVwcyBtZW1vcnkgdXNhZ2UgZG93bgorICogWE1MX0JVRkZFUl9BTExPQ19ET1VCTEVJVCAtIGRvdWJsZSBidWZmZXIgd2hlbiBleHRyYSBuZWVkZWQsCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1wcm92ZXMgcGVyZm9ybWFuY2UKKyAqLwordm9pZAoreG1sU2V0QnVmZmVyQWxsb2NhdGlvblNjaGVtZSh4bWxCdWZmZXJBbGxvY2F0aW9uU2NoZW1lIHNjaGVtZSkgeworICAgIGlmICgoc2NoZW1lID09IFhNTF9CVUZGRVJfQUxMT0NfRVhBQ1QpIHx8CisgICAgICAgIChzY2hlbWUgPT0gWE1MX0JVRkZFUl9BTExPQ19ET1VCTEVJVCkgfHwKKyAgICAgICAgKHNjaGVtZSA9PSBYTUxfQlVGRkVSX0FMTE9DX0hZQlJJRCkpCisJeG1sQnVmZmVyQWxsb2NTY2hlbWUgPSBzY2hlbWU7Cit9CisKKy8qKgorICogeG1sR2V0QnVmZmVyQWxsb2NhdGlvblNjaGVtZToKKyAqCisgKiBUeXBlcyBhcmUKKyAqIFhNTF9CVUZGRVJfQUxMT0NfRVhBQ1QgLSB1c2UgZXhhY3Qgc2l6ZXMsIGtlZXBzIG1lbW9yeSB1c2FnZSBkb3duCisgKiBYTUxfQlVGRkVSX0FMTE9DX0RPVUJMRUlUIC0gZG91YmxlIGJ1ZmZlciB3aGVuIGV4dHJhIG5lZWRlZCwKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbXByb3ZlcyBwZXJmb3JtYW5jZQorICogWE1MX0JVRkZFUl9BTExPQ19IWUJSSUQgLSB1c2UgZXhhY3Qgc2l6ZXMgb24gc21hbGwgc3RyaW5ncyB0byBrZWVwIG1lbW9yeSB1c2FnZSB0aWdodAorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gbm9ybWFsIHVzYWdlLCBhbmQgZG91YmxlaXQgb24gbGFyZ2Ugc3RyaW5ncyB0byBhdm9pZAorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aG9sb2dpY2FsIHBlcmZvcm1hbmNlLgorICoKKyAqIFJldHVybnMgdGhlIGN1cnJlbnQgYWxsb2NhdGlvbiBzY2hlbWUKKyAqLworeG1sQnVmZmVyQWxsb2NhdGlvblNjaGVtZQoreG1sR2V0QnVmZmVyQWxsb2NhdGlvblNjaGVtZSh2b2lkKSB7CisgICAgcmV0dXJuKHhtbEJ1ZmZlckFsbG9jU2NoZW1lKTsKK30KKworLyoqCisgKiB4bWxOZXdOczoKKyAqIEBub2RlOiAgdGhlIGVsZW1lbnQgY2FycnlpbmcgdGhlIG5hbWVzcGFjZQorICogQGhyZWY6ICB0aGUgVVJJIGFzc29jaWF0ZWQKKyAqIEBwcmVmaXg6ICB0aGUgcHJlZml4IGZvciB0aGUgbmFtZXNwYWNlCisgKgorICogQ3JlYXRpb24gb2YgYSBuZXcgTmFtZXNwYWNlLiBUaGlzIGZ1bmN0aW9uIHdpbGwgcmVmdXNlIHRvIGNyZWF0ZQorICogYSBuYW1lc3BhY2Ugd2l0aCBhIHNpbWlsYXIgcHJlZml4IHRoYW4gYW4gZXhpc3Rpbmcgb25lIHByZXNlbnQgb24gdGhpcworICogbm9kZS4KKyAqIE5vdGUgdGhhdCBmb3IgYSBkZWZhdWx0IG5hbWVzcGFjZSwgQHByZWZpeCBzaG91bGQgYmUgTlVMTC4KKyAqCisgKiBXZSB1c2UgaHJlZj09TlVMTCBpbiB0aGUgY2FzZSBvZiBhbiBlbGVtZW50IGNyZWF0aW9uIHdoZXJlIHRoZSBuYW1lc3BhY2UKKyAqIHdhcyBub3QgZGVmaW5lZC4KKyAqCisgKiBSZXR1cm5zIGEgbmV3IG5hbWVzcGFjZSBwb2ludGVyIG9yIE5VTEwKKyAqLworeG1sTnNQdHIKK3htbE5ld05zKHhtbE5vZGVQdHIgbm9kZSwgY29uc3QgeG1sQ2hhciAqaHJlZiwgY29uc3QgeG1sQ2hhciAqcHJlZml4KSB7CisgICAgeG1sTnNQdHIgY3VyOworCisgICAgaWYgKChub2RlICE9IE5VTEwpICYmIChub2RlLT50eXBlICE9IFhNTF9FTEVNRU5UX05PREUpKQorCXJldHVybihOVUxMKTsKKworICAgIGlmICgocHJlZml4ICE9IE5VTEwpICYmICh4bWxTdHJFcXVhbChwcmVmaXgsIEJBRF9DQVNUICJ4bWwiKSkpIHsKKyAgICAgICAgLyogeG1sIG5hbWVzcGFjZSBpcyBwcmVkZWZpbmVkLCBubyBuZWVkIHRvIGFkZCBpdCAqLworICAgICAgICBpZiAoeG1sU3RyRXF1YWwoaHJlZiwgWE1MX1hNTF9OQU1FU1BBQ0UpKQorICAgICAgICAgICAgcmV0dXJuKE5VTEwpOworCisgICAgICAgIC8qCisgICAgICAgICAqIFByb2JsZW0sIHRoaXMgaXMgYW4gYXR0ZW1wdCB0byBiaW5kIHhtbCBwcmVmaXggdG8gYSB3cm9uZworICAgICAgICAgKiBuYW1lc3BhY2UsIHdoaWNoIGJyZWFrcworICAgICAgICAgKiBOYW1lc3BhY2UgY29uc3RyYWludDogUmVzZXJ2ZWQgUHJlZml4ZXMgYW5kIE5hbWVzcGFjZSBOYW1lcworICAgICAgICAgKiBmcm9tIFhNTCBuYW1lc3BhY2UuIEJ1dCBkb2N1bWVudHMgYXV0aG9ycyBtYXkgbm90IGNhcmUgaW4KKyAgICAgICAgICogdGhlaXIgY29udGV4dCBzbyBsZXQncyBwcm9jZWVkLgorICAgICAgICAgKi8KKyAgICB9CisKKyAgICAvKgorICAgICAqIEFsbG9jYXRlIGEgbmV3IE5hbWVzcGFjZSBhbmQgZmlsbCB0aGUgZmllbGRzLgorICAgICAqLworICAgIGN1ciA9ICh4bWxOc1B0cikgeG1sTWFsbG9jKHNpemVvZih4bWxOcykpOworICAgIGlmIChjdXIgPT0gTlVMTCkgeworCXhtbFRyZWVFcnJNZW1vcnkoImJ1aWxkaW5nIG5hbWVzcGFjZSIpOworCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgbWVtc2V0KGN1ciwgMCwgc2l6ZW9mKHhtbE5zKSk7CisgICAgY3VyLT50eXBlID0gWE1MX0xPQ0FMX05BTUVTUEFDRTsKKworICAgIGlmIChocmVmICE9IE5VTEwpCisJY3VyLT5ocmVmID0geG1sU3RyZHVwKGhyZWYpOworICAgIGlmIChwcmVmaXggIT0gTlVMTCkKKwljdXItPnByZWZpeCA9IHhtbFN0cmR1cChwcmVmaXgpOworCisgICAgLyoKKyAgICAgKiBBZGQgaXQgYXQgdGhlIGVuZCB0byBwcmVzZXJ2ZSBwYXJzaW5nIG9yZGVyIC4uLgorICAgICAqIGFuZCBjaGVja3MgZm9yIGV4aXN0aW5nIHVzZSBvZiB0aGUgcHJlZml4CisgICAgICovCisgICAgaWYgKG5vZGUgIT0gTlVMTCkgeworCWlmIChub2RlLT5uc0RlZiA9PSBOVUxMKSB7CisJICAgIG5vZGUtPm5zRGVmID0gY3VyOworCX0gZWxzZSB7CisJICAgIHhtbE5zUHRyIHByZXYgPSBub2RlLT5uc0RlZjsKKworCSAgICBpZiAoKChwcmV2LT5wcmVmaXggPT0gTlVMTCkgJiYgKGN1ci0+cHJlZml4ID09IE5VTEwpKSB8fAorCQkoeG1sU3RyRXF1YWwocHJldi0+cHJlZml4LCBjdXItPnByZWZpeCkpKSB7CisJCXhtbEZyZWVOcyhjdXIpOworCQlyZXR1cm4oTlVMTCk7CisJICAgIH0KKwkgICAgd2hpbGUgKHByZXYtPm5leHQgIT0gTlVMTCkgeworCSAgICAgICAgcHJldiA9IHByZXYtPm5leHQ7CisJCWlmICgoKHByZXYtPnByZWZpeCA9PSBOVUxMKSAmJiAoY3VyLT5wcmVmaXggPT0gTlVMTCkpIHx8CisJCSAgICAoeG1sU3RyRXF1YWwocHJldi0+cHJlZml4LCBjdXItPnByZWZpeCkpKSB7CisJCSAgICB4bWxGcmVlTnMoY3VyKTsKKwkJICAgIHJldHVybihOVUxMKTsKKwkJfQorCSAgICB9CisJICAgIHByZXYtPm5leHQgPSBjdXI7CisJfQorICAgIH0KKyAgICByZXR1cm4oY3VyKTsKK30KKworLyoqCisgKiB4bWxTZXROczoKKyAqIEBub2RlOiAgYSBub2RlIGluIHRoZSBkb2N1bWVudAorICogQG5zOiAgYSBuYW1lc3BhY2UgcG9pbnRlcgorICoKKyAqIEFzc29jaWF0ZSBhIG5hbWVzcGFjZSB0byBhIG5vZGUsIGEgcG9zdGVyaW9yaS4KKyAqLwordm9pZAoreG1sU2V0TnMoeG1sTm9kZVB0ciBub2RlLCB4bWxOc1B0ciBucykgeworICAgIGlmIChub2RlID09IE5VTEwpIHsKKyNpZmRlZiBERUJVR19UUkVFCisgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkieG1sU2V0TnM6IG5vZGUgPT0gTlVMTFxuIik7CisjZW5kaWYKKwlyZXR1cm47CisgICAgfQorICAgIGlmICgobm9kZS0+dHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFKSB8fAorICAgICAgICAobm9kZS0+dHlwZSA9PSBYTUxfQVRUUklCVVRFX05PREUpKQorCW5vZGUtPm5zID0gbnM7Cit9CisKKy8qKgorICogeG1sRnJlZU5zOgorICogQGN1cjogIHRoZSBuYW1lc3BhY2UgcG9pbnRlcgorICoKKyAqIEZyZWUgdXAgdGhlIHN0cnVjdHVyZXMgYXNzb2NpYXRlZCB0byBhIG5hbWVzcGFjZQorICovCit2b2lkCit4bWxGcmVlTnMoeG1sTnNQdHIgY3VyKSB7CisgICAgaWYgKGN1ciA9PSBOVUxMKSB7CisjaWZkZWYgREVCVUdfVFJFRQorICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJInhtbEZyZWVOcyA6IG5zID09IE5VTExcbiIpOworI2VuZGlmCisJcmV0dXJuOworICAgIH0KKyAgICBpZiAoY3VyLT5ocmVmICE9IE5VTEwpIHhtbEZyZWUoKGNoYXIgKikgY3VyLT5ocmVmKTsKKyAgICBpZiAoY3VyLT5wcmVmaXggIT0gTlVMTCkgeG1sRnJlZSgoY2hhciAqKSBjdXItPnByZWZpeCk7CisgICAgeG1sRnJlZShjdXIpOworfQorCisvKioKKyAqIHhtbEZyZWVOc0xpc3Q6CisgKiBAY3VyOiAgdGhlIGZpcnN0IG5hbWVzcGFjZSBwb2ludGVyCisgKgorICogRnJlZSB1cCBhbGwgdGhlIHN0cnVjdHVyZXMgYXNzb2NpYXRlZCB0byB0aGUgY2hhaW5lZCBuYW1lc3BhY2VzLgorICovCit2b2lkCit4bWxGcmVlTnNMaXN0KHhtbE5zUHRyIGN1cikgeworICAgIHhtbE5zUHRyIG5leHQ7CisgICAgaWYgKGN1ciA9PSBOVUxMKSB7CisjaWZkZWYgREVCVUdfVFJFRQorICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJInhtbEZyZWVOc0xpc3QgOiBucyA9PSBOVUxMXG4iKTsKKyNlbmRpZgorCXJldHVybjsKKyAgICB9CisgICAgd2hpbGUgKGN1ciAhPSBOVUxMKSB7CisgICAgICAgIG5leHQgPSBjdXItPm5leHQ7CisgICAgICAgIHhtbEZyZWVOcyhjdXIpOworCWN1ciA9IG5leHQ7CisgICAgfQorfQorCisvKioKKyAqIHhtbE5ld0R0ZDoKKyAqIEBkb2M6ICB0aGUgZG9jdW1lbnQgcG9pbnRlcgorICogQG5hbWU6ICB0aGUgRFREIG5hbWUKKyAqIEBFeHRlcm5hbElEOiAgdGhlIGV4dGVybmFsIElECisgKiBAU3lzdGVtSUQ6ICB0aGUgc3lzdGVtIElECisgKgorICogQ3JlYXRpb24gb2YgYSBuZXcgRFREIGZvciB0aGUgZXh0ZXJuYWwgc3Vic2V0LiBUbyBjcmVhdGUgYW4KKyAqIGludGVybmFsIHN1YnNldCwgdXNlIHhtbENyZWF0ZUludFN1YnNldCgpLgorICoKKyAqIFJldHVybnMgYSBwb2ludGVyIHRvIHRoZSBuZXcgRFREIHN0cnVjdHVyZQorICovCit4bWxEdGRQdHIKK3htbE5ld0R0ZCh4bWxEb2NQdHIgZG9jLCBjb25zdCB4bWxDaGFyICpuYW1lLAorICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICpFeHRlcm5hbElELCBjb25zdCB4bWxDaGFyICpTeXN0ZW1JRCkgeworICAgIHhtbER0ZFB0ciBjdXI7CisKKyAgICBpZiAoKGRvYyAhPSBOVUxMKSAmJiAoZG9jLT5leHRTdWJzZXQgIT0gTlVMTCkpIHsKKyNpZmRlZiBERUJVR19UUkVFCisgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkieG1sTmV3RHRkKCVzKTogZG9jdW1lbnQgJXMgYWxyZWFkeSBoYXZlIGEgRFREICVzXG4iLAorCSAgICAvKiAhISEgKi8gKGNoYXIgKikgbmFtZSwgZG9jLT5uYW1lLAorCSAgICAvKiAhISEgKi8gKGNoYXIgKilkb2MtPmV4dFN1YnNldC0+bmFtZSk7CisjZW5kaWYKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorCisgICAgLyoKKyAgICAgKiBBbGxvY2F0ZSBhIG5ldyBEVEQgYW5kIGZpbGwgdGhlIGZpZWxkcy4KKyAgICAgKi8KKyAgICBjdXIgPSAoeG1sRHRkUHRyKSB4bWxNYWxsb2Moc2l6ZW9mKHhtbER0ZCkpOworICAgIGlmIChjdXIgPT0gTlVMTCkgeworCXhtbFRyZWVFcnJNZW1vcnkoImJ1aWxkaW5nIERURCIpOworCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgbWVtc2V0KGN1ciwgMCAsIHNpemVvZih4bWxEdGQpKTsKKyAgICBjdXItPnR5cGUgPSBYTUxfRFREX05PREU7CisKKyAgICBpZiAobmFtZSAhPSBOVUxMKQorCWN1ci0+bmFtZSA9IHhtbFN0cmR1cChuYW1lKTsKKyAgICBpZiAoRXh0ZXJuYWxJRCAhPSBOVUxMKQorCWN1ci0+RXh0ZXJuYWxJRCA9IHhtbFN0cmR1cChFeHRlcm5hbElEKTsKKyAgICBpZiAoU3lzdGVtSUQgIT0gTlVMTCkKKwljdXItPlN5c3RlbUlEID0geG1sU3RyZHVwKFN5c3RlbUlEKTsKKyAgICBpZiAoZG9jICE9IE5VTEwpCisJZG9jLT5leHRTdWJzZXQgPSBjdXI7CisgICAgY3VyLT5kb2MgPSBkb2M7CisKKyAgICBpZiAoKF9feG1sUmVnaXN0ZXJDYWxsYmFja3MpICYmICh4bWxSZWdpc3Rlck5vZGVEZWZhdWx0VmFsdWUpKQorCXhtbFJlZ2lzdGVyTm9kZURlZmF1bHRWYWx1ZSgoeG1sTm9kZVB0ciljdXIpOworICAgIHJldHVybihjdXIpOworfQorCisvKioKKyAqIHhtbEdldEludFN1YnNldDoKKyAqIEBkb2M6ICB0aGUgZG9jdW1lbnQgcG9pbnRlcgorICoKKyAqIEdldCB0aGUgaW50ZXJuYWwgc3Vic2V0IG9mIGEgZG9jdW1lbnQKKyAqIFJldHVybnMgYSBwb2ludGVyIHRvIHRoZSBEVEQgc3RydWN0dXJlIG9yIE5VTEwgaWYgbm90IGZvdW5kCisgKi8KKworeG1sRHRkUHRyCit4bWxHZXRJbnRTdWJzZXQoY29uc3QgeG1sRG9jICpkb2MpIHsKKyAgICB4bWxOb2RlUHRyIGN1cjsKKworICAgIGlmIChkb2MgPT0gTlVMTCkKKwlyZXR1cm4oTlVMTCk7CisgICAgY3VyID0gZG9jLT5jaGlsZHJlbjsKKyAgICB3aGlsZSAoY3VyICE9IE5VTEwpIHsKKwlpZiAoY3VyLT50eXBlID09IFhNTF9EVERfTk9ERSkKKwkgICAgcmV0dXJuKCh4bWxEdGRQdHIpIGN1cik7CisJY3VyID0gY3VyLT5uZXh0OworICAgIH0KKyAgICByZXR1cm4oKHhtbER0ZFB0cikgZG9jLT5pbnRTdWJzZXQpOworfQorCisvKioKKyAqIHhtbENyZWF0ZUludFN1YnNldDoKKyAqIEBkb2M6ICB0aGUgZG9jdW1lbnQgcG9pbnRlcgorICogQG5hbWU6ICB0aGUgRFREIG5hbWUKKyAqIEBFeHRlcm5hbElEOiAgdGhlIGV4dGVybmFsIChQVUJMSUMpIElECisgKiBAU3lzdGVtSUQ6ICB0aGUgc3lzdGVtIElECisgKgorICogQ3JlYXRlIHRoZSBpbnRlcm5hbCBzdWJzZXQgb2YgYSBkb2N1bWVudAorICogUmV0dXJucyBhIHBvaW50ZXIgdG8gdGhlIG5ldyBEVEQgc3RydWN0dXJlCisgKi8KK3htbER0ZFB0cgoreG1sQ3JlYXRlSW50U3Vic2V0KHhtbERvY1B0ciBkb2MsIGNvbnN0IHhtbENoYXIgKm5hbWUsCisgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqRXh0ZXJuYWxJRCwgY29uc3QgeG1sQ2hhciAqU3lzdGVtSUQpIHsKKyAgICB4bWxEdGRQdHIgY3VyOworCisgICAgaWYgKChkb2MgIT0gTlVMTCkgJiYgKHhtbEdldEludFN1YnNldChkb2MpICE9IE5VTEwpKSB7CisjaWZkZWYgREVCVUdfVFJFRQorICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKworICAgICAieG1sQ3JlYXRlSW50U3Vic2V0KCk6IGRvY3VtZW50ICVzIGFscmVhZHkgaGF2ZSBhbiBpbnRlcm5hbCBzdWJzZXRcbiIsCisJICAgIGRvYy0+bmFtZSk7CisjZW5kaWYKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorCisgICAgLyoKKyAgICAgKiBBbGxvY2F0ZSBhIG5ldyBEVEQgYW5kIGZpbGwgdGhlIGZpZWxkcy4KKyAgICAgKi8KKyAgICBjdXIgPSAoeG1sRHRkUHRyKSB4bWxNYWxsb2Moc2l6ZW9mKHhtbER0ZCkpOworICAgIGlmIChjdXIgPT0gTlVMTCkgeworCXhtbFRyZWVFcnJNZW1vcnkoImJ1aWxkaW5nIGludGVybmFsIHN1YnNldCIpOworCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgbWVtc2V0KGN1ciwgMCwgc2l6ZW9mKHhtbER0ZCkpOworICAgIGN1ci0+dHlwZSA9IFhNTF9EVERfTk9ERTsKKworICAgIGlmIChuYW1lICE9IE5VTEwpIHsKKwljdXItPm5hbWUgPSB4bWxTdHJkdXAobmFtZSk7CisJaWYgKGN1ci0+bmFtZSA9PSBOVUxMKSB7CisJICAgIHhtbFRyZWVFcnJNZW1vcnkoImJ1aWxkaW5nIGludGVybmFsIHN1YnNldCIpOworCSAgICB4bWxGcmVlKGN1cik7CisJICAgIHJldHVybihOVUxMKTsKKwl9CisgICAgfQorICAgIGlmIChFeHRlcm5hbElEICE9IE5VTEwpIHsKKwljdXItPkV4dGVybmFsSUQgPSB4bWxTdHJkdXAoRXh0ZXJuYWxJRCk7CisJaWYgKGN1ci0+RXh0ZXJuYWxJRCAgPT0gTlVMTCkgeworCSAgICB4bWxUcmVlRXJyTWVtb3J5KCJidWlsZGluZyBpbnRlcm5hbCBzdWJzZXQiKTsKKwkgICAgaWYgKGN1ci0+bmFtZSAhPSBOVUxMKQorCSAgICAgICAgeG1sRnJlZSgoY2hhciAqKWN1ci0+bmFtZSk7CisJICAgIHhtbEZyZWUoY3VyKTsKKwkgICAgcmV0dXJuKE5VTEwpOworCX0KKyAgICB9CisgICAgaWYgKFN5c3RlbUlEICE9IE5VTEwpIHsKKwljdXItPlN5c3RlbUlEID0geG1sU3RyZHVwKFN5c3RlbUlEKTsKKwlpZiAoY3VyLT5TeXN0ZW1JRCA9PSBOVUxMKSB7CisJICAgIHhtbFRyZWVFcnJNZW1vcnkoImJ1aWxkaW5nIGludGVybmFsIHN1YnNldCIpOworCSAgICBpZiAoY3VyLT5uYW1lICE9IE5VTEwpCisJICAgICAgICB4bWxGcmVlKChjaGFyICopY3VyLT5uYW1lKTsKKwkgICAgaWYgKGN1ci0+RXh0ZXJuYWxJRCAhPSBOVUxMKQorCSAgICAgICAgeG1sRnJlZSgoY2hhciAqKWN1ci0+RXh0ZXJuYWxJRCk7CisJICAgIHhtbEZyZWUoY3VyKTsKKwkgICAgcmV0dXJuKE5VTEwpOworCX0KKyAgICB9CisgICAgaWYgKGRvYyAhPSBOVUxMKSB7CisJZG9jLT5pbnRTdWJzZXQgPSBjdXI7CisJY3VyLT5wYXJlbnQgPSBkb2M7CisJY3VyLT5kb2MgPSBkb2M7CisJaWYgKGRvYy0+Y2hpbGRyZW4gPT0gTlVMTCkgeworCSAgICBkb2MtPmNoaWxkcmVuID0gKHhtbE5vZGVQdHIpIGN1cjsKKwkgICAgZG9jLT5sYXN0ID0gKHhtbE5vZGVQdHIpIGN1cjsKKwl9IGVsc2UgeworCSAgICBpZiAoZG9jLT50eXBlID09IFhNTF9IVE1MX0RPQ1VNRU5UX05PREUpIHsKKwkJeG1sTm9kZVB0ciBwcmV2OworCisJCXByZXYgPSBkb2MtPmNoaWxkcmVuOworCQlwcmV2LT5wcmV2ID0gKHhtbE5vZGVQdHIpIGN1cjsKKwkJY3VyLT5uZXh0ID0gcHJldjsKKwkJZG9jLT5jaGlsZHJlbiA9ICh4bWxOb2RlUHRyKSBjdXI7CisJICAgIH0gZWxzZSB7CisJCXhtbE5vZGVQdHIgbmV4dDsKKworCQluZXh0ID0gZG9jLT5jaGlsZHJlbjsKKwkJd2hpbGUgKChuZXh0ICE9IE5VTEwpICYmIChuZXh0LT50eXBlICE9IFhNTF9FTEVNRU5UX05PREUpKQorCQkgICAgbmV4dCA9IG5leHQtPm5leHQ7CisJCWlmIChuZXh0ID09IE5VTEwpIHsKKwkJICAgIGN1ci0+cHJldiA9IGRvYy0+bGFzdDsKKwkJICAgIGN1ci0+cHJldi0+bmV4dCA9ICh4bWxOb2RlUHRyKSBjdXI7CisJCSAgICBjdXItPm5leHQgPSBOVUxMOworCQkgICAgZG9jLT5sYXN0ID0gKHhtbE5vZGVQdHIpIGN1cjsKKwkJfSBlbHNlIHsKKwkJICAgIGN1ci0+bmV4dCA9IG5leHQ7CisJCSAgICBjdXItPnByZXYgPSBuZXh0LT5wcmV2OworCQkgICAgaWYgKGN1ci0+cHJldiA9PSBOVUxMKQorCQkJZG9jLT5jaGlsZHJlbiA9ICh4bWxOb2RlUHRyKSBjdXI7CisJCSAgICBlbHNlCisJCQljdXItPnByZXYtPm5leHQgPSAoeG1sTm9kZVB0cikgY3VyOworCQkgICAgbmV4dC0+cHJldiA9ICh4bWxOb2RlUHRyKSBjdXI7CisJCX0KKwkgICAgfQorCX0KKyAgICB9CisKKyAgICBpZiAoKF9feG1sUmVnaXN0ZXJDYWxsYmFja3MpICYmICh4bWxSZWdpc3Rlck5vZGVEZWZhdWx0VmFsdWUpKQorCXhtbFJlZ2lzdGVyTm9kZURlZmF1bHRWYWx1ZSgoeG1sTm9kZVB0ciljdXIpOworICAgIHJldHVybihjdXIpOworfQorCisvKioKKyAqIERJQ1RfRlJFRToKKyAqIEBzdHI6ICBhIHN0cmluZworICoKKyAqIEZyZWUgYSBzdHJpbmcgaWYgaXQgaXMgbm90IG93bmVkIGJ5IHRoZSAiZGljdCIgZGljdGlvbm5hcnkgaW4gdGhlCisgKiBjdXJyZW50IHNjb3BlCisgKi8KKyNkZWZpbmUgRElDVF9GUkVFKHN0cikJCQkJCQlcCisJaWYgKChzdHIpICYmICgoIWRpY3QpIHx8CQkJCVwKKwkgICAgKHhtbERpY3RPd25zKGRpY3QsIChjb25zdCB4bWxDaGFyICopKHN0cikpID09IDApKSkJXAorCSAgICB4bWxGcmVlKChjaGFyICopKHN0cikpOworCisKKy8qKgorICogRElDVF9DT1BZOgorICogQHN0cjogIGEgc3RyaW5nCisgKgorICogQ29weSBhIHN0cmluZyB1c2luZyBhICJkaWN0IiBkaWN0aW9ubmFyeSBpbiB0aGUgY3VycmVudCBzY29wZSwKKyAqIGlmIGF2YWlsYWJlLgorICovCisjZGVmaW5lIERJQ1RfQ09QWShzdHIsIGNweSkgXAorICAgIGlmIChzdHIpIHsgXAorCWlmIChkaWN0KSB7IFwKKwkgICAgaWYgKHhtbERpY3RPd25zKGRpY3QsIChjb25zdCB4bWxDaGFyICopKHN0cikpKSBcCisJCWNweSA9ICh4bWxDaGFyICopIChzdHIpOyBcCisJICAgIGVsc2UgXAorCQljcHkgPSAoeG1sQ2hhciAqKSB4bWxEaWN0TG9va3VwKChkaWN0KSwgKGNvbnN0IHhtbENoYXIgKikoc3RyKSwgLTEpOyBcCisJfSBlbHNlIFwKKwkgICAgY3B5ID0geG1sU3RyZHVwKChjb25zdCB4bWxDaGFyICopKHN0cikpOyB9CisKKy8qKgorICogRElDVF9DT05TVF9DT1BZOgorICogQHN0cjogIGEgc3RyaW5nCisgKgorICogQ29weSBhIHN0cmluZyB1c2luZyBhICJkaWN0IiBkaWN0aW9ubmFyeSBpbiB0aGUgY3VycmVudCBzY29wZSwKKyAqIGlmIGF2YWlsYWJlLgorICovCisjZGVmaW5lIERJQ1RfQ09OU1RfQ09QWShzdHIsIGNweSkgXAorICAgIGlmIChzdHIpIHsgXAorCWlmIChkaWN0KSB7IFwKKwkgICAgaWYgKHhtbERpY3RPd25zKGRpY3QsIChjb25zdCB4bWxDaGFyICopKHN0cikpKSBcCisJCWNweSA9IChjb25zdCB4bWxDaGFyICopIChzdHIpOyBcCisJICAgIGVsc2UgXAorCQljcHkgPSB4bWxEaWN0TG9va3VwKChkaWN0KSwgKGNvbnN0IHhtbENoYXIgKikoc3RyKSwgLTEpOyBcCisJfSBlbHNlIFwKKwkgICAgY3B5ID0gKGNvbnN0IHhtbENoYXIgKikgeG1sU3RyZHVwKChjb25zdCB4bWxDaGFyICopKHN0cikpOyB9CisKKworLyoqCisgKiB4bWxGcmVlRHRkOgorICogQGN1cjogIHRoZSBEVEQgc3RydWN0dXJlIHRvIGZyZWUgdXAKKyAqCisgKiBGcmVlIGEgRFREIHN0cnVjdHVyZS4KKyAqLwordm9pZAoreG1sRnJlZUR0ZCh4bWxEdGRQdHIgY3VyKSB7CisgICAgeG1sRGljdFB0ciBkaWN0ID0gTlVMTDsKKworICAgIGlmIChjdXIgPT0gTlVMTCkgeworCXJldHVybjsKKyAgICB9CisgICAgaWYgKGN1ci0+ZG9jICE9IE5VTEwpIGRpY3QgPSBjdXItPmRvYy0+ZGljdDsKKworICAgIGlmICgoX194bWxSZWdpc3RlckNhbGxiYWNrcykgJiYgKHhtbERlcmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlKSkKKwl4bWxEZXJlZ2lzdGVyTm9kZURlZmF1bHRWYWx1ZSgoeG1sTm9kZVB0ciljdXIpOworCisgICAgaWYgKGN1ci0+Y2hpbGRyZW4gIT0gTlVMTCkgeworCXhtbE5vZGVQdHIgbmV4dCwgYyA9IGN1ci0+Y2hpbGRyZW47CisKKwkvKgorCSAqIENsZWFudXAgYWxsIG5vZGVzIHdoaWNoIGFyZSBub3QgcGFydCBvZiB0aGUgc3BlY2lmaWMgbGlzdHMKKwkgKiBvZiBub3RhdGlvbnMsIGVsZW1lbnRzLCBhdHRyaWJ1dGVzIGFuZCBlbnRpdGllcy4KKwkgKi8KKyAgICAgICAgd2hpbGUgKGMgIT0gTlVMTCkgeworCSAgICBuZXh0ID0gYy0+bmV4dDsKKwkgICAgaWYgKChjLT50eXBlICE9IFhNTF9OT1RBVElPTl9OT0RFKSAmJgorCSAgICAgICAgKGMtPnR5cGUgIT0gWE1MX0VMRU1FTlRfREVDTCkgJiYKKwkJKGMtPnR5cGUgIT0gWE1MX0FUVFJJQlVURV9ERUNMKSAmJgorCQkoYy0+dHlwZSAhPSBYTUxfRU5USVRZX0RFQ0wpKSB7CisJCXhtbFVubGlua05vZGUoYyk7CisJCXhtbEZyZWVOb2RlKGMpOworCSAgICB9CisJICAgIGMgPSBuZXh0OworCX0KKyAgICB9CisgICAgRElDVF9GUkVFKGN1ci0+bmFtZSkKKyAgICBESUNUX0ZSRUUoY3VyLT5TeXN0ZW1JRCkKKyAgICBESUNUX0ZSRUUoY3VyLT5FeHRlcm5hbElEKQorICAgIC8qIFRPRE8gISEhICovCisgICAgaWYgKGN1ci0+bm90YXRpb25zICE9IE5VTEwpCisgICAgICAgIHhtbEZyZWVOb3RhdGlvblRhYmxlKCh4bWxOb3RhdGlvblRhYmxlUHRyKSBjdXItPm5vdGF0aW9ucyk7CisKKyAgICBpZiAoY3VyLT5lbGVtZW50cyAhPSBOVUxMKQorICAgICAgICB4bWxGcmVlRWxlbWVudFRhYmxlKCh4bWxFbGVtZW50VGFibGVQdHIpIGN1ci0+ZWxlbWVudHMpOworICAgIGlmIChjdXItPmF0dHJpYnV0ZXMgIT0gTlVMTCkKKyAgICAgICAgeG1sRnJlZUF0dHJpYnV0ZVRhYmxlKCh4bWxBdHRyaWJ1dGVUYWJsZVB0cikgY3VyLT5hdHRyaWJ1dGVzKTsKKyAgICBpZiAoY3VyLT5lbnRpdGllcyAhPSBOVUxMKQorICAgICAgICB4bWxGcmVlRW50aXRpZXNUYWJsZSgoeG1sRW50aXRpZXNUYWJsZVB0cikgY3VyLT5lbnRpdGllcyk7CisgICAgaWYgKGN1ci0+cGVudGl0aWVzICE9IE5VTEwpCisgICAgICAgIHhtbEZyZWVFbnRpdGllc1RhYmxlKCh4bWxFbnRpdGllc1RhYmxlUHRyKSBjdXItPnBlbnRpdGllcyk7CisKKyAgICB4bWxGcmVlKGN1cik7Cit9CisKKy8qKgorICogeG1sTmV3RG9jOgorICogQHZlcnNpb246ICB4bWxDaGFyIHN0cmluZyBnaXZpbmcgdGhlIHZlcnNpb24gb2YgWE1MICIxLjAiCisgKgorICogQ3JlYXRlcyBhIG5ldyBYTUwgZG9jdW1lbnQKKyAqCisgKiBSZXR1cm5zIGEgbmV3IGRvY3VtZW50CisgKi8KK3htbERvY1B0cgoreG1sTmV3RG9jKGNvbnN0IHhtbENoYXIgKnZlcnNpb24pIHsKKyAgICB4bWxEb2NQdHIgY3VyOworCisgICAgaWYgKHZlcnNpb24gPT0gTlVMTCkKKwl2ZXJzaW9uID0gKGNvbnN0IHhtbENoYXIgKikgIjEuMCI7CisKKyAgICAvKgorICAgICAqIEFsbG9jYXRlIGEgbmV3IGRvY3VtZW50IGFuZCBmaWxsIHRoZSBmaWVsZHMuCisgICAgICovCisgICAgY3VyID0gKHhtbERvY1B0cikgeG1sTWFsbG9jKHNpemVvZih4bWxEb2MpKTsKKyAgICBpZiAoY3VyID09IE5VTEwpIHsKKwl4bWxUcmVlRXJyTWVtb3J5KCJidWlsZGluZyBkb2MiKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIG1lbXNldChjdXIsIDAsIHNpemVvZih4bWxEb2MpKTsKKyAgICBjdXItPnR5cGUgPSBYTUxfRE9DVU1FTlRfTk9ERTsKKworICAgIGN1ci0+dmVyc2lvbiA9IHhtbFN0cmR1cCh2ZXJzaW9uKTsKKyAgICBpZiAoY3VyLT52ZXJzaW9uID09IE5VTEwpIHsKKwl4bWxUcmVlRXJyTWVtb3J5KCJidWlsZGluZyBkb2MiKTsKKwl4bWxGcmVlKGN1cik7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBjdXItPnN0YW5kYWxvbmUgPSAtMTsKKyAgICBjdXItPmNvbXByZXNzaW9uID0gLTE7IC8qIG5vdCBpbml0aWFsaXplZCAqLworICAgIGN1ci0+ZG9jID0gY3VyOworICAgIGN1ci0+cGFyc2VGbGFncyA9IDA7CisgICAgY3VyLT5wcm9wZXJ0aWVzID0gWE1MX0RPQ19VU0VSQlVJTFQ7CisgICAgLyoKKyAgICAgKiBUaGUgaW4gbWVtb3J5IGVuY29kaW5nIGlzIGFsd2F5cyBVVEY4CisgICAgICogVGhpcyBmaWVsZCB3aWxsIG5ldmVyIGNoYW5nZSBhbmQgd291bGQKKyAgICAgKiBiZSBvYnNvbGV0ZSBpZiBub3QgZm9yIGJpbmFyeSBjb21wYXRpYmlsaXR5LgorICAgICAqLworICAgIGN1ci0+Y2hhcnNldCA9IFhNTF9DSEFSX0VOQ09ESU5HX1VURjg7CisKKyAgICBpZiAoKF9feG1sUmVnaXN0ZXJDYWxsYmFja3MpICYmICh4bWxSZWdpc3Rlck5vZGVEZWZhdWx0VmFsdWUpKQorCXhtbFJlZ2lzdGVyTm9kZURlZmF1bHRWYWx1ZSgoeG1sTm9kZVB0ciljdXIpOworICAgIHJldHVybihjdXIpOworfQorCisvKioKKyAqIHhtbEZyZWVEb2M6CisgKiBAY3VyOiAgcG9pbnRlciB0byB0aGUgZG9jdW1lbnQKKyAqCisgKiBGcmVlIHVwIGFsbCB0aGUgc3RydWN0dXJlcyB1c2VkIGJ5IGEgZG9jdW1lbnQsIHRyZWUgaW5jbHVkZWQuCisgKi8KK3ZvaWQKK3htbEZyZWVEb2MoeG1sRG9jUHRyIGN1cikgeworICAgIHhtbER0ZFB0ciBleHRTdWJzZXQsIGludFN1YnNldDsKKyAgICB4bWxEaWN0UHRyIGRpY3QgPSBOVUxMOworCisgICAgaWYgKGN1ciA9PSBOVUxMKSB7CisjaWZkZWYgREVCVUdfVFJFRQorICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJInhtbEZyZWVEb2MgOiBkb2N1bWVudCA9PSBOVUxMXG4iKTsKKyNlbmRpZgorCXJldHVybjsKKyAgICB9CisjaWZkZWYgTElCWE1MX0RFQlVHX1JVTlRJTUUKKyNpZmRlZiBMSUJYTUxfREVCVUdfRU5BQkxFRAorICAgIHhtbERlYnVnQ2hlY2tEb2N1bWVudChzdGRlcnIsIGN1cik7CisjZW5kaWYKKyNlbmRpZgorCisgICAgaWYgKGN1ciAhPSBOVUxMKSBkaWN0ID0gY3VyLT5kaWN0OworCisgICAgaWYgKChfX3htbFJlZ2lzdGVyQ2FsbGJhY2tzKSAmJiAoeG1sRGVyZWdpc3Rlck5vZGVEZWZhdWx0VmFsdWUpKQorCXhtbERlcmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlKCh4bWxOb2RlUHRyKWN1cik7CisKKyAgICAvKgorICAgICAqIERvIHRoaXMgYmVmb3JlIGZyZWVpbmcgdGhlIGNoaWxkcmVuIGxpc3QgdG8gYXZvaWQgSUQgbG9va3VwcworICAgICAqLworICAgIGlmIChjdXItPmlkcyAhPSBOVUxMKSB4bWxGcmVlSURUYWJsZSgoeG1sSURUYWJsZVB0cikgY3VyLT5pZHMpOworICAgIGN1ci0+aWRzID0gTlVMTDsKKyAgICBpZiAoY3VyLT5yZWZzICE9IE5VTEwpIHhtbEZyZWVSZWZUYWJsZSgoeG1sUmVmVGFibGVQdHIpIGN1ci0+cmVmcyk7CisgICAgY3VyLT5yZWZzID0gTlVMTDsKKyAgICBleHRTdWJzZXQgPSBjdXItPmV4dFN1YnNldDsKKyAgICBpbnRTdWJzZXQgPSBjdXItPmludFN1YnNldDsKKyAgICBpZiAoaW50U3Vic2V0ID09IGV4dFN1YnNldCkKKwlleHRTdWJzZXQgPSBOVUxMOworICAgIGlmIChleHRTdWJzZXQgIT0gTlVMTCkgeworCXhtbFVubGlua05vZGUoKHhtbE5vZGVQdHIpIGN1ci0+ZXh0U3Vic2V0KTsKKwljdXItPmV4dFN1YnNldCA9IE5VTEw7CisJeG1sRnJlZUR0ZChleHRTdWJzZXQpOworICAgIH0KKyAgICBpZiAoaW50U3Vic2V0ICE9IE5VTEwpIHsKKwl4bWxVbmxpbmtOb2RlKCh4bWxOb2RlUHRyKSBjdXItPmludFN1YnNldCk7CisJY3VyLT5pbnRTdWJzZXQgPSBOVUxMOworCXhtbEZyZWVEdGQoaW50U3Vic2V0KTsKKyAgICB9CisKKyAgICBpZiAoY3VyLT5jaGlsZHJlbiAhPSBOVUxMKSB4bWxGcmVlTm9kZUxpc3QoY3VyLT5jaGlsZHJlbik7CisgICAgaWYgKGN1ci0+b2xkTnMgIT0gTlVMTCkgeG1sRnJlZU5zTGlzdChjdXItPm9sZE5zKTsKKworICAgIERJQ1RfRlJFRShjdXItPnZlcnNpb24pCisgICAgRElDVF9GUkVFKGN1ci0+bmFtZSkKKyAgICBESUNUX0ZSRUUoY3VyLT5lbmNvZGluZykKKyAgICBESUNUX0ZSRUUoY3VyLT5VUkwpCisgICAgeG1sRnJlZShjdXIpOworICAgIGlmIChkaWN0KSB4bWxEaWN0RnJlZShkaWN0KTsKK30KKworLyoqCisgKiB4bWxTdHJpbmdMZW5HZXROb2RlTGlzdDoKKyAqIEBkb2M6ICB0aGUgZG9jdW1lbnQKKyAqIEB2YWx1ZTogIHRoZSB2YWx1ZSBvZiB0aGUgdGV4dAorICogQGxlbjogIHRoZSBsZW5ndGggb2YgdGhlIHN0cmluZyB2YWx1ZQorICoKKyAqIFBhcnNlIHRoZSB2YWx1ZSBzdHJpbmcgYW5kIGJ1aWxkIHRoZSBub2RlIGxpc3QgYXNzb2NpYXRlZC4gU2hvdWxkCisgKiBwcm9kdWNlIGEgZmxhdCB0cmVlIHdpdGggb25seSBURVhUcyBhbmQgRU5USVRZX1JFRnMuCisgKiBSZXR1cm5zIGEgcG9pbnRlciB0byB0aGUgZmlyc3QgY2hpbGQKKyAqLworeG1sTm9kZVB0cgoreG1sU3RyaW5nTGVuR2V0Tm9kZUxpc3QoY29uc3QgeG1sRG9jICpkb2MsIGNvbnN0IHhtbENoYXIgKnZhbHVlLCBpbnQgbGVuKSB7CisgICAgeG1sTm9kZVB0ciByZXQgPSBOVUxMLCBsYXN0ID0gTlVMTDsKKyAgICB4bWxOb2RlUHRyIG5vZGU7CisgICAgeG1sQ2hhciAqdmFsOworICAgIGNvbnN0IHhtbENoYXIgKmN1ciA9IHZhbHVlLCAqZW5kID0gY3VyICsgbGVuOworICAgIGNvbnN0IHhtbENoYXIgKnE7CisgICAgeG1sRW50aXR5UHRyIGVudDsKKyAgICB4bWxCdWZQdHIgYnVmOworCisgICAgaWYgKHZhbHVlID09IE5VTEwpIHJldHVybihOVUxMKTsKKworICAgIGJ1ZiA9IHhtbEJ1ZkNyZWF0ZVNpemUoMCk7CisgICAgaWYgKGJ1ZiA9PSBOVUxMKSByZXR1cm4oTlVMTCk7CisgICAgeG1sQnVmU2V0QWxsb2NhdGlvblNjaGVtZShidWYsIFhNTF9CVUZGRVJfQUxMT0NfSFlCUklEKTsKKworICAgIHEgPSBjdXI7CisgICAgd2hpbGUgKChjdXIgPCBlbmQpICYmICgqY3VyICE9IDApKSB7CisJaWYgKGN1clswXSA9PSAnJicpIHsKKwkgICAgaW50IGNoYXJ2YWwgPSAwOworCSAgICB4bWxDaGFyIHRtcDsKKworCSAgICAvKgorCSAgICAgKiBTYXZlIHRoZSBjdXJyZW50IHRleHQuCisJICAgICAqLworICAgICAgICAgICAgaWYgKGN1ciAhPSBxKSB7CisJCWlmICh4bWxCdWZBZGQoYnVmLCBxLCBjdXIgLSBxKSkKKwkJICAgIGdvdG8gb3V0OworCSAgICB9CisJICAgIHEgPSBjdXI7CisJICAgIGlmICgoY3VyICsgMiA8IGVuZCkgJiYgKGN1clsxXSA9PSAnIycpICYmIChjdXJbMl0gPT0gJ3gnKSkgeworCQljdXIgKz0gMzsKKwkJaWYgKGN1ciA8IGVuZCkKKwkJICAgIHRtcCA9ICpjdXI7CisJCWVsc2UKKwkJICAgIHRtcCA9IDA7CisJCXdoaWxlICh0bXAgIT0gJzsnKSB7IC8qIE5vbiBpbnB1dCBjb25zdW1pbmcgbG9vcCAqLworCQkgICAgaWYgKCh0bXAgPj0gJzAnKSAmJiAodG1wIDw9ICc5JykpCisJCQljaGFydmFsID0gY2hhcnZhbCAqIDE2ICsgKHRtcCAtICcwJyk7CisJCSAgICBlbHNlIGlmICgodG1wID49ICdhJykgJiYgKHRtcCA8PSAnZicpKQorCQkJY2hhcnZhbCA9IGNoYXJ2YWwgKiAxNiArICh0bXAgLSAnYScpICsgMTA7CisJCSAgICBlbHNlIGlmICgodG1wID49ICdBJykgJiYgKHRtcCA8PSAnRicpKQorCQkJY2hhcnZhbCA9IGNoYXJ2YWwgKiAxNiArICh0bXAgLSAnQScpICsgMTA7CisJCSAgICBlbHNlIHsKKwkJCXhtbFRyZWVFcnIoWE1MX1RSRUVfSU5WQUxJRF9IRVgsICh4bWxOb2RlUHRyKSBkb2MsCisJCQkgICAgICAgICAgIE5VTEwpOworCQkJY2hhcnZhbCA9IDA7CisJCQlicmVhazsKKwkJICAgIH0KKwkJICAgIGN1cisrOworCQkgICAgaWYgKGN1ciA8IGVuZCkKKwkJCXRtcCA9ICpjdXI7CisJCSAgICBlbHNlCisJCQl0bXAgPSAwOworCQl9CisJCWlmICh0bXAgPT0gJzsnKQorCQkgICAgY3VyKys7CisJCXEgPSBjdXI7CisJICAgIH0gZWxzZSBpZiAoKGN1ciArIDEgPCBlbmQpICYmIChjdXJbMV0gPT0gJyMnKSkgeworCQljdXIgKz0gMjsKKwkJaWYgKGN1ciA8IGVuZCkKKwkJICAgIHRtcCA9ICpjdXI7CisJCWVsc2UKKwkJICAgIHRtcCA9IDA7CisJCXdoaWxlICh0bXAgIT0gJzsnKSB7IC8qIE5vbiBpbnB1dCBjb25zdW1pbmcgbG9vcHMgKi8KKwkJICAgIGlmICgodG1wID49ICcwJykgJiYgKHRtcCA8PSAnOScpKQorCQkJY2hhcnZhbCA9IGNoYXJ2YWwgKiAxMCArICh0bXAgLSAnMCcpOworCQkgICAgZWxzZSB7CisJCQl4bWxUcmVlRXJyKFhNTF9UUkVFX0lOVkFMSURfREVDLCAoeG1sTm9kZVB0cikgZG9jLAorCQkJICAgICAgICAgICBOVUxMKTsKKwkJCWNoYXJ2YWwgPSAwOworCQkJYnJlYWs7CisJCSAgICB9CisJCSAgICBjdXIrKzsKKwkJICAgIGlmIChjdXIgPCBlbmQpCisJCQl0bXAgPSAqY3VyOworCQkgICAgZWxzZQorCQkJdG1wID0gMDsKKwkJfQorCQlpZiAodG1wID09ICc7JykKKwkJICAgIGN1cisrOworCQlxID0gY3VyOworCSAgICB9IGVsc2UgeworCQkvKgorCQkgKiBSZWFkIHRoZSBlbnRpdHkgc3RyaW5nCisJCSAqLworCQljdXIrKzsKKwkJcSA9IGN1cjsKKwkJd2hpbGUgKChjdXIgPCBlbmQpICYmICgqY3VyICE9IDApICYmICgqY3VyICE9ICc7JykpIGN1cisrOworCQlpZiAoKGN1ciA+PSBlbmQpIHx8ICgqY3VyID09IDApKSB7CisJCSAgICB4bWxUcmVlRXJyKFhNTF9UUkVFX1VOVEVSTUlOQVRFRF9FTlRJVFksICh4bWxOb2RlUHRyKSBkb2MsCisJCSAgICAgICAgICAgICAgIChjb25zdCBjaGFyICopIHEpOworCQkgICAgZ290byBvdXQ7CisJCX0KKwkJaWYgKGN1ciAhPSBxKSB7CisJCSAgICAvKgorCQkgICAgICogUHJlZGVmaW5lZCBlbnRpdGllcyBkb24ndCBnZW5lcmF0ZSBub2RlcworCQkgICAgICovCisJCSAgICB2YWwgPSB4bWxTdHJuZHVwKHEsIGN1ciAtIHEpOworCQkgICAgZW50ID0geG1sR2V0RG9jRW50aXR5KGRvYywgdmFsKTsKKwkJICAgIGlmICgoZW50ICE9IE5VTEwpICYmCisJCQkoZW50LT5ldHlwZSA9PSBYTUxfSU5URVJOQUxfUFJFREVGSU5FRF9FTlRJVFkpKSB7CisKKwkJCWlmICh4bWxCdWZDYXQoYnVmLCBlbnQtPmNvbnRlbnQpKQorCQkJICAgIGdvdG8gb3V0OworCisJCSAgICB9IGVsc2UgeworCQkJLyoKKwkJCSAqIEZsdXNoIGJ1ZmZlciBzbyBmYXIKKwkJCSAqLworCQkJaWYgKCF4bWxCdWZJc0VtcHR5KGJ1ZikpIHsKKwkJCSAgICBub2RlID0geG1sTmV3RG9jVGV4dChkb2MsIE5VTEwpOworCQkJICAgIGlmIChub2RlID09IE5VTEwpIHsKKwkJCQlpZiAodmFsICE9IE5VTEwpIHhtbEZyZWUodmFsKTsKKwkJCQlnb3RvIG91dDsKKwkJCSAgICB9CisJCQkgICAgbm9kZS0+Y29udGVudCA9IHhtbEJ1ZkRldGFjaChidWYpOworCisJCQkgICAgaWYgKGxhc3QgPT0gTlVMTCkgeworCQkJCWxhc3QgPSByZXQgPSBub2RlOworCQkJICAgIH0gZWxzZSB7CisJCQkJbGFzdCA9IHhtbEFkZE5leHRTaWJsaW5nKGxhc3QsIG5vZGUpOworCQkJICAgIH0KKwkJCX0KKworCQkJLyoKKwkJCSAqIENyZWF0ZSBhIG5ldyBSRUZFUkVOQ0VfUkVGIG5vZGUKKwkJCSAqLworCQkJbm9kZSA9IHhtbE5ld1JlZmVyZW5jZShkb2MsIHZhbCk7CisJCQlpZiAobm9kZSA9PSBOVUxMKSB7CisJCQkgICAgaWYgKHZhbCAhPSBOVUxMKSB4bWxGcmVlKHZhbCk7CisJCQkgICAgZ290byBvdXQ7CisJCQl9CisJCQllbHNlIGlmICgoZW50ICE9IE5VTEwpICYmIChlbnQtPmNoaWxkcmVuID09IE5VTEwpKSB7CisJCQkgICAgeG1sTm9kZVB0ciB0ZW1wOworCisJCQkgICAgZW50LT5jaGlsZHJlbiA9IHhtbFN0cmluZ0dldE5vZGVMaXN0KGRvYywKKwkJCQkgICAgKGNvbnN0IHhtbENoYXIqKW5vZGUtPmNvbnRlbnQpOworCQkJICAgIGVudC0+b3duZXIgPSAxOworCQkJICAgIHRlbXAgPSBlbnQtPmNoaWxkcmVuOworCQkJICAgIHdoaWxlICh0ZW1wKSB7CisJCQkJdGVtcC0+cGFyZW50ID0gKHhtbE5vZGVQdHIpZW50OworCQkJCWVudC0+bGFzdCA9IHRlbXA7CisJCQkJdGVtcCA9IHRlbXAtPm5leHQ7CisJCQkgICAgfQorCQkJfQorCQkJaWYgKGxhc3QgPT0gTlVMTCkgeworCQkJICAgIGxhc3QgPSByZXQgPSBub2RlOworCQkJfSBlbHNlIHsKKwkJCSAgICBsYXN0ID0geG1sQWRkTmV4dFNpYmxpbmcobGFzdCwgbm9kZSk7CisJCQl9CisJCSAgICB9CisJCSAgICB4bWxGcmVlKHZhbCk7CisJCX0KKwkJY3VyKys7CisJCXEgPSBjdXI7CisJICAgIH0KKwkgICAgaWYgKGNoYXJ2YWwgIT0gMCkgeworCQl4bWxDaGFyIGJ1ZmZlclsxMF07CisJCWludCBsOworCisJCWwgPSB4bWxDb3B5Q2hhck11bHRpQnl0ZShidWZmZXIsIGNoYXJ2YWwpOworCQlidWZmZXJbbF0gPSAwOworCisJCWlmICh4bWxCdWZDYXQoYnVmLCBidWZmZXIpKQorCQkgICAgZ290byBvdXQ7CisJCWNoYXJ2YWwgPSAwOworCSAgICB9CisJfSBlbHNlCisJICAgIGN1cisrOworICAgIH0KKworICAgIGlmIChjdXIgIT0gcSkgeworICAgICAgICAvKgorCSAqIEhhbmRsZSB0aGUgbGFzdCBwaWVjZSBvZiB0ZXh0LgorCSAqLworCWlmICh4bWxCdWZBZGQoYnVmLCBxLCBjdXIgLSBxKSkKKwkgICAgZ290byBvdXQ7CisgICAgfQorCisgICAgaWYgKCF4bWxCdWZJc0VtcHR5KGJ1ZikpIHsKKwlub2RlID0geG1sTmV3RG9jVGV4dChkb2MsIE5VTEwpOworCWlmIChub2RlID09IE5VTEwpIGdvdG8gb3V0OworCW5vZGUtPmNvbnRlbnQgPSB4bWxCdWZEZXRhY2goYnVmKTsKKworCWlmIChsYXN0ID09IE5VTEwpIHsKKwkgICAgcmV0ID0gbm9kZTsKKwl9IGVsc2UgeworCSAgICB4bWxBZGROZXh0U2libGluZyhsYXN0LCBub2RlKTsKKwl9CisgICAgfSBlbHNlIGlmIChyZXQgPT0gTlVMTCkgeworICAgICAgICByZXQgPSB4bWxOZXdEb2NUZXh0KGRvYywgQkFEX0NBU1QgIiIpOworICAgIH0KKworb3V0OgorICAgIHhtbEJ1ZkZyZWUoYnVmKTsKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxTdHJpbmdHZXROb2RlTGlzdDoKKyAqIEBkb2M6ICB0aGUgZG9jdW1lbnQKKyAqIEB2YWx1ZTogIHRoZSB2YWx1ZSBvZiB0aGUgYXR0cmlidXRlCisgKgorICogUGFyc2UgdGhlIHZhbHVlIHN0cmluZyBhbmQgYnVpbGQgdGhlIG5vZGUgbGlzdCBhc3NvY2lhdGVkLiBTaG91bGQKKyAqIHByb2R1Y2UgYSBmbGF0IHRyZWUgd2l0aCBvbmx5IFRFWFRzIGFuZCBFTlRJVFlfUkVGcy4KKyAqIFJldHVybnMgYSBwb2ludGVyIHRvIHRoZSBmaXJzdCBjaGlsZAorICovCit4bWxOb2RlUHRyCit4bWxTdHJpbmdHZXROb2RlTGlzdChjb25zdCB4bWxEb2MgKmRvYywgY29uc3QgeG1sQ2hhciAqdmFsdWUpIHsKKyAgICB4bWxOb2RlUHRyIHJldCA9IE5VTEwsIGxhc3QgPSBOVUxMOworICAgIHhtbE5vZGVQdHIgbm9kZTsKKyAgICB4bWxDaGFyICp2YWw7CisgICAgY29uc3QgeG1sQ2hhciAqY3VyID0gdmFsdWU7CisgICAgY29uc3QgeG1sQ2hhciAqcTsKKyAgICB4bWxFbnRpdHlQdHIgZW50OworICAgIHhtbEJ1ZlB0ciBidWY7CisKKyAgICBpZiAodmFsdWUgPT0gTlVMTCkgcmV0dXJuKE5VTEwpOworCisgICAgYnVmID0geG1sQnVmQ3JlYXRlU2l6ZSgwKTsKKyAgICBpZiAoYnVmID09IE5VTEwpIHJldHVybihOVUxMKTsKKyAgICB4bWxCdWZTZXRBbGxvY2F0aW9uU2NoZW1lKGJ1ZiwgWE1MX0JVRkZFUl9BTExPQ19IWUJSSUQpOworCisgICAgcSA9IGN1cjsKKyAgICB3aGlsZSAoKmN1ciAhPSAwKSB7CisJaWYgKGN1clswXSA9PSAnJicpIHsKKwkgICAgaW50IGNoYXJ2YWwgPSAwOworCSAgICB4bWxDaGFyIHRtcDsKKworCSAgICAvKgorCSAgICAgKiBTYXZlIHRoZSBjdXJyZW50IHRleHQuCisJICAgICAqLworICAgICAgICAgICAgaWYgKGN1ciAhPSBxKSB7CisJCWlmICh4bWxCdWZBZGQoYnVmLCBxLCBjdXIgLSBxKSkKKwkJICAgIGdvdG8gb3V0OworCSAgICB9CisJICAgIHEgPSBjdXI7CisJICAgIGlmICgoY3VyWzFdID09ICcjJykgJiYgKGN1clsyXSA9PSAneCcpKSB7CisJCWN1ciArPSAzOworCQl0bXAgPSAqY3VyOworCQl3aGlsZSAodG1wICE9ICc7JykgeyAvKiBOb24gaW5wdXQgY29uc3VtaW5nIGxvb3AgKi8KKwkJICAgIGlmICgodG1wID49ICcwJykgJiYgKHRtcCA8PSAnOScpKQorCQkJY2hhcnZhbCA9IGNoYXJ2YWwgKiAxNiArICh0bXAgLSAnMCcpOworCQkgICAgZWxzZSBpZiAoKHRtcCA+PSAnYScpICYmICh0bXAgPD0gJ2YnKSkKKwkJCWNoYXJ2YWwgPSBjaGFydmFsICogMTYgKyAodG1wIC0gJ2EnKSArIDEwOworCQkgICAgZWxzZSBpZiAoKHRtcCA+PSAnQScpICYmICh0bXAgPD0gJ0YnKSkKKwkJCWNoYXJ2YWwgPSBjaGFydmFsICogMTYgKyAodG1wIC0gJ0EnKSArIDEwOworCQkgICAgZWxzZSB7CisJCQl4bWxUcmVlRXJyKFhNTF9UUkVFX0lOVkFMSURfSEVYLCAoeG1sTm9kZVB0cikgZG9jLAorCQkJICAgICAgICAgICBOVUxMKTsKKwkJCWNoYXJ2YWwgPSAwOworCQkJYnJlYWs7CisJCSAgICB9CisJCSAgICBjdXIrKzsKKwkJICAgIHRtcCA9ICpjdXI7CisJCX0KKwkJaWYgKHRtcCA9PSAnOycpCisJCSAgICBjdXIrKzsKKwkJcSA9IGN1cjsKKwkgICAgfSBlbHNlIGlmICAoY3VyWzFdID09ICcjJykgeworCQljdXIgKz0gMjsKKwkJdG1wID0gKmN1cjsKKwkJd2hpbGUgKHRtcCAhPSAnOycpIHsgLyogTm9uIGlucHV0IGNvbnN1bWluZyBsb29wcyAqLworCQkgICAgaWYgKCh0bXAgPj0gJzAnKSAmJiAodG1wIDw9ICc5JykpCisJCQljaGFydmFsID0gY2hhcnZhbCAqIDEwICsgKHRtcCAtICcwJyk7CisJCSAgICBlbHNlIHsKKwkJCXhtbFRyZWVFcnIoWE1MX1RSRUVfSU5WQUxJRF9ERUMsICh4bWxOb2RlUHRyKSBkb2MsCisJCQkgICAgICAgICAgIE5VTEwpOworCQkJY2hhcnZhbCA9IDA7CisJCQlicmVhazsKKwkJICAgIH0KKwkJICAgIGN1cisrOworCQkgICAgdG1wID0gKmN1cjsKKwkJfQorCQlpZiAodG1wID09ICc7JykKKwkJICAgIGN1cisrOworCQlxID0gY3VyOworCSAgICB9IGVsc2UgeworCQkvKgorCQkgKiBSZWFkIHRoZSBlbnRpdHkgc3RyaW5nCisJCSAqLworCQljdXIrKzsKKwkJcSA9IGN1cjsKKwkJd2hpbGUgKCgqY3VyICE9IDApICYmICgqY3VyICE9ICc7JykpIGN1cisrOworCQlpZiAoKmN1ciA9PSAwKSB7CisJCSAgICB4bWxUcmVlRXJyKFhNTF9UUkVFX1VOVEVSTUlOQVRFRF9FTlRJVFksCisJCSAgICAgICAgICAgICAgICh4bWxOb2RlUHRyKSBkb2MsIChjb25zdCBjaGFyICopIHEpOworCQkgICAgZ290byBvdXQ7CisJCX0KKwkJaWYgKGN1ciAhPSBxKSB7CisJCSAgICAvKgorCQkgICAgICogUHJlZGVmaW5lZCBlbnRpdGllcyBkb24ndCBnZW5lcmF0ZSBub2RlcworCQkgICAgICovCisJCSAgICB2YWwgPSB4bWxTdHJuZHVwKHEsIGN1ciAtIHEpOworCQkgICAgZW50ID0geG1sR2V0RG9jRW50aXR5KGRvYywgdmFsKTsKKwkJICAgIGlmICgoZW50ICE9IE5VTEwpICYmCisJCQkoZW50LT5ldHlwZSA9PSBYTUxfSU5URVJOQUxfUFJFREVGSU5FRF9FTlRJVFkpKSB7CisKKwkJCWlmICh4bWxCdWZDYXQoYnVmLCBlbnQtPmNvbnRlbnQpKQorCQkJICAgIGdvdG8gb3V0OworCisJCSAgICB9IGVsc2UgeworCQkJLyoKKwkJCSAqIEZsdXNoIGJ1ZmZlciBzbyBmYXIKKwkJCSAqLworCQkJaWYgKCF4bWxCdWZJc0VtcHR5KGJ1ZikpIHsKKwkJCSAgICBub2RlID0geG1sTmV3RG9jVGV4dChkb2MsIE5VTEwpOworCQkJICAgIG5vZGUtPmNvbnRlbnQgPSB4bWxCdWZEZXRhY2goYnVmKTsKKworCQkJICAgIGlmIChsYXN0ID09IE5VTEwpIHsKKwkJCQlsYXN0ID0gcmV0ID0gbm9kZTsKKwkJCSAgICB9IGVsc2UgeworCQkJCWxhc3QgPSB4bWxBZGROZXh0U2libGluZyhsYXN0LCBub2RlKTsKKwkJCSAgICB9CisJCQl9CisKKwkJCS8qCisJCQkgKiBDcmVhdGUgYSBuZXcgUkVGRVJFTkNFX1JFRiBub2RlCisJCQkgKi8KKwkJCW5vZGUgPSB4bWxOZXdSZWZlcmVuY2UoZG9jLCB2YWwpOworCQkJaWYgKG5vZGUgPT0gTlVMTCkgeworCQkJICAgIGlmICh2YWwgIT0gTlVMTCkgeG1sRnJlZSh2YWwpOworCQkJICAgIGdvdG8gb3V0OworCQkJfQorCQkJZWxzZSBpZiAoKGVudCAhPSBOVUxMKSAmJiAoZW50LT5jaGlsZHJlbiA9PSBOVUxMKSkgeworCQkJICAgIHhtbE5vZGVQdHIgdGVtcDsKKworCQkJICAgIGVudC0+Y2hpbGRyZW4gPSB4bWxTdHJpbmdHZXROb2RlTGlzdChkb2MsCisJCQkJICAgIChjb25zdCB4bWxDaGFyKilub2RlLT5jb250ZW50KTsKKwkJCSAgICBlbnQtPm93bmVyID0gMTsKKwkJCSAgICB0ZW1wID0gZW50LT5jaGlsZHJlbjsKKwkJCSAgICB3aGlsZSAodGVtcCkgeworCQkJCXRlbXAtPnBhcmVudCA9ICh4bWxOb2RlUHRyKWVudDsKKwkJCQl0ZW1wID0gdGVtcC0+bmV4dDsKKwkJCSAgICB9CisJCQl9CisJCQlpZiAobGFzdCA9PSBOVUxMKSB7CisJCQkgICAgbGFzdCA9IHJldCA9IG5vZGU7CisJCQl9IGVsc2UgeworCQkJICAgIGxhc3QgPSB4bWxBZGROZXh0U2libGluZyhsYXN0LCBub2RlKTsKKwkJCX0KKwkJICAgIH0KKwkJICAgIHhtbEZyZWUodmFsKTsKKwkJfQorCQljdXIrKzsKKwkJcSA9IGN1cjsKKwkgICAgfQorCSAgICBpZiAoY2hhcnZhbCAhPSAwKSB7CisJCXhtbENoYXIgYnVmZmVyWzEwXTsKKwkJaW50IGxlbjsKKworCQlsZW4gPSB4bWxDb3B5Q2hhck11bHRpQnl0ZShidWZmZXIsIGNoYXJ2YWwpOworCQlidWZmZXJbbGVuXSA9IDA7CisKKwkJaWYgKHhtbEJ1ZkNhdChidWYsIGJ1ZmZlcikpCisJCSAgICBnb3RvIG91dDsKKwkJY2hhcnZhbCA9IDA7CisJICAgIH0KKwl9IGVsc2UKKwkgICAgY3VyKys7CisgICAgfQorICAgIGlmICgoY3VyICE9IHEpIHx8IChyZXQgPT0gTlVMTCkpIHsKKyAgICAgICAgLyoKKwkgKiBIYW5kbGUgdGhlIGxhc3QgcGllY2Ugb2YgdGV4dC4KKwkgKi8KKwl4bWxCdWZBZGQoYnVmLCBxLCBjdXIgLSBxKTsKKyAgICB9CisKKyAgICBpZiAoIXhtbEJ1ZklzRW1wdHkoYnVmKSkgeworCW5vZGUgPSB4bWxOZXdEb2NUZXh0KGRvYywgTlVMTCk7CisJbm9kZS0+Y29udGVudCA9IHhtbEJ1ZkRldGFjaChidWYpOworCisJaWYgKGxhc3QgPT0gTlVMTCkgeworCSAgICByZXQgPSBub2RlOworCX0gZWxzZSB7CisJICAgIHhtbEFkZE5leHRTaWJsaW5nKGxhc3QsIG5vZGUpOworCX0KKyAgICB9CisKK291dDoKKyAgICB4bWxCdWZGcmVlKGJ1Zik7CisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogeG1sTm9kZUxpc3RHZXRTdHJpbmc6CisgKiBAZG9jOiAgdGhlIGRvY3VtZW50CisgKiBAbGlzdDogIGEgTm9kZSBsaXN0CisgKiBAaW5MaW5lOiAgc2hvdWxkIHdlIHJlcGxhY2UgZW50aXR5IGNvbnRlbnRzIG9yIHNob3cgdGhlaXIgZXh0ZXJuYWwgZm9ybQorICoKKyAqIEJ1aWxkIHRoZSBzdHJpbmcgZXF1aXZhbGVudCB0byB0aGUgdGV4dCBjb250YWluZWQgaW4gdGhlIE5vZGUgbGlzdAorICogbWFkZSBvZiBURVhUcyBhbmQgRU5USVRZX1JFRnMKKyAqCisgKiBSZXR1cm5zIGEgcG9pbnRlciB0byB0aGUgc3RyaW5nIGNvcHksIHRoZSBjYWxsZXIgbXVzdCBmcmVlIGl0IHdpdGggeG1sRnJlZSgpLgorICovCit4bWxDaGFyICoKK3htbE5vZGVMaXN0R2V0U3RyaW5nKHhtbERvY1B0ciBkb2MsIGNvbnN0IHhtbE5vZGUgKmxpc3QsIGludCBpbkxpbmUpCit7CisgICAgY29uc3QgeG1sTm9kZSAqbm9kZSA9IGxpc3Q7CisgICAgeG1sQ2hhciAqcmV0ID0gTlVMTDsKKyAgICB4bWxFbnRpdHlQdHIgZW50OworICAgIGludCBhdHRyOworCisgICAgaWYgKGxpc3QgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICBpZiAoKGxpc3QtPnBhcmVudCAhPSBOVUxMKSAmJiAobGlzdC0+cGFyZW50LT50eXBlID09IFhNTF9BVFRSSUJVVEVfTk9ERSkpCisgICAgICAgIGF0dHIgPSAxOworICAgIGVsc2UKKyAgICAgICAgYXR0ciA9IDA7CisKKyAgICB3aGlsZSAobm9kZSAhPSBOVUxMKSB7CisgICAgICAgIGlmICgobm9kZS0+dHlwZSA9PSBYTUxfVEVYVF9OT0RFKSB8fAorICAgICAgICAgICAgKG5vZGUtPnR5cGUgPT0gWE1MX0NEQVRBX1NFQ1RJT05fTk9ERSkpIHsKKyAgICAgICAgICAgIGlmIChpbkxpbmUpIHsKKyAgICAgICAgICAgICAgICByZXQgPSB4bWxTdHJjYXQocmV0LCBub2RlLT5jb250ZW50KTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgeG1sQ2hhciAqYnVmZmVyOworCisJCWlmIChhdHRyKQorCQkgICAgYnVmZmVyID0geG1sRW5jb2RlQXR0cmlidXRlRW50aXRpZXMoZG9jLCBub2RlLT5jb250ZW50KTsKKwkJZWxzZQorCQkgICAgYnVmZmVyID0geG1sRW5jb2RlRW50aXRpZXNSZWVudHJhbnQoZG9jLCBub2RlLT5jb250ZW50KTsKKyAgICAgICAgICAgICAgICBpZiAoYnVmZmVyICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgcmV0ID0geG1sU3RyY2F0KHJldCwgYnVmZmVyKTsKKyAgICAgICAgICAgICAgICAgICAgeG1sRnJlZShidWZmZXIpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIGlmIChub2RlLT50eXBlID09IFhNTF9FTlRJVFlfUkVGX05PREUpIHsKKyAgICAgICAgICAgIGlmIChpbkxpbmUpIHsKKyAgICAgICAgICAgICAgICBlbnQgPSB4bWxHZXREb2NFbnRpdHkoZG9jLCBub2RlLT5uYW1lKTsKKyAgICAgICAgICAgICAgICBpZiAoZW50ICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgeG1sQ2hhciAqYnVmZmVyOworCisgICAgICAgICAgICAgICAgICAgIC8qIGFuIGVudGl0eSBjb250ZW50IGNhbiBiZSBhbnkgIndlbGwgYmFsYW5jZWQgY2h1bmsiLAorICAgICAgICAgICAgICAgICAgICAgKiBpLmUuIHRoZSByZXN1bHQgb2YgdGhlIGNvbnRlbnQgWzQzXSBwcm9kdWN0aW9uOgorICAgICAgICAgICAgICAgICAgICAgKiBodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMteG1sI05ULWNvbnRlbnQuCisgICAgICAgICAgICAgICAgICAgICAqIFNvIGl0IGNhbiBjb250YWluIHRleHQsIENEQVRBIHNlY3Rpb24gb3IgbmVzdGVkCisgICAgICAgICAgICAgICAgICAgICAqIGVudGl0eSByZWZlcmVuY2Ugbm9kZXMgKGFtb25nIG90aGVycykuCisgICAgICAgICAgICAgICAgICAgICAqIC0+IHdlIHJlY3Vyc2l2ZSAgY2FsbCB4bWxOb2RlTGlzdEdldFN0cmluZygpCisgICAgICAgICAgICAgICAgICAgICAqIHdoaWNoIGhhbmRsZXMgdGhlc2UgdHlwZXMgKi8KKyAgICAgICAgICAgICAgICAgICAgYnVmZmVyID0geG1sTm9kZUxpc3RHZXRTdHJpbmcoZG9jLCBlbnQtPmNoaWxkcmVuLCAxKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGJ1ZmZlciAhPSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgICAgICByZXQgPSB4bWxTdHJjYXQocmV0LCBidWZmZXIpOworICAgICAgICAgICAgICAgICAgICAgICAgeG1sRnJlZShidWZmZXIpOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgcmV0ID0geG1sU3RyY2F0KHJldCwgbm9kZS0+Y29udGVudCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICB4bWxDaGFyIGJ1ZlsyXTsKKworICAgICAgICAgICAgICAgIGJ1ZlswXSA9ICcmJzsKKyAgICAgICAgICAgICAgICBidWZbMV0gPSAwOworICAgICAgICAgICAgICAgIHJldCA9IHhtbFN0cm5jYXQocmV0LCBidWYsIDEpOworICAgICAgICAgICAgICAgIHJldCA9IHhtbFN0cmNhdChyZXQsIG5vZGUtPm5hbWUpOworICAgICAgICAgICAgICAgIGJ1ZlswXSA9ICc7JzsKKyAgICAgICAgICAgICAgICBidWZbMV0gPSAwOworICAgICAgICAgICAgICAgIHJldCA9IHhtbFN0cm5jYXQocmV0LCBidWYsIDEpOworICAgICAgICAgICAgfQorICAgICAgICB9CisjaWYgMAorICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ4bWxHZXROb2RlTGlzdFN0cmluZyA6IGludmFsaWQgbm9kZSB0eXBlICVkXG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGUtPnR5cGUpOworICAgICAgICB9CisjZW5kaWYKKyAgICAgICAgbm9kZSA9IG5vZGUtPm5leHQ7CisgICAgfQorICAgIHJldHVybiAocmV0KTsKK30KKworI2lmZGVmIExJQlhNTF9UUkVFX0VOQUJMRUQKKy8qKgorICogeG1sTm9kZUxpc3RHZXRSYXdTdHJpbmc6CisgKiBAZG9jOiAgdGhlIGRvY3VtZW50CisgKiBAbGlzdDogIGEgTm9kZSBsaXN0CisgKiBAaW5MaW5lOiAgc2hvdWxkIHdlIHJlcGxhY2UgZW50aXR5IGNvbnRlbnRzIG9yIHNob3cgdGhlaXIgZXh0ZXJuYWwgZm9ybQorICoKKyAqIEJ1aWxkcyB0aGUgc3RyaW5nIGVxdWl2YWxlbnQgdG8gdGhlIHRleHQgY29udGFpbmVkIGluIHRoZSBOb2RlIGxpc3QKKyAqIG1hZGUgb2YgVEVYVHMgYW5kIEVOVElUWV9SRUZzLCBjb250cmFyeSB0byB4bWxOb2RlTGlzdEdldFN0cmluZygpCisgKiB0aGlzIGZ1bmN0aW9uIGRvZXNuJ3QgZG8gYW55IGNoYXJhY3RlciBlbmNvZGluZyBoYW5kbGluZy4KKyAqCisgKiBSZXR1cm5zIGEgcG9pbnRlciB0byB0aGUgc3RyaW5nIGNvcHksIHRoZSBjYWxsZXIgbXVzdCBmcmVlIGl0IHdpdGggeG1sRnJlZSgpLgorICovCit4bWxDaGFyICoKK3htbE5vZGVMaXN0R2V0UmF3U3RyaW5nKGNvbnN0IHhtbERvYyAqZG9jLCBjb25zdCB4bWxOb2RlICpsaXN0LCBpbnQgaW5MaW5lKQoreworICAgIGNvbnN0IHhtbE5vZGUgKm5vZGUgPSBsaXN0OworICAgIHhtbENoYXIgKnJldCA9IE5VTEw7CisgICAgeG1sRW50aXR5UHRyIGVudDsKKworICAgIGlmIChsaXN0ID09IE5VTEwpCisgICAgICAgIHJldHVybiAoTlVMTCk7CisKKyAgICB3aGlsZSAobm9kZSAhPSBOVUxMKSB7CisgICAgICAgIGlmICgobm9kZS0+dHlwZSA9PSBYTUxfVEVYVF9OT0RFKSB8fAorICAgICAgICAgICAgKG5vZGUtPnR5cGUgPT0gWE1MX0NEQVRBX1NFQ1RJT05fTk9ERSkpIHsKKyAgICAgICAgICAgIGlmIChpbkxpbmUpIHsKKyAgICAgICAgICAgICAgICByZXQgPSB4bWxTdHJjYXQocmV0LCBub2RlLT5jb250ZW50KTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgeG1sQ2hhciAqYnVmZmVyOworCisgICAgICAgICAgICAgICAgYnVmZmVyID0geG1sRW5jb2RlU3BlY2lhbENoYXJzKGRvYywgbm9kZS0+Y29udGVudCk7CisgICAgICAgICAgICAgICAgaWYgKGJ1ZmZlciAhPSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgIHJldCA9IHhtbFN0cmNhdChyZXQsIGJ1ZmZlcik7CisgICAgICAgICAgICAgICAgICAgIHhtbEZyZWUoYnVmZmVyKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0gZWxzZSBpZiAobm9kZS0+dHlwZSA9PSBYTUxfRU5USVRZX1JFRl9OT0RFKSB7CisgICAgICAgICAgICBpZiAoaW5MaW5lKSB7CisgICAgICAgICAgICAgICAgZW50ID0geG1sR2V0RG9jRW50aXR5KGRvYywgbm9kZS0+bmFtZSk7CisgICAgICAgICAgICAgICAgaWYgKGVudCAhPSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgIHhtbENoYXIgKmJ1ZmZlcjsKKworICAgICAgICAgICAgICAgICAgICAvKiBhbiBlbnRpdHkgY29udGVudCBjYW4gYmUgYW55ICJ3ZWxsIGJhbGFuY2VkIGNodW5rIiwKKyAgICAgICAgICAgICAgICAgICAgICogaS5lLiB0aGUgcmVzdWx0IG9mIHRoZSBjb250ZW50IFs0M10gcHJvZHVjdGlvbjoKKyAgICAgICAgICAgICAgICAgICAgICogaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLXhtbCNOVC1jb250ZW50LgorICAgICAgICAgICAgICAgICAgICAgKiBTbyBpdCBjYW4gY29udGFpbiB0ZXh0LCBDREFUQSBzZWN0aW9uIG9yIG5lc3RlZAorICAgICAgICAgICAgICAgICAgICAgKiBlbnRpdHkgcmVmZXJlbmNlIG5vZGVzIChhbW9uZyBvdGhlcnMpLgorICAgICAgICAgICAgICAgICAgICAgKiAtPiB3ZSByZWN1cnNpdmUgIGNhbGwgeG1sTm9kZUxpc3RHZXRSYXdTdHJpbmcoKQorICAgICAgICAgICAgICAgICAgICAgKiB3aGljaCBoYW5kbGVzIHRoZXNlIHR5cGVzICovCisgICAgICAgICAgICAgICAgICAgIGJ1ZmZlciA9CisgICAgICAgICAgICAgICAgICAgICAgICB4bWxOb2RlTGlzdEdldFJhd1N0cmluZyhkb2MsIGVudC0+Y2hpbGRyZW4sIDEpOworICAgICAgICAgICAgICAgICAgICBpZiAoYnVmZmVyICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldCA9IHhtbFN0cmNhdChyZXQsIGJ1ZmZlcik7CisgICAgICAgICAgICAgICAgICAgICAgICB4bWxGcmVlKGJ1ZmZlcik7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICByZXQgPSB4bWxTdHJjYXQocmV0LCBub2RlLT5jb250ZW50KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIHhtbENoYXIgYnVmWzJdOworCisgICAgICAgICAgICAgICAgYnVmWzBdID0gJyYnOworICAgICAgICAgICAgICAgIGJ1ZlsxXSA9IDA7CisgICAgICAgICAgICAgICAgcmV0ID0geG1sU3RybmNhdChyZXQsIGJ1ZiwgMSk7CisgICAgICAgICAgICAgICAgcmV0ID0geG1sU3RyY2F0KHJldCwgbm9kZS0+bmFtZSk7CisgICAgICAgICAgICAgICAgYnVmWzBdID0gJzsnOworICAgICAgICAgICAgICAgIGJ1ZlsxXSA9IDA7CisgICAgICAgICAgICAgICAgcmV0ID0geG1sU3RybmNhdChyZXQsIGJ1ZiwgMSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyNpZiAwCisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgInhtbEdldE5vZGVMaXN0U3RyaW5nIDogaW52YWxpZCBub2RlIHR5cGUgJWRcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZS0+dHlwZSk7CisgICAgICAgIH0KKyNlbmRpZgorICAgICAgICBub2RlID0gbm9kZS0+bmV4dDsKKyAgICB9CisgICAgcmV0dXJuIChyZXQpOworfQorI2VuZGlmIC8qIExJQlhNTF9UUkVFX0VOQUJMRUQgKi8KKworc3RhdGljIHhtbEF0dHJQdHIKK3htbE5ld1Byb3BJbnRlcm5hbCh4bWxOb2RlUHRyIG5vZGUsIHhtbE5zUHRyIG5zLAorICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBuYW1lLCBjb25zdCB4bWxDaGFyICogdmFsdWUsCisgICAgICAgICAgICAgICAgICAgaW50IGVhdG5hbWUpCit7CisgICAgeG1sQXR0clB0ciBjdXI7CisgICAgeG1sRG9jUHRyIGRvYyA9IE5VTEw7CisKKyAgICBpZiAoKG5vZGUgIT0gTlVMTCkgJiYgKG5vZGUtPnR5cGUgIT0gWE1MX0VMRU1FTlRfTk9ERSkpIHsKKyAgICAgICAgaWYgKChlYXRuYW1lID09IDEpICYmCisJICAgICgobm9kZS0+ZG9jID09IE5VTEwpIHx8CisJICAgICAoISh4bWxEaWN0T3ducyhub2RlLT5kb2MtPmRpY3QsIG5hbWUpKSkpKQorICAgICAgICAgICAgeG1sRnJlZSgoeG1sQ2hhciAqKSBuYW1lKTsKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICB9CisKKyAgICAvKgorICAgICAqIEFsbG9jYXRlIGEgbmV3IHByb3BlcnR5IGFuZCBmaWxsIHRoZSBmaWVsZHMuCisgICAgICovCisgICAgY3VyID0gKHhtbEF0dHJQdHIpIHhtbE1hbGxvYyhzaXplb2YoeG1sQXR0cikpOworICAgIGlmIChjdXIgPT0gTlVMTCkgeworICAgICAgICBpZiAoKGVhdG5hbWUgPT0gMSkgJiYKKwkgICAgKChub2RlID09IE5VTEwpIHx8IChub2RlLT5kb2MgPT0gTlVMTCkgfHwKKwkgICAgICghKHhtbERpY3RPd25zKG5vZGUtPmRvYy0+ZGljdCwgbmFtZSkpKSkpCisgICAgICAgICAgICB4bWxGcmVlKCh4bWxDaGFyICopIG5hbWUpOworICAgICAgICB4bWxUcmVlRXJyTWVtb3J5KCJidWlsZGluZyBhdHRyaWJ1dGUiKTsKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICB9CisgICAgbWVtc2V0KGN1ciwgMCwgc2l6ZW9mKHhtbEF0dHIpKTsKKyAgICBjdXItPnR5cGUgPSBYTUxfQVRUUklCVVRFX05PREU7CisKKyAgICBjdXItPnBhcmVudCA9IG5vZGU7CisgICAgaWYgKG5vZGUgIT0gTlVMTCkgeworICAgICAgICBkb2MgPSBub2RlLT5kb2M7CisgICAgICAgIGN1ci0+ZG9jID0gZG9jOworICAgIH0KKyAgICBjdXItPm5zID0gbnM7CisKKyAgICBpZiAoZWF0bmFtZSA9PSAwKSB7CisgICAgICAgIGlmICgoZG9jICE9IE5VTEwpICYmIChkb2MtPmRpY3QgIT0gTlVMTCkpCisgICAgICAgICAgICBjdXItPm5hbWUgPSAoeG1sQ2hhciAqKSB4bWxEaWN0TG9va3VwKGRvYy0+ZGljdCwgbmFtZSwgLTEpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBjdXItPm5hbWUgPSB4bWxTdHJkdXAobmFtZSk7CisgICAgfSBlbHNlCisgICAgICAgIGN1ci0+bmFtZSA9IG5hbWU7CisKKyAgICBpZiAodmFsdWUgIT0gTlVMTCkgeworICAgICAgICB4bWxOb2RlUHRyIHRtcDsKKworICAgICAgICBpZigheG1sQ2hlY2tVVEY4KHZhbHVlKSkgeworICAgICAgICAgICAgeG1sVHJlZUVycihYTUxfVFJFRV9OT1RfVVRGOCwgKHhtbE5vZGVQdHIpIGRvYywKKyAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7CisgICAgICAgICAgICBpZiAoZG9jICE9IE5VTEwpCisgICAgICAgICAgICAgICAgZG9jLT5lbmNvZGluZyA9IHhtbFN0cmR1cChCQURfQ0FTVCAiSVNPLTg4NTktMSIpOworICAgICAgICB9CisgICAgICAgIGN1ci0+Y2hpbGRyZW4gPSB4bWxOZXdEb2NUZXh0KGRvYywgdmFsdWUpOworICAgICAgICBjdXItPmxhc3QgPSBOVUxMOworICAgICAgICB0bXAgPSBjdXItPmNoaWxkcmVuOworICAgICAgICB3aGlsZSAodG1wICE9IE5VTEwpIHsKKyAgICAgICAgICAgIHRtcC0+cGFyZW50ID0gKHhtbE5vZGVQdHIpIGN1cjsKKyAgICAgICAgICAgIGlmICh0bXAtPm5leHQgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICBjdXItPmxhc3QgPSB0bXA7CisgICAgICAgICAgICB0bXAgPSB0bXAtPm5leHQ7CisgICAgICAgIH0KKyAgICB9CisKKyAgICAvKgorICAgICAqIEFkZCBpdCBhdCB0aGUgZW5kIHRvIHByZXNlcnZlIHBhcnNpbmcgb3JkZXIgLi4uCisgICAgICovCisgICAgaWYgKG5vZGUgIT0gTlVMTCkgeworICAgICAgICBpZiAobm9kZS0+cHJvcGVydGllcyA9PSBOVUxMKSB7CisgICAgICAgICAgICBub2RlLT5wcm9wZXJ0aWVzID0gY3VyOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgeG1sQXR0clB0ciBwcmV2ID0gbm9kZS0+cHJvcGVydGllczsKKworICAgICAgICAgICAgd2hpbGUgKHByZXYtPm5leHQgIT0gTlVMTCkKKyAgICAgICAgICAgICAgICBwcmV2ID0gcHJldi0+bmV4dDsKKyAgICAgICAgICAgIHByZXYtPm5leHQgPSBjdXI7CisgICAgICAgICAgICBjdXItPnByZXYgPSBwcmV2OworICAgICAgICB9CisgICAgfQorCisgICAgaWYgKCh2YWx1ZSAhPSBOVUxMKSAmJiAobm9kZSAhPSBOVUxMKSAmJgorICAgICAgICAoeG1sSXNJRChub2RlLT5kb2MsIG5vZGUsIGN1cikgPT0gMSkpCisgICAgICAgIHhtbEFkZElEKE5VTEwsIG5vZGUtPmRvYywgdmFsdWUsIGN1cik7CisKKyAgICBpZiAoKF9feG1sUmVnaXN0ZXJDYWxsYmFja3MpICYmICh4bWxSZWdpc3Rlck5vZGVEZWZhdWx0VmFsdWUpKQorICAgICAgICB4bWxSZWdpc3Rlck5vZGVEZWZhdWx0VmFsdWUoKHhtbE5vZGVQdHIpIGN1cik7CisgICAgcmV0dXJuIChjdXIpOworfQorCisjaWYgZGVmaW5lZChMSUJYTUxfVFJFRV9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpIHx8IFwKKyAgICBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisvKioKKyAqIHhtbE5ld1Byb3A6CisgKiBAbm9kZTogIHRoZSBob2xkaW5nIG5vZGUKKyAqIEBuYW1lOiAgdGhlIG5hbWUgb2YgdGhlIGF0dHJpYnV0ZQorICogQHZhbHVlOiAgdGhlIHZhbHVlIG9mIHRoZSBhdHRyaWJ1dGUKKyAqCisgKiBDcmVhdGUgYSBuZXcgcHJvcGVydHkgY2FycmllZCBieSBhIG5vZGUuCisgKiBSZXR1cm5zIGEgcG9pbnRlciB0byB0aGUgYXR0cmlidXRlCisgKi8KK3htbEF0dHJQdHIKK3htbE5ld1Byb3AoeG1sTm9kZVB0ciBub2RlLCBjb25zdCB4bWxDaGFyICpuYW1lLCBjb25zdCB4bWxDaGFyICp2YWx1ZSkgeworCisgICAgaWYgKG5hbWUgPT0gTlVMTCkgeworI2lmZGVmIERFQlVHX1RSRUUKKyAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSJ4bWxOZXdQcm9wIDogbmFtZSA9PSBOVUxMXG4iKTsKKyNlbmRpZgorCXJldHVybihOVUxMKTsKKyAgICB9CisKKwlyZXR1cm4geG1sTmV3UHJvcEludGVybmFsKG5vZGUsIE5VTEwsIG5hbWUsIHZhbHVlLCAwKTsKK30KKyNlbmRpZiAvKiBMSUJYTUxfVFJFRV9FTkFCTEVEICovCisKKy8qKgorICogeG1sTmV3TnNQcm9wOgorICogQG5vZGU6ICB0aGUgaG9sZGluZyBub2RlCisgKiBAbnM6ICB0aGUgbmFtZXNwYWNlCisgKiBAbmFtZTogIHRoZSBuYW1lIG9mIHRoZSBhdHRyaWJ1dGUKKyAqIEB2YWx1ZTogIHRoZSB2YWx1ZSBvZiB0aGUgYXR0cmlidXRlCisgKgorICogQ3JlYXRlIGEgbmV3IHByb3BlcnR5IHRhZ2dlZCB3aXRoIGEgbmFtZXNwYWNlIGFuZCBjYXJyaWVkIGJ5IGEgbm9kZS4KKyAqIFJldHVybnMgYSBwb2ludGVyIHRvIHRoZSBhdHRyaWJ1dGUKKyAqLworeG1sQXR0clB0cgoreG1sTmV3TnNQcm9wKHhtbE5vZGVQdHIgbm9kZSwgeG1sTnNQdHIgbnMsIGNvbnN0IHhtbENoYXIgKm5hbWUsCisgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKnZhbHVlKSB7CisKKyAgICBpZiAobmFtZSA9PSBOVUxMKSB7CisjaWZkZWYgREVCVUdfVFJFRQorICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJInhtbE5ld05zUHJvcCA6IG5hbWUgPT0gTlVMTFxuIik7CisjZW5kaWYKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorCisgICAgcmV0dXJuIHhtbE5ld1Byb3BJbnRlcm5hbChub2RlLCBucywgbmFtZSwgdmFsdWUsIDApOworfQorCisvKioKKyAqIHhtbE5ld05zUHJvcEVhdE5hbWU6CisgKiBAbm9kZTogIHRoZSBob2xkaW5nIG5vZGUKKyAqIEBuczogIHRoZSBuYW1lc3BhY2UKKyAqIEBuYW1lOiAgdGhlIG5hbWUgb2YgdGhlIGF0dHJpYnV0ZQorICogQHZhbHVlOiAgdGhlIHZhbHVlIG9mIHRoZSBhdHRyaWJ1dGUKKyAqCisgKiBDcmVhdGUgYSBuZXcgcHJvcGVydHkgdGFnZ2VkIHdpdGggYSBuYW1lc3BhY2UgYW5kIGNhcnJpZWQgYnkgYSBub2RlLgorICogUmV0dXJucyBhIHBvaW50ZXIgdG8gdGhlIGF0dHJpYnV0ZQorICovCit4bWxBdHRyUHRyCit4bWxOZXdOc1Byb3BFYXROYW1lKHhtbE5vZGVQdHIgbm9kZSwgeG1sTnNQdHIgbnMsIHhtbENoYXIgKm5hbWUsCisgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKnZhbHVlKSB7CisKKyAgICBpZiAobmFtZSA9PSBOVUxMKSB7CisjaWZkZWYgREVCVUdfVFJFRQorICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJInhtbE5ld05zUHJvcEVhdE5hbWUgOiBuYW1lID09IE5VTExcbiIpOworI2VuZGlmCisJcmV0dXJuKE5VTEwpOworICAgIH0KKworICAgIHJldHVybiB4bWxOZXdQcm9wSW50ZXJuYWwobm9kZSwgbnMsIG5hbWUsIHZhbHVlLCAxKTsKK30KKworLyoqCisgKiB4bWxOZXdEb2NQcm9wOgorICogQGRvYzogIHRoZSBkb2N1bWVudAorICogQG5hbWU6ICB0aGUgbmFtZSBvZiB0aGUgYXR0cmlidXRlCisgKiBAdmFsdWU6ICB0aGUgdmFsdWUgb2YgdGhlIGF0dHJpYnV0ZQorICoKKyAqIENyZWF0ZSBhIG5ldyBwcm9wZXJ0eSBjYXJyaWVkIGJ5IGEgZG9jdW1lbnQuCisgKiBSZXR1cm5zIGEgcG9pbnRlciB0byB0aGUgYXR0cmlidXRlCisgKi8KK3htbEF0dHJQdHIKK3htbE5ld0RvY1Byb3AoeG1sRG9jUHRyIGRvYywgY29uc3QgeG1sQ2hhciAqbmFtZSwgY29uc3QgeG1sQ2hhciAqdmFsdWUpIHsKKyAgICB4bWxBdHRyUHRyIGN1cjsKKworICAgIGlmIChuYW1lID09IE5VTEwpIHsKKyNpZmRlZiBERUJVR19UUkVFCisgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkieG1sTmV3RG9jUHJvcCA6IG5hbWUgPT0gTlVMTFxuIik7CisjZW5kaWYKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorCisgICAgLyoKKyAgICAgKiBBbGxvY2F0ZSBhIG5ldyBwcm9wZXJ0eSBhbmQgZmlsbCB0aGUgZmllbGRzLgorICAgICAqLworICAgIGN1ciA9ICh4bWxBdHRyUHRyKSB4bWxNYWxsb2Moc2l6ZW9mKHhtbEF0dHIpKTsKKyAgICBpZiAoY3VyID09IE5VTEwpIHsKKwl4bWxUcmVlRXJyTWVtb3J5KCJidWlsZGluZyBhdHRyaWJ1dGUiKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIG1lbXNldChjdXIsIDAsIHNpemVvZih4bWxBdHRyKSk7CisgICAgY3VyLT50eXBlID0gWE1MX0FUVFJJQlVURV9OT0RFOworCisgICAgaWYgKChkb2MgIT0gTlVMTCkgJiYgKGRvYy0+ZGljdCAhPSBOVUxMKSkKKwljdXItPm5hbWUgPSB4bWxEaWN0TG9va3VwKGRvYy0+ZGljdCwgbmFtZSwgLTEpOworICAgIGVsc2UKKwljdXItPm5hbWUgPSB4bWxTdHJkdXAobmFtZSk7CisgICAgY3VyLT5kb2MgPSBkb2M7CisgICAgaWYgKHZhbHVlICE9IE5VTEwpIHsKKwl4bWxOb2RlUHRyIHRtcDsKKworCWN1ci0+Y2hpbGRyZW4gPSB4bWxTdHJpbmdHZXROb2RlTGlzdChkb2MsIHZhbHVlKTsKKwljdXItPmxhc3QgPSBOVUxMOworCisJdG1wID0gY3VyLT5jaGlsZHJlbjsKKwl3aGlsZSAodG1wICE9IE5VTEwpIHsKKwkgICAgdG1wLT5wYXJlbnQgPSAoeG1sTm9kZVB0cikgY3VyOworCSAgICBpZiAodG1wLT5uZXh0ID09IE5VTEwpCisJCWN1ci0+bGFzdCA9IHRtcDsKKwkgICAgdG1wID0gdG1wLT5uZXh0OworCX0KKyAgICB9CisKKyAgICBpZiAoKF9feG1sUmVnaXN0ZXJDYWxsYmFja3MpICYmICh4bWxSZWdpc3Rlck5vZGVEZWZhdWx0VmFsdWUpKQorCXhtbFJlZ2lzdGVyTm9kZURlZmF1bHRWYWx1ZSgoeG1sTm9kZVB0ciljdXIpOworICAgIHJldHVybihjdXIpOworfQorCisvKioKKyAqIHhtbEZyZWVQcm9wTGlzdDoKKyAqIEBjdXI6ICB0aGUgZmlyc3QgcHJvcGVydHkgaW4gdGhlIGxpc3QKKyAqCisgKiBGcmVlIGEgcHJvcGVydHkgYW5kIGFsbCBpdHMgc2libGluZ3MsIGFsbCB0aGUgY2hpbGRyZW4gYXJlIGZyZWVkIHRvby4KKyAqLwordm9pZAoreG1sRnJlZVByb3BMaXN0KHhtbEF0dHJQdHIgY3VyKSB7CisgICAgeG1sQXR0clB0ciBuZXh0OworICAgIGlmIChjdXIgPT0gTlVMTCkgcmV0dXJuOworICAgIHdoaWxlIChjdXIgIT0gTlVMTCkgeworICAgICAgICBuZXh0ID0gY3VyLT5uZXh0OworICAgICAgICB4bWxGcmVlUHJvcChjdXIpOworCWN1ciA9IG5leHQ7CisgICAgfQorfQorCisvKioKKyAqIHhtbEZyZWVQcm9wOgorICogQGN1cjogIGFuIGF0dHJpYnV0ZQorICoKKyAqIEZyZWUgb25lIGF0dHJpYnV0ZSwgYWxsIHRoZSBjb250ZW50IGlzIGZyZWVkIHRvbworICovCit2b2lkCit4bWxGcmVlUHJvcCh4bWxBdHRyUHRyIGN1cikgeworICAgIHhtbERpY3RQdHIgZGljdCA9IE5VTEw7CisgICAgaWYgKGN1ciA9PSBOVUxMKSByZXR1cm47CisKKyAgICBpZiAoY3VyLT5kb2MgIT0gTlVMTCkgZGljdCA9IGN1ci0+ZG9jLT5kaWN0OworCisgICAgaWYgKChfX3htbFJlZ2lzdGVyQ2FsbGJhY2tzKSAmJiAoeG1sRGVyZWdpc3Rlck5vZGVEZWZhdWx0VmFsdWUpKQorCXhtbERlcmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlKCh4bWxOb2RlUHRyKWN1cik7CisKKyAgICAvKiBDaGVjayBmb3IgSUQgcmVtb3ZhbCAtPiBsZWFkaW5nIHRvIGludmFsaWQgcmVmZXJlbmNlcyAhICovCisgICAgaWYgKChjdXItPmRvYyAhPSBOVUxMKSAmJiAoY3VyLT5hdHlwZSA9PSBYTUxfQVRUUklCVVRFX0lEKSkgeworCSAgICB4bWxSZW1vdmVJRChjdXItPmRvYywgY3VyKTsKKyAgICB9CisgICAgaWYgKGN1ci0+Y2hpbGRyZW4gIT0gTlVMTCkgeG1sRnJlZU5vZGVMaXN0KGN1ci0+Y2hpbGRyZW4pOworICAgIERJQ1RfRlJFRShjdXItPm5hbWUpCisgICAgeG1sRnJlZShjdXIpOworfQorCisvKioKKyAqIHhtbFJlbW92ZVByb3A6CisgKiBAY3VyOiAgYW4gYXR0cmlidXRlCisgKgorICogVW5saW5rIGFuZCBmcmVlIG9uZSBhdHRyaWJ1dGUsIGFsbCB0aGUgY29udGVudCBpcyBmcmVlZCB0b28KKyAqIE5vdGUgdGhpcyBkb2Vzbid0IHdvcmsgZm9yIG5hbWVzcGFjZSBkZWZpbml0aW9uIGF0dHJpYnV0ZXMKKyAqCisgKiBSZXR1cm5zIDAgaWYgc3VjY2VzcyBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50Cit4bWxSZW1vdmVQcm9wKHhtbEF0dHJQdHIgY3VyKSB7CisgICAgeG1sQXR0clB0ciB0bXA7CisgICAgaWYgKGN1ciA9PSBOVUxMKSB7CisjaWZkZWYgREVCVUdfVFJFRQorICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJInhtbFJlbW92ZVByb3AgOiBjdXIgPT0gTlVMTFxuIik7CisjZW5kaWYKKwlyZXR1cm4oLTEpOworICAgIH0KKyAgICBpZiAoY3VyLT5wYXJlbnQgPT0gTlVMTCkgeworI2lmZGVmIERFQlVHX1RSRUUKKyAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSJ4bWxSZW1vdmVQcm9wIDogY3VyLT5wYXJlbnQgPT0gTlVMTFxuIik7CisjZW5kaWYKKwlyZXR1cm4oLTEpOworICAgIH0KKyAgICB0bXAgPSBjdXItPnBhcmVudC0+cHJvcGVydGllczsKKyAgICBpZiAodG1wID09IGN1cikgeworICAgICAgICBjdXItPnBhcmVudC0+cHJvcGVydGllcyA9IGN1ci0+bmV4dDsKKwkJaWYgKGN1ci0+bmV4dCAhPSBOVUxMKQorCQkJY3VyLT5uZXh0LT5wcmV2ID0gTlVMTDsKKwl4bWxGcmVlUHJvcChjdXIpOworCXJldHVybigwKTsKKyAgICB9CisgICAgd2hpbGUgKHRtcCAhPSBOVUxMKSB7CisJaWYgKHRtcC0+bmV4dCA9PSBjdXIpIHsKKwkgICAgdG1wLT5uZXh0ID0gY3VyLT5uZXh0OworCSAgICBpZiAodG1wLT5uZXh0ICE9IE5VTEwpCisJCXRtcC0+bmV4dC0+cHJldiA9IHRtcDsKKwkgICAgeG1sRnJlZVByb3AoY3VyKTsKKwkgICAgcmV0dXJuKDApOworCX0KKyAgICAgICAgdG1wID0gdG1wLT5uZXh0OworICAgIH0KKyNpZmRlZiBERUJVR19UUkVFCisgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJICAgICJ4bWxSZW1vdmVQcm9wIDogYXR0cmlidXRlIG5vdCBvd25lZCBieSBpdHMgbm9kZVxuIik7CisjZW5kaWYKKyAgICByZXR1cm4oLTEpOworfQorCisvKioKKyAqIHhtbE5ld0RvY1BJOgorICogQGRvYzogIHRoZSB0YXJnZXQgZG9jdW1lbnQKKyAqIEBuYW1lOiAgdGhlIHByb2Nlc3NpbmcgaW5zdHJ1Y3Rpb24gbmFtZQorICogQGNvbnRlbnQ6ICB0aGUgUEkgY29udGVudAorICoKKyAqIENyZWF0aW9uIG9mIGEgcHJvY2Vzc2luZyBpbnN0cnVjdGlvbiBlbGVtZW50LgorICogUmV0dXJucyBhIHBvaW50ZXIgdG8gdGhlIG5ldyBub2RlIG9iamVjdC4KKyAqLworeG1sTm9kZVB0cgoreG1sTmV3RG9jUEkoeG1sRG9jUHRyIGRvYywgY29uc3QgeG1sQ2hhciAqbmFtZSwgY29uc3QgeG1sQ2hhciAqY29udGVudCkgeworICAgIHhtbE5vZGVQdHIgY3VyOworCisgICAgaWYgKG5hbWUgPT0gTlVMTCkgeworI2lmZGVmIERFQlVHX1RSRUUKKyAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSJ4bWxOZXdQSSA6IG5hbWUgPT0gTlVMTFxuIik7CisjZW5kaWYKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorCisgICAgLyoKKyAgICAgKiBBbGxvY2F0ZSBhIG5ldyBub2RlIGFuZCBmaWxsIHRoZSBmaWVsZHMuCisgICAgICovCisgICAgY3VyID0gKHhtbE5vZGVQdHIpIHhtbE1hbGxvYyhzaXplb2YoeG1sTm9kZSkpOworICAgIGlmIChjdXIgPT0gTlVMTCkgeworCXhtbFRyZWVFcnJNZW1vcnkoImJ1aWxkaW5nIFBJIik7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBtZW1zZXQoY3VyLCAwLCBzaXplb2YoeG1sTm9kZSkpOworICAgIGN1ci0+dHlwZSA9IFhNTF9QSV9OT0RFOworCisgICAgaWYgKChkb2MgIT0gTlVMTCkgJiYgKGRvYy0+ZGljdCAhPSBOVUxMKSkKKyAgICAgICAgY3VyLT5uYW1lID0geG1sRGljdExvb2t1cChkb2MtPmRpY3QsIG5hbWUsIC0xKTsKKyAgICBlbHNlCisJY3VyLT5uYW1lID0geG1sU3RyZHVwKG5hbWUpOworICAgIGlmIChjb250ZW50ICE9IE5VTEwpIHsKKwljdXItPmNvbnRlbnQgPSB4bWxTdHJkdXAoY29udGVudCk7CisgICAgfQorICAgIGN1ci0+ZG9jID0gZG9jOworCisgICAgaWYgKChfX3htbFJlZ2lzdGVyQ2FsbGJhY2tzKSAmJiAoeG1sUmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlKSkKKwl4bWxSZWdpc3Rlck5vZGVEZWZhdWx0VmFsdWUoKHhtbE5vZGVQdHIpY3VyKTsKKyAgICByZXR1cm4oY3VyKTsKK30KKworLyoqCisgKiB4bWxOZXdQSToKKyAqIEBuYW1lOiAgdGhlIHByb2Nlc3NpbmcgaW5zdHJ1Y3Rpb24gbmFtZQorICogQGNvbnRlbnQ6ICB0aGUgUEkgY29udGVudAorICoKKyAqIENyZWF0aW9uIG9mIGEgcHJvY2Vzc2luZyBpbnN0cnVjdGlvbiBlbGVtZW50LgorICogVXNlIHhtbERvY05ld1BJIHByZWZlcmFibHkgdG8gZ2V0IHN0cmluZyBpbnRlcm5pbmcKKyAqCisgKiBSZXR1cm5zIGEgcG9pbnRlciB0byB0aGUgbmV3IG5vZGUgb2JqZWN0LgorICovCit4bWxOb2RlUHRyCit4bWxOZXdQSShjb25zdCB4bWxDaGFyICpuYW1lLCBjb25zdCB4bWxDaGFyICpjb250ZW50KSB7CisgICAgcmV0dXJuKHhtbE5ld0RvY1BJKE5VTEwsIG5hbWUsIGNvbnRlbnQpKTsKK30KKworLyoqCisgKiB4bWxOZXdOb2RlOgorICogQG5zOiAgbmFtZXNwYWNlIGlmIGFueQorICogQG5hbWU6ICB0aGUgbm9kZSBuYW1lCisgKgorICogQ3JlYXRpb24gb2YgYSBuZXcgbm9kZSBlbGVtZW50LiBAbnMgaXMgb3B0aW9uYWwgKE5VTEwpLgorICoKKyAqIFJldHVybnMgYSBwb2ludGVyIHRvIHRoZSBuZXcgbm9kZSBvYmplY3QuIFVzZXMgeG1sU3RyZHVwKCkgdG8gbWFrZQorICogY29weSBvZiBAbmFtZS4KKyAqLworeG1sTm9kZVB0cgoreG1sTmV3Tm9kZSh4bWxOc1B0ciBucywgY29uc3QgeG1sQ2hhciAqbmFtZSkgeworICAgIHhtbE5vZGVQdHIgY3VyOworCisgICAgaWYgKG5hbWUgPT0gTlVMTCkgeworI2lmZGVmIERFQlVHX1RSRUUKKyAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSJ4bWxOZXdOb2RlIDogbmFtZSA9PSBOVUxMXG4iKTsKKyNlbmRpZgorCXJldHVybihOVUxMKTsKKyAgICB9CisKKyAgICAvKgorICAgICAqIEFsbG9jYXRlIGEgbmV3IG5vZGUgYW5kIGZpbGwgdGhlIGZpZWxkcy4KKyAgICAgKi8KKyAgICBjdXIgPSAoeG1sTm9kZVB0cikgeG1sTWFsbG9jKHNpemVvZih4bWxOb2RlKSk7CisgICAgaWYgKGN1ciA9PSBOVUxMKSB7CisJeG1sVHJlZUVyck1lbW9yeSgiYnVpbGRpbmcgbm9kZSIpOworCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgbWVtc2V0KGN1ciwgMCwgc2l6ZW9mKHhtbE5vZGUpKTsKKyAgICBjdXItPnR5cGUgPSBYTUxfRUxFTUVOVF9OT0RFOworCisgICAgY3VyLT5uYW1lID0geG1sU3RyZHVwKG5hbWUpOworICAgIGN1ci0+bnMgPSBuczsKKworICAgIGlmICgoX194bWxSZWdpc3RlckNhbGxiYWNrcykgJiYgKHhtbFJlZ2lzdGVyTm9kZURlZmF1bHRWYWx1ZSkpCisJeG1sUmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlKGN1cik7CisgICAgcmV0dXJuKGN1cik7Cit9CisKKy8qKgorICogeG1sTmV3Tm9kZUVhdE5hbWU6CisgKiBAbnM6ICBuYW1lc3BhY2UgaWYgYW55CisgKiBAbmFtZTogIHRoZSBub2RlIG5hbWUKKyAqCisgKiBDcmVhdGlvbiBvZiBhIG5ldyBub2RlIGVsZW1lbnQuIEBucyBpcyBvcHRpb25hbCAoTlVMTCkuCisgKgorICogUmV0dXJucyBhIHBvaW50ZXIgdG8gdGhlIG5ldyBub2RlIG9iamVjdCwgd2l0aCBwb2ludGVyIEBuYW1lIGFzCisgKiBuZXcgbm9kZSdzIG5hbWUuIFVzZSB4bWxOZXdOb2RlKCkgaWYgYSBjb3B5IG9mIEBuYW1lIHN0cmluZyBpcworICogaXMgbmVlZGVkIGFzIG5ldyBub2RlJ3MgbmFtZS4KKyAqLworeG1sTm9kZVB0cgoreG1sTmV3Tm9kZUVhdE5hbWUoeG1sTnNQdHIgbnMsIHhtbENoYXIgKm5hbWUpIHsKKyAgICB4bWxOb2RlUHRyIGN1cjsKKworICAgIGlmIChuYW1lID09IE5VTEwpIHsKKyNpZmRlZiBERUJVR19UUkVFCisgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkieG1sTmV3Tm9kZSA6IG5hbWUgPT0gTlVMTFxuIik7CisjZW5kaWYKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorCisgICAgLyoKKyAgICAgKiBBbGxvY2F0ZSBhIG5ldyBub2RlIGFuZCBmaWxsIHRoZSBmaWVsZHMuCisgICAgICovCisgICAgY3VyID0gKHhtbE5vZGVQdHIpIHhtbE1hbGxvYyhzaXplb2YoeG1sTm9kZSkpOworICAgIGlmIChjdXIgPT0gTlVMTCkgeworCXhtbFRyZWVFcnJNZW1vcnkoImJ1aWxkaW5nIG5vZGUiKTsKKwkvKiB3ZSBjYW4ndCBjaGVjayBoZXJlIHRoYXQgbmFtZSBjb21lcyBmcm9tIHRoZSBkb2MgZGljdGlvbm5hcnkgKi8KKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIG1lbXNldChjdXIsIDAsIHNpemVvZih4bWxOb2RlKSk7CisgICAgY3VyLT50eXBlID0gWE1MX0VMRU1FTlRfTk9ERTsKKworICAgIGN1ci0+bmFtZSA9IG5hbWU7CisgICAgY3VyLT5ucyA9IG5zOworCisgICAgaWYgKChfX3htbFJlZ2lzdGVyQ2FsbGJhY2tzKSAmJiAoeG1sUmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlKSkKKwl4bWxSZWdpc3Rlck5vZGVEZWZhdWx0VmFsdWUoKHhtbE5vZGVQdHIpY3VyKTsKKyAgICByZXR1cm4oY3VyKTsKK30KKworLyoqCisgKiB4bWxOZXdEb2NOb2RlOgorICogQGRvYzogIHRoZSBkb2N1bWVudAorICogQG5zOiAgbmFtZXNwYWNlIGlmIGFueQorICogQG5hbWU6ICB0aGUgbm9kZSBuYW1lCisgKiBAY29udGVudDogIHRoZSBYTUwgdGV4dCBjb250ZW50IGlmIGFueQorICoKKyAqIENyZWF0aW9uIG9mIGEgbmV3IG5vZGUgZWxlbWVudCB3aXRoaW4gYSBkb2N1bWVudC4gQG5zIGFuZCBAY29udGVudAorICogYXJlIG9wdGlvbmFsIChOVUxMKS4KKyAqIE5PVEU6IEBjb250ZW50IGlzIHN1cHBvc2VkIHRvIGJlIGEgcGllY2Ugb2YgWE1MIENEQVRBLCBzbyBpdCBhbGxvdyBlbnRpdGllcworICogICAgICAgcmVmZXJlbmNlcywgYnV0IFhNTCBzcGVjaWFsIGNoYXJzIG5lZWQgdG8gYmUgZXNjYXBlZCBmaXJzdCBieSB1c2luZworICogICAgICAgeG1sRW5jb2RlRW50aXRpZXNSZWVudHJhbnQoKS4gVXNlIHhtbE5ld0RvY1Jhd05vZGUoKSBpZiB5b3UgZG9uJ3QKKyAqICAgICAgIG5lZWQgZW50aXRpZXMgc3VwcG9ydC4KKyAqCisgKiBSZXR1cm5zIGEgcG9pbnRlciB0byB0aGUgbmV3IG5vZGUgb2JqZWN0LgorICovCit4bWxOb2RlUHRyCit4bWxOZXdEb2NOb2RlKHhtbERvY1B0ciBkb2MsIHhtbE5zUHRyIG5zLAorICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICpuYW1lLCBjb25zdCB4bWxDaGFyICpjb250ZW50KSB7CisgICAgeG1sTm9kZVB0ciBjdXI7CisKKyAgICBpZiAoKGRvYyAhPSBOVUxMKSAmJiAoZG9jLT5kaWN0ICE9IE5VTEwpKQorICAgICAgICBjdXIgPSB4bWxOZXdOb2RlRWF0TmFtZShucywgKHhtbENoYXIgKikKKwkgICAgICAgICAgICAgICAgICAgICAgICB4bWxEaWN0TG9va3VwKGRvYy0+ZGljdCwgbmFtZSwgLTEpKTsKKyAgICBlbHNlCisJY3VyID0geG1sTmV3Tm9kZShucywgbmFtZSk7CisgICAgaWYgKGN1ciAhPSBOVUxMKSB7CisgICAgICAgIGN1ci0+ZG9jID0gZG9jOworCWlmIChjb250ZW50ICE9IE5VTEwpIHsKKwkgICAgY3VyLT5jaGlsZHJlbiA9IHhtbFN0cmluZ0dldE5vZGVMaXN0KGRvYywgY29udGVudCk7CisJICAgIFVQREFURV9MQVNUX0NISUxEX0FORF9QQVJFTlQoY3VyKQorCX0KKyAgICB9CisKKyAgICByZXR1cm4oY3VyKTsKK30KKworLyoqCisgKiB4bWxOZXdEb2NOb2RlRWF0TmFtZToKKyAqIEBkb2M6ICB0aGUgZG9jdW1lbnQKKyAqIEBuczogIG5hbWVzcGFjZSBpZiBhbnkKKyAqIEBuYW1lOiAgdGhlIG5vZGUgbmFtZQorICogQGNvbnRlbnQ6ICB0aGUgWE1MIHRleHQgY29udGVudCBpZiBhbnkKKyAqCisgKiBDcmVhdGlvbiBvZiBhIG5ldyBub2RlIGVsZW1lbnQgd2l0aGluIGEgZG9jdW1lbnQuIEBucyBhbmQgQGNvbnRlbnQKKyAqIGFyZSBvcHRpb25hbCAoTlVMTCkuCisgKiBOT1RFOiBAY29udGVudCBpcyBzdXBwb3NlZCB0byBiZSBhIHBpZWNlIG9mIFhNTCBDREFUQSwgc28gaXQgYWxsb3cgZW50aXRpZXMKKyAqICAgICAgIHJlZmVyZW5jZXMsIGJ1dCBYTUwgc3BlY2lhbCBjaGFycyBuZWVkIHRvIGJlIGVzY2FwZWQgZmlyc3QgYnkgdXNpbmcKKyAqICAgICAgIHhtbEVuY29kZUVudGl0aWVzUmVlbnRyYW50KCkuIFVzZSB4bWxOZXdEb2NSYXdOb2RlKCkgaWYgeW91IGRvbid0CisgKiAgICAgICBuZWVkIGVudGl0aWVzIHN1cHBvcnQuCisgKgorICogUmV0dXJucyBhIHBvaW50ZXIgdG8gdGhlIG5ldyBub2RlIG9iamVjdC4KKyAqLworeG1sTm9kZVB0cgoreG1sTmV3RG9jTm9kZUVhdE5hbWUoeG1sRG9jUHRyIGRvYywgeG1sTnNQdHIgbnMsCisgICAgICAgICAgICAgIHhtbENoYXIgKm5hbWUsIGNvbnN0IHhtbENoYXIgKmNvbnRlbnQpIHsKKyAgICB4bWxOb2RlUHRyIGN1cjsKKworICAgIGN1ciA9IHhtbE5ld05vZGVFYXROYW1lKG5zLCBuYW1lKTsKKyAgICBpZiAoY3VyICE9IE5VTEwpIHsKKyAgICAgICAgY3VyLT5kb2MgPSBkb2M7CisJaWYgKGNvbnRlbnQgIT0gTlVMTCkgeworCSAgICBjdXItPmNoaWxkcmVuID0geG1sU3RyaW5nR2V0Tm9kZUxpc3QoZG9jLCBjb250ZW50KTsKKwkgICAgVVBEQVRFX0xBU1RfQ0hJTERfQU5EX1BBUkVOVChjdXIpCisJfQorICAgIH0gZWxzZSB7CisgICAgICAgIC8qIGlmIG5hbWUgZG9uJ3QgY29tZSBmcm9tIHRoZSBkb2MgZGljdGlvbm5hcnkgZnJlZSBpdCBoZXJlICovCisgICAgICAgIGlmICgobmFtZSAhPSBOVUxMKSAmJiAoZG9jICE9IE5VTEwpICYmCisJICAgICghKHhtbERpY3RPd25zKGRvYy0+ZGljdCwgbmFtZSkpKSkKKwkgICAgeG1sRnJlZShuYW1lKTsKKyAgICB9CisgICAgcmV0dXJuKGN1cik7Cit9CisKKyNpZmRlZiBMSUJYTUxfVFJFRV9FTkFCTEVECisvKioKKyAqIHhtbE5ld0RvY1Jhd05vZGU6CisgKiBAZG9jOiAgdGhlIGRvY3VtZW50CisgKiBAbnM6ICBuYW1lc3BhY2UgaWYgYW55CisgKiBAbmFtZTogIHRoZSBub2RlIG5hbWUKKyAqIEBjb250ZW50OiAgdGhlIHRleHQgY29udGVudCBpZiBhbnkKKyAqCisgKiBDcmVhdGlvbiBvZiBhIG5ldyBub2RlIGVsZW1lbnQgd2l0aGluIGEgZG9jdW1lbnQuIEBucyBhbmQgQGNvbnRlbnQKKyAqIGFyZSBvcHRpb25hbCAoTlVMTCkuCisgKgorICogUmV0dXJucyBhIHBvaW50ZXIgdG8gdGhlIG5ldyBub2RlIG9iamVjdC4KKyAqLworeG1sTm9kZVB0cgoreG1sTmV3RG9jUmF3Tm9kZSh4bWxEb2NQdHIgZG9jLCB4bWxOc1B0ciBucywKKyAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqbmFtZSwgY29uc3QgeG1sQ2hhciAqY29udGVudCkgeworICAgIHhtbE5vZGVQdHIgY3VyOworCisgICAgY3VyID0geG1sTmV3RG9jTm9kZShkb2MsIG5zLCBuYW1lLCBOVUxMKTsKKyAgICBpZiAoY3VyICE9IE5VTEwpIHsKKyAgICAgICAgY3VyLT5kb2MgPSBkb2M7CisJaWYgKGNvbnRlbnQgIT0gTlVMTCkgeworCSAgICBjdXItPmNoaWxkcmVuID0geG1sTmV3RG9jVGV4dChkb2MsIGNvbnRlbnQpOworCSAgICBVUERBVEVfTEFTVF9DSElMRF9BTkRfUEFSRU5UKGN1cikKKwl9CisgICAgfQorICAgIHJldHVybihjdXIpOworfQorCisvKioKKyAqIHhtbE5ld0RvY0ZyYWdtZW50OgorICogQGRvYzogIHRoZSBkb2N1bWVudCBvd25pbmcgdGhlIGZyYWdtZW50CisgKgorICogQ3JlYXRpb24gb2YgYSBuZXcgRnJhZ21lbnQgbm9kZS4KKyAqIFJldHVybnMgYSBwb2ludGVyIHRvIHRoZSBuZXcgbm9kZSBvYmplY3QuCisgKi8KK3htbE5vZGVQdHIKK3htbE5ld0RvY0ZyYWdtZW50KHhtbERvY1B0ciBkb2MpIHsKKyAgICB4bWxOb2RlUHRyIGN1cjsKKworICAgIC8qCisgICAgICogQWxsb2NhdGUgYSBuZXcgRG9jdW1lbnRGcmFnbWVudCBub2RlIGFuZCBmaWxsIHRoZSBmaWVsZHMuCisgICAgICovCisgICAgY3VyID0gKHhtbE5vZGVQdHIpIHhtbE1hbGxvYyhzaXplb2YoeG1sTm9kZSkpOworICAgIGlmIChjdXIgPT0gTlVMTCkgeworCXhtbFRyZWVFcnJNZW1vcnkoImJ1aWxkaW5nIGZyYWdtZW50Iik7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBtZW1zZXQoY3VyLCAwLCBzaXplb2YoeG1sTm9kZSkpOworICAgIGN1ci0+dHlwZSA9IFhNTF9ET0NVTUVOVF9GUkFHX05PREU7CisKKyAgICBjdXItPmRvYyA9IGRvYzsKKworICAgIGlmICgoX194bWxSZWdpc3RlckNhbGxiYWNrcykgJiYgKHhtbFJlZ2lzdGVyTm9kZURlZmF1bHRWYWx1ZSkpCisJeG1sUmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlKGN1cik7CisgICAgcmV0dXJuKGN1cik7Cit9CisjZW5kaWYgLyogTElCWE1MX1RSRUVfRU5BQkxFRCAqLworCisvKioKKyAqIHhtbE5ld1RleHQ6CisgKiBAY29udGVudDogIHRoZSB0ZXh0IGNvbnRlbnQKKyAqCisgKiBDcmVhdGlvbiBvZiBhIG5ldyB0ZXh0IG5vZGUuCisgKiBSZXR1cm5zIGEgcG9pbnRlciB0byB0aGUgbmV3IG5vZGUgb2JqZWN0LgorICovCit4bWxOb2RlUHRyCit4bWxOZXdUZXh0KGNvbnN0IHhtbENoYXIgKmNvbnRlbnQpIHsKKyAgICB4bWxOb2RlUHRyIGN1cjsKKworICAgIC8qCisgICAgICogQWxsb2NhdGUgYSBuZXcgbm9kZSBhbmQgZmlsbCB0aGUgZmllbGRzLgorICAgICAqLworICAgIGN1ciA9ICh4bWxOb2RlUHRyKSB4bWxNYWxsb2Moc2l6ZW9mKHhtbE5vZGUpKTsKKyAgICBpZiAoY3VyID09IE5VTEwpIHsKKwl4bWxUcmVlRXJyTWVtb3J5KCJidWlsZGluZyB0ZXh0Iik7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBtZW1zZXQoY3VyLCAwLCBzaXplb2YoeG1sTm9kZSkpOworICAgIGN1ci0+dHlwZSA9IFhNTF9URVhUX05PREU7CisKKyAgICBjdXItPm5hbWUgPSB4bWxTdHJpbmdUZXh0OworICAgIGlmIChjb250ZW50ICE9IE5VTEwpIHsKKwljdXItPmNvbnRlbnQgPSB4bWxTdHJkdXAoY29udGVudCk7CisgICAgfQorCisgICAgaWYgKChfX3htbFJlZ2lzdGVyQ2FsbGJhY2tzKSAmJiAoeG1sUmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlKSkKKwl4bWxSZWdpc3Rlck5vZGVEZWZhdWx0VmFsdWUoY3VyKTsKKyAgICByZXR1cm4oY3VyKTsKK30KKworI2lmZGVmIExJQlhNTF9UUkVFX0VOQUJMRUQKKy8qKgorICogeG1sTmV3VGV4dENoaWxkOgorICogQHBhcmVudDogIHRoZSBwYXJlbnQgbm9kZQorICogQG5zOiAgYSBuYW1lc3BhY2UgaWYgYW55CisgKiBAbmFtZTogIHRoZSBuYW1lIG9mIHRoZSBjaGlsZAorICogQGNvbnRlbnQ6ICB0aGUgdGV4dCBjb250ZW50IG9mIHRoZSBjaGlsZCBpZiBhbnkuCisgKgorICogQ3JlYXRpb24gb2YgYSBuZXcgY2hpbGQgZWxlbWVudCwgYWRkZWQgYXQgdGhlIGVuZCBvZiBAcGFyZW50IGNoaWxkcmVuIGxpc3QuCisgKiBAbnMgYW5kIEBjb250ZW50IHBhcmFtZXRlcnMgYXJlIG9wdGlvbmFsIChOVUxMKS4gSWYgQG5zIGlzIE5VTEwsIHRoZSBuZXdseQorICogY3JlYXRlZCBlbGVtZW50IGluaGVyaXRzIHRoZSBuYW1lc3BhY2Ugb2YgQHBhcmVudC4gSWYgQGNvbnRlbnQgaXMgbm9uIE5VTEwsCisgKiBhIGNoaWxkIFRFWFQgbm9kZSB3aWxsIGJlIGNyZWF0ZWQgY29udGFpbmluZyB0aGUgc3RyaW5nIEBjb250ZW50LgorICogTk9URTogVXNlIHhtbE5ld0NoaWxkKCkgaWYgQGNvbnRlbnQgd2lsbCBjb250YWluIGVudGl0aWVzIHRoYXQgbmVlZCB0byBiZQorICogcHJlc2VydmVkLiBVc2UgdGhpcyBmdW5jdGlvbiwgeG1sTmV3VGV4dENoaWxkKCksIGlmIHlvdSBuZWVkIHRvIGVuc3VyZSB0aGF0CisgKiByZXNlcnZlZCBYTUwgY2hhcnMgdGhhdCBtaWdodCBhcHBlYXIgaW4gQGNvbnRlbnQsIHN1Y2ggYXMgdGhlIGFtcGVyc2FuZCwKKyAqIGdyZWF0ZXItdGhhbiBvciBsZXNzLXRoYW4gc2lnbnMsIGFyZSBhdXRvbWF0aWNhbGx5IHJlcGxhY2VkIGJ5IHRoZWlyIFhNTAorICogZXNjYXBlZCBlbnRpdHkgcmVwcmVzZW50YXRpb25zLgorICoKKyAqIFJldHVybnMgYSBwb2ludGVyIHRvIHRoZSBuZXcgbm9kZSBvYmplY3QuCisgKi8KK3htbE5vZGVQdHIKK3htbE5ld1RleHRDaGlsZCh4bWxOb2RlUHRyIHBhcmVudCwgeG1sTnNQdHIgbnMsCisgICAgICAgICAgICBjb25zdCB4bWxDaGFyICpuYW1lLCBjb25zdCB4bWxDaGFyICpjb250ZW50KSB7CisgICAgeG1sTm9kZVB0ciBjdXIsIHByZXY7CisKKyAgICBpZiAocGFyZW50ID09IE5VTEwpIHsKKyNpZmRlZiBERUJVR19UUkVFCisgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkieG1sTmV3VGV4dENoaWxkIDogcGFyZW50ID09IE5VTExcbiIpOworI2VuZGlmCisJcmV0dXJuKE5VTEwpOworICAgIH0KKworICAgIGlmIChuYW1lID09IE5VTEwpIHsKKyNpZmRlZiBERUJVR19UUkVFCisgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkieG1sTmV3VGV4dENoaWxkIDogbmFtZSA9PSBOVUxMXG4iKTsKKyNlbmRpZgorCXJldHVybihOVUxMKTsKKyAgICB9CisKKyAgICAvKgorICAgICAqIEFsbG9jYXRlIGEgbmV3IG5vZGUKKyAgICAgKi8KKyAgICBpZiAocGFyZW50LT50eXBlID09IFhNTF9FTEVNRU5UX05PREUpIHsKKwlpZiAobnMgPT0gTlVMTCkKKwkgICAgY3VyID0geG1sTmV3RG9jUmF3Tm9kZShwYXJlbnQtPmRvYywgcGFyZW50LT5ucywgbmFtZSwgY29udGVudCk7CisJZWxzZQorCSAgICBjdXIgPSB4bWxOZXdEb2NSYXdOb2RlKHBhcmVudC0+ZG9jLCBucywgbmFtZSwgY29udGVudCk7CisgICAgfSBlbHNlIGlmICgocGFyZW50LT50eXBlID09IFhNTF9ET0NVTUVOVF9OT0RFKSB8fAorCSAgICAgICAocGFyZW50LT50eXBlID09IFhNTF9IVE1MX0RPQ1VNRU5UX05PREUpKSB7CisJaWYgKG5zID09IE5VTEwpCisJICAgIGN1ciA9IHhtbE5ld0RvY1Jhd05vZGUoKHhtbERvY1B0cikgcGFyZW50LCBOVUxMLCBuYW1lLCBjb250ZW50KTsKKwllbHNlCisJICAgIGN1ciA9IHhtbE5ld0RvY1Jhd05vZGUoKHhtbERvY1B0cikgcGFyZW50LCBucywgbmFtZSwgY29udGVudCk7CisgICAgfSBlbHNlIGlmIChwYXJlbnQtPnR5cGUgPT0gWE1MX0RPQ1VNRU5UX0ZSQUdfTk9ERSkgeworCSAgICBjdXIgPSB4bWxOZXdEb2NSYXdOb2RlKCBwYXJlbnQtPmRvYywgbnMsIG5hbWUsIGNvbnRlbnQpOworICAgIH0gZWxzZSB7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBpZiAoY3VyID09IE5VTEwpIHJldHVybihOVUxMKTsKKworICAgIC8qCisgICAgICogYWRkIHRoZSBuZXcgZWxlbWVudCBhdCB0aGUgZW5kIG9mIHRoZSBjaGlsZHJlbiBsaXN0LgorICAgICAqLworICAgIGN1ci0+dHlwZSA9IFhNTF9FTEVNRU5UX05PREU7CisgICAgY3VyLT5wYXJlbnQgPSBwYXJlbnQ7CisgICAgY3VyLT5kb2MgPSBwYXJlbnQtPmRvYzsKKyAgICBpZiAocGFyZW50LT5jaGlsZHJlbiA9PSBOVUxMKSB7CisgICAgICAgIHBhcmVudC0+Y2hpbGRyZW4gPSBjdXI7CisJcGFyZW50LT5sYXN0ID0gY3VyOworICAgIH0gZWxzZSB7CisgICAgICAgIHByZXYgPSBwYXJlbnQtPmxhc3Q7CisJcHJldi0+bmV4dCA9IGN1cjsKKwljdXItPnByZXYgPSBwcmV2OworCXBhcmVudC0+bGFzdCA9IGN1cjsKKyAgICB9CisKKyAgICByZXR1cm4oY3VyKTsKK30KKyNlbmRpZiAvKiBMSUJYTUxfVFJFRV9FTkFCTEVEICovCisKKy8qKgorICogeG1sTmV3Q2hhclJlZjoKKyAqIEBkb2M6IHRoZSBkb2N1bWVudAorICogQG5hbWU6ICB0aGUgY2hhciByZWYgc3RyaW5nLCBzdGFydGluZyB3aXRoICMgb3IgIiYjIC4uLiA7IgorICoKKyAqIENyZWF0aW9uIG9mIGEgbmV3IGNoYXJhY3RlciByZWZlcmVuY2Ugbm9kZS4KKyAqIFJldHVybnMgYSBwb2ludGVyIHRvIHRoZSBuZXcgbm9kZSBvYmplY3QuCisgKi8KK3htbE5vZGVQdHIKK3htbE5ld0NoYXJSZWYoeG1sRG9jUHRyIGRvYywgY29uc3QgeG1sQ2hhciAqbmFtZSkgeworICAgIHhtbE5vZGVQdHIgY3VyOworCisgICAgaWYgKG5hbWUgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuKE5VTEwpOworCisgICAgLyoKKyAgICAgKiBBbGxvY2F0ZSBhIG5ldyBub2RlIGFuZCBmaWxsIHRoZSBmaWVsZHMuCisgICAgICovCisgICAgY3VyID0gKHhtbE5vZGVQdHIpIHhtbE1hbGxvYyhzaXplb2YoeG1sTm9kZSkpOworICAgIGlmIChjdXIgPT0gTlVMTCkgeworCXhtbFRyZWVFcnJNZW1vcnkoImJ1aWxkaW5nIGNoYXJhY3RlciByZWZlcmVuY2UiKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIG1lbXNldChjdXIsIDAsIHNpemVvZih4bWxOb2RlKSk7CisgICAgY3VyLT50eXBlID0gWE1MX0VOVElUWV9SRUZfTk9ERTsKKworICAgIGN1ci0+ZG9jID0gZG9jOworICAgIGlmIChuYW1lWzBdID09ICcmJykgeworICAgICAgICBpbnQgbGVuOworICAgICAgICBuYW1lKys7CisJbGVuID0geG1sU3RybGVuKG5hbWUpOworCWlmIChuYW1lW2xlbiAtIDFdID09ICc7JykKKwkgICAgY3VyLT5uYW1lID0geG1sU3RybmR1cChuYW1lLCBsZW4gLSAxKTsKKwllbHNlCisJICAgIGN1ci0+bmFtZSA9IHhtbFN0cm5kdXAobmFtZSwgbGVuKTsKKyAgICB9IGVsc2UKKwljdXItPm5hbWUgPSB4bWxTdHJkdXAobmFtZSk7CisKKyAgICBpZiAoKF9feG1sUmVnaXN0ZXJDYWxsYmFja3MpICYmICh4bWxSZWdpc3Rlck5vZGVEZWZhdWx0VmFsdWUpKQorCXhtbFJlZ2lzdGVyTm9kZURlZmF1bHRWYWx1ZShjdXIpOworICAgIHJldHVybihjdXIpOworfQorCisvKioKKyAqIHhtbE5ld1JlZmVyZW5jZToKKyAqIEBkb2M6IHRoZSBkb2N1bWVudAorICogQG5hbWU6ICB0aGUgcmVmZXJlbmNlIG5hbWUsIG9yIHRoZSByZWZlcmVuY2Ugc3RyaW5nIHdpdGggJiBhbmQgOworICoKKyAqIENyZWF0aW9uIG9mIGEgbmV3IHJlZmVyZW5jZSBub2RlLgorICogUmV0dXJucyBhIHBvaW50ZXIgdG8gdGhlIG5ldyBub2RlIG9iamVjdC4KKyAqLworeG1sTm9kZVB0cgoreG1sTmV3UmVmZXJlbmNlKGNvbnN0IHhtbERvYyAqZG9jLCBjb25zdCB4bWxDaGFyICpuYW1lKSB7CisgICAgeG1sTm9kZVB0ciBjdXI7CisgICAgeG1sRW50aXR5UHRyIGVudDsKKworICAgIGlmIChuYW1lID09IE5VTEwpCisgICAgICAgIHJldHVybihOVUxMKTsKKworICAgIC8qCisgICAgICogQWxsb2NhdGUgYSBuZXcgbm9kZSBhbmQgZmlsbCB0aGUgZmllbGRzLgorICAgICAqLworICAgIGN1ciA9ICh4bWxOb2RlUHRyKSB4bWxNYWxsb2Moc2l6ZW9mKHhtbE5vZGUpKTsKKyAgICBpZiAoY3VyID09IE5VTEwpIHsKKwl4bWxUcmVlRXJyTWVtb3J5KCJidWlsZGluZyByZWZlcmVuY2UiKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIG1lbXNldChjdXIsIDAsIHNpemVvZih4bWxOb2RlKSk7CisgICAgY3VyLT50eXBlID0gWE1MX0VOVElUWV9SRUZfTk9ERTsKKworICAgIGN1ci0+ZG9jID0gKHhtbERvYyAqKWRvYzsKKyAgICBpZiAobmFtZVswXSA9PSAnJicpIHsKKyAgICAgICAgaW50IGxlbjsKKyAgICAgICAgbmFtZSsrOworCWxlbiA9IHhtbFN0cmxlbihuYW1lKTsKKwlpZiAobmFtZVtsZW4gLSAxXSA9PSAnOycpCisJICAgIGN1ci0+bmFtZSA9IHhtbFN0cm5kdXAobmFtZSwgbGVuIC0gMSk7CisJZWxzZQorCSAgICBjdXItPm5hbWUgPSB4bWxTdHJuZHVwKG5hbWUsIGxlbik7CisgICAgfSBlbHNlCisJY3VyLT5uYW1lID0geG1sU3RyZHVwKG5hbWUpOworCisgICAgZW50ID0geG1sR2V0RG9jRW50aXR5KGRvYywgY3VyLT5uYW1lKTsKKyAgICBpZiAoZW50ICE9IE5VTEwpIHsKKwljdXItPmNvbnRlbnQgPSBlbnQtPmNvbnRlbnQ7CisJLyoKKwkgKiBUaGUgcGFyZW50IHBvaW50ZXIgaW4gZW50aXR5IGlzIGEgRFREIHBvaW50ZXIgYW5kIHRodXMgaXMgTk9UCisJICogdXBkYXRlZC4gIE5vdCBzdXJlIGlmIHRoaXMgaXMgMTAwJSBjb3JyZWN0LgorCSAqICAtR2VvcmdlCisJICovCisJY3VyLT5jaGlsZHJlbiA9ICh4bWxOb2RlUHRyKSBlbnQ7CisJY3VyLT5sYXN0ID0gKHhtbE5vZGVQdHIpIGVudDsKKyAgICB9CisKKyAgICBpZiAoKF9feG1sUmVnaXN0ZXJDYWxsYmFja3MpICYmICh4bWxSZWdpc3Rlck5vZGVEZWZhdWx0VmFsdWUpKQorCXhtbFJlZ2lzdGVyTm9kZURlZmF1bHRWYWx1ZShjdXIpOworICAgIHJldHVybihjdXIpOworfQorCisvKioKKyAqIHhtbE5ld0RvY1RleHQ6CisgKiBAZG9jOiB0aGUgZG9jdW1lbnQKKyAqIEBjb250ZW50OiAgdGhlIHRleHQgY29udGVudAorICoKKyAqIENyZWF0aW9uIG9mIGEgbmV3IHRleHQgbm9kZSB3aXRoaW4gYSBkb2N1bWVudC4KKyAqIFJldHVybnMgYSBwb2ludGVyIHRvIHRoZSBuZXcgbm9kZSBvYmplY3QuCisgKi8KK3htbE5vZGVQdHIKK3htbE5ld0RvY1RleHQoY29uc3QgeG1sRG9jICpkb2MsIGNvbnN0IHhtbENoYXIgKmNvbnRlbnQpIHsKKyAgICB4bWxOb2RlUHRyIGN1cjsKKworICAgIGN1ciA9IHhtbE5ld1RleHQoY29udGVudCk7CisgICAgaWYgKGN1ciAhPSBOVUxMKSBjdXItPmRvYyA9ICh4bWxEb2MgKilkb2M7CisgICAgcmV0dXJuKGN1cik7Cit9CisKKy8qKgorICogeG1sTmV3VGV4dExlbjoKKyAqIEBjb250ZW50OiAgdGhlIHRleHQgY29udGVudAorICogQGxlbjogIHRoZSB0ZXh0IGxlbi4KKyAqCisgKiBDcmVhdGlvbiBvZiBhIG5ldyB0ZXh0IG5vZGUgd2l0aCBhbiBleHRyYSBwYXJhbWV0ZXIgZm9yIHRoZSBjb250ZW50J3MgbGVuZ3RoCisgKiBSZXR1cm5zIGEgcG9pbnRlciB0byB0aGUgbmV3IG5vZGUgb2JqZWN0LgorICovCit4bWxOb2RlUHRyCit4bWxOZXdUZXh0TGVuKGNvbnN0IHhtbENoYXIgKmNvbnRlbnQsIGludCBsZW4pIHsKKyAgICB4bWxOb2RlUHRyIGN1cjsKKworICAgIC8qCisgICAgICogQWxsb2NhdGUgYSBuZXcgbm9kZSBhbmQgZmlsbCB0aGUgZmllbGRzLgorICAgICAqLworICAgIGN1ciA9ICh4bWxOb2RlUHRyKSB4bWxNYWxsb2Moc2l6ZW9mKHhtbE5vZGUpKTsKKyAgICBpZiAoY3VyID09IE5VTEwpIHsKKwl4bWxUcmVlRXJyTWVtb3J5KCJidWlsZGluZyB0ZXh0Iik7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBtZW1zZXQoY3VyLCAwLCBzaXplb2YoeG1sTm9kZSkpOworICAgIGN1ci0+dHlwZSA9IFhNTF9URVhUX05PREU7CisKKyAgICBjdXItPm5hbWUgPSB4bWxTdHJpbmdUZXh0OworICAgIGlmIChjb250ZW50ICE9IE5VTEwpIHsKKwljdXItPmNvbnRlbnQgPSB4bWxTdHJuZHVwKGNvbnRlbnQsIGxlbik7CisgICAgfQorCisgICAgaWYgKChfX3htbFJlZ2lzdGVyQ2FsbGJhY2tzKSAmJiAoeG1sUmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlKSkKKwl4bWxSZWdpc3Rlck5vZGVEZWZhdWx0VmFsdWUoY3VyKTsKKyAgICByZXR1cm4oY3VyKTsKK30KKworLyoqCisgKiB4bWxOZXdEb2NUZXh0TGVuOgorICogQGRvYzogdGhlIGRvY3VtZW50CisgKiBAY29udGVudDogIHRoZSB0ZXh0IGNvbnRlbnQKKyAqIEBsZW46ICB0aGUgdGV4dCBsZW4uCisgKgorICogQ3JlYXRpb24gb2YgYSBuZXcgdGV4dCBub2RlIHdpdGggYW4gZXh0cmEgY29udGVudCBsZW5ndGggcGFyYW1ldGVyLiBUaGUKKyAqIHRleHQgbm9kZSBwZXJ0YWluIHRvIGEgZ2l2ZW4gZG9jdW1lbnQuCisgKiBSZXR1cm5zIGEgcG9pbnRlciB0byB0aGUgbmV3IG5vZGUgb2JqZWN0LgorICovCit4bWxOb2RlUHRyCit4bWxOZXdEb2NUZXh0TGVuKHhtbERvY1B0ciBkb2MsIGNvbnN0IHhtbENoYXIgKmNvbnRlbnQsIGludCBsZW4pIHsKKyAgICB4bWxOb2RlUHRyIGN1cjsKKworICAgIGN1ciA9IHhtbE5ld1RleHRMZW4oY29udGVudCwgbGVuKTsKKyAgICBpZiAoY3VyICE9IE5VTEwpIGN1ci0+ZG9jID0gZG9jOworICAgIHJldHVybihjdXIpOworfQorCisvKioKKyAqIHhtbE5ld0NvbW1lbnQ6CisgKiBAY29udGVudDogIHRoZSBjb21tZW50IGNvbnRlbnQKKyAqCisgKiBDcmVhdGlvbiBvZiBhIG5ldyBub2RlIGNvbnRhaW5pbmcgYSBjb21tZW50LgorICogUmV0dXJucyBhIHBvaW50ZXIgdG8gdGhlIG5ldyBub2RlIG9iamVjdC4KKyAqLworeG1sTm9kZVB0cgoreG1sTmV3Q29tbWVudChjb25zdCB4bWxDaGFyICpjb250ZW50KSB7CisgICAgeG1sTm9kZVB0ciBjdXI7CisKKyAgICAvKgorICAgICAqIEFsbG9jYXRlIGEgbmV3IG5vZGUgYW5kIGZpbGwgdGhlIGZpZWxkcy4KKyAgICAgKi8KKyAgICBjdXIgPSAoeG1sTm9kZVB0cikgeG1sTWFsbG9jKHNpemVvZih4bWxOb2RlKSk7CisgICAgaWYgKGN1ciA9PSBOVUxMKSB7CisJeG1sVHJlZUVyck1lbW9yeSgiYnVpbGRpbmcgY29tbWVudCIpOworCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgbWVtc2V0KGN1ciwgMCwgc2l6ZW9mKHhtbE5vZGUpKTsKKyAgICBjdXItPnR5cGUgPSBYTUxfQ09NTUVOVF9OT0RFOworCisgICAgY3VyLT5uYW1lID0geG1sU3RyaW5nQ29tbWVudDsKKyAgICBpZiAoY29udGVudCAhPSBOVUxMKSB7CisJY3VyLT5jb250ZW50ID0geG1sU3RyZHVwKGNvbnRlbnQpOworICAgIH0KKworICAgIGlmICgoX194bWxSZWdpc3RlckNhbGxiYWNrcykgJiYgKHhtbFJlZ2lzdGVyTm9kZURlZmF1bHRWYWx1ZSkpCisJeG1sUmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlKGN1cik7CisgICAgcmV0dXJuKGN1cik7Cit9CisKKy8qKgorICogeG1sTmV3Q0RhdGFCbG9jazoKKyAqIEBkb2M6ICB0aGUgZG9jdW1lbnQKKyAqIEBjb250ZW50OiAgdGhlIENEQVRBIGJsb2NrIGNvbnRlbnQgY29udGVudAorICogQGxlbjogIHRoZSBsZW5ndGggb2YgdGhlIGJsb2NrCisgKgorICogQ3JlYXRpb24gb2YgYSBuZXcgbm9kZSBjb250YWluaW5nIGEgQ0RBVEEgYmxvY2suCisgKiBSZXR1cm5zIGEgcG9pbnRlciB0byB0aGUgbmV3IG5vZGUgb2JqZWN0LgorICovCit4bWxOb2RlUHRyCit4bWxOZXdDRGF0YUJsb2NrKHhtbERvY1B0ciBkb2MsIGNvbnN0IHhtbENoYXIgKmNvbnRlbnQsIGludCBsZW4pIHsKKyAgICB4bWxOb2RlUHRyIGN1cjsKKworICAgIC8qCisgICAgICogQWxsb2NhdGUgYSBuZXcgbm9kZSBhbmQgZmlsbCB0aGUgZmllbGRzLgorICAgICAqLworICAgIGN1ciA9ICh4bWxOb2RlUHRyKSB4bWxNYWxsb2Moc2l6ZW9mKHhtbE5vZGUpKTsKKyAgICBpZiAoY3VyID09IE5VTEwpIHsKKwl4bWxUcmVlRXJyTWVtb3J5KCJidWlsZGluZyBDREFUQSIpOworCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgbWVtc2V0KGN1ciwgMCwgc2l6ZW9mKHhtbE5vZGUpKTsKKyAgICBjdXItPnR5cGUgPSBYTUxfQ0RBVEFfU0VDVElPTl9OT0RFOworICAgIGN1ci0+ZG9jID0gZG9jOworCisgICAgaWYgKGNvbnRlbnQgIT0gTlVMTCkgeworCWN1ci0+Y29udGVudCA9IHhtbFN0cm5kdXAoY29udGVudCwgbGVuKTsKKyAgICB9CisKKyAgICBpZiAoKF9feG1sUmVnaXN0ZXJDYWxsYmFja3MpICYmICh4bWxSZWdpc3Rlck5vZGVEZWZhdWx0VmFsdWUpKQorCXhtbFJlZ2lzdGVyTm9kZURlZmF1bHRWYWx1ZShjdXIpOworICAgIHJldHVybihjdXIpOworfQorCisvKioKKyAqIHhtbE5ld0RvY0NvbW1lbnQ6CisgKiBAZG9jOiAgdGhlIGRvY3VtZW50CisgKiBAY29udGVudDogIHRoZSBjb21tZW50IGNvbnRlbnQKKyAqCisgKiBDcmVhdGlvbiBvZiBhIG5ldyBub2RlIGNvbnRhaW5pbmcgYSBjb21tZW50IHdpdGhpbiBhIGRvY3VtZW50LgorICogUmV0dXJucyBhIHBvaW50ZXIgdG8gdGhlIG5ldyBub2RlIG9iamVjdC4KKyAqLworeG1sTm9kZVB0cgoreG1sTmV3RG9jQ29tbWVudCh4bWxEb2NQdHIgZG9jLCBjb25zdCB4bWxDaGFyICpjb250ZW50KSB7CisgICAgeG1sTm9kZVB0ciBjdXI7CisKKyAgICBjdXIgPSB4bWxOZXdDb21tZW50KGNvbnRlbnQpOworICAgIGlmIChjdXIgIT0gTlVMTCkgY3VyLT5kb2MgPSBkb2M7CisgICAgcmV0dXJuKGN1cik7Cit9CisKKy8qKgorICogeG1sU2V0VHJlZURvYzoKKyAqIEB0cmVlOiAgdGhlIHRvcCBlbGVtZW50CisgKiBAZG9jOiAgdGhlIGRvY3VtZW50CisgKgorICogdXBkYXRlIGFsbCBub2RlcyB1bmRlciB0aGUgdHJlZSB0byBwb2ludCB0byB0aGUgcmlnaHQgZG9jdW1lbnQKKyAqLwordm9pZAoreG1sU2V0VHJlZURvYyh4bWxOb2RlUHRyIHRyZWUsIHhtbERvY1B0ciBkb2MpIHsKKyAgICB4bWxBdHRyUHRyIHByb3A7CisKKyAgICBpZiAoKHRyZWUgPT0gTlVMTCkgfHwgKHRyZWUtPnR5cGUgPT0gWE1MX05BTUVTUEFDRV9ERUNMKSkKKwlyZXR1cm47CisgICAgaWYgKHRyZWUtPmRvYyAhPSBkb2MpIHsKKwlpZih0cmVlLT50eXBlID09IFhNTF9FTEVNRU5UX05PREUpIHsKKwkgICAgcHJvcCA9IHRyZWUtPnByb3BlcnRpZXM7CisJICAgIHdoaWxlIChwcm9wICE9IE5VTEwpIHsKKwkJcHJvcC0+ZG9jID0gZG9jOworCQl4bWxTZXRMaXN0RG9jKHByb3AtPmNoaWxkcmVuLCBkb2MpOworCQlwcm9wID0gcHJvcC0+bmV4dDsKKwkgICAgfQorCX0KKwlpZiAodHJlZS0+Y2hpbGRyZW4gIT0gTlVMTCkKKwkgICAgeG1sU2V0TGlzdERvYyh0cmVlLT5jaGlsZHJlbiwgZG9jKTsKKwl0cmVlLT5kb2MgPSBkb2M7CisgICAgfQorfQorCisvKioKKyAqIHhtbFNldExpc3REb2M6CisgKiBAbGlzdDogIHRoZSBmaXJzdCBlbGVtZW50CisgKiBAZG9jOiAgdGhlIGRvY3VtZW50CisgKgorICogdXBkYXRlIGFsbCBub2RlcyBpbiB0aGUgbGlzdCB0byBwb2ludCB0byB0aGUgcmlnaHQgZG9jdW1lbnQKKyAqLwordm9pZAoreG1sU2V0TGlzdERvYyh4bWxOb2RlUHRyIGxpc3QsIHhtbERvY1B0ciBkb2MpIHsKKyAgICB4bWxOb2RlUHRyIGN1cjsKKworICAgIGlmICgobGlzdCA9PSBOVUxMKSB8fCAobGlzdC0+dHlwZSA9PSBYTUxfTkFNRVNQQUNFX0RFQ0wpKQorCXJldHVybjsKKyAgICBjdXIgPSBsaXN0OworICAgIHdoaWxlIChjdXIgIT0gTlVMTCkgeworCWlmIChjdXItPmRvYyAhPSBkb2MpCisJICAgIHhtbFNldFRyZWVEb2MoY3VyLCBkb2MpOworCWN1ciA9IGN1ci0+bmV4dDsKKyAgICB9Cit9CisKKyNpZiBkZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkKKy8qKgorICogeG1sTmV3Q2hpbGQ6CisgKiBAcGFyZW50OiAgdGhlIHBhcmVudCBub2RlCisgKiBAbnM6ICBhIG5hbWVzcGFjZSBpZiBhbnkKKyAqIEBuYW1lOiAgdGhlIG5hbWUgb2YgdGhlIGNoaWxkCisgKiBAY29udGVudDogIHRoZSBYTUwgY29udGVudCBvZiB0aGUgY2hpbGQgaWYgYW55LgorICoKKyAqIENyZWF0aW9uIG9mIGEgbmV3IGNoaWxkIGVsZW1lbnQsIGFkZGVkIGF0IHRoZSBlbmQgb2YgQHBhcmVudCBjaGlsZHJlbiBsaXN0LgorICogQG5zIGFuZCBAY29udGVudCBwYXJhbWV0ZXJzIGFyZSBvcHRpb25hbCAoTlVMTCkuIElmIEBucyBpcyBOVUxMLCB0aGUgbmV3bHkKKyAqIGNyZWF0ZWQgZWxlbWVudCBpbmhlcml0cyB0aGUgbmFtZXNwYWNlIG9mIEBwYXJlbnQuIElmIEBjb250ZW50IGlzIG5vbiBOVUxMLAorICogYSBjaGlsZCBsaXN0IGNvbnRhaW5pbmcgdGhlIFRFWFRzIGFuZCBFTlRJVFlfUkVGcyBub2RlIHdpbGwgYmUgY3JlYXRlZC4KKyAqIE5PVEU6IEBjb250ZW50IGlzIHN1cHBvc2VkIHRvIGJlIGEgcGllY2Ugb2YgWE1MIENEQVRBLCBzbyBpdCBhbGxvd3MgZW50aXR5CisgKiAgICAgICByZWZlcmVuY2VzLiBYTUwgc3BlY2lhbCBjaGFycyBtdXN0IGJlIGVzY2FwZWQgZmlyc3QgYnkgdXNpbmcKKyAqICAgICAgIHhtbEVuY29kZUVudGl0aWVzUmVlbnRyYW50KCksIG9yIHhtbE5ld1RleHRDaGlsZCgpIHNob3VsZCBiZSB1c2VkLgorICoKKyAqIFJldHVybnMgYSBwb2ludGVyIHRvIHRoZSBuZXcgbm9kZSBvYmplY3QuCisgKi8KK3htbE5vZGVQdHIKK3htbE5ld0NoaWxkKHhtbE5vZGVQdHIgcGFyZW50LCB4bWxOc1B0ciBucywKKyAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKm5hbWUsIGNvbnN0IHhtbENoYXIgKmNvbnRlbnQpIHsKKyAgICB4bWxOb2RlUHRyIGN1ciwgcHJldjsKKworICAgIGlmIChwYXJlbnQgPT0gTlVMTCkgeworI2lmZGVmIERFQlVHX1RSRUUKKyAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSJ4bWxOZXdDaGlsZCA6IHBhcmVudCA9PSBOVUxMXG4iKTsKKyNlbmRpZgorCXJldHVybihOVUxMKTsKKyAgICB9CisKKyAgICBpZiAobmFtZSA9PSBOVUxMKSB7CisjaWZkZWYgREVCVUdfVFJFRQorICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJInhtbE5ld0NoaWxkIDogbmFtZSA9PSBOVUxMXG4iKTsKKyNlbmRpZgorCXJldHVybihOVUxMKTsKKyAgICB9CisKKyAgICAvKgorICAgICAqIEFsbG9jYXRlIGEgbmV3IG5vZGUKKyAgICAgKi8KKyAgICBpZiAocGFyZW50LT50eXBlID09IFhNTF9FTEVNRU5UX05PREUpIHsKKwlpZiAobnMgPT0gTlVMTCkKKwkgICAgY3VyID0geG1sTmV3RG9jTm9kZShwYXJlbnQtPmRvYywgcGFyZW50LT5ucywgbmFtZSwgY29udGVudCk7CisJZWxzZQorCSAgICBjdXIgPSB4bWxOZXdEb2NOb2RlKHBhcmVudC0+ZG9jLCBucywgbmFtZSwgY29udGVudCk7CisgICAgfSBlbHNlIGlmICgocGFyZW50LT50eXBlID09IFhNTF9ET0NVTUVOVF9OT0RFKSB8fAorCSAgICAgICAocGFyZW50LT50eXBlID09IFhNTF9IVE1MX0RPQ1VNRU5UX05PREUpKSB7CisJaWYgKG5zID09IE5VTEwpCisJICAgIGN1ciA9IHhtbE5ld0RvY05vZGUoKHhtbERvY1B0cikgcGFyZW50LCBOVUxMLCBuYW1lLCBjb250ZW50KTsKKwllbHNlCisJICAgIGN1ciA9IHhtbE5ld0RvY05vZGUoKHhtbERvY1B0cikgcGFyZW50LCBucywgbmFtZSwgY29udGVudCk7CisgICAgfSBlbHNlIGlmIChwYXJlbnQtPnR5cGUgPT0gWE1MX0RPQ1VNRU5UX0ZSQUdfTk9ERSkgeworCSAgICBjdXIgPSB4bWxOZXdEb2NOb2RlKCBwYXJlbnQtPmRvYywgbnMsIG5hbWUsIGNvbnRlbnQpOworICAgIH0gZWxzZSB7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBpZiAoY3VyID09IE5VTEwpIHJldHVybihOVUxMKTsKKworICAgIC8qCisgICAgICogYWRkIHRoZSBuZXcgZWxlbWVudCBhdCB0aGUgZW5kIG9mIHRoZSBjaGlsZHJlbiBsaXN0LgorICAgICAqLworICAgIGN1ci0+dHlwZSA9IFhNTF9FTEVNRU5UX05PREU7CisgICAgY3VyLT5wYXJlbnQgPSBwYXJlbnQ7CisgICAgY3VyLT5kb2MgPSBwYXJlbnQtPmRvYzsKKyAgICBpZiAocGFyZW50LT5jaGlsZHJlbiA9PSBOVUxMKSB7CisgICAgICAgIHBhcmVudC0+Y2hpbGRyZW4gPSBjdXI7CisJcGFyZW50LT5sYXN0ID0gY3VyOworICAgIH0gZWxzZSB7CisgICAgICAgIHByZXYgPSBwYXJlbnQtPmxhc3Q7CisJcHJldi0+bmV4dCA9IGN1cjsKKwljdXItPnByZXYgPSBwcmV2OworCXBhcmVudC0+bGFzdCA9IGN1cjsKKyAgICB9CisKKyAgICByZXR1cm4oY3VyKTsKK30KKyNlbmRpZiAvKiBMSUJYTUxfVFJFRV9FTkFCTEVEICovCisKKy8qKgorICogeG1sQWRkUHJvcFNpYmxpbmc6CisgKiBAcHJldjogIHRoZSBhdHRyaWJ1dGUgdG8gd2hpY2ggQHByb3AgaXMgYWRkZWQgYWZ0ZXIKKyAqIEBjdXI6ICAgdGhlIGJhc2UgYXR0cmlidXRlIHBhc3NlZCB0byBjYWxsaW5nIGZ1bmN0aW9uCisgKiBAcHJvcDogIHRoZSBuZXcgYXR0cmlidXRlCisgKgorICogQWRkIGEgbmV3IGF0dHJpYnV0ZSBhZnRlciBAcHJldiB1c2luZyBAY3VyIGFzIGJhc2UgYXR0cmlidXRlLgorICogV2hlbiBpbnNlcnRpbmcgYmVmb3JlIEBjdXIsIEBwcmV2IGlzIHBhc3NlZCBhcyBAY3VyLT5wcmV2LgorICogV2hlbiBpbnNlcnRpbmcgYWZ0ZXIgQGN1ciwgQHByZXYgaXMgcGFzc2VkIGFzIEBjdXIuCisgKiBJZiBhbiBleGlzdGluZyBhdHRyaWJ1dGUgaXMgZm91bmQgaXQgaXMgZGV0cm95ZWQgcHJpb3IgdG8gYWRkaW5nIEBwcm9wLgorICoKKyAqIFJldHVybnMgdGhlIGF0dHJpYnV0ZSBiZWluZyBpbnNlcnRlZCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK3N0YXRpYyB4bWxOb2RlUHRyCit4bWxBZGRQcm9wU2libGluZyh4bWxOb2RlUHRyIHByZXYsIHhtbE5vZGVQdHIgY3VyLCB4bWxOb2RlUHRyIHByb3ApIHsKKwl4bWxBdHRyUHRyIGF0dHI7CisKKwlpZiAoKGN1ciA9PSBOVUxMKSB8fCAoY3VyLT50eXBlICE9IFhNTF9BVFRSSUJVVEVfTk9ERSkgfHwKKwkgICAgKHByb3AgPT0gTlVMTCkgfHwgKHByb3AtPnR5cGUgIT0gWE1MX0FUVFJJQlVURV9OT0RFKSB8fAorCSAgICAoKHByZXYgIT0gTlVMTCkgJiYgKHByZXYtPnR5cGUgIT0gWE1MX0FUVFJJQlVURV9OT0RFKSkpCisJCXJldHVybihOVUxMKTsKKworCS8qIGNoZWNrIGlmIGFuIGF0dHJpYnV0ZSB3aXRoIHRoZSBzYW1lIG5hbWUgZXhpc3RzICovCisJaWYgKHByb3AtPm5zID09IE5VTEwpCisJCWF0dHIgPSB4bWxIYXNOc1Byb3AoY3VyLT5wYXJlbnQsIHByb3AtPm5hbWUsIE5VTEwpOworCWVsc2UKKwkJYXR0ciA9IHhtbEhhc05zUHJvcChjdXItPnBhcmVudCwgcHJvcC0+bmFtZSwgcHJvcC0+bnMtPmhyZWYpOworCisJaWYgKHByb3AtPmRvYyAhPSBjdXItPmRvYykgeworCQl4bWxTZXRUcmVlRG9jKHByb3AsIGN1ci0+ZG9jKTsKKwl9CisJcHJvcC0+cGFyZW50ID0gY3VyLT5wYXJlbnQ7CisJcHJvcC0+cHJldiA9IHByZXY7CisJaWYgKHByZXYgIT0gTlVMTCkgeworCQlwcm9wLT5uZXh0ID0gcHJldi0+bmV4dDsKKwkJcHJldi0+bmV4dCA9IHByb3A7CisJCWlmIChwcm9wLT5uZXh0KQorCQkJcHJvcC0+bmV4dC0+cHJldiA9IHByb3A7CisJfSBlbHNlIHsKKwkJcHJvcC0+bmV4dCA9IGN1cjsKKwkJY3VyLT5wcmV2ID0gcHJvcDsKKwl9CisJaWYgKHByb3AtPnByZXYgPT0gTlVMTCAmJiBwcm9wLT5wYXJlbnQgIT0gTlVMTCkKKwkJcHJvcC0+cGFyZW50LT5wcm9wZXJ0aWVzID0gKHhtbEF0dHJQdHIpIHByb3A7CisJaWYgKChhdHRyICE9IE5VTEwpICYmIChhdHRyLT50eXBlICE9IFhNTF9BVFRSSUJVVEVfREVDTCkpIHsKKwkJLyogZGlmZmVyZW50IGluc3RhbmNlLCBkZXN0cm95IGl0IChhdHRyaWJ1dGVzIG11c3QgYmUgdW5pcXVlKSAqLworCQl4bWxSZW1vdmVQcm9wKCh4bWxBdHRyUHRyKSBhdHRyKTsKKwl9CisJcmV0dXJuIHByb3A7Cit9CisKKy8qKgorICogeG1sQWRkTmV4dFNpYmxpbmc6CisgKiBAY3VyOiAgdGhlIGNoaWxkIG5vZGUKKyAqIEBlbGVtOiAgdGhlIG5ldyBub2RlCisgKgorICogQWRkIGEgbmV3IG5vZGUgQGVsZW0gYXMgdGhlIG5leHQgc2libGluZyBvZiBAY3VyCisgKiBJZiB0aGUgbmV3IG5vZGUgd2FzIGFscmVhZHkgaW5zZXJ0ZWQgaW4gYSBkb2N1bWVudCBpdCBpcworICogZmlyc3QgdW5saW5rZWQgZnJvbSBpdHMgZXhpc3RpbmcgY29udGV4dC4KKyAqIEFzIGEgcmVzdWx0IG9mIHRleHQgbWVyZ2luZyBAZWxlbSBtYXkgYmUgZnJlZWQuCisgKiBJZiB0aGUgbmV3IG5vZGUgaXMgQVRUUklCVVRFLCBpdCBpcyBhZGRlZCBpbnRvIHByb3BlcnRpZXMgaW5zdGVhZCBvZiBjaGlsZHJlbi4KKyAqIElmIHRoZXJlIGlzIGFuIGF0dHJpYnV0ZSB3aXRoIGVxdWFsIG5hbWUsIGl0IGlzIGZpcnN0IGRlc3Ryb3llZC4KKyAqCisgKiBSZXR1cm5zIHRoZSBuZXcgbm9kZSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK3htbE5vZGVQdHIKK3htbEFkZE5leHRTaWJsaW5nKHhtbE5vZGVQdHIgY3VyLCB4bWxOb2RlUHRyIGVsZW0pIHsKKyAgICBpZiAoKGN1ciA9PSBOVUxMKSB8fCAoY3VyLT50eXBlID09IFhNTF9OQU1FU1BBQ0VfREVDTCkpIHsKKyNpZmRlZiBERUJVR19UUkVFCisgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkieG1sQWRkTmV4dFNpYmxpbmcgOiBjdXIgPT0gTlVMTFxuIik7CisjZW5kaWYKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIGlmICgoZWxlbSA9PSBOVUxMKSB8fCAoZWxlbS0+dHlwZSA9PSBYTUxfTkFNRVNQQUNFX0RFQ0wpKSB7CisjaWZkZWYgREVCVUdfVFJFRQorICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJInhtbEFkZE5leHRTaWJsaW5nIDogZWxlbSA9PSBOVUxMXG4iKTsKKyNlbmRpZgorCXJldHVybihOVUxMKTsKKyAgICB9CisKKyAgICBpZiAoY3VyID09IGVsZW0pIHsKKyNpZmRlZiBERUJVR19UUkVFCisgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkieG1sQWRkTmV4dFNpYmxpbmcgOiBjdXIgPT0gZWxlbVxuIik7CisjZW5kaWYKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorCisgICAgeG1sVW5saW5rTm9kZShlbGVtKTsKKworICAgIGlmIChlbGVtLT50eXBlID09IFhNTF9URVhUX05PREUpIHsKKwlpZiAoY3VyLT50eXBlID09IFhNTF9URVhUX05PREUpIHsKKwkgICAgeG1sTm9kZUFkZENvbnRlbnQoY3VyLCBlbGVtLT5jb250ZW50KTsKKwkgICAgeG1sRnJlZU5vZGUoZWxlbSk7CisJICAgIHJldHVybihjdXIpOworCX0KKwlpZiAoKGN1ci0+bmV4dCAhPSBOVUxMKSAmJiAoY3VyLT5uZXh0LT50eXBlID09IFhNTF9URVhUX05PREUpICYmCisgICAgICAgICAgICAoY3VyLT5uYW1lID09IGN1ci0+bmV4dC0+bmFtZSkpIHsKKwkgICAgeG1sQ2hhciAqdG1wOworCisJICAgIHRtcCA9IHhtbFN0cmR1cChlbGVtLT5jb250ZW50KTsKKwkgICAgdG1wID0geG1sU3RyY2F0KHRtcCwgY3VyLT5uZXh0LT5jb250ZW50KTsKKwkgICAgeG1sTm9kZVNldENvbnRlbnQoY3VyLT5uZXh0LCB0bXApOworCSAgICB4bWxGcmVlKHRtcCk7CisJICAgIHhtbEZyZWVOb2RlKGVsZW0pOworCSAgICByZXR1cm4oY3VyLT5uZXh0KTsKKwl9CisgICAgfSBlbHNlIGlmIChlbGVtLT50eXBlID09IFhNTF9BVFRSSUJVVEVfTk9ERSkgeworCQlyZXR1cm4geG1sQWRkUHJvcFNpYmxpbmcoY3VyLCBjdXIsIGVsZW0pOworICAgIH0KKworICAgIGlmIChlbGVtLT5kb2MgIT0gY3VyLT5kb2MpIHsKKwl4bWxTZXRUcmVlRG9jKGVsZW0sIGN1ci0+ZG9jKTsKKyAgICB9CisgICAgZWxlbS0+cGFyZW50ID0gY3VyLT5wYXJlbnQ7CisgICAgZWxlbS0+cHJldiA9IGN1cjsKKyAgICBlbGVtLT5uZXh0ID0gY3VyLT5uZXh0OworICAgIGN1ci0+bmV4dCA9IGVsZW07CisgICAgaWYgKGVsZW0tPm5leHQgIT0gTlVMTCkKKwllbGVtLT5uZXh0LT5wcmV2ID0gZWxlbTsKKyAgICBpZiAoKGVsZW0tPnBhcmVudCAhPSBOVUxMKSAmJiAoZWxlbS0+cGFyZW50LT5sYXN0ID09IGN1cikpCisJZWxlbS0+cGFyZW50LT5sYXN0ID0gZWxlbTsKKyAgICByZXR1cm4oZWxlbSk7Cit9CisKKyNpZiBkZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX0hUTUxfRU5BQkxFRCkgfHwgXAorICAgIGRlZmluZWQoTElCWE1MX1NDSEVNQVNfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfWElOQ0xVREVfRU5BQkxFRCkKKy8qKgorICogeG1sQWRkUHJldlNpYmxpbmc6CisgKiBAY3VyOiAgdGhlIGNoaWxkIG5vZGUKKyAqIEBlbGVtOiAgdGhlIG5ldyBub2RlCisgKgorICogQWRkIGEgbmV3IG5vZGUgQGVsZW0gYXMgdGhlIHByZXZpb3VzIHNpYmxpbmcgb2YgQGN1cgorICogbWVyZ2luZyBhZGphY2VudCBURVhUIG5vZGVzIChAZWxlbSBtYXkgYmUgZnJlZWQpCisgKiBJZiB0aGUgbmV3IG5vZGUgd2FzIGFscmVhZHkgaW5zZXJ0ZWQgaW4gYSBkb2N1bWVudCBpdCBpcworICogZmlyc3QgdW5saW5rZWQgZnJvbSBpdHMgZXhpc3RpbmcgY29udGV4dC4KKyAqIElmIHRoZSBuZXcgbm9kZSBpcyBBVFRSSUJVVEUsIGl0IGlzIGFkZGVkIGludG8gcHJvcGVydGllcyBpbnN0ZWFkIG9mIGNoaWxkcmVuLgorICogSWYgdGhlcmUgaXMgYW4gYXR0cmlidXRlIHdpdGggZXF1YWwgbmFtZSwgaXQgaXMgZmlyc3QgZGVzdHJveWVkLgorICoKKyAqIFJldHVybnMgdGhlIG5ldyBub2RlIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworeG1sTm9kZVB0cgoreG1sQWRkUHJldlNpYmxpbmcoeG1sTm9kZVB0ciBjdXIsIHhtbE5vZGVQdHIgZWxlbSkgeworICAgIGlmICgoY3VyID09IE5VTEwpIHx8IChjdXItPnR5cGUgPT0gWE1MX05BTUVTUEFDRV9ERUNMKSkgeworI2lmZGVmIERFQlVHX1RSRUUKKyAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSJ4bWxBZGRQcmV2U2libGluZyA6IGN1ciA9PSBOVUxMXG4iKTsKKyNlbmRpZgorCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgaWYgKChlbGVtID09IE5VTEwpIHx8IChlbGVtLT50eXBlID09IFhNTF9OQU1FU1BBQ0VfREVDTCkpIHsKKyNpZmRlZiBERUJVR19UUkVFCisgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkieG1sQWRkUHJldlNpYmxpbmcgOiBlbGVtID09IE5VTExcbiIpOworI2VuZGlmCisJcmV0dXJuKE5VTEwpOworICAgIH0KKworICAgIGlmIChjdXIgPT0gZWxlbSkgeworI2lmZGVmIERFQlVHX1RSRUUKKyAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSJ4bWxBZGRQcmV2U2libGluZyA6IGN1ciA9PSBlbGVtXG4iKTsKKyNlbmRpZgorCXJldHVybihOVUxMKTsKKyAgICB9CisKKyAgICB4bWxVbmxpbmtOb2RlKGVsZW0pOworCisgICAgaWYgKGVsZW0tPnR5cGUgPT0gWE1MX1RFWFRfTk9ERSkgeworCWlmIChjdXItPnR5cGUgPT0gWE1MX1RFWFRfTk9ERSkgeworCSAgICB4bWxDaGFyICp0bXA7CisKKwkgICAgdG1wID0geG1sU3RyZHVwKGVsZW0tPmNvbnRlbnQpOworCSAgICB0bXAgPSB4bWxTdHJjYXQodG1wLCBjdXItPmNvbnRlbnQpOworCSAgICB4bWxOb2RlU2V0Q29udGVudChjdXIsIHRtcCk7CisJICAgIHhtbEZyZWUodG1wKTsKKwkgICAgeG1sRnJlZU5vZGUoZWxlbSk7CisJICAgIHJldHVybihjdXIpOworCX0KKwlpZiAoKGN1ci0+cHJldiAhPSBOVUxMKSAmJiAoY3VyLT5wcmV2LT50eXBlID09IFhNTF9URVhUX05PREUpICYmCisgICAgICAgICAgICAoY3VyLT5uYW1lID09IGN1ci0+cHJldi0+bmFtZSkpIHsKKwkgICAgeG1sTm9kZUFkZENvbnRlbnQoY3VyLT5wcmV2LCBlbGVtLT5jb250ZW50KTsKKwkgICAgeG1sRnJlZU5vZGUoZWxlbSk7CisJICAgIHJldHVybihjdXItPnByZXYpOworCX0KKyAgICB9IGVsc2UgaWYgKGVsZW0tPnR5cGUgPT0gWE1MX0FUVFJJQlVURV9OT0RFKSB7CisJCXJldHVybiB4bWxBZGRQcm9wU2libGluZyhjdXItPnByZXYsIGN1ciwgZWxlbSk7CisgICAgfQorCisgICAgaWYgKGVsZW0tPmRvYyAhPSBjdXItPmRvYykgeworCXhtbFNldFRyZWVEb2MoZWxlbSwgY3VyLT5kb2MpOworICAgIH0KKyAgICBlbGVtLT5wYXJlbnQgPSBjdXItPnBhcmVudDsKKyAgICBlbGVtLT5uZXh0ID0gY3VyOworICAgIGVsZW0tPnByZXYgPSBjdXItPnByZXY7CisgICAgY3VyLT5wcmV2ID0gZWxlbTsKKyAgICBpZiAoZWxlbS0+cHJldiAhPSBOVUxMKQorCWVsZW0tPnByZXYtPm5leHQgPSBlbGVtOworICAgIGlmICgoZWxlbS0+cGFyZW50ICE9IE5VTEwpICYmIChlbGVtLT5wYXJlbnQtPmNoaWxkcmVuID09IGN1cikpIHsKKwkJZWxlbS0+cGFyZW50LT5jaGlsZHJlbiA9IGVsZW07CisgICAgfQorICAgIHJldHVybihlbGVtKTsKK30KKyNlbmRpZiAvKiBMSUJYTUxfVFJFRV9FTkFCTEVEICovCisKKy8qKgorICogeG1sQWRkU2libGluZzoKKyAqIEBjdXI6ICB0aGUgY2hpbGQgbm9kZQorICogQGVsZW06ICB0aGUgbmV3IG5vZGUKKyAqCisgKiBBZGQgYSBuZXcgZWxlbWVudCBAZWxlbSB0byB0aGUgbGlzdCBvZiBzaWJsaW5ncyBvZiBAY3VyCisgKiBtZXJnaW5nIGFkamFjZW50IFRFWFQgbm9kZXMgKEBlbGVtIG1heSBiZSBmcmVlZCkKKyAqIElmIHRoZSBuZXcgZWxlbWVudCB3YXMgYWxyZWFkeSBpbnNlcnRlZCBpbiBhIGRvY3VtZW50IGl0IGlzCisgKiBmaXJzdCB1bmxpbmtlZCBmcm9tIGl0cyBleGlzdGluZyBjb250ZXh0LgorICoKKyAqIFJldHVybnMgdGhlIG5ldyBlbGVtZW50IG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworeG1sTm9kZVB0cgoreG1sQWRkU2libGluZyh4bWxOb2RlUHRyIGN1ciwgeG1sTm9kZVB0ciBlbGVtKSB7CisgICAgeG1sTm9kZVB0ciBwYXJlbnQ7CisKKyAgICBpZiAoKGN1ciA9PSBOVUxMKSB8fCAoY3VyLT50eXBlID09IFhNTF9OQU1FU1BBQ0VfREVDTCkpIHsKKyNpZmRlZiBERUJVR19UUkVFCisgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkieG1sQWRkU2libGluZyA6IGN1ciA9PSBOVUxMXG4iKTsKKyNlbmRpZgorCXJldHVybihOVUxMKTsKKyAgICB9CisKKyAgICBpZiAoKGVsZW0gPT0gTlVMTCkgfHwgKGVsZW0tPnR5cGUgPT0gWE1MX05BTUVTUEFDRV9ERUNMKSkgeworI2lmZGVmIERFQlVHX1RSRUUKKyAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSJ4bWxBZGRTaWJsaW5nIDogZWxlbSA9PSBOVUxMXG4iKTsKKyNlbmRpZgorCXJldHVybihOVUxMKTsKKyAgICB9CisKKyAgICBpZiAoY3VyID09IGVsZW0pIHsKKyNpZmRlZiBERUJVR19UUkVFCisgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkieG1sQWRkU2libGluZyA6IGN1ciA9PSBlbGVtXG4iKTsKKyNlbmRpZgorCXJldHVybihOVUxMKTsKKyAgICB9CisKKyAgICAvKgorICAgICAqIENvbnN0YW50IHRpbWUgaXMgd2UgY2FuIHJlbHkgb24gdGhlIC0+cGFyZW50LT5sYXN0IHRvIGZpbmQKKyAgICAgKiB0aGUgbGFzdCBzaWJsaW5nLgorICAgICAqLworICAgIGlmICgoY3VyLT50eXBlICE9IFhNTF9BVFRSSUJVVEVfTk9ERSkgJiYgKGN1ci0+cGFyZW50ICE9IE5VTEwpICYmCisJKGN1ci0+cGFyZW50LT5jaGlsZHJlbiAhPSBOVUxMKSAmJgorCShjdXItPnBhcmVudC0+bGFzdCAhPSBOVUxMKSAmJgorCShjdXItPnBhcmVudC0+bGFzdC0+bmV4dCA9PSBOVUxMKSkgeworCWN1ciA9IGN1ci0+cGFyZW50LT5sYXN0OworICAgIH0gZWxzZSB7CisJd2hpbGUgKGN1ci0+bmV4dCAhPSBOVUxMKSBjdXIgPSBjdXItPm5leHQ7CisgICAgfQorCisgICAgeG1sVW5saW5rTm9kZShlbGVtKTsKKworICAgIGlmICgoY3VyLT50eXBlID09IFhNTF9URVhUX05PREUpICYmIChlbGVtLT50eXBlID09IFhNTF9URVhUX05PREUpICYmCisgICAgICAgIChjdXItPm5hbWUgPT0gZWxlbS0+bmFtZSkpIHsKKwl4bWxOb2RlQWRkQ29udGVudChjdXIsIGVsZW0tPmNvbnRlbnQpOworCXhtbEZyZWVOb2RlKGVsZW0pOworCXJldHVybihjdXIpOworICAgIH0gZWxzZSBpZiAoZWxlbS0+dHlwZSA9PSBYTUxfQVRUUklCVVRFX05PREUpIHsKKwkJcmV0dXJuIHhtbEFkZFByb3BTaWJsaW5nKGN1ciwgY3VyLCBlbGVtKTsKKyAgICB9CisKKyAgICBpZiAoZWxlbS0+ZG9jICE9IGN1ci0+ZG9jKSB7CisJeG1sU2V0VHJlZURvYyhlbGVtLCBjdXItPmRvYyk7CisgICAgfQorICAgIHBhcmVudCA9IGN1ci0+cGFyZW50OworICAgIGVsZW0tPnByZXYgPSBjdXI7CisgICAgZWxlbS0+bmV4dCA9IE5VTEw7CisgICAgZWxlbS0+cGFyZW50ID0gcGFyZW50OworICAgIGN1ci0+bmV4dCA9IGVsZW07CisgICAgaWYgKHBhcmVudCAhPSBOVUxMKQorCXBhcmVudC0+bGFzdCA9IGVsZW07CisKKyAgICByZXR1cm4oZWxlbSk7Cit9CisKKy8qKgorICogeG1sQWRkQ2hpbGRMaXN0OgorICogQHBhcmVudDogIHRoZSBwYXJlbnQgbm9kZQorICogQGN1cjogIHRoZSBmaXJzdCBub2RlIGluIHRoZSBsaXN0CisgKgorICogQWRkIGEgbGlzdCBvZiBub2RlIGF0IHRoZSBlbmQgb2YgdGhlIGNoaWxkIGxpc3Qgb2YgdGhlIHBhcmVudAorICogbWVyZ2luZyBhZGphY2VudCBURVhUIG5vZGVzIChAY3VyIG1heSBiZSBmcmVlZCkKKyAqCisgKiBSZXR1cm5zIHRoZSBsYXN0IGNoaWxkIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworeG1sTm9kZVB0cgoreG1sQWRkQ2hpbGRMaXN0KHhtbE5vZGVQdHIgcGFyZW50LCB4bWxOb2RlUHRyIGN1cikgeworICAgIHhtbE5vZGVQdHIgcHJldjsKKworICAgIGlmICgocGFyZW50ID09IE5VTEwpIHx8IChwYXJlbnQtPnR5cGUgPT0gWE1MX05BTUVTUEFDRV9ERUNMKSkgeworI2lmZGVmIERFQlVHX1RSRUUKKyAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSJ4bWxBZGRDaGlsZExpc3QgOiBwYXJlbnQgPT0gTlVMTFxuIik7CisjZW5kaWYKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorCisgICAgaWYgKChjdXIgPT0gTlVMTCkgfHwgKGN1ci0+dHlwZSA9PSBYTUxfTkFNRVNQQUNFX0RFQ0wpKSB7CisjaWZkZWYgREVCVUdfVFJFRQorICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJInhtbEFkZENoaWxkTGlzdCA6IGNoaWxkID09IE5VTExcbiIpOworI2VuZGlmCisJcmV0dXJuKE5VTEwpOworICAgIH0KKworICAgIGlmICgoY3VyLT5kb2MgIT0gTlVMTCkgJiYgKHBhcmVudC0+ZG9jICE9IE5VTEwpICYmCisgICAgICAgIChjdXItPmRvYyAhPSBwYXJlbnQtPmRvYykpIHsKKyNpZmRlZiBERUJVR19UUkVFCisJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSJFbGVtZW50cyBtb3ZlZCB0byBhIGRpZmZlcmVudCBkb2N1bWVudFxuIik7CisjZW5kaWYKKyAgICB9CisKKyAgICAvKgorICAgICAqIGFkZCB0aGUgZmlyc3QgZWxlbWVudCBhdCB0aGUgZW5kIG9mIHRoZSBjaGlsZHJlbiBsaXN0LgorICAgICAqLworCisgICAgaWYgKHBhcmVudC0+Y2hpbGRyZW4gPT0gTlVMTCkgeworICAgICAgICBwYXJlbnQtPmNoaWxkcmVuID0gY3VyOworICAgIH0gZWxzZSB7CisJLyoKKwkgKiBJZiBjdXIgYW5kIHBhcmVudC0+bGFzdCBib3RoIGFyZSBURVhUIG5vZGVzLCB0aGVuIG1lcmdlIHRoZW0uCisJICovCisJaWYgKChjdXItPnR5cGUgPT0gWE1MX1RFWFRfTk9ERSkgJiYKKwkgICAgKHBhcmVudC0+bGFzdC0+dHlwZSA9PSBYTUxfVEVYVF9OT0RFKSAmJgorCSAgICAoY3VyLT5uYW1lID09IHBhcmVudC0+bGFzdC0+bmFtZSkpIHsKKwkgICAgeG1sTm9kZUFkZENvbnRlbnQocGFyZW50LT5sYXN0LCBjdXItPmNvbnRlbnQpOworCSAgICAvKgorCSAgICAgKiBpZiBpdCdzIHRoZSBvbmx5IGNoaWxkLCBub3RoaW5nIG1vcmUgdG8gYmUgZG9uZS4KKwkgICAgICovCisJICAgIGlmIChjdXItPm5leHQgPT0gTlVMTCkgeworCQl4bWxGcmVlTm9kZShjdXIpOworCQlyZXR1cm4ocGFyZW50LT5sYXN0KTsKKwkgICAgfQorCSAgICBwcmV2ID0gY3VyOworCSAgICBjdXIgPSBjdXItPm5leHQ7CisJICAgIHhtbEZyZWVOb2RlKHByZXYpOworCX0KKyAgICAgICAgcHJldiA9IHBhcmVudC0+bGFzdDsKKwlwcmV2LT5uZXh0ID0gY3VyOworCWN1ci0+cHJldiA9IHByZXY7CisgICAgfQorICAgIHdoaWxlIChjdXItPm5leHQgIT0gTlVMTCkgeworCWN1ci0+cGFyZW50ID0gcGFyZW50OworCWlmIChjdXItPmRvYyAhPSBwYXJlbnQtPmRvYykgeworCSAgICB4bWxTZXRUcmVlRG9jKGN1ciwgcGFyZW50LT5kb2MpOworCX0KKyAgICAgICAgY3VyID0gY3VyLT5uZXh0OworICAgIH0KKyAgICBjdXItPnBhcmVudCA9IHBhcmVudDsKKyAgICAvKiB0aGUgcGFyZW50IG1heSBub3QgYmUgbGlua2VkIHRvIGEgZG9jICEgKi8KKyAgICBpZiAoY3VyLT5kb2MgIT0gcGFyZW50LT5kb2MpIHsKKyAgICAgICAgeG1sU2V0VHJlZURvYyhjdXIsIHBhcmVudC0+ZG9jKTsKKyAgICB9CisgICAgcGFyZW50LT5sYXN0ID0gY3VyOworCisgICAgcmV0dXJuKGN1cik7Cit9CisKKy8qKgorICogeG1sQWRkQ2hpbGQ6CisgKiBAcGFyZW50OiAgdGhlIHBhcmVudCBub2RlCisgKiBAY3VyOiAgdGhlIGNoaWxkIG5vZGUKKyAqCisgKiBBZGQgYSBuZXcgbm9kZSB0byBAcGFyZW50LCBhdCB0aGUgZW5kIG9mIHRoZSBjaGlsZCAob3IgcHJvcGVydHkpIGxpc3QKKyAqIG1lcmdpbmcgYWRqYWNlbnQgVEVYVCBub2RlcyAoaW4gd2hpY2ggY2FzZSBAY3VyIGlzIGZyZWVkKQorICogSWYgdGhlIG5ldyBub2RlIGlzIEFUVFJJQlVURSwgaXQgaXMgYWRkZWQgaW50byBwcm9wZXJ0aWVzIGluc3RlYWQgb2YgY2hpbGRyZW4uCisgKiBJZiB0aGVyZSBpcyBhbiBhdHRyaWJ1dGUgd2l0aCBlcXVhbCBuYW1lLCBpdCBpcyBmaXJzdCBkZXN0cm95ZWQuCisgKgorICogUmV0dXJucyB0aGUgY2hpbGQgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLgorICovCit4bWxOb2RlUHRyCit4bWxBZGRDaGlsZCh4bWxOb2RlUHRyIHBhcmVudCwgeG1sTm9kZVB0ciBjdXIpIHsKKyAgICB4bWxOb2RlUHRyIHByZXY7CisKKyAgICBpZiAoKHBhcmVudCA9PSBOVUxMKSB8fCAocGFyZW50LT50eXBlID09IFhNTF9OQU1FU1BBQ0VfREVDTCkpIHsKKyNpZmRlZiBERUJVR19UUkVFCisgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkieG1sQWRkQ2hpbGQgOiBwYXJlbnQgPT0gTlVMTFxuIik7CisjZW5kaWYKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorCisgICAgaWYgKChjdXIgPT0gTlVMTCkgfHwgKGN1ci0+dHlwZSA9PSBYTUxfTkFNRVNQQUNFX0RFQ0wpKSB7CisjaWZkZWYgREVCVUdfVFJFRQorICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJInhtbEFkZENoaWxkIDogY2hpbGQgPT0gTlVMTFxuIik7CisjZW5kaWYKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorCisgICAgaWYgKHBhcmVudCA9PSBjdXIpIHsKKyNpZmRlZiBERUJVR19UUkVFCisgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkieG1sQWRkQ2hpbGQgOiBwYXJlbnQgPT0gY3VyXG4iKTsKKyNlbmRpZgorCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgLyoKKyAgICAgKiBJZiBjdXIgaXMgYSBURVhUIG5vZGUsIG1lcmdlIGl0cyBjb250ZW50IHdpdGggYWRqYWNlbnQgVEVYVCBub2RlcworICAgICAqIGN1ciBpcyB0aGVuIGZyZWVkLgorICAgICAqLworICAgIGlmIChjdXItPnR5cGUgPT0gWE1MX1RFWFRfTk9ERSkgeworCWlmICgocGFyZW50LT50eXBlID09IFhNTF9URVhUX05PREUpICYmCisJICAgIChwYXJlbnQtPmNvbnRlbnQgIT0gTlVMTCkgJiYKKwkgICAgKHBhcmVudC0+bmFtZSA9PSBjdXItPm5hbWUpKSB7CisJICAgIHhtbE5vZGVBZGRDb250ZW50KHBhcmVudCwgY3VyLT5jb250ZW50KTsKKwkgICAgeG1sRnJlZU5vZGUoY3VyKTsKKwkgICAgcmV0dXJuKHBhcmVudCk7CisJfQorCWlmICgocGFyZW50LT5sYXN0ICE9IE5VTEwpICYmIChwYXJlbnQtPmxhc3QtPnR5cGUgPT0gWE1MX1RFWFRfTk9ERSkgJiYKKwkgICAgKHBhcmVudC0+bGFzdC0+bmFtZSA9PSBjdXItPm5hbWUpICYmCisJICAgIChwYXJlbnQtPmxhc3QgIT0gY3VyKSkgeworCSAgICB4bWxOb2RlQWRkQ29udGVudChwYXJlbnQtPmxhc3QsIGN1ci0+Y29udGVudCk7CisJICAgIHhtbEZyZWVOb2RlKGN1cik7CisJICAgIHJldHVybihwYXJlbnQtPmxhc3QpOworCX0KKyAgICB9CisKKyAgICAvKgorICAgICAqIGFkZCB0aGUgbmV3IGVsZW1lbnQgYXQgdGhlIGVuZCBvZiB0aGUgY2hpbGRyZW4gbGlzdC4KKyAgICAgKi8KKyAgICBwcmV2ID0gY3VyLT5wYXJlbnQ7CisgICAgY3VyLT5wYXJlbnQgPSBwYXJlbnQ7CisgICAgaWYgKGN1ci0+ZG9jICE9IHBhcmVudC0+ZG9jKSB7CisJeG1sU2V0VHJlZURvYyhjdXIsIHBhcmVudC0+ZG9jKTsKKyAgICB9CisgICAgLyogdGhpcyBjaGVjayBwcmV2ZW50cyBhIGxvb3Agb24gdHJlZS10cmF2ZXJzaW9ucyBpZiBhIGRldmVsb3BlcgorICAgICAqIHRyaWVzIHRvIGFkZCBhIG5vZGUgdG8gaXRzIHBhcmVudCBtdWx0aXBsZSB0aW1lcworICAgICAqLworICAgIGlmIChwcmV2ID09IHBhcmVudCkKKwlyZXR1cm4oY3VyKTsKKworICAgIC8qCisgICAgICogQ29hbGVzY2luZworICAgICAqLworICAgIGlmICgocGFyZW50LT50eXBlID09IFhNTF9URVhUX05PREUpICYmCisJKHBhcmVudC0+Y29udGVudCAhPSBOVUxMKSAmJgorCShwYXJlbnQgIT0gY3VyKSkgeworCXhtbE5vZGVBZGRDb250ZW50KHBhcmVudCwgY3VyLT5jb250ZW50KTsKKwl4bWxGcmVlTm9kZShjdXIpOworCXJldHVybihwYXJlbnQpOworICAgIH0KKyAgICBpZiAoY3VyLT50eXBlID09IFhNTF9BVFRSSUJVVEVfTk9ERSkgeworCQlpZiAocGFyZW50LT50eXBlICE9IFhNTF9FTEVNRU5UX05PREUpCisJCQlyZXR1cm4oTlVMTCk7CisJaWYgKHBhcmVudC0+cHJvcGVydGllcyAhPSBOVUxMKSB7CisJICAgIC8qIGNoZWNrIGlmIGFuIGF0dHJpYnV0ZSB3aXRoIHRoZSBzYW1lIG5hbWUgZXhpc3RzICovCisJICAgIHhtbEF0dHJQdHIgbGFzdGF0dHI7CisKKwkgICAgaWYgKGN1ci0+bnMgPT0gTlVMTCkKKwkJbGFzdGF0dHIgPSB4bWxIYXNOc1Byb3AocGFyZW50LCBjdXItPm5hbWUsIE5VTEwpOworCSAgICBlbHNlCisJCWxhc3RhdHRyID0geG1sSGFzTnNQcm9wKHBhcmVudCwgY3VyLT5uYW1lLCBjdXItPm5zLT5ocmVmKTsKKwkgICAgaWYgKChsYXN0YXR0ciAhPSBOVUxMKSAmJiAobGFzdGF0dHIgIT0gKHhtbEF0dHJQdHIpIGN1cikgJiYgKGxhc3RhdHRyLT50eXBlICE9IFhNTF9BVFRSSUJVVEVfREVDTCkpIHsKKwkJLyogZGlmZmVyZW50IGluc3RhbmNlLCBkZXN0cm95IGl0IChhdHRyaWJ1dGVzIG11c3QgYmUgdW5pcXVlKSAqLworCQkJeG1sVW5saW5rTm9kZSgoeG1sTm9kZVB0cikgbGFzdGF0dHIpOworCQl4bWxGcmVlUHJvcChsYXN0YXR0cik7CisJICAgIH0KKwkJaWYgKGxhc3RhdHRyID09ICh4bWxBdHRyUHRyKSBjdXIpCisJCQlyZXR1cm4oY3VyKTsKKworCX0KKwlpZiAocGFyZW50LT5wcm9wZXJ0aWVzID09IE5VTEwpIHsKKwkgICAgcGFyZW50LT5wcm9wZXJ0aWVzID0gKHhtbEF0dHJQdHIpIGN1cjsKKwl9IGVsc2UgeworCSAgICAvKiBmaW5kIHRoZSBlbmQgKi8KKwkgICAgeG1sQXR0clB0ciBsYXN0YXR0ciA9IHBhcmVudC0+cHJvcGVydGllczsKKwkgICAgd2hpbGUgKGxhc3RhdHRyLT5uZXh0ICE9IE5VTEwpIHsKKwkJbGFzdGF0dHIgPSBsYXN0YXR0ci0+bmV4dDsKKwkgICAgfQorCSAgICBsYXN0YXR0ci0+bmV4dCA9ICh4bWxBdHRyUHRyKSBjdXI7CisJICAgICgoeG1sQXR0clB0cikgY3VyKS0+cHJldiA9IGxhc3RhdHRyOworCX0KKyAgICB9IGVsc2UgeworCWlmIChwYXJlbnQtPmNoaWxkcmVuID09IE5VTEwpIHsKKwkgICAgcGFyZW50LT5jaGlsZHJlbiA9IGN1cjsKKwkgICAgcGFyZW50LT5sYXN0ID0gY3VyOworCX0gZWxzZSB7CisJICAgIHByZXYgPSBwYXJlbnQtPmxhc3Q7CisJICAgIHByZXYtPm5leHQgPSBjdXI7CisJICAgIGN1ci0+cHJldiA9IHByZXY7CisJICAgIHBhcmVudC0+bGFzdCA9IGN1cjsKKwl9CisgICAgfQorICAgIHJldHVybihjdXIpOworfQorCisvKioKKyAqIHhtbEdldExhc3RDaGlsZDoKKyAqIEBwYXJlbnQ6ICB0aGUgcGFyZW50IG5vZGUKKyAqCisgKiBTZWFyY2ggdGhlIGxhc3QgY2hpbGQgb2YgYSBub2RlLgorICogUmV0dXJucyB0aGUgbGFzdCBjaGlsZCBvciBOVUxMIGlmIG5vbmUuCisgKi8KK3htbE5vZGVQdHIKK3htbEdldExhc3RDaGlsZChjb25zdCB4bWxOb2RlICpwYXJlbnQpIHsKKyAgICBpZiAoKHBhcmVudCA9PSBOVUxMKSB8fCAocGFyZW50LT50eXBlID09IFhNTF9OQU1FU1BBQ0VfREVDTCkpIHsKKyNpZmRlZiBERUJVR19UUkVFCisgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkieG1sR2V0TGFzdENoaWxkIDogcGFyZW50ID09IE5VTExcbiIpOworI2VuZGlmCisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICByZXR1cm4ocGFyZW50LT5sYXN0KTsKK30KKworI2lmZGVmIExJQlhNTF9UUkVFX0VOQUJMRUQKKy8qCisgKiA1IGludGVyZmFjZXMgZnJvbSBET00gRWxlbWVudFRyYXZlcnNhbAorICovCisKKy8qKgorICogeG1sQ2hpbGRFbGVtZW50Q291bnQ6CisgKiBAcGFyZW50OiB0aGUgcGFyZW50IG5vZGUKKyAqCisgKiBGaW5kcyB0aGUgY3VycmVudCBudW1iZXIgb2YgY2hpbGQgbm9kZXMgb2YgdGhhdCBlbGVtZW50IHdoaWNoIGFyZQorICogZWxlbWVudCBub2Rlcy4KKyAqIE5vdGUgdGhlIGhhbmRsaW5nIG9mIGVudGl0aWVzIHJlZmVyZW5jZXMgaXMgZGlmZmVyZW50IHRoYW4gaW4KKyAqIHRoZSBXM0MgRE9NIGVsZW1lbnQgdHJhdmVyc2FsIHNwZWMgc2luY2Ugd2UgZG9uJ3QgaGF2ZSBiYWNrIHJlZmVyZW5jZQorICogZnJvbSBlbnRpdGllcyBjb250ZW50IHRvIGVudGl0aWVzIHJlZmVyZW5jZXMuCisgKgorICogUmV0dXJucyB0aGUgY291bnQgb2YgZWxlbWVudCBjaGlsZCBvciAwIGlmIG5vdCBhdmFpbGFibGUKKyAqLwordW5zaWduZWQgbG9uZworeG1sQ2hpbGRFbGVtZW50Q291bnQoeG1sTm9kZVB0ciBwYXJlbnQpIHsKKyAgICB1bnNpZ25lZCBsb25nIHJldCA9IDA7CisgICAgeG1sTm9kZVB0ciBjdXIgPSBOVUxMOworCisgICAgaWYgKHBhcmVudCA9PSBOVUxMKQorICAgICAgICByZXR1cm4oMCk7CisgICAgc3dpdGNoIChwYXJlbnQtPnR5cGUpIHsKKyAgICAgICAgY2FzZSBYTUxfRUxFTUVOVF9OT0RFOgorICAgICAgICBjYXNlIFhNTF9FTlRJVFlfTk9ERToKKyAgICAgICAgY2FzZSBYTUxfRE9DVU1FTlRfTk9ERToKKyAgICAgICAgY2FzZSBYTUxfRE9DVU1FTlRfRlJBR19OT0RFOgorICAgICAgICBjYXNlIFhNTF9IVE1MX0RPQ1VNRU5UX05PREU6CisgICAgICAgICAgICBjdXIgPSBwYXJlbnQtPmNoaWxkcmVuOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICByZXR1cm4oMCk7CisgICAgfQorICAgIHdoaWxlIChjdXIgIT0gTlVMTCkgeworICAgICAgICBpZiAoY3VyLT50eXBlID09IFhNTF9FTEVNRU5UX05PREUpCisgICAgICAgICAgICByZXQrKzsKKyAgICAgICAgY3VyID0gY3VyLT5uZXh0OworICAgIH0KKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxGaXJzdEVsZW1lbnRDaGlsZDoKKyAqIEBwYXJlbnQ6IHRoZSBwYXJlbnQgbm9kZQorICoKKyAqIEZpbmRzIHRoZSBmaXJzdCBjaGlsZCBub2RlIG9mIHRoYXQgZWxlbWVudCB3aGljaCBpcyBhIEVsZW1lbnQgbm9kZQorICogTm90ZSB0aGUgaGFuZGxpbmcgb2YgZW50aXRpZXMgcmVmZXJlbmNlcyBpcyBkaWZmZXJlbnQgdGhhbiBpbgorICogdGhlIFczQyBET00gZWxlbWVudCB0cmF2ZXJzYWwgc3BlYyBzaW5jZSB3ZSBkb24ndCBoYXZlIGJhY2sgcmVmZXJlbmNlCisgKiBmcm9tIGVudGl0aWVzIGNvbnRlbnQgdG8gZW50aXRpZXMgcmVmZXJlbmNlcy4KKyAqCisgKiBSZXR1cm5zIHRoZSBmaXJzdCBlbGVtZW50IGNoaWxkIG9yIE5VTEwgaWYgbm90IGF2YWlsYWJsZQorICovCit4bWxOb2RlUHRyCit4bWxGaXJzdEVsZW1lbnRDaGlsZCh4bWxOb2RlUHRyIHBhcmVudCkgeworICAgIHhtbE5vZGVQdHIgY3VyID0gTlVMTDsKKworICAgIGlmIChwYXJlbnQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuKE5VTEwpOworICAgIHN3aXRjaCAocGFyZW50LT50eXBlKSB7CisgICAgICAgIGNhc2UgWE1MX0VMRU1FTlRfTk9ERToKKyAgICAgICAgY2FzZSBYTUxfRU5USVRZX05PREU6CisgICAgICAgIGNhc2UgWE1MX0RPQ1VNRU5UX05PREU6CisgICAgICAgIGNhc2UgWE1MX0RPQ1VNRU5UX0ZSQUdfTk9ERToKKyAgICAgICAgY2FzZSBYTUxfSFRNTF9ET0NVTUVOVF9OT0RFOgorICAgICAgICAgICAgY3VyID0gcGFyZW50LT5jaGlsZHJlbjsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICB3aGlsZSAoY3VyICE9IE5VTEwpIHsKKyAgICAgICAgaWYgKGN1ci0+dHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFKQorICAgICAgICAgICAgcmV0dXJuKGN1cik7CisgICAgICAgIGN1ciA9IGN1ci0+bmV4dDsKKyAgICB9CisgICAgcmV0dXJuKE5VTEwpOworfQorCisvKioKKyAqIHhtbExhc3RFbGVtZW50Q2hpbGQ6CisgKiBAcGFyZW50OiB0aGUgcGFyZW50IG5vZGUKKyAqCisgKiBGaW5kcyB0aGUgbGFzdCBjaGlsZCBub2RlIG9mIHRoYXQgZWxlbWVudCB3aGljaCBpcyBhIEVsZW1lbnQgbm9kZQorICogTm90ZSB0aGUgaGFuZGxpbmcgb2YgZW50aXRpZXMgcmVmZXJlbmNlcyBpcyBkaWZmZXJlbnQgdGhhbiBpbgorICogdGhlIFczQyBET00gZWxlbWVudCB0cmF2ZXJzYWwgc3BlYyBzaW5jZSB3ZSBkb24ndCBoYXZlIGJhY2sgcmVmZXJlbmNlCisgKiBmcm9tIGVudGl0aWVzIGNvbnRlbnQgdG8gZW50aXRpZXMgcmVmZXJlbmNlcy4KKyAqCisgKiBSZXR1cm5zIHRoZSBsYXN0IGVsZW1lbnQgY2hpbGQgb3IgTlVMTCBpZiBub3QgYXZhaWxhYmxlCisgKi8KK3htbE5vZGVQdHIKK3htbExhc3RFbGVtZW50Q2hpbGQoeG1sTm9kZVB0ciBwYXJlbnQpIHsKKyAgICB4bWxOb2RlUHRyIGN1ciA9IE5VTEw7CisKKyAgICBpZiAocGFyZW50ID09IE5VTEwpCisgICAgICAgIHJldHVybihOVUxMKTsKKyAgICBzd2l0Y2ggKHBhcmVudC0+dHlwZSkgeworICAgICAgICBjYXNlIFhNTF9FTEVNRU5UX05PREU6CisgICAgICAgIGNhc2UgWE1MX0VOVElUWV9OT0RFOgorICAgICAgICBjYXNlIFhNTF9ET0NVTUVOVF9OT0RFOgorICAgICAgICBjYXNlIFhNTF9ET0NVTUVOVF9GUkFHX05PREU6CisgICAgICAgIGNhc2UgWE1MX0hUTUxfRE9DVU1FTlRfTk9ERToKKyAgICAgICAgICAgIGN1ciA9IHBhcmVudC0+bGFzdDsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICB3aGlsZSAoY3VyICE9IE5VTEwpIHsKKyAgICAgICAgaWYgKGN1ci0+dHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFKQorICAgICAgICAgICAgcmV0dXJuKGN1cik7CisgICAgICAgIGN1ciA9IGN1ci0+cHJldjsKKyAgICB9CisgICAgcmV0dXJuKE5VTEwpOworfQorCisvKioKKyAqIHhtbFByZXZpb3VzRWxlbWVudFNpYmxpbmc6CisgKiBAbm9kZTogdGhlIGN1cnJlbnQgbm9kZQorICoKKyAqIEZpbmRzIHRoZSBmaXJzdCBjbG9zZXN0IHByZXZpb3VzIHNpYmxpbmcgb2YgdGhlIG5vZGUgd2hpY2ggaXMgYW4KKyAqIGVsZW1lbnQgbm9kZS4KKyAqIE5vdGUgdGhlIGhhbmRsaW5nIG9mIGVudGl0aWVzIHJlZmVyZW5jZXMgaXMgZGlmZmVyZW50IHRoYW4gaW4KKyAqIHRoZSBXM0MgRE9NIGVsZW1lbnQgdHJhdmVyc2FsIHNwZWMgc2luY2Ugd2UgZG9uJ3QgaGF2ZSBiYWNrIHJlZmVyZW5jZQorICogZnJvbSBlbnRpdGllcyBjb250ZW50IHRvIGVudGl0aWVzIHJlZmVyZW5jZXMuCisgKgorICogUmV0dXJucyB0aGUgcHJldmlvdXMgZWxlbWVudCBzaWJsaW5nIG9yIE5VTEwgaWYgbm90IGF2YWlsYWJsZQorICovCit4bWxOb2RlUHRyCit4bWxQcmV2aW91c0VsZW1lbnRTaWJsaW5nKHhtbE5vZGVQdHIgbm9kZSkgeworICAgIGlmIChub2RlID09IE5VTEwpCisgICAgICAgIHJldHVybihOVUxMKTsKKyAgICBzd2l0Y2ggKG5vZGUtPnR5cGUpIHsKKyAgICAgICAgY2FzZSBYTUxfRUxFTUVOVF9OT0RFOgorICAgICAgICBjYXNlIFhNTF9URVhUX05PREU6CisgICAgICAgIGNhc2UgWE1MX0NEQVRBX1NFQ1RJT05fTk9ERToKKyAgICAgICAgY2FzZSBYTUxfRU5USVRZX1JFRl9OT0RFOgorICAgICAgICBjYXNlIFhNTF9FTlRJVFlfTk9ERToKKyAgICAgICAgY2FzZSBYTUxfUElfTk9ERToKKyAgICAgICAgY2FzZSBYTUxfQ09NTUVOVF9OT0RFOgorICAgICAgICBjYXNlIFhNTF9YSU5DTFVERV9TVEFSVDoKKyAgICAgICAgY2FzZSBYTUxfWElOQ0xVREVfRU5EOgorICAgICAgICAgICAgbm9kZSA9IG5vZGUtPnByZXY7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIHJldHVybihOVUxMKTsKKyAgICB9CisgICAgd2hpbGUgKG5vZGUgIT0gTlVMTCkgeworICAgICAgICBpZiAobm9kZS0+dHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFKQorICAgICAgICAgICAgcmV0dXJuKG5vZGUpOworICAgICAgICBub2RlID0gbm9kZS0+cHJldjsKKyAgICB9CisgICAgcmV0dXJuKE5VTEwpOworfQorCisvKioKKyAqIHhtbE5leHRFbGVtZW50U2libGluZzoKKyAqIEBub2RlOiB0aGUgY3VycmVudCBub2RlCisgKgorICogRmluZHMgdGhlIGZpcnN0IGNsb3Nlc3QgbmV4dCBzaWJsaW5nIG9mIHRoZSBub2RlIHdoaWNoIGlzIGFuCisgKiBlbGVtZW50IG5vZGUuCisgKiBOb3RlIHRoZSBoYW5kbGluZyBvZiBlbnRpdGllcyByZWZlcmVuY2VzIGlzIGRpZmZlcmVudCB0aGFuIGluCisgKiB0aGUgVzNDIERPTSBlbGVtZW50IHRyYXZlcnNhbCBzcGVjIHNpbmNlIHdlIGRvbid0IGhhdmUgYmFjayByZWZlcmVuY2UKKyAqIGZyb20gZW50aXRpZXMgY29udGVudCB0byBlbnRpdGllcyByZWZlcmVuY2VzLgorICoKKyAqIFJldHVybnMgdGhlIG5leHQgZWxlbWVudCBzaWJsaW5nIG9yIE5VTEwgaWYgbm90IGF2YWlsYWJsZQorICovCit4bWxOb2RlUHRyCit4bWxOZXh0RWxlbWVudFNpYmxpbmcoeG1sTm9kZVB0ciBub2RlKSB7CisgICAgaWYgKG5vZGUgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuKE5VTEwpOworICAgIHN3aXRjaCAobm9kZS0+dHlwZSkgeworICAgICAgICBjYXNlIFhNTF9FTEVNRU5UX05PREU6CisgICAgICAgIGNhc2UgWE1MX1RFWFRfTk9ERToKKyAgICAgICAgY2FzZSBYTUxfQ0RBVEFfU0VDVElPTl9OT0RFOgorICAgICAgICBjYXNlIFhNTF9FTlRJVFlfUkVGX05PREU6CisgICAgICAgIGNhc2UgWE1MX0VOVElUWV9OT0RFOgorICAgICAgICBjYXNlIFhNTF9QSV9OT0RFOgorICAgICAgICBjYXNlIFhNTF9DT01NRU5UX05PREU6CisgICAgICAgIGNhc2UgWE1MX0RURF9OT0RFOgorICAgICAgICBjYXNlIFhNTF9YSU5DTFVERV9TVEFSVDoKKyAgICAgICAgY2FzZSBYTUxfWElOQ0xVREVfRU5EOgorICAgICAgICAgICAgbm9kZSA9IG5vZGUtPm5leHQ7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIHJldHVybihOVUxMKTsKKyAgICB9CisgICAgd2hpbGUgKG5vZGUgIT0gTlVMTCkgeworICAgICAgICBpZiAobm9kZS0+dHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFKQorICAgICAgICAgICAgcmV0dXJuKG5vZGUpOworICAgICAgICBub2RlID0gbm9kZS0+bmV4dDsKKyAgICB9CisgICAgcmV0dXJuKE5VTEwpOworfQorCisjZW5kaWYgLyogTElCWE1MX1RSRUVfRU5BQkxFRCAqLworCisvKioKKyAqIHhtbEZyZWVOb2RlTGlzdDoKKyAqIEBjdXI6ICB0aGUgZmlyc3Qgbm9kZSBpbiB0aGUgbGlzdAorICoKKyAqIEZyZWUgYSBub2RlIGFuZCBhbGwgaXRzIHNpYmxpbmdzLCB0aGlzIGlzIGEgcmVjdXJzaXZlIGJlaGF2aW91ciwgYWxsCisgKiB0aGUgY2hpbGRyZW4gYXJlIGZyZWVkIHRvby4KKyAqLwordm9pZAoreG1sRnJlZU5vZGVMaXN0KHhtbE5vZGVQdHIgY3VyKSB7CisgICAgeG1sTm9kZVB0ciBuZXh0OworICAgIHhtbERpY3RQdHIgZGljdCA9IE5VTEw7CisKKyAgICBpZiAoY3VyID09IE5VTEwpIHJldHVybjsKKyAgICBpZiAoY3VyLT50eXBlID09IFhNTF9OQU1FU1BBQ0VfREVDTCkgeworCXhtbEZyZWVOc0xpc3QoKHhtbE5zUHRyKSBjdXIpOworCXJldHVybjsKKyAgICB9CisgICAgaWYgKChjdXItPnR5cGUgPT0gWE1MX0RPQ1VNRU5UX05PREUpIHx8CisjaWZkZWYgTElCWE1MX0RPQ0JfRU5BQkxFRAorCShjdXItPnR5cGUgPT0gWE1MX0RPQ0JfRE9DVU1FTlRfTk9ERSkgfHwKKyNlbmRpZgorCShjdXItPnR5cGUgPT0gWE1MX0hUTUxfRE9DVU1FTlRfTk9ERSkpIHsKKwl4bWxGcmVlRG9jKCh4bWxEb2NQdHIpIGN1cik7CisJcmV0dXJuOworICAgIH0KKyAgICBpZiAoY3VyLT5kb2MgIT0gTlVMTCkgZGljdCA9IGN1ci0+ZG9jLT5kaWN0OworICAgIHdoaWxlIChjdXIgIT0gTlVMTCkgeworICAgICAgICBuZXh0ID0gY3VyLT5uZXh0OworCWlmIChjdXItPnR5cGUgIT0gWE1MX0RURF9OT0RFKSB7CisKKwkgICAgaWYgKChfX3htbFJlZ2lzdGVyQ2FsbGJhY2tzKSAmJiAoeG1sRGVyZWdpc3Rlck5vZGVEZWZhdWx0VmFsdWUpKQorCQl4bWxEZXJlZ2lzdGVyTm9kZURlZmF1bHRWYWx1ZShjdXIpOworCisJICAgIGlmICgoY3VyLT5jaGlsZHJlbiAhPSBOVUxMKSAmJgorCQkoY3VyLT50eXBlICE9IFhNTF9FTlRJVFlfUkVGX05PREUpKQorCQl4bWxGcmVlTm9kZUxpc3QoY3VyLT5jaGlsZHJlbik7CisJICAgIGlmICgoKGN1ci0+dHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFKSB8fAorCQkgKGN1ci0+dHlwZSA9PSBYTUxfWElOQ0xVREVfU1RBUlQpIHx8CisJCSAoY3VyLT50eXBlID09IFhNTF9YSU5DTFVERV9FTkQpKSAmJgorCQkoY3VyLT5wcm9wZXJ0aWVzICE9IE5VTEwpKQorCQl4bWxGcmVlUHJvcExpc3QoY3VyLT5wcm9wZXJ0aWVzKTsKKwkgICAgaWYgKChjdXItPnR5cGUgIT0gWE1MX0VMRU1FTlRfTk9ERSkgJiYKKwkJKGN1ci0+dHlwZSAhPSBYTUxfWElOQ0xVREVfU1RBUlQpICYmCisJCShjdXItPnR5cGUgIT0gWE1MX1hJTkNMVURFX0VORCkgJiYKKwkJKGN1ci0+dHlwZSAhPSBYTUxfRU5USVRZX1JFRl9OT0RFKSAmJgorCQkoY3VyLT5jb250ZW50ICE9ICh4bWxDaGFyICopICYoY3VyLT5wcm9wZXJ0aWVzKSkpIHsKKwkJRElDVF9GUkVFKGN1ci0+Y29udGVudCkKKwkgICAgfQorCSAgICBpZiAoKChjdXItPnR5cGUgPT0gWE1MX0VMRU1FTlRfTk9ERSkgfHwKKwkgICAgICAgICAoY3VyLT50eXBlID09IFhNTF9YSU5DTFVERV9TVEFSVCkgfHwKKwkJIChjdXItPnR5cGUgPT0gWE1MX1hJTkNMVURFX0VORCkpICYmCisJCShjdXItPm5zRGVmICE9IE5VTEwpKQorCQl4bWxGcmVlTnNMaXN0KGN1ci0+bnNEZWYpOworCisJICAgIC8qCisJICAgICAqIFdoZW4gYSBub2RlIGlzIGEgdGV4dCBub2RlIG9yIGEgY29tbWVudCwgaXQgdXNlcyBhIGdsb2JhbCBzdGF0aWMKKwkgICAgICogdmFyaWFibGUgZm9yIHRoZSBuYW1lIG9mIHRoZSBub2RlLgorCSAgICAgKiBPdGhlcndpc2UgdGhlIG5vZGUgbmFtZSBtaWdodCBjb21lIGZyb20gdGhlIGRvY3VtZW50J3MKKwkgICAgICogZGljdGlvbm5hcnkKKwkgICAgICovCisJICAgIGlmICgoY3VyLT5uYW1lICE9IE5VTEwpICYmCisJCShjdXItPnR5cGUgIT0gWE1MX1RFWFRfTk9ERSkgJiYKKwkJKGN1ci0+dHlwZSAhPSBYTUxfQ09NTUVOVF9OT0RFKSkKKwkJRElDVF9GUkVFKGN1ci0+bmFtZSkKKwkgICAgeG1sRnJlZShjdXIpOworCX0KKwljdXIgPSBuZXh0OworICAgIH0KK30KKworLyoqCisgKiB4bWxGcmVlTm9kZToKKyAqIEBjdXI6ICB0aGUgbm9kZQorICoKKyAqIEZyZWUgYSBub2RlLCB0aGlzIGlzIGEgcmVjdXJzaXZlIGJlaGF2aW91ciwgYWxsIHRoZSBjaGlsZHJlbiBhcmUgZnJlZWQgdG9vLgorICogVGhpcyBkb2Vzbid0IHVubGluayB0aGUgY2hpbGQgZnJvbSB0aGUgbGlzdCwgdXNlIHhtbFVubGlua05vZGUoKSBmaXJzdC4KKyAqLwordm9pZAoreG1sRnJlZU5vZGUoeG1sTm9kZVB0ciBjdXIpIHsKKyAgICB4bWxEaWN0UHRyIGRpY3QgPSBOVUxMOworCisgICAgaWYgKGN1ciA9PSBOVUxMKSByZXR1cm47CisKKyAgICAvKiB1c2UgeG1sRnJlZUR0ZCBmb3IgRFREIG5vZGVzICovCisgICAgaWYgKGN1ci0+dHlwZSA9PSBYTUxfRFREX05PREUpIHsKKwl4bWxGcmVlRHRkKCh4bWxEdGRQdHIpIGN1cik7CisJcmV0dXJuOworICAgIH0KKyAgICBpZiAoY3VyLT50eXBlID09IFhNTF9OQU1FU1BBQ0VfREVDTCkgeworCXhtbEZyZWVOcygoeG1sTnNQdHIpIGN1cik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgaWYgKGN1ci0+dHlwZSA9PSBYTUxfQVRUUklCVVRFX05PREUpIHsKKwl4bWxGcmVlUHJvcCgoeG1sQXR0clB0cikgY3VyKTsKKwlyZXR1cm47CisgICAgfQorCisgICAgaWYgKChfX3htbFJlZ2lzdGVyQ2FsbGJhY2tzKSAmJiAoeG1sRGVyZWdpc3Rlck5vZGVEZWZhdWx0VmFsdWUpKQorCXhtbERlcmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlKGN1cik7CisKKyAgICBpZiAoY3VyLT5kb2MgIT0gTlVMTCkgZGljdCA9IGN1ci0+ZG9jLT5kaWN0OworCisgICAgaWYgKGN1ci0+dHlwZSA9PSBYTUxfRU5USVRZX0RFQ0wpIHsKKyAgICAgICAgeG1sRW50aXR5UHRyIGVudCA9ICh4bWxFbnRpdHlQdHIpIGN1cjsKKwlESUNUX0ZSRUUoZW50LT5TeXN0ZW1JRCk7CisJRElDVF9GUkVFKGVudC0+RXh0ZXJuYWxJRCk7CisgICAgfQorICAgIGlmICgoY3VyLT5jaGlsZHJlbiAhPSBOVUxMKSAmJgorCShjdXItPnR5cGUgIT0gWE1MX0VOVElUWV9SRUZfTk9ERSkpCisJeG1sRnJlZU5vZGVMaXN0KGN1ci0+Y2hpbGRyZW4pOworICAgIGlmICgoKGN1ci0+dHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFKSB8fAorCSAoY3VyLT50eXBlID09IFhNTF9YSU5DTFVERV9TVEFSVCkgfHwKKwkgKGN1ci0+dHlwZSA9PSBYTUxfWElOQ0xVREVfRU5EKSkgJiYKKwkoY3VyLT5wcm9wZXJ0aWVzICE9IE5VTEwpKQorCXhtbEZyZWVQcm9wTGlzdChjdXItPnByb3BlcnRpZXMpOworICAgIGlmICgoY3VyLT50eXBlICE9IFhNTF9FTEVNRU5UX05PREUpICYmCisJKGN1ci0+Y29udGVudCAhPSBOVUxMKSAmJgorCShjdXItPnR5cGUgIT0gWE1MX0VOVElUWV9SRUZfTk9ERSkgJiYKKwkoY3VyLT50eXBlICE9IFhNTF9YSU5DTFVERV9FTkQpICYmCisJKGN1ci0+dHlwZSAhPSBYTUxfWElOQ0xVREVfU1RBUlQpICYmCisJKGN1ci0+Y29udGVudCAhPSAoeG1sQ2hhciAqKSAmKGN1ci0+cHJvcGVydGllcykpKSB7CisJRElDVF9GUkVFKGN1ci0+Y29udGVudCkKKyAgICB9CisKKyAgICAvKgorICAgICAqIFdoZW4gYSBub2RlIGlzIGEgdGV4dCBub2RlIG9yIGEgY29tbWVudCwgaXQgdXNlcyBhIGdsb2JhbCBzdGF0aWMKKyAgICAgKiB2YXJpYWJsZSBmb3IgdGhlIG5hbWUgb2YgdGhlIG5vZGUuCisgICAgICogT3RoZXJ3aXNlIHRoZSBub2RlIG5hbWUgbWlnaHQgY29tZSBmcm9tIHRoZSBkb2N1bWVudCdzIGRpY3Rpb25uYXJ5CisgICAgICovCisgICAgaWYgKChjdXItPm5hbWUgIT0gTlVMTCkgJiYKKyAgICAgICAgKGN1ci0+dHlwZSAhPSBYTUxfVEVYVF9OT0RFKSAmJgorICAgICAgICAoY3VyLT50eXBlICE9IFhNTF9DT01NRU5UX05PREUpKQorCURJQ1RfRlJFRShjdXItPm5hbWUpCisKKyAgICBpZiAoKChjdXItPnR5cGUgPT0gWE1MX0VMRU1FTlRfTk9ERSkgfHwKKwkgKGN1ci0+dHlwZSA9PSBYTUxfWElOQ0xVREVfU1RBUlQpIHx8CisJIChjdXItPnR5cGUgPT0gWE1MX1hJTkNMVURFX0VORCkpICYmCisJKGN1ci0+bnNEZWYgIT0gTlVMTCkpCisJeG1sRnJlZU5zTGlzdChjdXItPm5zRGVmKTsKKyAgICB4bWxGcmVlKGN1cik7Cit9CisKKy8qKgorICogeG1sVW5saW5rTm9kZToKKyAqIEBjdXI6ICB0aGUgbm9kZQorICoKKyAqIFVubGluayBhIG5vZGUgZnJvbSBpdCdzIGN1cnJlbnQgY29udGV4dCwgdGhlIG5vZGUgaXMgbm90IGZyZWVkCisgKiBJZiBvbmUgbmVlZCB0byBmcmVlIHRoZSBub2RlLCB1c2UgeG1sRnJlZU5vZGUoKSByb3V0aW5lIGFmdGVyIHRoZQorICogdW5saW5rIHRvIGRpc2NhcmQgaXQuCisgKiBOb3RlIHRoYXQgbmFtZXNwYWNlIG5vZGVzIGNhbid0IGJlIHVubGlua2VkIGFzIHRoZXkgZG8gbm90IGhhdmUKKyAqIHBvaW50ZXIgdG8gdGhlaXIgcGFyZW50LgorICovCit2b2lkCit4bWxVbmxpbmtOb2RlKHhtbE5vZGVQdHIgY3VyKSB7CisgICAgaWYgKGN1ciA9PSBOVUxMKSB7CisjaWZkZWYgREVCVUdfVFJFRQorICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJInhtbFVubGlua05vZGUgOiBub2RlID09IE5VTExcbiIpOworI2VuZGlmCisJcmV0dXJuOworICAgIH0KKyAgICBpZiAoY3VyLT50eXBlID09IFhNTF9OQU1FU1BBQ0VfREVDTCkKKyAgICAgICAgcmV0dXJuOworICAgIGlmIChjdXItPnR5cGUgPT0gWE1MX0RURF9OT0RFKSB7CisJeG1sRG9jUHRyIGRvYzsKKwlkb2MgPSBjdXItPmRvYzsKKwlpZiAoZG9jICE9IE5VTEwpIHsKKwkgICAgaWYgKGRvYy0+aW50U3Vic2V0ID09ICh4bWxEdGRQdHIpIGN1cikKKwkJZG9jLT5pbnRTdWJzZXQgPSBOVUxMOworCSAgICBpZiAoZG9jLT5leHRTdWJzZXQgPT0gKHhtbER0ZFB0cikgY3VyKQorCQlkb2MtPmV4dFN1YnNldCA9IE5VTEw7CisJfQorICAgIH0KKyAgICBpZiAoY3VyLT50eXBlID09IFhNTF9FTlRJVFlfREVDTCkgeworICAgICAgICB4bWxEb2NQdHIgZG9jOworCWRvYyA9IGN1ci0+ZG9jOworCWlmIChkb2MgIT0gTlVMTCkgeworCSAgICBpZiAoZG9jLT5pbnRTdWJzZXQgIT0gTlVMTCkgeworCSAgICAgICAgaWYgKHhtbEhhc2hMb29rdXAoZG9jLT5pbnRTdWJzZXQtPmVudGl0aWVzLCBjdXItPm5hbWUpID09IGN1cikKKwkJICAgIHhtbEhhc2hSZW1vdmVFbnRyeShkb2MtPmludFN1YnNldC0+ZW50aXRpZXMsIGN1ci0+bmFtZSwKKwkJICAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsKKwkgICAgICAgIGlmICh4bWxIYXNoTG9va3VwKGRvYy0+aW50U3Vic2V0LT5wZW50aXRpZXMsIGN1ci0+bmFtZSkgPT0gY3VyKQorCQkgICAgeG1sSGFzaFJlbW92ZUVudHJ5KGRvYy0+aW50U3Vic2V0LT5wZW50aXRpZXMsIGN1ci0+bmFtZSwKKwkJICAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsKKwkgICAgfQorCSAgICBpZiAoZG9jLT5leHRTdWJzZXQgIT0gTlVMTCkgeworCSAgICAgICAgaWYgKHhtbEhhc2hMb29rdXAoZG9jLT5leHRTdWJzZXQtPmVudGl0aWVzLCBjdXItPm5hbWUpID09IGN1cikKKwkJICAgIHhtbEhhc2hSZW1vdmVFbnRyeShkb2MtPmV4dFN1YnNldC0+ZW50aXRpZXMsIGN1ci0+bmFtZSwKKwkJICAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsKKwkgICAgICAgIGlmICh4bWxIYXNoTG9va3VwKGRvYy0+ZXh0U3Vic2V0LT5wZW50aXRpZXMsIGN1ci0+bmFtZSkgPT0gY3VyKQorCQkgICAgeG1sSGFzaFJlbW92ZUVudHJ5KGRvYy0+ZXh0U3Vic2V0LT5wZW50aXRpZXMsIGN1ci0+bmFtZSwKKwkJICAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsKKwkgICAgfQorCX0KKyAgICB9CisgICAgaWYgKGN1ci0+cGFyZW50ICE9IE5VTEwpIHsKKwl4bWxOb2RlUHRyIHBhcmVudDsKKwlwYXJlbnQgPSBjdXItPnBhcmVudDsKKwlpZiAoY3VyLT50eXBlID09IFhNTF9BVFRSSUJVVEVfTk9ERSkgeworCSAgICBpZiAocGFyZW50LT5wcm9wZXJ0aWVzID09ICh4bWxBdHRyUHRyKSBjdXIpCisJCXBhcmVudC0+cHJvcGVydGllcyA9ICgoeG1sQXR0clB0cikgY3VyKS0+bmV4dDsKKwl9IGVsc2UgeworCSAgICBpZiAocGFyZW50LT5jaGlsZHJlbiA9PSBjdXIpCisJCXBhcmVudC0+Y2hpbGRyZW4gPSBjdXItPm5leHQ7CisJICAgIGlmIChwYXJlbnQtPmxhc3QgPT0gY3VyKQorCQlwYXJlbnQtPmxhc3QgPSBjdXItPnByZXY7CisJfQorCWN1ci0+cGFyZW50ID0gTlVMTDsKKyAgICB9CisgICAgaWYgKGN1ci0+bmV4dCAhPSBOVUxMKQorICAgICAgICBjdXItPm5leHQtPnByZXYgPSBjdXItPnByZXY7CisgICAgaWYgKGN1ci0+cHJldiAhPSBOVUxMKQorICAgICAgICBjdXItPnByZXYtPm5leHQgPSBjdXItPm5leHQ7CisgICAgY3VyLT5uZXh0ID0gY3VyLT5wcmV2ID0gTlVMTDsKK30KKworI2lmIGRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfV1JJVEVSX0VOQUJMRUQpCisvKioKKyAqIHhtbFJlcGxhY2VOb2RlOgorICogQG9sZDogIHRoZSBvbGQgbm9kZQorICogQGN1cjogIHRoZSBub2RlCisgKgorICogVW5saW5rIHRoZSBvbGQgbm9kZSBmcm9tIGl0cyBjdXJyZW50IGNvbnRleHQsIHBydW5lIHRoZSBuZXcgb25lCisgKiBhdCB0aGUgc2FtZSBwbGFjZS4gSWYgQGN1ciB3YXMgYWxyZWFkeSBpbnNlcnRlZCBpbiBhIGRvY3VtZW50IGl0IGlzCisgKiBmaXJzdCB1bmxpbmtlZCBmcm9tIGl0cyBleGlzdGluZyBjb250ZXh0LgorICoKKyAqIFJldHVybnMgdGhlIEBvbGQgbm9kZQorICovCit4bWxOb2RlUHRyCit4bWxSZXBsYWNlTm9kZSh4bWxOb2RlUHRyIG9sZCwgeG1sTm9kZVB0ciBjdXIpIHsKKyAgICBpZiAob2xkID09IGN1cikgcmV0dXJuKE5VTEwpOworICAgIGlmICgob2xkID09IE5VTEwpIHx8IChvbGQtPnR5cGUgPT0gWE1MX05BTUVTUEFDRV9ERUNMKSB8fAorICAgICAgICAob2xkLT5wYXJlbnQgPT0gTlVMTCkpIHsKKyNpZmRlZiBERUJVR19UUkVFCisgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkieG1sUmVwbGFjZU5vZGUgOiBvbGQgPT0gTlVMTCBvciB3aXRob3V0IHBhcmVudFxuIik7CisjZW5kaWYKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIGlmICgoY3VyID09IE5VTEwpIHx8IChjdXItPnR5cGUgPT0gWE1MX05BTUVTUEFDRV9ERUNMKSkgeworCXhtbFVubGlua05vZGUob2xkKTsKKwlyZXR1cm4ob2xkKTsKKyAgICB9CisgICAgaWYgKGN1ciA9PSBvbGQpIHsKKwlyZXR1cm4ob2xkKTsKKyAgICB9CisgICAgaWYgKChvbGQtPnR5cGU9PVhNTF9BVFRSSUJVVEVfTk9ERSkgJiYgKGN1ci0+dHlwZSE9WE1MX0FUVFJJQlVURV9OT0RFKSkgeworI2lmZGVmIERFQlVHX1RSRUUKKyAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSJ4bWxSZXBsYWNlTm9kZSA6IFRyeWluZyB0byByZXBsYWNlIGF0dHJpYnV0ZSBub2RlIHdpdGggb3RoZXIgbm9kZSB0eXBlXG4iKTsKKyNlbmRpZgorCXJldHVybihvbGQpOworICAgIH0KKyAgICBpZiAoKGN1ci0+dHlwZT09WE1MX0FUVFJJQlVURV9OT0RFKSAmJiAob2xkLT50eXBlIT1YTUxfQVRUUklCVVRFX05PREUpKSB7CisjaWZkZWYgREVCVUdfVFJFRQorICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJInhtbFJlcGxhY2VOb2RlIDogVHJ5aW5nIHRvIHJlcGxhY2UgYSBub24tYXR0cmlidXRlIG5vZGUgd2l0aCBhdHRyaWJ1dGUgbm9kZVxuIik7CisjZW5kaWYKKwlyZXR1cm4ob2xkKTsKKyAgICB9CisgICAgeG1sVW5saW5rTm9kZShjdXIpOworICAgIHhtbFNldFRyZWVEb2MoY3VyLCBvbGQtPmRvYyk7CisgICAgY3VyLT5wYXJlbnQgPSBvbGQtPnBhcmVudDsKKyAgICBjdXItPm5leHQgPSBvbGQtPm5leHQ7CisgICAgaWYgKGN1ci0+bmV4dCAhPSBOVUxMKQorCWN1ci0+bmV4dC0+cHJldiA9IGN1cjsKKyAgICBjdXItPnByZXYgPSBvbGQtPnByZXY7CisgICAgaWYgKGN1ci0+cHJldiAhPSBOVUxMKQorCWN1ci0+cHJldi0+bmV4dCA9IGN1cjsKKyAgICBpZiAoY3VyLT5wYXJlbnQgIT0gTlVMTCkgeworCWlmIChjdXItPnR5cGUgPT0gWE1MX0FUVFJJQlVURV9OT0RFKSB7CisJICAgIGlmIChjdXItPnBhcmVudC0+cHJvcGVydGllcyA9PSAoeG1sQXR0clB0cilvbGQpCisJCWN1ci0+cGFyZW50LT5wcm9wZXJ0aWVzID0gKCh4bWxBdHRyUHRyKSBjdXIpOworCX0gZWxzZSB7CisJICAgIGlmIChjdXItPnBhcmVudC0+Y2hpbGRyZW4gPT0gb2xkKQorCQljdXItPnBhcmVudC0+Y2hpbGRyZW4gPSBjdXI7CisJICAgIGlmIChjdXItPnBhcmVudC0+bGFzdCA9PSBvbGQpCisJCWN1ci0+cGFyZW50LT5sYXN0ID0gY3VyOworCX0KKyAgICB9CisgICAgb2xkLT5uZXh0ID0gb2xkLT5wcmV2ID0gTlVMTDsKKyAgICBvbGQtPnBhcmVudCA9IE5VTEw7CisgICAgcmV0dXJuKG9sZCk7Cit9CisjZW5kaWYgLyogTElCWE1MX1RSRUVfRU5BQkxFRCAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQlDb3B5IG9wZXJhdGlvbnMJCQkJCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKgorICogeG1sQ29weU5hbWVzcGFjZToKKyAqIEBjdXI6ICB0aGUgbmFtZXNwYWNlCisgKgorICogRG8gYSBjb3B5IG9mIHRoZSBuYW1lc3BhY2UuCisgKgorICogUmV0dXJuczogYSBuZXcgI3htbE5zUHRyLCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK3htbE5zUHRyCit4bWxDb3B5TmFtZXNwYWNlKHhtbE5zUHRyIGN1cikgeworICAgIHhtbE5zUHRyIHJldDsKKworICAgIGlmIChjdXIgPT0gTlVMTCkgcmV0dXJuKE5VTEwpOworICAgIHN3aXRjaCAoY3VyLT50eXBlKSB7CisJY2FzZSBYTUxfTE9DQUxfTkFNRVNQQUNFOgorCSAgICByZXQgPSB4bWxOZXdOcyhOVUxMLCBjdXItPmhyZWYsIGN1ci0+cHJlZml4KTsKKwkgICAgYnJlYWs7CisJZGVmYXVsdDoKKyNpZmRlZiBERUJVR19UUkVFCisJICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkgICAgInhtbENvcHlOYW1lc3BhY2U6IGludmFsaWQgdHlwZSAlZFxuIiwgY3VyLT50eXBlKTsKKyNlbmRpZgorCSAgICByZXR1cm4oTlVMTCk7CisgICAgfQorICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbENvcHlOYW1lc3BhY2VMaXN0OgorICogQGN1cjogIHRoZSBmaXJzdCBuYW1lc3BhY2UKKyAqCisgKiBEbyBhIGNvcHkgb2YgYW4gbmFtZXNwYWNlIGxpc3QuCisgKgorICogUmV0dXJuczogYSBuZXcgI3htbE5zUHRyLCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK3htbE5zUHRyCit4bWxDb3B5TmFtZXNwYWNlTGlzdCh4bWxOc1B0ciBjdXIpIHsKKyAgICB4bWxOc1B0ciByZXQgPSBOVUxMOworICAgIHhtbE5zUHRyIHAgPSBOVUxMLHE7CisKKyAgICB3aGlsZSAoY3VyICE9IE5VTEwpIHsKKyAgICAgICAgcSA9IHhtbENvcHlOYW1lc3BhY2UoY3VyKTsKKwlpZiAocCA9PSBOVUxMKSB7CisJICAgIHJldCA9IHAgPSBxOworCX0gZWxzZSB7CisJICAgIHAtPm5leHQgPSBxOworCSAgICBwID0gcTsKKwl9CisJY3VyID0gY3VyLT5uZXh0OworICAgIH0KKyAgICByZXR1cm4ocmV0KTsKK30KKworc3RhdGljIHhtbE5vZGVQdHIKK3htbFN0YXRpY0NvcHlOb2RlTGlzdCh4bWxOb2RlUHRyIG5vZGUsIHhtbERvY1B0ciBkb2MsIHhtbE5vZGVQdHIgcGFyZW50KTsKKworc3RhdGljIHhtbEF0dHJQdHIKK3htbENvcHlQcm9wSW50ZXJuYWwoeG1sRG9jUHRyIGRvYywgeG1sTm9kZVB0ciB0YXJnZXQsIHhtbEF0dHJQdHIgY3VyKSB7CisgICAgeG1sQXR0clB0ciByZXQ7CisKKyAgICBpZiAoY3VyID09IE5VTEwpIHJldHVybihOVUxMKTsKKyAgICBpZiAoKHRhcmdldCAhPSBOVUxMKSAmJiAodGFyZ2V0LT50eXBlICE9IFhNTF9FTEVNRU5UX05PREUpKQorICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgaWYgKHRhcmdldCAhPSBOVUxMKQorCXJldCA9IHhtbE5ld0RvY1Byb3AodGFyZ2V0LT5kb2MsIGN1ci0+bmFtZSwgTlVMTCk7CisgICAgZWxzZSBpZiAoZG9jICE9IE5VTEwpCisJcmV0ID0geG1sTmV3RG9jUHJvcChkb2MsIGN1ci0+bmFtZSwgTlVMTCk7CisgICAgZWxzZSBpZiAoY3VyLT5wYXJlbnQgIT0gTlVMTCkKKwlyZXQgPSB4bWxOZXdEb2NQcm9wKGN1ci0+cGFyZW50LT5kb2MsIGN1ci0+bmFtZSwgTlVMTCk7CisgICAgZWxzZSBpZiAoY3VyLT5jaGlsZHJlbiAhPSBOVUxMKQorCXJldCA9IHhtbE5ld0RvY1Byb3AoY3VyLT5jaGlsZHJlbi0+ZG9jLCBjdXItPm5hbWUsIE5VTEwpOworICAgIGVsc2UKKwlyZXQgPSB4bWxOZXdEb2NQcm9wKE5VTEwsIGN1ci0+bmFtZSwgTlVMTCk7CisgICAgaWYgKHJldCA9PSBOVUxMKSByZXR1cm4oTlVMTCk7CisgICAgcmV0LT5wYXJlbnQgPSB0YXJnZXQ7CisKKyAgICBpZiAoKGN1ci0+bnMgIT0gTlVMTCkgJiYgKHRhcmdldCAhPSBOVUxMKSkgeworICAgICAgeG1sTnNQdHIgbnM7CisKKyAgICAgIG5zID0geG1sU2VhcmNoTnModGFyZ2V0LT5kb2MsIHRhcmdldCwgY3VyLT5ucy0+cHJlZml4KTsKKyAgICAgIGlmIChucyA9PSBOVUxMKSB7CisgICAgICAgIC8qCisgICAgICAgICAqIEh1bW0sIHdlIGFyZSBjb3B5aW5nIGFuIGVsZW1lbnQgd2hvc2UgbmFtZXNwYWNlIGlzIGRlZmluZWQKKyAgICAgICAgICogb3V0IG9mIHRoZSBuZXcgdHJlZSBzY29wZS4gU2VhcmNoIGl0IGluIHRoZSBvcmlnaW5hbCB0cmVlCisgICAgICAgICAqIGFuZCBhZGQgaXQgYXQgdGhlIHRvcCBvZiB0aGUgbmV3IHRyZWUKKyAgICAgICAgICovCisgICAgICAgIG5zID0geG1sU2VhcmNoTnMoY3VyLT5kb2MsIGN1ci0+cGFyZW50LCBjdXItPm5zLT5wcmVmaXgpOworICAgICAgICBpZiAobnMgIT0gTlVMTCkgeworICAgICAgICAgIHhtbE5vZGVQdHIgcm9vdCA9IHRhcmdldDsKKyAgICAgICAgICB4bWxOb2RlUHRyIHByZWQgPSBOVUxMOworCisgICAgICAgICAgd2hpbGUgKHJvb3QtPnBhcmVudCAhPSBOVUxMKSB7CisgICAgICAgICAgICBwcmVkID0gcm9vdDsKKyAgICAgICAgICAgIHJvb3QgPSByb290LT5wYXJlbnQ7CisgICAgICAgICAgfQorICAgICAgICAgIGlmIChyb290ID09ICh4bWxOb2RlUHRyKSB0YXJnZXQtPmRvYykgeworICAgICAgICAgICAgLyogY29ycmVjdCBwb3NzaWJseSBjeWNsaW5nIGFib3ZlIHRoZSBkb2N1bWVudCBlbHQgKi8KKyAgICAgICAgICAgIHJvb3QgPSBwcmVkOworICAgICAgICAgIH0KKyAgICAgICAgICByZXQtPm5zID0geG1sTmV3TnMocm9vdCwgbnMtPmhyZWYsIG5zLT5wcmVmaXgpOworICAgICAgICB9CisgICAgICB9IGVsc2UgeworICAgICAgICAvKgorICAgICAgICAgKiB3ZSBoYXZlIHRvIGZpbmQgc29tZXRoaW5nIGFwcHJvcHJpYXRlIGhlcmUgc2luY2UKKyAgICAgICAgICogd2UgY2FudCBiZSBzdXJlLCB0aGF0IHRoZSBuYW1lc3BjZSB3ZSBmb3VuZCBpcyBpZGVudGlmaWVkCisgICAgICAgICAqIGJ5IHRoZSBwcmVmaXgKKyAgICAgICAgICovCisgICAgICAgIGlmICh4bWxTdHJFcXVhbChucy0+aHJlZiwgY3VyLT5ucy0+aHJlZikpIHsKKyAgICAgICAgICAvKiB0aGlzIGlzIHRoZSBuaWNlIGNhc2UgKi8KKyAgICAgICAgICByZXQtPm5zID0gbnM7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgLyoKKyAgICAgICAgICAgKiB3ZSBhcmUgaW4gdHJvdWJsZTogd2UgbmVlZCBhIG5ldyByZWNvbmNpbGllZCBuYW1lc3BhY2UuCisgICAgICAgICAgICogVGhpcyBpcyBleHBlbnNpdmUKKyAgICAgICAgICAgKi8KKyAgICAgICAgICByZXQtPm5zID0geG1sTmV3UmVjb25jaWxpZWROcyh0YXJnZXQtPmRvYywgdGFyZ2V0LCBjdXItPm5zKTsKKyAgICAgICAgfQorICAgICAgfQorCisgICAgfSBlbHNlCisgICAgICAgIHJldC0+bnMgPSBOVUxMOworCisgICAgaWYgKGN1ci0+Y2hpbGRyZW4gIT0gTlVMTCkgeworCXhtbE5vZGVQdHIgdG1wOworCisJcmV0LT5jaGlsZHJlbiA9IHhtbFN0YXRpY0NvcHlOb2RlTGlzdChjdXItPmNoaWxkcmVuLCByZXQtPmRvYywgKHhtbE5vZGVQdHIpIHJldCk7CisJcmV0LT5sYXN0ID0gTlVMTDsKKwl0bXAgPSByZXQtPmNoaWxkcmVuOworCXdoaWxlICh0bXAgIT0gTlVMTCkgeworCSAgICAvKiB0bXAtPnBhcmVudCA9ICh4bWxOb2RlUHRyKXJldDsgKi8KKwkgICAgaWYgKHRtcC0+bmV4dCA9PSBOVUxMKQorCSAgICAgICAgcmV0LT5sYXN0ID0gdG1wOworCSAgICB0bXAgPSB0bXAtPm5leHQ7CisJfQorICAgIH0KKyAgICAvKgorICAgICAqIFRyeSB0byBoYW5kbGUgSURzCisgICAgICovCisgICAgaWYgKCh0YXJnZXQhPSBOVUxMKSAmJiAoY3VyIT0gTlVMTCkgJiYKKwkodGFyZ2V0LT5kb2MgIT0gTlVMTCkgJiYgKGN1ci0+ZG9jICE9IE5VTEwpICYmCisJKGN1ci0+ZG9jLT5pZHMgIT0gTlVMTCkgJiYgKGN1ci0+cGFyZW50ICE9IE5VTEwpKSB7CisJaWYgKHhtbElzSUQoY3VyLT5kb2MsIGN1ci0+cGFyZW50LCBjdXIpKSB7CisJICAgIHhtbENoYXIgKmlkOworCisJICAgIGlkID0geG1sTm9kZUxpc3RHZXRTdHJpbmcoY3VyLT5kb2MsIGN1ci0+Y2hpbGRyZW4sIDEpOworCSAgICBpZiAoaWQgIT0gTlVMTCkgeworCQl4bWxBZGRJRChOVUxMLCB0YXJnZXQtPmRvYywgaWQsIHJldCk7CisJCXhtbEZyZWUoaWQpOworCSAgICB9CisJfQorICAgIH0KKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxDb3B5UHJvcDoKKyAqIEB0YXJnZXQ6ICB0aGUgZWxlbWVudCB3aGVyZSB0aGUgYXR0cmlidXRlIHdpbGwgYmUgZ3JhZnRlZAorICogQGN1cjogIHRoZSBhdHRyaWJ1dGUKKyAqCisgKiBEbyBhIGNvcHkgb2YgdGhlIGF0dHJpYnV0ZS4KKyAqCisgKiBSZXR1cm5zOiBhIG5ldyAjeG1sQXR0clB0ciwgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLgorICovCit4bWxBdHRyUHRyCit4bWxDb3B5UHJvcCh4bWxOb2RlUHRyIHRhcmdldCwgeG1sQXR0clB0ciBjdXIpIHsKKwlyZXR1cm4geG1sQ29weVByb3BJbnRlcm5hbChOVUxMLCB0YXJnZXQsIGN1cik7Cit9CisKKy8qKgorICogeG1sQ29weVByb3BMaXN0OgorICogQHRhcmdldDogIHRoZSBlbGVtZW50IHdoZXJlIHRoZSBhdHRyaWJ1dGVzIHdpbGwgYmUgZ3JhZnRlZAorICogQGN1cjogIHRoZSBmaXJzdCBhdHRyaWJ1dGUKKyAqCisgKiBEbyBhIGNvcHkgb2YgYW4gYXR0cmlidXRlIGxpc3QuCisgKgorICogUmV0dXJuczogYSBuZXcgI3htbEF0dHJQdHIsIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworeG1sQXR0clB0cgoreG1sQ29weVByb3BMaXN0KHhtbE5vZGVQdHIgdGFyZ2V0LCB4bWxBdHRyUHRyIGN1cikgeworICAgIHhtbEF0dHJQdHIgcmV0ID0gTlVMTDsKKyAgICB4bWxBdHRyUHRyIHAgPSBOVUxMLHE7CisKKyAgICBpZiAoKHRhcmdldCAhPSBOVUxMKSAmJiAodGFyZ2V0LT50eXBlICE9IFhNTF9FTEVNRU5UX05PREUpKQorICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgd2hpbGUgKGN1ciAhPSBOVUxMKSB7CisgICAgICAgIHEgPSB4bWxDb3B5UHJvcCh0YXJnZXQsIGN1cik7CisJaWYgKHEgPT0gTlVMTCkKKwkgICAgcmV0dXJuKE5VTEwpOworCWlmIChwID09IE5VTEwpIHsKKwkgICAgcmV0ID0gcCA9IHE7CisJfSBlbHNlIHsKKwkgICAgcC0+bmV4dCA9IHE7CisJICAgIHEtPnByZXYgPSBwOworCSAgICBwID0gcTsKKwl9CisJY3VyID0gY3VyLT5uZXh0OworICAgIH0KKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoKKyAqIE5PVEUgYWJvdXQgdGhlIENvcHlOb2RlIG9wZXJhdGlvbnMgIQorICoKKyAqIFRoZXkgYXJlIHNwbGl0IGludG8gZXh0ZXJuYWwgYW5kIGludGVybmFsIHBhcnRzIGZvciBvbmUKKyAqIHRyaWNreSByZWFzb246IG5hbWVzcGFjZXMuIERvaW5nIGEgZGlyZWN0IGNvcHkgb2YgYSBub2RlCisgKiBzYXkgUlBNOkNvcHlyaWdodCB3aXRob3V0IGNoYW5naW5nIHRoZSBuYW1lc3BhY2UgcG9pbnRlciB0bworICogc29tZXRoaW5nIGVsc2UgY2FuIHByb2R1Y2Ugc3RhbGUgbGlua3MuIE9uZSB3YXkgdG8gZG8gaXQgaXMKKyAqIHRvIGtlZXAgYSByZWZlcmVuY2UgY291bnRlciBidXQgdGhpcyBkb2Vzbid0IHdvcmsgYXMgc29vbgorICogYXMgb25lIG1vdmUgdGhlIGVsZW1lbnQgb3IgdGhlIHN1YnRyZWUgb3V0IG9mIHRoZSBzY29wZSBvZgorICogdGhlIGV4aXN0aW5nIG5hbWVzcGFjZS4gVGhlIGFjdHVhbCBzb2x1dGlvbiBzZWVtcyB0byBhZGQKKyAqIGEgY29weSBvZiB0aGUgbmFtZXNwYWNlIGF0IHRoZSB0b3Agb2YgdGhlIGNvcGllZCB0cmVlIGlmCisgKiBub3QgYXZhaWxhYmxlIGluIHRoZSBzdWJ0cmVlLgorICogSGVuY2UgdHdvIGZ1bmN0aW9ucywgdGhlIHB1YmxpYyBmcm9udC1lbmQgY2FsbCB0aGUgaW5uZXIgb25lcworICogVGhlIGFyZ3VtZW50ICJyZWN1cnNpdmUiIG5vcm1hbGx5IGluZGljYXRlcyBhIHJlY3Vyc2l2ZSBjb3B5CisgKiBvZiB0aGUgbm9kZSB3aXRoIHZhbHVlcyAwIChubykgYW5kIDEgKHllcykuICBGb3IgWEluY2x1ZGUsCisgKiBob3dldmVyLCB3ZSBhbGxvdyBhIHZhbHVlIG9mIDIgdG8gaW5kaWNhdGUgY29weSBwcm9wZXJ0aWVzIGFuZAorICogbmFtZXNwYWNlIGluZm8sIGJ1dCBkb24ndCByZWN1cnNlIG9uIGNoaWxkcmVuLgorICovCisKK3N0YXRpYyB4bWxOb2RlUHRyCit4bWxTdGF0aWNDb3B5Tm9kZSh4bWxOb2RlUHRyIG5vZGUsIHhtbERvY1B0ciBkb2MsIHhtbE5vZGVQdHIgcGFyZW50LAorICAgICAgICAgICAgICAgICAgaW50IGV4dGVuZGVkKSB7CisgICAgeG1sTm9kZVB0ciByZXQ7CisKKyAgICBpZiAobm9kZSA9PSBOVUxMKSByZXR1cm4oTlVMTCk7CisgICAgc3dpdGNoIChub2RlLT50eXBlKSB7CisgICAgICAgIGNhc2UgWE1MX1RFWFRfTk9ERToKKyAgICAgICAgY2FzZSBYTUxfQ0RBVEFfU0VDVElPTl9OT0RFOgorICAgICAgICBjYXNlIFhNTF9FTEVNRU5UX05PREU6CisgICAgICAgIGNhc2UgWE1MX0RPQ1VNRU5UX0ZSQUdfTk9ERToKKyAgICAgICAgY2FzZSBYTUxfRU5USVRZX1JFRl9OT0RFOgorICAgICAgICBjYXNlIFhNTF9FTlRJVFlfTk9ERToKKyAgICAgICAgY2FzZSBYTUxfUElfTk9ERToKKyAgICAgICAgY2FzZSBYTUxfQ09NTUVOVF9OT0RFOgorICAgICAgICBjYXNlIFhNTF9YSU5DTFVERV9TVEFSVDoKKyAgICAgICAgY2FzZSBYTUxfWElOQ0xVREVfRU5EOgorCSAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfQVRUUklCVVRFX05PREU6CisJCXJldHVybigoeG1sTm9kZVB0cikgeG1sQ29weVByb3BJbnRlcm5hbChkb2MsIHBhcmVudCwgKHhtbEF0dHJQdHIpIG5vZGUpKTsKKyAgICAgICAgY2FzZSBYTUxfTkFNRVNQQUNFX0RFQ0w6CisJICAgIHJldHVybigoeG1sTm9kZVB0cikgeG1sQ29weU5hbWVzcGFjZUxpc3QoKHhtbE5zUHRyKSBub2RlKSk7CisKKyAgICAgICAgY2FzZSBYTUxfRE9DVU1FTlRfTk9ERToKKyAgICAgICAgY2FzZSBYTUxfSFRNTF9ET0NVTUVOVF9OT0RFOgorI2lmZGVmIExJQlhNTF9ET0NCX0VOQUJMRUQKKyAgICAgICAgY2FzZSBYTUxfRE9DQl9ET0NVTUVOVF9OT0RFOgorI2VuZGlmCisjaWZkZWYgTElCWE1MX1RSRUVfRU5BQkxFRAorCSAgICByZXR1cm4oKHhtbE5vZGVQdHIpIHhtbENvcHlEb2MoKHhtbERvY1B0cikgbm9kZSwgZXh0ZW5kZWQpKTsKKyNlbmRpZiAvKiBMSUJYTUxfVFJFRV9FTkFCTEVEICovCisgICAgICAgIGNhc2UgWE1MX0RPQ1VNRU5UX1RZUEVfTk9ERToKKyAgICAgICAgY2FzZSBYTUxfTk9UQVRJT05fTk9ERToKKyAgICAgICAgY2FzZSBYTUxfRFREX05PREU6CisgICAgICAgIGNhc2UgWE1MX0VMRU1FTlRfREVDTDoKKyAgICAgICAgY2FzZSBYTUxfQVRUUklCVVRFX0RFQ0w6CisgICAgICAgIGNhc2UgWE1MX0VOVElUWV9ERUNMOgorICAgICAgICAgICAgcmV0dXJuKE5VTEwpOworICAgIH0KKworICAgIC8qCisgICAgICogQWxsb2NhdGUgYSBuZXcgbm9kZSBhbmQgZmlsbCB0aGUgZmllbGRzLgorICAgICAqLworICAgIHJldCA9ICh4bWxOb2RlUHRyKSB4bWxNYWxsb2Moc2l6ZW9mKHhtbE5vZGUpKTsKKyAgICBpZiAocmV0ID09IE5VTEwpIHsKKwl4bWxUcmVlRXJyTWVtb3J5KCJjb3B5aW5nIG5vZGUiKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIG1lbXNldChyZXQsIDAsIHNpemVvZih4bWxOb2RlKSk7CisgICAgcmV0LT50eXBlID0gbm9kZS0+dHlwZTsKKworICAgIHJldC0+ZG9jID0gZG9jOworICAgIHJldC0+cGFyZW50ID0gcGFyZW50OworICAgIGlmIChub2RlLT5uYW1lID09IHhtbFN0cmluZ1RleHQpCisJcmV0LT5uYW1lID0geG1sU3RyaW5nVGV4dDsKKyAgICBlbHNlIGlmIChub2RlLT5uYW1lID09IHhtbFN0cmluZ1RleHROb2VuYykKKwlyZXQtPm5hbWUgPSB4bWxTdHJpbmdUZXh0Tm9lbmM7CisgICAgZWxzZSBpZiAobm9kZS0+bmFtZSA9PSB4bWxTdHJpbmdDb21tZW50KQorCXJldC0+bmFtZSA9IHhtbFN0cmluZ0NvbW1lbnQ7CisgICAgZWxzZSBpZiAobm9kZS0+bmFtZSAhPSBOVUxMKSB7CisgICAgICAgIGlmICgoZG9jICE9IE5VTEwpICYmIChkb2MtPmRpY3QgIT0gTlVMTCkpCisJICAgIHJldC0+bmFtZSA9IHhtbERpY3RMb29rdXAoZG9jLT5kaWN0LCBub2RlLT5uYW1lLCAtMSk7CisJZWxzZQorCSAgICByZXQtPm5hbWUgPSB4bWxTdHJkdXAobm9kZS0+bmFtZSk7CisgICAgfQorICAgIGlmICgobm9kZS0+dHlwZSAhPSBYTUxfRUxFTUVOVF9OT0RFKSAmJgorCShub2RlLT5jb250ZW50ICE9IE5VTEwpICYmCisJKG5vZGUtPnR5cGUgIT0gWE1MX0VOVElUWV9SRUZfTk9ERSkgJiYKKwkobm9kZS0+dHlwZSAhPSBYTUxfWElOQ0xVREVfRU5EKSAmJgorCShub2RlLT50eXBlICE9IFhNTF9YSU5DTFVERV9TVEFSVCkpIHsKKwlyZXQtPmNvbnRlbnQgPSB4bWxTdHJkdXAobm9kZS0+Y29udGVudCk7CisgICAgfWVsc2V7CisgICAgICBpZiAobm9kZS0+dHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFKQorICAgICAgICByZXQtPmxpbmUgPSBub2RlLT5saW5lOworICAgIH0KKyAgICBpZiAocGFyZW50ICE9IE5VTEwpIHsKKwl4bWxOb2RlUHRyIHRtcDsKKworCS8qCisJICogdGhpcyBpcyBhIHRyaWNreSBwYXJ0IGZvciB0aGUgbm9kZSByZWdpc3RlciB0aGluZzoKKwkgKiBpbiBjYXNlIHJldCBkb2VzIGdldCBjb2FsZXNjZWQgaW4geG1sQWRkQ2hpbGQKKwkgKiB0aGUgZGVyZWdpc3Rlci1ub2RlIGNhbGxiYWNrIGlzIGNhbGxlZDsgc28gd2UgcmVnaXN0ZXIgcmV0IG5vdyBhbHJlYWR5CisJICovCisJaWYgKChfX3htbFJlZ2lzdGVyQ2FsbGJhY2tzKSAmJiAoeG1sUmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlKSkKKwkgICAgeG1sUmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlKCh4bWxOb2RlUHRyKXJldCk7CisKKyAgICAgICAgdG1wID0geG1sQWRkQ2hpbGQocGFyZW50LCByZXQpOworCS8qIG5vZGUgY291bGQgaGF2ZSBjb2FsZXNjZWQgKi8KKwlpZiAodG1wICE9IHJldCkKKwkgICAgcmV0dXJuKHRtcCk7CisgICAgfQorCisgICAgaWYgKCFleHRlbmRlZCkKKwlnb3RvIG91dDsKKyAgICBpZiAoKChub2RlLT50eXBlID09IFhNTF9FTEVNRU5UX05PREUpIHx8CisgICAgICAgICAobm9kZS0+dHlwZSA9PSBYTUxfWElOQ0xVREVfU1RBUlQpKSAmJiAobm9kZS0+bnNEZWYgIT0gTlVMTCkpCisgICAgICAgIHJldC0+bnNEZWYgPSB4bWxDb3B5TmFtZXNwYWNlTGlzdChub2RlLT5uc0RlZik7CisKKyAgICBpZiAobm9kZS0+bnMgIT0gTlVMTCkgeworICAgICAgICB4bWxOc1B0ciBuczsKKworCW5zID0geG1sU2VhcmNoTnMoZG9jLCByZXQsIG5vZGUtPm5zLT5wcmVmaXgpOworCWlmIChucyA9PSBOVUxMKSB7CisJICAgIC8qCisJICAgICAqIEh1bW0sIHdlIGFyZSBjb3B5aW5nIGFuIGVsZW1lbnQgd2hvc2UgbmFtZXNwYWNlIGlzIGRlZmluZWQKKwkgICAgICogb3V0IG9mIHRoZSBuZXcgdHJlZSBzY29wZS4gU2VhcmNoIGl0IGluIHRoZSBvcmlnaW5hbCB0cmVlCisJICAgICAqIGFuZCBhZGQgaXQgYXQgdGhlIHRvcCBvZiB0aGUgbmV3IHRyZWUKKwkgICAgICovCisJICAgIG5zID0geG1sU2VhcmNoTnMobm9kZS0+ZG9jLCBub2RlLCBub2RlLT5ucy0+cHJlZml4KTsKKwkgICAgaWYgKG5zICE9IE5VTEwpIHsKKwkgICAgICAgIHhtbE5vZGVQdHIgcm9vdCA9IHJldDsKKworCQl3aGlsZSAocm9vdC0+cGFyZW50ICE9IE5VTEwpIHJvb3QgPSByb290LT5wYXJlbnQ7CisJCXJldC0+bnMgPSB4bWxOZXdOcyhyb290LCBucy0+aHJlZiwgbnMtPnByZWZpeCk7CisJCX0gZWxzZSB7CisJCQlyZXQtPm5zID0geG1sTmV3UmVjb25jaWxpZWROcyhkb2MsIHJldCwgbm9kZS0+bnMpOworCSAgICB9CisJfSBlbHNlIHsKKwkgICAgLyoKKwkgICAgICogcmVmZXJlbmNlIHRoZSBleGlzdGluZyBuYW1lc3BhY2UgZGVmaW5pdGlvbiBpbiBvdXIgb3duIHRyZWUuCisJICAgICAqLworCSAgICByZXQtPm5zID0gbnM7CisJfQorICAgIH0KKyAgICBpZiAoKChub2RlLT50eXBlID09IFhNTF9FTEVNRU5UX05PREUpIHx8CisgICAgICAgICAobm9kZS0+dHlwZSA9PSBYTUxfWElOQ0xVREVfU1RBUlQpKSAmJiAobm9kZS0+cHJvcGVydGllcyAhPSBOVUxMKSkKKyAgICAgICAgcmV0LT5wcm9wZXJ0aWVzID0geG1sQ29weVByb3BMaXN0KHJldCwgbm9kZS0+cHJvcGVydGllcyk7CisgICAgaWYgKG5vZGUtPnR5cGUgPT0gWE1MX0VOVElUWV9SRUZfTk9ERSkgeworCWlmICgoZG9jID09IE5VTEwpIHx8IChub2RlLT5kb2MgIT0gZG9jKSkgeworCSAgICAvKgorCSAgICAgKiBUaGUgY29waWVkIG5vZGUgd2lsbCBnbyBpbnRvIGEgc2VwYXJhdGUgZG9jdW1lbnQsIHNvCisJICAgICAqIHRvIGF2b2lkIGRhbmdsaW5nIHJlZmVyZW5jZXMgdG8gdGhlIEVOVElUWV9ERUNMIG5vZGUKKwkgICAgICogd2UgY2Fubm90IGtlZXAgdGhlIHJlZmVyZW5jZS4gVHJ5IHRvIGZpbmQgaXQgaW4gdGhlCisJICAgICAqIHRhcmdldCBkb2N1bWVudC4KKwkgICAgICovCisJICAgIHJldC0+Y2hpbGRyZW4gPSAoeG1sTm9kZVB0cikgeG1sR2V0RG9jRW50aXR5KGRvYywgcmV0LT5uYW1lKTsKKwl9IGVsc2UgeworICAgICAgICAgICAgcmV0LT5jaGlsZHJlbiA9IG5vZGUtPmNoaWxkcmVuOworCX0KKwlyZXQtPmxhc3QgPSByZXQtPmNoaWxkcmVuOworICAgIH0gZWxzZSBpZiAoKG5vZGUtPmNoaWxkcmVuICE9IE5VTEwpICYmIChleHRlbmRlZCAhPSAyKSkgeworICAgICAgICByZXQtPmNoaWxkcmVuID0geG1sU3RhdGljQ29weU5vZGVMaXN0KG5vZGUtPmNoaWxkcmVuLCBkb2MsIHJldCk7CisJVVBEQVRFX0xBU1RfQ0hJTERfQU5EX1BBUkVOVChyZXQpCisgICAgfQorCitvdXQ6CisgICAgLyogaWYgcGFyZW50ICE9IE5VTEwgd2UgYWxyZWFkeSByZWdpc3RlcmVkIHRoZSBub2RlIGFib3ZlICovCisgICAgaWYgKChwYXJlbnQgPT0gTlVMTCkgJiYKKyAgICAgICAgKChfX3htbFJlZ2lzdGVyQ2FsbGJhY2tzKSAmJiAoeG1sUmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlKSkpCisJeG1sUmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlKCh4bWxOb2RlUHRyKXJldCk7CisgICAgcmV0dXJuKHJldCk7Cit9CisKK3N0YXRpYyB4bWxOb2RlUHRyCit4bWxTdGF0aWNDb3B5Tm9kZUxpc3QoeG1sTm9kZVB0ciBub2RlLCB4bWxEb2NQdHIgZG9jLCB4bWxOb2RlUHRyIHBhcmVudCkgeworICAgIHhtbE5vZGVQdHIgcmV0ID0gTlVMTDsKKyAgICB4bWxOb2RlUHRyIHAgPSBOVUxMLHE7CisKKyAgICB3aGlsZSAobm9kZSAhPSBOVUxMKSB7CisjaWZkZWYgTElCWE1MX1RSRUVfRU5BQkxFRAorCWlmIChub2RlLT50eXBlID09IFhNTF9EVERfTk9ERSApIHsKKwkgICAgaWYgKGRvYyA9PSBOVUxMKSB7CisJCW5vZGUgPSBub2RlLT5uZXh0OworCQljb250aW51ZTsKKwkgICAgfQorCSAgICBpZiAoZG9jLT5pbnRTdWJzZXQgPT0gTlVMTCkgeworCQlxID0gKHhtbE5vZGVQdHIpIHhtbENvcHlEdGQoICh4bWxEdGRQdHIpIG5vZGUgKTsKKwkJaWYgKHEgPT0gTlVMTCkgcmV0dXJuKE5VTEwpOworCQlxLT5kb2MgPSBkb2M7CisJCXEtPnBhcmVudCA9IHBhcmVudDsKKwkJZG9jLT5pbnRTdWJzZXQgPSAoeG1sRHRkUHRyKSBxOworCQl4bWxBZGRDaGlsZChwYXJlbnQsIHEpOworCSAgICB9IGVsc2UgeworCQlxID0gKHhtbE5vZGVQdHIpIGRvYy0+aW50U3Vic2V0OworCQl4bWxBZGRDaGlsZChwYXJlbnQsIHEpOworCSAgICB9CisJfSBlbHNlCisjZW5kaWYgLyogTElCWE1MX1RSRUVfRU5BQkxFRCAqLworCSAgICBxID0geG1sU3RhdGljQ29weU5vZGUobm9kZSwgZG9jLCBwYXJlbnQsIDEpOworCWlmIChxID09IE5VTEwpIHJldHVybihOVUxMKTsKKwlpZiAocmV0ID09IE5VTEwpIHsKKwkgICAgcS0+cHJldiA9IE5VTEw7CisJICAgIHJldCA9IHAgPSBxOworCX0gZWxzZSBpZiAocCAhPSBxKSB7CisJLyogdGhlIHRlc3QgaXMgcmVxdWlyZWQgaWYgeG1sU3RhdGljQ29weU5vZGUgY29hbGVzY2VkIDIgdGV4dCBub2RlcyAqLworCSAgICBwLT5uZXh0ID0gcTsKKwkgICAgcS0+cHJldiA9IHA7CisJICAgIHAgPSBxOworCX0KKwlub2RlID0gbm9kZS0+bmV4dDsKKyAgICB9CisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogeG1sQ29weU5vZGU6CisgKiBAbm9kZTogIHRoZSBub2RlCisgKiBAZXh0ZW5kZWQ6ICAgaWYgMSBkbyBhIHJlY3Vyc2l2ZSBjb3B5IChwcm9wZXJ0aWVzLCBuYW1lc3BhY2VzIGFuZCBjaGlsZHJlbgorICoJCQl3aGVuIGFwcGxpY2FibGUpCisgKgkJaWYgMiBjb3B5IHByb3BlcnRpZXMgYW5kIG5hbWVzcGFjZXMgKHdoZW4gYXBwbGljYWJsZSkKKyAqCisgKiBEbyBhIGNvcHkgb2YgdGhlIG5vZGUuCisgKgorICogUmV0dXJuczogYSBuZXcgI3htbE5vZGVQdHIsIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworeG1sTm9kZVB0cgoreG1sQ29weU5vZGUoeG1sTm9kZVB0ciBub2RlLCBpbnQgZXh0ZW5kZWQpIHsKKyAgICB4bWxOb2RlUHRyIHJldDsKKworICAgIHJldCA9IHhtbFN0YXRpY0NvcHlOb2RlKG5vZGUsIE5VTEwsIE5VTEwsIGV4dGVuZGVkKTsKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxEb2NDb3B5Tm9kZToKKyAqIEBub2RlOiAgdGhlIG5vZGUKKyAqIEBkb2M6ICB0aGUgZG9jdW1lbnQKKyAqIEBleHRlbmRlZDogICBpZiAxIGRvIGEgcmVjdXJzaXZlIGNvcHkgKHByb3BlcnRpZXMsIG5hbWVzcGFjZXMgYW5kIGNoaWxkcmVuCisgKgkJCXdoZW4gYXBwbGljYWJsZSkKKyAqCQlpZiAyIGNvcHkgcHJvcGVydGllcyBhbmQgbmFtZXNwYWNlcyAod2hlbiBhcHBsaWNhYmxlKQorICoKKyAqIERvIGEgY29weSBvZiB0aGUgbm9kZSB0byBhIGdpdmVuIGRvY3VtZW50LgorICoKKyAqIFJldHVybnM6IGEgbmV3ICN4bWxOb2RlUHRyLCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK3htbE5vZGVQdHIKK3htbERvY0NvcHlOb2RlKHhtbE5vZGVQdHIgbm9kZSwgeG1sRG9jUHRyIGRvYywgaW50IGV4dGVuZGVkKSB7CisgICAgeG1sTm9kZVB0ciByZXQ7CisKKyAgICByZXQgPSB4bWxTdGF0aWNDb3B5Tm9kZShub2RlLCBkb2MsIE5VTEwsIGV4dGVuZGVkKTsKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxEb2NDb3B5Tm9kZUxpc3Q6CisgKiBAZG9jOiB0aGUgdGFyZ2V0IGRvY3VtZW50CisgKiBAbm9kZTogIHRoZSBmaXJzdCBub2RlIGluIHRoZSBsaXN0LgorICoKKyAqIERvIGEgcmVjdXJzaXZlIGNvcHkgb2YgdGhlIG5vZGUgbGlzdC4KKyAqCisgKiBSZXR1cm5zOiBhIG5ldyAjeG1sTm9kZVB0ciwgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLgorICovCit4bWxOb2RlUHRyIHhtbERvY0NvcHlOb2RlTGlzdCh4bWxEb2NQdHIgZG9jLCB4bWxOb2RlUHRyIG5vZGUpIHsKKyAgICB4bWxOb2RlUHRyIHJldCA9IHhtbFN0YXRpY0NvcHlOb2RlTGlzdChub2RlLCBkb2MsIE5VTEwpOworICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbENvcHlOb2RlTGlzdDoKKyAqIEBub2RlOiAgdGhlIGZpcnN0IG5vZGUgaW4gdGhlIGxpc3QuCisgKgorICogRG8gYSByZWN1cnNpdmUgY29weSBvZiB0aGUgbm9kZSBsaXN0LgorICogVXNlIHhtbERvY0NvcHlOb2RlTGlzdCgpIGlmIHBvc3NpYmxlIHRvIGVuc3VyZSBzdHJpbmcgaW50ZXJuaW5nLgorICoKKyAqIFJldHVybnM6IGEgbmV3ICN4bWxOb2RlUHRyLCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK3htbE5vZGVQdHIgeG1sQ29weU5vZGVMaXN0KHhtbE5vZGVQdHIgbm9kZSkgeworICAgIHhtbE5vZGVQdHIgcmV0ID0geG1sU3RhdGljQ29weU5vZGVMaXN0KG5vZGUsIE5VTEwsIE5VTEwpOworICAgIHJldHVybihyZXQpOworfQorCisjaWYgZGVmaW5lZChMSUJYTUxfVFJFRV9FTkFCTEVEKQorLyoqCisgKiB4bWxDb3B5RHRkOgorICogQGR0ZDogIHRoZSBkdGQKKyAqCisgKiBEbyBhIGNvcHkgb2YgdGhlIGR0ZC4KKyAqCisgKiBSZXR1cm5zOiBhIG5ldyAjeG1sRHRkUHRyLCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK3htbER0ZFB0cgoreG1sQ29weUR0ZCh4bWxEdGRQdHIgZHRkKSB7CisgICAgeG1sRHRkUHRyIHJldDsKKyAgICB4bWxOb2RlUHRyIGN1ciwgcCA9IE5VTEwsIHE7CisKKyAgICBpZiAoZHRkID09IE5VTEwpIHJldHVybihOVUxMKTsKKyAgICByZXQgPSB4bWxOZXdEdGQoTlVMTCwgZHRkLT5uYW1lLCBkdGQtPkV4dGVybmFsSUQsIGR0ZC0+U3lzdGVtSUQpOworICAgIGlmIChyZXQgPT0gTlVMTCkgcmV0dXJuKE5VTEwpOworICAgIGlmIChkdGQtPmVudGl0aWVzICE9IE5VTEwpCisgICAgICAgIHJldC0+ZW50aXRpZXMgPSAodm9pZCAqKSB4bWxDb3B5RW50aXRpZXNUYWJsZSgKKwkgICAgICAgICAgICAgICAgICAgICh4bWxFbnRpdGllc1RhYmxlUHRyKSBkdGQtPmVudGl0aWVzKTsKKyAgICBpZiAoZHRkLT5ub3RhdGlvbnMgIT0gTlVMTCkKKyAgICAgICAgcmV0LT5ub3RhdGlvbnMgPSAodm9pZCAqKSB4bWxDb3B5Tm90YXRpb25UYWJsZSgKKwkgICAgICAgICAgICAgICAgICAgICh4bWxOb3RhdGlvblRhYmxlUHRyKSBkdGQtPm5vdGF0aW9ucyk7CisgICAgaWYgKGR0ZC0+ZWxlbWVudHMgIT0gTlVMTCkKKyAgICAgICAgcmV0LT5lbGVtZW50cyA9ICh2b2lkICopIHhtbENvcHlFbGVtZW50VGFibGUoCisJICAgICAgICAgICAgICAgICAgICAoeG1sRWxlbWVudFRhYmxlUHRyKSBkdGQtPmVsZW1lbnRzKTsKKyAgICBpZiAoZHRkLT5hdHRyaWJ1dGVzICE9IE5VTEwpCisgICAgICAgIHJldC0+YXR0cmlidXRlcyA9ICh2b2lkICopIHhtbENvcHlBdHRyaWJ1dGVUYWJsZSgKKwkgICAgICAgICAgICAgICAgICAgICh4bWxBdHRyaWJ1dGVUYWJsZVB0cikgZHRkLT5hdHRyaWJ1dGVzKTsKKyAgICBpZiAoZHRkLT5wZW50aXRpZXMgIT0gTlVMTCkKKwlyZXQtPnBlbnRpdGllcyA9ICh2b2lkICopIHhtbENvcHlFbnRpdGllc1RhYmxlKAorCQkJICAgICh4bWxFbnRpdGllc1RhYmxlUHRyKSBkdGQtPnBlbnRpdGllcyk7CisKKyAgICBjdXIgPSBkdGQtPmNoaWxkcmVuOworICAgIHdoaWxlIChjdXIgIT0gTlVMTCkgeworCXEgPSBOVUxMOworCisJaWYgKGN1ci0+dHlwZSA9PSBYTUxfRU5USVRZX0RFQ0wpIHsKKwkgICAgeG1sRW50aXR5UHRyIHRtcCA9ICh4bWxFbnRpdHlQdHIpIGN1cjsKKwkgICAgc3dpdGNoICh0bXAtPmV0eXBlKSB7CisJCWNhc2UgWE1MX0lOVEVSTkFMX0dFTkVSQUxfRU5USVRZOgorCQljYXNlIFhNTF9FWFRFUk5BTF9HRU5FUkFMX1BBUlNFRF9FTlRJVFk6CisJCWNhc2UgWE1MX0VYVEVSTkFMX0dFTkVSQUxfVU5QQVJTRURfRU5USVRZOgorCQkgICAgcSA9ICh4bWxOb2RlUHRyKSB4bWxHZXRFbnRpdHlGcm9tRHRkKHJldCwgdG1wLT5uYW1lKTsKKwkJICAgIGJyZWFrOworCQljYXNlIFhNTF9JTlRFUk5BTF9QQVJBTUVURVJfRU5USVRZOgorCQljYXNlIFhNTF9FWFRFUk5BTF9QQVJBTUVURVJfRU5USVRZOgorCQkgICAgcSA9ICh4bWxOb2RlUHRyKQorCQkJeG1sR2V0UGFyYW1ldGVyRW50aXR5RnJvbUR0ZChyZXQsIHRtcC0+bmFtZSk7CisJCSAgICBicmVhazsKKwkJY2FzZSBYTUxfSU5URVJOQUxfUFJFREVGSU5FRF9FTlRJVFk6CisJCSAgICBicmVhazsKKwkgICAgfQorCX0gZWxzZSBpZiAoY3VyLT50eXBlID09IFhNTF9FTEVNRU5UX0RFQ0wpIHsKKwkgICAgeG1sRWxlbWVudFB0ciB0bXAgPSAoeG1sRWxlbWVudFB0cikgY3VyOworCSAgICBxID0gKHhtbE5vZGVQdHIpCisJCXhtbEdldER0ZFFFbGVtZW50RGVzYyhyZXQsIHRtcC0+bmFtZSwgdG1wLT5wcmVmaXgpOworCX0gZWxzZSBpZiAoY3VyLT50eXBlID09IFhNTF9BVFRSSUJVVEVfREVDTCkgeworCSAgICB4bWxBdHRyaWJ1dGVQdHIgdG1wID0gKHhtbEF0dHJpYnV0ZVB0cikgY3VyOworCSAgICBxID0gKHhtbE5vZGVQdHIpCisJCXhtbEdldER0ZFFBdHRyRGVzYyhyZXQsIHRtcC0+ZWxlbSwgdG1wLT5uYW1lLCB0bXAtPnByZWZpeCk7CisJfSBlbHNlIGlmIChjdXItPnR5cGUgPT0gWE1MX0NPTU1FTlRfTk9ERSkgeworCSAgICBxID0geG1sQ29weU5vZGUoY3VyLCAwKTsKKwl9CisKKwlpZiAocSA9PSBOVUxMKSB7CisJICAgIGN1ciA9IGN1ci0+bmV4dDsKKwkgICAgY29udGludWU7CisJfQorCisJaWYgKHAgPT0gTlVMTCkKKwkgICAgcmV0LT5jaGlsZHJlbiA9IHE7CisJZWxzZQorCSAgICBwLT5uZXh0ID0gcTsKKworCXEtPnByZXYgPSBwOworCXEtPnBhcmVudCA9ICh4bWxOb2RlUHRyKSByZXQ7CisJcS0+bmV4dCA9IE5VTEw7CisJcmV0LT5sYXN0ID0gcTsKKwlwID0gcTsKKwljdXIgPSBjdXItPm5leHQ7CisgICAgfQorCisgICAgcmV0dXJuKHJldCk7Cit9CisjZW5kaWYKKworI2lmIGRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQorLyoqCisgKiB4bWxDb3B5RG9jOgorICogQGRvYzogIHRoZSBkb2N1bWVudAorICogQHJlY3Vyc2l2ZTogIGlmIG5vdCB6ZXJvIGRvIGEgcmVjdXJzaXZlIGNvcHkuCisgKgorICogRG8gYSBjb3B5IG9mIHRoZSBkb2N1bWVudCBpbmZvLiBJZiByZWN1cnNpdmUsIHRoZSBjb250ZW50IHRyZWUgd2lsbAorICogYmUgY29waWVkIHRvbyBhcyB3ZWxsIGFzIERURCwgbmFtZXNwYWNlcyBhbmQgZW50aXRpZXMuCisgKgorICogUmV0dXJuczogYSBuZXcgI3htbERvY1B0ciwgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLgorICovCit4bWxEb2NQdHIKK3htbENvcHlEb2MoeG1sRG9jUHRyIGRvYywgaW50IHJlY3Vyc2l2ZSkgeworICAgIHhtbERvY1B0ciByZXQ7CisKKyAgICBpZiAoZG9jID09IE5VTEwpIHJldHVybihOVUxMKTsKKyAgICByZXQgPSB4bWxOZXdEb2MoZG9jLT52ZXJzaW9uKTsKKyAgICBpZiAocmV0ID09IE5VTEwpIHJldHVybihOVUxMKTsKKyAgICBpZiAoZG9jLT5uYW1lICE9IE5VTEwpCisgICAgICAgIHJldC0+bmFtZSA9IHhtbE1lbVN0cmR1cChkb2MtPm5hbWUpOworICAgIGlmIChkb2MtPmVuY29kaW5nICE9IE5VTEwpCisgICAgICAgIHJldC0+ZW5jb2RpbmcgPSB4bWxTdHJkdXAoZG9jLT5lbmNvZGluZyk7CisgICAgaWYgKGRvYy0+VVJMICE9IE5VTEwpCisgICAgICAgIHJldC0+VVJMID0geG1sU3RyZHVwKGRvYy0+VVJMKTsKKyAgICByZXQtPmNoYXJzZXQgPSBkb2MtPmNoYXJzZXQ7CisgICAgcmV0LT5jb21wcmVzc2lvbiA9IGRvYy0+Y29tcHJlc3Npb247CisgICAgcmV0LT5zdGFuZGFsb25lID0gZG9jLT5zdGFuZGFsb25lOworICAgIGlmICghcmVjdXJzaXZlKSByZXR1cm4ocmV0KTsKKworICAgIHJldC0+bGFzdCA9IE5VTEw7CisgICAgcmV0LT5jaGlsZHJlbiA9IE5VTEw7CisjaWZkZWYgTElCWE1MX1RSRUVfRU5BQkxFRAorICAgIGlmIChkb2MtPmludFN1YnNldCAhPSBOVUxMKSB7CisgICAgICAgIHJldC0+aW50U3Vic2V0ID0geG1sQ29weUR0ZChkb2MtPmludFN1YnNldCk7CisJaWYgKHJldC0+aW50U3Vic2V0ID09IE5VTEwpIHsKKwkgICAgeG1sRnJlZURvYyhyZXQpOworCSAgICByZXR1cm4oTlVMTCk7CisJfQorCXhtbFNldFRyZWVEb2MoKHhtbE5vZGVQdHIpcmV0LT5pbnRTdWJzZXQsIHJldCk7CisJcmV0LT5pbnRTdWJzZXQtPnBhcmVudCA9IHJldDsKKyAgICB9CisjZW5kaWYKKyAgICBpZiAoZG9jLT5vbGROcyAhPSBOVUxMKQorICAgICAgICByZXQtPm9sZE5zID0geG1sQ29weU5hbWVzcGFjZUxpc3QoZG9jLT5vbGROcyk7CisgICAgaWYgKGRvYy0+Y2hpbGRyZW4gIT0gTlVMTCkgeworCXhtbE5vZGVQdHIgdG1wOworCisJcmV0LT5jaGlsZHJlbiA9IHhtbFN0YXRpY0NvcHlOb2RlTGlzdChkb2MtPmNoaWxkcmVuLCByZXQsCisJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoeG1sTm9kZVB0cilyZXQpOworCXJldC0+bGFzdCA9IE5VTEw7CisJdG1wID0gcmV0LT5jaGlsZHJlbjsKKwl3aGlsZSAodG1wICE9IE5VTEwpIHsKKwkgICAgaWYgKHRtcC0+bmV4dCA9PSBOVUxMKQorCSAgICAgICAgcmV0LT5sYXN0ID0gdG1wOworCSAgICB0bXAgPSB0bXAtPm5leHQ7CisJfQorICAgIH0KKyAgICByZXR1cm4ocmV0KTsKK30KKyNlbmRpZiAvKiBMSUJYTUxfVFJFRV9FTkFCTEVEICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCUNvbnRlbnQgYWNjZXNzIGZ1bmN0aW9ucwkJCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKgorICogeG1sR2V0TGluZU5vSW50ZXJuYWw6CisgKiBAbm9kZTogdmFsaWQgbm9kZQorICogQGRlcHRoOiB1c2VkIHRvIGxpbWl0IGFueSByaXNrIG9mIHJlY3Vyc2lvbgorICoKKyAqIEdldCBsaW5lIG51bWJlciBvZiBAbm9kZS4KKyAqIFRyeSB0byBvdmVycmlkZSB0aGUgbGltaXRhdGlvbiBvZiBsaW5lcyBiZWluZyBzdG9yZSBpbiAxNiBiaXRzIGludHMKKyAqCisgKiBSZXR1cm5zIHRoZSBsaW5lIG51bWJlciBpZiBzdWNjZXNzZnVsLCAtMSBvdGhlcndpc2UKKyAqLworc3RhdGljIGxvbmcKK3htbEdldExpbmVOb0ludGVybmFsKGNvbnN0IHhtbE5vZGUgKm5vZGUsIGludCBkZXB0aCkKK3sKKyAgICBsb25nIHJlc3VsdCA9IC0xOworCisgICAgaWYgKGRlcHRoID49IDUpCisgICAgICAgIHJldHVybigtMSk7CisKKyAgICBpZiAoIW5vZGUpCisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgaWYgKChub2RlLT50eXBlID09IFhNTF9FTEVNRU5UX05PREUpIHx8CisgICAgICAgIChub2RlLT50eXBlID09IFhNTF9URVhUX05PREUpIHx8CisJKG5vZGUtPnR5cGUgPT0gWE1MX0NPTU1FTlRfTk9ERSkgfHwKKwkobm9kZS0+dHlwZSA9PSBYTUxfUElfTk9ERSkpIHsKKwlpZiAobm9kZS0+bGluZSA9PSA2NTUzNSkgeworCSAgICBpZiAoKG5vZGUtPnR5cGUgPT0gWE1MX1RFWFRfTk9ERSkgJiYgKG5vZGUtPnBzdmkgIT0gTlVMTCkpCisJICAgICAgICByZXN1bHQgPSAobG9uZykgbm9kZS0+cHN2aTsKKwkgICAgZWxzZSBpZiAoKG5vZGUtPnR5cGUgPT0gWE1MX0VMRU1FTlRfTk9ERSkgJiYKKwkgICAgICAgICAgICAgKG5vZGUtPmNoaWxkcmVuICE9IE5VTEwpKQorCSAgICAgICAgcmVzdWx0ID0geG1sR2V0TGluZU5vSW50ZXJuYWwobm9kZS0+Y2hpbGRyZW4sIGRlcHRoICsgMSk7CisJICAgIGVsc2UgaWYgKG5vZGUtPm5leHQgIT0gTlVMTCkKKwkgICAgICAgIHJlc3VsdCA9IHhtbEdldExpbmVOb0ludGVybmFsKG5vZGUtPm5leHQsIGRlcHRoICsgMSk7CisJICAgIGVsc2UgaWYgKG5vZGUtPnByZXYgIT0gTlVMTCkKKwkgICAgICAgIHJlc3VsdCA9IHhtbEdldExpbmVOb0ludGVybmFsKG5vZGUtPnByZXYsIGRlcHRoICsgMSk7CisJfQorCWlmICgocmVzdWx0ID09IC0xKSB8fCAocmVzdWx0ID09IDY1NTM1KSkKKwkgICAgcmVzdWx0ID0gKGxvbmcpIG5vZGUtPmxpbmU7CisgICAgfSBlbHNlIGlmICgobm9kZS0+cHJldiAhPSBOVUxMKSAmJgorICAgICAgICAgICAgICgobm9kZS0+cHJldi0+dHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFKSB8fAorCSAgICAgIChub2RlLT5wcmV2LT50eXBlID09IFhNTF9URVhUX05PREUpIHx8CisJICAgICAgKG5vZGUtPnByZXYtPnR5cGUgPT0gWE1MX0NPTU1FTlRfTk9ERSkgfHwKKwkgICAgICAobm9kZS0+cHJldi0+dHlwZSA9PSBYTUxfUElfTk9ERSkpKQorICAgICAgICByZXN1bHQgPSB4bWxHZXRMaW5lTm9JbnRlcm5hbChub2RlLT5wcmV2LCBkZXB0aCArIDEpOworICAgIGVsc2UgaWYgKChub2RlLT5wYXJlbnQgIT0gTlVMTCkgJiYKKyAgICAgICAgICAgICAobm9kZS0+cGFyZW50LT50eXBlID09IFhNTF9FTEVNRU5UX05PREUpKQorICAgICAgICByZXN1bHQgPSB4bWxHZXRMaW5lTm9JbnRlcm5hbChub2RlLT5wYXJlbnQsIGRlcHRoICsgMSk7CisKKyAgICByZXR1cm4gcmVzdWx0OworfQorCisvKioKKyAqIHhtbEdldExpbmVObzoKKyAqIEBub2RlOiB2YWxpZCBub2RlCisgKgorICogR2V0IGxpbmUgbnVtYmVyIG9mIEBub2RlLgorICogVHJ5IHRvIG92ZXJyaWRlIHRoZSBsaW1pdGF0aW9uIG9mIGxpbmVzIGJlaW5nIHN0b3JlIGluIDE2IGJpdHMgaW50cworICogaWYgWE1MX1BBUlNFX0JJR19MSU5FUyBwYXJzZXIgb3B0aW9uIHdhcyB1c2VkCisgKgorICogUmV0dXJucyB0aGUgbGluZSBudW1iZXIgaWYgc3VjY2Vzc2Z1bCwgLTEgb3RoZXJ3aXNlCisgKi8KK2xvbmcKK3htbEdldExpbmVObyhjb25zdCB4bWxOb2RlICpub2RlKQoreworICAgIHJldHVybih4bWxHZXRMaW5lTm9JbnRlcm5hbChub2RlLCAwKSk7Cit9CisKKyNpZiBkZWZpbmVkKExJQlhNTF9UUkVFX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX0RFQlVHX0VOQUJMRUQpCisvKioKKyAqIHhtbEdldE5vZGVQYXRoOgorICogQG5vZGU6IGEgbm9kZQorICoKKyAqIEJ1aWxkIGEgc3RydWN0dXJlIGJhc2VkIFBhdGggZm9yIHRoZSBnaXZlbiBub2RlCisgKgorICogUmV0dXJucyB0aGUgbmV3IHBhdGggb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLiBUaGUgY2FsbGVyIG11c3QgZnJlZQorICogICAgIHRoZSByZXR1cm5lZCBzdHJpbmcKKyAqLworeG1sQ2hhciAqCit4bWxHZXROb2RlUGF0aChjb25zdCB4bWxOb2RlICpub2RlKQoreworICAgIGNvbnN0IHhtbE5vZGUgKmN1ciwgKnRtcCwgKm5leHQ7CisgICAgeG1sQ2hhciAqYnVmZmVyID0gTlVMTCwgKnRlbXA7CisgICAgc2l6ZV90IGJ1Zl9sZW47CisgICAgeG1sQ2hhciAqYnVmOworICAgIGNvbnN0IGNoYXIgKnNlcDsKKyAgICBjb25zdCBjaGFyICpuYW1lOworICAgIGNoYXIgbmFtZXRlbXBbMTAwXTsKKyAgICBpbnQgb2NjdXIgPSAwLCBnZW5lcmljOworCisgICAgaWYgKChub2RlID09IE5VTEwpIHx8IChub2RlLT50eXBlID09IFhNTF9OQU1FU1BBQ0VfREVDTCkpCisgICAgICAgIHJldHVybiAoTlVMTCk7CisKKyAgICBidWZfbGVuID0gNTAwOworICAgIGJ1ZmZlciA9ICh4bWxDaGFyICopIHhtbE1hbGxvY0F0b21pYyhidWZfbGVuICogc2l6ZW9mKHhtbENoYXIpKTsKKyAgICBpZiAoYnVmZmVyID09IE5VTEwpIHsKKwl4bWxUcmVlRXJyTWVtb3J5KCJnZXR0aW5nIG5vZGUgcGF0aCIpOworICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIH0KKyAgICBidWYgPSAoeG1sQ2hhciAqKSB4bWxNYWxsb2NBdG9taWMoYnVmX2xlbiAqIHNpemVvZih4bWxDaGFyKSk7CisgICAgaWYgKGJ1ZiA9PSBOVUxMKSB7CisJeG1sVHJlZUVyck1lbW9yeSgiZ2V0dGluZyBub2RlIHBhdGgiKTsKKyAgICAgICAgeG1sRnJlZShidWZmZXIpOworICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIH0KKworICAgIGJ1ZmZlclswXSA9IDA7CisgICAgY3VyID0gbm9kZTsKKyAgICBkbyB7CisgICAgICAgIG5hbWUgPSAiIjsKKyAgICAgICAgc2VwID0gIj8iOworICAgICAgICBvY2N1ciA9IDA7CisgICAgICAgIGlmICgoY3VyLT50eXBlID09IFhNTF9ET0NVTUVOVF9OT0RFKSB8fAorICAgICAgICAgICAgKGN1ci0+dHlwZSA9PSBYTUxfSFRNTF9ET0NVTUVOVF9OT0RFKSkgeworICAgICAgICAgICAgaWYgKGJ1ZmZlclswXSA9PSAnLycpCisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBzZXAgPSAiLyI7CisgICAgICAgICAgICBuZXh0ID0gTlVMTDsKKyAgICAgICAgfSBlbHNlIGlmIChjdXItPnR5cGUgPT0gWE1MX0VMRU1FTlRfTk9ERSkgeworCSAgICBnZW5lcmljID0gMDsKKyAgICAgICAgICAgIHNlcCA9ICIvIjsKKyAgICAgICAgICAgIG5hbWUgPSAoY29uc3QgY2hhciAqKSBjdXItPm5hbWU7CisgICAgICAgICAgICBpZiAoY3VyLT5ucykgeworCQlpZiAoY3VyLT5ucy0+cHJlZml4ICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgc25wcmludGYobmFtZXRlbXAsIHNpemVvZihuYW1ldGVtcCkgLSAxLCAiJXM6JXMiLAorCQkJKGNoYXIgKiljdXItPm5zLT5wcmVmaXgsIChjaGFyICopY3VyLT5uYW1lKTsKKwkJICAgIG5hbWV0ZW1wW3NpemVvZihuYW1ldGVtcCkgLSAxXSA9IDA7CisJCSAgICBuYW1lID0gbmFtZXRlbXA7CisJCX0gZWxzZSB7CisJCSAgICAvKgorCQkgICAgKiBXZSBjYW5ub3QgZXhwcmVzcyBuYW1lZCBlbGVtZW50cyBpbiB0aGUgZGVmYXVsdAorCQkgICAgKiBuYW1lc3BhY2UsIHNvIHVzZSAiKiIuCisJCSAgICAqLworCQkgICAgZ2VuZXJpYyA9IDE7CisJCSAgICBuYW1lID0gIioiOworCQl9CisgICAgICAgICAgICB9CisgICAgICAgICAgICBuZXh0ID0gY3VyLT5wYXJlbnQ7CisKKyAgICAgICAgICAgIC8qCisgICAgICAgICAgICAgKiBUaHVtYmxlciBpbmRleCBjb21wdXRhdGlvbgorCSAgICAgKiBUT0RPOiB0aGUgb2N1cmVuY2UgdGVzdCBzZWVtcyBib2d1cyBmb3IgbmFtZXNwYWNlZCBuYW1lcworICAgICAgICAgICAgICovCisgICAgICAgICAgICB0bXAgPSBjdXItPnByZXY7CisgICAgICAgICAgICB3aGlsZSAodG1wICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICBpZiAoKHRtcC0+dHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFKSAmJgorCQkgICAgKGdlbmVyaWMgfHwKKwkJICAgICAoeG1sU3RyRXF1YWwoY3VyLT5uYW1lLCB0bXAtPm5hbWUpICYmCisJCSAgICAgKCh0bXAtPm5zID09IGN1ci0+bnMpIHx8CisJCSAgICAgICgodG1wLT5ucyAhPSBOVUxMKSAmJiAoY3VyLT5ucyAhPSBOVUxMKSAmJgorCQkgICAgICAgKHhtbFN0ckVxdWFsKGN1ci0+bnMtPnByZWZpeCwgdG1wLT5ucy0+cHJlZml4KSkpKSkpKQorICAgICAgICAgICAgICAgICAgICBvY2N1cisrOworICAgICAgICAgICAgICAgIHRtcCA9IHRtcC0+cHJldjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChvY2N1ciA9PSAwKSB7CisgICAgICAgICAgICAgICAgdG1wID0gY3VyLT5uZXh0OworICAgICAgICAgICAgICAgIHdoaWxlICh0bXAgIT0gTlVMTCAmJiBvY2N1ciA9PSAwKSB7CisgICAgICAgICAgICAgICAgICAgIGlmICgodG1wLT50eXBlID09IFhNTF9FTEVNRU5UX05PREUpICYmCisJCQkoZ2VuZXJpYyB8fAorCQkJICh4bWxTdHJFcXVhbChjdXItPm5hbWUsIHRtcC0+bmFtZSkgJiYKKwkJCSAoKHRtcC0+bnMgPT0gY3VyLT5ucykgfHwKKwkJCSAgKCh0bXAtPm5zICE9IE5VTEwpICYmIChjdXItPm5zICE9IE5VTEwpICYmCisJCQkgICAoeG1sU3RyRXF1YWwoY3VyLT5ucy0+cHJlZml4LCB0bXAtPm5zLT5wcmVmaXgpKSkpKSkpCisgICAgICAgICAgICAgICAgICAgICAgICBvY2N1cisrOworICAgICAgICAgICAgICAgICAgICB0bXAgPSB0bXAtPm5leHQ7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGlmIChvY2N1ciAhPSAwKQorICAgICAgICAgICAgICAgICAgICBvY2N1ciA9IDE7CisgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgICAgICBvY2N1cisrOworICAgICAgICB9IGVsc2UgaWYgKGN1ci0+dHlwZSA9PSBYTUxfQ09NTUVOVF9OT0RFKSB7CisgICAgICAgICAgICBzZXAgPSAiLyI7CisJICAgIG5hbWUgPSAiY29tbWVudCgpIjsKKyAgICAgICAgICAgIG5leHQgPSBjdXItPnBhcmVudDsKKworICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAqIFRodW1ibGVyIGluZGV4IGNvbXB1dGF0aW9uCisgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgIHRtcCA9IGN1ci0+cHJldjsKKyAgICAgICAgICAgIHdoaWxlICh0bXAgIT0gTlVMTCkgeworICAgICAgICAgICAgICAgIGlmICh0bXAtPnR5cGUgPT0gWE1MX0NPTU1FTlRfTk9ERSkKKwkJICAgIG9jY3VyKys7CisgICAgICAgICAgICAgICAgdG1wID0gdG1wLT5wcmV2OworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKG9jY3VyID09IDApIHsKKyAgICAgICAgICAgICAgICB0bXAgPSBjdXItPm5leHQ7CisgICAgICAgICAgICAgICAgd2hpbGUgKHRtcCAhPSBOVUxMICYmIG9jY3VyID09IDApIHsKKwkJICBpZiAodG1wLT50eXBlID09IFhNTF9DT01NRU5UX05PREUpCisJCSAgICBvY2N1cisrOworICAgICAgICAgICAgICAgICAgICB0bXAgPSB0bXAtPm5leHQ7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGlmIChvY2N1ciAhPSAwKQorICAgICAgICAgICAgICAgICAgICBvY2N1ciA9IDE7CisgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgICAgICBvY2N1cisrOworICAgICAgICB9IGVsc2UgaWYgKChjdXItPnR5cGUgPT0gWE1MX1RFWFRfTk9ERSkgfHwKKyAgICAgICAgICAgICAgICAgICAoY3VyLT50eXBlID09IFhNTF9DREFUQV9TRUNUSU9OX05PREUpKSB7CisgICAgICAgICAgICBzZXAgPSAiLyI7CisJICAgIG5hbWUgPSAidGV4dCgpIjsKKyAgICAgICAgICAgIG5leHQgPSBjdXItPnBhcmVudDsKKworICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAqIFRodW1ibGVyIGluZGV4IGNvbXB1dGF0aW9uCisgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgIHRtcCA9IGN1ci0+cHJldjsKKyAgICAgICAgICAgIHdoaWxlICh0bXAgIT0gTlVMTCkgeworICAgICAgICAgICAgICAgIGlmICgodG1wLT50eXBlID09IFhNTF9URVhUX05PREUpIHx8CisJCSAgICAodG1wLT50eXBlID09IFhNTF9DREFUQV9TRUNUSU9OX05PREUpKQorCQkgICAgb2NjdXIrKzsKKyAgICAgICAgICAgICAgICB0bXAgPSB0bXAtPnByZXY7CisgICAgICAgICAgICB9CisJICAgIC8qCisJICAgICogRXZhbHVhdGUgaWYgdGhpcyBpcyB0aGUgb25seSB0ZXh0LSBvciBDREFUQS1zZWN0aW9uLW5vZGU7CisJICAgICogaWYgeWVzLCB0aGVuIHdlJ2xsIGdldCAidGV4dCgpIiwgb3RoZXJ3aXNlICJ0ZXh0KClbMV0iLgorCSAgICAqLworICAgICAgICAgICAgaWYgKG9jY3VyID09IDApIHsKKyAgICAgICAgICAgICAgICB0bXAgPSBjdXItPm5leHQ7CisgICAgICAgICAgICAgICAgd2hpbGUgKHRtcCAhPSBOVUxMKSB7CisJCSAgICBpZiAoKHRtcC0+dHlwZSA9PSBYTUxfVEVYVF9OT0RFKSB8fAorCQkJKHRtcC0+dHlwZSA9PSBYTUxfQ0RBVEFfU0VDVElPTl9OT0RFKSkKKwkJICAgIHsKKwkJCW9jY3VyID0gMTsKKwkJCWJyZWFrOworCQkgICAgfQorCQkgICAgdG1wID0gdG1wLT5uZXh0OworCQl9CisgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgICAgICBvY2N1cisrOworICAgICAgICB9IGVsc2UgaWYgKGN1ci0+dHlwZSA9PSBYTUxfUElfTk9ERSkgeworICAgICAgICAgICAgc2VwID0gIi8iOworCSAgICBzbnByaW50ZihuYW1ldGVtcCwgc2l6ZW9mKG5hbWV0ZW1wKSAtIDEsCisJCSAgICAgInByb2Nlc3NpbmctaW5zdHJ1Y3Rpb24oJyVzJykiLCAoY2hhciAqKWN1ci0+bmFtZSk7CisgICAgICAgICAgICBuYW1ldGVtcFtzaXplb2YobmFtZXRlbXApIC0gMV0gPSAwOworICAgICAgICAgICAgbmFtZSA9IG5hbWV0ZW1wOworCisJICAgIG5leHQgPSBjdXItPnBhcmVudDsKKworICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAqIFRodW1ibGVyIGluZGV4IGNvbXB1dGF0aW9uCisgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgIHRtcCA9IGN1ci0+cHJldjsKKyAgICAgICAgICAgIHdoaWxlICh0bXAgIT0gTlVMTCkgeworICAgICAgICAgICAgICAgIGlmICgodG1wLT50eXBlID09IFhNTF9QSV9OT0RFKSAmJgorCQkgICAgKHhtbFN0ckVxdWFsKGN1ci0+bmFtZSwgdG1wLT5uYW1lKSkpCisgICAgICAgICAgICAgICAgICAgIG9jY3VyKys7CisgICAgICAgICAgICAgICAgdG1wID0gdG1wLT5wcmV2OworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKG9jY3VyID09IDApIHsKKyAgICAgICAgICAgICAgICB0bXAgPSBjdXItPm5leHQ7CisgICAgICAgICAgICAgICAgd2hpbGUgKHRtcCAhPSBOVUxMICYmIG9jY3VyID09IDApIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKCh0bXAtPnR5cGUgPT0gWE1MX1BJX05PREUpICYmCisJCQkoeG1sU3RyRXF1YWwoY3VyLT5uYW1lLCB0bXAtPm5hbWUpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIG9jY3VyKys7CisgICAgICAgICAgICAgICAgICAgIHRtcCA9IHRtcC0+bmV4dDsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgaWYgKG9jY3VyICE9IDApCisgICAgICAgICAgICAgICAgICAgIG9jY3VyID0gMTsKKyAgICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAgIG9jY3VyKys7CisKKyAgICAgICAgfSBlbHNlIGlmIChjdXItPnR5cGUgPT0gWE1MX0FUVFJJQlVURV9OT0RFKSB7CisgICAgICAgICAgICBzZXAgPSAiL0AiOworICAgICAgICAgICAgbmFtZSA9IChjb25zdCBjaGFyICopICgoKHhtbEF0dHJQdHIpIGN1ciktPm5hbWUpOworICAgICAgICAgICAgaWYgKGN1ci0+bnMpIHsKKwkgICAgICAgIGlmIChjdXItPm5zLT5wcmVmaXggIT0gTlVMTCkKKyAgICAgICAgICAgICAgICAgICAgc25wcmludGYobmFtZXRlbXAsIHNpemVvZihuYW1ldGVtcCkgLSAxLCAiJXM6JXMiLAorCQkJKGNoYXIgKiljdXItPm5zLT5wcmVmaXgsIChjaGFyICopY3VyLT5uYW1lKTsKKwkJZWxzZQorCQkgICAgc25wcmludGYobmFtZXRlbXAsIHNpemVvZihuYW1ldGVtcCkgLSAxLCAiJXMiLAorCQkJKGNoYXIgKiljdXItPm5hbWUpOworICAgICAgICAgICAgICAgIG5hbWV0ZW1wW3NpemVvZihuYW1ldGVtcCkgLSAxXSA9IDA7CisgICAgICAgICAgICAgICAgbmFtZSA9IG5hbWV0ZW1wOworICAgICAgICAgICAgfQorICAgICAgICAgICAgbmV4dCA9ICgoeG1sQXR0clB0cikgY3VyKS0+cGFyZW50OworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgbmV4dCA9IGN1ci0+cGFyZW50OworICAgICAgICB9CisKKyAgICAgICAgLyoKKyAgICAgICAgICogTWFrZSBzdXJlIHRoZXJlIGlzIGVub3VnaCByb29tCisgICAgICAgICAqLworICAgICAgICBpZiAoeG1sU3RybGVuKGJ1ZmZlcikgKyBzaXplb2YobmFtZXRlbXApICsgMjAgPiBidWZfbGVuKSB7CisgICAgICAgICAgICBidWZfbGVuID0KKyAgICAgICAgICAgICAgICAyICogYnVmX2xlbiArIHhtbFN0cmxlbihidWZmZXIpICsgc2l6ZW9mKG5hbWV0ZW1wKSArIDIwOworICAgICAgICAgICAgdGVtcCA9ICh4bWxDaGFyICopIHhtbFJlYWxsb2MoYnVmZmVyLCBidWZfbGVuKTsKKyAgICAgICAgICAgIGlmICh0ZW1wID09IE5VTEwpIHsKKwkJeG1sVHJlZUVyck1lbW9yeSgiZ2V0dGluZyBub2RlIHBhdGgiKTsKKyAgICAgICAgICAgICAgICB4bWxGcmVlKGJ1Zik7CisgICAgICAgICAgICAgICAgeG1sRnJlZShidWZmZXIpOworICAgICAgICAgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBidWZmZXIgPSB0ZW1wOworICAgICAgICAgICAgdGVtcCA9ICh4bWxDaGFyICopIHhtbFJlYWxsb2MoYnVmLCBidWZfbGVuKTsKKyAgICAgICAgICAgIGlmICh0ZW1wID09IE5VTEwpIHsKKwkJeG1sVHJlZUVyck1lbW9yeSgiZ2V0dGluZyBub2RlIHBhdGgiKTsKKyAgICAgICAgICAgICAgICB4bWxGcmVlKGJ1Zik7CisgICAgICAgICAgICAgICAgeG1sRnJlZShidWZmZXIpOworICAgICAgICAgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBidWYgPSB0ZW1wOworICAgICAgICB9CisgICAgICAgIGlmIChvY2N1ciA9PSAwKQorICAgICAgICAgICAgc25wcmludGYoKGNoYXIgKikgYnVmLCBidWZfbGVuLCAiJXMlcyVzIiwKKyAgICAgICAgICAgICAgICAgICAgIHNlcCwgbmFtZSwgKGNoYXIgKikgYnVmZmVyKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgc25wcmludGYoKGNoYXIgKikgYnVmLCBidWZfbGVuLCAiJXMlc1slZF0lcyIsCisgICAgICAgICAgICAgICAgICAgICBzZXAsIG5hbWUsIG9jY3VyLCAoY2hhciAqKSBidWZmZXIpOworICAgICAgICBzbnByaW50ZigoY2hhciAqKSBidWZmZXIsIGJ1Zl9sZW4sICIlcyIsIChjaGFyICopYnVmKTsKKyAgICAgICAgY3VyID0gbmV4dDsKKyAgICB9IHdoaWxlIChjdXIgIT0gTlVMTCk7CisgICAgeG1sRnJlZShidWYpOworICAgIHJldHVybiAoYnVmZmVyKTsKK30KKyNlbmRpZiAvKiBMSUJYTUxfVFJFRV9FTkFCTEVEICovCisKKy8qKgorICogeG1sRG9jR2V0Um9vdEVsZW1lbnQ6CisgKiBAZG9jOiAgdGhlIGRvY3VtZW50CisgKgorICogR2V0IHRoZSByb290IGVsZW1lbnQgb2YgdGhlIGRvY3VtZW50IChkb2MtPmNoaWxkcmVuIGlzIGEgbGlzdAorICogY29udGFpbmluZyBwb3NzaWJseSBjb21tZW50cywgUElzLCBldGMgLi4uKS4KKyAqCisgKiBSZXR1cm5zIHRoZSAjeG1sTm9kZVB0ciBmb3IgdGhlIHJvb3Qgb3IgTlVMTAorICovCit4bWxOb2RlUHRyCit4bWxEb2NHZXRSb290RWxlbWVudChjb25zdCB4bWxEb2MgKmRvYykgeworICAgIHhtbE5vZGVQdHIgcmV0OworCisgICAgaWYgKGRvYyA9PSBOVUxMKSByZXR1cm4oTlVMTCk7CisgICAgcmV0ID0gZG9jLT5jaGlsZHJlbjsKKyAgICB3aGlsZSAocmV0ICE9IE5VTEwpIHsKKwlpZiAocmV0LT50eXBlID09IFhNTF9FTEVNRU5UX05PREUpCisJICAgIHJldHVybihyZXQpOworICAgICAgICByZXQgPSByZXQtPm5leHQ7CisgICAgfQorICAgIHJldHVybihyZXQpOworfQorCisjaWYgZGVmaW5lZChMSUJYTUxfVFJFRV9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9XUklURVJfRU5BQkxFRCkKKy8qKgorICogeG1sRG9jU2V0Um9vdEVsZW1lbnQ6CisgKiBAZG9jOiAgdGhlIGRvY3VtZW50CisgKiBAcm9vdDogIHRoZSBuZXcgZG9jdW1lbnQgcm9vdCBlbGVtZW50LCBpZiByb290IGlzIE5VTEwgbm8gYWN0aW9uIGlzIHRha2VuLAorICogICAgICAgICB0byByZW1vdmUgYSBub2RlIGZyb20gYSBkb2N1bWVudCB1c2UgeG1sVW5saW5rTm9kZShyb290KSBpbnN0ZWFkLgorICoKKyAqIFNldCB0aGUgcm9vdCBlbGVtZW50IG9mIHRoZSBkb2N1bWVudCAoZG9jLT5jaGlsZHJlbiBpcyBhIGxpc3QKKyAqIGNvbnRhaW5pbmcgcG9zc2libHkgY29tbWVudHMsIFBJcywgZXRjIC4uLikuCisgKgorICogUmV0dXJucyB0aGUgb2xkIHJvb3QgZWxlbWVudCBpZiBhbnkgd2FzIGZvdW5kLCBOVUxMIGlmIHJvb3Qgd2FzIE5VTEwKKyAqLworeG1sTm9kZVB0cgoreG1sRG9jU2V0Um9vdEVsZW1lbnQoeG1sRG9jUHRyIGRvYywgeG1sTm9kZVB0ciByb290KSB7CisgICAgeG1sTm9kZVB0ciBvbGQgPSBOVUxMOworCisgICAgaWYgKGRvYyA9PSBOVUxMKSByZXR1cm4oTlVMTCk7CisgICAgaWYgKChyb290ID09IE5VTEwpIHx8IChyb290LT50eXBlID09IFhNTF9OQU1FU1BBQ0VfREVDTCkpCisJcmV0dXJuKE5VTEwpOworICAgIHhtbFVubGlua05vZGUocm9vdCk7CisgICAgeG1sU2V0VHJlZURvYyhyb290LCBkb2MpOworICAgIHJvb3QtPnBhcmVudCA9ICh4bWxOb2RlUHRyKSBkb2M7CisgICAgb2xkID0gZG9jLT5jaGlsZHJlbjsKKyAgICB3aGlsZSAob2xkICE9IE5VTEwpIHsKKwlpZiAob2xkLT50eXBlID09IFhNTF9FTEVNRU5UX05PREUpCisJICAgIGJyZWFrOworICAgICAgICBvbGQgPSBvbGQtPm5leHQ7CisgICAgfQorICAgIGlmIChvbGQgPT0gTlVMTCkgeworCWlmIChkb2MtPmNoaWxkcmVuID09IE5VTEwpIHsKKwkgICAgZG9jLT5jaGlsZHJlbiA9IHJvb3Q7CisJICAgIGRvYy0+bGFzdCA9IHJvb3Q7CisJfSBlbHNlIHsKKwkgICAgeG1sQWRkU2libGluZyhkb2MtPmNoaWxkcmVuLCByb290KTsKKwl9CisgICAgfSBlbHNlIHsKKwl4bWxSZXBsYWNlTm9kZShvbGQsIHJvb3QpOworICAgIH0KKyAgICByZXR1cm4ob2xkKTsKK30KKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVFJFRV9FTkFCTEVEKQorLyoqCisgKiB4bWxOb2RlU2V0TGFuZzoKKyAqIEBjdXI6ICB0aGUgbm9kZSBiZWluZyBjaGFuZ2VkCisgKiBAbGFuZzogIHRoZSBsYW5ndWFnZSBkZXNjcmlwdGlvbgorICoKKyAqIFNldCB0aGUgbGFuZ3VhZ2Ugb2YgYSBub2RlLCBpLmUuIHRoZSB2YWx1ZXMgb2YgdGhlIHhtbDpsYW5nCisgKiBhdHRyaWJ1dGUuCisgKi8KK3ZvaWQKK3htbE5vZGVTZXRMYW5nKHhtbE5vZGVQdHIgY3VyLCBjb25zdCB4bWxDaGFyICpsYW5nKSB7CisgICAgeG1sTnNQdHIgbnM7CisKKyAgICBpZiAoY3VyID09IE5VTEwpIHJldHVybjsKKyAgICBzd2l0Y2goY3VyLT50eXBlKSB7CisgICAgICAgIGNhc2UgWE1MX1RFWFRfTk9ERToKKyAgICAgICAgY2FzZSBYTUxfQ0RBVEFfU0VDVElPTl9OT0RFOgorICAgICAgICBjYXNlIFhNTF9DT01NRU5UX05PREU6CisgICAgICAgIGNhc2UgWE1MX0RPQ1VNRU5UX05PREU6CisgICAgICAgIGNhc2UgWE1MX0RPQ1VNRU5UX1RZUEVfTk9ERToKKyAgICAgICAgY2FzZSBYTUxfRE9DVU1FTlRfRlJBR19OT0RFOgorICAgICAgICBjYXNlIFhNTF9OT1RBVElPTl9OT0RFOgorICAgICAgICBjYXNlIFhNTF9IVE1MX0RPQ1VNRU5UX05PREU6CisgICAgICAgIGNhc2UgWE1MX0RURF9OT0RFOgorICAgICAgICBjYXNlIFhNTF9FTEVNRU5UX0RFQ0w6CisgICAgICAgIGNhc2UgWE1MX0FUVFJJQlVURV9ERUNMOgorICAgICAgICBjYXNlIFhNTF9FTlRJVFlfREVDTDoKKyAgICAgICAgY2FzZSBYTUxfUElfTk9ERToKKyAgICAgICAgY2FzZSBYTUxfRU5USVRZX1JFRl9OT0RFOgorICAgICAgICBjYXNlIFhNTF9FTlRJVFlfTk9ERToKKwljYXNlIFhNTF9OQU1FU1BBQ0VfREVDTDoKKyNpZmRlZiBMSUJYTUxfRE9DQl9FTkFCTEVECisJY2FzZSBYTUxfRE9DQl9ET0NVTUVOVF9OT0RFOgorI2VuZGlmCisJY2FzZSBYTUxfWElOQ0xVREVfU1RBUlQ6CisJY2FzZSBYTUxfWElOQ0xVREVfRU5EOgorCSAgICByZXR1cm47CisgICAgICAgIGNhc2UgWE1MX0VMRU1FTlRfTk9ERToKKyAgICAgICAgY2FzZSBYTUxfQVRUUklCVVRFX05PREU6CisJICAgIGJyZWFrOworICAgIH0KKyAgICBucyA9IHhtbFNlYXJjaE5zQnlIcmVmKGN1ci0+ZG9jLCBjdXIsIFhNTF9YTUxfTkFNRVNQQUNFKTsKKyAgICBpZiAobnMgPT0gTlVMTCkKKwlyZXR1cm47CisgICAgeG1sU2V0TnNQcm9wKGN1ciwgbnMsIEJBRF9DQVNUICJsYW5nIiwgbGFuZyk7Cit9CisjZW5kaWYgLyogTElCWE1MX1RSRUVfRU5BQkxFRCAqLworCisvKioKKyAqIHhtbE5vZGVHZXRMYW5nOgorICogQGN1cjogIHRoZSBub2RlIGJlaW5nIGNoZWNrZWQKKyAqCisgKiBTZWFyY2hlcyB0aGUgbGFuZ3VhZ2Ugb2YgYSBub2RlLCBpLmUuIHRoZSB2YWx1ZXMgb2YgdGhlIHhtbDpsYW5nCisgKiBhdHRyaWJ1dGUgb3IgdGhlIG9uZSBjYXJyaWVkIGJ5IHRoZSBuZWFyZXN0IGFuY2VzdG9yLgorICoKKyAqIFJldHVybnMgYSBwb2ludGVyIHRvIHRoZSBsYW5nIHZhbHVlLCBvciBOVUxMIGlmIG5vdCBmb3VuZAorICogICAgIEl0J3MgdXAgdG8gdGhlIGNhbGxlciB0byBmcmVlIHRoZSBtZW1vcnkgd2l0aCB4bWxGcmVlKCkuCisgKi8KK3htbENoYXIgKgoreG1sTm9kZUdldExhbmcoY29uc3QgeG1sTm9kZSAqY3VyKSB7CisgICAgeG1sQ2hhciAqbGFuZzsKKworICAgIGlmICgoY3VyID09IE5VTEwpIHx8IChjdXItPnR5cGUgPT0gWE1MX05BTUVTUEFDRV9ERUNMKSkKKyAgICAgICAgcmV0dXJuKE5VTEwpOworICAgIHdoaWxlIChjdXIgIT0gTlVMTCkgeworICAgICAgICBsYW5nID0geG1sR2V0TnNQcm9wKGN1ciwgQkFEX0NBU1QgImxhbmciLCBYTUxfWE1MX05BTUVTUEFDRSk7CisJaWYgKGxhbmcgIT0gTlVMTCkKKwkgICAgcmV0dXJuKGxhbmcpOworCWN1ciA9IGN1ci0+cGFyZW50OworICAgIH0KKyAgICByZXR1cm4oTlVMTCk7Cit9CisKKworI2lmZGVmIExJQlhNTF9UUkVFX0VOQUJMRUQKKy8qKgorICogeG1sTm9kZVNldFNwYWNlUHJlc2VydmU6CisgKiBAY3VyOiAgdGhlIG5vZGUgYmVpbmcgY2hhbmdlZAorICogQHZhbDogIHRoZSB4bWw6c3BhY2UgdmFsdWUgKCIwIjogZGVmYXVsdCwgMTogInByZXNlcnZlIikKKyAqCisgKiBTZXQgKG9yIHJlc2V0KSB0aGUgc3BhY2UgcHJlc2VydmluZyBiZWhhdmlvdXIgb2YgYSBub2RlLCBpLmUuIHRoZQorICogdmFsdWUgb2YgdGhlIHhtbDpzcGFjZSBhdHRyaWJ1dGUuCisgKi8KK3ZvaWQKK3htbE5vZGVTZXRTcGFjZVByZXNlcnZlKHhtbE5vZGVQdHIgY3VyLCBpbnQgdmFsKSB7CisgICAgeG1sTnNQdHIgbnM7CisKKyAgICBpZiAoY3VyID09IE5VTEwpIHJldHVybjsKKyAgICBzd2l0Y2goY3VyLT50eXBlKSB7CisgICAgICAgIGNhc2UgWE1MX1RFWFRfTk9ERToKKyAgICAgICAgY2FzZSBYTUxfQ0RBVEFfU0VDVElPTl9OT0RFOgorICAgICAgICBjYXNlIFhNTF9DT01NRU5UX05PREU6CisgICAgICAgIGNhc2UgWE1MX0RPQ1VNRU5UX05PREU6CisgICAgICAgIGNhc2UgWE1MX0RPQ1VNRU5UX1RZUEVfTk9ERToKKyAgICAgICAgY2FzZSBYTUxfRE9DVU1FTlRfRlJBR19OT0RFOgorICAgICAgICBjYXNlIFhNTF9OT1RBVElPTl9OT0RFOgorICAgICAgICBjYXNlIFhNTF9IVE1MX0RPQ1VNRU5UX05PREU6CisgICAgICAgIGNhc2UgWE1MX0RURF9OT0RFOgorICAgICAgICBjYXNlIFhNTF9FTEVNRU5UX0RFQ0w6CisgICAgICAgIGNhc2UgWE1MX0FUVFJJQlVURV9ERUNMOgorICAgICAgICBjYXNlIFhNTF9FTlRJVFlfREVDTDoKKyAgICAgICAgY2FzZSBYTUxfUElfTk9ERToKKyAgICAgICAgY2FzZSBYTUxfRU5USVRZX1JFRl9OT0RFOgorICAgICAgICBjYXNlIFhNTF9FTlRJVFlfTk9ERToKKwljYXNlIFhNTF9OQU1FU1BBQ0VfREVDTDoKKwljYXNlIFhNTF9YSU5DTFVERV9TVEFSVDoKKwljYXNlIFhNTF9YSU5DTFVERV9FTkQ6CisjaWZkZWYgTElCWE1MX0RPQ0JfRU5BQkxFRAorCWNhc2UgWE1MX0RPQ0JfRE9DVU1FTlRfTk9ERToKKyNlbmRpZgorCSAgICByZXR1cm47CisgICAgICAgIGNhc2UgWE1MX0VMRU1FTlRfTk9ERToKKyAgICAgICAgY2FzZSBYTUxfQVRUUklCVVRFX05PREU6CisJICAgIGJyZWFrOworICAgIH0KKyAgICBucyA9IHhtbFNlYXJjaE5zQnlIcmVmKGN1ci0+ZG9jLCBjdXIsIFhNTF9YTUxfTkFNRVNQQUNFKTsKKyAgICBpZiAobnMgPT0gTlVMTCkKKwlyZXR1cm47CisgICAgc3dpdGNoICh2YWwpIHsKKyAgICBjYXNlIDA6CisJeG1sU2V0TnNQcm9wKGN1ciwgbnMsIEJBRF9DQVNUICJzcGFjZSIsIEJBRF9DQVNUICJkZWZhdWx0Iik7CisJYnJlYWs7CisgICAgY2FzZSAxOgorCXhtbFNldE5zUHJvcChjdXIsIG5zLCBCQURfQ0FTVCAic3BhY2UiLCBCQURfQ0FTVCAicHJlc2VydmUiKTsKKwlicmVhazsKKyAgICB9Cit9CisjZW5kaWYgLyogTElCWE1MX1RSRUVfRU5BQkxFRCAqLworCisvKioKKyAqIHhtbE5vZGVHZXRTcGFjZVByZXNlcnZlOgorICogQGN1cjogIHRoZSBub2RlIGJlaW5nIGNoZWNrZWQKKyAqCisgKiBTZWFyY2hlcyB0aGUgc3BhY2UgcHJlc2VydmluZyBiZWhhdmlvdXIgb2YgYSBub2RlLCBpLmUuIHRoZSB2YWx1ZXMKKyAqIG9mIHRoZSB4bWw6c3BhY2UgYXR0cmlidXRlIG9yIHRoZSBvbmUgY2FycmllZCBieSB0aGUgbmVhcmVzdAorICogYW5jZXN0b3IuCisgKgorICogUmV0dXJucyAtMSBpZiB4bWw6c3BhY2UgaXMgbm90IGluaGVyaXRlZCwgMCBpZiAiZGVmYXVsdCIsIDEgaWYgInByZXNlcnZlIgorICovCitpbnQKK3htbE5vZGVHZXRTcGFjZVByZXNlcnZlKGNvbnN0IHhtbE5vZGUgKmN1cikgeworICAgIHhtbENoYXIgKnNwYWNlOworCisgICAgaWYgKChjdXIgPT0gTlVMTCkgfHwgKGN1ci0+dHlwZSAhPSBYTUxfRUxFTUVOVF9OT0RFKSkKKyAgICAgICAgcmV0dXJuKC0xKTsKKyAgICB3aGlsZSAoY3VyICE9IE5VTEwpIHsKKwlzcGFjZSA9IHhtbEdldE5zUHJvcChjdXIsIEJBRF9DQVNUICJzcGFjZSIsIFhNTF9YTUxfTkFNRVNQQUNFKTsKKwlpZiAoc3BhY2UgIT0gTlVMTCkgeworCSAgICBpZiAoeG1sU3RyRXF1YWwoc3BhY2UsIEJBRF9DQVNUICJwcmVzZXJ2ZSIpKSB7CisJCXhtbEZyZWUoc3BhY2UpOworCQlyZXR1cm4oMSk7CisJICAgIH0KKwkgICAgaWYgKHhtbFN0ckVxdWFsKHNwYWNlLCBCQURfQ0FTVCAiZGVmYXVsdCIpKSB7CisJCXhtbEZyZWUoc3BhY2UpOworCQlyZXR1cm4oMCk7CisJICAgIH0KKwkgICAgeG1sRnJlZShzcGFjZSk7CisJfQorCWN1ciA9IGN1ci0+cGFyZW50OworICAgIH0KKyAgICByZXR1cm4oLTEpOworfQorCisjaWZkZWYgTElCWE1MX1RSRUVfRU5BQkxFRAorLyoqCisgKiB4bWxOb2RlU2V0TmFtZToKKyAqIEBjdXI6ICB0aGUgbm9kZSBiZWluZyBjaGFuZ2VkCisgKiBAbmFtZTogIHRoZSBuZXcgdGFnIG5hbWUKKyAqCisgKiBTZXQgKG9yIHJlc2V0KSB0aGUgbmFtZSBvZiBhIG5vZGUuCisgKi8KK3ZvaWQKK3htbE5vZGVTZXROYW1lKHhtbE5vZGVQdHIgY3VyLCBjb25zdCB4bWxDaGFyICpuYW1lKSB7CisgICAgeG1sRG9jUHRyIGRvYzsKKyAgICB4bWxEaWN0UHRyIGRpY3Q7CisgICAgY29uc3QgeG1sQ2hhciAqZnJlZW1lID0gTlVMTDsKKworICAgIGlmIChjdXIgPT0gTlVMTCkgcmV0dXJuOworICAgIGlmIChuYW1lID09IE5VTEwpIHJldHVybjsKKyAgICBzd2l0Y2goY3VyLT50eXBlKSB7CisgICAgICAgIGNhc2UgWE1MX1RFWFRfTk9ERToKKyAgICAgICAgY2FzZSBYTUxfQ0RBVEFfU0VDVElPTl9OT0RFOgorICAgICAgICBjYXNlIFhNTF9DT01NRU5UX05PREU6CisgICAgICAgIGNhc2UgWE1MX0RPQ1VNRU5UX1RZUEVfTk9ERToKKyAgICAgICAgY2FzZSBYTUxfRE9DVU1FTlRfRlJBR19OT0RFOgorICAgICAgICBjYXNlIFhNTF9OT1RBVElPTl9OT0RFOgorICAgICAgICBjYXNlIFhNTF9IVE1MX0RPQ1VNRU5UX05PREU6CisJY2FzZSBYTUxfTkFNRVNQQUNFX0RFQ0w6CisJY2FzZSBYTUxfWElOQ0xVREVfU1RBUlQ6CisJY2FzZSBYTUxfWElOQ0xVREVfRU5EOgorI2lmZGVmIExJQlhNTF9ET0NCX0VOQUJMRUQKKwljYXNlIFhNTF9ET0NCX0RPQ1VNRU5UX05PREU6CisjZW5kaWYKKwkgICAgcmV0dXJuOworICAgICAgICBjYXNlIFhNTF9FTEVNRU5UX05PREU6CisgICAgICAgIGNhc2UgWE1MX0FUVFJJQlVURV9OT0RFOgorICAgICAgICBjYXNlIFhNTF9QSV9OT0RFOgorICAgICAgICBjYXNlIFhNTF9FTlRJVFlfUkVGX05PREU6CisgICAgICAgIGNhc2UgWE1MX0VOVElUWV9OT0RFOgorICAgICAgICBjYXNlIFhNTF9EVERfTk9ERToKKyAgICAgICAgY2FzZSBYTUxfRE9DVU1FTlRfTk9ERToKKyAgICAgICAgY2FzZSBYTUxfRUxFTUVOVF9ERUNMOgorICAgICAgICBjYXNlIFhNTF9BVFRSSUJVVEVfREVDTDoKKyAgICAgICAgY2FzZSBYTUxfRU5USVRZX0RFQ0w6CisJICAgIGJyZWFrOworICAgIH0KKyAgICBkb2MgPSBjdXItPmRvYzsKKyAgICBpZiAoZG9jICE9IE5VTEwpCisJZGljdCA9IGRvYy0+ZGljdDsKKyAgICBlbHNlCisgICAgICAgIGRpY3QgPSBOVUxMOworICAgIGlmIChkaWN0ICE9IE5VTEwpIHsKKyAgICAgICAgaWYgKChjdXItPm5hbWUgIT0gTlVMTCkgJiYgKCF4bWxEaWN0T3ducyhkaWN0LCBjdXItPm5hbWUpKSkKKwkgICAgZnJlZW1lID0gY3VyLT5uYW1lOworCWN1ci0+bmFtZSA9IHhtbERpY3RMb29rdXAoZGljdCwgbmFtZSwgLTEpOworICAgIH0gZWxzZSB7CisJaWYgKGN1ci0+bmFtZSAhPSBOVUxMKQorCSAgICBmcmVlbWUgPSBjdXItPm5hbWU7CisJY3VyLT5uYW1lID0geG1sU3RyZHVwKG5hbWUpOworICAgIH0KKworICAgIGlmIChmcmVlbWUpCisgICAgICAgIHhtbEZyZWUoKHhtbENoYXIgKikgZnJlZW1lKTsKK30KKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVFJFRV9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9YSU5DTFVERV9FTkFCTEVEKQorLyoqCisgKiB4bWxOb2RlU2V0QmFzZToKKyAqIEBjdXI6ICB0aGUgbm9kZSBiZWluZyBjaGFuZ2VkCisgKiBAdXJpOiAgdGhlIG5ldyBiYXNlIFVSSQorICoKKyAqIFNldCAob3IgcmVzZXQpIHRoZSBiYXNlIFVSSSBvZiBhIG5vZGUsIGkuZS4gdGhlIHZhbHVlIG9mIHRoZQorICogeG1sOmJhc2UgYXR0cmlidXRlLgorICovCit2b2lkCit4bWxOb2RlU2V0QmFzZSh4bWxOb2RlUHRyIGN1ciwgY29uc3QgeG1sQ2hhciogdXJpKSB7CisgICAgeG1sTnNQdHIgbnM7CisgICAgeG1sQ2hhciogZml4ZWQ7CisKKyAgICBpZiAoY3VyID09IE5VTEwpIHJldHVybjsKKyAgICBzd2l0Y2goY3VyLT50eXBlKSB7CisgICAgICAgIGNhc2UgWE1MX1RFWFRfTk9ERToKKyAgICAgICAgY2FzZSBYTUxfQ0RBVEFfU0VDVElPTl9OT0RFOgorICAgICAgICBjYXNlIFhNTF9DT01NRU5UX05PREU6CisgICAgICAgIGNhc2UgWE1MX0RPQ1VNRU5UX1RZUEVfTk9ERToKKyAgICAgICAgY2FzZSBYTUxfRE9DVU1FTlRfRlJBR19OT0RFOgorICAgICAgICBjYXNlIFhNTF9OT1RBVElPTl9OT0RFOgorICAgICAgICBjYXNlIFhNTF9EVERfTk9ERToKKyAgICAgICAgY2FzZSBYTUxfRUxFTUVOVF9ERUNMOgorICAgICAgICBjYXNlIFhNTF9BVFRSSUJVVEVfREVDTDoKKyAgICAgICAgY2FzZSBYTUxfRU5USVRZX0RFQ0w6CisgICAgICAgIGNhc2UgWE1MX1BJX05PREU6CisgICAgICAgIGNhc2UgWE1MX0VOVElUWV9SRUZfTk9ERToKKyAgICAgICAgY2FzZSBYTUxfRU5USVRZX05PREU6CisJY2FzZSBYTUxfTkFNRVNQQUNFX0RFQ0w6CisJY2FzZSBYTUxfWElOQ0xVREVfU1RBUlQ6CisJY2FzZSBYTUxfWElOQ0xVREVfRU5EOgorCSAgICByZXR1cm47CisgICAgICAgIGNhc2UgWE1MX0VMRU1FTlRfTk9ERToKKyAgICAgICAgY2FzZSBYTUxfQVRUUklCVVRFX05PREU6CisJICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9ET0NVTUVOVF9OT0RFOgorI2lmZGVmIExJQlhNTF9ET0NCX0VOQUJMRUQKKwljYXNlIFhNTF9ET0NCX0RPQ1VNRU5UX05PREU6CisjZW5kaWYKKyAgICAgICAgY2FzZSBYTUxfSFRNTF9ET0NVTUVOVF9OT0RFOiB7CisJICAgIHhtbERvY1B0ciBkb2MgPSAoeG1sRG9jUHRyKSBjdXI7CisKKwkgICAgaWYgKGRvYy0+VVJMICE9IE5VTEwpCisJCXhtbEZyZWUoKHhtbENoYXIgKikgZG9jLT5VUkwpOworCSAgICBpZiAodXJpID09IE5VTEwpCisJCWRvYy0+VVJMID0gTlVMTDsKKwkgICAgZWxzZQorCQlkb2MtPlVSTCA9IHhtbFBhdGhUb1VSSSh1cmkpOworCSAgICByZXR1cm47CisJfQorICAgIH0KKworICAgIG5zID0geG1sU2VhcmNoTnNCeUhyZWYoY3VyLT5kb2MsIGN1ciwgWE1MX1hNTF9OQU1FU1BBQ0UpOworICAgIGlmIChucyA9PSBOVUxMKQorCXJldHVybjsKKyAgICBmaXhlZCA9IHhtbFBhdGhUb1VSSSh1cmkpOworICAgIGlmIChmaXhlZCAhPSBOVUxMKSB7CisJeG1sU2V0TnNQcm9wKGN1ciwgbnMsIEJBRF9DQVNUICJiYXNlIiwgZml4ZWQpOworCXhtbEZyZWUoZml4ZWQpOworICAgIH0gZWxzZSB7CisJeG1sU2V0TnNQcm9wKGN1ciwgbnMsIEJBRF9DQVNUICJiYXNlIiwgdXJpKTsKKyAgICB9Cit9CisjZW5kaWYgLyogTElCWE1MX1RSRUVfRU5BQkxFRCAqLworCisvKioKKyAqIHhtbE5vZGVHZXRCYXNlOgorICogQGRvYzogIHRoZSBkb2N1bWVudCB0aGUgbm9kZSBwZXJ0YWlucyB0bworICogQGN1cjogIHRoZSBub2RlIGJlaW5nIGNoZWNrZWQKKyAqCisgKiBTZWFyY2hlcyBmb3IgdGhlIEJBU0UgVVJMLiBUaGUgY29kZSBzaG91bGQgd29yayBvbiBib3RoIFhNTAorICogYW5kIEhUTUwgZG9jdW1lbnQgZXZlbiBpZiBiYXNlIG1lY2hhbmlzbXMgYXJlIGNvbXBsZXRlbHkgZGlmZmVyZW50LgorICogSXQgcmV0dXJucyB0aGUgYmFzZSBhcyBkZWZpbmVkIGluIFJGQyAyMzk2IHNlY3Rpb25zCisgKiA1LjEuMS4gQmFzZSBVUkkgd2l0aGluIERvY3VtZW50IENvbnRlbnQKKyAqIGFuZAorICogNS4xLjIuIEJhc2UgVVJJIGZyb20gdGhlIEVuY2Fwc3VsYXRpbmcgRW50aXR5CisgKiBIb3dldmVyIGl0IGRvZXMgbm90IHJldHVybiB0aGUgZG9jdW1lbnQgYmFzZSAoNS4xLjMpLCB1c2UKKyAqIGRvYy0+VVJMIGluIHRoaXMgY2FzZQorICoKKyAqIFJldHVybnMgYSBwb2ludGVyIHRvIHRoZSBiYXNlIFVSTCwgb3IgTlVMTCBpZiBub3QgZm91bmQKKyAqICAgICBJdCdzIHVwIHRvIHRoZSBjYWxsZXIgdG8gZnJlZSB0aGUgbWVtb3J5IHdpdGggeG1sRnJlZSgpLgorICovCit4bWxDaGFyICoKK3htbE5vZGVHZXRCYXNlKGNvbnN0IHhtbERvYyAqZG9jLCBjb25zdCB4bWxOb2RlICpjdXIpIHsKKyAgICB4bWxDaGFyICpvbGRiYXNlID0gTlVMTDsKKyAgICB4bWxDaGFyICpiYXNlLCAqbmV3YmFzZTsKKworICAgIGlmICgoY3VyID09IE5VTEwpICYmIChkb2MgPT0gTlVMTCkpCisgICAgICAgIHJldHVybihOVUxMKTsKKyAgICBpZiAoKGN1ciAhPSBOVUxMKSAmJiAoY3VyLT50eXBlID09IFhNTF9OQU1FU1BBQ0VfREVDTCkpCisgICAgICAgIHJldHVybihOVUxMKTsKKyAgICBpZiAoZG9jID09IE5VTEwpIGRvYyA9IGN1ci0+ZG9jOworICAgIGlmICgoZG9jICE9IE5VTEwpICYmIChkb2MtPnR5cGUgPT0gWE1MX0hUTUxfRE9DVU1FTlRfTk9ERSkpIHsKKyAgICAgICAgY3VyID0gZG9jLT5jaGlsZHJlbjsKKwl3aGlsZSAoKGN1ciAhPSBOVUxMKSAmJiAoY3VyLT5uYW1lICE9IE5VTEwpKSB7CisJICAgIGlmIChjdXItPnR5cGUgIT0gWE1MX0VMRU1FTlRfTk9ERSkgeworCSAgICAgICAgY3VyID0gY3VyLT5uZXh0OworCQljb250aW51ZTsKKwkgICAgfQorCSAgICBpZiAoIXhtbFN0cmNhc2VjbXAoY3VyLT5uYW1lLCBCQURfQ0FTVCAiaHRtbCIpKSB7CisJICAgICAgICBjdXIgPSBjdXItPmNoaWxkcmVuOworCQljb250aW51ZTsKKwkgICAgfQorCSAgICBpZiAoIXhtbFN0cmNhc2VjbXAoY3VyLT5uYW1lLCBCQURfQ0FTVCAiaGVhZCIpKSB7CisJICAgICAgICBjdXIgPSBjdXItPmNoaWxkcmVuOworCQljb250aW51ZTsKKwkgICAgfQorCSAgICBpZiAoIXhtbFN0cmNhc2VjbXAoY3VyLT5uYW1lLCBCQURfQ0FTVCAiYmFzZSIpKSB7CisgICAgICAgICAgICAgICAgcmV0dXJuKHhtbEdldFByb3AoY3VyLCBCQURfQ0FTVCAiaHJlZiIpKTsKKwkgICAgfQorCSAgICBjdXIgPSBjdXItPm5leHQ7CisJfQorCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgd2hpbGUgKGN1ciAhPSBOVUxMKSB7CisJaWYgKGN1ci0+dHlwZSA9PSBYTUxfRU5USVRZX0RFQ0wpIHsKKwkgICAgeG1sRW50aXR5UHRyIGVudCA9ICh4bWxFbnRpdHlQdHIpIGN1cjsKKwkgICAgcmV0dXJuKHhtbFN0cmR1cChlbnQtPlVSSSkpOworCX0KKwlpZiAoY3VyLT50eXBlID09IFhNTF9FTEVNRU5UX05PREUpIHsKKwkgICAgYmFzZSA9IHhtbEdldE5zUHJvcChjdXIsIEJBRF9DQVNUICJiYXNlIiwgWE1MX1hNTF9OQU1FU1BBQ0UpOworCSAgICBpZiAoYmFzZSAhPSBOVUxMKSB7CisJCWlmIChvbGRiYXNlICE9IE5VTEwpIHsKKwkJICAgIG5ld2Jhc2UgPSB4bWxCdWlsZFVSSShvbGRiYXNlLCBiYXNlKTsKKwkJICAgIGlmIChuZXdiYXNlICE9IE5VTEwpIHsKKwkJCXhtbEZyZWUob2xkYmFzZSk7CisJCQl4bWxGcmVlKGJhc2UpOworCQkJb2xkYmFzZSA9IG5ld2Jhc2U7CisJCSAgICB9IGVsc2UgeworCQkJeG1sRnJlZShvbGRiYXNlKTsKKwkJCXhtbEZyZWUoYmFzZSk7CisJCQlyZXR1cm4oTlVMTCk7CisJCSAgICB9CisJCX0gZWxzZSB7CisJCSAgICBvbGRiYXNlID0gYmFzZTsKKwkJfQorCQlpZiAoKCF4bWxTdHJuY21wKG9sZGJhc2UsIEJBRF9DQVNUICJodHRwOi8vIiwgNykpIHx8CisJCSAgICAoIXhtbFN0cm5jbXAob2xkYmFzZSwgQkFEX0NBU1QgImZ0cDovLyIsIDYpKSB8fAorCQkgICAgKCF4bWxTdHJuY21wKG9sZGJhc2UsIEJBRF9DQVNUICJ1cm46IiwgNCkpKQorCQkgICAgcmV0dXJuKG9sZGJhc2UpOworCSAgICB9CisJfQorCWN1ciA9IGN1ci0+cGFyZW50OworICAgIH0KKyAgICBpZiAoKGRvYyAhPSBOVUxMKSAmJiAoZG9jLT5VUkwgIT0gTlVMTCkpIHsKKwlpZiAob2xkYmFzZSA9PSBOVUxMKQorCSAgICByZXR1cm4oeG1sU3RyZHVwKGRvYy0+VVJMKSk7CisJbmV3YmFzZSA9IHhtbEJ1aWxkVVJJKG9sZGJhc2UsIGRvYy0+VVJMKTsKKwl4bWxGcmVlKG9sZGJhc2UpOworCXJldHVybihuZXdiYXNlKTsKKyAgICB9CisgICAgcmV0dXJuKG9sZGJhc2UpOworfQorCisvKioKKyAqIHhtbE5vZGVCdWZHZXRDb250ZW50OgorICogQGJ1ZmZlcjogIGEgYnVmZmVyCisgKiBAY3VyOiAgdGhlIG5vZGUgYmVpbmcgcmVhZAorICoKKyAqIFJlYWQgdGhlIHZhbHVlIG9mIGEgbm9kZSBAY3VyLCB0aGlzIGNhbiBiZSBlaXRoZXIgdGhlIHRleHQgY2FycmllZAorICogZGlyZWN0bHkgYnkgdGhpcyBub2RlIGlmIGl0J3MgYSBURVhUIG5vZGUgb3IgdGhlIGFnZ3JlZ2F0ZSBzdHJpbmcKKyAqIG9mIHRoZSB2YWx1ZXMgY2FycmllZCBieSB0aGlzIG5vZGUgY2hpbGQncyAoVEVYVCBhbmQgRU5USVRZX1JFRikuCisgKiBFbnRpdHkgcmVmZXJlbmNlcyBhcmUgc3Vic3RpdHV0ZWQuCisgKiBGaWxscyB1cCB0aGUgYnVmZmVyIEBidWZmZXIgd2l0aCB0aGlzIHZhbHVlCisgKgorICogUmV0dXJucyAwIGluIGNhc2Ugb2Ygc3VjY2VzcyBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50Cit4bWxOb2RlQnVmR2V0Q29udGVudCh4bWxCdWZmZXJQdHIgYnVmZmVyLCBjb25zdCB4bWxOb2RlICpjdXIpCit7CisgICAgeG1sQnVmUHRyIGJ1ZjsKKyAgICBpbnQgcmV0OworCisgICAgaWYgKChjdXIgPT0gTlVMTCkgfHwgKGJ1ZmZlciA9PSBOVUxMKSkgcmV0dXJuKC0xKTsKKyAgICBidWYgPSB4bWxCdWZGcm9tQnVmZmVyKGJ1ZmZlcik7CisgICAgcmV0ID0geG1sQnVmR2V0Tm9kZUNvbnRlbnQoYnVmLCBjdXIpOworICAgIGJ1ZmZlciA9IHhtbEJ1ZkJhY2tUb0J1ZmZlcihidWYpOworICAgIGlmICgocmV0IDwgMCkgfHwgKGJ1ZmZlciA9PSBOVUxMKSkKKyAgICAgICAgcmV0dXJuKC0xKTsKKyAgICByZXR1cm4oMCk7Cit9CisKKy8qKgorICogeG1sQnVmR2V0Tm9kZUNvbnRlbnQ6CisgKiBAYnVmOiAgYSBidWZmZXIgeG1sQnVmUHRyCisgKiBAY3VyOiAgdGhlIG5vZGUgYmVpbmcgcmVhZAorICoKKyAqIFJlYWQgdGhlIHZhbHVlIG9mIGEgbm9kZSBAY3VyLCB0aGlzIGNhbiBiZSBlaXRoZXIgdGhlIHRleHQgY2FycmllZAorICogZGlyZWN0bHkgYnkgdGhpcyBub2RlIGlmIGl0J3MgYSBURVhUIG5vZGUgb3IgdGhlIGFnZ3JlZ2F0ZSBzdHJpbmcKKyAqIG9mIHRoZSB2YWx1ZXMgY2FycmllZCBieSB0aGlzIG5vZGUgY2hpbGQncyAoVEVYVCBhbmQgRU5USVRZX1JFRikuCisgKiBFbnRpdHkgcmVmZXJlbmNlcyBhcmUgc3Vic3RpdHV0ZWQuCisgKiBGaWxscyB1cCB0aGUgYnVmZmVyIEBidWYgd2l0aCB0aGlzIHZhbHVlCisgKgorICogUmV0dXJucyAwIGluIGNhc2Ugb2Ygc3VjY2VzcyBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50Cit4bWxCdWZHZXROb2RlQ29udGVudCh4bWxCdWZQdHIgYnVmLCBjb25zdCB4bWxOb2RlICpjdXIpCit7CisgICAgaWYgKChjdXIgPT0gTlVMTCkgfHwgKGJ1ZiA9PSBOVUxMKSkgcmV0dXJuKC0xKTsKKyAgICBzd2l0Y2ggKGN1ci0+dHlwZSkgeworICAgICAgICBjYXNlIFhNTF9DREFUQV9TRUNUSU9OX05PREU6CisgICAgICAgIGNhc2UgWE1MX1RFWFRfTk9ERToKKwkgICAgeG1sQnVmQ2F0KGJ1ZiwgY3VyLT5jb250ZW50KTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9ET0NVTUVOVF9GUkFHX05PREU6CisgICAgICAgIGNhc2UgWE1MX0VMRU1FTlRfTk9ERTp7CisgICAgICAgICAgICAgICAgY29uc3QgeG1sTm9kZSAqdG1wID0gY3VyOworCisgICAgICAgICAgICAgICAgd2hpbGUgKHRtcCAhPSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAodG1wLT50eXBlKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFhNTF9DREFUQV9TRUNUSU9OX05PREU6CisgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFhNTF9URVhUX05PREU6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRtcC0+Y29udGVudCAhPSBOVUxMKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxCdWZDYXQoYnVmLCB0bXAtPmNvbnRlbnQpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBYTUxfRU5USVRZX1JFRl9OT0RFOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbEJ1ZkdldE5vZGVDb250ZW50KGJ1ZiwgdG1wKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAgICAgICAgICogU2tpcCB0byBuZXh0IG5vZGUKKyAgICAgICAgICAgICAgICAgICAgICovCisgICAgICAgICAgICAgICAgICAgIGlmICh0bXAtPmNoaWxkcmVuICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0bXAtPmNoaWxkcmVuLT50eXBlICE9IFhNTF9FTlRJVFlfREVDTCkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IHRtcC0+Y2hpbGRyZW47CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgaWYgKHRtcCA9PSBjdXIpCisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKworICAgICAgICAgICAgICAgICAgICBpZiAodG1wLT5uZXh0ICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IHRtcC0+bmV4dDsKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICAgICAgZG8geworICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gdG1wLT5wYXJlbnQ7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG1wID09IE5VTEwpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG1wID09IGN1cikgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IE5VTEw7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG1wLT5uZXh0ICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSB0bXAtPm5leHQ7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIH0gd2hpbGUgKHRtcCAhPSBOVUxMKTsKKyAgICAgICAgICAgICAgICB9CisJCWJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICBjYXNlIFhNTF9BVFRSSUJVVEVfTk9ERTp7CisgICAgICAgICAgICAgICAgeG1sQXR0clB0ciBhdHRyID0gKHhtbEF0dHJQdHIpIGN1cjsKKwkJeG1sTm9kZVB0ciB0bXAgPSBhdHRyLT5jaGlsZHJlbjsKKworCQl3aGlsZSAodG1wICE9IE5VTEwpIHsKKwkJICAgIGlmICh0bXAtPnR5cGUgPT0gWE1MX1RFWFRfTk9ERSkKKwkJICAgICAgICB4bWxCdWZDYXQoYnVmLCB0bXAtPmNvbnRlbnQpOworCQkgICAgZWxzZQorCQkgICAgICAgIHhtbEJ1ZkdldE5vZGVDb250ZW50KGJ1ZiwgdG1wKTsKKwkJICAgIHRtcCA9IHRtcC0+bmV4dDsKKwkJfQorICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICBjYXNlIFhNTF9DT01NRU5UX05PREU6CisgICAgICAgIGNhc2UgWE1MX1BJX05PREU6CisJICAgIHhtbEJ1ZkNhdChidWYsIGN1ci0+Y29udGVudCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfRU5USVRZX1JFRl9OT0RFOnsKKyAgICAgICAgICAgICAgICB4bWxFbnRpdHlQdHIgZW50OworICAgICAgICAgICAgICAgIHhtbE5vZGVQdHIgdG1wOworCisgICAgICAgICAgICAgICAgLyogbG9va3VwIGVudGl0eSBkZWNsYXJhdGlvbiAqLworICAgICAgICAgICAgICAgIGVudCA9IHhtbEdldERvY0VudGl0eShjdXItPmRvYywgY3VyLT5uYW1lKTsKKyAgICAgICAgICAgICAgICBpZiAoZW50ID09IE5VTEwpCisgICAgICAgICAgICAgICAgICAgIHJldHVybigtMSk7CisKKyAgICAgICAgICAgICAgICAvKiBhbiBlbnRpdHkgY29udGVudCBjYW4gYmUgYW55ICJ3ZWxsIGJhbGFuY2VkIGNodW5rIiwKKyAgICAgICAgICAgICAgICAgKiBpLmUuIHRoZSByZXN1bHQgb2YgdGhlIGNvbnRlbnQgWzQzXSBwcm9kdWN0aW9uOgorICAgICAgICAgICAgICAgICAqIGh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy14bWwjTlQtY29udGVudAorICAgICAgICAgICAgICAgICAqIC0+IHdlIGl0ZXJhdGUgdGhyb3VnaCBjaGlsZCBub2RlcyBhbmQgcmVjdXJzaXZlIGNhbGwKKyAgICAgICAgICAgICAgICAgKiB4bWxOb2RlR2V0Q29udGVudCgpIHdoaWNoIGhhbmRsZXMgYWxsIHBvc3NpYmxlIG5vZGUgdHlwZXMgKi8KKyAgICAgICAgICAgICAgICB0bXAgPSBlbnQtPmNoaWxkcmVuOworICAgICAgICAgICAgICAgIHdoaWxlICh0bXApIHsKKwkJICAgIHhtbEJ1ZkdldE5vZGVDb250ZW50KGJ1ZiwgdG1wKTsKKyAgICAgICAgICAgICAgICAgICAgdG1wID0gdG1wLT5uZXh0OworICAgICAgICAgICAgICAgIH0KKwkJYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgIGNhc2UgWE1MX0VOVElUWV9OT0RFOgorICAgICAgICBjYXNlIFhNTF9ET0NVTUVOVF9UWVBFX05PREU6CisgICAgICAgIGNhc2UgWE1MX05PVEFUSU9OX05PREU6CisgICAgICAgIGNhc2UgWE1MX0RURF9OT0RFOgorICAgICAgICBjYXNlIFhNTF9YSU5DTFVERV9TVEFSVDoKKyAgICAgICAgY2FzZSBYTUxfWElOQ0xVREVfRU5EOgorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0RPQ1VNRU5UX05PREU6CisjaWZkZWYgTElCWE1MX0RPQ0JfRU5BQkxFRAorICAgICAgICBjYXNlIFhNTF9ET0NCX0RPQ1VNRU5UX05PREU6CisjZW5kaWYKKyAgICAgICAgY2FzZSBYTUxfSFRNTF9ET0NVTUVOVF9OT0RFOgorCSAgICBjdXIgPSBjdXItPmNoaWxkcmVuOworCSAgICB3aGlsZSAoY3VyIT0gTlVMTCkgeworCQlpZiAoKGN1ci0+dHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFKSB8fAorCQkgICAgKGN1ci0+dHlwZSA9PSBYTUxfVEVYVF9OT0RFKSB8fAorCQkgICAgKGN1ci0+dHlwZSA9PSBYTUxfQ0RBVEFfU0VDVElPTl9OT0RFKSkgeworCQkgICAgeG1sQnVmR2V0Tm9kZUNvbnRlbnQoYnVmLCBjdXIpOworCQl9CisJCWN1ciA9IGN1ci0+bmV4dDsKKwkgICAgfQorCSAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfTkFNRVNQQUNFX0RFQ0w6CisJICAgIHhtbEJ1ZkNhdChidWYsICgoeG1sTnNQdHIpIGN1ciktPmhyZWYpOworCSAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfRUxFTUVOVF9ERUNMOgorICAgICAgICBjYXNlIFhNTF9BVFRSSUJVVEVfREVDTDoKKyAgICAgICAgY2FzZSBYTUxfRU5USVRZX0RFQ0w6CisgICAgICAgICAgICBicmVhazsKKyAgICB9CisgICAgcmV0dXJuKDApOworfQorCisvKioKKyAqIHhtbE5vZGVHZXRDb250ZW50OgorICogQGN1cjogIHRoZSBub2RlIGJlaW5nIHJlYWQKKyAqCisgKiBSZWFkIHRoZSB2YWx1ZSBvZiBhIG5vZGUsIHRoaXMgY2FuIGJlIGVpdGhlciB0aGUgdGV4dCBjYXJyaWVkCisgKiBkaXJlY3RseSBieSB0aGlzIG5vZGUgaWYgaXQncyBhIFRFWFQgbm9kZSBvciB0aGUgYWdncmVnYXRlIHN0cmluZworICogb2YgdGhlIHZhbHVlcyBjYXJyaWVkIGJ5IHRoaXMgbm9kZSBjaGlsZCdzIChURVhUIGFuZCBFTlRJVFlfUkVGKS4KKyAqIEVudGl0eSByZWZlcmVuY2VzIGFyZSBzdWJzdGl0dXRlZC4KKyAqIFJldHVybnMgYSBuZXcgI3htbENoYXIgKiBvciBOVUxMIGlmIG5vIGNvbnRlbnQgaXMgYXZhaWxhYmxlLgorICogICAgIEl0J3MgdXAgdG8gdGhlIGNhbGxlciB0byBmcmVlIHRoZSBtZW1vcnkgd2l0aCB4bWxGcmVlKCkuCisgKi8KK3htbENoYXIgKgoreG1sTm9kZUdldENvbnRlbnQoY29uc3QgeG1sTm9kZSAqY3VyKQoreworICAgIGlmIChjdXIgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICBzd2l0Y2ggKGN1ci0+dHlwZSkgeworICAgICAgICBjYXNlIFhNTF9ET0NVTUVOVF9GUkFHX05PREU6CisgICAgICAgIGNhc2UgWE1MX0VMRU1FTlRfTk9ERTp7CisgICAgICAgICAgICAgICAgeG1sQnVmUHRyIGJ1ZjsKKyAgICAgICAgICAgICAgICB4bWxDaGFyICpyZXQ7CisKKyAgICAgICAgICAgICAgICBidWYgPSB4bWxCdWZDcmVhdGVTaXplKDY0KTsKKyAgICAgICAgICAgICAgICBpZiAoYnVmID09IE5VTEwpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiAoTlVMTCk7CisJCXhtbEJ1ZkdldE5vZGVDb250ZW50KGJ1ZiwgY3VyKTsKKyAgICAgICAgICAgICAgICByZXQgPSB4bWxCdWZEZXRhY2goYnVmKTsKKyAgICAgICAgICAgICAgICB4bWxCdWZGcmVlKGJ1Zik7CisgICAgICAgICAgICAgICAgcmV0dXJuIChyZXQpOworICAgICAgICAgICAgfQorICAgICAgICBjYXNlIFhNTF9BVFRSSUJVVEVfTk9ERToKKwkgICAgcmV0dXJuKHhtbEdldFByb3BOb2RlVmFsdWVJbnRlcm5hbCgoeG1sQXR0clB0cikgY3VyKSk7CisgICAgICAgIGNhc2UgWE1MX0NPTU1FTlRfTk9ERToKKyAgICAgICAgY2FzZSBYTUxfUElfTk9ERToKKyAgICAgICAgICAgIGlmIChjdXItPmNvbnRlbnQgIT0gTlVMTCkKKyAgICAgICAgICAgICAgICByZXR1cm4gKHhtbFN0cmR1cChjdXItPmNvbnRlbnQpKTsKKyAgICAgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgICAgIGNhc2UgWE1MX0VOVElUWV9SRUZfTk9ERTp7CisgICAgICAgICAgICAgICAgeG1sRW50aXR5UHRyIGVudDsKKyAgICAgICAgICAgICAgICB4bWxCdWZQdHIgYnVmOworICAgICAgICAgICAgICAgIHhtbENoYXIgKnJldDsKKworICAgICAgICAgICAgICAgIC8qIGxvb2t1cCBlbnRpdHkgZGVjbGFyYXRpb24gKi8KKyAgICAgICAgICAgICAgICBlbnQgPSB4bWxHZXREb2NFbnRpdHkoY3VyLT5kb2MsIGN1ci0+bmFtZSk7CisgICAgICAgICAgICAgICAgaWYgKGVudCA9PSBOVUxMKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gKE5VTEwpOworCisgICAgICAgICAgICAgICAgYnVmID0geG1sQnVmQ3JlYXRlKCk7CisgICAgICAgICAgICAgICAgaWYgKGJ1ZiA9PSBOVUxMKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gKE5VTEwpOworCisgICAgICAgICAgICAgICAgeG1sQnVmR2V0Tm9kZUNvbnRlbnQoYnVmLCBjdXIpOworCisgICAgICAgICAgICAgICAgcmV0ID0geG1sQnVmRGV0YWNoKGJ1Zik7CisgICAgICAgICAgICAgICAgeG1sQnVmRnJlZShidWYpOworICAgICAgICAgICAgICAgIHJldHVybiAocmV0KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgY2FzZSBYTUxfRU5USVRZX05PREU6CisgICAgICAgIGNhc2UgWE1MX0RPQ1VNRU5UX1RZUEVfTk9ERToKKyAgICAgICAgY2FzZSBYTUxfTk9UQVRJT05fTk9ERToKKyAgICAgICAgY2FzZSBYTUxfRFREX05PREU6CisgICAgICAgIGNhc2UgWE1MX1hJTkNMVURFX1NUQVJUOgorICAgICAgICBjYXNlIFhNTF9YSU5DTFVERV9FTkQ6CisgICAgICAgICAgICByZXR1cm4gKE5VTEwpOworICAgICAgICBjYXNlIFhNTF9ET0NVTUVOVF9OT0RFOgorI2lmZGVmIExJQlhNTF9ET0NCX0VOQUJMRUQKKyAgICAgICAgY2FzZSBYTUxfRE9DQl9ET0NVTUVOVF9OT0RFOgorI2VuZGlmCisgICAgICAgIGNhc2UgWE1MX0hUTUxfRE9DVU1FTlRfTk9ERTogeworCSAgICB4bWxCdWZQdHIgYnVmOworCSAgICB4bWxDaGFyICpyZXQ7CisKKwkgICAgYnVmID0geG1sQnVmQ3JlYXRlKCk7CisJICAgIGlmIChidWYgPT0gTlVMTCkKKwkJcmV0dXJuIChOVUxMKTsKKworCSAgICB4bWxCdWZHZXROb2RlQ29udGVudChidWYsICh4bWxOb2RlUHRyKSBjdXIpOworCisJICAgIHJldCA9IHhtbEJ1ZkRldGFjaChidWYpOworCSAgICB4bWxCdWZGcmVlKGJ1Zik7CisJICAgIHJldHVybiAocmV0KTsKKwl9CisgICAgICAgIGNhc2UgWE1MX05BTUVTUEFDRV9ERUNMOiB7CisJICAgIHhtbENoYXIgKnRtcDsKKworCSAgICB0bXAgPSB4bWxTdHJkdXAoKCh4bWxOc1B0cikgY3VyKS0+aHJlZik7CisgICAgICAgICAgICByZXR1cm4gKHRtcCk7CisJfQorICAgICAgICBjYXNlIFhNTF9FTEVNRU5UX0RFQ0w6CisgICAgICAgICAgICAvKiBUT0RPICEhISAqLworICAgICAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICAgICAgY2FzZSBYTUxfQVRUUklCVVRFX0RFQ0w6CisgICAgICAgICAgICAvKiBUT0RPICEhISAqLworICAgICAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICAgICAgY2FzZSBYTUxfRU5USVRZX0RFQ0w6CisgICAgICAgICAgICAvKiBUT0RPICEhISAqLworICAgICAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICAgICAgY2FzZSBYTUxfQ0RBVEFfU0VDVElPTl9OT0RFOgorICAgICAgICBjYXNlIFhNTF9URVhUX05PREU6CisgICAgICAgICAgICBpZiAoY3VyLT5jb250ZW50ICE9IE5VTEwpCisgICAgICAgICAgICAgICAgcmV0dXJuICh4bWxTdHJkdXAoY3VyLT5jb250ZW50KSk7CisgICAgICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIH0KKyAgICByZXR1cm4gKE5VTEwpOworfQorCisvKioKKyAqIHhtbE5vZGVTZXRDb250ZW50OgorICogQGN1cjogIHRoZSBub2RlIGJlaW5nIG1vZGlmaWVkCisgKiBAY29udGVudDogIHRoZSBuZXcgdmFsdWUgb2YgdGhlIGNvbnRlbnQKKyAqCisgKiBSZXBsYWNlIHRoZSBjb250ZW50IG9mIGEgbm9kZS4KKyAqIE5PVEU6IEBjb250ZW50IGlzIHN1cHBvc2VkIHRvIGJlIGEgcGllY2Ugb2YgWE1MIENEQVRBLCBzbyBpdCBhbGxvd3MgZW50aXR5CisgKiAgICAgICByZWZlcmVuY2VzLCBidXQgWE1MIHNwZWNpYWwgY2hhcnMgbmVlZCB0byBiZSBlc2NhcGVkIGZpcnN0IGJ5IHVzaW5nCisgKiAgICAgICB4bWxFbmNvZGVFbnRpdGllc1JlZW50cmFudCgpIHJlc3AuIHhtbEVuY29kZVNwZWNpYWxDaGFycygpLgorICovCit2b2lkCit4bWxOb2RlU2V0Q29udGVudCh4bWxOb2RlUHRyIGN1ciwgY29uc3QgeG1sQ2hhciAqY29udGVudCkgeworICAgIGlmIChjdXIgPT0gTlVMTCkgeworI2lmZGVmIERFQlVHX1RSRUUKKyAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSJ4bWxOb2RlU2V0Q29udGVudCA6IG5vZGUgPT0gTlVMTFxuIik7CisjZW5kaWYKKwlyZXR1cm47CisgICAgfQorICAgIHN3aXRjaCAoY3VyLT50eXBlKSB7CisgICAgICAgIGNhc2UgWE1MX0RPQ1VNRU5UX0ZSQUdfTk9ERToKKyAgICAgICAgY2FzZSBYTUxfRUxFTUVOVF9OT0RFOgorICAgICAgICBjYXNlIFhNTF9BVFRSSUJVVEVfTk9ERToKKwkgICAgaWYgKGN1ci0+Y2hpbGRyZW4gIT0gTlVMTCkgeG1sRnJlZU5vZGVMaXN0KGN1ci0+Y2hpbGRyZW4pOworCSAgICBjdXItPmNoaWxkcmVuID0geG1sU3RyaW5nR2V0Tm9kZUxpc3QoY3VyLT5kb2MsIGNvbnRlbnQpOworCSAgICBVUERBVEVfTEFTVF9DSElMRF9BTkRfUEFSRU5UKGN1cikKKwkgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1RFWFRfTk9ERToKKyAgICAgICAgY2FzZSBYTUxfQ0RBVEFfU0VDVElPTl9OT0RFOgorICAgICAgICBjYXNlIFhNTF9FTlRJVFlfUkVGX05PREU6CisgICAgICAgIGNhc2UgWE1MX0VOVElUWV9OT0RFOgorICAgICAgICBjYXNlIFhNTF9QSV9OT0RFOgorICAgICAgICBjYXNlIFhNTF9DT01NRU5UX05PREU6CisJICAgIGlmICgoY3VyLT5jb250ZW50ICE9IE5VTEwpICYmCisJICAgICAgICAoY3VyLT5jb250ZW50ICE9ICh4bWxDaGFyICopICYoY3VyLT5wcm9wZXJ0aWVzKSkpIHsKKwkgICAgICAgIGlmICghKChjdXItPmRvYyAhPSBOVUxMKSAmJiAoY3VyLT5kb2MtPmRpY3QgIT0gTlVMTCkgJiYKKwkJICAgICh4bWxEaWN0T3ducyhjdXItPmRvYy0+ZGljdCwgY3VyLT5jb250ZW50KSkpKQorCQkgICAgeG1sRnJlZShjdXItPmNvbnRlbnQpOworCSAgICB9CisJICAgIGlmIChjdXItPmNoaWxkcmVuICE9IE5VTEwpIHhtbEZyZWVOb2RlTGlzdChjdXItPmNoaWxkcmVuKTsKKwkgICAgY3VyLT5sYXN0ID0gY3VyLT5jaGlsZHJlbiA9IE5VTEw7CisJICAgIGlmIChjb250ZW50ICE9IE5VTEwpIHsKKwkJY3VyLT5jb250ZW50ID0geG1sU3RyZHVwKGNvbnRlbnQpOworCSAgICB9IGVsc2UKKwkJY3VyLT5jb250ZW50ID0gTlVMTDsKKwkgICAgY3VyLT5wcm9wZXJ0aWVzID0gTlVMTDsKKwkgICAgY3VyLT5uc0RlZiA9IE5VTEw7CisJICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9ET0NVTUVOVF9OT0RFOgorICAgICAgICBjYXNlIFhNTF9IVE1MX0RPQ1VNRU5UX05PREU6CisgICAgICAgIGNhc2UgWE1MX0RPQ1VNRU5UX1RZUEVfTk9ERToKKwljYXNlIFhNTF9YSU5DTFVERV9TVEFSVDoKKwljYXNlIFhNTF9YSU5DTFVERV9FTkQ6CisjaWZkZWYgTElCWE1MX0RPQ0JfRU5BQkxFRAorCWNhc2UgWE1MX0RPQ0JfRE9DVU1FTlRfTk9ERToKKyNlbmRpZgorCSAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfTk9UQVRJT05fTk9ERToKKwkgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0RURF9OT0RFOgorCSAgICBicmVhazsKKwljYXNlIFhNTF9OQU1FU1BBQ0VfREVDTDoKKwkgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0VMRU1FTlRfREVDTDoKKwkgICAgLyogVE9ETyAhISEgKi8KKwkgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0FUVFJJQlVURV9ERUNMOgorCSAgICAvKiBUT0RPICEhISAqLworCSAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfRU5USVRZX0RFQ0w6CisJICAgIC8qIFRPRE8gISEhICovCisJICAgIGJyZWFrOworICAgIH0KK30KKworI2lmZGVmIExJQlhNTF9UUkVFX0VOQUJMRUQKKy8qKgorICogeG1sTm9kZVNldENvbnRlbnRMZW46CisgKiBAY3VyOiAgdGhlIG5vZGUgYmVpbmcgbW9kaWZpZWQKKyAqIEBjb250ZW50OiAgdGhlIG5ldyB2YWx1ZSBvZiB0aGUgY29udGVudAorICogQGxlbjogIHRoZSBzaXplIG9mIEBjb250ZW50CisgKgorICogUmVwbGFjZSB0aGUgY29udGVudCBvZiBhIG5vZGUuCisgKiBOT1RFOiBAY29udGVudCBpcyBzdXBwb3NlZCB0byBiZSBhIHBpZWNlIG9mIFhNTCBDREFUQSwgc28gaXQgYWxsb3dzIGVudGl0eQorICogICAgICAgcmVmZXJlbmNlcywgYnV0IFhNTCBzcGVjaWFsIGNoYXJzIG5lZWQgdG8gYmUgZXNjYXBlZCBmaXJzdCBieSB1c2luZworICogICAgICAgeG1sRW5jb2RlRW50aXRpZXNSZWVudHJhbnQoKSByZXNwLiB4bWxFbmNvZGVTcGVjaWFsQ2hhcnMoKS4KKyAqLwordm9pZAoreG1sTm9kZVNldENvbnRlbnRMZW4oeG1sTm9kZVB0ciBjdXIsIGNvbnN0IHhtbENoYXIgKmNvbnRlbnQsIGludCBsZW4pIHsKKyAgICBpZiAoY3VyID09IE5VTEwpIHsKKyNpZmRlZiBERUJVR19UUkVFCisgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkieG1sTm9kZVNldENvbnRlbnRMZW4gOiBub2RlID09IE5VTExcbiIpOworI2VuZGlmCisJcmV0dXJuOworICAgIH0KKyAgICBzd2l0Y2ggKGN1ci0+dHlwZSkgeworICAgICAgICBjYXNlIFhNTF9ET0NVTUVOVF9GUkFHX05PREU6CisgICAgICAgIGNhc2UgWE1MX0VMRU1FTlRfTk9ERToKKyAgICAgICAgY2FzZSBYTUxfQVRUUklCVVRFX05PREU6CisJICAgIGlmIChjdXItPmNoaWxkcmVuICE9IE5VTEwpIHhtbEZyZWVOb2RlTGlzdChjdXItPmNoaWxkcmVuKTsKKwkgICAgY3VyLT5jaGlsZHJlbiA9IHhtbFN0cmluZ0xlbkdldE5vZGVMaXN0KGN1ci0+ZG9jLCBjb250ZW50LCBsZW4pOworCSAgICBVUERBVEVfTEFTVF9DSElMRF9BTkRfUEFSRU5UKGN1cikKKwkgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1RFWFRfTk9ERToKKyAgICAgICAgY2FzZSBYTUxfQ0RBVEFfU0VDVElPTl9OT0RFOgorICAgICAgICBjYXNlIFhNTF9FTlRJVFlfUkVGX05PREU6CisgICAgICAgIGNhc2UgWE1MX0VOVElUWV9OT0RFOgorICAgICAgICBjYXNlIFhNTF9QSV9OT0RFOgorICAgICAgICBjYXNlIFhNTF9DT01NRU5UX05PREU6CisgICAgICAgIGNhc2UgWE1MX05PVEFUSU9OX05PREU6CisJICAgIGlmICgoY3VyLT5jb250ZW50ICE9IE5VTEwpICYmCisJICAgICAgICAoY3VyLT5jb250ZW50ICE9ICh4bWxDaGFyICopICYoY3VyLT5wcm9wZXJ0aWVzKSkpIHsKKwkgICAgICAgIGlmICghKChjdXItPmRvYyAhPSBOVUxMKSAmJiAoY3VyLT5kb2MtPmRpY3QgIT0gTlVMTCkgJiYKKwkJICAgICh4bWxEaWN0T3ducyhjdXItPmRvYy0+ZGljdCwgY3VyLT5jb250ZW50KSkpKQorCQkgICAgeG1sRnJlZShjdXItPmNvbnRlbnQpOworCSAgICB9CisJICAgIGlmIChjdXItPmNoaWxkcmVuICE9IE5VTEwpIHhtbEZyZWVOb2RlTGlzdChjdXItPmNoaWxkcmVuKTsKKwkgICAgY3VyLT5jaGlsZHJlbiA9IGN1ci0+bGFzdCA9IE5VTEw7CisJICAgIGlmIChjb250ZW50ICE9IE5VTEwpIHsKKwkJY3VyLT5jb250ZW50ID0geG1sU3RybmR1cChjb250ZW50LCBsZW4pOworCSAgICB9IGVsc2UKKwkJY3VyLT5jb250ZW50ID0gTlVMTDsKKwkgICAgY3VyLT5wcm9wZXJ0aWVzID0gTlVMTDsKKwkgICAgY3VyLT5uc0RlZiA9IE5VTEw7CisJICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9ET0NVTUVOVF9OT0RFOgorICAgICAgICBjYXNlIFhNTF9EVERfTk9ERToKKyAgICAgICAgY2FzZSBYTUxfSFRNTF9ET0NVTUVOVF9OT0RFOgorICAgICAgICBjYXNlIFhNTF9ET0NVTUVOVF9UWVBFX05PREU6CisJY2FzZSBYTUxfTkFNRVNQQUNFX0RFQ0w6CisJY2FzZSBYTUxfWElOQ0xVREVfU1RBUlQ6CisJY2FzZSBYTUxfWElOQ0xVREVfRU5EOgorI2lmZGVmIExJQlhNTF9ET0NCX0VOQUJMRUQKKwljYXNlIFhNTF9ET0NCX0RPQ1VNRU5UX05PREU6CisjZW5kaWYKKwkgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0VMRU1FTlRfREVDTDoKKwkgICAgLyogVE9ETyAhISEgKi8KKwkgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0FUVFJJQlVURV9ERUNMOgorCSAgICAvKiBUT0RPICEhISAqLworCSAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfRU5USVRZX0RFQ0w6CisJICAgIC8qIFRPRE8gISEhICovCisJICAgIGJyZWFrOworICAgIH0KK30KKyNlbmRpZiAvKiBMSUJYTUxfVFJFRV9FTkFCTEVEICovCisKKy8qKgorICogeG1sTm9kZUFkZENvbnRlbnRMZW46CisgKiBAY3VyOiAgdGhlIG5vZGUgYmVpbmcgbW9kaWZpZWQKKyAqIEBjb250ZW50OiAgZXh0cmEgY29udGVudAorICogQGxlbjogIHRoZSBzaXplIG9mIEBjb250ZW50CisgKgorICogQXBwZW5kIHRoZSBleHRyYSBzdWJzdHJpbmcgdG8gdGhlIG5vZGUgY29udGVudC4KKyAqIE5PVEU6IEluIGNvbnRyYXN0IHRvIHhtbE5vZGVTZXRDb250ZW50TGVuKCksIEBjb250ZW50IGlzIHN1cHBvc2VkIHRvIGJlCisgKiAgICAgICByYXcgdGV4dCwgc28gdW5lc2NhcGVkIFhNTCBzcGVjaWFsIGNoYXJzIGFyZSBhbGxvd2VkLCBlbnRpdHkKKyAqICAgICAgIHJlZmVyZW5jZXMgYXJlIG5vdCBzdXBwb3J0ZWQuCisgKi8KK3ZvaWQKK3htbE5vZGVBZGRDb250ZW50TGVuKHhtbE5vZGVQdHIgY3VyLCBjb25zdCB4bWxDaGFyICpjb250ZW50LCBpbnQgbGVuKSB7CisgICAgaWYgKGN1ciA9PSBOVUxMKSB7CisjaWZkZWYgREVCVUdfVFJFRQorICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJInhtbE5vZGVBZGRDb250ZW50TGVuIDogbm9kZSA9PSBOVUxMXG4iKTsKKyNlbmRpZgorCXJldHVybjsKKyAgICB9CisgICAgaWYgKGxlbiA8PSAwKSByZXR1cm47CisgICAgc3dpdGNoIChjdXItPnR5cGUpIHsKKyAgICAgICAgY2FzZSBYTUxfRE9DVU1FTlRfRlJBR19OT0RFOgorICAgICAgICBjYXNlIFhNTF9FTEVNRU5UX05PREU6IHsKKwkgICAgeG1sTm9kZVB0ciBsYXN0LCBuZXdOb2RlLCB0bXA7CisKKwkgICAgbGFzdCA9IGN1ci0+bGFzdDsKKwkgICAgbmV3Tm9kZSA9IHhtbE5ld1RleHRMZW4oY29udGVudCwgbGVuKTsKKwkgICAgaWYgKG5ld05vZGUgIT0gTlVMTCkgeworCQl0bXAgPSB4bWxBZGRDaGlsZChjdXIsIG5ld05vZGUpOworCQlpZiAodG1wICE9IG5ld05vZGUpCisJCSAgICByZXR1cm47CisJICAgICAgICBpZiAoKGxhc3QgIT0gTlVMTCkgJiYgKGxhc3QtPm5leHQgPT0gbmV3Tm9kZSkpIHsKKwkJICAgIHhtbFRleHRNZXJnZShsYXN0LCBuZXdOb2RlKTsKKwkJfQorCSAgICB9CisJICAgIGJyZWFrOworCX0KKyAgICAgICAgY2FzZSBYTUxfQVRUUklCVVRFX05PREU6CisJICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9URVhUX05PREU6CisgICAgICAgIGNhc2UgWE1MX0NEQVRBX1NFQ1RJT05fTk9ERToKKyAgICAgICAgY2FzZSBYTUxfRU5USVRZX1JFRl9OT0RFOgorICAgICAgICBjYXNlIFhNTF9FTlRJVFlfTk9ERToKKyAgICAgICAgY2FzZSBYTUxfUElfTk9ERToKKyAgICAgICAgY2FzZSBYTUxfQ09NTUVOVF9OT0RFOgorICAgICAgICBjYXNlIFhNTF9OT1RBVElPTl9OT0RFOgorCSAgICBpZiAoY29udGVudCAhPSBOVUxMKSB7CisJICAgICAgICBpZiAoKGN1ci0+Y29udGVudCA9PSAoeG1sQ2hhciAqKSAmKGN1ci0+cHJvcGVydGllcykpIHx8CisJCSAgICAoKGN1ci0+ZG9jICE9IE5VTEwpICYmIChjdXItPmRvYy0+ZGljdCAhPSBOVUxMKSAmJgorCQkJICAgIHhtbERpY3RPd25zKGN1ci0+ZG9jLT5kaWN0LCBjdXItPmNvbnRlbnQpKSkgeworCQkgICAgY3VyLT5jb250ZW50ID0geG1sU3RybmNhdE5ldyhjdXItPmNvbnRlbnQsIGNvbnRlbnQsIGxlbik7CisJCSAgICBjdXItPnByb3BlcnRpZXMgPSBOVUxMOworCQkgICAgY3VyLT5uc0RlZiA9IE5VTEw7CisJCSAgICBicmVhazsKKwkJfQorCQljdXItPmNvbnRlbnQgPSB4bWxTdHJuY2F0KGN1ci0+Y29udGVudCwgY29udGVudCwgbGVuKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgY2FzZSBYTUxfRE9DVU1FTlRfTk9ERToKKyAgICAgICAgY2FzZSBYTUxfRFREX05PREU6CisgICAgICAgIGNhc2UgWE1MX0hUTUxfRE9DVU1FTlRfTk9ERToKKyAgICAgICAgY2FzZSBYTUxfRE9DVU1FTlRfVFlQRV9OT0RFOgorCWNhc2UgWE1MX05BTUVTUEFDRV9ERUNMOgorCWNhc2UgWE1MX1hJTkNMVURFX1NUQVJUOgorCWNhc2UgWE1MX1hJTkNMVURFX0VORDoKKyNpZmRlZiBMSUJYTUxfRE9DQl9FTkFCTEVECisJY2FzZSBYTUxfRE9DQl9ET0NVTUVOVF9OT0RFOgorI2VuZGlmCisJICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9FTEVNRU5UX0RFQ0w6CisgICAgICAgIGNhc2UgWE1MX0FUVFJJQlVURV9ERUNMOgorICAgICAgICBjYXNlIFhNTF9FTlRJVFlfREVDTDoKKwkgICAgYnJlYWs7CisgICAgfQorfQorCisvKioKKyAqIHhtbE5vZGVBZGRDb250ZW50OgorICogQGN1cjogIHRoZSBub2RlIGJlaW5nIG1vZGlmaWVkCisgKiBAY29udGVudDogIGV4dHJhIGNvbnRlbnQKKyAqCisgKiBBcHBlbmQgdGhlIGV4dHJhIHN1YnN0cmluZyB0byB0aGUgbm9kZSBjb250ZW50LgorICogTk9URTogSW4gY29udHJhc3QgdG8geG1sTm9kZVNldENvbnRlbnQoKSwgQGNvbnRlbnQgaXMgc3VwcG9zZWQgdG8gYmUKKyAqICAgICAgIHJhdyB0ZXh0LCBzbyB1bmVzY2FwZWQgWE1MIHNwZWNpYWwgY2hhcnMgYXJlIGFsbG93ZWQsIGVudGl0eQorICogICAgICAgcmVmZXJlbmNlcyBhcmUgbm90IHN1cHBvcnRlZC4KKyAqLwordm9pZAoreG1sTm9kZUFkZENvbnRlbnQoeG1sTm9kZVB0ciBjdXIsIGNvbnN0IHhtbENoYXIgKmNvbnRlbnQpIHsKKyAgICBpbnQgbGVuOworCisgICAgaWYgKGN1ciA9PSBOVUxMKSB7CisjaWZkZWYgREVCVUdfVFJFRQorICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJInhtbE5vZGVBZGRDb250ZW50IDogbm9kZSA9PSBOVUxMXG4iKTsKKyNlbmRpZgorCXJldHVybjsKKyAgICB9CisgICAgaWYgKGNvbnRlbnQgPT0gTlVMTCkgcmV0dXJuOworICAgIGxlbiA9IHhtbFN0cmxlbihjb250ZW50KTsKKyAgICB4bWxOb2RlQWRkQ29udGVudExlbihjdXIsIGNvbnRlbnQsIGxlbik7Cit9CisKKy8qKgorICogeG1sVGV4dE1lcmdlOgorICogQGZpcnN0OiAgdGhlIGZpcnN0IHRleHQgbm9kZQorICogQHNlY29uZDogIHRoZSBzZWNvbmQgdGV4dCBub2RlIGJlaW5nIG1lcmdlZAorICoKKyAqIE1lcmdlIHR3byB0ZXh0IG5vZGVzIGludG8gb25lCisgKiBSZXR1cm5zIHRoZSBmaXJzdCB0ZXh0IG5vZGUgYXVnbWVudGVkCisgKi8KK3htbE5vZGVQdHIKK3htbFRleHRNZXJnZSh4bWxOb2RlUHRyIGZpcnN0LCB4bWxOb2RlUHRyIHNlY29uZCkgeworICAgIGlmIChmaXJzdCA9PSBOVUxMKSByZXR1cm4oc2Vjb25kKTsKKyAgICBpZiAoc2Vjb25kID09IE5VTEwpIHJldHVybihmaXJzdCk7CisgICAgaWYgKGZpcnN0LT50eXBlICE9IFhNTF9URVhUX05PREUpIHJldHVybihmaXJzdCk7CisgICAgaWYgKHNlY29uZC0+dHlwZSAhPSBYTUxfVEVYVF9OT0RFKSByZXR1cm4oZmlyc3QpOworICAgIGlmIChzZWNvbmQtPm5hbWUgIT0gZmlyc3QtPm5hbWUpCisJcmV0dXJuKGZpcnN0KTsKKyAgICB4bWxOb2RlQWRkQ29udGVudChmaXJzdCwgc2Vjb25kLT5jb250ZW50KTsKKyAgICB4bWxVbmxpbmtOb2RlKHNlY29uZCk7CisgICAgeG1sRnJlZU5vZGUoc2Vjb25kKTsKKyAgICByZXR1cm4oZmlyc3QpOworfQorCisjaWYgZGVmaW5lZChMSUJYTUxfVFJFRV9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisvKioKKyAqIHhtbEdldE5zTGlzdDoKKyAqIEBkb2M6ICB0aGUgZG9jdW1lbnQKKyAqIEBub2RlOiAgdGhlIGN1cnJlbnQgbm9kZQorICoKKyAqIFNlYXJjaCBhbGwgdGhlIG5hbWVzcGFjZSBhcHBseWluZyB0byBhIGdpdmVuIGVsZW1lbnQuCisgKiBSZXR1cm5zIGFuIE5VTEwgdGVybWluYXRlZCBhcnJheSBvZiBhbGwgdGhlICN4bWxOc1B0ciBmb3VuZAorICogICAgICAgICB0aGF0IG5lZWQgdG8gYmUgZnJlZWQgYnkgdGhlIGNhbGxlciBvciBOVUxMIGlmIG5vCisgKiAgICAgICAgIG5hbWVzcGFjZSBpZiBkZWZpbmVkCisgKi8KK3htbE5zUHRyICoKK3htbEdldE5zTGlzdChjb25zdCB4bWxEb2MgKmRvYyBBVFRSSUJVVEVfVU5VU0VELCBjb25zdCB4bWxOb2RlICpub2RlKQoreworICAgIHhtbE5zUHRyIGN1cjsKKyAgICB4bWxOc1B0ciAqcmV0ID0gTlVMTDsKKyAgICBpbnQgbmJucyA9IDA7CisgICAgaW50IG1heG5zID0gMTA7CisgICAgaW50IGk7CisKKyAgICBpZiAoKG5vZGUgPT0gTlVMTCkgfHwgKG5vZGUtPnR5cGUgPT0gWE1MX05BTUVTUEFDRV9ERUNMKSkKKyAgICAgICAgcmV0dXJuKE5VTEwpOworCisgICAgd2hpbGUgKG5vZGUgIT0gTlVMTCkgeworICAgICAgICBpZiAobm9kZS0+dHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFKSB7CisgICAgICAgICAgICBjdXIgPSBub2RlLT5uc0RlZjsKKyAgICAgICAgICAgIHdoaWxlIChjdXIgIT0gTlVMTCkgeworICAgICAgICAgICAgICAgIGlmIChyZXQgPT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICByZXQgPQorICAgICAgICAgICAgICAgICAgICAgICAgKHhtbE5zUHRyICopIHhtbE1hbGxvYygobWF4bnMgKyAxKSAqCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZih4bWxOc1B0cikpOworICAgICAgICAgICAgICAgICAgICBpZiAocmV0ID09IE5VTEwpIHsKKwkJCXhtbFRyZWVFcnJNZW1vcnkoImdldHRpbmcgbmFtZXNwYWNlIGxpc3QiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgcmV0W25ibnNdID0gTlVMTDsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IG5ibnM7IGkrKykgeworICAgICAgICAgICAgICAgICAgICBpZiAoKGN1ci0+cHJlZml4ID09IHJldFtpXS0+cHJlZml4KSB8fAorICAgICAgICAgICAgICAgICAgICAgICAgKHhtbFN0ckVxdWFsKGN1ci0+cHJlZml4LCByZXRbaV0tPnByZWZpeCkpKQorICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGlmIChpID49IG5ibnMpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKG5ibnMgPj0gbWF4bnMpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIG1heG5zICo9IDI7CisgICAgICAgICAgICAgICAgICAgICAgICByZXQgPSAoeG1sTnNQdHIgKikgeG1sUmVhbGxvYyhyZXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobWF4bnMgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEpICoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZih4bWxOc1B0cikpOworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJldCA9PSBOVUxMKSB7CisJCQkgICAgeG1sVHJlZUVyck1lbW9yeSgiZ2V0dGluZyBuYW1lc3BhY2UgbGlzdCIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgcmV0W25ibnMrK10gPSBjdXI7CisgICAgICAgICAgICAgICAgICAgIHJldFtuYm5zXSA9IE5VTEw7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgY3VyID0gY3VyLT5uZXh0OworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIG5vZGUgPSBub2RlLT5wYXJlbnQ7CisgICAgfQorICAgIHJldHVybiAocmV0KTsKK30KKyNlbmRpZiAvKiBMSUJYTUxfVFJFRV9FTkFCTEVEICovCisKKy8qCisqIHhtbFRyZWVFbnN1cmVYTUxEZWNsOgorKiBAZG9jOiB0aGUgZG9jCisqCisqIEVuc3VyZXMgdGhhdCB0aGVyZSBpcyBhbiBYTUwgbmFtZXNwYWNlIGRlY2xhcmF0aW9uIG9uIHRoZSBkb2MuCisqCisqIFJldHVybnMgdGhlIFhNTCBucy1zdHJ1Y3Qgb3IgTlVMTCBvbiBBUEkgYW5kIGludGVybmFsIGVycm9ycy4KKyovCitzdGF0aWMgeG1sTnNQdHIKK3htbFRyZWVFbnN1cmVYTUxEZWNsKHhtbERvY1B0ciBkb2MpCit7CisgICAgaWYgKGRvYyA9PSBOVUxMKQorCXJldHVybiAoTlVMTCk7CisgICAgaWYgKGRvYy0+b2xkTnMgIT0gTlVMTCkKKwlyZXR1cm4gKGRvYy0+b2xkTnMpOworICAgIHsKKwl4bWxOc1B0ciBuczsKKwlucyA9ICh4bWxOc1B0cikgeG1sTWFsbG9jKHNpemVvZih4bWxOcykpOworCWlmIChucyA9PSBOVUxMKSB7CisJICAgIHhtbFRyZWVFcnJNZW1vcnkoCisJCSJhbGxvY2F0aW5nIHRoZSBYTUwgbmFtZXNwYWNlIik7CisJICAgIHJldHVybiAoTlVMTCk7CisJfQorCW1lbXNldChucywgMCwgc2l6ZW9mKHhtbE5zKSk7CisJbnMtPnR5cGUgPSBYTUxfTE9DQUxfTkFNRVNQQUNFOworCW5zLT5ocmVmID0geG1sU3RyZHVwKFhNTF9YTUxfTkFNRVNQQUNFKTsKKwlucy0+cHJlZml4ID0geG1sU3RyZHVwKChjb25zdCB4bWxDaGFyICopInhtbCIpOworCWRvYy0+b2xkTnMgPSBuczsKKwlyZXR1cm4gKG5zKTsKKyAgICB9Cit9CisKKy8qKgorICogeG1sU2VhcmNoTnM6CisgKiBAZG9jOiAgdGhlIGRvY3VtZW50CisgKiBAbm9kZTogIHRoZSBjdXJyZW50IG5vZGUKKyAqIEBuYW1lU3BhY2U6ICB0aGUgbmFtZXNwYWNlIHByZWZpeAorICoKKyAqIFNlYXJjaCBhIE5zIHJlZ2lzdGVyZWQgdW5kZXIgYSBnaXZlbiBuYW1lIHNwYWNlIGZvciBhIGRvY3VtZW50LgorICogcmVjdXJzZSBvbiB0aGUgcGFyZW50cyB1bnRpbCBpdCBmaW5kcyB0aGUgZGVmaW5lZCBuYW1lc3BhY2UKKyAqIG9yIHJldHVybiBOVUxMIG90aGVyd2lzZS4KKyAqIEBuYW1lU3BhY2UgY2FuIGJlIE5VTEwsIHRoaXMgaXMgYSBzZWFyY2ggZm9yIHRoZSBkZWZhdWx0IG5hbWVzcGFjZS4KKyAqIFdlIGRvbid0IGFsbG93IHRvIGNyb3NzIGVudGl0aWVzIGJvdW5kYXJpZXMuIElmIHlvdSBkb24ndCBkZWNsYXJlCisgKiB0aGUgbmFtZXNwYWNlIHdpdGhpbiB0aG9zZSB5b3Ugd2lsbCBiZSBpbiB0cm91YmxlcyAhISEgQSB3YXJuaW5nCisgKiBpcyBnZW5lcmF0ZWQgdG8gY292ZXIgdGhpcyBjYXNlLgorICoKKyAqIFJldHVybnMgdGhlIG5hbWVzcGFjZSBwb2ludGVyIG9yIE5VTEwuCisgKi8KK3htbE5zUHRyCit4bWxTZWFyY2hOcyh4bWxEb2NQdHIgZG9jLCB4bWxOb2RlUHRyIG5vZGUsIGNvbnN0IHhtbENoYXIgKm5hbWVTcGFjZSkgeworCisgICAgeG1sTnNQdHIgY3VyOworICAgIGNvbnN0IHhtbE5vZGUgKm9yaWcgPSBub2RlOworCisgICAgaWYgKChub2RlID09IE5VTEwpIHx8IChub2RlLT50eXBlID09IFhNTF9OQU1FU1BBQ0VfREVDTCkpIHJldHVybihOVUxMKTsKKyAgICBpZiAoKG5hbWVTcGFjZSAhPSBOVUxMKSAmJgorCSh4bWxTdHJFcXVhbChuYW1lU3BhY2UsIChjb25zdCB4bWxDaGFyICopInhtbCIpKSkgeworCWlmICgoZG9jID09IE5VTEwpICYmIChub2RlLT50eXBlID09IFhNTF9FTEVNRU5UX05PREUpKSB7CisJICAgIC8qCisJICAgICAqIFRoZSBYTUwtMS4wIG5hbWVzcGFjZSBpcyBub3JtYWxseSBoZWxkIG9uIHRoZSByb290CisJICAgICAqIGVsZW1lbnQuIEluIHRoaXMgY2FzZSBleGNlcHRpb25hbGx5IGNyZWF0ZSBpdCBvbiB0aGUKKwkgICAgICogbm9kZSBlbGVtZW50LgorCSAgICAgKi8KKwkgICAgY3VyID0gKHhtbE5zUHRyKSB4bWxNYWxsb2Moc2l6ZW9mKHhtbE5zKSk7CisJICAgIGlmIChjdXIgPT0gTlVMTCkgeworCQl4bWxUcmVlRXJyTWVtb3J5KCJzZWFyY2hpbmcgbmFtZXNwYWNlIik7CisJCXJldHVybihOVUxMKTsKKwkgICAgfQorCSAgICBtZW1zZXQoY3VyLCAwLCBzaXplb2YoeG1sTnMpKTsKKwkgICAgY3VyLT50eXBlID0gWE1MX0xPQ0FMX05BTUVTUEFDRTsKKwkgICAgY3VyLT5ocmVmID0geG1sU3RyZHVwKFhNTF9YTUxfTkFNRVNQQUNFKTsKKwkgICAgY3VyLT5wcmVmaXggPSB4bWxTdHJkdXAoKGNvbnN0IHhtbENoYXIgKikieG1sIik7CisJICAgIGN1ci0+bmV4dCA9IG5vZGUtPm5zRGVmOworCSAgICBub2RlLT5uc0RlZiA9IGN1cjsKKwkgICAgcmV0dXJuKGN1cik7CisJfQorCWlmIChkb2MgPT0gTlVMTCkgeworCSAgICBkb2MgPSBub2RlLT5kb2M7CisJICAgIGlmIChkb2MgPT0gTlVMTCkKKwkJcmV0dXJuKE5VTEwpOworCX0KKwkvKgorCSogUmV0dXJuIHRoZSBYTUwgbmFtZXNwYWNlIGRlY2xhcmF0aW9uIGhlbGQgYnkgdGhlIGRvYy4KKwkqLworCWlmIChkb2MtPm9sZE5zID09IE5VTEwpCisJICAgIHJldHVybih4bWxUcmVlRW5zdXJlWE1MRGVjbChkb2MpKTsKKwllbHNlCisJICAgIHJldHVybihkb2MtPm9sZE5zKTsKKyAgICB9CisgICAgd2hpbGUgKG5vZGUgIT0gTlVMTCkgeworCWlmICgobm9kZS0+dHlwZSA9PSBYTUxfRU5USVRZX1JFRl9OT0RFKSB8fAorCSAgICAobm9kZS0+dHlwZSA9PSBYTUxfRU5USVRZX05PREUpIHx8CisJICAgIChub2RlLT50eXBlID09IFhNTF9FTlRJVFlfREVDTCkpCisJICAgIHJldHVybihOVUxMKTsKKwlpZiAobm9kZS0+dHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFKSB7CisJICAgIGN1ciA9IG5vZGUtPm5zRGVmOworCSAgICB3aGlsZSAoY3VyICE9IE5VTEwpIHsKKwkJaWYgKChjdXItPnByZWZpeCA9PSBOVUxMKSAmJiAobmFtZVNwYWNlID09IE5VTEwpICYmCisJCSAgICAoY3VyLT5ocmVmICE9IE5VTEwpKQorCQkgICAgcmV0dXJuKGN1cik7CisJCWlmICgoY3VyLT5wcmVmaXggIT0gTlVMTCkgJiYgKG5hbWVTcGFjZSAhPSBOVUxMKSAmJgorCQkgICAgKGN1ci0+aHJlZiAhPSBOVUxMKSAmJgorCQkgICAgKHhtbFN0ckVxdWFsKGN1ci0+cHJlZml4LCBuYW1lU3BhY2UpKSkKKwkJICAgIHJldHVybihjdXIpOworCQljdXIgPSBjdXItPm5leHQ7CisJICAgIH0KKwkgICAgaWYgKG9yaWcgIT0gbm9kZSkgeworCSAgICAgICAgY3VyID0gbm9kZS0+bnM7CisJICAgICAgICBpZiAoY3VyICE9IE5VTEwpIHsKKwkJICAgIGlmICgoY3VyLT5wcmVmaXggPT0gTlVMTCkgJiYgKG5hbWVTcGFjZSA9PSBOVUxMKSAmJgorCQkgICAgICAgIChjdXItPmhyZWYgIT0gTlVMTCkpCisJCSAgICAgICAgcmV0dXJuKGN1cik7CisJCSAgICBpZiAoKGN1ci0+cHJlZml4ICE9IE5VTEwpICYmIChuYW1lU3BhY2UgIT0gTlVMTCkgJiYKKwkJICAgICAgICAoY3VyLT5ocmVmICE9IE5VTEwpICYmCisJCSAgICAgICAgKHhtbFN0ckVxdWFsKGN1ci0+cHJlZml4LCBuYW1lU3BhY2UpKSkKKwkJICAgICAgICByZXR1cm4oY3VyKTsKKwkgICAgICAgIH0KKwkgICAgfQorCX0KKwlub2RlID0gbm9kZS0+cGFyZW50OworICAgIH0KKyAgICByZXR1cm4oTlVMTCk7Cit9CisKKy8qKgorICogeG1sTnNJblNjb3BlOgorICogQGRvYzogIHRoZSBkb2N1bWVudAorICogQG5vZGU6ICB0aGUgY3VycmVudCBub2RlCisgKiBAYW5jZXN0b3I6ICB0aGUgYW5jZXN0b3IgY2FycnlpbmcgdGhlIG5hbWVzcGFjZQorICogQHByZWZpeDogIHRoZSBuYW1lc3BhY2UgcHJlZml4CisgKgorICogVmVyaWZ5IHRoYXQgdGhlIGdpdmVuIG5hbWVzcGFjZSBoZWxkIG9uIEBhbmNlc3RvciBpcyBzdGlsbCBpbiBzY29wZQorICogb24gbm9kZS4KKyAqCisgKiBSZXR1cm5zIDEgaWYgdHJ1ZSwgMCBpZiBmYWxzZSBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworc3RhdGljIGludAoreG1sTnNJblNjb3BlKHhtbERvY1B0ciBkb2MgQVRUUklCVVRFX1VOVVNFRCwgeG1sTm9kZVB0ciBub2RlLAorICAgICAgICAgICAgIHhtbE5vZGVQdHIgYW5jZXN0b3IsIGNvbnN0IHhtbENoYXIgKiBwcmVmaXgpCit7CisgICAgeG1sTnNQdHIgdHN0OworCisgICAgd2hpbGUgKChub2RlICE9IE5VTEwpICYmIChub2RlICE9IGFuY2VzdG9yKSkgeworICAgICAgICBpZiAoKG5vZGUtPnR5cGUgPT0gWE1MX0VOVElUWV9SRUZfTk9ERSkgfHwKKyAgICAgICAgICAgIChub2RlLT50eXBlID09IFhNTF9FTlRJVFlfTk9ERSkgfHwKKyAgICAgICAgICAgIChub2RlLT50eXBlID09IFhNTF9FTlRJVFlfREVDTCkpCisgICAgICAgICAgICByZXR1cm4gKC0xKTsKKyAgICAgICAgaWYgKG5vZGUtPnR5cGUgPT0gWE1MX0VMRU1FTlRfTk9ERSkgeworICAgICAgICAgICAgdHN0ID0gbm9kZS0+bnNEZWY7CisgICAgICAgICAgICB3aGlsZSAodHN0ICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICBpZiAoKHRzdC0+cHJlZml4ID09IE5VTEwpCisgICAgICAgICAgICAgICAgICAgICYmIChwcmVmaXggPT0gTlVMTCkpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiAoMCk7CisgICAgICAgICAgICAgICAgaWYgKCh0c3QtPnByZWZpeCAhPSBOVUxMKQorICAgICAgICAgICAgICAgICAgICAmJiAocHJlZml4ICE9IE5VTEwpCisgICAgICAgICAgICAgICAgICAgICYmICh4bWxTdHJFcXVhbCh0c3QtPnByZWZpeCwgcHJlZml4KSkpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiAoMCk7CisgICAgICAgICAgICAgICAgdHN0ID0gdHN0LT5uZXh0OworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIG5vZGUgPSBub2RlLT5wYXJlbnQ7CisgICAgfQorICAgIGlmIChub2RlICE9IGFuY2VzdG9yKQorICAgICAgICByZXR1cm4gKC0xKTsKKyAgICByZXR1cm4gKDEpOworfQorCisvKioKKyAqIHhtbFNlYXJjaE5zQnlIcmVmOgorICogQGRvYzogIHRoZSBkb2N1bWVudAorICogQG5vZGU6ICB0aGUgY3VycmVudCBub2RlCisgKiBAaHJlZjogIHRoZSBuYW1lc3BhY2UgdmFsdWUKKyAqCisgKiBTZWFyY2ggYSBOcyBhbGlhc2luZyBhIGdpdmVuIFVSSS4gUmVjdXJzZSBvbiB0aGUgcGFyZW50cyB1bnRpbCBpdCBmaW5kcworICogdGhlIGRlZmluZWQgbmFtZXNwYWNlIG9yIHJldHVybiBOVUxMIG90aGVyd2lzZS4KKyAqIFJldHVybnMgdGhlIG5hbWVzcGFjZSBwb2ludGVyIG9yIE5VTEwuCisgKi8KK3htbE5zUHRyCit4bWxTZWFyY2hOc0J5SHJlZih4bWxEb2NQdHIgZG9jLCB4bWxOb2RlUHRyIG5vZGUsIGNvbnN0IHhtbENoYXIgKiBocmVmKQoreworICAgIHhtbE5zUHRyIGN1cjsKKyAgICB4bWxOb2RlUHRyIG9yaWcgPSBub2RlOworICAgIGludCBpc19hdHRyOworCisgICAgaWYgKChub2RlID09IE5VTEwpIHx8IChub2RlLT50eXBlID09IFhNTF9OQU1FU1BBQ0VfREVDTCkgfHwgKGhyZWYgPT0gTlVMTCkpCisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgaWYgKHhtbFN0ckVxdWFsKGhyZWYsIFhNTF9YTUxfTkFNRVNQQUNFKSkgeworICAgICAgICAvKgorICAgICAgICAgKiBPbmx5IHRoZSBkb2N1bWVudCBjYW4gaG9sZCB0aGUgWE1MIHNwZWMgbmFtZXNwYWNlLgorICAgICAgICAgKi8KKyAgICAgICAgaWYgKChkb2MgPT0gTlVMTCkgJiYgKG5vZGUtPnR5cGUgPT0gWE1MX0VMRU1FTlRfTk9ERSkpIHsKKyAgICAgICAgICAgIC8qCisgICAgICAgICAgICAgKiBUaGUgWE1MLTEuMCBuYW1lc3BhY2UgaXMgbm9ybWFsbHkgaGVsZCBvbiB0aGUgcm9vdAorICAgICAgICAgICAgICogZWxlbWVudC4gSW4gdGhpcyBjYXNlIGV4Y2VwdGlvbmFsbHkgY3JlYXRlIGl0IG9uIHRoZQorICAgICAgICAgICAgICogbm9kZSBlbGVtZW50LgorICAgICAgICAgICAgICovCisgICAgICAgICAgICBjdXIgPSAoeG1sTnNQdHIpIHhtbE1hbGxvYyhzaXplb2YoeG1sTnMpKTsKKyAgICAgICAgICAgIGlmIChjdXIgPT0gTlVMTCkgeworCQl4bWxUcmVlRXJyTWVtb3J5KCJzZWFyY2hpbmcgbmFtZXNwYWNlIik7CisgICAgICAgICAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIG1lbXNldChjdXIsIDAsIHNpemVvZih4bWxOcykpOworICAgICAgICAgICAgY3VyLT50eXBlID0gWE1MX0xPQ0FMX05BTUVTUEFDRTsKKyAgICAgICAgICAgIGN1ci0+aHJlZiA9IHhtbFN0cmR1cChYTUxfWE1MX05BTUVTUEFDRSk7CisgICAgICAgICAgICBjdXItPnByZWZpeCA9IHhtbFN0cmR1cCgoY29uc3QgeG1sQ2hhciAqKSAieG1sIik7CisgICAgICAgICAgICBjdXItPm5leHQgPSBub2RlLT5uc0RlZjsKKyAgICAgICAgICAgIG5vZGUtPm5zRGVmID0gY3VyOworICAgICAgICAgICAgcmV0dXJuIChjdXIpOworICAgICAgICB9CisJaWYgKGRvYyA9PSBOVUxMKSB7CisJICAgIGRvYyA9IG5vZGUtPmRvYzsKKwkgICAgaWYgKGRvYyA9PSBOVUxMKQorCQlyZXR1cm4oTlVMTCk7CisJfQorCS8qCisJKiBSZXR1cm4gdGhlIFhNTCBuYW1lc3BhY2UgZGVjbGFyYXRpb24gaGVsZCBieSB0aGUgZG9jLgorCSovCisJaWYgKGRvYy0+b2xkTnMgPT0gTlVMTCkKKwkgICAgcmV0dXJuKHhtbFRyZWVFbnN1cmVYTUxEZWNsKGRvYykpOworCWVsc2UKKwkgICAgcmV0dXJuKGRvYy0+b2xkTnMpOworICAgIH0KKyAgICBpc19hdHRyID0gKG5vZGUtPnR5cGUgPT0gWE1MX0FUVFJJQlVURV9OT0RFKTsKKyAgICB3aGlsZSAobm9kZSAhPSBOVUxMKSB7CisgICAgICAgIGlmICgobm9kZS0+dHlwZSA9PSBYTUxfRU5USVRZX1JFRl9OT0RFKSB8fAorICAgICAgICAgICAgKG5vZGUtPnR5cGUgPT0gWE1MX0VOVElUWV9OT0RFKSB8fAorICAgICAgICAgICAgKG5vZGUtPnR5cGUgPT0gWE1MX0VOVElUWV9ERUNMKSkKKyAgICAgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgICAgIGlmIChub2RlLT50eXBlID09IFhNTF9FTEVNRU5UX05PREUpIHsKKyAgICAgICAgICAgIGN1ciA9IG5vZGUtPm5zRGVmOworICAgICAgICAgICAgd2hpbGUgKGN1ciAhPSBOVUxMKSB7CisgICAgICAgICAgICAgICAgaWYgKChjdXItPmhyZWYgIT0gTlVMTCkgJiYgKGhyZWYgIT0gTlVMTCkgJiYKKyAgICAgICAgICAgICAgICAgICAgKHhtbFN0ckVxdWFsKGN1ci0+aHJlZiwgaHJlZikpKSB7CisJCSAgICBpZiAoKCghaXNfYXR0cikgfHwgKGN1ci0+cHJlZml4ICE9IE5VTEwpKSAmJgorCQkgICAgICAgICh4bWxOc0luU2NvcGUoZG9jLCBvcmlnLCBub2RlLCBjdXItPnByZWZpeCkgPT0gMSkpCisJCQlyZXR1cm4gKGN1cik7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGN1ciA9IGN1ci0+bmV4dDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChvcmlnICE9IG5vZGUpIHsKKyAgICAgICAgICAgICAgICBjdXIgPSBub2RlLT5uczsKKyAgICAgICAgICAgICAgICBpZiAoY3VyICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKChjdXItPmhyZWYgIT0gTlVMTCkgJiYgKGhyZWYgIT0gTlVMTCkgJiYKKyAgICAgICAgICAgICAgICAgICAgICAgICh4bWxTdHJFcXVhbChjdXItPmhyZWYsIGhyZWYpKSkgeworCQkJaWYgKCgoIWlzX2F0dHIpIHx8IChjdXItPnByZWZpeCAhPSBOVUxMKSkgJiYKKwkJICAgICAgICAgICAgKHhtbE5zSW5TY29wZShkb2MsIG9yaWcsIG5vZGUsIGN1ci0+cHJlZml4KSA9PSAxKSkKKwkJCSAgICByZXR1cm4gKGN1cik7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgbm9kZSA9IG5vZGUtPnBhcmVudDsKKyAgICB9CisgICAgcmV0dXJuIChOVUxMKTsKK30KKworLyoqCisgKiB4bWxOZXdSZWNvbmNpbGllZE5zOgorICogQGRvYzogIHRoZSBkb2N1bWVudAorICogQHRyZWU6ICBhIG5vZGUgZXhwZWN0ZWQgdG8gaG9sZCB0aGUgbmV3IG5hbWVzcGFjZQorICogQG5zOiAgdGhlIG9yaWdpbmFsIG5hbWVzcGFjZQorICoKKyAqIFRoaXMgZnVuY3Rpb24gdHJpZXMgdG8gbG9jYXRlIGEgbmFtZXNwYWNlIGRlZmluaXRpb24gaW4gYSB0cmVlCisgKiBhbmNlc3RvcnMsIG9yIGNyZWF0ZSBhIG5ldyBuYW1lc3BhY2UgZGVmaW5pdGlvbiBub2RlIHNpbWlsYXIgdG8KKyAqIEBucyB0cnlpbmcgdG8gcmV1c2UgdGhlIHNhbWUgcHJlZml4LiBIb3dldmVyIGlmIHRoZSBnaXZlbiBwcmVmaXggaXMKKyAqIG51bGwgKGRlZmF1bHQgbmFtZXNwYWNlKSBvciByZXVzZWQgd2l0aGluIHRoZSBzdWJ0cmVlIGRlZmluZWQgYnkKKyAqIEB0cmVlIG9yIG9uIG9uZSBvZiBpdHMgYW5jZXN0b3JzIHRoZW4gYSBuZXcgcHJlZml4IGlzIGdlbmVyYXRlZC4KKyAqIFJldHVybnMgdGhlIChuZXcpIG5hbWVzcGFjZSBkZWZpbml0aW9uIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcgorICovCitzdGF0aWMgeG1sTnNQdHIKK3htbE5ld1JlY29uY2lsaWVkTnMoeG1sRG9jUHRyIGRvYywgeG1sTm9kZVB0ciB0cmVlLCB4bWxOc1B0ciBucykgeworICAgIHhtbE5zUHRyIGRlZjsKKyAgICB4bWxDaGFyIHByZWZpeFs1MF07CisgICAgaW50IGNvdW50ZXIgPSAxOworCisgICAgaWYgKCh0cmVlID09IE5VTEwpIHx8ICh0cmVlLT50eXBlICE9IFhNTF9FTEVNRU5UX05PREUpKSB7CisjaWZkZWYgREVCVUdfVFJFRQorICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJInhtbE5ld1JlY29uY2lsaWVkTnMgOiB0cmVlID09IE5VTExcbiIpOworI2VuZGlmCisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBpZiAoKG5zID09IE5VTEwpIHx8IChucy0+dHlwZSAhPSBYTUxfTkFNRVNQQUNFX0RFQ0wpKSB7CisjaWZkZWYgREVCVUdfVFJFRQorICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJInhtbE5ld1JlY29uY2lsaWVkTnMgOiBucyA9PSBOVUxMXG4iKTsKKyNlbmRpZgorCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgLyoKKyAgICAgKiBTZWFyY2ggYW4gZXhpc3RpbmcgbmFtZXNwYWNlIGRlZmluaXRpb24gaW5oZXJpdGVkLgorICAgICAqLworICAgIGRlZiA9IHhtbFNlYXJjaE5zQnlIcmVmKGRvYywgdHJlZSwgbnMtPmhyZWYpOworICAgIGlmIChkZWYgIT0gTlVMTCkKKyAgICAgICAgcmV0dXJuKGRlZik7CisKKyAgICAvKgorICAgICAqIEZpbmQgYSBjbG9zZSBwcmVmaXggd2hpY2ggaXMgbm90IGFscmVhZHkgaW4gdXNlLgorICAgICAqIExldCdzIHN0cmlwIG5hbWVzcGFjZSBwcmVmaXhlcyBsb25nZXIgdGhhbiAyMCBjaGFycyAhCisgICAgICovCisgICAgaWYgKG5zLT5wcmVmaXggPT0gTlVMTCkKKwlzbnByaW50ZigoY2hhciAqKSBwcmVmaXgsIHNpemVvZihwcmVmaXgpLCAiZGVmYXVsdCIpOworICAgIGVsc2UKKwlzbnByaW50ZigoY2hhciAqKSBwcmVmaXgsIHNpemVvZihwcmVmaXgpLCAiJS4yMHMiLCAoY2hhciAqKW5zLT5wcmVmaXgpOworCisgICAgZGVmID0geG1sU2VhcmNoTnMoZG9jLCB0cmVlLCBwcmVmaXgpOworICAgIHdoaWxlIChkZWYgIT0gTlVMTCkgeworICAgICAgICBpZiAoY291bnRlciA+IDEwMDApIHJldHVybihOVUxMKTsKKwlpZiAobnMtPnByZWZpeCA9PSBOVUxMKQorCSAgICBzbnByaW50ZigoY2hhciAqKSBwcmVmaXgsIHNpemVvZihwcmVmaXgpLCAiZGVmYXVsdCVkIiwgY291bnRlcisrKTsKKwllbHNlCisJICAgIHNucHJpbnRmKChjaGFyICopIHByZWZpeCwgc2l6ZW9mKHByZWZpeCksICIlLjIwcyVkIiwKKwkJKGNoYXIgKilucy0+cHJlZml4LCBjb3VudGVyKyspOworCWRlZiA9IHhtbFNlYXJjaE5zKGRvYywgdHJlZSwgcHJlZml4KTsKKyAgICB9CisKKyAgICAvKgorICAgICAqIE9LLCBub3cgd2UgYXJlIHJlYWR5IHRvIGNyZWF0ZSBhIG5ldyBvbmUuCisgICAgICovCisgICAgZGVmID0geG1sTmV3TnModHJlZSwgbnMtPmhyZWYsIHByZWZpeCk7CisgICAgcmV0dXJuKGRlZik7Cit9CisKKyNpZmRlZiBMSUJYTUxfVFJFRV9FTkFCTEVECisvKioKKyAqIHhtbFJlY29uY2lsaWF0ZU5zOgorICogQGRvYzogIHRoZSBkb2N1bWVudAorICogQHRyZWU6ICBhIG5vZGUgZGVmaW5pbmcgdGhlIHN1YnRyZWUgdG8gcmVjb25jaWxpYXRlCisgKgorICogVGhpcyBmdW5jdGlvbiBjaGVja3MgdGhhdCBhbGwgdGhlIG5hbWVzcGFjZXMgZGVjbGFyZWQgd2l0aGluIHRoZSBnaXZlbgorICogdHJlZSBhcmUgcHJvcGVybHkgZGVjbGFyZWQuIFRoaXMgaXMgbmVlZGVkIGZvciBleGFtcGxlIGFmdGVyIENvcHkgb3IgQ3V0CisgKiBhbmQgdGhlbiBwYXN0ZSBvcGVyYXRpb25zLiBUaGUgc3VidHJlZSBtYXkgc3RpbGwgaG9sZCBwb2ludGVycyB0bworICogbmFtZXNwYWNlIGRlY2xhcmF0aW9ucyBvdXRzaWRlIHRoZSBzdWJ0cmVlIG9yIGludmFsaWQvbWFza2VkLiBBcyBtdWNoCisgKiBhcyBwb3NzaWJsZSB0aGUgZnVuY3Rpb24gdHJ5IHRvIHJldXNlIHRoZSBleGlzdGluZyBuYW1lc3BhY2VzIGZvdW5kIGluCisgKiB0aGUgbmV3IGVudmlyb25tZW50LiBJZiBub3QgcG9zc2libGUgdGhlIG5ldyBuYW1lc3BhY2VzIGFyZSByZWRlY2xhcmVkCisgKiBvbiBAdHJlZSBhdCB0aGUgdG9wIG9mIHRoZSBnaXZlbiBzdWJ0cmVlLgorICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIG5hbWVzcGFjZSBkZWNsYXJhdGlvbnMgY3JlYXRlZCBvciAtMSBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQKK3htbFJlY29uY2lsaWF0ZU5zKHhtbERvY1B0ciBkb2MsIHhtbE5vZGVQdHIgdHJlZSkgeworICAgIHhtbE5zUHRyICpvbGROcyA9IE5VTEw7CisgICAgeG1sTnNQdHIgKm5ld05zID0gTlVMTDsKKyAgICBpbnQgc2l6ZUNhY2hlID0gMDsKKyAgICBpbnQgbmJDYWNoZSA9IDA7CisKKyAgICB4bWxOc1B0ciBuOworICAgIHhtbE5vZGVQdHIgbm9kZSA9IHRyZWU7CisgICAgeG1sQXR0clB0ciBhdHRyOworICAgIGludCByZXQgPSAwLCBpOworCisgICAgaWYgKChub2RlID09IE5VTEwpIHx8IChub2RlLT50eXBlICE9IFhNTF9FTEVNRU5UX05PREUpKSByZXR1cm4oLTEpOworICAgIGlmICgoZG9jID09IE5VTEwpIHx8IChkb2MtPnR5cGUgIT0gWE1MX0RPQ1VNRU5UX05PREUpKSByZXR1cm4oLTEpOworICAgIGlmIChub2RlLT5kb2MgIT0gZG9jKSByZXR1cm4oLTEpOworICAgIHdoaWxlIChub2RlICE9IE5VTEwpIHsKKyAgICAgICAgLyoKKwkgKiBSZWNvbmNpbGlhdGUgdGhlIG5vZGUgbmFtZXNwYWNlCisJICovCisJaWYgKG5vZGUtPm5zICE9IE5VTEwpIHsKKwkgICAgLyoKKwkgICAgICogaW5pdGlhbGl6ZSB0aGUgY2FjaGUgaWYgbmVlZGVkCisJICAgICAqLworCSAgICBpZiAoc2l6ZUNhY2hlID09IDApIHsKKwkJc2l6ZUNhY2hlID0gMTA7CisJCW9sZE5zID0gKHhtbE5zUHRyICopIHhtbE1hbGxvYyhzaXplQ2FjaGUgKgorCQkJCQkgICAgICAgc2l6ZW9mKHhtbE5zUHRyKSk7CisJCWlmIChvbGROcyA9PSBOVUxMKSB7CisJCSAgICB4bWxUcmVlRXJyTWVtb3J5KCJmaXhpbmcgbmFtZXNwYWNlcyIpOworCQkgICAgcmV0dXJuKC0xKTsKKwkJfQorCQluZXdOcyA9ICh4bWxOc1B0ciAqKSB4bWxNYWxsb2Moc2l6ZUNhY2hlICoKKwkJCQkJICAgICAgIHNpemVvZih4bWxOc1B0cikpOworCQlpZiAobmV3TnMgPT0gTlVMTCkgeworCQkgICAgeG1sVHJlZUVyck1lbW9yeSgiZml4aW5nIG5hbWVzcGFjZXMiKTsKKwkJICAgIHhtbEZyZWUob2xkTnMpOworCQkgICAgcmV0dXJuKC0xKTsKKwkJfQorCSAgICB9CisJICAgIGZvciAoaSA9IDA7aSA8IG5iQ2FjaGU7aSsrKSB7CisJICAgICAgICBpZiAob2xkTnNbaV0gPT0gbm9kZS0+bnMpIHsKKwkJICAgIG5vZGUtPm5zID0gbmV3TnNbaV07CisJCSAgICBicmVhazsKKwkJfQorCSAgICB9CisJICAgIGlmIChpID09IG5iQ2FjaGUpIHsKKwkgICAgICAgIC8qCisJCSAqIE9LIHdlIG5lZWQgdG8gcmVjcmVhdGUgYSBuZXcgbmFtZXNwYWNlIGRlZmluaXRpb24KKwkJICovCisJCW4gPSB4bWxOZXdSZWNvbmNpbGllZE5zKGRvYywgdHJlZSwgbm9kZS0+bnMpOworCQlpZiAobiAhPSBOVUxMKSB7IC8qIDotKCB3aGF0IGlmIGVsc2UgPz8/ICovCisJCSAgICAvKgorCQkgICAgICogY2hlY2sgaWYgd2UgbmVlZCB0byBncm93IHRoZSBjYWNoZSBidWZmZXJzLgorCQkgICAgICovCisJCSAgICBpZiAoc2l6ZUNhY2hlIDw9IG5iQ2FjaGUpIHsKKwkJICAgICAgICBzaXplQ2FjaGUgKj0gMjsKKwkJCW9sZE5zID0gKHhtbE5zUHRyICopIHhtbFJlYWxsb2Mob2xkTnMsIHNpemVDYWNoZSAqCisJCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKHhtbE5zUHRyKSk7CisJCSAgICAgICAgaWYgKG9sZE5zID09IE5VTEwpIHsKKwkJCSAgICB4bWxUcmVlRXJyTWVtb3J5KCJmaXhpbmcgbmFtZXNwYWNlcyIpOworCQkJICAgIHhtbEZyZWUobmV3TnMpOworCQkJICAgIHJldHVybigtMSk7CisJCQl9CisJCQluZXdOcyA9ICh4bWxOc1B0ciAqKSB4bWxSZWFsbG9jKG5ld05zLCBzaXplQ2FjaGUgKgorCQkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZih4bWxOc1B0cikpOworCQkgICAgICAgIGlmIChuZXdOcyA9PSBOVUxMKSB7CisJCQkgICAgeG1sVHJlZUVyck1lbW9yeSgiZml4aW5nIG5hbWVzcGFjZXMiKTsKKwkJCSAgICB4bWxGcmVlKG9sZE5zKTsKKwkJCSAgICByZXR1cm4oLTEpOworCQkJfQorCQkgICAgfQorCQkgICAgbmV3TnNbbmJDYWNoZV0gPSBuOworCQkgICAgb2xkTnNbbmJDYWNoZSsrXSA9IG5vZGUtPm5zOworCQkgICAgbm9kZS0+bnMgPSBuOworICAgICAgICAgICAgICAgIH0KKwkgICAgfQorCX0KKwkvKgorCSAqIG5vdyBjaGVjayBmb3IgbmFtZXNwYWNlIGhvbGQgYnkgYXR0cmlidXRlcyBvbiB0aGUgbm9kZS4KKwkgKi8KKwlpZiAobm9kZS0+dHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFKSB7CisJICAgIGF0dHIgPSBub2RlLT5wcm9wZXJ0aWVzOworCSAgICB3aGlsZSAoYXR0ciAhPSBOVUxMKSB7CisJCWlmIChhdHRyLT5ucyAhPSBOVUxMKSB7CisJCSAgICAvKgorCQkgICAgICogaW5pdGlhbGl6ZSB0aGUgY2FjaGUgaWYgbmVlZGVkCisJCSAgICAgKi8KKwkJICAgIGlmIChzaXplQ2FjaGUgPT0gMCkgeworCQkJc2l6ZUNhY2hlID0gMTA7CisJCQlvbGROcyA9ICh4bWxOc1B0ciAqKSB4bWxNYWxsb2Moc2l6ZUNhY2hlICoKKwkJCQkJCSAgICAgICBzaXplb2YoeG1sTnNQdHIpKTsKKwkJCWlmIChvbGROcyA9PSBOVUxMKSB7CisJCQkgICAgeG1sVHJlZUVyck1lbW9yeSgiZml4aW5nIG5hbWVzcGFjZXMiKTsKKwkJCSAgICByZXR1cm4oLTEpOworCQkJfQorCQkJbmV3TnMgPSAoeG1sTnNQdHIgKikgeG1sTWFsbG9jKHNpemVDYWNoZSAqCisJCQkJCQkgICAgICAgc2l6ZW9mKHhtbE5zUHRyKSk7CisJCQlpZiAobmV3TnMgPT0gTlVMTCkgeworCQkJICAgIHhtbFRyZWVFcnJNZW1vcnkoImZpeGluZyBuYW1lc3BhY2VzIik7CisJCQkgICAgeG1sRnJlZShvbGROcyk7CisJCQkgICAgcmV0dXJuKC0xKTsKKwkJCX0KKwkJICAgIH0KKwkJICAgIGZvciAoaSA9IDA7aSA8IG5iQ2FjaGU7aSsrKSB7CisJCQlpZiAob2xkTnNbaV0gPT0gYXR0ci0+bnMpIHsKKwkJCSAgICBhdHRyLT5ucyA9IG5ld05zW2ldOworCQkJICAgIGJyZWFrOworCQkJfQorCQkgICAgfQorCQkgICAgaWYgKGkgPT0gbmJDYWNoZSkgeworCQkJLyoKKwkJCSAqIE9LIHdlIG5lZWQgdG8gcmVjcmVhdGUgYSBuZXcgbmFtZXNwYWNlIGRlZmluaXRpb24KKwkJCSAqLworCQkJbiA9IHhtbE5ld1JlY29uY2lsaWVkTnMoZG9jLCB0cmVlLCBhdHRyLT5ucyk7CisJCQlpZiAobiAhPSBOVUxMKSB7IC8qIDotKCB3aGF0IGlmIGVsc2UgPz8/ICovCisJCQkgICAgLyoKKwkJCSAgICAgKiBjaGVjayBpZiB3ZSBuZWVkIHRvIGdyb3cgdGhlIGNhY2hlIGJ1ZmZlcnMuCisJCQkgICAgICovCisJCQkgICAgaWYgKHNpemVDYWNoZSA8PSBuYkNhY2hlKSB7CisJCQkJc2l6ZUNhY2hlICo9IDI7CisJCQkJb2xkTnMgPSAoeG1sTnNQdHIgKikgeG1sUmVhbGxvYyhvbGROcywKKwkJCQkgICAgICAgICAgIHNpemVDYWNoZSAqIHNpemVvZih4bWxOc1B0cikpOworCQkJCWlmIChvbGROcyA9PSBOVUxMKSB7CisJCQkJICAgIHhtbFRyZWVFcnJNZW1vcnkoImZpeGluZyBuYW1lc3BhY2VzIik7CisJCQkJICAgIHhtbEZyZWUobmV3TnMpOworCQkJCSAgICByZXR1cm4oLTEpOworCQkJCX0KKwkJCQluZXdOcyA9ICh4bWxOc1B0ciAqKSB4bWxSZWFsbG9jKG5ld05zLAorCQkJCSAgICAgICAgICAgc2l6ZUNhY2hlICogc2l6ZW9mKHhtbE5zUHRyKSk7CisJCQkJaWYgKG5ld05zID09IE5VTEwpIHsKKwkJCQkgICAgeG1sVHJlZUVyck1lbW9yeSgiZml4aW5nIG5hbWVzcGFjZXMiKTsKKwkJCQkgICAgeG1sRnJlZShvbGROcyk7CisJCQkJICAgIHJldHVybigtMSk7CisJCQkJfQorCQkJICAgIH0KKwkJCSAgICBuZXdOc1tuYkNhY2hlXSA9IG47CisJCQkgICAgb2xkTnNbbmJDYWNoZSsrXSA9IGF0dHItPm5zOworCQkJICAgIGF0dHItPm5zID0gbjsKKwkJCX0KKwkJICAgIH0KKwkJfQorCQlhdHRyID0gYXR0ci0+bmV4dDsKKwkgICAgfQorCX0KKworCS8qCisJICogQnJvd3NlIHRoZSBmdWxsIHN1YnRyZWUsIGRlZXAgZmlyc3QKKwkgKi8KKyAgICAgICAgaWYgKChub2RlLT5jaGlsZHJlbiAhPSBOVUxMKSAmJiAobm9kZS0+dHlwZSAhPSBYTUxfRU5USVRZX1JFRl9OT0RFKSkgeworCSAgICAvKiBkZWVwIGZpcnN0ICovCisJICAgIG5vZGUgPSBub2RlLT5jaGlsZHJlbjsKKwl9IGVsc2UgaWYgKChub2RlICE9IHRyZWUpICYmIChub2RlLT5uZXh0ICE9IE5VTEwpKSB7CisJICAgIC8qIHRoZW4gc2libGluZ3MgKi8KKwkgICAgbm9kZSA9IG5vZGUtPm5leHQ7CisJfSBlbHNlIGlmIChub2RlICE9IHRyZWUpIHsKKwkgICAgLyogZ28gdXAgdG8gcGFyZW50cy0+bmV4dCBpZiBuZWVkZWQgKi8KKwkgICAgd2hpbGUgKG5vZGUgIT0gdHJlZSkgeworCSAgICAgICAgaWYgKG5vZGUtPnBhcmVudCAhPSBOVUxMKQorCQkgICAgbm9kZSA9IG5vZGUtPnBhcmVudDsKKwkJaWYgKChub2RlICE9IHRyZWUpICYmIChub2RlLT5uZXh0ICE9IE5VTEwpKSB7CisJCSAgICBub2RlID0gbm9kZS0+bmV4dDsKKwkJICAgIGJyZWFrOworCQl9CisJCWlmIChub2RlLT5wYXJlbnQgPT0gTlVMTCkgeworCQkgICAgbm9kZSA9IE5VTEw7CisJCSAgICBicmVhazsKKwkJfQorCSAgICB9CisJICAgIC8qIGV4aXQgY29uZGl0aW9uICovCisJICAgIGlmIChub2RlID09IHRyZWUpCisJICAgICAgICBub2RlID0gTlVMTDsKKwl9IGVsc2UKKwkgICAgYnJlYWs7CisgICAgfQorICAgIGlmIChvbGROcyAhPSBOVUxMKQorCXhtbEZyZWUob2xkTnMpOworICAgIGlmIChuZXdOcyAhPSBOVUxMKQorCXhtbEZyZWUobmV3TnMpOworICAgIHJldHVybihyZXQpOworfQorI2VuZGlmIC8qIExJQlhNTF9UUkVFX0VOQUJMRUQgKi8KKworc3RhdGljIHhtbEF0dHJQdHIKK3htbEdldFByb3BOb2RlSW50ZXJuYWwoY29uc3QgeG1sTm9kZSAqbm9kZSwgY29uc3QgeG1sQ2hhciAqbmFtZSwKKwkJICAgICAgIGNvbnN0IHhtbENoYXIgKm5zTmFtZSwgaW50IHVzZURURCkKK3sKKyAgICB4bWxBdHRyUHRyIHByb3A7CisKKyAgICBpZiAoKG5vZGUgPT0gTlVMTCkgfHwgKG5vZGUtPnR5cGUgIT0gWE1MX0VMRU1FTlRfTk9ERSkgfHwgKG5hbWUgPT0gTlVMTCkpCisJcmV0dXJuKE5VTEwpOworCisgICAgaWYgKG5vZGUtPnByb3BlcnRpZXMgIT0gTlVMTCkgeworCXByb3AgPSBub2RlLT5wcm9wZXJ0aWVzOworCWlmIChuc05hbWUgPT0gTlVMTCkgeworCSAgICAvKgorCSAgICAqIFdlIHdhbnQgdGhlIGF0dHIgdG8gYmUgaW4gbm8gbmFtZXNwYWNlLgorCSAgICAqLworCSAgICBkbyB7CisJCWlmICgocHJvcC0+bnMgPT0gTlVMTCkgJiYgeG1sU3RyRXF1YWwocHJvcC0+bmFtZSwgbmFtZSkpIHsKKwkJICAgIHJldHVybihwcm9wKTsKKwkJfQorCQlwcm9wID0gcHJvcC0+bmV4dDsKKwkgICAgfSB3aGlsZSAocHJvcCAhPSBOVUxMKTsKKwl9IGVsc2UgeworCSAgICAvKgorCSAgICAqIFdlIHdhbnQgdGhlIGF0dHIgdG8gYmUgaW4gdGhlIHNwZWNpZmllZCBuYW1lc3BhY2UuCisJICAgICovCisJICAgIGRvIHsKKwkJaWYgKChwcm9wLT5ucyAhPSBOVUxMKSAmJiB4bWxTdHJFcXVhbChwcm9wLT5uYW1lLCBuYW1lKSAmJgorCQkgICAgKChwcm9wLT5ucy0+aHJlZiA9PSBuc05hbWUpIHx8CisJCSAgICAgeG1sU3RyRXF1YWwocHJvcC0+bnMtPmhyZWYsIG5zTmFtZSkpKQorCQl7CisJCSAgICByZXR1cm4ocHJvcCk7CisJCX0KKwkJcHJvcCA9IHByb3AtPm5leHQ7CisJICAgIH0gd2hpbGUgKHByb3AgIT0gTlVMTCk7CisJfQorICAgIH0KKworI2lmZGVmIExJQlhNTF9UUkVFX0VOQUJMRUQKKyAgICBpZiAoISB1c2VEVEQpCisJcmV0dXJuKE5VTEwpOworICAgIC8qCisgICAgICogQ2hlY2sgaWYgdGhlcmUgaXMgYSBkZWZhdWx0L2ZpeGVkIGF0dHJpYnV0ZSBkZWNsYXJhdGlvbiBpbgorICAgICAqIHRoZSBpbnRlcm5hbCBvciBleHRlcm5hbCBzdWJzZXQuCisgICAgICovCisgICAgaWYgKChub2RlLT5kb2MgIT0gTlVMTCkgJiYgKG5vZGUtPmRvYy0+aW50U3Vic2V0ICE9IE5VTEwpKSB7CisJeG1sRG9jUHRyIGRvYyA9IG5vZGUtPmRvYzsKKwl4bWxBdHRyaWJ1dGVQdHIgYXR0ckRlY2wgPSBOVUxMOworCXhtbENoYXIgKmVsZW1RTmFtZSwgKnRtcHN0ciA9IE5VTEw7CisKKwkvKgorCSogV2UgbmVlZCB0aGUgUU5hbWUgb2YgdGhlIGVsZW1lbnQgZm9yIHRoZSBEVEQtbG9va3VwLgorCSovCisJaWYgKChub2RlLT5ucyAhPSBOVUxMKSAmJiAobm9kZS0+bnMtPnByZWZpeCAhPSBOVUxMKSkgeworCSAgICB0bXBzdHIgPSB4bWxTdHJkdXAobm9kZS0+bnMtPnByZWZpeCk7CisJICAgIHRtcHN0ciA9IHhtbFN0cmNhdCh0bXBzdHIsIEJBRF9DQVNUICI6Iik7CisJICAgIHRtcHN0ciA9IHhtbFN0cmNhdCh0bXBzdHIsIG5vZGUtPm5hbWUpOworCSAgICBpZiAodG1wc3RyID09IE5VTEwpCisJCXJldHVybihOVUxMKTsKKwkgICAgZWxlbVFOYW1lID0gdG1wc3RyOworCX0gZWxzZQorCSAgICBlbGVtUU5hbWUgPSAoeG1sQ2hhciAqKSBub2RlLT5uYW1lOworCWlmIChuc05hbWUgPT0gTlVMTCkgeworCSAgICAvKgorCSAgICAqIFRoZSBjb21tb24gYW5kIG5pY2UgY2FzZTogQXR0ciBpbiBubyBuYW1lc3BhY2UuCisJICAgICovCisJICAgIGF0dHJEZWNsID0geG1sR2V0RHRkUUF0dHJEZXNjKGRvYy0+aW50U3Vic2V0LAorCQllbGVtUU5hbWUsIG5hbWUsIE5VTEwpOworCSAgICBpZiAoKGF0dHJEZWNsID09IE5VTEwpICYmIChkb2MtPmV4dFN1YnNldCAhPSBOVUxMKSkgeworCQlhdHRyRGVjbCA9IHhtbEdldER0ZFFBdHRyRGVzYyhkb2MtPmV4dFN1YnNldCwKKwkJICAgIGVsZW1RTmFtZSwgbmFtZSwgTlVMTCk7CisJICAgIH0KKwl9IGVsc2UgeworCSAgICB4bWxOc1B0ciAqbnNMaXN0LCAqY3VyOworCisJICAgIC8qCisJICAgICogVGhlIHVnbHkgY2FzZTogU2VhcmNoIHVzaW5nIHRoZSBwcmVmaXhlcyBvZiBpbi1zY29wZQorCSAgICAqIG5zLWRlY2xzIGNvcnJlc3BvbmRpbmcgdG8gQG5zTmFtZS4KKwkgICAgKi8KKwkgICAgbnNMaXN0ID0geG1sR2V0TnNMaXN0KG5vZGUtPmRvYywgbm9kZSk7CisJICAgIGlmIChuc0xpc3QgPT0gTlVMTCkgeworCQlpZiAodG1wc3RyICE9IE5VTEwpCisJCSAgICB4bWxGcmVlKHRtcHN0cik7CisJCXJldHVybihOVUxMKTsKKwkgICAgfQorCSAgICBjdXIgPSBuc0xpc3Q7CisJICAgIHdoaWxlICgqY3VyICE9IE5VTEwpIHsKKwkJaWYgKHhtbFN0ckVxdWFsKCgqY3VyKS0+aHJlZiwgbnNOYW1lKSkgeworCQkgICAgYXR0ckRlY2wgPSB4bWxHZXREdGRRQXR0ckRlc2MoZG9jLT5pbnRTdWJzZXQsIGVsZW1RTmFtZSwKKwkJCW5hbWUsICgqY3VyKS0+cHJlZml4KTsKKwkJICAgIGlmIChhdHRyRGVjbCkKKwkJCWJyZWFrOworCQkgICAgaWYgKGRvYy0+ZXh0U3Vic2V0ICE9IE5VTEwpIHsKKwkJCWF0dHJEZWNsID0geG1sR2V0RHRkUUF0dHJEZXNjKGRvYy0+ZXh0U3Vic2V0LCBlbGVtUU5hbWUsCisJCQkgICAgbmFtZSwgKCpjdXIpLT5wcmVmaXgpOworCQkJaWYgKGF0dHJEZWNsKQorCQkJICAgIGJyZWFrOworCQkgICAgfQorCQl9CisJCWN1cisrOworCSAgICB9CisJICAgIHhtbEZyZWUobnNMaXN0KTsKKwl9CisJaWYgKHRtcHN0ciAhPSBOVUxMKQorCSAgICB4bWxGcmVlKHRtcHN0cik7CisJLyoKKwkqIE9ubHkgZGVmYXVsdC9maXhlZCBhdHRycyBhcmUgcmVsZXZhbnQuCisJKi8KKwlpZiAoKGF0dHJEZWNsICE9IE5VTEwpICYmIChhdHRyRGVjbC0+ZGVmYXVsdFZhbHVlICE9IE5VTEwpKQorCSAgICByZXR1cm4oKHhtbEF0dHJQdHIpIGF0dHJEZWNsKTsKKyAgICB9CisjZW5kaWYgLyogTElCWE1MX1RSRUVfRU5BQkxFRCAqLworICAgIHJldHVybihOVUxMKTsKK30KKworc3RhdGljIHhtbENoYXIqCit4bWxHZXRQcm9wTm9kZVZhbHVlSW50ZXJuYWwoY29uc3QgeG1sQXR0ciAqcHJvcCkKK3sKKyAgICBpZiAocHJvcCA9PSBOVUxMKQorCXJldHVybihOVUxMKTsKKyAgICBpZiAocHJvcC0+dHlwZSA9PSBYTUxfQVRUUklCVVRFX05PREUpIHsKKwkvKgorCSogTm90ZSB0aGF0IHdlIHJldHVybiBhdCBsZWFzdCB0aGUgZW1wdHkgc3RyaW5nLgorCSogICBUT0RPOiBEbyB3ZSByZWFsbHkgYWx3YXlzIHdhbnQgdGhhdD8KKwkqLworCWlmIChwcm9wLT5jaGlsZHJlbiAhPSBOVUxMKSB7CisJICAgIGlmICgocHJvcC0+Y2hpbGRyZW4tPm5leHQgPT0gTlVMTCkgJiYKKwkJKChwcm9wLT5jaGlsZHJlbi0+dHlwZSA9PSBYTUxfVEVYVF9OT0RFKSB8fAorCQkocHJvcC0+Y2hpbGRyZW4tPnR5cGUgPT0gWE1MX0NEQVRBX1NFQ1RJT05fTk9ERSkpKQorCSAgICB7CisJCS8qCisJCSogT3B0aW1pemF0aW9uIGZvciB0aGUgY29tbW9uIGNhc2U6IG9ubHkgMSB0ZXh0IG5vZGUuCisJCSovCisJCXJldHVybih4bWxTdHJkdXAocHJvcC0+Y2hpbGRyZW4tPmNvbnRlbnQpKTsKKwkgICAgfSBlbHNlIHsKKwkJeG1sQ2hhciAqcmV0OworCisJCXJldCA9IHhtbE5vZGVMaXN0R2V0U3RyaW5nKHByb3AtPmRvYywgcHJvcC0+Y2hpbGRyZW4sIDEpOworCQlpZiAocmV0ICE9IE5VTEwpCisJCSAgICByZXR1cm4ocmV0KTsKKwkgICAgfQorCX0KKwlyZXR1cm4oeG1sU3RyZHVwKCh4bWxDaGFyICopIiIpKTsKKyAgICB9IGVsc2UgaWYgKHByb3AtPnR5cGUgPT0gWE1MX0FUVFJJQlVURV9ERUNMKSB7CisJcmV0dXJuKHhtbFN0cmR1cCgoKHhtbEF0dHJpYnV0ZVB0cilwcm9wKS0+ZGVmYXVsdFZhbHVlKSk7CisgICAgfQorICAgIHJldHVybihOVUxMKTsKK30KKworLyoqCisgKiB4bWxIYXNQcm9wOgorICogQG5vZGU6ICB0aGUgbm9kZQorICogQG5hbWU6ICB0aGUgYXR0cmlidXRlIG5hbWUKKyAqCisgKiBTZWFyY2ggYW4gYXR0cmlidXRlIGFzc29jaWF0ZWQgdG8gYSBub2RlCisgKiBUaGlzIGZ1bmN0aW9uIGFsc28gbG9va3MgaW4gRFREIGF0dHJpYnV0ZSBkZWNsYXJhdGlvbiBmb3IgI0ZJWEVEIG9yCisgKiBkZWZhdWx0IGRlY2xhcmF0aW9uIHZhbHVlcyB1bmxlc3MgRFREIHVzZSBoYXMgYmVlbiB0dXJuZWQgb2ZmLgorICoKKyAqIFJldHVybnMgdGhlIGF0dHJpYnV0ZSBvciB0aGUgYXR0cmlidXRlIGRlY2xhcmF0aW9uIG9yIE5VTEwgaWYKKyAqICAgICAgICAgbmVpdGhlciB3YXMgZm91bmQuCisgKi8KK3htbEF0dHJQdHIKK3htbEhhc1Byb3AoY29uc3QgeG1sTm9kZSAqbm9kZSwgY29uc3QgeG1sQ2hhciAqbmFtZSkgeworICAgIHhtbEF0dHJQdHIgcHJvcDsKKyAgICB4bWxEb2NQdHIgZG9jOworCisgICAgaWYgKChub2RlID09IE5VTEwpIHx8IChub2RlLT50eXBlICE9IFhNTF9FTEVNRU5UX05PREUpIHx8IChuYW1lID09IE5VTEwpKQorICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgLyoKKyAgICAgKiBDaGVjayBvbiB0aGUgcHJvcGVydGllcyBhdHRhY2hlZCB0byB0aGUgbm9kZQorICAgICAqLworICAgIHByb3AgPSBub2RlLT5wcm9wZXJ0aWVzOworICAgIHdoaWxlIChwcm9wICE9IE5VTEwpIHsKKyAgICAgICAgaWYgKHhtbFN0ckVxdWFsKHByb3AtPm5hbWUsIG5hbWUpKSAgeworCSAgICByZXR1cm4ocHJvcCk7CisgICAgICAgIH0KKwlwcm9wID0gcHJvcC0+bmV4dDsKKyAgICB9CisgICAgaWYgKCF4bWxDaGVja0RURCkgcmV0dXJuKE5VTEwpOworCisgICAgLyoKKyAgICAgKiBDaGVjayBpZiB0aGVyZSBpcyBhIGRlZmF1bHQgZGVjbGFyYXRpb24gaW4gdGhlIGludGVybmFsCisgICAgICogb3IgZXh0ZXJuYWwgc3Vic2V0cworICAgICAqLworICAgIGRvYyA9ICBub2RlLT5kb2M7CisgICAgaWYgKGRvYyAhPSBOVUxMKSB7CisgICAgICAgIHhtbEF0dHJpYnV0ZVB0ciBhdHRyRGVjbDsKKyAgICAgICAgaWYgKGRvYy0+aW50U3Vic2V0ICE9IE5VTEwpIHsKKwkgICAgYXR0ckRlY2wgPSB4bWxHZXREdGRBdHRyRGVzYyhkb2MtPmludFN1YnNldCwgbm9kZS0+bmFtZSwgbmFtZSk7CisJICAgIGlmICgoYXR0ckRlY2wgPT0gTlVMTCkgJiYgKGRvYy0+ZXh0U3Vic2V0ICE9IE5VTEwpKQorCQlhdHRyRGVjbCA9IHhtbEdldER0ZEF0dHJEZXNjKGRvYy0+ZXh0U3Vic2V0LCBub2RlLT5uYW1lLCBuYW1lKTsKKyAgICAgICAgICAgIGlmICgoYXR0ckRlY2wgIT0gTlVMTCkgJiYgKGF0dHJEZWNsLT5kZWZhdWx0VmFsdWUgIT0gTlVMTCkpCisgICAgICAgICAgICAgIC8qIHJldHVybiBhdHRyaWJ1dGUgZGVjbGFyYXRpb24gb25seSBpZiBhIGRlZmF1bHQgdmFsdWUgaXMgZ2l2ZW4KKyAgICAgICAgICAgICAgICAgKHRoYXQgaW5jbHVkZXMgI0ZJWEVEIGRlY2xhcmF0aW9ucykgKi8KKwkJcmV0dXJuKCh4bWxBdHRyUHRyKSBhdHRyRGVjbCk7CisJfQorICAgIH0KKyAgICByZXR1cm4oTlVMTCk7Cit9CisKKy8qKgorICogeG1sSGFzTnNQcm9wOgorICogQG5vZGU6ICB0aGUgbm9kZQorICogQG5hbWU6ICB0aGUgYXR0cmlidXRlIG5hbWUKKyAqIEBuYW1lU3BhY2U6ICB0aGUgVVJJIG9mIHRoZSBuYW1lc3BhY2UKKyAqCisgKiBTZWFyY2ggZm9yIGFuIGF0dHJpYnV0ZSBhc3NvY2lhdGVkIHRvIGEgbm9kZQorICogVGhpcyBhdHRyaWJ1dGUgaGFzIHRvIGJlIGFuY2hvcmVkIGluIHRoZSBuYW1lc3BhY2Ugc3BlY2lmaWVkLgorICogVGhpcyBkb2VzIHRoZSBlbnRpdHkgc3Vic3RpdHV0aW9uLgorICogVGhpcyBmdW5jdGlvbiBsb29rcyBpbiBEVEQgYXR0cmlidXRlIGRlY2xhcmF0aW9uIGZvciAjRklYRUQgb3IKKyAqIGRlZmF1bHQgZGVjbGFyYXRpb24gdmFsdWVzIHVubGVzcyBEVEQgdXNlIGhhcyBiZWVuIHR1cm5lZCBvZmYuCisgKiBOb3RlIHRoYXQgYSBuYW1lc3BhY2Ugb2YgTlVMTCBpbmRpY2F0ZXMgdG8gdXNlIHRoZSBkZWZhdWx0IG5hbWVzcGFjZS4KKyAqCisgKiBSZXR1cm5zIHRoZSBhdHRyaWJ1dGUgb3IgdGhlIGF0dHJpYnV0ZSBkZWNsYXJhdGlvbiBvciBOVUxMCisgKiAgICAgaWYgbmVpdGhlciB3YXMgZm91bmQuCisgKi8KK3htbEF0dHJQdHIKK3htbEhhc05zUHJvcChjb25zdCB4bWxOb2RlICpub2RlLCBjb25zdCB4bWxDaGFyICpuYW1lLCBjb25zdCB4bWxDaGFyICpuYW1lU3BhY2UpIHsKKworICAgIHJldHVybih4bWxHZXRQcm9wTm9kZUludGVybmFsKG5vZGUsIG5hbWUsIG5hbWVTcGFjZSwgeG1sQ2hlY2tEVEQpKTsKK30KKworLyoqCisgKiB4bWxHZXRQcm9wOgorICogQG5vZGU6ICB0aGUgbm9kZQorICogQG5hbWU6ICB0aGUgYXR0cmlidXRlIG5hbWUKKyAqCisgKiBTZWFyY2ggYW5kIGdldCB0aGUgdmFsdWUgb2YgYW4gYXR0cmlidXRlIGFzc29jaWF0ZWQgdG8gYSBub2RlCisgKiBUaGlzIGRvZXMgdGhlIGVudGl0eSBzdWJzdGl0dXRpb24uCisgKiBUaGlzIGZ1bmN0aW9uIGxvb2tzIGluIERURCBhdHRyaWJ1dGUgZGVjbGFyYXRpb24gZm9yICNGSVhFRCBvcgorICogZGVmYXVsdCBkZWNsYXJhdGlvbiB2YWx1ZXMgdW5sZXNzIERURCB1c2UgaGFzIGJlZW4gdHVybmVkIG9mZi4KKyAqIE5PVEU6IHRoaXMgZnVuY3Rpb24gYWN0cyBpbmRlcGVuZGVudGx5IG9mIG5hbWVzcGFjZXMgYXNzb2NpYXRlZAorICogICAgICAgdG8gdGhlIGF0dHJpYnV0ZS4gVXNlIHhtbEdldE5zUHJvcCgpIG9yIHhtbEdldE5vTnNQcm9wKCkKKyAqICAgICAgIGZvciBuYW1lc3BhY2UgYXdhcmUgcHJvY2Vzc2luZy4KKyAqCisgKiBSZXR1cm5zIHRoZSBhdHRyaWJ1dGUgdmFsdWUgb3IgTlVMTCBpZiBub3QgZm91bmQuCisgKiAgICAgSXQncyB1cCB0byB0aGUgY2FsbGVyIHRvIGZyZWUgdGhlIG1lbW9yeSB3aXRoIHhtbEZyZWUoKS4KKyAqLworeG1sQ2hhciAqCit4bWxHZXRQcm9wKGNvbnN0IHhtbE5vZGUgKm5vZGUsIGNvbnN0IHhtbENoYXIgKm5hbWUpIHsKKyAgICB4bWxBdHRyUHRyIHByb3A7CisKKyAgICBwcm9wID0geG1sSGFzUHJvcChub2RlLCBuYW1lKTsKKyAgICBpZiAocHJvcCA9PSBOVUxMKQorCXJldHVybihOVUxMKTsKKyAgICByZXR1cm4oeG1sR2V0UHJvcE5vZGVWYWx1ZUludGVybmFsKHByb3ApKTsKK30KKworLyoqCisgKiB4bWxHZXROb05zUHJvcDoKKyAqIEBub2RlOiAgdGhlIG5vZGUKKyAqIEBuYW1lOiAgdGhlIGF0dHJpYnV0ZSBuYW1lCisgKgorICogU2VhcmNoIGFuZCBnZXQgdGhlIHZhbHVlIG9mIGFuIGF0dHJpYnV0ZSBhc3NvY2lhdGVkIHRvIGEgbm9kZQorICogVGhpcyBkb2VzIHRoZSBlbnRpdHkgc3Vic3RpdHV0aW9uLgorICogVGhpcyBmdW5jdGlvbiBsb29rcyBpbiBEVEQgYXR0cmlidXRlIGRlY2xhcmF0aW9uIGZvciAjRklYRUQgb3IKKyAqIGRlZmF1bHQgZGVjbGFyYXRpb24gdmFsdWVzIHVubGVzcyBEVEQgdXNlIGhhcyBiZWVuIHR1cm5lZCBvZmYuCisgKiBUaGlzIGZ1bmN0aW9uIGlzIHNpbWlsYXIgdG8geG1sR2V0UHJvcCBleGNlcHQgaXQgd2lsbCBhY2NlcHQgb25seQorICogYW4gYXR0cmlidXRlIGluIG5vIG5hbWVzcGFjZS4KKyAqCisgKiBSZXR1cm5zIHRoZSBhdHRyaWJ1dGUgdmFsdWUgb3IgTlVMTCBpZiBub3QgZm91bmQuCisgKiAgICAgSXQncyB1cCB0byB0aGUgY2FsbGVyIHRvIGZyZWUgdGhlIG1lbW9yeSB3aXRoIHhtbEZyZWUoKS4KKyAqLworeG1sQ2hhciAqCit4bWxHZXROb05zUHJvcChjb25zdCB4bWxOb2RlICpub2RlLCBjb25zdCB4bWxDaGFyICpuYW1lKSB7CisgICAgeG1sQXR0clB0ciBwcm9wOworCisgICAgcHJvcCA9IHhtbEdldFByb3BOb2RlSW50ZXJuYWwobm9kZSwgbmFtZSwgTlVMTCwgeG1sQ2hlY2tEVEQpOworICAgIGlmIChwcm9wID09IE5VTEwpCisJcmV0dXJuKE5VTEwpOworICAgIHJldHVybih4bWxHZXRQcm9wTm9kZVZhbHVlSW50ZXJuYWwocHJvcCkpOworfQorCisvKioKKyAqIHhtbEdldE5zUHJvcDoKKyAqIEBub2RlOiAgdGhlIG5vZGUKKyAqIEBuYW1lOiAgdGhlIGF0dHJpYnV0ZSBuYW1lCisgKiBAbmFtZVNwYWNlOiAgdGhlIFVSSSBvZiB0aGUgbmFtZXNwYWNlCisgKgorICogU2VhcmNoIGFuZCBnZXQgdGhlIHZhbHVlIG9mIGFuIGF0dHJpYnV0ZSBhc3NvY2lhdGVkIHRvIGEgbm9kZQorICogVGhpcyBhdHRyaWJ1dGUgaGFzIHRvIGJlIGFuY2hvcmVkIGluIHRoZSBuYW1lc3BhY2Ugc3BlY2lmaWVkLgorICogVGhpcyBkb2VzIHRoZSBlbnRpdHkgc3Vic3RpdHV0aW9uLgorICogVGhpcyBmdW5jdGlvbiBsb29rcyBpbiBEVEQgYXR0cmlidXRlIGRlY2xhcmF0aW9uIGZvciAjRklYRUQgb3IKKyAqIGRlZmF1bHQgZGVjbGFyYXRpb24gdmFsdWVzIHVubGVzcyBEVEQgdXNlIGhhcyBiZWVuIHR1cm5lZCBvZmYuCisgKgorICogUmV0dXJucyB0aGUgYXR0cmlidXRlIHZhbHVlIG9yIE5VTEwgaWYgbm90IGZvdW5kLgorICogICAgIEl0J3MgdXAgdG8gdGhlIGNhbGxlciB0byBmcmVlIHRoZSBtZW1vcnkgd2l0aCB4bWxGcmVlKCkuCisgKi8KK3htbENoYXIgKgoreG1sR2V0TnNQcm9wKGNvbnN0IHhtbE5vZGUgKm5vZGUsIGNvbnN0IHhtbENoYXIgKm5hbWUsIGNvbnN0IHhtbENoYXIgKm5hbWVTcGFjZSkgeworICAgIHhtbEF0dHJQdHIgcHJvcDsKKworICAgIHByb3AgPSB4bWxHZXRQcm9wTm9kZUludGVybmFsKG5vZGUsIG5hbWUsIG5hbWVTcGFjZSwgeG1sQ2hlY2tEVEQpOworICAgIGlmIChwcm9wID09IE5VTEwpCisJcmV0dXJuKE5VTEwpOworICAgIHJldHVybih4bWxHZXRQcm9wTm9kZVZhbHVlSW50ZXJuYWwocHJvcCkpOworfQorCisjaWYgZGVmaW5lZChMSUJYTUxfVFJFRV9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisvKioKKyAqIHhtbFVuc2V0UHJvcDoKKyAqIEBub2RlOiAgdGhlIG5vZGUKKyAqIEBuYW1lOiAgdGhlIGF0dHJpYnV0ZSBuYW1lCisgKgorICogUmVtb3ZlIGFuIGF0dHJpYnV0ZSBjYXJyaWVkIGJ5IGEgbm9kZS4KKyAqIFRoaXMgaGFuZGxlcyBvbmx5IGF0dHJpYnV0ZXMgaW4gbm8gbmFtZXNwYWNlLgorICogUmV0dXJucyAwIGlmIHN1Y2Nlc3NmdWwsIC0xIGlmIG5vdCBmb3VuZAorICovCitpbnQKK3htbFVuc2V0UHJvcCh4bWxOb2RlUHRyIG5vZGUsIGNvbnN0IHhtbENoYXIgKm5hbWUpIHsKKyAgICB4bWxBdHRyUHRyIHByb3A7CisKKyAgICBwcm9wID0geG1sR2V0UHJvcE5vZGVJbnRlcm5hbChub2RlLCBuYW1lLCBOVUxMLCAwKTsKKyAgICBpZiAocHJvcCA9PSBOVUxMKQorCXJldHVybigtMSk7CisgICAgeG1sVW5saW5rTm9kZSgoeG1sTm9kZVB0cikgcHJvcCk7CisgICAgeG1sRnJlZVByb3AocHJvcCk7CisgICAgcmV0dXJuKDApOworfQorCisvKioKKyAqIHhtbFVuc2V0TnNQcm9wOgorICogQG5vZGU6ICB0aGUgbm9kZQorICogQG5zOiAgdGhlIG5hbWVzcGFjZSBkZWZpbml0aW9uCisgKiBAbmFtZTogIHRoZSBhdHRyaWJ1dGUgbmFtZQorICoKKyAqIFJlbW92ZSBhbiBhdHRyaWJ1dGUgY2FycmllZCBieSBhIG5vZGUuCisgKiBSZXR1cm5zIDAgaWYgc3VjY2Vzc2Z1bCwgLTEgaWYgbm90IGZvdW5kCisgKi8KK2ludAoreG1sVW5zZXROc1Byb3AoeG1sTm9kZVB0ciBub2RlLCB4bWxOc1B0ciBucywgY29uc3QgeG1sQ2hhciAqbmFtZSkgeworICAgIHhtbEF0dHJQdHIgcHJvcDsKKworICAgIHByb3AgPSB4bWxHZXRQcm9wTm9kZUludGVybmFsKG5vZGUsIG5hbWUsIChucyAhPSBOVUxMKSA/IG5zLT5ocmVmIDogTlVMTCwgMCk7CisgICAgaWYgKHByb3AgPT0gTlVMTCkKKwlyZXR1cm4oLTEpOworICAgIHhtbFVubGlua05vZGUoKHhtbE5vZGVQdHIpIHByb3ApOworICAgIHhtbEZyZWVQcm9wKHByb3ApOworICAgIHJldHVybigwKTsKK30KKyNlbmRpZgorCisjaWYgZGVmaW5lZChMSUJYTUxfVFJFRV9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9YSU5DTFVERV9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpIHx8IGRlZmluZWQoTElCWE1MX0hUTUxfRU5BQkxFRCkKKy8qKgorICogeG1sU2V0UHJvcDoKKyAqIEBub2RlOiAgdGhlIG5vZGUKKyAqIEBuYW1lOiAgdGhlIGF0dHJpYnV0ZSBuYW1lIChhIFFOYW1lKQorICogQHZhbHVlOiAgdGhlIGF0dHJpYnV0ZSB2YWx1ZQorICoKKyAqIFNldCAob3IgcmVzZXQpIGFuIGF0dHJpYnV0ZSBjYXJyaWVkIGJ5IGEgbm9kZS4KKyAqIElmIEBuYW1lIGhhcyBhIHByZWZpeCwgdGhlbiB0aGUgY29ycmVzcG9uZGluZworICogbmFtZXNwYWNlLWJpbmRpbmcgd2lsbCBiZSB1c2VkLCBpZiBpbiBzY29wZTsgaXQgaXMgYW4KKyAqIGVycm9yIGl0IHRoZXJlJ3Mgbm8gc3VjaCBucy1iaW5kaW5nIGZvciB0aGUgcHJlZml4IGluCisgKiBzY29wZS4KKyAqIFJldHVybnMgdGhlIGF0dHJpYnV0ZSBwb2ludGVyLgorICoKKyAqLworeG1sQXR0clB0cgoreG1sU2V0UHJvcCh4bWxOb2RlUHRyIG5vZGUsIGNvbnN0IHhtbENoYXIgKm5hbWUsIGNvbnN0IHhtbENoYXIgKnZhbHVlKSB7CisgICAgaW50IGxlbjsKKyAgICBjb25zdCB4bWxDaGFyICpucW5hbWU7CisKKyAgICBpZiAoKG5vZGUgPT0gTlVMTCkgfHwgKG5hbWUgPT0gTlVMTCkgfHwgKG5vZGUtPnR5cGUgIT0gWE1MX0VMRU1FTlRfTk9ERSkpCisJcmV0dXJuKE5VTEwpOworCisgICAgLyoKKyAgICAgKiBoYW5kbGUgUU5hbWVzCisgICAgICovCisgICAgbnFuYW1lID0geG1sU3BsaXRRTmFtZTMobmFtZSwgJmxlbik7CisgICAgaWYgKG5xbmFtZSAhPSBOVUxMKSB7CisgICAgICAgIHhtbE5zUHRyIG5zOworCXhtbENoYXIgKnByZWZpeCA9IHhtbFN0cm5kdXAobmFtZSwgbGVuKTsKKwlucyA9IHhtbFNlYXJjaE5zKG5vZGUtPmRvYywgbm9kZSwgcHJlZml4KTsKKwlpZiAocHJlZml4ICE9IE5VTEwpCisJICAgIHhtbEZyZWUocHJlZml4KTsKKwlpZiAobnMgIT0gTlVMTCkKKwkgICAgcmV0dXJuKHhtbFNldE5zUHJvcChub2RlLCBucywgbnFuYW1lLCB2YWx1ZSkpOworICAgIH0KKyAgICByZXR1cm4oeG1sU2V0TnNQcm9wKG5vZGUsIE5VTEwsIG5hbWUsIHZhbHVlKSk7Cit9CisKKy8qKgorICogeG1sU2V0TnNQcm9wOgorICogQG5vZGU6ICB0aGUgbm9kZQorICogQG5zOiAgdGhlIG5hbWVzcGFjZSBkZWZpbml0aW9uCisgKiBAbmFtZTogIHRoZSBhdHRyaWJ1dGUgbmFtZQorICogQHZhbHVlOiAgdGhlIGF0dHJpYnV0ZSB2YWx1ZQorICoKKyAqIFNldCAob3IgcmVzZXQpIGFuIGF0dHJpYnV0ZSBjYXJyaWVkIGJ5IGEgbm9kZS4KKyAqIFRoZSBucyBzdHJ1Y3R1cmUgbXVzdCBiZSBpbiBzY29wZSwgdGhpcyBpcyBub3QgY2hlY2tlZAorICoKKyAqIFJldHVybnMgdGhlIGF0dHJpYnV0ZSBwb2ludGVyLgorICovCit4bWxBdHRyUHRyCit4bWxTZXROc1Byb3AoeG1sTm9kZVB0ciBub2RlLCB4bWxOc1B0ciBucywgY29uc3QgeG1sQ2hhciAqbmFtZSwKKwkgICAgIGNvbnN0IHhtbENoYXIgKnZhbHVlKQoreworICAgIHhtbEF0dHJQdHIgcHJvcDsKKworICAgIGlmIChucyAmJiAobnMtPmhyZWYgPT0gTlVMTCkpCisJcmV0dXJuKE5VTEwpOworICAgIHByb3AgPSB4bWxHZXRQcm9wTm9kZUludGVybmFsKG5vZGUsIG5hbWUsIChucyAhPSBOVUxMKSA/IG5zLT5ocmVmIDogTlVMTCwgMCk7CisgICAgaWYgKHByb3AgIT0gTlVMTCkgeworCS8qCisJKiBNb2RpZnkgdGhlIGF0dHJpYnV0ZSdzIHZhbHVlLgorCSovCisJaWYgKHByb3AtPmF0eXBlID09IFhNTF9BVFRSSUJVVEVfSUQpIHsKKwkgICAgeG1sUmVtb3ZlSUQobm9kZS0+ZG9jLCBwcm9wKTsKKwkgICAgcHJvcC0+YXR5cGUgPSBYTUxfQVRUUklCVVRFX0lEOworCX0KKwlpZiAocHJvcC0+Y2hpbGRyZW4gIT0gTlVMTCkKKwkgICAgeG1sRnJlZU5vZGVMaXN0KHByb3AtPmNoaWxkcmVuKTsKKwlwcm9wLT5jaGlsZHJlbiA9IE5VTEw7CisJcHJvcC0+bGFzdCA9IE5VTEw7CisJcHJvcC0+bnMgPSBuczsKKwlpZiAodmFsdWUgIT0gTlVMTCkgeworCSAgICB4bWxOb2RlUHRyIHRtcDsKKworCSAgICBpZigheG1sQ2hlY2tVVEY4KHZhbHVlKSkgeworCSAgICAgICAgeG1sVHJlZUVycihYTUxfVFJFRV9OT1RfVVRGOCwgKHhtbE5vZGVQdHIpIG5vZGUtPmRvYywKKwkgICAgICAgICAgICAgICAgICAgTlVMTCk7CisgICAgICAgICAgICAgICAgaWYgKG5vZGUtPmRvYyAhPSBOVUxMKQorICAgICAgICAgICAgICAgICAgICBub2RlLT5kb2MtPmVuY29kaW5nID0geG1sU3RyZHVwKEJBRF9DQVNUICJJU08tODg1OS0xIik7CisJICAgIH0KKwkgICAgcHJvcC0+Y2hpbGRyZW4gPSB4bWxOZXdEb2NUZXh0KG5vZGUtPmRvYywgdmFsdWUpOworCSAgICBwcm9wLT5sYXN0ID0gTlVMTDsKKwkgICAgdG1wID0gcHJvcC0+Y2hpbGRyZW47CisJICAgIHdoaWxlICh0bXAgIT0gTlVMTCkgeworCQl0bXAtPnBhcmVudCA9ICh4bWxOb2RlUHRyKSBwcm9wOworCQlpZiAodG1wLT5uZXh0ID09IE5VTEwpCisJCSAgICBwcm9wLT5sYXN0ID0gdG1wOworCQl0bXAgPSB0bXAtPm5leHQ7CisJICAgIH0KKwl9CisJaWYgKHByb3AtPmF0eXBlID09IFhNTF9BVFRSSUJVVEVfSUQpCisJICAgIHhtbEFkZElEKE5VTEwsIG5vZGUtPmRvYywgdmFsdWUsIHByb3ApOworCXJldHVybihwcm9wKTsKKyAgICB9CisgICAgLyoKKyAgICAqIE5vIGVxdWFsIGF0dHIgZm91bmQ7IGNyZWF0ZSBhIG5ldyBvbmUuCisgICAgKi8KKyAgICByZXR1cm4oeG1sTmV3UHJvcEludGVybmFsKG5vZGUsIG5zLCBuYW1lLCB2YWx1ZSwgMCkpOworfQorCisjZW5kaWYgLyogTElCWE1MX1RSRUVfRU5BQkxFRCAqLworCisvKioKKyAqIHhtbE5vZGVJc1RleHQ6CisgKiBAbm9kZTogIHRoZSBub2RlCisgKgorICogSXMgdGhpcyBub2RlIGEgVGV4dCBub2RlID8KKyAqIFJldHVybnMgMSB5ZXMsIDAgbm8KKyAqLworaW50Cit4bWxOb2RlSXNUZXh0KGNvbnN0IHhtbE5vZGUgKm5vZGUpIHsKKyAgICBpZiAobm9kZSA9PSBOVUxMKSByZXR1cm4oMCk7CisKKyAgICBpZiAobm9kZS0+dHlwZSA9PSBYTUxfVEVYVF9OT0RFKSByZXR1cm4oMSk7CisgICAgcmV0dXJuKDApOworfQorCisvKioKKyAqIHhtbElzQmxhbmtOb2RlOgorICogQG5vZGU6ICB0aGUgbm9kZQorICoKKyAqIENoZWNrcyB3aGV0aGVyIHRoaXMgbm9kZSBpcyBhbiBlbXB0eSBvciB3aGl0ZXNwYWNlIG9ubHkKKyAqIChhbmQgcG9zc2libHkgaWdub3JhYmxlKSB0ZXh0LW5vZGUuCisgKgorICogUmV0dXJucyAxIHllcywgMCBubworICovCitpbnQKK3htbElzQmxhbmtOb2RlKGNvbnN0IHhtbE5vZGUgKm5vZGUpIHsKKyAgICBjb25zdCB4bWxDaGFyICpjdXI7CisgICAgaWYgKG5vZGUgPT0gTlVMTCkgcmV0dXJuKDApOworCisgICAgaWYgKChub2RlLT50eXBlICE9IFhNTF9URVhUX05PREUpICYmCisgICAgICAgIChub2RlLT50eXBlICE9IFhNTF9DREFUQV9TRUNUSU9OX05PREUpKQorCXJldHVybigwKTsKKyAgICBpZiAobm9kZS0+Y29udGVudCA9PSBOVUxMKSByZXR1cm4oMSk7CisgICAgY3VyID0gbm9kZS0+Y29udGVudDsKKyAgICB3aGlsZSAoKmN1ciAhPSAwKSB7CisJaWYgKCFJU19CTEFOS19DSCgqY3VyKSkgcmV0dXJuKDApOworCWN1cisrOworICAgIH0KKworICAgIHJldHVybigxKTsKK30KKworLyoqCisgKiB4bWxUZXh0Q29uY2F0OgorICogQG5vZGU6ICB0aGUgbm9kZQorICogQGNvbnRlbnQ6ICB0aGUgY29udGVudAorICogQGxlbjogIEBjb250ZW50IGxlbmd0aAorICoKKyAqIENvbmNhdCB0aGUgZ2l2ZW4gc3RyaW5nIGF0IHRoZSBlbmQgb2YgdGhlIGV4aXN0aW5nIG5vZGUgY29udGVudAorICoKKyAqIFJldHVybnMgLTEgaW4gY2FzZSBvZiBlcnJvciwgMCBvdGhlcndpc2UKKyAqLworCitpbnQKK3htbFRleHRDb25jYXQoeG1sTm9kZVB0ciBub2RlLCBjb25zdCB4bWxDaGFyICpjb250ZW50LCBpbnQgbGVuKSB7CisgICAgaWYgKG5vZGUgPT0gTlVMTCkgcmV0dXJuKC0xKTsKKworICAgIGlmICgobm9kZS0+dHlwZSAhPSBYTUxfVEVYVF9OT0RFKSAmJgorICAgICAgICAobm9kZS0+dHlwZSAhPSBYTUxfQ0RBVEFfU0VDVElPTl9OT0RFKSAmJgorCShub2RlLT50eXBlICE9IFhNTF9DT01NRU5UX05PREUpICYmCisJKG5vZGUtPnR5cGUgIT0gWE1MX1BJX05PREUpKSB7CisjaWZkZWYgREVCVUdfVFJFRQorCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkieG1sVGV4dENvbmNhdDogbm9kZSBpcyBub3QgdGV4dCBub3IgQ0RBVEFcbiIpOworI2VuZGlmCisgICAgICAgIHJldHVybigtMSk7CisgICAgfQorICAgIC8qIG5lZWQgdG8gY2hlY2sgaWYgY29udGVudCBpcyBjdXJyZW50bHkgaW4gdGhlIGRpY3Rpb25hcnkgKi8KKyAgICBpZiAoKG5vZGUtPmNvbnRlbnQgPT0gKHhtbENoYXIgKikgJihub2RlLT5wcm9wZXJ0aWVzKSkgfHwKKyAgICAgICAgKChub2RlLT5kb2MgIT0gTlVMTCkgJiYgKG5vZGUtPmRvYy0+ZGljdCAhPSBOVUxMKSAmJgorCQl4bWxEaWN0T3ducyhub2RlLT5kb2MtPmRpY3QsIG5vZGUtPmNvbnRlbnQpKSkgeworCW5vZGUtPmNvbnRlbnQgPSB4bWxTdHJuY2F0TmV3KG5vZGUtPmNvbnRlbnQsIGNvbnRlbnQsIGxlbik7CisgICAgfSBlbHNlIHsKKyAgICAgICAgbm9kZS0+Y29udGVudCA9IHhtbFN0cm5jYXQobm9kZS0+Y29udGVudCwgY29udGVudCwgbGVuKTsKKyAgICB9CisgICAgbm9kZS0+cHJvcGVydGllcyA9IE5VTEw7CisgICAgaWYgKG5vZGUtPmNvbnRlbnQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuKC0xKTsKKyAgICByZXR1cm4oMCk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCQlPdXRwdXQgOiB0byBhIEZJTEUgb3IgaW4gbWVtb3J5CQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioKKyAqIHhtbEJ1ZmZlckNyZWF0ZToKKyAqCisgKiByb3V0aW5lIHRvIGNyZWF0ZSBhbiBYTUwgYnVmZmVyLgorICogcmV0dXJucyB0aGUgbmV3IHN0cnVjdHVyZS4KKyAqLworeG1sQnVmZmVyUHRyCit4bWxCdWZmZXJDcmVhdGUodm9pZCkgeworICAgIHhtbEJ1ZmZlclB0ciByZXQ7CisKKyAgICByZXQgPSAoeG1sQnVmZmVyUHRyKSB4bWxNYWxsb2Moc2l6ZW9mKHhtbEJ1ZmZlcikpOworICAgIGlmIChyZXQgPT0gTlVMTCkgeworCXhtbFRyZWVFcnJNZW1vcnkoImNyZWF0aW5nIGJ1ZmZlciIpOworICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgfQorICAgIHJldC0+dXNlID0gMDsKKyAgICByZXQtPnNpemUgPSB4bWxEZWZhdWx0QnVmZmVyU2l6ZTsKKyAgICByZXQtPmFsbG9jID0geG1sQnVmZmVyQWxsb2NTY2hlbWU7CisgICAgcmV0LT5jb250ZW50ID0gKHhtbENoYXIgKikgeG1sTWFsbG9jQXRvbWljKHJldC0+c2l6ZSAqIHNpemVvZih4bWxDaGFyKSk7CisgICAgaWYgKHJldC0+Y29udGVudCA9PSBOVUxMKSB7CisJeG1sVHJlZUVyck1lbW9yeSgiY3JlYXRpbmcgYnVmZmVyIik7CisJeG1sRnJlZShyZXQpOworICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgfQorICAgIHJldC0+Y29udGVudFswXSA9IDA7CisgICAgcmV0LT5jb250ZW50SU8gPSBOVUxMOworICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbEJ1ZmZlckNyZWF0ZVNpemU6CisgKiBAc2l6ZTogaW5pdGlhbCBzaXplIG9mIGJ1ZmZlcgorICoKKyAqIHJvdXRpbmUgdG8gY3JlYXRlIGFuIFhNTCBidWZmZXIuCisgKiByZXR1cm5zIHRoZSBuZXcgc3RydWN0dXJlLgorICovCit4bWxCdWZmZXJQdHIKK3htbEJ1ZmZlckNyZWF0ZVNpemUoc2l6ZV90IHNpemUpIHsKKyAgICB4bWxCdWZmZXJQdHIgcmV0OworCisgICAgcmV0ID0gKHhtbEJ1ZmZlclB0cikgeG1sTWFsbG9jKHNpemVvZih4bWxCdWZmZXIpKTsKKyAgICBpZiAocmV0ID09IE5VTEwpIHsKKwl4bWxUcmVlRXJyTWVtb3J5KCJjcmVhdGluZyBidWZmZXIiKTsKKyAgICAgICAgcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICByZXQtPnVzZSA9IDA7CisgICAgcmV0LT5hbGxvYyA9IHhtbEJ1ZmZlckFsbG9jU2NoZW1lOworICAgIHJldC0+c2l6ZSA9IChzaXplID8gc2l6ZSsyIDogMCk7ICAgICAgICAgLyogKzEgZm9yIGVuZGluZyBudWxsICovCisgICAgaWYgKHJldC0+c2l6ZSl7CisgICAgICAgIHJldC0+Y29udGVudCA9ICh4bWxDaGFyICopIHhtbE1hbGxvY0F0b21pYyhyZXQtPnNpemUgKiBzaXplb2YoeG1sQ2hhcikpOworICAgICAgICBpZiAocmV0LT5jb250ZW50ID09IE5VTEwpIHsKKwkgICAgeG1sVHJlZUVyck1lbW9yeSgiY3JlYXRpbmcgYnVmZmVyIik7CisgICAgICAgICAgICB4bWxGcmVlKHJldCk7CisgICAgICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgICAgIH0KKyAgICAgICAgcmV0LT5jb250ZW50WzBdID0gMDsKKyAgICB9IGVsc2UKKwlyZXQtPmNvbnRlbnQgPSBOVUxMOworICAgIHJldC0+Y29udGVudElPID0gTlVMTDsKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxCdWZmZXJEZXRhY2g6CisgKiBAYnVmOiAgdGhlIGJ1ZmZlcgorICoKKyAqIFJlbW92ZSB0aGUgc3RyaW5nIGNvbnRhaW5lZCBpbiBhIGJ1ZmZlciBhbmQgZ2llIGl0IGJhY2sgdG8gdGhlCisgKiBjYWxsZXIuIFRoZSBidWZmZXIgaXMgcmVzZXQgdG8gYW4gZW1wdHkgY29udGVudC4KKyAqIFRoaXMgZG9lc24ndCB3b3JrIHdpdGggaW1tdXRhYmxlIGJ1ZmZlcnMgYXMgdGhleSBjYW4ndCBiZSByZXNldC4KKyAqCisgKiBSZXR1cm5zIHRoZSBwcmV2aW91cyBzdHJpbmcgY29udGFpbmVkIGJ5IHRoZSBidWZmZXIuCisgKi8KK3htbENoYXIgKgoreG1sQnVmZmVyRGV0YWNoKHhtbEJ1ZmZlclB0ciBidWYpIHsKKyAgICB4bWxDaGFyICpyZXQ7CisKKyAgICBpZiAoYnVmID09IE5VTEwpCisgICAgICAgIHJldHVybihOVUxMKTsKKyAgICBpZiAoYnVmLT5hbGxvYyA9PSBYTUxfQlVGRkVSX0FMTE9DX0lNTVVUQUJMRSkKKyAgICAgICAgcmV0dXJuKE5VTEwpOworCisgICAgcmV0ID0gYnVmLT5jb250ZW50OworICAgIGJ1Zi0+Y29udGVudCA9IE5VTEw7CisgICAgYnVmLT5zaXplID0gMDsKKyAgICBidWYtPnVzZSA9IDA7CisKKyAgICByZXR1cm4gcmV0OworfQorCisKKy8qKgorICogeG1sQnVmZmVyQ3JlYXRlU3RhdGljOgorICogQG1lbTogdGhlIG1lbW9yeSBhcmVhCisgKiBAc2l6ZTogIHRoZSBzaXplIGluIGJ5dGUKKyAqCisgKiByb3V0aW5lIHRvIGNyZWF0ZSBhbiBYTUwgYnVmZmVyIGZyb20gYW4gaW1tdXRhYmxlIG1lbW9yeSBhcmVhLgorICogVGhlIGFyZWEgd29uJ3QgYmUgbW9kaWZpZWQgbm9yIGNvcGllZCwgYW5kIGlzIGV4cGVjdGVkIHRvIGJlCisgKiBwcmVzZW50IHVudGlsIHRoZSBlbmQgb2YgdGhlIGJ1ZmZlciBsaWZldGltZS4KKyAqCisgKiByZXR1cm5zIHRoZSBuZXcgc3RydWN0dXJlLgorICovCit4bWxCdWZmZXJQdHIKK3htbEJ1ZmZlckNyZWF0ZVN0YXRpYyh2b2lkICptZW0sIHNpemVfdCBzaXplKSB7CisgICAgeG1sQnVmZmVyUHRyIHJldDsKKworICAgIGlmICgobWVtID09IE5VTEwpIHx8IChzaXplID09IDApKQorICAgICAgICByZXR1cm4oTlVMTCk7CisKKyAgICByZXQgPSAoeG1sQnVmZmVyUHRyKSB4bWxNYWxsb2Moc2l6ZW9mKHhtbEJ1ZmZlcikpOworICAgIGlmIChyZXQgPT0gTlVMTCkgeworCXhtbFRyZWVFcnJNZW1vcnkoImNyZWF0aW5nIGJ1ZmZlciIpOworICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgfQorICAgIHJldC0+dXNlID0gc2l6ZTsKKyAgICByZXQtPnNpemUgPSBzaXplOworICAgIHJldC0+YWxsb2MgPSBYTUxfQlVGRkVSX0FMTE9DX0lNTVVUQUJMRTsKKyAgICByZXQtPmNvbnRlbnQgPSAoeG1sQ2hhciAqKSBtZW07CisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogeG1sQnVmZmVyU2V0QWxsb2NhdGlvblNjaGVtZToKKyAqIEBidWY6ICB0aGUgYnVmZmVyIHRvIHR1bmUKKyAqIEBzY2hlbWU6ICBhbGxvY2F0aW9uIHNjaGVtZSB0byB1c2UKKyAqCisgKiBTZXRzIHRoZSBhbGxvY2F0aW9uIHNjaGVtZSBmb3IgdGhpcyBidWZmZXIKKyAqLwordm9pZAoreG1sQnVmZmVyU2V0QWxsb2NhdGlvblNjaGVtZSh4bWxCdWZmZXJQdHIgYnVmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxCdWZmZXJBbGxvY2F0aW9uU2NoZW1lIHNjaGVtZSkgeworICAgIGlmIChidWYgPT0gTlVMTCkgeworI2lmZGVmIERFQlVHX0JVRkZFUgorICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJInhtbEJ1ZmZlclNldEFsbG9jYXRpb25TY2hlbWU6IGJ1ZiA9PSBOVUxMXG4iKTsKKyNlbmRpZgorICAgICAgICByZXR1cm47CisgICAgfQorICAgIGlmICgoYnVmLT5hbGxvYyA9PSBYTUxfQlVGRkVSX0FMTE9DX0lNTVVUQUJMRSkgfHwKKyAgICAgICAgKGJ1Zi0+YWxsb2MgPT0gWE1MX0JVRkZFUl9BTExPQ19JTykpIHJldHVybjsKKyAgICBpZiAoKHNjaGVtZSA9PSBYTUxfQlVGRkVSX0FMTE9DX0RPVUJMRUlUKSB8fAorICAgICAgICAoc2NoZW1lID09IFhNTF9CVUZGRVJfQUxMT0NfRVhBQ1QpIHx8CisgICAgICAgIChzY2hlbWUgPT0gWE1MX0JVRkZFUl9BTExPQ19IWUJSSUQpIHx8CisgICAgICAgIChzY2hlbWUgPT0gWE1MX0JVRkZFUl9BTExPQ19JTU1VVEFCTEUpKQorCWJ1Zi0+YWxsb2MgPSBzY2hlbWU7Cit9CisKKy8qKgorICogeG1sQnVmZmVyRnJlZToKKyAqIEBidWY6ICB0aGUgYnVmZmVyIHRvIGZyZWUKKyAqCisgKiBGcmVlcyBhbiBYTUwgYnVmZmVyLiBJdCBmcmVlcyBib3RoIHRoZSBjb250ZW50IGFuZCB0aGUgc3RydWN0dXJlIHdoaWNoCisgKiBlbmNhcHN1bGF0ZSBpdC4KKyAqLwordm9pZAoreG1sQnVmZmVyRnJlZSh4bWxCdWZmZXJQdHIgYnVmKSB7CisgICAgaWYgKGJ1ZiA9PSBOVUxMKSB7CisjaWZkZWYgREVCVUdfQlVGRkVSCisgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkieG1sQnVmZmVyRnJlZTogYnVmID09IE5VTExcbiIpOworI2VuZGlmCisJcmV0dXJuOworICAgIH0KKworICAgIGlmICgoYnVmLT5hbGxvYyA9PSBYTUxfQlVGRkVSX0FMTE9DX0lPKSAmJgorICAgICAgICAoYnVmLT5jb250ZW50SU8gIT0gTlVMTCkpIHsKKyAgICAgICAgeG1sRnJlZShidWYtPmNvbnRlbnRJTyk7CisgICAgfSBlbHNlIGlmICgoYnVmLT5jb250ZW50ICE9IE5VTEwpICYmCisgICAgICAgIChidWYtPmFsbG9jICE9IFhNTF9CVUZGRVJfQUxMT0NfSU1NVVRBQkxFKSkgeworICAgICAgICB4bWxGcmVlKGJ1Zi0+Y29udGVudCk7CisgICAgfQorICAgIHhtbEZyZWUoYnVmKTsKK30KKworLyoqCisgKiB4bWxCdWZmZXJFbXB0eToKKyAqIEBidWY6ICB0aGUgYnVmZmVyCisgKgorICogZW1wdHkgYSBidWZmZXIuCisgKi8KK3ZvaWQKK3htbEJ1ZmZlckVtcHR5KHhtbEJ1ZmZlclB0ciBidWYpIHsKKyAgICBpZiAoYnVmID09IE5VTEwpIHJldHVybjsKKyAgICBpZiAoYnVmLT5jb250ZW50ID09IE5VTEwpIHJldHVybjsKKyAgICBidWYtPnVzZSA9IDA7CisgICAgaWYgKGJ1Zi0+YWxsb2MgPT0gWE1MX0JVRkZFUl9BTExPQ19JTU1VVEFCTEUpIHsKKyAgICAgICAgYnVmLT5jb250ZW50ID0gQkFEX0NBU1QgIiI7CisgICAgfSBlbHNlIGlmICgoYnVmLT5hbGxvYyA9PSBYTUxfQlVGRkVSX0FMTE9DX0lPKSAmJgorICAgICAgICAgICAgICAgKGJ1Zi0+Y29udGVudElPICE9IE5VTEwpKSB7CisgICAgICAgIHNpemVfdCBzdGFydF9idWYgPSBidWYtPmNvbnRlbnQgLSBidWYtPmNvbnRlbnRJTzsKKworCWJ1Zi0+c2l6ZSArPSBzdGFydF9idWY7CisgICAgICAgIGJ1Zi0+Y29udGVudCA9IGJ1Zi0+Y29udGVudElPOworICAgICAgICBidWYtPmNvbnRlbnRbMF0gPSAwOworICAgIH0gZWxzZSB7CisgICAgICAgIGJ1Zi0+Y29udGVudFswXSA9IDA7CisgICAgfQorfQorCisvKioKKyAqIHhtbEJ1ZmZlclNocmluazoKKyAqIEBidWY6ICB0aGUgYnVmZmVyIHRvIGR1bXAKKyAqIEBsZW46ICB0aGUgbnVtYmVyIG9mIHhtbENoYXIgdG8gcmVtb3ZlCisgKgorICogUmVtb3ZlIHRoZSBiZWdpbm5pbmcgb2YgYW4gWE1MIGJ1ZmZlci4KKyAqCisgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgI3htbENoYXIgcmVtb3ZlZCwgb3IgLTEgaW4gY2FzZSBvZiBmYWlsdXJlLgorICovCitpbnQKK3htbEJ1ZmZlclNocmluayh4bWxCdWZmZXJQdHIgYnVmLCB1bnNpZ25lZCBpbnQgbGVuKSB7CisgICAgaWYgKGJ1ZiA9PSBOVUxMKSByZXR1cm4oLTEpOworICAgIGlmIChsZW4gPT0gMCkgcmV0dXJuKDApOworICAgIGlmIChsZW4gPiBidWYtPnVzZSkgcmV0dXJuKC0xKTsKKworICAgIGJ1Zi0+dXNlIC09IGxlbjsKKyAgICBpZiAoKGJ1Zi0+YWxsb2MgPT0gWE1MX0JVRkZFUl9BTExPQ19JTU1VVEFCTEUpIHx8CisgICAgICAgICgoYnVmLT5hbGxvYyA9PSBYTUxfQlVGRkVSX0FMTE9DX0lPKSAmJiAoYnVmLT5jb250ZW50SU8gIT0gTlVMTCkpKSB7CisJLyoKKwkgKiB3ZSBqdXN0IG1vdmUgdGhlIGNvbnRlbnQgcG9pbnRlciwgYnV0IGFsc28gbWFrZSBzdXJlCisJICogdGhlIHBlcmNlaXZlZCBidWZmZXIgc2l6ZSBoYXMgc2hyaW5rZWQgYWNjb3JkaW5nbHkKKwkgKi8KKyAgICAgICAgYnVmLT5jb250ZW50ICs9IGxlbjsKKwlidWYtPnNpemUgLT0gbGVuOworCisgICAgICAgIC8qCisJICogc29tZXRpbWVzIHRob3VnaCBpdCBtYXliZSBiZSBiZXR0ZXIgdG8gcmVhbGx5IHNocmluaworCSAqIG9uIElPIGJ1ZmZlcnMKKwkgKi8KKwlpZiAoKGJ1Zi0+YWxsb2MgPT0gWE1MX0JVRkZFUl9BTExPQ19JTykgJiYgKGJ1Zi0+Y29udGVudElPICE9IE5VTEwpKSB7CisJICAgIHNpemVfdCBzdGFydF9idWYgPSBidWYtPmNvbnRlbnQgLSBidWYtPmNvbnRlbnRJTzsKKwkgICAgaWYgKHN0YXJ0X2J1ZiA+PSBidWYtPnNpemUpIHsKKwkJbWVtbW92ZShidWYtPmNvbnRlbnRJTywgJmJ1Zi0+Y29udGVudFswXSwgYnVmLT51c2UpOworCQlidWYtPmNvbnRlbnQgPSBidWYtPmNvbnRlbnRJTzsKKwkJYnVmLT5jb250ZW50W2J1Zi0+dXNlXSA9IDA7CisJCWJ1Zi0+c2l6ZSArPSBzdGFydF9idWY7CisJICAgIH0KKwl9CisgICAgfSBlbHNlIHsKKwltZW1tb3ZlKGJ1Zi0+Y29udGVudCwgJmJ1Zi0+Y29udGVudFtsZW5dLCBidWYtPnVzZSk7CisJYnVmLT5jb250ZW50W2J1Zi0+dXNlXSA9IDA7CisgICAgfQorICAgIHJldHVybihsZW4pOworfQorCisvKioKKyAqIHhtbEJ1ZmZlckdyb3c6CisgKiBAYnVmOiAgdGhlIGJ1ZmZlcgorICogQGxlbjogIHRoZSBtaW5pbXVtIGZyZWUgc2l6ZSB0byBhbGxvY2F0ZQorICoKKyAqIEdyb3cgdGhlIGF2YWlsYWJsZSBzcGFjZSBvZiBhbiBYTUwgYnVmZmVyLgorICoKKyAqIFJldHVybnMgdGhlIG5ldyBhdmFpbGFibGUgc3BhY2Ugb3IgLTEgaW4gY2FzZSBvZiBlcnJvcgorICovCitpbnQKK3htbEJ1ZmZlckdyb3coeG1sQnVmZmVyUHRyIGJ1ZiwgdW5zaWduZWQgaW50IGxlbikgeworICAgIGludCBzaXplOworICAgIHhtbENoYXIgKm5ld2J1ZjsKKworICAgIGlmIChidWYgPT0gTlVMTCkgcmV0dXJuKC0xKTsKKworICAgIGlmIChidWYtPmFsbG9jID09IFhNTF9CVUZGRVJfQUxMT0NfSU1NVVRBQkxFKSByZXR1cm4oMCk7CisgICAgaWYgKGxlbiArIGJ1Zi0+dXNlIDwgYnVmLT5zaXplKSByZXR1cm4oMCk7CisKKyAgICAvKgorICAgICAqIFdpbmRvd3MgaGFzIGEgQklHIHByb2JsZW0gb24gcmVhbGxvYyB0aW1pbmcsIHNvIHdlIHRyeSB0byBkb3VibGUKKyAgICAgKiB0aGUgYnVmZmVyIHNpemUgKGlmIHRoYXQncyBlbm91Z2gpIChidWcgMTQ2Njk3KQorICAgICAqIEFwcGFyZW50bHkgQlNEIHRvbywgYW5kIGl0J3MgcHJvYmFibHkgYmVzdCBmb3IgbGludXggdG9vCisgICAgICogT24gYW4gZW1iZWRkZWQgc3lzdGVtIHRoaXMgbWF5IGJlIHNvbWV0aGluZyB0byBjaGFuZ2UKKyAgICAgKi8KKyNpZiAxCisgICAgaWYgKGJ1Zi0+c2l6ZSA+IGxlbikKKyAgICAgICAgc2l6ZSA9IGJ1Zi0+c2l6ZSAqIDI7CisgICAgZWxzZQorICAgICAgICBzaXplID0gYnVmLT51c2UgKyBsZW4gKyAxMDA7CisjZWxzZQorICAgIHNpemUgPSBidWYtPnVzZSArIGxlbiArIDEwMDsKKyNlbmRpZgorCisgICAgaWYgKChidWYtPmFsbG9jID09IFhNTF9CVUZGRVJfQUxMT0NfSU8pICYmIChidWYtPmNvbnRlbnRJTyAhPSBOVUxMKSkgeworICAgICAgICBzaXplX3Qgc3RhcnRfYnVmID0gYnVmLT5jb250ZW50IC0gYnVmLT5jb250ZW50SU87CisKKwluZXdidWYgPSAoeG1sQ2hhciAqKSB4bWxSZWFsbG9jKGJ1Zi0+Y29udGVudElPLCBzdGFydF9idWYgKyBzaXplKTsKKwlpZiAobmV3YnVmID09IE5VTEwpIHsKKwkgICAgeG1sVHJlZUVyck1lbW9yeSgiZ3Jvd2luZyBidWZmZXIiKTsKKwkgICAgcmV0dXJuKC0xKTsKKwl9CisJYnVmLT5jb250ZW50SU8gPSBuZXdidWY7CisJYnVmLT5jb250ZW50ID0gbmV3YnVmICsgc3RhcnRfYnVmOworICAgIH0gZWxzZSB7CisJbmV3YnVmID0gKHhtbENoYXIgKikgeG1sUmVhbGxvYyhidWYtPmNvbnRlbnQsIHNpemUpOworCWlmIChuZXdidWYgPT0gTlVMTCkgeworCSAgICB4bWxUcmVlRXJyTWVtb3J5KCJncm93aW5nIGJ1ZmZlciIpOworCSAgICByZXR1cm4oLTEpOworCX0KKwlidWYtPmNvbnRlbnQgPSBuZXdidWY7CisgICAgfQorICAgIGJ1Zi0+c2l6ZSA9IHNpemU7CisgICAgcmV0dXJuKGJ1Zi0+c2l6ZSAtIGJ1Zi0+dXNlKTsKK30KKworLyoqCisgKiB4bWxCdWZmZXJEdW1wOgorICogQGZpbGU6ICB0aGUgZmlsZSBvdXRwdXQKKyAqIEBidWY6ICB0aGUgYnVmZmVyIHRvIGR1bXAKKyAqCisgKiBEdW1wcyBhbiBYTUwgYnVmZmVyIHRvICBhIEZJTEUgKi4KKyAqIFJldHVybnMgdGhlIG51bWJlciBvZiAjeG1sQ2hhciB3cml0dGVuCisgKi8KK2ludAoreG1sQnVmZmVyRHVtcChGSUxFICpmaWxlLCB4bWxCdWZmZXJQdHIgYnVmKSB7CisgICAgaW50IHJldDsKKworICAgIGlmIChidWYgPT0gTlVMTCkgeworI2lmZGVmIERFQlVHX0JVRkZFUgorICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJInhtbEJ1ZmZlckR1bXA6IGJ1ZiA9PSBOVUxMXG4iKTsKKyNlbmRpZgorCXJldHVybigwKTsKKyAgICB9CisgICAgaWYgKGJ1Zi0+Y29udGVudCA9PSBOVUxMKSB7CisjaWZkZWYgREVCVUdfQlVGRkVSCisgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkieG1sQnVmZmVyRHVtcDogYnVmLT5jb250ZW50ID09IE5VTExcbiIpOworI2VuZGlmCisJcmV0dXJuKDApOworICAgIH0KKyAgICBpZiAoZmlsZSA9PSBOVUxMKQorCWZpbGUgPSBzdGRvdXQ7CisgICAgcmV0ID0gZndyaXRlKGJ1Zi0+Y29udGVudCwgc2l6ZW9mKHhtbENoYXIpLCBidWYtPnVzZSwgZmlsZSk7CisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogeG1sQnVmZmVyQ29udGVudDoKKyAqIEBidWY6ICB0aGUgYnVmZmVyCisgKgorICogRnVuY3Rpb24gdG8gZXh0cmFjdCB0aGUgY29udGVudCBvZiBhIGJ1ZmZlcgorICoKKyAqIFJldHVybnMgdGhlIGludGVybmFsIGNvbnRlbnQKKyAqLworCitjb25zdCB4bWxDaGFyICoKK3htbEJ1ZmZlckNvbnRlbnQoY29uc3QgeG1sQnVmZmVyICpidWYpCit7CisgICAgaWYoIWJ1ZikKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICByZXR1cm4gYnVmLT5jb250ZW50OworfQorCisvKioKKyAqIHhtbEJ1ZmZlckxlbmd0aDoKKyAqIEBidWY6ICB0aGUgYnVmZmVyCisgKgorICogRnVuY3Rpb24gdG8gZ2V0IHRoZSBsZW5ndGggb2YgYSBidWZmZXIKKyAqCisgKiBSZXR1cm5zIHRoZSBsZW5ndGggb2YgZGF0YSBpbiB0aGUgaW50ZXJuYWwgY29udGVudAorICovCisKK2ludAoreG1sQnVmZmVyTGVuZ3RoKGNvbnN0IHhtbEJ1ZmZlciAqYnVmKQoreworICAgIGlmKCFidWYpCisgICAgICAgIHJldHVybiAwOworCisgICAgcmV0dXJuIGJ1Zi0+dXNlOworfQorCisvKioKKyAqIHhtbEJ1ZmZlclJlc2l6ZToKKyAqIEBidWY6ICB0aGUgYnVmZmVyIHRvIHJlc2l6ZQorICogQHNpemU6ICB0aGUgZGVzaXJlZCBzaXplCisgKgorICogUmVzaXplIGEgYnVmZmVyIHRvIGFjY29tbW9kYXRlIG1pbmltdW0gc2l6ZSBvZiBAc2l6ZS4KKyAqCisgKiBSZXR1cm5zICAwIGluIGNhc2Ugb2YgcHJvYmxlbXMsIDEgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sQnVmZmVyUmVzaXplKHhtbEJ1ZmZlclB0ciBidWYsIHVuc2lnbmVkIGludCBzaXplKQoreworICAgIHVuc2lnbmVkIGludCBuZXdTaXplOworICAgIHhtbENoYXIqIHJlYnVmID0gTlVMTDsKKyAgICBzaXplX3Qgc3RhcnRfYnVmOworCisgICAgaWYgKGJ1ZiA9PSBOVUxMKQorICAgICAgICByZXR1cm4oMCk7CisKKyAgICBpZiAoYnVmLT5hbGxvYyA9PSBYTUxfQlVGRkVSX0FMTE9DX0lNTVVUQUJMRSkgcmV0dXJuKDApOworCisgICAgLyogRG9uJ3QgcmVzaXplIGlmIHdlIGRvbid0IGhhdmUgdG8gKi8KKyAgICBpZiAoc2l6ZSA8IGJ1Zi0+c2l6ZSkKKyAgICAgICAgcmV0dXJuIDE7CisKKyAgICAvKiBmaWd1cmUgb3V0IG5ldyBzaXplICovCisgICAgc3dpdGNoIChidWYtPmFsbG9jKXsKKwljYXNlIFhNTF9CVUZGRVJfQUxMT0NfSU86CisJY2FzZSBYTUxfQlVGRkVSX0FMTE9DX0RPVUJMRUlUOgorCSAgICAvKnRha2UgY2FyZSBvZiBlbXB0eSBjYXNlKi8KKwkgICAgbmV3U2l6ZSA9IChidWYtPnNpemUgPyBidWYtPnNpemUqMiA6IHNpemUgKyAxMCk7CisJICAgIHdoaWxlIChzaXplID4gbmV3U2l6ZSkgeworCSAgICAgICAgaWYgKG5ld1NpemUgPiBVSU5UX01BWCAvIDIpIHsKKwkgICAgICAgICAgICB4bWxUcmVlRXJyTWVtb3J5KCJncm93aW5nIGJ1ZmZlciIpOworCSAgICAgICAgICAgIHJldHVybiAwOworCSAgICAgICAgfQorCSAgICAgICAgbmV3U2l6ZSAqPSAyOworCSAgICB9CisJICAgIGJyZWFrOworCWNhc2UgWE1MX0JVRkZFUl9BTExPQ19FWEFDVDoKKwkgICAgbmV3U2l6ZSA9IHNpemUrMTA7CisJICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9CVUZGRVJfQUxMT0NfSFlCUklEOgorICAgICAgICAgICAgaWYgKGJ1Zi0+dXNlIDwgQkFTRV9CVUZGRVJfU0laRSkKKyAgICAgICAgICAgICAgICBuZXdTaXplID0gc2l6ZTsKKyAgICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAgIG5ld1NpemUgPSBidWYtPnNpemUgKiAyOworICAgICAgICAgICAgICAgIHdoaWxlIChzaXplID4gbmV3U2l6ZSkgeworICAgICAgICAgICAgICAgICAgICBpZiAobmV3U2l6ZSA+IFVJTlRfTUFYIC8gMikgeworICAgICAgICAgICAgICAgICAgICAgICAgeG1sVHJlZUVyck1lbW9yeSgiZ3Jvd2luZyBidWZmZXIiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIG5ld1NpemUgKj0gMjsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgICAgICBicmVhazsKKworCWRlZmF1bHQ6CisJICAgIG5ld1NpemUgPSBzaXplKzEwOworCSAgICBicmVhazsKKyAgICB9CisKKyAgICBpZiAoKGJ1Zi0+YWxsb2MgPT0gWE1MX0JVRkZFUl9BTExPQ19JTykgJiYgKGJ1Zi0+Y29udGVudElPICE9IE5VTEwpKSB7CisgICAgICAgIHN0YXJ0X2J1ZiA9IGJ1Zi0+Y29udGVudCAtIGJ1Zi0+Y29udGVudElPOworCisgICAgICAgIGlmIChzdGFydF9idWYgPiBuZXdTaXplKSB7CisJICAgIC8qIG1vdmUgZGF0YSBiYWNrIHRvIHN0YXJ0ICovCisJICAgIG1lbW1vdmUoYnVmLT5jb250ZW50SU8sIGJ1Zi0+Y29udGVudCwgYnVmLT51c2UpOworCSAgICBidWYtPmNvbnRlbnQgPSBidWYtPmNvbnRlbnRJTzsKKwkgICAgYnVmLT5jb250ZW50W2J1Zi0+dXNlXSA9IDA7CisJICAgIGJ1Zi0+c2l6ZSArPSBzdGFydF9idWY7CisJfSBlbHNlIHsKKwkgICAgcmVidWYgPSAoeG1sQ2hhciAqKSB4bWxSZWFsbG9jKGJ1Zi0+Y29udGVudElPLCBzdGFydF9idWYgKyBuZXdTaXplKTsKKwkgICAgaWYgKHJlYnVmID09IE5VTEwpIHsKKwkJeG1sVHJlZUVyck1lbW9yeSgiZ3Jvd2luZyBidWZmZXIiKTsKKwkJcmV0dXJuIDA7CisJICAgIH0KKwkgICAgYnVmLT5jb250ZW50SU8gPSByZWJ1ZjsKKwkgICAgYnVmLT5jb250ZW50ID0gcmVidWYgKyBzdGFydF9idWY7CisJfQorICAgIH0gZWxzZSB7CisJaWYgKGJ1Zi0+Y29udGVudCA9PSBOVUxMKSB7CisJICAgIHJlYnVmID0gKHhtbENoYXIgKikgeG1sTWFsbG9jQXRvbWljKG5ld1NpemUpOworCX0gZWxzZSBpZiAoYnVmLT5zaXplIC0gYnVmLT51c2UgPCAxMDApIHsKKwkgICAgcmVidWYgPSAoeG1sQ2hhciAqKSB4bWxSZWFsbG9jKGJ1Zi0+Y29udGVudCwgbmV3U2l6ZSk7CisgICAgICAgIH0gZWxzZSB7CisJICAgIC8qCisJICAgICAqIGlmIHdlIGFyZSByZWFsbG9jYXRpbmcgYSBidWZmZXIgZmFyIGZyb20gYmVpbmcgZnVsbCwgaXQncworCSAgICAgKiBiZXR0ZXIgdG8gbWFrZSBhIG5ldyBhbGxvY2F0aW9uIGFuZCBjb3B5IG9ubHkgdGhlIHVzZWQgcmFuZ2UKKwkgICAgICogYW5kIGZyZWUgdGhlIG9sZCBvbmUuCisJICAgICAqLworCSAgICByZWJ1ZiA9ICh4bWxDaGFyICopIHhtbE1hbGxvY0F0b21pYyhuZXdTaXplKTsKKwkgICAgaWYgKHJlYnVmICE9IE5VTEwpIHsKKwkJbWVtY3B5KHJlYnVmLCBidWYtPmNvbnRlbnQsIGJ1Zi0+dXNlKTsKKwkJeG1sRnJlZShidWYtPmNvbnRlbnQpOworCQlyZWJ1ZltidWYtPnVzZV0gPSAwOworCSAgICB9CisJfQorCWlmIChyZWJ1ZiA9PSBOVUxMKSB7CisJICAgIHhtbFRyZWVFcnJNZW1vcnkoImdyb3dpbmcgYnVmZmVyIik7CisJICAgIHJldHVybiAwOworCX0KKwlidWYtPmNvbnRlbnQgPSByZWJ1ZjsKKyAgICB9CisgICAgYnVmLT5zaXplID0gbmV3U2l6ZTsKKworICAgIHJldHVybiAxOworfQorCisvKioKKyAqIHhtbEJ1ZmZlckFkZDoKKyAqIEBidWY6ICB0aGUgYnVmZmVyIHRvIGR1bXAKKyAqIEBzdHI6ICB0aGUgI3htbENoYXIgc3RyaW5nCisgKiBAbGVuOiAgdGhlIG51bWJlciBvZiAjeG1sQ2hhciB0byBhZGQKKyAqCisgKiBBZGQgYSBzdHJpbmcgcmFuZ2UgdG8gYW4gWE1MIGJ1ZmZlci4gaWYgbGVuID09IC0xLCB0aGUgbGVuZ3RoIG9mCisgKiBzdHIgaXMgcmVjb21wdXRlZC4KKyAqCisgKiBSZXR1cm5zIDAgc3VjY2Vzc2Z1bCwgYSBwb3NpdGl2ZSBlcnJvciBjb2RlIG51bWJlciBvdGhlcndpc2UKKyAqICAgICAgICAgYW5kIC0xIGluIGNhc2Ugb2YgaW50ZXJuYWwgb3IgQVBJIGVycm9yLgorICovCitpbnQKK3htbEJ1ZmZlckFkZCh4bWxCdWZmZXJQdHIgYnVmLCBjb25zdCB4bWxDaGFyICpzdHIsIGludCBsZW4pIHsKKyAgICB1bnNpZ25lZCBpbnQgbmVlZFNpemU7CisKKyAgICBpZiAoKHN0ciA9PSBOVUxMKSB8fCAoYnVmID09IE5VTEwpKSB7CisJcmV0dXJuIC0xOworICAgIH0KKyAgICBpZiAoYnVmLT5hbGxvYyA9PSBYTUxfQlVGRkVSX0FMTE9DX0lNTVVUQUJMRSkgcmV0dXJuIC0xOworICAgIGlmIChsZW4gPCAtMSkgeworI2lmZGVmIERFQlVHX0JVRkZFUgorICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJInhtbEJ1ZmZlckFkZDogbGVuIDwgMFxuIik7CisjZW5kaWYKKwlyZXR1cm4gLTE7CisgICAgfQorICAgIGlmIChsZW4gPT0gMCkgcmV0dXJuIDA7CisKKyAgICBpZiAobGVuIDwgMCkKKyAgICAgICAgbGVuID0geG1sU3RybGVuKHN0cik7CisKKyAgICBpZiAobGVuIDwgMCkgcmV0dXJuIC0xOworICAgIGlmIChsZW4gPT0gMCkgcmV0dXJuIDA7CisKKyAgICBuZWVkU2l6ZSA9IGJ1Zi0+dXNlICsgbGVuICsgMjsKKyAgICBpZiAobmVlZFNpemUgPiBidWYtPnNpemUpeworICAgICAgICBpZiAoIXhtbEJ1ZmZlclJlc2l6ZShidWYsIG5lZWRTaXplKSl7CisJICAgIHhtbFRyZWVFcnJNZW1vcnkoImdyb3dpbmcgYnVmZmVyIik7CisgICAgICAgICAgICByZXR1cm4gWE1MX0VSUl9OT19NRU1PUlk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBtZW1tb3ZlKCZidWYtPmNvbnRlbnRbYnVmLT51c2VdLCBzdHIsIGxlbipzaXplb2YoeG1sQ2hhcikpOworICAgIGJ1Zi0+dXNlICs9IGxlbjsKKyAgICBidWYtPmNvbnRlbnRbYnVmLT51c2VdID0gMDsKKyAgICByZXR1cm4gMDsKK30KKworLyoqCisgKiB4bWxCdWZmZXJBZGRIZWFkOgorICogQGJ1ZjogIHRoZSBidWZmZXIKKyAqIEBzdHI6ICB0aGUgI3htbENoYXIgc3RyaW5nCisgKiBAbGVuOiAgdGhlIG51bWJlciBvZiAjeG1sQ2hhciB0byBhZGQKKyAqCisgKiBBZGQgYSBzdHJpbmcgcmFuZ2UgdG8gdGhlIGJlZ2lubmluZyBvZiBhbiBYTUwgYnVmZmVyLgorICogaWYgbGVuID09IC0xLCB0aGUgbGVuZ3RoIG9mIEBzdHIgaXMgcmVjb21wdXRlZC4KKyAqCisgKiBSZXR1cm5zIDAgc3VjY2Vzc2Z1bCwgYSBwb3NpdGl2ZSBlcnJvciBjb2RlIG51bWJlciBvdGhlcndpc2UKKyAqICAgICAgICAgYW5kIC0xIGluIGNhc2Ugb2YgaW50ZXJuYWwgb3IgQVBJIGVycm9yLgorICovCitpbnQKK3htbEJ1ZmZlckFkZEhlYWQoeG1sQnVmZmVyUHRyIGJ1ZiwgY29uc3QgeG1sQ2hhciAqc3RyLCBpbnQgbGVuKSB7CisgICAgdW5zaWduZWQgaW50IG5lZWRTaXplOworCisgICAgaWYgKGJ1ZiA9PSBOVUxMKQorICAgICAgICByZXR1cm4oLTEpOworICAgIGlmIChidWYtPmFsbG9jID09IFhNTF9CVUZGRVJfQUxMT0NfSU1NVVRBQkxFKSByZXR1cm4gLTE7CisgICAgaWYgKHN0ciA9PSBOVUxMKSB7CisjaWZkZWYgREVCVUdfQlVGRkVSCisgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkieG1sQnVmZmVyQWRkSGVhZDogc3RyID09IE5VTExcbiIpOworI2VuZGlmCisJcmV0dXJuIC0xOworICAgIH0KKyAgICBpZiAobGVuIDwgLTEpIHsKKyNpZmRlZiBERUJVR19CVUZGRVIKKyAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSJ4bWxCdWZmZXJBZGRIZWFkOiBsZW4gPCAwXG4iKTsKKyNlbmRpZgorCXJldHVybiAtMTsKKyAgICB9CisgICAgaWYgKGxlbiA9PSAwKSByZXR1cm4gMDsKKworICAgIGlmIChsZW4gPCAwKQorICAgICAgICBsZW4gPSB4bWxTdHJsZW4oc3RyKTsKKworICAgIGlmIChsZW4gPD0gMCkgcmV0dXJuIC0xOworCisgICAgaWYgKChidWYtPmFsbG9jID09IFhNTF9CVUZGRVJfQUxMT0NfSU8pICYmIChidWYtPmNvbnRlbnRJTyAhPSBOVUxMKSkgeworICAgICAgICBzaXplX3Qgc3RhcnRfYnVmID0gYnVmLT5jb250ZW50IC0gYnVmLT5jb250ZW50SU87CisKKwlpZiAoc3RhcnRfYnVmID4gKHVuc2lnbmVkIGludCkgbGVuKSB7CisJICAgIC8qCisJICAgICAqIFdlIGNhbiBhZGQgaXQgaW4gdGhlIHNwYWNlIHByZXZpb3VzbHkgc2hyaW5rZWQKKwkgICAgICovCisJICAgIGJ1Zi0+Y29udGVudCAtPSBsZW47CisgICAgICAgICAgICBtZW1tb3ZlKCZidWYtPmNvbnRlbnRbMF0sIHN0ciwgbGVuKTsKKwkgICAgYnVmLT51c2UgKz0gbGVuOworCSAgICBidWYtPnNpemUgKz0gbGVuOworCSAgICByZXR1cm4oMCk7CisJfQorICAgIH0KKyAgICBuZWVkU2l6ZSA9IGJ1Zi0+dXNlICsgbGVuICsgMjsKKyAgICBpZiAobmVlZFNpemUgPiBidWYtPnNpemUpeworICAgICAgICBpZiAoIXhtbEJ1ZmZlclJlc2l6ZShidWYsIG5lZWRTaXplKSl7CisJICAgIHhtbFRyZWVFcnJNZW1vcnkoImdyb3dpbmcgYnVmZmVyIik7CisgICAgICAgICAgICByZXR1cm4gWE1MX0VSUl9OT19NRU1PUlk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBtZW1tb3ZlKCZidWYtPmNvbnRlbnRbbGVuXSwgJmJ1Zi0+Y29udGVudFswXSwgYnVmLT51c2UpOworICAgIG1lbW1vdmUoJmJ1Zi0+Y29udGVudFswXSwgc3RyLCBsZW4pOworICAgIGJ1Zi0+dXNlICs9IGxlbjsKKyAgICBidWYtPmNvbnRlbnRbYnVmLT51c2VdID0gMDsKKyAgICByZXR1cm4gMDsKK30KKworLyoqCisgKiB4bWxCdWZmZXJDYXQ6CisgKiBAYnVmOiAgdGhlIGJ1ZmZlciB0byBhZGQgdG8KKyAqIEBzdHI6ICB0aGUgI3htbENoYXIgc3RyaW5nCisgKgorICogQXBwZW5kIGEgemVybyB0ZXJtaW5hdGVkIHN0cmluZyB0byBhbiBYTUwgYnVmZmVyLgorICoKKyAqIFJldHVybnMgMCBzdWNjZXNzZnVsLCBhIHBvc2l0aXZlIGVycm9yIGNvZGUgbnVtYmVyIG90aGVyd2lzZQorICogICAgICAgICBhbmQgLTEgaW4gY2FzZSBvZiBpbnRlcm5hbCBvciBBUEkgZXJyb3IuCisgKi8KK2ludAoreG1sQnVmZmVyQ2F0KHhtbEJ1ZmZlclB0ciBidWYsIGNvbnN0IHhtbENoYXIgKnN0cikgeworICAgIGlmIChidWYgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuKC0xKTsKKyAgICBpZiAoYnVmLT5hbGxvYyA9PSBYTUxfQlVGRkVSX0FMTE9DX0lNTVVUQUJMRSkgcmV0dXJuIC0xOworICAgIGlmIChzdHIgPT0gTlVMTCkgcmV0dXJuIC0xOworICAgIHJldHVybiB4bWxCdWZmZXJBZGQoYnVmLCBzdHIsIC0xKTsKK30KKworLyoqCisgKiB4bWxCdWZmZXJDQ2F0OgorICogQGJ1ZjogIHRoZSBidWZmZXIgdG8gZHVtcAorICogQHN0cjogIHRoZSBDIGNoYXIgc3RyaW5nCisgKgorICogQXBwZW5kIGEgemVybyB0ZXJtaW5hdGVkIEMgc3RyaW5nIHRvIGFuIFhNTCBidWZmZXIuCisgKgorICogUmV0dXJucyAwIHN1Y2Nlc3NmdWwsIGEgcG9zaXRpdmUgZXJyb3IgY29kZSBudW1iZXIgb3RoZXJ3aXNlCisgKiAgICAgICAgIGFuZCAtMSBpbiBjYXNlIG9mIGludGVybmFsIG9yIEFQSSBlcnJvci4KKyAqLworaW50Cit4bWxCdWZmZXJDQ2F0KHhtbEJ1ZmZlclB0ciBidWYsIGNvbnN0IGNoYXIgKnN0cikgeworICAgIGNvbnN0IGNoYXIgKmN1cjsKKworICAgIGlmIChidWYgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuKC0xKTsKKyAgICBpZiAoYnVmLT5hbGxvYyA9PSBYTUxfQlVGRkVSX0FMTE9DX0lNTVVUQUJMRSkgcmV0dXJuIC0xOworICAgIGlmIChzdHIgPT0gTlVMTCkgeworI2lmZGVmIERFQlVHX0JVRkZFUgorICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJInhtbEJ1ZmZlckNDYXQ6IHN0ciA9PSBOVUxMXG4iKTsKKyNlbmRpZgorCXJldHVybiAtMTsKKyAgICB9CisgICAgZm9yIChjdXIgPSBzdHI7KmN1ciAhPSAwO2N1cisrKSB7CisgICAgICAgIGlmIChidWYtPnVzZSAgKyAxMCA+PSBidWYtPnNpemUpIHsKKyAgICAgICAgICAgIGlmICgheG1sQnVmZmVyUmVzaXplKGJ1ZiwgYnVmLT51c2UrMTApKXsKKwkJeG1sVHJlZUVyck1lbW9yeSgiZ3Jvd2luZyBidWZmZXIiKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gWE1MX0VSUl9OT19NRU1PUlk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgYnVmLT5jb250ZW50W2J1Zi0+dXNlKytdID0gKmN1cjsKKyAgICB9CisgICAgYnVmLT5jb250ZW50W2J1Zi0+dXNlXSA9IDA7CisgICAgcmV0dXJuIDA7Cit9CisKKy8qKgorICogeG1sQnVmZmVyV3JpdGVDSEFSOgorICogQGJ1ZjogIHRoZSBYTUwgYnVmZmVyCisgKiBAc3RyaW5nOiAgdGhlIHN0cmluZyB0byBhZGQKKyAqCisgKiByb3V0aW5lIHdoaWNoIG1hbmFnZXMgYW5kIGdyb3dzIGFuIG91dHB1dCBidWZmZXIuIFRoaXMgb25lIGFkZHMKKyAqIHhtbENoYXJzIGF0IHRoZSBlbmQgb2YgdGhlIGJ1ZmZlci4KKyAqLwordm9pZAoreG1sQnVmZmVyV3JpdGVDSEFSKHhtbEJ1ZmZlclB0ciBidWYsIGNvbnN0IHhtbENoYXIgKnN0cmluZykgeworICAgIGlmIChidWYgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuOworICAgIGlmIChidWYtPmFsbG9jID09IFhNTF9CVUZGRVJfQUxMT0NfSU1NVVRBQkxFKSByZXR1cm47CisgICAgeG1sQnVmZmVyQ2F0KGJ1Ziwgc3RyaW5nKTsKK30KKworLyoqCisgKiB4bWxCdWZmZXJXcml0ZUNoYXI6CisgKiBAYnVmOiAgdGhlIFhNTCBidWZmZXIgb3V0cHV0CisgKiBAc3RyaW5nOiAgdGhlIHN0cmluZyB0byBhZGQKKyAqCisgKiByb3V0aW5lIHdoaWNoIG1hbmFnZSBhbmQgZ3Jvd3MgYW4gb3V0cHV0IGJ1ZmZlci4gVGhpcyBvbmUgYWRkCisgKiBDIGNoYXJzIGF0IHRoZSBlbmQgb2YgdGhlIGFycmF5LgorICovCit2b2lkCit4bWxCdWZmZXJXcml0ZUNoYXIoeG1sQnVmZmVyUHRyIGJ1ZiwgY29uc3QgY2hhciAqc3RyaW5nKSB7CisgICAgaWYgKGJ1ZiA9PSBOVUxMKQorICAgICAgICByZXR1cm47CisgICAgaWYgKGJ1Zi0+YWxsb2MgPT0gWE1MX0JVRkZFUl9BTExPQ19JTU1VVEFCTEUpIHJldHVybjsKKyAgICB4bWxCdWZmZXJDQ2F0KGJ1Ziwgc3RyaW5nKTsKK30KKworCisvKioKKyAqIHhtbEJ1ZmZlcldyaXRlUXVvdGVkU3RyaW5nOgorICogQGJ1ZjogIHRoZSBYTUwgYnVmZmVyIG91dHB1dAorICogQHN0cmluZzogIHRoZSBzdHJpbmcgdG8gYWRkCisgKgorICogcm91dGluZSB3aGljaCBtYW5hZ2UgYW5kIGdyb3dzIGFuIG91dHB1dCBidWZmZXIuIFRoaXMgb25lIHdyaXRlcworICogYSBxdW90ZWQgb3IgZG91YmxlIHF1b3RlZCAjeG1sQ2hhciBzdHJpbmcsIGNoZWNraW5nIGZpcnN0IGlmIGl0IGhvbGRzCisgKiBxdW90ZSBvciBkb3VibGUtcXVvdGVzIGludGVybmFsbHkKKyAqLwordm9pZAoreG1sQnVmZmVyV3JpdGVRdW90ZWRTdHJpbmcoeG1sQnVmZmVyUHRyIGJ1ZiwgY29uc3QgeG1sQ2hhciAqc3RyaW5nKSB7CisgICAgY29uc3QgeG1sQ2hhciAqY3VyLCAqYmFzZTsKKyAgICBpZiAoYnVmID09IE5VTEwpCisgICAgICAgIHJldHVybjsKKyAgICBpZiAoYnVmLT5hbGxvYyA9PSBYTUxfQlVGRkVSX0FMTE9DX0lNTVVUQUJMRSkgcmV0dXJuOworICAgIGlmICh4bWxTdHJjaHIoc3RyaW5nLCAnXCInKSkgeworICAgICAgICBpZiAoeG1sU3RyY2hyKHN0cmluZywgJ1wnJykpIHsKKyNpZmRlZiBERUJVR19CVUZGRVIKKwkgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgInhtbEJ1ZmZlcldyaXRlUXVvdGVkU3RyaW5nOiBzdHJpbmcgY29udGFpbnMgcXVvdGUgYW5kIGRvdWJsZS1xdW90ZXMgIVxuIik7CisjZW5kaWYKKwkgICAgeG1sQnVmZmVyQ0NhdChidWYsICJcIiIpOworICAgICAgICAgICAgYmFzZSA9IGN1ciA9IHN0cmluZzsKKyAgICAgICAgICAgIHdoaWxlKCpjdXIgIT0gMCl7CisgICAgICAgICAgICAgICAgaWYoKmN1ciA9PSAnIicpeworICAgICAgICAgICAgICAgICAgICBpZiAoYmFzZSAhPSBjdXIpCisgICAgICAgICAgICAgICAgICAgICAgICB4bWxCdWZmZXJBZGQoYnVmLCBiYXNlLCBjdXIgLSBiYXNlKTsKKyAgICAgICAgICAgICAgICAgICAgeG1sQnVmZmVyQWRkKGJ1ZiwgQkFEX0NBU1QgIiZxdW90OyIsIDYpOworICAgICAgICAgICAgICAgICAgICBjdXIrKzsKKyAgICAgICAgICAgICAgICAgICAgYmFzZSA9IGN1cjsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIGN1cisrOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChiYXNlICE9IGN1cikKKyAgICAgICAgICAgICAgICB4bWxCdWZmZXJBZGQoYnVmLCBiYXNlLCBjdXIgLSBiYXNlKTsKKwkgICAgeG1sQnVmZmVyQ0NhdChidWYsICJcIiIpOworCX0KKyAgICAgICAgZWxzZXsKKwkgICAgeG1sQnVmZmVyQ0NhdChidWYsICJcJyIpOworICAgICAgICAgICAgeG1sQnVmZmVyQ2F0KGJ1Ziwgc3RyaW5nKTsKKwkgICAgeG1sQnVmZmVyQ0NhdChidWYsICJcJyIpOworICAgICAgICB9CisgICAgfSBlbHNlIHsKKyAgICAgICAgeG1sQnVmZmVyQ0NhdChidWYsICJcIiIpOworICAgICAgICB4bWxCdWZmZXJDYXQoYnVmLCBzdHJpbmcpOworICAgICAgICB4bWxCdWZmZXJDQ2F0KGJ1ZiwgIlwiIik7CisgICAgfQorfQorCisKKy8qKgorICogeG1sR2V0RG9jQ29tcHJlc3NNb2RlOgorICogQGRvYzogIHRoZSBkb2N1bWVudAorICoKKyAqIGdldCB0aGUgY29tcHJlc3Npb24gcmF0aW8gZm9yIGEgZG9jdW1lbnQsIFpMSUIgYmFzZWQKKyAqIFJldHVybnMgMCAodW5jb21wcmVzc2VkKSB0byA5IChtYXggY29tcHJlc3Npb24pCisgKi8KK2ludAoreG1sR2V0RG9jQ29tcHJlc3NNb2RlIChjb25zdCB4bWxEb2MgKmRvYykgeworICAgIGlmIChkb2MgPT0gTlVMTCkgcmV0dXJuKC0xKTsKKyAgICByZXR1cm4oZG9jLT5jb21wcmVzc2lvbik7Cit9CisKKy8qKgorICogeG1sU2V0RG9jQ29tcHJlc3NNb2RlOgorICogQGRvYzogIHRoZSBkb2N1bWVudAorICogQG1vZGU6ICB0aGUgY29tcHJlc3Npb24gcmF0aW8KKyAqCisgKiBzZXQgdGhlIGNvbXByZXNzaW9uIHJhdGlvIGZvciBhIGRvY3VtZW50LCBaTElCIGJhc2VkCisgKiBDb3JyZWN0IHZhbHVlczogMCAodW5jb21wcmVzc2VkKSB0byA5IChtYXggY29tcHJlc3Npb24pCisgKi8KK3ZvaWQKK3htbFNldERvY0NvbXByZXNzTW9kZSAoeG1sRG9jUHRyIGRvYywgaW50IG1vZGUpIHsKKyAgICBpZiAoZG9jID09IE5VTEwpIHJldHVybjsKKyAgICBpZiAobW9kZSA8IDApIGRvYy0+Y29tcHJlc3Npb24gPSAwOworICAgIGVsc2UgaWYgKG1vZGUgPiA5KSBkb2MtPmNvbXByZXNzaW9uID0gOTsKKyAgICBlbHNlIGRvYy0+Y29tcHJlc3Npb24gPSBtb2RlOworfQorCisvKioKKyAqIHhtbEdldENvbXByZXNzTW9kZToKKyAqCisgKiBnZXQgdGhlIGRlZmF1bHQgY29tcHJlc3Npb24gbW9kZSB1c2VkLCBaTElCIGJhc2VkLgorICogUmV0dXJucyAwICh1bmNvbXByZXNzZWQpIHRvIDkgKG1heCBjb21wcmVzc2lvbikKKyAqLworaW50Cit4bWxHZXRDb21wcmVzc01vZGUodm9pZCkKK3sKKyAgICByZXR1cm4gKHhtbENvbXByZXNzTW9kZSk7Cit9CisKKy8qKgorICogeG1sU2V0Q29tcHJlc3NNb2RlOgorICogQG1vZGU6ICB0aGUgY29tcHJlc3Npb24gcmF0aW8KKyAqCisgKiBzZXQgdGhlIGRlZmF1bHQgY29tcHJlc3Npb24gbW9kZSB1c2VkLCBaTElCIGJhc2VkCisgKiBDb3JyZWN0IHZhbHVlczogMCAodW5jb21wcmVzc2VkKSB0byA5IChtYXggY29tcHJlc3Npb24pCisgKi8KK3ZvaWQKK3htbFNldENvbXByZXNzTW9kZShpbnQgbW9kZSkgeworICAgIGlmIChtb2RlIDwgMCkgeG1sQ29tcHJlc3NNb2RlID0gMDsKKyAgICBlbHNlIGlmIChtb2RlID4gOSkgeG1sQ29tcHJlc3NNb2RlID0gOTsKKyAgICBlbHNlIHhtbENvbXByZXNzTW9kZSA9IG1vZGU7Cit9CisKKyNkZWZpbmUgWE1MX1RSRUVfTlNNQVBfUEFSRU5UIC0xCisjZGVmaW5lIFhNTF9UUkVFX05TTUFQX1hNTCAtMgorI2RlZmluZSBYTUxfVFJFRV9OU01BUF9ET0MgLTMKKyNkZWZpbmUgWE1MX1RSRUVfTlNNQVBfQ1VTVE9NIC00CisKK3R5cGVkZWYgc3RydWN0IHhtbE5zTWFwSXRlbSAqeG1sTnNNYXBJdGVtUHRyOworc3RydWN0IHhtbE5zTWFwSXRlbSB7CisgICAgeG1sTnNNYXBJdGVtUHRyIG5leHQ7CisgICAgeG1sTnNNYXBJdGVtUHRyIHByZXY7CisgICAgeG1sTnNQdHIgb2xkTnM7IC8qIG9sZCBucyBkZWNsIHJlZmVyZW5jZSAqLworICAgIHhtbE5zUHRyIG5ld05zOyAvKiBuZXcgbnMgZGVjbCByZWZlcmVuY2UgKi8KKyAgICBpbnQgc2hhZG93RGVwdGg7IC8qIFNoYWRvd2VkIGF0IHRoaXMgZGVwdGggKi8KKyAgICAvKgorICAgICogZGVwdGg6CisgICAgKiA+PSAwID09IEBub2RlJ3MgbnMtZGVjbHMKKyAgICAqIC0xICAgPT0gQHBhcmVudCdzIG5zLWRlY2xzCisgICAgKiAtMiAgID09IHRoZSBkb2MtPm9sZE5zIFhNTCBucy1kZWNsCisgICAgKiAtMyAgID09IHRoZSBkb2MtPm9sZE5zIHN0b3JhZ2UgbnMtZGVjbHMKKyAgICAqIC00ICAgPT0gbnMtZGVjbHMgcHJvdmlkZWQgdmlhIGN1c3RvbSBucy1oYW5kbGluZworICAgICovCisgICAgaW50IGRlcHRoOworfTsKKwordHlwZWRlZiBzdHJ1Y3QgeG1sTnNNYXAgKnhtbE5zTWFwUHRyOworc3RydWN0IHhtbE5zTWFwIHsKKyAgICB4bWxOc01hcEl0ZW1QdHIgZmlyc3Q7CisgICAgeG1sTnNNYXBJdGVtUHRyIGxhc3Q7CisgICAgeG1sTnNNYXBJdGVtUHRyIHBvb2w7Cit9OworCisjZGVmaW5lIFhNTF9OU01BUF9OT1RFTVBUWShtKSAoKChtKSAhPSBOVUxMKSAmJiAoKG0pLT5maXJzdCAhPSBOVUxMKSkKKyNkZWZpbmUgWE1MX05TTUFQX0ZPUkVBQ0gobSwgaSkgZm9yIChpID0gKG0pLT5maXJzdDsgaSAhPSBOVUxMOyBpID0gKGkpLT5uZXh0KQorI2RlZmluZSBYTUxfTlNNQVBfUE9QKG0sIGkpIFwKKyAgICBpID0gKG0pLT5sYXN0OyBcCisgICAgKG0pLT5sYXN0ID0gKGkpLT5wcmV2OyBcCisgICAgaWYgKChtKS0+bGFzdCA9PSBOVUxMKSBcCisJKG0pLT5maXJzdCA9IE5VTEw7IFwKKyAgICBlbHNlIFwKKwkobSktPmxhc3QtPm5leHQgPSBOVUxMOyBcCisgICAgKGkpLT5uZXh0ID0gKG0pLT5wb29sOyBcCisgICAgKG0pLT5wb29sID0gaTsKKworLyoKKyogeG1sRE9NV3JhcE5zTWFwRnJlZToKKyogQG1hcDogdGhlIG5zLW1hcAorKgorKiBGcmVlcyB0aGUgbnMtbWFwCisqLworc3RhdGljIHZvaWQKK3htbERPTVdyYXBOc01hcEZyZWUoeG1sTnNNYXBQdHIgbnNtYXApCit7CisgICAgeG1sTnNNYXBJdGVtUHRyIGN1ciwgdG1wOworCisgICAgaWYgKG5zbWFwID09IE5VTEwpCisJcmV0dXJuOworICAgIGN1ciA9IG5zbWFwLT5wb29sOworICAgIHdoaWxlIChjdXIgIT0gTlVMTCkgeworCXRtcCA9IGN1cjsKKwljdXIgPSBjdXItPm5leHQ7CisJeG1sRnJlZSh0bXApOworICAgIH0KKyAgICBjdXIgPSBuc21hcC0+Zmlyc3Q7CisgICAgd2hpbGUgKGN1ciAhPSBOVUxMKSB7CisJdG1wID0gY3VyOworCWN1ciA9IGN1ci0+bmV4dDsKKwl4bWxGcmVlKHRtcCk7CisgICAgfQorICAgIHhtbEZyZWUobnNtYXApOworfQorCisvKgorKiB4bWxET01XcmFwTnNNYXBBZGRJdGVtOgorKiBAbWFwOiB0aGUgbnMtbWFwCisqIEBvbGROczogdGhlIG9sZCBucy1zdHJ1Y3QKKyogQG5ld05zOiB0aGUgbmV3IG5zLXN0cnVjdAorKiBAZGVwdGg6IGRlcHRoIGFuZCBucy1raW5kIGluZm9ybWF0aW9uCisqCisqIEFkZHMgYW4gbnMtbWFwcGluZyBpdGVtLgorKi8KK3N0YXRpYyB4bWxOc01hcEl0ZW1QdHIKK3htbERPTVdyYXBOc01hcEFkZEl0ZW0oeG1sTnNNYXBQdHIgKm5zbWFwLCBpbnQgcG9zaXRpb24sCisJCSAgICAgICB4bWxOc1B0ciBvbGROcywgeG1sTnNQdHIgbmV3TnMsIGludCBkZXB0aCkKK3sKKyAgICB4bWxOc01hcEl0ZW1QdHIgcmV0OworICAgIHhtbE5zTWFwUHRyIG1hcDsKKworICAgIGlmIChuc21hcCA9PSBOVUxMKQorCXJldHVybihOVUxMKTsKKyAgICBpZiAoKHBvc2l0aW9uICE9IC0xKSAmJiAocG9zaXRpb24gIT0gMCkpCisJcmV0dXJuKE5VTEwpOworICAgIG1hcCA9ICpuc21hcDsKKworICAgIGlmIChtYXAgPT0gTlVMTCkgeworCS8qCisJKiBDcmVhdGUgdGhlIG5zLW1hcC4KKwkqLworCW1hcCA9ICh4bWxOc01hcFB0cikgeG1sTWFsbG9jKHNpemVvZihzdHJ1Y3QgeG1sTnNNYXApKTsKKwlpZiAobWFwID09IE5VTEwpIHsKKwkgICAgeG1sVHJlZUVyck1lbW9yeSgiYWxsb2NhdGluZyBuYW1lc3BhY2UgbWFwIik7CisJICAgIHJldHVybiAoTlVMTCk7CisJfQorCW1lbXNldChtYXAsIDAsIHNpemVvZihzdHJ1Y3QgeG1sTnNNYXApKTsKKwkqbnNtYXAgPSBtYXA7CisgICAgfQorCisgICAgaWYgKG1hcC0+cG9vbCAhPSBOVUxMKSB7CisJLyoKKwkqIFJldXNlIGFuIGl0ZW0gZnJvbSB0aGUgcG9vbC4KKwkqLworCXJldCA9IG1hcC0+cG9vbDsKKwltYXAtPnBvb2wgPSByZXQtPm5leHQ7CisJbWVtc2V0KHJldCwgMCwgc2l6ZW9mKHN0cnVjdCB4bWxOc01hcEl0ZW0pKTsKKyAgICB9IGVsc2UgeworCS8qCisJKiBDcmVhdGUgYSBuZXcgaXRlbS4KKwkqLworCXJldCA9ICh4bWxOc01hcEl0ZW1QdHIpIHhtbE1hbGxvYyhzaXplb2Yoc3RydWN0IHhtbE5zTWFwSXRlbSkpOworCWlmIChyZXQgPT0gTlVMTCkgeworCSAgICB4bWxUcmVlRXJyTWVtb3J5KCJhbGxvY2F0aW5nIG5hbWVzcGFjZSBtYXAgaXRlbSIpOworCSAgICByZXR1cm4gKE5VTEwpOworCX0KKwltZW1zZXQocmV0LCAwLCBzaXplb2Yoc3RydWN0IHhtbE5zTWFwSXRlbSkpOworICAgIH0KKworICAgIGlmIChtYXAtPmZpcnN0ID09IE5VTEwpIHsKKwkvKgorCSogRmlyc3QgZXZlci4KKwkqLworCW1hcC0+Zmlyc3QgPSByZXQ7CisJbWFwLT5sYXN0ID0gcmV0OworICAgIH0gZWxzZSBpZiAocG9zaXRpb24gPT0gLTEpIHsKKwkvKgorCSogQXBwZW5kLgorCSovCisJcmV0LT5wcmV2ID0gbWFwLT5sYXN0OworCW1hcC0+bGFzdC0+bmV4dCA9IHJldDsKKwltYXAtPmxhc3QgPSByZXQ7CisgICAgfSBlbHNlIGlmIChwb3NpdGlvbiA9PSAwKSB7CisJLyoKKwkqIFNldCBvbiBmaXJzdCBwb3NpdGlvbi4KKwkqLworCW1hcC0+Zmlyc3QtPnByZXYgPSByZXQ7CisJcmV0LT5uZXh0ID0gbWFwLT5maXJzdDsKKwltYXAtPmZpcnN0ID0gcmV0OworICAgIH0KKworICAgIHJldC0+b2xkTnMgPSBvbGROczsKKyAgICByZXQtPm5ld05zID0gbmV3TnM7CisgICAgcmV0LT5zaGFkb3dEZXB0aCA9IC0xOworICAgIHJldC0+ZGVwdGggPSBkZXB0aDsKKyAgICByZXR1cm4gKHJldCk7Cit9CisKKy8qCisqIHhtbERPTVdyYXBTdG9yZU5zOgorKiBAZG9jOiB0aGUgZG9jCisqIEBuc05hbWU6IHRoZSBuYW1lc3BhY2UgbmFtZQorKiBAcHJlZml4OiB0aGUgcHJlZml4CisqCisqIENyZWF0ZXMgb3IgcmV1c2VzIGFuIHhtbE5zIHN0cnVjdCBvbiBkb2MtPm9sZE5zIHdpdGgKKyogdGhlIGdpdmVuIHByZWZpeCBhbmQgbmFtZXNwYWNlIG5hbWUuCisqCisqIFJldHVybnMgdGhlIGFxdWlyZWQgbnMgc3RydWN0IG9yIE5VTEwgaW4gY2FzZSBvZiBhbiBBUEkKKyogICAgICAgICBvciBpbnRlcm5hbCBlcnJvci4KKyovCitzdGF0aWMgeG1sTnNQdHIKK3htbERPTVdyYXBTdG9yZU5zKHhtbERvY1B0ciBkb2MsCisJCSAgIGNvbnN0IHhtbENoYXIgKm5zTmFtZSwKKwkJICAgY29uc3QgeG1sQ2hhciAqcHJlZml4KQoreworICAgIHhtbE5zUHRyIG5zOworCisgICAgaWYgKGRvYyA9PSBOVUxMKQorCXJldHVybiAoTlVMTCk7CisgICAgbnMgPSB4bWxUcmVlRW5zdXJlWE1MRGVjbChkb2MpOworICAgIGlmIChucyA9PSBOVUxMKQorCXJldHVybiAoTlVMTCk7CisgICAgaWYgKG5zLT5uZXh0ICE9IE5VTEwpIHsKKwkvKiBSZXVzZS4gKi8KKwlucyA9IG5zLT5uZXh0OworCXdoaWxlIChucyAhPSBOVUxMKSB7CisJICAgIGlmICgoKG5zLT5wcmVmaXggPT0gcHJlZml4KSB8fAorCQl4bWxTdHJFcXVhbChucy0+cHJlZml4LCBwcmVmaXgpKSAmJgorCQl4bWxTdHJFcXVhbChucy0+aHJlZiwgbnNOYW1lKSkgeworCQlyZXR1cm4gKG5zKTsKKwkgICAgfQorCSAgICBpZiAobnMtPm5leHQgPT0gTlVMTCkKKwkJYnJlYWs7CisJICAgIG5zID0gbnMtPm5leHQ7CisJfQorICAgIH0KKyAgICAvKiBDcmVhdGUuICovCisgICAgaWYgKG5zICE9IE5VTEwpIHsKKyAgICAgICAgbnMtPm5leHQgPSB4bWxOZXdOcyhOVUxMLCBuc05hbWUsIHByZWZpeCk7CisgICAgICAgIHJldHVybiAobnMtPm5leHQpOworICAgIH0KKyAgICByZXR1cm4oTlVMTCk7Cit9CisKKy8qCisqIHhtbERPTVdyYXBOZXdDdHh0OgorKgorKiBBbGxvY2F0ZXMgYW5kIGluaXRpYWxpemVzIGEgbmV3IERPTS13cmFwcGVyIGNvbnRleHQuCisqCisqIFJldHVybnMgdGhlIHhtbERPTVdyYXBDdHh0UHRyIG9yIE5VTEwgaW4gY2FzZSBvZiBhbiBpbnRlcm5hbCBlcnJvci4KKyovCit4bWxET01XcmFwQ3R4dFB0cgoreG1sRE9NV3JhcE5ld0N0eHQodm9pZCkKK3sKKyAgICB4bWxET01XcmFwQ3R4dFB0ciByZXQ7CisKKyAgICByZXQgPSB4bWxNYWxsb2Moc2l6ZW9mKHhtbERPTVdyYXBDdHh0KSk7CisgICAgaWYgKHJldCA9PSBOVUxMKSB7CisJeG1sVHJlZUVyck1lbW9yeSgiYWxsb2NhdGluZyBET00td3JhcHBlciBjb250ZXh0Iik7CisJcmV0dXJuIChOVUxMKTsKKyAgICB9CisgICAgbWVtc2V0KHJldCwgMCwgc2l6ZW9mKHhtbERPTVdyYXBDdHh0KSk7CisgICAgcmV0dXJuIChyZXQpOworfQorCisvKgorKiB4bWxET01XcmFwRnJlZUN0eHQ6CisqIEBjdHh0OiB0aGUgRE9NLXdyYXBwZXIgY29udGV4dAorKgorKiBGcmVlcyB0aGUgRE9NLXdyYXBwZXIgY29udGV4dC4KKyovCit2b2lkCit4bWxET01XcmFwRnJlZUN0eHQoeG1sRE9NV3JhcEN0eHRQdHIgY3R4dCkKK3sKKyAgICBpZiAoY3R4dCA9PSBOVUxMKQorCXJldHVybjsKKyAgICBpZiAoY3R4dC0+bmFtZXNwYWNlTWFwICE9IE5VTEwpCisJeG1sRE9NV3JhcE5zTWFwRnJlZSgoeG1sTnNNYXBQdHIpIGN0eHQtPm5hbWVzcGFjZU1hcCk7CisgICAgLyoKKyAgICAqIFRPRE86IFN0b3JlIHRoZSBuYW1lc3BhY2UgbWFwIGluIHRoZSBjb250ZXh0LgorICAgICovCisgICAgeG1sRnJlZShjdHh0KTsKK30KKworLyoKKyogeG1sVHJlZUxvb2t1cE5zTGlzdEJ5UHJlZml4OgorKiBAbnNMaXN0OiBhIGxpc3Qgb2YgbnMtc3RydWN0cworKiBAcHJlZml4OiB0aGUgc2VhcmNoZWQgcHJlZml4CisqCisqIFNlYXJjaGVzIGZvciBhIG5zLWRlY2wgd2l0aCB0aGUgZ2l2ZW4gcHJlZml4IGluIEBuc0xpc3QuCisqCisqIFJldHVybnMgdGhlIG5zLWRlY2wgaWYgZm91bmQsIE5VTEwgaWYgbm90IGZvdW5kIGFuZCBvbgorKiAgICAgICAgIEFQSSBlcnJvcnMuCisqLworc3RhdGljIHhtbE5zUHRyCit4bWxUcmVlTlNMaXN0TG9va3VwQnlQcmVmaXgoeG1sTnNQdHIgbnNMaXN0LCBjb25zdCB4bWxDaGFyICpwcmVmaXgpCit7CisgICAgaWYgKG5zTGlzdCA9PSBOVUxMKQorCXJldHVybiAoTlVMTCk7CisgICAgeworCXhtbE5zUHRyIG5zOworCW5zID0gbnNMaXN0OworCWRvIHsKKwkgICAgaWYgKChwcmVmaXggPT0gbnMtPnByZWZpeCkgfHwKKwkJeG1sU3RyRXF1YWwocHJlZml4LCBucy0+cHJlZml4KSkgeworCQlyZXR1cm4gKG5zKTsKKwkgICAgfQorCSAgICBucyA9IG5zLT5uZXh0OworCX0gd2hpbGUgKG5zICE9IE5VTEwpOworICAgIH0KKyAgICByZXR1cm4gKE5VTEwpOworfQorCisvKgorKgorKiB4bWxET01XcmFwTlNOb3JtR2F0aGVySW5TY29wZU5zOgorKiBAbWFwOiB0aGUgbmFtZXNwYWNlIG1hcAorKiBAbm9kZTogdGhlIG5vZGUgdG8gc3RhcnQgd2l0aAorKgorKiBQdXRzIGluLXNjb3BlIG5hbWVzcGFjZXMgaW50byB0aGUgbnMtbWFwLgorKgorKiBSZXR1cm5zIDAgb24gc3VjY2VzcywgLTEgb24gQVBJIG9yIGludGVybmFsIGVycm9ycy4KKyovCitzdGF0aWMgaW50Cit4bWxET01XcmFwTlNOb3JtR2F0aGVySW5TY29wZU5zKHhtbE5zTWFwUHRyICptYXAsCisJCQkJeG1sTm9kZVB0ciBub2RlKQoreworICAgIHhtbE5vZGVQdHIgY3VyOworICAgIHhtbE5zUHRyIG5zOworICAgIHhtbE5zTWFwSXRlbVB0ciBtaTsKKyAgICBpbnQgc2hhZG93ZWQ7CisKKyAgICBpZiAoKG1hcCA9PSBOVUxMKSB8fCAoKm1hcCAhPSBOVUxMKSkKKwlyZXR1cm4gKC0xKTsKKyAgICBpZiAoKG5vZGUgPT0gTlVMTCkgfHwgKG5vZGUtPnR5cGUgPT0gWE1MX05BTUVTUEFDRV9ERUNMKSkKKyAgICAgICAgcmV0dXJuICgtMSk7CisgICAgLyoKKyAgICAqIEdldCBpbi1zY29wZSBucy1kZWNscyBvZiBAcGFyZW50LgorICAgICovCisgICAgY3VyID0gbm9kZTsKKyAgICB3aGlsZSAoKGN1ciAhPSBOVUxMKSAmJiAoY3VyICE9ICh4bWxOb2RlUHRyKSBjdXItPmRvYykpIHsKKwlpZiAoY3VyLT50eXBlID09IFhNTF9FTEVNRU5UX05PREUpIHsKKwkgICAgaWYgKGN1ci0+bnNEZWYgIT0gTlVMTCkgeworCQlucyA9IGN1ci0+bnNEZWY7CisJCWRvIHsKKwkJICAgIHNoYWRvd2VkID0gMDsKKwkJICAgIGlmIChYTUxfTlNNQVBfTk9URU1QVFkoKm1hcCkpIHsKKwkJCS8qCisJCQkqIFNraXAgc2hhZG93ZWQgcHJlZml4ZXMuCisJCQkqLworCQkJWE1MX05TTUFQX0ZPUkVBQ0goKm1hcCwgbWkpIHsKKwkJCSAgICBpZiAoKG5zLT5wcmVmaXggPT0gbWktPm5ld05zLT5wcmVmaXgpIHx8CisJCQkJeG1sU3RyRXF1YWwobnMtPnByZWZpeCwgbWktPm5ld05zLT5wcmVmaXgpKSB7CisJCQkJc2hhZG93ZWQgPSAxOworCQkJCWJyZWFrOworCQkJICAgIH0KKwkJCX0KKwkJICAgIH0KKwkJICAgIC8qCisJCSAgICAqIEluc2VydCBtYXBwaW5nLgorCQkgICAgKi8KKwkJICAgIG1pID0geG1sRE9NV3JhcE5zTWFwQWRkSXRlbShtYXAsIDAsIE5VTEwsCisJCQlucywgWE1MX1RSRUVfTlNNQVBfUEFSRU5UKTsKKwkJICAgIGlmIChtaSA9PSBOVUxMKQorCQkJcmV0dXJuICgtMSk7CisJCSAgICBpZiAoc2hhZG93ZWQpCisJCQltaS0+c2hhZG93RGVwdGggPSAwOworCQkgICAgbnMgPSBucy0+bmV4dDsKKwkJfSB3aGlsZSAobnMgIT0gTlVMTCk7CisJICAgIH0KKwl9CisJY3VyID0gY3VyLT5wYXJlbnQ7CisgICAgfQorICAgIHJldHVybiAoMCk7Cit9CisKKy8qCisqIFhNTF9UUkVFX0FET1BUX1NUUjogSWYgd2UgaGF2ZSBhIGRlc3QtZGljdCwgcHV0IEBzdHIgaW4gdGhlIGRpY3Q7CisqIG90aGVyd2lzZSBjb3B5IGl0LCB3aGVuIGl0IHdhcyBpbiB0aGUgc291cmNlLWRpY3QuCisqLworI2RlZmluZSBYTUxfVFJFRV9BRE9QVF9TVFIoc3RyKSBcCisgICAgaWYgKGFkb3B0U3RyICYmIChzdHIgIT0gTlVMTCkpIHsgXAorCWlmIChkZXN0RG9jLT5kaWN0KSB7IFwKKwkgICAgY29uc3QgeG1sQ2hhciAqb2xkID0gc3RyOwlcCisJICAgIHN0ciA9IHhtbERpY3RMb29rdXAoZGVzdERvYy0+ZGljdCwgc3RyLCAtMSk7IFwKKwkgICAgaWYgKChzb3VyY2VEb2MgPT0gTlVMTCkgfHwgKHNvdXJjZURvYy0+ZGljdCA9PSBOVUxMKSB8fCBcCisJICAgICAgICAoIXhtbERpY3RPd25zKHNvdXJjZURvYy0+ZGljdCwgb2xkKSkpIFwKKwkJeG1sRnJlZSgoY2hhciAqKW9sZCk7IFwKKwl9IGVsc2UgaWYgKChzb3VyY2VEb2MpICYmIChzb3VyY2VEb2MtPmRpY3QpICYmIFwKKwkgICAgeG1sRGljdE93bnMoc291cmNlRG9jLT5kaWN0LCBzdHIpKSB7IFwKKwkgICAgc3RyID0gQkFEX0NBU1QgeG1sU3RyZHVwKHN0cik7IFwKKwl9IFwKKyAgICB9CisKKy8qCisqIFhNTF9UUkVFX0FET1BUX1NUUl8yOiBJZiBAc3RyIHdhcyBpbiB0aGUgc291cmNlLWRpY3QsIHRoZW4KKyogcHV0IGl0IGluIGRlc3QtZGljdCBvciBjb3B5IGl0LgorKi8KKyNkZWZpbmUgWE1MX1RSRUVfQURPUFRfU1RSXzIoc3RyKSBcCisgICAgaWYgKGFkb3B0U3RyICYmIChzdHIgIT0gTlVMTCkgJiYgKHNvdXJjZURvYyAhPSBOVUxMKSAmJiBcCisJKHNvdXJjZURvYy0+ZGljdCAhPSBOVUxMKSAmJiBcCisJeG1sRGljdE93bnMoc291cmNlRG9jLT5kaWN0LCBjdXItPmNvbnRlbnQpKSB7IFwKKwlpZiAoZGVzdERvYy0+ZGljdCkgXAorCSAgICBjdXItPmNvbnRlbnQgPSAoeG1sQ2hhciAqKSBcCisJCXhtbERpY3RMb29rdXAoZGVzdERvYy0+ZGljdCwgY3VyLT5jb250ZW50LCAtMSk7IFwKKwllbHNlIFwKKwkgICAgY3VyLT5jb250ZW50ID0geG1sU3RyZHVwKEJBRF9DQVNUIGN1ci0+Y29udGVudCk7IFwKKyAgICB9CisKKy8qCisqIHhtbERPTVdyYXBOU05vcm1BZGROc01hcEl0ZW0yOgorKgorKiBGb3IgaW50ZXJuYWwgdXNlLiBBZGRzIGEgbnMtZGVjbCBtYXBwaW5nLgorKgorKiBSZXR1cm5zIDAgb24gc3VjY2VzcywgLTEgb24gaW50ZXJuYWwgZXJyb3JzLgorKi8KK3N0YXRpYyBpbnQKK3htbERPTVdyYXBOU05vcm1BZGROc01hcEl0ZW0yKHhtbE5zUHRyICoqbGlzdCwgaW50ICpzaXplLCBpbnQgKm51bWJlciwKKwkJCXhtbE5zUHRyIG9sZE5zLCB4bWxOc1B0ciBuZXdOcykKK3sKKyAgICBpZiAoKmxpc3QgPT0gTlVMTCkgeworCSpsaXN0ID0gKHhtbE5zUHRyICopIHhtbE1hbGxvYyg2ICogc2l6ZW9mKHhtbE5zUHRyKSk7CisJaWYgKCpsaXN0ID09IE5VTEwpIHsKKwkgICAgeG1sVHJlZUVyck1lbW9yeSgiYWxsb2MgbnMgbWFwIGl0ZW0iKTsKKwkgICAgcmV0dXJuKC0xKTsKKwl9CisJKnNpemUgPSAzOworCSpudW1iZXIgPSAwOworICAgIH0gZWxzZSBpZiAoKCpudW1iZXIpID49ICgqc2l6ZSkpIHsKKwkqc2l6ZSAqPSAyOworCSpsaXN0ID0gKHhtbE5zUHRyICopIHhtbFJlYWxsb2MoKmxpc3QsCisJICAgICgqc2l6ZSkgKiAyICogc2l6ZW9mKHhtbE5zUHRyKSk7CisJaWYgKCpsaXN0ID09IE5VTEwpIHsKKwkgICAgeG1sVHJlZUVyck1lbW9yeSgicmVhbGxvYyBucyBtYXAgaXRlbSIpOworCSAgICByZXR1cm4oLTEpOworCX0KKyAgICB9CisgICAgKCpsaXN0KVsyICogKCpudW1iZXIpXSA9IG9sZE5zOworICAgICgqbGlzdClbMiAqICgqbnVtYmVyKSArMV0gPSBuZXdOczsKKyAgICAoKm51bWJlcikrKzsKKyAgICByZXR1cm4gKDApOworfQorCisvKgorKiB4bWxET01XcmFwUmVtb3ZlTm9kZToKKyogQGN0eHQ6IGEgRE9NIHdyYXBwZXIgY29udGV4dAorKiBAZG9jOiB0aGUgZG9jCisqIEBub2RlOiB0aGUgbm9kZSB0byBiZSByZW1vdmVkLgorKiBAb3B0aW9uczogc2V0IG9mIG9wdGlvbnMsIHVudXNlZCBhdCB0aGUgbW9tZW50CisqCisqIFVubGlua3MgdGhlIGdpdmVuIG5vZGUgZnJvbSBpdHMgb3duZXIuCisqIFRoaXMgd2lsbCBzdWJzdGl0dXRlIG5zLXJlZmVyZW5jZXMgdG8gbm9kZS0+bnNEZWYgZm9yCisqIG5zLXJlZmVyZW5jZXMgdG8gZG9jLT5vbGROcywgdGh1cyBlbnN1cmluZyB0aGUgcmVtb3ZlZAorKiBicmFuY2ggdG8gYmUgYXV0YXJrIHdydCBucy1yZWZlcmVuY2VzLgorKgorKiBOT1RFOiBUaGlzIGZ1bmN0aW9uIHdhcyBub3QgaW50ZW5zaXZlbHkgdGVzdGVkLgorKgorKiBSZXR1cm5zIDAgb24gc3VjY2VzcywgMSBpZiB0aGUgbm9kZSBpcyBub3Qgc3VwcG9ydGVkLAorKiAgICAgICAgIC0xIG9uIEFQSSBhbmQgaW50ZXJuYWwgZXJyb3JzLgorKi8KK2ludAoreG1sRE9NV3JhcFJlbW92ZU5vZGUoeG1sRE9NV3JhcEN0eHRQdHIgY3R4dCwgeG1sRG9jUHRyIGRvYywKKwkJICAgICB4bWxOb2RlUHRyIG5vZGUsIGludCBvcHRpb25zIEFUVFJJQlVURV9VTlVTRUQpCit7CisgICAgeG1sTnNQdHIgKmxpc3QgPSBOVUxMOworICAgIGludCBzaXplTGlzdCwgbmJMaXN0LCBpLCBqOworICAgIHhtbE5zUHRyIG5zOworCisgICAgaWYgKChub2RlID09IE5VTEwpIHx8IChkb2MgPT0gTlVMTCkgfHwgKG5vZGUtPmRvYyAhPSBkb2MpKQorCXJldHVybiAoLTEpOworCisgICAgLyogVE9ETzogMCBvciAtMSA/ICovCisgICAgaWYgKG5vZGUtPnBhcmVudCA9PSBOVUxMKQorCXJldHVybiAoMCk7CisKKyAgICBzd2l0Y2ggKG5vZGUtPnR5cGUpIHsKKwljYXNlIFhNTF9URVhUX05PREU6CisJY2FzZSBYTUxfQ0RBVEFfU0VDVElPTl9OT0RFOgorCWNhc2UgWE1MX0VOVElUWV9SRUZfTk9ERToKKwljYXNlIFhNTF9QSV9OT0RFOgorCWNhc2UgWE1MX0NPTU1FTlRfTk9ERToKKwkgICAgeG1sVW5saW5rTm9kZShub2RlKTsKKwkgICAgcmV0dXJuICgwKTsKKwljYXNlIFhNTF9FTEVNRU5UX05PREU6CisJY2FzZSBYTUxfQVRUUklCVVRFX05PREU6CisJICAgIGJyZWFrOworCWRlZmF1bHQ6CisJICAgIHJldHVybiAoMSk7CisgICAgfQorICAgIHhtbFVubGlua05vZGUobm9kZSk7CisgICAgLyoKKyAgICAqIFNhdmUgb3V0LW9mLXNjb3BlIG5zLXJlZmVyZW5jZXMgaW4gZG9jLT5vbGROcy4KKyAgICAqLworICAgIGRvIHsKKwlzd2l0Y2ggKG5vZGUtPnR5cGUpIHsKKwkgICAgY2FzZSBYTUxfRUxFTUVOVF9OT0RFOgorCQlpZiAoKGN0eHQgPT0gTlVMTCkgJiYgKG5vZGUtPm5zRGVmICE9IE5VTEwpKSB7CisJCSAgICBucyA9IG5vZGUtPm5zRGVmOworCQkgICAgZG8geworCQkJaWYgKHhtbERPTVdyYXBOU05vcm1BZGROc01hcEl0ZW0yKCZsaXN0LCAmc2l6ZUxpc3QsCisJCQkgICAgJm5iTGlzdCwgbnMsIG5zKSA9PSAtMSkKKwkJCSAgICBnb3RvIGludGVybmFsX2Vycm9yOworCQkJbnMgPSBucy0+bmV4dDsKKwkJICAgIH0gd2hpbGUgKG5zICE9IE5VTEwpOworCQl9CisJCS8qIE5vIGJyZWFrIG9uIHB1cnBvc2UuICovCisJICAgIGNhc2UgWE1MX0FUVFJJQlVURV9OT0RFOgorCQlpZiAobm9kZS0+bnMgIT0gTlVMTCkgeworCQkgICAgLyoKKwkJICAgICogRmluZCBhIG1hcHBpbmcuCisJCSAgICAqLworCQkgICAgaWYgKGxpc3QgIT0gTlVMTCkgeworCQkJZm9yIChpID0gMCwgaiA9IDA7IGkgPCBuYkxpc3Q7IGkrKywgaiArPSAyKSB7CisJCQkgICAgaWYgKG5vZGUtPm5zID09IGxpc3Rbal0pIHsKKwkJCQlub2RlLT5ucyA9IGxpc3RbKytqXTsKKwkJCQlnb3RvIG5leHRfbm9kZTsKKwkJCSAgICB9CisJCQl9CisJCSAgICB9CisJCSAgICBucyA9IE5VTEw7CisJCSAgICBpZiAoY3R4dCAhPSBOVUxMKSB7CisJCQkvKgorCQkJKiBVc2VyIGRlZmluZWQuCisJCQkqLworCQkgICAgfSBlbHNlIHsKKwkJCS8qCisJCQkqIEFkZCB0byBkb2MncyBvbGROcy4KKwkJCSovCisJCQlucyA9IHhtbERPTVdyYXBTdG9yZU5zKGRvYywgbm9kZS0+bnMtPmhyZWYsCisJCQkgICAgbm9kZS0+bnMtPnByZWZpeCk7CisJCQlpZiAobnMgPT0gTlVMTCkKKwkJCSAgICBnb3RvIGludGVybmFsX2Vycm9yOworCQkgICAgfQorCQkgICAgaWYgKG5zICE9IE5VTEwpIHsKKwkJCS8qCisJCQkqIEFkZCBtYXBwaW5nLgorCQkJKi8KKwkJCWlmICh4bWxET01XcmFwTlNOb3JtQWRkTnNNYXBJdGVtMigmbGlzdCwgJnNpemVMaXN0LAorCQkJICAgICZuYkxpc3QsIG5vZGUtPm5zLCBucykgPT0gLTEpCisJCQkgICAgZ290byBpbnRlcm5hbF9lcnJvcjsKKwkJICAgIH0KKwkJICAgIG5vZGUtPm5zID0gbnM7CisJCX0KKwkJaWYgKChub2RlLT50eXBlID09IFhNTF9FTEVNRU5UX05PREUpICYmCisJCSAgICAobm9kZS0+cHJvcGVydGllcyAhPSBOVUxMKSkgeworCQkgICAgbm9kZSA9ICh4bWxOb2RlUHRyKSBub2RlLT5wcm9wZXJ0aWVzOworCQkgICAgY29udGludWU7CisJCX0KKwkJYnJlYWs7CisJICAgIGRlZmF1bHQ6CisJCWdvdG8gbmV4dF9zaWJsaW5nOworCX0KK25leHRfbm9kZToKKwlpZiAoKG5vZGUtPnR5cGUgPT0gWE1MX0VMRU1FTlRfTk9ERSkgJiYKKwkgICAgKG5vZGUtPmNoaWxkcmVuICE9IE5VTEwpKSB7CisJICAgIG5vZGUgPSBub2RlLT5jaGlsZHJlbjsKKwkgICAgY29udGludWU7CisJfQorbmV4dF9zaWJsaW5nOgorCWlmIChub2RlID09IE5VTEwpCisJICAgIGJyZWFrOworCWlmIChub2RlLT5uZXh0ICE9IE5VTEwpCisJICAgIG5vZGUgPSBub2RlLT5uZXh0OworCWVsc2UgeworCSAgICBub2RlID0gbm9kZS0+cGFyZW50OworCSAgICBnb3RvIG5leHRfc2libGluZzsKKwl9CisgICAgfSB3aGlsZSAobm9kZSAhPSBOVUxMKTsKKworICAgIGlmIChsaXN0ICE9IE5VTEwpCisJeG1sRnJlZShsaXN0KTsKKyAgICByZXR1cm4gKDApOworCitpbnRlcm5hbF9lcnJvcjoKKyAgICBpZiAobGlzdCAhPSBOVUxMKQorCXhtbEZyZWUobGlzdCk7CisgICAgcmV0dXJuICgtMSk7Cit9CisKKy8qCisqIHhtbFNlYXJjaE5zQnlOYW1lc3BhY2VTdHJpY3Q6CisqIEBkb2M6IHRoZSBkb2N1bWVudAorKiBAbm9kZTogdGhlIHN0YXJ0IG5vZGUKKyogQG5zTmFtZTogdGhlIHNlYXJjaGVkIG5hbWVzcGFjZSBuYW1lCisqIEByZXROczogdGhlIHJlc3VsdGluZyBucy1kZWNsCisqIEBwcmVmaXhlZDogaWYgdGhlIGZvdW5kIG5zLWRlY2wgbXVzdCBoYXZlIGEgcHJlZml4IChmb3IgYXR0cmlidXRlcykKKyoKKyogRHluYW1pY2FsbHkgc2VhcmNoZXMgZm9yIGEgbnMtZGVjbGFyYXRpb24gd2hpY2ggbWF0Y2hlcworKiB0aGUgZ2l2ZW4gQG5zTmFtZSBpbiB0aGUgYW5jZXN0b3Itb3Itc2VsZiBheGlzIG9mIEBub2RlLgorKgorKiBSZXR1cm5zIDEgaWYgYSBucy1kZWNsIHdhcyBmb3VuZCwgMCBpZiBub3QgYW5kIC0xIG9uIEFQSQorKiAgICAgICAgIGFuZCBpbnRlcm5hbCBlcnJvcnMuCisqLworc3RhdGljIGludAoreG1sU2VhcmNoTnNCeU5hbWVzcGFjZVN0cmljdCh4bWxEb2NQdHIgZG9jLCB4bWxOb2RlUHRyIG5vZGUsCisJCQkgICAgIGNvbnN0IHhtbENoYXIqIG5zTmFtZSwKKwkJCSAgICAgeG1sTnNQdHIgKnJldE5zLCBpbnQgcHJlZml4ZWQpCit7CisgICAgeG1sTm9kZVB0ciBjdXIsIHByZXYgPSBOVUxMLCBvdXQgPSBOVUxMOworICAgIHhtbE5zUHRyIG5zLCBwcmV2bnM7CisKKyAgICBpZiAoKGRvYyA9PSBOVUxMKSB8fCAobnNOYW1lID09IE5VTEwpIHx8IChyZXROcyA9PSBOVUxMKSkKKwlyZXR1cm4gKC0xKTsKKyAgICBpZiAoKG5vZGUgPT0gTlVMTCkgfHwgKG5vZGUtPnR5cGUgPT0gWE1MX05BTUVTUEFDRV9ERUNMKSkKKyAgICAgICAgcmV0dXJuKC0xKTsKKworICAgICpyZXROcyA9IE5VTEw7CisgICAgaWYgKHhtbFN0ckVxdWFsKG5zTmFtZSwgWE1MX1hNTF9OQU1FU1BBQ0UpKSB7CisJKnJldE5zID0geG1sVHJlZUVuc3VyZVhNTERlY2woZG9jKTsKKwlpZiAoKnJldE5zID09IE5VTEwpCisJICAgIHJldHVybiAoLTEpOworCXJldHVybiAoMSk7CisgICAgfQorICAgIGN1ciA9IG5vZGU7CisgICAgZG8geworCWlmIChjdXItPnR5cGUgPT0gWE1MX0VMRU1FTlRfTk9ERSkgeworCSAgICBpZiAoY3VyLT5uc0RlZiAhPSBOVUxMKSB7CisJCWZvciAobnMgPSBjdXItPm5zRGVmOyBucyAhPSBOVUxMOyBucyA9IG5zLT5uZXh0KSB7CisJCSAgICBpZiAocHJlZml4ZWQgJiYgKG5zLT5wcmVmaXggPT0gTlVMTCkpCisJCQljb250aW51ZTsKKwkJICAgIGlmIChwcmV2ICE9IE5VTEwpIHsKKwkJCS8qCisJCQkqIENoZWNrIHRoZSBsYXN0IGxldmVsIG9mIG5zLWRlY2xzIGZvciBhCisJCQkqIHNoYWRvd2luZyBwcmVmaXguCisJCQkqLworCQkJcHJldm5zID0gcHJldi0+bnNEZWY7CisJCQlkbyB7CisJCQkgICAgaWYgKChwcmV2bnMtPnByZWZpeCA9PSBucy0+cHJlZml4KSB8fAorCQkJCSgocHJldm5zLT5wcmVmaXggIT0gTlVMTCkgJiYKKwkJCQkobnMtPnByZWZpeCAhPSBOVUxMKSAmJgorCQkJCXhtbFN0ckVxdWFsKHByZXZucy0+cHJlZml4LCBucy0+cHJlZml4KSkpIHsKKwkJCQkvKgorCQkJCSogU2hhZG93ZWQuCisJCQkJKi8KKwkJCQlicmVhazsKKwkJCSAgICB9CisJCQkgICAgcHJldm5zID0gcHJldm5zLT5uZXh0OworCQkJfSB3aGlsZSAocHJldm5zICE9IE5VTEwpOworCQkJaWYgKHByZXZucyAhPSBOVUxMKQorCQkJICAgIGNvbnRpbnVlOworCQkgICAgfQorCQkgICAgLyoKKwkJICAgICogTnMtbmFtZSBjb21wYXJpc29uLgorCQkgICAgKi8KKwkJICAgIGlmICgobnNOYW1lID09IG5zLT5ocmVmKSB8fAorCQkJeG1sU3RyRXF1YWwobnNOYW1lLCBucy0+aHJlZikpIHsKKwkJCS8qCisJCQkqIEF0IHRoaXMgcG9pbnQgdGhlIHByZWZpeCBjYW4gb25seSBiZSBzaGFkb3dlZCwKKwkJCSogaWYgd2UgYXJlIHRoZSB0aGUgKGF0IGxlYXN0KSAzcmQgbGV2ZWwgb2YKKwkJCSogbnMtZGVjbHMuCisJCQkqLworCQkJaWYgKG91dCkgeworCQkJICAgIGludCByZXQ7CisKKwkJCSAgICByZXQgPSB4bWxOc0luU2NvcGUoZG9jLCBub2RlLCBwcmV2LCBucy0+cHJlZml4KTsKKwkJCSAgICBpZiAocmV0IDwgMCkKKwkJCQlyZXR1cm4gKC0xKTsKKwkJCSAgICAvKgorCQkJICAgICogVE9ETzogU2hvdWxkIHdlIHRyeSB0byBmaW5kIGEgbWF0Y2hpbmcgbnMtbmFtZQorCQkJICAgICogb25seSBvbmNlPyBUaGlzIGhlcmUga2VlcHMgb24gc2VhcmNoaW5nLgorCQkJICAgICogSSB0aGluayB3ZSBzaG91bGQgdHJ5IGZ1cnRoZXIgc2luY2UsIHRoZXJlIG1pZ2h0CisJCQkgICAgKiBiZSBhbiBvdGhlciBtYXRjaGluZyBucy1kZWNsIHdpdGggYW4gdW5zaGFkb3dlZAorCQkJICAgICogcHJlZml4LgorCQkJICAgICovCisJCQkgICAgaWYgKCEgcmV0KQorCQkJCWNvbnRpbnVlOworCQkJfQorCQkJKnJldE5zID0gbnM7CisJCQlyZXR1cm4gKDEpOworCQkgICAgfQorCQl9CisJCW91dCA9IHByZXY7CisJCXByZXYgPSBjdXI7CisJICAgIH0KKwl9IGVsc2UgaWYgKChjdXItPnR5cGUgPT0gWE1MX0VOVElUWV9OT0RFKSB8fAorICAgICAgICAgICAgKGN1ci0+dHlwZSA9PSBYTUxfRU5USVRZX0RFQ0wpKQorCSAgICByZXR1cm4gKDApOworCWN1ciA9IGN1ci0+cGFyZW50OworICAgIH0gd2hpbGUgKChjdXIgIT0gTlVMTCkgJiYgKGN1ci0+ZG9jICE9ICh4bWxEb2NQdHIpIGN1cikpOworICAgIHJldHVybiAoMCk7Cit9CisKKy8qCisqIHhtbFNlYXJjaE5zQnlQcmVmaXhTdHJpY3Q6CisqIEBkb2M6IHRoZSBkb2N1bWVudAorKiBAbm9kZTogdGhlIHN0YXJ0IG5vZGUKKyogQHByZWZpeDogdGhlIHNlYXJjaGVkIG5hbWVzcGFjZSBwcmVmaXgKKyogQHJldE5zOiB0aGUgcmVzdWx0aW5nIG5zLWRlY2wKKyoKKyogRHluYW1pY2FsbHkgc2VhcmNoZXMgZm9yIGEgbnMtZGVjbGFyYXRpb24gd2hpY2ggbWF0Y2hlcworKiB0aGUgZ2l2ZW4gQG5zTmFtZSBpbiB0aGUgYW5jZXN0b3Itb3Itc2VsZiBheGlzIG9mIEBub2RlLgorKgorKiBSZXR1cm5zIDEgaWYgYSBucy1kZWNsIHdhcyBmb3VuZCwgMCBpZiBub3QgYW5kIC0xIG9uIEFQSQorKiAgICAgICAgIGFuZCBpbnRlcm5hbCBlcnJvcnMuCisqLworc3RhdGljIGludAoreG1sU2VhcmNoTnNCeVByZWZpeFN0cmljdCh4bWxEb2NQdHIgZG9jLCB4bWxOb2RlUHRyIG5vZGUsCisJCQkgIGNvbnN0IHhtbENoYXIqIHByZWZpeCwKKwkJCSAgeG1sTnNQdHIgKnJldE5zKQoreworICAgIHhtbE5vZGVQdHIgY3VyOworICAgIHhtbE5zUHRyIG5zOworCisgICAgaWYgKChkb2MgPT0gTlVMTCkgfHwgKG5vZGUgPT0gTlVMTCkgfHwgKG5vZGUtPnR5cGUgPT0gWE1MX05BTUVTUEFDRV9ERUNMKSkKKyAgICAgICAgcmV0dXJuKC0xKTsKKworICAgIGlmIChyZXROcykKKwkqcmV0TnMgPSBOVUxMOworICAgIGlmIChJU19TVFJfWE1MKHByZWZpeCkpIHsKKwlpZiAocmV0TnMpIHsKKwkgICAgKnJldE5zID0geG1sVHJlZUVuc3VyZVhNTERlY2woZG9jKTsKKwkgICAgaWYgKCpyZXROcyA9PSBOVUxMKQorCQlyZXR1cm4gKC0xKTsKKwl9CisJcmV0dXJuICgxKTsKKyAgICB9CisgICAgY3VyID0gbm9kZTsKKyAgICBkbyB7CisJaWYgKGN1ci0+dHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFKSB7CisJICAgIGlmIChjdXItPm5zRGVmICE9IE5VTEwpIHsKKwkJbnMgPSBjdXItPm5zRGVmOworCQlkbyB7CisJCSAgICBpZiAoKHByZWZpeCA9PSBucy0+cHJlZml4KSB8fAorCQkJeG1sU3RyRXF1YWwocHJlZml4LCBucy0+cHJlZml4KSkKKwkJICAgIHsKKwkJCS8qCisJCQkqIERpc2FibGVkIG5hbWVzcGFjZXMsIGUuZy4geG1sbnM6YWJjPSIiLgorCQkJKi8KKwkJCWlmIChucy0+aHJlZiA9PSBOVUxMKQorCQkJICAgIHJldHVybigwKTsKKwkJCWlmIChyZXROcykKKwkJCSAgICAqcmV0TnMgPSBuczsKKwkJCXJldHVybiAoMSk7CisJCSAgICB9CisJCSAgICBucyA9IG5zLT5uZXh0OworCQl9IHdoaWxlIChucyAhPSBOVUxMKTsKKwkgICAgfQorCX0gZWxzZSBpZiAoKGN1ci0+dHlwZSA9PSBYTUxfRU5USVRZX05PREUpIHx8CisgICAgICAgICAgICAoY3VyLT50eXBlID09IFhNTF9FTlRJVFlfREVDTCkpCisJICAgIHJldHVybiAoMCk7CisJY3VyID0gY3VyLT5wYXJlbnQ7CisgICAgfSB3aGlsZSAoKGN1ciAhPSBOVUxMKSAmJiAoY3VyLT5kb2MgIT0gKHhtbERvY1B0cikgY3VyKSk7CisgICAgcmV0dXJuICgwKTsKK30KKworLyoKKyogeG1sRE9NV3JhcE5TTm9ybURlY2xhcmVOc0ZvcmNlZDoKKyogQGRvYzogdGhlIGRvYworKiBAZWxlbTogdGhlIGVsZW1lbnQtbm9kZSB0byBkZWNsYXJlIG9uCisqIEBuc05hbWU6IHRoZSBuYW1lc3BhY2UtbmFtZSBvZiB0aGUgbnMtZGVjbAorKiBAcHJlZml4OiB0aGUgcHJlZmVycmVkIHByZWZpeCBvZiB0aGUgbnMtZGVjbAorKiBAY2hlY2tTaGFkb3c6IGVuc3VyZSB0aGF0IHRoZSBuZXcgbnMtZGVjbCBkb2Vzbid0IHNoYWRvdyBhbmNlc3RvciBucy1kZWNscworKgorKiBEZWNsYXJlcyBhIG5ldyBuYW1lc3BhY2Ugb24gQGVsZW0uIEl0IHRyaWVzIHRvIHVzZSB0aGUKKyogZ2l2ZW4gQHByZWZpeDsgaWYgYSBucy1kZWNsIHdpdGggdGhlIGdpdmVuIHByZWZpeCBpcyBhbHJlYWR5IGV4aXN0ZW50CisqIG9uIEBlbGVtLCBpdCB3aWxsIGdlbmVyYXRlIGFuIG90aGVyIHByZWZpeC4KKyoKKyogUmV0dXJucyAxIGlmIGEgbnMtZGVjbCB3YXMgZm91bmQsIDAgaWYgbm90IGFuZCAtMSBvbiBBUEkKKyogICAgICAgICBhbmQgaW50ZXJuYWwgZXJyb3JzLgorKi8KK3N0YXRpYyB4bWxOc1B0cgoreG1sRE9NV3JhcE5TTm9ybURlY2xhcmVOc0ZvcmNlZCh4bWxEb2NQdHIgZG9jLAorCQkJCXhtbE5vZGVQdHIgZWxlbSwKKwkJCQljb25zdCB4bWxDaGFyICpuc05hbWUsCisJCQkJY29uc3QgeG1sQ2hhciAqcHJlZml4LAorCQkJCWludCBjaGVja1NoYWRvdykKK3sKKworICAgIHhtbE5zUHRyIHJldDsKKyAgICBjaGFyIGJ1Zls1MF07CisgICAgY29uc3QgeG1sQ2hhciAqcHJlZjsKKyAgICBpbnQgY291bnRlciA9IDA7CisKKyAgICBpZiAoKGRvYyA9PSBOVUxMKSB8fCAoZWxlbSA9PSBOVUxMKSB8fCAoZWxlbS0+dHlwZSAhPSBYTUxfRUxFTUVOVF9OT0RFKSkKKyAgICAgICAgcmV0dXJuKE5VTEwpOworICAgIC8qCisgICAgKiBDcmVhdGUgYSBucy1kZWNsIG9uIEBhbmNob3IuCisgICAgKi8KKyAgICBwcmVmID0gcHJlZml4OworICAgIHdoaWxlICgxKSB7CisJLyoKKwkqIExvb2t1cCB3aGV0aGVyIHRoZSBwcmVmaXggaXMgdW51c2VkIGluIGVsZW0ncyBucy1kZWNscy4KKwkqLworCWlmICgoZWxlbS0+bnNEZWYgIT0gTlVMTCkgJiYKKwkgICAgKHhtbFRyZWVOU0xpc3RMb29rdXBCeVByZWZpeChlbGVtLT5uc0RlZiwgcHJlZikgIT0gTlVMTCkpCisJICAgIGdvdG8gbnNfbmV4dF9wcmVmaXg7CisJaWYgKGNoZWNrU2hhZG93ICYmIGVsZW0tPnBhcmVudCAmJgorCSAgICAoKHhtbE5vZGVQdHIpIGVsZW0tPnBhcmVudC0+ZG9jICE9IGVsZW0tPnBhcmVudCkpIHsKKwkgICAgLyoKKwkgICAgKiBEb2VzIGl0IHNoYWRvdyBhbmNlc3RvciBucy1kZWNscz8KKwkgICAgKi8KKwkgICAgaWYgKHhtbFNlYXJjaE5zQnlQcmVmaXhTdHJpY3QoZG9jLCBlbGVtLT5wYXJlbnQsIHByZWYsIE5VTEwpID09IDEpCisJCWdvdG8gbnNfbmV4dF9wcmVmaXg7CisJfQorCXJldCA9IHhtbE5ld05zKE5VTEwsIG5zTmFtZSwgcHJlZik7CisJaWYgKHJldCA9PSBOVUxMKQorCSAgICByZXR1cm4gKE5VTEwpOworCWlmIChlbGVtLT5uc0RlZiA9PSBOVUxMKQorCSAgICBlbGVtLT5uc0RlZiA9IHJldDsKKwllbHNlIHsKKwkgICAgeG1sTnNQdHIgbnMyID0gZWxlbS0+bnNEZWY7CisJICAgIHdoaWxlIChuczItPm5leHQgIT0gTlVMTCkKKwkJbnMyID0gbnMyLT5uZXh0OworCSAgICBuczItPm5leHQgPSByZXQ7CisJfQorCXJldHVybiAocmV0KTsKK25zX25leHRfcHJlZml4OgorCWNvdW50ZXIrKzsKKwlpZiAoY291bnRlciA+IDEwMDApCisJICAgIHJldHVybiAoTlVMTCk7CisJaWYgKHByZWZpeCA9PSBOVUxMKSB7CisJICAgIHNucHJpbnRmKChjaGFyICopIGJ1Ziwgc2l6ZW9mKGJ1ZiksCisJCSJuc18lZCIsIGNvdW50ZXIpOworCX0gZWxzZQorCSAgICBzbnByaW50ZigoY2hhciAqKSBidWYsIHNpemVvZihidWYpLAorCSAgICAiJS4zMHNfJWQiLCAoY2hhciAqKXByZWZpeCwgY291bnRlcik7CisJcHJlZiA9IEJBRF9DQVNUIGJ1ZjsKKyAgICB9Cit9CisKKy8qCisqIHhtbERPTVdyYXBOU05vcm1BcXVpcmVOb3JtYWxpemVkTnM6CisqIEBkb2M6IHRoZSBkb2MKKyogQGVsZW06IHRoZSBlbGVtZW50LW5vZGUgdG8gZGVjbGFyZSBuYW1lc3BhY2VzIG9uCisqIEBuczogdGhlIG5zLXN0cnVjdCB0byB1c2UgZm9yIHRoZSBzZWFyY2gKKyogQHJldE5zOiB0aGUgZm91bmQvY3JlYXRlZCBucy1zdHJ1Y3QKKyogQG5zTWFwOiB0aGUgbnMtbWFwCisqIEBkZXB0aDogdGhlIGN1cnJlbnQgdHJlZSBkZXB0aAorKiBAYW5jZXN0b3JzT25seTogc2VhcmNoIGluIGFuY2VzdG9yIG5zLWRlY2xzIG9ubHkKKyogQHByZWZpeGVkOiBpZiB0aGUgc2VhcmNoZWQgbnMtZGVjbCBtdXN0IGhhdmUgYSBwcmVmaXggKGZvciBhdHRyaWJ1dGVzKQorKgorKiBTZWFyY2hlcyBmb3IgYSBtYXRjaGluZyBucy1uYW1lIGluIHRoZSBucy1kZWNscyBvZiBAbnNNYXAsIGlmIG5vdAorKiBmb3VuZCBpdCB3aWxsIGVpdGhlciBkZWNsYXJlIGl0IG9uIEBlbGVtLCBvciBzdG9yZSBpdCBpbiBkb2MtPm9sZE5zLgorKiBJZiBhIG5ldyBucy1kZWNsIG5lZWRzIHRvIGJlIGRlY2xhcmVkIG9uIEBlbGVtLCBpdCB0cmllcyB0byB1c2UgdGhlCisqIEBucy0+cHJlZml4IGZvciBpdCwgaWYgdGhpcyBwcmVmaXggaXMgYWxyZWFkeSBpbiB1c2Ugb24gQGVsZW0sIGl0IHdpbGwKKyogY2hhbmdlIHRoZSBwcmVmaXggb3IgdGhlIG5ldyBucy1kZWNsLgorKgorKiBSZXR1cm5zIDAgaWYgc3VjY2VlZGVkLCAtMSBvdGhlcndpc2UgYW5kIG9uIEFQSS9pbnRlcm5hbCBlcnJvcnMuCisqLworc3RhdGljIGludAoreG1sRE9NV3JhcE5TTm9ybUFxdWlyZU5vcm1hbGl6ZWROcyh4bWxEb2NQdHIgZG9jLAorCQkJCSAgIHhtbE5vZGVQdHIgZWxlbSwKKwkJCQkgICB4bWxOc1B0ciBucywKKwkJCQkgICB4bWxOc1B0ciAqcmV0TnMsCisJCQkJICAgeG1sTnNNYXBQdHIgKm5zTWFwLAorCisJCQkJICAgaW50IGRlcHRoLAorCQkJCSAgIGludCBhbmNlc3RvcnNPbmx5LAorCQkJCSAgIGludCBwcmVmaXhlZCkKK3sKKyAgICB4bWxOc01hcEl0ZW1QdHIgbWk7CisKKyAgICBpZiAoKGRvYyA9PSBOVUxMKSB8fCAobnMgPT0gTlVMTCkgfHwgKHJldE5zID09IE5VTEwpIHx8CisJKG5zTWFwID09IE5VTEwpKQorCXJldHVybiAoLTEpOworCisgICAgKnJldE5zID0gTlVMTDsKKyAgICAvKgorICAgICogSGFuZGxlIFhNTCBuYW1lc3BhY2UuCisgICAgKi8KKyAgICBpZiAoSVNfU1RSX1hNTChucy0+cHJlZml4KSkgeworCS8qCisJKiBJbnNlcnQgWE1MIG5hbWVzcGFjZSBtYXBwaW5nLgorCSovCisJKnJldE5zID0geG1sVHJlZUVuc3VyZVhNTERlY2woZG9jKTsKKwlpZiAoKnJldE5zID09IE5VTEwpCisJICAgIHJldHVybiAoLTEpOworCXJldHVybiAoMCk7CisgICAgfQorICAgIC8qCisgICAgKiBJZiB0aGUgc2VhcmNoIHNob3VsZCBiZSBkb25lIGluIGFuY2VzdG9ycyBvbmx5IGFuZCBubworICAgICogQGVsZW0gKHRoZSBmaXJzdCBhbmNlc3Rvcikgd2FzIHNwZWNpZmllZCwgdGhlbiBza2lwIHRoZSBzZWFyY2guCisgICAgKi8KKyAgICBpZiAoKFhNTF9OU01BUF9OT1RFTVBUWSgqbnNNYXApKSAmJgorCSghIChhbmNlc3RvcnNPbmx5ICYmIChlbGVtID09IE5VTEwpKSkpCisgICAgeworCS8qCisJKiBUcnkgdG8gZmluZCBhbiBlcXVhbCBucy1uYW1lIGluIGluLXNjb3BlIG5zLWRlY2xzLgorCSovCisJWE1MX05TTUFQX0ZPUkVBQ0goKm5zTWFwLCBtaSkgeworCSAgICBpZiAoKG1pLT5kZXB0aCA+PSBYTUxfVFJFRV9OU01BUF9QQVJFTlQpICYmCisJCS8qCisJCSogYW5jZXN0b3JzT25seTogVGhpcyBzaG91bGQgYmUgdHVybmVkIG9uIHRvIGdhaW4gc3BlZWQsCisJCSogaWYgb25lIGtub3dzIHRoYXQgdGhlIGJyYW5jaCBpdHNlbGYgd2FzIGFscmVhZHkKKwkJKiBucy13ZWxsZm9ybWVkIGFuZCBubyBzdGFsZSByZWZlcmVuY2VzIGV4aXN0ZWQuCisJCSogSS5lLiBpdCBzZWFyY2hlcyBpbiB0aGUgYW5jZXN0b3IgYXhpcyBvbmx5LgorCQkqLworCQkoKCEgYW5jZXN0b3JzT25seSkgfHwgKG1pLT5kZXB0aCA9PSBYTUxfVFJFRV9OU01BUF9QQVJFTlQpKSAmJgorCQkvKiBTa2lwIHNoYWRvd2VkIHByZWZpeGVzLiAqLworCQkobWktPnNoYWRvd0RlcHRoID09IC0xKSAmJgorCQkvKiBTa2lwIHhtbG5zPSIiIG9yIHhtbG5zOmZvbz0iIi4gKi8KKwkJKChtaS0+bmV3TnMtPmhyZWYgIT0gTlVMTCkgJiYKKwkJKG1pLT5uZXdOcy0+aHJlZlswXSAhPSAwKSkgJiYKKwkJLyogRW5zdXJlIGEgcHJlZml4IGlmIHdhbnRlZC4gKi8KKwkJKCghIHByZWZpeGVkKSB8fCAobWktPm5ld05zLT5wcmVmaXggIT0gTlVMTCkpICYmCisJCS8qIEVxdWFsIG5zIG5hbWUgKi8KKwkJKChtaS0+bmV3TnMtPmhyZWYgPT0gbnMtPmhyZWYpIHx8CisJCXhtbFN0ckVxdWFsKG1pLT5uZXdOcy0+aHJlZiwgbnMtPmhyZWYpKSkgeworCQkvKiBTZXQgdGhlIG1hcHBpbmcuICovCisJCW1pLT5vbGROcyA9IG5zOworCQkqcmV0TnMgPSBtaS0+bmV3TnM7CisJCXJldHVybiAoMCk7CisJICAgIH0KKwl9CisgICAgfQorICAgIC8qCisgICAgKiBObyBsdWNrLCB0aGUgbmFtZXNwYWNlIGlzIG91dCBvZiBzY29wZSBvciBzaGFkb3dlZC4KKyAgICAqLworICAgIGlmIChlbGVtID09IE5VTEwpIHsKKwl4bWxOc1B0ciB0bXBuczsKKworCS8qCisJKiBTdG9yZSBucy1kZWNscyBpbiAib2xkTnMiIG9mIHRoZSBkb2N1bWVudC1ub2RlLgorCSovCisJdG1wbnMgPSB4bWxET01XcmFwU3RvcmVOcyhkb2MsIG5zLT5ocmVmLCBucy0+cHJlZml4KTsKKwlpZiAodG1wbnMgPT0gTlVMTCkKKwkgICAgcmV0dXJuICgtMSk7CisJLyoKKwkqIEluc2VydCBtYXBwaW5nLgorCSovCisJaWYgKHhtbERPTVdyYXBOc01hcEFkZEl0ZW0obnNNYXAsIC0xLCBucywKKwkJdG1wbnMsIFhNTF9UUkVFX05TTUFQX0RPQykgPT0gTlVMTCkgeworCSAgICB4bWxGcmVlTnModG1wbnMpOworCSAgICByZXR1cm4gKC0xKTsKKwl9CisJKnJldE5zID0gdG1wbnM7CisgICAgfSBlbHNlIHsKKwl4bWxOc1B0ciB0bXBuczsKKworCXRtcG5zID0geG1sRE9NV3JhcE5TTm9ybURlY2xhcmVOc0ZvcmNlZChkb2MsIGVsZW0sIG5zLT5ocmVmLAorCSAgICBucy0+cHJlZml4LCAwKTsKKwlpZiAodG1wbnMgPT0gTlVMTCkKKwkgICAgcmV0dXJuICgtMSk7CisKKwlpZiAoKm5zTWFwICE9IE5VTEwpIHsKKwkgICAgLyoKKwkgICAgKiBEb2VzIGl0IHNoYWRvdyBhbmNlc3RvciBucy1kZWNscz8KKwkgICAgKi8KKwkgICAgWE1MX05TTUFQX0ZPUkVBQ0goKm5zTWFwLCBtaSkgeworCQlpZiAoKG1pLT5kZXB0aCA8IGRlcHRoKSAmJgorCQkgICAgKG1pLT5zaGFkb3dEZXB0aCA9PSAtMSkgJiYKKwkJICAgICgobnMtPnByZWZpeCA9PSBtaS0+bmV3TnMtPnByZWZpeCkgfHwKKwkJICAgIHhtbFN0ckVxdWFsKG5zLT5wcmVmaXgsIG1pLT5uZXdOcy0+cHJlZml4KSkpIHsKKwkJICAgIC8qCisJCSAgICAqIFNoYWRvd3MuCisJCSAgICAqLworCQkgICAgbWktPnNoYWRvd0RlcHRoID0gZGVwdGg7CisJCSAgICBicmVhazsKKwkJfQorCSAgICB9CisJfQorCWlmICh4bWxET01XcmFwTnNNYXBBZGRJdGVtKG5zTWFwLCAtMSwgbnMsIHRtcG5zLCBkZXB0aCkgPT0gTlVMTCkgeworCSAgICB4bWxGcmVlTnModG1wbnMpOworCSAgICByZXR1cm4gKC0xKTsKKwl9CisJKnJldE5zID0gdG1wbnM7CisgICAgfQorICAgIHJldHVybiAoMCk7Cit9CisKK3R5cGVkZWYgZW51bSB7CisgICAgWE1MX0RPTV9SRUNPTk5TX1JFTU9WRVJFRFVORCA9IDE8PDAKK30geG1sRE9NUmVjb25jaWxlTlNPcHRpb25zOworCisvKgorKiB4bWxET01XcmFwUmVjb25jaWxlTmFtZXNwYWNlczoKKyogQGN0eHQ6IERPTSB3cmFwcGVyIGNvbnRleHQsIHVudXNlZCBhdCB0aGUgbW9tZW50CisqIEBlbGVtOiB0aGUgZWxlbWVudC1ub2RlCisqIEBvcHRpb25zOiBvcHRpb24gZmxhZ3MKKyoKKyogRW5zdXJlcyB0aGF0IG5zLXJlZmVyZW5jZXMgcG9pbnQgdG8gbnMtZGVjbHMgaG9sZCBvbiBlbGVtZW50LW5vZGVzLgorKiBFbnN1cmVzIHRoYXQgdGhlIHRyZWUgaXMgbmFtZXNwYWNlIHdlbGxmb3JtZWQgYnkgY3JlYXRpbmcgYWRkaXRpb25hbAorKiBucy1kZWNscyB3aGVyZSBuZWVkZWQuIE5vdGUgdGhhdCwgc2luY2UgcHJlZml4ZXMgb2YgYWxyZWFkeSBleGlzdGVudAorKiBucy1kZWNscyBjYW4gYmUgc2hhZG93ZWQgYnkgdGhpcyBwcm9jZXNzLCBpdCBjb3VsZCBicmVhayBRTmFtZXMgaW4KKyogYXR0cmlidXRlIHZhbHVlcyBvciBlbGVtZW50IGNvbnRlbnQuCisqCisqIE5PVEU6IFRoaXMgZnVuY3Rpb24gd2FzIG5vdCBpbnRlbnNpdmVseSB0ZXN0ZWQuCisqCisqIFJldHVybnMgMCBpZiBzdWNjZWVkZWQsIC0xIG90aGVyd2lzZSBhbmQgb24gQVBJL2ludGVybmFsIGVycm9ycy4KKyovCisKK2ludAoreG1sRE9NV3JhcFJlY29uY2lsZU5hbWVzcGFjZXMoeG1sRE9NV3JhcEN0eHRQdHIgY3R4dCBBVFRSSUJVVEVfVU5VU0VELAorCQkJICAgICAgeG1sTm9kZVB0ciBlbGVtLAorCQkJICAgICAgaW50IG9wdGlvbnMpCit7CisgICAgaW50IGRlcHRoID0gLTEsIGFkb3B0bnMgPSAwLCBwYXJuc2RvbmUgPSAwOworICAgIHhtbE5zUHRyIG5zLCBwcmV2bnM7CisgICAgeG1sRG9jUHRyIGRvYzsKKyAgICB4bWxOb2RlUHRyIGN1ciwgY3VyRWxlbSA9IE5VTEw7CisgICAgeG1sTnNNYXBQdHIgbnNNYXAgPSBOVUxMOworICAgIHhtbE5zTWFwSXRlbVB0ciAvKiB0b3BtaSA9IE5VTEwsICovIG1pOworICAgIC8qIEBhbmNlc3RvcnNPbmx5IHNob3VsZCBiZSBzZXQgYnkgYW4gb3B0aW9uIGZsYWcuICovCisgICAgaW50IGFuY2VzdG9yc09ubHkgPSAwOworICAgIGludCBvcHRSZW1vdmVSZWR1bmRhbnROUyA9CisJKCh4bWxET01SZWNvbmNpbGVOU09wdGlvbnMpIG9wdGlvbnMgJiBYTUxfRE9NX1JFQ09OTlNfUkVNT1ZFUkVEVU5EKSA/IDEgOiAwOworICAgIHhtbE5zUHRyICpsaXN0UmVkdW5kID0gTlVMTDsKKyAgICBpbnQgc2l6ZVJlZHVuZCA9IDAsIG5iUmVkdW5kID0gMCwgcmV0LCBpLCBqOworCisgICAgaWYgKChlbGVtID09IE5VTEwpIHx8IChlbGVtLT5kb2MgPT0gTlVMTCkgfHwKKwkoZWxlbS0+dHlwZSAhPSBYTUxfRUxFTUVOVF9OT0RFKSkKKwlyZXR1cm4gKC0xKTsKKworICAgIGRvYyA9IGVsZW0tPmRvYzsKKyAgICBjdXIgPSBlbGVtOworICAgIGRvIHsKKwlzd2l0Y2ggKGN1ci0+dHlwZSkgeworCSAgICBjYXNlIFhNTF9FTEVNRU5UX05PREU6CisJCWFkb3B0bnMgPSAxOworCQljdXJFbGVtID0gY3VyOworCQlkZXB0aCsrOworCQkvKgorCQkqIE5hbWVzcGFjZSBkZWNsYXJhdGlvbnMuCisJCSovCisJCWlmIChjdXItPm5zRGVmICE9IE5VTEwpIHsKKwkJICAgIHByZXZucyA9IE5VTEw7CisJCSAgICBucyA9IGN1ci0+bnNEZWY7CisJCSAgICB3aGlsZSAobnMgIT0gTlVMTCkgeworCQkJaWYgKCEgcGFybnNkb25lKSB7CisJCQkgICAgaWYgKChlbGVtLT5wYXJlbnQpICYmCisJCQkJKCh4bWxOb2RlUHRyKSBlbGVtLT5wYXJlbnQtPmRvYyAhPSBlbGVtLT5wYXJlbnQpKSB7CisJCQkJLyoKKwkJCQkqIEdhdGhlciBhbmNlc3RvciBpbi1zY29wZSBucy1kZWNscy4KKwkJCQkqLworCQkJCWlmICh4bWxET01XcmFwTlNOb3JtR2F0aGVySW5TY29wZU5zKCZuc01hcCwKKwkJCQkgICAgZWxlbS0+cGFyZW50KSA9PSAtMSkKKwkJCQkgICAgZ290byBpbnRlcm5hbF9lcnJvcjsKKwkJCSAgICB9CisJCQkgICAgcGFybnNkb25lID0gMTsKKwkJCX0KKworCQkJLyoKKwkJCSogTG9va3VwIHRoZSBucyBhbmNlc3Rvci1heGlzIGZvciBlcXVhbCBucy1kZWNscyBpbiBzY29wZS4KKwkJCSovCisJCQlpZiAob3B0UmVtb3ZlUmVkdW5kYW50TlMgJiYgWE1MX05TTUFQX05PVEVNUFRZKG5zTWFwKSkgeworCQkJICAgIFhNTF9OU01BUF9GT1JFQUNIKG5zTWFwLCBtaSkgeworCQkJCWlmICgobWktPmRlcHRoID49IFhNTF9UUkVFX05TTUFQX1BBUkVOVCkgJiYKKwkJCQkgICAgKG1pLT5zaGFkb3dEZXB0aCA9PSAtMSkgJiYKKwkJCQkgICAgKChucy0+cHJlZml4ID09IG1pLT5uZXdOcy0+cHJlZml4KSB8fAorCQkJCSAgICAgIHhtbFN0ckVxdWFsKG5zLT5wcmVmaXgsIG1pLT5uZXdOcy0+cHJlZml4KSkgJiYKKwkJCQkgICAgKChucy0+aHJlZiA9PSBtaS0+bmV3TnMtPmhyZWYpIHx8CisJCQkJICAgICAgeG1sU3RyRXF1YWwobnMtPmhyZWYsIG1pLT5uZXdOcy0+aHJlZikpKQorCQkJCXsKKwkJCQkgICAgLyoKKwkJCQkgICAgKiBBIHJlZHVuZGFudCBucy1kZWNsIHdhcyBmb3VuZC4KKwkJCQkgICAgKiBBZGQgaXQgdG8gdGhlIGxpc3Qgb2YgcmVkdW5kYW50IG5zLWRlY2xzLgorCQkJCSAgICAqLworCQkJCSAgICBpZiAoeG1sRE9NV3JhcE5TTm9ybUFkZE5zTWFwSXRlbTIoJmxpc3RSZWR1bmQsCisJCQkJCSZzaXplUmVkdW5kLCAmbmJSZWR1bmQsIG5zLCBtaS0+bmV3TnMpID09IC0xKQorCQkJCQlnb3RvIGludGVybmFsX2Vycm9yOworCQkJCSAgICAvKgorCQkJCSAgICAqIFJlbW92ZSB0aGUgbnMtZGVjbCBmcm9tIHRoZSBlbGVtZW50LW5vZGUuCisJCQkJICAgICovCisJCQkJICAgIGlmIChwcmV2bnMpCisJCQkJCXByZXZucy0+bmV4dCA9IG5zLT5uZXh0OworCQkJCSAgICBlbHNlCisJCQkJCWN1ci0+bnNEZWYgPSBucy0+bmV4dDsKKwkJCQkgICAgZ290byBuZXh0X25zX2RlY2w7CisJCQkJfQorCQkJICAgIH0KKwkJCX0KKworCQkJLyoKKwkJCSogU2tpcCBucy1yZWZlcmVuY2VzIGhhbmRsaW5nIGlmIHRoZSByZWZlcmVuY2VkCisJCQkqIG5zLWRlY2wgaXMgZGVjbGFyZWQgb24gdGhlIHNhbWUgZWxlbWVudC4KKwkJCSovCisJCQlpZiAoKGN1ci0+bnMgIT0gTlVMTCkgJiYgYWRvcHRucyAmJiAoY3VyLT5ucyA9PSBucykpCisJCQkgICAgYWRvcHRucyA9IDA7CisJCQkvKgorCQkJKiBEb2VzIGl0IHNoYWRvdyBhbnkgbnMtZGVjbD8KKwkJCSovCisJCQlpZiAoWE1MX05TTUFQX05PVEVNUFRZKG5zTWFwKSkgeworCQkJICAgIFhNTF9OU01BUF9GT1JFQUNIKG5zTWFwLCBtaSkgeworCQkJCWlmICgobWktPmRlcHRoID49IFhNTF9UUkVFX05TTUFQX1BBUkVOVCkgJiYKKwkJCQkgICAgKG1pLT5zaGFkb3dEZXB0aCA9PSAtMSkgJiYKKwkJCQkgICAgKChucy0+cHJlZml4ID09IG1pLT5uZXdOcy0+cHJlZml4KSB8fAorCQkJCSAgICB4bWxTdHJFcXVhbChucy0+cHJlZml4LCBtaS0+bmV3TnMtPnByZWZpeCkpKSB7CisKKwkJCQkgICAgbWktPnNoYWRvd0RlcHRoID0gZGVwdGg7CisJCQkJfQorCQkJICAgIH0KKwkJCX0KKwkJCS8qCisJCQkqIFB1c2ggbWFwcGluZy4KKwkJCSovCisJCQlpZiAoeG1sRE9NV3JhcE5zTWFwQWRkSXRlbSgmbnNNYXAsIC0xLCBucywgbnMsCisJCQkgICAgZGVwdGgpID09IE5VTEwpCisJCQkgICAgZ290byBpbnRlcm5hbF9lcnJvcjsKKworCQkJcHJldm5zID0gbnM7CituZXh0X25zX2RlY2w6CisJCQlucyA9IG5zLT5uZXh0OworCQkgICAgfQorCQl9CisJCWlmICghIGFkb3B0bnMpCisJCSAgICBnb3RvIG5zX2VuZDsKKwkJLyogTm8gYnJlYWsgb24gcHVycG9zZS4gKi8KKwkgICAgY2FzZSBYTUxfQVRUUklCVVRFX05PREU6CisJCS8qIE5vIG5zLCBubyBmdW4uICovCisJCWlmIChjdXItPm5zID09IE5VTEwpCisJCSAgICBnb3RvIG5zX2VuZDsKKworCQlpZiAoISBwYXJuc2RvbmUpIHsKKwkJICAgIGlmICgoZWxlbS0+cGFyZW50KSAmJgorCQkJKCh4bWxOb2RlUHRyKSBlbGVtLT5wYXJlbnQtPmRvYyAhPSBlbGVtLT5wYXJlbnQpKSB7CisJCQlpZiAoeG1sRE9NV3JhcE5TTm9ybUdhdGhlckluU2NvcGVOcygmbnNNYXAsCisJCQkJZWxlbS0+cGFyZW50KSA9PSAtMSkKKwkJCSAgICBnb3RvIGludGVybmFsX2Vycm9yOworCQkgICAgfQorCQkgICAgcGFybnNkb25lID0gMTsKKwkJfQorCQkvKgorCQkqIEFkanVzdCB0aGUgcmVmZXJlbmNlIGlmIHRoaXMgd2FzIGEgcmVkdW5kYW50IG5zLWRlY2wuCisJCSovCisJCWlmIChsaXN0UmVkdW5kKSB7CisJCSAgIGZvciAoaSA9IDAsIGogPSAwOyBpIDwgbmJSZWR1bmQ7IGkrKywgaiArPSAyKSB7CisJCSAgICAgICBpZiAoY3VyLT5ucyA9PSBsaXN0UmVkdW5kW2pdKSB7CisJCQkgICBjdXItPm5zID0gbGlzdFJlZHVuZFsrK2pdOworCQkJICAgYnJlYWs7CisJCSAgICAgICB9CisJCSAgIH0KKwkJfQorCQkvKgorCQkqIEFkb3B0IG5zLXJlZmVyZW5jZXMuCisJCSovCisJCWlmIChYTUxfTlNNQVBfTk9URU1QVFkobnNNYXApKSB7CisJCSAgICAvKgorCQkgICAgKiBTZWFyY2ggZm9yIGEgbWFwcGluZy4KKwkJICAgICovCisJCSAgICBYTUxfTlNNQVBfRk9SRUFDSChuc01hcCwgbWkpIHsKKwkJCWlmICgobWktPnNoYWRvd0RlcHRoID09IC0xKSAmJgorCQkJICAgIChjdXItPm5zID09IG1pLT5vbGROcykpIHsKKworCQkJICAgIGN1ci0+bnMgPSBtaS0+bmV3TnM7CisJCQkgICAgZ290byBuc19lbmQ7CisJCQl9CisJCSAgICB9CisJCX0KKwkJLyoKKwkJKiBBcXVpcmUgYSBub3JtYWxpemVkIG5zLWRlY2wgYW5kIGFkZCBpdCB0byB0aGUgbWFwLgorCQkqLworCQlpZiAoeG1sRE9NV3JhcE5TTm9ybUFxdWlyZU5vcm1hbGl6ZWROcyhkb2MsIGN1ckVsZW0sCisJCQljdXItPm5zLCAmbnMsCisJCQkmbnNNYXAsIGRlcHRoLAorCQkJYW5jZXN0b3JzT25seSwKKwkJCShjdXItPnR5cGUgPT0gWE1MX0FUVFJJQlVURV9OT0RFKSA/IDEgOiAwKSA9PSAtMSkKKwkJICAgIGdvdG8gaW50ZXJuYWxfZXJyb3I7CisJCWN1ci0+bnMgPSBuczsKKworbnNfZW5kOgorCQlpZiAoKGN1ci0+dHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFKSAmJgorCQkgICAgKGN1ci0+cHJvcGVydGllcyAhPSBOVUxMKSkgeworCQkgICAgLyoKKwkJICAgICogUHJvY2VzcyBhdHRyaWJ1dGVzLgorCQkgICAgKi8KKwkJICAgIGN1ciA9ICh4bWxOb2RlUHRyKSBjdXItPnByb3BlcnRpZXM7CisJCSAgICBjb250aW51ZTsKKwkJfQorCQlicmVhazsKKwkgICAgZGVmYXVsdDoKKwkJZ290byBuZXh0X3NpYmxpbmc7CisJfQoraW50b19jb250ZW50OgorCWlmICgoY3VyLT50eXBlID09IFhNTF9FTEVNRU5UX05PREUpICYmCisJICAgIChjdXItPmNoaWxkcmVuICE9IE5VTEwpKSB7CisJICAgIC8qCisJICAgICogUHJvY2VzcyBjb250ZW50IG9mIGVsZW1lbnQtbm9kZXMgb25seS4KKwkgICAgKi8KKwkgICAgY3VyID0gY3VyLT5jaGlsZHJlbjsKKwkgICAgY29udGludWU7CisJfQorbmV4dF9zaWJsaW5nOgorCWlmIChjdXIgPT0gZWxlbSkKKwkgICAgYnJlYWs7CisJaWYgKGN1ci0+dHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFKSB7CisJICAgIGlmIChYTUxfTlNNQVBfTk9URU1QVFkobnNNYXApKSB7CisJCS8qCisJCSogUG9wIG1hcHBpbmdzLgorCQkqLworCQl3aGlsZSAoKG5zTWFwLT5sYXN0ICE9IE5VTEwpICYmCisJCSAgICAobnNNYXAtPmxhc3QtPmRlcHRoID49IGRlcHRoKSkKKwkJeworCQkgICAgWE1MX05TTUFQX1BPUChuc01hcCwgbWkpCisJCX0KKwkJLyoKKwkJKiBVbnNoYWRvdy4KKwkJKi8KKwkJWE1MX05TTUFQX0ZPUkVBQ0gobnNNYXAsIG1pKSB7CisJCSAgICBpZiAobWktPnNoYWRvd0RlcHRoID49IGRlcHRoKQorCQkJbWktPnNoYWRvd0RlcHRoID0gLTE7CisJCX0KKwkgICAgfQorCSAgICBkZXB0aC0tOworCX0KKwlpZiAoY3VyLT5uZXh0ICE9IE5VTEwpCisJICAgIGN1ciA9IGN1ci0+bmV4dDsKKwllbHNlIHsKKwkgICAgaWYgKGN1ci0+dHlwZSA9PSBYTUxfQVRUUklCVVRFX05PREUpIHsKKwkJY3VyID0gY3VyLT5wYXJlbnQ7CisJCWdvdG8gaW50b19jb250ZW50OworCSAgICB9CisJICAgIGN1ciA9IGN1ci0+cGFyZW50OworCSAgICBnb3RvIG5leHRfc2libGluZzsKKwl9CisgICAgfSB3aGlsZSAoY3VyICE9IE5VTEwpOworCisgICAgcmV0ID0gMDsKKyAgICBnb3RvIGV4aXQ7CitpbnRlcm5hbF9lcnJvcjoKKyAgICByZXQgPSAtMTsKK2V4aXQ6CisgICAgaWYgKGxpc3RSZWR1bmQpIHsKKwlmb3IgKGkgPSAwLCBqID0gMDsgaSA8IG5iUmVkdW5kOyBpKyssIGogKz0gMikgeworCSAgICB4bWxGcmVlTnMobGlzdFJlZHVuZFtqXSk7CisJfQorCXhtbEZyZWUobGlzdFJlZHVuZCk7CisgICAgfQorICAgIGlmIChuc01hcCAhPSBOVUxMKQorCXhtbERPTVdyYXBOc01hcEZyZWUobnNNYXApOworICAgIHJldHVybiAocmV0KTsKK30KKworLyoKKyogeG1sRE9NV3JhcEFkb3B0QnJhbmNoOgorKiBAY3R4dDogdGhlIG9wdGlvbmFsIGNvbnRleHQgZm9yIGN1c3RvbSBwcm9jZXNzaW5nCisqIEBzb3VyY2VEb2M6IHRoZSBvcHRpb25hbCBzb3VyY2VEb2MKKyogQG5vZGU6IHRoZSBlbGVtZW50LW5vZGUgdG8gc3RhcnQgd2l0aAorKiBAZGVzdERvYzogdGhlIGRlc3RpbmF0aW9uIGRvYyBmb3IgYWRvcHRpb24KKyogQGRlc3RQYXJlbnQ6IHRoZSBvcHRpb25hbCBuZXcgcGFyZW50IG9mIEBub2RlIGluIEBkZXN0RG9jCisqIEBvcHRpb25zOiBvcHRpb24gZmxhZ3MKKyoKKyogRW5zdXJlcyB0aGF0IG5zLXJlZmVyZW5jZXMgcG9pbnQgdG8gQGRlc3REb2M6IGVpdGhlciB0bworKiBlbGVtZW50cy0+bnNEZWYgZW50cmllcyBpZiBAZGVzdFBhcmVudCBpcyBnaXZlbiwgb3IgdG8KKyogQGRlc3REb2MtPm9sZE5zIG90aGVyd2lzZS4KKyogSWYgQGRlc3RQYXJlbnQgaXMgZ2l2ZW4sIGl0IGVuc3VyZXMgdGhhdCB0aGUgdHJlZSBpcyBuYW1lc3BhY2UKKyogd2VsbGZvcm1lZCBieSBjcmVhdGluZyBhZGRpdGlvbmFsIG5zLWRlY2xzIHdoZXJlIG5lZWRlZC4KKyogTm90ZSB0aGF0LCBzaW5jZSBwcmVmaXhlcyBvZiBhbHJlYWR5IGV4aXN0ZW50IG5zLWRlY2xzIGNhbiBiZQorKiBzaGFkb3dlZCBieSB0aGlzIHByb2Nlc3MsIGl0IGNvdWxkIGJyZWFrIFFOYW1lcyBpbiBhdHRyaWJ1dGUKKyogdmFsdWVzIG9yIGVsZW1lbnQgY29udGVudC4KKyoKKyogTk9URTogVGhpcyBmdW5jdGlvbiB3YXMgbm90IGludGVuc2l2ZWx5IHRlc3RlZC4KKyoKKyogUmV0dXJucyAwIGlmIHN1Y2NlZWRlZCwgLTEgb3RoZXJ3aXNlIGFuZCBvbiBBUEkvaW50ZXJuYWwgZXJyb3JzLgorKi8KK3N0YXRpYyBpbnQKK3htbERPTVdyYXBBZG9wdEJyYW5jaCh4bWxET01XcmFwQ3R4dFB0ciBjdHh0LAorCQkgICAgICB4bWxEb2NQdHIgc291cmNlRG9jLAorCQkgICAgICB4bWxOb2RlUHRyIG5vZGUsCisJCSAgICAgIHhtbERvY1B0ciBkZXN0RG9jLAorCQkgICAgICB4bWxOb2RlUHRyIGRlc3RQYXJlbnQsCisJCSAgICAgIGludCBvcHRpb25zIEFUVFJJQlVURV9VTlVTRUQpCit7CisgICAgaW50IHJldCA9IDA7CisgICAgeG1sTm9kZVB0ciBjdXIsIGN1ckVsZW0gPSBOVUxMOworICAgIHhtbE5zTWFwUHRyIG5zTWFwID0gTlVMTDsKKyAgICB4bWxOc01hcEl0ZW1QdHIgbWk7CisgICAgeG1sTnNQdHIgbnMgPSBOVUxMOworICAgIGludCBkZXB0aCA9IC0xLCBhZG9wdFN0ciA9IDE7CisgICAgLyogZ2F0aGVyIEBwYXJlbnQncyBucy1kZWNscy4gKi8KKyAgICBpbnQgcGFybnNkb25lOworICAgIC8qIEBhbmNlc3RvcnNPbmx5IHNob3VsZCBiZSBzZXQgcGVyIG9wdGlvbi4gKi8KKyAgICBpbnQgYW5jZXN0b3JzT25seSA9IDA7CisKKyAgICAvKgorICAgICogT3B0aW1pemUgc3RyaW5nIGFkb3B0aW9uIGZvciBlcXVhbCBvciBub25lIGRpY3RzLgorICAgICovCisgICAgaWYgKChzb3VyY2VEb2MgIT0gTlVMTCkgJiYKKwkoc291cmNlRG9jLT5kaWN0ID09IGRlc3REb2MtPmRpY3QpKQorCWFkb3B0U3RyID0gMDsKKyAgICBlbHNlCisJYWRvcHRTdHIgPSAxOworCisgICAgLyoKKyAgICAqIEdldCB0aGUgbnMtbWFwIGZyb20gdGhlIGNvbnRleHQgaWYgYXZhaWxhYmxlLgorICAgICovCisgICAgaWYgKGN0eHQpCisJbnNNYXAgPSAoeG1sTnNNYXBQdHIpIGN0eHQtPm5hbWVzcGFjZU1hcDsKKyAgICAvKgorICAgICogRGlzYWJsZSBzZWFyY2ggZm9yIG5zLWRlY2xzIGluIHRoZSBwYXJlbnQtYXhpcyBvZiB0aGUKKyAgICAqIGRlc2luYXRpb24gZWxlbWVudCwgaWY6CisgICAgKiAxKSB0aGVyZSdzIG5vIGRlc3RpbmF0aW9uIHBhcmVudAorICAgICogMikgY3VzdG9tIG5zLXJlZmVyZW5jZSBoYW5kbGluZyBpcyB1c2VkCisgICAgKi8KKyAgICBpZiAoKGRlc3RQYXJlbnQgPT0gTlVMTCkgfHwKKwkoY3R4dCAmJiBjdHh0LT5nZXROc0Zvck5vZGVGdW5jKSkKKyAgICB7CisJcGFybnNkb25lID0gMTsKKyAgICB9IGVsc2UKKwlwYXJuc2RvbmUgPSAwOworCisgICAgY3VyID0gbm9kZTsKKyAgICBpZiAoKGN1ciAhPSBOVUxMKSAmJiAoY3VyLT50eXBlID09IFhNTF9OQU1FU1BBQ0VfREVDTCkpCisJZ290byBpbnRlcm5hbF9lcnJvcjsKKworICAgIHdoaWxlIChjdXIgIT0gTlVMTCkgeworCS8qCisJKiBQYXJhbm9pZCBzb3VyY2UtZG9jIHNhbml0eSBjaGVjay4KKwkqLworCWlmIChjdXItPmRvYyAhPSBzb3VyY2VEb2MpIHsKKwkgICAgLyoKKwkgICAgKiBXZSdsbCBhc3N1bWUgWEluY2x1ZGVkIG5vZGVzIGlmIHRoZSBkb2MgZGlmZmVycy4KKwkgICAgKiBUT0RPOiBEbyB3ZSBuZWVkIHRvIHJlY29uY2lsaWF0ZSBYSW5jbHVkZWQgbm9kZXM/CisJICAgICogVGhpcyBoZXJlIHNraXBzIFhJbmNsdWRlZCBub2RlcyBhbmQgdHJpZXMgdG8gaGFuZGxlCisJICAgICogYnJva2VuIHNlcXVlbmNlcy4KKwkgICAgKi8KKwkgICAgaWYgKGN1ci0+bmV4dCA9PSBOVUxMKQorCQlnb3RvIGxlYXZlX25vZGU7CisJICAgIGRvIHsKKwkJY3VyID0gY3VyLT5uZXh0OworCQlpZiAoKGN1ci0+dHlwZSA9PSBYTUxfWElOQ0xVREVfRU5EKSB8fAorCQkgICAgKGN1ci0+ZG9jID09IG5vZGUtPmRvYykpCisJCSAgICBicmVhazsKKwkgICAgfSB3aGlsZSAoY3VyLT5uZXh0ICE9IE5VTEwpOworCisJICAgIGlmIChjdXItPmRvYyAhPSBub2RlLT5kb2MpCisJCWdvdG8gbGVhdmVfbm9kZTsKKwl9CisJY3VyLT5kb2MgPSBkZXN0RG9jOworCXN3aXRjaCAoY3VyLT50eXBlKSB7CisJICAgIGNhc2UgWE1MX1hJTkNMVURFX1NUQVJUOgorCSAgICBjYXNlIFhNTF9YSU5DTFVERV9FTkQ6CisJCS8qCisJCSogVE9ETworCQkqLworCQlyZXR1cm4gKC0xKTsKKwkgICAgY2FzZSBYTUxfRUxFTUVOVF9OT0RFOgorCQljdXJFbGVtID0gY3VyOworCQlkZXB0aCsrOworCQkvKgorCQkqIE5hbWVzcGFjZSBkZWNsYXJhdGlvbnMuCisJCSogLSBucy0+aHJlZiBhbmQgbnMtPnByZWZpeCBhcmUgbmV2ZXIgaW4gdGhlIGRpY3QsIHNvCisJCSogICB3ZSBuZWVkIG5vdCBtb3ZlIHRoZSB2YWx1ZXMgb3ZlciB0byB0aGUgZGVzdGluYXRpb24gZGljdC4KKwkJKiAtIE5vdGUgdGhhdCBmb3IgY3VzdG9tIGhhbmRsaW5nIG9mIG5zLXJlZmVyZW5jZXMsCisJCSogICB0aGUgbnMtZGVjbHMgbmVlZCBub3QgYmUgc3RvcmVkIGluIHRoZSBucy1tYXAsCisJCSogICBzaW5jZSB0aGV5IHdvbid0IGJlIHJlZmVyZW5jZWQgYnkgbm9kZS0+bnMuCisJCSovCisJCWlmICgoY3VyLT5uc0RlZikgJiYKKwkJICAgICgoY3R4dCA9PSBOVUxMKSB8fCAoY3R4dC0+Z2V0TnNGb3JOb2RlRnVuYyA9PSBOVUxMKSkpCisJCXsKKwkJICAgIGlmICghIHBhcm5zZG9uZSkgeworCQkJLyoKKwkJCSogR2F0aGVyIEBwYXJlbnQncyBpbi1zY29wZSBucy1kZWNscy4KKwkJCSovCisJCQlpZiAoeG1sRE9NV3JhcE5TTm9ybUdhdGhlckluU2NvcGVOcygmbnNNYXAsCisJCQkgICAgZGVzdFBhcmVudCkgPT0gLTEpCisJCQkgICAgZ290byBpbnRlcm5hbF9lcnJvcjsKKwkJCXBhcm5zZG9uZSA9IDE7CisJCSAgICB9CisJCSAgICBmb3IgKG5zID0gY3VyLT5uc0RlZjsgbnMgIT0gTlVMTDsgbnMgPSBucy0+bmV4dCkgeworCQkJLyoKKwkJCSogTk9URTogbnMtPnByZWZpeCBhbmQgbnMtPmhyZWYgYXJlIG5ldmVyIGluIHRoZSBkaWN0LgorCQkJKiBYTUxfVFJFRV9BRE9QVF9TVFIobnMtPnByZWZpeCkKKwkJCSogWE1MX1RSRUVfQURPUFRfU1RSKG5zLT5ocmVmKQorCQkJKi8KKwkJCS8qCisJCQkqIERvZXMgaXQgc2hhZG93IGFueSBucy1kZWNsPworCQkJKi8KKwkJCWlmIChYTUxfTlNNQVBfTk9URU1QVFkobnNNYXApKSB7CisJCQkgICAgWE1MX05TTUFQX0ZPUkVBQ0gobnNNYXAsIG1pKSB7CisJCQkJaWYgKChtaS0+ZGVwdGggPj0gWE1MX1RSRUVfTlNNQVBfUEFSRU5UKSAmJgorCQkJCSAgICAobWktPnNoYWRvd0RlcHRoID09IC0xKSAmJgorCQkJCSAgICAoKG5zLT5wcmVmaXggPT0gbWktPm5ld05zLT5wcmVmaXgpIHx8CisJCQkJICAgIHhtbFN0ckVxdWFsKG5zLT5wcmVmaXgsCisJCQkJICAgIG1pLT5uZXdOcy0+cHJlZml4KSkpIHsKKworCQkJCSAgICBtaS0+c2hhZG93RGVwdGggPSBkZXB0aDsKKwkJCQl9CisJCQkgICAgfQorCQkJfQorCQkJLyoKKwkJCSogUHVzaCBtYXBwaW5nLgorCQkJKi8KKwkJCWlmICh4bWxET01XcmFwTnNNYXBBZGRJdGVtKCZuc01hcCwgLTEsCisJCQkgICAgbnMsIG5zLCBkZXB0aCkgPT0gTlVMTCkKKwkJCSAgICBnb3RvIGludGVybmFsX2Vycm9yOworCQkgICAgfQorCQl9CisJCS8qIE5vIGJyZWFrIG9uIHB1cnBvc2UuICovCisJICAgIGNhc2UgWE1MX0FUVFJJQlVURV9OT0RFOgorCQkvKiBObyBuYW1lc3BhY2UsIG5vIGZ1bi4gKi8KKwkJaWYgKGN1ci0+bnMgPT0gTlVMTCkKKwkJICAgIGdvdG8gbnNfZW5kOworCisJCWlmICghIHBhcm5zZG9uZSkgeworCQkgICAgaWYgKHhtbERPTVdyYXBOU05vcm1HYXRoZXJJblNjb3BlTnMoJm5zTWFwLAorCQkJZGVzdFBhcmVudCkgPT0gLTEpCisJCQlnb3RvIGludGVybmFsX2Vycm9yOworCQkgICAgcGFybnNkb25lID0gMTsKKwkJfQorCQkvKgorCQkqIEFkb3B0IG5zLXJlZmVyZW5jZXMuCisJCSovCisJCWlmIChYTUxfTlNNQVBfTk9URU1QVFkobnNNYXApKSB7CisJCSAgICAvKgorCQkgICAgKiBTZWFyY2ggZm9yIGEgbWFwcGluZy4KKwkJICAgICovCisJCSAgICBYTUxfTlNNQVBfRk9SRUFDSChuc01hcCwgbWkpIHsKKwkJCWlmICgobWktPnNoYWRvd0RlcHRoID09IC0xKSAmJgorCQkJICAgIChjdXItPm5zID09IG1pLT5vbGROcykpIHsKKworCQkJICAgIGN1ci0+bnMgPSBtaS0+bmV3TnM7CisJCQkgICAgZ290byBuc19lbmQ7CisJCQl9CisJCSAgICB9CisJCX0KKwkJLyoKKwkJKiBObyBtYXRjaGluZyBuYW1lc3BhY2UgaW4gc2NvcGUuIFdlIG5lZWQgYSBuZXcgb25lLgorCQkqLworCQlpZiAoKGN0eHQpICYmIChjdHh0LT5nZXROc0Zvck5vZGVGdW5jKSkgeworCQkgICAgLyoKKwkJICAgICogVXNlci1kZWZpbmVkIGJlaGF2aW91ci4KKwkJICAgICovCisJCSAgICBucyA9IGN0eHQtPmdldE5zRm9yTm9kZUZ1bmMoY3R4dCwgY3VyLAorCQkJY3VyLT5ucy0+aHJlZiwgY3VyLT5ucy0+cHJlZml4KTsKKwkJICAgIC8qCisJCSAgICAqIEluc2VydCBtYXBwaW5nIGlmIG5zIGlzIGF2YWlsYWJsZTsgaXQncyB0aGUgdXNlcnMgZmF1bHQKKwkJICAgICogaWYgbm90LgorCQkgICAgKi8KKwkJICAgIGlmICh4bWxET01XcmFwTnNNYXBBZGRJdGVtKCZuc01hcCwgLTEsCisJCQkgICAgY3VyLT5ucywgbnMsIFhNTF9UUkVFX05TTUFQX0NVU1RPTSkgPT0gTlVMTCkKKwkJCWdvdG8gaW50ZXJuYWxfZXJyb3I7CisJCSAgICBjdXItPm5zID0gbnM7CisJCX0gZWxzZSB7CisJCSAgICAvKgorCQkgICAgKiBBcXVpcmUgYSBub3JtYWxpemVkIG5zLWRlY2wgYW5kIGFkZCBpdCB0byB0aGUgbWFwLgorCQkgICAgKi8KKwkJICAgIGlmICh4bWxET01XcmFwTlNOb3JtQXF1aXJlTm9ybWFsaXplZE5zKGRlc3REb2MsCisJCQkvKiBucy1kZWNscyBvbiBjdXJFbGVtIG9yIG9uIGRlc3REb2MtPm9sZE5zICovCisJCQlkZXN0UGFyZW50ID8gY3VyRWxlbSA6IE5VTEwsCisJCQljdXItPm5zLCAmbnMsCisJCQkmbnNNYXAsIGRlcHRoLAorCQkJYW5jZXN0b3JzT25seSwKKwkJCS8qIG5zLWRlY2xzIG11c3QgYmUgcHJlZml4ZWQgZm9yIGF0dHJpYnV0ZXMuICovCisJCQkoY3VyLT50eXBlID09IFhNTF9BVFRSSUJVVEVfTk9ERSkgPyAxIDogMCkgPT0gLTEpCisJCQlnb3RvIGludGVybmFsX2Vycm9yOworCQkgICAgY3VyLT5ucyA9IG5zOworCQl9Cituc19lbmQ6CisJCS8qCisJCSogRnVydGhlciBub2RlIHByb3BlcnRpZXMuCisJCSogVE9ETzogSXMgdGhpcyBhbGw/CisJCSovCisJCVhNTF9UUkVFX0FET1BUX1NUUihjdXItPm5hbWUpCisJCWlmIChjdXItPnR5cGUgPT0gWE1MX0VMRU1FTlRfTk9ERSkgeworCQkgICAgY3VyLT5wc3ZpID0gTlVMTDsKKwkJICAgIGN1ci0+bGluZSA9IDA7CisJCSAgICBjdXItPmV4dHJhID0gMDsKKwkJICAgIC8qCisJCSAgICAqIFdhbGsgYXR0cmlidXRlcy4KKwkJICAgICovCisJCSAgICBpZiAoY3VyLT5wcm9wZXJ0aWVzICE9IE5VTEwpIHsKKwkJCS8qCisJCQkqIFByb2Nlc3MgZmlyc3QgYXR0cmlidXRlIG5vZGUuCisJCQkqLworCQkJY3VyID0gKHhtbE5vZGVQdHIpIGN1ci0+cHJvcGVydGllczsKKwkJCWNvbnRpbnVlOworCQkgICAgfQorCQl9IGVsc2UgeworCQkgICAgLyoKKwkJICAgICogQXR0cmlidXRlcy4KKwkJICAgICovCisJCSAgICBpZiAoKHNvdXJjZURvYyAhPSBOVUxMKSAmJgorCQkJKCgoeG1sQXR0clB0cikgY3VyKS0+YXR5cGUgPT0gWE1MX0FUVFJJQlVURV9JRCkpCisJCSAgICB7CisJCQl4bWxSZW1vdmVJRChzb3VyY2VEb2MsICh4bWxBdHRyUHRyKSBjdXIpOworCQkgICAgfQorCQkgICAgKCh4bWxBdHRyUHRyKSBjdXIpLT5hdHlwZSA9IDA7CisJCSAgICAoKHhtbEF0dHJQdHIpIGN1ciktPnBzdmkgPSBOVUxMOworCQl9CisJCWJyZWFrOworCSAgICBjYXNlIFhNTF9URVhUX05PREU6CisJICAgIGNhc2UgWE1MX0NEQVRBX1NFQ1RJT05fTk9ERToKKwkJLyoKKwkJKiBUaGlzIHB1dHMgdGhlIGNvbnRlbnQgaW4gdGhlIGRlc3QgZGljdCwgb25seSBpZgorCQkqIGl0IHdhcyBwcmV2aW91c2x5IGluIHRoZSBzb3VyY2UgZGljdC4KKwkJKi8KKwkJWE1MX1RSRUVfQURPUFRfU1RSXzIoY3VyLT5jb250ZW50KQorCQlnb3RvIGxlYXZlX25vZGU7CisJICAgIGNhc2UgWE1MX0VOVElUWV9SRUZfTk9ERToKKwkJLyoKKwkJKiBSZW1vdmUgcmVmZXJlbmNlIHRvIHRoZSBlbnRpdGl0eS1ub2RlLgorCQkqLworCQljdXItPmNvbnRlbnQgPSBOVUxMOworCQljdXItPmNoaWxkcmVuID0gTlVMTDsKKwkJY3VyLT5sYXN0ID0gTlVMTDsKKwkJaWYgKChkZXN0RG9jLT5pbnRTdWJzZXQpIHx8IChkZXN0RG9jLT5leHRTdWJzZXQpKSB7CisJCSAgICB4bWxFbnRpdHlQdHIgZW50OworCQkgICAgLyoKKwkJICAgICogQXNzaWduIG5ldyBlbnRpdHktbm9kZSBpZiBhdmFpbGFibGUuCisJCSAgICAqLworCQkgICAgZW50ID0geG1sR2V0RG9jRW50aXR5KGRlc3REb2MsIGN1ci0+bmFtZSk7CisJCSAgICBpZiAoZW50ICE9IE5VTEwpIHsKKwkJCWN1ci0+Y29udGVudCA9IGVudC0+Y29udGVudDsKKwkJCWN1ci0+Y2hpbGRyZW4gPSAoeG1sTm9kZVB0cikgZW50OworCQkJY3VyLT5sYXN0ID0gKHhtbE5vZGVQdHIpIGVudDsKKwkJICAgIH0KKwkJfQorCQlnb3RvIGxlYXZlX25vZGU7CisJICAgIGNhc2UgWE1MX1BJX05PREU6CisJCVhNTF9UUkVFX0FET1BUX1NUUihjdXItPm5hbWUpCisJCVhNTF9UUkVFX0FET1BUX1NUUl8yKGN1ci0+Y29udGVudCkKKwkJYnJlYWs7CisJICAgIGNhc2UgWE1MX0NPTU1FTlRfTk9ERToKKwkJYnJlYWs7CisJICAgIGRlZmF1bHQ6CisJCWdvdG8gaW50ZXJuYWxfZXJyb3I7CisJfQorCS8qCisJKiBXYWxrIHRoZSB0cmVlLgorCSovCisJaWYgKGN1ci0+Y2hpbGRyZW4gIT0gTlVMTCkgeworCSAgICBjdXIgPSBjdXItPmNoaWxkcmVuOworCSAgICBjb250aW51ZTsKKwl9CisKK2xlYXZlX25vZGU6CisJaWYgKGN1ciA9PSBub2RlKQorCSAgICBicmVhazsKKwlpZiAoKGN1ci0+dHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFKSB8fAorCSAgICAoY3VyLT50eXBlID09IFhNTF9YSU5DTFVERV9TVEFSVCkgfHwKKwkgICAgKGN1ci0+dHlwZSA9PSBYTUxfWElOQ0xVREVfRU5EKSkKKwl7CisJICAgIC8qCisJICAgICogVE9ETzogRG8gd2UgZXhwZWN0IG5zRGVmcyBvbiBYTUxfWElOQ0xVREVfU1RBUlQ/CisJICAgICovCisJICAgIGlmIChYTUxfTlNNQVBfTk9URU1QVFkobnNNYXApKSB7CisJCS8qCisJCSogUG9wIG1hcHBpbmdzLgorCQkqLworCQl3aGlsZSAoKG5zTWFwLT5sYXN0ICE9IE5VTEwpICYmCisJCSAgICAobnNNYXAtPmxhc3QtPmRlcHRoID49IGRlcHRoKSkKKwkJeworCQkgICAgWE1MX05TTUFQX1BPUChuc01hcCwgbWkpCisJCX0KKwkJLyoKKwkJKiBVbnNoYWRvdy4KKwkJKi8KKwkJWE1MX05TTUFQX0ZPUkVBQ0gobnNNYXAsIG1pKSB7CisJCSAgICBpZiAobWktPnNoYWRvd0RlcHRoID49IGRlcHRoKQorCQkJbWktPnNoYWRvd0RlcHRoID0gLTE7CisJCX0KKwkgICAgfQorCSAgICBkZXB0aC0tOworCX0KKwlpZiAoY3VyLT5uZXh0ICE9IE5VTEwpCisJICAgIGN1ciA9IGN1ci0+bmV4dDsKKwllbHNlIGlmICgoY3VyLT50eXBlID09IFhNTF9BVFRSSUJVVEVfTk9ERSkgJiYKKwkgICAgKGN1ci0+cGFyZW50LT5jaGlsZHJlbiAhPSBOVUxMKSkKKwl7CisJICAgIGN1ciA9IGN1ci0+cGFyZW50LT5jaGlsZHJlbjsKKwl9IGVsc2UgeworCSAgICBjdXIgPSBjdXItPnBhcmVudDsKKwkgICAgZ290byBsZWF2ZV9ub2RlOworCX0KKyAgICB9CisKKyAgICBnb3RvIGV4aXQ7CisKK2ludGVybmFsX2Vycm9yOgorICAgIHJldCA9IC0xOworCitleGl0OgorICAgIC8qCisgICAgKiBDbGVhbnVwLgorICAgICovCisgICAgaWYgKG5zTWFwICE9IE5VTEwpIHsKKwlpZiAoKGN0eHQpICYmIChjdHh0LT5uYW1lc3BhY2VNYXAgPT0gbnNNYXApKSB7CisJICAgIC8qCisJICAgICogSnVzdCBjbGVhbnVwIHRoZSBtYXAgYnV0IGRvbid0IGZyZWUuCisJICAgICovCisJICAgIGlmIChuc01hcC0+Zmlyc3QpIHsKKwkJaWYgKG5zTWFwLT5wb29sKQorCQkgICAgbnNNYXAtPmxhc3QtPm5leHQgPSBuc01hcC0+cG9vbDsKKwkJbnNNYXAtPnBvb2wgPSBuc01hcC0+Zmlyc3Q7CisJCW5zTWFwLT5maXJzdCA9IE5VTEw7CisJICAgIH0KKwl9IGVsc2UKKwkgICAgeG1sRE9NV3JhcE5zTWFwRnJlZShuc01hcCk7CisgICAgfQorICAgIHJldHVybihyZXQpOworfQorCisvKgorKiB4bWxET01XcmFwQ2xvbmVOb2RlOgorKiBAY3R4dDogdGhlIG9wdGlvbmFsIGNvbnRleHQgZm9yIGN1c3RvbSBwcm9jZXNzaW5nCisqIEBzb3VyY2VEb2M6IHRoZSBvcHRpb25hbCBzb3VyY2VEb2MKKyogQG5vZGU6IHRoZSBub2RlIHRvIHN0YXJ0IHdpdGgKKyogQHJlc05vZGU6IHRoZSBjbG9uZSBvZiB0aGUgZ2l2ZW4gQG5vZGUKKyogQGRlc3REb2M6IHRoZSBkZXN0aW5hdGlvbiBkb2MKKyogQGRlc3RQYXJlbnQ6IHRoZSBvcHRpb25hbCBuZXcgcGFyZW50IG9mIEBub2RlIGluIEBkZXN0RG9jCisqIEBkZWVwOiBkZXNjZW5kIGludG8gY2hpbGQgaWYgc2V0CisqIEBvcHRpb25zOiBvcHRpb24gZmxhZ3MKKyoKKyogUmVmZXJlbmNlcyBvZiBvdXQtb2Ygc2NvcGUgbnMtZGVjbHMgYXJlIHJlbWFwcGVkIHRvIHBvaW50IHRvIEBkZXN0RG9jOgorKiAxKSBJZiBAZGVzdFBhcmVudCBpcyBnaXZlbiwgdGhlbiBuc0RlZiBlbnRyaWVzIG9uIGVsZW1lbnQtbm9kZXMgYXJlIHVzZWQKKyogMikgSWYgKm5vKiBAZGVzdFBhcmVudCBpcyBnaXZlbiwgdGhlbiBAZGVzdERvYy0+b2xkTnMgZW50cmllcyBhcmUgdXNlZC4KKyogICAgVGhpcyBpcyB0aGUgY2FzZSB3aGVuIHlvdSBkb24ndCBrbm93IGFscmVhZHkgd2hlcmUgdGhlIGNsb25lZCBicmFuY2gKKyogICAgd2lsbCBiZSBhZGRlZCB0by4KKyoKKyogSWYgQGRlc3RQYXJlbnQgaXMgZ2l2ZW4sIGl0IGVuc3VyZXMgdGhhdCB0aGUgdHJlZSBpcyBuYW1lc3BhY2UKKyogd2VsbGZvcm1lZCBieSBjcmVhdGluZyBhZGRpdGlvbmFsIG5zLWRlY2xzIHdoZXJlIG5lZWRlZC4KKyogTm90ZSB0aGF0LCBzaW5jZSBwcmVmaXhlcyBvZiBhbHJlYWR5IGV4aXN0ZW50IG5zLWRlY2xzIGNhbiBiZQorKiBzaGFkb3dlZCBieSB0aGlzIHByb2Nlc3MsIGl0IGNvdWxkIGJyZWFrIFFOYW1lcyBpbiBhdHRyaWJ1dGUKKyogdmFsdWVzIG9yIGVsZW1lbnQgY29udGVudC4KKyogVE9ETzoKKyogICAxKSBXaGF0IHRvIGRvIHdpdGggWEluY2x1ZGU/IEN1cnJlbnRseSB0aGlzIHJldHVybnMgYW4gZXJyb3IgZm9yIFhJbmNsdWRlLgorKgorKiBSZXR1cm5zIDAgaWYgdGhlIG9wZXJhdGlvbiBzdWNjZWVkZWQsCisqICAgICAgICAgMSBpZiBhIG5vZGUgb2YgdW5zdXBwb3J0ZWQgKG9yIG5vdCB5ZXQgc3VwcG9ydGVkKSB0eXBlIHdhcyBnaXZlbiwKKyogICAgICAgICAtMSBvbiBBUEkvaW50ZXJuYWwgZXJyb3JzLgorKi8KKworaW50Cit4bWxET01XcmFwQ2xvbmVOb2RlKHhtbERPTVdyYXBDdHh0UHRyIGN0eHQsCisJCSAgICAgIHhtbERvY1B0ciBzb3VyY2VEb2MsCisJCSAgICAgIHhtbE5vZGVQdHIgbm9kZSwKKwkJICAgICAgeG1sTm9kZVB0ciAqcmVzTm9kZSwKKwkJICAgICAgeG1sRG9jUHRyIGRlc3REb2MsCisJCSAgICAgIHhtbE5vZGVQdHIgZGVzdFBhcmVudCwKKwkJICAgICAgaW50IGRlZXAsCisJCSAgICAgIGludCBvcHRpb25zIEFUVFJJQlVURV9VTlVTRUQpCit7CisgICAgaW50IHJldCA9IDA7CisgICAgeG1sTm9kZVB0ciBjdXIsIGN1ckVsZW0gPSBOVUxMOworICAgIHhtbE5zTWFwUHRyIG5zTWFwID0gTlVMTDsKKyAgICB4bWxOc01hcEl0ZW1QdHIgbWk7CisgICAgeG1sTnNQdHIgbnM7CisgICAgaW50IGRlcHRoID0gLTE7CisgICAgLyogaW50IGFkb3B0U3RyID0gMTsgKi8KKyAgICAvKiBnYXRoZXIgQHBhcmVudCdzIG5zLWRlY2xzLiAqLworICAgIGludCBwYXJuc2RvbmUgPSAwOworICAgIC8qCisgICAgKiBAYW5jZXN0b3JzT25seToKKyAgICAqIFRPRE86IEBhbmNlc3RvcnNPbmx5IHNob3VsZCBiZSBzZXQgcGVyIG9wdGlvbi4KKyAgICAqCisgICAgKi8KKyAgICBpbnQgYW5jZXN0b3JzT25seSA9IDA7CisgICAgeG1sTm9kZVB0ciByZXN1bHRDbG9uZSA9IE5VTEwsIGNsb25lID0gTlVMTCwgcGFyZW50Q2xvbmUgPSBOVUxMLCBwcmV2Q2xvbmUgPSBOVUxMOworICAgIHhtbE5zUHRyIGNsb25lTnMgPSBOVUxMLCAqY2xvbmVOc0RlZlNsb3QgPSBOVUxMOworICAgIHhtbERpY3RQdHIgZGljdDsgLyogVGhlIGRlc3RpbmF0aW9uIGRpY3QgKi8KKworICAgIGlmICgobm9kZSA9PSBOVUxMKSB8fCAocmVzTm9kZSA9PSBOVUxMKSB8fCAoZGVzdERvYyA9PSBOVUxMKSkKKwlyZXR1cm4oLTEpOworICAgIC8qCisgICAgKiBUT0RPOiBJbml0aWFsbHkgd2Ugc3VwcG9ydCBvbmx5IGVsZW1lbnQtbm9kZXMuCisgICAgKi8KKyAgICBpZiAobm9kZS0+dHlwZSAhPSBYTUxfRUxFTUVOVF9OT0RFKQorCXJldHVybigxKTsKKyAgICAvKgorICAgICogQ2hlY2sgbm9kZS0+ZG9jIHNhbml0eS4KKyAgICAqLworICAgIGlmICgobm9kZS0+ZG9jICE9IE5VTEwpICYmIChzb3VyY2VEb2MgIT0gTlVMTCkgJiYKKwkobm9kZS0+ZG9jICE9IHNvdXJjZURvYykpIHsKKwkvKgorCSogTWlnaHQgYmUgYW4gWEluY2x1ZGVkIG5vZGUuCisJKi8KKwlyZXR1cm4gKC0xKTsKKyAgICB9CisgICAgaWYgKHNvdXJjZURvYyA9PSBOVUxMKQorCXNvdXJjZURvYyA9IG5vZGUtPmRvYzsKKyAgICBpZiAoc291cmNlRG9jID09IE5VTEwpCisgICAgICAgIHJldHVybiAoLTEpOworCisgICAgZGljdCA9IGRlc3REb2MtPmRpY3Q7CisgICAgLyoKKyAgICAqIFJldXNlIHRoZSBuYW1lc3BhY2UgbWFwIG9mIHRoZSBjb250ZXh0LgorICAgICovCisgICAgaWYgKGN0eHQpCisJbnNNYXAgPSAoeG1sTnNNYXBQdHIpIGN0eHQtPm5hbWVzcGFjZU1hcDsKKworICAgICpyZXNOb2RlID0gTlVMTDsKKworICAgIGN1ciA9IG5vZGU7CisgICAgaWYgKChjdXIgIT0gTlVMTCkgJiYgKGN1ci0+dHlwZSA9PSBYTUxfTkFNRVNQQUNFX0RFQ0wpKQorICAgICAgICByZXR1cm4oLTEpOworCisgICAgd2hpbGUgKGN1ciAhPSBOVUxMKSB7CisJaWYgKGN1ci0+ZG9jICE9IHNvdXJjZURvYykgeworCSAgICAvKgorCSAgICAqIFdlJ2xsIGFzc3VtZSBYSW5jbHVkZWQgbm9kZXMgaWYgdGhlIGRvYyBkaWZmZXJzLgorCSAgICAqIFRPRE86IERvIHdlIG5lZWQgdG8gcmVjb25jaWxpYXRlIFhJbmNsdWRlZCBub2Rlcz8KKwkgICAgKiBUT0RPOiBUaGlzIGhlcmUgcmV0dXJucyAtMSBpbiB0aGlzIGNhc2UuCisJICAgICovCisJICAgIGdvdG8gaW50ZXJuYWxfZXJyb3I7CisJfQorCS8qCisJKiBDcmVhdGUgYSBuZXcgbm9kZS4KKwkqLworCXN3aXRjaCAoY3VyLT50eXBlKSB7CisJICAgIGNhc2UgWE1MX1hJTkNMVURFX1NUQVJUOgorCSAgICBjYXNlIFhNTF9YSU5DTFVERV9FTkQ6CisJCS8qCisJCSogVE9ETzogV2hhdCB0byBkbyB3aXRoIFhJbmNsdWRlPworCQkqLworCQlnb3RvIGludGVybmFsX2Vycm9yOworCQlicmVhazsKKwkgICAgY2FzZSBYTUxfRUxFTUVOVF9OT0RFOgorCSAgICBjYXNlIFhNTF9URVhUX05PREU6CisJICAgIGNhc2UgWE1MX0NEQVRBX1NFQ1RJT05fTk9ERToKKwkgICAgY2FzZSBYTUxfQ09NTUVOVF9OT0RFOgorCSAgICBjYXNlIFhNTF9QSV9OT0RFOgorCSAgICBjYXNlIFhNTF9ET0NVTUVOVF9GUkFHX05PREU6CisJICAgIGNhc2UgWE1MX0VOVElUWV9SRUZfTk9ERToKKwkgICAgY2FzZSBYTUxfRU5USVRZX05PREU6CisJCS8qCisJCSogTm9kZXMgb2YgeG1sTm9kZSBzdHJ1Y3R1cmUuCisJCSovCisJCWNsb25lID0gKHhtbE5vZGVQdHIpIHhtbE1hbGxvYyhzaXplb2YoeG1sTm9kZSkpOworCQlpZiAoY2xvbmUgPT0gTlVMTCkgeworCQkgICAgeG1sVHJlZUVyck1lbW9yeSgieG1sRE9NV3JhcENsb25lTm9kZSgpOiBhbGxvY2F0aW5nIGEgbm9kZSIpOworCQkgICAgZ290byBpbnRlcm5hbF9lcnJvcjsKKwkJfQorCQltZW1zZXQoY2xvbmUsIDAsIHNpemVvZih4bWxOb2RlKSk7CisJCS8qCisJCSogU2V0IGhpZXJhY2hpY2FsIGxpbmtzLgorCQkqLworCQlpZiAocmVzdWx0Q2xvbmUgIT0gTlVMTCkgeworCQkgICAgY2xvbmUtPnBhcmVudCA9IHBhcmVudENsb25lOworCQkgICAgaWYgKHByZXZDbG9uZSkgeworCQkJcHJldkNsb25lLT5uZXh0ID0gY2xvbmU7CisJCQljbG9uZS0+cHJldiA9IHByZXZDbG9uZTsKKwkJICAgIH0gZWxzZQorCQkJcGFyZW50Q2xvbmUtPmNoaWxkcmVuID0gY2xvbmU7CisJCX0gZWxzZQorCQkgICAgcmVzdWx0Q2xvbmUgPSBjbG9uZTsKKworCQlicmVhazsKKwkgICAgY2FzZSBYTUxfQVRUUklCVVRFX05PREU6CisJCS8qCisJCSogQXR0cmlidXRlcyAoeG1sQXR0cikuCisJCSovCisJCWNsb25lID0gKHhtbE5vZGVQdHIpIHhtbE1hbGxvYyhzaXplb2YoeG1sQXR0cikpOworCQlpZiAoY2xvbmUgPT0gTlVMTCkgeworCQkgICAgeG1sVHJlZUVyck1lbW9yeSgieG1sRE9NV3JhcENsb25lTm9kZSgpOiBhbGxvY2F0aW5nIGFuIGF0dHItbm9kZSIpOworCQkgICAgZ290byBpbnRlcm5hbF9lcnJvcjsKKwkJfQorCQltZW1zZXQoY2xvbmUsIDAsIHNpemVvZih4bWxBdHRyKSk7CisJCS8qCisJCSogU2V0IGhpZXJhY2hpY2FsIGxpbmtzLgorCQkqIFRPRE86IENoYW5nZSB0aGlzIHRvIGFkZCB0byB0aGUgZW5kIG9mIGF0dHJpYnV0ZXMuCisJCSovCisJCWlmIChyZXN1bHRDbG9uZSAhPSBOVUxMKSB7CisJCSAgICBjbG9uZS0+cGFyZW50ID0gcGFyZW50Q2xvbmU7CisJCSAgICBpZiAocHJldkNsb25lKSB7CisJCQlwcmV2Q2xvbmUtPm5leHQgPSBjbG9uZTsKKwkJCWNsb25lLT5wcmV2ID0gcHJldkNsb25lOworCQkgICAgfSBlbHNlCisJCQlwYXJlbnRDbG9uZS0+cHJvcGVydGllcyA9ICh4bWxBdHRyUHRyKSBjbG9uZTsKKwkJfSBlbHNlCisJCSAgICByZXN1bHRDbG9uZSA9IGNsb25lOworCQlicmVhazsKKwkgICAgZGVmYXVsdDoKKwkJLyoKKwkJKiBUT0RPIFFVRVNUSU9OOiBBbnkgb3RoZXIgbm9kZXMgZXhwZWN0ZWQ/CisJCSovCisJCWdvdG8gaW50ZXJuYWxfZXJyb3I7CisJfQorCisJY2xvbmUtPnR5cGUgPSBjdXItPnR5cGU7CisJY2xvbmUtPmRvYyA9IGRlc3REb2M7CisKKwkvKgorCSogQ2xvbmUgdGhlIG5hbWUgb2YgdGhlIG5vZGUgaWYgYW55LgorCSovCisJaWYgKGN1ci0+bmFtZSA9PSB4bWxTdHJpbmdUZXh0KQorCSAgICBjbG9uZS0+bmFtZSA9IHhtbFN0cmluZ1RleHQ7CisJZWxzZSBpZiAoY3VyLT5uYW1lID09IHhtbFN0cmluZ1RleHROb2VuYykKKwkgICAgLyoKKwkgICAgKiBOT1RFOiBBbHRob3VnaCB4bWxTdHJpbmdUZXh0Tm9lbmMgaXMgbmV2ZXIgYXNzaWduZWQgdG8gYSBub2RlCisJICAgICogICBpbiB0cmVlLmMsIGl0IG1pZ2h0IGJlIHNldCBpbiBMaWJ4c2x0IHZpYQorCSAgICAqICAgInhzbDpkaXNhYmxlLW91dHB1dC1lc2NhcGluZyIuCisJICAgICovCisJICAgIGNsb25lLT5uYW1lID0geG1sU3RyaW5nVGV4dE5vZW5jOworCWVsc2UgaWYgKGN1ci0+bmFtZSA9PSB4bWxTdHJpbmdDb21tZW50KQorCSAgICBjbG9uZS0+bmFtZSA9IHhtbFN0cmluZ0NvbW1lbnQ7CisJZWxzZSBpZiAoY3VyLT5uYW1lICE9IE5VTEwpIHsKKwkgICAgRElDVF9DT05TVF9DT1BZKGN1ci0+bmFtZSwgY2xvbmUtPm5hbWUpOworCX0KKworCXN3aXRjaCAoY3VyLT50eXBlKSB7CisJICAgIGNhc2UgWE1MX1hJTkNMVURFX1NUQVJUOgorCSAgICBjYXNlIFhNTF9YSU5DTFVERV9FTkQ6CisJCS8qCisJCSogVE9ETworCQkqLworCQlyZXR1cm4gKC0xKTsKKwkgICAgY2FzZSBYTUxfRUxFTUVOVF9OT0RFOgorCQljdXJFbGVtID0gY3VyOworCQlkZXB0aCsrOworCQkvKgorCQkqIE5hbWVzcGFjZSBkZWNsYXJhdGlvbnMuCisJCSovCisJCWlmIChjdXItPm5zRGVmICE9IE5VTEwpIHsKKwkJICAgIGlmICghIHBhcm5zZG9uZSkgeworCQkJaWYgKGRlc3RQYXJlbnQgJiYgKGN0eHQgPT0gTlVMTCkpIHsKKwkJCSAgICAvKgorCQkJICAgICogR2F0aGVyIEBwYXJlbnQncyBpbi1zY29wZSBucy1kZWNscy4KKwkJCSAgICAqLworCQkJICAgIGlmICh4bWxET01XcmFwTlNOb3JtR2F0aGVySW5TY29wZU5zKCZuc01hcCwKKwkJCQlkZXN0UGFyZW50KSA9PSAtMSkKKwkJCQlnb3RvIGludGVybmFsX2Vycm9yOworCQkJfQorCQkJcGFybnNkb25lID0gMTsKKwkJICAgIH0KKwkJICAgIC8qCisJCSAgICAqIENsb25lIG5hbWVzcGFjZSBkZWNsYXJhdGlvbnMuCisJCSAgICAqLworCQkgICAgY2xvbmVOc0RlZlNsb3QgPSAmKGNsb25lLT5uc0RlZik7CisJCSAgICBmb3IgKG5zID0gY3VyLT5uc0RlZjsgbnMgIT0gTlVMTDsgbnMgPSBucy0+bmV4dCkgeworCQkJLyoKKwkJCSogQ3JlYXRlIGEgbmV3IHhtbE5zLgorCQkJKi8KKwkJCWNsb25lTnMgPSAoeG1sTnNQdHIpIHhtbE1hbGxvYyhzaXplb2YoeG1sTnMpKTsKKwkJCWlmIChjbG9uZU5zID09IE5VTEwpIHsKKwkJCSAgICB4bWxUcmVlRXJyTWVtb3J5KCJ4bWxET01XcmFwQ2xvbmVOb2RlKCk6ICIKKwkJCQkiYWxsb2NhdGluZyBuYW1lc3BhY2UiKTsKKwkJCSAgICByZXR1cm4oLTEpOworCQkJfQorCQkJbWVtc2V0KGNsb25lTnMsIDAsIHNpemVvZih4bWxOcykpOworCQkJY2xvbmVOcy0+dHlwZSA9IFhNTF9MT0NBTF9OQU1FU1BBQ0U7CisKKwkJCWlmIChucy0+aHJlZiAhPSBOVUxMKQorCQkJICAgIGNsb25lTnMtPmhyZWYgPSB4bWxTdHJkdXAobnMtPmhyZWYpOworCQkJaWYgKG5zLT5wcmVmaXggIT0gTlVMTCkKKwkJCSAgICBjbG9uZU5zLT5wcmVmaXggPSB4bWxTdHJkdXAobnMtPnByZWZpeCk7CisKKwkJCSpjbG9uZU5zRGVmU2xvdCA9IGNsb25lTnM7CisJCQljbG9uZU5zRGVmU2xvdCA9ICYoY2xvbmVOcy0+bmV4dCk7CisKKwkJCS8qCisJCQkqIE5vdGUgdGhhdCBmb3IgY3VzdG9tIGhhbmRsaW5nIG9mIG5zLXJlZmVyZW5jZXMsCisJCQkqIHRoZSBucy1kZWNscyBuZWVkIG5vdCBiZSBzdG9yZWQgaW4gdGhlIG5zLW1hcCwKKwkJCSogc2luY2UgdGhleSB3b24ndCBiZSByZWZlcmVuY2VkIGJ5IG5vZGUtPm5zLgorCQkJKi8KKwkJCWlmICgoY3R4dCA9PSBOVUxMKSB8fAorCQkJICAgIChjdHh0LT5nZXROc0Zvck5vZGVGdW5jID09IE5VTEwpKQorCQkJeworCQkJICAgIC8qCisJCQkgICAgKiBEb2VzIGl0IHNoYWRvdyBhbnkgbnMtZGVjbD8KKwkJCSAgICAqLworCQkJICAgIGlmIChYTUxfTlNNQVBfTk9URU1QVFkobnNNYXApKSB7CisJCQkJWE1MX05TTUFQX0ZPUkVBQ0gobnNNYXAsIG1pKSB7CisJCQkJICAgIGlmICgobWktPmRlcHRoID49IFhNTF9UUkVFX05TTUFQX1BBUkVOVCkgJiYKKwkJCQkJKG1pLT5zaGFkb3dEZXB0aCA9PSAtMSkgJiYKKwkJCQkJKChucy0+cHJlZml4ID09IG1pLT5uZXdOcy0+cHJlZml4KSB8fAorCQkJCQl4bWxTdHJFcXVhbChucy0+cHJlZml4LAorCQkJCQltaS0+bmV3TnMtPnByZWZpeCkpKSB7CisJCQkJCS8qCisJCQkJCSogTWFyayBhcyBzaGFkb3dlZCBhdCB0aGUgY3VycmVudAorCQkJCQkqIGRlcHRoLgorCQkJCQkqLworCQkJCQltaS0+c2hhZG93RGVwdGggPSBkZXB0aDsKKwkJCQkgICAgfQorCQkJCX0KKwkJCSAgICB9CisJCQkgICAgLyoKKwkJCSAgICAqIFB1c2ggbWFwcGluZy4KKwkJCSAgICAqLworCQkJICAgIGlmICh4bWxET01XcmFwTnNNYXBBZGRJdGVtKCZuc01hcCwgLTEsCisJCQkJbnMsIGNsb25lTnMsIGRlcHRoKSA9PSBOVUxMKQorCQkJCWdvdG8gaW50ZXJuYWxfZXJyb3I7CisJCQl9CisJCSAgICB9CisJCX0KKwkJLyogY3VyLT5ucyB3aWxsIGJlIHByb2Nlc3NlZCBmdXJ0aGVyIGRvd24uICovCisJCWJyZWFrOworCSAgICBjYXNlIFhNTF9BVFRSSUJVVEVfTk9ERToKKwkJLyogSURzIHdpbGwgYmUgcHJvY2Vzc2VkIGZ1cnRoZXIgZG93bi4gKi8KKwkJLyogY3VyLT5ucyB3aWxsIGJlIHByb2Nlc3NlZCBmdXJ0aGVyIGRvd24uICovCisJCWJyZWFrOworCSAgICBjYXNlIFhNTF9URVhUX05PREU6CisJICAgIGNhc2UgWE1MX0NEQVRBX1NFQ1RJT05fTk9ERToKKwkJLyoKKwkJKiBOb3RlIHRoYXQgdGhpcyB3aWxsIGFsc28gY292ZXIgdGhlIHZhbHVlcyBvZiBhdHRyaWJ1dGVzLgorCQkqLworCQlESUNUX0NPUFkoY3VyLT5jb250ZW50LCBjbG9uZS0+Y29udGVudCk7CisJCWdvdG8gbGVhdmVfbm9kZTsKKwkgICAgY2FzZSBYTUxfRU5USVRZX05PREU6CisJCS8qIFRPRE86IFdoYXQgdG8gZG8gaGVyZT8gKi8KKwkJZ290byBsZWF2ZV9ub2RlOworCSAgICBjYXNlIFhNTF9FTlRJVFlfUkVGX05PREU6CisJCWlmIChzb3VyY2VEb2MgIT0gZGVzdERvYykgeworCQkgICAgaWYgKChkZXN0RG9jLT5pbnRTdWJzZXQpIHx8IChkZXN0RG9jLT5leHRTdWJzZXQpKSB7CisJCQl4bWxFbnRpdHlQdHIgZW50OworCQkJLyoKKwkJCSogRGlmZmVyZW50IGRvYzogQXNzaWduIG5ldyBlbnRpdHktbm9kZSBpZiBhdmFpbGFibGUuCisJCQkqLworCQkJZW50ID0geG1sR2V0RG9jRW50aXR5KGRlc3REb2MsIGN1ci0+bmFtZSk7CisJCQlpZiAoZW50ICE9IE5VTEwpIHsKKwkJCSAgICBjbG9uZS0+Y29udGVudCA9IGVudC0+Y29udGVudDsKKwkJCSAgICBjbG9uZS0+Y2hpbGRyZW4gPSAoeG1sTm9kZVB0cikgZW50OworCQkJICAgIGNsb25lLT5sYXN0ID0gKHhtbE5vZGVQdHIpIGVudDsKKwkJCX0KKwkJICAgIH0KKwkJfSBlbHNlIHsKKwkJICAgIC8qCisJCSAgICAqIFNhbWUgZG9jOiBVc2UgdGhlIGN1cnJlbnQgbm9kZSdzIGVudGl0eSBkZWNsYXJhdGlvbgorCQkgICAgKiBhbmQgdmFsdWUuCisJCSAgICAqLworCQkgICAgY2xvbmUtPmNvbnRlbnQgPSBjdXItPmNvbnRlbnQ7CisJCSAgICBjbG9uZS0+Y2hpbGRyZW4gPSBjdXItPmNoaWxkcmVuOworCQkgICAgY2xvbmUtPmxhc3QgPSBjdXItPmxhc3Q7CisJCX0KKwkJZ290byBsZWF2ZV9ub2RlOworCSAgICBjYXNlIFhNTF9QSV9OT0RFOgorCQlESUNUX0NPUFkoY3VyLT5jb250ZW50LCBjbG9uZS0+Y29udGVudCk7CisJCWdvdG8gbGVhdmVfbm9kZTsKKwkgICAgY2FzZSBYTUxfQ09NTUVOVF9OT0RFOgorCQlESUNUX0NPUFkoY3VyLT5jb250ZW50LCBjbG9uZS0+Y29udGVudCk7CisJCWdvdG8gbGVhdmVfbm9kZTsKKwkgICAgZGVmYXVsdDoKKwkJZ290byBpbnRlcm5hbF9lcnJvcjsKKwl9CisKKwlpZiAoY3VyLT5ucyA9PSBOVUxMKQorCSAgICBnb3RvIGVuZF9uc19yZWZlcmVuY2U7CisKKy8qIGhhbmRsZV9uc19yZWZlcmVuY2U6ICovCisJLyoKKwkqKiBUaGUgZm9sbG93aW5nIHdpbGwgdGFrZSBjYXJlIG9mIHJlZmVyZW5jZXMgdG8gbnMtZGVjbHMgKioqKioqKioKKwkqKiBhbmQgaXMgaW50ZW5kZWQgb25seSBmb3IgZWxlbWVudC0gYW5kIGF0dHJpYnV0ZS1ub2Rlcy4KKwkqKgorCSovCisJaWYgKCEgcGFybnNkb25lKSB7CisJICAgIGlmIChkZXN0UGFyZW50ICYmIChjdHh0ID09IE5VTEwpKSB7CisJCWlmICh4bWxET01XcmFwTlNOb3JtR2F0aGVySW5TY29wZU5zKCZuc01hcCwgZGVzdFBhcmVudCkgPT0gLTEpCisJCSAgICBnb3RvIGludGVybmFsX2Vycm9yOworCSAgICB9CisJICAgIHBhcm5zZG9uZSA9IDE7CisJfQorCS8qCisJKiBBZG9wdCBucy1yZWZlcmVuY2VzLgorCSovCisJaWYgKFhNTF9OU01BUF9OT1RFTVBUWShuc01hcCkpIHsKKwkgICAgLyoKKwkgICAgKiBTZWFyY2ggZm9yIGEgbWFwcGluZy4KKwkgICAgKi8KKwkgICAgWE1MX05TTUFQX0ZPUkVBQ0gobnNNYXAsIG1pKSB7CisJCWlmICgobWktPnNoYWRvd0RlcHRoID09IC0xKSAmJgorCQkgICAgKGN1ci0+bnMgPT0gbWktPm9sZE5zKSkgeworCQkgICAgLyoKKwkJICAgICogVGhpcyBpcyB0aGUgbmljZSBjYXNlOiBhIG1hcHBpbmcgd2FzIGZvdW5kLgorCQkgICAgKi8KKwkJICAgIGNsb25lLT5ucyA9IG1pLT5uZXdOczsKKwkJICAgIGdvdG8gZW5kX25zX3JlZmVyZW5jZTsKKwkJfQorCSAgICB9CisJfQorCS8qCisJKiBObyBtYXRjaGluZyBuYW1lc3BhY2UgaW4gc2NvcGUuIFdlIG5lZWQgYSBuZXcgb25lLgorCSovCisJaWYgKChjdHh0ICE9IE5VTEwpICYmIChjdHh0LT5nZXROc0Zvck5vZGVGdW5jICE9IE5VTEwpKSB7CisJICAgIC8qCisJICAgICogVXNlci1kZWZpbmVkIGJlaGF2aW91ci4KKwkgICAgKi8KKwkgICAgbnMgPSBjdHh0LT5nZXROc0Zvck5vZGVGdW5jKGN0eHQsIGN1ciwKKwkJY3VyLT5ucy0+aHJlZiwgY3VyLT5ucy0+cHJlZml4KTsKKwkgICAgLyoKKwkgICAgKiBBZGQgdXNlcidzIG1hcHBpbmcuCisJICAgICovCisJICAgIGlmICh4bWxET01XcmFwTnNNYXBBZGRJdGVtKCZuc01hcCwgLTEsCisJCWN1ci0+bnMsIG5zLCBYTUxfVFJFRV9OU01BUF9DVVNUT00pID09IE5VTEwpCisJCWdvdG8gaW50ZXJuYWxfZXJyb3I7CisJICAgIGNsb25lLT5ucyA9IG5zOworCX0gZWxzZSB7CisJICAgIC8qCisJICAgICogQXF1aXJlIGEgbm9ybWFsaXplZCBucy1kZWNsIGFuZCBhZGQgaXQgdG8gdGhlIG1hcC4KKwkgICAgKi8KKwkgICAgaWYgKHhtbERPTVdyYXBOU05vcm1BcXVpcmVOb3JtYWxpemVkTnMoZGVzdERvYywKKwkJLyogbnMtZGVjbHMgb24gY3VyRWxlbSBvciBvbiBkZXN0RG9jLT5vbGROcyAqLworCQlkZXN0UGFyZW50ID8gY3VyRWxlbSA6IE5VTEwsCisJCWN1ci0+bnMsICZucywKKwkJJm5zTWFwLCBkZXB0aCwKKwkJLyogaWYgd2UgbmVlZCB0byBzZWFyY2ggb25seSBpbiB0aGUgYW5jZXN0b3ItYXhpcyAqLworCQlhbmNlc3RvcnNPbmx5LAorCQkvKiBucy1kZWNscyBtdXN0IGJlIHByZWZpeGVkIGZvciBhdHRyaWJ1dGVzLiAqLworCQkoY3VyLT50eXBlID09IFhNTF9BVFRSSUJVVEVfTk9ERSkgPyAxIDogMCkgPT0gLTEpCisJCWdvdG8gaW50ZXJuYWxfZXJyb3I7CisJICAgIGNsb25lLT5ucyA9IG5zOworCX0KKworZW5kX25zX3JlZmVyZW5jZToKKworCS8qCisJKiBTb21lIHBvc3QtcHJvY2Vzc2luZy4KKwkqCisJKiBIYW5kbGUgSUQgYXR0cmlidXRlcy4KKwkqLworCWlmICgoY2xvbmUtPnR5cGUgPT0gWE1MX0FUVFJJQlVURV9OT0RFKSAmJgorCSAgICAoY2xvbmUtPnBhcmVudCAhPSBOVUxMKSkKKwl7CisJICAgIGlmICh4bWxJc0lEKGRlc3REb2MsIGNsb25lLT5wYXJlbnQsICh4bWxBdHRyUHRyKSBjbG9uZSkpIHsKKworCQl4bWxDaGFyICppZFZhbDsKKworCQlpZFZhbCA9IHhtbE5vZGVMaXN0R2V0U3RyaW5nKGN1ci0+ZG9jLCBjdXItPmNoaWxkcmVuLCAxKTsKKwkJaWYgKGlkVmFsICE9IE5VTEwpIHsKKwkJICAgIGlmICh4bWxBZGRJRChOVUxMLCBkZXN0RG9jLCBpZFZhbCwgKHhtbEF0dHJQdHIpIGN1cikgPT0gTlVMTCkgeworCQkJLyogVE9ETzogZXJyb3IgbWVzc2FnZS4gKi8KKwkJCXhtbEZyZWUoaWRWYWwpOworCQkJZ290byBpbnRlcm5hbF9lcnJvcjsKKwkJICAgIH0KKwkJICAgIHhtbEZyZWUoaWRWYWwpOworCQl9CisJICAgIH0KKwl9CisJLyoKKwkqKgorCSoqIFRoZSBmb2xsb3dpbmcgd2lsbCB0cmF2ZXJzZSB0aGUgdHJlZSAqKioqKioqKioqKioqKioqKioqKioqKioqKgorCSoqCisJKgorCSogV2FsayB0aGUgZWxlbWVudCdzIGF0dHJpYnV0ZXMgYmVmb3JlIGRlc2NlbmRpbmcgaW50byBjaGlsZC1ub2Rlcy4KKwkqLworCWlmICgoY3VyLT50eXBlID09IFhNTF9FTEVNRU5UX05PREUpICYmIChjdXItPnByb3BlcnRpZXMgIT0gTlVMTCkpIHsKKwkgICAgcHJldkNsb25lID0gTlVMTDsKKwkgICAgcGFyZW50Q2xvbmUgPSBjbG9uZTsKKwkgICAgY3VyID0gKHhtbE5vZGVQdHIpIGN1ci0+cHJvcGVydGllczsKKwkgICAgY29udGludWU7CisJfQoraW50b19jb250ZW50OgorCS8qCisJKiBEZXNjZW5kIGludG8gY2hpbGQtbm9kZXMuCisJKi8KKwlpZiAoY3VyLT5jaGlsZHJlbiAhPSBOVUxMKSB7CisJICAgIGlmIChkZWVwIHx8IChjdXItPnR5cGUgPT0gWE1MX0FUVFJJQlVURV9OT0RFKSkgeworCQlwcmV2Q2xvbmUgPSBOVUxMOworCQlwYXJlbnRDbG9uZSA9IGNsb25lOworCQljdXIgPSBjdXItPmNoaWxkcmVuOworCQljb250aW51ZTsKKwkgICAgfQorCX0KKworbGVhdmVfbm9kZToKKwkvKgorCSogQXQgdGhpcyBwb2ludCB3ZSBhcmUgZG9uZSB3aXRoIHRoZSBub2RlLCBpdHMgY29udGVudAorCSogYW5kIGFuIGVsZW1lbnQtbm9kZXMncyBhdHRyaWJ1dGUtbm9kZXMuCisJKi8KKwlpZiAoY3VyID09IG5vZGUpCisJICAgIGJyZWFrOworCWlmICgoY3VyLT50eXBlID09IFhNTF9FTEVNRU5UX05PREUpIHx8CisJICAgIChjdXItPnR5cGUgPT0gWE1MX1hJTkNMVURFX1NUQVJUKSB8fAorCSAgICAoY3VyLT50eXBlID09IFhNTF9YSU5DTFVERV9FTkQpKSB7CisJICAgIC8qCisJICAgICogVE9ETzogRG8gd2UgZXhwZWN0IG5zRGVmcyBvbiBYTUxfWElOQ0xVREVfU1RBUlQ/CisJICAgICovCisJICAgIGlmIChYTUxfTlNNQVBfTk9URU1QVFkobnNNYXApKSB7CisJCS8qCisJCSogUG9wIG1hcHBpbmdzLgorCQkqLworCQl3aGlsZSAoKG5zTWFwLT5sYXN0ICE9IE5VTEwpICYmCisJCSAgICAobnNNYXAtPmxhc3QtPmRlcHRoID49IGRlcHRoKSkKKwkJeworCQkgICAgWE1MX05TTUFQX1BPUChuc01hcCwgbWkpCisJCX0KKwkJLyoKKwkJKiBVbnNoYWRvdy4KKwkJKi8KKwkJWE1MX05TTUFQX0ZPUkVBQ0gobnNNYXAsIG1pKSB7CisJCSAgICBpZiAobWktPnNoYWRvd0RlcHRoID49IGRlcHRoKQorCQkJbWktPnNoYWRvd0RlcHRoID0gLTE7CisJCX0KKwkgICAgfQorCSAgICBkZXB0aC0tOworCX0KKwlpZiAoY3VyLT5uZXh0ICE9IE5VTEwpIHsKKwkgICAgcHJldkNsb25lID0gY2xvbmU7CisJICAgIGN1ciA9IGN1ci0+bmV4dDsKKwl9IGVsc2UgaWYgKGN1ci0+dHlwZSAhPSBYTUxfQVRUUklCVVRFX05PREUpIHsKKwkgICAgLyoKKwkgICAgKiBTZXQgY2xvbmUtPmxhc3QuCisJICAgICovCisJICAgIGlmIChjbG9uZS0+cGFyZW50ICE9IE5VTEwpCisJCWNsb25lLT5wYXJlbnQtPmxhc3QgPSBjbG9uZTsKKwkgICAgY2xvbmUgPSBjbG9uZS0+cGFyZW50OworCSAgICBpZiAoY2xvbmUgIT0gTlVMTCkKKwkJcGFyZW50Q2xvbmUgPSBjbG9uZS0+cGFyZW50OworCSAgICAvKgorCSAgICAqIFByb2Nlc3MgcGFyZW50IC0tPiBuZXh0OworCSAgICAqLworCSAgICBjdXIgPSBjdXItPnBhcmVudDsKKwkgICAgZ290byBsZWF2ZV9ub2RlOworCX0gZWxzZSB7CisJICAgIC8qIFRoaXMgaXMgZm9yIGF0dHJpYnV0ZXMgb25seS4gKi8KKwkgICAgY2xvbmUgPSBjbG9uZS0+cGFyZW50OworCSAgICBwYXJlbnRDbG9uZSA9IGNsb25lLT5wYXJlbnQ7CisJICAgIC8qCisJICAgICogUHJvY2VzcyBwYXJlbnQtZWxlbWVudCAtLT4gY2hpbGRyZW4uCisJICAgICovCisJICAgIGN1ciA9IGN1ci0+cGFyZW50OworCSAgICBnb3RvIGludG9fY29udGVudDsKKwl9CisgICAgfQorICAgIGdvdG8gZXhpdDsKKworaW50ZXJuYWxfZXJyb3I6CisgICAgcmV0ID0gLTE7CisKK2V4aXQ6CisgICAgLyoKKyAgICAqIENsZWFudXAuCisgICAgKi8KKyAgICBpZiAobnNNYXAgIT0gTlVMTCkgeworCWlmICgoY3R4dCkgJiYgKGN0eHQtPm5hbWVzcGFjZU1hcCA9PSBuc01hcCkpIHsKKwkgICAgLyoKKwkgICAgKiBKdXN0IGNsZWFudXAgdGhlIG1hcCBidXQgZG9uJ3QgZnJlZS4KKwkgICAgKi8KKwkgICAgaWYgKG5zTWFwLT5maXJzdCkgeworCQlpZiAobnNNYXAtPnBvb2wpCisJCSAgICBuc01hcC0+bGFzdC0+bmV4dCA9IG5zTWFwLT5wb29sOworCQluc01hcC0+cG9vbCA9IG5zTWFwLT5maXJzdDsKKwkJbnNNYXAtPmZpcnN0ID0gTlVMTDsKKwkgICAgfQorCX0gZWxzZQorCSAgICB4bWxET01XcmFwTnNNYXBGcmVlKG5zTWFwKTsKKyAgICB9CisgICAgLyoKKyAgICAqIFRPRE86IFNob3VsZCB3ZSB0cnkgYSBjbGVhbnVwIG9mIHRoZSBjbG9uZWQgbm9kZSBpbiBjYXNlIG9mIGEKKyAgICAqIGZhdGFsIGVycm9yPworICAgICovCisgICAgKnJlc05vZGUgPSByZXN1bHRDbG9uZTsKKyAgICByZXR1cm4gKHJldCk7Cit9CisKKy8qCisqIHhtbERPTVdyYXBBZG9wdEF0dHI6CisqIEBjdHh0OiB0aGUgb3B0aW9uYWwgY29udGV4dCBmb3IgY3VzdG9tIHByb2Nlc3NpbmcKKyogQHNvdXJjZURvYzogdGhlIG9wdGlvbmFsIHNvdXJjZSBkb2N1bWVudCBvZiBhdHRyCisqIEBhdHRyOiB0aGUgYXR0cmlidXRlLW5vZGUgdG8gYmUgYWRvcHRlZAorKiBAZGVzdERvYzogdGhlIGRlc3RpbmF0aW9uIGRvYyBmb3IgYWRvcHRpb24KKyogQGRlc3RQYXJlbnQ6IHRoZSBvcHRpb25hbCBuZXcgcGFyZW50IG9mIEBhdHRyIGluIEBkZXN0RG9jCisqIEBvcHRpb25zOiBvcHRpb24gZmxhZ3MKKyoKKyogQGF0dHIgaXMgYWRvcHRlZCBieSBAZGVzdERvYy4KKyogRW5zdXJlcyB0aGF0IG5zLXJlZmVyZW5jZXMgcG9pbnQgdG8gQGRlc3REb2M6IGVpdGhlciB0bworKiBlbGVtZW50cy0+bnNEZWYgZW50cmllcyBpZiBAZGVzdFBhcmVudCBpcyBnaXZlbiwgb3IgdG8KKyogQGRlc3REb2MtPm9sZE5zIG90aGVyd2lzZS4KKyoKKyogUmV0dXJucyAwIGlmIHN1Y2NlZWRlZCwgLTEgb3RoZXJ3aXNlIGFuZCBvbiBBUEkvaW50ZXJuYWwgZXJyb3JzLgorKi8KK3N0YXRpYyBpbnQKK3htbERPTVdyYXBBZG9wdEF0dHIoeG1sRE9NV3JhcEN0eHRQdHIgY3R4dCwKKwkJICAgIHhtbERvY1B0ciBzb3VyY2VEb2MsCisJCSAgICB4bWxBdHRyUHRyIGF0dHIsCisJCSAgICB4bWxEb2NQdHIgZGVzdERvYywKKwkJICAgIHhtbE5vZGVQdHIgZGVzdFBhcmVudCwKKwkJICAgIGludCBvcHRpb25zIEFUVFJJQlVURV9VTlVTRUQpCit7CisgICAgeG1sTm9kZVB0ciBjdXI7CisgICAgaW50IGFkb3B0U3RyID0gMTsKKworICAgIGlmICgoYXR0ciA9PSBOVUxMKSB8fCAoZGVzdERvYyA9PSBOVUxMKSkKKwlyZXR1cm4gKC0xKTsKKworICAgIGF0dHItPmRvYyA9IGRlc3REb2M7CisgICAgaWYgKGF0dHItPm5zICE9IE5VTEwpIHsKKwl4bWxOc1B0ciBucyA9IE5VTEw7CisKKwlpZiAoY3R4dCAhPSBOVUxMKSB7CisJICAgIC8qIFRPRE86IFVzZXIgZGVmaW5lZC4gKi8KKwl9CisJLyogWE1MIE5hbWVzcGFjZS4gKi8KKwlpZiAoSVNfU1RSX1hNTChhdHRyLT5ucy0+cHJlZml4KSkgeworCSAgICBucyA9IHhtbFRyZWVFbnN1cmVYTUxEZWNsKGRlc3REb2MpOworCX0gZWxzZSBpZiAoZGVzdFBhcmVudCA9PSBOVUxMKSB7CisJICAgIC8qCisJICAgICogU3RvcmUgaW4gQGRlc3REb2MtPm9sZE5zLgorCSAgICAqLworCSAgICBucyA9IHhtbERPTVdyYXBTdG9yZU5zKGRlc3REb2MsIGF0dHItPm5zLT5ocmVmLCBhdHRyLT5ucy0+cHJlZml4KTsKKwl9IGVsc2UgeworCSAgICAvKgorCSAgICAqIERlY2xhcmUgb24gQGRlc3RQYXJlbnQuCisJICAgICovCisJICAgIGlmICh4bWxTZWFyY2hOc0J5TmFtZXNwYWNlU3RyaWN0KGRlc3REb2MsIGRlc3RQYXJlbnQsIGF0dHItPm5zLT5ocmVmLAorCQkmbnMsIDEpID09IC0xKQorCQlnb3RvIGludGVybmFsX2Vycm9yOworCSAgICBpZiAobnMgPT0gTlVMTCkgeworCQlucyA9IHhtbERPTVdyYXBOU05vcm1EZWNsYXJlTnNGb3JjZWQoZGVzdERvYywgZGVzdFBhcmVudCwKKwkJICAgIGF0dHItPm5zLT5ocmVmLCBhdHRyLT5ucy0+cHJlZml4LCAxKTsKKwkgICAgfQorCX0KKwlpZiAobnMgPT0gTlVMTCkKKwkgICAgZ290byBpbnRlcm5hbF9lcnJvcjsKKwlhdHRyLT5ucyA9IG5zOworICAgIH0KKworICAgIFhNTF9UUkVFX0FET1BUX1NUUihhdHRyLT5uYW1lKTsKKyAgICBhdHRyLT5hdHlwZSA9IDA7CisgICAgYXR0ci0+cHN2aSA9IE5VTEw7CisgICAgLyoKKyAgICAqIFdhbGsgY29udGVudC4KKyAgICAqLworICAgIGlmIChhdHRyLT5jaGlsZHJlbiA9PSBOVUxMKQorCXJldHVybiAoMCk7CisgICAgY3VyID0gYXR0ci0+Y2hpbGRyZW47CisgICAgaWYgKChjdXIgIT0gTlVMTCkgJiYgKGN1ci0+dHlwZSA9PSBYTUxfTkFNRVNQQUNFX0RFQ0wpKQorICAgICAgICBnb3RvIGludGVybmFsX2Vycm9yOworICAgIHdoaWxlIChjdXIgIT0gTlVMTCkgeworCWN1ci0+ZG9jID0gZGVzdERvYzsKKwlzd2l0Y2ggKGN1ci0+dHlwZSkgeworCSAgICBjYXNlIFhNTF9URVhUX05PREU6CisJICAgIGNhc2UgWE1MX0NEQVRBX1NFQ1RJT05fTk9ERToKKwkJWE1MX1RSRUVfQURPUFRfU1RSXzIoY3VyLT5jb250ZW50KQorCQlicmVhazsKKwkgICAgY2FzZSBYTUxfRU5USVRZX1JFRl9OT0RFOgorCQkvKgorCQkqIFJlbW92ZSByZWZlcmVuY2UgdG8gdGhlIGVudGl0aXR5LW5vZGUuCisJCSovCisJCWN1ci0+Y29udGVudCA9IE5VTEw7CisJCWN1ci0+Y2hpbGRyZW4gPSBOVUxMOworCQljdXItPmxhc3QgPSBOVUxMOworCQlpZiAoKGRlc3REb2MtPmludFN1YnNldCkgfHwgKGRlc3REb2MtPmV4dFN1YnNldCkpIHsKKwkJICAgIHhtbEVudGl0eVB0ciBlbnQ7CisJCSAgICAvKgorCQkgICAgKiBBc3NpZ24gbmV3IGVudGl0eS1ub2RlIGlmIGF2YWlsYWJsZS4KKwkJICAgICovCisJCSAgICBlbnQgPSB4bWxHZXREb2NFbnRpdHkoZGVzdERvYywgY3VyLT5uYW1lKTsKKwkJICAgIGlmIChlbnQgIT0gTlVMTCkgeworCQkJY3VyLT5jb250ZW50ID0gZW50LT5jb250ZW50OworCQkJY3VyLT5jaGlsZHJlbiA9ICh4bWxOb2RlUHRyKSBlbnQ7CisJCQljdXItPmxhc3QgPSAoeG1sTm9kZVB0cikgZW50OworCQkgICAgfQorCQl9CisJCWJyZWFrOworCSAgICBkZWZhdWx0OgorCQlicmVhazsKKwl9CisJaWYgKGN1ci0+Y2hpbGRyZW4gIT0gTlVMTCkgeworCSAgICBjdXIgPSBjdXItPmNoaWxkcmVuOworCSAgICBjb250aW51ZTsKKwl9CituZXh0X3NpYmxpbmc6CisJaWYgKGN1ciA9PSAoeG1sTm9kZVB0cikgYXR0cikKKwkgICAgYnJlYWs7CisJaWYgKGN1ci0+bmV4dCAhPSBOVUxMKQorCSAgICBjdXIgPSBjdXItPm5leHQ7CisJZWxzZSB7CisJICAgIGN1ciA9IGN1ci0+cGFyZW50OworCSAgICBnb3RvIG5leHRfc2libGluZzsKKwl9CisgICAgfQorICAgIHJldHVybiAoMCk7CitpbnRlcm5hbF9lcnJvcjoKKyAgICByZXR1cm4gKC0xKTsKK30KKworLyoKKyogeG1sRE9NV3JhcEFkb3B0Tm9kZToKKyogQGN0eHQ6IHRoZSBvcHRpb25hbCBjb250ZXh0IGZvciBjdXN0b20gcHJvY2Vzc2luZworKiBAc291cmNlRG9jOiB0aGUgb3B0aW9uYWwgc291cmNlRG9jCisqIEBub2RlOiB0aGUgbm9kZSB0byBzdGFydCB3aXRoCisqIEBkZXN0RG9jOiB0aGUgZGVzdGluYXRpb24gZG9jCisqIEBkZXN0UGFyZW50OiB0aGUgb3B0aW9uYWwgbmV3IHBhcmVudCBvZiBAbm9kZSBpbiBAZGVzdERvYworKiBAb3B0aW9uczogb3B0aW9uIGZsYWdzCisqCisqIFJlZmVyZW5jZXMgb2Ygb3V0LW9mIHNjb3BlIG5zLWRlY2xzIGFyZSByZW1hcHBlZCB0byBwb2ludCB0byBAZGVzdERvYzoKKyogMSkgSWYgQGRlc3RQYXJlbnQgaXMgZ2l2ZW4sIHRoZW4gbnNEZWYgZW50cmllcyBvbiBlbGVtZW50LW5vZGVzIGFyZSB1c2VkCisqIDIpIElmICpubyogQGRlc3RQYXJlbnQgaXMgZ2l2ZW4sIHRoZW4gQGRlc3REb2MtPm9sZE5zIGVudHJpZXMgYXJlIHVzZWQKKyogICAgVGhpcyBpcyB0aGUgY2FzZSB3aGVuIHlvdSBoYXZlIGFuIHVubGlua2VkIG5vZGUgYW5kIGp1c3Qgd2FudCB0byBtb3ZlIGl0CisqICAgIHRvIHRoZSBjb250ZXh0IG9mCisqCisqIElmIEBkZXN0UGFyZW50IGlzIGdpdmVuLCBpdCBlbnN1cmVzIHRoYXQgdGhlIHRyZWUgaXMgbmFtZXNwYWNlCisqIHdlbGxmb3JtZWQgYnkgY3JlYXRpbmcgYWRkaXRpb25hbCBucy1kZWNscyB3aGVyZSBuZWVkZWQuCisqIE5vdGUgdGhhdCwgc2luY2UgcHJlZml4ZXMgb2YgYWxyZWFkeSBleGlzdGVudCBucy1kZWNscyBjYW4gYmUKKyogc2hhZG93ZWQgYnkgdGhpcyBwcm9jZXNzLCBpdCBjb3VsZCBicmVhayBRTmFtZXMgaW4gYXR0cmlidXRlCisqIHZhbHVlcyBvciBlbGVtZW50IGNvbnRlbnQuCisqIE5PVEU6IFRoaXMgZnVuY3Rpb24gd2FzIG5vdCBpbnRlbnNpdmVseSB0ZXN0ZWQuCisqCisqIFJldHVybnMgMCBpZiB0aGUgb3BlcmF0aW9uIHN1Y2NlZWRlZCwKKyogICAgICAgICAxIGlmIGEgbm9kZSBvZiB1bnN1cHBvcnRlZCB0eXBlIHdhcyBnaXZlbiwKKyogICAgICAgICAyIGlmIGEgbm9kZSBvZiBub3QgeWV0IHN1cHBvcnRlZCB0eXBlIHdhcyBnaXZlbiBhbmQKKyogICAgICAgICAtMSBvbiBBUEkvaW50ZXJuYWwgZXJyb3JzLgorKi8KK2ludAoreG1sRE9NV3JhcEFkb3B0Tm9kZSh4bWxET01XcmFwQ3R4dFB0ciBjdHh0LAorCQkgICAgeG1sRG9jUHRyIHNvdXJjZURvYywKKwkJICAgIHhtbE5vZGVQdHIgbm9kZSwKKwkJICAgIHhtbERvY1B0ciBkZXN0RG9jLAorCQkgICAgeG1sTm9kZVB0ciBkZXN0UGFyZW50LAorCQkgICAgaW50IG9wdGlvbnMpCit7CisgICAgaWYgKChub2RlID09IE5VTEwpIHx8IChub2RlLT50eXBlID09IFhNTF9OQU1FU1BBQ0VfREVDTCkgfHwKKyAgICAgICAgKGRlc3REb2MgPT0gTlVMTCkgfHwKKwkoKGRlc3RQYXJlbnQgIT0gTlVMTCkgJiYgKGRlc3RQYXJlbnQtPmRvYyAhPSBkZXN0RG9jKSkpCisJcmV0dXJuKC0xKTsKKyAgICAvKgorICAgICogQ2hlY2sgbm9kZS0+ZG9jIHNhbml0eS4KKyAgICAqLworICAgIGlmICgobm9kZS0+ZG9jICE9IE5VTEwpICYmIChzb3VyY2VEb2MgIT0gTlVMTCkgJiYKKwkobm9kZS0+ZG9jICE9IHNvdXJjZURvYykpIHsKKwkvKgorCSogTWlnaHQgYmUgYW4gWEluY2x1ZGVkIG5vZGUuCisJKi8KKwlyZXR1cm4gKC0xKTsKKyAgICB9CisgICAgaWYgKHNvdXJjZURvYyA9PSBOVUxMKQorCXNvdXJjZURvYyA9IG5vZGUtPmRvYzsKKyAgICBpZiAoc291cmNlRG9jID09IGRlc3REb2MpCisJcmV0dXJuICgtMSk7CisgICAgc3dpdGNoIChub2RlLT50eXBlKSB7CisJY2FzZSBYTUxfRUxFTUVOVF9OT0RFOgorCWNhc2UgWE1MX0FUVFJJQlVURV9OT0RFOgorCWNhc2UgWE1MX1RFWFRfTk9ERToKKwljYXNlIFhNTF9DREFUQV9TRUNUSU9OX05PREU6CisJY2FzZSBYTUxfRU5USVRZX1JFRl9OT0RFOgorCWNhc2UgWE1MX1BJX05PREU6CisJY2FzZSBYTUxfQ09NTUVOVF9OT0RFOgorCSAgICBicmVhazsKKwljYXNlIFhNTF9ET0NVTUVOVF9GUkFHX05PREU6CisJICAgIC8qIFRPRE86IFN1cHBvcnQgZG9jdW1lbnQtZnJhZ21lbnQtbm9kZXMuICovCisJICAgIHJldHVybiAoMik7CisJZGVmYXVsdDoKKwkgICAgcmV0dXJuICgxKTsKKyAgICB9CisgICAgLyoKKyAgICAqIFVubGluayBvbmx5IGlmIEBub2RlIHdhcyBub3QgYWxyZWFkeSBhZGRlZCB0byBAZGVzdFBhcmVudC4KKyAgICAqLworICAgIGlmICgobm9kZS0+cGFyZW50ICE9IE5VTEwpICYmIChkZXN0UGFyZW50ICE9IG5vZGUtPnBhcmVudCkpCisJeG1sVW5saW5rTm9kZShub2RlKTsKKworICAgIGlmIChub2RlLT50eXBlID09IFhNTF9FTEVNRU5UX05PREUpIHsKKwkgICAgcmV0dXJuICh4bWxET01XcmFwQWRvcHRCcmFuY2goY3R4dCwgc291cmNlRG9jLCBub2RlLAorCQkgICAgZGVzdERvYywgZGVzdFBhcmVudCwgb3B0aW9ucykpOworICAgIH0gZWxzZSBpZiAobm9kZS0+dHlwZSA9PSBYTUxfQVRUUklCVVRFX05PREUpIHsKKwkgICAgcmV0dXJuICh4bWxET01XcmFwQWRvcHRBdHRyKGN0eHQsIHNvdXJjZURvYywKKwkJKHhtbEF0dHJQdHIpIG5vZGUsIGRlc3REb2MsIGRlc3RQYXJlbnQsIG9wdGlvbnMpKTsKKyAgICB9IGVsc2UgeworCXhtbE5vZGVQdHIgY3VyID0gbm9kZTsKKwlpbnQgYWRvcHRTdHIgPSAxOworCisJY3VyLT5kb2MgPSBkZXN0RG9jOworCS8qCisJKiBPcHRpbWl6ZSBzdHJpbmcgYWRvcHRpb24uCisJKi8KKwlpZiAoKHNvdXJjZURvYyAhPSBOVUxMKSAmJgorCSAgICAoc291cmNlRG9jLT5kaWN0ID09IGRlc3REb2MtPmRpY3QpKQorCQlhZG9wdFN0ciA9IDA7CisJc3dpdGNoIChub2RlLT50eXBlKSB7CisJICAgIGNhc2UgWE1MX1RFWFRfTk9ERToKKwkgICAgY2FzZSBYTUxfQ0RBVEFfU0VDVElPTl9OT0RFOgorCQlYTUxfVFJFRV9BRE9QVF9TVFJfMihub2RlLT5jb250ZW50KQorCQkgICAgYnJlYWs7CisJICAgIGNhc2UgWE1MX0VOVElUWV9SRUZfTk9ERToKKwkJLyoKKwkJKiBSZW1vdmUgcmVmZXJlbmNlIHRvIHRoZSBlbnRpdGl0eS1ub2RlLgorCQkqLworCQlub2RlLT5jb250ZW50ID0gTlVMTDsKKwkJbm9kZS0+Y2hpbGRyZW4gPSBOVUxMOworCQlub2RlLT5sYXN0ID0gTlVMTDsKKwkJaWYgKChkZXN0RG9jLT5pbnRTdWJzZXQpIHx8IChkZXN0RG9jLT5leHRTdWJzZXQpKSB7CisJCSAgICB4bWxFbnRpdHlQdHIgZW50OworCQkgICAgLyoKKwkJICAgICogQXNzaWduIG5ldyBlbnRpdHktbm9kZSBpZiBhdmFpbGFibGUuCisJCSAgICAqLworCQkgICAgZW50ID0geG1sR2V0RG9jRW50aXR5KGRlc3REb2MsIG5vZGUtPm5hbWUpOworCQkgICAgaWYgKGVudCAhPSBOVUxMKSB7CisJCQlub2RlLT5jb250ZW50ID0gZW50LT5jb250ZW50OworCQkJbm9kZS0+Y2hpbGRyZW4gPSAoeG1sTm9kZVB0cikgZW50OworCQkJbm9kZS0+bGFzdCA9ICh4bWxOb2RlUHRyKSBlbnQ7CisJCSAgICB9CisJCX0KKwkJWE1MX1RSRUVfQURPUFRfU1RSKG5vZGUtPm5hbWUpCisJCWJyZWFrOworCSAgICBjYXNlIFhNTF9QSV9OT0RFOiB7CisJCVhNTF9UUkVFX0FET1BUX1NUUihub2RlLT5uYW1lKQorCQlYTUxfVFJFRV9BRE9QVF9TVFJfMihub2RlLT5jb250ZW50KQorCQlicmVhazsKKwkgICAgfQorCSAgICBkZWZhdWx0OgorCQlicmVhazsKKwl9CisgICAgfQorICAgIHJldHVybiAoMCk7Cit9CisKKyNkZWZpbmUgYm90dG9tX3RyZWUKKyNpbmNsdWRlICJlbGZnY2NoYWNrLmgiCmRpZmYgLS1naXQgYS9saWJ4bWwyL3RyaW8uYyBiL2xpYnhtbDIvdHJpby5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM4YjljODQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3RyaW8uYwpAQCAtMCwwICsxLDY4OTUgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogJElkJAorICoKKyAqIENvcHlyaWdodCAoQykgMTk5OCBCam9ybiBSZWVzZSBhbmQgRGFuaWVsIFN0ZW5iZXJnLgorICoKKyAqIFBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZCBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgZm9yIGFueQorICogcHVycG9zZSB3aXRoIG9yIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLCBwcm92aWRlZCB0aGF0IHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBhcHBlYXIgaW4gYWxsIGNvcGllcy4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIGBgQVMgSVMnJyBBTkQgV0lUSE9VVCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVECisgKiBXQVJSQU5USUVTLCBJTkNMVURJTkcsIFdJVEhPVVQgTElNSVRBVElPTiwgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorICogTUVSQ0hBTlRJQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gVEhFIEFVVEhPUlMgQU5ECisgKiBDT05UUklCVVRPUlMgQUNDRVBUIE5PIFJFU1BPTlNJQklMSVRZIElOIEFOWSBDT05DRUlWQUJMRSBNQU5ORVIuCisgKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBBIG5vdGUgdG8gdHJpbyBjb250cmlidXRvcnM6CisgKgorICogQXZvaWQgaGVhcCBhbGxvY2F0aW9uIGF0IGFsbCBjb3N0cyB0byBlbnN1cmUgdGhhdCB0aGUgdHJpbyBmdW5jdGlvbnMKKyAqIGFyZSBhc3luYy1zYWZlLiBUaGUgZXhjZXB0aW9ucyBhcmUgdGhlIHByaW50Zi9mcHJpbnRmIGZ1bmN0aW9ucywgd2hpY2gKKyAqIHVzZXMgZnB1dGMsIGFuZCB0aGUgYXNwcmludGYgZnVuY3Rpb25zIGFuZCB0aGUgPGFsbG9jPiBtb2RpZmllciwgd2hpY2gKKyAqIGJ5IGRlc2lnbiBhcmUgcmVxdWlyZWQgdG8gYWxsb2NhdGUgZm9ybSB0aGUgaGVhcC4KKyAqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKgorICogVE9ETzoKKyAqICAtIFNjYW4gaXMgcHJvYmFibHkgdG9vIHBlcm1pc3NpdmUgYWJvdXQgaXRzIG1vZGlmaWVycy4KKyAqICAtIEMgZXNjYXBlcyBpbiAlI1tdID8KKyAqICAtIE11bHRpYnl0ZSBjaGFyYWN0ZXJzIChkb25lIGZvciBmb3JtYXQgcGFyc2luZywgZXhjZXB0IHNjYW4gZ3JvdXBzKQorICogIC0gQ29tcGxleCBudW1iZXJzPyAoQzk5IF9Db21wbGV4KQorICogIC0gQm9vbGVhbiB2YWx1ZXM/IChDOTkgX0Jvb2wpCisgKiAgLSBDOTkgTmFOKG4tY2hhci1zZXF1ZW5jZSkgbWlzc2luZy4gVGhlIG4tY2hhci1zZXF1ZW5jZSBjYW4gYmUgdXNlZAorICogICAgdG8gcHJpbnQgdGhlIG1hbnRpc3NhLCBlLmcuIE5hTigweGMwMDAwMDAwMDAwMDAwMDApCisgKiAgLSBTaG91bGQgd2Ugc3VwcG9ydCB0aGUgR05VICVhIGFsbG9jIG1vZGlmaWVyPyBHTlUgaGFzIGFuIHVnbHkgaGFjaworICogICAgZm9yICVhLCBiZWNhdXNlIEM5OSB1c2VkICVhIGZvciBvdGhlciBwdXJwb3Nlcy4gSWYgc3BlY2lmaWVkIGFzCisgKiAgICAlYXMgb3IgJWFbIGl0IGlzIGludGVycHJldGVkIGFzIHRoZSBhbGxvYyBtb2RpZmllciwgb3RoZXJ3aXNlIGFzCisgKiAgICB0aGUgQzk5IGhleC1mbG9hdC4gVGhpcyBtZWFucyB0aGF0IHlvdSBjYW5ub3Qgc2NhbiAlYXMgYXMgYSBoZXgtZmxvYXQKKyAqICAgIGltbWVkaWF0ZWx5IGZvbGxvd2VkIGJ5IGFuICdzJy4KKyAqICAtIFNjYW5uaW5nIG9mIGNvbGxhdGluZyBzeW1ib2xzLgorICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBUcmlvIGluY2x1ZGUgZmlsZXMKKyAqLworI2luY2x1ZGUgInRyaW9kZWYuaCIKKyNpbmNsdWRlICJ0cmlvLmgiCisjaW5jbHVkZSAidHJpb3AuaCIKKyNpbmNsdWRlICJ0cmlvbmFuLmgiCisjaWYgIWRlZmluZWQoVFJJT19NSU5JTUFMKQorIyBpbmNsdWRlICJ0cmlvc3RyLmgiCisjZW5kaWYKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRGVmaW5pdGlvbnMKKyAqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2luY2x1ZGUgPG1hdGguaD4KKyNpbmNsdWRlIDxsaW1pdHMuaD4KKyNpbmNsdWRlIDxmbG9hdC5oPgorCisjaWYgKGRlZmluZWQoX19TVERDX0lTT18xMDY0Nl9fKSB8fCBkZWZpbmVkKE1CX0xFTl9NQVgpIFwKKyAgICAgfHwgZGVmaW5lZChVU0VfTVVMVElCWVRFKSB8fCBUUklPX1dJREVDSEFSKSBcCisgICAgJiYgIWRlZmluZWQoX1dJTjMyX1dDRSkKKyMgZGVmaW5lIFRSSU9fQ09NUElMRVJfU1VQUE9SVFNfTVVMVElCWVRFCisjIGlmICFkZWZpbmVkKE1CX0xFTl9NQVgpCisjICBkZWZpbmUgTUJfTEVOX01BWCA2CisjIGVuZGlmCisjZW5kaWYKKworI2lmIChkZWZpbmVkKFRSSU9fQ09NUElMRVJfTVNWQykgJiYgKF9NU0NfVkVSID49IDExMDApKSB8fCBkZWZpbmVkKFRSSU9fQ09NUElMRVJfQkNCKQorIyBkZWZpbmUgVFJJT19DT01QSUxFUl9TVVBQT1JUU19NU1ZDX0lOVAorI2VuZGlmCisKKyNpZiBkZWZpbmVkKF9XSU4zMl9XQ0UpCisjaW5jbHVkZSA8d2luY2Vjb21wYXQuaD4KKyNlbmRpZgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogR2VuZXJpYyBkZWZpbml0aW9ucworICovCisKKyNpZiAhKGRlZmluZWQoREVCVUcpIHx8IGRlZmluZWQoTkRFQlVHKSkKKyMgZGVmaW5lIE5ERUJVRworI2VuZGlmCisKKyNpbmNsdWRlIDxhc3NlcnQuaD4KKyNpbmNsdWRlIDxjdHlwZS5oPgorI2lmICFkZWZpbmVkKFRSSU9fQ09NUElMRVJfU1VQUE9SVFNfQzk5KQorIyBkZWZpbmUgaXNibGFuayh4KSAoKCh4KT09MzIpIHx8ICgoeCk9PTkpKQorI2VuZGlmCisjaWYgZGVmaW5lZChUUklPX0NPTVBJTEVSX0FOQ0lFTlQpCisjIGluY2x1ZGUgPHZhcmFyZ3MuaD4KKyNlbHNlCisjIGluY2x1ZGUgPHN0ZGFyZy5oPgorI2VuZGlmCisjaW5jbHVkZSA8c3RkZGVmLmg+CisKKyNpZiBkZWZpbmVkKCBIQVZFX0VSUk5PX0ggKSB8fCBkZWZpbmVkKCBfX1ZNUyApCisjaW5jbHVkZSA8ZXJybm8uaD4KKyNlbmRpZgorCisjaWZuZGVmIE5VTEwKKyMgZGVmaW5lIE5VTEwgMAorI2VuZGlmCisjZGVmaW5lIE5JTCAoKGNoYXIpMCkKKyNpZm5kZWYgRkFMU0UKKyMgZGVmaW5lIEZBTFNFICgxID09IDApCisjIGRlZmluZSBUUlVFICghIEZBTFNFKQorI2VuZGlmCisjZGVmaW5lIEJPT0xFQU5fVCBpbnQKKworLyogbWluY29yZSgpIGNhbiBiZSB1c2VkIGZvciBkZWJ1Z2dpbmcgcHVycG9zZXMgKi8KKyNkZWZpbmUgVkFMSUQoeCkgKE5VTEwgIT0gKHgpKQorCisjaWYgVFJJT19FUlJPUlMKKyAgLyoKKyAgICogRW5jb2RlIHRoZSBlcnJvciBjb2RlIGFuZCB0aGUgcG9zaXRpb24uIFRoaXMgaXMgZGVjb2RlZAorICAgKiB3aXRoIFRSSU9fRVJST1JfQ09ERSBhbmQgVFJJT19FUlJPUl9QT1NJVElPTi4KKyAgICovCisjIGRlZmluZSBUUklPX0VSUk9SX1JFVFVSTih4LHkpICgtICgoeCkgKyAoKHkpIDw8IDgpKSkKKyNlbHNlCisjIGRlZmluZSBUUklPX0VSUk9SX1JFVFVSTih4LHkpICgtMSkKKyNlbmRpZgorCisjaWZuZGVmIFZBX0xJU1RfSVNfQVJSQVkKKyNkZWZpbmUgVFJJT19WQV9MSVNUX1BUUgl2YV9saXN0ICoKKyNkZWZpbmUgVFJJT19WQV9MSVNUX0FERFIobCkJKCYobCkpCisjZGVmaW5lIFRSSU9fVkFfTElTVF9ERVJFRihsKQkoKihsKSkKKyNlbHNlCisjZGVmaW5lIFRSSU9fVkFfTElTVF9QVFIJdmFfbGlzdAorI2RlZmluZSBUUklPX1ZBX0xJU1RfQUREUihsKQkobCkKKyNkZWZpbmUgVFJJT19WQV9MSVNUX0RFUkVGKGwpCShsKQorI2VuZGlmCisKK3R5cGVkZWYgdW5zaWduZWQgbG9uZyB0cmlvX2ZsYWdzX3Q7CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFBsYXRmb3JtIHNwZWNpZmljIGRlZmluaXRpb25zCisgKi8KKyNpZiBkZWZpbmVkKFRSSU9fUExBVEZPUk1fVU5JWCkgfHwgZGVmaW5lZChUUklPX1BMQVRGT1JNX09TNDAwKQorIyBpbmNsdWRlIDx1bmlzdGQuaD4KKyMgaW5jbHVkZSA8c2lnbmFsLmg+CisjIGluY2x1ZGUgPGxvY2FsZS5oPgorIyBkZWZpbmUgVVNFX0xPQ0FMRQorI2VuZGlmIC8qIFRSSU9fUExBVEZPUk1fVU5JWCAqLworI2lmIGRlZmluZWQoVFJJT19QTEFURk9STV9WTVMpCisjIGluY2x1ZGUgPHVuaXN0ZC5oPgorI2VuZGlmCisjaWYgZGVmaW5lZChUUklPX1BMQVRGT1JNX1dJTjMyKQorIyBpZiBkZWZpbmVkKF9XSU4zMl9XQ0UpCisjICBpbmNsdWRlIDx3aW5jZWNvbXBhdC5oPgorIyBlbHNlCisjICBpbmNsdWRlIDxpby5oPgorIyAgZGVmaW5lIHJlYWQgX3JlYWQKKyMgIGRlZmluZSB3cml0ZSBfd3JpdGUKKyMgZW5kaWYKKyNlbmRpZiAvKiBUUklPX1BMQVRGT1JNX1dJTjMyICovCisKKyNpZiBUUklPX1dJREVDSEFSCisjIGlmIGRlZmluZWQoVFJJT19DT01QSUxFUl9TVVBQT1JUU19JU085NCkKKyMgIGluY2x1ZGUgPHdjaGFyLmg+CisjICBpbmNsdWRlIDx3Y3R5cGUuaD4KK3R5cGVkZWYgd2NoYXJfdCB0cmlvX3djaGFyX3Q7Cit0eXBlZGVmIHdpbnRfdCB0cmlvX3dpbnRfdDsKKyMgZWxzZQordHlwZWRlZiBjaGFyIHRyaW9fd2NoYXJfdDsKK3R5cGVkZWYgaW50IHRyaW9fd2ludF90OworIyAgZGVmaW5lIFdDT05TVCh4KSBMICMjIHgKKyMgIGRlZmluZSBXRU9GIEVPRgorIyAgZGVmaW5lIGlzd2FsbnVtKHgpIGlzYWxudW0oeCkKKyMgIGRlZmluZSBpc3dhbHBoYSh4KSBpc2FscGhhKHgpCisjICBkZWZpbmUgaXN3YmxhbmsoeCkgaXNibGFuayh4KQorIyAgZGVmaW5lIGlzd2NudHJsKHgpIGlzY250cmwoeCkKKyMgIGRlZmluZSBpc3dkaWdpdCh4KSBpc2RpZ2l0KHgpCisjICBkZWZpbmUgaXN3Z3JhcGgoeCkgaXNncmFwaCh4KQorIyAgZGVmaW5lIGlzd2xvd2VyKHgpIGlzbG93ZXIoeCkKKyMgIGRlZmluZSBpc3dwcmludCh4KSBpc3ByaW50KHgpCisjICBkZWZpbmUgaXN3cHVuY3QoeCkgaXNwdW5jdCh4KQorIyAgZGVmaW5lIGlzd3NwYWNlKHgpIGlzc3BhY2UoeCkKKyMgIGRlZmluZSBpc3d1cHBlcih4KSBpc3VwcGVyKHgpCisjICBkZWZpbmUgaXN3eGRpZ2l0KHgpIGlzeGRpZ2l0KHgpCisjIGVuZGlmCisjZW5kaWYKKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29tcGlsZXIgZGVwZW5kZW50IGRlZmluaXRpb25zCisgKi8KKworLyogU3VwcG9ydCBmb3IgbG9uZyBsb25nICovCisjaWZuZGVmIF9fY3BsdXNwbHVzCisjIGlmICFkZWZpbmVkKFVTRV9MT05HTE9ORykKKyMgIGlmIGRlZmluZWQoVFJJT19DT01QSUxFUl9HQ0MpICYmICFkZWZpbmVkKF9fU1RSSUNUX0FOU0lfXykKKyMgICBkZWZpbmUgVVNFX0xPTkdMT05HCisjICBlbGlmIGRlZmluZWQoVFJJT19DT01QSUxFUl9TVU5QUk8pCisjICAgZGVmaW5lIFVTRV9MT05HTE9ORworIyAgZWxpZiBkZWZpbmVkKF9MT05HX0xPTkcpIHx8IGRlZmluZWQoX0xPTkdMT05HKQorIyAgIGRlZmluZSBVU0VfTE9OR0xPTkcKKyMgIGVuZGlmCisjIGVuZGlmCisjZW5kaWYKKworLyogVGhlIGV4dHJhIGxvbmcgbnVtYmVycyAqLworI2lmIGRlZmluZWQoVVNFX0xPTkdMT05HKQordHlwZWRlZiBzaWduZWQgbG9uZyBsb25nIGludCB0cmlvX2xvbmdsb25nX3Q7Cit0eXBlZGVmIHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQgdHJpb191bG9uZ2xvbmdfdDsKKyNlbGlmIGRlZmluZWQoVFJJT19DT01QSUxFUl9TVVBQT1JUU19NU1ZDX0lOVCkKK3R5cGVkZWYgc2lnbmVkIF9faW50NjQgdHJpb19sb25nbG9uZ190OwordHlwZWRlZiB1bnNpZ25lZCBfX2ludDY0IHRyaW9fdWxvbmdsb25nX3Q7CisjZWxzZQordHlwZWRlZiBUUklPX1NJR05FRCBsb25nIGludCB0cmlvX2xvbmdsb25nX3Q7Cit0eXBlZGVmIHVuc2lnbmVkIGxvbmcgaW50IHRyaW9fdWxvbmdsb25nX3Q7CisjZW5kaWYKKworLyogTWF4aW1hbCBhbmQgZml4ZWQgaW50ZWdlciB0eXBlcyAqLworI2lmIGRlZmluZWQoVFJJT19DT01QSUxFUl9TVVBQT1JUU19DOTkpICYmICFkZWZpbmVkKCBfX1ZNUyApCisjIGluY2x1ZGUgPHN0ZGludC5oPgordHlwZWRlZiBpbnRtYXhfdCB0cmlvX2ludG1heF90OwordHlwZWRlZiB1aW50bWF4X3QgdHJpb191aW50bWF4X3Q7Cit0eXBlZGVmIGludDhfdCB0cmlvX2ludDhfdDsKK3R5cGVkZWYgaW50MTZfdCB0cmlvX2ludDE2X3Q7Cit0eXBlZGVmIGludDMyX3QgdHJpb19pbnQzMl90OwordHlwZWRlZiBpbnQ2NF90IHRyaW9faW50NjRfdDsKKyNlbGlmIGRlZmluZWQoVFJJT19DT01QSUxFUl9TVVBQT1JUU19VTklYOTgpIHx8IGRlZmluZWQoIF9fVk1TICkKKyMgaW5jbHVkZSA8aW50dHlwZXMuaD4KKyNpZmRlZiBfX1ZNUwordHlwZWRlZiBsb25nIGxvbmcgaW50ICAgICAgICAgIGludG1heF90OwordHlwZWRlZiB1bnNpZ25lZCBsb25nIGxvbmcgaW50IHVpbnRtYXhfdDsKKyNlbmRpZgordHlwZWRlZiBpbnRtYXhfdCB0cmlvX2ludG1heF90OwordHlwZWRlZiB1aW50bWF4X3QgdHJpb191aW50bWF4X3Q7Cit0eXBlZGVmIGludDhfdCB0cmlvX2ludDhfdDsKK3R5cGVkZWYgaW50MTZfdCB0cmlvX2ludDE2X3Q7Cit0eXBlZGVmIGludDMyX3QgdHJpb19pbnQzMl90OwordHlwZWRlZiBpbnQ2NF90IHRyaW9faW50NjRfdDsKKyNlbGlmIGRlZmluZWQoVFJJT19DT01QSUxFUl9TVVBQT1JUU19NU1ZDX0lOVCkKK3R5cGVkZWYgdHJpb19sb25nbG9uZ190IHRyaW9faW50bWF4X3Q7Cit0eXBlZGVmIHRyaW9fdWxvbmdsb25nX3QgdHJpb191aW50bWF4X3Q7Cit0eXBlZGVmIF9faW50OCB0cmlvX2ludDhfdDsKK3R5cGVkZWYgX19pbnQxNiB0cmlvX2ludDE2X3Q7Cit0eXBlZGVmIF9faW50MzIgdHJpb19pbnQzMl90OwordHlwZWRlZiBfX2ludDY0IHRyaW9faW50NjRfdDsKKyNlbHNlCit0eXBlZGVmIHRyaW9fbG9uZ2xvbmdfdCB0cmlvX2ludG1heF90OwordHlwZWRlZiB0cmlvX3Vsb25nbG9uZ190IHRyaW9fdWludG1heF90OworIyBpZiBkZWZpbmVkKFRSSU9fSU5UOF9UKQordHlwZWRlZiBUUklPX0lOVDhfVCB0cmlvX2ludDhfdDsKKyMgZWxzZQordHlwZWRlZiBUUklPX1NJR05FRCBjaGFyIHRyaW9faW50OF90OworIyBlbmRpZgorIyBpZiBkZWZpbmVkKFRSSU9fSU5UMTZfVCkKK3R5cGVkZWYgVFJJT19JTlQxNl9UIHRyaW9faW50MTZfdDsKKyMgZWxzZQordHlwZWRlZiBUUklPX1NJR05FRCBzaG9ydCB0cmlvX2ludDE2X3Q7CisjIGVuZGlmCisjIGlmIGRlZmluZWQoVFJJT19JTlQzMl9UKQordHlwZWRlZiBUUklPX0lOVDMyX1QgdHJpb19pbnQzMl90OworIyBlbHNlCit0eXBlZGVmIFRSSU9fU0lHTkVEIGludCB0cmlvX2ludDMyX3Q7CisjIGVuZGlmCisjIGlmIGRlZmluZWQoVFJJT19JTlQ2NF9UKQordHlwZWRlZiBUUklPX0lOVDY0X1QgdHJpb19pbnQ2NF90OworIyBlbHNlCit0eXBlZGVmIHRyaW9fbG9uZ2xvbmdfdCB0cmlvX2ludDY0X3Q7CisjIGVuZGlmCisjZW5kaWYKKworI2lmICghKGRlZmluZWQoVFJJT19DT01QSUxFUl9TVVBQT1JUU19DOTkpIFwKKyB8fCBkZWZpbmVkKFRSSU9fQ09NUElMRVJfU1VQUE9SVFNfVU5JWDAxKSkpIFwKKyAmJiAhZGVmaW5lZChfV0lOMzJfV0NFKQorIyBkZWZpbmUgZmxvb3JsKHgpIGZsb29yKChkb3VibGUpKHgpKQorIyBkZWZpbmUgZm1vZGwoeCx5KSBmbW9kKChkb3VibGUpKHgpLChkb3VibGUpKHkpKQorIyBkZWZpbmUgcG93bCh4LHkpIHBvdygoZG91YmxlKSh4KSwoZG91YmxlKSh5KSkKKyNlbmRpZgorCisjZGVmaW5lIFRSSU9fRkFCUyh4KSAoKCh4KSA8IDAuMCkgPyAtKHgpIDogKHgpKQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogSW50ZXJuYWwgRGVmaW5pdGlvbnMKKyAqLworCisjaWZuZGVmIERFQ0lNQUxfRElHCisjIGRlZmluZSBERUNJTUFMX0RJRyBEQkxfRElHCisjZW5kaWYKKworLyogTG9uZyBkb3VibGUgc2l6ZXMgKi8KKyNpZmRlZiBMREJMX0RJRworIyBkZWZpbmUgTUFYX01BTlRJU1NBX0RJR0lUUyBMREJMX0RJRworIyBkZWZpbmUgTUFYX0VYUE9ORU5UX0RJR0lUUyA0CisjIGRlZmluZSBNQVhfRE9VQkxFX0RJR0lUUyBMREJMX01BWF8xMF9FWFAKKyNlbHNlCisjIGRlZmluZSBNQVhfTUFOVElTU0FfRElHSVRTIERFQ0lNQUxfRElHCisjIGRlZmluZSBNQVhfRVhQT05FTlRfRElHSVRTIDMKKyMgZGVmaW5lIE1BWF9ET1VCTEVfRElHSVRTIERCTF9NQVhfMTBfRVhQCisjZW5kaWYKKworI2lmIGRlZmluZWQoVFJJT19DT01QSUxFUl9BTkNJRU5UKSB8fCAhZGVmaW5lZChMREJMX0RJRykKKyMgdW5kZWYgTERCTF9ESUcKKyMgdW5kZWYgTERCTF9NQU5UX0RJRworIyB1bmRlZiBMREJMX0VQU0lMT04KKyMgZGVmaW5lIExEQkxfRElHIERCTF9ESUcKKyMgZGVmaW5lIExEQkxfTUFOVF9ESUcgREJMX01BTlRfRElHCisjIGRlZmluZSBMREJMX0VQU0lMT04gREJMX0VQU0lMT04KKyNlbmRpZgorCisvKiBUaGUgbWF4aW1hbCBudW1iZXIgb2YgZGlnaXRzIGlzIGZvciBiYXNlIDIgKi8KKyNkZWZpbmUgTUFYX0NIQVJTX0lOKHgpIChzaXplb2YoeCkgKiBDSEFSX0JJVCkKKy8qIFRoZSB3aWR0aCBvZiBhIHBvaW50ZXIuIFRoZSBudW1iZXIgb2YgYml0cyBpbiBhIGhleCBkaWdpdCBpcyA0ICovCisjZGVmaW5lIFBPSU5URVJfV0lEVEggKChzaXplb2YoIjB4IikgLSAxKSArIHNpemVvZih0cmlvX3BvaW50ZXJfdCkgKiBDSEFSX0JJVCAvIDQpCisKKy8qIEluZmluaXRlIGFuZCBOb3QtQS1OdW1iZXIgZm9yIGZsb2F0aW5nLXBvaW50ICovCisjZGVmaW5lIElORklOSVRFX0xPV0VSICJpbmYiCisjZGVmaW5lIElORklOSVRFX1VQUEVSICJJTkYiCisjZGVmaW5lIExPTkdfSU5GSU5JVEVfTE9XRVIgImluZmluaXRlIgorI2RlZmluZSBMT05HX0lORklOSVRFX1VQUEVSICJJTkZJTklURSIKKyNkZWZpbmUgTkFOX0xPV0VSICJuYW4iCisjZGVmaW5lIE5BTl9VUFBFUiAiTkFOIgorCisjaWYgIWRlZmluZWQoSEFWRV9JU0FTQ0lJKSAmJiAhZGVmaW5lZChpc2FzY2lpKQorI2lmbmRlZiBfX1ZNUworIyBkZWZpbmUgaXNhc2NpaSh4KSAoKHVuc2lnbmVkIGludCkoeCkgPCAxMjgpCisjZW5kaWYKKyNlbmRpZgorCisvKiBWYXJpb3VzIGNvbnN0YW50cyAqLworZW51bSB7CisgIFRZUEVfUFJJTlQgPSAxLAorICBUWVBFX1NDQU4gID0gMiwKKworICAvKiBGbGFncy4gRkxBR1NfTEFTVCBtdXN0IGJlIGxlc3MgdGhhbiBVTE9OR19NQVggKi8KKyAgRkxBR1NfTkVXICAgICAgICAgICAgICAgICA9IDAsCisgIEZMQUdTX1NUSUNLWSAgICAgICAgICAgICAgPSAxLAorICBGTEFHU19TUEFDRSAgICAgICAgICAgICAgID0gMiAqIEZMQUdTX1NUSUNLWSwKKyAgRkxBR1NfU0hPV1NJR04gICAgICAgICAgICA9IDIgKiBGTEFHU19TUEFDRSwKKyAgRkxBR1NfTEVGVEFESlVTVCAgICAgICAgICA9IDIgKiBGTEFHU19TSE9XU0lHTiwKKyAgRkxBR1NfQUxURVJOQVRJVkUgICAgICAgICA9IDIgKiBGTEFHU19MRUZUQURKVVNULAorICBGTEFHU19TSE9SVCAgICAgICAgICAgICAgID0gMiAqIEZMQUdTX0FMVEVSTkFUSVZFLAorICBGTEFHU19TSE9SVFNIT1JUICAgICAgICAgID0gMiAqIEZMQUdTX1NIT1JULAorICBGTEFHU19MT05HICAgICAgICAgICAgICAgID0gMiAqIEZMQUdTX1NIT1JUU0hPUlQsCisgIEZMQUdTX1FVQUQgICAgICAgICAgICAgICAgPSAyICogRkxBR1NfTE9ORywKKyAgRkxBR1NfTE9OR0RPVUJMRSAgICAgICAgICA9IDIgKiBGTEFHU19RVUFELAorICBGTEFHU19TSVpFX1QgICAgICAgICAgICAgID0gMiAqIEZMQUdTX0xPTkdET1VCTEUsCisgIEZMQUdTX1BUUkRJRkZfVCAgICAgICAgICAgPSAyICogRkxBR1NfU0laRV9ULAorICBGTEFHU19JTlRNQVhfVCAgICAgICAgICAgID0gMiAqIEZMQUdTX1BUUkRJRkZfVCwKKyAgRkxBR1NfTklMUEFERElORyAgICAgICAgICA9IDIgKiBGTEFHU19JTlRNQVhfVCwKKyAgRkxBR1NfVU5TSUdORUQgICAgICAgICAgICA9IDIgKiBGTEFHU19OSUxQQURESU5HLAorICBGTEFHU19VUFBFUiAgICAgICAgICAgICAgID0gMiAqIEZMQUdTX1VOU0lHTkVELAorICBGTEFHU19XSURUSCAgICAgICAgICAgICAgID0gMiAqIEZMQUdTX1VQUEVSLAorICBGTEFHU19XSURUSF9QQVJBTUVURVIgICAgID0gMiAqIEZMQUdTX1dJRFRILAorICBGTEFHU19QUkVDSVNJT04gICAgICAgICAgID0gMiAqIEZMQUdTX1dJRFRIX1BBUkFNRVRFUiwKKyAgRkxBR1NfUFJFQ0lTSU9OX1BBUkFNRVRFUiA9IDIgKiBGTEFHU19QUkVDSVNJT04sCisgIEZMQUdTX0JBU0UgICAgICAgICAgICAgICAgPSAyICogRkxBR1NfUFJFQ0lTSU9OX1BBUkFNRVRFUiwKKyAgRkxBR1NfQkFTRV9QQVJBTUVURVIgICAgICA9IDIgKiBGTEFHU19CQVNFLAorICBGTEFHU19GTE9BVF9FICAgICAgICAgICAgID0gMiAqIEZMQUdTX0JBU0VfUEFSQU1FVEVSLAorICBGTEFHU19GTE9BVF9HICAgICAgICAgICAgID0gMiAqIEZMQUdTX0ZMT0FUX0UsCisgIEZMQUdTX1FVT1RFICAgICAgICAgICAgICAgPSAyICogRkxBR1NfRkxPQVRfRywKKyAgRkxBR1NfV0lERUNIQVIgICAgICAgICAgICA9IDIgKiBGTEFHU19RVU9URSwKKyAgRkxBR1NfQUxMT0MgICAgICAgICAgICAgICA9IDIgKiBGTEFHU19XSURFQ0hBUiwKKyAgRkxBR1NfSUdOT1JFICAgICAgICAgICAgICA9IDIgKiBGTEFHU19BTExPQywKKyAgRkxBR1NfSUdOT1JFX1BBUkFNRVRFUiAgICA9IDIgKiBGTEFHU19JR05PUkUsCisgIEZMQUdTX1ZBUlNJWkVfUEFSQU1FVEVSICAgPSAyICogRkxBR1NfSUdOT1JFX1BBUkFNRVRFUiwKKyAgRkxBR1NfRklYRURfU0laRSAgICAgICAgICA9IDIgKiBGTEFHU19WQVJTSVpFX1BBUkFNRVRFUiwKKyAgRkxBR1NfTEFTVCAgICAgICAgICAgICAgICA9IEZMQUdTX0ZJWEVEX1NJWkUsCisgIC8qIFJldXNlZCBmbGFncyAqLworICBGTEFHU19FWENMVURFICAgICAgICAgICAgID0gRkxBR1NfU0hPUlQsCisgIEZMQUdTX1VTRVJfREVGSU5FRCAgICAgICAgPSBGTEFHU19JR05PUkUsCisgIEZMQUdTX1JPVU5ESU5HICAgICAgICAgICAgPSBGTEFHU19JTlRNQVhfVCwKKyAgLyogQ29tcG91bmRlZCBmbGFncyAqLworICBGTEFHU19BTExfVkFSU0laRVMgICAgICAgID0gRkxBR1NfTE9ORyB8IEZMQUdTX1FVQUQgfCBGTEFHU19JTlRNQVhfVCB8IEZMQUdTX1BUUkRJRkZfVCB8IEZMQUdTX1NJWkVfVCwKKyAgRkxBR1NfQUxMX1NJWkVTICAgICAgICAgICA9IEZMQUdTX0FMTF9WQVJTSVpFUyB8IEZMQUdTX1NIT1JUU0hPUlQgfCBGTEFHU19TSE9SVCwKKworICBOT19QT1NJVElPTiAgPSAtMSwKKyAgTk9fV0lEVEggICAgID0gIDAsCisgIE5PX1BSRUNJU0lPTiA9IC0xLAorICBOT19TSVpFICAgICAgPSAtMSwKKworICAvKiBEbyBub3QgY2hhbmdlIHRoZXNlICovCisgIE5PX0JBU0UgICAgICA9IC0xLAorICBNSU5fQkFTRSAgICAgPSAgMiwKKyAgTUFYX0JBU0UgICAgID0gMzYsCisgIEJBU0VfQklOQVJZICA9ICAyLAorICBCQVNFX09DVEFMICAgPSAgOCwKKyAgQkFTRV9ERUNJTUFMID0gMTAsCisgIEJBU0VfSEVYICAgICA9IDE2LAorCisgIC8qIE1heGltYWwgbnVtYmVyIG9mIGFsbG93ZWQgcGFyYW1ldGVycyAqLworICBNQVhfUEFSQU1FVEVSUyA9IDY0LAorICAvKiBNYXhpbWFsIG51bWJlciBvZiBjaGFyYWN0ZXJzIGluIGNsYXNzICovCisgIE1BWF9DSEFSQUNURVJfQ0xBU1MgPSBVQ0hBUl9NQVggKyAxLAorCisgIC8qIE1heGltYWwgc3RyaW5nIGxlbmd0aHMgZm9yIHVzZXItZGVmaW5lZCBzcGVjaWZpZXJzICovCisgIE1BWF9VU0VSX05BTUUgPSA2NCwKKyAgTUFYX1VTRVJfREFUQSA9IDI1NiwKKworICAvKiBNYXhpbWFsIGxlbmd0aCBvZiBsb2NhbGUgc2VwYXJhdG9yIHN0cmluZ3MgKi8KKyAgTUFYX0xPQ0FMRV9TRVBBUkFUT1JfTEVOR1RIID0gTUJfTEVOX01BWCwKKyAgLyogTWF4aW1hbCBudW1iZXIgb2YgaW50ZWdlcnMgaW4gZ3JvdXBpbmcgKi8KKyAgTUFYX0xPQ0FMRV9HUk9VUFMgPSA2NCwKKworICAvKiBJbml0aWFsIHNpemUgb2YgYXNwcmludGYgYnVmZmVyICovCisgIERZTkFNSUNfU1RBUlRfU0laRSA9IDMyCit9OworCisjZGVmaW5lIE5PX0dST1VQSU5HICgoaW50KUNIQVJfTUFYKQorCisvKiBGdW5kYW1lbnRhbCBmb3JtYXR0aW5nIHBhcmFtZXRlciB0eXBlcyAqLworI2RlZmluZSBGT1JNQVRfVU5LTk9XTiAgIDAKKyNkZWZpbmUgRk9STUFUX0lOVCAgICAgICAxCisjZGVmaW5lIEZPUk1BVF9ET1VCTEUgICAgMgorI2RlZmluZSBGT1JNQVRfQ0hBUiAgICAgIDMKKyNkZWZpbmUgRk9STUFUX1NUUklORyAgICA0CisjZGVmaW5lIEZPUk1BVF9QT0lOVEVSICAgNQorI2RlZmluZSBGT1JNQVRfQ09VTlQgICAgIDYKKyNkZWZpbmUgRk9STUFUX1BBUkFNRVRFUiA3CisjZGVmaW5lIEZPUk1BVF9HUk9VUCAgICAgOAorI2lmIFRSSU9fR05VCisjIGRlZmluZSBGT1JNQVRfRVJSTk8gICAgOQorI2VuZGlmCisjaWYgVFJJT19FWFRFTlNJT04KKyMgZGVmaW5lIEZPUk1BVF9VU0VSX0RFRklORUQgMTAKKyNlbmRpZgorCisvKiBDaGFyYWN0ZXIgY29uc3RhbnRzICovCisjZGVmaW5lIENIQVJfSURFTlRJRklFUiAnJScKKyNkZWZpbmUgQ0hBUl9CQUNLU0xBU0ggJ1xcJworI2RlZmluZSBDSEFSX1FVT1RFICdcIicKKyNkZWZpbmUgQ0hBUl9BREpVU1QgJyAnCisKKy8qIENoYXJhY3RlciBjbGFzcyBleHByZXNzaW9ucyAqLworI2RlZmluZSBDTEFTU19BTE5VTSAiWzphbG51bTpdIgorI2RlZmluZSBDTEFTU19BTFBIQSAiWzphbHBoYTpdIgorI2RlZmluZSBDTEFTU19CTEFOSyAiWzpibGFuazpdIgorI2RlZmluZSBDTEFTU19DTlRSTCAiWzpjbnRybDpdIgorI2RlZmluZSBDTEFTU19ESUdJVCAiWzpkaWdpdDpdIgorI2RlZmluZSBDTEFTU19HUkFQSCAiWzpncmFwaDpdIgorI2RlZmluZSBDTEFTU19MT1dFUiAiWzpsb3dlcjpdIgorI2RlZmluZSBDTEFTU19QUklOVCAiWzpwcmludDpdIgorI2RlZmluZSBDTEFTU19QVU5DVCAiWzpwdW5jdDpdIgorI2RlZmluZSBDTEFTU19TUEFDRSAiWzpzcGFjZTpdIgorI2RlZmluZSBDTEFTU19VUFBFUiAiWzp1cHBlcjpdIgorI2RlZmluZSBDTEFTU19YRElHSVQgIls6eGRpZ2l0Ol0iCisKKy8qCisgKiBTUEVDSUZJRVJTOgorICoKKyAqCisgKiBhICBIZXgtZmxvYXQKKyAqIEEgIEhleC1mbG9hdAorICogYyAgQ2hhcmFjdGVyCisgKiBDICBXaWRlY2hhciBjaGFyYWN0ZXIgKHdpbnRfdCkKKyAqIGQgIERlY2ltYWwKKyAqIGUgIEZsb2F0CisgKiBFICBGbG9hdAorICogRiAgRmxvYXQKKyAqIEYgIEZsb2F0CisgKiBnICBGbG9hdAorICogRyAgRmxvYXQKKyAqIGkgIEludGVnZXIKKyAqIG0gIEVycm9yIG1lc3NhZ2UKKyAqIG4gIENvdW50CisgKiBvICBPY3RhbAorICogcCAgUG9pbnRlcgorICogcyAgU3RyaW5nCisgKiBTICBXaWRlY2hhciBzdHJpbmcgKHdjaGFyX3QgKikKKyAqIHUgIFVuc2lnbmVkCisgKiB4ICBIZXgKKyAqIFggIEhleAorICogW10gR3JvdXAKKyAqIDw+IFVzZXItZGVmaW5lZAorICoKKyAqIFJlc2VydmVkOgorICoKKyAqIEQgIEJpbmFyeSBDb2RlZCBEZWNpbWFsICVEKGxlbmd0aCxwcmVjaXNpb24pIChPUy8zOTApCisgKi8KKyNkZWZpbmUgU1BFQ0lGSUVSX0NIQVIgJ2MnCisjZGVmaW5lIFNQRUNJRklFUl9TVFJJTkcgJ3MnCisjZGVmaW5lIFNQRUNJRklFUl9ERUNJTUFMICdkJworI2RlZmluZSBTUEVDSUZJRVJfSU5URUdFUiAnaScKKyNkZWZpbmUgU1BFQ0lGSUVSX1VOU0lHTkVEICd1JworI2RlZmluZSBTUEVDSUZJRVJfT0NUQUwgJ28nCisjZGVmaW5lIFNQRUNJRklFUl9IRVggJ3gnCisjZGVmaW5lIFNQRUNJRklFUl9IRVhfVVBQRVIgJ1gnCisjZGVmaW5lIFNQRUNJRklFUl9GTE9BVF9FICdlJworI2RlZmluZSBTUEVDSUZJRVJfRkxPQVRfRV9VUFBFUiAnRScKKyNkZWZpbmUgU1BFQ0lGSUVSX0ZMT0FUX0YgJ2YnCisjZGVmaW5lIFNQRUNJRklFUl9GTE9BVF9GX1VQUEVSICdGJworI2RlZmluZSBTUEVDSUZJRVJfRkxPQVRfRyAnZycKKyNkZWZpbmUgU1BFQ0lGSUVSX0ZMT0FUX0dfVVBQRVIgJ0cnCisjZGVmaW5lIFNQRUNJRklFUl9QT0lOVEVSICdwJworI2RlZmluZSBTUEVDSUZJRVJfR1JPVVAgJ1snCisjZGVmaW5lIFNQRUNJRklFUl9VTkdST1VQICddJworI2RlZmluZSBTUEVDSUZJRVJfQ09VTlQgJ24nCisjaWYgVFJJT19VTklYOTgKKyMgZGVmaW5lIFNQRUNJRklFUl9DSEFSX1VQUEVSICdDJworIyBkZWZpbmUgU1BFQ0lGSUVSX1NUUklOR19VUFBFUiAnUycKKyNlbmRpZgorI2lmIFRSSU9fQzk5CisjIGRlZmluZSBTUEVDSUZJRVJfSEVYRkxPQVQgJ2EnCisjIGRlZmluZSBTUEVDSUZJRVJfSEVYRkxPQVRfVVBQRVIgJ0EnCisjZW5kaWYKKyNpZiBUUklPX0dOVQorIyBkZWZpbmUgU1BFQ0lGSUVSX0VSUk5PICdtJworI2VuZGlmCisjaWYgVFJJT19FWFRFTlNJT04KKyMgZGVmaW5lIFNQRUNJRklFUl9CSU5BUlkgJ2InCisjIGRlZmluZSBTUEVDSUZJRVJfQklOQVJZX1VQUEVSICdCJworIyBkZWZpbmUgU1BFQ0lGSUVSX1VTRVJfREVGSU5FRF9CRUdJTiAnPCcKKyMgZGVmaW5lIFNQRUNJRklFUl9VU0VSX0RFRklORURfRU5EICc+JworIyBkZWZpbmUgU1BFQ0lGSUVSX1VTRVJfREVGSU5FRF9TRVBBUkFUT1IgJzonCisjZW5kaWYKKworLyoKKyAqIFFVQUxJRklFUlM6CisgKgorICoKKyAqIE51bWJlcnMgPSBkLGksbyx1LHgsWAorICogRmxvYXQgPSBhLEEsZSxFLGYsRixnLEcKKyAqIFN0cmluZyA9IHMKKyAqIENoYXIgPSBjCisgKgorICoKKyAqIDkkIFBvc2l0aW9uCisgKiAgICAgIFVzZSB0aGUgOXRoIHBhcmFtZXRlci4gOSBjYW4gYmUgYW55IG51bWJlciBiZXR3ZWVuIDEgYW5kCisgKiAgICAgIHRoZSBtYXhpbWFsIGFyZ3VtZW50CisgKgorICogOSBXaWR0aAorICogICAgICBTZXQgd2lkdGggdG8gOS4gOSBjYW4gYmUgYW55IG51bWJlciwgYnV0IG11c3Qgbm90IGJlIHBvc3RmaXhlZAorICogICAgICBieSAnJCcKKyAqCisgKiBoICBTaG9ydAorICogICAgTnVtYmVyczoKKyAqICAgICAgKHVuc2lnbmVkKSBzaG9ydCBpbnQKKyAqCisgKiBoaCBTaG9ydCBzaG9ydAorICogICAgTnVtYmVyczoKKyAqICAgICAgKHVuc2lnbmVkKSBjaGFyCisgKgorICogbCAgTG9uZworICogICAgTnVtYmVyczoKKyAqICAgICAgKHVuc2lnbmVkKSBsb25nIGludAorICogICAgU3RyaW5nOgorICogICAgICBhcyB0aGUgUyBzcGVjaWZpZXIKKyAqICAgIENoYXI6CisgKiAgICAgIGFzIHRoZSBDIHNwZWNpZmllcgorICoKKyAqIGxsIExvbmcgTG9uZworICogICAgTnVtYmVyczoKKyAqICAgICAgKHVuc2lnbmVkKSBsb25nIGxvbmcgaW50CisgKgorICogTCAgTG9uZyBEb3VibGUKKyAqICAgIEZsb2F0CisgKiAgICAgIGxvbmcgZG91YmxlCisgKgorICogIyAgQWx0ZXJuYXRpdmUKKyAqICAgIEZsb2F0OgorICogICAgICBEZWNpbWFsLXBvaW50IGlzIGFsd2F5cyBwcmVzZW50CisgKiAgICBTdHJpbmc6CisgKiAgICAgIG5vbi1wcmludGFibGUgY2hhcmFjdGVycyBhcmUgaGFuZGxlZCBhcyBcbnVtYmVyCisgKgorICogICAgU3BhY2luZworICoKKyAqICsgIFNpZ24KKyAqCisgKiAtICBBbGlnbm1lbnQKKyAqCisgKiAuICBQcmVjaXNpb24KKyAqCisgKiAqICBQYXJhbWV0ZXIKKyAqICAgIHByaW50OiB1c2UgcGFyYW1ldGVyCisgKiAgICBzY2FuOiBubyBwYXJhbWV0ZXIgKGlnbm9yZSkKKyAqCisgKiBxICBRdWFkCisgKgorICogWiAgc2l6ZV90CisgKgorICogdyAgV2lkZWNoYXIKKyAqCisgKiAnICBUaG91c2FuZHMvcXVvdGUKKyAqICAgIE51bWJlcnM6CisgKiAgICAgIEludGVnZXIgcGFydCBncm91cGVkIGluIHRob3VzYW5kcworICogICAgQmluYXJ5IG51bWJlcnM6CisgKiAgICAgIE51bWJlciBncm91cGVkIGluIG5pYmJsZXMgKDQgYml0cykKKyAqICAgIFN0cmluZzoKKyAqICAgICAgUXVvdGVkIHN0cmluZworICoKKyAqIGogIGludG1heF90CisgKiB0ICBwcnRkaWZmX3QKKyAqIHogIHNpemVfdAorICoKKyAqICEgIFN0aWNreQorICogQCAgUGFyYW1ldGVyIChmb3IgYm90aCBwcmludCBhbmQgc2NhbikKKyAqCisgKiBJICBuLWJpdCBJbnRlZ2VyCisgKiAgICBOdW1iZXJzOgorICogICAgICBUaGUgZm9sbG93aW5nIG9wdGlvbnMgZXhpc3RzCisgKiAgICAgICAgSTggID0gOC1iaXQgaW50ZWdlcgorICogICAgICAgIEkxNiA9IDE2LWJpdCBpbnRlZ2VyCisgKiAgICAgICAgSTMyID0gMzItYml0IGludGVnZXIKKyAqICAgICAgICBJNjQgPSA2NC1iaXQgaW50ZWdlcgorICovCisjZGVmaW5lIFFVQUxJRklFUl9QT1NJVElPTiAnJCcKKyNkZWZpbmUgUVVBTElGSUVSX1NIT1JUICdoJworI2RlZmluZSBRVUFMSUZJRVJfTE9ORyAnbCcKKyNkZWZpbmUgUVVBTElGSUVSX0xPTkdfVVBQRVIgJ0wnCisjZGVmaW5lIFFVQUxJRklFUl9BTFRFUk5BVElWRSAnIycKKyNkZWZpbmUgUVVBTElGSUVSX1NQQUNFICcgJworI2RlZmluZSBRVUFMSUZJRVJfUExVUyAnKycKKyNkZWZpbmUgUVVBTElGSUVSX01JTlVTICctJworI2RlZmluZSBRVUFMSUZJRVJfRE9UICcuJworI2RlZmluZSBRVUFMSUZJRVJfU1RBUiAnKicKKyNkZWZpbmUgUVVBTElGSUVSX0NJUkNVTUZMRVggJ14nIC8qIEZvciBzY2FubGlzdHMgKi8KKyNpZiBUUklPX0M5OQorIyBkZWZpbmUgUVVBTElGSUVSX1NJWkVfVCAneicKKyMgZGVmaW5lIFFVQUxJRklFUl9QVFJESUZGX1QgJ3QnCisjIGRlZmluZSBRVUFMSUZJRVJfSU5UTUFYX1QgJ2onCisjZW5kaWYKKyNpZiBUUklPX0JTRCB8fCBUUklPX0dOVQorIyBkZWZpbmUgUVVBTElGSUVSX1FVQUQgJ3EnCisjZW5kaWYKKyNpZiBUUklPX0dOVQorIyBkZWZpbmUgUVVBTElGSUVSX1NJWkVfVF9VUFBFUiAnWicKKyNlbmRpZgorI2lmIFRSSU9fTUlTQworIyBkZWZpbmUgUVVBTElGSUVSX1dJREVDSEFSICd3JworI2VuZGlmCisjaWYgVFJJT19NSUNST1NPRlQKKyMgZGVmaW5lIFFVQUxJRklFUl9GSVhFRF9TSVpFICdJJworI2VuZGlmCisjaWYgVFJJT19FWFRFTlNJT04KKyMgZGVmaW5lIFFVQUxJRklFUl9RVU9URSAnXCcnCisjIGRlZmluZSBRVUFMSUZJRVJfU1RJQ0tZICchJworIyBkZWZpbmUgUVVBTElGSUVSX1ZBUlNJWkUgJyYnIC8qIFRoaXMgc2hvdWxkIHJlbWFpbiB1bmRvY3VtZW50ZWQgKi8KKyMgZGVmaW5lIFFVQUxJRklFUl9QQVJBTSAnQCcgLyogRXhwZXJpbWVudGFsICovCisjIGRlZmluZSBRVUFMSUZJRVJfQ09MT04gJzonIC8qIEZvciBzY2FubGlzdHMgKi8KKyMgZGVmaW5lIFFVQUxJRklFUl9FUVVBTCAnPScgLyogRm9yIHNjYW5saXN0cyAqLworIyBkZWZpbmUgUVVBTElGSUVSX1JPVU5ESU5HX1VQUEVSICdSJworI2VuZGlmCisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBJbnRlcm5hbCBTdHJ1Y3R1cmVzCisgKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qIFBhcmFtZXRlcnMgKi8KK3R5cGVkZWYgc3RydWN0IHsKKyAgLyogQW4gaW5kaWNhdGlvbiBvZiB3aGljaCBlbnRyeSBpbiB0aGUgZGF0YSB1bmlvbiBpcyB1c2VkICovCisgIGludCB0eXBlOworICAvKiBUaGUgZmxhZ3MgKi8KKyAgdHJpb19mbGFnc190IGZsYWdzOworICAvKiBUaGUgd2lkdGggcXVhbGlmaWVyICovCisgIGludCB3aWR0aDsKKyAgLyogVGhlIHByZWNpc2lvbiBxdWFsaWZpZXIgKi8KKyAgaW50IHByZWNpc2lvbjsKKyAgLyogVGhlIGJhc2UgcXVhbGlmaWVyICovCisgIGludCBiYXNlOworICAvKiBUaGUgc2l6ZSBmb3IgdGhlIHZhcmlhYmxlIHNpemUgcXVhbGlmaWVyICovCisgIGludCB2YXJzaXplOworICAvKiBUaGUgbWFya2VyIG9mIHRoZSBlbmQgb2YgdGhlIHNwZWNpZmllciAqLworICBpbnQgaW5kZXhBZnRlclNwZWNpZmllcjsKKyAgLyogVGhlIGRhdGEgZnJvbSB0aGUgYXJndW1lbnQgbGlzdCAqLworICB1bmlvbiB7CisgICAgY2hhciAqc3RyaW5nOworI2lmIFRSSU9fV0lERUNIQVIKKyAgICB0cmlvX3djaGFyX3QgKndzdHJpbmc7CisjZW5kaWYKKyAgICB0cmlvX3BvaW50ZXJfdCBwb2ludGVyOworICAgIHVuaW9uIHsKKyAgICAgIHRyaW9faW50bWF4X3QgYXNfc2lnbmVkOworICAgICAgdHJpb191aW50bWF4X3QgYXNfdW5zaWduZWQ7CisgICAgfSBudW1iZXI7CisgICAgZG91YmxlIGRvdWJsZU51bWJlcjsKKyAgICBkb3VibGUgKmRvdWJsZVBvaW50ZXI7CisgICAgdHJpb19sb25nX2RvdWJsZV90IGxvbmdkb3VibGVOdW1iZXI7CisgICAgdHJpb19sb25nX2RvdWJsZV90ICpsb25nZG91YmxlUG9pbnRlcjsKKyAgICBpbnQgZXJyb3JOdW1iZXI7CisgIH0gZGF0YTsKKyAgLyogRm9yIHRoZSB1c2VyLWRlZmluZWQgc3BlY2lmaWVyICovCisgIGNoYXIgdXNlcl9uYW1lW01BWF9VU0VSX05BTUVdOworICBjaGFyIHVzZXJfZGF0YVtNQVhfVVNFUl9EQVRBXTsKK30gdHJpb19wYXJhbWV0ZXJfdDsKKworLyogQ29udGFpbmVyIGZvciBjdXN0b21pemVkIGZ1bmN0aW9ucyAqLwordHlwZWRlZiBzdHJ1Y3QgeworICB1bmlvbiB7CisgICAgdHJpb19vdXRzdHJlYW1fdCBvdXQ7CisgICAgdHJpb19pbnN0cmVhbV90IGluOworICB9IHN0cmVhbTsKKyAgdHJpb19wb2ludGVyX3QgY2xvc3VyZTsKK30gdHJpb19jdXN0b21fdDsKKworLyogR2VuZXJhbCB0cmlvICJjbGFzcyIgKi8KK3R5cGVkZWYgc3RydWN0IF90cmlvX2NsYXNzX3QgeworICAvKgorICAgKiBUaGUgZnVuY3Rpb24gdG8gd3JpdGUgY2hhcmFjdGVycyB0byBhIHN0cmVhbS4KKyAgICovCisgIHZvaWQgKCpPdXRTdHJlYW0pIFRSSU9fUFJPVE8oKHN0cnVjdCBfdHJpb19jbGFzc190ICosIGludCkpOworICAvKgorICAgKiBUaGUgZnVuY3Rpb24gdG8gcmVhZCBjaGFyYWN0ZXJzIGZyb20gYSBzdHJlYW0uCisgICAqLworICB2b2lkICgqSW5TdHJlYW0pIFRSSU9fUFJPVE8oKHN0cnVjdCBfdHJpb19jbGFzc190ICosIGludCAqKSk7CisgIC8qCisgICAqIFRoZSBjdXJyZW50IGxvY2F0aW9uIGluIHRoZSBzdHJlYW0uCisgICAqLworICB0cmlvX3BvaW50ZXJfdCBsb2NhdGlvbjsKKyAgLyoKKyAgICogVGhlIGNoYXJhY3RlciBjdXJyZW50bHkgYmVpbmcgcHJvY2Vzc2VkLgorICAgKi8KKyAgaW50IGN1cnJlbnQ7CisgIC8qCisgICAqIFRoZSBudW1iZXIgb2YgY2hhcmFjdGVycyB0aGF0IHdvdWxkIGhhdmUgYmVlbiB3cml0dGVuL3JlYWQKKyAgICogaWYgdGhlcmUgaGFkIGJlZW4gc3VmZmljaWVudCBzcGFjZS4KKyAgICovCisgIGludCBwcm9jZXNzZWQ7CisgIC8qCisgICAqIFRoZSBudW1iZXIgb2YgY2hhcmFjdGVycyB0aGF0IGFyZSBhY3R1YWxseSB3cml0dGVuL3JlYWQuCisgICAqIFByb2Nlc3NlZCBhbmQgY29tbWl0dGVkIHdpbGwgb25seSBkaWZmZXIgZm9yIHRoZSAqbnByaW50ZgorICAgKiBhbmQgKm5zY2FuZiBmdW5jdGlvbnMuCisgICAqLworICBpbnQgY29tbWl0dGVkOworICAvKgorICAgKiBUaGUgdXBwZXIgbGltaXQgb2YgY2hhcmFjdGVycyB0aGF0IG1heSBiZSB3cml0dGVuL3JlYWQuCisgICAqLworICBpbnQgbWF4OworICAvKgorICAgKiBUaGUgbGFzdCBvdXRwdXQgZXJyb3IgdGhhdCB3YXMgZGV0ZWN0ZWQuCisgICAqLworICBpbnQgZXJyb3I7Cit9IHRyaW9fY2xhc3NfdDsKKworLyogUmVmZXJlbmNlcyAoZm9yIHVzZXItZGVmaW5lZCBjYWxsYmFja3MpICovCit0eXBlZGVmIHN0cnVjdCBfdHJpb19yZWZlcmVuY2VfdCB7CisgIHRyaW9fY2xhc3NfdCAqZGF0YTsKKyAgdHJpb19wYXJhbWV0ZXJfdCAqcGFyYW1ldGVyOworfSB0cmlvX3JlZmVyZW5jZV90OworCisvKiBSZWdpc3RlcmVkIGVudHJpZXMgKGZvciB1c2VyLWRlZmluZWQgY2FsbGJhY2tzKSAqLwordHlwZWRlZiBzdHJ1Y3QgX3RyaW9fdXNlcmRlZl90IHsKKyAgc3RydWN0IF90cmlvX3VzZXJkZWZfdCAqbmV4dDsKKyAgdHJpb19jYWxsYmFja190IGNhbGxiYWNrOworICBjaGFyICpuYW1lOworfSB0cmlvX3VzZXJkZWZfdDsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBJbnRlcm5hbCBWYXJpYWJsZXMKKyAqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworc3RhdGljIFRSSU9fQ09OU1QgY2hhciByY3NpZFtdID0gIkAoIykkSWQkIjsKKworLyoKKyAqIE5lZWQgdGhpcyB0byB3b3JrYXJvdW5kIGEgcGFyc2VyIGJ1ZyBpbiBIUCBDL2lYIGNvbXBpbGVyIHRoYXQgZmFpbHMKKyAqIHRvIHJlc29sdmVzIG1hY3JvIGRlZmluaXRpb25zIHRoYXQgaW5jbHVkZXMgdHlwZSAnbG9uZyBkb3VibGUnLAorICogZS5nOiB2YV9hcmcoYXJnX3B0ciwgbG9uZyBkb3VibGUpCisgKi8KKyNpZiBkZWZpbmVkKFRSSU9fUExBVEZPUk1fTVBFSVgpCitzdGF0aWMgVFJJT19DT05TVCB0cmlvX2xvbmdfZG91YmxlX3QgX19fZHVtbXlfbG9uZ19kb3VibGUgPSAwOworI2VuZGlmCisKK3N0YXRpYyBUUklPX0NPTlNUIGNoYXIgaW50ZXJuYWxOdWxsU3RyaW5nW10gPSAiKG5pbCkiOworCisjaWYgZGVmaW5lZChVU0VfTE9DQUxFKQorc3RhdGljIHN0cnVjdCBsY29udiAqaW50ZXJuYWxMb2NhbGVWYWx1ZXMgPSBOVUxMOworI2VuZGlmCisKKy8qCisgKiBVTklYOTggc2F5cyAiaW4gYSBsb2NhbGUgd2hlcmUgdGhlIHJhZGl4IGNoYXJhY3RlciBpcyBub3QgZGVmaW5lZCwKKyAqIHRoZSByYWRpeCBjaGFyYWN0ZXIgZGVmYXVsdHMgdG8gYSBwZXJpb2QgKC4pIgorICovCitzdGF0aWMgaW50IGludGVybmFsRGVjaW1hbFBvaW50TGVuZ3RoID0gMTsKK3N0YXRpYyBpbnQgaW50ZXJuYWxUaG91c2FuZFNlcGFyYXRvckxlbmd0aCA9IDE7CitzdGF0aWMgY2hhciBpbnRlcm5hbERlY2ltYWxQb2ludCA9ICcuJzsKK3N0YXRpYyBjaGFyIGludGVybmFsRGVjaW1hbFBvaW50U3RyaW5nW01BWF9MT0NBTEVfU0VQQVJBVE9SX0xFTkdUSCArIDFdID0gIi4iOworc3RhdGljIGNoYXIgaW50ZXJuYWxUaG91c2FuZFNlcGFyYXRvcltNQVhfTE9DQUxFX1NFUEFSQVRPUl9MRU5HVEggKyAxXSA9ICIsIjsKK3N0YXRpYyBjaGFyIGludGVybmFsR3JvdXBpbmdbTUFYX0xPQ0FMRV9HUk9VUFNdID0geyAoY2hhcilOT19HUk9VUElORyB9OworCitzdGF0aWMgVFJJT19DT05TVCBjaGFyIGludGVybmFsRGlnaXRzTG93ZXJbXSA9ICIwMTIzNDU2Nzg5YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoiOworc3RhdGljIFRSSU9fQ09OU1QgY2hhciBpbnRlcm5hbERpZ2l0c1VwcGVyW10gPSAiMDEyMzQ1Njc4OUFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaIjsKK3N0YXRpYyBCT09MRUFOX1QgaW50ZXJuYWxEaWdpdHNVbmNvbnZlcnRlZCA9IFRSVUU7CitzdGF0aWMgaW50IGludGVybmFsRGlnaXRBcnJheVsxMjhdOworI2lmIFRSSU9fRVhURU5TSU9OCitzdGF0aWMgQk9PTEVBTl9UIGludGVybmFsQ29sbGF0aW9uVW5jb252ZXJ0ZWQgPSBUUlVFOworc3RhdGljIGNoYXIgaW50ZXJuYWxDb2xsYXRpb25BcnJheVtNQVhfQ0hBUkFDVEVSX0NMQVNTXVtNQVhfQ0hBUkFDVEVSX0NMQVNTXTsKKyNlbmRpZgorCisjaWYgVFJJT19FWFRFTlNJT04KK3N0YXRpYyBUUklPX1ZPTEFUSUxFIHRyaW9fY2FsbGJhY2tfdCBpbnRlcm5hbEVudGVyQ3JpdGljYWxSZWdpb24gPSBOVUxMOworc3RhdGljIFRSSU9fVk9MQVRJTEUgdHJpb19jYWxsYmFja190IGludGVybmFsTGVhdmVDcml0aWNhbFJlZ2lvbiA9IE5VTEw7CitzdGF0aWMgdHJpb191c2VyZGVmX3QgKmludGVybmFsVXNlckRlZiA9IE5VTEw7CisjZW5kaWYKKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEludGVybmFsIEZ1bmN0aW9ucworICoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZiBkZWZpbmVkKFRSSU9fTUlOSU1BTCkKKyMgZGVmaW5lIFRSSU9fU1RSSU5HX1BVQkxJQyBzdGF0aWMKKyMgaW5jbHVkZSAidHJpb3N0ci5jIgorI2VuZGlmIC8qIGRlZmluZWQoVFJJT19NSU5JTUFMKSAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVHJpb0lzUXVhbGlmaWVyCisgKgorICogRGVzY3JpcHRpb246CisgKiAgUmVtZW1iZXIgdG8gYWRkIGFsbCBuZXcgcXVhbGlmaWVycyB0byB0aGlzIGZ1bmN0aW9uLgorICogIFFVQUxJRklFUl9QT1NJVElPTiBtdXN0IG5vdCBiZSBhZGRlZC4KKyAqLworVFJJT19QUklWQVRFIEJPT0xFQU5fVAorVHJpb0lzUXVhbGlmaWVyCitUUklPX0FSR1MxKChjaGFyYWN0ZXIpLAorCSAgIFRSSU9fQ09OU1QgY2hhciBjaGFyYWN0ZXIpCit7CisgIC8qIFFVQUxJRklFUl9QT1NJVElPTiBpcyBub3QgaW5jbHVkZWQgKi8KKyAgc3dpdGNoIChjaGFyYWN0ZXIpCisgICAgeworICAgIGNhc2UgJzAnOiBjYXNlICcxJzogY2FzZSAnMic6IGNhc2UgJzMnOiBjYXNlICc0JzoKKyAgICBjYXNlICc1JzogY2FzZSAnNic6IGNhc2UgJzcnOiBjYXNlICc4JzogY2FzZSAnOSc6CisgICAgY2FzZSBRVUFMSUZJRVJfUExVUzoKKyAgICBjYXNlIFFVQUxJRklFUl9NSU5VUzoKKyAgICBjYXNlIFFVQUxJRklFUl9TUEFDRToKKyAgICBjYXNlIFFVQUxJRklFUl9ET1Q6CisgICAgY2FzZSBRVUFMSUZJRVJfU1RBUjoKKyAgICBjYXNlIFFVQUxJRklFUl9BTFRFUk5BVElWRToKKyAgICBjYXNlIFFVQUxJRklFUl9TSE9SVDoKKyAgICBjYXNlIFFVQUxJRklFUl9MT05HOgorICAgIGNhc2UgUVVBTElGSUVSX0xPTkdfVVBQRVI6CisgICAgY2FzZSBRVUFMSUZJRVJfQ0lSQ1VNRkxFWDoKKyNpZiBkZWZpbmVkKFFVQUxJRklFUl9TSVpFX1QpCisgICAgY2FzZSBRVUFMSUZJRVJfU0laRV9UOgorI2VuZGlmCisjaWYgZGVmaW5lZChRVUFMSUZJRVJfUFRSRElGRl9UKQorICAgIGNhc2UgUVVBTElGSUVSX1BUUkRJRkZfVDoKKyNlbmRpZgorI2lmIGRlZmluZWQoUVVBTElGSUVSX0lOVE1BWF9UKQorICAgIGNhc2UgUVVBTElGSUVSX0lOVE1BWF9UOgorI2VuZGlmCisjaWYgZGVmaW5lZChRVUFMSUZJRVJfUVVBRCkKKyAgICBjYXNlIFFVQUxJRklFUl9RVUFEOgorI2VuZGlmCisjaWYgZGVmaW5lZChRVUFMSUZJRVJfU0laRV9UX1VQUEVSKQorICAgIGNhc2UgUVVBTElGSUVSX1NJWkVfVF9VUFBFUjoKKyNlbmRpZgorI2lmIGRlZmluZWQoUVVBTElGSUVSX1dJREVDSEFSKQorICAgIGNhc2UgUVVBTElGSUVSX1dJREVDSEFSOgorI2VuZGlmCisjaWYgZGVmaW5lZChRVUFMSUZJRVJfUVVPVEUpCisgICAgY2FzZSBRVUFMSUZJRVJfUVVPVEU6CisjZW5kaWYKKyNpZiBkZWZpbmVkKFFVQUxJRklFUl9TVElDS1kpCisgICAgY2FzZSBRVUFMSUZJRVJfU1RJQ0tZOgorI2VuZGlmCisjaWYgZGVmaW5lZChRVUFMSUZJRVJfVkFSU0laRSkKKyAgICBjYXNlIFFVQUxJRklFUl9WQVJTSVpFOgorI2VuZGlmCisjaWYgZGVmaW5lZChRVUFMSUZJRVJfUEFSQU0pCisgICAgY2FzZSBRVUFMSUZJRVJfUEFSQU06CisjZW5kaWYKKyNpZiBkZWZpbmVkKFFVQUxJRklFUl9GSVhFRF9TSVpFKQorICAgIGNhc2UgUVVBTElGSUVSX0ZJWEVEX1NJWkU6CisjZW5kaWYKKyNpZiBkZWZpbmVkKFFVQUxJRklFUl9ST1VORElOR19VUFBFUikKKyAgICBjYXNlIFFVQUxJRklFUl9ST1VORElOR19VUFBFUjoKKyNlbmRpZgorICAgICAgcmV0dXJuIFRSVUU7CisgICAgZGVmYXVsdDoKKyAgICAgIHJldHVybiBGQUxTRTsKKyAgICB9Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBUcmlvU2V0TG9jYWxlCisgKi8KKyNpZiBkZWZpbmVkKFVTRV9MT0NBTEUpCitUUklPX1BSSVZBVEUgdm9pZAorVHJpb1NldExvY2FsZShUUklPX05PQVJHUykKK3sKKyAgaW50ZXJuYWxMb2NhbGVWYWx1ZXMgPSAoc3RydWN0IGxjb252ICopbG9jYWxlY29udigpOworICBpZiAoaW50ZXJuYWxMb2NhbGVWYWx1ZXMpCisgICAgeworICAgICAgaWYgKChpbnRlcm5hbExvY2FsZVZhbHVlcy0+ZGVjaW1hbF9wb2ludCkgJiYKKwkgIChpbnRlcm5hbExvY2FsZVZhbHVlcy0+ZGVjaW1hbF9wb2ludFswXSAhPSBOSUwpKQorCXsKKwkgIGludGVybmFsRGVjaW1hbFBvaW50TGVuZ3RoID0gdHJpb19sZW5ndGgoaW50ZXJuYWxMb2NhbGVWYWx1ZXMtPmRlY2ltYWxfcG9pbnQpOworCSAgaWYgKGludGVybmFsRGVjaW1hbFBvaW50TGVuZ3RoID09IDEpCisJICAgIHsKKwkgICAgICBpbnRlcm5hbERlY2ltYWxQb2ludCA9IGludGVybmFsTG9jYWxlVmFsdWVzLT5kZWNpbWFsX3BvaW50WzBdOworCSAgICB9CisJICBlbHNlCisJICAgIHsKKwkgICAgICBpbnRlcm5hbERlY2ltYWxQb2ludCA9IE5JTDsKKwkgICAgICB0cmlvX2NvcHlfbWF4KGludGVybmFsRGVjaW1hbFBvaW50U3RyaW5nLAorCQkJICAgIHNpemVvZihpbnRlcm5hbERlY2ltYWxQb2ludFN0cmluZyksCisJCQkgICAgaW50ZXJuYWxMb2NhbGVWYWx1ZXMtPmRlY2ltYWxfcG9pbnQpOworCSAgICB9CisJfQorICAgICAgaWYgKChpbnRlcm5hbExvY2FsZVZhbHVlcy0+dGhvdXNhbmRzX3NlcCkgJiYKKwkgIChpbnRlcm5hbExvY2FsZVZhbHVlcy0+dGhvdXNhbmRzX3NlcFswXSAhPSBOSUwpKQorCXsKKwkgIHRyaW9fY29weV9tYXgoaW50ZXJuYWxUaG91c2FuZFNlcGFyYXRvciwKKwkJCXNpemVvZihpbnRlcm5hbFRob3VzYW5kU2VwYXJhdG9yKSwKKwkJCWludGVybmFsTG9jYWxlVmFsdWVzLT50aG91c2FuZHNfc2VwKTsKKwkgIGludGVybmFsVGhvdXNhbmRTZXBhcmF0b3JMZW5ndGggPSB0cmlvX2xlbmd0aChpbnRlcm5hbFRob3VzYW5kU2VwYXJhdG9yKTsKKwl9CisgICAgICBpZiAoKGludGVybmFsTG9jYWxlVmFsdWVzLT5ncm91cGluZykgJiYKKwkgIChpbnRlcm5hbExvY2FsZVZhbHVlcy0+Z3JvdXBpbmdbMF0gIT0gTklMKSkKKwl7CisJICB0cmlvX2NvcHlfbWF4KGludGVybmFsR3JvdXBpbmcsCisJCQlzaXplb2YoaW50ZXJuYWxHcm91cGluZyksCisJCQlpbnRlcm5hbExvY2FsZVZhbHVlcy0+Z3JvdXBpbmcpOworCX0KKyAgICB9Cit9CisjZW5kaWYgLyogZGVmaW5lZChVU0VfTE9DQUxFKSAqLworCitUUklPX1BSSVZBVEUgaW50CitUcmlvQ2FsY1Rob3VzYW5kU2VwYXJhdG9yTGVuZ3RoCitUUklPX0FSR1MxKChkaWdpdHMpLAorCSAgIGludCBkaWdpdHMpCit7CisjaWYgVFJJT19FWFRFTlNJT04KKyAgaW50IGNvdW50ID0gMDsKKyAgaW50IHN0ZXAgPSBOT19HUk9VUElORzsKKyAgY2hhciAqZ3JvdXBpbmdQb2ludGVyID0gaW50ZXJuYWxHcm91cGluZzsKKworICB3aGlsZSAoZGlnaXRzID4gMCkKKyAgICB7CisgICAgICBpZiAoKmdyb3VwaW5nUG9pbnRlciA9PSBDSEFSX01BWCkKKwl7CisJICAvKiBEaXNhYmxlIGdyb3VwaW5nICovCisJICBicmVhazsgLyogd2hpbGUgKi8KKwl9CisgICAgICBlbHNlIGlmICgqZ3JvdXBpbmdQb2ludGVyID09IDApCisJeworCSAgLyogUmVwZWF0IGxhc3QgZ3JvdXAgKi8KKwkgIGlmIChzdGVwID09IE5PX0dST1VQSU5HKQorCSAgICB7CisJICAgICAgLyogRXJyb3IgaW4gbG9jYWxlICovCisJICAgICAgYnJlYWs7IC8qIHdoaWxlICovCisJICAgIH0KKwl9CisgICAgICBlbHNlCisJeworCSAgc3RlcCA9ICpncm91cGluZ1BvaW50ZXIrKzsKKwl9CisgICAgICBpZiAoZGlnaXRzID4gc3RlcCkKKwljb3VudCArPSBpbnRlcm5hbFRob3VzYW5kU2VwYXJhdG9yTGVuZ3RoOworICAgICAgZGlnaXRzIC09IHN0ZXA7CisgICAgfQorICByZXR1cm4gY291bnQ7CisjZWxzZQorICByZXR1cm4gMDsKKyNlbmRpZgorfQorCitUUklPX1BSSVZBVEUgQk9PTEVBTl9UCitUcmlvRm9sbG93ZWRCeVNlcGFyYXRvcgorVFJJT19BUkdTMSgocG9zaXRpb24pLAorCSAgIGludCBwb3NpdGlvbikKK3sKKyNpZiBUUklPX0VYVEVOU0lPTgorICBpbnQgc3RlcCA9IDA7CisgIGNoYXIgKmdyb3VwaW5nUG9pbnRlciA9IGludGVybmFsR3JvdXBpbmc7CisKKyAgcG9zaXRpb24tLTsKKyAgaWYgKHBvc2l0aW9uID09IDApCisgICAgcmV0dXJuIEZBTFNFOworICB3aGlsZSAocG9zaXRpb24gPiAwKQorICAgIHsKKyAgICAgIGlmICgqZ3JvdXBpbmdQb2ludGVyID09IENIQVJfTUFYKQorCXsKKwkgIC8qIERpc2FibGUgZ3JvdXBpbmcgKi8KKwkgIGJyZWFrOyAvKiB3aGlsZSAqLworCX0KKyAgICAgIGVsc2UgaWYgKCpncm91cGluZ1BvaW50ZXIgIT0gMCkKKwl7CisJICBzdGVwID0gKmdyb3VwaW5nUG9pbnRlcisrOworCX0KKyAgICAgIGlmIChzdGVwID09IDApCisJYnJlYWs7CisgICAgICBwb3NpdGlvbiAtPSBzdGVwOworICAgIH0KKyAgcmV0dXJuIChwb3NpdGlvbiA9PSAwKTsKKyNlbHNlCisgIHJldHVybiBGQUxTRTsKKyNlbmRpZgorfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVHJpb0dldFBvc2l0aW9uCisgKgorICogR2V0IHRoZSAlbiQgcG9zaXRpb24uCisgKi8KK1RSSU9fUFJJVkFURSBpbnQKK1RyaW9HZXRQb3NpdGlvbgorVFJJT19BUkdTMigoZm9ybWF0LCBpbmRleFBvaW50ZXIpLAorCSAgIFRSSU9fQ09OU1QgY2hhciAqZm9ybWF0LAorCSAgIGludCAqaW5kZXhQb2ludGVyKQoreworI2lmIFRSSU9fVU5JWDk4CisgIGNoYXIgKnRtcGZvcm1hdDsKKyAgaW50IG51bWJlciA9IDA7CisgIGludCBpbmRleCA9ICppbmRleFBvaW50ZXI7CisKKyAgbnVtYmVyID0gKGludCl0cmlvX3RvX2xvbmcoJmZvcm1hdFtpbmRleF0sICZ0bXBmb3JtYXQsIEJBU0VfREVDSU1BTCk7CisgIGluZGV4ID0gKGludCkodG1wZm9ybWF0IC0gZm9ybWF0KTsKKyAgaWYgKChudW1iZXIgIT0gMCkgJiYgKFFVQUxJRklFUl9QT1NJVElPTiA9PSBmb3JtYXRbaW5kZXgrK10pKQorICAgIHsKKyAgICAgICppbmRleFBvaW50ZXIgPSBpbmRleDsKKyAgICAgIC8qCisgICAgICAgKiBudW1iZXIgaXMgZGVjcmVhc2VkIGJ5IDEsIGJlY2F1c2UgbiQgc3RhcnRzIGZyb20gMSwgd2hlcmVhcworICAgICAgICogdGhlIGFycmF5IGl0IGlzIGluZGV4aW5nIHN0YXJ0cyBmcm9tIDAuCisgICAgICAgKi8KKyAgICAgIHJldHVybiBudW1iZXIgLSAxOworICAgIH0KKyNlbmRpZgorICByZXR1cm4gTk9fUE9TSVRJT047Cit9CisKKyNpZiBUUklPX0VYVEVOU0lPTgorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFRyaW9GaW5kTmFtZXNwYWNlCisgKgorICogRmluZCByZWdpc3RlcmVkIHVzZXItZGVmaW5lZCBzcGVjaWZpZXIuCisgKiBUaGUgcHJldiBhcmd1bWVudCBpcyB1c2VkIGZvciBvcHRpbWl6YXRpb24gb25seS4KKyAqLworVFJJT19QUklWQVRFIHRyaW9fdXNlcmRlZl90ICoKK1RyaW9GaW5kTmFtZXNwYWNlCitUUklPX0FSR1MyKChuYW1lLCBwcmV2KSwKKwkgICBUUklPX0NPTlNUIGNoYXIgKm5hbWUsCisJICAgdHJpb191c2VyZGVmX3QgKipwcmV2KQoreworICB0cmlvX3VzZXJkZWZfdCAqZGVmOworCisgIGlmIChpbnRlcm5hbEVudGVyQ3JpdGljYWxSZWdpb24pCisgICAgKHZvaWQpaW50ZXJuYWxFbnRlckNyaXRpY2FsUmVnaW9uKE5VTEwpOworCisgIGZvciAoZGVmID0gaW50ZXJuYWxVc2VyRGVmOyBkZWY7IGRlZiA9IGRlZi0+bmV4dCkKKyAgICB7CisgICAgICAvKiBDYXNlLXNlbnNpdGl2ZSBzdHJpbmcgY29tcGFyaXNvbiAqLworICAgICAgaWYgKHRyaW9fZXF1YWxfY2FzZShkZWYtPm5hbWUsIG5hbWUpKQorCWJyZWFrOworCisgICAgICBpZiAocHJldikKKwkqcHJldiA9IGRlZjsKKyAgICB9CisKKyAgaWYgKGludGVybmFsTGVhdmVDcml0aWNhbFJlZ2lvbikKKyAgICAodm9pZClpbnRlcm5hbExlYXZlQ3JpdGljYWxSZWdpb24oTlVMTCk7CisKKyAgcmV0dXJuIGRlZjsKK30KKyNlbmRpZgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVHJpb1Bvd2VyCisgKgorICogRGVzY3JpcHRpb246CisgKiAgQ2FsY3VsYXRlIHBvdyhiYXNlLCBleHBvbmVudCksIHdoZXJlIG51bWJlciBhbmQgZXhwb25lbnQgYXJlIGludGVnZXJzLgorICovCitUUklPX1BSSVZBVEUgdHJpb19sb25nX2RvdWJsZV90CitUcmlvUG93ZXIKK1RSSU9fQVJHUzIoKG51bWJlciwgZXhwb25lbnQpLAorCSAgIGludCBudW1iZXIsCisJICAgaW50IGV4cG9uZW50KQoreworICB0cmlvX2xvbmdfZG91YmxlX3QgcmVzdWx0OworCisgIGlmIChudW1iZXIgPT0gMTApCisgICAgeworICAgICAgc3dpdGNoIChleHBvbmVudCkKKwl7CisJICAvKiBTcGVlZCB1cCBjYWxjdWxhdGlvbiBvZiBjb21tb24gY2FzZXMgKi8KKwljYXNlIDA6CisJICByZXN1bHQgPSAodHJpb19sb25nX2RvdWJsZV90KW51bWJlciAqIFRSSU9fU1VGRklYX0xPTkcoMUUtMSk7CisJICBicmVhazsKKwljYXNlIDE6CisJICByZXN1bHQgPSAodHJpb19sb25nX2RvdWJsZV90KW51bWJlciAqIFRSSU9fU1VGRklYX0xPTkcoMUUrMCk7CisJICBicmVhazsKKwljYXNlIDI6CisJICByZXN1bHQgPSAodHJpb19sb25nX2RvdWJsZV90KW51bWJlciAqIFRSSU9fU1VGRklYX0xPTkcoMUUrMSk7CisJICBicmVhazsKKwljYXNlIDM6CisJICByZXN1bHQgPSAodHJpb19sb25nX2RvdWJsZV90KW51bWJlciAqIFRSSU9fU1VGRklYX0xPTkcoMUUrMik7CisJICBicmVhazsKKwljYXNlIDQ6CisJICByZXN1bHQgPSAodHJpb19sb25nX2RvdWJsZV90KW51bWJlciAqIFRSSU9fU1VGRklYX0xPTkcoMUUrMyk7CisJICBicmVhazsKKwljYXNlIDU6CisJICByZXN1bHQgPSAodHJpb19sb25nX2RvdWJsZV90KW51bWJlciAqIFRSSU9fU1VGRklYX0xPTkcoMUUrNCk7CisJICBicmVhazsKKwljYXNlIDY6CisJICByZXN1bHQgPSAodHJpb19sb25nX2RvdWJsZV90KW51bWJlciAqIFRSSU9fU1VGRklYX0xPTkcoMUUrNSk7CisJICBicmVhazsKKwljYXNlIDc6CisJICByZXN1bHQgPSAodHJpb19sb25nX2RvdWJsZV90KW51bWJlciAqIFRSSU9fU1VGRklYX0xPTkcoMUUrNik7CisJICBicmVhazsKKwljYXNlIDg6CisJICByZXN1bHQgPSAodHJpb19sb25nX2RvdWJsZV90KW51bWJlciAqIFRSSU9fU1VGRklYX0xPTkcoMUUrNyk7CisJICBicmVhazsKKwljYXNlIDk6CisJICByZXN1bHQgPSAodHJpb19sb25nX2RvdWJsZV90KW51bWJlciAqIFRSSU9fU1VGRklYX0xPTkcoMUUrOCk7CisJICBicmVhazsKKwlkZWZhdWx0OgorCSAgcmVzdWx0ID0gcG93bCgodHJpb19sb25nX2RvdWJsZV90KW51bWJlciwKKwkJCSh0cmlvX2xvbmdfZG91YmxlX3QpZXhwb25lbnQpOworCSAgYnJlYWs7CisJfQorICAgIH0KKyAgZWxzZQorICAgIHsKKyAgICAgIHJldHVybiBwb3dsKCh0cmlvX2xvbmdfZG91YmxlX3QpbnVtYmVyLCAodHJpb19sb25nX2RvdWJsZV90KWV4cG9uZW50KTsKKyAgICB9CisgIHJldHVybiByZXN1bHQ7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBUcmlvTG9nYXJpdGhtCisgKi8KK1RSSU9fUFJJVkFURSBkb3VibGUKK1RyaW9Mb2dhcml0aG0KK1RSSU9fQVJHUzIoKG51bWJlciwgYmFzZSksCisJICAgZG91YmxlIG51bWJlciwKKwkgICBpbnQgYmFzZSkKK3sKKyAgZG91YmxlIHJlc3VsdDsKKworICBpZiAobnVtYmVyIDw9IDAuMCkKKyAgICB7CisgICAgICAvKiB4bEMgY3Jhc2hlcyBvbiBsb2coMCkgKi8KKyAgICAgIHJlc3VsdCA9IChudW1iZXIgPT0gMC4wKSA/IHRyaW9fbmluZigpIDogdHJpb19uYW4oKTsKKyAgICB9CisgIGVsc2UKKyAgICB7CisgICAgICBpZiAoYmFzZSA9PSAxMCkKKwl7CisJICByZXN1bHQgPSBsb2cxMChudW1iZXIpOworCX0KKyAgICAgIGVsc2UKKwl7CisJICByZXN1bHQgPSBsb2cxMChudW1iZXIpIC8gbG9nMTAoKGRvdWJsZSliYXNlKTsKKwl9CisgICAgfQorICByZXR1cm4gcmVzdWx0OworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVHJpb0xvZ2FyaXRobUJhc2UKKyAqLworVFJJT19QUklWQVRFIGRvdWJsZQorVHJpb0xvZ2FyaXRobUJhc2UKK1RSSU9fQVJHUzEoKGJhc2UpLAorCSAgIGludCBiYXNlKQoreworICBzd2l0Y2ggKGJhc2UpCisgICAgeworICAgIGNhc2UgQkFTRV9CSU5BUlkgOiByZXR1cm4gMS4wOworICAgIGNhc2UgQkFTRV9PQ1RBTCAgOiByZXR1cm4gMy4wOworICAgIGNhc2UgQkFTRV9ERUNJTUFMOiByZXR1cm4gMy4zMjE5MjgwOTQ4ODczNjIzNDU7CisgICAgY2FzZSBCQVNFX0hFWCAgICA6IHJldHVybiA0LjA7CisgICAgZGVmYXVsdCAgICAgICAgICA6IHJldHVybiBUcmlvTG9nYXJpdGhtKChkb3VibGUpYmFzZSwgMik7CisgICAgfQorfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVHJpb1BhcnNlCisgKgorICogRGVzY3JpcHRpb246CisgKiAgUGFyc2UgdGhlIGZvcm1hdCBzdHJpbmcKKyAqLworVFJJT19QUklWQVRFIGludAorVHJpb1BhcnNlCitUUklPX0FSR1M1KCh0eXBlLCBmb3JtYXQsIHBhcmFtZXRlcnMsIGFyZ2xpc3QsIGFyZ2FycmF5KSwKKwkgICBpbnQgdHlwZSwKKwkgICBUUklPX0NPTlNUIGNoYXIgKmZvcm1hdCwKKwkgICB0cmlvX3BhcmFtZXRlcl90ICpwYXJhbWV0ZXJzLAorCSAgIFRSSU9fVkFfTElTVF9QVFIgYXJnbGlzdCwKKwkgICB0cmlvX3BvaW50ZXJfdCAqYXJnYXJyYXkpCit7CisgIC8qIENvdW50IHRoZSBudW1iZXIgb2YgdGltZXMgYSBwYXJhbWV0ZXIgaXMgcmVmZXJlbmNlZCAqLworICB1bnNpZ25lZCBzaG9ydCB1c2VkRW50cmllc1tNQVhfUEFSQU1FVEVSU107CisgIC8qIFBhcmFtZXRlciBjb3VudGVycyAqLworICBpbnQgcGFyYW1ldGVyUG9zaXRpb247CisgIGludCBjdXJyZW50UGFyYW07CisgIGludCBtYXhQYXJhbSA9IC0xOworICAvKiBVdGlsaXR5IHZhcmlhYmxlcyAqLworICB0cmlvX2ZsYWdzX3QgZmxhZ3M7CisgIGludCB3aWR0aDsKKyAgaW50IHByZWNpc2lvbjsKKyAgaW50IHZhcnNpemU7CisgIGludCBiYXNlOworICBpbnQgaW5kZXg7ICAvKiBJbmRleCBpbnRvIGZvcm1hdHRpbmcgc3RyaW5nICovCisgIGludCBkb3RzOyAgLyogQ291bnQgbnVtYmVyIG9mIGRvdHMgaW4gbW9kaWZpZXIgcGFydCAqLworICBCT09MRUFOX1QgcG9zaXRpb25hbDsgIC8qIERvZXMgdGhlIHNwZWNpZmllciBoYXZlIGEgcG9zaXRpb25hbD8gKi8KKyAgQk9PTEVBTl9UIGdvdFN0aWNreSA9IEZBTFNFOyAgLyogQXJlIHRoZXJlIGFueSBzdGlja3kgbW9kaWZpZXJzIGF0IGFsbD8gKi8KKyAgLyoKKyAgICogaW5kaWNlcyBzcGVjaWZpZXMgdGhlIG9yZGVyIGluIHdoaWNoIHRoZSBwYXJhbWV0ZXJzIG11c3QgYmUKKyAgICogcmVhZCBmcm9tIHRoZSB2YV9hcmdzICh0aGlzIGlzIG5lY2Vzc2FyeSB0byBoYW5kbGUgcG9zaXRpb25hbHMpCisgICAqLworICBpbnQgaW5kaWNlc1tNQVhfUEFSQU1FVEVSU107CisgIGludCBwb3MgPSAwOworICAvKiBWYXJpb3VzIHZhcmlhYmxlcyAqLworICBjaGFyIGNoOworI2lmIGRlZmluZWQoVFJJT19DT01QSUxFUl9TVVBQT1JUU19NVUxUSUJZVEUpCisgIGludCBjaGFybGVuOworI2VuZGlmCisgIGludCBzYXZlX2Vycm5vOworICBpbnQgaSA9IC0xOworICBpbnQgbnVtOworICBjaGFyICp0bXBmb3JtYXQ7CisKKyAgLyogT25lIGFuZCBvbmx5IG9uZSBvZiBhcmdsaXN0IGFuZCBhcmdhcnJheSBtdXN0IGJlIHVzZWQgKi8KKyAgYXNzZXJ0KChhcmdsaXN0ICE9IE5VTEwpIF4gKGFyZ2FycmF5ICE9IE5VTEwpKTsKKworICAvKgorICAgKiBUaGUgJ3BhcmFtZXRlcnMnIGFycmF5IGlzIG5vdCBpbml0aWFsaXplZCwgYnV0IHdlIG5lZWQgdG8KKyAgICoga25vdyB3aGljaCBlbnRyaWVzIHdlIGhhdmUgdXNlZC4KKyAgICovCisgIG1lbXNldCh1c2VkRW50cmllcywgMCwgc2l6ZW9mKHVzZWRFbnRyaWVzKSk7CisKKyAgc2F2ZV9lcnJubyA9IGVycm5vOworICBpbmRleCA9IDA7CisgIHBhcmFtZXRlclBvc2l0aW9uID0gMDsKKyNpZiBkZWZpbmVkKFRSSU9fQ09NUElMRVJfU1VQUE9SVFNfTVVMVElCWVRFKQorICAodm9pZCltYmxlbihOVUxMLCAwKTsKKyNlbmRpZgorCisgIHdoaWxlIChmb3JtYXRbaW5kZXhdKQorICAgIHsKKyNpZiBkZWZpbmVkKFRSSU9fQ09NUElMRVJfU1VQUE9SVFNfTVVMVElCWVRFKQorICAgICAgaWYgKCEgaXNhc2NpaShmb3JtYXRbaW5kZXhdKSkKKwl7CisJICAvKgorCSAgICogTXVsdGlieXRlIGNoYXJhY3RlcnMgY2Fubm90IGJlIGxlZ2FsIHNwZWNpZmllcnMgb3IKKwkgICAqIG1vZGlmaWVycywgc28gd2Ugc2tpcCBvdmVyIHRoZW0uCisJICAgKi8KKwkgIGNoYXJsZW4gPSBtYmxlbigmZm9ybWF0W2luZGV4XSwgTUJfTEVOX01BWCk7CisJICBpbmRleCArPSAoY2hhcmxlbiA+IDApID8gY2hhcmxlbiA6IDE7CisJICBjb250aW51ZTsgLyogd2hpbGUgKi8KKwl9CisjZW5kaWYgLyogVFJJT19DT01QSUxFUl9TVVBQT1JUU19NVUxUSUJZVEUgKi8KKyAgICAgIGlmIChDSEFSX0lERU5USUZJRVIgPT0gZm9ybWF0W2luZGV4KytdKQorCXsKKwkgIGlmIChDSEFSX0lERU5USUZJRVIgPT0gZm9ybWF0W2luZGV4XSkKKwkgICAgeworCSAgICAgIGluZGV4Kys7CisJICAgICAgY29udGludWU7IC8qIHdoaWxlICovCisJICAgIH0KKworCSAgZmxhZ3MgPSBGTEFHU19ORVc7CisJICBkb3RzID0gMDsKKwkgIGN1cnJlbnRQYXJhbSA9IFRyaW9HZXRQb3NpdGlvbihmb3JtYXQsICZpbmRleCk7CisJICBwb3NpdGlvbmFsID0gKE5PX1BPU0lUSU9OICE9IGN1cnJlbnRQYXJhbSk7CisJICBpZiAoIXBvc2l0aW9uYWwpCisJICAgIHsKKwkgICAgICAvKiBXZSBoYXZlIG5vIHBvc2l0aW9uYWwsIGdldCB0aGUgbmV4dCBjb3VudGVyICovCisJICAgICAgY3VycmVudFBhcmFtID0gcGFyYW1ldGVyUG9zaXRpb247CisJICAgIH0KKyAgICAgICAgICBpZihjdXJyZW50UGFyYW0gPj0gTUFYX1BBUkFNRVRFUlMpCisJICAgIHsKKwkgICAgICAvKiBCYWlsIG91dCBjb21wbGV0ZWx5IHRvIG1ha2UgdGhlIGVycm9yIG1vcmUgb2J2aW91cyAqLworCSAgICAgIHJldHVybiBUUklPX0VSUk9SX1JFVFVSTihUUklPX0VUT09NQU5ZLCBpbmRleCk7CisJICAgIH0KKworCSAgaWYgKGN1cnJlbnRQYXJhbSA+IG1heFBhcmFtKQorCSAgICBtYXhQYXJhbSA9IGN1cnJlbnRQYXJhbTsKKworCSAgLyogRGVmYXVsdCB2YWx1ZXMgKi8KKwkgIHdpZHRoID0gTk9fV0lEVEg7CisJICBwcmVjaXNpb24gPSBOT19QUkVDSVNJT047CisJICBiYXNlID0gTk9fQkFTRTsKKwkgIHZhcnNpemUgPSBOT19TSVpFOworCisJICB3aGlsZSAoVHJpb0lzUXVhbGlmaWVyKGZvcm1hdFtpbmRleF0pKQorCSAgICB7CisJICAgICAgY2ggPSBmb3JtYXRbaW5kZXgrK107CisKKwkgICAgICBzd2l0Y2ggKGNoKQorCQl7CisJCWNhc2UgUVVBTElGSUVSX1NQQUNFOgorCQkgIGZsYWdzIHw9IEZMQUdTX1NQQUNFOworCQkgIGJyZWFrOworCisJCWNhc2UgUVVBTElGSUVSX1BMVVM6CisJCSAgZmxhZ3MgfD0gRkxBR1NfU0hPV1NJR047CisJCSAgYnJlYWs7CisKKwkJY2FzZSBRVUFMSUZJRVJfTUlOVVM6CisJCSAgZmxhZ3MgfD0gRkxBR1NfTEVGVEFESlVTVDsKKwkJICBmbGFncyAmPSB+RkxBR1NfTklMUEFERElORzsKKwkJICBicmVhazsKKworCQljYXNlIFFVQUxJRklFUl9BTFRFUk5BVElWRToKKwkJICBmbGFncyB8PSBGTEFHU19BTFRFUk5BVElWRTsKKwkJICBicmVhazsKKworCQljYXNlIFFVQUxJRklFUl9ET1Q6CisJCSAgaWYgKGRvdHMgPT0gMCkgLyogUHJlY2lzaW9uICovCisJCSAgICB7CisJCSAgICAgIGRvdHMrKzsKKworCQkgICAgICAvKiBTa2lwIGlmIG5vIHByZWNpc2lvbiAqLworCQkgICAgICBpZiAoUVVBTElGSUVSX0RPVCA9PSBmb3JtYXRbaW5kZXhdKQorCQkJYnJlYWs7CisKKwkJICAgICAgLyogQWZ0ZXIgdGhlIGZpcnN0IGRvdCB3ZSBoYXZlIHRoZSBwcmVjaXNpb24gKi8KKwkJICAgICAgZmxhZ3MgfD0gRkxBR1NfUFJFQ0lTSU9OOworCQkgICAgICBpZiAoKFFVQUxJRklFUl9TVEFSID09IGZvcm1hdFtpbmRleF0pCisjaWYgZGVmaW5lZChRVUFMSUZJRVJfUEFSQU0pCisJCQkgIHx8IChRVUFMSUZJRVJfUEFSQU0gPT0gZm9ybWF0W2luZGV4XSkKKyNlbmRpZgorCQkJICApCisJCQl7CisJCQkgIGluZGV4Kys7CisJCQkgIGZsYWdzIHw9IEZMQUdTX1BSRUNJU0lPTl9QQVJBTUVURVI7CisKKwkJCSAgcHJlY2lzaW9uID0gVHJpb0dldFBvc2l0aW9uKGZvcm1hdCwgJmluZGV4KTsKKwkJCSAgaWYgKHByZWNpc2lvbiA9PSBOT19QT1NJVElPTikKKwkJCSAgICB7CisJCQkgICAgICBwYXJhbWV0ZXJQb3NpdGlvbisrOworCQkJICAgICAgaWYgKHBvc2l0aW9uYWwpCisJCQkJcHJlY2lzaW9uID0gcGFyYW1ldGVyUG9zaXRpb247CisJCQkgICAgICBlbHNlCisJCQkJeworCQkJCSAgcHJlY2lzaW9uID0gY3VycmVudFBhcmFtOworCQkJCSAgY3VycmVudFBhcmFtID0gcHJlY2lzaW9uICsgMTsKKwkJCQl9CisJCQkgICAgfQorCQkJICBlbHNlCisJCQkgICAgeworCQkJICAgICAgaWYgKCEgcG9zaXRpb25hbCkKKwkJCQljdXJyZW50UGFyYW0gPSBwcmVjaXNpb24gKyAxOworCQkJICAgICAgaWYgKHdpZHRoID4gbWF4UGFyYW0pCisJCQkJbWF4UGFyYW0gPSBwcmVjaXNpb247CisJCQkgICAgfQorCQkJICBpZiAoY3VycmVudFBhcmFtID4gbWF4UGFyYW0pCisJCQkgICAgbWF4UGFyYW0gPSBjdXJyZW50UGFyYW07CisJCQl9CisJCSAgICAgIGVsc2UKKwkJCXsKKwkJCSAgcHJlY2lzaW9uID0gdHJpb190b19sb25nKCZmb3JtYXRbaW5kZXhdLAorCQkJCQkJICAgJnRtcGZvcm1hdCwKKwkJCQkJCSAgIEJBU0VfREVDSU1BTCk7CisJCQkgIGluZGV4ID0gKGludCkodG1wZm9ybWF0IC0gZm9ybWF0KTsKKwkJCX0KKwkJICAgIH0KKwkJICBlbHNlIGlmIChkb3RzID09IDEpIC8qIEJhc2UgKi8KKwkJICAgIHsKKwkJICAgICAgZG90cysrOworCisJCSAgICAgIC8qIEFmdGVyIHRoZSBzZWNvbmQgZG90IHdlIGhhdmUgdGhlIGJhc2UgKi8KKwkJICAgICAgZmxhZ3MgfD0gRkxBR1NfQkFTRTsKKwkJICAgICAgaWYgKChRVUFMSUZJRVJfU1RBUiA9PSBmb3JtYXRbaW5kZXhdKQorI2lmIGRlZmluZWQoUVVBTElGSUVSX1BBUkFNKQorCQkJICB8fCAoUVVBTElGSUVSX1BBUkFNID09IGZvcm1hdFtpbmRleF0pCisjZW5kaWYKKwkJCSAgKQorCQkJeworCQkJICBpbmRleCsrOworCQkJICBmbGFncyB8PSBGTEFHU19CQVNFX1BBUkFNRVRFUjsKKwkJCSAgYmFzZSA9IFRyaW9HZXRQb3NpdGlvbihmb3JtYXQsICZpbmRleCk7CisJCQkgIGlmIChiYXNlID09IE5PX1BPU0lUSU9OKQorCQkJICAgIHsKKwkJCSAgICAgIHBhcmFtZXRlclBvc2l0aW9uKys7CisJCQkgICAgICBpZiAocG9zaXRpb25hbCkKKwkJCQliYXNlID0gcGFyYW1ldGVyUG9zaXRpb247CisJCQkgICAgICBlbHNlCisJCQkJeworCQkJCSAgYmFzZSA9IGN1cnJlbnRQYXJhbTsKKwkJCQkgIGN1cnJlbnRQYXJhbSA9IGJhc2UgKyAxOworCQkJCX0KKwkJCSAgICB9CisJCQkgIGVsc2UKKwkJCSAgICB7CisJCQkgICAgICBpZiAoISBwb3NpdGlvbmFsKQorCQkJCWN1cnJlbnRQYXJhbSA9IGJhc2UgKyAxOworCQkJICAgICAgaWYgKGJhc2UgPiBtYXhQYXJhbSkKKwkJCQltYXhQYXJhbSA9IGJhc2U7CisJCQkgICAgfQorCQkJICBpZiAoY3VycmVudFBhcmFtID4gbWF4UGFyYW0pCisJCQkgICAgbWF4UGFyYW0gPSBjdXJyZW50UGFyYW07CisJCQl9CisJCSAgICAgIGVsc2UKKwkJCXsKKwkJCSAgYmFzZSA9IHRyaW9fdG9fbG9uZygmZm9ybWF0W2luZGV4XSwKKwkJCQkJICAgICAgJnRtcGZvcm1hdCwKKwkJCQkJICAgICAgQkFTRV9ERUNJTUFMKTsKKwkJCSAgaWYgKGJhc2UgPiBNQVhfQkFTRSkKKwkJCSAgICByZXR1cm4gVFJJT19FUlJPUl9SRVRVUk4oVFJJT19FSU5WQUwsIGluZGV4KTsKKwkJCSAgaW5kZXggPSAoaW50KSh0bXBmb3JtYXQgLSBmb3JtYXQpOworCQkJfQorCQkgICAgfQorCQkgIGVsc2UKKwkJICAgIHsKKwkJICAgICAgcmV0dXJuIFRSSU9fRVJST1JfUkVUVVJOKFRSSU9fRUlOVkFMLCBpbmRleCk7CisJCSAgICB9CisJCSAgYnJlYWs7IC8qIFFVQUxJRklFUl9ET1QgKi8KKworI2lmIGRlZmluZWQoUVVBTElGSUVSX1BBUkFNKQorCQljYXNlIFFVQUxJRklFUl9QQVJBTToKKwkJICB0eXBlID0gVFlQRV9QUklOVDsKKwkJICAvKiBGQUxMVEhST1VHSCAqLworI2VuZGlmCisJCWNhc2UgUVVBTElGSUVSX1NUQVI6CisJCSAgLyogVGhpcyBoYXMgZGlmZmVyZW50IG1lYW5pbmdzIGZvciBwcmludCBhbmQgc2NhbiAqLworCQkgIGlmIChUWVBFX1BSSU5UID09IHR5cGUpCisJCSAgICB7CisJCSAgICAgIC8qIFJlYWQgd2l0aCBmcm9tIHBhcmFtZXRlciAqLworCQkgICAgICBmbGFncyB8PSAoRkxBR1NfV0lEVEggfCBGTEFHU19XSURUSF9QQVJBTUVURVIpOworCQkgICAgICB3aWR0aCA9IFRyaW9HZXRQb3NpdGlvbihmb3JtYXQsICZpbmRleCk7CisJCSAgICAgIGlmICh3aWR0aCA9PSBOT19QT1NJVElPTikKKwkJCXsKKwkJCSAgcGFyYW1ldGVyUG9zaXRpb24rKzsKKwkJCSAgaWYgKHBvc2l0aW9uYWwpCisJCQkgICAgd2lkdGggPSBwYXJhbWV0ZXJQb3NpdGlvbjsKKwkJCSAgZWxzZQorCQkJICAgIHsKKwkJCSAgICAgIHdpZHRoID0gY3VycmVudFBhcmFtOworCQkJICAgICAgY3VycmVudFBhcmFtID0gd2lkdGggKyAxOworCQkJICAgIH0KKwkJCX0KKwkJICAgICAgZWxzZQorCQkJeworCQkJICBpZiAoISBwb3NpdGlvbmFsKQorCQkJICAgIGN1cnJlbnRQYXJhbSA9IHdpZHRoICsgMTsKKwkJCSAgaWYgKHdpZHRoID4gbWF4UGFyYW0pCisJCQkgICAgbWF4UGFyYW0gPSB3aWR0aDsKKwkJCX0KKwkJICAgICAgaWYgKGN1cnJlbnRQYXJhbSA+IG1heFBhcmFtKQorCQkJbWF4UGFyYW0gPSBjdXJyZW50UGFyYW07CisJCSAgICB9CisJCSAgZWxzZQorCQkgICAgeworCQkgICAgICAvKiBTY2FuLCBidXQgZG8gbm90IHN0b3JlIHJlc3VsdCAqLworCQkgICAgICBmbGFncyB8PSBGTEFHU19JR05PUkU7CisJCSAgICB9CisKKwkJICBicmVhazsgLyogUVVBTElGSUVSX1NUQVIgKi8KKworCQljYXNlICcwJzoKKwkJICBpZiAoISAoZmxhZ3MgJiBGTEFHU19MRUZUQURKVVNUKSkKKwkJICAgIGZsYWdzIHw9IEZMQUdTX05JTFBBRERJTkc7CisJCSAgLyogRkFMTFRIUk9VR0ggKi8KKwkJY2FzZSAnMSc6IGNhc2UgJzInOiBjYXNlICczJzogY2FzZSAnNCc6CisJCWNhc2UgJzUnOiBjYXNlICc2JzogY2FzZSAnNyc6IGNhc2UgJzgnOiBjYXNlICc5JzoKKwkJICBmbGFncyB8PSBGTEFHU19XSURUSDsKKwkJICAvKiAmZm9ybWF0W2luZGV4IC0gMV0gaXMgdXNlZCB0byAicmV3aW5kIiB0aGUgcmVhZAorCQkgICAqIGNoYXJhY3RlciBmcm9tIGZvcm1hdAorCQkgICAqLworCQkgIHdpZHRoID0gdHJpb190b19sb25nKCZmb3JtYXRbaW5kZXggLSAxXSwKKwkJCQkgICAgICAgJnRtcGZvcm1hdCwKKwkJCQkgICAgICAgQkFTRV9ERUNJTUFMKTsKKwkJICBpbmRleCA9IChpbnQpKHRtcGZvcm1hdCAtIGZvcm1hdCk7CisJCSAgYnJlYWs7CisKKwkJY2FzZSBRVUFMSUZJRVJfU0hPUlQ6CisJCSAgaWYgKGZsYWdzICYgRkxBR1NfU0hPUlRTSE9SVCkKKwkJICAgIHJldHVybiBUUklPX0VSUk9SX1JFVFVSTihUUklPX0VJTlZBTCwgaW5kZXgpOworCQkgIGVsc2UgaWYgKGZsYWdzICYgRkxBR1NfU0hPUlQpCisJCSAgICBmbGFncyB8PSBGTEFHU19TSE9SVFNIT1JUOworCQkgIGVsc2UKKwkJICAgIGZsYWdzIHw9IEZMQUdTX1NIT1JUOworCQkgIGJyZWFrOworCisJCWNhc2UgUVVBTElGSUVSX0xPTkc6CisJCSAgaWYgKGZsYWdzICYgRkxBR1NfUVVBRCkKKwkJICAgIHJldHVybiBUUklPX0VSUk9SX1JFVFVSTihUUklPX0VJTlZBTCwgaW5kZXgpOworCQkgIGVsc2UgaWYgKGZsYWdzICYgRkxBR1NfTE9ORykKKwkJICAgIGZsYWdzIHw9IEZMQUdTX1FVQUQ7CisJCSAgZWxzZQorCQkgICAgZmxhZ3MgfD0gRkxBR1NfTE9ORzsKKwkJICBicmVhazsKKworCQljYXNlIFFVQUxJRklFUl9MT05HX1VQUEVSOgorCQkgIGZsYWdzIHw9IEZMQUdTX0xPTkdET1VCTEU7CisJCSAgYnJlYWs7CisKKyNpZiBkZWZpbmVkKFFVQUxJRklFUl9TSVpFX1QpCisJCWNhc2UgUVVBTElGSUVSX1NJWkVfVDoKKwkJICBmbGFncyB8PSBGTEFHU19TSVpFX1Q7CisJCSAgLyogTW9kaWZ5IGZsYWdzIGZvciBsYXRlciB0cnVuY2F0aW9uIG9mIG51bWJlciAqLworCQkgIGlmIChzaXplb2Yoc2l6ZV90KSA9PSBzaXplb2YodHJpb191bG9uZ2xvbmdfdCkpCisJCSAgICBmbGFncyB8PSBGTEFHU19RVUFEOworCQkgIGVsc2UgaWYgKHNpemVvZihzaXplX3QpID09IHNpemVvZihsb25nKSkKKwkJICAgIGZsYWdzIHw9IEZMQUdTX0xPTkc7CisJCSAgYnJlYWs7CisjZW5kaWYKKworI2lmIGRlZmluZWQoUVVBTElGSUVSX1BUUkRJRkZfVCkKKwkJY2FzZSBRVUFMSUZJRVJfUFRSRElGRl9UOgorCQkgIGZsYWdzIHw9IEZMQUdTX1BUUkRJRkZfVDsKKwkJICBpZiAoc2l6ZW9mKHB0cmRpZmZfdCkgPT0gc2l6ZW9mKHRyaW9fdWxvbmdsb25nX3QpKQorCQkgICAgZmxhZ3MgfD0gRkxBR1NfUVVBRDsKKwkJICBlbHNlIGlmIChzaXplb2YocHRyZGlmZl90KSA9PSBzaXplb2YobG9uZykpCisJCSAgICBmbGFncyB8PSBGTEFHU19MT05HOworCQkgIGJyZWFrOworI2VuZGlmCisKKyNpZiBkZWZpbmVkKFFVQUxJRklFUl9JTlRNQVhfVCkKKwkJY2FzZSBRVUFMSUZJRVJfSU5UTUFYX1Q6CisJCSAgZmxhZ3MgfD0gRkxBR1NfSU5UTUFYX1Q7CisJCSAgaWYgKHNpemVvZih0cmlvX2ludG1heF90KSA9PSBzaXplb2YodHJpb191bG9uZ2xvbmdfdCkpCisJCSAgICBmbGFncyB8PSBGTEFHU19RVUFEOworCQkgIGVsc2UgaWYgKHNpemVvZih0cmlvX2ludG1heF90KSA9PSBzaXplb2YobG9uZykpCisJCSAgICBmbGFncyB8PSBGTEFHU19MT05HOworCQkgIGJyZWFrOworI2VuZGlmCisKKyNpZiBkZWZpbmVkKFFVQUxJRklFUl9RVUFEKQorCQljYXNlIFFVQUxJRklFUl9RVUFEOgorCQkgIGZsYWdzIHw9IEZMQUdTX1FVQUQ7CisJCSAgYnJlYWs7CisjZW5kaWYKKworI2lmIGRlZmluZWQoUVVBTElGSUVSX0ZJWEVEX1NJWkUpCisJCWNhc2UgUVVBTElGSUVSX0ZJWEVEX1NJWkU6CisJCSAgaWYgKGZsYWdzICYgRkxBR1NfRklYRURfU0laRSkKKwkJICAgIHJldHVybiBUUklPX0VSUk9SX1JFVFVSTihUUklPX0VJTlZBTCwgaW5kZXgpOworCisJCSAgaWYgKGZsYWdzICYgKEZMQUdTX0FMTF9TSVpFUyB8IEZMQUdTX0xPTkdET1VCTEUgfAorCQkJICAgICAgIEZMQUdTX1dJREVDSEFSIHwgRkxBR1NfVkFSU0laRV9QQVJBTUVURVIpKQorCQkgICAgcmV0dXJuIFRSSU9fRVJST1JfUkVUVVJOKFRSSU9fRUlOVkFMLCBpbmRleCk7CisKKwkJICBpZiAoKGZvcm1hdFtpbmRleF0gPT0gJzYnKSAmJgorCQkgICAgICAoZm9ybWF0W2luZGV4ICsgMV0gPT0gJzQnKSkKKwkJICAgIHsKKwkJICAgICAgdmFyc2l6ZSA9IHNpemVvZih0cmlvX2ludDY0X3QpOworCQkgICAgICBpbmRleCArPSAyOworCQkgICAgfQorCQkgIGVsc2UgaWYgKChmb3JtYXRbaW5kZXhdID09ICczJykgJiYKKwkJCSAgIChmb3JtYXRbaW5kZXggKyAxXSA9PSAnMicpKQorCQkgICAgeworCQkgICAgICB2YXJzaXplID0gc2l6ZW9mKHRyaW9faW50MzJfdCk7CisJCSAgICAgIGluZGV4ICs9IDI7CisJCSAgICB9CisJCSAgZWxzZSBpZiAoKGZvcm1hdFtpbmRleF0gPT0gJzEnKSAmJgorCQkJICAgKGZvcm1hdFtpbmRleCArIDFdID09ICc2JykpCisJCSAgICB7CisJCSAgICAgIHZhcnNpemUgPSBzaXplb2YodHJpb19pbnQxNl90KTsKKwkJICAgICAgaW5kZXggKz0gMjsKKwkJICAgIH0KKwkJICBlbHNlIGlmIChmb3JtYXRbaW5kZXhdID09ICc4JykKKwkJICAgIHsKKwkJICAgICAgdmFyc2l6ZSA9IHNpemVvZih0cmlvX2ludDhfdCk7CisJCSAgICAgIGluZGV4Kys7CisJCSAgICB9CisJCSAgZWxzZQorCQkgICAgcmV0dXJuIFRSSU9fRVJST1JfUkVUVVJOKFRSSU9fRUlOVkFMLCBpbmRleCk7CisKKwkJICBmbGFncyB8PSBGTEFHU19GSVhFRF9TSVpFOworCQkgIGJyZWFrOworI2VuZGlmCisKKyNpZiBkZWZpbmVkKFFVQUxJRklFUl9XSURFQ0hBUikKKwkJY2FzZSBRVUFMSUZJRVJfV0lERUNIQVI6CisJCSAgZmxhZ3MgfD0gRkxBR1NfV0lERUNIQVI7CisJCSAgYnJlYWs7CisjZW5kaWYKKworI2lmIGRlZmluZWQoUVVBTElGSUVSX1NJWkVfVF9VUFBFUikKKwkJY2FzZSBRVUFMSUZJRVJfU0laRV9UX1VQUEVSOgorCQkgIGJyZWFrOworI2VuZGlmCisKKyNpZiBkZWZpbmVkKFFVQUxJRklFUl9RVU9URSkKKwkJY2FzZSBRVUFMSUZJRVJfUVVPVEU6CisJCSAgZmxhZ3MgfD0gRkxBR1NfUVVPVEU7CisJCSAgYnJlYWs7CisjZW5kaWYKKworI2lmIGRlZmluZWQoUVVBTElGSUVSX1NUSUNLWSkKKwkJY2FzZSBRVUFMSUZJRVJfU1RJQ0tZOgorCQkgIGZsYWdzIHw9IEZMQUdTX1NUSUNLWTsKKwkJICBnb3RTdGlja3kgPSBUUlVFOworCQkgIGJyZWFrOworI2VuZGlmCisKKyNpZiBkZWZpbmVkKFFVQUxJRklFUl9WQVJTSVpFKQorCQljYXNlIFFVQUxJRklFUl9WQVJTSVpFOgorCQkgIGZsYWdzIHw9IEZMQUdTX1ZBUlNJWkVfUEFSQU1FVEVSOworCQkgIHBhcmFtZXRlclBvc2l0aW9uKys7CisJCSAgaWYgKHBvc2l0aW9uYWwpCisJCSAgICB2YXJzaXplID0gcGFyYW1ldGVyUG9zaXRpb247CisJCSAgZWxzZQorCQkgICAgeworCQkgICAgICB2YXJzaXplID0gY3VycmVudFBhcmFtOworCQkgICAgICBjdXJyZW50UGFyYW0gPSB2YXJzaXplICsgMTsKKwkJICAgIH0KKwkJICBpZiAoY3VycmVudFBhcmFtID4gbWF4UGFyYW0pCisJCSAgICBtYXhQYXJhbSA9IGN1cnJlbnRQYXJhbTsKKwkJICBicmVhazsKKyNlbmRpZgorCisjaWYgZGVmaW5lZChRVUFMSUZJRVJfUk9VTkRJTkdfVVBQRVIpCisJCWNhc2UgUVVBTElGSUVSX1JPVU5ESU5HX1VQUEVSOgorCQkgIGZsYWdzIHw9IEZMQUdTX1JPVU5ESU5HOworCQkgIGJyZWFrOworI2VuZGlmCisKKwkJZGVmYXVsdDoKKwkJICAvKiBCYWlsIG91dCBjb21wbGV0ZWx5IHRvIG1ha2UgdGhlIGVycm9yIG1vcmUgb2J2aW91cyAqLworICAgICAgICAgICAgICAgICAgcmV0dXJuIFRSSU9fRVJST1JfUkVUVVJOKFRSSU9fRUlOVkFMLCBpbmRleCk7CisJCX0KKwkgICAgfSAvKiB3aGlsZSBxdWFsaWZpZXIgKi8KKworCSAgLyoKKwkgICAqIFBhcmFtZXRlcnMgb25seSBuZWVkIHRoZSB0eXBlIGFuZCB2YWx1ZS4gVGhlIHZhbHVlIGlzCisJICAgKiByZWFkIGxhdGVyLgorCSAgICovCisJICBpZiAoZmxhZ3MgJiBGTEFHU19XSURUSF9QQVJBTUVURVIpCisJICAgIHsKKwkgICAgICB1c2VkRW50cmllc1t3aWR0aF0gKz0gMTsKKwkgICAgICBwYXJhbWV0ZXJzW3Bvc10udHlwZSA9IEZPUk1BVF9QQVJBTUVURVI7CisJICAgICAgcGFyYW1ldGVyc1twb3NdLmZsYWdzID0gMDsKKwkgICAgICBpbmRpY2VzW3dpZHRoXSA9IHBvczsKKwkgICAgICB3aWR0aCA9IHBvcysrOworCSAgICB9CisJICBpZiAoZmxhZ3MgJiBGTEFHU19QUkVDSVNJT05fUEFSQU1FVEVSKQorCSAgICB7CisJICAgICAgdXNlZEVudHJpZXNbcHJlY2lzaW9uXSArPSAxOworCSAgICAgIHBhcmFtZXRlcnNbcG9zXS50eXBlID0gRk9STUFUX1BBUkFNRVRFUjsKKwkgICAgICBwYXJhbWV0ZXJzW3Bvc10uZmxhZ3MgPSAwOworCSAgICAgIGluZGljZXNbcHJlY2lzaW9uXSA9IHBvczsKKwkgICAgICBwcmVjaXNpb24gPSBwb3MrKzsKKwkgICAgfQorCSAgaWYgKGZsYWdzICYgRkxBR1NfQkFTRV9QQVJBTUVURVIpCisJICAgIHsKKwkgICAgICB1c2VkRW50cmllc1tiYXNlXSArPSAxOworCSAgICAgIHBhcmFtZXRlcnNbcG9zXS50eXBlID0gRk9STUFUX1BBUkFNRVRFUjsKKwkgICAgICBwYXJhbWV0ZXJzW3Bvc10uZmxhZ3MgPSAwOworCSAgICAgIGluZGljZXNbYmFzZV0gPSBwb3M7CisJICAgICAgYmFzZSA9IHBvcysrOworCSAgICB9CisJICBpZiAoZmxhZ3MgJiBGTEFHU19WQVJTSVpFX1BBUkFNRVRFUikKKwkgICAgeworCSAgICAgIHVzZWRFbnRyaWVzW3ZhcnNpemVdICs9IDE7CisJICAgICAgcGFyYW1ldGVyc1twb3NdLnR5cGUgPSBGT1JNQVRfUEFSQU1FVEVSOworCSAgICAgIHBhcmFtZXRlcnNbcG9zXS5mbGFncyA9IDA7CisJICAgICAgaW5kaWNlc1t2YXJzaXplXSA9IHBvczsKKwkgICAgICB2YXJzaXplID0gcG9zKys7CisJICAgIH0KKworCSAgaW5kaWNlc1tjdXJyZW50UGFyYW1dID0gcG9zOworCisJICBzd2l0Y2ggKGZvcm1hdFtpbmRleCsrXSkKKwkgICAgeworI2lmIGRlZmluZWQoU1BFQ0lGSUVSX0NIQVJfVVBQRVIpCisJICAgIGNhc2UgU1BFQ0lGSUVSX0NIQVJfVVBQRVI6CisJICAgICAgZmxhZ3MgfD0gRkxBR1NfV0lERUNIQVI7CisJICAgICAgLyogRkFMTFRIUk9VR0ggKi8KKyNlbmRpZgorCSAgICBjYXNlIFNQRUNJRklFUl9DSEFSOgorCSAgICAgIGlmIChmbGFncyAmIEZMQUdTX0xPTkcpCisJCWZsYWdzIHw9IEZMQUdTX1dJREVDSEFSOworCSAgICAgIGVsc2UgaWYgKGZsYWdzICYgRkxBR1NfU0hPUlQpCisJCWZsYWdzICY9IH5GTEFHU19XSURFQ0hBUjsKKwkgICAgICBwYXJhbWV0ZXJzW3Bvc10udHlwZSA9IEZPUk1BVF9DSEFSOworCSAgICAgIGJyZWFrOworCisjaWYgZGVmaW5lZChTUEVDSUZJRVJfU1RSSU5HX1VQUEVSKQorCSAgICBjYXNlIFNQRUNJRklFUl9TVFJJTkdfVVBQRVI6CisJICAgICAgZmxhZ3MgfD0gRkxBR1NfV0lERUNIQVI7CisJICAgICAgLyogRkFMTFRIUk9VR0ggKi8KKyNlbmRpZgorCSAgICBjYXNlIFNQRUNJRklFUl9TVFJJTkc6CisJICAgICAgaWYgKGZsYWdzICYgRkxBR1NfTE9ORykKKwkJZmxhZ3MgfD0gRkxBR1NfV0lERUNIQVI7CisJICAgICAgZWxzZSBpZiAoZmxhZ3MgJiBGTEFHU19TSE9SVCkKKwkJZmxhZ3MgJj0gfkZMQUdTX1dJREVDSEFSOworCSAgICAgIHBhcmFtZXRlcnNbcG9zXS50eXBlID0gRk9STUFUX1NUUklORzsKKwkgICAgICBicmVhazsKKworCSAgICBjYXNlIFNQRUNJRklFUl9HUk9VUDoKKwkgICAgICBpZiAoVFlQRV9TQ0FOID09IHR5cGUpCisJCXsKKwkJICBpbnQgZGVwdGggPSAxOworCQkgIHBhcmFtZXRlcnNbcG9zXS50eXBlID0gRk9STUFUX0dST1VQOworCQkgIGlmIChmb3JtYXRbaW5kZXhdID09IFFVQUxJRklFUl9DSVJDVU1GTEVYKQorCQkgICAgaW5kZXgrKzsKKwkJICBpZiAoZm9ybWF0W2luZGV4XSA9PSBTUEVDSUZJRVJfVU5HUk9VUCkKKwkJICAgIGluZGV4Kys7CisJCSAgaWYgKGZvcm1hdFtpbmRleF0gPT0gUVVBTElGSUVSX01JTlVTKQorCQkgICAgaW5kZXgrKzsKKwkJICAvKiBTa2lwIG5lc3RlZCBicmFja2V0cyAqLworCQkgIHdoaWxlIChmb3JtYXRbaW5kZXhdICE9IE5JTCkKKwkJICAgIHsKKwkJICAgICAgaWYgKGZvcm1hdFtpbmRleF0gPT0gU1BFQ0lGSUVSX0dST1VQKQorCQkJeworCQkJICBkZXB0aCsrOworCQkJfQorCQkgICAgICBlbHNlIGlmIChmb3JtYXRbaW5kZXhdID09IFNQRUNJRklFUl9VTkdST1VQKQorCQkJeworCQkJICBpZiAoLS1kZXB0aCA8PSAwKQorCQkJICAgIHsKKwkJCSAgICAgIGluZGV4Kys7CisJCQkgICAgICBicmVhazsKKwkJCSAgICB9CisJCQl9CisJCSAgICAgIGluZGV4Kys7CisJCSAgICB9CisJCX0KKwkgICAgICBicmVhazsKKworCSAgICBjYXNlIFNQRUNJRklFUl9JTlRFR0VSOgorCSAgICAgIHBhcmFtZXRlcnNbcG9zXS50eXBlID0gRk9STUFUX0lOVDsKKwkgICAgICBicmVhazsKKworCSAgICBjYXNlIFNQRUNJRklFUl9VTlNJR05FRDoKKwkgICAgICBmbGFncyB8PSBGTEFHU19VTlNJR05FRDsKKwkgICAgICBwYXJhbWV0ZXJzW3Bvc10udHlwZSA9IEZPUk1BVF9JTlQ7CisJICAgICAgYnJlYWs7CisKKwkgICAgY2FzZSBTUEVDSUZJRVJfREVDSU1BTDoKKwkgICAgICAvKiBEaXNhYmxlIGJhc2UgbW9kaWZpZXIgKi8KKwkgICAgICBmbGFncyAmPSB+RkxBR1NfQkFTRV9QQVJBTUVURVI7CisJICAgICAgYmFzZSA9IEJBU0VfREVDSU1BTDsKKwkgICAgICBwYXJhbWV0ZXJzW3Bvc10udHlwZSA9IEZPUk1BVF9JTlQ7CisJICAgICAgYnJlYWs7CisKKwkgICAgY2FzZSBTUEVDSUZJRVJfT0NUQUw6CisJICAgICAgZmxhZ3MgfD0gRkxBR1NfVU5TSUdORUQ7CisJICAgICAgZmxhZ3MgJj0gfkZMQUdTX0JBU0VfUEFSQU1FVEVSOworCSAgICAgIGJhc2UgPSBCQVNFX09DVEFMOworCSAgICAgIHBhcmFtZXRlcnNbcG9zXS50eXBlID0gRk9STUFUX0lOVDsKKwkgICAgICBicmVhazsKKworI2lmIGRlZmluZWQoU1BFQ0lGSUVSX0JJTkFSWSkKKwkgICAgY2FzZSBTUEVDSUZJRVJfQklOQVJZX1VQUEVSOgorCSAgICAgIGZsYWdzIHw9IEZMQUdTX1VQUEVSOworCSAgICAgIC8qIEZBTExUSFJPVUdIICovCisJICAgIGNhc2UgU1BFQ0lGSUVSX0JJTkFSWToKKwkgICAgICBmbGFncyB8PSBGTEFHU19OSUxQQURESU5HOworCSAgICAgIGZsYWdzICY9IH5GTEFHU19CQVNFX1BBUkFNRVRFUjsKKwkgICAgICBiYXNlID0gQkFTRV9CSU5BUlk7CisJICAgICAgcGFyYW1ldGVyc1twb3NdLnR5cGUgPSBGT1JNQVRfSU5UOworCSAgICAgIGJyZWFrOworI2VuZGlmCisKKwkgICAgY2FzZSBTUEVDSUZJRVJfSEVYX1VQUEVSOgorCSAgICAgIGZsYWdzIHw9IEZMQUdTX1VQUEVSOworCSAgICAgIC8qIEZBTExUSFJPVUdIICovCisJICAgIGNhc2UgU1BFQ0lGSUVSX0hFWDoKKwkgICAgICBmbGFncyB8PSBGTEFHU19VTlNJR05FRDsKKwkgICAgICBmbGFncyAmPSB+RkxBR1NfQkFTRV9QQVJBTUVURVI7CisJICAgICAgYmFzZSA9IEJBU0VfSEVYOworCSAgICAgIHBhcmFtZXRlcnNbcG9zXS50eXBlID0gRk9STUFUX0lOVDsKKwkgICAgICBicmVhazsKKworCSAgICBjYXNlIFNQRUNJRklFUl9GTE9BVF9FX1VQUEVSOgorCSAgICAgIGZsYWdzIHw9IEZMQUdTX1VQUEVSOworCSAgICAgIC8qIEZBTExUSFJPVUdIICovCisJICAgIGNhc2UgU1BFQ0lGSUVSX0ZMT0FUX0U6CisJICAgICAgZmxhZ3MgfD0gRkxBR1NfRkxPQVRfRTsKKwkgICAgICBwYXJhbWV0ZXJzW3Bvc10udHlwZSA9IEZPUk1BVF9ET1VCTEU7CisJICAgICAgYnJlYWs7CisKKwkgICAgY2FzZSBTUEVDSUZJRVJfRkxPQVRfR19VUFBFUjoKKwkgICAgICBmbGFncyB8PSBGTEFHU19VUFBFUjsKKwkgICAgICAvKiBGQUxMVEhST1VHSCAqLworCSAgICBjYXNlIFNQRUNJRklFUl9GTE9BVF9HOgorCSAgICAgIGZsYWdzIHw9IEZMQUdTX0ZMT0FUX0c7CisJICAgICAgcGFyYW1ldGVyc1twb3NdLnR5cGUgPSBGT1JNQVRfRE9VQkxFOworCSAgICAgIGJyZWFrOworCisJICAgIGNhc2UgU1BFQ0lGSUVSX0ZMT0FUX0ZfVVBQRVI6CisJICAgICAgZmxhZ3MgfD0gRkxBR1NfVVBQRVI7CisJICAgICAgLyogRkFMTFRIUk9VR0ggKi8KKwkgICAgY2FzZSBTUEVDSUZJRVJfRkxPQVRfRjoKKwkgICAgICBwYXJhbWV0ZXJzW3Bvc10udHlwZSA9IEZPUk1BVF9ET1VCTEU7CisJICAgICAgYnJlYWs7CisKKwkgICAgY2FzZSBTUEVDSUZJRVJfUE9JTlRFUjoKKwkgICAgICBpZiAoc2l6ZW9mKHRyaW9fcG9pbnRlcl90KSA9PSBzaXplb2YodHJpb191bG9uZ2xvbmdfdCkpCisJCWZsYWdzIHw9IEZMQUdTX1FVQUQ7CisJICAgICAgZWxzZSBpZiAoc2l6ZW9mKHRyaW9fcG9pbnRlcl90KSA9PSBzaXplb2YobG9uZykpCisJCWZsYWdzIHw9IEZMQUdTX0xPTkc7CisJICAgICAgcGFyYW1ldGVyc1twb3NdLnR5cGUgPSBGT1JNQVRfUE9JTlRFUjsKKwkgICAgICBicmVhazsKKworCSAgICBjYXNlIFNQRUNJRklFUl9DT1VOVDoKKwkgICAgICBwYXJhbWV0ZXJzW3Bvc10udHlwZSA9IEZPUk1BVF9DT1VOVDsKKwkgICAgICBicmVhazsKKworI2lmIGRlZmluZWQoU1BFQ0lGSUVSX0hFWEZMT0FUKQorIyBpZiBkZWZpbmVkKFNQRUNJRklFUl9IRVhGTE9BVF9VUFBFUikKKwkgICAgY2FzZSBTUEVDSUZJRVJfSEVYRkxPQVRfVVBQRVI6CisJICAgICAgZmxhZ3MgfD0gRkxBR1NfVVBQRVI7CisJICAgICAgLyogRkFMTFRIUk9VR0ggKi8KKyMgZW5kaWYKKwkgICAgY2FzZSBTUEVDSUZJRVJfSEVYRkxPQVQ6CisJICAgICAgYmFzZSA9IEJBU0VfSEVYOworCSAgICAgIHBhcmFtZXRlcnNbcG9zXS50eXBlID0gRk9STUFUX0RPVUJMRTsKKwkgICAgICBicmVhazsKKyNlbmRpZgorCisjaWYgZGVmaW5lZChGT1JNQVRfRVJSTk8pCisJICAgIGNhc2UgU1BFQ0lGSUVSX0VSUk5POgorCSAgICAgIHBhcmFtZXRlcnNbcG9zXS50eXBlID0gRk9STUFUX0VSUk5POworCSAgICAgIGJyZWFrOworI2VuZGlmCisKKyNpZiBkZWZpbmVkKFNQRUNJRklFUl9VU0VSX0RFRklORURfQkVHSU4pCisJICAgIGNhc2UgU1BFQ0lGSUVSX1VTRVJfREVGSU5FRF9CRUdJTjoKKwkgICAgICB7CisJCXVuc2lnbmVkIGludCBtYXg7CisJCWludCB3aXRob3V0X25hbWVzcGFjZSA9IFRSVUU7CisKKwkJcGFyYW1ldGVyc1twb3NdLnR5cGUgPSBGT1JNQVRfVVNFUl9ERUZJTkVEOworCQlwYXJhbWV0ZXJzW3Bvc10udXNlcl9uYW1lWzBdID0gTklMOworCQl0bXBmb3JtYXQgPSAoY2hhciAqKSZmb3JtYXRbaW5kZXhdOworCisJCXdoaWxlICgoY2ggPSBmb3JtYXRbaW5kZXhdKSkKKwkJICB7CisJCSAgICBpbmRleCsrOworCQkgICAgaWYgKGNoID09IFNQRUNJRklFUl9VU0VSX0RFRklORURfRU5EKQorCQkgICAgICB7CisJCQlpZiAod2l0aG91dF9uYW1lc3BhY2UpCisJCQkgIHsKKwkJCSAgICAvKiBXZSBtdXN0IGdldCB0aGUgaGFuZGxlIGZpcnN0ICovCisJCQkgICAgcGFyYW1ldGVyc1twb3NdLnR5cGUgPSBGT1JNQVRfUEFSQU1FVEVSOworCQkJICAgIHBhcmFtZXRlcnNbcG9zXS5pbmRleEFmdGVyU3BlY2lmaWVyID0gaW5kZXg7CisJCQkgICAgcGFyYW1ldGVyc1twb3NdLmZsYWdzID0gRkxBR1NfVVNFUl9ERUZJTkVEOworCQkJICAgIC8qIEFkanVzdCBwYXJhbWV0ZXJzIGZvciBpbnNlcnRpb24gb2YgbmV3IG9uZSAqLworCQkJICAgIHBvcysrOworCQkJICAgIHVzZWRFbnRyaWVzW2N1cnJlbnRQYXJhbV0gKz0gMTsKKwkJCSAgICBwYXJhbWV0ZXJzW3Bvc10udHlwZSA9IEZPUk1BVF9VU0VSX0RFRklORUQ7CisJCQkgICAgY3VycmVudFBhcmFtKys7CisJCQkgICAgaW5kaWNlc1tjdXJyZW50UGFyYW1dID0gcG9zOworCQkJICAgIGlmIChjdXJyZW50UGFyYW0gPiBtYXhQYXJhbSkKKwkJCSAgICAgIG1heFBhcmFtID0gY3VycmVudFBhcmFtOworCQkJICB9CisJCQkvKiBDb3B5IHRoZSB1c2VyIGRhdGEgKi8KKwkJCW1heCA9ICh1bnNpZ25lZCBpbnQpKCZmb3JtYXRbaW5kZXhdIC0gdG1wZm9ybWF0KTsKKwkJCWlmIChtYXggPiBNQVhfVVNFUl9EQVRBKQorCQkJICBtYXggPSBNQVhfVVNFUl9EQVRBOworCQkJdHJpb19jb3B5X21heChwYXJhbWV0ZXJzW3Bvc10udXNlcl9kYXRhLAorCQkJCSAgICAgIG1heCwKKwkJCQkgICAgICB0bXBmb3JtYXQpOworCQkJYnJlYWs7IC8qIHdoaWxlICovCisJCSAgICAgIH0KKwkJICAgIGlmIChjaCA9PSBTUEVDSUZJRVJfVVNFUl9ERUZJTkVEX1NFUEFSQVRPUikKKwkJICAgICAgeworCQkJd2l0aG91dF9uYW1lc3BhY2UgPSBGQUxTRTsKKwkJCS8qIENvcHkgdGhlIG5hbWVzcGFjZSBmb3IgbGF0ZXIgbG9va2luZy11cCAqLworCQkJbWF4ID0gKGludCkoJmZvcm1hdFtpbmRleF0gLSB0bXBmb3JtYXQpOworCQkJaWYgKG1heCA+IE1BWF9VU0VSX05BTUUpCisJCQkgIG1heCA9IE1BWF9VU0VSX05BTUU7CisJCQl0cmlvX2NvcHlfbWF4KHBhcmFtZXRlcnNbcG9zXS51c2VyX25hbWUsCisJCQkJICAgICAgbWF4LAorCQkJCSAgICAgIHRtcGZvcm1hdCk7CisJCQl0bXBmb3JtYXQgPSAoY2hhciAqKSZmb3JtYXRbaW5kZXhdOworCQkgICAgICB9CisJCSAgfQorCQlpZiAoY2ggIT0gU1BFQ0lGSUVSX1VTRVJfREVGSU5FRF9FTkQpCisJCSAgcmV0dXJuIFRSSU9fRVJST1JfUkVUVVJOKFRSSU9fRUlOVkFMLCBpbmRleCk7CisJICAgICAgfQorCSAgICAgIGJyZWFrOworI2VuZGlmIC8qIGRlZmluZWQoU1BFQ0lGSUVSX1VTRVJfREVGSU5FRF9CRUdJTikgKi8KKworCSAgICBkZWZhdWx0OgorCSAgICAgIC8qIEJhaWwgb3V0IGNvbXBsZXRlbHkgdG8gbWFrZSB0aGUgZXJyb3IgbW9yZSBvYnZpb3VzICovCisgICAgICAgICAgICAgIHJldHVybiBUUklPX0VSUk9SX1JFVFVSTihUUklPX0VJTlZBTCwgaW5kZXgpOworCSAgICB9CisKKwkgIC8qICBDb3VudCB0aGUgbnVtYmVyIG9mIHRpbWVzIHRoaXMgZW50cnkgaGFzIGJlZW4gdXNlZCAqLworCSAgdXNlZEVudHJpZXNbY3VycmVudFBhcmFtXSArPSAxOworCisJICAvKiBGaW5kIGxhc3Qgc3RpY2t5IHBhcmFtZXRlcnMgKi8KKwkgIGlmIChnb3RTdGlja3kgJiYgIShmbGFncyAmIEZMQUdTX1NUSUNLWSkpCisJICAgIHsKKwkgICAgICBmb3IgKGkgPSBwb3MgLSAxOyBpID49IDA7IGktLSkKKwkJeworCQkgIGlmIChwYXJhbWV0ZXJzW2ldLnR5cGUgPT0gRk9STUFUX1BBUkFNRVRFUikKKwkJICAgIGNvbnRpbnVlOworCQkgIGlmICgocGFyYW1ldGVyc1tpXS5mbGFncyAmIEZMQUdTX1NUSUNLWSkgJiYKKwkJICAgICAgKHBhcmFtZXRlcnNbaV0udHlwZSA9PSBwYXJhbWV0ZXJzW3Bvc10udHlwZSkpCisJCSAgICB7CisJCSAgICAgIC8qIERvIG5vdCBvdmVyd3JpdGUgY3VycmVudCBxdWFsaWZpZXJzICovCisJCSAgICAgIGZsYWdzIHw9IChwYXJhbWV0ZXJzW2ldLmZsYWdzICYgKHVuc2lnbmVkIGxvbmcpfkZMQUdTX1NUSUNLWSk7CisJCSAgICAgIGlmICh3aWR0aCA9PSBOT19XSURUSCkKKwkJCXdpZHRoID0gcGFyYW1ldGVyc1tpXS53aWR0aDsKKwkJICAgICAgaWYgKHByZWNpc2lvbiA9PSBOT19QUkVDSVNJT04pCisJCQlwcmVjaXNpb24gPSBwYXJhbWV0ZXJzW2ldLnByZWNpc2lvbjsKKwkJICAgICAgaWYgKGJhc2UgPT0gTk9fQkFTRSkKKwkJCWJhc2UgPSBwYXJhbWV0ZXJzW2ldLmJhc2U7CisJCSAgICAgIGJyZWFrOworCQkgICAgfQorCQl9CisJICAgIH0KKworCSAgcGFyYW1ldGVyc1twb3NdLmluZGV4QWZ0ZXJTcGVjaWZpZXIgPSBpbmRleDsKKwkgIHBhcmFtZXRlcnNbcG9zXS5mbGFncyA9IGZsYWdzOworCSAgcGFyYW1ldGVyc1twb3NdLndpZHRoID0gd2lkdGg7CisJICBwYXJhbWV0ZXJzW3Bvc10ucHJlY2lzaW9uID0gcHJlY2lzaW9uOworCSAgcGFyYW1ldGVyc1twb3NdLmJhc2UgPSAoYmFzZSA9PSBOT19CQVNFKSA/IEJBU0VfREVDSU1BTCA6IGJhc2U7CisJICBwYXJhbWV0ZXJzW3Bvc10udmFyc2l6ZSA9IHZhcnNpemU7CisJICBwb3MrKzsKKworCSAgaWYgKCEgcG9zaXRpb25hbCkKKwkgICAgcGFyYW1ldGVyUG9zaXRpb24rKzsKKworCX0gLyogaWYgaWRlbnRpZmllciAqLworCisgICAgfSAvKiB3aGlsZSBmb3JtYXQgY2hhcmFjdGVycyBsZWZ0ICovCisKKyAgZm9yIChudW0gPSAwOyBudW0gPD0gbWF4UGFyYW07IG51bSsrKQorICAgIHsKKyAgICAgIGlmICh1c2VkRW50cmllc1tudW1dICE9IDEpCisJeworCSAgaWYgKHVzZWRFbnRyaWVzW251bV0gPT0gMCkgLyogZ2FwIGRldGVjdGVkICovCisJICAgIHJldHVybiBUUklPX0VSUk9SX1JFVFVSTihUUklPX0VHQVAsIG51bSk7CisJICBlbHNlIC8qIGRvdWJsZSByZWZlcmVuY2VzIGRldGVjdGVkICovCisJICAgIHJldHVybiBUUklPX0VSUk9SX1JFVFVSTihUUklPX0VEQkxSRUYsIG51bSk7CisJfQorCisgICAgICBpID0gaW5kaWNlc1tudW1dOworCisgICAgICAvKgorICAgICAgICogRk9STUFUX1BBUkFNRVRFUlMgYXJlIG9ubHkgcHJlc2VudCBpZiB0aGV5IG11c3QgYmUgcmVhZCwKKyAgICAgICAqIHNvIGl0IG1ha2VzIG5vIHNlbnNlIHRvIGNoZWNrIHRoZSBpZ25vcmUgZmxhZyAoYmVzaWRlcywKKyAgICAgICAqIHRoZSBmbGFncyB2YXJpYWJsZSBpcyBub3Qgc2V0IGZvciB0aGF0IHBhcnRpY3VsYXIgdHlwZSkKKyAgICAgICAqLworICAgICAgaWYgKChwYXJhbWV0ZXJzW2ldLnR5cGUgIT0gRk9STUFUX1BBUkFNRVRFUikgJiYKKwkgIChwYXJhbWV0ZXJzW2ldLmZsYWdzICYgRkxBR1NfSUdOT1JFKSkKKwljb250aW51ZTsgLyogZm9yIGFsbCBhcmd1bWVudHMgKi8KKworICAgICAgLyoKKyAgICAgICAqIFRoZSBzdGFjayBhcmd1bWVudHMgYXJlIHJlYWQgYWNjb3JkaW5nIHRvIEFOU0kgQzg5CisgICAgICAgKiBkZWZhdWx0IGFyZ3VtZW50IHByb21vdGlvbnM6CisgICAgICAgKgorICAgICAgICogIGNoYXIgICAgICAgICAgID0gaW50CisgICAgICAgKiAgc2hvcnQgICAgICAgICAgPSBpbnQKKyAgICAgICAqICB1bnNpZ25lZCBjaGFyICA9IHVuc2lnbmVkIGludAorICAgICAgICogIHVuc2lnbmVkIHNob3J0ID0gdW5zaWduZWQgaW50CisgICAgICAgKiAgZmxvYXQgICAgICAgICAgPSBkb3VibGUKKyAgICAgICAqCisgICAgICAgKiBJbiBhZGRpdGlvbiB0byB0aGUgQU5TSSBDODkgdGhlc2UgdHlwZXMgYXJlIHJlYWQgKHRoZQorICAgICAgICogZGVmYXVsdCBhcmd1bWVudCBwcm9tb3Rpb25zIG9mIEM5OSBoYXMgbm90IGJlZW4KKyAgICAgICAqIGNvbnNpZGVyZWQgeWV0KQorICAgICAgICoKKyAgICAgICAqICBsb25nIGxvbmcKKyAgICAgICAqICBsb25nIGRvdWJsZQorICAgICAgICogIHNpemVfdAorICAgICAgICogIHB0cmRpZmZfdAorICAgICAgICogIGludG1heF90CisgICAgICAgKi8KKyAgICAgIHN3aXRjaCAocGFyYW1ldGVyc1tpXS50eXBlKQorCXsKKwljYXNlIEZPUk1BVF9HUk9VUDoKKwljYXNlIEZPUk1BVF9TVFJJTkc6CisjaWYgVFJJT19XSURFQ0hBUgorCSAgaWYgKGZsYWdzICYgRkxBR1NfV0lERUNIQVIpCisJICAgIHsKKwkgICAgICBwYXJhbWV0ZXJzW2ldLmRhdGEud3N0cmluZyA9IChhcmdhcnJheSA9PSBOVUxMKQorCQk/IHZhX2FyZyhUUklPX1ZBX0xJU1RfREVSRUYoYXJnbGlzdCksIHRyaW9fd2NoYXJfdCAqKQorCQk6ICh0cmlvX3djaGFyX3QgKikoYXJnYXJyYXlbbnVtXSk7CisJICAgIH0KKwkgIGVsc2UKKyNlbmRpZgorCSAgICB7CisJICAgICAgcGFyYW1ldGVyc1tpXS5kYXRhLnN0cmluZyA9IChhcmdhcnJheSA9PSBOVUxMKQorCQk/IHZhX2FyZyhUUklPX1ZBX0xJU1RfREVSRUYoYXJnbGlzdCksIGNoYXIgKikKKwkJOiAoY2hhciAqKShhcmdhcnJheVtudW1dKTsKKwkgICAgfQorCSAgYnJlYWs7CisKKyNpZiBkZWZpbmVkKEZPUk1BVF9VU0VSX0RFRklORUQpCisJY2FzZSBGT1JNQVRfVVNFUl9ERUZJTkVEOgorI2VuZGlmCisJY2FzZSBGT1JNQVRfUE9JTlRFUjoKKwljYXNlIEZPUk1BVF9DT1VOVDoKKwljYXNlIEZPUk1BVF9VTktOT1dOOgorCSAgcGFyYW1ldGVyc1tpXS5kYXRhLnBvaW50ZXIgPSAoYXJnYXJyYXkgPT0gTlVMTCkKKwkgICAgPyB2YV9hcmcoVFJJT19WQV9MSVNUX0RFUkVGKGFyZ2xpc3QpLCB0cmlvX3BvaW50ZXJfdCApCisJICAgIDogYXJnYXJyYXlbbnVtXTsKKwkgIGJyZWFrOworCisJY2FzZSBGT1JNQVRfQ0hBUjoKKwljYXNlIEZPUk1BVF9JTlQ6CisJICBpZiAoVFlQRV9TQ0FOID09IHR5cGUpCisJICAgIHsKKyAgICAgICAgICAgICAgaWYgKGFyZ2FycmF5ID09IE5VTEwpCisgICAgICAgICAgICAgICAgcGFyYW1ldGVyc1tpXS5kYXRhLnBvaW50ZXIgPQorICAgICAgICAgICAgICAgICAgKHRyaW9fcG9pbnRlcl90KXZhX2FyZyhUUklPX1ZBX0xJU1RfREVSRUYoYXJnbGlzdCksIHRyaW9fcG9pbnRlcl90KTsKKyAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgIGlmIChwYXJhbWV0ZXJzW2ldLnR5cGUgPT0gRk9STUFUX0NIQVIpCisgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnNbaV0uZGF0YS5wb2ludGVyID0KKyAgICAgICAgICAgICAgICAgICAgICAodHJpb19wb2ludGVyX3QpKChjaGFyICopYXJnYXJyYXlbbnVtXSk7CisgICAgICAgICAgICAgICAgICBlbHNlIGlmIChwYXJhbWV0ZXJzW2ldLmZsYWdzICYgRkxBR1NfU0hPUlQpCisgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnNbaV0uZGF0YS5wb2ludGVyID0KKyAgICAgICAgICAgICAgICAgICAgICAodHJpb19wb2ludGVyX3QpKChzaG9ydCAqKWFyZ2FycmF5W251bV0pOworICAgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzW2ldLmRhdGEucG9pbnRlciA9CisgICAgICAgICAgICAgICAgICAgICAgKHRyaW9fcG9pbnRlcl90KSgoaW50ICopYXJnYXJyYXlbbnVtXSk7CisgICAgICAgICAgICAgICAgfQorCSAgICB9CisJICBlbHNlCisJICAgIHsKKyNpZiBkZWZpbmVkKFFVQUxJRklFUl9WQVJTSVpFKSB8fCBkZWZpbmVkKFFVQUxJRklFUl9GSVhFRF9TSVpFKQorCSAgICAgIGlmIChwYXJhbWV0ZXJzW2ldLmZsYWdzCisJCSAgJiAoRkxBR1NfVkFSU0laRV9QQVJBTUVURVIgfCBGTEFHU19GSVhFRF9TSVpFKSkKKwkJeworCQkgIGlmIChwYXJhbWV0ZXJzW2ldLmZsYWdzICYgRkxBR1NfVkFSU0laRV9QQVJBTUVURVIpCisJCSAgICB7CisJCSAgICAgIC8qCisJCSAgICAgICAqIFZhcmlhYmxlIHNpemVzIGFyZSBtYXBwZWQgb250byB0aGUgZml4ZWQgc2l6ZXMsIGluCisJCSAgICAgICAqIGFjY29yZGFuY2Ugd2l0aCBpbnRlZ2VyIHByb21vdGlvbi4KKwkJICAgICAgICoKKwkJICAgICAgICogUGxlYXNlIG5vdGUgdGhhdCB0aGlzIG1heSBub3QgYmUgcG9ydGFibGUsIGFzIHdlCisJCSAgICAgICAqIG9ubHkgZ3Vlc3MgdGhlIHNpemUsIG5vdCB0aGUgbGF5b3V0IG9mIHRoZSBudW1iZXJzLgorCQkgICAgICAgKiBGb3IgZXhhbXBsZSwgaWYgaW50IGlzIGxpdHRsZS1lbmRpYW4sIGFuZCBsb25nIGlzCisJCSAgICAgICAqIGJpZy1lbmRpYW4sIHRoZW4gdGhpcyB3aWxsIGZhaWwuCisJCSAgICAgICAqLworCQkgICAgICB2YXJzaXplID0gKGludClwYXJhbWV0ZXJzW3BhcmFtZXRlcnNbaV0udmFyc2l6ZV0uZGF0YS5udW1iZXIuYXNfdW5zaWduZWQ7CisJCSAgICB9CisJCSAgZWxzZQorCQkgICAgeworCQkgICAgICAvKiBVc2VkIGZvciB0aGUgSTxiaXRzPiBtb2RpZmllcnMgKi8KKwkJICAgICAgdmFyc2l6ZSA9IHBhcmFtZXRlcnNbaV0udmFyc2l6ZTsKKwkJICAgIH0KKwkJICBwYXJhbWV0ZXJzW2ldLmZsYWdzICY9IH5GTEFHU19BTExfVkFSU0laRVM7CisKKwkJICBpZiAodmFyc2l6ZSA8PSAoaW50KXNpemVvZihpbnQpKQorCQkgICAgOworCQkgIGVsc2UgaWYgKHZhcnNpemUgPD0gKGludClzaXplb2YobG9uZykpCisJCSAgICBwYXJhbWV0ZXJzW2ldLmZsYWdzIHw9IEZMQUdTX0xPTkc7CisjaWYgZGVmaW5lZChRVUFMSUZJRVJfSU5UTUFYX1QpCisJCSAgZWxzZSBpZiAodmFyc2l6ZSA8PSAoaW50KXNpemVvZih0cmlvX2xvbmdsb25nX3QpKQorCQkgICAgcGFyYW1ldGVyc1tpXS5mbGFncyB8PSBGTEFHU19RVUFEOworCQkgIGVsc2UKKwkJICAgIHBhcmFtZXRlcnNbaV0uZmxhZ3MgfD0gRkxBR1NfSU5UTUFYX1Q7CisjZWxzZQorCQkgIGVsc2UKKwkJICAgIHBhcmFtZXRlcnNbaV0uZmxhZ3MgfD0gRkxBR1NfUVVBRDsKKyNlbmRpZgorCQl9CisjZW5kaWYgLyogZGVmaW5lZChRVUFMSUZJRVJfVkFSU0laRSkgKi8KKyNpZiBkZWZpbmVkKFFVQUxJRklFUl9TSVpFX1QpIHx8IGRlZmluZWQoUVVBTElGSUVSX1NJWkVfVF9VUFBFUikKKwkgICAgICBpZiAocGFyYW1ldGVyc1tpXS5mbGFncyAmIEZMQUdTX1NJWkVfVCkKKwkJcGFyYW1ldGVyc1tpXS5kYXRhLm51bWJlci5hc191bnNpZ25lZCA9IChhcmdhcnJheSA9PSBOVUxMKQorCQkgID8gKHRyaW9fdWludG1heF90KXZhX2FyZyhUUklPX1ZBX0xJU1RfREVSRUYoYXJnbGlzdCksIHNpemVfdCkKKwkJICA6ICh0cmlvX3VpbnRtYXhfdCkoKigoc2l6ZV90ICopYXJnYXJyYXlbbnVtXSkpOworCSAgICAgIGVsc2UKKyNlbmRpZgorI2lmIGRlZmluZWQoUVVBTElGSUVSX1BUUkRJRkZfVCkKKwkgICAgICBpZiAocGFyYW1ldGVyc1tpXS5mbGFncyAmIEZMQUdTX1BUUkRJRkZfVCkKKwkJcGFyYW1ldGVyc1tpXS5kYXRhLm51bWJlci5hc191bnNpZ25lZCA9IChhcmdhcnJheSA9PSBOVUxMKQorCQkgID8gKHRyaW9fdWludG1heF90KXZhX2FyZyhUUklPX1ZBX0xJU1RfREVSRUYoYXJnbGlzdCksIHB0cmRpZmZfdCkKKwkJICA6ICh0cmlvX3VpbnRtYXhfdCkoKigocHRyZGlmZl90ICopYXJnYXJyYXlbbnVtXSkpOworCSAgICAgIGVsc2UKKyNlbmRpZgorI2lmIGRlZmluZWQoUVVBTElGSUVSX0lOVE1BWF9UKQorCSAgICAgIGlmIChwYXJhbWV0ZXJzW2ldLmZsYWdzICYgRkxBR1NfSU5UTUFYX1QpCisJCXBhcmFtZXRlcnNbaV0uZGF0YS5udW1iZXIuYXNfdW5zaWduZWQgPSAoYXJnYXJyYXkgPT0gTlVMTCkKKwkJICA/ICh0cmlvX3VpbnRtYXhfdCl2YV9hcmcoVFJJT19WQV9MSVNUX0RFUkVGKGFyZ2xpc3QpLCB0cmlvX2ludG1heF90KQorCQkgIDogKHRyaW9fdWludG1heF90KSgqKCh0cmlvX2ludG1heF90ICopYXJnYXJyYXlbbnVtXSkpOworCSAgICAgIGVsc2UKKyNlbmRpZgorCSAgICAgIGlmIChwYXJhbWV0ZXJzW2ldLmZsYWdzICYgRkxBR1NfUVVBRCkKKwkJcGFyYW1ldGVyc1tpXS5kYXRhLm51bWJlci5hc191bnNpZ25lZCA9IChhcmdhcnJheSA9PSBOVUxMKQorCQkgID8gKHRyaW9fdWludG1heF90KXZhX2FyZyhUUklPX1ZBX0xJU1RfREVSRUYoYXJnbGlzdCksIHRyaW9fdWxvbmdsb25nX3QpCisJCSAgOiAodHJpb191aW50bWF4X3QpKCooKHRyaW9fdWxvbmdsb25nX3QgKilhcmdhcnJheVtudW1dKSk7CisJICAgICAgZWxzZSBpZiAocGFyYW1ldGVyc1tpXS5mbGFncyAmIEZMQUdTX0xPTkcpCisJCXBhcmFtZXRlcnNbaV0uZGF0YS5udW1iZXIuYXNfdW5zaWduZWQgPSAoYXJnYXJyYXkgPT0gTlVMTCkKKwkJICA/ICh0cmlvX3VpbnRtYXhfdCl2YV9hcmcoVFJJT19WQV9MSVNUX0RFUkVGKGFyZ2xpc3QpLCBsb25nKQorCQkgIDogKHRyaW9fdWludG1heF90KSgqKChsb25nICopYXJnYXJyYXlbbnVtXSkpOworCSAgICAgIGVsc2UKKwkJeworCQkgIGlmIChhcmdhcnJheSA9PSBOVUxMKQorCQkgICAgcGFyYW1ldGVyc1tpXS5kYXRhLm51bWJlci5hc191bnNpZ25lZCA9ICh0cmlvX3VpbnRtYXhfdCl2YV9hcmcoVFJJT19WQV9MSVNUX0RFUkVGKGFyZ2xpc3QpLCBpbnQpOworCQkgIGVsc2UKKwkJICAgIHsKKwkJICAgICAgaWYgKHBhcmFtZXRlcnNbaV0udHlwZSA9PSBGT1JNQVRfQ0hBUikKKwkJCXBhcmFtZXRlcnNbaV0uZGF0YS5udW1iZXIuYXNfdW5zaWduZWQgPSAodHJpb191aW50bWF4X3QpKCooKGNoYXIgKilhcmdhcnJheVtudW1dKSk7CisJCSAgICAgIGVsc2UgaWYgKHBhcmFtZXRlcnNbaV0uZmxhZ3MgJiBGTEFHU19TSE9SVCkKKwkJCXBhcmFtZXRlcnNbaV0uZGF0YS5udW1iZXIuYXNfdW5zaWduZWQgPSAodHJpb191aW50bWF4X3QpKCooKHNob3J0ICopYXJnYXJyYXlbbnVtXSkpOworCQkgICAgICBlbHNlCisJCQlwYXJhbWV0ZXJzW2ldLmRhdGEubnVtYmVyLmFzX3Vuc2lnbmVkID0gKHRyaW9fdWludG1heF90KSgqKChpbnQgKilhcmdhcnJheVtudW1dKSk7CisJCSAgICB9CisJCX0KKwkgICAgfQorCSAgYnJlYWs7CisKKwljYXNlIEZPUk1BVF9QQVJBTUVURVI6CisJICAvKgorCSAgICogVGhlIHBhcmFtZXRlciBmb3IgdGhlIHVzZXItZGVmaW5lZCBzcGVjaWZpZXIgaXMgYSBwb2ludGVyLAorCSAgICogd2hlcmVhcyB0aGUgcmVzdCAod2lkdGgsIHByZWNpc2lvbiwgYmFzZSkgdXNlcyBhbiBpbnRlZ2VyLgorCSAgICovCisJICBpZiAocGFyYW1ldGVyc1tpXS5mbGFncyAmIEZMQUdTX1VTRVJfREVGSU5FRCkKKwkgICAgcGFyYW1ldGVyc1tpXS5kYXRhLnBvaW50ZXIgPSAoYXJnYXJyYXkgPT0gTlVMTCkKKwkgICAgICA/IHZhX2FyZyhUUklPX1ZBX0xJU1RfREVSRUYoYXJnbGlzdCksIHRyaW9fcG9pbnRlcl90ICkKKwkgICAgICA6IGFyZ2FycmF5W251bV07CisJICBlbHNlCisJICAgIHBhcmFtZXRlcnNbaV0uZGF0YS5udW1iZXIuYXNfdW5zaWduZWQgPSAoYXJnYXJyYXkgPT0gTlVMTCkKKwkgICAgICA/ICh0cmlvX3VpbnRtYXhfdCl2YV9hcmcoVFJJT19WQV9MSVNUX0RFUkVGKGFyZ2xpc3QpLCBpbnQpCisJICAgICAgOiAodHJpb191aW50bWF4X3QpKCooKGludCAqKWFyZ2FycmF5W251bV0pKTsKKwkgIGJyZWFrOworCisJY2FzZSBGT1JNQVRfRE9VQkxFOgorCSAgaWYgKFRZUEVfU0NBTiA9PSB0eXBlKQorCSAgICB7CisJICAgICAgaWYgKHBhcmFtZXRlcnNbaV0uZmxhZ3MgJiBGTEFHU19MT05HRE9VQkxFKQorCQlwYXJhbWV0ZXJzW2ldLmRhdGEubG9uZ2RvdWJsZVBvaW50ZXIgPSAoYXJnYXJyYXkgPT0gTlVMTCkKKwkJICA/IHZhX2FyZyhUUklPX1ZBX0xJU1RfREVSRUYoYXJnbGlzdCksIHRyaW9fbG9uZ19kb3VibGVfdCAqKQorCQkgIDogKHRyaW9fbG9uZ19kb3VibGVfdCAqKWFyZ2FycmF5W251bV07CisJICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHsKKwkJICBpZiAocGFyYW1ldGVyc1tpXS5mbGFncyAmIEZMQUdTX0xPTkcpCisJCSAgICBwYXJhbWV0ZXJzW2ldLmRhdGEuZG91YmxlUG9pbnRlciA9IChhcmdhcnJheSA9PSBOVUxMKQorCQkgICAgICA/IHZhX2FyZyhUUklPX1ZBX0xJU1RfREVSRUYoYXJnbGlzdCksIGRvdWJsZSAqKQorCQkgICAgICA6IChkb3VibGUgKilhcmdhcnJheVtudW1dOworCQkgIGVsc2UKKwkJICAgIHBhcmFtZXRlcnNbaV0uZGF0YS5kb3VibGVQb2ludGVyID0gKGFyZ2FycmF5ID09IE5VTEwpCisJCSAgICAgID8gKGRvdWJsZSAqKXZhX2FyZyhUUklPX1ZBX0xJU1RfREVSRUYoYXJnbGlzdCksIGZsb2F0ICopCisJCSAgICAgIDogKGRvdWJsZSAqKSgoZmxvYXQgKilhcmdhcnJheVtudW1dKTsKKyAgICAgICAgICAgICAgICB9CisJICAgIH0KKwkgIGVsc2UKKwkgICAgeworCSAgICAgIGlmIChwYXJhbWV0ZXJzW2ldLmZsYWdzICYgRkxBR1NfTE9OR0RPVUJMRSkKKwkJcGFyYW1ldGVyc1tpXS5kYXRhLmxvbmdkb3VibGVOdW1iZXIgPSAoYXJnYXJyYXkgPT0gTlVMTCkKKwkJICA/IHZhX2FyZyhUUklPX1ZBX0xJU1RfREVSRUYoYXJnbGlzdCksIHRyaW9fbG9uZ19kb3VibGVfdCkKKwkJICA6ICh0cmlvX2xvbmdfZG91YmxlX3QpKCooKHRyaW9fbG9uZ19kb3VibGVfdCAqKWFyZ2FycmF5W251bV0pKTsKKwkgICAgICBlbHNlCisJCXsKKwkJICBpZiAoYXJnYXJyYXkgPT0gTlVMTCkKKwkJICAgIHBhcmFtZXRlcnNbaV0uZGF0YS5sb25nZG91YmxlTnVtYmVyID0KKwkJICAgICAgKHRyaW9fbG9uZ19kb3VibGVfdCl2YV9hcmcoVFJJT19WQV9MSVNUX0RFUkVGKGFyZ2xpc3QpLCBkb3VibGUpOworCQkgIGVsc2UKKwkJICAgIHsKKwkJICAgICAgaWYgKHBhcmFtZXRlcnNbaV0uZmxhZ3MgJiBGTEFHU19TSE9SVCkKKwkJCXBhcmFtZXRlcnNbaV0uZGF0YS5sb25nZG91YmxlTnVtYmVyID0KKwkJCSAgKHRyaW9fbG9uZ19kb3VibGVfdCkoKigoZmxvYXQgKilhcmdhcnJheVtudW1dKSk7CisJCSAgICAgIGVsc2UKKwkJCXBhcmFtZXRlcnNbaV0uZGF0YS5sb25nZG91YmxlTnVtYmVyID0KKwkJCSAgKHRyaW9fbG9uZ19kb3VibGVfdCkoKigoZG91YmxlICopYXJnYXJyYXlbbnVtXSkpOworCQkgICAgfQorCQl9CisJICAgIH0KKwkgIGJyZWFrOworCisjaWYgZGVmaW5lZChGT1JNQVRfRVJSTk8pCisJY2FzZSBGT1JNQVRfRVJSTk86CisJICBwYXJhbWV0ZXJzW2ldLmRhdGEuZXJyb3JOdW1iZXIgPSBzYXZlX2Vycm5vOworCSAgYnJlYWs7CisjZW5kaWYKKworCWRlZmF1bHQ6CisJICBicmVhazsKKwl9CisgICAgfSAvKiBmb3IgYWxsIHNwZWNpZmllcnMgKi8KKyAgcmV0dXJuIG51bTsKK30KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZPUk1BVFRJTkcKKyAqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBUcmlvV3JpdGVOdW1iZXIKKyAqCisgKiBEZXNjcmlwdGlvbjoKKyAqICBPdXRwdXQgYSBudW1iZXIuCisgKiAgVGhlIGNvbXBsZXhpdHkgb2YgdGhpcyBmdW5jdGlvbiBpcyBhIHJlc3VsdCBvZiB0aGUgY29tcGxleGl0eQorICogIG9mIHRoZSBkZXBlbmRlbmNpZXMgb2YgdGhlIGZsYWdzLgorICovCitUUklPX1BSSVZBVEUgdm9pZAorVHJpb1dyaXRlTnVtYmVyCitUUklPX0FSR1M2KChzZWxmLCBudW1iZXIsIGZsYWdzLCB3aWR0aCwgcHJlY2lzaW9uLCBiYXNlKSwKKwkgICB0cmlvX2NsYXNzX3QgKnNlbGYsCisJICAgdHJpb191aW50bWF4X3QgbnVtYmVyLAorCSAgIHRyaW9fZmxhZ3NfdCBmbGFncywKKwkgICBpbnQgd2lkdGgsCisJICAgaW50IHByZWNpc2lvbiwKKwkgICBpbnQgYmFzZSkKK3sKKyAgQk9PTEVBTl9UIGlzTmVnYXRpdmU7CisgIEJPT0xFQU5fVCBpc051bWJlclplcm87CisgIEJPT0xFQU5fVCBpc1ByZWNpc2lvblplcm87CisgIEJPT0xFQU5fVCBpZ25vcmVOdW1iZXI7CisgIGNoYXIgYnVmZmVyW01BWF9DSEFSU19JTih0cmlvX3VpbnRtYXhfdCkgKiAoMSArIE1BWF9MT0NBTEVfU0VQQVJBVE9SX0xFTkdUSCkgKyAxXTsKKyAgY2hhciAqYnVmZmVyZW5kOworICBjaGFyICpwb2ludGVyOworICBUUklPX0NPTlNUIGNoYXIgKmRpZ2l0czsKKyAgaW50IGk7CisgIGludCBsZW5ndGg7CisgIGNoYXIgKnA7CisgIGludCBjb3VudDsKKworICBhc3NlcnQoVkFMSUQoc2VsZikpOworICBhc3NlcnQoVkFMSUQoc2VsZi0+T3V0U3RyZWFtKSk7CisgIGFzc2VydCgoKGJhc2UgPj0gTUlOX0JBU0UpICYmIChiYXNlIDw9IE1BWF9CQVNFKSkgfHwgKGJhc2UgPT0gTk9fQkFTRSkpOworCisgIGRpZ2l0cyA9IChmbGFncyAmIEZMQUdTX1VQUEVSKSA/IGludGVybmFsRGlnaXRzVXBwZXIgOiBpbnRlcm5hbERpZ2l0c0xvd2VyOworICBpZiAoYmFzZSA9PSBOT19CQVNFKQorICAgIGJhc2UgPSBCQVNFX0RFQ0lNQUw7CisKKyAgaXNOdW1iZXJaZXJvID0gKG51bWJlciA9PSAwKTsKKyAgaXNQcmVjaXNpb25aZXJvID0gKHByZWNpc2lvbiA9PSAwKTsKKyAgaWdub3JlTnVtYmVyID0gKGlzTnVtYmVyWmVybworCQkgICYmIGlzUHJlY2lzaW9uWmVybworCQkgICYmICEoKGZsYWdzICYgRkxBR1NfQUxURVJOQVRJVkUpICYmIChiYXNlID09IEJBU0VfT0NUQUwpKSk7CisKKyAgaWYgKGZsYWdzICYgRkxBR1NfVU5TSUdORUQpCisgICAgeworICAgICAgaXNOZWdhdGl2ZSA9IEZBTFNFOworICAgICAgZmxhZ3MgJj0gfkZMQUdTX1NIT1dTSUdOOworICAgIH0KKyAgZWxzZQorICAgIHsKKyAgICAgIGlzTmVnYXRpdmUgPSAoKHRyaW9faW50bWF4X3QpbnVtYmVyIDwgMCk7CisgICAgICBpZiAoaXNOZWdhdGl2ZSkKKwludW1iZXIgPSAtKCh0cmlvX2ludG1heF90KW51bWJlcik7CisgICAgfQorCisgIGlmIChmbGFncyAmIEZMQUdTX1FVQUQpCisgICAgbnVtYmVyICY9ICh0cmlvX3Vsb25nbG9uZ190KS0xOworICBlbHNlIGlmIChmbGFncyAmIEZMQUdTX0xPTkcpCisgICAgbnVtYmVyICY9ICh1bnNpZ25lZCBsb25nKS0xOworICBlbHNlCisgICAgbnVtYmVyICY9ICh1bnNpZ25lZCBpbnQpLTE7CisKKyAgLyogQnVpbGQgbnVtYmVyICovCisgIHBvaW50ZXIgPSBidWZmZXJlbmQgPSAmYnVmZmVyW3NpemVvZihidWZmZXIpIC0gMV07CisgICpwb2ludGVyLS0gPSBOSUw7CisgIGZvciAoaSA9IDE7IGkgPCAoaW50KXNpemVvZihidWZmZXIpOyBpKyspCisgICAgeworICAgICAgKnBvaW50ZXItLSA9IGRpZ2l0c1tudW1iZXIgJSBiYXNlXTsKKyAgICAgIG51bWJlciAvPSBiYXNlOworICAgICAgaWYgKG51bWJlciA9PSAwKQorCWJyZWFrOworCisgICAgICBpZiAoKGZsYWdzICYgRkxBR1NfUVVPVEUpICYmIFRyaW9Gb2xsb3dlZEJ5U2VwYXJhdG9yKGkgKyAxKSkKKwl7CisJICAvKgorCSAgICogV2UgYXJlIGJ1aWxkaW5nIHRoZSBudW1iZXIgZnJvbSB0aGUgbGVhc3Qgc2lnbmlmaWNhbnQKKwkgICAqIHRvIHRoZSBtb3N0IHNpZ25pZmljYW50IGRpZ2l0LCBzbyB3ZSBoYXZlIHRvIGNvcHkgdGhlCisJICAgKiB0aG91c2FuZCBzZXBhcmF0b3IgYmFja3dhcmRzCisJICAgKi8KKwkgIGxlbmd0aCA9IGludGVybmFsVGhvdXNhbmRTZXBhcmF0b3JMZW5ndGg7CisJICBpZiAoKChpbnQpKHBvaW50ZXIgLSBidWZmZXIpIC0gbGVuZ3RoKSA+IDApCisJICAgIHsKKwkgICAgICBwID0gJmludGVybmFsVGhvdXNhbmRTZXBhcmF0b3JbbGVuZ3RoIC0gMV07CisJICAgICAgd2hpbGUgKGxlbmd0aC0tID4gMCkKKwkJKnBvaW50ZXItLSA9ICpwLS07CisJICAgIH0KKwl9CisgICAgfQorCisgIGlmICghIGlnbm9yZU51bWJlcikKKyAgICB7CisgICAgICAvKiBBZGp1c3Qgd2lkdGggKi8KKyAgICAgIHdpZHRoIC09IChidWZmZXJlbmQgLSBwb2ludGVyKSAtIDE7CisgICAgfQorCisgIC8qIEFkanVzdCBwcmVjaXNpb24gKi8KKyAgaWYgKE5PX1BSRUNJU0lPTiAhPSBwcmVjaXNpb24pCisgICAgeworICAgICAgcHJlY2lzaW9uIC09IChidWZmZXJlbmQgLSBwb2ludGVyKSAtIDE7CisgICAgICBpZiAocHJlY2lzaW9uIDwgMCkKKwlwcmVjaXNpb24gPSAwOworICAgICAgZmxhZ3MgfD0gRkxBR1NfTklMUEFERElORzsKKyAgICB9CisKKyAgLyogQ2FsY3VsYXRlIHBhZGRpbmcgKi8KKyAgY291bnQgPSAoISAoKGZsYWdzICYgRkxBR1NfTEVGVEFESlVTVCkgfHwgKHByZWNpc2lvbiA9PSBOT19QUkVDSVNJT04pKSkKKyAgICA/IHByZWNpc2lvbgorICAgIDogMDsKKworICAvKiBBZGp1c3Qgd2lkdGggZnVydGhlciAqLworICBpZiAoaXNOZWdhdGl2ZSB8fCAoZmxhZ3MgJiBGTEFHU19TSE9XU0lHTikgfHwgKGZsYWdzICYgRkxBR1NfU1BBQ0UpKQorICAgIHdpZHRoLS07CisgIGlmICgoZmxhZ3MgJiBGTEFHU19BTFRFUk5BVElWRSkgJiYgIWlzTnVtYmVyWmVybykKKyAgICB7CisgICAgICBzd2l0Y2ggKGJhc2UpCisJeworCWNhc2UgQkFTRV9CSU5BUlk6CisJY2FzZSBCQVNFX0hFWDoKKwkgIHdpZHRoIC09IDI7CisJICBicmVhazsKKwljYXNlIEJBU0VfT0NUQUw6CisJICBpZiAoIShmbGFncyAmIEZMQUdTX05JTFBBRERJTkcpIHx8IChjb3VudCA9PSAwKSkKKwkgICAgd2lkdGgtLTsKKwkgIGJyZWFrOworCWRlZmF1bHQ6CisJICBicmVhazsKKwl9CisgICAgfQorCisgIC8qIE91dHB1dCBwcmVmaXhlcyBzcGFjZXMgaWYgbmVlZGVkICovCisgIGlmICghICgoZmxhZ3MgJiBGTEFHU19MRUZUQURKVVNUKSB8fAorCSAoKGZsYWdzICYgRkxBR1NfTklMUEFERElORykgJiYgKHByZWNpc2lvbiA9PSBOT19QUkVDSVNJT04pKSkpCisgICAgeworICAgICAgd2hpbGUgKHdpZHRoLS0gPiBjb3VudCkKKwlzZWxmLT5PdXRTdHJlYW0oc2VsZiwgQ0hBUl9BREpVU1QpOworICAgIH0KKworICAvKiB3aWR0aCBoYXMgYmVlbiBhZGp1c3RlZCBmb3Igc2lnbnMgYW5kIGFsdGVybmF0aXZlcyAqLworICBpZiAoaXNOZWdhdGl2ZSkKKyAgICBzZWxmLT5PdXRTdHJlYW0oc2VsZiwgJy0nKTsKKyAgZWxzZSBpZiAoZmxhZ3MgJiBGTEFHU19TSE9XU0lHTikKKyAgICBzZWxmLT5PdXRTdHJlYW0oc2VsZiwgJysnKTsKKyAgZWxzZSBpZiAoZmxhZ3MgJiBGTEFHU19TUEFDRSkKKyAgICBzZWxmLT5PdXRTdHJlYW0oc2VsZiwgJyAnKTsKKworICAvKiBQcmVmaXggaXMgbm90IHdyaXR0ZW4gd2hlbiB0aGUgdmFsdWUgaXMgemVybyAqLworICBpZiAoKGZsYWdzICYgRkxBR1NfQUxURVJOQVRJVkUpICYmICFpc051bWJlclplcm8pCisgICAgeworICAgICAgc3dpdGNoIChiYXNlKQorCXsKKwljYXNlIEJBU0VfQklOQVJZOgorCSAgc2VsZi0+T3V0U3RyZWFtKHNlbGYsICcwJyk7CisJICBzZWxmLT5PdXRTdHJlYW0oc2VsZiwgKGZsYWdzICYgRkxBR1NfVVBQRVIpID8gJ0InIDogJ2InKTsKKwkgIGJyZWFrOworCisJY2FzZSBCQVNFX09DVEFMOgorCSAgaWYgKCEoZmxhZ3MgJiBGTEFHU19OSUxQQURESU5HKSB8fCAoY291bnQgPT0gMCkpCisJICAgIHNlbGYtPk91dFN0cmVhbShzZWxmLCAnMCcpOworCSAgYnJlYWs7CisKKwljYXNlIEJBU0VfSEVYOgorCSAgc2VsZi0+T3V0U3RyZWFtKHNlbGYsICcwJyk7CisJICBzZWxmLT5PdXRTdHJlYW0oc2VsZiwgKGZsYWdzICYgRkxBR1NfVVBQRVIpID8gJ1gnIDogJ3gnKTsKKwkgIGJyZWFrOworCisJZGVmYXVsdDoKKwkgIGJyZWFrOworCX0gLyogc3dpdGNoIGJhc2UgKi8KKyAgICB9CisKKyAgLyogT3V0cHV0IHByZWZpeGVkIHplcm8gcGFkZGluZyBpZiBuZWVkZWQgKi8KKyAgaWYgKGZsYWdzICYgRkxBR1NfTklMUEFERElORykKKyAgICB7CisgICAgICBpZiAocHJlY2lzaW9uID09IE5PX1BSRUNJU0lPTikKKwlwcmVjaXNpb24gPSB3aWR0aDsKKyAgICAgIHdoaWxlIChwcmVjaXNpb24tLSA+IDApCisJeworCSAgc2VsZi0+T3V0U3RyZWFtKHNlbGYsICcwJyk7CisJICB3aWR0aC0tOworCX0KKyAgICB9CisKKyAgaWYgKCEgaWdub3JlTnVtYmVyKQorICAgIHsKKyAgICAgIC8qIE91dHB1dCB0aGUgbnVtYmVyIGl0c2VsZiAqLworICAgICAgd2hpbGUgKCooKytwb2ludGVyKSkKKwl7CisJICBzZWxmLT5PdXRTdHJlYW0oc2VsZiwgKnBvaW50ZXIpOworCX0KKyAgICB9CisKKyAgLyogT3V0cHV0IHRyYWlsaW5nIHNwYWNlcyBpZiBuZWVkZWQgKi8KKyAgaWYgKGZsYWdzICYgRkxBR1NfTEVGVEFESlVTVCkKKyAgICB7CisgICAgICB3aGlsZSAod2lkdGgtLSA+IDApCisJc2VsZi0+T3V0U3RyZWFtKHNlbGYsIENIQVJfQURKVVNUKTsKKyAgICB9Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBUcmlvV3JpdGVTdHJpbmdDaGFyYWN0ZXIKKyAqCisgKiBEZXNjcmlwdGlvbjoKKyAqICBPdXRwdXQgYSBzaW5nbGUgY2hhcmFjdGVyIG9mIGEgc3RyaW5nCisgKi8KK1RSSU9fUFJJVkFURSB2b2lkCitUcmlvV3JpdGVTdHJpbmdDaGFyYWN0ZXIKK1RSSU9fQVJHUzMoKHNlbGYsIGNoLCBmbGFncyksCisJICAgdHJpb19jbGFzc190ICpzZWxmLAorCSAgIGludCBjaCwKKwkgICB0cmlvX2ZsYWdzX3QgZmxhZ3MpCit7CisgIGlmIChmbGFncyAmIEZMQUdTX0FMVEVSTkFUSVZFKQorICAgIHsKKyAgICAgIGlmICghIGlzcHJpbnQoY2gpKQorCXsKKwkgIC8qCisJICAgKiBOb24tcHJpbnRhYmxlIGNoYXJhY3RlcnMgYXJlIGNvbnZlcnRlZCB0byBDIGVzY2FwZXMgb3IKKwkgICAqIFxudW1iZXIsIGlmIG5vIEMgZXNjYXBlIGV4aXN0cy4KKwkgICAqLworCSAgc2VsZi0+T3V0U3RyZWFtKHNlbGYsIENIQVJfQkFDS1NMQVNIKTsKKwkgIHN3aXRjaCAoY2gpCisJICAgIHsKKwkgICAgY2FzZSAnXDAwNyc6IHNlbGYtPk91dFN0cmVhbShzZWxmLCAnYScpOyBicmVhazsKKwkgICAgY2FzZSAnXGInOiBzZWxmLT5PdXRTdHJlYW0oc2VsZiwgJ2InKTsgYnJlYWs7CisJICAgIGNhc2UgJ1xmJzogc2VsZi0+T3V0U3RyZWFtKHNlbGYsICdmJyk7IGJyZWFrOworCSAgICBjYXNlICdcbic6IHNlbGYtPk91dFN0cmVhbShzZWxmLCAnbicpOyBicmVhazsKKwkgICAgY2FzZSAnXHInOiBzZWxmLT5PdXRTdHJlYW0oc2VsZiwgJ3InKTsgYnJlYWs7CisJICAgIGNhc2UgJ1x0Jzogc2VsZi0+T3V0U3RyZWFtKHNlbGYsICd0Jyk7IGJyZWFrOworCSAgICBjYXNlICdcdic6IHNlbGYtPk91dFN0cmVhbShzZWxmLCAndicpOyBicmVhazsKKwkgICAgY2FzZSAnXFwnOiBzZWxmLT5PdXRTdHJlYW0oc2VsZiwgJ1xcJyk7IGJyZWFrOworCSAgICBkZWZhdWx0OgorCSAgICAgIHNlbGYtPk91dFN0cmVhbShzZWxmLCAneCcpOworCSAgICAgIFRyaW9Xcml0ZU51bWJlcihzZWxmLCAodHJpb191aW50bWF4X3QpY2gsCisJCQkgICAgICBGTEFHU19VTlNJR05FRCB8IEZMQUdTX05JTFBBRERJTkcsCisJCQkgICAgICAyLCAyLCBCQVNFX0hFWCk7CisJICAgICAgYnJlYWs7CisJICAgIH0KKwl9CisgICAgICBlbHNlIGlmIChjaCA9PSBDSEFSX0JBQ0tTTEFTSCkKKwl7CisJICBzZWxmLT5PdXRTdHJlYW0oc2VsZiwgQ0hBUl9CQUNLU0xBU0gpOworCSAgc2VsZi0+T3V0U3RyZWFtKHNlbGYsIENIQVJfQkFDS1NMQVNIKTsKKwl9CisgICAgICBlbHNlCisJeworCSAgc2VsZi0+T3V0U3RyZWFtKHNlbGYsIGNoKTsKKwl9CisgICAgfQorICBlbHNlCisgICAgeworICAgICAgc2VsZi0+T3V0U3RyZWFtKHNlbGYsIGNoKTsKKyAgICB9Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBUcmlvV3JpdGVTdHJpbmcKKyAqCisgKiBEZXNjcmlwdGlvbjoKKyAqICBPdXRwdXQgYSBzdHJpbmcKKyAqLworVFJJT19QUklWQVRFIHZvaWQKK1RyaW9Xcml0ZVN0cmluZworVFJJT19BUkdTNSgoc2VsZiwgc3RyaW5nLCBmbGFncywgd2lkdGgsIHByZWNpc2lvbiksCisJICAgdHJpb19jbGFzc190ICpzZWxmLAorCSAgIFRSSU9fQ09OU1QgY2hhciAqc3RyaW5nLAorCSAgIHRyaW9fZmxhZ3NfdCBmbGFncywKKwkgICBpbnQgd2lkdGgsCisJICAgaW50IHByZWNpc2lvbikKK3sKKyAgaW50IGxlbmd0aDsKKyAgaW50IGNoOworCisgIGFzc2VydChWQUxJRChzZWxmKSk7CisgIGFzc2VydChWQUxJRChzZWxmLT5PdXRTdHJlYW0pKTsKKworICBpZiAoc3RyaW5nID09IE5VTEwpCisgICAgeworICAgICAgc3RyaW5nID0gaW50ZXJuYWxOdWxsU3RyaW5nOworICAgICAgbGVuZ3RoID0gc2l6ZW9mKGludGVybmFsTnVsbFN0cmluZykgLSAxOworICAgICAgLyogRGlzYWJsZSBxdW90aW5nIGZvciB0aGUgbnVsbCBwb2ludGVyICovCisgICAgICBmbGFncyAmPSAofkZMQUdTX1FVT1RFKTsKKyAgICAgIHdpZHRoID0gMDsKKyAgICB9CisgIGVsc2UKKyAgICB7CisgICAgICBsZW5ndGggPSB0cmlvX2xlbmd0aChzdHJpbmcpOworICAgIH0KKyAgaWYgKChOT19QUkVDSVNJT04gIT0gcHJlY2lzaW9uKSAmJgorICAgICAgKHByZWNpc2lvbiA8IGxlbmd0aCkpCisgICAgeworICAgICAgbGVuZ3RoID0gcHJlY2lzaW9uOworICAgIH0KKyAgd2lkdGggLT0gbGVuZ3RoOworCisgIGlmIChmbGFncyAmIEZMQUdTX1FVT1RFKQorICAgIHNlbGYtPk91dFN0cmVhbShzZWxmLCBDSEFSX1FVT1RFKTsKKworICBpZiAoISAoZmxhZ3MgJiBGTEFHU19MRUZUQURKVVNUKSkKKyAgICB7CisgICAgICB3aGlsZSAod2lkdGgtLSA+IDApCisJc2VsZi0+T3V0U3RyZWFtKHNlbGYsIENIQVJfQURKVVNUKTsKKyAgICB9CisKKyAgd2hpbGUgKGxlbmd0aC0tID4gMCkKKyAgICB7CisgICAgICAvKiBUaGUgY3R5cGUgcGFyYW1ldGVycyBtdXN0IGJlIGFuIHVuc2lnbmVkIGNoYXIgKG9yIEVPRikgKi8KKyAgICAgIGNoID0gKGludCkoKHVuc2lnbmVkIGNoYXIpKCpzdHJpbmcrKykpOworICAgICAgVHJpb1dyaXRlU3RyaW5nQ2hhcmFjdGVyKHNlbGYsIGNoLCBmbGFncyk7CisgICAgfQorCisgIGlmIChmbGFncyAmIEZMQUdTX0xFRlRBREpVU1QpCisgICAgeworICAgICAgd2hpbGUgKHdpZHRoLS0gPiAwKQorCXNlbGYtPk91dFN0cmVhbShzZWxmLCBDSEFSX0FESlVTVCk7CisgICAgfQorICBpZiAoZmxhZ3MgJiBGTEFHU19RVU9URSkKKyAgICBzZWxmLT5PdXRTdHJlYW0oc2VsZiwgQ0hBUl9RVU9URSk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBUcmlvV3JpdGVXaWRlU3RyaW5nQ2hhcmFjdGVyCisgKgorICogRGVzY3JpcHRpb246CisgKiAgT3V0cHV0IGEgd2lkZSBzdHJpbmcgYXMgYSBtdWx0aS1ieXRlIHNlcXVlbmNlCisgKi8KKyNpZiBUUklPX1dJREVDSEFSCitUUklPX1BSSVZBVEUgaW50CitUcmlvV3JpdGVXaWRlU3RyaW5nQ2hhcmFjdGVyCitUUklPX0FSR1M0KChzZWxmLCB3Y2gsIGZsYWdzLCB3aWR0aCksCisJICAgdHJpb19jbGFzc190ICpzZWxmLAorCSAgIHRyaW9fd2NoYXJfdCB3Y2gsCisJICAgdHJpb19mbGFnc190IGZsYWdzLAorCSAgIGludCB3aWR0aCkKK3sKKyAgaW50IHNpemU7CisgIGludCBpOworICBpbnQgY2g7CisgIGNoYXIgKnN0cmluZzsKKyAgY2hhciBidWZmZXJbTUJfTEVOX01BWCArIDFdOworCisgIGlmICh3aWR0aCA9PSBOT19XSURUSCkKKyAgICB3aWR0aCA9IHNpemVvZihidWZmZXIpOworCisgIHNpemUgPSB3Y3RvbWIoYnVmZmVyLCB3Y2gpOworICBpZiAoKHNpemUgPD0gMCkgfHwgKHNpemUgPiB3aWR0aCkgfHwgKGJ1ZmZlclswXSA9PSBOSUwpKQorICAgIHJldHVybiAwOworCisgIHN0cmluZyA9IGJ1ZmZlcjsKKyAgaSA9IHNpemU7CisgIHdoaWxlICgod2lkdGggPj0gaSkgJiYgKHdpZHRoLS0gPiAwKSAmJiAoaS0tID4gMCkpCisgICAgeworICAgICAgLyogVGhlIGN0eXBlIHBhcmFtZXRlcnMgbXVzdCBiZSBhbiB1bnNpZ25lZCBjaGFyIChvciBFT0YpICovCisgICAgICBjaCA9IChpbnQpKCh1bnNpZ25lZCBjaGFyKSgqc3RyaW5nKyspKTsKKyAgICAgIFRyaW9Xcml0ZVN0cmluZ0NoYXJhY3RlcihzZWxmLCBjaCwgZmxhZ3MpOworICAgIH0KKyAgcmV0dXJuIHNpemU7Cit9CisjZW5kaWYgLyogVFJJT19XSURFQ0hBUiAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVHJpb1dyaXRlV2lkZVN0cmluZworICoKKyAqIERlc2NyaXB0aW9uOgorICogIE91dHB1dCBhIHdpZGUgY2hhcmFjdGVyIHN0cmluZyBhcyBhIG11bHRpLWJ5dGUgc3RyaW5nCisgKi8KKyNpZiBUUklPX1dJREVDSEFSCitUUklPX1BSSVZBVEUgdm9pZAorVHJpb1dyaXRlV2lkZVN0cmluZworVFJJT19BUkdTNSgoc2VsZiwgd3N0cmluZywgZmxhZ3MsIHdpZHRoLCBwcmVjaXNpb24pLAorCSAgIHRyaW9fY2xhc3NfdCAqc2VsZiwKKwkgICBUUklPX0NPTlNUIHRyaW9fd2NoYXJfdCAqd3N0cmluZywKKwkgICB0cmlvX2ZsYWdzX3QgZmxhZ3MsCisJICAgaW50IHdpZHRoLAorCSAgIGludCBwcmVjaXNpb24pCit7CisgIGludCBsZW5ndGg7CisgIGludCBzaXplOworCisgIGFzc2VydChWQUxJRChzZWxmKSk7CisgIGFzc2VydChWQUxJRChzZWxmLT5PdXRTdHJlYW0pKTsKKworI2lmIGRlZmluZWQoVFJJT19DT01QSUxFUl9TVVBQT1JUU19NVUxUSUJZVEUpCisgICh2b2lkKW1ibGVuKE5VTEwsIDApOworI2VuZGlmCisKKyAgaWYgKHdzdHJpbmcgPT0gTlVMTCkKKyAgICB7CisgICAgICBUcmlvV3JpdGVTdHJpbmcoc2VsZiwgTlVMTCwgZmxhZ3MsIHdpZHRoLCBwcmVjaXNpb24pOworICAgICAgcmV0dXJuOworICAgIH0KKworICBpZiAoTk9fUFJFQ0lTSU9OID09IHByZWNpc2lvbikKKyAgICB7CisgICAgICBsZW5ndGggPSBJTlRfTUFYOworICAgIH0KKyAgZWxzZQorICAgIHsKKyAgICAgIGxlbmd0aCA9IHByZWNpc2lvbjsKKyAgICAgIHdpZHRoIC09IGxlbmd0aDsKKyAgICB9CisKKyAgaWYgKGZsYWdzICYgRkxBR1NfUVVPVEUpCisgICAgc2VsZi0+T3V0U3RyZWFtKHNlbGYsIENIQVJfUVVPVEUpOworCisgIGlmICghIChmbGFncyAmIEZMQUdTX0xFRlRBREpVU1QpKQorICAgIHsKKyAgICAgIHdoaWxlICh3aWR0aC0tID4gMCkKKwlzZWxmLT5PdXRTdHJlYW0oc2VsZiwgQ0hBUl9BREpVU1QpOworICAgIH0KKworICB3aGlsZSAobGVuZ3RoID4gMCkKKyAgICB7CisgICAgICBzaXplID0gVHJpb1dyaXRlV2lkZVN0cmluZ0NoYXJhY3RlcihzZWxmLCAqd3N0cmluZysrLCBmbGFncywgbGVuZ3RoKTsKKyAgICAgIGlmIChzaXplID09IDApCisJYnJlYWs7IC8qIHdoaWxlICovCisgICAgICBsZW5ndGggLT0gc2l6ZTsKKyAgICB9CisKKyAgaWYgKGZsYWdzICYgRkxBR1NfTEVGVEFESlVTVCkKKyAgICB7CisgICAgICB3aGlsZSAod2lkdGgtLSA+IDApCisJc2VsZi0+T3V0U3RyZWFtKHNlbGYsIENIQVJfQURKVVNUKTsKKyAgICB9CisgIGlmIChmbGFncyAmIEZMQUdTX1FVT1RFKQorICAgIHNlbGYtPk91dFN0cmVhbShzZWxmLCBDSEFSX1FVT1RFKTsKK30KKyNlbmRpZiAvKiBUUklPX1dJREVDSEFSICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBUcmlvV3JpdGVEb3VibGUKKyAqCisgKiBodHRwOi8vd3d3b2xkLmRrdXVnLmRrL0pUQzEvU0MyMi9XRzE0L3d3dy9kb2NzL2RyXzIxMS5odG0KKyAqCisgKiAiNS4yLjQuMi4yIHBhcmFncmFwaCAjNAorICoKKyAqICBUaGUgYWNjdXJhY3kgWy4uLl0gaXMgaW1wbGVtZW50YXRpb24gZGVmaW5lZCwgYXMgaXMgdGhlIGFjY3VyYWN5CisgKiAgb2YgdGhlIGNvbnZlcnNpb24gYmV0d2VlbiBmbG9hdGluZy1wb2ludCBpbnRlcm5hbCByZXByZXNlbnRhdGlvbnMKKyAqICBhbmQgc3RyaW5nIHJlcHJlc2VudGF0aW9ucyBwZXJmb3JtZWQgYnkgdGhlIGxpYnJheSByb3V0aW5lIGluCisgKiAgPHN0ZGlvLmg+IgorICovCisvKiBGSVhNRTogaGFuZGxlIGFsbCBpbnN0YW5jZXMgb2YgY29uc3RhbnQgbG9uZy1kb3VibGUgbnVtYmVyIChMKQorICogICBhbmQgKmwoKSBtYXRoIGZ1bmN0aW9ucy4KKyAqLworVFJJT19QUklWQVRFIHZvaWQKK1RyaW9Xcml0ZURvdWJsZQorVFJJT19BUkdTNigoc2VsZiwgbnVtYmVyLCBmbGFncywgd2lkdGgsIHByZWNpc2lvbiwgYmFzZSksCisJICAgdHJpb19jbGFzc190ICpzZWxmLAorCSAgIHRyaW9fbG9uZ19kb3VibGVfdCBudW1iZXIsCisJICAgdHJpb19mbGFnc190IGZsYWdzLAorCSAgIGludCB3aWR0aCwKKwkgICBpbnQgcHJlY2lzaW9uLAorCSAgIGludCBiYXNlKQoreworICB0cmlvX2xvbmdfZG91YmxlX3QgaW50ZWdlck51bWJlcjsKKyAgdHJpb19sb25nX2RvdWJsZV90IGZyYWN0aW9uTnVtYmVyOworICB0cmlvX2xvbmdfZG91YmxlX3Qgd29ya051bWJlcjsKKyAgaW50IGludGVnZXJEaWdpdHM7CisgIGludCBmcmFjdGlvbkRpZ2l0czsKKyAgaW50IGV4cG9uZW50RGlnaXRzOworICBpbnQgYmFzZURpZ2l0czsKKyAgaW50IGludGVnZXJUaHJlc2hvbGQ7CisgIGludCBmcmFjdGlvblRocmVzaG9sZDsKKyAgaW50IGV4cGVjdGVkV2lkdGg7CisgIGludCBleHBvbmVudCA9IDA7CisgIHVuc2lnbmVkIGludCB1RXhwb25lbnQgPSAwOworICBpbnQgZXhwb25lbnRCYXNlOworICB0cmlvX2xvbmdfZG91YmxlX3QgZGJsQmFzZTsKKyAgdHJpb19sb25nX2RvdWJsZV90IGRibEludGVnZXJCYXNlOworICB0cmlvX2xvbmdfZG91YmxlX3QgZGJsRnJhY3Rpb25CYXNlOworICB0cmlvX2xvbmdfZG91YmxlX3QgaW50ZWdlckFkanVzdDsKKyAgdHJpb19sb25nX2RvdWJsZV90IGZyYWN0aW9uQWRqdXN0OworICBCT09MRUFOX1QgaXNOZWdhdGl2ZTsKKyAgQk9PTEVBTl9UIGlzRXhwb25lbnROZWdhdGl2ZSA9IEZBTFNFOworICBCT09MRUFOX1QgcmVxdWlyZVR3b0RpZ2l0RXhwb25lbnQ7CisgIEJPT0xFQU5fVCBpc0hleDsKKyAgVFJJT19DT05TVCBjaGFyICpkaWdpdHM7CisgIGNoYXIgKmdyb3VwaW5nUG9pbnRlcjsKKyAgaW50IGk7CisgIGludCBpbmRleDsKKyAgQk9PTEVBTl9UIGhhc09ubHlaZXJvZXM7CisgIGludCB6ZXJvZXMgPSAwOworICByZWdpc3RlciBpbnQgdHJhaWxpbmdaZXJvZXM7CisgIEJPT0xFQU5fVCBrZWVwVHJhaWxpbmdaZXJvZXM7CisgIEJPT0xFQU5fVCBrZWVwRGVjaW1hbFBvaW50OworICB0cmlvX2xvbmdfZG91YmxlX3QgZXBzaWxvbjsKKworICBhc3NlcnQoVkFMSUQoc2VsZikpOworICBhc3NlcnQoVkFMSUQoc2VsZi0+T3V0U3RyZWFtKSk7CisgIGFzc2VydCgoKGJhc2UgPj0gTUlOX0JBU0UpICYmIChiYXNlIDw9IE1BWF9CQVNFKSkgfHwgKGJhc2UgPT0gTk9fQkFTRSkpOworCisgIC8qIERldGVybWluZSBzaWduIGFuZCBsb29rIGZvciBzcGVjaWFsIHF1YW50aXRpZXMgKi8KKyAgc3dpdGNoICh0cmlvX2ZwY2xhc3NpZnlfYW5kX3NpZ25iaXQobnVtYmVyLCAmaXNOZWdhdGl2ZSkpCisgICAgeworICAgIGNhc2UgVFJJT19GUF9OQU46CisgICAgICBUcmlvV3JpdGVTdHJpbmcoc2VsZiwKKwkJICAgICAgKGZsYWdzICYgRkxBR1NfVVBQRVIpCisJCSAgICAgID8gTkFOX1VQUEVSCisJCSAgICAgIDogTkFOX0xPV0VSLAorCQkgICAgICBmbGFncywgd2lkdGgsIHByZWNpc2lvbik7CisgICAgICByZXR1cm47CisKKyAgICBjYXNlIFRSSU9fRlBfSU5GSU5JVEU6CisgICAgICBpZiAoaXNOZWdhdGl2ZSkKKwl7CisJICAvKiBOZWdhdGl2ZSBpbmZpbml0eSAqLworCSAgVHJpb1dyaXRlU3RyaW5nKHNlbGYsCisJCQkgIChmbGFncyAmIEZMQUdTX1VQUEVSKQorCQkJICA/ICItIiBJTkZJTklURV9VUFBFUgorCQkJICA6ICItIiBJTkZJTklURV9MT1dFUiwKKwkJCSAgZmxhZ3MsIHdpZHRoLCBwcmVjaXNpb24pOworCSAgcmV0dXJuOworCX0KKyAgICAgIGVsc2UKKwl7CisJICAvKiBQb3NpdGl2ZSBpbmZpbml0eSAqLworCSAgVHJpb1dyaXRlU3RyaW5nKHNlbGYsCisJCQkgIChmbGFncyAmIEZMQUdTX1VQUEVSKQorCQkJICA/IElORklOSVRFX1VQUEVSCisJCQkgIDogSU5GSU5JVEVfTE9XRVIsCisJCQkgIGZsYWdzLCB3aWR0aCwgcHJlY2lzaW9uKTsKKwkgIHJldHVybjsKKwl9CisKKyAgICBkZWZhdWx0OgorICAgICAgLyogRmluaXR1ZGUgKi8KKyAgICAgIGJyZWFrOworICAgIH0KKworICAvKiBOb3JtYWwgbnVtYmVycyAqLworICBpZiAoZmxhZ3MgJiBGTEFHU19MT05HRE9VQkxFKQorICAgIHsKKyAgICAgIGJhc2VEaWdpdHMgPSAoYmFzZSA9PSAxMCkKKwk/IExEQkxfRElHCisJOiAoaW50KWZsb29yKExEQkxfTUFOVF9ESUcgLyBUcmlvTG9nYXJpdGhtQmFzZShiYXNlKSk7CisgICAgICBlcHNpbG9uID0gTERCTF9FUFNJTE9OOworICAgIH0KKyAgZWxzZSBpZiAoZmxhZ3MgJiBGTEFHU19TSE9SVCkKKyAgICB7CisgICAgICBiYXNlRGlnaXRzID0gKGJhc2UgPT0gQkFTRV9ERUNJTUFMKQorCT8gRkxUX0RJRworCTogKGludClmbG9vcihGTFRfTUFOVF9ESUcgLyBUcmlvTG9nYXJpdGhtQmFzZShiYXNlKSk7CisgICAgICBlcHNpbG9uID0gRkxUX0VQU0lMT047CisgICAgfQorICBlbHNlCisgICAgeworICAgICAgYmFzZURpZ2l0cyA9IChiYXNlID09IEJBU0VfREVDSU1BTCkKKwk/IERCTF9ESUcKKwk6IChpbnQpZmxvb3IoREJMX01BTlRfRElHIC8gVHJpb0xvZ2FyaXRobUJhc2UoYmFzZSkpOworICAgICAgZXBzaWxvbiA9IERCTF9FUFNJTE9OOworICAgIH0KKworICBkaWdpdHMgPSAoZmxhZ3MgJiBGTEFHU19VUFBFUikgPyBpbnRlcm5hbERpZ2l0c1VwcGVyIDogaW50ZXJuYWxEaWdpdHNMb3dlcjsKKyAgaXNIZXggPSAoYmFzZSA9PSBCQVNFX0hFWCk7CisgIGlmIChiYXNlID09IE5PX0JBU0UpCisgICAgYmFzZSA9IEJBU0VfREVDSU1BTDsKKyAgZGJsQmFzZSA9ICh0cmlvX2xvbmdfZG91YmxlX3QpYmFzZTsKKyAga2VlcFRyYWlsaW5nWmVyb2VzID0gISggKGZsYWdzICYgRkxBR1NfUk9VTkRJTkcpIHx8CisJCQkgICggKGZsYWdzICYgRkxBR1NfRkxPQVRfRykgJiYKKwkJCSAgICAhKGZsYWdzICYgRkxBR1NfQUxURVJOQVRJVkUpICkgKTsKKworICBpZiAoZmxhZ3MgJiBGTEFHU19ST1VORElORykKKyAgICBwcmVjaXNpb24gPSBiYXNlRGlnaXRzOworCisgIGlmIChwcmVjaXNpb24gPT0gTk9fUFJFQ0lTSU9OKQorICAgIHsKKyAgICAgIGlmIChpc0hleCkKKwl7CisJICBrZWVwVHJhaWxpbmdaZXJvZXMgPSBGQUxTRTsKKwkgIHByZWNpc2lvbiA9IEZMVF9NQU5UX0RJRzsKKwl9CisgICAgICBlbHNlCisJeworCSAgcHJlY2lzaW9uID0gRkxUX0RJRzsKKwl9CisgICAgfQorCisgIGlmIChpc05lZ2F0aXZlKQorICAgIG51bWJlciA9IC1udW1iZXI7CisKKyAgaWYgKGlzSGV4KQorICAgIGZsYWdzIHw9IEZMQUdTX0ZMT0FUX0U7CisKKyAgaWYgKGZsYWdzICYgRkxBR1NfRkxPQVRfRykKKyAgICB7CisgICAgICBpZiAocHJlY2lzaW9uID09IDApCisJcHJlY2lzaW9uID0gMTsKKworICAgICAgaWYgKChudW1iZXIgPCAxLjBFLTQpIHx8IChudW1iZXIgPiBwb3dsKGJhc2UsCisJCQkJCSAgICAgICh0cmlvX2xvbmdfZG91YmxlX3QpcHJlY2lzaW9uKSkpCisJeworCSAgLyogVXNlIHNjaWVudGlmaWMgbm90YXRpb24gKi8KKwkgIGZsYWdzIHw9IEZMQUdTX0ZMT0FUX0U7CisJfQorICAgICAgZWxzZSBpZiAobnVtYmVyIDwgMS4wKQorCXsKKwkgIC8qCisJICAgKiBVc2Ugbm9ybWFsIG5vdGF0aW9uLiBJZiB0aGUgaW50ZWdlciBwYXJ0IG9mIHRoZSBudW1iZXIgaXMKKwkgICAqIHplcm8sIHRoZW4gYWRqdXN0IHRoZSBwcmVjaXNpb24gdG8gaW5jbHVkZSBsZWFkaW5nIGZyYWN0aW9uYWwKKwkgICAqIHplcm9zLgorCSAgICovCisJICB3b3JrTnVtYmVyID0gVHJpb0xvZ2FyaXRobShudW1iZXIsIGJhc2UpOworCSAgd29ya051bWJlciA9IFRSSU9fRkFCUyh3b3JrTnVtYmVyKTsKKwkgIGlmICh3b3JrTnVtYmVyIC0gZmxvb3JsKHdvcmtOdW1iZXIpIDwgMC4wMDEpCisJICAgIHdvcmtOdW1iZXItLTsKKwkgIHplcm9lcyA9IChpbnQpZmxvb3JsKHdvcmtOdW1iZXIpOworCX0KKyAgICB9CisKKyAgaWYgKGZsYWdzICYgRkxBR1NfRkxPQVRfRSkKKyAgICB7CisgICAgICAvKiBTY2FsZSB0aGUgbnVtYmVyICovCisgICAgICB3b3JrTnVtYmVyID0gVHJpb0xvZ2FyaXRobShudW1iZXIsIGJhc2UpOworICAgICAgaWYgKHRyaW9faXNpbmYod29ya051bWJlcikgPT0gLTEpCisJeworCSAgZXhwb25lbnQgPSAwOworCSAgLyogVW5kbyBzZXR0aW5nICovCisJICBpZiAoZmxhZ3MgJiBGTEFHU19GTE9BVF9HKQorCSAgICBmbGFncyAmPSB+RkxBR1NfRkxPQVRfRTsKKwl9CisgICAgICBlbHNlCisJeworCSAgZXhwb25lbnQgPSAoaW50KWZsb29ybCh3b3JrTnVtYmVyKTsKKwkgIG51bWJlciAvPSBwb3dsKGRibEJhc2UsICh0cmlvX2xvbmdfZG91YmxlX3QpZXhwb25lbnQpOworCSAgaXNFeHBvbmVudE5lZ2F0aXZlID0gKGV4cG9uZW50IDwgMCk7CisJICB1RXhwb25lbnQgPSAoaXNFeHBvbmVudE5lZ2F0aXZlKSA/IC1leHBvbmVudCA6IGV4cG9uZW50OworCSAgaWYgKGlzSGV4KQorCSAgICB1RXhwb25lbnQgKj0gNDsgLyogbG9nMTYoMikgKi8KKwkgIC8qIE5vIHRob3VzYW5kIHNlcGFyYXRvcnMgKi8KKwkgIGZsYWdzICY9IH5GTEFHU19RVU9URTsKKwl9CisgICAgfQorCisgIGludGVnZXJOdW1iZXIgPSBmbG9vcmwobnVtYmVyKTsKKyAgZnJhY3Rpb25OdW1iZXIgPSBudW1iZXIgLSBpbnRlZ2VyTnVtYmVyOworCisgIC8qCisgICAqIFRydW5jYXRlZCBudW1iZXIuCisgICAqCisgICAqIFByZWNpc2lvbiBpcyBudW1iZXIgb2Ygc2lnbmlmaWNhbnQgZGlnaXRzIGZvciBGTE9BVF9HCisgICAqIGFuZCBudW1iZXIgb2YgZnJhY3Rpb25hbCBkaWdpdHMgZm9yIG90aGVycy4KKyAgICovCisgIGludGVnZXJEaWdpdHMgPSAoaW50ZWdlck51bWJlciA+IGVwc2lsb24pCisgICAgPyAxICsgKGludClUcmlvTG9nYXJpdGhtKGludGVnZXJOdW1iZXIsIGJhc2UpCisgICAgOiAxOworICBmcmFjdGlvbkRpZ2l0cyA9ICgoZmxhZ3MgJiBGTEFHU19GTE9BVF9HKSAmJiAoemVyb2VzID09IDApKQorICAgID8gcHJlY2lzaW9uIC0gaW50ZWdlckRpZ2l0cworICAgIDogemVyb2VzICsgcHJlY2lzaW9uOworCisgIGRibEZyYWN0aW9uQmFzZSA9IFRyaW9Qb3dlcihiYXNlLCBmcmFjdGlvbkRpZ2l0cyk7CisKKyAgd29ya051bWJlciA9IG51bWJlciArIDAuNSAvIGRibEZyYWN0aW9uQmFzZTsKKyAgaWYgKGZsb29ybChudW1iZXIpICE9IGZsb29ybCh3b3JrTnVtYmVyKSkKKyAgICB7CisgICAgICBpZiAoZmxhZ3MgJiBGTEFHU19GTE9BVF9FKQorCXsKKwkgIC8qIEFkanVzdCBpZiBudW1iZXIgd2FzIHJvdW5kZWQgdXAgb25lIGRpZ2l0IChpZS4gMC45OSB0byAxLjAwKSAqLworCSAgZXhwb25lbnQrKzsKKwkgIGlzRXhwb25lbnROZWdhdGl2ZSA9IChleHBvbmVudCA8IDApOworCSAgdUV4cG9uZW50ID0gKGlzRXhwb25lbnROZWdhdGl2ZSkgPyAtZXhwb25lbnQgOiBleHBvbmVudDsKKwkgIGlmIChpc0hleCkKKwkgICAgdUV4cG9uZW50ICo9IDQ7IC8qIGxvZzE2KDIpICovCisJICB3b3JrTnVtYmVyID0gKG51bWJlciArIDAuNSAvIGRibEZyYWN0aW9uQmFzZSkgLyBkYmxCYXNlOworCSAgaW50ZWdlck51bWJlciA9IGZsb29ybCh3b3JrTnVtYmVyKTsKKwkgIGZyYWN0aW9uTnVtYmVyID0gd29ya051bWJlciAtIGludGVnZXJOdW1iZXI7CisJfQorICAgICAgZWxzZQorCXsKKwkgIC8qIEFkanVzdCBpZiBudW1iZXIgd2FzIHJvdW5kZWQgdXAgb25lIGRpZ2l0IChpZS4gOTkgdG8gMTAwKSAqLworCSAgaW50ZWdlck51bWJlciA9IGZsb29ybChudW1iZXIgKyAwLjUpOworCSAgZnJhY3Rpb25OdW1iZXIgPSAwLjA7CisJICBpbnRlZ2VyRGlnaXRzID0gKGludGVnZXJOdW1iZXIgPiBlcHNpbG9uKQorCSAgICA/IDEgKyAoaW50KVRyaW9Mb2dhcml0aG0oaW50ZWdlck51bWJlciwgYmFzZSkKKwkgICAgOiAxOworCX0KKyAgICB9CisKKyAgLyogRXN0aW1hdGUgYWNjdXJhY3kgKi8KKyAgaW50ZWdlckFkanVzdCA9IGZyYWN0aW9uQWRqdXN0ID0gMC41OworICBpZiAoZmxhZ3MgJiBGTEFHU19ST1VORElORykKKyAgICB7CisgICAgICBpZiAoaW50ZWdlckRpZ2l0cyA+IGJhc2VEaWdpdHMpCisJeworCSAgaW50ZWdlclRocmVzaG9sZCA9IGJhc2VEaWdpdHM7CisJICBmcmFjdGlvbkRpZ2l0cyA9IDA7CisJICBkYmxGcmFjdGlvbkJhc2UgPSAxLjA7CisJICBmcmFjdGlvblRocmVzaG9sZCA9IDA7CisJICBwcmVjaXNpb24gPSAwOyAvKiBEaXNhYmxlIGRlY2ltYWwtcG9pbnQgKi8KKwkgIGludGVnZXJBZGp1c3QgPSBUcmlvUG93ZXIoYmFzZSwgaW50ZWdlckRpZ2l0cyAtIGludGVnZXJUaHJlc2hvbGQgLSAxKTsKKwkgIGZyYWN0aW9uQWRqdXN0ID0gMC4wOworCX0KKyAgICAgIGVsc2UKKwl7CisJICBpbnRlZ2VyVGhyZXNob2xkID0gaW50ZWdlckRpZ2l0czsKKwkgIGZyYWN0aW9uVGhyZXNob2xkID0gZnJhY3Rpb25EaWdpdHMgLSBpbnRlZ2VyVGhyZXNob2xkOworCSAgZnJhY3Rpb25BZGp1c3QgPSAxLjA7CisJfQorICAgIH0KKyAgZWxzZQorICAgIHsKKyAgICAgIGludGVnZXJUaHJlc2hvbGQgPSBJTlRfTUFYOworICAgICAgZnJhY3Rpb25UaHJlc2hvbGQgPSBJTlRfTUFYOworICAgIH0KKworICAvKgorICAgKiBDYWxjdWxhdGUgZXhwZWN0ZWQgd2lkdGguCisgICAqICBzaWduICsgaW50ZWdlciBwYXJ0ICsgdGhvdXNhbmRzIHNlcGFyYXRvcnMgKyBkZWNpbWFsIHBvaW50CisgICAqICArIGZyYWN0aW9uICsgZXhwb25lbnQKKyAgICovCisgIGZyYWN0aW9uQWRqdXN0IC89IGRibEZyYWN0aW9uQmFzZTsKKyAgaGFzT25seVplcm9lcyA9IChmbG9vcmwoKGZyYWN0aW9uTnVtYmVyICsgZnJhY3Rpb25BZGp1c3QpICogZGJsRnJhY3Rpb25CYXNlKSA8IGVwc2lsb24pOworICBrZWVwRGVjaW1hbFBvaW50ID0gKCAoZmxhZ3MgJiBGTEFHU19BTFRFUk5BVElWRSkgfHwKKwkJICAgICAgICEoKHByZWNpc2lvbiA9PSAwKSB8fAorCQkJICgha2VlcFRyYWlsaW5nWmVyb2VzICYmIGhhc09ubHlaZXJvZXMpKSApOworICBpZiAoZmxhZ3MgJiBGTEFHU19GTE9BVF9FKQorICAgIHsKKyAgICAgIGV4cG9uZW50RGlnaXRzID0gKHVFeHBvbmVudCA9PSAwKQorCT8gMQorCTogKGludCljZWlsKFRyaW9Mb2dhcml0aG0oKGRvdWJsZSkodUV4cG9uZW50ICsgMSksCisJCQkJICAoaXNIZXgpID8gMTAuMCA6IGJhc2UpKTsKKyAgICB9CisgIGVsc2UKKyAgICBleHBvbmVudERpZ2l0cyA9IDA7CisgIHJlcXVpcmVUd29EaWdpdEV4cG9uZW50ID0gKChiYXNlID09IEJBU0VfREVDSU1BTCkgJiYgKGV4cG9uZW50RGlnaXRzID09IDEpKTsKKworICBleHBlY3RlZFdpZHRoID0gaW50ZWdlckRpZ2l0cyArIGZyYWN0aW9uRGlnaXRzCisgICAgKyAoa2VlcERlY2ltYWxQb2ludAorICAgICAgID8gaW50ZXJuYWxEZWNpbWFsUG9pbnRMZW5ndGgKKyAgICAgICA6IDApCisgICAgKyAoKGZsYWdzICYgRkxBR1NfUVVPVEUpCisgICAgICAgPyBUcmlvQ2FsY1Rob3VzYW5kU2VwYXJhdG9yTGVuZ3RoKGludGVnZXJEaWdpdHMpCisgICAgICAgOiAwKTsKKyAgaWYgKGlzTmVnYXRpdmUgfHwgKGZsYWdzICYgRkxBR1NfU0hPV1NJR04pIHx8IChmbGFncyAmIEZMQUdTX1NQQUNFKSkKKyAgICBleHBlY3RlZFdpZHRoICs9IHNpemVvZigiLSIpIC0gMTsKKyAgaWYgKGV4cG9uZW50RGlnaXRzID4gMCkKKyAgICBleHBlY3RlZFdpZHRoICs9IGV4cG9uZW50RGlnaXRzICsKKyAgICAgICgocmVxdWlyZVR3b0RpZ2l0RXhwb25lbnQgPyBzaXplb2YoIkUrMCIpIDogc2l6ZW9mKCJFKyIpKSAtIDEpOworICBpZiAoaXNIZXgpCisgICAgZXhwZWN0ZWRXaWR0aCArPSBzaXplb2YoIjBYIikgLSAxOworCisgIC8qIE91dHB1dCBwcmVmaXhpbmcgKi8KKyAgaWYgKGZsYWdzICYgRkxBR1NfTklMUEFERElORykKKyAgICB7CisgICAgICAvKiBMZWFkaW5nIHplcm9zIG11c3QgYmUgYWZ0ZXIgc2lnbiAqLworICAgICAgaWYgKGlzTmVnYXRpdmUpCisJc2VsZi0+T3V0U3RyZWFtKHNlbGYsICctJyk7CisgICAgICBlbHNlIGlmIChmbGFncyAmIEZMQUdTX1NIT1dTSUdOKQorCXNlbGYtPk91dFN0cmVhbShzZWxmLCAnKycpOworICAgICAgZWxzZSBpZiAoZmxhZ3MgJiBGTEFHU19TUEFDRSkKKwlzZWxmLT5PdXRTdHJlYW0oc2VsZiwgJyAnKTsKKyAgICAgIGlmIChpc0hleCkKKwl7CisJICBzZWxmLT5PdXRTdHJlYW0oc2VsZiwgJzAnKTsKKwkgIHNlbGYtPk91dFN0cmVhbShzZWxmLCAoZmxhZ3MgJiBGTEFHU19VUFBFUikgPyAnWCcgOiAneCcpOworCX0KKyAgICAgIGlmICghKGZsYWdzICYgRkxBR1NfTEVGVEFESlVTVCkpCisJeworCSAgZm9yIChpID0gZXhwZWN0ZWRXaWR0aDsgaSA8IHdpZHRoOyBpKyspCisJICAgIHsKKwkgICAgICBzZWxmLT5PdXRTdHJlYW0oc2VsZiwgJzAnKTsKKwkgICAgfQorCX0KKyAgICB9CisgIGVsc2UKKyAgICB7CisgICAgICAvKiBMZWFkaW5nIHNwYWNlcyBtdXN0IGJlIGJlZm9yZSBzaWduICovCisgICAgICBpZiAoIShmbGFncyAmIEZMQUdTX0xFRlRBREpVU1QpKQorCXsKKwkgIGZvciAoaSA9IGV4cGVjdGVkV2lkdGg7IGkgPCB3aWR0aDsgaSsrKQorCSAgICB7CisJICAgICAgc2VsZi0+T3V0U3RyZWFtKHNlbGYsIENIQVJfQURKVVNUKTsKKwkgICAgfQorCX0KKyAgICAgIGlmIChpc05lZ2F0aXZlKQorCXNlbGYtPk91dFN0cmVhbShzZWxmLCAnLScpOworICAgICAgZWxzZSBpZiAoZmxhZ3MgJiBGTEFHU19TSE9XU0lHTikKKwlzZWxmLT5PdXRTdHJlYW0oc2VsZiwgJysnKTsKKyAgICAgIGVsc2UgaWYgKGZsYWdzICYgRkxBR1NfU1BBQ0UpCisJc2VsZi0+T3V0U3RyZWFtKHNlbGYsICcgJyk7CisgICAgICBpZiAoaXNIZXgpCisJeworCSAgc2VsZi0+T3V0U3RyZWFtKHNlbGYsICcwJyk7CisJICBzZWxmLT5PdXRTdHJlYW0oc2VsZiwgKGZsYWdzICYgRkxBR1NfVVBQRVIpID8gJ1gnIDogJ3gnKTsKKwl9CisgICAgfQorCisgIC8qIE91dHB1dCB0aGUgaW50ZWdlciBwYXJ0IGFuZCB0aG91c2FuZCBzZXBhcmF0b3JzICovCisgIGRibEludGVnZXJCYXNlID0gMS4wIC8gVHJpb1Bvd2VyKGJhc2UsIGludGVnZXJEaWdpdHMgLSAxKTsKKyAgZm9yIChpID0gMDsgaSA8IGludGVnZXJEaWdpdHM7IGkrKykKKyAgICB7CisgICAgICB3b3JrTnVtYmVyID0gZmxvb3JsKCgoaW50ZWdlck51bWJlciArIGludGVnZXJBZGp1c3QpICogZGJsSW50ZWdlckJhc2UpKTsKKyAgICAgIGlmIChpID4gaW50ZWdlclRocmVzaG9sZCkKKwl7CisJICAvKiBCZXlvbmQgYWNjdXJhY3kgKi8KKwkgIHNlbGYtPk91dFN0cmVhbShzZWxmLCBkaWdpdHNbMF0pOworCX0KKyAgICAgIGVsc2UKKwl7CisJICBzZWxmLT5PdXRTdHJlYW0oc2VsZiwgZGlnaXRzWyhpbnQpZm1vZGwod29ya051bWJlciwgZGJsQmFzZSldKTsKKwl9CisgICAgICBkYmxJbnRlZ2VyQmFzZSAqPSBkYmxCYXNlOworCisgICAgICBpZiAoKChmbGFncyAmIChGTEFHU19GTE9BVF9FIHwgRkxBR1NfUVVPVEUpKSA9PSBGTEFHU19RVU9URSkKKwkgICYmIFRyaW9Gb2xsb3dlZEJ5U2VwYXJhdG9yKGludGVnZXJEaWdpdHMgLSBpKSkKKwl7CisJICBmb3IgKGdyb3VwaW5nUG9pbnRlciA9IGludGVybmFsVGhvdXNhbmRTZXBhcmF0b3I7CisJICAgICAgICpncm91cGluZ1BvaW50ZXIgIT0gTklMOworCSAgICAgICBncm91cGluZ1BvaW50ZXIrKykKKwkgICAgeworCSAgICAgIHNlbGYtPk91dFN0cmVhbShzZWxmLCAqZ3JvdXBpbmdQb2ludGVyKTsKKwkgICAgfQorCX0KKyAgICB9CisKKyAgLyogSW5zZXJ0IGRlY2ltYWwgcG9pbnQgYW5kIGJ1aWxkIHRoZSBmcmFjdGlvbiBwYXJ0ICovCisgIHRyYWlsaW5nWmVyb2VzID0gMDsKKworICBpZiAoa2VlcERlY2ltYWxQb2ludCkKKyAgICB7CisgICAgICBpZiAoaW50ZXJuYWxEZWNpbWFsUG9pbnQpCisJeworCSAgc2VsZi0+T3V0U3RyZWFtKHNlbGYsIGludGVybmFsRGVjaW1hbFBvaW50KTsKKwl9CisgICAgICBlbHNlCisJeworCSAgZm9yIChpID0gMDsgaSA8IGludGVybmFsRGVjaW1hbFBvaW50TGVuZ3RoOyBpKyspCisJICAgIHsKKwkgICAgICBzZWxmLT5PdXRTdHJlYW0oc2VsZiwgaW50ZXJuYWxEZWNpbWFsUG9pbnRTdHJpbmdbaV0pOworCSAgICB9CisJfQorICAgIH0KKworICBmb3IgKGkgPSAwOyBpIDwgZnJhY3Rpb25EaWdpdHM7IGkrKykKKyAgICB7CisgICAgICBpZiAoKGludGVnZXJEaWdpdHMgPiBpbnRlZ2VyVGhyZXNob2xkKSB8fCAoaSA+IGZyYWN0aW9uVGhyZXNob2xkKSkKKwl7CisJICAvKiBCZXlvbmQgYWNjdXJhY3kgKi8KKwkgIHRyYWlsaW5nWmVyb2VzKys7CisJfQorICAgICAgZWxzZQorCXsKKwkgIGZyYWN0aW9uTnVtYmVyICo9IGRibEJhc2U7CisJICBmcmFjdGlvbkFkanVzdCAqPSBkYmxCYXNlOworCSAgd29ya051bWJlciA9IGZsb29ybChmcmFjdGlvbk51bWJlciArIGZyYWN0aW9uQWRqdXN0KTsKKwkgIGZyYWN0aW9uTnVtYmVyIC09IHdvcmtOdW1iZXI7CisJICBpbmRleCA9IChpbnQpZm1vZGwod29ya051bWJlciwgZGJsQmFzZSk7CisJICBpZiAoaW5kZXggPT0gMCkKKwkgICAgeworCSAgICAgIHRyYWlsaW5nWmVyb2VzKys7CisJICAgIH0KKwkgIGVsc2UKKwkgICAgeworCSAgICAgIHdoaWxlICh0cmFpbGluZ1plcm9lcyA+IDApCisJCXsKKwkJICAvKiBOb3QgdHJhaWxpbmcgemVyb2VzIGFmdGVyIGFsbCAqLworCQkgIHNlbGYtPk91dFN0cmVhbShzZWxmLCBkaWdpdHNbMF0pOworCQkgIHRyYWlsaW5nWmVyb2VzLS07CisJCX0KKwkgICAgICBzZWxmLT5PdXRTdHJlYW0oc2VsZiwgZGlnaXRzW2luZGV4XSk7CisJICAgIH0KKwl9CisgICAgfQorCisgIGlmIChrZWVwVHJhaWxpbmdaZXJvZXMpCisgICAgeworICAgICAgd2hpbGUgKHRyYWlsaW5nWmVyb2VzID4gMCkKKwl7CisJICBzZWxmLT5PdXRTdHJlYW0oc2VsZiwgZGlnaXRzWzBdKTsKKwkgIHRyYWlsaW5nWmVyb2VzLS07CisJfQorICAgIH0KKworICAvKiBPdXRwdXQgZXhwb25lbnQgKi8KKyAgaWYgKGV4cG9uZW50RGlnaXRzID4gMCkKKyAgICB7CisgICAgICBzZWxmLT5PdXRTdHJlYW0oc2VsZiwKKwkJICAgICAgaXNIZXgKKwkJICAgICAgPyAoKGZsYWdzICYgRkxBR1NfVVBQRVIpID8gJ1AnIDogJ3AnKQorCQkgICAgICA6ICgoZmxhZ3MgJiBGTEFHU19VUFBFUikgPyAnRScgOiAnZScpKTsKKyAgICAgIHNlbGYtPk91dFN0cmVhbShzZWxmLCAoaXNFeHBvbmVudE5lZ2F0aXZlKSA/ICctJyA6ICcrJyk7CisKKyAgICAgIC8qIFRoZSBleHBvbmVudCBtdXN0IGNvbnRhaW4gYXQgbGVhc3QgdHdvIGRpZ2l0cyAqLworICAgICAgaWYgKHJlcXVpcmVUd29EaWdpdEV4cG9uZW50KQorICAgICAgICBzZWxmLT5PdXRTdHJlYW0oc2VsZiwgJzAnKTsKKworICAgICAgaWYgKGlzSGV4KQorCWJhc2UgPSAxMC4wOworICAgICAgZXhwb25lbnRCYXNlID0gKGludClUcmlvUG93ZXIoYmFzZSwgZXhwb25lbnREaWdpdHMgLSAxKTsKKyAgICAgIGZvciAoaSA9IDA7IGkgPCBleHBvbmVudERpZ2l0czsgaSsrKQorCXsKKwkgIHNlbGYtPk91dFN0cmVhbShzZWxmLCBkaWdpdHNbKHVFeHBvbmVudCAvIGV4cG9uZW50QmFzZSkgJSBiYXNlXSk7CisJICBleHBvbmVudEJhc2UgLz0gYmFzZTsKKwl9CisgICAgfQorICAvKiBPdXRwdXQgdHJhaWxpbmcgc3BhY2VzICovCisgIGlmIChmbGFncyAmIEZMQUdTX0xFRlRBREpVU1QpCisgICAgeworICAgICAgZm9yIChpID0gZXhwZWN0ZWRXaWR0aDsgaSA8IHdpZHRoOyBpKyspCisJeworCSAgc2VsZi0+T3V0U3RyZWFtKHNlbGYsIENIQVJfQURKVVNUKTsKKwl9CisgICAgfQorfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVHJpb0Zvcm1hdFByb2Nlc3MKKyAqCisgKiBEZXNjcmlwdGlvbjoKKyAqICBUaGlzIGlzIHRoZSBtYWluIGVuZ2luZSBmb3IgZm9ybWF0dGluZyBvdXRwdXQKKyAqLworVFJJT19QUklWQVRFIGludAorVHJpb0Zvcm1hdFByb2Nlc3MKK1RSSU9fQVJHUzMoKGRhdGEsIGZvcm1hdCwgcGFyYW1ldGVycyksCisJICAgdHJpb19jbGFzc190ICpkYXRhLAorCSAgIFRSSU9fQ09OU1QgY2hhciAqZm9ybWF0LAorCSAgIHRyaW9fcGFyYW1ldGVyX3QgKnBhcmFtZXRlcnMpCit7CisjaWYgZGVmaW5lZChUUklPX0NPTVBJTEVSX1NVUFBPUlRTX01VTFRJQllURSkKKyAgaW50IGNoYXJsZW47CisjZW5kaWYKKyAgaW50IGk7CisgIFRSSU9fQ09OU1QgY2hhciAqc3RyaW5nOworICB0cmlvX3BvaW50ZXJfdCBwb2ludGVyOworICB0cmlvX2ZsYWdzX3QgZmxhZ3M7CisgIGludCB3aWR0aDsKKyAgaW50IHByZWNpc2lvbjsKKyAgaW50IGJhc2U7CisgIGludCBpbmRleDsKKworICBpbmRleCA9IDA7CisgIGkgPSAwOworI2lmIGRlZmluZWQoVFJJT19DT01QSUxFUl9TVVBQT1JUU19NVUxUSUJZVEUpCisgICh2b2lkKW1ibGVuKE5VTEwsIDApOworI2VuZGlmCisKKyAgd2hpbGUgKGZvcm1hdFtpbmRleF0pCisgICAgeworI2lmIGRlZmluZWQoVFJJT19DT01QSUxFUl9TVVBQT1JUU19NVUxUSUJZVEUpCisgICAgICBpZiAoISBpc2FzY2lpKGZvcm1hdFtpbmRleF0pKQorCXsKKwkgIGNoYXJsZW4gPSBtYmxlbigmZm9ybWF0W2luZGV4XSwgTUJfTEVOX01BWCk7CisJICAvKgorCSAgICogT25seSB2YWxpZCBtdWx0aWJ5dGUgY2hhcmFjdGVycyBhcmUgaGFuZGxlZCBoZXJlLiBJbnZhbGlkCisJICAgKiBtdWx0aWJ5dGUgY2hhcmFjdGVycyAoY2hhcmxlbiA9PSAtMSkgYXJlIGhhbmRsZWQgYXMgbm9ybWFsCisJICAgKiBjaGFyYWN0ZXJzLgorCSAgICovCisJICBpZiAoY2hhcmxlbiAhPSAtMSkKKwkgICAgeworCSAgICAgIHdoaWxlIChjaGFybGVuLS0gPiAwKQorCQl7CisJCSAgZGF0YS0+T3V0U3RyZWFtKGRhdGEsIGZvcm1hdFtpbmRleCsrXSk7CisJCX0KKwkgICAgICBjb250aW51ZTsgLyogd2hpbGUgY2hhcmFjdGVycyBsZWZ0IGluIGZvcm1hdHRpbmcgc3RyaW5nICovCisJICAgIH0KKwl9CisjZW5kaWYgLyogVFJJT19DT01QSUxFUl9TVVBQT1JUU19NVUxUSUJZVEUgKi8KKyAgICAgIGlmIChDSEFSX0lERU5USUZJRVIgPT0gZm9ybWF0W2luZGV4XSkKKwl7CisJICBpZiAoQ0hBUl9JREVOVElGSUVSID09IGZvcm1hdFtpbmRleCArIDFdKQorCSAgICB7CisJICAgICAgZGF0YS0+T3V0U3RyZWFtKGRhdGEsIENIQVJfSURFTlRJRklFUik7CisJICAgICAgaW5kZXggKz0gMjsKKwkgICAgfQorCSAgZWxzZQorCSAgICB7CisJICAgICAgLyogU2tpcCB0aGUgcGFyYW1ldGVyIGVudHJpZXMgKi8KKwkgICAgICB3aGlsZSAocGFyYW1ldGVyc1tpXS50eXBlID09IEZPUk1BVF9QQVJBTUVURVIpCisJCWkrKzsKKworCSAgICAgIGZsYWdzID0gcGFyYW1ldGVyc1tpXS5mbGFnczsKKworCSAgICAgIC8qIEZpbmQgd2lkdGggKi8KKwkgICAgICB3aWR0aCA9IHBhcmFtZXRlcnNbaV0ud2lkdGg7CisJICAgICAgaWYgKGZsYWdzICYgRkxBR1NfV0lEVEhfUEFSQU1FVEVSKQorCQl7CisJCSAgLyogR2V0IHdpZHRoIGZyb20gcGFyYW1ldGVyIGxpc3QgKi8KKwkJICB3aWR0aCA9IChpbnQpcGFyYW1ldGVyc1t3aWR0aF0uZGF0YS5udW1iZXIuYXNfc2lnbmVkOworCQkgIGlmICh3aWR0aCA8IDApCisJCSAgICB7CisJCSAgICAgIC8qCisJCSAgICAgICAqIEEgbmVnYXRpdmUgd2lkdGggaXMgdGhlIHNhbWUgYXMgdGhlIC0gZmxhZyBhbmQKKwkJICAgICAgICogYSBwb3NpdGl2ZSB3aWR0aC4KKwkJICAgICAgICovCisJCSAgICAgIGZsYWdzIHw9IEZMQUdTX0xFRlRBREpVU1Q7CisJCSAgICAgIGZsYWdzICY9IH5GTEFHU19OSUxQQURESU5HOworCQkgICAgICB3aWR0aCA9IC13aWR0aDsKKwkJICAgIH0KKwkJfQorCisJICAgICAgLyogRmluZCBwcmVjaXNpb24gKi8KKwkgICAgICBpZiAoZmxhZ3MgJiBGTEFHU19QUkVDSVNJT04pCisJCXsKKwkJICBwcmVjaXNpb24gPSBwYXJhbWV0ZXJzW2ldLnByZWNpc2lvbjsKKwkJICBpZiAoZmxhZ3MgJiBGTEFHU19QUkVDSVNJT05fUEFSQU1FVEVSKQorCQkgICAgeworCQkgICAgICAvKiBHZXQgcHJlY2lzaW9uIGZyb20gcGFyYW1ldGVyIGxpc3QgKi8KKwkJICAgICAgcHJlY2lzaW9uID0gKGludClwYXJhbWV0ZXJzW3ByZWNpc2lvbl0uZGF0YS5udW1iZXIuYXNfc2lnbmVkOworCQkgICAgICBpZiAocHJlY2lzaW9uIDwgMCkKKwkJCXsKKwkJCSAgLyoKKwkJCSAgICogQSBuZWdhdGl2ZSBwcmVjaXNpb24gaXMgdGhlIHNhbWUgYXMgbm8KKwkJCSAgICogcHJlY2lzaW9uCisJCQkgICAqLworCQkJICBwcmVjaXNpb24gPSBOT19QUkVDSVNJT047CisJCQl9CisJCSAgICB9CisJCX0KKwkgICAgICBlbHNlCisJCXsKKwkJICBwcmVjaXNpb24gPSBOT19QUkVDSVNJT047CisJCX0KKworCSAgICAgIC8qIEZpbmQgYmFzZSAqLworCSAgICAgIGJhc2UgPSBwYXJhbWV0ZXJzW2ldLmJhc2U7CisJICAgICAgaWYgKGZsYWdzICYgRkxBR1NfQkFTRV9QQVJBTUVURVIpCisJCXsKKwkJICAvKiBHZXQgYmFzZSBmcm9tIHBhcmFtZXRlciBsaXN0ICovCisJCSAgYmFzZSA9IChpbnQpcGFyYW1ldGVyc1tiYXNlXS5kYXRhLm51bWJlci5hc19zaWduZWQ7CisJCX0KKworCSAgICAgIHN3aXRjaCAocGFyYW1ldGVyc1tpXS50eXBlKQorCQl7CisJCWNhc2UgRk9STUFUX0NIQVI6CisJCSAgaWYgKGZsYWdzICYgRkxBR1NfUVVPVEUpCisJCSAgICBkYXRhLT5PdXRTdHJlYW0oZGF0YSwgQ0hBUl9RVU9URSk7CisJCSAgaWYgKCEgKGZsYWdzICYgRkxBR1NfTEVGVEFESlVTVCkpCisJCSAgICB7CisJCSAgICAgIHdoaWxlICgtLXdpZHRoID4gMCkKKwkJCWRhdGEtPk91dFN0cmVhbShkYXRhLCBDSEFSX0FESlVTVCk7CisJCSAgICB9CisjaWYgVFJJT19XSURFQ0hBUgorCQkgIGlmIChmbGFncyAmIEZMQUdTX1dJREVDSEFSKQorCQkgICAgeworCQkgICAgICBUcmlvV3JpdGVXaWRlU3RyaW5nQ2hhcmFjdGVyKGRhdGEsCisJCQkJCQkgICAodHJpb193Y2hhcl90KXBhcmFtZXRlcnNbaV0uZGF0YS5udW1iZXIuYXNfc2lnbmVkLAorCQkJCQkJICAgZmxhZ3MsCisJCQkJCQkgICBOT19XSURUSCk7CisJCSAgICB9CisJCSAgZWxzZQorI2VuZGlmCisJCSAgICB7CisJCSAgICAgIFRyaW9Xcml0ZVN0cmluZ0NoYXJhY3RlcihkYXRhLAorCQkJCQkgICAgICAgKGludClwYXJhbWV0ZXJzW2ldLmRhdGEubnVtYmVyLmFzX3NpZ25lZCwKKwkJCQkJICAgICAgIGZsYWdzKTsKKwkJICAgIH0KKworCQkgIGlmIChmbGFncyAmIEZMQUdTX0xFRlRBREpVU1QpCisJCSAgICB7CisJCSAgICAgIHdoaWxlKC0td2lkdGggPiAwKQorCQkJZGF0YS0+T3V0U3RyZWFtKGRhdGEsIENIQVJfQURKVVNUKTsKKwkJICAgIH0KKwkJICBpZiAoZmxhZ3MgJiBGTEFHU19RVU9URSkKKwkJICAgIGRhdGEtPk91dFN0cmVhbShkYXRhLCBDSEFSX1FVT1RFKTsKKworCQkgIGJyZWFrOyAvKiBGT1JNQVRfQ0hBUiAqLworCisJCWNhc2UgRk9STUFUX0lOVDoKKwkJICBUcmlvV3JpdGVOdW1iZXIoZGF0YSwKKwkJCQkgIHBhcmFtZXRlcnNbaV0uZGF0YS5udW1iZXIuYXNfdW5zaWduZWQsCisJCQkJICBmbGFncywKKwkJCQkgIHdpZHRoLAorCQkJCSAgcHJlY2lzaW9uLAorCQkJCSAgYmFzZSk7CisKKwkJICBicmVhazsgLyogRk9STUFUX0lOVCAqLworCisJCWNhc2UgRk9STUFUX0RPVUJMRToKKwkJICBUcmlvV3JpdGVEb3VibGUoZGF0YSwKKwkJCQkgIHBhcmFtZXRlcnNbaV0uZGF0YS5sb25nZG91YmxlTnVtYmVyLAorCQkJCSAgZmxhZ3MsCisJCQkJICB3aWR0aCwKKwkJCQkgIHByZWNpc2lvbiwKKwkJCQkgIGJhc2UpOworCQkgIGJyZWFrOyAvKiBGT1JNQVRfRE9VQkxFICovCisKKwkJY2FzZSBGT1JNQVRfU1RSSU5HOgorI2lmIFRSSU9fV0lERUNIQVIKKwkJICBpZiAoZmxhZ3MgJiBGTEFHU19XSURFQ0hBUikKKwkJICAgIHsKKwkJICAgICAgVHJpb1dyaXRlV2lkZVN0cmluZyhkYXRhLAorCQkJCQkgIHBhcmFtZXRlcnNbaV0uZGF0YS53c3RyaW5nLAorCQkJCQkgIGZsYWdzLAorCQkJCQkgIHdpZHRoLAorCQkJCQkgIHByZWNpc2lvbik7CisJCSAgICB9CisJCSAgZWxzZQorI2VuZGlmCisJCSAgICB7CisJCSAgICAgIFRyaW9Xcml0ZVN0cmluZyhkYXRhLAorCQkJCSAgICAgIHBhcmFtZXRlcnNbaV0uZGF0YS5zdHJpbmcsCisJCQkJICAgICAgZmxhZ3MsCisJCQkJICAgICAgd2lkdGgsCisJCQkJICAgICAgcHJlY2lzaW9uKTsKKwkJICAgIH0KKwkJICBicmVhazsgLyogRk9STUFUX1NUUklORyAqLworCisJCWNhc2UgRk9STUFUX1BPSU5URVI6CisJCSAgeworCQkgICAgdHJpb19yZWZlcmVuY2VfdCByZWZlcmVuY2U7CisKKwkJICAgIHJlZmVyZW5jZS5kYXRhID0gZGF0YTsKKwkJICAgIHJlZmVyZW5jZS5wYXJhbWV0ZXIgPSAmcGFyYW1ldGVyc1tpXTsKKwkJICAgIHRyaW9fcHJpbnRfcG9pbnRlcigmcmVmZXJlbmNlLCBwYXJhbWV0ZXJzW2ldLmRhdGEucG9pbnRlcik7CisJCSAgfQorCQkgIGJyZWFrOyAvKiBGT1JNQVRfUE9JTlRFUiAqLworCisJCWNhc2UgRk9STUFUX0NPVU5UOgorCQkgIHBvaW50ZXIgPSBwYXJhbWV0ZXJzW2ldLmRhdGEucG9pbnRlcjsKKwkJICBpZiAoTlVMTCAhPSBwb2ludGVyKQorCQkgICAgeworCQkgICAgICAvKgorCQkgICAgICAgKiBDOTkgcGFyYWdyYXBoIDcuMTkuNi4xLjggc2F5cyAidGhlIG51bWJlciBvZgorCQkgICAgICAgKiBjaGFyYWN0ZXJzIHdyaXR0ZW4gdG8gdGhlIG91dHB1dCBzdHJlYW0gc28gZmFyIGJ5CisJCSAgICAgICAqIHRoaXMgY2FsbCIsIHdoaWNoIGlzIGRhdGEtPmNvbW1pdHRlZAorCQkgICAgICAgKi8KKyNpZiBkZWZpbmVkKFFVQUxJRklFUl9TSVpFX1QpIHx8IGRlZmluZWQoUVVBTElGSUVSX1NJWkVfVF9VUFBFUikKKwkJICAgICAgaWYgKGZsYWdzICYgRkxBR1NfU0laRV9UKQorCQkJKihzaXplX3QgKilwb2ludGVyID0gKHNpemVfdClkYXRhLT5jb21taXR0ZWQ7CisJCSAgICAgIGVsc2UKKyNlbmRpZgorI2lmIGRlZmluZWQoUVVBTElGSUVSX1BUUkRJRkZfVCkKKwkJICAgICAgaWYgKGZsYWdzICYgRkxBR1NfUFRSRElGRl9UKQorCQkJKihwdHJkaWZmX3QgKilwb2ludGVyID0gKHB0cmRpZmZfdClkYXRhLT5jb21taXR0ZWQ7CisJCSAgICAgIGVsc2UKKyNlbmRpZgorI2lmIGRlZmluZWQoUVVBTElGSUVSX0lOVE1BWF9UKQorCQkgICAgICBpZiAoZmxhZ3MgJiBGTEFHU19JTlRNQVhfVCkKKwkJCSoodHJpb19pbnRtYXhfdCAqKXBvaW50ZXIgPSAodHJpb19pbnRtYXhfdClkYXRhLT5jb21taXR0ZWQ7CisJCSAgICAgIGVsc2UKKyNlbmRpZgorCQkgICAgICBpZiAoZmxhZ3MgJiBGTEFHU19RVUFEKQorCQkJeworCQkJICAqKHRyaW9fdWxvbmdsb25nX3QgKilwb2ludGVyID0gKHRyaW9fdWxvbmdsb25nX3QpZGF0YS0+Y29tbWl0dGVkOworCQkJfQorCQkgICAgICBlbHNlIGlmIChmbGFncyAmIEZMQUdTX0xPTkcpCisJCQl7CisJCQkgICoobG9uZyBpbnQgKilwb2ludGVyID0gKGxvbmcgaW50KWRhdGEtPmNvbW1pdHRlZDsKKwkJCX0KKwkJICAgICAgZWxzZSBpZiAoZmxhZ3MgJiBGTEFHU19TSE9SVCkKKwkJCXsKKwkJCSAgKihzaG9ydCBpbnQgKilwb2ludGVyID0gKHNob3J0IGludClkYXRhLT5jb21taXR0ZWQ7CisJCQl9CisJCSAgICAgIGVsc2UKKwkJCXsKKwkJCSAgKihpbnQgKilwb2ludGVyID0gKGludClkYXRhLT5jb21taXR0ZWQ7CisJCQl9CisJCSAgICB9CisJCSAgYnJlYWs7IC8qIEZPUk1BVF9DT1VOVCAqLworCisJCWNhc2UgRk9STUFUX1BBUkFNRVRFUjoKKwkJICBicmVhazsgLyogRk9STUFUX1BBUkFNRVRFUiAqLworCisjaWYgZGVmaW5lZChGT1JNQVRfRVJSTk8pCisJCWNhc2UgRk9STUFUX0VSUk5POgorCQkgIHN0cmluZyA9IHRyaW9fZXJyb3IocGFyYW1ldGVyc1tpXS5kYXRhLmVycm9yTnVtYmVyKTsKKwkJICBpZiAoc3RyaW5nKQorCQkgICAgeworCQkgICAgICBUcmlvV3JpdGVTdHJpbmcoZGF0YSwKKwkJCQkgICAgICBzdHJpbmcsCisJCQkJICAgICAgZmxhZ3MsCisJCQkJICAgICAgd2lkdGgsCisJCQkJICAgICAgcHJlY2lzaW9uKTsKKwkJICAgIH0KKwkJICBlbHNlCisJCSAgICB7CisJCSAgICAgIGRhdGEtPk91dFN0cmVhbShkYXRhLCAnIycpOworCQkgICAgICBUcmlvV3JpdGVOdW1iZXIoZGF0YSwKKwkJCQkgICAgICAodHJpb191aW50bWF4X3QpcGFyYW1ldGVyc1tpXS5kYXRhLmVycm9yTnVtYmVyLAorCQkJCSAgICAgIGZsYWdzLAorCQkJCSAgICAgIHdpZHRoLAorCQkJCSAgICAgIHByZWNpc2lvbiwKKwkJCQkgICAgICBCQVNFX0RFQ0lNQUwpOworCQkgICAgfQorCQkgIGJyZWFrOyAvKiBGT1JNQVRfRVJSTk8gKi8KKyNlbmRpZiAvKiBkZWZpbmVkKEZPUk1BVF9FUlJOTykgKi8KKworI2lmIGRlZmluZWQoRk9STUFUX1VTRVJfREVGSU5FRCkKKwkJY2FzZSBGT1JNQVRfVVNFUl9ERUZJTkVEOgorCQkgIHsKKwkJICAgIHRyaW9fcmVmZXJlbmNlX3QgcmVmZXJlbmNlOworCQkgICAgdHJpb191c2VyZGVmX3QgKmRlZiA9IE5VTEw7CisKKwkJICAgIGlmIChwYXJhbWV0ZXJzW2ldLnVzZXJfbmFtZVswXSA9PSBOSUwpCisJCSAgICAgIHsKKwkJCS8qIFVzZSBoYW5kbGUgKi8KKwkJCWlmICgoaSA+IDApIHx8CisJCQkgICAgKHBhcmFtZXRlcnNbaSAtIDFdLnR5cGUgPT0gRk9STUFUX1BBUkFNRVRFUikpCisJCQkgIGRlZiA9ICh0cmlvX3VzZXJkZWZfdCAqKXBhcmFtZXRlcnNbaSAtIDFdLmRhdGEucG9pbnRlcjsKKwkJICAgICAgfQorCQkgICAgZWxzZQorCQkgICAgICB7CisJCQkvKiBMb29rIHVwIG5hbWVzcGFjZSAqLworCQkJZGVmID0gVHJpb0ZpbmROYW1lc3BhY2UocGFyYW1ldGVyc1tpXS51c2VyX25hbWUsIE5VTEwpOworCQkgICAgICB9CisJCSAgICBpZiAoZGVmKSB7CisJCSAgICAgIHJlZmVyZW5jZS5kYXRhID0gZGF0YTsKKwkJICAgICAgcmVmZXJlbmNlLnBhcmFtZXRlciA9ICZwYXJhbWV0ZXJzW2ldOworCQkgICAgICBkZWYtPmNhbGxiYWNrKCZyZWZlcmVuY2UpOworCQkgICAgfQorCQkgIH0KKwkJICBicmVhazsKKyNlbmRpZiAvKiBkZWZpbmVkKEZPUk1BVF9VU0VSX0RFRklORUQpICovCisKKwkJZGVmYXVsdDoKKwkJICBicmVhazsKKwkJfSAvKiBzd2l0Y2ggcGFyYW1ldGVyIHR5cGUgKi8KKworCSAgICAgIC8qIFByZXBhcmUgZm9yIG5leHQgKi8KKwkgICAgICBpbmRleCA9IHBhcmFtZXRlcnNbaV0uaW5kZXhBZnRlclNwZWNpZmllcjsKKwkgICAgICBpKys7CisJICAgIH0KKwl9CisgICAgICBlbHNlIC8qIG5vdCBpZGVudGlmaWVyICovCisJeworCSAgZGF0YS0+T3V0U3RyZWFtKGRhdGEsIGZvcm1hdFtpbmRleCsrXSk7CisJfQorICAgIH0KKyAgcmV0dXJuIGRhdGEtPnByb2Nlc3NlZDsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFRyaW9Gb3JtYXRSZWYKKyAqLworVFJJT19QUklWQVRFIGludAorVHJpb0Zvcm1hdFJlZgorVFJJT19BUkdTNCgocmVmZXJlbmNlLCBmb3JtYXQsIGFyZ2xpc3QsIGFyZ2FycmF5KSwKKwkgICB0cmlvX3JlZmVyZW5jZV90ICpyZWZlcmVuY2UsCisJICAgVFJJT19DT05TVCBjaGFyICpmb3JtYXQsCisJICAgVFJJT19WQV9MSVNUX1BUUiBhcmdsaXN0LAorCSAgIHRyaW9fcG9pbnRlcl90ICphcmdhcnJheSkKK3sKKyAgaW50IHN0YXR1czsKKyAgdHJpb19wYXJhbWV0ZXJfdCBwYXJhbWV0ZXJzW01BWF9QQVJBTUVURVJTXTsKKworICBzdGF0dXMgPSBUcmlvUGFyc2UoVFlQRV9QUklOVCwgZm9ybWF0LCBwYXJhbWV0ZXJzLCBhcmdsaXN0LCBhcmdhcnJheSk7CisgIGlmIChzdGF0dXMgPCAwKQorICAgIHJldHVybiBzdGF0dXM7CisKKyAgc3RhdHVzID0gVHJpb0Zvcm1hdFByb2Nlc3MocmVmZXJlbmNlLT5kYXRhLCBmb3JtYXQsIHBhcmFtZXRlcnMpOworICBpZiAocmVmZXJlbmNlLT5kYXRhLT5lcnJvciAhPSAwKQorICAgIHsKKyAgICAgIHN0YXR1cyA9IHJlZmVyZW5jZS0+ZGF0YS0+ZXJyb3I7CisgICAgfQorICByZXR1cm4gc3RhdHVzOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVHJpb0Zvcm1hdAorICovCitUUklPX1BSSVZBVEUgaW50CitUcmlvRm9ybWF0CitUUklPX0FSR1M2KChkZXN0aW5hdGlvbiwgZGVzdGluYXRpb25TaXplLCBPdXRTdHJlYW0sIGZvcm1hdCwgYXJnbGlzdCwgYXJnYXJyYXkpLAorCSAgIHRyaW9fcG9pbnRlcl90IGRlc3RpbmF0aW9uLAorCSAgIHNpemVfdCBkZXN0aW5hdGlvblNpemUsCisJICAgdm9pZCAoKk91dFN0cmVhbSkgVFJJT19QUk9UTygodHJpb19jbGFzc190ICosIGludCkpLAorCSAgIFRSSU9fQ09OU1QgY2hhciAqZm9ybWF0LAorCSAgIFRSSU9fVkFfTElTVF9QVFIgYXJnbGlzdCwKKwkgICB0cmlvX3BvaW50ZXJfdCAqYXJnYXJyYXkpCit7CisgIGludCBzdGF0dXM7CisgIHRyaW9fY2xhc3NfdCBkYXRhOworICB0cmlvX3BhcmFtZXRlcl90IHBhcmFtZXRlcnNbTUFYX1BBUkFNRVRFUlNdOworCisgIGFzc2VydChWQUxJRChPdXRTdHJlYW0pKTsKKyAgYXNzZXJ0KFZBTElEKGZvcm1hdCkpOworCisgIG1lbXNldCgmZGF0YSwgMCwgc2l6ZW9mKGRhdGEpKTsKKyAgZGF0YS5PdXRTdHJlYW0gPSBPdXRTdHJlYW07CisgIGRhdGEubG9jYXRpb24gPSBkZXN0aW5hdGlvbjsKKyAgZGF0YS5tYXggPSBkZXN0aW5hdGlvblNpemU7CisgIGRhdGEuZXJyb3IgPSAwOworCisjaWYgZGVmaW5lZChVU0VfTE9DQUxFKQorICBpZiAoTlVMTCA9PSBpbnRlcm5hbExvY2FsZVZhbHVlcykKKyAgICB7CisgICAgICBUcmlvU2V0TG9jYWxlKCk7CisgICAgfQorI2VuZGlmCisKKyAgc3RhdHVzID0gVHJpb1BhcnNlKFRZUEVfUFJJTlQsIGZvcm1hdCwgcGFyYW1ldGVycywgYXJnbGlzdCwgYXJnYXJyYXkpOworICBpZiAoc3RhdHVzIDwgMCkKKyAgICByZXR1cm4gc3RhdHVzOworCisgIHN0YXR1cyA9IFRyaW9Gb3JtYXRQcm9jZXNzKCZkYXRhLCBmb3JtYXQsIHBhcmFtZXRlcnMpOworICBpZiAoZGF0YS5lcnJvciAhPSAwKQorICAgIHsKKyAgICAgIHN0YXR1cyA9IGRhdGEuZXJyb3I7CisgICAgfQorICByZXR1cm4gc3RhdHVzOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVHJpb091dFN0cmVhbUZpbGUKKyAqLworVFJJT19QUklWQVRFIHZvaWQKK1RyaW9PdXRTdHJlYW1GaWxlCitUUklPX0FSR1MyKChzZWxmLCBvdXRwdXQpLAorCSAgIHRyaW9fY2xhc3NfdCAqc2VsZiwKKwkgICBpbnQgb3V0cHV0KQoreworICBGSUxFICpmaWxlOworCisgIGFzc2VydChWQUxJRChzZWxmKSk7CisgIGFzc2VydChWQUxJRChzZWxmLT5sb2NhdGlvbikpOworCisgIGZpbGUgPSAoRklMRSAqKXNlbGYtPmxvY2F0aW9uOworICBzZWxmLT5wcm9jZXNzZWQrKzsKKyAgaWYgKGZwdXRjKG91dHB1dCwgZmlsZSkgPT0gRU9GKQorICAgIHsKKyAgICAgIHNlbGYtPmVycm9yID0gVFJJT19FUlJPUl9SRVRVUk4oVFJJT19FT0YsIDApOworICAgIH0KKyAgZWxzZQorICAgIHsKKyAgICAgIHNlbGYtPmNvbW1pdHRlZCsrOworICAgIH0KK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFRyaW9PdXRTdHJlYW1GaWxlRGVzY3JpcHRvcgorICovCitUUklPX1BSSVZBVEUgdm9pZAorVHJpb091dFN0cmVhbUZpbGVEZXNjcmlwdG9yCitUUklPX0FSR1MyKChzZWxmLCBvdXRwdXQpLAorCSAgIHRyaW9fY2xhc3NfdCAqc2VsZiwKKwkgICBpbnQgb3V0cHV0KQoreworICBpbnQgZmQ7CisgIGNoYXIgY2g7CisKKyAgYXNzZXJ0KFZBTElEKHNlbGYpKTsKKworICBmZCA9ICooKGludCAqKXNlbGYtPmxvY2F0aW9uKTsKKyAgY2ggPSAoY2hhcilvdXRwdXQ7CisgIHNlbGYtPnByb2Nlc3NlZCsrOworICBpZiAod3JpdGUoZmQsICZjaCwgc2l6ZW9mKGNoYXIpKSA9PSAtMSkKKyAgICB7CisgICAgICBzZWxmLT5lcnJvciA9IFRSSU9fRVJST1JfUkVUVVJOKFRSSU9fRVJSTk8sIDApOworICAgIH0KKyAgZWxzZQorICAgIHsKKyAgICAgIHNlbGYtPmNvbW1pdHRlZCsrOworICAgIH0KK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFRyaW9PdXRTdHJlYW1DdXN0b20KKyAqLworVFJJT19QUklWQVRFIHZvaWQKK1RyaW9PdXRTdHJlYW1DdXN0b20KK1RSSU9fQVJHUzIoKHNlbGYsIG91dHB1dCksCisJICAgdHJpb19jbGFzc190ICpzZWxmLAorCSAgIGludCBvdXRwdXQpCit7CisgIGludCBzdGF0dXM7CisgIHRyaW9fY3VzdG9tX3QgKmRhdGE7CisKKyAgYXNzZXJ0KFZBTElEKHNlbGYpKTsKKyAgYXNzZXJ0KFZBTElEKHNlbGYtPmxvY2F0aW9uKSk7CisKKyAgZGF0YSA9ICh0cmlvX2N1c3RvbV90ICopc2VsZi0+bG9jYXRpb247CisgIGlmIChkYXRhLT5zdHJlYW0ub3V0KQorICAgIHsKKyAgICAgIHN0YXR1cyA9IChkYXRhLT5zdHJlYW0ub3V0KShkYXRhLT5jbG9zdXJlLCBvdXRwdXQpOworICAgICAgaWYgKHN0YXR1cyA+PSAwKQorCXsKKwkgIHNlbGYtPmNvbW1pdHRlZCsrOworCX0KKyAgICAgIGVsc2UKKwl7CisJICBpZiAoc2VsZi0+ZXJyb3IgPT0gMCkKKwkgICAgeworCSAgICAgIHNlbGYtPmVycm9yID0gVFJJT19FUlJPUl9SRVRVUk4oVFJJT19FQ1VTVE9NLCAtc3RhdHVzKTsKKwkgICAgfQorCX0KKyAgICB9CisgIHNlbGYtPnByb2Nlc3NlZCsrOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVHJpb091dFN0cmVhbVN0cmluZworICovCitUUklPX1BSSVZBVEUgdm9pZAorVHJpb091dFN0cmVhbVN0cmluZworVFJJT19BUkdTMigoc2VsZiwgb3V0cHV0KSwKKwkgICB0cmlvX2NsYXNzX3QgKnNlbGYsCisJICAgaW50IG91dHB1dCkKK3sKKyAgY2hhciAqKmJ1ZmZlcjsKKworICBhc3NlcnQoVkFMSUQoc2VsZikpOworICBhc3NlcnQoVkFMSUQoc2VsZi0+bG9jYXRpb24pKTsKKworICBidWZmZXIgPSAoY2hhciAqKilzZWxmLT5sb2NhdGlvbjsKKyAgKipidWZmZXIgPSAoY2hhcilvdXRwdXQ7CisgICgqYnVmZmVyKSsrOworICBzZWxmLT5wcm9jZXNzZWQrKzsKKyAgc2VsZi0+Y29tbWl0dGVkKys7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBUcmlvT3V0U3RyZWFtU3RyaW5nTWF4CisgKi8KK1RSSU9fUFJJVkFURSB2b2lkCitUcmlvT3V0U3RyZWFtU3RyaW5nTWF4CitUUklPX0FSR1MyKChzZWxmLCBvdXRwdXQpLAorCSAgIHRyaW9fY2xhc3NfdCAqc2VsZiwKKwkgICBpbnQgb3V0cHV0KQoreworICBjaGFyICoqYnVmZmVyOworCisgIGFzc2VydChWQUxJRChzZWxmKSk7CisgIGFzc2VydChWQUxJRChzZWxmLT5sb2NhdGlvbikpOworCisgIGJ1ZmZlciA9IChjaGFyICoqKXNlbGYtPmxvY2F0aW9uOworCisgIGlmIChzZWxmLT5wcm9jZXNzZWQgPCBzZWxmLT5tYXgpCisgICAgeworICAgICAgKipidWZmZXIgPSAoY2hhcilvdXRwdXQ7CisgICAgICAoKmJ1ZmZlcikrKzsKKyAgICAgIHNlbGYtPmNvbW1pdHRlZCsrOworICAgIH0KKyAgc2VsZi0+cHJvY2Vzc2VkKys7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBUcmlvT3V0U3RyZWFtU3RyaW5nRHluYW1pYworICovCitUUklPX1BSSVZBVEUgdm9pZAorVHJpb091dFN0cmVhbVN0cmluZ0R5bmFtaWMKK1RSSU9fQVJHUzIoKHNlbGYsIG91dHB1dCksCisJICAgdHJpb19jbGFzc190ICpzZWxmLAorCSAgIGludCBvdXRwdXQpCit7CisgIGFzc2VydChWQUxJRChzZWxmKSk7CisgIGFzc2VydChWQUxJRChzZWxmLT5sb2NhdGlvbikpOworCisgIGlmIChzZWxmLT5lcnJvciA9PSAwKQorICAgIHsKKyAgICAgIHRyaW9feHN0cmluZ19hcHBlbmRfY2hhcigodHJpb19zdHJpbmdfdCAqKXNlbGYtPmxvY2F0aW9uLAorCQkJICAgICAgIChjaGFyKW91dHB1dCk7CisgICAgICBzZWxmLT5jb21taXR0ZWQrKzsKKyAgICB9CisgIC8qIFRoZSBwcm9jZXNzZWQgdmFyaWFibGUgbXVzdCBhbHdheXMgYmUgaW5jcmVhc2VkICovCisgIHNlbGYtPnByb2Nlc3NlZCsrOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZvcm1hdHRlZCBwcmludGluZyBmdW5jdGlvbnMKKyAqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWYgZGVmaW5lZChUUklPX0RPQ1VNRU5UQVRJT04pCisjIGluY2x1ZGUgImRvYy9kb2NfcHJpbnRmLmgiCisjZW5kaWYKKy8qKiBAYWRkdG9ncm91cCBQcmludGYKKyAgICBAeworKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIHByaW50ZgorICovCisKKy8qKgorICAgUHJpbnQgdG8gc3RhbmRhcmQgb3V0cHV0IHN0cmVhbS4KKworICAgQHBhcmFtIGZvcm1hdCBGb3JtYXR0aW5nIHN0cmluZy4KKyAgIEBwYXJhbSAuLi4gQXJndW1lbnRzLgorICAgQHJldHVybiBOdW1iZXIgb2YgcHJpbnRlZCBjaGFyYWN0ZXJzLgorICovCitUUklPX1BVQkxJQyBpbnQKK3RyaW9fcHJpbnRmCitUUklPX1ZBUkdTMigoZm9ybWF0LCB2YV9hbGlzdCksCisJICAgIFRSSU9fQ09OU1QgY2hhciAqZm9ybWF0LAorCSAgICBUUklPX1ZBX0RFQ0wpCit7CisgIGludCBzdGF0dXM7CisgIHZhX2xpc3QgYXJnczsKKworICBhc3NlcnQoVkFMSUQoZm9ybWF0KSk7CisKKyAgVFJJT19WQV9TVEFSVChhcmdzLCBmb3JtYXQpOworICBzdGF0dXMgPSBUcmlvRm9ybWF0KHN0ZG91dCwgMCwgVHJpb091dFN0cmVhbUZpbGUsIGZvcm1hdCwgVFJJT19WQV9MSVNUX0FERFIoYXJncyksIE5VTEwpOworICBUUklPX1ZBX0VORChhcmdzKTsKKyAgcmV0dXJuIHN0YXR1czsKK30KKworLyoqCisgICBQcmludCB0byBzdGFuZGFyZCBvdXRwdXQgc3RyZWFtLgorCisgICBAcGFyYW0gZm9ybWF0IEZvcm1hdHRpbmcgc3RyaW5nLgorICAgQHBhcmFtIGFyZ3MgQXJndW1lbnRzLgorICAgQHJldHVybiBOdW1iZXIgb2YgcHJpbnRlZCBjaGFyYWN0ZXJzLgorICovCitUUklPX1BVQkxJQyBpbnQKK3RyaW9fdnByaW50ZgorVFJJT19BUkdTMigoZm9ybWF0LCBhcmdzKSwKKwkgICBUUklPX0NPTlNUIGNoYXIgKmZvcm1hdCwKKwkgICB2YV9saXN0IGFyZ3MpCit7CisgIGFzc2VydChWQUxJRChmb3JtYXQpKTsKKworICByZXR1cm4gVHJpb0Zvcm1hdChzdGRvdXQsIDAsIFRyaW9PdXRTdHJlYW1GaWxlLCBmb3JtYXQsIFRSSU9fVkFfTElTVF9BRERSKGFyZ3MpLCBOVUxMKTsKK30KKworLyoqCisgICBQcmludCB0byBzdGFuZGFyZCBvdXRwdXQgc3RyZWFtLgorCisgICBAcGFyYW0gZm9ybWF0IEZvcm1hdHRpbmcgc3RyaW5nLgorICAgQHBhcmFtIGFyZ3MgQXJndW1lbnRzLgorICAgQHJldHVybiBOdW1iZXIgb2YgcHJpbnRlZCBjaGFyYWN0ZXJzLgorICovCitUUklPX1BVQkxJQyBpbnQKK3RyaW9fcHJpbnRmdgorVFJJT19BUkdTMigoZm9ybWF0LCBhcmdzKSwKKwkgICBUUklPX0NPTlNUIGNoYXIgKmZvcm1hdCwKKwkgICB0cmlvX3BvaW50ZXJfdCAqIGFyZ3MpCit7CisgIGFzc2VydChWQUxJRChmb3JtYXQpKTsKKworICByZXR1cm4gVHJpb0Zvcm1hdChzdGRvdXQsIDAsIFRyaW9PdXRTdHJlYW1GaWxlLCBmb3JtYXQsIE5VTEwsIGFyZ3MpOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogZnByaW50ZgorICovCisKKy8qKgorICAgUHJpbnQgdG8gZmlsZS4KKworICAgQHBhcmFtIGZpbGUgRmlsZSBwb2ludGVyLgorICAgQHBhcmFtIGZvcm1hdCBGb3JtYXR0aW5nIHN0cmluZy4KKyAgIEBwYXJhbSAuLi4gQXJndW1lbnRzLgorICAgQHJldHVybiBOdW1iZXIgb2YgcHJpbnRlZCBjaGFyYWN0ZXJzLgorICovCitUUklPX1BVQkxJQyBpbnQKK3RyaW9fZnByaW50ZgorVFJJT19WQVJHUzMoKGZpbGUsIGZvcm1hdCwgdmFfYWxpc3QpLAorCSAgICBGSUxFICpmaWxlLAorCSAgICBUUklPX0NPTlNUIGNoYXIgKmZvcm1hdCwKKwkgICAgVFJJT19WQV9ERUNMKQoreworICBpbnQgc3RhdHVzOworICB2YV9saXN0IGFyZ3M7CisKKyAgYXNzZXJ0KFZBTElEKGZpbGUpKTsKKyAgYXNzZXJ0KFZBTElEKGZvcm1hdCkpOworCisgIFRSSU9fVkFfU1RBUlQoYXJncywgZm9ybWF0KTsKKyAgc3RhdHVzID0gVHJpb0Zvcm1hdChmaWxlLCAwLCBUcmlvT3V0U3RyZWFtRmlsZSwgZm9ybWF0LCBUUklPX1ZBX0xJU1RfQUREUihhcmdzKSwgTlVMTCk7CisgIFRSSU9fVkFfRU5EKGFyZ3MpOworICByZXR1cm4gc3RhdHVzOworfQorCisvKioKKyAgIFByaW50IHRvIGZpbGUuCisKKyAgIEBwYXJhbSBmaWxlIEZpbGUgcG9pbnRlci4KKyAgIEBwYXJhbSBmb3JtYXQgRm9ybWF0dGluZyBzdHJpbmcuCisgICBAcGFyYW0gYXJncyBBcmd1bWVudHMuCisgICBAcmV0dXJuIE51bWJlciBvZiBwcmludGVkIGNoYXJhY3RlcnMuCisgKi8KK1RSSU9fUFVCTElDIGludAordHJpb192ZnByaW50ZgorVFJJT19BUkdTMygoZmlsZSwgZm9ybWF0LCBhcmdzKSwKKwkgICBGSUxFICpmaWxlLAorCSAgIFRSSU9fQ09OU1QgY2hhciAqZm9ybWF0LAorCSAgIHZhX2xpc3QgYXJncykKK3sKKyAgYXNzZXJ0KFZBTElEKGZpbGUpKTsKKyAgYXNzZXJ0KFZBTElEKGZvcm1hdCkpOworCisgIHJldHVybiBUcmlvRm9ybWF0KGZpbGUsIDAsIFRyaW9PdXRTdHJlYW1GaWxlLCBmb3JtYXQsIFRSSU9fVkFfTElTVF9BRERSKGFyZ3MpLCBOVUxMKTsKK30KKworLyoqCisgICBQcmludCB0byBmaWxlLgorCisgICBAcGFyYW0gZmlsZSBGaWxlIHBvaW50ZXIuCisgICBAcGFyYW0gZm9ybWF0IEZvcm1hdHRpbmcgc3RyaW5nLgorICAgQHBhcmFtIGFyZ3MgQXJndW1lbnRzLgorICAgQHJldHVybiBOdW1iZXIgb2YgcHJpbnRlZCBjaGFyYWN0ZXJzLgorICovCitUUklPX1BVQkxJQyBpbnQKK3RyaW9fZnByaW50ZnYKK1RSSU9fQVJHUzMoKGZpbGUsIGZvcm1hdCwgYXJncyksCisJICAgRklMRSAqZmlsZSwKKwkgICBUUklPX0NPTlNUIGNoYXIgKmZvcm1hdCwKKwkgICB0cmlvX3BvaW50ZXJfdCAqIGFyZ3MpCit7CisgIGFzc2VydChWQUxJRChmaWxlKSk7CisgIGFzc2VydChWQUxJRChmb3JtYXQpKTsKKworICByZXR1cm4gVHJpb0Zvcm1hdChmaWxlLCAwLCBUcmlvT3V0U3RyZWFtRmlsZSwgZm9ybWF0LCBOVUxMLCBhcmdzKTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIGRwcmludGYKKyAqLworCisvKioKKyAgIFByaW50IHRvIGZpbGUgZGVzY3JpcHRvci4KKworICAgQHBhcmFtIGZkIEZpbGUgZGVzY3JpcHRvci4KKyAgIEBwYXJhbSBmb3JtYXQgRm9ybWF0dGluZyBzdHJpbmcuCisgICBAcGFyYW0gLi4uIEFyZ3VtZW50cy4KKyAgIEByZXR1cm4gTnVtYmVyIG9mIHByaW50ZWQgY2hhcmFjdGVycy4KKyAqLworVFJJT19QVUJMSUMgaW50Cit0cmlvX2RwcmludGYKK1RSSU9fVkFSR1MzKChmZCwgZm9ybWF0LCB2YV9hbGlzdCksCisJICAgIGludCBmZCwKKwkgICAgVFJJT19DT05TVCBjaGFyICpmb3JtYXQsCisJICAgIFRSSU9fVkFfREVDTCkKK3sKKyAgaW50IHN0YXR1czsKKyAgdmFfbGlzdCBhcmdzOworCisgIGFzc2VydChWQUxJRChmb3JtYXQpKTsKKworICBUUklPX1ZBX1NUQVJUKGFyZ3MsIGZvcm1hdCk7CisgIHN0YXR1cyA9IFRyaW9Gb3JtYXQoJmZkLCAwLCBUcmlvT3V0U3RyZWFtRmlsZURlc2NyaXB0b3IsIGZvcm1hdCwgVFJJT19WQV9MSVNUX0FERFIoYXJncyksIE5VTEwpOworICBUUklPX1ZBX0VORChhcmdzKTsKKyAgcmV0dXJuIHN0YXR1czsKK30KKworLyoqCisgICBQcmludCB0byBmaWxlIGRlc2NyaXB0b3IuCisKKyAgIEBwYXJhbSBmZCBGaWxlIGRlc2NyaXB0b3IuCisgICBAcGFyYW0gZm9ybWF0IEZvcm1hdHRpbmcgc3RyaW5nLgorICAgQHBhcmFtIGFyZ3MgQXJndW1lbnRzLgorICAgQHJldHVybiBOdW1iZXIgb2YgcHJpbnRlZCBjaGFyYWN0ZXJzLgorICovCitUUklPX1BVQkxJQyBpbnQKK3RyaW9fdmRwcmludGYKK1RSSU9fQVJHUzMoKGZkLCBmb3JtYXQsIGFyZ3MpLAorCSAgIGludCBmZCwKKwkgICBUUklPX0NPTlNUIGNoYXIgKmZvcm1hdCwKKwkgICB2YV9saXN0IGFyZ3MpCit7CisgIGFzc2VydChWQUxJRChmb3JtYXQpKTsKKworICByZXR1cm4gVHJpb0Zvcm1hdCgmZmQsIDAsIFRyaW9PdXRTdHJlYW1GaWxlRGVzY3JpcHRvciwgZm9ybWF0LCBUUklPX1ZBX0xJU1RfQUREUihhcmdzKSwgTlVMTCk7Cit9CisKKy8qKgorICAgUHJpbnQgdG8gZmlsZSBkZXNjcmlwdG9yLgorCisgICBAcGFyYW0gZmQgRmlsZSBkZXNjcmlwdG9yLgorICAgQHBhcmFtIGZvcm1hdCBGb3JtYXR0aW5nIHN0cmluZy4KKyAgIEBwYXJhbSBhcmdzIEFyZ3VtZW50cy4KKyAgIEByZXR1cm4gTnVtYmVyIG9mIHByaW50ZWQgY2hhcmFjdGVycy4KKyAqLworVFJJT19QVUJMSUMgaW50Cit0cmlvX2RwcmludGZ2CitUUklPX0FSR1MzKChmZCwgZm9ybWF0LCBhcmdzKSwKKwkgICBpbnQgZmQsCisJICAgVFJJT19DT05TVCBjaGFyICpmb3JtYXQsCisJICAgdHJpb19wb2ludGVyX3QgKmFyZ3MpCit7CisgIGFzc2VydChWQUxJRChmb3JtYXQpKTsKKworICByZXR1cm4gVHJpb0Zvcm1hdCgmZmQsIDAsIFRyaW9PdXRTdHJlYW1GaWxlRGVzY3JpcHRvciwgZm9ybWF0LCBOVUxMLCBhcmdzKTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIGNwcmludGYKKyAqLworVFJJT19QVUJMSUMgaW50Cit0cmlvX2NwcmludGYKK1RSSU9fVkFSR1M0KChzdHJlYW0sIGNsb3N1cmUsIGZvcm1hdCwgdmFfYWxpc3QpLAorCSAgICB0cmlvX291dHN0cmVhbV90IHN0cmVhbSwKKwkgICAgdHJpb19wb2ludGVyX3QgY2xvc3VyZSwKKwkgICAgVFJJT19DT05TVCBjaGFyICpmb3JtYXQsCisJICAgIFRSSU9fVkFfREVDTCkKK3sKKyAgaW50IHN0YXR1czsKKyAgdmFfbGlzdCBhcmdzOworICB0cmlvX2N1c3RvbV90IGRhdGE7CisKKyAgYXNzZXJ0KFZBTElEKHN0cmVhbSkpOworICBhc3NlcnQoVkFMSUQoZm9ybWF0KSk7CisKKyAgVFJJT19WQV9TVEFSVChhcmdzLCBmb3JtYXQpOworICBkYXRhLnN0cmVhbS5vdXQgPSBzdHJlYW07CisgIGRhdGEuY2xvc3VyZSA9IGNsb3N1cmU7CisgIHN0YXR1cyA9IFRyaW9Gb3JtYXQoJmRhdGEsIDAsIFRyaW9PdXRTdHJlYW1DdXN0b20sIGZvcm1hdCwgVFJJT19WQV9MSVNUX0FERFIoYXJncyksIE5VTEwpOworICBUUklPX1ZBX0VORChhcmdzKTsKKyAgcmV0dXJuIHN0YXR1czsKK30KKworVFJJT19QVUJMSUMgaW50Cit0cmlvX3ZjcHJpbnRmCitUUklPX0FSR1M0KChzdHJlYW0sIGNsb3N1cmUsIGZvcm1hdCwgYXJncyksCisJICAgdHJpb19vdXRzdHJlYW1fdCBzdHJlYW0sCisJICAgdHJpb19wb2ludGVyX3QgY2xvc3VyZSwKKwkgICBUUklPX0NPTlNUIGNoYXIgKmZvcm1hdCwKKwkgICB2YV9saXN0IGFyZ3MpCit7CisgIHRyaW9fY3VzdG9tX3QgZGF0YTsKKworICBhc3NlcnQoVkFMSUQoc3RyZWFtKSk7CisgIGFzc2VydChWQUxJRChmb3JtYXQpKTsKKworICBkYXRhLnN0cmVhbS5vdXQgPSBzdHJlYW07CisgIGRhdGEuY2xvc3VyZSA9IGNsb3N1cmU7CisgIHJldHVybiBUcmlvRm9ybWF0KCZkYXRhLCAwLCBUcmlvT3V0U3RyZWFtQ3VzdG9tLCBmb3JtYXQsIFRSSU9fVkFfTElTVF9BRERSKGFyZ3MpLCBOVUxMKTsKK30KKworVFJJT19QVUJMSUMgaW50Cit0cmlvX2NwcmludGZ2CitUUklPX0FSR1M0KChzdHJlYW0sIGNsb3N1cmUsIGZvcm1hdCwgYXJncyksCisJICAgdHJpb19vdXRzdHJlYW1fdCBzdHJlYW0sCisJICAgdHJpb19wb2ludGVyX3QgY2xvc3VyZSwKKwkgICBUUklPX0NPTlNUIGNoYXIgKmZvcm1hdCwKKwkgICB2b2lkICoqYXJncykKK3sKKyAgdHJpb19jdXN0b21fdCBkYXRhOworCisgIGFzc2VydChWQUxJRChzdHJlYW0pKTsKKyAgYXNzZXJ0KFZBTElEKGZvcm1hdCkpOworCisgIGRhdGEuc3RyZWFtLm91dCA9IHN0cmVhbTsKKyAgZGF0YS5jbG9zdXJlID0gY2xvc3VyZTsKKyAgcmV0dXJuIFRyaW9Gb3JtYXQoJmRhdGEsIDAsIFRyaW9PdXRTdHJlYW1DdXN0b20sIGZvcm1hdCwgTlVMTCwgYXJncyk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBzcHJpbnRmCisgKi8KKworLyoqCisgICBQcmludCB0byBzdHJpbmcuCisKKyAgIEBwYXJhbSBidWZmZXIgT3V0cHV0IHN0cmluZy4KKyAgIEBwYXJhbSBmb3JtYXQgRm9ybWF0dGluZyBzdHJpbmcuCisgICBAcGFyYW0gLi4uIEFyZ3VtZW50cy4KKyAgIEByZXR1cm4gTnVtYmVyIG9mIHByaW50ZWQgY2hhcmFjdGVycy4KKyAqLworVFJJT19QVUJMSUMgaW50Cit0cmlvX3NwcmludGYKK1RSSU9fVkFSR1MzKChidWZmZXIsIGZvcm1hdCwgdmFfYWxpc3QpLAorCSAgICBjaGFyICpidWZmZXIsCisJICAgIFRSSU9fQ09OU1QgY2hhciAqZm9ybWF0LAorCSAgICBUUklPX1ZBX0RFQ0wpCit7CisgIGludCBzdGF0dXM7CisgIHZhX2xpc3QgYXJnczsKKworICBhc3NlcnQoVkFMSUQoYnVmZmVyKSk7CisgIGFzc2VydChWQUxJRChmb3JtYXQpKTsKKworICBUUklPX1ZBX1NUQVJUKGFyZ3MsIGZvcm1hdCk7CisgIHN0YXR1cyA9IFRyaW9Gb3JtYXQoJmJ1ZmZlciwgMCwgVHJpb091dFN0cmVhbVN0cmluZywgZm9ybWF0LCBUUklPX1ZBX0xJU1RfQUREUihhcmdzKSwgTlVMTCk7CisgICpidWZmZXIgPSBOSUw7IC8qIFRlcm1pbmF0ZSB3aXRoIE5JTCBjaGFyYWN0ZXIgKi8KKyAgVFJJT19WQV9FTkQoYXJncyk7CisgIHJldHVybiBzdGF0dXM7Cit9CisKKy8qKgorICAgUHJpbnQgdG8gc3RyaW5nLgorCisgICBAcGFyYW0gYnVmZmVyIE91dHB1dCBzdHJpbmcuCisgICBAcGFyYW0gZm9ybWF0IEZvcm1hdHRpbmcgc3RyaW5nLgorICAgQHBhcmFtIGFyZ3MgQXJndW1lbnRzLgorICAgQHJldHVybiBOdW1iZXIgb2YgcHJpbnRlZCBjaGFyYWN0ZXJzLgorICovCitUUklPX1BVQkxJQyBpbnQKK3RyaW9fdnNwcmludGYKK1RSSU9fQVJHUzMoKGJ1ZmZlciwgZm9ybWF0LCBhcmdzKSwKKwkgICBjaGFyICpidWZmZXIsCisJICAgVFJJT19DT05TVCBjaGFyICpmb3JtYXQsCisJICAgdmFfbGlzdCBhcmdzKQoreworICBpbnQgc3RhdHVzOworCisgIGFzc2VydChWQUxJRChidWZmZXIpKTsKKyAgYXNzZXJ0KFZBTElEKGZvcm1hdCkpOworCisgIHN0YXR1cyA9IFRyaW9Gb3JtYXQoJmJ1ZmZlciwgMCwgVHJpb091dFN0cmVhbVN0cmluZywgZm9ybWF0LCBUUklPX1ZBX0xJU1RfQUREUihhcmdzKSwgTlVMTCk7CisgICpidWZmZXIgPSBOSUw7CisgIHJldHVybiBzdGF0dXM7Cit9CisKKy8qKgorICAgUHJpbnQgdG8gc3RyaW5nLgorCisgICBAcGFyYW0gYnVmZmVyIE91dHB1dCBzdHJpbmcuCisgICBAcGFyYW0gZm9ybWF0IEZvcm1hdHRpbmcgc3RyaW5nLgorICAgQHBhcmFtIGFyZ3MgQXJndW1lbnRzLgorICAgQHJldHVybiBOdW1iZXIgb2YgcHJpbnRlZCBjaGFyYWN0ZXJzLgorICovCitUUklPX1BVQkxJQyBpbnQKK3RyaW9fc3ByaW50ZnYKK1RSSU9fQVJHUzMoKGJ1ZmZlciwgZm9ybWF0LCBhcmdzKSwKKwkgICBjaGFyICpidWZmZXIsCisJICAgVFJJT19DT05TVCBjaGFyICpmb3JtYXQsCisJICAgdHJpb19wb2ludGVyX3QgKmFyZ3MpCit7CisgIGludCBzdGF0dXM7CisKKyAgYXNzZXJ0KFZBTElEKGJ1ZmZlcikpOworICBhc3NlcnQoVkFMSUQoZm9ybWF0KSk7CisKKyAgc3RhdHVzID0gVHJpb0Zvcm1hdCgmYnVmZmVyLCAwLCBUcmlvT3V0U3RyZWFtU3RyaW5nLCBmb3JtYXQsIE5VTEwsIGFyZ3MpOworICAqYnVmZmVyID0gTklMOworICByZXR1cm4gc3RhdHVzOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogc25wcmludGYKKyAqLworCisvKioKKyAgIFByaW50IGF0IG1vc3QgQHAgbWF4IGNoYXJhY3RlcnMgdG8gc3RyaW5nLgorCisgICBAcGFyYW0gYnVmZmVyIE91dHB1dCBzdHJpbmcuCisgICBAcGFyYW0gbWF4IE1heGltdW0gbnVtYmVyIG9mIGNoYXJhY3RlcnMgdG8gcHJpbnQuCisgICBAcGFyYW0gZm9ybWF0IEZvcm1hdHRpbmcgc3RyaW5nLgorICAgQHBhcmFtIC4uLiBBcmd1bWVudHMuCisgICBAcmV0dXJuIE51bWJlciBvZiBwcmludGVkIGNoYXJhY3RlcnMuCisgKi8KK1RSSU9fUFVCTElDIGludAordHJpb19zbnByaW50ZgorVFJJT19WQVJHUzQoKGJ1ZmZlciwgbWF4LCBmb3JtYXQsIHZhX2FsaXN0KSwKKwkgICAgY2hhciAqYnVmZmVyLAorCSAgICBzaXplX3QgbWF4LAorCSAgICBUUklPX0NPTlNUIGNoYXIgKmZvcm1hdCwKKwkgICAgVFJJT19WQV9ERUNMKQoreworICBpbnQgc3RhdHVzOworICB2YV9saXN0IGFyZ3M7CisKKyAgYXNzZXJ0KFZBTElEKGJ1ZmZlcikpOworICBhc3NlcnQoVkFMSUQoZm9ybWF0KSk7CisKKyAgVFJJT19WQV9TVEFSVChhcmdzLCBmb3JtYXQpOworICBzdGF0dXMgPSBUcmlvRm9ybWF0KCZidWZmZXIsIG1heCA+IDAgPyBtYXggLSAxIDogMCwKKwkJICAgICAgVHJpb091dFN0cmVhbVN0cmluZ01heCwgZm9ybWF0LCBUUklPX1ZBX0xJU1RfQUREUihhcmdzKSwgTlVMTCk7CisgIGlmIChtYXggPiAwKQorICAgICpidWZmZXIgPSBOSUw7CisgIFRSSU9fVkFfRU5EKGFyZ3MpOworICByZXR1cm4gc3RhdHVzOworfQorCisvKioKKyAgIFByaW50IGF0IG1vc3QgQHAgbWF4IGNoYXJhY3RlcnMgdG8gc3RyaW5nLgorCisgICBAcGFyYW0gYnVmZmVyIE91dHB1dCBzdHJpbmcuCisgICBAcGFyYW0gbWF4IE1heGltdW0gbnVtYmVyIG9mIGNoYXJhY3RlcnMgdG8gcHJpbnQuCisgICBAcGFyYW0gZm9ybWF0IEZvcm1hdHRpbmcgc3RyaW5nLgorICAgQHBhcmFtIGFyZ3MgQXJndW1lbnRzLgorICAgQHJldHVybiBOdW1iZXIgb2YgcHJpbnRlZCBjaGFyYWN0ZXJzLgorICovCitUUklPX1BVQkxJQyBpbnQKK3RyaW9fdnNucHJpbnRmCitUUklPX0FSR1M0KChidWZmZXIsIG1heCwgZm9ybWF0LCBhcmdzKSwKKwkgICBjaGFyICpidWZmZXIsCisJICAgc2l6ZV90IG1heCwKKwkgICBUUklPX0NPTlNUIGNoYXIgKmZvcm1hdCwKKwkgICB2YV9saXN0IGFyZ3MpCit7CisgIGludCBzdGF0dXM7CisKKyAgYXNzZXJ0KFZBTElEKGJ1ZmZlcikpOworICBhc3NlcnQoVkFMSUQoZm9ybWF0KSk7CisKKyAgc3RhdHVzID0gVHJpb0Zvcm1hdCgmYnVmZmVyLCBtYXggPiAwID8gbWF4IC0gMSA6IDAsCisJCSAgICAgIFRyaW9PdXRTdHJlYW1TdHJpbmdNYXgsIGZvcm1hdCwgVFJJT19WQV9MSVNUX0FERFIoYXJncyksIE5VTEwpOworICBpZiAobWF4ID4gMCkKKyAgICAqYnVmZmVyID0gTklMOworICByZXR1cm4gc3RhdHVzOworfQorCisvKioKKyAgIFByaW50IGF0IG1vc3QgQHAgbWF4IGNoYXJhY3RlcnMgdG8gc3RyaW5nLgorCisgICBAcGFyYW0gYnVmZmVyIE91dHB1dCBzdHJpbmcuCisgICBAcGFyYW0gbWF4IE1heGltdW0gbnVtYmVyIG9mIGNoYXJhY3RlcnMgdG8gcHJpbnQuCisgICBAcGFyYW0gZm9ybWF0IEZvcm1hdHRpbmcgc3RyaW5nLgorICAgQHBhcmFtIGFyZ3MgQXJndW1lbnRzLgorICAgQHJldHVybiBOdW1iZXIgb2YgcHJpbnRlZCBjaGFyYWN0ZXJzLgorICovCitUUklPX1BVQkxJQyBpbnQKK3RyaW9fc25wcmludGZ2CitUUklPX0FSR1M0KChidWZmZXIsIG1heCwgZm9ybWF0LCBhcmdzKSwKKwkgICBjaGFyICpidWZmZXIsCisJICAgc2l6ZV90IG1heCwKKwkgICBUUklPX0NPTlNUIGNoYXIgKmZvcm1hdCwKKwkgICB0cmlvX3BvaW50ZXJfdCAqYXJncykKK3sKKyAgaW50IHN0YXR1czsKKworICBhc3NlcnQoVkFMSUQoYnVmZmVyKSk7CisgIGFzc2VydChWQUxJRChmb3JtYXQpKTsKKworICBzdGF0dXMgPSBUcmlvRm9ybWF0KCZidWZmZXIsIG1heCA+IDAgPyBtYXggLSAxIDogMCwKKwkJICAgICAgVHJpb091dFN0cmVhbVN0cmluZ01heCwgZm9ybWF0LCBOVUxMLCBhcmdzKTsKKyAgaWYgKG1heCA+IDApCisgICAgKmJ1ZmZlciA9IE5JTDsKKyAgcmV0dXJuIHN0YXR1czsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIHNucHJpbnRmY2F0CisgKiBBcHBlbmRzIHRoZSBuZXcgc3RyaW5nIHRvIHRoZSBidWZmZXIgc3RyaW5nIG92ZXJ3cml0aW5nIHRoZSAnXDAnCisgKiBjaGFyYWN0ZXIgYXQgdGhlIGVuZCBvZiBidWZmZXIuCisgKi8KK1RSSU9fUFVCTElDIGludAordHJpb19zbnByaW50ZmNhdAorVFJJT19WQVJHUzQoKGJ1ZmZlciwgbWF4LCBmb3JtYXQsIHZhX2FsaXN0KSwKKwkgICAgY2hhciAqYnVmZmVyLAorCSAgICBzaXplX3QgbWF4LAorCSAgICBUUklPX0NPTlNUIGNoYXIgKmZvcm1hdCwKKwkgICAgVFJJT19WQV9ERUNMKQoreworICBpbnQgc3RhdHVzOworICB2YV9saXN0IGFyZ3M7CisgIHNpemVfdCBidWZfbGVuOworCisgIFRSSU9fVkFfU1RBUlQoYXJncywgZm9ybWF0KTsKKworICBhc3NlcnQoVkFMSUQoYnVmZmVyKSk7CisgIGFzc2VydChWQUxJRChmb3JtYXQpKTsKKworICBidWZfbGVuID0gdHJpb19sZW5ndGgoYnVmZmVyKTsKKyAgYnVmZmVyID0gJmJ1ZmZlcltidWZfbGVuXTsKKworICBzdGF0dXMgPSBUcmlvRm9ybWF0KCZidWZmZXIsIG1heCAtIDEgLSBidWZfbGVuLAorCQkgICAgICBUcmlvT3V0U3RyZWFtU3RyaW5nTWF4LCBmb3JtYXQsIFRSSU9fVkFfTElTVF9BRERSKGFyZ3MpLCBOVUxMKTsKKyAgVFJJT19WQV9FTkQoYXJncyk7CisgICpidWZmZXIgPSBOSUw7CisgIHJldHVybiBzdGF0dXM7Cit9CisKK1RSSU9fUFVCTElDIGludAordHJpb192c25wcmludGZjYXQKK1RSSU9fQVJHUzQoKGJ1ZmZlciwgbWF4LCBmb3JtYXQsIGFyZ3MpLAorCSAgIGNoYXIgKmJ1ZmZlciwKKwkgICBzaXplX3QgbWF4LAorCSAgIFRSSU9fQ09OU1QgY2hhciAqZm9ybWF0LAorCSAgIHZhX2xpc3QgYXJncykKK3sKKyAgaW50IHN0YXR1czsKKyAgc2l6ZV90IGJ1Zl9sZW47CisKKyAgYXNzZXJ0KFZBTElEKGJ1ZmZlcikpOworICBhc3NlcnQoVkFMSUQoZm9ybWF0KSk7CisKKyAgYnVmX2xlbiA9IHRyaW9fbGVuZ3RoKGJ1ZmZlcik7CisgIGJ1ZmZlciA9ICZidWZmZXJbYnVmX2xlbl07CisgIHN0YXR1cyA9IFRyaW9Gb3JtYXQoJmJ1ZmZlciwgbWF4IC0gMSAtIGJ1Zl9sZW4sCisJCSAgICAgIFRyaW9PdXRTdHJlYW1TdHJpbmdNYXgsIGZvcm1hdCwgVFJJT19WQV9MSVNUX0FERFIoYXJncyksIE5VTEwpOworICAqYnVmZmVyID0gTklMOworICByZXR1cm4gc3RhdHVzOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogdHJpb19hcHJpbnRmCisgKi8KKworLyogRGVwcmVjYXRlZCAqLworVFJJT19QVUJMSUMgY2hhciAqCit0cmlvX2FwcmludGYKK1RSSU9fVkFSR1MyKChmb3JtYXQsIHZhX2FsaXN0KSwKKwkgICAgVFJJT19DT05TVCBjaGFyICpmb3JtYXQsCisJICAgIFRSSU9fVkFfREVDTCkKK3sKKyAgdmFfbGlzdCBhcmdzOworICB0cmlvX3N0cmluZ190ICppbmZvOworICBjaGFyICpyZXN1bHQgPSBOVUxMOworCisgIGFzc2VydChWQUxJRChmb3JtYXQpKTsKKworICBpbmZvID0gdHJpb194c3RyaW5nX2R1cGxpY2F0ZSgiIik7CisgIGlmIChpbmZvKQorICAgIHsKKyAgICAgIFRSSU9fVkFfU1RBUlQoYXJncywgZm9ybWF0KTsKKyAgICAgICh2b2lkKVRyaW9Gb3JtYXQoaW5mbywgMCwgVHJpb091dFN0cmVhbVN0cmluZ0R5bmFtaWMsCisJCSAgICAgICBmb3JtYXQsIFRSSU9fVkFfTElTVF9BRERSKGFyZ3MpLCBOVUxMKTsKKyAgICAgIFRSSU9fVkFfRU5EKGFyZ3MpOworCisgICAgICB0cmlvX3N0cmluZ190ZXJtaW5hdGUoaW5mbyk7CisgICAgICByZXN1bHQgPSB0cmlvX3N0cmluZ19leHRyYWN0KGluZm8pOworICAgICAgdHJpb19zdHJpbmdfZGVzdHJveShpbmZvKTsKKyAgICB9CisgIHJldHVybiByZXN1bHQ7Cit9CisKKy8qIERlcHJlY2F0ZWQgKi8KK1RSSU9fUFVCTElDIGNoYXIgKgordHJpb192YXByaW50ZgorVFJJT19BUkdTMigoZm9ybWF0LCBhcmdzKSwKKwkgICBUUklPX0NPTlNUIGNoYXIgKmZvcm1hdCwKKwkgICB2YV9saXN0IGFyZ3MpCit7CisgIHRyaW9fc3RyaW5nX3QgKmluZm87CisgIGNoYXIgKnJlc3VsdCA9IE5VTEw7CisKKyAgYXNzZXJ0KFZBTElEKGZvcm1hdCkpOworCisgIGluZm8gPSB0cmlvX3hzdHJpbmdfZHVwbGljYXRlKCIiKTsKKyAgaWYgKGluZm8pCisgICAgeworICAgICAgKHZvaWQpVHJpb0Zvcm1hdChpbmZvLCAwLCBUcmlvT3V0U3RyZWFtU3RyaW5nRHluYW1pYywKKwkJICAgICAgIGZvcm1hdCwgVFJJT19WQV9MSVNUX0FERFIoYXJncyksIE5VTEwpOworICAgICAgdHJpb19zdHJpbmdfdGVybWluYXRlKGluZm8pOworICAgICAgcmVzdWx0ID0gdHJpb19zdHJpbmdfZXh0cmFjdChpbmZvKTsKKyAgICAgIHRyaW9fc3RyaW5nX2Rlc3Ryb3koaW5mbyk7CisgICAgfQorICByZXR1cm4gcmVzdWx0OworfQorCitUUklPX1BVQkxJQyBpbnQKK3RyaW9fYXNwcmludGYKK1RSSU9fVkFSR1MzKChyZXN1bHQsIGZvcm1hdCwgdmFfYWxpc3QpLAorCSAgICBjaGFyICoqcmVzdWx0LAorCSAgICBUUklPX0NPTlNUIGNoYXIgKmZvcm1hdCwKKwkgICAgVFJJT19WQV9ERUNMKQoreworICB2YV9saXN0IGFyZ3M7CisgIGludCBzdGF0dXM7CisgIHRyaW9fc3RyaW5nX3QgKmluZm87CisKKyAgYXNzZXJ0KFZBTElEKGZvcm1hdCkpOworCisgICpyZXN1bHQgPSBOVUxMOworCisgIGluZm8gPSB0cmlvX3hzdHJpbmdfZHVwbGljYXRlKCIiKTsKKyAgaWYgKGluZm8gPT0gTlVMTCkKKyAgICB7CisgICAgICBzdGF0dXMgPSBUUklPX0VSUk9SX1JFVFVSTihUUklPX0VOT01FTSwgMCk7CisgICAgfQorICBlbHNlCisgICAgeworICAgICAgVFJJT19WQV9TVEFSVChhcmdzLCBmb3JtYXQpOworICAgICAgc3RhdHVzID0gVHJpb0Zvcm1hdChpbmZvLCAwLCBUcmlvT3V0U3RyZWFtU3RyaW5nRHluYW1pYywKKwkJCSAgZm9ybWF0LCBUUklPX1ZBX0xJU1RfQUREUihhcmdzKSwgTlVMTCk7CisgICAgICBUUklPX1ZBX0VORChhcmdzKTsKKyAgICAgIGlmIChzdGF0dXMgPj0gMCkKKwl7CisJICB0cmlvX3N0cmluZ190ZXJtaW5hdGUoaW5mbyk7CisJICAqcmVzdWx0ID0gdHJpb19zdHJpbmdfZXh0cmFjdChpbmZvKTsKKwl9CisgICAgICB0cmlvX3N0cmluZ19kZXN0cm95KGluZm8pOworICAgIH0KKyAgcmV0dXJuIHN0YXR1czsKK30KKworVFJJT19QVUJMSUMgaW50Cit0cmlvX3Zhc3ByaW50ZgorVFJJT19BUkdTMygocmVzdWx0LCBmb3JtYXQsIGFyZ3MpLAorCSAgIGNoYXIgKipyZXN1bHQsCisJICAgVFJJT19DT05TVCBjaGFyICpmb3JtYXQsCisJICAgdmFfbGlzdCBhcmdzKQoreworICBpbnQgc3RhdHVzOworICB0cmlvX3N0cmluZ190ICppbmZvOworCisgIGFzc2VydChWQUxJRChmb3JtYXQpKTsKKworICAqcmVzdWx0ID0gTlVMTDsKKworICBpbmZvID0gdHJpb194c3RyaW5nX2R1cGxpY2F0ZSgiIik7CisgIGlmIChpbmZvID09IE5VTEwpCisgICAgeworICAgICAgc3RhdHVzID0gVFJJT19FUlJPUl9SRVRVUk4oVFJJT19FTk9NRU0sIDApOworICAgIH0KKyAgZWxzZQorICAgIHsKKyAgICAgIHN0YXR1cyA9IFRyaW9Gb3JtYXQoaW5mbywgMCwgVHJpb091dFN0cmVhbVN0cmluZ0R5bmFtaWMsCisJCQkgIGZvcm1hdCwgVFJJT19WQV9MSVNUX0FERFIoYXJncyksIE5VTEwpOworICAgICAgaWYgKHN0YXR1cyA+PSAwKQorCXsKKwkgIHRyaW9fc3RyaW5nX3Rlcm1pbmF0ZShpbmZvKTsKKwkgICpyZXN1bHQgPSB0cmlvX3N0cmluZ19leHRyYWN0KGluZm8pOworCX0KKyAgICAgIHRyaW9fc3RyaW5nX2Rlc3Ryb3koaW5mbyk7CisgICAgfQorICByZXR1cm4gc3RhdHVzOworfQorCisvKiogQH0gRW5kIG9mIFByaW50ZiBkb2N1bWVudGF0aW9uIG1vZHVsZSAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIENBTExCQUNLCisgKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmIGRlZmluZWQoVFJJT19ET0NVTUVOVEFUSU9OKQorIyBpbmNsdWRlICJkb2MvZG9jX3JlZ2lzdGVyLmgiCisjZW5kaWYKKy8qKgorICAgQGFkZHRvZ3JvdXAgVXNlckRlZmluZWQKKyAgIEB7CisqLworCisjaWYgVFJJT19FWFRFTlNJT04KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIHRyaW9fcmVnaXN0ZXIKKyAqLworCisvKioKKyAgIFJlZ2lzdGVyIG5ldyB1c2VyLWRlZmluZWQgc3BlY2lmaWVyLgorCisgICBAcGFyYW0gY2FsbGJhY2sKKyAgIEBwYXJhbSBuYW1lCisgICBAcmV0dXJuIEhhbmRsZS4KKyAqLworVFJJT19QVUJMSUMgdHJpb19wb2ludGVyX3QKK3RyaW9fcmVnaXN0ZXIKK1RSSU9fQVJHUzIoKGNhbGxiYWNrLCBuYW1lKSwKKwkgICB0cmlvX2NhbGxiYWNrX3QgY2FsbGJhY2ssCisJICAgVFJJT19DT05TVCBjaGFyICpuYW1lKQoreworICB0cmlvX3VzZXJkZWZfdCAqZGVmOworICB0cmlvX3VzZXJkZWZfdCAqcHJldiA9IE5VTEw7CisKKyAgaWYgKGNhbGxiYWNrID09IE5VTEwpCisgICAgcmV0dXJuIE5VTEw7CisKKyAgaWYgKG5hbWUpCisgICAgeworICAgICAgLyogSGFuZGxlIGJ1aWx0LWluIG5hbWVzcGFjZXMgKi8KKyAgICAgIGlmIChuYW1lWzBdID09ICc6JykKKwl7CisJICBpZiAodHJpb19lcXVhbChuYW1lLCAiOmVudGVyIikpCisJICAgIHsKKwkgICAgICBpbnRlcm5hbEVudGVyQ3JpdGljYWxSZWdpb24gPSBjYWxsYmFjazsKKwkgICAgfQorCSAgZWxzZSBpZiAodHJpb19lcXVhbChuYW1lLCAiOmxlYXZlIikpCisJICAgIHsKKwkgICAgICBpbnRlcm5hbExlYXZlQ3JpdGljYWxSZWdpb24gPSBjYWxsYmFjazsKKwkgICAgfQorCSAgcmV0dXJuIE5VTEw7CisJfQorCisgICAgICAvKiBCYWlsIG91dCBpZiBuYW1lc3BhY2UgaXMgdG9vIGxvbmcgKi8KKyAgICAgIGlmICh0cmlvX2xlbmd0aChuYW1lKSA+PSBNQVhfVVNFUl9OQU1FKQorCXJldHVybiBOVUxMOworCisgICAgICAvKiBCYWlsIG91dCBpZiBuYW1lc3BhY2UgYWxyZWFkeSBpcyByZWdpc3RlcmVkICovCisgICAgICBkZWYgPSBUcmlvRmluZE5hbWVzcGFjZShuYW1lLCAmcHJldik7CisgICAgICBpZiAoZGVmKQorCXJldHVybiBOVUxMOworICAgIH0KKworICBkZWYgPSAodHJpb191c2VyZGVmX3QgKilUUklPX01BTExPQyhzaXplb2YodHJpb191c2VyZGVmX3QpKTsKKyAgaWYgKGRlZikKKyAgICB7CisgICAgICBpZiAoaW50ZXJuYWxFbnRlckNyaXRpY2FsUmVnaW9uKQorCSh2b2lkKWludGVybmFsRW50ZXJDcml0aWNhbFJlZ2lvbihOVUxMKTsKKworICAgICAgaWYgKG5hbWUpCisJeworCSAgLyogTGluayBpbnRvIGludGVybmFsIGxpc3QgKi8KKwkgIGlmIChwcmV2ID09IE5VTEwpCisJICAgIGludGVybmFsVXNlckRlZiA9IGRlZjsKKwkgIGVsc2UKKwkgICAgcHJldi0+bmV4dCA9IGRlZjsKKwl9CisgICAgICAvKiBJbml0aWFsaXplICovCisgICAgICBkZWYtPmNhbGxiYWNrID0gY2FsbGJhY2s7CisgICAgICBkZWYtPm5hbWUgPSAobmFtZSA9PSBOVUxMKQorCT8gTlVMTAorCTogdHJpb19kdXBsaWNhdGUobmFtZSk7CisgICAgICBkZWYtPm5leHQgPSBOVUxMOworCisgICAgICBpZiAoaW50ZXJuYWxMZWF2ZUNyaXRpY2FsUmVnaW9uKQorCSh2b2lkKWludGVybmFsTGVhdmVDcml0aWNhbFJlZ2lvbihOVUxMKTsKKyAgICB9CisgIHJldHVybiAodHJpb19wb2ludGVyX3QpZGVmOworfQorCisvKioKKyAgIFVucmVnaXN0ZXIgYW4gZXhpc3RpbmcgdXNlci1kZWZpbmVkIHNwZWNpZmllci4KKworICAgQHBhcmFtIGhhbmRsZQorICovCit2b2lkCit0cmlvX3VucmVnaXN0ZXIKK1RSSU9fQVJHUzEoKGhhbmRsZSksCisJICAgdHJpb19wb2ludGVyX3QgaGFuZGxlKQoreworICB0cmlvX3VzZXJkZWZfdCAqc2VsZiA9ICh0cmlvX3VzZXJkZWZfdCAqKWhhbmRsZTsKKyAgdHJpb191c2VyZGVmX3QgKmRlZjsKKyAgdHJpb191c2VyZGVmX3QgKnByZXYgPSBOVUxMOworCisgIGFzc2VydChWQUxJRChzZWxmKSk7CisKKyAgaWYgKHNlbGYtPm5hbWUpCisgICAgeworICAgICAgZGVmID0gVHJpb0ZpbmROYW1lc3BhY2Uoc2VsZi0+bmFtZSwgJnByZXYpOworICAgICAgaWYgKGRlZikKKwl7CisJICBpZiAoaW50ZXJuYWxFbnRlckNyaXRpY2FsUmVnaW9uKQorCSAgICAodm9pZClpbnRlcm5hbEVudGVyQ3JpdGljYWxSZWdpb24oTlVMTCk7CisKKwkgIGlmIChwcmV2ID09IE5VTEwpCisJICAgIGludGVybmFsVXNlckRlZiA9IE5VTEw7CisJICBlbHNlCisJICAgIHByZXYtPm5leHQgPSBkZWYtPm5leHQ7CisKKwkgIGlmIChpbnRlcm5hbExlYXZlQ3JpdGljYWxSZWdpb24pCisJICAgICh2b2lkKWludGVybmFsTGVhdmVDcml0aWNhbFJlZ2lvbihOVUxMKTsKKwl9CisgICAgICB0cmlvX2Rlc3Ryb3koc2VsZi0+bmFtZSk7CisgICAgfQorICBUUklPX0ZSRUUoc2VsZik7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiB0cmlvX2dldF9mb3JtYXQgW3B1YmxpY10KKyAqLworVFJJT19DT05TVCBjaGFyICoKK3RyaW9fZ2V0X2Zvcm1hdAorVFJJT19BUkdTMSgocmVmKSwKKwkgICB0cmlvX3BvaW50ZXJfdCByZWYpCit7CisjaWYgZGVmaW5lZChGT1JNQVRfVVNFUl9ERUZJTkVEKQorICBhc3NlcnQoKCh0cmlvX3JlZmVyZW5jZV90ICopcmVmKS0+cGFyYW1ldGVyLT50eXBlID09IEZPUk1BVF9VU0VSX0RFRklORUQpOworI2VuZGlmCisKKyAgcmV0dXJuICgoKHRyaW9fcmVmZXJlbmNlX3QgKilyZWYpLT5wYXJhbWV0ZXItPnVzZXJfZGF0YSk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiB0cmlvX2dldF9hcmd1bWVudCBbcHVibGljXQorICovCit0cmlvX3BvaW50ZXJfdAordHJpb19nZXRfYXJndW1lbnQKK1RSSU9fQVJHUzEoKHJlZiksCisJICAgdHJpb19wb2ludGVyX3QgcmVmKQoreworI2lmIGRlZmluZWQoRk9STUFUX1VTRVJfREVGSU5FRCkKKyAgYXNzZXJ0KCgodHJpb19yZWZlcmVuY2VfdCAqKXJlZiktPnBhcmFtZXRlci0+dHlwZSA9PSBGT1JNQVRfVVNFUl9ERUZJTkVEKTsKKyNlbmRpZgorCisgIHJldHVybiAoKHRyaW9fcmVmZXJlbmNlX3QgKilyZWYpLT5wYXJhbWV0ZXItPmRhdGEucG9pbnRlcjsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIHRyaW9fZ2V0X3dpZHRoIC8gdHJpb19zZXRfd2lkdGggW3B1YmxpY10KKyAqLworaW50Cit0cmlvX2dldF93aWR0aAorVFJJT19BUkdTMSgocmVmKSwKKwkgICB0cmlvX3BvaW50ZXJfdCByZWYpCit7CisgIHJldHVybiAoKHRyaW9fcmVmZXJlbmNlX3QgKilyZWYpLT5wYXJhbWV0ZXItPndpZHRoOworfQorCit2b2lkCit0cmlvX3NldF93aWR0aAorVFJJT19BUkdTMigocmVmLCB3aWR0aCksCisJICAgdHJpb19wb2ludGVyX3QgcmVmLAorCSAgIGludCB3aWR0aCkKK3sKKyAgKCh0cmlvX3JlZmVyZW5jZV90ICopcmVmKS0+cGFyYW1ldGVyLT53aWR0aCA9IHdpZHRoOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogdHJpb19nZXRfcHJlY2lzaW9uIC8gdHJpb19zZXRfcHJlY2lzaW9uIFtwdWJsaWNdCisgKi8KK2ludAordHJpb19nZXRfcHJlY2lzaW9uCitUUklPX0FSR1MxKChyZWYpLAorCSAgIHRyaW9fcG9pbnRlcl90IHJlZikKK3sKKyAgcmV0dXJuICgoKHRyaW9fcmVmZXJlbmNlX3QgKilyZWYpLT5wYXJhbWV0ZXItPnByZWNpc2lvbik7Cit9CisKK3ZvaWQKK3RyaW9fc2V0X3ByZWNpc2lvbgorVFJJT19BUkdTMigocmVmLCBwcmVjaXNpb24pLAorCSAgIHRyaW9fcG9pbnRlcl90IHJlZiwKKwkgICBpbnQgcHJlY2lzaW9uKQoreworICAoKHRyaW9fcmVmZXJlbmNlX3QgKilyZWYpLT5wYXJhbWV0ZXItPnByZWNpc2lvbiA9IHByZWNpc2lvbjsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIHRyaW9fZ2V0X2Jhc2UgLyB0cmlvX3NldF9iYXNlIFtwdWJsaWNdCisgKi8KK2ludAordHJpb19nZXRfYmFzZQorVFJJT19BUkdTMSgocmVmKSwKKwkgICB0cmlvX3BvaW50ZXJfdCByZWYpCit7CisgIHJldHVybiAoKCh0cmlvX3JlZmVyZW5jZV90ICopcmVmKS0+cGFyYW1ldGVyLT5iYXNlKTsKK30KKwordm9pZAordHJpb19zZXRfYmFzZQorVFJJT19BUkdTMigocmVmLCBiYXNlKSwKKwkgICB0cmlvX3BvaW50ZXJfdCByZWYsCisJICAgaW50IGJhc2UpCit7CisgICgodHJpb19yZWZlcmVuY2VfdCAqKXJlZiktPnBhcmFtZXRlci0+YmFzZSA9IGJhc2U7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiB0cmlvX2dldF9sb25nIC8gdHJpb19zZXRfbG9uZyBbcHVibGljXQorICovCitpbnQKK3RyaW9fZ2V0X2xvbmcKK1RSSU9fQVJHUzEoKHJlZiksCisJICAgdHJpb19wb2ludGVyX3QgcmVmKQoreworICByZXR1cm4gKCgodHJpb19yZWZlcmVuY2VfdCAqKXJlZiktPnBhcmFtZXRlci0+ZmxhZ3MgJiBGTEFHU19MT05HKQorICAgID8gVFJVRQorICAgIDogRkFMU0U7Cit9CisKK3ZvaWQKK3RyaW9fc2V0X2xvbmcKK1RSSU9fQVJHUzIoKHJlZiwgaXNfbG9uZyksCisJICAgdHJpb19wb2ludGVyX3QgcmVmLAorCSAgIGludCBpc19sb25nKQoreworICBpZiAoaXNfbG9uZykKKyAgICAoKHRyaW9fcmVmZXJlbmNlX3QgKilyZWYpLT5wYXJhbWV0ZXItPmZsYWdzIHw9IEZMQUdTX0xPTkc7CisgIGVsc2UKKyAgICAoKHRyaW9fcmVmZXJlbmNlX3QgKilyZWYpLT5wYXJhbWV0ZXItPmZsYWdzICY9IH5GTEFHU19MT05HOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogdHJpb19nZXRfbG9uZ2xvbmcgLyB0cmlvX3NldF9sb25nbG9uZyBbcHVibGljXQorICovCitpbnQKK3RyaW9fZ2V0X2xvbmdsb25nCitUUklPX0FSR1MxKChyZWYpLAorCSAgIHRyaW9fcG9pbnRlcl90IHJlZikKK3sKKyAgcmV0dXJuICgoKHRyaW9fcmVmZXJlbmNlX3QgKilyZWYpLT5wYXJhbWV0ZXItPmZsYWdzICYgRkxBR1NfUVVBRCkKKyAgICA/IFRSVUUKKyAgICA6IEZBTFNFOworfQorCit2b2lkCit0cmlvX3NldF9sb25nbG9uZworVFJJT19BUkdTMigocmVmLCBpc19sb25nbG9uZyksCisJICAgdHJpb19wb2ludGVyX3QgcmVmLAorCSAgIGludCBpc19sb25nbG9uZykKK3sKKyAgaWYgKGlzX2xvbmdsb25nKQorICAgICgodHJpb19yZWZlcmVuY2VfdCAqKXJlZiktPnBhcmFtZXRlci0+ZmxhZ3MgfD0gRkxBR1NfUVVBRDsKKyAgZWxzZQorICAgICgodHJpb19yZWZlcmVuY2VfdCAqKXJlZiktPnBhcmFtZXRlci0+ZmxhZ3MgJj0gfkZMQUdTX1FVQUQ7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiB0cmlvX2dldF9sb25nZG91YmxlIC8gdHJpb19zZXRfbG9uZ2RvdWJsZSBbcHVibGljXQorICovCitpbnQKK3RyaW9fZ2V0X2xvbmdkb3VibGUKK1RSSU9fQVJHUzEoKHJlZiksCisJICAgdHJpb19wb2ludGVyX3QgcmVmKQoreworICByZXR1cm4gKCgodHJpb19yZWZlcmVuY2VfdCAqKXJlZiktPnBhcmFtZXRlci0+ZmxhZ3MgJiBGTEFHU19MT05HRE9VQkxFKQorICAgID8gVFJVRQorICAgIDogRkFMU0U7Cit9CisKK3ZvaWQKK3RyaW9fc2V0X2xvbmdkb3VibGUKK1RSSU9fQVJHUzIoKHJlZiwgaXNfbG9uZ2RvdWJsZSksCisJICAgdHJpb19wb2ludGVyX3QgcmVmLAorCSAgIGludCBpc19sb25nZG91YmxlKQoreworICBpZiAoaXNfbG9uZ2RvdWJsZSkKKyAgICAoKHRyaW9fcmVmZXJlbmNlX3QgKilyZWYpLT5wYXJhbWV0ZXItPmZsYWdzIHw9IEZMQUdTX0xPTkdET1VCTEU7CisgIGVsc2UKKyAgICAoKHRyaW9fcmVmZXJlbmNlX3QgKilyZWYpLT5wYXJhbWV0ZXItPmZsYWdzICY9IH5GTEFHU19MT05HRE9VQkxFOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogdHJpb19nZXRfc2hvcnQgLyB0cmlvX3NldF9zaG9ydCBbcHVibGljXQorICovCitpbnQKK3RyaW9fZ2V0X3Nob3J0CitUUklPX0FSR1MxKChyZWYpLAorCSAgIHRyaW9fcG9pbnRlcl90IHJlZikKK3sKKyAgcmV0dXJuICgoKHRyaW9fcmVmZXJlbmNlX3QgKilyZWYpLT5wYXJhbWV0ZXItPmZsYWdzICYgRkxBR1NfU0hPUlQpCisgICAgPyBUUlVFCisgICAgOiBGQUxTRTsKK30KKwordm9pZAordHJpb19zZXRfc2hvcnQKK1RSSU9fQVJHUzIoKHJlZiwgaXNfc2hvcnQpLAorCSAgIHRyaW9fcG9pbnRlcl90IHJlZiwKKwkgICBpbnQgaXNfc2hvcnQpCit7CisgIGlmIChpc19zaG9ydCkKKyAgICAoKHRyaW9fcmVmZXJlbmNlX3QgKilyZWYpLT5wYXJhbWV0ZXItPmZsYWdzIHw9IEZMQUdTX1NIT1JUOworICBlbHNlCisgICAgKCh0cmlvX3JlZmVyZW5jZV90ICopcmVmKS0+cGFyYW1ldGVyLT5mbGFncyAmPSB+RkxBR1NfU0hPUlQ7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiB0cmlvX2dldF9zaG9ydHNob3J0IC8gdHJpb19zZXRfc2hvcnRzaG9ydCBbcHVibGljXQorICovCitpbnQKK3RyaW9fZ2V0X3Nob3J0c2hvcnQKK1RSSU9fQVJHUzEoKHJlZiksCisJICAgdHJpb19wb2ludGVyX3QgcmVmKQoreworICByZXR1cm4gKCgodHJpb19yZWZlcmVuY2VfdCAqKXJlZiktPnBhcmFtZXRlci0+ZmxhZ3MgJiBGTEFHU19TSE9SVFNIT1JUKQorICAgID8gVFJVRQorICAgIDogRkFMU0U7Cit9CisKK3ZvaWQKK3RyaW9fc2V0X3Nob3J0c2hvcnQKK1RSSU9fQVJHUzIoKHJlZiwgaXNfc2hvcnRzaG9ydCksCisJICAgdHJpb19wb2ludGVyX3QgcmVmLAorCSAgIGludCBpc19zaG9ydHNob3J0KQoreworICBpZiAoaXNfc2hvcnRzaG9ydCkKKyAgICAoKHRyaW9fcmVmZXJlbmNlX3QgKilyZWYpLT5wYXJhbWV0ZXItPmZsYWdzIHw9IEZMQUdTX1NIT1JUU0hPUlQ7CisgIGVsc2UKKyAgICAoKHRyaW9fcmVmZXJlbmNlX3QgKilyZWYpLT5wYXJhbWV0ZXItPmZsYWdzICY9IH5GTEFHU19TSE9SVFNIT1JUOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogdHJpb19nZXRfYWx0ZXJuYXRpdmUgLyB0cmlvX3NldF9hbHRlcm5hdGl2ZSBbcHVibGljXQorICovCitpbnQKK3RyaW9fZ2V0X2FsdGVybmF0aXZlCitUUklPX0FSR1MxKChyZWYpLAorCSAgIHRyaW9fcG9pbnRlcl90IHJlZikKK3sKKyAgcmV0dXJuICgoKHRyaW9fcmVmZXJlbmNlX3QgKilyZWYpLT5wYXJhbWV0ZXItPmZsYWdzICYgRkxBR1NfQUxURVJOQVRJVkUpCisgICAgPyBUUlVFCisgICAgOiBGQUxTRTsKK30KKwordm9pZAordHJpb19zZXRfYWx0ZXJuYXRpdmUKK1RSSU9fQVJHUzIoKHJlZiwgaXNfYWx0ZXJuYXRpdmUpLAorCSAgIHRyaW9fcG9pbnRlcl90IHJlZiwKKwkgICBpbnQgaXNfYWx0ZXJuYXRpdmUpCit7CisgIGlmIChpc19hbHRlcm5hdGl2ZSkKKyAgICAoKHRyaW9fcmVmZXJlbmNlX3QgKilyZWYpLT5wYXJhbWV0ZXItPmZsYWdzIHw9IEZMQUdTX0FMVEVSTkFUSVZFOworICBlbHNlCisgICAgKCh0cmlvX3JlZmVyZW5jZV90ICopcmVmKS0+cGFyYW1ldGVyLT5mbGFncyAmPSB+RkxBR1NfQUxURVJOQVRJVkU7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiB0cmlvX2dldF9hbGlnbm1lbnQgLyB0cmlvX3NldF9hbGlnbm1lbnQgW3B1YmxpY10KKyAqLworaW50Cit0cmlvX2dldF9hbGlnbm1lbnQKK1RSSU9fQVJHUzEoKHJlZiksCisJICAgdHJpb19wb2ludGVyX3QgcmVmKQoreworICByZXR1cm4gKCgodHJpb19yZWZlcmVuY2VfdCAqKXJlZiktPnBhcmFtZXRlci0+ZmxhZ3MgJiBGTEFHU19MRUZUQURKVVNUKQorICAgID8gVFJVRQorICAgIDogRkFMU0U7Cit9CisKK3ZvaWQKK3RyaW9fc2V0X2FsaWdubWVudAorVFJJT19BUkdTMigocmVmLCBpc19sZWZ0YWxpZ25lZCksCisJICAgdHJpb19wb2ludGVyX3QgcmVmLAorCSAgIGludCBpc19sZWZ0YWxpZ25lZCkKK3sKKyAgaWYgKGlzX2xlZnRhbGlnbmVkKQorICAgICgodHJpb19yZWZlcmVuY2VfdCAqKXJlZiktPnBhcmFtZXRlci0+ZmxhZ3MgfD0gRkxBR1NfTEVGVEFESlVTVDsKKyAgZWxzZQorICAgICgodHJpb19yZWZlcmVuY2VfdCAqKXJlZiktPnBhcmFtZXRlci0+ZmxhZ3MgJj0gfkZMQUdTX0xFRlRBREpVU1Q7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiB0cmlvX2dldF9zcGFjaW5nIC90cmlvX3NldF9zcGFjaW5nIFtwdWJsaWNdCisgKi8KK2ludAordHJpb19nZXRfc3BhY2luZworVFJJT19BUkdTMSgocmVmKSwKKwkgICB0cmlvX3BvaW50ZXJfdCByZWYpCit7CisgIHJldHVybiAoKCh0cmlvX3JlZmVyZW5jZV90ICopcmVmKS0+cGFyYW1ldGVyLT5mbGFncyAmIEZMQUdTX1NQQUNFKQorICAgID8gVFJVRQorICAgIDogRkFMU0U7Cit9CisKK3ZvaWQKK3RyaW9fc2V0X3NwYWNpbmcKK1RSSU9fQVJHUzIoKHJlZiwgaXNfc3BhY2UpLAorCSAgIHRyaW9fcG9pbnRlcl90IHJlZiwKKwkgICBpbnQgaXNfc3BhY2UpCit7CisgIGlmIChpc19zcGFjZSkKKyAgICAoKHRyaW9fcmVmZXJlbmNlX3QgKilyZWYpLT5wYXJhbWV0ZXItPmZsYWdzIHw9IEZMQUdTX1NQQUNFOworICBlbHNlCisgICAgKCh0cmlvX3JlZmVyZW5jZV90ICopcmVmKS0+cGFyYW1ldGVyLT5mbGFncyAmPSB+RkxBR1NfU1BBQ0U7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiB0cmlvX2dldF9zaWduIC8gdHJpb19zZXRfc2lnbiBbcHVibGljXQorICovCitpbnQKK3RyaW9fZ2V0X3NpZ24KK1RSSU9fQVJHUzEoKHJlZiksCisJICAgdHJpb19wb2ludGVyX3QgcmVmKQoreworICByZXR1cm4gKCgodHJpb19yZWZlcmVuY2VfdCAqKXJlZiktPnBhcmFtZXRlci0+ZmxhZ3MgJiBGTEFHU19TSE9XU0lHTikKKyAgICA/IFRSVUUKKyAgICA6IEZBTFNFOworfQorCit2b2lkCit0cmlvX3NldF9zaWduCitUUklPX0FSR1MyKChyZWYsIGlzX3NpZ24pLAorCSAgIHRyaW9fcG9pbnRlcl90IHJlZiwKKwkgICBpbnQgaXNfc2lnbikKK3sKKyAgaWYgKGlzX3NpZ24pCisgICAgKCh0cmlvX3JlZmVyZW5jZV90ICopcmVmKS0+cGFyYW1ldGVyLT5mbGFncyB8PSBGTEFHU19TSE9XU0lHTjsKKyAgZWxzZQorICAgICgodHJpb19yZWZlcmVuY2VfdCAqKXJlZiktPnBhcmFtZXRlci0+ZmxhZ3MgJj0gfkZMQUdTX1NIT1dTSUdOOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogdHJpb19nZXRfcGFkZGluZyAvIHRyaW9fc2V0X3BhZGRpbmcgW3B1YmxpY10KKyAqLworaW50Cit0cmlvX2dldF9wYWRkaW5nCitUUklPX0FSR1MxKChyZWYpLAorCSAgIHRyaW9fcG9pbnRlcl90IHJlZikKK3sKKyAgcmV0dXJuICgoKHRyaW9fcmVmZXJlbmNlX3QgKilyZWYpLT5wYXJhbWV0ZXItPmZsYWdzICYgRkxBR1NfTklMUEFERElORykKKyAgICA/IFRSVUUKKyAgICA6IEZBTFNFOworfQorCit2b2lkCit0cmlvX3NldF9wYWRkaW5nCitUUklPX0FSR1MyKChyZWYsIGlzX3BhZGRpbmcpLAorCSAgIHRyaW9fcG9pbnRlcl90IHJlZiwKKwkgICBpbnQgaXNfcGFkZGluZykKK3sKKyAgaWYgKGlzX3BhZGRpbmcpCisgICAgKCh0cmlvX3JlZmVyZW5jZV90ICopcmVmKS0+cGFyYW1ldGVyLT5mbGFncyB8PSBGTEFHU19OSUxQQURESU5HOworICBlbHNlCisgICAgKCh0cmlvX3JlZmVyZW5jZV90ICopcmVmKS0+cGFyYW1ldGVyLT5mbGFncyAmPSB+RkxBR1NfTklMUEFERElORzsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIHRyaW9fZ2V0X3F1b3RlIC8gdHJpb19zZXRfcXVvdGUgW3B1YmxpY10KKyAqLworaW50Cit0cmlvX2dldF9xdW90ZQorVFJJT19BUkdTMSgocmVmKSwKKwkgICB0cmlvX3BvaW50ZXJfdCByZWYpCit7CisgIHJldHVybiAoKCh0cmlvX3JlZmVyZW5jZV90ICopcmVmKS0+cGFyYW1ldGVyLT5mbGFncyAmIEZMQUdTX1FVT1RFKQorICAgID8gVFJVRQorICAgIDogRkFMU0U7Cit9CisKK3ZvaWQKK3RyaW9fc2V0X3F1b3RlCitUUklPX0FSR1MyKChyZWYsIGlzX3F1b3RlKSwKKwkgICB0cmlvX3BvaW50ZXJfdCByZWYsCisJICAgaW50IGlzX3F1b3RlKQoreworICBpZiAoaXNfcXVvdGUpCisgICAgKCh0cmlvX3JlZmVyZW5jZV90ICopcmVmKS0+cGFyYW1ldGVyLT5mbGFncyB8PSBGTEFHU19RVU9URTsKKyAgZWxzZQorICAgICgodHJpb19yZWZlcmVuY2VfdCAqKXJlZiktPnBhcmFtZXRlci0+ZmxhZ3MgJj0gfkZMQUdTX1FVT1RFOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogdHJpb19nZXRfdXBwZXIgLyB0cmlvX3NldF91cHBlciBbcHVibGljXQorICovCitpbnQKK3RyaW9fZ2V0X3VwcGVyCitUUklPX0FSR1MxKChyZWYpLAorCSAgIHRyaW9fcG9pbnRlcl90IHJlZikKK3sKKyAgcmV0dXJuICgoKHRyaW9fcmVmZXJlbmNlX3QgKilyZWYpLT5wYXJhbWV0ZXItPmZsYWdzICYgRkxBR1NfVVBQRVIpCisgICAgPyBUUlVFCisgICAgOiBGQUxTRTsKK30KKwordm9pZAordHJpb19zZXRfdXBwZXIKK1RSSU9fQVJHUzIoKHJlZiwgaXNfdXBwZXIpLAorCSAgIHRyaW9fcG9pbnRlcl90IHJlZiwKKwkgICBpbnQgaXNfdXBwZXIpCit7CisgIGlmIChpc191cHBlcikKKyAgICAoKHRyaW9fcmVmZXJlbmNlX3QgKilyZWYpLT5wYXJhbWV0ZXItPmZsYWdzIHw9IEZMQUdTX1VQUEVSOworICBlbHNlCisgICAgKCh0cmlvX3JlZmVyZW5jZV90ICopcmVmKS0+cGFyYW1ldGVyLT5mbGFncyAmPSB+RkxBR1NfVVBQRVI7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiB0cmlvX2dldF9sYXJnZXN0IC8gdHJpb19zZXRfbGFyZ2VzdCBbcHVibGljXQorICovCisjaWYgVFJJT19DOTkKK2ludAordHJpb19nZXRfbGFyZ2VzdAorVFJJT19BUkdTMSgocmVmKSwKKwkgICB0cmlvX3BvaW50ZXJfdCByZWYpCit7CisgIHJldHVybiAoKCh0cmlvX3JlZmVyZW5jZV90ICopcmVmKS0+cGFyYW1ldGVyLT5mbGFncyAmIEZMQUdTX0lOVE1BWF9UKQorICAgID8gVFJVRQorICAgIDogRkFMU0U7Cit9CisKK3ZvaWQKK3RyaW9fc2V0X2xhcmdlc3QKK1RSSU9fQVJHUzIoKHJlZiwgaXNfbGFyZ2VzdCksCisJICAgdHJpb19wb2ludGVyX3QgcmVmLAorCSAgIGludCBpc19sYXJnZXN0KQoreworICBpZiAoaXNfbGFyZ2VzdCkKKyAgICAoKHRyaW9fcmVmZXJlbmNlX3QgKilyZWYpLT5wYXJhbWV0ZXItPmZsYWdzIHw9IEZMQUdTX0lOVE1BWF9UOworICBlbHNlCisgICAgKCh0cmlvX3JlZmVyZW5jZV90ICopcmVmKS0+cGFyYW1ldGVyLT5mbGFncyAmPSB+RkxBR1NfSU5UTUFYX1Q7Cit9CisjZW5kaWYKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIHRyaW9fZ2V0X3B0cmRpZmYgLyB0cmlvX3NldF9wdHJkaWZmIFtwdWJsaWNdCisgKi8KK2ludAordHJpb19nZXRfcHRyZGlmZgorVFJJT19BUkdTMSgocmVmKSwKKwkgICB0cmlvX3BvaW50ZXJfdCByZWYpCit7CisgIHJldHVybiAoKCh0cmlvX3JlZmVyZW5jZV90ICopcmVmKS0+cGFyYW1ldGVyLT5mbGFncyAmIEZMQUdTX1BUUkRJRkZfVCkKKyAgICA/IFRSVUUKKyAgICA6IEZBTFNFOworfQorCit2b2lkCit0cmlvX3NldF9wdHJkaWZmCitUUklPX0FSR1MyKChyZWYsIGlzX3B0cmRpZmYpLAorCSAgIHRyaW9fcG9pbnRlcl90IHJlZiwKKwkgICBpbnQgaXNfcHRyZGlmZikKK3sKKyAgaWYgKGlzX3B0cmRpZmYpCisgICAgKCh0cmlvX3JlZmVyZW5jZV90ICopcmVmKS0+cGFyYW1ldGVyLT5mbGFncyB8PSBGTEFHU19QVFJESUZGX1Q7CisgIGVsc2UKKyAgICAoKHRyaW9fcmVmZXJlbmNlX3QgKilyZWYpLT5wYXJhbWV0ZXItPmZsYWdzICY9IH5GTEFHU19QVFJESUZGX1Q7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiB0cmlvX2dldF9zaXplIC8gdHJpb19zZXRfc2l6ZSBbcHVibGljXQorICovCisjaWYgVFJJT19DOTkKK2ludAordHJpb19nZXRfc2l6ZQorVFJJT19BUkdTMSgocmVmKSwKKwkgICB0cmlvX3BvaW50ZXJfdCByZWYpCit7CisgIHJldHVybiAoKCh0cmlvX3JlZmVyZW5jZV90ICopcmVmKS0+cGFyYW1ldGVyLT5mbGFncyAmIEZMQUdTX1NJWkVfVCkKKyAgICA/IFRSVUUKKyAgICA6IEZBTFNFOworfQorCit2b2lkCit0cmlvX3NldF9zaXplCitUUklPX0FSR1MyKChyZWYsIGlzX3NpemUpLAorCSAgIHRyaW9fcG9pbnRlcl90IHJlZiwKKwkgICBpbnQgaXNfc2l6ZSkKK3sKKyAgaWYgKGlzX3NpemUpCisgICAgKCh0cmlvX3JlZmVyZW5jZV90ICopcmVmKS0+cGFyYW1ldGVyLT5mbGFncyB8PSBGTEFHU19TSVpFX1Q7CisgIGVsc2UKKyAgICAoKHRyaW9fcmVmZXJlbmNlX3QgKilyZWYpLT5wYXJhbWV0ZXItPmZsYWdzICY9IH5GTEFHU19TSVpFX1Q7Cit9CisjZW5kaWYKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIHRyaW9fcHJpbnRfaW50IFtwdWJsaWNdCisgKi8KK3ZvaWQKK3RyaW9fcHJpbnRfaW50CitUUklPX0FSR1MyKChyZWYsIG51bWJlciksCisJICAgdHJpb19wb2ludGVyX3QgcmVmLAorCSAgIGludCBudW1iZXIpCit7CisgIHRyaW9fcmVmZXJlbmNlX3QgKnNlbGYgPSAodHJpb19yZWZlcmVuY2VfdCAqKXJlZjsKKworICBUcmlvV3JpdGVOdW1iZXIoc2VsZi0+ZGF0YSwKKwkJICAodHJpb191aW50bWF4X3QpbnVtYmVyLAorCQkgIHNlbGYtPnBhcmFtZXRlci0+ZmxhZ3MsCisJCSAgc2VsZi0+cGFyYW1ldGVyLT53aWR0aCwKKwkJICBzZWxmLT5wYXJhbWV0ZXItPnByZWNpc2lvbiwKKwkJICBzZWxmLT5wYXJhbWV0ZXItPmJhc2UpOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogdHJpb19wcmludF91aW50IFtwdWJsaWNdCisgKi8KK3ZvaWQKK3RyaW9fcHJpbnRfdWludAorVFJJT19BUkdTMigocmVmLCBudW1iZXIpLAorCSAgIHRyaW9fcG9pbnRlcl90IHJlZiwKKwkgICB1bnNpZ25lZCBpbnQgbnVtYmVyKQoreworICB0cmlvX3JlZmVyZW5jZV90ICpzZWxmID0gKHRyaW9fcmVmZXJlbmNlX3QgKilyZWY7CisKKyAgVHJpb1dyaXRlTnVtYmVyKHNlbGYtPmRhdGEsCisJCSAgKHRyaW9fdWludG1heF90KW51bWJlciwKKwkJICBzZWxmLT5wYXJhbWV0ZXItPmZsYWdzIHwgRkxBR1NfVU5TSUdORUQsCisJCSAgc2VsZi0+cGFyYW1ldGVyLT53aWR0aCwKKwkJICBzZWxmLT5wYXJhbWV0ZXItPnByZWNpc2lvbiwKKwkJICBzZWxmLT5wYXJhbWV0ZXItPmJhc2UpOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogdHJpb19wcmludF9kb3VibGUgW3B1YmxpY10KKyAqLwordm9pZAordHJpb19wcmludF9kb3VibGUKK1RSSU9fQVJHUzIoKHJlZiwgbnVtYmVyKSwKKwkgICB0cmlvX3BvaW50ZXJfdCByZWYsCisJICAgZG91YmxlIG51bWJlcikKK3sKKyAgdHJpb19yZWZlcmVuY2VfdCAqc2VsZiA9ICh0cmlvX3JlZmVyZW5jZV90ICopcmVmOworCisgIFRyaW9Xcml0ZURvdWJsZShzZWxmLT5kYXRhLAorCQkgIG51bWJlciwKKwkJICBzZWxmLT5wYXJhbWV0ZXItPmZsYWdzLAorCQkgIHNlbGYtPnBhcmFtZXRlci0+d2lkdGgsCisJCSAgc2VsZi0+cGFyYW1ldGVyLT5wcmVjaXNpb24sCisJCSAgc2VsZi0+cGFyYW1ldGVyLT5iYXNlKTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIHRyaW9fcHJpbnRfc3RyaW5nIFtwdWJsaWNdCisgKi8KK3ZvaWQKK3RyaW9fcHJpbnRfc3RyaW5nCitUUklPX0FSR1MyKChyZWYsIHN0cmluZyksCisJICAgdHJpb19wb2ludGVyX3QgcmVmLAorCSAgIGNoYXIgKnN0cmluZykKK3sKKyAgdHJpb19yZWZlcmVuY2VfdCAqc2VsZiA9ICh0cmlvX3JlZmVyZW5jZV90ICopcmVmOworCisgIFRyaW9Xcml0ZVN0cmluZyhzZWxmLT5kYXRhLAorCQkgIHN0cmluZywKKwkJICBzZWxmLT5wYXJhbWV0ZXItPmZsYWdzLAorCQkgIHNlbGYtPnBhcmFtZXRlci0+d2lkdGgsCisJCSAgc2VsZi0+cGFyYW1ldGVyLT5wcmVjaXNpb24pOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogdHJpb19wcmludF9yZWYgW3B1YmxpY10KKyAqLworaW50Cit0cmlvX3ByaW50X3JlZgorVFJJT19WQVJHUzMoKHJlZiwgZm9ybWF0LCB2YV9hbGlzdCksCisJICAgIHRyaW9fcG9pbnRlcl90IHJlZiwKKwkgICAgVFJJT19DT05TVCBjaGFyICpmb3JtYXQsCisJICAgIFRSSU9fVkFfREVDTCkKK3sKKyAgaW50IHN0YXR1czsKKyAgdmFfbGlzdCBhcmdsaXN0OworCisgIGFzc2VydChWQUxJRChmb3JtYXQpKTsKKworICBUUklPX1ZBX1NUQVJUKGFyZ2xpc3QsIGZvcm1hdCk7CisgIHN0YXR1cyA9IFRyaW9Gb3JtYXRSZWYoKHRyaW9fcmVmZXJlbmNlX3QgKilyZWYsIGZvcm1hdCwgVFJJT19WQV9MSVNUX0FERFIoYXJnbGlzdCksIE5VTEwpOworICBUUklPX1ZBX0VORChhcmdsaXN0KTsKKyAgcmV0dXJuIHN0YXR1czsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIHRyaW9fdnByaW50X3JlZiBbcHVibGljXQorICovCitpbnQKK3RyaW9fdnByaW50X3JlZgorVFJJT19BUkdTMygocmVmLCBmb3JtYXQsIGFyZ2xpc3QpLAorCSAgIHRyaW9fcG9pbnRlcl90IHJlZiwKKwkgICBUUklPX0NPTlNUIGNoYXIgKmZvcm1hdCwKKwkgICB2YV9saXN0IGFyZ2xpc3QpCit7CisgIGFzc2VydChWQUxJRChmb3JtYXQpKTsKKworICByZXR1cm4gVHJpb0Zvcm1hdFJlZigodHJpb19yZWZlcmVuY2VfdCAqKXJlZiwgZm9ybWF0LCBUUklPX1ZBX0xJU1RfQUREUihhcmdsaXN0KSwgTlVMTCk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiB0cmlvX3ByaW50dl9yZWYgW3B1YmxpY10KKyAqLworaW50Cit0cmlvX3ByaW50dl9yZWYKK1RSSU9fQVJHUzMoKHJlZiwgZm9ybWF0LCBhcmdhcnJheSksCisJICAgdHJpb19wb2ludGVyX3QgcmVmLAorCSAgIFRSSU9fQ09OU1QgY2hhciAqZm9ybWF0LAorCSAgIHRyaW9fcG9pbnRlcl90ICphcmdhcnJheSkKK3sKKyAgYXNzZXJ0KFZBTElEKGZvcm1hdCkpOworCisgIHJldHVybiBUcmlvRm9ybWF0UmVmKCh0cmlvX3JlZmVyZW5jZV90ICopcmVmLCBmb3JtYXQsIE5VTEwsIGFyZ2FycmF5KTsKK30KKworI2VuZGlmIC8qIFRSSU9fRVhURU5TSU9OICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiB0cmlvX3ByaW50X3BvaW50ZXIgW3B1YmxpY10KKyAqLwordm9pZAordHJpb19wcmludF9wb2ludGVyCitUUklPX0FSR1MyKChyZWYsIHBvaW50ZXIpLAorCSAgIHRyaW9fcG9pbnRlcl90IHJlZiwKKwkgICB0cmlvX3BvaW50ZXJfdCBwb2ludGVyKQoreworICB0cmlvX3JlZmVyZW5jZV90ICpzZWxmID0gKHRyaW9fcmVmZXJlbmNlX3QgKilyZWY7CisgIHRyaW9fZmxhZ3NfdCBmbGFnczsKKyAgdHJpb191aW50bWF4X3QgbnVtYmVyOworCisgIGlmIChOVUxMID09IHBvaW50ZXIpCisgICAgeworICAgICAgVFJJT19DT05TVCBjaGFyICpzdHJpbmcgPSBpbnRlcm5hbE51bGxTdHJpbmc7CisgICAgICB3aGlsZSAoKnN0cmluZykKKwlzZWxmLT5kYXRhLT5PdXRTdHJlYW0oc2VsZi0+ZGF0YSwgKnN0cmluZysrKTsKKyAgICB9CisgIGVsc2UKKyAgICB7CisgICAgICAvKgorICAgICAgICogVGhlIHN1YnRyYWN0aW9uIG9mIHRoZSBudWxsIHBvaW50ZXIgaXMgYSB3b3JrYXJvdW5kCisgICAgICAgKiB0byBhdm9pZCBhIGNvbXBpbGVyIHdhcm5pbmcuIFRoZSBwZXJmb3JtYW5jZSBvdmVyaGVhZAorICAgICAgICogaXMgbmVnbGlnaWJsZSAoYW5kIGxpa2VseSB0byBiZSByZW1vdmVkIGJ5IGFuCisgICAgICAgKiBvcHRpbWl6aW5nIGNvbXBpbGVyKS4gVGhlIChjaGFyICopIGNhc3RpbmcgaXMgZG9uZQorICAgICAgICogdG8gcGxlYXNlIEFOU0kgQysrLgorICAgICAgICovCisgICAgICBudW1iZXIgPSAodHJpb191aW50bWF4X3QpKChjaGFyICopcG9pbnRlciAtIChjaGFyICopMCk7CisgICAgICAvKiBTaHJpbmsgdG8gc2l6ZSBvZiBwb2ludGVyICovCisgICAgICBudW1iZXIgJj0gKHRyaW9fdWludG1heF90KS0xOworICAgICAgZmxhZ3MgPSBzZWxmLT5wYXJhbWV0ZXItPmZsYWdzOworICAgICAgZmxhZ3MgfD0gKEZMQUdTX1VOU0lHTkVEIHwgRkxBR1NfQUxURVJOQVRJVkUgfAorCSAgICAgICAgRkxBR1NfTklMUEFERElORyk7CisgICAgICBUcmlvV3JpdGVOdW1iZXIoc2VsZi0+ZGF0YSwKKwkJICAgICAgbnVtYmVyLAorCQkgICAgICBmbGFncywKKwkJICAgICAgUE9JTlRFUl9XSURUSCwKKwkJICAgICAgTk9fUFJFQ0lTSU9OLAorCQkgICAgICBCQVNFX0hFWCk7CisgICAgfQorfQorCisvKiogQH0gRW5kIG9mIFVzZXJEZWZpbmVkIGRvY3VtZW50YXRpb24gbW9kdWxlICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogTE9DQUxFUworICoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiB0cmlvX2xvY2FsZV9zZXRfZGVjaW1hbF9wb2ludAorICoKKyAqIERlY2ltYWwgcG9pbnQgY2FuIG9ubHkgYmUgb25lIGNoYXJhY3Rlci4gVGhlIGlucHV0IGFyZ3VtZW50IGlzIGEKKyAqIHN0cmluZyB0byBlbmFibGUgbXVsdGlieXRlIGNoYXJhY3RlcnMuIEF0IG1vc3QgTUJfTEVOX01BWCBjaGFyYWN0ZXJzCisgKiB3aWxsIGJlIHVzZWQuCisgKi8KK1RSSU9fUFVCTElDIHZvaWQKK3RyaW9fbG9jYWxlX3NldF9kZWNpbWFsX3BvaW50CitUUklPX0FSR1MxKChkZWNpbWFsUG9pbnQpLAorCSAgIGNoYXIgKmRlY2ltYWxQb2ludCkKK3sKKyNpZiBkZWZpbmVkKFVTRV9MT0NBTEUpCisgIGlmIChOVUxMID09IGludGVybmFsTG9jYWxlVmFsdWVzKQorICAgIHsKKyAgICAgIFRyaW9TZXRMb2NhbGUoKTsKKyAgICB9CisjZW5kaWYKKyAgaW50ZXJuYWxEZWNpbWFsUG9pbnRMZW5ndGggPSB0cmlvX2xlbmd0aChkZWNpbWFsUG9pbnQpOworICBpZiAoaW50ZXJuYWxEZWNpbWFsUG9pbnRMZW5ndGggPT0gMSkKKyAgICB7CisgICAgICBpbnRlcm5hbERlY2ltYWxQb2ludCA9ICpkZWNpbWFsUG9pbnQ7CisgICAgfQorICBlbHNlCisgICAgeworICAgICAgaW50ZXJuYWxEZWNpbWFsUG9pbnQgPSBOSUw7CisgICAgICB0cmlvX2NvcHlfbWF4KGludGVybmFsRGVjaW1hbFBvaW50U3RyaW5nLAorCQkgICAgc2l6ZW9mKGludGVybmFsRGVjaW1hbFBvaW50U3RyaW5nKSwKKwkJICAgIGRlY2ltYWxQb2ludCk7CisgICAgfQorfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogdHJpb19sb2NhbGVfc2V0X3Rob3VzYW5kX3NlcGFyYXRvcgorICoKKyAqIFNlZSB0cmlvX2xvY2FsZV9zZXRfZGVjaW1hbF9wb2ludAorICovCitUUklPX1BVQkxJQyB2b2lkCit0cmlvX2xvY2FsZV9zZXRfdGhvdXNhbmRfc2VwYXJhdG9yCitUUklPX0FSR1MxKCh0aG91c2FuZFNlcGFyYXRvciksCisJICAgY2hhciAqdGhvdXNhbmRTZXBhcmF0b3IpCit7CisjaWYgZGVmaW5lZChVU0VfTE9DQUxFKQorICBpZiAoTlVMTCA9PSBpbnRlcm5hbExvY2FsZVZhbHVlcykKKyAgICB7CisgICAgICBUcmlvU2V0TG9jYWxlKCk7CisgICAgfQorI2VuZGlmCisgIHRyaW9fY29weV9tYXgoaW50ZXJuYWxUaG91c2FuZFNlcGFyYXRvciwKKwkJc2l6ZW9mKGludGVybmFsVGhvdXNhbmRTZXBhcmF0b3IpLAorCQl0aG91c2FuZFNlcGFyYXRvcik7CisgIGludGVybmFsVGhvdXNhbmRTZXBhcmF0b3JMZW5ndGggPSB0cmlvX2xlbmd0aChpbnRlcm5hbFRob3VzYW5kU2VwYXJhdG9yKTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIHRyaW9fbG9jYWxlX3NldF9ncm91cGluZworICoKKyAqIEFycmF5IG9mIGJ5dGVzLiBSZXZlcnNlZCBvcmRlci4KKyAqCisgKiAgQ0hBUl9NQVggOiBObyBmdXJ0aGVyIGdyb3VwaW5nCisgKiAgMCAgICAgICAgOiBSZXBlYXQgbGFzdCBncm91cCBmb3IgdGhlIHJlbWFpbmluZyBkaWdpdHMgKG5vdCBuZWNlc3NhcnkKKyAqICAgICAgICAgICAgIGFzIEMgc3RyaW5ncyBhcmUgemVyby10ZXJtaW5hdGVkKQorICogIG4gICAgICAgIDogU2V0IGN1cnJlbnQgZ3JvdXAgdG8gbgorICoKKyAqIFNhbWUgb3JkZXIgYXMgdGhlIGdyb3VwaW5nIGF0dHJpYnV0ZSBpbiBMQ19OVU1FUklDLgorICovCitUUklPX1BVQkxJQyB2b2lkCit0cmlvX2xvY2FsZV9zZXRfZ3JvdXBpbmcKK1RSSU9fQVJHUzEoKGdyb3VwaW5nKSwKKwkgICBjaGFyICpncm91cGluZykKK3sKKyNpZiBkZWZpbmVkKFVTRV9MT0NBTEUpCisgIGlmIChOVUxMID09IGludGVybmFsTG9jYWxlVmFsdWVzKQorICAgIHsKKyAgICAgIFRyaW9TZXRMb2NhbGUoKTsKKyAgICB9CisjZW5kaWYKKyAgdHJpb19jb3B5X21heChpbnRlcm5hbEdyb3VwaW5nLAorCQlzaXplb2YoaW50ZXJuYWxHcm91cGluZyksCisJCWdyb3VwaW5nKTsKK30KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIFNDQU5OSU5HCisgKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFRyaW9Ta2lwV2hpdGVzcGFjZXMKKyAqLworVFJJT19QUklWQVRFIGludAorVHJpb1NraXBXaGl0ZXNwYWNlcworVFJJT19BUkdTMSgoc2VsZiksCisJICAgdHJpb19jbGFzc190ICpzZWxmKQoreworICBpbnQgY2g7CisKKyAgY2ggPSBzZWxmLT5jdXJyZW50OworICB3aGlsZSAoaXNzcGFjZShjaCkpCisgICAgeworICAgICAgc2VsZi0+SW5TdHJlYW0oc2VsZiwgJmNoKTsKKyAgICB9CisgIHJldHVybiBjaDsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFRyaW9HZXRDb2xsYXRpb24KKyAqLworI2lmIFRSSU9fRVhURU5TSU9OCitUUklPX1BSSVZBVEUgdm9pZAorVHJpb0dldENvbGxhdGlvbihUUklPX05PQVJHUykKK3sKKyAgaW50IGk7CisgIGludCBqOworICBpbnQgazsKKyAgY2hhciBmaXJzdFsyXTsKKyAgY2hhciBzZWNvbmRbMl07CisKKyAgLyogVGhpcyBpcyBjb21wdXRhdGlvbmFsbHkgZXhwZW5zaXZlICovCisgIGZpcnN0WzFdID0gTklMOworICBzZWNvbmRbMV0gPSBOSUw7CisgIGZvciAoaSA9IDA7IGkgPCBNQVhfQ0hBUkFDVEVSX0NMQVNTOyBpKyspCisgICAgeworICAgICAgayA9IDA7CisgICAgICBmaXJzdFswXSA9IChjaGFyKWk7CisgICAgICBmb3IgKGogPSAwOyBqIDwgTUFYX0NIQVJBQ1RFUl9DTEFTUzsgaisrKQorCXsKKwkgIHNlY29uZFswXSA9IChjaGFyKWo7CisJICBpZiAodHJpb19lcXVhbF9sb2NhbGUoZmlyc3QsIHNlY29uZCkpCisJICAgIGludGVybmFsQ29sbGF0aW9uQXJyYXlbaV1baysrXSA9IChjaGFyKWo7CisJfQorICAgICAgaW50ZXJuYWxDb2xsYXRpb25BcnJheVtpXVtrXSA9IE5JTDsKKyAgICB9Cit9CisjZW5kaWYKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFRyaW9HZXRDaGFyYWN0ZXJDbGFzcworICoKKyAqIEZJWE1FOgorICogIG11bHRpYnl0ZQorICovCitUUklPX1BSSVZBVEUgaW50CitUcmlvR2V0Q2hhcmFjdGVyQ2xhc3MKK1RSSU9fQVJHUzQoKGZvcm1hdCwgaW5kZXhQb2ludGVyLCBmbGFnc1BvaW50ZXIsIGNoYXJhY3RlcmNsYXNzKSwKKwkgICBUUklPX0NPTlNUIGNoYXIgKmZvcm1hdCwKKwkgICBpbnQgKmluZGV4UG9pbnRlciwKKwkgICB0cmlvX2ZsYWdzX3QgKmZsYWdzUG9pbnRlciwKKwkgICBpbnQgKmNoYXJhY3RlcmNsYXNzKQoreworICBpbnQgaW5kZXggPSAqaW5kZXhQb2ludGVyOworICBpbnQgaTsKKyAgY2hhciBjaDsKKyAgY2hhciByYW5nZV9iZWdpbjsKKyAgY2hhciByYW5nZV9lbmQ7CisKKyAgKmZsYWdzUG9pbnRlciAmPSB+RkxBR1NfRVhDTFVERTsKKworICBpZiAoZm9ybWF0W2luZGV4XSA9PSBRVUFMSUZJRVJfQ0lSQ1VNRkxFWCkKKyAgICB7CisgICAgICAqZmxhZ3NQb2ludGVyIHw9IEZMQUdTX0VYQ0xVREU7CisgICAgICBpbmRleCsrOworICAgIH0KKyAgLyoKKyAgICogSWYgdGhlIHVuZ3JvdXAgY2hhcmFjdGVyIGlzIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIHNjYW5saXN0LAorICAgKiBpdCB3aWxsIGJlIHBhcnQgb2YgdGhlIGNsYXNzLCBhbmQgYSBzZWNvbmQgdW5ncm91cCBjaGFyYWN0ZXIKKyAgICogbXVzdCBmb2xsb3cgdG8gZW5kIHRoZSBncm91cC4KKyAgICovCisgIGlmIChmb3JtYXRbaW5kZXhdID09IFNQRUNJRklFUl9VTkdST1VQKQorICAgIHsKKyAgICAgIGNoYXJhY3RlcmNsYXNzWyhpbnQpU1BFQ0lGSUVSX1VOR1JPVVBdKys7CisgICAgICBpbmRleCsrOworICAgIH0KKyAgLyoKKyAgICogTWludXMgaXMgdXNlZCB0byBzcGVjaWZ5IHJhbmdlcy4gVG8gaW5jbHVkZSBtaW51cyBpbiB0aGUgY2xhc3MsCisgICAqIGl0IG11c3QgYmUgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgbGlzdAorICAgKi8KKyAgaWYgKGZvcm1hdFtpbmRleF0gPT0gUVVBTElGSUVSX01JTlVTKQorICAgIHsKKyAgICAgIGNoYXJhY3RlcmNsYXNzWyhpbnQpUVVBTElGSUVSX01JTlVTXSsrOworICAgICAgaW5kZXgrKzsKKyAgICB9CisgIC8qIENvbGxlY3QgY2hhcmFjdGVycyAqLworICBmb3IgKGNoID0gZm9ybWF0W2luZGV4XTsKKyAgICAgICAoY2ggIT0gU1BFQ0lGSUVSX1VOR1JPVVApICYmIChjaCAhPSBOSUwpOworICAgICAgIGNoID0gZm9ybWF0WysraW5kZXhdKQorICAgIHsKKyAgICAgIHN3aXRjaCAoY2gpCisJeworCWNhc2UgUVVBTElGSUVSX01JTlVTOiAvKiBTY2FubGlzdCByYW5nZXMgKi8KKworCSAgLyoKKwkgICAqIEJvdGggQzk5IGFuZCBVTklYOTggZGVzY3JpYmVzIHJhbmdlcyBhcyBpbXBsZW1lbnRhdGlvbi0KKwkgICAqIGRlZmluZWQuCisJICAgKgorCSAgICogV2Ugc3VwcG9ydCB0aGUgZm9sbG93aW5nIGJlaGF2aW91ciAoYWx0aG91Z2ggdGhpcyBtYXkKKwkgICAqIGNoYW5nZSBhcyB3ZSBiZWNvbWUgd2lzZXIpCisJICAgKiAtIG9ubHkgaW5jcmVhc2luZyByYW5nZXMsIGllLiBbYS1iXSBidXQgbm90IFtiLWFdCisJICAgKiAtIHRyYW5zaXRpdmUgcmFuZ2VzLCBpZS4gW2EtYi1jXSA9PSBbYS1jXQorCSAgICogLSB0cmFpbGluZyBtaW51cywgaWUuIFthLV0gaXMgaW50ZXJwcmV0ZWQgYXMgYW4gJ2EnCisJICAgKiAgIGFuZCBhICctJworCSAgICogLSBkdXBsaWNhdGVzIChhbHRob3VnaCB3ZSBjYW4gZWFzaWx5IGNvbnZlcnQgdGhlc2UKKwkgICAqICAgaW50byBlcnJvcnMpCisJICAgKi8KKwkgIHJhbmdlX2JlZ2luID0gZm9ybWF0W2luZGV4IC0gMV07CisJICByYW5nZV9lbmQgPSBmb3JtYXRbKytpbmRleF07CisJICBpZiAocmFuZ2VfZW5kID09IFNQRUNJRklFUl9VTkdST1VQKQorCSAgICB7CisJICAgICAgLyogVHJhaWxpbmcgbWludXMgaXMgaW5jbHVkZWQgKi8KKwkgICAgICBjaGFyYWN0ZXJjbGFzc1soaW50KWNoXSsrOworCSAgICAgIGNoID0gcmFuZ2VfZW5kOworCSAgICAgIGJyZWFrOyAvKiBmb3IgKi8KKwkgICAgfQorCSAgaWYgKHJhbmdlX2VuZCA9PSBOSUwpCisJICAgIHJldHVybiBUUklPX0VSUk9SX1JFVFVSTihUUklPX0VJTlZBTCwgaW5kZXgpOworCSAgaWYgKHJhbmdlX2JlZ2luID4gcmFuZ2VfZW5kKQorCSAgICByZXR1cm4gVFJJT19FUlJPUl9SRVRVUk4oVFJJT19FUkFOR0UsIGluZGV4KTsKKworCSAgZm9yIChpID0gKGludClyYW5nZV9iZWdpbjsgaSA8PSAoaW50KXJhbmdlX2VuZDsgaSsrKQorCSAgICBjaGFyYWN0ZXJjbGFzc1tpXSsrOworCisJICBjaCA9IHJhbmdlX2VuZDsKKwkgIGJyZWFrOworCisjaWYgVFJJT19FWFRFTlNJT04KKworCWNhc2UgU1BFQ0lGSUVSX0dST1VQOgorCisJICBzd2l0Y2ggKGZvcm1hdFtpbmRleCArIDFdKQorCSAgICB7CisJICAgIGNhc2UgUVVBTElGSUVSX0RPVDogLyogQ29sbGF0aW5nIHN5bWJvbCAqLworCSAgICAgIC8qCisJICAgICAgICogRklYTUU6IFRoaXMgd2lsbCBiZSBlYXNpZXIgdG8gaW1wbGVtZW50IHdoZW4gbXVsdGlieXRlCisJICAgICAgICogY2hhcmFjdGVycyBoYXZlIGJlZW4gaW1wbGVtZW50ZWQuIFVudGlsIG5vdywgd2UgaWdub3JlCisJICAgICAgICogdGhpcyBmZWF0dXJlLgorCSAgICAgICAqLworCSAgICAgIGZvciAoaSA9IGluZGV4ICsgMjsgOyBpKyspCisJCXsKKwkJICBpZiAoZm9ybWF0W2ldID09IE5JTCkKKwkJICAgIC8qIEVycm9yIGluIHN5bnRheCAqLworCQkgICAgcmV0dXJuIC0xOworCQkgIGVsc2UgaWYgKGZvcm1hdFtpXSA9PSBRVUFMSUZJRVJfRE9UKQorCQkgICAgYnJlYWs7IC8qIGZvciAqLworCQl9CisJICAgICAgaWYgKGZvcm1hdFsrK2ldICE9IFNQRUNJRklFUl9VTkdST1VQKQorCQlyZXR1cm4gLTE7CisKKwkgICAgICBpbmRleCA9IGk7CisJICAgICAgYnJlYWs7CisKKwkgICAgY2FzZSBRVUFMSUZJRVJfRVFVQUw6IC8qIEVxdWl2YWxlbmNlIGNsYXNzIGV4cHJlc3Npb25zICovCisJICAgICAgeworCQl1bnNpZ25lZCBpbnQgajsKKwkJdW5zaWduZWQgaW50IGs7CisKKwkJaWYgKGludGVybmFsQ29sbGF0aW9uVW5jb252ZXJ0ZWQpCisJCSAgeworCQkgICAgLyogTGF6eSBldmFsdWF0aW9uIG9mIGNvbGxhdGlvbiBhcnJheSAqLworCQkgICAgVHJpb0dldENvbGxhdGlvbigpOworCQkgICAgaW50ZXJuYWxDb2xsYXRpb25VbmNvbnZlcnRlZCA9IEZBTFNFOworCQkgIH0KKwkJZm9yIChpID0gaW5kZXggKyAyOyA7IGkrKykKKwkJICB7CisJCSAgICBpZiAoZm9ybWF0W2ldID09IE5JTCkKKwkJICAgICAgLyogRXJyb3IgaW4gc3ludGF4ICovCisJCSAgICAgIHJldHVybiAtMTsKKwkJICAgIGVsc2UgaWYgKGZvcm1hdFtpXSA9PSBRVUFMSUZJRVJfRVFVQUwpCisJCSAgICAgIGJyZWFrOyAvKiBmb3IgKi8KKwkJICAgIGVsc2UKKwkJICAgICAgeworCQkJLyogTWFyayBhbnkgZXF1aXZhbGVudCBjaGFyYWN0ZXIgKi8KKwkJCWsgPSAodW5zaWduZWQgaW50KWZvcm1hdFtpXTsKKwkJCWZvciAoaiA9IDA7IGludGVybmFsQ29sbGF0aW9uQXJyYXlba11bal0gIT0gTklMOyBqKyspCisJCQkgIGNoYXJhY3RlcmNsYXNzWyhpbnQpaW50ZXJuYWxDb2xsYXRpb25BcnJheVtrXVtqXV0rKzsKKwkJICAgICAgfQorCQkgIH0KKwkJaWYgKGZvcm1hdFsrK2ldICE9IFNQRUNJRklFUl9VTkdST1VQKQorCQkgIHJldHVybiAtMTsKKworCQlpbmRleCA9IGk7CisJICAgICAgfQorCSAgICAgIGJyZWFrOworCisJICAgIGNhc2UgUVVBTElGSUVSX0NPTE9OOiAvKiBDaGFyYWN0ZXIgY2xhc3MgZXhwcmVzc2lvbnMgKi8KKworCSAgICAgIGlmICh0cmlvX2VxdWFsX21heChDTEFTU19BTE5VTSwgc2l6ZW9mKENMQVNTX0FMTlVNKSAtIDEsCisJCQkJICZmb3JtYXRbaW5kZXhdKSkKKwkJeworCQkgIGZvciAoaSA9IDA7IGkgPCBNQVhfQ0hBUkFDVEVSX0NMQVNTOyBpKyspCisJCSAgICBpZiAoaXNhbG51bShpKSkKKwkJICAgICAgY2hhcmFjdGVyY2xhc3NbaV0rKzsKKwkJICBpbmRleCArPSBzaXplb2YoQ0xBU1NfQUxOVU0pIC0gMTsKKwkJfQorCSAgICAgIGVsc2UgaWYgKHRyaW9fZXF1YWxfbWF4KENMQVNTX0FMUEhBLCBzaXplb2YoQ0xBU1NfQUxQSEEpIC0gMSwKKwkJCQkgICAgICAmZm9ybWF0W2luZGV4XSkpCisJCXsKKwkJICBmb3IgKGkgPSAwOyBpIDwgTUFYX0NIQVJBQ1RFUl9DTEFTUzsgaSsrKQorCQkgICAgaWYgKGlzYWxwaGEoaSkpCisJCSAgICAgIGNoYXJhY3RlcmNsYXNzW2ldKys7CisJCSAgaW5kZXggKz0gc2l6ZW9mKENMQVNTX0FMUEhBKSAtIDE7CisJCX0KKwkgICAgICBlbHNlIGlmICh0cmlvX2VxdWFsX21heChDTEFTU19DTlRSTCwgc2l6ZW9mKENMQVNTX0NOVFJMKSAtIDEsCisJCQkJICAgICAgJmZvcm1hdFtpbmRleF0pKQorCQl7CisJCSAgZm9yIChpID0gMDsgaSA8IE1BWF9DSEFSQUNURVJfQ0xBU1M7IGkrKykKKwkJICAgIGlmIChpc2NudHJsKGkpKQorCQkgICAgICBjaGFyYWN0ZXJjbGFzc1tpXSsrOworCQkgIGluZGV4ICs9IHNpemVvZihDTEFTU19DTlRSTCkgLSAxOworCQl9CisJICAgICAgZWxzZSBpZiAodHJpb19lcXVhbF9tYXgoQ0xBU1NfRElHSVQsIHNpemVvZihDTEFTU19ESUdJVCkgLSAxLAorCQkJCSAgICAgICZmb3JtYXRbaW5kZXhdKSkKKwkJeworCQkgIGZvciAoaSA9IDA7IGkgPCBNQVhfQ0hBUkFDVEVSX0NMQVNTOyBpKyspCisJCSAgICBpZiAoaXNkaWdpdChpKSkKKwkJICAgICAgY2hhcmFjdGVyY2xhc3NbaV0rKzsKKwkJICBpbmRleCArPSBzaXplb2YoQ0xBU1NfRElHSVQpIC0gMTsKKwkJfQorCSAgICAgIGVsc2UgaWYgKHRyaW9fZXF1YWxfbWF4KENMQVNTX0dSQVBILCBzaXplb2YoQ0xBU1NfR1JBUEgpIC0gMSwKKwkJCQkgICAgICAmZm9ybWF0W2luZGV4XSkpCisJCXsKKwkJICBmb3IgKGkgPSAwOyBpIDwgTUFYX0NIQVJBQ1RFUl9DTEFTUzsgaSsrKQorCQkgICAgaWYgKGlzZ3JhcGgoaSkpCisJCSAgICAgIGNoYXJhY3RlcmNsYXNzW2ldKys7CisJCSAgaW5kZXggKz0gc2l6ZW9mKENMQVNTX0dSQVBIKSAtIDE7CisJCX0KKwkgICAgICBlbHNlIGlmICh0cmlvX2VxdWFsX21heChDTEFTU19MT1dFUiwgc2l6ZW9mKENMQVNTX0xPV0VSKSAtIDEsCisJCQkJICAgICAgJmZvcm1hdFtpbmRleF0pKQorCQl7CisJCSAgZm9yIChpID0gMDsgaSA8IE1BWF9DSEFSQUNURVJfQ0xBU1M7IGkrKykKKwkJICAgIGlmIChpc2xvd2VyKGkpKQorCQkgICAgICBjaGFyYWN0ZXJjbGFzc1tpXSsrOworCQkgIGluZGV4ICs9IHNpemVvZihDTEFTU19MT1dFUikgLSAxOworCQl9CisJICAgICAgZWxzZSBpZiAodHJpb19lcXVhbF9tYXgoQ0xBU1NfUFJJTlQsIHNpemVvZihDTEFTU19QUklOVCkgLSAxLAorCQkJCSAgICAgICZmb3JtYXRbaW5kZXhdKSkKKwkJeworCQkgIGZvciAoaSA9IDA7IGkgPCBNQVhfQ0hBUkFDVEVSX0NMQVNTOyBpKyspCisJCSAgICBpZiAoaXNwcmludChpKSkKKwkJICAgICAgY2hhcmFjdGVyY2xhc3NbaV0rKzsKKwkJICBpbmRleCArPSBzaXplb2YoQ0xBU1NfUFJJTlQpIC0gMTsKKwkJfQorCSAgICAgIGVsc2UgaWYgKHRyaW9fZXF1YWxfbWF4KENMQVNTX1BVTkNULCBzaXplb2YoQ0xBU1NfUFVOQ1QpIC0gMSwKKwkJCQkgICAgICAmZm9ybWF0W2luZGV4XSkpCisJCXsKKwkJICBmb3IgKGkgPSAwOyBpIDwgTUFYX0NIQVJBQ1RFUl9DTEFTUzsgaSsrKQorCQkgICAgaWYgKGlzcHVuY3QoaSkpCisJCSAgICAgIGNoYXJhY3RlcmNsYXNzW2ldKys7CisJCSAgaW5kZXggKz0gc2l6ZW9mKENMQVNTX1BVTkNUKSAtIDE7CisJCX0KKwkgICAgICBlbHNlIGlmICh0cmlvX2VxdWFsX21heChDTEFTU19TUEFDRSwgc2l6ZW9mKENMQVNTX1NQQUNFKSAtIDEsCisJCQkJICAgICAgJmZvcm1hdFtpbmRleF0pKQorCQl7CisJCSAgZm9yIChpID0gMDsgaSA8IE1BWF9DSEFSQUNURVJfQ0xBU1M7IGkrKykKKwkJICAgIGlmIChpc3NwYWNlKGkpKQorCQkgICAgICBjaGFyYWN0ZXJjbGFzc1tpXSsrOworCQkgIGluZGV4ICs9IHNpemVvZihDTEFTU19TUEFDRSkgLSAxOworCQl9CisJICAgICAgZWxzZSBpZiAodHJpb19lcXVhbF9tYXgoQ0xBU1NfVVBQRVIsIHNpemVvZihDTEFTU19VUFBFUikgLSAxLAorCQkJCSAgICAgICZmb3JtYXRbaW5kZXhdKSkKKwkJeworCQkgIGZvciAoaSA9IDA7IGkgPCBNQVhfQ0hBUkFDVEVSX0NMQVNTOyBpKyspCisJCSAgICBpZiAoaXN1cHBlcihpKSkKKwkJICAgICAgY2hhcmFjdGVyY2xhc3NbaV0rKzsKKwkJICBpbmRleCArPSBzaXplb2YoQ0xBU1NfVVBQRVIpIC0gMTsKKwkJfQorCSAgICAgIGVsc2UgaWYgKHRyaW9fZXF1YWxfbWF4KENMQVNTX1hESUdJVCwgc2l6ZW9mKENMQVNTX1hESUdJVCkgLSAxLAorCQkJCSAgICAgICZmb3JtYXRbaW5kZXhdKSkKKwkJeworCQkgIGZvciAoaSA9IDA7IGkgPCBNQVhfQ0hBUkFDVEVSX0NMQVNTOyBpKyspCisJCSAgICBpZiAoaXN4ZGlnaXQoaSkpCisJCSAgICAgIGNoYXJhY3RlcmNsYXNzW2ldKys7CisJCSAgaW5kZXggKz0gc2l6ZW9mKENMQVNTX1hESUdJVCkgLSAxOworCQl9CisJICAgICAgZWxzZQorCQl7CisJCSAgY2hhcmFjdGVyY2xhc3NbKGludCljaF0rKzsKKwkJfQorCSAgICAgIGJyZWFrOworCisJICAgIGRlZmF1bHQ6CisJICAgICAgY2hhcmFjdGVyY2xhc3NbKGludCljaF0rKzsKKwkgICAgICBicmVhazsKKwkgICAgfQorCSAgYnJlYWs7CisKKyNlbmRpZiAvKiBUUklPX0VYVEVOU0lPTiAqLworCisJZGVmYXVsdDoKKwkgIGNoYXJhY3RlcmNsYXNzWyhpbnQpY2hdKys7CisJICBicmVhazsKKwl9CisgICAgfQorICByZXR1cm4gMDsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFRyaW9SZWFkTnVtYmVyCisgKgorICogV2UgaW1wbGVtZW50IG91ciBvd24gbnVtYmVyIGNvbnZlcnNpb24gaW4gcHJlZmVyZW5jZSBvZiBzdHJ0b2wgYW5kCisgKiBzdHJ0b3VsLCBiZWNhdXNlIHdlIG11c3QgaGFuZGxlICdsb25nIGxvbmcnIGFuZCB0aG91c2FuZCBzZXBhcmF0b3JzLgorICovCitUUklPX1BSSVZBVEUgQk9PTEVBTl9UCitUcmlvUmVhZE51bWJlcgorVFJJT19BUkdTNSgoc2VsZiwgdGFyZ2V0LCBmbGFncywgd2lkdGgsIGJhc2UpLAorCSAgIHRyaW9fY2xhc3NfdCAqc2VsZiwKKwkgICB0cmlvX3VpbnRtYXhfdCAqdGFyZ2V0LAorCSAgIHRyaW9fZmxhZ3NfdCBmbGFncywKKwkgICBpbnQgd2lkdGgsCisJICAgaW50IGJhc2UpCit7CisgIHRyaW9fdWludG1heF90IG51bWJlciA9IDA7CisgIGludCBkaWdpdDsKKyAgaW50IGNvdW50OworICBCT09MRUFOX1QgaXNOZWdhdGl2ZSA9IEZBTFNFOworICBCT09MRUFOX1QgZ290TnVtYmVyID0gRkFMU0U7CisgIGludCBqOworCisgIGFzc2VydChWQUxJRChzZWxmKSk7CisgIGFzc2VydChWQUxJRChzZWxmLT5JblN0cmVhbSkpOworICBhc3NlcnQoKGJhc2UgPj0gTUlOX0JBU0UgJiYgYmFzZSA8PSBNQVhfQkFTRSkgfHwgKGJhc2UgPT0gTk9fQkFTRSkpOworCisgIGlmIChpbnRlcm5hbERpZ2l0c1VuY29udmVydGVkKQorICAgIHsKKyAgICAgIC8qIExhenkgZXZhbHVhdGlvbiBvZiBkaWdpdHMgYXJyYXkgKi8KKyAgICAgIG1lbXNldChpbnRlcm5hbERpZ2l0QXJyYXksIC0xLCBzaXplb2YoaW50ZXJuYWxEaWdpdEFycmF5KSk7CisgICAgICBmb3IgKGogPSAwOyBqIDwgKGludClzaXplb2YoaW50ZXJuYWxEaWdpdHNMb3dlcikgLSAxOyBqKyspCisJeworCSAgaW50ZXJuYWxEaWdpdEFycmF5WyhpbnQpaW50ZXJuYWxEaWdpdHNMb3dlcltqXV0gPSBqOworCSAgaW50ZXJuYWxEaWdpdEFycmF5WyhpbnQpaW50ZXJuYWxEaWdpdHNVcHBlcltqXV0gPSBqOworCX0KKyAgICAgIGludGVybmFsRGlnaXRzVW5jb252ZXJ0ZWQgPSBGQUxTRTsKKyAgICB9CisKKyAgVHJpb1NraXBXaGl0ZXNwYWNlcyhzZWxmKTsKKworICBpZiAoIShmbGFncyAmIEZMQUdTX1VOU0lHTkVEKSkKKyAgICB7CisgICAgICAvKiBMZWFkaW5nIHNpZ24gKi8KKyAgICAgIGlmIChzZWxmLT5jdXJyZW50ID09ICcrJykKKwl7CisJICBzZWxmLT5JblN0cmVhbShzZWxmLCBOVUxMKTsKKwl9CisgICAgICBlbHNlIGlmIChzZWxmLT5jdXJyZW50ID09ICctJykKKwl7CisJICBzZWxmLT5JblN0cmVhbShzZWxmLCBOVUxMKTsKKwkgIGlzTmVnYXRpdmUgPSBUUlVFOworCX0KKyAgICB9CisKKyAgY291bnQgPSBzZWxmLT5wcm9jZXNzZWQ7CisKKyAgaWYgKGZsYWdzICYgRkxBR1NfQUxURVJOQVRJVkUpCisgICAgeworICAgICAgc3dpdGNoIChiYXNlKQorCXsKKwljYXNlIE5PX0JBU0U6CisJY2FzZSBCQVNFX09DVEFMOgorCWNhc2UgQkFTRV9IRVg6CisJY2FzZSBCQVNFX0JJTkFSWToKKwkgIGlmIChzZWxmLT5jdXJyZW50ID09ICcwJykKKwkgICAgeworCSAgICAgIHNlbGYtPkluU3RyZWFtKHNlbGYsIE5VTEwpOworCSAgICAgIGlmIChzZWxmLT5jdXJyZW50KQorCQl7CisJCSAgaWYgKChiYXNlID09IEJBU0VfSEVYKSAmJgorCQkgICAgICAodHJpb190b191cHBlcihzZWxmLT5jdXJyZW50KSA9PSAnWCcpKQorCQkgICAgeworCQkgICAgICBzZWxmLT5JblN0cmVhbShzZWxmLCBOVUxMKTsKKwkJICAgIH0KKwkJICBlbHNlIGlmICgoYmFzZSA9PSBCQVNFX0JJTkFSWSkgJiYKKwkJCSAgICh0cmlvX3RvX3VwcGVyKHNlbGYtPmN1cnJlbnQpID09ICdCJykpCisJCSAgICB7CisJCSAgICAgIHNlbGYtPkluU3RyZWFtKHNlbGYsIE5VTEwpOworCQkgICAgfQorCQl9CisJICAgIH0KKwkgIGVsc2UKKwkgICAgcmV0dXJuIEZBTFNFOworCSAgYnJlYWs7CisJZGVmYXVsdDoKKwkgIGJyZWFrOworCX0KKyAgICB9CisKKyAgd2hpbGUgKCgod2lkdGggPT0gTk9fV0lEVEgpIHx8IChzZWxmLT5wcm9jZXNzZWQgLSBjb3VudCA8IHdpZHRoKSkgJiYKKwkgKCEgKChzZWxmLT5jdXJyZW50ID09IEVPRikgfHwgaXNzcGFjZShzZWxmLT5jdXJyZW50KSkpKQorICAgIHsKKyAgICAgIGlmIChpc2FzY2lpKHNlbGYtPmN1cnJlbnQpKQorCXsKKwkgIGRpZ2l0ID0gaW50ZXJuYWxEaWdpdEFycmF5W3NlbGYtPmN1cnJlbnRdOworCSAgLyogQWJvcnQgaWYgZGlnaXQgaXMgbm90IGFsbG93ZWQgaW4gdGhlIHNwZWNpZmllZCBiYXNlICovCisJICBpZiAoKGRpZ2l0ID09IC0xKSB8fCAoZGlnaXQgPj0gYmFzZSkpCisJICAgIGJyZWFrOworCX0KKyAgICAgIGVsc2UgaWYgKGZsYWdzICYgRkxBR1NfUVVPVEUpCisJeworCSAgLyogQ29tcGFyZSB3aXRoIHRob3VzYW5kcyBzZXBhcmF0b3IgKi8KKwkgIGZvciAoaiA9IDA7IGludGVybmFsVGhvdXNhbmRTZXBhcmF0b3Jbal0gJiYgc2VsZi0+Y3VycmVudDsgaisrKQorCSAgICB7CisJICAgICAgaWYgKGludGVybmFsVGhvdXNhbmRTZXBhcmF0b3Jbal0gIT0gc2VsZi0+Y3VycmVudCkKKwkJYnJlYWs7CisKKwkgICAgICBzZWxmLT5JblN0cmVhbShzZWxmLCBOVUxMKTsKKwkgICAgfQorCSAgaWYgKGludGVybmFsVGhvdXNhbmRTZXBhcmF0b3Jbal0pCisJICAgIGJyZWFrOyAvKiBNaXNtYXRjaCAqLworCSAgZWxzZQorCSAgICBjb250aW51ZTsgLyogTWF0Y2ggKi8KKwl9CisgICAgICBlbHNlCisJYnJlYWs7CisKKyAgICAgIG51bWJlciAqPSBiYXNlOworICAgICAgbnVtYmVyICs9IGRpZ2l0OworICAgICAgZ290TnVtYmVyID0gVFJVRTsgLyogd2UgbmVlZCBhdCBsZWFzdCBvbmUgZGlnaXQgKi8KKworICAgICAgc2VsZi0+SW5TdHJlYW0oc2VsZiwgTlVMTCk7CisgICAgfQorCisgIC8qIFdhcyBhbnl0aGluZyByZWFkIGF0IGFsbD8gKi8KKyAgaWYgKCFnb3ROdW1iZXIpCisgICAgcmV0dXJuIEZBTFNFOworCisgIGlmICh0YXJnZXQpCisgICAgKnRhcmdldCA9IChpc05lZ2F0aXZlKSA/IC0oKHRyaW9faW50bWF4X3QpbnVtYmVyKSA6IG51bWJlcjsKKyAgcmV0dXJuIFRSVUU7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBUcmlvUmVhZENoYXIKKyAqLworVFJJT19QUklWQVRFIGludAorVHJpb1JlYWRDaGFyCitUUklPX0FSR1M0KChzZWxmLCB0YXJnZXQsIGZsYWdzLCB3aWR0aCksCisJICAgdHJpb19jbGFzc190ICpzZWxmLAorCSAgIGNoYXIgKnRhcmdldCwKKwkgICB0cmlvX2ZsYWdzX3QgZmxhZ3MsCisJICAgaW50IHdpZHRoKQoreworICBpbnQgaTsKKyAgY2hhciBjaDsKKyAgdHJpb191aW50bWF4X3QgbnVtYmVyOworCisgIGFzc2VydChWQUxJRChzZWxmKSk7CisgIGFzc2VydChWQUxJRChzZWxmLT5JblN0cmVhbSkpOworCisgIGZvciAoaSA9IDA7CisgICAgICAgKHNlbGYtPmN1cnJlbnQgIT0gRU9GKSAmJiAoaSA8IHdpZHRoKTsKKyAgICAgICBpKyspCisgICAgeworICAgICAgY2ggPSAoY2hhcilzZWxmLT5jdXJyZW50OworICAgICAgc2VsZi0+SW5TdHJlYW0oc2VsZiwgTlVMTCk7CisgICAgICBpZiAoKGZsYWdzICYgRkxBR1NfQUxURVJOQVRJVkUpICYmIChjaCA9PSBDSEFSX0JBQ0tTTEFTSCkpCisJeworCSAgc3dpdGNoIChzZWxmLT5jdXJyZW50KQorCSAgICB7CisJICAgIGNhc2UgJ1xcJzogY2ggPSAnXFwnOyBicmVhazsKKwkgICAgY2FzZSAnYSc6IGNoID0gJ1wwMDcnOyBicmVhazsKKwkgICAgY2FzZSAnYic6IGNoID0gJ1xiJzsgYnJlYWs7CisJICAgIGNhc2UgJ2YnOiBjaCA9ICdcZic7IGJyZWFrOworCSAgICBjYXNlICduJzogY2ggPSAnXG4nOyBicmVhazsKKwkgICAgY2FzZSAncic6IGNoID0gJ1xyJzsgYnJlYWs7CisJICAgIGNhc2UgJ3QnOiBjaCA9ICdcdCc7IGJyZWFrOworCSAgICBjYXNlICd2JzogY2ggPSAnXHYnOyBicmVhazsKKwkgICAgZGVmYXVsdDoKKwkgICAgICBpZiAoaXNkaWdpdChzZWxmLT5jdXJyZW50KSkKKwkJeworCQkgIC8qIFJlYWQgb2N0YWwgbnVtYmVyICovCisJCSAgaWYgKCFUcmlvUmVhZE51bWJlcihzZWxmLCAmbnVtYmVyLCAwLCAzLCBCQVNFX09DVEFMKSkKKwkJICAgIHJldHVybiAwOworCQkgIGNoID0gKGNoYXIpbnVtYmVyOworCQl9CisJICAgICAgZWxzZSBpZiAodHJpb190b191cHBlcihzZWxmLT5jdXJyZW50KSA9PSAnWCcpCisJCXsKKwkJICAvKiBSZWFkIGhleGFkZWNpbWFsIG51bWJlciAqLworCQkgIHNlbGYtPkluU3RyZWFtKHNlbGYsIE5VTEwpOworCQkgIGlmICghVHJpb1JlYWROdW1iZXIoc2VsZiwgJm51bWJlciwgMCwgMiwgQkFTRV9IRVgpKQorCQkgICAgcmV0dXJuIDA7CisJCSAgY2ggPSAoY2hhciludW1iZXI7CisJCX0KKwkgICAgICBlbHNlCisJCXsKKwkJICBjaCA9IChjaGFyKXNlbGYtPmN1cnJlbnQ7CisJCX0KKwkgICAgICBicmVhazsKKwkgICAgfQorCX0KKworICAgICAgaWYgKHRhcmdldCkKKwl0YXJnZXRbaV0gPSBjaDsKKyAgICB9CisgIHJldHVybiBpICsgMTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFRyaW9SZWFkU3RyaW5nCisgKi8KK1RSSU9fUFJJVkFURSBCT09MRUFOX1QKK1RyaW9SZWFkU3RyaW5nCitUUklPX0FSR1M0KChzZWxmLCB0YXJnZXQsIGZsYWdzLCB3aWR0aCksCisJICAgdHJpb19jbGFzc190ICpzZWxmLAorCSAgIGNoYXIgKnRhcmdldCwKKwkgICB0cmlvX2ZsYWdzX3QgZmxhZ3MsCisJICAgaW50IHdpZHRoKQoreworICBpbnQgaTsKKworICBhc3NlcnQoVkFMSUQoc2VsZikpOworICBhc3NlcnQoVkFMSUQoc2VsZi0+SW5TdHJlYW0pKTsKKworICBUcmlvU2tpcFdoaXRlc3BhY2VzKHNlbGYpOworCisgIC8qCisgICAqIENvbnRpbnVlIHVudGlsIGVuZCBvZiBzdHJpbmcgaXMgcmVhY2hlZCwgYSB3aGl0ZXNwYWNlIGlzIGVuY291bnRlcmVkLAorICAgKiBvciB3aWR0aCBpcyBleGNlZWRlZAorICAgKi8KKyAgZm9yIChpID0gMDsKKyAgICAgICAoKHdpZHRoID09IE5PX1dJRFRIKSB8fCAoaSA8IHdpZHRoKSkgJiYKKyAgICAgICAoISAoKHNlbGYtPmN1cnJlbnQgPT0gRU9GKSB8fCBpc3NwYWNlKHNlbGYtPmN1cnJlbnQpKSk7CisgICAgICAgaSsrKQorICAgIHsKKyAgICAgIGlmIChUcmlvUmVhZENoYXIoc2VsZiwgKHRhcmdldCA/ICZ0YXJnZXRbaV0gOiAwKSwgZmxhZ3MsIDEpID09IDApCisJYnJlYWs7IC8qIGZvciAqLworICAgIH0KKyAgaWYgKHRhcmdldCkKKyAgICB0YXJnZXRbaV0gPSBOSUw7CisgIHJldHVybiBUUlVFOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVHJpb1JlYWRXaWRlQ2hhcgorICovCisjaWYgVFJJT19XSURFQ0hBUgorVFJJT19QUklWQVRFIGludAorVHJpb1JlYWRXaWRlQ2hhcgorVFJJT19BUkdTNCgoc2VsZiwgdGFyZ2V0LCBmbGFncywgd2lkdGgpLAorCSAgIHRyaW9fY2xhc3NfdCAqc2VsZiwKKwkgICB0cmlvX3djaGFyX3QgKnRhcmdldCwKKwkgICB0cmlvX2ZsYWdzX3QgZmxhZ3MsCisJICAgaW50IHdpZHRoKQoreworICBpbnQgaTsKKyAgaW50IGo7CisgIGludCBzaXplOworICBpbnQgYW1vdW50ID0gMDsKKyAgdHJpb193Y2hhcl90IHdjaDsKKyAgY2hhciBidWZmZXJbTUJfTEVOX01BWCArIDFdOworCisgIGFzc2VydChWQUxJRChzZWxmKSk7CisgIGFzc2VydChWQUxJRChzZWxmLT5JblN0cmVhbSkpOworCisgIGZvciAoaSA9IDA7CisgICAgICAgKHNlbGYtPmN1cnJlbnQgIT0gRU9GKSAmJiAoaSA8IHdpZHRoKTsKKyAgICAgICBpKyspCisgICAgeworICAgICAgaWYgKGlzYXNjaWkoc2VsZi0+Y3VycmVudCkpCisJeworCSAgaWYgKFRyaW9SZWFkQ2hhcihzZWxmLCBidWZmZXIsIGZsYWdzLCAxKSA9PSAwKQorCSAgICByZXR1cm4gMDsKKwkgIGJ1ZmZlclsxXSA9IE5JTDsKKwl9CisgICAgICBlbHNlCisJeworCSAgLyoKKwkgICAqIENvbGxlY3QgYSBtdWx0aWJ5dGUgY2hhcmFjdGVyLCBieSBlbmxhcmdpbmcgYnVmZmVyIHVudGlsCisJICAgKiBpdCBjb250YWlucyBhIGZ1bGx5IGxlZ2FsIG11bHRpYnl0ZSBjaGFyYWN0ZXIsIG9yIHRoZQorCSAgICogYnVmZmVyIGlzIGZ1bGwuCisJICAgKi8KKwkgIGogPSAwOworCSAgZG8KKwkgICAgeworCSAgICAgIGJ1ZmZlcltqKytdID0gKGNoYXIpc2VsZi0+Y3VycmVudDsKKwkgICAgICBidWZmZXJbal0gPSBOSUw7CisJICAgICAgc2VsZi0+SW5TdHJlYW0oc2VsZiwgTlVMTCk7CisJICAgIH0KKwkgIHdoaWxlICgoaiA8IChpbnQpc2l6ZW9mKGJ1ZmZlcikpICYmIChtYmxlbihidWZmZXIsIChzaXplX3QpaikgIT0gaikpOworCX0KKyAgICAgIGlmICh0YXJnZXQpCisJeworCSAgc2l6ZSA9IG1idG93Yygmd2NoLCBidWZmZXIsIHNpemVvZihidWZmZXIpKTsKKwkgIGlmIChzaXplID4gMCkKKwkgICAgdGFyZ2V0W2ldID0gd2NoOworCX0KKyAgICAgIGFtb3VudCArPSBzaXplOworICAgICAgc2VsZi0+SW5TdHJlYW0oc2VsZiwgTlVMTCk7CisgICAgfQorICByZXR1cm4gYW1vdW50OworfQorI2VuZGlmIC8qIFRSSU9fV0lERUNIQVIgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFRyaW9SZWFkV2lkZVN0cmluZworICovCisjaWYgVFJJT19XSURFQ0hBUgorVFJJT19QUklWQVRFIEJPT0xFQU5fVAorVHJpb1JlYWRXaWRlU3RyaW5nCitUUklPX0FSR1M0KChzZWxmLCB0YXJnZXQsIGZsYWdzLCB3aWR0aCksCisJICAgdHJpb19jbGFzc190ICpzZWxmLAorCSAgIHRyaW9fd2NoYXJfdCAqdGFyZ2V0LAorCSAgIHRyaW9fZmxhZ3NfdCBmbGFncywKKwkgICBpbnQgd2lkdGgpCit7CisgIGludCBpOworICBpbnQgc2l6ZTsKKworICBhc3NlcnQoVkFMSUQoc2VsZikpOworICBhc3NlcnQoVkFMSUQoc2VsZi0+SW5TdHJlYW0pKTsKKworICBUcmlvU2tpcFdoaXRlc3BhY2VzKHNlbGYpOworCisjaWYgZGVmaW5lZChUUklPX0NPTVBJTEVSX1NVUFBPUlRTX01VTFRJQllURSkKKyAgKHZvaWQpbWJsZW4oTlVMTCwgMCk7CisjZW5kaWYKKworICAvKgorICAgKiBDb250aW51ZSB1bnRpbCBlbmQgb2Ygc3RyaW5nIGlzIHJlYWNoZWQsIGEgd2hpdGVzcGFjZSBpcyBlbmNvdW50ZXJlZCwKKyAgICogb3Igd2lkdGggaXMgZXhjZWVkZWQKKyAgICovCisgIGZvciAoaSA9IDA7CisgICAgICAgKCh3aWR0aCA9PSBOT19XSURUSCkgfHwgKGkgPCB3aWR0aCkpICYmCisgICAgICAgKCEgKChzZWxmLT5jdXJyZW50ID09IEVPRikgfHwgaXNzcGFjZShzZWxmLT5jdXJyZW50KSkpOworICAgICAgICkKKyAgICB7CisgICAgICBzaXplID0gVHJpb1JlYWRXaWRlQ2hhcihzZWxmLCAmdGFyZ2V0W2ldLCBmbGFncywgMSk7CisgICAgICBpZiAoc2l6ZSA9PSAwKQorCWJyZWFrOyAvKiBmb3IgKi8KKworICAgICAgaSArPSBzaXplOworICAgIH0KKyAgaWYgKHRhcmdldCkKKyAgICB0YXJnZXRbaV0gPSBXQ09OU1QoJ1wwJyk7CisgIHJldHVybiBUUlVFOworfQorI2VuZGlmIC8qIFRSSU9fV0lERUNIQVIgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFRyaW9SZWFkR3JvdXAKKyAqCisgKiBGSVhNRTogY2hhcmFjdGVyY2xhc3MgZG9lcyBub3Qgd29yayB3aXRoIG11bHRpYnl0ZSBjaGFyYWN0ZXJzCisgKi8KK1RSSU9fUFJJVkFURSBCT09MRUFOX1QKK1RyaW9SZWFkR3JvdXAKK1RSSU9fQVJHUzUoKHNlbGYsIHRhcmdldCwgY2hhcmFjdGVyY2xhc3MsIGZsYWdzLCB3aWR0aCksCisJICAgdHJpb19jbGFzc190ICpzZWxmLAorCSAgIGNoYXIgKnRhcmdldCwKKwkgICBpbnQgKmNoYXJhY3RlcmNsYXNzLAorCSAgIHRyaW9fZmxhZ3NfdCBmbGFncywKKwkgICBpbnQgd2lkdGgpCit7CisgIGludCBjaDsKKyAgaW50IGk7CisKKyAgYXNzZXJ0KFZBTElEKHNlbGYpKTsKKyAgYXNzZXJ0KFZBTElEKHNlbGYtPkluU3RyZWFtKSk7CisKKyAgY2ggPSBzZWxmLT5jdXJyZW50OworICBmb3IgKGkgPSAwOworICAgICAgICgod2lkdGggPT0gTk9fV0lEVEgpIHx8IChpIDwgd2lkdGgpKSAmJgorICAgICAgICghICgoY2ggPT0gRU9GKSB8fAorCSAgICgoKGZsYWdzICYgRkxBR1NfRVhDTFVERSkgIT0gMCkgXiAoY2hhcmFjdGVyY2xhc3NbY2hdID09IDApKSkpOworICAgICAgIGkrKykKKyAgICB7CisgICAgICBpZiAodGFyZ2V0KQorCXRhcmdldFtpXSA9IChjaGFyKWNoOworICAgICAgc2VsZi0+SW5TdHJlYW0oc2VsZiwgJmNoKTsKKyAgICB9CisKKyAgaWYgKHRhcmdldCkKKyAgICB0YXJnZXRbaV0gPSBOSUw7CisgIHJldHVybiBUUlVFOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVHJpb1JlYWREb3VibGUKKyAqCisgKiBGSVhNRToKKyAqICBhZGQgbG9uZyBkb3VibGUKKyAqICBoYW5kbGUgYmFzZQorICovCitUUklPX1BSSVZBVEUgQk9PTEVBTl9UCitUcmlvUmVhZERvdWJsZQorVFJJT19BUkdTNCgoc2VsZiwgdGFyZ2V0LCBmbGFncywgd2lkdGgpLAorCSAgIHRyaW9fY2xhc3NfdCAqc2VsZiwKKwkgICB0cmlvX3BvaW50ZXJfdCB0YXJnZXQsCisJICAgdHJpb19mbGFnc190IGZsYWdzLAorCSAgIGludCB3aWR0aCkKK3sKKyAgaW50IGNoOworICBjaGFyIGRvdWJsZVN0cmluZ1s1MTJdOworICBpbnQgaW5kZXggPSAwOworICBpbnQgc3RhcnQ7CisgIGludCBqOworICBCT09MRUFOX1QgaXNIZXggPSBGQUxTRTsKKworICBkb3VibGVTdHJpbmdbMF0gPSAwOworCisgIGlmICgod2lkdGggPT0gTk9fV0lEVEgpIHx8ICh3aWR0aCA+IChpbnQpc2l6ZW9mKGRvdWJsZVN0cmluZykgLSAxKSkKKyAgICB3aWR0aCA9IHNpemVvZihkb3VibGVTdHJpbmcpIC0gMTsKKworICBUcmlvU2tpcFdoaXRlc3BhY2VzKHNlbGYpOworCisgIC8qCisgICAqIFJlYWQgZW50aXJlIGRvdWJsZSBudW1iZXIgZnJvbSBzdHJlYW0uIHRyaW9fdG9fZG91YmxlIHJlcXVpcmVzCisgICAqIGEgc3RyaW5nIGFzIGlucHV0LCBidXQgSW5TdHJlYW0gY2FuIGJlIGFueXRoaW5nLCBzbyB3ZSBoYXZlIHRvCisgICAqIGNvbGxlY3QgYWxsIGNoYXJhY3RlcnMuCisgICAqLworICBjaCA9IHNlbGYtPmN1cnJlbnQ7CisgIGlmICgoY2ggPT0gJysnKSB8fCAoY2ggPT0gJy0nKSkKKyAgICB7CisgICAgICBkb3VibGVTdHJpbmdbaW5kZXgrK10gPSAoY2hhciljaDsKKyAgICAgIHNlbGYtPkluU3RyZWFtKHNlbGYsICZjaCk7CisgICAgICB3aWR0aC0tOworICAgIH0KKworICBzdGFydCA9IGluZGV4OworICBzd2l0Y2ggKGNoKQorICAgIHsKKyAgICBjYXNlICduJzoKKyAgICBjYXNlICdOJzoKKyAgICAgIC8qIE5vdC1hLW51bWJlciAqLworICAgICAgaWYgKGluZGV4ICE9IDApCisJYnJlYWs7CisgICAgICAvKiBGQUxMVEhST1VHSCAqLworICAgIGNhc2UgJ2knOgorICAgIGNhc2UgJ0knOgorICAgICAgLyogSW5maW5pdHkgKi8KKyAgICAgIHdoaWxlIChpc2FscGhhKGNoKSAmJiAoaW5kZXggLSBzdGFydCA8IHdpZHRoKSkKKwl7CisJICBkb3VibGVTdHJpbmdbaW5kZXgrK10gPSAoY2hhciljaDsKKwkgIHNlbGYtPkluU3RyZWFtKHNlbGYsICZjaCk7CisJfQorICAgICAgZG91YmxlU3RyaW5nW2luZGV4XSA9IE5JTDsKKworICAgICAgLyogQ2FzZSBpbnNlbnNpdGl2ZSBzdHJpbmcgY29tcGFyaXNvbiAqLworICAgICAgaWYgKHRyaW9fZXF1YWwoJmRvdWJsZVN0cmluZ1tzdGFydF0sIElORklOSVRFX1VQUEVSKSB8fAorCSAgdHJpb19lcXVhbCgmZG91YmxlU3RyaW5nW3N0YXJ0XSwgTE9OR19JTkZJTklURV9VUFBFUikpCisJeworCSAgaWYgKGZsYWdzICYgRkxBR1NfTE9OR0RPVUJMRSkKKwkgICAgeworCSAgICAgIGlmICgoc3RhcnQgPT0gMSkgJiYgKGRvdWJsZVN0cmluZ1swXSA9PSAnLScpKQorCQl7CisJCSAgKigodHJpb19sb25nX2RvdWJsZV90ICopdGFyZ2V0KSA9IHRyaW9fbmluZigpOworCQl9CisJICAgICAgZWxzZQorCQl7CisJCSAgKigodHJpb19sb25nX2RvdWJsZV90ICopdGFyZ2V0KSA9IHRyaW9fcGluZigpOworCQl9CisJICAgIH0KKwkgIGVsc2UKKwkgICAgeworCSAgICAgIGlmICgoc3RhcnQgPT0gMSkgJiYgKGRvdWJsZVN0cmluZ1swXSA9PSAnLScpKQorCQl7CisJCSAgKigoZG91YmxlICopdGFyZ2V0KSA9IHRyaW9fbmluZigpOworCQl9CisJICAgICAgZWxzZQorCQl7CisJCSAgKigoZG91YmxlICopdGFyZ2V0KSA9IHRyaW9fcGluZigpOworCQl9CisJICAgIH0KKwkgIHJldHVybiBUUlVFOworCX0KKyAgICAgIGlmICh0cmlvX2VxdWFsKGRvdWJsZVN0cmluZywgTkFOX1VQUEVSKSkKKwl7CisJICAvKiBOYU4gbXVzdCBub3QgaGF2ZSBhIHByZWNlZWRpbmcgKyBub3IgLSAqLworCSAgaWYgKGZsYWdzICYgRkxBR1NfTE9OR0RPVUJMRSkKKwkgICAgeworCSAgICAgICooKHRyaW9fbG9uZ19kb3VibGVfdCAqKXRhcmdldCkgPSB0cmlvX25hbigpOworCSAgICB9CisJICBlbHNlCisJICAgIHsKKwkgICAgICAqKChkb3VibGUgKil0YXJnZXQpID0gdHJpb19uYW4oKTsKKwkgICAgfQorCSAgcmV0dXJuIFRSVUU7CisJfQorICAgICAgcmV0dXJuIEZBTFNFOworCisgICAgY2FzZSAnMCc6CisgICAgICBkb3VibGVTdHJpbmdbaW5kZXgrK10gPSAoY2hhciljaDsKKyAgICAgIHNlbGYtPkluU3RyZWFtKHNlbGYsICZjaCk7CisgICAgICBpZiAodHJpb190b191cHBlcihjaCkgPT0gJ1gnKQorCXsKKwkgIGlzSGV4ID0gVFJVRTsKKwkgIGRvdWJsZVN0cmluZ1tpbmRleCsrXSA9IChjaGFyKWNoOworCSAgc2VsZi0+SW5TdHJlYW0oc2VsZiwgJmNoKTsKKwl9CisgICAgICBicmVhazsKKworICAgIGRlZmF1bHQ6CisgICAgICBicmVhazsKKyAgICB9CisKKyAgd2hpbGUgKChjaCAhPSBFT0YpICYmIChpbmRleCAtIHN0YXJ0IDwgd2lkdGgpKQorICAgIHsKKyAgICAgIC8qIEludGVnZXIgcGFydCAqLworICAgICAgaWYgKGlzSGV4ID8gaXN4ZGlnaXQoY2gpIDogaXNkaWdpdChjaCkpCisJeworCSAgZG91YmxlU3RyaW5nW2luZGV4KytdID0gKGNoYXIpY2g7CisJICBzZWxmLT5JblN0cmVhbShzZWxmLCAmY2gpOworCX0KKyAgICAgIGVsc2UgaWYgKGZsYWdzICYgRkxBR1NfUVVPVEUpCisJeworCSAgLyogQ29tcGFyZSB3aXRoIHRob3VzYW5kcyBzZXBhcmF0b3IgKi8KKwkgIGZvciAoaiA9IDA7IGludGVybmFsVGhvdXNhbmRTZXBhcmF0b3Jbal0gJiYgc2VsZi0+Y3VycmVudDsgaisrKQorCSAgICB7CisJICAgICAgaWYgKGludGVybmFsVGhvdXNhbmRTZXBhcmF0b3Jbal0gIT0gc2VsZi0+Y3VycmVudCkKKwkJYnJlYWs7CisKKwkgICAgICBzZWxmLT5JblN0cmVhbShzZWxmLCAmY2gpOworCSAgICB9CisJICBpZiAoaW50ZXJuYWxUaG91c2FuZFNlcGFyYXRvcltqXSkKKwkgICAgYnJlYWs7IC8qIE1pc21hdGNoICovCisJICBlbHNlCisJICAgIGNvbnRpbnVlOyAvKiBNYXRjaCAqLworCX0KKyAgICAgIGVsc2UKKwlicmVhazsgLyogd2hpbGUgKi8KKyAgICB9CisgIGlmIChjaCA9PSAnLicpCisgICAgeworICAgICAgLyogRGVjaW1hbCBwYXJ0ICovCisgICAgICBkb3VibGVTdHJpbmdbaW5kZXgrK10gPSAoY2hhciljaDsKKyAgICAgIHNlbGYtPkluU3RyZWFtKHNlbGYsICZjaCk7CisgICAgICB3aGlsZSAoKGlzSGV4ID8gaXN4ZGlnaXQoY2gpIDogaXNkaWdpdChjaCkpICYmCisJICAgICAoaW5kZXggLSBzdGFydCA8IHdpZHRoKSkKKwl7CisJICBkb3VibGVTdHJpbmdbaW5kZXgrK10gPSAoY2hhciljaDsKKwkgIHNlbGYtPkluU3RyZWFtKHNlbGYsICZjaCk7CisJfQorICAgICAgaWYgKGlzSGV4ID8gKHRyaW9fdG9fdXBwZXIoY2gpID09ICdQJykgOiAodHJpb190b191cHBlcihjaCkgPT0gJ0UnKSkKKwl7CisJICAvKiBFeHBvbmVudCAqLworCSAgZG91YmxlU3RyaW5nW2luZGV4KytdID0gKGNoYXIpY2g7CisJICBzZWxmLT5JblN0cmVhbShzZWxmLCAmY2gpOworCSAgaWYgKChjaCA9PSAnKycpIHx8IChjaCA9PSAnLScpKQorCSAgICB7CisJICAgICAgZG91YmxlU3RyaW5nW2luZGV4KytdID0gKGNoYXIpY2g7CisJICAgICAgc2VsZi0+SW5TdHJlYW0oc2VsZiwgJmNoKTsKKwkgICAgfQorCSAgd2hpbGUgKGlzZGlnaXQoY2gpICYmIChpbmRleCAtIHN0YXJ0IDwgd2lkdGgpKQorCSAgICB7CisJICAgICAgZG91YmxlU3RyaW5nW2luZGV4KytdID0gKGNoYXIpY2g7CisJICAgICAgc2VsZi0+SW5TdHJlYW0oc2VsZiwgJmNoKTsKKwkgICAgfQorCX0KKyAgICB9CisKKyAgaWYgKChpbmRleCA9PSBzdGFydCkgfHwgKCpkb3VibGVTdHJpbmcgPT0gTklMKSkKKyAgICByZXR1cm4gRkFMU0U7CisKKyAgZG91YmxlU3RyaW5nW2luZGV4XSA9IDA7CisKKyAgaWYgKGZsYWdzICYgRkxBR1NfTE9OR0RPVUJMRSkKKyAgICB7CisgICAgICAqKCh0cmlvX2xvbmdfZG91YmxlX3QgKil0YXJnZXQpID0gdHJpb190b19sb25nX2RvdWJsZShkb3VibGVTdHJpbmcsIE5VTEwpOworICAgIH0KKyAgZWxzZQorICAgIHsKKyAgICAgICooKGRvdWJsZSAqKXRhcmdldCkgPSB0cmlvX3RvX2RvdWJsZShkb3VibGVTdHJpbmcsIE5VTEwpOworICAgIH0KKyAgcmV0dXJuIFRSVUU7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBUcmlvUmVhZFBvaW50ZXIKKyAqLworVFJJT19QUklWQVRFIEJPT0xFQU5fVAorVHJpb1JlYWRQb2ludGVyCitUUklPX0FSR1MzKChzZWxmLCB0YXJnZXQsIGZsYWdzKSwKKwkgICB0cmlvX2NsYXNzX3QgKnNlbGYsCisJICAgdHJpb19wb2ludGVyX3QgKnRhcmdldCwKKwkgICB0cmlvX2ZsYWdzX3QgZmxhZ3MpCit7CisgIHRyaW9fdWludG1heF90IG51bWJlcjsKKyAgY2hhciBidWZmZXJbc2l6ZW9mKGludGVybmFsTnVsbFN0cmluZyldOworCisgIGZsYWdzIHw9IChGTEFHU19VTlNJR05FRCB8IEZMQUdTX0FMVEVSTkFUSVZFIHwgRkxBR1NfTklMUEFERElORyk7CisKKyAgaWYgKFRyaW9SZWFkTnVtYmVyKHNlbGYsCisJCSAgICAgJm51bWJlciwKKwkJICAgICBmbGFncywKKwkJICAgICBQT0lOVEVSX1dJRFRILAorCQkgICAgIEJBU0VfSEVYKSkKKyAgICB7CisgICAgICAvKgorICAgICAgICogVGhlIHN0cmFuZ2UgYXNzaWdubWVudCBvZiBudW1iZXIgaXMgYSB3b3JrYXJvdW5kIGZvciBhIGNvbXBpbGVyCisgICAgICAgKiB3YXJuaW5nCisgICAgICAgKi8KKyAgICAgIGlmICh0YXJnZXQpCisJKnRhcmdldCA9IChjaGFyICopMCArIG51bWJlcjsKKyAgICAgIHJldHVybiBUUlVFOworICAgIH0KKyAgZWxzZSBpZiAoVHJpb1JlYWRTdHJpbmcoc2VsZiwKKwkJCSAgKGZsYWdzICYgRkxBR1NfSUdOT1JFKQorCQkJICA/IE5VTEwKKwkJCSAgOiBidWZmZXIsCisJCQkgIDAsCisJCQkgIHNpemVvZihpbnRlcm5hbE51bGxTdHJpbmcpIC0gMSkpCisgICAgeworICAgICAgaWYgKHRyaW9fZXF1YWxfY2FzZShidWZmZXIsIGludGVybmFsTnVsbFN0cmluZykpCisJeworCSAgaWYgKHRhcmdldCkKKwkgICAgKnRhcmdldCA9IE5VTEw7CisJICByZXR1cm4gVFJVRTsKKwl9CisgICAgfQorICByZXR1cm4gRkFMU0U7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBUcmlvU2NhblByb2Nlc3MKKyAqLworVFJJT19QUklWQVRFIGludAorVHJpb1NjYW5Qcm9jZXNzCitUUklPX0FSR1MzKChkYXRhLCBmb3JtYXQsIHBhcmFtZXRlcnMpLAorCSAgIHRyaW9fY2xhc3NfdCAqZGF0YSwKKwkgICBUUklPX0NPTlNUIGNoYXIgKmZvcm1hdCwKKwkgICB0cmlvX3BhcmFtZXRlcl90ICpwYXJhbWV0ZXJzKQoreworI2lmIGRlZmluZWQoVFJJT19DT01QSUxFUl9TVVBQT1JUU19NVUxUSUJZVEUpCisgIGludCBjaGFybGVuOworICBpbnQgY250OworI2VuZGlmCisgIGludCBhc3NpZ25tZW50OworICBpbnQgY2g7CisgIGludCBpbmRleDsgLyogSW5kZXggb2YgZm9ybWF0IHN0cmluZyAqLworICBpbnQgaTsgLyogSW5kZXggb2YgY3VycmVudCBwYXJhbWV0ZXIgKi8KKyAgdHJpb19mbGFnc190IGZsYWdzOworICBpbnQgd2lkdGg7CisgIGludCBiYXNlOworICB0cmlvX3BvaW50ZXJfdCBwb2ludGVyOworCisgIGFzc2lnbm1lbnQgPSAwOworICBpID0gMDsKKyAgaW5kZXggPSAwOworICBkYXRhLT5JblN0cmVhbShkYXRhLCAmY2gpOworCisjaWYgZGVmaW5lZChUUklPX0NPTVBJTEVSX1NVUFBPUlRTX01VTFRJQllURSkKKyAgKHZvaWQpbWJsZW4oTlVMTCwgMCk7CisjZW5kaWYKKworICB3aGlsZSAoZm9ybWF0W2luZGV4XSkKKyAgICB7CisjaWYgZGVmaW5lZChUUklPX0NPTVBJTEVSX1NVUFBPUlRTX01VTFRJQllURSkKKyAgICAgIGlmICghIGlzYXNjaWkoZm9ybWF0W2luZGV4XSkpCisJeworCSAgY2hhcmxlbiA9IG1ibGVuKCZmb3JtYXRbaW5kZXhdLCBNQl9MRU5fTUFYKTsKKwkgIGlmIChjaGFybGVuICE9IC0xKQorCSAgICB7CisJICAgICAgLyogQ29tcGFyZSBtdWx0aWJ5dGUgY2hhcmFjdGVycyBpbiBmb3JtYXQgc3RyaW5nICovCisJICAgICAgZm9yIChjbnQgPSAwOyBjbnQgPCBjaGFybGVuIC0gMTsgY250KyspCisJCXsKKwkJICBpZiAoY2ggIT0gZm9ybWF0W2luZGV4ICsgY250XSkKKwkJICAgIHsKKwkJICAgICAgcmV0dXJuIFRSSU9fRVJST1JfUkVUVVJOKFRSSU9fRUlOVkFMLCBpbmRleCk7CisJCSAgICB9CisJCSAgZGF0YS0+SW5TdHJlYW0oZGF0YSwgJmNoKTsKKwkJfQorCSAgICAgIGNvbnRpbnVlOyAvKiB3aGlsZSBjaGFyYWN0ZXJzIGxlZnQgaW4gZm9ybWF0dGluZyBzdHJpbmcgKi8KKwkgICAgfQorCX0KKyNlbmRpZiAvKiBUUklPX0NPTVBJTEVSX1NVUFBPUlRTX01VTFRJQllURSAqLworCisgICAgICBpZiAoKEVPRiA9PSBjaCkgJiYgKHBhcmFtZXRlcnNbaV0udHlwZSAhPSBGT1JNQVRfQ09VTlQpKQorCXsKKwkgIHJldHVybiAoYXNzaWdubWVudCA+IDApID8gYXNzaWdubWVudCA6IEVPRjsKKwl9CisKKyAgICAgIGlmIChDSEFSX0lERU5USUZJRVIgPT0gZm9ybWF0W2luZGV4XSkKKwl7CisJICBpZiAoQ0hBUl9JREVOVElGSUVSID09IGZvcm1hdFtpbmRleCArIDFdKQorCSAgICB7CisJICAgICAgLyogVHdvICUgaW4gZm9ybWF0IG1hdGNoZXMgb25lICUgaW4gaW5wdXQgc3RyZWFtICovCisJICAgICAgaWYgKENIQVJfSURFTlRJRklFUiA9PSBjaCkKKwkJeworCQkgIGRhdGEtPkluU3RyZWFtKGRhdGEsICZjaCk7CisJCSAgaW5kZXggKz0gMjsKKwkJICBjb250aW51ZTsgLyogd2hpbGUgZm9ybWF0IGNoYXJzIGxlZnQgKi8KKwkJfQorCSAgICAgIGVsc2UKKwkJcmV0dXJuIFRSSU9fRVJST1JfUkVUVVJOKFRSSU9fRUlOVkFMLCBpbmRleCk7CisJICAgIH0KKworCSAgLyogU2tpcCB0aGUgcGFyYW1ldGVyIGVudHJpZXMgKi8KKwkgIHdoaWxlIChwYXJhbWV0ZXJzW2ldLnR5cGUgPT0gRk9STUFUX1BBUkFNRVRFUikKKwkgICAgaSsrOworCisJICBmbGFncyA9IHBhcmFtZXRlcnNbaV0uZmxhZ3M7CisJICAvKiBGaW5kIHdpZHRoICovCisJICB3aWR0aCA9IHBhcmFtZXRlcnNbaV0ud2lkdGg7CisJICBpZiAoZmxhZ3MgJiBGTEFHU19XSURUSF9QQVJBTUVURVIpCisJICAgIHsKKwkgICAgICAvKiBHZXQgd2lkdGggZnJvbSBwYXJhbWV0ZXIgbGlzdCAqLworCSAgICAgIHdpZHRoID0gKGludClwYXJhbWV0ZXJzW3dpZHRoXS5kYXRhLm51bWJlci5hc19zaWduZWQ7CisJICAgIH0KKwkgIC8qIEZpbmQgYmFzZSAqLworCSAgYmFzZSA9IHBhcmFtZXRlcnNbaV0uYmFzZTsKKwkgIGlmIChmbGFncyAmIEZMQUdTX0JBU0VfUEFSQU1FVEVSKQorCSAgICB7CisJICAgICAgLyogR2V0IGJhc2UgZnJvbSBwYXJhbWV0ZXIgbGlzdCAqLworCSAgICAgIGJhc2UgPSAoaW50KXBhcmFtZXRlcnNbYmFzZV0uZGF0YS5udW1iZXIuYXNfc2lnbmVkOworCSAgICB9CisKKwkgIHN3aXRjaCAocGFyYW1ldGVyc1tpXS50eXBlKQorCSAgICB7CisJICAgIGNhc2UgRk9STUFUX0lOVDoKKwkgICAgICB7CisJCXRyaW9fdWludG1heF90IG51bWJlcjsKKworCQlpZiAoMCA9PSBiYXNlKQorCQkgIGJhc2UgPSBCQVNFX0RFQ0lNQUw7CisKKwkJaWYgKCFUcmlvUmVhZE51bWJlcihkYXRhLAorCQkJCSAgICAmbnVtYmVyLAorCQkJCSAgICBmbGFncywKKwkJCQkgICAgd2lkdGgsCisJCQkJICAgIGJhc2UpKQorCQkgIHJldHVybiBhc3NpZ25tZW50OworCisJCWlmICghKGZsYWdzICYgRkxBR1NfSUdOT1JFKSkKKwkJICB7CisJCSAgICBhc3NpZ25tZW50Kys7CisKKwkJICAgIHBvaW50ZXIgPSBwYXJhbWV0ZXJzW2ldLmRhdGEucG9pbnRlcjsKKyNpZiBkZWZpbmVkKFFVQUxJRklFUl9TSVpFX1QpIHx8IGRlZmluZWQoUVVBTElGSUVSX1NJWkVfVF9VUFBFUikKKwkJICAgIGlmIChmbGFncyAmIEZMQUdTX1NJWkVfVCkKKwkJICAgICAgKihzaXplX3QgKilwb2ludGVyID0gKHNpemVfdCludW1iZXI7CisJCSAgICBlbHNlCisjZW5kaWYKKyNpZiBkZWZpbmVkKFFVQUxJRklFUl9QVFJESUZGX1QpCisJCSAgICBpZiAoZmxhZ3MgJiBGTEFHU19QVFJESUZGX1QpCisJCSAgICAgICoocHRyZGlmZl90ICopcG9pbnRlciA9IChwdHJkaWZmX3QpbnVtYmVyOworCQkgICAgZWxzZQorI2VuZGlmCisjaWYgZGVmaW5lZChRVUFMSUZJRVJfSU5UTUFYX1QpCisJCSAgICBpZiAoZmxhZ3MgJiBGTEFHU19JTlRNQVhfVCkKKwkJICAgICAgKih0cmlvX2ludG1heF90ICopcG9pbnRlciA9ICh0cmlvX2ludG1heF90KW51bWJlcjsKKwkJICAgIGVsc2UKKyNlbmRpZgorCQkgICAgaWYgKGZsYWdzICYgRkxBR1NfUVVBRCkKKwkJICAgICAgKih0cmlvX3Vsb25nbG9uZ190ICopcG9pbnRlciA9ICh0cmlvX3Vsb25nbG9uZ190KW51bWJlcjsKKwkJICAgIGVsc2UgaWYgKGZsYWdzICYgRkxBR1NfTE9ORykKKwkJICAgICAgKihsb25nIGludCAqKXBvaW50ZXIgPSAobG9uZyBpbnQpbnVtYmVyOworCQkgICAgZWxzZSBpZiAoZmxhZ3MgJiBGTEFHU19TSE9SVCkKKwkJICAgICAgKihzaG9ydCBpbnQgKilwb2ludGVyID0gKHNob3J0IGludCludW1iZXI7CisJCSAgICBlbHNlCisJCSAgICAgICooaW50ICopcG9pbnRlciA9IChpbnQpbnVtYmVyOworCQkgIH0KKwkgICAgICB9CisJICAgICAgYnJlYWs7IC8qIEZPUk1BVF9JTlQgKi8KKworCSAgICBjYXNlIEZPUk1BVF9TVFJJTkc6CisjaWYgVFJJT19XSURFQ0hBUgorCSAgICAgIGlmIChmbGFncyAmIEZMQUdTX1dJREVDSEFSKQorCQl7CisJCSAgaWYgKCFUcmlvUmVhZFdpZGVTdHJpbmcoZGF0YSwKKwkJCQkJICAoZmxhZ3MgJiBGTEFHU19JR05PUkUpCisJCQkJCSAgPyBOVUxMCisJCQkJCSAgOiBwYXJhbWV0ZXJzW2ldLmRhdGEud3N0cmluZywKKwkJCQkJICBmbGFncywKKwkJCQkJICB3aWR0aCkpCisJCSAgICByZXR1cm4gYXNzaWdubWVudDsKKwkJfQorCSAgICAgIGVsc2UKKyNlbmRpZgorCQl7CisJCSAgaWYgKCFUcmlvUmVhZFN0cmluZyhkYXRhLAorCQkJCSAgICAgIChmbGFncyAmIEZMQUdTX0lHTk9SRSkKKwkJCQkgICAgICA/IE5VTEwKKwkJCQkgICAgICA6IHBhcmFtZXRlcnNbaV0uZGF0YS5zdHJpbmcsCisJCQkJICAgICAgZmxhZ3MsCisJCQkJICAgICAgd2lkdGgpKQorCQkgICAgcmV0dXJuIGFzc2lnbm1lbnQ7CisJCX0KKwkgICAgICBpZiAoIShmbGFncyAmIEZMQUdTX0lHTk9SRSkpCisJCWFzc2lnbm1lbnQrKzsKKwkgICAgICBicmVhazsgLyogRk9STUFUX1NUUklORyAqLworCisJICAgIGNhc2UgRk9STUFUX0RPVUJMRToKKwkgICAgICB7CisJCXRyaW9fcG9pbnRlcl90IHBvaW50ZXI7CisKKwkJaWYgKGZsYWdzICYgRkxBR1NfSUdOT1JFKQorCQkgIHsKKwkJICAgIHBvaW50ZXIgPSBOVUxMOworCQkgIH0KKwkJZWxzZQorCQkgIHsKKwkJICAgIHBvaW50ZXIgPSAoZmxhZ3MgJiBGTEFHU19MT05HRE9VQkxFKQorCQkgICAgICA/ICh0cmlvX3BvaW50ZXJfdClwYXJhbWV0ZXJzW2ldLmRhdGEubG9uZ2RvdWJsZVBvaW50ZXIKKwkJICAgICAgOiAodHJpb19wb2ludGVyX3QpcGFyYW1ldGVyc1tpXS5kYXRhLmRvdWJsZVBvaW50ZXI7CisJCSAgfQorCQlpZiAoIVRyaW9SZWFkRG91YmxlKGRhdGEsIHBvaW50ZXIsIGZsYWdzLCB3aWR0aCkpCisJCSAgeworCQkgICAgcmV0dXJuIGFzc2lnbm1lbnQ7CisJCSAgfQorCQlpZiAoIShmbGFncyAmIEZMQUdTX0lHTk9SRSkpCisJCSAgeworCQkgICAgYXNzaWdubWVudCsrOworCQkgIH0KKwkJYnJlYWs7IC8qIEZPUk1BVF9ET1VCTEUgKi8KKwkgICAgICB9CisJICAgIGNhc2UgRk9STUFUX0dST1VQOgorCSAgICAgIHsKKwkJaW50IGNoYXJhY3RlcmNsYXNzW01BWF9DSEFSQUNURVJfQ0xBU1MgKyAxXTsKKwkJaW50IHJjOworCisJCS8qIFNraXAgb3ZlciBtb2RpZmllcnMgKi8KKwkJd2hpbGUgKGZvcm1hdFtpbmRleF0gIT0gU1BFQ0lGSUVSX0dST1VQKQorCQkgIHsKKwkJICAgIGluZGV4Kys7CisJCSAgfQorCQkvKiBTa2lwIG92ZXIgZ3JvdXAgc3BlY2lmaWVyICovCisJCWluZGV4Kys7CisKKwkJbWVtc2V0KGNoYXJhY3RlcmNsYXNzLCAwLCBzaXplb2YoY2hhcmFjdGVyY2xhc3MpKTsKKwkJcmMgPSBUcmlvR2V0Q2hhcmFjdGVyQ2xhc3MoZm9ybWF0LAorCQkJCQkgICAmaW5kZXgsCisJCQkJCSAgICZmbGFncywKKwkJCQkJICAgY2hhcmFjdGVyY2xhc3MpOworCQlpZiAocmMgPCAwKQorCQkgIHJldHVybiByYzsKKworCQlpZiAoIVRyaW9SZWFkR3JvdXAoZGF0YSwKKwkJCQkgICAoZmxhZ3MgJiBGTEFHU19JR05PUkUpCisJCQkJICAgPyBOVUxMCisJCQkJICAgOiBwYXJhbWV0ZXJzW2ldLmRhdGEuc3RyaW5nLAorCQkJCSAgIGNoYXJhY3RlcmNsYXNzLAorCQkJCSAgIGZsYWdzLAorCQkJCSAgIHBhcmFtZXRlcnNbaV0ud2lkdGgpKQorCQkgIHJldHVybiBhc3NpZ25tZW50OworCQlpZiAoIShmbGFncyAmIEZMQUdTX0lHTk9SRSkpCisJCSAgYXNzaWdubWVudCsrOworCSAgICAgIH0KKwkgICAgICBicmVhazsgLyogRk9STUFUX0dST1VQICovCisKKwkgICAgY2FzZSBGT1JNQVRfQ09VTlQ6CisJICAgICAgcG9pbnRlciA9IHBhcmFtZXRlcnNbaV0uZGF0YS5wb2ludGVyOworCSAgICAgIGlmIChOVUxMICE9IHBvaW50ZXIpCisJCXsKKwkJICBpbnQgY291bnQgPSBkYXRhLT5jb21taXR0ZWQ7CisJCSAgaWYgKGNoICE9IEVPRikKKwkJICAgIGNvdW50LS07IC8qIGEgY2hhcmFjdGVyIGlzIHJlYWQsIGJ1dCBpcyBub3QgY29uc3VtZWQgeWV0ICovCisjaWYgZGVmaW5lZChRVUFMSUZJRVJfU0laRV9UKSB8fCBkZWZpbmVkKFFVQUxJRklFUl9TSVpFX1RfVVBQRVIpCisJCSAgaWYgKGZsYWdzICYgRkxBR1NfU0laRV9UKQorCQkgICAgKihzaXplX3QgKilwb2ludGVyID0gKHNpemVfdCljb3VudDsKKwkJICBlbHNlCisjZW5kaWYKKyNpZiBkZWZpbmVkKFFVQUxJRklFUl9QVFJESUZGX1QpCisJCSAgaWYgKGZsYWdzICYgRkxBR1NfUFRSRElGRl9UKQorCQkgICAgKihwdHJkaWZmX3QgKilwb2ludGVyID0gKHB0cmRpZmZfdCljb3VudDsKKwkJICBlbHNlCisjZW5kaWYKKyNpZiBkZWZpbmVkKFFVQUxJRklFUl9JTlRNQVhfVCkKKwkJICBpZiAoZmxhZ3MgJiBGTEFHU19JTlRNQVhfVCkKKwkJICAgICoodHJpb19pbnRtYXhfdCAqKXBvaW50ZXIgPSAodHJpb19pbnRtYXhfdCljb3VudDsKKwkJICBlbHNlCisjZW5kaWYKKwkJICBpZiAoZmxhZ3MgJiBGTEFHU19RVUFEKQorCQkgICAgeworCQkgICAgICAqKHRyaW9fdWxvbmdsb25nX3QgKilwb2ludGVyID0gKHRyaW9fdWxvbmdsb25nX3QpY291bnQ7CisJCSAgICB9CisJCSAgZWxzZSBpZiAoZmxhZ3MgJiBGTEFHU19MT05HKQorCQkgICAgeworCQkgICAgICAqKGxvbmcgaW50ICopcG9pbnRlciA9IChsb25nIGludCljb3VudDsKKwkJICAgIH0KKwkJICBlbHNlIGlmIChmbGFncyAmIEZMQUdTX1NIT1JUKQorCQkgICAgeworCQkgICAgICAqKHNob3J0IGludCAqKXBvaW50ZXIgPSAoc2hvcnQgaW50KWNvdW50OworCQkgICAgfQorCQkgIGVsc2UKKwkJICAgIHsKKwkJICAgICAgKihpbnQgKilwb2ludGVyID0gKGludCljb3VudDsKKwkJICAgIH0KKwkJfQorCSAgICAgIGJyZWFrOyAvKiBGT1JNQVRfQ09VTlQgKi8KKworCSAgICBjYXNlIEZPUk1BVF9DSEFSOgorI2lmIFRSSU9fV0lERUNIQVIKKwkgICAgICBpZiAoZmxhZ3MgJiBGTEFHU19XSURFQ0hBUikKKwkJeworCQkgIGlmIChUcmlvUmVhZFdpZGVDaGFyKGRhdGEsCisJCQkJICAgICAgIChmbGFncyAmIEZMQUdTX0lHTk9SRSkKKwkJCQkgICAgICAgPyBOVUxMCisJCQkJICAgICAgIDogcGFyYW1ldGVyc1tpXS5kYXRhLndzdHJpbmcsCisJCQkJICAgICAgIGZsYWdzLAorCQkJCSAgICAgICAod2lkdGggPT0gTk9fV0lEVEgpID8gMSA6IHdpZHRoKSA9PSAwKQorCQkgICAgcmV0dXJuIGFzc2lnbm1lbnQ7CisJCX0KKwkgICAgICBlbHNlCisjZW5kaWYKKwkJeworCQkgIGlmIChUcmlvUmVhZENoYXIoZGF0YSwKKwkJCQkgICAoZmxhZ3MgJiBGTEFHU19JR05PUkUpCisJCQkJICAgPyBOVUxMCisJCQkJICAgOiBwYXJhbWV0ZXJzW2ldLmRhdGEuc3RyaW5nLAorCQkJCSAgIGZsYWdzLAorCQkJCSAgICh3aWR0aCA9PSBOT19XSURUSCkgPyAxIDogd2lkdGgpID09IDApCisJCSAgICByZXR1cm4gYXNzaWdubWVudDsKKwkJfQorCSAgICAgIGlmICghKGZsYWdzICYgRkxBR1NfSUdOT1JFKSkKKwkJYXNzaWdubWVudCsrOworCSAgICAgIGJyZWFrOyAvKiBGT1JNQVRfQ0hBUiAqLworCisJICAgIGNhc2UgRk9STUFUX1BPSU5URVI6CisJICAgICAgaWYgKCFUcmlvUmVhZFBvaW50ZXIoZGF0YSwKKwkJCQkgICAoZmxhZ3MgJiBGTEFHU19JR05PUkUpCisJCQkJICAgPyBOVUxMCisJCQkJICAgOiAodHJpb19wb2ludGVyX3QgKilwYXJhbWV0ZXJzW2ldLmRhdGEucG9pbnRlciwKKwkJCQkgICBmbGFncykpCisJCXJldHVybiBhc3NpZ25tZW50OworCSAgICAgIGlmICghKGZsYWdzICYgRkxBR1NfSUdOT1JFKSkKKwkJYXNzaWdubWVudCsrOworCSAgICAgIGJyZWFrOyAvKiBGT1JNQVRfUE9JTlRFUiAqLworCisJICAgIGNhc2UgRk9STUFUX1BBUkFNRVRFUjoKKwkgICAgICBicmVhazsgLyogRk9STUFUX1BBUkFNRVRFUiAqLworCisJICAgIGRlZmF1bHQ6CisJICAgICAgcmV0dXJuIFRSSU9fRVJST1JfUkVUVVJOKFRSSU9fRUlOVkFMLCBpbmRleCk7CisJICAgIH0KKwkgIGNoID0gZGF0YS0+Y3VycmVudDsKKwkgIGluZGV4ID0gcGFyYW1ldGVyc1tpXS5pbmRleEFmdGVyU3BlY2lmaWVyOworCSAgaSsrOworCX0KKyAgICAgIGVsc2UgLyogTm90IGFuICUgaWRlbnRpZmllciAqLworCXsKKwkgIGlmIChpc3NwYWNlKChpbnQpZm9ybWF0W2luZGV4XSkpCisJICAgIHsKKwkgICAgICAvKiBXaGl0ZXNwYWNlcyBtYXkgbWF0Y2ggYW55IGFtb3VudCBvZiB3aGl0ZXNwYWNlcyAqLworCSAgICAgIGNoID0gVHJpb1NraXBXaGl0ZXNwYWNlcyhkYXRhKTsKKwkgICAgfQorCSAgZWxzZSBpZiAoY2ggPT0gZm9ybWF0W2luZGV4XSkKKwkgICAgeworCSAgICAgIGRhdGEtPkluU3RyZWFtKGRhdGEsICZjaCk7CisJICAgIH0KKwkgIGVsc2UKKwkgICAgcmV0dXJuIGFzc2lnbm1lbnQ7CisKKwkgIGluZGV4Kys7CisJfQorICAgIH0KKyAgcmV0dXJuIGFzc2lnbm1lbnQ7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBUcmlvU2NhbgorICovCitUUklPX1BSSVZBVEUgaW50CitUcmlvU2NhbgorVFJJT19BUkdTNigoc291cmNlLCBzb3VyY2VTaXplLCBJblN0cmVhbSwgZm9ybWF0LCBhcmdsaXN0LCBhcmdhcnJheSksCisJICAgdHJpb19wb2ludGVyX3Qgc291cmNlLAorCSAgIHNpemVfdCBzb3VyY2VTaXplLAorCSAgIHZvaWQgKCpJblN0cmVhbSkgVFJJT19QUk9UTygodHJpb19jbGFzc190ICosIGludCAqKSksCisJICAgVFJJT19DT05TVCBjaGFyICpmb3JtYXQsCisJICAgVFJJT19WQV9MSVNUX1BUUiBhcmdsaXN0LAorCSAgIHRyaW9fcG9pbnRlcl90ICphcmdhcnJheSkKK3sKKyAgaW50IHN0YXR1czsKKyAgdHJpb19wYXJhbWV0ZXJfdCBwYXJhbWV0ZXJzW01BWF9QQVJBTUVURVJTXTsKKyAgdHJpb19jbGFzc190IGRhdGE7CisKKyAgYXNzZXJ0KFZBTElEKEluU3RyZWFtKSk7CisgIGFzc2VydChWQUxJRChmb3JtYXQpKTsKKworICBtZW1zZXQoJmRhdGEsIDAsIHNpemVvZihkYXRhKSk7CisgIGRhdGEuSW5TdHJlYW0gPSBJblN0cmVhbTsKKyAgZGF0YS5sb2NhdGlvbiA9ICh0cmlvX3BvaW50ZXJfdClzb3VyY2U7CisgIGRhdGEubWF4ID0gc291cmNlU2l6ZTsKKyAgZGF0YS5lcnJvciA9IDA7CisKKyNpZiBkZWZpbmVkKFVTRV9MT0NBTEUpCisgIGlmIChOVUxMID09IGludGVybmFsTG9jYWxlVmFsdWVzKQorICAgIHsKKyAgICAgIFRyaW9TZXRMb2NhbGUoKTsKKyAgICB9CisjZW5kaWYKKworICBzdGF0dXMgPSBUcmlvUGFyc2UoVFlQRV9TQ0FOLCBmb3JtYXQsIHBhcmFtZXRlcnMsIGFyZ2xpc3QsIGFyZ2FycmF5KTsKKyAgaWYgKHN0YXR1cyA8IDApCisgICAgcmV0dXJuIHN0YXR1czsKKworICBzdGF0dXMgPSBUcmlvU2NhblByb2Nlc3MoJmRhdGEsIGZvcm1hdCwgcGFyYW1ldGVycyk7CisgIGlmIChkYXRhLmVycm9yICE9IDApCisgICAgeworICAgICAgc3RhdHVzID0gZGF0YS5lcnJvcjsKKyAgICB9CisgIHJldHVybiBzdGF0dXM7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBUcmlvSW5TdHJlYW1GaWxlCisgKi8KK1RSSU9fUFJJVkFURSB2b2lkCitUcmlvSW5TdHJlYW1GaWxlCitUUklPX0FSR1MyKChzZWxmLCBpbnRQb2ludGVyKSwKKwkgICB0cmlvX2NsYXNzX3QgKnNlbGYsCisJICAgaW50ICppbnRQb2ludGVyKQoreworICBGSUxFICpmaWxlOworCisgIGFzc2VydChWQUxJRChzZWxmKSk7CisgIGFzc2VydChWQUxJRChzZWxmLT5sb2NhdGlvbikpOworICBhc3NlcnQoVkFMSUQoZmlsZSkpOworCisgIGZpbGUgPSAoRklMRSAqKXNlbGYtPmxvY2F0aW9uOworCisgIHNlbGYtPmN1cnJlbnQgPSBmZ2V0YyhmaWxlKTsKKyAgaWYgKHNlbGYtPmN1cnJlbnQgPT0gRU9GKQorICAgIHsKKyAgICAgIHNlbGYtPmVycm9yID0gKGZlcnJvcihmaWxlKSkKKwk/IFRSSU9fRVJST1JfUkVUVVJOKFRSSU9fRVJSTk8sIDApCisJOiBUUklPX0VSUk9SX1JFVFVSTihUUklPX0VPRiwgMCk7CisgICAgfQorICBlbHNlCisgICAgeworICAgICAgc2VsZi0+cHJvY2Vzc2VkKys7CisgICAgICBzZWxmLT5jb21taXR0ZWQrKzsKKyAgICB9CisKKyAgaWYgKFZBTElEKGludFBvaW50ZXIpKQorICAgIHsKKyAgICAgICppbnRQb2ludGVyID0gc2VsZi0+Y3VycmVudDsKKyAgICB9Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBUcmlvSW5TdHJlYW1GaWxlRGVzY3JpcHRvcgorICovCitUUklPX1BSSVZBVEUgdm9pZAorVHJpb0luU3RyZWFtRmlsZURlc2NyaXB0b3IKK1RSSU9fQVJHUzIoKHNlbGYsIGludFBvaW50ZXIpLAorCSAgIHRyaW9fY2xhc3NfdCAqc2VsZiwKKwkgICBpbnQgKmludFBvaW50ZXIpCit7CisgIGludCBmZDsKKyAgaW50IHNpemU7CisgIHVuc2lnbmVkIGNoYXIgaW5wdXQ7CisKKyAgYXNzZXJ0KFZBTElEKHNlbGYpKTsKKyAgYXNzZXJ0KFZBTElEKHNlbGYtPmxvY2F0aW9uKSk7CisKKyAgZmQgPSAqKChpbnQgKilzZWxmLT5sb2NhdGlvbik7CisKKyAgc2l6ZSA9IHJlYWQoZmQsICZpbnB1dCwgc2l6ZW9mKGNoYXIpKTsKKyAgaWYgKHNpemUgPT0gLTEpCisgICAgeworICAgICAgc2VsZi0+ZXJyb3IgPSBUUklPX0VSUk9SX1JFVFVSTihUUklPX0VSUk5PLCAwKTsKKyAgICAgIHNlbGYtPmN1cnJlbnQgPSBFT0Y7CisgICAgfQorICBlbHNlCisgICAgeworICAgICAgc2VsZi0+Y3VycmVudCA9IChzaXplID09IDApID8gRU9GIDogaW5wdXQ7CisgICAgfQorICBpZiAoc2VsZi0+Y3VycmVudCAhPSBFT0YpCisgICAgeworICAgICAgc2VsZi0+Y29tbWl0dGVkKys7CisgICAgICBzZWxmLT5wcm9jZXNzZWQrKzsKKyAgICB9CisKKyAgaWYgKFZBTElEKGludFBvaW50ZXIpKQorICAgIHsKKyAgICAgICppbnRQb2ludGVyID0gc2VsZi0+Y3VycmVudDsKKyAgICB9Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBUcmlvSW5TdHJlYW1DdXN0b20KKyAqLworVFJJT19QUklWQVRFIHZvaWQKK1RyaW9JblN0cmVhbUN1c3RvbQorVFJJT19BUkdTMigoc2VsZiwgaW50UG9pbnRlciksCisJICAgdHJpb19jbGFzc190ICpzZWxmLAorCSAgIGludCAqaW50UG9pbnRlcikKK3sKKyAgdHJpb19jdXN0b21fdCAqZGF0YTsKKworICBhc3NlcnQoVkFMSUQoc2VsZikpOworICBhc3NlcnQoVkFMSUQoc2VsZi0+bG9jYXRpb24pKTsKKworICBkYXRhID0gKHRyaW9fY3VzdG9tX3QgKilzZWxmLT5sb2NhdGlvbjsKKworICBzZWxmLT5jdXJyZW50ID0gKGRhdGEtPnN0cmVhbS5pbiA9PSBOVUxMKQorICAgID8gTklMCisgICAgOiAoZGF0YS0+c3RyZWFtLmluKShkYXRhLT5jbG9zdXJlKTsKKworICBpZiAoc2VsZi0+Y3VycmVudCA9PSBOSUwpCisgICAgeworICAgICAgc2VsZi0+Y3VycmVudCA9IEVPRjsKKyAgICB9CisgIGVsc2UKKyAgICB7CisgICAgICBzZWxmLT5wcm9jZXNzZWQrKzsKKyAgICAgIHNlbGYtPmNvbW1pdHRlZCsrOworICAgIH0KKworICBpZiAoVkFMSUQoaW50UG9pbnRlcikpCisgICAgeworICAgICAgKmludFBvaW50ZXIgPSBzZWxmLT5jdXJyZW50OworICAgIH0KK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFRyaW9JblN0cmVhbVN0cmluZworICovCitUUklPX1BSSVZBVEUgdm9pZAorVHJpb0luU3RyZWFtU3RyaW5nCitUUklPX0FSR1MyKChzZWxmLCBpbnRQb2ludGVyKSwKKwkgICB0cmlvX2NsYXNzX3QgKnNlbGYsCisJICAgaW50ICppbnRQb2ludGVyKQoreworICB1bnNpZ25lZCBjaGFyICoqYnVmZmVyOworCisgIGFzc2VydChWQUxJRChzZWxmKSk7CisgIGFzc2VydChWQUxJRChzZWxmLT5sb2NhdGlvbikpOworCisgIGJ1ZmZlciA9ICh1bnNpZ25lZCBjaGFyICoqKXNlbGYtPmxvY2F0aW9uOworICBzZWxmLT5jdXJyZW50ID0gKCpidWZmZXIpWzBdOworICBpZiAoc2VsZi0+Y3VycmVudCA9PSBOSUwpCisgICAgeworICAgICAgc2VsZi0+Y3VycmVudCA9IEVPRjsKKyAgICB9CisgIGVsc2UKKyAgICB7CisgICAgICAoKmJ1ZmZlcikrKzsKKyAgICAgIHNlbGYtPnByb2Nlc3NlZCsrOworICAgICAgc2VsZi0+Y29tbWl0dGVkKys7CisgICAgfQorCisgIGlmIChWQUxJRChpbnRQb2ludGVyKSkKKyAgICB7CisgICAgICAqaW50UG9pbnRlciA9IHNlbGYtPmN1cnJlbnQ7CisgICAgfQorfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIEZvcm1hdHRlZCBzY2FubmluZyBmdW5jdGlvbnMKKyAqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWYgZGVmaW5lZChUUklPX0RPQ1VNRU5UQVRJT04pCisjIGluY2x1ZGUgImRvYy9kb2Nfc2NhbmYuaCIKKyNlbmRpZgorLyoqIEBhZGR0b2dyb3VwIFNjYW5mCisgICAgQHsKKyovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBzY2FuZgorICovCisKKy8qKgorICAgU2NhbiBjaGFyYWN0ZXJzIGZyb20gc3RhbmRhcmQgaW5wdXQgc3RyZWFtLgorCisgICBAcGFyYW0gZm9ybWF0IEZvcm1hdHRpbmcgc3RyaW5nLgorICAgQHBhcmFtIC4uLiBBcmd1bWVudHMuCisgICBAcmV0dXJuIE51bWJlciBvZiBzY2FubmVkIGNoYXJhY3RlcnMuCisgKi8KK1RSSU9fUFVCTElDIGludAordHJpb19zY2FuZgorVFJJT19WQVJHUzIoKGZvcm1hdCwgdmFfYWxpc3QpLAorCSAgICBUUklPX0NPTlNUIGNoYXIgKmZvcm1hdCwKKwkgICAgVFJJT19WQV9ERUNMKQoreworICBpbnQgc3RhdHVzOworICB2YV9saXN0IGFyZ3M7CisKKyAgYXNzZXJ0KFZBTElEKGZvcm1hdCkpOworCisgIFRSSU9fVkFfU1RBUlQoYXJncywgZm9ybWF0KTsKKyAgc3RhdHVzID0gVHJpb1NjYW4oKHRyaW9fcG9pbnRlcl90KXN0ZGluLCAwLAorCQkgICAgVHJpb0luU3RyZWFtRmlsZSwKKwkJICAgIGZvcm1hdCwgVFJJT19WQV9MSVNUX0FERFIoYXJncyksIE5VTEwpOworICBUUklPX1ZBX0VORChhcmdzKTsKKyAgcmV0dXJuIHN0YXR1czsKK30KKworVFJJT19QVUJMSUMgaW50Cit0cmlvX3ZzY2FuZgorVFJJT19BUkdTMigoZm9ybWF0LCBhcmdzKSwKKwkgICBUUklPX0NPTlNUIGNoYXIgKmZvcm1hdCwKKwkgICB2YV9saXN0IGFyZ3MpCit7CisgIGFzc2VydChWQUxJRChmb3JtYXQpKTsKKworICByZXR1cm4gVHJpb1NjYW4oKHRyaW9fcG9pbnRlcl90KXN0ZGluLCAwLAorCQkgIFRyaW9JblN0cmVhbUZpbGUsCisJCSAgZm9ybWF0LCBUUklPX1ZBX0xJU1RfQUREUihhcmdzKSwgTlVMTCk7Cit9CisKK1RSSU9fUFVCTElDIGludAordHJpb19zY2FuZnYKK1RSSU9fQVJHUzIoKGZvcm1hdCwgYXJncyksCisJICAgVFJJT19DT05TVCBjaGFyICpmb3JtYXQsCisJICAgdHJpb19wb2ludGVyX3QgKmFyZ3MpCit7CisgIGFzc2VydChWQUxJRChmb3JtYXQpKTsKKworICByZXR1cm4gVHJpb1NjYW4oKHRyaW9fcG9pbnRlcl90KXN0ZGluLCAwLAorCQkgIFRyaW9JblN0cmVhbUZpbGUsCisJCSAgZm9ybWF0LCBOVUxMLCBhcmdzKTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIGZzY2FuZgorICovCitUUklPX1BVQkxJQyBpbnQKK3RyaW9fZnNjYW5mCitUUklPX1ZBUkdTMygoZmlsZSwgZm9ybWF0LCB2YV9hbGlzdCksCisJICAgIEZJTEUgKmZpbGUsCisJICAgIFRSSU9fQ09OU1QgY2hhciAqZm9ybWF0LAorCSAgICBUUklPX1ZBX0RFQ0wpCit7CisgIGludCBzdGF0dXM7CisgIHZhX2xpc3QgYXJnczsKKworICBhc3NlcnQoVkFMSUQoZmlsZSkpOworICBhc3NlcnQoVkFMSUQoZm9ybWF0KSk7CisKKyAgVFJJT19WQV9TVEFSVChhcmdzLCBmb3JtYXQpOworICBzdGF0dXMgPSBUcmlvU2NhbigodHJpb19wb2ludGVyX3QpZmlsZSwgMCwKKwkJICAgIFRyaW9JblN0cmVhbUZpbGUsCisJCSAgICBmb3JtYXQsIFRSSU9fVkFfTElTVF9BRERSKGFyZ3MpLCBOVUxMKTsKKyAgVFJJT19WQV9FTkQoYXJncyk7CisgIHJldHVybiBzdGF0dXM7Cit9CisKK1RSSU9fUFVCTElDIGludAordHJpb192ZnNjYW5mCitUUklPX0FSR1MzKChmaWxlLCBmb3JtYXQsIGFyZ3MpLAorCSAgIEZJTEUgKmZpbGUsCisJICAgVFJJT19DT05TVCBjaGFyICpmb3JtYXQsCisJICAgdmFfbGlzdCBhcmdzKQoreworICBhc3NlcnQoVkFMSUQoZmlsZSkpOworICBhc3NlcnQoVkFMSUQoZm9ybWF0KSk7CisKKyAgcmV0dXJuIFRyaW9TY2FuKCh0cmlvX3BvaW50ZXJfdClmaWxlLCAwLAorCQkgIFRyaW9JblN0cmVhbUZpbGUsCisJCSAgZm9ybWF0LCBUUklPX1ZBX0xJU1RfQUREUihhcmdzKSwgTlVMTCk7Cit9CisKK1RSSU9fUFVCTElDIGludAordHJpb19mc2NhbmZ2CitUUklPX0FSR1MzKChmaWxlLCBmb3JtYXQsIGFyZ3MpLAorCSAgIEZJTEUgKmZpbGUsCisJICAgVFJJT19DT05TVCBjaGFyICpmb3JtYXQsCisJICAgdHJpb19wb2ludGVyX3QgKmFyZ3MpCit7CisgIGFzc2VydChWQUxJRChmaWxlKSk7CisgIGFzc2VydChWQUxJRChmb3JtYXQpKTsKKworICByZXR1cm4gVHJpb1NjYW4oKHRyaW9fcG9pbnRlcl90KWZpbGUsIDAsCisJCSAgVHJpb0luU3RyZWFtRmlsZSwKKwkJICBmb3JtYXQsIE5VTEwsIGFyZ3MpOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogZHNjYW5mCisgKi8KK1RSSU9fUFVCTElDIGludAordHJpb19kc2NhbmYKK1RSSU9fVkFSR1MzKChmZCwgZm9ybWF0LCB2YV9hbGlzdCksCisJICAgIGludCBmZCwKKwkgICAgVFJJT19DT05TVCBjaGFyICpmb3JtYXQsCisJICAgIFRSSU9fVkFfREVDTCkKK3sKKyAgaW50IHN0YXR1czsKKyAgdmFfbGlzdCBhcmdzOworCisgIGFzc2VydChWQUxJRChmb3JtYXQpKTsKKworICBUUklPX1ZBX1NUQVJUKGFyZ3MsIGZvcm1hdCk7CisgIHN0YXR1cyA9IFRyaW9TY2FuKCh0cmlvX3BvaW50ZXJfdCkmZmQsIDAsCisJCSAgICBUcmlvSW5TdHJlYW1GaWxlRGVzY3JpcHRvciwKKwkJICAgIGZvcm1hdCwgVFJJT19WQV9MSVNUX0FERFIoYXJncyksIE5VTEwpOworICBUUklPX1ZBX0VORChhcmdzKTsKKyAgcmV0dXJuIHN0YXR1czsKK30KKworVFJJT19QVUJMSUMgaW50Cit0cmlvX3Zkc2NhbmYKK1RSSU9fQVJHUzMoKGZkLCBmb3JtYXQsIGFyZ3MpLAorCSAgIGludCBmZCwKKwkgICBUUklPX0NPTlNUIGNoYXIgKmZvcm1hdCwKKwkgICB2YV9saXN0IGFyZ3MpCit7CisgIGFzc2VydChWQUxJRChmb3JtYXQpKTsKKworICByZXR1cm4gVHJpb1NjYW4oKHRyaW9fcG9pbnRlcl90KSZmZCwgMCwKKwkJICBUcmlvSW5TdHJlYW1GaWxlRGVzY3JpcHRvciwKKwkJICBmb3JtYXQsIFRSSU9fVkFfTElTVF9BRERSKGFyZ3MpLCBOVUxMKTsKK30KKworVFJJT19QVUJMSUMgaW50Cit0cmlvX2RzY2FuZnYKK1RSSU9fQVJHUzMoKGZkLCBmb3JtYXQsIGFyZ3MpLAorCSAgIGludCBmZCwKKwkgICBUUklPX0NPTlNUIGNoYXIgKmZvcm1hdCwKKwkgICB0cmlvX3BvaW50ZXJfdCAqYXJncykKK3sKKyAgYXNzZXJ0KFZBTElEKGZvcm1hdCkpOworCisgIHJldHVybiBUcmlvU2NhbigodHJpb19wb2ludGVyX3QpJmZkLCAwLAorCQkgIFRyaW9JblN0cmVhbUZpbGVEZXNjcmlwdG9yLAorCQkgIGZvcm1hdCwgTlVMTCwgYXJncyk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBjc2NhbmYKKyAqLworVFJJT19QVUJMSUMgaW50Cit0cmlvX2NzY2FuZgorVFJJT19WQVJHUzQoKHN0cmVhbSwgY2xvc3VyZSwgZm9ybWF0LCB2YV9hbGlzdCksCisJICAgIHRyaW9faW5zdHJlYW1fdCBzdHJlYW0sCisJICAgIHRyaW9fcG9pbnRlcl90IGNsb3N1cmUsCisJICAgIFRSSU9fQ09OU1QgY2hhciAqZm9ybWF0LAorCSAgICBUUklPX1ZBX0RFQ0wpCit7CisgIGludCBzdGF0dXM7CisgIHZhX2xpc3QgYXJnczsKKyAgdHJpb19jdXN0b21fdCBkYXRhOworCisgIGFzc2VydChWQUxJRChzdHJlYW0pKTsKKyAgYXNzZXJ0KFZBTElEKGZvcm1hdCkpOworCisgIFRSSU9fVkFfU1RBUlQoYXJncywgZm9ybWF0KTsKKyAgZGF0YS5zdHJlYW0uaW4gPSBzdHJlYW07CisgIGRhdGEuY2xvc3VyZSA9IGNsb3N1cmU7CisgIHN0YXR1cyA9IFRyaW9TY2FuKCZkYXRhLCAwLCBUcmlvSW5TdHJlYW1DdXN0b20sIGZvcm1hdCwgVFJJT19WQV9MSVNUX0FERFIoYXJncyksIE5VTEwpOworICBUUklPX1ZBX0VORChhcmdzKTsKKyAgcmV0dXJuIHN0YXR1czsKK30KKworVFJJT19QVUJMSUMgaW50Cit0cmlvX3Zjc2NhbmYKK1RSSU9fQVJHUzQoKHN0cmVhbSwgY2xvc3VyZSwgZm9ybWF0LCBhcmdzKSwKKwkgICB0cmlvX2luc3RyZWFtX3Qgc3RyZWFtLAorCSAgIHRyaW9fcG9pbnRlcl90IGNsb3N1cmUsCisJICAgVFJJT19DT05TVCBjaGFyICpmb3JtYXQsCisJICAgdmFfbGlzdCBhcmdzKQoreworICB0cmlvX2N1c3RvbV90IGRhdGE7CisKKyAgYXNzZXJ0KFZBTElEKHN0cmVhbSkpOworICBhc3NlcnQoVkFMSUQoZm9ybWF0KSk7CisKKyAgZGF0YS5zdHJlYW0uaW4gPSBzdHJlYW07CisgIGRhdGEuY2xvc3VyZSA9IGNsb3N1cmU7CisgIHJldHVybiBUcmlvU2NhbigmZGF0YSwgMCwgVHJpb0luU3RyZWFtQ3VzdG9tLCBmb3JtYXQsIFRSSU9fVkFfTElTVF9BRERSKGFyZ3MpLCBOVUxMKTsKK30KKworVFJJT19QVUJMSUMgaW50Cit0cmlvX2NzY2FuZnYKK1RSSU9fQVJHUzQoKHN0cmVhbSwgY2xvc3VyZSwgZm9ybWF0LCBhcmdzKSwKKwkgICB0cmlvX2luc3RyZWFtX3Qgc3RyZWFtLAorCSAgIHRyaW9fcG9pbnRlcl90IGNsb3N1cmUsCisJICAgVFJJT19DT05TVCBjaGFyICpmb3JtYXQsCisJICAgdHJpb19wb2ludGVyX3QgKmFyZ3MpCit7CisgIHRyaW9fY3VzdG9tX3QgZGF0YTsKKworICBhc3NlcnQoVkFMSUQoc3RyZWFtKSk7CisgIGFzc2VydChWQUxJRChmb3JtYXQpKTsKKworICBkYXRhLnN0cmVhbS5pbiA9IHN0cmVhbTsKKyAgZGF0YS5jbG9zdXJlID0gY2xvc3VyZTsKKyAgcmV0dXJuIFRyaW9TY2FuKCZkYXRhLCAwLCBUcmlvSW5TdHJlYW1DdXN0b20sIGZvcm1hdCwgTlVMTCwgYXJncyk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBzc2NhbmYKKyAqLworVFJJT19QVUJMSUMgaW50Cit0cmlvX3NzY2FuZgorVFJJT19WQVJHUzMoKGJ1ZmZlciwgZm9ybWF0LCB2YV9hbGlzdCksCisJICAgIFRSSU9fQ09OU1QgY2hhciAqYnVmZmVyLAorCSAgICBUUklPX0NPTlNUIGNoYXIgKmZvcm1hdCwKKwkgICAgVFJJT19WQV9ERUNMKQoreworICBpbnQgc3RhdHVzOworICB2YV9saXN0IGFyZ3M7CisKKyAgYXNzZXJ0KFZBTElEKGJ1ZmZlcikpOworICBhc3NlcnQoVkFMSUQoZm9ybWF0KSk7CisKKyAgVFJJT19WQV9TVEFSVChhcmdzLCBmb3JtYXQpOworICBzdGF0dXMgPSBUcmlvU2NhbigodHJpb19wb2ludGVyX3QpJmJ1ZmZlciwgMCwKKwkJICAgIFRyaW9JblN0cmVhbVN0cmluZywKKwkJICAgIGZvcm1hdCwgVFJJT19WQV9MSVNUX0FERFIoYXJncyksIE5VTEwpOworICBUUklPX1ZBX0VORChhcmdzKTsKKyAgcmV0dXJuIHN0YXR1czsKK30KKworVFJJT19QVUJMSUMgaW50Cit0cmlvX3Zzc2NhbmYKK1RSSU9fQVJHUzMoKGJ1ZmZlciwgZm9ybWF0LCBhcmdzKSwKKwkgICBUUklPX0NPTlNUIGNoYXIgKmJ1ZmZlciwKKwkgICBUUklPX0NPTlNUIGNoYXIgKmZvcm1hdCwKKwkgICB2YV9saXN0IGFyZ3MpCit7CisgIGFzc2VydChWQUxJRChidWZmZXIpKTsKKyAgYXNzZXJ0KFZBTElEKGZvcm1hdCkpOworCisgIHJldHVybiBUcmlvU2NhbigodHJpb19wb2ludGVyX3QpJmJ1ZmZlciwgMCwKKwkJICBUcmlvSW5TdHJlYW1TdHJpbmcsCisJCSAgZm9ybWF0LCBUUklPX1ZBX0xJU1RfQUREUihhcmdzKSwgTlVMTCk7Cit9CisKK1RSSU9fUFVCTElDIGludAordHJpb19zc2NhbmZ2CitUUklPX0FSR1MzKChidWZmZXIsIGZvcm1hdCwgYXJncyksCisJICAgVFJJT19DT05TVCBjaGFyICpidWZmZXIsCisJICAgVFJJT19DT05TVCBjaGFyICpmb3JtYXQsCisJICAgdHJpb19wb2ludGVyX3QgKmFyZ3MpCit7CisgIGFzc2VydChWQUxJRChidWZmZXIpKTsKKyAgYXNzZXJ0KFZBTElEKGZvcm1hdCkpOworCisgIHJldHVybiBUcmlvU2NhbigodHJpb19wb2ludGVyX3QpJmJ1ZmZlciwgMCwKKwkJICBUcmlvSW5TdHJlYW1TdHJpbmcsCisJCSAgZm9ybWF0LCBOVUxMLCBhcmdzKTsKK30KKworLyoqIEB9IEVuZCBvZiBTY2FuZiBkb2N1bWVudGF0aW9uIG1vZHVsZSAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogdHJpb19zdHJlcnJvcgorICovCitUUklPX1BVQkxJQyBUUklPX0NPTlNUIGNoYXIgKgordHJpb19zdHJlcnJvcgorVFJJT19BUkdTMSgoZXJyb3Jjb2RlKSwKKwkgICBpbnQgZXJyb3Jjb2RlKQoreworICAvKiBUZXh0dWFsIHZlcnNpb25zIG9mIHRoZSBlcnJvciBjb2RlcyAqLworICBzd2l0Y2ggKFRSSU9fRVJST1JfQ09ERShlcnJvcmNvZGUpKQorICAgIHsKKyAgICBjYXNlIFRSSU9fRU9GOgorICAgICAgcmV0dXJuICJFbmQgb2YgZmlsZSI7CisgICAgY2FzZSBUUklPX0VJTlZBTDoKKyAgICAgIHJldHVybiAiSW52YWxpZCBhcmd1bWVudCI7CisgICAgY2FzZSBUUklPX0VUT09NQU5ZOgorICAgICAgcmV0dXJuICJUb28gbWFueSBhcmd1bWVudHMiOworICAgIGNhc2UgVFJJT19FREJMUkVGOgorICAgICAgcmV0dXJuICJEb3VibGUgcmVmZXJlbmNlIjsKKyAgICBjYXNlIFRSSU9fRUdBUDoKKyAgICAgIHJldHVybiAiUmVmZXJlbmNlIGdhcCI7CisgICAgY2FzZSBUUklPX0VOT01FTToKKyAgICAgIHJldHVybiAiT3V0IG9mIG1lbW9yeSI7CisgICAgY2FzZSBUUklPX0VSQU5HRToKKyAgICAgIHJldHVybiAiSW52YWxpZCByYW5nZSI7CisgICAgY2FzZSBUUklPX0VDVVNUT006CisgICAgICByZXR1cm4gIkN1c3RvbSBlcnJvciI7CisgICAgZGVmYXVsdDoKKyAgICAgIHJldHVybiAiVW5rbm93biI7CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvbGlieG1sMi90cmlvLmggYi9saWJ4bWwyL3RyaW8uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45OWQyMTI3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90cmlvLmgKQEAgLTAsMCArMSwyMzAgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogJElkJAorICoKKyAqIENvcHlyaWdodCAoQykgMTk5OCBCam9ybiBSZWVzZSBhbmQgRGFuaWVsIFN0ZW5iZXJnLgorICoKKyAqIFBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZCBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgZm9yIGFueQorICogcHVycG9zZSB3aXRoIG9yIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLCBwcm92aWRlZCB0aGF0IHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBhcHBlYXIgaW4gYWxsIGNvcGllcy4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIGBgQVMgSVMnJyBBTkQgV0lUSE9VVCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVECisgKiBXQVJSQU5USUVTLCBJTkNMVURJTkcsIFdJVEhPVVQgTElNSVRBVElPTiwgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorICogTUVSQ0hBTlRJQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gVEhFIEFVVEhPUlMgQU5ECisgKiBDT05UUklCVVRPUlMgQUNDRVBUIE5PIFJFU1BPTlNJQklMSVRZIElOIEFOWSBDT05DRUlWQUJMRSBNQU5ORVIuCisgKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBodHRwOi8vY3RyaW8uc291cmNlZm9yZ2UubmV0LworICoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZm5kZWYgVFJJT19UUklPX0gKKyNkZWZpbmUgVFJJT19UUklPX0gKKworI2lmICFkZWZpbmVkKFdJVEhPVVRfVFJJTykKKworLyoKKyAqIFVzZSBhdXRvY29uZiBkZWZpbmVzIGlmIHByZXNlbnQuIFBhY2thZ2VzIHVzaW5nIHRyaW8gbXVzdCBkZWZpbmUKKyAqIEhBVkVfQ09ORklHX0ggYXMgYSBjb21waWxlciBvcHRpb24gdGhlbXNlbHZlcy4KKyAqLworI2lmIGRlZmluZWQoVFJJT19IQVZFX0NPTkZJR19IKQorIyBpbmNsdWRlICJjb25maWcuaCIKKyNlbmRpZgorCisjaW5jbHVkZSAidHJpb2RlZi5oIgorCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpZiBkZWZpbmVkKFRSSU9fQ09NUElMRVJfQU5DSUVOVCkKKyMgaW5jbHVkZSA8dmFyYXJncy5oPgorI2Vsc2UKKyMgaW5jbHVkZSA8c3RkYXJnLmg+CisjZW5kaWYKKworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCisvKgorICogRXJyb3IgY29kZXMuCisgKgorICogUmVtZW1iZXIgdG8gYWRkIGEgdGV4dHVhbCBkZXNjcmlwdGlvbiB0byB0cmlvX3N0cmVycm9yLgorICovCitlbnVtIHsKKyAgVFJJT19FT0YgICAgICA9IDEsCisgIFRSSU9fRUlOVkFMICAgPSAyLAorICBUUklPX0VUT09NQU5ZID0gMywKKyAgVFJJT19FREJMUkVGICA9IDQsCisgIFRSSU9fRUdBUCAgICAgPSA1LAorICBUUklPX0VOT01FTSAgID0gNiwKKyAgVFJJT19FUkFOR0UgICA9IDcsCisgIFRSSU9fRVJSTk8gICAgPSA4LAorICBUUklPX0VDVVNUT00gID0gOQorfTsKKworLyogRXJyb3IgbWFjcm9zICovCisjZGVmaW5lIFRSSU9fRVJST1JfQ09ERSh4KSAoKC0oeCkpICYgMHgwMEZGKQorI2RlZmluZSBUUklPX0VSUk9SX1BPU0lUSU9OKHgpICgoLSh4KSkgPj4gOCkKKyNkZWZpbmUgVFJJT19FUlJPUl9OQU1FKHgpIHRyaW9fc3RyZXJyb3IoeCkKKwordHlwZWRlZiBpbnQgKCp0cmlvX291dHN0cmVhbV90KSBUUklPX1BST1RPKCh0cmlvX3BvaW50ZXJfdCwgaW50KSk7Cit0eXBlZGVmIGludCAoKnRyaW9faW5zdHJlYW1fdCkgVFJJT19QUk9UTygodHJpb19wb2ludGVyX3QpKTsKKworVFJJT19DT05TVCBjaGFyICp0cmlvX3N0cmVycm9yIFRSSU9fUFJPVE8oKGludCkpOworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogUHJpbnQgRnVuY3Rpb25zCisgKi8KKworaW50IHRyaW9fcHJpbnRmIFRSSU9fUFJPVE8oKFRSSU9fQ09OU1QgY2hhciAqZm9ybWF0LCAuLi4pKTsKK2ludCB0cmlvX3ZwcmludGYgVFJJT19QUk9UTygoVFJJT19DT05TVCBjaGFyICpmb3JtYXQsIHZhX2xpc3QgYXJncykpOworaW50IHRyaW9fcHJpbnRmdiBUUklPX1BST1RPKChUUklPX0NPTlNUIGNoYXIgKmZvcm1hdCwgdm9pZCAqKmFyZ3MpKTsKKworaW50IHRyaW9fZnByaW50ZiBUUklPX1BST1RPKChGSUxFICpmaWxlLCBUUklPX0NPTlNUIGNoYXIgKmZvcm1hdCwgLi4uKSk7CitpbnQgdHJpb192ZnByaW50ZiBUUklPX1BST1RPKChGSUxFICpmaWxlLCBUUklPX0NPTlNUIGNoYXIgKmZvcm1hdCwgdmFfbGlzdCBhcmdzKSk7CitpbnQgdHJpb19mcHJpbnRmdiBUUklPX1BST1RPKChGSUxFICpmaWxlLCBUUklPX0NPTlNUIGNoYXIgKmZvcm1hdCwgdm9pZCAqKmFyZ3MpKTsKKworaW50IHRyaW9fZHByaW50ZiBUUklPX1BST1RPKChpbnQgZmQsIFRSSU9fQ09OU1QgY2hhciAqZm9ybWF0LCAuLi4pKTsKK2ludCB0cmlvX3ZkcHJpbnRmIFRSSU9fUFJPVE8oKGludCBmZCwgVFJJT19DT05TVCBjaGFyICpmb3JtYXQsIHZhX2xpc3QgYXJncykpOworaW50IHRyaW9fZHByaW50ZnYgVFJJT19QUk9UTygoaW50IGZkLCBUUklPX0NPTlNUIGNoYXIgKmZvcm1hdCwgdm9pZCAqKmFyZ3MpKTsKKworaW50IHRyaW9fY3ByaW50ZiBUUklPX1BST1RPKCh0cmlvX291dHN0cmVhbV90IHN0cmVhbSwgdHJpb19wb2ludGVyX3QgY2xvc3VyZSwKKwkJCSAgICAgVFJJT19DT05TVCBjaGFyICpmb3JtYXQsIC4uLikpOworaW50IHRyaW9fdmNwcmludGYgVFJJT19QUk9UTygodHJpb19vdXRzdHJlYW1fdCBzdHJlYW0sIHRyaW9fcG9pbnRlcl90IGNsb3N1cmUsCisJCQkgICAgICBUUklPX0NPTlNUIGNoYXIgKmZvcm1hdCwgdmFfbGlzdCBhcmdzKSk7CitpbnQgdHJpb19jcHJpbnRmdiBUUklPX1BST1RPKCh0cmlvX291dHN0cmVhbV90IHN0cmVhbSwgdHJpb19wb2ludGVyX3QgY2xvc3VyZSwKKwkJCSAgICAgIFRSSU9fQ09OU1QgY2hhciAqZm9ybWF0LCB2b2lkICoqYXJncykpOworCitpbnQgdHJpb19zcHJpbnRmIFRSSU9fUFJPVE8oKGNoYXIgKmJ1ZmZlciwgVFJJT19DT05TVCBjaGFyICpmb3JtYXQsIC4uLikpOworaW50IHRyaW9fdnNwcmludGYgVFJJT19QUk9UTygoY2hhciAqYnVmZmVyLCBUUklPX0NPTlNUIGNoYXIgKmZvcm1hdCwgdmFfbGlzdCBhcmdzKSk7CitpbnQgdHJpb19zcHJpbnRmdiBUUklPX1BST1RPKChjaGFyICpidWZmZXIsIFRSSU9fQ09OU1QgY2hhciAqZm9ybWF0LCB2b2lkICoqYXJncykpOworCitpbnQgdHJpb19zbnByaW50ZiBUUklPX1BST1RPKChjaGFyICpidWZmZXIsIHNpemVfdCBtYXgsIFRSSU9fQ09OU1QgY2hhciAqZm9ybWF0LCAuLi4pKTsKK2ludCB0cmlvX3ZzbnByaW50ZiBUUklPX1BST1RPKChjaGFyICpidWZmZXIsIHNpemVfdCBidWZmZXJTaXplLCBUUklPX0NPTlNUIGNoYXIgKmZvcm1hdCwKKwkJICAgdmFfbGlzdCBhcmdzKSk7CitpbnQgdHJpb19zbnByaW50ZnYgVFJJT19QUk9UTygoY2hhciAqYnVmZmVyLCBzaXplX3QgYnVmZmVyU2l6ZSwgVFJJT19DT05TVCBjaGFyICpmb3JtYXQsCisJCSAgIHZvaWQgKiphcmdzKSk7CisKK2ludCB0cmlvX3NucHJpbnRmY2F0IFRSSU9fUFJPVE8oKGNoYXIgKmJ1ZmZlciwgc2l6ZV90IG1heCwgVFJJT19DT05TVCBjaGFyICpmb3JtYXQsIC4uLikpOworaW50IHRyaW9fdnNucHJpbnRmY2F0IFRSSU9fUFJPVE8oKGNoYXIgKmJ1ZmZlciwgc2l6ZV90IGJ1ZmZlclNpemUsIFRSSU9fQ09OU1QgY2hhciAqZm9ybWF0LAorICAgICAgICAgICAgICAgICAgICAgIHZhX2xpc3QgYXJncykpOworCitjaGFyICp0cmlvX2FwcmludGYgVFJJT19QUk9UTygoVFJJT19DT05TVCBjaGFyICpmb3JtYXQsIC4uLikpOworY2hhciAqdHJpb192YXByaW50ZiBUUklPX1BST1RPKChUUklPX0NPTlNUIGNoYXIgKmZvcm1hdCwgdmFfbGlzdCBhcmdzKSk7CisKK2ludCB0cmlvX2FzcHJpbnRmIFRSSU9fUFJPVE8oKGNoYXIgKipyZXQsIFRSSU9fQ09OU1QgY2hhciAqZm9ybWF0LCAuLi4pKTsKK2ludCB0cmlvX3Zhc3ByaW50ZiBUUklPX1BST1RPKChjaGFyICoqcmV0LCBUUklPX0NPTlNUIGNoYXIgKmZvcm1hdCwgdmFfbGlzdCBhcmdzKSk7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBTY2FuIEZ1bmN0aW9ucworICovCitpbnQgdHJpb19zY2FuZiBUUklPX1BST1RPKChUUklPX0NPTlNUIGNoYXIgKmZvcm1hdCwgLi4uKSk7CitpbnQgdHJpb192c2NhbmYgVFJJT19QUk9UTygoVFJJT19DT05TVCBjaGFyICpmb3JtYXQsIHZhX2xpc3QgYXJncykpOworaW50IHRyaW9fc2NhbmZ2IFRSSU9fUFJPVE8oKFRSSU9fQ09OU1QgY2hhciAqZm9ybWF0LCB2b2lkICoqYXJncykpOworCitpbnQgdHJpb19mc2NhbmYgVFJJT19QUk9UTygoRklMRSAqZmlsZSwgVFJJT19DT05TVCBjaGFyICpmb3JtYXQsIC4uLikpOworaW50IHRyaW9fdmZzY2FuZiBUUklPX1BST1RPKChGSUxFICpmaWxlLCBUUklPX0NPTlNUIGNoYXIgKmZvcm1hdCwgdmFfbGlzdCBhcmdzKSk7CitpbnQgdHJpb19mc2NhbmZ2IFRSSU9fUFJPVE8oKEZJTEUgKmZpbGUsIFRSSU9fQ09OU1QgY2hhciAqZm9ybWF0LCB2b2lkICoqYXJncykpOworCitpbnQgdHJpb19kc2NhbmYgVFJJT19QUk9UTygoaW50IGZkLCBUUklPX0NPTlNUIGNoYXIgKmZvcm1hdCwgLi4uKSk7CitpbnQgdHJpb192ZHNjYW5mIFRSSU9fUFJPVE8oKGludCBmZCwgVFJJT19DT05TVCBjaGFyICpmb3JtYXQsIHZhX2xpc3QgYXJncykpOworaW50IHRyaW9fZHNjYW5mdiBUUklPX1BST1RPKChpbnQgZmQsIFRSSU9fQ09OU1QgY2hhciAqZm9ybWF0LCB2b2lkICoqYXJncykpOworCitpbnQgdHJpb19jc2NhbmYgVFJJT19QUk9UTygodHJpb19pbnN0cmVhbV90IHN0cmVhbSwgdHJpb19wb2ludGVyX3QgY2xvc3VyZSwKKwkJCSAgICBUUklPX0NPTlNUIGNoYXIgKmZvcm1hdCwgLi4uKSk7CitpbnQgdHJpb192Y3NjYW5mIFRSSU9fUFJPVE8oKHRyaW9faW5zdHJlYW1fdCBzdHJlYW0sIHRyaW9fcG9pbnRlcl90IGNsb3N1cmUsCisJCQkgICAgIFRSSU9fQ09OU1QgY2hhciAqZm9ybWF0LCB2YV9saXN0IGFyZ3MpKTsKK2ludCB0cmlvX2NzY2FuZnYgVFJJT19QUk9UTygodHJpb19pbnN0cmVhbV90IHN0cmVhbSwgdHJpb19wb2ludGVyX3QgY2xvc3VyZSwKKwkJCSAgICAgVFJJT19DT05TVCBjaGFyICpmb3JtYXQsIHZvaWQgKiphcmdzKSk7CisKK2ludCB0cmlvX3NzY2FuZiBUUklPX1BST1RPKChUUklPX0NPTlNUIGNoYXIgKmJ1ZmZlciwgVFJJT19DT05TVCBjaGFyICpmb3JtYXQsIC4uLikpOworaW50IHRyaW9fdnNzY2FuZiBUUklPX1BST1RPKChUUklPX0NPTlNUIGNoYXIgKmJ1ZmZlciwgVFJJT19DT05TVCBjaGFyICpmb3JtYXQsIHZhX2xpc3QgYXJncykpOworaW50IHRyaW9fc3NjYW5mdiBUUklPX1BST1RPKChUUklPX0NPTlNUIGNoYXIgKmJ1ZmZlciwgVFJJT19DT05TVCBjaGFyICpmb3JtYXQsIHZvaWQgKiphcmdzKSk7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBMb2NhbGUgRnVuY3Rpb25zCisgKi8KK3ZvaWQgdHJpb19sb2NhbGVfc2V0X2RlY2ltYWxfcG9pbnQgVFJJT19QUk9UTygoY2hhciAqZGVjaW1hbFBvaW50KSk7Cit2b2lkIHRyaW9fbG9jYWxlX3NldF90aG91c2FuZF9zZXBhcmF0b3IgVFJJT19QUk9UTygoY2hhciAqdGhvdXNhbmRTZXBhcmF0b3IpKTsKK3ZvaWQgdHJpb19sb2NhbGVfc2V0X2dyb3VwaW5nIFRSSU9fUFJPVE8oKGNoYXIgKmdyb3VwaW5nKSk7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBSZW5hbWluZworICovCisjaWZkZWYgVFJJT19SRVBMQUNFX1NURElPCisvKiBSZXBsYWNlIHRoZSA8c3RkaW8uaD4gZnVuY3Rpb25zICovCisjaWZuZGVmIEhBVkVfUFJJTlRGCisjIHVuZGVmIHByaW50ZgorIyBkZWZpbmUgcHJpbnRmIHRyaW9fcHJpbnRmCisjZW5kaWYKKyNpZm5kZWYgSEFWRV9WUFJJTlRGCisjIHVuZGVmIHZwcmludGYKKyMgZGVmaW5lIHZwcmludGYgdHJpb192cHJpbnRmCisjZW5kaWYKKyNpZm5kZWYgSEFWRV9GUFJJTlRGCisjIHVuZGVmIGZwcmludGYKKyMgZGVmaW5lIGZwcmludGYgdHJpb19mcHJpbnRmCisjZW5kaWYKKyNpZm5kZWYgSEFWRV9WRlBSSU5URgorIyB1bmRlZiB2ZnByaW50ZgorIyBkZWZpbmUgdmZwcmludGYgdHJpb192ZnByaW50ZgorI2VuZGlmCisjaWZuZGVmIEhBVkVfU1BSSU5URgorIyB1bmRlZiBzcHJpbnRmCisjIGRlZmluZSBzcHJpbnRmIHRyaW9fc3ByaW50ZgorI2VuZGlmCisjaWZuZGVmIEhBVkVfVlNQUklOVEYKKyMgdW5kZWYgdnNwcmludGYKKyMgZGVmaW5lIHZzcHJpbnRmIHRyaW9fdnNwcmludGYKKyNlbmRpZgorI2lmbmRlZiBIQVZFX1NOUFJJTlRGCisjIHVuZGVmIHNucHJpbnRmCisjIGRlZmluZSBzbnByaW50ZiB0cmlvX3NucHJpbnRmCisjZW5kaWYKKyNpZm5kZWYgSEFWRV9WU05QUklOVEYKKyMgdW5kZWYgdnNucHJpbnRmCisjIGRlZmluZSB2c25wcmludGYgdHJpb192c25wcmludGYKKyNlbmRpZgorI2lmbmRlZiBIQVZFX1NDQU5GCisjIHVuZGVmIHNjYW5mCisjIGRlZmluZSBzY2FuZiB0cmlvX3NjYW5mCisjZW5kaWYKKyNpZm5kZWYgSEFWRV9WU0NBTkYKKyMgdW5kZWYgdnNjYW5mCisjIGRlZmluZSB2c2NhbmYgdHJpb192c2NhbmYKKyNlbmRpZgorI2lmbmRlZiBIQVZFX0ZTQ0FORgorIyB1bmRlZiBmc2NhbmYKKyMgZGVmaW5lIGZzY2FuZiB0cmlvX2ZzY2FuZgorI2VuZGlmCisjaWZuZGVmIEhBVkVfVkZTQ0FORgorIyB1bmRlZiB2ZnNjYW5mCisjIGRlZmluZSB2ZnNjYW5mIHRyaW9fdmZzY2FuZgorI2VuZGlmCisjaWZuZGVmIEhBVkVfU1NDQU5GCisjIHVuZGVmIHNzY2FuZgorIyBkZWZpbmUgc3NjYW5mIHRyaW9fc3NjYW5mCisjZW5kaWYKKyNpZm5kZWYgSEFWRV9WU1NDQU5GCisjIHVuZGVmIHZzc2NhbmYKKyMgZGVmaW5lIHZzc2NhbmYgdHJpb192c3NjYW5mCisjZW5kaWYKKy8qIFRoZXNlIGFyZW4ndCBzdGRpbyBmdW5jdGlvbnMsIGJ1dCB3ZSBtYWtlIHRoZW0gbG9vayBzaW1pbGFyICovCisjZGVmaW5lIGRwcmludGYgdHJpb19kcHJpbnRmCisjZGVmaW5lIHZkcHJpbnRmIHRyaW9fdmRwcmludGYKKyNkZWZpbmUgYXByaW50ZiB0cmlvX2FwcmludGYKKyNkZWZpbmUgdmFwcmludGYgdHJpb192YXByaW50ZgorI2RlZmluZSBhc3ByaW50ZiB0cmlvX2FzcHJpbnRmCisjZGVmaW5lIHZhc3ByaW50ZiB0cmlvX3Zhc3ByaW50ZgorI2RlZmluZSBkc2NhbmYgdHJpb19kc2NhbmYKKyNkZWZpbmUgdmRzY2FuZiB0cmlvX3Zkc2NhbmYKKyNlbmRpZgorCisjaWZkZWYgX19jcGx1c3BsdXMKK30gLyogZXh0ZXJuICJDIiAqLworI2VuZGlmCisKKyNlbmRpZiAvKiBXSVRIT1VUX1RSSU8gKi8KKworI2VuZGlmIC8qIFRSSU9fVFJJT19IICovCmRpZmYgLS1naXQgYS9saWJ4bWwyL3RyaW9kZWYuaCBiL2xpYnhtbDIvdHJpb2RlZi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ2NzcyZWUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3RyaW9kZWYuaApAQCAtMCwwICsxLDIyOCBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiAkSWQkCisgKgorICogQ29weXJpZ2h0IChDKSAyMDAxIEJqb3JuIFJlZXNlIDxicmVlc2VAdXNlcnMuc291cmNlZm9yZ2UubmV0PgorICoKKyAqIFBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZCBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgZm9yIGFueQorICogcHVycG9zZSB3aXRoIG9yIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLCBwcm92aWRlZCB0aGF0IHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBhcHBlYXIgaW4gYWxsIGNvcGllcy4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIGBgQVMgSVMnJyBBTkQgV0lUSE9VVCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVECisgKiBXQVJSQU5USUVTLCBJTkNMVURJTkcsIFdJVEhPVVQgTElNSVRBVElPTiwgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorICogTUVSQ0hBTlRJQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gVEhFIEFVVEhPUlMgQU5ECisgKiBDT05UUklCVVRPUlMgQUNDRVBUIE5PIFJFU1BPTlNJQklMSVRZIElOIEFOWSBDT05DRUlWQUJMRSBNQU5ORVIuCisgKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmbmRlZiBUUklPX1RSSU9ERUZfSAorI2RlZmluZSBUUklPX1RSSU9ERUZfSAorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogUGxhdGZvcm0gYW5kIGNvbXBpbGVyIHN1cHBvcnQgZGV0ZWN0aW9uCisgKi8KKyNpZiBkZWZpbmVkKF9fR05VQ19fKQorIyBkZWZpbmUgVFJJT19DT01QSUxFUl9HQ0MKKyNlbGlmIGRlZmluZWQoX19TVU5QUk9fQykKKyMgZGVmaW5lIFRSSU9fQ09NUElMRVJfU1VOUFJPCisjZWxpZiBkZWZpbmVkKF9fU1VOUFJPX0NDKQorIyBkZWZpbmUgVFJJT19DT01QSUxFUl9TVU5QUk8KKyMgZGVmaW5lIF9fU1VOUFJPX0MgX19TVU5QUk9fQ0MKKyNlbGlmIGRlZmluZWQoX194bENfXykgfHwgZGVmaW5lZChfX0lCTUNfXykgfHwgZGVmaW5lZChfX0lCTUNQUF9fKQorIyBkZWZpbmUgVFJJT19DT01QSUxFUl9YTEMKKyNlbGlmIGRlZmluZWQoX0FJWCkgJiYgIWRlZmluZWQoX19HTlVDX18pCisjIGRlZmluZSBUUklPX0NPTVBJTEVSX1hMQyAvKiBXb3JrYXJvdW5kIGZvciBvbGQgeGxjICovCisjZWxpZiBkZWZpbmVkKF9fREVDQykgfHwgZGVmaW5lZChfX0RFQ0NYWCkKKyMgZGVmaW5lIFRSSU9fQ09NUElMRVJfREVDQworI2VsaWYgZGVmaW5lZChfX29zZl9fKSAmJiBkZWZpbmVkKF9fTEFOR1VBR0VfQ19fKQorIyBkZWZpbmUgVFJJT19DT01QSUxFUl9ERUNDIC8qIFdvcmthcm91bmQgZm9yIG9sZCBERUMgQyBjb21waWxlcnMgKi8KKyNlbGlmIGRlZmluZWQoX01TQ19WRVIpCisjIGRlZmluZSBUUklPX0NPTVBJTEVSX01TVkMKKyNlbGlmIGRlZmluZWQoX19CT1JMQU5EQ19fKQorIyBkZWZpbmUgVFJJT19DT01QSUxFUl9CQ0IKKyNlbmRpZgorCisjaWYgZGVmaW5lZChWTVMpIHx8IGRlZmluZWQoX19WTVMpCisvKgorICogVk1TIGlzIHBsYWNlZCBmaXJzdCB0byBhdm9pZCBpZGVudGlmeWluZyB0aGUgcGxhdGZvcm0gYXMgVW5peAorICogYmFzZWQgb24gdGhlIERFQ0MgY29tcGlsZXIgbGF0ZXIgb24uCisgKi8KKyMgZGVmaW5lIFRSSU9fUExBVEZPUk1fVk1TCisjZWxpZiBkZWZpbmVkKF9fT1M0MDBfXykKKyMgZGVmaW5lIFRSSU9fUExBVEZPUk1fT1M0MDAKKyNlbGlmIGRlZmluZWQodW5peCkgfHwgZGVmaW5lZChfX3VuaXgpIHx8IGRlZmluZWQoX191bml4X18pCisjIGRlZmluZSBUUklPX1BMQVRGT1JNX1VOSVgKKyNlbGlmIGRlZmluZWQoVFJJT19DT01QSUxFUl9YTEMpIHx8IGRlZmluZWQoX0FJWCkKKyMgZGVmaW5lIFRSSU9fUExBVEZPUk1fVU5JWAorI2VsaWYgZGVmaW5lZChUUklPX0NPTVBJTEVSX0RFQ0MpIHx8IGRlZmluZWQoX19vc2ZfX18pCisjIGRlZmluZSBUUklPX1BMQVRGT1JNX1VOSVgKKyNlbGlmIGRlZmluZWQoX19OZXRCU0RfXykKKyMgZGVmaW5lIFRSSU9fUExBVEZPUk1fVU5JWAorI2VsaWYgZGVmaW5lZChfX0x5bnhfXykKKyMgZGVmaW5lIFRSSU9fUExBVEZPUk1fVU5JWAorI2VsaWYgZGVmaW5lZChfX1FOWF9fKQorIyBkZWZpbmUgVFJJT19QTEFURk9STV9VTklYCisjIGRlZmluZSBUUklPX1BMQVRGT1JNX1FOWAorI2VsaWYgZGVmaW5lZChfX0NZR1dJTl9fKQorIyBkZWZpbmUgVFJJT19QTEFURk9STV9VTklYCisjZWxpZiBkZWZpbmVkKEFNSUdBKSAmJiBkZWZpbmVkKFRSSU9fQ09NUElMRVJfR0NDKQorIyBkZWZpbmUgVFJJT19QTEFURk9STV9VTklYCisjZWxpZiBkZWZpbmVkKFRSSU9fQ09NUElMRVJfTVNWQykgfHwgZGVmaW5lZChXSU4zMikgfHwgZGVmaW5lZChfV0lOMzIpCisjIGRlZmluZSBUUklPX1BMQVRGT1JNX1dJTjMyCisjZWxpZiBkZWZpbmVkKG1wZWl4KSB8fCBkZWZpbmVkKF9fbXBleGwpCisjIGRlZmluZSBUUklPX1BMQVRGT1JNX01QRUlYCisjZW5kaWYKKworI2lmIGRlZmluZWQoX0FJWCkKKyMgZGVmaW5lIFRSSU9fUExBVEZPUk1fQUlYCisjZWxpZiBkZWZpbmVkKF9faHB1eCkKKyMgZGVmaW5lIFRSSU9fUExBVEZPUk1fSFBVWAorI2VsaWYgZGVmaW5lZChzdW4pIHx8IGRlZmluZWQoX19zdW5fXykKKyMgaWYgZGVmaW5lZChfX1NWUjQpIHx8IGRlZmluZWQoX19zdnI0X18pCisjICBkZWZpbmUgVFJJT19QTEFURk9STV9TT0xBUklTCisjIGVsc2UKKyMgIGRlZmluZSBUUklPX1BMQVRGT1JNX1NVTk9TCisjIGVuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQoX19TVERDX18pIHx8IGRlZmluZWQoVFJJT19DT01QSUxFUl9NU1ZDKSB8fCBkZWZpbmVkKFRSSU9fQ09NUElMRVJfQkNCKQorIyBkZWZpbmUgVFJJT19DT01QSUxFUl9TVVBQT1JUU19DODkKKyMgaWYgZGVmaW5lZChfX1NURENfVkVSU0lPTl9fKQorIyAgZGVmaW5lIFRSSU9fQ09NUElMRVJfU1VQUE9SVFNfQzkwCisjICBpZiAoX19TVERDX1ZFUlNJT05fXyA+PSAxOTk0MDlMKQorIyAgIGRlZmluZSBUUklPX0NPTVBJTEVSX1NVUFBPUlRTX0M5NAorIyAgZW5kaWYKKyMgIGlmIChfX1NURENfVkVSU0lPTl9fID49IDE5OTkwMUwpCisjICAgZGVmaW5lIFRSSU9fQ09NUElMRVJfU1VQUE9SVFNfQzk5CisjICBlbmRpZgorIyBlbGlmIGRlZmluZWQoVFJJT19DT01QSUxFUl9TVU5QUk8pCisjICBpZiAoX19TVU5QUk9fQyA+PSAweDQyMCkKKyMgICBkZWZpbmUgVFJJT19DT01QSUxFUl9TVVBQT1JUU19DOTQKKyMgIGVuZGlmCisjIGVuZGlmCisjZWxpZiBkZWZpbmVkKFRSSU9fQ09NUElMRVJfWExDKSAmJiBkZWZpbmVkKF9fRVhURU5ERURfXykKKyMgZGVmaW5lIFRSSU9fQ09NUElMRVJfU1VQUE9SVFNfQzg5CisjIGRlZmluZSBUUklPX0NPTVBJTEVSX1NVUFBPUlRTX0M5MAorIyBkZWZpbmUgVFJJT19DT01QSUxFUl9TVVBQT1JUU19DOTQKKyNlbmRpZgorCisjaWYgZGVmaW5lZChfWE9QRU5fU09VUkNFKQorIyBpZiBkZWZpbmVkKF9YT1BFTl9TT1VSQ0VfRVhURU5ERUQpCisjICBkZWZpbmUgVFJJT19DT01QSUxFUl9TVVBQT1JUU19VTklYOTUKKyMgZW5kaWYKKyMgaWYgKF9YT1BFTl9WRVJTSU9OID49IDUwMCkKKyMgIGRlZmluZSBUUklPX0NPTVBJTEVSX1NVUFBPUlRTX1VOSVg5OAorIyBlbmRpZgorIyBpZiAoX1hPUEVOX1ZFUlNJT04gPj0gNjAwKQorIyAgZGVmaW5lIFRSSU9fQ09NUElMRVJfU1VQUE9SVFNfVU5JWDAxCisjIGVuZGlmCisjZW5kaWYKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEdlbmVyaWMgZGVmaW5lcworICovCisKKyNpZiAhZGVmaW5lZChUUklPX1BVQkxJQykKKyMgZGVmaW5lIFRSSU9fUFVCTElDCisjZW5kaWYKKyNpZiAhZGVmaW5lZChUUklPX1BSSVZBVEUpCisjIGRlZmluZSBUUklPX1BSSVZBVEUgc3RhdGljCisjZW5kaWYKKworI2lmICEoZGVmaW5lZChUUklPX0NPTVBJTEVSX1NVUFBPUlRTX0M4OSkgfHwgZGVmaW5lZChfX2NwbHVzcGx1cykpCisjIGRlZmluZSBUUklPX0NPTVBJTEVSX0FOQ0lFTlQKKyNlbmRpZgorCisjaWYgZGVmaW5lZChUUklPX0NPTVBJTEVSX0FOQ0lFTlQpCisjIGRlZmluZSBUUklPX0NPTlNUCisjIGRlZmluZSBUUklPX1ZPTEFUSUxFCisjIGRlZmluZSBUUklPX1NJR05FRAordHlwZWRlZiBkb3VibGUgdHJpb19sb25nX2RvdWJsZV90OwordHlwZWRlZiBjaGFyICogdHJpb19wb2ludGVyX3Q7CisjIGRlZmluZSBUUklPX1NVRkZJWF9MT05HKHgpIHgKKyMgZGVmaW5lIFRSSU9fUFJPVE8oeCkgKCkKKyMgZGVmaW5lIFRSSU9fTk9BUkdTCisjIGRlZmluZSBUUklPX0FSR1MxKGxpc3QsYTEpIGxpc3QgYTE7CisjIGRlZmluZSBUUklPX0FSR1MyKGxpc3QsYTEsYTIpIGxpc3QgYTE7IGEyOworIyBkZWZpbmUgVFJJT19BUkdTMyhsaXN0LGExLGEyLGEzKSBsaXN0IGExOyBhMjsgYTM7CisjIGRlZmluZSBUUklPX0FSR1M0KGxpc3QsYTEsYTIsYTMsYTQpIGxpc3QgYTE7IGEyOyBhMzsgYTQ7CisjIGRlZmluZSBUUklPX0FSR1M1KGxpc3QsYTEsYTIsYTMsYTQsYTUpIGxpc3QgYTE7IGEyOyBhMzsgYTQ7IGE1OworIyBkZWZpbmUgVFJJT19BUkdTNihsaXN0LGExLGEyLGEzLGE0LGE1LGE2KSBsaXN0IGExOyBhMjsgYTM7IGE0OyBhNTsgYTY7CisjIGRlZmluZSBUUklPX1ZBUkdTMihsaXN0LGExLGEyKSBsaXN0IGExOyBhMgorIyBkZWZpbmUgVFJJT19WQVJHUzMobGlzdCxhMSxhMixhMykgbGlzdCBhMTsgYTI7IGEzCisjIGRlZmluZSBUUklPX1ZBUkdTNChsaXN0LGExLGEyLGEzLGE0KSBsaXN0IGExOyBhMjsgYTM7IGE0CisjIGRlZmluZSBUUklPX1ZBUkdTNShsaXN0LGExLGEyLGEzLGE0LGE1KSBsaXN0IGExOyBhMjsgYTM7IGE0OyBhNQorIyBkZWZpbmUgVFJJT19WQV9ERUNMIHZhX2RjbAorIyBkZWZpbmUgVFJJT19WQV9TVEFSVCh4LHkpIHZhX3N0YXJ0KHgpCisjIGRlZmluZSBUUklPX1ZBX0VORCh4KSB2YV9lbmQoeCkKKyNlbHNlIC8qIEFOU0kgQyAqLworIyBkZWZpbmUgVFJJT19DT05TVCBjb25zdAorIyBkZWZpbmUgVFJJT19WT0xBVElMRSB2b2xhdGlsZQorIyBkZWZpbmUgVFJJT19TSUdORUQgc2lnbmVkCit0eXBlZGVmIGxvbmcgZG91YmxlIHRyaW9fbG9uZ19kb3VibGVfdDsKK3R5cGVkZWYgdm9pZCAqIHRyaW9fcG9pbnRlcl90OworIyBkZWZpbmUgVFJJT19TVUZGSVhfTE9ORyh4KSB4ICMjIEwKKyMgZGVmaW5lIFRSSU9fUFJPVE8oeCkgeAorIyBkZWZpbmUgVFJJT19OT0FSR1Mgdm9pZAorIyBkZWZpbmUgVFJJT19BUkdTMShsaXN0LGExKSAoYTEpCisjIGRlZmluZSBUUklPX0FSR1MyKGxpc3QsYTEsYTIpIChhMSxhMikKKyMgZGVmaW5lIFRSSU9fQVJHUzMobGlzdCxhMSxhMixhMykgKGExLGEyLGEzKQorIyBkZWZpbmUgVFJJT19BUkdTNChsaXN0LGExLGEyLGEzLGE0KSAoYTEsYTIsYTMsYTQpCisjIGRlZmluZSBUUklPX0FSR1M1KGxpc3QsYTEsYTIsYTMsYTQsYTUpIChhMSxhMixhMyxhNCxhNSkKKyMgZGVmaW5lIFRSSU9fQVJHUzYobGlzdCxhMSxhMixhMyxhNCxhNSxhNikgKGExLGEyLGEzLGE0LGE1LGE2KQorIyBkZWZpbmUgVFJJT19WQVJHUzIgVFJJT19BUkdTMgorIyBkZWZpbmUgVFJJT19WQVJHUzMgVFJJT19BUkdTMworIyBkZWZpbmUgVFJJT19WQVJHUzQgVFJJT19BUkdTNAorIyBkZWZpbmUgVFJJT19WQVJHUzUgVFJJT19BUkdTNQorIyBkZWZpbmUgVFJJT19WQV9ERUNMIC4uLgorIyBkZWZpbmUgVFJJT19WQV9TVEFSVCh4LHkpIHZhX3N0YXJ0KHgseSkKKyMgZGVmaW5lIFRSSU9fVkFfRU5EKHgpIHZhX2VuZCh4KQorI2VuZGlmCisKKyNpZiBkZWZpbmVkKFRSSU9fQ09NUElMRVJfU1VQUE9SVFNfQzk5KSB8fCBkZWZpbmVkKF9fY3BsdXNwbHVzKQorIyBkZWZpbmUgVFJJT19JTkxJTkUgaW5saW5lCisjZWxpZiBkZWZpbmVkKFRSSU9fQ09NUElMRVJfR0NDKQorIyBkZWZpbmUgVFJJT19JTkxJTkUgX19pbmxpbmVfXworI2VsaWYgZGVmaW5lZChUUklPX0NPTVBJTEVSX01TVkMpCisjIGRlZmluZSBUUklPX0lOTElORSBfaW5saW5lCisjZWxpZiBkZWZpbmVkKFRSSU9fQ09NUElMRVJfQkNCKQorIyBkZWZpbmUgVFJJT19JTkxJTkUgX19pbmxpbmUKKyNlbHNlCisjIGRlZmluZSBUUklPX0lOTElORQorI2VuZGlmCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBXb3JrYXJvdW5kcworICovCisKKyNpZiBkZWZpbmVkKFRSSU9fUExBVEZPUk1fVk1TKQorLyoKKyAqIENvbXB1dGF0aW9ucyBkb25lIHdpdGggY29uc3RhbnRzIGF0IGNvbXBpbGUgdGltZSBjYW4gdHJpZ2dlciB0aGVzZQorICogZXZlbiB3aGVuIGNvbXBpbGluZyB3aXRoIElFRUUgZW5hYmxlZC4KKyAqLworIyBwcmFnbWEgbWVzc2FnZSBkaXNhYmxlIChVTkRFUkZMT1csIEZMT0FUT1ZFUkZMKQorCisjIGlmIChfX0NSVExfVkVSIDwgODAwMDAwMDApCisvKgorICogQWx0aG91Z2ggdGhlIGNvbXBpbGVyIHN1cHBvcnRzIEM5OSBsYW5ndWFnZSBjb25zdHJ1Y3RzLCB0aGUgQworICogcnVuLXRpbWUgbGlicmFyeSBkb2VzIG5vdCBjb250YWluIGFsbCBDOTkgZnVuY3Rpb25zLgorICoKKyAqIFRoaXMgd2FzIHRoZSBjYXNlIGZvciA3MDMwMDAyMi4gVXBkYXRlIHRoZSA4MDAwMDAwMCB2YWx1ZSB3aGVuCisgKiBpdCBoYXMgYmVlbiBhY2N1cmF0ZWx5IGRldGVybWluZWQgd2hhdCB2ZXJzaW9uIG9mIHRoZSBsaWJyYXJ5CisgKiBzdXBwb3J0cyBDOTkuCisgKi8KKyMgIGlmIGRlZmluZWQoVFJJT19DT01QSUxFUl9TVVBQT1JUU19DOTkpCisjICAgdW5kZWYgVFJJT19DT01QSUxFUl9TVVBQT1JUU19DOTkKKyMgIGVuZGlmCisjIGVuZGlmCisjZW5kaWYKKworLyoKKyAqIE5vdCBhbGwgcHJlcHJvY2Vzc29ycyBzdXBwb3J0cyB0aGUgTEwgdG9rZW4uCisgKi8KKyNpZiBkZWZpbmVkKFRSSU9fQ09NUElMRVJfQkNCKQorI2Vsc2UKKyMgZGVmaW5lIFRSSU9fQ09NUElMRVJfU1VQUE9SVFNfTEwKKyNlbmRpZgorCisjZW5kaWYgLyogVFJJT19UUklPREVGX0ggKi8KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdHJpb25hbi5jIGIvbGlieG1sMi90cmlvbmFuLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmZiYWJiNQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdHJpb25hbi5jCkBAIC0wLDAgKzEsOTE0IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqICRJZCQKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDEgQmpvcm4gUmVlc2UgPGJyZWVzZUB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CisgKgorICogUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBmb3IgYW55CisgKiBwdXJwb3NlIHdpdGggb3Igd2l0aG91dCBmZWUgaXMgaGVyZWJ5IGdyYW50ZWQsIHByb3ZpZGVkIHRoYXQgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIGFwcGVhciBpbiBhbGwgY29waWVzLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgYGBBUyBJUycnIEFORCBXSVRIT1VUIEFOWSBFWFBSRVNTIE9SIElNUExJRUQKKyAqIFdBUlJBTlRJRVMsIElOQ0xVRElORywgV0lUSE9VVCBMSU1JVEFUSU9OLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisgKiBNRVJDSEFOVElCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBUSEUgQVVUSE9SUyBBTkQKKyAqIENPTlRSSUJVVE9SUyBBQ0NFUFQgTk8gUkVTUE9OU0lCSUxJVFkgSU4gQU5ZIENPTkNFSVZBQkxFIE1BTk5FUi4KKyAqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRnVuY3Rpb25zIHRvIGhhbmRsZSBzcGVjaWFsIHF1YW50aXRpZXMgaW4gZmxvYXRpbmctcG9pbnQgbnVtYmVycworICogKHRoYXQgaXMsIE5hTnMgYW5kIGluZmluaXR5KS4gVGhleSBwcm92aWRlIHRoZSBjYXBhYmlsaXR5IHRvIGRldGVjdAorICogYW5kIGZhYnJpY2F0ZSBzcGVjaWFsIHF1YW50aXRpZXMuCisgKgorICogQWx0aG91Z2ggd3JpdHRlbiB0byBiZSBhcyBwb3J0YWJsZSBhcyBwb3NzaWJsZSwgaXQgY2FuIG5ldmVyIGJlCisgKiBndWFyYW50ZWVkIHRvIHdvcmsgb24gYWxsIHBsYXRmb3JtcywgYXMgbm90IGFsbCBoYXJkd2FyZSBzdXBwb3J0cworICogc3BlY2lhbCBxdWFudGl0aWVzLgorICoKKyAqIFRoZSBhcHByb2FjaCB1c2VkIGhlcmUgKGFwcHJveGltYXRlbHkpIGlzIHRvOgorICoKKyAqICAgMS4gVXNlIEM5OSBmdW5jdGlvbmFsaXR5IHdoZW4gYXZhaWxhYmxlLgorICogICAyLiBVc2UgSUVFRSA3NTQgYml0LXBhdHRlcm5zIGlmIHBvc3NpYmxlLgorICogICAzLiBVc2UgcGxhdGZvcm0tc3BlY2lmaWMgdGVjaG5pcXVlcy4KKyAqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKgorICogVE9ETzoKKyAqICBvIFB1dCBhbGwgdGhlIG1hZ2ljIGludG8gdHJpb19mcGNsYXNzaWZ5X2FuZF9zaWduYml0KCksIGFuZCB1c2UgdGhpcyBmcm9tCisgKiAgICB0cmlvX2lzbmFuKCkgZXRjLgorICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBJbmNsdWRlIGZpbGVzCisgKi8KKyNpbmNsdWRlICJ0cmlvZGVmLmgiCisjaW5jbHVkZSAidHJpb25hbi5oIgorCisjaW5jbHVkZSA8bWF0aC5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGxpbWl0cy5oPgorI2luY2x1ZGUgPGZsb2F0Lmg+CisjaWYgZGVmaW5lZChUUklPX1BMQVRGT1JNX1VOSVgpCisjIGluY2x1ZGUgPHNpZ25hbC5oPgorI2VuZGlmCisjaWYgZGVmaW5lZChUUklPX0NPTVBJTEVSX0RFQ0MpCisjICBpZiBkZWZpbmVkKF9fbGludXhfXykKKyMgICBpbmNsdWRlIDxjcG1sLmg+CisjICBlbHNlCisjICAgaW5jbHVkZSA8ZnBfY2xhc3MuaD4KKyMgIGVuZGlmCisjZW5kaWYKKyNpbmNsdWRlIDxhc3NlcnQuaD4KKworI2lmIGRlZmluZWQoVFJJT19ET0NVTUVOVEFUSU9OKQorIyBpbmNsdWRlICJkb2MvZG9jX25hbi5oIgorI2VuZGlmCisvKiogQGFkZHRvZ3JvdXAgU3BlY2lhbFF1YW50aXRpZXMKKyAgICBAeworKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERlZmluaXRpb25zCisgKi8KKworI2RlZmluZSBUUklPX1RSVUUgKDEgPT0gMSkKKyNkZWZpbmUgVFJJT19GQUxTRSAoMCA9PSAxKQorCisvKgorICogV2UgbXVzdCBlbmFibGUgSUVFRSBmbG9hdGluZy1wb2ludCBvbiBBbHBoYQorICovCisjaWYgZGVmaW5lZChfX2FscGhhKSAmJiAhZGVmaW5lZChfSUVFRV9GUCkKKyMgaWYgZGVmaW5lZChUUklPX0NPTVBJTEVSX0RFQ0MpCisjICBpZiBkZWZpbmVkKFRSSU9fUExBVEZPUk1fVk1TKQorIyAgIGVycm9yICJNdXN0IGJlIGNvbXBpbGVkIHdpdGggb3B0aW9uIC9JRUVFX01PREU9VU5ERVJGTE9XX1RPX1pFUk8vRkxPQVQ9SUVFRSIKKyMgIGVsc2UKKyMgICBpZiAhZGVmaW5lZChfQ0ZFKQorIyAgICBlcnJvciAiTXVzdCBiZSBjb21waWxlZCB3aXRoIG9wdGlvbiAtaWVlZSIKKyMgICBlbmRpZgorIyAgZW5kaWYKKyMgZWxpZiBkZWZpbmVkKFRSSU9fQ09NUElMRVJfR0NDKSAmJiAoZGVmaW5lZChfX29zZl9fKSB8fCBkZWZpbmVkKF9fbGludXhfXykpCisjICBlcnJvciAiTXVzdCBiZSBjb21waWxlZCB3aXRoIG9wdGlvbiAtbWllZWUiCisjIGVuZGlmCisjZW5kaWYgLyogX19hbHBoYSAmJiAhIF9JRUVFX0ZQICovCisKKy8qCisgKiBJbiBBTlNJL0lFRUUgNzU0LTE5ODUgNjQtYml0cyBkb3VibGUgZm9ybWF0IG51bWJlcnMgaGF2ZSB0aGUKKyAqIGZvbGxvd2luZyBwcm9wZXJ0aWVzIChhbW91bmdzdCBvdGhlcnMpCisgKgorICogICBvIEZMVF9SQURJWCA9PSAyOiBiaW5hcnkgZW5jb2RpbmcKKyAqICAgbyBEQkxfTUFYX0VYUCA9PSAxMDI0OiAxMSBiaXRzIGV4cG9uZW50LCB3aGVyZSBvbmUgYml0IGlzIHVzZWQKKyAqICAgICB0byBpbmRpY2F0ZSBzcGVjaWFsIG51bWJlcnMgKGUuZy4gTmFOIGFuZCBJbmZpbml0eSksIHNvIHRoZQorICogICAgIG1heGltdW0gZXhwb25lbnQgaXMgMTAgYml0cyB3aWRlICgyXjEwID09IDEwMjQpLgorICogICBvIERCTF9NQU5UX0RJRyA9PSA1MzogVGhlIG1hbnRpc3NhIGlzIDUyIGJpdHMgd2lkZSwgYnV0IGJlY2F1c2UKKyAqICAgICBudW1iZXJzIGFyZSBub3JtYWxpemVkIHRoZSBpbml0aWFsIGJpbmFyeSAxIGlzIHJlcHJlc2VudGVkCisgKiAgICAgaW1wbGljaXRseSAodGhlIHNvLWNhbGxlZCAiaGlkZGVuIGJpdCIpLCB3aGljaCBsZWF2ZXMgdXMgd2l0aAorICogICAgIHRoZSBhYmlsaXR5IHRvIHJlcHJlc2VudCA1MyBiaXRzIHdpZGUgbWFudGlzc2EuCisgKi8KKyNpZiAoRkxUX1JBRElYID09IDIpICYmIChEQkxfTUFYX0VYUCA9PSAxMDI0KSAmJiAoREJMX01BTlRfRElHID09IDUzKQorIyBkZWZpbmUgVVNFX0lFRUVfNzU0CisjZW5kaWYKKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29uc3RhbnRzCisgKi8KKworc3RhdGljIFRSSU9fQ09OU1QgY2hhciByY3NpZFtdID0gIkAoIykkSWQkIjsKKworI2lmIGRlZmluZWQoVVNFX0lFRUVfNzU0KQorCisvKgorICogRW5kaWFuLWFnbm9zdGljIGluZGV4aW5nIG1hY3JvLgorICoKKyAqIFRoZSB2YWx1ZSBvZiBpbnRlcm5hbEVuZGlhbk1hZ2ljLCB3aGVuIGNvbnZlcnRlZCBpbnRvIGEgNjQtYml0CisgKiBpbnRlZ2VyLCBiZWNvbWVzIDB4MDcwNjA1MDQwMzAyMDEwMCAod2UgY291bGQgaGF2ZSB1c2VkIGEgNjQtYml0CisgKiBpbnRlZ2VyIHZhbHVlIGluc3RlYWQgb2YgYSBkb3VibGUsIGJ1dCBub3QgYWxsIHBsYXRmb3JtcyBzdXBwb3J0cworICogdGhhdCB0eXBlKS4gVGhlIHZhbHVlIGlzIGF1dG9tYXRpY2FsbHkgZW5jb2RlZCB3aXRoIHRoZSBjb3JyZWN0CisgKiBlbmRpYW5lc3MgYnkgdGhlIGNvbXBpbGVyLCB3aGljaCBtZWFucyB0aGF0IHdlIGNhbiBzdXBwb3J0IGFueQorICoga2luZCBvZiBlbmRpYW5lc3MuIFRoZSBpbmRpdmlkdWFsIGJ5dGVzIGFyZSB0aGVuIHVzZWQgYXMgYW4gaW5kZXgKKyAqIGZvciB0aGUgSUVFRSA3NTQgYml0LXBhdHRlcm5zIGFuZCBtYXNrcy4KKyAqLworI2RlZmluZSBUUklPX0RPVUJMRV9JTkRFWCh4KSAoKCh1bnNpZ25lZCBjaGFyICopJmludGVybmFsRW5kaWFuTWFnaWMpWzctKHgpXSkKKworI2lmIChkZWZpbmVkKF9fQk9STEFORENfXykgJiYgX19CT1JMQU5EQ19fID49IDB4MDU5MCkKK3N0YXRpYyBUUklPX0NPTlNUIGRvdWJsZSBpbnRlcm5hbEVuZGlhbk1hZ2ljID0gNy45NDk5Mjg4OTUxMjczNjJlLTI3NTsKKyNlbHNlCitzdGF0aWMgVFJJT19DT05TVCBkb3VibGUgaW50ZXJuYWxFbmRpYW5NYWdpYyA9IDcuOTQ5OTI4ODk1MTI3MzYzZS0yNzU7CisjZW5kaWYKKworLyogTWFzayBmb3IgdGhlIGV4cG9uZW50ICovCitzdGF0aWMgVFJJT19DT05TVCB1bnNpZ25lZCBjaGFyIGllZWVfNzU0X2V4cG9uZW50X21hc2tbXSA9IHsKKyAgMHg3RiwgMHhGMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMAorfTsKKworLyogTWFzayBmb3IgdGhlIG1hbnRpc3NhICovCitzdGF0aWMgVFJJT19DT05TVCB1bnNpZ25lZCBjaGFyIGllZWVfNzU0X21hbnRpc3NhX21hc2tbXSA9IHsKKyAgMHgwMCwgMHgwRiwgMHhGRiwgMHhGRiwgMHhGRiwgMHhGRiwgMHhGRiwgMHhGRgorfTsKKworLyogTWFzayBmb3IgdGhlIHNpZ24gYml0ICovCitzdGF0aWMgVFJJT19DT05TVCB1bnNpZ25lZCBjaGFyIGllZWVfNzU0X3NpZ25fbWFza1tdID0geworICAweDgwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwCit9OworCisvKiBCaXQtcGF0dGVybiBmb3IgbmVnYXRpdmUgemVybyAqLworc3RhdGljIFRSSU9fQ09OU1QgdW5zaWduZWQgY2hhciBpZWVlXzc1NF9uZWd6ZXJvX2FycmF5W10gPSB7CisgIDB4ODAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAKK307CisKKy8qIEJpdC1wYXR0ZXJuIGZvciBpbmZpbml0eSAqLworc3RhdGljIFRSSU9fQ09OU1QgdW5zaWduZWQgY2hhciBpZWVlXzc1NF9pbmZpbml0eV9hcnJheVtdID0geworICAweDdGLCAweEYwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwCit9OworCisvKiBCaXQtcGF0dGVybiBmb3IgcXVpZXQgTmFOICovCitzdGF0aWMgVFJJT19DT05TVCB1bnNpZ25lZCBjaGFyIGllZWVfNzU0X3FuYW5fYXJyYXlbXSA9IHsKKyAgMHg3RiwgMHhGOCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMAorfTsKKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRnVuY3Rpb25zCisgKi8KKworLyoKKyAqIHRyaW9fbWFrZV9kb3VibGUKKyAqLworVFJJT19QUklWQVRFIGRvdWJsZQordHJpb19tYWtlX2RvdWJsZQorVFJJT19BUkdTMSgodmFsdWVzKSwKKwkgICBUUklPX0NPTlNUIHVuc2lnbmVkIGNoYXIgKnZhbHVlcykKK3sKKyAgVFJJT19WT0xBVElMRSBkb3VibGUgcmVzdWx0OworICBpbnQgaTsKKworICBmb3IgKGkgPSAwOyBpIDwgKGludClzaXplb2YoZG91YmxlKTsgaSsrKSB7CisgICAgKChUUklPX1ZPTEFUSUxFIHVuc2lnbmVkIGNoYXIgKikmcmVzdWx0KVtUUklPX0RPVUJMRV9JTkRFWChpKV0gPSB2YWx1ZXNbaV07CisgIH0KKyAgcmV0dXJuIHJlc3VsdDsKK30KKworLyoKKyAqIHRyaW9faXNfc3BlY2lhbF9xdWFudGl0eQorICovCitUUklPX1BSSVZBVEUgaW50Cit0cmlvX2lzX3NwZWNpYWxfcXVhbnRpdHkKK1RSSU9fQVJHUzIoKG51bWJlciwgaGFzX21hbnRpc3NhKSwKKwkgICBkb3VibGUgbnVtYmVyLAorCSAgIGludCAqaGFzX21hbnRpc3NhKQoreworICB1bnNpZ25lZCBpbnQgaTsKKyAgdW5zaWduZWQgY2hhciBjdXJyZW50OworICBpbnQgaXNfc3BlY2lhbF9xdWFudGl0eSA9IFRSSU9fVFJVRTsKKworICAqaGFzX21hbnRpc3NhID0gMDsKKworICBmb3IgKGkgPSAwOyBpIDwgKHVuc2lnbmVkIGludClzaXplb2YoZG91YmxlKTsgaSsrKSB7CisgICAgY3VycmVudCA9ICgodW5zaWduZWQgY2hhciAqKSZudW1iZXIpW1RSSU9fRE9VQkxFX0lOREVYKGkpXTsKKyAgICBpc19zcGVjaWFsX3F1YW50aXR5CisgICAgICAmPSAoKGN1cnJlbnQgJiBpZWVlXzc1NF9leHBvbmVudF9tYXNrW2ldKSA9PSBpZWVlXzc1NF9leHBvbmVudF9tYXNrW2ldKTsKKyAgICAqaGFzX21hbnRpc3NhIHw9IChjdXJyZW50ICYgaWVlZV83NTRfbWFudGlzc2FfbWFza1tpXSk7CisgIH0KKyAgcmV0dXJuIGlzX3NwZWNpYWxfcXVhbnRpdHk7Cit9CisKKy8qCisgKiB0cmlvX2lzX25lZ2F0aXZlCisgKi8KK1RSSU9fUFJJVkFURSBpbnQKK3RyaW9faXNfbmVnYXRpdmUKK1RSSU9fQVJHUzEoKG51bWJlciksCisJICAgZG91YmxlIG51bWJlcikKK3sKKyAgdW5zaWduZWQgaW50IGk7CisgIGludCBpc19uZWdhdGl2ZSA9IFRSSU9fRkFMU0U7CisKKyAgZm9yIChpID0gMDsgaSA8ICh1bnNpZ25lZCBpbnQpc2l6ZW9mKGRvdWJsZSk7IGkrKykgeworICAgIGlzX25lZ2F0aXZlIHw9ICgoKHVuc2lnbmVkIGNoYXIgKikmbnVtYmVyKVtUUklPX0RPVUJMRV9JTkRFWChpKV0KKwkJICAgICYgaWVlZV83NTRfc2lnbl9tYXNrW2ldKTsKKyAgfQorICByZXR1cm4gaXNfbmVnYXRpdmU7Cit9CisKKyNlbmRpZiAvKiBVU0VfSUVFRV83NTQgKi8KKworCisvKioKKyAgIEdlbmVyYXRlIG5lZ2F0aXZlIHplcm8uCisKKyAgIEByZXR1cm4gRmxvYXRpbmctcG9pbnQgcmVwcmVzZW50YXRpb24gb2YgbmVnYXRpdmUgemVyby4KKyovCitUUklPX1BVQkxJQyBkb3VibGUKK3RyaW9fbnplcm8oVFJJT19OT0FSR1MpCit7CisjaWYgZGVmaW5lZChVU0VfSUVFRV83NTQpCisgIHJldHVybiB0cmlvX21ha2VfZG91YmxlKGllZWVfNzU0X25lZ3plcm9fYXJyYXkpOworI2Vsc2UKKyAgVFJJT19WT0xBVElMRSBkb3VibGUgemVybyA9IDAuMDsKKworICByZXR1cm4gLXplcm87CisjZW5kaWYKK30KKworLyoqCisgICBHZW5lcmF0ZSBwb3NpdGl2ZSBpbmZpbml0eS4KKworICAgQHJldHVybiBGbG9hdGluZy1wb2ludCByZXByZXNlbnRhdGlvbiBvZiBwb3NpdGl2ZSBpbmZpbml0eS4KKyovCitUUklPX1BVQkxJQyBkb3VibGUKK3RyaW9fcGluZihUUklPX05PQVJHUykKK3sKKyAgLyogQ2FjaGUgdGhlIHJlc3VsdCAqLworICBzdGF0aWMgZG91YmxlIHJlc3VsdCA9IDAuMDsKKworICBpZiAocmVzdWx0ID09IDAuMCkgeworCisjaWYgZGVmaW5lZChJTkZJTklUWSkgJiYgZGVmaW5lZChfX1NURENfSUVDXzU1OV9fKQorICAgIHJlc3VsdCA9IChkb3VibGUpSU5GSU5JVFk7CisKKyNlbGlmIGRlZmluZWQoVVNFX0lFRUVfNzU0KQorICAgIHJlc3VsdCA9IHRyaW9fbWFrZV9kb3VibGUoaWVlZV83NTRfaW5maW5pdHlfYXJyYXkpOworCisjZWxzZQorICAgIC8qCisgICAgICogSWYgSFVHRV9WQUwgaXMgZGlmZmVyZW50IGZyb20gREJMX01BWCwgdGhlbiBIVUdFX1ZBTCBpcyB1c2VkCisgICAgICogYXMgaW5maW5pdHkuIE90aGVyd2lzZSB3ZSBoYXZlIHRvIHJlc29ydCB0byBhbiBvdmVyZmxvdworICAgICAqIG9wZXJhdGlvbiB0byBnZW5lcmF0ZSBpbmZpbml0eS4KKyAgICAgKi8KKyMgaWYgZGVmaW5lZChUUklPX1BMQVRGT1JNX1VOSVgpCisgICAgdm9pZCAoKnNpZ25hbF9oYW5kbGVyKShpbnQpID0gc2lnbmFsKFNJR0ZQRSwgU0lHX0lHTik7CisjIGVuZGlmCisKKyAgICByZXN1bHQgPSBIVUdFX1ZBTDsKKyAgICBpZiAoSFVHRV9WQUwgPT0gREJMX01BWCkgeworICAgICAgLyogRm9yY2Ugb3ZlcmZsb3cgKi8KKyAgICAgIHJlc3VsdCArPSBIVUdFX1ZBTDsKKyAgICB9CisKKyMgaWYgZGVmaW5lZChUUklPX1BMQVRGT1JNX1VOSVgpCisgICAgc2lnbmFsKFNJR0ZQRSwgc2lnbmFsX2hhbmRsZXIpOworIyBlbmRpZgorCisjZW5kaWYKKyAgfQorICByZXR1cm4gcmVzdWx0OworfQorCisvKioKKyAgIEdlbmVyYXRlIG5lZ2F0aXZlIGluZmluaXR5LgorCisgICBAcmV0dXJuIEZsb2F0aW5nLXBvaW50IHZhbHVlIG9mIG5lZ2F0aXZlIGluZmluaXR5LgorKi8KK1RSSU9fUFVCTElDIGRvdWJsZQordHJpb19uaW5mKFRSSU9fTk9BUkdTKQoreworICBzdGF0aWMgZG91YmxlIHJlc3VsdCA9IDAuMDsKKworICBpZiAocmVzdWx0ID09IDAuMCkgeworICAgIC8qCisgICAgICogTmVnYXRpdmUgaW5maW5pdHkgaXMgY2FsY3VsYXRlZCBieSBuZWdhdGluZyBwb3NpdGl2ZSBpbmZpbml0eSwKKyAgICAgKiB3aGljaCBjYW4gYmUgZG9uZSBiZWNhdXNlIGl0IGlzIGxlZ2FsIHRvIGRvIGNhbGN1bGF0aW9ucyBvbgorICAgICAqIGluZmluaXR5IChmb3IgZXhhbXBsZSwgIDEgLyBpbmZpbml0eSA9PSAwKS4KKyAgICAgKi8KKyAgICByZXN1bHQgPSAtdHJpb19waW5mKCk7CisgIH0KKyAgcmV0dXJuIHJlc3VsdDsKK30KKworLyoqCisgICBHZW5lcmF0ZSBOYU4uCisKKyAgIEByZXR1cm4gRmxvYXRpbmctcG9pbnQgcmVwcmVzZW50YXRpb24gb2YgTmFOLgorKi8KK1RSSU9fUFVCTElDIGRvdWJsZQordHJpb19uYW4oVFJJT19OT0FSR1MpCit7CisgIC8qIENhY2hlIHRoZSByZXN1bHQgKi8KKyAgc3RhdGljIGRvdWJsZSByZXN1bHQgPSAwLjA7CisKKyAgaWYgKHJlc3VsdCA9PSAwLjApIHsKKworI2lmIGRlZmluZWQoVFJJT19DT01QSUxFUl9TVVBQT1JUU19DOTkpCisgICAgcmVzdWx0ID0gbmFuKCIiKTsKKworI2VsaWYgZGVmaW5lZChOQU4pICYmIGRlZmluZWQoX19TVERDX0lFQ181NTlfXykKKyAgICByZXN1bHQgPSAoZG91YmxlKU5BTjsKKworI2VsaWYgZGVmaW5lZChVU0VfSUVFRV83NTQpCisgICAgcmVzdWx0ID0gdHJpb19tYWtlX2RvdWJsZShpZWVlXzc1NF9xbmFuX2FycmF5KTsKKworI2Vsc2UKKyAgICAvKgorICAgICAqIFRoZXJlIGFyZSBzZXZlcmFsIHdheXMgdG8gZ2VuZXJhdGUgTmFOLiBUaGUgb25lIHVzZWQgaGVyZSBpcworICAgICAqIHRvIGRpdmlkZSBpbmZpbml0eSBieSBpbmZpbml0eS4gSSB3b3VsZCBoYXZlIHByZWZlcnJlZCB0byBhZGQKKyAgICAgKiBuZWdhdGl2ZSBpbmZpbml0eSB0byBwb3NpdGl2ZSBpbmZpbml0eSwgYnV0IHRoYXQgeWllbGRzIHdyb25nCisgICAgICogcmVzdWx0IChpbmZpbml0eSkgb24gRnJlZUJTRC4KKyAgICAgKgorICAgICAqIFRoaXMgbWF5IGZhaWwgaWYgdGhlIGhhcmR3YXJlIGRvZXMgbm90IHN1cHBvcnQgTmFOLCBvciBpZgorICAgICAqIHRoZSBJbnZhbGlkIE9wZXJhdGlvbiBmbG9hdGluZy1wb2ludCBleGNlcHRpb24gaXMgdW5tYXNrZWQuCisgICAgICovCisjIGlmIGRlZmluZWQoVFJJT19QTEFURk9STV9VTklYKQorICAgIHZvaWQgKCpzaWduYWxfaGFuZGxlcikoaW50KSA9IHNpZ25hbChTSUdGUEUsIFNJR19JR04pOworIyBlbmRpZgorCisgICAgcmVzdWx0ID0gdHJpb19waW5mKCkgLyB0cmlvX3BpbmYoKTsKKworIyBpZiBkZWZpbmVkKFRSSU9fUExBVEZPUk1fVU5JWCkKKyAgICBzaWduYWwoU0lHRlBFLCBzaWduYWxfaGFuZGxlcik7CisjIGVuZGlmCisKKyNlbmRpZgorICB9CisgIHJldHVybiByZXN1bHQ7Cit9CisKKy8qKgorICAgQ2hlY2sgZm9yIE5hTi4KKworICAgQHBhcmFtIG51bWJlciBBbiBhcmJpdHJhcnkgZmxvYXRpbmctcG9pbnQgbnVtYmVyLgorICAgQHJldHVybiBCb29sZWFuIHZhbHVlIGluZGljYXRpbmcgd2hldGhlciBvciBub3QgdGhlIG51bWJlciBpcyBhIE5hTi4KKyovCitUUklPX1BVQkxJQyBpbnQKK3RyaW9faXNuYW4KK1RSSU9fQVJHUzEoKG51bWJlciksCisJICAgZG91YmxlIG51bWJlcikKK3sKKyNpZiAoZGVmaW5lZChUUklPX0NPTVBJTEVSX1NVUFBPUlRTX0M5OSkgJiYgZGVmaW5lZChpc25hbikpIFwKKyB8fCBkZWZpbmVkKFRSSU9fQ09NUElMRVJfU1VQUE9SVFNfVU5JWDk1KQorICAvKgorICAgKiBDOTkgZGVmaW5lcyBpc25hbigpIGFzIGEgbWFjcm8uIFVOSVg5NSBkZWZpbmVzIGlzbmFuKCkgYXMgYQorICAgKiBmdW5jdGlvbi4gVGhpcyBmdW5jdGlvbiB3YXMgYWxyZWFkeSBwcmVzZW50IGluIFhQRzQsIGJ1dCB0aGlzCisgICAqIGlzIGEgYml0IHRyaWNreSB0byBkZXRlY3Qgd2l0aCBjb21waWxlciBkZWZpbmVzLCBzbyB3ZSBjaG9vc2UKKyAgICogdGhlIGNvbnNlcnZhdGl2ZSBhcHByb2FjaCBhbmQgb25seSB1c2UgaXQgZm9yIFVOSVg5NS4KKyAgICovCisgIHJldHVybiBpc25hbihudW1iZXIpOworCisjZWxpZiBkZWZpbmVkKFRSSU9fQ09NUElMRVJfTVNWQykgfHwgZGVmaW5lZChUUklPX0NPTVBJTEVSX0JDQikKKyAgLyoKKyAgICogTWljcm9zb2Z0IFZpc3VhbCBDKysgYW5kIEJvcmxhbmQgQysrIEJ1aWxkZXIgaGF2ZSBhbiBfaXNuYW4oKQorICAgKiBmdW5jdGlvbi4KKyAgICovCisgIHJldHVybiBfaXNuYW4obnVtYmVyKSA/IFRSSU9fVFJVRSA6IFRSSU9fRkFMU0U7CisKKyNlbGlmIGRlZmluZWQoVVNFX0lFRUVfNzU0KQorICAvKgorICAgKiBFeGFtaW5lIElFRUUgNzU0IGJpdC1wYXR0ZXJuLiBBIE5hTiBtdXN0IGhhdmUgYSBzcGVjaWFsIGV4cG9uZW50CisgICAqIHBhdHRlcm4sIGFuZCBhIG5vbi1lbXB0eSBtYW50aXNzYS4KKyAgICovCisgIGludCBoYXNfbWFudGlzc2E7CisgIGludCBpc19zcGVjaWFsX3F1YW50aXR5OworCisgIGlzX3NwZWNpYWxfcXVhbnRpdHkgPSB0cmlvX2lzX3NwZWNpYWxfcXVhbnRpdHkobnVtYmVyLCAmaGFzX21hbnRpc3NhKTsKKworICByZXR1cm4gKGlzX3NwZWNpYWxfcXVhbnRpdHkgJiYgaGFzX21hbnRpc3NhKTsKKworI2Vsc2UKKyAgLyoKKyAgICogRmFsbGJhY2sgc29sdXRpb24KKyAgICovCisgIGludCBzdGF0dXM7CisgIGRvdWJsZSBpbnRlZ3JhbCwgZnJhY3Rpb247CisKKyMgaWYgZGVmaW5lZChUUklPX1BMQVRGT1JNX1VOSVgpCisgIHZvaWQgKCpzaWduYWxfaGFuZGxlcikoaW50KSA9IHNpZ25hbChTSUdGUEUsIFNJR19JR04pOworIyBlbmRpZgorCisgIHN0YXR1cyA9ICgvKgorCSAgICAgKiBOYU4gaXMgdGhlIG9ubHkgbnVtYmVyIHdoaWNoIGRvZXMgbm90IGNvbXBhcmUgdG8gaXRzZWxmCisJICAgICAqLworCSAgICAoKFRSSU9fVk9MQVRJTEUgZG91YmxlKW51bWJlciAhPSAoVFJJT19WT0xBVElMRSBkb3VibGUpbnVtYmVyKSB8fAorCSAgICAvKgorCSAgICAgKiBGYWxsYmFjayBzb2x1dGlvbiBpZiBOYU4gY29tcGFyZXMgdG8gTmFOCisJICAgICAqLworCSAgICAoKG51bWJlciAhPSAwLjApICYmCisJICAgICAoZnJhY3Rpb24gPSBtb2RmKG51bWJlciwgJmludGVncmFsKSwKKwkgICAgICBpbnRlZ3JhbCA9PSBmcmFjdGlvbikpKTsKKworIyBpZiBkZWZpbmVkKFRSSU9fUExBVEZPUk1fVU5JWCkKKyAgc2lnbmFsKFNJR0ZQRSwgc2lnbmFsX2hhbmRsZXIpOworIyBlbmRpZgorCisgIHJldHVybiBzdGF0dXM7CisKKyNlbmRpZgorfQorCisvKioKKyAgIENoZWNrIGZvciBpbmZpbml0eS4KKworICAgQHBhcmFtIG51bWJlciBBbiBhcmJpdHJhcnkgZmxvYXRpbmctcG9pbnQgbnVtYmVyLgorICAgQHJldHVybiAxIGlmIHBvc2l0aXZlIGluZmluaXR5LCAtMSBpZiBuZWdhdGl2ZSBpbmZpbml0eSwgMCBvdGhlcndpc2UuCisqLworVFJJT19QVUJMSUMgaW50Cit0cmlvX2lzaW5mCitUUklPX0FSR1MxKChudW1iZXIpLAorCSAgIGRvdWJsZSBudW1iZXIpCit7CisjaWYgZGVmaW5lZChUUklPX0NPTVBJTEVSX0RFQ0MpICYmICFkZWZpbmVkKF9fbGludXhfXykKKyAgLyoKKyAgICogREVDQyBoYXMgYW4gaXNpbmYoKSBtYWNybywgYnV0IGl0IHdvcmtzIGRpZmZlcmVudGx5IHRoYW4gdGhhdAorICAgKiBvZiBDOTksIHNvIHdlIHVzZSB0aGUgZnBfY2xhc3MoKSBmdW5jdGlvbiBpbnN0ZWFkLgorICAgKi8KKyAgcmV0dXJuICgoZnBfY2xhc3MobnVtYmVyKSA9PSBGUF9QT1NfSU5GKQorCSAgPyAxCisJICA6ICgoZnBfY2xhc3MobnVtYmVyKSA9PSBGUF9ORUdfSU5GKSA/IC0xIDogMCkpOworCisjZWxpZiBkZWZpbmVkKGlzaW5mKQorICAvKgorICAgKiBDOTkgZGVmaW5lcyBpc2luZigpIGFzIGEgbWFjcm8uCisgICAqLworICByZXR1cm4gaXNpbmYobnVtYmVyKQorICAgID8gKChudW1iZXIgPiAwLjApID8gMSA6IC0xKQorICAgIDogMDsKKworI2VsaWYgZGVmaW5lZChUUklPX0NPTVBJTEVSX01TVkMpIHx8IGRlZmluZWQoVFJJT19DT01QSUxFUl9CQ0IpCisgIC8qCisgICAqIE1pY3Jvc29mdCBWaXN1YWwgQysrIGFuZCBCb3JsYW5kIEMrKyBCdWlsZGVyIGhhdmUgYW4gX2ZwY2xhc3MoKQorICAgKiBmdW5jdGlvbiB0aGF0IGNhbiBiZSB1c2VkIHRvIGRldGVjdCBpbmZpbml0eS4KKyAgICovCisgIHJldHVybiAoKF9mcGNsYXNzKG51bWJlcikgPT0gX0ZQQ0xBU1NfUElORikKKwkgID8gMQorCSAgOiAoKF9mcGNsYXNzKG51bWJlcikgPT0gX0ZQQ0xBU1NfTklORikgPyAtMSA6IDApKTsKKworI2VsaWYgZGVmaW5lZChVU0VfSUVFRV83NTQpCisgIC8qCisgICAqIEV4YW1pbmUgSUVFRSA3NTQgYml0LXBhdHRlcm4uIEluZmluaXR5IG11c3QgaGF2ZSBhIHNwZWNpYWwgZXhwb25lbnQKKyAgICogcGF0dGVybiwgYW5kIGFuIGVtcHR5IG1hbnRpc3NhLgorICAgKi8KKyAgaW50IGhhc19tYW50aXNzYTsKKyAgaW50IGlzX3NwZWNpYWxfcXVhbnRpdHk7CisKKyAgaXNfc3BlY2lhbF9xdWFudGl0eSA9IHRyaW9faXNfc3BlY2lhbF9xdWFudGl0eShudW1iZXIsICZoYXNfbWFudGlzc2EpOworCisgIHJldHVybiAoaXNfc3BlY2lhbF9xdWFudGl0eSAmJiAhaGFzX21hbnRpc3NhKQorICAgID8gKChudW1iZXIgPCAwLjApID8gLTEgOiAxKQorICAgIDogMDsKKworI2Vsc2UKKyAgLyoKKyAgICogRmFsbGJhY2sgc29sdXRpb24uCisgICAqLworICBpbnQgc3RhdHVzOworCisjIGlmIGRlZmluZWQoVFJJT19QTEFURk9STV9VTklYKQorICB2b2lkICgqc2lnbmFsX2hhbmRsZXIpKGludCkgPSBzaWduYWwoU0lHRlBFLCBTSUdfSUdOKTsKKyMgZW5kaWYKKworICBkb3VibGUgaW5maW5pdHkgPSB0cmlvX3BpbmYoKTsKKworICBzdGF0dXMgPSAoKG51bWJlciA9PSBpbmZpbml0eSkKKwkgICAgPyAxCisJICAgIDogKChudW1iZXIgPT0gLWluZmluaXR5KSA/IC0xIDogMCkpOworCisjIGlmIGRlZmluZWQoVFJJT19QTEFURk9STV9VTklYKQorICBzaWduYWwoU0lHRlBFLCBzaWduYWxfaGFuZGxlcik7CisjIGVuZGlmCisKKyAgcmV0dXJuIHN0YXR1czsKKworI2VuZGlmCit9CisKKyNpZiAwCisJLyogVGVtcG9yYXJ5IGZpeCAtIHRoaXMgcm91dGluZSBpcyBub3QgdXNlZCBhbnl3aGVyZSAqLworLyoqCisgICBDaGVjayBmb3IgZmluaXR5LgorCisgICBAcGFyYW0gbnVtYmVyIEFuIGFyYml0cmFyeSBmbG9hdGluZy1wb2ludCBudW1iZXIuCisgICBAcmV0dXJuIEJvb2xlYW4gdmFsdWUgaW5kaWNhdGluZyB3aGV0aGVyIG9yIG5vdCB0aGUgbnVtYmVyIGlzIGEgZmluaXRlLgorKi8KK1RSSU9fUFVCTElDIGludAordHJpb19pc2Zpbml0ZQorVFJJT19BUkdTMSgobnVtYmVyKSwKKwkgICBkb3VibGUgbnVtYmVyKQoreworI2lmIGRlZmluZWQoVFJJT19DT01QSUxFUl9TVVBQT1JUU19DOTkpICYmIGRlZmluZWQoaXNmaW5pdGUpCisgIC8qCisgICAqIEM5OSBkZWZpbmVzIGlzZmluaXRlKCkgYXMgYSBtYWNyby4KKyAgICovCisgIHJldHVybiBpc2Zpbml0ZShudW1iZXIpOworCisjZWxpZiBkZWZpbmVkKFRSSU9fQ09NUElMRVJfTVNWQykgfHwgZGVmaW5lZChUUklPX0NPTVBJTEVSX0JDQikKKyAgLyoKKyAgICogTWljcm9zb2Z0IFZpc3VhbCBDKysgYW5kIEJvcmxhbmQgQysrIEJ1aWxkZXIgdXNlIF9maW5pdGUoKS4KKyAgICovCisgIHJldHVybiBfZmluaXRlKG51bWJlcik7CisKKyNlbGlmIGRlZmluZWQoVVNFX0lFRUVfNzU0KQorICAvKgorICAgKiBFeGFtaW5lIElFRUUgNzU0IGJpdC1wYXR0ZXJuLiBGb3IgZmluaXR5IHdlIGRvIG5vdCBjYXJlIGFib3V0IHRoZQorICAgKiBtYW50aXNzYS4KKyAgICovCisgIGludCBkdW1teTsKKworICByZXR1cm4gKCEgdHJpb19pc19zcGVjaWFsX3F1YW50aXR5KG51bWJlciwgJmR1bW15KSk7CisKKyNlbHNlCisgIC8qCisgICAqIEZhbGxiYWNrIHNvbHV0aW9uLgorICAgKi8KKyAgcmV0dXJuICgodHJpb19pc2luZihudW1iZXIpID09IDApICYmICh0cmlvX2lzbmFuKG51bWJlcikgPT0gMCkpOworCisjZW5kaWYKK30KKworI2VuZGlmCisKKy8qCisgKiBUaGUgc2lnbiBvZiBOYU4gaXMgYWx3YXlzIGZhbHNlCisgKi8KK1RSSU9fUFVCTElDIGludAordHJpb19mcGNsYXNzaWZ5X2FuZF9zaWduYml0CitUUklPX0FSR1MyKChudW1iZXIsIGlzX25lZ2F0aXZlKSwKKwkgICBkb3VibGUgbnVtYmVyLAorCSAgIGludCAqaXNfbmVnYXRpdmUpCit7CisjaWYgZGVmaW5lZChmcGNsYXNzaWZ5KSAmJiBkZWZpbmVkKHNpZ25iaXQpCisgIC8qCisgICAqIEM5OSBkZWZpbmVzIGZwY2xhc3NpZnkoKSBhbmQgc2lnbmJpdCgpIGFzIGEgbWFjcm9zCisgICAqLworICAqaXNfbmVnYXRpdmUgPSBzaWduYml0KG51bWJlcik7CisgIHN3aXRjaCAoZnBjbGFzc2lmeShudW1iZXIpKSB7CisgIGNhc2UgRlBfTkFOOgorICAgIHJldHVybiBUUklPX0ZQX05BTjsKKyAgY2FzZSBGUF9JTkZJTklURToKKyAgICByZXR1cm4gVFJJT19GUF9JTkZJTklURTsKKyAgY2FzZSBGUF9TVUJOT1JNQUw6CisgICAgcmV0dXJuIFRSSU9fRlBfU1VCTk9STUFMOworICBjYXNlIEZQX1pFUk86CisgICAgcmV0dXJuIFRSSU9fRlBfWkVSTzsKKyAgZGVmYXVsdDoKKyAgICByZXR1cm4gVFJJT19GUF9OT1JNQUw7CisgIH0KKworI2Vsc2UKKyMgaWYgZGVmaW5lZChUUklPX0NPTVBJTEVSX0RFQ0MpCisgIC8qCisgICAqIERFQ0MgaGFzIGFuIGZwX2NsYXNzKCkgZnVuY3Rpb24uCisgICAqLworIyAgZGVmaW5lIFRSSU9fRlBDTEFTU0lGWShuKSBmcF9jbGFzcyhuKQorIyAgZGVmaW5lIFRSSU9fUVVJRVRfTkFOIEZQX1FOQU4KKyMgIGRlZmluZSBUUklPX1NJR05BTExJTkdfTkFOIEZQX1NOQU4KKyMgIGRlZmluZSBUUklPX1BPU0lUSVZFX0lORklOSVRZIEZQX1BPU19JTkYKKyMgIGRlZmluZSBUUklPX05FR0FUSVZFX0lORklOSVRZIEZQX05FR19JTkYKKyMgIGRlZmluZSBUUklPX1BPU0lUSVZFX1NVQk5PUk1BTCBGUF9QT1NfREVOT1JNCisjICBkZWZpbmUgVFJJT19ORUdBVElWRV9TVUJOT1JNQUwgRlBfTkVHX0RFTk9STQorIyAgZGVmaW5lIFRSSU9fUE9TSVRJVkVfWkVSTyBGUF9QT1NfWkVSTworIyAgZGVmaW5lIFRSSU9fTkVHQVRJVkVfWkVSTyBGUF9ORUdfWkVSTworIyAgZGVmaW5lIFRSSU9fUE9TSVRJVkVfTk9STUFMIEZQX1BPU19OT1JNCisjICBkZWZpbmUgVFJJT19ORUdBVElWRV9OT1JNQUwgRlBfTkVHX05PUk0KKworIyBlbGlmIGRlZmluZWQoVFJJT19DT01QSUxFUl9NU1ZDKSB8fCBkZWZpbmVkKFRSSU9fQ09NUElMRVJfQkNCKQorICAvKgorICAgKiBNaWNyb3NvZnQgVmlzdWFsIEMrKyBhbmQgQm9ybGFuZCBDKysgQnVpbGRlciBoYXZlIGFuIF9mcGNsYXNzKCkKKyAgICogZnVuY3Rpb24uCisgICAqLworIyAgZGVmaW5lIFRSSU9fRlBDTEFTU0lGWShuKSBfZnBjbGFzcyhuKQorIyAgZGVmaW5lIFRSSU9fUVVJRVRfTkFOIF9GUENMQVNTX1FOQU4KKyMgIGRlZmluZSBUUklPX1NJR05BTExJTkdfTkFOIF9GUENMQVNTX1NOQU4KKyMgIGRlZmluZSBUUklPX1BPU0lUSVZFX0lORklOSVRZIF9GUENMQVNTX1BJTkYKKyMgIGRlZmluZSBUUklPX05FR0FUSVZFX0lORklOSVRZIF9GUENMQVNTX05JTkYKKyMgIGRlZmluZSBUUklPX1BPU0lUSVZFX1NVQk5PUk1BTCBfRlBDTEFTU19QRAorIyAgZGVmaW5lIFRSSU9fTkVHQVRJVkVfU1VCTk9STUFMIF9GUENMQVNTX05ECisjICBkZWZpbmUgVFJJT19QT1NJVElWRV9aRVJPIF9GUENMQVNTX1BaCisjICBkZWZpbmUgVFJJT19ORUdBVElWRV9aRVJPIF9GUENMQVNTX05aCisjICBkZWZpbmUgVFJJT19QT1NJVElWRV9OT1JNQUwgX0ZQQ0xBU1NfUE4KKyMgIGRlZmluZSBUUklPX05FR0FUSVZFX05PUk1BTCBfRlBDTEFTU19OTgorCisjIGVsaWYgZGVmaW5lZChGUF9QTFVTX05PUk0pCisgIC8qCisgICAqIEhQLVVYIDkueCBhbmQgMTAueCBoYXZlIGFuIGZwY2xhc3NpZnkoKSBmdW5jdGlvbiwgdGhhdCBpcyBkaWZmZXJlbnQKKyAgICogZnJvbSB0aGUgQzk5IGZwY2xhc3NpZnkoKSBtYWNybyBzdXBwb3J0ZWQgb24gSFAtVVggMTEueC4KKyAgICoKKyAgICogQUlYIGhhcyBjbGFzcygpIGZvciBDLCBhbmQgX2NsYXNzKCkgZm9yIEMrKywgd2hpY2ggcmV0dXJucyB0aGUKKyAgICogc2FtZSB2YWx1ZXMgYXMgdGhlIEhQLVVYIGZwY2xhc3NpZnkoKSBmdW5jdGlvbi4KKyAgICovCisjICBpZiBkZWZpbmVkKFRSSU9fUExBVEZPUk1fQUlYKQorIyAgIGlmIGRlZmluZWQoX19jcGx1c3BsdXMpCisjICAgIGRlZmluZSBUUklPX0ZQQ0xBU1NJRlkobikgX2NsYXNzKG4pCisjICAgZWxzZQorIyAgICBkZWZpbmUgVFJJT19GUENMQVNTSUZZKG4pIGNsYXNzKG4pCisjICAgZW5kaWYKKyMgIGVsc2UKKyMgICBkZWZpbmUgVFJJT19GUENMQVNTSUZZKG4pIGZwY2xhc3NpZnkobikKKyMgIGVuZGlmCisjICBkZWZpbmUgVFJJT19RVUlFVF9OQU4gRlBfUU5BTgorIyAgZGVmaW5lIFRSSU9fU0lHTkFMTElOR19OQU4gRlBfU05BTgorIyAgZGVmaW5lIFRSSU9fUE9TSVRJVkVfSU5GSU5JVFkgRlBfUExVU19JTkYKKyMgIGRlZmluZSBUUklPX05FR0FUSVZFX0lORklOSVRZIEZQX01JTlVTX0lORgorIyAgZGVmaW5lIFRSSU9fUE9TSVRJVkVfU1VCTk9STUFMIEZQX1BMVVNfREVOT1JNCisjICBkZWZpbmUgVFJJT19ORUdBVElWRV9TVUJOT1JNQUwgRlBfTUlOVVNfREVOT1JNCisjICBkZWZpbmUgVFJJT19QT1NJVElWRV9aRVJPIEZQX1BMVVNfWkVSTworIyAgZGVmaW5lIFRSSU9fTkVHQVRJVkVfWkVSTyBGUF9NSU5VU19aRVJPCisjICBkZWZpbmUgVFJJT19QT1NJVElWRV9OT1JNQUwgRlBfUExVU19OT1JNCisjICBkZWZpbmUgVFJJT19ORUdBVElWRV9OT1JNQUwgRlBfTUlOVVNfTk9STQorIyBlbmRpZgorCisjIGlmIGRlZmluZWQoVFJJT19GUENMQVNTSUZZKQorICBzd2l0Y2ggKFRSSU9fRlBDTEFTU0lGWShudW1iZXIpKSB7CisgIGNhc2UgVFJJT19RVUlFVF9OQU46CisgIGNhc2UgVFJJT19TSUdOQUxMSU5HX05BTjoKKyAgICAqaXNfbmVnYXRpdmUgPSBUUklPX0ZBTFNFOyAvKiBOYU4gaGFzIG5vIHNpZ24gKi8KKyAgICByZXR1cm4gVFJJT19GUF9OQU47CisgIGNhc2UgVFJJT19QT1NJVElWRV9JTkZJTklUWToKKyAgICAqaXNfbmVnYXRpdmUgPSBUUklPX0ZBTFNFOworICAgIHJldHVybiBUUklPX0ZQX0lORklOSVRFOworICBjYXNlIFRSSU9fTkVHQVRJVkVfSU5GSU5JVFk6CisgICAgKmlzX25lZ2F0aXZlID0gVFJJT19UUlVFOworICAgIHJldHVybiBUUklPX0ZQX0lORklOSVRFOworICBjYXNlIFRSSU9fUE9TSVRJVkVfU1VCTk9STUFMOgorICAgICppc19uZWdhdGl2ZSA9IFRSSU9fRkFMU0U7CisgICAgcmV0dXJuIFRSSU9fRlBfU1VCTk9STUFMOworICBjYXNlIFRSSU9fTkVHQVRJVkVfU1VCTk9STUFMOgorICAgICppc19uZWdhdGl2ZSA9IFRSSU9fVFJVRTsKKyAgICByZXR1cm4gVFJJT19GUF9TVUJOT1JNQUw7CisgIGNhc2UgVFJJT19QT1NJVElWRV9aRVJPOgorICAgICppc19uZWdhdGl2ZSA9IFRSSU9fRkFMU0U7CisgICAgcmV0dXJuIFRSSU9fRlBfWkVSTzsKKyAgY2FzZSBUUklPX05FR0FUSVZFX1pFUk86CisgICAgKmlzX25lZ2F0aXZlID0gVFJJT19UUlVFOworICAgIHJldHVybiBUUklPX0ZQX1pFUk87CisgIGNhc2UgVFJJT19QT1NJVElWRV9OT1JNQUw6CisgICAgKmlzX25lZ2F0aXZlID0gVFJJT19GQUxTRTsKKyAgICByZXR1cm4gVFJJT19GUF9OT1JNQUw7CisgIGNhc2UgVFJJT19ORUdBVElWRV9OT1JNQUw6CisgICAgKmlzX25lZ2F0aXZlID0gVFJJT19UUlVFOworICAgIHJldHVybiBUUklPX0ZQX05PUk1BTDsKKyAgZGVmYXVsdDoKKyAgICAvKiBKdXN0IGluIGNhc2UuLi4gKi8KKyAgICAqaXNfbmVnYXRpdmUgPSAobnVtYmVyIDwgMC4wKTsKKyAgICByZXR1cm4gVFJJT19GUF9OT1JNQUw7CisgIH0KKworIyBlbHNlCisgIC8qCisgICAqIEZhbGxiYWNrIHNvbHV0aW9uLgorICAgKi8KKyAgaW50IHJjOworCisgIGlmIChudW1iZXIgPT0gMC4wKSB7CisgICAgLyoKKyAgICAgKiBJbiBJRUVFIDc1NCB0aGUgc2lnbiBvZiB6ZXJvIGlzIGlnbm9yZWQgaW4gY29tcGFyaXNvbnMsIHNvIHdlCisgICAgICogaGF2ZSB0byBoYW5kbGUgdGhpcyBhcyBhIHNwZWNpYWwgY2FzZSBieSBleGFtaW5pbmcgdGhlIHNpZ24gYml0CisgICAgICogZGlyZWN0bHkuCisgICAgICovCisjICBpZiBkZWZpbmVkKFVTRV9JRUVFXzc1NCkKKyAgICAqaXNfbmVnYXRpdmUgPSB0cmlvX2lzX25lZ2F0aXZlKG51bWJlcik7CisjICBlbHNlCisgICAgKmlzX25lZ2F0aXZlID0gVFJJT19GQUxTRTsgLyogRklYTUUgKi8KKyMgIGVuZGlmCisgICAgcmV0dXJuIFRSSU9fRlBfWkVSTzsKKyAgfQorICBpZiAodHJpb19pc25hbihudW1iZXIpKSB7CisgICAgKmlzX25lZ2F0aXZlID0gVFJJT19GQUxTRTsKKyAgICByZXR1cm4gVFJJT19GUF9OQU47CisgIH0KKyAgaWYgKChyYyA9IHRyaW9faXNpbmYobnVtYmVyKSkpIHsKKyAgICAqaXNfbmVnYXRpdmUgPSAocmMgPT0gLTEpOworICAgIHJldHVybiBUUklPX0ZQX0lORklOSVRFOworICB9CisgIGlmICgobnVtYmVyID4gMC4wKSAmJiAobnVtYmVyIDwgREJMX01JTikpIHsKKyAgICAqaXNfbmVnYXRpdmUgPSBUUklPX0ZBTFNFOworICAgIHJldHVybiBUUklPX0ZQX1NVQk5PUk1BTDsKKyAgfQorICBpZiAoKG51bWJlciA8IDAuMCkgJiYgKG51bWJlciA+IC1EQkxfTUlOKSkgeworICAgICppc19uZWdhdGl2ZSA9IFRSSU9fVFJVRTsKKyAgICByZXR1cm4gVFJJT19GUF9TVUJOT1JNQUw7CisgIH0KKyAgKmlzX25lZ2F0aXZlID0gKG51bWJlciA8IDAuMCk7CisgIHJldHVybiBUUklPX0ZQX05PUk1BTDsKKworIyBlbmRpZgorI2VuZGlmCit9CisKKy8qKgorICAgRXhhbWluZSB0aGUgc2lnbiBvZiBhIG51bWJlci4KKworICAgQHBhcmFtIG51bWJlciBBbiBhcmJpdHJhcnkgZmxvYXRpbmctcG9pbnQgbnVtYmVyLgorICAgQHJldHVybiBCb29sZWFuIHZhbHVlIGluZGljYXRpbmcgd2hldGhlciBvciBub3QgdGhlIG51bWJlciBoYXMgdGhlCisgICBzaWduIGJpdCBzZXQgKGkuZS4gaXMgbmVnYXRpdmUpLgorKi8KK1RSSU9fUFVCTElDIGludAordHJpb19zaWduYml0CitUUklPX0FSR1MxKChudW1iZXIpLAorCSAgIGRvdWJsZSBudW1iZXIpCit7CisgIGludCBpc19uZWdhdGl2ZTsKKworICAodm9pZCl0cmlvX2ZwY2xhc3NpZnlfYW5kX3NpZ25iaXQobnVtYmVyLCAmaXNfbmVnYXRpdmUpOworICByZXR1cm4gaXNfbmVnYXRpdmU7Cit9CisKKyNpZiAwCisJLyogVGVtcG9yYXJ5IGZpeCAtIHRoaXMgcm91dGluZSBpcyBub3QgdXNlZCBpbiBsaWJ4bWwgKi8KKy8qKgorICAgRXhhbWluZSB0aGUgY2xhc3Mgb2YgYSBudW1iZXIuCisKKyAgIEBwYXJhbSBudW1iZXIgQW4gYXJiaXRyYXJ5IGZsb2F0aW5nLXBvaW50IG51bWJlci4KKyAgIEByZXR1cm4gRW51bWVyYWJsZSB2YWx1ZSBpbmRpY2F0aW5nIHRoZSBjbGFzcyBvZiBAcCBudW1iZXIKKyovCitUUklPX1BVQkxJQyBpbnQKK3RyaW9fZnBjbGFzc2lmeQorVFJJT19BUkdTMSgobnVtYmVyKSwKKwkgICBkb3VibGUgbnVtYmVyKQoreworICBpbnQgZHVtbXk7CisKKyAgcmV0dXJuIHRyaW9fZnBjbGFzc2lmeV9hbmRfc2lnbmJpdChudW1iZXIsICZkdW1teSk7Cit9CisKKyNlbmRpZgorCisvKiogQH0gU3BlY2lhbFF1YW50aXRpZXMgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEZvciB0ZXN0IHB1cnBvc2VzLgorICoKKyAqIEFkZCB0aGUgZm9sbG93aW5nIGNvbXBpbGVyIG9wdGlvbiB0byBpbmNsdWRlIHRoaXMgdGVzdCBjb2RlLgorICoKKyAqICBVbml4IDogLURTVEFOREFMT05FCisgKiAgVk1TICA6IC9ERUZJTkU9KFNUQU5EQUxPTkUpCisgKi8KKyNpZiBkZWZpbmVkKFNUQU5EQUxPTkUpCisjIGluY2x1ZGUgPHN0ZGlvLmg+CisKK3N0YXRpYyBUUklPX0NPTlNUIGNoYXIgKgorZ2V0Q2xhc3NpZmljYXRpb24KK1RSSU9fQVJHUzEoKHR5cGUpLAorCSAgIGludCB0eXBlKQoreworICBzd2l0Y2ggKHR5cGUpIHsKKyAgY2FzZSBUUklPX0ZQX0lORklOSVRFOgorICAgIHJldHVybiAiRlBfSU5GSU5JVEUiOworICBjYXNlIFRSSU9fRlBfTkFOOgorICAgIHJldHVybiAiRlBfTkFOIjsKKyAgY2FzZSBUUklPX0ZQX05PUk1BTDoKKyAgICByZXR1cm4gIkZQX05PUk1BTCI7CisgIGNhc2UgVFJJT19GUF9TVUJOT1JNQUw6CisgICAgcmV0dXJuICJGUF9TVUJOT1JNQUwiOworICBjYXNlIFRSSU9fRlBfWkVSTzoKKyAgICByZXR1cm4gIkZQX1pFUk8iOworICBkZWZhdWx0OgorICAgIHJldHVybiAiRlBfVU5LTk9XTiI7CisgIH0KK30KKworc3RhdGljIHZvaWQKK3ByaW50X2NsYXNzCitUUklPX0FSR1MyKChwcmVmaXgsIG51bWJlciksCisJICAgVFJJT19DT05TVCBjaGFyICpwcmVmaXgsCisJICAgZG91YmxlIG51bWJlcikKK3sKKyAgcHJpbnRmKCIlLTZzOiAlcyAlLTE1cyAlZ1xuIiwKKwkgcHJlZml4LAorCSB0cmlvX3NpZ25iaXQobnVtYmVyKSA/ICItIiA6ICIrIiwKKwkgZ2V0Q2xhc3NpZmljYXRpb24oVFJJT19GUENMQVNTSUZZKG51bWJlcikpLAorCSBudW1iZXIpOworfQorCitpbnQgbWFpbihUUklPX05PQVJHUykKK3sKKyAgZG91YmxlIG15X25hbjsKKyAgZG91YmxlIG15X3BpbmY7CisgIGRvdWJsZSBteV9uaW5mOworIyBpZiBkZWZpbmVkKFRSSU9fUExBVEZPUk1fVU5JWCkKKyAgdm9pZCAoKnNpZ25hbF9oYW5kbGVyKSBUUklPX1BST1RPKChpbnQpKTsKKyMgZW5kaWYKKworICBteV9uYW4gPSB0cmlvX25hbigpOworICBteV9waW5mID0gdHJpb19waW5mKCk7CisgIG15X25pbmYgPSB0cmlvX25pbmYoKTsKKworICBwcmludF9jbGFzcygiTmFuIiwgbXlfbmFuKTsKKyAgcHJpbnRfY2xhc3MoIlBJbmYiLCBteV9waW5mKTsKKyAgcHJpbnRfY2xhc3MoIk5JbmYiLCBteV9uaW5mKTsKKyAgcHJpbnRfY2xhc3MoIlBaZXJvIiwgMC4wKTsKKyAgcHJpbnRfY2xhc3MoIk5aZXJvIiwgLTAuMCk7CisgIHByaW50X2NsYXNzKCJQTm9ybSIsIDEuMCk7CisgIHByaW50X2NsYXNzKCJOTm9ybSIsIC0xLjApOworICBwcmludF9jbGFzcygiUFN1YiIsIDEuMDFlLTMwNyAtIDEuMDBlLTMwNyk7CisgIHByaW50X2NsYXNzKCJOU3ViIiwgMS4wMGUtMzA3IC0gMS4wMWUtMzA3KTsKKworICBwcmludGYoIk5hTiA6ICU0ZyAweCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4ICglMmQsICUyZClcbiIsCisJIG15X25hbiwKKwkgKCh1bnNpZ25lZCBjaGFyICopJm15X25hbilbMF0sCisJICgodW5zaWduZWQgY2hhciAqKSZteV9uYW4pWzFdLAorCSAoKHVuc2lnbmVkIGNoYXIgKikmbXlfbmFuKVsyXSwKKwkgKCh1bnNpZ25lZCBjaGFyICopJm15X25hbilbM10sCisJICgodW5zaWduZWQgY2hhciAqKSZteV9uYW4pWzRdLAorCSAoKHVuc2lnbmVkIGNoYXIgKikmbXlfbmFuKVs1XSwKKwkgKCh1bnNpZ25lZCBjaGFyICopJm15X25hbilbNl0sCisJICgodW5zaWduZWQgY2hhciAqKSZteV9uYW4pWzddLAorCSB0cmlvX2lzbmFuKG15X25hbiksIHRyaW9faXNpbmYobXlfbmFuKSk7CisgIHByaW50ZigiUEluZjogJTRnIDB4JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnggKCUyZCwgJTJkKVxuIiwKKwkgbXlfcGluZiwKKwkgKCh1bnNpZ25lZCBjaGFyICopJm15X3BpbmYpWzBdLAorCSAoKHVuc2lnbmVkIGNoYXIgKikmbXlfcGluZilbMV0sCisJICgodW5zaWduZWQgY2hhciAqKSZteV9waW5mKVsyXSwKKwkgKCh1bnNpZ25lZCBjaGFyICopJm15X3BpbmYpWzNdLAorCSAoKHVuc2lnbmVkIGNoYXIgKikmbXlfcGluZilbNF0sCisJICgodW5zaWduZWQgY2hhciAqKSZteV9waW5mKVs1XSwKKwkgKCh1bnNpZ25lZCBjaGFyICopJm15X3BpbmYpWzZdLAorCSAoKHVuc2lnbmVkIGNoYXIgKikmbXlfcGluZilbN10sCisJIHRyaW9faXNuYW4obXlfcGluZiksIHRyaW9faXNpbmYobXlfcGluZikpOworICBwcmludGYoIk5JbmY6ICU0ZyAweCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4ICglMmQsICUyZClcbiIsCisJIG15X25pbmYsCisJICgodW5zaWduZWQgY2hhciAqKSZteV9uaW5mKVswXSwKKwkgKCh1bnNpZ25lZCBjaGFyICopJm15X25pbmYpWzFdLAorCSAoKHVuc2lnbmVkIGNoYXIgKikmbXlfbmluZilbMl0sCisJICgodW5zaWduZWQgY2hhciAqKSZteV9uaW5mKVszXSwKKwkgKCh1bnNpZ25lZCBjaGFyICopJm15X25pbmYpWzRdLAorCSAoKHVuc2lnbmVkIGNoYXIgKikmbXlfbmluZilbNV0sCisJICgodW5zaWduZWQgY2hhciAqKSZteV9uaW5mKVs2XSwKKwkgKCh1bnNpZ25lZCBjaGFyICopJm15X25pbmYpWzddLAorCSB0cmlvX2lzbmFuKG15X25pbmYpLCB0cmlvX2lzaW5mKG15X25pbmYpKTsKKworIyBpZiBkZWZpbmVkKFRSSU9fUExBVEZPUk1fVU5JWCkKKyAgc2lnbmFsX2hhbmRsZXIgPSBzaWduYWwoU0lHRlBFLCBTSUdfSUdOKTsKKyMgZW5kaWYKKworICBteV9waW5mID0gREJMX01BWCArIERCTF9NQVg7CisgIG15X25pbmYgPSAtbXlfcGluZjsKKyAgbXlfbmFuID0gbXlfcGluZiAvIG15X3BpbmY7CisKKyMgaWYgZGVmaW5lZChUUklPX1BMQVRGT1JNX1VOSVgpCisgIHNpZ25hbChTSUdGUEUsIHNpZ25hbF9oYW5kbGVyKTsKKyMgZW5kaWYKKworICBwcmludGYoIk5hTiA6ICU0ZyAweCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4ICglMmQsICUyZClcbiIsCisJIG15X25hbiwKKwkgKCh1bnNpZ25lZCBjaGFyICopJm15X25hbilbMF0sCisJICgodW5zaWduZWQgY2hhciAqKSZteV9uYW4pWzFdLAorCSAoKHVuc2lnbmVkIGNoYXIgKikmbXlfbmFuKVsyXSwKKwkgKCh1bnNpZ25lZCBjaGFyICopJm15X25hbilbM10sCisJICgodW5zaWduZWQgY2hhciAqKSZteV9uYW4pWzRdLAorCSAoKHVuc2lnbmVkIGNoYXIgKikmbXlfbmFuKVs1XSwKKwkgKCh1bnNpZ25lZCBjaGFyICopJm15X25hbilbNl0sCisJICgodW5zaWduZWQgY2hhciAqKSZteV9uYW4pWzddLAorCSB0cmlvX2lzbmFuKG15X25hbiksIHRyaW9faXNpbmYobXlfbmFuKSk7CisgIHByaW50ZigiUEluZjogJTRnIDB4JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnggKCUyZCwgJTJkKVxuIiwKKwkgbXlfcGluZiwKKwkgKCh1bnNpZ25lZCBjaGFyICopJm15X3BpbmYpWzBdLAorCSAoKHVuc2lnbmVkIGNoYXIgKikmbXlfcGluZilbMV0sCisJICgodW5zaWduZWQgY2hhciAqKSZteV9waW5mKVsyXSwKKwkgKCh1bnNpZ25lZCBjaGFyICopJm15X3BpbmYpWzNdLAorCSAoKHVuc2lnbmVkIGNoYXIgKikmbXlfcGluZilbNF0sCisJICgodW5zaWduZWQgY2hhciAqKSZteV9waW5mKVs1XSwKKwkgKCh1bnNpZ25lZCBjaGFyICopJm15X3BpbmYpWzZdLAorCSAoKHVuc2lnbmVkIGNoYXIgKikmbXlfcGluZilbN10sCisJIHRyaW9faXNuYW4obXlfcGluZiksIHRyaW9faXNpbmYobXlfcGluZikpOworICBwcmludGYoIk5JbmY6ICU0ZyAweCUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4ICglMmQsICUyZClcbiIsCisJIG15X25pbmYsCisJICgodW5zaWduZWQgY2hhciAqKSZteV9uaW5mKVswXSwKKwkgKCh1bnNpZ25lZCBjaGFyICopJm15X25pbmYpWzFdLAorCSAoKHVuc2lnbmVkIGNoYXIgKikmbXlfbmluZilbMl0sCisJICgodW5zaWduZWQgY2hhciAqKSZteV9uaW5mKVszXSwKKwkgKCh1bnNpZ25lZCBjaGFyICopJm15X25pbmYpWzRdLAorCSAoKHVuc2lnbmVkIGNoYXIgKikmbXlfbmluZilbNV0sCisJICgodW5zaWduZWQgY2hhciAqKSZteV9uaW5mKVs2XSwKKwkgKCh1bnNpZ25lZCBjaGFyICopJm15X25pbmYpWzddLAorCSB0cmlvX2lzbmFuKG15X25pbmYpLCB0cmlvX2lzaW5mKG15X25pbmYpKTsKKworICByZXR1cm4gMDsKK30KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbGlieG1sMi90cmlvbmFuLmggYi9saWJ4bWwyL3RyaW9uYW4uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZTZlNzE4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi90cmlvbmFuLmgKQEAgLTAsMCArMSw4NCBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiAkSWQkCisgKgorICogQ29weXJpZ2h0IChDKSAyMDAxIEJqb3JuIFJlZXNlIDxicmVlc2VAdXNlcnMuc291cmNlZm9yZ2UubmV0PgorICoKKyAqIFBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZCBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgZm9yIGFueQorICogcHVycG9zZSB3aXRoIG9yIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLCBwcm92aWRlZCB0aGF0IHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBhcHBlYXIgaW4gYWxsIGNvcGllcy4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIGBgQVMgSVMnJyBBTkQgV0lUSE9VVCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVECisgKiBXQVJSQU5USUVTLCBJTkNMVURJTkcsIFdJVEhPVVQgTElNSVRBVElPTiwgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorICogTUVSQ0hBTlRJQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gVEhFIEFVVEhPUlMgQU5ECisgKiBDT05UUklCVVRPUlMgQUNDRVBUIE5PIFJFU1BPTlNJQklMSVRZIElOIEFOWSBDT05DRUlWQUJMRSBNQU5ORVIuCisgKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmbmRlZiBUUklPX05BTl9ICisjZGVmaW5lIFRSSU9fTkFOX0gKKworI2luY2x1ZGUgInRyaW9kZWYuaCIKKworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCitlbnVtIHsKKyAgVFJJT19GUF9JTkZJTklURSwKKyAgVFJJT19GUF9OQU4sCisgIFRSSU9fRlBfTk9STUFMLAorICBUUklPX0ZQX1NVQk5PUk1BTCwKKyAgVFJJT19GUF9aRVJPCit9OworCisvKgorICogUmV0dXJuIE5hTiAoTm90LWEtTnVtYmVyKS4KKyAqLworVFJJT19QVUJMSUMgZG91YmxlIHRyaW9fbmFuIFRSSU9fUFJPVE8oKHZvaWQpKTsKKworLyoKKyAqIFJldHVybiBwb3NpdGl2ZSBpbmZpbml0eS4KKyAqLworVFJJT19QVUJMSUMgZG91YmxlIHRyaW9fcGluZiBUUklPX1BST1RPKCh2b2lkKSk7CisKKy8qCisgKiBSZXR1cm4gbmVnYXRpdmUgaW5maW5pdHkuCisgKi8KK1RSSU9fUFVCTElDIGRvdWJsZSB0cmlvX25pbmYgVFJJT19QUk9UTygodm9pZCkpOworCisvKgorICogUmV0dXJuIG5lZ2F0aXZlIHplcm8uCisgKi8KK1RSSU9fUFVCTElDIGRvdWJsZSB0cmlvX256ZXJvIFRSSU9fUFJPVE8oKFRSSU9fTk9BUkdTKSk7CisKKy8qCisgKiBJZiBudW1iZXIgaXMgYSBOYU4gcmV0dXJuIG5vbi16ZXJvLCBvdGhlcndpc2UgcmV0dXJuIHplcm8uCisgKi8KK1RSSU9fUFVCTElDIGludCB0cmlvX2lzbmFuIFRSSU9fUFJPVE8oKGRvdWJsZSBudW1iZXIpKTsKKworLyoKKyAqIElmIG51bWJlciBpcyBwb3NpdGl2ZSBpbmZpbml0eSByZXR1cm4gMSwgaWYgbnVtYmVyIGlzIG5lZ2F0aXZlCisgKiBpbmZpbml0eSByZXR1cm4gLTEsIG90aGVyd2lzZSByZXR1cm4gMC4KKyAqLworVFJJT19QVUJMSUMgaW50IHRyaW9faXNpbmYgVFJJT19QUk9UTygoZG91YmxlIG51bWJlcikpOworCisvKgorICogSWYgbnVtYmVyIGlzIGZpbml0ZSByZXR1cm4gbm9uLXplcm8sIG90aGVyd2lzZSByZXR1cm4gemVyby4KKyAqLworI2lmIDAKKwkvKiBUZW1wb3JhcnkgZml4IC0gdGhlc2UgMiByb3V0aW5lcyBub3QgdXNlZCBpbiBsaWJ4bWwgKi8KK1RSSU9fUFVCTElDIGludCB0cmlvX2lzZmluaXRlIFRSSU9fUFJPVE8oKGRvdWJsZSBudW1iZXIpKTsKKworVFJJT19QVUJMSUMgaW50IHRyaW9fZnBjbGFzc2lmeSBUUklPX1BST1RPKChkb3VibGUgbnVtYmVyKSk7CisjZW5kaWYKKworVFJJT19QVUJMSUMgaW50IHRyaW9fc2lnbmJpdCBUUklPX1BST1RPKChkb3VibGUgbnVtYmVyKSk7CisKK1RSSU9fUFVCTElDIGludCB0cmlvX2ZwY2xhc3NpZnlfYW5kX3NpZ25iaXQgVFJJT19QUk9UTygoZG91YmxlIG51bWJlciwgaW50ICppc19uZWdhdGl2ZSkpOworCisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorCisjZW5kaWYgLyogVFJJT19OQU5fSCAqLwpkaWZmIC0tZ2l0IGEvbGlieG1sMi90cmlvcC5oIGIvbGlieG1sMi90cmlvcC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg0NjJjNTYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3RyaW9wLmgKQEAgLTAsMCArMSwxNTAgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogJElkJAorICoKKyAqIENvcHlyaWdodCAoQykgMjAwMCBCam9ybiBSZWVzZSBhbmQgRGFuaWVsIFN0ZW5iZXJnLgorICoKKyAqIFBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZCBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgZm9yIGFueQorICogcHVycG9zZSB3aXRoIG9yIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLCBwcm92aWRlZCB0aGF0IHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBhcHBlYXIgaW4gYWxsIGNvcGllcy4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIGBgQVMgSVMnJyBBTkQgV0lUSE9VVCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVECisgKiBXQVJSQU5USUVTLCBJTkNMVURJTkcsIFdJVEhPVVQgTElNSVRBVElPTiwgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorICogTUVSQ0hBTlRJQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gVEhFIEFVVEhPUlMgQU5ECisgKiBDT05UUklCVVRPUlMgQUNDRVBUIE5PIFJFU1BPTlNJQklMSVRZIElOIEFOWSBDT05DRUlWQUJMRSBNQU5ORVIuCisgKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIFByaXZhdGUgZnVuY3Rpb25zLCB0eXBlcywgZXRjLiB1c2VkIGZvciBjYWxsYmFjayBmdW5jdGlvbnMuCisgKgorICogVGhlIHJlZiBwb2ludGVyIGlzIGFuIG9wYXF1ZSB0eXBlIGFuZCBzaG91bGQgcmVtYWluIGFzIHN1Y2guCisgKiBQcml2YXRlIGRhdGEgbXVzdCBvbmx5IGJlIGFjY2Vzc2libGUgdGhyb3VnaCB0aGUgZ2V0dGVyIGFuZAorICogc2V0dGVyIGZ1bmN0aW9ucy4KKyAqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWZuZGVmIFRSSU9fVFJJT1BfSAorI2RlZmluZSBUUklPX1RSSU9QX0gKKworI2luY2x1ZGUgInRyaW9kZWYuaCIKKworI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2lmIGRlZmluZWQoVFJJT19DT01QSUxFUl9BTkNJRU5UKQorIyBpbmNsdWRlIDx2YXJhcmdzLmg+CisjZWxzZQorIyBpbmNsdWRlIDxzdGRhcmcuaD4KKyNlbmRpZgorCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCisKKyNpZm5kZWYgVFJJT19DOTkKKyMgZGVmaW5lIFRSSU9fQzk5IDEKKyNlbmRpZgorI2lmbmRlZiBUUklPX0JTRAorIyBkZWZpbmUgVFJJT19CU0QgMQorI2VuZGlmCisjaWZuZGVmIFRSSU9fR05VCisjIGRlZmluZSBUUklPX0dOVSAxCisjZW5kaWYKKyNpZm5kZWYgVFJJT19NSVNDCisjIGRlZmluZSBUUklPX01JU0MgMQorI2VuZGlmCisjaWZuZGVmIFRSSU9fVU5JWDk4CisjIGRlZmluZSBUUklPX1VOSVg5OCAxCisjZW5kaWYKKyNpZm5kZWYgVFJJT19NSUNST1NPRlQKKyMgZGVmaW5lIFRSSU9fTUlDUk9TT0ZUIDEKKyNlbmRpZgorI2lmbmRlZiBUUklPX0VYVEVOU0lPTgorIyBkZWZpbmUgVFJJT19FWFRFTlNJT04gMQorI2VuZGlmCisjaWZuZGVmIFRSSU9fV0lERUNIQVIgLyogRG9lcyBub3Qgd29yayB5ZXQuIERvIG5vdCBlbmFibGUgKi8KKyMgZGVmaW5lIFRSSU9fV0lERUNIQVIgMAorI2VuZGlmCisjaWZuZGVmIFRSSU9fRVJST1JTCisjIGRlZmluZSBUUklPX0VSUk9SUyAxCisjZW5kaWYKKworI2lmbmRlZiBUUklPX01BTExPQworIyBkZWZpbmUgVFJJT19NQUxMT0MobikgbWFsbG9jKG4pCisjZW5kaWYKKyNpZm5kZWYgVFJJT19SRUFMTE9DCisjIGRlZmluZSBUUklPX1JFQUxMT0MoeCxuKSByZWFsbG9jKCh4KSwobikpCisjZW5kaWYKKyNpZm5kZWYgVFJJT19GUkVFCisjIGRlZmluZSBUUklPX0ZSRUUoeCkgZnJlZSh4KQorI2VuZGlmCisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFVzZXItZGVmaW5lZCBzcGVjaWZpZXJzCisgKi8KKwordHlwZWRlZiBpbnQgKCp0cmlvX2NhbGxiYWNrX3QpIFRSSU9fUFJPVE8oKHRyaW9fcG9pbnRlcl90KSk7CisKK3RyaW9fcG9pbnRlcl90IHRyaW9fcmVnaXN0ZXIgVFJJT19QUk9UTygodHJpb19jYWxsYmFja190IGNhbGxiYWNrLCBjb25zdCBjaGFyICpuYW1lKSk7Cit2b2lkIHRyaW9fdW5yZWdpc3RlciBUUklPX1BST1RPKCh0cmlvX3BvaW50ZXJfdCBoYW5kbGUpKTsKKworVFJJT19DT05TVCBjaGFyICp0cmlvX2dldF9mb3JtYXQgVFJJT19QUk9UTygodHJpb19wb2ludGVyX3QgcmVmKSk7Cit0cmlvX3BvaW50ZXJfdCB0cmlvX2dldF9hcmd1bWVudCBUUklPX1BST1RPKCh0cmlvX3BvaW50ZXJfdCByZWYpKTsKKworLyogTW9kaWZpZXJzICovCitpbnQgIHRyaW9fZ2V0X3dpZHRoIFRSSU9fUFJPVE8oKHRyaW9fcG9pbnRlcl90IHJlZikpOwordm9pZCB0cmlvX3NldF93aWR0aCBUUklPX1BST1RPKCh0cmlvX3BvaW50ZXJfdCByZWYsIGludCB3aWR0aCkpOworaW50ICB0cmlvX2dldF9wcmVjaXNpb24gVFJJT19QUk9UTygodHJpb19wb2ludGVyX3QgcmVmKSk7Cit2b2lkIHRyaW9fc2V0X3ByZWNpc2lvbiBUUklPX1BST1RPKCh0cmlvX3BvaW50ZXJfdCByZWYsIGludCBwcmVjaXNpb24pKTsKK2ludCAgdHJpb19nZXRfYmFzZSBUUklPX1BST1RPKCh0cmlvX3BvaW50ZXJfdCByZWYpKTsKK3ZvaWQgdHJpb19zZXRfYmFzZSBUUklPX1BST1RPKCh0cmlvX3BvaW50ZXJfdCByZWYsIGludCBiYXNlKSk7CitpbnQgIHRyaW9fZ2V0X3BhZGRpbmcgVFJJT19QUk9UTygodHJpb19wb2ludGVyX3QgcmVmKSk7Cit2b2lkIHRyaW9fc2V0X3BhZGRpbmcgVFJJT19QUk9UTygodHJpb19wb2ludGVyX3QgcmVmLCBpbnQgaXNfcGFkZGluZykpOworaW50ICB0cmlvX2dldF9zaG9ydCBUUklPX1BST1RPKCh0cmlvX3BvaW50ZXJfdCByZWYpKTsgLyogaCAqLwordm9pZCB0cmlvX3NldF9zaG9ydHNob3J0IFRSSU9fUFJPVE8oKHRyaW9fcG9pbnRlcl90IHJlZiwgaW50IGlzX3Nob3J0c2hvcnQpKTsKK2ludCAgdHJpb19nZXRfc2hvcnRzaG9ydCBUUklPX1BST1RPKCh0cmlvX3BvaW50ZXJfdCByZWYpKTsgLyogaGggKi8KK3ZvaWQgdHJpb19zZXRfc2hvcnQgVFJJT19QUk9UTygodHJpb19wb2ludGVyX3QgcmVmLCBpbnQgaXNfc2hvcnQpKTsKK2ludCAgdHJpb19nZXRfbG9uZyBUUklPX1BST1RPKCh0cmlvX3BvaW50ZXJfdCByZWYpKTsgLyogbCAqLwordm9pZCB0cmlvX3NldF9sb25nIFRSSU9fUFJPVE8oKHRyaW9fcG9pbnRlcl90IHJlZiwgaW50IGlzX2xvbmcpKTsKK2ludCAgdHJpb19nZXRfbG9uZ2xvbmcgVFJJT19QUk9UTygodHJpb19wb2ludGVyX3QgcmVmKSk7IC8qIGxsICovCit2b2lkIHRyaW9fc2V0X2xvbmdsb25nIFRSSU9fUFJPVE8oKHRyaW9fcG9pbnRlcl90IHJlZiwgaW50IGlzX2xvbmdsb25nKSk7CitpbnQgIHRyaW9fZ2V0X2xvbmdkb3VibGUgVFJJT19QUk9UTygodHJpb19wb2ludGVyX3QgcmVmKSk7IC8qIEwgKi8KK3ZvaWQgdHJpb19zZXRfbG9uZ2RvdWJsZSBUUklPX1BST1RPKCh0cmlvX3BvaW50ZXJfdCByZWYsIGludCBpc19sb25nZG91YmxlKSk7CitpbnQgIHRyaW9fZ2V0X2FsdGVybmF0aXZlIFRSSU9fUFJPVE8oKHRyaW9fcG9pbnRlcl90IHJlZikpOyAvKiAjICovCit2b2lkIHRyaW9fc2V0X2FsdGVybmF0aXZlIFRSSU9fUFJPVE8oKHRyaW9fcG9pbnRlcl90IHJlZiwgaW50IGlzX2FsdGVybmF0aXZlKSk7CitpbnQgIHRyaW9fZ2V0X2FsaWdubWVudCBUUklPX1BST1RPKCh0cmlvX3BvaW50ZXJfdCByZWYpKTsgLyogLSAqLwordm9pZCB0cmlvX3NldF9hbGlnbm1lbnQgVFJJT19QUk9UTygodHJpb19wb2ludGVyX3QgcmVmLCBpbnQgaXNfbGVmdGFsaWduZWQpKTsKK2ludCAgdHJpb19nZXRfc3BhY2luZyBUUklPX1BST1RPKCh0cmlvX3BvaW50ZXJfdCByZWYpKTsgLyogIFRSSU9fUFJPVE8oKHNwYWNlKSAqLwordm9pZCB0cmlvX3NldF9zcGFjaW5nIFRSSU9fUFJPVE8oKHRyaW9fcG9pbnRlcl90IHJlZiwgaW50IGlzX3NwYWNlKSk7CitpbnQgIHRyaW9fZ2V0X3NpZ24gVFJJT19QUk9UTygodHJpb19wb2ludGVyX3QgcmVmKSk7IC8qICsgKi8KK3ZvaWQgdHJpb19zZXRfc2lnbiBUUklPX1BST1RPKCh0cmlvX3BvaW50ZXJfdCByZWYsIGludCBpc19zaG93c2lnbikpOworaW50ICB0cmlvX2dldF9xdW90ZSBUUklPX1BST1RPKCh0cmlvX3BvaW50ZXJfdCByZWYpKTsgLyogJyAqLwordm9pZCB0cmlvX3NldF9xdW90ZSBUUklPX1BST1RPKCh0cmlvX3BvaW50ZXJfdCByZWYsIGludCBpc19xdW90ZSkpOworaW50ICB0cmlvX2dldF91cHBlciBUUklPX1BST1RPKCh0cmlvX3BvaW50ZXJfdCByZWYpKTsKK3ZvaWQgdHJpb19zZXRfdXBwZXIgVFJJT19QUk9UTygodHJpb19wb2ludGVyX3QgcmVmLCBpbnQgaXNfdXBwZXIpKTsKKyNpZiBUUklPX0M5OQoraW50ICB0cmlvX2dldF9sYXJnZXN0IFRSSU9fUFJPVE8oKHRyaW9fcG9pbnRlcl90IHJlZikpOyAvKiBqICovCit2b2lkIHRyaW9fc2V0X2xhcmdlc3QgVFJJT19QUk9UTygodHJpb19wb2ludGVyX3QgcmVmLCBpbnQgaXNfbGFyZ2VzdCkpOworaW50ICB0cmlvX2dldF9wdHJkaWZmIFRSSU9fUFJPVE8oKHRyaW9fcG9pbnRlcl90IHJlZikpOyAvKiB0ICovCit2b2lkIHRyaW9fc2V0X3B0cmRpZmYgVFJJT19QUk9UTygodHJpb19wb2ludGVyX3QgcmVmLCBpbnQgaXNfcHRyZGlmZikpOworaW50ICB0cmlvX2dldF9zaXplIFRSSU9fUFJPVE8oKHRyaW9fcG9pbnRlcl90IHJlZikpOyAvKiB6IC8gWiAqLwordm9pZCB0cmlvX3NldF9zaXplIFRSSU9fUFJPVE8oKHRyaW9fcG9pbnRlcl90IHJlZiwgaW50IGlzX3NpemUpKTsKKyNlbmRpZgorCisvKiBQcmludGluZyAqLworaW50IHRyaW9fcHJpbnRfcmVmIFRSSU9fUFJPVE8oKHRyaW9fcG9pbnRlcl90IHJlZiwgY29uc3QgY2hhciAqZm9ybWF0LCAuLi4pKTsKK2ludCB0cmlvX3ZwcmludF9yZWYgVFJJT19QUk9UTygodHJpb19wb2ludGVyX3QgcmVmLCBjb25zdCBjaGFyICpmb3JtYXQsIHZhX2xpc3QgYXJncykpOworaW50IHRyaW9fcHJpbnR2X3JlZiBUUklPX1BST1RPKCh0cmlvX3BvaW50ZXJfdCByZWYsIGNvbnN0IGNoYXIgKmZvcm1hdCwgdHJpb19wb2ludGVyX3QgKmFyZ3MpKTsKKwordm9pZCB0cmlvX3ByaW50X2ludCBUUklPX1BST1RPKCh0cmlvX3BvaW50ZXJfdCByZWYsIGludCBudW1iZXIpKTsKK3ZvaWQgdHJpb19wcmludF91aW50IFRSSU9fUFJPVE8oKHRyaW9fcG9pbnRlcl90IHJlZiwgdW5zaWduZWQgaW50IG51bWJlcikpOworLyogIHZvaWQgdHJpb19wcmludF9sb25nIFRSSU9fUFJPVE8oKHRyaW9fcG9pbnRlcl90IHJlZiwgbG9uZyBudW1iZXIpKTsgKi8KKy8qICB2b2lkIHRyaW9fcHJpbnRfdWxvbmcgVFJJT19QUk9UTygodHJpb19wb2ludGVyX3QgcmVmLCB1bnNpZ25lZCBsb25nIG51bWJlcikpOyAqLwordm9pZCB0cmlvX3ByaW50X2RvdWJsZSBUUklPX1BST1RPKCh0cmlvX3BvaW50ZXJfdCByZWYsIGRvdWJsZSBudW1iZXIpKTsKK3ZvaWQgdHJpb19wcmludF9zdHJpbmcgVFJJT19QUk9UTygodHJpb19wb2ludGVyX3QgcmVmLCBjaGFyICpzdHJpbmcpKTsKK3ZvaWQgdHJpb19wcmludF9wb2ludGVyIFRSSU9fUFJPVE8oKHRyaW9fcG9pbnRlcl90IHJlZiwgdHJpb19wb2ludGVyX3QgcG9pbnRlcikpOworCisjaWZkZWYgX19jcGx1c3BsdXMKK30gLyogZXh0ZXJuICJDIiAqLworI2VuZGlmCisKKyNlbmRpZiAvKiBUUklPX1RSSU9QX0ggKi8KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdHJpb3N0ci5jIGIvbGlieG1sMi90cmlvc3RyLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTIzYmJlYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdHJpb3N0ci5jCkBAIC0wLDAgKzEsMjExMiBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiAkSWQkCisgKgorICogQ29weXJpZ2h0IChDKSAyMDAxIEJqb3JuIFJlZXNlIGFuZCBEYW5pZWwgU3RlbmJlcmcuCisgKgorICogUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBmb3IgYW55CisgKiBwdXJwb3NlIHdpdGggb3Igd2l0aG91dCBmZWUgaXMgaGVyZWJ5IGdyYW50ZWQsIHByb3ZpZGVkIHRoYXQgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIGFwcGVhciBpbiBhbGwgY29waWVzLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgYGBBUyBJUycnIEFORCBXSVRIT1VUIEFOWSBFWFBSRVNTIE9SIElNUExJRUQKKyAqIFdBUlJBTlRJRVMsIElOQ0xVRElORywgV0lUSE9VVCBMSU1JVEFUSU9OLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisgKiBNRVJDSEFOVElCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBUSEUgQVVUSE9SUyBBTkQKKyAqIENPTlRSSUJVVE9SUyBBQ0NFUFQgTk8gUkVTUE9OU0lCSUxJVFkgSU4gQU5ZIENPTkNFSVZBQkxFIE1BTk5FUi4KKyAqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogSW5jbHVkZSBmaWxlcworICovCisKKyNpbmNsdWRlIDxhc3NlcnQuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxjdHlwZS5oPgorI2luY2x1ZGUgPG1hdGguaD4KKyNpbmNsdWRlICJ0cmlvZGVmLmgiCisjaW5jbHVkZSAidHJpb3N0ci5oIgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRGVmaW5pdGlvbnMKKyAqLworCisjaWYgIWRlZmluZWQoVFJJT19TVFJJTkdfUFVCTElDKQorIyBkZWZpbmUgVFJJT19TVFJJTkdfUFVCTElDIFRSSU9fUFVCTElDCisjZW5kaWYKKyNpZiAhZGVmaW5lZChUUklPX1NUUklOR19QUklWQVRFKQorIyBkZWZpbmUgVFJJT19TVFJJTkdfUFJJVkFURSBUUklPX1BSSVZBVEUKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoTlVMTCkKKyMgZGVmaW5lIE5VTEwgMAorI2VuZGlmCisjaWYgIWRlZmluZWQoTklMKQorIyBkZWZpbmUgTklMICgoY2hhcikwKQorI2VuZGlmCisjaWYgIWRlZmluZWQoRkFMU0UpCisjIGRlZmluZSBGQUxTRSAoMSA9PSAwKQorIyBkZWZpbmUgVFJVRSAoISBGQUxTRSkKKyNlbmRpZgorI2lmICFkZWZpbmVkKEJPT0xFQU5fVCkKKyMgZGVmaW5lIEJPT0xFQU5fVCBpbnQKKyNlbmRpZgorCisjaWZkZWYgX19WTVMKKyMgZGVmaW5lIFVTRV9TVFJUT0QKKyNlbGlmIGRlZmluZWQoVFJJT19DT01QSUxFUl9TVVBQT1JUU19DOTkpCisjIGRlZmluZSBVU0VfU1RSVE9ECisjIGRlZmluZSBVU0VfU1RSVE9GCisjZWxpZiBkZWZpbmVkKFRSSU9fQ09NUElMRVJfTVNWQykKKyMgZGVmaW5lIFVTRV9TVFJUT0QKKyNlbmRpZgorCisjaWYgZGVmaW5lZChUUklPX1BMQVRGT1JNX1VOSVgpCisjIGRlZmluZSBVU0VfU1RSQ0FTRUNNUAorIyBkZWZpbmUgVVNFX1NUUk5DQVNFQ01QCisjIGlmIGRlZmluZWQoVFJJT19QTEFURk9STV9TVU5PUykKKyMgIGRlZmluZSBVU0VfU1lTX0VSUkxJU1QKKyMgZWxzZQorIyAgZGVmaW5lIFVTRV9TVFJFUlJPUgorIyBlbmRpZgorIyBpZiBkZWZpbmVkKFRSSU9fUExBVEZPUk1fUU5YKQorIyAgZGVmaW5lIHN0cmNhc2VjbXAoeCx5KSBzdHJpY21wKHgseSkKKyMgIGRlZmluZSBzdHJuY2FzZWNtcCh4LHksbikgc3RybmljbXAoeCx5LG4pCisjIGVuZGlmCisjZWxpZiBkZWZpbmVkKFRSSU9fUExBVEZPUk1fV0lOMzIpCisjIGRlZmluZSBVU0VfU1RSQ0FTRUNNUAorIyBpZiBkZWZpbmVkKF9XSU4zMl9XQ0UpCisjICBkZWZpbmUgc3RyY2FzZWNtcCh4LHkpIF9zdHJpY21wKHgseSkKKyMgZWxzZQorIyAgZGVmaW5lIHN0cmNhc2VjbXAoeCx5KSBzdHJjbXBpKHgseSkKKyMgZW5kaWYKKyNlbGlmIGRlZmluZWQoVFJJT19QTEFURk9STV9PUzQwMCkKKyMgZGVmaW5lIFVTRV9TVFJDQVNFQ01QCisjIGRlZmluZSBVU0VfU1RSTkNBU0VDTVAKKyMgaW5jbHVkZSA8c3RyaW5ncy5oPgorI2VuZGlmCisKKyNpZiAhKGRlZmluZWQoVFJJT19QTEFURk9STV9TVU5PUykpCisjIGRlZmluZSBVU0VfVE9MT1dFUgorIyBkZWZpbmUgVVNFX1RPVVBQRVIKKyNlbmRpZgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogU3RydWN0dXJlcworICovCisKK3N0cnVjdCBfdHJpb19zdHJpbmdfdAoreworICBjaGFyICpjb250ZW50OworICBzaXplX3QgbGVuZ3RoOworICBzaXplX3QgYWxsb2NhdGVkOworfTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvbnN0YW50cworICovCisKKyNpZiAhZGVmaW5lZChUUklPX01JTklNQUwpCitzdGF0aWMgVFJJT19DT05TVCBjaGFyIHJjc2lkW10gPSAiQCgjKSRJZCQiOworI2VuZGlmCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBTdGF0aWMgU3RyaW5nIEZ1bmN0aW9ucworICovCisKKyNpZiBkZWZpbmVkKFRSSU9fRE9DVU1FTlRBVElPTikKKyMgaW5jbHVkZSAiZG9jL2RvY19zdGF0aWMuaCIKKyNlbmRpZgorLyoqIEBhZGR0b2dyb3VwIFN0YXRpY1N0cmluZ3MKKyAgICBAeworKi8KKworLyoqCisgICBDcmVhdGUgbmV3IHN0cmluZy4KKworICAgQHBhcmFtIHNpemUgU2l6ZSBvZiBuZXcgc3RyaW5nLgorICAgQHJldHVybiBQb2ludGVyIHRvIHN0cmluZywgb3IgTlVMTCBpZiBhbGxvY2F0aW9uIGZhaWxlZC4KKyovCitUUklPX1NUUklOR19QVUJMSUMgY2hhciAqCit0cmlvX2NyZWF0ZQorVFJJT19BUkdTMSgoc2l6ZSksCisJICAgc2l6ZV90IHNpemUpCit7CisgIHJldHVybiAoY2hhciAqKVRSSU9fTUFMTE9DKHNpemUpOworfQorCisKKy8qKgorICAgRGVzdHJveSBzdHJpbmcuCisKKyAgIEBwYXJhbSBzdHJpbmcgU3RyaW5nIHRvIGJlIGZyZWVkLgorKi8KK1RSSU9fU1RSSU5HX1BVQkxJQyB2b2lkCit0cmlvX2Rlc3Ryb3kKK1RSSU9fQVJHUzEoKHN0cmluZyksCisJICAgY2hhciAqc3RyaW5nKQoreworICBpZiAoc3RyaW5nKQorICAgIHsKKyAgICAgIFRSSU9fRlJFRShzdHJpbmcpOworICAgIH0KK30KKworCisvKioKKyAgIENvdW50IHRoZSBudW1iZXIgb2YgY2hhcmFjdGVycyBpbiBhIHN0cmluZy4KKworICAgQHBhcmFtIHN0cmluZyBTdHJpbmcgdG8gbWVhc3VyZS4KKyAgIEByZXR1cm4gTnVtYmVyIG9mIGNoYXJhY3RlcnMgaW4gQHN0cmluZy4KKyovCitUUklPX1NUUklOR19QVUJMSUMgc2l6ZV90Cit0cmlvX2xlbmd0aAorVFJJT19BUkdTMSgoc3RyaW5nKSwKKwkgICBUUklPX0NPTlNUIGNoYXIgKnN0cmluZykKK3sKKyAgcmV0dXJuIHN0cmxlbihzdHJpbmcpOworfQorCisKKyNpZiAhZGVmaW5lZChUUklPX01JTklNQUwpCisvKioKKyAgIEFwcGVuZCBAcCBzb3VyY2UgYXQgdGhlIGVuZCBvZiBAcCB0YXJnZXQuCisKKyAgIEBwYXJhbSB0YXJnZXQgVGFyZ2V0IHN0cmluZy4KKyAgIEBwYXJhbSBzb3VyY2UgU291cmNlIHN0cmluZy4KKyAgIEByZXR1cm4gQm9vbGVhbiB2YWx1ZSBpbmRpY2F0aW5nIHN1Y2Nlc3Mgb3IgZmFpbHVyZS4KKworICAgQHByZSBAcCB0YXJnZXQgbXVzdCBwb2ludCB0byBhIG1lbW9yeSBjaHVuayB3aXRoIHN1ZmZpY2llbnQgcm9vbSB0bworICAgY29udGFpbiB0aGUgQHAgdGFyZ2V0IHN0cmluZyBhbmQgQHAgc291cmNlIHN0cmluZy4KKyAgIEBwcmUgTm8gYm91bmRhcnkgY2hlY2tpbmcgaXMgcGVyZm9ybWVkLCBzbyBpbnN1ZmZpY2llbnQgbWVtb3J5IHdpbGwKKyAgIHJlc3VsdCBpbiBhIGJ1ZmZlciBvdmVycnVuLgorICAgQHBvc3QgQHAgdGFyZ2V0IHdpbGwgYmUgemVybyB0ZXJtaW5hdGVkLgorKi8KK1RSSU9fU1RSSU5HX1BVQkxJQyBpbnQKK3RyaW9fYXBwZW5kCitUUklPX0FSR1MyKCh0YXJnZXQsIHNvdXJjZSksCisJICAgY2hhciAqdGFyZ2V0LAorCSAgIFRSSU9fQ09OU1QgY2hhciAqc291cmNlKQoreworICBhc3NlcnQodGFyZ2V0KTsKKyAgYXNzZXJ0KHNvdXJjZSk7CisKKyAgcmV0dXJuIChzdHJjYXQodGFyZ2V0LCBzb3VyY2UpICE9IE5VTEwpOworfQorI2VuZGlmIC8qICFkZWZpbmVkKFRSSU9fTUlOSU1BTCkgKi8KKworI2lmICFkZWZpbmVkKFRSSU9fTUlOSU1BTCkKKy8qKgorICAgQXBwZW5kIGF0IG1vc3QgQHAgbWF4IGNoYXJhY3RlcnMgZnJvbSBAcCBzb3VyY2UgdG8gQHAgdGFyZ2V0LgorCisgICBAcGFyYW0gdGFyZ2V0IFRhcmdldCBzdHJpbmcuCisgICBAcGFyYW0gbWF4IE1heGltdW0gbnVtYmVyIG9mIGNoYXJhY3RlcnMgdG8gYXBwZW5kLgorICAgQHBhcmFtIHNvdXJjZSBTb3VyY2Ugc3RyaW5nLgorICAgQHJldHVybiBCb29sZWFuIHZhbHVlIGluZGljYXRpbmcgc3VjY2VzcyBvciBmYWlsdXJlLgorCisgICBAcHJlIEBwIHRhcmdldCBtdXN0IHBvaW50IHRvIGEgbWVtb3J5IGNodWNrIHdpdGggc3VmZmljaWVudCByb29tIHRvCisgICBjb250YWluIHRoZSBAcCB0YXJnZXQgc3RyaW5nIGFuZCB0aGUgQHAgc291cmNlIHN0cmluZyAoYXQgbW9zdCBAcCBtYXgKKyAgIGNoYXJhY3RlcnMpLgorICAgQHByZSBObyBib3VuZGFyeSBjaGVja2luZyBpcyBwZXJmb3JtZWQsIHNvIGluc3VmZmljaWVudCBtZW1vcnkgd2lsbAorICAgcmVzdWx0IGluIGEgYnVmZmVyIG92ZXJydW4uCisgICBAcG9zdCBAcCB0YXJnZXQgd2lsbCBiZSB6ZXJvIHRlcm1pbmF0ZWQuCisqLworVFJJT19TVFJJTkdfUFVCTElDIGludAordHJpb19hcHBlbmRfbWF4CitUUklPX0FSR1MzKCh0YXJnZXQsIG1heCwgc291cmNlKSwKKwkgICBjaGFyICp0YXJnZXQsCisJICAgc2l6ZV90IG1heCwKKwkgICBUUklPX0NPTlNUIGNoYXIgKnNvdXJjZSkKK3sKKyAgc2l6ZV90IGxlbmd0aDsKKworICBhc3NlcnQodGFyZ2V0KTsKKyAgYXNzZXJ0KHNvdXJjZSk7CisKKyAgbGVuZ3RoID0gdHJpb19sZW5ndGgodGFyZ2V0KTsKKworICBpZiAobWF4ID4gbGVuZ3RoKQorICAgIHsKKyAgICAgIHN0cm5jYXQodGFyZ2V0LCBzb3VyY2UsIG1heCAtIGxlbmd0aCAtIDEpOworICAgIH0KKyAgcmV0dXJuIFRSVUU7Cit9CisjZW5kaWYgLyogIWRlZmluZWQoVFJJT19NSU5JTUFMKSAqLworCisKKyNpZiAhZGVmaW5lZChUUklPX01JTklNQUwpCisvKioKKyAgIERldGVybWluZSBpZiBhIHN0cmluZyBjb250YWlucyBhIHN1YnN0cmluZy4KKworICAgQHBhcmFtIHN0cmluZyBTdHJpbmcgdG8gYmUgc2VhcmNoZWQuCisgICBAcGFyYW0gc3Vic3RyaW5nIFN0cmluZyB0byBiZSBmb3VuZC4KKyAgIEByZXR1cm4gQm9vbGVhbiB2YWx1ZSBpbmRpY2F0aW5nIHN1Y2Nlc3Mgb3IgZmFpbHVyZS4KKyovCitUUklPX1NUUklOR19QVUJMSUMgaW50Cit0cmlvX2NvbnRhaW5zCitUUklPX0FSR1MyKChzdHJpbmcsIHN1YnN0cmluZyksCisJICAgVFJJT19DT05TVCBjaGFyICpzdHJpbmcsCisJICAgVFJJT19DT05TVCBjaGFyICpzdWJzdHJpbmcpCit7CisgIGFzc2VydChzdHJpbmcpOworICBhc3NlcnQoc3Vic3RyaW5nKTsKKworICByZXR1cm4gKDAgIT0gc3Ryc3RyKHN0cmluZywgc3Vic3RyaW5nKSk7Cit9CisjZW5kaWYgLyogIWRlZmluZWQoVFJJT19NSU5JTUFMKSAqLworCisKKyNpZiAhZGVmaW5lZChUUklPX01JTklNQUwpCisvKioKKyAgIENvcHkgQHAgc291cmNlIHRvIEBwIHRhcmdldC4KKworICAgQHBhcmFtIHRhcmdldCBUYXJnZXQgc3RyaW5nLgorICAgQHBhcmFtIHNvdXJjZSBTb3VyY2Ugc3RyaW5nLgorICAgQHJldHVybiBCb29sZWFuIHZhbHVlIGluZGljYXRpbmcgc3VjY2VzcyBvciBmYWlsdXJlLgorCisgICBAcHJlIEBwIHRhcmdldCBtdXN0IHBvaW50IHRvIGEgbWVtb3J5IGNodW5rIHdpdGggc3VmZmljaWVudCByb29tIHRvCisgICBjb250YWluIHRoZSBAcCBzb3VyY2Ugc3RyaW5nLgorICAgQHByZSBObyBib3VuZGFyeSBjaGVja2luZyBpcyBwZXJmb3JtZWQsIHNvIGluc3VmZmljaWVudCBtZW1vcnkgd2lsbAorICAgcmVzdWx0IGluIGEgYnVmZmVyIG92ZXJydW4uCisgICBAcG9zdCBAcCB0YXJnZXQgd2lsbCBiZSB6ZXJvIHRlcm1pbmF0ZWQuCisqLworVFJJT19TVFJJTkdfUFVCTElDIGludAordHJpb19jb3B5CitUUklPX0FSR1MyKCh0YXJnZXQsIHNvdXJjZSksCisJICAgY2hhciAqdGFyZ2V0LAorCSAgIFRSSU9fQ09OU1QgY2hhciAqc291cmNlKQoreworICBhc3NlcnQodGFyZ2V0KTsKKyAgYXNzZXJ0KHNvdXJjZSk7CisKKyAgKHZvaWQpc3RyY3B5KHRhcmdldCwgc291cmNlKTsKKyAgcmV0dXJuIFRSVUU7Cit9CisjZW5kaWYgLyogIWRlZmluZWQoVFJJT19NSU5JTUFMKSAqLworCisKKy8qKgorICAgQ29weSBhdCBtb3N0IEBwIG1heCBjaGFyYWN0ZXJzIGZyb20gQHAgc291cmNlIHRvIEBwIHRhcmdldC4KKworICAgQHBhcmFtIHRhcmdldCBUYXJnZXQgc3RyaW5nLgorICAgQHBhcmFtIG1heCBNYXhpbXVtIG51bWJlciBvZiBjaGFyYWN0ZXJzIHRvIGFwcGVuZC4KKyAgIEBwYXJhbSBzb3VyY2UgU291cmNlIHN0cmluZy4KKyAgIEByZXR1cm4gQm9vbGVhbiB2YWx1ZSBpbmRpY2F0aW5nIHN1Y2Nlc3Mgb3IgZmFpbHVyZS4KKworICAgQHByZSBAcCB0YXJnZXQgbXVzdCBwb2ludCB0byBhIG1lbW9yeSBjaHVuayB3aXRoIHN1ZmZpY2llbnQgcm9vbSB0bworICAgY29udGFpbiB0aGUgQHAgc291cmNlIHN0cmluZyAoYXQgbW9zdCBAcCBtYXggY2hhcmFjdGVycykuCisgICBAcHJlIE5vIGJvdW5kYXJ5IGNoZWNraW5nIGlzIHBlcmZvcm1lZCwgc28gaW5zdWZmaWNpZW50IG1lbW9yeSB3aWxsCisgICByZXN1bHQgaW4gYSBidWZmZXIgb3ZlcnJ1bi4KKyAgIEBwb3N0IEBwIHRhcmdldCB3aWxsIGJlIHplcm8gdGVybWluYXRlZC4KKyovCitUUklPX1NUUklOR19QVUJMSUMgaW50Cit0cmlvX2NvcHlfbWF4CitUUklPX0FSR1MzKCh0YXJnZXQsIG1heCwgc291cmNlKSwKKwkgICBjaGFyICp0YXJnZXQsCisJICAgc2l6ZV90IG1heCwKKwkgICBUUklPX0NPTlNUIGNoYXIgKnNvdXJjZSkKK3sKKyAgYXNzZXJ0KHRhcmdldCk7CisgIGFzc2VydChzb3VyY2UpOworICBhc3NlcnQobWF4ID4gMCk7IC8qIEluY2x1ZGVzICE9IDAgKi8KKworICAodm9pZClzdHJuY3B5KHRhcmdldCwgc291cmNlLCBtYXggLSAxKTsKKyAgdGFyZ2V0W21heCAtIDFdID0gKGNoYXIpMDsKKyAgcmV0dXJuIFRSVUU7Cit9CisKKworLyoKKyAqIFRyaW9EdXBsaWNhdGVNYXgKKyAqLworVFJJT19TVFJJTkdfUFJJVkFURSBjaGFyICoKK1RyaW9EdXBsaWNhdGVNYXgKK1RSSU9fQVJHUzIoKHNvdXJjZSwgc2l6ZSksCisJICAgVFJJT19DT05TVCBjaGFyICpzb3VyY2UsCisJICAgc2l6ZV90IHNpemUpCit7CisgIGNoYXIgKnRhcmdldDsKKworICBhc3NlcnQoc291cmNlKTsKKworICAvKiBNYWtlIHJvb20gZm9yIHN0cmluZyBwbHVzIGEgdGVybWluYXRpbmcgemVybyAqLworICBzaXplKys7CisgIHRhcmdldCA9IHRyaW9fY3JlYXRlKHNpemUpOworICBpZiAodGFyZ2V0KQorICAgIHsKKyAgICAgIHRyaW9fY29weV9tYXgodGFyZ2V0LCBzaXplLCBzb3VyY2UpOworICAgIH0KKyAgcmV0dXJuIHRhcmdldDsKK30KKworCisvKioKKyAgIER1cGxpY2F0ZSBAcCBzb3VyY2UuCisKKyAgIEBwYXJhbSBzb3VyY2UgU291cmNlIHN0cmluZy4KKyAgIEByZXR1cm4gQSBjb3B5IG9mIHRoZSBAcCBzb3VyY2Ugc3RyaW5nLgorCisgICBAcG9zdCBAcCB0YXJnZXQgd2lsbCBiZSB6ZXJvIHRlcm1pbmF0ZWQuCisqLworVFJJT19TVFJJTkdfUFVCTElDIGNoYXIgKgordHJpb19kdXBsaWNhdGUKK1RSSU9fQVJHUzEoKHNvdXJjZSksCisJICAgVFJJT19DT05TVCBjaGFyICpzb3VyY2UpCit7CisgIHJldHVybiBUcmlvRHVwbGljYXRlTWF4KHNvdXJjZSwgdHJpb19sZW5ndGgoc291cmNlKSk7Cit9CisKKworI2lmICFkZWZpbmVkKFRSSU9fTUlOSU1BTCkKKy8qKgorICAgRHVwbGljYXRlIGF0IG1vc3QgQHAgbWF4IGNoYXJhY3RlcnMgb2YgQHAgc291cmNlLgorCisgICBAcGFyYW0gc291cmNlIFNvdXJjZSBzdHJpbmcuCisgICBAcGFyYW0gbWF4IE1heGltdW0gbnVtYmVyIG9mIGNoYXJhY3RlcnMgdG8gZHVwbGljYXRlLgorICAgQHJldHVybiBBIGNvcHkgb2YgdGhlIEBwIHNvdXJjZSBzdHJpbmcuCisKKyAgIEBwb3N0IEBwIHRhcmdldCB3aWxsIGJlIHplcm8gdGVybWluYXRlZC4KKyovCitUUklPX1NUUklOR19QVUJMSUMgY2hhciAqCit0cmlvX2R1cGxpY2F0ZV9tYXggVFJJT19BUkdTMigoc291cmNlLCBtYXgpLAorCQkJICAgICAgVFJJT19DT05TVCBjaGFyICpzb3VyY2UsCisJCQkgICAgICBzaXplX3QgbWF4KQoreworICBzaXplX3QgbGVuZ3RoOworCisgIGFzc2VydChzb3VyY2UpOworICBhc3NlcnQobWF4ID4gMCk7CisKKyAgbGVuZ3RoID0gdHJpb19sZW5ndGgoc291cmNlKTsKKyAgaWYgKGxlbmd0aCA+IG1heCkKKyAgICB7CisgICAgICBsZW5ndGggPSBtYXg7CisgICAgfQorICByZXR1cm4gVHJpb0R1cGxpY2F0ZU1heChzb3VyY2UsIGxlbmd0aCk7Cit9CisjZW5kaWYgLyogIWRlZmluZWQoVFJJT19NSU5JTUFMKSAqLworCisKKy8qKgorICAgQ29tcGFyZSBpZiB0d28gc3RyaW5ncyBhcmUgZXF1YWwuCisKKyAgIEBwYXJhbSBmaXJzdCBGaXJzdCBzdHJpbmcuCisgICBAcGFyYW0gc2Vjb25kIFNlY29uZCBzdHJpbmcuCisgICBAcmV0dXJuIEJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHRoZSB0d28gc3RyaW5ncyBhcmUgZXF1YWwgb3Igbm90LgorCisgICBDYXNlLWluc2Vuc2l0aXZlIGNvbXBhcmlzb24uCisqLworVFJJT19TVFJJTkdfUFVCTElDIGludAordHJpb19lcXVhbAorVFJJT19BUkdTMigoZmlyc3QsIHNlY29uZCksCisJICAgVFJJT19DT05TVCBjaGFyICpmaXJzdCwKKwkgICBUUklPX0NPTlNUIGNoYXIgKnNlY29uZCkKK3sKKyAgYXNzZXJ0KGZpcnN0KTsKKyAgYXNzZXJ0KHNlY29uZCk7CisKKyAgaWYgKChmaXJzdCAhPSBOVUxMKSAmJiAoc2Vjb25kICE9IE5VTEwpKQorICAgIHsKKyNpZiBkZWZpbmVkKFVTRV9TVFJDQVNFQ01QKQorICAgICAgcmV0dXJuICgwID09IHN0cmNhc2VjbXAoZmlyc3QsIHNlY29uZCkpOworI2Vsc2UKKyAgICAgIHdoaWxlICgoKmZpcnN0ICE9IE5JTCkgJiYgKCpzZWNvbmQgIT0gTklMKSkKKwl7CisJICBpZiAodHJpb190b191cHBlcigqZmlyc3QpICE9IHRyaW9fdG9fdXBwZXIoKnNlY29uZCkpCisJICAgIHsKKwkgICAgICBicmVhazsKKwkgICAgfQorCSAgZmlyc3QrKzsKKwkgIHNlY29uZCsrOworCX0KKyAgICAgIHJldHVybiAoKCpmaXJzdCA9PSBOSUwpICYmICgqc2Vjb25kID09IE5JTCkpOworI2VuZGlmCisgICAgfQorICByZXR1cm4gRkFMU0U7Cit9CisKKworLyoqCisgICBDb21wYXJlIGlmIHR3byBzdHJpbmdzIGFyZSBlcXVhbC4KKworICAgQHBhcmFtIGZpcnN0IEZpcnN0IHN0cmluZy4KKyAgIEBwYXJhbSBzZWNvbmQgU2Vjb25kIHN0cmluZy4KKyAgIEByZXR1cm4gQm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIHR3byBzdHJpbmdzIGFyZSBlcXVhbCBvciBub3QuCisKKyAgIENhc2Utc2Vuc2l0aXZlIGNvbXBhcmlzb24uCisqLworVFJJT19TVFJJTkdfUFVCTElDIGludAordHJpb19lcXVhbF9jYXNlCitUUklPX0FSR1MyKChmaXJzdCwgc2Vjb25kKSwKKwkgICBUUklPX0NPTlNUIGNoYXIgKmZpcnN0LAorCSAgIFRSSU9fQ09OU1QgY2hhciAqc2Vjb25kKQoreworICBhc3NlcnQoZmlyc3QpOworICBhc3NlcnQoc2Vjb25kKTsKKworICBpZiAoKGZpcnN0ICE9IE5VTEwpICYmIChzZWNvbmQgIT0gTlVMTCkpCisgICAgeworICAgICAgcmV0dXJuICgwID09IHN0cmNtcChmaXJzdCwgc2Vjb25kKSk7CisgICAgfQorICByZXR1cm4gRkFMU0U7Cit9CisKKworI2lmICFkZWZpbmVkKFRSSU9fTUlOSU1BTCkKKy8qKgorICAgQ29tcGFyZSBpZiB0d28gc3RyaW5ncyB1cCB1bnRpbCB0aGUgZmlyc3QgQHAgbWF4IGNoYXJhY3RlcnMgYXJlIGVxdWFsLgorCisgICBAcGFyYW0gZmlyc3QgRmlyc3Qgc3RyaW5nLgorICAgQHBhcmFtIG1heCBNYXhpbXVtIG51bWJlciBvZiBjaGFyYWN0ZXJzIHRvIGNvbXBhcmUuCisgICBAcGFyYW0gc2Vjb25kIFNlY29uZCBzdHJpbmcuCisgICBAcmV0dXJuIEJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHRoZSB0d28gc3RyaW5ncyBhcmUgZXF1YWwgb3Igbm90LgorCisgICBDYXNlLXNlbnNpdGl2ZSBjb21wYXJpc29uLgorKi8KK1RSSU9fU1RSSU5HX1BVQkxJQyBpbnQKK3RyaW9fZXF1YWxfY2FzZV9tYXgKK1RSSU9fQVJHUzMoKGZpcnN0LCBtYXgsIHNlY29uZCksCisJICAgVFJJT19DT05TVCBjaGFyICpmaXJzdCwKKwkgICBzaXplX3QgbWF4LAorCSAgIFRSSU9fQ09OU1QgY2hhciAqc2Vjb25kKQoreworICBhc3NlcnQoZmlyc3QpOworICBhc3NlcnQoc2Vjb25kKTsKKworICBpZiAoKGZpcnN0ICE9IE5VTEwpICYmIChzZWNvbmQgIT0gTlVMTCkpCisgICAgeworICAgICAgcmV0dXJuICgwID09IHN0cm5jbXAoZmlyc3QsIHNlY29uZCwgbWF4KSk7CisgICAgfQorICByZXR1cm4gRkFMU0U7Cit9CisjZW5kaWYgLyogIWRlZmluZWQoVFJJT19NSU5JTUFMKSAqLworCisKKy8qKgorICAgQ29tcGFyZSBpZiB0d28gc3RyaW5ncyBhcmUgZXF1YWwuCisKKyAgIEBwYXJhbSBmaXJzdCBGaXJzdCBzdHJpbmcuCisgICBAcGFyYW0gc2Vjb25kIFNlY29uZCBzdHJpbmcuCisgICBAcmV0dXJuIEJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHRoZSB0d28gc3RyaW5ncyBhcmUgZXF1YWwgb3Igbm90LgorCisgICBDb2xsYXRpbmcgY2hhcmFjdGVycyBhcmUgY29uc2lkZXJlZCBlcXVhbC4KKyovCitUUklPX1NUUklOR19QVUJMSUMgaW50Cit0cmlvX2VxdWFsX2xvY2FsZQorVFJJT19BUkdTMigoZmlyc3QsIHNlY29uZCksCisJICAgVFJJT19DT05TVCBjaGFyICpmaXJzdCwKKwkgICBUUklPX0NPTlNUIGNoYXIgKnNlY29uZCkKK3sKKyAgYXNzZXJ0KGZpcnN0KTsKKyAgYXNzZXJ0KHNlY29uZCk7CisKKyNpZiBkZWZpbmVkKExDX0NPTExBVEUpCisgIHJldHVybiAoc3RyY29sbChmaXJzdCwgc2Vjb25kKSA9PSAwKTsKKyNlbHNlCisgIHJldHVybiB0cmlvX2VxdWFsKGZpcnN0LCBzZWNvbmQpOworI2VuZGlmCit9CisKKworLyoqCisgICBDb21wYXJlIGlmIHR3byBzdHJpbmdzIHVwIHVudGlsIHRoZSBmaXJzdCBAcCBtYXggY2hhcmFjdGVycyBhcmUgZXF1YWwuCisKKyAgIEBwYXJhbSBmaXJzdCBGaXJzdCBzdHJpbmcuCisgICBAcGFyYW0gbWF4IE1heGltdW0gbnVtYmVyIG9mIGNoYXJhY3RlcnMgdG8gY29tcGFyZS4KKyAgIEBwYXJhbSBzZWNvbmQgU2Vjb25kIHN0cmluZy4KKyAgIEByZXR1cm4gQm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIHR3byBzdHJpbmdzIGFyZSBlcXVhbCBvciBub3QuCisKKyAgIENhc2UtaW5zZW5zaXRpdmUgY29tcGFyaXNvbi4KKyovCitUUklPX1NUUklOR19QVUJMSUMgaW50Cit0cmlvX2VxdWFsX21heAorVFJJT19BUkdTMygoZmlyc3QsIG1heCwgc2Vjb25kKSwKKwkgICBUUklPX0NPTlNUIGNoYXIgKmZpcnN0LAorCSAgIHNpemVfdCBtYXgsCisJICAgVFJJT19DT05TVCBjaGFyICpzZWNvbmQpCit7CisgIGFzc2VydChmaXJzdCk7CisgIGFzc2VydChzZWNvbmQpOworCisgIGlmICgoZmlyc3QgIT0gTlVMTCkgJiYgKHNlY29uZCAhPSBOVUxMKSkKKyAgICB7CisjaWYgZGVmaW5lZChVU0VfU1RSTkNBU0VDTVApCisgICAgICByZXR1cm4gKDAgPT0gc3RybmNhc2VjbXAoZmlyc3QsIHNlY29uZCwgbWF4KSk7CisjZWxzZQorICAgICAgLyogTm90IGFkZXF1YXRlbHkgdGVzdGVkIHlldCAqLworICAgICAgc2l6ZV90IGNudCA9IDA7CisgICAgICB3aGlsZSAoKCpmaXJzdCAhPSBOSUwpICYmICgqc2Vjb25kICE9IE5JTCkgJiYgKGNudCA8PSBtYXgpKQorCXsKKwkgIGlmICh0cmlvX3RvX3VwcGVyKCpmaXJzdCkgIT0gdHJpb190b191cHBlcigqc2Vjb25kKSkKKwkgICAgeworCSAgICAgIGJyZWFrOworCSAgICB9CisJICBmaXJzdCsrOworCSAgc2Vjb25kKys7CisJICBjbnQrKzsKKwl9CisgICAgICByZXR1cm4gKChjbnQgPT0gbWF4KSB8fCAoKCpmaXJzdCA9PSBOSUwpICYmICgqc2Vjb25kID09IE5JTCkpKTsKKyNlbmRpZgorICAgIH0KKyAgcmV0dXJuIEZBTFNFOworfQorCisKKy8qKgorICAgUHJvdmlkZSBhIHRleHR1YWwgZGVzY3JpcHRpb24gb2YgYW4gZXJyb3IgY29kZSAoZXJybm8pLgorCisgICBAcGFyYW0gZXJyb3JfbnVtYmVyIEVycm9yIG51bWJlci4KKyAgIEByZXR1cm4gVGV4dHVhbCBkZXNjcmlwdGlvbiBvZiBAcCBlcnJvcl9udW1iZXIuCisqLworVFJJT19TVFJJTkdfUFVCTElDIFRSSU9fQ09OU1QgY2hhciAqCit0cmlvX2Vycm9yCitUUklPX0FSR1MxKChlcnJvcl9udW1iZXIpLAorCSAgIGludCBlcnJvcl9udW1iZXIpCit7CisjaWYgZGVmaW5lZChVU0VfU1RSRVJST1IpCisKKyAgcmV0dXJuIHN0cmVycm9yKGVycm9yX251bWJlcik7CisKKyNlbGlmIGRlZmluZWQoVVNFX1NZU19FUlJMSVNUKQorCisgIGV4dGVybiBjaGFyICpzeXNfZXJybGlzdFtdOworICBleHRlcm4gaW50IHN5c19uZXJyOworCisgIHJldHVybiAoKGVycm9yX251bWJlciA8IDApIHx8IChlcnJvcl9udW1iZXIgPj0gc3lzX25lcnIpKQorICAgID8gInVua25vd24iCisgICAgOiBzeXNfZXJybGlzdFtlcnJvcl9udW1iZXJdOworCisjZWxzZQorCisgIHJldHVybiAidW5rbm93biI7CisKKyNlbmRpZgorfQorCisKKyNpZiAhZGVmaW5lZChUUklPX01JTklNQUwpICYmICFkZWZpbmVkKF9XSU4zMl9XQ0UpCisvKioKKyAgIEZvcm1hdCB0aGUgZGF0ZS90aW1lIGFjY29yZGluZyB0byBAcCBmb3JtYXQuCisKKyAgIEBwYXJhbSB0YXJnZXQgVGFyZ2V0IHN0cmluZy4KKyAgIEBwYXJhbSBtYXggTWF4aW11bSBudW1iZXIgb2YgY2hhcmFjdGVycyB0byBmb3JtYXQuCisgICBAcGFyYW0gZm9ybWF0IEZvcm1hdHRpbmcgc3RyaW5nLgorICAgQHBhcmFtIGRhdGV0aW1lIERhdGUvdGltZSBzdHJ1Y3R1cmUuCisgICBAcmV0dXJuIE51bWJlciBvZiBmb3JtYXR0ZWQgY2hhcmFjdGVycy4KKworICAgVGhlIGZvcm1hdHRpbmcgc3RyaW5nIGFjY2VwdHMgdGhlIHNhbWUgc3BlY2lmaWVycyBhcyB0aGUgc3RhbmRhcmQgQworICAgZnVuY3Rpb24gc3RyZnRpbWUuCisqLworVFJJT19TVFJJTkdfUFVCTElDIHNpemVfdAordHJpb19mb3JtYXRfZGF0ZV9tYXgKK1RSSU9fQVJHUzQoKHRhcmdldCwgbWF4LCBmb3JtYXQsIGRhdGV0aW1lKSwKKwkgICBjaGFyICp0YXJnZXQsCisJICAgc2l6ZV90IG1heCwKKwkgICBUUklPX0NPTlNUIGNoYXIgKmZvcm1hdCwKKwkgICBUUklPX0NPTlNUIHN0cnVjdCB0bSAqZGF0ZXRpbWUpCit7CisgIGFzc2VydCh0YXJnZXQpOworICBhc3NlcnQoZm9ybWF0KTsKKyAgYXNzZXJ0KGRhdGV0aW1lKTsKKyAgYXNzZXJ0KG1heCA+IDApOworCisgIHJldHVybiBzdHJmdGltZSh0YXJnZXQsIG1heCwgZm9ybWF0LCBkYXRldGltZSk7Cit9CisjZW5kaWYgLyogIWRlZmluZWQoVFJJT19NSU5JTUFMKSAqLworCisKKyNpZiAhZGVmaW5lZChUUklPX01JTklNQUwpCisvKioKKyAgIENhbGN1bGF0ZSBhIGhhc2ggdmFsdWUgZm9yIGEgc3RyaW5nLgorCisgICBAcGFyYW0gc3RyaW5nIFN0cmluZyB0byBiZSBjYWxjdWxhdGVkIG9uLgorICAgQHBhcmFtIHR5cGUgSGFzaCBmdW5jdGlvbi4KKyAgIEByZXR1cm4gQ2FsY3VsYXRlZCBoYXNoIHZhbHVlLgorCisgICBAcCB0eXBlIGNhbiBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZworICAgQGxpIEBjIFRSSU9fSEFTSF9QTEFJTiBQbGFpbiBoYXNoIGZ1bmN0aW9uLgorKi8KK1RSSU9fU1RSSU5HX1BVQkxJQyB1bnNpZ25lZCBsb25nCit0cmlvX2hhc2gKK1RSSU9fQVJHUzIoKHN0cmluZywgdHlwZSksCisJICAgVFJJT19DT05TVCBjaGFyICpzdHJpbmcsCisJICAgaW50IHR5cGUpCit7CisgIHVuc2lnbmVkIGxvbmcgdmFsdWUgPSAwTDsKKyAgY2hhciBjaDsKKworICBhc3NlcnQoc3RyaW5nKTsKKworICBzd2l0Y2ggKHR5cGUpCisgICAgeworICAgIGNhc2UgVFJJT19IQVNIX1BMQUlOOgorICAgICAgd2hpbGUgKCAoY2ggPSAqc3RyaW5nKyspICE9IE5JTCApCisJeworCSAgdmFsdWUgKj0gMzE7CisJICB2YWx1ZSArPSAodW5zaWduZWQgbG9uZyljaDsKKwl9CisgICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAgICAgYXNzZXJ0KEZBTFNFKTsKKyAgICAgIGJyZWFrOworICAgIH0KKyAgcmV0dXJuIHZhbHVlOworfQorI2VuZGlmIC8qICFkZWZpbmVkKFRSSU9fTUlOSU1BTCkgKi8KKworCisjaWYgIWRlZmluZWQoVFJJT19NSU5JTUFMKQorLyoqCisgICBGaW5kIGZpcnN0IG9jY3VycmVuY2Ugb2YgYSBjaGFyYWN0ZXIgaW4gYSBzdHJpbmcuCisKKyAgIEBwYXJhbSBzdHJpbmcgU3RyaW5nIHRvIGJlIHNlYXJjaGVkLgorICAgQHBhcmFtIGNoYXJhY3RlciBDaGFyYWN0ZXIgdG8gYmUgZm91bmQuCisgICBAcGFyYW0gQSBwb2ludGVyIHRvIHRoZSBmb3VuZCBjaGFyYWN0ZXIsIG9yIE5VTEwgaWYgY2hhcmFjdGVyIHdhcyBub3QgZm91bmQuCisgKi8KK1RSSU9fU1RSSU5HX1BVQkxJQyBjaGFyICoKK3RyaW9faW5kZXgKK1RSSU9fQVJHUzIoKHN0cmluZywgY2hhcmFjdGVyKSwKKwkgICBUUklPX0NPTlNUIGNoYXIgKnN0cmluZywKKwkgICBpbnQgY2hhcmFjdGVyKQoreworICBhc3NlcnQoc3RyaW5nKTsKKworICByZXR1cm4gc3RyY2hyKHN0cmluZywgY2hhcmFjdGVyKTsKK30KKyNlbmRpZiAvKiAhZGVmaW5lZChUUklPX01JTklNQUwpICovCisKKworI2lmICFkZWZpbmVkKFRSSU9fTUlOSU1BTCkKKy8qKgorICAgRmluZCBsYXN0IG9jY3VycmVuY2Ugb2YgYSBjaGFyYWN0ZXIgaW4gYSBzdHJpbmcuCisKKyAgIEBwYXJhbSBzdHJpbmcgU3RyaW5nIHRvIGJlIHNlYXJjaGVkLgorICAgQHBhcmFtIGNoYXJhY3RlciBDaGFyYWN0ZXIgdG8gYmUgZm91bmQuCisgICBAcGFyYW0gQSBwb2ludGVyIHRvIHRoZSBmb3VuZCBjaGFyYWN0ZXIsIG9yIE5VTEwgaWYgY2hhcmFjdGVyIHdhcyBub3QgZm91bmQuCisgKi8KK1RSSU9fU1RSSU5HX1BVQkxJQyBjaGFyICoKK3RyaW9faW5kZXhfbGFzdAorVFJJT19BUkdTMigoc3RyaW5nLCBjaGFyYWN0ZXIpLAorCSAgIFRSSU9fQ09OU1QgY2hhciAqc3RyaW5nLAorCSAgIGludCBjaGFyYWN0ZXIpCit7CisgIGFzc2VydChzdHJpbmcpOworCisgIHJldHVybiBzdHJjaHIoc3RyaW5nLCBjaGFyYWN0ZXIpOworfQorI2VuZGlmIC8qICFkZWZpbmVkKFRSSU9fTUlOSU1BTCkgKi8KKworCisjaWYgIWRlZmluZWQoVFJJT19NSU5JTUFMKQorLyoqCisgICBDb252ZXJ0IHRoZSBhbHBoYWJldGljIGxldHRlcnMgaW4gdGhlIHN0cmluZyB0byBsb3dlci1jYXNlLgorCisgICBAcGFyYW0gdGFyZ2V0IFN0cmluZyB0byBiZSBjb252ZXJ0ZWQuCisgICBAcmV0dXJuIE51bWJlciBvZiBwcm9jZXNzZWQgY2hhcmFjdGVycyAoY29udmVydGVkIG9yIG5vdCkuCisqLworVFJJT19TVFJJTkdfUFVCTElDIGludAordHJpb19sb3dlcgorVFJJT19BUkdTMSgodGFyZ2V0KSwKKwkgICBjaGFyICp0YXJnZXQpCit7CisgIGFzc2VydCh0YXJnZXQpOworCisgIHJldHVybiB0cmlvX3NwYW5fZnVuY3Rpb24odGFyZ2V0LCB0YXJnZXQsIHRyaW9fdG9fbG93ZXIpOworfQorI2VuZGlmIC8qICFkZWZpbmVkKFRSSU9fTUlOSU1BTCkgKi8KKworCisjaWYgIWRlZmluZWQoVFJJT19NSU5JTUFMKQorLyoqCisgICBDb21wYXJlIHR3byBzdHJpbmdzIHVzaW5nIHdpbGRjYXJkcy4KKworICAgQHBhcmFtIHN0cmluZyBTdHJpbmcgdG8gYmUgc2VhcmNoZWQuCisgICBAcGFyYW0gcGF0dGVybiBQYXR0ZXJuLCBpbmNsdWRpbmcgd2lsZGNhcmRzLCB0byBzZWFyY2ggZm9yLgorICAgQHJldHVybiBCb29sZWFuIHZhbHVlIGluZGljYXRpbmcgc3VjY2VzcyBvciBmYWlsdXJlLgorCisgICBDYXNlLWluc2Vuc2l0aXZlIGNvbXBhcmlzb24uCisKKyAgIFRoZSBmb2xsb3dpbmcgd2lsZGNhcmRzIGNhbiBiZSB1c2VkCisgICBAbGkgQGMgKiBNYXRjaCBhbnkgbnVtYmVyIG9mIGNoYXJhY3RlcnMuCisgICBAbGkgQGMgPyBNYXRjaCBhIHNpbmdsZSBjaGFyYWN0ZXIuCisqLworVFJJT19TVFJJTkdfUFVCTElDIGludAordHJpb19tYXRjaAorVFJJT19BUkdTMigoc3RyaW5nLCBwYXR0ZXJuKSwKKwkgICBUUklPX0NPTlNUIGNoYXIgKnN0cmluZywKKwkgICBUUklPX0NPTlNUIGNoYXIgKnBhdHRlcm4pCit7CisgIGFzc2VydChzdHJpbmcpOworICBhc3NlcnQocGF0dGVybik7CisKKyAgZm9yICg7ICgnKicgIT0gKnBhdHRlcm4pOyArK3BhdHRlcm4sICsrc3RyaW5nKQorICAgIHsKKyAgICAgIGlmIChOSUwgPT0gKnN0cmluZykKKwl7CisJICByZXR1cm4gKE5JTCA9PSAqcGF0dGVybik7CisJfQorICAgICAgaWYgKCh0cmlvX3RvX3VwcGVyKChpbnQpKnN0cmluZykgIT0gdHJpb190b191cHBlcigoaW50KSpwYXR0ZXJuKSkKKwkgICYmICgnPycgIT0gKnBhdHRlcm4pKQorCXsKKwkgIHJldHVybiBGQUxTRTsKKwl9CisgICAgfQorICAvKiB0d28tbGluZSBwYXRjaCB0byBwcmV2ZW50ICp0b28qIG11Y2ggcmVjdXJzaXZlbmVzczogKi8KKyAgd2hpbGUgKCcqJyA9PSBwYXR0ZXJuWzFdKQorICAgIHBhdHRlcm4rKzsKKworICBkbworICAgIHsKKyAgICAgIGlmICggdHJpb19tYXRjaChzdHJpbmcsICZwYXR0ZXJuWzFdKSApCisJeworCSAgcmV0dXJuIFRSVUU7CisJfQorICAgIH0KKyAgd2hpbGUgKCpzdHJpbmcrKyk7CisKKyAgcmV0dXJuIEZBTFNFOworfQorI2VuZGlmIC8qICFkZWZpbmVkKFRSSU9fTUlOSU1BTCkgKi8KKworCisjaWYgIWRlZmluZWQoVFJJT19NSU5JTUFMKQorLyoqCisgICBDb21wYXJlIHR3byBzdHJpbmdzIHVzaW5nIHdpbGRjYXJkcy4KKworICAgQHBhcmFtIHN0cmluZyBTdHJpbmcgdG8gYmUgc2VhcmNoZWQuCisgICBAcGFyYW0gcGF0dGVybiBQYXR0ZXJuLCBpbmNsdWRpbmcgd2lsZGNhcmRzLCB0byBzZWFyY2ggZm9yLgorICAgQHJldHVybiBCb29sZWFuIHZhbHVlIGluZGljYXRpbmcgc3VjY2VzcyBvciBmYWlsdXJlLgorCisgICBDYXNlLXNlbnNpdGl2ZSBjb21wYXJpc29uLgorCisgICBUaGUgZm9sbG93aW5nIHdpbGRjYXJkcyBjYW4gYmUgdXNlZAorICAgQGxpIEBjICogTWF0Y2ggYW55IG51bWJlciBvZiBjaGFyYWN0ZXJzLgorICAgQGxpIEBjID8gTWF0Y2ggYSBzaW5nbGUgY2hhcmFjdGVyLgorKi8KK1RSSU9fU1RSSU5HX1BVQkxJQyBpbnQKK3RyaW9fbWF0Y2hfY2FzZQorVFJJT19BUkdTMigoc3RyaW5nLCBwYXR0ZXJuKSwKKwkgICBUUklPX0NPTlNUIGNoYXIgKnN0cmluZywKKwkgICBUUklPX0NPTlNUIGNoYXIgKnBhdHRlcm4pCit7CisgIGFzc2VydChzdHJpbmcpOworICBhc3NlcnQocGF0dGVybik7CisKKyAgZm9yICg7ICgnKicgIT0gKnBhdHRlcm4pOyArK3BhdHRlcm4sICsrc3RyaW5nKQorICAgIHsKKyAgICAgIGlmIChOSUwgPT0gKnN0cmluZykKKwl7CisJICByZXR1cm4gKE5JTCA9PSAqcGF0dGVybik7CisJfQorICAgICAgaWYgKCgqc3RyaW5nICE9ICpwYXR0ZXJuKQorCSAgJiYgKCc/JyAhPSAqcGF0dGVybikpCisJeworCSAgcmV0dXJuIEZBTFNFOworCX0KKyAgICB9CisgIC8qIHR3by1saW5lIHBhdGNoIHRvIHByZXZlbnQgKnRvbyogbXVjaCByZWN1cnNpdmVuZXNzOiAqLworICB3aGlsZSAoJyonID09IHBhdHRlcm5bMV0pCisgICAgcGF0dGVybisrOworCisgIGRvCisgICAgeworICAgICAgaWYgKCB0cmlvX21hdGNoX2Nhc2Uoc3RyaW5nLCAmcGF0dGVyblsxXSkgKQorCXsKKwkgIHJldHVybiBUUlVFOworCX0KKyAgICB9CisgIHdoaWxlICgqc3RyaW5nKyspOworCisgIHJldHVybiBGQUxTRTsKK30KKyNlbmRpZiAvKiAhZGVmaW5lZChUUklPX01JTklNQUwpICovCisKKworI2lmICFkZWZpbmVkKFRSSU9fTUlOSU1BTCkKKy8qKgorICAgRXhlY3V0ZSBhIGZ1bmN0aW9uIG9uIGVhY2ggY2hhcmFjdGVyIGluIHN0cmluZy4KKworICAgQHBhcmFtIHRhcmdldCBUYXJnZXQgc3RyaW5nLgorICAgQHBhcmFtIHNvdXJjZSBTb3VyY2Ugc3RyaW5nLgorICAgQHBhcmFtIEZ1bmN0aW9uIEZ1bmN0aW9uIHRvIGJlIGV4ZWN1dGVkLgorICAgQHJldHVybiBOdW1iZXIgb2YgcHJvY2Vzc2VkIGNoYXJhY3RlcnMuCisqLworVFJJT19TVFJJTkdfUFVCTElDIHNpemVfdAordHJpb19zcGFuX2Z1bmN0aW9uCitUUklPX0FSR1MzKCh0YXJnZXQsIHNvdXJjZSwgRnVuY3Rpb24pLAorCSAgIGNoYXIgKnRhcmdldCwKKwkgICBUUklPX0NPTlNUIGNoYXIgKnNvdXJjZSwKKwkgICBpbnQgKCpGdW5jdGlvbikgVFJJT19QUk9UTygoaW50KSkpCit7CisgIHNpemVfdCBjb3VudCA9IDA7CisKKyAgYXNzZXJ0KHRhcmdldCk7CisgIGFzc2VydChzb3VyY2UpOworICBhc3NlcnQoRnVuY3Rpb24pOworCisgIHdoaWxlICgqc291cmNlICE9IE5JTCkKKyAgICB7CisgICAgICAqdGFyZ2V0KysgPSBGdW5jdGlvbigqc291cmNlKyspOworICAgICAgY291bnQrKzsKKyAgICB9CisgIHJldHVybiBjb3VudDsKK30KKyNlbmRpZiAvKiAhZGVmaW5lZChUUklPX01JTklNQUwpICovCisKKworI2lmICFkZWZpbmVkKFRSSU9fTUlOSU1BTCkKKy8qKgorICAgU2VhcmNoIGZvciBhIHN1YnN0cmluZyBpbiBhIHN0cmluZy4KKworICAgQHBhcmFtIHN0cmluZyBTdHJpbmcgdG8gYmUgc2VhcmNoZWQuCisgICBAcGFyYW0gc3Vic3RyaW5nIFN0cmluZyB0byBiZSBmb3VuZC4KKyAgIEByZXR1cm4gUG9pbnRlciB0byBmaXJzdCBvY2N1cnJlbmNlIG9mIEBwIHN1YnN0cmluZyBpbiBAcCBzdHJpbmcsIG9yIE5VTEwKKyAgIGlmIG5vIG1hdGNoIHdhcyBmb3VuZC4KKyovCitUUklPX1NUUklOR19QVUJMSUMgY2hhciAqCit0cmlvX3N1YnN0cmluZworVFJJT19BUkdTMigoc3RyaW5nLCBzdWJzdHJpbmcpLAorCSAgIFRSSU9fQ09OU1QgY2hhciAqc3RyaW5nLAorCSAgIFRSSU9fQ09OU1QgY2hhciAqc3Vic3RyaW5nKQoreworICBhc3NlcnQoc3RyaW5nKTsKKyAgYXNzZXJ0KHN1YnN0cmluZyk7CisKKyAgcmV0dXJuIHN0cnN0cihzdHJpbmcsIHN1YnN0cmluZyk7Cit9CisjZW5kaWYgLyogIWRlZmluZWQoVFJJT19NSU5JTUFMKSAqLworCisKKyNpZiAhZGVmaW5lZChUUklPX01JTklNQUwpCisvKioKKyAgIFNlYXJjaCBmb3IgYSBzdWJzdHJpbmcgaW4gdGhlIGZpcnN0IEBwIG1heCBjaGFyYWN0ZXJzIG9mIGEgc3RyaW5nLgorCisgICBAcGFyYW0gc3RyaW5nIFN0cmluZyB0byBiZSBzZWFyY2hlZC4KKyAgIEBwYXJhbSBtYXggTWF4aW11bSBjaGFyYWN0ZXJzIHRvIGJlIHNlYXJjaGVkLgorICAgQHBhcmFtIHN1YnN0cmluZyBTdHJpbmcgdG8gYmUgZm91bmQuCisgICBAcmV0dXJuIFBvaW50ZXIgdG8gZmlyc3Qgb2NjdXJyZW5jZSBvZiBAcCBzdWJzdHJpbmcgaW4gQHAgc3RyaW5nLCBvciBOVUxMCisgICBpZiBubyBtYXRjaCB3YXMgZm91bmQuCisqLworVFJJT19TVFJJTkdfUFVCTElDIGNoYXIgKgordHJpb19zdWJzdHJpbmdfbWF4CitUUklPX0FSR1MzKChzdHJpbmcsIG1heCwgc3Vic3RyaW5nKSwKKwkgICBUUklPX0NPTlNUIGNoYXIgKnN0cmluZywKKwkgICBzaXplX3QgbWF4LAorCSAgIFRSSU9fQ09OU1QgY2hhciAqc3Vic3RyaW5nKQoreworICBzaXplX3QgY291bnQ7CisgIHNpemVfdCBzaXplOworICBjaGFyICpyZXN1bHQgPSBOVUxMOworCisgIGFzc2VydChzdHJpbmcpOworICBhc3NlcnQoc3Vic3RyaW5nKTsKKworICBzaXplID0gdHJpb19sZW5ndGgoc3Vic3RyaW5nKTsKKyAgaWYgKHNpemUgPD0gbWF4KQorICAgIHsKKyAgICAgIGZvciAoY291bnQgPSAwOyBjb3VudCA8PSBtYXggLSBzaXplOyBjb3VudCsrKQorCXsKKwkgIGlmICh0cmlvX2VxdWFsX21heChzdWJzdHJpbmcsIHNpemUsICZzdHJpbmdbY291bnRdKSkKKwkgICAgeworCSAgICAgIHJlc3VsdCA9IChjaGFyICopJnN0cmluZ1tjb3VudF07CisJICAgICAgYnJlYWs7CisJICAgIH0KKwl9CisgICAgfQorICByZXR1cm4gcmVzdWx0OworfQorI2VuZGlmIC8qICFkZWZpbmVkKFRSSU9fTUlOSU1BTCkgKi8KKworCisjaWYgIWRlZmluZWQoVFJJT19NSU5JTUFMKQorLyoqCisgICBUb2tlbml6ZSBzdHJpbmcuCisKKyAgIEBwYXJhbSBzdHJpbmcgU3RyaW5nIHRvIGJlIHRva2VuaXplZC4KKyAgIEBwYXJhbSB0b2tlbnMgU3RyaW5nIGNvbnRhaW5pbmcgbGlzdCBvZiBkZWxpbWl0aW5nIGNoYXJhY3RlcnMuCisgICBAcmV0dXJuIFN0YXJ0IG9mIG5ldyB0b2tlbi4KKworICAgQHdhcm5pbmcgQHAgc3RyaW5nIHdpbGwgYmUgZGVzdHJveWVkLgorKi8KK1RSSU9fU1RSSU5HX1BVQkxJQyBjaGFyICoKK3RyaW9fdG9rZW5pemUKK1RSSU9fQVJHUzIoKHN0cmluZywgZGVsaW1pdGVycyksCisJICAgY2hhciAqc3RyaW5nLAorCSAgIFRSSU9fQ09OU1QgY2hhciAqZGVsaW1pdGVycykKK3sKKyAgYXNzZXJ0KGRlbGltaXRlcnMpOworCisgIHJldHVybiBzdHJ0b2soc3RyaW5nLCBkZWxpbWl0ZXJzKTsKK30KKyNlbmRpZiAvKiAhZGVmaW5lZChUUklPX01JTklNQUwpICovCisKKworLyoqCisgICBDb252ZXJ0IHN0cmluZyB0byBmbG9hdGluZy1wb2ludCBudW1iZXIuCisKKyAgIEBwYXJhbSBzb3VyY2UgU3RyaW5nIHRvIGJlIGNvbnZlcnRlZC4KKyAgIEBwYXJhbSBlbmRwIFBvaW50ZXIgdG8gZW5kIG9mIHRoZSBjb252ZXJ0ZWQgc3RyaW5nLgorICAgQHJldHVybiBBIGZsb2F0aW5nLXBvaW50IG51bWJlci4KKworICAgVGhlIGZvbGxvd2luZyBFeHRlbmRlZCBCYWNrdXMtTmF1ciBmb3JtIGlzIHVzZWQKKyAgIEB2ZXJiYXRpbQorICAgZG91YmxlICAgICAgICA6Oj0gWyA8c2lnbj4gXQorICAgICAgICAgICAgICAgICAgICAgKCA8bnVtYmVyPiB8CisgICAgICAgICAgICAgICAgICAgICAgIDxudW1iZXI+IDxkZWNpbWFsX3BvaW50PiA8bnVtYmVyPiB8CisgICAgICAgICAgICAgICAgICAgICAgIDxkZWNpbWFsX3BvaW50PiA8bnVtYmVyPiApCisgICAgICAgICAgICAgICAgICAgICBbIDxleHBvbmVudGlhbD4gWyA8c2lnbj4gXSA8bnVtYmVyPiBdCisgICBudW1iZXIgICAgICAgIDo6PSAxKiggPGRpZ2l0PiApCisgICBkaWdpdCAgICAgICAgIDo6PSAoICcwJyB8ICcxJyB8ICcyJyB8ICczJyB8ICc0JyB8ICc1JyB8ICc2JyB8ICc3JyB8ICc4JyB8ICc5JyApCisgICBleHBvbmVudGlhbCAgIDo6PSAoICdlJyB8ICdFJyApCisgICBzaWduICAgICAgICAgIDo6PSAoICctJyB8ICcrJyApCisgICBkZWNpbWFsX3BvaW50IDo6PSAnLicKKyAgIEBlbmR2ZXJiYXRpbQorKi8KKy8qIEZJWE1FOiBBZGQgRUJORiBmb3IgaGV4LWZsb2F0cyAqLworVFJJT19TVFJJTkdfUFVCTElDIHRyaW9fbG9uZ19kb3VibGVfdAordHJpb190b19sb25nX2RvdWJsZQorVFJJT19BUkdTMigoc291cmNlLCBlbmRwKSwKKwkgICBUUklPX0NPTlNUIGNoYXIgKnNvdXJjZSwKKwkgICBjaGFyICoqZW5kcCkKK3sKKyNpZiBkZWZpbmVkKFVTRV9TVFJUT0xEKQorICByZXR1cm4gc3RydG9sZChzb3VyY2UsIGVuZHApOworI2Vsc2UKKyAgaW50IGlzTmVnYXRpdmUgPSBGQUxTRTsKKyAgaW50IGlzRXhwb25lbnROZWdhdGl2ZSA9IEZBTFNFOworICB0cmlvX2xvbmdfZG91YmxlX3QgaW50ZWdlciA9IDAuMDsKKyAgdHJpb19sb25nX2RvdWJsZV90IGZyYWN0aW9uID0gMC4wOworICB1bnNpZ25lZCBsb25nIGV4cG9uZW50ID0gMDsKKyAgdHJpb19sb25nX2RvdWJsZV90IGJhc2U7CisgIHRyaW9fbG9uZ19kb3VibGVfdCBmcmFjZGl2ID0gMS4wOworICB0cmlvX2xvbmdfZG91YmxlX3QgdmFsdWUgPSAwLjA7CisKKyAgLyogRmlyc3QgdHJ5IGhleC1mbG9hdHMgKi8KKyAgaWYgKChzb3VyY2VbMF0gPT0gJzAnKSAmJiAoKHNvdXJjZVsxXSA9PSAneCcpIHx8IChzb3VyY2VbMV0gPT0gJ1gnKSkpCisgICAgeworICAgICAgYmFzZSA9IDE2LjA7CisgICAgICBzb3VyY2UgKz0gMjsKKyAgICAgIHdoaWxlIChpc3hkaWdpdCgoaW50KSpzb3VyY2UpKQorCXsKKwkgIGludGVnZXIgKj0gYmFzZTsKKwkgIGludGVnZXIgKz0gKGlzZGlnaXQoKGludCkqc291cmNlKQorCQkgICAgICA/ICgqc291cmNlIC0gJzAnKQorCQkgICAgICA6IDEwICsgKHRyaW9fdG9fdXBwZXIoKGludCkqc291cmNlKSAtICdBJykpOworCSAgc291cmNlKys7CisJfQorICAgICAgaWYgKCpzb3VyY2UgPT0gJy4nKQorCXsKKwkgIHNvdXJjZSsrOworCSAgd2hpbGUgKGlzeGRpZ2l0KChpbnQpKnNvdXJjZSkpCisJICAgIHsKKwkgICAgICBmcmFjZGl2IC89IGJhc2U7CisJICAgICAgZnJhY3Rpb24gKz0gZnJhY2RpdiAqIChpc2RpZ2l0KChpbnQpKnNvdXJjZSkKKwkJCQkgICAgID8gKCpzb3VyY2UgLSAnMCcpCisJCQkJICAgICA6IDEwICsgKHRyaW9fdG9fdXBwZXIoKGludCkqc291cmNlKSAtICdBJykpOworCSAgICAgIHNvdXJjZSsrOworCSAgICB9CisJICBpZiAoKCpzb3VyY2UgPT0gJ3AnKSB8fCAoKnNvdXJjZSA9PSAnUCcpKQorCSAgICB7CisJICAgICAgc291cmNlKys7CisJICAgICAgaWYgKCgqc291cmNlID09ICcrJykgfHwgKCpzb3VyY2UgPT0gJy0nKSkKKwkJeworCQkgIGlzRXhwb25lbnROZWdhdGl2ZSA9ICgqc291cmNlID09ICctJyk7CisJCSAgc291cmNlKys7CisJCX0KKwkgICAgICB3aGlsZSAoaXNkaWdpdCgoaW50KSpzb3VyY2UpKQorCQl7CisJCSAgZXhwb25lbnQgKj0gMTA7CisJCSAgZXhwb25lbnQgKz0gKCpzb3VyY2UgLSAnMCcpOworCQkgIHNvdXJjZSsrOworCQl9CisJICAgIH0KKwl9CisgICAgICAvKiBGb3IgbGF0ZXIgdXNlIHdpdGggZXhwb25lbnQgKi8KKyAgICAgIGJhc2UgPSAyLjA7CisgICAgfQorICBlbHNlIC8qIFRoZW4gdHJ5IG5vcm1hbCBkZWNpbWFsIGZsb2F0cyAqLworICAgIHsKKyAgICAgIGJhc2UgPSAxMC4wOworICAgICAgaXNOZWdhdGl2ZSA9ICgqc291cmNlID09ICctJyk7CisgICAgICAvKiBTa2lwIHNpZ24gKi8KKyAgICAgIGlmICgoKnNvdXJjZSA9PSAnKycpIHx8ICgqc291cmNlID09ICctJykpCisJc291cmNlKys7CisKKyAgICAgIC8qIEludGVnZXIgcGFydCAqLworICAgICAgd2hpbGUgKGlzZGlnaXQoKGludCkqc291cmNlKSkKKwl7CisJICBpbnRlZ2VyICo9IGJhc2U7CisJICBpbnRlZ2VyICs9ICgqc291cmNlIC0gJzAnKTsKKwkgIHNvdXJjZSsrOworCX0KKworICAgICAgaWYgKCpzb3VyY2UgPT0gJy4nKQorCXsKKwkgIHNvdXJjZSsrOyAvKiBza2lwIGRlY2ltYWwgcG9pbnQgKi8KKwkgIHdoaWxlIChpc2RpZ2l0KChpbnQpKnNvdXJjZSkpCisJICAgIHsKKwkgICAgICBmcmFjZGl2IC89IGJhc2U7CisJICAgICAgZnJhY3Rpb24gKz0gKCpzb3VyY2UgLSAnMCcpICogZnJhY2RpdjsKKwkgICAgICBzb3VyY2UrKzsKKwkgICAgfQorCX0KKyAgICAgIGlmICgoKnNvdXJjZSA9PSAnZScpCisJICB8fCAoKnNvdXJjZSA9PSAnRScpCisjaWYgVFJJT19NSUNST1NPRlQKKwkgIHx8ICgqc291cmNlID09ICdkJykKKwkgIHx8ICgqc291cmNlID09ICdEJykKKyNlbmRpZgorCSAgKQorCXsKKwkgIHNvdXJjZSsrOyAvKiBTa2lwIGV4cG9uZW50aWFsIGluZGljYXRvciAqLworCSAgaXNFeHBvbmVudE5lZ2F0aXZlID0gKCpzb3VyY2UgPT0gJy0nKTsKKwkgIGlmICgoKnNvdXJjZSA9PSAnKycpIHx8ICgqc291cmNlID09ICctJykpCisJICAgIHNvdXJjZSsrOworCSAgd2hpbGUgKGlzZGlnaXQoKGludCkqc291cmNlKSkKKwkgICAgeworCSAgICAgIGV4cG9uZW50ICo9IChpbnQpYmFzZTsKKwkgICAgICBleHBvbmVudCArPSAoKnNvdXJjZSAtICcwJyk7CisJICAgICAgc291cmNlKys7CisJICAgIH0KKwl9CisgICAgfQorCisgIHZhbHVlID0gaW50ZWdlciArIGZyYWN0aW9uOworICBpZiAoZXhwb25lbnQgIT0gMCkKKyAgICB7CisgICAgICBpZiAoaXNFeHBvbmVudE5lZ2F0aXZlKQorCXZhbHVlIC89IHBvdyhiYXNlLCAoZG91YmxlKWV4cG9uZW50KTsKKyAgICAgIGVsc2UKKwl2YWx1ZSAqPSBwb3coYmFzZSwgKGRvdWJsZSlleHBvbmVudCk7CisgICAgfQorICBpZiAoaXNOZWdhdGl2ZSkKKyAgICB2YWx1ZSA9IC12YWx1ZTsKKworICBpZiAoZW5kcCkKKyAgICAqZW5kcCA9IChjaGFyICopc291cmNlOworICByZXR1cm4gdmFsdWU7CisjZW5kaWYKK30KKworCisvKioKKyAgIENvbnZlcnQgc3RyaW5nIHRvIGZsb2F0aW5nLXBvaW50IG51bWJlci4KKworICAgQHBhcmFtIHNvdXJjZSBTdHJpbmcgdG8gYmUgY29udmVydGVkLgorICAgQHBhcmFtIGVuZHAgUG9pbnRlciB0byBlbmQgb2YgdGhlIGNvbnZlcnRlZCBzdHJpbmcuCisgICBAcmV0dXJuIEEgZmxvYXRpbmctcG9pbnQgbnVtYmVyLgorCisgICBTZWUgQHJlZiB0cmlvX3RvX2xvbmdfZG91YmxlLgorKi8KK1RSSU9fU1RSSU5HX1BVQkxJQyBkb3VibGUKK3RyaW9fdG9fZG91YmxlCitUUklPX0FSR1MyKChzb3VyY2UsIGVuZHApLAorCSAgIFRSSU9fQ09OU1QgY2hhciAqc291cmNlLAorCSAgIGNoYXIgKiplbmRwKQoreworI2lmIGRlZmluZWQoVVNFX1NUUlRPRCkKKyAgcmV0dXJuIHN0cnRvZChzb3VyY2UsIGVuZHApOworI2Vsc2UKKyAgcmV0dXJuIChkb3VibGUpdHJpb190b19sb25nX2RvdWJsZShzb3VyY2UsIGVuZHApOworI2VuZGlmCit9CisKKyNpZiAhZGVmaW5lZChUUklPX01JTklNQUwpCisvKioKKyAgIENvbnZlcnQgc3RyaW5nIHRvIGZsb2F0aW5nLXBvaW50IG51bWJlci4KKworICAgQHBhcmFtIHNvdXJjZSBTdHJpbmcgdG8gYmUgY29udmVydGVkLgorICAgQHBhcmFtIGVuZHAgUG9pbnRlciB0byBlbmQgb2YgdGhlIGNvbnZlcnRlZCBzdHJpbmcuCisgICBAcmV0dXJuIEEgZmxvYXRpbmctcG9pbnQgbnVtYmVyLgorCisgICBTZWUgQHJlZiB0cmlvX3RvX2xvbmdfZG91YmxlLgorKi8KK1RSSU9fU1RSSU5HX1BVQkxJQyBmbG9hdAordHJpb190b19mbG9hdAorVFJJT19BUkdTMigoc291cmNlLCBlbmRwKSwKKwkgICBUUklPX0NPTlNUIGNoYXIgKnNvdXJjZSwKKwkgICBjaGFyICoqZW5kcCkKK3sKKyNpZiBkZWZpbmVkKFVTRV9TVFJUT0YpCisgIHJldHVybiBzdHJ0b2Yoc291cmNlLCBlbmRwKTsKKyNlbHNlCisgIHJldHVybiAoZmxvYXQpdHJpb190b19sb25nX2RvdWJsZShzb3VyY2UsIGVuZHApOworI2VuZGlmCit9CisjZW5kaWYgLyogIWRlZmluZWQoVFJJT19NSU5JTUFMKSAqLworCisKKy8qKgorICAgQ29udmVydCBzdHJpbmcgdG8gc2lnbmVkIGludGVnZXIuCisKKyAgIEBwYXJhbSBzdHJpbmcgU3RyaW5nIHRvIGJlIGNvbnZlcnRlZC4KKyAgIEBwYXJhbSBlbmRwIFBvaW50ZXIgdG8gZW5kIG9mIGNvbnZlcnRlZCBzdHJpbmcuCisgICBAcGFyYW0gYmFzZSBSYWRpeCBudW1iZXIgb2YgbnVtYmVyLgorKi8KK1RSSU9fU1RSSU5HX1BVQkxJQyBsb25nCit0cmlvX3RvX2xvbmcKK1RSSU9fQVJHUzMoKHN0cmluZywgZW5kcCwgYmFzZSksCisJICAgVFJJT19DT05TVCBjaGFyICpzdHJpbmcsCisJICAgY2hhciAqKmVuZHAsCisJICAgaW50IGJhc2UpCit7CisgIGFzc2VydChzdHJpbmcpOworICBhc3NlcnQoKGJhc2UgPj0gMikgJiYgKGJhc2UgPD0gMzYpKTsKKworICByZXR1cm4gc3RydG9sKHN0cmluZywgZW5kcCwgYmFzZSk7Cit9CisKKworI2lmICFkZWZpbmVkKFRSSU9fTUlOSU1BTCkKKy8qKgorICAgQ29udmVydCBvbmUgYWxwaGFiZXRpYyBsZXR0ZXIgdG8gbG93ZXItY2FzZS4KKworICAgQHBhcmFtIHNvdXJjZSBUaGUgbGV0dGVyIHRvIGJlIGNvbnZlcnRlZC4KKyAgIEByZXR1cm4gVGhlIGNvbnZlcnRlZCBsZXR0ZXIuCisqLworVFJJT19TVFJJTkdfUFVCTElDIGludAordHJpb190b19sb3dlcgorVFJJT19BUkdTMSgoc291cmNlKSwKKwkgICBpbnQgc291cmNlKQoreworI2lmIGRlZmluZWQoVVNFX1RPTE9XRVIpCisKKyAgcmV0dXJuIHRvbG93ZXIoc291cmNlKTsKKworI2Vsc2UKKworICAvKiBEb2VzIG5vdCBoYW5kbGUgbG9jYWxlcyBvciBub24tY29udGlndW91cyBhbHBoYWJldGljIGNoYXJhY3RlcnMgKi8KKyAgcmV0dXJuICgoc291cmNlID49IChpbnQpJ0EnKSAmJiAoc291cmNlIDw9IChpbnQpJ1onKSkKKyAgICA/IHNvdXJjZSAtICdBJyArICdhJworICAgIDogc291cmNlOworCisjZW5kaWYKK30KKyNlbmRpZiAvKiAhZGVmaW5lZChUUklPX01JTklNQUwpICovCisKKyNpZiAhZGVmaW5lZChUUklPX01JTklNQUwpCisvKioKKyAgIENvbnZlcnQgc3RyaW5nIHRvIHVuc2lnbmVkIGludGVnZXIuCisKKyAgIEBwYXJhbSBzdHJpbmcgU3RyaW5nIHRvIGJlIGNvbnZlcnRlZC4KKyAgIEBwYXJhbSBlbmRwIFBvaW50ZXIgdG8gZW5kIG9mIGNvbnZlcnRlZCBzdHJpbmcuCisgICBAcGFyYW0gYmFzZSBSYWRpeCBudW1iZXIgb2YgbnVtYmVyLgorKi8KK1RSSU9fU1RSSU5HX1BVQkxJQyB1bnNpZ25lZCBsb25nCit0cmlvX3RvX3Vuc2lnbmVkX2xvbmcKK1RSSU9fQVJHUzMoKHN0cmluZywgZW5kcCwgYmFzZSksCisJICAgVFJJT19DT05TVCBjaGFyICpzdHJpbmcsCisJICAgY2hhciAqKmVuZHAsCisJICAgaW50IGJhc2UpCit7CisgIGFzc2VydChzdHJpbmcpOworICBhc3NlcnQoKGJhc2UgPj0gMikgJiYgKGJhc2UgPD0gMzYpKTsKKworICByZXR1cm4gc3RydG91bChzdHJpbmcsIGVuZHAsIGJhc2UpOworfQorI2VuZGlmIC8qICFkZWZpbmVkKFRSSU9fTUlOSU1BTCkgKi8KKworCisvKioKKyAgIENvbnZlcnQgb25lIGFscGhhYmV0aWMgbGV0dGVyIHRvIHVwcGVyLWNhc2UuCisKKyAgIEBwYXJhbSBzb3VyY2UgVGhlIGxldHRlciB0byBiZSBjb252ZXJ0ZWQuCisgICBAcmV0dXJuIFRoZSBjb252ZXJ0ZWQgbGV0dGVyLgorKi8KK1RSSU9fU1RSSU5HX1BVQkxJQyBpbnQKK3RyaW9fdG9fdXBwZXIKK1RSSU9fQVJHUzEoKHNvdXJjZSksCisJICAgaW50IHNvdXJjZSkKK3sKKyNpZiBkZWZpbmVkKFVTRV9UT1VQUEVSKQorCisgIHJldHVybiB0b3VwcGVyKHNvdXJjZSk7CisKKyNlbHNlCisKKyAgLyogRG9lcyBub3QgaGFuZGxlIGxvY2FsZXMgb3Igbm9uLWNvbnRpZ3VvdXMgYWxwaGFiZXRpYyBjaGFyYWN0ZXJzICovCisgIHJldHVybiAoKHNvdXJjZSA+PSAoaW50KSdhJykgJiYgKHNvdXJjZSA8PSAoaW50KSd6JykpCisgICAgPyBzb3VyY2UgLSAnYScgKyAnQScKKyAgICA6IHNvdXJjZTsKKworI2VuZGlmCit9CisKKyNpZiAhZGVmaW5lZChUUklPX01JTklNQUwpCisvKioKKyAgIENvbnZlcnQgdGhlIGFscGhhYmV0aWMgbGV0dGVycyBpbiB0aGUgc3RyaW5nIHRvIHVwcGVyLWNhc2UuCisKKyAgIEBwYXJhbSB0YXJnZXQgVGhlIHN0cmluZyB0byBiZSBjb252ZXJ0ZWQuCisgICBAcmV0dXJuIFRoZSBudW1iZXIgb2YgcHJvY2Vzc2VkIGNoYXJhY3RlcnMgKGNvbnZlcnRlZCBvciBub3QpLgorKi8KK1RSSU9fU1RSSU5HX1BVQkxJQyBpbnQKK3RyaW9fdXBwZXIKK1RSSU9fQVJHUzEoKHRhcmdldCksCisJICAgY2hhciAqdGFyZ2V0KQoreworICBhc3NlcnQodGFyZ2V0KTsKKworICByZXR1cm4gdHJpb19zcGFuX2Z1bmN0aW9uKHRhcmdldCwgdGFyZ2V0LCB0cmlvX3RvX3VwcGVyKTsKK30KKyNlbmRpZiAvKiAhZGVmaW5lZChUUklPX01JTklNQUwpICovCisKKworLyoqIEB9IEVuZCBvZiBTdGF0aWNTdHJpbmdzICovCisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIER5bmFtaWMgU3RyaW5nIEZ1bmN0aW9ucworICovCisKKyNpZiBkZWZpbmVkKFRSSU9fRE9DVU1FTlRBVElPTikKKyMgaW5jbHVkZSAiZG9jL2RvY19keW5hbWljLmgiCisjZW5kaWYKKy8qKiBAYWRkdG9ncm91cCBEeW5hbWljU3RyaW5ncworICAgIEB7CisqLworCisvKgorICogVHJpb1N0cmluZ0FsbG9jCisgKi8KK1RSSU9fU1RSSU5HX1BSSVZBVEUgdHJpb19zdHJpbmdfdCAqCitUcmlvU3RyaW5nQWxsb2MoVFJJT19OT0FSR1MpCit7CisgIHRyaW9fc3RyaW5nX3QgKnNlbGY7CisKKyAgc2VsZiA9ICh0cmlvX3N0cmluZ190ICopVFJJT19NQUxMT0Moc2l6ZW9mKHRyaW9fc3RyaW5nX3QpKTsKKyAgaWYgKHNlbGYpCisgICAgeworICAgICAgc2VsZi0+Y29udGVudCA9IE5VTEw7CisgICAgICBzZWxmLT5sZW5ndGggPSAwOworICAgICAgc2VsZi0+YWxsb2NhdGVkID0gMDsKKyAgICB9CisgIHJldHVybiBzZWxmOworfQorCisKKy8qCisgKiBUcmlvU3RyaW5nR3JvdworICoKKyAqIFRoZSBzaXplIG9mIHRoZSBzdHJpbmcgd2lsbCBiZSBpbmNyZWFzZWQgYnkgJ2RlbHRhJyBjaGFyYWN0ZXJzLiBJZgorICogJ2RlbHRhJyBpcyB6ZXJvLCB0aGUgc2l6ZSB3aWxsIGJlIGRvdWJsZWQuCisgKi8KK1RSSU9fU1RSSU5HX1BSSVZBVEUgQk9PTEVBTl9UCitUcmlvU3RyaW5nR3JvdworVFJJT19BUkdTMigoc2VsZiwgZGVsdGEpLAorCSAgIHRyaW9fc3RyaW5nX3QgKnNlbGYsCisJICAgc2l6ZV90IGRlbHRhKQoreworICBCT09MRUFOX1Qgc3RhdHVzID0gRkFMU0U7CisgIGNoYXIgKm5ld19jb250ZW50OworICBzaXplX3QgbmV3X3NpemU7CisKKyAgbmV3X3NpemUgPSAoZGVsdGEgPT0gMCkKKyAgICA/ICggKHNlbGYtPmFsbG9jYXRlZCA9PSAwKSA/IDEgOiBzZWxmLT5hbGxvY2F0ZWQgKiAyICkKKyAgICA6IHNlbGYtPmFsbG9jYXRlZCArIGRlbHRhOworCisgIG5ld19jb250ZW50ID0gKGNoYXIgKilUUklPX1JFQUxMT0Moc2VsZi0+Y29udGVudCwgbmV3X3NpemUpOworICBpZiAobmV3X2NvbnRlbnQpCisgICAgeworICAgICAgc2VsZi0+Y29udGVudCA9IG5ld19jb250ZW50OworICAgICAgc2VsZi0+YWxsb2NhdGVkID0gbmV3X3NpemU7CisgICAgICBzdGF0dXMgPSBUUlVFOworICAgIH0KKyAgcmV0dXJuIHN0YXR1czsKK30KKworCisjaWYgIWRlZmluZWQoVFJJT19NSU5JTUFMKQorLyoKKyAqIFRyaW9TdHJpbmdHcm93VG8KKyAqCisgKiBUaGUgc2l6ZSBvZiB0aGUgc3RyaW5nIHdpbGwgYmUgaW5jcmVhc2VkIHRvICdsZW5ndGgnIHBsdXMgb25lIGNoYXJhY3RlcnMuCisgKiBJZiAnbGVuZ3RoJyBpcyBsZXNzIHRoYW4gdGhlIG9yaWdpbmFsIHNpemUsIHRoZSBvcmlnaW5hbCBzaXplIHdpbGwgYmUKKyAqIHVzZWQgKHRoYXQgaXMsIHRoZSBzaXplIG9mIHRoZSBzdHJpbmcgaXMgbmV2ZXIgZGVjcmVhc2VkKS4KKyAqLworVFJJT19TVFJJTkdfUFJJVkFURSBCT09MRUFOX1QKK1RyaW9TdHJpbmdHcm93VG8KK1RSSU9fQVJHUzIoKHNlbGYsIGxlbmd0aCksCisJICAgdHJpb19zdHJpbmdfdCAqc2VsZiwKKwkgICBzaXplX3QgbGVuZ3RoKQoreworICBsZW5ndGgrKzsgLyogUm9vbSBmb3IgdGVybWluYXRpbmcgemVybyAqLworICByZXR1cm4gKHNlbGYtPmFsbG9jYXRlZCA8IGxlbmd0aCkKKyAgICA/IFRyaW9TdHJpbmdHcm93KHNlbGYsIGxlbmd0aCAtIHNlbGYtPmFsbG9jYXRlZCkKKyAgICA6IFRSVUU7Cit9CisjZW5kaWYgLyogIWRlZmluZWQoVFJJT19NSU5JTUFMKSAqLworCisKKyNpZiAhZGVmaW5lZChUUklPX01JTklNQUwpCisvKioKKyAgIENyZWF0ZSBhIG5ldyBkeW5hbWljIHN0cmluZy4KKworICAgQHBhcmFtIGluaXRpYWxfc2l6ZSBJbml0aWFsIHNpemUgb2YgdGhlIGJ1ZmZlci4KKyAgIEByZXR1cm4gTmV3bHkgYWxsb2NhdGVkIGR5bmFtaWMgc3RyaW5nLCBvciBOVUxMIGlmIG1lbW9yeSBhbGxvY2F0aW9uIGZhaWxlZC4KKyovCitUUklPX1NUUklOR19QVUJMSUMgdHJpb19zdHJpbmdfdCAqCit0cmlvX3N0cmluZ19jcmVhdGUKK1RSSU9fQVJHUzEoKGluaXRpYWxfc2l6ZSksCisJICAgaW50IGluaXRpYWxfc2l6ZSkKK3sKKyAgdHJpb19zdHJpbmdfdCAqc2VsZjsKKworICBzZWxmID0gVHJpb1N0cmluZ0FsbG9jKCk7CisgIGlmIChzZWxmKQorICAgIHsKKyAgICAgIGlmIChUcmlvU3RyaW5nR3JvdyhzZWxmLAorCQkJIChzaXplX3QpKChpbml0aWFsX3NpemUgPiAwKSA/IGluaXRpYWxfc2l6ZSA6IDEpKSkKKwl7CisJICBzZWxmLT5jb250ZW50WzBdID0gKGNoYXIpMDsKKwkgIHNlbGYtPmFsbG9jYXRlZCA9IGluaXRpYWxfc2l6ZTsKKwl9CisgICAgICBlbHNlCisJeworCSAgdHJpb19zdHJpbmdfZGVzdHJveShzZWxmKTsKKwkgIHNlbGYgPSBOVUxMOworCX0KKyAgICB9CisgIHJldHVybiBzZWxmOworfQorI2VuZGlmIC8qICFkZWZpbmVkKFRSSU9fTUlOSU1BTCkgKi8KKworCisvKioKKyAgIERlYWxsb2NhdGUgdGhlIGR5bmFtaWMgc3RyaW5nIGFuZCBpdHMgY29udGVudHMuCisKKyAgIEBwYXJhbSBzZWxmIER5bmFtaWMgc3RyaW5nCisqLworVFJJT19TVFJJTkdfUFVCTElDIHZvaWQKK3RyaW9fc3RyaW5nX2Rlc3Ryb3kKK1RSSU9fQVJHUzEoKHNlbGYpLAorCSAgIHRyaW9fc3RyaW5nX3QgKnNlbGYpCit7CisgIGFzc2VydChzZWxmKTsKKworICBpZiAoc2VsZikKKyAgICB7CisgICAgICB0cmlvX2Rlc3Ryb3koc2VsZi0+Y29udGVudCk7CisgICAgICBUUklPX0ZSRUUoc2VsZik7CisgICAgfQorfQorCisKKyNpZiAhZGVmaW5lZChUUklPX01JTklNQUwpCisvKioKKyAgIEdldCBhIHBvaW50ZXIgdG8gdGhlIGNvbnRlbnQuCisKKyAgIEBwYXJhbSBzZWxmIER5bmFtaWMgc3RyaW5nLgorICAgQHBhcmFtIG9mZnNldCBPZmZzZXQgaW50byBjb250ZW50LgorICAgQHJldHVybiBQb2ludGVyIHRvIHRoZSBjb250ZW50LgorCisgICBAcCBPZmZzZXQgY2FuIGJlIHplcm8sIHBvc2l0aXZlLCBvciBuZWdhdGl2ZS4gSWYgQHAgb2Zmc2V0IGlzIHplcm8sCisgICB0aGVuIHRoZSBzdGFydCBvZiB0aGUgY29udGVudCB3aWxsIGJlIHJldHVybmVkLiBJZiBAcCBvZmZzZXQgaXMgcG9zaXRpdmUsCisgICB0aGVuIGEgcG9pbnRlciB0byBAcCBvZmZzZXQgbnVtYmVyIG9mIGNoYXJhY3RlcnMgZnJvbSB0aGUgYmVnaW5uaW5nIG9mIHRoZQorICAgY29udGVudCBpcyByZXR1cm5lZC4gSWYgQHAgb2Zmc2V0IGlzIG5lZ2F0aXZlLCB0aGVuIGEgcG9pbnRlciB0byBAcCBvZmZzZXQKKyAgIG51bWJlciBvZiBjaGFyYWN0ZXJzIGZyb20gdGhlIGVuZGluZyBvZiB0aGUgc3RyaW5nLCBzdGFydGluZyBhdCB0aGUKKyAgIHRlcm1pbmF0aW5nIHplcm8sIGlzIHJldHVybmVkLgorKi8KK1RSSU9fU1RSSU5HX1BVQkxJQyBjaGFyICoKK3RyaW9fc3RyaW5nX2dldAorVFJJT19BUkdTMigoc2VsZiwgb2Zmc2V0KSwKKwkgICB0cmlvX3N0cmluZ190ICpzZWxmLAorCSAgIGludCBvZmZzZXQpCit7CisgIGNoYXIgKnJlc3VsdCA9IE5VTEw7CisKKyAgYXNzZXJ0KHNlbGYpOworCisgIGlmIChzZWxmLT5jb250ZW50ICE9IE5VTEwpCisgICAgeworICAgICAgaWYgKHNlbGYtPmxlbmd0aCA9PSAwKQorCXsKKwkgICh2b2lkKXRyaW9fc3RyaW5nX2xlbmd0aChzZWxmKTsKKwl9CisgICAgICBpZiAob2Zmc2V0ID49IDApCisJeworCSAgaWYgKG9mZnNldCA+IChpbnQpc2VsZi0+bGVuZ3RoKQorCSAgICB7CisJICAgICAgb2Zmc2V0ID0gc2VsZi0+bGVuZ3RoOworCSAgICB9CisJfQorICAgICAgZWxzZQorCXsKKwkgIG9mZnNldCArPSBzZWxmLT5sZW5ndGggKyAxOworCSAgaWYgKG9mZnNldCA8IDApCisJICAgIHsKKwkgICAgICBvZmZzZXQgPSAwOworCSAgICB9CisJfQorICAgICAgcmVzdWx0ID0gJihzZWxmLT5jb250ZW50W29mZnNldF0pOworICAgIH0KKyAgcmV0dXJuIHJlc3VsdDsKK30KKyNlbmRpZiAvKiAhZGVmaW5lZChUUklPX01JTklNQUwpICovCisKKworLyoqCisgICBFeHRyYWN0IHRoZSBjb250ZW50LgorCisgICBAcGFyYW0gc2VsZiBEeW5hbWljIFN0cmluZworICAgQHJldHVybiBDb250ZW50IG9mIGR5bmFtaWMgc3RyaW5nLgorCisgICBUaGUgY29udGVudCBpcyByZW1vdmVkIGZyb20gdGhlIGR5bmFtaWMgc3RyaW5nLiBUaGlzIGVuYWJsZXMgZGVzdHJ1Y3Rpb24KKyAgIG9mIHRoZSBkeW5hbWljIHN0cmluZyB3aXRob3V0IGRlYWxsb2NhdGlvbiBvZiB0aGUgY29udGVudC4KKyovCitUUklPX1NUUklOR19QVUJMSUMgY2hhciAqCit0cmlvX3N0cmluZ19leHRyYWN0CitUUklPX0FSR1MxKChzZWxmKSwKKwkgICB0cmlvX3N0cmluZ190ICpzZWxmKQoreworICBjaGFyICpyZXN1bHQ7CisKKyAgYXNzZXJ0KHNlbGYpOworCisgIHJlc3VsdCA9IHNlbGYtPmNvbnRlbnQ7CisgIC8qIEZJWE1FOiBBbGxvY2F0ZSBuZXcgZW1wdHkgYnVmZmVyPyAqLworICBzZWxmLT5jb250ZW50ID0gTlVMTDsKKyAgc2VsZi0+bGVuZ3RoID0gc2VsZi0+YWxsb2NhdGVkID0gMDsKKyAgcmV0dXJuIHJlc3VsdDsKK30KKworCisjaWYgIWRlZmluZWQoVFJJT19NSU5JTUFMKQorLyoqCisgICBTZXQgdGhlIGNvbnRlbnQgb2YgdGhlIGR5bmFtaWMgc3RyaW5nLgorCisgICBAcGFyYW0gc2VsZiBEeW5hbWljIFN0cmluZworICAgQHBhcmFtIGJ1ZmZlciBUaGUgbmV3IGNvbnRlbnQuCisKKyAgIFNldHMgdGhlIGNvbnRlbnQgb2YgdGhlIGR5bmFtaWMgc3RyaW5nIHRvIGEgY29weSBAcCBidWZmZXIuCisgICBBbiBleGlzdGluZyBjb250ZW50IHdpbGwgYmUgZGVhbGxvY2F0ZWQgZmlyc3QsIGlmIG5lY2Vzc2FyeS4KKworICAgQHJlbWFyaworICAgVGhpcyBmdW5jdGlvbiB3aWxsIG1ha2UgYSBjb3B5IG9mIEBwIGJ1ZmZlci4KKyAgIFlvdSBhcmUgcmVzcG9uc2libGUgZm9yIGRlYWxsb2NhdGluZyBAcCBidWZmZXIgeW91cnNlbGYuCisqLworVFJJT19TVFJJTkdfUFVCTElDIHZvaWQKK3RyaW9feHN0cmluZ19zZXQKK1RSSU9fQVJHUzIoKHNlbGYsIGJ1ZmZlciksCisJICAgdHJpb19zdHJpbmdfdCAqc2VsZiwKKwkgICBjaGFyICpidWZmZXIpCit7CisgIGFzc2VydChzZWxmKTsKKworICB0cmlvX2Rlc3Ryb3koc2VsZi0+Y29udGVudCk7CisgIHNlbGYtPmNvbnRlbnQgPSB0cmlvX2R1cGxpY2F0ZShidWZmZXIpOworfQorI2VuZGlmIC8qICFkZWZpbmVkKFRSSU9fTUlOSU1BTCkgKi8KKworCisvKgorICogdHJpb19zdHJpbmdfc2l6ZQorICovCitUUklPX1NUUklOR19QVUJMSUMgaW50Cit0cmlvX3N0cmluZ19zaXplCitUUklPX0FSR1MxKChzZWxmKSwKKwkgICB0cmlvX3N0cmluZ190ICpzZWxmKQoreworICBhc3NlcnQoc2VsZik7CisKKyAgcmV0dXJuIHNlbGYtPmFsbG9jYXRlZDsKK30KKworCisvKgorICogdHJpb19zdHJpbmdfdGVybWluYXRlCisgKi8KK1RSSU9fU1RSSU5HX1BVQkxJQyB2b2lkCit0cmlvX3N0cmluZ190ZXJtaW5hdGUKK1RSSU9fQVJHUzEoKHNlbGYpLAorCSAgIHRyaW9fc3RyaW5nX3QgKnNlbGYpCit7CisgIHRyaW9feHN0cmluZ19hcHBlbmRfY2hhcihzZWxmLCAwKTsKK30KKworCisjaWYgIWRlZmluZWQoVFJJT19NSU5JTUFMKQorLyoqCisgICBBcHBlbmQgdGhlIHNlY29uZCBzdHJpbmcgdG8gdGhlIGZpcnN0LgorCisgICBAcGFyYW0gc2VsZiBEeW5hbWljIHN0cmluZyB0byBiZSBtb2RpZmllZC4KKyAgIEBwYXJhbSBvdGhlciBEeW5hbWljIHN0cmluZyB0byBjb3B5IGZyb20uCisgICBAcmV0dXJuIEJvb2xlYW4gdmFsdWUgaW5kaWNhdGluZyBzdWNjZXNzIG9yIGZhaWx1cmUuCisqLworVFJJT19TVFJJTkdfUFVCTElDIGludAordHJpb19zdHJpbmdfYXBwZW5kCitUUklPX0FSR1MyKChzZWxmLCBvdGhlciksCisJICAgdHJpb19zdHJpbmdfdCAqc2VsZiwKKwkgICB0cmlvX3N0cmluZ190ICpvdGhlcikKK3sKKyAgc2l6ZV90IGxlbmd0aDsKKworICBhc3NlcnQoc2VsZik7CisgIGFzc2VydChvdGhlcik7CisKKyAgbGVuZ3RoID0gc2VsZi0+bGVuZ3RoICsgb3RoZXItPmxlbmd0aDsKKyAgaWYgKCFUcmlvU3RyaW5nR3Jvd1RvKHNlbGYsIGxlbmd0aCkpCisgICAgZ290byBlcnJvcjsKKyAgdHJpb19jb3B5KCZzZWxmLT5jb250ZW50W3NlbGYtPmxlbmd0aF0sIG90aGVyLT5jb250ZW50KTsKKyAgc2VsZi0+bGVuZ3RoID0gbGVuZ3RoOworICByZXR1cm4gVFJVRTsKKworIGVycm9yOgorICByZXR1cm4gRkFMU0U7Cit9CisjZW5kaWYgLyogIWRlZmluZWQoVFJJT19NSU5JTUFMKSAqLworCisKKyNpZiAhZGVmaW5lZChUUklPX01JTklNQUwpCisvKgorICogdHJpb194c3RyaW5nX2FwcGVuZAorICovCitUUklPX1NUUklOR19QVUJMSUMgaW50Cit0cmlvX3hzdHJpbmdfYXBwZW5kCitUUklPX0FSR1MyKChzZWxmLCBvdGhlciksCisJICAgdHJpb19zdHJpbmdfdCAqc2VsZiwKKwkgICBUUklPX0NPTlNUIGNoYXIgKm90aGVyKQoreworICBzaXplX3QgbGVuZ3RoOworCisgIGFzc2VydChzZWxmKTsKKyAgYXNzZXJ0KG90aGVyKTsKKworICBsZW5ndGggPSBzZWxmLT5sZW5ndGggKyB0cmlvX2xlbmd0aChvdGhlcik7CisgIGlmICghVHJpb1N0cmluZ0dyb3dUbyhzZWxmLCBsZW5ndGgpKQorICAgIGdvdG8gZXJyb3I7CisgIHRyaW9fY29weSgmc2VsZi0+Y29udGVudFtzZWxmLT5sZW5ndGhdLCBvdGhlcik7CisgIHNlbGYtPmxlbmd0aCA9IGxlbmd0aDsKKyAgcmV0dXJuIFRSVUU7CisKKyBlcnJvcjoKKyAgcmV0dXJuIEZBTFNFOworfQorI2VuZGlmIC8qICFkZWZpbmVkKFRSSU9fTUlOSU1BTCkgKi8KKworCisvKgorICogdHJpb194c3RyaW5nX2FwcGVuZF9jaGFyCisgKi8KK1RSSU9fU1RSSU5HX1BVQkxJQyBpbnQKK3RyaW9feHN0cmluZ19hcHBlbmRfY2hhcgorVFJJT19BUkdTMigoc2VsZiwgY2hhcmFjdGVyKSwKKwkgICB0cmlvX3N0cmluZ190ICpzZWxmLAorCSAgIGNoYXIgY2hhcmFjdGVyKQoreworICBhc3NlcnQoc2VsZik7CisKKyAgaWYgKChpbnQpc2VsZi0+bGVuZ3RoID49IHRyaW9fc3RyaW5nX3NpemUoc2VsZikpCisgICAgeworICAgICAgaWYgKCFUcmlvU3RyaW5nR3JvdyhzZWxmLCAwKSkKKwlnb3RvIGVycm9yOworICAgIH0KKyAgc2VsZi0+Y29udGVudFtzZWxmLT5sZW5ndGhdID0gY2hhcmFjdGVyOworICBzZWxmLT5sZW5ndGgrKzsKKyAgcmV0dXJuIFRSVUU7CisKKyBlcnJvcjoKKyAgcmV0dXJuIEZBTFNFOworfQorCisKKyNpZiAhZGVmaW5lZChUUklPX01JTklNQUwpCisvKioKKyAgIFNlYXJjaCBmb3IgdGhlIGZpcnN0IG9jY3VycmVuY2Ugb2Ygc2Vjb25kIHBhcmFtZXRlciBpbiB0aGUgZmlyc3QuCisKKyAgIEBwYXJhbSBzZWxmIER5bmFtaWMgc3RyaW5nIHRvIGJlIG1vZGlmaWVkLgorICAgQHBhcmFtIG90aGVyIER5bmFtaWMgc3RyaW5nIHRvIGNvcHkgZnJvbS4KKyAgIEByZXR1cm4gQm9vbGVhbiB2YWx1ZSBpbmRpY2F0aW5nIHN1Y2Nlc3Mgb3IgZmFpbHVyZS4KKyovCitUUklPX1NUUklOR19QVUJMSUMgaW50Cit0cmlvX3N0cmluZ19jb250YWlucworVFJJT19BUkdTMigoc2VsZiwgb3RoZXIpLAorCSAgIHRyaW9fc3RyaW5nX3QgKnNlbGYsCisJICAgdHJpb19zdHJpbmdfdCAqb3RoZXIpCit7CisgIGFzc2VydChzZWxmKTsKKyAgYXNzZXJ0KG90aGVyKTsKKworICByZXR1cm4gdHJpb19jb250YWlucyhzZWxmLT5jb250ZW50LCBvdGhlci0+Y29udGVudCk7Cit9CisjZW5kaWYgLyogIWRlZmluZWQoVFJJT19NSU5JTUFMKSAqLworCisKKyNpZiAhZGVmaW5lZChUUklPX01JTklNQUwpCisvKgorICogdHJpb194c3RyaW5nX2NvbnRhaW5zCisgKi8KK1RSSU9fU1RSSU5HX1BVQkxJQyBpbnQKK3RyaW9feHN0cmluZ19jb250YWlucworVFJJT19BUkdTMigoc2VsZiwgb3RoZXIpLAorCSAgIHRyaW9fc3RyaW5nX3QgKnNlbGYsCisJICAgVFJJT19DT05TVCBjaGFyICpvdGhlcikKK3sKKyAgYXNzZXJ0KHNlbGYpOworICBhc3NlcnQob3RoZXIpOworCisgIHJldHVybiB0cmlvX2NvbnRhaW5zKHNlbGYtPmNvbnRlbnQsIG90aGVyKTsKK30KKyNlbmRpZiAvKiAhZGVmaW5lZChUUklPX01JTklNQUwpICovCisKKworI2lmICFkZWZpbmVkKFRSSU9fTUlOSU1BTCkKKy8qCisgKiB0cmlvX3N0cmluZ19jb3B5CisgKi8KK1RSSU9fU1RSSU5HX1BVQkxJQyBpbnQKK3RyaW9fc3RyaW5nX2NvcHkKK1RSSU9fQVJHUzIoKHNlbGYsIG90aGVyKSwKKwkgICB0cmlvX3N0cmluZ190ICpzZWxmLAorCSAgIHRyaW9fc3RyaW5nX3QgKm90aGVyKQoreworICBhc3NlcnQoc2VsZik7CisgIGFzc2VydChvdGhlcik7CisKKyAgc2VsZi0+bGVuZ3RoID0gMDsKKyAgcmV0dXJuIHRyaW9fc3RyaW5nX2FwcGVuZChzZWxmLCBvdGhlcik7Cit9CisjZW5kaWYgLyogIWRlZmluZWQoVFJJT19NSU5JTUFMKSAqLworCisKKyNpZiAhZGVmaW5lZChUUklPX01JTklNQUwpCisvKgorICogdHJpb194c3RyaW5nX2NvcHkKKyAqLworVFJJT19TVFJJTkdfUFVCTElDIGludAordHJpb194c3RyaW5nX2NvcHkKK1RSSU9fQVJHUzIoKHNlbGYsIG90aGVyKSwKKwkgICB0cmlvX3N0cmluZ190ICpzZWxmLAorCSAgIFRSSU9fQ09OU1QgY2hhciAqb3RoZXIpCit7CisgIGFzc2VydChzZWxmKTsKKyAgYXNzZXJ0KG90aGVyKTsKKworICBzZWxmLT5sZW5ndGggPSAwOworICByZXR1cm4gdHJpb194c3RyaW5nX2FwcGVuZChzZWxmLCBvdGhlcik7Cit9CisjZW5kaWYgLyogIWRlZmluZWQoVFJJT19NSU5JTUFMKSAqLworCisKKyNpZiAhZGVmaW5lZChUUklPX01JTklNQUwpCisvKgorICogdHJpb19zdHJpbmdfZHVwbGljYXRlCisgKi8KK1RSSU9fU1RSSU5HX1BVQkxJQyB0cmlvX3N0cmluZ190ICoKK3RyaW9fc3RyaW5nX2R1cGxpY2F0ZQorVFJJT19BUkdTMSgob3RoZXIpLAorCSAgIHRyaW9fc3RyaW5nX3QgKm90aGVyKQoreworICB0cmlvX3N0cmluZ190ICpzZWxmOworCisgIGFzc2VydChvdGhlcik7CisKKyAgc2VsZiA9IFRyaW9TdHJpbmdBbGxvYygpOworICBpZiAoc2VsZikKKyAgICB7CisgICAgICBzZWxmLT5jb250ZW50ID0gVHJpb0R1cGxpY2F0ZU1heChvdGhlci0+Y29udGVudCwgb3RoZXItPmxlbmd0aCk7CisgICAgICBpZiAoc2VsZi0+Y29udGVudCkKKwl7CisJICBzZWxmLT5sZW5ndGggPSBvdGhlci0+bGVuZ3RoOworCSAgc2VsZi0+YWxsb2NhdGVkID0gc2VsZi0+bGVuZ3RoICsgMTsKKwl9CisgICAgICBlbHNlCisJeworCSAgc2VsZi0+bGVuZ3RoID0gc2VsZi0+YWxsb2NhdGVkID0gMDsKKwl9CisgICAgfQorICByZXR1cm4gc2VsZjsKK30KKyNlbmRpZiAvKiAhZGVmaW5lZChUUklPX01JTklNQUwpICovCisKKworLyoKKyAqIHRyaW9feHN0cmluZ19kdXBsaWNhdGUKKyAqLworVFJJT19TVFJJTkdfUFVCTElDIHRyaW9fc3RyaW5nX3QgKgordHJpb194c3RyaW5nX2R1cGxpY2F0ZQorVFJJT19BUkdTMSgob3RoZXIpLAorCSAgIFRSSU9fQ09OU1QgY2hhciAqb3RoZXIpCit7CisgIHRyaW9fc3RyaW5nX3QgKnNlbGY7CisKKyAgYXNzZXJ0KG90aGVyKTsKKworICBzZWxmID0gVHJpb1N0cmluZ0FsbG9jKCk7CisgIGlmIChzZWxmKQorICAgIHsKKyAgICAgIHNlbGYtPmNvbnRlbnQgPSBUcmlvRHVwbGljYXRlTWF4KG90aGVyLCB0cmlvX2xlbmd0aChvdGhlcikpOworICAgICAgaWYgKHNlbGYtPmNvbnRlbnQpCisJeworCSAgc2VsZi0+bGVuZ3RoID0gdHJpb19sZW5ndGgoc2VsZi0+Y29udGVudCk7CisJICBzZWxmLT5hbGxvY2F0ZWQgPSBzZWxmLT5sZW5ndGggKyAxOworCX0KKyAgICAgIGVsc2UKKwl7CisJICBzZWxmLT5sZW5ndGggPSBzZWxmLT5hbGxvY2F0ZWQgPSAwOworCX0KKyAgICB9CisgIHJldHVybiBzZWxmOworfQorCisKKyNpZiAhZGVmaW5lZChUUklPX01JTklNQUwpCisvKgorICogdHJpb19zdHJpbmdfZXF1YWwKKyAqLworVFJJT19TVFJJTkdfUFVCTElDIGludAordHJpb19zdHJpbmdfZXF1YWwKK1RSSU9fQVJHUzIoKHNlbGYsIG90aGVyKSwKKwkgICB0cmlvX3N0cmluZ190ICpzZWxmLAorCSAgIHRyaW9fc3RyaW5nX3QgKm90aGVyKQoreworICBhc3NlcnQoc2VsZik7CisgIGFzc2VydChvdGhlcik7CisKKyAgcmV0dXJuIHRyaW9fZXF1YWwoc2VsZi0+Y29udGVudCwgb3RoZXItPmNvbnRlbnQpOworfQorI2VuZGlmIC8qICFkZWZpbmVkKFRSSU9fTUlOSU1BTCkgKi8KKworCisjaWYgIWRlZmluZWQoVFJJT19NSU5JTUFMKQorLyoKKyAqIHRyaW9feHN0cmluZ19lcXVhbAorICovCitUUklPX1NUUklOR19QVUJMSUMgaW50Cit0cmlvX3hzdHJpbmdfZXF1YWwKK1RSSU9fQVJHUzIoKHNlbGYsIG90aGVyKSwKKwkgICB0cmlvX3N0cmluZ190ICpzZWxmLAorCSAgIFRSSU9fQ09OU1QgY2hhciAqb3RoZXIpCit7CisgIGFzc2VydChzZWxmKTsKKyAgYXNzZXJ0KG90aGVyKTsKKworICByZXR1cm4gdHJpb19lcXVhbChzZWxmLT5jb250ZW50LCBvdGhlcik7Cit9CisjZW5kaWYgLyogIWRlZmluZWQoVFJJT19NSU5JTUFMKSAqLworCisKKyNpZiAhZGVmaW5lZChUUklPX01JTklNQUwpCisvKgorICogdHJpb19zdHJpbmdfZXF1YWxfbWF4CisgKi8KK1RSSU9fU1RSSU5HX1BVQkxJQyBpbnQKK3RyaW9fc3RyaW5nX2VxdWFsX21heAorVFJJT19BUkdTMygoc2VsZiwgbWF4LCBvdGhlciksCisJICAgdHJpb19zdHJpbmdfdCAqc2VsZiwKKwkgICBzaXplX3QgbWF4LAorCSAgIHRyaW9fc3RyaW5nX3QgKm90aGVyKQoreworICBhc3NlcnQoc2VsZik7CisgIGFzc2VydChvdGhlcik7CisKKyAgcmV0dXJuIHRyaW9fZXF1YWxfbWF4KHNlbGYtPmNvbnRlbnQsIG1heCwgb3RoZXItPmNvbnRlbnQpOworfQorI2VuZGlmIC8qICFkZWZpbmVkKFRSSU9fTUlOSU1BTCkgKi8KKworCisjaWYgIWRlZmluZWQoVFJJT19NSU5JTUFMKQorLyoKKyAqIHRyaW9feHN0cmluZ19lcXVhbF9tYXgKKyAqLworVFJJT19TVFJJTkdfUFVCTElDIGludAordHJpb194c3RyaW5nX2VxdWFsX21heAorVFJJT19BUkdTMygoc2VsZiwgbWF4LCBvdGhlciksCisJICAgdHJpb19zdHJpbmdfdCAqc2VsZiwKKwkgICBzaXplX3QgbWF4LAorCSAgIFRSSU9fQ09OU1QgY2hhciAqb3RoZXIpCit7CisgIGFzc2VydChzZWxmKTsKKyAgYXNzZXJ0KG90aGVyKTsKKworICByZXR1cm4gdHJpb19lcXVhbF9tYXgoc2VsZi0+Y29udGVudCwgbWF4LCBvdGhlcik7Cit9CisjZW5kaWYgLyogIWRlZmluZWQoVFJJT19NSU5JTUFMKSAqLworCisKKyNpZiAhZGVmaW5lZChUUklPX01JTklNQUwpCisvKgorICogdHJpb19zdHJpbmdfZXF1YWxfY2FzZQorICovCitUUklPX1NUUklOR19QVUJMSUMgaW50Cit0cmlvX3N0cmluZ19lcXVhbF9jYXNlCitUUklPX0FSR1MyKChzZWxmLCBvdGhlciksCisJICAgdHJpb19zdHJpbmdfdCAqc2VsZiwKKwkgICB0cmlvX3N0cmluZ190ICpvdGhlcikKK3sKKyAgYXNzZXJ0KHNlbGYpOworICBhc3NlcnQob3RoZXIpOworCisgIHJldHVybiB0cmlvX2VxdWFsX2Nhc2Uoc2VsZi0+Y29udGVudCwgb3RoZXItPmNvbnRlbnQpOworfQorI2VuZGlmIC8qICFkZWZpbmVkKFRSSU9fTUlOSU1BTCkgKi8KKworCisjaWYgIWRlZmluZWQoVFJJT19NSU5JTUFMKQorLyoKKyAqIHRyaW9feHN0cmluZ19lcXVhbF9jYXNlCisgKi8KK1RSSU9fU1RSSU5HX1BVQkxJQyBpbnQKK3RyaW9feHN0cmluZ19lcXVhbF9jYXNlCitUUklPX0FSR1MyKChzZWxmLCBvdGhlciksCisJICAgdHJpb19zdHJpbmdfdCAqc2VsZiwKKwkgICBUUklPX0NPTlNUIGNoYXIgKm90aGVyKQoreworICBhc3NlcnQoc2VsZik7CisgIGFzc2VydChvdGhlcik7CisKKyAgcmV0dXJuIHRyaW9fZXF1YWxfY2FzZShzZWxmLT5jb250ZW50LCBvdGhlcik7Cit9CisjZW5kaWYgLyogIWRlZmluZWQoVFJJT19NSU5JTUFMKSAqLworCisKKyNpZiAhZGVmaW5lZChUUklPX01JTklNQUwpCisvKgorICogdHJpb19zdHJpbmdfZXF1YWxfY2FzZV9tYXgKKyAqLworVFJJT19TVFJJTkdfUFVCTElDIGludAordHJpb19zdHJpbmdfZXF1YWxfY2FzZV9tYXgKK1RSSU9fQVJHUzMoKHNlbGYsIG1heCwgb3RoZXIpLAorCSAgIHRyaW9fc3RyaW5nX3QgKnNlbGYsCisJICAgc2l6ZV90IG1heCwKKwkgICB0cmlvX3N0cmluZ190ICpvdGhlcikKK3sKKyAgYXNzZXJ0KHNlbGYpOworICBhc3NlcnQob3RoZXIpOworCisgIHJldHVybiB0cmlvX2VxdWFsX2Nhc2VfbWF4KHNlbGYtPmNvbnRlbnQsIG1heCwgb3RoZXItPmNvbnRlbnQpOworfQorI2VuZGlmIC8qICFkZWZpbmVkKFRSSU9fTUlOSU1BTCkgKi8KKworCisjaWYgIWRlZmluZWQoVFJJT19NSU5JTUFMKQorLyoKKyAqIHRyaW9feHN0cmluZ19lcXVhbF9jYXNlX21heAorICovCitUUklPX1NUUklOR19QVUJMSUMgaW50Cit0cmlvX3hzdHJpbmdfZXF1YWxfY2FzZV9tYXgKK1RSSU9fQVJHUzMoKHNlbGYsIG1heCwgb3RoZXIpLAorCSAgIHRyaW9fc3RyaW5nX3QgKnNlbGYsCisJICAgc2l6ZV90IG1heCwKKwkgICBUUklPX0NPTlNUIGNoYXIgKm90aGVyKQoreworICBhc3NlcnQoc2VsZik7CisgIGFzc2VydChvdGhlcik7CisKKyAgcmV0dXJuIHRyaW9fZXF1YWxfY2FzZV9tYXgoc2VsZi0+Y29udGVudCwgbWF4LCBvdGhlcik7Cit9CisjZW5kaWYgLyogIWRlZmluZWQoVFJJT19NSU5JTUFMKSAqLworCisKKyNpZiAhZGVmaW5lZChUUklPX01JTklNQUwpICYmICFkZWZpbmVkKF9XSU4zMl9XQ0UpCisvKgorICogdHJpb19zdHJpbmdfZm9ybWF0X2RhdGFfbWF4CisgKi8KK1RSSU9fU1RSSU5HX1BVQkxJQyBzaXplX3QKK3RyaW9fc3RyaW5nX2Zvcm1hdF9kYXRlX21heAorVFJJT19BUkdTNCgoc2VsZiwgbWF4LCBmb3JtYXQsIGRhdGV0aW1lKSwKKwkgICB0cmlvX3N0cmluZ190ICpzZWxmLAorCSAgIHNpemVfdCBtYXgsCisJICAgVFJJT19DT05TVCBjaGFyICpmb3JtYXQsCisJICAgVFJJT19DT05TVCBzdHJ1Y3QgdG0gKmRhdGV0aW1lKQoreworICBhc3NlcnQoc2VsZik7CisKKyAgcmV0dXJuIHRyaW9fZm9ybWF0X2RhdGVfbWF4KHNlbGYtPmNvbnRlbnQsIG1heCwgZm9ybWF0LCBkYXRldGltZSk7Cit9CisjZW5kaWYgLyogIWRlZmluZWQoVFJJT19NSU5JTUFMKSAqLworCisKKyNpZiAhZGVmaW5lZChUUklPX01JTklNQUwpCisvKgorICogdHJpb19zdHJpbmdfaW5kZXgKKyAqLworVFJJT19TVFJJTkdfUFVCTElDIGNoYXIgKgordHJpb19zdHJpbmdfaW5kZXgKK1RSSU9fQVJHUzIoKHNlbGYsIGNoYXJhY3RlciksCisJICAgdHJpb19zdHJpbmdfdCAqc2VsZiwKKwkgICBpbnQgY2hhcmFjdGVyKQoreworICBhc3NlcnQoc2VsZik7CisKKyAgcmV0dXJuIHRyaW9faW5kZXgoc2VsZi0+Y29udGVudCwgY2hhcmFjdGVyKTsKK30KKyNlbmRpZiAvKiAhZGVmaW5lZChUUklPX01JTklNQUwpICovCisKKworI2lmICFkZWZpbmVkKFRSSU9fTUlOSU1BTCkKKy8qCisgKiB0cmlvX3N0cmluZ19pbmRleF9sYXN0CisgKi8KK1RSSU9fU1RSSU5HX1BVQkxJQyBjaGFyICoKK3RyaW9fc3RyaW5nX2luZGV4X2xhc3QKK1RSSU9fQVJHUzIoKHNlbGYsIGNoYXJhY3RlciksCisJICAgdHJpb19zdHJpbmdfdCAqc2VsZiwKKwkgICBpbnQgY2hhcmFjdGVyKQoreworICBhc3NlcnQoc2VsZik7CisKKyAgcmV0dXJuIHRyaW9faW5kZXhfbGFzdChzZWxmLT5jb250ZW50LCBjaGFyYWN0ZXIpOworfQorI2VuZGlmIC8qICFkZWZpbmVkKFRSSU9fTUlOSU1BTCkgKi8KKworCisjaWYgIWRlZmluZWQoVFJJT19NSU5JTUFMKQorLyoKKyAqIHRyaW9fc3RyaW5nX2xlbmd0aAorICovCitUUklPX1NUUklOR19QVUJMSUMgaW50Cit0cmlvX3N0cmluZ19sZW5ndGgKK1RSSU9fQVJHUzEoKHNlbGYpLAorCSAgIHRyaW9fc3RyaW5nX3QgKnNlbGYpCit7CisgIGFzc2VydChzZWxmKTsKKworICBpZiAoc2VsZi0+bGVuZ3RoID09IDApCisgICAgeworICAgICAgc2VsZi0+bGVuZ3RoID0gdHJpb19sZW5ndGgoc2VsZi0+Y29udGVudCk7CisgICAgfQorICByZXR1cm4gc2VsZi0+bGVuZ3RoOworfQorI2VuZGlmIC8qICFkZWZpbmVkKFRSSU9fTUlOSU1BTCkgKi8KKworCisjaWYgIWRlZmluZWQoVFJJT19NSU5JTUFMKQorLyoKKyAqIHRyaW9fc3RyaW5nX2xvd2VyCisgKi8KK1RSSU9fU1RSSU5HX1BVQkxJQyBpbnQKK3RyaW9fc3RyaW5nX2xvd2VyCitUUklPX0FSR1MxKChzZWxmKSwKKwkgICB0cmlvX3N0cmluZ190ICpzZWxmKQoreworICBhc3NlcnQoc2VsZik7CisKKyAgcmV0dXJuIHRyaW9fbG93ZXIoc2VsZi0+Y29udGVudCk7Cit9CisjZW5kaWYgLyogIWRlZmluZWQoVFJJT19NSU5JTUFMKSAqLworCisKKyNpZiAhZGVmaW5lZChUUklPX01JTklNQUwpCisvKgorICogdHJpb19zdHJpbmdfbWF0Y2gKKyAqLworVFJJT19TVFJJTkdfUFVCTElDIGludAordHJpb19zdHJpbmdfbWF0Y2gKK1RSSU9fQVJHUzIoKHNlbGYsIG90aGVyKSwKKwkgICB0cmlvX3N0cmluZ190ICpzZWxmLAorCSAgIHRyaW9fc3RyaW5nX3QgKm90aGVyKQoreworICBhc3NlcnQoc2VsZik7CisgIGFzc2VydChvdGhlcik7CisKKyAgcmV0dXJuIHRyaW9fbWF0Y2goc2VsZi0+Y29udGVudCwgb3RoZXItPmNvbnRlbnQpOworfQorI2VuZGlmIC8qICFkZWZpbmVkKFRSSU9fTUlOSU1BTCkgKi8KKworCisjaWYgIWRlZmluZWQoVFJJT19NSU5JTUFMKQorLyoKKyAqIHRyaW9feHN0cmluZ19tYXRjaAorICovCitUUklPX1NUUklOR19QVUJMSUMgaW50Cit0cmlvX3hzdHJpbmdfbWF0Y2gKK1RSSU9fQVJHUzIoKHNlbGYsIG90aGVyKSwKKwkgICB0cmlvX3N0cmluZ190ICpzZWxmLAorCSAgIFRSSU9fQ09OU1QgY2hhciAqb3RoZXIpCit7CisgIGFzc2VydChzZWxmKTsKKyAgYXNzZXJ0KG90aGVyKTsKKworICByZXR1cm4gdHJpb19tYXRjaChzZWxmLT5jb250ZW50LCBvdGhlcik7Cit9CisjZW5kaWYgLyogIWRlZmluZWQoVFJJT19NSU5JTUFMKSAqLworCisKKyNpZiAhZGVmaW5lZChUUklPX01JTklNQUwpCisvKgorICogdHJpb19zdHJpbmdfbWF0Y2hfY2FzZQorICovCitUUklPX1NUUklOR19QVUJMSUMgaW50Cit0cmlvX3N0cmluZ19tYXRjaF9jYXNlCitUUklPX0FSR1MyKChzZWxmLCBvdGhlciksCisJICAgdHJpb19zdHJpbmdfdCAqc2VsZiwKKwkgICB0cmlvX3N0cmluZ190ICpvdGhlcikKK3sKKyAgYXNzZXJ0KHNlbGYpOworICBhc3NlcnQob3RoZXIpOworCisgIHJldHVybiB0cmlvX21hdGNoX2Nhc2Uoc2VsZi0+Y29udGVudCwgb3RoZXItPmNvbnRlbnQpOworfQorI2VuZGlmIC8qICFkZWZpbmVkKFRSSU9fTUlOSU1BTCkgKi8KKworCisjaWYgIWRlZmluZWQoVFJJT19NSU5JTUFMKQorLyoKKyAqIHRyaW9feHN0cmluZ19tYXRjaF9jYXNlCisgKi8KK1RSSU9fU1RSSU5HX1BVQkxJQyBpbnQKK3RyaW9feHN0cmluZ19tYXRjaF9jYXNlCitUUklPX0FSR1MyKChzZWxmLCBvdGhlciksCisJICAgdHJpb19zdHJpbmdfdCAqc2VsZiwKKwkgICBUUklPX0NPTlNUIGNoYXIgKm90aGVyKQoreworICBhc3NlcnQoc2VsZik7CisgIGFzc2VydChvdGhlcik7CisKKyAgcmV0dXJuIHRyaW9fbWF0Y2hfY2FzZShzZWxmLT5jb250ZW50LCBvdGhlcik7Cit9CisjZW5kaWYgLyogIWRlZmluZWQoVFJJT19NSU5JTUFMKSAqLworCisKKyNpZiAhZGVmaW5lZChUUklPX01JTklNQUwpCisvKgorICogdHJpb19zdHJpbmdfc3Vic3RyaW5nCisgKi8KK1RSSU9fU1RSSU5HX1BVQkxJQyBjaGFyICoKK3RyaW9fc3RyaW5nX3N1YnN0cmluZworVFJJT19BUkdTMigoc2VsZiwgb3RoZXIpLAorCSAgIHRyaW9fc3RyaW5nX3QgKnNlbGYsCisJICAgdHJpb19zdHJpbmdfdCAqb3RoZXIpCit7CisgIGFzc2VydChzZWxmKTsKKyAgYXNzZXJ0KG90aGVyKTsKKworICByZXR1cm4gdHJpb19zdWJzdHJpbmcoc2VsZi0+Y29udGVudCwgb3RoZXItPmNvbnRlbnQpOworfQorI2VuZGlmIC8qICFkZWZpbmVkKFRSSU9fTUlOSU1BTCkgKi8KKworCisjaWYgIWRlZmluZWQoVFJJT19NSU5JTUFMKQorLyoKKyAqIHRyaW9feHN0cmluZ19zdWJzdHJpbmcKKyAqLworVFJJT19TVFJJTkdfUFVCTElDIGNoYXIgKgordHJpb194c3RyaW5nX3N1YnN0cmluZworVFJJT19BUkdTMigoc2VsZiwgb3RoZXIpLAorCSAgIHRyaW9fc3RyaW5nX3QgKnNlbGYsCisJICAgVFJJT19DT05TVCBjaGFyICpvdGhlcikKK3sKKyAgYXNzZXJ0KHNlbGYpOworICBhc3NlcnQob3RoZXIpOworCisgIHJldHVybiB0cmlvX3N1YnN0cmluZyhzZWxmLT5jb250ZW50LCBvdGhlcik7Cit9CisjZW5kaWYgLyogIWRlZmluZWQoVFJJT19NSU5JTUFMKSAqLworCisKKyNpZiAhZGVmaW5lZChUUklPX01JTklNQUwpCisvKgorICogdHJpb19zdHJpbmdfdXBwZXIKKyAqLworVFJJT19TVFJJTkdfUFVCTElDIGludAordHJpb19zdHJpbmdfdXBwZXIKK1RSSU9fQVJHUzEoKHNlbGYpLAorCSAgIHRyaW9fc3RyaW5nX3QgKnNlbGYpCit7CisgIGFzc2VydChzZWxmKTsKKworICByZXR1cm4gdHJpb191cHBlcihzZWxmLT5jb250ZW50KTsKK30KKyNlbmRpZiAvKiAhZGVmaW5lZChUUklPX01JTklNQUwpICovCisKKy8qKiBAfSBFbmQgb2YgRHluYW1pY1N0cmluZ3MgKi8KZGlmZiAtLWdpdCBhL2xpYnhtbDIvdHJpb3N0ci5oIGIvbGlieG1sMi90cmlvc3RyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjdmNGFjZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdHJpb3N0ci5oCkBAIC0wLDAgKzEsMTQ0IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqICRJZCQKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDEgQmpvcm4gUmVlc2UgYW5kIERhbmllbCBTdGVuYmVyZy4KKyAqCisgKiBQZXJtaXNzaW9uIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGZvciBhbnkKKyAqIHB1cnBvc2Ugd2l0aCBvciB3aXRob3V0IGZlZSBpcyBoZXJlYnkgZ3JhbnRlZCwgcHJvdmlkZWQgdGhhdCB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2UgYXBwZWFyIGluIGFsbCBjb3BpZXMuCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBgYEFTIElTJycgQU5EIFdJVEhPVVQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRAorICogV0FSUkFOVElFUywgSU5DTFVESU5HLCBXSVRIT1VUIExJTUlUQVRJT04sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyAqIE1FUkNIQU5USUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFRIRSBBVVRIT1JTIEFORAorICogQ09OVFJJQlVUT1JTIEFDQ0VQVCBOTyBSRVNQT05TSUJJTElUWSBJTiBBTlkgQ09OQ0VJVkFCTEUgTUFOTkVSLgorICoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZm5kZWYgVFJJT19UUklPU1RSX0gKKyNkZWZpbmUgVFJJT19UUklPU1RSX0gKKworI2luY2x1ZGUgPGFzc2VydC5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHRpbWUuaD4KKyNpbmNsdWRlICJ0cmlvZGVmLmgiCisjaW5jbHVkZSAidHJpb3AuaCIKKworZW51bSB7CisgIFRSSU9fSEFTSF9OT05FID0gMCwKKyAgVFJJT19IQVNIX1BMQUlOLAorICBUUklPX0hBU0hfVFdPU0lHTkVECit9OworCisjaWYgIWRlZmluZWQoVFJJT19TVFJJTkdfUFVCTElDKQorIyBpZiAhZGVmaW5lZChUUklPX1BVQkxJQykKKyMgIGRlZmluZSBUUklPX1BVQkxJQworIyBlbmRpZgorIyBkZWZpbmUgVFJJT19TVFJJTkdfUFVCTElDIFRSSU9fUFVCTElDCisjZW5kaWYKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFN0cmluZyBmdW5jdGlvbnMKKyAqLworCitUUklPX1NUUklOR19QVUJMSUMgaW50IHRyaW9fY29weV9tYXggVFJJT19QUk9UTygoY2hhciAqdGFyZ2V0LCBzaXplX3QgbWF4LCBjb25zdCBjaGFyICpzb3VyY2UpKTsKK1RSSU9fU1RSSU5HX1BVQkxJQyBjaGFyICp0cmlvX2NyZWF0ZSBUUklPX1BST1RPKChzaXplX3Qgc2l6ZSkpOworVFJJT19TVFJJTkdfUFVCTElDIHZvaWQgdHJpb19kZXN0cm95IFRSSU9fUFJPVE8oKGNoYXIgKnN0cmluZykpOworVFJJT19TVFJJTkdfUFVCTElDIGNoYXIgKnRyaW9fZHVwbGljYXRlIFRSSU9fUFJPVE8oKGNvbnN0IGNoYXIgKnNvdXJjZSkpOworVFJJT19TVFJJTkdfUFVCTElDIGludCB0cmlvX2VxdWFsIFRSSU9fUFJPVE8oKGNvbnN0IGNoYXIgKmZpcnN0LCBjb25zdCBjaGFyICpzZWNvbmQpKTsKK1RSSU9fU1RSSU5HX1BVQkxJQyBpbnQgdHJpb19lcXVhbF9jYXNlIFRSSU9fUFJPVE8oKGNvbnN0IGNoYXIgKmZpcnN0LCBjb25zdCBjaGFyICpzZWNvbmQpKTsKK1RSSU9fU1RSSU5HX1BVQkxJQyBpbnQgdHJpb19lcXVhbF9sb2NhbGUgVFJJT19QUk9UTygoY29uc3QgY2hhciAqZmlyc3QsIGNvbnN0IGNoYXIgKnNlY29uZCkpOworVFJJT19TVFJJTkdfUFVCTElDIGludCB0cmlvX2VxdWFsX21heCBUUklPX1BST1RPKChjb25zdCBjaGFyICpmaXJzdCwgc2l6ZV90IG1heCwgY29uc3QgY2hhciAqc2Vjb25kKSk7CitUUklPX1NUUklOR19QVUJMSUMgVFJJT19DT05TVCBjaGFyICp0cmlvX2Vycm9yIFRSSU9fUFJPVE8oKGludCkpOworVFJJT19TVFJJTkdfUFVCTElDIHNpemVfdCB0cmlvX2xlbmd0aCBUUklPX1BST1RPKChjb25zdCBjaGFyICpzdHJpbmcpKTsKK1RSSU9fU1RSSU5HX1BVQkxJQyBkb3VibGUgdHJpb190b19kb3VibGUgVFJJT19QUk9UTygoY29uc3QgY2hhciAqc291cmNlLCBjaGFyICoqZW5kcCkpOworVFJJT19TVFJJTkdfUFVCTElDIGxvbmcgdHJpb190b19sb25nIFRSSU9fUFJPVE8oKGNvbnN0IGNoYXIgKnNvdXJjZSwgY2hhciAqKmVuZHAsIGludCBiYXNlKSk7CitUUklPX1NUUklOR19QVUJMSUMgdHJpb19sb25nX2RvdWJsZV90IHRyaW9fdG9fbG9uZ19kb3VibGUgVFJJT19QUk9UTygoY29uc3QgY2hhciAqc291cmNlLCBjaGFyICoqZW5kcCkpOworVFJJT19TVFJJTkdfUFVCTElDIGludCB0cmlvX3RvX3VwcGVyIFRSSU9fUFJPVE8oKGludCBzb3VyY2UpKTsKKworI2lmICFkZWZpbmVkKFRSSU9fTUlOSU1BTCkKKworVFJJT19TVFJJTkdfUFVCTElDIGludCB0cmlvX2FwcGVuZCBUUklPX1BST1RPKChjaGFyICp0YXJnZXQsIGNvbnN0IGNoYXIgKnNvdXJjZSkpOworVFJJT19TVFJJTkdfUFVCTElDIGludCB0cmlvX2FwcGVuZF9tYXggVFJJT19QUk9UTygoY2hhciAqdGFyZ2V0LCBzaXplX3QgbWF4LCBjb25zdCBjaGFyICpzb3VyY2UpKTsKK1RSSU9fU1RSSU5HX1BVQkxJQyBpbnQgdHJpb19jb250YWlucyBUUklPX1BST1RPKChjb25zdCBjaGFyICpzdHJpbmcsIGNvbnN0IGNoYXIgKnN1YnN0cmluZykpOworVFJJT19TVFJJTkdfUFVCTElDIGludCB0cmlvX2NvcHkgVFJJT19QUk9UTygoY2hhciAqdGFyZ2V0LCBjb25zdCBjaGFyICpzb3VyY2UpKTsKK1RSSU9fU1RSSU5HX1BVQkxJQyBjaGFyICp0cmlvX2R1cGxpY2F0ZV9tYXggVFJJT19QUk9UTygoY29uc3QgY2hhciAqc291cmNlLCBzaXplX3QgbWF4KSk7CitUUklPX1NUUklOR19QVUJMSUMgaW50IHRyaW9fZXF1YWxfY2FzZV9tYXggVFJJT19QUk9UTygoY29uc3QgY2hhciAqZmlyc3QsIHNpemVfdCBtYXgsIGNvbnN0IGNoYXIgKnNlY29uZCkpOworI2lmICFkZWZpbmVkKF9XSU4zMl9XQ0UpCitUUklPX1NUUklOR19QVUJMSUMgc2l6ZV90IHRyaW9fZm9ybWF0X2RhdGVfbWF4IFRSSU9fUFJPVE8oKGNoYXIgKnRhcmdldCwgc2l6ZV90IG1heCwgY29uc3QgY2hhciAqZm9ybWF0LCBjb25zdCBzdHJ1Y3QgdG0gKmRhdGV0aW1lKSk7CisjZW5kaWYKK1RSSU9fU1RSSU5HX1BVQkxJQyB1bnNpZ25lZCBsb25nIHRyaW9faGFzaCBUUklPX1BST1RPKChjb25zdCBjaGFyICpzdHJpbmcsIGludCB0eXBlKSk7CitUUklPX1NUUklOR19QVUJMSUMgY2hhciAqdHJpb19pbmRleCBUUklPX1BST1RPKChjb25zdCBjaGFyICpzdHJpbmcsIGludCBjaGFyYWN0ZXIpKTsKK1RSSU9fU1RSSU5HX1BVQkxJQyBjaGFyICp0cmlvX2luZGV4X2xhc3QgVFJJT19QUk9UTygoY29uc3QgY2hhciAqc3RyaW5nLCBpbnQgY2hhcmFjdGVyKSk7CitUUklPX1NUUklOR19QVUJMSUMgaW50IHRyaW9fbG93ZXIgVFJJT19QUk9UTygoY2hhciAqdGFyZ2V0KSk7CitUUklPX1NUUklOR19QVUJMSUMgaW50IHRyaW9fbWF0Y2ggVFJJT19QUk9UTygoY29uc3QgY2hhciAqc3RyaW5nLCBjb25zdCBjaGFyICpwYXR0ZXJuKSk7CitUUklPX1NUUklOR19QVUJMSUMgaW50IHRyaW9fbWF0Y2hfY2FzZSBUUklPX1BST1RPKChjb25zdCBjaGFyICpzdHJpbmcsIGNvbnN0IGNoYXIgKnBhdHRlcm4pKTsKK1RSSU9fU1RSSU5HX1BVQkxJQyBzaXplX3QgdHJpb19zcGFuX2Z1bmN0aW9uIFRSSU9fUFJPVE8oKGNoYXIgKnRhcmdldCwgY29uc3QgY2hhciAqc291cmNlLCBpbnQgKCpGdW5jdGlvbikgVFJJT19QUk9UTygoaW50KSkpKTsKK1RSSU9fU1RSSU5HX1BVQkxJQyBjaGFyICp0cmlvX3N1YnN0cmluZyBUUklPX1BST1RPKChjb25zdCBjaGFyICpzdHJpbmcsIGNvbnN0IGNoYXIgKnN1YnN0cmluZykpOworVFJJT19TVFJJTkdfUFVCTElDIGNoYXIgKnRyaW9fc3Vic3RyaW5nX21heCBUUklPX1BST1RPKChjb25zdCBjaGFyICpzdHJpbmcsIHNpemVfdCBtYXgsIGNvbnN0IGNoYXIgKnN1YnN0cmluZykpOworVFJJT19TVFJJTkdfUFVCTElDIGZsb2F0IHRyaW9fdG9fZmxvYXQgVFJJT19QUk9UTygoY29uc3QgY2hhciAqc291cmNlLCBjaGFyICoqZW5kcCkpOworVFJJT19TVFJJTkdfUFVCTElDIGludCB0cmlvX3RvX2xvd2VyIFRSSU9fUFJPVE8oKGludCBzb3VyY2UpKTsKK1RSSU9fU1RSSU5HX1BVQkxJQyB1bnNpZ25lZCBsb25nIHRyaW9fdG9fdW5zaWduZWRfbG9uZyBUUklPX1BST1RPKChjb25zdCBjaGFyICpzb3VyY2UsIGNoYXIgKiplbmRwLCBpbnQgYmFzZSkpOworVFJJT19TVFJJTkdfUFVCTElDIGNoYXIgKnRyaW9fdG9rZW5pemUgVFJJT19QUk9UTygoY2hhciAqc3RyaW5nLCBjb25zdCBjaGFyICpkZWxpbWl0ZXJzKSk7CitUUklPX1NUUklOR19QVUJMSUMgaW50IHRyaW9fdXBwZXIgVFJJT19QUk9UTygoY2hhciAqdGFyZ2V0KSk7CisKKyNlbmRpZiAvKiAhZGVmaW5lZChUUklPX01JTklNQUwpICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBEeW5hbWljIHN0cmluZyBmdW5jdGlvbnMKKyAqLworCisvKgorICogT3BhcXVlIHR5cGUgZm9yIGR5bmFtaWMgc3RyaW5ncworICovCisKK3R5cGVkZWYgc3RydWN0IF90cmlvX3N0cmluZ190IHRyaW9fc3RyaW5nX3Q7CisKK1RSSU9fU1RSSU5HX1BVQkxJQyB2b2lkIHRyaW9fc3RyaW5nX2Rlc3Ryb3kgVFJJT19QUk9UTygodHJpb19zdHJpbmdfdCAqc2VsZikpOworVFJJT19TVFJJTkdfUFVCTElDIGNoYXIgKnRyaW9fc3RyaW5nX2V4dHJhY3QgVFJJT19QUk9UTygodHJpb19zdHJpbmdfdCAqc2VsZikpOworVFJJT19TVFJJTkdfUFVCTElDIGludCB0cmlvX3N0cmluZ19zaXplIFRSSU9fUFJPVE8oKHRyaW9fc3RyaW5nX3QgKnNlbGYpKTsKK1RSSU9fU1RSSU5HX1BVQkxJQyB2b2lkIHRyaW9fc3RyaW5nX3Rlcm1pbmF0ZSBUUklPX1BST1RPKCh0cmlvX3N0cmluZ190ICpzZWxmKSk7CitUUklPX1NUUklOR19QVUJMSUMgaW50IHRyaW9feHN0cmluZ19hcHBlbmRfY2hhciBUUklPX1BST1RPKCh0cmlvX3N0cmluZ190ICpzZWxmLCBjaGFyIGNoYXJhY3RlcikpOworVFJJT19TVFJJTkdfUFVCTElDIHRyaW9fc3RyaW5nX3QgKnRyaW9feHN0cmluZ19kdXBsaWNhdGUgVFJJT19QUk9UTygoY29uc3QgY2hhciAqb3RoZXIpKTsKKworI2lmICFkZWZpbmVkKFRSSU9fTUlOSU1BTCkKKworVFJJT19TVFJJTkdfUFVCTElDIHRyaW9fc3RyaW5nX3QgKnRyaW9fc3RyaW5nX2NyZWF0ZSBUUklPX1BST1RPKChpbnQgaW5pdGlhbF9zaXplKSk7CitUUklPX1NUUklOR19QVUJMSUMgY2hhciAqdHJpb19zdHJpbmdfZ2V0IFRSSU9fUFJPVE8oKHRyaW9fc3RyaW5nX3QgKnNlbGYsIGludCBvZmZzZXQpKTsKK1RSSU9fU1RSSU5HX1BVQkxJQyB2b2lkIHRyaW9feHN0cmluZ19zZXQgVFJJT19QUk9UTygodHJpb19zdHJpbmdfdCAqc2VsZiwgY2hhciAqYnVmZmVyKSk7CisKK1RSSU9fU1RSSU5HX1BVQkxJQyBpbnQgdHJpb19zdHJpbmdfYXBwZW5kIFRSSU9fUFJPVE8oKHRyaW9fc3RyaW5nX3QgKnNlbGYsIHRyaW9fc3RyaW5nX3QgKm90aGVyKSk7CitUUklPX1NUUklOR19QVUJMSUMgaW50IHRyaW9fc3RyaW5nX2NvbnRhaW5zIFRSSU9fUFJPVE8oKHRyaW9fc3RyaW5nX3QgKnNlbGYsIHRyaW9fc3RyaW5nX3QgKm90aGVyKSk7CitUUklPX1NUUklOR19QVUJMSUMgaW50IHRyaW9fc3RyaW5nX2NvcHkgVFJJT19QUk9UTygodHJpb19zdHJpbmdfdCAqc2VsZiwgdHJpb19zdHJpbmdfdCAqb3RoZXIpKTsKK1RSSU9fU1RSSU5HX1BVQkxJQyB0cmlvX3N0cmluZ190ICp0cmlvX3N0cmluZ19kdXBsaWNhdGUgVFJJT19QUk9UTygodHJpb19zdHJpbmdfdCAqb3RoZXIpKTsKK1RSSU9fU1RSSU5HX1BVQkxJQyBpbnQgdHJpb19zdHJpbmdfZXF1YWwgVFJJT19QUk9UTygodHJpb19zdHJpbmdfdCAqc2VsZiwgdHJpb19zdHJpbmdfdCAqb3RoZXIpKTsKK1RSSU9fU1RSSU5HX1BVQkxJQyBpbnQgdHJpb19zdHJpbmdfZXF1YWxfbWF4IFRSSU9fUFJPVE8oKHRyaW9fc3RyaW5nX3QgKnNlbGYsIHNpemVfdCBtYXgsIHRyaW9fc3RyaW5nX3QgKnNlY29uZCkpOworVFJJT19TVFJJTkdfUFVCTElDIGludCB0cmlvX3N0cmluZ19lcXVhbF9jYXNlIFRSSU9fUFJPVE8oKHRyaW9fc3RyaW5nX3QgKnNlbGYsIHRyaW9fc3RyaW5nX3QgKm90aGVyKSk7CitUUklPX1NUUklOR19QVUJMSUMgaW50IHRyaW9fc3RyaW5nX2VxdWFsX2Nhc2VfbWF4IFRSSU9fUFJPVE8oKHRyaW9fc3RyaW5nX3QgKnNlbGYsIHNpemVfdCBtYXgsIHRyaW9fc3RyaW5nX3QgKm90aGVyKSk7CisjaWYgIWRlZmluZWQoX1dJTjMyX1dDRSkKK1RSSU9fU1RSSU5HX1BVQkxJQyBzaXplX3QgdHJpb19zdHJpbmdfZm9ybWF0X2RhdGVfbWF4IFRSSU9fUFJPVE8oKHRyaW9fc3RyaW5nX3QgKnNlbGYsIHNpemVfdCBtYXgsIGNvbnN0IGNoYXIgKmZvcm1hdCwgY29uc3Qgc3RydWN0IHRtICpkYXRldGltZSkpOworI2VuZGlmCitUUklPX1NUUklOR19QVUJMSUMgY2hhciAqdHJpb19zdHJpbmdfaW5kZXggVFJJT19QUk9UTygodHJpb19zdHJpbmdfdCAqc2VsZiwgaW50IGNoYXJhY3RlcikpOworVFJJT19TVFJJTkdfUFVCTElDIGNoYXIgKnRyaW9fc3RyaW5nX2luZGV4X2xhc3QgVFJJT19QUk9UTygodHJpb19zdHJpbmdfdCAqc2VsZiwgaW50IGNoYXJhY3RlcikpOworVFJJT19TVFJJTkdfUFVCTElDIGludCB0cmlvX3N0cmluZ19sZW5ndGggVFJJT19QUk9UTygodHJpb19zdHJpbmdfdCAqc2VsZikpOworVFJJT19TVFJJTkdfUFVCTElDIGludCB0cmlvX3N0cmluZ19sb3dlciBUUklPX1BST1RPKCh0cmlvX3N0cmluZ190ICpzZWxmKSk7CitUUklPX1NUUklOR19QVUJMSUMgaW50IHRyaW9fc3RyaW5nX21hdGNoIFRSSU9fUFJPVE8oKHRyaW9fc3RyaW5nX3QgKnNlbGYsIHRyaW9fc3RyaW5nX3QgKm90aGVyKSk7CitUUklPX1NUUklOR19QVUJMSUMgaW50IHRyaW9fc3RyaW5nX21hdGNoX2Nhc2UgVFJJT19QUk9UTygodHJpb19zdHJpbmdfdCAqc2VsZiwgdHJpb19zdHJpbmdfdCAqb3RoZXIpKTsKK1RSSU9fU1RSSU5HX1BVQkxJQyBjaGFyICp0cmlvX3N0cmluZ19zdWJzdHJpbmcgVFJJT19QUk9UTygodHJpb19zdHJpbmdfdCAqc2VsZiwgdHJpb19zdHJpbmdfdCAqb3RoZXIpKTsKK1RSSU9fU1RSSU5HX1BVQkxJQyBpbnQgdHJpb19zdHJpbmdfdXBwZXIgVFJJT19QUk9UTygodHJpb19zdHJpbmdfdCAqc2VsZikpOworCitUUklPX1NUUklOR19QVUJMSUMgaW50IHRyaW9feHN0cmluZ19hcHBlbmQgVFJJT19QUk9UTygodHJpb19zdHJpbmdfdCAqc2VsZiwgY29uc3QgY2hhciAqb3RoZXIpKTsKK1RSSU9fU1RSSU5HX1BVQkxJQyBpbnQgdHJpb194c3RyaW5nX2NvbnRhaW5zIFRSSU9fUFJPVE8oKHRyaW9fc3RyaW5nX3QgKnNlbGYsIGNvbnN0IGNoYXIgKm90aGVyKSk7CitUUklPX1NUUklOR19QVUJMSUMgaW50IHRyaW9feHN0cmluZ19jb3B5IFRSSU9fUFJPVE8oKHRyaW9fc3RyaW5nX3QgKnNlbGYsIGNvbnN0IGNoYXIgKm90aGVyKSk7CitUUklPX1NUUklOR19QVUJMSUMgaW50IHRyaW9feHN0cmluZ19lcXVhbCBUUklPX1BST1RPKCh0cmlvX3N0cmluZ190ICpzZWxmLCBjb25zdCBjaGFyICpvdGhlcikpOworVFJJT19TVFJJTkdfUFVCTElDIGludCB0cmlvX3hzdHJpbmdfZXF1YWxfbWF4IFRSSU9fUFJPVE8oKHRyaW9fc3RyaW5nX3QgKnNlbGYsIHNpemVfdCBtYXgsIGNvbnN0IGNoYXIgKm90aGVyKSk7CitUUklPX1NUUklOR19QVUJMSUMgaW50IHRyaW9feHN0cmluZ19lcXVhbF9jYXNlIFRSSU9fUFJPVE8oKHRyaW9fc3RyaW5nX3QgKnNlbGYsIGNvbnN0IGNoYXIgKm90aGVyKSk7CitUUklPX1NUUklOR19QVUJMSUMgaW50IHRyaW9feHN0cmluZ19lcXVhbF9jYXNlX21heCBUUklPX1BST1RPKCh0cmlvX3N0cmluZ190ICpzZWxmLCBzaXplX3QgbWF4LCBjb25zdCBjaGFyICpvdGhlcikpOworVFJJT19TVFJJTkdfUFVCTElDIGludCB0cmlvX3hzdHJpbmdfbWF0Y2ggVFJJT19QUk9UTygodHJpb19zdHJpbmdfdCAqc2VsZiwgY29uc3QgY2hhciAqb3RoZXIpKTsKK1RSSU9fU1RSSU5HX1BVQkxJQyBpbnQgdHJpb194c3RyaW5nX21hdGNoX2Nhc2UgVFJJT19QUk9UTygodHJpb19zdHJpbmdfdCAqc2VsZiwgY29uc3QgY2hhciAqb3RoZXIpKTsKK1RSSU9fU1RSSU5HX1BVQkxJQyBjaGFyICp0cmlvX3hzdHJpbmdfc3Vic3RyaW5nIFRSSU9fUFJPVE8oKHRyaW9fc3RyaW5nX3QgKnNlbGYsIGNvbnN0IGNoYXIgKm90aGVyKSk7CisKKyNlbmRpZiAvKiAhZGVmaW5lZChUUklPX01JTklNQUwpICovCisKKyNlbmRpZiAvKiBUUklPX1RSSU9TVFJfSCAqLwpkaWZmIC0tZ2l0IGEvbGlieG1sMi91cmkuYyBiL2xpYnhtbDIvdXJpLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmY0N2FiYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdXJpLmMKQEAgLTAsMCArMSwyNTY2IEBACisvKioKKyAqIHVyaS5jOiBzZXQgb2YgZ2VuZXJpYyBVUkkgcmVsYXRlZCByb3V0aW5lcworICoKKyAqIFJlZmVyZW5jZTogUkZDcyAzOTg2LCAyNzMyIGFuZCAyMzczCisgKgorICogU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgorICoKKyAqIGRhbmllbEB2ZWlsbGFyZC5jb20KKyAqLworCisjZGVmaW5lIElOX0xJQlhNTAorI2luY2x1ZGUgImxpYnhtbC5oIgorCisjaW5jbHVkZSA8c3RyaW5nLmg+CisKKyNpbmNsdWRlIDxsaWJ4bWwveG1sbWVtb3J5Lmg+CisjaW5jbHVkZSA8bGlieG1sL3VyaS5oPgorI2luY2x1ZGUgPGxpYnhtbC9nbG9iYWxzLmg+CisjaW5jbHVkZSA8bGlieG1sL3htbGVycm9yLmg+CisKKy8qKgorICogTUFYX1VSSV9MRU5HVEg6CisgKgorICogVGhlIGRlZmluaXRpb24gb2YgdGhlIFVSSSByZWdleHAgaW4gdGhlIGFib3ZlIFJGQyBoYXMgbm8gc2l6ZSBsaW1pdAorICogSW4gcHJhY3RpY2UgdGhleSBhcmUgdXN1YWxseSByZWxhdGl2ZXkgc2hvcnQgZXhjZXB0IGZvciB0aGUKKyAqIGRhdGEgVVJJIHNjaGVtZSBhcyBkZWZpbmVkIGluIFJGQyAyMzk3LiBFdmVuIGZvciBkYXRhIFVSSSB0aGUgdXN1YWwKKyAqIG1heGltdW0gc2l6ZSBiZWZvcmUgaGl0dGluZyByYW5kb20gcHJhY3RpY2FsIGxpbWl0cyBpcyBhcm91bmQgNjQgS0IKKyAqIGFuZCA0S0IgaXMgdXN1YWxseSBhIG1heGltdW0gYWRtaXR0ZWQgbGltaXQgZm9yIHByb3BlciBvcGVyYXRpb25zLgorICogVGhlIHZhbHVlIGJlbG93IGlzIG1vcmUgYSBzZWN1cml0eSBsaW1pdCB0aGFuIGFueXRoaW5nIGVsc2UgYW5kCisgKiByZWFsbHkgc2hvdWxkIG5ldmVyIGJlIGhpdCBieSAnbm9ybWFsJyBvcGVyYXRpb25zCisgKiBTZXQgdG8gMSBNQnl0ZSBpbiAyMDEyLCB0aGlzIGlzIG9ubHkgZW5mb3JjZWQgb24gb3V0cHV0CisgKi8KKyNkZWZpbmUgTUFYX1VSSV9MRU5HVEggMTAyNCAqIDEwMjQKKworc3RhdGljIHZvaWQKK3htbFVSSUVyck1lbW9yeShjb25zdCBjaGFyICpleHRyYSkKK3sKKyAgICBpZiAoZXh0cmEpCisgICAgICAgIF9feG1sUmFpc2VFcnJvcihOVUxMLCBOVUxMLCBOVUxMLAorICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgTlVMTCwgWE1MX0ZST01fVVJJLAorICAgICAgICAgICAgICAgICAgICAgICAgWE1MX0VSUl9OT19NRU1PUlksIFhNTF9FUlJfRkFUQUwsIE5VTEwsIDAsCisgICAgICAgICAgICAgICAgICAgICAgICBleHRyYSwgTlVMTCwgTlVMTCwgMCwgMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJNZW1vcnkgYWxsb2NhdGlvbiBmYWlsZWQgOiAlc1xuIiwgZXh0cmEpOworICAgIGVsc2UKKyAgICAgICAgX194bWxSYWlzZUVycm9yKE5VTEwsIE5VTEwsIE5VTEwsCisgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCBOVUxMLCBYTUxfRlJPTV9VUkksCisgICAgICAgICAgICAgICAgICAgICAgICBYTUxfRVJSX05PX01FTU9SWSwgWE1MX0VSUl9GQVRBTCwgTlVMTCwgMCwKKyAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIE5VTEwsIE5VTEwsIDAsIDAsCisgICAgICAgICAgICAgICAgICAgICAgICAiTWVtb3J5IGFsbG9jYXRpb24gZmFpbGVkXG4iKTsKK30KKworc3RhdGljIHZvaWQgeG1sQ2xlYW5VUkkoeG1sVVJJUHRyIHVyaSk7CisKKy8qCisgKiBPbGQgcnVsZSBmcm9tIDIzOTYgdXNlZCBpbiBsZWdhY3kgaGFuZGxpbmcgY29kZQorICogYWxwaGEgICAgPSBsb3dhbHBoYSB8IHVwYWxwaGEKKyAqLworI2RlZmluZSBJU19BTFBIQSh4KSAoSVNfTE9XQUxQSEEoeCkgfHwgSVNfVVBBTFBIQSh4KSkKKworCisvKgorICogbG93YWxwaGEgPSAiYSIgfCAiYiIgfCAiYyIgfCAiZCIgfCAiZSIgfCAiZiIgfCAiZyIgfCAiaCIgfCAiaSIgfCAiaiIgfAorICogICAgICAgICAgICAiayIgfCAibCIgfCAibSIgfCAibiIgfCAibyIgfCAicCIgfCAicSIgfCAiciIgfCAicyIgfCAidCIgfAorICogICAgICAgICAgICAidSIgfCAidiIgfCAidyIgfCAieCIgfCAieSIgfCAieiIKKyAqLworCisjZGVmaW5lIElTX0xPV0FMUEhBKHgpICgoKHgpID49ICdhJykgJiYgKCh4KSA8PSAneicpKQorCisvKgorICogdXBhbHBoYSA9ICJBIiB8ICJCIiB8ICJDIiB8ICJEIiB8ICJFIiB8ICJGIiB8ICJHIiB8ICJIIiB8ICJJIiB8ICJKIiB8CisgKiAgICAgICAgICAgIksiIHwgIkwiIHwgIk0iIHwgIk4iIHwgIk8iIHwgIlAiIHwgIlEiIHwgIlIiIHwgIlMiIHwgIlQiIHwKKyAqICAgICAgICAgICAiVSIgfCAiViIgfCAiVyIgfCAiWCIgfCAiWSIgfCAiWiIKKyAqLworI2RlZmluZSBJU19VUEFMUEhBKHgpICgoKHgpID49ICdBJykgJiYgKCh4KSA8PSAnWicpKQorCisjaWZkZWYgSVNfRElHSVQKKyN1bmRlZiBJU19ESUdJVAorI2VuZGlmCisvKgorICogZGlnaXQgPSAiMCIgfCAiMSIgfCAiMiIgfCAiMyIgfCAiNCIgfCAiNSIgfCAiNiIgfCAiNyIgfCAiOCIgfCAiOSIKKyAqLworI2RlZmluZSBJU19ESUdJVCh4KSAoKCh4KSA+PSAnMCcpICYmICgoeCkgPD0gJzknKSkKKworLyoKKyAqIGFscGhhbnVtID0gYWxwaGEgfCBkaWdpdAorICovCisKKyNkZWZpbmUgSVNfQUxQSEFOVU0oeCkgKElTX0FMUEhBKHgpIHx8IElTX0RJR0lUKHgpKQorCisvKgorICogbWFyayA9ICItIiB8ICJfIiB8ICIuIiB8ICIhIiB8ICJ+IiB8ICIqIiB8ICInIiB8ICIoIiB8ICIpIgorICovCisKKyNkZWZpbmUgSVNfTUFSSyh4KSAoKCh4KSA9PSAnLScpIHx8ICgoeCkgPT0gJ18nKSB8fCAoKHgpID09ICcuJykgfHwgICAgIFwKKyAgICAoKHgpID09ICchJykgfHwgKCh4KSA9PSAnficpIHx8ICgoeCkgPT0gJyonKSB8fCAoKHgpID09ICdcJycpIHx8ICAgIFwKKyAgICAoKHgpID09ICcoJykgfHwgKCh4KSA9PSAnKScpKQorCisvKgorICogdW53aXNlID0gInsiIHwgIn0iIHwgInwiIHwgIlwiIHwgIl4iIHwgImAiCisgKi8KKworI2RlZmluZSBJU19VTldJU0UocCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgKCgoKihwKSA9PSAneycpKSB8fCAoKCoocCkgPT0gJ30nKSkgfHwgKCgqKHApID09ICd8JykpIHx8ICAgICAgICAgXAorICAgICAgICgoKihwKSA9PSAnXFwnKSkgfHwgKCgqKHApID09ICdeJykpIHx8ICgoKihwKSA9PSAnWycpKSB8fCAgICAgICAgXAorICAgICAgICgoKihwKSA9PSAnXScpKSB8fCAoKCoocCkgPT0gJ2AnKSkpCisvKgorICogcmVzZXJ2ZWQgPSAiOyIgfCAiLyIgfCAiPyIgfCAiOiIgfCAiQCIgfCAiJiIgfCAiPSIgfCAiKyIgfCAiJCIgfCAiLCIgfAorICogICAgICAgICAgICAiWyIgfCAiXSIKKyAqLworCisjZGVmaW5lIElTX1JFU0VSVkVEKHgpICgoKHgpID09ICc7JykgfHwgKCh4KSA9PSAnLycpIHx8ICgoeCkgPT0gJz8nKSB8fCBcCisgICAgICAgICgoeCkgPT0gJzonKSB8fCAoKHgpID09ICdAJykgfHwgKCh4KSA9PSAnJicpIHx8ICgoeCkgPT0gJz0nKSB8fCBcCisgICAgICAgICgoeCkgPT0gJysnKSB8fCAoKHgpID09ICckJykgfHwgKCh4KSA9PSAnLCcpIHx8ICgoeCkgPT0gJ1snKSB8fCBcCisgICAgICAgICgoeCkgPT0gJ10nKSkKKworLyoKKyAqIHVucmVzZXJ2ZWQgPSBhbHBoYW51bSB8IG1hcmsKKyAqLworCisjZGVmaW5lIElTX1VOUkVTRVJWRUQoeCkgKElTX0FMUEhBTlVNKHgpIHx8IElTX01BUksoeCkpCisKKy8qCisgKiBTa2lwIHRvIG5leHQgcG9pbnRlciBjaGFyLCBoYW5kbGUgZXNjYXBlZCBzZXF1ZW5jZXMKKyAqLworCisjZGVmaW5lIE5FWFQocCkgKCgqcCA9PSAnJScpPyBwICs9IDMgOiBwKyspCisKKy8qCisgKiBQcm9kdWN0aW9ucyBmcm9tIHRoZSBzcGVjLgorICoKKyAqICAgIGF1dGhvcml0eSAgICAgPSBzZXJ2ZXIgfCByZWdfbmFtZQorICogICAgcmVnX25hbWUgICAgICA9IDEqKCB1bnJlc2VydmVkIHwgZXNjYXBlZCB8ICIkIiB8ICIsIiB8CisgKiAgICAgICAgICAgICAgICAgICAgICAgICI7IiB8ICI6IiB8ICJAIiB8ICImIiB8ICI9IiB8ICIrIiApCisgKgorICogcGF0aCAgICAgICAgICA9IFsgYWJzX3BhdGggfCBvcGFxdWVfcGFydCBdCisgKi8KKworI2RlZmluZSBTVFJORFVQKHMsIG4pIChjaGFyICopIHhtbFN0cm5kdXAoKGNvbnN0IHhtbENoYXIgKikocyksIChuKSkKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKiAgICAgICAgICAgICAgICAgICAgICAgICBSRkMgMzk4NiBwYXJzZXIJCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjZGVmaW5lIElTQV9ESUdJVChwKSAoKCoocCkgPj0gJzAnKSAmJiAoKihwKSA8PSAnOScpKQorI2RlZmluZSBJU0FfQUxQSEEocCkgKCgoKihwKSA+PSAnYScpICYmICgqKHApIDw9ICd6JykpIHx8CQlcCisgICAgICAgICAgICAgICAgICAgICAgKCgqKHApID49ICdBJykgJiYgKCoocCkgPD0gJ1onKSkpCisjZGVmaW5lIElTQV9IRVhESUcocCkJCQkJCQkJXAorICAgICAgIChJU0FfRElHSVQocCkgfHwgKCgqKHApID49ICdhJykgJiYgKCoocCkgPD0gJ2YnKSkgfHwJCVwKKyAgICAgICAgKCgqKHApID49ICdBJykgJiYgKCoocCkgPD0gJ0YnKSkpCisKKy8qCisgKiAgICBzdWItZGVsaW1zICAgID0gIiEiIC8gIiQiIC8gIiYiIC8gIiciIC8gIigiIC8gIikiCisgKiAgICAgICAgICAgICAgICAgICAgIC8gIioiIC8gIisiIC8gIiwiIC8gIjsiIC8gIj0iCisgKi8KKyNkZWZpbmUgSVNBX1NVQl9ERUxJTShwKQkJCQkJCVwKKyAgICAgICgoKCoocCkgPT0gJyEnKSkgfHwgKCgqKHApID09ICckJykpIHx8ICgoKihwKSA9PSAnJicpKSB8fAkJXAorICAgICAgICgoKihwKSA9PSAnKCcpKSB8fCAoKCoocCkgPT0gJyknKSkgfHwgKCgqKHApID09ICcqJykpIHx8CQlcCisgICAgICAgKCgqKHApID09ICcrJykpIHx8ICgoKihwKSA9PSAnLCcpKSB8fCAoKCoocCkgPT0gJzsnKSkgfHwJCVwKKyAgICAgICAoKCoocCkgPT0gJz0nKSkgfHwgKCgqKHApID09ICdcJycpKSkKKworLyoKKyAqICAgIGdlbi1kZWxpbXMgICAgPSAiOiIgLyAiLyIgLyAiPyIgLyAiIyIgLyAiWyIgLyAiXSIgLyAiQCIKKyAqLworI2RlZmluZSBJU0FfR0VOX0RFTElNKHApCQkJCQkJXAorICAgICAgKCgoKihwKSA9PSAnOicpKSB8fCAoKCoocCkgPT0gJy8nKSkgfHwgKCgqKHApID09ICc/JykpIHx8ICAgICAgICAgXAorICAgICAgICgoKihwKSA9PSAnIycpKSB8fCAoKCoocCkgPT0gJ1snKSkgfHwgKCgqKHApID09ICddJykpIHx8ICAgICAgICAgXAorICAgICAgICgoKihwKSA9PSAnQCcpKSkKKworLyoKKyAqICAgIHJlc2VydmVkICAgICAgPSBnZW4tZGVsaW1zIC8gc3ViLWRlbGltcworICovCisjZGVmaW5lIElTQV9SRVNFUlZFRChwKSAoSVNBX0dFTl9ERUxJTShwKSB8fCAoSVNBX1NVQl9ERUxJTShwKSkpCisKKy8qCisgKiAgICB1bnJlc2VydmVkICAgID0gQUxQSEEgLyBESUdJVCAvICItIiAvICIuIiAvICJfIiAvICJ+IgorICovCisjZGVmaW5lIElTQV9VTlJFU0VSVkVEKHApCQkJCQkJXAorICAgICAgKChJU0FfQUxQSEEocCkpIHx8IChJU0FfRElHSVQocCkpIHx8ICgoKihwKSA9PSAnLScpKSB8fAkJXAorICAgICAgICgoKihwKSA9PSAnLicpKSB8fCAoKCoocCkgPT0gJ18nKSkgfHwgKCgqKHApID09ICd+JykpKQorCisvKgorICogICAgcGN0LWVuY29kZWQgICA9ICIlIiBIRVhESUcgSEVYRElHCisgKi8KKyNkZWZpbmUgSVNBX1BDVF9FTkNPREVEKHApCQkJCQkJXAorICAgICAoKCoocCkgPT0gJyUnKSAmJiAoSVNBX0hFWERJRyhwICsgMSkpICYmIChJU0FfSEVYRElHKHAgKyAyKSkpCisKKy8qCisgKiAgICBwY2hhciAgICAgICAgID0gdW5yZXNlcnZlZCAvIHBjdC1lbmNvZGVkIC8gc3ViLWRlbGltcyAvICI6IiAvICJAIgorICovCisjZGVmaW5lIElTQV9QQ0hBUihwKQkJCQkJCQlcCisgICAgIChJU0FfVU5SRVNFUlZFRChwKSB8fCBJU0FfUENUX0VOQ09ERUQocCkgfHwgSVNBX1NVQl9ERUxJTShwKSB8fAlcCisgICAgICAoKCoocCkgPT0gJzonKSkgfHwgKCgqKHApID09ICdAJykpKQorCisvKioKKyAqIHhtbFBhcnNlMzk4NlNjaGVtZToKKyAqIEB1cmk6ICBwb2ludGVyIHRvIGFuIFVSSSBzdHJ1Y3R1cmUKKyAqIEBzdHI6ICBwb2ludGVyIHRvIHRoZSBzdHJpbmcgdG8gYW5hbHl6ZQorICoKKyAqIFBhcnNlIGFuIFVSSSBzY2hlbWUKKyAqCisgKiBBTFBIQSAqKCBBTFBIQSAvIERJR0lUIC8gIisiIC8gIi0iIC8gIi4iICkKKyAqCisgKiBSZXR1cm5zIDAgb3IgdGhlIGVycm9yIGNvZGUKKyAqLworc3RhdGljIGludAoreG1sUGFyc2UzOTg2U2NoZW1lKHhtbFVSSVB0ciB1cmksIGNvbnN0IGNoYXIgKipzdHIpIHsKKyAgICBjb25zdCBjaGFyICpjdXI7CisKKyAgICBpZiAoc3RyID09IE5VTEwpCisJcmV0dXJuKC0xKTsKKworICAgIGN1ciA9ICpzdHI7CisgICAgaWYgKCFJU0FfQUxQSEEoY3VyKSkKKwlyZXR1cm4oMik7CisgICAgY3VyKys7CisgICAgd2hpbGUgKElTQV9BTFBIQShjdXIpIHx8IElTQV9ESUdJVChjdXIpIHx8CisgICAgICAgICAgICgqY3VyID09ICcrJykgfHwgKCpjdXIgPT0gJy0nKSB8fCAoKmN1ciA9PSAnLicpKSBjdXIrKzsKKyAgICBpZiAodXJpICE9IE5VTEwpIHsKKwlpZiAodXJpLT5zY2hlbWUgIT0gTlVMTCkgeG1sRnJlZSh1cmktPnNjaGVtZSk7CisJdXJpLT5zY2hlbWUgPSBTVFJORFVQKCpzdHIsIGN1ciAtICpzdHIpOworICAgIH0KKyAgICAqc3RyID0gY3VyOworICAgIHJldHVybigwKTsKK30KKworLyoqCisgKiB4bWxQYXJzZTM5ODZGcmFnbWVudDoKKyAqIEB1cmk6ICBwb2ludGVyIHRvIGFuIFVSSSBzdHJ1Y3R1cmUKKyAqIEBzdHI6ICBwb2ludGVyIHRvIHRoZSBzdHJpbmcgdG8gYW5hbHl6ZQorICoKKyAqIFBhcnNlIHRoZSBxdWVyeSBwYXJ0IG9mIGFuIFVSSQorICoKKyAqIGZyYWdtZW50ICAgICAgPSAqKCBwY2hhciAvICIvIiAvICI/IiApCisgKiBOT1RFOiB0aGUgc3RyaWN0IHN5bnRheCBhcyBkZWZpbmVkIGJ5IDM5ODYgZG9lcyBub3QgYWxsb3cgJ1snIGFuZCAnXScKKyAqICAgICAgIGluIHRoZSBmcmFnbWVudCBpZGVudGlmaWVyIGJ1dCB0aGlzIGlzIHVzZWQgdmVyeSBicm9hZGx5IGZvcgorICogICAgICAgeHBvaW50ZXIgc2NoZW1lIHNlbGVjdGlvbiwgc28gd2UgYXJlIGFsbG93aW5nIGl0IGhlcmUgdG8gbm90IGJyZWFrCisgKiAgICAgICBmb3IgZXhhbXBsZSBhbGwgdGhlIERvY0Jvb2sgcHJvY2Vzc2luZyBjaGFpbnMuCisgKgorICogUmV0dXJucyAwIG9yIHRoZSBlcnJvciBjb2RlCisgKi8KK3N0YXRpYyBpbnQKK3htbFBhcnNlMzk4NkZyYWdtZW50KHhtbFVSSVB0ciB1cmksIGNvbnN0IGNoYXIgKipzdHIpCit7CisgICAgY29uc3QgY2hhciAqY3VyOworCisgICAgaWYgKHN0ciA9PSBOVUxMKQorICAgICAgICByZXR1cm4gKC0xKTsKKworICAgIGN1ciA9ICpzdHI7CisKKyAgICB3aGlsZSAoKElTQV9QQ0hBUihjdXIpKSB8fCAoKmN1ciA9PSAnLycpIHx8ICgqY3VyID09ICc/JykgfHwKKyAgICAgICAgICAgKCpjdXIgPT0gJ1snKSB8fCAoKmN1ciA9PSAnXScpIHx8CisgICAgICAgICAgICgodXJpICE9IE5VTEwpICYmICh1cmktPmNsZWFudXAgJiAxKSAmJiAoSVNfVU5XSVNFKGN1cikpKSkKKyAgICAgICAgTkVYVChjdXIpOworICAgIGlmICh1cmkgIT0gTlVMTCkgeworICAgICAgICBpZiAodXJpLT5mcmFnbWVudCAhPSBOVUxMKQorICAgICAgICAgICAgeG1sRnJlZSh1cmktPmZyYWdtZW50KTsKKwlpZiAodXJpLT5jbGVhbnVwICYgMikKKwkgICAgdXJpLT5mcmFnbWVudCA9IFNUUk5EVVAoKnN0ciwgY3VyIC0gKnN0cik7CisJZWxzZQorCSAgICB1cmktPmZyYWdtZW50ID0geG1sVVJJVW5lc2NhcGVTdHJpbmcoKnN0ciwgY3VyIC0gKnN0ciwgTlVMTCk7CisgICAgfQorICAgICpzdHIgPSBjdXI7CisgICAgcmV0dXJuICgwKTsKK30KKworLyoqCisgKiB4bWxQYXJzZTM5ODZRdWVyeToKKyAqIEB1cmk6ICBwb2ludGVyIHRvIGFuIFVSSSBzdHJ1Y3R1cmUKKyAqIEBzdHI6ICBwb2ludGVyIHRvIHRoZSBzdHJpbmcgdG8gYW5hbHl6ZQorICoKKyAqIFBhcnNlIHRoZSBxdWVyeSBwYXJ0IG9mIGFuIFVSSQorICoKKyAqIHF1ZXJ5ID0gKnVyaWMKKyAqCisgKiBSZXR1cm5zIDAgb3IgdGhlIGVycm9yIGNvZGUKKyAqLworc3RhdGljIGludAoreG1sUGFyc2UzOTg2UXVlcnkoeG1sVVJJUHRyIHVyaSwgY29uc3QgY2hhciAqKnN0cikKK3sKKyAgICBjb25zdCBjaGFyICpjdXI7CisKKyAgICBpZiAoc3RyID09IE5VTEwpCisgICAgICAgIHJldHVybiAoLTEpOworCisgICAgY3VyID0gKnN0cjsKKworICAgIHdoaWxlICgoSVNBX1BDSEFSKGN1cikpIHx8ICgqY3VyID09ICcvJykgfHwgKCpjdXIgPT0gJz8nKSB8fAorICAgICAgICAgICAoKHVyaSAhPSBOVUxMKSAmJiAodXJpLT5jbGVhbnVwICYgMSkgJiYgKElTX1VOV0lTRShjdXIpKSkpCisgICAgICAgIE5FWFQoY3VyKTsKKyAgICBpZiAodXJpICE9IE5VTEwpIHsKKyAgICAgICAgaWYgKHVyaS0+cXVlcnkgIT0gTlVMTCkKKyAgICAgICAgICAgIHhtbEZyZWUodXJpLT5xdWVyeSk7CisJaWYgKHVyaS0+Y2xlYW51cCAmIDIpCisJICAgIHVyaS0+cXVlcnkgPSBTVFJORFVQKCpzdHIsIGN1ciAtICpzdHIpOworCWVsc2UKKwkgICAgdXJpLT5xdWVyeSA9IHhtbFVSSVVuZXNjYXBlU3RyaW5nKCpzdHIsIGN1ciAtICpzdHIsIE5VTEwpOworCisJLyogU2F2ZSB0aGUgcmF3IGJ5dGVzIG9mIHRoZSBxdWVyeSBhcyB3ZWxsLgorCSAqIFNlZTogaHR0cDovL21haWwuZ25vbWUub3JnL2FyY2hpdmVzL3htbC8yMDA3LUFwcmlsL3RocmVhZC5odG1sIzAwMTE0CisJICovCisJaWYgKHVyaS0+cXVlcnlfcmF3ICE9IE5VTEwpCisJICAgIHhtbEZyZWUgKHVyaS0+cXVlcnlfcmF3KTsKKwl1cmktPnF1ZXJ5X3JhdyA9IFNUUk5EVVAgKCpzdHIsIGN1ciAtICpzdHIpOworICAgIH0KKyAgICAqc3RyID0gY3VyOworICAgIHJldHVybiAoMCk7Cit9CisKKy8qKgorICogeG1sUGFyc2UzOTg2UG9ydDoKKyAqIEB1cmk6ICBwb2ludGVyIHRvIGFuIFVSSSBzdHJ1Y3R1cmUKKyAqIEBzdHI6ICB0aGUgc3RyaW5nIHRvIGFuYWx5emUKKyAqCisgKiBQYXJzZSBhIHBvcnQgIHBhcnQgYW5kIGZpbGxzIGluIHRoZSBhcHByb3ByaWF0ZSBmaWVsZHMKKyAqIG9mIHRoZSBAdXJpIHN0cnVjdHVyZQorICoKKyAqIHBvcnQgICAgICAgICAgPSAqRElHSVQKKyAqCisgKiBSZXR1cm5zIDAgb3IgdGhlIGVycm9yIGNvZGUKKyAqLworc3RhdGljIGludAoreG1sUGFyc2UzOTg2UG9ydCh4bWxVUklQdHIgdXJpLCBjb25zdCBjaGFyICoqc3RyKQoreworICAgIGNvbnN0IGNoYXIgKmN1ciA9ICpzdHI7CisKKyAgICBpZiAoSVNBX0RJR0lUKGN1cikpIHsKKwlpZiAodXJpICE9IE5VTEwpCisJICAgIHVyaS0+cG9ydCA9IDA7CisJd2hpbGUgKElTQV9ESUdJVChjdXIpKSB7CisJICAgIGlmICh1cmkgIT0gTlVMTCkKKwkJdXJpLT5wb3J0ID0gdXJpLT5wb3J0ICogMTAgKyAoKmN1ciAtICcwJyk7CisJICAgIGN1cisrOworCX0KKwkqc3RyID0gY3VyOworCXJldHVybigwKTsKKyAgICB9CisgICAgcmV0dXJuKDEpOworfQorCisvKioKKyAqIHhtbFBhcnNlMzk4NlVzZXJpbmZvOgorICogQHVyaTogIHBvaW50ZXIgdG8gYW4gVVJJIHN0cnVjdHVyZQorICogQHN0cjogIHRoZSBzdHJpbmcgdG8gYW5hbHl6ZQorICoKKyAqIFBhcnNlIGFuIHVzZXIgaW5mb3JtYXRpb25zIHBhcnQgYW5kIGZpbGxzIGluIHRoZSBhcHByb3ByaWF0ZSBmaWVsZHMKKyAqIG9mIHRoZSBAdXJpIHN0cnVjdHVyZQorICoKKyAqIHVzZXJpbmZvICAgICAgPSAqKCB1bnJlc2VydmVkIC8gcGN0LWVuY29kZWQgLyBzdWItZGVsaW1zIC8gIjoiICkKKyAqCisgKiBSZXR1cm5zIDAgb3IgdGhlIGVycm9yIGNvZGUKKyAqLworc3RhdGljIGludAoreG1sUGFyc2UzOTg2VXNlcmluZm8oeG1sVVJJUHRyIHVyaSwgY29uc3QgY2hhciAqKnN0cikKK3sKKyAgICBjb25zdCBjaGFyICpjdXI7CisKKyAgICBjdXIgPSAqc3RyOworICAgIHdoaWxlIChJU0FfVU5SRVNFUlZFRChjdXIpIHx8IElTQV9QQ1RfRU5DT0RFRChjdXIpIHx8CisgICAgICAgICAgIElTQV9TVUJfREVMSU0oY3VyKSB8fCAoKmN1ciA9PSAnOicpKQorCU5FWFQoY3VyKTsKKyAgICBpZiAoKmN1ciA9PSAnQCcpIHsKKwlpZiAodXJpICE9IE5VTEwpIHsKKwkgICAgaWYgKHVyaS0+dXNlciAhPSBOVUxMKSB4bWxGcmVlKHVyaS0+dXNlcik7CisJICAgIGlmICh1cmktPmNsZWFudXAgJiAyKQorCQl1cmktPnVzZXIgPSBTVFJORFVQKCpzdHIsIGN1ciAtICpzdHIpOworCSAgICBlbHNlCisJCXVyaS0+dXNlciA9IHhtbFVSSVVuZXNjYXBlU3RyaW5nKCpzdHIsIGN1ciAtICpzdHIsIE5VTEwpOworCX0KKwkqc3RyID0gY3VyOworCXJldHVybigwKTsKKyAgICB9CisgICAgcmV0dXJuKDEpOworfQorCisvKioKKyAqIHhtbFBhcnNlMzk4NkRlY09jdGV0OgorICogQHN0cjogIHRoZSBzdHJpbmcgdG8gYW5hbHl6ZQorICoKKyAqICAgIGRlYy1vY3RldCAgICAgPSBESUdJVCAgICAgICAgICAgICAgICAgOyAwLTkKKyAqICAgICAgICAgICAgICAgICAgLyAleDMxLTM5IERJR0lUICAgICAgICAgOyAxMC05OQorICogICAgICAgICAgICAgICAgICAvICIxIiAyRElHSVQgICAgICAgICAgICA7IDEwMC0xOTkKKyAqICAgICAgICAgICAgICAgICAgLyAiMiIgJXgzMC0zNCBESUdJVCAgICAgOyAyMDAtMjQ5CisgKiAgICAgICAgICAgICAgICAgIC8gIjI1IiAleDMwLTM1ICAgICAgICAgIDsgMjUwLTI1NQorICoKKyAqIFNraXAgYSBkZWMtb2N0ZXQuCisgKgorICogUmV0dXJucyAwIGlmIGZvdW5kIGFuZCBza2lwcGVkLCAxIG90aGVyd2lzZQorICovCitzdGF0aWMgaW50Cit4bWxQYXJzZTM5ODZEZWNPY3RldChjb25zdCBjaGFyICoqc3RyKSB7CisgICAgY29uc3QgY2hhciAqY3VyID0gKnN0cjsKKworICAgIGlmICghKElTQV9ESUdJVChjdXIpKSkKKyAgICAgICAgcmV0dXJuKDEpOworICAgIGlmICghSVNBX0RJR0lUKGN1cisxKSkKKwljdXIrKzsKKyAgICBlbHNlIGlmICgoKmN1ciAhPSAnMCcpICYmIChJU0FfRElHSVQoY3VyICsgMSkpICYmICghSVNBX0RJR0lUKGN1cisyKSkpCisJY3VyICs9IDI7CisgICAgZWxzZSBpZiAoKCpjdXIgPT0gJzEnKSAmJiAoSVNBX0RJR0lUKGN1ciArIDEpKSAmJiAoSVNBX0RJR0lUKGN1ciArIDIpKSkKKwljdXIgKz0gMzsKKyAgICBlbHNlIGlmICgoKmN1ciA9PSAnMicpICYmICgqKGN1ciArIDEpID49ICcwJykgJiYKKwkgICAgICgqKGN1ciArIDEpIDw9ICc0JykgJiYgKElTQV9ESUdJVChjdXIgKyAyKSkpCisJY3VyICs9IDM7CisgICAgZWxzZSBpZiAoKCpjdXIgPT0gJzInKSAmJiAoKihjdXIgKyAxKSA9PSAnNScpICYmCisJICAgICAoKihjdXIgKyAyKSA+PSAnMCcpICYmICgqKGN1ciArIDEpIDw9ICc1JykpCisJY3VyICs9IDM7CisgICAgZWxzZQorICAgICAgICByZXR1cm4oMSk7CisgICAgKnN0ciA9IGN1cjsKKyAgICByZXR1cm4oMCk7Cit9CisvKioKKyAqIHhtbFBhcnNlMzk4Nkhvc3Q6CisgKiBAdXJpOiAgcG9pbnRlciB0byBhbiBVUkkgc3RydWN0dXJlCisgKiBAc3RyOiAgdGhlIHN0cmluZyB0byBhbmFseXplCisgKgorICogUGFyc2UgYW4gaG9zdCBwYXJ0IGFuZCBmaWxscyBpbiB0aGUgYXBwcm9wcmlhdGUgZmllbGRzCisgKiBvZiB0aGUgQHVyaSBzdHJ1Y3R1cmUKKyAqCisgKiBob3N0ICAgICAgICAgID0gSVAtbGl0ZXJhbCAvIElQdjRhZGRyZXNzIC8gcmVnLW5hbWUKKyAqIElQLWxpdGVyYWwgICAgPSAiWyIgKCBJUHY2YWRkcmVzcyAvIElQdkZ1dHVyZSAgKSAiXSIKKyAqIElQdjRhZGRyZXNzICAgPSBkZWMtb2N0ZXQgIi4iIGRlYy1vY3RldCAiLiIgZGVjLW9jdGV0ICIuIiBkZWMtb2N0ZXQKKyAqIHJlZy1uYW1lICAgICAgPSAqKCB1bnJlc2VydmVkIC8gcGN0LWVuY29kZWQgLyBzdWItZGVsaW1zICkKKyAqCisgKiBSZXR1cm5zIDAgb3IgdGhlIGVycm9yIGNvZGUKKyAqLworc3RhdGljIGludAoreG1sUGFyc2UzOTg2SG9zdCh4bWxVUklQdHIgdXJpLCBjb25zdCBjaGFyICoqc3RyKQoreworICAgIGNvbnN0IGNoYXIgKmN1ciA9ICpzdHI7CisgICAgY29uc3QgY2hhciAqaG9zdDsKKworICAgIGhvc3QgPSBjdXI7CisgICAgLyoKKyAgICAgKiBJUHY2IGFuZCBmdXR1cmUgYWRyZXNzaW5nIHNjaGVtZSBhcmUgZW5jbG9zZWQgYmV0d2VlbiBicmFja2V0cworICAgICAqLworICAgIGlmICgqY3VyID09ICdbJykgeworICAgICAgICBjdXIrKzsKKwl3aGlsZSAoKCpjdXIgIT0gJ10nKSAmJiAoKmN1ciAhPSAwKSkKKwkgICAgY3VyKys7CisJaWYgKCpjdXIgIT0gJ10nKQorCSAgICByZXR1cm4oMSk7CisJY3VyKys7CisJZ290byBmb3VuZDsKKyAgICB9CisgICAgLyoKKyAgICAgKiB0cnkgdG8gcGFyc2UgYW4gSVB2NAorICAgICAqLworICAgIGlmIChJU0FfRElHSVQoY3VyKSkgeworICAgICAgICBpZiAoeG1sUGFyc2UzOTg2RGVjT2N0ZXQoJmN1cikgIT0gMCkKKwkgICAgZ290byBub3RfaXB2NDsKKwlpZiAoKmN1ciAhPSAnLicpCisJICAgIGdvdG8gbm90X2lwdjQ7CisJY3VyKys7CisgICAgICAgIGlmICh4bWxQYXJzZTM5ODZEZWNPY3RldCgmY3VyKSAhPSAwKQorCSAgICBnb3RvIG5vdF9pcHY0OworCWlmICgqY3VyICE9ICcuJykKKwkgICAgZ290byBub3RfaXB2NDsKKyAgICAgICAgaWYgKHhtbFBhcnNlMzk4NkRlY09jdGV0KCZjdXIpICE9IDApCisJICAgIGdvdG8gbm90X2lwdjQ7CisJaWYgKCpjdXIgIT0gJy4nKQorCSAgICBnb3RvIG5vdF9pcHY0OworICAgICAgICBpZiAoeG1sUGFyc2UzOTg2RGVjT2N0ZXQoJmN1cikgIT0gMCkKKwkgICAgZ290byBub3RfaXB2NDsKKwlnb3RvIGZvdW5kOworbm90X2lwdjQ6CisgICAgICAgIGN1ciA9ICpzdHI7CisgICAgfQorICAgIC8qCisgICAgICogdGhlbiB0aGlzIHNob3VsZCBiZSBhIGhvc3RuYW1lIHdoaWNoIGNhbiBiZSBlbXB0eQorICAgICAqLworICAgIHdoaWxlIChJU0FfVU5SRVNFUlZFRChjdXIpIHx8IElTQV9QQ1RfRU5DT0RFRChjdXIpIHx8IElTQV9TVUJfREVMSU0oY3VyKSkKKyAgICAgICAgTkVYVChjdXIpOworZm91bmQ6CisgICAgaWYgKHVyaSAhPSBOVUxMKSB7CisJaWYgKHVyaS0+YXV0aG9yaXR5ICE9IE5VTEwpIHhtbEZyZWUodXJpLT5hdXRob3JpdHkpOworCXVyaS0+YXV0aG9yaXR5ID0gTlVMTDsKKwlpZiAodXJpLT5zZXJ2ZXIgIT0gTlVMTCkgeG1sRnJlZSh1cmktPnNlcnZlcik7CisJaWYgKGN1ciAhPSBob3N0KSB7CisJICAgIGlmICh1cmktPmNsZWFudXAgJiAyKQorCQl1cmktPnNlcnZlciA9IFNUUk5EVVAoaG9zdCwgY3VyIC0gaG9zdCk7CisJICAgIGVsc2UKKwkJdXJpLT5zZXJ2ZXIgPSB4bWxVUklVbmVzY2FwZVN0cmluZyhob3N0LCBjdXIgLSBob3N0LCBOVUxMKTsKKwl9IGVsc2UKKwkgICAgdXJpLT5zZXJ2ZXIgPSBOVUxMOworICAgIH0KKyAgICAqc3RyID0gY3VyOworICAgIHJldHVybigwKTsKK30KKworLyoqCisgKiB4bWxQYXJzZTM5ODZBdXRob3JpdHk6CisgKiBAdXJpOiAgcG9pbnRlciB0byBhbiBVUkkgc3RydWN0dXJlCisgKiBAc3RyOiAgdGhlIHN0cmluZyB0byBhbmFseXplCisgKgorICogUGFyc2UgYW4gYXV0aG9yaXR5IHBhcnQgYW5kIGZpbGxzIGluIHRoZSBhcHByb3ByaWF0ZSBmaWVsZHMKKyAqIG9mIHRoZSBAdXJpIHN0cnVjdHVyZQorICoKKyAqIGF1dGhvcml0eSAgICAgPSBbIHVzZXJpbmZvICJAIiBdIGhvc3QgWyAiOiIgcG9ydCBdCisgKgorICogUmV0dXJucyAwIG9yIHRoZSBlcnJvciBjb2RlCisgKi8KK3N0YXRpYyBpbnQKK3htbFBhcnNlMzk4NkF1dGhvcml0eSh4bWxVUklQdHIgdXJpLCBjb25zdCBjaGFyICoqc3RyKQoreworICAgIGNvbnN0IGNoYXIgKmN1cjsKKyAgICBpbnQgcmV0OworCisgICAgY3VyID0gKnN0cjsKKyAgICAvKgorICAgICAqIHRyeSB0byBwYXJzZSBhbiB1c2VyaW5mbyBhbmQgY2hlY2sgZm9yIHRoZSB0cmFpbGluZyBACisgICAgICovCisgICAgcmV0ID0geG1sUGFyc2UzOTg2VXNlcmluZm8odXJpLCAmY3VyKTsKKyAgICBpZiAoKHJldCAhPSAwKSB8fCAoKmN1ciAhPSAnQCcpKQorICAgICAgICBjdXIgPSAqc3RyOworICAgIGVsc2UKKyAgICAgICAgY3VyKys7CisgICAgcmV0ID0geG1sUGFyc2UzOTg2SG9zdCh1cmksICZjdXIpOworICAgIGlmIChyZXQgIT0gMCkgcmV0dXJuKHJldCk7CisgICAgaWYgKCpjdXIgPT0gJzonKSB7CisgICAgICAgIGN1cisrOworICAgICAgICByZXQgPSB4bWxQYXJzZTM5ODZQb3J0KHVyaSwgJmN1cik7CisJaWYgKHJldCAhPSAwKSByZXR1cm4ocmV0KTsKKyAgICB9CisgICAgKnN0ciA9IGN1cjsKKyAgICByZXR1cm4oMCk7Cit9CisKKy8qKgorICogeG1sUGFyc2UzOTg2U2VnbWVudDoKKyAqIEBzdHI6ICB0aGUgc3RyaW5nIHRvIGFuYWx5emUKKyAqIEBmb3JiaWQ6IGFuIG9wdGlvbmFsIGZvcmJpZGRlbiBjaGFyYWN0ZXIKKyAqIEBlbXB0eTogYWxsb3cgYW4gZW1wdHkgc2VnbWVudAorICoKKyAqIFBhcnNlIGEgc2VnbWVudCBhbmQgZmlsbHMgaW4gdGhlIGFwcHJvcHJpYXRlIGZpZWxkcworICogb2YgdGhlIEB1cmkgc3RydWN0dXJlCisgKgorICogc2VnbWVudCAgICAgICA9ICpwY2hhcgorICogc2VnbWVudC1ueiAgICA9IDEqcGNoYXIKKyAqIHNlZ21lbnQtbnotbmMgPSAxKiggdW5yZXNlcnZlZCAvIHBjdC1lbmNvZGVkIC8gc3ViLWRlbGltcyAvICJAIiApCisgKiAgICAgICAgICAgICAgIDsgbm9uLXplcm8tbGVuZ3RoIHNlZ21lbnQgd2l0aG91dCBhbnkgY29sb24gIjoiCisgKgorICogUmV0dXJucyAwIG9yIHRoZSBlcnJvciBjb2RlCisgKi8KK3N0YXRpYyBpbnQKK3htbFBhcnNlMzk4NlNlZ21lbnQoY29uc3QgY2hhciAqKnN0ciwgY2hhciBmb3JiaWQsIGludCBlbXB0eSkKK3sKKyAgICBjb25zdCBjaGFyICpjdXI7CisKKyAgICBjdXIgPSAqc3RyOworICAgIGlmICghSVNBX1BDSEFSKGN1cikpIHsKKyAgICAgICAgaWYgKGVtcHR5KQorCSAgICByZXR1cm4oMCk7CisJcmV0dXJuKDEpOworICAgIH0KKyAgICB3aGlsZSAoSVNBX1BDSEFSKGN1cikgJiYgKCpjdXIgIT0gZm9yYmlkKSkKKyAgICAgICAgTkVYVChjdXIpOworICAgICpzdHIgPSBjdXI7CisgICAgcmV0dXJuICgwKTsKK30KKworLyoqCisgKiB4bWxQYXJzZTM5ODZQYXRoQWJFbXB0eToKKyAqIEB1cmk6ICBwb2ludGVyIHRvIGFuIFVSSSBzdHJ1Y3R1cmUKKyAqIEBzdHI6ICB0aGUgc3RyaW5nIHRvIGFuYWx5emUKKyAqCisgKiBQYXJzZSBhbiBwYXRoIGFic29sdXRlIG9yIGVtcHR5IGFuZCBmaWxscyBpbiB0aGUgYXBwcm9wcmlhdGUgZmllbGRzCisgKiBvZiB0aGUgQHVyaSBzdHJ1Y3R1cmUKKyAqCisgKiBwYXRoLWFiZW1wdHkgID0gKiggIi8iIHNlZ21lbnQgKQorICoKKyAqIFJldHVybnMgMCBvciB0aGUgZXJyb3IgY29kZQorICovCitzdGF0aWMgaW50Cit4bWxQYXJzZTM5ODZQYXRoQWJFbXB0eSh4bWxVUklQdHIgdXJpLCBjb25zdCBjaGFyICoqc3RyKQoreworICAgIGNvbnN0IGNoYXIgKmN1cjsKKyAgICBpbnQgcmV0OworCisgICAgY3VyID0gKnN0cjsKKworICAgIHdoaWxlICgqY3VyID09ICcvJykgeworICAgICAgICBjdXIrKzsKKwlyZXQgPSB4bWxQYXJzZTM5ODZTZWdtZW50KCZjdXIsIDAsIDEpOworCWlmIChyZXQgIT0gMCkgcmV0dXJuKHJldCk7CisgICAgfQorICAgIGlmICh1cmkgIT0gTlVMTCkgeworCWlmICh1cmktPnBhdGggIT0gTlVMTCkgeG1sRnJlZSh1cmktPnBhdGgpOworICAgICAgICBpZiAoKnN0ciAhPSBjdXIpIHsKKyAgICAgICAgICAgIGlmICh1cmktPmNsZWFudXAgJiAyKQorICAgICAgICAgICAgICAgIHVyaS0+cGF0aCA9IFNUUk5EVVAoKnN0ciwgY3VyIC0gKnN0cik7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgdXJpLT5wYXRoID0geG1sVVJJVW5lc2NhcGVTdHJpbmcoKnN0ciwgY3VyIC0gKnN0ciwgTlVMTCk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICB1cmktPnBhdGggPSBOVUxMOworICAgICAgICB9CisgICAgfQorICAgICpzdHIgPSBjdXI7CisgICAgcmV0dXJuICgwKTsKK30KKworLyoqCisgKiB4bWxQYXJzZTM5ODZQYXRoQWJzb2x1dGU6CisgKiBAdXJpOiAgcG9pbnRlciB0byBhbiBVUkkgc3RydWN0dXJlCisgKiBAc3RyOiAgdGhlIHN0cmluZyB0byBhbmFseXplCisgKgorICogUGFyc2UgYW4gcGF0aCBhYnNvbHV0ZSBhbmQgZmlsbHMgaW4gdGhlIGFwcHJvcHJpYXRlIGZpZWxkcworICogb2YgdGhlIEB1cmkgc3RydWN0dXJlCisgKgorICogcGF0aC1hYnNvbHV0ZSA9ICIvIiBbIHNlZ21lbnQtbnogKiggIi8iIHNlZ21lbnQgKSBdCisgKgorICogUmV0dXJucyAwIG9yIHRoZSBlcnJvciBjb2RlCisgKi8KK3N0YXRpYyBpbnQKK3htbFBhcnNlMzk4NlBhdGhBYnNvbHV0ZSh4bWxVUklQdHIgdXJpLCBjb25zdCBjaGFyICoqc3RyKQoreworICAgIGNvbnN0IGNoYXIgKmN1cjsKKyAgICBpbnQgcmV0OworCisgICAgY3VyID0gKnN0cjsKKworICAgIGlmICgqY3VyICE9ICcvJykKKyAgICAgICAgcmV0dXJuKDEpOworICAgIGN1cisrOworICAgIHJldCA9IHhtbFBhcnNlMzk4NlNlZ21lbnQoJmN1ciwgMCwgMCk7CisgICAgaWYgKHJldCA9PSAwKSB7CisJd2hpbGUgKCpjdXIgPT0gJy8nKSB7CisJICAgIGN1cisrOworCSAgICByZXQgPSB4bWxQYXJzZTM5ODZTZWdtZW50KCZjdXIsIDAsIDEpOworCSAgICBpZiAocmV0ICE9IDApIHJldHVybihyZXQpOworCX0KKyAgICB9CisgICAgaWYgKHVyaSAhPSBOVUxMKSB7CisJaWYgKHVyaS0+cGF0aCAhPSBOVUxMKSB4bWxGcmVlKHVyaS0+cGF0aCk7CisgICAgICAgIGlmIChjdXIgIT0gKnN0cikgeworICAgICAgICAgICAgaWYgKHVyaS0+Y2xlYW51cCAmIDIpCisgICAgICAgICAgICAgICAgdXJpLT5wYXRoID0gU1RSTkRVUCgqc3RyLCBjdXIgLSAqc3RyKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICB1cmktPnBhdGggPSB4bWxVUklVbmVzY2FwZVN0cmluZygqc3RyLCBjdXIgLSAqc3RyLCBOVUxMKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHVyaS0+cGF0aCA9IE5VTEw7CisgICAgICAgIH0KKyAgICB9CisgICAgKnN0ciA9IGN1cjsKKyAgICByZXR1cm4gKDApOworfQorCisvKioKKyAqIHhtbFBhcnNlMzk4NlBhdGhSb290bGVzczoKKyAqIEB1cmk6ICBwb2ludGVyIHRvIGFuIFVSSSBzdHJ1Y3R1cmUKKyAqIEBzdHI6ICB0aGUgc3RyaW5nIHRvIGFuYWx5emUKKyAqCisgKiBQYXJzZSBhbiBwYXRoIHdpdGhvdXQgcm9vdCBhbmQgZmlsbHMgaW4gdGhlIGFwcHJvcHJpYXRlIGZpZWxkcworICogb2YgdGhlIEB1cmkgc3RydWN0dXJlCisgKgorICogcGF0aC1yb290bGVzcyA9IHNlZ21lbnQtbnogKiggIi8iIHNlZ21lbnQgKQorICoKKyAqIFJldHVybnMgMCBvciB0aGUgZXJyb3IgY29kZQorICovCitzdGF0aWMgaW50Cit4bWxQYXJzZTM5ODZQYXRoUm9vdGxlc3MoeG1sVVJJUHRyIHVyaSwgY29uc3QgY2hhciAqKnN0cikKK3sKKyAgICBjb25zdCBjaGFyICpjdXI7CisgICAgaW50IHJldDsKKworICAgIGN1ciA9ICpzdHI7CisKKyAgICByZXQgPSB4bWxQYXJzZTM5ODZTZWdtZW50KCZjdXIsIDAsIDApOworICAgIGlmIChyZXQgIT0gMCkgcmV0dXJuKHJldCk7CisgICAgd2hpbGUgKCpjdXIgPT0gJy8nKSB7CisgICAgICAgIGN1cisrOworCXJldCA9IHhtbFBhcnNlMzk4NlNlZ21lbnQoJmN1ciwgMCwgMSk7CisJaWYgKHJldCAhPSAwKSByZXR1cm4ocmV0KTsKKyAgICB9CisgICAgaWYgKHVyaSAhPSBOVUxMKSB7CisJaWYgKHVyaS0+cGF0aCAhPSBOVUxMKSB4bWxGcmVlKHVyaS0+cGF0aCk7CisgICAgICAgIGlmIChjdXIgIT0gKnN0cikgeworICAgICAgICAgICAgaWYgKHVyaS0+Y2xlYW51cCAmIDIpCisgICAgICAgICAgICAgICAgdXJpLT5wYXRoID0gU1RSTkRVUCgqc3RyLCBjdXIgLSAqc3RyKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICB1cmktPnBhdGggPSB4bWxVUklVbmVzY2FwZVN0cmluZygqc3RyLCBjdXIgLSAqc3RyLCBOVUxMKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHVyaS0+cGF0aCA9IE5VTEw7CisgICAgICAgIH0KKyAgICB9CisgICAgKnN0ciA9IGN1cjsKKyAgICByZXR1cm4gKDApOworfQorCisvKioKKyAqIHhtbFBhcnNlMzk4NlBhdGhOb1NjaGVtZToKKyAqIEB1cmk6ICBwb2ludGVyIHRvIGFuIFVSSSBzdHJ1Y3R1cmUKKyAqIEBzdHI6ICB0aGUgc3RyaW5nIHRvIGFuYWx5emUKKyAqCisgKiBQYXJzZSBhbiBwYXRoIHdoaWNoIGlzIG5vdCBhIHNjaGVtZSBhbmQgZmlsbHMgaW4gdGhlIGFwcHJvcHJpYXRlIGZpZWxkcworICogb2YgdGhlIEB1cmkgc3RydWN0dXJlCisgKgorICogcGF0aC1ub3NjaGVtZSA9IHNlZ21lbnQtbnotbmMgKiggIi8iIHNlZ21lbnQgKQorICoKKyAqIFJldHVybnMgMCBvciB0aGUgZXJyb3IgY29kZQorICovCitzdGF0aWMgaW50Cit4bWxQYXJzZTM5ODZQYXRoTm9TY2hlbWUoeG1sVVJJUHRyIHVyaSwgY29uc3QgY2hhciAqKnN0cikKK3sKKyAgICBjb25zdCBjaGFyICpjdXI7CisgICAgaW50IHJldDsKKworICAgIGN1ciA9ICpzdHI7CisKKyAgICByZXQgPSB4bWxQYXJzZTM5ODZTZWdtZW50KCZjdXIsICc6JywgMCk7CisgICAgaWYgKHJldCAhPSAwKSByZXR1cm4ocmV0KTsKKyAgICB3aGlsZSAoKmN1ciA9PSAnLycpIHsKKyAgICAgICAgY3VyKys7CisJcmV0ID0geG1sUGFyc2UzOTg2U2VnbWVudCgmY3VyLCAwLCAxKTsKKwlpZiAocmV0ICE9IDApIHJldHVybihyZXQpOworICAgIH0KKyAgICBpZiAodXJpICE9IE5VTEwpIHsKKwlpZiAodXJpLT5wYXRoICE9IE5VTEwpIHhtbEZyZWUodXJpLT5wYXRoKTsKKyAgICAgICAgaWYgKGN1ciAhPSAqc3RyKSB7CisgICAgICAgICAgICBpZiAodXJpLT5jbGVhbnVwICYgMikKKyAgICAgICAgICAgICAgICB1cmktPnBhdGggPSBTVFJORFVQKCpzdHIsIGN1ciAtICpzdHIpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHVyaS0+cGF0aCA9IHhtbFVSSVVuZXNjYXBlU3RyaW5nKCpzdHIsIGN1ciAtICpzdHIsIE5VTEwpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgdXJpLT5wYXRoID0gTlVMTDsKKyAgICAgICAgfQorICAgIH0KKyAgICAqc3RyID0gY3VyOworICAgIHJldHVybiAoMCk7Cit9CisKKy8qKgorICogeG1sUGFyc2UzOTg2SGllclBhcnQ6CisgKiBAdXJpOiAgcG9pbnRlciB0byBhbiBVUkkgc3RydWN0dXJlCisgKiBAc3RyOiAgdGhlIHN0cmluZyB0byBhbmFseXplCisgKgorICogUGFyc2UgYW4gaGllcmFyY2hpY2FsIHBhcnQgYW5kIGZpbGxzIGluIHRoZSBhcHByb3ByaWF0ZSBmaWVsZHMKKyAqIG9mIHRoZSBAdXJpIHN0cnVjdHVyZQorICoKKyAqIGhpZXItcGFydCAgICAgPSAiLy8iIGF1dGhvcml0eSBwYXRoLWFiZW1wdHkKKyAqICAgICAgICAgICAgICAgIC8gcGF0aC1hYnNvbHV0ZQorICogICAgICAgICAgICAgICAgLyBwYXRoLXJvb3RsZXNzCisgKiAgICAgICAgICAgICAgICAvIHBhdGgtZW1wdHkKKyAqCisgKiBSZXR1cm5zIDAgb3IgdGhlIGVycm9yIGNvZGUKKyAqLworc3RhdGljIGludAoreG1sUGFyc2UzOTg2SGllclBhcnQoeG1sVVJJUHRyIHVyaSwgY29uc3QgY2hhciAqKnN0cikKK3sKKyAgICBjb25zdCBjaGFyICpjdXI7CisgICAgaW50IHJldDsKKworICAgIGN1ciA9ICpzdHI7CisKKyAgICBpZiAoKCpjdXIgPT0gJy8nKSAmJiAoKihjdXIgKyAxKSA9PSAnLycpKSB7CisgICAgICAgIGN1ciArPSAyOworCXJldCA9IHhtbFBhcnNlMzk4NkF1dGhvcml0eSh1cmksICZjdXIpOworCWlmIChyZXQgIT0gMCkgcmV0dXJuKHJldCk7CisJaWYgKHVyaS0+c2VydmVyID09IE5VTEwpCisJICAgIHVyaS0+cG9ydCA9IC0xOworCXJldCA9IHhtbFBhcnNlMzk4NlBhdGhBYkVtcHR5KHVyaSwgJmN1cik7CisJaWYgKHJldCAhPSAwKSByZXR1cm4ocmV0KTsKKwkqc3RyID0gY3VyOworCXJldHVybigwKTsKKyAgICB9IGVsc2UgaWYgKCpjdXIgPT0gJy8nKSB7CisgICAgICAgIHJldCA9IHhtbFBhcnNlMzk4NlBhdGhBYnNvbHV0ZSh1cmksICZjdXIpOworCWlmIChyZXQgIT0gMCkgcmV0dXJuKHJldCk7CisgICAgfSBlbHNlIGlmIChJU0FfUENIQVIoY3VyKSkgeworICAgICAgICByZXQgPSB4bWxQYXJzZTM5ODZQYXRoUm9vdGxlc3ModXJpLCAmY3VyKTsKKwlpZiAocmV0ICE9IDApIHJldHVybihyZXQpOworICAgIH0gZWxzZSB7CisJLyogcGF0aC1lbXB0eSBpcyBlZmZlY3RpdmVseSBlbXB0eSAqLworCWlmICh1cmkgIT0gTlVMTCkgeworCSAgICBpZiAodXJpLT5wYXRoICE9IE5VTEwpIHhtbEZyZWUodXJpLT5wYXRoKTsKKwkgICAgdXJpLT5wYXRoID0gTlVMTDsKKwl9CisgICAgfQorICAgICpzdHIgPSBjdXI7CisgICAgcmV0dXJuICgwKTsKK30KKworLyoqCisgKiB4bWxQYXJzZTM5ODZSZWxhdGl2ZVJlZjoKKyAqIEB1cmk6ICBwb2ludGVyIHRvIGFuIFVSSSBzdHJ1Y3R1cmUKKyAqIEBzdHI6ICB0aGUgc3RyaW5nIHRvIGFuYWx5emUKKyAqCisgKiBQYXJzZSBhbiBVUkkgc3RyaW5nIGFuZCBmaWxscyBpbiB0aGUgYXBwcm9wcmlhdGUgZmllbGRzCisgKiBvZiB0aGUgQHVyaSBzdHJ1Y3R1cmUKKyAqCisgKiByZWxhdGl2ZS1yZWYgID0gcmVsYXRpdmUtcGFydCBbICI/IiBxdWVyeSBdIFsgIiMiIGZyYWdtZW50IF0KKyAqIHJlbGF0aXZlLXBhcnQgPSAiLy8iIGF1dGhvcml0eSBwYXRoLWFiZW1wdHkKKyAqICAgICAgICAgICAgICAgLyBwYXRoLWFic29sdXRlCisgKiAgICAgICAgICAgICAgIC8gcGF0aC1ub3NjaGVtZQorICogICAgICAgICAgICAgICAvIHBhdGgtZW1wdHkKKyAqCisgKiBSZXR1cm5zIDAgb3IgdGhlIGVycm9yIGNvZGUKKyAqLworc3RhdGljIGludAoreG1sUGFyc2UzOTg2UmVsYXRpdmVSZWYoeG1sVVJJUHRyIHVyaSwgY29uc3QgY2hhciAqc3RyKSB7CisgICAgaW50IHJldDsKKworICAgIGlmICgoKnN0ciA9PSAnLycpICYmICgqKHN0ciArIDEpID09ICcvJykpIHsKKyAgICAgICAgc3RyICs9IDI7CisJcmV0ID0geG1sUGFyc2UzOTg2QXV0aG9yaXR5KHVyaSwgJnN0cik7CisJaWYgKHJldCAhPSAwKSByZXR1cm4ocmV0KTsKKwlyZXQgPSB4bWxQYXJzZTM5ODZQYXRoQWJFbXB0eSh1cmksICZzdHIpOworCWlmIChyZXQgIT0gMCkgcmV0dXJuKHJldCk7CisgICAgfSBlbHNlIGlmICgqc3RyID09ICcvJykgeworCXJldCA9IHhtbFBhcnNlMzk4NlBhdGhBYnNvbHV0ZSh1cmksICZzdHIpOworCWlmIChyZXQgIT0gMCkgcmV0dXJuKHJldCk7CisgICAgfSBlbHNlIGlmIChJU0FfUENIQVIoc3RyKSkgeworICAgICAgICByZXQgPSB4bWxQYXJzZTM5ODZQYXRoTm9TY2hlbWUodXJpLCAmc3RyKTsKKwlpZiAocmV0ICE9IDApIHJldHVybihyZXQpOworICAgIH0gZWxzZSB7CisJLyogcGF0aC1lbXB0eSBpcyBlZmZlY3RpdmVseSBlbXB0eSAqLworCWlmICh1cmkgIT0gTlVMTCkgeworCSAgICBpZiAodXJpLT5wYXRoICE9IE5VTEwpIHhtbEZyZWUodXJpLT5wYXRoKTsKKwkgICAgdXJpLT5wYXRoID0gTlVMTDsKKwl9CisgICAgfQorCisgICAgaWYgKCpzdHIgPT0gJz8nKSB7CisJc3RyKys7CisJcmV0ID0geG1sUGFyc2UzOTg2UXVlcnkodXJpLCAmc3RyKTsKKwlpZiAocmV0ICE9IDApIHJldHVybihyZXQpOworICAgIH0KKyAgICBpZiAoKnN0ciA9PSAnIycpIHsKKwlzdHIrKzsKKwlyZXQgPSB4bWxQYXJzZTM5ODZGcmFnbWVudCh1cmksICZzdHIpOworCWlmIChyZXQgIT0gMCkgcmV0dXJuKHJldCk7CisgICAgfQorICAgIGlmICgqc3RyICE9IDApIHsKKwl4bWxDbGVhblVSSSh1cmkpOworCXJldHVybigxKTsKKyAgICB9CisgICAgcmV0dXJuKDApOworfQorCisKKy8qKgorICogeG1sUGFyc2UzOTg2VVJJOgorICogQHVyaTogIHBvaW50ZXIgdG8gYW4gVVJJIHN0cnVjdHVyZQorICogQHN0cjogIHRoZSBzdHJpbmcgdG8gYW5hbHl6ZQorICoKKyAqIFBhcnNlIGFuIFVSSSBzdHJpbmcgYW5kIGZpbGxzIGluIHRoZSBhcHByb3ByaWF0ZSBmaWVsZHMKKyAqIG9mIHRoZSBAdXJpIHN0cnVjdHVyZQorICoKKyAqIHNjaGVtZSAiOiIgaGllci1wYXJ0IFsgIj8iIHF1ZXJ5IF0gWyAiIyIgZnJhZ21lbnQgXQorICoKKyAqIFJldHVybnMgMCBvciB0aGUgZXJyb3IgY29kZQorICovCitzdGF0aWMgaW50Cit4bWxQYXJzZTM5ODZVUkkoeG1sVVJJUHRyIHVyaSwgY29uc3QgY2hhciAqc3RyKSB7CisgICAgaW50IHJldDsKKworICAgIHJldCA9IHhtbFBhcnNlMzk4NlNjaGVtZSh1cmksICZzdHIpOworICAgIGlmIChyZXQgIT0gMCkgcmV0dXJuKHJldCk7CisgICAgaWYgKCpzdHIgIT0gJzonKSB7CisJcmV0dXJuKDEpOworICAgIH0KKyAgICBzdHIrKzsKKyAgICByZXQgPSB4bWxQYXJzZTM5ODZIaWVyUGFydCh1cmksICZzdHIpOworICAgIGlmIChyZXQgIT0gMCkgcmV0dXJuKHJldCk7CisgICAgaWYgKCpzdHIgPT0gJz8nKSB7CisJc3RyKys7CisJcmV0ID0geG1sUGFyc2UzOTg2UXVlcnkodXJpLCAmc3RyKTsKKwlpZiAocmV0ICE9IDApIHJldHVybihyZXQpOworICAgIH0KKyAgICBpZiAoKnN0ciA9PSAnIycpIHsKKwlzdHIrKzsKKwlyZXQgPSB4bWxQYXJzZTM5ODZGcmFnbWVudCh1cmksICZzdHIpOworCWlmIChyZXQgIT0gMCkgcmV0dXJuKHJldCk7CisgICAgfQorICAgIGlmICgqc3RyICE9IDApIHsKKwl4bWxDbGVhblVSSSh1cmkpOworCXJldHVybigxKTsKKyAgICB9CisgICAgcmV0dXJuKDApOworfQorCisvKioKKyAqIHhtbFBhcnNlMzk4NlVSSVJlZmVyZW5jZToKKyAqIEB1cmk6ICBwb2ludGVyIHRvIGFuIFVSSSBzdHJ1Y3R1cmUKKyAqIEBzdHI6ICB0aGUgc3RyaW5nIHRvIGFuYWx5emUKKyAqCisgKiBQYXJzZSBhbiBVUkkgcmVmZXJlbmNlIHN0cmluZyBhbmQgZmlsbHMgaW4gdGhlIGFwcHJvcHJpYXRlIGZpZWxkcworICogb2YgdGhlIEB1cmkgc3RydWN0dXJlCisgKgorICogVVJJLXJlZmVyZW5jZSA9IFVSSSAvIHJlbGF0aXZlLXJlZgorICoKKyAqIFJldHVybnMgMCBvciB0aGUgZXJyb3IgY29kZQorICovCitzdGF0aWMgaW50Cit4bWxQYXJzZTM5ODZVUklSZWZlcmVuY2UoeG1sVVJJUHRyIHVyaSwgY29uc3QgY2hhciAqc3RyKSB7CisgICAgaW50IHJldDsKKworICAgIGlmIChzdHIgPT0gTlVMTCkKKwlyZXR1cm4oLTEpOworICAgIHhtbENsZWFuVVJJKHVyaSk7CisKKyAgICAvKgorICAgICAqIFRyeSBmaXJzdCB0byBwYXJzZSBhYnNvbHV0ZSByZWZzLCB0aGVuIGZhbGxiYWNrIHRvIHJlbGF0aXZlIGlmCisgICAgICogaXQgZmFpbHMuCisgICAgICovCisgICAgcmV0ID0geG1sUGFyc2UzOTg2VVJJKHVyaSwgc3RyKTsKKyAgICBpZiAocmV0ICE9IDApIHsKKwl4bWxDbGVhblVSSSh1cmkpOworICAgICAgICByZXQgPSB4bWxQYXJzZTM5ODZSZWxhdGl2ZVJlZih1cmksIHN0cik7CisJaWYgKHJldCAhPSAwKSB7CisJICAgIHhtbENsZWFuVVJJKHVyaSk7CisJICAgIHJldHVybihyZXQpOworCX0KKyAgICB9CisgICAgcmV0dXJuKDApOworfQorCisvKioKKyAqIHhtbFBhcnNlVVJJOgorICogQHN0cjogIHRoZSBVUkkgc3RyaW5nIHRvIGFuYWx5emUKKyAqCisgKiBQYXJzZSBhbiBVUkkgYmFzZWQgb24gUkZDIDM5ODYKKyAqCisgKiBVUkktcmVmZXJlbmNlID0gWyBhYnNvbHV0ZVVSSSB8IHJlbGF0aXZlVVJJIF0gWyAiIyIgZnJhZ21lbnQgXQorICoKKyAqIFJldHVybnMgYSBuZXdseSBidWlsdCB4bWxVUklQdHIgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3htbFVSSVB0cgoreG1sUGFyc2VVUkkoY29uc3QgY2hhciAqc3RyKSB7CisgICAgeG1sVVJJUHRyIHVyaTsKKyAgICBpbnQgcmV0OworCisgICAgaWYgKHN0ciA9PSBOVUxMKQorCXJldHVybihOVUxMKTsKKyAgICB1cmkgPSB4bWxDcmVhdGVVUkkoKTsKKyAgICBpZiAodXJpICE9IE5VTEwpIHsKKwlyZXQgPSB4bWxQYXJzZTM5ODZVUklSZWZlcmVuY2UodXJpLCBzdHIpOworICAgICAgICBpZiAocmV0KSB7CisJICAgIHhtbEZyZWVVUkkodXJpKTsKKwkgICAgcmV0dXJuKE5VTEwpOworCX0KKyAgICB9CisgICAgcmV0dXJuKHVyaSk7Cit9CisKKy8qKgorICogeG1sUGFyc2VVUklSZWZlcmVuY2U6CisgKiBAdXJpOiAgcG9pbnRlciB0byBhbiBVUkkgc3RydWN0dXJlCisgKiBAc3RyOiAgdGhlIHN0cmluZyB0byBhbmFseXplCisgKgorICogUGFyc2UgYW4gVVJJIHJlZmVyZW5jZSBzdHJpbmcgYmFzZWQgb24gUkZDIDM5ODYgYW5kIGZpbGxzIGluIHRoZQorICogYXBwcm9wcmlhdGUgZmllbGRzIG9mIHRoZSBAdXJpIHN0cnVjdHVyZQorICoKKyAqIFVSSS1yZWZlcmVuY2UgPSBVUkkgLyByZWxhdGl2ZS1yZWYKKyAqCisgKiBSZXR1cm5zIDAgb3IgdGhlIGVycm9yIGNvZGUKKyAqLworaW50Cit4bWxQYXJzZVVSSVJlZmVyZW5jZSh4bWxVUklQdHIgdXJpLCBjb25zdCBjaGFyICpzdHIpIHsKKyAgICByZXR1cm4oeG1sUGFyc2UzOTg2VVJJUmVmZXJlbmNlKHVyaSwgc3RyKSk7Cit9CisKKy8qKgorICogeG1sUGFyc2VVUklSYXc6CisgKiBAc3RyOiAgdGhlIFVSSSBzdHJpbmcgdG8gYW5hbHl6ZQorICogQHJhdzogIGlmIDEgdW5lc2NhcGluZyBvZiBVUkkgcGllY2VzIGFyZSBkaXNhYmxlZAorICoKKyAqIFBhcnNlIGFuIFVSSSBidXQgYWxsb3dzIHRvIGtlZXAgaW50YWN0IHRoZSBvcmlnaW5hbCBmcmFnbWVudHMuCisgKgorICogVVJJLXJlZmVyZW5jZSA9IFVSSSAvIHJlbGF0aXZlLXJlZgorICoKKyAqIFJldHVybnMgYSBuZXdseSBidWlsdCB4bWxVUklQdHIgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3htbFVSSVB0cgoreG1sUGFyc2VVUklSYXcoY29uc3QgY2hhciAqc3RyLCBpbnQgcmF3KSB7CisgICAgeG1sVVJJUHRyIHVyaTsKKyAgICBpbnQgcmV0OworCisgICAgaWYgKHN0ciA9PSBOVUxMKQorCXJldHVybihOVUxMKTsKKyAgICB1cmkgPSB4bWxDcmVhdGVVUkkoKTsKKyAgICBpZiAodXJpICE9IE5VTEwpIHsKKyAgICAgICAgaWYgKHJhdykgeworCSAgICB1cmktPmNsZWFudXAgfD0gMjsKKwl9CisJcmV0ID0geG1sUGFyc2VVUklSZWZlcmVuY2UodXJpLCBzdHIpOworICAgICAgICBpZiAocmV0KSB7CisJICAgIHhtbEZyZWVVUkkodXJpKTsKKwkgICAgcmV0dXJuKE5VTEwpOworCX0KKyAgICB9CisgICAgcmV0dXJuKHVyaSk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCQlHZW5lcmljIFVSSSBzdHJ1Y3R1cmUgZnVuY3Rpb25zCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioKKyAqIHhtbENyZWF0ZVVSSToKKyAqCisgKiBTaW1wbHkgY3JlYXRlcyBhbiBlbXB0eSB4bWxVUkkKKyAqCisgKiBSZXR1cm5zIHRoZSBuZXcgc3RydWN0dXJlIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcgorICovCit4bWxVUklQdHIKK3htbENyZWF0ZVVSSSh2b2lkKSB7CisgICAgeG1sVVJJUHRyIHJldDsKKworICAgIHJldCA9ICh4bWxVUklQdHIpIHhtbE1hbGxvYyhzaXplb2YoeG1sVVJJKSk7CisgICAgaWYgKHJldCA9PSBOVUxMKSB7CisgICAgICAgIHhtbFVSSUVyck1lbW9yeSgiY3JlYXRpbmcgVVJJIHN0cnVjdHVyZVxuIik7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBtZW1zZXQocmV0LCAwLCBzaXplb2YoeG1sVVJJKSk7CisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogeG1sU2F2ZVVyaVJlYWxsb2M6CisgKgorICogRnVuY3Rpb24gdG8gaGFuZGxlIHByb3Blcmx5IGEgcmVhbGxvY2F0aW9uIHdoZW4gc2F2aW5nIGFuIFVSSQorICogQWxzbyBpbXBvc2VzIHNvbWUgbGltaXQgb24gdGhlIGxlbmd0aCBvZiBhbiBVUkkgc3RyaW5nIG91dHB1dAorICovCitzdGF0aWMgeG1sQ2hhciAqCit4bWxTYXZlVXJpUmVhbGxvYyh4bWxDaGFyICpyZXQsIGludCAqbWF4KSB7CisgICAgeG1sQ2hhciAqdGVtcDsKKyAgICBpbnQgdG1wOworCisgICAgaWYgKCptYXggPiBNQVhfVVJJX0xFTkdUSCkgeworICAgICAgICB4bWxVUklFcnJNZW1vcnkoInJlYWNoaW5nIGFyYml0cmFyeSBNQVhfVVJJX0xFTkdUSCBsaW1pdFxuIik7CisgICAgICAgIHJldHVybihOVUxMKTsKKyAgICB9CisgICAgdG1wID0gKm1heCAqIDI7CisgICAgdGVtcCA9ICh4bWxDaGFyICopIHhtbFJlYWxsb2MocmV0LCAodG1wICsgMSkpOworICAgIGlmICh0ZW1wID09IE5VTEwpIHsKKyAgICAgICAgeG1sVVJJRXJyTWVtb3J5KCJzYXZpbmcgVVJJXG4iKTsKKyAgICAgICAgcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICAqbWF4ID0gdG1wOworICAgIHJldHVybih0ZW1wKTsKK30KKworLyoqCisgKiB4bWxTYXZlVXJpOgorICogQHVyaTogIHBvaW50ZXIgdG8gYW4geG1sVVJJCisgKgorICogU2F2ZSB0aGUgVVJJIGFzIGFuIGVzY2FwZWQgc3RyaW5nCisgKgorICogUmV0dXJucyBhIG5ldyBzdHJpbmcgKHRvIGJlIGRlYWxsb2NhdGVkIGJ5IGNhbGxlcikKKyAqLworeG1sQ2hhciAqCit4bWxTYXZlVXJpKHhtbFVSSVB0ciB1cmkpIHsKKyAgICB4bWxDaGFyICpyZXQgPSBOVUxMOworICAgIHhtbENoYXIgKnRlbXA7CisgICAgY29uc3QgY2hhciAqcDsKKyAgICBpbnQgbGVuOworICAgIGludCBtYXg7CisKKyAgICBpZiAodXJpID09IE5VTEwpIHJldHVybihOVUxMKTsKKworCisgICAgbWF4ID0gODA7CisgICAgcmV0ID0gKHhtbENoYXIgKikgeG1sTWFsbG9jQXRvbWljKChtYXggKyAxKSAqIHNpemVvZih4bWxDaGFyKSk7CisgICAgaWYgKHJldCA9PSBOVUxMKSB7CisgICAgICAgIHhtbFVSSUVyck1lbW9yeSgic2F2aW5nIFVSSVxuIik7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBsZW4gPSAwOworCisgICAgaWYgKHVyaS0+c2NoZW1lICE9IE5VTEwpIHsKKwlwID0gdXJpLT5zY2hlbWU7CisJd2hpbGUgKCpwICE9IDApIHsKKwkgICAgaWYgKGxlbiA+PSBtYXgpIHsKKyAgICAgICAgICAgICAgICB0ZW1wID0geG1sU2F2ZVVyaVJlYWxsb2MocmV0LCAmbWF4KTsKKyAgICAgICAgICAgICAgICBpZiAodGVtcCA9PSBOVUxMKSBnb3RvIG1lbV9lcnJvcjsKKwkJcmV0ID0gdGVtcDsKKwkgICAgfQorCSAgICByZXRbbGVuKytdID0gKnArKzsKKwl9CisJaWYgKGxlbiA+PSBtYXgpIHsKKyAgICAgICAgICAgIHRlbXAgPSB4bWxTYXZlVXJpUmVhbGxvYyhyZXQsICZtYXgpOworICAgICAgICAgICAgaWYgKHRlbXAgPT0gTlVMTCkgZ290byBtZW1fZXJyb3I7CisgICAgICAgICAgICByZXQgPSB0ZW1wOworCX0KKwlyZXRbbGVuKytdID0gJzonOworICAgIH0KKyAgICBpZiAodXJpLT5vcGFxdWUgIT0gTlVMTCkgeworCXAgPSB1cmktPm9wYXF1ZTsKKwl3aGlsZSAoKnAgIT0gMCkgeworCSAgICBpZiAobGVuICsgMyA+PSBtYXgpIHsKKyAgICAgICAgICAgICAgICB0ZW1wID0geG1sU2F2ZVVyaVJlYWxsb2MocmV0LCAmbWF4KTsKKyAgICAgICAgICAgICAgICBpZiAodGVtcCA9PSBOVUxMKSBnb3RvIG1lbV9lcnJvcjsKKyAgICAgICAgICAgICAgICByZXQgPSB0ZW1wOworCSAgICB9CisJICAgIGlmIChJU19SRVNFUlZFRCgqKHApKSB8fCBJU19VTlJFU0VSVkVEKCoocCkpKQorCQlyZXRbbGVuKytdID0gKnArKzsKKwkgICAgZWxzZSB7CisJCWludCB2YWwgPSAqKHVuc2lnbmVkIGNoYXIgKilwKys7CisJCWludCBoaSA9IHZhbCAvIDB4MTAsIGxvID0gdmFsICUgMHgxMDsKKwkJcmV0W2xlbisrXSA9ICclJzsKKwkJcmV0W2xlbisrXSA9IGhpICsgKGhpID4gOT8gJ0EnLTEwIDogJzAnKTsKKwkJcmV0W2xlbisrXSA9IGxvICsgKGxvID4gOT8gJ0EnLTEwIDogJzAnKTsKKwkgICAgfQorCX0KKyAgICB9IGVsc2UgeworCWlmICgodXJpLT5zZXJ2ZXIgIT0gTlVMTCkgfHwgKHVyaS0+cG9ydCA9PSAtMSkpIHsKKwkgICAgaWYgKGxlbiArIDMgPj0gbWF4KSB7CisgICAgICAgICAgICAgICAgdGVtcCA9IHhtbFNhdmVVcmlSZWFsbG9jKHJldCwgJm1heCk7CisgICAgICAgICAgICAgICAgaWYgKHRlbXAgPT0gTlVMTCkgZ290byBtZW1fZXJyb3I7CisgICAgICAgICAgICAgICAgcmV0ID0gdGVtcDsKKwkgICAgfQorCSAgICByZXRbbGVuKytdID0gJy8nOworCSAgICByZXRbbGVuKytdID0gJy8nOworCSAgICBpZiAodXJpLT51c2VyICE9IE5VTEwpIHsKKwkJcCA9IHVyaS0+dXNlcjsKKwkJd2hpbGUgKCpwICE9IDApIHsKKwkJICAgIGlmIChsZW4gKyAzID49IG1heCkgeworICAgICAgICAgICAgICAgICAgICAgICAgdGVtcCA9IHhtbFNhdmVVcmlSZWFsbG9jKHJldCwgJm1heCk7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAodGVtcCA9PSBOVUxMKSBnb3RvIG1lbV9lcnJvcjsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldCA9IHRlbXA7CisJCSAgICB9CisJCSAgICBpZiAoKElTX1VOUkVTRVJWRUQoKihwKSkpIHx8CisJCQkoKCoocCkgPT0gJzsnKSkgfHwgKCgqKHApID09ICc6JykpIHx8CisJCQkoKCoocCkgPT0gJyYnKSkgfHwgKCgqKHApID09ICc9JykpIHx8CisJCQkoKCoocCkgPT0gJysnKSkgfHwgKCgqKHApID09ICckJykpIHx8CisJCQkoKCoocCkgPT0gJywnKSkpCisJCQlyZXRbbGVuKytdID0gKnArKzsKKwkJICAgIGVsc2UgeworCQkJaW50IHZhbCA9ICoodW5zaWduZWQgY2hhciAqKXArKzsKKwkJCWludCBoaSA9IHZhbCAvIDB4MTAsIGxvID0gdmFsICUgMHgxMDsKKwkJCXJldFtsZW4rK10gPSAnJSc7CisJCQlyZXRbbGVuKytdID0gaGkgKyAoaGkgPiA5PyAnQSctMTAgOiAnMCcpOworCQkJcmV0W2xlbisrXSA9IGxvICsgKGxvID4gOT8gJ0EnLTEwIDogJzAnKTsKKwkJICAgIH0KKwkJfQorCQlpZiAobGVuICsgMyA+PSBtYXgpIHsKKyAgICAgICAgICAgICAgICAgICAgdGVtcCA9IHhtbFNhdmVVcmlSZWFsbG9jKHJldCwgJm1heCk7CisgICAgICAgICAgICAgICAgICAgIGlmICh0ZW1wID09IE5VTEwpIGdvdG8gbWVtX2Vycm9yOworICAgICAgICAgICAgICAgICAgICByZXQgPSB0ZW1wOworCQl9CisJCXJldFtsZW4rK10gPSAnQCc7CisJICAgIH0KKwkgICAgaWYgKHVyaS0+c2VydmVyICE9IE5VTEwpIHsKKwkJcCA9IHVyaS0+c2VydmVyOworCQl3aGlsZSAoKnAgIT0gMCkgeworCQkgICAgaWYgKGxlbiA+PSBtYXgpIHsKKwkJCXRlbXAgPSB4bWxTYXZlVXJpUmVhbGxvYyhyZXQsICZtYXgpOworCQkJaWYgKHRlbXAgPT0gTlVMTCkgZ290byBtZW1fZXJyb3I7CisJCQlyZXQgPSB0ZW1wOworCQkgICAgfQorCQkgICAgcmV0W2xlbisrXSA9ICpwKys7CisJCX0KKwkJaWYgKHVyaS0+cG9ydCA+IDApIHsKKwkJICAgIGlmIChsZW4gKyAxMCA+PSBtYXgpIHsKKwkJCXRlbXAgPSB4bWxTYXZlVXJpUmVhbGxvYyhyZXQsICZtYXgpOworCQkJaWYgKHRlbXAgPT0gTlVMTCkgZ290byBtZW1fZXJyb3I7CisJCQlyZXQgPSB0ZW1wOworCQkgICAgfQorCQkgICAgbGVuICs9IHNucHJpbnRmKChjaGFyICopICZyZXRbbGVuXSwgbWF4IC0gbGVuLCAiOiVkIiwgdXJpLT5wb3J0KTsKKwkJfQorCSAgICB9CisJfSBlbHNlIGlmICh1cmktPmF1dGhvcml0eSAhPSBOVUxMKSB7CisJICAgIGlmIChsZW4gKyAzID49IG1heCkgeworICAgICAgICAgICAgICAgIHRlbXAgPSB4bWxTYXZlVXJpUmVhbGxvYyhyZXQsICZtYXgpOworICAgICAgICAgICAgICAgIGlmICh0ZW1wID09IE5VTEwpIGdvdG8gbWVtX2Vycm9yOworICAgICAgICAgICAgICAgIHJldCA9IHRlbXA7CisJICAgIH0KKwkgICAgcmV0W2xlbisrXSA9ICcvJzsKKwkgICAgcmV0W2xlbisrXSA9ICcvJzsKKwkgICAgcCA9IHVyaS0+YXV0aG9yaXR5OworCSAgICB3aGlsZSAoKnAgIT0gMCkgeworCQlpZiAobGVuICsgMyA+PSBtYXgpIHsKKyAgICAgICAgICAgICAgICAgICAgdGVtcCA9IHhtbFNhdmVVcmlSZWFsbG9jKHJldCwgJm1heCk7CisgICAgICAgICAgICAgICAgICAgIGlmICh0ZW1wID09IE5VTEwpIGdvdG8gbWVtX2Vycm9yOworICAgICAgICAgICAgICAgICAgICByZXQgPSB0ZW1wOworCQl9CisJCWlmICgoSVNfVU5SRVNFUlZFRCgqKHApKSkgfHwKKyAgICAgICAgICAgICAgICAgICAgKCgqKHApID09ICckJykpIHx8ICgoKihwKSA9PSAnLCcpKSB8fCAoKCoocCkgPT0gJzsnKSkgfHwKKyAgICAgICAgICAgICAgICAgICAgKCgqKHApID09ICc6JykpIHx8ICgoKihwKSA9PSAnQCcpKSB8fCAoKCoocCkgPT0gJyYnKSkgfHwKKyAgICAgICAgICAgICAgICAgICAgKCgqKHApID09ICc9JykpIHx8ICgoKihwKSA9PSAnKycpKSkKKwkJICAgIHJldFtsZW4rK10gPSAqcCsrOworCQllbHNlIHsKKwkJICAgIGludCB2YWwgPSAqKHVuc2lnbmVkIGNoYXIgKilwKys7CisJCSAgICBpbnQgaGkgPSB2YWwgLyAweDEwLCBsbyA9IHZhbCAlIDB4MTA7CisJCSAgICByZXRbbGVuKytdID0gJyUnOworCQkgICAgcmV0W2xlbisrXSA9IGhpICsgKGhpID4gOT8gJ0EnLTEwIDogJzAnKTsKKwkJICAgIHJldFtsZW4rK10gPSBsbyArIChsbyA+IDk/ICdBJy0xMCA6ICcwJyk7CisJCX0KKwkgICAgfQorCX0gZWxzZSBpZiAodXJpLT5zY2hlbWUgIT0gTlVMTCkgeworCSAgICBpZiAobGVuICsgMyA+PSBtYXgpIHsKKyAgICAgICAgICAgICAgICB0ZW1wID0geG1sU2F2ZVVyaVJlYWxsb2MocmV0LCAmbWF4KTsKKyAgICAgICAgICAgICAgICBpZiAodGVtcCA9PSBOVUxMKSBnb3RvIG1lbV9lcnJvcjsKKyAgICAgICAgICAgICAgICByZXQgPSB0ZW1wOworCSAgICB9CisJfQorCWlmICh1cmktPnBhdGggIT0gTlVMTCkgeworCSAgICBwID0gdXJpLT5wYXRoOworCSAgICAvKgorCSAgICAgKiB0aGUgY29sb24gaW4gZmlsZTovLy9kOiBzaG91bGQgbm90IGJlIGVzY2FwZWQgb3IKKwkgICAgICogV2luZG93cyBhY2Nlc3NlcyBmYWlsIGxhdGVyLgorCSAgICAgKi8KKwkgICAgaWYgKCh1cmktPnNjaGVtZSAhPSBOVUxMKSAmJgorCQkocFswXSA9PSAnLycpICYmCisJCSgoKHBbMV0gPj0gJ2EnKSAmJiAocFsxXSA8PSAneicpKSB8fAorCQkgKChwWzFdID49ICdBJykgJiYgKHBbMV0gPD0gJ1onKSkpICYmCisJCShwWzJdID09ICc6JykgJiYKKwkgICAgICAgICh4bWxTdHJFcXVhbChCQURfQ0FTVCB1cmktPnNjaGVtZSwgQkFEX0NBU1QgImZpbGUiKSkpIHsKKwkJaWYgKGxlbiArIDMgPj0gbWF4KSB7CisgICAgICAgICAgICAgICAgICAgIHRlbXAgPSB4bWxTYXZlVXJpUmVhbGxvYyhyZXQsICZtYXgpOworICAgICAgICAgICAgICAgICAgICBpZiAodGVtcCA9PSBOVUxMKSBnb3RvIG1lbV9lcnJvcjsKKyAgICAgICAgICAgICAgICAgICAgcmV0ID0gdGVtcDsKKwkJfQorCQlyZXRbbGVuKytdID0gKnArKzsKKwkJcmV0W2xlbisrXSA9ICpwKys7CisJCXJldFtsZW4rK10gPSAqcCsrOworCSAgICB9CisJICAgIHdoaWxlICgqcCAhPSAwKSB7CisJCWlmIChsZW4gKyAzID49IG1heCkgeworICAgICAgICAgICAgICAgICAgICB0ZW1wID0geG1sU2F2ZVVyaVJlYWxsb2MocmV0LCAmbWF4KTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHRlbXAgPT0gTlVMTCkgZ290byBtZW1fZXJyb3I7CisgICAgICAgICAgICAgICAgICAgIHJldCA9IHRlbXA7CisJCX0KKwkJaWYgKChJU19VTlJFU0VSVkVEKCoocCkpKSB8fCAoKCoocCkgPT0gJy8nKSkgfHwKKyAgICAgICAgICAgICAgICAgICAgKCgqKHApID09ICc7JykpIHx8ICgoKihwKSA9PSAnQCcpKSB8fCAoKCoocCkgPT0gJyYnKSkgfHwKKwkgICAgICAgICAgICAoKCoocCkgPT0gJz0nKSkgfHwgKCgqKHApID09ICcrJykpIHx8ICgoKihwKSA9PSAnJCcpKSB8fAorCSAgICAgICAgICAgICgoKihwKSA9PSAnLCcpKSkKKwkJICAgIHJldFtsZW4rK10gPSAqcCsrOworCQllbHNlIHsKKwkJICAgIGludCB2YWwgPSAqKHVuc2lnbmVkIGNoYXIgKilwKys7CisJCSAgICBpbnQgaGkgPSB2YWwgLyAweDEwLCBsbyA9IHZhbCAlIDB4MTA7CisJCSAgICByZXRbbGVuKytdID0gJyUnOworCQkgICAgcmV0W2xlbisrXSA9IGhpICsgKGhpID4gOT8gJ0EnLTEwIDogJzAnKTsKKwkJICAgIHJldFtsZW4rK10gPSBsbyArIChsbyA+IDk/ICdBJy0xMCA6ICcwJyk7CisJCX0KKwkgICAgfQorCX0KKwlpZiAodXJpLT5xdWVyeV9yYXcgIT0gTlVMTCkgeworCSAgICBpZiAobGVuICsgMSA+PSBtYXgpIHsKKyAgICAgICAgICAgICAgICB0ZW1wID0geG1sU2F2ZVVyaVJlYWxsb2MocmV0LCAmbWF4KTsKKyAgICAgICAgICAgICAgICBpZiAodGVtcCA9PSBOVUxMKSBnb3RvIG1lbV9lcnJvcjsKKyAgICAgICAgICAgICAgICByZXQgPSB0ZW1wOworCSAgICB9CisJICAgIHJldFtsZW4rK10gPSAnPyc7CisJICAgIHAgPSB1cmktPnF1ZXJ5X3JhdzsKKwkgICAgd2hpbGUgKCpwICE9IDApIHsKKwkJaWYgKGxlbiArIDEgPj0gbWF4KSB7CisgICAgICAgICAgICAgICAgICAgIHRlbXAgPSB4bWxTYXZlVXJpUmVhbGxvYyhyZXQsICZtYXgpOworICAgICAgICAgICAgICAgICAgICBpZiAodGVtcCA9PSBOVUxMKSBnb3RvIG1lbV9lcnJvcjsKKyAgICAgICAgICAgICAgICAgICAgcmV0ID0gdGVtcDsKKwkJfQorCQlyZXRbbGVuKytdID0gKnArKzsKKwkgICAgfQorCX0gZWxzZSBpZiAodXJpLT5xdWVyeSAhPSBOVUxMKSB7CisJICAgIGlmIChsZW4gKyAzID49IG1heCkgeworICAgICAgICAgICAgICAgIHRlbXAgPSB4bWxTYXZlVXJpUmVhbGxvYyhyZXQsICZtYXgpOworICAgICAgICAgICAgICAgIGlmICh0ZW1wID09IE5VTEwpIGdvdG8gbWVtX2Vycm9yOworICAgICAgICAgICAgICAgIHJldCA9IHRlbXA7CisJICAgIH0KKwkgICAgcmV0W2xlbisrXSA9ICc/JzsKKwkgICAgcCA9IHVyaS0+cXVlcnk7CisJICAgIHdoaWxlICgqcCAhPSAwKSB7CisJCWlmIChsZW4gKyAzID49IG1heCkgeworICAgICAgICAgICAgICAgICAgICB0ZW1wID0geG1sU2F2ZVVyaVJlYWxsb2MocmV0LCAmbWF4KTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHRlbXAgPT0gTlVMTCkgZ290byBtZW1fZXJyb3I7CisgICAgICAgICAgICAgICAgICAgIHJldCA9IHRlbXA7CisJCX0KKwkJaWYgKChJU19VTlJFU0VSVkVEKCoocCkpKSB8fCAoSVNfUkVTRVJWRUQoKihwKSkpKQorCQkgICAgcmV0W2xlbisrXSA9ICpwKys7CisJCWVsc2UgeworCQkgICAgaW50IHZhbCA9ICoodW5zaWduZWQgY2hhciAqKXArKzsKKwkJICAgIGludCBoaSA9IHZhbCAvIDB4MTAsIGxvID0gdmFsICUgMHgxMDsKKwkJICAgIHJldFtsZW4rK10gPSAnJSc7CisJCSAgICByZXRbbGVuKytdID0gaGkgKyAoaGkgPiA5PyAnQSctMTAgOiAnMCcpOworCQkgICAgcmV0W2xlbisrXSA9IGxvICsgKGxvID4gOT8gJ0EnLTEwIDogJzAnKTsKKwkJfQorCSAgICB9CisJfQorICAgIH0KKyAgICBpZiAodXJpLT5mcmFnbWVudCAhPSBOVUxMKSB7CisJaWYgKGxlbiArIDMgPj0gbWF4KSB7CisgICAgICAgICAgICB0ZW1wID0geG1sU2F2ZVVyaVJlYWxsb2MocmV0LCAmbWF4KTsKKyAgICAgICAgICAgIGlmICh0ZW1wID09IE5VTEwpIGdvdG8gbWVtX2Vycm9yOworICAgICAgICAgICAgcmV0ID0gdGVtcDsKKwl9CisJcmV0W2xlbisrXSA9ICcjJzsKKwlwID0gdXJpLT5mcmFnbWVudDsKKwl3aGlsZSAoKnAgIT0gMCkgeworCSAgICBpZiAobGVuICsgMyA+PSBtYXgpIHsKKyAgICAgICAgICAgICAgICB0ZW1wID0geG1sU2F2ZVVyaVJlYWxsb2MocmV0LCAmbWF4KTsKKyAgICAgICAgICAgICAgICBpZiAodGVtcCA9PSBOVUxMKSBnb3RvIG1lbV9lcnJvcjsKKyAgICAgICAgICAgICAgICByZXQgPSB0ZW1wOworCSAgICB9CisJICAgIGlmICgoSVNfVU5SRVNFUlZFRCgqKHApKSkgfHwgKElTX1JFU0VSVkVEKCoocCkpKSkKKwkJcmV0W2xlbisrXSA9ICpwKys7CisJICAgIGVsc2UgeworCQlpbnQgdmFsID0gKih1bnNpZ25lZCBjaGFyICopcCsrOworCQlpbnQgaGkgPSB2YWwgLyAweDEwLCBsbyA9IHZhbCAlIDB4MTA7CisJCXJldFtsZW4rK10gPSAnJSc7CisJCXJldFtsZW4rK10gPSBoaSArIChoaSA+IDk/ICdBJy0xMCA6ICcwJyk7CisJCXJldFtsZW4rK10gPSBsbyArIChsbyA+IDk/ICdBJy0xMCA6ICcwJyk7CisJICAgIH0KKwl9CisgICAgfQorICAgIGlmIChsZW4gPj0gbWF4KSB7CisgICAgICAgIHRlbXAgPSB4bWxTYXZlVXJpUmVhbGxvYyhyZXQsICZtYXgpOworICAgICAgICBpZiAodGVtcCA9PSBOVUxMKSBnb3RvIG1lbV9lcnJvcjsKKyAgICAgICAgcmV0ID0gdGVtcDsKKyAgICB9CisgICAgcmV0W2xlbl0gPSAwOworICAgIHJldHVybihyZXQpOworCittZW1fZXJyb3I6CisgICAgeG1sRnJlZShyZXQpOworICAgIHJldHVybihOVUxMKTsKK30KKworLyoqCisgKiB4bWxQcmludFVSSToKKyAqIEBzdHJlYW06ICBhIEZJTEUqIGZvciB0aGUgb3V0cHV0CisgKiBAdXJpOiAgcG9pbnRlciB0byBhbiB4bWxVUkkKKyAqCisgKiBQcmludHMgdGhlIFVSSSBpbiB0aGUgc3RyZWFtIEBzdHJlYW0uCisgKi8KK3ZvaWQKK3htbFByaW50VVJJKEZJTEUgKnN0cmVhbSwgeG1sVVJJUHRyIHVyaSkgeworICAgIHhtbENoYXIgKm91dDsKKworICAgIG91dCA9IHhtbFNhdmVVcmkodXJpKTsKKyAgICBpZiAob3V0ICE9IE5VTEwpIHsKKwlmcHJpbnRmKHN0cmVhbSwgIiVzIiwgKGNoYXIgKikgb3V0KTsKKwl4bWxGcmVlKG91dCk7CisgICAgfQorfQorCisvKioKKyAqIHhtbENsZWFuVVJJOgorICogQHVyaTogIHBvaW50ZXIgdG8gYW4geG1sVVJJCisgKgorICogTWFrZSBzdXJlIHRoZSB4bWxVUkkgc3RydWN0IGlzIGZyZWUgb2YgY29udGVudAorICovCitzdGF0aWMgdm9pZAoreG1sQ2xlYW5VUkkoeG1sVVJJUHRyIHVyaSkgeworICAgIGlmICh1cmkgPT0gTlVMTCkgcmV0dXJuOworCisgICAgaWYgKHVyaS0+c2NoZW1lICE9IE5VTEwpIHhtbEZyZWUodXJpLT5zY2hlbWUpOworICAgIHVyaS0+c2NoZW1lID0gTlVMTDsKKyAgICBpZiAodXJpLT5zZXJ2ZXIgIT0gTlVMTCkgeG1sRnJlZSh1cmktPnNlcnZlcik7CisgICAgdXJpLT5zZXJ2ZXIgPSBOVUxMOworICAgIGlmICh1cmktPnVzZXIgIT0gTlVMTCkgeG1sRnJlZSh1cmktPnVzZXIpOworICAgIHVyaS0+dXNlciA9IE5VTEw7CisgICAgaWYgKHVyaS0+cGF0aCAhPSBOVUxMKSB4bWxGcmVlKHVyaS0+cGF0aCk7CisgICAgdXJpLT5wYXRoID0gTlVMTDsKKyAgICBpZiAodXJpLT5mcmFnbWVudCAhPSBOVUxMKSB4bWxGcmVlKHVyaS0+ZnJhZ21lbnQpOworICAgIHVyaS0+ZnJhZ21lbnQgPSBOVUxMOworICAgIGlmICh1cmktPm9wYXF1ZSAhPSBOVUxMKSB4bWxGcmVlKHVyaS0+b3BhcXVlKTsKKyAgICB1cmktPm9wYXF1ZSA9IE5VTEw7CisgICAgaWYgKHVyaS0+YXV0aG9yaXR5ICE9IE5VTEwpIHhtbEZyZWUodXJpLT5hdXRob3JpdHkpOworICAgIHVyaS0+YXV0aG9yaXR5ID0gTlVMTDsKKyAgICBpZiAodXJpLT5xdWVyeSAhPSBOVUxMKSB4bWxGcmVlKHVyaS0+cXVlcnkpOworICAgIHVyaS0+cXVlcnkgPSBOVUxMOworICAgIGlmICh1cmktPnF1ZXJ5X3JhdyAhPSBOVUxMKSB4bWxGcmVlKHVyaS0+cXVlcnlfcmF3KTsKKyAgICB1cmktPnF1ZXJ5X3JhdyA9IE5VTEw7Cit9CisKKy8qKgorICogeG1sRnJlZVVSSToKKyAqIEB1cmk6ICBwb2ludGVyIHRvIGFuIHhtbFVSSQorICoKKyAqIEZyZWUgdXAgdGhlIHhtbFVSSSBzdHJ1Y3QKKyAqLwordm9pZAoreG1sRnJlZVVSSSh4bWxVUklQdHIgdXJpKSB7CisgICAgaWYgKHVyaSA9PSBOVUxMKSByZXR1cm47CisKKyAgICBpZiAodXJpLT5zY2hlbWUgIT0gTlVMTCkgeG1sRnJlZSh1cmktPnNjaGVtZSk7CisgICAgaWYgKHVyaS0+c2VydmVyICE9IE5VTEwpIHhtbEZyZWUodXJpLT5zZXJ2ZXIpOworICAgIGlmICh1cmktPnVzZXIgIT0gTlVMTCkgeG1sRnJlZSh1cmktPnVzZXIpOworICAgIGlmICh1cmktPnBhdGggIT0gTlVMTCkgeG1sRnJlZSh1cmktPnBhdGgpOworICAgIGlmICh1cmktPmZyYWdtZW50ICE9IE5VTEwpIHhtbEZyZWUodXJpLT5mcmFnbWVudCk7CisgICAgaWYgKHVyaS0+b3BhcXVlICE9IE5VTEwpIHhtbEZyZWUodXJpLT5vcGFxdWUpOworICAgIGlmICh1cmktPmF1dGhvcml0eSAhPSBOVUxMKSB4bWxGcmVlKHVyaS0+YXV0aG9yaXR5KTsKKyAgICBpZiAodXJpLT5xdWVyeSAhPSBOVUxMKSB4bWxGcmVlKHVyaS0+cXVlcnkpOworICAgIGlmICh1cmktPnF1ZXJ5X3JhdyAhPSBOVUxMKSB4bWxGcmVlKHVyaS0+cXVlcnlfcmF3KTsKKyAgICB4bWxGcmVlKHVyaSk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCQlIZWxwZXIgZnVuY3Rpb25zCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqCisgKiB4bWxOb3JtYWxpemVVUklQYXRoOgorICogQHBhdGg6ICBwb2ludGVyIHRvIHRoZSBwYXRoIHN0cmluZworICoKKyAqIEFwcGxpZXMgdGhlIDUgbm9ybWFsaXphdGlvbiBzdGVwcyB0byBhIHBhdGggc3RyaW5nLS10aGF0IGlzLCBSRkMgMjM5NgorICogU2VjdGlvbiA1LjIsIHN0ZXBzIDYuYyB0aHJvdWdoIDYuZy4KKyAqCisgKiBOb3JtYWxpemF0aW9uIG9jY3VycyBkaXJlY3RseSBvbiB0aGUgc3RyaW5nLCBubyBuZXcgYWxsb2NhdGlvbiBpcyBkb25lCisgKgorICogUmV0dXJucyAwIG9yIGFuIGVycm9yIGNvZGUKKyAqLworaW50Cit4bWxOb3JtYWxpemVVUklQYXRoKGNoYXIgKnBhdGgpIHsKKyAgICBjaGFyICpjdXIsICpvdXQ7CisKKyAgICBpZiAocGF0aCA9PSBOVUxMKQorCXJldHVybigtMSk7CisKKyAgICAvKiBTa2lwIGFsbCBpbml0aWFsICIvIiBjaGFycy4gIFdlIHdhbnQgdG8gZ2V0IHRvIHRoZSBiZWdpbm5pbmcgb2YgdGhlCisgICAgICogZmlyc3Qgbm9uLWVtcHR5IHNlZ21lbnQuCisgICAgICovCisgICAgY3VyID0gcGF0aDsKKyAgICB3aGlsZSAoY3VyWzBdID09ICcvJykKKyAgICAgICsrY3VyOworICAgIGlmIChjdXJbMF0gPT0gJ1wwJykKKyAgICAgIHJldHVybigwKTsKKworICAgIC8qIEtlZXAgZXZlcnl0aGluZyB3ZSd2ZSBzZWVuIHNvIGZhci4gICovCisgICAgb3V0ID0gY3VyOworCisgICAgLyoKKyAgICAgKiBBbmFseXplIGVhY2ggc2VnbWVudCBpbiBzZXF1ZW5jZSBmb3IgY2FzZXMgKGMpIGFuZCAoZCkuCisgICAgICovCisgICAgd2hpbGUgKGN1clswXSAhPSAnXDAnKSB7CisJLyoKKwkgKiBjKSBBbGwgb2NjdXJyZW5jZXMgb2YgIi4vIiwgd2hlcmUgIi4iIGlzIGEgY29tcGxldGUgcGF0aCBzZWdtZW50LAorCSAqICAgIGFyZSByZW1vdmVkIGZyb20gdGhlIGJ1ZmZlciBzdHJpbmcuCisJICovCisJaWYgKChjdXJbMF0gPT0gJy4nKSAmJiAoY3VyWzFdID09ICcvJykpIHsKKwkgICAgY3VyICs9IDI7CisJICAgIC8qICcvLycgbm9ybWFsaXphdGlvbiBzaG91bGQgYmUgZG9uZSBhdCB0aGlzIHBvaW50IHRvbyAqLworCSAgICB3aGlsZSAoY3VyWzBdID09ICcvJykKKwkJY3VyKys7CisJICAgIGNvbnRpbnVlOworCX0KKworCS8qCisJICogZCkgSWYgdGhlIGJ1ZmZlciBzdHJpbmcgZW5kcyB3aXRoICIuIiBhcyBhIGNvbXBsZXRlIHBhdGggc2VnbWVudCwKKwkgKiAgICB0aGF0ICIuIiBpcyByZW1vdmVkLgorCSAqLworCWlmICgoY3VyWzBdID09ICcuJykgJiYgKGN1clsxXSA9PSAnXDAnKSkKKwkgICAgYnJlYWs7CisKKwkvKiBPdGhlcndpc2Uga2VlcCB0aGUgc2VnbWVudC4gICovCisJd2hpbGUgKGN1clswXSAhPSAnLycpIHsKKyAgICAgICAgICAgIGlmIChjdXJbMF0gPT0gJ1wwJykKKyAgICAgICAgICAgICAgZ290byBkb25lX2NkOworCSAgICAob3V0KyspWzBdID0gKGN1cisrKVswXTsKKwl9CisJLyogbm9tYWxpemUgLy8gKi8KKwl3aGlsZSAoKGN1clswXSA9PSAnLycpICYmIChjdXJbMV0gPT0gJy8nKSkKKwkgICAgY3VyKys7CisKKyAgICAgICAgKG91dCsrKVswXSA9IChjdXIrKylbMF07CisgICAgfQorIGRvbmVfY2Q6CisgICAgb3V0WzBdID0gJ1wwJzsKKworICAgIC8qIFJlc2V0IHRvIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGZpcnN0IHNlZ21lbnQgZm9yIHRoZSBuZXh0IHNlcXVlbmNlLiAgKi8KKyAgICBjdXIgPSBwYXRoOworICAgIHdoaWxlIChjdXJbMF0gPT0gJy8nKQorICAgICAgKytjdXI7CisgICAgaWYgKGN1clswXSA9PSAnXDAnKQorCXJldHVybigwKTsKKworICAgIC8qCisgICAgICogQW5hbHl6ZSBlYWNoIHNlZ21lbnQgaW4gc2VxdWVuY2UgZm9yIGNhc2VzIChlKSBhbmQgKGYpLgorICAgICAqCisgICAgICogZSkgQWxsIG9jY3VycmVuY2VzIG9mICI8c2VnbWVudD4vLi4vIiwgd2hlcmUgPHNlZ21lbnQ+IGlzIGEKKyAgICAgKiAgICBjb21wbGV0ZSBwYXRoIHNlZ21lbnQgbm90IGVxdWFsIHRvICIuLiIsIGFyZSByZW1vdmVkIGZyb20gdGhlCisgICAgICogICAgYnVmZmVyIHN0cmluZy4gIFJlbW92YWwgb2YgdGhlc2UgcGF0aCBzZWdtZW50cyBpcyBwZXJmb3JtZWQKKyAgICAgKiAgICBpdGVyYXRpdmVseSwgcmVtb3ZpbmcgdGhlIGxlZnRtb3N0IG1hdGNoaW5nIHBhdHRlcm4gb24gZWFjaAorICAgICAqICAgIGl0ZXJhdGlvbiwgdW50aWwgbm8gbWF0Y2hpbmcgcGF0dGVybiByZW1haW5zLgorICAgICAqCisgICAgICogZikgSWYgdGhlIGJ1ZmZlciBzdHJpbmcgZW5kcyB3aXRoICI8c2VnbWVudD4vLi4iLCB3aGVyZSA8c2VnbWVudD4KKyAgICAgKiAgICBpcyBhIGNvbXBsZXRlIHBhdGggc2VnbWVudCBub3QgZXF1YWwgdG8gIi4uIiwgdGhhdAorICAgICAqICAgICI8c2VnbWVudD4vLi4iIGlzIHJlbW92ZWQuCisgICAgICoKKyAgICAgKiBUbyBzYXRpc2Z5IHRoZSAiaXRlcmF0aXZlIiBjbGF1c2UgaW4gKGUpLCB3ZSBuZWVkIHRvIGNvbGxhcHNlIHRoZQorICAgICAqIHN0cmluZyBldmVyeSB0aW1lIHdlIGZpbmQgc29tZXRoaW5nIHRoYXQgbmVlZHMgdG8gYmUgcmVtb3ZlZC4gIFRodXMsCisgICAgICogd2UgZG9uJ3QgbmVlZCB0byBrZWVwIHR3byBwb2ludGVycyBpbnRvIHRoZSBzdHJpbmc6IHdlIG9ubHkgbmVlZCBhCisgICAgICogImN1cnJlbnQgcG9zaXRpb24iIHBvaW50ZXIuCisgICAgICovCisgICAgd2hpbGUgKDEpIHsKKyAgICAgICAgY2hhciAqc2VncCwgKnRtcDsKKworICAgICAgICAvKiBBdCB0aGUgYmVnaW5uaW5nIG9mIGVhY2ggaXRlcmF0aW9uIG9mIHRoaXMgbG9vcCwgImN1ciIgcG9pbnRzIHRvCisgICAgICAgICAqIHRoZSBmaXJzdCBjaGFyYWN0ZXIgb2YgdGhlIHNlZ21lbnQgd2Ugd2FudCB0byBleGFtaW5lLgorICAgICAgICAgKi8KKworICAgICAgICAvKiBGaW5kIHRoZSBlbmQgb2YgdGhlIGN1cnJlbnQgc2VnbWVudC4gICovCisgICAgICAgIHNlZ3AgPSBjdXI7CisgICAgICAgIHdoaWxlICgoc2VncFswXSAhPSAnLycpICYmIChzZWdwWzBdICE9ICdcMCcpKQorICAgICAgICAgICsrc2VncDsKKworICAgICAgICAvKiBJZiB0aGlzIGlzIHRoZSBsYXN0IHNlZ21lbnQsIHdlJ3JlIGRvbmUgKHdlIG5lZWQgYXQgbGVhc3QgdHdvCisgICAgICAgICAqIHNlZ21lbnRzIHRvIG1lZXQgdGhlIGNyaXRlcmlhIGZvciB0aGUgKGUpIGFuZCAoZikgY2FzZXMpLgorICAgICAgICAgKi8KKyAgICAgICAgaWYgKHNlZ3BbMF0gPT0gJ1wwJykKKyAgICAgICAgICBicmVhazsKKworICAgICAgICAvKiBJZiB0aGUgZmlyc3Qgc2VnbWVudCBpcyAiLi4iLCBvciBpZiB0aGUgbmV4dCBzZWdtZW50IF9pc24ndF8gIi4uIiwKKyAgICAgICAgICoga2VlcCB0aGlzIHNlZ21lbnQgYW5kIHRyeSB0aGUgbmV4dCBvbmUuCisgICAgICAgICAqLworICAgICAgICArK3NlZ3A7CisgICAgICAgIGlmICgoKGN1clswXSA9PSAnLicpICYmIChjdXJbMV0gPT0gJy4nKSAmJiAoc2VncCA9PSBjdXIrMykpCisgICAgICAgICAgICB8fCAoKHNlZ3BbMF0gIT0gJy4nKSB8fCAoc2VncFsxXSAhPSAnLicpCisgICAgICAgICAgICAgICAgfHwgKChzZWdwWzJdICE9ICcvJykgJiYgKHNlZ3BbMl0gIT0gJ1wwJykpKSkgeworICAgICAgICAgIGN1ciA9IHNlZ3A7CisgICAgICAgICAgY29udGludWU7CisgICAgICAgIH0KKworICAgICAgICAvKiBJZiB3ZSBnZXQgaGVyZSwgcmVtb3ZlIHRoaXMgc2VnbWVudCBhbmQgdGhlIG5leHQgb25lIGFuZCBiYWNrIHVwCisgICAgICAgICAqIHRvIHRoZSBwcmV2aW91cyBzZWdtZW50IChpZiB0aGVyZSBpcyBvbmUpLCB0byBpbXBsZW1lbnQgdGhlCisgICAgICAgICAqICJpdGVyYXRpdmVseSIgY2xhdXNlLiAgSXQncyBwcmV0dHkgbXVjaCBpbXBvc3NpYmxlIHRvIGJhY2sgdXAKKyAgICAgICAgICogd2hpbGUgbWFpbnRhaW5pbmcgdHdvIHBvaW50ZXJzIGludG8gdGhlIGJ1ZmZlciwgc28ganVzdCBjb21wYWN0CisgICAgICAgICAqIHRoZSB3aG9sZSBidWZmZXIgbm93LgorICAgICAgICAgKi8KKworICAgICAgICAvKiBJZiB0aGlzIGlzIHRoZSBlbmQgb2YgdGhlIGJ1ZmZlciwgd2UncmUgZG9uZS4gICovCisgICAgICAgIGlmIChzZWdwWzJdID09ICdcMCcpIHsKKyAgICAgICAgICBjdXJbMF0gPSAnXDAnOworICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgICAgIC8qIFZhbGdyaW5kIGNvbXBsYWluZWQsIHN0cmNweShjdXIsIHNlZ3AgKyAzKTsgKi8KKyAgICAgICAgLyogc3RyaW5nIHdpbGwgb3ZlcmxhcCwgZG8gbm90IHVzZSBzdHJjcHkgKi8KKyAgICAgICAgdG1wID0gY3VyOworICAgICAgICBzZWdwICs9IDM7CisgICAgICAgIHdoaWxlICgoKnRtcCsrID0gKnNlZ3ArKykgIT0gMCkKKyAgICAgICAgICA7CisKKyAgICAgICAgLyogSWYgdGhlcmUgYXJlIG5vIHByZXZpb3VzIHNlZ21lbnRzLCB0aGVuIGtlZXAgZ29pbmcgZnJvbSBoZXJlLiAgKi8KKyAgICAgICAgc2VncCA9IGN1cjsKKyAgICAgICAgd2hpbGUgKChzZWdwID4gcGF0aCkgJiYgKCgtLXNlZ3ApWzBdID09ICcvJykpCisgICAgICAgICAgOworICAgICAgICBpZiAoc2VncCA9PSBwYXRoKQorICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgIC8qICJzZWdwIiBpcyBwb2ludGluZyB0byB0aGUgZW5kIG9mIGEgcHJldmlvdXMgc2VnbWVudDsgZmluZCBpdCdzCisgICAgICAgICAqIHN0YXJ0LiAgV2UgbmVlZCB0byBiYWNrIHVwIHRvIHRoZSBwcmV2aW91cyBzZWdtZW50IGFuZCBzdGFydAorICAgICAgICAgKiBvdmVyIHdpdGggdGhhdCB0byBoYW5kbGUgdGhpbmdzIGxpa2UgImZvby9iYXIvLi4vLi4iLiAgSWYgd2UKKyAgICAgICAgICogZG9uJ3QgZG8gdGhpcywgdGhlbiBvbiB0aGUgZmlyc3QgcGFzcyB3ZSdsbCByZW1vdmUgdGhlICJiYXIvLi4iLAorICAgICAgICAgKiBidXQgYmUgcG9pbnRpbmcgYXQgdGhlIHNlY29uZCAiLi4iIHNvIHdlIHdvbid0IHJlYWxpemUgd2UgY2FuIGFsc28KKyAgICAgICAgICogcmVtb3ZlIHRoZSAiZm9vLy4uIi4KKyAgICAgICAgICovCisgICAgICAgIGN1ciA9IHNlZ3A7CisgICAgICAgIHdoaWxlICgoY3VyID4gcGF0aCkgJiYgKGN1clstMV0gIT0gJy8nKSkKKyAgICAgICAgICAtLWN1cjsKKyAgICB9CisgICAgb3V0WzBdID0gJ1wwJzsKKworICAgIC8qCisgICAgICogZykgSWYgdGhlIHJlc3VsdGluZyBidWZmZXIgc3RyaW5nIHN0aWxsIGJlZ2lucyB3aXRoIG9uZSBvciBtb3JlCisgICAgICogICAgY29tcGxldGUgcGF0aCBzZWdtZW50cyBvZiAiLi4iLCB0aGVuIHRoZSByZWZlcmVuY2UgaXMKKyAgICAgKiAgICBjb25zaWRlcmVkIHRvIGJlIGluIGVycm9yLiBJbXBsZW1lbnRhdGlvbnMgbWF5IGhhbmRsZSB0aGlzCisgICAgICogICAgZXJyb3IgYnkgcmV0YWluaW5nIHRoZXNlIGNvbXBvbmVudHMgaW4gdGhlIHJlc29sdmVkIHBhdGggKGkuZS4sCisgICAgICogICAgdHJlYXRpbmcgdGhlbSBhcyBwYXJ0IG9mIHRoZSBmaW5hbCBVUkkpLCBieSByZW1vdmluZyB0aGVtIGZyb20KKyAgICAgKiAgICB0aGUgcmVzb2x2ZWQgcGF0aCAoaS5lLiwgZGlzY2FyZGluZyByZWxhdGl2ZSBsZXZlbHMgYWJvdmUgdGhlCisgICAgICogICAgcm9vdCksIG9yIGJ5IGF2b2lkaW5nIHRyYXZlcnNhbCBvZiB0aGUgcmVmZXJlbmNlLgorICAgICAqCisgICAgICogV2UgZGlzY2FyZCB0aGVtIGZyb20gdGhlIGZpbmFsIHBhdGguCisgICAgICovCisgICAgaWYgKHBhdGhbMF0gPT0gJy8nKSB7CisgICAgICBjdXIgPSBwYXRoOworICAgICAgd2hpbGUgKChjdXJbMF0gPT0gJy8nKSAmJiAoY3VyWzFdID09ICcuJykgJiYgKGN1clsyXSA9PSAnLicpCisgICAgICAgICAgICAgJiYgKChjdXJbM10gPT0gJy8nKSB8fCAoY3VyWzNdID09ICdcMCcpKSkKKwljdXIgKz0gMzsKKworICAgICAgaWYgKGN1ciAhPSBwYXRoKSB7CisJb3V0ID0gcGF0aDsKKwl3aGlsZSAoY3VyWzBdICE9ICdcMCcpCisgICAgICAgICAgKG91dCsrKVswXSA9IChjdXIrKylbMF07CisJb3V0WzBdID0gMDsKKyAgICAgIH0KKyAgICB9CisKKyAgICByZXR1cm4oMCk7Cit9CisKK3N0YXRpYyBpbnQgaXNfaGV4KGNoYXIgYykgeworICAgIGlmICgoKGMgPj0gJzAnKSAmJiAoYyA8PSAnOScpKSB8fAorICAgICAgICAoKGMgPj0gJ2EnKSAmJiAoYyA8PSAnZicpKSB8fAorICAgICAgICAoKGMgPj0gJ0EnKSAmJiAoYyA8PSAnRicpKSkKKwlyZXR1cm4oMSk7CisgICAgcmV0dXJuKDApOworfQorCisvKioKKyAqIHhtbFVSSVVuZXNjYXBlU3RyaW5nOgorICogQHN0cjogIHRoZSBzdHJpbmcgdG8gdW5lc2NhcGUKKyAqIEBsZW46ICAgdGhlIGxlbmd0aCBpbiBieXRlcyB0byB1bmVzY2FwZSAob3IgPD0gMCB0byBpbmRpY2F0ZSBmdWxsIHN0cmluZykKKyAqIEB0YXJnZXQ6ICBvcHRpb25hbCBkZXN0aW5hdGlvbiBidWZmZXIKKyAqCisgKiBVbmVzY2FwaW5nIHJvdXRpbmUsIGJ1dCBkb2VzIG5vdCBjaGVjayB0aGF0IHRoZSBzdHJpbmcgaXMgYW4gVVJJLiBUaGUKKyAqIG91dHB1dCBpcyBhIGRpcmVjdCB1bnNpZ25lZCBjaGFyIHRyYW5zbGF0aW9uIG9mICVYWCB2YWx1ZXMgKG5vIGVuY29kaW5nKQorICogTm90ZSB0aGF0IHRoZSBsZW5ndGggb2YgdGhlIHJlc3VsdCBjYW4gb25seSBiZSBzbWFsbGVyIG9yIHNhbWUgc2l6ZSBhcworICogdGhlIGlucHV0IHN0cmluZy4KKyAqCisgKiBSZXR1cm5zIGEgY29weSBvZiB0aGUgc3RyaW5nLCBidXQgdW5lc2NhcGVkLCB3aWxsIHJldHVybiBOVUxMIG9ubHkgaW4gY2FzZQorICogb2YgZXJyb3IKKyAqLworY2hhciAqCit4bWxVUklVbmVzY2FwZVN0cmluZyhjb25zdCBjaGFyICpzdHIsIGludCBsZW4sIGNoYXIgKnRhcmdldCkgeworICAgIGNoYXIgKnJldCwgKm91dDsKKyAgICBjb25zdCBjaGFyICppbjsKKworICAgIGlmIChzdHIgPT0gTlVMTCkKKwlyZXR1cm4oTlVMTCk7CisgICAgaWYgKGxlbiA8PSAwKSBsZW4gPSBzdHJsZW4oc3RyKTsKKyAgICBpZiAobGVuIDwgMCkgcmV0dXJuKE5VTEwpOworCisgICAgaWYgKHRhcmdldCA9PSBOVUxMKSB7CisJcmV0ID0gKGNoYXIgKikgeG1sTWFsbG9jQXRvbWljKGxlbiArIDEpOworCWlmIChyZXQgPT0gTlVMTCkgeworICAgICAgICAgICAgeG1sVVJJRXJyTWVtb3J5KCJ1bmVzY2FwaW5nIFVSSSB2YWx1ZVxuIik7CisJICAgIHJldHVybihOVUxMKTsKKwl9CisgICAgfSBlbHNlCisJcmV0ID0gdGFyZ2V0OworICAgIGluID0gc3RyOworICAgIG91dCA9IHJldDsKKyAgICB3aGlsZShsZW4gPiAwKSB7CisJaWYgKChsZW4gPiAyKSAmJiAoKmluID09ICclJykgJiYgKGlzX2hleChpblsxXSkpICYmIChpc19oZXgoaW5bMl0pKSkgeworCSAgICBpbisrOworCSAgICBpZiAoKCppbiA+PSAnMCcpICYmICgqaW4gPD0gJzknKSkKKwkgICAgICAgICpvdXQgPSAoKmluIC0gJzAnKTsKKwkgICAgZWxzZSBpZiAoKCppbiA+PSAnYScpICYmICgqaW4gPD0gJ2YnKSkKKwkgICAgICAgICpvdXQgPSAoKmluIC0gJ2EnKSArIDEwOworCSAgICBlbHNlIGlmICgoKmluID49ICdBJykgJiYgKCppbiA8PSAnRicpKQorCSAgICAgICAgKm91dCA9ICgqaW4gLSAnQScpICsgMTA7CisJICAgIGluKys7CisJICAgIGlmICgoKmluID49ICcwJykgJiYgKCppbiA8PSAnOScpKQorCSAgICAgICAgKm91dCA9ICpvdXQgKiAxNiArICgqaW4gLSAnMCcpOworCSAgICBlbHNlIGlmICgoKmluID49ICdhJykgJiYgKCppbiA8PSAnZicpKQorCSAgICAgICAgKm91dCA9ICpvdXQgKiAxNiArICgqaW4gLSAnYScpICsgMTA7CisJICAgIGVsc2UgaWYgKCgqaW4gPj0gJ0EnKSAmJiAoKmluIDw9ICdGJykpCisJICAgICAgICAqb3V0ID0gKm91dCAqIDE2ICsgKCppbiAtICdBJykgKyAxMDsKKwkgICAgaW4rKzsKKwkgICAgbGVuIC09IDM7CisJICAgIG91dCsrOworCX0gZWxzZSB7CisJICAgICpvdXQrKyA9ICppbisrOworCSAgICBsZW4tLTsKKwl9CisgICAgfQorICAgICpvdXQgPSAwOworICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbFVSSUVzY2FwZVN0cjoKKyAqIEBzdHI6ICBzdHJpbmcgdG8gZXNjYXBlCisgKiBAbGlzdDogZXhjZXB0aW9uIGxpc3Qgc3RyaW5nIG9mIGNoYXJzIG5vdCB0byBlc2NhcGUKKyAqCisgKiBUaGlzIHJvdXRpbmUgZXNjYXBlcyBhIHN0cmluZyB0byBoZXgsIGlnbm9yaW5nIHJlc2VydmVkIGNoYXJhY3RlcnMgKGEteikKKyAqIGFuZCB0aGUgY2hhcmFjdGVycyBpbiB0aGUgZXhjZXB0aW9uIGxpc3QuCisgKgorICogUmV0dXJucyBhIG5ldyBlc2NhcGVkIHN0cmluZyBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK3htbENoYXIgKgoreG1sVVJJRXNjYXBlU3RyKGNvbnN0IHhtbENoYXIgKnN0ciwgY29uc3QgeG1sQ2hhciAqbGlzdCkgeworICAgIHhtbENoYXIgKnJldCwgY2g7CisgICAgeG1sQ2hhciAqdGVtcDsKKyAgICBjb25zdCB4bWxDaGFyICppbjsKKyAgICBpbnQgbGVuLCBvdXQ7CisKKyAgICBpZiAoc3RyID09IE5VTEwpCisJcmV0dXJuKE5VTEwpOworICAgIGlmIChzdHJbMF0gPT0gMCkKKwlyZXR1cm4oeG1sU3RyZHVwKHN0cikpOworICAgIGxlbiA9IHhtbFN0cmxlbihzdHIpOworICAgIGlmICghKGxlbiA+IDApKSByZXR1cm4oTlVMTCk7CisKKyAgICBsZW4gKz0gMjA7CisgICAgcmV0ID0gKHhtbENoYXIgKikgeG1sTWFsbG9jQXRvbWljKGxlbik7CisgICAgaWYgKHJldCA9PSBOVUxMKSB7CisgICAgICAgIHhtbFVSSUVyck1lbW9yeSgiZXNjYXBpbmcgVVJJIHZhbHVlXG4iKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIGluID0gKGNvbnN0IHhtbENoYXIgKikgc3RyOworICAgIG91dCA9IDA7CisgICAgd2hpbGUoKmluICE9IDApIHsKKwlpZiAobGVuIC0gb3V0IDw9IDMpIHsKKyAgICAgICAgICAgIHRlbXAgPSB4bWxTYXZlVXJpUmVhbGxvYyhyZXQsICZsZW4pOworCSAgICBpZiAodGVtcCA9PSBOVUxMKSB7CisgICAgICAgICAgICAgICAgeG1sVVJJRXJyTWVtb3J5KCJlc2NhcGluZyBVUkkgdmFsdWVcbiIpOworCQl4bWxGcmVlKHJldCk7CisJCXJldHVybihOVUxMKTsKKwkgICAgfQorCSAgICByZXQgPSB0ZW1wOworCX0KKworCWNoID0gKmluOworCisJaWYgKChjaCAhPSAnQCcpICYmICghSVNfVU5SRVNFUlZFRChjaCkpICYmICgheG1sU3RyY2hyKGxpc3QsIGNoKSkpIHsKKwkgICAgdW5zaWduZWQgY2hhciB2YWw7CisJICAgIHJldFtvdXQrK10gPSAnJSc7CisJICAgIHZhbCA9IGNoID4+IDQ7CisJICAgIGlmICh2YWwgPD0gOSkKKwkJcmV0W291dCsrXSA9ICcwJyArIHZhbDsKKwkgICAgZWxzZQorCQlyZXRbb3V0KytdID0gJ0EnICsgdmFsIC0gMHhBOworCSAgICB2YWwgPSBjaCAmIDB4RjsKKwkgICAgaWYgKHZhbCA8PSA5KQorCQlyZXRbb3V0KytdID0gJzAnICsgdmFsOworCSAgICBlbHNlCisJCXJldFtvdXQrK10gPSAnQScgKyB2YWwgLSAweEE7CisJICAgIGluKys7CisJfSBlbHNlIHsKKwkgICAgcmV0W291dCsrXSA9ICppbisrOworCX0KKworICAgIH0KKyAgICByZXRbb3V0XSA9IDA7CisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogeG1sVVJJRXNjYXBlOgorICogQHN0cjogIHRoZSBzdHJpbmcgb2YgdGhlIFVSSSB0byBlc2NhcGUKKyAqCisgKiBFc2NhcGluZyByb3V0aW5lLCBkb2VzIG5vdCBkbyB2YWxpZGl0eSBjaGVja3MgIQorICogSXQgd2lsbCB0cnkgdG8gZXNjYXBlIHRoZSBjaGFycyBuZWVkaW5nIHRoaXMsIGJ1dCB0aGlzIGlzIGhldXJpc3RpYworICogYmFzZWQgaXQncyBpbXBvc3NpYmxlIHRvIGJlIHN1cmUuCisgKgorICogUmV0dXJucyBhbiBjb3B5IG9mIHRoZSBzdHJpbmcsIGJ1dCBlc2NhcGVkCisgKgorICogMjUgTWF5IDIwMDEKKyAqIFVzZXMgeG1sUGFyc2VVUkkgYW5kIHhtbFVSSUVzY2FwZVN0ciB0byB0cnkgdG8gZXNjYXBlIGNvcnJlY3RseQorICogYWNjb3JkaW5nIHRvIFJGQzIzOTYuCisgKiAgIC0gQ2FybCBEb3VnbGFzCisgKi8KK3htbENoYXIgKgoreG1sVVJJRXNjYXBlKGNvbnN0IHhtbENoYXIgKiBzdHIpCit7CisgICAgeG1sQ2hhciAqcmV0LCAqc2VnbWVudCA9IE5VTEw7CisgICAgeG1sVVJJUHRyIHVyaTsKKyAgICBpbnQgcmV0MjsKKworI2RlZmluZSBOVUxMQ0hLKHApIGlmKCFwKSB7IFwKKyAgICAgICAgIHhtbFVSSUVyck1lbW9yeSgiZXNjYXBpbmcgVVJJIHZhbHVlXG4iKTsgXAorICAgICAgICAgeG1sRnJlZVVSSSh1cmkpOyBcCisgICAgICAgICByZXR1cm4gTlVMTDsgfSBcCisKKyAgICBpZiAoc3RyID09IE5VTEwpCisgICAgICAgIHJldHVybiAoTlVMTCk7CisKKyAgICB1cmkgPSB4bWxDcmVhdGVVUkkoKTsKKyAgICBpZiAodXJpICE9IE5VTEwpIHsKKwkvKgorCSAqIEFsbG93IGVzY2FwaW5nIGVycm9ycyBpbiB0aGUgdW5lc2NhcGVkIGZvcm0KKwkgKi8KKyAgICAgICAgdXJpLT5jbGVhbnVwID0gMTsKKyAgICAgICAgcmV0MiA9IHhtbFBhcnNlVVJJUmVmZXJlbmNlKHVyaSwgKGNvbnN0IGNoYXIgKilzdHIpOworICAgICAgICBpZiAocmV0MikgeworICAgICAgICAgICAgeG1sRnJlZVVSSSh1cmkpOworICAgICAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIGlmICghdXJpKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIHJldCA9IE5VTEw7CisKKyAgICBpZiAodXJpLT5zY2hlbWUpIHsKKyAgICAgICAgc2VnbWVudCA9IHhtbFVSSUVzY2FwZVN0cihCQURfQ0FTVCB1cmktPnNjaGVtZSwgQkFEX0NBU1QgIistLiIpOworICAgICAgICBOVUxMQ0hLKHNlZ21lbnQpCisgICAgICAgIHJldCA9IHhtbFN0cmNhdChyZXQsIHNlZ21lbnQpOworICAgICAgICByZXQgPSB4bWxTdHJjYXQocmV0LCBCQURfQ0FTVCAiOiIpOworICAgICAgICB4bWxGcmVlKHNlZ21lbnQpOworICAgIH0KKworICAgIGlmICh1cmktPmF1dGhvcml0eSkgeworICAgICAgICBzZWdtZW50ID0KKyAgICAgICAgICAgIHhtbFVSSUVzY2FwZVN0cihCQURfQ0FTVCB1cmktPmF1dGhvcml0eSwgQkFEX0NBU1QgIi8/OzpAIik7CisgICAgICAgIE5VTExDSEsoc2VnbWVudCkKKyAgICAgICAgcmV0ID0geG1sU3RyY2F0KHJldCwgQkFEX0NBU1QgIi8vIik7CisgICAgICAgIHJldCA9IHhtbFN0cmNhdChyZXQsIHNlZ21lbnQpOworICAgICAgICB4bWxGcmVlKHNlZ21lbnQpOworICAgIH0KKworICAgIGlmICh1cmktPnVzZXIpIHsKKyAgICAgICAgc2VnbWVudCA9IHhtbFVSSUVzY2FwZVN0cihCQURfQ0FTVCB1cmktPnVzZXIsIEJBRF9DQVNUICI7OiY9KyQsIik7CisgICAgICAgIE5VTExDSEsoc2VnbWVudCkKKwkJcmV0ID0geG1sU3RyY2F0KHJldCxCQURfQ0FTVCAiLy8iKTsKKyAgICAgICAgcmV0ID0geG1sU3RyY2F0KHJldCwgc2VnbWVudCk7CisgICAgICAgIHJldCA9IHhtbFN0cmNhdChyZXQsIEJBRF9DQVNUICJAIik7CisgICAgICAgIHhtbEZyZWUoc2VnbWVudCk7CisgICAgfQorCisgICAgaWYgKHVyaS0+c2VydmVyKSB7CisgICAgICAgIHNlZ21lbnQgPSB4bWxVUklFc2NhcGVTdHIoQkFEX0NBU1QgdXJpLT5zZXJ2ZXIsIEJBRF9DQVNUICIvPzs6QCIpOworICAgICAgICBOVUxMQ0hLKHNlZ21lbnQpCisJCWlmICh1cmktPnVzZXIgPT0gTlVMTCkKKwkJcmV0ID0geG1sU3RyY2F0KHJldCwgQkFEX0NBU1QgIi8vIik7CisgICAgICAgIHJldCA9IHhtbFN0cmNhdChyZXQsIHNlZ21lbnQpOworICAgICAgICB4bWxGcmVlKHNlZ21lbnQpOworICAgIH0KKworICAgIGlmICh1cmktPnBvcnQpIHsKKyAgICAgICAgeG1sQ2hhciBwb3J0WzEwXTsKKworICAgICAgICBzbnByaW50ZigoY2hhciAqKSBwb3J0LCAxMCwgIiVkIiwgdXJpLT5wb3J0KTsKKyAgICAgICAgcmV0ID0geG1sU3RyY2F0KHJldCwgQkFEX0NBU1QgIjoiKTsKKyAgICAgICAgcmV0ID0geG1sU3RyY2F0KHJldCwgcG9ydCk7CisgICAgfQorCisgICAgaWYgKHVyaS0+cGF0aCkgeworICAgICAgICBzZWdtZW50ID0KKyAgICAgICAgICAgIHhtbFVSSUVzY2FwZVN0cihCQURfQ0FTVCB1cmktPnBhdGgsIEJBRF9DQVNUICI6QCY9KyQsLz87Iik7CisgICAgICAgIE5VTExDSEsoc2VnbWVudCkKKyAgICAgICAgcmV0ID0geG1sU3RyY2F0KHJldCwgc2VnbWVudCk7CisgICAgICAgIHhtbEZyZWUoc2VnbWVudCk7CisgICAgfQorCisgICAgaWYgKHVyaS0+cXVlcnlfcmF3KSB7CisgICAgICAgIHJldCA9IHhtbFN0cmNhdChyZXQsIEJBRF9DQVNUICI/Iik7CisgICAgICAgIHJldCA9IHhtbFN0cmNhdChyZXQsIEJBRF9DQVNUIHVyaS0+cXVlcnlfcmF3KTsKKyAgICB9CisgICAgZWxzZSBpZiAodXJpLT5xdWVyeSkgeworICAgICAgICBzZWdtZW50ID0KKyAgICAgICAgICAgIHhtbFVSSUVzY2FwZVN0cihCQURfQ0FTVCB1cmktPnF1ZXJ5LCBCQURfQ0FTVCAiOy8/OkAmPSssJCIpOworICAgICAgICBOVUxMQ0hLKHNlZ21lbnQpCisgICAgICAgIHJldCA9IHhtbFN0cmNhdChyZXQsIEJBRF9DQVNUICI/Iik7CisgICAgICAgIHJldCA9IHhtbFN0cmNhdChyZXQsIHNlZ21lbnQpOworICAgICAgICB4bWxGcmVlKHNlZ21lbnQpOworICAgIH0KKworICAgIGlmICh1cmktPm9wYXF1ZSkgeworICAgICAgICBzZWdtZW50ID0geG1sVVJJRXNjYXBlU3RyKEJBRF9DQVNUIHVyaS0+b3BhcXVlLCBCQURfQ0FTVCAiIik7CisgICAgICAgIE5VTExDSEsoc2VnbWVudCkKKyAgICAgICAgcmV0ID0geG1sU3RyY2F0KHJldCwgc2VnbWVudCk7CisgICAgICAgIHhtbEZyZWUoc2VnbWVudCk7CisgICAgfQorCisgICAgaWYgKHVyaS0+ZnJhZ21lbnQpIHsKKyAgICAgICAgc2VnbWVudCA9IHhtbFVSSUVzY2FwZVN0cihCQURfQ0FTVCB1cmktPmZyYWdtZW50LCBCQURfQ0FTVCAiIyIpOworICAgICAgICBOVUxMQ0hLKHNlZ21lbnQpCisgICAgICAgIHJldCA9IHhtbFN0cmNhdChyZXQsIEJBRF9DQVNUICIjIik7CisgICAgICAgIHJldCA9IHhtbFN0cmNhdChyZXQsIHNlZ21lbnQpOworICAgICAgICB4bWxGcmVlKHNlZ21lbnQpOworICAgIH0KKworICAgIHhtbEZyZWVVUkkodXJpKTsKKyN1bmRlZiBOVUxMQ0hLCisKKyAgICByZXR1cm4gKHJldCk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCQlQdWJsaWMgZnVuY3Rpb25zCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqCisgKiB4bWxCdWlsZFVSSToKKyAqIEBVUkk6ICB0aGUgVVJJIGluc3RhbmNlIGZvdW5kIGluIHRoZSBkb2N1bWVudAorICogQGJhc2U6ICB0aGUgYmFzZSB2YWx1ZQorICoKKyAqIENvbXB1dGVzIGhlIGZpbmFsIFVSSSBvZiB0aGUgcmVmZXJlbmNlIGRvbmUgYnkgY2hlY2tpbmcgdGhhdAorICogdGhlIGdpdmVuIFVSSSBpcyB2YWxpZCwgYW5kIGJ1aWxkaW5nIHRoZSBmaW5hbCBVUkkgdXNpbmcgdGhlCisgKiBiYXNlIFVSSS4gVGhpcyBpcyBwcm9jZXNzZWQgYWNjb3JkaW5nIHRvIHNlY3Rpb24gNS4yIG9mIHRoZQorICogUkZDIDIzOTYKKyAqCisgKiA1LjIuIFJlc29sdmluZyBSZWxhdGl2ZSBSZWZlcmVuY2VzIHRvIEFic29sdXRlIEZvcm0KKyAqCisgKiBSZXR1cm5zIGEgbmV3IFVSSSBzdHJpbmcgKHRvIGJlIGZyZWVkIGJ5IHRoZSBjYWxsZXIpIG9yIE5VTEwgaW4gY2FzZQorICogICAgICAgICBvZiBlcnJvci4KKyAqLworeG1sQ2hhciAqCit4bWxCdWlsZFVSSShjb25zdCB4bWxDaGFyICpVUkksIGNvbnN0IHhtbENoYXIgKmJhc2UpIHsKKyAgICB4bWxDaGFyICp2YWwgPSBOVUxMOworICAgIGludCByZXQsIGxlbiwgaW5keCwgY3VyLCBvdXQ7CisgICAgeG1sVVJJUHRyIHJlZiA9IE5VTEw7CisgICAgeG1sVVJJUHRyIGJhcyA9IE5VTEw7CisgICAgeG1sVVJJUHRyIHJlcyA9IE5VTEw7CisKKyAgICAvKgorICAgICAqIDEpIFRoZSBVUkkgcmVmZXJlbmNlIGlzIHBhcnNlZCBpbnRvIHRoZSBwb3RlbnRpYWwgZm91ciBjb21wb25lbnRzIGFuZAorICAgICAqICAgIGZyYWdtZW50IGlkZW50aWZpZXIsIGFzIGRlc2NyaWJlZCBpbiBTZWN0aW9uIDQuMy4KKyAgICAgKgorICAgICAqICAgIE5PVEUgdGhhdCBhIGNvbXBsZXRlbHkgZW1wdHkgVVJJIGlzIHRyZWF0ZWQgYnkgbW9kZXJuIGJyb3dzZXJzCisgICAgICogICAgYXMgYSByZWZlcmVuY2UgdG8gIi4iIHJhdGhlciB0aGFuIGFzIGEgc3lub255bSBmb3IgdGhlIGN1cnJlbnQKKyAgICAgKiAgICBVUkkuICBTaG91bGQgd2UgZG8gdGhhdCBoZXJlPworICAgICAqLworICAgIGlmIChVUkkgPT0gTlVMTCkKKwlyZXQgPSAtMTsKKyAgICBlbHNlIHsKKwlpZiAoKlVSSSkgeworCSAgICByZWYgPSB4bWxDcmVhdGVVUkkoKTsKKwkgICAgaWYgKHJlZiA9PSBOVUxMKQorCQlnb3RvIGRvbmU7CisJICAgIHJldCA9IHhtbFBhcnNlVVJJUmVmZXJlbmNlKHJlZiwgKGNvbnN0IGNoYXIgKikgVVJJKTsKKwl9CisJZWxzZQorCSAgICByZXQgPSAwOworICAgIH0KKyAgICBpZiAocmV0ICE9IDApCisJZ290byBkb25lOworICAgIGlmICgocmVmICE9IE5VTEwpICYmIChyZWYtPnNjaGVtZSAhPSBOVUxMKSkgeworCS8qCisJICogVGhlIFVSSSBpcyBhYnNvbHV0ZSBkb24ndCBtb2RpZnkuCisJICovCisJdmFsID0geG1sU3RyZHVwKFVSSSk7CisJZ290byBkb25lOworICAgIH0KKyAgICBpZiAoYmFzZSA9PSBOVUxMKQorCXJldCA9IC0xOworICAgIGVsc2UgeworCWJhcyA9IHhtbENyZWF0ZVVSSSgpOworCWlmIChiYXMgPT0gTlVMTCkKKwkgICAgZ290byBkb25lOworCXJldCA9IHhtbFBhcnNlVVJJUmVmZXJlbmNlKGJhcywgKGNvbnN0IGNoYXIgKikgYmFzZSk7CisgICAgfQorICAgIGlmIChyZXQgIT0gMCkgeworCWlmIChyZWYpCisJICAgIHZhbCA9IHhtbFNhdmVVcmkocmVmKTsKKwlnb3RvIGRvbmU7CisgICAgfQorICAgIGlmIChyZWYgPT0gTlVMTCkgeworCS8qCisJICogdGhlIGJhc2UgZnJhZ21lbnQgbXVzdCBiZSBpZ25vcmVkCisJICovCisJaWYgKGJhcy0+ZnJhZ21lbnQgIT0gTlVMTCkgeworCSAgICB4bWxGcmVlKGJhcy0+ZnJhZ21lbnQpOworCSAgICBiYXMtPmZyYWdtZW50ID0gTlVMTDsKKwl9CisJdmFsID0geG1sU2F2ZVVyaShiYXMpOworCWdvdG8gZG9uZTsKKyAgICB9CisKKyAgICAvKgorICAgICAqIDIpIElmIHRoZSBwYXRoIGNvbXBvbmVudCBpcyBlbXB0eSBhbmQgdGhlIHNjaGVtZSwgYXV0aG9yaXR5LCBhbmQKKyAgICAgKiAgICBxdWVyeSBjb21wb25lbnRzIGFyZSB1bmRlZmluZWQsIHRoZW4gaXQgaXMgYSByZWZlcmVuY2UgdG8gdGhlCisgICAgICogICAgY3VycmVudCBkb2N1bWVudCBhbmQgd2UgYXJlIGRvbmUuICBPdGhlcndpc2UsIHRoZSByZWZlcmVuY2UgVVJJJ3MKKyAgICAgKiAgICBxdWVyeSBhbmQgZnJhZ21lbnQgY29tcG9uZW50cyBhcmUgZGVmaW5lZCBhcyBmb3VuZCAob3Igbm90IGZvdW5kKQorICAgICAqICAgIHdpdGhpbiB0aGUgVVJJIHJlZmVyZW5jZSBhbmQgbm90IGluaGVyaXRlZCBmcm9tIHRoZSBiYXNlIFVSSS4KKyAgICAgKgorICAgICAqICAgIE5PVEUgdGhhdCBpbiBtb2Rlcm4gYnJvd3NlcnMsIHRoZSBwYXJzaW5nIGRpZmZlcnMgZnJvbSB0aGUgYWJvdmUKKyAgICAgKiAgICBpbiB0aGUgZm9sbG93aW5nIGFzcGVjdDogIHRoZSBxdWVyeSBjb21wb25lbnQgaXMgYWxsb3dlZCB0byBiZQorICAgICAqICAgIGRlZmluZWQgd2hpbGUgc3RpbGwgdHJlYXRpbmcgdGhpcyBhcyBhIHJlZmVyZW5jZSB0byB0aGUgY3VycmVudAorICAgICAqICAgIGRvY3VtZW50LgorICAgICAqLworICAgIHJlcyA9IHhtbENyZWF0ZVVSSSgpOworICAgIGlmIChyZXMgPT0gTlVMTCkKKwlnb3RvIGRvbmU7CisgICAgaWYgKChyZWYtPnNjaGVtZSA9PSBOVUxMKSAmJiAocmVmLT5wYXRoID09IE5VTEwpICYmCisJKChyZWYtPmF1dGhvcml0eSA9PSBOVUxMKSAmJiAocmVmLT5zZXJ2ZXIgPT0gTlVMTCkpKSB7CisJaWYgKGJhcy0+c2NoZW1lICE9IE5VTEwpCisJICAgIHJlcy0+c2NoZW1lID0geG1sTWVtU3RyZHVwKGJhcy0+c2NoZW1lKTsKKwlpZiAoYmFzLT5hdXRob3JpdHkgIT0gTlVMTCkKKwkgICAgcmVzLT5hdXRob3JpdHkgPSB4bWxNZW1TdHJkdXAoYmFzLT5hdXRob3JpdHkpOworCWVsc2UgaWYgKGJhcy0+c2VydmVyICE9IE5VTEwpIHsKKwkgICAgcmVzLT5zZXJ2ZXIgPSB4bWxNZW1TdHJkdXAoYmFzLT5zZXJ2ZXIpOworCSAgICBpZiAoYmFzLT51c2VyICE9IE5VTEwpCisJCXJlcy0+dXNlciA9IHhtbE1lbVN0cmR1cChiYXMtPnVzZXIpOworCSAgICByZXMtPnBvcnQgPSBiYXMtPnBvcnQ7CisJfQorCWlmIChiYXMtPnBhdGggIT0gTlVMTCkKKwkgICAgcmVzLT5wYXRoID0geG1sTWVtU3RyZHVwKGJhcy0+cGF0aCk7CisJaWYgKHJlZi0+cXVlcnlfcmF3ICE9IE5VTEwpCisJICAgIHJlcy0+cXVlcnlfcmF3ID0geG1sTWVtU3RyZHVwIChyZWYtPnF1ZXJ5X3Jhdyk7CisJZWxzZSBpZiAocmVmLT5xdWVyeSAhPSBOVUxMKQorCSAgICByZXMtPnF1ZXJ5ID0geG1sTWVtU3RyZHVwKHJlZi0+cXVlcnkpOworCWVsc2UgaWYgKGJhcy0+cXVlcnlfcmF3ICE9IE5VTEwpCisJICAgIHJlcy0+cXVlcnlfcmF3ID0geG1sTWVtU3RyZHVwKGJhcy0+cXVlcnlfcmF3KTsKKwllbHNlIGlmIChiYXMtPnF1ZXJ5ICE9IE5VTEwpCisJICAgIHJlcy0+cXVlcnkgPSB4bWxNZW1TdHJkdXAoYmFzLT5xdWVyeSk7CisJaWYgKHJlZi0+ZnJhZ21lbnQgIT0gTlVMTCkKKwkgICAgcmVzLT5mcmFnbWVudCA9IHhtbE1lbVN0cmR1cChyZWYtPmZyYWdtZW50KTsKKwlnb3RvIHN0ZXBfNzsKKyAgICB9CisKKyAgICAvKgorICAgICAqIDMpIElmIHRoZSBzY2hlbWUgY29tcG9uZW50IGlzIGRlZmluZWQsIGluZGljYXRpbmcgdGhhdCB0aGUgcmVmZXJlbmNlCisgICAgICogICAgc3RhcnRzIHdpdGggYSBzY2hlbWUgbmFtZSwgdGhlbiB0aGUgcmVmZXJlbmNlIGlzIGludGVycHJldGVkIGFzIGFuCisgICAgICogICAgYWJzb2x1dGUgVVJJIGFuZCB3ZSBhcmUgZG9uZS4gIE90aGVyd2lzZSwgdGhlIHJlZmVyZW5jZSBVUkkncworICAgICAqICAgIHNjaGVtZSBpcyBpbmhlcml0ZWQgZnJvbSB0aGUgYmFzZSBVUkkncyBzY2hlbWUgY29tcG9uZW50LgorICAgICAqLworICAgIGlmIChyZWYtPnNjaGVtZSAhPSBOVUxMKSB7CisJdmFsID0geG1sU2F2ZVVyaShyZWYpOworCWdvdG8gZG9uZTsKKyAgICB9CisgICAgaWYgKGJhcy0+c2NoZW1lICE9IE5VTEwpCisJcmVzLT5zY2hlbWUgPSB4bWxNZW1TdHJkdXAoYmFzLT5zY2hlbWUpOworCisgICAgaWYgKHJlZi0+cXVlcnlfcmF3ICE9IE5VTEwpCisJcmVzLT5xdWVyeV9yYXcgPSB4bWxNZW1TdHJkdXAocmVmLT5xdWVyeV9yYXcpOworICAgIGVsc2UgaWYgKHJlZi0+cXVlcnkgIT0gTlVMTCkKKwlyZXMtPnF1ZXJ5ID0geG1sTWVtU3RyZHVwKHJlZi0+cXVlcnkpOworICAgIGlmIChyZWYtPmZyYWdtZW50ICE9IE5VTEwpCisJcmVzLT5mcmFnbWVudCA9IHhtbE1lbVN0cmR1cChyZWYtPmZyYWdtZW50KTsKKworICAgIC8qCisgICAgICogNCkgSWYgdGhlIGF1dGhvcml0eSBjb21wb25lbnQgaXMgZGVmaW5lZCwgdGhlbiB0aGUgcmVmZXJlbmNlIGlzIGEKKyAgICAgKiAgICBuZXR3b3JrLXBhdGggYW5kIHdlIHNraXAgdG8gc3RlcCA3LiAgT3RoZXJ3aXNlLCB0aGUgcmVmZXJlbmNlCisgICAgICogICAgVVJJJ3MgYXV0aG9yaXR5IGlzIGluaGVyaXRlZCBmcm9tIHRoZSBiYXNlIFVSSSdzIGF1dGhvcml0eQorICAgICAqICAgIGNvbXBvbmVudCwgd2hpY2ggd2lsbCBhbHNvIGJlIHVuZGVmaW5lZCBpZiB0aGUgVVJJIHNjaGVtZSBkb2VzIG5vdAorICAgICAqICAgIHVzZSBhbiBhdXRob3JpdHkgY29tcG9uZW50LgorICAgICAqLworICAgIGlmICgocmVmLT5hdXRob3JpdHkgIT0gTlVMTCkgfHwgKHJlZi0+c2VydmVyICE9IE5VTEwpKSB7CisJaWYgKHJlZi0+YXV0aG9yaXR5ICE9IE5VTEwpCisJICAgIHJlcy0+YXV0aG9yaXR5ID0geG1sTWVtU3RyZHVwKHJlZi0+YXV0aG9yaXR5KTsKKwllbHNlIHsKKwkgICAgcmVzLT5zZXJ2ZXIgPSB4bWxNZW1TdHJkdXAocmVmLT5zZXJ2ZXIpOworCSAgICBpZiAocmVmLT51c2VyICE9IE5VTEwpCisJCXJlcy0+dXNlciA9IHhtbE1lbVN0cmR1cChyZWYtPnVzZXIpOworICAgICAgICAgICAgcmVzLT5wb3J0ID0gcmVmLT5wb3J0OworCX0KKwlpZiAocmVmLT5wYXRoICE9IE5VTEwpCisJICAgIHJlcy0+cGF0aCA9IHhtbE1lbVN0cmR1cChyZWYtPnBhdGgpOworCWdvdG8gc3RlcF83OworICAgIH0KKyAgICBpZiAoYmFzLT5hdXRob3JpdHkgIT0gTlVMTCkKKwlyZXMtPmF1dGhvcml0eSA9IHhtbE1lbVN0cmR1cChiYXMtPmF1dGhvcml0eSk7CisgICAgZWxzZSBpZiAoYmFzLT5zZXJ2ZXIgIT0gTlVMTCkgeworCXJlcy0+c2VydmVyID0geG1sTWVtU3RyZHVwKGJhcy0+c2VydmVyKTsKKwlpZiAoYmFzLT51c2VyICE9IE5VTEwpCisJICAgIHJlcy0+dXNlciA9IHhtbE1lbVN0cmR1cChiYXMtPnVzZXIpOworCXJlcy0+cG9ydCA9IGJhcy0+cG9ydDsKKyAgICB9CisKKyAgICAvKgorICAgICAqIDUpIElmIHRoZSBwYXRoIGNvbXBvbmVudCBiZWdpbnMgd2l0aCBhIHNsYXNoIGNoYXJhY3RlciAoIi8iKSwgdGhlbgorICAgICAqICAgIHRoZSByZWZlcmVuY2UgaXMgYW4gYWJzb2x1dGUtcGF0aCBhbmQgd2Ugc2tpcCB0byBzdGVwIDcuCisgICAgICovCisgICAgaWYgKChyZWYtPnBhdGggIT0gTlVMTCkgJiYgKHJlZi0+cGF0aFswXSA9PSAnLycpKSB7CisJcmVzLT5wYXRoID0geG1sTWVtU3RyZHVwKHJlZi0+cGF0aCk7CisJZ290byBzdGVwXzc7CisgICAgfQorCisKKyAgICAvKgorICAgICAqIDYpIElmIHRoaXMgc3RlcCBpcyByZWFjaGVkLCB0aGVuIHdlIGFyZSByZXNvbHZpbmcgYSByZWxhdGl2ZS1wYXRoCisgICAgICogICAgcmVmZXJlbmNlLiAgVGhlIHJlbGF0aXZlIHBhdGggbmVlZHMgdG8gYmUgbWVyZ2VkIHdpdGggdGhlIGJhc2UKKyAgICAgKiAgICBVUkkncyBwYXRoLiAgQWx0aG91Z2ggdGhlcmUgYXJlIG1hbnkgd2F5cyB0byBkbyB0aGlzLCB3ZSB3aWxsCisgICAgICogICAgZGVzY3JpYmUgYSBzaW1wbGUgbWV0aG9kIHVzaW5nIGEgc2VwYXJhdGUgc3RyaW5nIGJ1ZmZlci4KKyAgICAgKgorICAgICAqIEFsbG9jYXRlIGEgYnVmZmVyIGxhcmdlIGVub3VnaCBmb3IgdGhlIHJlc3VsdCBzdHJpbmcuCisgICAgICovCisgICAgbGVuID0gMjsgLyogZXh0cmEgLyBhbmQgMCAqLworICAgIGlmIChyZWYtPnBhdGggIT0gTlVMTCkKKwlsZW4gKz0gc3RybGVuKHJlZi0+cGF0aCk7CisgICAgaWYgKGJhcy0+cGF0aCAhPSBOVUxMKQorCWxlbiArPSBzdHJsZW4oYmFzLT5wYXRoKTsKKyAgICByZXMtPnBhdGggPSAoY2hhciAqKSB4bWxNYWxsb2NBdG9taWMobGVuKTsKKyAgICBpZiAocmVzLT5wYXRoID09IE5VTEwpIHsKKyAgICAgICAgeG1sVVJJRXJyTWVtb3J5KCJyZXNvbHZpbmcgVVJJIGFnYWluc3QgYmFzZVxuIik7CisJZ290byBkb25lOworICAgIH0KKyAgICByZXMtPnBhdGhbMF0gPSAwOworCisgICAgLyoKKyAgICAgKiBhKSBBbGwgYnV0IHRoZSBsYXN0IHNlZ21lbnQgb2YgdGhlIGJhc2UgVVJJJ3MgcGF0aCBjb21wb25lbnQgaXMKKyAgICAgKiAgICBjb3BpZWQgdG8gdGhlIGJ1ZmZlci4gIEluIG90aGVyIHdvcmRzLCBhbnkgY2hhcmFjdGVycyBhZnRlciB0aGUKKyAgICAgKiAgICBsYXN0IChyaWdodC1tb3N0KSBzbGFzaCBjaGFyYWN0ZXIsIGlmIGFueSwgYXJlIGV4Y2x1ZGVkLgorICAgICAqLworICAgIGN1ciA9IDA7CisgICAgb3V0ID0gMDsKKyAgICBpZiAoYmFzLT5wYXRoICE9IE5VTEwpIHsKKwl3aGlsZSAoYmFzLT5wYXRoW2N1cl0gIT0gMCkgeworCSAgICB3aGlsZSAoKGJhcy0+cGF0aFtjdXJdICE9IDApICYmIChiYXMtPnBhdGhbY3VyXSAhPSAnLycpKQorCQljdXIrKzsKKwkgICAgaWYgKGJhcy0+cGF0aFtjdXJdID09IDApCisJCWJyZWFrOworCisJICAgIGN1cisrOworCSAgICB3aGlsZSAob3V0IDwgY3VyKSB7CisJCXJlcy0+cGF0aFtvdXRdID0gYmFzLT5wYXRoW291dF07CisJCW91dCsrOworCSAgICB9CisJfQorICAgIH0KKyAgICByZXMtPnBhdGhbb3V0XSA9IDA7CisKKyAgICAvKgorICAgICAqIGIpIFRoZSByZWZlcmVuY2UncyBwYXRoIGNvbXBvbmVudCBpcyBhcHBlbmRlZCB0byB0aGUgYnVmZmVyCisgICAgICogICAgc3RyaW5nLgorICAgICAqLworICAgIGlmIChyZWYtPnBhdGggIT0gTlVMTCAmJiByZWYtPnBhdGhbMF0gIT0gMCkgeworCWluZHggPSAwOworCS8qCisJICogRW5zdXJlIHRoZSBwYXRoIGluY2x1ZGVzIGEgJy8nCisJICovCisJaWYgKChvdXQgPT0gMCkgJiYgKGJhcy0+c2VydmVyICE9IE5VTEwpKQorCSAgICByZXMtPnBhdGhbb3V0KytdID0gJy8nOworCXdoaWxlIChyZWYtPnBhdGhbaW5keF0gIT0gMCkgeworCSAgICByZXMtPnBhdGhbb3V0KytdID0gcmVmLT5wYXRoW2luZHgrK107CisJfQorICAgIH0KKyAgICByZXMtPnBhdGhbb3V0XSA9IDA7CisKKyAgICAvKgorICAgICAqIFN0ZXBzIGMpIHRvIGgpIGFyZSByZWFsbHkgcGF0aCBub3JtYWxpemF0aW9uIHN0ZXBzCisgICAgICovCisgICAgeG1sTm9ybWFsaXplVVJJUGF0aChyZXMtPnBhdGgpOworCitzdGVwXzc6CisKKyAgICAvKgorICAgICAqIDcpIFRoZSByZXN1bHRpbmcgVVJJIGNvbXBvbmVudHMsIGluY2x1ZGluZyBhbnkgaW5oZXJpdGVkIGZyb20gdGhlCisgICAgICogICAgYmFzZSBVUkksIGFyZSByZWNvbWJpbmVkIHRvIGdpdmUgdGhlIGFic29sdXRlIGZvcm0gb2YgdGhlIFVSSQorICAgICAqICAgIHJlZmVyZW5jZS4KKyAgICAgKi8KKyAgICB2YWwgPSB4bWxTYXZlVXJpKHJlcyk7CisKK2RvbmU6CisgICAgaWYgKHJlZiAhPSBOVUxMKQorCXhtbEZyZWVVUkkocmVmKTsKKyAgICBpZiAoYmFzICE9IE5VTEwpCisJeG1sRnJlZVVSSShiYXMpOworICAgIGlmIChyZXMgIT0gTlVMTCkKKwl4bWxGcmVlVVJJKHJlcyk7CisgICAgcmV0dXJuKHZhbCk7Cit9CisKKy8qKgorICogeG1sQnVpbGRSZWxhdGl2ZVVSSToKKyAqIEBVUkk6ICB0aGUgVVJJIHJlZmVyZW5jZSB1bmRlciBjb25zaWRlcmF0aW9uCisgKiBAYmFzZTogIHRoZSBiYXNlIHZhbHVlCisgKgorICogRXhwcmVzc2VzIHRoZSBVUkkgb2YgdGhlIHJlZmVyZW5jZSBpbiB0ZXJtcyByZWxhdGl2ZSB0byB0aGUKKyAqIGJhc2UuICBTb21lIGV4YW1wbGVzIG9mIHRoaXMgb3BlcmF0aW9uIGluY2x1ZGU6CisgKiAgICAgYmFzZSA9ICJodHRwOi8vc2l0ZTEuY29tL2RvY3MvYm9vazEuaHRtbCIKKyAqICAgICAgICBVUkkgaW5wdXQgICAgICAgICAgICAgICAgICAgICAgICBVUkkgcmV0dXJuZWQKKyAqICAgICBkb2NzL3BpYzEuZ2lmICAgICAgICAgICAgICAgICAgICBwaWMxLmdpZgorICogICAgIGRvY3MvaW1nL3BpYzEuZ2lmICAgICAgICAgICAgICAgIGltZy9waWMxLmdpZgorICogICAgIGltZy9waWMxLmdpZiAgICAgICAgICAgICAgICAgICAgIC4uL2ltZy9waWMxLmdpZgorICogICAgIGh0dHA6Ly9zaXRlMS5jb20vZG9jcy9waWMxLmdpZiAgIHBpYzEuZ2lmCisgKiAgICAgaHR0cDovL3NpdGUyLmNvbS9kb2NzL3BpYzEuZ2lmICAgaHR0cDovL3NpdGUyLmNvbS9kb2NzL3BpYzEuZ2lmCisgKgorICogICAgIGJhc2UgPSAiZG9jcy9ib29rMS5odG1sIgorICogICAgICAgIFVSSSBpbnB1dCAgICAgICAgICAgICAgICAgICAgICAgIFVSSSByZXR1cm5lZAorICogICAgIGRvY3MvcGljMS5naWYgICAgICAgICAgICAgICAgICAgIHBpYzEuZ2lmCisgKiAgICAgZG9jcy9pbWcvcGljMS5naWYgICAgICAgICAgICAgICAgaW1nL3BpYzEuZ2lmCisgKiAgICAgaW1nL3BpYzEuZ2lmICAgICAgICAgICAgICAgICAgICAgLi4vaW1nL3BpYzEuZ2lmCisgKiAgICAgaHR0cDovL3NpdGUxLmNvbS9kb2NzL3BpYzEuZ2lmICAgaHR0cDovL3NpdGUxLmNvbS9kb2NzL3BpYzEuZ2lmCisgKgorICoKKyAqIE5vdGU6IGlmIHRoZSBVUkkgcmVmZXJlbmNlIGlzIHJlYWxseSB3aWVyZCBvciBjb21wbGljYXRlZCwgaXQgbWF5IGJlCisgKiAgICAgICB3b3J0aHdoaWxlIHRvIGZpcnN0IGNvbnZlcnQgaXQgaW50byBhICJuaWNlIiBvbmUgYnkgY2FsbGluZworICogICAgICAgeG1sQnVpbGRVUkkgKHVzaW5nICdiYXNlJykgYmVmb3JlIGNhbGxpbmcgdGhpcyByb3V0aW5lLAorICogICAgICAgc2luY2UgdGhpcyByb3V0aW5lIChmb3IgcmVhc29uYWJsZSBlZmZpY2llbmN5KSBhc3N1bWVzIFVSSSBoYXMKKyAqICAgICAgIGFscmVhZHkgYmVlbiB0aHJvdWdoIHNvbWUgdmFsaWRhdGlvbi4KKyAqCisgKiBSZXR1cm5zIGEgbmV3IFVSSSBzdHJpbmcgKHRvIGJlIGZyZWVkIGJ5IHRoZSBjYWxsZXIpIG9yIE5VTEwgaW4gY2FzZQorICogZXJyb3IuCisgKi8KK3htbENoYXIgKgoreG1sQnVpbGRSZWxhdGl2ZVVSSSAoY29uc3QgeG1sQ2hhciAqIFVSSSwgY29uc3QgeG1sQ2hhciAqIGJhc2UpCit7CisgICAgeG1sQ2hhciAqdmFsID0gTlVMTDsKKyAgICBpbnQgcmV0OworICAgIGludCBpeDsKKyAgICBpbnQgcG9zID0gMDsKKyAgICBpbnQgbmJzbGFzaCA9IDA7CisgICAgaW50IGxlbjsKKyAgICB4bWxVUklQdHIgcmVmID0gTlVMTDsKKyAgICB4bWxVUklQdHIgYmFzID0gTlVMTDsKKyAgICB4bWxDaGFyICpicHRyLCAqdXB0ciwgKnZwdHI7CisgICAgaW50IHJlbW92ZV9wYXRoID0gMDsKKworICAgIGlmICgoVVJJID09IE5VTEwpIHx8ICgqVVJJID09IDApKQorCXJldHVybiBOVUxMOworCisgICAgLyoKKyAgICAgKiBGaXJzdCBwYXJzZSBVUkkgaW50byBhIHN0YW5kYXJkIGZvcm0KKyAgICAgKi8KKyAgICByZWYgPSB4bWxDcmVhdGVVUkkgKCk7CisgICAgaWYgKHJlZiA9PSBOVUxMKQorCXJldHVybiBOVUxMOworICAgIC8qIElmIFVSSSBub3QgYWxyZWFkeSBpbiAicmVsYXRpdmUiIGZvcm0gKi8KKyAgICBpZiAoVVJJWzBdICE9ICcuJykgeworCXJldCA9IHhtbFBhcnNlVVJJUmVmZXJlbmNlIChyZWYsIChjb25zdCBjaGFyICopIFVSSSk7CisJaWYgKHJldCAhPSAwKQorCSAgICBnb3RvIGRvbmU7CQkvKiBFcnJvciBpbiBVUkksIHJldHVybiBOVUxMICovCisgICAgfSBlbHNlCisJcmVmLT5wYXRoID0gKGNoYXIgKil4bWxTdHJkdXAoVVJJKTsKKworICAgIC8qCisgICAgICogTmV4dCBwYXJzZSBiYXNlIGludG8gdGhlIHNhbWUgc3RhbmRhcmQgZm9ybQorICAgICAqLworICAgIGlmICgoYmFzZSA9PSBOVUxMKSB8fCAoKmJhc2UgPT0gMCkpIHsKKwl2YWwgPSB4bWxTdHJkdXAgKFVSSSk7CisJZ290byBkb25lOworICAgIH0KKyAgICBiYXMgPSB4bWxDcmVhdGVVUkkgKCk7CisgICAgaWYgKGJhcyA9PSBOVUxMKQorCWdvdG8gZG9uZTsKKyAgICBpZiAoYmFzZVswXSAhPSAnLicpIHsKKwlyZXQgPSB4bWxQYXJzZVVSSVJlZmVyZW5jZSAoYmFzLCAoY29uc3QgY2hhciAqKSBiYXNlKTsKKwlpZiAocmV0ICE9IDApCisJICAgIGdvdG8gZG9uZTsJCS8qIEVycm9yIGluIGJhc2UsIHJldHVybiBOVUxMICovCisgICAgfSBlbHNlCisJYmFzLT5wYXRoID0gKGNoYXIgKil4bWxTdHJkdXAoYmFzZSk7CisKKyAgICAvKgorICAgICAqIElmIHRoZSBzY2hlbWUgLyBzZXJ2ZXIgb24gdGhlIFVSSSBkaWZmZXJzIGZyb20gdGhlIGJhc2UsCisgICAgICoganVzdCByZXR1cm4gdGhlIFVSSQorICAgICAqLworICAgIGlmICgocmVmLT5zY2hlbWUgIT0gTlVMTCkgJiYKKwkoKGJhcy0+c2NoZW1lID09IE5VTEwpIHx8CisJICh4bWxTdHJjbXAgKCh4bWxDaGFyICopYmFzLT5zY2hlbWUsICh4bWxDaGFyICopcmVmLT5zY2hlbWUpKSB8fAorCSAoeG1sU3RyY21wICgoeG1sQ2hhciAqKWJhcy0+c2VydmVyLCAoeG1sQ2hhciAqKXJlZi0+c2VydmVyKSkpKSB7CisJdmFsID0geG1sU3RyZHVwIChVUkkpOworCWdvdG8gZG9uZTsKKyAgICB9CisgICAgaWYgKHhtbFN0ckVxdWFsKCh4bWxDaGFyICopYmFzLT5wYXRoLCAoeG1sQ2hhciAqKXJlZi0+cGF0aCkpIHsKKwl2YWwgPSB4bWxTdHJkdXAoQkFEX0NBU1QgIiIpOworCWdvdG8gZG9uZTsKKyAgICB9CisgICAgaWYgKGJhcy0+cGF0aCA9PSBOVUxMKSB7CisJdmFsID0geG1sU3RyZHVwKCh4bWxDaGFyICopcmVmLT5wYXRoKTsKKwlnb3RvIGRvbmU7CisgICAgfQorICAgIGlmIChyZWYtPnBhdGggPT0gTlVMTCkgeworICAgICAgICByZWYtPnBhdGggPSAoY2hhciAqKSAiLyI7CisJcmVtb3ZlX3BhdGggPSAxOworICAgIH0KKworICAgIC8qCisgICAgICogQXQgdGhpcyBwb2ludCAoYXQgbGFzdCEpIHdlIGNhbiBjb21wYXJlIHRoZSB0d28gcGF0aHMKKyAgICAgKgorICAgICAqIEZpcnN0IHdlIHRha2UgY2FyZSBvZiB0aGUgc3BlY2lhbCBjYXNlIHdoZXJlIGVpdGhlciBvZiB0aGUKKyAgICAgKiB0d28gcGF0aCBjb21wb25lbnRzIG1heSBiZSBtaXNzaW5nIChidWcgMzE2MjI0KQorICAgICAqLworICAgIGlmIChiYXMtPnBhdGggPT0gTlVMTCkgeworCWlmIChyZWYtPnBhdGggIT0gTlVMTCkgeworCSAgICB1cHRyID0gKHhtbENoYXIgKikgcmVmLT5wYXRoOworCSAgICBpZiAoKnVwdHIgPT0gJy8nKQorCQl1cHRyKys7CisJICAgIC8qIGV4Y2VwdGlvbiBjaGFyYWN0ZXJzIGZyb20geG1sU2F2ZVVyaSAqLworCSAgICB2YWwgPSB4bWxVUklFc2NhcGVTdHIodXB0ciwgQkFEX0NBU1QgIi87Jj0rJCwiKTsKKwl9CisJZ290byBkb25lOworICAgIH0KKyAgICBicHRyID0gKHhtbENoYXIgKiliYXMtPnBhdGg7CisgICAgaWYgKHJlZi0+cGF0aCA9PSBOVUxMKSB7CisJZm9yIChpeCA9IDA7IGJwdHJbaXhdICE9IDA7IGl4KyspIHsKKwkgICAgaWYgKGJwdHJbaXhdID09ICcvJykKKwkJbmJzbGFzaCsrOworCX0KKwl1cHRyID0gTlVMTDsKKwlsZW4gPSAxOwkvKiB0aGlzIGlzIGZvciBhIHN0cmluZyB0ZXJtaW5hdG9yIG9ubHkgKi8KKyAgICB9IGVsc2UgeworICAgIC8qCisgICAgICogTmV4dCB3ZSBjb21wYXJlIHRoZSB0d28gc3RyaW5ncyBhbmQgZmluZCB3aGVyZSB0aGV5IGZpcnN0IGRpZmZlcgorICAgICAqLworCWlmICgocmVmLT5wYXRoW3Bvc10gPT0gJy4nKSAmJiAocmVmLT5wYXRoW3BvcysxXSA9PSAnLycpKQorICAgICAgICAgICAgcG9zICs9IDI7CisJaWYgKCgqYnB0ciA9PSAnLicpICYmIChicHRyWzFdID09ICcvJykpCisgICAgICAgICAgICBicHRyICs9IDI7CisJZWxzZSBpZiAoKCpicHRyID09ICcvJykgJiYgKHJlZi0+cGF0aFtwb3NdICE9ICcvJykpCisJICAgIGJwdHIrKzsKKwl3aGlsZSAoKGJwdHJbcG9zXSA9PSByZWYtPnBhdGhbcG9zXSkgJiYgKGJwdHJbcG9zXSAhPSAwKSkKKwkgICAgcG9zKys7CisKKwlpZiAoYnB0cltwb3NdID09IHJlZi0+cGF0aFtwb3NdKSB7CisJICAgIHZhbCA9IHhtbFN0cmR1cChCQURfQ0FTVCAiIik7CisJICAgIGdvdG8gZG9uZTsJCS8qIChJIGNhbid0IGltYWdpbmUgd2h5IGFueW9uZSB3b3VsZCBkbyB0aGlzKSAqLworCX0KKworCS8qCisJICogSW4gVVJJLCAiYmFjayB1cCIgdG8gdGhlIGxhc3QgJy8nIGVuY291bnRlcmVkLiAgVGhpcyB3aWxsIGJlIHRoZQorCSAqIGJlZ2lubmluZyBvZiB0aGUgInVuaXF1ZSIgc3VmZml4IG9mIFVSSQorCSAqLworCWl4ID0gcG9zOworCWlmICgocmVmLT5wYXRoW2l4XSA9PSAnLycpICYmIChpeCA+IDApKQorCSAgICBpeC0tOworCWVsc2UgaWYgKChyZWYtPnBhdGhbaXhdID09IDApICYmIChpeCA+IDEpICYmIChyZWYtPnBhdGhbaXggLSAxXSA9PSAnLycpKQorCSAgICBpeCAtPSAyOworCWZvciAoOyBpeCA+IDA7IGl4LS0pIHsKKwkgICAgaWYgKHJlZi0+cGF0aFtpeF0gPT0gJy8nKQorCQlicmVhazsKKwl9CisJaWYgKGl4ID09IDApIHsKKwkgICAgdXB0ciA9ICh4bWxDaGFyICopcmVmLT5wYXRoOworCX0gZWxzZSB7CisJICAgIGl4Kys7CisJICAgIHVwdHIgPSAoeG1sQ2hhciAqKSZyZWYtPnBhdGhbaXhdOworCX0KKworCS8qCisJICogSW4gYmFzZSwgY291bnQgdGhlIG51bWJlciBvZiAnLycgZnJvbSB0aGUgZGlmZmVyaW5nIHBvaW50CisJICovCisJaWYgKGJwdHJbcG9zXSAhPSByZWYtPnBhdGhbcG9zXSkgey8qIGNoZWNrIGZvciB0cml2aWFsIFVSSSA9PSBiYXNlICovCisJICAgIGZvciAoOyBicHRyW2l4XSAhPSAwOyBpeCsrKSB7CisJCWlmIChicHRyW2l4XSA9PSAnLycpCisJCSAgICBuYnNsYXNoKys7CisJICAgIH0KKwl9CisJbGVuID0geG1sU3RybGVuICh1cHRyKSArIDE7CisgICAgfQorCisgICAgaWYgKG5ic2xhc2ggPT0gMCkgeworCWlmICh1cHRyICE9IE5VTEwpCisJICAgIC8qIGV4Y2VwdGlvbiBjaGFyYWN0ZXJzIGZyb20geG1sU2F2ZVVyaSAqLworCSAgICB2YWwgPSB4bWxVUklFc2NhcGVTdHIodXB0ciwgQkFEX0NBU1QgIi87Jj0rJCwiKTsKKwlnb3RvIGRvbmU7CisgICAgfQorCisgICAgLyoKKyAgICAgKiBBbGxvY2F0ZSBqdXN0IGVub3VnaCBzcGFjZSBmb3IgdGhlIHJldHVybmVkIHN0cmluZyAtCisgICAgICogbGVuZ3RoIG9mIHRoZSByZW1haW5kZXIgb2YgdGhlIFVSSSwgcGx1cyBlbm91Z2ggc3BhY2UKKyAgICAgKiBmb3IgdGhlICIuLi8iIGdyb3VwcywgcGx1cyBvbmUgZm9yIHRoZSB0ZXJtaW5hdG9yCisgICAgICovCisgICAgdmFsID0gKHhtbENoYXIgKikgeG1sTWFsbG9jIChsZW4gKyAzICogbmJzbGFzaCk7CisgICAgaWYgKHZhbCA9PSBOVUxMKSB7CisgICAgICAgIHhtbFVSSUVyck1lbW9yeSgiYnVpbGRpbmcgcmVsYXRpdmUgVVJJXG4iKTsKKwlnb3RvIGRvbmU7CisgICAgfQorICAgIHZwdHIgPSB2YWw7CisgICAgLyoKKyAgICAgKiBQdXQgaW4gYXMgbWFueSAiLi4vIiBhcyBuZWVkZWQKKyAgICAgKi8KKyAgICBmb3IgKDsgbmJzbGFzaD4wOyBuYnNsYXNoLS0pIHsKKwkqdnB0cisrID0gJy4nOworCSp2cHRyKysgPSAnLic7CisJKnZwdHIrKyA9ICcvJzsKKyAgICB9CisgICAgLyoKKyAgICAgKiBGaW5pc2ggdXAgd2l0aCB0aGUgZW5kIG9mIHRoZSBVUkkKKyAgICAgKi8KKyAgICBpZiAodXB0ciAhPSBOVUxMKSB7CisgICAgICAgIGlmICgodnB0ciA+IHZhbCkgJiYgKGxlbiA+IDApICYmCisJICAgICh1cHRyWzBdID09ICcvJykgJiYgKHZwdHJbLTFdID09ICcvJykpIHsKKwkgICAgbWVtY3B5ICh2cHRyLCB1cHRyICsgMSwgbGVuIC0gMSk7CisJICAgIHZwdHJbbGVuIC0gMl0gPSAwOworCX0gZWxzZSB7CisJICAgIG1lbWNweSAodnB0ciwgdXB0ciwgbGVuKTsKKwkgICAgdnB0cltsZW4gLSAxXSA9IDA7CisJfQorICAgIH0gZWxzZSB7CisJdnB0cltsZW4gLSAxXSA9IDA7CisgICAgfQorCisgICAgLyogZXNjYXBlIHRoZSBmcmVzaGx5LWJ1aWx0IHBhdGggKi8KKyAgICB2cHRyID0gdmFsOworCS8qIGV4Y2VwdGlvbiBjaGFyYWN0ZXJzIGZyb20geG1sU2F2ZVVyaSAqLworICAgIHZhbCA9IHhtbFVSSUVzY2FwZVN0cih2cHRyLCBCQURfQ0FTVCAiLzsmPSskLCIpOworICAgIHhtbEZyZWUodnB0cik7CisKK2RvbmU6CisgICAgLyoKKyAgICAgKiBGcmVlIHRoZSB3b3JraW5nIHZhcmlhYmxlcworICAgICAqLworICAgIGlmIChyZW1vdmVfcGF0aCAhPSAwKQorICAgICAgICByZWYtPnBhdGggPSBOVUxMOworICAgIGlmIChyZWYgIT0gTlVMTCkKKwl4bWxGcmVlVVJJIChyZWYpOworICAgIGlmIChiYXMgIT0gTlVMTCkKKwl4bWxGcmVlVVJJIChiYXMpOworCisgICAgcmV0dXJuIHZhbDsKK30KKworLyoqCisgKiB4bWxDYW5vbmljUGF0aDoKKyAqIEBwYXRoOiAgdGhlIHJlc291cmNlIGxvY2F0b3IgaW4gYSBmaWxlc3lzdGVtIG5vdGF0aW9uCisgKgorICogQ29uc3RydWN0cyBhIGNhbm9uaWMgcGF0aCBmcm9tIHRoZSBzcGVjaWZpZWQgcGF0aC4KKyAqCisgKiBSZXR1cm5zIGEgbmV3IGNhbm9uaWMgcGF0aCwgb3IgYSBkdXBsaWNhdGUgb2YgdGhlIHBhdGggcGFyYW1ldGVyIGlmIHRoZQorICogY29uc3RydWN0aW9uIGZhaWxzLiBUaGUgY2FsbGVyIGlzIHJlc3BvbnNpYmxlIGZvciBmcmVlaW5nIHRoZSBtZW1vcnkgb2NjdXBpZWQKKyAqIGJ5IHRoZSByZXR1cm5lZCBzdHJpbmcuIElmIHRoZXJlIGlzIGluc3VmZmljaWVudCBtZW1vcnkgYXZhaWxhYmxlLCBvciB0aGUKKyAqIGFyZ3VtZW50IGlzIE5VTEwsIHRoZSBmdW5jdGlvbiByZXR1cm5zIE5VTEwuCisgKi8KKyNkZWZpbmUgSVNfV0lORE9XU19QQVRIKHApCQkJCQlcCisJKChwICE9IE5VTEwpICYmCQkJCQkJXAorCSAoKChwWzBdID49ICdhJykgJiYgKHBbMF0gPD0gJ3onKSkgfHwJCQlcCisJICAoKHBbMF0gPj0gJ0EnKSAmJiAocFswXSA8PSAnWicpKSkgJiYJCQlcCisJIChwWzFdID09ICc6JykgJiYgKChwWzJdID09ICcvJykgfHwgKHBbMl0gPT0gJ1xcJykpKQoreG1sQ2hhciAqCit4bWxDYW5vbmljUGF0aChjb25zdCB4bWxDaGFyICpwYXRoKQoreworLyoKKyAqIEZvciBXaW5kb3dzIGltcGxlbWVudGF0aW9ucywgYWRkaXRpb25hbCB3b3JrIG5lZWRzIHRvIGJlIGRvbmUgdG8KKyAqIHJlcGxhY2UgYmFja3NsYXNoZXMgaW4gcGF0aG5hbWVzIHdpdGggImZvcndhcmQgc2xhc2hlcyIKKyAqLworI2lmIGRlZmluZWQoX1dJTjMyKSAmJiAhZGVmaW5lZChfX0NZR1dJTl9fKQorICAgIGludCBsZW4gPSAwOworICAgIGludCBpID0gMDsKKyAgICB4bWxDaGFyICpwID0gTlVMTDsKKyNlbmRpZgorICAgIHhtbFVSSVB0ciB1cmk7CisgICAgeG1sQ2hhciAqcmV0OworICAgIGNvbnN0IHhtbENoYXIgKmFic3VyaTsKKworICAgIGlmIChwYXRoID09IE5VTEwpCisJcmV0dXJuKE5VTEwpOworCisjaWYgZGVmaW5lZChfV0lOMzIpCisgICAgLyoKKyAgICAgKiBXZSBtdXN0IG5vdCBjaGFuZ2UgdGhlIGJhY2tzbGFzaGVzIHRvIHNsYXNoZXMgaWYgdGhlIHRoZSBwYXRoCisgICAgICogc3RhcnRzIHdpdGggXFw/XAorICAgICAqIFRob3NlIHBhdGhzIGNhbiBiZSB1cCB0byAzMmsgY2hhcmFjdGVycyBsb25nLgorICAgICAqIFdhcyBhZGRlZCBzcGVjaWZpY2FsbHkgZm9yIE9wZW5PZmZpY2UsIHRob3NlIHBhdGhzIGNhbid0IGJlIGNvbnZlcnRlZAorICAgICAqIHRvIFVSSXMgYW55d2F5LgorICAgICAqLworICAgIGlmICgocGF0aFswXSA9PSAnXFwnKSAmJiAocGF0aFsxXSA9PSAnXFwnKSAmJiAocGF0aFsyXSA9PSAnPycpICYmCisgICAgICAgIChwYXRoWzNdID09ICdcXCcpICkKKwlyZXR1cm4geG1sU3RyZHVwKChjb25zdCB4bWxDaGFyICopIHBhdGgpOworI2VuZGlmCisKKwkvKiBzYW5pdGl6ZSBmaWxlbmFtZSBzdGFydGluZyB3aXRoIC8vIHNvIGl0IGNhbiBiZSB1c2VkIGFzIFVSSSAqLworICAgIGlmICgocGF0aFswXSA9PSAnLycpICYmIChwYXRoWzFdID09ICcvJykgJiYgKHBhdGhbMl0gIT0gJy8nKSkKKyAgICAgICAgcGF0aCsrOworCisgICAgaWYgKCh1cmkgPSB4bWxQYXJzZVVSSSgoY29uc3QgY2hhciAqKSBwYXRoKSkgIT0gTlVMTCkgeworCXhtbEZyZWVVUkkodXJpKTsKKwlyZXR1cm4geG1sU3RyZHVwKHBhdGgpOworICAgIH0KKworICAgIC8qIENoZWNrIGlmIHRoaXMgaXMgYW4gImFic29sdXRlIHVyaSIgKi8KKyAgICBhYnN1cmkgPSB4bWxTdHJzdHIocGF0aCwgQkFEX0NBU1QgIjovLyIpOworICAgIGlmIChhYnN1cmkgIT0gTlVMTCkgeworICAgICAgICBpbnQgbCwgajsKKwl1bnNpZ25lZCBjaGFyIGM7CisJeG1sQ2hhciAqZXNjVVJJOworCisgICAgICAgIC8qCisJICogdGhpcyBsb29rcyBsaWtlIGFuIFVSSSB3aGVyZSBzb21lIHBhcnRzIGhhdmUgbm90IGJlZW4KKwkgKiBlc2NhcGVkIGxlYWRpbmcgdG8gYSBwYXJzaW5nIHByb2JsZW0uICBDaGVjayB0aGF0IHRoZSBmaXJzdAorCSAqIHBhcnQgbWF0Y2hlcyBhIHByb3RvY29sLgorCSAqLworCWwgPSBhYnN1cmkgLSBwYXRoOworCS8qIEJ5cGFzcyBpZiBmaXJzdCBwYXJ0IChwYXJ0IGJlZm9yZSB0aGUgJzovLycpIGlzID4gMjAgY2hhcnMgKi8KKwlpZiAoKGwgPD0gMCkgfHwgKGwgPiAyMCkpCisJICAgIGdvdG8gcGF0aF9wcm9jZXNzaW5nOworCS8qIEJ5cGFzcyBpZiBhbnkgbm9uLWFscGhhIGNoYXJhY3RlcnMgYXJlIHByZXNlbnQgaW4gZmlyc3QgcGFydCAqLworCWZvciAoaiA9IDA7aiA8IGw7aisrKSB7CisJICAgIGMgPSBwYXRoW2pdOworCSAgICBpZiAoISgoKGMgPj0gJ2EnKSAmJiAoYyA8PSAneicpKSB8fCAoKGMgPj0gJ0EnKSAmJiAoYyA8PSAnWicpKSkpCisJICAgICAgICBnb3RvIHBhdGhfcHJvY2Vzc2luZzsKKwl9CisKKwkvKiBFc2NhcGUgYWxsIGV4Y2VwdCB0aGUgY2hhcmFjdGVycyBzcGVjaWZpZWQgaW4gdGhlIHN1cHBsaWVkIHBhdGggKi8KKyAgICAgICAgZXNjVVJJID0geG1sVVJJRXNjYXBlU3RyKHBhdGgsIEJBRF9DQVNUICI6Lz9fLiMmOz0iKTsKKwlpZiAoZXNjVVJJICE9IE5VTEwpIHsKKwkgICAgLyogVHJ5IHBhcnNpbmcgdGhlIGVzY2FwZWQgcGF0aCAqLworCSAgICB1cmkgPSB4bWxQYXJzZVVSSSgoY29uc3QgY2hhciAqKSBlc2NVUkkpOworCSAgICAvKiBJZiBzdWNjZXNzZnVsLCByZXR1cm4gdGhlIGVzY2FwZWQgc3RyaW5nICovCisJICAgIGlmICh1cmkgIT0gTlVMTCkgeworCSAgICAgICAgeG1sRnJlZVVSSSh1cmkpOworCQlyZXR1cm4gZXNjVVJJOworCSAgICB9CisJfQorICAgIH0KKworcGF0aF9wcm9jZXNzaW5nOgorLyogRm9yIFdpbmRvd3MgaW1wbGVtZW50YXRpb25zLCByZXBsYWNlIGJhY2tzbGFzaGVzIHdpdGggJ2ZvcndhcmQgc2xhc2hlcycgKi8KKyNpZiBkZWZpbmVkKF9XSU4zMikgJiYgIWRlZmluZWQoX19DWUdXSU5fXykKKyAgICAvKgorICAgICAqIENyZWF0ZSBhIFVSSSBzdHJ1Y3R1cmUKKyAgICAgKi8KKyAgICB1cmkgPSB4bWxDcmVhdGVVUkkoKTsKKyAgICBpZiAodXJpID09IE5VTEwpIHsJCS8qIEd1YXJkIGFnYWluc3QgJ291dCBvZiBtZW1vcnknICovCisgICAgICAgIHJldHVybihOVUxMKTsKKyAgICB9CisKKyAgICBsZW4gPSB4bWxTdHJsZW4ocGF0aCk7CisgICAgaWYgKChsZW4gPiAyKSAmJiBJU19XSU5ET1dTX1BBVEgocGF0aCkpIHsKKyAgICAgICAgLyogbWFrZSB0aGUgc2NoZW1lICdmaWxlJyAqLworCXVyaS0+c2NoZW1lID0geG1sU3RyZHVwKEJBRF9DQVNUICJmaWxlIik7CisJLyogYWxsb2NhdGUgc3BhY2UgZm9yIGxlYWRpbmcgJy8nICsgcGF0aCArIHN0cmluZyB0ZXJtaW5hdG9yICovCisJdXJpLT5wYXRoID0geG1sTWFsbG9jQXRvbWljKGxlbiArIDIpOworCWlmICh1cmktPnBhdGggPT0gTlVMTCkgeworCSAgICB4bWxGcmVlVVJJKHVyaSk7CS8qIEd1YXJkIGFnYWlucyAnb3V0IG9mIG1lbW9yeScgKi8KKwkgICAgcmV0dXJuKE5VTEwpOworCX0KKwkvKiBQdXQgaW4gbGVhZGluZyAnLycgcGx1cyBwYXRoICovCisJdXJpLT5wYXRoWzBdID0gJy8nOworCXAgPSB1cmktPnBhdGggKyAxOworCXN0cm5jcHkocCwgcGF0aCwgbGVuICsgMSk7CisgICAgfSBlbHNlIHsKKwl1cmktPnBhdGggPSB4bWxTdHJkdXAocGF0aCk7CisJaWYgKHVyaS0+cGF0aCA9PSBOVUxMKSB7CisJICAgIHhtbEZyZWVVUkkodXJpKTsKKwkgICAgcmV0dXJuKE5VTEwpOworCX0KKwlwID0gdXJpLT5wYXRoOworICAgIH0KKyAgICAvKiBOb3cgY2hhbmdlIGFsbCBvY2N1cmVuY2VzIG9mICdcJyB0byAnLycgKi8KKyAgICB3aGlsZSAoKnAgIT0gJ1wwJykgeworCWlmICgqcCA9PSAnXFwnKQorCSAgICAqcCA9ICcvJzsKKwlwKys7CisgICAgfQorCisgICAgaWYgKHVyaS0+c2NoZW1lID09IE5VTEwpIHsKKwlyZXQgPSB4bWxTdHJkdXAoKGNvbnN0IHhtbENoYXIgKikgdXJpLT5wYXRoKTsKKyAgICB9IGVsc2UgeworCXJldCA9IHhtbFNhdmVVcmkodXJpKTsKKyAgICB9CisKKyAgICB4bWxGcmVlVVJJKHVyaSk7CisjZWxzZQorICAgIHJldCA9IHhtbFN0cmR1cCgoY29uc3QgeG1sQ2hhciAqKSBwYXRoKTsKKyNlbmRpZgorICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbFBhdGhUb1VSSToKKyAqIEBwYXRoOiAgdGhlIHJlc291cmNlIGxvY2F0b3IgaW4gYSBmaWxlc3lzdGVtIG5vdGF0aW9uCisgKgorICogQ29uc3RydWN0cyBhbiBVUkkgZXhwcmVzc2luZyB0aGUgZXhpc3RpbmcgcGF0aAorICoKKyAqIFJldHVybnMgYSBuZXcgVVJJLCBvciBhIGR1cGxpY2F0ZSBvZiB0aGUgcGF0aCBwYXJhbWV0ZXIgaWYgdGhlCisgKiBjb25zdHJ1Y3Rpb24gZmFpbHMuIFRoZSBjYWxsZXIgaXMgcmVzcG9uc2libGUgZm9yIGZyZWVpbmcgdGhlIG1lbW9yeQorICogb2NjdXBpZWQgYnkgdGhlIHJldHVybmVkIHN0cmluZy4gSWYgdGhlcmUgaXMgaW5zdWZmaWNpZW50IG1lbW9yeSBhdmFpbGFibGUsCisgKiBvciB0aGUgYXJndW1lbnQgaXMgTlVMTCwgdGhlIGZ1bmN0aW9uIHJldHVybnMgTlVMTC4KKyAqLworeG1sQ2hhciAqCit4bWxQYXRoVG9VUkkoY29uc3QgeG1sQ2hhciAqcGF0aCkKK3sKKyAgICB4bWxVUklQdHIgdXJpOworICAgIHhtbFVSSSB0ZW1wOworICAgIHhtbENoYXIgKnJldCwgKmNhbDsKKworICAgIGlmIChwYXRoID09IE5VTEwpCisgICAgICAgIHJldHVybihOVUxMKTsKKworICAgIGlmICgodXJpID0geG1sUGFyc2VVUkkoKGNvbnN0IGNoYXIgKikgcGF0aCkpICE9IE5VTEwpIHsKKwl4bWxGcmVlVVJJKHVyaSk7CisJcmV0dXJuIHhtbFN0cmR1cChwYXRoKTsKKyAgICB9CisgICAgY2FsID0geG1sQ2Fub25pY1BhdGgocGF0aCk7CisgICAgaWYgKGNhbCA9PSBOVUxMKQorICAgICAgICByZXR1cm4oTlVMTCk7CisjaWYgZGVmaW5lZChfV0lOMzIpICYmICFkZWZpbmVkKF9fQ1lHV0lOX18pCisgICAgLyogeG1sQ2Fub25pY1BhdGggY2FuIHJldHVybiBhbiBVUkkgb24gV2luZG93cyAoaXMgdGhhdCB0aGUgaW50ZW5kZWQgYmVoYXZpb3VyPykKKyAgICAgICBJZiAnY2FsJyBpcyBhIHZhbGlkIFVSSSBhbGxyZWFkeSB0aGVuIHdlIGFyZSBkb25lIGhlcmUsIGFzIGNvbnRpbnVpbmcgd291bGQgbWFrZQorICAgICAgIGl0IGludmFsaWQuICovCisgICAgaWYgKCh1cmkgPSB4bWxQYXJzZVVSSSgoY29uc3QgY2hhciAqKSBjYWwpKSAhPSBOVUxMKSB7CisJeG1sRnJlZVVSSSh1cmkpOworCXJldHVybiBjYWw7CisgICAgfQorICAgIC8qICdjYWwnIGNhbiBjb250YWluIGEgcmVsYXRpdmUgcGF0aCB3aXRoIGJhY2tzbGFzaGVzLiBJZiB0aGF0IGlzIHByb2Nlc3NlZAorICAgICAgIGJ5IHhtbFNhdmVVUkksIHRoZXkgd2lsbCBiZSBlc2NhcGVkIGFuZCB0aGUgZXh0ZXJuYWwgZW50aXR5IGxvYWRlciBtYWNoaW5lcnkKKyAgICAgICB3aWxsIGZhaWwuIFNvIGNvbnZlcnQgdGhlbSB0byBzbGFzaGVzLiBNaXN1c2UgJ3JldCcgZm9yIHdhbGtpbmcuICovCisgICAgcmV0ID0gY2FsOworICAgIHdoaWxlICgqcmV0ICE9ICdcMCcpIHsKKwlpZiAoKnJldCA9PSAnXFwnKQorCSAgICAqcmV0ID0gJy8nOworCXJldCsrOworICAgIH0KKyNlbmRpZgorICAgIG1lbXNldCgmdGVtcCwgMCwgc2l6ZW9mKHRlbXApKTsKKyAgICB0ZW1wLnBhdGggPSAoY2hhciAqKSBjYWw7CisgICAgcmV0ID0geG1sU2F2ZVVyaSgmdGVtcCk7CisgICAgeG1sRnJlZShjYWwpOworICAgIHJldHVybihyZXQpOworfQorI2RlZmluZSBib3R0b21fdXJpCisjaW5jbHVkZSAiZWxmZ2NjaGFjay5oIgpkaWZmIC0tZ2l0IGEvbGlieG1sMi92YWxpZC5jIGIvbGlieG1sMi92YWxpZC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQwOWFhODEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3ZhbGlkLmMKQEAgLTAsMCArMSw3MDUyIEBACisvKgorICogdmFsaWQuYyA6IHBhcnQgb2YgdGhlIGNvZGUgdXNlIHRvIGRvIHRoZSBEVEQgaGFuZGxpbmcgYW5kIHRoZSB2YWxpZGl0eQorICogICAgICAgICAgIGNoZWNraW5nCisgKgorICogU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgorICoKKyAqIGRhbmllbEB2ZWlsbGFyZC5jb20KKyAqLworCisjZGVmaW5lIElOX0xJQlhNTAorI2luY2x1ZGUgImxpYnhtbC5oIgorCisjaW5jbHVkZSA8c3RyaW5nLmg+CisKKyNpZmRlZiBIQVZFX1NURExJQl9ICisjaW5jbHVkZSA8c3RkbGliLmg+CisjZW5kaWYKKworI2luY2x1ZGUgPGxpYnhtbC94bWxtZW1vcnkuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvaGFzaC5oPgorI2luY2x1ZGUgPGxpYnhtbC91cmkuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvdmFsaWQuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvcGFyc2VyLmg+CisjaW5jbHVkZSA8bGlieG1sL3BhcnNlckludGVybmFscy5oPgorI2luY2x1ZGUgPGxpYnhtbC94bWxlcnJvci5oPgorI2luY2x1ZGUgPGxpYnhtbC9saXN0Lmg+CisjaW5jbHVkZSA8bGlieG1sL2dsb2JhbHMuaD4KKworc3RhdGljIHhtbEVsZW1lbnRQdHIgeG1sR2V0RHRkRWxlbWVudERlc2MyKHhtbER0ZFB0ciBkdGQsIGNvbnN0IHhtbENoYXIgKm5hbWUsCisJICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGNyZWF0ZSk7CisvKiAjZGVmaW5lIERFQlVHX1ZBTElEX0FMR08gKi8KKy8qICNkZWZpbmUgREVCVUdfUkVHRVhQX0FMR08gKi8KKworI2RlZmluZSBUT0RPCQkJCQkJCQlcCisgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCQkJCVwKKwkgICAgIlVuaW1wbGVtZW50ZWQgYmxvY2sgYXQgJXM6JWRcbiIsCQkJCVwKKyAgICAgICAgICAgIF9fRklMRV9fLCBfX0xJTkVfXyk7CisKKyNpZmRlZiBMSUJYTUxfVkFMSURfRU5BQkxFRAorc3RhdGljIGludAoreG1sVmFsaWRhdGVBdHRyaWJ1dGVWYWx1ZUludGVybmFsKHhtbERvY1B0ciBkb2MsIHhtbEF0dHJpYnV0ZVR5cGUgdHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICp2YWx1ZSk7CisjZW5kaWYKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCQlFcnJvciBoYW5kbGluZyByb3V0aW5lcwkJCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKgorICogeG1sVkVyck1lbW9yeToKKyAqIEBjdHh0OiAgYW4gWE1MIHZhbGlkYXRpb24gcGFyc2VyIGNvbnRleHQKKyAqIEBleHRyYTogIGV4dHJhIGluZm9ybWF0aW9ucworICoKKyAqIEhhbmRsZSBhbiBvdXQgb2YgbWVtb3J5IGVycm9yCisgKi8KK3N0YXRpYyB2b2lkCit4bWxWRXJyTWVtb3J5KHhtbFZhbGlkQ3R4dFB0ciBjdHh0LCBjb25zdCBjaGFyICpleHRyYSkKK3sKKyAgICB4bWxHZW5lcmljRXJyb3JGdW5jIGNoYW5uZWwgPSBOVUxMOworICAgIHhtbFBhcnNlckN0eHRQdHIgcGN0eHQgPSBOVUxMOworICAgIHZvaWQgKmRhdGEgPSBOVUxMOworCisgICAgaWYgKGN0eHQgIT0gTlVMTCkgeworICAgICAgICBjaGFubmVsID0gY3R4dC0+ZXJyb3I7CisgICAgICAgIGRhdGEgPSBjdHh0LT51c2VyRGF0YTsKKwkvKiBVc2UgdGhlIHNwZWNpYWwgdmFsdWVzIHRvIGRldGVjdCBpZiBpdCBpcyBwYXJ0IG9mIGEgcGFyc2luZworCSAgIGNvbnRleHQgKi8KKwlpZiAoKGN0eHQtPmZpbmlzaER0ZCA9PSBYTUxfQ1RYVF9GSU5JU0hfRFREXzApIHx8CisJICAgIChjdHh0LT5maW5pc2hEdGQgPT0gWE1MX0NUWFRfRklOSVNIX0RURF8xKSkgeworCSAgICBsb25nIGRlbHRhID0gKGNoYXIgKikgY3R4dCAtIChjaGFyICopIGN0eHQtPnVzZXJEYXRhOworCSAgICBpZiAoKGRlbHRhID4gMCkgJiYgKGRlbHRhIDwgMjUwKSkKKwkJcGN0eHQgPSBjdHh0LT51c2VyRGF0YTsKKwl9CisgICAgfQorICAgIGlmIChleHRyYSkKKyAgICAgICAgX194bWxSYWlzZUVycm9yKE5VTEwsIGNoYW5uZWwsIGRhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICBwY3R4dCwgTlVMTCwgWE1MX0ZST01fVkFMSUQsIFhNTF9FUlJfTk9fTUVNT1JZLAorICAgICAgICAgICAgICAgICAgICAgICAgWE1MX0VSUl9GQVRBTCwgTlVMTCwgMCwgZXh0cmEsIE5VTEwsIE5VTEwsIDAsIDAsCisgICAgICAgICAgICAgICAgICAgICAgICAiTWVtb3J5IGFsbG9jYXRpb24gZmFpbGVkIDogJXNcbiIsIGV4dHJhKTsKKyAgICBlbHNlCisgICAgICAgIF9feG1sUmFpc2VFcnJvcihOVUxMLCBjaGFubmVsLCBkYXRhLAorICAgICAgICAgICAgICAgICAgICAgICAgcGN0eHQsIE5VTEwsIFhNTF9GUk9NX1ZBTElELCBYTUxfRVJSX05PX01FTU9SWSwKKyAgICAgICAgICAgICAgICAgICAgICAgIFhNTF9FUlJfRkFUQUwsIE5VTEwsIDAsIE5VTEwsIE5VTEwsIE5VTEwsIDAsIDAsCisgICAgICAgICAgICAgICAgICAgICAgICAiTWVtb3J5IGFsbG9jYXRpb24gZmFpbGVkXG4iKTsKK30KKworLyoqCisgKiB4bWxFcnJWYWxpZDoKKyAqIEBjdHh0OiAgYW4gWE1MIHZhbGlkYXRpb24gcGFyc2VyIGNvbnRleHQKKyAqIEBlcnJvcjogIHRoZSBlcnJvciBudW1iZXIKKyAqIEBleHRyYTogIGV4dHJhIGluZm9ybWF0aW9ucworICoKKyAqIEhhbmRsZSBhIHZhbGlkYXRpb24gZXJyb3IKKyAqLworc3RhdGljIHZvaWQKK3htbEVyclZhbGlkKHhtbFZhbGlkQ3R4dFB0ciBjdHh0LCB4bWxQYXJzZXJFcnJvcnMgZXJyb3IsCisgICAgICAgICAgICBjb25zdCBjaGFyICptc2csIGNvbnN0IGNoYXIgKmV4dHJhKQoreworICAgIHhtbEdlbmVyaWNFcnJvckZ1bmMgY2hhbm5lbCA9IE5VTEw7CisgICAgeG1sUGFyc2VyQ3R4dFB0ciBwY3R4dCA9IE5VTEw7CisgICAgdm9pZCAqZGF0YSA9IE5VTEw7CisKKyAgICBpZiAoY3R4dCAhPSBOVUxMKSB7CisgICAgICAgIGNoYW5uZWwgPSBjdHh0LT5lcnJvcjsKKyAgICAgICAgZGF0YSA9IGN0eHQtPnVzZXJEYXRhOworCS8qIFVzZSB0aGUgc3BlY2lhbCB2YWx1ZXMgdG8gZGV0ZWN0IGlmIGl0IGlzIHBhcnQgb2YgYSBwYXJzaW5nCisJICAgY29udGV4dCAqLworCWlmICgoY3R4dC0+ZmluaXNoRHRkID09IFhNTF9DVFhUX0ZJTklTSF9EVERfMCkgfHwKKwkgICAgKGN0eHQtPmZpbmlzaER0ZCA9PSBYTUxfQ1RYVF9GSU5JU0hfRFREXzEpKSB7CisJICAgIGxvbmcgZGVsdGEgPSAoY2hhciAqKSBjdHh0IC0gKGNoYXIgKikgY3R4dC0+dXNlckRhdGE7CisJICAgIGlmICgoZGVsdGEgPiAwKSAmJiAoZGVsdGEgPCAyNTApKQorCQlwY3R4dCA9IGN0eHQtPnVzZXJEYXRhOworCX0KKyAgICB9CisgICAgaWYgKGV4dHJhKQorICAgICAgICBfX3htbFJhaXNlRXJyb3IoTlVMTCwgY2hhbm5lbCwgZGF0YSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHBjdHh0LCBOVUxMLCBYTUxfRlJPTV9WQUxJRCwgZXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICBYTUxfRVJSX0VSUk9SLCBOVUxMLCAwLCBleHRyYSwgTlVMTCwgTlVMTCwgMCwgMCwKKyAgICAgICAgICAgICAgICAgICAgICAgIG1zZywgZXh0cmEpOworICAgIGVsc2UKKyAgICAgICAgX194bWxSYWlzZUVycm9yKE5VTEwsIGNoYW5uZWwsIGRhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICBwY3R4dCwgTlVMTCwgWE1MX0ZST01fVkFMSUQsIGVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgWE1MX0VSUl9FUlJPUiwgTlVMTCwgMCwgTlVMTCwgTlVMTCwgTlVMTCwgMCwgMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICIlcyIsIG1zZyk7Cit9CisKKyNpZiBkZWZpbmVkKExJQlhNTF9WQUxJRF9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisvKioKKyAqIHhtbEVyclZhbGlkTm9kZToKKyAqIEBjdHh0OiAgYW4gWE1MIHZhbGlkYXRpb24gcGFyc2VyIGNvbnRleHQKKyAqIEBub2RlOiAgdGhlIG5vZGUgcmFpc2luZyB0aGUgZXJyb3IKKyAqIEBlcnJvcjogIHRoZSBlcnJvciBudW1iZXIKKyAqIEBzdHIxOiAgZXh0cmEgaW5mb3JtYXRpb25zCisgKiBAc3RyMjogIGV4dHJhIGluZm9ybWF0aW9ucworICogQHN0cjM6ICBleHRyYSBpbmZvcm1hdGlvbnMKKyAqCisgKiBIYW5kbGUgYSB2YWxpZGF0aW9uIGVycm9yLCBwcm92aWRlIGNvbnRleHR1YWwgaW5mb3JtYXRpb25zCisgKi8KK3N0YXRpYyB2b2lkCit4bWxFcnJWYWxpZE5vZGUoeG1sVmFsaWRDdHh0UHRyIGN0eHQsCisgICAgICAgICAgICAgICAgeG1sTm9kZVB0ciBub2RlLCB4bWxQYXJzZXJFcnJvcnMgZXJyb3IsCisgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqbXNnLCBjb25zdCB4bWxDaGFyICogc3RyMSwKKyAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogc3RyMiwgY29uc3QgeG1sQ2hhciAqIHN0cjMpCit7CisgICAgeG1sU3RydWN0dXJlZEVycm9yRnVuYyBzY2hhbm5lbCA9IE5VTEw7CisgICAgeG1sR2VuZXJpY0Vycm9yRnVuYyBjaGFubmVsID0gTlVMTDsKKyAgICB4bWxQYXJzZXJDdHh0UHRyIHBjdHh0ID0gTlVMTDsKKyAgICB2b2lkICpkYXRhID0gTlVMTDsKKworICAgIGlmIChjdHh0ICE9IE5VTEwpIHsKKyAgICAgICAgY2hhbm5lbCA9IGN0eHQtPmVycm9yOworICAgICAgICBkYXRhID0gY3R4dC0+dXNlckRhdGE7CisJLyogVXNlIHRoZSBzcGVjaWFsIHZhbHVlcyB0byBkZXRlY3QgaWYgaXQgaXMgcGFydCBvZiBhIHBhcnNpbmcKKwkgICBjb250ZXh0ICovCisJaWYgKChjdHh0LT5maW5pc2hEdGQgPT0gWE1MX0NUWFRfRklOSVNIX0RURF8wKSB8fAorCSAgICAoY3R4dC0+ZmluaXNoRHRkID09IFhNTF9DVFhUX0ZJTklTSF9EVERfMSkpIHsKKwkgICAgbG9uZyBkZWx0YSA9IChjaGFyICopIGN0eHQgLSAoY2hhciAqKSBjdHh0LT51c2VyRGF0YTsKKwkgICAgaWYgKChkZWx0YSA+IDApICYmIChkZWx0YSA8IDI1MCkpCisJCXBjdHh0ID0gY3R4dC0+dXNlckRhdGE7CisJfQorICAgIH0KKyAgICBfX3htbFJhaXNlRXJyb3Ioc2NoYW5uZWwsIGNoYW5uZWwsIGRhdGEsIHBjdHh0LCBub2RlLCBYTUxfRlJPTV9WQUxJRCwgZXJyb3IsCisgICAgICAgICAgICAgICAgICAgIFhNTF9FUlJfRVJST1IsIE5VTEwsIDAsCisgICAgICAgICAgICAgICAgICAgIChjb25zdCBjaGFyICopIHN0cjEsCisgICAgICAgICAgICAgICAgICAgIChjb25zdCBjaGFyICopIHN0cjEsCisgICAgICAgICAgICAgICAgICAgIChjb25zdCBjaGFyICopIHN0cjMsIDAsIDAsIG1zZywgc3RyMSwgc3RyMiwgc3RyMyk7Cit9CisjZW5kaWYgLyogTElCWE1MX1ZBTElEX0VOQUJMRUQgb3IgTElCWE1MX1NDSEVNQVNfRU5BQkxFRCAqLworCisjaWZkZWYgTElCWE1MX1ZBTElEX0VOQUJMRUQKKy8qKgorICogeG1sRXJyVmFsaWROb2RlTnI6CisgKiBAY3R4dDogIGFuIFhNTCB2YWxpZGF0aW9uIHBhcnNlciBjb250ZXh0CisgKiBAbm9kZTogIHRoZSBub2RlIHJhaXNpbmcgdGhlIGVycm9yCisgKiBAZXJyb3I6ICB0aGUgZXJyb3IgbnVtYmVyCisgKiBAc3RyMTogIGV4dHJhIGluZm9ybWF0aW9ucworICogQGludDI6ICBleHRyYSBpbmZvcm1hdGlvbnMKKyAqIEBzdHIzOiAgZXh0cmEgaW5mb3JtYXRpb25zCisgKgorICogSGFuZGxlIGEgdmFsaWRhdGlvbiBlcnJvciwgcHJvdmlkZSBjb250ZXh0dWFsIGluZm9ybWF0aW9ucworICovCitzdGF0aWMgdm9pZAoreG1sRXJyVmFsaWROb2RlTnIoeG1sVmFsaWRDdHh0UHRyIGN0eHQsCisgICAgICAgICAgICAgICAgeG1sTm9kZVB0ciBub2RlLCB4bWxQYXJzZXJFcnJvcnMgZXJyb3IsCisgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqbXNnLCBjb25zdCB4bWxDaGFyICogc3RyMSwKKyAgICAgICAgICAgICAgICBpbnQgaW50MiwgY29uc3QgeG1sQ2hhciAqIHN0cjMpCit7CisgICAgeG1sU3RydWN0dXJlZEVycm9yRnVuYyBzY2hhbm5lbCA9IE5VTEw7CisgICAgeG1sR2VuZXJpY0Vycm9yRnVuYyBjaGFubmVsID0gTlVMTDsKKyAgICB4bWxQYXJzZXJDdHh0UHRyIHBjdHh0ID0gTlVMTDsKKyAgICB2b2lkICpkYXRhID0gTlVMTDsKKworICAgIGlmIChjdHh0ICE9IE5VTEwpIHsKKyAgICAgICAgY2hhbm5lbCA9IGN0eHQtPmVycm9yOworICAgICAgICBkYXRhID0gY3R4dC0+dXNlckRhdGE7CisJLyogVXNlIHRoZSBzcGVjaWFsIHZhbHVlcyB0byBkZXRlY3QgaWYgaXQgaXMgcGFydCBvZiBhIHBhcnNpbmcKKwkgICBjb250ZXh0ICovCisJaWYgKChjdHh0LT5maW5pc2hEdGQgPT0gWE1MX0NUWFRfRklOSVNIX0RURF8wKSB8fAorCSAgICAoY3R4dC0+ZmluaXNoRHRkID09IFhNTF9DVFhUX0ZJTklTSF9EVERfMSkpIHsKKwkgICAgbG9uZyBkZWx0YSA9IChjaGFyICopIGN0eHQgLSAoY2hhciAqKSBjdHh0LT51c2VyRGF0YTsKKwkgICAgaWYgKChkZWx0YSA+IDApICYmIChkZWx0YSA8IDI1MCkpCisJCXBjdHh0ID0gY3R4dC0+dXNlckRhdGE7CisJfQorICAgIH0KKyAgICBfX3htbFJhaXNlRXJyb3Ioc2NoYW5uZWwsIGNoYW5uZWwsIGRhdGEsIHBjdHh0LCBub2RlLCBYTUxfRlJPTV9WQUxJRCwgZXJyb3IsCisgICAgICAgICAgICAgICAgICAgIFhNTF9FUlJfRVJST1IsIE5VTEwsIDAsCisgICAgICAgICAgICAgICAgICAgIChjb25zdCBjaGFyICopIHN0cjEsCisgICAgICAgICAgICAgICAgICAgIChjb25zdCBjaGFyICopIHN0cjMsCisgICAgICAgICAgICAgICAgICAgIE5VTEwsIGludDIsIDAsIG1zZywgc3RyMSwgaW50Miwgc3RyMyk7Cit9CisKKy8qKgorICogeG1sRXJyVmFsaWRXYXJuaW5nOgorICogQGN0eHQ6ICBhbiBYTUwgdmFsaWRhdGlvbiBwYXJzZXIgY29udGV4dAorICogQG5vZGU6ICB0aGUgbm9kZSByYWlzaW5nIHRoZSBlcnJvcgorICogQGVycm9yOiAgdGhlIGVycm9yIG51bWJlcgorICogQHN0cjE6ICBleHRyYSBpbmZvcm1hdGlvbgorICogQHN0cjI6ICBleHRyYSBpbmZvcm1hdGlvbgorICogQHN0cjM6ICBleHRyYSBpbmZvcm1hdGlvbgorICoKKyAqIEhhbmRsZSBhIHZhbGlkYXRpb24gZXJyb3IsIHByb3ZpZGUgY29udGV4dHVhbCBpbmZvcm1hdGlvbgorICovCitzdGF0aWMgdm9pZAoreG1sRXJyVmFsaWRXYXJuaW5nKHhtbFZhbGlkQ3R4dFB0ciBjdHh0LAorICAgICAgICAgICAgICAgIHhtbE5vZGVQdHIgbm9kZSwgeG1sUGFyc2VyRXJyb3JzIGVycm9yLAorICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKm1zZywgY29uc3QgeG1sQ2hhciAqIHN0cjEsCisgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIHN0cjIsIGNvbnN0IHhtbENoYXIgKiBzdHIzKQoreworICAgIHhtbFN0cnVjdHVyZWRFcnJvckZ1bmMgc2NoYW5uZWwgPSBOVUxMOworICAgIHhtbEdlbmVyaWNFcnJvckZ1bmMgY2hhbm5lbCA9IE5VTEw7CisgICAgeG1sUGFyc2VyQ3R4dFB0ciBwY3R4dCA9IE5VTEw7CisgICAgdm9pZCAqZGF0YSA9IE5VTEw7CisKKyAgICBpZiAoY3R4dCAhPSBOVUxMKSB7CisgICAgICAgIGNoYW5uZWwgPSBjdHh0LT53YXJuaW5nOworICAgICAgICBkYXRhID0gY3R4dC0+dXNlckRhdGE7CisJLyogVXNlIHRoZSBzcGVjaWFsIHZhbHVlcyB0byBkZXRlY3QgaWYgaXQgaXMgcGFydCBvZiBhIHBhcnNpbmcKKwkgICBjb250ZXh0ICovCisJaWYgKChjdHh0LT5maW5pc2hEdGQgPT0gWE1MX0NUWFRfRklOSVNIX0RURF8wKSB8fAorCSAgICAoY3R4dC0+ZmluaXNoRHRkID09IFhNTF9DVFhUX0ZJTklTSF9EVERfMSkpIHsKKwkgICAgbG9uZyBkZWx0YSA9IChjaGFyICopIGN0eHQgLSAoY2hhciAqKSBjdHh0LT51c2VyRGF0YTsKKwkgICAgaWYgKChkZWx0YSA+IDApICYmIChkZWx0YSA8IDI1MCkpCisJCXBjdHh0ID0gY3R4dC0+dXNlckRhdGE7CisJfQorICAgIH0KKyAgICBfX3htbFJhaXNlRXJyb3Ioc2NoYW5uZWwsIGNoYW5uZWwsIGRhdGEsIHBjdHh0LCBub2RlLCBYTUxfRlJPTV9WQUxJRCwgZXJyb3IsCisgICAgICAgICAgICAgICAgICAgIFhNTF9FUlJfV0FSTklORywgTlVMTCwgMCwKKyAgICAgICAgICAgICAgICAgICAgKGNvbnN0IGNoYXIgKikgc3RyMSwKKyAgICAgICAgICAgICAgICAgICAgKGNvbnN0IGNoYXIgKikgc3RyMSwKKyAgICAgICAgICAgICAgICAgICAgKGNvbnN0IGNoYXIgKikgc3RyMywgMCwgMCwgbXNnLCBzdHIxLCBzdHIyLCBzdHIzKTsKK30KKworCisKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKKy8qCisgKiBJZiByZWdleHAgYXJlIGVuYWJsZWQgd2UgY2FuIGRvIGNvbnRpbnVvdXMgdmFsaWRhdGlvbiB3aXRob3V0IHRoZQorICogbmVlZCBvZiBhIHRyZWUgdG8gdmFsaWRhdGUgdGhlIGNvbnRlbnQgbW9kZWwuIHRoaXMgaXMgZG9uZSBpbiBlYWNoCisgKiBjYWxsYmFja3MuCisgKiBFYWNoIHhtbFZhbGlkU3RhdGUgcmVwcmVzZW50IHRoZSB2YWxpZGF0aW9uIHN0YXRlIGFzc29jaWF0ZWQgdG8gdGhlCisgKiBzZXQgb2Ygbm9kZXMgY3VycmVudGx5IG9wZW4gZnJvbSB0aGUgZG9jdW1lbnQgcm9vdCB0byB0aGUgY3VycmVudCBlbGVtZW50LgorICovCisKKwordHlwZWRlZiBzdHJ1Y3QgX3htbFZhbGlkU3RhdGUgeworICAgIHhtbEVsZW1lbnRQdHIJIGVsZW1EZWNsOwkvKiBwb2ludGVyIHRvIHRoZSBjb250ZW50IG1vZGVsICovCisgICAgeG1sTm9kZVB0ciAgICAgICAgICAgbm9kZTsJCS8qIHBvaW50ZXIgdG8gdGhlIGN1cnJlbnQgbm9kZSAqLworICAgIHhtbFJlZ0V4ZWNDdHh0UHRyICAgIGV4ZWM7CQkvKiByZWdleHAgcnVudGltZSAqLworfSBfeG1sVmFsaWRTdGF0ZTsKKworCitzdGF0aWMgaW50Cit2c3RhdGVWUHVzaCh4bWxWYWxpZEN0eHRQdHIgY3R4dCwgeG1sRWxlbWVudFB0ciBlbGVtRGVjbCwgeG1sTm9kZVB0ciBub2RlKSB7CisgICAgaWYgKChjdHh0LT52c3RhdGVNYXggPT0gMCkgfHwgKGN0eHQtPnZzdGF0ZVRhYiA9PSBOVUxMKSkgeworCWN0eHQtPnZzdGF0ZU1heCA9IDEwOworCWN0eHQtPnZzdGF0ZVRhYiA9ICh4bWxWYWxpZFN0YXRlICopIHhtbE1hbGxvYyhjdHh0LT52c3RhdGVNYXggKgorCQkgICAgICAgICAgICAgIHNpemVvZihjdHh0LT52c3RhdGVUYWJbMF0pKTsKKyAgICAgICAgaWYgKGN0eHQtPnZzdGF0ZVRhYiA9PSBOVUxMKSB7CisJICAgIHhtbFZFcnJNZW1vcnkoY3R4dCwgIm1hbGxvYyBmYWlsZWQiKTsKKwkgICAgcmV0dXJuKC0xKTsKKwl9CisgICAgfQorCisgICAgaWYgKGN0eHQtPnZzdGF0ZU5yID49IGN0eHQtPnZzdGF0ZU1heCkgeworICAgICAgICB4bWxWYWxpZFN0YXRlICp0bXA7CisKKwl0bXAgPSAoeG1sVmFsaWRTdGF0ZSAqKSB4bWxSZWFsbG9jKGN0eHQtPnZzdGF0ZVRhYiwKKwkgICAgICAgICAgICAgMiAqIGN0eHQtPnZzdGF0ZU1heCAqIHNpemVvZihjdHh0LT52c3RhdGVUYWJbMF0pKTsKKyAgICAgICAgaWYgKHRtcCA9PSBOVUxMKSB7CisJICAgIHhtbFZFcnJNZW1vcnkoY3R4dCwgInJlYWxsb2MgZmFpbGVkIik7CisJICAgIHJldHVybigtMSk7CisJfQorCWN0eHQtPnZzdGF0ZU1heCAqPSAyOworCWN0eHQtPnZzdGF0ZVRhYiA9IHRtcDsKKyAgICB9CisgICAgY3R4dC0+dnN0YXRlID0gJmN0eHQtPnZzdGF0ZVRhYltjdHh0LT52c3RhdGVOcl07CisgICAgY3R4dC0+dnN0YXRlVGFiW2N0eHQtPnZzdGF0ZU5yXS5lbGVtRGVjbCA9IGVsZW1EZWNsOworICAgIGN0eHQtPnZzdGF0ZVRhYltjdHh0LT52c3RhdGVOcl0ubm9kZSA9IG5vZGU7CisgICAgaWYgKChlbGVtRGVjbCAhPSBOVUxMKSAmJiAoZWxlbURlY2wtPmV0eXBlID09IFhNTF9FTEVNRU5UX1RZUEVfRUxFTUVOVCkpIHsKKwlpZiAoZWxlbURlY2wtPmNvbnRNb2RlbCA9PSBOVUxMKQorCSAgICB4bWxWYWxpZEJ1aWxkQ29udGVudE1vZGVsKGN0eHQsIGVsZW1EZWNsKTsKKwlpZiAoZWxlbURlY2wtPmNvbnRNb2RlbCAhPSBOVUxMKSB7CisJICAgIGN0eHQtPnZzdGF0ZVRhYltjdHh0LT52c3RhdGVOcl0uZXhlYyA9CisJCXhtbFJlZ05ld0V4ZWNDdHh0KGVsZW1EZWNsLT5jb250TW9kZWwsIE5VTEwsIE5VTEwpOworCX0gZWxzZSB7CisJICAgIGN0eHQtPnZzdGF0ZVRhYltjdHh0LT52c3RhdGVOcl0uZXhlYyA9IE5VTEw7CisJICAgIHhtbEVyclZhbGlkTm9kZShjdHh0LCAoeG1sTm9kZVB0cikgZWxlbURlY2wsCisJICAgICAgICAgICAgICAgICAgICBYTUxfRVJSX0lOVEVSTkFMX0VSUk9SLAorCQkJICAgICJGYWlsZWQgdG8gYnVpbGQgY29udGVudCBtb2RlbCByZWdleHAgZm9yICVzXG4iLAorCQkJICAgIG5vZGUtPm5hbWUsIE5VTEwsIE5VTEwpOworCX0KKyAgICB9CisgICAgcmV0dXJuKGN0eHQtPnZzdGF0ZU5yKyspOworfQorCitzdGF0aWMgaW50Cit2c3RhdGVWUG9wKHhtbFZhbGlkQ3R4dFB0ciBjdHh0KSB7CisgICAgeG1sRWxlbWVudFB0ciBlbGVtRGVjbDsKKworICAgIGlmIChjdHh0LT52c3RhdGVOciA8IDEpIHJldHVybigtMSk7CisgICAgY3R4dC0+dnN0YXRlTnItLTsKKyAgICBlbGVtRGVjbCA9IGN0eHQtPnZzdGF0ZVRhYltjdHh0LT52c3RhdGVOcl0uZWxlbURlY2w7CisgICAgY3R4dC0+dnN0YXRlVGFiW2N0eHQtPnZzdGF0ZU5yXS5lbGVtRGVjbCA9IE5VTEw7CisgICAgY3R4dC0+dnN0YXRlVGFiW2N0eHQtPnZzdGF0ZU5yXS5ub2RlID0gTlVMTDsKKyAgICBpZiAoKGVsZW1EZWNsICE9IE5VTEwpICYmIChlbGVtRGVjbC0+ZXR5cGUgPT0gWE1MX0VMRU1FTlRfVFlQRV9FTEVNRU5UKSkgeworCXhtbFJlZ0ZyZWVFeGVjQ3R4dChjdHh0LT52c3RhdGVUYWJbY3R4dC0+dnN0YXRlTnJdLmV4ZWMpOworICAgIH0KKyAgICBjdHh0LT52c3RhdGVUYWJbY3R4dC0+dnN0YXRlTnJdLmV4ZWMgPSBOVUxMOworICAgIGlmIChjdHh0LT52c3RhdGVOciA+PSAxKQorCWN0eHQtPnZzdGF0ZSA9ICZjdHh0LT52c3RhdGVUYWJbY3R4dC0+dnN0YXRlTnIgLSAxXTsKKyAgICBlbHNlCisJY3R4dC0+dnN0YXRlID0gTlVMTDsKKyAgICByZXR1cm4oY3R4dC0+dnN0YXRlTnIpOworfQorCisjZWxzZSAvKiBub3QgTElCWE1MX1JFR0VYUF9FTkFCTEVEICovCisvKgorICogSWYgcmVnZXhwIGFyZSBub3QgZW5hYmxlZCwgaXQgdXNlcyBhIGhvbWUgbWFkZSBhbGdvcml0aG0gbGVzcworICogY29tcGxleCBhbmQgZWFzaWVyIHRvCisgKiBkZWJ1Zy9tYWludGFpbiB0aGFuIGEgZ2VuZXJpYyBORkEgLT4gREZBIHN0YXRlIGJhc2VkIGFsZ28uIFRoZQorICogb25seSByZXN0cmljdGlvbiBpcyBvbiB0aGUgZGVlcG5lc3Mgb2YgdGhlIHRyZWUgbGltaXRlZCBieSB0aGUKKyAqIHNpemUgb2YgdGhlIG9jY3VycyBiaXRmaWVsZAorICoKKyAqIHRoaXMgaXMgdGhlIGNvbnRlbnQgb2YgYSBzYXZlZCBzdGF0ZSBmb3Igcm9sbGJhY2tzCisgKi8KKworI2RlZmluZSBST0xMQkFDS19PUgkwCisjZGVmaW5lIFJPTExCQUNLX1BBUkVOVAkxCisKK3R5cGVkZWYgc3RydWN0IF94bWxWYWxpZFN0YXRlIHsKKyAgICB4bWxFbGVtZW50Q29udGVudFB0ciBjb250OwkvKiBwb2ludGVyIHRvIHRoZSBjb250ZW50IG1vZGVsIHN1YnRyZWUgKi8KKyAgICB4bWxOb2RlUHRyICAgICAgICAgICBub2RlOwkvKiBwb2ludGVyIHRvIHRoZSBjdXJyZW50IG5vZGUgaW4gdGhlIGxpc3QgKi8KKyAgICBsb25nICAgICAgICAgICAgICAgICBvY2N1cnM7LyogYml0ZmllbGQgZm9yIG11bHRpcGxlIG9jY3VycmVuY2VzICovCisgICAgdW5zaWduZWQgY2hhciAgICAgICAgZGVwdGg7IC8qIGN1cnJlbnQgZGVwdGggaW4gdGhlIG92ZXJhbGwgdHJlZSAqLworICAgIHVuc2lnbmVkIGNoYXIgICAgICAgIHN0YXRlOyAvKiBST0xMQkFDS19YWFggKi8KK30gX3htbFZhbGlkU3RhdGU7CisKKyNkZWZpbmUgTUFYX1JFQ1VSU0UgMjUwMDAKKyNkZWZpbmUgTUFYX0RFUFRIICgoc2l6ZW9mKF94bWxWYWxpZFN0YXRlLm9jY3VycykpICogOCkKKyNkZWZpbmUgQ09OVCBjdHh0LT52c3RhdGUtPmNvbnQKKyNkZWZpbmUgTk9ERSBjdHh0LT52c3RhdGUtPm5vZGUKKyNkZWZpbmUgREVQVEggY3R4dC0+dnN0YXRlLT5kZXB0aAorI2RlZmluZSBPQ0NVUlMgY3R4dC0+dnN0YXRlLT5vY2N1cnMKKyNkZWZpbmUgU1RBVEUgY3R4dC0+dnN0YXRlLT5zdGF0ZQorCisjZGVmaW5lIE9DQ1VSUkVOQ0UgKGN0eHQtPnZzdGF0ZS0+b2NjdXJzICYgKDEgPDwgREVQVEgpKQorI2RlZmluZSBQQVJFTlRfT0NDVVJSRU5DRSAoY3R4dC0+dnN0YXRlLT5vY2N1cnMgJiAoKDEgPDwgREVQVEgpIC0gMSkpCisKKyNkZWZpbmUgU0VUX09DQ1VSUkVOQ0UgY3R4dC0+dnN0YXRlLT5vY2N1cnMgfD0gKDEgPDwgREVQVEgpCisjZGVmaW5lIFJFU0VUX09DQ1VSUkVOQ0UgY3R4dC0+dnN0YXRlLT5vY2N1cnMgJj0gKCgxIDw8IERFUFRIKSAtIDEpCisKK3N0YXRpYyBpbnQKK3ZzdGF0ZVZQdXNoKHhtbFZhbGlkQ3R4dFB0ciBjdHh0LCB4bWxFbGVtZW50Q29udGVudFB0ciBjb250LAorCSAgICB4bWxOb2RlUHRyIG5vZGUsIHVuc2lnbmVkIGNoYXIgZGVwdGgsIGxvbmcgb2NjdXJzLAorCSAgICB1bnNpZ25lZCBjaGFyIHN0YXRlKSB7CisgICAgaW50IGkgPSBjdHh0LT52c3RhdGVOciAtIDE7CisKKyAgICBpZiAoY3R4dC0+dnN0YXRlTnIgPiBNQVhfUkVDVVJTRSkgeworCXJldHVybigtMSk7CisgICAgfQorICAgIGlmIChjdHh0LT52c3RhdGVUYWIgPT0gTlVMTCkgeworCWN0eHQtPnZzdGF0ZU1heCA9IDg7CisJY3R4dC0+dnN0YXRlVGFiID0gKHhtbFZhbGlkU3RhdGUgKikgeG1sTWFsbG9jKAorCQkgICAgIGN0eHQtPnZzdGF0ZU1heCAqIHNpemVvZihjdHh0LT52c3RhdGVUYWJbMF0pKTsKKwlpZiAoY3R4dC0+dnN0YXRlVGFiID09IE5VTEwpIHsKKwkgICAgeG1sVkVyck1lbW9yeShjdHh0LCAibWFsbG9jIGZhaWxlZCIpOworCSAgICByZXR1cm4oLTEpOworCX0KKyAgICB9CisgICAgaWYgKGN0eHQtPnZzdGF0ZU5yID49IGN0eHQtPnZzdGF0ZU1heCkgeworICAgICAgICB4bWxWYWxpZFN0YXRlICp0bXA7CisKKyAgICAgICAgdG1wID0gKHhtbFZhbGlkU3RhdGUgKikgeG1sUmVhbGxvYyhjdHh0LT52c3RhdGVUYWIsCisJICAgICAgICAgICAgIDIgKiBjdHh0LT52c3RhdGVNYXggKiBzaXplb2YoY3R4dC0+dnN0YXRlVGFiWzBdKSk7CisgICAgICAgIGlmICh0bXAgPT0gTlVMTCkgeworCSAgICB4bWxWRXJyTWVtb3J5KGN0eHQsICJtYWxsb2MgZmFpbGVkIik7CisJICAgIHJldHVybigtMSk7CisJfQorCWN0eHQtPnZzdGF0ZU1heCAqPSAyOworCWN0eHQtPnZzdGF0ZVRhYiA9IHRtcDsKKwljdHh0LT52c3RhdGUgPSAmY3R4dC0+dnN0YXRlVGFiWzBdOworICAgIH0KKyAgICAvKgorICAgICAqIERvbid0IHB1c2ggb24gdGhlIHN0YWNrIGEgc3RhdGUgYWxyZWFkeSBoZXJlCisgICAgICovCisgICAgaWYgKChpID49IDApICYmIChjdHh0LT52c3RhdGVUYWJbaV0uY29udCA9PSBjb250KSAmJgorCShjdHh0LT52c3RhdGVUYWJbaV0ubm9kZSA9PSBub2RlKSAmJgorCShjdHh0LT52c3RhdGVUYWJbaV0uZGVwdGggPT0gZGVwdGgpICYmCisJKGN0eHQtPnZzdGF0ZVRhYltpXS5vY2N1cnMgPT0gb2NjdXJzKSAmJgorCShjdHh0LT52c3RhdGVUYWJbaV0uc3RhdGUgPT0gc3RhdGUpKQorCXJldHVybihjdHh0LT52c3RhdGVOcik7CisgICAgY3R4dC0+dnN0YXRlVGFiW2N0eHQtPnZzdGF0ZU5yXS5jb250ID0gY29udDsKKyAgICBjdHh0LT52c3RhdGVUYWJbY3R4dC0+dnN0YXRlTnJdLm5vZGUgPSBub2RlOworICAgIGN0eHQtPnZzdGF0ZVRhYltjdHh0LT52c3RhdGVOcl0uZGVwdGggPSBkZXB0aDsKKyAgICBjdHh0LT52c3RhdGVUYWJbY3R4dC0+dnN0YXRlTnJdLm9jY3VycyA9IG9jY3VyczsKKyAgICBjdHh0LT52c3RhdGVUYWJbY3R4dC0+dnN0YXRlTnJdLnN0YXRlID0gc3RhdGU7CisgICAgcmV0dXJuKGN0eHQtPnZzdGF0ZU5yKyspOworfQorCitzdGF0aWMgaW50Cit2c3RhdGVWUG9wKHhtbFZhbGlkQ3R4dFB0ciBjdHh0KSB7CisgICAgaWYgKGN0eHQtPnZzdGF0ZU5yIDw9IDEpIHJldHVybigtMSk7CisgICAgY3R4dC0+dnN0YXRlTnItLTsKKyAgICBjdHh0LT52c3RhdGUgPSAmY3R4dC0+dnN0YXRlVGFiWzBdOworICAgIGN0eHQtPnZzdGF0ZS0+Y29udCA9ICBjdHh0LT52c3RhdGVUYWJbY3R4dC0+dnN0YXRlTnJdLmNvbnQ7CisgICAgY3R4dC0+dnN0YXRlLT5ub2RlID0gY3R4dC0+dnN0YXRlVGFiW2N0eHQtPnZzdGF0ZU5yXS5ub2RlOworICAgIGN0eHQtPnZzdGF0ZS0+ZGVwdGggPSBjdHh0LT52c3RhdGVUYWJbY3R4dC0+dnN0YXRlTnJdLmRlcHRoOworICAgIGN0eHQtPnZzdGF0ZS0+b2NjdXJzID0gY3R4dC0+dnN0YXRlVGFiW2N0eHQtPnZzdGF0ZU5yXS5vY2N1cnM7CisgICAgY3R4dC0+dnN0YXRlLT5zdGF0ZSA9IGN0eHQtPnZzdGF0ZVRhYltjdHh0LT52c3RhdGVOcl0uc3RhdGU7CisgICAgcmV0dXJuKGN0eHQtPnZzdGF0ZU5yKTsKK30KKworI2VuZGlmIC8qIExJQlhNTF9SRUdFWFBfRU5BQkxFRCAqLworCitzdGF0aWMgaW50Citub2RlVlB1c2goeG1sVmFsaWRDdHh0UHRyIGN0eHQsIHhtbE5vZGVQdHIgdmFsdWUpCit7CisgICAgaWYgKGN0eHQtPm5vZGVNYXggPD0gMCkgeworICAgICAgICBjdHh0LT5ub2RlTWF4ID0gNDsKKyAgICAgICAgY3R4dC0+bm9kZVRhYiA9CisgICAgICAgICAgICAoeG1sTm9kZVB0ciAqKSB4bWxNYWxsb2MoY3R4dC0+bm9kZU1heCAqCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKGN0eHQtPm5vZGVUYWJbMF0pKTsKKyAgICAgICAgaWYgKGN0eHQtPm5vZGVUYWIgPT0gTlVMTCkgeworCSAgICB4bWxWRXJyTWVtb3J5KGN0eHQsICJtYWxsb2MgZmFpbGVkIik7CisgICAgICAgICAgICBjdHh0LT5ub2RlTWF4ID0gMDsKKyAgICAgICAgICAgIHJldHVybiAoMCk7CisgICAgICAgIH0KKyAgICB9CisgICAgaWYgKGN0eHQtPm5vZGVOciA+PSBjdHh0LT5ub2RlTWF4KSB7CisgICAgICAgIHhtbE5vZGVQdHIgKnRtcDsKKyAgICAgICAgdG1wID0gKHhtbE5vZGVQdHIgKikgeG1sUmVhbGxvYyhjdHh0LT5ub2RlVGFiLAorCQkJICAgICAgY3R4dC0+bm9kZU1heCAqIDIgKiBzaXplb2YoY3R4dC0+bm9kZVRhYlswXSkpOworICAgICAgICBpZiAodG1wID09IE5VTEwpIHsKKwkgICAgeG1sVkVyck1lbW9yeShjdHh0LCAicmVhbGxvYyBmYWlsZWQiKTsKKyAgICAgICAgICAgIHJldHVybiAoMCk7CisgICAgICAgIH0KKyAgICAgICAgY3R4dC0+bm9kZU1heCAqPSAyOworCWN0eHQtPm5vZGVUYWIgPSB0bXA7CisgICAgfQorICAgIGN0eHQtPm5vZGVUYWJbY3R4dC0+bm9kZU5yXSA9IHZhbHVlOworICAgIGN0eHQtPm5vZGUgPSB2YWx1ZTsKKyAgICByZXR1cm4gKGN0eHQtPm5vZGVOcisrKTsKK30KK3N0YXRpYyB4bWxOb2RlUHRyCitub2RlVlBvcCh4bWxWYWxpZEN0eHRQdHIgY3R4dCkKK3sKKyAgICB4bWxOb2RlUHRyIHJldDsKKworICAgIGlmIChjdHh0LT5ub2RlTnIgPD0gMCkKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICBjdHh0LT5ub2RlTnItLTsKKyAgICBpZiAoY3R4dC0+bm9kZU5yID4gMCkKKyAgICAgICAgY3R4dC0+bm9kZSA9IGN0eHQtPm5vZGVUYWJbY3R4dC0+bm9kZU5yIC0gMV07CisgICAgZWxzZQorICAgICAgICBjdHh0LT5ub2RlID0gTlVMTDsKKyAgICByZXQgPSBjdHh0LT5ub2RlVGFiW2N0eHQtPm5vZGVOcl07CisgICAgY3R4dC0+bm9kZVRhYltjdHh0LT5ub2RlTnJdID0gTlVMTDsKKyAgICByZXR1cm4gKHJldCk7Cit9CisKKyNpZmRlZiBERUJVR19WQUxJRF9BTEdPCitzdGF0aWMgdm9pZAoreG1sVmFsaWRQcmludE5vZGUoeG1sTm9kZVB0ciBjdXIpIHsKKyAgICBpZiAoY3VyID09IE5VTEwpIHsKKwl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgIm51bGwiKTsKKwlyZXR1cm47CisgICAgfQorICAgIHN3aXRjaCAoY3VyLT50eXBlKSB7CisJY2FzZSBYTUxfRUxFTUVOVF9OT0RFOgorCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgIiVzICIsIGN1ci0+bmFtZSk7CisJICAgIGJyZWFrOworCWNhc2UgWE1MX1RFWFRfTk9ERToKKwkgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICJ0ZXh0ICIpOworCSAgICBicmVhazsKKwljYXNlIFhNTF9DREFUQV9TRUNUSU9OX05PREU6CisJICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCAiY2RhdGEgIik7CisJICAgIGJyZWFrOworCWNhc2UgWE1MX0VOVElUWV9SRUZfTk9ERToKKwkgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICImJXM7ICIsIGN1ci0+bmFtZSk7CisJICAgIGJyZWFrOworCWNhc2UgWE1MX1BJX05PREU6CisJICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCAicGkoJXMpICIsIGN1ci0+bmFtZSk7CisJICAgIGJyZWFrOworCWNhc2UgWE1MX0NPTU1FTlRfTk9ERToKKwkgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICJjb21tZW50ICIpOworCSAgICBicmVhazsKKwljYXNlIFhNTF9BVFRSSUJVVEVfTk9ERToKKwkgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICI/YXR0cj8gIik7CisJICAgIGJyZWFrOworCWNhc2UgWE1MX0VOVElUWV9OT0RFOgorCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgIj9lbnQ/ICIpOworCSAgICBicmVhazsKKwljYXNlIFhNTF9ET0NVTUVOVF9OT0RFOgorCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgIj9kb2M/ICIpOworCSAgICBicmVhazsKKwljYXNlIFhNTF9ET0NVTUVOVF9UWVBFX05PREU6CisJICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCAiP2RvY3R5cGU/ICIpOworCSAgICBicmVhazsKKwljYXNlIFhNTF9ET0NVTUVOVF9GUkFHX05PREU6CisJICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCAiP2ZyYWc/ICIpOworCSAgICBicmVhazsKKwljYXNlIFhNTF9OT1RBVElPTl9OT0RFOgorCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgIj9ub3RhPyAiKTsKKwkgICAgYnJlYWs7CisJY2FzZSBYTUxfSFRNTF9ET0NVTUVOVF9OT0RFOgorCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgIj9odG1sPyAiKTsKKwkgICAgYnJlYWs7CisjaWZkZWYgTElCWE1MX0RPQ0JfRU5BQkxFRAorCWNhc2UgWE1MX0RPQ0JfRE9DVU1FTlRfTk9ERToKKwkgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICI/ZG9jYj8gIik7CisJICAgIGJyZWFrOworI2VuZGlmCisJY2FzZSBYTUxfRFREX05PREU6CisJICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCAiP2R0ZD8gIik7CisJICAgIGJyZWFrOworCWNhc2UgWE1MX0VMRU1FTlRfREVDTDoKKwkgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICI/ZWRlY2w/ICIpOworCSAgICBicmVhazsKKwljYXNlIFhNTF9BVFRSSUJVVEVfREVDTDoKKwkgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICI/YWRlY2w/ICIpOworCSAgICBicmVhazsKKwljYXNlIFhNTF9FTlRJVFlfREVDTDoKKwkgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICI/ZW50ZGVjbD8gIik7CisJICAgIGJyZWFrOworCWNhc2UgWE1MX05BTUVTUEFDRV9ERUNMOgorCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgIj9uc2RlY2w/ICIpOworCSAgICBicmVhazsKKwljYXNlIFhNTF9YSU5DTFVERV9TVEFSVDoKKwkgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICJpbmNzdGFydCAiKTsKKwkgICAgYnJlYWs7CisJY2FzZSBYTUxfWElOQ0xVREVfRU5EOgorCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgImluY2VuZCAiKTsKKwkgICAgYnJlYWs7CisgICAgfQorfQorCitzdGF0aWMgdm9pZAoreG1sVmFsaWRQcmludE5vZGVMaXN0KHhtbE5vZGVQdHIgY3VyKSB7CisgICAgaWYgKGN1ciA9PSBOVUxMKQorCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCAibnVsbCAiKTsKKyAgICB3aGlsZSAoY3VyICE9IE5VTEwpIHsKKwl4bWxWYWxpZFByaW50Tm9kZShjdXIpOworCWN1ciA9IGN1ci0+bmV4dDsKKyAgICB9Cit9CisKK3N0YXRpYyB2b2lkCit4bWxWYWxpZERlYnVnKHhtbE5vZGVQdHIgY3VyLCB4bWxFbGVtZW50Q29udGVudFB0ciBjb250KSB7CisgICAgY2hhciBleHByWzUwMDBdOworCisgICAgZXhwclswXSA9IDA7CisgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICJ2YWxpZDogIik7CisgICAgeG1sVmFsaWRQcmludE5vZGVMaXN0KGN1cik7CisgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICJhZ2FpbnN0ICIpOworICAgIHhtbFNucHJpbnRmRWxlbWVudENvbnRlbnQoZXhwciwgNTAwMCwgY29udCwgMSk7CisgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICIlc1xuIiwgZXhwcik7Cit9CisKK3N0YXRpYyB2b2lkCit4bWxWYWxpZERlYnVnU3RhdGUoeG1sVmFsaWRTdGF0ZVB0ciBzdGF0ZSkgeworICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCAiKCIpOworICAgIGlmIChzdGF0ZS0+Y29udCA9PSBOVUxMKQorCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCAibnVsbCwiKTsKKyAgICBlbHNlCisJc3dpdGNoIChzdGF0ZS0+Y29udC0+dHlwZSkgeworICAgICAgICAgICAgY2FzZSBYTUxfRUxFTUVOVF9DT05URU5UX1BDREFUQToKKwkJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICJwY2RhdGEsIik7CisJCWJyZWFrOworICAgICAgICAgICAgY2FzZSBYTUxfRUxFTUVOVF9DT05URU5UX0VMRU1FTlQ6CisJCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCAiJXMsIiwKKwkJCSAgICAgICAgc3RhdGUtPmNvbnQtPm5hbWUpOworCQlicmVhazsKKyAgICAgICAgICAgIGNhc2UgWE1MX0VMRU1FTlRfQ09OVEVOVF9TRVE6CisJCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCAic2VxLCIpOworCQlicmVhazsKKyAgICAgICAgICAgIGNhc2UgWE1MX0VMRU1FTlRfQ09OVEVOVF9PUjoKKwkJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICJvciwiKTsKKwkJYnJlYWs7CisJfQorICAgIHhtbFZhbGlkUHJpbnROb2RlKHN0YXRlLT5ub2RlKTsKKyAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgIiwlZCwlWCwlZCkiLAorCSAgICBzdGF0ZS0+ZGVwdGgsIHN0YXRlLT5vY2N1cnMsIHN0YXRlLT5zdGF0ZSk7Cit9CisKK3N0YXRpYyB2b2lkCit4bWxWYWxpZFN0YXRlRGVidWcoeG1sVmFsaWRDdHh0UHRyIGN0eHQpIHsKKyAgICBpbnQgaSwgajsKKworICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCAic3RhdGU6ICIpOworICAgIHhtbFZhbGlkRGVidWdTdGF0ZShjdHh0LT52c3RhdGUpOworICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCAiIHN0YWNrOiAlZCAiLAorCSAgICBjdHh0LT52c3RhdGVOciAtIDEpOworICAgIGZvciAoaSA9IDAsIGogPSBjdHh0LT52c3RhdGVOciAtIDE7KGkgPCAzKSAmJiAoaiA+IDApO2krKyxqLS0pCisJeG1sVmFsaWREZWJ1Z1N0YXRlKCZjdHh0LT52c3RhdGVUYWJbal0pOworICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCAiXG4iKTsKK30KKworLyoqKioqCisjZGVmaW5lIERFQlVHX1ZBTElEX1NUQVRFKG4sYykgeG1sVmFsaWREZWJ1ZyhuLGMpOworICoqKioqLworCisjZGVmaW5lIERFQlVHX1ZBTElEX1NUQVRFKG4sYykgeG1sVmFsaWRTdGF0ZURlYnVnKGN0eHQpOworI2RlZmluZSBERUJVR19WQUxJRF9NU0cobSkJCQkJCVwKKyAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgIiVzXG4iLCBtKTsKKworI2Vsc2UKKyNkZWZpbmUgREVCVUdfVkFMSURfU1RBVEUobixjKQorI2RlZmluZSBERUJVR19WQUxJRF9NU0cobSkKKyNlbmRpZgorCisvKiBUT0RPOiB1c2UgaGFzaCB0YWJsZSBmb3IgYWNjZXNzZXMgdG8gZWxlbSBhbmQgYXR0cmlidXRlIGRlZmluaXRpb25zICovCisKKworI2RlZmluZSBDSEVDS19EVEQJCQkJCQlcCisgICBpZiAoZG9jID09IE5VTEwpIHJldHVybigwKTsJCQkJCVwKKyAgIGVsc2UgaWYgKChkb2MtPmludFN1YnNldCA9PSBOVUxMKSAmJgkJCQlcCisJICAgIChkb2MtPmV4dFN1YnNldCA9PSBOVUxMKSkgcmV0dXJuKDApCisKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJQ29udGVudCBtb2RlbCB2YWxpZGF0aW9uIGJhc2VkIG9uIHRoZSByZWdleHBzCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKgorICogeG1sVmFsaWRCdWlsZEFDb250ZW50TW9kZWw6CisgKiBAY29udGVudDogIHRoZSBjb250ZW50IG1vZGVsCisgKiBAY3R4dDogIHRoZSBzY2hlbWEgcGFyc2VyIGNvbnRleHQKKyAqIEBuYW1lOiAgdGhlIGVsZW1lbnQgbmFtZSB3aG9zZSBjb250ZW50IGlzIGJlaW5nIGJ1aWx0CisgKgorICogR2VuZXJhdGUgdGhlIGF1dG9tYXRhIHNlcXVlbmNlIG5lZWRlZCBmb3IgdGhhdCB0eXBlCisgKgorICogUmV0dXJucyAxIGlmIHN1Y2Nlc3NmdWwgb3IgMCBpbiBjYXNlIG9mIGVycm9yLgorICovCitzdGF0aWMgaW50Cit4bWxWYWxpZEJ1aWxkQUNvbnRlbnRNb2RlbCh4bWxFbGVtZW50Q29udGVudFB0ciBjb250ZW50LAorCQkgICAgICAgICAgIHhtbFZhbGlkQ3R4dFB0ciBjdHh0LAorCQkgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKm5hbWUpIHsKKyAgICBpZiAoY29udGVudCA9PSBOVUxMKSB7CisJeG1sRXJyVmFsaWROb2RlKGN0eHQsIE5VTEwsIFhNTF9FUlJfSU5URVJOQUxfRVJST1IsCisJCQkiRm91bmQgTlVMTCBjb250ZW50IGluIGNvbnRlbnQgbW9kZWwgb2YgJXNcbiIsCisJCQluYW1lLCBOVUxMLCBOVUxMKTsKKwlyZXR1cm4oMCk7CisgICAgfQorICAgIHN3aXRjaCAoY29udGVudC0+dHlwZSkgeworCWNhc2UgWE1MX0VMRU1FTlRfQ09OVEVOVF9QQ0RBVEE6CisJICAgIHhtbEVyclZhbGlkTm9kZShjdHh0LCBOVUxMLCBYTUxfRVJSX0lOVEVSTkFMX0VSUk9SLAorCQkJICAgICJGb3VuZCBQQ0RBVEEgaW4gY29udGVudCBtb2RlbCBvZiAlc1xuIiwKKwkJICAgICAgICAgICAgbmFtZSwgTlVMTCwgTlVMTCk7CisJICAgIHJldHVybigwKTsKKwkgICAgYnJlYWs7CisJY2FzZSBYTUxfRUxFTUVOVF9DT05URU5UX0VMRU1FTlQ6IHsKKwkgICAgeG1sQXV0b21hdGFTdGF0ZVB0ciBvbGRzdGF0ZSA9IGN0eHQtPnN0YXRlOworCSAgICB4bWxDaGFyIGZuWzUwXTsKKwkgICAgeG1sQ2hhciAqZnVsbG5hbWU7CisKKwkgICAgZnVsbG5hbWUgPSB4bWxCdWlsZFFOYW1lKGNvbnRlbnQtPm5hbWUsIGNvbnRlbnQtPnByZWZpeCwgZm4sIDUwKTsKKwkgICAgaWYgKGZ1bGxuYW1lID09IE5VTEwpIHsKKwkgICAgICAgIHhtbFZFcnJNZW1vcnkoY3R4dCwgIkJ1aWxkaW5nIGNvbnRlbnQgbW9kZWwiKTsKKwkJcmV0dXJuKDApOworCSAgICB9CisKKwkgICAgc3dpdGNoIChjb250ZW50LT5vY3VyKSB7CisJCWNhc2UgWE1MX0VMRU1FTlRfQ09OVEVOVF9PTkNFOgorCQkgICAgY3R4dC0+c3RhdGUgPSB4bWxBdXRvbWF0YU5ld1RyYW5zaXRpb24oY3R4dC0+YW0sCisJCQkgICAgY3R4dC0+c3RhdGUsIE5VTEwsIGZ1bGxuYW1lLCBOVUxMKTsKKwkJICAgIGJyZWFrOworCQljYXNlIFhNTF9FTEVNRU5UX0NPTlRFTlRfT1BUOgorCQkgICAgY3R4dC0+c3RhdGUgPSB4bWxBdXRvbWF0YU5ld1RyYW5zaXRpb24oY3R4dC0+YW0sCisJCQkgICAgY3R4dC0+c3RhdGUsIE5VTEwsIGZ1bGxuYW1lLCBOVUxMKTsKKwkJICAgIHhtbEF1dG9tYXRhTmV3RXBzaWxvbihjdHh0LT5hbSwgb2xkc3RhdGUsIGN0eHQtPnN0YXRlKTsKKwkJICAgIGJyZWFrOworCQljYXNlIFhNTF9FTEVNRU5UX0NPTlRFTlRfUExVUzoKKwkJICAgIGN0eHQtPnN0YXRlID0geG1sQXV0b21hdGFOZXdUcmFuc2l0aW9uKGN0eHQtPmFtLAorCQkJICAgIGN0eHQtPnN0YXRlLCBOVUxMLCBmdWxsbmFtZSwgTlVMTCk7CisJCSAgICB4bWxBdXRvbWF0YU5ld1RyYW5zaXRpb24oY3R4dC0+YW0sIGN0eHQtPnN0YXRlLAorCQkJICAgICAgICAgICAgICAgICAgICAgY3R4dC0+c3RhdGUsIGZ1bGxuYW1lLCBOVUxMKTsKKwkJICAgIGJyZWFrOworCQljYXNlIFhNTF9FTEVNRU5UX0NPTlRFTlRfTVVMVDoKKwkJICAgIGN0eHQtPnN0YXRlID0geG1sQXV0b21hdGFOZXdFcHNpbG9uKGN0eHQtPmFtLAorCQkJCQkgICAgY3R4dC0+c3RhdGUsIE5VTEwpOworCQkgICAgeG1sQXV0b21hdGFOZXdUcmFuc2l0aW9uKGN0eHQtPmFtLAorCQkJICAgIGN0eHQtPnN0YXRlLCBjdHh0LT5zdGF0ZSwgZnVsbG5hbWUsIE5VTEwpOworCQkgICAgYnJlYWs7CisJICAgIH0KKwkgICAgaWYgKChmdWxsbmFtZSAhPSBmbikgJiYgKGZ1bGxuYW1lICE9IGNvbnRlbnQtPm5hbWUpKQorCQl4bWxGcmVlKGZ1bGxuYW1lKTsKKwkgICAgYnJlYWs7CisJfQorCWNhc2UgWE1MX0VMRU1FTlRfQ09OVEVOVF9TRVE6IHsKKwkgICAgeG1sQXV0b21hdGFTdGF0ZVB0ciBvbGRzdGF0ZSwgb2xkZW5kOworCSAgICB4bWxFbGVtZW50Q29udGVudE9jY3VyIG9jdXI7CisKKwkgICAgLyoKKwkgICAgICogU2ltcGx5IGl0ZXJhdGUgb3ZlciB0aGUgY29udGVudAorCSAgICAgKi8KKwkgICAgb2xkc3RhdGUgPSBjdHh0LT5zdGF0ZTsKKwkgICAgb2N1ciA9IGNvbnRlbnQtPm9jdXI7CisJICAgIGlmIChvY3VyICE9IFhNTF9FTEVNRU5UX0NPTlRFTlRfT05DRSkgeworCQljdHh0LT5zdGF0ZSA9IHhtbEF1dG9tYXRhTmV3RXBzaWxvbihjdHh0LT5hbSwgb2xkc3RhdGUsIE5VTEwpOworCQlvbGRzdGF0ZSA9IGN0eHQtPnN0YXRlOworCSAgICB9CisJICAgIGRvIHsKKwkJeG1sVmFsaWRCdWlsZEFDb250ZW50TW9kZWwoY29udGVudC0+YzEsIGN0eHQsIG5hbWUpOworCQljb250ZW50ID0gY29udGVudC0+YzI7CisJICAgIH0gd2hpbGUgKChjb250ZW50LT50eXBlID09IFhNTF9FTEVNRU5UX0NPTlRFTlRfU0VRKSAmJgorCQkgICAgIChjb250ZW50LT5vY3VyID09IFhNTF9FTEVNRU5UX0NPTlRFTlRfT05DRSkpOworCSAgICB4bWxWYWxpZEJ1aWxkQUNvbnRlbnRNb2RlbChjb250ZW50LCBjdHh0LCBuYW1lKTsKKwkgICAgb2xkZW5kID0gY3R4dC0+c3RhdGU7CisJICAgIGN0eHQtPnN0YXRlID0geG1sQXV0b21hdGFOZXdFcHNpbG9uKGN0eHQtPmFtLCBvbGRlbmQsIE5VTEwpOworCSAgICBzd2l0Y2ggKG9jdXIpIHsKKwkJY2FzZSBYTUxfRUxFTUVOVF9DT05URU5UX09OQ0U6CisJCSAgICBicmVhazsKKwkJY2FzZSBYTUxfRUxFTUVOVF9DT05URU5UX09QVDoKKwkJICAgIHhtbEF1dG9tYXRhTmV3RXBzaWxvbihjdHh0LT5hbSwgb2xkc3RhdGUsIGN0eHQtPnN0YXRlKTsKKwkJICAgIGJyZWFrOworCQljYXNlIFhNTF9FTEVNRU5UX0NPTlRFTlRfTVVMVDoKKwkJICAgIHhtbEF1dG9tYXRhTmV3RXBzaWxvbihjdHh0LT5hbSwgb2xkc3RhdGUsIGN0eHQtPnN0YXRlKTsKKwkJICAgIHhtbEF1dG9tYXRhTmV3RXBzaWxvbihjdHh0LT5hbSwgb2xkZW5kLCBvbGRzdGF0ZSk7CisJCSAgICBicmVhazsKKwkJY2FzZSBYTUxfRUxFTUVOVF9DT05URU5UX1BMVVM6CisJCSAgICB4bWxBdXRvbWF0YU5ld0Vwc2lsb24oY3R4dC0+YW0sIG9sZGVuZCwgb2xkc3RhdGUpOworCQkgICAgYnJlYWs7CisJICAgIH0KKwkgICAgYnJlYWs7CisJfQorCWNhc2UgWE1MX0VMRU1FTlRfQ09OVEVOVF9PUjogeworCSAgICB4bWxBdXRvbWF0YVN0YXRlUHRyIG9sZHN0YXRlLCBvbGRlbmQ7CisJICAgIHhtbEVsZW1lbnRDb250ZW50T2NjdXIgb2N1cjsKKworCSAgICBvY3VyID0gY29udGVudC0+b2N1cjsKKwkgICAgaWYgKChvY3VyID09IFhNTF9FTEVNRU5UX0NPTlRFTlRfUExVUykgfHwKKwkJKG9jdXIgPT0gWE1MX0VMRU1FTlRfQ09OVEVOVF9NVUxUKSkgeworCQljdHh0LT5zdGF0ZSA9IHhtbEF1dG9tYXRhTmV3RXBzaWxvbihjdHh0LT5hbSwKKwkJCWN0eHQtPnN0YXRlLCBOVUxMKTsKKwkgICAgfQorCSAgICBvbGRzdGF0ZSA9IGN0eHQtPnN0YXRlOworCSAgICBvbGRlbmQgPSB4bWxBdXRvbWF0YU5ld1N0YXRlKGN0eHQtPmFtKTsKKworCSAgICAvKgorCSAgICAgKiBpdGVyYXRlIG92ZXIgdGhlIHN1YnR5cGVzIGFuZCByZW1lcmdlIHRoZSBlbmQgd2l0aCBhbgorCSAgICAgKiBlcHNpbG9uIHRyYW5zaXRpb24KKwkgICAgICovCisJICAgIGRvIHsKKwkJY3R4dC0+c3RhdGUgPSBvbGRzdGF0ZTsKKwkJeG1sVmFsaWRCdWlsZEFDb250ZW50TW9kZWwoY29udGVudC0+YzEsIGN0eHQsIG5hbWUpOworCQl4bWxBdXRvbWF0YU5ld0Vwc2lsb24oY3R4dC0+YW0sIGN0eHQtPnN0YXRlLCBvbGRlbmQpOworCQljb250ZW50ID0gY29udGVudC0+YzI7CisJICAgIH0gd2hpbGUgKChjb250ZW50LT50eXBlID09IFhNTF9FTEVNRU5UX0NPTlRFTlRfT1IpICYmCisJCSAgICAgKGNvbnRlbnQtPm9jdXIgPT0gWE1MX0VMRU1FTlRfQ09OVEVOVF9PTkNFKSk7CisJICAgIGN0eHQtPnN0YXRlID0gb2xkc3RhdGU7CisJICAgIHhtbFZhbGlkQnVpbGRBQ29udGVudE1vZGVsKGNvbnRlbnQsIGN0eHQsIG5hbWUpOworCSAgICB4bWxBdXRvbWF0YU5ld0Vwc2lsb24oY3R4dC0+YW0sIGN0eHQtPnN0YXRlLCBvbGRlbmQpOworCSAgICBjdHh0LT5zdGF0ZSA9IHhtbEF1dG9tYXRhTmV3RXBzaWxvbihjdHh0LT5hbSwgb2xkZW5kLCBOVUxMKTsKKwkgICAgc3dpdGNoIChvY3VyKSB7CisJCWNhc2UgWE1MX0VMRU1FTlRfQ09OVEVOVF9PTkNFOgorCQkgICAgYnJlYWs7CisJCWNhc2UgWE1MX0VMRU1FTlRfQ09OVEVOVF9PUFQ6CisJCSAgICB4bWxBdXRvbWF0YU5ld0Vwc2lsb24oY3R4dC0+YW0sIG9sZHN0YXRlLCBjdHh0LT5zdGF0ZSk7CisJCSAgICBicmVhazsKKwkJY2FzZSBYTUxfRUxFTUVOVF9DT05URU5UX01VTFQ6CisJCSAgICB4bWxBdXRvbWF0YU5ld0Vwc2lsb24oY3R4dC0+YW0sIG9sZHN0YXRlLCBjdHh0LT5zdGF0ZSk7CisJCSAgICB4bWxBdXRvbWF0YU5ld0Vwc2lsb24oY3R4dC0+YW0sIG9sZGVuZCwgb2xkc3RhdGUpOworCQkgICAgYnJlYWs7CisJCWNhc2UgWE1MX0VMRU1FTlRfQ09OVEVOVF9QTFVTOgorCQkgICAgeG1sQXV0b21hdGFOZXdFcHNpbG9uKGN0eHQtPmFtLCBvbGRlbmQsIG9sZHN0YXRlKTsKKwkJICAgIGJyZWFrOworCSAgICB9CisJICAgIGJyZWFrOworCX0KKwlkZWZhdWx0OgorCSAgICB4bWxFcnJWYWxpZChjdHh0LCBYTUxfRVJSX0lOVEVSTkFMX0VSUk9SLAorCSAgICAgICAgICAgICAgICAiQ29udGVudE1vZGVsIGJyb2tlbiBmb3IgZWxlbWVudCAlc1xuIiwKKwkJCShjb25zdCBjaGFyICopIG5hbWUpOworCSAgICByZXR1cm4oMCk7CisgICAgfQorICAgIHJldHVybigxKTsKK30KKy8qKgorICogeG1sVmFsaWRCdWlsZENvbnRlbnRNb2RlbDoKKyAqIEBjdHh0OiAgYSB2YWxpZGF0aW9uIGNvbnRleHQKKyAqIEBlbGVtOiAgYW4gZWxlbWVudCBkZWNsYXJhdGlvbiBub2RlCisgKgorICogKFJlKUJ1aWxkIHRoZSBhdXRvbWF0YSBhc3NvY2lhdGVkIHRvIHRoZSBjb250ZW50IG1vZGVsIG9mIHRoaXMKKyAqIGVsZW1lbnQKKyAqCisgKiBSZXR1cm5zIDEgaW4gY2FzZSBvZiBzdWNjZXNzLCAwIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworaW50Cit4bWxWYWxpZEJ1aWxkQ29udGVudE1vZGVsKHhtbFZhbGlkQ3R4dFB0ciBjdHh0LCB4bWxFbGVtZW50UHRyIGVsZW0pIHsKKworICAgIGlmICgoY3R4dCA9PSBOVUxMKSB8fCAoZWxlbSA9PSBOVUxMKSkKKwlyZXR1cm4oMCk7CisgICAgaWYgKGVsZW0tPnR5cGUgIT0gWE1MX0VMRU1FTlRfREVDTCkKKwlyZXR1cm4oMCk7CisgICAgaWYgKGVsZW0tPmV0eXBlICE9IFhNTF9FTEVNRU5UX1RZUEVfRUxFTUVOVCkKKwlyZXR1cm4oMSk7CisgICAgLyogVE9ETzogc2hvdWxkIHdlIHJlYnVpbGQgaW4gdGhpcyBjYXNlID8gKi8KKyAgICBpZiAoZWxlbS0+Y29udE1vZGVsICE9IE5VTEwpIHsKKwlpZiAoIXhtbFJlZ2V4cElzRGV0ZXJtaW5pc3QoZWxlbS0+Y29udE1vZGVsKSkgeworCSAgICBjdHh0LT52YWxpZCA9IDA7CisJICAgIHJldHVybigwKTsKKwl9CisJcmV0dXJuKDEpOworICAgIH0KKworICAgIGN0eHQtPmFtID0geG1sTmV3QXV0b21hdGEoKTsKKyAgICBpZiAoY3R4dC0+YW0gPT0gTlVMTCkgeworCXhtbEVyclZhbGlkTm9kZShjdHh0LCAoeG1sTm9kZVB0cikgZWxlbSwKKwkgICAgICAgICAgICAgICAgWE1MX0VSUl9JTlRFUk5BTF9FUlJPUiwKKwkgICAgICAgICAgICAgICAgIkNhbm5vdCBjcmVhdGUgYXV0b21hdGEgZm9yIGVsZW1lbnQgJXNcbiIsCisJCSAgICAgICAgZWxlbS0+bmFtZSwgTlVMTCwgTlVMTCk7CisJcmV0dXJuKDApOworICAgIH0KKyAgICBjdHh0LT5zdGF0ZSA9IHhtbEF1dG9tYXRhR2V0SW5pdFN0YXRlKGN0eHQtPmFtKTsKKyAgICB4bWxWYWxpZEJ1aWxkQUNvbnRlbnRNb2RlbChlbGVtLT5jb250ZW50LCBjdHh0LCBlbGVtLT5uYW1lKTsKKyAgICB4bWxBdXRvbWF0YVNldEZpbmFsU3RhdGUoY3R4dC0+YW0sIGN0eHQtPnN0YXRlKTsKKyAgICBlbGVtLT5jb250TW9kZWwgPSB4bWxBdXRvbWF0YUNvbXBpbGUoY3R4dC0+YW0pOworICAgIGlmICh4bWxSZWdleHBJc0RldGVybWluaXN0KGVsZW0tPmNvbnRNb2RlbCkgIT0gMSkgeworCWNoYXIgZXhwcls1MDAwXTsKKwlleHByWzBdID0gMDsKKwl4bWxTbnByaW50ZkVsZW1lbnRDb250ZW50KGV4cHIsIDUwMDAsIGVsZW0tPmNvbnRlbnQsIDEpOworCXhtbEVyclZhbGlkTm9kZShjdHh0LCAoeG1sTm9kZVB0cikgZWxlbSwKKwkgICAgICAgICAgICAgICAgWE1MX0RURF9DT05URU5UX05PVF9ERVRFUk1JTklTVCwKKwkgICAgICAgIkNvbnRlbnQgbW9kZWwgb2YgJXMgaXMgbm90IGRldGVybWluaXN0OiAlc1xuIiwKKwkgICAgICAgZWxlbS0+bmFtZSwgQkFEX0NBU1QgZXhwciwgTlVMTCk7CisjaWZkZWYgREVCVUdfUkVHRVhQX0FMR08KKyAgICAgICAgeG1sUmVnZXhwUHJpbnQoc3RkZXJyLCBlbGVtLT5jb250TW9kZWwpOworI2VuZGlmCisgICAgICAgIGN0eHQtPnZhbGlkID0gMDsKKwljdHh0LT5zdGF0ZSA9IE5VTEw7CisJeG1sRnJlZUF1dG9tYXRhKGN0eHQtPmFtKTsKKwljdHh0LT5hbSA9IE5VTEw7CisJcmV0dXJuKDApOworICAgIH0KKyAgICBjdHh0LT5zdGF0ZSA9IE5VTEw7CisgICAgeG1sRnJlZUF1dG9tYXRhKGN0eHQtPmFtKTsKKyAgICBjdHh0LT5hbSA9IE5VTEw7CisgICAgcmV0dXJuKDEpOworfQorCisjZW5kaWYgLyogTElCWE1MX1JFR0VYUF9FTkFCTEVEICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJKgorICoJVXRpbCBmdW5jdGlvbnMgZm9yIGRhdGEgYWxsb2NhdGlvbi9kZWFsbG9jYXRpb24JCSoKKyAqCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqCisgKiB4bWxOZXdWYWxpZEN0eHQ6CisgKgorICogQWxsb2NhdGUgYSB2YWxpZGF0aW9uIGNvbnRleHQgc3RydWN0dXJlLgorICoKKyAqIFJldHVybnMgTlVMTCBpZiBub3QsIG90aGVyd2lzZSB0aGUgbmV3IHZhbGlkYXRpb24gY29udGV4dCBzdHJ1Y3R1cmUKKyAqLworeG1sVmFsaWRDdHh0UHRyIHhtbE5ld1ZhbGlkQ3R4dCh2b2lkKSB7CisgICAgeG1sVmFsaWRDdHh0UHRyIHJldDsKKworICAgIGlmICgocmV0ID0geG1sTWFsbG9jKHNpemVvZiAoeG1sVmFsaWRDdHh0KSkpID09IE5VTEwpIHsKKwl4bWxWRXJyTWVtb3J5KE5VTEwsICJtYWxsb2MgZmFpbGVkIik7CisJcmV0dXJuIChOVUxMKTsKKyAgICB9CisKKyAgICAodm9pZCkgbWVtc2V0KHJldCwgMCwgc2l6ZW9mICh4bWxWYWxpZEN0eHQpKTsKKworICAgIHJldHVybiAocmV0KTsKK30KKworLyoqCisgKiB4bWxGcmVlVmFsaWRDdHh0OgorICogQGN1cjogIHRoZSB2YWxpZGF0aW9uIGNvbnRleHQgdG8gZnJlZQorICoKKyAqIEZyZWUgYSB2YWxpZGF0aW9uIGNvbnRleHQgc3RydWN0dXJlLgorICovCit2b2lkCit4bWxGcmVlVmFsaWRDdHh0KHhtbFZhbGlkQ3R4dFB0ciBjdXIpIHsKKyAgICBpZiAoY3VyLT52c3RhdGVUYWIgIT0gTlVMTCkKKyAgICAgICAgeG1sRnJlZShjdXItPnZzdGF0ZVRhYik7CisgICAgaWYgKGN1ci0+bm9kZVRhYiAhPSBOVUxMKQorICAgICAgICB4bWxGcmVlKGN1ci0+bm9kZVRhYik7CisgICAgeG1sRnJlZShjdXIpOworfQorCisjZW5kaWYgLyogTElCWE1MX1ZBTElEX0VOQUJMRUQgKi8KKworLyoqCisgKiB4bWxOZXdEb2NFbGVtZW50Q29udGVudDoKKyAqIEBkb2M6ICB0aGUgZG9jdW1lbnQKKyAqIEBuYW1lOiAgdGhlIHN1YmVsZW1lbnQgbmFtZSBvciBOVUxMCisgKiBAdHlwZTogIHRoZSB0eXBlIG9mIGVsZW1lbnQgY29udGVudCBkZWNsCisgKgorICogQWxsb2NhdGUgYW4gZWxlbWVudCBjb250ZW50IHN0cnVjdHVyZSBmb3IgdGhlIGRvY3VtZW50LgorICoKKyAqIFJldHVybnMgTlVMTCBpZiBub3QsIG90aGVyd2lzZSB0aGUgbmV3IGVsZW1lbnQgY29udGVudCBzdHJ1Y3R1cmUKKyAqLworeG1sRWxlbWVudENvbnRlbnRQdHIKK3htbE5ld0RvY0VsZW1lbnRDb250ZW50KHhtbERvY1B0ciBkb2MsIGNvbnN0IHhtbENoYXIgKm5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICB4bWxFbGVtZW50Q29udGVudFR5cGUgdHlwZSkgeworICAgIHhtbEVsZW1lbnRDb250ZW50UHRyIHJldDsKKyAgICB4bWxEaWN0UHRyIGRpY3QgPSBOVUxMOworCisgICAgaWYgKGRvYyAhPSBOVUxMKQorICAgICAgICBkaWN0ID0gZG9jLT5kaWN0OworCisgICAgc3dpdGNoKHR5cGUpIHsKKwljYXNlIFhNTF9FTEVNRU5UX0NPTlRFTlRfRUxFTUVOVDoKKwkgICAgaWYgKG5hbWUgPT0gTlVMTCkgeworCSAgICAgICAgeG1sRXJyVmFsaWQoTlVMTCwgWE1MX0VSUl9JTlRFUk5BTF9FUlJPUiwKKwkJCSJ4bWxOZXdFbGVtZW50Q29udGVudCA6IG5hbWUgPT0gTlVMTCAhXG4iLAorCQkJTlVMTCk7CisJICAgIH0KKwkgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0VMRU1FTlRfQ09OVEVOVF9QQ0RBVEE6CisJY2FzZSBYTUxfRUxFTUVOVF9DT05URU5UX1NFUToKKwljYXNlIFhNTF9FTEVNRU5UX0NPTlRFTlRfT1I6CisJICAgIGlmIChuYW1lICE9IE5VTEwpIHsKKwkgICAgICAgIHhtbEVyclZhbGlkKE5VTEwsIFhNTF9FUlJfSU5URVJOQUxfRVJST1IsCisJCQkieG1sTmV3RWxlbWVudENvbnRlbnQgOiBuYW1lICE9IE5VTEwgIVxuIiwKKwkJCU5VTEwpOworCSAgICB9CisJICAgIGJyZWFrOworCWRlZmF1bHQ6CisJICAgIHhtbEVyclZhbGlkKE5VTEwsIFhNTF9FUlJfSU5URVJOQUxfRVJST1IsCisJCSAgICAiSW50ZXJuYWw6IEVMRU1FTlQgY29udGVudCBjb3JydXB0ZWQgaW52YWxpZCB0eXBlXG4iLAorCQkgICAgTlVMTCk7CisJICAgIHJldHVybihOVUxMKTsKKyAgICB9CisgICAgcmV0ID0gKHhtbEVsZW1lbnRDb250ZW50UHRyKSB4bWxNYWxsb2Moc2l6ZW9mKHhtbEVsZW1lbnRDb250ZW50KSk7CisgICAgaWYgKHJldCA9PSBOVUxMKSB7CisJeG1sVkVyck1lbW9yeShOVUxMLCAibWFsbG9jIGZhaWxlZCIpOworCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgbWVtc2V0KHJldCwgMCwgc2l6ZW9mKHhtbEVsZW1lbnRDb250ZW50KSk7CisgICAgcmV0LT50eXBlID0gdHlwZTsKKyAgICByZXQtPm9jdXIgPSBYTUxfRUxFTUVOVF9DT05URU5UX09OQ0U7CisgICAgaWYgKG5hbWUgIT0gTlVMTCkgeworICAgICAgICBpbnQgbDsKKwljb25zdCB4bWxDaGFyICp0bXA7CisKKwl0bXAgPSB4bWxTcGxpdFFOYW1lMyhuYW1lLCAmbCk7CisJaWYgKHRtcCA9PSBOVUxMKSB7CisJICAgIGlmIChkaWN0ID09IE5VTEwpCisJCXJldC0+bmFtZSA9IHhtbFN0cmR1cChuYW1lKTsKKwkgICAgZWxzZQorCSAgICAgICAgcmV0LT5uYW1lID0geG1sRGljdExvb2t1cChkaWN0LCBuYW1lLCAtMSk7CisJfSBlbHNlIHsKKwkgICAgaWYgKGRpY3QgPT0gTlVMTCkgeworCQlyZXQtPnByZWZpeCA9IHhtbFN0cm5kdXAobmFtZSwgbCk7CisJCXJldC0+bmFtZSA9IHhtbFN0cmR1cCh0bXApOworCSAgICB9IGVsc2UgeworCSAgICAgICAgcmV0LT5wcmVmaXggPSB4bWxEaWN0TG9va3VwKGRpY3QsIG5hbWUsIGwpOworCQlyZXQtPm5hbWUgPSB4bWxEaWN0TG9va3VwKGRpY3QsIHRtcCwgLTEpOworCSAgICB9CisJfQorICAgIH0KKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxOZXdFbGVtZW50Q29udGVudDoKKyAqIEBuYW1lOiAgdGhlIHN1YmVsZW1lbnQgbmFtZSBvciBOVUxMCisgKiBAdHlwZTogIHRoZSB0eXBlIG9mIGVsZW1lbnQgY29udGVudCBkZWNsCisgKgorICogQWxsb2NhdGUgYW4gZWxlbWVudCBjb250ZW50IHN0cnVjdHVyZS4KKyAqIERlcHJlY2F0ZWQgaW4gZmF2b3Igb2YgeG1sTmV3RG9jRWxlbWVudENvbnRlbnQKKyAqCisgKiBSZXR1cm5zIE5VTEwgaWYgbm90LCBvdGhlcndpc2UgdGhlIG5ldyBlbGVtZW50IGNvbnRlbnQgc3RydWN0dXJlCisgKi8KK3htbEVsZW1lbnRDb250ZW50UHRyCit4bWxOZXdFbGVtZW50Q29udGVudChjb25zdCB4bWxDaGFyICpuYW1lLCB4bWxFbGVtZW50Q29udGVudFR5cGUgdHlwZSkgeworICAgIHJldHVybih4bWxOZXdEb2NFbGVtZW50Q29udGVudChOVUxMLCBuYW1lLCB0eXBlKSk7Cit9CisKKy8qKgorICogeG1sQ29weURvY0VsZW1lbnRDb250ZW50OgorICogQGRvYzogIHRoZSBkb2N1bWVudCBvd25pbmcgdGhlIGVsZW1lbnQgZGVjbGFyYXRpb24KKyAqIEBjdXI6ICBBbiBlbGVtZW50IGNvbnRlbnQgcG9pbnRlci4KKyAqCisgKiBCdWlsZCBhIGNvcHkgb2YgYW4gZWxlbWVudCBjb250ZW50IGRlc2NyaXB0aW9uLgorICoKKyAqIFJldHVybnMgdGhlIG5ldyB4bWxFbGVtZW50Q29udGVudFB0ciBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK3htbEVsZW1lbnRDb250ZW50UHRyCit4bWxDb3B5RG9jRWxlbWVudENvbnRlbnQoeG1sRG9jUHRyIGRvYywgeG1sRWxlbWVudENvbnRlbnRQdHIgY3VyKSB7CisgICAgeG1sRWxlbWVudENvbnRlbnRQdHIgcmV0ID0gTlVMTCwgcHJldiA9IE5VTEwsIHRtcDsKKyAgICB4bWxEaWN0UHRyIGRpY3QgPSBOVUxMOworCisgICAgaWYgKGN1ciA9PSBOVUxMKSByZXR1cm4oTlVMTCk7CisKKyAgICBpZiAoZG9jICE9IE5VTEwpCisgICAgICAgIGRpY3QgPSBkb2MtPmRpY3Q7CisKKyAgICByZXQgPSAoeG1sRWxlbWVudENvbnRlbnRQdHIpIHhtbE1hbGxvYyhzaXplb2YoeG1sRWxlbWVudENvbnRlbnQpKTsKKyAgICBpZiAocmV0ID09IE5VTEwpIHsKKwl4bWxWRXJyTWVtb3J5KE5VTEwsICJtYWxsb2MgZmFpbGVkIik7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBtZW1zZXQocmV0LCAwLCBzaXplb2YoeG1sRWxlbWVudENvbnRlbnQpKTsKKyAgICByZXQtPnR5cGUgPSBjdXItPnR5cGU7CisgICAgcmV0LT5vY3VyID0gY3VyLT5vY3VyOworICAgIGlmIChjdXItPm5hbWUgIT0gTlVMTCkgeworCWlmIChkaWN0KQorCSAgICByZXQtPm5hbWUgPSB4bWxEaWN0TG9va3VwKGRpY3QsIGN1ci0+bmFtZSwgLTEpOworCWVsc2UKKwkgICAgcmV0LT5uYW1lID0geG1sU3RyZHVwKGN1ci0+bmFtZSk7CisgICAgfQorCisgICAgaWYgKGN1ci0+cHJlZml4ICE9IE5VTEwpIHsKKwlpZiAoZGljdCkKKwkgICAgcmV0LT5wcmVmaXggPSB4bWxEaWN0TG9va3VwKGRpY3QsIGN1ci0+cHJlZml4LCAtMSk7CisJZWxzZQorCSAgICByZXQtPnByZWZpeCA9IHhtbFN0cmR1cChjdXItPnByZWZpeCk7CisgICAgfQorICAgIGlmIChjdXItPmMxICE9IE5VTEwpCisgICAgICAgIHJldC0+YzEgPSB4bWxDb3B5RG9jRWxlbWVudENvbnRlbnQoZG9jLCBjdXItPmMxKTsKKyAgICBpZiAocmV0LT5jMSAhPSBOVUxMKQorCXJldC0+YzEtPnBhcmVudCA9IHJldDsKKyAgICBpZiAoY3VyLT5jMiAhPSBOVUxMKSB7CisgICAgICAgIHByZXYgPSByZXQ7CisJY3VyID0gY3VyLT5jMjsKKwl3aGlsZSAoY3VyICE9IE5VTEwpIHsKKwkgICAgdG1wID0gKHhtbEVsZW1lbnRDb250ZW50UHRyKSB4bWxNYWxsb2Moc2l6ZW9mKHhtbEVsZW1lbnRDb250ZW50KSk7CisJICAgIGlmICh0bXAgPT0gTlVMTCkgeworCQl4bWxWRXJyTWVtb3J5KE5VTEwsICJtYWxsb2MgZmFpbGVkIik7CisJCXJldHVybihyZXQpOworCSAgICB9CisJICAgIG1lbXNldCh0bXAsIDAsIHNpemVvZih4bWxFbGVtZW50Q29udGVudCkpOworCSAgICB0bXAtPnR5cGUgPSBjdXItPnR5cGU7CisJICAgIHRtcC0+b2N1ciA9IGN1ci0+b2N1cjsKKwkgICAgcHJldi0+YzIgPSB0bXA7CisJICAgIGlmIChjdXItPm5hbWUgIT0gTlVMTCkgeworCQlpZiAoZGljdCkKKwkJICAgIHRtcC0+bmFtZSA9IHhtbERpY3RMb29rdXAoZGljdCwgY3VyLT5uYW1lLCAtMSk7CisJCWVsc2UKKwkJICAgIHRtcC0+bmFtZSA9IHhtbFN0cmR1cChjdXItPm5hbWUpOworCSAgICB9CisKKwkgICAgaWYgKGN1ci0+cHJlZml4ICE9IE5VTEwpIHsKKwkJaWYgKGRpY3QpCisJCSAgICB0bXAtPnByZWZpeCA9IHhtbERpY3RMb29rdXAoZGljdCwgY3VyLT5wcmVmaXgsIC0xKTsKKwkJZWxzZQorCQkgICAgdG1wLT5wcmVmaXggPSB4bWxTdHJkdXAoY3VyLT5wcmVmaXgpOworCSAgICB9CisJICAgIGlmIChjdXItPmMxICE9IE5VTEwpCisJICAgICAgICB0bXAtPmMxID0geG1sQ29weURvY0VsZW1lbnRDb250ZW50KGRvYyxjdXItPmMxKTsKKwkgICAgaWYgKHRtcC0+YzEgIT0gTlVMTCkKKwkJdG1wLT5jMS0+cGFyZW50ID0gcmV0OworCSAgICBwcmV2ID0gdG1wOworCSAgICBjdXIgPSBjdXItPmMyOworCX0KKyAgICB9CisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogeG1sQ29weUVsZW1lbnRDb250ZW50OgorICogQGN1cjogIEFuIGVsZW1lbnQgY29udGVudCBwb2ludGVyLgorICoKKyAqIEJ1aWxkIGEgY29weSBvZiBhbiBlbGVtZW50IGNvbnRlbnQgZGVzY3JpcHRpb24uCisgKiBEZXByZWNhdGVkLCB1c2UgeG1sQ29weURvY0VsZW1lbnRDb250ZW50IGluc3RlYWQKKyAqCisgKiBSZXR1cm5zIHRoZSBuZXcgeG1sRWxlbWVudENvbnRlbnRQdHIgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLgorICovCit4bWxFbGVtZW50Q29udGVudFB0cgoreG1sQ29weUVsZW1lbnRDb250ZW50KHhtbEVsZW1lbnRDb250ZW50UHRyIGN1cikgeworICAgIHJldHVybih4bWxDb3B5RG9jRWxlbWVudENvbnRlbnQoTlVMTCwgY3VyKSk7Cit9CisKKy8qKgorICogeG1sRnJlZURvY0VsZW1lbnRDb250ZW50OgorICogQGRvYzogdGhlIGRvY3VtZW50IG93bmluZyB0aGUgZWxlbWVudCBkZWNsYXJhdGlvbgorICogQGN1cjogIHRoZSBlbGVtZW50IGNvbnRlbnQgdHJlZSB0byBmcmVlCisgKgorICogRnJlZSBhbiBlbGVtZW50IGNvbnRlbnQgc3RydWN0dXJlLiBUaGUgd2hvbGUgc3VidHJlZSBpcyByZW1vdmVkLgorICovCit2b2lkCit4bWxGcmVlRG9jRWxlbWVudENvbnRlbnQoeG1sRG9jUHRyIGRvYywgeG1sRWxlbWVudENvbnRlbnRQdHIgY3VyKSB7CisgICAgeG1sRWxlbWVudENvbnRlbnRQdHIgbmV4dDsKKyAgICB4bWxEaWN0UHRyIGRpY3QgPSBOVUxMOworCisgICAgaWYgKGRvYyAhPSBOVUxMKQorICAgICAgICBkaWN0ID0gZG9jLT5kaWN0OworCisgICAgd2hpbGUgKGN1ciAhPSBOVUxMKSB7CisgICAgICAgIG5leHQgPSBjdXItPmMyOworCXN3aXRjaCAoY3VyLT50eXBlKSB7CisJICAgIGNhc2UgWE1MX0VMRU1FTlRfQ09OVEVOVF9QQ0RBVEE6CisJICAgIGNhc2UgWE1MX0VMRU1FTlRfQ09OVEVOVF9FTEVNRU5UOgorCSAgICBjYXNlIFhNTF9FTEVNRU5UX0NPTlRFTlRfU0VROgorCSAgICBjYXNlIFhNTF9FTEVNRU5UX0NPTlRFTlRfT1I6CisJCWJyZWFrOworCSAgICBkZWZhdWx0OgorCQl4bWxFcnJWYWxpZChOVUxMLCBYTUxfRVJSX0lOVEVSTkFMX0VSUk9SLAorCQkJIkludGVybmFsOiBFTEVNRU5UIGNvbnRlbnQgY29ycnVwdGVkIGludmFsaWQgdHlwZVxuIiwKKwkJCU5VTEwpOworCQlyZXR1cm47CisJfQorCWlmIChjdXItPmMxICE9IE5VTEwpIHhtbEZyZWVEb2NFbGVtZW50Q29udGVudChkb2MsIGN1ci0+YzEpOworCWlmIChkaWN0KSB7CisJICAgIGlmICgoY3VyLT5uYW1lICE9IE5VTEwpICYmICgheG1sRGljdE93bnMoZGljdCwgY3VyLT5uYW1lKSkpCisJICAgICAgICB4bWxGcmVlKCh4bWxDaGFyICopIGN1ci0+bmFtZSk7CisJICAgIGlmICgoY3VyLT5wcmVmaXggIT0gTlVMTCkgJiYgKCF4bWxEaWN0T3ducyhkaWN0LCBjdXItPnByZWZpeCkpKQorCSAgICAgICAgeG1sRnJlZSgoeG1sQ2hhciAqKSBjdXItPnByZWZpeCk7CisJfSBlbHNlIHsKKwkgICAgaWYgKGN1ci0+bmFtZSAhPSBOVUxMKSB4bWxGcmVlKCh4bWxDaGFyICopIGN1ci0+bmFtZSk7CisJICAgIGlmIChjdXItPnByZWZpeCAhPSBOVUxMKSB4bWxGcmVlKCh4bWxDaGFyICopIGN1ci0+cHJlZml4KTsKKwl9CisJeG1sRnJlZShjdXIpOworCWN1ciA9IG5leHQ7CisgICAgfQorfQorCisvKioKKyAqIHhtbEZyZWVFbGVtZW50Q29udGVudDoKKyAqIEBjdXI6ICB0aGUgZWxlbWVudCBjb250ZW50IHRyZWUgdG8gZnJlZQorICoKKyAqIEZyZWUgYW4gZWxlbWVudCBjb250ZW50IHN0cnVjdHVyZS4gVGhlIHdob2xlIHN1YnRyZWUgaXMgcmVtb3ZlZC4KKyAqIERlcHJlY2F0ZWQsIHVzZSB4bWxGcmVlRG9jRWxlbWVudENvbnRlbnQgaW5zdGVhZAorICovCit2b2lkCit4bWxGcmVlRWxlbWVudENvbnRlbnQoeG1sRWxlbWVudENvbnRlbnRQdHIgY3VyKSB7CisgICAgeG1sRnJlZURvY0VsZW1lbnRDb250ZW50KE5VTEwsIGN1cik7Cit9CisKKyNpZmRlZiBMSUJYTUxfT1VUUFVUX0VOQUJMRUQKKy8qKgorICogeG1sRHVtcEVsZW1lbnRDb250ZW50OgorICogQGJ1ZjogIEFuIFhNTCBidWZmZXIKKyAqIEBjb250ZW50OiAgQW4gZWxlbWVudCB0YWJsZQorICogQGdsb2I6IDEgaWYgb25lIG11c3QgcHJpbnQgdGhlIGVuZ2xvYmluZyBwYXJlbnRoZXNpcywgMCBvdGhlcndpc2UKKyAqCisgKiBUaGlzIHdpbGwgZHVtcCB0aGUgY29udGVudCBvZiB0aGUgZWxlbWVudCB0YWJsZSBhcyBhbiBYTUwgRFREIGRlZmluaXRpb24KKyAqLworc3RhdGljIHZvaWQKK3htbER1bXBFbGVtZW50Q29udGVudCh4bWxCdWZmZXJQdHIgYnVmLCB4bWxFbGVtZW50Q29udGVudFB0ciBjb250ZW50LCBpbnQgZ2xvYikgeworICAgIGlmIChjb250ZW50ID09IE5VTEwpIHJldHVybjsKKworICAgIGlmIChnbG9iKSB4bWxCdWZmZXJXcml0ZUNoYXIoYnVmLCAiKCIpOworICAgIHN3aXRjaCAoY29udGVudC0+dHlwZSkgeworICAgICAgICBjYXNlIFhNTF9FTEVNRU5UX0NPTlRFTlRfUENEQVRBOgorICAgICAgICAgICAgeG1sQnVmZmVyV3JpdGVDaGFyKGJ1ZiwgIiNQQ0RBVEEiKTsKKwkgICAgYnJlYWs7CisJY2FzZSBYTUxfRUxFTUVOVF9DT05URU5UX0VMRU1FTlQ6CisJICAgIGlmIChjb250ZW50LT5wcmVmaXggIT0gTlVMTCkgeworCQl4bWxCdWZmZXJXcml0ZUNIQVIoYnVmLCBjb250ZW50LT5wcmVmaXgpOworCQl4bWxCdWZmZXJXcml0ZUNoYXIoYnVmLCAiOiIpOworCSAgICB9CisJICAgIHhtbEJ1ZmZlcldyaXRlQ0hBUihidWYsIGNvbnRlbnQtPm5hbWUpOworCSAgICBicmVhazsKKwljYXNlIFhNTF9FTEVNRU5UX0NPTlRFTlRfU0VROgorCSAgICBpZiAoKGNvbnRlbnQtPmMxLT50eXBlID09IFhNTF9FTEVNRU5UX0NPTlRFTlRfT1IpIHx8CisJICAgICAgICAoY29udGVudC0+YzEtPnR5cGUgPT0gWE1MX0VMRU1FTlRfQ09OVEVOVF9TRVEpKQorCQl4bWxEdW1wRWxlbWVudENvbnRlbnQoYnVmLCBjb250ZW50LT5jMSwgMSk7CisJICAgIGVsc2UKKwkJeG1sRHVtcEVsZW1lbnRDb250ZW50KGJ1ZiwgY29udGVudC0+YzEsIDApOworICAgICAgICAgICAgeG1sQnVmZmVyV3JpdGVDaGFyKGJ1ZiwgIiAsICIpOworCSAgICBpZiAoKGNvbnRlbnQtPmMyLT50eXBlID09IFhNTF9FTEVNRU5UX0NPTlRFTlRfT1IpIHx8CisJICAgICAgICAoKGNvbnRlbnQtPmMyLT50eXBlID09IFhNTF9FTEVNRU5UX0NPTlRFTlRfU0VRKSAmJgorCQkgKGNvbnRlbnQtPmMyLT5vY3VyICE9IFhNTF9FTEVNRU5UX0NPTlRFTlRfT05DRSkpKQorCQl4bWxEdW1wRWxlbWVudENvbnRlbnQoYnVmLCBjb250ZW50LT5jMiwgMSk7CisJICAgIGVsc2UKKwkJeG1sRHVtcEVsZW1lbnRDb250ZW50KGJ1ZiwgY29udGVudC0+YzIsIDApOworCSAgICBicmVhazsKKwljYXNlIFhNTF9FTEVNRU5UX0NPTlRFTlRfT1I6CisJICAgIGlmICgoY29udGVudC0+YzEtPnR5cGUgPT0gWE1MX0VMRU1FTlRfQ09OVEVOVF9PUikgfHwKKwkgICAgICAgIChjb250ZW50LT5jMS0+dHlwZSA9PSBYTUxfRUxFTUVOVF9DT05URU5UX1NFUSkpCisJCXhtbER1bXBFbGVtZW50Q29udGVudChidWYsIGNvbnRlbnQtPmMxLCAxKTsKKwkgICAgZWxzZQorCQl4bWxEdW1wRWxlbWVudENvbnRlbnQoYnVmLCBjb250ZW50LT5jMSwgMCk7CisgICAgICAgICAgICB4bWxCdWZmZXJXcml0ZUNoYXIoYnVmLCAiIHwgIik7CisJICAgIGlmICgoY29udGVudC0+YzItPnR5cGUgPT0gWE1MX0VMRU1FTlRfQ09OVEVOVF9TRVEpIHx8CisJICAgICAgICAoKGNvbnRlbnQtPmMyLT50eXBlID09IFhNTF9FTEVNRU5UX0NPTlRFTlRfT1IpICYmCisJCSAoY29udGVudC0+YzItPm9jdXIgIT0gWE1MX0VMRU1FTlRfQ09OVEVOVF9PTkNFKSkpCisJCXhtbER1bXBFbGVtZW50Q29udGVudChidWYsIGNvbnRlbnQtPmMyLCAxKTsKKwkgICAgZWxzZQorCQl4bWxEdW1wRWxlbWVudENvbnRlbnQoYnVmLCBjb250ZW50LT5jMiwgMCk7CisJICAgIGJyZWFrOworCWRlZmF1bHQ6CisJICAgIHhtbEVyclZhbGlkKE5VTEwsIFhNTF9FUlJfSU5URVJOQUxfRVJST1IsCisJCSAgICAiSW50ZXJuYWw6IEVMRU1FTlQgY29udGVudCBjb3JydXB0ZWQgaW52YWxpZCB0eXBlXG4iLAorCQkgICAgTlVMTCk7CisgICAgfQorICAgIGlmIChnbG9iKQorICAgICAgICB4bWxCdWZmZXJXcml0ZUNoYXIoYnVmLCAiKSIpOworICAgIHN3aXRjaCAoY29udGVudC0+b2N1cikgeworICAgICAgICBjYXNlIFhNTF9FTEVNRU5UX0NPTlRFTlRfT05DRToKKwkgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0VMRU1FTlRfQ09OVEVOVF9PUFQ6CisJICAgIHhtbEJ1ZmZlcldyaXRlQ2hhcihidWYsICI/Iik7CisJICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9FTEVNRU5UX0NPTlRFTlRfTVVMVDoKKwkgICAgeG1sQnVmZmVyV3JpdGVDaGFyKGJ1ZiwgIioiKTsKKwkgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0VMRU1FTlRfQ09OVEVOVF9QTFVTOgorCSAgICB4bWxCdWZmZXJXcml0ZUNoYXIoYnVmLCAiKyIpOworCSAgICBicmVhazsKKyAgICB9Cit9CisKKy8qKgorICogeG1sU3ByaW50ZkVsZW1lbnRDb250ZW50OgorICogQGJ1ZjogIGFuIG91dHB1dCBidWZmZXIKKyAqIEBjb250ZW50OiAgQW4gZWxlbWVudCB0YWJsZQorICogQGVuZ2xvYjogMSBpZiBvbmUgbXVzdCBwcmludCB0aGUgZW5nbG9iaW5nIHBhcmVudGhlc2lzLCAwIG90aGVyd2lzZQorICoKKyAqIERlcHJlY2F0ZWQsIHVuc2FmZSwgdXNlIHhtbFNucHJpbnRmRWxlbWVudENvbnRlbnQKKyAqLwordm9pZAoreG1sU3ByaW50ZkVsZW1lbnRDb250ZW50KGNoYXIgKmJ1ZiBBVFRSSUJVVEVfVU5VU0VELAorCSAgICAgICAgICAgICAgICAgeG1sRWxlbWVudENvbnRlbnRQdHIgY29udGVudCBBVFRSSUJVVEVfVU5VU0VELAorCQkJIGludCBlbmdsb2IgQVRUUklCVVRFX1VOVVNFRCkgeworfQorI2VuZGlmIC8qIExJQlhNTF9PVVRQVVRfRU5BQkxFRCAqLworCisvKioKKyAqIHhtbFNucHJpbnRmRWxlbWVudENvbnRlbnQ6CisgKiBAYnVmOiAgYW4gb3V0cHV0IGJ1ZmZlcgorICogQHNpemU6ICB0aGUgYnVmZmVyIHNpemUKKyAqIEBjb250ZW50OiAgQW4gZWxlbWVudCB0YWJsZQorICogQGVuZ2xvYjogMSBpZiBvbmUgbXVzdCBwcmludCB0aGUgZW5nbG9iaW5nIHBhcmVudGhlc2lzLCAwIG90aGVyd2lzZQorICoKKyAqIFRoaXMgd2lsbCBkdW1wIHRoZSBjb250ZW50IG9mIHRoZSBlbGVtZW50IGNvbnRlbnQgZGVmaW5pdGlvbgorICogSW50ZW5kZWQganVzdCBmb3IgdGhlIGRlYnVnIHJvdXRpbmUKKyAqLwordm9pZAoreG1sU25wcmludGZFbGVtZW50Q29udGVudChjaGFyICpidWYsIGludCBzaXplLCB4bWxFbGVtZW50Q29udGVudFB0ciBjb250ZW50LCBpbnQgZW5nbG9iKSB7CisgICAgaW50IGxlbjsKKworICAgIGlmIChjb250ZW50ID09IE5VTEwpIHJldHVybjsKKyAgICBsZW4gPSBzdHJsZW4oYnVmKTsKKyAgICBpZiAoc2l6ZSAtIGxlbiA8IDUwKSB7CisJaWYgKChzaXplIC0gbGVuID4gNCkgJiYgKGJ1ZltsZW4gLSAxXSAhPSAnLicpKQorCSAgICBzdHJjYXQoYnVmLCAiIC4uLiIpOworCXJldHVybjsKKyAgICB9CisgICAgaWYgKGVuZ2xvYikgc3RyY2F0KGJ1ZiwgIigiKTsKKyAgICBzd2l0Y2ggKGNvbnRlbnQtPnR5cGUpIHsKKyAgICAgICAgY2FzZSBYTUxfRUxFTUVOVF9DT05URU5UX1BDREFUQToKKyAgICAgICAgICAgIHN0cmNhdChidWYsICIjUENEQVRBIik7CisJICAgIGJyZWFrOworCWNhc2UgWE1MX0VMRU1FTlRfQ09OVEVOVF9FTEVNRU5UOgorCSAgICBpZiAoY29udGVudC0+cHJlZml4ICE9IE5VTEwpIHsKKwkJaWYgKHNpemUgLSBsZW4gPCB4bWxTdHJsZW4oY29udGVudC0+cHJlZml4KSArIDEwKSB7CisJCSAgICBzdHJjYXQoYnVmLCAiIC4uLiIpOworCQkgICAgcmV0dXJuOworCQl9CisJCXN0cmNhdChidWYsIChjaGFyICopIGNvbnRlbnQtPnByZWZpeCk7CisJCXN0cmNhdChidWYsICI6Iik7CisJICAgIH0KKwkgICAgaWYgKHNpemUgLSBsZW4gPCB4bWxTdHJsZW4oY29udGVudC0+bmFtZSkgKyAxMCkgeworCQlzdHJjYXQoYnVmLCAiIC4uLiIpOworCQlyZXR1cm47CisJICAgIH0KKwkgICAgaWYgKGNvbnRlbnQtPm5hbWUgIT0gTlVMTCkKKwkJc3RyY2F0KGJ1ZiwgKGNoYXIgKikgY29udGVudC0+bmFtZSk7CisJICAgIGJyZWFrOworCWNhc2UgWE1MX0VMRU1FTlRfQ09OVEVOVF9TRVE6CisJICAgIGlmICgoY29udGVudC0+YzEtPnR5cGUgPT0gWE1MX0VMRU1FTlRfQ09OVEVOVF9PUikgfHwKKwkgICAgICAgIChjb250ZW50LT5jMS0+dHlwZSA9PSBYTUxfRUxFTUVOVF9DT05URU5UX1NFUSkpCisJCXhtbFNucHJpbnRmRWxlbWVudENvbnRlbnQoYnVmLCBzaXplLCBjb250ZW50LT5jMSwgMSk7CisJICAgIGVsc2UKKwkJeG1sU25wcmludGZFbGVtZW50Q29udGVudChidWYsIHNpemUsIGNvbnRlbnQtPmMxLCAwKTsKKwkgICAgbGVuID0gc3RybGVuKGJ1Zik7CisJICAgIGlmIChzaXplIC0gbGVuIDwgNTApIHsKKwkJaWYgKChzaXplIC0gbGVuID4gNCkgJiYgKGJ1ZltsZW4gLSAxXSAhPSAnLicpKQorCQkgICAgc3RyY2F0KGJ1ZiwgIiAuLi4iKTsKKwkJcmV0dXJuOworCSAgICB9CisgICAgICAgICAgICBzdHJjYXQoYnVmLCAiICwgIik7CisJICAgIGlmICgoKGNvbnRlbnQtPmMyLT50eXBlID09IFhNTF9FTEVNRU5UX0NPTlRFTlRfT1IpIHx8CisJCSAoY29udGVudC0+YzItPm9jdXIgIT0gWE1MX0VMRU1FTlRfQ09OVEVOVF9PTkNFKSkgJiYKKwkJKGNvbnRlbnQtPmMyLT50eXBlICE9IFhNTF9FTEVNRU5UX0NPTlRFTlRfRUxFTUVOVCkpCisJCXhtbFNucHJpbnRmRWxlbWVudENvbnRlbnQoYnVmLCBzaXplLCBjb250ZW50LT5jMiwgMSk7CisJICAgIGVsc2UKKwkJeG1sU25wcmludGZFbGVtZW50Q29udGVudChidWYsIHNpemUsIGNvbnRlbnQtPmMyLCAwKTsKKwkgICAgYnJlYWs7CisJY2FzZSBYTUxfRUxFTUVOVF9DT05URU5UX09SOgorCSAgICBpZiAoKGNvbnRlbnQtPmMxLT50eXBlID09IFhNTF9FTEVNRU5UX0NPTlRFTlRfT1IpIHx8CisJICAgICAgICAoY29udGVudC0+YzEtPnR5cGUgPT0gWE1MX0VMRU1FTlRfQ09OVEVOVF9TRVEpKQorCQl4bWxTbnByaW50ZkVsZW1lbnRDb250ZW50KGJ1Ziwgc2l6ZSwgY29udGVudC0+YzEsIDEpOworCSAgICBlbHNlCisJCXhtbFNucHJpbnRmRWxlbWVudENvbnRlbnQoYnVmLCBzaXplLCBjb250ZW50LT5jMSwgMCk7CisJICAgIGxlbiA9IHN0cmxlbihidWYpOworCSAgICBpZiAoc2l6ZSAtIGxlbiA8IDUwKSB7CisJCWlmICgoc2l6ZSAtIGxlbiA+IDQpICYmIChidWZbbGVuIC0gMV0gIT0gJy4nKSkKKwkJICAgIHN0cmNhdChidWYsICIgLi4uIik7CisJCXJldHVybjsKKwkgICAgfQorICAgICAgICAgICAgc3RyY2F0KGJ1ZiwgIiB8ICIpOworCSAgICBpZiAoKChjb250ZW50LT5jMi0+dHlwZSA9PSBYTUxfRUxFTUVOVF9DT05URU5UX1NFUSkgfHwKKwkJIChjb250ZW50LT5jMi0+b2N1ciAhPSBYTUxfRUxFTUVOVF9DT05URU5UX09OQ0UpKSAmJgorCQkoY29udGVudC0+YzItPnR5cGUgIT0gWE1MX0VMRU1FTlRfQ09OVEVOVF9FTEVNRU5UKSkKKwkJeG1sU25wcmludGZFbGVtZW50Q29udGVudChidWYsIHNpemUsIGNvbnRlbnQtPmMyLCAxKTsKKwkgICAgZWxzZQorCQl4bWxTbnByaW50ZkVsZW1lbnRDb250ZW50KGJ1Ziwgc2l6ZSwgY29udGVudC0+YzIsIDApOworCSAgICBicmVhazsKKyAgICB9CisgICAgaWYgKGVuZ2xvYikKKyAgICAgICAgc3RyY2F0KGJ1ZiwgIikiKTsKKyAgICBzd2l0Y2ggKGNvbnRlbnQtPm9jdXIpIHsKKyAgICAgICAgY2FzZSBYTUxfRUxFTUVOVF9DT05URU5UX09OQ0U6CisJICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9FTEVNRU5UX0NPTlRFTlRfT1BUOgorCSAgICBzdHJjYXQoYnVmLCAiPyIpOworCSAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfRUxFTUVOVF9DT05URU5UX01VTFQ6CisJICAgIHN0cmNhdChidWYsICIqIik7CisJICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9FTEVNRU5UX0NPTlRFTlRfUExVUzoKKwkgICAgc3RyY2F0KGJ1ZiwgIisiKTsKKwkgICAgYnJlYWs7CisgICAgfQorfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCSoKKyAqCVJlZ2lzdHJhdGlvbiBvZiBEVEQgZGVjbGFyYXRpb25zCQkJKgorICoJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioKKyAqIHhtbEZyZWVFbGVtZW50OgorICogQGVsZW06ICBBbiBlbGVtZW50CisgKgorICogRGVhbGxvY2F0ZSB0aGUgbWVtb3J5IHVzZWQgYnkgYW4gZWxlbWVudCBkZWZpbml0aW9uCisgKi8KK3N0YXRpYyB2b2lkCit4bWxGcmVlRWxlbWVudCh4bWxFbGVtZW50UHRyIGVsZW0pIHsKKyAgICBpZiAoZWxlbSA9PSBOVUxMKSByZXR1cm47CisgICAgeG1sVW5saW5rTm9kZSgoeG1sTm9kZVB0cikgZWxlbSk7CisgICAgeG1sRnJlZURvY0VsZW1lbnRDb250ZW50KGVsZW0tPmRvYywgZWxlbS0+Y29udGVudCk7CisgICAgaWYgKGVsZW0tPm5hbWUgIT0gTlVMTCkKKwl4bWxGcmVlKCh4bWxDaGFyICopIGVsZW0tPm5hbWUpOworICAgIGlmIChlbGVtLT5wcmVmaXggIT0gTlVMTCkKKwl4bWxGcmVlKCh4bWxDaGFyICopIGVsZW0tPnByZWZpeCk7CisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECisgICAgaWYgKGVsZW0tPmNvbnRNb2RlbCAhPSBOVUxMKQorCXhtbFJlZ0ZyZWVSZWdleHAoZWxlbS0+Y29udE1vZGVsKTsKKyNlbmRpZgorICAgIHhtbEZyZWUoZWxlbSk7Cit9CisKKworLyoqCisgKiB4bWxBZGRFbGVtZW50RGVjbDoKKyAqIEBjdHh0OiAgdGhlIHZhbGlkYXRpb24gY29udGV4dAorICogQGR0ZDogIHBvaW50ZXIgdG8gdGhlIERURAorICogQG5hbWU6ICB0aGUgZW50aXR5IG5hbWUKKyAqIEB0eXBlOiAgdGhlIGVsZW1lbnQgdHlwZQorICogQGNvbnRlbnQ6ICB0aGUgZWxlbWVudCBjb250ZW50IHRyZWUgb3IgTlVMTAorICoKKyAqIFJlZ2lzdGVyIGEgbmV3IGVsZW1lbnQgZGVjbGFyYXRpb24KKyAqCisgKiBSZXR1cm5zIE5VTEwgaWYgbm90LCBvdGhlcndpc2UgdGhlIGVudGl0eQorICovCit4bWxFbGVtZW50UHRyCit4bWxBZGRFbGVtZW50RGVjbCh4bWxWYWxpZEN0eHRQdHIgY3R4dCwKKyAgICAgICAgICAgICAgICAgIHhtbER0ZFB0ciBkdGQsIGNvbnN0IHhtbENoYXIgKm5hbWUsCisgICAgICAgICAgICAgICAgICB4bWxFbGVtZW50VHlwZVZhbCB0eXBlLAorCQkgIHhtbEVsZW1lbnRDb250ZW50UHRyIGNvbnRlbnQpIHsKKyAgICB4bWxFbGVtZW50UHRyIHJldDsKKyAgICB4bWxFbGVtZW50VGFibGVQdHIgdGFibGU7CisgICAgeG1sQXR0cmlidXRlUHRyIG9sZEF0dHJpYnV0ZXMgPSBOVUxMOworICAgIHhtbENoYXIgKm5zLCAqdXFuYW1lOworCisgICAgaWYgKGR0ZCA9PSBOVUxMKSB7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBpZiAobmFtZSA9PSBOVUxMKSB7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKworICAgIHN3aXRjaCAodHlwZSkgeworICAgICAgICBjYXNlIFhNTF9FTEVNRU5UX1RZUEVfRU1QVFk6CisJICAgIGlmIChjb250ZW50ICE9IE5VTEwpIHsKKwkJeG1sRXJyVmFsaWQoY3R4dCwgWE1MX0VSUl9JTlRFUk5BTF9FUlJPUiwKKwkJICAgICAgICAieG1sQWRkRWxlbWVudERlY2w6IGNvbnRlbnQgIT0gTlVMTCBmb3IgRU1QVFlcbiIsCisJCQlOVUxMKTsKKwkJcmV0dXJuKE5VTEwpOworCSAgICB9CisJICAgIGJyZWFrOworCWNhc2UgWE1MX0VMRU1FTlRfVFlQRV9BTlk6CisJICAgIGlmIChjb250ZW50ICE9IE5VTEwpIHsKKwkJeG1sRXJyVmFsaWQoY3R4dCwgWE1MX0VSUl9JTlRFUk5BTF9FUlJPUiwKKwkJICAgICAgICAieG1sQWRkRWxlbWVudERlY2w6IGNvbnRlbnQgIT0gTlVMTCBmb3IgQU5ZXG4iLAorCQkJTlVMTCk7CisJCXJldHVybihOVUxMKTsKKwkgICAgfQorCSAgICBicmVhazsKKwljYXNlIFhNTF9FTEVNRU5UX1RZUEVfTUlYRUQ6CisJICAgIGlmIChjb250ZW50ID09IE5VTEwpIHsKKwkJeG1sRXJyVmFsaWQoY3R4dCwgWE1MX0VSUl9JTlRFUk5BTF9FUlJPUiwKKwkJICAgICAgICAieG1sQWRkRWxlbWVudERlY2w6IGNvbnRlbnQgPT0gTlVMTCBmb3IgTUlYRURcbiIsCisJCQlOVUxMKTsKKwkJcmV0dXJuKE5VTEwpOworCSAgICB9CisJICAgIGJyZWFrOworCWNhc2UgWE1MX0VMRU1FTlRfVFlQRV9FTEVNRU5UOgorCSAgICBpZiAoY29udGVudCA9PSBOVUxMKSB7CisJCXhtbEVyclZhbGlkKGN0eHQsIFhNTF9FUlJfSU5URVJOQUxfRVJST1IsCisJCSAgICAgICAgInhtbEFkZEVsZW1lbnREZWNsOiBjb250ZW50ID09IE5VTEwgZm9yIEVMRU1FTlRcbiIsCisJCQlOVUxMKTsKKwkJcmV0dXJuKE5VTEwpOworCSAgICB9CisJICAgIGJyZWFrOworCWRlZmF1bHQ6CisJICAgIHhtbEVyclZhbGlkKGN0eHQsIFhNTF9FUlJfSU5URVJOQUxfRVJST1IsCisJCSAgICAiSW50ZXJuYWw6IEVMRU1FTlQgZGVjbCBjb3JydXB0ZWQgaW52YWxpZCB0eXBlXG4iLAorCQkgICAgTlVMTCk7CisJICAgIHJldHVybihOVUxMKTsKKyAgICB9CisKKyAgICAvKgorICAgICAqIGNoZWNrIGlmIG5hbWUgaXMgYSBRTmFtZQorICAgICAqLworICAgIHVxbmFtZSA9IHhtbFNwbGl0UU5hbWUyKG5hbWUsICZucyk7CisgICAgaWYgKHVxbmFtZSAhPSBOVUxMKQorCW5hbWUgPSB1cW5hbWU7CisKKyAgICAvKgorICAgICAqIENyZWF0ZSB0aGUgRWxlbWVudCB0YWJsZSBpZiBuZWVkZWQuCisgICAgICovCisgICAgdGFibGUgPSAoeG1sRWxlbWVudFRhYmxlUHRyKSBkdGQtPmVsZW1lbnRzOworICAgIGlmICh0YWJsZSA9PSBOVUxMKSB7CisJeG1sRGljdFB0ciBkaWN0ID0gTlVMTDsKKworCWlmIChkdGQtPmRvYyAhPSBOVUxMKQorCSAgICBkaWN0ID0gZHRkLT5kb2MtPmRpY3Q7CisgICAgICAgIHRhYmxlID0geG1sSGFzaENyZWF0ZURpY3QoMCwgZGljdCk7CisJZHRkLT5lbGVtZW50cyA9ICh2b2lkICopIHRhYmxlOworICAgIH0KKyAgICBpZiAodGFibGUgPT0gTlVMTCkgeworCXhtbFZFcnJNZW1vcnkoY3R4dCwKKyAgICAgICAgICAgICJ4bWxBZGRFbGVtZW50RGVjbDogVGFibGUgY3JlYXRpb24gZmFpbGVkIVxuIik7CisJaWYgKHVxbmFtZSAhPSBOVUxMKQorCSAgICB4bWxGcmVlKHVxbmFtZSk7CisJaWYgKG5zICE9IE5VTEwpCisJICAgIHhtbEZyZWUobnMpOworICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgfQorCisgICAgLyoKKyAgICAgKiBsb29rdXAgb2xkIGF0dHJpYnV0ZXMgaW5zZXJ0ZWQgb24gYW4gdW5kZWZpbmVkIGVsZW1lbnQgaW4gdGhlCisgICAgICogaW50ZXJuYWwgc3Vic2V0LgorICAgICAqLworICAgIGlmICgoZHRkLT5kb2MgIT0gTlVMTCkgJiYgKGR0ZC0+ZG9jLT5pbnRTdWJzZXQgIT0gTlVMTCkpIHsKKwlyZXQgPSB4bWxIYXNoTG9va3VwMihkdGQtPmRvYy0+aW50U3Vic2V0LT5lbGVtZW50cywgbmFtZSwgbnMpOworCWlmICgocmV0ICE9IE5VTEwpICYmIChyZXQtPmV0eXBlID09IFhNTF9FTEVNRU5UX1RZUEVfVU5ERUZJTkVEKSkgeworCSAgICBvbGRBdHRyaWJ1dGVzID0gcmV0LT5hdHRyaWJ1dGVzOworCSAgICByZXQtPmF0dHJpYnV0ZXMgPSBOVUxMOworCSAgICB4bWxIYXNoUmVtb3ZlRW50cnkyKGR0ZC0+ZG9jLT5pbnRTdWJzZXQtPmVsZW1lbnRzLCBuYW1lLCBucywgTlVMTCk7CisJICAgIHhtbEZyZWVFbGVtZW50KHJldCk7CisJfQorICAgIH0KKworICAgIC8qCisgICAgICogVGhlIGVsZW1lbnQgbWF5IGFscmVhZHkgYmUgcHJlc2VudCBpZiBvbmUgb2YgaXRzIGF0dHJpYnV0ZQorICAgICAqIHdhcyByZWdpc3RlcmVkIGZpcnN0CisgICAgICovCisgICAgcmV0ID0geG1sSGFzaExvb2t1cDIodGFibGUsIG5hbWUsIG5zKTsKKyAgICBpZiAocmV0ICE9IE5VTEwpIHsKKwlpZiAocmV0LT5ldHlwZSAhPSBYTUxfRUxFTUVOVF9UWVBFX1VOREVGSU5FRCkgeworI2lmZGVmIExJQlhNTF9WQUxJRF9FTkFCTEVECisJICAgIC8qCisJICAgICAqIFRoZSBlbGVtZW50IGlzIGFscmVhZHkgZGVmaW5lZCBpbiB0aGlzIERURC4KKwkgICAgICovCisJICAgIHhtbEVyclZhbGlkTm9kZShjdHh0LCAoeG1sTm9kZVB0cikgZHRkLCBYTUxfRFREX0VMRU1fUkVERUZJTkVELAorCSAgICAgICAgICAgICAgICAgICAgIlJlZGVmaW5pdGlvbiBvZiBlbGVtZW50ICVzXG4iLAorCQkJICAgIG5hbWUsIE5VTEwsIE5VTEwpOworI2VuZGlmIC8qIExJQlhNTF9WQUxJRF9FTkFCTEVEICovCisJICAgIGlmICh1cW5hbWUgIT0gTlVMTCkKKwkJeG1sRnJlZSh1cW5hbWUpOworICAgICAgICAgICAgaWYgKG5zICE9IE5VTEwpCisJICAgICAgICB4bWxGcmVlKG5zKTsKKwkgICAgcmV0dXJuKE5VTEwpOworCX0KKwlpZiAobnMgIT0gTlVMTCkgeworCSAgICB4bWxGcmVlKG5zKTsKKwkgICAgbnMgPSBOVUxMOworCX0KKyAgICB9IGVsc2UgeworCXJldCA9ICh4bWxFbGVtZW50UHRyKSB4bWxNYWxsb2Moc2l6ZW9mKHhtbEVsZW1lbnQpKTsKKwlpZiAocmV0ID09IE5VTEwpIHsKKwkgICAgeG1sVkVyck1lbW9yeShjdHh0LCAibWFsbG9jIGZhaWxlZCIpOworCSAgICBpZiAodXFuYW1lICE9IE5VTEwpCisJCXhtbEZyZWUodXFuYW1lKTsKKyAgICAgICAgICAgIGlmIChucyAhPSBOVUxMKQorCSAgICAgICAgeG1sRnJlZShucyk7CisJICAgIHJldHVybihOVUxMKTsKKwl9CisJbWVtc2V0KHJldCwgMCwgc2l6ZW9mKHhtbEVsZW1lbnQpKTsKKwlyZXQtPnR5cGUgPSBYTUxfRUxFTUVOVF9ERUNMOworCisJLyoKKwkgKiBmaWxsIHRoZSBzdHJ1Y3R1cmUuCisJICovCisJcmV0LT5uYW1lID0geG1sU3RyZHVwKG5hbWUpOworCWlmIChyZXQtPm5hbWUgPT0gTlVMTCkgeworCSAgICB4bWxWRXJyTWVtb3J5KGN0eHQsICJtYWxsb2MgZmFpbGVkIik7CisJICAgIGlmICh1cW5hbWUgIT0gTlVMTCkKKwkJeG1sRnJlZSh1cW5hbWUpOworICAgICAgICAgICAgaWYgKG5zICE9IE5VTEwpCisJICAgICAgICB4bWxGcmVlKG5zKTsKKwkgICAgeG1sRnJlZShyZXQpOworCSAgICByZXR1cm4oTlVMTCk7CisJfQorCXJldC0+cHJlZml4ID0gbnM7CisKKwkvKgorCSAqIFZhbGlkaXR5IENoZWNrOgorCSAqIEluc2VydGlvbiBtdXN0IG5vdCBmYWlsCisJICovCisJaWYgKHhtbEhhc2hBZGRFbnRyeTIodGFibGUsIG5hbWUsIG5zLCByZXQpKSB7CisjaWZkZWYgTElCWE1MX1ZBTElEX0VOQUJMRUQKKwkgICAgLyoKKwkgICAgICogVGhlIGVsZW1lbnQgaXMgYWxyZWFkeSBkZWZpbmVkIGluIHRoaXMgRFRELgorCSAgICAgKi8KKwkgICAgeG1sRXJyVmFsaWROb2RlKGN0eHQsICh4bWxOb2RlUHRyKSBkdGQsIFhNTF9EVERfRUxFTV9SRURFRklORUQsCisJICAgICAgICAgICAgICAgICAgICAiUmVkZWZpbml0aW9uIG9mIGVsZW1lbnQgJXNcbiIsCisJCQkgICAgbmFtZSwgTlVMTCwgTlVMTCk7CisjZW5kaWYgLyogTElCWE1MX1ZBTElEX0VOQUJMRUQgKi8KKwkgICAgeG1sRnJlZUVsZW1lbnQocmV0KTsKKwkgICAgaWYgKHVxbmFtZSAhPSBOVUxMKQorCQl4bWxGcmVlKHVxbmFtZSk7CisJICAgIHJldHVybihOVUxMKTsKKwl9CisJLyoKKwkgKiBGb3IgbmV3IGVsZW1lbnQsIG1heSBoYXZlIGF0dHJpYnV0ZXMgZnJvbSBlYXJsaWVyCisJICogZGVmaW5pdGlvbiBpbiBpbnRlcm5hbCBzdWJzZXQKKwkgKi8KKwlyZXQtPmF0dHJpYnV0ZXMgPSBvbGRBdHRyaWJ1dGVzOworICAgIH0KKworICAgIC8qCisgICAgICogRmluaXNoIHRvIGZpbGwgdGhlIHN0cnVjdHVyZS4KKyAgICAgKi8KKyAgICByZXQtPmV0eXBlID0gdHlwZTsKKyAgICAvKgorICAgICAqIEF2b2lkIGEgc3R1cGlkIGNvcHkgd2hlbiBjYWxsZWQgYnkgdGhlIHBhcnNlcgorICAgICAqIGFuZCBmbGFnIGl0IGJ5IHNldHRpbmcgYSBzcGVjaWFsIHBhcmVudCB2YWx1ZQorICAgICAqIHNvIHRoZSBwYXJzZXIgZG9lc24ndCB1bmFsbG9jYXRlIGl0LgorICAgICAqLworICAgIGlmICgoY3R4dCAhPSBOVUxMKSAmJgorICAgICAgICAoKGN0eHQtPmZpbmlzaER0ZCA9PSBYTUxfQ1RYVF9GSU5JU0hfRFREXzApIHx8CisgICAgICAgICAoY3R4dC0+ZmluaXNoRHRkID09IFhNTF9DVFhUX0ZJTklTSF9EVERfMSkpKSB7CisJcmV0LT5jb250ZW50ID0gY29udGVudDsKKwlpZiAoY29udGVudCAhPSBOVUxMKQorCSAgICBjb250ZW50LT5wYXJlbnQgPSAoeG1sRWxlbWVudENvbnRlbnRQdHIpIDE7CisgICAgfSBlbHNlIHsKKwlyZXQtPmNvbnRlbnQgPSB4bWxDb3B5RG9jRWxlbWVudENvbnRlbnQoZHRkLT5kb2MsIGNvbnRlbnQpOworICAgIH0KKworICAgIC8qCisgICAgICogTGluayBpdCB0byB0aGUgRFRECisgICAgICovCisgICAgcmV0LT5wYXJlbnQgPSBkdGQ7CisgICAgcmV0LT5kb2MgPSBkdGQtPmRvYzsKKyAgICBpZiAoZHRkLT5sYXN0ID09IE5VTEwpIHsKKwlkdGQtPmNoaWxkcmVuID0gZHRkLT5sYXN0ID0gKHhtbE5vZGVQdHIpIHJldDsKKyAgICB9IGVsc2UgeworICAgICAgICBkdGQtPmxhc3QtPm5leHQgPSAoeG1sTm9kZVB0cikgcmV0OworCXJldC0+cHJldiA9IGR0ZC0+bGFzdDsKKwlkdGQtPmxhc3QgPSAoeG1sTm9kZVB0cikgcmV0OworICAgIH0KKyAgICBpZiAodXFuYW1lICE9IE5VTEwpCisJeG1sRnJlZSh1cW5hbWUpOworICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbEZyZWVFbGVtZW50VGFibGU6CisgKiBAdGFibGU6ICBBbiBlbGVtZW50IHRhYmxlCisgKgorICogRGVhbGxvY2F0ZSB0aGUgbWVtb3J5IHVzZWQgYnkgYW4gZWxlbWVudCBoYXNoIHRhYmxlLgorICovCit2b2lkCit4bWxGcmVlRWxlbWVudFRhYmxlKHhtbEVsZW1lbnRUYWJsZVB0ciB0YWJsZSkgeworICAgIHhtbEhhc2hGcmVlKHRhYmxlLCAoeG1sSGFzaERlYWxsb2NhdG9yKSB4bWxGcmVlRWxlbWVudCk7Cit9CisKKyNpZmRlZiBMSUJYTUxfVFJFRV9FTkFCTEVECisvKioKKyAqIHhtbENvcHlFbGVtZW50OgorICogQGVsZW06ICBBbiBlbGVtZW50CisgKgorICogQnVpbGQgYSBjb3B5IG9mIGFuIGVsZW1lbnQuCisgKgorICogUmV0dXJucyB0aGUgbmV3IHhtbEVsZW1lbnRQdHIgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLgorICovCitzdGF0aWMgeG1sRWxlbWVudFB0cgoreG1sQ29weUVsZW1lbnQoeG1sRWxlbWVudFB0ciBlbGVtKSB7CisgICAgeG1sRWxlbWVudFB0ciBjdXI7CisKKyAgICBjdXIgPSAoeG1sRWxlbWVudFB0cikgeG1sTWFsbG9jKHNpemVvZih4bWxFbGVtZW50KSk7CisgICAgaWYgKGN1ciA9PSBOVUxMKSB7CisJeG1sVkVyck1lbW9yeShOVUxMLCAibWFsbG9jIGZhaWxlZCIpOworCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgbWVtc2V0KGN1ciwgMCwgc2l6ZW9mKHhtbEVsZW1lbnQpKTsKKyAgICBjdXItPnR5cGUgPSBYTUxfRUxFTUVOVF9ERUNMOworICAgIGN1ci0+ZXR5cGUgPSBlbGVtLT5ldHlwZTsKKyAgICBpZiAoZWxlbS0+bmFtZSAhPSBOVUxMKQorCWN1ci0+bmFtZSA9IHhtbFN0cmR1cChlbGVtLT5uYW1lKTsKKyAgICBlbHNlCisJY3VyLT5uYW1lID0gTlVMTDsKKyAgICBpZiAoZWxlbS0+cHJlZml4ICE9IE5VTEwpCisJY3VyLT5wcmVmaXggPSB4bWxTdHJkdXAoZWxlbS0+cHJlZml4KTsKKyAgICBlbHNlCisJY3VyLT5wcmVmaXggPSBOVUxMOworICAgIGN1ci0+Y29udGVudCA9IHhtbENvcHlFbGVtZW50Q29udGVudChlbGVtLT5jb250ZW50KTsKKyAgICAvKiBUT0RPIDogcmVidWlsZCB0aGUgYXR0cmlidXRlIGxpc3Qgb24gdGhlIGNvcHkgKi8KKyAgICBjdXItPmF0dHJpYnV0ZXMgPSBOVUxMOworICAgIHJldHVybihjdXIpOworfQorCisvKioKKyAqIHhtbENvcHlFbGVtZW50VGFibGU6CisgKiBAdGFibGU6ICBBbiBlbGVtZW50IHRhYmxlCisgKgorICogQnVpbGQgYSBjb3B5IG9mIGFuIGVsZW1lbnQgdGFibGUuCisgKgorICogUmV0dXJucyB0aGUgbmV3IHhtbEVsZW1lbnRUYWJsZVB0ciBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK3htbEVsZW1lbnRUYWJsZVB0cgoreG1sQ29weUVsZW1lbnRUYWJsZSh4bWxFbGVtZW50VGFibGVQdHIgdGFibGUpIHsKKyAgICByZXR1cm4oKHhtbEVsZW1lbnRUYWJsZVB0cikgeG1sSGFzaENvcHkodGFibGUsCisJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoeG1sSGFzaENvcGllcikgeG1sQ29weUVsZW1lbnQpKTsKK30KKyNlbmRpZiAvKiBMSUJYTUxfVFJFRV9FTkFCTEVEICovCisKKyNpZmRlZiBMSUJYTUxfT1VUUFVUX0VOQUJMRUQKKy8qKgorICogeG1sRHVtcEVsZW1lbnREZWNsOgorICogQGJ1ZjogIHRoZSBYTUwgYnVmZmVyIG91dHB1dAorICogQGVsZW06ICBBbiBlbGVtZW50IHRhYmxlCisgKgorICogVGhpcyB3aWxsIGR1bXAgdGhlIGNvbnRlbnQgb2YgdGhlIGVsZW1lbnQgZGVjbGFyYXRpb24gYXMgYW4gWE1MCisgKiBEVEQgZGVmaW5pdGlvbgorICovCit2b2lkCit4bWxEdW1wRWxlbWVudERlY2woeG1sQnVmZmVyUHRyIGJ1ZiwgeG1sRWxlbWVudFB0ciBlbGVtKSB7CisgICAgaWYgKChidWYgPT0gTlVMTCkgfHwgKGVsZW0gPT0gTlVMTCkpCisgICAgICAgIHJldHVybjsKKyAgICBzd2l0Y2ggKGVsZW0tPmV0eXBlKSB7CisJY2FzZSBYTUxfRUxFTUVOVF9UWVBFX0VNUFRZOgorCSAgICB4bWxCdWZmZXJXcml0ZUNoYXIoYnVmLCAiPCFFTEVNRU5UICIpOworCSAgICBpZiAoZWxlbS0+cHJlZml4ICE9IE5VTEwpIHsKKwkJeG1sQnVmZmVyV3JpdGVDSEFSKGJ1ZiwgZWxlbS0+cHJlZml4KTsKKwkJeG1sQnVmZmVyV3JpdGVDaGFyKGJ1ZiwgIjoiKTsKKwkgICAgfQorCSAgICB4bWxCdWZmZXJXcml0ZUNIQVIoYnVmLCBlbGVtLT5uYW1lKTsKKwkgICAgeG1sQnVmZmVyV3JpdGVDaGFyKGJ1ZiwgIiBFTVBUWT5cbiIpOworCSAgICBicmVhazsKKwljYXNlIFhNTF9FTEVNRU5UX1RZUEVfQU5ZOgorCSAgICB4bWxCdWZmZXJXcml0ZUNoYXIoYnVmLCAiPCFFTEVNRU5UICIpOworCSAgICBpZiAoZWxlbS0+cHJlZml4ICE9IE5VTEwpIHsKKwkJeG1sQnVmZmVyV3JpdGVDSEFSKGJ1ZiwgZWxlbS0+cHJlZml4KTsKKwkJeG1sQnVmZmVyV3JpdGVDaGFyKGJ1ZiwgIjoiKTsKKwkgICAgfQorCSAgICB4bWxCdWZmZXJXcml0ZUNIQVIoYnVmLCBlbGVtLT5uYW1lKTsKKwkgICAgeG1sQnVmZmVyV3JpdGVDaGFyKGJ1ZiwgIiBBTlk+XG4iKTsKKwkgICAgYnJlYWs7CisJY2FzZSBYTUxfRUxFTUVOVF9UWVBFX01JWEVEOgorCSAgICB4bWxCdWZmZXJXcml0ZUNoYXIoYnVmLCAiPCFFTEVNRU5UICIpOworCSAgICBpZiAoZWxlbS0+cHJlZml4ICE9IE5VTEwpIHsKKwkJeG1sQnVmZmVyV3JpdGVDSEFSKGJ1ZiwgZWxlbS0+cHJlZml4KTsKKwkJeG1sQnVmZmVyV3JpdGVDaGFyKGJ1ZiwgIjoiKTsKKwkgICAgfQorCSAgICB4bWxCdWZmZXJXcml0ZUNIQVIoYnVmLCBlbGVtLT5uYW1lKTsKKwkgICAgeG1sQnVmZmVyV3JpdGVDaGFyKGJ1ZiwgIiAiKTsKKwkgICAgeG1sRHVtcEVsZW1lbnRDb250ZW50KGJ1ZiwgZWxlbS0+Y29udGVudCwgMSk7CisJICAgIHhtbEJ1ZmZlcldyaXRlQ2hhcihidWYsICI+XG4iKTsKKwkgICAgYnJlYWs7CisJY2FzZSBYTUxfRUxFTUVOVF9UWVBFX0VMRU1FTlQ6CisJICAgIHhtbEJ1ZmZlcldyaXRlQ2hhcihidWYsICI8IUVMRU1FTlQgIik7CisJICAgIGlmIChlbGVtLT5wcmVmaXggIT0gTlVMTCkgeworCQl4bWxCdWZmZXJXcml0ZUNIQVIoYnVmLCBlbGVtLT5wcmVmaXgpOworCQl4bWxCdWZmZXJXcml0ZUNoYXIoYnVmLCAiOiIpOworCSAgICB9CisJICAgIHhtbEJ1ZmZlcldyaXRlQ0hBUihidWYsIGVsZW0tPm5hbWUpOworCSAgICB4bWxCdWZmZXJXcml0ZUNoYXIoYnVmLCAiICIpOworCSAgICB4bWxEdW1wRWxlbWVudENvbnRlbnQoYnVmLCBlbGVtLT5jb250ZW50LCAxKTsKKwkgICAgeG1sQnVmZmVyV3JpdGVDaGFyKGJ1ZiwgIj5cbiIpOworCSAgICBicmVhazsKKwlkZWZhdWx0OgorCSAgICB4bWxFcnJWYWxpZChOVUxMLCBYTUxfRVJSX0lOVEVSTkFMX0VSUk9SLAorCQkgICAgIkludGVybmFsOiBFTEVNRU5UIHN0cnVjdCBjb3JydXB0ZWQgaW52YWxpZCB0eXBlXG4iLAorCQkgICAgTlVMTCk7CisgICAgfQorfQorCisvKioKKyAqIHhtbER1bXBFbGVtZW50RGVjbFNjYW46CisgKiBAZWxlbTogIEFuIGVsZW1lbnQgdGFibGUKKyAqIEBidWY6ICB0aGUgWE1MIGJ1ZmZlciBvdXRwdXQKKyAqCisgKiBUaGlzIHJvdXRpbmUgaXMgdXNlZCBieSB0aGUgaGFzaCBzY2FuIGZ1bmN0aW9uLiAgSXQganVzdCByZXZlcnNlcworICogdGhlIGFyZ3VtZW50cy4KKyAqLworc3RhdGljIHZvaWQKK3htbER1bXBFbGVtZW50RGVjbFNjYW4oeG1sRWxlbWVudFB0ciBlbGVtLCB4bWxCdWZmZXJQdHIgYnVmKSB7CisgICAgeG1sRHVtcEVsZW1lbnREZWNsKGJ1ZiwgZWxlbSk7Cit9CisKKy8qKgorICogeG1sRHVtcEVsZW1lbnRUYWJsZToKKyAqIEBidWY6ICB0aGUgWE1MIGJ1ZmZlciBvdXRwdXQKKyAqIEB0YWJsZTogIEFuIGVsZW1lbnQgdGFibGUKKyAqCisgKiBUaGlzIHdpbGwgZHVtcCB0aGUgY29udGVudCBvZiB0aGUgZWxlbWVudCB0YWJsZSBhcyBhbiBYTUwgRFREIGRlZmluaXRpb24KKyAqLwordm9pZAoreG1sRHVtcEVsZW1lbnRUYWJsZSh4bWxCdWZmZXJQdHIgYnVmLCB4bWxFbGVtZW50VGFibGVQdHIgdGFibGUpIHsKKyAgICBpZiAoKGJ1ZiA9PSBOVUxMKSB8fCAodGFibGUgPT0gTlVMTCkpCisgICAgICAgIHJldHVybjsKKyAgICB4bWxIYXNoU2Nhbih0YWJsZSwgKHhtbEhhc2hTY2FubmVyKSB4bWxEdW1wRWxlbWVudERlY2xTY2FuLCBidWYpOworfQorI2VuZGlmIC8qIExJQlhNTF9PVVRQVVRfRU5BQkxFRCAqLworCisvKioKKyAqIHhtbENyZWF0ZUVudW1lcmF0aW9uOgorICogQG5hbWU6ICB0aGUgZW51bWVyYXRpb24gbmFtZSBvciBOVUxMCisgKgorICogY3JlYXRlIGFuZCBpbml0aWFsaXplIGFuIGVudW1lcmF0aW9uIGF0dHJpYnV0ZSBub2RlLgorICoKKyAqIFJldHVybnMgdGhlIHhtbEVudW1lcmF0aW9uUHRyIGp1c3QgY3JlYXRlZCBvciBOVUxMIGluIGNhc2UKKyAqICAgICAgICAgICAgICAgIG9mIGVycm9yLgorICovCit4bWxFbnVtZXJhdGlvblB0cgoreG1sQ3JlYXRlRW51bWVyYXRpb24oY29uc3QgeG1sQ2hhciAqbmFtZSkgeworICAgIHhtbEVudW1lcmF0aW9uUHRyIHJldDsKKworICAgIHJldCA9ICh4bWxFbnVtZXJhdGlvblB0cikgeG1sTWFsbG9jKHNpemVvZih4bWxFbnVtZXJhdGlvbikpOworICAgIGlmIChyZXQgPT0gTlVMTCkgeworCXhtbFZFcnJNZW1vcnkoTlVMTCwgIm1hbGxvYyBmYWlsZWQiKTsKKyAgICAgICAgcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBtZW1zZXQocmV0LCAwLCBzaXplb2YoeG1sRW51bWVyYXRpb24pKTsKKworICAgIGlmIChuYW1lICE9IE5VTEwpCisgICAgICAgIHJldC0+bmFtZSA9IHhtbFN0cmR1cChuYW1lKTsKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxGcmVlRW51bWVyYXRpb246CisgKiBAY3VyOiAgdGhlIHRyZWUgdG8gZnJlZS4KKyAqCisgKiBmcmVlIGFuIGVudW1lcmF0aW9uIGF0dHJpYnV0ZSBub2RlIChyZWN1cnNpdmUpLgorICovCit2b2lkCit4bWxGcmVlRW51bWVyYXRpb24oeG1sRW51bWVyYXRpb25QdHIgY3VyKSB7CisgICAgaWYgKGN1ciA9PSBOVUxMKSByZXR1cm47CisKKyAgICBpZiAoY3VyLT5uZXh0ICE9IE5VTEwpIHhtbEZyZWVFbnVtZXJhdGlvbihjdXItPm5leHQpOworCisgICAgaWYgKGN1ci0+bmFtZSAhPSBOVUxMKSB4bWxGcmVlKCh4bWxDaGFyICopIGN1ci0+bmFtZSk7CisgICAgeG1sRnJlZShjdXIpOworfQorCisjaWZkZWYgTElCWE1MX1RSRUVfRU5BQkxFRAorLyoqCisgKiB4bWxDb3B5RW51bWVyYXRpb246CisgKiBAY3VyOiAgdGhlIHRyZWUgdG8gY29weS4KKyAqCisgKiBDb3B5IGFuIGVudW1lcmF0aW9uIGF0dHJpYnV0ZSBub2RlIChyZWN1cnNpdmUpLgorICoKKyAqIFJldHVybnMgdGhlIHhtbEVudW1lcmF0aW9uUHRyIGp1c3QgY3JlYXRlZCBvciBOVUxMIGluIGNhc2UKKyAqICAgICAgICAgICAgICAgIG9mIGVycm9yLgorICovCit4bWxFbnVtZXJhdGlvblB0cgoreG1sQ29weUVudW1lcmF0aW9uKHhtbEVudW1lcmF0aW9uUHRyIGN1cikgeworICAgIHhtbEVudW1lcmF0aW9uUHRyIHJldDsKKworICAgIGlmIChjdXIgPT0gTlVMTCkgcmV0dXJuKE5VTEwpOworICAgIHJldCA9IHhtbENyZWF0ZUVudW1lcmF0aW9uKCh4bWxDaGFyICopIGN1ci0+bmFtZSk7CisgICAgaWYgKHJldCA9PSBOVUxMKSByZXR1cm4oTlVMTCk7CisKKyAgICBpZiAoY3VyLT5uZXh0ICE9IE5VTEwpIHJldC0+bmV4dCA9IHhtbENvcHlFbnVtZXJhdGlvbihjdXItPm5leHQpOworICAgIGVsc2UgcmV0LT5uZXh0ID0gTlVMTDsKKworICAgIHJldHVybihyZXQpOworfQorI2VuZGlmIC8qIExJQlhNTF9UUkVFX0VOQUJMRUQgKi8KKworI2lmZGVmIExJQlhNTF9PVVRQVVRfRU5BQkxFRAorLyoqCisgKiB4bWxEdW1wRW51bWVyYXRpb246CisgKiBAYnVmOiAgdGhlIFhNTCBidWZmZXIgb3V0cHV0CisgKiBAZW51bTogIEFuIGVudW1lcmF0aW9uCisgKgorICogVGhpcyB3aWxsIGR1bXAgdGhlIGNvbnRlbnQgb2YgdGhlIGVudW1lcmF0aW9uCisgKi8KK3N0YXRpYyB2b2lkCit4bWxEdW1wRW51bWVyYXRpb24oeG1sQnVmZmVyUHRyIGJ1ZiwgeG1sRW51bWVyYXRpb25QdHIgY3VyKSB7CisgICAgaWYgKChidWYgPT0gTlVMTCkgfHwgKGN1ciA9PSBOVUxMKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgeG1sQnVmZmVyV3JpdGVDSEFSKGJ1ZiwgY3VyLT5uYW1lKTsKKyAgICBpZiAoY3VyLT5uZXh0ID09IE5VTEwpCisJeG1sQnVmZmVyV3JpdGVDaGFyKGJ1ZiwgIikiKTsKKyAgICBlbHNlIHsKKwl4bWxCdWZmZXJXcml0ZUNoYXIoYnVmLCAiIHwgIik7CisJeG1sRHVtcEVudW1lcmF0aW9uKGJ1ZiwgY3VyLT5uZXh0KTsKKyAgICB9Cit9CisjZW5kaWYgLyogTElCWE1MX09VVFBVVF9FTkFCTEVEICovCisKKyNpZmRlZiBMSUJYTUxfVkFMSURfRU5BQkxFRAorLyoqCisgKiB4bWxTY2FuSURBdHRyaWJ1dGVEZWNsOgorICogQGN0eHQ6ICB0aGUgdmFsaWRhdGlvbiBjb250ZXh0CisgKiBAZWxlbTogIHRoZSBlbGVtZW50IG5hbWUKKyAqIEBlcnI6IHdoZXRoZXIgdG8gcmFpc2UgZXJyb3JzIGhlcmUKKyAqCisgKiBWZXJpZnkgdGhhdCB0aGUgZWxlbWVudCBkb24ndCBoYXZlIHRvbyBtYW55IElEIGF0dHJpYnV0ZXMKKyAqIGRlY2xhcmVkLgorICoKKyAqIFJldHVybnMgdGhlIG51bWJlciBvZiBJRCBhdHRyaWJ1dGVzIGZvdW5kLgorICovCitzdGF0aWMgaW50Cit4bWxTY2FuSURBdHRyaWJ1dGVEZWNsKHhtbFZhbGlkQ3R4dFB0ciBjdHh0LCB4bWxFbGVtZW50UHRyIGVsZW0sIGludCBlcnIpIHsKKyAgICB4bWxBdHRyaWJ1dGVQdHIgY3VyOworICAgIGludCByZXQgPSAwOworCisgICAgaWYgKGVsZW0gPT0gTlVMTCkgcmV0dXJuKDApOworICAgIGN1ciA9IGVsZW0tPmF0dHJpYnV0ZXM7CisgICAgd2hpbGUgKGN1ciAhPSBOVUxMKSB7CisgICAgICAgIGlmIChjdXItPmF0eXBlID09IFhNTF9BVFRSSUJVVEVfSUQpIHsKKwkgICAgcmV0ICsrOworCSAgICBpZiAoKHJldCA+IDEpICYmIChlcnIpKQorCQl4bWxFcnJWYWxpZE5vZGUoY3R4dCwgKHhtbE5vZGVQdHIpIGVsZW0sIFhNTF9EVERfTVVMVElQTEVfSUQsCisJICAgICAgICJFbGVtZW50ICVzIGhhcyB0b28gbWFueSBJRCBhdHRyaWJ1dGVzIGRlZmluZWQgOiAlc1xuIiwKKwkJICAgICAgIGVsZW0tPm5hbWUsIGN1ci0+bmFtZSwgTlVMTCk7CisJfQorCWN1ciA9IGN1ci0+bmV4dGg7CisgICAgfQorICAgIHJldHVybihyZXQpOworfQorI2VuZGlmIC8qIExJQlhNTF9WQUxJRF9FTkFCTEVEICovCisKKy8qKgorICogeG1sRnJlZUF0dHJpYnV0ZToKKyAqIEBlbGVtOiAgQW4gYXR0cmlidXRlCisgKgorICogRGVhbGxvY2F0ZSB0aGUgbWVtb3J5IHVzZWQgYnkgYW4gYXR0cmlidXRlIGRlZmluaXRpb24KKyAqLworc3RhdGljIHZvaWQKK3htbEZyZWVBdHRyaWJ1dGUoeG1sQXR0cmlidXRlUHRyIGF0dHIpIHsKKyAgICB4bWxEaWN0UHRyIGRpY3Q7CisKKyAgICBpZiAoYXR0ciA9PSBOVUxMKSByZXR1cm47CisgICAgaWYgKGF0dHItPmRvYyAhPSBOVUxMKQorCWRpY3QgPSBhdHRyLT5kb2MtPmRpY3Q7CisgICAgZWxzZQorCWRpY3QgPSBOVUxMOworICAgIHhtbFVubGlua05vZGUoKHhtbE5vZGVQdHIpIGF0dHIpOworICAgIGlmIChhdHRyLT50cmVlICE9IE5VTEwpCisgICAgICAgIHhtbEZyZWVFbnVtZXJhdGlvbihhdHRyLT50cmVlKTsKKyAgICBpZiAoZGljdCkgeworICAgICAgICBpZiAoKGF0dHItPmVsZW0gIT0gTlVMTCkgJiYgKCF4bWxEaWN0T3ducyhkaWN0LCBhdHRyLT5lbGVtKSkpCisJICAgIHhtbEZyZWUoKHhtbENoYXIgKikgYXR0ci0+ZWxlbSk7CisgICAgICAgIGlmICgoYXR0ci0+bmFtZSAhPSBOVUxMKSAmJiAoIXhtbERpY3RPd25zKGRpY3QsIGF0dHItPm5hbWUpKSkKKwkgICAgeG1sRnJlZSgoeG1sQ2hhciAqKSBhdHRyLT5uYW1lKTsKKyAgICAgICAgaWYgKChhdHRyLT5wcmVmaXggIT0gTlVMTCkgJiYgKCF4bWxEaWN0T3ducyhkaWN0LCBhdHRyLT5wcmVmaXgpKSkKKwkgICAgeG1sRnJlZSgoeG1sQ2hhciAqKSBhdHRyLT5wcmVmaXgpOworICAgICAgICBpZiAoKGF0dHItPmRlZmF1bHRWYWx1ZSAhPSBOVUxMKSAmJgorCSAgICAoIXhtbERpY3RPd25zKGRpY3QsIGF0dHItPmRlZmF1bHRWYWx1ZSkpKQorCSAgICB4bWxGcmVlKCh4bWxDaGFyICopIGF0dHItPmRlZmF1bHRWYWx1ZSk7CisgICAgfSBlbHNlIHsKKwlpZiAoYXR0ci0+ZWxlbSAhPSBOVUxMKQorCSAgICB4bWxGcmVlKCh4bWxDaGFyICopIGF0dHItPmVsZW0pOworCWlmIChhdHRyLT5uYW1lICE9IE5VTEwpCisJICAgIHhtbEZyZWUoKHhtbENoYXIgKikgYXR0ci0+bmFtZSk7CisJaWYgKGF0dHItPmRlZmF1bHRWYWx1ZSAhPSBOVUxMKQorCSAgICB4bWxGcmVlKCh4bWxDaGFyICopIGF0dHItPmRlZmF1bHRWYWx1ZSk7CisJaWYgKGF0dHItPnByZWZpeCAhPSBOVUxMKQorCSAgICB4bWxGcmVlKCh4bWxDaGFyICopIGF0dHItPnByZWZpeCk7CisgICAgfQorICAgIHhtbEZyZWUoYXR0cik7Cit9CisKKworLyoqCisgKiB4bWxBZGRBdHRyaWJ1dGVEZWNsOgorICogQGN0eHQ6ICB0aGUgdmFsaWRhdGlvbiBjb250ZXh0CisgKiBAZHRkOiAgcG9pbnRlciB0byB0aGUgRFRECisgKiBAZWxlbTogIHRoZSBlbGVtZW50IG5hbWUKKyAqIEBuYW1lOiAgdGhlIGF0dHJpYnV0ZSBuYW1lCisgKiBAbnM6ICB0aGUgYXR0cmlidXRlIG5hbWVzcGFjZSBwcmVmaXgKKyAqIEB0eXBlOiAgdGhlIGF0dHJpYnV0ZSB0eXBlCisgKiBAZGVmOiAgdGhlIGF0dHJpYnV0ZSBkZWZhdWx0IHR5cGUKKyAqIEBkZWZhdWx0VmFsdWU6ICB0aGUgYXR0cmlidXRlIGRlZmF1bHQgdmFsdWUKKyAqIEB0cmVlOiAgaWYgaXQncyBhbiBlbnVtZXJhdGlvbiwgdGhlIGFzc29jaWF0ZWQgbGlzdAorICoKKyAqIFJlZ2lzdGVyIGEgbmV3IGF0dHJpYnV0ZSBkZWNsYXJhdGlvbgorICogTm90ZSB0aGF0IEB0cmVlIGJlY29tZXMgdGhlIG93bmVyc2hpcCBvZiB0aGUgRFRECisgKgorICogUmV0dXJucyBOVUxMIGlmIG5vdCBuZXcsIG90aGVyd2lzZSB0aGUgYXR0cmlidXRlIGRlY2wKKyAqLworeG1sQXR0cmlidXRlUHRyCit4bWxBZGRBdHRyaWJ1dGVEZWNsKHhtbFZhbGlkQ3R4dFB0ciBjdHh0LAorICAgICAgICAgICAgICAgICAgICB4bWxEdGRQdHIgZHRkLCBjb25zdCB4bWxDaGFyICplbGVtLAorICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICpuYW1lLCBjb25zdCB4bWxDaGFyICpucywKKwkJICAgIHhtbEF0dHJpYnV0ZVR5cGUgdHlwZSwgeG1sQXR0cmlidXRlRGVmYXVsdCBkZWYsCisJCSAgICBjb25zdCB4bWxDaGFyICpkZWZhdWx0VmFsdWUsIHhtbEVudW1lcmF0aW9uUHRyIHRyZWUpIHsKKyAgICB4bWxBdHRyaWJ1dGVQdHIgcmV0OworICAgIHhtbEF0dHJpYnV0ZVRhYmxlUHRyIHRhYmxlOworICAgIHhtbEVsZW1lbnRQdHIgZWxlbURlZjsKKyAgICB4bWxEaWN0UHRyIGRpY3QgPSBOVUxMOworCisgICAgaWYgKGR0ZCA9PSBOVUxMKSB7CisJeG1sRnJlZUVudW1lcmF0aW9uKHRyZWUpOworCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgaWYgKG5hbWUgPT0gTlVMTCkgeworCXhtbEZyZWVFbnVtZXJhdGlvbih0cmVlKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIGlmIChlbGVtID09IE5VTEwpIHsKKwl4bWxGcmVlRW51bWVyYXRpb24odHJlZSk7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBpZiAoZHRkLT5kb2MgIT0gTlVMTCkKKwlkaWN0ID0gZHRkLT5kb2MtPmRpY3Q7CisKKyNpZmRlZiBMSUJYTUxfVkFMSURfRU5BQkxFRAorICAgIC8qCisgICAgICogQ2hlY2sgdGhlIHR5cGUgYW5kIHBvc3NpYmx5IHRoZSBkZWZhdWx0IHZhbHVlLgorICAgICAqLworICAgIHN3aXRjaCAodHlwZSkgeworICAgICAgICBjYXNlIFhNTF9BVFRSSUJVVEVfQ0RBVEE6CisJICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9BVFRSSUJVVEVfSUQ6CisJICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9BVFRSSUJVVEVfSURSRUY6CisJICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9BVFRSSUJVVEVfSURSRUZTOgorCSAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfQVRUUklCVVRFX0VOVElUWToKKwkgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0FUVFJJQlVURV9FTlRJVElFUzoKKwkgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0FUVFJJQlVURV9OTVRPS0VOOgorCSAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfQVRUUklCVVRFX05NVE9LRU5TOgorCSAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfQVRUUklCVVRFX0VOVU1FUkFUSU9OOgorCSAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfQVRUUklCVVRFX05PVEFUSU9OOgorCSAgICBicmVhazsKKwlkZWZhdWx0OgorCSAgICB4bWxFcnJWYWxpZChjdHh0LCBYTUxfRVJSX0lOVEVSTkFMX0VSUk9SLAorCQkgICAgIkludGVybmFsOiBBVFRSSUJVVEUgc3RydWN0IGNvcnJ1cHRlZCBpbnZhbGlkIHR5cGVcbiIsCisJCSAgICBOVUxMKTsKKwkgICAgeG1sRnJlZUVudW1lcmF0aW9uKHRyZWUpOworCSAgICByZXR1cm4oTlVMTCk7CisgICAgfQorICAgIGlmICgoZGVmYXVsdFZhbHVlICE9IE5VTEwpICYmCisgICAgICAgICgheG1sVmFsaWRhdGVBdHRyaWJ1dGVWYWx1ZUludGVybmFsKGR0ZC0+ZG9jLCB0eXBlLCBkZWZhdWx0VmFsdWUpKSkgeworCXhtbEVyclZhbGlkTm9kZShjdHh0LCAoeG1sTm9kZVB0cikgZHRkLCBYTUxfRFREX0FUVFJJQlVURV9ERUZBVUxULAorCSAgICAgICAgICAgICAgICAiQXR0cmlidXRlICVzIG9mICVzOiBpbnZhbGlkIGRlZmF1bHQgdmFsdWVcbiIsCisJICAgICAgICAgICAgICAgIGVsZW0sIG5hbWUsIGRlZmF1bHRWYWx1ZSk7CisJZGVmYXVsdFZhbHVlID0gTlVMTDsKKwlpZiAoY3R4dCAhPSBOVUxMKQorCSAgICBjdHh0LT52YWxpZCA9IDA7CisgICAgfQorI2VuZGlmIC8qIExJQlhNTF9WQUxJRF9FTkFCTEVEICovCisKKyAgICAvKgorICAgICAqIENoZWNrIGZpcnN0IHRoYXQgYW4gYXR0cmlidXRlIGRlZmluZWQgaW4gdGhlIGV4dGVybmFsIHN1YnNldCB3YXNuJ3QKKyAgICAgKiBhbHJlYWR5IGRlZmluZWQgaW4gdGhlIGludGVybmFsIHN1YnNldAorICAgICAqLworICAgIGlmICgoZHRkLT5kb2MgIT0gTlVMTCkgJiYgKGR0ZC0+ZG9jLT5leHRTdWJzZXQgPT0gZHRkKSAmJgorCShkdGQtPmRvYy0+aW50U3Vic2V0ICE9IE5VTEwpICYmCisJKGR0ZC0+ZG9jLT5pbnRTdWJzZXQtPmF0dHJpYnV0ZXMgIT0gTlVMTCkpIHsKKyAgICAgICAgcmV0ID0geG1sSGFzaExvb2t1cDMoZHRkLT5kb2MtPmludFN1YnNldC0+YXR0cmlidXRlcywgbmFtZSwgbnMsIGVsZW0pOworCWlmIChyZXQgIT0gTlVMTCkgeworCSAgICB4bWxGcmVlRW51bWVyYXRpb24odHJlZSk7CisJICAgIHJldHVybihOVUxMKTsKKwl9CisgICAgfQorCisgICAgLyoKKyAgICAgKiBDcmVhdGUgdGhlIEF0dHJpYnV0ZSB0YWJsZSBpZiBuZWVkZWQuCisgICAgICovCisgICAgdGFibGUgPSAoeG1sQXR0cmlidXRlVGFibGVQdHIpIGR0ZC0+YXR0cmlidXRlczsKKyAgICBpZiAodGFibGUgPT0gTlVMTCkgeworICAgICAgICB0YWJsZSA9IHhtbEhhc2hDcmVhdGVEaWN0KDAsIGRpY3QpOworCWR0ZC0+YXR0cmlidXRlcyA9ICh2b2lkICopIHRhYmxlOworICAgIH0KKyAgICBpZiAodGFibGUgPT0gTlVMTCkgeworCXhtbFZFcnJNZW1vcnkoY3R4dCwKKyAgICAgICAgICAgICJ4bWxBZGRBdHRyaWJ1dGVEZWNsOiBUYWJsZSBjcmVhdGlvbiBmYWlsZWQhXG4iKTsKKwl4bWxGcmVlRW51bWVyYXRpb24odHJlZSk7CisgICAgICAgIHJldHVybihOVUxMKTsKKyAgICB9CisKKworICAgIHJldCA9ICh4bWxBdHRyaWJ1dGVQdHIpIHhtbE1hbGxvYyhzaXplb2YoeG1sQXR0cmlidXRlKSk7CisgICAgaWYgKHJldCA9PSBOVUxMKSB7CisJeG1sVkVyck1lbW9yeShjdHh0LCAibWFsbG9jIGZhaWxlZCIpOworCXhtbEZyZWVFbnVtZXJhdGlvbih0cmVlKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIG1lbXNldChyZXQsIDAsIHNpemVvZih4bWxBdHRyaWJ1dGUpKTsKKyAgICByZXQtPnR5cGUgPSBYTUxfQVRUUklCVVRFX0RFQ0w7CisKKyAgICAvKgorICAgICAqIGZpbGwgdGhlIHN0cnVjdHVyZS4KKyAgICAgKi8KKyAgICByZXQtPmF0eXBlID0gdHlwZTsKKyAgICAvKgorICAgICAqIGRvYyBtdXN0IGJlIHNldCBiZWZvcmUgcG9zc2libGUgZXJyb3IgY2F1c2VzIGNhbGwKKyAgICAgKiB0byB4bWxGcmVlQXR0cmlidXRlIChiZWNhdXNlIGl0J3MgdXNlZCB0byBjaGVjayBvbgorICAgICAqIGRpY3QgdXNlKQorICAgICAqLworICAgIHJldC0+ZG9jID0gZHRkLT5kb2M7CisgICAgaWYgKGRpY3QpIHsKKwlyZXQtPm5hbWUgPSB4bWxEaWN0TG9va3VwKGRpY3QsIG5hbWUsIC0xKTsKKwlyZXQtPnByZWZpeCA9IHhtbERpY3RMb29rdXAoZGljdCwgbnMsIC0xKTsKKwlyZXQtPmVsZW0gPSB4bWxEaWN0TG9va3VwKGRpY3QsIGVsZW0sIC0xKTsKKyAgICB9IGVsc2UgeworCXJldC0+bmFtZSA9IHhtbFN0cmR1cChuYW1lKTsKKwlyZXQtPnByZWZpeCA9IHhtbFN0cmR1cChucyk7CisJcmV0LT5lbGVtID0geG1sU3RyZHVwKGVsZW0pOworICAgIH0KKyAgICByZXQtPmRlZiA9IGRlZjsKKyAgICByZXQtPnRyZWUgPSB0cmVlOworICAgIGlmIChkZWZhdWx0VmFsdWUgIT0gTlVMTCkgeworICAgICAgICBpZiAoZGljdCkKKwkgICAgcmV0LT5kZWZhdWx0VmFsdWUgPSB4bWxEaWN0TG9va3VwKGRpY3QsIGRlZmF1bHRWYWx1ZSwgLTEpOworCWVsc2UKKwkgICAgcmV0LT5kZWZhdWx0VmFsdWUgPSB4bWxTdHJkdXAoZGVmYXVsdFZhbHVlKTsKKyAgICB9CisKKyAgICAvKgorICAgICAqIFZhbGlkaXR5IENoZWNrOgorICAgICAqIFNlYXJjaCB0aGUgRFREIGZvciBwcmV2aW91cyBkZWNsYXJhdGlvbnMgb2YgdGhlIEFUVExJU1QKKyAgICAgKi8KKyAgICBpZiAoeG1sSGFzaEFkZEVudHJ5Myh0YWJsZSwgcmV0LT5uYW1lLCByZXQtPnByZWZpeCwgcmV0LT5lbGVtLCByZXQpIDwgMCkgeworI2lmZGVmIExJQlhNTF9WQUxJRF9FTkFCTEVECisJLyoKKwkgKiBUaGUgYXR0cmlidXRlIGlzIGFscmVhZHkgZGVmaW5lZCBpbiB0aGlzIERURC4KKwkgKi8KKwl4bWxFcnJWYWxpZFdhcm5pbmcoY3R4dCwgKHhtbE5vZGVQdHIpIGR0ZCwgWE1MX0RURF9BVFRSSUJVVEVfUkVERUZJTkVELAorCQkgIkF0dHJpYnV0ZSAlcyBvZiBlbGVtZW50ICVzOiBhbHJlYWR5IGRlZmluZWRcbiIsCisJCSBuYW1lLCBlbGVtLCBOVUxMKTsKKyNlbmRpZiAvKiBMSUJYTUxfVkFMSURfRU5BQkxFRCAqLworCXhtbEZyZWVBdHRyaWJ1dGUocmV0KTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorCisgICAgLyoKKyAgICAgKiBWYWxpZGl0eSBDaGVjazoKKyAgICAgKiBNdWx0aXBsZSBJRCBwZXIgZWxlbWVudAorICAgICAqLworICAgIGVsZW1EZWYgPSB4bWxHZXREdGRFbGVtZW50RGVzYzIoZHRkLCBlbGVtLCAxKTsKKyAgICBpZiAoZWxlbURlZiAhPSBOVUxMKSB7CisKKyNpZmRlZiBMSUJYTUxfVkFMSURfRU5BQkxFRAorICAgICAgICBpZiAoKHR5cGUgPT0gWE1MX0FUVFJJQlVURV9JRCkgJiYKKwkgICAgKHhtbFNjYW5JREF0dHJpYnV0ZURlY2woTlVMTCwgZWxlbURlZiwgMSkgIT0gMCkpIHsKKwkgICAgeG1sRXJyVmFsaWROb2RlKGN0eHQsICh4bWxOb2RlUHRyKSBkdGQsIFhNTF9EVERfTVVMVElQTEVfSUQsCisJICAgIkVsZW1lbnQgJXMgaGFzIHRvbyBtYXkgSUQgYXR0cmlidXRlcyBkZWZpbmVkIDogJXNcbiIsCisJCSAgIGVsZW0sIG5hbWUsIE5VTEwpOworCSAgICBpZiAoY3R4dCAhPSBOVUxMKQorCQljdHh0LT52YWxpZCA9IDA7CisJfQorI2VuZGlmIC8qIExJQlhNTF9WQUxJRF9FTkFCTEVEICovCisKKwkvKgorCSAqIEluc2VydCBuYW1lc3BhY2UgZGVmYXVsdCBkZWYgZmlyc3QgdGhleSBuZWVkIHRvIGJlCisJICogcHJvY2Vzc2VkIGZpcnN0LgorCSAqLworCWlmICgoeG1sU3RyRXF1YWwocmV0LT5uYW1lLCBCQURfQ0FTVCAieG1sbnMiKSkgfHwKKwkgICAgKChyZXQtPnByZWZpeCAhPSBOVUxMICYmCisJICAgICAoeG1sU3RyRXF1YWwocmV0LT5wcmVmaXgsIEJBRF9DQVNUICJ4bWxucyIpKSkpKSB7CisJICAgIHJldC0+bmV4dGggPSBlbGVtRGVmLT5hdHRyaWJ1dGVzOworCSAgICBlbGVtRGVmLT5hdHRyaWJ1dGVzID0gcmV0OworCX0gZWxzZSB7CisJICAgIHhtbEF0dHJpYnV0ZVB0ciB0bXAgPSBlbGVtRGVmLT5hdHRyaWJ1dGVzOworCisJICAgIHdoaWxlICgodG1wICE9IE5VTEwpICYmCisJCSAgICgoeG1sU3RyRXF1YWwodG1wLT5uYW1lLCBCQURfQ0FTVCAieG1sbnMiKSkgfHwKKwkJICAgICgocmV0LT5wcmVmaXggIT0gTlVMTCAmJgorCQkgICAgICh4bWxTdHJFcXVhbChyZXQtPnByZWZpeCwgQkFEX0NBU1QgInhtbG5zIikpKSkpKSB7CisJCWlmICh0bXAtPm5leHRoID09IE5VTEwpCisJCSAgICBicmVhazsKKwkJdG1wID0gdG1wLT5uZXh0aDsKKwkgICAgfQorCSAgICBpZiAodG1wICE9IE5VTEwpIHsKKwkJcmV0LT5uZXh0aCA9IHRtcC0+bmV4dGg7CisJICAgICAgICB0bXAtPm5leHRoID0gcmV0OworCSAgICB9IGVsc2UgeworCQlyZXQtPm5leHRoID0gZWxlbURlZi0+YXR0cmlidXRlczsKKwkJZWxlbURlZi0+YXR0cmlidXRlcyA9IHJldDsKKwkgICAgfQorCX0KKyAgICB9CisKKyAgICAvKgorICAgICAqIExpbmsgaXQgdG8gdGhlIERURAorICAgICAqLworICAgIHJldC0+cGFyZW50ID0gZHRkOworICAgIGlmIChkdGQtPmxhc3QgPT0gTlVMTCkgeworCWR0ZC0+Y2hpbGRyZW4gPSBkdGQtPmxhc3QgPSAoeG1sTm9kZVB0cikgcmV0OworICAgIH0gZWxzZSB7CisgICAgICAgIGR0ZC0+bGFzdC0+bmV4dCA9ICh4bWxOb2RlUHRyKSByZXQ7CisJcmV0LT5wcmV2ID0gZHRkLT5sYXN0OworCWR0ZC0+bGFzdCA9ICh4bWxOb2RlUHRyKSByZXQ7CisgICAgfQorICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbEZyZWVBdHRyaWJ1dGVUYWJsZToKKyAqIEB0YWJsZTogIEFuIGF0dHJpYnV0ZSB0YWJsZQorICoKKyAqIERlYWxsb2NhdGUgdGhlIG1lbW9yeSB1c2VkIGJ5IGFuIGVudGl0aWVzIGhhc2ggdGFibGUuCisgKi8KK3ZvaWQKK3htbEZyZWVBdHRyaWJ1dGVUYWJsZSh4bWxBdHRyaWJ1dGVUYWJsZVB0ciB0YWJsZSkgeworICAgIHhtbEhhc2hGcmVlKHRhYmxlLCAoeG1sSGFzaERlYWxsb2NhdG9yKSB4bWxGcmVlQXR0cmlidXRlKTsKK30KKworI2lmZGVmIExJQlhNTF9UUkVFX0VOQUJMRUQKKy8qKgorICogeG1sQ29weUF0dHJpYnV0ZToKKyAqIEBhdHRyOiAgQW4gYXR0cmlidXRlCisgKgorICogQnVpbGQgYSBjb3B5IG9mIGFuIGF0dHJpYnV0ZS4KKyAqCisgKiBSZXR1cm5zIHRoZSBuZXcgeG1sQXR0cmlidXRlUHRyIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworc3RhdGljIHhtbEF0dHJpYnV0ZVB0cgoreG1sQ29weUF0dHJpYnV0ZSh4bWxBdHRyaWJ1dGVQdHIgYXR0cikgeworICAgIHhtbEF0dHJpYnV0ZVB0ciBjdXI7CisKKyAgICBjdXIgPSAoeG1sQXR0cmlidXRlUHRyKSB4bWxNYWxsb2Moc2l6ZW9mKHhtbEF0dHJpYnV0ZSkpOworICAgIGlmIChjdXIgPT0gTlVMTCkgeworCXhtbFZFcnJNZW1vcnkoTlVMTCwgIm1hbGxvYyBmYWlsZWQiKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIG1lbXNldChjdXIsIDAsIHNpemVvZih4bWxBdHRyaWJ1dGUpKTsKKyAgICBjdXItPnR5cGUgPSBYTUxfQVRUUklCVVRFX0RFQ0w7CisgICAgY3VyLT5hdHlwZSA9IGF0dHItPmF0eXBlOworICAgIGN1ci0+ZGVmID0gYXR0ci0+ZGVmOworICAgIGN1ci0+dHJlZSA9IHhtbENvcHlFbnVtZXJhdGlvbihhdHRyLT50cmVlKTsKKyAgICBpZiAoYXR0ci0+ZWxlbSAhPSBOVUxMKQorCWN1ci0+ZWxlbSA9IHhtbFN0cmR1cChhdHRyLT5lbGVtKTsKKyAgICBpZiAoYXR0ci0+bmFtZSAhPSBOVUxMKQorCWN1ci0+bmFtZSA9IHhtbFN0cmR1cChhdHRyLT5uYW1lKTsKKyAgICBpZiAoYXR0ci0+cHJlZml4ICE9IE5VTEwpCisJY3VyLT5wcmVmaXggPSB4bWxTdHJkdXAoYXR0ci0+cHJlZml4KTsKKyAgICBpZiAoYXR0ci0+ZGVmYXVsdFZhbHVlICE9IE5VTEwpCisJY3VyLT5kZWZhdWx0VmFsdWUgPSB4bWxTdHJkdXAoYXR0ci0+ZGVmYXVsdFZhbHVlKTsKKyAgICByZXR1cm4oY3VyKTsKK30KKworLyoqCisgKiB4bWxDb3B5QXR0cmlidXRlVGFibGU6CisgKiBAdGFibGU6ICBBbiBhdHRyaWJ1dGUgdGFibGUKKyAqCisgKiBCdWlsZCBhIGNvcHkgb2YgYW4gYXR0cmlidXRlIHRhYmxlLgorICoKKyAqIFJldHVybnMgdGhlIG5ldyB4bWxBdHRyaWJ1dGVUYWJsZVB0ciBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK3htbEF0dHJpYnV0ZVRhYmxlUHRyCit4bWxDb3B5QXR0cmlidXRlVGFibGUoeG1sQXR0cmlidXRlVGFibGVQdHIgdGFibGUpIHsKKyAgICByZXR1cm4oKHhtbEF0dHJpYnV0ZVRhYmxlUHRyKSB4bWxIYXNoQ29weSh0YWJsZSwKKwkJCQkgICAgKHhtbEhhc2hDb3BpZXIpIHhtbENvcHlBdHRyaWJ1dGUpKTsKK30KKyNlbmRpZiAvKiBMSUJYTUxfVFJFRV9FTkFCTEVEICovCisKKyNpZmRlZiBMSUJYTUxfT1VUUFVUX0VOQUJMRUQKKy8qKgorICogeG1sRHVtcEF0dHJpYnV0ZURlY2w6CisgKiBAYnVmOiAgdGhlIFhNTCBidWZmZXIgb3V0cHV0CisgKiBAYXR0cjogIEFuIGF0dHJpYnV0ZSBkZWNsYXJhdGlvbgorICoKKyAqIFRoaXMgd2lsbCBkdW1wIHRoZSBjb250ZW50IG9mIHRoZSBhdHRyaWJ1dGUgZGVjbGFyYXRpb24gYXMgYW4gWE1MCisgKiBEVEQgZGVmaW5pdGlvbgorICovCit2b2lkCit4bWxEdW1wQXR0cmlidXRlRGVjbCh4bWxCdWZmZXJQdHIgYnVmLCB4bWxBdHRyaWJ1dGVQdHIgYXR0cikgeworICAgIGlmICgoYnVmID09IE5VTEwpIHx8IChhdHRyID09IE5VTEwpKQorICAgICAgICByZXR1cm47CisgICAgeG1sQnVmZmVyV3JpdGVDaGFyKGJ1ZiwgIjwhQVRUTElTVCAiKTsKKyAgICB4bWxCdWZmZXJXcml0ZUNIQVIoYnVmLCBhdHRyLT5lbGVtKTsKKyAgICB4bWxCdWZmZXJXcml0ZUNoYXIoYnVmLCAiICIpOworICAgIGlmIChhdHRyLT5wcmVmaXggIT0gTlVMTCkgeworCXhtbEJ1ZmZlcldyaXRlQ0hBUihidWYsIGF0dHItPnByZWZpeCk7CisJeG1sQnVmZmVyV3JpdGVDaGFyKGJ1ZiwgIjoiKTsKKyAgICB9CisgICAgeG1sQnVmZmVyV3JpdGVDSEFSKGJ1ZiwgYXR0ci0+bmFtZSk7CisgICAgc3dpdGNoIChhdHRyLT5hdHlwZSkgeworCWNhc2UgWE1MX0FUVFJJQlVURV9DREFUQToKKwkgICAgeG1sQnVmZmVyV3JpdGVDaGFyKGJ1ZiwgIiBDREFUQSIpOworCSAgICBicmVhazsKKwljYXNlIFhNTF9BVFRSSUJVVEVfSUQ6CisJICAgIHhtbEJ1ZmZlcldyaXRlQ2hhcihidWYsICIgSUQiKTsKKwkgICAgYnJlYWs7CisJY2FzZSBYTUxfQVRUUklCVVRFX0lEUkVGOgorCSAgICB4bWxCdWZmZXJXcml0ZUNoYXIoYnVmLCAiIElEUkVGIik7CisJICAgIGJyZWFrOworCWNhc2UgWE1MX0FUVFJJQlVURV9JRFJFRlM6CisJICAgIHhtbEJ1ZmZlcldyaXRlQ2hhcihidWYsICIgSURSRUZTIik7CisJICAgIGJyZWFrOworCWNhc2UgWE1MX0FUVFJJQlVURV9FTlRJVFk6CisJICAgIHhtbEJ1ZmZlcldyaXRlQ2hhcihidWYsICIgRU5USVRZIik7CisJICAgIGJyZWFrOworCWNhc2UgWE1MX0FUVFJJQlVURV9FTlRJVElFUzoKKwkgICAgeG1sQnVmZmVyV3JpdGVDaGFyKGJ1ZiwgIiBFTlRJVElFUyIpOworCSAgICBicmVhazsKKwljYXNlIFhNTF9BVFRSSUJVVEVfTk1UT0tFTjoKKwkgICAgeG1sQnVmZmVyV3JpdGVDaGFyKGJ1ZiwgIiBOTVRPS0VOIik7CisJICAgIGJyZWFrOworCWNhc2UgWE1MX0FUVFJJQlVURV9OTVRPS0VOUzoKKwkgICAgeG1sQnVmZmVyV3JpdGVDaGFyKGJ1ZiwgIiBOTVRPS0VOUyIpOworCSAgICBicmVhazsKKwljYXNlIFhNTF9BVFRSSUJVVEVfRU5VTUVSQVRJT046CisJICAgIHhtbEJ1ZmZlcldyaXRlQ2hhcihidWYsICIgKCIpOworCSAgICB4bWxEdW1wRW51bWVyYXRpb24oYnVmLCBhdHRyLT50cmVlKTsKKwkgICAgYnJlYWs7CisJY2FzZSBYTUxfQVRUUklCVVRFX05PVEFUSU9OOgorCSAgICB4bWxCdWZmZXJXcml0ZUNoYXIoYnVmLCAiIE5PVEFUSU9OICgiKTsKKwkgICAgeG1sRHVtcEVudW1lcmF0aW9uKGJ1ZiwgYXR0ci0+dHJlZSk7CisJICAgIGJyZWFrOworCWRlZmF1bHQ6CisJICAgIHhtbEVyclZhbGlkKE5VTEwsIFhNTF9FUlJfSU5URVJOQUxfRVJST1IsCisJCSAgICAiSW50ZXJuYWw6IEFUVFJJQlVURSBzdHJ1Y3QgY29ycnVwdGVkIGludmFsaWQgdHlwZVxuIiwKKwkJICAgIE5VTEwpOworICAgIH0KKyAgICBzd2l0Y2ggKGF0dHItPmRlZikgeworCWNhc2UgWE1MX0FUVFJJQlVURV9OT05FOgorCSAgICBicmVhazsKKwljYXNlIFhNTF9BVFRSSUJVVEVfUkVRVUlSRUQ6CisJICAgIHhtbEJ1ZmZlcldyaXRlQ2hhcihidWYsICIgI1JFUVVJUkVEIik7CisJICAgIGJyZWFrOworCWNhc2UgWE1MX0FUVFJJQlVURV9JTVBMSUVEOgorCSAgICB4bWxCdWZmZXJXcml0ZUNoYXIoYnVmLCAiICNJTVBMSUVEIik7CisJICAgIGJyZWFrOworCWNhc2UgWE1MX0FUVFJJQlVURV9GSVhFRDoKKwkgICAgeG1sQnVmZmVyV3JpdGVDaGFyKGJ1ZiwgIiAjRklYRUQiKTsKKwkgICAgYnJlYWs7CisJZGVmYXVsdDoKKwkgICAgeG1sRXJyVmFsaWQoTlVMTCwgWE1MX0VSUl9JTlRFUk5BTF9FUlJPUiwKKwkJICAgICJJbnRlcm5hbDogQVRUUklCVVRFIHN0cnVjdCBjb3JydXB0ZWQgaW52YWxpZCBkZWZcbiIsCisJCSAgICBOVUxMKTsKKyAgICB9CisgICAgaWYgKGF0dHItPmRlZmF1bHRWYWx1ZSAhPSBOVUxMKSB7CisJeG1sQnVmZmVyV3JpdGVDaGFyKGJ1ZiwgIiAiKTsKKwl4bWxCdWZmZXJXcml0ZVF1b3RlZFN0cmluZyhidWYsIGF0dHItPmRlZmF1bHRWYWx1ZSk7CisgICAgfQorICAgIHhtbEJ1ZmZlcldyaXRlQ2hhcihidWYsICI+XG4iKTsKK30KKworLyoqCisgKiB4bWxEdW1wQXR0cmlidXRlRGVjbFNjYW46CisgKiBAYXR0cjogIEFuIGF0dHJpYnV0ZSBkZWNsYXJhdGlvbgorICogQGJ1ZjogIHRoZSBYTUwgYnVmZmVyIG91dHB1dAorICoKKyAqIFRoaXMgaXMgdXNlZCB3aXRoIHRoZSBoYXNoIHNjYW4gZnVuY3Rpb24gLSBqdXN0IHJldmVyc2VzIGFyZ3VtZW50cworICovCitzdGF0aWMgdm9pZAoreG1sRHVtcEF0dHJpYnV0ZURlY2xTY2FuKHhtbEF0dHJpYnV0ZVB0ciBhdHRyLCB4bWxCdWZmZXJQdHIgYnVmKSB7CisgICAgeG1sRHVtcEF0dHJpYnV0ZURlY2woYnVmLCBhdHRyKTsKK30KKworLyoqCisgKiB4bWxEdW1wQXR0cmlidXRlVGFibGU6CisgKiBAYnVmOiAgdGhlIFhNTCBidWZmZXIgb3V0cHV0CisgKiBAdGFibGU6ICBBbiBhdHRyaWJ1dGUgdGFibGUKKyAqCisgKiBUaGlzIHdpbGwgZHVtcCB0aGUgY29udGVudCBvZiB0aGUgYXR0cmlidXRlIHRhYmxlIGFzIGFuIFhNTCBEVEQgZGVmaW5pdGlvbgorICovCit2b2lkCit4bWxEdW1wQXR0cmlidXRlVGFibGUoeG1sQnVmZmVyUHRyIGJ1ZiwgeG1sQXR0cmlidXRlVGFibGVQdHIgdGFibGUpIHsKKyAgICBpZiAoKGJ1ZiA9PSBOVUxMKSB8fCAodGFibGUgPT0gTlVMTCkpCisgICAgICAgIHJldHVybjsKKyAgICB4bWxIYXNoU2Nhbih0YWJsZSwgKHhtbEhhc2hTY2FubmVyKSB4bWxEdW1wQXR0cmlidXRlRGVjbFNjYW4sIGJ1Zik7Cit9CisjZW5kaWYgLyogTElCWE1MX09VVFBVVF9FTkFCTEVEICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCQkJTk9UQVRJT05zCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qKgorICogeG1sRnJlZU5vdGF0aW9uOgorICogQG5vdDogIEEgbm90YXRpb24KKyAqCisgKiBEZWFsbG9jYXRlIHRoZSBtZW1vcnkgdXNlZCBieSBhbiBub3RhdGlvbiBkZWZpbml0aW9uCisgKi8KK3N0YXRpYyB2b2lkCit4bWxGcmVlTm90YXRpb24oeG1sTm90YXRpb25QdHIgbm90YSkgeworICAgIGlmIChub3RhID09IE5VTEwpIHJldHVybjsKKyAgICBpZiAobm90YS0+bmFtZSAhPSBOVUxMKQorCXhtbEZyZWUoKHhtbENoYXIgKikgbm90YS0+bmFtZSk7CisgICAgaWYgKG5vdGEtPlB1YmxpY0lEICE9IE5VTEwpCisJeG1sRnJlZSgoeG1sQ2hhciAqKSBub3RhLT5QdWJsaWNJRCk7CisgICAgaWYgKG5vdGEtPlN5c3RlbUlEICE9IE5VTEwpCisJeG1sRnJlZSgoeG1sQ2hhciAqKSBub3RhLT5TeXN0ZW1JRCk7CisgICAgeG1sRnJlZShub3RhKTsKK30KKworCisvKioKKyAqIHhtbEFkZE5vdGF0aW9uRGVjbDoKKyAqIEBkdGQ6ICBwb2ludGVyIHRvIHRoZSBEVEQKKyAqIEBjdHh0OiAgdGhlIHZhbGlkYXRpb24gY29udGV4dAorICogQG5hbWU6ICB0aGUgZW50aXR5IG5hbWUKKyAqIEBQdWJsaWNJRDogIHRoZSBwdWJsaWMgaWRlbnRpZmllciBvciBOVUxMCisgKiBAU3lzdGVtSUQ6ICB0aGUgc3lzdGVtIGlkZW50aWZpZXIgb3IgTlVMTAorICoKKyAqIFJlZ2lzdGVyIGEgbmV3IG5vdGF0aW9uIGRlY2xhcmF0aW9uCisgKgorICogUmV0dXJucyBOVUxMIGlmIG5vdCwgb3RoZXJ3aXNlIHRoZSBlbnRpdHkKKyAqLworeG1sTm90YXRpb25QdHIKK3htbEFkZE5vdGF0aW9uRGVjbCh4bWxWYWxpZEN0eHRQdHIgY3R4dCwgeG1sRHRkUHRyIGR0ZCwKKwkgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKm5hbWUsCisgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqUHVibGljSUQsIGNvbnN0IHhtbENoYXIgKlN5c3RlbUlEKSB7CisgICAgeG1sTm90YXRpb25QdHIgcmV0OworICAgIHhtbE5vdGF0aW9uVGFibGVQdHIgdGFibGU7CisKKyAgICBpZiAoZHRkID09IE5VTEwpIHsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIGlmIChuYW1lID09IE5VTEwpIHsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIGlmICgoUHVibGljSUQgPT0gTlVMTCkgJiYgKFN5c3RlbUlEID09IE5VTEwpKSB7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKworICAgIC8qCisgICAgICogQ3JlYXRlIHRoZSBOb3RhdGlvbiB0YWJsZSBpZiBuZWVkZWQuCisgICAgICovCisgICAgdGFibGUgPSAoeG1sTm90YXRpb25UYWJsZVB0cikgZHRkLT5ub3RhdGlvbnM7CisgICAgaWYgKHRhYmxlID09IE5VTEwpIHsKKwl4bWxEaWN0UHRyIGRpY3QgPSBOVUxMOworCWlmIChkdGQtPmRvYyAhPSBOVUxMKQorCSAgICBkaWN0ID0gZHRkLT5kb2MtPmRpY3Q7CisKKyAgICAgICAgZHRkLT5ub3RhdGlvbnMgPSB0YWJsZSA9IHhtbEhhc2hDcmVhdGVEaWN0KDAsIGRpY3QpOworICAgIH0KKyAgICBpZiAodGFibGUgPT0gTlVMTCkgeworCXhtbFZFcnJNZW1vcnkoY3R4dCwKKwkJInhtbEFkZE5vdGF0aW9uRGVjbDogVGFibGUgY3JlYXRpb24gZmFpbGVkIVxuIik7CisgICAgICAgIHJldHVybihOVUxMKTsKKyAgICB9CisKKyAgICByZXQgPSAoeG1sTm90YXRpb25QdHIpIHhtbE1hbGxvYyhzaXplb2YoeG1sTm90YXRpb24pKTsKKyAgICBpZiAocmV0ID09IE5VTEwpIHsKKwl4bWxWRXJyTWVtb3J5KGN0eHQsICJtYWxsb2MgZmFpbGVkIik7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBtZW1zZXQocmV0LCAwLCBzaXplb2YoeG1sTm90YXRpb24pKTsKKworICAgIC8qCisgICAgICogZmlsbCB0aGUgc3RydWN0dXJlLgorICAgICAqLworICAgIHJldC0+bmFtZSA9IHhtbFN0cmR1cChuYW1lKTsKKyAgICBpZiAoU3lzdGVtSUQgIT0gTlVMTCkKKyAgICAgICAgcmV0LT5TeXN0ZW1JRCA9IHhtbFN0cmR1cChTeXN0ZW1JRCk7CisgICAgaWYgKFB1YmxpY0lEICE9IE5VTEwpCisgICAgICAgIHJldC0+UHVibGljSUQgPSB4bWxTdHJkdXAoUHVibGljSUQpOworCisgICAgLyoKKyAgICAgKiBWYWxpZGl0eSBDaGVjazoKKyAgICAgKiBDaGVjayB0aGUgRFREIGZvciBwcmV2aW91cyBkZWNsYXJhdGlvbnMgb2YgdGhlIEFUVExJU1QKKyAgICAgKi8KKyAgICBpZiAoeG1sSGFzaEFkZEVudHJ5KHRhYmxlLCBuYW1lLCByZXQpKSB7CisjaWZkZWYgTElCWE1MX1ZBTElEX0VOQUJMRUQKKwl4bWxFcnJWYWxpZChOVUxMLCBYTUxfRFREX05PVEFUSU9OX1JFREVGSU5FRCwKKwkJICAgICJ4bWxBZGROb3RhdGlvbkRlY2w6ICVzIGFscmVhZHkgZGVmaW5lZFxuIiwKKwkJICAgIChjb25zdCBjaGFyICopIG5hbWUpOworI2VuZGlmIC8qIExJQlhNTF9WQUxJRF9FTkFCTEVEICovCisJeG1sRnJlZU5vdGF0aW9uKHJldCk7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxGcmVlTm90YXRpb25UYWJsZToKKyAqIEB0YWJsZTogIEFuIG5vdGF0aW9uIHRhYmxlCisgKgorICogRGVhbGxvY2F0ZSB0aGUgbWVtb3J5IHVzZWQgYnkgYW4gZW50aXRpZXMgaGFzaCB0YWJsZS4KKyAqLwordm9pZAoreG1sRnJlZU5vdGF0aW9uVGFibGUoeG1sTm90YXRpb25UYWJsZVB0ciB0YWJsZSkgeworICAgIHhtbEhhc2hGcmVlKHRhYmxlLCAoeG1sSGFzaERlYWxsb2NhdG9yKSB4bWxGcmVlTm90YXRpb24pOworfQorCisjaWZkZWYgTElCWE1MX1RSRUVfRU5BQkxFRAorLyoqCisgKiB4bWxDb3B5Tm90YXRpb246CisgKiBAbm90YTogIEEgbm90YXRpb24KKyAqCisgKiBCdWlsZCBhIGNvcHkgb2YgYSBub3RhdGlvbi4KKyAqCisgKiBSZXR1cm5zIHRoZSBuZXcgeG1sTm90YXRpb25QdHIgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLgorICovCitzdGF0aWMgeG1sTm90YXRpb25QdHIKK3htbENvcHlOb3RhdGlvbih4bWxOb3RhdGlvblB0ciBub3RhKSB7CisgICAgeG1sTm90YXRpb25QdHIgY3VyOworCisgICAgY3VyID0gKHhtbE5vdGF0aW9uUHRyKSB4bWxNYWxsb2Moc2l6ZW9mKHhtbE5vdGF0aW9uKSk7CisgICAgaWYgKGN1ciA9PSBOVUxMKSB7CisJeG1sVkVyck1lbW9yeShOVUxMLCAibWFsbG9jIGZhaWxlZCIpOworCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgaWYgKG5vdGEtPm5hbWUgIT0gTlVMTCkKKwljdXItPm5hbWUgPSB4bWxTdHJkdXAobm90YS0+bmFtZSk7CisgICAgZWxzZQorCWN1ci0+bmFtZSA9IE5VTEw7CisgICAgaWYgKG5vdGEtPlB1YmxpY0lEICE9IE5VTEwpCisJY3VyLT5QdWJsaWNJRCA9IHhtbFN0cmR1cChub3RhLT5QdWJsaWNJRCk7CisgICAgZWxzZQorCWN1ci0+UHVibGljSUQgPSBOVUxMOworICAgIGlmIChub3RhLT5TeXN0ZW1JRCAhPSBOVUxMKQorCWN1ci0+U3lzdGVtSUQgPSB4bWxTdHJkdXAobm90YS0+U3lzdGVtSUQpOworICAgIGVsc2UKKwljdXItPlN5c3RlbUlEID0gTlVMTDsKKyAgICByZXR1cm4oY3VyKTsKK30KKworLyoqCisgKiB4bWxDb3B5Tm90YXRpb25UYWJsZToKKyAqIEB0YWJsZTogIEEgbm90YXRpb24gdGFibGUKKyAqCisgKiBCdWlsZCBhIGNvcHkgb2YgYSBub3RhdGlvbiB0YWJsZS4KKyAqCisgKiBSZXR1cm5zIHRoZSBuZXcgeG1sTm90YXRpb25UYWJsZVB0ciBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK3htbE5vdGF0aW9uVGFibGVQdHIKK3htbENvcHlOb3RhdGlvblRhYmxlKHhtbE5vdGF0aW9uVGFibGVQdHIgdGFibGUpIHsKKyAgICByZXR1cm4oKHhtbE5vdGF0aW9uVGFibGVQdHIpIHhtbEhhc2hDb3B5KHRhYmxlLAorCQkJCSAgICAoeG1sSGFzaENvcGllcikgeG1sQ29weU5vdGF0aW9uKSk7Cit9CisjZW5kaWYgLyogTElCWE1MX1RSRUVfRU5BQkxFRCAqLworCisjaWZkZWYgTElCWE1MX09VVFBVVF9FTkFCTEVECisvKioKKyAqIHhtbER1bXBOb3RhdGlvbkRlY2w6CisgKiBAYnVmOiAgdGhlIFhNTCBidWZmZXIgb3V0cHV0CisgKiBAbm90YTogIEEgbm90YXRpb24gZGVjbGFyYXRpb24KKyAqCisgKiBUaGlzIHdpbGwgZHVtcCB0aGUgY29udGVudCB0aGUgbm90YXRpb24gZGVjbGFyYXRpb24gYXMgYW4gWE1MIERURCBkZWZpbml0aW9uCisgKi8KK3ZvaWQKK3htbER1bXBOb3RhdGlvbkRlY2woeG1sQnVmZmVyUHRyIGJ1ZiwgeG1sTm90YXRpb25QdHIgbm90YSkgeworICAgIGlmICgoYnVmID09IE5VTEwpIHx8IChub3RhID09IE5VTEwpKQorICAgICAgICByZXR1cm47CisgICAgeG1sQnVmZmVyV3JpdGVDaGFyKGJ1ZiwgIjwhTk9UQVRJT04gIik7CisgICAgeG1sQnVmZmVyV3JpdGVDSEFSKGJ1Ziwgbm90YS0+bmFtZSk7CisgICAgaWYgKG5vdGEtPlB1YmxpY0lEICE9IE5VTEwpIHsKKwl4bWxCdWZmZXJXcml0ZUNoYXIoYnVmLCAiIFBVQkxJQyAiKTsKKwl4bWxCdWZmZXJXcml0ZVF1b3RlZFN0cmluZyhidWYsIG5vdGEtPlB1YmxpY0lEKTsKKwlpZiAobm90YS0+U3lzdGVtSUQgIT0gTlVMTCkgeworCSAgICB4bWxCdWZmZXJXcml0ZUNoYXIoYnVmLCAiICIpOworCSAgICB4bWxCdWZmZXJXcml0ZVF1b3RlZFN0cmluZyhidWYsIG5vdGEtPlN5c3RlbUlEKTsKKwl9CisgICAgfSBlbHNlIHsKKwl4bWxCdWZmZXJXcml0ZUNoYXIoYnVmLCAiIFNZU1RFTSAiKTsKKwl4bWxCdWZmZXJXcml0ZVF1b3RlZFN0cmluZyhidWYsIG5vdGEtPlN5c3RlbUlEKTsKKyAgICB9CisgICAgeG1sQnVmZmVyV3JpdGVDaGFyKGJ1ZiwgIiA+XG4iKTsKK30KKworLyoqCisgKiB4bWxEdW1wTm90YXRpb25EZWNsU2NhbjoKKyAqIEBub3RhOiAgQSBub3RhdGlvbiBkZWNsYXJhdGlvbgorICogQGJ1ZjogIHRoZSBYTUwgYnVmZmVyIG91dHB1dAorICoKKyAqIFRoaXMgaXMgY2FsbGVkIHdpdGggdGhlIGhhc2ggc2NhbiBmdW5jdGlvbiwgYW5kIGp1c3QgcmV2ZXJzZXMgYXJncworICovCitzdGF0aWMgdm9pZAoreG1sRHVtcE5vdGF0aW9uRGVjbFNjYW4oeG1sTm90YXRpb25QdHIgbm90YSwgeG1sQnVmZmVyUHRyIGJ1ZikgeworICAgIHhtbER1bXBOb3RhdGlvbkRlY2woYnVmLCBub3RhKTsKK30KKworLyoqCisgKiB4bWxEdW1wTm90YXRpb25UYWJsZToKKyAqIEBidWY6ICB0aGUgWE1MIGJ1ZmZlciBvdXRwdXQKKyAqIEB0YWJsZTogIEEgbm90YXRpb24gdGFibGUKKyAqCisgKiBUaGlzIHdpbGwgZHVtcCB0aGUgY29udGVudCBvZiB0aGUgbm90YXRpb24gdGFibGUgYXMgYW4gWE1MIERURCBkZWZpbml0aW9uCisgKi8KK3ZvaWQKK3htbER1bXBOb3RhdGlvblRhYmxlKHhtbEJ1ZmZlclB0ciBidWYsIHhtbE5vdGF0aW9uVGFibGVQdHIgdGFibGUpIHsKKyAgICBpZiAoKGJ1ZiA9PSBOVUxMKSB8fCAodGFibGUgPT0gTlVMTCkpCisgICAgICAgIHJldHVybjsKKyAgICB4bWxIYXNoU2Nhbih0YWJsZSwgKHhtbEhhc2hTY2FubmVyKSB4bWxEdW1wTm90YXRpb25EZWNsU2NhbiwgYnVmKTsKK30KKyNlbmRpZiAvKiBMSUJYTUxfT1VUUFVUX0VOQUJMRUQgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJCQlJRHMJCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qKgorICogRElDVF9GUkVFOgorICogQHN0cjogIGEgc3RyaW5nCisgKgorICogRnJlZSBhIHN0cmluZyBpZiBpdCBpcyBub3Qgb3duZWQgYnkgdGhlICJkaWN0IiBkaWN0aW9ubmFyeSBpbiB0aGUKKyAqIGN1cnJlbnQgc2NvcGUKKyAqLworI2RlZmluZSBESUNUX0ZSRUUoc3RyKQkJCQkJCVwKKwlpZiAoKHN0cikgJiYgKCghZGljdCkgfHwJCQkJXAorCSAgICAoeG1sRGljdE93bnMoZGljdCwgKGNvbnN0IHhtbENoYXIgKikoc3RyKSkgPT0gMCkpKQlcCisJICAgIHhtbEZyZWUoKGNoYXIgKikoc3RyKSk7CisKKy8qKgorICogeG1sRnJlZUlEOgorICogQG5vdDogIEEgaWQKKyAqCisgKiBEZWFsbG9jYXRlIHRoZSBtZW1vcnkgdXNlZCBieSBhbiBpZCBkZWZpbml0aW9uCisgKi8KK3N0YXRpYyB2b2lkCit4bWxGcmVlSUQoeG1sSURQdHIgaWQpIHsKKyAgICB4bWxEaWN0UHRyIGRpY3QgPSBOVUxMOworCisgICAgaWYgKGlkID09IE5VTEwpIHJldHVybjsKKworICAgIGlmIChpZC0+ZG9jICE9IE5VTEwpCisgICAgICAgIGRpY3QgPSBpZC0+ZG9jLT5kaWN0OworCisgICAgaWYgKGlkLT52YWx1ZSAhPSBOVUxMKQorCURJQ1RfRlJFRShpZC0+dmFsdWUpCisgICAgaWYgKGlkLT5uYW1lICE9IE5VTEwpCisJRElDVF9GUkVFKGlkLT5uYW1lKQorICAgIHhtbEZyZWUoaWQpOworfQorCisKKy8qKgorICogeG1sQWRkSUQ6CisgKiBAY3R4dDogIHRoZSB2YWxpZGF0aW9uIGNvbnRleHQKKyAqIEBkb2M6ICBwb2ludGVyIHRvIHRoZSBkb2N1bWVudAorICogQHZhbHVlOiAgdGhlIHZhbHVlIG5hbWUKKyAqIEBhdHRyOiAgdGhlIGF0dHJpYnV0ZSBob2xkaW5nIHRoZSBJRAorICoKKyAqIFJlZ2lzdGVyIGEgbmV3IGlkIGRlY2xhcmF0aW9uCisgKgorICogUmV0dXJucyBOVUxMIGlmIG5vdCwgb3RoZXJ3aXNlIHRoZSBuZXcgeG1sSURQdHIKKyAqLworeG1sSURQdHIKK3htbEFkZElEKHhtbFZhbGlkQ3R4dFB0ciBjdHh0LCB4bWxEb2NQdHIgZG9jLCBjb25zdCB4bWxDaGFyICp2YWx1ZSwKKyAgICAgICAgIHhtbEF0dHJQdHIgYXR0cikgeworICAgIHhtbElEUHRyIHJldDsKKyAgICB4bWxJRFRhYmxlUHRyIHRhYmxlOworCisgICAgaWYgKGRvYyA9PSBOVUxMKSB7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBpZiAodmFsdWUgPT0gTlVMTCkgeworCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgaWYgKGF0dHIgPT0gTlVMTCkgeworCXJldHVybihOVUxMKTsKKyAgICB9CisKKyAgICAvKgorICAgICAqIENyZWF0ZSB0aGUgSUQgdGFibGUgaWYgbmVlZGVkLgorICAgICAqLworICAgIHRhYmxlID0gKHhtbElEVGFibGVQdHIpIGRvYy0+aWRzOworICAgIGlmICh0YWJsZSA9PSBOVUxMKSAgeworICAgICAgICBkb2MtPmlkcyA9IHRhYmxlID0geG1sSGFzaENyZWF0ZURpY3QoMCwgZG9jLT5kaWN0KTsKKyAgICB9CisgICAgaWYgKHRhYmxlID09IE5VTEwpIHsKKwl4bWxWRXJyTWVtb3J5KGN0eHQsCisJCSJ4bWxBZGRJRDogVGFibGUgY3JlYXRpb24gZmFpbGVkIVxuIik7CisgICAgICAgIHJldHVybihOVUxMKTsKKyAgICB9CisKKyAgICByZXQgPSAoeG1sSURQdHIpIHhtbE1hbGxvYyhzaXplb2YoeG1sSUQpKTsKKyAgICBpZiAocmV0ID09IE5VTEwpIHsKKwl4bWxWRXJyTWVtb3J5KGN0eHQsICJtYWxsb2MgZmFpbGVkIik7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKworICAgIC8qCisgICAgICogZmlsbCB0aGUgc3RydWN0dXJlLgorICAgICAqLworICAgIHJldC0+dmFsdWUgPSB4bWxTdHJkdXAodmFsdWUpOworICAgIHJldC0+ZG9jID0gZG9jOworICAgIGlmICgoY3R4dCAhPSBOVUxMKSAmJiAoY3R4dC0+dnN0YXRlTnIgIT0gMCkpIHsKKwkvKgorCSAqIE9wZXJhdGluZyBpbiBzdHJlYW1pbmcgbW9kZSwgYXR0ciBpcyBnb25uYSBkaXNhcGVhcgorCSAqLworCWlmIChkb2MtPmRpY3QgIT0gTlVMTCkKKwkgICAgcmV0LT5uYW1lID0geG1sRGljdExvb2t1cChkb2MtPmRpY3QsIGF0dHItPm5hbWUsIC0xKTsKKwllbHNlCisJICAgIHJldC0+bmFtZSA9IHhtbFN0cmR1cChhdHRyLT5uYW1lKTsKKwlyZXQtPmF0dHIgPSBOVUxMOworICAgIH0gZWxzZSB7CisJcmV0LT5hdHRyID0gYXR0cjsKKwlyZXQtPm5hbWUgPSBOVUxMOworICAgIH0KKyAgICByZXQtPmxpbmVubyA9IHhtbEdldExpbmVObyhhdHRyLT5wYXJlbnQpOworCisgICAgaWYgKHhtbEhhc2hBZGRFbnRyeSh0YWJsZSwgdmFsdWUsIHJldCkgPCAwKSB7CisjaWZkZWYgTElCWE1MX1ZBTElEX0VOQUJMRUQKKwkvKgorCSAqIFRoZSBpZCBpcyBhbHJlYWR5IGRlZmluZWQgaW4gdGhpcyBEVEQuCisJICovCisJeG1sRXJyVmFsaWROb2RlKGN0eHQsIGF0dHItPnBhcmVudCwgWE1MX0RURF9JRF9SRURFRklORUQsCisJCQkiSUQgJXMgYWxyZWFkeSBkZWZpbmVkXG4iLCB2YWx1ZSwgTlVMTCwgTlVMTCk7CisjZW5kaWYgLyogTElCWE1MX1ZBTElEX0VOQUJMRUQgKi8KKwl4bWxGcmVlSUQocmV0KTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIGlmIChhdHRyICE9IE5VTEwpCisJYXR0ci0+YXR5cGUgPSBYTUxfQVRUUklCVVRFX0lEOworICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbEZyZWVJRFRhYmxlOgorICogQHRhYmxlOiAgQW4gaWQgdGFibGUKKyAqCisgKiBEZWFsbG9jYXRlIHRoZSBtZW1vcnkgdXNlZCBieSBhbiBJRCBoYXNoIHRhYmxlLgorICovCit2b2lkCit4bWxGcmVlSURUYWJsZSh4bWxJRFRhYmxlUHRyIHRhYmxlKSB7CisgICAgeG1sSGFzaEZyZWUodGFibGUsICh4bWxIYXNoRGVhbGxvY2F0b3IpIHhtbEZyZWVJRCk7Cit9CisKKy8qKgorICogeG1sSXNJRDoKKyAqIEBkb2M6ICB0aGUgZG9jdW1lbnQKKyAqIEBlbGVtOiAgdGhlIGVsZW1lbnQgY2FycnlpbmcgdGhlIGF0dHJpYnV0ZQorICogQGF0dHI6ICB0aGUgYXR0cmlidXRlCisgKgorICogRGV0ZXJtaW5lIHdoZXRoZXIgYW4gYXR0cmlidXRlIGlzIG9mIHR5cGUgSUQuIEluIGNhc2Ugd2UgaGF2ZSBEVEQocykKKyAqIHRoZW4gdGhpcyBpcyBkb25lIGlmIERURCBsb2FkaW5nIGhhcyBiZWVuIHJlcXVlc3RlZC4gSW4gdGhlIGNhc2UKKyAqIG9mIEhUTUwgZG9jdW1lbnRzIHBhcnNlZCB3aXRoIHRoZSBIVE1MIHBhcnNlciwgdGhlbiBJRCBkZXRlY3Rpb24gaXMKKyAqIGRvbmUgc3lzdGVtYXRpY2FsbHkuCisgKgorICogUmV0dXJucyAwIG9yIDEgZGVwZW5kaW5nIG9uIHRoZSBsb29rdXAgcmVzdWx0CisgKi8KK2ludAoreG1sSXNJRCh4bWxEb2NQdHIgZG9jLCB4bWxOb2RlUHRyIGVsZW0sIHhtbEF0dHJQdHIgYXR0cikgeworICAgIGlmICgoYXR0ciA9PSBOVUxMKSB8fCAoYXR0ci0+bmFtZSA9PSBOVUxMKSkgcmV0dXJuKDApOworICAgIGlmICgoYXR0ci0+bnMgIT0gTlVMTCkgJiYgKGF0dHItPm5zLT5wcmVmaXggIT0gTlVMTCkgJiYKKyAgICAgICAgKCFzdHJjbXAoKGNoYXIgKikgYXR0ci0+bmFtZSwgImlkIikpICYmCisgICAgICAgICghc3RyY21wKChjaGFyICopIGF0dHItPm5zLT5wcmVmaXgsICJ4bWwiKSkpCisJcmV0dXJuKDEpOworICAgIGlmIChkb2MgPT0gTlVMTCkgcmV0dXJuKDApOworICAgIGlmICgoZG9jLT5pbnRTdWJzZXQgPT0gTlVMTCkgJiYgKGRvYy0+ZXh0U3Vic2V0ID09IE5VTEwpICYmCisgICAgICAgIChkb2MtPnR5cGUgIT0gWE1MX0hUTUxfRE9DVU1FTlRfTk9ERSkpIHsKKwlyZXR1cm4oMCk7CisgICAgfSBlbHNlIGlmIChkb2MtPnR5cGUgPT0gWE1MX0hUTUxfRE9DVU1FTlRfTk9ERSkgeworICAgICAgICBpZiAoKHhtbFN0ckVxdWFsKEJBRF9DQVNUICJpZCIsIGF0dHItPm5hbWUpKSB8fAorCSAgICAoKHhtbFN0ckVxdWFsKEJBRF9DQVNUICJuYW1lIiwgYXR0ci0+bmFtZSkpICYmCisJICAgICgoZWxlbSA9PSBOVUxMKSB8fCAoeG1sU3RyRXF1YWwoZWxlbS0+bmFtZSwgQkFEX0NBU1QgImEiKSkpKSkKKwkgICAgcmV0dXJuKDEpOworCXJldHVybigwKTsKKyAgICB9IGVsc2UgaWYgKGVsZW0gPT0gTlVMTCkgeworCXJldHVybigwKTsKKyAgICB9IGVsc2UgeworCXhtbEF0dHJpYnV0ZVB0ciBhdHRyRGVjbCA9IE5VTEw7CisKKwl4bWxDaGFyIGZlbGVtWzUwXSwgZmF0dHJbNTBdOworCXhtbENoYXIgKmZ1bGxlbGVtbmFtZSwgKmZ1bGxhdHRybmFtZTsKKworCWZ1bGxlbGVtbmFtZSA9IChlbGVtLT5ucyAhPSBOVUxMICYmIGVsZW0tPm5zLT5wcmVmaXggIT0gTlVMTCkgPworCSAgICB4bWxCdWlsZFFOYW1lKGVsZW0tPm5hbWUsIGVsZW0tPm5zLT5wcmVmaXgsIGZlbGVtLCA1MCkgOgorCSAgICAoeG1sQ2hhciAqKWVsZW0tPm5hbWU7CisKKwlmdWxsYXR0cm5hbWUgPSAoYXR0ci0+bnMgIT0gTlVMTCAmJiBhdHRyLT5ucy0+cHJlZml4ICE9IE5VTEwpID8KKwkgICAgeG1sQnVpbGRRTmFtZShhdHRyLT5uYW1lLCBhdHRyLT5ucy0+cHJlZml4LCBmYXR0ciwgNTApIDoKKwkgICAgKHhtbENoYXIgKilhdHRyLT5uYW1lOworCisJaWYgKGZ1bGxlbGVtbmFtZSAhPSBOVUxMICYmIGZ1bGxhdHRybmFtZSAhPSBOVUxMKSB7CisJICAgIGF0dHJEZWNsID0geG1sR2V0RHRkQXR0ckRlc2MoZG9jLT5pbnRTdWJzZXQsIGZ1bGxlbGVtbmFtZSwKKwkJICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bGxhdHRybmFtZSk7CisJICAgIGlmICgoYXR0ckRlY2wgPT0gTlVMTCkgJiYgKGRvYy0+ZXh0U3Vic2V0ICE9IE5VTEwpKQorCQlhdHRyRGVjbCA9IHhtbEdldER0ZEF0dHJEZXNjKGRvYy0+ZXh0U3Vic2V0LCBmdWxsZWxlbW5hbWUsCisJCQkJCSAgICAgZnVsbGF0dHJuYW1lKTsKKwl9CisKKwlpZiAoKGZ1bGxhdHRybmFtZSAhPSBmYXR0cikgJiYgKGZ1bGxhdHRybmFtZSAhPSBhdHRyLT5uYW1lKSkKKwkgICAgeG1sRnJlZShmdWxsYXR0cm5hbWUpOworCWlmICgoZnVsbGVsZW1uYW1lICE9IGZlbGVtKSAmJiAoZnVsbGVsZW1uYW1lICE9IGVsZW0tPm5hbWUpKQorCSAgICB4bWxGcmVlKGZ1bGxlbGVtbmFtZSk7CisKKyAgICAgICAgaWYgKChhdHRyRGVjbCAhPSBOVUxMKSAmJiAoYXR0ckRlY2wtPmF0eXBlID09IFhNTF9BVFRSSUJVVEVfSUQpKQorCSAgICByZXR1cm4oMSk7CisgICAgfQorICAgIHJldHVybigwKTsKK30KKworLyoqCisgKiB4bWxSZW1vdmVJRDoKKyAqIEBkb2M6ICB0aGUgZG9jdW1lbnQKKyAqIEBhdHRyOiAgdGhlIGF0dHJpYnV0ZQorICoKKyAqIFJlbW92ZSB0aGUgZ2l2ZW4gYXR0cmlidXRlIGZyb20gdGhlIElEIHRhYmxlIG1haW50YWluZWQgaW50ZXJuYWxseS4KKyAqCisgKiBSZXR1cm5zIC0xIGlmIHRoZSBsb29rdXAgZmFpbGVkIGFuZCAwIG90aGVyd2lzZQorICovCitpbnQKK3htbFJlbW92ZUlEKHhtbERvY1B0ciBkb2MsIHhtbEF0dHJQdHIgYXR0cikgeworICAgIHhtbElEVGFibGVQdHIgdGFibGU7CisgICAgeG1sSURQdHIgaWQ7CisgICAgeG1sQ2hhciAqSUQ7CisKKyAgICBpZiAoZG9jID09IE5VTEwpIHJldHVybigtMSk7CisgICAgaWYgKGF0dHIgPT0gTlVMTCkgcmV0dXJuKC0xKTsKKworICAgIHRhYmxlID0gKHhtbElEVGFibGVQdHIpIGRvYy0+aWRzOworICAgIGlmICh0YWJsZSA9PSBOVUxMKQorICAgICAgICByZXR1cm4oLTEpOworCisgICAgSUQgPSB4bWxOb2RlTGlzdEdldFN0cmluZyhkb2MsIGF0dHItPmNoaWxkcmVuLCAxKTsKKyAgICBpZiAoSUQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuKC0xKTsKKworICAgIGlkID0geG1sSGFzaExvb2t1cCh0YWJsZSwgSUQpOworICAgIGlmIChpZCA9PSBOVUxMIHx8IGlkLT5hdHRyICE9IGF0dHIpIHsKKyAgICAgICAgeG1sRnJlZShJRCk7CisgICAgICAgIHJldHVybigtMSk7CisgICAgfQorCisgICAgeG1sSGFzaFJlbW92ZUVudHJ5KHRhYmxlLCBJRCwgKHhtbEhhc2hEZWFsbG9jYXRvcikgeG1sRnJlZUlEKTsKKyAgICB4bWxGcmVlKElEKTsKKyAgICBhdHRyLT5hdHlwZSA9IDA7CisgICAgcmV0dXJuKDApOworfQorCisvKioKKyAqIHhtbEdldElEOgorICogQGRvYzogIHBvaW50ZXIgdG8gdGhlIGRvY3VtZW50CisgKiBASUQ6ICB0aGUgSUQgdmFsdWUKKyAqCisgKiBTZWFyY2ggdGhlIGF0dHJpYnV0ZSBkZWNsYXJpbmcgdGhlIGdpdmVuIElECisgKgorICogUmV0dXJucyBOVUxMIGlmIG5vdCBmb3VuZCwgb3RoZXJ3aXNlIHRoZSB4bWxBdHRyUHRyIGRlZmluaW5nIHRoZSBJRAorICovCit4bWxBdHRyUHRyCit4bWxHZXRJRCh4bWxEb2NQdHIgZG9jLCBjb25zdCB4bWxDaGFyICpJRCkgeworICAgIHhtbElEVGFibGVQdHIgdGFibGU7CisgICAgeG1sSURQdHIgaWQ7CisKKyAgICBpZiAoZG9jID09IE5VTEwpIHsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorCisgICAgaWYgKElEID09IE5VTEwpIHsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorCisgICAgdGFibGUgPSAoeG1sSURUYWJsZVB0cikgZG9jLT5pZHM7CisgICAgaWYgKHRhYmxlID09IE5VTEwpCisgICAgICAgIHJldHVybihOVUxMKTsKKworICAgIGlkID0geG1sSGFzaExvb2t1cCh0YWJsZSwgSUQpOworICAgIGlmIChpZCA9PSBOVUxMKQorCXJldHVybihOVUxMKTsKKyAgICBpZiAoaWQtPmF0dHIgPT0gTlVMTCkgeworCS8qCisJICogV2UgYXJlIG9wZXJhdGluZyBvbiBhIHN0cmVhbSwgcmV0dXJuIGEgd2VsbCBrbm93biByZWZlcmVuY2UKKwkgKiBzaW5jZSB0aGUgYXR0cmlidXRlIG5vZGUgZG9lc24ndCBleGlzdCBhbnltb3JlCisJICovCisJcmV0dXJuKCh4bWxBdHRyUHRyKSBkb2MpOworICAgIH0KKyAgICByZXR1cm4oaWQtPmF0dHIpOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQkJCVJlZnMJCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3R5cGVkZWYgc3RydWN0IHhtbFJlbW92ZU1lbW9fdAoreworCXhtbExpc3RQdHIgbDsKKwl4bWxBdHRyUHRyIGFwOworfSB4bWxSZW1vdmVNZW1vOworCit0eXBlZGVmIHhtbFJlbW92ZU1lbW8gKnhtbFJlbW92ZU1lbW9QdHI7CisKK3R5cGVkZWYgc3RydWN0IHhtbFZhbGlkYXRlTWVtb190Cit7CisgICAgeG1sVmFsaWRDdHh0UHRyIGN0eHQ7CisgICAgY29uc3QgeG1sQ2hhciAqbmFtZTsKK30geG1sVmFsaWRhdGVNZW1vOworCit0eXBlZGVmIHhtbFZhbGlkYXRlTWVtbyAqeG1sVmFsaWRhdGVNZW1vUHRyOworCisvKioKKyAqIHhtbEZyZWVSZWY6CisgKiBAbGs6ICBBIGxpc3QgbGluaworICoKKyAqIERlYWxsb2NhdGUgdGhlIG1lbW9yeSB1c2VkIGJ5IGEgcmVmIGRlZmluaXRpb24KKyAqLworc3RhdGljIHZvaWQKK3htbEZyZWVSZWYoeG1sTGlua1B0ciBsaykgeworICAgIHhtbFJlZlB0ciByZWYgPSAoeG1sUmVmUHRyKXhtbExpbmtHZXREYXRhKGxrKTsKKyAgICBpZiAocmVmID09IE5VTEwpIHJldHVybjsKKyAgICBpZiAocmVmLT52YWx1ZSAhPSBOVUxMKQorICAgICAgICB4bWxGcmVlKCh4bWxDaGFyICopcmVmLT52YWx1ZSk7CisgICAgaWYgKHJlZi0+bmFtZSAhPSBOVUxMKQorICAgICAgICB4bWxGcmVlKCh4bWxDaGFyICopcmVmLT5uYW1lKTsKKyAgICB4bWxGcmVlKHJlZik7Cit9CisKKy8qKgorICogeG1sRnJlZVJlZkxpc3Q6CisgKiBAbGlzdF9yZWY6ICBBIGxpc3Qgb2YgcmVmZXJlbmNlcy4KKyAqCisgKiBEZWFsbG9jYXRlIHRoZSBtZW1vcnkgdXNlZCBieSBhIGxpc3Qgb2YgcmVmZXJlbmNlcworICovCitzdGF0aWMgdm9pZAoreG1sRnJlZVJlZkxpc3QoeG1sTGlzdFB0ciBsaXN0X3JlZikgeworICAgIGlmIChsaXN0X3JlZiA9PSBOVUxMKSByZXR1cm47CisgICAgeG1sTGlzdERlbGV0ZShsaXN0X3JlZik7Cit9CisKKy8qKgorICogeG1sV2Fsa1JlbW92ZVJlZjoKKyAqIEBkYXRhOiAgQ29udGVudHMgb2YgY3VycmVudCBsaW5rCisgKiBAdXNlcjogIFZhbHVlIHN1cHBsaWVkIGJ5IHRoZSB1c2VyCisgKgorICogUmV0dXJucyAwIHRvIGFib3J0IHRoZSB3YWxrIG9yIDEgdG8gY29udGludWUKKyAqLworc3RhdGljIGludAoreG1sV2Fsa1JlbW92ZVJlZihjb25zdCB2b2lkICpkYXRhLCBjb25zdCB2b2lkICp1c2VyKQoreworICAgIHhtbEF0dHJQdHIgYXR0cjAgPSAoKHhtbFJlZlB0cilkYXRhKS0+YXR0cjsKKyAgICB4bWxBdHRyUHRyIGF0dHIxID0gKCh4bWxSZW1vdmVNZW1vUHRyKXVzZXIpLT5hcDsKKyAgICB4bWxMaXN0UHRyIHJlZl9saXN0ID0gKCh4bWxSZW1vdmVNZW1vUHRyKXVzZXIpLT5sOworCisgICAgaWYgKGF0dHIwID09IGF0dHIxKSB7IC8qIE1hdGNoZWQ6IHJlbW92ZSBhbmQgdGVybWluYXRlIHdhbGsgKi8KKyAgICAgICAgeG1sTGlzdFJlbW92ZUZpcnN0KHJlZl9saXN0LCAodm9pZCAqKWRhdGEpOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisgICAgcmV0dXJuIDE7Cit9CisKKy8qKgorICogeG1sRHVtbXlDb21wYXJlCisgKiBAZGF0YTA6ICBWYWx1ZSBzdXBwbGllZCBieSB0aGUgdXNlcgorICogQGRhdGExOiAgVmFsdWUgc3VwcGxpZWQgYnkgdGhlIHVzZXIKKyAqCisgKiBEbyBub3RoaW5nLCByZXR1cm4gMC4gVXNlZCB0byBjcmVhdGUgdW5vcmRlcmVkIGxpc3RzLgorICovCitzdGF0aWMgaW50Cit4bWxEdW1teUNvbXBhcmUoY29uc3Qgdm9pZCAqZGF0YTAgQVRUUklCVVRFX1VOVVNFRCwKKyAgICAgICAgICAgICAgICBjb25zdCB2b2lkICpkYXRhMSBBVFRSSUJVVEVfVU5VU0VEKQoreworICAgIHJldHVybiAoMCk7Cit9CisKKy8qKgorICogeG1sQWRkUmVmOgorICogQGN0eHQ6ICB0aGUgdmFsaWRhdGlvbiBjb250ZXh0CisgKiBAZG9jOiAgcG9pbnRlciB0byB0aGUgZG9jdW1lbnQKKyAqIEB2YWx1ZTogIHRoZSB2YWx1ZSBuYW1lCisgKiBAYXR0cjogIHRoZSBhdHRyaWJ1dGUgaG9sZGluZyB0aGUgUmVmCisgKgorICogUmVnaXN0ZXIgYSBuZXcgcmVmIGRlY2xhcmF0aW9uCisgKgorICogUmV0dXJucyBOVUxMIGlmIG5vdCwgb3RoZXJ3aXNlIHRoZSBuZXcgeG1sUmVmUHRyCisgKi8KK3htbFJlZlB0cgoreG1sQWRkUmVmKHhtbFZhbGlkQ3R4dFB0ciBjdHh0LCB4bWxEb2NQdHIgZG9jLCBjb25zdCB4bWxDaGFyICp2YWx1ZSwKKyAgICB4bWxBdHRyUHRyIGF0dHIpIHsKKyAgICB4bWxSZWZQdHIgcmV0OworICAgIHhtbFJlZlRhYmxlUHRyIHRhYmxlOworICAgIHhtbExpc3RQdHIgcmVmX2xpc3Q7CisKKyAgICBpZiAoZG9jID09IE5VTEwpIHsKKyAgICAgICAgcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBpZiAodmFsdWUgPT0gTlVMTCkgeworICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgfQorICAgIGlmIChhdHRyID09IE5VTEwpIHsKKyAgICAgICAgcmV0dXJuKE5VTEwpOworICAgIH0KKworICAgIC8qCisgICAgICogQ3JlYXRlIHRoZSBSZWYgdGFibGUgaWYgbmVlZGVkLgorICAgICAqLworICAgIHRhYmxlID0gKHhtbFJlZlRhYmxlUHRyKSBkb2MtPnJlZnM7CisgICAgaWYgKHRhYmxlID09IE5VTEwpIHsKKyAgICAgICAgZG9jLT5yZWZzID0gdGFibGUgPSB4bWxIYXNoQ3JlYXRlRGljdCgwLCBkb2MtPmRpY3QpOworICAgIH0KKyAgICBpZiAodGFibGUgPT0gTlVMTCkgeworCXhtbFZFcnJNZW1vcnkoY3R4dCwKKyAgICAgICAgICAgICJ4bWxBZGRSZWY6IFRhYmxlIGNyZWF0aW9uIGZhaWxlZCFcbiIpOworICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgfQorCisgICAgcmV0ID0gKHhtbFJlZlB0cikgeG1sTWFsbG9jKHNpemVvZih4bWxSZWYpKTsKKyAgICBpZiAocmV0ID09IE5VTEwpIHsKKwl4bWxWRXJyTWVtb3J5KGN0eHQsICJtYWxsb2MgZmFpbGVkIik7CisgICAgICAgIHJldHVybihOVUxMKTsKKyAgICB9CisKKyAgICAvKgorICAgICAqIGZpbGwgdGhlIHN0cnVjdHVyZS4KKyAgICAgKi8KKyAgICByZXQtPnZhbHVlID0geG1sU3RyZHVwKHZhbHVlKTsKKyAgICBpZiAoKGN0eHQgIT0gTlVMTCkgJiYgKGN0eHQtPnZzdGF0ZU5yICE9IDApKSB7CisJLyoKKwkgKiBPcGVyYXRpbmcgaW4gc3RyZWFtaW5nIG1vZGUsIGF0dHIgaXMgZ29ubmEgZGlzYXBlYXIKKwkgKi8KKwlyZXQtPm5hbWUgPSB4bWxTdHJkdXAoYXR0ci0+bmFtZSk7CisJcmV0LT5hdHRyID0gTlVMTDsKKyAgICB9IGVsc2UgeworCXJldC0+bmFtZSA9IE5VTEw7CisJcmV0LT5hdHRyID0gYXR0cjsKKyAgICB9CisgICAgcmV0LT5saW5lbm8gPSB4bWxHZXRMaW5lTm8oYXR0ci0+cGFyZW50KTsKKworICAgIC8qIFRvIGFkZCBhIHJlZmVyZW5jZSA6LQorICAgICAqIFJlZmVyZW5jZXMgYXJlIG1haW50YWluZWQgYXMgYSBsaXN0IG9mIHJlZmVyZW5jZXMsCisgICAgICogTG9va3VwIHRoZSBlbnRyeSwgaWYgbm8gZW50cnkgY3JlYXRlIG5ldyBub2RlbGlzdAorICAgICAqIEFkZCB0aGUgb3duaW5nIG5vZGUgdG8gdGhlIE5vZGVMaXN0CisgICAgICogUmV0dXJuIHRoZSByZWYKKyAgICAgKi8KKworICAgIGlmIChOVUxMID09IChyZWZfbGlzdCA9IHhtbEhhc2hMb29rdXAodGFibGUsIHZhbHVlKSkpIHsKKyAgICAgICAgaWYgKE5VTEwgPT0gKHJlZl9saXN0ID0geG1sTGlzdENyZWF0ZSh4bWxGcmVlUmVmLCB4bWxEdW1teUNvbXBhcmUpKSkgeworCSAgICB4bWxFcnJWYWxpZChOVUxMLCBYTUxfRVJSX0lOVEVSTkFMX0VSUk9SLAorCQkgICAgInhtbEFkZFJlZjogUmVmZXJlbmNlIGxpc3QgY3JlYXRpb24gZmFpbGVkIVxuIiwKKwkJICAgIE5VTEwpOworCSAgICBnb3RvIGZhaWxlZDsKKyAgICAgICAgfQorICAgICAgICBpZiAoeG1sSGFzaEFkZEVudHJ5KHRhYmxlLCB2YWx1ZSwgcmVmX2xpc3QpIDwgMCkgeworICAgICAgICAgICAgeG1sTGlzdERlbGV0ZShyZWZfbGlzdCk7CisJICAgIHhtbEVyclZhbGlkKE5VTEwsIFhNTF9FUlJfSU5URVJOQUxfRVJST1IsCisJCSAgICAieG1sQWRkUmVmOiBSZWZlcmVuY2UgbGlzdCBpbnNlcnRpb24gZmFpbGVkIVxuIiwKKwkJICAgIE5VTEwpOworCSAgICBnb3RvIGZhaWxlZDsKKyAgICAgICAgfQorICAgIH0KKyAgICBpZiAoeG1sTGlzdEFwcGVuZChyZWZfbGlzdCwgcmV0KSAhPSAwKSB7CisJeG1sRXJyVmFsaWQoTlVMTCwgWE1MX0VSUl9JTlRFUk5BTF9FUlJPUiwKKwkJICAgICJ4bWxBZGRSZWY6IFJlZmVyZW5jZSBsaXN0IGluc2VydGlvbiBmYWlsZWQhXG4iLAorCQkgICAgTlVMTCk7CisgICAgICAgIGdvdG8gZmFpbGVkOworICAgIH0KKyAgICByZXR1cm4ocmV0KTsKK2ZhaWxlZDoKKyAgICBpZiAocmV0ICE9IE5VTEwpIHsKKyAgICAgICAgaWYgKHJldC0+dmFsdWUgIT0gTlVMTCkKKwkgICAgeG1sRnJlZSgoY2hhciAqKXJldC0+dmFsdWUpOworICAgICAgICBpZiAocmV0LT5uYW1lICE9IE5VTEwpCisJICAgIHhtbEZyZWUoKGNoYXIgKilyZXQtPm5hbWUpOworICAgICAgICB4bWxGcmVlKHJldCk7CisgICAgfQorICAgIHJldHVybihOVUxMKTsKK30KKworLyoqCisgKiB4bWxGcmVlUmVmVGFibGU6CisgKiBAdGFibGU6ICBBbiByZWYgdGFibGUKKyAqCisgKiBEZWFsbG9jYXRlIHRoZSBtZW1vcnkgdXNlZCBieSBhbiBSZWYgaGFzaCB0YWJsZS4KKyAqLwordm9pZAoreG1sRnJlZVJlZlRhYmxlKHhtbFJlZlRhYmxlUHRyIHRhYmxlKSB7CisgICAgeG1sSGFzaEZyZWUodGFibGUsICh4bWxIYXNoRGVhbGxvY2F0b3IpIHhtbEZyZWVSZWZMaXN0KTsKK30KKworLyoqCisgKiB4bWxJc1JlZjoKKyAqIEBkb2M6ICB0aGUgZG9jdW1lbnQKKyAqIEBlbGVtOiAgdGhlIGVsZW1lbnQgY2FycnlpbmcgdGhlIGF0dHJpYnV0ZQorICogQGF0dHI6ICB0aGUgYXR0cmlidXRlCisgKgorICogRGV0ZXJtaW5lIHdoZXRoZXIgYW4gYXR0cmlidXRlIGlzIG9mIHR5cGUgUmVmLiBJbiBjYXNlIHdlIGhhdmUgRFREKHMpCisgKiB0aGVuIHRoaXMgaXMgc2ltcGxlLCBvdGhlcndpc2Ugd2UgdXNlIGFuIGhldXJpc3RpYzogbmFtZSBSZWYgKHVwcGVyCisgKiBvciBsb3dlcmNhc2UpLgorICoKKyAqIFJldHVybnMgMCBvciAxIGRlcGVuZGluZyBvbiB0aGUgbG9va3VwIHJlc3VsdAorICovCitpbnQKK3htbElzUmVmKHhtbERvY1B0ciBkb2MsIHhtbE5vZGVQdHIgZWxlbSwgeG1sQXR0clB0ciBhdHRyKSB7CisgICAgaWYgKGF0dHIgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuKDApOworICAgIGlmIChkb2MgPT0gTlVMTCkgeworICAgICAgICBkb2MgPSBhdHRyLT5kb2M7CisJaWYgKGRvYyA9PSBOVUxMKSByZXR1cm4oMCk7CisgICAgfQorCisgICAgaWYgKChkb2MtPmludFN1YnNldCA9PSBOVUxMKSAmJiAoZG9jLT5leHRTdWJzZXQgPT0gTlVMTCkpIHsKKyAgICAgICAgcmV0dXJuKDApOworICAgIH0gZWxzZSBpZiAoZG9jLT50eXBlID09IFhNTF9IVE1MX0RPQ1VNRU5UX05PREUpIHsKKyAgICAgICAgLyogVE9ETyBAQEAgKi8KKyAgICAgICAgcmV0dXJuKDApOworICAgIH0gZWxzZSB7CisgICAgICAgIHhtbEF0dHJpYnV0ZVB0ciBhdHRyRGVjbDsKKworICAgICAgICBpZiAoZWxlbSA9PSBOVUxMKSByZXR1cm4oMCk7CisgICAgICAgIGF0dHJEZWNsID0geG1sR2V0RHRkQXR0ckRlc2MoZG9jLT5pbnRTdWJzZXQsIGVsZW0tPm5hbWUsIGF0dHItPm5hbWUpOworICAgICAgICBpZiAoKGF0dHJEZWNsID09IE5VTEwpICYmIChkb2MtPmV4dFN1YnNldCAhPSBOVUxMKSkKKyAgICAgICAgICAgIGF0dHJEZWNsID0geG1sR2V0RHRkQXR0ckRlc2MoZG9jLT5leHRTdWJzZXQsCisJCSAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtLT5uYW1lLCBhdHRyLT5uYW1lKTsKKworCWlmICgoYXR0ckRlY2wgIT0gTlVMTCkgJiYKKwkgICAgKGF0dHJEZWNsLT5hdHlwZSA9PSBYTUxfQVRUUklCVVRFX0lEUkVGIHx8CisJICAgICBhdHRyRGVjbC0+YXR5cGUgPT0gWE1MX0FUVFJJQlVURV9JRFJFRlMpKQorCXJldHVybigxKTsKKyAgICB9CisgICAgcmV0dXJuKDApOworfQorCisvKioKKyAqIHhtbFJlbW92ZVJlZjoKKyAqIEBkb2M6ICB0aGUgZG9jdW1lbnQKKyAqIEBhdHRyOiAgdGhlIGF0dHJpYnV0ZQorICoKKyAqIFJlbW92ZSB0aGUgZ2l2ZW4gYXR0cmlidXRlIGZyb20gdGhlIFJlZiB0YWJsZSBtYWludGFpbmVkIGludGVybmFsbHkuCisgKgorICogUmV0dXJucyAtMSBpZiB0aGUgbG9va3VwIGZhaWxlZCBhbmQgMCBvdGhlcndpc2UKKyAqLworaW50Cit4bWxSZW1vdmVSZWYoeG1sRG9jUHRyIGRvYywgeG1sQXR0clB0ciBhdHRyKSB7CisgICAgeG1sTGlzdFB0ciByZWZfbGlzdDsKKyAgICB4bWxSZWZUYWJsZVB0ciB0YWJsZTsKKyAgICB4bWxDaGFyICpJRDsKKyAgICB4bWxSZW1vdmVNZW1vIHRhcmdldDsKKworICAgIGlmIChkb2MgPT0gTlVMTCkgcmV0dXJuKC0xKTsKKyAgICBpZiAoYXR0ciA9PSBOVUxMKSByZXR1cm4oLTEpOworCisgICAgdGFibGUgPSAoeG1sUmVmVGFibGVQdHIpIGRvYy0+cmVmczsKKyAgICBpZiAodGFibGUgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuKC0xKTsKKworICAgIElEID0geG1sTm9kZUxpc3RHZXRTdHJpbmcoZG9jLCBhdHRyLT5jaGlsZHJlbiwgMSk7CisgICAgaWYgKElEID09IE5VTEwpCisgICAgICAgIHJldHVybigtMSk7CisKKyAgICByZWZfbGlzdCA9IHhtbEhhc2hMb29rdXAodGFibGUsIElEKTsKKyAgICBpZihyZWZfbGlzdCA9PSBOVUxMKSB7CisgICAgICAgIHhtbEZyZWUoSUQpOworICAgICAgICByZXR1cm4gKC0xKTsKKyAgICB9CisKKyAgICAvKiBBdCB0aGlzIHBvaW50LCByZWZfbGlzdCByZWZlcnMgdG8gYSBsaXN0IG9mIHJlZmVyZW5jZXMgd2hpY2gKKyAgICAgKiBoYXZlIHRoZSBzYW1lIGtleSBhcyB0aGUgc3VwcGxpZWQgYXR0ci4gT3VyIGxpc3Qgb2YgcmVmZXJlbmNlcworICAgICAqIGlzIG9yZGVyZWQgYnkgcmVmZXJlbmNlIGFkZHJlc3MgYW5kIHdlIGRvbid0IGhhdmUgdGhhdCBpbmZvcm1hdGlvbgorICAgICAqIGhlcmUgdG8gdXNlIHdoZW4gcmVtb3ZpbmcuIFdlJ2xsIGhhdmUgdG8gd2FsayB0aGUgbGlzdCBhbmQKKyAgICAgKiBjaGVjayBmb3IgYSBtYXRjaGluZyBhdHRyaWJ1dGUsIHdoZW4gd2UgZmluZCBvbmUgc3RvcCB0aGUgd2FsaworICAgICAqIGFuZCByZW1vdmUgdGhlIGVudHJ5LgorICAgICAqIFRoZSBsaXN0IGlzIG9yZGVyZWQgYnkgcmVmZXJlbmNlLCBzbyB0aGF0IG1lYW5zIHdlIGRvbid0IGhhdmUgdGhlCisgICAgICoga2V5LiBQYXNzaW5nIHRoZSBsaXN0IGFuZCB0aGUgcmVmZXJlbmNlIHRvIHRoZSB3YWxrZXIgbWVhbnMgd2UKKyAgICAgKiB3aWxsIGhhdmUgZW5vdWdoIGRhdGEgdG8gYmUgYWJsZSB0byByZW1vdmUgdGhlIGVudHJ5LgorICAgICAqLworICAgIHRhcmdldC5sID0gcmVmX2xpc3Q7CisgICAgdGFyZ2V0LmFwID0gYXR0cjsKKworICAgIC8qIFJlbW92ZSB0aGUgc3VwcGxpZWQgYXR0ciBmcm9tIG91ciBsaXN0ICovCisgICAgeG1sTGlzdFdhbGsocmVmX2xpc3QsIHhtbFdhbGtSZW1vdmVSZWYsICZ0YXJnZXQpOworCisgICAgLypJZiB0aGUgbGlzdCBpcyBlbXB0eSB0aGVuIHJlbW92ZSB0aGUgbGlzdCBlbnRyeSBpbiB0aGUgaGFzaCAqLworICAgIGlmICh4bWxMaXN0RW1wdHkocmVmX2xpc3QpKQorICAgICAgICB4bWxIYXNoVXBkYXRlRW50cnkodGFibGUsIElELCBOVUxMLCAoeG1sSGFzaERlYWxsb2NhdG9yKQorICAgICAgICB4bWxGcmVlUmVmTGlzdCk7CisgICAgeG1sRnJlZShJRCk7CisgICAgcmV0dXJuKDApOworfQorCisvKioKKyAqIHhtbEdldFJlZnM6CisgKiBAZG9jOiAgcG9pbnRlciB0byB0aGUgZG9jdW1lbnQKKyAqIEBJRDogIHRoZSBJRCB2YWx1ZQorICoKKyAqIEZpbmQgdGhlIHNldCBvZiByZWZlcmVuY2VzIGZvciB0aGUgc3VwcGxpZWQgSUQuCisgKgorICogUmV0dXJucyBOVUxMIGlmIG5vdCBmb3VuZCwgb3RoZXJ3aXNlIG5vZGUgc2V0IGZvciB0aGUgSUQuCisgKi8KK3htbExpc3RQdHIKK3htbEdldFJlZnMoeG1sRG9jUHRyIGRvYywgY29uc3QgeG1sQ2hhciAqSUQpIHsKKyAgICB4bWxSZWZUYWJsZVB0ciB0YWJsZTsKKworICAgIGlmIChkb2MgPT0gTlVMTCkgeworICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgfQorCisgICAgaWYgKElEID09IE5VTEwpIHsKKyAgICAgICAgcmV0dXJuKE5VTEwpOworICAgIH0KKworICAgIHRhYmxlID0gKHhtbFJlZlRhYmxlUHRyKSBkb2MtPnJlZnM7CisgICAgaWYgKHRhYmxlID09IE5VTEwpCisgICAgICAgIHJldHVybihOVUxMKTsKKworICAgIHJldHVybiAoeG1sSGFzaExvb2t1cCh0YWJsZSwgSUQpKTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJUm91dGluZXMgZm9yIHZhbGlkaXR5IGNoZWNraW5nCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqCisgKiB4bWxHZXREdGRFbGVtZW50RGVzYzoKKyAqIEBkdGQ6ICBhIHBvaW50ZXIgdG8gdGhlIER0RCB0byBzZWFyY2gKKyAqIEBuYW1lOiAgdGhlIGVsZW1lbnQgbmFtZQorICoKKyAqIFNlYXJjaCB0aGUgRFREIGZvciB0aGUgZGVzY3JpcHRpb24gb2YgdGhpcyBlbGVtZW50CisgKgorICogcmV0dXJucyB0aGUgeG1sRWxlbWVudFB0ciBpZiBmb3VuZCBvciBOVUxMCisgKi8KKworeG1sRWxlbWVudFB0cgoreG1sR2V0RHRkRWxlbWVudERlc2MoeG1sRHRkUHRyIGR0ZCwgY29uc3QgeG1sQ2hhciAqbmFtZSkgeworICAgIHhtbEVsZW1lbnRUYWJsZVB0ciB0YWJsZTsKKyAgICB4bWxFbGVtZW50UHRyIGN1cjsKKyAgICB4bWxDaGFyICp1cW5hbWUgPSBOVUxMLCAqcHJlZml4ID0gTlVMTDsKKworICAgIGlmICgoZHRkID09IE5VTEwpIHx8IChuYW1lID09IE5VTEwpKSByZXR1cm4oTlVMTCk7CisgICAgaWYgKGR0ZC0+ZWxlbWVudHMgPT0gTlVMTCkKKwlyZXR1cm4oTlVMTCk7CisgICAgdGFibGUgPSAoeG1sRWxlbWVudFRhYmxlUHRyKSBkdGQtPmVsZW1lbnRzOworCisgICAgdXFuYW1lID0geG1sU3BsaXRRTmFtZTIobmFtZSwgJnByZWZpeCk7CisgICAgaWYgKHVxbmFtZSAhPSBOVUxMKQorICAgICAgICBuYW1lID0gdXFuYW1lOworICAgIGN1ciA9IHhtbEhhc2hMb29rdXAyKHRhYmxlLCBuYW1lLCBwcmVmaXgpOworICAgIGlmIChwcmVmaXggIT0gTlVMTCkgeG1sRnJlZShwcmVmaXgpOworICAgIGlmICh1cW5hbWUgIT0gTlVMTCkgeG1sRnJlZSh1cW5hbWUpOworICAgIHJldHVybihjdXIpOworfQorLyoqCisgKiB4bWxHZXREdGRFbGVtZW50RGVzYzI6CisgKiBAZHRkOiAgYSBwb2ludGVyIHRvIHRoZSBEdEQgdG8gc2VhcmNoCisgKiBAbmFtZTogIHRoZSBlbGVtZW50IG5hbWUKKyAqIEBjcmVhdGU6ICBjcmVhdGUgYW4gZW1wdHkgZGVzY3JpcHRpb24gaWYgbm90IGZvdW5kCisgKgorICogU2VhcmNoIHRoZSBEVEQgZm9yIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGlzIGVsZW1lbnQKKyAqCisgKiByZXR1cm5zIHRoZSB4bWxFbGVtZW50UHRyIGlmIGZvdW5kIG9yIE5VTEwKKyAqLworCitzdGF0aWMgeG1sRWxlbWVudFB0cgoreG1sR2V0RHRkRWxlbWVudERlc2MyKHhtbER0ZFB0ciBkdGQsIGNvbnN0IHhtbENoYXIgKm5hbWUsIGludCBjcmVhdGUpIHsKKyAgICB4bWxFbGVtZW50VGFibGVQdHIgdGFibGU7CisgICAgeG1sRWxlbWVudFB0ciBjdXI7CisgICAgeG1sQ2hhciAqdXFuYW1lID0gTlVMTCwgKnByZWZpeCA9IE5VTEw7CisKKyAgICBpZiAoZHRkID09IE5VTEwpIHJldHVybihOVUxMKTsKKyAgICBpZiAoZHRkLT5lbGVtZW50cyA9PSBOVUxMKSB7CisJeG1sRGljdFB0ciBkaWN0ID0gTlVMTDsKKworCWlmIChkdGQtPmRvYyAhPSBOVUxMKQorCSAgICBkaWN0ID0gZHRkLT5kb2MtPmRpY3Q7CisKKwlpZiAoIWNyZWF0ZSkKKwkgICAgcmV0dXJuKE5VTEwpOworCS8qCisJICogQ3JlYXRlIHRoZSBFbGVtZW50IHRhYmxlIGlmIG5lZWRlZC4KKwkgKi8KKwl0YWJsZSA9ICh4bWxFbGVtZW50VGFibGVQdHIpIGR0ZC0+ZWxlbWVudHM7CisJaWYgKHRhYmxlID09IE5VTEwpIHsKKwkgICAgdGFibGUgPSB4bWxIYXNoQ3JlYXRlRGljdCgwLCBkaWN0KTsKKwkgICAgZHRkLT5lbGVtZW50cyA9ICh2b2lkICopIHRhYmxlOworCX0KKwlpZiAodGFibGUgPT0gTlVMTCkgeworCSAgICB4bWxWRXJyTWVtb3J5KE5VTEwsICJlbGVtZW50IHRhYmxlIGFsbG9jYXRpb24gZmFpbGVkIik7CisJICAgIHJldHVybihOVUxMKTsKKwl9CisgICAgfQorICAgIHRhYmxlID0gKHhtbEVsZW1lbnRUYWJsZVB0cikgZHRkLT5lbGVtZW50czsKKworICAgIHVxbmFtZSA9IHhtbFNwbGl0UU5hbWUyKG5hbWUsICZwcmVmaXgpOworICAgIGlmICh1cW5hbWUgIT0gTlVMTCkKKyAgICAgICAgbmFtZSA9IHVxbmFtZTsKKyAgICBjdXIgPSB4bWxIYXNoTG9va3VwMih0YWJsZSwgbmFtZSwgcHJlZml4KTsKKyAgICBpZiAoKGN1ciA9PSBOVUxMKSAmJiAoY3JlYXRlKSkgeworCWN1ciA9ICh4bWxFbGVtZW50UHRyKSB4bWxNYWxsb2Moc2l6ZW9mKHhtbEVsZW1lbnQpKTsKKwlpZiAoY3VyID09IE5VTEwpIHsKKwkgICAgeG1sVkVyck1lbW9yeShOVUxMLCAibWFsbG9jIGZhaWxlZCIpOworCSAgICByZXR1cm4oTlVMTCk7CisJfQorCW1lbXNldChjdXIsIDAsIHNpemVvZih4bWxFbGVtZW50KSk7CisJY3VyLT50eXBlID0gWE1MX0VMRU1FTlRfREVDTDsKKworCS8qCisJICogZmlsbCB0aGUgc3RydWN0dXJlLgorCSAqLworCWN1ci0+bmFtZSA9IHhtbFN0cmR1cChuYW1lKTsKKwljdXItPnByZWZpeCA9IHhtbFN0cmR1cChwcmVmaXgpOworCWN1ci0+ZXR5cGUgPSBYTUxfRUxFTUVOVF9UWVBFX1VOREVGSU5FRDsKKworCXhtbEhhc2hBZGRFbnRyeTIodGFibGUsIG5hbWUsIHByZWZpeCwgY3VyKTsKKyAgICB9CisgICAgaWYgKHByZWZpeCAhPSBOVUxMKSB4bWxGcmVlKHByZWZpeCk7CisgICAgaWYgKHVxbmFtZSAhPSBOVUxMKSB4bWxGcmVlKHVxbmFtZSk7CisgICAgcmV0dXJuKGN1cik7Cit9CisKKy8qKgorICogeG1sR2V0RHRkUUVsZW1lbnREZXNjOgorICogQGR0ZDogIGEgcG9pbnRlciB0byB0aGUgRHREIHRvIHNlYXJjaAorICogQG5hbWU6ICB0aGUgZWxlbWVudCBuYW1lCisgKiBAcHJlZml4OiAgdGhlIGVsZW1lbnQgbmFtZXNwYWNlIHByZWZpeAorICoKKyAqIFNlYXJjaCB0aGUgRFREIGZvciB0aGUgZGVzY3JpcHRpb24gb2YgdGhpcyBlbGVtZW50CisgKgorICogcmV0dXJucyB0aGUgeG1sRWxlbWVudFB0ciBpZiBmb3VuZCBvciBOVUxMCisgKi8KKworeG1sRWxlbWVudFB0cgoreG1sR2V0RHRkUUVsZW1lbnREZXNjKHhtbER0ZFB0ciBkdGQsIGNvbnN0IHhtbENoYXIgKm5hbWUsCisJICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICpwcmVmaXgpIHsKKyAgICB4bWxFbGVtZW50VGFibGVQdHIgdGFibGU7CisKKyAgICBpZiAoZHRkID09IE5VTEwpIHJldHVybihOVUxMKTsKKyAgICBpZiAoZHRkLT5lbGVtZW50cyA9PSBOVUxMKSByZXR1cm4oTlVMTCk7CisgICAgdGFibGUgPSAoeG1sRWxlbWVudFRhYmxlUHRyKSBkdGQtPmVsZW1lbnRzOworCisgICAgcmV0dXJuKHhtbEhhc2hMb29rdXAyKHRhYmxlLCBuYW1lLCBwcmVmaXgpKTsKK30KKworLyoqCisgKiB4bWxHZXREdGRBdHRyRGVzYzoKKyAqIEBkdGQ6ICBhIHBvaW50ZXIgdG8gdGhlIER0RCB0byBzZWFyY2gKKyAqIEBlbGVtOiAgdGhlIGVsZW1lbnQgbmFtZQorICogQG5hbWU6ICB0aGUgYXR0cmlidXRlIG5hbWUKKyAqCisgKiBTZWFyY2ggdGhlIERURCBmb3IgdGhlIGRlc2NyaXB0aW9uIG9mIHRoaXMgYXR0cmlidXRlIG9uCisgKiB0aGlzIGVsZW1lbnQuCisgKgorICogcmV0dXJucyB0aGUgeG1sQXR0cmlidXRlUHRyIGlmIGZvdW5kIG9yIE5VTEwKKyAqLworCit4bWxBdHRyaWJ1dGVQdHIKK3htbEdldER0ZEF0dHJEZXNjKHhtbER0ZFB0ciBkdGQsIGNvbnN0IHhtbENoYXIgKmVsZW0sIGNvbnN0IHhtbENoYXIgKm5hbWUpIHsKKyAgICB4bWxBdHRyaWJ1dGVUYWJsZVB0ciB0YWJsZTsKKyAgICB4bWxBdHRyaWJ1dGVQdHIgY3VyOworICAgIHhtbENoYXIgKnVxbmFtZSA9IE5VTEwsICpwcmVmaXggPSBOVUxMOworCisgICAgaWYgKGR0ZCA9PSBOVUxMKSByZXR1cm4oTlVMTCk7CisgICAgaWYgKGR0ZC0+YXR0cmlidXRlcyA9PSBOVUxMKSByZXR1cm4oTlVMTCk7CisKKyAgICB0YWJsZSA9ICh4bWxBdHRyaWJ1dGVUYWJsZVB0cikgZHRkLT5hdHRyaWJ1dGVzOworICAgIGlmICh0YWJsZSA9PSBOVUxMKQorCXJldHVybihOVUxMKTsKKworICAgIHVxbmFtZSA9IHhtbFNwbGl0UU5hbWUyKG5hbWUsICZwcmVmaXgpOworCisgICAgaWYgKHVxbmFtZSAhPSBOVUxMKSB7CisJY3VyID0geG1sSGFzaExvb2t1cDModGFibGUsIHVxbmFtZSwgcHJlZml4LCBlbGVtKTsKKwlpZiAocHJlZml4ICE9IE5VTEwpIHhtbEZyZWUocHJlZml4KTsKKwlpZiAodXFuYW1lICE9IE5VTEwpIHhtbEZyZWUodXFuYW1lKTsKKyAgICB9IGVsc2UKKwljdXIgPSB4bWxIYXNoTG9va3VwMyh0YWJsZSwgbmFtZSwgTlVMTCwgZWxlbSk7CisgICAgcmV0dXJuKGN1cik7Cit9CisKKy8qKgorICogeG1sR2V0RHRkUUF0dHJEZXNjOgorICogQGR0ZDogIGEgcG9pbnRlciB0byB0aGUgRHREIHRvIHNlYXJjaAorICogQGVsZW06ICB0aGUgZWxlbWVudCBuYW1lCisgKiBAbmFtZTogIHRoZSBhdHRyaWJ1dGUgbmFtZQorICogQHByZWZpeDogIHRoZSBhdHRyaWJ1dGUgbmFtZXNwYWNlIHByZWZpeAorICoKKyAqIFNlYXJjaCB0aGUgRFREIGZvciB0aGUgZGVzY3JpcHRpb24gb2YgdGhpcyBxdWFsaWZpZWQgYXR0cmlidXRlIG9uCisgKiB0aGlzIGVsZW1lbnQuCisgKgorICogcmV0dXJucyB0aGUgeG1sQXR0cmlidXRlUHRyIGlmIGZvdW5kIG9yIE5VTEwKKyAqLworCit4bWxBdHRyaWJ1dGVQdHIKK3htbEdldER0ZFFBdHRyRGVzYyh4bWxEdGRQdHIgZHRkLCBjb25zdCB4bWxDaGFyICplbGVtLCBjb25zdCB4bWxDaGFyICpuYW1lLAorCSAgICAgICAgICBjb25zdCB4bWxDaGFyICpwcmVmaXgpIHsKKyAgICB4bWxBdHRyaWJ1dGVUYWJsZVB0ciB0YWJsZTsKKworICAgIGlmIChkdGQgPT0gTlVMTCkgcmV0dXJuKE5VTEwpOworICAgIGlmIChkdGQtPmF0dHJpYnV0ZXMgPT0gTlVMTCkgcmV0dXJuKE5VTEwpOworICAgIHRhYmxlID0gKHhtbEF0dHJpYnV0ZVRhYmxlUHRyKSBkdGQtPmF0dHJpYnV0ZXM7CisKKyAgICByZXR1cm4oeG1sSGFzaExvb2t1cDModGFibGUsIG5hbWUsIHByZWZpeCwgZWxlbSkpOworfQorCisvKioKKyAqIHhtbEdldER0ZE5vdGF0aW9uRGVzYzoKKyAqIEBkdGQ6ICBhIHBvaW50ZXIgdG8gdGhlIER0RCB0byBzZWFyY2gKKyAqIEBuYW1lOiAgdGhlIG5vdGF0aW9uIG5hbWUKKyAqCisgKiBTZWFyY2ggdGhlIERURCBmb3IgdGhlIGRlc2NyaXB0aW9uIG9mIHRoaXMgbm90YXRpb24KKyAqCisgKiByZXR1cm5zIHRoZSB4bWxOb3RhdGlvblB0ciBpZiBmb3VuZCBvciBOVUxMCisgKi8KKworeG1sTm90YXRpb25QdHIKK3htbEdldER0ZE5vdGF0aW9uRGVzYyh4bWxEdGRQdHIgZHRkLCBjb25zdCB4bWxDaGFyICpuYW1lKSB7CisgICAgeG1sTm90YXRpb25UYWJsZVB0ciB0YWJsZTsKKworICAgIGlmIChkdGQgPT0gTlVMTCkgcmV0dXJuKE5VTEwpOworICAgIGlmIChkdGQtPm5vdGF0aW9ucyA9PSBOVUxMKSByZXR1cm4oTlVMTCk7CisgICAgdGFibGUgPSAoeG1sTm90YXRpb25UYWJsZVB0cikgZHRkLT5ub3RhdGlvbnM7CisKKyAgICByZXR1cm4oeG1sSGFzaExvb2t1cCh0YWJsZSwgbmFtZSkpOworfQorCisjaWYgZGVmaW5lZChMSUJYTUxfVkFMSURfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfU0NIRU1BU19FTkFCTEVEKQorLyoqCisgKiB4bWxWYWxpZGF0ZU5vdGF0aW9uVXNlOgorICogQGN0eHQ6ICB0aGUgdmFsaWRhdGlvbiBjb250ZXh0CisgKiBAZG9jOiAgdGhlIGRvY3VtZW50CisgKiBAbm90YXRpb25OYW1lOiAgdGhlIG5vdGF0aW9uIG5hbWUgdG8gY2hlY2sKKyAqCisgKiBWYWxpZGF0ZSB0aGF0IHRoZSBnaXZlbiBuYW1lIG1hdGNoIGEgbm90YXRpb24gZGVjbGFyYXRpb24uCisgKiAtIFsgVkM6IE5vdGF0aW9uIERlY2xhcmVkIF0KKyAqCisgKiByZXR1cm5zIDEgaWYgdmFsaWQgb3IgMCBvdGhlcndpc2UKKyAqLworCitpbnQKK3htbFZhbGlkYXRlTm90YXRpb25Vc2UoeG1sVmFsaWRDdHh0UHRyIGN0eHQsIHhtbERvY1B0ciBkb2MsCisgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKm5vdGF0aW9uTmFtZSkgeworICAgIHhtbE5vdGF0aW9uUHRyIG5vdGFEZWNsOworICAgIGlmICgoZG9jID09IE5VTEwpIHx8IChkb2MtPmludFN1YnNldCA9PSBOVUxMKSB8fAorICAgICAgICAobm90YXRpb25OYW1lID09IE5VTEwpKSByZXR1cm4oLTEpOworCisgICAgbm90YURlY2wgPSB4bWxHZXREdGROb3RhdGlvbkRlc2MoZG9jLT5pbnRTdWJzZXQsIG5vdGF0aW9uTmFtZSk7CisgICAgaWYgKChub3RhRGVjbCA9PSBOVUxMKSAmJiAoZG9jLT5leHRTdWJzZXQgIT0gTlVMTCkpCisJbm90YURlY2wgPSB4bWxHZXREdGROb3RhdGlvbkRlc2MoZG9jLT5leHRTdWJzZXQsIG5vdGF0aW9uTmFtZSk7CisKKyAgICBpZiAoKG5vdGFEZWNsID09IE5VTEwpICYmIChjdHh0ICE9IE5VTEwpKSB7CisJeG1sRXJyVmFsaWROb2RlKGN0eHQsICh4bWxOb2RlUHRyKSBkb2MsIFhNTF9EVERfVU5LTk9XTl9OT1RBVElPTiwKKwkgICAgICAgICAgICAgICAgIk5PVEFUSU9OICVzIGlzIG5vdCBkZWNsYXJlZFxuIiwKKwkJICAgICAgICBub3RhdGlvbk5hbWUsIE5VTEwsIE5VTEwpOworCXJldHVybigwKTsKKyAgICB9CisgICAgcmV0dXJuKDEpOworfQorI2VuZGlmIC8qIExJQlhNTF9WQUxJRF9FTkFCTEVEIG9yIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQgKi8KKworLyoqCisgKiB4bWxJc01peGVkRWxlbWVudDoKKyAqIEBkb2M6ICB0aGUgZG9jdW1lbnQKKyAqIEBuYW1lOiAgdGhlIGVsZW1lbnQgbmFtZQorICoKKyAqIFNlYXJjaCBpbiB0aGUgRHREcyB3aGV0aGVyIGFuIGVsZW1lbnQgYWNjZXB0IE1peGVkIGNvbnRlbnQgKG9yIEFOWSkKKyAqIGJhc2ljYWxseSBpZiBpdCBpcyBzdXBwb3NlZCB0byBhY2NlcHQgdGV4dCBjaGlsZHMKKyAqCisgKiByZXR1cm5zIDAgaWYgbm8sIDEgaWYgeWVzLCBhbmQgLTEgaWYgbm8gZWxlbWVudCBkZXNjcmlwdGlvbiBpcyBhdmFpbGFibGUKKyAqLworCitpbnQKK3htbElzTWl4ZWRFbGVtZW50KHhtbERvY1B0ciBkb2MsIGNvbnN0IHhtbENoYXIgKm5hbWUpIHsKKyAgICB4bWxFbGVtZW50UHRyIGVsZW1EZWNsOworCisgICAgaWYgKChkb2MgPT0gTlVMTCkgfHwgKGRvYy0+aW50U3Vic2V0ID09IE5VTEwpKSByZXR1cm4oLTEpOworCisgICAgZWxlbURlY2wgPSB4bWxHZXREdGRFbGVtZW50RGVzYyhkb2MtPmludFN1YnNldCwgbmFtZSk7CisgICAgaWYgKChlbGVtRGVjbCA9PSBOVUxMKSAmJiAoZG9jLT5leHRTdWJzZXQgIT0gTlVMTCkpCisJZWxlbURlY2wgPSB4bWxHZXREdGRFbGVtZW50RGVzYyhkb2MtPmV4dFN1YnNldCwgbmFtZSk7CisgICAgaWYgKGVsZW1EZWNsID09IE5VTEwpIHJldHVybigtMSk7CisgICAgc3dpdGNoIChlbGVtRGVjbC0+ZXR5cGUpIHsKKwljYXNlIFhNTF9FTEVNRU5UX1RZUEVfVU5ERUZJTkVEOgorCSAgICByZXR1cm4oLTEpOworCWNhc2UgWE1MX0VMRU1FTlRfVFlQRV9FTEVNRU5UOgorCSAgICByZXR1cm4oMCk7CisgICAgICAgIGNhc2UgWE1MX0VMRU1FTlRfVFlQRV9FTVBUWToKKwkgICAgLyoKKwkgICAgICogcmV0dXJuIDEgZm9yIEVNUFRZIHNpbmNlIHdlIHdhbnQgVkMgZXJyb3IgdG8gcG9wIHVwCisJICAgICAqIG9uIDxlbXB0eT4gICAgIDwvZW1wdHk+IGZvciBleGFtcGxlCisJICAgICAqLworCWNhc2UgWE1MX0VMRU1FTlRfVFlQRV9BTlk6CisJY2FzZSBYTUxfRUxFTUVOVF9UWVBFX01JWEVEOgorCSAgICByZXR1cm4oMSk7CisgICAgfQorICAgIHJldHVybigxKTsKK30KKworI2lmZGVmIExJQlhNTF9WQUxJRF9FTkFCTEVECisKK3N0YXRpYyBpbnQKK3htbElzRG9jTmFtZVN0YXJ0Q2hhcih4bWxEb2NQdHIgZG9jLCBpbnQgYykgeworICAgIGlmICgoZG9jID09IE5VTEwpIHx8IChkb2MtPnByb3BlcnRpZXMgJiBYTUxfRE9DX09MRDEwKSA9PSAwKSB7CisgICAgICAgIC8qCisJICogVXNlIHRoZSBuZXcgY2hlY2tzIG9mIHByb2R1Y3Rpb24gWzRdIFs0YV0gYW1kIFs1XSBvZiB0aGUKKwkgKiBVcGRhdGUgNSBvZiBYTUwtMS4wCisJICovCisJaWYgKCgoYyA+PSAnYScpICYmIChjIDw9ICd6JykpIHx8CisJICAgICgoYyA+PSAnQScpICYmIChjIDw9ICdaJykpIHx8CisJICAgIChjID09ICdfJykgfHwgKGMgPT0gJzonKSB8fAorCSAgICAoKGMgPj0gMHhDMCkgJiYgKGMgPD0gMHhENikpIHx8CisJICAgICgoYyA+PSAweEQ4KSAmJiAoYyA8PSAweEY2KSkgfHwKKwkgICAgKChjID49IDB4RjgpICYmIChjIDw9IDB4MkZGKSkgfHwKKwkgICAgKChjID49IDB4MzcwKSAmJiAoYyA8PSAweDM3RCkpIHx8CisJICAgICgoYyA+PSAweDM3RikgJiYgKGMgPD0gMHgxRkZGKSkgfHwKKwkgICAgKChjID49IDB4MjAwQykgJiYgKGMgPD0gMHgyMDBEKSkgfHwKKwkgICAgKChjID49IDB4MjA3MCkgJiYgKGMgPD0gMHgyMThGKSkgfHwKKwkgICAgKChjID49IDB4MkMwMCkgJiYgKGMgPD0gMHgyRkVGKSkgfHwKKwkgICAgKChjID49IDB4MzAwMSkgJiYgKGMgPD0gMHhEN0ZGKSkgfHwKKwkgICAgKChjID49IDB4RjkwMCkgJiYgKGMgPD0gMHhGRENGKSkgfHwKKwkgICAgKChjID49IDB4RkRGMCkgJiYgKGMgPD0gMHhGRkZEKSkgfHwKKwkgICAgKChjID49IDB4MTAwMDApICYmIChjIDw9IDB4RUZGRkYpKSkKKwkgICAgcmV0dXJuKDEpOworICAgIH0gZWxzZSB7CisgICAgICAgIGlmIChJU19MRVRURVIoYykgfHwgKGMgPT0gJ18nKSB8fCAoYyA9PSAnOicpKQorCSAgICByZXR1cm4oMSk7CisgICAgfQorICAgIHJldHVybigwKTsKK30KKworc3RhdGljIGludAoreG1sSXNEb2NOYW1lQ2hhcih4bWxEb2NQdHIgZG9jLCBpbnQgYykgeworICAgIGlmICgoZG9jID09IE5VTEwpIHx8IChkb2MtPnByb3BlcnRpZXMgJiBYTUxfRE9DX09MRDEwKSA9PSAwKSB7CisgICAgICAgIC8qCisJICogVXNlIHRoZSBuZXcgY2hlY2tzIG9mIHByb2R1Y3Rpb24gWzRdIFs0YV0gYW1kIFs1XSBvZiB0aGUKKwkgKiBVcGRhdGUgNSBvZiBYTUwtMS4wCisJICovCisJaWYgKCgoYyA+PSAnYScpICYmIChjIDw9ICd6JykpIHx8CisJICAgICgoYyA+PSAnQScpICYmIChjIDw9ICdaJykpIHx8CisJICAgICgoYyA+PSAnMCcpICYmIChjIDw9ICc5JykpIHx8IC8qICFzdGFydCAqLworCSAgICAoYyA9PSAnXycpIHx8IChjID09ICc6JykgfHwKKwkgICAgKGMgPT0gJy0nKSB8fCAoYyA9PSAnLicpIHx8IChjID09IDB4QjcpIHx8IC8qICFzdGFydCAqLworCSAgICAoKGMgPj0gMHhDMCkgJiYgKGMgPD0gMHhENikpIHx8CisJICAgICgoYyA+PSAweEQ4KSAmJiAoYyA8PSAweEY2KSkgfHwKKwkgICAgKChjID49IDB4RjgpICYmIChjIDw9IDB4MkZGKSkgfHwKKwkgICAgKChjID49IDB4MzAwKSAmJiAoYyA8PSAweDM2RikpIHx8IC8qICFzdGFydCAqLworCSAgICAoKGMgPj0gMHgzNzApICYmIChjIDw9IDB4MzdEKSkgfHwKKwkgICAgKChjID49IDB4MzdGKSAmJiAoYyA8PSAweDFGRkYpKSB8fAorCSAgICAoKGMgPj0gMHgyMDBDKSAmJiAoYyA8PSAweDIwMEQpKSB8fAorCSAgICAoKGMgPj0gMHgyMDNGKSAmJiAoYyA8PSAweDIwNDApKSB8fCAvKiAhc3RhcnQgKi8KKwkgICAgKChjID49IDB4MjA3MCkgJiYgKGMgPD0gMHgyMThGKSkgfHwKKwkgICAgKChjID49IDB4MkMwMCkgJiYgKGMgPD0gMHgyRkVGKSkgfHwKKwkgICAgKChjID49IDB4MzAwMSkgJiYgKGMgPD0gMHhEN0ZGKSkgfHwKKwkgICAgKChjID49IDB4RjkwMCkgJiYgKGMgPD0gMHhGRENGKSkgfHwKKwkgICAgKChjID49IDB4RkRGMCkgJiYgKGMgPD0gMHhGRkZEKSkgfHwKKwkgICAgKChjID49IDB4MTAwMDApICYmIChjIDw9IDB4RUZGRkYpKSkKKwkgICAgIHJldHVybigxKTsKKyAgICB9IGVsc2UgeworICAgICAgICBpZiAoKElTX0xFVFRFUihjKSkgfHwgKElTX0RJR0lUKGMpKSB8fAorICAgICAgICAgICAgKGMgPT0gJy4nKSB8fCAoYyA9PSAnLScpIHx8CisJICAgIChjID09ICdfJykgfHwgKGMgPT0gJzonKSB8fAorCSAgICAoSVNfQ09NQklOSU5HKGMpKSB8fAorCSAgICAoSVNfRVhURU5ERVIoYykpKQorCSAgICByZXR1cm4oMSk7CisgICAgfQorICAgIHJldHVybigwKTsKK30KKworLyoqCisgKiB4bWxWYWxpZGF0ZU5hbWVWYWx1ZToKKyAqIEBkb2M6ICBwb2ludGVyIHRvIHRoZSBkb2N1bWVudCBvciBOVUxMCisgKiBAdmFsdWU6ICBhbiBOYW1lIHZhbHVlCisgKgorICogVmFsaWRhdGUgdGhhdCB0aGUgZ2l2ZW4gdmFsdWUgbWF0Y2ggTmFtZSBwcm9kdWN0aW9uCisgKgorICogcmV0dXJucyAxIGlmIHZhbGlkIG9yIDAgb3RoZXJ3aXNlCisgKi8KKworc3RhdGljIGludAoreG1sVmFsaWRhdGVOYW1lVmFsdWVJbnRlcm5hbCh4bWxEb2NQdHIgZG9jLCBjb25zdCB4bWxDaGFyICp2YWx1ZSkgeworICAgIGNvbnN0IHhtbENoYXIgKmN1cjsKKyAgICBpbnQgdmFsLCBsZW47CisKKyAgICBpZiAodmFsdWUgPT0gTlVMTCkgcmV0dXJuKDApOworICAgIGN1ciA9IHZhbHVlOworICAgIHZhbCA9IHhtbFN0cmluZ0N1cnJlbnRDaGFyKE5VTEwsIGN1ciwgJmxlbik7CisgICAgY3VyICs9IGxlbjsKKyAgICBpZiAoIXhtbElzRG9jTmFtZVN0YXJ0Q2hhcihkb2MsIHZhbCkpCisJcmV0dXJuKDApOworCisgICAgdmFsID0geG1sU3RyaW5nQ3VycmVudENoYXIoTlVMTCwgY3VyLCAmbGVuKTsKKyAgICBjdXIgKz0gbGVuOworICAgIHdoaWxlICh4bWxJc0RvY05hbWVDaGFyKGRvYywgdmFsKSkgeworCXZhbCA9IHhtbFN0cmluZ0N1cnJlbnRDaGFyKE5VTEwsIGN1ciwgJmxlbik7CisJY3VyICs9IGxlbjsKKyAgICB9CisKKyAgICBpZiAodmFsICE9IDApIHJldHVybigwKTsKKworICAgIHJldHVybigxKTsKK30KKworLyoqCisgKiB4bWxWYWxpZGF0ZU5hbWVWYWx1ZToKKyAqIEB2YWx1ZTogIGFuIE5hbWUgdmFsdWUKKyAqCisgKiBWYWxpZGF0ZSB0aGF0IHRoZSBnaXZlbiB2YWx1ZSBtYXRjaCBOYW1lIHByb2R1Y3Rpb24KKyAqCisgKiByZXR1cm5zIDEgaWYgdmFsaWQgb3IgMCBvdGhlcndpc2UKKyAqLworCitpbnQKK3htbFZhbGlkYXRlTmFtZVZhbHVlKGNvbnN0IHhtbENoYXIgKnZhbHVlKSB7CisgICAgcmV0dXJuKHhtbFZhbGlkYXRlTmFtZVZhbHVlSW50ZXJuYWwoTlVMTCwgdmFsdWUpKTsKK30KKworLyoqCisgKiB4bWxWYWxpZGF0ZU5hbWVzVmFsdWVJbnRlcm5hbDoKKyAqIEBkb2M6ICBwb2ludGVyIHRvIHRoZSBkb2N1bWVudCBvciBOVUxMCisgKiBAdmFsdWU6ICBhbiBOYW1lcyB2YWx1ZQorICoKKyAqIFZhbGlkYXRlIHRoYXQgdGhlIGdpdmVuIHZhbHVlIG1hdGNoIE5hbWVzIHByb2R1Y3Rpb24KKyAqCisgKiByZXR1cm5zIDEgaWYgdmFsaWQgb3IgMCBvdGhlcndpc2UKKyAqLworCitzdGF0aWMgaW50Cit4bWxWYWxpZGF0ZU5hbWVzVmFsdWVJbnRlcm5hbCh4bWxEb2NQdHIgZG9jLCBjb25zdCB4bWxDaGFyICp2YWx1ZSkgeworICAgIGNvbnN0IHhtbENoYXIgKmN1cjsKKyAgICBpbnQgdmFsLCBsZW47CisKKyAgICBpZiAodmFsdWUgPT0gTlVMTCkgcmV0dXJuKDApOworICAgIGN1ciA9IHZhbHVlOworICAgIHZhbCA9IHhtbFN0cmluZ0N1cnJlbnRDaGFyKE5VTEwsIGN1ciwgJmxlbik7CisgICAgY3VyICs9IGxlbjsKKworICAgIGlmICgheG1sSXNEb2NOYW1lU3RhcnRDaGFyKGRvYywgdmFsKSkKKwlyZXR1cm4oMCk7CisKKyAgICB2YWwgPSB4bWxTdHJpbmdDdXJyZW50Q2hhcihOVUxMLCBjdXIsICZsZW4pOworICAgIGN1ciArPSBsZW47CisgICAgd2hpbGUgKHhtbElzRG9jTmFtZUNoYXIoZG9jLCB2YWwpKSB7CisJdmFsID0geG1sU3RyaW5nQ3VycmVudENoYXIoTlVMTCwgY3VyLCAmbGVuKTsKKwljdXIgKz0gbGVuOworICAgIH0KKworICAgIC8qIFNob3VsZCBub3QgdGVzdCBJU19CTEFOSyh2YWwpIGhlcmUgLS0gc2VlIGVycmF0dW0gRTIwKi8KKyAgICB3aGlsZSAodmFsID09IDB4MjApIHsKKwl3aGlsZSAodmFsID09IDB4MjApIHsKKwkgICAgdmFsID0geG1sU3RyaW5nQ3VycmVudENoYXIoTlVMTCwgY3VyLCAmbGVuKTsKKwkgICAgY3VyICs9IGxlbjsKKwl9CisKKwlpZiAoIXhtbElzRG9jTmFtZVN0YXJ0Q2hhcihkb2MsIHZhbCkpCisJICAgIHJldHVybigwKTsKKworCXZhbCA9IHhtbFN0cmluZ0N1cnJlbnRDaGFyKE5VTEwsIGN1ciwgJmxlbik7CisJY3VyICs9IGxlbjsKKworCXdoaWxlICh4bWxJc0RvY05hbWVDaGFyKGRvYywgdmFsKSkgeworCSAgICB2YWwgPSB4bWxTdHJpbmdDdXJyZW50Q2hhcihOVUxMLCBjdXIsICZsZW4pOworCSAgICBjdXIgKz0gbGVuOworCX0KKyAgICB9CisKKyAgICBpZiAodmFsICE9IDApIHJldHVybigwKTsKKworICAgIHJldHVybigxKTsKK30KKworLyoqCisgKiB4bWxWYWxpZGF0ZU5hbWVzVmFsdWU6CisgKiBAdmFsdWU6ICBhbiBOYW1lcyB2YWx1ZQorICoKKyAqIFZhbGlkYXRlIHRoYXQgdGhlIGdpdmVuIHZhbHVlIG1hdGNoIE5hbWVzIHByb2R1Y3Rpb24KKyAqCisgKiByZXR1cm5zIDEgaWYgdmFsaWQgb3IgMCBvdGhlcndpc2UKKyAqLworCitpbnQKK3htbFZhbGlkYXRlTmFtZXNWYWx1ZShjb25zdCB4bWxDaGFyICp2YWx1ZSkgeworICAgIHJldHVybih4bWxWYWxpZGF0ZU5hbWVzVmFsdWVJbnRlcm5hbChOVUxMLCB2YWx1ZSkpOworfQorCisvKioKKyAqIHhtbFZhbGlkYXRlTm10b2tlblZhbHVlSW50ZXJuYWw6CisgKiBAZG9jOiAgcG9pbnRlciB0byB0aGUgZG9jdW1lbnQgb3IgTlVMTAorICogQHZhbHVlOiAgYW4gTm10b2tlbiB2YWx1ZQorICoKKyAqIFZhbGlkYXRlIHRoYXQgdGhlIGdpdmVuIHZhbHVlIG1hdGNoIE5tdG9rZW4gcHJvZHVjdGlvbgorICoKKyAqIFsgVkM6IE5hbWUgVG9rZW4gXQorICoKKyAqIHJldHVybnMgMSBpZiB2YWxpZCBvciAwIG90aGVyd2lzZQorICovCisKK3N0YXRpYyBpbnQKK3htbFZhbGlkYXRlTm10b2tlblZhbHVlSW50ZXJuYWwoeG1sRG9jUHRyIGRvYywgY29uc3QgeG1sQ2hhciAqdmFsdWUpIHsKKyAgICBjb25zdCB4bWxDaGFyICpjdXI7CisgICAgaW50IHZhbCwgbGVuOworCisgICAgaWYgKHZhbHVlID09IE5VTEwpIHJldHVybigwKTsKKyAgICBjdXIgPSB2YWx1ZTsKKyAgICB2YWwgPSB4bWxTdHJpbmdDdXJyZW50Q2hhcihOVUxMLCBjdXIsICZsZW4pOworICAgIGN1ciArPSBsZW47CisKKyAgICBpZiAoIXhtbElzRG9jTmFtZUNoYXIoZG9jLCB2YWwpKQorCXJldHVybigwKTsKKworICAgIHZhbCA9IHhtbFN0cmluZ0N1cnJlbnRDaGFyKE5VTEwsIGN1ciwgJmxlbik7CisgICAgY3VyICs9IGxlbjsKKyAgICB3aGlsZSAoeG1sSXNEb2NOYW1lQ2hhcihkb2MsIHZhbCkpIHsKKwl2YWwgPSB4bWxTdHJpbmdDdXJyZW50Q2hhcihOVUxMLCBjdXIsICZsZW4pOworCWN1ciArPSBsZW47CisgICAgfQorCisgICAgaWYgKHZhbCAhPSAwKSByZXR1cm4oMCk7CisKKyAgICByZXR1cm4oMSk7Cit9CisKKy8qKgorICogeG1sVmFsaWRhdGVObXRva2VuVmFsdWU6CisgKiBAdmFsdWU6ICBhbiBObXRva2VuIHZhbHVlCisgKgorICogVmFsaWRhdGUgdGhhdCB0aGUgZ2l2ZW4gdmFsdWUgbWF0Y2ggTm10b2tlbiBwcm9kdWN0aW9uCisgKgorICogWyBWQzogTmFtZSBUb2tlbiBdCisgKgorICogcmV0dXJucyAxIGlmIHZhbGlkIG9yIDAgb3RoZXJ3aXNlCisgKi8KKworaW50Cit4bWxWYWxpZGF0ZU5tdG9rZW5WYWx1ZShjb25zdCB4bWxDaGFyICp2YWx1ZSkgeworICAgIHJldHVybih4bWxWYWxpZGF0ZU5tdG9rZW5WYWx1ZUludGVybmFsKE5VTEwsIHZhbHVlKSk7Cit9CisKKy8qKgorICogeG1sVmFsaWRhdGVObXRva2Vuc1ZhbHVlSW50ZXJuYWw6CisgKiBAZG9jOiAgcG9pbnRlciB0byB0aGUgZG9jdW1lbnQgb3IgTlVMTAorICogQHZhbHVlOiAgYW4gTm10b2tlbnMgdmFsdWUKKyAqCisgKiBWYWxpZGF0ZSB0aGF0IHRoZSBnaXZlbiB2YWx1ZSBtYXRjaCBObXRva2VucyBwcm9kdWN0aW9uCisgKgorICogWyBWQzogTmFtZSBUb2tlbiBdCisgKgorICogcmV0dXJucyAxIGlmIHZhbGlkIG9yIDAgb3RoZXJ3aXNlCisgKi8KKworc3RhdGljIGludAoreG1sVmFsaWRhdGVObXRva2Vuc1ZhbHVlSW50ZXJuYWwoeG1sRG9jUHRyIGRvYywgY29uc3QgeG1sQ2hhciAqdmFsdWUpIHsKKyAgICBjb25zdCB4bWxDaGFyICpjdXI7CisgICAgaW50IHZhbCwgbGVuOworCisgICAgaWYgKHZhbHVlID09IE5VTEwpIHJldHVybigwKTsKKyAgICBjdXIgPSB2YWx1ZTsKKyAgICB2YWwgPSB4bWxTdHJpbmdDdXJyZW50Q2hhcihOVUxMLCBjdXIsICZsZW4pOworICAgIGN1ciArPSBsZW47CisKKyAgICB3aGlsZSAoSVNfQkxBTksodmFsKSkgeworCXZhbCA9IHhtbFN0cmluZ0N1cnJlbnRDaGFyKE5VTEwsIGN1ciwgJmxlbik7CisJY3VyICs9IGxlbjsKKyAgICB9CisKKyAgICBpZiAoIXhtbElzRG9jTmFtZUNoYXIoZG9jLCB2YWwpKQorCXJldHVybigwKTsKKworICAgIHdoaWxlICh4bWxJc0RvY05hbWVDaGFyKGRvYywgdmFsKSkgeworCXZhbCA9IHhtbFN0cmluZ0N1cnJlbnRDaGFyKE5VTEwsIGN1ciwgJmxlbik7CisJY3VyICs9IGxlbjsKKyAgICB9CisKKyAgICAvKiBTaG91bGQgbm90IHRlc3QgSVNfQkxBTksodmFsKSBoZXJlIC0tIHNlZSBlcnJhdHVtIEUyMCovCisgICAgd2hpbGUgKHZhbCA9PSAweDIwKSB7CisJd2hpbGUgKHZhbCA9PSAweDIwKSB7CisJICAgIHZhbCA9IHhtbFN0cmluZ0N1cnJlbnRDaGFyKE5VTEwsIGN1ciwgJmxlbik7CisJICAgIGN1ciArPSBsZW47CisJfQorCWlmICh2YWwgPT0gMCkgcmV0dXJuKDEpOworCisJaWYgKCF4bWxJc0RvY05hbWVDaGFyKGRvYywgdmFsKSkKKwkgICAgcmV0dXJuKDApOworCisJdmFsID0geG1sU3RyaW5nQ3VycmVudENoYXIoTlVMTCwgY3VyLCAmbGVuKTsKKwljdXIgKz0gbGVuOworCisJd2hpbGUgKHhtbElzRG9jTmFtZUNoYXIoZG9jLCB2YWwpKSB7CisJICAgIHZhbCA9IHhtbFN0cmluZ0N1cnJlbnRDaGFyKE5VTEwsIGN1ciwgJmxlbik7CisJICAgIGN1ciArPSBsZW47CisJfQorICAgIH0KKworICAgIGlmICh2YWwgIT0gMCkgcmV0dXJuKDApOworCisgICAgcmV0dXJuKDEpOworfQorCisvKioKKyAqIHhtbFZhbGlkYXRlTm10b2tlbnNWYWx1ZToKKyAqIEB2YWx1ZTogIGFuIE5tdG9rZW5zIHZhbHVlCisgKgorICogVmFsaWRhdGUgdGhhdCB0aGUgZ2l2ZW4gdmFsdWUgbWF0Y2ggTm10b2tlbnMgcHJvZHVjdGlvbgorICoKKyAqIFsgVkM6IE5hbWUgVG9rZW4gXQorICoKKyAqIHJldHVybnMgMSBpZiB2YWxpZCBvciAwIG90aGVyd2lzZQorICovCisKK2ludAoreG1sVmFsaWRhdGVObXRva2Vuc1ZhbHVlKGNvbnN0IHhtbENoYXIgKnZhbHVlKSB7CisgICAgcmV0dXJuKHhtbFZhbGlkYXRlTm10b2tlbnNWYWx1ZUludGVybmFsKE5VTEwsIHZhbHVlKSk7Cit9CisKKy8qKgorICogeG1sVmFsaWRhdGVOb3RhdGlvbkRlY2w6CisgKiBAY3R4dDogIHRoZSB2YWxpZGF0aW9uIGNvbnRleHQKKyAqIEBkb2M6ICBhIGRvY3VtZW50IGluc3RhbmNlCisgKiBAbm90YTogIGEgbm90YXRpb24gZGVmaW5pdGlvbgorICoKKyAqIFRyeSB0byB2YWxpZGF0ZSBhIHNpbmdsZSBub3RhdGlvbiBkZWZpbml0aW9uCisgKiBiYXNpY2FsbHkgaXQgZG9lcyB0aGUgZm9sbG93aW5nIGNoZWNrcyBhcyBkZXNjcmliZWQgYnkgdGhlCisgKiBYTUwtMS4wIHJlY29tbWVuZGF0aW9uOgorICogIC0gaXQgc2VlbXMgdGhhdCBubyB2YWxpZGl0eSBjb25zdHJhaW50IGV4aXN0cyBvbiBub3RhdGlvbiBkZWNsYXJhdGlvbnMKKyAqIEJ1dCB0aGlzIGZ1bmN0aW9uIGdldCBjYWxsZWQgYW55d2F5IC4uLgorICoKKyAqIHJldHVybnMgMSBpZiB2YWxpZCBvciAwIG90aGVyd2lzZQorICovCisKK2ludAoreG1sVmFsaWRhdGVOb3RhdGlvbkRlY2woeG1sVmFsaWRDdHh0UHRyIGN0eHQgQVRUUklCVVRFX1VOVVNFRCwgeG1sRG9jUHRyIGRvYyBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgICAgICAgICAgICAgIHhtbE5vdGF0aW9uUHRyIG5vdGEgQVRUUklCVVRFX1VOVVNFRCkgeworICAgIGludCByZXQgPSAxOworCisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogeG1sVmFsaWRhdGVBdHRyaWJ1dGVWYWx1ZUludGVybmFsOgorICogQGRvYzogdGhlIGRvY3VtZW50CisgKiBAdHlwZTogIGFuIGF0dHJpYnV0ZSB0eXBlCisgKiBAdmFsdWU6ICBhbiBhdHRyaWJ1dGUgdmFsdWUKKyAqCisgKiBWYWxpZGF0ZSB0aGF0IHRoZSBnaXZlbiBhdHRyaWJ1dGUgdmFsdWUgbWF0Y2ggIHRoZSBwcm9wZXIgcHJvZHVjdGlvbgorICoKKyAqIHJldHVybnMgMSBpZiB2YWxpZCBvciAwIG90aGVyd2lzZQorICovCisKK3N0YXRpYyBpbnQKK3htbFZhbGlkYXRlQXR0cmlidXRlVmFsdWVJbnRlcm5hbCh4bWxEb2NQdHIgZG9jLCB4bWxBdHRyaWJ1dGVUeXBlIHR5cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqdmFsdWUpIHsKKyAgICBzd2l0Y2ggKHR5cGUpIHsKKwljYXNlIFhNTF9BVFRSSUJVVEVfRU5USVRJRVM6CisJY2FzZSBYTUxfQVRUUklCVVRFX0lEUkVGUzoKKwkgICAgcmV0dXJuKHhtbFZhbGlkYXRlTmFtZXNWYWx1ZUludGVybmFsKGRvYywgdmFsdWUpKTsKKwljYXNlIFhNTF9BVFRSSUJVVEVfRU5USVRZOgorCWNhc2UgWE1MX0FUVFJJQlVURV9JRFJFRjoKKwljYXNlIFhNTF9BVFRSSUJVVEVfSUQ6CisJY2FzZSBYTUxfQVRUUklCVVRFX05PVEFUSU9OOgorCSAgICByZXR1cm4oeG1sVmFsaWRhdGVOYW1lVmFsdWVJbnRlcm5hbChkb2MsIHZhbHVlKSk7CisJY2FzZSBYTUxfQVRUUklCVVRFX05NVE9LRU5TOgorCWNhc2UgWE1MX0FUVFJJQlVURV9FTlVNRVJBVElPTjoKKwkgICAgcmV0dXJuKHhtbFZhbGlkYXRlTm10b2tlbnNWYWx1ZUludGVybmFsKGRvYywgdmFsdWUpKTsKKwljYXNlIFhNTF9BVFRSSUJVVEVfTk1UT0tFTjoKKwkgICAgcmV0dXJuKHhtbFZhbGlkYXRlTm10b2tlblZhbHVlSW50ZXJuYWwoZG9jLCB2YWx1ZSkpOworICAgICAgICBjYXNlIFhNTF9BVFRSSUJVVEVfQ0RBVEE6CisJICAgIGJyZWFrOworICAgIH0KKyAgICByZXR1cm4oMSk7Cit9CisKKy8qKgorICogeG1sVmFsaWRhdGVBdHRyaWJ1dGVWYWx1ZToKKyAqIEB0eXBlOiAgYW4gYXR0cmlidXRlIHR5cGUKKyAqIEB2YWx1ZTogIGFuIGF0dHJpYnV0ZSB2YWx1ZQorICoKKyAqIFZhbGlkYXRlIHRoYXQgdGhlIGdpdmVuIGF0dHJpYnV0ZSB2YWx1ZSBtYXRjaCAgdGhlIHByb3BlciBwcm9kdWN0aW9uCisgKgorICogWyBWQzogSUQgXQorICogVmFsdWVzIG9mIHR5cGUgSUQgbXVzdCBtYXRjaCB0aGUgTmFtZSBwcm9kdWN0aW9uLi4uLgorICoKKyAqIFsgVkM6IElEUkVGIF0KKyAqIFZhbHVlcyBvZiB0eXBlIElEUkVGIG11c3QgbWF0Y2ggdGhlIE5hbWUgcHJvZHVjdGlvbiwgYW5kIHZhbHVlcworICogb2YgdHlwZSBJRFJFRlMgbXVzdCBtYXRjaCBOYW1lcyAuLi4KKyAqCisgKiBbIFZDOiBFbnRpdHkgTmFtZSBdCisgKiBWYWx1ZXMgb2YgdHlwZSBFTlRJVFkgbXVzdCBtYXRjaCB0aGUgTmFtZSBwcm9kdWN0aW9uLCB2YWx1ZXMKKyAqIG9mIHR5cGUgRU5USVRJRVMgbXVzdCBtYXRjaCBOYW1lcyAuLi4KKyAqCisgKiBbIFZDOiBOYW1lIFRva2VuIF0KKyAqIFZhbHVlcyBvZiB0eXBlIE5NVE9LRU4gbXVzdCBtYXRjaCB0aGUgTm10b2tlbiBwcm9kdWN0aW9uOyB2YWx1ZXMKKyAqIG9mIHR5cGUgTk1UT0tFTlMgbXVzdCBtYXRjaCBObXRva2Vucy4KKyAqCisgKiByZXR1cm5zIDEgaWYgdmFsaWQgb3IgMCBvdGhlcndpc2UKKyAqLworaW50Cit4bWxWYWxpZGF0ZUF0dHJpYnV0ZVZhbHVlKHhtbEF0dHJpYnV0ZVR5cGUgdHlwZSwgY29uc3QgeG1sQ2hhciAqdmFsdWUpIHsKKyAgICByZXR1cm4oeG1sVmFsaWRhdGVBdHRyaWJ1dGVWYWx1ZUludGVybmFsKE5VTEwsIHR5cGUsIHZhbHVlKSk7Cit9CisKKy8qKgorICogeG1sVmFsaWRhdGVBdHRyaWJ1dGVWYWx1ZTI6CisgKiBAY3R4dDogIHRoZSB2YWxpZGF0aW9uIGNvbnRleHQKKyAqIEBkb2M6ICB0aGUgZG9jdW1lbnQKKyAqIEBuYW1lOiAgdGhlIGF0dHJpYnV0ZSBuYW1lICh1c2VkIGZvciBlcnJvciByZXBvcnRpbmcgb25seSkKKyAqIEB0eXBlOiAgdGhlIGF0dHJpYnV0ZSB0eXBlCisgKiBAdmFsdWU6ICB0aGUgYXR0cmlidXRlIHZhbHVlCisgKgorICogVmFsaWRhdGUgdGhhdCB0aGUgZ2l2ZW4gYXR0cmlidXRlIHZhbHVlIG1hdGNoIGEgZ2l2ZW4gdHlwZS4KKyAqIFRoaXMgdHlwaWNhbGx5IGNhbm5vdCBiZSBkb25lIGJlZm9yZSBoYXZpbmcgZmluaXNoZWQgcGFyc2luZworICogdGhlIHN1YnNldHMuCisgKgorICogWyBWQzogSURSRUYgXQorICogVmFsdWVzIG9mIHR5cGUgSURSRUYgbXVzdCBtYXRjaCBvbmUgb2YgdGhlIGRlY2xhcmVkIElEcworICogVmFsdWVzIG9mIHR5cGUgSURSRUZTIG11c3QgbWF0Y2ggYSBzZXF1ZW5jZSBvZiB0aGUgZGVjbGFyZWQgSURzCisgKiBlYWNoIE5hbWUgbXVzdCBtYXRjaCB0aGUgdmFsdWUgb2YgYW4gSUQgYXR0cmlidXRlIG9uIHNvbWUgZWxlbWVudAorICogaW4gdGhlIFhNTCBkb2N1bWVudDsgaS5lLiBJRFJFRiB2YWx1ZXMgbXVzdCBtYXRjaCB0aGUgdmFsdWUgb2YKKyAqIHNvbWUgSUQgYXR0cmlidXRlCisgKgorICogWyBWQzogRW50aXR5IE5hbWUgXQorICogVmFsdWVzIG9mIHR5cGUgRU5USVRZIG11c3QgbWF0Y2ggb25lIGRlY2xhcmVkIGVudGl0eQorICogVmFsdWVzIG9mIHR5cGUgRU5USVRJRVMgbXVzdCBtYXRjaCBhIHNlcXVlbmNlIG9mIGRlY2xhcmVkIGVudGl0aWVzCisgKgorICogWyBWQzogTm90YXRpb24gQXR0cmlidXRlcyBdCisgKiBhbGwgbm90YXRpb24gbmFtZXMgaW4gdGhlIGRlY2xhcmF0aW9uIG11c3QgYmUgZGVjbGFyZWQuCisgKgorICogcmV0dXJucyAxIGlmIHZhbGlkIG9yIDAgb3RoZXJ3aXNlCisgKi8KKworc3RhdGljIGludAoreG1sVmFsaWRhdGVBdHRyaWJ1dGVWYWx1ZTIoeG1sVmFsaWRDdHh0UHRyIGN0eHQsIHhtbERvY1B0ciBkb2MsCisgICAgICBjb25zdCB4bWxDaGFyICpuYW1lLCB4bWxBdHRyaWJ1dGVUeXBlIHR5cGUsIGNvbnN0IHhtbENoYXIgKnZhbHVlKSB7CisgICAgaW50IHJldCA9IDE7CisgICAgc3dpdGNoICh0eXBlKSB7CisJY2FzZSBYTUxfQVRUUklCVVRFX0lEUkVGUzoKKwljYXNlIFhNTF9BVFRSSUJVVEVfSURSRUY6CisJY2FzZSBYTUxfQVRUUklCVVRFX0lEOgorCWNhc2UgWE1MX0FUVFJJQlVURV9OTVRPS0VOUzoKKwljYXNlIFhNTF9BVFRSSUJVVEVfRU5VTUVSQVRJT046CisJY2FzZSBYTUxfQVRUUklCVVRFX05NVE9LRU46CisgICAgICAgIGNhc2UgWE1MX0FUVFJJQlVURV9DREFUQToKKwkgICAgYnJlYWs7CisJY2FzZSBYTUxfQVRUUklCVVRFX0VOVElUWTogeworCSAgICB4bWxFbnRpdHlQdHIgZW50OworCisJICAgIGVudCA9IHhtbEdldERvY0VudGl0eShkb2MsIHZhbHVlKTsKKwkgICAgLyogeWVhaCBpdCdzIGEgYml0IG1lc3N5Li4uICovCisJICAgIGlmICgoZW50ID09IE5VTEwpICYmIChkb2MtPnN0YW5kYWxvbmUgPT0gMSkpIHsKKwkJZG9jLT5zdGFuZGFsb25lID0gMDsKKwkJZW50ID0geG1sR2V0RG9jRW50aXR5KGRvYywgdmFsdWUpOworCSAgICB9CisJICAgIGlmIChlbnQgPT0gTlVMTCkgeworCQl4bWxFcnJWYWxpZE5vZGUoY3R4dCwgKHhtbE5vZGVQdHIpIGRvYywKKwkJCQlYTUxfRFREX1VOS05PV05fRU5USVRZLAorICAgIkVOVElUWSBhdHRyaWJ1dGUgJXMgcmVmZXJlbmNlIGFuIHVua25vd24gZW50aXR5IFwiJXNcIlxuIiwKKwkJICAgICAgIG5hbWUsIHZhbHVlLCBOVUxMKTsKKwkJcmV0ID0gMDsKKwkgICAgfSBlbHNlIGlmIChlbnQtPmV0eXBlICE9IFhNTF9FWFRFUk5BTF9HRU5FUkFMX1VOUEFSU0VEX0VOVElUWSkgeworCQl4bWxFcnJWYWxpZE5vZGUoY3R4dCwgKHhtbE5vZGVQdHIpIGRvYywKKwkJCQlYTUxfRFREX0VOVElUWV9UWVBFLAorICAgIkVOVElUWSBhdHRyaWJ1dGUgJXMgcmVmZXJlbmNlIGFuIGVudGl0eSBcIiVzXCIgb2Ygd3JvbmcgdHlwZVxuIiwKKwkJICAgICAgIG5hbWUsIHZhbHVlLCBOVUxMKTsKKwkJcmV0ID0gMDsKKwkgICAgfQorCSAgICBicmVhazsKKyAgICAgICAgfQorCWNhc2UgWE1MX0FUVFJJQlVURV9FTlRJVElFUzogeworCSAgICB4bWxDaGFyICpkdXAsICpuYW0gPSBOVUxMLCAqY3VyLCBzYXZlOworCSAgICB4bWxFbnRpdHlQdHIgZW50OworCisJICAgIGR1cCA9IHhtbFN0cmR1cCh2YWx1ZSk7CisJICAgIGlmIChkdXAgPT0gTlVMTCkKKwkJcmV0dXJuKDApOworCSAgICBjdXIgPSBkdXA7CisJICAgIHdoaWxlICgqY3VyICE9IDApIHsKKwkJbmFtID0gY3VyOworCQl3aGlsZSAoKCpjdXIgIT0gMCkgJiYgKCFJU19CTEFOS19DSCgqY3VyKSkpIGN1cisrOworCQlzYXZlID0gKmN1cjsKKwkJKmN1ciA9IDA7CisJCWVudCA9IHhtbEdldERvY0VudGl0eShkb2MsIG5hbSk7CisJCWlmIChlbnQgPT0gTlVMTCkgeworCQkgICAgeG1sRXJyVmFsaWROb2RlKGN0eHQsICh4bWxOb2RlUHRyKSBkb2MsCisJCQkJICAgIFhNTF9EVERfVU5LTk9XTl9FTlRJVFksCisgICAgICAgIkVOVElUSUVTIGF0dHJpYnV0ZSAlcyByZWZlcmVuY2UgYW4gdW5rbm93biBlbnRpdHkgXCIlc1wiXG4iLAorCQkJICAgbmFtZSwgbmFtLCBOVUxMKTsKKwkJICAgIHJldCA9IDA7CisJCX0gZWxzZSBpZiAoZW50LT5ldHlwZSAhPSBYTUxfRVhURVJOQUxfR0VORVJBTF9VTlBBUlNFRF9FTlRJVFkpIHsKKwkJICAgIHhtbEVyclZhbGlkTm9kZShjdHh0LCAoeG1sTm9kZVB0cikgZG9jLAorCQkJCSAgICBYTUxfRFREX0VOVElUWV9UWVBFLAorICAgICAgICJFTlRJVElFUyBhdHRyaWJ1dGUgJXMgcmVmZXJlbmNlIGFuIGVudGl0eSBcIiVzXCIgb2Ygd3JvbmcgdHlwZVxuIiwKKwkJCSAgIG5hbWUsIG5hbSwgTlVMTCk7CisJCSAgICByZXQgPSAwOworCQl9CisJCWlmIChzYXZlID09IDApCisJCSAgICBicmVhazsKKwkJKmN1ciA9IHNhdmU7CisJCXdoaWxlIChJU19CTEFOS19DSCgqY3VyKSkgY3VyKys7CisJICAgIH0KKwkgICAgeG1sRnJlZShkdXApOworCSAgICBicmVhazsKKwl9CisJY2FzZSBYTUxfQVRUUklCVVRFX05PVEFUSU9OOiB7CisJICAgIHhtbE5vdGF0aW9uUHRyIG5vdGE7CisKKwkgICAgbm90YSA9IHhtbEdldER0ZE5vdGF0aW9uRGVzYyhkb2MtPmludFN1YnNldCwgdmFsdWUpOworCSAgICBpZiAoKG5vdGEgPT0gTlVMTCkgJiYgKGRvYy0+ZXh0U3Vic2V0ICE9IE5VTEwpKQorCQlub3RhID0geG1sR2V0RHRkTm90YXRpb25EZXNjKGRvYy0+ZXh0U3Vic2V0LCB2YWx1ZSk7CisKKwkgICAgaWYgKG5vdGEgPT0gTlVMTCkgeworCQl4bWxFcnJWYWxpZE5vZGUoY3R4dCwgKHhtbE5vZGVQdHIpIGRvYywKKwkJICAgICAgICAgICAgICAgIFhNTF9EVERfVU5LTk9XTl9OT1RBVElPTiwKKyAgICAgICAiTk9UQVRJT04gYXR0cmlidXRlICVzIHJlZmVyZW5jZSBhbiB1bmtub3duIG5vdGF0aW9uIFwiJXNcIlxuIiwKKwkJICAgICAgIG5hbWUsIHZhbHVlLCBOVUxMKTsKKwkJcmV0ID0gMDsKKwkgICAgfQorCSAgICBicmVhazsKKyAgICAgICAgfQorICAgIH0KKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxWYWxpZEN0eHROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZToKKyAqIEBjdHh0OiB0aGUgdmFsaWRhdGlvbiBjb250ZXh0CisgKiBAZG9jOiAgdGhlIGRvY3VtZW50CisgKiBAZWxlbTogIHRoZSBwYXJlbnQKKyAqIEBuYW1lOiAgdGhlIGF0dHJpYnV0ZSBuYW1lCisgKiBAdmFsdWU6ICB0aGUgYXR0cmlidXRlIHZhbHVlCisgKiBAY3R4dDogIHRoZSB2YWxpZGF0aW9uIGNvbnRleHQgb3IgTlVMTAorICoKKyAqIERvZXMgdGhlIHZhbGlkYXRpb24gcmVsYXRlZCBleHRyYSBzdGVwIG9mIHRoZSBub3JtYWxpemF0aW9uIG9mIGF0dHJpYnV0ZQorICogdmFsdWVzOgorICoKKyAqIElmIHRoZSBkZWNsYXJlZCB2YWx1ZSBpcyBub3QgQ0RBVEEsIHRoZW4gdGhlIFhNTCBwcm9jZXNzb3IgbXVzdCBmdXJ0aGVyCisgKiBwcm9jZXNzIHRoZSBub3JtYWxpemVkIGF0dHJpYnV0ZSB2YWx1ZSBieSBkaXNjYXJkaW5nIGFueSBsZWFkaW5nIGFuZAorICogdHJhaWxpbmcgc3BhY2UgKCN4MjApIGNoYXJhY3RlcnMsIGFuZCBieSByZXBsYWNpbmcgc2VxdWVuY2VzIG9mIHNwYWNlCisgKiAoI3gyMCkgY2hhcmFjdGVycyBieSBzaW5nbGUgc3BhY2UgKCN4MjApIGNoYXJhY3Rlci4KKyAqCisgKiBBbHNvICBjaGVjayBWQzogU3RhbmRhbG9uZSBEb2N1bWVudCBEZWNsYXJhdGlvbiBpbiBQMzIsIGFuZCB1cGRhdGUKKyAqICBjdHh0LT52YWxpZCBhY2NvcmRpbmdseQorICoKKyAqIHJldHVybnMgYSBuZXcgbm9ybWFsaXplZCBzdHJpbmcgaWYgbm9ybWFsaXphdGlvbiBpcyBuZWVkZWQsIE5VTEwgb3RoZXJ3aXNlCisgKiAgICAgIHRoZSBjYWxsZXIgbXVzdCBmcmVlIHRoZSByZXR1cm5lZCB2YWx1ZS4KKyAqLworCit4bWxDaGFyICoKK3htbFZhbGlkQ3R4dE5vcm1hbGl6ZUF0dHJpYnV0ZVZhbHVlKHhtbFZhbGlkQ3R4dFB0ciBjdHh0LCB4bWxEb2NQdHIgZG9jLAorCSAgICAgeG1sTm9kZVB0ciBlbGVtLCBjb25zdCB4bWxDaGFyICpuYW1lLCBjb25zdCB4bWxDaGFyICp2YWx1ZSkgeworICAgIHhtbENoYXIgKnJldCwgKmRzdDsKKyAgICBjb25zdCB4bWxDaGFyICpzcmM7CisgICAgeG1sQXR0cmlidXRlUHRyIGF0dHJEZWNsID0gTlVMTDsKKyAgICBpbnQgZXh0c3Vic2V0ID0gMDsKKworICAgIGlmIChkb2MgPT0gTlVMTCkgcmV0dXJuKE5VTEwpOworICAgIGlmIChlbGVtID09IE5VTEwpIHJldHVybihOVUxMKTsKKyAgICBpZiAobmFtZSA9PSBOVUxMKSByZXR1cm4oTlVMTCk7CisgICAgaWYgKHZhbHVlID09IE5VTEwpIHJldHVybihOVUxMKTsKKworICAgIGlmICgoZWxlbS0+bnMgIT0gTlVMTCkgJiYgKGVsZW0tPm5zLT5wcmVmaXggIT0gTlVMTCkpIHsKKwl4bWxDaGFyIGZuWzUwXTsKKwl4bWxDaGFyICpmdWxsbmFtZTsKKworCWZ1bGxuYW1lID0geG1sQnVpbGRRTmFtZShlbGVtLT5uYW1lLCBlbGVtLT5ucy0+cHJlZml4LCBmbiwgNTApOworCWlmIChmdWxsbmFtZSA9PSBOVUxMKQorCSAgICByZXR1cm4oTlVMTCk7CisJYXR0ckRlY2wgPSB4bWxHZXREdGRBdHRyRGVzYyhkb2MtPmludFN1YnNldCwgZnVsbG5hbWUsIG5hbWUpOworCWlmICgoYXR0ckRlY2wgPT0gTlVMTCkgJiYgKGRvYy0+ZXh0U3Vic2V0ICE9IE5VTEwpKSB7CisJICAgIGF0dHJEZWNsID0geG1sR2V0RHRkQXR0ckRlc2MoZG9jLT5leHRTdWJzZXQsIGZ1bGxuYW1lLCBuYW1lKTsKKwkgICAgaWYgKGF0dHJEZWNsICE9IE5VTEwpCisJCWV4dHN1YnNldCA9IDE7CisJfQorCWlmICgoZnVsbG5hbWUgIT0gZm4pICYmIChmdWxsbmFtZSAhPSBlbGVtLT5uYW1lKSkKKwkgICAgeG1sRnJlZShmdWxsbmFtZSk7CisgICAgfQorICAgIGlmICgoYXR0ckRlY2wgPT0gTlVMTCkgJiYgKGRvYy0+aW50U3Vic2V0ICE9IE5VTEwpKQorCWF0dHJEZWNsID0geG1sR2V0RHRkQXR0ckRlc2MoZG9jLT5pbnRTdWJzZXQsIGVsZW0tPm5hbWUsIG5hbWUpOworICAgIGlmICgoYXR0ckRlY2wgPT0gTlVMTCkgJiYgKGRvYy0+ZXh0U3Vic2V0ICE9IE5VTEwpKSB7CisJYXR0ckRlY2wgPSB4bWxHZXREdGRBdHRyRGVzYyhkb2MtPmV4dFN1YnNldCwgZWxlbS0+bmFtZSwgbmFtZSk7CisJaWYgKGF0dHJEZWNsICE9IE5VTEwpCisJICAgIGV4dHN1YnNldCA9IDE7CisgICAgfQorCisgICAgaWYgKGF0dHJEZWNsID09IE5VTEwpCisJcmV0dXJuKE5VTEwpOworICAgIGlmIChhdHRyRGVjbC0+YXR5cGUgPT0gWE1MX0FUVFJJQlVURV9DREFUQSkKKwlyZXR1cm4oTlVMTCk7CisKKyAgICByZXQgPSB4bWxTdHJkdXAodmFsdWUpOworICAgIGlmIChyZXQgPT0gTlVMTCkKKwlyZXR1cm4oTlVMTCk7CisgICAgc3JjID0gdmFsdWU7CisgICAgZHN0ID0gcmV0OworICAgIHdoaWxlICgqc3JjID09IDB4MjApIHNyYysrOworICAgIHdoaWxlICgqc3JjICE9IDApIHsKKwlpZiAoKnNyYyA9PSAweDIwKSB7CisJICAgIHdoaWxlICgqc3JjID09IDB4MjApIHNyYysrOworCSAgICBpZiAoKnNyYyAhPSAwKQorCQkqZHN0KysgPSAweDIwOworCX0gZWxzZSB7CisJICAgICpkc3QrKyA9ICpzcmMrKzsKKwl9CisgICAgfQorICAgICpkc3QgPSAwOworICAgIGlmICgoZG9jLT5zdGFuZGFsb25lKSAmJiAoZXh0c3Vic2V0ID09IDEpICYmICgheG1sU3RyRXF1YWwodmFsdWUsIHJldCkpKSB7CisJeG1sRXJyVmFsaWROb2RlKGN0eHQsIGVsZW0sIFhNTF9EVERfTk9UX1NUQU5EQUxPTkUsCisic3RhbmRhbG9uZTogJXMgb24gJXMgdmFsdWUgaGFkIHRvIGJlIG5vcm1hbGl6ZWQgYmFzZWQgb24gZXh0ZXJuYWwgc3Vic2V0IGRlY2xhcmF0aW9uXG4iLAorCSAgICAgICBuYW1lLCBlbGVtLT5uYW1lLCBOVUxMKTsKKwljdHh0LT52YWxpZCA9IDA7CisgICAgfQorICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbFZhbGlkTm9ybWFsaXplQXR0cmlidXRlVmFsdWU6CisgKiBAZG9jOiAgdGhlIGRvY3VtZW50CisgKiBAZWxlbTogIHRoZSBwYXJlbnQKKyAqIEBuYW1lOiAgdGhlIGF0dHJpYnV0ZSBuYW1lCisgKiBAdmFsdWU6ICB0aGUgYXR0cmlidXRlIHZhbHVlCisgKgorICogRG9lcyB0aGUgdmFsaWRhdGlvbiByZWxhdGVkIGV4dHJhIHN0ZXAgb2YgdGhlIG5vcm1hbGl6YXRpb24gb2YgYXR0cmlidXRlCisgKiB2YWx1ZXM6CisgKgorICogSWYgdGhlIGRlY2xhcmVkIHZhbHVlIGlzIG5vdCBDREFUQSwgdGhlbiB0aGUgWE1MIHByb2Nlc3NvciBtdXN0IGZ1cnRoZXIKKyAqIHByb2Nlc3MgdGhlIG5vcm1hbGl6ZWQgYXR0cmlidXRlIHZhbHVlIGJ5IGRpc2NhcmRpbmcgYW55IGxlYWRpbmcgYW5kCisgKiB0cmFpbGluZyBzcGFjZSAoI3gyMCkgY2hhcmFjdGVycywgYW5kIGJ5IHJlcGxhY2luZyBzZXF1ZW5jZXMgb2Ygc3BhY2UKKyAqICgjeDIwKSBjaGFyYWN0ZXJzIGJ5IHNpbmdsZSBzcGFjZSAoI3gyMCkgY2hhcmFjdGVyLgorICoKKyAqIFJldHVybnMgYSBuZXcgbm9ybWFsaXplZCBzdHJpbmcgaWYgbm9ybWFsaXphdGlvbiBpcyBuZWVkZWQsIE5VTEwgb3RoZXJ3aXNlCisgKiAgICAgIHRoZSBjYWxsZXIgbXVzdCBmcmVlIHRoZSByZXR1cm5lZCB2YWx1ZS4KKyAqLworCit4bWxDaGFyICoKK3htbFZhbGlkTm9ybWFsaXplQXR0cmlidXRlVmFsdWUoeG1sRG9jUHRyIGRvYywgeG1sTm9kZVB0ciBlbGVtLAorCQkJICAgICAgICBjb25zdCB4bWxDaGFyICpuYW1lLCBjb25zdCB4bWxDaGFyICp2YWx1ZSkgeworICAgIHhtbENoYXIgKnJldCwgKmRzdDsKKyAgICBjb25zdCB4bWxDaGFyICpzcmM7CisgICAgeG1sQXR0cmlidXRlUHRyIGF0dHJEZWNsID0gTlVMTDsKKworICAgIGlmIChkb2MgPT0gTlVMTCkgcmV0dXJuKE5VTEwpOworICAgIGlmIChlbGVtID09IE5VTEwpIHJldHVybihOVUxMKTsKKyAgICBpZiAobmFtZSA9PSBOVUxMKSByZXR1cm4oTlVMTCk7CisgICAgaWYgKHZhbHVlID09IE5VTEwpIHJldHVybihOVUxMKTsKKworICAgIGlmICgoZWxlbS0+bnMgIT0gTlVMTCkgJiYgKGVsZW0tPm5zLT5wcmVmaXggIT0gTlVMTCkpIHsKKwl4bWxDaGFyIGZuWzUwXTsKKwl4bWxDaGFyICpmdWxsbmFtZTsKKworCWZ1bGxuYW1lID0geG1sQnVpbGRRTmFtZShlbGVtLT5uYW1lLCBlbGVtLT5ucy0+cHJlZml4LCBmbiwgNTApOworCWlmIChmdWxsbmFtZSA9PSBOVUxMKQorCSAgICByZXR1cm4oTlVMTCk7CisJaWYgKChmdWxsbmFtZSAhPSBmbikgJiYgKGZ1bGxuYW1lICE9IGVsZW0tPm5hbWUpKQorCSAgICB4bWxGcmVlKGZ1bGxuYW1lKTsKKyAgICB9CisgICAgYXR0ckRlY2wgPSB4bWxHZXREdGRBdHRyRGVzYyhkb2MtPmludFN1YnNldCwgZWxlbS0+bmFtZSwgbmFtZSk7CisgICAgaWYgKChhdHRyRGVjbCA9PSBOVUxMKSAmJiAoZG9jLT5leHRTdWJzZXQgIT0gTlVMTCkpCisJYXR0ckRlY2wgPSB4bWxHZXREdGRBdHRyRGVzYyhkb2MtPmV4dFN1YnNldCwgZWxlbS0+bmFtZSwgbmFtZSk7CisKKyAgICBpZiAoYXR0ckRlY2wgPT0gTlVMTCkKKwlyZXR1cm4oTlVMTCk7CisgICAgaWYgKGF0dHJEZWNsLT5hdHlwZSA9PSBYTUxfQVRUUklCVVRFX0NEQVRBKQorCXJldHVybihOVUxMKTsKKworICAgIHJldCA9IHhtbFN0cmR1cCh2YWx1ZSk7CisgICAgaWYgKHJldCA9PSBOVUxMKQorCXJldHVybihOVUxMKTsKKyAgICBzcmMgPSB2YWx1ZTsKKyAgICBkc3QgPSByZXQ7CisgICAgd2hpbGUgKCpzcmMgPT0gMHgyMCkgc3JjKys7CisgICAgd2hpbGUgKCpzcmMgIT0gMCkgeworCWlmICgqc3JjID09IDB4MjApIHsKKwkgICAgd2hpbGUgKCpzcmMgPT0gMHgyMCkgc3JjKys7CisJICAgIGlmICgqc3JjICE9IDApCisJCSpkc3QrKyA9IDB4MjA7CisJfSBlbHNlIHsKKwkgICAgKmRzdCsrID0gKnNyYysrOworCX0KKyAgICB9CisgICAgKmRzdCA9IDA7CisgICAgcmV0dXJuKHJldCk7Cit9CisKK3N0YXRpYyB2b2lkCit4bWxWYWxpZGF0ZUF0dHJpYnV0ZUlkQ2FsbGJhY2soeG1sQXR0cmlidXRlUHRyIGF0dHIsIGludCAqY291bnQsCisJICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyKiBuYW1lIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICBpZiAoYXR0ci0+YXR5cGUgPT0gWE1MX0FUVFJJQlVURV9JRCkgKCpjb3VudCkrKzsKK30KKworLyoqCisgKiB4bWxWYWxpZGF0ZUF0dHJpYnV0ZURlY2w6CisgKiBAY3R4dDogIHRoZSB2YWxpZGF0aW9uIGNvbnRleHQKKyAqIEBkb2M6ICBhIGRvY3VtZW50IGluc3RhbmNlCisgKiBAYXR0cjogIGFuIGF0dHJpYnV0ZSBkZWZpbml0aW9uCisgKgorICogVHJ5IHRvIHZhbGlkYXRlIGEgc2luZ2xlIGF0dHJpYnV0ZSBkZWZpbml0aW9uCisgKiBiYXNpY2FsbHkgaXQgZG9lcyB0aGUgZm9sbG93aW5nIGNoZWNrcyBhcyBkZXNjcmliZWQgYnkgdGhlCisgKiBYTUwtMS4wIHJlY29tbWVuZGF0aW9uOgorICogIC0gWyBWQzogQXR0cmlidXRlIERlZmF1bHQgTGVnYWwgXQorICogIC0gWyBWQzogRW51bWVyYXRpb24gXQorICogIC0gWyBWQzogSUQgQXR0cmlidXRlIERlZmF1bHQgXQorICoKKyAqIFRoZSBJRC9JRFJFRiB1bmlxdWVuZXNzIGFuZCBtYXRjaGluZyBhcmUgZG9uZSBzZXBhcmF0ZWx5CisgKgorICogcmV0dXJucyAxIGlmIHZhbGlkIG9yIDAgb3RoZXJ3aXNlCisgKi8KKworaW50Cit4bWxWYWxpZGF0ZUF0dHJpYnV0ZURlY2woeG1sVmFsaWRDdHh0UHRyIGN0eHQsIHhtbERvY1B0ciBkb2MsCisgICAgICAgICAgICAgICAgICAgICAgICAgeG1sQXR0cmlidXRlUHRyIGF0dHIpIHsKKyAgICBpbnQgcmV0ID0gMTsKKyAgICBpbnQgdmFsOworICAgIENIRUNLX0RURDsKKyAgICBpZihhdHRyID09IE5VTEwpIHJldHVybigxKTsKKworICAgIC8qIEF0dHJpYnV0ZSBEZWZhdWx0IExlZ2FsICovCisgICAgLyogRW51bWVyYXRpb24gKi8KKyAgICBpZiAoYXR0ci0+ZGVmYXVsdFZhbHVlICE9IE5VTEwpIHsKKwl2YWwgPSB4bWxWYWxpZGF0ZUF0dHJpYnV0ZVZhbHVlSW50ZXJuYWwoZG9jLCBhdHRyLT5hdHlwZSwKKwkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0ci0+ZGVmYXVsdFZhbHVlKTsKKwlpZiAodmFsID09IDApIHsKKwkgICAgeG1sRXJyVmFsaWROb2RlKGN0eHQsICh4bWxOb2RlUHRyKSBhdHRyLCBYTUxfRFREX0FUVFJJQlVURV9ERUZBVUxULAorCSAgICAgICAiU3ludGF4IG9mIGRlZmF1bHQgdmFsdWUgZm9yIGF0dHJpYnV0ZSAlcyBvZiAlcyBpcyBub3QgdmFsaWRcbiIsCisJICAgICAgICAgICBhdHRyLT5uYW1lLCBhdHRyLT5lbGVtLCBOVUxMKTsKKwl9CisgICAgICAgIHJldCAmPSB2YWw7CisgICAgfQorCisgICAgLyogSUQgQXR0cmlidXRlIERlZmF1bHQgKi8KKyAgICBpZiAoKGF0dHItPmF0eXBlID09IFhNTF9BVFRSSUJVVEVfSUQpJiYKKyAgICAgICAgKGF0dHItPmRlZiAhPSBYTUxfQVRUUklCVVRFX0lNUExJRUQpICYmCisJKGF0dHItPmRlZiAhPSBYTUxfQVRUUklCVVRFX1JFUVVJUkVEKSkgeworCXhtbEVyclZhbGlkTm9kZShjdHh0LCAoeG1sTm9kZVB0cikgYXR0ciwgWE1MX0RURF9JRF9GSVhFRCwKKyAgICAgICAgICAiSUQgYXR0cmlidXRlICVzIG9mICVzIGlzIG5vdCB2YWxpZCBtdXN0IGJlICNJTVBMSUVEIG9yICNSRVFVSVJFRFxuIiwKKwkgICAgICAgYXR0ci0+bmFtZSwgYXR0ci0+ZWxlbSwgTlVMTCk7CisJcmV0ID0gMDsKKyAgICB9CisKKyAgICAvKiBPbmUgSUQgcGVyIEVsZW1lbnQgVHlwZSAqLworICAgIGlmIChhdHRyLT5hdHlwZSA9PSBYTUxfQVRUUklCVVRFX0lEKSB7CisgICAgICAgIGludCBuYklkOworCisJLyogdGhlIHRyaWNrIGlzIHRoYXQgd2UgcGFyc2UgRHREIGFzIHRoZWlyIG93biBpbnRlcm5hbCBzdWJzZXQgKi8KKyAgICAgICAgeG1sRWxlbWVudFB0ciBlbGVtID0geG1sR2V0RHRkRWxlbWVudERlc2MoZG9jLT5pbnRTdWJzZXQsCisJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0ci0+ZWxlbSk7CisJaWYgKGVsZW0gIT0gTlVMTCkgeworCSAgICBuYklkID0geG1sU2NhbklEQXR0cmlidXRlRGVjbChOVUxMLCBlbGVtLCAwKTsKKwl9IGVsc2UgeworCSAgICB4bWxBdHRyaWJ1dGVUYWJsZVB0ciB0YWJsZTsKKworCSAgICAvKgorCSAgICAgKiBUaGUgYXR0cmlidXRlIG1heSBiZSBkZWNsYXJlZCBpbiB0aGUgaW50ZXJuYWwgc3Vic2V0IGFuZCB0aGUKKwkgICAgICogZWxlbWVudCBpbiB0aGUgZXh0ZXJuYWwgc3Vic2V0LgorCSAgICAgKi8KKwkgICAgbmJJZCA9IDA7CisJICAgIGlmIChkb2MtPmludFN1YnNldCAhPSBOVUxMKSB7CisJCXRhYmxlID0gKHhtbEF0dHJpYnV0ZVRhYmxlUHRyKSBkb2MtPmludFN1YnNldC0+YXR0cmlidXRlczsKKwkJeG1sSGFzaFNjYW4zKHRhYmxlLCBOVUxMLCBOVUxMLCBhdHRyLT5lbGVtLCAoeG1sSGFzaFNjYW5uZXIpCisJCQkgICAgIHhtbFZhbGlkYXRlQXR0cmlidXRlSWRDYWxsYmFjaywgJm5iSWQpOworCSAgICB9CisJfQorCWlmIChuYklkID4gMSkgeworCisJICAgIHhtbEVyclZhbGlkTm9kZU5yKGN0eHQsICh4bWxOb2RlUHRyKSBhdHRyLCBYTUxfRFREX0lEX1NVQlNFVCwKKyAgICAgICAiRWxlbWVudCAlcyBoYXMgJWQgSUQgYXR0cmlidXRlIGRlZmluZWQgaW4gdGhlIGludGVybmFsIHN1YnNldCA6ICVzXG4iLAorCQkgICBhdHRyLT5lbGVtLCBuYklkLCBhdHRyLT5uYW1lKTsKKwl9IGVsc2UgaWYgKGRvYy0+ZXh0U3Vic2V0ICE9IE5VTEwpIHsKKwkgICAgaW50IGV4dElkID0gMDsKKwkgICAgZWxlbSA9IHhtbEdldER0ZEVsZW1lbnREZXNjKGRvYy0+ZXh0U3Vic2V0LCBhdHRyLT5lbGVtKTsKKwkgICAgaWYgKGVsZW0gIT0gTlVMTCkgeworCQlleHRJZCA9IHhtbFNjYW5JREF0dHJpYnV0ZURlY2woTlVMTCwgZWxlbSwgMCk7CisJICAgIH0KKwkgICAgaWYgKGV4dElkID4gMSkgeworCQl4bWxFcnJWYWxpZE5vZGVOcihjdHh0LCAoeG1sTm9kZVB0cikgYXR0ciwgWE1MX0RURF9JRF9TVUJTRVQsCisgICAgICAgIkVsZW1lbnQgJXMgaGFzICVkIElEIGF0dHJpYnV0ZSBkZWZpbmVkIGluIHRoZSBleHRlcm5hbCBzdWJzZXQgOiAlc1xuIiwKKwkJICAgICAgIGF0dHItPmVsZW0sIGV4dElkLCBhdHRyLT5uYW1lKTsKKwkgICAgfSBlbHNlIGlmIChleHRJZCArIG5iSWQgPiAxKSB7CisJCXhtbEVyclZhbGlkTm9kZShjdHh0LCAoeG1sTm9kZVB0cikgYXR0ciwgWE1MX0RURF9JRF9TVUJTRVQsCisiRWxlbWVudCAlcyBoYXMgSUQgYXR0cmlidXRlcyBkZWZpbmVkIGluIHRoZSBpbnRlcm5hbCBhbmQgZXh0ZXJuYWwgc3Vic2V0IDogJXNcbiIsCisJCSAgICAgICBhdHRyLT5lbGVtLCBhdHRyLT5uYW1lLCBOVUxMKTsKKwkgICAgfQorCX0KKyAgICB9CisKKyAgICAvKiBWYWxpZGl0eSBDb25zdHJhaW50OiBFbnVtZXJhdGlvbiAqLworICAgIGlmICgoYXR0ci0+ZGVmYXVsdFZhbHVlICE9IE5VTEwpICYmIChhdHRyLT50cmVlICE9IE5VTEwpKSB7CisgICAgICAgIHhtbEVudW1lcmF0aW9uUHRyIHRyZWUgPSBhdHRyLT50cmVlOworCXdoaWxlICh0cmVlICE9IE5VTEwpIHsKKwkgICAgaWYgKHhtbFN0ckVxdWFsKHRyZWUtPm5hbWUsIGF0dHItPmRlZmF1bHRWYWx1ZSkpIGJyZWFrOworCSAgICB0cmVlID0gdHJlZS0+bmV4dDsKKwl9CisJaWYgKHRyZWUgPT0gTlVMTCkgeworCSAgICB4bWxFcnJWYWxpZE5vZGUoY3R4dCwgKHhtbE5vZGVQdHIpIGF0dHIsIFhNTF9EVERfQVRUUklCVVRFX1ZBTFVFLAorIkRlZmF1bHQgdmFsdWUgXCIlc1wiIGZvciBhdHRyaWJ1dGUgJXMgb2YgJXMgaXMgbm90IGFtb25nIHRoZSBlbnVtZXJhdGVkIHNldFxuIiwKKwkJICAgYXR0ci0+ZGVmYXVsdFZhbHVlLCBhdHRyLT5uYW1lLCBhdHRyLT5lbGVtKTsKKwkgICAgcmV0ID0gMDsKKwl9CisgICAgfQorCisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogeG1sVmFsaWRhdGVFbGVtZW50RGVjbDoKKyAqIEBjdHh0OiAgdGhlIHZhbGlkYXRpb24gY29udGV4dAorICogQGRvYzogIGEgZG9jdW1lbnQgaW5zdGFuY2UKKyAqIEBlbGVtOiAgYW4gZWxlbWVudCBkZWZpbml0aW9uCisgKgorICogVHJ5IHRvIHZhbGlkYXRlIGEgc2luZ2xlIGVsZW1lbnQgZGVmaW5pdGlvbgorICogYmFzaWNhbGx5IGl0IGRvZXMgdGhlIGZvbGxvd2luZyBjaGVja3MgYXMgZGVzY3JpYmVkIGJ5IHRoZQorICogWE1MLTEuMCByZWNvbW1lbmRhdGlvbjoKKyAqICAtIFsgVkM6IE9uZSBJRCBwZXIgRWxlbWVudCBUeXBlIF0KKyAqICAtIFsgVkM6IE5vIER1cGxpY2F0ZSBUeXBlcyBdCisgKiAgLSBbIFZDOiBVbmlxdWUgRWxlbWVudCBUeXBlIERlY2xhcmF0aW9uIF0KKyAqCisgKiByZXR1cm5zIDEgaWYgdmFsaWQgb3IgMCBvdGhlcndpc2UKKyAqLworCitpbnQKK3htbFZhbGlkYXRlRWxlbWVudERlY2woeG1sVmFsaWRDdHh0UHRyIGN0eHQsIHhtbERvY1B0ciBkb2MsCisgICAgICAgICAgICAgICAgICAgICAgIHhtbEVsZW1lbnRQdHIgZWxlbSkgeworICAgIGludCByZXQgPSAxOworICAgIHhtbEVsZW1lbnRQdHIgdHN0OworCisgICAgQ0hFQ0tfRFREOworCisgICAgaWYgKGVsZW0gPT0gTlVMTCkgcmV0dXJuKDEpOworCisjaWYgMAorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAorICAgIC8qIEJ1aWxkIHRoZSByZWdleHAgYXNzb2NpYXRlZCB0byB0aGUgY29udGVudCBtb2RlbCAqLworICAgIHJldCA9IHhtbFZhbGlkQnVpbGRDb250ZW50TW9kZWwoY3R4dCwgZWxlbSk7CisjZW5kaWYKKyNlbmRpZgorCisgICAgLyogTm8gRHVwbGljYXRlIFR5cGVzICovCisgICAgaWYgKGVsZW0tPmV0eXBlID09IFhNTF9FTEVNRU5UX1RZUEVfTUlYRUQpIHsKKwl4bWxFbGVtZW50Q29udGVudFB0ciBjdXIsIG5leHQ7CisgICAgICAgIGNvbnN0IHhtbENoYXIgKm5hbWU7CisKKwljdXIgPSBlbGVtLT5jb250ZW50OworCXdoaWxlIChjdXIgIT0gTlVMTCkgeworCSAgICBpZiAoY3VyLT50eXBlICE9IFhNTF9FTEVNRU5UX0NPTlRFTlRfT1IpIGJyZWFrOworCSAgICBpZiAoY3VyLT5jMSA9PSBOVUxMKSBicmVhazsKKwkgICAgaWYgKGN1ci0+YzEtPnR5cGUgPT0gWE1MX0VMRU1FTlRfQ09OVEVOVF9FTEVNRU5UKSB7CisJCW5hbWUgPSBjdXItPmMxLT5uYW1lOworCQluZXh0ID0gY3VyLT5jMjsKKwkJd2hpbGUgKG5leHQgIT0gTlVMTCkgeworCQkgICAgaWYgKG5leHQtPnR5cGUgPT0gWE1MX0VMRU1FTlRfQ09OVEVOVF9FTEVNRU5UKSB7CisJCSAgICAgICAgaWYgKCh4bWxTdHJFcXVhbChuZXh0LT5uYW1lLCBuYW1lKSkgJiYKKwkJCSAgICAoeG1sU3RyRXF1YWwobmV4dC0+cHJlZml4LCBjdXItPmMxLT5wcmVmaXgpKSkgeworCQkJICAgIGlmIChjdXItPmMxLT5wcmVmaXggPT0gTlVMTCkgeworCQkJCXhtbEVyclZhbGlkTm9kZShjdHh0LCAoeG1sTm9kZVB0cikgZWxlbSwgWE1MX0RURF9DT05URU5UX0VSUk9SLAorCQkgICAiRGVmaW5pdGlvbiBvZiAlcyBoYXMgZHVwbGljYXRlIHJlZmVyZW5jZXMgb2YgJXNcbiIsCisJCQkJICAgICAgIGVsZW0tPm5hbWUsIG5hbWUsIE5VTEwpOworCQkJICAgIH0gZWxzZSB7CisJCQkJeG1sRXJyVmFsaWROb2RlKGN0eHQsICh4bWxOb2RlUHRyKSBlbGVtLCBYTUxfRFREX0NPTlRFTlRfRVJST1IsCisJCSAgICJEZWZpbml0aW9uIG9mICVzIGhhcyBkdXBsaWNhdGUgcmVmZXJlbmNlcyBvZiAlczolc1xuIiwKKwkJCQkgICAgICAgZWxlbS0+bmFtZSwgY3VyLT5jMS0+cHJlZml4LCBuYW1lKTsKKwkJCSAgICB9CisJCQkgICAgcmV0ID0gMDsKKwkJCX0KKwkJCWJyZWFrOworCQkgICAgfQorCQkgICAgaWYgKG5leHQtPmMxID09IE5VTEwpIGJyZWFrOworCQkgICAgaWYgKG5leHQtPmMxLT50eXBlICE9IFhNTF9FTEVNRU5UX0NPTlRFTlRfRUxFTUVOVCkgYnJlYWs7CisJCSAgICBpZiAoKHhtbFN0ckVxdWFsKG5leHQtPmMxLT5uYW1lLCBuYW1lKSkgJiYKKwkJICAgICAgICAoeG1sU3RyRXF1YWwobmV4dC0+YzEtPnByZWZpeCwgY3VyLT5jMS0+cHJlZml4KSkpIHsKKwkJCWlmIChjdXItPmMxLT5wcmVmaXggPT0gTlVMTCkgeworCQkJICAgIHhtbEVyclZhbGlkTm9kZShjdHh0LCAoeG1sTm9kZVB0cikgZWxlbSwgWE1MX0RURF9DT05URU5UX0VSUk9SLAorCSAgICAgICAiRGVmaW5pdGlvbiBvZiAlcyBoYXMgZHVwbGljYXRlIHJlZmVyZW5jZXMgdG8gJXNcbiIsCisJCQkJICAgZWxlbS0+bmFtZSwgbmFtZSwgTlVMTCk7CisJCQl9IGVsc2UgeworCQkJICAgIHhtbEVyclZhbGlkTm9kZShjdHh0LCAoeG1sTm9kZVB0cikgZWxlbSwgWE1MX0RURF9DT05URU5UX0VSUk9SLAorCSAgICAgICAiRGVmaW5pdGlvbiBvZiAlcyBoYXMgZHVwbGljYXRlIHJlZmVyZW5jZXMgdG8gJXM6JXNcbiIsCisJCQkJICAgZWxlbS0+bmFtZSwgY3VyLT5jMS0+cHJlZml4LCBuYW1lKTsKKwkJCX0KKwkJCXJldCA9IDA7CisJCSAgICB9CisJCSAgICBuZXh0ID0gbmV4dC0+YzI7CisJCX0KKwkgICAgfQorCSAgICBjdXIgPSBjdXItPmMyOworCX0KKyAgICB9CisKKyAgICAvKiBWQzogVW5pcXVlIEVsZW1lbnQgVHlwZSBEZWNsYXJhdGlvbiAqLworICAgIHRzdCA9IHhtbEdldER0ZEVsZW1lbnREZXNjKGRvYy0+aW50U3Vic2V0LCBlbGVtLT5uYW1lKTsKKyAgICBpZiAoKHRzdCAhPSBOVUxMICkgJiYgKHRzdCAhPSBlbGVtKSAmJgorCSgodHN0LT5wcmVmaXggPT0gZWxlbS0+cHJlZml4KSB8fAorCSAoeG1sU3RyRXF1YWwodHN0LT5wcmVmaXgsIGVsZW0tPnByZWZpeCkpKSAmJgorCSh0c3QtPmV0eXBlICE9IFhNTF9FTEVNRU5UX1RZUEVfVU5ERUZJTkVEKSkgeworCXhtbEVyclZhbGlkTm9kZShjdHh0LCAoeG1sTm9kZVB0cikgZWxlbSwgWE1MX0RURF9FTEVNX1JFREVGSU5FRCwKKwkgICAgICAgICAgICAgICAgIlJlZGVmaW5pdGlvbiBvZiBlbGVtZW50ICVzXG4iLAorCQkgICAgICAgZWxlbS0+bmFtZSwgTlVMTCwgTlVMTCk7CisJcmV0ID0gMDsKKyAgICB9CisgICAgdHN0ID0geG1sR2V0RHRkRWxlbWVudERlc2MoZG9jLT5leHRTdWJzZXQsIGVsZW0tPm5hbWUpOworICAgIGlmICgodHN0ICE9IE5VTEwgKSAmJiAodHN0ICE9IGVsZW0pICYmCisJKCh0c3QtPnByZWZpeCA9PSBlbGVtLT5wcmVmaXgpIHx8CisJICh4bWxTdHJFcXVhbCh0c3QtPnByZWZpeCwgZWxlbS0+cHJlZml4KSkpICYmCisJKHRzdC0+ZXR5cGUgIT0gWE1MX0VMRU1FTlRfVFlQRV9VTkRFRklORUQpKSB7CisJeG1sRXJyVmFsaWROb2RlKGN0eHQsICh4bWxOb2RlUHRyKSBlbGVtLCBYTUxfRFREX0VMRU1fUkVERUZJTkVELAorCSAgICAgICAgICAgICAgICAiUmVkZWZpbml0aW9uIG9mIGVsZW1lbnQgJXNcbiIsCisJCSAgICAgICBlbGVtLT5uYW1lLCBOVUxMLCBOVUxMKTsKKwlyZXQgPSAwOworICAgIH0KKyAgICAvKiBPbmUgSUQgcGVyIEVsZW1lbnQgVHlwZQorICAgICAqIGFscmVhZHkgZG9uZSB3aGVuIHJlZ2lzdGVyaW5nIHRoZSBhdHRyaWJ1dGUKKyAgICBpZiAoeG1sU2NhbklEQXR0cmlidXRlRGVjbChjdHh0LCBlbGVtKSA+IDEpIHsKKwlyZXQgPSAwOworICAgIH0gKi8KKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxWYWxpZGF0ZU9uZUF0dHJpYnV0ZToKKyAqIEBjdHh0OiAgdGhlIHZhbGlkYXRpb24gY29udGV4dAorICogQGRvYzogIGEgZG9jdW1lbnQgaW5zdGFuY2UKKyAqIEBlbGVtOiAgYW4gZWxlbWVudCBpbnN0YW5jZQorICogQGF0dHI6ICBhbiBhdHRyaWJ1dGUgaW5zdGFuY2UKKyAqIEB2YWx1ZTogIHRoZSBhdHRyaWJ1dGUgdmFsdWUgKHdpdGhvdXQgZW50aXRpZXMgcHJvY2Vzc2luZykKKyAqCisgKiBUcnkgdG8gdmFsaWRhdGUgYSBzaW5nbGUgYXR0cmlidXRlIGZvciBhbiBlbGVtZW50CisgKiBiYXNpY2FsbHkgaXQgZG9lcyB0aGUgZm9sbG93aW5nIGNoZWNrcyBhcyBkZXNjcmliZWQgYnkgdGhlCisgKiBYTUwtMS4wIHJlY29tbWVuZGF0aW9uOgorICogIC0gWyBWQzogQXR0cmlidXRlIFZhbHVlIFR5cGUgXQorICogIC0gWyBWQzogRml4ZWQgQXR0cmlidXRlIERlZmF1bHQgXQorICogIC0gWyBWQzogRW50aXR5IE5hbWUgXQorICogIC0gWyBWQzogTmFtZSBUb2tlbiBdCisgKiAgLSBbIFZDOiBJRCBdCisgKiAgLSBbIFZDOiBJRFJFRiBdCisgKiAgLSBbIFZDOiBFbnRpdHkgTmFtZSBdCisgKiAgLSBbIFZDOiBOb3RhdGlvbiBBdHRyaWJ1dGVzIF0KKyAqCisgKiBUaGUgSUQvSURSRUYgdW5pcXVlbmVzcyBhbmQgbWF0Y2hpbmcgYXJlIGRvbmUgc2VwYXJhdGVseQorICoKKyAqIHJldHVybnMgMSBpZiB2YWxpZCBvciAwIG90aGVyd2lzZQorICovCisKK2ludAoreG1sVmFsaWRhdGVPbmVBdHRyaWJ1dGUoeG1sVmFsaWRDdHh0UHRyIGN0eHQsIHhtbERvY1B0ciBkb2MsCisgICAgICAgICAgICAgICAgICAgICAgICB4bWxOb2RlUHRyIGVsZW0sIHhtbEF0dHJQdHIgYXR0ciwgY29uc3QgeG1sQ2hhciAqdmFsdWUpCit7CisgICAgeG1sQXR0cmlidXRlUHRyIGF0dHJEZWNsID0gIE5VTEw7CisgICAgaW50IHZhbDsKKyAgICBpbnQgcmV0ID0gMTsKKworICAgIENIRUNLX0RURDsKKyAgICBpZiAoKGVsZW0gPT0gTlVMTCkgfHwgKGVsZW0tPm5hbWUgPT0gTlVMTCkpIHJldHVybigwKTsKKyAgICBpZiAoKGF0dHIgPT0gTlVMTCkgfHwgKGF0dHItPm5hbWUgPT0gTlVMTCkpIHJldHVybigwKTsKKworICAgIGlmICgoZWxlbS0+bnMgIT0gTlVMTCkgJiYgKGVsZW0tPm5zLT5wcmVmaXggIT0gTlVMTCkpIHsKKwl4bWxDaGFyIGZuWzUwXTsKKwl4bWxDaGFyICpmdWxsbmFtZTsKKworCWZ1bGxuYW1lID0geG1sQnVpbGRRTmFtZShlbGVtLT5uYW1lLCBlbGVtLT5ucy0+cHJlZml4LCBmbiwgNTApOworCWlmIChmdWxsbmFtZSA9PSBOVUxMKQorCSAgICByZXR1cm4oMCk7CisJaWYgKGF0dHItPm5zICE9IE5VTEwpIHsKKwkgICAgYXR0ckRlY2wgPSB4bWxHZXREdGRRQXR0ckRlc2MoZG9jLT5pbnRTdWJzZXQsIGZ1bGxuYW1lLAorCQkgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHItPm5hbWUsIGF0dHItPm5zLT5wcmVmaXgpOworCSAgICBpZiAoKGF0dHJEZWNsID09IE5VTEwpICYmIChkb2MtPmV4dFN1YnNldCAhPSBOVUxMKSkKKwkJYXR0ckRlY2wgPSB4bWxHZXREdGRRQXR0ckRlc2MoZG9jLT5leHRTdWJzZXQsIGZ1bGxuYW1lLAorCQkJCQkgICAgICBhdHRyLT5uYW1lLCBhdHRyLT5ucy0+cHJlZml4KTsKKwl9IGVsc2UgeworCSAgICBhdHRyRGVjbCA9IHhtbEdldER0ZEF0dHJEZXNjKGRvYy0+aW50U3Vic2V0LCBmdWxsbmFtZSwgYXR0ci0+bmFtZSk7CisJICAgIGlmICgoYXR0ckRlY2wgPT0gTlVMTCkgJiYgKGRvYy0+ZXh0U3Vic2V0ICE9IE5VTEwpKQorCQlhdHRyRGVjbCA9IHhtbEdldER0ZEF0dHJEZXNjKGRvYy0+ZXh0U3Vic2V0LAorCQkJCQkgICAgIGZ1bGxuYW1lLCBhdHRyLT5uYW1lKTsKKwl9CisJaWYgKChmdWxsbmFtZSAhPSBmbikgJiYgKGZ1bGxuYW1lICE9IGVsZW0tPm5hbWUpKQorCSAgICB4bWxGcmVlKGZ1bGxuYW1lKTsKKyAgICB9CisgICAgaWYgKGF0dHJEZWNsID09IE5VTEwpIHsKKwlpZiAoYXR0ci0+bnMgIT0gTlVMTCkgeworCSAgICBhdHRyRGVjbCA9IHhtbEdldER0ZFFBdHRyRGVzYyhkb2MtPmludFN1YnNldCwgZWxlbS0+bmFtZSwKKwkJICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRyLT5uYW1lLCBhdHRyLT5ucy0+cHJlZml4KTsKKwkgICAgaWYgKChhdHRyRGVjbCA9PSBOVUxMKSAmJiAoZG9jLT5leHRTdWJzZXQgIT0gTlVMTCkpCisJCWF0dHJEZWNsID0geG1sR2V0RHRkUUF0dHJEZXNjKGRvYy0+ZXh0U3Vic2V0LCBlbGVtLT5uYW1lLAorCQkJCQkgICAgICBhdHRyLT5uYW1lLCBhdHRyLT5ucy0+cHJlZml4KTsKKwl9IGVsc2UgeworCSAgICBhdHRyRGVjbCA9IHhtbEdldER0ZEF0dHJEZXNjKGRvYy0+aW50U3Vic2V0LAorCQkgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbS0+bmFtZSwgYXR0ci0+bmFtZSk7CisJICAgIGlmICgoYXR0ckRlY2wgPT0gTlVMTCkgJiYgKGRvYy0+ZXh0U3Vic2V0ICE9IE5VTEwpKQorCQlhdHRyRGVjbCA9IHhtbEdldER0ZEF0dHJEZXNjKGRvYy0+ZXh0U3Vic2V0LAorCQkJCQkgICAgIGVsZW0tPm5hbWUsIGF0dHItPm5hbWUpOworCX0KKyAgICB9CisKKworICAgIC8qIFZhbGlkaXR5IENvbnN0cmFpbnQ6IEF0dHJpYnV0ZSBWYWx1ZSBUeXBlICovCisgICAgaWYgKGF0dHJEZWNsID09IE5VTEwpIHsKKwl4bWxFcnJWYWxpZE5vZGUoY3R4dCwgZWxlbSwgWE1MX0RURF9VTktOT1dOX0FUVFJJQlVURSwKKwkgICAgICAgIk5vIGRlY2xhcmF0aW9uIGZvciBhdHRyaWJ1dGUgJXMgb2YgZWxlbWVudCAlc1xuIiwKKwkgICAgICAgYXR0ci0+bmFtZSwgZWxlbS0+bmFtZSwgTlVMTCk7CisJcmV0dXJuKDApOworICAgIH0KKyAgICBhdHRyLT5hdHlwZSA9IGF0dHJEZWNsLT5hdHlwZTsKKworICAgIHZhbCA9IHhtbFZhbGlkYXRlQXR0cmlidXRlVmFsdWVJbnRlcm5hbChkb2MsIGF0dHJEZWNsLT5hdHlwZSwgdmFsdWUpOworICAgIGlmICh2YWwgPT0gMCkgeworCSAgICB4bWxFcnJWYWxpZE5vZGUoY3R4dCwgZWxlbSwgWE1MX0RURF9BVFRSSUJVVEVfVkFMVUUsCisJICAgIlN5bnRheCBvZiB2YWx1ZSBmb3IgYXR0cmlidXRlICVzIG9mICVzIGlzIG5vdCB2YWxpZFxuIiwKKwkgICAgICAgYXR0ci0+bmFtZSwgZWxlbS0+bmFtZSwgTlVMTCk7CisgICAgICAgIHJldCA9IDA7CisgICAgfQorCisgICAgLyogVmFsaWRpdHkgY29uc3RyYWludDogRml4ZWQgQXR0cmlidXRlIERlZmF1bHQgKi8KKyAgICBpZiAoYXR0ckRlY2wtPmRlZiA9PSBYTUxfQVRUUklCVVRFX0ZJWEVEKSB7CisJaWYgKCF4bWxTdHJFcXVhbCh2YWx1ZSwgYXR0ckRlY2wtPmRlZmF1bHRWYWx1ZSkpIHsKKwkgICAgeG1sRXJyVmFsaWROb2RlKGN0eHQsIGVsZW0sIFhNTF9EVERfQVRUUklCVVRFX0RFRkFVTFQsCisJICAgIlZhbHVlIGZvciBhdHRyaWJ1dGUgJXMgb2YgJXMgaXMgZGlmZmVyZW50IGZyb20gZGVmYXVsdCBcIiVzXCJcbiIsCisJCSAgIGF0dHItPm5hbWUsIGVsZW0tPm5hbWUsIGF0dHJEZWNsLT5kZWZhdWx0VmFsdWUpOworCSAgICByZXQgPSAwOworCX0KKyAgICB9CisKKyAgICAvKiBWYWxpZGl0eSBDb25zdHJhaW50OiBJRCB1bmlxdWVuZXNzICovCisgICAgaWYgKGF0dHJEZWNsLT5hdHlwZSA9PSBYTUxfQVRUUklCVVRFX0lEKSB7CisgICAgICAgIGlmICh4bWxBZGRJRChjdHh0LCBkb2MsIHZhbHVlLCBhdHRyKSA9PSBOVUxMKQorCSAgICByZXQgPSAwOworICAgIH0KKworICAgIGlmICgoYXR0ckRlY2wtPmF0eXBlID09IFhNTF9BVFRSSUJVVEVfSURSRUYpIHx8CisJKGF0dHJEZWNsLT5hdHlwZSA9PSBYTUxfQVRUUklCVVRFX0lEUkVGUykpIHsKKyAgICAgICAgaWYgKHhtbEFkZFJlZihjdHh0LCBkb2MsIHZhbHVlLCBhdHRyKSA9PSBOVUxMKQorCSAgICByZXQgPSAwOworICAgIH0KKworICAgIC8qIFZhbGlkaXR5IENvbnN0cmFpbnQ6IE5vdGF0aW9uIEF0dHJpYnV0ZXMgKi8KKyAgICBpZiAoYXR0ckRlY2wtPmF0eXBlID09IFhNTF9BVFRSSUJVVEVfTk9UQVRJT04pIHsKKyAgICAgICAgeG1sRW51bWVyYXRpb25QdHIgdHJlZSA9IGF0dHJEZWNsLT50cmVlOworICAgICAgICB4bWxOb3RhdGlvblB0ciBub3RhOworCisgICAgICAgIC8qIEZpcnN0IGNoZWNrIHRoYXQgdGhlIGdpdmVuIE5PVEFUSU9OIHdhcyBkZWNsYXJlZCAqLworCW5vdGEgPSB4bWxHZXREdGROb3RhdGlvbkRlc2MoZG9jLT5pbnRTdWJzZXQsIHZhbHVlKTsKKwlpZiAobm90YSA9PSBOVUxMKQorCSAgICBub3RhID0geG1sR2V0RHRkTm90YXRpb25EZXNjKGRvYy0+ZXh0U3Vic2V0LCB2YWx1ZSk7CisKKwlpZiAobm90YSA9PSBOVUxMKSB7CisJICAgIHhtbEVyclZhbGlkTm9kZShjdHh0LCBlbGVtLCBYTUxfRFREX1VOS05PV05fTk9UQVRJT04sCisgICAgICAgIlZhbHVlIFwiJXNcIiBmb3IgYXR0cmlidXRlICVzIG9mICVzIGlzIG5vdCBhIGRlY2xhcmVkIE5vdGF0aW9uXG4iLAorCQkgICB2YWx1ZSwgYXR0ci0+bmFtZSwgZWxlbS0+bmFtZSk7CisJICAgIHJldCA9IDA7CisgICAgICAgIH0KKworCS8qIFNlY29uZCwgdmVyaWZ5IHRoYXQgaXQncyBhbW9uZyB0aGUgbGlzdCAqLworCXdoaWxlICh0cmVlICE9IE5VTEwpIHsKKwkgICAgaWYgKHhtbFN0ckVxdWFsKHRyZWUtPm5hbWUsIHZhbHVlKSkgYnJlYWs7CisJICAgIHRyZWUgPSB0cmVlLT5uZXh0OworCX0KKwlpZiAodHJlZSA9PSBOVUxMKSB7CisJICAgIHhtbEVyclZhbGlkTm9kZShjdHh0LCBlbGVtLCBYTUxfRFREX05PVEFUSU9OX1ZBTFVFLAorIlZhbHVlIFwiJXNcIiBmb3IgYXR0cmlidXRlICVzIG9mICVzIGlzIG5vdCBhbW9uZyB0aGUgZW51bWVyYXRlZCBub3RhdGlvbnNcbiIsCisJCSAgIHZhbHVlLCBhdHRyLT5uYW1lLCBlbGVtLT5uYW1lKTsKKwkgICAgcmV0ID0gMDsKKwl9CisgICAgfQorCisgICAgLyogVmFsaWRpdHkgQ29uc3RyYWludDogRW51bWVyYXRpb24gKi8KKyAgICBpZiAoYXR0ckRlY2wtPmF0eXBlID09IFhNTF9BVFRSSUJVVEVfRU5VTUVSQVRJT04pIHsKKyAgICAgICAgeG1sRW51bWVyYXRpb25QdHIgdHJlZSA9IGF0dHJEZWNsLT50cmVlOworCXdoaWxlICh0cmVlICE9IE5VTEwpIHsKKwkgICAgaWYgKHhtbFN0ckVxdWFsKHRyZWUtPm5hbWUsIHZhbHVlKSkgYnJlYWs7CisJICAgIHRyZWUgPSB0cmVlLT5uZXh0OworCX0KKwlpZiAodHJlZSA9PSBOVUxMKSB7CisJICAgIHhtbEVyclZhbGlkTm9kZShjdHh0LCBlbGVtLCBYTUxfRFREX0FUVFJJQlVURV9WQUxVRSwKKyAgICAgICAiVmFsdWUgXCIlc1wiIGZvciBhdHRyaWJ1dGUgJXMgb2YgJXMgaXMgbm90IGFtb25nIHRoZSBlbnVtZXJhdGVkIHNldFxuIiwKKwkJICAgdmFsdWUsIGF0dHItPm5hbWUsIGVsZW0tPm5hbWUpOworCSAgICByZXQgPSAwOworCX0KKyAgICB9CisKKyAgICAvKiBGaXhlZCBBdHRyaWJ1dGUgRGVmYXVsdCAqLworICAgIGlmICgoYXR0ckRlY2wtPmRlZiA9PSBYTUxfQVRUUklCVVRFX0ZJWEVEKSAmJgorICAgICAgICAoIXhtbFN0ckVxdWFsKGF0dHJEZWNsLT5kZWZhdWx0VmFsdWUsIHZhbHVlKSkpIHsKKwl4bWxFcnJWYWxpZE5vZGUoY3R4dCwgZWxlbSwgWE1MX0RURF9BVFRSSUJVVEVfVkFMVUUsCisJICAgIlZhbHVlIGZvciBhdHRyaWJ1dGUgJXMgb2YgJXMgbXVzdCBiZSBcIiVzXCJcbiIsCisJICAgICAgIGF0dHItPm5hbWUsIGVsZW0tPm5hbWUsIGF0dHJEZWNsLT5kZWZhdWx0VmFsdWUpOworICAgICAgICByZXQgPSAwOworICAgIH0KKworICAgIC8qIEV4dHJhIGNoZWNrIGZvciB0aGUgYXR0cmlidXRlIHZhbHVlICovCisgICAgcmV0ICY9IHhtbFZhbGlkYXRlQXR0cmlidXRlVmFsdWUyKGN0eHQsIGRvYywgYXR0ci0+bmFtZSwKKwkJCQkgICAgICBhdHRyRGVjbC0+YXR5cGUsIHZhbHVlKTsKKworICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbFZhbGlkYXRlT25lTmFtZXNwYWNlOgorICogQGN0eHQ6ICB0aGUgdmFsaWRhdGlvbiBjb250ZXh0CisgKiBAZG9jOiAgYSBkb2N1bWVudCBpbnN0YW5jZQorICogQGVsZW06ICBhbiBlbGVtZW50IGluc3RhbmNlCisgKiBAcHJlZml4OiAgdGhlIG5hbWVzcGFjZSBwcmVmaXgKKyAqIEBuczogIGFuIG5hbWVzcGFjZSBkZWNsYXJhdGlvbiBpbnN0YW5jZQorICogQHZhbHVlOiAgdGhlIGF0dHJpYnV0ZSB2YWx1ZSAod2l0aG91dCBlbnRpdGllcyBwcm9jZXNzaW5nKQorICoKKyAqIFRyeSB0byB2YWxpZGF0ZSBhIHNpbmdsZSBuYW1lc3BhY2UgZGVjbGFyYXRpb24gZm9yIGFuIGVsZW1lbnQKKyAqIGJhc2ljYWxseSBpdCBkb2VzIHRoZSBmb2xsb3dpbmcgY2hlY2tzIGFzIGRlc2NyaWJlZCBieSB0aGUKKyAqIFhNTC0xLjAgcmVjb21tZW5kYXRpb246CisgKiAgLSBbIFZDOiBBdHRyaWJ1dGUgVmFsdWUgVHlwZSBdCisgKiAgLSBbIFZDOiBGaXhlZCBBdHRyaWJ1dGUgRGVmYXVsdCBdCisgKiAgLSBbIFZDOiBFbnRpdHkgTmFtZSBdCisgKiAgLSBbIFZDOiBOYW1lIFRva2VuIF0KKyAqICAtIFsgVkM6IElEIF0KKyAqICAtIFsgVkM6IElEUkVGIF0KKyAqICAtIFsgVkM6IEVudGl0eSBOYW1lIF0KKyAqICAtIFsgVkM6IE5vdGF0aW9uIEF0dHJpYnV0ZXMgXQorICoKKyAqIFRoZSBJRC9JRFJFRiB1bmlxdWVuZXNzIGFuZCBtYXRjaGluZyBhcmUgZG9uZSBzZXBhcmF0ZWx5CisgKgorICogcmV0dXJucyAxIGlmIHZhbGlkIG9yIDAgb3RoZXJ3aXNlCisgKi8KKworaW50Cit4bWxWYWxpZGF0ZU9uZU5hbWVzcGFjZSh4bWxWYWxpZEN0eHRQdHIgY3R4dCwgeG1sRG9jUHRyIGRvYywKK3htbE5vZGVQdHIgZWxlbSwgY29uc3QgeG1sQ2hhciAqcHJlZml4LCB4bWxOc1B0ciBucywgY29uc3QgeG1sQ2hhciAqdmFsdWUpIHsKKyAgICAvKiB4bWxFbGVtZW50UHRyIGVsZW1EZWNsOyAqLworICAgIHhtbEF0dHJpYnV0ZVB0ciBhdHRyRGVjbCA9ICBOVUxMOworICAgIGludCB2YWw7CisgICAgaW50IHJldCA9IDE7CisKKyAgICBDSEVDS19EVEQ7CisgICAgaWYgKChlbGVtID09IE5VTEwpIHx8IChlbGVtLT5uYW1lID09IE5VTEwpKSByZXR1cm4oMCk7CisgICAgaWYgKChucyA9PSBOVUxMKSB8fCAobnMtPmhyZWYgPT0gTlVMTCkpIHJldHVybigwKTsKKworICAgIGlmIChwcmVmaXggIT0gTlVMTCkgeworCXhtbENoYXIgZm5bNTBdOworCXhtbENoYXIgKmZ1bGxuYW1lOworCisJZnVsbG5hbWUgPSB4bWxCdWlsZFFOYW1lKGVsZW0tPm5hbWUsIHByZWZpeCwgZm4sIDUwKTsKKwlpZiAoZnVsbG5hbWUgPT0gTlVMTCkgeworCSAgICB4bWxWRXJyTWVtb3J5KGN0eHQsICJWYWxpZGF0aW5nIG5hbWVzcGFjZSIpOworCSAgICByZXR1cm4oMCk7CisJfQorCWlmIChucy0+cHJlZml4ICE9IE5VTEwpIHsKKwkgICAgYXR0ckRlY2wgPSB4bWxHZXREdGRRQXR0ckRlc2MoZG9jLT5pbnRTdWJzZXQsIGZ1bGxuYW1lLAorCQkgICAgICAgICAgICAgICAgICAgICAgICAgIG5zLT5wcmVmaXgsIEJBRF9DQVNUICJ4bWxucyIpOworCSAgICBpZiAoKGF0dHJEZWNsID09IE5VTEwpICYmIChkb2MtPmV4dFN1YnNldCAhPSBOVUxMKSkKKwkJYXR0ckRlY2wgPSB4bWxHZXREdGRRQXR0ckRlc2MoZG9jLT5leHRTdWJzZXQsIGZ1bGxuYW1lLAorCQkJCQkgIG5zLT5wcmVmaXgsIEJBRF9DQVNUICJ4bWxucyIpOworCX0gZWxzZSB7CisJICAgIGF0dHJEZWNsID0geG1sR2V0RHRkQXR0ckRlc2MoZG9jLT5pbnRTdWJzZXQsIGZ1bGxuYW1lLAorCQkgICAgICAgICAgICAgICAgICAgICAgICAgQkFEX0NBU1QgInhtbG5zIik7CisJICAgIGlmICgoYXR0ckRlY2wgPT0gTlVMTCkgJiYgKGRvYy0+ZXh0U3Vic2V0ICE9IE5VTEwpKQorCQlhdHRyRGVjbCA9IHhtbEdldER0ZEF0dHJEZXNjKGRvYy0+ZXh0U3Vic2V0LCBmdWxsbmFtZSwKKwkJCSAgICAgICAgICAgICAgICAgQkFEX0NBU1QgInhtbG5zIik7CisJfQorCWlmICgoZnVsbG5hbWUgIT0gZm4pICYmIChmdWxsbmFtZSAhPSBlbGVtLT5uYW1lKSkKKwkgICAgeG1sRnJlZShmdWxsbmFtZSk7CisgICAgfQorICAgIGlmIChhdHRyRGVjbCA9PSBOVUxMKSB7CisJaWYgKG5zLT5wcmVmaXggIT0gTlVMTCkgeworCSAgICBhdHRyRGVjbCA9IHhtbEdldER0ZFFBdHRyRGVzYyhkb2MtPmludFN1YnNldCwgZWxlbS0+bmFtZSwKKwkJICAgICAgICAgICAgICAgICAgICAgICAgICBucy0+cHJlZml4LCBCQURfQ0FTVCAieG1sbnMiKTsKKwkgICAgaWYgKChhdHRyRGVjbCA9PSBOVUxMKSAmJiAoZG9jLT5leHRTdWJzZXQgIT0gTlVMTCkpCisJCWF0dHJEZWNsID0geG1sR2V0RHRkUUF0dHJEZXNjKGRvYy0+ZXh0U3Vic2V0LCBlbGVtLT5uYW1lLAorCQkJCQkgICAgICBucy0+cHJlZml4LCBCQURfQ0FTVCAieG1sbnMiKTsKKwl9IGVsc2UgeworCSAgICBhdHRyRGVjbCA9IHhtbEdldER0ZEF0dHJEZXNjKGRvYy0+aW50U3Vic2V0LAorCQkgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbS0+bmFtZSwgQkFEX0NBU1QgInhtbG5zIik7CisJICAgIGlmICgoYXR0ckRlY2wgPT0gTlVMTCkgJiYgKGRvYy0+ZXh0U3Vic2V0ICE9IE5VTEwpKQorCQlhdHRyRGVjbCA9IHhtbEdldER0ZEF0dHJEZXNjKGRvYy0+ZXh0U3Vic2V0LAorCQkJCQkgICAgIGVsZW0tPm5hbWUsIEJBRF9DQVNUICJ4bWxucyIpOworCX0KKyAgICB9CisKKworICAgIC8qIFZhbGlkaXR5IENvbnN0cmFpbnQ6IEF0dHJpYnV0ZSBWYWx1ZSBUeXBlICovCisgICAgaWYgKGF0dHJEZWNsID09IE5VTEwpIHsKKwlpZiAobnMtPnByZWZpeCAhPSBOVUxMKSB7CisJICAgIHhtbEVyclZhbGlkTm9kZShjdHh0LCBlbGVtLCBYTUxfRFREX1VOS05PV05fQVRUUklCVVRFLAorCQkgICAiTm8gZGVjbGFyYXRpb24gZm9yIGF0dHJpYnV0ZSB4bWxuczolcyBvZiBlbGVtZW50ICVzXG4iLAorCQkgICBucy0+cHJlZml4LCBlbGVtLT5uYW1lLCBOVUxMKTsKKwl9IGVsc2UgeworCSAgICB4bWxFcnJWYWxpZE5vZGUoY3R4dCwgZWxlbSwgWE1MX0RURF9VTktOT1dOX0FUVFJJQlVURSwKKwkJICAgIk5vIGRlY2xhcmF0aW9uIGZvciBhdHRyaWJ1dGUgeG1sbnMgb2YgZWxlbWVudCAlc1xuIiwKKwkJICAgZWxlbS0+bmFtZSwgTlVMTCwgTlVMTCk7CisJfQorCXJldHVybigwKTsKKyAgICB9CisKKyAgICB2YWwgPSB4bWxWYWxpZGF0ZUF0dHJpYnV0ZVZhbHVlSW50ZXJuYWwoZG9jLCBhdHRyRGVjbC0+YXR5cGUsIHZhbHVlKTsKKyAgICBpZiAodmFsID09IDApIHsKKwlpZiAobnMtPnByZWZpeCAhPSBOVUxMKSB7CisJICAgIHhtbEVyclZhbGlkTm9kZShjdHh0LCBlbGVtLCBYTUxfRFREX0lOVkFMSURfREVGQVVMVCwKKwkgICAgICAgIlN5bnRheCBvZiB2YWx1ZSBmb3IgYXR0cmlidXRlIHhtbG5zOiVzIG9mICVzIGlzIG5vdCB2YWxpZFxuIiwKKwkJICAgbnMtPnByZWZpeCwgZWxlbS0+bmFtZSwgTlVMTCk7CisJfSBlbHNlIHsKKwkgICAgeG1sRXJyVmFsaWROb2RlKGN0eHQsIGVsZW0sIFhNTF9EVERfSU5WQUxJRF9ERUZBVUxULAorCSAgICAgICAiU3ludGF4IG9mIHZhbHVlIGZvciBhdHRyaWJ1dGUgeG1sbnMgb2YgJXMgaXMgbm90IHZhbGlkXG4iLAorCQkgICBlbGVtLT5uYW1lLCBOVUxMLCBOVUxMKTsKKwl9CisgICAgICAgIHJldCA9IDA7CisgICAgfQorCisgICAgLyogVmFsaWRpdHkgY29uc3RyYWludDogRml4ZWQgQXR0cmlidXRlIERlZmF1bHQgKi8KKyAgICBpZiAoYXR0ckRlY2wtPmRlZiA9PSBYTUxfQVRUUklCVVRFX0ZJWEVEKSB7CisJaWYgKCF4bWxTdHJFcXVhbCh2YWx1ZSwgYXR0ckRlY2wtPmRlZmF1bHRWYWx1ZSkpIHsKKwkgICAgaWYgKG5zLT5wcmVmaXggIT0gTlVMTCkgeworCQl4bWxFcnJWYWxpZE5vZGUoY3R4dCwgZWxlbSwgWE1MX0RURF9BVFRSSUJVVEVfREVGQVVMVCwKKyAgICAgICAiVmFsdWUgZm9yIGF0dHJpYnV0ZSB4bWxuczolcyBvZiAlcyBpcyBkaWZmZXJlbnQgZnJvbSBkZWZhdWx0IFwiJXNcIlxuIiwKKwkJICAgICAgIG5zLT5wcmVmaXgsIGVsZW0tPm5hbWUsIGF0dHJEZWNsLT5kZWZhdWx0VmFsdWUpOworCSAgICB9IGVsc2UgeworCQl4bWxFcnJWYWxpZE5vZGUoY3R4dCwgZWxlbSwgWE1MX0RURF9BVFRSSUJVVEVfREVGQVVMVCwKKyAgICAgICAiVmFsdWUgZm9yIGF0dHJpYnV0ZSB4bWxucyBvZiAlcyBpcyBkaWZmZXJlbnQgZnJvbSBkZWZhdWx0IFwiJXNcIlxuIiwKKwkJICAgICAgIGVsZW0tPm5hbWUsIGF0dHJEZWNsLT5kZWZhdWx0VmFsdWUsIE5VTEwpOworCSAgICB9CisJICAgIHJldCA9IDA7CisJfQorICAgIH0KKworICAgIC8qIFZhbGlkaXR5IENvbnN0cmFpbnQ6IElEIHVuaXF1ZW5lc3MgKi8KKyAgICBpZiAoYXR0ckRlY2wtPmF0eXBlID09IFhNTF9BVFRSSUJVVEVfSUQpIHsKKyAgICAgICAgaWYgKHhtbEFkZElEKGN0eHQsIGRvYywgdmFsdWUsICh4bWxBdHRyUHRyKSBucykgPT0gTlVMTCkKKwkgICAgcmV0ID0gMDsKKyAgICB9CisKKyAgICBpZiAoKGF0dHJEZWNsLT5hdHlwZSA9PSBYTUxfQVRUUklCVVRFX0lEUkVGKSB8fAorCShhdHRyRGVjbC0+YXR5cGUgPT0gWE1MX0FUVFJJQlVURV9JRFJFRlMpKSB7CisgICAgICAgIGlmICh4bWxBZGRSZWYoY3R4dCwgZG9jLCB2YWx1ZSwgKHhtbEF0dHJQdHIpIG5zKSA9PSBOVUxMKQorCSAgICByZXQgPSAwOworICAgIH0KKworICAgIC8qIFZhbGlkaXR5IENvbnN0cmFpbnQ6IE5vdGF0aW9uIEF0dHJpYnV0ZXMgKi8KKyAgICBpZiAoYXR0ckRlY2wtPmF0eXBlID09IFhNTF9BVFRSSUJVVEVfTk9UQVRJT04pIHsKKyAgICAgICAgeG1sRW51bWVyYXRpb25QdHIgdHJlZSA9IGF0dHJEZWNsLT50cmVlOworICAgICAgICB4bWxOb3RhdGlvblB0ciBub3RhOworCisgICAgICAgIC8qIEZpcnN0IGNoZWNrIHRoYXQgdGhlIGdpdmVuIE5PVEFUSU9OIHdhcyBkZWNsYXJlZCAqLworCW5vdGEgPSB4bWxHZXREdGROb3RhdGlvbkRlc2MoZG9jLT5pbnRTdWJzZXQsIHZhbHVlKTsKKwlpZiAobm90YSA9PSBOVUxMKQorCSAgICBub3RhID0geG1sR2V0RHRkTm90YXRpb25EZXNjKGRvYy0+ZXh0U3Vic2V0LCB2YWx1ZSk7CisKKwlpZiAobm90YSA9PSBOVUxMKSB7CisJICAgIGlmIChucy0+cHJlZml4ICE9IE5VTEwpIHsKKwkJeG1sRXJyVmFsaWROb2RlKGN0eHQsIGVsZW0sIFhNTF9EVERfVU5LTk9XTl9OT1RBVElPTiwKKyAgICAgICAiVmFsdWUgXCIlc1wiIGZvciBhdHRyaWJ1dGUgeG1sbnM6JXMgb2YgJXMgaXMgbm90IGEgZGVjbGFyZWQgTm90YXRpb25cbiIsCisJCSAgICAgICB2YWx1ZSwgbnMtPnByZWZpeCwgZWxlbS0+bmFtZSk7CisJICAgIH0gZWxzZSB7CisJCXhtbEVyclZhbGlkTm9kZShjdHh0LCBlbGVtLCBYTUxfRFREX1VOS05PV05fTk9UQVRJT04sCisgICAgICAgIlZhbHVlIFwiJXNcIiBmb3IgYXR0cmlidXRlIHhtbG5zIG9mICVzIGlzIG5vdCBhIGRlY2xhcmVkIE5vdGF0aW9uXG4iLAorCQkgICAgICAgdmFsdWUsIGVsZW0tPm5hbWUsIE5VTEwpOworCSAgICB9CisJICAgIHJldCA9IDA7CisgICAgICAgIH0KKworCS8qIFNlY29uZCwgdmVyaWZ5IHRoYXQgaXQncyBhbW9uZyB0aGUgbGlzdCAqLworCXdoaWxlICh0cmVlICE9IE5VTEwpIHsKKwkgICAgaWYgKHhtbFN0ckVxdWFsKHRyZWUtPm5hbWUsIHZhbHVlKSkgYnJlYWs7CisJICAgIHRyZWUgPSB0cmVlLT5uZXh0OworCX0KKwlpZiAodHJlZSA9PSBOVUxMKSB7CisJICAgIGlmIChucy0+cHJlZml4ICE9IE5VTEwpIHsKKwkJeG1sRXJyVmFsaWROb2RlKGN0eHQsIGVsZW0sIFhNTF9EVERfTk9UQVRJT05fVkFMVUUsCisiVmFsdWUgXCIlc1wiIGZvciBhdHRyaWJ1dGUgeG1sbnM6JXMgb2YgJXMgaXMgbm90IGFtb25nIHRoZSBlbnVtZXJhdGVkIG5vdGF0aW9uc1xuIiwKKwkJICAgICAgIHZhbHVlLCBucy0+cHJlZml4LCBlbGVtLT5uYW1lKTsKKwkgICAgfSBlbHNlIHsKKwkJeG1sRXJyVmFsaWROb2RlKGN0eHQsIGVsZW0sIFhNTF9EVERfTk9UQVRJT05fVkFMVUUsCisiVmFsdWUgXCIlc1wiIGZvciBhdHRyaWJ1dGUgeG1sbnMgb2YgJXMgaXMgbm90IGFtb25nIHRoZSBlbnVtZXJhdGVkIG5vdGF0aW9uc1xuIiwKKwkJICAgICAgIHZhbHVlLCBlbGVtLT5uYW1lLCBOVUxMKTsKKwkgICAgfQorCSAgICByZXQgPSAwOworCX0KKyAgICB9CisKKyAgICAvKiBWYWxpZGl0eSBDb25zdHJhaW50OiBFbnVtZXJhdGlvbiAqLworICAgIGlmIChhdHRyRGVjbC0+YXR5cGUgPT0gWE1MX0FUVFJJQlVURV9FTlVNRVJBVElPTikgeworICAgICAgICB4bWxFbnVtZXJhdGlvblB0ciB0cmVlID0gYXR0ckRlY2wtPnRyZWU7CisJd2hpbGUgKHRyZWUgIT0gTlVMTCkgeworCSAgICBpZiAoeG1sU3RyRXF1YWwodHJlZS0+bmFtZSwgdmFsdWUpKSBicmVhazsKKwkgICAgdHJlZSA9IHRyZWUtPm5leHQ7CisJfQorCWlmICh0cmVlID09IE5VTEwpIHsKKwkgICAgaWYgKG5zLT5wcmVmaXggIT0gTlVMTCkgeworCQl4bWxFcnJWYWxpZE5vZGUoY3R4dCwgZWxlbSwgWE1MX0RURF9BVFRSSUJVVEVfVkFMVUUsCisiVmFsdWUgXCIlc1wiIGZvciBhdHRyaWJ1dGUgeG1sbnM6JXMgb2YgJXMgaXMgbm90IGFtb25nIHRoZSBlbnVtZXJhdGVkIHNldFxuIiwKKwkJICAgICAgIHZhbHVlLCBucy0+cHJlZml4LCBlbGVtLT5uYW1lKTsKKwkgICAgfSBlbHNlIHsKKwkJeG1sRXJyVmFsaWROb2RlKGN0eHQsIGVsZW0sIFhNTF9EVERfQVRUUklCVVRFX1ZBTFVFLAorIlZhbHVlIFwiJXNcIiBmb3IgYXR0cmlidXRlIHhtbG5zIG9mICVzIGlzIG5vdCBhbW9uZyB0aGUgZW51bWVyYXRlZCBzZXRcbiIsCisJCSAgICAgICB2YWx1ZSwgZWxlbS0+bmFtZSwgTlVMTCk7CisJICAgIH0KKwkgICAgcmV0ID0gMDsKKwl9CisgICAgfQorCisgICAgLyogRml4ZWQgQXR0cmlidXRlIERlZmF1bHQgKi8KKyAgICBpZiAoKGF0dHJEZWNsLT5kZWYgPT0gWE1MX0FUVFJJQlVURV9GSVhFRCkgJiYKKyAgICAgICAgKCF4bWxTdHJFcXVhbChhdHRyRGVjbC0+ZGVmYXVsdFZhbHVlLCB2YWx1ZSkpKSB7CisJaWYgKG5zLT5wcmVmaXggIT0gTlVMTCkgeworCSAgICB4bWxFcnJWYWxpZE5vZGUoY3R4dCwgZWxlbSwgWE1MX0RURF9FTEVNX05BTUVTUEFDRSwKKwkJICAgIlZhbHVlIGZvciBhdHRyaWJ1dGUgeG1sbnM6JXMgb2YgJXMgbXVzdCBiZSBcIiVzXCJcbiIsCisJCSAgIG5zLT5wcmVmaXgsIGVsZW0tPm5hbWUsIGF0dHJEZWNsLT5kZWZhdWx0VmFsdWUpOworCX0gZWxzZSB7CisJICAgIHhtbEVyclZhbGlkTm9kZShjdHh0LCBlbGVtLCBYTUxfRFREX0VMRU1fTkFNRVNQQUNFLAorCQkgICAiVmFsdWUgZm9yIGF0dHJpYnV0ZSB4bWxucyBvZiAlcyBtdXN0IGJlIFwiJXNcIlxuIiwKKwkJICAgZWxlbS0+bmFtZSwgYXR0ckRlY2wtPmRlZmF1bHRWYWx1ZSwgTlVMTCk7CisJfQorICAgICAgICByZXQgPSAwOworICAgIH0KKworICAgIC8qIEV4dHJhIGNoZWNrIGZvciB0aGUgYXR0cmlidXRlIHZhbHVlICovCisgICAgaWYgKG5zLT5wcmVmaXggIT0gTlVMTCkgeworCXJldCAmPSB4bWxWYWxpZGF0ZUF0dHJpYnV0ZVZhbHVlMihjdHh0LCBkb2MsIG5zLT5wcmVmaXgsCisJCQkJCSAgYXR0ckRlY2wtPmF0eXBlLCB2YWx1ZSk7CisgICAgfSBlbHNlIHsKKwlyZXQgJj0geG1sVmFsaWRhdGVBdHRyaWJ1dGVWYWx1ZTIoY3R4dCwgZG9jLCBCQURfQ0FTVCAieG1sbnMiLAorCQkJCQkgIGF0dHJEZWNsLT5hdHlwZSwgdmFsdWUpOworICAgIH0KKworICAgIHJldHVybihyZXQpOworfQorCisjaWZuZGVmICBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKKy8qKgorICogeG1sVmFsaWRhdGVTa2lwSWdub3JhYmxlOgorICogQGN0eHQ6ICB0aGUgdmFsaWRhdGlvbiBjb250ZXh0CisgKiBAY2hpbGQ6ICB0aGUgY2hpbGQgbGlzdAorICoKKyAqIFNraXAgaWdub3JhYmxlIGVsZW1lbnRzIHcuci50LiB0aGUgdmFsaWRhdGlvbiBwcm9jZXNzCisgKgorICogcmV0dXJucyB0aGUgZmlyc3QgZWxlbWVudCB0byBjb25zaWRlciBmb3IgdmFsaWRhdGlvbiBvZiB0aGUgY29udGVudCBtb2RlbAorICovCisKK3N0YXRpYyB4bWxOb2RlUHRyCit4bWxWYWxpZGF0ZVNraXBJZ25vcmFibGUoeG1sTm9kZVB0ciBjaGlsZCkgeworICAgIHdoaWxlIChjaGlsZCAhPSBOVUxMKSB7CisJc3dpdGNoIChjaGlsZC0+dHlwZSkgeworCSAgICAvKiBUaGVzZSB0aGluZ3MgYXJlIGlnbm9yZWQgKHNraXBwZWQpIGR1cmluZyB2YWxpZGF0aW9uLiAgKi8KKwkgICAgY2FzZSBYTUxfUElfTk9ERToKKwkgICAgY2FzZSBYTUxfQ09NTUVOVF9OT0RFOgorCSAgICBjYXNlIFhNTF9YSU5DTFVERV9TVEFSVDoKKwkgICAgY2FzZSBYTUxfWElOQ0xVREVfRU5EOgorCQljaGlsZCA9IGNoaWxkLT5uZXh0OworCQlicmVhazsKKwkgICAgY2FzZSBYTUxfVEVYVF9OT0RFOgorCQlpZiAoeG1sSXNCbGFua05vZGUoY2hpbGQpKQorCQkgICAgY2hpbGQgPSBjaGlsZC0+bmV4dDsKKwkJZWxzZQorCQkgICAgcmV0dXJuKGNoaWxkKTsKKwkJYnJlYWs7CisJICAgIC8qIGtlZXAgY3VycmVudCBub2RlICovCisJICAgIGRlZmF1bHQ6CisJCXJldHVybihjaGlsZCk7CisJfQorICAgIH0KKyAgICByZXR1cm4oY2hpbGQpOworfQorCisvKioKKyAqIHhtbFZhbGlkYXRlRWxlbWVudFR5cGU6CisgKiBAY3R4dDogIHRoZSB2YWxpZGF0aW9uIGNvbnRleHQKKyAqCisgKiBUcnkgdG8gdmFsaWRhdGUgdGhlIGNvbnRlbnQgbW9kZWwgb2YgYW4gZWxlbWVudCBpbnRlcm5hbCBmdW5jdGlvbgorICoKKyAqIHJldHVybnMgMSBpZiB2YWxpZCBvciAwICwtMSBpbiBjYXNlIG9mIGVycm9yLCAtMiBpZiBhbiBlbnRpdHkKKyAqICAgICAgICAgICByZWZlcmVuY2UgaXMgZm91bmQgYW5kIC0zIGlmIHRoZSB2YWxpZGF0aW9uIHN1Y2NlZWRlZCBidXQKKyAqICAgICAgICAgICB0aGUgY29udGVudCBtb2RlbCBpcyBub3QgZGV0ZXJtaW5pc3QuCisgKi8KKworc3RhdGljIGludAoreG1sVmFsaWRhdGVFbGVtZW50VHlwZSh4bWxWYWxpZEN0eHRQdHIgY3R4dCkgeworICAgIGludCByZXQgPSAtMTsKKyAgICBpbnQgZGV0ZXJtaW5pc3QgPSAxOworCisgICAgTk9ERSA9IHhtbFZhbGlkYXRlU2tpcElnbm9yYWJsZShOT0RFKTsKKyAgICBpZiAoKE5PREUgPT0gTlVMTCkgJiYgKENPTlQgPT0gTlVMTCkpCisJcmV0dXJuKDEpOworICAgIGlmICgoTk9ERSA9PSBOVUxMKSAmJgorCSgoQ09OVC0+b2N1ciA9PSBYTUxfRUxFTUVOVF9DT05URU5UX01VTFQpIHx8CisJIChDT05ULT5vY3VyID09IFhNTF9FTEVNRU5UX0NPTlRFTlRfT1BUKSkpIHsKKwlyZXR1cm4oMSk7CisgICAgfQorICAgIGlmIChDT05UID09IE5VTEwpIHJldHVybigtMSk7CisgICAgaWYgKChOT0RFICE9IE5VTEwpICYmIChOT0RFLT50eXBlID09IFhNTF9FTlRJVFlfUkVGX05PREUpKQorCXJldHVybigtMik7CisKKyAgICAvKgorICAgICAqIFdlIGFycml2ZSBoZXJlIHdoZW4gbW9yZSBzdGF0ZXMgbmVlZCB0byBiZSBleGFtaW5lZAorICAgICAqLworY29udDoKKworICAgIC8qCisgICAgICogV2UganVzdCByZWNvdmVyZWQgZnJvbSBhIHJvbGxiYWNrIGdlbmVyYXRlZCBieSBhIHBvc3NpYmxlCisgICAgICogZXBzaWxvbiB0cmFuc2l0aW9uLCBnbyBkaXJlY3RseSB0byB0aGUgYW5hbHlzaXMgcGhhc2UKKyAgICAgKi8KKyAgICBpZiAoU1RBVEUgPT0gUk9MTEJBQ0tfUEFSRU5UKSB7CisJREVCVUdfVkFMSURfTVNHKCJyZXN0b3JlZCBwYXJlbnQgYnJhbmNoIik7CisJREVCVUdfVkFMSURfU1RBVEUoTk9ERSwgQ09OVCkKKwlyZXQgPSAxOworCWdvdG8gYW5hbHl6ZTsKKyAgICB9CisKKyAgICBERUJVR19WQUxJRF9TVEFURShOT0RFLCBDT05UKQorICAgIC8qCisgICAgICogd2UgbWF5IGhhdmUgdG8gc2F2ZSBhIGJhY2t1cCBzdGF0ZSBoZXJlLiBUaGlzIGlzIHRoZSBlcXVpdmFsZW50CisgICAgICogb2YgaGFuZGxpbmcgZXBzaWxvbiB0cmFuc2l0aW9uIGluIE5GQXMuCisgICAgICovCisgICAgaWYgKChDT05UICE9IE5VTEwpICYmCisJKChDT05ULT5wYXJlbnQgPT0gTlVMTCkgfHwKKwkgKENPTlQtPnBhcmVudC0+dHlwZSAhPSBYTUxfRUxFTUVOVF9DT05URU5UX09SKSkgJiYKKwkoKENPTlQtPm9jdXIgPT0gWE1MX0VMRU1FTlRfQ09OVEVOVF9NVUxUKSB8fAorCSAoQ09OVC0+b2N1ciA9PSBYTUxfRUxFTUVOVF9DT05URU5UX09QVCkgfHwKKwkgKChDT05ULT5vY3VyID09IFhNTF9FTEVNRU5UX0NPTlRFTlRfUExVUykgJiYgKE9DQ1VSUkVOQ0UpKSkpIHsKKwlERUJVR19WQUxJRF9NU0coInNhdmluZyBwYXJlbnQgYnJhbmNoIik7CisJaWYgKHZzdGF0ZVZQdXNoKGN0eHQsIENPTlQsIE5PREUsIERFUFRILCBPQ0NVUlMsIFJPTExCQUNLX1BBUkVOVCkgPCAwKQorCSAgICByZXR1cm4oMCk7CisgICAgfQorCisKKyAgICAvKgorICAgICAqIENoZWNrIGZpcnN0IGlmIHRoZSBjb250ZW50IG1hdGNoZXMKKyAgICAgKi8KKyAgICBzd2l0Y2ggKENPTlQtPnR5cGUpIHsKKwljYXNlIFhNTF9FTEVNRU5UX0NPTlRFTlRfUENEQVRBOgorCSAgICBpZiAoTk9ERSA9PSBOVUxMKSB7CisJCURFQlVHX1ZBTElEX01TRygicGNkYXRhIGZhaWxlZCBubyBub2RlIik7CisJCXJldCA9IDA7CisJCWJyZWFrOworCSAgICB9CisJICAgIGlmIChOT0RFLT50eXBlID09IFhNTF9URVhUX05PREUpIHsKKwkJREVCVUdfVkFMSURfTVNHKCJwY2RhdGEgZm91bmQsIHNraXAgdG8gbmV4dCIpOworCQkvKgorCQkgKiBnbyB0byBuZXh0IGVsZW1lbnQgaW4gdGhlIGNvbnRlbnQgbW9kZWwKKwkJICogc2tpcHBpbmcgaWdub3JhYmxlIGVsZW1zCisJCSAqLworCQlkbyB7CisJCSAgICBOT0RFID0gTk9ERS0+bmV4dDsKKwkJICAgIE5PREUgPSB4bWxWYWxpZGF0ZVNraXBJZ25vcmFibGUoTk9ERSk7CisJCSAgICBpZiAoKE5PREUgIT0gTlVMTCkgJiYKKwkJCShOT0RFLT50eXBlID09IFhNTF9FTlRJVFlfUkVGX05PREUpKQorCQkJcmV0dXJuKC0yKTsKKwkJfSB3aGlsZSAoKE5PREUgIT0gTlVMTCkgJiYKKwkJCSAoKE5PREUtPnR5cGUgIT0gWE1MX0VMRU1FTlRfTk9ERSkgJiYKKwkJCSAgKE5PREUtPnR5cGUgIT0gWE1MX1RFWFRfTk9ERSkgJiYKKwkJCSAgKE5PREUtPnR5cGUgIT0gWE1MX0NEQVRBX1NFQ1RJT05fTk9ERSkpKTsKKyAgICAgICAgICAgICAgICByZXQgPSAxOworCQlicmVhazsKKwkgICAgfSBlbHNlIHsKKwkJREVCVUdfVkFMSURfTVNHKCJwY2RhdGEgZmFpbGVkIik7CisJCXJldCA9IDA7CisJCWJyZWFrOworCSAgICB9CisJICAgIGJyZWFrOworCWNhc2UgWE1MX0VMRU1FTlRfQ09OVEVOVF9FTEVNRU5UOgorCSAgICBpZiAoTk9ERSA9PSBOVUxMKSB7CisJCURFQlVHX1ZBTElEX01TRygiZWxlbWVudCBmYWlsZWQgbm8gbm9kZSIpOworCQlyZXQgPSAwOworCQlicmVhazsKKwkgICAgfQorCSAgICByZXQgPSAoKE5PREUtPnR5cGUgPT0gWE1MX0VMRU1FTlRfTk9ERSkgJiYKKwkJICAgKHhtbFN0ckVxdWFsKE5PREUtPm5hbWUsIENPTlQtPm5hbWUpKSk7CisJICAgIGlmIChyZXQgPT0gMSkgeworCQlpZiAoKE5PREUtPm5zID09IE5VTEwpIHx8IChOT0RFLT5ucy0+cHJlZml4ID09IE5VTEwpKSB7CisJCSAgICByZXQgPSAoQ09OVC0+cHJlZml4ID09IE5VTEwpOworCQl9IGVsc2UgaWYgKENPTlQtPnByZWZpeCA9PSBOVUxMKSB7CisJCSAgICByZXQgPSAwOworCQl9IGVsc2UgeworCQkgICAgcmV0ID0geG1sU3RyRXF1YWwoTk9ERS0+bnMtPnByZWZpeCwgQ09OVC0+cHJlZml4KTsKKwkJfQorCSAgICB9CisJICAgIGlmIChyZXQgPT0gMSkgeworCQlERUJVR19WQUxJRF9NU0coImVsZW1lbnQgZm91bmQsIHNraXAgdG8gbmV4dCIpOworCQkvKgorCQkgKiBnbyB0byBuZXh0IGVsZW1lbnQgaW4gdGhlIGNvbnRlbnQgbW9kZWwKKwkJICogc2tpcHBpbmcgaWdub3JhYmxlIGVsZW1zCisJCSAqLworCQlkbyB7CisJCSAgICBOT0RFID0gTk9ERS0+bmV4dDsKKwkJICAgIE5PREUgPSB4bWxWYWxpZGF0ZVNraXBJZ25vcmFibGUoTk9ERSk7CisJCSAgICBpZiAoKE5PREUgIT0gTlVMTCkgJiYKKwkJCShOT0RFLT50eXBlID09IFhNTF9FTlRJVFlfUkVGX05PREUpKQorCQkJcmV0dXJuKC0yKTsKKwkJfSB3aGlsZSAoKE5PREUgIT0gTlVMTCkgJiYKKwkJCSAoKE5PREUtPnR5cGUgIT0gWE1MX0VMRU1FTlRfTk9ERSkgJiYKKwkJCSAgKE5PREUtPnR5cGUgIT0gWE1MX1RFWFRfTk9ERSkgJiYKKwkJCSAgKE5PREUtPnR5cGUgIT0gWE1MX0NEQVRBX1NFQ1RJT05fTk9ERSkpKTsKKwkgICAgfSBlbHNlIHsKKwkJREVCVUdfVkFMSURfTVNHKCJlbGVtZW50IGZhaWxlZCIpOworCQlyZXQgPSAwOworCQlicmVhazsKKwkgICAgfQorCSAgICBicmVhazsKKwljYXNlIFhNTF9FTEVNRU5UX0NPTlRFTlRfT1I6CisJICAgIC8qCisJICAgICAqIFNtYWxsIG9wdGltaXphdGlvbi4KKwkgICAgICovCisJICAgIGlmIChDT05ULT5jMS0+dHlwZSA9PSBYTUxfRUxFTUVOVF9DT05URU5UX0VMRU1FTlQpIHsKKwkJaWYgKChOT0RFID09IE5VTEwpIHx8CisJCSAgICAoIXhtbFN0ckVxdWFsKE5PREUtPm5hbWUsIENPTlQtPmMxLT5uYW1lKSkpIHsKKwkJICAgIERFUFRIKys7CisJCSAgICBDT05UID0gQ09OVC0+YzI7CisJCSAgICBnb3RvIGNvbnQ7CisJCX0KKwkJaWYgKChOT0RFLT5ucyA9PSBOVUxMKSB8fCAoTk9ERS0+bnMtPnByZWZpeCA9PSBOVUxMKSkgeworCQkgICAgcmV0ID0gKENPTlQtPmMxLT5wcmVmaXggPT0gTlVMTCk7CisJCX0gZWxzZSBpZiAoQ09OVC0+YzEtPnByZWZpeCA9PSBOVUxMKSB7CisJCSAgICByZXQgPSAwOworCQl9IGVsc2UgeworCQkgICAgcmV0ID0geG1sU3RyRXF1YWwoTk9ERS0+bnMtPnByZWZpeCwgQ09OVC0+YzEtPnByZWZpeCk7CisJCX0KKwkJaWYgKHJldCA9PSAwKSB7CisJCSAgICBERVBUSCsrOworCQkgICAgQ09OVCA9IENPTlQtPmMyOworCQkgICAgZ290byBjb250OworCQl9CisJICAgIH0KKworCSAgICAvKgorCSAgICAgKiBzYXZlIHRoZSBzZWNvbmQgYnJhbmNoICdvcicgYnJhbmNoCisJICAgICAqLworCSAgICBERUJVR19WQUxJRF9NU0coInNhdmluZyAnb3InIGJyYW5jaCIpOworCSAgICBpZiAodnN0YXRlVlB1c2goY3R4dCwgQ09OVC0+YzIsIE5PREUsICh1bnNpZ25lZCBjaGFyKShERVBUSCArIDEpLAorCQkJICAgIE9DQ1VSUywgUk9MTEJBQ0tfT1IpIDwgMCkKKwkJcmV0dXJuKC0xKTsKKwkgICAgREVQVEgrKzsKKwkgICAgQ09OVCA9IENPTlQtPmMxOworCSAgICBnb3RvIGNvbnQ7CisJY2FzZSBYTUxfRUxFTUVOVF9DT05URU5UX1NFUToKKwkgICAgLyoKKwkgICAgICogU21hbGwgb3B0aW1pemF0aW9uLgorCSAgICAgKi8KKwkgICAgaWYgKChDT05ULT5jMS0+dHlwZSA9PSBYTUxfRUxFTUVOVF9DT05URU5UX0VMRU1FTlQpICYmCisJCSgoQ09OVC0+YzEtPm9jdXIgPT0gWE1MX0VMRU1FTlRfQ09OVEVOVF9PUFQpIHx8CisJCSAoQ09OVC0+YzEtPm9jdXIgPT0gWE1MX0VMRU1FTlRfQ09OVEVOVF9NVUxUKSkpIHsKKwkJaWYgKChOT0RFID09IE5VTEwpIHx8CisJCSAgICAoIXhtbFN0ckVxdWFsKE5PREUtPm5hbWUsIENPTlQtPmMxLT5uYW1lKSkpIHsKKwkJICAgIERFUFRIKys7CisJCSAgICBDT05UID0gQ09OVC0+YzI7CisJCSAgICBnb3RvIGNvbnQ7CisJCX0KKwkJaWYgKChOT0RFLT5ucyA9PSBOVUxMKSB8fCAoTk9ERS0+bnMtPnByZWZpeCA9PSBOVUxMKSkgeworCQkgICAgcmV0ID0gKENPTlQtPmMxLT5wcmVmaXggPT0gTlVMTCk7CisJCX0gZWxzZSBpZiAoQ09OVC0+YzEtPnByZWZpeCA9PSBOVUxMKSB7CisJCSAgICByZXQgPSAwOworCQl9IGVsc2UgeworCQkgICAgcmV0ID0geG1sU3RyRXF1YWwoTk9ERS0+bnMtPnByZWZpeCwgQ09OVC0+YzEtPnByZWZpeCk7CisJCX0KKwkJaWYgKHJldCA9PSAwKSB7CisJCSAgICBERVBUSCsrOworCQkgICAgQ09OVCA9IENPTlQtPmMyOworCQkgICAgZ290byBjb250OworCQl9CisJICAgIH0KKwkgICAgREVQVEgrKzsKKwkgICAgQ09OVCA9IENPTlQtPmMxOworCSAgICBnb3RvIGNvbnQ7CisgICAgfQorCisgICAgLyoKKyAgICAgKiBBdCB0aGlzIHBvaW50IGhhbmRsZSBnb2luZyB1cCBpbiB0aGUgdHJlZQorICAgICAqLworICAgIGlmIChyZXQgPT0gLTEpIHsKKwlERUJVR19WQUxJRF9NU0coImVycm9yIGZvdW5kIHJldHVybmluZyIpOworCXJldHVybihyZXQpOworICAgIH0KK2FuYWx5emU6CisgICAgd2hpbGUgKENPTlQgIT0gTlVMTCkgeworCS8qCisJICogRmlyc3QgZG8gdGhlIGFuYWx5c2lzIGRlcGVuZGluZyBvbiB0aGUgb2NjdXJyZW5jZSBtb2RlbCBhdAorCSAqIHRoaXMgbGV2ZWwuCisJICovCisJaWYgKHJldCA9PSAwKSB7CisJICAgIHN3aXRjaCAoQ09OVC0+b2N1cikgeworCQl4bWxOb2RlUHRyIGN1cjsKKworCQljYXNlIFhNTF9FTEVNRU5UX0NPTlRFTlRfT05DRToKKwkJICAgIGN1ciA9IGN0eHQtPnZzdGF0ZS0+bm9kZTsKKwkJICAgIERFQlVHX1ZBTElEX01TRygiT25jZSBicmFuY2ggZmFpbGVkLCByb2xsYmFjayIpOworCQkgICAgaWYgKHZzdGF0ZVZQb3AoY3R4dCkgPCAwICkgeworCQkJREVCVUdfVkFMSURfTVNHKCJleGhhdXN0aW9uLCBmYWlsZWQiKTsKKwkJCXJldHVybigwKTsKKwkJICAgIH0KKwkJICAgIGlmIChjdXIgIT0gY3R4dC0+dnN0YXRlLT5ub2RlKQorCQkJZGV0ZXJtaW5pc3QgPSAtMzsKKwkJICAgIGdvdG8gY29udDsKKwkJY2FzZSBYTUxfRUxFTUVOVF9DT05URU5UX1BMVVM6CisJCSAgICBpZiAoT0NDVVJSRU5DRSA9PSAwKSB7CisJCQljdXIgPSBjdHh0LT52c3RhdGUtPm5vZGU7CisJCQlERUJVR19WQUxJRF9NU0coIlBsdXMgYnJhbmNoIGZhaWxlZCwgcm9sbGJhY2siKTsKKwkJCWlmICh2c3RhdGVWUG9wKGN0eHQpIDwgMCApIHsKKwkJCSAgICBERUJVR19WQUxJRF9NU0coImV4aGF1c3Rpb24sIGZhaWxlZCIpOworCQkJICAgIHJldHVybigwKTsKKwkJCX0KKwkJCWlmIChjdXIgIT0gY3R4dC0+dnN0YXRlLT5ub2RlKQorCQkJICAgIGRldGVybWluaXN0ID0gLTM7CisJCQlnb3RvIGNvbnQ7CisJCSAgICB9CisJCSAgICBERUJVR19WQUxJRF9NU0coIlBsdXMgYnJhbmNoIGZvdW5kIik7CisJCSAgICByZXQgPSAxOworCQkgICAgYnJlYWs7CisJCWNhc2UgWE1MX0VMRU1FTlRfQ09OVEVOVF9NVUxUOgorI2lmZGVmIERFQlVHX1ZBTElEX0FMR08KKwkJICAgIGlmIChPQ0NVUlJFTkNFID09IDApIHsKKwkJCURFQlVHX1ZBTElEX01TRygiTXVsdCBicmFuY2ggZmFpbGVkIik7CisJCSAgICB9IGVsc2UgeworCQkJREVCVUdfVkFMSURfTVNHKCJNdWx0IGJyYW5jaCBmb3VuZCIpOworCQkgICAgfQorI2VuZGlmCisJCSAgICByZXQgPSAxOworCQkgICAgYnJlYWs7CisJCWNhc2UgWE1MX0VMRU1FTlRfQ09OVEVOVF9PUFQ6CisJCSAgICBERUJVR19WQUxJRF9NU0coIk9wdGlvbiBicmFuY2ggZmFpbGVkIik7CisJCSAgICByZXQgPSAxOworCQkgICAgYnJlYWs7CisJICAgIH0KKwl9IGVsc2UgeworCSAgICBzd2l0Y2ggKENPTlQtPm9jdXIpIHsKKwkJY2FzZSBYTUxfRUxFTUVOVF9DT05URU5UX09QVDoKKwkJICAgIERFQlVHX1ZBTElEX01TRygiT3B0aW9uIGJyYW5jaCBzdWNjZWVkZWQiKTsKKwkJICAgIHJldCA9IDE7CisJCSAgICBicmVhazsKKwkJY2FzZSBYTUxfRUxFTUVOVF9DT05URU5UX09OQ0U6CisJCSAgICBERUJVR19WQUxJRF9NU0coIk9uY2UgYnJhbmNoIHN1Y2NlZWRlZCIpOworCQkgICAgcmV0ID0gMTsKKwkJICAgIGJyZWFrOworCQljYXNlIFhNTF9FTEVNRU5UX0NPTlRFTlRfUExVUzoKKwkJICAgIGlmIChTVEFURSA9PSBST0xMQkFDS19QQVJFTlQpIHsKKwkJCURFQlVHX1ZBTElEX01TRygiUGx1cyBicmFuY2ggcm9sbGJhY2siKTsKKwkJCXJldCA9IDE7CisJCQlicmVhazsKKwkJICAgIH0KKwkJICAgIGlmIChOT0RFID09IE5VTEwpIHsKKwkJCURFQlVHX1ZBTElEX01TRygiUGx1cyBicmFuY2ggZXhoYXVzdGVkIik7CisJCQlyZXQgPSAxOworCQkJYnJlYWs7CisJCSAgICB9CisJCSAgICBERUJVR19WQUxJRF9NU0coIlBsdXMgYnJhbmNoIHN1Y2NlZWRlZCwgY29udGludWluZyIpOworCQkgICAgU0VUX09DQ1VSUkVOQ0U7CisJCSAgICBnb3RvIGNvbnQ7CisJCWNhc2UgWE1MX0VMRU1FTlRfQ09OVEVOVF9NVUxUOgorCQkgICAgaWYgKFNUQVRFID09IFJPTExCQUNLX1BBUkVOVCkgeworCQkJREVCVUdfVkFMSURfTVNHKCJNdWx0IGJyYW5jaCByb2xsYmFjayIpOworCQkJcmV0ID0gMTsKKwkJCWJyZWFrOworCQkgICAgfQorCQkgICAgaWYgKE5PREUgPT0gTlVMTCkgeworCQkJREVCVUdfVkFMSURfTVNHKCJNdWx0IGJyYW5jaCBleGhhdXN0ZWQiKTsKKwkJCXJldCA9IDE7CisJCQlicmVhazsKKwkJICAgIH0KKwkJICAgIERFQlVHX1ZBTElEX01TRygiTXVsdCBicmFuY2ggc3VjY2VlZGVkLCBjb250aW51aW5nIik7CisJCSAgICAvKiBTRVRfT0NDVVJSRU5DRTsgKi8KKwkJICAgIGdvdG8gY29udDsKKwkgICAgfQorCX0KKwlTVEFURSA9IDA7CisKKwkvKgorCSAqIFRoZW4gYWN0IGFjY29yZGluZ2x5IGF0IHRoZSBwYXJlbnQgbGV2ZWwKKwkgKi8KKwlSRVNFVF9PQ0NVUlJFTkNFOworCWlmIChDT05ULT5wYXJlbnQgPT0gTlVMTCkKKwkgICAgYnJlYWs7CisKKwlzd2l0Y2ggKENPTlQtPnBhcmVudC0+dHlwZSkgeworCSAgICBjYXNlIFhNTF9FTEVNRU5UX0NPTlRFTlRfUENEQVRBOgorCQlERUJVR19WQUxJRF9NU0coIkVycm9yOiBwYXJlbnQgcGNkYXRhIik7CisJCXJldHVybigtMSk7CisJICAgIGNhc2UgWE1MX0VMRU1FTlRfQ09OVEVOVF9FTEVNRU5UOgorCQlERUJVR19WQUxJRF9NU0coIkVycm9yOiBwYXJlbnQgZWxlbWVudCIpOworCQlyZXR1cm4oLTEpOworCSAgICBjYXNlIFhNTF9FTEVNRU5UX0NPTlRFTlRfT1I6CisJCWlmIChyZXQgPT0gMSkgeworCQkgICAgREVCVUdfVkFMSURfTVNHKCJPciBzdWNjZWVkZWQiKTsKKwkJICAgIENPTlQgPSBDT05ULT5wYXJlbnQ7CisJCSAgICBERVBUSC0tOworCQl9IGVsc2UgeworCQkgICAgREVCVUdfVkFMSURfTVNHKCJPciBmYWlsZWQiKTsKKwkJICAgIENPTlQgPSBDT05ULT5wYXJlbnQ7CisJCSAgICBERVBUSC0tOworCQl9CisJCWJyZWFrOworCSAgICBjYXNlIFhNTF9FTEVNRU5UX0NPTlRFTlRfU0VROgorCQlpZiAocmV0ID09IDApIHsKKwkJICAgIERFQlVHX1ZBTElEX01TRygiU2VxdWVuY2UgZmFpbGVkIik7CisJCSAgICBDT05UID0gQ09OVC0+cGFyZW50OworCQkgICAgREVQVEgtLTsKKwkJfSBlbHNlIGlmIChDT05UID09IENPTlQtPnBhcmVudC0+YzEpIHsKKwkJICAgIERFQlVHX1ZBTElEX01TRygiU2VxdWVuY2UgdGVzdGluZyAybmQgYnJhbmNoIik7CisJCSAgICBDT05UID0gQ09OVC0+cGFyZW50LT5jMjsKKwkJICAgIGdvdG8gY29udDsKKwkJfSBlbHNlIHsKKwkJICAgIERFQlVHX1ZBTElEX01TRygiU2VxdWVuY2Ugc3VjY2VlZGVkIik7CisJCSAgICBDT05UID0gQ09OVC0+cGFyZW50OworCQkgICAgREVQVEgtLTsKKwkJfQorCX0KKyAgICB9CisgICAgaWYgKE5PREUgIT0gTlVMTCkgeworCXhtbE5vZGVQdHIgY3VyOworCisJY3VyID0gY3R4dC0+dnN0YXRlLT5ub2RlOworCURFQlVHX1ZBTElEX01TRygiRmFpbGVkLCByZW1haW5pbmcgaW5wdXQsIHJvbGxiYWNrIik7CisJaWYgKHZzdGF0ZVZQb3AoY3R4dCkgPCAwICkgeworCSAgICBERUJVR19WQUxJRF9NU0coImV4aGF1c3Rpb24sIGZhaWxlZCIpOworCSAgICByZXR1cm4oMCk7CisJfQorCWlmIChjdXIgIT0gY3R4dC0+dnN0YXRlLT5ub2RlKQorCSAgICBkZXRlcm1pbmlzdCA9IC0zOworCWdvdG8gY29udDsKKyAgICB9CisgICAgaWYgKHJldCA9PSAwKSB7CisJeG1sTm9kZVB0ciBjdXI7CisKKwljdXIgPSBjdHh0LT52c3RhdGUtPm5vZGU7CisJREVCVUdfVkFMSURfTVNHKCJGYWlsdXJlLCByb2xsYmFjayIpOworCWlmICh2c3RhdGVWUG9wKGN0eHQpIDwgMCApIHsKKwkgICAgREVCVUdfVkFMSURfTVNHKCJleGhhdXN0aW9uLCBmYWlsZWQiKTsKKwkgICAgcmV0dXJuKDApOworCX0KKwlpZiAoY3VyICE9IGN0eHQtPnZzdGF0ZS0+bm9kZSkKKwkgICAgZGV0ZXJtaW5pc3QgPSAtMzsKKwlnb3RvIGNvbnQ7CisgICAgfQorICAgIHJldHVybihkZXRlcm1pbmlzdCk7Cit9CisjZW5kaWYKKworLyoqCisgKiB4bWxTbnByaW50ZkVsZW1lbnRzOgorICogQGJ1ZjogIGFuIG91dHB1dCBidWZmZXIKKyAqIEBzaXplOiAgdGhlIHNpemUgb2YgdGhlIGJ1ZmZlcgorICogQGNvbnRlbnQ6ICBBbiBlbGVtZW50CisgKiBAZ2xvYjogMSBpZiBvbmUgbXVzdCBwcmludCB0aGUgZW5nbG9iaW5nIHBhcmVudGhlc2lzLCAwIG90aGVyd2lzZQorICoKKyAqIFRoaXMgd2lsbCBkdW1wIHRoZSBsaXN0IG9mIGVsZW1lbnRzIHRvIHRoZSBidWZmZXIKKyAqIEludGVuZGVkIGp1c3QgZm9yIHRoZSBkZWJ1ZyByb3V0aW5lCisgKi8KK3N0YXRpYyB2b2lkCit4bWxTbnByaW50ZkVsZW1lbnRzKGNoYXIgKmJ1ZiwgaW50IHNpemUsIHhtbE5vZGVQdHIgbm9kZSwgaW50IGdsb2IpIHsKKyAgICB4bWxOb2RlUHRyIGN1cjsKKyAgICBpbnQgbGVuOworCisgICAgaWYgKG5vZGUgPT0gTlVMTCkgcmV0dXJuOworICAgIGlmIChnbG9iKSBzdHJjYXQoYnVmLCAiKCIpOworICAgIGN1ciA9IG5vZGU7CisgICAgd2hpbGUgKGN1ciAhPSBOVUxMKSB7CisJbGVuID0gc3RybGVuKGJ1Zik7CisJaWYgKHNpemUgLSBsZW4gPCA1MCkgeworCSAgICBpZiAoKHNpemUgLSBsZW4gPiA0KSAmJiAoYnVmW2xlbiAtIDFdICE9ICcuJykpCisJCXN0cmNhdChidWYsICIgLi4uIik7CisJICAgIHJldHVybjsKKwl9CisgICAgICAgIHN3aXRjaCAoY3VyLT50eXBlKSB7CisgICAgICAgICAgICBjYXNlIFhNTF9FTEVNRU5UX05PREU6CisJCWlmICgoY3VyLT5ucyAhPSBOVUxMKSAmJiAoY3VyLT5ucy0+cHJlZml4ICE9IE5VTEwpKSB7CisJCSAgICBpZiAoc2l6ZSAtIGxlbiA8IHhtbFN0cmxlbihjdXItPm5zLT5wcmVmaXgpICsgMTApIHsKKwkJCWlmICgoc2l6ZSAtIGxlbiA+IDQpICYmIChidWZbbGVuIC0gMV0gIT0gJy4nKSkKKwkJCSAgICBzdHJjYXQoYnVmLCAiIC4uLiIpOworCQkJcmV0dXJuOworCQkgICAgfQorCQkgICAgc3RyY2F0KGJ1ZiwgKGNoYXIgKikgY3VyLT5ucy0+cHJlZml4KTsKKwkJICAgIHN0cmNhdChidWYsICI6Iik7CisJCX0KKyAgICAgICAgICAgICAgICBpZiAoc2l6ZSAtIGxlbiA8IHhtbFN0cmxlbihjdXItPm5hbWUpICsgMTApIHsKKwkJICAgIGlmICgoc2l6ZSAtIGxlbiA+IDQpICYmIChidWZbbGVuIC0gMV0gIT0gJy4nKSkKKwkJCXN0cmNhdChidWYsICIgLi4uIik7CisJCSAgICByZXR1cm47CisJCX0KKwkgICAgICAgIHN0cmNhdChidWYsIChjaGFyICopIGN1ci0+bmFtZSk7CisJCWlmIChjdXItPm5leHQgIT0gTlVMTCkKKwkJICAgIHN0cmNhdChidWYsICIgIik7CisJCWJyZWFrOworICAgICAgICAgICAgY2FzZSBYTUxfVEVYVF9OT0RFOgorCQlpZiAoeG1sSXNCbGFua05vZGUoY3VyKSkKKwkJICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBYTUxfQ0RBVEFfU0VDVElPTl9OT0RFOgorICAgICAgICAgICAgY2FzZSBYTUxfRU5USVRZX1JFRl9OT0RFOgorCSAgICAgICAgc3RyY2F0KGJ1ZiwgIkNEQVRBIik7CisJCWlmIChjdXItPm5leHQgIT0gTlVMTCkKKwkJICAgIHN0cmNhdChidWYsICIgIik7CisJCWJyZWFrOworICAgICAgICAgICAgY2FzZSBYTUxfQVRUUklCVVRFX05PREU6CisgICAgICAgICAgICBjYXNlIFhNTF9ET0NVTUVOVF9OT0RFOgorI2lmZGVmIExJQlhNTF9ET0NCX0VOQUJMRUQKKwkgICAgY2FzZSBYTUxfRE9DQl9ET0NVTUVOVF9OT0RFOgorI2VuZGlmCisJICAgIGNhc2UgWE1MX0hUTUxfRE9DVU1FTlRfTk9ERToKKyAgICAgICAgICAgIGNhc2UgWE1MX0RPQ1VNRU5UX1RZUEVfTk9ERToKKyAgICAgICAgICAgIGNhc2UgWE1MX0RPQ1VNRU5UX0ZSQUdfTk9ERToKKyAgICAgICAgICAgIGNhc2UgWE1MX05PVEFUSU9OX05PREU6CisJICAgIGNhc2UgWE1MX05BTUVTUEFDRV9ERUNMOgorCSAgICAgICAgc3RyY2F0KGJ1ZiwgIj8/PyIpOworCQlpZiAoY3VyLT5uZXh0ICE9IE5VTEwpCisJCSAgICBzdHJjYXQoYnVmLCAiICIpOworCQlicmVhazsKKyAgICAgICAgICAgIGNhc2UgWE1MX0VOVElUWV9OT0RFOgorICAgICAgICAgICAgY2FzZSBYTUxfUElfTk9ERToKKyAgICAgICAgICAgIGNhc2UgWE1MX0RURF9OT0RFOgorICAgICAgICAgICAgY2FzZSBYTUxfQ09NTUVOVF9OT0RFOgorCSAgICBjYXNlIFhNTF9FTEVNRU5UX0RFQ0w6CisJICAgIGNhc2UgWE1MX0FUVFJJQlVURV9ERUNMOgorCSAgICBjYXNlIFhNTF9FTlRJVFlfREVDTDoKKwkgICAgY2FzZSBYTUxfWElOQ0xVREVfU1RBUlQ6CisJICAgIGNhc2UgWE1MX1hJTkNMVURFX0VORDoKKwkJYnJlYWs7CisJfQorCWN1ciA9IGN1ci0+bmV4dDsKKyAgICB9CisgICAgaWYgKGdsb2IpIHN0cmNhdChidWYsICIpIik7Cit9CisKKy8qKgorICogeG1sVmFsaWRhdGVFbGVtZW50Q29udGVudDoKKyAqIEBjdHh0OiAgdGhlIHZhbGlkYXRpb24gY29udGV4dAorICogQGNoaWxkOiAgdGhlIGNoaWxkIGxpc3QKKyAqIEBlbGVtRGVjbDogIHBvaW50ZXIgdG8gdGhlIGVsZW1lbnQgZGVjbGFyYXRpb24KKyAqIEB3YXJuOiAgZW1pdCB0aGUgZXJyb3IgbWVzc2FnZQorICogQHBhcmVudDogdGhlIHBhcmVudCBlbGVtZW50IChmb3IgZXJyb3IgcmVwb3J0aW5nKQorICoKKyAqIFRyeSB0byB2YWxpZGF0ZSB0aGUgY29udGVudCBtb2RlbCBvZiBhbiBlbGVtZW50CisgKgorICogcmV0dXJucyAxIGlmIHZhbGlkIG9yIDAgaWYgbm90IGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KKworc3RhdGljIGludAoreG1sVmFsaWRhdGVFbGVtZW50Q29udGVudCh4bWxWYWxpZEN0eHRQdHIgY3R4dCwgeG1sTm9kZVB0ciBjaGlsZCwKKyAgICAgICB4bWxFbGVtZW50UHRyIGVsZW1EZWNsLCBpbnQgd2FybiwgeG1sTm9kZVB0ciBwYXJlbnQpIHsKKyAgICBpbnQgcmV0ID0gMTsKKyNpZm5kZWYgIExJQlhNTF9SRUdFWFBfRU5BQkxFRAorICAgIHhtbE5vZGVQdHIgcmVwbCA9IE5VTEwsIGxhc3QgPSBOVUxMLCB0bXA7CisjZW5kaWYKKyAgICB4bWxOb2RlUHRyIGN1cjsKKyAgICB4bWxFbGVtZW50Q29udGVudFB0ciBjb250OworICAgIGNvbnN0IHhtbENoYXIgKm5hbWU7CisKKyAgICBpZiAoKGVsZW1EZWNsID09IE5VTEwpIHx8IChwYXJlbnQgPT0gTlVMTCkgfHwgKGN0eHQgPT0gTlVMTCkpCisJcmV0dXJuKC0xKTsKKyAgICBjb250ID0gZWxlbURlY2wtPmNvbnRlbnQ7CisgICAgbmFtZSA9IGVsZW1EZWNsLT5uYW1lOworCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECisgICAgLyogQnVpbGQgdGhlIHJlZ2V4cCBhc3NvY2lhdGVkIHRvIHRoZSBjb250ZW50IG1vZGVsICovCisgICAgaWYgKGVsZW1EZWNsLT5jb250TW9kZWwgPT0gTlVMTCkKKwlyZXQgPSB4bWxWYWxpZEJ1aWxkQ29udGVudE1vZGVsKGN0eHQsIGVsZW1EZWNsKTsKKyAgICBpZiAoZWxlbURlY2wtPmNvbnRNb2RlbCA9PSBOVUxMKSB7CisJcmV0dXJuKC0xKTsKKyAgICB9IGVsc2UgeworCXhtbFJlZ0V4ZWNDdHh0UHRyIGV4ZWM7CisKKwlpZiAoIXhtbFJlZ2V4cElzRGV0ZXJtaW5pc3QoZWxlbURlY2wtPmNvbnRNb2RlbCkpIHsKKwkgICAgcmV0dXJuKC0xKTsKKwl9CisJY3R4dC0+bm9kZU1heCA9IDA7CisJY3R4dC0+bm9kZU5yID0gMDsKKwljdHh0LT5ub2RlVGFiID0gTlVMTDsKKwlleGVjID0geG1sUmVnTmV3RXhlY0N0eHQoZWxlbURlY2wtPmNvbnRNb2RlbCwgTlVMTCwgTlVMTCk7CisJaWYgKGV4ZWMgIT0gTlVMTCkgeworCSAgICBjdXIgPSBjaGlsZDsKKwkgICAgd2hpbGUgKGN1ciAhPSBOVUxMKSB7CisJCXN3aXRjaCAoY3VyLT50eXBlKSB7CisJCSAgICBjYXNlIFhNTF9FTlRJVFlfUkVGX05PREU6CisJCQkvKgorCQkJICogUHVzaCB0aGUgY3VycmVudCBub2RlIHRvIGJlIGFibGUgdG8gcm9sbCBiYWNrCisJCQkgKiBhbmQgcHJvY2VzcyB3aXRoaW4gdGhlIGVudGl0eQorCQkJICovCisJCQlpZiAoKGN1ci0+Y2hpbGRyZW4gIT0gTlVMTCkgJiYKKwkJCSAgICAoY3VyLT5jaGlsZHJlbi0+Y2hpbGRyZW4gIT0gTlVMTCkpIHsKKwkJCSAgICBub2RlVlB1c2goY3R4dCwgY3VyKTsKKwkJCSAgICBjdXIgPSBjdXItPmNoaWxkcmVuLT5jaGlsZHJlbjsKKwkJCSAgICBjb250aW51ZTsKKwkJCX0KKwkJCWJyZWFrOworCQkgICAgY2FzZSBYTUxfVEVYVF9OT0RFOgorCQkJaWYgKHhtbElzQmxhbmtOb2RlKGN1cikpCisJCQkgICAgYnJlYWs7CisJCQlyZXQgPSAwOworCQkJZ290byBmYWlsOworCQkgICAgY2FzZSBYTUxfQ0RBVEFfU0VDVElPTl9OT0RFOgorCQkJLyogVE9ETyAqLworCQkJcmV0ID0gMDsKKwkJCWdvdG8gZmFpbDsKKwkJICAgIGNhc2UgWE1MX0VMRU1FTlRfTk9ERToKKwkJCWlmICgoY3VyLT5ucyAhPSBOVUxMKSAmJiAoY3VyLT5ucy0+cHJlZml4ICE9IE5VTEwpKSB7CisJCQkgICAgeG1sQ2hhciBmbls1MF07CisJCQkgICAgeG1sQ2hhciAqZnVsbG5hbWU7CisKKwkJCSAgICBmdWxsbmFtZSA9IHhtbEJ1aWxkUU5hbWUoY3VyLT5uYW1lLAorCQkJCSAgICAgICAgICAgICAgICAgICAgIGN1ci0+bnMtPnByZWZpeCwgZm4sIDUwKTsKKwkJCSAgICBpZiAoZnVsbG5hbWUgPT0gTlVMTCkgeworCQkJCXJldCA9IC0xOworCQkJCWdvdG8gZmFpbDsKKwkJCSAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0ID0geG1sUmVnRXhlY1B1c2hTdHJpbmcoZXhlYywgZnVsbG5hbWUsIE5VTEwpOworCQkJICAgIGlmICgoZnVsbG5hbWUgIT0gZm4pICYmIChmdWxsbmFtZSAhPSBjdXItPm5hbWUpKQorCQkJCXhtbEZyZWUoZnVsbG5hbWUpOworCQkJfSBlbHNlIHsKKwkJCSAgICByZXQgPSB4bWxSZWdFeGVjUHVzaFN0cmluZyhleGVjLCBjdXItPm5hbWUsIE5VTEwpOworCQkJfQorCQkJYnJlYWs7CisJCSAgICBkZWZhdWx0OgorCQkJYnJlYWs7CisJCX0KKwkJLyoKKwkJICogU3dpdGNoIHRvIG5leHQgZWxlbWVudAorCQkgKi8KKwkJY3VyID0gY3VyLT5uZXh0OworCQl3aGlsZSAoY3VyID09IE5VTEwpIHsKKwkJICAgIGN1ciA9IG5vZGVWUG9wKGN0eHQpOworCQkgICAgaWYgKGN1ciA9PSBOVUxMKQorCQkJYnJlYWs7CisJCSAgICBjdXIgPSBjdXItPm5leHQ7CisJCX0KKwkgICAgfQorCSAgICByZXQgPSB4bWxSZWdFeGVjUHVzaFN0cmluZyhleGVjLCBOVUxMLCBOVUxMKTsKK2ZhaWw6CisJICAgIHhtbFJlZ0ZyZWVFeGVjQ3R4dChleGVjKTsKKwl9CisgICAgfQorI2Vsc2UgIC8qIExJQlhNTF9SRUdFWFBfRU5BQkxFRCAqLworICAgIC8qCisgICAgICogQWxsb2NhdGUgdGhlIHN0YWNrCisgICAgICovCisgICAgY3R4dC0+dnN0YXRlTWF4ID0gODsKKyAgICBjdHh0LT52c3RhdGVUYWIgPSAoeG1sVmFsaWRTdGF0ZSAqKSB4bWxNYWxsb2MoCisJCSBjdHh0LT52c3RhdGVNYXggKiBzaXplb2YoY3R4dC0+dnN0YXRlVGFiWzBdKSk7CisgICAgaWYgKGN0eHQtPnZzdGF0ZVRhYiA9PSBOVUxMKSB7CisJeG1sVkVyck1lbW9yeShjdHh0LCAibWFsbG9jIGZhaWxlZCIpOworCXJldHVybigtMSk7CisgICAgfQorICAgIC8qCisgICAgICogVGhlIGZpcnN0IGVudHJ5IGluIHRoZSBzdGFjayBpcyByZXNlcnZlZCB0byB0aGUgY3VycmVudCBzdGF0ZQorICAgICAqLworICAgIGN0eHQtPm5vZGVNYXggPSAwOworICAgIGN0eHQtPm5vZGVOciA9IDA7CisgICAgY3R4dC0+bm9kZVRhYiA9IE5VTEw7CisgICAgY3R4dC0+dnN0YXRlID0gJmN0eHQtPnZzdGF0ZVRhYlswXTsKKyAgICBjdHh0LT52c3RhdGVOciA9IDE7CisgICAgQ09OVCA9IGNvbnQ7CisgICAgTk9ERSA9IGNoaWxkOworICAgIERFUFRIID0gMDsKKyAgICBPQ0NVUlMgPSAwOworICAgIFNUQVRFID0gMDsKKyAgICByZXQgPSB4bWxWYWxpZGF0ZUVsZW1lbnRUeXBlKGN0eHQpOworICAgIGlmICgocmV0ID09IC0zKSAmJiAod2FybikpIHsKKwl4bWxFcnJWYWxpZFdhcm5pbmcoY3R4dCwgY2hpbGQsIFhNTF9EVERfQ09OVEVOVF9OT1RfREVURVJNSU5JU1QsCisJICAgICAgICJDb250ZW50IG1vZGVsIGZvciBFbGVtZW50ICVzIGlzIGFtYmlndW91c1xuIiwKKwkgICAgICAgICAgICAgICAgICAgbmFtZSwgTlVMTCwgTlVMTCk7CisgICAgfSBlbHNlIGlmIChyZXQgPT0gLTIpIHsKKwkvKgorCSAqIEFuIGVudGl0aWVzIHJlZmVyZW5jZSBhcHBlYXJlZCBhdCB0aGlzIGxldmVsLgorCSAqIEJ1aWQgYSBtaW5pbWFsIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgbm9kZSBjb250ZW50CisJICogc3VmZmljaWVudCB0byBydW4gdGhlIHZhbGlkYXRpb24gcHJvY2VzcyBvbiBpdAorCSAqLworCURFQlVHX1ZBTElEX01TRygiRm91bmQgYW4gZW50aXR5IHJlZmVyZW5jZSwgbGluZWFyaXppbmciKTsKKwljdXIgPSBjaGlsZDsKKwl3aGlsZSAoY3VyICE9IE5VTEwpIHsKKwkgICAgc3dpdGNoIChjdXItPnR5cGUpIHsKKwkJY2FzZSBYTUxfRU5USVRZX1JFRl9OT0RFOgorCQkgICAgLyoKKwkJICAgICAqIFB1c2ggdGhlIGN1cnJlbnQgbm9kZSB0byBiZSBhYmxlIHRvIHJvbGwgYmFjaworCQkgICAgICogYW5kIHByb2Nlc3Mgd2l0aGluIHRoZSBlbnRpdHkKKwkJICAgICAqLworCQkgICAgaWYgKChjdXItPmNoaWxkcmVuICE9IE5VTEwpICYmCisJCQkoY3VyLT5jaGlsZHJlbi0+Y2hpbGRyZW4gIT0gTlVMTCkpIHsKKwkJCW5vZGVWUHVzaChjdHh0LCBjdXIpOworCQkJY3VyID0gY3VyLT5jaGlsZHJlbi0+Y2hpbGRyZW47CisJCQljb250aW51ZTsKKwkJICAgIH0KKwkJICAgIGJyZWFrOworCQljYXNlIFhNTF9URVhUX05PREU6CisJCSAgICBpZiAoeG1sSXNCbGFua05vZGUoY3VyKSkKKwkJCWJyZWFrOworCQkgICAgLyogbm8gYnJlYWsgb24gcHVycG9zZSAqLworCQljYXNlIFhNTF9DREFUQV9TRUNUSU9OX05PREU6CisJCSAgICAvKiBubyBicmVhayBvbiBwdXJwb3NlICovCisJCWNhc2UgWE1MX0VMRU1FTlRfTk9ERToKKwkJICAgIC8qCisJCSAgICAgKiBBbGxvY2F0ZSBhIG5ldyBub2RlIGFuZCBtaW5pbWFsbHkgZmlsbHMgaW4KKwkJICAgICAqIHdoYXQncyByZXF1aXJlZAorCQkgICAgICovCisJCSAgICB0bXAgPSAoeG1sTm9kZVB0cikgeG1sTWFsbG9jKHNpemVvZih4bWxOb2RlKSk7CisJCSAgICBpZiAodG1wID09IE5VTEwpIHsKKwkJCXhtbFZFcnJNZW1vcnkoY3R4dCwgIm1hbGxvYyBmYWlsZWQiKTsKKwkJCXhtbEZyZWVOb2RlTGlzdChyZXBsKTsKKwkJCXJldCA9IC0xOworCQkJZ290byBkb25lOworCQkgICAgfQorCQkgICAgdG1wLT50eXBlID0gY3VyLT50eXBlOworCQkgICAgdG1wLT5uYW1lID0gY3VyLT5uYW1lOworCQkgICAgdG1wLT5ucyA9IGN1ci0+bnM7CisJCSAgICB0bXAtPm5leHQgPSBOVUxMOworCQkgICAgdG1wLT5jb250ZW50ID0gTlVMTDsKKwkJICAgIGlmIChyZXBsID09IE5VTEwpCisJCQlyZXBsID0gbGFzdCA9IHRtcDsKKwkJICAgIGVsc2UgeworCQkJbGFzdC0+bmV4dCA9IHRtcDsKKwkJCWxhc3QgPSB0bXA7CisJCSAgICB9CisJCSAgICBpZiAoY3VyLT50eXBlID09IFhNTF9DREFUQV9TRUNUSU9OX05PREUpIHsKKwkJCS8qCisJCQkgKiBFNTkgc3BhY2VzIGluIENEQVRBIGRvZXMgbm90IG1hdGNoIHRoZQorCQkJICogbm9udGVybWluYWwgUworCQkJICovCisJCQl0bXAtPmNvbnRlbnQgPSB4bWxTdHJkdXAoQkFEX0NBU1QgIkNEQVRBIik7CisJCSAgICB9CisJCSAgICBicmVhazsKKwkJZGVmYXVsdDoKKwkJICAgIGJyZWFrOworCSAgICB9CisJICAgIC8qCisJICAgICAqIFN3aXRjaCB0byBuZXh0IGVsZW1lbnQKKwkgICAgICovCisJICAgIGN1ciA9IGN1ci0+bmV4dDsKKwkgICAgd2hpbGUgKGN1ciA9PSBOVUxMKSB7CisJCWN1ciA9IG5vZGVWUG9wKGN0eHQpOworCQlpZiAoY3VyID09IE5VTEwpCisJCSAgICBicmVhazsKKwkJY3VyID0gY3VyLT5uZXh0OworCSAgICB9CisJfQorCisJLyoKKwkgKiBSZWxhdW5jaCB0aGUgdmFsaWRhdGlvbgorCSAqLworCWN0eHQtPnZzdGF0ZSA9ICZjdHh0LT52c3RhdGVUYWJbMF07CisJY3R4dC0+dnN0YXRlTnIgPSAxOworCUNPTlQgPSBjb250OworCU5PREUgPSByZXBsOworCURFUFRIID0gMDsKKwlPQ0NVUlMgPSAwOworCVNUQVRFID0gMDsKKwlyZXQgPSB4bWxWYWxpZGF0ZUVsZW1lbnRUeXBlKGN0eHQpOworICAgIH0KKyNlbmRpZiAvKiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQgKi8KKyAgICBpZiAoKHdhcm4pICYmICgocmV0ICE9IDEpICYmIChyZXQgIT0gLTMpKSkgeworCWlmIChjdHh0ICE9IE5VTEwpIHsKKwkgICAgY2hhciBleHByWzUwMDBdOworCSAgICBjaGFyIGxpc3RbNTAwMF07CisKKwkgICAgZXhwclswXSA9IDA7CisJICAgIHhtbFNucHJpbnRmRWxlbWVudENvbnRlbnQoJmV4cHJbMF0sIDUwMDAsIGNvbnQsIDEpOworCSAgICBsaXN0WzBdID0gMDsKKyNpZm5kZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECisJICAgIGlmIChyZXBsICE9IE5VTEwpCisJCXhtbFNucHJpbnRmRWxlbWVudHMoJmxpc3RbMF0sIDUwMDAsIHJlcGwsIDEpOworCSAgICBlbHNlCisjZW5kaWYgLyogTElCWE1MX1JFR0VYUF9FTkFCTEVEICovCisJCXhtbFNucHJpbnRmRWxlbWVudHMoJmxpc3RbMF0sIDUwMDAsIGNoaWxkLCAxKTsKKworCSAgICBpZiAobmFtZSAhPSBOVUxMKSB7CisJCXhtbEVyclZhbGlkTm9kZShjdHh0LCBwYXJlbnQsIFhNTF9EVERfQ09OVEVOVF9NT0RFTCwKKwkgICAiRWxlbWVudCAlcyBjb250ZW50IGRvZXMgbm90IGZvbGxvdyB0aGUgRFRELCBleHBlY3RpbmcgJXMsIGdvdCAlc1xuIiwKKwkJICAgICAgIG5hbWUsIEJBRF9DQVNUIGV4cHIsIEJBRF9DQVNUIGxpc3QpOworCSAgICB9IGVsc2UgeworCQl4bWxFcnJWYWxpZE5vZGUoY3R4dCwgcGFyZW50LCBYTUxfRFREX0NPTlRFTlRfTU9ERUwsCisJICAgIkVsZW1lbnQgY29udGVudCBkb2VzIG5vdCBmb2xsb3cgdGhlIERURCwgZXhwZWN0aW5nICVzLCBnb3QgJXNcbiIsCisJCSAgICAgICBCQURfQ0FTVCBleHByLCBCQURfQ0FTVCBsaXN0LCBOVUxMKTsKKwkgICAgfQorCX0gZWxzZSB7CisJICAgIGlmIChuYW1lICE9IE5VTEwpIHsKKwkJeG1sRXJyVmFsaWROb2RlKGN0eHQsIHBhcmVudCwgWE1MX0RURF9DT05URU5UX01PREVMLAorCQkgICAgICAgIkVsZW1lbnQgJXMgY29udGVudCBkb2VzIG5vdCBmb2xsb3cgdGhlIERURFxuIiwKKwkJICAgICAgIG5hbWUsIE5VTEwsIE5VTEwpOworCSAgICB9IGVsc2UgeworCQl4bWxFcnJWYWxpZE5vZGUoY3R4dCwgcGFyZW50LCBYTUxfRFREX0NPTlRFTlRfTU9ERUwsCisJCSAgICAgICAiRWxlbWVudCBjb250ZW50IGRvZXMgbm90IGZvbGxvdyB0aGUgRFREXG4iLAorCQkgICAgICAgICAgICAgICAgTlVMTCwgTlVMTCwgTlVMTCk7CisJICAgIH0KKwl9CisJcmV0ID0gMDsKKyAgICB9CisgICAgaWYgKHJldCA9PSAtMykKKwlyZXQgPSAxOworCisjaWZuZGVmICBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKK2RvbmU6CisgICAgLyoKKyAgICAgKiBEZWFsbG9jYXRlIHRoZSBjb3B5IGlmIGRvbmUsIGFuZCBmcmVlIHVwIHRoZSB2YWxpZGF0aW9uIHN0YWNrCisgICAgICovCisgICAgd2hpbGUgKHJlcGwgIT0gTlVMTCkgeworCXRtcCA9IHJlcGwtPm5leHQ7CisJeG1sRnJlZShyZXBsKTsKKwlyZXBsID0gdG1wOworICAgIH0KKyAgICBjdHh0LT52c3RhdGVNYXggPSAwOworICAgIGlmIChjdHh0LT52c3RhdGVUYWIgIT0gTlVMTCkgeworCXhtbEZyZWUoY3R4dC0+dnN0YXRlVGFiKTsKKwljdHh0LT52c3RhdGVUYWIgPSBOVUxMOworICAgIH0KKyNlbmRpZgorICAgIGN0eHQtPm5vZGVNYXggPSAwOworICAgIGN0eHQtPm5vZGVOciA9IDA7CisgICAgaWYgKGN0eHQtPm5vZGVUYWIgIT0gTlVMTCkgeworCXhtbEZyZWUoY3R4dC0+bm9kZVRhYik7CisJY3R4dC0+bm9kZVRhYiA9IE5VTEw7CisgICAgfQorICAgIHJldHVybihyZXQpOworCit9CisKKy8qKgorICogeG1sVmFsaWRhdGVDZGF0YUVsZW1lbnQ6CisgKiBAY3R4dDogIHRoZSB2YWxpZGF0aW9uIGNvbnRleHQKKyAqIEBkb2M6ICBhIGRvY3VtZW50IGluc3RhbmNlCisgKiBAZWxlbTogIGFuIGVsZW1lbnQgaW5zdGFuY2UKKyAqCisgKiBDaGVjayB0aGF0IGFuIGVsZW1lbnQgZm9sbG93cyAjQ0RBVEEKKyAqCisgKiByZXR1cm5zIDEgaWYgdmFsaWQgb3IgMCBvdGhlcndpc2UKKyAqLworc3RhdGljIGludAoreG1sVmFsaWRhdGVPbmVDZGF0YUVsZW1lbnQoeG1sVmFsaWRDdHh0UHRyIGN0eHQsIHhtbERvY1B0ciBkb2MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxOb2RlUHRyIGVsZW0pIHsKKyAgICBpbnQgcmV0ID0gMTsKKyAgICB4bWxOb2RlUHRyIGN1ciwgY2hpbGQ7CisKKyAgICBpZiAoKGN0eHQgPT0gTlVMTCkgfHwgKGRvYyA9PSBOVUxMKSB8fCAoZWxlbSA9PSBOVUxMKSB8fAorICAgICAgICAoZWxlbS0+dHlwZSAhPSBYTUxfRUxFTUVOVF9OT0RFKSkKKwlyZXR1cm4oMCk7CisKKyAgICBjaGlsZCA9IGVsZW0tPmNoaWxkcmVuOworCisgICAgY3VyID0gY2hpbGQ7CisgICAgd2hpbGUgKGN1ciAhPSBOVUxMKSB7CisJc3dpdGNoIChjdXItPnR5cGUpIHsKKwkgICAgY2FzZSBYTUxfRU5USVRZX1JFRl9OT0RFOgorCQkvKgorCQkgKiBQdXNoIHRoZSBjdXJyZW50IG5vZGUgdG8gYmUgYWJsZSB0byByb2xsIGJhY2sKKwkJICogYW5kIHByb2Nlc3Mgd2l0aGluIHRoZSBlbnRpdHkKKwkJICovCisJCWlmICgoY3VyLT5jaGlsZHJlbiAhPSBOVUxMKSAmJgorCQkgICAgKGN1ci0+Y2hpbGRyZW4tPmNoaWxkcmVuICE9IE5VTEwpKSB7CisJCSAgICBub2RlVlB1c2goY3R4dCwgY3VyKTsKKwkJICAgIGN1ciA9IGN1ci0+Y2hpbGRyZW4tPmNoaWxkcmVuOworCQkgICAgY29udGludWU7CisJCX0KKwkJYnJlYWs7CisJICAgIGNhc2UgWE1MX0NPTU1FTlRfTk9ERToKKwkgICAgY2FzZSBYTUxfUElfTk9ERToKKwkgICAgY2FzZSBYTUxfVEVYVF9OT0RFOgorCSAgICBjYXNlIFhNTF9DREFUQV9TRUNUSU9OX05PREU6CisJCWJyZWFrOworCSAgICBkZWZhdWx0OgorCQlyZXQgPSAwOworCQlnb3RvIGRvbmU7CisJfQorCS8qCisJICogU3dpdGNoIHRvIG5leHQgZWxlbWVudAorCSAqLworCWN1ciA9IGN1ci0+bmV4dDsKKwl3aGlsZSAoY3VyID09IE5VTEwpIHsKKwkgICAgY3VyID0gbm9kZVZQb3AoY3R4dCk7CisJICAgIGlmIChjdXIgPT0gTlVMTCkKKwkJYnJlYWs7CisJICAgIGN1ciA9IGN1ci0+bmV4dDsKKwl9CisgICAgfQorZG9uZToKKyAgICBjdHh0LT5ub2RlTWF4ID0gMDsKKyAgICBjdHh0LT5ub2RlTnIgPSAwOworICAgIGlmIChjdHh0LT5ub2RlVGFiICE9IE5VTEwpIHsKKwl4bWxGcmVlKGN0eHQtPm5vZGVUYWIpOworCWN0eHQtPm5vZGVUYWIgPSBOVUxMOworICAgIH0KKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxWYWxpZGF0ZUNoZWNrTWl4ZWQ6CisgKiBAY3R4dDogIHRoZSB2YWxpZGF0aW9uIGNvbnRleHQKKyAqIEBjb250OiAgdGhlIG1peGVkIGNvbnRlbnQgbW9kZWwKKyAqIEBxbmFtZTogIHRoZSBxdWFsaWZpZWQgbmFtZSBhcyBhcHBlYXJpbmcgaW4gdGhlIHNlcmlhbGl6YXRpb24KKyAqCisgKiBDaGVjayBpZiB0aGUgZ2l2ZW4gbm9kZSBpcyBwYXJ0IG9mIHRoZSBjb250ZW50IG1vZGVsLgorICoKKyAqIFJldHVybnMgMSBpZiB5ZXMsIDAgaWYgbm8sIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworc3RhdGljIGludAoreG1sVmFsaWRhdGVDaGVja01peGVkKHhtbFZhbGlkQ3R4dFB0ciBjdHh0LAorCSAgICAgICAgICAgICAgeG1sRWxlbWVudENvbnRlbnRQdHIgY29udCwgY29uc3QgeG1sQ2hhciAqcW5hbWUpIHsKKyAgICBjb25zdCB4bWxDaGFyICpuYW1lOworICAgIGludCBwbGVuOworICAgIG5hbWUgPSB4bWxTcGxpdFFOYW1lMyhxbmFtZSwgJnBsZW4pOworCisgICAgaWYgKG5hbWUgPT0gTlVMTCkgeworCXdoaWxlIChjb250ICE9IE5VTEwpIHsKKwkgICAgaWYgKGNvbnQtPnR5cGUgPT0gWE1MX0VMRU1FTlRfQ09OVEVOVF9FTEVNRU5UKSB7CisJCWlmICgoY29udC0+cHJlZml4ID09IE5VTEwpICYmICh4bWxTdHJFcXVhbChjb250LT5uYW1lLCBxbmFtZSkpKQorCQkgICAgcmV0dXJuKDEpOworCSAgICB9IGVsc2UgaWYgKChjb250LT50eXBlID09IFhNTF9FTEVNRU5UX0NPTlRFTlRfT1IpICYmCisJICAgICAgIChjb250LT5jMSAhPSBOVUxMKSAmJgorCSAgICAgICAoY29udC0+YzEtPnR5cGUgPT0gWE1MX0VMRU1FTlRfQ09OVEVOVF9FTEVNRU5UKSl7CisJCWlmICgoY29udC0+YzEtPnByZWZpeCA9PSBOVUxMKSAmJgorCQkgICAgKHhtbFN0ckVxdWFsKGNvbnQtPmMxLT5uYW1lLCBxbmFtZSkpKQorCQkgICAgcmV0dXJuKDEpOworCSAgICB9IGVsc2UgaWYgKChjb250LT50eXBlICE9IFhNTF9FTEVNRU5UX0NPTlRFTlRfT1IpIHx8CisJCShjb250LT5jMSA9PSBOVUxMKSB8fAorCQkoY29udC0+YzEtPnR5cGUgIT0gWE1MX0VMRU1FTlRfQ09OVEVOVF9QQ0RBVEEpKXsKKwkJeG1sRXJyVmFsaWQoTlVMTCwgWE1MX0RURF9NSVhFRF9DT1JSVVBULAorCQkJIkludGVybmFsOiBNSVhFRCBzdHJ1Y3QgY29ycnVwdGVkXG4iLAorCQkJTlVMTCk7CisJCWJyZWFrOworCSAgICB9CisJICAgIGNvbnQgPSBjb250LT5jMjsKKwl9CisgICAgfSBlbHNlIHsKKwl3aGlsZSAoY29udCAhPSBOVUxMKSB7CisJICAgIGlmIChjb250LT50eXBlID09IFhNTF9FTEVNRU5UX0NPTlRFTlRfRUxFTUVOVCkgeworCQlpZiAoKGNvbnQtPnByZWZpeCAhPSBOVUxMKSAmJgorCQkgICAgKHhtbFN0cm5jbXAoY29udC0+cHJlZml4LCBxbmFtZSwgcGxlbikgPT0gMCkgJiYKKwkJICAgICh4bWxTdHJFcXVhbChjb250LT5uYW1lLCBuYW1lKSkpCisJCSAgICByZXR1cm4oMSk7CisJICAgIH0gZWxzZSBpZiAoKGNvbnQtPnR5cGUgPT0gWE1MX0VMRU1FTlRfQ09OVEVOVF9PUikgJiYKKwkgICAgICAgKGNvbnQtPmMxICE9IE5VTEwpICYmCisJICAgICAgIChjb250LT5jMS0+dHlwZSA9PSBYTUxfRUxFTUVOVF9DT05URU5UX0VMRU1FTlQpKXsKKwkJaWYgKChjb250LT5jMS0+cHJlZml4ICE9IE5VTEwpICYmCisJCSAgICAoeG1sU3RybmNtcChjb250LT5jMS0+cHJlZml4LCBxbmFtZSwgcGxlbikgPT0gMCkgJiYKKwkJICAgICh4bWxTdHJFcXVhbChjb250LT5jMS0+bmFtZSwgbmFtZSkpKQorCQkgICAgcmV0dXJuKDEpOworCSAgICB9IGVsc2UgaWYgKChjb250LT50eXBlICE9IFhNTF9FTEVNRU5UX0NPTlRFTlRfT1IpIHx8CisJCShjb250LT5jMSA9PSBOVUxMKSB8fAorCQkoY29udC0+YzEtPnR5cGUgIT0gWE1MX0VMRU1FTlRfQ09OVEVOVF9QQ0RBVEEpKXsKKwkJeG1sRXJyVmFsaWQoY3R4dCwgWE1MX0RURF9NSVhFRF9DT1JSVVBULAorCQkJIkludGVybmFsOiBNSVhFRCBzdHJ1Y3QgY29ycnVwdGVkXG4iLAorCQkJTlVMTCk7CisJCWJyZWFrOworCSAgICB9CisJICAgIGNvbnQgPSBjb250LT5jMjsKKwl9CisgICAgfQorICAgIHJldHVybigwKTsKK30KKworLyoqCisgKiB4bWxWYWxpZEdldEVsZW1EZWNsOgorICogQGN0eHQ6ICB0aGUgdmFsaWRhdGlvbiBjb250ZXh0CisgKiBAZG9jOiAgYSBkb2N1bWVudCBpbnN0YW5jZQorICogQGVsZW06ICBhbiBlbGVtZW50IGluc3RhbmNlCisgKiBAZXh0c3Vic2V0OiAgcG9pbnRlciwgKG91dCkgaW5kaWNhdGUgaWYgdGhlIGRlY2xhcmF0aW9uIHdhcyBmb3VuZAorICogICAgICAgICAgICAgIGluIHRoZSBleHRlcm5hbCBzdWJzZXQuCisgKgorICogRmluZHMgYSBkZWNsYXJhdGlvbiBhc3NvY2lhdGVkIHRvIGFuIGVsZW1lbnQgaW4gdGhlIGRvY3VtZW50LgorICoKKyAqIHJldHVybnMgdGhlIHBvaW50ZXIgdG8gdGhlIGRlY2xhcmF0aW9uIG9yIE5VTEwgaWYgbm90IGZvdW5kLgorICovCitzdGF0aWMgeG1sRWxlbWVudFB0cgoreG1sVmFsaWRHZXRFbGVtRGVjbCh4bWxWYWxpZEN0eHRQdHIgY3R4dCwgeG1sRG9jUHRyIGRvYywKKwkgICAgICAgICAgICB4bWxOb2RlUHRyIGVsZW0sIGludCAqZXh0c3Vic2V0KSB7CisgICAgeG1sRWxlbWVudFB0ciBlbGVtRGVjbCA9IE5VTEw7CisgICAgY29uc3QgeG1sQ2hhciAqcHJlZml4ID0gTlVMTDsKKworICAgIGlmICgoY3R4dCA9PSBOVUxMKSB8fCAoZG9jID09IE5VTEwpIHx8CisgICAgICAgIChlbGVtID09IE5VTEwpIHx8IChlbGVtLT5uYW1lID09IE5VTEwpKQorICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgaWYgKGV4dHN1YnNldCAhPSBOVUxMKQorCSpleHRzdWJzZXQgPSAwOworCisgICAgLyoKKyAgICAgKiBGZXRjaCB0aGUgZGVjbGFyYXRpb24gZm9yIHRoZSBxdWFsaWZpZWQgbmFtZQorICAgICAqLworICAgIGlmICgoZWxlbS0+bnMgIT0gTlVMTCkgJiYgKGVsZW0tPm5zLT5wcmVmaXggIT0gTlVMTCkpCisJcHJlZml4ID0gZWxlbS0+bnMtPnByZWZpeDsKKworICAgIGlmIChwcmVmaXggIT0gTlVMTCkgeworCWVsZW1EZWNsID0geG1sR2V0RHRkUUVsZW1lbnREZXNjKGRvYy0+aW50U3Vic2V0LAorCQkgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbS0+bmFtZSwgcHJlZml4KTsKKwlpZiAoKGVsZW1EZWNsID09IE5VTEwpICYmIChkb2MtPmV4dFN1YnNldCAhPSBOVUxMKSkgeworCSAgICBlbGVtRGVjbCA9IHhtbEdldER0ZFFFbGVtZW50RGVzYyhkb2MtPmV4dFN1YnNldCwKKwkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtLT5uYW1lLCBwcmVmaXgpOworCSAgICBpZiAoKGVsZW1EZWNsICE9IE5VTEwpICYmIChleHRzdWJzZXQgIT0gTlVMTCkpCisJCSpleHRzdWJzZXQgPSAxOworCX0KKyAgICB9CisKKyAgICAvKgorICAgICAqIEZldGNoIHRoZSBkZWNsYXJhdGlvbiBmb3IgdGhlIG5vbiBxdWFsaWZpZWQgbmFtZQorICAgICAqIFRoaXMgaXMgIm5vbi1zdHJpY3QiIHZhbGlkYXRpb24gc2hvdWxkIGJlIGRvbmUgb24gdGhlCisgICAgICogZnVsbCBRTmFtZSBidXQgaW4gdGhhdCBjYXNlIGJlaW5nIGZsZXhpYmxlIG1ha2VzIHNlbnNlLgorICAgICAqLworICAgIGlmIChlbGVtRGVjbCA9PSBOVUxMKSB7CisJZWxlbURlY2wgPSB4bWxHZXREdGRFbGVtZW50RGVzYyhkb2MtPmludFN1YnNldCwgZWxlbS0+bmFtZSk7CisJaWYgKChlbGVtRGVjbCA9PSBOVUxMKSAmJiAoZG9jLT5leHRTdWJzZXQgIT0gTlVMTCkpIHsKKwkgICAgZWxlbURlY2wgPSB4bWxHZXREdGRFbGVtZW50RGVzYyhkb2MtPmV4dFN1YnNldCwgZWxlbS0+bmFtZSk7CisJICAgIGlmICgoZWxlbURlY2wgIT0gTlVMTCkgJiYgKGV4dHN1YnNldCAhPSBOVUxMKSkKKwkJKmV4dHN1YnNldCA9IDE7CisJfQorICAgIH0KKyAgICBpZiAoZWxlbURlY2wgPT0gTlVMTCkgeworCXhtbEVyclZhbGlkTm9kZShjdHh0LCBlbGVtLAorCQkJWE1MX0RURF9VTktOT1dOX0VMRU0sCisJICAgICAgICJObyBkZWNsYXJhdGlvbiBmb3IgZWxlbWVudCAlc1xuIiwKKwkgICAgICAgZWxlbS0+bmFtZSwgTlVMTCwgTlVMTCk7CisgICAgfQorICAgIHJldHVybihlbGVtRGVjbCk7Cit9CisKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKKy8qKgorICogeG1sVmFsaWRhdGVQdXNoRWxlbWVudDoKKyAqIEBjdHh0OiAgdGhlIHZhbGlkYXRpb24gY29udGV4dAorICogQGRvYzogIGEgZG9jdW1lbnQgaW5zdGFuY2UKKyAqIEBlbGVtOiAgYW4gZWxlbWVudCBpbnN0YW5jZQorICogQHFuYW1lOiAgdGhlIHF1YWxpZmllZCBuYW1lIGFzIGFwcGVhcmluZyBpbiB0aGUgc2VyaWFsaXphdGlvbgorICoKKyAqIFB1c2ggYSBuZXcgZWxlbWVudCBzdGFydCBvbiB0aGUgdmFsaWRhdGlvbiBzdGFjay4KKyAqCisgKiByZXR1cm5zIDEgaWYgbm8gdmFsaWRhdGlvbiBwcm9ibGVtIHdhcyBmb3VuZCBvciAwIG90aGVyd2lzZQorICovCitpbnQKK3htbFZhbGlkYXRlUHVzaEVsZW1lbnQoeG1sVmFsaWRDdHh0UHRyIGN0eHQsIHhtbERvY1B0ciBkb2MsCisgICAgICAgICAgICAgICAgICAgICAgIHhtbE5vZGVQdHIgZWxlbSwgY29uc3QgeG1sQ2hhciAqcW5hbWUpIHsKKyAgICBpbnQgcmV0ID0gMTsKKyAgICB4bWxFbGVtZW50UHRyIGVEZWNsOworICAgIGludCBleHRzdWJzZXQgPSAwOworCisgICAgaWYgKGN0eHQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuKDApOworLyogcHJpbnRmKCJQdXNoRWxlbSAlc1xuIiwgcW5hbWUpOyAqLworICAgIGlmICgoY3R4dC0+dnN0YXRlTnIgPiAwKSAmJiAoY3R4dC0+dnN0YXRlICE9IE5VTEwpKSB7CisJeG1sVmFsaWRTdGF0ZVB0ciBzdGF0ZSA9IGN0eHQtPnZzdGF0ZTsKKwl4bWxFbGVtZW50UHRyIGVsZW1EZWNsOworCisJLyoKKwkgKiBDaGVjayB0aGUgbmV3IGVsZW1lbnQgYWdhaXNudCB0aGUgY29udGVudCBtb2RlbCBvZiB0aGUgbmV3IGVsZW0uCisJICovCisJaWYgKHN0YXRlLT5lbGVtRGVjbCAhPSBOVUxMKSB7CisJICAgIGVsZW1EZWNsID0gc3RhdGUtPmVsZW1EZWNsOworCisJICAgIHN3aXRjaChlbGVtRGVjbC0+ZXR5cGUpIHsKKwkJY2FzZSBYTUxfRUxFTUVOVF9UWVBFX1VOREVGSU5FRDoKKwkJICAgIHJldCA9IDA7CisJCSAgICBicmVhazsKKwkJY2FzZSBYTUxfRUxFTUVOVF9UWVBFX0VNUFRZOgorCQkgICAgeG1sRXJyVmFsaWROb2RlKGN0eHQsIHN0YXRlLT5ub2RlLAorCQkJCSAgICBYTUxfRFREX05PVF9FTVBUWSwKKwkgICAgICAgIkVsZW1lbnQgJXMgd2FzIGRlY2xhcmVkIEVNUFRZIHRoaXMgb25lIGhhcyBjb250ZW50XG4iLAorCQkJICAgc3RhdGUtPm5vZGUtPm5hbWUsIE5VTEwsIE5VTEwpOworCQkgICAgcmV0ID0gMDsKKwkJICAgIGJyZWFrOworCQljYXNlIFhNTF9FTEVNRU5UX1RZUEVfQU5ZOgorCQkgICAgLyogSSBkb24ndCB0aGluayBhbnl0aGluZyBpcyByZXF1aXJlZCB0aGVuICovCisJCSAgICBicmVhazsKKwkJY2FzZSBYTUxfRUxFTUVOVF9UWVBFX01JWEVEOgorCQkgICAgLyogc2ltcGxlIGNhc2Ugb2YgZGVjbGFyZWQgYXMgI1BDREFUQSAqLworCQkgICAgaWYgKChlbGVtRGVjbC0+Y29udGVudCAhPSBOVUxMKSAmJgorCQkJKGVsZW1EZWNsLT5jb250ZW50LT50eXBlID09CisJCQkgWE1MX0VMRU1FTlRfQ09OVEVOVF9QQ0RBVEEpKSB7CisJCQl4bWxFcnJWYWxpZE5vZGUoY3R4dCwgc3RhdGUtPm5vZGUsCisJCQkJCVhNTF9EVERfTk9UX1BDREFUQSwKKwkgICAgICAgIkVsZW1lbnQgJXMgd2FzIGRlY2xhcmVkICNQQ0RBVEEgYnV0IGNvbnRhaW5zIG5vbiB0ZXh0IG5vZGVzXG4iLAorCQkJCXN0YXRlLT5ub2RlLT5uYW1lLCBOVUxMLCBOVUxMKTsKKwkJCXJldCA9IDA7CisJCSAgICB9IGVsc2UgeworCQkJcmV0ID0geG1sVmFsaWRhdGVDaGVja01peGVkKGN0eHQsIGVsZW1EZWNsLT5jb250ZW50LAorCQkJCSAgICAgICAgICAgICAgICAgICAgcW5hbWUpOworCQkJaWYgKHJldCAhPSAxKSB7CisJCQkgICAgeG1sRXJyVmFsaWROb2RlKGN0eHQsIHN0YXRlLT5ub2RlLAorCQkJCQkgICAgWE1MX0RURF9JTlZBTElEX0NISUxELAorCSAgICAgICAiRWxlbWVudCAlcyBpcyBub3QgZGVjbGFyZWQgaW4gJXMgbGlzdCBvZiBwb3NzaWJsZSBjaGlsZHJlblxuIiwKKwkJCQkgICAgcW5hbWUsIHN0YXRlLT5ub2RlLT5uYW1lLCBOVUxMKTsKKwkJCX0KKwkJICAgIH0KKwkJICAgIGJyZWFrOworCQljYXNlIFhNTF9FTEVNRU5UX1RZUEVfRUxFTUVOVDoKKwkJICAgIC8qCisJCSAgICAgKiBUT0RPOgorCQkgICAgICogVkM6IFN0YW5kYWxvbmUgRG9jdW1lbnQgRGVjbGFyYXRpb24KKwkJICAgICAqICAgICAtIGVsZW1lbnQgdHlwZXMgd2l0aCBlbGVtZW50IGNvbnRlbnQsIGlmIHdoaXRlIHNwYWNlCisJCSAgICAgKiAgICAgICBvY2N1cnMgZGlyZWN0bHkgd2l0aGluIGFueSBpbnN0YW5jZSBvZiB0aG9zZSB0eXBlcy4KKwkJICAgICAqLworCQkgICAgaWYgKHN0YXRlLT5leGVjICE9IE5VTEwpIHsKKwkJCXJldCA9IHhtbFJlZ0V4ZWNQdXNoU3RyaW5nKHN0YXRlLT5leGVjLCBxbmFtZSwgTlVMTCk7CisJCQlpZiAocmV0IDwgMCkgeworCQkJICAgIHhtbEVyclZhbGlkTm9kZShjdHh0LCBzdGF0ZS0+bm9kZSwKKwkJCQkJICAgIFhNTF9EVERfQ09OVEVOVF9NT0RFTCwKKwkgICAgICAgIkVsZW1lbnQgJXMgY29udGVudCBkb2VzIG5vdCBmb2xsb3cgdGhlIERURCwgTWlzcGxhY2VkICVzXG4iLAorCQkJCSAgIHN0YXRlLT5ub2RlLT5uYW1lLCBxbmFtZSwgTlVMTCk7CisJCQkgICAgcmV0ID0gMDsKKwkJCX0gZWxzZSB7CisJCQkgICAgcmV0ID0gMTsKKwkJCX0KKwkJICAgIH0KKwkJICAgIGJyZWFrOworCSAgICB9CisJfQorICAgIH0KKyAgICBlRGVjbCA9IHhtbFZhbGlkR2V0RWxlbURlY2woY3R4dCwgZG9jLCBlbGVtLCAmZXh0c3Vic2V0KTsKKyAgICB2c3RhdGVWUHVzaChjdHh0LCBlRGVjbCwgZWxlbSk7CisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogeG1sVmFsaWRhdGVQdXNoQ0RhdGE6CisgKiBAY3R4dDogIHRoZSB2YWxpZGF0aW9uIGNvbnRleHQKKyAqIEBkYXRhOiAgc29tZSBjaGFyYWN0ZXIgZGF0YSByZWFkCisgKiBAbGVuOiAgdGhlIGxlbmd0aCBvZiB0aGUgZGF0YQorICoKKyAqIGNoZWNrIHRoZSBDRGF0YSBwYXJzZWQgZm9yIHZhbGlkYXRpb24gaW4gdGhlIGN1cnJlbnQgc3RhY2sKKyAqCisgKiByZXR1cm5zIDEgaWYgbm8gdmFsaWRhdGlvbiBwcm9ibGVtIHdhcyBmb3VuZCBvciAwIG90aGVyd2lzZQorICovCitpbnQKK3htbFZhbGlkYXRlUHVzaENEYXRhKHhtbFZhbGlkQ3R4dFB0ciBjdHh0LCBjb25zdCB4bWxDaGFyICpkYXRhLCBpbnQgbGVuKSB7CisgICAgaW50IHJldCA9IDE7CisKKy8qIHByaW50ZigiQ0RBVEEgJXMgJWRcbiIsIGRhdGEsIGxlbik7ICovCisgICAgaWYgKGN0eHQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuKDApOworICAgIGlmIChsZW4gPD0gMCkKKwlyZXR1cm4ocmV0KTsKKyAgICBpZiAoKGN0eHQtPnZzdGF0ZU5yID4gMCkgJiYgKGN0eHQtPnZzdGF0ZSAhPSBOVUxMKSkgeworCXhtbFZhbGlkU3RhdGVQdHIgc3RhdGUgPSBjdHh0LT52c3RhdGU7CisJeG1sRWxlbWVudFB0ciBlbGVtRGVjbDsKKworCS8qCisJICogQ2hlY2sgdGhlIG5ldyBlbGVtZW50IGFnYWlzbnQgdGhlIGNvbnRlbnQgbW9kZWwgb2YgdGhlIG5ldyBlbGVtLgorCSAqLworCWlmIChzdGF0ZS0+ZWxlbURlY2wgIT0gTlVMTCkgeworCSAgICBlbGVtRGVjbCA9IHN0YXRlLT5lbGVtRGVjbDsKKworCSAgICBzd2l0Y2goZWxlbURlY2wtPmV0eXBlKSB7CisJCWNhc2UgWE1MX0VMRU1FTlRfVFlQRV9VTkRFRklORUQ6CisJCSAgICByZXQgPSAwOworCQkgICAgYnJlYWs7CisJCWNhc2UgWE1MX0VMRU1FTlRfVFlQRV9FTVBUWToKKwkJICAgIHhtbEVyclZhbGlkTm9kZShjdHh0LCBzdGF0ZS0+bm9kZSwKKwkJCQkgICAgWE1MX0RURF9OT1RfRU1QVFksCisJICAgICAgICJFbGVtZW50ICVzIHdhcyBkZWNsYXJlZCBFTVBUWSB0aGlzIG9uZSBoYXMgY29udGVudFxuIiwKKwkJCSAgIHN0YXRlLT5ub2RlLT5uYW1lLCBOVUxMLCBOVUxMKTsKKwkJICAgIHJldCA9IDA7CisJCSAgICBicmVhazsKKwkJY2FzZSBYTUxfRUxFTUVOVF9UWVBFX0FOWToKKwkJICAgIGJyZWFrOworCQljYXNlIFhNTF9FTEVNRU5UX1RZUEVfTUlYRUQ6CisJCSAgICBicmVhazsKKwkJY2FzZSBYTUxfRUxFTUVOVF9UWVBFX0VMRU1FTlQ6CisJCSAgICBpZiAobGVuID4gMCkgeworCQkJaW50IGk7CisKKwkJCWZvciAoaSA9IDA7aSA8IGxlbjtpKyspIHsKKwkJCSAgICBpZiAoIUlTX0JMQU5LX0NIKGRhdGFbaV0pKSB7CisJCQkJeG1sRXJyVmFsaWROb2RlKGN0eHQsIHN0YXRlLT5ub2RlLAorCQkJCQkJWE1MX0RURF9DT05URU5UX01PREVMLAorCSAgICJFbGVtZW50ICVzIGNvbnRlbnQgZG9lcyBub3QgZm9sbG93IHRoZSBEVEQsIFRleHQgbm90IGFsbG93ZWRcbiIsCisJCQkJICAgICAgIHN0YXRlLT5ub2RlLT5uYW1lLCBOVUxMLCBOVUxMKTsKKwkJCQlyZXQgPSAwOworCQkJCWdvdG8gZG9uZTsKKwkJCSAgICB9CisJCQl9CisJCQkvKgorCQkJICogVE9ETzoKKwkJCSAqIFZDOiBTdGFuZGFsb25lIERvY3VtZW50IERlY2xhcmF0aW9uCisJCQkgKiAgZWxlbWVudCB0eXBlcyB3aXRoIGVsZW1lbnQgY29udGVudCwgaWYgd2hpdGUgc3BhY2UKKwkJCSAqICBvY2N1cnMgZGlyZWN0bHkgd2l0aGluIGFueSBpbnN0YW5jZSBvZiB0aG9zZSB0eXBlcy4KKwkJCSAqLworCQkgICAgfQorCQkgICAgYnJlYWs7CisJICAgIH0KKwl9CisgICAgfQorZG9uZToKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxWYWxpZGF0ZVBvcEVsZW1lbnQ6CisgKiBAY3R4dDogIHRoZSB2YWxpZGF0aW9uIGNvbnRleHQKKyAqIEBkb2M6ICBhIGRvY3VtZW50IGluc3RhbmNlCisgKiBAZWxlbTogIGFuIGVsZW1lbnQgaW5zdGFuY2UKKyAqIEBxbmFtZTogIHRoZSBxdWFsaWZpZWQgbmFtZSBhcyBhcHBlYXJpbmcgaW4gdGhlIHNlcmlhbGl6YXRpb24KKyAqCisgKiBQb3AgdGhlIGVsZW1lbnQgZW5kIGZyb20gdGhlIHZhbGlkYXRpb24gc3RhY2suCisgKgorICogcmV0dXJucyAxIGlmIG5vIHZhbGlkYXRpb24gcHJvYmxlbSB3YXMgZm91bmQgb3IgMCBvdGhlcndpc2UKKyAqLworaW50Cit4bWxWYWxpZGF0ZVBvcEVsZW1lbnQoeG1sVmFsaWRDdHh0UHRyIGN0eHQsIHhtbERvY1B0ciBkb2MgQVRUUklCVVRFX1VOVVNFRCwKKyAgICAgICAgICAgICAgICAgICAgICB4bWxOb2RlUHRyIGVsZW0gQVRUUklCVVRFX1VOVVNFRCwKKwkJICAgICAgY29uc3QgeG1sQ2hhciAqcW5hbWUgQVRUUklCVVRFX1VOVVNFRCkgeworICAgIGludCByZXQgPSAxOworCisgICAgaWYgKGN0eHQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuKDApOworLyogcHJpbnRmKCJQb3BFbGVtICVzXG4iLCBxbmFtZSk7ICovCisgICAgaWYgKChjdHh0LT52c3RhdGVOciA+IDApICYmIChjdHh0LT52c3RhdGUgIT0gTlVMTCkpIHsKKwl4bWxWYWxpZFN0YXRlUHRyIHN0YXRlID0gY3R4dC0+dnN0YXRlOworCXhtbEVsZW1lbnRQdHIgZWxlbURlY2w7CisKKwkvKgorCSAqIENoZWNrIHRoZSBuZXcgZWxlbWVudCBhZ2Fpc250IHRoZSBjb250ZW50IG1vZGVsIG9mIHRoZSBuZXcgZWxlbS4KKwkgKi8KKwlpZiAoc3RhdGUtPmVsZW1EZWNsICE9IE5VTEwpIHsKKwkgICAgZWxlbURlY2wgPSBzdGF0ZS0+ZWxlbURlY2w7CisKKwkgICAgaWYgKGVsZW1EZWNsLT5ldHlwZSA9PSBYTUxfRUxFTUVOVF9UWVBFX0VMRU1FTlQpIHsKKwkJaWYgKHN0YXRlLT5leGVjICE9IE5VTEwpIHsKKwkJICAgIHJldCA9IHhtbFJlZ0V4ZWNQdXNoU3RyaW5nKHN0YXRlLT5leGVjLCBOVUxMLCBOVUxMKTsKKwkJICAgIGlmIChyZXQgPT0gMCkgeworCQkJeG1sRXJyVmFsaWROb2RlKGN0eHQsIHN0YXRlLT5ub2RlLAorCQkJICAgICAgICAgICAgICAgIFhNTF9EVERfQ09OVEVOVF9NT0RFTCwKKwkgICAiRWxlbWVudCAlcyBjb250ZW50IGRvZXMgbm90IGZvbGxvdyB0aGUgRFRELCBFeHBlY3RpbmcgbW9yZSBjaGlsZFxuIiwKKwkJCSAgICAgICBzdGF0ZS0+bm9kZS0+bmFtZSwgTlVMTCxOVUxMKTsKKwkJICAgIH0gZWxzZSB7CisJCQkvKgorCQkJICogcHJldmlvdXMgdmFsaWRhdGlvbiBlcnJvcnMgc2hvdWxkIG5vdCBnZW5lcmF0ZQorCQkJICogYSBuZXcgb25lIGhlcmUKKwkJCSAqLworCQkJcmV0ID0gMTsKKwkJICAgIH0KKwkJfQorCSAgICB9CisJfQorCXZzdGF0ZVZQb3AoY3R4dCk7CisgICAgfQorICAgIHJldHVybihyZXQpOworfQorI2VuZGlmIC8qIExJQlhNTF9SRUdFWFBfRU5BQkxFRCAqLworCisvKioKKyAqIHhtbFZhbGlkYXRlT25lRWxlbWVudDoKKyAqIEBjdHh0OiAgdGhlIHZhbGlkYXRpb24gY29udGV4dAorICogQGRvYzogIGEgZG9jdW1lbnQgaW5zdGFuY2UKKyAqIEBlbGVtOiAgYW4gZWxlbWVudCBpbnN0YW5jZQorICoKKyAqIFRyeSB0byB2YWxpZGF0ZSBhIHNpbmdsZSBlbGVtZW50IGFuZCBpdCdzIGF0dHJpYnV0ZXMsCisgKiBiYXNpY2FsbHkgaXQgZG9lcyB0aGUgZm9sbG93aW5nIGNoZWNrcyBhcyBkZXNjcmliZWQgYnkgdGhlCisgKiBYTUwtMS4wIHJlY29tbWVuZGF0aW9uOgorICogIC0gWyBWQzogRWxlbWVudCBWYWxpZCBdCisgKiAgLSBbIFZDOiBSZXF1aXJlZCBBdHRyaWJ1dGUgXQorICogVGhlbiBjYWxsIHhtbFZhbGlkYXRlT25lQXR0cmlidXRlKCkgZm9yIGVhY2ggYXR0cmlidXRlIHByZXNlbnQuCisgKgorICogVGhlIElEL0lEUkVGIGNoZWNraW5ncyBhcmUgZG9uZSBzZXBhcmF0ZWx5CisgKgorICogcmV0dXJucyAxIGlmIHZhbGlkIG9yIDAgb3RoZXJ3aXNlCisgKi8KKworaW50Cit4bWxWYWxpZGF0ZU9uZUVsZW1lbnQoeG1sVmFsaWRDdHh0UHRyIGN0eHQsIHhtbERvY1B0ciBkb2MsCisgICAgICAgICAgICAgICAgICAgICAgeG1sTm9kZVB0ciBlbGVtKSB7CisgICAgeG1sRWxlbWVudFB0ciBlbGVtRGVjbCA9IE5VTEw7CisgICAgeG1sRWxlbWVudENvbnRlbnRQdHIgY29udDsKKyAgICB4bWxBdHRyaWJ1dGVQdHIgYXR0cjsKKyAgICB4bWxOb2RlUHRyIGNoaWxkOworICAgIGludCByZXQgPSAxLCB0bXA7CisgICAgY29uc3QgeG1sQ2hhciAqbmFtZTsKKyAgICBpbnQgZXh0c3Vic2V0ID0gMDsKKworICAgIENIRUNLX0RURDsKKworICAgIGlmIChlbGVtID09IE5VTEwpIHJldHVybigwKTsKKyAgICBzd2l0Y2ggKGVsZW0tPnR5cGUpIHsKKyAgICAgICAgY2FzZSBYTUxfQVRUUklCVVRFX05PREU6CisJICAgIHhtbEVyclZhbGlkTm9kZShjdHh0LCBlbGVtLCBYTUxfRVJSX0lOVEVSTkFMX0VSUk9SLAorCQkgICAiQXR0cmlidXRlIGVsZW1lbnQgbm90IGV4cGVjdGVkXG4iLCBOVUxMLCBOVUxMICxOVUxMKTsKKwkgICAgcmV0dXJuKDApOworICAgICAgICBjYXNlIFhNTF9URVhUX05PREU6CisJICAgIGlmIChlbGVtLT5jaGlsZHJlbiAhPSBOVUxMKSB7CisJCXhtbEVyclZhbGlkTm9kZShjdHh0LCBlbGVtLCBYTUxfRVJSX0lOVEVSTkFMX0VSUk9SLAorCQkgICAgICAgICAgICAgICAgIlRleHQgZWxlbWVudCBoYXMgY2hpbGRyZW4gIVxuIiwKKwkJCQlOVUxMLE5VTEwsTlVMTCk7CisJCXJldHVybigwKTsKKwkgICAgfQorCSAgICBpZiAoZWxlbS0+bnMgIT0gTlVMTCkgeworCQl4bWxFcnJWYWxpZE5vZGUoY3R4dCwgZWxlbSwgWE1MX0VSUl9JTlRFUk5BTF9FUlJPUiwKKwkJICAgICAgICAgICAgICAgICJUZXh0IGVsZW1lbnQgaGFzIG5hbWVzcGFjZSAhXG4iLAorCQkJCU5VTEwsTlVMTCxOVUxMKTsKKwkJcmV0dXJuKDApOworCSAgICB9CisJICAgIGlmIChlbGVtLT5jb250ZW50ID09IE5VTEwpIHsKKwkJeG1sRXJyVmFsaWROb2RlKGN0eHQsIGVsZW0sIFhNTF9FUlJfSU5URVJOQUxfRVJST1IsCisJCSAgICAgICAgICAgICAgICAiVGV4dCBlbGVtZW50IGhhcyBubyBjb250ZW50ICFcbiIsCisJCQkJTlVMTCxOVUxMLE5VTEwpOworCQlyZXR1cm4oMCk7CisJICAgIH0KKwkgICAgcmV0dXJuKDEpOworICAgICAgICBjYXNlIFhNTF9YSU5DTFVERV9TVEFSVDoKKyAgICAgICAgY2FzZSBYTUxfWElOQ0xVREVfRU5EOgorICAgICAgICAgICAgcmV0dXJuKDEpOworICAgICAgICBjYXNlIFhNTF9DREFUQV9TRUNUSU9OX05PREU6CisgICAgICAgIGNhc2UgWE1MX0VOVElUWV9SRUZfTk9ERToKKyAgICAgICAgY2FzZSBYTUxfUElfTk9ERToKKyAgICAgICAgY2FzZSBYTUxfQ09NTUVOVF9OT0RFOgorCSAgICByZXR1cm4oMSk7CisgICAgICAgIGNhc2UgWE1MX0VOVElUWV9OT0RFOgorCSAgICB4bWxFcnJWYWxpZE5vZGUoY3R4dCwgZWxlbSwgWE1MX0VSUl9JTlRFUk5BTF9FUlJPUiwKKwkJICAgIkVudGl0eSBlbGVtZW50IG5vdCBleHBlY3RlZFxuIiwgTlVMTCwgTlVMTCAsTlVMTCk7CisJICAgIHJldHVybigwKTsKKyAgICAgICAgY2FzZSBYTUxfTk9UQVRJT05fTk9ERToKKwkgICAgeG1sRXJyVmFsaWROb2RlKGN0eHQsIGVsZW0sIFhNTF9FUlJfSU5URVJOQUxfRVJST1IsCisJCSAgICJOb3RhdGlvbiBlbGVtZW50IG5vdCBleHBlY3RlZFxuIiwgTlVMTCwgTlVMTCAsTlVMTCk7CisJICAgIHJldHVybigwKTsKKyAgICAgICAgY2FzZSBYTUxfRE9DVU1FTlRfTk9ERToKKyAgICAgICAgY2FzZSBYTUxfRE9DVU1FTlRfVFlQRV9OT0RFOgorICAgICAgICBjYXNlIFhNTF9ET0NVTUVOVF9GUkFHX05PREU6CisJICAgIHhtbEVyclZhbGlkTm9kZShjdHh0LCBlbGVtLCBYTUxfRVJSX0lOVEVSTkFMX0VSUk9SLAorCQkgICAiRG9jdW1lbnQgZWxlbWVudCBub3QgZXhwZWN0ZWRcbiIsIE5VTEwsIE5VTEwgLE5VTEwpOworCSAgICByZXR1cm4oMCk7CisgICAgICAgIGNhc2UgWE1MX0hUTUxfRE9DVU1FTlRfTk9ERToKKwkgICAgeG1sRXJyVmFsaWROb2RlKGN0eHQsIGVsZW0sIFhNTF9FUlJfSU5URVJOQUxfRVJST1IsCisJCSAgICJIVE1MIERvY3VtZW50IG5vdCBleHBlY3RlZFxuIiwgTlVMTCwgTlVMTCAsTlVMTCk7CisJICAgIHJldHVybigwKTsKKyAgICAgICAgY2FzZSBYTUxfRUxFTUVOVF9OT0RFOgorCSAgICBicmVhazsKKwlkZWZhdWx0OgorCSAgICB4bWxFcnJWYWxpZE5vZGUoY3R4dCwgZWxlbSwgWE1MX0VSUl9JTlRFUk5BTF9FUlJPUiwKKwkJICAgInVua25vd24gZWxlbWVudCB0eXBlXG4iLCBOVUxMLCBOVUxMICxOVUxMKTsKKwkgICAgcmV0dXJuKDApOworICAgIH0KKworICAgIC8qCisgICAgICogRmV0Y2ggdGhlIGRlY2xhcmF0aW9uCisgICAgICovCisgICAgZWxlbURlY2wgPSB4bWxWYWxpZEdldEVsZW1EZWNsKGN0eHQsIGRvYywgZWxlbSwgJmV4dHN1YnNldCk7CisgICAgaWYgKGVsZW1EZWNsID09IE5VTEwpCisJcmV0dXJuKDApOworCisgICAgLyoKKyAgICAgKiBJZiB2c3RhdGVOciBpcyBub3QgemVybyB0aGF0IG1lYW5zIGNvbnRpbnVvdXMgdmFsaWRhdGlvbiBpcworICAgICAqIGFjdGl2YXRlZCwgZG8gbm90IHRyeSB0byBjaGVjayB0aGUgY29udGVudCBtb2RlbCBhdCB0aGF0IGxldmVsLgorICAgICAqLworICAgIGlmIChjdHh0LT52c3RhdGVOciA9PSAwKSB7CisgICAgLyogQ2hlY2sgdGhhdCB0aGUgZWxlbWVudCBjb250ZW50IG1hdGNoZXMgdGhlIGRlZmluaXRpb24gKi8KKyAgICBzd2l0Y2ggKGVsZW1EZWNsLT5ldHlwZSkgeworICAgICAgICBjYXNlIFhNTF9FTEVNRU5UX1RZUEVfVU5ERUZJTkVEOgorCSAgICB4bWxFcnJWYWxpZE5vZGUoY3R4dCwgZWxlbSwgWE1MX0RURF9VTktOT1dOX0VMRU0sCisJICAgICAgICAgICAgICAgICAgICAiTm8gZGVjbGFyYXRpb24gZm9yIGVsZW1lbnQgJXNcbiIsCisJCSAgIGVsZW0tPm5hbWUsIE5VTEwsIE5VTEwpOworCSAgICByZXR1cm4oMCk7CisgICAgICAgIGNhc2UgWE1MX0VMRU1FTlRfVFlQRV9FTVBUWToKKwkgICAgaWYgKGVsZW0tPmNoaWxkcmVuICE9IE5VTEwpIHsKKwkJeG1sRXJyVmFsaWROb2RlKGN0eHQsIGVsZW0sIFhNTF9EVERfTk9UX0VNUFRZLAorCSAgICAgICAiRWxlbWVudCAlcyB3YXMgZGVjbGFyZWQgRU1QVFkgdGhpcyBvbmUgaGFzIGNvbnRlbnRcbiIsCisJICAgICAgICAgICAgICAgZWxlbS0+bmFtZSwgTlVMTCwgTlVMTCk7CisJCXJldCA9IDA7CisJICAgIH0KKwkgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0VMRU1FTlRfVFlQRV9BTlk6CisJICAgIC8qIEkgZG9uJ3QgdGhpbmsgYW55dGhpbmcgaXMgcmVxdWlyZWQgdGhlbiAqLworCSAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfRUxFTUVOVF9UWVBFX01JWEVEOgorCisJICAgIC8qIHNpbXBsZSBjYXNlIG9mIGRlY2xhcmVkIGFzICNQQ0RBVEEgKi8KKwkgICAgaWYgKChlbGVtRGVjbC0+Y29udGVudCAhPSBOVUxMKSAmJgorCQkoZWxlbURlY2wtPmNvbnRlbnQtPnR5cGUgPT0gWE1MX0VMRU1FTlRfQ09OVEVOVF9QQ0RBVEEpKSB7CisJCXJldCA9IHhtbFZhbGlkYXRlT25lQ2RhdGFFbGVtZW50KGN0eHQsIGRvYywgZWxlbSk7CisJCWlmICghcmV0KSB7CisJCSAgICB4bWxFcnJWYWxpZE5vZGUoY3R4dCwgZWxlbSwgWE1MX0RURF9OT1RfUENEQVRBLAorCSAgICAgICAiRWxlbWVudCAlcyB3YXMgZGVjbGFyZWQgI1BDREFUQSBidXQgY29udGFpbnMgbm9uIHRleHQgbm9kZXNcbiIsCisJCQkgICBlbGVtLT5uYW1lLCBOVUxMLCBOVUxMKTsKKwkJfQorCQlicmVhazsKKwkgICAgfQorCSAgICBjaGlsZCA9IGVsZW0tPmNoaWxkcmVuOworCSAgICAvKiBIdW0sIHRoaXMgc3RhcnQgdG8gZ2V0IG1lc3N5ICovCisJICAgIHdoaWxlIChjaGlsZCAhPSBOVUxMKSB7CisJICAgICAgICBpZiAoY2hpbGQtPnR5cGUgPT0gWE1MX0VMRU1FTlRfTk9ERSkgeworCQkgICAgbmFtZSA9IGNoaWxkLT5uYW1lOworCQkgICAgaWYgKChjaGlsZC0+bnMgIT0gTlVMTCkgJiYgKGNoaWxkLT5ucy0+cHJlZml4ICE9IE5VTEwpKSB7CisJCQl4bWxDaGFyIGZuWzUwXTsKKwkJCXhtbENoYXIgKmZ1bGxuYW1lOworCisJCQlmdWxsbmFtZSA9IHhtbEJ1aWxkUU5hbWUoY2hpbGQtPm5hbWUsIGNoaWxkLT5ucy0+cHJlZml4LAorCQkJCSAgICAgICAgICAgICAgICAgZm4sIDUwKTsKKwkJCWlmIChmdWxsbmFtZSA9PSBOVUxMKQorCQkJICAgIHJldHVybigwKTsKKwkJCWNvbnQgPSBlbGVtRGVjbC0+Y29udGVudDsKKwkJCXdoaWxlIChjb250ICE9IE5VTEwpIHsKKwkJCSAgICBpZiAoY29udC0+dHlwZSA9PSBYTUxfRUxFTUVOVF9DT05URU5UX0VMRU1FTlQpIHsKKwkJCQlpZiAoeG1sU3RyRXF1YWwoY29udC0+bmFtZSwgZnVsbG5hbWUpKQorCQkJCSAgICBicmVhazsKKwkJCSAgICB9IGVsc2UgaWYgKChjb250LT50eXBlID09IFhNTF9FTEVNRU5UX0NPTlRFTlRfT1IpICYmCisJCQkgICAgICAgKGNvbnQtPmMxICE9IE5VTEwpICYmCisJCQkgICAgICAgKGNvbnQtPmMxLT50eXBlID09IFhNTF9FTEVNRU5UX0NPTlRFTlRfRUxFTUVOVCkpeworCQkJCWlmICh4bWxTdHJFcXVhbChjb250LT5jMS0+bmFtZSwgZnVsbG5hbWUpKQorCQkJCSAgICBicmVhazsKKwkJCSAgICB9IGVsc2UgaWYgKChjb250LT50eXBlICE9IFhNTF9FTEVNRU5UX0NPTlRFTlRfT1IpIHx8CisJCQkJKGNvbnQtPmMxID09IE5VTEwpIHx8CisJCQkJKGNvbnQtPmMxLT50eXBlICE9IFhNTF9FTEVNRU5UX0NPTlRFTlRfUENEQVRBKSl7CisJCQkJeG1sRXJyVmFsaWQoTlVMTCwgWE1MX0RURF9NSVhFRF9DT1JSVVBULAorCQkJCQkiSW50ZXJuYWw6IE1JWEVEIHN0cnVjdCBjb3JydXB0ZWRcbiIsCisJCQkJCU5VTEwpOworCQkJCWJyZWFrOworCQkJICAgIH0KKwkJCSAgICBjb250ID0gY29udC0+YzI7CisJCQl9CisJCQlpZiAoKGZ1bGxuYW1lICE9IGZuKSAmJiAoZnVsbG5hbWUgIT0gY2hpbGQtPm5hbWUpKQorCQkJICAgIHhtbEZyZWUoZnVsbG5hbWUpOworCQkJaWYgKGNvbnQgIT0gTlVMTCkKKwkJCSAgICBnb3RvIGNoaWxkX29rOworCQkgICAgfQorCQkgICAgY29udCA9IGVsZW1EZWNsLT5jb250ZW50OworCQkgICAgd2hpbGUgKGNvbnQgIT0gTlVMTCkgeworCQkgICAgICAgIGlmIChjb250LT50eXBlID09IFhNTF9FTEVNRU5UX0NPTlRFTlRfRUxFTUVOVCkgeworCQkJICAgIGlmICh4bWxTdHJFcXVhbChjb250LT5uYW1lLCBuYW1lKSkgYnJlYWs7CisJCQl9IGVsc2UgaWYgKChjb250LT50eXBlID09IFhNTF9FTEVNRU5UX0NPTlRFTlRfT1IpICYmCisJCQkgICAoY29udC0+YzEgIT0gTlVMTCkgJiYKKwkJCSAgIChjb250LT5jMS0+dHlwZSA9PSBYTUxfRUxFTUVOVF9DT05URU5UX0VMRU1FTlQpKSB7CisJCQkgICAgaWYgKHhtbFN0ckVxdWFsKGNvbnQtPmMxLT5uYW1lLCBuYW1lKSkgYnJlYWs7CisJCQl9IGVsc2UgaWYgKChjb250LT50eXBlICE9IFhNTF9FTEVNRU5UX0NPTlRFTlRfT1IpIHx8CisJCQkgICAgKGNvbnQtPmMxID09IE5VTEwpIHx8CisJCQkgICAgKGNvbnQtPmMxLT50eXBlICE9IFhNTF9FTEVNRU5UX0NPTlRFTlRfUENEQVRBKSkgeworCQkJICAgIHhtbEVyclZhbGlkKGN0eHQsIFhNTF9EVERfTUlYRURfQ09SUlVQVCwKKwkJCQkgICAgIkludGVybmFsOiBNSVhFRCBzdHJ1Y3QgY29ycnVwdGVkXG4iLAorCQkJCSAgICBOVUxMKTsKKwkJCSAgICBicmVhazsKKwkJCX0KKwkJCWNvbnQgPSBjb250LT5jMjsKKwkJICAgIH0KKwkJICAgIGlmIChjb250ID09IE5VTEwpIHsKKwkJCXhtbEVyclZhbGlkTm9kZShjdHh0LCBlbGVtLCBYTUxfRFREX0lOVkFMSURfQ0hJTEQsCisJICAgICAgICJFbGVtZW50ICVzIGlzIG5vdCBkZWNsYXJlZCBpbiAlcyBsaXN0IG9mIHBvc3NpYmxlIGNoaWxkcmVuXG4iLAorCQkJICAgICAgIG5hbWUsIGVsZW0tPm5hbWUsIE5VTEwpOworCQkJcmV0ID0gMDsKKwkJICAgIH0KKwkJfQorY2hpbGRfb2s6CisJICAgICAgICBjaGlsZCA9IGNoaWxkLT5uZXh0OworCSAgICB9CisJICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9FTEVNRU5UX1RZUEVfRUxFTUVOVDoKKwkgICAgaWYgKChkb2MtPnN0YW5kYWxvbmUgPT0gMSkgJiYgKGV4dHN1YnNldCA9PSAxKSkgeworCQkvKgorCQkgKiBWQzogU3RhbmRhbG9uZSBEb2N1bWVudCBEZWNsYXJhdGlvbgorCQkgKiAgICAgLSBlbGVtZW50IHR5cGVzIHdpdGggZWxlbWVudCBjb250ZW50LCBpZiB3aGl0ZSBzcGFjZQorCQkgKiAgICAgICBvY2N1cnMgZGlyZWN0bHkgd2l0aGluIGFueSBpbnN0YW5jZSBvZiB0aG9zZSB0eXBlcy4KKwkJICovCisJCWNoaWxkID0gZWxlbS0+Y2hpbGRyZW47CisJCXdoaWxlIChjaGlsZCAhPSBOVUxMKSB7CisJCSAgICBpZiAoY2hpbGQtPnR5cGUgPT0gWE1MX1RFWFRfTk9ERSkgeworCQkJY29uc3QgeG1sQ2hhciAqY29udGVudCA9IGNoaWxkLT5jb250ZW50OworCisJCQl3aGlsZSAoSVNfQkxBTktfQ0goKmNvbnRlbnQpKQorCQkJICAgIGNvbnRlbnQrKzsKKwkJCWlmICgqY29udGVudCA9PSAwKSB7CisJCQkgICAgeG1sRXJyVmFsaWROb2RlKGN0eHQsIGVsZW0sCisJCQkgICAgICAgICAgICAgICAgICAgIFhNTF9EVERfU1RBTkRBTE9ORV9XSElURV9TUEFDRSwKKyJzdGFuZGFsb25lOiAlcyBkZWNsYXJlZCBpbiB0aGUgZXh0ZXJuYWwgc3Vic2V0IGNvbnRhaW5zIHdoaXRlIHNwYWNlcyBub2Rlc1xuIiwKKwkJCQkgICBlbGVtLT5uYW1lLCBOVUxMLCBOVUxMKTsKKwkJCSAgICByZXQgPSAwOworCQkJICAgIGJyZWFrOworCQkJfQorCQkgICAgfQorCQkgICAgY2hpbGQgPWNoaWxkLT5uZXh0OworCQl9CisJICAgIH0KKwkgICAgY2hpbGQgPSBlbGVtLT5jaGlsZHJlbjsKKwkgICAgY29udCA9IGVsZW1EZWNsLT5jb250ZW50OworCSAgICB0bXAgPSB4bWxWYWxpZGF0ZUVsZW1lbnRDb250ZW50KGN0eHQsIGNoaWxkLCBlbGVtRGVjbCwgMSwgZWxlbSk7CisJICAgIGlmICh0bXAgPD0gMCkKKwkJcmV0ID0gdG1wOworCSAgICBicmVhazsKKyAgICB9CisgICAgfSAvKiBub3QgY29udGludW91cyAqLworCisgICAgLyogWyBWQzogUmVxdWlyZWQgQXR0cmlidXRlIF0gKi8KKyAgICBhdHRyID0gZWxlbURlY2wtPmF0dHJpYnV0ZXM7CisgICAgd2hpbGUgKGF0dHIgIT0gTlVMTCkgeworCWlmIChhdHRyLT5kZWYgPT0gWE1MX0FUVFJJQlVURV9SRVFVSVJFRCkgeworCSAgICBpbnQgcXVhbGlmaWVkID0gLTE7CisKKwkgICAgaWYgKChhdHRyLT5wcmVmaXggPT0gTlVMTCkgJiYKKwkJKHhtbFN0ckVxdWFsKGF0dHItPm5hbWUsIEJBRF9DQVNUICJ4bWxucyIpKSkgeworCQl4bWxOc1B0ciBuczsKKworCQlucyA9IGVsZW0tPm5zRGVmOworCQl3aGlsZSAobnMgIT0gTlVMTCkgeworCQkgICAgaWYgKG5zLT5wcmVmaXggPT0gTlVMTCkKKwkJCWdvdG8gZm91bmQ7CisJCSAgICBucyA9IG5zLT5uZXh0OworCQl9CisJICAgIH0gZWxzZSBpZiAoeG1sU3RyRXF1YWwoYXR0ci0+cHJlZml4LCBCQURfQ0FTVCAieG1sbnMiKSkgeworCQl4bWxOc1B0ciBuczsKKworCQlucyA9IGVsZW0tPm5zRGVmOworCQl3aGlsZSAobnMgIT0gTlVMTCkgeworCQkgICAgaWYgKHhtbFN0ckVxdWFsKGF0dHItPm5hbWUsIG5zLT5wcmVmaXgpKQorCQkJZ290byBmb3VuZDsKKwkJICAgIG5zID0gbnMtPm5leHQ7CisJCX0KKwkgICAgfSBlbHNlIHsKKwkJeG1sQXR0clB0ciBhdHRyaWI7CisKKwkJYXR0cmliID0gZWxlbS0+cHJvcGVydGllczsKKwkJd2hpbGUgKGF0dHJpYiAhPSBOVUxMKSB7CisJCSAgICBpZiAoeG1sU3RyRXF1YWwoYXR0cmliLT5uYW1lLCBhdHRyLT5uYW1lKSkgeworCQkJaWYgKGF0dHItPnByZWZpeCAhPSBOVUxMKSB7CisJCQkgICAgeG1sTnNQdHIgbmFtZVNwYWNlID0gYXR0cmliLT5uczsKKworCQkJICAgIGlmIChuYW1lU3BhY2UgPT0gTlVMTCkKKwkJCQluYW1lU3BhY2UgPSBlbGVtLT5uczsKKwkJCSAgICAvKgorCQkJICAgICAqIHF1YWxpZmllZCBuYW1lcyBoYW5kbGluZyBpcyBwcm9ibGVtYXRpYywgaGF2aW5nIGEKKwkJCSAgICAgKiBkaWZmZXJlbnQgcHJlZml4IHNob3VsZCBiZSBwb3NzaWJsZSBidXQgRFREcyBkb24ndAorCQkJICAgICAqIGFsbG93IHRvIGRlZmluZSB0aGUgVVJJIGluc3RlYWQgb2YgdGhlIHByZWZpeCA6LSgKKwkJCSAgICAgKi8KKwkJCSAgICBpZiAobmFtZVNwYWNlID09IE5VTEwpIHsKKwkJCQlpZiAocXVhbGlmaWVkIDwgMCkKKwkJCQkgICAgcXVhbGlmaWVkID0gMDsKKwkJCSAgICB9IGVsc2UgaWYgKCF4bWxTdHJFcXVhbChuYW1lU3BhY2UtPnByZWZpeCwKKwkJCQkJCSAgICBhdHRyLT5wcmVmaXgpKSB7CisJCQkJaWYgKHF1YWxpZmllZCA8IDEpCisJCQkJICAgIHF1YWxpZmllZCA9IDE7CisJCQkgICAgfSBlbHNlCisJCQkJZ290byBmb3VuZDsKKwkJCX0gZWxzZSB7CisJCQkgICAgLyoKKwkJCSAgICAgKiBXZSBzaG91bGQgYWxsb3cgYXBwbGljYXRpb25zIHRvIGRlZmluZSBuYW1lc3BhY2VzCisJCQkgICAgICogZm9yIHRoZWlyIGFwcGxpY2F0aW9uIGV2ZW4gaWYgdGhlIERURCBkb2Vzbid0CisJCQkgICAgICogY2Fycnkgb25lLCBvdGhlcndpc2UsIGJhc2ljYWxseSB3ZSB3b3VsZCBhbHdheXMKKwkJCSAgICAgKiBicmVhay4KKwkJCSAgICAgKi8KKwkJCSAgICBnb3RvIGZvdW5kOworCQkJfQorCQkgICAgfQorCQkgICAgYXR0cmliID0gYXR0cmliLT5uZXh0OworCQl9CisJICAgIH0KKwkgICAgaWYgKHF1YWxpZmllZCA9PSAtMSkgeworCQlpZiAoYXR0ci0+cHJlZml4ID09IE5VTEwpIHsKKwkJICAgIHhtbEVyclZhbGlkTm9kZShjdHh0LCBlbGVtLCBYTUxfRFREX01JU1NJTkdfQVRUUklCVVRFLAorCQkgICAgICAgIkVsZW1lbnQgJXMgZG9lcyBub3QgY2FycnkgYXR0cmlidXRlICVzXG4iLAorCQkJICAgZWxlbS0+bmFtZSwgYXR0ci0+bmFtZSwgTlVMTCk7CisJCSAgICByZXQgPSAwOworCSAgICAgICAgfSBlbHNlIHsKKwkJICAgIHhtbEVyclZhbGlkTm9kZShjdHh0LCBlbGVtLCBYTUxfRFREX01JU1NJTkdfQVRUUklCVVRFLAorCQkgICAgICAgIkVsZW1lbnQgJXMgZG9lcyBub3QgY2FycnkgYXR0cmlidXRlICVzOiVzXG4iLAorCQkJICAgZWxlbS0+bmFtZSwgYXR0ci0+cHJlZml4LGF0dHItPm5hbWUpOworCQkgICAgcmV0ID0gMDsKKwkJfQorCSAgICB9IGVsc2UgaWYgKHF1YWxpZmllZCA9PSAwKSB7CisJCXhtbEVyclZhbGlkV2FybmluZyhjdHh0LCBlbGVtLCBYTUxfRFREX05PX1BSRUZJWCwKKwkJICAgIkVsZW1lbnQgJXMgcmVxdWlyZWQgYXR0cmlidXRlICVzOiVzIGhhcyBubyBwcmVmaXhcbiIsCisJCSAgICAgICBlbGVtLT5uYW1lLCBhdHRyLT5wcmVmaXgsIGF0dHItPm5hbWUpOworCSAgICB9IGVsc2UgaWYgKHF1YWxpZmllZCA9PSAxKSB7CisJCXhtbEVyclZhbGlkV2FybmluZyhjdHh0LCBlbGVtLCBYTUxfRFREX0RJRkZFUkVOVF9QUkVGSVgsCisJCSAgICJFbGVtZW50ICVzIHJlcXVpcmVkIGF0dHJpYnV0ZSAlczolcyBoYXMgZGlmZmVyZW50IHByZWZpeFxuIiwKKwkJICAgICAgIGVsZW0tPm5hbWUsIGF0dHItPnByZWZpeCwgYXR0ci0+bmFtZSk7CisJICAgIH0KKwl9IGVsc2UgaWYgKGF0dHItPmRlZiA9PSBYTUxfQVRUUklCVVRFX0ZJWEVEKSB7CisJICAgIC8qCisJICAgICAqIFNwZWNpYWwgdGVzdHMgY2hlY2tpbmcgI0ZJWEVEIG5hbWVzcGFjZSBkZWNsYXJhdGlvbnMKKwkgICAgICogaGF2ZSB0aGUgcmlnaHQgdmFsdWUgc2luY2UgdGhpcyBpcyBub3QgZG9uZSBhcyBhbgorCSAgICAgKiBhdHRyaWJ1dGUgY2hlY2tpbmcKKwkgICAgICovCisJICAgIGlmICgoYXR0ci0+cHJlZml4ID09IE5VTEwpICYmCisJCSh4bWxTdHJFcXVhbChhdHRyLT5uYW1lLCBCQURfQ0FTVCAieG1sbnMiKSkpIHsKKwkJeG1sTnNQdHIgbnM7CisKKwkJbnMgPSBlbGVtLT5uc0RlZjsKKwkJd2hpbGUgKG5zICE9IE5VTEwpIHsKKwkJICAgIGlmIChucy0+cHJlZml4ID09IE5VTEwpIHsKKwkJCWlmICgheG1sU3RyRXF1YWwoYXR0ci0+ZGVmYXVsdFZhbHVlLCBucy0+aHJlZikpIHsKKwkJCSAgICB4bWxFcnJWYWxpZE5vZGUoY3R4dCwgZWxlbSwKKwkJCSAgICAgICAgICAgWE1MX0RURF9FTEVNX0RFRkFVTFRfTkFNRVNQQUNFLAorICAgIkVsZW1lbnQgJXMgbmFtZXNwYWNlIG5hbWUgZm9yIGRlZmF1bHQgbmFtZXNwYWNlIGRvZXMgbm90IG1hdGNoIHRoZSBEVERcbiIsCisJCQkJICAgZWxlbS0+bmFtZSwgTlVMTCwgTlVMTCk7CisJCQkgICAgcmV0ID0gMDsKKwkJCX0KKwkJCWdvdG8gZm91bmQ7CisJCSAgICB9CisJCSAgICBucyA9IG5zLT5uZXh0OworCQl9CisJICAgIH0gZWxzZSBpZiAoeG1sU3RyRXF1YWwoYXR0ci0+cHJlZml4LCBCQURfQ0FTVCAieG1sbnMiKSkgeworCQl4bWxOc1B0ciBuczsKKworCQlucyA9IGVsZW0tPm5zRGVmOworCQl3aGlsZSAobnMgIT0gTlVMTCkgeworCQkgICAgaWYgKHhtbFN0ckVxdWFsKGF0dHItPm5hbWUsIG5zLT5wcmVmaXgpKSB7CisJCQlpZiAoIXhtbFN0ckVxdWFsKGF0dHItPmRlZmF1bHRWYWx1ZSwgbnMtPmhyZWYpKSB7CisJCQkgICAgeG1sRXJyVmFsaWROb2RlKGN0eHQsIGVsZW0sIFhNTF9EVERfRUxFTV9OQU1FU1BBQ0UsCisJCSAgICJFbGVtZW50ICVzIG5hbWVzcGFjZSBuYW1lIGZvciAlcyBkb2VzIG5vdCBtYXRjaCB0aGUgRFREXG4iLAorCQkJCSAgIGVsZW0tPm5hbWUsIG5zLT5wcmVmaXgsIE5VTEwpOworCQkJICAgIHJldCA9IDA7CisJCQl9CisJCQlnb3RvIGZvdW5kOworCQkgICAgfQorCQkgICAgbnMgPSBucy0+bmV4dDsKKwkJfQorCSAgICB9CisJfQorZm91bmQ6CisgICAgICAgIGF0dHIgPSBhdHRyLT5uZXh0aDsKKyAgICB9CisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogeG1sVmFsaWRhdGVSb290OgorICogQGN0eHQ6ICB0aGUgdmFsaWRhdGlvbiBjb250ZXh0CisgKiBAZG9jOiAgYSBkb2N1bWVudCBpbnN0YW5jZQorICoKKyAqIFRyeSB0byB2YWxpZGF0ZSBhIHRoZSByb290IGVsZW1lbnQKKyAqIGJhc2ljYWxseSBpdCBkb2VzIHRoZSBmb2xsb3dpbmcgY2hlY2sgYXMgZGVzY3JpYmVkIGJ5IHRoZQorICogWE1MLTEuMCByZWNvbW1lbmRhdGlvbjoKKyAqICAtIFsgVkM6IFJvb3QgRWxlbWVudCBUeXBlIF0KKyAqIGl0IGRvZXNuJ3QgdHJ5IHRvIHJlY3Vyc2Ugb3IgYXBwbHkgb3RoZXIgY2hlY2sgdG8gdGhlIGVsZW1lbnQKKyAqCisgKiByZXR1cm5zIDEgaWYgdmFsaWQgb3IgMCBvdGhlcndpc2UKKyAqLworCitpbnQKK3htbFZhbGlkYXRlUm9vdCh4bWxWYWxpZEN0eHRQdHIgY3R4dCwgeG1sRG9jUHRyIGRvYykgeworICAgIHhtbE5vZGVQdHIgcm9vdDsKKyAgICBpbnQgcmV0OworCisgICAgaWYgKGRvYyA9PSBOVUxMKSByZXR1cm4oMCk7CisKKyAgICByb290ID0geG1sRG9jR2V0Um9vdEVsZW1lbnQoZG9jKTsKKyAgICBpZiAoKHJvb3QgPT0gTlVMTCkgfHwgKHJvb3QtPm5hbWUgPT0gTlVMTCkpIHsKKwl4bWxFcnJWYWxpZChjdHh0LCBYTUxfRFREX05PX1JPT1QsCisJICAgICAgICAgICAgIm5vIHJvb3QgZWxlbWVudFxuIiwgTlVMTCk7CisgICAgICAgIHJldHVybigwKTsKKyAgICB9CisKKyAgICAvKgorICAgICAqIFdoZW4gZG9pbmcgcG9zdCB2YWxpZGF0aW9uIGFnYWluc3QgYSBzZXBhcmF0ZSBEVEQsIHRob3NlIG1heQorICAgICAqIG5vIGludGVybmFsIHN1YnNldCBoYXMgYmVlbiBnZW5lcmF0ZWQKKyAgICAgKi8KKyAgICBpZiAoKGRvYy0+aW50U3Vic2V0ICE9IE5VTEwpICYmCisJKGRvYy0+aW50U3Vic2V0LT5uYW1lICE9IE5VTEwpKSB7CisJLyoKKwkgKiBDaGVjayBmaXJzdCB0aGUgZG9jdW1lbnQgcm9vdCBhZ2FpbnN0IHRoZSBOUU5hbWUKKwkgKi8KKwlpZiAoIXhtbFN0ckVxdWFsKGRvYy0+aW50U3Vic2V0LT5uYW1lLCByb290LT5uYW1lKSkgeworCSAgICBpZiAoKHJvb3QtPm5zICE9IE5VTEwpICYmIChyb290LT5ucy0+cHJlZml4ICE9IE5VTEwpKSB7CisJCXhtbENoYXIgZm5bNTBdOworCQl4bWxDaGFyICpmdWxsbmFtZTsKKworCQlmdWxsbmFtZSA9IHhtbEJ1aWxkUU5hbWUocm9vdC0+bmFtZSwgcm9vdC0+bnMtPnByZWZpeCwgZm4sIDUwKTsKKwkJaWYgKGZ1bGxuYW1lID09IE5VTEwpIHsKKwkJICAgIHhtbFZFcnJNZW1vcnkoY3R4dCwgTlVMTCk7CisJCSAgICByZXR1cm4oMCk7CisJCX0KKwkJcmV0ID0geG1sU3RyRXF1YWwoZG9jLT5pbnRTdWJzZXQtPm5hbWUsIGZ1bGxuYW1lKTsKKwkJaWYgKChmdWxsbmFtZSAhPSBmbikgJiYgKGZ1bGxuYW1lICE9IHJvb3QtPm5hbWUpKQorCQkgICAgeG1sRnJlZShmdWxsbmFtZSk7CisJCWlmIChyZXQgPT0gMSkKKwkJICAgIGdvdG8gbmFtZV9vazsKKwkgICAgfQorCSAgICBpZiAoKHhtbFN0ckVxdWFsKGRvYy0+aW50U3Vic2V0LT5uYW1lLCBCQURfQ0FTVCAiSFRNTCIpKSAmJgorCQkoeG1sU3RyRXF1YWwocm9vdC0+bmFtZSwgQkFEX0NBU1QgImh0bWwiKSkpCisJCWdvdG8gbmFtZV9vazsKKwkgICAgeG1sRXJyVmFsaWROb2RlKGN0eHQsIHJvb3QsIFhNTF9EVERfUk9PVF9OQU1FLAorCQkgICAicm9vdCBhbmQgRFREIG5hbWUgZG8gbm90IG1hdGNoICclcycgYW5kICclcydcbiIsCisJCSAgIHJvb3QtPm5hbWUsIGRvYy0+aW50U3Vic2V0LT5uYW1lLCBOVUxMKTsKKwkgICAgcmV0dXJuKDApOworCX0KKyAgICB9CituYW1lX29rOgorICAgIHJldHVybigxKTsKK30KKworCisvKioKKyAqIHhtbFZhbGlkYXRlRWxlbWVudDoKKyAqIEBjdHh0OiAgdGhlIHZhbGlkYXRpb24gY29udGV4dAorICogQGRvYzogIGEgZG9jdW1lbnQgaW5zdGFuY2UKKyAqIEBlbGVtOiAgYW4gZWxlbWVudCBpbnN0YW5jZQorICoKKyAqIFRyeSB0byB2YWxpZGF0ZSB0aGUgc3VidHJlZSB1bmRlciBhbiBlbGVtZW50CisgKgorICogcmV0dXJucyAxIGlmIHZhbGlkIG9yIDAgb3RoZXJ3aXNlCisgKi8KKworaW50Cit4bWxWYWxpZGF0ZUVsZW1lbnQoeG1sVmFsaWRDdHh0UHRyIGN0eHQsIHhtbERvY1B0ciBkb2MsIHhtbE5vZGVQdHIgZWxlbSkgeworICAgIHhtbE5vZGVQdHIgY2hpbGQ7CisgICAgeG1sQXR0clB0ciBhdHRyOworICAgIHhtbE5zUHRyIG5zOworICAgIGNvbnN0IHhtbENoYXIgKnZhbHVlOworICAgIGludCByZXQgPSAxOworCisgICAgaWYgKGVsZW0gPT0gTlVMTCkgcmV0dXJuKDApOworCisgICAgLyoKKyAgICAgKiBYSW5jbHVkZSBlbGVtZW50cyB3ZXJlIGFkZGVkIGFmdGVyIHBhcnNpbmcgaW4gdGhlIGluZm9zZXQsCisgICAgICogdGhleSBkb24ndCByZWFsbHkgbWVhbiBhbnl0aGluZyB2YWxpZGF0aW9uIHdpc2UuCisgICAgICovCisgICAgaWYgKChlbGVtLT50eXBlID09IFhNTF9YSU5DTFVERV9TVEFSVCkgfHwKKwkoZWxlbS0+dHlwZSA9PSBYTUxfWElOQ0xVREVfRU5EKSB8fAorCShlbGVtLT50eXBlID09IFhNTF9OQU1FU1BBQ0VfREVDTCkpCisJcmV0dXJuKDEpOworCisgICAgQ0hFQ0tfRFREOworCisgICAgLyoKKyAgICAgKiBFbnRpdGllcyByZWZlcmVuY2VzIGhhdmUgdG8gYmUgaGFuZGxlZCBzZXBhcmF0ZWx5CisgICAgICovCisgICAgaWYgKGVsZW0tPnR5cGUgPT0gWE1MX0VOVElUWV9SRUZfTk9ERSkgeworCXJldHVybigxKTsKKyAgICB9CisKKyAgICByZXQgJj0geG1sVmFsaWRhdGVPbmVFbGVtZW50KGN0eHQsIGRvYywgZWxlbSk7CisgICAgaWYgKGVsZW0tPnR5cGUgPT0gWE1MX0VMRU1FTlRfTk9ERSkgeworCWF0dHIgPSBlbGVtLT5wcm9wZXJ0aWVzOworCXdoaWxlIChhdHRyICE9IE5VTEwpIHsKKwkgICAgdmFsdWUgPSB4bWxOb2RlTGlzdEdldFN0cmluZyhkb2MsIGF0dHItPmNoaWxkcmVuLCAwKTsKKwkgICAgcmV0ICY9IHhtbFZhbGlkYXRlT25lQXR0cmlidXRlKGN0eHQsIGRvYywgZWxlbSwgYXR0ciwgdmFsdWUpOworCSAgICBpZiAodmFsdWUgIT0gTlVMTCkKKwkJeG1sRnJlZSgoY2hhciAqKXZhbHVlKTsKKwkgICAgYXR0cj0gYXR0ci0+bmV4dDsKKwl9CisJbnMgPSBlbGVtLT5uc0RlZjsKKwl3aGlsZSAobnMgIT0gTlVMTCkgeworCSAgICBpZiAoZWxlbS0+bnMgPT0gTlVMTCkKKwkJcmV0ICY9IHhtbFZhbGlkYXRlT25lTmFtZXNwYWNlKGN0eHQsIGRvYywgZWxlbSwgTlVMTCwKKwkJCQkJICAgICAgIG5zLCBucy0+aHJlZik7CisJICAgIGVsc2UKKwkJcmV0ICY9IHhtbFZhbGlkYXRlT25lTmFtZXNwYWNlKGN0eHQsIGRvYywgZWxlbSwKKwkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW0tPm5zLT5wcmVmaXgsIG5zLCBucy0+aHJlZik7CisJICAgIG5zID0gbnMtPm5leHQ7CisJfQorICAgIH0KKyAgICBjaGlsZCA9IGVsZW0tPmNoaWxkcmVuOworICAgIHdoaWxlIChjaGlsZCAhPSBOVUxMKSB7CisgICAgICAgIHJldCAmPSB4bWxWYWxpZGF0ZUVsZW1lbnQoY3R4dCwgZG9jLCBjaGlsZCk7CisgICAgICAgIGNoaWxkID0gY2hpbGQtPm5leHQ7CisgICAgfQorCisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogeG1sVmFsaWRhdGVSZWY6CisgKiBAcmVmOiAgIEEgcmVmZXJlbmNlIHRvIGJlIHZhbGlkYXRlZAorICogQGN0eHQ6ICBWYWxpZGF0aW9uIGNvbnRleHQKKyAqIEBuYW1lOiAgTmFtZSBvZiBJRCB3ZSBhcmUgc2VhcmNoaW5nIGZvcgorICoKKyAqLworc3RhdGljIHZvaWQKK3htbFZhbGlkYXRlUmVmKHhtbFJlZlB0ciByZWYsIHhtbFZhbGlkQ3R4dFB0ciBjdHh0LAorCSAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICpuYW1lKSB7CisgICAgeG1sQXR0clB0ciBpZDsKKyAgICB4bWxBdHRyUHRyIGF0dHI7CisKKyAgICBpZiAocmVmID09IE5VTEwpCisJcmV0dXJuOworICAgIGlmICgocmVmLT5hdHRyID09IE5VTEwpICYmIChyZWYtPm5hbWUgPT0gTlVMTCkpCisJcmV0dXJuOworICAgIGF0dHIgPSByZWYtPmF0dHI7CisgICAgaWYgKGF0dHIgPT0gTlVMTCkgeworCXhtbENoYXIgKmR1cCwgKnN0ciA9IE5VTEwsICpjdXIsIHNhdmU7CisKKwlkdXAgPSB4bWxTdHJkdXAobmFtZSk7CisJaWYgKGR1cCA9PSBOVUxMKSB7CisJICAgIGN0eHQtPnZhbGlkID0gMDsKKwkgICAgcmV0dXJuOworCX0KKwljdXIgPSBkdXA7CisJd2hpbGUgKCpjdXIgIT0gMCkgeworCSAgICBzdHIgPSBjdXI7CisJICAgIHdoaWxlICgoKmN1ciAhPSAwKSAmJiAoIUlTX0JMQU5LX0NIKCpjdXIpKSkgY3VyKys7CisJICAgIHNhdmUgPSAqY3VyOworCSAgICAqY3VyID0gMDsKKwkgICAgaWQgPSB4bWxHZXRJRChjdHh0LT5kb2MsIHN0cik7CisJICAgIGlmIChpZCA9PSBOVUxMKSB7CisJCXhtbEVyclZhbGlkTm9kZU5yKGN0eHQsIE5VTEwsIFhNTF9EVERfVU5LTk9XTl9JRCwKKwkgICAiYXR0cmlidXRlICVzIGxpbmUgJWQgcmVmZXJlbmNlcyBhbiB1bmtub3duIElEIFwiJXNcIlxuIiwKKwkJICAgICAgIHJlZi0+bmFtZSwgcmVmLT5saW5lbm8sIHN0cik7CisJCWN0eHQtPnZhbGlkID0gMDsKKwkgICAgfQorCSAgICBpZiAoc2F2ZSA9PSAwKQorCQlicmVhazsKKwkgICAgKmN1ciA9IHNhdmU7CisJICAgIHdoaWxlIChJU19CTEFOS19DSCgqY3VyKSkgY3VyKys7CisJfQorCXhtbEZyZWUoZHVwKTsKKyAgICB9IGVsc2UgaWYgKGF0dHItPmF0eXBlID09IFhNTF9BVFRSSUJVVEVfSURSRUYpIHsKKwlpZCA9IHhtbEdldElEKGN0eHQtPmRvYywgbmFtZSk7CisJaWYgKGlkID09IE5VTEwpIHsKKwkgICAgeG1sRXJyVmFsaWROb2RlKGN0eHQsIGF0dHItPnBhcmVudCwgWE1MX0RURF9VTktOT1dOX0lELAorCSAgICJJRFJFRiBhdHRyaWJ1dGUgJXMgcmVmZXJlbmNlcyBhbiB1bmtub3duIElEIFwiJXNcIlxuIiwKKwkJICAgYXR0ci0+bmFtZSwgbmFtZSwgTlVMTCk7CisJICAgIGN0eHQtPnZhbGlkID0gMDsKKwl9CisgICAgfSBlbHNlIGlmIChhdHRyLT5hdHlwZSA9PSBYTUxfQVRUUklCVVRFX0lEUkVGUykgeworCXhtbENoYXIgKmR1cCwgKnN0ciA9IE5VTEwsICpjdXIsIHNhdmU7CisKKwlkdXAgPSB4bWxTdHJkdXAobmFtZSk7CisJaWYgKGR1cCA9PSBOVUxMKSB7CisJICAgIHhtbFZFcnJNZW1vcnkoY3R4dCwgIklEUkVGUyBzcGxpdCIpOworCSAgICBjdHh0LT52YWxpZCA9IDA7CisJICAgIHJldHVybjsKKwl9CisJY3VyID0gZHVwOworCXdoaWxlICgqY3VyICE9IDApIHsKKwkgICAgc3RyID0gY3VyOworCSAgICB3aGlsZSAoKCpjdXIgIT0gMCkgJiYgKCFJU19CTEFOS19DSCgqY3VyKSkpIGN1cisrOworCSAgICBzYXZlID0gKmN1cjsKKwkgICAgKmN1ciA9IDA7CisJICAgIGlkID0geG1sR2V0SUQoY3R4dC0+ZG9jLCBzdHIpOworCSAgICBpZiAoaWQgPT0gTlVMTCkgeworCQl4bWxFcnJWYWxpZE5vZGUoY3R4dCwgYXR0ci0+cGFyZW50LCBYTUxfRFREX1VOS05PV05fSUQsCisJICAgIklEUkVGUyBhdHRyaWJ1dGUgJXMgcmVmZXJlbmNlcyBhbiB1bmtub3duIElEIFwiJXNcIlxuIiwKKwkJCSAgICAgYXR0ci0+bmFtZSwgc3RyLCBOVUxMKTsKKwkJY3R4dC0+dmFsaWQgPSAwOworCSAgICB9CisJICAgIGlmIChzYXZlID09IDApCisJCWJyZWFrOworCSAgICAqY3VyID0gc2F2ZTsKKwkgICAgd2hpbGUgKElTX0JMQU5LX0NIKCpjdXIpKSBjdXIrKzsKKwl9CisJeG1sRnJlZShkdXApOworICAgIH0KK30KKworLyoqCisgKiB4bWxXYWxrVmFsaWRhdGVMaXN0OgorICogQGRhdGE6ICBDb250ZW50cyBvZiBjdXJyZW50IGxpbmsKKyAqIEB1c2VyOiAgVmFsdWUgc3VwcGxpZWQgYnkgdGhlIHVzZXIKKyAqCisgKiBSZXR1cm5zIDAgdG8gYWJvcnQgdGhlIHdhbGsgb3IgMSB0byBjb250aW51ZQorICovCitzdGF0aWMgaW50Cit4bWxXYWxrVmFsaWRhdGVMaXN0KGNvbnN0IHZvaWQgKmRhdGEsIGNvbnN0IHZvaWQgKnVzZXIpCit7CisJeG1sVmFsaWRhdGVNZW1vUHRyIG1lbW8gPSAoeG1sVmFsaWRhdGVNZW1vUHRyKXVzZXI7CisJeG1sVmFsaWRhdGVSZWYoKHhtbFJlZlB0cilkYXRhLCBtZW1vLT5jdHh0LCBtZW1vLT5uYW1lKTsKKwlyZXR1cm4gMTsKK30KKworLyoqCisgKiB4bWxWYWxpZGF0ZUNoZWNrUmVmQ2FsbGJhY2s6CisgKiBAcmVmX2xpc3Q6ICBMaXN0IG9mIHJlZmVyZW5jZXMKKyAqIEBjdHh0OiAgVmFsaWRhdGlvbiBjb250ZXh0CisgKiBAbmFtZTogIE5hbWUgb2YgSUQgd2UgYXJlIHNlYXJjaGluZyBmb3IKKyAqCisgKi8KK3N0YXRpYyB2b2lkCit4bWxWYWxpZGF0ZUNoZWNrUmVmQ2FsbGJhY2soeG1sTGlzdFB0ciByZWZfbGlzdCwgeG1sVmFsaWRDdHh0UHRyIGN0eHQsCisJICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKm5hbWUpIHsKKyAgICB4bWxWYWxpZGF0ZU1lbW8gbWVtbzsKKworICAgIGlmIChyZWZfbGlzdCA9PSBOVUxMKQorCXJldHVybjsKKyAgICBtZW1vLmN0eHQgPSBjdHh0OworICAgIG1lbW8ubmFtZSA9IG5hbWU7CisKKyAgICB4bWxMaXN0V2FsayhyZWZfbGlzdCwgeG1sV2Fsa1ZhbGlkYXRlTGlzdCwgJm1lbW8pOworCit9CisKKy8qKgorICogeG1sVmFsaWRhdGVEb2N1bWVudEZpbmFsOgorICogQGN0eHQ6ICB0aGUgdmFsaWRhdGlvbiBjb250ZXh0CisgKiBAZG9jOiAgYSBkb2N1bWVudCBpbnN0YW5jZQorICoKKyAqIERvZXMgdGhlIGZpbmFsIHN0ZXAgZm9yIHRoZSBkb2N1bWVudCB2YWxpZGF0aW9uIG9uY2UgYWxsIHRoZQorICogaW5jcmVtZW50YWwgdmFsaWRhdGlvbiBzdGVwcyBoYXZlIGJlZW4gY29tcGxldGVkCisgKgorICogYmFzaWNhbGx5IGl0IGRvZXMgdGhlIGZvbGxvd2luZyBjaGVja3MgZGVzY3JpYmVkIGJ5IHRoZSBYTUwgUmVjCisgKgorICogQ2hlY2sgYWxsIHRoZSBJRFJFRi9JRFJFRlMgYXR0cmlidXRlcyBkZWZpbml0aW9uIGZvciB2YWxpZGl0eQorICoKKyAqIHJldHVybnMgMSBpZiB2YWxpZCBvciAwIG90aGVyd2lzZQorICovCisKK2ludAoreG1sVmFsaWRhdGVEb2N1bWVudEZpbmFsKHhtbFZhbGlkQ3R4dFB0ciBjdHh0LCB4bWxEb2NQdHIgZG9jKSB7CisgICAgeG1sUmVmVGFibGVQdHIgdGFibGU7CisgICAgdW5zaWduZWQgaW50IHNhdmU7CisKKyAgICBpZiAoY3R4dCA9PSBOVUxMKQorICAgICAgICByZXR1cm4oMCk7CisgICAgaWYgKGRvYyA9PSBOVUxMKSB7CisgICAgICAgIHhtbEVyclZhbGlkKGN0eHQsIFhNTF9EVERfTk9fRE9DLAorCQkieG1sVmFsaWRhdGVEb2N1bWVudEZpbmFsOiBkb2MgPT0gTlVMTFxuIiwgTlVMTCk7CisJcmV0dXJuKDApOworICAgIH0KKworICAgIC8qIHRyaWNrIHRvIGdldCBjb3JyZWN0IGxpbmUgaWQgcmVwb3J0ICovCisgICAgc2F2ZSA9IGN0eHQtPmZpbmlzaER0ZDsKKyAgICBjdHh0LT5maW5pc2hEdGQgPSAwOworCisgICAgLyoKKyAgICAgKiBDaGVjayBhbGwgdGhlIE5PVEFUSU9OL05PVEFUSU9OUyBhdHRyaWJ1dGVzCisgICAgICovCisgICAgLyoKKyAgICAgKiBDaGVjayBhbGwgdGhlIEVOVElUWS9FTlRJVElFUyBhdHRyaWJ1dGVzIGRlZmluaXRpb24gZm9yIHZhbGlkaXR5CisgICAgICovCisgICAgLyoKKyAgICAgKiBDaGVjayBhbGwgdGhlIElEUkVGL0lEUkVGUyBhdHRyaWJ1dGVzIGRlZmluaXRpb24gZm9yIHZhbGlkaXR5CisgICAgICovCisgICAgdGFibGUgPSAoeG1sUmVmVGFibGVQdHIpIGRvYy0+cmVmczsKKyAgICBjdHh0LT5kb2MgPSBkb2M7CisgICAgY3R4dC0+dmFsaWQgPSAxOworICAgIHhtbEhhc2hTY2FuKHRhYmxlLCAoeG1sSGFzaFNjYW5uZXIpIHhtbFZhbGlkYXRlQ2hlY2tSZWZDYWxsYmFjaywgY3R4dCk7CisKKyAgICBjdHh0LT5maW5pc2hEdGQgPSBzYXZlOworICAgIHJldHVybihjdHh0LT52YWxpZCk7Cit9CisKKy8qKgorICogeG1sVmFsaWRhdGVEdGQ6CisgKiBAY3R4dDogIHRoZSB2YWxpZGF0aW9uIGNvbnRleHQKKyAqIEBkb2M6ICBhIGRvY3VtZW50IGluc3RhbmNlCisgKiBAZHRkOiAgYSBkdGQgaW5zdGFuY2UKKyAqCisgKiBUcnkgdG8gdmFsaWRhdGUgdGhlIGRvY3VtZW50IGFnYWluc3QgdGhlIGR0ZCBpbnN0YW5jZQorICoKKyAqIEJhc2ljYWxseSBpdCBkb2VzIGNoZWNrIGFsbCB0aGUgZGVmaW5pdGlvbnMgaW4gdGhlIER0RC4KKyAqIE5vdGUgdGhlIHRoZSBpbnRlcm5hbCBzdWJzZXQgKGlmIHByZXNlbnQpIGlzIGRlLWNvdXBsZWQKKyAqIChpLmUuIG5vdCB1c2VkKSwgd2hpY2ggY291bGQgZ2l2ZSBwcm9ibGVtcyBpZiBJRCBvciBJRFJFRgorICogaXMgcHJlc2VudC4KKyAqCisgKiByZXR1cm5zIDEgaWYgdmFsaWQgb3IgMCBvdGhlcndpc2UKKyAqLworCitpbnQKK3htbFZhbGlkYXRlRHRkKHhtbFZhbGlkQ3R4dFB0ciBjdHh0LCB4bWxEb2NQdHIgZG9jLCB4bWxEdGRQdHIgZHRkKSB7CisgICAgaW50IHJldDsKKyAgICB4bWxEdGRQdHIgb2xkRXh0LCBvbGRJbnQ7CisgICAgeG1sTm9kZVB0ciByb290OworCisgICAgaWYgKGR0ZCA9PSBOVUxMKSByZXR1cm4oMCk7CisgICAgaWYgKGRvYyA9PSBOVUxMKSByZXR1cm4oMCk7CisgICAgb2xkRXh0ID0gZG9jLT5leHRTdWJzZXQ7CisgICAgb2xkSW50ID0gZG9jLT5pbnRTdWJzZXQ7CisgICAgZG9jLT5leHRTdWJzZXQgPSBkdGQ7CisgICAgZG9jLT5pbnRTdWJzZXQgPSBOVUxMOworICAgIHJldCA9IHhtbFZhbGlkYXRlUm9vdChjdHh0LCBkb2MpOworICAgIGlmIChyZXQgPT0gMCkgeworCWRvYy0+ZXh0U3Vic2V0ID0gb2xkRXh0OworCWRvYy0+aW50U3Vic2V0ID0gb2xkSW50OworCXJldHVybihyZXQpOworICAgIH0KKyAgICBpZiAoZG9jLT5pZHMgIT0gTlVMTCkgeworICAgICAgICAgIHhtbEZyZWVJRFRhYmxlKGRvYy0+aWRzKTsKKyAgICAgICAgICBkb2MtPmlkcyA9IE5VTEw7CisgICAgfQorICAgIGlmIChkb2MtPnJlZnMgIT0gTlVMTCkgeworICAgICAgICAgIHhtbEZyZWVSZWZUYWJsZShkb2MtPnJlZnMpOworICAgICAgICAgIGRvYy0+cmVmcyA9IE5VTEw7CisgICAgfQorICAgIHJvb3QgPSB4bWxEb2NHZXRSb290RWxlbWVudChkb2MpOworICAgIHJldCA9IHhtbFZhbGlkYXRlRWxlbWVudChjdHh0LCBkb2MsIHJvb3QpOworICAgIHJldCAmPSB4bWxWYWxpZGF0ZURvY3VtZW50RmluYWwoY3R4dCwgZG9jKTsKKyAgICBkb2MtPmV4dFN1YnNldCA9IG9sZEV4dDsKKyAgICBkb2MtPmludFN1YnNldCA9IG9sZEludDsKKyAgICByZXR1cm4ocmV0KTsKK30KKworc3RhdGljIHZvaWQKK3htbFZhbGlkYXRlTm90YXRpb25DYWxsYmFjayh4bWxFbnRpdHlQdHIgY3VyLCB4bWxWYWxpZEN0eHRQdHIgY3R4dCwKKwkgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKm5hbWUgQVRUUklCVVRFX1VOVVNFRCkgeworICAgIGlmIChjdXIgPT0gTlVMTCkKKwlyZXR1cm47CisgICAgaWYgKGN1ci0+ZXR5cGUgPT0gWE1MX0VYVEVSTkFMX0dFTkVSQUxfVU5QQVJTRURfRU5USVRZKSB7CisJeG1sQ2hhciAqbm90YXRpb24gPSBjdXItPmNvbnRlbnQ7CisKKwlpZiAobm90YXRpb24gIT0gTlVMTCkgeworCSAgICBpbnQgcmV0OworCisJICAgIHJldCA9IHhtbFZhbGlkYXRlTm90YXRpb25Vc2UoY3R4dCwgY3VyLT5kb2MsIG5vdGF0aW9uKTsKKwkgICAgaWYgKHJldCAhPSAxKSB7CisJCWN0eHQtPnZhbGlkID0gMDsKKwkgICAgfQorCX0KKyAgICB9Cit9CisKK3N0YXRpYyB2b2lkCit4bWxWYWxpZGF0ZUF0dHJpYnV0ZUNhbGxiYWNrKHhtbEF0dHJpYnV0ZVB0ciBjdXIsIHhtbFZhbGlkQ3R4dFB0ciBjdHh0LAorCSAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqbmFtZSBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgaW50IHJldDsKKyAgICB4bWxEb2NQdHIgZG9jOworICAgIHhtbEVsZW1lbnRQdHIgZWxlbSA9IE5VTEw7CisKKyAgICBpZiAoY3VyID09IE5VTEwpCisJcmV0dXJuOworICAgIHN3aXRjaCAoY3VyLT5hdHlwZSkgeworCWNhc2UgWE1MX0FUVFJJQlVURV9DREFUQToKKwljYXNlIFhNTF9BVFRSSUJVVEVfSUQ6CisJY2FzZSBYTUxfQVRUUklCVVRFX0lEUkVGCToKKwljYXNlIFhNTF9BVFRSSUJVVEVfSURSRUZTOgorCWNhc2UgWE1MX0FUVFJJQlVURV9OTVRPS0VOOgorCWNhc2UgWE1MX0FUVFJJQlVURV9OTVRPS0VOUzoKKwljYXNlIFhNTF9BVFRSSUJVVEVfRU5VTUVSQVRJT046CisJICAgIGJyZWFrOworCWNhc2UgWE1MX0FUVFJJQlVURV9FTlRJVFk6CisJY2FzZSBYTUxfQVRUUklCVVRFX0VOVElUSUVTOgorCWNhc2UgWE1MX0FUVFJJQlVURV9OT1RBVElPTjoKKwkgICAgaWYgKGN1ci0+ZGVmYXVsdFZhbHVlICE9IE5VTEwpIHsKKworCQlyZXQgPSB4bWxWYWxpZGF0ZUF0dHJpYnV0ZVZhbHVlMihjdHh0LCBjdHh0LT5kb2MsIGN1ci0+bmFtZSwKKwkJCSAgICAgICAgICAgICAgICAgICAgICAgICBjdXItPmF0eXBlLCBjdXItPmRlZmF1bHRWYWx1ZSk7CisJCWlmICgocmV0ID09IDApICYmIChjdHh0LT52YWxpZCA9PSAxKSkKKwkJICAgIGN0eHQtPnZhbGlkID0gMDsKKwkgICAgfQorCSAgICBpZiAoY3VyLT50cmVlICE9IE5VTEwpIHsKKwkJeG1sRW51bWVyYXRpb25QdHIgdHJlZSA9IGN1ci0+dHJlZTsKKwkJd2hpbGUgKHRyZWUgIT0gTlVMTCkgeworCQkgICAgcmV0ID0geG1sVmFsaWRhdGVBdHRyaWJ1dGVWYWx1ZTIoY3R4dCwgY3R4dC0+ZG9jLAorCQkJCSAgICBjdXItPm5hbWUsIGN1ci0+YXR5cGUsIHRyZWUtPm5hbWUpOworCQkgICAgaWYgKChyZXQgPT0gMCkgJiYgKGN0eHQtPnZhbGlkID09IDEpKQorCQkJY3R4dC0+dmFsaWQgPSAwOworCQkgICAgdHJlZSA9IHRyZWUtPm5leHQ7CisJCX0KKwkgICAgfQorICAgIH0KKyAgICBpZiAoY3VyLT5hdHlwZSA9PSBYTUxfQVRUUklCVVRFX05PVEFUSU9OKSB7CisJZG9jID0gY3VyLT5kb2M7CisJaWYgKGN1ci0+ZWxlbSA9PSBOVUxMKSB7CisJICAgIHhtbEVyclZhbGlkKGN0eHQsIFhNTF9FUlJfSU5URVJOQUxfRVJST1IsCisJCSAgICJ4bWxWYWxpZGF0ZUF0dHJpYnV0ZUNhbGxiYWNrKCVzKTogaW50ZXJuYWwgZXJyb3JcbiIsCisJCSAgIChjb25zdCBjaGFyICopIGN1ci0+bmFtZSk7CisJICAgIHJldHVybjsKKwl9CisKKwlpZiAoZG9jICE9IE5VTEwpCisJICAgIGVsZW0gPSB4bWxHZXREdGRFbGVtZW50RGVzYyhkb2MtPmludFN1YnNldCwgY3VyLT5lbGVtKTsKKwlpZiAoKGVsZW0gPT0gTlVMTCkgJiYgKGRvYyAhPSBOVUxMKSkKKwkgICAgZWxlbSA9IHhtbEdldER0ZEVsZW1lbnREZXNjKGRvYy0+ZXh0U3Vic2V0LCBjdXItPmVsZW0pOworCWlmICgoZWxlbSA9PSBOVUxMKSAmJiAoY3VyLT5wYXJlbnQgIT0gTlVMTCkgJiYKKwkgICAgKGN1ci0+cGFyZW50LT50eXBlID09IFhNTF9EVERfTk9ERSkpCisJICAgIGVsZW0gPSB4bWxHZXREdGRFbGVtZW50RGVzYygoeG1sRHRkUHRyKSBjdXItPnBhcmVudCwgY3VyLT5lbGVtKTsKKwlpZiAoZWxlbSA9PSBOVUxMKSB7CisJICAgIHhtbEVyclZhbGlkTm9kZShjdHh0LCBOVUxMLCBYTUxfRFREX1VOS05PV05fRUxFTSwKKwkJICAgImF0dHJpYnV0ZSAlczogY291bGQgbm90IGZpbmQgZGVjbCBmb3IgZWxlbWVudCAlc1xuIiwKKwkJICAgY3VyLT5uYW1lLCBjdXItPmVsZW0sIE5VTEwpOworCSAgICByZXR1cm47CisJfQorCWlmIChlbGVtLT5ldHlwZSA9PSBYTUxfRUxFTUVOVF9UWVBFX0VNUFRZKSB7CisJICAgIHhtbEVyclZhbGlkTm9kZShjdHh0LCBOVUxMLCBYTUxfRFREX0VNUFRZX05PVEFUSU9OLAorCQkgICAiTk9UQVRJT04gYXR0cmlidXRlICVzIGRlY2xhcmVkIGZvciBFTVBUWSBlbGVtZW50ICVzXG4iLAorCQkgICBjdXItPm5hbWUsIGN1ci0+ZWxlbSwgTlVMTCk7CisJICAgIGN0eHQtPnZhbGlkID0gMDsKKwl9CisgICAgfQorfQorCisvKioKKyAqIHhtbFZhbGlkYXRlRHRkRmluYWw6CisgKiBAY3R4dDogIHRoZSB2YWxpZGF0aW9uIGNvbnRleHQKKyAqIEBkb2M6ICBhIGRvY3VtZW50IGluc3RhbmNlCisgKgorICogRG9lcyB0aGUgZmluYWwgc3RlcCBmb3IgdGhlIGR0ZHMgdmFsaWRhdGlvbiBvbmNlIGFsbCB0aGUKKyAqIHN1YnNldHMgaGF2ZSBiZWVuIHBhcnNlZAorICoKKyAqIGJhc2ljYWxseSBpdCBkb2VzIHRoZSBmb2xsb3dpbmcgY2hlY2tzIGRlc2NyaWJlZCBieSB0aGUgWE1MIFJlYworICogLSBjaGVjayB0aGF0IEVOVElUWSBhbmQgRU5USVRJRVMgdHlwZSBhdHRyaWJ1dGVzIGRlZmF1bHQgb3IKKyAqICAgcG9zc2libGUgdmFsdWVzIG1hdGNoZXMgb25lIG9mIHRoZSBkZWZpbmVkIGVudGl0aWVzLgorICogLSBjaGVjayB0aGF0IE5PVEFUSU9OIHR5cGUgYXR0cmlidXRlcyBkZWZhdWx0IG9yCisgKiAgIHBvc3NpYmxlIHZhbHVlcyBtYXRjaGVzIG9uZSBvZiB0aGUgZGVmaW5lZCBub3RhdGlvbnMuCisgKgorICogcmV0dXJucyAxIGlmIHZhbGlkIG9yIDAgaWYgaW52YWxpZCBhbmQgLTEgaWYgbm90IHdlbGwtZm9ybWVkCisgKi8KKworaW50Cit4bWxWYWxpZGF0ZUR0ZEZpbmFsKHhtbFZhbGlkQ3R4dFB0ciBjdHh0LCB4bWxEb2NQdHIgZG9jKSB7CisgICAgeG1sRHRkUHRyIGR0ZDsKKyAgICB4bWxBdHRyaWJ1dGVUYWJsZVB0ciB0YWJsZTsKKyAgICB4bWxFbnRpdGllc1RhYmxlUHRyIGVudGl0aWVzOworCisgICAgaWYgKChkb2MgPT0gTlVMTCkgfHwgKGN0eHQgPT0gTlVMTCkpIHJldHVybigwKTsKKyAgICBpZiAoKGRvYy0+aW50U3Vic2V0ID09IE5VTEwpICYmIChkb2MtPmV4dFN1YnNldCA9PSBOVUxMKSkKKwlyZXR1cm4oMCk7CisgICAgY3R4dC0+ZG9jID0gZG9jOworICAgIGN0eHQtPnZhbGlkID0gMTsKKyAgICBkdGQgPSBkb2MtPmludFN1YnNldDsKKyAgICBpZiAoKGR0ZCAhPSBOVUxMKSAmJiAoZHRkLT5hdHRyaWJ1dGVzICE9IE5VTEwpKSB7CisJdGFibGUgPSAoeG1sQXR0cmlidXRlVGFibGVQdHIpIGR0ZC0+YXR0cmlidXRlczsKKwl4bWxIYXNoU2Nhbih0YWJsZSwgKHhtbEhhc2hTY2FubmVyKSB4bWxWYWxpZGF0ZUF0dHJpYnV0ZUNhbGxiYWNrLCBjdHh0KTsKKyAgICB9CisgICAgaWYgKChkdGQgIT0gTlVMTCkgJiYgKGR0ZC0+ZW50aXRpZXMgIT0gTlVMTCkpIHsKKwllbnRpdGllcyA9ICh4bWxFbnRpdGllc1RhYmxlUHRyKSBkdGQtPmVudGl0aWVzOworCXhtbEhhc2hTY2FuKGVudGl0aWVzLCAoeG1sSGFzaFNjYW5uZXIpIHhtbFZhbGlkYXRlTm90YXRpb25DYWxsYmFjaywKKwkJICAgIGN0eHQpOworICAgIH0KKyAgICBkdGQgPSBkb2MtPmV4dFN1YnNldDsKKyAgICBpZiAoKGR0ZCAhPSBOVUxMKSAmJiAoZHRkLT5hdHRyaWJ1dGVzICE9IE5VTEwpKSB7CisJdGFibGUgPSAoeG1sQXR0cmlidXRlVGFibGVQdHIpIGR0ZC0+YXR0cmlidXRlczsKKwl4bWxIYXNoU2Nhbih0YWJsZSwgKHhtbEhhc2hTY2FubmVyKSB4bWxWYWxpZGF0ZUF0dHJpYnV0ZUNhbGxiYWNrLCBjdHh0KTsKKyAgICB9CisgICAgaWYgKChkdGQgIT0gTlVMTCkgJiYgKGR0ZC0+ZW50aXRpZXMgIT0gTlVMTCkpIHsKKwllbnRpdGllcyA9ICh4bWxFbnRpdGllc1RhYmxlUHRyKSBkdGQtPmVudGl0aWVzOworCXhtbEhhc2hTY2FuKGVudGl0aWVzLCAoeG1sSGFzaFNjYW5uZXIpIHhtbFZhbGlkYXRlTm90YXRpb25DYWxsYmFjaywKKwkJICAgIGN0eHQpOworICAgIH0KKyAgICByZXR1cm4oY3R4dC0+dmFsaWQpOworfQorCisvKioKKyAqIHhtbFZhbGlkYXRlRG9jdW1lbnQ6CisgKiBAY3R4dDogIHRoZSB2YWxpZGF0aW9uIGNvbnRleHQKKyAqIEBkb2M6ICBhIGRvY3VtZW50IGluc3RhbmNlCisgKgorICogVHJ5IHRvIHZhbGlkYXRlIHRoZSBkb2N1bWVudCBpbnN0YW5jZQorICoKKyAqIGJhc2ljYWxseSBpdCBkb2VzIHRoZSBhbGwgdGhlIGNoZWNrcyBkZXNjcmliZWQgYnkgdGhlIFhNTCBSZWMKKyAqIGkuZS4gdmFsaWRhdGVzIHRoZSBpbnRlcm5hbCBhbmQgZXh0ZXJuYWwgc3Vic2V0IChpZiBwcmVzZW50KQorICogYW5kIHZhbGlkYXRlIHRoZSBkb2N1bWVudCB0cmVlLgorICoKKyAqIHJldHVybnMgMSBpZiB2YWxpZCBvciAwIG90aGVyd2lzZQorICovCisKK2ludAoreG1sVmFsaWRhdGVEb2N1bWVudCh4bWxWYWxpZEN0eHRQdHIgY3R4dCwgeG1sRG9jUHRyIGRvYykgeworICAgIGludCByZXQ7CisgICAgeG1sTm9kZVB0ciByb290OworCisgICAgaWYgKGRvYyA9PSBOVUxMKQorICAgICAgICByZXR1cm4oMCk7CisgICAgaWYgKChkb2MtPmludFN1YnNldCA9PSBOVUxMKSAmJiAoZG9jLT5leHRTdWJzZXQgPT0gTlVMTCkpIHsKKyAgICAgICAgeG1sRXJyVmFsaWQoY3R4dCwgWE1MX0RURF9OT19EVEQsCisJICAgICAgICAgICAgIm5vIERURCBmb3VuZCFcbiIsIE5VTEwpOworCXJldHVybigwKTsKKyAgICB9CisgICAgaWYgKChkb2MtPmludFN1YnNldCAhPSBOVUxMKSAmJiAoKGRvYy0+aW50U3Vic2V0LT5TeXN0ZW1JRCAhPSBOVUxMKSB8fAorCShkb2MtPmludFN1YnNldC0+RXh0ZXJuYWxJRCAhPSBOVUxMKSkgJiYgKGRvYy0+ZXh0U3Vic2V0ID09IE5VTEwpKSB7CisJeG1sQ2hhciAqc3lzSUQ7CisJaWYgKGRvYy0+aW50U3Vic2V0LT5TeXN0ZW1JRCAhPSBOVUxMKSB7CisJICAgIHN5c0lEID0geG1sQnVpbGRVUkkoZG9jLT5pbnRTdWJzZXQtPlN5c3RlbUlELAorCQkJZG9jLT5VUkwpOworCSAgICBpZiAoc3lzSUQgPT0gTlVMTCkgeworCSAgICAgICAgeG1sRXJyVmFsaWQoY3R4dCwgWE1MX0RURF9MT0FEX0VSUk9SLAorCQkJIkNvdWxkIG5vdCBidWlsZCBVUkkgZm9yIGV4dGVybmFsIHN1YnNldCBcIiVzXCJcbiIsCisJCQkoY29uc3QgY2hhciAqKSBkb2MtPmludFN1YnNldC0+U3lzdGVtSUQpOworCQlyZXR1cm4gMDsKKwkgICAgfQorCX0gZWxzZQorCSAgICBzeXNJRCA9IE5VTEw7CisgICAgICAgIGRvYy0+ZXh0U3Vic2V0ID0geG1sUGFyc2VEVEQoZG9jLT5pbnRTdWJzZXQtPkV4dGVybmFsSUQsCisJCQkoY29uc3QgeG1sQ2hhciAqKXN5c0lEKTsKKwlpZiAoc3lzSUQgIT0gTlVMTCkKKwkgICAgeG1sRnJlZShzeXNJRCk7CisgICAgICAgIGlmIChkb2MtPmV4dFN1YnNldCA9PSBOVUxMKSB7CisJICAgIGlmIChkb2MtPmludFN1YnNldC0+U3lzdGVtSUQgIT0gTlVMTCkgeworCQl4bWxFcnJWYWxpZChjdHh0LCBYTUxfRFREX0xPQURfRVJST1IsCisJCSAgICAgICAiQ291bGQgbm90IGxvYWQgdGhlIGV4dGVybmFsIHN1YnNldCBcIiVzXCJcbiIsCisJCSAgICAgICAoY29uc3QgY2hhciAqKSBkb2MtPmludFN1YnNldC0+U3lzdGVtSUQpOworCSAgICB9IGVsc2UgeworCQl4bWxFcnJWYWxpZChjdHh0LCBYTUxfRFREX0xPQURfRVJST1IsCisJCSAgICAgICAiQ291bGQgbm90IGxvYWQgdGhlIGV4dGVybmFsIHN1YnNldCBcIiVzXCJcbiIsCisJCSAgICAgICAoY29uc3QgY2hhciAqKSBkb2MtPmludFN1YnNldC0+RXh0ZXJuYWxJRCk7CisJICAgIH0KKwkgICAgcmV0dXJuKDApOworCX0KKyAgICB9CisKKyAgICBpZiAoZG9jLT5pZHMgIT0gTlVMTCkgeworICAgICAgICAgIHhtbEZyZWVJRFRhYmxlKGRvYy0+aWRzKTsKKyAgICAgICAgICBkb2MtPmlkcyA9IE5VTEw7CisgICAgfQorICAgIGlmIChkb2MtPnJlZnMgIT0gTlVMTCkgeworICAgICAgICAgIHhtbEZyZWVSZWZUYWJsZShkb2MtPnJlZnMpOworICAgICAgICAgIGRvYy0+cmVmcyA9IE5VTEw7CisgICAgfQorICAgIHJldCA9IHhtbFZhbGlkYXRlRHRkRmluYWwoY3R4dCwgZG9jKTsKKyAgICBpZiAoIXhtbFZhbGlkYXRlUm9vdChjdHh0LCBkb2MpKSByZXR1cm4oMCk7CisKKyAgICByb290ID0geG1sRG9jR2V0Um9vdEVsZW1lbnQoZG9jKTsKKyAgICByZXQgJj0geG1sVmFsaWRhdGVFbGVtZW50KGN0eHQsIGRvYywgcm9vdCk7CisgICAgcmV0ICY9IHhtbFZhbGlkYXRlRG9jdW1lbnRGaW5hbChjdHh0LCBkb2MpOworICAgIHJldHVybihyZXQpOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQlSb3V0aW5lcyBmb3IgZHluYW1pYyB2YWxpZGF0aW9uIGVkaXRpbmcJCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKgorICogeG1sVmFsaWRHZXRQb3RlbnRpYWxDaGlsZHJlbjoKKyAqIEBjdHJlZTogIGFuIGVsZW1lbnQgY29udGVudCB0cmVlCisgKiBAbmFtZXM6ICBhbiBhcnJheSB0byBzdG9yZSB0aGUgbGlzdCBvZiBjaGlsZCBuYW1lcworICogQGxlbjogIGEgcG9pbnRlciB0byB0aGUgbnVtYmVyIG9mIGVsZW1lbnQgaW4gdGhlIGxpc3QKKyAqIEBtYXg6ICB0aGUgc2l6ZSBvZiB0aGUgYXJyYXkKKyAqCisgKiBCdWlsZC9leHRlbmQgYSBsaXN0IG9mICBwb3RlbnRpYWwgY2hpbGRyZW4gYWxsb3dlZCBieSB0aGUgY29udGVudCB0cmVlCisgKgorICogcmV0dXJucyB0aGUgbnVtYmVyIG9mIGVsZW1lbnQgaW4gdGhlIGxpc3QsIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KKworaW50Cit4bWxWYWxpZEdldFBvdGVudGlhbENoaWxkcmVuKHhtbEVsZW1lbnRDb250ZW50ICpjdHJlZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqKm5hbWVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgKmxlbiwgaW50IG1heCkgeworICAgIGludCBpOworCisgICAgaWYgKChjdHJlZSA9PSBOVUxMKSB8fCAobmFtZXMgPT0gTlVMTCkgfHwgKGxlbiA9PSBOVUxMKSkKKyAgICAgICAgcmV0dXJuKC0xKTsKKyAgICBpZiAoKmxlbiA+PSBtYXgpIHJldHVybigqbGVuKTsKKworICAgIHN3aXRjaCAoY3RyZWUtPnR5cGUpIHsKKwljYXNlIFhNTF9FTEVNRU5UX0NPTlRFTlRfUENEQVRBOgorCSAgICBmb3IgKGkgPSAwOyBpIDwgKmxlbjtpKyspCisJCWlmICh4bWxTdHJFcXVhbChCQURfQ0FTVCAiI1BDREFUQSIsIG5hbWVzW2ldKSkgcmV0dXJuKCpsZW4pOworCSAgICBuYW1lc1soKmxlbikrK10gPSBCQURfQ0FTVCAiI1BDREFUQSI7CisJICAgIGJyZWFrOworCWNhc2UgWE1MX0VMRU1FTlRfQ09OVEVOVF9FTEVNRU5UOgorCSAgICBmb3IgKGkgPSAwOyBpIDwgKmxlbjtpKyspCisJCWlmICh4bWxTdHJFcXVhbChjdHJlZS0+bmFtZSwgbmFtZXNbaV0pKSByZXR1cm4oKmxlbik7CisJICAgIG5hbWVzWygqbGVuKSsrXSA9IGN0cmVlLT5uYW1lOworCSAgICBicmVhazsKKwljYXNlIFhNTF9FTEVNRU5UX0NPTlRFTlRfU0VROgorCSAgICB4bWxWYWxpZEdldFBvdGVudGlhbENoaWxkcmVuKGN0cmVlLT5jMSwgbmFtZXMsIGxlbiwgbWF4KTsKKwkgICAgeG1sVmFsaWRHZXRQb3RlbnRpYWxDaGlsZHJlbihjdHJlZS0+YzIsIG5hbWVzLCBsZW4sIG1heCk7CisJICAgIGJyZWFrOworCWNhc2UgWE1MX0VMRU1FTlRfQ09OVEVOVF9PUjoKKwkgICAgeG1sVmFsaWRHZXRQb3RlbnRpYWxDaGlsZHJlbihjdHJlZS0+YzEsIG5hbWVzLCBsZW4sIG1heCk7CisJICAgIHhtbFZhbGlkR2V0UG90ZW50aWFsQ2hpbGRyZW4oY3RyZWUtPmMyLCBuYW1lcywgbGVuLCBtYXgpOworCSAgICBicmVhazsKKyAgIH0KKworICAgcmV0dXJuKCpsZW4pOworfQorCisvKgorICogRHVtbXkgZnVuY3Rpb24gdG8gc3VwcHJlc3MgbWVzc2FnZXMgd2hpbGUgd2UgdHJ5IG91dCB2YWxpZCBlbGVtZW50cworICovCitzdGF0aWMgdm9pZCBYTUxDREVDTCB4bWxOb1ZhbGlkaXR5RXJyKHZvaWQgKmN0eCBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICptc2cgQVRUUklCVVRFX1VOVVNFRCwgLi4uKSB7CisgICAgcmV0dXJuOworfQorCisvKioKKyAqIHhtbFZhbGlkR2V0VmFsaWRFbGVtZW50czoKKyAqIEBwcmV2OiAgYW4gZWxlbWVudCB0byBpbnNlcnQgYWZ0ZXIKKyAqIEBuZXh0OiAgYW4gZWxlbWVudCB0byBpbnNlcnQgbmV4dAorICogQG5hbWVzOiAgYW4gYXJyYXkgdG8gc3RvcmUgdGhlIGxpc3Qgb2YgY2hpbGQgbmFtZXMKKyAqIEBtYXg6ICB0aGUgc2l6ZSBvZiB0aGUgYXJyYXkKKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlIGxpc3Qgb2YgYXV0aG9yaXplZCBjaGlsZHJlbiB0byBpbnNlcnQKKyAqIHdpdGhpbiBhbiBleGlzdGluZyB0cmVlIHdoaWxlIHJlc3BlY3RpbmcgdGhlIHZhbGlkaXR5IGNvbnN0cmFpbnRzCisgKiBmb3JjZWQgYnkgdGhlIER0ZC4gVGhlIGluc2VydGlvbiBwb2ludCBpcyBkZWZpbmVkIHVzaW5nIEBwcmV2IGFuZAorICogQG5leHQgaW4gdGhlIGZvbGxvd2luZyB3YXlzOgorICogIHRvIGluc2VydCBiZWZvcmUgJ25vZGUnOiB4bWxWYWxpZEdldFZhbGlkRWxlbWVudHMobm9kZS0+cHJldiwgbm9kZSwgLi4uCisgKiAgdG8gaW5zZXJ0IG5leHQgJ25vZGUnOiB4bWxWYWxpZEdldFZhbGlkRWxlbWVudHMobm9kZSwgbm9kZS0+bmV4dCwgLi4uCisgKiAgdG8gcmVwbGFjZSAnbm9kZSc6IHhtbFZhbGlkR2V0VmFsaWRFbGVtZW50cyhub2RlLT5wcmV2LCBub2RlLT5uZXh0LCAuLi4KKyAqICB0byBwcmVwZW5kIGEgY2hpbGQgdG8gJ25vZGUnOiB4bWxWYWxpZEdldFZhbGlkRWxlbWVudHMoTlVMTCwgbm9kZS0+Y2hpbGRzLAorICogIHRvIGFwcGVuZCBhIGNoaWxkIHRvICdub2RlJzogeG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzKG5vZGUtPmxhc3QsIE5VTEwsIC4uLgorICoKKyAqIHBvaW50ZXJzIHRvIHRoZSBlbGVtZW50IG5hbWVzIGFyZSBpbnNlcnRlZCBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBhcnJheQorICogYW5kIGRvIG5vdCBuZWVkIHRvIGJlIGZyZWVkLgorICoKKyAqIHJldHVybnMgdGhlIG51bWJlciBvZiBlbGVtZW50IGluIHRoZSBsaXN0LCBvciAtMSBpbiBjYXNlIG9mIGVycm9yLiBJZgorICogICAgdGhlIGZ1bmN0aW9uIHJldHVybnMgdGhlIHZhbHVlIEBtYXggdGhlIGNhbGxlciBpcyBpbnZpdGVkIHRvIGdyb3cgdGhlCisgKiAgICByZWNlaXZpbmcgYXJyYXkgYW5kIHJldHJ5LgorICovCisKK2ludAoreG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzKHhtbE5vZGUgKnByZXYsIHhtbE5vZGUgKm5leHQsIGNvbnN0IHhtbENoYXIgKipuYW1lcywKKyAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbWF4KSB7CisgICAgeG1sVmFsaWRDdHh0IHZjdHh0OworICAgIGludCBuYl92YWxpZF9lbGVtZW50cyA9IDA7CisgICAgY29uc3QgeG1sQ2hhciAqZWxlbWVudHNbMjU2XT17MH07CisgICAgaW50IG5iX2VsZW1lbnRzID0gMCwgaTsKKyAgICBjb25zdCB4bWxDaGFyICpuYW1lOworCisgICAgeG1sTm9kZSAqcmVmX25vZGU7CisgICAgeG1sTm9kZSAqcGFyZW50OworICAgIHhtbE5vZGUgKnRlc3Rfbm9kZTsKKworICAgIHhtbE5vZGUgKnByZXZfbmV4dDsKKyAgICB4bWxOb2RlICpuZXh0X3ByZXY7CisgICAgeG1sTm9kZSAqcGFyZW50X2NoaWxkczsKKyAgICB4bWxOb2RlICpwYXJlbnRfbGFzdDsKKworICAgIHhtbEVsZW1lbnQgKmVsZW1lbnRfZGVzYzsKKworICAgIGlmIChwcmV2ID09IE5VTEwgJiYgbmV4dCA9PSBOVUxMKQorICAgICAgICByZXR1cm4oLTEpOworCisgICAgaWYgKG5hbWVzID09IE5VTEwpIHJldHVybigtMSk7CisgICAgaWYgKG1heCA8PSAwKSByZXR1cm4oLTEpOworCisgICAgbWVtc2V0KCZ2Y3R4dCwgMCwgc2l6ZW9mICh4bWxWYWxpZEN0eHQpKTsKKyAgICB2Y3R4dC5lcnJvciA9IHhtbE5vVmFsaWRpdHlFcnI7CS8qIHRoaXMgc3VwcHJlc3NlcyBlcnIvd2FybiBvdXRwdXQgKi8KKworICAgIG5iX3ZhbGlkX2VsZW1lbnRzID0gMDsKKyAgICByZWZfbm9kZSA9IHByZXYgPyBwcmV2IDogbmV4dDsKKyAgICBwYXJlbnQgPSByZWZfbm9kZS0+cGFyZW50OworCisgICAgLyoKKyAgICAgKiBSZXRyaWV2ZXMgdGhlIHBhcmVudCBlbGVtZW50IGRlY2xhcmF0aW9uCisgICAgICovCisgICAgZWxlbWVudF9kZXNjID0geG1sR2V0RHRkRWxlbWVudERlc2MocGFyZW50LT5kb2MtPmludFN1YnNldCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50LT5uYW1lKTsKKyAgICBpZiAoKGVsZW1lbnRfZGVzYyA9PSBOVUxMKSAmJiAocGFyZW50LT5kb2MtPmV4dFN1YnNldCAhPSBOVUxMKSkKKyAgICAgICAgZWxlbWVudF9kZXNjID0geG1sR2V0RHRkRWxlbWVudERlc2MocGFyZW50LT5kb2MtPmV4dFN1YnNldCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudC0+bmFtZSk7CisgICAgaWYgKGVsZW1lbnRfZGVzYyA9PSBOVUxMKSByZXR1cm4oLTEpOworCisgICAgLyoKKyAgICAgKiBEbyBhIGJhY2t1cCBvZiB0aGUgY3VycmVudCB0cmVlIHN0cnVjdHVyZQorICAgICAqLworICAgIHByZXZfbmV4dCA9IHByZXYgPyBwcmV2LT5uZXh0IDogTlVMTDsKKyAgICBuZXh0X3ByZXYgPSBuZXh0ID8gbmV4dC0+cHJldiA6IE5VTEw7CisgICAgcGFyZW50X2NoaWxkcyA9IHBhcmVudC0+Y2hpbGRyZW47CisgICAgcGFyZW50X2xhc3QgPSBwYXJlbnQtPmxhc3Q7CisKKyAgICAvKgorICAgICAqIENyZWF0ZXMgYSBkdW1teSBub2RlIGFuZCBpbnNlcnQgaXQgaW50byB0aGUgdHJlZQorICAgICAqLworICAgIHRlc3Rfbm9kZSA9IHhtbE5ld0RvY05vZGUgKHJlZl9ub2RlLT5kb2MsIE5VTEwsIEJBRF9DQVNUICI8IWR1bW15Pz4iLCBOVUxMKTsKKyAgICBpZiAodGVzdF9ub2RlID09IE5VTEwpCisgICAgICAgIHJldHVybigtMSk7CisKKyAgICB0ZXN0X25vZGUtPnBhcmVudCA9IHBhcmVudDsKKyAgICB0ZXN0X25vZGUtPnByZXYgPSBwcmV2OworICAgIHRlc3Rfbm9kZS0+bmV4dCA9IG5leHQ7CisgICAgbmFtZSA9IHRlc3Rfbm9kZS0+bmFtZTsKKworICAgIGlmIChwcmV2KSBwcmV2LT5uZXh0ID0gdGVzdF9ub2RlOworICAgIGVsc2UgcGFyZW50LT5jaGlsZHJlbiA9IHRlc3Rfbm9kZTsKKworICAgIGlmIChuZXh0KSBuZXh0LT5wcmV2ID0gdGVzdF9ub2RlOworICAgIGVsc2UgcGFyZW50LT5sYXN0ID0gdGVzdF9ub2RlOworCisgICAgLyoKKyAgICAgKiBJbnNlcnQgZWFjaCBwb3RlbnRpYWwgY2hpbGQgbm9kZSBhbmQgY2hlY2sgaWYgdGhlIHBhcmVudCBpcworICAgICAqIHN0aWxsIHZhbGlkCisgICAgICovCisgICAgbmJfZWxlbWVudHMgPSB4bWxWYWxpZEdldFBvdGVudGlhbENoaWxkcmVuKGVsZW1lbnRfZGVzYy0+Y29udGVudCwKKwkJICAgICAgIGVsZW1lbnRzLCAmbmJfZWxlbWVudHMsIDI1Nik7CisKKyAgICBmb3IgKGkgPSAwO2kgPCBuYl9lbGVtZW50cztpKyspIHsKKwl0ZXN0X25vZGUtPm5hbWUgPSBlbGVtZW50c1tpXTsKKwlpZiAoeG1sVmFsaWRhdGVPbmVFbGVtZW50KCZ2Y3R4dCwgcGFyZW50LT5kb2MsIHBhcmVudCkpIHsKKwkgICAgaW50IGo7CisKKwkgICAgZm9yIChqID0gMDsgaiA8IG5iX3ZhbGlkX2VsZW1lbnRzO2orKykKKwkJaWYgKHhtbFN0ckVxdWFsKGVsZW1lbnRzW2ldLCBuYW1lc1tqXSkpIGJyZWFrOworCSAgICBuYW1lc1tuYl92YWxpZF9lbGVtZW50cysrXSA9IGVsZW1lbnRzW2ldOworCSAgICBpZiAobmJfdmFsaWRfZWxlbWVudHMgPj0gbWF4KSBicmVhazsKKwl9CisgICAgfQorCisgICAgLyoKKyAgICAgKiBSZXN0b3JlIHRoZSB0cmVlIHN0cnVjdHVyZQorICAgICAqLworICAgIGlmIChwcmV2KSBwcmV2LT5uZXh0ID0gcHJldl9uZXh0OworICAgIGlmIChuZXh0KSBuZXh0LT5wcmV2ID0gbmV4dF9wcmV2OworICAgIHBhcmVudC0+Y2hpbGRyZW4gPSBwYXJlbnRfY2hpbGRzOworICAgIHBhcmVudC0+bGFzdCA9IHBhcmVudF9sYXN0OworCisgICAgLyoKKyAgICAgKiBGcmVlIHVwIHRoZSBkdW1teSBub2RlCisgICAgICovCisgICAgdGVzdF9ub2RlLT5uYW1lID0gbmFtZTsKKyAgICB4bWxGcmVlTm9kZSh0ZXN0X25vZGUpOworCisgICAgcmV0dXJuKG5iX3ZhbGlkX2VsZW1lbnRzKTsKK30KKyNlbmRpZiAvKiBMSUJYTUxfVkFMSURfRU5BQkxFRCAqLworCisjZGVmaW5lIGJvdHRvbV92YWxpZAorI2luY2x1ZGUgImVsZmdjY2hhY2suaCIKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdm1zL2J1aWxkX2xpYnhtbC5jb20gYi9saWJ4bWwyL3Ztcy9idWlsZF9saWJ4bWwuY29tCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjNhNmZjYzAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Ztcy9idWlsZF9saWJ4bWwuY29tCkBAIC0wLDAgKzEsMjczIEBACiskISBCVUlMRF9MSUJYTUwuQ09NCiskIQorJCEgQnVpbGQgdGhlIExJQlhNTCBsaWJyYXJ5CiskIQorJCEgQXJndW1lbnRzOgorJCEKKyQhICAgCSJERUJVRyIgIC0gYnVpbGQgZXZlcnl0aGluZyBpbiBkZWJ1ZworJCEKKyQhIFRoaXMgcHJvY2VkdXJlIGNyZWF0ZXMgYW4gb2JqZWN0IGxpYnJhcnkgWE1MX0xJQkRJUjpMSUJYTUwuT0xCIGRpcmVjdG9yeS4KKyQhIEFmdGVyIHRoZSBsaWJyYXJ5IGlzIGJ1aWx0LCB5b3UgY2FuIGxpbmsgTElCWE1MIHJvdXRpbmVzIGludG8KKyQhIHlvdXIgY29kZSB3aXRoIHRoZSBjb21tYW5kCiskIQorJCEJJCBMSU5LIHlvdXJfbW9kdWxlcyxYTUxfTElCRElSOkxJQlhNTC5PTEIvTElCUkFSWQorJCEKKyQhIENoYW5nZSBIaXN0b3J5CiskISAtLS0tLS0tLS0tLS0tLQorJCEgQ29tbWFuZCBmaWxlIGF1dGhvciA6IEpvaG4gQSBGb3RoZXJpbmdoYW0gKGphZkBqYWZzb2Z0LmNvbSkKKyQhIFVwZGF0ZSBoaXN0b3J5ICAgICAgOiAxOSBNYXJjaCAyMDA4CVR5Y2hvIEhpbGhvcnN0CiskISAgICAgICAgICAgICAgICAgICAgICAgLSBhZGRlZCBtb2R1bGUgc2NoZW1hdHJvbi5jIChwcmV2ZW50IHhtbGxpbnQgZXJyb3JzKQorJCEgICAgICAgICAgICAgICAgICAgICAgIC0gYWRkZWQgL0RFRiBhbmQgL0lOQ0xVREUgb3B0aW9ucyB0byBjY19vcHRzIHRvIHRlbGwKKyQhICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZy5oIGlzIGF2YWlsYWJsZSwgYW5kIHdoZXJlIHRvIGZpbmQgaXQKKyQhICAgICAgICAgICAgICAgICAgICAgOiAxMyBPY3RvYmVyIDIwMDMJQ3JhaWcgQmVycnkgKGNyYWlnYmVycnlAbWFjLmNvbSkKKyQhCQkJIG1vcmUgbmV3IG1vZHVsZSBhZGRpdGlvbnMKKyQhICAgICAgICAgICAgICAgICAgICAgOiAyNSBBcHJpbCAyMDAzCQlDcmFpZyBCZXJyeSAoY3JhaWdiZXJyeUBtYWMuY29tKQorJCEJCQkgYWRkZWQgeG1scmVhZGVyLmMgYW5kIHJlbGF4bmcuYyB0byBzb3VyY2UgbGlzdAorJCEgCQkgICAgICAgOiAyOCBTZXB0ZW1iZXIgMjAwMglDcmFpZyBCZXJyeSAoY3JhaWdiZXJyeUBtYWMuY29tKQorJCEJCQkgdXBkYXRlZCB0byB3b3JrIHdpdGggY3VycmVudCBzb3VyY2VzCiskIQkJCSBtaXNjZWxsYW5lb3VzIGVuaGFuY2VtZW50cyB0byBidWlsZCBwcm9jZXNzCiskIQorJCEtIGNvbmZpZ3VyYXRpb24gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorJCEKKyQhLSBjb21waWxlIGNvbW1hbmQuICBJZiBwMT0ibm93YXJuIiBzdXBwcmVzcyB0aGUgZXhwZWN0ZWQgd2FybmluZyB0eXBlcworJCEKKyQgICBjY19vcHRzID0gIi9ub3dhcm4vREVGPUhBVkVfQ09ORklHX0gvTkFNRVM9KGFzX2lzLFNIT1JURU5FRCkvRkxPQVQ9SUVFRS9JRUVFX01PREU9REVOT1JNX1JFU1VMVFMvSU5DTFVERT14bWxfc3JjZGlyIgorJCEKKyQgICBpZiBwMS5lcXMuIkRFQlVHIiAub3IuIHAyLmVxcy4iREVCVUciCiskICAgdGhlbgorJCAgICAgZGVidWcgPSAiWSIKKyQgICAgIGNjX2NvbW1hbmQgPSAiQ0MnJ2NjX29wdHMnL0RFQlVHL05PT1BUSU1JWkUvTElTVC9TSE9XPUFMTCIKKyQgICBlbHNlCiskICAgICBkZWJ1ZyA9ICJOIgorJCAgICAgY2NfY29tbWFuZCA9ICJDQycnY2Nfb3B0cyciCiskICAgZW5kaWYKKyQhCiskIS0gbGlzdCBvZiBzb3VyY2VzIHRvIGJlIGJ1aWx0IGludG8gdGhlIExJQlhNTCBsaWJyYXJ5LiAgQ29tcGFyZSB0aGlzIGxpc3QKKyQhICB0byB0aGUgZGVmaW5pdGlvbiBvZiAibGlieG1sMl9sYV9TT1VSQ0VTIiBpbiB0aGUgZmlsZSBNQUtFRklMRS5JTi4KKyQhICBDdXJyZW50bHkgdGhpcyBkZWZpbml0aW9uIGluY2x1ZGVzIHRoZSBsaXN0IFdJVEhfVFJJT19TT1VSQ0VTX1RSVUUKKyQhCiskICAgc291cmNlcyA9ICJwYXJzZXIuYyBTQVguYyBlbnRpdGllcy5jIGVuY29kaW5nLmMgZXJyb3IuYyBwYXJzZXJJbnRlcm5hbHMuYyIKKyQgICBzb3VyY2VzID0gc291cmNlcyArICIgdHJlZS5jIGhhc2guYyBsaXN0LmMgeG1sSU8uYyB4bWxtZW1vcnkuYyB1cmkuYyIKKyQgICBzb3VyY2VzID0gc291cmNlcyArICIgdmFsaWQuYyB4bGluay5jIEhUTUxwYXJzZXIuYyBIVE1MdHJlZS5jIGRlYnVnWE1MLmMgeHBhdGguYyIKKyQgICBzb3VyY2VzID0gc291cmNlcyArICIgeHBvaW50ZXIuYyB4aW5jbHVkZS5jIG5hbm9odHRwLmMgbmFub2Z0cC5jIERPQ0JwYXJzZXIuYyIKKyQgICBzb3VyY2VzID0gc291cmNlcyArICIgY2F0YWxvZy5jIGdsb2JhbHMuYyB0aHJlYWRzLmMgYzE0bi5jIHhtbHN0cmluZy5jIgorJCAgIHNvdXJjZXMgPSBzb3VyY2VzICsgIiB4bWxyZWdleHAuYyB4bWxzY2hlbWFzLmMgeG1sc2NoZW1hc3R5cGVzLmMgeG1sdW5pY29kZS5jIgorJCAgIHNvdXJjZXMgPSBzb3VyY2VzICsgIiB0cmlvc3RyLmMgdHJpby5jIHhtbHJlYWRlci5jIHJlbGF4bmcuYyBkaWN0LmMgU0FYMi5jIgorJCAgIHNvdXJjZXMgPSBzb3VyY2VzICsgIiB4bWx3cml0ZXIuYyBsZWdhY3kuYyBjaHZhbGlkLmMgcGF0dGVybi5jIHhtbHNhdmUuYyIKKyQgICBzb3VyY2VzID0gc291cmNlcyArICIgc2NoZW1hdHJvbi5jIHhtbG1vZHVsZS5jIGJ1Zi5jIgorJCEKKyQhLSBsaXN0IG9mIG1haW4gbW9kdWxlcyB0byBjb21waWxlIGFuZCBsaW5rLiAgQ29tcGFyZSB0aGlzIGxpc3QgdG8gdGhlCiskISAgZGVmaW5pdGlvbiBvZiBiaW5fUFJPR1JBTVMgaW4gTUFLRUZJTEUuSU4KKyQhCiskICAgYmluX3Byb2dzID0gInhtbGxpbnQgeG1sY2F0YWxvZyIKKyQhCiskIS0gbGlzdCBvZiB0ZXN0IG1vZHVsZXMgdG8gY29tcGlsZSBhbmQgbGluay4gIENvbXBhcmUgdGhpcyBsaXN0IHRvIHRoZQorJCEgIGRlZmluaXRpb24gb2Ygbm9pbnN0X1BST0dSQU1TIGluIE1BS0VGSUxFLgorJCEKKyQgICBub2luc3RfUFJPR1JBTVMgPSAidGVzdFNjaGVtYXMgdGVzdFJlbGF4IHRlc3RTQVggdGVzdEhUTUwgdGVzdFhQYXRoIHRlc3RVUkkgIiAtCisgICAgICAgICAgICAgICAgKyAidGVzdFRocmVhZHMgdGVzdEMxNE4gdGVzdEF1dG9tYXRhIHRlc3RSZWdleHAgdGVzdFJlYWRlciIKKyQhCiskIS0gc2V0IHVwIGJ1aWxkIGxvZ2ljYWxzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXAorJCEKKyQhCiskIS0gc3RhcnQgZnJvbSB3aGVyZSB0aGUgcHJvY2VkdXJlIGlzIGluIGNhc2UgaXQncyBzdWJtaXR0ZWQgaW4gYmF0Y2ggLS0tLS0tLS0tLVwKKyQhCiskICAgd2hvYW1pID0gZiRwYXJzZShmJGVudmlyb25tZW50KCJQUk9DRURVUkUiKSwsLCwiTk9fQ09OQ0VBTCIpCiskICAgcHJvY2RpciA9IGYkcGFyc2Uod2hvYW1pLCwsIkRFVklDRSIpICsgZiRwYXJzZSh3aG9hbWksLCwiRElSRUNUT1JZIikKKyQgICBzZXQgZGVmYXVsdCAncHJvY2RpcicKKyQhCiskICAgaWYgZiR0cm5sbm0oIlhNTF9MSUJESVIiKS5lcXMuIiIKKyQgICB0aGVuCiskICAgICBpZiBmJHNlYXJjaCgiWy1dbGliLmRpciIpIC5lcXMuICIiCiskICAgICB0aGVuCiskICAgICAgIGNyZWF0ZS9kaXJlY3RvcnkvbG9nIFstLmxpYl0KKyQgICAgIGVuZGlmCiskICAgICB4bWxfbGliZGlyID0gZiRwYXJzZSgiWy0ubGliXSIsLCwiREVWSUNFIikgKyBmJHBhcnNlKCJbLS5saWJdIiwsLCJESVJFQ1RPUlkiKQorJCAgICAgZGVmaW5lL3Byb2Nlc3MgWE1MX0xJQkRJUiAneG1sX2xpYmRpcicKKyQgICAgIHdyaXRlIHN5cyRvdXRwdXQgIkRlZmluaW5nIFhNTF9MSUJESVIgYXMgIiIiICsgZiR0cm5sbm0oIlhNTF9MSUJESVIiKSArICIiIgorJCAgIGVuZGlmCiskIQorJCAgIGlmIGYkdHJubG5tKCJYTUxfU1JDRElSIikuZXFzLiIiCiskICAgdGhlbgorJCAgICAgZ2xvYmZpbGUgPSBmJHNlYXJjaCgiWy0uLi5dZ2xvYmFscy5jIikKKyQgICAgIGlmIGdsb2JmaWxlLmVxcy4iIgorJCAgICAgdGhlbgorJAl3cml0ZSBzeXMkb3V0cHV0ICJDYW4ndCBsb2NhdGUgZ2xvYmFscy5jLiAgWW91IG5lZWQgdG8gbWFudWFsbHkgZGVmaW5lIGEgWE1MX1NSQ0RJUiBsb2dpY2FsIgorJAlleGl0CiskICAgICBlbHNlCiskCXNyY2RpciA9IGYkcGFyc2UoZ2xvYmZpbGUsLCwiREVWSUNFIikgKyBmJHBhcnNlKGdsb2JmaWxlLCwsIkRJUkVDVE9SWSIpCiskCWRlZmluZS9wcm9jZXNzIFhNTF9TUkNESVIgIicnc3JjZGlyJyIKKyQgICAgICAgd3JpdGUgc3lzJG91dHB1dCAiRGVmaW5pbmcgWE1MX1NSQ0RJUiBhcyAiIicnc3JjZGlyJyIiIgorJCAgICAgZW5kaWYKKyQgICBlbmRpZgorJCEKKyQgICBjb3B5L2xvZyBjb25maWcudm1zIHhtbF9zcmNkaXI6Y29uZmlnLmgKKyQhICAgY29weS9sb2cgeG1sdmVyc2lvbi5oIFstLmluY2x1ZGUubGlieG1sXQorJCEKKyQgICBpZiBmJHRybmxubSgibGlieG1sIikuZXFzLiIiCiskICAgdGhlbgorJCAgICAgZ2xvYmZpbGUgPSBmJHNlYXJjaCgiWy0uLi5dZ2xvYmFscy5oIikKKyQgICAgIGlmIGdsb2JmaWxlLmVxcy4iIgorJCAgICAgdGhlbgorJAl3cml0ZSBzeXMkb3V0cHV0ICJDYW4ndCBsb2NhdGUgZ2xvYmFscy5oLiAgWW91IG5lZWQgdG8gbWFudWFsbHkgZGVmaW5lIGEgTElCWE1MIGxvZ2ljYWwiCiskCWV4aXQKKyQgICAgIGVsc2UKKyQJaW5jbHVkZWRpciA9IGYkcGFyc2UoZ2xvYmZpbGUsLCwiREVWSUNFIikgKyBmJHBhcnNlKGdsb2JmaWxlLCwsIkRJUkVDVE9SWSIpCiskCWRlZmluZS9wcm9jZXNzIGxpYnhtbCAiJydpbmNsdWRlZGlyJyIKKyQgICAgICAgd3JpdGUgc3lzJG91dHB1dCAiRGVmaW5pbmcgbGlieG1sIGFzICIiJydpbmNsdWRlZGlyJyIiIgorJCAgICAgZW5kaWYKKyQgICBlbmRpZgorJCEKKyQhLSBzZXQgdXAgZXJyb3IgaGFuZGxpbmcgKHN1Y2ggYXMgaXQgaXMpIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyQhCiskIGV4aXRfc3RhdHVzID0gMQorJCBzYXZlZF9kZWZhdWx0ID0gZiRlbnZpcm9ubWVudCgiZGVmYXVsdCIpCiskIG9uIGVycm9yIHRoZW4gZ290byBFUlJPUl9PVVQKKyQgb24gY29udHJvbF95IHRoZW4gZ290byBFUlJPUl9PVVQKKyQhCiskIS0gbW92ZSB0byB0aGUgc291cmNlIGRpcmVjdG9yeSBhbmQgY3JlYXRlIGFueSBuZWNlc3Nhcnkgc3ViZGlycyBhbmQgdGhlCiskISAgb2JqZWN0IGxpYnJhcnkKKyQhCiskIHNldCBkZWZhdWx0IHhtbF9zcmNkaXIKKyQgaWYgZiRzZWFyY2goIkRFQlVHLkRJUiIpLmVxcy4iIiB0aGVuIGNyZWF0ZS9kaXIgWy5ERUJVR10KKyQgaWYgZiRzZWFyY2goIlhNTF9MSUJESVI6TElCWE1MLk9MQiIpLmVxcy4iIgorJCB0aGVuCiskICAgd3JpdGUgc3lzJG91dHB1dCAiQ3JlYXRpbmcgbmV3IG9iamVjdCBsaWJyYXJ5IFhNTF9MSUJESVI6TElCWE1MLk9MQiIKKyQgICBsaWJyYXJ5L2NyZWF0ZSBYTUxfTElCRElSOkxJQlhNTC5PTEIKKyQgZW5kaWYKKyQhCiskIGdvdG8gc3RhcnRfaGVyZQorJCBzdGFydF9oZXJlOgkgICEgbW92ZSB0aGlzIGxpbmUgdG8gZGVidWcvcmVydW4gcGFydHMgb2YgdGhpcyBjb21tYW5kIGZpbGUKKyQhCiskIS0gY29tcGlsZSBtb2R1bGVzIGludG8gdGhlIGxpYnJhcnkgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiskIQorJCBsaWJfY29tbWFuZCAgID0gIkxJQlJBUlkvUkVQTEFDRS9MT0cgWE1MX0xJQkRJUjpMSUJYTUwuT0xCIgorJCBsaW5rX2NvbW1hbmQJPSAiIgorJCEKKyQgd3JpdGUgc3lzJG91dHB1dCAiIgorJCB3cml0ZSBzeXMkb3V0cHV0ICJCdWlsZGluZyBtb2R1bGVzIGludG8gdGhlIExJQlhNTCBvYmplY3QgbGlicmFyeSIKKyQgd3JpdGUgc3lzJG91dHB1dCAiIgorJCEKKyQgc19ubyA9IDAKKyQgc291cmNlcyA9IGYkZWRpdChzb3VyY2VzLCJDT01QUkVTUyIpCiskIQorJCBzb3VyY2VfbG9vcDoKKyQhCiskICAgbmV4dF9zb3VyY2UgPSBmJGVsZW1lbnQgKFNfbm8sIiAiLHNvdXJjZXMpCiskICAgaWYgbmV4dF9zb3VyY2UubmVzLiIiIC5hbmQuIG5leHRfc291cmNlLm5lcy4iICIKKyQgICB0aGVuCiskIQorJCAgICAgb24gZXJyb3IgdGhlbiBnb3RvIEVSUk9SX09VVAorJCAgICAgb24gY29udHJvbF95IHRoZW4gZ290byBFUlJPUl9PVVQKKyQgICAgIGNhbGwgYnVpbGQgJ25leHRfc291cmNlJworJCAgICAgc19ubyA9IHNfbm8gKyAxCiskICAgICBnb3RvIHNvdXJjZV9sb29wCiskIQorJCAgIGVuZGlmCiskIQorJCEtIG5vdyBidWlsZCBzZWxmLXRlc3QgcHJvZ3JhbXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorJCEKKyQhIHRoZXNlIHByb2dyYW1zIGFyZSBidWlsdCBhcyBvcmRpbmFyeSBtb2R1bGVzIGludG8gWE1MX0xJQkRJUjpMSUJYTUwuT0xCLiAgSGVyZSB0aGV5CiskISBhcmUgYnVpbHQgYSBzZWNvbmQgdGltZSB3aXRoIC9ERUZJTkU9KFNUQU5EQUxPTkUpIGluIHdoaWNoIGNhc2UgYSBtYWluKCkKKyQhIGlzIGFsc28gY29tcGlsZWQgaW50byB0aGUgbW9kdWxlCiskCiskIGxpYl9jb21tYW5kCT0gIiIKKyQgbGlua19jb21tYW5kCT0gIkxJTksiCiskIQorJCBsaWJyYXJ5L2NvbXByZXNzIFhNTF9MSUJESVI6TElCWE1MLk9MQgorJCBwdXJnZSBYTUxfTElCRElSOkxJQlhNTC5PTEIKKyQhCiskIHdyaXRlIHN5cyRvdXRwdXQgIiIKKyQgd3JpdGUgc3lzJG91dHB1dCAiQnVpbGRpbmcgU1RBTkRBTE9ORSBzZWxmLXRlc3QgcHJvZ3JhbXMiCiskIHdyaXRlIHN5cyRvdXRwdXQgIiIKKyQhCiskIGNhbGwgYnVpbGQgTkFOT0ZUUC5DCS9ERUZJTkU9KFNUQU5EQUxPTkUpCiskIGNhbGwgYnVpbGQgTkFOT0hUVFAuQwkvREVGSU5FPShTVEFOREFMT05FKQorJCBjYWxsIGJ1aWxkIFRSSU9OQU4uQwkvREVGSU5FPShTVEFOREFMT05FKQorJCEKKyQhLSBub3cgYnVpbGQgbWFpbiBhbmQgdGVzdCBwcm9ncmFtcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyQhCiskIQorJCBsaWJfY29tbWFuZAk9ICIiCiskIGxpbmtfY29tbWFuZAk9ICJMSU5LIgorJCEKKyQgd3JpdGUgc3lzJG91dHB1dCAiIgorJCB3cml0ZSBzeXMkb3V0cHV0ICJCdWlsZGluZyBtYWluIHByb2dyYW1zIGFuZCB0ZXN0IHByb2dyYW1zIgorJCB3cml0ZSBzeXMkb3V0cHV0ICIiCiskIQorJCBwX25vID0gMAorJCBhbGxfcHJvZ3MgPSBiaW5fcHJvZ3MgKyAiICIgKyBub2luc3RfUFJPR1JBTVMKKyQgYWxsX3Byb2dzID0gZiRlZGl0KGFsbF9wcm9ncywiQ09NUFJFU1MiKQorJCEKKyQgcHJvZ19sb29wOgorJCEKKyQgICBuZXh0X3Byb2cgPSBmJGVsZW1lbnQgKHBfbm8sIiAiLGFsbF9wcm9ncykKKyQgICBpZiBuZXh0X3Byb2cubmVzLiIiIC5hbmQuIG5leHRfcHJvZy5uZXMuIiAiCiskICAgdGhlbgorJCEKKyQgICAgIG9uIGVycm9yIHRoZW4gZ290byBFUlJPUl9PVVQKKyQgICAgIG9uIGNvbnRyb2xfeSB0aGVuIGdvdG8gRVJST1JfT1VUCiskICAgICBjYWxsIGJ1aWxkICduZXh0X3Byb2cnLmMKKyQgICAgIHBfbm8gPSBwX25vICsgMQorJCAgICAgZ290byBwcm9nX2xvb3AKKyQhCiskICAgZW5kaWYKKyQhCiskIS0gVGgtdGgtdGgtdGgtdGgtdGhhdCdzIGFsbCBmb2xrcyEgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiskIQorJCBnb3RvIGV4aXRfaGVyZSAhIG1vdmUgdGhpcyBsaW5lIHRvIGF2b2lkIHBhcnRzIG9mIHRoaXMgY29tbWFuZCBmaWxlCiskIGV4aXRfaGVyZToKKyQhCiskIGV4aXQKKyQgZ290byBleGl0X291dAorJCEKKyQhCiskRVhJVF9PVVQ6CiskIQorJCBwdXJnZS9ub2xvZyBbLmRlYnVnXQorJCBzZXQgZGVmYXVsdCAnc2F2ZWRfZGVmYXVsdAorJCBleGl0ICdleGl0X3N0YXR1cworJCEKKyQKKyRFUlJPUl9PVVQ6CiskIGV4aXRfc3RhdHVzID0gJHN0YXR1cworJCB3cml0ZSBzeXMkb3V0cHV0ICInJ2YkbWVzc2FnZShleGl0X3N0YXR1cyknIgorJCBnb3RvIEVYSVRfT1VUCiskIQwKKyQhLSB0aGUgQlVJTEQgc3Vicm91dGluZS4gIENvbXBpbGUgdGhlbiBpbnNlcnQgaW50byBsaWJyYXJ5IG9yIGxpbmsgYXMgcmVxdWlyZWQKKyQhCiskQlVJTEQ6IHN1YnJvdXRpbmUKKyQgICBvbiB3YXJuaW5nIHRoZW4gZ290byBFWElUX0JVSUxECiskICAgc291cmNlX2ZpbGUgPSBwMQorJCAgIG5hbWUgPSBmJHBhcnNlKHNvdXJjZV9maWxlLCwsIk5BTUUiKQorJCAgIG9iamVjdF9maWxlID0gZiRwYXJzZSgiWy5kZWJ1Z10uT0JKIixuYW1lLCwsIlNZTlRBWF9PTkxZIikKKyQhCiskIS0gY29tcGlsZQorJCEKKyQgICB3cml0ZSBzeXMkb3V0cHV0ICInJ2NjX2NvbW1hbmQnJydwMicvb2JqZWN0PScnb2JqZWN0X2ZpbGUnICcnc291cmNlX2ZpbGUnIgorJCAgIGNjX2NvbW1hbmQncDInIC9vYmplY3Q9J29iamVjdF9maWxlICdzb3VyY2VfZmlsZScKKyQhCiskIS0gaW5zZXJ0IGludG8gbGlicmFyeSBpZiBjb21tYW5kIGRlZmluZWQKKyQhCiskICAgaWYgbGliX2NvbW1hbmQubmVzLiIiICB0aGVuIGxpYl9jb21tYW5kICdvYmplY3RfZmlsZScKKyQhCiskIS0gbGluayBtb2R1bGUgaWYgY29tbWFuZCBkZWZpbmVkCiskICAgaWYgbGlua19jb21tYW5kLm5lcy4iIgorJCAgIHRoZW4KKyQJb3B0cyA9ICIiCiskCWlmIGRlYnVnIHRoZW4gb3B0cyA9ICIvREVCVUciCiskCXdyaXRlIHN5cyRvdXRwdXQgIicnbGlua19jb21tYW5kJycnb3B0cycgJydvYmplY3RfZmlsZScsWE1MX0xJQkRJUjpsaWJ4bWwub2xiL2xpYnJhcnkiCiskCWlmIGYkc2VhcmNoKCAic3lzJGxpYnJhcnk6aWNvbnYub2xiIiApIC5lcXMuICIiCiskCXRoZW4KKyQJICBsaW5rX2NvbW1hbmQnb3B0cycgJ29iamVjdF9maWxlJywtCisgICAgICAJCVhNTF9MSUJESVI6bGlieG1sLm9sYi9saWJyYXJ5CiskCWVsc2UKKyQJICBsaW5rX2NvbW1hbmQnb3B0cycgJ29iamVjdF9maWxlJywtCisgICAgICAJCVhNTF9MSUJESVI6bGlieG1sLm9sYi9saWJyYXJ5LHN5cyRsaWJyYXJ5Omljb252L2xpYgorJAllbmRpZgorJCAgIGVuZGlmCiskIQorJEVYSVRfQlVJTEQ6CiskICAgZXhpdCAkc3RhdHVzCiskIQorJGVuZHN1YnJvdXRpbmUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdm1zL2NvbmZpZy52bXMgYi9saWJ4bWwyL3Ztcy9jb25maWcudm1zCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmQxY2Q3ZjMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3Ztcy9jb25maWcudm1zCkBAIC0wLDAgKzEsMjE2IEBACisvKiBjb25maWcuaCAgKi8KKworI2RlZmluZSBWTVMJMQorCisvKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIHN0cmZ0aW1lIGZ1bmN0aW9uLiAgKi8KKyNkZWZpbmUgSEFWRV9TVFJGVElNRSAJMQorCisvKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIEFOU0kgQyBoZWFkZXIgZmlsZXMuICAqLworI2RlZmluZSBTVERDX0hFQURFUlMJMQorCisjdW5kZWYgUEFDS0FHRQorI3VuZGVmIFZFUlNJT04KKyN1bmRlZiBIQVZFX0xJQloKKyN1bmRlZiBIQVZFX0xJQk0KKyN1bmRlZiBIQVZFX0lTSU5GCisjaWYgZGVmaW5lZChfSUVFRV9GUCkgJiYgKF9fQ1JUTF9WRVIgPj0gNjAyMDAwMDApCisjIGRlZmluZSBIQVZFX0lTTkFOIDEKKyNlbmRpZgorI3VuZGVmIEhBVkVfTElCSElTVE9SWQorI3VuZGVmIEhBVkVfTElCUkVBRExJTkUKKworI2RlZmluZSBJQ09OVl9DT05TVAorCisvKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIGNsYXNzIGZ1bmN0aW9uLiAgKi8KKyN1bmRlZiBIQVZFX0NMQVNTCisKKy8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgZmluaXRlIGZ1bmN0aW9uLiAgKi8KKyN1bmRlZiBIQVZFX0ZJTklURQorCisvKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIGZwX2NsYXNzIGZ1bmN0aW9uLiAgKi8KKyNkZWZpbmUgSEFWRV9GUF9DTEFTUwkxCisKKy8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgZnBjbGFzcyBmdW5jdGlvbi4gICovCisjdW5kZWYgSEFWRV9GUENMQVNTCisKKy8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgaXNuYW5kIGZ1bmN0aW9uLiAgKi8KKyN1bmRlZiBIQVZFX0lTTkFORAorCisvKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIGxvY2FsdGltZSBmdW5jdGlvbi4gICovCisjZGVmaW5lIEhBVkVfTE9DQUxUSU1FCTEKKworLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSBzbnByaW50ZiBmdW5jdGlvbi4gICovCisjdW5kZWYgSEFWRV9TTlBSSU5URgorCisvKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIHN0cmR1cCBmdW5jdGlvbi4gICovCisjZGVmaW5lIEhBVkVfU1RSRFVQCTEKKworLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSBzdHJlcnJvciBmdW5jdGlvbi4gICovCisjZGVmaW5lIEhBVkVfU1RSRVJST1IJMQorCisvKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIHN0cmZ0aW1lIGZ1bmN0aW9uLiAgKi8KKyNkZWZpbmUgSEFWRV9TVFJGVElNRQkxCisKKy8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgc3RybmR1cCBmdW5jdGlvbi4gICovCisjdW5kZWYgSEFWRV9TVFJORFVQCisKKy8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgPGFycGEvaW5ldC5oPiBoZWFkZXIgZmlsZS4gICovCisjdW5kZWYgSEFWRV9BUlBBX0lORVRfSAorCisvKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIDxjdHlwZS5oPiBoZWFkZXIgZmlsZS4gICovCisjZGVmaW5lIEhBVkVfQ1RZUEVfSAkxCisKKy8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgPGRpcmVudC5oPiBoZWFkZXIgZmlsZS4gICovCisjZGVmaW5lIEhBVkVfRElSRU5UX0gJMQorCisvKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIDxlcnJuby5oPiBoZWFkZXIgZmlsZS4gICovCisjZGVmaW5lIEhBVkVfRVJSTk9fSAkxCisKKy8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgPGZjbnRsLmg+IGhlYWRlciBmaWxlLiAgKi8KKyNkZWZpbmUgSEFWRV9GQ05UTF9ICTEKKworLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSA8ZmxvYXQuaD4gaGVhZGVyIGZpbGUuICAqLworI2RlZmluZSBIQVZFX0ZMT0FUX0gJMQorCisvKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIDxmcF9jbGFzcy5oPiBoZWFkZXIgZmlsZS4gICovCisjZGVmaW5lIEhBVkVfRlBfQ0xBU1NfSAkxCisKKy8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgPGllZWVmcC5oPiBoZWFkZXIgZmlsZS4gICovCisjdW5kZWYgSEFWRV9JRUVFRlBfSAorCisvKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIDxtYWxsb2MuaD4gaGVhZGVyIGZpbGUuICAqLworI3VuZGVmIEhBVkVfTUFMTE9DX0gKKworLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSA8bWF0aC5oPiBoZWFkZXIgZmlsZS4gICovCisjZGVmaW5lIEhBVkVfTUFUSF9ICTEKKworLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSA8bmFuLmg+IGhlYWRlciBmaWxlLiAgKi8KKyN1bmRlZiBIQVZFX05BTl9ICisKKy8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgPG5kaXIuaD4gaGVhZGVyIGZpbGUuICAqLworI3VuZGVmIEhBVkVfTkRJUl9ICisKKy8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgPG5ldGRiLmg+IGhlYWRlciBmaWxlLiAgKi8KKyNkZWZpbmUgSEFWRV9ORVREQl9ICTEKKworLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSA8bmV0aW5ldC9pbi5oPiBoZWFkZXIgZmlsZS4gICovCisjdW5kZWYgSEFWRV9ORVRJTkVUX0lOX0gKKworLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSA8c3RkYXJnLmg+IGhlYWRlciBmaWxlLiAgKi8KKyNkZWZpbmUgSEFWRV9TVERBUkdfSAkxCisKKy8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgPHN0ZGxpYi5oPiBoZWFkZXIgZmlsZS4gICovCisjZGVmaW5lIEhBVkVfU1RETElCX0gJMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHN0cmR1cCcgZnVuY3Rpb24uICovCisjZGVmaW5lIEhBVkVfU1RSRFVQIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBzdHJlcnJvcicgZnVuY3Rpb24uICovCisjZGVmaW5lIEhBVkVfU1RSRVJST1IgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHN0cmZ0aW1lJyBmdW5jdGlvbi4gKi8KKyNkZWZpbmUgSEFWRV9TVFJGVElNRSAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3RyaW5ncy5oPiBoZWFkZXIgZmlsZS4gKi8KKyNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN0cmluZy5oPiBoZWFkZXIgZmlsZS4gKi8KKyNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgc3RybmR1cCcgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9TVFJORFVQCisKKy8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy9kaXIuaD4gaGVhZGVyIGZpbGUuICAqLworI3VuZGVmIEhBVkVfU1lTX0RJUl9ICisKKy8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy9tbWFuLmg+IGhlYWRlciBmaWxlLiAgKi8KKyN1bmRlZiBIQVZFX1NZU19NTUFOX0gKKworLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSA8c3lzL25kaXIuaD4gaGVhZGVyIGZpbGUuICAqLworI3VuZGVmIEhBVkVfU1lTX05ESVJfSAorCisvKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIDxzeXMvc2VsZWN0Lmg+IGhlYWRlciBmaWxlLiAgKi8KKyN1bmRlZiBIQVZFX1NZU19TRUxFQ1RfSAorCisvKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIDxzeXMvc29ja2V0Lmg+IGhlYWRlciBmaWxlLiAgKi8KKyNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQorCisvKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIDxzeXMvc3RhdC5oPiBoZWFkZXIgZmlsZS4gICovCisjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCisKKy8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy90aW1lLmg+IGhlYWRlciBmaWxlLiAgKi8KKyN1bmRlZiBIQVZFX1NZU19USU1FX0gKKworLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSA8c3lzL3R5cGVzLmg+IGhlYWRlciBmaWxlLiAgKi8KKyN1bmRlZiBIQVZFX1NZU19UWVBFU19ICisKKy8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgPHRpbWUuaD4gaGVhZGVyIGZpbGUuICAqLworI2RlZmluZSBIQVZFX1RJTUVfSAkxCisKKy8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgPHVuaXN0ZC5oPiBoZWFkZXIgZmlsZS4gICovCisjZGVmaW5lIEhBVkVfVU5JU1REX0gJMQorCisvKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIDx6bGliLmg+IGhlYWRlciBmaWxlLiAgKi8KKyN1bmRlZiBIQVZFX1pMSUJfSAorCisvKiBOYW1lIG9mIHBhY2thZ2UgKi8KKyN1bmRlZiBQQUNLQUdFCisKKy8qIFZlcnNpb24gbnVtYmVyIG9mIHBhY2thZ2UgKi8KKyN1bmRlZiBWRVJTSU9OCisKKy8qIFVwIHRvIHRoaXMgcG9pbnQgdGhpcyBpcyBqdXN0IGEgaGFyZC13aXJlZCB2ZXJzaW9uIG9mIAorICogY29uZmlnLmguICBBZnRlciB0aGlzIHdpbGwgYmUgYW55dGhpbmcgZWxzZSB3ZSBuZWVkIAorICogdGhhdCBpcyBWTVMtc3BlY2lmaWMuCisgKi8KKworLyogRm9yIGJlc3QgcmVzdWx0cywgY29tcGlsZSB3aXRoIC9OQU1FUz0oU0hPUlRFTkVEKSwgd2hpY2ggcmVxdWlyZXMKKyAqIERFQyBDIDUuNyBvciBsYXRlci4gIEZvciBvbGRlciBjb21waWxlcnMsIHRoZSBzaG9ydGVuZWQgbmFtZXMgYmVsb3cKKyAqIGFyZSB0aGUgc2FtZSBvbmVzIHRoZSBtYW5nbGVyIGdlbmVyYXRlcyBpbiBDIDUuNyBhbmQgbGF0ZXIuICBUaGVzZSBtYXkKKyAqIHdvcmssIHRob3VnaCB0aGVyZSB3aWxsIHByb2JhYmx5IGJlIHNvbWUgY29uZmxpY3RzIHdpdGggcmVkZWZpbml0aW9ucyAKKyAqIGluIGdsb2JhbHMuaC4KKyAqLworCisjaWYgX19ERUNDX1ZFUiA8IDU3MDAwMDAwCisvKiAgICAgIDAgICAgICAgIDEgICAgICAgICAyICAgICAgICAgMyAgICAgICAgICAgICAgIDAgICAgICAgIDEgICAgICAgICAyICAgICAgICAgMworICogICAgICAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkgICAgICAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxIAorICovCisjZGVmaW5lIF9feG1sRG9WYWxpZGl0eUNoZWNraW5nRGVmYXVsdFZhbHVlICAgICAgICAgIF9feG1sRG9WYWxpZGl0eUNoZWNraW5nM3FhZDNwcSQKKyNkZWZpbmUgX194bWxTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0VmFsdWUgICAgICAgICAgX194bWxTdWJzdGl0dXRlRW50aXRpZXMwcGlqMTN1JAorI2RlZmluZSB0cmlvX2xvY2FsZV9zZXRfdGhvdXNhbmRfc2VwYXJhdG9yICAgICAgICAgICB0cmlvX2xvY2FsZV9zZXRfdGhvdXNhbjI1OWlra2skCisjZGVmaW5lIHhtbERvVmFsaWRpdHlDaGVja2luZ0RlZmF1bHRWYWx1ZSAgICAgICAgICAgIHhtbERvVmFsaWRpdHlDaGVja2luZ0RlMWJjc2VpNCQKKyNkZWZpbmUgeG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5UmVjb3ZlciAgICAgICAgICAgeG1sUGFyc2VCYWxhbmNlZENodW5rTWUxbHUxZTg2JAorI2RlZmluZSB4bWxQYXJzZUVsZW1lbnRDaGlsZHJlbkNvbnRlbnREZWNsICAgICAgICAgICB4bWxQYXJzZUVsZW1lbnRDaGlsZHJlbjFtcDZwY2IkCisjZGVmaW5lIHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWUgICAgICAgICAgIHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlMzZsdWpuMiQKKyNkZWZpbmUgeG1sUmVnaXN0ZXJEZWZhdWx0SW5wdXRDYWxsYmFja3MgICAgICAgICAgICAgeG1sUmVnaXN0ZXJEZWZhdWx0SW5wdXQzdmluMGNwJAorI2RlZmluZSB4bWxSZWdpc3RlckRlZmF1bHRPdXRwdXRDYWxsYmFja3MgICAgICAgICAgICB4bWxSZWdpc3RlckRlZmF1bHRPdXRwdTBxNDQzZGQkCisjZGVmaW5lIHhtbFN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHRWYWx1ZSAgICAgICAgICAgIHhtbFN1YnN0aXR1dGVFbnRpdGllc0RlMjhrMmM4MCQKKyNkZWZpbmUgeG1sVUNTSXNBbHBoYWJldGljUHJlc2VudGF0aW9uRm9ybXMgICAgICAgICAgeG1sVUNTSXNBbHBoYWJldGljUHJlc2UycXIyNHMzJAorI2RlZmluZSB4bWxVQ1NJc0FyYWJpY1ByZXNlbnRhdGlvbkZvcm1zQiAgICAgICAgICAgICB4bWxVQ1NJc0FyYWJpY1ByZXNlbnRhdDFnYWp2ZzgkCisjZGVmaW5lIHhtbFVDU0lzQXJhYmljUHJlc2VudGF0aW9uRm9ybXNBICAgICAgICAgICAgIHhtbFVDU0lzQXJhYmljUHJlc2VudGF0M3NxMWJ0aSQKKyNkZWZpbmUgeG1sVUNTSXNDSktDb21wYXRpYmlsaXR5SWRlb2dyYXBoc1N1cHBsZW1lbnQgeG1sVUNTSXNDSktDb21wYXRpYmlsaXQwb3I0MGtpJAorI2RlZmluZSB4bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHlJZGVvZ3JhcGhzICAgICAgICAgICB4bWxVQ1NJc0NKS0NvbXBhdGliaWxpdDJub2RtYzUkCisjZGVmaW5lIHhtbFVDU0lzQ0pLU3ltYm9sc2FuZFB1bmN0dWF0aW9uICAgICAgICAgICAgIHhtbFVDU0lzQ0pLU3ltYm9sc2FuZFB1MGEzaTdyYSQKKyNkZWZpbmUgeG1sVUNTSXNDSktVbmlmaWVkSWRlb2dyYXBoc0V4dGVuc2lvbkEgICAgICAgeG1sVUNTSXNDSktVbmlmaWVkSWRlb2cxMWlnM2ZkJAorI2RlZmluZSB4bWxVQ1NJc0NKS1VuaWZpZWRJZGVvZ3JhcGhzRXh0ZW5zaW9uQiAgICAgICB4bWxVQ1NJc0NKS1VuaWZpZWRJZGVvZzNkMjJuMm4kCisjZGVmaW5lIHhtbFVDU0lzQ29tYmluaW5nRGlhY3JpdGljYWxNYXJrcyAgICAgICAgICAgIHhtbFVDU0lzQ29tYmluaW5nRGlhY3JpM3RqM25sOCQKKyNkZWZpbmUgeG1sVUNTSXNDb21iaW5pbmdNYXJrc2ZvclN5bWJvbHMgICAgICAgICAgICAgeG1sVUNTSXNDb21iaW5pbmdNYXJrc2YzZnRxZDdzJAorI2RlZmluZSB4bWxVQ1NJc0VuY2xvc2VkQ0pLTGV0dGVyc2FuZE1vbnRocyAgICAgICAgICB4bWxVQ1NJc0VuY2xvc2VkQ0pLTGV0dDBucTY3ZzQkCisjZGVmaW5lIHhtbFVDU0lzSGFsZndpZHRoYW5kRnVsbHdpZHRoRm9ybXMgICAgICAgICAgIHhtbFVDU0lzSGFsZndpZHRoYW5kRnVsMDQ3bDBhMSQKKyNkZWZpbmUgeG1sVUNTSXNIaWdoUHJpdmF0ZVVzZVN1cnJvZ2F0ZXMgICAgICAgICAgICAgeG1sVUNTSXNIaWdoUHJpdmF0ZVVzZVMwNzFraDgzJAorI2RlZmluZSB4bWxVQ1NJc0lkZW9ncmFwaGljRGVzY3JpcHRpb25DaGFyYWN0ZXJzICAgICB4bWxVQ1NJc0lkZW9ncmFwaGljRGVzYzFyb3ZmOGckCisjZGVmaW5lIHhtbFVDU0lzTWF0aGVtYXRpY2FsQWxwaGFudW1lcmljU3ltYm9scyAgICAgIHhtbFVDU0lzTWF0aGVtYXRpY2FsQWxwMmFnOHI0NCQKKyNkZWZpbmUgeG1sVUNTSXNPcHRpY2FsQ2hhcmFjdGVyUmVjb2duaXRpb24gICAgICAgICAgeG1sVUNTSXNPcHRpY2FsQ2hhcmFjdGUxanV1aDA2JAorI2RlZmluZSB4bWxVQ1NJc1N1cGVyc2NyaXB0c2FuZFN1YnNjcmlwdHMgICAgICAgICAgICB4bWxVQ1NJc1N1cGVyc2NyaXB0c2FuZDNmaTRldXAkCisjZGVmaW5lIHhtbFVDU0lzVW5pZmllZENhbmFkaWFuQWJvcmlnaW5hbFN5bGxhYmljcyAgIHhtbFVDU0lzVW5pZmllZENhbmFkaWFuMGxidmk5YiQKKyNkZWZpbmUgeG1sVmFsaWRDdHh0Tm9ybWFsaXplQXR0cmlidXRlVmFsdWUgICAgICAgICAgeG1sVmFsaWRDdHh0Tm9ybWFsaXplQXQwcTExbjVmJAorI2RlZmluZSB4bWxYUGF0aFJlZ2lzdGVyZWRWYXJpYWJsZXNDbGVhbnVwICAgICAgICAgICB4bWxYUGF0aFJlZ2lzdGVyZWRWYXJpYTF1dnM0dWMkCisKKyNlbmRpZgorCisjZGVmaW5lIHhtbEJ1ZmZlcldyaXRlQ2hhciB4bWxCdWZmZXJXcml0ZUNoYXIyCisKKyNpbmNsdWRlIDxpbnR0eXBlcy5oPgorCisjZGVmaW5lIEhBVkVfRExPUEVOIDEKKyNkZWZpbmUgSEFWRV9ETEZDTl9IIDEKZGlmZiAtLWdpdCBhL2xpYnhtbDIvdm1zL2RpZmZzLnZtcyBiL2xpYnhtbDIvdm1zL2RpZmZzLnZtcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NDAyOTEwCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi92bXMvZGlmZnMudm1zCkBAIC0wLDAgKzEsMTkyIEBACistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorR0xPQkFMUy5DCisKKzEwNWExMDYKKz4gaW50IHhtbERvVmFsaWRpdHlDaGVja2luZ0RlZmF1bHRWYWx1ZSA9IDA7CisxMTEsMTIxYzExMiwxMTMKKzwgI2lmIGRlZmluZWQoVk1TKSB8fCBkZWZpbmVkKF9fVk1TKQorPCAgICNkZWZpbmUgUExBVEZPUk1fVk1TCis8IC8qIGludCB4bWxEb1ZhbGlkaXR5Q2hlY2tpbmdEZWZhdWx0VmFsID0gMDsKKzwgICogaW50IHhtbFN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHRWYWwgPSAwOworPCAgKi8KKzwgICAjZGVmaW5lIHhtbERvVmFsaWRpdHlDaGVja2luZ0RlZmF1bHRWYWx1ZSB4bWxEb1ZhbGlkaXR5Q2hlY2tpbmdEZWZhdWx0VmFsIAorPCAgICNkZWZpbmUgeG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdFZhbHVlIHhtbFN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHRWYWwgCis8ICNlbHNlCis8ICAgaW50IHhtbERvVmFsaWRpdHlDaGVja2luZ0RlZmF1bHRWYWx1ZSA9IDA7Cis8ICAgaW50IHhtbFN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHRWYWx1ZSA9IDA7Cis8ICNlbmRpZgorLS0tCis+IGludCB4bWxTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0VmFsdWUgPSAwOworPiAKKzI4OSwyOTFkMjgwCis8ICNpZmRlZiBQTEFURk9STV9WTVMKKzwgICAgIGdzLT54bWxEb1ZhbGlkaXR5Q2hlY2tpbmdEZWZhdWx0VmFsID0gMDsKKzwgI2Vsc2UKKzI5MywyOTRkMjgxCis8ICNlbmRpZgorPCAKKzMxNiwzMThkMzAyCis8ICNpZmRlZiBQTEFURk9STV9WTVMKKzwgICAgIGdzLT54bWxTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0VmFsID0gMDsKKzwgI2Vsc2UKKzMyMGQzMDMKKzwgI2VuZGlmCis0MDQsNDE5YzM4NywzOTAKKzwgI2lmZGVmIFBMQVRGT1JNX1ZNUworPCAgIGV4dGVybiBpbnQgeG1sRG9WYWxpZGl0eUNoZWNraW5nRGVmYXVsdFZhbDsKKzwgICAjdW5kZWYgICAgIHhtbERvVmFsaWRpdHlDaGVja2luZ0RlZmF1bHRWYWwKKzwgICBpbnQgKgorPCAgIF9feG1sRG9WYWxpZGl0eUNoZWNraW5nRGVmVmFsKHZvaWQpIHsKKzwgICAgIGlmIChJU19NQUlOX1RIUkVBRCkKKzwgCXJldHVybiAoJnhtbERvVmFsaWRpdHlDaGVja2luZ0RlZmF1bHRWYWwpOworPCAgICAgZWxzZQorPCAJcmV0dXJuICgmeG1sR2V0R2xvYmFsU3RhdGUoKS0+eG1sRG9WYWxpZGl0eUNoZWNraW5nRGVmYXVsdFZhbCk7Cis8ICAgfQorPCAgICNkZWZpbmUgX194bWxEb1ZhbGlkaXR5Q2hlY2tpbmdEZWZhdWx0VmFsdWUgX194bWxEb1ZhbGlkaXR5Q2hlY2tpbmdEZWZWYWwKKzwgI2Vsc2UKKzwgICBleHRlcm4gaW50IHhtbERvVmFsaWRpdHlDaGVja2luZ0RlZmF1bHRWYWx1ZTsKKzwgICAjdW5kZWYJeG1sRG9WYWxpZGl0eUNoZWNraW5nRGVmYXVsdFZhbHVlCis8ICAgaW50ICoKKzwgICBfX3htbERvVmFsaWRpdHlDaGVja2luZ0RlZmF1bHRWYWx1ZSh2b2lkKSB7CistLS0KKz4gZXh0ZXJuIGludCB4bWxEb1ZhbGlkaXR5Q2hlY2tpbmdEZWZhdWx0VmFsdWU7Cis+ICN1bmRlZgl4bWxEb1ZhbGlkaXR5Q2hlY2tpbmdEZWZhdWx0VmFsdWUKKz4gaW50ICoKKz4gX194bWxEb1ZhbGlkaXR5Q2hlY2tpbmdEZWZhdWx0VmFsdWUodm9pZCkgeworNDI0LDQyNWMzOTUKKzwgICB9Cis8ICNlbmRpZgorLS0tCis+IH0KKzU3Nyw1OTJjNTQ3LDU1MAorPCAjaWZkZWYgUExBVEZPUk1fVk1TCis8ICAgZXh0ZXJuIGludCB4bWxTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0VmFsOworPCAgICN1bmRlZiAgICAgeG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdFZhbAorPCAgIGludCAqCis8ICAgX194bWxTdWJzRW50aXRpZXNEZWZhdWx0VmFsdWUodm9pZCkgeworPCAgICAgaWYgKElTX01BSU5fVEhSRUFEKQorPCAJcmV0dXJuICgmeG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdFZhbCk7Cis8ICAgICBlbHNlCis8IAlyZXR1cm4gKCZ4bWxHZXRHbG9iYWxTdGF0ZSgpLT54bWxTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0VmFsKTsKKzwgICB9Cis8ICAgI2RlZmluZSBfX3htbFN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHRWYWx1ZSBfX3htbFN1YnNFbnRpdGllc0RlZmF1bHRWYWx1ZQorPCAjZWxzZQorPCAgIGV4dGVybiBpbnQgeG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdFZhbHVlOworPCAgICN1bmRlZgl4bWxTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0VmFsdWUKKzwgICBpbnQgKgorPCAgIF9feG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdFZhbHVlKHZvaWQpIHsKKy0tLQorPiBleHRlcm4gaW50IHhtbFN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHRWYWx1ZTsKKz4gI3VuZGVmCXhtbFN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHRWYWx1ZQorPiBpbnQgKgorPiBfX3htbFN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHRWYWx1ZSh2b2lkKSB7Cis1OTcsNTk4YzU1NQorPCAgIH0KKzwgI2VuZGlmCistLS0KKz4gfQorCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitUUklPLkMKKzExMywxMTZkMTEyCis8ICNpZiBkZWZpbmVkKFZNUykgfHwgZGVmaW5lZChfX1ZNUykKKzwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KKzwgI2VuZGlmIC8qIFBsYXRmb3JtIGlzIFZNUyAqLworPCAKKzEyM2QxMTgKKzwgCisKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0dMT0JBTFMuSAorNzgsODZjNzgsNzkKKzwgI2lmIGRlZmluZWQoVk1TKSB8fCBkZWZpbmVkKF9fVk1TKQorPCAgICAgICAgIGludCB4bWxTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0VmFsOyAgICAvKiAzMSBjaGFyYWN0ZXIgbmFtZSBsaW1pdCAqLworPCAgICAgICAgIGludCB4bWxEb1ZhbGlkaXR5Q2hlY2tpbmdEZWZhdWx0VmFsOworPCAjZGVmaW5lIHhtbFN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHRWYWx1ZSAgICAgICB4bWxTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0VmFsCis8ICNkZWZpbmUgeG1sRG9WYWxpZGl0eUNoZWNraW5nRGVmYXVsdFZhbHVlICAgICAgIHhtbERvVmFsaWRpdHlDaGVja2luZ0RlZmF1bHRWYWwKKzwgI2Vsc2UKKzwgICAgICAgICBpbnQgeG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdFZhbHVlOworPCAgICAgICAgIGludCB4bWxEb1ZhbGlkaXR5Q2hlY2tpbmdEZWZhdWx0VmFsdWU7Cis8ICNlbmRpZgorLS0tCis+IAlpbnQgeG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdFZhbHVlOworPiAJaW50IHhtbERvVmFsaWRpdHlDaGVja2luZ0RlZmF1bHRWYWx1ZTsKKzIxMSwyMjZjMjA0LDIwOQorPCAjaWYgZGVmaW5lZChWTVMpIHx8IGRlZmluZWQoX19WTVMpCis8ICAgI2lmZGVmIExJQlhNTF9USFJFQURfRU5BQkxFRAorPCAgIGV4dGVybiBpbnQgKl9feG1sRG9WYWxpZGl0eUNoZWNraW5nRGVmYXVsdFZhbCh2b2lkKTsKKzwgICAjZGVmaW5lIHhtbERvVmFsaWRpdHlDaGVja2luZ0RlZmF1bHRWYWwgXAorPCAgICgqKF9feG1sRG9WYWxpZGl0eUNoZWNraW5nRGVmYXVsdFZhbCgpKSkKKzwgICAjZWxzZQorPCAgIExJQlhNTF9ETExfSU1QT1JUIGV4dGVybiBpbnQgeG1sRG9WYWxpZGl0eUNoZWNraW5nRGVmYXVsdFZhbDsKKzwgICAjZW5kaWYKKzwgI2Vsc2UKKzwgICAjaWZkZWYgTElCWE1MX1RIUkVBRF9FTkFCTEVECis8ICAgZXh0ZXJuIGludCAqX194bWxEb1ZhbGlkaXR5Q2hlY2tpbmdEZWZhdWx0VmFsdWUodm9pZCk7Cis8ICAgI2RlZmluZSB4bWxEb1ZhbGlkaXR5Q2hlY2tpbmdEZWZhdWx0VmFsdWUgXAorPCAgICgqKF9feG1sRG9WYWxpZGl0eUNoZWNraW5nRGVmYXVsdFZhbHVlKCkpKQorPCAgICNlbHNlCis8ICAgTElCWE1MX0RMTF9JTVBPUlQgZXh0ZXJuIGludCB4bWxEb1ZhbGlkaXR5Q2hlY2tpbmdEZWZhdWx0VmFsdWU7Cis8ICAgI2VuZGlmCistLS0KKz4gI2lmZGVmIExJQlhNTF9USFJFQURfRU5BQkxFRAorPiBleHRlcm4gaW50ICpfX3htbERvVmFsaWRpdHlDaGVja2luZ0RlZmF1bHRWYWx1ZSh2b2lkKTsKKz4gI2RlZmluZSB4bWxEb1ZhbGlkaXR5Q2hlY2tpbmdEZWZhdWx0VmFsdWUgXAorPiAoKihfX3htbERvVmFsaWRpdHlDaGVja2luZ0RlZmF1bHRWYWx1ZSgpKSkKKz4gI2Vsc2UKKz4gTElCWE1MX0RMTF9JTVBPUlQgZXh0ZXJuIGludCB4bWxEb1ZhbGlkaXR5Q2hlY2tpbmdEZWZhdWx0VmFsdWU7CiszMTcsMzMyYzMwMCwzMDUKKzwgI2lmIGRlZmluZWQoVk1TKSB8fCBkZWZpbmVkKF9fVk1TKQorPCAgICNpZmRlZiBMSUJYTUxfVEhSRUFEX0VOQUJMRUQKKzwgICBleHRlcm4gaW50ICpfX3htbFN1YnNFbnRpdGllc0RlZmF1bHRWYWx1ZSh2b2lkKTsKKzwgICAjZGVmaW5lIHhtbFN1YnNFbnRpdGllc0RlZmF1bHRWYWx1ZSBcCis8ICAgKCooX194bWxTdWJzRW50aXRpZXNEZWZhdWx0VmFsdWUoKSkpCis8ICAgI2Vsc2UKKzwgICBMSUJYTUxfRExMX0lNUE9SVCBleHRlcm4gaW50IHhtbFN1YnNFbnRpdGllc0RlZmF1bHRWYWx1ZTsKKzwgICAjZW5kaWYKKzwgI2Vsc2UKKzwgICAjaWZkZWYgTElCWE1MX1RIUkVBRF9FTkFCTEVECis8ICAgZXh0ZXJuIGludCAqX194bWxTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0VmFsdWUodm9pZCk7Cis8ICAgI2RlZmluZSB4bWxTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0VmFsdWUgXAorPCAgICgqKF9feG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdFZhbHVlKCkpKQorPCAgICNlbHNlCis8ICAgTElCWE1MX0RMTF9JTVBPUlQgZXh0ZXJuIGludCB4bWxTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0VmFsdWU7Cis8ICAgI2VuZGlmCistLS0KKz4gI2lmZGVmIExJQlhNTF9USFJFQURfRU5BQkxFRAorPiBleHRlcm4gaW50ICpfX3htbFN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHRWYWx1ZSh2b2lkKTsKKz4gI2RlZmluZSB4bWxTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0VmFsdWUgXAorPiAoKihfX3htbFN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHRWYWx1ZSgpKSkKKz4gI2Vsc2UKKz4gTElCWE1MX0RMTF9JTVBPUlQgZXh0ZXJuIGludCB4bWxTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0VmFsdWU7CisKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1hNTElPLkgKKzc5LDgyZDc4Cis8ICNpZiBkZWZpbmVkKFZNUykgfHwgZGVmaW5lZChfX1ZNUykKKzwgdm9pZAl4bWxSZWdpc3RlckRlZklucHV0Q2FsbGJhY2tzCQkodm9pZCk7Cis8ICNkZWZpbmUgeG1sUmVnaXN0ZXJEZWZhdWx0SW5wdXRDYWxsYmFja3MgeG1sUmVnaXN0ZXJEZWZJbnB1dENhbGxiYWNrcworPCAjZWxzZQorODRkNzkKKzwgI2VuZGlmCisxMzAsMTMzZDEyNAorPCAjaWYgZGVmaW5lZChWTVMpIHx8IGRlZmluZWQoX19WTVMpCis8IHZvaWQJeG1sUmVnaXN0ZXJEZWZPdXRwdXRDYWxsYmFja3Modm9pZCk7Cis8ICNkZWZpbmUgeG1sUmVnaXN0ZXJEZWZhdWx0T3V0cHV0Q2FsbGJhY2tzIHhtbFJlZ2lzdGVyRGVmT3V0cHV0Q2FsbGJhY2tzCis8ICNlbHNlCisxMzUsMTM2ZDEyNQorPCAjZW5kaWYKKzwgCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitYUEFUSElOVEVSTkFMUy5ICis0MzMsNDM2ZDQzMgorPCAjaWYgZGVmaW5lZChWTVMpIHx8IGRlZmluZWQoX19WTVMpCis8IHZvaWQJCSAgIHhtbFhQYXRoUmVnaXN0ZXJlZFZhcnNDbGVhbnVwKHhtbFhQYXRoQ29udGV4dFB0ciBjdHh0KTsKKzwgI2RlZmluZSB4bWxYUGF0aFJlZ2lzdGVyZWRWYXJpYWJsZXNDbGVhbnVwIHhtbFhQYXRoUmVnaXN0ZXJlZFZhcnNDbGVhbnVwCis8ICNlbHNlCis0MzhkNDMzCis8ICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGlieG1sMi92bXMvcmVhZG1lLnZtcyBiL2xpYnhtbDIvdm1zL3JlYWRtZS52bXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTFkZGRlYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvdm1zL3JlYWRtZS52bXMKQEAgLTAsMCArMSwxNDMgQEAKK0lzc3VlcyBpbiBwb3J0aW5nIGxpYnhtbCB0byBWTVMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworSGVyZSdzIGEgc3VtbWFyeSBvZiB0aGUgaXNzdWVzIEkgZW5jb3VudGVyZWQgd2hlbiBidWlsZGluZyBMSUJYTUwgdW5kZXIKK1ZNUy4gIFRoZXJlIHdhcyBzb21lIFZNUyBzdXBwb3J0IGluIHRoZSB2ZXJzaW9uIEkgZ290LCBidXQgaXQgd2FzIGEgbGl0dGxlCitvdXQgb2YgZGF0ZSB3aXRoIHRoZSByZXN1bHQgdGhhdCBzb21lIG5ld2VyIGZpbGVzIGhhZCBwcm9ibGVtcy4KKworSSBwcmVzZW50IHRoaXMgbGlzdCAiYXMgaXMiIHRvIGhvcGVmdWxseSBhY3QgYXMgYSBndWlkZSB0byBhbnlvbmUgaGF2aW5nCitwcm9ibGVtcyBpbiB0aGUgZnV0dXJlLgorCitUaGF0J3MgaXQuICBHb29kIGx1Y2shCisKK0pvaG4gQSBGb3RoZXJpbmdoYW0gKGphZkBqYWZzb2Z0LmNvbSkKK09jdG9iZXIgMjAwMQorCitVcGRhdGVkIE9jdG9iZXIgMjAwMiBieSBDcmFpZyBBIEJlcnJ5IChjcmFpZ2JlcnJ5QG1hYy5jb20pCisKK0luc3RhbGxhdGlvbiBraXQKKy0tLS0tLS0tLS0tLS0tLS0KKworLSBGaWxlIGF0dHJpYnV0ZXMuICBIYXZpbmcgZG93bmxvYWRlZCBlc3NlbnRpYWxseSBhIFVuaXggZGlzdHJpYnV0aW9uLCBzb21lCisgIG9mIHRoZSBmaWxlIGF0dHJpYnV0ZXMgd2VyZW4ndCBjb3JyZWN0Li4uIGVzcGVjaWFsbHkgdGhvc2UgaW4gdGhlIFsuVk1TXQorICBzdWJkaXJlY3RvcnkuICBJbiBFRFQgeW91IGNvdWxkIHNlZSBsaW5lIGZlZWRzIGFuZCBjYXJyaWFnZSByZXR1cm5zIGFzCisgIDxMRj48Q1I+IGV0Yy4gIFRvIGNvcnJlY3QgdGhpcyB1c2UgdGhlIGNvbW1hbmQKKworCSQgc2V0IGZpbGUgPGZpbGVzcGVjPiAvYXR0cj1yZm09c3RtCisKKyAgVGhpcyBzZXRzIHRoZSByZWNvcmQgZm9ybWF0IHRvIGJlICJzdHJlYW0iLiAgT3RoZXIgdmFyaWFudHMgbWF5IGJlIHVzZWQKKyAgaW5zdGVhZCBkZXBlbmRpbmcgb24gaG93IHlvdSBnb3QgdGhlIGZpbGVzIG9udG8geW91ciBzeXN0ZW0uICBGaWxlcyB3aWxsIAorICBsb29rIG9rYXkgaW4gYW4gRURUIGVkaXRvciBvbmNlIHRoZSBhdHRyaWJ1dGVzIGFyZSBzZXQuICBXaXRob3V0CisgIHRoaXMgdGhlIGNvbW1hbmQgZmlsZSBtYXkgbm90IHJ1biBjb3JyZWN0bHksIHNpbmNlIGl0IG1heSBiZSBpbnRlcnByZXRlZAorICBhcyBhIHNpbmdsZSBsaW5lLgorCistIFZNUy1zcGVjaWZpYyBmaWxlcyBhcmUgaW4gYSBbLlZNU10gZGlyZWN0b3J5LiAgSWYgeW91J3ZlIGZvdW5kIHRoaXMgZmlsZQorICB0aGVuIHlvdSBhbHJlYWR5IGtub3cgdGhpcyA6LSkgIFRoaXMgZGlyZWN0b3J5IGNvbnRhaW5zCisKKyAgICAgIEJVSUxEX0xJQlhNTC5DT00JLSBhIGJ1aWxkIGNvbW1hbmQgZmlsZSwgd2hpY2ggSSd2ZSByYWRpY2FsbHkgcmUtd29ya2VkCisgICAgICBDT05GSUcuVk1TCS0gYSBjb25maWd1cmF0aW9uIGZpbGUgdG8gcmVwbGFjZSBjb25maWcuaAorCistIERvbid0IGV4ZWN1dGUgQlVJTERfTElCWE1MLkNPTSB1bnRpbCB5b3UndmUgZG9uZSBhbGwgdGhlIGZvbGxvd2luZworCisgIC0gcmVhZCB0aGVzZSBub3RlcworICAtIHJldmlld2VkIHRoZSBjb25maWd1cmF0aW9uIHNlY3Rpb24gb2YgQlVJTERfTElCWE1MLkNPTSwgYW5kIGluIHBhcnRpY3VsYXIKKyAgICB1cGRhdGVkIHRoZSBtb2R1bGUgbGlzdHMgaW4gbGluZSB3aXRoIE1BS0VGSUxFCisgIC0gaWRlbnRpZmllZCB0aGUgbG9jYXRpb24gb2YgdGhlIGluY2x1ZGUgZmlsZXMsIHNvIHRoYXQgeW91IGNhbiBtYW51YWxseQorICAgIHNldCB0aGUgTElCWE1MIGxvZ2ljYWwgaWYgbmVlZCBiZS4KKyAgLSByZS1yZWFkIHRoZXNlIG5vdGVzIDotcAorCisgIGluc3RydWN0aW9ucyBmb3IgYWxsIHRoZXNlIHN0ZXBzIGFyZSBiZWxvdy4KKworLSB0aGUgZmlsZSBbLnZtc11jb25maWcudm1zIGlzIHVzZWQgaW4gbGlldSBvZiBhIENvbmZpZ3VyZS1nZW5lcmF0ZWQgY29uZmlnLmguICAKKyAgVGhpcyBmaWxlIGNvbnRhaW5zIGEgbnVtYmVyIG9mIGRlZmluZSBzdGF0ZW1lbnRzIHRoYXQgaWRlbnRpZnkgdGhlIHNvZnR3YXJlIAorICBvcHRpb25zIHJlcXVpcmVkIHVuZGVyIFZNUworCistIFRoZSBpbmNsdWRlIGZpbGVzIGFyZSBpbiBhIFsuSU5DTFVERS5MSUJYTUxdIHN1YmRpcmVjdG9yeS4gIFlvdSBuZWVkCisgIGEgbG9naWNhbCAibGlieG1sIiB0byBwb2ludCB0byB0aGlzIHNvIHRoYXQgaW5jbHVkZSBzdGF0ZW1lbnRzIG9mIHRoZQorICBmb3JtCisKKwkjaW5jbHVkZSA8bGlieG1sL3BhcnNlci5oPgorCisgIHdpbGwgd29yayBjb3JyZWN0bHkuICBUaGUgc291cmNlIGZpbGVzIGFyZSBtb3N0bHkgdHdvIGxldmVscyBhYm92ZSB0aGlzCisgIGRpcmVjdG9yeSwgYWx0aG91Z2ggdGhlcmUgYXJlIHNvbWUgLmggZmlsZXMgdGhlcmUgYXMgd2VsbC4KKworLSBUaGUgY29tbWFuZCBmaWxlIEJVSUxEX0xJQlhNTC5DT00gd2lsbCBkbyB0aGUgZm9sbG93aW5nCisKKyAgLSBzZXR1cCBzb21lIGxvZ2ljYWxzCisgIC0gc2V0IGRlZiB0byB0aGUgc291cmNlIGRpcmVjdG9yeQorICAtIGNvbXBpbGUgbW9kdWxlcyBhbmQgcGxhY2UgdGhlbSBpbnRvIGEgTElCWE1MLk9MQiBsaWJyYXJ5CisgIC0gY29tcGlsZSBhbmQgbGluayBhIG51bWJlciBvZiBzZWxmLXRlc3QgcHJvZ3JhbXMKKyAgLSBjb21waWxlIGFuZCBsaW5rIGEgbnVtYmVyIG9mIHV0aWxpdGllcyBhbmQgdGVzdCBwcm9ncmFtcworICAtIHNldCBkZWYgYmFjayB0byB0aGUgb3JpZ2luYWwgZGlyZWN0b3J5IChpLmUuIGlmIGl0IGZhaWxzIHlvdSBtaWdodCBub3QgYmUKKyAgICB3aGVyZSB5b3Ugc3RhcnRlZCA6LSkKKworICBiZWZvcmUgcnVubmluZyB0aGlzIGNvbW1hbmQgZmlsZSByZXZpZXcgdGhlIGNvbmZpZ3VyYXRpb24gc2VnbWVudCBhdAorICB0aGUgdG9wLiAgSW4gcGFydGljdWxhciBjb21wYXJlIHRoZSBsaXN0cyBvZiBtb2R1bGVzIHdpdGggdGhvc2UgaW4gdGhlCisgIG1vc3QgcmVjZW50IHZlcnNpb24gb2YgdGhlIFVuaXggTUFLRUZJTEUuICBJbnN0cnVjdGlvbnMgYXJlIGNvbnRhaW5lZAorICBpbiB0aGUgY29tbWFuZCBmaWxlIGl0c2VsZi4KKworICBUaGUgY29tbWFuZCBmaWxlIHdpbGwgYXR0ZW1wdCB0byBzZXQgdHdvIGxvZ2ljYWxzCisKKyAgLSB4bWxfc3JjZGlyLiAgVGhlIGRpcmVjdG9yeSBjb250YWluaW5nIHRoZSBzb3VyY2UgZmlsZXMKKyAgLSBsaWJ4bWwuICBUaGUgaW5jbHVkZSBmaWxlIGRpcmVjdG9yeS4KKworICBJdCBhdHRlbXB0cyB0aGlzIGJ5IGxvb2tpbmcgZm9yIG1vZHVsZXMgZ2xvYmFscy5jIGFuZCBnbG9iYWxzLmggaW4KKyAgbmVhcmJ5IGRpcmVjdG9yaWVzLiAgSWYgdGhpcyBsb2dpYyBmYWlscywgeW91J2xsIG5lZWQgdG8gbWFudWFsbHkgZGVmaW5lCisgIHRoZXNlIGxvZ2ljYWxzLgorCisKK1RoZSBUUklPIHBhY2thZ2UKKy0tLS0tLS0tLS0tLS0tLS0KKy0gQSBzdWItcGFja2FnZSBUUklPIGlzIHVzZWQgdG8gcHJvdmlkZSBzb21lIGZ1bmN0aW9ucyBub3QgbmF0dXJhbGx5IGF2YWlsYWJsZQorICB1bmRlciBWTVMuICBUaGVzZSBpbmNsdWRlIHN1cHBvcnQgZm9yIGluZmluaXRlIGFuZCB1bmRlZmluZWQgbnVtYmVycywKKyAgYW5kIHNwZWNpYWxpc2VkIHByaW50IGZ1bmN0aW9ucyBsaWtlICJzbnByaW50ZiIKKworICBJIGhhZCB0byBtYWtlIHNldmVyYWwgY2hhbmdlcyB0byB0cmlvbmFuLmMgaW4gZGlzY3Vzc2lvbiB3aXRoIHRoZSBhdXRob3IKKyAgKGhvcGVmdWxseSB0aGVzZSBhcmUgbm93IGluY2x1ZGVkIGluIHRoZSBkaXN0cm8sIHNvIEkgd29uJ3QgbGlzdCB0aGVtIGhlcmUpCisKKyAgVG8gYnVpbGQgdGhpcyBzb2Z0d2FyZSB3ZSBuZWVkIHRvIGFkZAorCisJL0lFRUVfTU9ERT1VTkRFUkZMT1dfVE9fWkVSTy9GTE9BVD1JRUVFIAorCisgIHRvIHRoZSBjb21waWxlIGNvbW1hbmQgZm9yIHhwYXRoLmMgYW5kIHRyaW8uYywgYW5kIHRvIGFueSBtYWluIHByb2dyYW0KKyAgdGhhdCB1c2VzIHRoaXMgZnVuY3Rpb25hbGl0eS4gIEJVSUxEX0xJQlhNTC5DT00gc2hvdWxkIGRvIHRoaXMgZm9yIHlvdS4KKworLSB0byBidWlsZCBpbiB0cmlvIHN1cHBvcnQgeW91IG5lZWQgdGhlIGRlZmluZSBXSVRIX1RSSU8gdG8gYmUgc2V0LiAgVGhpcworICBpcyBkb25lIGJ5IGRlZmF1bHQgZm9yIFZNUyBpbiB4bWx2ZXJzaW9uLmggCisKKworQ29tcGlsZXIgYW5kIGxpbmtlciBlcnJvcnMKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIHRoZSBERUMgQyBjb21waWxlciBtYXkgcHJvZHVjZSBhIG51bWJlciBvZiB3YXJuaW5ncyB3aGVuIGNvbXBpbGluZyB0aGUKKyAgQyBjb2RlLiAgVGhlc2UgaW5jbHVkZQorCisgICAgLSBJbXBsaWNpdCBmdW5jdGlvbiB3YXJuaW5ncy4gIFRoZXNlIGluZGljYXRlIGZ1bmN0aW9ucyB3aG9zZSB0eXBlIGlzCisgICAgICBub3QgZGVmaW5lZCBpbiBhIC5oIGZpbGUuICBUaGlzIHdpbGwgcHJvYmFibHkgb25seSBoYXBwZW4gaWYgeW91cgorICAgICAgY29uZmlndXJhdGlvbiBpcyBub3QgY29ycmVjdCAoZS5nLiBmb3IgInNucHJpbnRmIiBpZiB5b3UgaGF2ZW4ndAorICAgICAgZWRpdGVkIHhtbHZlcnNpb24uaCB0byBzZXQgV0lUSF9UUklPCisKKyAgICAtIHVuaW5pdGlhbGlzZWQgdmFyaWFibGVzLiAgTm90IHVzdWFsbHkgYSBwcm9ibGVtLiAgWW91IGNhbiBzb2x2ZSB0aGlzCisgICAgICBieSBlZGl0aW5nIHRoZSBjb2RlIHRvIGluaXRpYWxpc2UgdGhlIHZhcmlhYmxlcyBhZmZlY3RlZAorCitDaGFuZ2VzIG1hZGUgdG8gdGhlIGNvZGViYXNlCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIEkgY2hhbmdlZCBhbGwgZHVtbXkgZGVjbGFyYXRpb25zIGluIHRyaW8uYyB0byBiZSAKKworICAgIHZhX2xpc3QgZHVtbXkgPSBOVUxMOworCisgIHRvIHByZXZlbnQgY29tcGlsZXIgd2hpbmdlIGluIFRSSU8uQyBhYm91dCB1bmluaXRpYWxpc2VkIHZhcmlhYmxlcworCistIEkgaGFkIHRvIGFkZCB0aGUgZm9sbG93aW5nIHRvIG5hbm9mdHAuYworCisgICAgI2lmIGRlZmluZWQoVk1TKSB8fCBkZWZpbmVkKF9fVk1TKQorICAgICAgI2RlZmluZSBTT0NLTEVOX1QgdW5zaWduZWQgaW50CisgICAgI2VuZGlmCisKKyAgVGhpcyBtYXRjaGVzIHNpbWlsYXIgbGluZXMgYWxyZWFkeSBhZGRlZCB0byBuYW5vaHR0cC5jCisKKy0gU2V2ZXJhbCB2YXJpYWJsZXMgYW5kIGZ1bmN0aW9uIG5hbWVzIGV4Y2VlZCB0aGUgMzEgY2hhcmFjdGVyIGxpbWl0IAorICBvZiB0aGUgVk1TIGxpbmtlci4gVGhlIHNvbHV0aW9uIGFkb3B0ZWQgaGFzIGJlZW4gdG8gdXNlIHRoZQorICAvTkFNRVM9U0hPUlRFTkVEIGNvbXBpbGVyIG9wdGlvbiwgd2hpY2ggcmVxdWlyZXMgREVDL0NvbXBhcSBDIDUuNworICBvciBsYXRlci4gIEZvciBhIGNvbXBsZXRlIGxpc3Qgb2YgdGhlIG5hbWVzIHRoYXQgbmVlZGVkIHNob3J0ZW5pbmcKKyAgYW5kIHRoZSBzaG9ydCBuYW1lcyBnZW5lcmF0ZWQgYnkgdGhlIGNvbXBpbGVyLCBzZWUgWy52bXNdY29uZmlnLnZtcy4KKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi93aW4zMi9NYWtlZmlsZS5iY2IgYi9saWJ4bWwyL3dpbjMyL01ha2VmaWxlLmJjYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MTI5YzYxCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi93aW4zMi9NYWtlZmlsZS5iY2IKQEAgLTAsMCArMSwzNTUgQEAKKyMgTWFrZWZpbGUgZm9yIGxpYnhtbDIsIHNwZWNpZmljIGZvciBXaW5kb3dzLCBCQ0I2IGFuZCBCb3JsYW5kIG1ha2UuCisjCisjIFRha2UgYSBsb29rIGF0IHRoZSBiZWdpbm5pbmcgYW5kIG1vZGlmeSB0aGUgdmFyaWFibGVzIHRvIHN1aXQgeW91ciAKKyMgZW52aXJvbm1lbnQuIEhhdmluZyBkb25lIHRoYXQsIHlvdSBjYW4gZG8gYQorIworIyBtYWtlIFthbGxdICAgICB0byBidWlsZCB0aGUgbGlieG1sIGFuZCB0aGUgYWNjb21wYW55aW5nIHV0aWxpdGllcy4KKyMgbWFrZSBjbGVhbiAgICAgdG8gcmVtb3ZlIGFsbCBjb21waWxlciBvdXRwdXQgZmlsZXMgYW5kIHJldHVybiB0byBhCisjICAgICAgICAgICAgICAgICBjbGVhbiBzdGF0ZS4KKyMgbWFrZSByZWJ1aWxkICAgdG8gcmVidWlsZCBldmVyeXRoaW5nIGZyb20gc2NyYXRjaC4gVGhpcyBiYXNpY2FsbHkgZG9lcworIyAgICAgICAgICAgICAgICAgYSAnbm1ha2UgY2xlYW4nIGFuZCB0aGVuIGEgJ25tYWtlIGFsbCcuCisjIG1ha2UgaW5zdGFsbCAgIHRvIGluc3RhbGwgdGhlIGxpYnJhcnkgYW5kIGl0cyBoZWFkZXIgZmlsZXMuCisjCisjIEF1Z3VzdCAyMDAzLCBFcmljIFp1cmNoZXIgPEVyaWMuWnVyY2hlckBjc2lyby5hdT4KKyMgYmFzZWQgb24gdGhlIE1TVkMgdmVyc2lvbiBvZgorIyBNYXJjaCAyMDAyLCBJZ29yIFpsYXRrb3ZpYyA8aWdvckB6bGF0a292aWMuY29tPgorIworCisjIFRoZXJlIHNob3VsZCBuZXZlciBiZSBhIG5lZWQgdG8gbW9kaWZ5IGFueXRoaW5nIGJlbG93IHRoaXMgbGluZS4KKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitBVVRPQ09ORiA9IC5cY29uZmlnLmJjYgorIWluY2x1ZGUgJChBVVRPQ09ORikKKworIWlmICEkZChCQ0IpCitCQ0IgPSAkKE1BS0VESVIpXC4uCishZW5kaWYKKy5hdXRvZGVwZW5kCisKKyMgTmFtZXMgb2YgdmFyaW91cyBpbnB1dCBhbmQgb3V0cHV0IGNvbXBvbmVudHMuCitYTUxfTkFNRSA9IHhtbDIKK1hNTF9CQVNFTkFNRSA9IGxpYiQoWE1MX05BTUUpCitYTUxfU08gPSAkKFhNTF9CQVNFTkFNRSkuZGxsCitYTUxfSU1QID0gJChYTUxfQkFTRU5BTUUpLmxpYgorWE1MX0RFRiA9ICQoWE1MX0JBU0VOQU1FKS5kZWYKK1hNTF9BID0gJChYTUxfQkFTRU5BTUUpX2EubGliCitEVU1NWSA9IGRpci5leGlzdHMKKworIyBQbGFjZSB3aGVyZSB3ZSBsZXQgdGhlIGNvbXBpbGVyIHB1dCBpdHMgaW50ZXJtZWRpYXRlIHRyYXNoLgorQklORElSID0gYmluLmJjYgorWE1MX0lOVERJUiA9IGludC5iY2IKK1hNTF9JTlRESVJfQSA9IGludC5hLmJjYgorVVRJTFNfSU5URElSID0gaW50LnV0aWxzLmJjYgorCisjIFRoZSBwcmVwcm9jZXNzb3IgYW5kIGl0cyBvcHRpb25zLgorQ1BQID0gY3BwMzIuZXhlIC1QLSAtRFdJTjMyCitDUFBGTEFHUyA9IC1JIiQoWE1MX1NSQ0RJUilcaW5jbHVkZSIgLUROT0xJQlRPT0wgCishaWYgIiQoV0lUSF9USFJFQURTKSIgIT0gIm5vIgorQ1BQRkxBR1MgPSAkKENQUEZMQUdTKSAtRF9SRUVOVFJBTlQgLURfX01UX18KKyFlbmRpZgorCisjIFRoZSBjb21waWxlciBhbmQgaXRzIG9wdGlvbnMuCitDQyA9IGJjYzMyLmV4ZQorQ0ZMQUdTID0gLXEgLURXSU4zMiAtRF9OT19WQ0wgLURfV0lORE9XUyAtRF9NQkNTIC1ERUlMU0VRPTIgLUROT0xJQlRPT0wgLXctCitDRkxBR1MgPSAkKENGTEFHUykgLUkiJChYTUxfU1JDRElSKSIgLUkiJChYTUxfU1JDRElSKVxpbmNsdWRlIiAtSSIkKElOQ1BSRUZJWCkiIC1JIiQoSU5DTFVERSkiCishaWYgIiQoV0lUSF9USFJFQURTKSIgIT0gIm5vIgorQ0ZMQUdTID0gJChDRkxBR1MpIC1EX1JFRU5UUkFOVCAtdFdNCishZW5kaWYKKyFpZiAiJChEWU5SVU5USU1FKSIgPT0gIjEiCitDRkxBR1MgPSAkKENGTEFHUykgLXRXUgorIWVuZGlmCishaWYgIiQoV0lUSF9USFJFQURTKSIgPT0gInllcyIgfHwgIiQoV0lUSF9USFJFQURTKSIgPT0gImN0bHMiCitDRkxBR1MgPSAkKENGTEFHUykgLURIQVZFX1dJTjMyX1RIUkVBRFMgLURIQVZFX0NPTVBJTEVSX1RMUworIWVsc2UgaWYgIiQoV0lUSF9USFJFQURTKSIgPT0gIm5hdGl2ZSIKK0NGTEFHUyA9ICQoQ0ZMQUdTKSAtREhBVkVfV0lOMzJfVEhSRUFEUworIWVsc2UgaWYgIiQoV0lUSF9USFJFQURTKSIgPT0gInBvc2l4IgorQ0ZMQUdTID0gJChDRkxBR1MpIC1ESEFWRV9QVEhSRUFEX0gKKyFlbmRpZgorIWlmICIkKFdJVEhfWkxJQikiID09ICIxIgorQ0ZMQUdTID0gJChDRkxBR1MpIC1ESEFWRV9aTElCX0gKKyFlbmRpZgorIWlmICIkKFdJVEhfTFpNQSkiID09ICIxIgorQ0ZMQUdTID0gJChDRkxBR1MpIC1ESEFWRV9MWk1BX0gKKyFlbmRpZgorCisjIFRoZSBsaW5rZXIgYW5kIGl0cyBvcHRpb25zLgorTEQgPSBpbGluazMyLmV4ZQorTERGTEFHUyA9IC1xIC1VJChMSUJYTUxfTUFKT1JfVkVSU0lPTikuJChMSUJYTUxfTUlOT1JfVkVSU0lPTikKK0xERkxBR1MgPSAkKExERkxBR1MpIC1MIiQoQklORElSKTskKExJQlBSRUZJWCk7JChMSUIpOyQoQkNCKVxsaWI7JChCQ0IpXGxpYlxQU2RrIgorTElCUyA9IGltcG9ydDMyLmxpYgorIWlmICIkKFdJVEhfVEhSRUFEUykiICE9ICJubyIgJiYgIiQoRFlOUlVOVElNRSkiID09ICIxIgorTElCUyA9ICQoTElCUykgY3czMm10aS5saWIKKyFlbGlmICIkKFdJVEhfVEhSRUFEUykiICE9ICJubyIKK0xJQlMgPSAkKExJQlMpIGN3MzJtdC5saWIKKyFlbGlmICIkKERZTlJVTlRJTUUpIiA9PSAiMSIKK0xJQlMgPSAkKExJQlMpIGN3MzJpLmxpYgorIWVsc2UKK0xJQlMgPSAkKExJQlMpIGN3MzIubGliCishZW5kaWYKKyFpZiAiJChXSVRIX0ZUUCkiID09ICIxIiB8fCAiJChXSVRIX0hUVFApIiA9PSAiMSIKK0xJQlMgPSAkKExJQlMpIHdzb2NrMzIubGliIHdzMl8zMi5saWIKKyFlbmRpZiAKKyFpZiAiJChXSVRIX0lDT05WKSIgPT0gIjEiCitMSUJTID0gJChMSUJTKSBpY29udm9tZi5saWIKKyFlbmRpZiAKKyFpZiAiJChXSVRIX1pMSUIpIiA9PSAiMSIKK0xJQlMgPSAkKExJQlMpIHpsaWJvbWYubGliCishZW5kaWYKKyFpZiAiJChXSVRIX0xaTUEpIiA9PSAiMSIKK0xJQlMgPSAkKExJQlMpIGxpYmx6bWEubGliCishZW5kaWYKKyFpZiAiJChXSVRIX1RIUkVBRFMpIiA9PSAicG9zaXgiCitMSUJTID0gJChMSUJTKSBwdGhyZWFkVkMubGliCishZW5kaWYKKyFpZiAiJChXSVRIX01PRFVMRVMpIiA9PSAiMSIKK0xJQlMgPSAkKExJQlMpIGtlcm5lbDMyLmxpYgorIWVuZGlmCisKKyMgVGhlIGFyY2hpdmVyIGFuZCBpdHMgb3B0aW9ucy4KK0FSID0gdGxpYi5leGUKK0FSRkxBR1MgPSAvUDY0IC8wCisKKyMgT3B0aW1pc2F0aW9uIGFuZCBkZWJ1ZyBzeW1ib2xzLgorIWlmICIkKERFQlVHKSIgPT0gIjEiCitDRkxBR1MgPSAkKENGTEFHUykgLURfREVCVUcgLU9kIC12CitMREZMQUdTID0gJChMREZMQUdTKSAtdgorIWVsc2UKK0NGTEFHUyA9ICQoQ0ZMQUdTKSAtRE5ERUJVRyAtTzIgCitMREZMQUdTID0gJChMREZMQUdTKQorIWVuZGlmCisKKyMgTGlieG1sIG9iamVjdCBmaWxlcy4KK1hNTF9PQkpTID0gJChYTUxfSU5URElSKVxidWYub2JqXAorCSQoWE1MX0lOVERJUilcYzE0bi5vYmpcCisJJChYTUxfSU5URElSKVxjYXRhbG9nLm9ialwKKwkkKFhNTF9JTlRESVIpXGNodmFsaWQub2JqXAorCSQoWE1MX0lOVERJUilcZGVidWdYTUwub2JqXAorCSQoWE1MX0lOVERJUilcZGljdC5vYmpcCisJJChYTUxfSU5URElSKVxET0NCcGFyc2VyLm9ialwKKwkkKFhNTF9JTlRESVIpXGVuY29kaW5nLm9ialwKKwkkKFhNTF9JTlRESVIpXGVudGl0aWVzLm9ialwKKwkkKFhNTF9JTlRESVIpXGVycm9yLm9ialwKKwkkKFhNTF9JTlRESVIpXGdsb2JhbHMub2JqXAorCSQoWE1MX0lOVERJUilcaGFzaC5vYmpcCisJJChYTUxfSU5URElSKVxIVE1McGFyc2VyLm9ialwKKwkkKFhNTF9JTlRESVIpXEhUTUx0cmVlLm9ialwKKwkkKFhNTF9JTlRESVIpXGxlZ2FjeS5vYmpcCisJJChYTUxfSU5URElSKVxsaXN0Lm9ialwKKwkkKFhNTF9JTlRESVIpXG5hbm9mdHAub2JqXAorCSQoWE1MX0lOVERJUilcbmFub2h0dHAub2JqXAorCSQoWE1MX0lOVERJUilccGFyc2VyLm9ialwKKwkkKFhNTF9JTlRESVIpXHBhcnNlckludGVybmFscy5vYmpcCisJJChYTUxfSU5URElSKVxwYXR0ZXJuLm9ialwKKwkkKFhNTF9JTlRESVIpXHJlbGF4bmcub2JqXAorCSQoWE1MX0lOVERJUilcU0FYLm9ialwKKwkkKFhNTF9JTlRESVIpXFNBWDIub2JqXAorCSQoWE1MX0lOVERJUilcc2NoZW1hdHJvbi5vYmpcCisJJChYTUxfSU5URElSKVx0aHJlYWRzLm9ialwKKwkkKFhNTF9JTlRESVIpXHRyZWUub2JqXAorCSQoWE1MX0lOVERJUilcdXJpLm9ialwKKwkkKFhNTF9JTlRESVIpXHZhbGlkLm9ialwKKwkkKFhNTF9JTlRESVIpXHhpbmNsdWRlLm9ialwKKwkkKFhNTF9JTlRESVIpXHhsaW5rLm9ialwKKwkkKFhNTF9JTlRESVIpXHhtbElPLm9ialwKKwkkKFhNTF9JTlRESVIpXHhtbG1lbW9yeS5vYmpcCisJJChYTUxfSU5URElSKVx4bWxyZWFkZXIub2JqXAorCSQoWE1MX0lOVERJUilceG1scmVnZXhwLm9ialwKKwkkKFhNTF9JTlRESVIpXHhtbG1vZHVsZS5vYmpcCisJJChYTUxfSU5URElSKVx4bWxzYXZlLm9ialwKKwkkKFhNTF9JTlRESVIpXHhtbHNjaGVtYXMub2JqXAorCSQoWE1MX0lOVERJUilceG1sc2NoZW1hc3R5cGVzLm9ialwKKwkkKFhNTF9JTlRESVIpXHhtbHVuaWNvZGUub2JqXAorCSQoWE1MX0lOVERJUilceG1sd3JpdGVyLm9ialwKKwkkKFhNTF9JTlRESVIpXHhwYXRoLm9ialwKKwkkKFhNTF9JTlRESVIpXHhwb2ludGVyLm9ialwKKwkkKFhNTF9JTlRESVIpXHhtbHN0cmluZy5vYmoKKworIyBTdGF0aWMgbGlieG1sIG9iamVjdCBmaWxlcy4KK1hNTF9PQkpTX0EgPSAkKFhNTF9JTlRESVJfQSlcYnVmLm9ialwKKwkkKFhNTF9JTlRESVJfQSlcYzE0bi5vYmpcCisJJChYTUxfSU5URElSX0EpXGNhdGFsb2cub2JqXAorCSQoWE1MX0lOVERJUl9BKVxjaHZhbGlkLm9ialwKKwkkKFhNTF9JTlRESVJfQSlcZGVidWdYTUwub2JqXAorCSQoWE1MX0lOVERJUl9BKVxkaWN0Lm9ialwKKwkkKFhNTF9JTlRESVJfQSlcRE9DQnBhcnNlci5vYmpcCisJJChYTUxfSU5URElSX0EpXGVuY29kaW5nLm9ialwKKwkkKFhNTF9JTlRESVJfQSlcZW50aXRpZXMub2JqXAorCSQoWE1MX0lOVERJUl9BKVxlcnJvci5vYmpcCisJJChYTUxfSU5URElSX0EpXGdsb2JhbHMub2JqXAorCSQoWE1MX0lOVERJUl9BKVxoYXNoLm9ialwKKwkkKFhNTF9JTlRESVJfQSlcSFRNTHBhcnNlci5vYmpcCisJJChYTUxfSU5URElSX0EpXEhUTUx0cmVlLm9ialwKKwkkKFhNTF9JTlRESVJfQSlcbGVnYWN5Lm9ialwKKwkkKFhNTF9JTlRESVJfQSlcbGlzdC5vYmpcCisJJChYTUxfSU5URElSX0EpXG5hbm9mdHAub2JqXAorCSQoWE1MX0lOVERJUl9BKVxuYW5vaHR0cC5vYmpcCisJJChYTUxfSU5URElSX0EpXHBhcnNlci5vYmpcCisJJChYTUxfSU5URElSX0EpXHBhcnNlckludGVybmFscy5vYmpcCisJJChYTUxfSU5URElSX0EpXHBhdHRlcm4ub2JqXAorCSQoWE1MX0lOVERJUl9BKVxyZWxheG5nLm9ialwKKwkkKFhNTF9JTlRESVJfQSlcU0FYLm9ialwKKwkkKFhNTF9JTlRESVJfQSlcU0FYMi5vYmpcCisJJChYTUxfSU5URElSX0EpXHNjaGVtYXRyb24ub2JqXAorCSQoWE1MX0lOVERJUl9BKVx0aHJlYWRzLm9ialwKKwkkKFhNTF9JTlRESVJfQSlcdHJlZS5vYmpcCisJJChYTUxfSU5URElSX0EpXHVyaS5vYmpcCisJJChYTUxfSU5URElSX0EpXHZhbGlkLm9ialwKKwkkKFhNTF9JTlRESVJfQSlceGluY2x1ZGUub2JqXAorCSQoWE1MX0lOVERJUl9BKVx4bGluay5vYmpcCisJJChYTUxfSU5URElSX0EpXHhtbElPLm9ialwKKwkkKFhNTF9JTlRESVJfQSlceG1sbWVtb3J5Lm9ialwKKwkkKFhNTF9JTlRESVJfQSlceG1scmVhZGVyLm9ialwKKwkkKFhNTF9JTlRESVJfQSlceG1scmVnZXhwLm9ialwKKwkkKFhNTF9JTlRESVJfQSlceG1sbW9kdWxlLm9ialwKKwkkKFhNTF9JTlRESVJfQSlceG1sc2F2ZS5vYmpcCisJJChYTUxfSU5URElSX0EpXHhtbHNjaGVtYXMub2JqXAorCSQoWE1MX0lOVERJUl9BKVx4bWxzY2hlbWFzdHlwZXMub2JqXAorCSQoWE1MX0lOVERJUl9BKVx4bWx1bmljb2RlLm9ialwKKwkkKFhNTF9JTlRESVJfQSlceG1sd3JpdGVyLm9ialwKKwkkKFhNTF9JTlRESVJfQSlceHBhdGgub2JqXAorCSQoWE1MX0lOVERJUl9BKVx4cG9pbnRlci5vYmpcCisJJChYTUxfSU5URElSX0EpXHhtbHN0cmluZy5vYmoKKworIyBYbWxsaW50IGFuZCBmcmllbmRzIGV4ZWN1dGFibGVzLgorVVRJTFMgPSAkKEJJTkRJUilceG1sbGludC5leGVcCisJJChCSU5ESVIpXHhtbGNhdGFsb2cuZXhlXAorCSQoQklORElSKVx0ZXN0QXV0b21hdGEuZXhlXAorCSQoQklORElSKVx0ZXN0QzE0Ti5leGVcCisJJChCSU5ESVIpXHRlc3REb2Nib29rLmV4ZVwKKwkkKEJJTkRJUilcdGVzdEhUTUwuZXhlXAorCSQoQklORElSKVx0ZXN0UmVhZGVyLmV4ZVwKKwkkKEJJTkRJUilcdGVzdFJlbGF4LmV4ZVwKKwkkKEJJTkRJUilcdGVzdFJlZ2V4cC5leGVcCisJJChCSU5ESVIpXHRlc3RNb2R1bGUuZXhlXAorCSQoQklORElSKVx0ZXN0U0FYLmV4ZVwKKwkkKEJJTkRJUilcdGVzdFNjaGVtYXMuZXhlXAorCSQoQklORElSKVx0ZXN0VVJJLmV4ZVwKKwkkKEJJTkRJUilcdGVzdFhQYXRoLmV4ZVwKKwkkKEJJTkRJUilccnVudGVzdC5leGVcCisJJChCSU5ESVIpXHJ1bnN1aXRlLmV4ZVwKKwkkKEJJTkRJUilcdGVzdGFwaS5leGVcCisJJChCSU5ESVIpXHRlc3RsaW1pdHMuZXhlCisKKworIWlmICIkKFdJVEhfVEhSRUFEUykiID09ICJ5ZXMiIHx8ICIkKFdJVEhfVEhSRUFEUykiID09ICJjdGxzIiB8fCAiJChXSVRIX1RIUkVBRFMpIiA9PSAibmF0aXZlIgorVVRJTFMgPSAkKFVUSUxTKSAkKEJJTkRJUilcdGVzdFRocmVhZHNXaW4zMi5leGUKKyFlbHNlIGlmICIkKFdJVEhfVEhSRUFEUykiID09ICJwb3NpeCIKK1VUSUxTID0gJChVVElMUykgJChCSU5ESVIpXHRlc3RUaHJlYWRzLmV4ZQorIWVuZGlmCisKKworYWxsIDogbGlieG1sIGxpYnhtbGEgdXRpbHMKKworbGlieG1sIDogJChCSU5ESVIpXCQoWE1MX1NPKSAKKworbGlieG1sYSA6ICQoQklORElSKVwkKFhNTF9BKQorCit1dGlscyA6ICQoVVRJTFMpCisKK2NsZWFuIDoKKwlpZiBleGlzdCAkKFhNTF9JTlRESVIpIHJtZGlyIC9TIC9RICQoWE1MX0lOVERJUikKKwlpZiBleGlzdCAkKFhNTF9JTlRESVJfQSkgcm1kaXIgL1MgL1EgJChYTUxfSU5URElSX0EpCisJaWYgZXhpc3QgJChVVElMU19JTlRESVIpIHJtZGlyIC9TIC9RICQoVVRJTFNfSU5URElSKQorCWlmIGV4aXN0ICQoQklORElSKSBybWRpciAvUyAvUSAkKEJJTkRJUikKKworZGlzdGNsZWFuIDogY2xlYW4KKwlpZiBleGlzdCBjb25maWcuKiBkZWwgY29uZmlnLioKKwlpZiBleGlzdCBNYWtlZmlsZSBkZWwgTWFrZWZpbGUKKworcmVidWlsZCA6IGNsZWFuIGFsbAorCitpbnN0YWxsLWxpYnMgOiBhbGwKKwlpZiBub3QgZXhpc3QgIiQoSU5DUFJFRklYKVxsaWJ4bWwyIiBta2RpciAiJChJTkNQUkVGSVgpXGxpYnhtbDIiCisJaWYgbm90IGV4aXN0ICIkKElOQ1BSRUZJWClcbGlieG1sMlxsaWJ4bWwiIG1rZGlyICIkKElOQ1BSRUZJWClcbGlieG1sMlxsaWJ4bWwiCisJaWYgbm90IGV4aXN0ICIkKEJJTlBSRUZJWCkiIG1rZGlyICIkKEJJTlBSRUZJWCkiCisJaWYgbm90IGV4aXN0ICIkKExJQlBSRUZJWCkiIG1rZGlyICIkKExJQlBSRUZJWCkiCisJY29weSAkKFhNTF9TUkNESVIpXGluY2x1ZGVcbGlieG1sXCouaCAiJChJTkNQUkVGSVgpXGxpYnhtbDJcbGlieG1sIgorCWNvcHkgJChCSU5ESVIpXCQoWE1MX1NPKSAiJChTT1BSRUZJWCkiCisJY29weSAkKEJJTkRJUilcJChYTUxfQSkgIiQoTElCUFJFRklYKSIKKwljb3B5ICQoQklORElSKVwkKFhNTF9JTVApICIkKExJQlBSRUZJWCkiCisJY29weSAkKEJJTkRJUilcKi5leGUgIiQoQklOUFJFRklYKSIKKworaW5zdGFsbCA6IGluc3RhbGwtbGlicworCWNvcHkgJChCSU5ESVIpXCouZXhlICIkKEJJTlBSRUZJWCkiCisKK2luc3RhbGwtZGlzdCA6IGluc3RhbGwtbGlicworCWNvcHkgJChCSU5ESVIpXHhtbCouZXhlICIkKEJJTlBSRUZJWCkiCisKKyMgVGhpcyBpcyBhIHRhcmdldCBmb3IgbWUsIHRvIG1ha2UgYSBiaW5hcnkgZGlzdHJpYnV0aW9uLiBOb3QgZm9yIHRoZSBwdWJsaWMgdXNlLAorIyBrZWVwIHlvdXIgaGFuZHMgb2ZmIDotKQorQkRWRVJTSU9OID0gJChMSUJYTUxfTUFKT1JfVkVSU0lPTikuJChMSUJYTUxfTUlOT1JfVkVSU0lPTikuJChMSUJYTUxfTUlDUk9fVkVSU0lPTikKK0JEUFJFRklYID0gJChYTUxfQkFTRU5BTUUpLSQoQkRWRVJTSU9OKS53aW4zMgorYmluZGlzdCA6IGFsbAorCSQoTUFLRSkgL25vbG9nbyBQUkVGSVg9JChCRFBSRUZJWCkgU09QUkVGSVg9JChCRFBSRUZJWClcYmluIGluc3RhbGwtZGlzdAorCWNzY3JpcHQgLy9Ob0xvZ28gY29uZmlndXJlLmpzIGdlbnJlYWRtZSAkKFhNTF9CQVNFTkFNRSkgJChCRFZFUlNJT04pICQoQkRQUkVGSVgpXHJlYWRtZS50eHQKKworCisjIE1ha2VzIHRoZSBvdXRwdXQgZGlyZWN0b3J5LgorJChCSU5ESVIpXCQoRFVNTVkpIDoKKwlpZiBub3QgZXhpc3QgJChCSU5ESVIpIG1rZGlyICQoQklORElSKQorCXRvdWNoICQoQklORElSKVwkKERVTU1ZKQorCisjIE1ha2VzIHRoZSBsaWJ4bWwgaW50ZXJtZWRpYXRlIGRpcmVjdG9yeS4KKyQoWE1MX0lOVERJUilcJChEVU1NWSkgOgorCWlmIG5vdCBleGlzdCAkKFhNTF9JTlRESVIpIG1rZGlyICQoWE1MX0lOVERJUikKKwl0b3VjaCAkKFhNTF9JTlRESVIpXCQoRFVNTVkpCisKKyMgTWFrZXMgdGhlIHN0YXRpYyBsaWJ4bWwgaW50ZXJtZWRpYXRlIGRpcmVjdG9yeS4KKyQoWE1MX0lOVERJUl9BKVwkKERVTU1ZKSA6CisJaWYgbm90IGV4aXN0ICQoWE1MX0lOVERJUl9BKSBta2RpciAkKFhNTF9JTlRESVJfQSkKKwl0b3VjaCAkKFhNTF9JTlRESVJfQSlcJChEVU1NWSkKKworIyBBbiBpbXBsaWNpdCBydWxlIGZvciBsaWJ4bWwgY29tcGlsYXRpb24uCit7JChYTUxfU1JDRElSKX0uY3skKFhNTF9JTlRESVIpfS5vYmo6CisJJChDQykgJChDRkxBR1MpIC1uJChYTUxfSU5URElSKSAtYyAkPAorCisjIEFuIGltcGxpY2l0IHJ1bGUgZm9yIHN0YXRpYyBsaWJ4bWwgY29tcGlsYXRpb24uCit7JChYTUxfU1JDRElSKX0uY3skKFhNTF9JTlRESVJfQSl9Lm9iajoKKwkkKENDKSAkKENGTEFHUykgLURMSUJYTUxfU1RBVElDIC1uJChYTUxfSU5URElSX0EpXCAtYyAkPAorCisjIENvbXBpbGVzIGxpYnhtbCBzb3VyY2UuIFVzZXMgdGhlIGltcGxpY2l0IHJ1bGUgZm9yIGNvbW1hbmRzLgorJChYTUxfT0JKUykgOiAkKFhNTF9JTlRESVIpXCQoRFVNTVkpCisKKyMgQ29tcGlsZXMgc3RhdGljIGxpYnhtbCBzb3VyY2UuIFVzZXMgdGhlIGltcGxpY2l0IHJ1bGUgZm9yIGNvbW1hbmRzLgorJChYTUxfT0JKU19BKSA6ICQoWE1MX0lOVERJUl9BKVwkKERVTU1ZKSAKKworI2RlZjRiY2IuZXhlIDogZGVmNGJjYi5jCisKKyMgQ3JlYXRlcyB0aGUgZXhwb3J0IGRlZmluaXRpb24gZmlsZSAoREVGKSBmb3IgbGlieG1sLgorIyQoWE1MX0lOVERJUilcJChYTUxfREVGKSA6ICQoWE1MX0lOVERJUilcJChEVU1NWSkgJChYTUxfREVGKS5zcmMgZGVmNGJjYi5leGUKKyMJJChDUFApICQoQ1BQRkxBR1MpIC1vICQoWE1MX0lOVERJUilcJChYTUxfREVGKS50bXAgJChYTUxfREVGKS5zcmMKKyMJZGVmNGJjYiAtbXNuYW1lcyA8ICQoWE1MX0lOVERJUilcJChYTUxfREVGKS50bXAgPiAkKFhNTF9JTlRESVIpXCQoWE1MX0RFRikKKworIyBDcmVhdGVzIHRoZSBsaWJ4bWwgc2hhcmVkIG9iamVjdC4KKyQoQklORElSKVwkKFhNTF9TTykgOiAkKEJJTkRJUilcJChEVU1NWSkgJChYTUxfT0JKUykKKwkkKExEKSAkKExERkxBR1MpIC1UcGQgLUdpIGMwZDMyLm9iaiAkKFhNTF9PQkpTKSwkKEJJTkRJUilcJChYTUxfU08pLCwkKExJQlMpCisKKyMkKEJJTkRJUilcJChYTUxfU08pIDogJChCSU5ESVIpXCQoRFVNTVkpICQoWE1MX09CSlMpICQoWE1MX0lOVERJUilcJChYTUxfREVGKQorIwkkKExEKSAkKExERkxBR1MpIC1UcGQgLUdpIGMwZDMyLm9iaiAkKFhNTF9PQkpTKSwkKEJJTkRJUilcJChYTUxfU08pLCwkKExJQlMpLCQoWE1MX0lOVERJUilcJChYTUxfREVGKQorCisjIENyZWF0ZXMgdGhlIGxpYnhtbCBhcmNoaXZlLgorJChCSU5ESVIpXCQoWE1MX0EpIDogJChCSU5ESVIpXCQoRFVNTVkpICQoWE1MX09CSlNfQSkKKwkkKEFSKSAkKEJJTkRJUilcJChYTUxfQSkgJChBUkZMQUdTKSAvdSAkKFhNTF9PQkpTX0EpCisKKyMgTWFrZXMgdGhlIHV0aWxzIGludGVybWVkaWF0ZSBkaXJlY3RvcnkuCiskKFVUSUxTX0lOVERJUilcJChEVU1NWSkgOgorCWlmIG5vdCBleGlzdCAkKFVUSUxTX0lOVERJUikgbWtkaXIgJChVVElMU19JTlRESVIpCisJdG91Y2ggJChVVElMU19JTlRESVIpXCQoRFVNTVkpCisKKyMgQW4gaW1wbGljaXQgcnVsZSBmb3IgeG1sbGludCBhbmQgZnJpZW5kcy4KKyFpZiAiJChTVEFUSUMpIiA9PSAiMSIKK3skKFVUSUxTX1NSQ0RJUil9LmN7JChCSU5ESVIpfS5leGU6CisJJChDQykgLURMSUJYTUxfU1RBVElDIC13IC10V0MgJChDRkxBR1MpIC1vJChVVElMU19JTlRESVIpXCQmLm9iaiAtYyAkPCAKKwkkKExEKSAkKExERkxBR1MpIGMweDMyLm9iaiAkKFVUSUxTX0lOVERJUilcJCYub2JqLCRALCwkKExJQlMpICQoWE1MX0EpCishZWxzZQoreyQoVVRJTFNfU1JDRElSKX0uY3skKEJJTkRJUil9LmV4ZToKKwkkKENDKSAkKENGTEFHUykgLXRXQyAtbyQoVVRJTFNfSU5URElSKVwkJi5vYmogLWMgJDwgCisJJChMRCkgJChMREZMQUdTKSBjMHgzMi5vYmogJChVVElMU19JTlRESVIpXCQmLm9iaiAkKFhNTF9JTVApLCRALCwkKExJQlMpIAorIWVuZGlmCisKKyMgQnVpbGRzIHhtbGxpbnQgYW5kIGZyaWVuZHMuIFVzZXMgdGhlIGltcGxpY2l0IHJ1bGUgZm9yIGNvbW1hbmRzLgorJChVVElMUykgOiAkKFVUSUxTX0lOVERJUilcJChEVU1NWSkgJChCSU5ESVIpXCQoRFVNTVkpICQoQklORElSKVwkKFhNTF9TTykgJChCSU5ESVIpXCQoWE1MX0EpCisKKyMgU291cmNlIGRlcGVuZGVuY2VzIHNob3VsZCBiZSBhdXRvZ2VuZXJhdGVkIHNvbWVob3cgaGVyZSwgYnV0IGhvdyB0bworIyBkbyBpdD8gSSBoYXZlIG5vIGNsdWUuCisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvd2luMzIvTWFrZWZpbGUubWluZ3cgYi9saWJ4bWwyL3dpbjMyL01ha2VmaWxlLm1pbmd3Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE4ODkzNzYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3dpbjMyL01ha2VmaWxlLm1pbmd3CkBAIC0wLDAgKzEsMzU0IEBACisjIE1ha2VmaWxlIGZvciBsaWJ4bWwyLCBzcGVjaWZpYyBmb3IgV2luZG93cywgR0NDIChtaW5ndykgYW5kIEdOVSBtYWtlLgorIworIyBUYWtlIGEgbG9vayBhdCB0aGUgYmVnaW5uaW5nIGFuZCBtb2RpZnkgdGhlIHZhcmlhYmxlcyB0byBzdWl0IHlvdXIgCisjIGVudmlyb25tZW50LiBIYXZpbmcgZG9uZSB0aGF0LCB5b3UgY2FuIGRvIGEKKyMKKyMgbm1ha2UgW2FsbF0gICAgIHRvIGJ1aWxkIHRoZSBsaWJ4bWwgYW5kIHRoZSBhY2NvbXBhbnlpbmcgdXRpbGl0aWVzLgorIyBubWFrZSBjbGVhbiAgICAgdG8gcmVtb3ZlIGFsbCBjb21waWxlciBvdXRwdXQgZmlsZXMgYW5kIHJldHVybiB0byBhCisjICAgICAgICAgICAgICAgICBjbGVhbiBzdGF0ZS4KKyMgbm1ha2UgcmVidWlsZCAgIHRvIHJlYnVpbGQgZXZlcnl0aGluZyBmcm9tIHNjcmF0Y2guIFRoaXMgYmFzaWNhbGx5IGRvZXMKKyMgICAgICAgICAgICAgICAgIGEgJ25tYWtlIGNsZWFuJyBhbmQgdGhlbiBhICdubWFrZSBhbGwnLgorIyBubWFrZSBpbnN0YWxsICAgdG8gaW5zdGFsbCB0aGUgbGlicmFyeSBhbmQgaXRzIGhlYWRlciBmaWxlcy4KKyMKKyMgTm92ZW1iZXIgMjAwMiwgSWdvciBabGF0a292aWMgPGlnb3JAemxhdGtvdmljLmNvbT4KKworIyBUaGVyZSBzaG91bGQgbmV2ZXIgYmUgYSBuZWVkIHRvIG1vZGlmeSBhbnl0aGluZyBiZWxvdyB0aGlzIGxpbmUuCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworQVVUT0NPTkYgPSAuXGNvbmZpZy5taW5ndworaW5jbHVkZSAkKEFVVE9DT05GKQorCisjIE5hbWVzIG9mIHZhcmlvdXMgaW5wdXQgYW5kIG91dHB1dCBjb21wb25lbnRzLgorWE1MX05BTUUgPSB4bWwyCitYTUxfQkFTRU5BTUUgPSBsaWIkKFhNTF9OQU1FKQorWE1MX1NPID0gJChYTUxfQkFTRU5BTUUpLmRsbAorWE1MX0lNUCA9ICQoWE1MX0JBU0VOQU1FKS5saWIKK1hNTF9BID0gJChYTUxfQkFTRU5BTUUpLmEKKworIyBQbGFjZSB3aGVyZSB3ZSBsZXQgdGhlIGNvbXBpbGVyIHB1dCBpdHMgb3V0cHV0LgorQklORElSID0gYmluLm1pbmd3CitYTUxfSU5URElSID0gaW50Lm1pbmd3CitYTUxfSU5URElSX0EgPSBpbnQuYS5taW5ndworVVRJTFNfSU5URElSID0gaW50LnV0aWxzLm1pbmd3CisKKyMgVGhlIHByZXByb2Nlc3NvciBhbmQgaXRzIG9wdGlvbnMuCitDUFAgPSBnY2MuZXhlIC1FCitDUFBGTEFHUyArPSAtSSQoWE1MX1NSQ0RJUikvaW5jbHVkZSAtRE5PTElCVE9PTCAKK2lmZXEgKCQoV0lUSF9USFJFQURTKSwxKQorQ1BQRkxBR1MgKz0gLURfUkVFTlRSQU5UCitlbmRpZgorCisjIFRoZSBjb21waWxlciBhbmQgaXRzIG9wdGlvbnMuCitDQyA9IGdjYy5leGUKK0NGTEFHUyArPSAtRFdJTjMyIC1EX1dJTkRPV1MgLURfTUJDUyAtRE5PTElCVE9PTCAKK0NGTEFHUyArPSAtSSQoWE1MX1NSQ0RJUikgLUkkKFhNTF9TUkNESVIpL2luY2x1ZGUgLUkkKElOQ1BSRUZJWCkgJChJTkNMVURFKQoraWZuZXEgKCQoV0lUSF9USFJFQURTKSxubykKK0NGTEFHUyArPSAtRF9SRUVOVFJBTlQKK2VuZGlmCitpZmVxICgkKFdJVEhfVEhSRUFEUykseWVzKSAKK0NGTEFHUyArPSAtREhBVkVfV0lOMzJfVEhSRUFEUyAtREhBVkVfQ09NUElMRVJfVExTCitlbmRpZgoraWZlcSAoJChXSVRIX1RIUkVBRFMpLGN0bHMpCitDRkxBR1MgKz0gLURIQVZFX1dJTjMyX1RIUkVBRFMgLURIQVZFX0NPTVBJTEVSX1RMUworZW5kaWYKK2lmZXEgKCQoV0lUSF9USFJFQURTKSxuYXRpdmUpCitDRkxBR1MgKz0gLURIQVZFX1dJTjMyX1RIUkVBRFMKK2VuZGlmCitpZmVxICgkKFdJVEhfVEhSRUFEUykscG9zaXgpCitDRkxBR1MgKz0gLURIQVZFX1BUSFJFQURfSAorZW5kaWYKK2lmZXEgKCQoV0lUSF9aTElCKSwxKQorQ0ZMQUdTICs9IC1ESEFWRV9aTElCX0gKK2VuZGlmCitpZmVxICgkKFdJVEhfTFpNQSksMSkKK0NGTEFHUyArPSAtREhBVkVfTFpNQV9ICitlbmRpZgorCisjIFRoZSBsaW5rZXIgYW5kIGl0cyBvcHRpb25zLgorTEQgPSBnY2MuZXhlCitMREZMQUdTICs9IC1XbCwtLW1ham9yLWltYWdlLXZlcnNpb24sJChMSUJYTUxfTUFKT1JfVkVSU0lPTikKK0xERkxBR1MgKz0gLVdsLC0tbWlub3ItaW1hZ2UtdmVyc2lvbiwkKExJQlhNTF9NSU5PUl9WRVJTSU9OKQorTERGTEFHUyArPSAtV2wsLUwsJChCSU5ESVIpIC1XbCwtTCwkKExJQlBSRUZJWCkKK0xJQlMgPQoraWZlcSAoJChXSVRIX0ZUUCksMSkKK0NGTEFHUyArPSAtRF9XSU5TT0NLQVBJXworTElCUyArPSAtbHdzb2NrMzIgLWx3czJfMzIKK2VuZGlmIAoraWZlcSAoJChXSVRIX0hUVFApLDEpCitDRkxBR1MgKz0gLURfV0lOU09DS0FQSV8KK0xJQlMgKz0gLWx3c29jazMyIC1sd3MyXzMyCitlbmRpZiAKK2lmZXEgKCQoV0lUSF9JQ09OViksMSkKK0xJQlMgKz0gLWxpY29udgorZW5kaWYgCitpZmVxICgkKFdJVEhfWkxJQiksMSkKKyMgQ291bGQgYmUgbmFtZWQgZGlmZmVyZW50bHkKKyMgTElCUyArPSAtbHpkbGwKK0xJQlMgKz0gLWx6CitlbmRpZgoraWZlcSAoJChXSVRIX0xaTUEpLDEpCitMSUJTICs9IC1sbHptYQorZW5kaWYKK2lmZXEgKCQoV0lUSF9USFJFQURTKSxwb3NpeCkKK0xJQlMgKz0gLWxwdGhyZWFkR0MKK2VuZGlmCitpZmVxICgkKFdJVEhfTU9EVUxFUyksMSkKK0xJQlMgKz0gLWxrZXJuZWwzMgorZW5kaWYKKworTElCUyArPSAkKExJQikKKworIyBUaGUgYXJjaGl2ZXIgYW5kIGl0cyBvcHRpb25zLgorQVIgPSBhci5leGUKK0FSRkxBR1MgPSAtcgorCisjIE9wdGltaXNhdGlvbiBhbmQgZGVidWcgc3ltYm9scy4KK2lmZXEgKCQoREVCVUcpLDEpCitDRkxBR1MgKz0gLURfREVCVUcgLWcKK0xERkxBR1MgKz0gCitlbHNlCitDRkxBR1MgKz0gLUROREVCVUcgLU8yIAorTERGTEFHUyArPSAKK2VuZGlmCisKKworIyBMaWJ4bWwgb2JqZWN0IGZpbGVzLgorWE1MX09CSlMgPSAkKFhNTF9JTlRESVIpL2J1Zi5vXAorCSQoWE1MX0lOVERJUikvYzE0bi5vXAorCSQoWE1MX0lOVERJUikvY2F0YWxvZy5vXAorCSQoWE1MX0lOVERJUikvY2h2YWxpZC5vXAorCSQoWE1MX0lOVERJUikvZGVidWdYTUwub1wKKwkkKFhNTF9JTlRESVIpL2RpY3Qub1wKKwkkKFhNTF9JTlRESVIpL0RPQ0JwYXJzZXIub1wKKwkkKFhNTF9JTlRESVIpL2VuY29kaW5nLm9cCisJJChYTUxfSU5URElSKS9lbnRpdGllcy5vXAorCSQoWE1MX0lOVERJUikvZXJyb3Iub1wKKwkkKFhNTF9JTlRESVIpL2dsb2JhbHMub1wKKwkkKFhNTF9JTlRESVIpL2hhc2gub1wKKwkkKFhNTF9JTlRESVIpL0hUTUxwYXJzZXIub1wKKwkkKFhNTF9JTlRESVIpL0hUTUx0cmVlLm9cCisJJChYTUxfSU5URElSKS9sZWdhY3kub1wKKwkkKFhNTF9JTlRESVIpL2xpc3Qub1wKKwkkKFhNTF9JTlRESVIpL25hbm9mdHAub1wKKwkkKFhNTF9JTlRESVIpL25hbm9odHRwLm9cCisJJChYTUxfSU5URElSKS9wYXJzZXIub1wKKwkkKFhNTF9JTlRESVIpL3BhcnNlckludGVybmFscy5vXAorCSQoWE1MX0lOVERJUikvcGF0dGVybi5vXAorCSQoWE1MX0lOVERJUikvcmVsYXhuZy5vXAorCSQoWE1MX0lOVERJUikvU0FYLm9cCisJJChYTUxfSU5URElSKS9TQVgyLm9cCisJJChYTUxfSU5URElSKS9zY2hlbWF0cm9uLm9cCisJJChYTUxfSU5URElSKS90aHJlYWRzLm9cCisJJChYTUxfSU5URElSKS90cmVlLm9cCisJJChYTUxfSU5URElSKS91cmkub1wKKwkkKFhNTF9JTlRESVIpL3ZhbGlkLm9cCisJJChYTUxfSU5URElSKS94aW5jbHVkZS5vXAorCSQoWE1MX0lOVERJUikveGxpbmsub1wKKwkkKFhNTF9JTlRESVIpL3htbElPLm9cCisJJChYTUxfSU5URElSKS94bWxtZW1vcnkub1wKKwkkKFhNTF9JTlRESVIpL3htbHJlYWRlci5vXAorCSQoWE1MX0lOVERJUikveG1scmVnZXhwLm9cCisJJChYTUxfSU5URElSKS94bWxtb2R1bGUub1wKKwkkKFhNTF9JTlRESVIpL3htbHNhdmUub1wKKwkkKFhNTF9JTlRESVIpL3htbHNjaGVtYXMub1wKKwkkKFhNTF9JTlRESVIpL3htbHNjaGVtYXN0eXBlcy5vXAorCSQoWE1MX0lOVERJUikveG1sdW5pY29kZS5vXAorCSQoWE1MX0lOVERJUikveG1sd3JpdGVyLm9cCisJJChYTUxfSU5URElSKS94cGF0aC5vXAorCSQoWE1MX0lOVERJUikveHBvaW50ZXIub1wKKwkkKFhNTF9JTlRESVIpL3htbHN0cmluZy5vCisKK1hNTF9TUkNTID0gJChzdWJzdCAubywuYywkKHN1YnN0ICQoWE1MX0lOVERJUikvLCQoWE1MX1NSQ0RJUikvLCQoWE1MX09CSlMpKSkKKworIyBTdGF0aWMgbGlieG1sIG9iamVjdCBmaWxlcy4KK1hNTF9PQkpTX0EgPSAkKFhNTF9JTlRESVJfQSkvYnVmLm9cCisJJChYTUxfSU5URElSX0EpL2MxNG4ub1wKKwkkKFhNTF9JTlRESVJfQSkvY2F0YWxvZy5vXAorCSQoWE1MX0lOVERJUl9BKS9jaHZhbGlkLm9cCisJJChYTUxfSU5URElSX0EpL2RlYnVnWE1MLm9cCisJJChYTUxfSU5URElSX0EpL2RpY3Qub1wKKwkkKFhNTF9JTlRESVJfQSkvRE9DQnBhcnNlci5vXAorCSQoWE1MX0lOVERJUl9BKS9lbmNvZGluZy5vXAorCSQoWE1MX0lOVERJUl9BKS9lbnRpdGllcy5vXAorCSQoWE1MX0lOVERJUl9BKS9lcnJvci5vXAorCSQoWE1MX0lOVERJUl9BKS9nbG9iYWxzLm9cCisJJChYTUxfSU5URElSX0EpL2hhc2gub1wKKwkkKFhNTF9JTlRESVJfQSkvSFRNTHBhcnNlci5vXAorCSQoWE1MX0lOVERJUl9BKS9IVE1MdHJlZS5vXAorCSQoWE1MX0lOVERJUl9BKS9sZWdhY3kub1wKKwkkKFhNTF9JTlRESVJfQSkvbGlzdC5vXAorCSQoWE1MX0lOVERJUl9BKS9uYW5vZnRwLm9cCisJJChYTUxfSU5URElSX0EpL25hbm9odHRwLm9cCisJJChYTUxfSU5URElSX0EpL3BhcnNlci5vXAorCSQoWE1MX0lOVERJUl9BKS9wYXJzZXJJbnRlcm5hbHMub1wKKwkkKFhNTF9JTlRESVJfQSkvcGF0dGVybi5vXAorCSQoWE1MX0lOVERJUl9BKS9yZWxheG5nLm9cCisJJChYTUxfSU5URElSX0EpL1NBWC5vXAorCSQoWE1MX0lOVERJUl9BKS9TQVgyLm9cCisJJChYTUxfSU5URElSX0EpL3NjaGVtYXRyb24ub1wKKwkkKFhNTF9JTlRESVJfQSkvdGhyZWFkcy5vXAorCSQoWE1MX0lOVERJUl9BKS90cmVlLm9cCisJJChYTUxfSU5URElSX0EpL3VyaS5vXAorCSQoWE1MX0lOVERJUl9BKS92YWxpZC5vXAorCSQoWE1MX0lOVERJUl9BKS94aW5jbHVkZS5vXAorCSQoWE1MX0lOVERJUl9BKS94bGluay5vXAorCSQoWE1MX0lOVERJUl9BKS94bWxJTy5vXAorCSQoWE1MX0lOVERJUl9BKS94bWxtZW1vcnkub1wKKwkkKFhNTF9JTlRESVJfQSkveG1scmVhZGVyLm9cCisJJChYTUxfSU5URElSX0EpL3htbHJlZ2V4cC5vXAorCSQoWE1MX0lOVERJUl9BKS94bWxtb2R1bGUub1wKKwkkKFhNTF9JTlRESVJfQSkveG1sc2F2ZS5vXAorCSQoWE1MX0lOVERJUl9BKS94bWxzY2hlbWFzLm9cCisJJChYTUxfSU5URElSX0EpL3htbHNjaGVtYXN0eXBlcy5vXAorCSQoWE1MX0lOVERJUl9BKS94bWx1bmljb2RlLm9cCisJJChYTUxfSU5URElSX0EpL3htbHdyaXRlci5vXAorCSQoWE1MX0lOVERJUl9BKS94cGF0aC5vXAorCSQoWE1MX0lOVERJUl9BKS94cG9pbnRlci5vXAorCSQoWE1MX0lOVERJUl9BKS94bWxzdHJpbmcubworCitYTUxfU1JDU19BID0gJChzdWJzdCAubywuYywkKHN1YnN0ICQoWE1MX0lOVERJUl9BKS8sJChYTUxfU1JDRElSKS8sJChYTUxfT0JKU19BKSkpCisKKyMgWG1sbGludCBhbmQgZnJpZW5kcyBleGVjdXRhYmxlcy4KK1VUSUxTID0gJChCSU5ESVIpL3htbGxpbnQuZXhlXAorCSQoQklORElSKS94bWxjYXRhbG9nLmV4ZVwKKwkkKEJJTkRJUikvdGVzdEF1dG9tYXRhLmV4ZVwKKwkkKEJJTkRJUikvdGVzdEMxNE4uZXhlXAorCSQoQklORElSKS90ZXN0RG9jYm9vay5leGVcCisJJChCSU5ESVIpL3Rlc3RIVE1MLmV4ZVwKKwkkKEJJTkRJUikvdGVzdFJlYWRlci5leGVcCisJJChCSU5ESVIpL3Rlc3RSZWdleHAuZXhlXAorCSQoQklORElSKS90ZXN0TW9kdWxlLmV4ZVwKKwkkKEJJTkRJUikvdGVzdFJlbGF4LmV4ZVwKKwkkKEJJTkRJUikvdGVzdFNBWC5leGVcCisJJChCSU5ESVIpL3Rlc3RTY2hlbWFzLmV4ZVwKKwkkKEJJTkRJUikvdGVzdFVSSS5leGVcCisJJChCSU5ESVIpL3Rlc3RYUGF0aC5leGVcCisJJChCSU5ESVIpL3J1bnRlc3QuZXhlXAorCSQoQklORElSKS9ydW5zdWl0ZS5leGVcCisJJChCSU5ESVIpL3Rlc3RhcGkuZXhlXAorCSQoQklORElSKS90ZXN0bGltaXRzLmV4ZQorCitpZmVxICgkKFdJVEhfVEhSRUFEUykseWVzKQorVVRJTFMgKz0gJChCSU5ESVIpL3Rlc3RUaHJlYWRzV2luMzIuZXhlCitlbmRpZgoraWZlcSAoJChXSVRIX1RIUkVBRFMpLGN0bHMpIAorVVRJTFMgKz0gJChCSU5ESVIpL3Rlc3RUaHJlYWRzV2luMzIuZXhlCitlbmRpZgoraWZlcSAoJChXSVRIX1RIUkVBRFMpLG5hdGl2ZSkKK1VUSUxTICs9ICQoQklORElSKS90ZXN0VGhyZWFkc1dpbjMyLmV4ZQorZW5kaWYKK2lmZXEgKCQoV0lUSF9USFJFQURTKSxwb3NpeCkKK1VUSUxTICs9ICQoQklORElSKS90ZXN0VGhyZWFkcy5leGUKK2VuZGlmCisKK2FsbCA6IGRlcCBsaWJ4bWwgbGlieG1sYSB1dGlscworCitsaWJ4bWwgOiAkKEJJTkRJUikvJChYTUxfU08pIAorCitsaWJ4bWxhIDogJChCSU5ESVIpLyQoWE1MX0EpCisKK3V0aWxzIDogJChVVElMUykKKworY2xlYW4gOgorCWNtZC5leGUgL0MgImlmIGV4aXN0ICQoWE1MX0lOVERJUikgcm1kaXIgL1MgL1EgJChYTUxfSU5URElSKSIKKwljbWQuZXhlIC9DICJpZiBleGlzdCAkKFhNTF9JTlRESVJfQSkgcm1kaXIgL1MgL1EgJChYTUxfSU5URElSX0EpIgorCWNtZC5leGUgL0MgImlmIGV4aXN0ICQoVVRJTFNfSU5URElSKSBybWRpciAvUyAvUSAkKFVUSUxTX0lOVERJUikiCisJY21kLmV4ZSAvQyAiaWYgZXhpc3QgJChCSU5ESVIpIHJtZGlyIC9TIC9RICQoQklORElSKSIKKwljbWQuZXhlIC9DICJpZiBleGlzdCBkZXBlbmRzLm1pbmd3IGRlbCBkZXBlbmRzLm1pbmd3IgorCitkaXN0Y2xlYW4gOiBjbGVhbgorCWNtZC5leGUgL0MgImlmIGV4aXN0IGNvbmZpZy4qIGRlbCBjb25maWcuKiIKKwljbWQuZXhlIC9DICJpZiBleGlzdCBNYWtlZmlsZSBkZWwgTWFrZWZpbGUiCisKK3JlYnVpbGQgOiBjbGVhbiBhbGwKKworaW5zdGFsbC1saWJzIDogYWxsCisJY21kLmV4ZSAvQyAiaWYgbm90IGV4aXN0ICQoSU5DUFJFRklYKVxsaWJ4bWwyIG1rZGlyICQoSU5DUFJFRklYKVxsaWJ4bWwyIgorCWNtZC5leGUgL0MgImlmIG5vdCBleGlzdCAkKElOQ1BSRUZJWClcbGlieG1sMlxsaWJ4bWwgbWtkaXIgJChJTkNQUkVGSVgpXGxpYnhtbDJcbGlieG1sIgorCWNtZC5leGUgL0MgImlmIG5vdCBleGlzdCAkKEJJTlBSRUZJWCkgbWtkaXIgJChCSU5QUkVGSVgpIgorCWNtZC5leGUgL0MgImlmIG5vdCBleGlzdCAkKExJQlBSRUZJWCkgbWtkaXIgJChMSUJQUkVGSVgpIgorCWNtZC5leGUgL0MgImNvcHkgJChYTUxfU1JDRElSKVxpbmNsdWRlXGxpYnhtbFwqLmggJChJTkNQUkVGSVgpXGxpYnhtbDJcbGlieG1sIgorCWNtZC5leGUgL0MgImNvcHkgJChCSU5ESVIpXCQoWE1MX1NPKSAkKFNPUFJFRklYKSIKKwljbWQuZXhlIC9DICJjb3B5ICQoQklORElSKVwkKFhNTF9BKSAkKExJQlBSRUZJWCkiCisJY21kLmV4ZSAvQyAiY29weSAkKEJJTkRJUilcJChYTUxfSU1QKSAkKExJQlBSRUZJWCkiCisJY21kLmV4ZSAvQyAiY29weSAkKEJJTkRJUilceG1sKi5leGUgJChCSU5QUkVGSVgpIgorCitpbnN0YWxsIDogaW5zdGFsbC1saWJzCisJY21kLmV4ZSAvQyAiY29weSAkKEJJTkRJUilcKi5leGUgJChCSU5QUkVGSVgpIgorCitpbnN0YWxsLWRpc3QgOiBpbnN0YWxsLWxpYnMKKwljbWQuZXhlIC9DICJjb3B5ICQoQklORElSKVx4bWwqLmV4ZSAkKEJJTlBSRUZJWCkiCisKKyMgVGhpcyBpcyBhIHRhcmdldCBmb3IgbWUsIHRvIG1ha2UgYSBiaW5hcnkgZGlzdHJpYnV0aW9uLiBOb3QgZm9yIHRoZSBwdWJsaWMgdXNlLAorIyBrZWVwIHlvdXIgaGFuZHMgb2ZmIDotKQorQkRWRVJTSU9OID0gJChMSUJYTUxfTUFKT1JfVkVSU0lPTikuJChMSUJYTUxfTUlOT1JfVkVSU0lPTikuJChMSUJYTUxfTUlDUk9fVkVSU0lPTikKK0JEUFJFRklYID0gJChYTUxfQkFTRU5BTUUpLSQoQkRWRVJTSU9OKS53aW4zMgorYmluZGlzdCA6IGFsbAorCSQoTUFLRSkgUFJFRklYPSQoQkRQUkVGSVgpIFNPUFJFRklYPSQoQkRQUkVGSVgpL2JpbiBpbnN0YWxsLWRpc3QKKwljc2NyaXB0IC8vTm9Mb2dvIGNvbmZpZ3VyZS5qcyBnZW5yZWFkbWUgJChYTUxfQkFTRU5BTUUpICQoQkRWRVJTSU9OKSAkKEJEUFJFRklYKVxyZWFkbWUudHh0CisKKworIyBDcmVhdGVzIHRoZSBkZXBlbmRlbmN5IGZpbGUKK2RlcCA6CisJJChDQykgJChDRkxBR1MpIC1NICQoWE1MX1NSQ1MpID4gZGVwZW5kcy5taW5ndworCisKKyMgTWFrZXMgdGhlIG91dHB1dCBkaXJlY3RvcnkuCiskKEJJTkRJUikgOgorCWNtZC5leGUgL0MgaWYgbm90IGV4aXN0ICQoQklORElSKSBta2RpciAkKEJJTkRJUikKKworCisjIE1ha2VzIHRoZSBsaWJ4bWwgaW50ZXJtZWRpYXRlIGRpcmVjdG9yeS4KKyQoWE1MX0lOVERJUikgOgorCWNtZC5leGUgL0MgaWYgbm90IGV4aXN0ICQoWE1MX0lOVERJUikgbWtkaXIgJChYTUxfSU5URElSKQorCisjIE1ha2VzIHRoZSBzdGF0aWMgbGlieG1sIGludGVybWVkaWF0ZSBkaXJlY3RvcnkuCiskKFhNTF9JTlRESVJfQSkgOgorCWNtZC5leGUgL0MgaWYgbm90IGV4aXN0ICQoWE1MX0lOVERJUl9BKSBta2RpciAkKFhNTF9JTlRESVJfQSkKKworIyBBbiBpbXBsaWNpdCBydWxlIGZvciBsaWJ4bWwgY29tcGlsYXRpb24uCiskKFhNTF9JTlRESVIpLyUubyA6ICQoWE1MX1NSQ0RJUikvJS5jCisJJChDQykgJChDRkxBR1MpIC1vICRAIC1jICQ8CisKKyMgQW4gaW1wbGljaXQgcnVsZSBmb3Igc3RhdGljIGxpYnhtbCBjb21waWxhdGlvbi4KKyQoWE1MX0lOVERJUl9BKS8lLm8gOiAkKFhNTF9TUkNESVIpLyUuYworCSQoQ0MpICQoQ0ZMQUdTKSAtRExJQlhNTF9TVEFUSUMgLW8gJEAgLWMgJDwKKworCisjIENvbXBpbGVzIGxpYnhtbCBzb3VyY2UuIFVzZXMgdGhlIGltcGxpY2l0IHJ1bGUgZm9yIGNvbW1hbmRzLgorJChYTUxfT0JKUykgOiAkKFhNTF9JTlRESVIpCisKKyMgQ29tcGlsZXMgc3RhdGljIGxpYnhtbCBzb3VyY2UuIFVzZXMgdGhlIGltcGxpY2l0IHJ1bGUgZm9yIGNvbW1hbmRzLgorJChYTUxfT0JKU19BKSA6ICQoWE1MX0lOVERJUl9BKSAKKworIyBDcmVhdGVzIHRoZSBsaWJ4bWwgc2hhcmVkIG9iamVjdC4KK1hNTFNPX0xERkxBR1MgPSAkKExERkxBR1MpIC1zaGFyZWQgLVdsLC0tZGxsIC1XbCwtLW91dC1pbXBsaWIsJChCSU5ESVIpLyQoWE1MX0lNUCkKKyQoQklORElSKS8kKFhNTF9TTykgOiAkKEJJTkRJUikgJChYTUxfT0JKUykKKwkkKExEKSAkKFhNTFNPX0xERkxBR1MpIC1vICQoQklORElSKS8kKFhNTF9TTykgJChYTUxfT0JKUykgJChMSUJTKQorCisjIENyZWF0ZXMgdGhlIGxpYnhtbCBhcmNoaXZlLgorJChCSU5ESVIpLyQoWE1MX0EpIDogJChCSU5ESVIpICQoWE1MX09CSlNfQSkKKwkkKEFSKSAkKEFSRkxBR1MpICQoQklORElSKVwkKFhNTF9BKSAkKFhNTF9PQkpTX0EpCisKKworIyBNYWtlcyB0aGUgdXRpbHMgaW50ZXJtZWRpYXRlIGRpcmVjdG9yeS4KKyQoVVRJTFNfSU5URElSKSA6CisJY21kLmV4ZSAvQyBpZiBub3QgZXhpc3QgJChVVElMU19JTlRESVIpIG1rZGlyICQoVVRJTFNfSU5URElSKQorCisjIEFuIGltcGxpY2l0IHJ1bGUgZm9yIHhtbGxpbnQgYW5kIGZyaWVuZHMuCitpZmVxICgkKFNUQVRJQyksMSkKKyQoQklORElSKS8lLmV4ZSA6ICQoVVRJTFNfU1JDRElSKS8lLmMKKwkkKENDKSAtRExJQlhNTF9TVEFUSUMgJChDRkxBR1MpIC1vICQoc3Vic3QgLmMsLm8sJChVVElMU19JTlRESVIpLyQoPEYpKSAtYyAkPCAKKwkkKExEKSAkKExERkxBR1MpIC1vICRAICQoc3Vic3QgLmMsLm8sJChVVElMU19JTlRESVIpLyQoPEYpKSAtbCQoWE1MX0JBU0VOQU1FKSAkKExJQlMpIAorZWxzZQorJChCSU5ESVIpLyUuZXhlIDogJChVVElMU19TUkNESVIpLyUuYworCSQoQ0MpICQoQ0ZMQUdTKSAtbyAkKHN1YnN0IC5jLC5vLCQoVVRJTFNfSU5URElSKS8kKDxGKSkgLWMgJDwgCisJJChMRCkgJChMREZMQUdTKSAtbyAkQCAkKHN1YnN0IC5jLC5vLCQoVVRJTFNfSU5URElSKS8kKDxGKSkgLWwkKFhNTF9CQVNFTkFNRSkgJChMSUJTKSAKK2VuZGlmCisKKyMgQnVpbGRzIHhtbGxpbnQgYW5kIGZyaWVuZHMuIFVzZXMgdGhlIGltcGxpY2l0IHJ1bGUgZm9yIGNvbW1hbmRzLgorJChVVElMUykgOiAkKFVUSUxTX0lOVERJUikgJChCSU5ESVIpIGxpYnhtbCBsaWJ4bWxhCisKKyMgU291cmNlIGRlcGVuZGVuY2llcworIy1pbmNsdWRlIGRlcGVuZHMubWluZ3cKKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi93aW4zMi9NYWtlZmlsZS5tc3ZjIGIvbGlieG1sMi93aW4zMi9NYWtlZmlsZS5tc3ZjCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQxNmMxYTIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3dpbjMyL01ha2VmaWxlLm1zdmMKQEAgLTAsMCArMSw0ODkgQEAKKyMgTWFrZWZpbGUgZm9yIGxpYnhtbDIsIHNwZWNpZmljIGZvciBXaW5kb3dzLCBNU1ZDIGFuZCBOTUFLRS4KKyMKKyMgVGFrZSBhIGxvb2sgYXQgdGhlIGJlZ2lubmluZyBhbmQgbW9kaWZ5IHRoZSB2YXJpYWJsZXMgdG8gc3VpdCB5b3VyIAorIyBlbnZpcm9ubWVudC4gSGF2aW5nIGRvbmUgdGhhdCwgeW91IGNhbiBkbyBhCisjCisjIG5tYWtlIFthbGxdICAgICB0byBidWlsZCB0aGUgbGlieG1sIGFuZCB0aGUgYWNjb21wYW55aW5nIHV0aWxpdGllcy4KKyMgbm1ha2UgY2xlYW4gICAgIHRvIHJlbW92ZSBhbGwgY29tcGlsZXIgb3V0cHV0IGZpbGVzIGFuZCByZXR1cm4gdG8gYQorIyAgICAgICAgICAgICAgICAgY2xlYW4gc3RhdGUuCisjIG5tYWtlIHJlYnVpbGQgICB0byByZWJ1aWxkIGV2ZXJ5dGhpbmcgZnJvbSBzY3JhdGNoLiBUaGlzIGJhc2ljYWxseSBkb2VzCisjICAgICAgICAgICAgICAgICBhICdubWFrZSBjbGVhbicgYW5kIHRoZW4gYSAnbm1ha2UgYWxsJy4KKyMgbm1ha2UgaW5zdGFsbCAgIHRvIGluc3RhbGwgdGhlIGxpYnJhcnkgYW5kIGl0cyBoZWFkZXIgZmlsZXMuCisjCisjIE1hcmNoIDIwMDIsIElnb3IgWmxhdGtvdmljIDxpZ29yQHpsYXRrb3ZpYy5jb20+CisKKyMgVGhlcmUgc2hvdWxkIG5ldmVyIGJlIGEgbmVlZCB0byBtb2RpZnkgYW55dGhpbmcgYmVsb3cgdGhpcyBsaW5lLgorIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK0FVVE9DT05GID0gLlxjb25maWcubXN2YworIWluY2x1ZGUgJChBVVRPQ09ORikKKworIyBOYW1lcyBvZiB2YXJpb3VzIGlucHV0IGFuZCBvdXRwdXQgY29tcG9uZW50cy4KK1hNTF9OQU1FID0geG1sMgorWE1MX0JBU0VOQU1FID0gbGliJChYTUxfTkFNRSkKK1hNTF9TTyA9ICQoWE1MX0JBU0VOQU1FKS5kbGwKK1hNTF9JTVAgPSAkKFhNTF9CQVNFTkFNRSkubGliCitYTUxfREVGID0gJChYTUxfQkFTRU5BTUUpLmRlZgorWE1MX0EgPSAkKFhNTF9CQVNFTkFNRSlfYS5saWIKK1hNTF9BX0RMTCA9ICQoWE1MX0JBU0VOQU1FKV9hX2RsbC5saWIKKworIyBQbGFjZSB3aGVyZSB3ZSBsZXQgdGhlIGNvbXBpbGVyIHB1dCBpdHMgb3V0cHV0LgorQklORElSID0gYmluLm1zdmMKK1hNTF9JTlRESVIgPSBpbnQubXN2YworWE1MX0lOVERJUl9BID0gaW50LmEubXN2YworWE1MX0lOVERJUl9BX0RMTCA9IGludC5hLmRsbC5tc3ZjCitVVElMU19JTlRESVIgPSBpbnQudXRpbHMubXN2YworCisjIFRoZSBwcmVwcm9jZXNzb3IgYW5kIGl0cyBvcHRpb25zLgorQ1BQID0gY2wuZXhlIC9FUAorQ1BQRkxBR1MgPSAvbm9sb2dvIC9JJChYTUxfU1JDRElSKVxpbmNsdWRlIC9EICJOT0xJQlRPT0wiIAorIWlmICIkKFdJVEhfVEhSRUFEUykiICE9ICJubyIKK0NQUEZMQUdTID0gJChDUFBGTEFHUykgL0QgIl9SRUVOVFJBTlQiCishZW5kaWYKKworIyBUaGUgY29tcGlsZXIgYW5kIGl0cyBvcHRpb25zLgorQ0MgPSBjbC5leGUKK0NGTEFHUyA9IC9ub2xvZ28gL0QgIldJTjMyIiAvRCAiX1dJTkRPV1MiIC9EICJfTUJDUyIgL0QgIk5PTElCVE9PTCIgL1cxICQoQ1JVTlRJTUUpCitDRkxBR1MgPSAkKENGTEFHUykgL0kkKFhNTF9TUkNESVIpIC9JJChYTUxfU1JDRElSKVxpbmNsdWRlIC9JJChJTkNQUkVGSVgpCishaWYgIiQoV0lUSF9USFJFQURTKSIgIT0gIm5vIgorQ0ZMQUdTID0gJChDRkxBR1MpIC9EICJfUkVFTlRSQU5UIgorIWVuZGlmCishaWYgIiQoV0lUSF9USFJFQURTKSIgPT0gInllcyIgfHwgIiQoV0lUSF9USFJFQURTKSIgPT0gImN0bHMiCitDRkxBR1MgPSAkKENGTEFHUykgL0QgIkhBVkVfV0lOMzJfVEhSRUFEUyIgL0QgIkhBVkVfQ09NUElMRVJfVExTIgorIWVsc2UgaWYgIiQoV0lUSF9USFJFQURTKSIgPT0gIm5hdGl2ZSIKK0NGTEFHUyA9ICQoQ0ZMQUdTKSAvRCAiSEFWRV9XSU4zMl9USFJFQURTIgorIWVsc2UgaWYgIiQoV0lUSF9USFJFQURTKSIgPT0gInBvc2l4IgorQ0ZMQUdTID0gJChDRkxBR1MpIC9EICJIQVZFX1BUSFJFQURfSCIKKyFlbmRpZgorIWlmICIkKFdJVEhfWkxJQikiID09ICIxIgorQ0ZMQUdTID0gJChDRkxBR1MpIC9EICJIQVZFX1pMSUJfSCIKKyFlbmRpZgorIWlmICIkKFdJVEhfTFpNQSkiID09ICIxIgorQ0ZMQUdTID0gJChDRkxBR1MpIC9EICJIQVZFX0xaTUFfSCIKKyFlbmRpZgorQ0ZMQUdTID0gJChDRkxBR1MpIC9EX0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFIC9EX0NSVF9OT05TVERDX05PX0RFUFJFQ0FURQorCisjIFRoZSBsaW5rZXIgYW5kIGl0cyBvcHRpb25zLgorTEQgPSBsaW5rLmV4ZQorTERGTEFHUyA9IC9ub2xvZ28gL1ZFUlNJT046JChMSUJYTUxfTUFKT1JfVkVSU0lPTikuJChMSUJYTUxfTUlOT1JfVkVSU0lPTikKK0xERkxBR1MgPSAkKExERkxBR1MpIC9MSUJQQVRIOiQoQklORElSKSAvTElCUEFUSDokKExJQlBSRUZJWCkKK0xJQlMgPQorIWlmICIkKFdJVEhfRlRQKSIgPT0gIjEiIHx8ICIkKFdJVEhfSFRUUCkiID09ICIxIgorTElCUyA9ICQoTElCUykgd3NvY2szMi5saWIgd3MyXzMyLmxpYgorIWVuZGlmIAorIWlmICIkKFdJVEhfSUNPTlYpIiA9PSAiMSIKK0xJQlMgPSAkKExJQlMpIGljb252LmxpYgorIWVuZGlmIAorIWlmICIkKFdJVEhfSUNVKSIgPT0gIjEiCitMSUJTID0gJChMSUJTKSBpY3UubGliCishZW5kaWYKKyFpZiAiJChXSVRIX1pMSUIpIiA9PSAiMSIKKyMgY291bGQgYmUgbmFtZWQgZGlmZmVyZW50bHkgemRsbCBvciB6bGliCisjIExJQlMgPSAkKExJQlMpIHpkbGwubGliCitMSUJTID0gJChMSUJTKSB6bGliLmxpYgorIWVuZGlmCishaWYgIiQoV0lUSF9MWk1BKSIgPT0gIjEiCitMSUJTID0gJChMSUJTKSBsaWJsem1hLmxpYgorIWVuZGlmCishaWYgIiQoV0lUSF9USFJFQURTKSIgPT0gInBvc2l4IgorTElCUyA9ICQoTElCUykgcHRocmVhZFZDLmxpYgorIWVuZGlmCishaWYgIiQoV0lUSF9NT0RVTEVTKSIgPT0gIjEiCitMSUJTID0gJChMSUJTKSBrZXJuZWwzMi5saWIKKyFlbmRpZgorCisjIFRoZSBhcmNoaXZlciBhbmQgaXRzIG9wdGlvbnMuCitBUiA9IGxpYi5leGUKK0FSRkxBR1MgPSAvbm9sb2dvCisKKyMgT3B0aW1pc2F0aW9uIGFuZCBkZWJ1ZyBzeW1ib2xzLgorIWlmICIkKERFQlVHKSIgPT0gIjEiCitDRkxBR1MgPSAkKENGTEFHUykgL0QgIl9ERUJVRyIgL09kIC9aNworTERGTEFHUyA9ICQoTERGTEFHUykgL0RFQlVHCishZWxzZQorQ0ZMQUdTID0gJChDRkxBR1MpIC9EICJOREVCVUciIC9PMiAKKyMgY29tbWVudGVkIG91dCBhcyB0aGlzIGJyZWFrIFZDMTAgYy5mLiA2MzQ4NDYKKyMgTERGTEFHUyA9ICQoTERGTEFHUykgL09QVDpOT1dJTjk4CitMREZMQUdTID0gJChMREZMQUdTKQorIWVuZGlmCisKKyMgTGlieG1sIG9iamVjdCBmaWxlcy4KK1hNTF9PQkpTID0gJChYTUxfSU5URElSKVxidWYub2JqXAorCSQoWE1MX0lOVERJUilcYzE0bi5vYmpcCisJJChYTUxfSU5URElSKVxjYXRhbG9nLm9ialwKKwkkKFhNTF9JTlRESVIpXGNodmFsaWQub2JqXAorCSQoWE1MX0lOVERJUilcZGVidWdYTUwub2JqXAorCSQoWE1MX0lOVERJUilcZGljdC5vYmpcCisJJChYTUxfSU5URElSKVxET0NCcGFyc2VyLm9ialwKKwkkKFhNTF9JTlRESVIpXGVuY29kaW5nLm9ialwKKwkkKFhNTF9JTlRESVIpXGVudGl0aWVzLm9ialwKKwkkKFhNTF9JTlRESVIpXGVycm9yLm9ialwKKwkkKFhNTF9JTlRESVIpXGdsb2JhbHMub2JqXAorCSQoWE1MX0lOVERJUilcaGFzaC5vYmpcCisJJChYTUxfSU5URElSKVxIVE1McGFyc2VyLm9ialwKKwkkKFhNTF9JTlRESVIpXEhUTUx0cmVlLm9ialwKKwkkKFhNTF9JTlRESVIpXGxlZ2FjeS5vYmpcCisJJChYTUxfSU5URElSKVxsaXN0Lm9ialwKKwkkKFhNTF9JTlRESVIpXG5hbm9mdHAub2JqXAorCSQoWE1MX0lOVERJUilcbmFub2h0dHAub2JqXAorCSQoWE1MX0lOVERJUilccGFyc2VyLm9ialwKKwkkKFhNTF9JTlRESVIpXHBhcnNlckludGVybmFscy5vYmpcCisJJChYTUxfSU5URElSKVxwYXR0ZXJuLm9ialwKKwkkKFhNTF9JTlRESVIpXHJlbGF4bmcub2JqXAorCSQoWE1MX0lOVERJUilcU0FYMi5vYmpcCisJJChYTUxfSU5URElSKVxTQVgub2JqXAorCSQoWE1MX0lOVERJUilcc2NoZW1hdHJvbi5vYmpcCisJJChYTUxfSU5URElSKVx0aHJlYWRzLm9ialwKKwkkKFhNTF9JTlRESVIpXHRyZWUub2JqXAorCSQoWE1MX0lOVERJUilcdXJpLm9ialwKKwkkKFhNTF9JTlRESVIpXHZhbGlkLm9ialwKKwkkKFhNTF9JTlRESVIpXHhpbmNsdWRlLm9ialwKKwkkKFhNTF9JTlRESVIpXHhsaW5rLm9ialwKKwkkKFhNTF9JTlRESVIpXHhtbElPLm9ialwKKwkkKFhNTF9JTlRESVIpXHhtbG1lbW9yeS5vYmpcCisJJChYTUxfSU5URElSKVx4bWxyZWFkZXIub2JqXAorCSQoWE1MX0lOVERJUilceG1scmVnZXhwLm9ialwKKwkkKFhNTF9JTlRESVIpXHhtbG1vZHVsZS5vYmpcCisJJChYTUxfSU5URElSKVx4bWxzYXZlLm9ialwKKwkkKFhNTF9JTlRESVIpXHhtbHNjaGVtYXMub2JqXAorCSQoWE1MX0lOVERJUilceG1sc2NoZW1hc3R5cGVzLm9ialwKKwkkKFhNTF9JTlRESVIpXHhtbHVuaWNvZGUub2JqXAorCSQoWE1MX0lOVERJUilceG1sd3JpdGVyLm9ialwKKwkkKFhNTF9JTlRESVIpXHhwYXRoLm9ialwKKwkkKFhNTF9JTlRESVIpXHhwb2ludGVyLm9ialwKKwkkKFhNTF9JTlRESVIpXHhtbHN0cmluZy5vYmoKKworIyBTdGF0aWMgbGlieG1sIG9iamVjdCBmaWxlcy4KK1hNTF9PQkpTX0EgPSAkKFhNTF9JTlRESVJfQSlcYnVmLm9ialwKKwkkKFhNTF9JTlRESVJfQSlcYzE0bi5vYmpcCisJJChYTUxfSU5URElSX0EpXGNhdGFsb2cub2JqXAorCSQoWE1MX0lOVERJUl9BKVxjaHZhbGlkLm9ialwKKwkkKFhNTF9JTlRESVJfQSlcZGVidWdYTUwub2JqXAorCSQoWE1MX0lOVERJUl9BKVxkaWN0Lm9ialwKKwkkKFhNTF9JTlRESVJfQSlcRE9DQnBhcnNlci5vYmpcCisJJChYTUxfSU5URElSX0EpXGVuY29kaW5nLm9ialwKKwkkKFhNTF9JTlRESVJfQSlcZW50aXRpZXMub2JqXAorCSQoWE1MX0lOVERJUl9BKVxlcnJvci5vYmpcCisJJChYTUxfSU5URElSX0EpXGdsb2JhbHMub2JqXAorCSQoWE1MX0lOVERJUl9BKVxoYXNoLm9ialwKKwkkKFhNTF9JTlRESVJfQSlcSFRNTHBhcnNlci5vYmpcCisJJChYTUxfSU5URElSX0EpXEhUTUx0cmVlLm9ialwKKwkkKFhNTF9JTlRESVJfQSlcbGVnYWN5Lm9ialwKKwkkKFhNTF9JTlRESVJfQSlcbGlzdC5vYmpcCisJJChYTUxfSU5URElSX0EpXG5hbm9mdHAub2JqXAorCSQoWE1MX0lOVERJUl9BKVxuYW5vaHR0cC5vYmpcCisJJChYTUxfSU5URElSX0EpXHBhcnNlci5vYmpcCisJJChYTUxfSU5URElSX0EpXHBhcnNlckludGVybmFscy5vYmpcCisJJChYTUxfSU5URElSX0EpXHBhdHRlcm4ub2JqXAorCSQoWE1MX0lOVERJUl9BKVxyZWxheG5nLm9ialwKKwkkKFhNTF9JTlRESVJfQSlcU0FYMi5vYmpcCisJJChYTUxfSU5URElSX0EpXFNBWC5vYmpcCisJJChYTUxfSU5URElSX0EpXHNjaGVtYXRyb24ub2JqXAorCSQoWE1MX0lOVERJUl9BKVx0aHJlYWRzLm9ialwKKwkkKFhNTF9JTlRESVJfQSlcdHJlZS5vYmpcCisJJChYTUxfSU5URElSX0EpXHVyaS5vYmpcCisJJChYTUxfSU5URElSX0EpXHZhbGlkLm9ialwKKwkkKFhNTF9JTlRESVJfQSlceGluY2x1ZGUub2JqXAorCSQoWE1MX0lOVERJUl9BKVx4bGluay5vYmpcCisJJChYTUxfSU5URElSX0EpXHhtbElPLm9ialwKKwkkKFhNTF9JTlRESVJfQSlceG1sbWVtb3J5Lm9ialwKKwkkKFhNTF9JTlRESVJfQSlceG1scmVhZGVyLm9ialwKKwkkKFhNTF9JTlRESVJfQSlceG1scmVnZXhwLm9ialwKKwkkKFhNTF9JTlRESVJfQSlceG1sbW9kdWxlLm9ialwKKwkkKFhNTF9JTlRESVJfQSlceG1sc2F2ZS5vYmpcCisJJChYTUxfSU5URElSX0EpXHhtbHNjaGVtYXMub2JqXAorCSQoWE1MX0lOVERJUl9BKVx4bWxzY2hlbWFzdHlwZXMub2JqXAorCSQoWE1MX0lOVERJUl9BKVx4bWx1bmljb2RlLm9ialwKKwkkKFhNTF9JTlRESVJfQSlceG1sd3JpdGVyLm9ialwKKwkkKFhNTF9JTlRESVJfQSlceHBhdGgub2JqXAorCSQoWE1MX0lOVERJUl9BKVx4cG9pbnRlci5vYmpcCisJJChYTUxfSU5URElSX0EpXHhtbHN0cmluZy5vYmoKKworIyBTdGF0aWMgbGlieG1sIG9iamVjdCBmaWxlcy4KK1hNTF9PQkpTX0FfRExMID0gJChYTUxfSU5URElSX0FfRExMKVxidWYub2JqXAorCSQoWE1MX0lOVERJUl9BX0RMTClcYzE0bi5vYmpcCisJJChYTUxfSU5URElSX0FfRExMKVxjYXRhbG9nLm9ialwKKwkkKFhNTF9JTlRESVJfQV9ETEwpXGNodmFsaWQub2JqXAorCSQoWE1MX0lOVERJUl9BX0RMTClcZGVidWdYTUwub2JqXAorCSQoWE1MX0lOVERJUl9BX0RMTClcZGljdC5vYmpcCisJJChYTUxfSU5URElSX0FfRExMKVxET0NCcGFyc2VyLm9ialwKKwkkKFhNTF9JTlRESVJfQV9ETEwpXGVuY29kaW5nLm9ialwKKwkkKFhNTF9JTlRESVJfQV9ETEwpXGVudGl0aWVzLm9ialwKKwkkKFhNTF9JTlRESVJfQV9ETEwpXGVycm9yLm9ialwKKwkkKFhNTF9JTlRESVJfQV9ETEwpXGdsb2JhbHMub2JqXAorCSQoWE1MX0lOVERJUl9BX0RMTClcaGFzaC5vYmpcCisJJChYTUxfSU5URElSX0FfRExMKVxIVE1McGFyc2VyLm9ialwKKwkkKFhNTF9JTlRESVJfQV9ETEwpXEhUTUx0cmVlLm9ialwKKwkkKFhNTF9JTlRESVJfQV9ETEwpXGxlZ2FjeS5vYmpcCisJJChYTUxfSU5URElSX0FfRExMKVxsaXN0Lm9ialwKKwkkKFhNTF9JTlRESVJfQV9ETEwpXG5hbm9mdHAub2JqXAorCSQoWE1MX0lOVERJUl9BX0RMTClcbmFub2h0dHAub2JqXAorCSQoWE1MX0lOVERJUl9BX0RMTClccGFyc2VyLm9ialwKKwkkKFhNTF9JTlRESVJfQV9ETEwpXHBhcnNlckludGVybmFscy5vYmpcCisJJChYTUxfSU5URElSX0FfRExMKVxwYXR0ZXJuLm9ialwKKwkkKFhNTF9JTlRESVJfQV9ETEwpXHJlbGF4bmcub2JqXAorCSQoWE1MX0lOVERJUl9BX0RMTClcU0FYMi5vYmpcCisJJChYTUxfSU5URElSX0FfRExMKVxTQVgub2JqXAorCSQoWE1MX0lOVERJUl9BX0RMTClcc2NoZW1hdHJvbi5vYmpcCisJJChYTUxfSU5URElSX0FfRExMKVx0aHJlYWRzLm9ialwKKwkkKFhNTF9JTlRESVJfQV9ETEwpXHRyZWUub2JqXAorCSQoWE1MX0lOVERJUl9BX0RMTClcdXJpLm9ialwKKwkkKFhNTF9JTlRESVJfQV9ETEwpXHZhbGlkLm9ialwKKwkkKFhNTF9JTlRESVJfQV9ETEwpXHhpbmNsdWRlLm9ialwKKwkkKFhNTF9JTlRESVJfQV9ETEwpXHhsaW5rLm9ialwKKwkkKFhNTF9JTlRESVJfQV9ETEwpXHhtbElPLm9ialwKKwkkKFhNTF9JTlRESVJfQV9ETEwpXHhtbG1lbW9yeS5vYmpcCisJJChYTUxfSU5URElSX0FfRExMKVx4bWxyZWFkZXIub2JqXAorCSQoWE1MX0lOVERJUl9BX0RMTClceG1scmVnZXhwLm9ialwKKwkkKFhNTF9JTlRESVJfQV9ETEwpXHhtbG1vZHVsZS5vYmpcCisJJChYTUxfSU5URElSX0FfRExMKVx4bWxzYXZlLm9ialwKKwkkKFhNTF9JTlRESVJfQV9ETEwpXHhtbHNjaGVtYXMub2JqXAorCSQoWE1MX0lOVERJUl9BX0RMTClceG1sc2NoZW1hc3R5cGVzLm9ialwKKwkkKFhNTF9JTlRESVJfQV9ETEwpXHhtbHVuaWNvZGUub2JqXAorCSQoWE1MX0lOVERJUl9BX0RMTClceG1sd3JpdGVyLm9ialwKKwkkKFhNTF9JTlRESVJfQV9ETEwpXHhwYXRoLm9ialwKKwkkKFhNTF9JTlRESVJfQV9ETEwpXHhwb2ludGVyLm9ialwKKwkkKFhNTF9JTlRESVJfQV9ETEwpXHhtbHN0cmluZy5vYmoKKworIyBYbWxsaW50IGFuZCBmcmllbmRzIGV4ZWN1dGFibGVzLgorVVRJTFMgPSAkKEJJTkRJUilceG1sbGludC5leGVcCisJJChCSU5ESVIpXHhtbGNhdGFsb2cuZXhlXAorCSQoQklORElSKVx0ZXN0QXV0b21hdGEuZXhlXAorCSQoQklORElSKVx0ZXN0QzE0Ti5leGVcCisJJChCSU5ESVIpXHRlc3REb2Nib29rLmV4ZVwKKwkkKEJJTkRJUilcdGVzdEhUTUwuZXhlXAorCSQoQklORElSKVx0ZXN0UmVhZGVyLmV4ZVwKKwkkKEJJTkRJUilcdGVzdFJlbGF4LmV4ZVwKKwkkKEJJTkRJUilcdGVzdFJlZ2V4cC5leGVcCisJJChCSU5ESVIpXHRlc3RNb2R1bGUuZXhlXAorCSQoQklORElSKVx0ZXN0U0FYLmV4ZVwKKwkkKEJJTkRJUilcdGVzdFNjaGVtYXMuZXhlXAorCSQoQklORElSKVx0ZXN0VVJJLmV4ZVwKKwkkKEJJTkRJUilcdGVzdFhQYXRoLmV4ZVwKKwkkKEJJTkRJUilccnVudGVzdC5leGVcCisJJChCSU5ESVIpXHJ1bnN1aXRlLmV4ZVwKKwkkKEJJTkRJUilcdGVzdGFwaS5leGVcCisJJChCSU5ESVIpXHRlc3RsaW1pdHMuZXhlXAorCSQoQklORElSKVx0ZXN0cmVjdXJzZS5leGUKKwkKKyFpZiAiJChXSVRIX1RIUkVBRFMpIiA9PSAieWVzIiB8fCAiJChXSVRIX1RIUkVBRFMpIiA9PSAiY3RscyIgfHwgIiQoV0lUSF9USFJFQURTKSIgPT0gIm5hdGl2ZSIKK1VUSUxTID0gJChVVElMUykgJChCSU5ESVIpXHRlc3RUaHJlYWRzV2luMzIuZXhlCishZWxzZSBpZiAiJChXSVRIX1RIUkVBRFMpIiA9PSAicG9zaXgiCitVVElMUyA9ICQoVVRJTFMpICQoQklORElSKVx0ZXN0VGhyZWFkcy5leGUKKyFlbmRpZgorCishaWYgIiQoVkNNQU5JRkVTVCkiID09ICIxIgorX1ZDX01BTklGRVNUX0VNQkVEX0VYRT0gaWYgZXhpc3QgJEAubWFuaWZlc3QgbXQuZXhlIC1ub2xvZ28gLW1hbmlmZXN0ICRALm1hbmlmZXN0IC1vdXRwdXRyZXNvdXJjZTokQDsxCitfVkNfTUFOSUZFU1RfRU1CRURfRExMPSBpZiBleGlzdCAkQC5tYW5pZmVzdCBtdC5leGUgLW5vbG9nbyAtbWFuaWZlc3QgJEAubWFuaWZlc3QgLW91dHB1dHJlc291cmNlOiRAOzIKKyFlbHNlCitfVkNfTUFOSUZFU1RfRU1CRURfRVhFPQorX1ZDX01BTklGRVNUX0VNQkVEX0RMTD0KKyFlbmRpZgorCithbGwgOiBsaWJ4bWwgbGlieG1sYSBsaWJ4bWxhZGxsIHV0aWxzCisKK2xpYnhtbCA6ICQoQklORElSKVwkKFhNTF9TTykgCisKK2xpYnhtbGEgOiAkKEJJTkRJUilcJChYTUxfQSkKKworbGlieG1sYWRsbCA6ICQoQklORElSKVwkKFhNTF9BX0RMTCkKKwordXRpbHMgOiAkKFVUSUxTKQorCitjbGVhbiA6CisJaWYgZXhpc3QgJChYTUxfSU5URElSKSBybWRpciAvUyAvUSAkKFhNTF9JTlRESVIpCisJaWYgZXhpc3QgJChYTUxfSU5URElSX0EpIHJtZGlyIC9TIC9RICQoWE1MX0lOVERJUl9BKQorCWlmIGV4aXN0ICQoWE1MX0lOVERJUl9BX0RMTCkgcm1kaXIgL1MgL1EgJChYTUxfSU5URElSX0FfRExMKQorCWlmIGV4aXN0ICQoVVRJTFNfSU5URElSKSBybWRpciAvUyAvUSAkKFVUSUxTX0lOVERJUikKKwlpZiBleGlzdCAkKEJJTkRJUikgcm1kaXIgL1MgL1EgJChCSU5ESVIpCisKK2Rpc3RjbGVhbiA6IGNsZWFuCisJaWYgZXhpc3QgY29uZmlnLiogZGVsIGNvbmZpZy4qCisJaWYgZXhpc3QgTWFrZWZpbGUgZGVsIE1ha2VmaWxlCisKK3JlYnVpbGQgOiBjbGVhbiBhbGwKKworaW5zdGFsbC1saWJzIDogYWxsCisJaWYgbm90IGV4aXN0ICQoSU5DUFJFRklYKVxsaWJ4bWwyIG1rZGlyICQoSU5DUFJFRklYKVxsaWJ4bWwyCisJaWYgbm90IGV4aXN0ICQoSU5DUFJFRklYKVxsaWJ4bWwyXGxpYnhtbCBta2RpciAkKElOQ1BSRUZJWClcbGlieG1sMlxsaWJ4bWwKKwlpZiBub3QgZXhpc3QgJChCSU5QUkVGSVgpIG1rZGlyICQoQklOUFJFRklYKQorCWlmIG5vdCBleGlzdCAkKExJQlBSRUZJWCkgbWtkaXIgJChMSUJQUkVGSVgpCisJaWYgbm90IGV4aXN0ICQoU09QUkVGSVgpIG1rZGlyICQoU09QUkVGSVgpCisJY29weSAkKFhNTF9TUkNESVIpXGluY2x1ZGVcbGlieG1sXCouaCAkKElOQ1BSRUZJWClcbGlieG1sMlxsaWJ4bWwKKwljb3B5ICQoQklORElSKVwkKFhNTF9TTykgJChTT1BSRUZJWCkKKwljb3B5ICQoQklORElSKVwkKFhNTF9BKSAkKExJQlBSRUZJWCkKKwljb3B5ICQoQklORElSKVwkKFhNTF9BX0RMTCkgJChMSUJQUkVGSVgpCisJY29weSAkKEJJTkRJUilcJChYTUxfSU1QKSAkKExJQlBSRUZJWCkKKworaW5zdGFsbCA6IGluc3RhbGwtbGlicyAKKwljb3B5ICQoQklORElSKVwqLmV4ZSAkKEJJTlBSRUZJWCkKKwktY29weSAkKEJJTkRJUilcKi5wZGIgJChCSU5QUkVGSVgpCisKK2luc3RhbGwtZGlzdCA6IGluc3RhbGwtbGlicyAKKwljb3B5ICQoQklORElSKVx4bWwqLmV4ZSAkKEJJTlBSRUZJWCkKKwktY29weSAkKEJJTkRJUilceG1sKi5wZGIgJChCSU5QUkVGSVgpCisKKyMgVGhpcyBpcyBhIHRhcmdldCBmb3IgbWUsIHRvIG1ha2UgYSBiaW5hcnkgZGlzdHJpYnV0aW9uLiBOb3QgZm9yIHRoZSBwdWJsaWMgdXNlLAorIyBrZWVwIHlvdXIgaGFuZHMgb2ZmIDotKQorQkRWRVJTSU9OID0gJChMSUJYTUxfTUFKT1JfVkVSU0lPTikuJChMSUJYTUxfTUlOT1JfVkVSU0lPTikuJChMSUJYTUxfTUlDUk9fVkVSU0lPTikKK0JEUFJFRklYID0gJChYTUxfQkFTRU5BTUUpLSQoQkRWRVJTSU9OKS53aW4zMgorYmluZGlzdCA6IGFsbAorCSQoTUFLRSkgL25vbG9nbyBQUkVGSVg9JChCRFBSRUZJWCkgU09QUkVGSVg9JChCRFBSRUZJWClcYmluIGluc3RhbGwtZGlzdAorCWNzY3JpcHQgLy9Ob0xvZ28gY29uZmlndXJlLmpzIGdlbnJlYWRtZSAkKFhNTF9CQVNFTkFNRSkgJChCRFZFUlNJT04pICQoQkRQUkVGSVgpXHJlYWRtZS50eHQKKworCisjIE1ha2VzIHRoZSBvdXRwdXQgZGlyZWN0b3J5LgorJChCSU5ESVIpIDoKKwlpZiBub3QgZXhpc3QgJChCSU5ESVIpIG1rZGlyICQoQklORElSKQorCisKKyMgTWFrZXMgdGhlIGxpYnhtbCBpbnRlcm1lZGlhdGUgZGlyZWN0b3J5LgorJChYTUxfSU5URElSKSA6CisJaWYgbm90IGV4aXN0ICQoWE1MX0lOVERJUikgbWtkaXIgJChYTUxfSU5URElSKQorCisjIE1ha2VzIHRoZSBzdGF0aWMgbGlieG1sIGludGVybWVkaWF0ZSBkaXJlY3RvcnkuCiskKFhNTF9JTlRESVJfQSkgOgorCWlmIG5vdCBleGlzdCAkKFhNTF9JTlRESVJfQSkgbWtkaXIgJChYTUxfSU5URElSX0EpCisKKyMgTWFrZXMgdGhlIHN0YXRpYyBmb3IgZGxsIGxpYnhtbCBpbnRlcm1lZGlhdGUgZGlyZWN0b3J5LgorJChYTUxfSU5URElSX0FfRExMKSA6CisJaWYgbm90IGV4aXN0ICQoWE1MX0lOVERJUl9BX0RMTCkgbWtkaXIgJChYTUxfSU5URElSX0FfRExMKQorCisjIEFuIGltcGxpY2l0IHJ1bGUgZm9yIGxpYnhtbCBjb21waWxhdGlvbi4KK3skKFhNTF9TUkNESVIpfS5jeyQoWE1MX0lOVERJUil9Lm9iajo6CisJJChDQykgJChDRkxBR1MpIC9GbyQoWE1MX0lOVERJUilcIC9jICQ8CisKKyMgQW4gaW1wbGljaXQgcnVsZSBmb3Igc3RhdGljIGxpYnhtbCBjb21waWxhdGlvbi4KK3skKFhNTF9TUkNESVIpfS5jeyQoWE1MX0lOVERJUl9BKX0ub2JqOjoKKwkkKENDKSAkKENGTEFHUykgL0QgIkxJQlhNTF9TVEFUSUMiIC9GbyQoWE1MX0lOVERJUl9BKVwgL2MgJDwKKworIyBBbiBpbXBsaWNpdCBydWxlIGZvciBzdGF0aWMgZm9yIGRsbCBsaWJ4bWwgY29tcGlsYXRpb24uCit7JChYTUxfU1JDRElSKX0uY3skKFhNTF9JTlRESVJfQV9ETEwpfS5vYmo6OgorCSQoQ0MpICQoQ0ZMQUdTKSAvRCAiTElCWE1MX1NUQVRJQyIgL0QgIkxJQlhNTF9TVEFUSUNfRk9SX0RMTCIgL0ZvJChYTUxfSU5URElSX0FfRExMKVwgL2MgJDwKKworIyBDb21waWxlcyBsaWJ4bWwgc291cmNlLiBVc2VzIHRoZSBpbXBsaWNpdCBydWxlIGZvciBjb21tYW5kcy4KKyQoWE1MX09CSlMpIDogJChYTUxfSU5URElSKSAKKworIyBDb21waWxlcyBzdGF0aWMgbGlieG1sIHNvdXJjZS4gVXNlcyB0aGUgaW1wbGljaXQgcnVsZSBmb3IgY29tbWFuZHMuCiskKFhNTF9PQkpTX0EpIDogJChYTUxfSU5URElSX0EpIAorCisjIENvbXBpbGVzIHN0YXRpYyBmb3IgZGxsIGxpYnhtbCBzb3VyY2UuIFVzZXMgdGhlIGltcGxpY2l0IHJ1bGUgZm9yIGNvbW1hbmRzLgorJChYTUxfT0JKU19BX0RMTCkgOiAkKFhNTF9JTlRESVJfQV9ETEwpIAorCisjIENyZWF0ZXMgdGhlIGV4cG9ydCBkZWZpbml0aW9uIGZpbGUgKERFRikgZm9yIGxpYnhtbC4KKyQoWE1MX0lOVERJUilcJChYTUxfREVGKSA6ICQoWE1MX0lOVERJUikgJChYTUxfREVGKS5zcmMKKwkkKENQUCkgJChDUFBGTEFHUykgJChYTUxfREVGKS5zcmMgPiAkKFhNTF9JTlRESVIpXCQoWE1MX0RFRikKKworIyBDcmVhdGVzIHRoZSBsaWJ4bWwgc2hhcmVkIG9iamVjdC4KKyQoQklORElSKVwkKFhNTF9TTykgOiAkKEJJTkRJUikgJChYTUxfT0JKUykgJChYTUxfSU5URElSKVwkKFhNTF9ERUYpCisJJChMRCkgJChMREZMQUdTKSAvRExMIFwKKwkJL0lNUExJQjokKEJJTkRJUilcJChYTUxfSU1QKSAvT1VUOiQoQklORElSKVwkKFhNTF9TTykgJChYTUxfT0JKUykgJChMSUJTKQorCUAkKF9WQ19NQU5JRkVTVF9FTUJFRF9ETEwpCisKKyMkKEJJTkRJUilcJChYTUxfU08pIDogJChCSU5ESVIpICQoWE1MX09CSlMpICQoWE1MX0lOVERJUilcJChYTUxfREVGKQorIwkkKExEKSAkKExERkxBR1MpIC9ETEwgL0RFRjokKFhNTF9JTlRESVIpXCQoWE1MX0RFRikgXAorIwkJL0lNUExJQjokKEJJTkRJUilcJChYTUxfSU1QKSAvT1VUOiQoQklORElSKVwkKFhNTF9TTykgJChYTUxfT0JKUykgJChMSUJTKQorCisjIENyZWF0ZXMgdGhlIGxpYnhtbCBhcmNoaXZlLgorJChCSU5ESVIpXCQoWE1MX0EpIDogJChCSU5ESVIpICQoWE1MX09CSlNfQSkKKwkkKEFSKSAkKEFSRkxBR1MpIC9PVVQ6JChCSU5ESVIpXCQoWE1MX0EpICQoWE1MX09CSlNfQSkKKworIyBDcmVhdGVzIHRoZSBsaWJ4bWwgc3RhdGljIGZvciBkbGwgYXJjaGl2ZS4KKyQoQklORElSKVwkKFhNTF9BX0RMTCkgOiAkKEJJTkRJUikgJChYTUxfT0JKU19BX0RMTCkKKwkkKEFSKSAkKEFSRkxBR1MpIC9PVVQ6JChCSU5ESVIpXCQoWE1MX0FfRExMKSAkKFhNTF9PQkpTX0FfRExMKQorCisjIE1ha2VzIHRoZSB1dGlscyBpbnRlcm1lZGlhdGUgZGlyZWN0b3J5LgorJChVVElMU19JTlRESVIpIDoKKwlpZiBub3QgZXhpc3QgJChVVElMU19JTlRESVIpIG1rZGlyICQoVVRJTFNfSU5URElSKQorCisjIEFuIGltcGxpY2l0IHJ1bGUgZm9yIHhtbGxpbnQgYW5kIGZyaWVuZHMuCishaWYgIiQoU1RBVElDKSIgPT0gIjEiCit7JChVVElMU19TUkNESVIpfS5jeyQoQklORElSKX0uZXhlOgorCSQoQ0MpIC9EICJMSUJYTUxfU1RBVElDIiAkKENGTEFHUykgL0ZvJChVVElMU19JTlRESVIpXCAvYyAkPCAKKwkkKExEKSAkKExERkxBR1MpIC9PVVQ6JEAgJChYTUxfQSkgJChMSUJTKSAkKFVUSUxTX0lOVERJUilcJCg8Qikub2JqCisJQCQoX1ZDX01BTklGRVNUX0VNQkVEX0VYRSkKKyFlbHNlCit7JChVVElMU19TUkNESVIpfS5jeyQoQklORElSKX0uZXhlOgorCSQoQ0MpICQoQ0ZMQUdTKSAvRm8kKFVUSUxTX0lOVERJUilcIC9jICQ8IAorCSQoTEQpICQoTERGTEFHUykgL09VVDokQCAkKFhNTF9JTVApICQoTElCUykgJChVVElMU19JTlRESVIpXCQoPEIpLm9iagorCUAkKF9WQ19NQU5JRkVTVF9FTUJFRF9FWEUpCishZW5kaWYKKworIyBCdWlsZHMgeG1sbGludCBhbmQgZnJpZW5kcy4gVXNlcyB0aGUgaW1wbGljaXQgcnVsZSBmb3IgY29tbWFuZHMuCiskKFVUSUxTKSA6ICQoVVRJTFNfSU5URElSKSAkKEJJTkRJUikgbGlieG1sIGxpYnhtbGEgbGlieG1sYWRsbAorCisjIFNvdXJjZSBkZXBlbmRlbmNlcyBzaG91bGQgYmUgYXV0b2dlbmVyYXRlZCBzb21laG93IGhlcmUsIGJ1dCBob3cgdG8KKyMgZG8gaXQ/IEkgaGF2ZSBubyBjbHVlLgorCisjIFRFU1RTCisKK3Rlc3RzIDogY2hlY2t0ZXN0cyBYUGF0aHRlc3RzCisKK2NoZWNrdGVzdHMgOiAkKFVUSUxTKQorCWNkIC4uICYmIHdpbjMyXCQoQklORElSKVxydW50ZXN0LmV4ZQorCWNkIC4uICYmIHdpbjMyXCQoQklORElSKVx0ZXN0cmVjdXJzZS5leGUKKwljZCAuLiAmJiB3aW4zMlwkKEJJTkRJUilcdGVzdGFwaS5leGUKKwljZCAuLiAmJiB3aW4zMlwkKEJJTkRJUilcdGVzdGNoYXIuZXhlCisJY2QgLi4gJiYgd2luMzJcJChCSU5ESVIpXHRlc3RkaWN0LmV4ZQorCWNkIC4uICYmIHdpbjMyXCQoQklORElSKVxydW54bWxjb25mLmV4ZQorCitYUGF0aHRlc3RzIDogJChCSU5ESVIpXHRlc3RYUGF0aC5leGUKKwlAZWNoby4gMj4gLm1lbWR1bXAKKwlAZWNobyAjIyBYUGF0aCByZWdyZXNzaW9uIHRlc3RzCisJQC0kKEJJTkRJUilcdGVzdFhQYXRoLmV4ZSB8IGZpbmQgL0MgInN1cHBvcnQgbm90IGNvbXBpbGVkIGluIiAxPm51bAorCUBpZiAlRVJST1JMRVZFTCUgTkVRIDAgQCggXAorCQllY2hvIFNraXBwaW5nIGRlYnVnIG5vdCBjb21waWxlZCBpblwKKwkJQGV4aXQgMCBcCisJKQorCUBmb3IgJSVJIGluICgkKFhNTF9TUkNESVIpXHRlc3RcWFBhdGhcZXhwclwqLiopIGRvIEAoIFwKKwkJQElGIE5PVCBFWElTVCAkKFhNTF9TUkNESVIpXHJlc3VsdFxYUGF0aFxleHByXCUlfm54SSAoIFwKKwkJCUBlY2hvIE5ldyB0ZXN0ICUlfm54SSAmJlwKKwkJCUBlY2hvICUlfm54SSAmJlwKKwkJCSQoQklORElSKVx0ZXN0WFBhdGguZXhlIC1mIC0tZXhwciAlJUkgPiAkKFhNTF9TUkNESVIpL3Jlc3VsdC9YUGF0aC9leHByLyUlfm54SSAmJlwKKwkJCWZpbmRzdHIgL0M6Ik1FTU9SWSBBTExPQ0FURUQgOiAwIiBcCisJCSkgRUxTRSAoIFwKKwkJCSQoQklORElSKVx0ZXN0WFBhdGguZXhlIC1mIC0tZXhwciAlJUkgMj4mMSA+IHJlc3VsdC4lJX5ueEkgJiZcCisJCQlmYyAkKFhNTF9TUkNESVIpXHJlc3VsdFxYUGF0aFxleHByXCUlfm54SSByZXN1bHQuJSV+bnhJID5udWwgJlwKKwkJCWlGIEVSUk9STEVWRUwgMSBleGl0IDEgJiBcCisJCQlmaW5kc3RyICJNRU1PUlkgQUxMT0NBVEVEIiAubWVtZHVtcCB8IGZpbmRzdHIgL0M6Ik1FTU9SWSBBTExPQ0FURUQgOiAwIiA+bnVsICYmXAorCQkJZGVsIHJlc3VsdC4lJX5ueEkgXAorCQkpIFwKKwkpCisJQGZvciAlJUkgaW4gKCQoWE1MX1NSQ0RJUilcdGVzdFxYUGF0aFxkb2NzXCouKikgZG8gQCggXAorCQlmb3IgJSVKIGluICgkKFhNTF9TUkNESVIpXHRlc3RcWFBhdGhcdGVzdHNcJSV+bnhJKi4qKSBkbyBAKCBcCisJCQlpZiBub3QgZXhpc3QgJChYTUxfU1JDRElSKVxyZXN1bHRcWFBhdGhcdGVzdHNcJSV+bnhKICggXAorCQkJCSQoQklORElSKVx0ZXN0WFBhdGguZXhlIC1mIC1pICUlSSAlJUogPiAkKFhNTF9TUkNESVIpXHJlc3VsdFxYUGF0aFx0ZXN0c1wlJX5ueEogJiZcCisJCQkJZmluZHN0ciAvQzoiTUVNT1JZIEFMTE9DQVRFRCIgLm1lbWR1bXAgfCBmaW5kc3RyIC9DOiJNRU1PUlkgQUxMT0NBVEVEIDogMCIgPiBudWwgXAorCQkJKSBFTFNFICggXAorCQkJCSQoQklORElSKVx0ZXN0WFBBdGguZXhlIC1mIC1pICUlSSAlJUogMj4mMSA+IHJlc3VsdC4lJX5ueEogJiZcCisJCQkJZmluZHN0ciAvQzoiTUVNT1JZIEFMTE9DQVRFRCIgLm1lbWR1bXAgfCBmaW5kc3RyIC9DOiJNRU1PUlkgQUxMT0NBVEVEIDogMCI+bnVsbCAmJlwKKwkJCQlmYyAkKFhNTF9TUkNESVIpXHJlc3VsdFxYUGF0aFx0ZXN0c1wlJX5ueEogcmVzdWx0LiUlfm54SiA+bnVsbCAmIFwKKwkJCQlJRiBFUlJPUkxFVkVMIDEgKGVjaG8gRXJyb3I6ICUlSSAlJUogJiBleGl0IDEpICYgXAorCQkJCWRlbCByZXN1bHQuJSV+bnhKIFwKKwkJCSlcCisJCSlcCisJKQorCitYTUx0ZXN0cyA6ICQoQklORElSKVx4bWxsaW50LmV4ZQorCUBlY2hvLiAyPiAubWVtZHVtcAorCUBlY2hvICMjIFhNTCByZWdyZXNzaW9uIHRlc3RzCisJLUBmb3IgJSVJIGluICgkKFhNTF9TUkNESVIpXHRlc3RcKikgZG8gQCggXAorCQlpZiBub3QgZXhpc3QgJChYTUxfU1JDRElSKVxyZXN1bHRcJSV+bnhJICggXAorCQkJZWNobyBOZXcgdGVzdCBmaWxlICUlfm54SSAmXAorCQkJJChCSU5ESVIpXHhtbGxpbnQuZXhlICAlJUkgPiAkKFhNTF9TUkNESVIpXHJlc3VsdFwlJX5ueEkgJiYgXAorCQkJZmluZHN0ciAvQzoiTUVNT1JZIEFMTE9DQVRFRCIgLm1lbWR1bXAgfCBmaW5kc3RyIC9DOiJNRU1PUlkgQUxMT0NBVEVEIDogMCIgPiBudWxsIFwKKwkJKSBFTFNFICggXAorCQkJJChCSU5ESVIpXHhtbGxpbnQuZXhlICUlSSAyPiYxID4gcmVzdWx0LiUlfm54SSAmJiBcCisJCQlmaW5kc3RyIC9DOiJNRU1PUlkgQUxMT0MiIC5tZW1kdW1wIHwgZmluZHN0ciAvQzoiTUVNT1JZIEFMTE9DQVRFRCA6IDAiID4gbnVsbCAmJiBcCisJCQlmYyAkKFhNTF9TUkNESVIpXHJlc3VsdFwlJX5ueEkgcmVzdWx0LiUlfm54SSA+IG51bGwgJiYgXAorCQkJJChCSU5ESVIpXHhtbGxpbnQuZXhlIHJlc3VsdC4lJX5ueEkgMj4mMSA+IHJlc3VsdDIuJSV+bnhJIHwgZmluZHN0ciAvViAvQzoiZmFpbGVkIHRvIGxvYWQgZXh0ZXJuYWwgZW50aXR5IiAmJiBcCisJCQlmYyByZXN1bHQuJSV+bnhJIHJlc3VsdDIuJSV+bnhJICYgXAorCQkJZGVsIHJlc3VsdC4lJX5ueEkgcmVzdWx0Mi4lJX5ueElcCisJCSkgXAorCSkJCisKKwkJCQkKKworCisKKwkKZGlmZiAtLWdpdCBhL2xpYnhtbDIvd2luMzIvUmVhZG1lLnR4dCBiL2xpYnhtbDIvd2luMzIvUmVhZG1lLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YjNlZGRkCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi93aW4zMi9SZWFkbWUudHh0CkBAIC0wLDAgKzEsMjI2IEBACisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2luZG93cyBwb3J0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgID09PT09PT09PT09PQorCitUaGlzIGRpcmVjdG9yeSBjb250YWlucyB0aGUgZmlsZXMgcmVxdWlyZWQgdG8gYnVpbGQgdGhpcyBzb2Z0d2FyZSBvbiB0aGUKK25hdGl2ZSBXaW5kb3dzIHBsYXRmb3JtLiBUaGlzIGlzIG5vdCBhIHBsYWNlIHRvIGxvb2sgZm9yIGhlbHAgaWYgeW91IGFyZQordXNpbmcgYSBQT1NJWCBlbXVsYXRvciwgc3VjaCBhcyBDeWd3aW4uIENoZWNrIHRoZSBVbml4IGluc3RydWN0aW9ucyBmb3IgCit0aGF0LgorCisKKworQ09OVEVOVFMKKz09PT09PT09CisKKzEuIEdlbmVyYWwKKyAgIDEuMSBCdWlsZGluZyBGcm9tIHRoZSBDb21tYW5kLUxpbmUKKyAgIDEuMiBDb25maWd1cmluZyBUaGUgU291cmNlCisgICAxLjMgQ29tcGlsaW5nCisgICAxLjQgSW5zdGFsbGluZworCisyLiBDb21waWxlciBTcGVjaWZpY3MKKyAgIDIuMSBNaWNyb3NvZnQgVmlzdWFsIEMvQysrCisgICAyLjEgR05VIEMvQysrLCBNaW5ndyBFZGl0aW9uCisgICAyLjIgQm9ybGFuZCBDKysgQnVpbGRlcgorICAgICAgIDIuMi4xIEJ1aWxkaW5nIHdpdGggaWNvbnYgc3VwcG9ydAorCSAgIDIuMi4yIENvbXBhdGFiaWxpdHkgcHJvYmxlbXMgd2l0aCBNU1ZDIChhbmQgcHJvYmFibHkgQ1lHV0lOKQorCSAgIDIuMi4zIE90aGVyIGNhdmVhdHMKKworCisKKworMS4gR2VuZXJhbAorPT09PT09PT09PQorCisKKzEuMSBCdWlsZGluZyBGcm9tIFRoZSBDb21tYW5kLUxpbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworVGhpcyBpcyB0aGUgZWFzaWVzdCwgcHJlZmVycmVkIGFuZCBjdXJyZW50bHkgc3VwcG9ydGVkIG1ldGhvZC4gSXQgY2FuCitiZSB0aGF0IGEgc3ViZGlyZWN0b3J5IG9mIHRoZSBkaXJlY3Rvcnkgd2hlcmUgdGhpcyBmaWxlIHJlc2lkZXMgCitjb250YWlucyBwcm9qZWN0IGZpbGVzIGZvciBzb21lIElERS4gSWYgeW91IHdhbnQgdG8gdXNlIHRoYXQsIHBsZWFzZQorcmVmZXIgdG8gdGhlIHJlYWRtZSBmaWxlIHdpdGhpbiB0aGF0IHN1YmRpcmVjdG9yeS4KKworSW4gb3JkZXIgdG8gYnVpbGQgZnJvbSB0aGUgY29tbWFuZC1saW5lIHlvdSBuZWVkIHRvIG1ha2Ugc3VyZSB0aGF0Cit5b3VyIGNvbXBpbGVyIHdvcmtzIGZyb20gdGhlIGNvbW1hbmQgbGluZS4gVGhpcyBpcyBub3QgYWx3YXlzIHRoZQorY2FzZSwgb2Z0ZW4gdGhlIHJlcXVpcmVkIGVudmlyb25tZW50IHZhcmlhYmxlcyBhcmUgbWlzc2luZy4gSWYgeW91IGFyZQorbm90IHN1cmUsIHRlc3QgaWYgdGhpcyB3b3JrcyBmaXJzdC4gSWYgaXQgZG9lc24ndCwgeW91IHdpbGwgZmlyc3QgaGF2ZQordG8gY29uZmlndXJlIHlvdXIgY29tcGlsZXIgc3VpdGUgdG8gcnVuIGZyb20gdGhlIGNvbW1hbmQtbGluZSAtIHBsZWFzZQorcmVmZXIgdG8geW91ciBjb21waWxlcidzIGRvY3VtZW50YXRpb24gcmVnYXJkaW5nIHRoYXQuCisKK1RoZSBmaXJzdCB0aGluZyB5b3Ugd2FudCB0byBkbyBpcyBjb25maWd1cmUgdGhlIHNvdXJjZS4gWW91IGNhbiBoYXZlCit0aGUgY29uZmlndXJhdGlvbiBzY3JpcHQgZG8gdGhpcyBhdXRvbWF0aWNhbGx5IGZvciB5b3UuIFRoZQorY29uZmlndXJhdGlvbiBzY3JpcHQgaXMgd3JpdHRlbiBpbiBKU2NyaXB0LCBhIE1pY3Jvc29mdCdzCitpbXBsZW1lbnRhdGlvbiBvZiB0aGUgRUNNQSBzY3JpcHRpbmcgbGFuZ3VhZ2UuIEFsbW9zdCBldmVyeSBXaW5kb3dzCittYWNoaW5lIGNhbiBleGVjdXRlIHRoaXMgdGhyb3VnaCB0aGUgV2luZG93cyBTY3JpcHRpbmcgSG9zdC4gSWYgeW91cgorc3lzdGVtIGxhY2tzIHRoZSBhYmlsaXR5IHRvIGV4ZWN1dGUgSlNjcmlwdCBmb3Igc29tZSByZWFzb24sIHlvdSBtdXN0CitwZXJmb3JtIHRoZSBjb25maWd1cmF0aW9uIG1hbnVhbGx5IGFuZCB5b3UgYXJlIG9uIHlvdXIgb3duIHdpdGggdGhhdC4KKworVGhlIHNlY29uZCBzdGVwIGlzIGNvbXBpbGluZyB0aGUgc291cmNlIGFuZCwgb3B0aW9uYWxseSwgaW5zdGFsbGluZyBpdAordG8gdGhlIGxvY2F0aW9uIG9mIHlvdXIgY2hvb3NpbmcuCisKKworMS4yIENvbmZpZ3VyaW5nIFRoZSBTb3VyY2UKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK1RoZSBjb25maWd1cmF0aW9uIHNjcmlwdCBhY2NlcHRzIG51bWVyb3VzIG9wdGlvbnMuIFNvbWUgb2YgdGhlc2UKK2FmZmVjdCBmZWF0dXJlcyB3aGljaCB3aWxsIGJlIGF2YWlsYWJsZSBpbiB0aGUgY29tcGlsZWQgc29mdHdhcmUsCitvdGhlcnMgYWZmZWN0IHRoZSB3YXkgdGhlIHNvZnR3YXJlIGlzIGJ1aWx0IGFuZCBpbnN0YWxsZWQuIFRvIHNlZSBhCitmdWxsIGxpc3Qgb2Ygb3B0aW9ucyBzdXBwb3J0ZWQgYnkgdGhlIGNvbmZpZ3VyYXRpb24gc2NyaXB0LCBydW4KKworICBjc2NyaXB0IGNvbmZpZ3VyZS5qcyBoZWxwCisKK2Zyb20gdGhlIHdpbjMyIHN1YmRpcmVjdG9yeS4gVGhlIGNvbmZpZ3VyYXRpb24gc2NyaXB0IHdpbGwgcHJlc2VudCB5b3UKK3RoZSBvcHRpb25zIGl0IGFjY2VwdHMgYW5kIGdpdmUgYSBiaXJlZiBleHBsYW5hdGlvbiBvZiB0aGVzZS4gSW4gZXZlcnkKK2Nhc2UgeW91IHdpbGwgaGF2ZSB0d28gc2V0cyBvZiBvcHRpb25zLiBUaGUgZmlyc3Qgc2V0IGlzIHNwZWNpZmljIHRvCit0aGUgc29mdHdhcmUgeW91IGFyZSBidWlsZGluZyBhbmQgdGhlIHNlY29uZCBvbmUgaXMgc3BlY2lmaWMgdG8gdGhlCitXaW5kb3dzIHBvcnQuCisKK09uY2UgeW91IGhhdmUgZGVjaWRlZCB3aGljaCBvcHRpb25zIHN1aXQgeW91LCBydW4gdGhlIHNjcmlwdCB3aXRoIHRoYXQKK29wdGlvbnMuIEhlcmUgaXMgYW4gZXhhbXBsZToKKworICBjc2NyaXB0IGNvbmZpZ3VyZS5qcyBjb21waWxlcj1tc3ZjIHByZWZpeD1jOlxvcHQgCisgICAgaW5jbHVkZT1jOlxvcHRcaW5jbHVkZSBsaWI9Yzpcb3B0XGxpYiBkZWJ1Zz15ZXMKKworVGhlIHByZXZpb3VzIGV4YW1wbGUgd2lsbCBjb25maWd1cmUgdGhlIHByb2Nlc3MgdG8gdXNlIHRoZSBNaWNyb3NvZnQncworY29tcGlsZXIsIGluc3RhbGwgdGhlIGxpYnJhcnkgaW4gYzpcb3B0LCB1c2UgYzpcb3B0XGluY2x1ZGUgYW5kIAorYzpcb3B0XGxpYiBhcyBhZGRpdGlvbmFsIHNlYXJjaCBwYXRocyBmb3IgdGhlIGNvbXBpbGVyIGFuZCB0aGUgbGlua2VyIAorYW5kIGJ1aWxkIGV4ZWN1dGFibGVzIHdpdGggZGVidWcgc3ltYm9scy4KKworTm90ZTogUGxlYXNlIGRvIG5vdCB1c2UgcGF0aCBuYW1lcyB3aGljaCBjb250YWluIHNwYWNlcy4gVGhpcyB3aWxsCitmYWlsLiBBbGxvd2luZyB0aGlzIHdvdWxkIHJlcXVpcmUgbWUgdG8gcHV0IGFsbW9zdCBldmVyeXRoaW5nIGluIHRoZQorTWFrZWZpbGUgaW4gcXVvdGFzIGFuZCB0aGF0IGxvb2tzIHF1aXRlIHVnbHkgd2l0aCBteQorc3ludGF4LWhpZ2hsaWdodGluZyBlbmdpbmUuIElmIHlvdSBhYnNvbHV0ZWx5IG11c3QgdXNlIHNwYWNlcyBpbiBwYXRocworc2VuZCBtZSBhbiBlbWFpbCBhbmQgdGVsbCBtZSB3aHkuIElmIHRoZXJlIGFyZSBlbm91Z2ggb2YgeW91IG91dCB0aGVyZQord2hvIG5lZWQgdGhpcywgb3IgaWYgYSBzaW5nbGUgb25lIGhhcyBhIHZlcnkgZ29vZCByZWFzb24sIEkgd2lsbAorbW9kaWZ5IHRoZSBNYWtlZmlsZSB0byBhbGxvdyBzcGFjZXMgaW4gcGF0aHMuCisKKworMS4zIENvbXBpbGluZworLS0tLS0tLS0tLS0tLQorCitBZnRlciB0aGUgY29uZmlndXJhdGlvbiBzdGFnZSBoYXMgYmVlbiBjb21wbGV0ZWQsIHlvdSB3YW50IHRvIGJ1aWxkCit0aGUgc29mdHdhcmUuIFlvdSB3aWxsIGhhdmUgdG8gdXNlIHRoZSBtYWtlIHRvb2wgd2hpY2ggY29tZXMgd2l0aAoreW91ciBjb21waWxlci4gSWYgeW91LCBmb3IgZXhhbXBsZSwgY29uZmlndXJlZCB0aGUgc291cmNlIHRvIGJ1aWxkCit3aXRoIE1pY3Jvc29mdCdzIE1TVkMgY29tcGlsZXIsIHlvdSB3b3VsZCB1c2UgdGhlIE5NQUtFIHV0aWxpdHkuIElmCit5b3UgY29uZmlndXJlZCBpdCB0byBidWlsZCB3aXRoIEdOVSBDIGNvbXBpbGVyLCBtaW5ndyBlZGl0aW9uLCB5b3UKK3dvdWxkIHVzZSB0aGUgR05VIG1ha2UuIEFzc3VtaW5nIHlvdSB1c2UgTVNWQywgdHlwZQorCisgIG5tYWtlIC9mIE1ha2VmaWxlLm1zdmMKKworYW5kIGlmIHlvdSB1c2UgTWluR1csIHlvdSB3b3VsZCB0eXBlCisKKyAgbWFrZSAtZiBNYWtlZmlsZS5taW5ndworCithbmQgaWYgeW91IHVzZSBCb3JsYW5kJ3MgY29tcGlsZXIsIHlvdSB3b3VsZCB0eXBlCisKKyAgYm1ha2UgLWYgTWFrZWZpbGUuYmNiCisKK2luIHRoZSB3aW4zMiBzdWJkaXJlY3RvcnkuIFdoZW4gdGhlIGJ1aWxkaW5nIGNvbXBsZXRlcywgeW91IHdpbGwgZmluZAordGhlIGV4ZWN1dGFibGUgZmlsZXMgaW4gd2luMzJcYmluLiogZGlyZWN0b3J5LCB3aGVyZSAqIHN0YW5kcyBmb3IgdGhlCituYW1lIG9mIHRoZSBjb21waWxlciB5b3UgaGF2ZSB1c2VkLgorCisKKzEuNCBJbnN0YWxsaW5nCistLS0tLS0tLS0tLS0tLQorCitZb3UgY2FuIGluc3RhbGwgdGhlIHNvZnR3YXJlIGludG8gdGhlIGRpcmVjdG9yeSB5b3Ugc3BlY2lmaWVkIHRvIHRoZQorY29uZmlndXJlIHNjcmlwdCBkdXJpbmcgdGhlIGNvbmZpZ3VyZSBzdGFnZSBieSB0eXBpbmcgKHdpdGggTVNWQyBpbgordGhpcyBleGFtcGxlKQorCisgIG5tYWtlIC9mIE1ha2VmaWxlLm1zdmMgaW5zdGFsbAorCitUaGF0IHdvdWxkIGJlIGl0LCBlbmpveS4KKworCisKKworCisyLiBDb21waWxlciBTcGVjaWZpY3MKKz09PT09PT09PT09PT09PT09PT09PQorCisKKzIuMSBNaWNyb3NvZnQgVmlzdWFsIEMvQysrCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitJZiB5b3UgdXNlIHRoZSBjb21waWxlciB3aGljaCBjb21lcyB3aXRoIFZpc3VhbCBTdHVkaW8gLk5FVCwgbm90ZSB0aGF0CitpdCB3aWxsIGxpbmsgdG8gaXRzIG93biBDLXJ1bnRpbWUgbmFtZWQgbXN2Y3I3MC5kbGwgb3IgbXN2Y3I3MS5kbGwuIFRoaXMgCitmaWxlIGlzIG5vdCBhdmFpbGFibGUgb24gYW55IG1hY2hpbmUgd2hpY2ggZG9lc24ndCBoYXZlIFZpc3VhbCBTdHVkaW8gCisuTkVUIGluc3RhbGxlZC4KKworCisyLjIgR05VIEMvQysrLCBNaW5ndyBlZGl0aW9uCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK1doZW4gc3BlY2lmeWluZyBwYXRocyB0byBjb25maWd1cmUuanMsIHBsZWFzZSB1c2Ugc2xhc2hlcyBpbnN0ZWFkIG9mIAorYmFja3NsYXNoZXMgZm9yIGRpcmVjdG9yeSBzZXBhcmF0aW9uLiBTb21ldGltZXMgTWluZ3cgbmVlZHMgdGhpcy4gSWYKK3RoaXMgaXMgdGhlIGNhc2UsIGFuZCB5b3Ugc3BlY2lmeSBiYWNrc2xhc2hlcywgdGhlbiB0aGUgY29tcGlsZXIgd2lsbCAKK2NvbXBsYWluIGFib3V0IG5vdCBmaW5kaW5nIG5lY2Vzc2FyeSBoZWFkZXIgZmlsZXMuCisKKworMi4yIEJvcmxhbmQgQysrIEJ1aWxkZXIKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK1RvIGNvbXBpbGUgbGlieG1sMiB3aXRoIHRoZSBCQ0I2IGNvbXBpbGVyIGFuZCBhc3NvY2lhdGVkIHRvb2xzLCBqdXN0IGZvbGxvdwordGhlIGJhc2ljIGluc3RydWN0aW9ucyBmb3VuZCBpbiB0aGlzIGZpbGUgZmlsZS4gQmUgc3VyZSB0byBzcGVjaWZ5IAordGhlICJjb21waWxlcj1iY2IiIG9wdGlvbiB3aGVuIHJ1bm5pbmcgdGhlIGNvbmZpZ3VyZSBzY3JpcHQuIFRvIGNvbXBpbGUgdGhlCitsaWJyYXJ5IGFuZCB0ZXN0IHByb2dyYW1zLCBqdXN0IHR5cGUKKworICBtYWtlIC1mTWFrZWZpbGUuYmNiCisKK1RoYXQgc2hvdWxkIGJlIGFsbCB0aGF0J3MgcmVxdWlyZWQuIEJ1dCB0aGVyZSBhcmUgYSBmZXcgb3RoZXIgdGhpbmdzIHRvIG5vdGU6CisKKzIuMi4xIEJ1aWxkaW5nIHdpdGggaWNvbnYgc3VwcG9ydAorCitJZiB5b3UgY29uZmlndXJlIGxpYnhtbDIgdG8gaW5jbHVkZSBpY29udiBzdXBwb3J0LCB5b3Ugd2lsbCBvYnZpb3VzbHkgbmVlZCB0bworb2J0YWluIHRoZSBpY29udiBsaWJyYXJ5IGFuZCBpbmNsdWRlIGZpbGVzLiBUbyBnZXQgdGhlbSwganVzdCBmb2xsb3cgdGhlIGxpbmtzIAorYXQgaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2xpYmljb252LyAtIHRoZXJlIGFyZSBwcmUtY29tcGlsZWQgV2luMzIgCit2ZXJzaW9ucyBhdmFpbGFibGUsIGJ1dCBub3RlIHRoYXQgdGhlc2Ugd2hlcmUgYnVpbHQgd2l0aCBNU1ZDLiBIZW5jZSB0aGUgCitzdXBwbGllZCBpbXBvcnQgbGlicmFyeSBpcyBpbiBDT0ZGIGZvcm1hdCByYXRoZXIgdGhhbiBPTUYgZm9ybWF0LiBZb3UgY2FuIAorY29udmVydCB0aGlzIGxpYnJhcnkgYnkgdXNpbmcgQm9ybGFuZCdzIENPRkYyT01GIHV0aWxpdHksIG9yIHVzZSBJTVBMSUIgdG8gCitidWlsZCBhIG5ldyBpbXBvcnQgbGlicmFyeSBmcm9tIHRoZSBETEwuIEFsdGVybmF0aXZlbHksIGl0IGlzIHBvc3NpYmxlIHRvCitvYnRhaW4gdGhlIGljb252IHNvdXJjZSwgYW5kIGJ1aWxkIHRoZSBETEwgdXNpbmcgdGhlIEJvcmxhbmQgY29tcGlsZXIuCisKK1RoZXJlIGlzIGEgbWlub3IgcHJvYmxlbSB3aXRoIHRoZSBoZWFkZXIgZmlsZXMgZm9yIGljb252IC0gdGhleSBleHBlY3QgYQorbWFjcm8gbmFtZWQgIkVJTFNFUSIgaW4gZXJybm8uaCwgYnV0IHRoaXMgaXMgbm90IGRlZmluZWQgaW4gdGhlIEJvcmxhbmQKK2hlYWRlcnMsIGFuZCBpdHMgYWJzZW5jZSBjYW4gY2F1c2UgcHJvYmxlbXMuIFRvIGNpcmN1bXZlbnQgdGhpcyBwcm9ibGVtLCBJCitkZWZpbmUgRUlMU0VRPTIgaW4gTWFrZWZpbGUuYmNiLiBUaGUgdmFsdWUgIjIiIGlzIHRoZSB2YWx1ZSBmb3IgRU5PRklMRSAoZmlsZQorbm90IGZvdW5kKS4gVGhpcyBzaG91bGQgbm90IGhhdmUgYW55IGRpc2FzdHJvdXMgc2lkZSBlZmZlY3RzIGJleW9uZCBwb3NzaWJseQorZGlzcGxheWluZyBhIG1pc2xlYWRpbmcgZXJyb3IgbWVzc2FnZSBpbiBjZXJ0YWluIHNpdHVhdGlvbnMuCisKKzIuMi4yIENvbXBhdGFiaWxpdHkgcHJvYmxlbXMgd2l0aCBNU1ZDIChhbmQgcHJvYmFibHkgQ1lHV0lOKQorCitBIGxpYnhtbDIgRExMIGdlbmVyYXRlZCBieSBCQ0IgaXMgY2FsbGFibGUgZnJvbSBNU1ZDIHByb2dyYW1zLCBidXQgdGhlcmUgaXMgYQorbWlub3IgcHJvYmxlbSB3aXRoIHRoZSBuYW1lcyBvZiB0aGUgc3ltYm9scyBleHBvcnRlZCBmcm9tIHRoZSBsaWJyYXJ5LiBUaGUKK0JvcmxhbmQgY29tcGlsZXIsIGJ5IGRlZmF1bHQsIHByZXBlbmRzIGFuIHVuZGVyc2NvcmUgY2hhcmFjdGVyIHRvIGdsb2JhbCAKK2lkZW50aWZpZXJzIChmdW5jdGlvbnMgYW5kIGdsb2JhbCB2YXJpYWJsZXMpIHdoZW4gZ2VuZXJhdGluZyBvYmplY3QgZmlsZXMuCitIZW5jZSB0aGUgZnVuY3Rpb24gInhtbEFkZENoaWxkIiBpcyBhZGRlZCB0byB0aGUgRExMIHdpdGggdGhlIG5hbWUKKyJfeG1sQWRkQ2hpbGQiLiBUaGUgTVNWQyBjb21waWxlciBkb2VzIG5vdCBoYXZlIHRoaXMgYmVoYXZpb3VyLCBhbmQgbG9va3MgZm9yCit0aGUgdW5hZG9ybmVkIG5hbWUuIEkgY3VycmVudGx5IGNpcmN1bXZlbnQgdGhpcyBwcm9ibGVtIGJ5IHdyaXRpbmcgYSAuZGVmIGZpbGUKK3doaWNoIGNhdXNlcyBCT1RIIHRoZSBhZG9ybmVkIGFuZCB1bmFkb3JuZWQgbmFtZXMgdG8gYmUgZXhwb3J0ZWQgZnJvbSB0aGUgRExMLgorVGhpcyBiZWhhdmlvdXIgbWF5IG5vdCBiZSBzdXBwb3J0ZWQgaW4gdGhlIGZ1dHVyZS4KKworQW4gZXZlbiB3b3JzZSBwcm9ibGVtIGlzIHRoYXQgb2YgZ2VuZXJhdGluZyBhbiBpbXBvcnQgbGlicmFyeSBmb3IgdGhlIERMTC4gVGhlCitCb3JsYW5kLWdlbmVyYXRlZCBETEwgaXMgaW4gT01GIGZvcm1hdC4gTVNWQyBleHBlY3RzIGxpYnJhcmllcyBpbiBDT0ZGIGZvcm1hdCwKK2J1dCB0aGV5IGRvbid0IHByb3ZpZGUgYSAiT01GMkNPRkYiIHV0aWxpdHksIG9yIGV2ZW4gdGhlIGVxdWl2YWxlbnQgb2YKK0JvcmxhbmQncyBJTVBMSUIgdXRpbGl0eS4gQnV0IGl0IGlzIHBvc3NpYmxlIHRvIGNyZWF0ZSBhbiBpbXBvcnQgbGliIGZyb20gdGhlCisuZGVmIGZpbGUsIHVzaW5nIHRoZSBjb21tYW5kOgorICBMSUIgL0RFRjpsaWJ4bWwyLmRlZgorCitJZiB5b3UgZG9uJ3QgaGF2ZSB0aGUgLmRlZiBmaWxlLCBpdCdzIHBvc3NpYmxlIHRvIGNyZWF0ZSBvbmUgbWFudWFsbHkuIFVzZQorRFVNUEJJTiAvRVhQT1JUUyAvT1VUOmxpYnhtbDIudG1wIGxpYnhtbDIuZGxsIHRvIGdldCBhIGxpc3Qgb2YgdGhlIGV4cG9ydGVkCituYW1lcywgYW5kIGVkaXQgdGhpcyBpbnRvIC5kZWYgZmlsZSBmb3JtYXQuCisKK0Egc2ltaWxhciBwcm9ibGVtIGlzIGxpa2VseSB3aXRoIEN5Z3dpbi4KKworMi4yLjMgT3RoZXIgY2F2ZWF0cworCitXZSBoYXZlIHRlc3RlZCB0aGlzIG9ubHkgd2l0aCBCQ0I2LCBQcm9mZXNzaW9uYWwgRWRpdGlvbiwgYW5kIEJDQiA1LjUgZnJlZQorY29tbWFuZC1saW5lIHRvb2xzLgorCisKKworQXV0aG9yczogSWdvciBabGF0a292aWMgPGlnb3JAemxhdGtvdmljLmNvbT4KKyAgICAgICAgIEVyaWMgWnVyY2hlciA8RXJpYy5adXJjaGVyQGNzaXJvLmF1PgorCisKZGlmZiAtLWdpdCBhL2xpYnhtbDIvd2luMzIvVkMxMC9SRUFETUUudmMxMCBiL2xpYnhtbDIvd2luMzIvVkMxMC9SRUFETUUudmMxMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ODA1YmRjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi93aW4zMi9WQzEwL1JFQURNRS52YzEwCkBAIC0wLDAgKzEsMjcgQEAKKw0KK1JFQURNRSBmaWxlIGZvciBWQzEwIHByb2plY3QgZmlsZXMgZm9yIGxpYnhtbDINCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorDQordG8gY2xhcmlmeTogVGhpcyBpcyBub3QgdGhlIHJlYWRtZSBmaWxlIGZvciB0aGUgd2hvbGUgbGlieG1sMiBwcm9qZWN0LiANCitSYXRoZXIsIGl0J3MgYSByZWFkbWUgZm9yIHRoZSBWQzEwIHByb2plY3QgZmlsZXMsIGF0dGFjaGVkIHRvIHRoZSBsaWJ4bWwyIHByb2VqY3QuDQorDQorUXVpY2sgU3RhcnQNCistLS0tLS0tLS0tLQ0KKw0KKzEpIFRvIHVzZSwgbG9hZCB0aGUgbGlieG1sMi5zbG4gc29sdXRpb24gZmlsZSBpbnRvIHZpc3VhbCBzdHVkaW8NCisyKSBjaGVjayBhbmQgY29ycmVjdCBwYXRocyBmb3IgZGVwZW5kZW50ICJpY29udiIgcHJvamVjdCB3aGljaCBtb3N0IGNlcnRhaWx5IA0KK2FyZSB3cm9uZyBvbiB5b3VyIGVudmlyb25tZW50Lg0KKzMpIENvbXBpbGUgYWxsIHByb2plY3RzDQorDQorDQorQmFja2dyb3VuZCBJbmZvDQorLS0tLS0tLS0tLS0tLS0tDQorDQorUnVubmluZyBvZiAiY29uZmlndXJlLnNoIiB3b24ndCBtYWtlIHNlbnNlIHNpbmNlIFZTIGRvZXNuJ3Qgc3VwcG9ydA0KK3RoaXMga2luZCBvZiBidWlsZCBzeXN0ZW0gYW5kIHRoZSBlbnZpcm9ubWVudCBpcyBwcmV0dHkgbXVjaCBrbm93biBhbHJlYWR5IA0KK2lmIHlvdSdyZSB1c2luZyBWaXN1YWwgU3R1ZGlvLiBJbnN0ZWFkLCBhIHByZWNvbmZpZ3VyZWQgImNvbmZpZy5oIiBmaWxlIA0KK2lzIHByb3ZpZGVkIGluIHRoZSAid2luMzJcVkMxMCIgZGlyZWN0b3J5IGFuZCByZWZlcmVuY2VkIGJ5IHRoZSBwcm9qZWN0DQorZmlsZXMgYWxyZWFkeS4NCisNCitUaGUgY29tcGlsZSBwcm9jZXNzIGlzIG5vdCBjb21wbGV0ZWx5IHdhcm5pbmctZnJlZTogU29tZSB3YXJuaW5ncyB3aWxsIA0KK2FwcGVhciBkdXJpbmcgY29tcGlsZSB3aGljaCBjYW4gYmUgaWdub3JlZC4NCmRpZmYgLS1naXQgYS9saWJ4bWwyL3dpbjMyL1ZDMTAvUnVsZVNldDEucnVsZXNldCBiL2xpYnhtbDIvd2luMzIvVkMxMC9SdWxlU2V0MS5ydWxlc2V0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk5ODVhNmMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3dpbjMyL1ZDMTAvUnVsZVNldDEucnVsZXNldApAQCAtMCwwICsxLDMgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+DQorPFJ1bGVTZXQgTmFtZT0iTmV3IFJ1bGUgU2V0IiBEZXNjcmlwdGlvbj0iICIgVG9vbHNWZXJzaW9uPSIxMC4wIj4NCis8L1J1bGVTZXQ+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi93aW4zMi9WQzEwL2NvbmZpZy5oIGIvbGlieG1sMi93aW4zMi9WQzEwL2NvbmZpZy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg2Mjk5NDQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3dpbjMyL1ZDMTAvY29uZmlnLmgKQEAgLTAsMCArMSwxMjUgQEAKKyNpZm5kZWYgX19MSUJYTUxfV0lOMzJfQ09ORklHX18KKyNkZWZpbmUgX19MSUJYTUxfV0lOMzJfQ09ORklHX18KKworI2RlZmluZSBIQVZFX0NUWVBFX0gKKyNkZWZpbmUgSEFWRV9TVERBUkdfSAorI2RlZmluZSBIQVZFX01BTExPQ19ICisjZGVmaW5lIEhBVkVfRVJSTk9fSAorI2RlZmluZSBIQVZFX1NURElOVF9ICisKKyNpZiBkZWZpbmVkKF9XSU4zMl9XQ0UpCisjdW5kZWYgSEFWRV9FUlJOT19ICisjaW5jbHVkZSA8d2luZG93cy5oPgorI2luY2x1ZGUgIndpbmNlY29tcGF0LmgiCisjZWxzZQorI2RlZmluZSBIQVZFX1NZU19TVEFUX0gKKyNkZWZpbmUgSEFWRV9fU1RBVAorI2RlZmluZSBIQVZFX1NUQVQKKyNkZWZpbmUgSEFWRV9TVERMSUJfSAorI2RlZmluZSBIQVZFX1RJTUVfSAorI2RlZmluZSBIQVZFX0ZDTlRMX0gKKyNpbmNsdWRlIDxpby5oPgorI2luY2x1ZGUgPGRpcmVjdC5oPgorI2VuZGlmCisKKyNpbmNsdWRlIDxsaWJ4bWwveG1sdmVyc2lvbi5oPgorCisjaWZuZGVmIElDT05WX0NPTlNUCisjZGVmaW5lIElDT05WX0NPTlNUIGNvbnN0CisjZW5kaWYKKworI2lmZGVmIE5FRURfU09DS0VUUworI2luY2x1ZGUgPHdzb2NrY29tcGF0Lmg+CisjZW5kaWYKKworLyoKKyAqIFdpbmRvd3MgcGxhdGZvcm1zIG1heSBkZWZpbmUgZXhjZXB0IAorICovCisjdW5kZWYgZXhjZXB0CisKKyNkZWZpbmUgSEFWRV9JU0lORgorI2RlZmluZSBIQVZFX0lTTkFOCisjaW5jbHVkZSA8bWF0aC5oPgorI2lmIGRlZmluZWQoX01TQ19WRVIpIHx8IGRlZmluZWQoX19CT1JMQU5EQ19fKQorLyogTVMgQy1ydW50aW1lIGhhcyBmdW5jdGlvbnMgd2hpY2ggY2FuIGJlIHVzZWQgaW4gb3JkZXIgdG8gZGV0ZXJtaW5lIGlmCisgICBhIGdpdmVuIGZsb2F0aW5nLXBvaW50IHZhcmlhYmxlIGNvbnRhaW5zIE5hTiwgKCstKUlORi4gVGhlc2UgYXJlIAorICAgcHJlZmVycmVkLCBiZWNhdXNlIGZsb2F0aW5nLXBvaW50IHRlY2hub2xvZ3kgaXMgY29uc2lkZXJlZCBwcm9wcmlhdGFyeQorICAgYnkgTVMgYW5kIHdlIGNhbiBhc3N1bWUgdGhhdCB0aGVpciBmdW5jdGlvbnMga25vdyBtb3JlIGFib3V0IHRoZWlyIAorICAgb2RkaXRpZXMgdGhhbiB3ZSBkby4gKi8KKyNpbmNsdWRlIDxmbG9hdC5oPgorLyogQmpvcm4gUmVlc2UgZmlndXJlZCBhIHF1aXRlIG5pY2UgY29uc3RydWN0IGZvciBpc2luZigpIHVzaW5nIHRoZSBfZnBjbGFzcworICAgZnVuY3Rpb24uICovCisjaWZuZGVmIGlzaW5mCisjZGVmaW5lIGlzaW5mKGQpICgoX2ZwY2xhc3MoZCkgPT0gX0ZQQ0xBU1NfUElORikgPyAxIFwKKwk6ICgoX2ZwY2xhc3MoZCkgPT0gX0ZQQ0xBU1NfTklORikgPyAtMSA6IDApKQorI2VuZGlmCisvKiBfaXNuYW4oeCkgcmV0dXJucyBub256ZXJvIGlmICh4ID09IE5hTikgYW5kIHplcm8gb3RoZXJ3aXNlLiAqLworI2lmbmRlZiBpc25hbgorI2RlZmluZSBpc25hbihkKSAoX2lzbmFuKGQpKQorI2VuZGlmCisjZWxzZSAvKiBfTVNDX1ZFUiAqLworI2lmbmRlZiBpc2luZgorc3RhdGljIGludCBpc2luZiAoZG91YmxlIGQpIHsKKyAgICBpbnQgZXhwb24gPSAwOworICAgIGRvdWJsZSB2YWwgPSBmcmV4cCAoZCwgJmV4cG9uKTsKKyAgICBpZiAoZXhwb24gPT0gMTAyNSkgeworICAgICAgICBpZiAodmFsID09IDAuNSkgeworICAgICAgICAgICAgcmV0dXJuIDE7CisgICAgICAgIH0gZWxzZSBpZiAodmFsID09IC0wLjUpIHsKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICB9CisgICAgfSBlbHNlIHsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorfQorI2VuZGlmCisjaWZuZGVmIGlzbmFuCitzdGF0aWMgaW50IGlzbmFuIChkb3VibGUgZCkgeworICAgIGludCBleHBvbiA9IDA7CisgICAgZG91YmxlIHZhbCA9IGZyZXhwIChkLCAmZXhwb24pOworICAgIGlmIChleHBvbiA9PSAxMDI1KSB7CisgICAgICAgIGlmICh2YWwgPT0gMC41KSB7CisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgfSBlbHNlIGlmICh2YWwgPT0gLTAuNSkgeworICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICByZXR1cm4gMTsKKyAgICAgICAgfQorICAgIH0gZWxzZSB7CisgICAgICAgIHJldHVybiAwOworICAgIH0KK30KKyNlbmRpZgorI2VuZGlmIC8qIF9NU0NfVkVSICovCisKKyNpZiBkZWZpbmVkKF9NU0NfVkVSKQorI2RlZmluZSBta2RpcihwLG0pIF9ta2RpcihwKQorI2RlZmluZSBzbnByaW50ZiBfc25wcmludGYKKyNpZiBfTVNDX1ZFUiA8IDE1MDAKKyNkZWZpbmUgdnNucHJpbnRmKGIsYyxmLGEpIF92c25wcmludGYoYixjLGYsYSkKKyNlbmRpZgorI2VsaWYgZGVmaW5lZChfX01JTkdXMzJfXykKKyNkZWZpbmUgbWtkaXIocCxtKSBfbWtkaXIocCkKKyNlbmRpZgorCisvKiBUaHJlYWRpbmcgQVBJIHRvIHVzZSBzaG91bGQgYmUgc3BlY2lmaWVkIGhlcmUgZm9yIGNvbXBhdGliaWxpdHkgcmVhc29ucy4KKyAgIFRoaXMgaXMgaG93ZXZlciBiZXN0IHNwZWNpZmllZCBvbiB0aGUgY29tcGlsZXIncyBjb21tYW5kLWxpbmUuICovCisjaWYgZGVmaW5lZChMSUJYTUxfVEhSRUFEX0VOQUJMRUQpCisjaWYgIWRlZmluZWQoSEFWRV9QVEhSRUFEX0gpICYmICFkZWZpbmVkKEhBVkVfV0lOMzJfVEhSRUFEUykgJiYgIWRlZmluZWQoX1dJTjMyX1dDRSkKKyNkZWZpbmUgSEFWRV9XSU4zMl9USFJFQURTCisjZW5kaWYKKyNlbmRpZgorCisvKiBTb21lIHRoaXJkLXBhcnR5IGxpYnJhcmllcyBmYXIgZnJvbSBvdXIgY29udHJvbCBhc3N1bWUgdGhlIGZvbGxvd2luZworICAgaXMgZGVmaW5lZCwgd2hpY2ggaXQgaXMgbm90IGlmIHdlIGRvbid0IGluY2x1ZGUgd2luZG93cy5oLiAqLworI2lmICFkZWZpbmVkKEZBTFNFKQorI2RlZmluZSBGQUxTRSAwCisjZW5kaWYKKyNpZiAhZGVmaW5lZChUUlVFKQorI2RlZmluZSBUUlVFICghKEZBTFNFKSkKKyNlbmRpZgorCisjZW5kaWYgLyogX19MSUJYTUxfV0lOMzJfQ09ORklHX18gKi8KKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi93aW4zMi9WQzEwL2xpYnhtbDItZm9jdXMudmN4cHJvaiBiL2xpYnhtbDIvd2luMzIvVkMxMC9saWJ4bWwyLWZvY3VzLnZjeHByb2oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTE0Y2UyNQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvd2luMzIvVkMxMC9saWJ4bWwyLWZvY3VzLnZjeHByb2oKQEAgLTAsMCArMSwxODQgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+DQorPFByb2plY3QgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiBUb29sc1ZlcnNpb249IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+DQorICA8SXRlbUdyb3VwIExhYmVsPSJQcm9qZWN0Q29uZmlndXJhdGlvbnMiPg0KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iRGVidWcgRExMfFdpbjMyIj4NCisgICAgICA8Q29uZmlndXJhdGlvbj5EZWJ1ZyBETEw8L0NvbmZpZ3VyYXRpb24+DQorICAgICAgPFBsYXRmb3JtPldpbjMyPC9QbGF0Zm9ybT4NCisgICAgPC9Qcm9qZWN0Q29uZmlndXJhdGlvbj4NCisgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IkRlYnVnfFdpbjMyIj4NCisgICAgICA8Q29uZmlndXJhdGlvbj5EZWJ1ZzwvQ29uZmlndXJhdGlvbj4NCisgICAgICA8UGxhdGZvcm0+V2luMzI8L1BsYXRmb3JtPg0KKyAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPg0KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iUmVsZWFzZSBETEx8V2luMzIiPg0KKyAgICAgIDxDb25maWd1cmF0aW9uPlJlbGVhc2UgRExMPC9Db25maWd1cmF0aW9uPg0KKyAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+DQorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+DQorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJSZWxlYXNlfFdpbjMyIj4NCisgICAgICA8Q29uZmlndXJhdGlvbj5SZWxlYXNlPC9Db25maWd1cmF0aW9uPg0KKyAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+DQorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+DQorICA8L0l0ZW1Hcm91cD4NCisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJHbG9iYWxzIj4NCisgICAgPFByb2plY3RHdWlkPns3RUE1MEM5NC0yNkJELTQ4OTMtQjc3My02MjVDRDNEM0RFQTZ9PC9Qcm9qZWN0R3VpZD4NCisgICAgPFJvb3ROYW1lc3BhY2U+bGlieG1sMjwvUm9vdE5hbWVzcGFjZT4NCisgIDwvUHJvcGVydHlHcm91cD4NCisgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLkRlZmF1bHQucHJvcHMiIC8+DQorICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPg0KKyAgICA8Q29uZmlndXJhdGlvblR5cGU+U3RhdGljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+DQorICAgIDxVc2VEZWJ1Z0xpYnJhcmllcz50cnVlPC9Vc2VEZWJ1Z0xpYnJhcmllcz4NCisgICAgPENoYXJhY3RlclNldD5Vbmljb2RlPC9DaGFyYWN0ZXJTZXQ+DQorICA8L1Byb3BlcnR5R3JvdXA+DQorICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnIERMTHxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4NCisgICAgPENvbmZpZ3VyYXRpb25UeXBlPlN0YXRpY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPg0KKyAgICA8VXNlRGVidWdMaWJyYXJpZXM+dHJ1ZTwvVXNlRGVidWdMaWJyYXJpZXM+DQorICAgIDxDaGFyYWN0ZXJTZXQ+VW5pY29kZTwvQ2hhcmFjdGVyU2V0Pg0KKyAgPC9Qcm9wZXJ0eUdyb3VwPg0KKyAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPg0KKyAgICA8Q29uZmlndXJhdGlvblR5cGU+U3RhdGljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+DQorICAgIDxVc2VEZWJ1Z0xpYnJhcmllcz5mYWxzZTwvVXNlRGVidWdMaWJyYXJpZXM+DQorICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPg0KKyAgICA8Q2hhcmFjdGVyU2V0PlVuaWNvZGU8L0NoYXJhY3RlclNldD4NCisgIDwvUHJvcGVydHlHcm91cD4NCisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJDb25maWd1cmF0aW9uIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2UgRExMfFdpbjMyJyI+DQorICAgIDxDb25maWd1cmF0aW9uVHlwZT5TdGF0aWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4NCisgICAgPENoYXJhY3RlclNldD5Vbmljb2RlPC9DaGFyYWN0ZXJTZXQ+DQorICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPg0KKyAgPC9Qcm9wZXJ0eUdyb3VwPg0KKyAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAucHJvcHMiIC8+DQorICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblNldHRpbmdzIj4NCisgIDwvSW1wb3J0R3JvdXA+DQorICA8SW1wb3J0R3JvdXAgTGFiZWw9IlByb3BlcnR5U2hlZXRzIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+DQorICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4NCisgICAgPEltcG9ydCBQcm9qZWN0PSIuLlwuLlwuLlxmb2N1cy1saWItZGVidWcucHJvcHMiIC8+DQorICA8L0ltcG9ydEdyb3VwPg0KKyAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWcgRExMfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4NCisgICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPg0KKyAgICA8SW1wb3J0IFByb2plY3Q9Ii4uXC4uXC4uXGZvY3VzLWxpYi1kZWJ1Zy1kbGwucHJvcHMiIC8+DQorICA8L0ltcG9ydEdyb3VwPg0KKyAgPEltcG9ydEdyb3VwIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyIgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+DQorICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4NCisgICAgPEltcG9ydCBQcm9qZWN0PSIuLlwuLlwuLlxmb2N1cy1saWItcmVsZWFzZS5wcm9wcyIgLz4NCisgIDwvSW1wb3J0R3JvdXA+DQorICA8SW1wb3J0R3JvdXAgTGFiZWw9IlByb3BlcnR5U2hlZXRzIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2UgRExMfFdpbjMyJyI+DQorICAgIDxJbXBvcnQgUHJvamVjdD0iLi5cLi5cLi5cZm9jdXMtbGliLXJlbGVhc2UtZGxsLnByb3BzIiAvPg0KKyAgPC9JbXBvcnRHcm91cD4NCisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJVc2VyTWFjcm9zIiAvPg0KKyAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPg0KKyAgICA8T3V0RGlyPiQoUHJvamVjdERpcikuLlwuLlxsaWJcPC9PdXREaXI+DQorICA8L1Byb3BlcnR5R3JvdXA+DQorICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnIERMTHxXaW4zMiciPg0KKyAgICA8T3V0RGlyPiQoUHJvamVjdERpcikuLlwuLlxsaWJcPC9PdXREaXI+DQorICA8L1Byb3BlcnR5R3JvdXA+DQorICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgLz4NCisgIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWcgRExMfFdpbjMyJyIgLz4NCisgIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPg0KKyAgICA8T3V0RGlyPiQoUHJvamVjdERpcikuLlwuLlxsaWJcPC9PdXREaXI+DQorICA8L1Byb3BlcnR5R3JvdXA+DQorICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2UgRExMfFdpbjMyJyI+DQorICAgIDxPdXREaXI+JChQcm9qZWN0RGlyKS4uXC4uXGxpYlw8L091dERpcj4NCisgIDwvUHJvcGVydHlHcm91cD4NCisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj4NCisgICAgPENsQ29tcGlsZT4NCisgICAgICA8V2FybmluZ0xldmVsPkxldmVsMzwvV2FybmluZ0xldmVsPg0KKyAgICAgIDxPcHRpbWl6YXRpb24+RGlzYWJsZWQ8L09wdGltaXphdGlvbj4NCisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKFByb2plY3REaXIpOyQoUHJvamVjdERpcikuLlwuLlxpbmNsdWRlOyQoUHJvamVjdERpcikuLlwuLlwuLlxsaWJpY29udi0xLjE0XGluY2x1ZGU8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+DQorICAgICAgPERpc2FibGVTcGVjaWZpY1dhcm5pbmdzPjQwMTg7IDQ5OTY8L0Rpc2FibGVTcGVjaWZpY1dhcm5pbmdzPg0KKyAgICAgIDxBZGRpdGlvbmFsT3B0aW9ucz4vTVAgJShBZGRpdGlvbmFsT3B0aW9ucyk8L0FkZGl0aW9uYWxPcHRpb25zPg0KKyAgICAgIDxNaW5pbWFsUmVidWlsZD5mYWxzZTwvTWluaW1hbFJlYnVpbGQ+DQorICAgIDwvQ2xDb21waWxlPg0KKyAgICA8TGluaz4NCisgICAgICA8R2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPnRydWU8L0dlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj4NCisgICAgPC9MaW5rPg0KKyAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPg0KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1ZyBETEx8V2luMzInIj4NCisgICAgPENsQ29tcGlsZT4NCisgICAgICA8V2FybmluZ0xldmVsPkxldmVsMzwvV2FybmluZ0xldmVsPg0KKyAgICAgIDxPcHRpbWl6YXRpb24+RGlzYWJsZWQ8L09wdGltaXphdGlvbj4NCisgICAgICA8QWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4kKFByb2plY3REaXIpOyQoUHJvamVjdERpcikuLlwuLlxpbmNsdWRlOyQoUHJvamVjdERpcikuLlwuLlwuLlxsaWJpY29udi0xLjE0XGluY2x1ZGU8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+DQorICAgICAgPERpc2FibGVTcGVjaWZpY1dhcm5pbmdzPjQwMTg7IDQ5OTY8L0Rpc2FibGVTcGVjaWZpY1dhcm5pbmdzPg0KKyAgICAgIDxBZGRpdGlvbmFsT3B0aW9ucz4vTVAgJShBZGRpdGlvbmFsT3B0aW9ucyk8L0FkZGl0aW9uYWxPcHRpb25zPg0KKyAgICAgIDxNaW5pbWFsUmVidWlsZD5mYWxzZTwvTWluaW1hbFJlYnVpbGQ+DQorICAgIDwvQ2xDb21waWxlPg0KKyAgICA8TGluaz4NCisgICAgICA8R2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPnRydWU8L0dlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj4NCisgICAgPC9MaW5rPg0KKyAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPg0KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+DQorICAgIDxDbENvbXBpbGU+DQorICAgICAgPFdhcm5pbmdMZXZlbD5MZXZlbDM8L1dhcm5pbmdMZXZlbD4NCisgICAgICA8T3B0aW1pemF0aW9uPk1heFNwZWVkPC9PcHRpbWl6YXRpb24+DQorICAgICAgPEZ1bmN0aW9uTGV2ZWxMaW5raW5nPnRydWU8L0Z1bmN0aW9uTGV2ZWxMaW5raW5nPg0KKyAgICAgIDxJbnRyaW5zaWNGdW5jdGlvbnM+dHJ1ZTwvSW50cmluc2ljRnVuY3Rpb25zPg0KKyAgICAgIDxBZGRpdGlvbmFsT3B0aW9ucz4vTVAgJShBZGRpdGlvbmFsT3B0aW9ucyk8L0FkZGl0aW9uYWxPcHRpb25zPg0KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQoUHJvamVjdERpcik7JChQcm9qZWN0RGlyKS4uXC4uXGluY2x1ZGU7JChQcm9qZWN0RGlyKS4uXC4uXC4uXGxpYmljb252LTEuMTRcaW5jbHVkZTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4NCisgICAgICA8RGlzYWJsZVNwZWNpZmljV2FybmluZ3M+NDAxODsgNDk5NjwvRGlzYWJsZVNwZWNpZmljV2FybmluZ3M+DQorICAgIDwvQ2xDb21waWxlPg0KKyAgICA8TGluaz4NCisgICAgICA8R2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPnRydWU8L0dlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj4NCisgICAgICA8RW5hYmxlQ09NREFURm9sZGluZz50cnVlPC9FbmFibGVDT01EQVRGb2xkaW5nPg0KKyAgICAgIDxPcHRpbWl6ZVJlZmVyZW5jZXM+dHJ1ZTwvT3B0aW1pemVSZWZlcmVuY2VzPg0KKyAgICA8L0xpbms+DQorICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+DQorICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2UgRExMfFdpbjMyJyI+DQorICAgIDxDbENvbXBpbGU+DQorICAgICAgPEFkZGl0aW9uYWxPcHRpb25zPi9NUCAlKEFkZGl0aW9uYWxPcHRpb25zKTwvQWRkaXRpb25hbE9wdGlvbnM+DQorICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChQcm9qZWN0RGlyKTskKFByb2plY3REaXIpLi5cLi5caW5jbHVkZTskKFByb2plY3REaXIpLi5cLi5cLi5cbGliaWNvbnYtMS4xNFxpbmNsdWRlPC9BZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPg0KKyAgICAgIDxEaXNhYmxlU3BlY2lmaWNXYXJuaW5ncz40MDE4OyA0OTk2PC9EaXNhYmxlU3BlY2lmaWNXYXJuaW5ncz4NCisgICAgPC9DbENvbXBpbGU+DQorICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+DQorICA8SXRlbUdyb3VwPg0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXGMxNG4uYyIgLz4NCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxjYXRhbG9nLmMiIC8+DQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cY2h2YWxpZC5jIiAvPg0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXGRlYnVnWE1MLmMiIC8+DQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cZGljdC5jIiAvPg0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXERPQ0JwYXJzZXIuYyIgLz4NCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxlbmNvZGluZy5jIiAvPg0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXGVudGl0aWVzLmMiIC8+DQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cZXJyb3IuYyIgLz4NCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxnbG9iYWxzLmMiIC8+DQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5caGFzaC5jIiAvPg0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXEhUTUxwYXJzZXIuYyIgLz4NCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxIVE1MdHJlZS5jIiAvPg0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXGxlZ2FjeS5jIiAvPg0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXGxpc3QuYyIgLz4NCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxuYW5vZnRwLmMiIC8+DQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cbmFub2h0dHAuYyIgLz4NCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxwYXJzZXIuYyIgLz4NCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxwYXJzZXJJbnRlcm5hbHMuYyIgLz4NCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxwYXR0ZXJuLmMiIC8+DQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5ccmVsYXhuZy5jIiAvPg0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXFNBWC5jIiAvPg0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXFNBWDIuYyIgLz4NCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxzY2hlbWF0cm9uLmMiIC8+DQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cdGhyZWFkcy5jIiAvPg0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHRyZWUuYyIgLz4NCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlx1cmkuYyIgLz4NCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlx2YWxpZC5jIiAvPg0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHhpbmNsdWRlLmMiIC8+DQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5ceGxpbmsuYyIgLz4NCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlx4bWxjYXRhbG9nLmMiIC8+DQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5ceG1sSU8uYyIgLz4NCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlx4bWxtZW1vcnkuYyIgLz4NCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlx4bWxtb2R1bGUuYyIgLz4NCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlx4bWxyZWFkZXIuYyIgLz4NCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlx4bWxyZWdleHAuYyIgLz4NCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlx4bWxzYXZlLmMiIC8+DQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5ceG1sc2NoZW1hcy5jIiAvPg0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHhtbHNjaGVtYXN0eXBlcy5jIiAvPg0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHhtbHN0cmluZy5jIiAvPg0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHhtbHVuaWNvZGUuYyIgLz4NCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlx4bWx3cml0ZXIuYyIgLz4NCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlx4cGF0aC5jIiAvPg0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHhwb2ludGVyLmMiIC8+DQorICA8L0l0ZW1Hcm91cD4NCisgIDxJdGVtR3JvdXA+DQorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cYWNjb25maWcuaCIgLz4NCisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlxlbGZnY2NoYWNrLmgiIC8+DQorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cbGlieG1sLmgiIC8+DQorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iY29uZmlnLmgiIC8+DQorICA8L0l0ZW1Hcm91cD4NCisgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnRhcmdldHMiIC8+DQorICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblRhcmdldHMiPg0KKyAgPC9JbXBvcnRHcm91cD4NCis8L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi93aW4zMi9WQzEwL2xpYnhtbDIuc2xuIGIvbGlieG1sMi93aW4zMi9WQzEwL2xpYnhtbDIuc2xuCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg0ODU3NTEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3dpbjMyL1ZDMTAvbGlieG1sMi5zbG4KQEAgLTAsMCArMSw0OSBAQAor77u/DQorTWljcm9zb2Z0IFZpc3VhbCBTdHVkaW8gU29sdXRpb24gRmlsZSwgRm9ybWF0IFZlcnNpb24gMTEuMDANCisjIFZpc3VhbCBTdHVkaW8gMjAxMA0KK1Byb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAibGlieG1sMiIsICJsaWJ4bWwyLnZjeHByb2oiLCAiezFENjAzOUY2LTUwNzgtNDE2Ri1BM0FGLUEzNkVGQzdFNkExQ30iDQorRW5kUHJvamVjdA0KK1Byb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAicnVuc3VpdGUiLCAicnVuc3VpdGUudmN4cHJvaiIsICJ7RDg0MUI0RjctQzI3Ny00OUNCLUIzNzktOEIxODAxQzhFRTM1fSINCisJUHJvamVjdFNlY3Rpb24oUHJvamVjdERlcGVuZGVuY2llcykgPSBwb3N0UHJvamVjdA0KKwkJe0JFQzAzMTMwLUE2NEMtNDhGOC04NjNDLTUyREE4M0NGQjNBRX0gPSB7QkVDMDMxMzAtQTY0Qy00OEY4LTg2M0MtNTJEQTgzQ0ZCM0FFfQ0KKwlFbmRQcm9qZWN0U2VjdGlvbg0KK0VuZFByb2plY3QNCitQcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gImljb252IiwgIi4uXC4uXC4uXGxpYmljb252LTEuMTQudmMxMFx3aW5kb3dzXFZDMTBcaWNvbnYudmN4cHJvaiIsICJ7QkVDMDMxMzAtQTY0Qy00OEY4LTg2M0MtNTJEQTgzQ0ZCM0FFfSINCitFbmRQcm9qZWN0DQorR2xvYmFsDQorCUdsb2JhbFNlY3Rpb24oU29sdXRpb25Db25maWd1cmF0aW9uUGxhdGZvcm1zKSA9IHByZVNvbHV0aW9uDQorCQlEZWJ1ZyBETEx8V2luMzIgPSBEZWJ1ZyBETEx8V2luMzINCisJCURlYnVnfFdpbjMyID0gRGVidWd8V2luMzINCisJCVJlbGVhc2UgRExMfFdpbjMyID0gUmVsZWFzZSBETEx8V2luMzINCisJCVJlbGVhc2V8V2luMzIgPSBSZWxlYXNlfFdpbjMyDQorCUVuZEdsb2JhbFNlY3Rpb24NCisJR2xvYmFsU2VjdGlvbihQcm9qZWN0Q29uZmlndXJhdGlvblBsYXRmb3JtcykgPSBwb3N0U29sdXRpb24NCisJCXsxRDYwMzlGNi01MDc4LTQxNkYtQTNBRi1BMzZFRkM3RTZBMUN9LkRlYnVnIERMTHxXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KKwkJezFENjAzOUY2LTUwNzgtNDE2Ri1BM0FGLUEzNkVGQzdFNkExQ30uRGVidWcgRExMfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KKwkJezFENjAzOUY2LTUwNzgtNDE2Ri1BM0FGLUEzNkVGQzdFNkExQ30uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCisJCXsxRDYwMzlGNi01MDc4LTQxNkYtQTNBRi1BMzZFRkM3RTZBMUN9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KKwkJezFENjAzOUY2LTUwNzgtNDE2Ri1BM0FGLUEzNkVGQzdFNkExQ30uUmVsZWFzZSBETEx8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KKwkJezFENjAzOUY2LTUwNzgtNDE2Ri1BM0FGLUEzNkVGQzdFNkExQ30uUmVsZWFzZSBETEx8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCisJCXsxRDYwMzlGNi01MDc4LTQxNkYtQTNBRi1BMzZFRkM3RTZBMUN9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KKwkJezFENjAzOUY2LTUwNzgtNDE2Ri1BM0FGLUEzNkVGQzdFNkExQ30uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KKwkJe0Q4NDFCNEY3LUMyNzctNDlDQi1CMzc5LThCMTgwMUM4RUUzNX0uRGVidWcgRExMfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyDQorCQl7RDg0MUI0RjctQzI3Ny00OUNCLUIzNzktOEIxODAxQzhFRTM1fS5EZWJ1ZyBETEx8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQorCQl7RDg0MUI0RjctQzI3Ny00OUNCLUIzNzktOEIxODAxQzhFRTM1fS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KKwkJe0Q4NDFCNEY3LUMyNzctNDlDQi1CMzc5LThCMTgwMUM4RUUzNX0uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQorCQl7RDg0MUI0RjctQzI3Ny00OUNCLUIzNzktOEIxODAxQzhFRTM1fS5SZWxlYXNlIERMTHxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQorCQl7RDg0MUI0RjctQzI3Ny00OUNCLUIzNzktOEIxODAxQzhFRTM1fS5SZWxlYXNlIERMTHxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KKwkJe0Q4NDFCNEY3LUMyNzctNDlDQi1CMzc5LThCMTgwMUM4RUUzNX0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQorCQl7RDg0MUI0RjctQzI3Ny00OUNCLUIzNzktOEIxODAxQzhFRTM1fS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQorCQl7QkVDMDMxMzAtQTY0Qy00OEY4LTg2M0MtNTJEQTgzQ0ZCM0FFfS5EZWJ1ZyBETEx8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWcgRExMfFdpbjMyDQorCQl7QkVDMDMxMzAtQTY0Qy00OEY4LTg2M0MtNTJEQTgzQ0ZCM0FFfS5EZWJ1ZyBETEx8V2luMzIuQnVpbGQuMCA9IERlYnVnIERMTHxXaW4zMg0KKwkJe0JFQzAzMTMwLUE2NEMtNDhGOC04NjNDLTUyREE4M0NGQjNBRX0uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCisJCXtCRUMwMzEzMC1BNjRDLTQ4RjgtODYzQy01MkRBODNDRkIzQUV9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KKwkJe0JFQzAzMTMwLUE2NEMtNDhGOC04NjNDLTUyREE4M0NGQjNBRX0uUmVsZWFzZSBETEx8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZSBETEx8V2luMzINCisJCXtCRUMwMzEzMC1BNjRDLTQ4RjgtODYzQy01MkRBODNDRkIzQUV9LlJlbGVhc2UgRExMfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlIERMTHxXaW4zMg0KKwkJe0JFQzAzMTMwLUE2NEMtNDhGOC04NjNDLTUyREE4M0NGQjNBRX0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQorCQl7QkVDMDMxMzAtQTY0Qy00OEY4LTg2M0MtNTJEQTgzQ0ZCM0FFfS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQorCUVuZEdsb2JhbFNlY3Rpb24NCisJR2xvYmFsU2VjdGlvbihTb2x1dGlvblByb3BlcnRpZXMpID0gcHJlU29sdXRpb24NCisJCUhpZGVTb2x1dGlvbk5vZGUgPSBGQUxTRQ0KKwlFbmRHbG9iYWxTZWN0aW9uDQorRW5kR2xvYmFsDQpkaWZmIC0tZ2l0IGEvbGlieG1sMi93aW4zMi9WQzEwL2xpYnhtbDIudmN4cHJvaiBiL2xpYnhtbDIvd2luMzIvVkMxMC9saWJ4bWwyLnZjeHByb2oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDU4OGZhNgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvd2luMzIvVkMxMC9saWJ4bWwyLnZjeHByb2oKQEAgLTAsMCArMSwxMzcgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+DQorPFByb2plY3QgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiBUb29sc1ZlcnNpb249IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+DQorICA8SXRlbUdyb3VwIExhYmVsPSJQcm9qZWN0Q29uZmlndXJhdGlvbnMiPg0KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iRGVidWd8V2luMzIiPg0KKyAgICAgIDxDb25maWd1cmF0aW9uPkRlYnVnPC9Db25maWd1cmF0aW9uPg0KKyAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+DQorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+DQorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJSZWxlYXNlfFdpbjMyIj4NCisgICAgICA8Q29uZmlndXJhdGlvbj5SZWxlYXNlPC9Db25maWd1cmF0aW9uPg0KKyAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+DQorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+DQorICA8L0l0ZW1Hcm91cD4NCisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJHbG9iYWxzIj4NCisgICAgPFByb2plY3RHdWlkPnsxRDYwMzlGNi01MDc4LTQxNkYtQTNBRi1BMzZFRkM3RTZBMUN9PC9Qcm9qZWN0R3VpZD4NCisgICAgPFJvb3ROYW1lc3BhY2U+bGlieG1sMjwvUm9vdE5hbWVzcGFjZT4NCisgIDwvUHJvcGVydHlHcm91cD4NCisgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLkRlZmF1bHQucHJvcHMiIC8+DQorICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPg0KKyAgICA8Q29uZmlndXJhdGlvblR5cGU+U3RhdGljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+DQorICAgIDxVc2VEZWJ1Z0xpYnJhcmllcz50cnVlPC9Vc2VEZWJ1Z0xpYnJhcmllcz4NCisgICAgPENoYXJhY3RlclNldD5Vbmljb2RlPC9DaGFyYWN0ZXJTZXQ+DQorICA8L1Byb3BlcnR5R3JvdXA+DQorICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+DQorICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+DQorICAgIDxVc2VEZWJ1Z0xpYnJhcmllcz5mYWxzZTwvVXNlRGVidWdMaWJyYXJpZXM+DQorICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPg0KKyAgICA8Q2hhcmFjdGVyU2V0Pk11bHRpQnl0ZTwvQ2hhcmFjdGVyU2V0Pg0KKyAgPC9Qcm9wZXJ0eUdyb3VwPg0KKyAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAucHJvcHMiIC8+DQorICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblNldHRpbmdzIj4NCisgIDwvSW1wb3J0R3JvdXA+DQorICA8SW1wb3J0R3JvdXAgTGFiZWw9IlByb3BlcnR5U2hlZXRzIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+DQorICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4NCisgIDwvSW1wb3J0R3JvdXA+DQorICA8SW1wb3J0R3JvdXAgTGFiZWw9IlByb3BlcnR5U2hlZXRzIiBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj4NCisgICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPg0KKyAgPC9JbXBvcnRHcm91cD4NCisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJVc2VyTWFjcm9zIiAvPg0KKyAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPg0KKyAgICA8T3V0RGlyPiQoUHJvamVjdERpcikuLlwuLlxsaWJcPC9PdXREaXI+DQorICA8L1Byb3BlcnR5R3JvdXA+DQorICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+DQorICAgIDxJbnREaXI+YnVpbGRcJChQcm9qZWN0TmFtZSkkKENvbmZpZ3VyYXRpb24pXDwvSW50RGlyPg0KKyAgPC9Qcm9wZXJ0eUdyb3VwPg0KKyAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPg0KKyAgICA8Q2xDb21waWxlPg0KKyAgICAgIDxXYXJuaW5nTGV2ZWw+TGV2ZWwzPC9XYXJuaW5nTGV2ZWw+DQorICAgICAgPE9wdGltaXphdGlvbj5EaXNhYmxlZDwvT3B0aW1pemF0aW9uPg0KKyAgICAgIDxBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPiQoUHJvamVjdERpcik7JChQcm9qZWN0RGlyKS4uXC4uXGluY2x1ZGU7JChQcm9qZWN0RGlyKS4uXC4uXC4uXGxpYmljb252LTEuMTQudmMxMFxpbmNsdWRlOyUoQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcyk8L0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+DQorICAgICAgPERpc2FibGVTcGVjaWZpY1dhcm5pbmdzPjQ5OTY8L0Rpc2FibGVTcGVjaWZpY1dhcm5pbmdzPg0KKyAgICAgIDxNaW5pbWFsUmVidWlsZD5mYWxzZTwvTWluaW1hbFJlYnVpbGQ+DQorICAgICAgPE11bHRpUHJvY2Vzc29yQ29tcGlsYXRpb24+dHJ1ZTwvTXVsdGlQcm9jZXNzb3JDb21waWxhdGlvbj4NCisgICAgPC9DbENvbXBpbGU+DQorICAgIDxMaW5rPg0KKyAgICAgIDxHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+dHJ1ZTwvR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPg0KKyAgICA8L0xpbms+DQorICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+DQorICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj4NCisgICAgPENsQ29tcGlsZT4NCisgICAgICA8V2FybmluZ0xldmVsPkxldmVsMzwvV2FybmluZ0xldmVsPg0KKyAgICAgIDxPcHRpbWl6YXRpb24+TWF4U3BlZWQ8L09wdGltaXphdGlvbj4NCisgICAgICA8RnVuY3Rpb25MZXZlbExpbmtpbmc+dHJ1ZTwvRnVuY3Rpb25MZXZlbExpbmtpbmc+DQorICAgICAgPEludHJpbnNpY0Z1bmN0aW9ucz50cnVlPC9JbnRyaW5zaWNGdW5jdGlvbnM+DQorICAgIDwvQ2xDb21waWxlPg0KKyAgICA8TGluaz4NCisgICAgICA8R2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPnRydWU8L0dlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj4NCisgICAgICA8RW5hYmxlQ09NREFURm9sZGluZz50cnVlPC9FbmFibGVDT01EQVRGb2xkaW5nPg0KKyAgICAgIDxPcHRpbWl6ZVJlZmVyZW5jZXM+dHJ1ZTwvT3B0aW1pemVSZWZlcmVuY2VzPg0KKyAgICA8L0xpbms+DQorICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+DQorICA8SXRlbUdyb3VwPg0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXGJ1Zi5jIiAvPg0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXGMxNG4uYyIgLz4NCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxjYXRhbG9nLmMiIC8+DQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cY2h2YWxpZC5jIiAvPg0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXGRlYnVnWE1MLmMiIC8+DQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cZGljdC5jIiAvPg0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXERPQ0JwYXJzZXIuYyIgLz4NCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxlbmNvZGluZy5jIiAvPg0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXGVudGl0aWVzLmMiIC8+DQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cZXJyb3IuYyIgLz4NCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxnbG9iYWxzLmMiIC8+DQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5caGFzaC5jIiAvPg0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXEhUTUxwYXJzZXIuYyIgLz4NCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxIVE1MdHJlZS5jIiAvPg0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXGxlZ2FjeS5jIiAvPg0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXGxpc3QuYyIgLz4NCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxuYW5vZnRwLmMiIC8+DQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cbmFub2h0dHAuYyIgLz4NCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxwYXJzZXIuYyIgLz4NCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxwYXJzZXJJbnRlcm5hbHMuYyIgLz4NCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxwYXR0ZXJuLmMiIC8+DQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5ccmVsYXhuZy5jIiAvPg0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXFNBWC5jIiAvPg0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXFNBWDIuYyIgLz4NCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxzY2hlbWF0cm9uLmMiIC8+DQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cdGhyZWFkcy5jIiAvPg0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHRyZWUuYyIgLz4NCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlx1cmkuYyIgLz4NCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlx2YWxpZC5jIiAvPg0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHhpbmNsdWRlLmMiIC8+DQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5ceGxpbmsuYyIgLz4NCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlx4bWxjYXRhbG9nLmMiIC8+DQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5ceG1sSU8uYyIgLz4NCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlx4bWxtZW1vcnkuYyIgLz4NCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlx4bWxtb2R1bGUuYyIgLz4NCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlx4bWxyZWFkZXIuYyIgLz4NCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlx4bWxyZWdleHAuYyIgLz4NCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlx4bWxzYXZlLmMiIC8+DQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5ceG1sc2NoZW1hcy5jIiAvPg0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHhtbHNjaGVtYXN0eXBlcy5jIiAvPg0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHhtbHN0cmluZy5jIiAvPg0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHhtbHVuaWNvZGUuYyIgLz4NCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlx4bWx3cml0ZXIuYyIgLz4NCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlx4cGF0aC5jIiAvPg0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHhwb2ludGVyLmMiIC8+DQorICA8L0l0ZW1Hcm91cD4NCisgIDxJdGVtR3JvdXA+DQorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cYWNjb25maWcuaCIgLz4NCisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlwuLlxlbGZnY2NoYWNrLmgiIC8+DQorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cbGlieG1sLmgiIC8+DQorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iY29uZmlnLmgiIC8+DQorICA8L0l0ZW1Hcm91cD4NCisgIDxJdGVtR3JvdXA+DQorICAgIDxQcm9qZWN0UmVmZXJlbmNlIEluY2x1ZGU9Ii4uXC4uXC4uXGxpYmljb252LTEuMTQudmMxMFx3aW5kb3dzXFZDMTBcaWNvbnYudmN4cHJvaiI+DQorICAgICAgPFByb2plY3Q+e2JlYzAzMTMwLWE2NGMtNDhmOC04NjNjLTUyZGE4M2NmYjNhZX08L1Byb2plY3Q+DQorICAgICAgPFByaXZhdGU+dHJ1ZTwvUHJpdmF0ZT4NCisgICAgICA8UmVmZXJlbmNlT3V0cHV0QXNzZW1ibHk+dHJ1ZTwvUmVmZXJlbmNlT3V0cHV0QXNzZW1ibHk+DQorICAgICAgPENvcHlMb2NhbFNhdGVsbGl0ZUFzc2VtYmxpZXM+ZmFsc2U8L0NvcHlMb2NhbFNhdGVsbGl0ZUFzc2VtYmxpZXM+DQorICAgICAgPExpbmtMaWJyYXJ5RGVwZW5kZW5jaWVzPnRydWU8L0xpbmtMaWJyYXJ5RGVwZW5kZW5jaWVzPg0KKyAgICAgIDxVc2VMaWJyYXJ5RGVwZW5kZW5jeUlucHV0cz5mYWxzZTwvVXNlTGlicmFyeURlcGVuZGVuY3lJbnB1dHM+DQorICAgIDwvUHJvamVjdFJlZmVyZW5jZT4NCisgIDwvSXRlbUdyb3VwPg0KKyAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAudGFyZ2V0cyIgLz4NCisgIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uVGFyZ2V0cyI+DQorICA8L0ltcG9ydEdyb3VwPg0KKzwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9saWJ4bWwyL3dpbjMyL1ZDMTAvbGlieG1sMi52Y3hwcm9qLmZpbHRlcnMgYi9saWJ4bWwyL3dpbjMyL1ZDMTAvbGlieG1sMi52Y3hwcm9qLmZpbHRlcnMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZThlN2FmMwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvd2luMzIvVkMxMC9saWJ4bWwyLnZjeHByb2ouZmlsdGVycwpAQCAtMCwwICsxLDE3MSBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCis8UHJvamVjdCBUb29sc1ZlcnNpb249IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+DQorICA8SXRlbUdyb3VwPg0KKyAgICA8RmlsdGVyIEluY2x1ZGU9IlNvdXJjZSBGaWxlcyI+DQorICAgICAgPFVuaXF1ZUlkZW50aWZpZXI+ezRGQzczN0YxLUM3QTUtNDM3Ni1BMDY2LTJBMzJENzUyQTJGRn08L1VuaXF1ZUlkZW50aWZpZXI+DQorICAgICAgPEV4dGVuc2lvbnM+Y3BwO2M7Y2M7Y3h4O2RlZjtvZGw7aWRsO2hwajtiYXQ7YXNtO2FzbXg8L0V4dGVuc2lvbnM+DQorICAgIDwvRmlsdGVyPg0KKyAgICA8RmlsdGVyIEluY2x1ZGU9IkhlYWRlciBGaWxlcyI+DQorICAgICAgPFVuaXF1ZUlkZW50aWZpZXI+ezkzOTk1MzgwLTg5QkQtNGIwNC04OEVCLTYyNUZCRTUyRUJGQn08L1VuaXF1ZUlkZW50aWZpZXI+DQorICAgICAgPEV4dGVuc2lvbnM+aDtocHA7aHh4O2htO2lubDtpbmM7eHNkPC9FeHRlbnNpb25zPg0KKyAgICA8L0ZpbHRlcj4NCisgICAgPEZpbHRlciBJbmNsdWRlPSJSZXNvdXJjZSBGaWxlcyI+DQorICAgICAgPFVuaXF1ZUlkZW50aWZpZXI+ezY3REE2QUI2LUY4MDAtNGMwOC04QjdBLTgzQkIxMjFBQUQwMX08L1VuaXF1ZUlkZW50aWZpZXI+DQorICAgICAgPEV4dGVuc2lvbnM+cmM7aWNvO2N1cjtibXA7ZGxnO3JjMjtyY3Q7YmluO3JncztnaWY7anBnO2pwZWc7anBlO3Jlc3g7dGlmZjt0aWY7cG5nO3dhdjttZmNyaWJib24tbXM8L0V4dGVuc2lvbnM+DQorICAgIDwvRmlsdGVyPg0KKyAgICA8RmlsdGVyIEluY2x1ZGU9IkhlYWRlciBGaWxlc1x3aW5kb3dzIj4NCisgICAgICA8VW5pcXVlSWRlbnRpZmllcj57MjI3OTFjMTQtN2MwNy00MjIyLWFkNTgtOGMxOGQzZmIxMGJhfTwvVW5pcXVlSWRlbnRpZmllcj4NCisgICAgPC9GaWx0ZXI+DQorICAgIDxGaWx0ZXIgSW5jbHVkZT0iSGVhZGVyIEZpbGVzXHdpbmRvd3NcVkMxMCI+DQorICAgICAgPFVuaXF1ZUlkZW50aWZpZXI+e2JmZGRjOTlmLTA1ZDQtNGYwNi05OGQxLTM0NmIxYmU3M2Q2Zn08L1VuaXF1ZUlkZW50aWZpZXI+DQorICAgIDwvRmlsdGVyPg0KKyAgPC9JdGVtR3JvdXA+DQorICA8SXRlbUdyb3VwPg0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXGMxNG4uYyI+DQorICAgICAgPEZpbHRlcj5Tb3VyY2UgRmlsZXM8L0ZpbHRlcj4NCisgICAgPC9DbENvbXBpbGU+DQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cY2F0YWxvZy5jIj4NCisgICAgICA8RmlsdGVyPlNvdXJjZSBGaWxlczwvRmlsdGVyPg0KKyAgICA8L0NsQ29tcGlsZT4NCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxjaHZhbGlkLmMiPg0KKyAgICAgIDxGaWx0ZXI+U291cmNlIEZpbGVzPC9GaWx0ZXI+DQorICAgIDwvQ2xDb21waWxlPg0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXGRlYnVnWE1MLmMiPg0KKyAgICAgIDxGaWx0ZXI+U291cmNlIEZpbGVzPC9GaWx0ZXI+DQorICAgIDwvQ2xDb21waWxlPg0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXGRpY3QuYyI+DQorICAgICAgPEZpbHRlcj5Tb3VyY2UgRmlsZXM8L0ZpbHRlcj4NCisgICAgPC9DbENvbXBpbGU+DQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cRE9DQnBhcnNlci5jIj4NCisgICAgICA8RmlsdGVyPlNvdXJjZSBGaWxlczwvRmlsdGVyPg0KKyAgICA8L0NsQ29tcGlsZT4NCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxlbmNvZGluZy5jIj4NCisgICAgICA8RmlsdGVyPlNvdXJjZSBGaWxlczwvRmlsdGVyPg0KKyAgICA8L0NsQ29tcGlsZT4NCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxlbnRpdGllcy5jIj4NCisgICAgICA8RmlsdGVyPlNvdXJjZSBGaWxlczwvRmlsdGVyPg0KKyAgICA8L0NsQ29tcGlsZT4NCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxlcnJvci5jIj4NCisgICAgICA8RmlsdGVyPlNvdXJjZSBGaWxlczwvRmlsdGVyPg0KKyAgICA8L0NsQ29tcGlsZT4NCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxnbG9iYWxzLmMiPg0KKyAgICAgIDxGaWx0ZXI+U291cmNlIEZpbGVzPC9GaWx0ZXI+DQorICAgIDwvQ2xDb21waWxlPg0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXGhhc2guYyI+DQorICAgICAgPEZpbHRlcj5Tb3VyY2UgRmlsZXM8L0ZpbHRlcj4NCisgICAgPC9DbENvbXBpbGU+DQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cbGVnYWN5LmMiPg0KKyAgICAgIDxGaWx0ZXI+U291cmNlIEZpbGVzPC9GaWx0ZXI+DQorICAgIDwvQ2xDb21waWxlPg0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXGxpc3QuYyI+DQorICAgICAgPEZpbHRlcj5Tb3VyY2UgRmlsZXM8L0ZpbHRlcj4NCisgICAgPC9DbENvbXBpbGU+DQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5ccGFyc2VyLmMiPg0KKyAgICAgIDxGaWx0ZXI+U291cmNlIEZpbGVzPC9GaWx0ZXI+DQorICAgIDwvQ2xDb21waWxlPg0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHBhcnNlckludGVybmFscy5jIj4NCisgICAgICA8RmlsdGVyPlNvdXJjZSBGaWxlczwvRmlsdGVyPg0KKyAgICA8L0NsQ29tcGlsZT4NCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxwYXR0ZXJuLmMiPg0KKyAgICAgIDxGaWx0ZXI+U291cmNlIEZpbGVzPC9GaWx0ZXI+DQorICAgIDwvQ2xDb21waWxlPg0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHJlbGF4bmcuYyI+DQorICAgICAgPEZpbHRlcj5Tb3VyY2UgRmlsZXM8L0ZpbHRlcj4NCisgICAgPC9DbENvbXBpbGU+DQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cU0FYLmMiPg0KKyAgICAgIDxGaWx0ZXI+U291cmNlIEZpbGVzPC9GaWx0ZXI+DQorICAgIDwvQ2xDb21waWxlPg0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXFNBWDIuYyI+DQorICAgICAgPEZpbHRlcj5Tb3VyY2UgRmlsZXM8L0ZpbHRlcj4NCisgICAgPC9DbENvbXBpbGU+DQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cc2NoZW1hdHJvbi5jIj4NCisgICAgICA8RmlsdGVyPlNvdXJjZSBGaWxlczwvRmlsdGVyPg0KKyAgICA8L0NsQ29tcGlsZT4NCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlx0aHJlYWRzLmMiPg0KKyAgICAgIDxGaWx0ZXI+U291cmNlIEZpbGVzPC9GaWx0ZXI+DQorICAgIDwvQ2xDb21waWxlPg0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHRyZWUuYyI+DQorICAgICAgPEZpbHRlcj5Tb3VyY2UgRmlsZXM8L0ZpbHRlcj4NCisgICAgPC9DbENvbXBpbGU+DQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cdXJpLmMiPg0KKyAgICAgIDxGaWx0ZXI+U291cmNlIEZpbGVzPC9GaWx0ZXI+DQorICAgIDwvQ2xDb21waWxlPg0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHZhbGlkLmMiPg0KKyAgICAgIDxGaWx0ZXI+U291cmNlIEZpbGVzPC9GaWx0ZXI+DQorICAgIDwvQ2xDb21waWxlPg0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHhpbmNsdWRlLmMiPg0KKyAgICAgIDxGaWx0ZXI+U291cmNlIEZpbGVzPC9GaWx0ZXI+DQorICAgIDwvQ2xDb21waWxlPg0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHhsaW5rLmMiPg0KKyAgICAgIDxGaWx0ZXI+U291cmNlIEZpbGVzPC9GaWx0ZXI+DQorICAgIDwvQ2xDb21waWxlPg0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHhtbGNhdGFsb2cuYyI+DQorICAgICAgPEZpbHRlcj5Tb3VyY2UgRmlsZXM8L0ZpbHRlcj4NCisgICAgPC9DbENvbXBpbGU+DQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5ceG1sSU8uYyI+DQorICAgICAgPEZpbHRlcj5Tb3VyY2UgRmlsZXM8L0ZpbHRlcj4NCisgICAgPC9DbENvbXBpbGU+DQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5ceG1sbWVtb3J5LmMiPg0KKyAgICAgIDxGaWx0ZXI+U291cmNlIEZpbGVzPC9GaWx0ZXI+DQorICAgIDwvQ2xDb21waWxlPg0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHhtbG1vZHVsZS5jIj4NCisgICAgICA8RmlsdGVyPlNvdXJjZSBGaWxlczwvRmlsdGVyPg0KKyAgICA8L0NsQ29tcGlsZT4NCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlx4bWxyZWFkZXIuYyI+DQorICAgICAgPEZpbHRlcj5Tb3VyY2UgRmlsZXM8L0ZpbHRlcj4NCisgICAgPC9DbENvbXBpbGU+DQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5ceG1scmVnZXhwLmMiPg0KKyAgICAgIDxGaWx0ZXI+U291cmNlIEZpbGVzPC9GaWx0ZXI+DQorICAgIDwvQ2xDb21waWxlPg0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHhtbHNhdmUuYyI+DQorICAgICAgPEZpbHRlcj5Tb3VyY2UgRmlsZXM8L0ZpbHRlcj4NCisgICAgPC9DbENvbXBpbGU+DQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5ceG1sc2NoZW1hcy5jIj4NCisgICAgICA8RmlsdGVyPlNvdXJjZSBGaWxlczwvRmlsdGVyPg0KKyAgICA8L0NsQ29tcGlsZT4NCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlx4bWxzY2hlbWFzdHlwZXMuYyI+DQorICAgICAgPEZpbHRlcj5Tb3VyY2UgRmlsZXM8L0ZpbHRlcj4NCisgICAgPC9DbENvbXBpbGU+DQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5ceG1sc3RyaW5nLmMiPg0KKyAgICAgIDxGaWx0ZXI+U291cmNlIEZpbGVzPC9GaWx0ZXI+DQorICAgIDwvQ2xDb21waWxlPg0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHhtbHVuaWNvZGUuYyI+DQorICAgICAgPEZpbHRlcj5Tb3VyY2UgRmlsZXM8L0ZpbHRlcj4NCisgICAgPC9DbENvbXBpbGU+DQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5ceG1sd3JpdGVyLmMiPg0KKyAgICAgIDxGaWx0ZXI+U291cmNlIEZpbGVzPC9GaWx0ZXI+DQorICAgIDwvQ2xDb21waWxlPg0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHhwYXRoLmMiPg0KKyAgICAgIDxGaWx0ZXI+U291cmNlIEZpbGVzPC9GaWx0ZXI+DQorICAgIDwvQ2xDb21waWxlPg0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHhwb2ludGVyLmMiPg0KKyAgICAgIDxGaWx0ZXI+U291cmNlIEZpbGVzPC9GaWx0ZXI+DQorICAgIDwvQ2xDb21waWxlPg0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXG5hbm9odHRwLmMiPg0KKyAgICAgIDxGaWx0ZXI+U291cmNlIEZpbGVzPC9GaWx0ZXI+DQorICAgIDwvQ2xDb21waWxlPg0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXG5hbm9mdHAuYyI+DQorICAgICAgPEZpbHRlcj5Tb3VyY2UgRmlsZXM8L0ZpbHRlcj4NCisgICAgPC9DbENvbXBpbGU+DQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5cSFRNTHBhcnNlci5jIj4NCisgICAgICA8RmlsdGVyPlNvdXJjZSBGaWxlczwvRmlsdGVyPg0KKyAgICA8L0NsQ29tcGlsZT4NCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlwuLlxIVE1MdHJlZS5jIj4NCisgICAgICA8RmlsdGVyPlNvdXJjZSBGaWxlczwvRmlsdGVyPg0KKyAgICA8L0NsQ29tcGlsZT4NCisgIDwvSXRlbUdyb3VwPg0KKyAgPEl0ZW1Hcm91cD4NCisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSJjb25maWcuaCI+DQorICAgICAgPEZpbHRlcj5IZWFkZXIgRmlsZXNcd2luZG93c1xWQzEwPC9GaWx0ZXI+DQorICAgIDwvQ2xJbmNsdWRlPg0KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXC4uXGFjY29uZmlnLmgiPg0KKyAgICAgIDxGaWx0ZXI+SGVhZGVyIEZpbGVzPC9GaWx0ZXI+DQorICAgIDwvQ2xJbmNsdWRlPg0KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXC4uXGVsZmdjY2hhY2suaCI+DQorICAgICAgPEZpbHRlcj5IZWFkZXIgRmlsZXM8L0ZpbHRlcj4NCisgICAgPC9DbEluY2x1ZGU+DQorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cLi5cbGlieG1sLmgiPg0KKyAgICAgIDxGaWx0ZXI+SGVhZGVyIEZpbGVzPC9GaWx0ZXI+DQorICAgIDwvQ2xJbmNsdWRlPg0KKyAgPC9JdGVtR3JvdXA+DQorPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvd2luMzIvVkMxMC9ydW5zdWl0ZS52Y3hwcm9qIGIvbGlieG1sMi93aW4zMi9WQzEwL3J1bnN1aXRlLnZjeHByb2oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODNjYzk5MQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvd2luMzIvVkMxMC9ydW5zdWl0ZS52Y3hwcm9qCkBAIC0wLDAgKzEsODUgQEAKK++7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+DQorPFByb2plY3QgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiBUb29sc1ZlcnNpb249IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+DQorICA8SXRlbUdyb3VwIExhYmVsPSJQcm9qZWN0Q29uZmlndXJhdGlvbnMiPg0KKyAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5jbHVkZT0iRGVidWd8V2luMzIiPg0KKyAgICAgIDxDb25maWd1cmF0aW9uPkRlYnVnPC9Db25maWd1cmF0aW9uPg0KKyAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+DQorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+DQorICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSJSZWxlYXNlfFdpbjMyIj4NCisgICAgICA8Q29uZmlndXJhdGlvbj5SZWxlYXNlPC9Db25maWd1cmF0aW9uPg0KKyAgICAgIDxQbGF0Zm9ybT5XaW4zMjwvUGxhdGZvcm0+DQorICAgIDwvUHJvamVjdENvbmZpZ3VyYXRpb24+DQorICA8L0l0ZW1Hcm91cD4NCisgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJHbG9iYWxzIj4NCisgICAgPFByb2plY3RHdWlkPntEODQxQjRGNy1DMjc3LTQ5Q0ItQjM3OS04QjE4MDFDOEVFMzV9PC9Qcm9qZWN0R3VpZD4NCisgICAgPFJvb3ROYW1lc3BhY2U+cnVuc3VpdGU8L1Jvb3ROYW1lc3BhY2U+DQorICA8L1Byb3BlcnR5R3JvdXA+DQorICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5EZWZhdWx0LnByb3BzIiAvPg0KKyAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4NCisgICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4NCisgICAgPFVzZURlYnVnTGlicmFyaWVzPnRydWU8L1VzZURlYnVnTGlicmFyaWVzPg0KKyAgICA8Q2hhcmFjdGVyU2V0PlVuaWNvZGU8L0NoYXJhY3RlclNldD4NCisgIDwvUHJvcGVydHlHcm91cD4NCisgIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4NCisgICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4NCisgICAgPFVzZURlYnVnTGlicmFyaWVzPmZhbHNlPC9Vc2VEZWJ1Z0xpYnJhcmllcz4NCisgICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+DQorICAgIDxDaGFyYWN0ZXJTZXQ+TXVsdGlCeXRlPC9DaGFyYWN0ZXJTZXQ+DQorICA8L1Byb3BlcnR5R3JvdXA+DQorICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5wcm9wcyIgLz4NCisgIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uU2V0dGluZ3MiPg0KKyAgPC9JbXBvcnRHcm91cD4NCisgIDxJbXBvcnRHcm91cCBMYWJlbD0iUHJvcGVydHlTaGVldHMiIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj4NCisgICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPg0KKyAgPC9JbXBvcnRHcm91cD4NCisgIDxJbXBvcnRHcm91cCBMYWJlbD0iUHJvcGVydHlTaGVldHMiIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPg0KKyAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+DQorICA8L0ltcG9ydEdyb3VwPg0KKyAgPFByb3BlcnR5R3JvdXAgTGFiZWw9IlVzZXJNYWNyb3MiIC8+DQorICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+DQorICAgIDxPdXREaXI+JChQcm9qZWN0RGlyKS4uXC4uXGxpYlw8L091dERpcj4NCisgICAgPEludERpcj5idWlsZFwkKFByb2plY3ROYW1lKSQoQ29uZmlndXJhdGlvbilcPC9JbnREaXI+DQorICA8L1Byb3BlcnR5R3JvdXA+DQorICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+DQorICAgIDxDbENvbXBpbGU+DQorICAgICAgPFdhcm5pbmdMZXZlbD5MZXZlbDM8L1dhcm5pbmdMZXZlbD4NCisgICAgICA8T3B0aW1pemF0aW9uPkRpc2FibGVkPC9PcHRpbWl6YXRpb24+DQorICAgICAgPEFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM+JChQcm9qZWN0RGlyKTskKFByb2plY3REaXIpLi5cLi5caW5jbHVkZTskKFByb2plY3REaXIpLi5cLi5cLi5cbGliaWNvbnYtMS4xNC52YzEwXGluY2x1ZGU7JShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKTwvQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz4NCisgICAgICA8RGlzYWJsZVNwZWNpZmljV2FybmluZ3M+NDk5NjwvRGlzYWJsZVNwZWNpZmljV2FybmluZ3M+DQorICAgICAgPFByZXByb2Nlc3NvckRlZmluaXRpb25zPl9VTklDT0RFO1VOSUNPREU7JShQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyk8L1ByZXByb2Nlc3NvckRlZmluaXRpb25zPg0KKyAgICAgIDxBZGRpdGlvbmFsT3B0aW9ucz4vTVAgJShBZGRpdGlvbmFsT3B0aW9ucyk8L0FkZGl0aW9uYWxPcHRpb25zPg0KKyAgICAgIDxNaW5pbWFsUmVidWlsZD5mYWxzZTwvTWluaW1hbFJlYnVpbGQ+DQorICAgIDwvQ2xDb21waWxlPg0KKyAgICA8TGluaz4NCisgICAgICA8R2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPnRydWU8L0dlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj4NCisgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz5XczJfMzIubGliOyUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+DQorICAgIDwvTGluaz4NCisgIDwvSXRlbURlZmluaXRpb25Hcm91cD4NCisgIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPg0KKyAgICA8Q2xDb21waWxlPg0KKyAgICAgIDxXYXJuaW5nTGV2ZWw+TGV2ZWwzPC9XYXJuaW5nTGV2ZWw+DQorICAgICAgPE9wdGltaXphdGlvbj5NYXhTcGVlZDwvT3B0aW1pemF0aW9uPg0KKyAgICAgIDxGdW5jdGlvbkxldmVsTGlua2luZz50cnVlPC9GdW5jdGlvbkxldmVsTGlua2luZz4NCisgICAgICA8SW50cmluc2ljRnVuY3Rpb25zPnRydWU8L0ludHJpbnNpY0Z1bmN0aW9ucz4NCisgICAgPC9DbENvbXBpbGU+DQorICAgIDxMaW5rPg0KKyAgICAgIDxHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+dHJ1ZTwvR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPg0KKyAgICAgIDxFbmFibGVDT01EQVRGb2xkaW5nPnRydWU8L0VuYWJsZUNPTURBVEZvbGRpbmc+DQorICAgICAgPE9wdGltaXplUmVmZXJlbmNlcz50cnVlPC9PcHRpbWl6ZVJlZmVyZW5jZXM+DQorICAgIDwvTGluaz4NCisgIDwvSXRlbURlZmluaXRpb25Hcm91cD4NCisgIDxJdGVtR3JvdXA+DQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cLi5ccnVuc3VpdGUuYyIgLz4NCisgIDwvSXRlbUdyb3VwPg0KKyAgPEl0ZW1Hcm91cD4NCisgICAgPFByb2plY3RSZWZlcmVuY2UgSW5jbHVkZT0iLi5cLi5cLi5cbGliaWNvbnYtMS4xNC52YzEwXHdpbmRvd3NcVkMxMFxpY29udi52Y3hwcm9qIj4NCisgICAgICA8UHJvamVjdD57YmVjMDMxMzAtYTY0Yy00OGY4LTg2M2MtNTJkYTgzY2ZiM2FlfTwvUHJvamVjdD4NCisgICAgPC9Qcm9qZWN0UmVmZXJlbmNlPg0KKyAgICA8UHJvamVjdFJlZmVyZW5jZSBJbmNsdWRlPSJsaWJ4bWwyLnZjeHByb2oiPg0KKyAgICAgIDxQcm9qZWN0PnsxZDYwMzlmNi01MDc4LTQxNmYtYTNhZi1hMzZlZmM3ZTZhMWN9PC9Qcm9qZWN0Pg0KKyAgICA8L1Byb2plY3RSZWZlcmVuY2U+DQorICA8L0l0ZW1Hcm91cD4NCisgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnRhcmdldHMiIC8+DQorICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblRhcmdldHMiPg0KKyAgPC9JbXBvcnRHcm91cD4NCis8L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi93aW4zMi9WQzEwL3J1bnN1aXRlLnZjeHByb2ouZmlsdGVycyBiL2xpYnhtbDIvd2luMzIvVkMxMC9ydW5zdWl0ZS52Y3hwcm9qLmZpbHRlcnMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDdkY2UwMAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvd2luMzIvVkMxMC9ydW5zdWl0ZS52Y3hwcm9qLmZpbHRlcnMKQEAgLTAsMCArMSwyMiBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCis8UHJvamVjdCBUb29sc1ZlcnNpb249IjQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+DQorICA8SXRlbUdyb3VwPg0KKyAgICA8RmlsdGVyIEluY2x1ZGU9IlNvdXJjZSBGaWxlcyI+DQorICAgICAgPFVuaXF1ZUlkZW50aWZpZXI+ezRGQzczN0YxLUM3QTUtNDM3Ni1BMDY2LTJBMzJENzUyQTJGRn08L1VuaXF1ZUlkZW50aWZpZXI+DQorICAgICAgPEV4dGVuc2lvbnM+Y3BwO2M7Y2M7Y3h4O2RlZjtvZGw7aWRsO2hwajtiYXQ7YXNtO2FzbXg8L0V4dGVuc2lvbnM+DQorICAgIDwvRmlsdGVyPg0KKyAgICA8RmlsdGVyIEluY2x1ZGU9IkhlYWRlciBGaWxlcyI+DQorICAgICAgPFVuaXF1ZUlkZW50aWZpZXI+ezkzOTk1MzgwLTg5QkQtNGIwNC04OEVCLTYyNUZCRTUyRUJGQn08L1VuaXF1ZUlkZW50aWZpZXI+DQorICAgICAgPEV4dGVuc2lvbnM+aDtocHA7aHh4O2htO2lubDtpbmM7eHNkPC9FeHRlbnNpb25zPg0KKyAgICA8L0ZpbHRlcj4NCisgICAgPEZpbHRlciBJbmNsdWRlPSJSZXNvdXJjZSBGaWxlcyI+DQorICAgICAgPFVuaXF1ZUlkZW50aWZpZXI+ezY3REE2QUI2LUY4MDAtNGMwOC04QjdBLTgzQkIxMjFBQUQwMX08L1VuaXF1ZUlkZW50aWZpZXI+DQorICAgICAgPEV4dGVuc2lvbnM+cmM7aWNvO2N1cjtibXA7ZGxnO3JjMjtyY3Q7YmluO3JncztnaWY7anBnO2pwZWc7anBlO3Jlc3g7dGlmZjt0aWY7cG5nO3dhdjttZmNyaWJib24tbXM8L0V4dGVuc2lvbnM+DQorICAgIDwvRmlsdGVyPg0KKyAgPC9JdGVtR3JvdXA+DQorICA8SXRlbUdyb3VwPg0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXC4uXHJ1bnN1aXRlLmMiPg0KKyAgICAgIDxGaWx0ZXI+U291cmNlIEZpbGVzPC9GaWx0ZXI+DQorICAgIDwvQ2xDb21waWxlPg0KKyAgPC9JdGVtR3JvdXA+DQorPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvd2luMzIvY29uZmlndXJlLmpzIGIvbGlieG1sMi93aW4zMi9jb25maWd1cmUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTJiOWJhMAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvd2luMzIvY29uZmlndXJlLmpzCkBAIC0wLDAgKzEsNzA4IEBACisvKiBDb25maWd1cmUgc2NyaXB0IGZvciBsaWJ4bWwsIHNwZWNpZmljIGZvciBXaW5kb3dzIHdpdGggU2NyaXB0aW5nIEhvc3QuCisgKiAKKyAqIFRoaXMgc2NyaXB0IHdpbGwgY29uZmlndXJlIHRoZSBsaWJ4bWwgYnVpbGQgcHJvY2VzcyBhbmQgY3JlYXRlIG5lY2Vzc2FyeSBmaWxlcy4KKyAqIFJ1biBpdCB3aXRoIGFuICdoZWxwJywgb3IgYW4gaW52YWxpZCBvcHRpb24gYW5kIGl0IHdpbGwgdGVsbCB5b3Ugd2hhdCBvcHRpb25zCisgKiBpdCBhY2NlcHRzLgorICoKKyAqIE1hcmNoIDIwMDIsIElnb3IgWmxhdGtvdmljIDxpZ29yQHpsYXRrb3ZpYy5jb20+CisgKi8KKworLyogVGhlIHNvdXJjZSBkaXJlY3RvcnksIHJlbGF0aXZlIHRvIHRoZSBvbmUgd2hlcmUgdGhpcyBmaWxlIHJlc2lkZXMuICovCit2YXIgc3JjRGlyWG1sID0gIi4uIjsKK3ZhciBzcmNEaXJVdGlscyA9ICIuLiI7CisvKiBCYXNlIG5hbWUgb2Ygd2hhdCB3ZSBhcmUgYnVpbGRpbmcuICovCit2YXIgYmFzZU5hbWUgPSAibGlieG1sMiI7CisvKiBDb25maWd1cmUgZmlsZSB3aGljaCBjb250YWlucyB0aGUgdmVyc2lvbiBhbmQgdGhlIG91dHB1dCBmaWxlIHdoZXJlCisgICB3ZSBjYW4gc3RvcmUgb3VyIGJ1aWxkIGNvbmZpZ3VyYXRpb24uICovCit2YXIgY29uZmlnRmlsZSA9IHNyY0RpclhtbCArICJcXGNvbmZpZ3VyZS5hYyI7Cit2YXIgdmVyc2lvbkZpbGUgPSAiLlxcY29uZmlnLm1zdmMiOworLyogSW5wdXQgYW5kIG91dHB1dCBmaWxlcyByZWdhcmRpbmcgdGhlIGxpYnhtbCBmZWF0dXJlcy4gKi8KK3ZhciBvcHRzRmlsZUluID0gc3JjRGlyWG1sICsgIlxcaW5jbHVkZVxcbGlieG1sXFx4bWx2ZXJzaW9uLmguaW4iOwordmFyIG9wdHNGaWxlID0gc3JjRGlyWG1sICsgIlxcaW5jbHVkZVxcbGlieG1sXFx4bWx2ZXJzaW9uLmgiOworLyogVmVyc2lvbiBzdHJpbmdzIGZvciB0aGUgYmluYXJ5IGRpc3RyaWJ1dGlvbi4gV2lsbCBiZSBmaWxsZWQgbGF0ZXIgCisgICBpbiB0aGUgY29kZS4gKi8KK3ZhciB2ZXJNYWpvcjsKK3ZhciB2ZXJNaW5vcjsKK3ZhciB2ZXJNaWNybzsKK3ZhciB2ZXJNaWNyb1N1ZmZpeDsKK3ZhciB2ZXJDdnM7Cit2YXIgdXNlQ3ZzVmVyID0gdHJ1ZTsKKy8qIExpYnhtbCBmZWF0dXJlcy4gKi8KK3ZhciB3aXRoVHJpbyA9IGZhbHNlOwordmFyIHdpdGhUaHJlYWRzID0gIm5hdGl2ZSI7Cit2YXIgd2l0aEZ0cCA9IHRydWU7Cit2YXIgd2l0aEh0dHAgPSB0cnVlOwordmFyIHdpdGhIdG1sID0gdHJ1ZTsKK3ZhciB3aXRoQzE0biA9IHRydWU7Cit2YXIgd2l0aENhdGFsb2cgPSB0cnVlOwordmFyIHdpdGhEb2NiID0gdHJ1ZTsKK3ZhciB3aXRoWHBhdGggPSB0cnVlOwordmFyIHdpdGhYcHRyID0gdHJ1ZTsKK3ZhciB3aXRoWGluY2x1ZGUgPSB0cnVlOwordmFyIHdpdGhJY29udiA9IHRydWU7Cit2YXIgd2l0aEljdSA9IGZhbHNlOwordmFyIHdpdGhJc284ODU5eCA9IGZhbHNlOwordmFyIHdpdGhabGliID0gZmFsc2U7Cit2YXIgd2l0aEx6bWEgPSBmYWxzZTsKK3ZhciB3aXRoRGVidWcgPSB0cnVlOwordmFyIHdpdGhNZW1EZWJ1ZyA9IGZhbHNlOwordmFyIHdpdGhSdW5EZWJ1ZyA9IGZhbHNlOwordmFyIHdpdGhTY2hlbWFzID0gdHJ1ZTsKK3ZhciB3aXRoU2NoZW1hdHJvbiA9IHRydWU7Cit2YXIgd2l0aFJlZ0V4cHMgPSB0cnVlOwordmFyIHdpdGhNb2R1bGVzID0gdHJ1ZTsKK3ZhciB3aXRoVHJlZSA9IHRydWU7Cit2YXIgd2l0aFJlYWRlciA9IHRydWU7Cit2YXIgd2l0aFdyaXRlciA9IHRydWU7Cit2YXIgd2l0aFdhbGtlciA9IHRydWU7Cit2YXIgd2l0aFBhdHRlcm4gPSB0cnVlOwordmFyIHdpdGhQdXNoID0gdHJ1ZTsKK3ZhciB3aXRoVmFsaWQgPSB0cnVlOwordmFyIHdpdGhTYXgxID0gdHJ1ZTsKK3ZhciB3aXRoTGVnYWN5ID0gdHJ1ZTsKK3ZhciB3aXRoT3V0cHV0ID0gdHJ1ZTsKK3ZhciB3aXRoUHl0aG9uID0gZmFsc2U7CisvKiBXaW4zMiBidWlsZCBvcHRpb25zLiAqLwordmFyIGRpclNlcCA9ICJcXCI7Cit2YXIgY29tcGlsZXIgPSAibXN2YyI7Cit2YXIgY3J1bnRpbWUgPSAiL01EIjsKK3ZhciBkeW5ydW50aW1lID0gdHJ1ZTsKK3ZhciB2Y21hbmlmZXN0ID0gZmFsc2U7Cit2YXIgYnVpbGREZWJ1ZyA9IDA7Cit2YXIgYnVpbGRTdGF0aWMgPSAwOwordmFyIGJ1aWxkUHJlZml4ID0gIi4iOwordmFyIGJ1aWxkQmluUHJlZml4ID0gIiI7Cit2YXIgYnVpbGRJbmNQcmVmaXggPSAiIjsKK3ZhciBidWlsZExpYlByZWZpeCA9ICIiOwordmFyIGJ1aWxkU29QcmVmaXggPSAiIjsKK3ZhciBidWlsZEluY2x1ZGUgPSAiLiI7Cit2YXIgYnVpbGRMaWIgPSAiLiI7CisvKiBMb2NhbCBzdHVmZiAqLwordmFyIGVycm9yID0gMDsKKworLyogSGVscGVyIGZ1bmN0aW9uLCB0cmFuc2Zvcm1zIHRoZSBvcHRpb24gdmFyaWFibGUgaW50byB0aGUgJ0VuYWJsZWQnCisgICBvciAnRGlzYWJsZWQnIHN0cmluZy4gKi8KK2Z1bmN0aW9uIGJvb2xUb1N0cihvcHQpCit7CisJaWYgKG9wdCA9PSBmYWxzZSkKKwkJcmV0dXJuICJubyI7CisJZWxzZSBpZiAob3B0ID09IHRydWUpCisJCXJldHVybiAieWVzIjsKKwllcnJvciA9IDE7CisJcmV0dXJuICIqKiogdW5kZWZpbmVkICoqKiI7Cit9CisKKy8qIEhlbHBlciBmdW5jdGlvbiwgdHJhbnNmb3JtcyB0aGUgYXJndW1lbnQgc3RyaW5nIGludG8gYSBib29sZWFuCisgICB2YWx1ZS4gKi8KK2Z1bmN0aW9uIHN0clRvQm9vbChvcHQpCit7CisJaWYgKG9wdCA9PSAwIHx8IG9wdCA9PSAibm8iKQorCQlyZXR1cm4gZmFsc2U7CisJZWxzZSBpZiAob3B0ID09IDEgfHwgb3B0ID09ICJ5ZXMiKQorCQlyZXR1cm4gdHJ1ZTsKKwllcnJvciA9IDE7CisJcmV0dXJuIGZhbHNlOworfQorCisvKiBEaXNwbGF5cyB0aGUgZGV0YWlscyBhYm91dCBob3cgdG8gdXNlIHRoaXMgc2NyaXB0LiAqLworZnVuY3Rpb24gdXNhZ2UoKQoreworCXZhciB0eHQ7CisJdHh0ID0gIlVzYWdlOlxuIjsKKwl0eHQgKz0gIiAgY3NjcmlwdCAiICsgV1NjcmlwdC5TY3JpcHROYW1lICsgIiA8b3B0aW9ucz5cbiI7CisJdHh0ICs9ICIgIGNzY3JpcHQgIiArIFdTY3JpcHQuU2NyaXB0TmFtZSArICIgaGVscFxuXG4iOworCXR4dCArPSAiT3B0aW9ucyBjYW4gYmUgc3BlY2lmaWVkIGluIHRoZSBmb3JtIDxvcHRpb24+PTx2YWx1ZT4sIHdoZXJlIHRoZSB2YWx1ZSBpc1xuIjsKKwl0eHQgKz0gImVpdGhlciAneWVzJyBvciAnbm8nLCBpZiBub3Qgc3RhdGVkIG90aGVyd2lzZS5cblxuIjsKKwl0eHQgKz0gIlxuWE1MIHByb2Nlc3NvciBvcHRpb25zLCBkZWZhdWx0IHZhbHVlIGdpdmVuIGluIHBhcmVudGhlc2VzOlxuXG4iOworCXR4dCArPSAiICB0cmlvOiAgICAgICBFbmFibGUgVFJJTyBzdHJpbmcgbWFuaXB1bGF0b3IgKCIgKyAod2l0aFRyaW8/ICJ5ZXMiIDogIm5vIikgICsgIilcbiI7CisJdHh0ICs9ICIgIHRocmVhZHM6ICAgIEVuYWJsZSB0aHJlYWQgc2FmZXR5IFtub3xjdGxzfG5hdGl2ZXxwb3NpeF0gKCIgKyAod2l0aFRocmVhZHMpICArICIpIFxuIjsKKwl0eHQgKz0gIiAgZnRwOiAgICAgICAgRW5hYmxlIEZUUCBjbGllbnQgKCIgKyAod2l0aEZ0cD8gInllcyIgOiAibm8iKSAgKyAiKVxuIjsKKwl0eHQgKz0gIiAgaHR0cDogICAgICAgRW5hYmxlIEhUVFAgY2xpZW50ICgiICsgKHdpdGhIdHRwPyAieWVzIiA6ICJubyIpICArICIpXG4iOworCXR4dCArPSAiICBodG1sOiAgICAgICBFbmFibGUgSFRNTCBwcm9jZXNzb3IgKCIgKyAod2l0aEh0bWw/ICJ5ZXMiIDogIm5vIikgICsgIilcbiI7CisJdHh0ICs9ICIgIGMxNG46ICAgICAgIEVuYWJsZSBDMTROIHN1cHBvcnQgKCIgKyAod2l0aEMxNG4/ICJ5ZXMiIDogIm5vIikgICsgIilcbiI7CisJdHh0ICs9ICIgIGNhdGFsb2c6ICAgIEVuYWJsZSBjYXRhbG9nIHN1cHBvcnQgKCIgKyAod2l0aENhdGFsb2c/ICJ5ZXMiIDogIm5vIikgICsgIilcbiI7CisJdHh0ICs9ICIgIGRvY2I6ICAgICAgIEVuYWJsZSBEb2NCb29rIHN1cHBvcnQgKCIgKyAod2l0aERvY2I/ICJ5ZXMiIDogIm5vIikgICsgIilcbiI7CisJdHh0ICs9ICIgIHhwYXRoOiAgICAgIEVuYWJsZSBYUGF0aCBzdXBwb3J0ICgiICsgKHdpdGhYcGF0aD8gInllcyIgOiAibm8iKSAgKyAiKVxuIjsKKwl0eHQgKz0gIiAgeHB0cjogICAgICAgRW5hYmxlIFhQb2ludGVyIHN1cHBvcnQgKCIgKyAod2l0aFhwdHI/ICJ5ZXMiIDogIm5vIikgICsgIilcbiI7CisJdHh0ICs9ICIgIHhpbmNsdWRlOiAgIEVuYWJsZSBYSW5jbHVkZSBzdXBwb3J0ICgiICsgKHdpdGhYaW5jbHVkZT8gInllcyIgOiAibm8iKSAgKyAiKVxuIjsKKwl0eHQgKz0gIiAgaWNvbnY6ICAgICAgRW5hYmxlIGljb252IHN1cHBvcnQgKCIgKyAod2l0aEljb252PyAieWVzIiA6ICJubyIpICArICIpXG4iOworCXR4dCArPSAiICBpY3U6ICAgICAgICBFbmFibGUgaWN1IHN1cHBvcnQgKCIgKyAod2l0aEljdT8gInllcyIgOiAibm8iKSAgKyAiKVxuIjsKKwl0eHQgKz0gIiAgaXNvODg1OXg6ICAgRW5hYmxlIElTTzg4NTlYIHN1cHBvcnQgKCIgKyAod2l0aElzbzg4NTl4PyAieWVzIiA6ICJubyIpICArICIpXG4iOworCXR4dCArPSAiICB6bGliOiAgICAgICBFbmFibGUgemxpYiBzdXBwb3J0ICgiICsgKHdpdGhabGliPyAieWVzIiA6ICJubyIpICArICIpXG4iOworCXR4dCArPSAiICBsem1hOiAgICAgICBFbmFibGUgbHptYSBzdXBwb3J0ICgiICsgKHdpdGhMem1hPyAieWVzIiA6ICJubyIpICArICIpXG4iOworCXR4dCArPSAiICB4bWxfZGVidWc6ICBFbmFibGUgWE1MIGRlYmJ1Z2dpbmcgbW9kdWxlICgiICsgKHdpdGhEZWJ1Zz8gInllcyIgOiAibm8iKSAgKyAiKVxuIjsKKwl0eHQgKz0gIiAgbWVtX2RlYnVnOiAgRW5hYmxlIG1lbW9yeSBkZWJ1Z2dlciAoIiArICh3aXRoTWVtRGVidWc/ICJ5ZXMiIDogIm5vIikgICsgIilcbiI7CisJdHh0ICs9ICIgIHJ1bl9kZWJ1ZzogIEVuYWJsZSBtZW1vcnkgZGVidWdnZXIgKCIgKyAod2l0aFJ1bkRlYnVnPyAieWVzIiA6ICJubyIpICArICIpXG4iOworCXR4dCArPSAiICByZWdleHBzOiAgICBFbmFibGUgcmVndWxhciBleHByZXNzaW9ucyAoIiArICh3aXRoUmVnRXhwcz8gInllcyIgOiAibm8iKSArICIpXG4iOworCXR4dCArPSAiICBtb2R1bGVzOiAgICBFbmFibGUgbW9kdWxlIHN1cHBvcnQgKCIgKyAod2l0aE1vZHVsZXM/ICJ5ZXMiIDogIm5vIikgKyAiKVxuIjsKKwl0eHQgKz0gIiAgdHJlZTogICAgICAgRW5hYmxlIHRyZWUgYXBpICgiICsgKHdpdGhUcmVlPyAieWVzIiA6ICJubyIpICsgIilcbiI7CisJdHh0ICs9ICIgIHJlYWRlcjogICAgIEVuYWJsZSB4bWxSZWFkZXIgYXBpICgiICsgKHdpdGhSZWFkZXI/ICJ5ZXMiIDogIm5vIikgKyAiKVxuIjsKKwl0eHQgKz0gIiAgd3JpdGVyOiAgICAgRW5hYmxlIHhtbFdyaXRlciBhcGkgKCIgKyAod2l0aFdyaXRlcj8gInllcyIgOiAibm8iKSArICIpXG4iOworCXR4dCArPSAiICB3YWxrZXI6ICAgICBFbmFibGUgeG1sRG9jV2Fsa2VyIGFwaSAoIiArICh3aXRoV2Fsa2VyPyAieWVzIiA6ICJubyIpICsgIilcbiI7CisJdHh0ICs9ICIgIHBhdHRlcm46ICAgIEVuYWJsZSB4bWxQYXR0ZXJuIGFwaSAoIiArICh3aXRoUGF0dGVybj8gInllcyIgOiAibm8iKSAgKyAiKVxuIjsKKwl0eHQgKz0gIiAgcHVzaDogICAgICAgRW5hYmxlIHB1c2ggYXBpICgiICsgKHdpdGhQdXNoPyAieWVzIiA6ICJubyIpICsgIilcbiI7CisJdHh0ICs9ICIgIHZhbGlkOiAgICAgIEVuYWJsZSBEVEQgdmFsaWRhdGlvbiBzdXBwb3J0ICgiICsgKHdpdGhWYWxpZD8gInllcyIgOiAibm8iKSArICIpXG4iOworCXR4dCArPSAiICBzYXgxOiAgICAgICBFbmFibGUgU0FYMSBhcGkgKCIgKyAod2l0aFNheDE/ICJ5ZXMiIDogIm5vIikgKyAiKVxuIjsKKwl0eHQgKz0gIiAgbGVnYWN5OiAgICAgRW5hYmxlIERlcHJlY2F0ZWQgYXBpJ3MgKCIgKyAod2l0aExlZ2FjeT8gInllcyIgOiAibm8iKSArICIpXG4iOworCXR4dCArPSAiICBvdXRwdXQ6ICAgICBFbmFibGUgc2VyaWFsaXphdGlvbiBzdXBwb3J0ICgiICsgKHdpdGhPdXRwdXQ/ICJ5ZXMiIDogIm5vIikgKyAiKVxuIjsKKwl0eHQgKz0gIiAgc2NoZW1hczogICAgRW5hYmxlIFhNTCBTY2hlbWEgc3VwcG9ydCAoIiArICh3aXRoU2NoZW1hcz8gInllcyIgOiAibm8iKSAgKyAiKVxuIjsKKwl0eHQgKz0gIiAgc2NoZW1hdHJvbjogRW5hYmxlIFNjaGVtYXRyb24gc3VwcG9ydCAoIiArICh3aXRoU2NoZW1hdHJvbj8gInllcyIgOiAibm8iKSAgKyAiKVxuIjsKKwl0eHQgKz0gIiAgcHl0aG9uOiAgICAgQnVpbGQgUHl0aG9uIGJpbmRpbmdzICgiICsgKHdpdGhQeXRob24/ICJ5ZXMiIDogIm5vIikgICsgIilcbiI7CisJdHh0ICs9ICJcbldpbjMyIGJ1aWxkIG9wdGlvbnMsIGRlZmF1bHQgdmFsdWUgZ2l2ZW4gaW4gcGFyZW50aGVzZXM6XG5cbiI7CisJdHh0ICs9ICIgIGNvbXBpbGVyOiAgIENvbXBpbGVyIHRvIGJlIHVzZWQgW21zdmN8bWluZ3d8YmNiXSAoIiArIGNvbXBpbGVyICsgIilcbiI7CisJdHh0ICs9ICIgIGNydW50aW1lOiAgIEMtcnVudGltZSBjb21waWxlciBvcHRpb24gKG9ubHkgbXN2YykgKCIgKyBjcnVudGltZSArICIpXG4iOworCXR4dCArPSAiICBkeW5ydW50aW1lOiBVc2UgdGhlIGR5bmFtaWMgUlRMIChvbmx5IGJjYikgKCIgKyBkeW5ydW50aW1lICsgIilcbiI7CisJdHh0ICs9ICIgIHZjbWFuaWZlc3Q6IEVtYmVkIFZDIG1hbmlmZXN0IChvbmx5IG1zdmMpICgiICsgKHZjbWFuaWZlc3Q/ICJ5ZXMiIDogIm5vIikgKyAiKVxuIjsKKwl0eHQgKz0gIiAgZGVidWc6ICAgICAgQnVpbGQgdW5vcHRpbWlzZWQgZGVidWcgZXhlY3V0YWJsZXMgKCIgKyAoYnVpbGREZWJ1Zz8gInllcyIgOiAibm8iKSAgKyAiKVxuIjsKKwl0eHQgKz0gIiAgc3RhdGljOiAgICAgTGluayB4bWxsaW50IHN0YXRpY2FsbHkgdG8gbGlieG1sMiAoIiArIChidWlsZFN0YXRpYz8gInllcyIgOiAibm8iKSAgKyAiKVxuIjsKKwl0eHQgKz0gIiAgICAgICAgICAgICAgTm90ZTogYXV0b21hdGljYWxseSBlbmFibGVkIGlmIGNydW50aW1lIGlzIG5vdCAvTUQgb3IgL01EZFxuIjsKKwl0eHQgKz0gIiAgcHJlZml4OiAgICAgQmFzZSBkaXJlY3RvcnkgZm9yIHRoZSBpbnN0YWxsYXRpb24gKCIgKyBidWlsZFByZWZpeCArICIpXG4iOworCXR4dCArPSAiICBiaW5kaXI6ICAgICBEaXJlY3Rvcnkgd2hlcmUgeG1sbGludCBhbmQgZnJpZW5kcyBzaG91bGQgYmUgaW5zdGFsbGVkXG4iOworCXR4dCArPSAiICAgICAgICAgICAgICAoIiArIGJ1aWxkQmluUHJlZml4ICsgIilcbiI7CisJdHh0ICs9ICIgIGluY2RpcjogICAgIERpcmVjdG9yeSB3aGVyZSBoZWFkZXJzIHNob3VsZCBiZSBpbnN0YWxsZWRcbiI7CisJdHh0ICs9ICIgICAgICAgICAgICAgICgiICsgYnVpbGRJbmNQcmVmaXggKyAiKVxuIjsKKwl0eHQgKz0gIiAgbGliZGlyOiAgICAgRGlyZWN0b3J5IHdoZXJlIHN0YXRpYyBhbmQgaW1wb3J0IGxpYnJhcmllcyBzaG91bGQgYmVcbiI7CisJdHh0ICs9ICIgICAgICAgICAgICAgIGluc3RhbGxlZCAoIiArIGJ1aWxkTGliUHJlZml4ICsgIilcbiI7CisJdHh0ICs9ICIgIHNvZGlyOiAgICAgIERpcmVjdG9yeSB3aGVyZSBzaGFyZWQgbGlicmFyaWVzIHNob3VsZCBiZSBpbnN0YWxsZWRcbiI7IAorCXR4dCArPSAiICAgICAgICAgICAgICAoIiArIGJ1aWxkU29QcmVmaXggKyAiKVxuIjsKKwl0eHQgKz0gIiAgaW5jbHVkZTogICAgQWRkaXRpb25hbCBzZWFyY2ggcGF0aCBmb3IgdGhlIGNvbXBpbGVyLCBwYXJ0aWN1bGFyaWx5XG4iOworCXR4dCArPSAiICAgICAgICAgICAgICB3aGVyZSBpY29udiBoZWFkZXJzIGNhbiBiZSBmb3VuZCAoIiArIGJ1aWxkSW5jbHVkZSArICIpXG4iOworCXR4dCArPSAiICBsaWI6ICAgICAgICBBZGRpdGlvbmFsIHNlYXJjaCBwYXRoIGZvciB0aGUgbGlua2VyLCBwYXJ0aWN1bGFyaWx5XG4iOworCXR4dCArPSAiICAgICAgICAgICAgICB3aGVyZSBpY29udiBsaWJyYXJ5IGNhbiBiZSBmb3VuZCAoIiArIGJ1aWxkTGliICsgIilcbiI7CisJV1NjcmlwdC5FY2hvKHR4dCk7Cit9CisKKy8qIERpc2NvdmVycyB0aGUgdmVyc2lvbiB3ZSBhcmUgd29ya2luZyB3aXRoIGJ5IHJlYWRpbmcgdGhlIGFwcm9wcmlhdGUKKyAgIGNvbmZpZ3VyYXRpb24gZmlsZS4gRGVzcGl0ZSBpdHMgbmFtZSwgdGhpcyBhbHNvIHdyaXRlcyB0aGUgY29uZmlndXJhdGlvbgorICAgZmlsZSBpbmNsdWRlZCBieSBvdXIgbWFrZWZpbGUuICovCitmdW5jdGlvbiBkaXNjb3ZlclZlcnNpb24oKQoreworCXZhciBmc28sIGNmLCB2ZiwgbG4sIHMsIGlEb3QsIGlTbGFzaDsKKwlmc28gPSBuZXcgQWN0aXZlWE9iamVjdCgiU2NyaXB0aW5nLkZpbGVTeXN0ZW1PYmplY3QiKTsKKwl2ZXJDdnMgPSAiIjsKKwlpZiAodXNlQ3ZzVmVyICYmIGZzby5GaWxlRXhpc3RzKCIuLlxcQ1ZTXFxFbnRyaWVzIikpIHsKKwkJY2YgPSBmc28uT3BlblRleHRGaWxlKCIuLlxcQ1ZTXFxFbnRyaWVzIiwgMSk7CisJCXdoaWxlIChjZi5BdEVuZE9mU3RyZWFtICE9IHRydWUpIHsKKwkJCWxuID0gY2YuUmVhZExpbmUoKTsKKwkJCXMgPSBuZXcgU3RyaW5nKGxuKTsKKwkJCWlmIChzLnNlYXJjaCgvXlwvQ2hhbmdlTG9nXC8vKSAhPSAtMSkgeworCQkJCWlEb3QgPSBzLmluZGV4T2YoIi4iKTsKKwkJCQlpU2xhc2ggPSBzLmluZGV4T2YoIi8iLCBpRG90KTsKKwkJCQl2ZXJDdnMgPSAiQ1ZTIiArIHMuc3Vic3RyaW5nKGlEb3QgKyAxLCBpU2xhc2gpOworCQkJCWJyZWFrOworCQkJfQorCQl9CisJCWNmLkNsb3NlKCk7CisJfQorCWNmID0gZnNvLk9wZW5UZXh0RmlsZShjb25maWdGaWxlLCAxKTsKKwlpZiAoY29tcGlsZXIgPT0gIm1zdmMiKQorCQl2ZXJzaW9uRmlsZSA9ICIuXFxjb25maWcubXN2YyI7CisJZWxzZSBpZiAoY29tcGlsZXIgPT0gIm1pbmd3IikKKwkJdmVyc2lvbkZpbGUgPSAiLlxcY29uZmlnLm1pbmd3IjsKKwllbHNlIGlmIChjb21waWxlciA9PSAiYmNiIikKKwkJdmVyc2lvbkZpbGUgPSAiLlxcY29uZmlnLmJjYiI7CisJdmYgPSBmc28uQ3JlYXRlVGV4dEZpbGUodmVyc2lvbkZpbGUsIHRydWUpOworCXZmLldyaXRlTGluZSgiIyAiICsgdmVyc2lvbkZpbGUpOworCXZmLldyaXRlTGluZSgiIyBUaGlzIGZpbGUgaXMgZ2VuZXJhdGVkIGF1dG9tYXRpY2FsbHkgYnkgIiArIFdTY3JpcHQuU2NyaXB0TmFtZSArICIuIik7CisJdmYuV3JpdGVCbGFua0xpbmVzKDEpOworCXdoaWxlIChjZi5BdEVuZE9mU3RyZWFtICE9IHRydWUpIHsKKwkJbG4gPSBjZi5SZWFkTGluZSgpOworCQlzID0gbmV3IFN0cmluZyhsbik7CisJCWlmIChzLnNlYXJjaCgvXkxJQlhNTF9NQUpPUl9WRVJTSU9OPS8pICE9IC0xKSB7CisJCQl2Zi5Xcml0ZUxpbmUocyk7CisJCQl2ZXJNYWpvciA9IHMuc3Vic3RyaW5nKHMuaW5kZXhPZigiPSIpICsgMSwgcy5sZW5ndGgpCisJCX0gZWxzZSBpZihzLnNlYXJjaCgvXkxJQlhNTF9NSU5PUl9WRVJTSU9OPS8pICE9IC0xKSB7CisJCQl2Zi5Xcml0ZUxpbmUocyk7CisJCQl2ZXJNaW5vciA9IHMuc3Vic3RyaW5nKHMuaW5kZXhPZigiPSIpICsgMSwgcy5sZW5ndGgpCisJCX0gZWxzZSBpZihzLnNlYXJjaCgvXkxJQlhNTF9NSUNST19WRVJTSU9OPS8pICE9IC0xKSB7CisJCQl2Zi5Xcml0ZUxpbmUocyk7CisJCQl2ZXJNaWNybyA9IHMuc3Vic3RyaW5nKHMuaW5kZXhPZigiPSIpICsgMSwgcy5sZW5ndGgpCisJCX0gZWxzZSBpZihzLnNlYXJjaCgvXkxJQlhNTF9NSUNST19WRVJTSU9OX1NVRkZJWD0vKSAhPSAtMSkgeworCQkJdmYuV3JpdGVMaW5lKHMpOworCQkJdmVyTWljcm9TdWZmaXggPSBzLnN1YnN0cmluZyhzLmluZGV4T2YoIj0iKSArIDEsIHMubGVuZ3RoKQorCQl9CisJfQorCWNmLkNsb3NlKCk7CisJdmYuV3JpdGVMaW5lKCJYTUxfU1JDRElSPSIgKyBzcmNEaXJYbWwpOworCXZmLldyaXRlTGluZSgiVVRJTFNfU1JDRElSPSIgKyBzcmNEaXJVdGlscyk7CisJdmYuV3JpdGVMaW5lKCJXSVRIX1RSSU89IiArICh3aXRoVHJpbz8gIjEiIDogIjAiKSk7CisJdmYuV3JpdGVMaW5lKCJXSVRIX1RIUkVBRFM9IiArIHdpdGhUaHJlYWRzKTsKKwl2Zi5Xcml0ZUxpbmUoIldJVEhfRlRQPSIgKyAod2l0aEZ0cD8gIjEiIDogIjAiKSk7CisJdmYuV3JpdGVMaW5lKCJXSVRIX0hUVFA9IiArICh3aXRoSHR0cD8gIjEiIDogIjAiKSk7CisJdmYuV3JpdGVMaW5lKCJXSVRIX0hUTUw9IiArICh3aXRoSHRtbD8gIjEiIDogIjAiKSk7CisJdmYuV3JpdGVMaW5lKCJXSVRIX0MxNE49IiArICh3aXRoQzE0bj8gIjEiIDogIjAiKSk7CisJdmYuV3JpdGVMaW5lKCJXSVRIX0NBVEFMT0c9IiArICh3aXRoQ2F0YWxvZz8gIjEiIDogIjAiKSk7CisJdmYuV3JpdGVMaW5lKCJXSVRIX0RPQ0I9IiArICh3aXRoRG9jYj8gIjEiIDogIjAiKSk7CisJdmYuV3JpdGVMaW5lKCJXSVRIX1hQQVRIPSIgKyAod2l0aFhwYXRoPyAiMSIgOiAiMCIpKTsKKwl2Zi5Xcml0ZUxpbmUoIldJVEhfWFBUUj0iICsgKHdpdGhYcHRyPyAiMSIgOiAiMCIpKTsKKwl2Zi5Xcml0ZUxpbmUoIldJVEhfWElOQ0xVREU9IiArICh3aXRoWGluY2x1ZGU/ICIxIiA6ICIwIikpOworCXZmLldyaXRlTGluZSgiV0lUSF9JQ09OVj0iICsgKHdpdGhJY29udj8gIjEiIDogIjAiKSk7CisJdmYuV3JpdGVMaW5lKCJXSVRIX0lDVT0iICsgKHdpdGhJY3U/ICIxIiA6ICIwIikpOworCXZmLldyaXRlTGluZSgiV0lUSF9JU084ODU5WD0iICsgKHdpdGhJc284ODU5eD8gIjEiIDogIjAiKSk7CisJdmYuV3JpdGVMaW5lKCJXSVRIX1pMSUI9IiArICh3aXRoWmxpYj8gIjEiIDogIjAiKSk7CisJdmYuV3JpdGVMaW5lKCJXSVRIX0xaTUE9IiArICh3aXRoTHptYT8gIjEiIDogIjAiKSk7CisJdmYuV3JpdGVMaW5lKCJXSVRIX0RFQlVHPSIgKyAod2l0aERlYnVnPyAiMSIgOiAiMCIpKTsKKwl2Zi5Xcml0ZUxpbmUoIldJVEhfTUVNX0RFQlVHPSIgKyAod2l0aE1lbURlYnVnPyAiMSIgOiAiMCIpKTsKKwl2Zi5Xcml0ZUxpbmUoIldJVEhfUlVOX0RFQlVHPSIgKyAod2l0aFJ1bkRlYnVnPyAiMSIgOiAiMCIpKTsKKwl2Zi5Xcml0ZUxpbmUoIldJVEhfU0NIRU1BUz0iICsgKHdpdGhTY2hlbWFzPyAiMSIgOiAiMCIpKTsKKwl2Zi5Xcml0ZUxpbmUoIldJVEhfU0NIRU1BVFJPTj0iICsgKHdpdGhTY2hlbWF0cm9uPyAiMSIgOiAiMCIpKTsKKwl2Zi5Xcml0ZUxpbmUoIldJVEhfUkVHRVhQUz0iICsgKHdpdGhSZWdFeHBzPyAiMSIgOiAiMCIpKTsKKwl2Zi5Xcml0ZUxpbmUoIldJVEhfTU9EVUxFUz0iICsgKHdpdGhNb2R1bGVzPyAiMSIgOiAiMCIpKTsKKwl2Zi5Xcml0ZUxpbmUoIldJVEhfVFJFRT0iICsgKHdpdGhUcmVlPyAiMSIgOiAiMCIpKTsKKwl2Zi5Xcml0ZUxpbmUoIldJVEhfUkVBREVSPSIgKyAod2l0aFJlYWRlcj8gIjEiIDogIjAiKSk7CisJdmYuV3JpdGVMaW5lKCJXSVRIX1dSSVRFUj0iICsgKHdpdGhXcml0ZXI/ICIxIiA6ICIwIikpOworCXZmLldyaXRlTGluZSgiV0lUSF9XQUxLRVI9IiArICh3aXRoV2Fsa2VyPyAiMSIgOiAiMCIpKTsKKwl2Zi5Xcml0ZUxpbmUoIldJVEhfUEFUVEVSTj0iICsgKHdpdGhQYXR0ZXJuPyAiMSIgOiAiMCIpKTsKKwl2Zi5Xcml0ZUxpbmUoIldJVEhfUFVTSD0iICsgKHdpdGhQdXNoPyAiMSIgOiAiMCIpKTsKKwl2Zi5Xcml0ZUxpbmUoIldJVEhfVkFMSUQ9IiArICh3aXRoVmFsaWQ/ICIxIiA6ICIwIikpOworCXZmLldyaXRlTGluZSgiV0lUSF9TQVgxPSIgKyAod2l0aFNheDE/ICIxIiA6ICIwIikpOworCXZmLldyaXRlTGluZSgiV0lUSF9MRUdBQ1k9IiArICh3aXRoTGVnYWN5PyAiMSIgOiAiMCIpKTsKKwl2Zi5Xcml0ZUxpbmUoIldJVEhfT1VUUFVUPSIgKyAod2l0aE91dHB1dD8gIjEiIDogIjAiKSk7CisJdmYuV3JpdGVMaW5lKCJXSVRIX1BZVEhPTj0iICsgKHdpdGhQeXRob24/ICIxIiA6ICIwIikpOworCXZmLldyaXRlTGluZSgiREVCVUc9IiArIChidWlsZERlYnVnPyAiMSIgOiAiMCIpKTsKKwl2Zi5Xcml0ZUxpbmUoIlNUQVRJQz0iICsgKGJ1aWxkU3RhdGljPyAiMSIgOiAiMCIpKTsKKwl2Zi5Xcml0ZUxpbmUoIlBSRUZJWD0iICsgYnVpbGRQcmVmaXgpOworCXZmLldyaXRlTGluZSgiQklOUFJFRklYPSIgKyBidWlsZEJpblByZWZpeCk7CisJdmYuV3JpdGVMaW5lKCJJTkNQUkVGSVg9IiArIGJ1aWxkSW5jUHJlZml4KTsKKwl2Zi5Xcml0ZUxpbmUoIkxJQlBSRUZJWD0iICsgYnVpbGRMaWJQcmVmaXgpOworCXZmLldyaXRlTGluZSgiU09QUkVGSVg9IiArIGJ1aWxkU29QcmVmaXgpOworCWlmIChjb21waWxlciA9PSAibXN2YyIpIHsKKwkJdmYuV3JpdGVMaW5lKCJJTkNMVURFPSQoSU5DTFVERSk7IiArIGJ1aWxkSW5jbHVkZSk7CisJCXZmLldyaXRlTGluZSgiTElCPSQoTElCKTsiICsgYnVpbGRMaWIpOworCQl2Zi5Xcml0ZUxpbmUoIkNSVU5USU1FPSIgKyBjcnVudGltZSk7CisJCXZmLldyaXRlTGluZSgiVkNNQU5JRkVTVD0iICsgKHZjbWFuaWZlc3Q/ICIxIiA6ICIwIikpOworCX0gZWxzZSBpZiAoY29tcGlsZXIgPT0gIm1pbmd3IikgeworCQl2Zi5Xcml0ZUxpbmUoIklOQ0xVREUrPSAtSSIgKyBidWlsZEluY2x1ZGUpOworCQl2Zi5Xcml0ZUxpbmUoIkxJQis9IC1MIiArIGJ1aWxkTGliKTsKKwl9IGVsc2UgaWYgKGNvbXBpbGVyID09ICJiY2IiKSB7CisJCXZmLldyaXRlTGluZSgiSU5DTFVERT0iICsgYnVpbGRJbmNsdWRlKTsKKwkJdmYuV3JpdGVMaW5lKCJMSUI9IiArIGJ1aWxkTGliKTsKKwkJdmYuV3JpdGVMaW5lKCJEWU5SVU5USU1FPSIgKyAoZHlucnVudGltZT8gIjEiIDogIjAiKSk7CisJfQorCXZmLkNsb3NlKCk7Cit9CisKKy8qIENvbmZpZ3VyZXMgbGlieG1sLiBUaGlzIG9uZSB3aWxsIGdlbmVyYXRlIHhtbHZlcnNpb24uaCBmcm9tIHhtbHZlcnNpb24uaC5pbgorICAgdGFraW5nIHdoYXQgdGhlIHVzZXIgcGFzc2VkIG9uIHRoZSBjb21tYW5kIGxpbmUgaW50byBhY2NvdW50LiAqLworZnVuY3Rpb24gY29uZmlndXJlTGlieG1sKCkKK3sKKwl2YXIgZnNvLCBvZmksIG9mLCBsbiwgczsKKwlmc28gPSBuZXcgQWN0aXZlWE9iamVjdCgiU2NyaXB0aW5nLkZpbGVTeXN0ZW1PYmplY3QiKTsKKwlvZmkgPSBmc28uT3BlblRleHRGaWxlKG9wdHNGaWxlSW4sIDEpOworCW9mID0gZnNvLkNyZWF0ZVRleHRGaWxlKG9wdHNGaWxlLCB0cnVlKTsKKwl3aGlsZSAob2ZpLkF0RW5kT2ZTdHJlYW0gIT0gdHJ1ZSkgeworCQlsbiA9IG9maS5SZWFkTGluZSgpOworCQlzID0gbmV3IFN0cmluZyhsbik7CisJCWlmIChzLnNlYXJjaCgvXEBWRVJTSU9OXEAvKSAhPSAtMSkgeworCQkJb2YuV3JpdGVMaW5lKHMucmVwbGFjZSgvXEBWRVJTSU9OXEAvLCAKKwkJCQl2ZXJNYWpvciArICIuIiArIHZlck1pbm9yICsgIi4iICsgdmVyTWljcm8gKyB2ZXJNaWNyb1N1ZmZpeCkpOworCQl9IGVsc2UgaWYgKHMuc2VhcmNoKC9cQExJQlhNTF9WRVJTSU9OX05VTUJFUlxALykgIT0gLTEpIHsKKwkJCW9mLldyaXRlTGluZShzLnJlcGxhY2UoL1xATElCWE1MX1ZFUlNJT05fTlVNQkVSXEAvLCAKKwkJCQl2ZXJNYWpvcioxMDAwMCArIHZlck1pbm9yKjEwMCArIHZlck1pY3JvKjEpKTsKKwkJfSBlbHNlIGlmIChzLnNlYXJjaCgvXEBMSUJYTUxfVkVSU0lPTl9FWFRSQVxALykgIT0gLTEpIHsKKwkJCW9mLldyaXRlTGluZShzLnJlcGxhY2UoL1xATElCWE1MX1ZFUlNJT05fRVhUUkFcQC8sIHZlckN2cykpOworCQl9IGVsc2UgaWYgKHMuc2VhcmNoKC9cQFdJVEhfVFJJT1xALykgIT0gLTEpIHsKKwkJCW9mLldyaXRlTGluZShzLnJlcGxhY2UoL1xAV0lUSF9UUklPXEAvLCB3aXRoVHJpbz8gIjEiIDogIjAiKSk7CisJCX0gZWxzZSBpZiAocy5zZWFyY2goL1xAV0lUSF9USFJFQURTXEAvKSAhPSAtMSkgeworCQkJb2YuV3JpdGVMaW5lKHMucmVwbGFjZSgvXEBXSVRIX1RIUkVBRFNcQC8sIHdpdGhUaHJlYWRzID09ICJubyI/ICIwIiA6ICIxIikpOworCQl9IGVsc2UgaWYgKHMuc2VhcmNoKC9cQFdJVEhfVEhSRUFEX0FMTE9DXEAvKSAhPSAtMSkgeworCQkJb2YuV3JpdGVMaW5lKHMucmVwbGFjZSgvXEBXSVRIX1RIUkVBRF9BTExPQ1xALywgIjAiKSk7CisJCX0gZWxzZSBpZiAocy5zZWFyY2goL1xAV0lUSF9GVFBcQC8pICE9IC0xKSB7CisJCQlvZi5Xcml0ZUxpbmUocy5yZXBsYWNlKC9cQFdJVEhfRlRQXEAvLCB3aXRoRnRwPyAiMSIgOiAiMCIpKTsKKwkJfSBlbHNlIGlmIChzLnNlYXJjaCgvXEBXSVRIX0hUVFBcQC8pICE9IC0xKSB7CisJCQlvZi5Xcml0ZUxpbmUocy5yZXBsYWNlKC9cQFdJVEhfSFRUUFxALywgd2l0aEh0dHA/ICIxIiA6ICIwIikpOworCQl9IGVsc2UgaWYgKHMuc2VhcmNoKC9cQFdJVEhfSFRNTFxALykgIT0gLTEpIHsKKwkJCW9mLldyaXRlTGluZShzLnJlcGxhY2UoL1xAV0lUSF9IVE1MXEAvLCB3aXRoSHRtbD8gIjEiIDogIjAiKSk7CisJCX0gZWxzZSBpZiAocy5zZWFyY2goL1xAV0lUSF9DMTROXEAvKSAhPSAtMSkgeworCQkJb2YuV3JpdGVMaW5lKHMucmVwbGFjZSgvXEBXSVRIX0MxNE5cQC8sIHdpdGhDMTRuPyAiMSIgOiAiMCIpKTsKKwkJfSBlbHNlIGlmIChzLnNlYXJjaCgvXEBXSVRIX0NBVEFMT0dcQC8pICE9IC0xKSB7CisJCQlvZi5Xcml0ZUxpbmUocy5yZXBsYWNlKC9cQFdJVEhfQ0FUQUxPR1xALywgd2l0aENhdGFsb2c/ICIxIiA6ICIwIikpOworCQl9IGVsc2UgaWYgKHMuc2VhcmNoKC9cQFdJVEhfRE9DQlxALykgIT0gLTEpIHsKKwkJCW9mLldyaXRlTGluZShzLnJlcGxhY2UoL1xAV0lUSF9ET0NCXEAvLCB3aXRoRG9jYj8gIjEiIDogIjAiKSk7CisJCX0gZWxzZSBpZiAocy5zZWFyY2goL1xAV0lUSF9YUEFUSFxALykgIT0gLTEpIHsKKwkJCW9mLldyaXRlTGluZShzLnJlcGxhY2UoL1xAV0lUSF9YUEFUSFxALywgd2l0aFhwYXRoPyAiMSIgOiAiMCIpKTsKKwkJfSBlbHNlIGlmIChzLnNlYXJjaCgvXEBXSVRIX1hQVFJcQC8pICE9IC0xKSB7CisJCQlvZi5Xcml0ZUxpbmUocy5yZXBsYWNlKC9cQFdJVEhfWFBUUlxALywgd2l0aFhwdHI/ICIxIiA6ICIwIikpOworCQl9IGVsc2UgaWYgKHMuc2VhcmNoKC9cQFdJVEhfWElOQ0xVREVcQC8pICE9IC0xKSB7CisJCQlvZi5Xcml0ZUxpbmUocy5yZXBsYWNlKC9cQFdJVEhfWElOQ0xVREVcQC8sIHdpdGhYaW5jbHVkZT8gIjEiIDogIjAiKSk7CisJCX0gZWxzZSBpZiAocy5zZWFyY2goL1xAV0lUSF9JQ09OVlxALykgIT0gLTEpIHsKKwkJCW9mLldyaXRlTGluZShzLnJlcGxhY2UoL1xAV0lUSF9JQ09OVlxALywgd2l0aEljb252PyAiMSIgOiAiMCIpKTsKKwkJfSBlbHNlIGlmIChzLnNlYXJjaCgvXEBXSVRIX0lDVVxALykgIT0gLTEpIHsKKwkJCW9mLldyaXRlTGluZShzLnJlcGxhY2UoL1xAV0lUSF9JQ1VcQC8sIHdpdGhJY3U/ICIxIiA6ICIwIikpOworCQl9IGVsc2UgaWYgKHMuc2VhcmNoKC9cQFdJVEhfSVNPODg1OVhcQC8pICE9IC0xKSB7CisJCQlvZi5Xcml0ZUxpbmUocy5yZXBsYWNlKC9cQFdJVEhfSVNPODg1OVhcQC8sIHdpdGhJc284ODU5eD8gIjEiIDogIjAiKSk7CisJCX0gZWxzZSBpZiAocy5zZWFyY2goL1xAV0lUSF9aTElCXEAvKSAhPSAtMSkgeworCQkJb2YuV3JpdGVMaW5lKHMucmVwbGFjZSgvXEBXSVRIX1pMSUJcQC8sIHdpdGhabGliPyAiMSIgOiAiMCIpKTsKKwkJfSBlbHNlIGlmIChzLnNlYXJjaCgvXEBXSVRIX0xaTUFcQC8pICE9IC0xKSB7CisJCQlvZi5Xcml0ZUxpbmUocy5yZXBsYWNlKC9cQFdJVEhfTFpNQVxALywgd2l0aEx6bWE/ICIxIiA6ICIwIikpOworCQl9IGVsc2UgaWYgKHMuc2VhcmNoKC9cQFdJVEhfREVCVUdcQC8pICE9IC0xKSB7CisJCQlvZi5Xcml0ZUxpbmUocy5yZXBsYWNlKC9cQFdJVEhfREVCVUdcQC8sIHdpdGhEZWJ1Zz8gIjEiIDogIjAiKSk7CisJCX0gZWxzZSBpZiAocy5zZWFyY2goL1xAV0lUSF9NRU1fREVCVUdcQC8pICE9IC0xKSB7CisJCQlvZi5Xcml0ZUxpbmUocy5yZXBsYWNlKC9cQFdJVEhfTUVNX0RFQlVHXEAvLCB3aXRoTWVtRGVidWc/ICIxIiA6ICIwIikpOworCQl9IGVsc2UgaWYgKHMuc2VhcmNoKC9cQFdJVEhfUlVOX0RFQlVHXEAvKSAhPSAtMSkgeworCQkJb2YuV3JpdGVMaW5lKHMucmVwbGFjZSgvXEBXSVRIX1JVTl9ERUJVR1xALywgd2l0aFJ1bkRlYnVnPyAiMSIgOiAiMCIpKTsKKwkJfSBlbHNlIGlmIChzLnNlYXJjaCgvXEBXSVRIX1NDSEVNQVNcQC8pICE9IC0xKSB7CisJCQlvZi5Xcml0ZUxpbmUocy5yZXBsYWNlKC9cQFdJVEhfU0NIRU1BU1xALywgd2l0aFNjaGVtYXM/ICIxIiA6ICIwIikpOworCQl9IGVsc2UgaWYgKHMuc2VhcmNoKC9cQFdJVEhfU0NIRU1BVFJPTlxALykgIT0gLTEpIHsKKwkJCW9mLldyaXRlTGluZShzLnJlcGxhY2UoL1xAV0lUSF9TQ0hFTUFUUk9OXEAvLCB3aXRoU2NoZW1hdHJvbj8gIjEiIDogIjAiKSk7CisJCX0gZWxzZSBpZiAocy5zZWFyY2goL1xAV0lUSF9SRUdFWFBTXEAvKSAhPSAtMSkgeworCQkJb2YuV3JpdGVMaW5lKHMucmVwbGFjZSgvXEBXSVRIX1JFR0VYUFNcQC8sIHdpdGhSZWdFeHBzPyAiMSIgOiAiMCIpKTsKKwkJfSBlbHNlIGlmIChzLnNlYXJjaCgvXEBXSVRIX01PRFVMRVNcQC8pICE9IC0xKSB7CisJCQlvZi5Xcml0ZUxpbmUocy5yZXBsYWNlKC9cQFdJVEhfTU9EVUxFU1xALywgd2l0aE1vZHVsZXM/ICIxIiA6ICIwIikpOworCQl9IGVsc2UgaWYgKHMuc2VhcmNoKC9cQE1PRFVMRV9FWFRFTlNJT05cQC8pICE9IC0xKSB7CisJCQlvZi5Xcml0ZUxpbmUocy5yZXBsYWNlKC9cQE1PRFVMRV9FWFRFTlNJT05cQC8sICIuZGxsIikpOworCQl9IGVsc2UgaWYgKHMuc2VhcmNoKC9cQFdJVEhfVFJFRVxALykgIT0gLTEpIHsKKwkJCW9mLldyaXRlTGluZShzLnJlcGxhY2UoL1xAV0lUSF9UUkVFXEAvLCB3aXRoVHJlZT8gIjEiIDogIjAiKSk7CisJCX0gZWxzZSBpZiAocy5zZWFyY2goL1xAV0lUSF9SRUFERVJcQC8pICE9IC0xKSB7CisJCQlvZi5Xcml0ZUxpbmUocy5yZXBsYWNlKC9cQFdJVEhfUkVBREVSXEAvLCB3aXRoUmVhZGVyPyAiMSIgOiAiMCIpKTsKKwkJfSBlbHNlIGlmIChzLnNlYXJjaCgvXEBXSVRIX1dSSVRFUlxALykgIT0gLTEpIHsKKwkJCW9mLldyaXRlTGluZShzLnJlcGxhY2UoL1xAV0lUSF9XUklURVJcQC8sIHdpdGhXcml0ZXI/ICIxIiA6ICIwIikpOworCQl9IGVsc2UgaWYgKHMuc2VhcmNoKC9cQFdJVEhfV0FMS0VSXEAvKSAhPSAtMSkgeworCQkJb2YuV3JpdGVMaW5lKHMucmVwbGFjZSgvXEBXSVRIX1dBTEtFUlxALywgd2l0aFdhbGtlcj8gIjEiIDogIjAiKSk7CisJCX0gZWxzZSBpZiAocy5zZWFyY2goL1xAV0lUSF9QQVRURVJOXEAvKSAhPSAtMSkgeworCQkJb2YuV3JpdGVMaW5lKHMucmVwbGFjZSgvXEBXSVRIX1BBVFRFUk5cQC8sIHdpdGhQYXR0ZXJuPyAiMSIgOiAiMCIpKTsKKwkJfSBlbHNlIGlmIChzLnNlYXJjaCgvXEBXSVRIX1BVU0hcQC8pICE9IC0xKSB7CisJCQlvZi5Xcml0ZUxpbmUocy5yZXBsYWNlKC9cQFdJVEhfUFVTSFxALywgd2l0aFB1c2g/ICIxIiA6ICIwIikpOworCQl9IGVsc2UgaWYgKHMuc2VhcmNoKC9cQFdJVEhfVkFMSURcQC8pICE9IC0xKSB7CisJCQlvZi5Xcml0ZUxpbmUocy5yZXBsYWNlKC9cQFdJVEhfVkFMSURcQC8sIHdpdGhWYWxpZD8gIjEiIDogIjAiKSk7CisJCX0gZWxzZSBpZiAocy5zZWFyY2goL1xAV0lUSF9TQVgxXEAvKSAhPSAtMSkgeworCQkJb2YuV3JpdGVMaW5lKHMucmVwbGFjZSgvXEBXSVRIX1NBWDFcQC8sIHdpdGhTYXgxPyAiMSIgOiAiMCIpKTsKKwkJfSBlbHNlIGlmIChzLnNlYXJjaCgvXEBXSVRIX0xFR0FDWVxALykgIT0gLTEpIHsKKwkJCW9mLldyaXRlTGluZShzLnJlcGxhY2UoL1xAV0lUSF9MRUdBQ1lcQC8sIHdpdGhMZWdhY3k/ICIxIiA6ICIwIikpOworCQl9IGVsc2UgaWYgKHMuc2VhcmNoKC9cQFdJVEhfT1VUUFVUXEAvKSAhPSAtMSkgeworCQkJb2YuV3JpdGVMaW5lKHMucmVwbGFjZSgvXEBXSVRIX09VVFBVVFxALywgd2l0aE91dHB1dD8gIjEiIDogIjAiKSk7CisJCX0gZWxzZQorCQkJb2YuV3JpdGVMaW5lKGxuKTsKKwl9CisJb2ZpLkNsb3NlKCk7CisJb2YuQ2xvc2UoKTsKK30KKy8qIENvbmZpZ3VyZXMgUHl0aG9uIGJpbmRpbmdzLiBPdGhlcndpc2UgaWRlbnRpY2FsIHRvIHRoZSBhYm92ZSAqLworZnVuY3Rpb24gY29uZmlndXJlTGlieG1sUHkoKQoreworCXZhciBweU9wdHNGaWxlSW4gPSBzcmNEaXJYbWwgKyAiXFxweXRob25cXHNldHVwLnB5LmluIjsKKwl2YXIgcHlPcHRzRmlsZSA9IHNyY0RpclhtbCArICJcXHB5dGhvblxcc2V0dXAucHkiOworCXZhciBmc28sIG9maSwgb2YsIGxuLCBzOworCWZzbyA9IG5ldyBBY3RpdmVYT2JqZWN0KCJTY3JpcHRpbmcuRmlsZVN5c3RlbU9iamVjdCIpOworCW9maSA9IGZzby5PcGVuVGV4dEZpbGUocHlPcHRzRmlsZUluLCAxKTsKKwlvZiA9IGZzby5DcmVhdGVUZXh0RmlsZShweU9wdHNGaWxlLCB0cnVlKTsKKwl3aGlsZSAob2ZpLkF0RW5kT2ZTdHJlYW0gIT0gdHJ1ZSkgeworCQlsbiA9IG9maS5SZWFkTGluZSgpOworCQlzID0gbmV3IFN0cmluZyhsbik7CisJCWlmIChzLnNlYXJjaCgvXEBMSUJYTUxfVkVSU0lPTlxALykgIT0gLTEpIHsKKwkJCW9mLldyaXRlTGluZShzLnJlcGxhY2UoL1xATElCWE1MX1ZFUlNJT05cQC8sIAorCQkJCXZlck1ham9yICsgIi4iICsgdmVyTWlub3IgKyAiLiIgKyB2ZXJNaWNybykpOworCQl9IGVsc2UgaWYgKHMuc2VhcmNoKC9cQHByZWZpeFxALykgIT0gLTEpIHsKKwkJCW9mLldyaXRlTGluZShzLnJlcGxhY2UoL1xAcHJlZml4XEAvLCBidWlsZFByZWZpeCkpOworCQl9IGVsc2UgaWYgKHMuc2VhcmNoKC9cQFdJVEhfVEhSRUFEU1xALykgIT0gLTEpIHsKKwkJCW9mLldyaXRlTGluZShzLnJlcGxhY2UoL1xAV0lUSF9USFJFQURTXEAvLCB3aXRoVGhyZWFkcyA9PSAibm8iPyAiMCIgOiAiMSIpKTsKKwkJfSBlbHNlCisJCQlvZi5Xcml0ZUxpbmUobG4pOworCX0KKwlvZmkuQ2xvc2UoKTsKKwlvZi5DbG9zZSgpOworfQorCisvKiBDcmVhdGVzIHRoZSByZWFkbWUgZmlsZSBmb3IgdGhlIGJpbmFyeSBkaXN0cmlidXRpb24gb2YgJ2JuYW1lJywgZm9yIHRoZQorICAgdmVyc2lvbiAndmVyJyBpbiB0aGUgZmlsZSAnZmlsZScuIFRoaXMgb25lIGlzIGNhbGxlZCBmcm9tIHRoZSBNYWtlZmlsZSB3aGVuCisgICBnZW5lcmF0aW5nIGEgYmluYXJ5IGRpc3RyaWJ1dGlvbi4gVGhlIHBhcmFtZXRlcnMgYXJlIHBhc3NlZCBieSBtYWtlLiAqLworZnVuY3Rpb24gZ2VuUmVhZG1lKGJuYW1lLCB2ZXIsIGZpbGUpCit7CisJdmFyIGZzbywgZjsKKwlmc28gPSBuZXcgQWN0aXZlWE9iamVjdCgiU2NyaXB0aW5nLkZpbGVTeXN0ZW1PYmplY3QiKTsKKwlmID0gZnNvLkNyZWF0ZVRleHRGaWxlKGZpbGUsIHRydWUpOworCWYuV3JpdGVMaW5lKCIgICIgKyBibmFtZSArICIgIiArIHZlcik7CisJZi5Xcml0ZUxpbmUoIiAgLS0tLS0tLS0tLS0tLS0iKTsKKwlmLldyaXRlQmxhbmtMaW5lcygxKTsKKwlmLldyaXRlTGluZSgiICBUaGlzIGlzICIgKyBibmFtZSArICIsIHZlcnNpb24gIiArIHZlciArICIsIGJpbmFyeSBwYWNrYWdlIGZvciB0aGUgbmF0aXZlIFdpbjMyL0lBMzIiKTsKKwlmLldyaXRlTGluZSgicGxhdGZvcm0uIik7CisJZi5Xcml0ZUJsYW5rTGluZXMoMSk7CisJZi5Xcml0ZUxpbmUoIiAgVGhlIGZpbGVzIGluIHRoaXMgcGFja2FnZSBkbyBub3QgcmVxdWlyZSBhbnkgc3BlY2lhbCBpbnN0YWxsYXRpb24iKTsKKwlmLldyaXRlTGluZSgic3RlcHMuIEV4dHJhY3QgdGhlIGNvbnRlbnRzIG9mIHRoZSBhcmNoaXZlIHdoZXJlZXZlciB5b3Ugd2lzaCBhbmQiKTsKKwlmLldyaXRlTGluZSgibWFrZSBzdXJlIHRoYXQgeW91ciB0b29scyB3aGljaCB1c2UgIiArIGJuYW1lICsgIiBjYW4gZmluZCBpdC4iKTsKKwlmLldyaXRlQmxhbmtMaW5lcygxKTsKKwlmLldyaXRlTGluZSgiICBGb3IgZXhhbXBsZSwgaWYgeW91IHdhbnQgdG8gcnVuIHRoZSBzdXBwbGllZCB1dGlsaXRpZXMgZnJvbSB0aGUgY29tbWFuZCIpOworCWYuV3JpdGVMaW5lKCJsaW5lLCB5b3UgY2FuLCBpZiB5b3Ugd2lzaCwgYWRkIHRoZSAnYmluJyBzdWJkaXJlY3RvcnkgdG8gdGhlIFBBVEgiKTsKKwlmLldyaXRlTGluZSgiZW52aXJvbm1lbnQgdmFyaWFibGUuIik7CisJZi5Xcml0ZUxpbmUoIiAgSWYgeW91IHdhbnQgdG8gbWFrZSBwcm9ncmFtbWVzIGluIEMgd2hpY2ggdXNlICIgKyBibmFtZSArICIsIHlvdSdsbCIpOworCWYuV3JpdGVMaW5lKCJsaWtlbHkga25vdyBob3cgdG8gdXNlIHRoZSBjb250ZW50cyBvZiB0aGlzIHBhY2thZ2UuIElmIHlvdSBkb24ndCwgcGxlYXNlIik7CisJZi5Xcml0ZUxpbmUoInJlZmVyIHRvIHlvdXIgY29tcGlsZXIncyBkb2N1bWVudGF0aW9uLiIpOyAKKwlmLldyaXRlQmxhbmtMaW5lcygxKTsKKwlmLldyaXRlTGluZSgiICBJZiB0aGVyZSBpcyBzb21ldGhpbmcgeW91IGNhbm5vdCBrZWVwIGZvciB5b3Vyc2VsZiwgc3VjaCBhcyBhIHByb2JsZW0sIik7CisJZi5Xcml0ZUxpbmUoImEgY2hlZXIgb2Ygam95LCBhIGNvbW1lbnQgb3IgYSBzdWdnZXN0aW9uLCBmZWVsIGZyZWUgdG8gY29udGFjdCBtZSB1c2luZyIpOworCWYuV3JpdGVMaW5lKCJ0aGUgYWRkcmVzcyBiZWxvdy4iKTsKKwlmLldyaXRlQmxhbmtMaW5lcygxKTsKKwlmLldyaXRlTGluZSgiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWdvciBabGF0a292aWMgKGlnb3JAemxhdGtvdmljLmNvbSkiKTsKKwlmLkNsb3NlKCk7Cit9CisKKworLyoKKyAqIG1haW4oKSwKKyAqIEV4ZWN1dGlvbiBiZWdpbnMgaGVyZS4KKyAqLworCisvLyBQYXJzZSB0aGUgY29tbWFuZC1saW5lIGFyZ3VtZW50cy4KK2ZvciAoaSA9IDA7IChpIDwgV1NjcmlwdC5Bcmd1bWVudHMubGVuZ3RoKSAmJiAoZXJyb3IgPT0gMCk7IGkrKykgeworCXZhciBhcmcsIG9wdDsKKwlhcmcgPSBXU2NyaXB0LkFyZ3VtZW50cyhpKTsKKwlvcHQgPSBhcmcuc3Vic3RyaW5nKDAsIGFyZy5pbmRleE9mKCI9IikpOworCWlmIChvcHQubGVuZ3RoID09IDApCisJCW9wdCA9IGFyZy5zdWJzdHJpbmcoMCwgYXJnLmluZGV4T2YoIjoiKSk7CisJaWYgKG9wdC5sZW5ndGggPiAwKSB7CisJCWlmIChvcHQgPT0gInRyaW8iKQorCQkJd2l0aFRyaW8gPSBzdHJUb0Jvb2woYXJnLnN1YnN0cmluZyhvcHQubGVuZ3RoICsgMSwgYXJnLmxlbmd0aCkpOworCQllbHNlIGlmIChvcHQgPT0gInRocmVhZHMiKQorCQkJd2l0aFRocmVhZHMgPSBhcmcuc3Vic3RyaW5nKG9wdC5sZW5ndGggKyAxLCBhcmcubGVuZ3RoKTsKKwkJZWxzZSBpZiAob3B0ID09ICJmdHAiKQorCQkJd2l0aEZ0cCA9IHN0clRvQm9vbChhcmcuc3Vic3RyaW5nKG9wdC5sZW5ndGggKyAxLCBhcmcubGVuZ3RoKSk7CisJCWVsc2UgaWYgKG9wdCA9PSAiaHR0cCIpCisJCQl3aXRoSHR0cCA9IHN0clRvQm9vbChhcmcuc3Vic3RyaW5nKG9wdC5sZW5ndGggKyAxLCBhcmcubGVuZ3RoKSk7CisJCWVsc2UgaWYgKG9wdCA9PSAiaHRtbCIpCisJCQl3aXRoSHRtbCA9IHN0clRvQm9vbChhcmcuc3Vic3RyaW5nKG9wdC5sZW5ndGggKyAxLCBhcmcubGVuZ3RoKSk7CisJCWVsc2UgaWYgKG9wdCA9PSAiYzE0biIpCisJCQl3aXRoQzE0biA9IHN0clRvQm9vbChhcmcuc3Vic3RyaW5nKG9wdC5sZW5ndGggKyAxLCBhcmcubGVuZ3RoKSk7CisJCWVsc2UgaWYgKG9wdCA9PSAiY2F0YWxvZyIpCisJCQl3aXRoQ2F0YWxvZyA9IHN0clRvQm9vbChhcmcuc3Vic3RyaW5nKG9wdC5sZW5ndGggKyAxLCBhcmcubGVuZ3RoKSk7CisJCWVsc2UgaWYgKG9wdCA9PSAiZG9jYiIpCisJCQl3aXRoRG9jYiA9IHN0clRvQm9vbChhcmcuc3Vic3RyaW5nKG9wdC5sZW5ndGggKyAxLCBhcmcubGVuZ3RoKSk7CisJCWVsc2UgaWYgKG9wdCA9PSAieHBhdGgiKQorCQkJd2l0aFhwYXRoID0gc3RyVG9Cb29sKGFyZy5zdWJzdHJpbmcob3B0Lmxlbmd0aCArIDEsIGFyZy5sZW5ndGgpKTsKKwkJZWxzZSBpZiAob3B0ID09ICJ4cHRyIikKKwkJCXdpdGhYcHRyID0gc3RyVG9Cb29sKGFyZy5zdWJzdHJpbmcob3B0Lmxlbmd0aCArIDEsIGFyZy5sZW5ndGgpKTsKKwkJZWxzZSBpZiAob3B0ID09ICJ4aW5jbHVkZSIpCisJCQl3aXRoWGluY2x1ZGUgPSBzdHJUb0Jvb2woYXJnLnN1YnN0cmluZyhvcHQubGVuZ3RoICsgMSwgYXJnLmxlbmd0aCkpOworCQllbHNlIGlmIChvcHQgPT0gImljb252IikKKwkJCXdpdGhJY29udiA9IHN0clRvQm9vbChhcmcuc3Vic3RyaW5nKG9wdC5sZW5ndGggKyAxLCBhcmcubGVuZ3RoKSk7CisJCWVsc2UgaWYgKG9wdCA9PSAiaWN1IikKKwkJCXdpdGhJY3UgPSBzdHJUb0Jvb2woYXJnLnN1YnN0cmluZyhvcHQubGVuZ3RoICsgMSwgYXJnLmxlbmd0aCkpOworCQllbHNlIGlmIChvcHQgPT0gImlzbzg4NTl4IikKKwkJCXdpdGhJc284ODU5eCA9IHN0clRvQm9vbChhcmcuc3Vic3RyaW5nKG9wdC5sZW5ndGggKyAxLCBhcmcubGVuZ3RoKSk7CisJCWVsc2UgaWYgKG9wdCA9PSAiemxpYiIpCisJCQl3aXRoWmxpYiA9IHN0clRvQm9vbChhcmcuc3Vic3RyaW5nKG9wdC5sZW5ndGggKyAxLCBhcmcubGVuZ3RoKSk7CisJCWVsc2UgaWYgKG9wdCA9PSAibHptYSIpCisJCQl3aXRoTHptYSA9IHN0clRvQm9vbChhcmcuc3Vic3RyaW5nKG9wdC5sZW5ndGggKyAxLCBhcmcubGVuZ3RoKSk7CisJCWVsc2UgaWYgKG9wdCA9PSAieG1sX2RlYnVnIikKKwkJCXdpdGhEZWJ1ZyA9IHN0clRvQm9vbChhcmcuc3Vic3RyaW5nKG9wdC5sZW5ndGggKyAxLCBhcmcubGVuZ3RoKSk7CisJCWVsc2UgaWYgKG9wdCA9PSAibWVtX2RlYnVnIikKKwkJCXdpdGhNZW1EZWJ1ZyA9IHN0clRvQm9vbChhcmcuc3Vic3RyaW5nKG9wdC5sZW5ndGggKyAxLCBhcmcubGVuZ3RoKSk7CisJCWVsc2UgaWYgKG9wdCA9PSAicnVuX2RlYnVnIikKKwkJCXdpdGhSdW5EZWJ1ZyA9IHN0clRvQm9vbChhcmcuc3Vic3RyaW5nKG9wdC5sZW5ndGggKyAxLCBhcmcubGVuZ3RoKSk7CisJCWVsc2UgaWYgKG9wdCA9PSAic2NoZW1hcyIpCisJCQl3aXRoU2NoZW1hcyA9IHN0clRvQm9vbChhcmcuc3Vic3RyaW5nKG9wdC5sZW5ndGggKyAxLCBhcmcubGVuZ3RoKSk7CisJCWVsc2UgaWYgKG9wdCA9PSAic2NoZW1hdHJvbiIpCisJCQl3aXRoU2NoZW1hdHJvbiA9IHN0clRvQm9vbChhcmcuc3Vic3RyaW5nKG9wdC5sZW5ndGggKyAxLCBhcmcubGVuZ3RoKSk7CisJCWVsc2UgaWYgKG9wdCA9PSAicmVnZXhwcyIpCisJCQl3aXRoUmVnRXhwcyA9IHN0clRvQm9vbChhcmcuc3Vic3RyaW5nKG9wdC5sZW5ndGggKyAxLCBhcmcubGVuZ3RoKSk7CisJCWVsc2UgaWYgKG9wdCA9PSAibW9kdWxlcyIpCisJCQl3aXRoTW9kdWxlcyA9IHN0clRvQm9vbChhcmcuc3Vic3RyaW5nKG9wdC5sZW5ndGggKyAxLCBhcmcubGVuZ3RoKSk7CisJCWVsc2UgaWYgKG9wdCA9PSAidHJlZSIpCisJCQl3aXRoVHJlZSA9IHN0clRvQm9vbChhcmcuc3Vic3RyaW5nKG9wdC5sZW5ndGggKyAxLCBhcmcubGVuZ3RoKSk7CisJCWVsc2UgaWYgKG9wdCA9PSAicmVhZGVyIikKKwkJCXdpdGhSZWFkZXIgPSBzdHJUb0Jvb2woYXJnLnN1YnN0cmluZyhvcHQubGVuZ3RoICsgMSwgYXJnLmxlbmd0aCkpOworCQllbHNlIGlmIChvcHQgPT0gIndyaXRlciIpCisJCQl3aXRoV3JpdGVyID0gc3RyVG9Cb29sKGFyZy5zdWJzdHJpbmcob3B0Lmxlbmd0aCArIDEsIGFyZy5sZW5ndGgpKTsKKwkJZWxzZSBpZiAob3B0ID09ICJ3YWxrZXIiKQorCQkJd2l0aFdhbGtlciA9IHN0clRvQm9vbChhcmcuc3Vic3RyaW5nKG9wdC5sZW5ndGggKyAxLCBhcmcubGVuZ3RoKSk7CisJCWVsc2UgaWYgKG9wdCA9PSAicGF0dGVybiIpCisJCQl3aXRoUGF0dGVybiA9IHN0clRvQm9vbChhcmcuc3Vic3RyaW5nKG9wdC5sZW5ndGggKyAxLCBhcmcubGVuZ3RoKSk7CisJCWVsc2UgaWYgKG9wdCA9PSAicHVzaCIpCisJCQl3aXRoUHVzaCA9IHN0clRvQm9vbChhcmcuc3Vic3RyaW5nKG9wdC5sZW5ndGggKyAxLCBhcmcubGVuZ3RoKSk7CisJCWVsc2UgaWYgKG9wdCA9PSAidmFsaWQiKQorCQkJd2l0aFZhbGlkID0gc3RyVG9Cb29sKGFyZy5zdWJzdHJpbmcob3B0Lmxlbmd0aCArIDEsIGFyZy5sZW5ndGgpKTsKKwkJZWxzZSBpZiAob3B0ID09ICJzYXgxIikKKwkJCXdpdGhTYXgxID0gc3RyVG9Cb29sKGFyZy5zdWJzdHJpbmcob3B0Lmxlbmd0aCArIDEsIGFyZy5sZW5ndGgpKTsKKwkJZWxzZSBpZiAob3B0ID09ICJsZWdhY3kiKQorCQkJd2l0aExlZ2FjeSA9IHN0clRvQm9vbChhcmcuc3Vic3RyaW5nKG9wdC5sZW5ndGggKyAxLCBhcmcubGVuZ3RoKSk7CisJCWVsc2UgaWYgKG9wdCA9PSAib3V0cHV0IikKKwkJCXdpdGhPdXRwdXQgPSBzdHJUb0Jvb2woYXJnLnN1YnN0cmluZyhvcHQubGVuZ3RoICsgMSwgYXJnLmxlbmd0aCkpOworCQllbHNlIGlmIChvcHQgPT0gInB5dGhvbiIpCisJCQl3aXRoUHl0aG9uID0gc3RyVG9Cb29sKGFyZy5zdWJzdHJpbmcob3B0Lmxlbmd0aCArIDEsIGFyZy5sZW5ndGgpKTsKKwkJZWxzZSBpZiAob3B0ID09ICJjb21waWxlciIpCisJCQljb21waWxlciA9IGFyZy5zdWJzdHJpbmcob3B0Lmxlbmd0aCArIDEsIGFyZy5sZW5ndGgpOworCQllbHNlIGlmIChvcHQgPT0gImNydW50aW1lIikKKwkJCWNydW50aW1lID0gYXJnLnN1YnN0cmluZyhvcHQubGVuZ3RoICsgMSwgYXJnLmxlbmd0aCk7CisJCWVsc2UgaWYgKG9wdCA9PSAiZHlucnVudGltZSIpCisJCQlkeW5ydW50aW1lID0gc3RyVG9Cb29sKGFyZy5zdWJzdHJpbmcob3B0Lmxlbmd0aCArIDEsIGFyZy5sZW5ndGgpKTsKKwkJZWxzZSBpZiAob3B0ID09ICJ2Y21hbmlmZXN0IikKKwkJCXZjbWFuaWZlc3QgPSBzdHJUb0Jvb2woYXJnLnN1YnN0cmluZyhvcHQubGVuZ3RoICsgMSwgYXJnLmxlbmd0aCkpOworCQllbHNlIGlmIChvcHQgPT0gImRlYnVnIikKKwkJCWJ1aWxkRGVidWcgPSBzdHJUb0Jvb2woYXJnLnN1YnN0cmluZyhvcHQubGVuZ3RoICsgMSwgYXJnLmxlbmd0aCkpOworCQllbHNlIGlmIChvcHQgPT0gInN0YXRpYyIpCisJCQlidWlsZFN0YXRpYyA9IHN0clRvQm9vbChhcmcuc3Vic3RyaW5nKG9wdC5sZW5ndGggKyAxLCBhcmcubGVuZ3RoKSk7CisJCWVsc2UgaWYgKG9wdCA9PSAicHJlZml4IikKKwkJCWJ1aWxkUHJlZml4ID0gYXJnLnN1YnN0cmluZyhvcHQubGVuZ3RoICsgMSwgYXJnLmxlbmd0aCk7CisJCWVsc2UgaWYgKG9wdCA9PSAiaW5jZGlyIikKKwkJCWJ1aWxkSW5jUHJlZml4ID0gYXJnLnN1YnN0cmluZyhvcHQubGVuZ3RoICsgMSwgYXJnLmxlbmd0aCk7CisJCWVsc2UgaWYgKG9wdCA9PSAiYmluZGlyIikKKwkJCWJ1aWxkQmluUHJlZml4ID0gYXJnLnN1YnN0cmluZyhvcHQubGVuZ3RoICsgMSwgYXJnLmxlbmd0aCk7CisJCWVsc2UgaWYgKG9wdCA9PSAibGliZGlyIikKKwkJCWJ1aWxkTGliUHJlZml4ID0gYXJnLnN1YnN0cmluZyhvcHQubGVuZ3RoICsgMSwgYXJnLmxlbmd0aCk7CisJCWVsc2UgaWYgKG9wdCA9PSAic29kaXIiKQorCQkJYnVpbGRTb1ByZWZpeCA9IGFyZy5zdWJzdHJpbmcob3B0Lmxlbmd0aCArIDEsIGFyZy5sZW5ndGgpOworCQllbHNlIGlmIChvcHQgPT0gImluY2RpciIpCisJCQlidWlsZEluY1ByZWZpeCA9IGFyZy5zdWJzdHJpbmcob3B0Lmxlbmd0aCArIDEsIGFyZy5sZW5ndGgpOworCQllbHNlIGlmIChvcHQgPT0gImluY2x1ZGUiKQorCQkJYnVpbGRJbmNsdWRlID0gYXJnLnN1YnN0cmluZyhvcHQubGVuZ3RoICsgMSwgYXJnLmxlbmd0aCk7CisJCWVsc2UgaWYgKG9wdCA9PSAibGliIikKKwkJCWJ1aWxkTGliID0gYXJnLnN1YnN0cmluZyhvcHQubGVuZ3RoICsgMSwgYXJnLmxlbmd0aCk7CisJCWVsc2UgaWYgKG9wdCA9PSAicmVsZWFzZSIpCisJCQl1c2VDdnNWZXIgPSBmYWxzZTsKKwkJZWxzZQorCQkJZXJyb3IgPSAxOworCX0gZWxzZSBpZiAoaSA9PSAwKSB7CisJCWlmIChhcmcgPT0gImdlbnJlYWRtZSIpIHsKKwkJCS8vIFRoaXMgY29tbWFuZCBjb21lcyBmcm9tIHRoZSBNYWtlZmlsZSBhbmQgd2lsbCBub3QgYmUgY2hlY2tlZAorCQkJLy8gZm9yIGVycm9ycywgYmVjYXVzZSBNYWtlZmlsZSB3aWxsIGFsd2F5cyBzdXBwbHkgcmlnaHQgdGhlIHBhcmFtZXRlcnMuCisJCQlnZW5SZWFkbWUoV1NjcmlwdC5Bcmd1bWVudHMoMSksIFdTY3JpcHQuQXJndW1lbnRzKDIpLCBXU2NyaXB0LkFyZ3VtZW50cygzKSk7CisJCQlXU2NyaXB0LlF1aXQoMCk7CisJCX0gZWxzZSBpZiAoYXJnID09ICJoZWxwIikgeworCQkJdXNhZ2UoKTsKKwkJCVdTY3JpcHQuUXVpdCgwKTsKKwkJfQorCisJfSBlbHNlIHsKKwkJZXJyb3IgPSAxOworCX0KK30KKworCisvLyBJZiB3ZSBmYWlsIGhlcmUsIGl0IGlzIGJlY2F1c2UgdGhlIHVzZXIgc3VwcGxpZWQgYW4gdW5yZWNvZ25pc2VkIGFyZ3VtZW50LgoraWYgKGVycm9yICE9IDApIHsKKwl1c2FnZSgpOworCVdTY3JpcHQuUXVpdChlcnJvcik7Cit9CisKKy8vIGlmIHVzZXIgY2hvc2VzIHRvIGxpbmsgdGhlIGMtcnVudGltZSBsaWJyYXJ5IHN0YXRpY2FsbHkgaW50byBsaWJ4bWwyCisvLyB3aXRoIC9NVCBhbmQgZnJpZW5kcywgdGhlbiB3ZSBuZWVkIHRvIGVuYWJsZSBzdGF0aWMgbGlua2luZyBmb3IgeG1sbGludAoraWYgKGNydW50aW1lID09ICIvTVQiIHx8IGNydW50aW1lID09ICIvTVRkIiB8fAorCQljcnVudGltZSA9PSAiL01MIiB8fCBjcnVudGltZSA9PSAiL01MZCIpIHsKKwlidWlsZFN0YXRpYyA9IDE7Cit9CisKK2RpclNlcCA9ICJcXCI7CitpZiAoYnVpbGRCaW5QcmVmaXggPT0gIiIpCisJYnVpbGRCaW5QcmVmaXggPSAiJChQUkVGSVgpIiArIGRpclNlcCArICJiaW4iOworaWYgKGJ1aWxkSW5jUHJlZml4ID09ICIiKQorCWJ1aWxkSW5jUHJlZml4ID0gIiQoUFJFRklYKSIgKyBkaXJTZXAgKyAiaW5jbHVkZSI7CitpZiAoYnVpbGRMaWJQcmVmaXggPT0gIiIpCisJYnVpbGRMaWJQcmVmaXggPSAiJChQUkVGSVgpIiArIGRpclNlcCArICJsaWIiOworaWYgKGJ1aWxkU29QcmVmaXggPT0gIiIpCisJYnVpbGRTb1ByZWZpeCA9ICIkKFBSRUZJWCkiICsgZGlyU2VwICsgImJpbiI7CisKKy8vIERpc2NvdmVyIHRoZSB2ZXJzaW9uLgorZGlzY292ZXJWZXJzaW9uKCk7CitpZiAoZXJyb3IgIT0gMCkgeworCVdTY3JpcHQuRWNobygiVmVyc2lvbiBkaXNjb3ZlcnkgZmFpbGVkLCBhYm9ydGluZy4iKTsKKwlXU2NyaXB0LlF1aXQoZXJyb3IpOworfQorCit2YXIgb3V0VmVyU3RyaW5nID0gYmFzZU5hbWUgKyAiIHZlcnNpb246ICIgKyB2ZXJNYWpvciArICIuIiArIHZlck1pbm9yICsgIi4iICsgdmVyTWljcm87CitpZiAodmVyTWljcm9TdWZmaXggJiYgdmVyTWljcm9TdWZmaXggIT0gIiIpCisJb3V0VmVyU3RyaW5nICs9ICItIiArIHZlck1pY3JvU3VmZml4OworaWYgKHZlckN2cyAmJiB2ZXJDdnMgIT0gIiIpCisJb3V0VmVyU3RyaW5nICs9ICItIiArIHZlckN2czsKK1dTY3JpcHQuRWNobyhvdXRWZXJTdHJpbmcpOworCisvLyBDb25maWd1cmUgbGlieG1sLgorY29uZmlndXJlTGlieG1sKCk7CitpZiAoZXJyb3IgIT0gMCkgeworCVdTY3JpcHQuRWNobygiQ29uZmlndXJhdGlvbiBmYWlsZWQsIGFib3J0aW5nLiIpOworCVdTY3JpcHQuUXVpdChlcnJvcik7Cit9CisKK2lmICh3aXRoUHl0aG9uID09IHRydWUpIHsKKwljb25maWd1cmVMaWJ4bWxQeSgpOworCWlmIChlcnJvciAhPSAwKSB7CisJCVdTY3JpcHQuRWNobygiQ29uZmlndXJhdGlvbiBmYWlsZWQsIGFib3J0aW5nLiIpOworCQlXU2NyaXB0LlF1aXQoZXJyb3IpOworCX0KKworfQorCisvLyBDcmVhdGUgdGhlIG1ha2VmaWxlLgordmFyIGZzbyA9IG5ldyBBY3RpdmVYT2JqZWN0KCJTY3JpcHRpbmcuRmlsZVN5c3RlbU9iamVjdCIpOwordmFyIG1ha2VmaWxlID0gIi5cXE1ha2VmaWxlLm1zdmMiOworaWYgKGNvbXBpbGVyID09ICJtaW5ndyIpCisJbWFrZWZpbGUgPSAiLlxcTWFrZWZpbGUubWluZ3ciOworZWxzZSBpZiAoY29tcGlsZXIgPT0gImJjYiIpCisJbWFrZWZpbGUgPSAiLlxcTWFrZWZpbGUuYmNiIjsKK3ZhciBuZXdfbWFrZWZpbGUgPSAiLlxcTWFrZWZpbGUiOwordmFyIGYgPSBmc28uRmlsZUV4aXN0cyhuZXdfbWFrZWZpbGUpOworaWYgKGYpIHsKKyAgICAgICB2YXIgdCA9IGZzby5HZXRGaWxlKG5ld19tYWtlZmlsZSk7CisgICAgICAgdC5BdHRyaWJ1dGVzID0wOworfQorZnNvLkNvcHlGaWxlKG1ha2VmaWxlLCBuZXdfbWFrZWZpbGUsIHRydWUpOworV1NjcmlwdC5FY2hvKCJDcmVhdGVkIE1ha2VmaWxlLiIpOworLy8gQ3JlYXRlIHRoZSBjb25maWcuaC4KK3ZhciBjb25maWdoc3JjID0gIi4uXFxpbmNsdWRlXFx3aW4zMmNvbmZpZy5oIjsKK3ZhciBjb25maWdoID0gIi4uXFxjb25maWcuaCI7Cit2YXIgZiA9IGZzby5GaWxlRXhpc3RzKGNvbmZpZ2gpOworaWYgKGYpIHsKKwl2YXIgdCA9IGZzby5HZXRGaWxlKGNvbmZpZ2gpOworCXQuQXR0cmlidXRlcyA9MDsKK30KK2Zzby5Db3B5RmlsZShjb25maWdoc3JjLCBjb25maWdoLCB0cnVlKTsKK1dTY3JpcHQuRWNobygiQ3JlYXRlZCBjb25maWcuaC4iKTsKKworCisvLyBEaXNwbGF5IHRoZSBmaW5hbCBjb25maWd1cmF0aW9uLiAKK3ZhciB0eHRPdXQgPSAiXG5YTUwgcHJvY2Vzc29yIGNvbmZpZ3VyYXRpb25cbiI7Cit0eHRPdXQgKz0gIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIjsKK3R4dE91dCArPSAiICAgICAgICAgICAgICBUcmlvOiAiICsgYm9vbFRvU3RyKHdpdGhUcmlvKSArICJcbiI7Cit0eHRPdXQgKz0gIiAgICAgVGhyZWFkIHNhZmV0eTogIiArIHdpdGhUaHJlYWRzICsgIlxuIjsKK3R4dE91dCArPSAiICAgICAgICBGVFAgY2xpZW50OiAiICsgYm9vbFRvU3RyKHdpdGhGdHApICsgIlxuIjsKK3R4dE91dCArPSAiICAgICAgIEhUVFAgY2xpZW50OiAiICsgYm9vbFRvU3RyKHdpdGhIdHRwKSArICJcbiI7Cit0eHRPdXQgKz0gIiAgICBIVE1MIHByb2Nlc3NvcjogIiArIGJvb2xUb1N0cih3aXRoSHRtbCkgKyAiXG4iOwordHh0T3V0ICs9ICIgICAgICBDMTROIHN1cHBvcnQ6ICIgKyBib29sVG9TdHIod2l0aEMxNG4pICsgIlxuIjsKK3R4dE91dCArPSAiICAgQ2F0YWxvZyBzdXBwb3J0OiAiICsgYm9vbFRvU3RyKHdpdGhDYXRhbG9nKSArICJcbiI7Cit0eHRPdXQgKz0gIiAgIERvY0Jvb2sgc3VwcG9ydDogIiArIGJvb2xUb1N0cih3aXRoRG9jYikgKyAiXG4iOwordHh0T3V0ICs9ICIgICAgIFhQYXRoIHN1cHBvcnQ6ICIgKyBib29sVG9TdHIod2l0aFhwYXRoKSArICJcbiI7Cit0eHRPdXQgKz0gIiAgWFBvaW50ZXIgc3VwcG9ydDogIiArIGJvb2xUb1N0cih3aXRoWHB0cikgKyAiXG4iOwordHh0T3V0ICs9ICIgIFhJbmNsdWRlIHN1cHBvcnQ6ICIgKyBib29sVG9TdHIod2l0aFhpbmNsdWRlKSArICJcbiI7Cit0eHRPdXQgKz0gIiAgICAgaWNvbnYgc3VwcG9ydDogIiArIGJvb2xUb1N0cih3aXRoSWNvbnYpICsgIlxuIjsKK3R4dE91dCArPSAiICAgICBpY3UgICBzdXBwb3J0OiAiICsgYm9vbFRvU3RyKHdpdGhJY3UpICsgIlxuIjsKK3R4dE91dCArPSAiICBpc284ODU5eCBzdXBwb3J0OiAiICsgYm9vbFRvU3RyKHdpdGhJc284ODU5eCkgKyAiXG4iOwordHh0T3V0ICs9ICIgICAgICB6bGliIHN1cHBvcnQ6ICIgKyBib29sVG9TdHIod2l0aFpsaWIpICsgIlxuIjsKK3R4dE91dCArPSAiICAgICAgbHptYSBzdXBwb3J0OiAiICsgYm9vbFRvU3RyKHdpdGhMem1hKSArICJcbiI7Cit0eHRPdXQgKz0gIiAgRGVidWdnaW5nIG1vZHVsZTogIiArIGJvb2xUb1N0cih3aXRoRGVidWcpICsgIlxuIjsKK3R4dE91dCArPSAiICBNZW1vcnkgZGVidWdnaW5nOiAiICsgYm9vbFRvU3RyKHdpdGhNZW1EZWJ1ZykgKyAiXG4iOwordHh0T3V0ICs9ICIgUnVudGltZSBkZWJ1Z2dpbmc6ICIgKyBib29sVG9TdHIod2l0aFJ1bkRlYnVnKSArICJcbiI7Cit0eHRPdXQgKz0gIiAgICBSZWdleHAgc3VwcG9ydDogIiArIGJvb2xUb1N0cih3aXRoUmVnRXhwcykgKyAiXG4iOwordHh0T3V0ICs9ICIgICAgTW9kdWxlIHN1cHBvcnQ6ICIgKyBib29sVG9TdHIod2l0aE1vZHVsZXMpICsgIlxuIjsKK3R4dE91dCArPSAiICAgICAgVHJlZSBzdXBwb3J0OiAiICsgYm9vbFRvU3RyKHdpdGhUcmVlKSArICJcbiI7Cit0eHRPdXQgKz0gIiAgICBSZWFkZXIgc3VwcG9ydDogIiArIGJvb2xUb1N0cih3aXRoUmVhZGVyKSArICJcbiI7Cit0eHRPdXQgKz0gIiAgICBXcml0ZXIgc3VwcG9ydDogIiArIGJvb2xUb1N0cih3aXRoV3JpdGVyKSArICJcbiI7Cit0eHRPdXQgKz0gIiAgICBXYWxrZXIgc3VwcG9ydDogIiArIGJvb2xUb1N0cih3aXRoV2Fsa2VyKSArICJcbiI7Cit0eHRPdXQgKz0gIiAgIFBhdHRlcm4gc3VwcG9ydDogIiArIGJvb2xUb1N0cih3aXRoUGF0dGVybikgKyAiXG4iOwordHh0T3V0ICs9ICIgICAgICBQdXNoIHN1cHBvcnQ6ICIgKyBib29sVG9TdHIod2l0aFB1c2gpICsgIlxuIjsKK3R4dE91dCArPSAiVmFsaWRhdGlvbiBzdXBwb3J0OiAiICsgYm9vbFRvU3RyKHdpdGhWYWxpZCkgKyAiXG4iOwordHh0T3V0ICs9ICIgICAgICBTQVgxIHN1cHBvcnQ6ICIgKyBib29sVG9TdHIod2l0aFNheDEpICsgIlxuIjsKK3R4dE91dCArPSAiICAgIExlZ2FjeSBzdXBwb3J0OiAiICsgYm9vbFRvU3RyKHdpdGhMZWdhY3kpICsgIlxuIjsKK3R4dE91dCArPSAiICAgIE91dHB1dCBzdXBwb3J0OiAiICsgYm9vbFRvU3RyKHdpdGhPdXRwdXQpICsgIlxuIjsKK3R4dE91dCArPSAiWE1MIFNjaGVtYSBzdXBwb3J0OiAiICsgYm9vbFRvU3RyKHdpdGhTY2hlbWFzKSArICJcbiI7Cit0eHRPdXQgKz0gIlNjaGVtYXRyb24gc3VwcG9ydDogIiArIGJvb2xUb1N0cih3aXRoU2NoZW1hdHJvbikgKyAiXG4iOwordHh0T3V0ICs9ICIgICBQeXRob24gYmluZGluZ3M6ICIgKyBib29sVG9TdHIod2l0aFB5dGhvbikgKyAiXG4iOwordHh0T3V0ICs9ICJcbiI7Cit0eHRPdXQgKz0gIldpbjMyIGJ1aWxkIGNvbmZpZ3VyYXRpb25cbiI7Cit0eHRPdXQgKz0gIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiI7Cit0eHRPdXQgKz0gIiAgICAgICAgICBDb21waWxlcjogIiArIGNvbXBpbGVyICsgIlxuIjsKK2lmIChjb21waWxlciA9PSAibXN2YyIpIHsKKwl0eHRPdXQgKz0gIiAgQy1SdW50aW1lIG9wdGlvbjogIiArIGNydW50aW1lICsgIlxuIjsKKwl0eHRPdXQgKz0gIiAgICBFbWJlZCBNYW5pZmVzdDogIiArIGJvb2xUb1N0cih2Y21hbmlmZXN0KSArICJcbiI7Cit9IGVsc2UgaWYgKGNvbXBpbGVyID09ICJiY2IiKQorCXR4dE91dCArPSAiICAgVXNlIGR5bmFtaWMgUlRMOiAiICsgZHlucnVudGltZSArICJcbiI7Cit0eHRPdXQgKz0gIiAgICAgRGVidWcgc3ltYm9sczogIiArIGJvb2xUb1N0cihidWlsZERlYnVnKSArICJcbiI7Cit0eHRPdXQgKz0gIiAgICBTdGF0aWMgeG1sbGludDogIiArIGJvb2xUb1N0cihidWlsZFN0YXRpYykgKyAiXG4iOwordHh0T3V0ICs9ICIgICAgSW5zdGFsbCBwcmVmaXg6ICIgKyBidWlsZFByZWZpeCArICJcbiI7Cit0eHRPdXQgKz0gIiAgICAgIFB1dCB0b29scyBpbjogIiArIGJ1aWxkQmluUHJlZml4ICsgIlxuIjsKK3R4dE91dCArPSAiICAgIFB1dCBoZWFkZXJzIGluOiAiICsgYnVpbGRJbmNQcmVmaXggKyAiXG4iOwordHh0T3V0ICs9ICJQdXQgc3RhdGljIGxpYnMgaW46ICIgKyBidWlsZExpYlByZWZpeCArICJcbiI7Cit0eHRPdXQgKz0gIlB1dCBzaGFyZWQgbGlicyBpbjogIiArIGJ1aWxkU29QcmVmaXggKyAiXG4iOwordHh0T3V0ICs9ICIgICAgICBJbmNsdWRlIHBhdGg6ICIgKyBidWlsZEluY2x1ZGUgKyAiXG4iOwordHh0T3V0ICs9ICIgICAgICAgICAgTGliIHBhdGg6ICIgKyBidWlsZExpYiArICJcbiI7CitXU2NyaXB0LkVjaG8odHh0T3V0KTsKKworLy8KKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi93aW4zMi9kZWZnZW4ueHNsIGIvbGlieG1sMi93aW4zMi9kZWZnZW4ueHNsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE1OThmZjEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3dpbjMyL2RlZmdlbi54c2wKQEAgLTAsMCArMSwyODggQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCEtLSAKKwl3aW4zMi9kZWZnZW4ueHNsCisJVGhpcyBzdHlsZXNoZWV0IGlzIHVzZWQgdG8gdHJhbnNmb3JtIGRvYy9saWJ4bWwyLWFwaS54bWwgaW50byBhIHBzZXVkby1zb3VyY2UsCisJd2hpY2ggY2FuIHRoZW4gYmUgcHJlcHJvY2Vzc2VkIHRvIGdldCB0aGUgLkRFRiBmaWxlIGZvciB0aGUgTWljcm9zb2Z0J3MgbGlua2VyLgorCQorCVVzZSBhbnkgWFNMVCBwcm9jZXNzb3IgdG8gcHJvZHVjZSBhIGZpbGUgY2FsbGVkIGxpYnhtbDIuZGVmLnNyYyBpbiB0aGUgd2luMzIKKwlzdWJkaXJlY3RvcnksIGZvciBleGFtcGxlLCBydW4geHNsdHByb2MgZnJvbSB0aGUgd2luMzIgc3ViZGlyZWN0b3J5OgorCQorCSAgeHNsdHByb2MgLW8gbGlieG1sMi5kZWYuc3JjIGRlZmdlbi54c2wgLi4vZG9jL2xpYnhtbDItYXBpLnhtbAorCSAgCisJT25jZSB0aGF0IGZpbmlzaGVzLCByZXN0IGFzc3VyZWQsIHRoZSBNYWtlZmlsZSB3aWxsIGtub3cgd2hhdCB0byBkbyB3aXRoIHRoZQorCWdlbmVyYXRlZCBmaWxlLiAKKworCUFwcmlsIDIwMDMsIElnb3IgWmxhdGtvdmljIDxpZ29yQHpsYXRrb3ZpYy5jb20+CistLT4KKzwhRE9DVFlQRSB4c2w6c3R5bGVzaGVldCBbIDwhRU5USVRZIG5sICcmI3hkOyYjeGE7Jz4gXT4KKzx4c2w6c3R5bGVzaGVldCB2ZXJzaW9uPSIxLjAiIHhtbG5zOnhzbD0iaHR0cDovL3d3dy53My5vcmcvMTk5OS9YU0wvVHJhbnNmb3JtIj4KKwk8eHNsOnN0cmlwLXNwYWNlIGVsZW1lbnRzPSIqIi8+CisJPHhzbDpvdXRwdXQgbWV0aG9kPSJ0ZXh0Ii8+CisJPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iLyI+CisJCTx4c2w6dGV4dD4jZGVmaW5lIExJQlhNTDJfQ09NUElMSU5HX01TQ0NERUYmbmw7PC94c2w6dGV4dD4KKwkJPHhzbDp0ZXh0PiNpbmNsdWRlICIuLi9pbmNsdWRlL2xpYnhtbC94bWx2ZXJzaW9uLmgiJm5sOzwveHNsOnRleHQ+CisJCTx4c2w6dGV4dD5MSUJSQVJZIGxpYnhtbDImbmw7PC94c2w6dGV4dD4KKwkJPHhzbDp0ZXh0PkVYUE9SVFMmbmw7PC94c2w6dGV4dD4KKwkJPHhzbDpmb3ItZWFjaCBzZWxlY3Q9Ii9hcGkvc3ltYm9scy8qW3NlbGY6OnZhcmlhYmxlIG9yIHNlbGY6OmZ1bmN0aW9uXSI+CisJCQk8IS0tIEJhc2ljIHRlc3RzIC0tPgorCQkJPHhzbDppZiB0ZXN0PSJAZmlsZSA9ICdjMTRuJyI+CisJCQkJPHhzbDp0ZXh0PiNpZmRlZiBMSUJYTUxfQzE0Tl9FTkFCTEVEJm5sOzwveHNsOnRleHQ+CisJCQk8L3hzbDppZj4KKwkJCTx4c2w6aWYgdGVzdD0iQGZpbGUgPSAnY2F0YWxvZyciPgorCQkJCTx4c2w6dGV4dD4jaWZkZWYgTElCWE1MX0NBVEFMT0dfRU5BQkxFRCZubDs8L3hzbDp0ZXh0PgorCQkJPC94c2w6aWY+CisJCQk8eHNsOmlmIHRlc3Q9IkBmaWxlID0gJ2RlYnVnWE1MJyI+CisJCQkJPHhzbDp0ZXh0PiNpZmRlZiBMSUJYTUxfREVCVUdfRU5BQkxFRCZubDs8L3hzbDp0ZXh0PgorCQkJPC94c2w6aWY+CisJCQk8eHNsOmlmIHRlc3Q9IkBmaWxlID0gJ0RPQ0JwYXJzZXInIj4KKwkJCQk8eHNsOnRleHQ+I2lmZGVmIExJQlhNTF9ET0NCX0VOQUJMRUQmbmw7PC94c2w6dGV4dD4KKwkJCTwveHNsOmlmPgorCQkJPHhzbDppZiB0ZXN0PSIoQGZpbGUgPSAnSFRNTHBhcnNlcicpIAorCQkJCQlvciAoQGZpbGUgPSAnSFRNTHRyZWUnKSI+CisJCQkJPHhzbDp0ZXh0PiNpZmRlZiBMSUJYTUxfSFRNTF9FTkFCTEVEJm5sOzwveHNsOnRleHQ+CisJCQk8L3hzbDppZj4KKwkJCTx4c2w6aWYgdGVzdD0iQGZpbGUgPSAnbmFub2h0dHAnIj4KKwkJCQk8eHNsOnRleHQ+I2lmZGVmIExJQlhNTF9IVFRQX0VOQUJMRUQmbmw7PC94c2w6dGV4dD4KKwkJCTwveHNsOmlmPgorCQkJPHhzbDppZiB0ZXN0PSJAZmlsZSA9ICduYW5vZnRwJyI+CisJCQkJPHhzbDp0ZXh0PiNpZmRlZiBMSUJYTUxfRlRQX0VOQUJMRUQmbmw7PC94c2w6dGV4dD4KKwkJCTwveHNsOmlmPgorCQkJPHhzbDppZiB0ZXN0PSIoQGZpbGUgPSAncmVsYXhuZycpIAorCQkJCQlvciAoQGZpbGUgPSAneG1sc2NoZW1hcycpIAorCQkJCQlvciAoQGZpbGUgPSAneG1sc2NoZW1hc3R5cGVzJykiPgorCQkJCTx4c2w6dGV4dD4jaWZkZWYgTElCWE1MX1NDSEVNQVNfRU5BQkxFRCZubDs8L3hzbDp0ZXh0PgorCQkJPC94c2w6aWY+CisJCQk8eHNsOmlmIHRlc3Q9IkBmaWxlID0gJ3hpbmNsdWRlJyI+CisJCQkJPHhzbDp0ZXh0PiNpZmRlZiBMSUJYTUxfWElOQ0xVREVfRU5BQkxFRCZubDs8L3hzbDp0ZXh0PgorCQkJPC94c2w6aWY+CisJCQk8eHNsOmlmIHRlc3Q9IkBmaWxlID0gJ3hsaW5rJyI+CisJCQkJPHhzbDp0ZXh0PiNpZmRlZiBMSUJYTUxfWExJTktfRU5BQkxFRCZubDs8L3hzbDp0ZXh0PgorCQkJPC94c2w6aWY+CisJCQk8eHNsOmlmIHRlc3Q9IkBmaWxlID0gJ3htbGF1dG9tYXRhJyI+CisJCQkJPHhzbDp0ZXh0PiNpZmRlZiBMSUJYTUxfQVVUT01BVEFfRU5BQkxFRCZubDs8L3hzbDp0ZXh0PgorCQkJPC94c2w6aWY+CisJCQk8eHNsOmlmIHRlc3Q9IihAZmlsZSA9ICd4bWxyZWdleHAnKSAKKwkJCQkJb3IgKEBmaWxlID0gJ3htbHVuaWNvZGUnKSI+CisJCQkJPHhzbDp0ZXh0PiNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQmbmw7PC94c2w6dGV4dD4KKwkJCTwveHNsOmlmPgorCQkJPHhzbDppZiB0ZXN0PSIoQGZpbGUgPSAneHBhdGgnKSAKKwkJCQkJb3IgKEBmaWxlID0gJ3hwYXRoSW50ZXJuYWxzJykiPgorCQkJCTx4c2w6dGV4dD4jaWZkZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQmbmw7PC94c2w6dGV4dD4KKwkJCTwveHNsOmlmPgorCQkJPHhzbDppZiB0ZXN0PSJAZmlsZSA9ICd4cG9pbnRlciciPgorCQkJCTx4c2w6dGV4dD4jaWZkZWYgTElCWE1MX1hQVFJfRU5BQkxFRCZubDs8L3hzbDp0ZXh0PgorCQkJPC94c2w6aWY+CisJCQk8IS0tIEV4dGVuZGVkIHRlc3RzIC0tPgorCQkJPHhzbDppZiB0ZXN0PSIoQG5hbWUgPSAnaHRtbERlZmF1bHRTQVhIYW5kbGVySW5pdCcpIAorCQkJCQlvciAoQG5hbWUgPSAnaHRtbEluaXRBdXRvQ2xvc2UnKSAKKwkJCQkJb3IgKEBuYW1lID0gJ2h0bWxDcmVhdGVGaWxlUGFyc2VyQ3R4dCcpIAorCQkJCQlvciAoQG5hbWUgPSAnaW5pdGh0bWxEZWZhdWx0U0FYSGFuZGxlcicpCisJCQkJCW9yIChAbmFtZSA9ICd4bWxJc1hIVE1MJykgCisJCQkJCW9yIChAbmFtZSA9ICd4bWxJT0hUVFBPcGVuVycpIAorCQkJCQlvciAoQG5hbWUgPSAneG1sUmVnaXN0ZXJIVFRQUG9zdENhbGxiYWNrcycpIAorCQkJCQlvciAoQG5hbWUgPSAneG1sSU9IVFRQTWF0Y2gnKQorCQkJCQlvciAoQG5hbWUgPSAneG1sSU9IVFRQT3BlbicpIAorCQkJCQlvciAoQG5hbWUgPSAneG1sSU9IVFRQUmVhZCcpIAorCQkJCQlvciAoQG5hbWUgPSAneG1sSU9IVFRQQ2xvc2UnKSI+CisJCQkJPHhzbDp0ZXh0PiNpZmRlZiBMSUJYTUxfSFRNTF9FTkFCTEVEJm5sOzwveHNsOnRleHQ+CisJCQk8L3hzbDppZj4KKwkJCTx4c2w6aWYgdGVzdD0iKEBuYW1lID0gJ2RvY2JEZWZhdWx0U0FYSGFuZGxlckluaXQnKSAKKwkJCQkJb3IgKEBuYW1lID0gJ2luaXRkb2NiRGVmYXVsdFNBWEhhbmRsZXInKSI+CisJCQkJPHhzbDp0ZXh0PiNpZmRlZiBMSUJYTUxfRE9DQl9FTkFCTEVEJm5sOzwveHNsOnRleHQ+CisJCQk8L3hzbDppZj4KKwkJCTx4c2w6aWYgdGVzdD0iQG5hbWUgPSAneG1sVmFsaWRCdWlsZENvbnRlbnRNb2RlbCciPgorCQkJCTx4c2w6dGV4dD4jaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVEJm5sOzwveHNsOnRleHQ+CisJCQk8L3hzbDppZj4KKwkJCTx4c2w6aWYgdGVzdD0iKEBuYW1lID0gJ3htbElPRlRQTWF0Y2gnKSAKKwkJCQkJb3IgKEBuYW1lID0gJ3htbElPRlRQT3BlbicpIAorCQkJCQlvciAoQG5hbWUgPSAneG1sSU9GVFBSZWFkJykgCisJCQkJCW9yIChAbmFtZSA9ICd4bWxJT0ZUUENsb3NlJykiPgorCQkJCTx4c2w6dGV4dD4jaWZkZWYgTElCWE1MX0ZUUF9FTkFCTEVEJm5sOzwveHNsOnRleHQ+CisJCQk8L3hzbDppZj4KKwkJCTx4c2w6aWYgdGVzdD0iKEBuYW1lID0gJ3htbFRleHRSZWFkZXJSZWxheE5HVmFsaWRhdGUnKSAKKwkJCQkJb3IgKEBuYW1lID0gJ3htbFRleHRSZWFkZXJSZWxheE5HU2V0U2NoZW1hJykiPgorCQkJCTx4c2w6dGV4dD4jaWZkZWYgTElCWE1MX1NDSEVNQVNfRU5BQkxFRCZubDs8L3hzbDp0ZXh0PgorCQkJPC94c2w6aWY+CisJCQk8eHNsOmlmIHRlc3Q9IihAbmFtZSA9ICd4bWxYUGF0aERlYnVnRHVtcE9iamVjdCcpIAorCQkJCQlvciAoQG5hbWUgPSAneG1sWFBhdGhEZWJ1Z0R1bXBDb21wRXhwcicpIj4KKwkJCQk8eHNsOnRleHQ+I2lmZGVmIExJQlhNTF9ERUJVR19FTkFCTEVEJm5sOzwveHNsOnRleHQ+CisJCQk8L3hzbDppZj4KKwkJCTx4c2w6aWYgdGVzdD0iKEBuYW1lID0gJ3htbE1hbGxvY0xvYycpIAorCQkJCQlvciAoQG5hbWUgPSAneG1sTWFsbG9jQXRvbWljTG9jJykgCisJCQkJCW9yIChAbmFtZSA9ICd4bWxSZWFsbG9jTG9jJykgCisJCQkJCW9yIChAbmFtZSA9ICd4bWxNZW1TdHJkdXBMb2MnKSI+CisJCQkJPHhzbDp0ZXh0PiNpZmRlZiBERUJVR19NRU1PUllfTE9DQVRJT04mbmw7PC94c2w6dGV4dD4KKwkJCTwveHNsOmlmPgorCQkJPCEtLSBTeW1ib2wgLS0+CisJCQk8eHNsOmNob29zZT4KKwkJCQk8eHNsOndoZW4gdGVzdD0iKEBuYW1lID0gJ3htbE1hbGxvYycpIAorCQkJCQkJb3IgKEBuYW1lID0gJ3htbE1hbGxvY0F0b21pYycpIAorCQkJCQkJb3IgKEBuYW1lID0gJ3htbFJlYWxsb2MnKSAKKwkJCQkJCW9yIChAbmFtZSA9ICd4bWxGcmVlJykgCisJCQkJCQlvciAoQG5hbWUgPSAneG1sTWVtU3RyZHVwJykiPgorCQkJCQk8eHNsOnRleHQ+I2lmZGVmIExJQlhNTF9USFJFQURfQUxMT0NfRU5BQkxFRCZubDs8L3hzbDp0ZXh0PgorCQkJCQk8eHNsOnRleHQ+X188L3hzbDp0ZXh0PgorCQkJCQk8eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz4KKwkJCQkJPHhzbDp0ZXh0PiZubDs8L3hzbDp0ZXh0PgorCQkJCQk8eHNsOnRleHQ+I2Vsc2Umbmw7PC94c2w6dGV4dD4KKwkJCQkJPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+CisJCQkJCTx4c2w6dGV4dD4gREFUQSZubDs8L3hzbDp0ZXh0PgorCQkJCQk8eHNsOnRleHQ+I2VuZGlmJm5sOzwveHNsOnRleHQ+CisJCQkJPC94c2w6d2hlbj4KKwkJCQk8eHNsOndoZW4gdGVzdD0iKEBuYW1lID0gJ2RvY2JEZWZhdWx0U0FYSGFuZGxlcicpIAorCQkJCQkJb3IgKEBuYW1lID0gJ2h0bWxEZWZhdWx0U0FYSGFuZGxlcicpIAorCQkJCQkJb3IgKEBuYW1lID0gJ29sZFhNTFdEY29tcGF0aWJpbGl0eScpIAorCQkJCQkJb3IgKEBuYW1lID0gJ3htbEJ1ZmZlckFsbG9jU2NoZW1lJykgCisJCQkJCQlvciAoQG5hbWUgPSAneG1sRGVmYXVsdEJ1ZmZlclNpemUnKSAKKwkJCQkJCW9yIChAbmFtZSA9ICd4bWxEZWZhdWx0U0FYSGFuZGxlcicpIAorCQkJCQkJb3IgKEBuYW1lID0gJ3htbERlZmF1bHRTQVhMb2NhdG9yJykgCisJCQkJCQlvciAoQG5hbWUgPSAneG1sRG9WYWxpZGl0eUNoZWNraW5nRGVmYXVsdFZhbHVlJykgCisJCQkJCQlvciAoQG5hbWUgPSAneG1sR2VuZXJpY0Vycm9yJykgCisJCQkJCQlvciAoQG5hbWUgPSAneG1sR2VuZXJpY0Vycm9yQ29udGV4dCcpIAorCQkJCQkJb3IgKEBuYW1lID0gJ3htbEdldFdhcm5pbmdzRGVmYXVsdFZhbHVlJykgCisJCQkJCQlvciAoQG5hbWUgPSAneG1sSW5kZW50VHJlZU91dHB1dCcpIAorCQkJCQkJb3IgKEBuYW1lID0gJ3htbFRyZWVJbmRlbnRTdHJpbmcnKSAKKwkJCQkJCW9yIChAbmFtZSA9ICd4bWxLZWVwQmxhbmtzRGVmYXVsdFZhbHVlJykgCisJCQkJCQlvciAoQG5hbWUgPSAneG1sTGluZU51bWJlcnNEZWZhdWx0VmFsdWUnKSAKKwkJCQkJCW9yIChAbmFtZSA9ICd4bWxMb2FkRXh0RHRkRGVmYXVsdFZhbHVlJykgCisJCQkJCQlvciAoQG5hbWUgPSAneG1sUGFyc2VyRGVidWdFbnRpdGllcycpIAorCQkJCQkJb3IgKEBuYW1lID0gJ3htbFBhcnNlclZlcnNpb24nKSAKKwkJCQkJCW9yIChAbmFtZSA9ICd4bWxQZWRhbnRpY1BhcnNlckRlZmF1bHRWYWx1ZScpIAorCQkJCQkJb3IgKEBuYW1lID0gJ3htbFNhdmVOb0VtcHR5VGFncycpIAorCQkJCQkJb3IgKEBuYW1lID0gJ3htbFN1YnN0aXR1dGVFbnRpdGllc0RlZmF1bHRWYWx1ZScpIAorCQkJCQkJb3IgKEBuYW1lID0gJ3htbFJlZ2lzdGVyTm9kZURlZmF1bHRWYWx1ZScpIAorCQkJCQkJb3IgKEBuYW1lID0gJ3htbERlcmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlJykiPgorCQkJCQk8eHNsOnRleHQ+I2lmZGVmIExJQlhNTF9USFJFQURfRU5BQkxFRCZubDs8L3hzbDp0ZXh0PgorCQkJCQk8eHNsOmlmIHRlc3Q9IkBuYW1lID0gJ2RvY2JEZWZhdWx0U0FYSGFuZGxlciciPgorCQkJCQkJPHhzbDp0ZXh0PiNpZmRlZiBMSUJYTUxfRE9DQl9FTkFCTEVEJm5sOzwveHNsOnRleHQ+CisJCQkJCTwveHNsOmlmPgorCQkJCQk8eHNsOmlmIHRlc3Q9IkBuYW1lID0gJ2h0bWxEZWZhdWx0U0FYSGFuZGxlciciPgorCQkJCQkJPHhzbDp0ZXh0PiNpZmRlZiBMSUJYTUxfSFRNTF9FTkFCTEVEJm5sOzwveHNsOnRleHQ+CisJCQkJCTwveHNsOmlmPgorCQkJCQk8eHNsOnRleHQ+X188L3hzbDp0ZXh0PgorCQkJCQk8eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz4KKwkJCQkJPHhzbDp0ZXh0PiZubDs8L3hzbDp0ZXh0PgorCQkJCQk8eHNsOmlmIHRlc3Q9IkBuYW1lID0gJ2RvY2JEZWZhdWx0U0FYSGFuZGxlciciPgorCQkJCQkJPHhzbDp0ZXh0PiNlbmRpZiZubDs8L3hzbDp0ZXh0PgorCQkJCQk8L3hzbDppZj4KKwkJCQkJPHhzbDppZiB0ZXN0PSJAbmFtZSA9ICdodG1sRGVmYXVsdFNBWEhhbmRsZXInIj4KKwkJCQkJCTx4c2w6dGV4dD4jZW5kaWYmbmw7PC94c2w6dGV4dD4KKwkJCQkJPC94c2w6aWY+CisJCQkJCTx4c2w6dGV4dD4jZWxzZSZubDs8L3hzbDp0ZXh0PgorCQkJCQk8eHNsOmlmIHRlc3Q9IkBuYW1lID0gJ2RvY2JEZWZhdWx0U0FYSGFuZGxlciciPgorCQkJCQkJPHhzbDp0ZXh0PiNpZmRlZiBMSUJYTUxfRE9DQl9FTkFCTEVEJm5sOzwveHNsOnRleHQ+CisJCQkJCTwveHNsOmlmPgorCQkJCQk8eHNsOmlmIHRlc3Q9IkBuYW1lID0gJ2h0bWxEZWZhdWx0U0FYSGFuZGxlciciPgorCQkJCQkJPHhzbDp0ZXh0PiNpZmRlZiBMSUJYTUxfSFRNTF9FTkFCTEVEJm5sOzwveHNsOnRleHQ+CisJCQkJCTwveHNsOmlmPgorCQkJCQk8eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz4KKwkJCQkJPHhzbDp0ZXh0PiBEQVRBJm5sOzwveHNsOnRleHQ+CisJCQkJCTx4c2w6aWYgdGVzdD0iQG5hbWUgPSAnZG9jYkRlZmF1bHRTQVhIYW5kbGVyJyI+CisJCQkJCQk8eHNsOnRleHQ+I2VuZGlmJm5sOzwveHNsOnRleHQ+CisJCQkJCTwveHNsOmlmPgorCQkJCQk8eHNsOmlmIHRlc3Q9IkBuYW1lID0gJ2h0bWxEZWZhdWx0U0FYSGFuZGxlciciPgorCQkJCQkJPHhzbDp0ZXh0PiNlbmRpZiZubDs8L3hzbDp0ZXh0PgorCQkJCQk8L3hzbDppZj4KKwkJCQkJPHhzbDp0ZXh0PiNlbmRpZiZubDs8L3hzbDp0ZXh0PgorCQkJCTwveHNsOndoZW4+CisJCQkJPHhzbDpvdGhlcndpc2U+CisJCQkJCTx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPgorCQkJCQk8eHNsOmlmIHRlc3Q9InNlbGY6OnZhcmlhYmxlIj4KKwkJCQkJCTx4c2w6dGV4dD4gREFUQTwveHNsOnRleHQ+CisJCQkJCTwveHNsOmlmPgorCQkJCQk8eHNsOnRleHQ+Jm5sOzwveHNsOnRleHQ+CisJCQkJPC94c2w6b3RoZXJ3aXNlPgorCQkJPC94c2w6Y2hvb3NlPgorCQkJPCEtLSBCYXNpYyB0ZXN0cyAoY2xvc2UpIC0tPgorCQkJPHhzbDppZiB0ZXN0PSJAZmlsZSA9ICdjMTRuJyI+CisJCQkJPHhzbDp0ZXh0PiNlbmRpZiZubDs8L3hzbDp0ZXh0PgorCQkJPC94c2w6aWY+CisJCQk8eHNsOmlmIHRlc3Q9IkBmaWxlID0gJ2NhdGFsb2cnIj4KKwkJCQk8eHNsOnRleHQ+I2VuZGlmJm5sOzwveHNsOnRleHQ+CisJCQk8L3hzbDppZj4KKwkJCTx4c2w6aWYgdGVzdD0iQGZpbGUgPSAnZGVidWdYTUwnIj4KKwkJCQk8eHNsOnRleHQ+I2VuZGlmJm5sOzwveHNsOnRleHQ+CisJCQk8L3hzbDppZj4KKwkJCTx4c2w6aWYgdGVzdD0iQGZpbGUgPSAnRE9DQnBhcnNlciciPgorCQkJCTx4c2w6dGV4dD4jZW5kaWYmbmw7PC94c2w6dGV4dD4KKwkJCTwveHNsOmlmPgorCQkJPHhzbDppZiB0ZXN0PSIoQGZpbGUgPSAnSFRNTHBhcnNlcicpIAorCQkJCQlvciAoQGZpbGUgPSAnSFRNTHRyZWUnKSI+CisJCQkJPHhzbDp0ZXh0PiNlbmRpZiZubDs8L3hzbDp0ZXh0PgorCQkJPC94c2w6aWY+CisJCQk8eHNsOmlmIHRlc3Q9IkBmaWxlID0gJ25hbm9odHRwJyI+CisJCQkJPHhzbDp0ZXh0PiNlbmRpZiZubDs8L3hzbDp0ZXh0PgorCQkJPC94c2w6aWY+CisJCQk8eHNsOmlmIHRlc3Q9IkBmaWxlID0gJ25hbm9mdHAnIj4KKwkJCQk8eHNsOnRleHQ+I2VuZGlmJm5sOzwveHNsOnRleHQ+CisJCQk8L3hzbDppZj4KKwkJCTx4c2w6aWYgdGVzdD0iKEBmaWxlID0gJ3JlbGF4bmcnKSAKKwkJCQkJb3IgKEBmaWxlID0gJ3htbHNjaGVtYXMnKSAKKwkJCQkJb3IgKEBmaWxlID0gJ3htbHNjaGVtYXN0eXBlcycpIj4KKwkJCQk8eHNsOnRleHQ+I2VuZGlmJm5sOzwveHNsOnRleHQ+CisJCQk8L3hzbDppZj4KKwkJCTx4c2w6aWYgdGVzdD0iQGZpbGUgPSAneGluY2x1ZGUnIj4KKwkJCQk8eHNsOnRleHQ+I2VuZGlmJm5sOzwveHNsOnRleHQ+CisJCQk8L3hzbDppZj4KKwkJCTx4c2w6aWYgdGVzdD0iQGZpbGUgPSAneGxpbmsnIj4KKwkJCQk8eHNsOnRleHQ+I2VuZGlmJm5sOzwveHNsOnRleHQ+CisJCQk8L3hzbDppZj4KKwkJCTx4c2w6aWYgdGVzdD0iQGZpbGUgPSAneG1sYXV0b21hdGEnIj4KKwkJCQk8eHNsOnRleHQ+I2VuZGlmJm5sOzwveHNsOnRleHQ+CisJCQk8L3hzbDppZj4KKwkJCTx4c2w6aWYgdGVzdD0iKEBmaWxlID0gJ3htbHJlZ2V4cCcpIAorCQkJCQlvciAoQGZpbGUgPSAneG1sdW5pY29kZScpIj4KKwkJCQk8eHNsOnRleHQ+I2VuZGlmJm5sOzwveHNsOnRleHQ+CisJCQk8L3hzbDppZj4KKwkJCTx4c2w6aWYgdGVzdD0iKEBmaWxlID0gJ3hwYXRoJykgCisJCQkJCW9yIChAZmlsZSA9ICd4cGF0aEludGVybmFscycpIj4KKwkJCQk8eHNsOnRleHQ+I2VuZGlmJm5sOzwveHNsOnRleHQ+CisJCQk8L3hzbDppZj4KKwkJCTx4c2w6aWYgdGVzdD0iQGZpbGUgPSAneHBvaW50ZXInIj4KKwkJCQk8eHNsOnRleHQ+I2VuZGlmJm5sOzwveHNsOnRleHQ+CisJCQk8L3hzbDppZj4KKwkJCTwhLS0gRXh0ZW5kZWQgdGVzdHMgKGNsb3NlKSAtLT4KKwkJCTx4c2w6aWYgdGVzdD0iKEBuYW1lID0gJ2h0bWxEZWZhdWx0U0FYSGFuZGxlckluaXQnKSAKKwkJCQkJb3IgKEBuYW1lID0gJ2h0bWxJbml0QXV0b0Nsb3NlJykgCisJCQkJCW9yIChAbmFtZSA9ICdodG1sQ3JlYXRlRmlsZVBhcnNlckN0eHQnKSAKKwkJCQkJb3IgKEBuYW1lID0gJ2luaXRodG1sRGVmYXVsdFNBWEhhbmRsZXInKQorCQkJCQlvciAoQG5hbWUgPSAneG1sSXNYSFRNTCcpIAorCQkJCQlvciAoQG5hbWUgPSAneG1sSU9IVFRQT3BlblcnKSAKKwkJCQkJb3IgKEBuYW1lID0gJ3htbFJlZ2lzdGVySFRUUFBvc3RDYWxsYmFja3MnKSAKKwkJCQkJb3IgKEBuYW1lID0gJ3htbElPSFRUUE1hdGNoJykKKwkJCQkJb3IgKEBuYW1lID0gJ3htbElPSFRUUE9wZW4nKSAKKwkJCQkJb3IgKEBuYW1lID0gJ3htbElPSFRUUFJlYWQnKSAKKwkJCQkJb3IgKEBuYW1lID0gJ3htbElPSFRUUENsb3NlJykiPgorCQkJCTx4c2w6dGV4dD4jZW5kaWYmbmw7PC94c2w6dGV4dD4KKwkJCTwveHNsOmlmPgorCQkJPHhzbDppZiB0ZXN0PSIoQG5hbWUgPSAnZG9jYkRlZmF1bHRTQVhIYW5kbGVySW5pdCcpIAorCQkJCQlvciAoQG5hbWUgPSAnaW5pdGRvY2JEZWZhdWx0U0FYSGFuZGxlcicpIj4KKwkJCQk8eHNsOnRleHQ+I2VuZGlmJm5sOzwveHNsOnRleHQ+CisJCQk8L3hzbDppZj4KKwkJCTx4c2w6aWYgdGVzdD0iQG5hbWUgPSAneG1sVmFsaWRCdWlsZENvbnRlbnRNb2RlbCciPgorCQkJCTx4c2w6dGV4dD4jZW5kaWYmbmw7PC94c2w6dGV4dD4KKwkJCTwveHNsOmlmPgorCQkJPHhzbDppZiB0ZXN0PSIoQG5hbWUgPSAneG1sSU9GVFBNYXRjaCcpIAorCQkJCQlvciAoQG5hbWUgPSAneG1sSU9GVFBPcGVuJykgCisJCQkJCW9yIChAbmFtZSA9ICd4bWxJT0ZUUFJlYWQnKSAKKwkJCQkJb3IgKEBuYW1lID0gJ3htbElPRlRQQ2xvc2UnKSI+CisJCQkJPHhzbDp0ZXh0PiNlbmRpZiZubDs8L3hzbDp0ZXh0PgorCQkJPC94c2w6aWY+CisJCQk8eHNsOmlmIHRlc3Q9IihAbmFtZSA9ICd4bWxUZXh0UmVhZGVyUmVsYXhOR1ZhbGlkYXRlJykgCisJCQkJCW9yIChAbmFtZSA9ICd4bWxUZXh0UmVhZGVyUmVsYXhOR1NldFNjaGVtYScpIj4KKwkJCQk8eHNsOnRleHQ+I2VuZGlmJm5sOzwveHNsOnRleHQ+CisJCQk8L3hzbDppZj4KKwkJCTx4c2w6aWYgdGVzdD0iKEBuYW1lID0gJ3htbFhQYXRoRGVidWdEdW1wT2JqZWN0JykgCisJCQkJCW9yIChAbmFtZSA9ICd4bWxYUGF0aERlYnVnRHVtcENvbXBFeHByJykiPgorCQkJCTx4c2w6dGV4dD4jZW5kaWYmbmw7PC94c2w6dGV4dD4KKwkJCTwveHNsOmlmPgorCQkJPHhzbDppZiB0ZXN0PSIoQG5hbWUgPSAneG1sTWFsbG9jTG9jJykgCisJCQkJCW9yIChAbmFtZSA9ICd4bWxNYWxsb2NBdG9taWNMb2MnKSAKKwkJCQkJb3IgKEBuYW1lID0gJ3htbFJlYWxsb2NMb2MnKSAKKwkJCQkJb3IgKEBuYW1lID0gJ3htbE1lbVN0cmR1cExvYycpIj4KKwkJCQk8eHNsOnRleHQ+I2VuZGlmJm5sOzwveHNsOnRleHQ+CisJCQk8L3hzbDppZj4KKwkJPC94c2w6Zm9yLWVhY2g+CisJPC94c2w6dGVtcGxhdGU+Cis8L3hzbDpzdHlsZXNoZWV0PgorCmRpZmYgLS1naXQgYS9saWJ4bWwyL3dpbjMyL2xpYnhtbDIuZGVmLnNyYyBiL2xpYnhtbDIvd2luMzIvbGlieG1sMi5kZWYuc3JjCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFiZGJlZDkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3dpbjMyL2xpYnhtbDIuZGVmLnNyYwpAQCAtMCwwICsxLDMxOTAgQEAKKyNkZWZpbmUgTElCWE1MMl9DT01QSUxJTkdfTVNDQ0RFRgorI2luY2x1ZGUgIi4uL2luY2x1ZGUvbGlieG1sL3htbHZlcnNpb24uaCIKK0xJQlJBUlkgbGlieG1sMgorRVhQT1JUUworI2lmZGVmIExJQlhNTF9USFJFQURfRU5BQkxFRAorI2lmZGVmIExJQlhNTF9ET0NCX0VOQUJMRUQKK19fZG9jYkRlZmF1bHRTQVhIYW5kbGVyCisjZW5kaWYKKyNlbHNlCisjaWZkZWYgTElCWE1MX0RPQ0JfRU5BQkxFRAorZG9jYkRlZmF1bHRTQVhIYW5kbGVyIERBVEEKKyNlbmRpZgorI2VuZGlmCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECitlbXB0eUV4cCBEQVRBCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKK2ZvcmJpZGRlbkV4cCBEQVRBCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfVEhSRUFEX0VOQUJMRUQKKyNpZmRlZiBMSUJYTUxfSFRNTF9FTkFCTEVECitfX2h0bWxEZWZhdWx0U0FYSGFuZGxlcgorI2VuZGlmCisjZWxzZQorI2lmZGVmIExJQlhNTF9IVE1MX0VOQUJMRUQKK2h0bWxEZWZhdWx0U0FYSGFuZGxlciBEQVRBCisjZW5kaWYKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9USFJFQURfRU5BQkxFRAorX19vbGRYTUxXRGNvbXBhdGliaWxpdHkKKyNlbHNlCitvbGRYTUxXRGNvbXBhdGliaWxpdHkgREFUQQorI2VuZGlmCisjaWZkZWYgTElCWE1MX1RIUkVBRF9FTkFCTEVECitfX3htbEJ1ZmZlckFsbG9jU2NoZW1lCisjZWxzZQoreG1sQnVmZmVyQWxsb2NTY2hlbWUgREFUQQorI2VuZGlmCisjaWZkZWYgTElCWE1MX1RIUkVBRF9FTkFCTEVECitfX3htbERlZmF1bHRCdWZmZXJTaXplCisjZWxzZQoreG1sRGVmYXVsdEJ1ZmZlclNpemUgREFUQQorI2VuZGlmCisjaWZkZWYgTElCWE1MX1RIUkVBRF9FTkFCTEVECitfX3htbERlZmF1bHRTQVhIYW5kbGVyCisjZWxzZQoreG1sRGVmYXVsdFNBWEhhbmRsZXIgREFUQQorI2VuZGlmCisjaWZkZWYgTElCWE1MX1RIUkVBRF9FTkFCTEVECitfX3htbERlZmF1bHRTQVhMb2NhdG9yCisjZWxzZQoreG1sRGVmYXVsdFNBWExvY2F0b3IgREFUQQorI2VuZGlmCisjaWZkZWYgTElCWE1MX1RIUkVBRF9FTkFCTEVECitfX3htbERlcmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlCisjZWxzZQoreG1sRGVyZWdpc3Rlck5vZGVEZWZhdWx0VmFsdWUgREFUQQorI2VuZGlmCisjaWZkZWYgTElCWE1MX1RIUkVBRF9FTkFCTEVECitfX3htbERvVmFsaWRpdHlDaGVja2luZ0RlZmF1bHRWYWx1ZQorI2Vsc2UKK3htbERvVmFsaWRpdHlDaGVja2luZ0RlZmF1bHRWYWx1ZSBEQVRBCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfVEhSRUFEX0FMTE9DX0VOQUJMRUQKK19feG1sRnJlZQorI2Vsc2UKK3htbEZyZWUgREFUQQorI2VuZGlmCisjaWZkZWYgTElCWE1MX1RIUkVBRF9FTkFCTEVECitfX3htbEdlbmVyaWNFcnJvcgorI2Vsc2UKK3htbEdlbmVyaWNFcnJvciBEQVRBCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfVEhSRUFEX0VOQUJMRUQKK19feG1sR2VuZXJpY0Vycm9yQ29udGV4dAorI2Vsc2UKK3htbEdlbmVyaWNFcnJvckNvbnRleHQgREFUQQorI2VuZGlmCisjaWZkZWYgTElCWE1MX1RIUkVBRF9FTkFCTEVECitfX3htbEdldFdhcm5pbmdzRGVmYXVsdFZhbHVlCisjZWxzZQoreG1sR2V0V2FybmluZ3NEZWZhdWx0VmFsdWUgREFUQQorI2VuZGlmCisjaWZkZWYgTElCWE1MX1RIUkVBRF9FTkFCTEVECitfX3htbEluZGVudFRyZWVPdXRwdXQKKyNlbHNlCit4bWxJbmRlbnRUcmVlT3V0cHV0IERBVEEKKyNlbmRpZgoreG1sSXNCYXNlQ2hhckdyb3VwIERBVEEKK3htbElzQ2hhckdyb3VwIERBVEEKK3htbElzQ29tYmluaW5nR3JvdXAgREFUQQoreG1sSXNEaWdpdEdyb3VwIERBVEEKK3htbElzRXh0ZW5kZXJHcm91cCBEQVRBCit4bWxJc0lkZW9ncmFwaGljR3JvdXAgREFUQQoreG1sSXNQdWJpZENoYXJfdGFiIERBVEEKKyNpZmRlZiBMSUJYTUxfVEhSRUFEX0VOQUJMRUQKK19feG1sS2VlcEJsYW5rc0RlZmF1bHRWYWx1ZQorI2Vsc2UKK3htbEtlZXBCbGFua3NEZWZhdWx0VmFsdWUgREFUQQorI2VuZGlmCit4bWxMYXN0RXJyb3IgREFUQQorI2lmZGVmIExJQlhNTF9USFJFQURfRU5BQkxFRAorX194bWxMaW5lTnVtYmVyc0RlZmF1bHRWYWx1ZQorI2Vsc2UKK3htbExpbmVOdW1iZXJzRGVmYXVsdFZhbHVlIERBVEEKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9USFJFQURfRU5BQkxFRAorX194bWxMb2FkRXh0RHRkRGVmYXVsdFZhbHVlCisjZWxzZQoreG1sTG9hZEV4dER0ZERlZmF1bHRWYWx1ZSBEQVRBCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfVEhSRUFEX0FMTE9DX0VOQUJMRUQKK19feG1sTWFsbG9jCisjZWxzZQoreG1sTWFsbG9jIERBVEEKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9USFJFQURfQUxMT0NfRU5BQkxFRAorX194bWxNYWxsb2NBdG9taWMKKyNlbHNlCit4bWxNYWxsb2NBdG9taWMgREFUQQorI2VuZGlmCisjaWZkZWYgTElCWE1MX1RIUkVBRF9BTExPQ19FTkFCTEVECitfX3htbE1lbVN0cmR1cAorI2Vsc2UKK3htbE1lbVN0cmR1cCBEQVRBCisjZW5kaWYKK3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lVmFsdWUgREFUQQorI2lmZGVmIExJQlhNTF9USFJFQURfRU5BQkxFRAorX194bWxQYXJzZXJEZWJ1Z0VudGl0aWVzCisjZWxzZQoreG1sUGFyc2VyRGVidWdFbnRpdGllcyBEQVRBCisjZW5kaWYKK3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVWYWx1ZSBEQVRBCit4bWxQYXJzZXJNYXhEZXB0aCBEQVRBCisjaWZkZWYgTElCWE1MX1RIUkVBRF9FTkFCTEVECitfX3htbFBhcnNlclZlcnNpb24KKyNlbHNlCit4bWxQYXJzZXJWZXJzaW9uIERBVEEKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9USFJFQURfRU5BQkxFRAorX194bWxQZWRhbnRpY1BhcnNlckRlZmF1bHRWYWx1ZQorI2Vsc2UKK3htbFBlZGFudGljUGFyc2VyRGVmYXVsdFZhbHVlIERBVEEKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9USFJFQURfQUxMT0NfRU5BQkxFRAorX194bWxSZWFsbG9jCisjZWxzZQoreG1sUmVhbGxvYyBEQVRBCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfVEhSRUFEX0VOQUJMRUQKK19feG1sUmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlCisjZWxzZQoreG1sUmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlIERBVEEKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9USFJFQURfRU5BQkxFRAorX194bWxTYXZlTm9FbXB0eVRhZ3MKKyNlbHNlCit4bWxTYXZlTm9FbXB0eVRhZ3MgREFUQQorI2VuZGlmCit4bWxTdHJpbmdDb21tZW50IERBVEEKK3htbFN0cmluZ1RleHQgREFUQQoreG1sU3RyaW5nVGV4dE5vZW5jIERBVEEKK3htbFN0cnVjdHVyZWRFcnJvciBEQVRBCit4bWxTdHJ1Y3R1cmVkRXJyb3JDb250ZXh0IERBVEEKKyNpZmRlZiBMSUJYTUxfVEhSRUFEX0VOQUJMRUQKK19feG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdFZhbHVlCisjZWxzZQoreG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdFZhbHVlIERBVEEKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9USFJFQURfRU5BQkxFRAorX194bWxUcmVlSW5kZW50U3RyaW5nCisjZWxzZQoreG1sVHJlZUluZGVudFN0cmluZyBEQVRBCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAoreG1sWFBhdGhOQU4gREFUQQorI2VuZGlmCisjaWZkZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQKK3htbFhQYXRoTklORiBEQVRBCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAoreG1sWFBhdGhQSU5GIERBVEEKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9IVE1MX0VOQUJMRUQKK1VURjhUb0h0bWwKKyNlbmRpZgorVVRGOFRvaXNvbGF0MQorYXR0cmlidXRlCithdHRyaWJ1dGVEZWNsCitjZGF0YUJsb2NrCitjaGFyYWN0ZXJzCitjaGVja05hbWVzcGFjZQorY29tbWVudAorI2lmZGVmIExJQlhNTF9ET0NCX0VOQUJMRUQKK2RvY2JDcmVhdGVGaWxlUGFyc2VyQ3R4dAorI2VuZGlmCisjaWZkZWYgTElCWE1MX0RPQ0JfRU5BQkxFRAorZG9jYkNyZWF0ZVB1c2hQYXJzZXJDdHh0CisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfRE9DQl9FTkFCTEVECitkb2NiRGVmYXVsdFNBWEhhbmRsZXJJbml0CisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfRE9DQl9FTkFCTEVECitkb2NiRW5jb2RlRW50aXRpZXMKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9ET0NCX0VOQUJMRUQKK2RvY2JGcmVlUGFyc2VyQ3R4dAorI2VuZGlmCisjaWZkZWYgTElCWE1MX0RPQ0JfRU5BQkxFRAorZG9jYlBhcnNlQ2h1bmsKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9ET0NCX0VOQUJMRUQKK2RvY2JQYXJzZURvYworI2VuZGlmCisjaWZkZWYgTElCWE1MX0RPQ0JfRU5BQkxFRAorZG9jYlBhcnNlRG9jdW1lbnQKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9ET0NCX0VOQUJMRUQKK2RvY2JQYXJzZUZpbGUKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9ET0NCX0VOQUJMRUQKK2RvY2JTQVhQYXJzZURvYworI2VuZGlmCisjaWZkZWYgTElCWE1MX0RPQ0JfRU5BQkxFRAorZG9jYlNBWFBhcnNlRmlsZQorI2VuZGlmCitlbGVtZW50RGVjbAorZW5kRG9jdW1lbnQKK2VuZEVsZW1lbnQKK2VudGl0eURlY2wKK2V4dGVybmFsU3Vic2V0CitnZXRDb2x1bW5OdW1iZXIKK2dldEVudGl0eQorZ2V0TGluZU51bWJlcgorZ2V0TmFtZXNwYWNlCitnZXRQYXJhbWV0ZXJFbnRpdHkKK2dldFB1YmxpY0lkCitnZXRTeXN0ZW1JZAorZ2xvYmFsTmFtZXNwYWNlCitoYXNFeHRlcm5hbFN1YnNldAoraGFzSW50ZXJuYWxTdWJzZXQKKyNpZmRlZiBMSUJYTUxfSFRNTF9FTkFCTEVECitodG1sQXR0ckFsbG93ZWQKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9IVE1MX0VOQUJMRUQKK2h0bWxBdXRvQ2xvc2VUYWcKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9IVE1MX0VOQUJMRUQKK2h0bWxDcmVhdGVGaWxlUGFyc2VyQ3R4dAorI2VuZGlmCisjaWZkZWYgTElCWE1MX0hUTUxfRU5BQkxFRAoraHRtbENyZWF0ZU1lbW9yeVBhcnNlckN0eHQKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9IVE1MX0VOQUJMRUQKK2h0bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dAorI2VuZGlmCisjaWZkZWYgTElCWE1MX0hUTUxfRU5BQkxFRAoraHRtbEN0eHRSZWFkRG9jCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfSFRNTF9FTkFCTEVECitodG1sQ3R4dFJlYWRGZAorI2VuZGlmCisjaWZkZWYgTElCWE1MX0hUTUxfRU5BQkxFRAoraHRtbEN0eHRSZWFkRmlsZQorI2VuZGlmCisjaWZkZWYgTElCWE1MX0hUTUxfRU5BQkxFRAoraHRtbEN0eHRSZWFkSU8KKyNlbmRpZgorI2lmZGVmIExJQlhNTF9IVE1MX0VOQUJMRUQKK2h0bWxDdHh0UmVhZE1lbW9yeQorI2VuZGlmCisjaWZkZWYgTElCWE1MX0hUTUxfRU5BQkxFRAoraHRtbEN0eHRSZXNldAorI2VuZGlmCisjaWZkZWYgTElCWE1MX0hUTUxfRU5BQkxFRAoraHRtbEN0eHRVc2VPcHRpb25zCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfSFRNTF9FTkFCTEVECitodG1sRGVmYXVsdFNBWEhhbmRsZXJJbml0CisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfSFRNTF9FTkFCTEVECitodG1sRG9jQ29udGVudER1bXBGb3JtYXRPdXRwdXQKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9IVE1MX0VOQUJMRUQKK2h0bWxEb2NDb250ZW50RHVtcE91dHB1dAorI2VuZGlmCisjaWZkZWYgTElCWE1MX0hUTUxfRU5BQkxFRAoraHRtbERvY0R1bXAKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9IVE1MX0VOQUJMRUQKK2h0bWxEb2NEdW1wTWVtb3J5CisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfSFRNTF9FTkFCTEVECitodG1sRG9jRHVtcE1lbW9yeUZvcm1hdAorI2VuZGlmCisjaWZkZWYgTElCWE1MX0hUTUxfRU5BQkxFRAoraHRtbEVsZW1lbnRBbGxvd2VkSGVyZQorI2VuZGlmCisjaWZkZWYgTElCWE1MX0hUTUxfRU5BQkxFRAoraHRtbEVsZW1lbnRTdGF0dXNIZXJlCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfSFRNTF9FTkFCTEVECitodG1sRW5jb2RlRW50aXRpZXMKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9IVE1MX0VOQUJMRUQKK2h0bWxFbnRpdHlMb29rdXAKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9IVE1MX0VOQUJMRUQKK2h0bWxFbnRpdHlWYWx1ZUxvb2t1cAorI2VuZGlmCisjaWZkZWYgTElCWE1MX0hUTUxfRU5BQkxFRAoraHRtbEZyZWVQYXJzZXJDdHh0CisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfSFRNTF9FTkFCTEVECitodG1sR2V0TWV0YUVuY29kaW5nCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfSFRNTF9FTkFCTEVECitodG1sSGFuZGxlT21pdHRlZEVsZW0KKyNlbmRpZgorI2lmZGVmIExJQlhNTF9IVE1MX0VOQUJMRUQKK2h0bWxJbml0QXV0b0Nsb3NlCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfSFRNTF9FTkFCTEVECitodG1sSXNBdXRvQ2xvc2VkCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfSFRNTF9FTkFCTEVECitodG1sSXNCb29sZWFuQXR0cgorI2VuZGlmCisjaWZkZWYgTElCWE1MX0hUTUxfRU5BQkxFRAoraHRtbElzU2NyaXB0QXR0cmlidXRlCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfSFRNTF9FTkFCTEVECitodG1sTmV3RG9jCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfSFRNTF9FTkFCTEVECitodG1sTmV3RG9jTm9EdEQKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9IVE1MX0VOQUJMRUQKK2h0bWxOZXdQYXJzZXJDdHh0CisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfSFRNTF9FTkFCTEVECitodG1sTm9kZUR1bXAKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9IVE1MX0VOQUJMRUQKK2h0bWxOb2RlRHVtcEZpbGUKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9IVE1MX0VOQUJMRUQKK2h0bWxOb2RlRHVtcEZpbGVGb3JtYXQKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9IVE1MX0VOQUJMRUQKK2h0bWxOb2RlRHVtcEZvcm1hdE91dHB1dAorI2VuZGlmCisjaWZkZWYgTElCWE1MX0hUTUxfRU5BQkxFRAoraHRtbE5vZGVEdW1wT3V0cHV0CisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfSFRNTF9FTkFCTEVECitodG1sTm9kZVN0YXR1cworI2VuZGlmCisjaWZkZWYgTElCWE1MX0hUTUxfRU5BQkxFRAoraHRtbFBhcnNlQ2hhclJlZgorI2VuZGlmCisjaWZkZWYgTElCWE1MX0hUTUxfRU5BQkxFRAoraHRtbFBhcnNlQ2h1bmsKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9IVE1MX0VOQUJMRUQKK2h0bWxQYXJzZURvYworI2VuZGlmCisjaWZkZWYgTElCWE1MX0hUTUxfRU5BQkxFRAoraHRtbFBhcnNlRG9jdW1lbnQKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9IVE1MX0VOQUJMRUQKK2h0bWxQYXJzZUVsZW1lbnQKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9IVE1MX0VOQUJMRUQKK2h0bWxQYXJzZUVudGl0eVJlZgorI2VuZGlmCisjaWZkZWYgTElCWE1MX0hUTUxfRU5BQkxFRAoraHRtbFBhcnNlRmlsZQorI2VuZGlmCisjaWZkZWYgTElCWE1MX0hUTUxfRU5BQkxFRAoraHRtbFJlYWREb2MKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9IVE1MX0VOQUJMRUQKK2h0bWxSZWFkRmQKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9IVE1MX0VOQUJMRUQKK2h0bWxSZWFkRmlsZQorI2VuZGlmCisjaWZkZWYgTElCWE1MX0hUTUxfRU5BQkxFRAoraHRtbFJlYWRJTworI2VuZGlmCisjaWZkZWYgTElCWE1MX0hUTUxfRU5BQkxFRAoraHRtbFJlYWRNZW1vcnkKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9IVE1MX0VOQUJMRUQKK2h0bWxTQVhQYXJzZURvYworI2VuZGlmCisjaWZkZWYgTElCWE1MX0hUTUxfRU5BQkxFRAoraHRtbFNBWFBhcnNlRmlsZQorI2VuZGlmCisjaWZkZWYgTElCWE1MX0hUTUxfRU5BQkxFRAoraHRtbFNhdmVGaWxlCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfSFRNTF9FTkFCTEVECitodG1sU2F2ZUZpbGVFbmMKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9IVE1MX0VOQUJMRUQKK2h0bWxTYXZlRmlsZUZvcm1hdAorI2VuZGlmCisjaWZkZWYgTElCWE1MX0hUTUxfRU5BQkxFRAoraHRtbFNldE1ldGFFbmNvZGluZworI2VuZGlmCisjaWZkZWYgTElCWE1MX0hUTUxfRU5BQkxFRAoraHRtbFRhZ0xvb2t1cAorI2VuZGlmCitpZ25vcmFibGVXaGl0ZXNwYWNlCitpbml0R2VuZXJpY0Vycm9yRGVmYXVsdEZ1bmMKKyNpZmRlZiBMSUJYTUxfRE9DQl9FTkFCTEVECitpbml0ZG9jYkRlZmF1bHRTQVhIYW5kbGVyCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfSFRNTF9FTkFCTEVECitpbml0aHRtbERlZmF1bHRTQVhIYW5kbGVyCisjZW5kaWYKK2luaXR4bWxEZWZhdWx0U0FYSGFuZGxlcgoraW5wdXRQb3AKK2lucHV0UHVzaAoraW50ZXJuYWxTdWJzZXQKK2lzU3RhbmRhbG9uZQoraXNvbGF0MVRvVVRGOAorbmFtZVBvcAorbmFtZVB1c2gKK25hbWVzcGFjZURlY2wKK25vZGVQb3AKK25vZGVQdXNoCitub3RhdGlvbkRlY2wKK3Byb2Nlc3NpbmdJbnN0cnVjdGlvbgorcmVmZXJlbmNlCityZXNvbHZlRW50aXR5CitzZXREb2N1bWVudExvY2F0b3IKK3NldE5hbWVzcGFjZQorc3RhcnREb2N1bWVudAorc3RhcnRFbGVtZW50Cit1bnBhcnNlZEVudGl0eURlY2wKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAordmFsdWVQb3AKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECit2YWx1ZVB1c2gKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YTElOS19FTkFCTEVECit4bGlua0dldERlZmF1bHREZXRlY3QKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YTElOS19FTkFCTEVECit4bGlua0dldERlZmF1bHRIYW5kbGVyCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWExJTktfRU5BQkxFRAoreGxpbmtJc0xpbmsKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YTElOS19FTkFCTEVECit4bGlua1NldERlZmF1bHREZXRlY3QKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YTElOS19FTkFCTEVECit4bGlua1NldERlZmF1bHRIYW5kbGVyCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfQ0FUQUxPR19FTkFCTEVECit4bWxBQ2F0YWxvZ0FkZAorI2VuZGlmCisjaWZkZWYgTElCWE1MX0NBVEFMT0dfRU5BQkxFRAoreG1sQUNhdGFsb2dEdW1wCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfQ0FUQUxPR19FTkFCTEVECit4bWxBQ2F0YWxvZ1JlbW92ZQorI2VuZGlmCisjaWZkZWYgTElCWE1MX0NBVEFMT0dfRU5BQkxFRAoreG1sQUNhdGFsb2dSZXNvbHZlCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfQ0FUQUxPR19FTkFCTEVECit4bWxBQ2F0YWxvZ1Jlc29sdmVQdWJsaWMKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9DQVRBTE9HX0VOQUJMRUQKK3htbEFDYXRhbG9nUmVzb2x2ZVN5c3RlbQorI2VuZGlmCisjaWZkZWYgTElCWE1MX0NBVEFMT0dfRU5BQkxFRAoreG1sQUNhdGFsb2dSZXNvbHZlVVJJCisjZW5kaWYKK3htbEFkZEF0dHJpYnV0ZURlY2wKK3htbEFkZENoaWxkCit4bWxBZGRDaGlsZExpc3QKK3htbEFkZERvY0VudGl0eQoreG1sQWRkRHRkRW50aXR5Cit4bWxBZGRFbGVtZW50RGVjbAoreG1sQWRkRW5jb2RpbmdBbGlhcworeG1sQWRkSUQKK3htbEFkZE5leHRTaWJsaW5nCit4bWxBZGROb3RhdGlvbkRlY2wKK3htbEFkZFByZXZTaWJsaW5nCit4bWxBZGRSZWYKK3htbEFkZFNpYmxpbmcKK3htbEFsbG9jT3V0cHV0QnVmZmVyCit4bWxBbGxvY1BhcnNlcklucHV0QnVmZmVyCit4bWxBdHRyU2VyaWFsaXplVHh0Q29udGVudAorI2lmZGVmIExJQlhNTF9BVVRPTUFUQV9FTkFCTEVECit4bWxBdXRvbWF0YUNvbXBpbGUKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9BVVRPTUFUQV9FTkFCTEVECit4bWxBdXRvbWF0YUdldEluaXRTdGF0ZQorI2VuZGlmCisjaWZkZWYgTElCWE1MX0FVVE9NQVRBX0VOQUJMRUQKK3htbEF1dG9tYXRhSXNEZXRlcm1pbmlzdAorI2VuZGlmCisjaWZkZWYgTElCWE1MX0FVVE9NQVRBX0VOQUJMRUQKK3htbEF1dG9tYXRhTmV3QWxsVHJhbnMKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9BVVRPTUFUQV9FTkFCTEVECit4bWxBdXRvbWF0YU5ld0NvdW50VHJhbnMKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9BVVRPTUFUQV9FTkFCTEVECit4bWxBdXRvbWF0YU5ld0NvdW50VHJhbnMyCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfQVVUT01BVEFfRU5BQkxFRAoreG1sQXV0b21hdGFOZXdDb3VudGVkVHJhbnMKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9BVVRPTUFUQV9FTkFCTEVECit4bWxBdXRvbWF0YU5ld0NvdW50ZXIKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9BVVRPTUFUQV9FTkFCTEVECit4bWxBdXRvbWF0YU5ld0NvdW50ZXJUcmFucworI2VuZGlmCisjaWZkZWYgTElCWE1MX0FVVE9NQVRBX0VOQUJMRUQKK3htbEF1dG9tYXRhTmV3RXBzaWxvbgorI2VuZGlmCisjaWZkZWYgTElCWE1MX0FVVE9NQVRBX0VOQUJMRUQKK3htbEF1dG9tYXRhTmV3TmVnVHJhbnMKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9BVVRPTUFUQV9FTkFCTEVECit4bWxBdXRvbWF0YU5ld09uY2VUcmFucworI2VuZGlmCisjaWZkZWYgTElCWE1MX0FVVE9NQVRBX0VOQUJMRUQKK3htbEF1dG9tYXRhTmV3T25jZVRyYW5zMgorI2VuZGlmCisjaWZkZWYgTElCWE1MX0FVVE9NQVRBX0VOQUJMRUQKK3htbEF1dG9tYXRhTmV3U3RhdGUKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9BVVRPTUFUQV9FTkFCTEVECit4bWxBdXRvbWF0YU5ld1RyYW5zaXRpb24KKyNlbmRpZgorI2lmZGVmIExJQlhNTF9BVVRPTUFUQV9FTkFCTEVECit4bWxBdXRvbWF0YU5ld1RyYW5zaXRpb24yCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfQVVUT01BVEFfRU5BQkxFRAoreG1sQXV0b21hdGFTZXRGaW5hbFN0YXRlCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfREVCVUdfRU5BQkxFRAoreG1sQm9vbFRvVGV4dAorI2VuZGlmCit4bWxCdWZDb250ZW50Cit4bWxCdWZFbmQKK3htbEJ1ZkdldE5vZGVDb250ZW50Cit4bWxCdWZOb2RlRHVtcAoreG1sQnVmU2hyaW5rCit4bWxCdWZVc2UKK3htbEJ1ZmZlckFkZAoreG1sQnVmZmVyQWRkSGVhZAoreG1sQnVmZmVyQ0NhdAoreG1sQnVmZmVyQ2F0Cit4bWxCdWZmZXJDb250ZW50Cit4bWxCdWZmZXJDcmVhdGUKK3htbEJ1ZmZlckNyZWF0ZVNpemUKK3htbEJ1ZmZlckNyZWF0ZVN0YXRpYworeG1sQnVmZmVyRGV0YWNoCit4bWxCdWZmZXJEdW1wCit4bWxCdWZmZXJFbXB0eQoreG1sQnVmZmVyRnJlZQoreG1sQnVmZmVyR3JvdworeG1sQnVmZmVyTGVuZ3RoCit4bWxCdWZmZXJSZXNpemUKK3htbEJ1ZmZlclNldEFsbG9jYXRpb25TY2hlbWUKK3htbEJ1ZmZlclNocmluaworeG1sQnVmZmVyV3JpdGVDSEFSCit4bWxCdWZmZXJXcml0ZUNoYXIKK3htbEJ1ZmZlcldyaXRlUXVvdGVkU3RyaW5nCit4bWxCdWlsZFFOYW1lCit4bWxCdWlsZFJlbGF0aXZlVVJJCit4bWxCdWlsZFVSSQoreG1sQnl0ZUNvbnN1bWVkCisjaWZkZWYgTElCWE1MX0MxNE5fRU5BQkxFRAoreG1sQzE0TkRvY0R1bXBNZW1vcnkKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9DMTROX0VOQUJMRUQKK3htbEMxNE5Eb2NTYXZlCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfQzE0Tl9FTkFCTEVECit4bWxDMTRORG9jU2F2ZVRvCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfQzE0Tl9FTkFCTEVECit4bWxDMTRORXhlY3V0ZQorI2VuZGlmCit4bWxDYW5vbmljUGF0aAorI2lmZGVmIExJQlhNTF9DQVRBTE9HX0VOQUJMRUQKK3htbENhdGFsb2dBZGQKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9DQVRBTE9HX0VOQUJMRUQKK3htbENhdGFsb2dBZGRMb2NhbAorI2VuZGlmCisjaWZkZWYgTElCWE1MX0NBVEFMT0dfRU5BQkxFRAoreG1sQ2F0YWxvZ0NsZWFudXAKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9DQVRBTE9HX0VOQUJMRUQKK3htbENhdGFsb2dDb252ZXJ0CisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfQ0FUQUxPR19FTkFCTEVECit4bWxDYXRhbG9nRHVtcAorI2VuZGlmCisjaWZkZWYgTElCWE1MX0NBVEFMT0dfRU5BQkxFRAoreG1sQ2F0YWxvZ0ZyZWVMb2NhbAorI2VuZGlmCisjaWZkZWYgTElCWE1MX0NBVEFMT0dfRU5BQkxFRAoreG1sQ2F0YWxvZ0dldERlZmF1bHRzCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfQ0FUQUxPR19FTkFCTEVECit4bWxDYXRhbG9nR2V0UHVibGljCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfQ0FUQUxPR19FTkFCTEVECit4bWxDYXRhbG9nR2V0U3lzdGVtCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfQ0FUQUxPR19FTkFCTEVECit4bWxDYXRhbG9nSXNFbXB0eQorI2VuZGlmCisjaWZkZWYgTElCWE1MX0NBVEFMT0dfRU5BQkxFRAoreG1sQ2F0YWxvZ0xvY2FsUmVzb2x2ZQorI2VuZGlmCisjaWZkZWYgTElCWE1MX0NBVEFMT0dfRU5BQkxFRAoreG1sQ2F0YWxvZ0xvY2FsUmVzb2x2ZVVSSQorI2VuZGlmCisjaWZkZWYgTElCWE1MX0NBVEFMT0dfRU5BQkxFRAoreG1sQ2F0YWxvZ1JlbW92ZQorI2VuZGlmCisjaWZkZWYgTElCWE1MX0NBVEFMT0dfRU5BQkxFRAoreG1sQ2F0YWxvZ1Jlc29sdmUKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9DQVRBTE9HX0VOQUJMRUQKK3htbENhdGFsb2dSZXNvbHZlUHVibGljCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfQ0FUQUxPR19FTkFCTEVECit4bWxDYXRhbG9nUmVzb2x2ZVN5c3RlbQorI2VuZGlmCisjaWZkZWYgTElCWE1MX0NBVEFMT0dfRU5BQkxFRAoreG1sQ2F0YWxvZ1Jlc29sdmVVUkkKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9DQVRBTE9HX0VOQUJMRUQKK3htbENhdGFsb2dTZXREZWJ1ZworI2VuZGlmCisjaWZkZWYgTElCWE1MX0NBVEFMT0dfRU5BQkxFRAoreG1sQ2F0YWxvZ1NldERlZmF1bHRQcmVmZXIKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9DQVRBTE9HX0VOQUJMRUQKK3htbENhdGFsb2dTZXREZWZhdWx0cworI2VuZGlmCit4bWxDaGFyRW5jQ2xvc2VGdW5jCit4bWxDaGFyRW5jRmlyc3RMaW5lCit4bWxDaGFyRW5jSW5GdW5jCit4bWxDaGFyRW5jT3V0RnVuYworeG1sQ2hhckluUmFuZ2UKK3htbENoYXJTdHJkdXAKK3htbENoYXJTdHJuZHVwCit4bWxDaGVja0ZpbGVuYW1lCit4bWxDaGVja0hUVFBJbnB1dAoreG1sQ2hlY2tMYW5ndWFnZUlECit4bWxDaGVja1VURjgKK3htbENoZWNrVmVyc2lvbgoreG1sQ2hpbGRFbGVtZW50Q291bnQKK3htbENsZWFudXBDaGFyRW5jb2RpbmdIYW5kbGVycworeG1sQ2xlYW51cEVuY29kaW5nQWxpYXNlcworeG1sQ2xlYW51cEdsb2JhbHMKK3htbENsZWFudXBJbnB1dENhbGxiYWNrcworeG1sQ2xlYW51cE1lbW9yeQoreG1sQ2xlYW51cE91dHB1dENhbGxiYWNrcworeG1sQ2xlYW51cFBhcnNlcgoreG1sQ2xlYW51cFByZWRlZmluZWRFbnRpdGllcworeG1sQ2xlYW51cFRocmVhZHMKK3htbENsZWFyTm9kZUluZm9TZXEKK3htbENsZWFyUGFyc2VyQ3R4dAorI2lmZGVmIExJQlhNTF9DQVRBTE9HX0VOQUJMRUQKK3htbENvbnZlcnRTR01MQ2F0YWxvZworI2VuZGlmCit4bWxDb3B5QXR0cmlidXRlVGFibGUKK3htbENvcHlDaGFyCit4bWxDb3B5Q2hhck11bHRpQnl0ZQoreG1sQ29weURvYworeG1sQ29weURvY0VsZW1lbnRDb250ZW50Cit4bWxDb3B5RHRkCit4bWxDb3B5RWxlbWVudENvbnRlbnQKK3htbENvcHlFbGVtZW50VGFibGUKK3htbENvcHlFbnRpdGllc1RhYmxlCit4bWxDb3B5RW51bWVyYXRpb24KK3htbENvcHlFcnJvcgoreG1sQ29weU5hbWVzcGFjZQoreG1sQ29weU5hbWVzcGFjZUxpc3QKK3htbENvcHlOb2RlCit4bWxDb3B5Tm9kZUxpc3QKK3htbENvcHlOb3RhdGlvblRhYmxlCit4bWxDb3B5UHJvcAoreG1sQ29weVByb3BMaXN0Cit4bWxDcmVhdGVEb2NQYXJzZXJDdHh0Cit4bWxDcmVhdGVFbnRpdGllc1RhYmxlCit4bWxDcmVhdGVFbnRpdHlQYXJzZXJDdHh0Cit4bWxDcmVhdGVFbnVtZXJhdGlvbgoreG1sQ3JlYXRlRmlsZVBhcnNlckN0eHQKK3htbENyZWF0ZUlPUGFyc2VyQ3R4dAoreG1sQ3JlYXRlSW50U3Vic2V0Cit4bWxDcmVhdGVNZW1vcnlQYXJzZXJDdHh0Cit4bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dAoreG1sQ3JlYXRlVVJJCit4bWxDcmVhdGVVUkxQYXJzZXJDdHh0Cit4bWxDdHh0R2V0TGFzdEVycm9yCit4bWxDdHh0UmVhZERvYworeG1sQ3R4dFJlYWRGZAoreG1sQ3R4dFJlYWRGaWxlCit4bWxDdHh0UmVhZElPCit4bWxDdHh0UmVhZE1lbW9yeQoreG1sQ3R4dFJlc2V0Cit4bWxDdHh0UmVzZXRMYXN0RXJyb3IKK3htbEN0eHRSZXNldFB1c2gKK3htbEN0eHRVc2VPcHRpb25zCit4bWxDdXJyZW50Q2hhcgoreG1sRE9NV3JhcEFkb3B0Tm9kZQoreG1sRE9NV3JhcENsb25lTm9kZQoreG1sRE9NV3JhcEZyZWVDdHh0Cit4bWxET01XcmFwTmV3Q3R4dAoreG1sRE9NV3JhcFJlY29uY2lsZU5hbWVzcGFjZXMKK3htbERPTVdyYXBSZW1vdmVOb2RlCisjaWZkZWYgTElCWE1MX0RFQlVHX0VOQUJMRUQKK3htbERlYnVnQ2hlY2tEb2N1bWVudAorI2VuZGlmCisjaWZkZWYgTElCWE1MX0RFQlVHX0VOQUJMRUQKK3htbERlYnVnRHVtcEF0dHIKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9ERUJVR19FTkFCTEVECit4bWxEZWJ1Z0R1bXBBdHRyTGlzdAorI2VuZGlmCisjaWZkZWYgTElCWE1MX0RFQlVHX0VOQUJMRUQKK3htbERlYnVnRHVtcERURAorI2VuZGlmCisjaWZkZWYgTElCWE1MX0RFQlVHX0VOQUJMRUQKK3htbERlYnVnRHVtcERvY3VtZW50CisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfREVCVUdfRU5BQkxFRAoreG1sRGVidWdEdW1wRG9jdW1lbnRIZWFkCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfREVCVUdfRU5BQkxFRAoreG1sRGVidWdEdW1wRW50aXRpZXMKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9ERUJVR19FTkFCTEVECit4bWxEZWJ1Z0R1bXBOb2RlCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfREVCVUdfRU5BQkxFRAoreG1sRGVidWdEdW1wTm9kZUxpc3QKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9ERUJVR19FTkFCTEVECit4bWxEZWJ1Z0R1bXBPbmVOb2RlCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfREVCVUdfRU5BQkxFRAoreG1sRGVidWdEdW1wU3RyaW5nCisjZW5kaWYKK3htbERlY29kZUVudGl0aWVzCit4bWxEZWZhdWx0U0FYSGFuZGxlckluaXQKK3htbERlbEVuY29kaW5nQWxpYXMKK3htbERlcmVnaXN0ZXJOb2RlRGVmYXVsdAoreG1sRGV0ZWN0Q2hhckVuY29kaW5nCit4bWxEaWN0Q2xlYW51cAoreG1sRGljdENyZWF0ZQoreG1sRGljdENyZWF0ZVN1YgoreG1sRGljdEV4aXN0cworeG1sRGljdEZyZWUKK3htbERpY3RHZXRVc2FnZQoreG1sRGljdExvb2t1cAoreG1sRGljdE93bnMKK3htbERpY3RRTG9va3VwCit4bWxEaWN0UmVmZXJlbmNlCit4bWxEaWN0U2V0TGltaXQKK3htbERpY3RTaXplCit4bWxEbGxNYWluCit4bWxEb2NDb3B5Tm9kZQoreG1sRG9jQ29weU5vZGVMaXN0Cit4bWxEb2NEdW1wCit4bWxEb2NEdW1wRm9ybWF0TWVtb3J5Cit4bWxEb2NEdW1wRm9ybWF0TWVtb3J5RW5jCit4bWxEb2NEdW1wTWVtb3J5Cit4bWxEb2NEdW1wTWVtb3J5RW5jCit4bWxEb2NGb3JtYXREdW1wCit4bWxEb2NHZXRSb290RWxlbWVudAoreG1sRG9jU2V0Um9vdEVsZW1lbnQKK3htbER1bXBBdHRyaWJ1dGVEZWNsCit4bWxEdW1wQXR0cmlidXRlVGFibGUKK3htbER1bXBFbGVtZW50RGVjbAoreG1sRHVtcEVsZW1lbnRUYWJsZQoreG1sRHVtcEVudGl0aWVzVGFibGUKK3htbER1bXBFbnRpdHlEZWNsCit4bWxEdW1wTm90YXRpb25EZWNsCit4bWxEdW1wTm90YXRpb25UYWJsZQoreG1sRWxlbUR1bXAKK3htbEVuY29kZUVudGl0aWVzCit4bWxFbmNvZGVFbnRpdGllc1JlZW50cmFudAoreG1sRW5jb2RlU3BlY2lhbENoYXJzCit4bWxFcnJNZW1vcnkKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKK3htbEV4cEN0eHROYkNvbnMKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sRXhwQ3R4dE5iTm9kZXMKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sRXhwRHVtcAorI2VuZGlmCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECit4bWxFeHBFeHBEZXJpdmUKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sRXhwRnJlZQorI2VuZGlmCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECit4bWxFeHBGcmVlQ3R4dAorI2VuZGlmCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECit4bWxFeHBHZXRMYW5ndWFnZQorI2VuZGlmCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECit4bWxFeHBHZXRTdGFydAorI2VuZGlmCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECit4bWxFeHBJc05pbGxhYmxlCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKK3htbEV4cE1heFRva2VuCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKK3htbEV4cE5ld0F0b20KKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sRXhwTmV3Q3R4dAorI2VuZGlmCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECit4bWxFeHBOZXdPcgorI2VuZGlmCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECit4bWxFeHBOZXdSYW5nZQorI2VuZGlmCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECit4bWxFeHBOZXdTZXEKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sRXhwUGFyc2UKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sRXhwUmVmCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKK3htbEV4cFN0cmluZ0Rlcml2ZQorI2VuZGlmCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECit4bWxFeHBTdWJzdW1lCisjZW5kaWYKK3htbEZpbGVDbG9zZQoreG1sRmlsZU1hdGNoCit4bWxGaWxlT3BlbgoreG1sRmlsZVJlYWQKK3htbEZpbmRDaGFyRW5jb2RpbmdIYW5kbGVyCit4bWxGaXJzdEVsZW1lbnRDaGlsZAoreG1sRnJlZUF0dHJpYnV0ZVRhYmxlCisjaWZkZWYgTElCWE1MX0FVVE9NQVRBX0VOQUJMRUQKK3htbEZyZWVBdXRvbWF0YQorI2VuZGlmCisjaWZkZWYgTElCWE1MX0NBVEFMT0dfRU5BQkxFRAoreG1sRnJlZUNhdGFsb2cKKyNlbmRpZgoreG1sRnJlZURvYworeG1sRnJlZURvY0VsZW1lbnRDb250ZW50Cit4bWxGcmVlRHRkCit4bWxGcmVlRWxlbWVudENvbnRlbnQKK3htbEZyZWVFbGVtZW50VGFibGUKK3htbEZyZWVFbnRpdGllc1RhYmxlCit4bWxGcmVlRW51bWVyYXRpb24KK3htbEZyZWVJRFRhYmxlCit4bWxGcmVlSW5wdXRTdHJlYW0KK3htbEZyZWVNdXRleAoreG1sRnJlZU5vZGUKK3htbEZyZWVOb2RlTGlzdAoreG1sRnJlZU5vdGF0aW9uVGFibGUKK3htbEZyZWVOcworeG1sRnJlZU5zTGlzdAoreG1sRnJlZVBhcnNlckN0eHQKK3htbEZyZWVQYXJzZXJJbnB1dEJ1ZmZlcgoreG1sRnJlZVBhdHRlcm4KK3htbEZyZWVQYXR0ZXJuTGlzdAoreG1sRnJlZVByb3AKK3htbEZyZWVQcm9wTGlzdAoreG1sRnJlZVJNdXRleAoreG1sRnJlZVJlZlRhYmxlCit4bWxGcmVlU3RyZWFtQ3R4dAoreG1sRnJlZVRleHRSZWFkZXIKK3htbEZyZWVUZXh0V3JpdGVyCit4bWxGcmVlVVJJCit4bWxGcmVlVmFsaWRDdHh0Cit4bWxHY01lbUdldAoreG1sR2NNZW1TZXR1cAoreG1sR2V0QnVmZmVyQWxsb2NhdGlvblNjaGVtZQoreG1sR2V0Q2hhckVuY29kaW5nSGFuZGxlcgoreG1sR2V0Q2hhckVuY29kaW5nTmFtZQoreG1sR2V0Q29tcHJlc3NNb2RlCit4bWxHZXREb2NDb21wcmVzc01vZGUKK3htbEdldERvY0VudGl0eQoreG1sR2V0RHRkQXR0ckRlc2MKK3htbEdldER0ZEVsZW1lbnREZXNjCit4bWxHZXREdGRFbnRpdHkKK3htbEdldER0ZE5vdGF0aW9uRGVzYworeG1sR2V0RHRkUUF0dHJEZXNjCit4bWxHZXREdGRRRWxlbWVudERlc2MKK3htbEdldEVuY29kaW5nQWxpYXMKK3htbEdldEV4dGVybmFsRW50aXR5TG9hZGVyCit4bWxHZXRGZWF0dXJlCit4bWxHZXRGZWF0dXJlc0xpc3QKK3htbEdldEdsb2JhbFN0YXRlCit4bWxHZXRJRAoreG1sR2V0SW50U3Vic2V0Cit4bWxHZXRMYXN0Q2hpbGQKK3htbEdldExhc3RFcnJvcgoreG1sR2V0TGluZU5vCit4bWxHZXROb05zUHJvcAoreG1sR2V0Tm9kZVBhdGgKK3htbEdldE5zTGlzdAoreG1sR2V0TnNQcm9wCit4bWxHZXRQYXJhbWV0ZXJFbnRpdHkKK3htbEdldFByZWRlZmluZWRFbnRpdHkKK3htbEdldFByb3AKK3htbEdldFJlZnMKK3htbEdldFRocmVhZElkCit4bWxHZXRVVEY4Q2hhcgoreG1sSGFuZGxlRW50aXR5Cit4bWxIYXNGZWF0dXJlCit4bWxIYXNOc1Byb3AKK3htbEhhc1Byb3AKK3htbEhhc2hBZGRFbnRyeQoreG1sSGFzaEFkZEVudHJ5MgoreG1sSGFzaEFkZEVudHJ5MworeG1sSGFzaENvcHkKK3htbEhhc2hDcmVhdGUKK3htbEhhc2hDcmVhdGVEaWN0Cit4bWxIYXNoRnJlZQoreG1sSGFzaExvb2t1cAoreG1sSGFzaExvb2t1cDIKK3htbEhhc2hMb29rdXAzCit4bWxIYXNoUUxvb2t1cAoreG1sSGFzaFFMb29rdXAyCit4bWxIYXNoUUxvb2t1cDMKK3htbEhhc2hSZW1vdmVFbnRyeQoreG1sSGFzaFJlbW92ZUVudHJ5MgoreG1sSGFzaFJlbW92ZUVudHJ5MworeG1sSGFzaFNjYW4KK3htbEhhc2hTY2FuMworeG1sSGFzaFNjYW5GdWxsCit4bWxIYXNoU2NhbkZ1bGwzCit4bWxIYXNoU2l6ZQoreG1sSGFzaFVwZGF0ZUVudHJ5Cit4bWxIYXNoVXBkYXRlRW50cnkyCit4bWxIYXNoVXBkYXRlRW50cnkzCisjaWZkZWYgTElCWE1MX0ZUUF9FTkFCTEVECit4bWxJT0ZUUENsb3NlCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfRlRQX0VOQUJMRUQKK3htbElPRlRQTWF0Y2gKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9GVFBfRU5BQkxFRAoreG1sSU9GVFBPcGVuCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfRlRQX0VOQUJMRUQKK3htbElPRlRQUmVhZAorI2VuZGlmCisjaWZkZWYgTElCWE1MX0hUTUxfRU5BQkxFRAoreG1sSU9IVFRQQ2xvc2UKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9IVE1MX0VOQUJMRUQKK3htbElPSFRUUE1hdGNoCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfSFRNTF9FTkFCTEVECit4bWxJT0hUVFBPcGVuCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfSFRNTF9FTkFCTEVECit4bWxJT0hUVFBPcGVuVworI2VuZGlmCisjaWZkZWYgTElCWE1MX0hUTUxfRU5BQkxFRAoreG1sSU9IVFRQUmVhZAorI2VuZGlmCit4bWxJT1BhcnNlRFRECit4bWxJbml0Q2hhckVuY29kaW5nSGFuZGxlcnMKK3htbEluaXRHbG9iYWxzCit4bWxJbml0TWVtb3J5Cit4bWxJbml0Tm9kZUluZm9TZXEKK3htbEluaXRQYXJzZXIKK3htbEluaXRQYXJzZXJDdHh0Cit4bWxJbml0VGhyZWFkcworI2lmZGVmIExJQlhNTF9DQVRBTE9HX0VOQUJMRUQKK3htbEluaXRpYWxpemVDYXRhbG9nCisjZW5kaWYKK3htbEluaXRpYWxpemVEaWN0Cit4bWxJbml0aWFsaXplR2xvYmFsU3RhdGUKK3htbEluaXRpYWxpemVQcmVkZWZpbmVkRW50aXRpZXMKK3htbElzQmFzZUNoYXIKK3htbElzQmxhbmsKK3htbElzQmxhbmtOb2RlCit4bWxJc0NoYXIKK3htbElzQ29tYmluaW5nCit4bWxJc0RpZ2l0Cit4bWxJc0V4dGVuZGVyCit4bWxJc0lECit4bWxJc0lkZW9ncmFwaGljCit4bWxJc0xldHRlcgoreG1sSXNNYWluVGhyZWFkCit4bWxJc01peGVkRWxlbWVudAoreG1sSXNQdWJpZENoYXIKK3htbElzUmVmCisjaWZkZWYgTElCWE1MX0hUTUxfRU5BQkxFRAoreG1sSXNYSFRNTAorI2VuZGlmCit4bWxLZWVwQmxhbmtzRGVmYXVsdAoreG1sTGFzdEVsZW1lbnRDaGlsZAoreG1sTGluZU51bWJlcnNEZWZhdWx0Cit4bWxMaW5rR2V0RGF0YQoreG1sTGlzdEFwcGVuZAoreG1sTGlzdENsZWFyCit4bWxMaXN0Q29weQoreG1sTGlzdENyZWF0ZQoreG1sTGlzdERlbGV0ZQoreG1sTGlzdER1cAoreG1sTGlzdEVtcHR5Cit4bWxMaXN0RW5kCit4bWxMaXN0RnJvbnQKK3htbExpc3RJbnNlcnQKK3htbExpc3RNZXJnZQoreG1sTGlzdFBvcEJhY2sKK3htbExpc3RQb3BGcm9udAoreG1sTGlzdFB1c2hCYWNrCit4bWxMaXN0UHVzaEZyb250Cit4bWxMaXN0UmVtb3ZlQWxsCit4bWxMaXN0UmVtb3ZlRmlyc3QKK3htbExpc3RSZW1vdmVMYXN0Cit4bWxMaXN0UmV2ZXJzZQoreG1sTGlzdFJldmVyc2VTZWFyY2gKK3htbExpc3RSZXZlcnNlV2FsaworeG1sTGlzdFNlYXJjaAoreG1sTGlzdFNpemUKK3htbExpc3RTb3J0Cit4bWxMaXN0V2FsaworI2lmZGVmIExJQlhNTF9DQVRBTE9HX0VOQUJMRUQKK3htbExvYWRBQ2F0YWxvZworI2VuZGlmCisjaWZkZWYgTElCWE1MX0NBVEFMT0dfRU5BQkxFRAoreG1sTG9hZENhdGFsb2cKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9DQVRBTE9HX0VOQUJMRUQKK3htbExvYWRDYXRhbG9ncworI2VuZGlmCit4bWxMb2FkRXh0ZXJuYWxFbnRpdHkKKyNpZmRlZiBMSUJYTUxfQ0FUQUxPR19FTkFCTEVECit4bWxMb2FkU0dNTFN1cGVyQ2F0YWxvZworI2VuZGlmCit4bWxMb2NrTGlicmFyeQorI2lmZGVmIExJQlhNTF9ERUJVR19FTkFCTEVECit4bWxMc0NvdW50Tm9kZQorI2VuZGlmCisjaWZkZWYgTElCWE1MX0RFQlVHX0VOQUJMRUQKK3htbExzT25lTm9kZQorI2VuZGlmCisjaWZkZWYgREVCVUdfTUVNT1JZX0xPQ0FUSU9OCit4bWxNYWxsb2NBdG9taWNMb2MKKyNlbmRpZgorI2lmZGVmIERFQlVHX01FTU9SWV9MT0NBVElPTgoreG1sTWFsbG9jTG9jCisjZW5kaWYKK3htbE1lbUJsb2NrcworeG1sTWVtRGlzcGxheQoreG1sTWVtRGlzcGxheUxhc3QKK3htbE1lbUZyZWUKK3htbE1lbUdldAoreG1sTWVtTWFsbG9jCit4bWxNZW1SZWFsbG9jCit4bWxNZW1TZXR1cAoreG1sTWVtU2hvdworI2lmZGVmIERFQlVHX01FTU9SWV9MT0NBVElPTgoreG1sTWVtU3RyZHVwTG9jCisjZW5kaWYKK3htbE1lbVVzZWQKK3htbE1lbW9yeUR1bXAKK3htbE1lbW9yeVN0cmR1cAoreG1sTW9kdWxlQ2xvc2UKK3htbE1vZHVsZUZyZWUKK3htbE1vZHVsZU9wZW4KK3htbE1vZHVsZVN5bWJvbAoreG1sTXV0ZXhMb2NrCit4bWxNdXRleFVubG9jaworeG1sTmFtZXNwYWNlUGFyc2VOQ05hbWUKK3htbE5hbWVzcGFjZVBhcnNlTlNEZWYKK3htbE5hbWVzcGFjZVBhcnNlUU5hbWUKKyNpZmRlZiBMSUJYTUxfRlRQX0VOQUJMRUQKK3htbE5hbm9GVFBDaGVja1Jlc3BvbnNlCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfRlRQX0VOQUJMRUQKK3htbE5hbm9GVFBDbGVhbnVwCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfRlRQX0VOQUJMRUQKK3htbE5hbm9GVFBDbG9zZQorI2VuZGlmCisjaWZkZWYgTElCWE1MX0ZUUF9FTkFCTEVECit4bWxOYW5vRlRQQ2xvc2VDb25uZWN0aW9uCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfRlRQX0VOQUJMRUQKK3htbE5hbm9GVFBDb25uZWN0CisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfRlRQX0VOQUJMRUQKK3htbE5hbm9GVFBDb25uZWN0VG8KKyNlbmRpZgorI2lmZGVmIExJQlhNTF9GVFBfRU5BQkxFRAoreG1sTmFub0ZUUEN3ZAorI2VuZGlmCisjaWZkZWYgTElCWE1MX0ZUUF9FTkFCTEVECit4bWxOYW5vRlRQRGVsZQorI2VuZGlmCisjaWZkZWYgTElCWE1MX0ZUUF9FTkFCTEVECit4bWxOYW5vRlRQRnJlZUN0eHQKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9GVFBfRU5BQkxFRAoreG1sTmFub0ZUUEdldAorI2VuZGlmCisjaWZkZWYgTElCWE1MX0ZUUF9FTkFCTEVECit4bWxOYW5vRlRQR2V0Q29ubmVjdGlvbgorI2VuZGlmCisjaWZkZWYgTElCWE1MX0ZUUF9FTkFCTEVECit4bWxOYW5vRlRQR2V0UmVzcG9uc2UKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9GVFBfRU5BQkxFRAoreG1sTmFub0ZUUEdldFNvY2tldAorI2VuZGlmCisjaWZkZWYgTElCWE1MX0ZUUF9FTkFCTEVECit4bWxOYW5vRlRQSW5pdAorI2VuZGlmCisjaWZkZWYgTElCWE1MX0ZUUF9FTkFCTEVECit4bWxOYW5vRlRQTGlzdAorI2VuZGlmCisjaWZkZWYgTElCWE1MX0ZUUF9FTkFCTEVECit4bWxOYW5vRlRQTmV3Q3R4dAorI2VuZGlmCisjaWZkZWYgTElCWE1MX0ZUUF9FTkFCTEVECit4bWxOYW5vRlRQT3BlbgorI2VuZGlmCisjaWZkZWYgTElCWE1MX0ZUUF9FTkFCTEVECit4bWxOYW5vRlRQUHJveHkKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9GVFBfRU5BQkxFRAoreG1sTmFub0ZUUFF1aXQKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9GVFBfRU5BQkxFRAoreG1sTmFub0ZUUFJlYWQKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9GVFBfRU5BQkxFRAoreG1sTmFub0ZUUFNjYW5Qcm94eQorI2VuZGlmCisjaWZkZWYgTElCWE1MX0ZUUF9FTkFCTEVECit4bWxOYW5vRlRQVXBkYXRlVVJMCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfSFRUUF9FTkFCTEVECit4bWxOYW5vSFRUUEF1dGhIZWFkZXIKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9IVFRQX0VOQUJMRUQKK3htbE5hbm9IVFRQQ2xlYW51cAorI2VuZGlmCisjaWZkZWYgTElCWE1MX0hUVFBfRU5BQkxFRAoreG1sTmFub0hUVFBDbG9zZQorI2VuZGlmCisjaWZkZWYgTElCWE1MX0hUVFBfRU5BQkxFRAoreG1sTmFub0hUVFBDb250ZW50TGVuZ3RoCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfSFRUUF9FTkFCTEVECit4bWxOYW5vSFRUUEVuY29kaW5nCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfSFRUUF9FTkFCTEVECit4bWxOYW5vSFRUUEZldGNoCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfSFRUUF9FTkFCTEVECit4bWxOYW5vSFRUUEluaXQKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9IVFRQX0VOQUJMRUQKK3htbE5hbm9IVFRQTWV0aG9kCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfSFRUUF9FTkFCTEVECit4bWxOYW5vSFRUUE1ldGhvZFJlZGlyCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfSFRUUF9FTkFCTEVECit4bWxOYW5vSFRUUE1pbWVUeXBlCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfSFRUUF9FTkFCTEVECit4bWxOYW5vSFRUUE9wZW4KKyNlbmRpZgorI2lmZGVmIExJQlhNTF9IVFRQX0VOQUJMRUQKK3htbE5hbm9IVFRQT3BlblJlZGlyCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfSFRUUF9FTkFCTEVECit4bWxOYW5vSFRUUFJlYWQKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9IVFRQX0VOQUJMRUQKK3htbE5hbm9IVFRQUmVkaXIKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9IVFRQX0VOQUJMRUQKK3htbE5hbm9IVFRQUmV0dXJuQ29kZQorI2VuZGlmCisjaWZkZWYgTElCWE1MX0hUVFBfRU5BQkxFRAoreG1sTmFub0hUVFBTYXZlCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfSFRUUF9FTkFCTEVECit4bWxOYW5vSFRUUFNjYW5Qcm94eQorI2VuZGlmCisjaWZkZWYgTElCWE1MX0FVVE9NQVRBX0VOQUJMRUQKK3htbE5ld0F1dG9tYXRhCisjZW5kaWYKK3htbE5ld0NEYXRhQmxvY2sKKyNpZmRlZiBMSUJYTUxfQ0FUQUxPR19FTkFCTEVECit4bWxOZXdDYXRhbG9nCisjZW5kaWYKK3htbE5ld0NoYXJFbmNvZGluZ0hhbmRsZXIKK3htbE5ld0NoYXJSZWYKK3htbE5ld0NoaWxkCit4bWxOZXdDb21tZW50Cit4bWxOZXdEb2MKK3htbE5ld0RvY0NvbW1lbnQKK3htbE5ld0RvY0VsZW1lbnRDb250ZW50Cit4bWxOZXdEb2NGcmFnbWVudAoreG1sTmV3RG9jTm9kZQoreG1sTmV3RG9jTm9kZUVhdE5hbWUKK3htbE5ld0RvY1BJCit4bWxOZXdEb2NQcm9wCit4bWxOZXdEb2NSYXdOb2RlCit4bWxOZXdEb2NUZXh0Cit4bWxOZXdEb2NUZXh0TGVuCit4bWxOZXdEdGQKK3htbE5ld0VsZW1lbnRDb250ZW50Cit4bWxOZXdFbnRpdHkKK3htbE5ld0VudGl0eUlucHV0U3RyZWFtCit4bWxOZXdHbG9iYWxOcworeG1sTmV3SU9JbnB1dFN0cmVhbQoreG1sTmV3SW5wdXRGcm9tRmlsZQoreG1sTmV3SW5wdXRTdHJlYW0KK3htbE5ld011dGV4Cit4bWxOZXdOb2RlCit4bWxOZXdOb2RlRWF0TmFtZQoreG1sTmV3TnMKK3htbE5ld05zUHJvcAoreG1sTmV3TnNQcm9wRWF0TmFtZQoreG1sTmV3UEkKK3htbE5ld1BhcnNlckN0eHQKK3htbE5ld1Byb3AKK3htbE5ld1JNdXRleAoreG1sTmV3UmVmZXJlbmNlCit4bWxOZXdTdHJpbmdJbnB1dFN0cmVhbQoreG1sTmV3VGV4dAoreG1sTmV3VGV4dENoaWxkCit4bWxOZXdUZXh0TGVuCit4bWxOZXdUZXh0UmVhZGVyCit4bWxOZXdUZXh0UmVhZGVyRmlsZW5hbWUKK3htbE5ld1RleHRXcml0ZXIKK3htbE5ld1RleHRXcml0ZXJEb2MKK3htbE5ld1RleHRXcml0ZXJGaWxlbmFtZQoreG1sTmV3VGV4dFdyaXRlck1lbW9yeQoreG1sTmV3VGV4dFdyaXRlclB1c2hQYXJzZXIKK3htbE5ld1RleHRXcml0ZXJUcmVlCit4bWxOZXdWYWxpZEN0eHQKK3htbE5leHRDaGFyCit4bWxOZXh0RWxlbWVudFNpYmxpbmcKK3htbE5vTmV0RXh0ZXJuYWxFbnRpdHlMb2FkZXIKK3htbE5vZGVBZGRDb250ZW50Cit4bWxOb2RlQWRkQ29udGVudExlbgoreG1sTm9kZUJ1ZkdldENvbnRlbnQKK3htbE5vZGVEdW1wCit4bWxOb2RlRHVtcE91dHB1dAoreG1sTm9kZUdldEJhc2UKK3htbE5vZGVHZXRDb250ZW50Cit4bWxOb2RlR2V0TGFuZworeG1sTm9kZUdldFNwYWNlUHJlc2VydmUKK3htbE5vZGVJc1RleHQKK3htbE5vZGVMaXN0R2V0UmF3U3RyaW5nCit4bWxOb2RlTGlzdEdldFN0cmluZworeG1sTm9kZVNldEJhc2UKK3htbE5vZGVTZXRDb250ZW50Cit4bWxOb2RlU2V0Q29udGVudExlbgoreG1sTm9kZVNldExhbmcKK3htbE5vZGVTZXROYW1lCit4bWxOb2RlU2V0U3BhY2VQcmVzZXJ2ZQoreG1sTm9ybWFsaXplVVJJUGF0aAoreG1sTm9ybWFsaXplV2luZG93c1BhdGgKK3htbE91dHB1dEJ1ZmZlckNsb3NlCit4bWxPdXRwdXRCdWZmZXJDcmVhdGVCdWZmZXIKK3htbE91dHB1dEJ1ZmZlckNyZWF0ZUZkCit4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlCit4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZQoreG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0Cit4bWxPdXRwdXRCdWZmZXJDcmVhdGVJTworeG1sT3V0cHV0QnVmZmVyRmx1c2gKK3htbE91dHB1dEJ1ZmZlckdldENvbnRlbnQKK3htbE91dHB1dEJ1ZmZlckdldFNpemUKK3htbE91dHB1dEJ1ZmZlcldyaXRlCit4bWxPdXRwdXRCdWZmZXJXcml0ZUVzY2FwZQoreG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcKK3htbFBhcnNlQXR0VmFsdWUKK3htbFBhcnNlQXR0cmlidXRlCit4bWxQYXJzZUF0dHJpYnV0ZUxpc3REZWNsCit4bWxQYXJzZUF0dHJpYnV0ZVR5cGUKK3htbFBhcnNlQmFsYW5jZWRDaHVua01lbW9yeQoreG1sUGFyc2VCYWxhbmNlZENodW5rTWVtb3J5UmVjb3ZlcgoreG1sUGFyc2VDRFNlY3QKKyNpZmRlZiBMSUJYTUxfQ0FUQUxPR19FTkFCTEVECit4bWxQYXJzZUNhdGFsb2dGaWxlCisjZW5kaWYKK3htbFBhcnNlQ2hhckRhdGEKK3htbFBhcnNlQ2hhckVuY29kaW5nCit4bWxQYXJzZUNoYXJSZWYKK3htbFBhcnNlQ2h1bmsKK3htbFBhcnNlQ29tbWVudAoreG1sUGFyc2VDb250ZW50Cit4bWxQYXJzZUN0eHRFeHRlcm5hbEVudGl0eQoreG1sUGFyc2VEVEQKK3htbFBhcnNlRGVmYXVsdERlY2wKK3htbFBhcnNlRG9jCit4bWxQYXJzZURvY1R5cGVEZWNsCit4bWxQYXJzZURvY3VtZW50Cit4bWxQYXJzZUVsZW1lbnQKK3htbFBhcnNlRWxlbWVudENoaWxkcmVuQ29udGVudERlY2wKK3htbFBhcnNlRWxlbWVudENvbnRlbnREZWNsCit4bWxQYXJzZUVsZW1lbnREZWNsCit4bWxQYXJzZUVsZW1lbnRNaXhlZENvbnRlbnREZWNsCit4bWxQYXJzZUVuY05hbWUKK3htbFBhcnNlRW5jb2RpbmdEZWNsCit4bWxQYXJzZUVuZFRhZworeG1sUGFyc2VFbnRpdHkKK3htbFBhcnNlRW50aXR5RGVjbAoreG1sUGFyc2VFbnRpdHlSZWYKK3htbFBhcnNlRW50aXR5VmFsdWUKK3htbFBhcnNlRW51bWVyYXRlZFR5cGUKK3htbFBhcnNlRW51bWVyYXRpb25UeXBlCit4bWxQYXJzZUV4dFBhcnNlZEVudAoreG1sUGFyc2VFeHRlcm5hbEVudGl0eQoreG1sUGFyc2VFeHRlcm5hbElECit4bWxQYXJzZUV4dGVybmFsU3Vic2V0Cit4bWxQYXJzZUZpbGUKK3htbFBhcnNlSW5Ob2RlQ29udGV4dAoreG1sUGFyc2VNYXJrdXBEZWNsCit4bWxQYXJzZU1lbW9yeQoreG1sUGFyc2VNaXNjCit4bWxQYXJzZU5hbWUKK3htbFBhcnNlTmFtZXNwYWNlCit4bWxQYXJzZU5tdG9rZW4KK3htbFBhcnNlTm90YXRpb25EZWNsCit4bWxQYXJzZU5vdGF0aW9uVHlwZQoreG1sUGFyc2VQRVJlZmVyZW5jZQoreG1sUGFyc2VQSQoreG1sUGFyc2VQSVRhcmdldAoreG1sUGFyc2VQdWJpZExpdGVyYWwKK3htbFBhcnNlUXVvdGVkU3RyaW5nCit4bWxQYXJzZVJlZmVyZW5jZQoreG1sUGFyc2VTRERlY2wKK3htbFBhcnNlU3RhcnRUYWcKK3htbFBhcnNlU3lzdGVtTGl0ZXJhbAoreG1sUGFyc2VUZXh0RGVjbAoreG1sUGFyc2VVUkkKK3htbFBhcnNlVVJJUmF3Cit4bWxQYXJzZVVSSVJlZmVyZW5jZQoreG1sUGFyc2VWZXJzaW9uSW5mbworeG1sUGFyc2VWZXJzaW9uTnVtCit4bWxQYXJzZVhNTERlY2wKK3htbFBhcnNlckFkZE5vZGVJbmZvCit4bWxQYXJzZXJFcnJvcgoreG1sUGFyc2VyRmluZE5vZGVJbmZvCit4bWxQYXJzZXJGaW5kTm9kZUluZm9JbmRleAoreG1sUGFyc2VyR2V0RGlyZWN0b3J5Cit4bWxQYXJzZXJIYW5kbGVQRVJlZmVyZW5jZQoreG1sUGFyc2VySGFuZGxlUmVmZXJlbmNlCit4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZkCit4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGUKK3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWUKK3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0Cit4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUlPCit4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZU1lbQoreG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVTdGF0aWMKK3htbFBhcnNlcklucHV0QnVmZmVyR3JvdworeG1sUGFyc2VySW5wdXRCdWZmZXJQdXNoCit4bWxQYXJzZXJJbnB1dEJ1ZmZlclJlYWQKK3htbFBhcnNlcklucHV0R3JvdworeG1sUGFyc2VySW5wdXRSZWFkCit4bWxQYXJzZXJJbnB1dFNocmluaworeG1sUGFyc2VyUHJpbnRGaWxlQ29udGV4dAoreG1sUGFyc2VyUHJpbnRGaWxlSW5mbworeG1sUGFyc2VyVmFsaWRpdHlFcnJvcgoreG1sUGFyc2VyVmFsaWRpdHlXYXJuaW5nCit4bWxQYXJzZXJXYXJuaW5nCit4bWxQYXRoVG9VUkkKK3htbFBhdHRlcm5Gcm9tUm9vdAoreG1sUGF0dGVybkdldFN0cmVhbUN0eHQKK3htbFBhdHRlcm5NYXRjaAoreG1sUGF0dGVybk1heERlcHRoCit4bWxQYXR0ZXJuTWluRGVwdGgKK3htbFBhdHRlcm5TdHJlYW1hYmxlCit4bWxQYXR0ZXJuY29tcGlsZQoreG1sUGVkYW50aWNQYXJzZXJEZWZhdWx0Cit4bWxQb3BJbnB1dAoreG1sUG9wSW5wdXRDYWxsYmFja3MKK3htbFByZXZpb3VzRWxlbWVudFNpYmxpbmcKK3htbFByaW50VVJJCit4bWxQdXNoSW5wdXQKK3htbFJNdXRleExvY2sKK3htbFJNdXRleFVubG9jaworeG1sUmVhZERvYworeG1sUmVhZEZkCit4bWxSZWFkRmlsZQoreG1sUmVhZElPCit4bWxSZWFkTWVtb3J5Cit4bWxSZWFkZXJGb3JEb2MKK3htbFJlYWRlckZvckZkCit4bWxSZWFkZXJGb3JGaWxlCit4bWxSZWFkZXJGb3JJTworeG1sUmVhZGVyRm9yTWVtb3J5Cit4bWxSZWFkZXJOZXdEb2MKK3htbFJlYWRlck5ld0ZkCit4bWxSZWFkZXJOZXdGaWxlCit4bWxSZWFkZXJOZXdJTworeG1sUmVhZGVyTmV3TWVtb3J5Cit4bWxSZWFkZXJOZXdXYWxrZXIKK3htbFJlYWRlcldhbGtlcgorI2lmZGVmIERFQlVHX01FTU9SWV9MT0NBVElPTgoreG1sUmVhbGxvY0xvYworI2VuZGlmCit4bWxSZWNvbmNpbGlhdGVOcworeG1sUmVjb3ZlckRvYworeG1sUmVjb3ZlckZpbGUKK3htbFJlY292ZXJNZW1vcnkKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKK3htbFJlZ0V4ZWNFcnJJbmZvCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKK3htbFJlZ0V4ZWNOZXh0VmFsdWVzCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKK3htbFJlZ0V4ZWNQdXNoU3RyaW5nCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKK3htbFJlZ0V4ZWNQdXNoU3RyaW5nMgorI2VuZGlmCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECit4bWxSZWdGcmVlRXhlY0N0eHQKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sUmVnRnJlZVJlZ2V4cAorI2VuZGlmCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECit4bWxSZWdOZXdFeGVjQ3R4dAorI2VuZGlmCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECit4bWxSZWdleHBDb21waWxlCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKK3htbFJlZ2V4cEV4ZWMKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sUmVnZXhwSXNEZXRlcm1pbmlzdAorI2VuZGlmCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECit4bWxSZWdleHBQcmludAorI2VuZGlmCit4bWxSZWdpc3RlckNoYXJFbmNvZGluZ0hhbmRsZXIKK3htbFJlZ2lzdGVyRGVmYXVsdElucHV0Q2FsbGJhY2tzCit4bWxSZWdpc3RlckRlZmF1bHRPdXRwdXRDYWxsYmFja3MKKyNpZmRlZiBMSUJYTUxfSFRNTF9FTkFCTEVECit4bWxSZWdpc3RlckhUVFBQb3N0Q2FsbGJhY2tzCisjZW5kaWYKK3htbFJlZ2lzdGVySW5wdXRDYWxsYmFja3MKK3htbFJlZ2lzdGVyTm9kZURlZmF1bHQKK3htbFJlZ2lzdGVyT3V0cHV0Q2FsbGJhY2tzCisjaWZkZWYgTElCWE1MX1NDSEVNQVNfRU5BQkxFRAoreG1sUmVsYXhOR0NsZWFudXBUeXBlcworI2VuZGlmCisjaWZkZWYgTElCWE1MX1NDSEVNQVNfRU5BQkxFRAoreG1sUmVsYXhOR0R1bXAKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQKK3htbFJlbGF4TkdEdW1wVHJlZQorI2VuZGlmCisjaWZkZWYgTElCWE1MX1NDSEVNQVNfRU5BQkxFRAoreG1sUmVsYXhOR0ZyZWUKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQKK3htbFJlbGF4TkdGcmVlUGFyc2VyQ3R4dAorI2VuZGlmCisjaWZkZWYgTElCWE1MX1NDSEVNQVNfRU5BQkxFRAoreG1sUmVsYXhOR0ZyZWVWYWxpZEN0eHQKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQKK3htbFJlbGF4TkdHZXRQYXJzZXJFcnJvcnMKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQKK3htbFJlbGF4TkdHZXRWYWxpZEVycm9ycworI2VuZGlmCisjaWZkZWYgTElCWE1MX1NDSEVNQVNfRU5BQkxFRAoreG1sUmVsYXhOR0luaXRUeXBlcworI2VuZGlmCisjaWZkZWYgTElCWE1MX1NDSEVNQVNfRU5BQkxFRAoreG1sUmVsYXhOR05ld0RvY1BhcnNlckN0eHQKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQKK3htbFJlbGF4TkdOZXdNZW1QYXJzZXJDdHh0CisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfU0NIRU1BU19FTkFCTEVECit4bWxSZWxheE5HTmV3UGFyc2VyQ3R4dAorI2VuZGlmCisjaWZkZWYgTElCWE1MX1NDSEVNQVNfRU5BQkxFRAoreG1sUmVsYXhOR05ld1ZhbGlkQ3R4dAorI2VuZGlmCisjaWZkZWYgTElCWE1MX1NDSEVNQVNfRU5BQkxFRAoreG1sUmVsYXhOR1BhcnNlCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfU0NIRU1BU19FTkFCTEVECit4bWxSZWxheE5HU2V0UGFyc2VyRXJyb3JzCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfU0NIRU1BU19FTkFCTEVECit4bWxSZWxheE5HU2V0UGFyc2VyU3RydWN0dXJlZEVycm9ycworI2VuZGlmCisjaWZkZWYgTElCWE1MX1NDSEVNQVNfRU5BQkxFRAoreG1sUmVsYXhOR1NldFZhbGlkRXJyb3JzCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfU0NIRU1BU19FTkFCTEVECit4bWxSZWxheE5HU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfU0NIRU1BU19FTkFCTEVECit4bWxSZWxheE5HVmFsaWRhdGVEb2MKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQKK3htbFJlbGF4TkdWYWxpZGF0ZUZ1bGxFbGVtZW50CisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfU0NIRU1BU19FTkFCTEVECit4bWxSZWxheE5HVmFsaWRhdGVQb3BFbGVtZW50CisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfU0NIRU1BU19FTkFCTEVECit4bWxSZWxheE5HVmFsaWRhdGVQdXNoQ0RhdGEKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQKK3htbFJlbGF4TkdWYWxpZGF0ZVB1c2hFbGVtZW50CisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfU0NIRU1BU19FTkFCTEVECit4bWxSZWxheFBhcnNlclNldEZsYWcKKyNlbmRpZgoreG1sUmVtb3ZlSUQKK3htbFJlbW92ZVByb3AKK3htbFJlbW92ZVJlZgoreG1sUmVwbGFjZU5vZGUKK3htbFJlc2V0RXJyb3IKK3htbFJlc2V0TGFzdEVycm9yCit4bWxTQVgyQXR0cmlidXRlRGVjbAoreG1sU0FYMkNEYXRhQmxvY2sKK3htbFNBWDJDaGFyYWN0ZXJzCit4bWxTQVgyQ29tbWVudAoreG1sU0FYMkVsZW1lbnREZWNsCit4bWxTQVgyRW5kRG9jdW1lbnQKK3htbFNBWDJFbmRFbGVtZW50Cit4bWxTQVgyRW5kRWxlbWVudE5zCit4bWxTQVgyRW50aXR5RGVjbAoreG1sU0FYMkV4dGVybmFsU3Vic2V0Cit4bWxTQVgyR2V0Q29sdW1uTnVtYmVyCit4bWxTQVgyR2V0RW50aXR5Cit4bWxTQVgyR2V0TGluZU51bWJlcgoreG1sU0FYMkdldFBhcmFtZXRlckVudGl0eQoreG1sU0FYMkdldFB1YmxpY0lkCit4bWxTQVgyR2V0U3lzdGVtSWQKK3htbFNBWDJIYXNFeHRlcm5hbFN1YnNldAoreG1sU0FYMkhhc0ludGVybmFsU3Vic2V0Cit4bWxTQVgySWdub3JhYmxlV2hpdGVzcGFjZQoreG1sU0FYMkluaXREZWZhdWx0U0FYSGFuZGxlcgoreG1sU0FYMkluaXREb2NiRGVmYXVsdFNBWEhhbmRsZXIKK3htbFNBWDJJbml0SHRtbERlZmF1bHRTQVhIYW5kbGVyCit4bWxTQVgySW50ZXJuYWxTdWJzZXQKK3htbFNBWDJJc1N0YW5kYWxvbmUKK3htbFNBWDJOb3RhdGlvbkRlY2wKK3htbFNBWDJQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24KK3htbFNBWDJSZWZlcmVuY2UKK3htbFNBWDJSZXNvbHZlRW50aXR5Cit4bWxTQVgyU2V0RG9jdW1lbnRMb2NhdG9yCit4bWxTQVgyU3RhcnREb2N1bWVudAoreG1sU0FYMlN0YXJ0RWxlbWVudAoreG1sU0FYMlN0YXJ0RWxlbWVudE5zCit4bWxTQVgyVW5wYXJzZWRFbnRpdHlEZWNsCit4bWxTQVhEZWZhdWx0VmVyc2lvbgoreG1sU0FYUGFyc2VEVEQKK3htbFNBWFBhcnNlRG9jCit4bWxTQVhQYXJzZUVudGl0eQoreG1sU0FYUGFyc2VGaWxlCit4bWxTQVhQYXJzZUZpbGVXaXRoRGF0YQoreG1sU0FYUGFyc2VNZW1vcnkKK3htbFNBWFBhcnNlTWVtb3J5V2l0aERhdGEKK3htbFNBWFVzZXJQYXJzZUZpbGUKK3htbFNBWFVzZXJQYXJzZU1lbW9yeQoreG1sU0FYVmVyc2lvbgoreG1sU2F2ZUNsb3NlCit4bWxTYXZlRG9jCit4bWxTYXZlRmlsZQoreG1sU2F2ZUZpbGVFbmMKK3htbFNhdmVGaWxlVG8KK3htbFNhdmVGbHVzaAoreG1sU2F2ZUZvcm1hdEZpbGUKK3htbFNhdmVGb3JtYXRGaWxlRW5jCit4bWxTYXZlRm9ybWF0RmlsZVRvCit4bWxTYXZlU2V0QXR0ckVzY2FwZQoreG1sU2F2ZVNldEVzY2FwZQoreG1sU2F2ZVRvQnVmZmVyCit4bWxTYXZlVG9GZAoreG1sU2F2ZVRvRmlsZW5hbWUKK3htbFNhdmVUb0lPCit4bWxTYXZlVHJlZQoreG1sU2F2ZVVyaQoreG1sU2Nhbk5hbWUKKyNpZmRlZiBMSUJYTUxfU0NIRU1BU19FTkFCTEVECit4bWxTY2hlbWFDaGVja0ZhY2V0CisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfU0NIRU1BU19FTkFCTEVECit4bWxTY2hlbWFDbGVhbnVwVHlwZXMKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQKK3htbFNjaGVtYUNvbGxhcHNlU3RyaW5nCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfU0NIRU1BU19FTkFCTEVECit4bWxTY2hlbWFDb21wYXJlVmFsdWVzCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfU0NIRU1BU19FTkFCTEVECit4bWxTY2hlbWFDb21wYXJlVmFsdWVzV2h0c3AKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQKK3htbFNjaGVtYUNvcHlWYWx1ZQorI2VuZGlmCisjaWZkZWYgTElCWE1MX1NDSEVNQVNfRU5BQkxFRAoreG1sU2NoZW1hRHVtcAorI2VuZGlmCisjaWZkZWYgTElCWE1MX1NDSEVNQVNfRU5BQkxFRAoreG1sU2NoZW1hRnJlZQorI2VuZGlmCisjaWZkZWYgTElCWE1MX1NDSEVNQVNfRU5BQkxFRAoreG1sU2NoZW1hRnJlZUZhY2V0CisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfU0NIRU1BU19FTkFCTEVECit4bWxTY2hlbWFGcmVlUGFyc2VyQ3R4dAorI2VuZGlmCit4bWxTY2hlbWFGcmVlVHlwZQorI2lmZGVmIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQKK3htbFNjaGVtYUZyZWVWYWxpZEN0eHQKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQKK3htbFNjaGVtYUZyZWVWYWx1ZQorI2VuZGlmCit4bWxTY2hlbWFGcmVlV2lsZGNhcmQKKyNpZmRlZiBMSUJYTUxfU0NIRU1BU19FTkFCTEVECit4bWxTY2hlbWFHZXRCdWlsdEluTGlzdFNpbXBsZVR5cGVJdGVtVHlwZQorI2VuZGlmCisjaWZkZWYgTElCWE1MX1NDSEVNQVNfRU5BQkxFRAoreG1sU2NoZW1hR2V0QnVpbHRJblR5cGUKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQKK3htbFNjaGVtYUdldENhbm9uVmFsdWUKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQKK3htbFNjaGVtYUdldENhbm9uVmFsdWVXaHRzcAorI2VuZGlmCisjaWZkZWYgTElCWE1MX1NDSEVNQVNfRU5BQkxFRAoreG1sU2NoZW1hR2V0RmFjZXRWYWx1ZUFzVUxvbmcKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQKK3htbFNjaGVtYUdldFBhcnNlckVycm9ycworI2VuZGlmCisjaWZkZWYgTElCWE1MX1NDSEVNQVNfRU5BQkxFRAoreG1sU2NoZW1hR2V0UHJlZGVmaW5lZFR5cGUKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQKK3htbFNjaGVtYUdldFZhbFR5cGUKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQKK3htbFNjaGVtYUdldFZhbGlkRXJyb3JzCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfU0NIRU1BU19FTkFCTEVECit4bWxTY2hlbWFJbml0VHlwZXMKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQKK3htbFNjaGVtYUlzQnVpbHRJblR5cGVGYWNldAorI2VuZGlmCisjaWZkZWYgTElCWE1MX1NDSEVNQVNfRU5BQkxFRAoreG1sU2NoZW1hSXNWYWxpZAorI2VuZGlmCisjaWZkZWYgTElCWE1MX1NDSEVNQVNfRU5BQkxFRAoreG1sU2NoZW1hTmV3RG9jUGFyc2VyQ3R4dAorI2VuZGlmCisjaWZkZWYgTElCWE1MX1NDSEVNQVNfRU5BQkxFRAoreG1sU2NoZW1hTmV3RmFjZXQKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQKK3htbFNjaGVtYU5ld01lbVBhcnNlckN0eHQKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQKK3htbFNjaGVtYU5ld05PVEFUSU9OVmFsdWUKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQKK3htbFNjaGVtYU5ld1BhcnNlckN0eHQKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQKK3htbFNjaGVtYU5ld1FOYW1lVmFsdWUKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQKK3htbFNjaGVtYU5ld1N0cmluZ1ZhbHVlCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfU0NIRU1BU19FTkFCTEVECit4bWxTY2hlbWFOZXdWYWxpZEN0eHQKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQKK3htbFNjaGVtYVBhcnNlCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfU0NIRU1BU19FTkFCTEVECit4bWxTY2hlbWFTQVhQbHVnCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfU0NIRU1BU19FTkFCTEVECit4bWxTY2hlbWFTQVhVbnBsdWcKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQKK3htbFNjaGVtYVNldFBhcnNlckVycm9ycworI2VuZGlmCisjaWZkZWYgTElCWE1MX1NDSEVNQVNfRU5BQkxFRAoreG1sU2NoZW1hU2V0UGFyc2VyU3RydWN0dXJlZEVycm9ycworI2VuZGlmCisjaWZkZWYgTElCWE1MX1NDSEVNQVNfRU5BQkxFRAoreG1sU2NoZW1hU2V0VmFsaWRFcnJvcnMKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQKK3htbFNjaGVtYVNldFZhbGlkT3B0aW9ucworI2VuZGlmCisjaWZkZWYgTElCWE1MX1NDSEVNQVNfRU5BQkxFRAoreG1sU2NoZW1hU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfU0NIRU1BU19FTkFCTEVECit4bWxTY2hlbWFWYWxQcmVkZWZUeXBlTm9kZQorI2VuZGlmCisjaWZkZWYgTElCWE1MX1NDSEVNQVNfRU5BQkxFRAoreG1sU2NoZW1hVmFsUHJlZGVmVHlwZU5vZGVOb05vcm0KKyNlbmRpZgorI2lmZGVmIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQKK3htbFNjaGVtYVZhbGlkQ3R4dEdldE9wdGlvbnMKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQKK3htbFNjaGVtYVZhbGlkQ3R4dEdldFBhcnNlckN0eHQKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQKK3htbFNjaGVtYVZhbGlkYXRlRG9jCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfU0NIRU1BU19FTkFCTEVECit4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0CisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfU0NIRU1BU19FTkFCTEVECit4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0V2h0c3AKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQKK3htbFNjaGVtYVZhbGlkYXRlRmlsZQorI2VuZGlmCisjaWZkZWYgTElCWE1MX1NDSEVNQVNfRU5BQkxFRAoreG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldAorI2VuZGlmCisjaWZkZWYgTElCWE1MX1NDSEVNQVNfRU5BQkxFRAoreG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldFdodHNwCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfU0NIRU1BU19FTkFCTEVECit4bWxTY2hlbWFWYWxpZGF0ZUxpc3RTaW1wbGVUeXBlRmFjZXQKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQKK3htbFNjaGVtYVZhbGlkYXRlT25lRWxlbWVudAorI2VuZGlmCisjaWZkZWYgTElCWE1MX1NDSEVNQVNfRU5BQkxFRAoreG1sU2NoZW1hVmFsaWRhdGVQcmVkZWZpbmVkVHlwZQorI2VuZGlmCisjaWZkZWYgTElCWE1MX1NDSEVNQVNfRU5BQkxFRAoreG1sU2NoZW1hVmFsaWRhdGVTZXRGaWxlbmFtZQorI2VuZGlmCisjaWZkZWYgTElCWE1MX1NDSEVNQVNfRU5BQkxFRAoreG1sU2NoZW1hVmFsaWRhdGVTZXRMb2NhdG9yCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfU0NIRU1BU19FTkFCTEVECit4bWxTY2hlbWFWYWxpZGF0ZVN0cmVhbQorI2VuZGlmCisjaWZkZWYgTElCWE1MX1NDSEVNQVNfRU5BQkxFRAoreG1sU2NoZW1hVmFsdWVBcHBlbmQKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQKK3htbFNjaGVtYVZhbHVlR2V0QXNCb29sZWFuCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfU0NIRU1BU19FTkFCTEVECit4bWxTY2hlbWFWYWx1ZUdldEFzU3RyaW5nCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfU0NIRU1BU19FTkFCTEVECit4bWxTY2hlbWFWYWx1ZUdldE5leHQKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQKK3htbFNjaGVtYVdoaXRlU3BhY2VSZXBsYWNlCisjZW5kaWYKK3htbFNjaGVtYXRyb25GcmVlCit4bWxTY2hlbWF0cm9uRnJlZVBhcnNlckN0eHQKK3htbFNjaGVtYXRyb25GcmVlVmFsaWRDdHh0Cit4bWxTY2hlbWF0cm9uTmV3RG9jUGFyc2VyQ3R4dAoreG1sU2NoZW1hdHJvbk5ld01lbVBhcnNlckN0eHQKK3htbFNjaGVtYXRyb25OZXdQYXJzZXJDdHh0Cit4bWxTY2hlbWF0cm9uTmV3VmFsaWRDdHh0Cit4bWxTY2hlbWF0cm9uUGFyc2UKK3htbFNjaGVtYXRyb25TZXRWYWxpZFN0cnVjdHVyZWRFcnJvcnMKK3htbFNjaGVtYXRyb25WYWxpZGF0ZURvYworeG1sU2VhcmNoTnMKK3htbFNlYXJjaE5zQnlIcmVmCit4bWxTZXRCdWZmZXJBbGxvY2F0aW9uU2NoZW1lCit4bWxTZXRDb21wcmVzc01vZGUKK3htbFNldERvY0NvbXByZXNzTW9kZQoreG1sU2V0RW50aXR5UmVmZXJlbmNlRnVuYworeG1sU2V0RXh0ZXJuYWxFbnRpdHlMb2FkZXIKK3htbFNldEZlYXR1cmUKK3htbFNldEdlbmVyaWNFcnJvckZ1bmMKK3htbFNldExpc3REb2MKK3htbFNldE5zCit4bWxTZXROc1Byb3AKK3htbFNldFByb3AKK3htbFNldFN0cnVjdHVyZWRFcnJvckZ1bmMKK3htbFNldFRyZWVEb2MKK3htbFNldHVwUGFyc2VyRm9yQnVmZmVyCisjaWZkZWYgTElCWE1MX0RFQlVHX0VOQUJMRUQKK3htbFNoZWxsCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfREVCVUdfRU5BQkxFRAoreG1sU2hlbGxCYXNlCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfREVCVUdfRU5BQkxFRAoreG1sU2hlbGxDYXQKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9ERUJVR19FTkFCTEVECit4bWxTaGVsbERpcgorI2VuZGlmCisjaWZkZWYgTElCWE1MX0RFQlVHX0VOQUJMRUQKK3htbFNoZWxsRHUKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9ERUJVR19FTkFCTEVECit4bWxTaGVsbExpc3QKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9ERUJVR19FTkFCTEVECit4bWxTaGVsbExvYWQKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9ERUJVR19FTkFCTEVECit4bWxTaGVsbFByaW50Tm9kZQorI2VuZGlmCisjaWZkZWYgTElCWE1MX0RFQlVHX0VOQUJMRUQKK3htbFNoZWxsUHJpbnRYUGF0aEVycm9yCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfREVCVUdfRU5BQkxFRAoreG1sU2hlbGxQcmludFhQYXRoUmVzdWx0CisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfREVCVUdfRU5BQkxFRAoreG1sU2hlbGxQd2QKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9ERUJVR19FTkFCTEVECit4bWxTaGVsbFNhdmUKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9ERUJVR19FTkFCTEVECit4bWxTaGVsbFZhbGlkYXRlCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfREVCVUdfRU5BQkxFRAoreG1sU2hlbGxXcml0ZQorI2VuZGlmCit4bWxTa2lwQmxhbmtDaGFycworeG1sU25wcmludGZFbGVtZW50Q29udGVudAoreG1sU3BsaXRRTmFtZQoreG1sU3BsaXRRTmFtZTIKK3htbFNwbGl0UU5hbWUzCit4bWxTcHJpbnRmRWxlbWVudENvbnRlbnQKK3htbFN0b3BQYXJzZXIKK3htbFN0ckVxdWFsCit4bWxTdHJQcmludGYKK3htbFN0clFFcXVhbAoreG1sU3RyVlByaW50ZgoreG1sU3RyY2FzZWNtcAoreG1sU3RyY2FzZXN0cgoreG1sU3RyY2F0Cit4bWxTdHJjaHIKK3htbFN0cmNtcAoreG1sU3RyZHVwCit4bWxTdHJlYW1Qb3AKK3htbFN0cmVhbVB1c2gKK3htbFN0cmVhbVB1c2hBdHRyCit4bWxTdHJlYW1QdXNoTm9kZQoreG1sU3RyZWFtV2FudHNBbnlOb2RlCit4bWxTdHJpbmdDdXJyZW50Q2hhcgoreG1sU3RyaW5nRGVjb2RlRW50aXRpZXMKK3htbFN0cmluZ0dldE5vZGVMaXN0Cit4bWxTdHJpbmdMZW5EZWNvZGVFbnRpdGllcworeG1sU3RyaW5nTGVuR2V0Tm9kZUxpc3QKK3htbFN0cmxlbgoreG1sU3RybmNhc2VjbXAKK3htbFN0cm5jYXQKK3htbFN0cm5jYXROZXcKK3htbFN0cm5jbXAKK3htbFN0cm5kdXAKK3htbFN0cnN0cgoreG1sU3Ryc3ViCit4bWxTdWJzdGl0dXRlRW50aXRpZXNEZWZhdWx0Cit4bWxTd2l0Y2hFbmNvZGluZworeG1sU3dpdGNoSW5wdXRFbmNvZGluZworeG1sU3dpdGNoVG9FbmNvZGluZworeG1sVGV4dENvbmNhdAoreG1sVGV4dE1lcmdlCit4bWxUZXh0UmVhZGVyQXR0cmlidXRlQ291bnQKK3htbFRleHRSZWFkZXJCYXNlVXJpCit4bWxUZXh0UmVhZGVyQnl0ZUNvbnN1bWVkCit4bWxUZXh0UmVhZGVyQ2xvc2UKK3htbFRleHRSZWFkZXJDb25zdEJhc2VVcmkKK3htbFRleHRSZWFkZXJDb25zdEVuY29kaW5nCit4bWxUZXh0UmVhZGVyQ29uc3RMb2NhbE5hbWUKK3htbFRleHRSZWFkZXJDb25zdE5hbWUKK3htbFRleHRSZWFkZXJDb25zdE5hbWVzcGFjZVVyaQoreG1sVGV4dFJlYWRlckNvbnN0UHJlZml4Cit4bWxUZXh0UmVhZGVyQ29uc3RTdHJpbmcKK3htbFRleHRSZWFkZXJDb25zdFZhbHVlCit4bWxUZXh0UmVhZGVyQ29uc3RYbWxMYW5nCit4bWxUZXh0UmVhZGVyQ29uc3RYbWxWZXJzaW9uCit4bWxUZXh0UmVhZGVyQ3VycmVudERvYworeG1sVGV4dFJlYWRlckN1cnJlbnROb2RlCit4bWxUZXh0UmVhZGVyRGVwdGgKK3htbFRleHRSZWFkZXJFeHBhbmQKK3htbFRleHRSZWFkZXJHZXRBdHRyaWJ1dGUKK3htbFRleHRSZWFkZXJHZXRBdHRyaWJ1dGVObworeG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZU5zCit4bWxUZXh0UmVhZGVyR2V0RXJyb3JIYW5kbGVyCit4bWxUZXh0UmVhZGVyR2V0UGFyc2VyQ29sdW1uTnVtYmVyCit4bWxUZXh0UmVhZGVyR2V0UGFyc2VyTGluZU51bWJlcgoreG1sVGV4dFJlYWRlckdldFBhcnNlclByb3AKK3htbFRleHRSZWFkZXJHZXRSZW1haW5kZXIKK3htbFRleHRSZWFkZXJIYXNBdHRyaWJ1dGVzCit4bWxUZXh0UmVhZGVySGFzVmFsdWUKK3htbFRleHRSZWFkZXJJc0RlZmF1bHQKK3htbFRleHRSZWFkZXJJc0VtcHR5RWxlbWVudAoreG1sVGV4dFJlYWRlcklzTmFtZXNwYWNlRGVjbAoreG1sVGV4dFJlYWRlcklzVmFsaWQKK3htbFRleHRSZWFkZXJMb2NhbE5hbWUKK3htbFRleHRSZWFkZXJMb2NhdG9yQmFzZVVSSQoreG1sVGV4dFJlYWRlckxvY2F0b3JMaW5lTnVtYmVyCit4bWxUZXh0UmVhZGVyTG9va3VwTmFtZXNwYWNlCit4bWxUZXh0UmVhZGVyTW92ZVRvQXR0cmlidXRlCit4bWxUZXh0UmVhZGVyTW92ZVRvQXR0cmlidXRlTm8KK3htbFRleHRSZWFkZXJNb3ZlVG9BdHRyaWJ1dGVOcworeG1sVGV4dFJlYWRlck1vdmVUb0VsZW1lbnQKK3htbFRleHRSZWFkZXJNb3ZlVG9GaXJzdEF0dHJpYnV0ZQoreG1sVGV4dFJlYWRlck1vdmVUb05leHRBdHRyaWJ1dGUKK3htbFRleHRSZWFkZXJOYW1lCit4bWxUZXh0UmVhZGVyTmFtZXNwYWNlVXJpCit4bWxUZXh0UmVhZGVyTmV4dAoreG1sVGV4dFJlYWRlck5leHRTaWJsaW5nCit4bWxUZXh0UmVhZGVyTm9kZVR5cGUKK3htbFRleHRSZWFkZXJOb3JtYWxpemF0aW9uCit4bWxUZXh0UmVhZGVyUHJlZml4Cit4bWxUZXh0UmVhZGVyUHJlc2VydmUKK3htbFRleHRSZWFkZXJQcmVzZXJ2ZVBhdHRlcm4KK3htbFRleHRSZWFkZXJRdW90ZUNoYXIKK3htbFRleHRSZWFkZXJSZWFkCit4bWxUZXh0UmVhZGVyUmVhZEF0dHJpYnV0ZVZhbHVlCit4bWxUZXh0UmVhZGVyUmVhZElubmVyWG1sCit4bWxUZXh0UmVhZGVyUmVhZE91dGVyWG1sCit4bWxUZXh0UmVhZGVyUmVhZFN0YXRlCit4bWxUZXh0UmVhZGVyUmVhZFN0cmluZworI2lmZGVmIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQKK3htbFRleHRSZWFkZXJSZWxheE5HU2V0U2NoZW1hCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfU0NIRU1BU19FTkFCTEVECit4bWxUZXh0UmVhZGVyUmVsYXhOR1ZhbGlkYXRlCisjZW5kaWYKK3htbFRleHRSZWFkZXJSZWxheE5HVmFsaWRhdGVDdHh0Cit4bWxUZXh0UmVhZGVyU2NoZW1hVmFsaWRhdGUKK3htbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZUN0eHQKK3htbFRleHRSZWFkZXJTZXRFcnJvckhhbmRsZXIKK3htbFRleHRSZWFkZXJTZXRQYXJzZXJQcm9wCit4bWxUZXh0UmVhZGVyU2V0U2NoZW1hCit4bWxUZXh0UmVhZGVyU2V0U3RydWN0dXJlZEVycm9ySGFuZGxlcgoreG1sVGV4dFJlYWRlclNldHVwCit4bWxUZXh0UmVhZGVyU3RhbmRhbG9uZQoreG1sVGV4dFJlYWRlclZhbHVlCit4bWxUZXh0UmVhZGVyWG1sTGFuZworeG1sVGV4dFdyaXRlckVuZEF0dHJpYnV0ZQoreG1sVGV4dFdyaXRlckVuZENEQVRBCit4bWxUZXh0V3JpdGVyRW5kQ29tbWVudAoreG1sVGV4dFdyaXRlckVuZERURAoreG1sVGV4dFdyaXRlckVuZERUREF0dGxpc3QKK3htbFRleHRXcml0ZXJFbmREVERFbGVtZW50Cit4bWxUZXh0V3JpdGVyRW5kRFRERW50aXR5Cit4bWxUZXh0V3JpdGVyRW5kRG9jdW1lbnQKK3htbFRleHRXcml0ZXJFbmRFbGVtZW50Cit4bWxUZXh0V3JpdGVyRW5kUEkKK3htbFRleHRXcml0ZXJGbHVzaAoreG1sVGV4dFdyaXRlckZ1bGxFbmRFbGVtZW50Cit4bWxUZXh0V3JpdGVyU2V0SW5kZW50Cit4bWxUZXh0V3JpdGVyU2V0SW5kZW50U3RyaW5nCit4bWxUZXh0V3JpdGVyU2V0UXVvdGVDaGFyCit4bWxUZXh0V3JpdGVyU3RhcnRBdHRyaWJ1dGUKK3htbFRleHRXcml0ZXJTdGFydEF0dHJpYnV0ZU5TCit4bWxUZXh0V3JpdGVyU3RhcnRDREFUQQoreG1sVGV4dFdyaXRlclN0YXJ0Q29tbWVudAoreG1sVGV4dFdyaXRlclN0YXJ0RFRECit4bWxUZXh0V3JpdGVyU3RhcnREVERBdHRsaXN0Cit4bWxUZXh0V3JpdGVyU3RhcnREVERFbGVtZW50Cit4bWxUZXh0V3JpdGVyU3RhcnREVERFbnRpdHkKK3htbFRleHRXcml0ZXJTdGFydERvY3VtZW50Cit4bWxUZXh0V3JpdGVyU3RhcnRFbGVtZW50Cit4bWxUZXh0V3JpdGVyU3RhcnRFbGVtZW50TlMKK3htbFRleHRXcml0ZXJTdGFydFBJCit4bWxUZXh0V3JpdGVyV3JpdGVBdHRyaWJ1dGUKK3htbFRleHRXcml0ZXJXcml0ZUF0dHJpYnV0ZU5TCit4bWxUZXh0V3JpdGVyV3JpdGVCYXNlNjQKK3htbFRleHRXcml0ZXJXcml0ZUJpbkhleAoreG1sVGV4dFdyaXRlcldyaXRlQ0RBVEEKK3htbFRleHRXcml0ZXJXcml0ZUNvbW1lbnQKK3htbFRleHRXcml0ZXJXcml0ZURURAoreG1sVGV4dFdyaXRlcldyaXRlRFREQXR0bGlzdAoreG1sVGV4dFdyaXRlcldyaXRlRFRERWxlbWVudAoreG1sVGV4dFdyaXRlcldyaXRlRFRERW50aXR5Cit4bWxUZXh0V3JpdGVyV3JpdGVEVERFeHRlcm5hbEVudGl0eQoreG1sVGV4dFdyaXRlcldyaXRlRFRERXh0ZXJuYWxFbnRpdHlDb250ZW50cworeG1sVGV4dFdyaXRlcldyaXRlRFRESW50ZXJuYWxFbnRpdHkKK3htbFRleHRXcml0ZXJXcml0ZURURE5vdGF0aW9uCit4bWxUZXh0V3JpdGVyV3JpdGVFbGVtZW50Cit4bWxUZXh0V3JpdGVyV3JpdGVFbGVtZW50TlMKK3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdEF0dHJpYnV0ZQoreG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0QXR0cmlidXRlTlMKK3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdENEQVRBCit4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRDb21tZW50Cit4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVEQKK3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdERUREF0dGxpc3QKK3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdERUREVsZW1lbnQKK3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdERUREludGVybmFsRW50aXR5Cit4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRFbGVtZW50Cit4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRFbGVtZW50TlMKK3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdFBJCit4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRSYXcKK3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdFN0cmluZworeG1sVGV4dFdyaXRlcldyaXRlUEkKK3htbFRleHRXcml0ZXJXcml0ZVJhdworeG1sVGV4dFdyaXRlcldyaXRlUmF3TGVuCit4bWxUZXh0V3JpdGVyV3JpdGVTdHJpbmcKK3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRBdHRyaWJ1dGUKK3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRBdHRyaWJ1dGVOUworeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdENEQVRBCit4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0Q29tbWVudAoreG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERURAoreG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREF0dGxpc3QKK3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVERFbGVtZW50Cit4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFRESW50ZXJuYWxFbnRpdHkKK3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRFbGVtZW50Cit4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RWxlbWVudE5TCit4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0UEkKK3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRSYXcKK3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRTdHJpbmcKK3htbFRockRlZkJ1ZmZlckFsbG9jU2NoZW1lCit4bWxUaHJEZWZEZWZhdWx0QnVmZmVyU2l6ZQoreG1sVGhyRGVmRGVyZWdpc3Rlck5vZGVEZWZhdWx0Cit4bWxUaHJEZWZEb1ZhbGlkaXR5Q2hlY2tpbmdEZWZhdWx0VmFsdWUKK3htbFRockRlZkdldFdhcm5pbmdzRGVmYXVsdFZhbHVlCit4bWxUaHJEZWZJbmRlbnRUcmVlT3V0cHV0Cit4bWxUaHJEZWZLZWVwQmxhbmtzRGVmYXVsdFZhbHVlCit4bWxUaHJEZWZMaW5lTnVtYmVyc0RlZmF1bHRWYWx1ZQoreG1sVGhyRGVmTG9hZEV4dER0ZERlZmF1bHRWYWx1ZQoreG1sVGhyRGVmT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0Cit4bWxUaHJEZWZQYXJzZXJEZWJ1Z0VudGl0aWVzCit4bWxUaHJEZWZQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRGVmYXVsdAoreG1sVGhyRGVmUGVkYW50aWNQYXJzZXJEZWZhdWx0VmFsdWUKK3htbFRockRlZlJlZ2lzdGVyTm9kZURlZmF1bHQKK3htbFRockRlZlNhdmVOb0VtcHR5VGFncworeG1sVGhyRGVmU2V0R2VuZXJpY0Vycm9yRnVuYworeG1sVGhyRGVmU2V0U3RydWN0dXJlZEVycm9yRnVuYworeG1sVGhyRGVmU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdFZhbHVlCit4bWxUaHJEZWZUcmVlSW5kZW50U3RyaW5nCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECit4bWxVQ1NJc0FlZ2Vhbk51bWJlcnMKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNBbHBoYWJldGljUHJlc2VudGF0aW9uRm9ybXMKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNBcmFiaWMKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNBcmFiaWNQcmVzZW50YXRpb25Gb3Jtc0EKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNBcmFiaWNQcmVzZW50YXRpb25Gb3Jtc0IKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNBcm1lbmlhbgorI2VuZGlmCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECit4bWxVQ1NJc0Fycm93cworI2VuZGlmCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECit4bWxVQ1NJc0Jhc2ljTGF0aW4KKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNCZW5nYWxpCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKK3htbFVDU0lzQmxvY2sKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNCbG9ja0VsZW1lbnRzCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKK3htbFVDU0lzQm9wb21vZm8KKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNCb3BvbW9mb0V4dGVuZGVkCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKK3htbFVDU0lzQm94RHJhd2luZworI2VuZGlmCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECit4bWxVQ1NJc0JyYWlsbGVQYXR0ZXJucworI2VuZGlmCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECit4bWxVQ1NJc0J1aGlkCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKK3htbFVDU0lzQnl6YW50aW5lTXVzaWNhbFN5bWJvbHMKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNDSktDb21wYXRpYmlsaXR5CisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKK3htbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eUZvcm1zCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKK3htbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eUlkZW9ncmFwaHMKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNDSktDb21wYXRpYmlsaXR5SWRlb2dyYXBoc1N1cHBsZW1lbnQKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNDSktSYWRpY2Fsc1N1cHBsZW1lbnQKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNDSktTeW1ib2xzYW5kUHVuY3R1YXRpb24KKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNDSktVbmlmaWVkSWRlb2dyYXBocworI2VuZGlmCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECit4bWxVQ1NJc0NKS1VuaWZpZWRJZGVvZ3JhcGhzRXh0ZW5zaW9uQQorI2VuZGlmCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECit4bWxVQ1NJc0NKS1VuaWZpZWRJZGVvZ3JhcGhzRXh0ZW5zaW9uQgorI2VuZGlmCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECit4bWxVQ1NJc0NhdAorI2VuZGlmCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECit4bWxVQ1NJc0NhdEMKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNDYXRDYworI2VuZGlmCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECit4bWxVQ1NJc0NhdENmCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKK3htbFVDU0lzQ2F0Q28KKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNDYXRDcworI2VuZGlmCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECit4bWxVQ1NJc0NhdEwKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNDYXRMbAorI2VuZGlmCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECit4bWxVQ1NJc0NhdExtCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKK3htbFVDU0lzQ2F0TG8KKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNDYXRMdAorI2VuZGlmCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECit4bWxVQ1NJc0NhdEx1CisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKK3htbFVDU0lzQ2F0TQorI2VuZGlmCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECit4bWxVQ1NJc0NhdE1jCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKK3htbFVDU0lzQ2F0TWUKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNDYXRNbgorI2VuZGlmCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECit4bWxVQ1NJc0NhdE4KKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNDYXROZAorI2VuZGlmCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECit4bWxVQ1NJc0NhdE5sCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKK3htbFVDU0lzQ2F0Tm8KKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNDYXRQCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKK3htbFVDU0lzQ2F0UGMKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNDYXRQZAorI2VuZGlmCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECit4bWxVQ1NJc0NhdFBlCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKK3htbFVDU0lzQ2F0UGYKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNDYXRQaQorI2VuZGlmCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECit4bWxVQ1NJc0NhdFBvCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKK3htbFVDU0lzQ2F0UHMKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNDYXRTCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKK3htbFVDU0lzQ2F0U2MKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNDYXRTaworI2VuZGlmCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECit4bWxVQ1NJc0NhdFNtCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKK3htbFVDU0lzQ2F0U28KKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNDYXRaCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKK3htbFVDU0lzQ2F0WmwKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNDYXRacAorI2VuZGlmCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECit4bWxVQ1NJc0NhdFpzCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKK3htbFVDU0lzQ2hlcm9rZWUKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNDb21iaW5pbmdEaWFjcml0aWNhbE1hcmtzCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKK3htbFVDU0lzQ29tYmluaW5nRGlhY3JpdGljYWxNYXJrc2ZvclN5bWJvbHMKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNDb21iaW5pbmdIYWxmTWFya3MKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNDb21iaW5pbmdNYXJrc2ZvclN5bWJvbHMKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNDb250cm9sUGljdHVyZXMKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNDdXJyZW5jeVN5bWJvbHMKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNDeXByaW90U3lsbGFiYXJ5CisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKK3htbFVDU0lzQ3lyaWxsaWMKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNDeXJpbGxpY1N1cHBsZW1lbnQKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNEZXNlcmV0CisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKK3htbFVDU0lzRGV2YW5hZ2FyaQorI2VuZGlmCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECit4bWxVQ1NJc0RpbmdiYXRzCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKK3htbFVDU0lzRW5jbG9zZWRBbHBoYW51bWVyaWNzCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKK3htbFVDU0lzRW5jbG9zZWRDSktMZXR0ZXJzYW5kTW9udGhzCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKK3htbFVDU0lzRXRoaW9waWMKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNHZW5lcmFsUHVuY3R1YXRpb24KKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNHZW9tZXRyaWNTaGFwZXMKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNHZW9yZ2lhbgorI2VuZGlmCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECit4bWxVQ1NJc0dvdGhpYworI2VuZGlmCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECit4bWxVQ1NJc0dyZWVrCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKK3htbFVDU0lzR3JlZWtFeHRlbmRlZAorI2VuZGlmCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECit4bWxVQ1NJc0dyZWVrYW5kQ29wdGljCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKK3htbFVDU0lzR3VqYXJhdGkKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNHdXJtdWtoaQorI2VuZGlmCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECit4bWxVQ1NJc0hhbGZ3aWR0aGFuZEZ1bGx3aWR0aEZvcm1zCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKK3htbFVDU0lzSGFuZ3VsQ29tcGF0aWJpbGl0eUphbW8KKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNIYW5ndWxKYW1vCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKK3htbFVDU0lzSGFuZ3VsU3lsbGFibGVzCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKK3htbFVDU0lzSGFudW5vbworI2VuZGlmCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECit4bWxVQ1NJc0hlYnJldworI2VuZGlmCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECit4bWxVQ1NJc0hpZ2hQcml2YXRlVXNlU3Vycm9nYXRlcworI2VuZGlmCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECit4bWxVQ1NJc0hpZ2hTdXJyb2dhdGVzCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKK3htbFVDU0lzSGlyYWdhbmEKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNJUEFFeHRlbnNpb25zCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKK3htbFVDU0lzSWRlb2dyYXBoaWNEZXNjcmlwdGlvbkNoYXJhY3RlcnMKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNLYW5idW4KKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNLYW5neGlSYWRpY2FscworI2VuZGlmCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECit4bWxVQ1NJc0thbm5hZGEKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNLYXRha2FuYQorI2VuZGlmCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECit4bWxVQ1NJc0thdGFrYW5hUGhvbmV0aWNFeHRlbnNpb25zCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKK3htbFVDU0lzS2htZXIKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNLaG1lclN5bWJvbHMKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNMYW8KKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNMYXRpbjFTdXBwbGVtZW50CisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKK3htbFVDU0lzTGF0aW5FeHRlbmRlZEEKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNMYXRpbkV4dGVuZGVkQWRkaXRpb25hbAorI2VuZGlmCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECit4bWxVQ1NJc0xhdGluRXh0ZW5kZWRCCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKK3htbFVDU0lzTGV0dGVybGlrZVN5bWJvbHMKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNMaW1idQorI2VuZGlmCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECit4bWxVQ1NJc0xpbmVhckJJZGVvZ3JhbXMKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNMaW5lYXJCU3lsbGFiYXJ5CisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKK3htbFVDU0lzTG93U3Vycm9nYXRlcworI2VuZGlmCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECit4bWxVQ1NJc01hbGF5YWxhbQorI2VuZGlmCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECit4bWxVQ1NJc01hdGhlbWF0aWNhbEFscGhhbnVtZXJpY1N5bWJvbHMKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNNYXRoZW1hdGljYWxPcGVyYXRvcnMKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNNaXNjZWxsYW5lb3VzTWF0aGVtYXRpY2FsU3ltYm9sc0EKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNNaXNjZWxsYW5lb3VzTWF0aGVtYXRpY2FsU3ltYm9sc0IKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNNaXNjZWxsYW5lb3VzU3ltYm9scworI2VuZGlmCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECit4bWxVQ1NJc01pc2NlbGxhbmVvdXNTeW1ib2xzYW5kQXJyb3dzCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKK3htbFVDU0lzTWlzY2VsbGFuZW91c1RlY2huaWNhbAorI2VuZGlmCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECit4bWxVQ1NJc01vbmdvbGlhbgorI2VuZGlmCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECit4bWxVQ1NJc011c2ljYWxTeW1ib2xzCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKK3htbFVDU0lzTXlhbm1hcgorI2VuZGlmCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECit4bWxVQ1NJc051bWJlckZvcm1zCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKK3htbFVDU0lzT2doYW0KKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNPbGRJdGFsaWMKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNPcHRpY2FsQ2hhcmFjdGVyUmVjb2duaXRpb24KKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNPcml5YQorI2VuZGlmCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECit4bWxVQ1NJc09zbWFueWEKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNQaG9uZXRpY0V4dGVuc2lvbnMKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNQcml2YXRlVXNlCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKK3htbFVDU0lzUHJpdmF0ZVVzZUFyZWEKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNSdW5pYworI2VuZGlmCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECit4bWxVQ1NJc1NoYXZpYW4KKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNTaW5oYWxhCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKK3htbFVDU0lzU21hbGxGb3JtVmFyaWFudHMKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNTcGFjaW5nTW9kaWZpZXJMZXR0ZXJzCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKK3htbFVDU0lzU3BlY2lhbHMKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNTdXBlcnNjcmlwdHNhbmRTdWJzY3JpcHRzCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKK3htbFVDU0lzU3VwcGxlbWVudGFsQXJyb3dzQQorI2VuZGlmCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECit4bWxVQ1NJc1N1cHBsZW1lbnRhbEFycm93c0IKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNTdXBwbGVtZW50YWxNYXRoZW1hdGljYWxPcGVyYXRvcnMKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNTdXBwbGVtZW50YXJ5UHJpdmF0ZVVzZUFyZWFBCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKK3htbFVDU0lzU3VwcGxlbWVudGFyeVByaXZhdGVVc2VBcmVhQgorI2VuZGlmCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECit4bWxVQ1NJc1N5cmlhYworI2VuZGlmCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECit4bWxVQ1NJc1RhZ2Fsb2cKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNUYWdiYW53YQorI2VuZGlmCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECit4bWxVQ1NJc1RhZ3MKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNUYWlMZQorI2VuZGlmCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECit4bWxVQ1NJc1RhaVh1YW5KaW5nU3ltYm9scworI2VuZGlmCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECit4bWxVQ1NJc1RhbWlsCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKK3htbFVDU0lzVGVsdWd1CisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKK3htbFVDU0lzVGhhYW5hCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKK3htbFVDU0lzVGhhaQorI2VuZGlmCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECit4bWxVQ1NJc1RpYmV0YW4KKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNVZ2FyaXRpYworI2VuZGlmCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECit4bWxVQ1NJc1VuaWZpZWRDYW5hZGlhbkFib3JpZ2luYWxTeWxsYWJpY3MKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNWYXJpYXRpb25TZWxlY3RvcnMKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9SRUdFWFBfRU5BQkxFRAoreG1sVUNTSXNWYXJpYXRpb25TZWxlY3RvcnNTdXBwbGVtZW50CisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKK3htbFVDU0lzWWlSYWRpY2FscworI2VuZGlmCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECit4bWxVQ1NJc1lpU3lsbGFibGVzCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKK3htbFVDU0lzWWlqaW5nSGV4YWdyYW1TeW1ib2xzCisjZW5kaWYKK3htbFVSSUVzY2FwZQoreG1sVVJJRXNjYXBlU3RyCit4bWxVUklVbmVzY2FwZVN0cmluZworeG1sVVRGOENoYXJjbXAKK3htbFVURjhTaXplCit4bWxVVEY4U3RybGVuCit4bWxVVEY4U3RybG9jCit4bWxVVEY4U3RybmR1cAoreG1sVVRGOFN0cnBvcworeG1sVVRGOFN0cnNpemUKK3htbFVURjhTdHJzdWIKK3htbFVubGlua05vZGUKK3htbFVubG9ja0xpYnJhcnkKK3htbFVuc2V0TnNQcm9wCit4bWxVbnNldFByb3AKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKK3htbFZhbGlkQnVpbGRDb250ZW50TW9kZWwKKyNlbmRpZgoreG1sVmFsaWRDdHh0Tm9ybWFsaXplQXR0cmlidXRlVmFsdWUKK3htbFZhbGlkR2V0UG90ZW50aWFsQ2hpbGRyZW4KK3htbFZhbGlkR2V0VmFsaWRFbGVtZW50cworeG1sVmFsaWROb3JtYWxpemVBdHRyaWJ1dGVWYWx1ZQoreG1sVmFsaWRhdGVBdHRyaWJ1dGVEZWNsCit4bWxWYWxpZGF0ZUF0dHJpYnV0ZVZhbHVlCit4bWxWYWxpZGF0ZURvY3VtZW50Cit4bWxWYWxpZGF0ZURvY3VtZW50RmluYWwKK3htbFZhbGlkYXRlRHRkCit4bWxWYWxpZGF0ZUR0ZEZpbmFsCit4bWxWYWxpZGF0ZUVsZW1lbnQKK3htbFZhbGlkYXRlRWxlbWVudERlY2wKK3htbFZhbGlkYXRlTkNOYW1lCit4bWxWYWxpZGF0ZU5NVG9rZW4KK3htbFZhbGlkYXRlTmFtZQoreG1sVmFsaWRhdGVOYW1lVmFsdWUKK3htbFZhbGlkYXRlTmFtZXNWYWx1ZQoreG1sVmFsaWRhdGVObXRva2VuVmFsdWUKK3htbFZhbGlkYXRlTm10b2tlbnNWYWx1ZQoreG1sVmFsaWRhdGVOb3RhdGlvbkRlY2wKK3htbFZhbGlkYXRlTm90YXRpb25Vc2UKK3htbFZhbGlkYXRlT25lQXR0cmlidXRlCit4bWxWYWxpZGF0ZU9uZUVsZW1lbnQKK3htbFZhbGlkYXRlT25lTmFtZXNwYWNlCit4bWxWYWxpZGF0ZVBvcEVsZW1lbnQKK3htbFZhbGlkYXRlUHVzaENEYXRhCit4bWxWYWxpZGF0ZVB1c2hFbGVtZW50Cit4bWxWYWxpZGF0ZVFOYW1lCit4bWxWYWxpZGF0ZVJvb3QKKyNpZmRlZiBMSUJYTUxfWElOQ0xVREVfRU5BQkxFRAoreG1sWEluY2x1ZGVGcmVlQ29udGV4dAorI2VuZGlmCisjaWZkZWYgTElCWE1MX1hJTkNMVURFX0VOQUJMRUQKK3htbFhJbmNsdWRlTmV3Q29udGV4dAorI2VuZGlmCisjaWZkZWYgTElCWE1MX1hJTkNMVURFX0VOQUJMRUQKK3htbFhJbmNsdWRlUHJvY2VzcworI2VuZGlmCisjaWZkZWYgTElCWE1MX1hJTkNMVURFX0VOQUJMRUQKK3htbFhJbmNsdWRlUHJvY2Vzc0ZsYWdzCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWElOQ0xVREVfRU5BQkxFRAoreG1sWEluY2x1ZGVQcm9jZXNzRmxhZ3NEYXRhCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWElOQ0xVREVfRU5BQkxFRAoreG1sWEluY2x1ZGVQcm9jZXNzTm9kZQorI2VuZGlmCisjaWZkZWYgTElCWE1MX1hJTkNMVURFX0VOQUJMRUQKK3htbFhJbmNsdWRlUHJvY2Vzc1RyZWUKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YSU5DTFVERV9FTkFCTEVECit4bWxYSW5jbHVkZVByb2Nlc3NUcmVlRmxhZ3MKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YSU5DTFVERV9FTkFCTEVECit4bWxYSW5jbHVkZVByb2Nlc3NUcmVlRmxhZ3NEYXRhCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWElOQ0xVREVfRU5BQkxFRAoreG1sWEluY2x1ZGVTZXRGbGFncworI2VuZGlmCisjaWZkZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQKK3htbFhQYXRoQWRkVmFsdWVzCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAoreG1sWFBhdGhCb29sZWFuRnVuY3Rpb24KKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECit4bWxYUGF0aENhc3RCb29sZWFuVG9OdW1iZXIKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECit4bWxYUGF0aENhc3RCb29sZWFuVG9TdHJpbmcKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECit4bWxYUGF0aENhc3ROb2RlU2V0VG9Cb29sZWFuCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAoreG1sWFBhdGhDYXN0Tm9kZVNldFRvTnVtYmVyCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAoreG1sWFBhdGhDYXN0Tm9kZVNldFRvU3RyaW5nCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAoreG1sWFBhdGhDYXN0Tm9kZVRvTnVtYmVyCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAoreG1sWFBhdGhDYXN0Tm9kZVRvU3RyaW5nCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAoreG1sWFBhdGhDYXN0TnVtYmVyVG9Cb29sZWFuCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAoreG1sWFBhdGhDYXN0TnVtYmVyVG9TdHJpbmcKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECit4bWxYUGF0aENhc3RTdHJpbmdUb0Jvb2xlYW4KKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECit4bWxYUGF0aENhc3RTdHJpbmdUb051bWJlcgorI2VuZGlmCisjaWZkZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQKK3htbFhQYXRoQ2FzdFRvQm9vbGVhbgorI2VuZGlmCisjaWZkZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQKK3htbFhQYXRoQ2FzdFRvTnVtYmVyCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAoreG1sWFBhdGhDYXN0VG9TdHJpbmcKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECit4bWxYUGF0aENlaWxpbmdGdW5jdGlvbgorI2VuZGlmCisjaWZkZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQKK3htbFhQYXRoQ21wTm9kZXMKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECit4bWxYUGF0aENvbXBhcmVWYWx1ZXMKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECit4bWxYUGF0aENvbXBpbGUKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECit4bWxYUGF0aENvbXBpbGVkRXZhbAorI2VuZGlmCisjaWZkZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQKK3htbFhQYXRoQ29tcGlsZWRFdmFsVG9Cb29sZWFuCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAoreG1sWFBhdGhDb25jYXRGdW5jdGlvbgorI2VuZGlmCisjaWZkZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQKK3htbFhQYXRoQ29udGFpbnNGdW5jdGlvbgorI2VuZGlmCisjaWZkZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQKK3htbFhQYXRoQ29udGV4dFNldENhY2hlCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAoreG1sWFBhdGhDb252ZXJ0Qm9vbGVhbgorI2VuZGlmCisjaWZkZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQKK3htbFhQYXRoQ29udmVydE51bWJlcgorI2VuZGlmCisjaWZkZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQKK3htbFhQYXRoQ29udmVydFN0cmluZworI2VuZGlmCisjaWZkZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQKK3htbFhQYXRoQ291bnRGdW5jdGlvbgorI2VuZGlmCisjaWZkZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQKK3htbFhQYXRoQ3R4dENvbXBpbGUKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECisjaWZkZWYgTElCWE1MX0RFQlVHX0VOQUJMRUQKK3htbFhQYXRoRGVidWdEdW1wQ29tcEV4cHIKKyNlbmRpZgorI2VuZGlmCisjaWZkZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQKKyNpZmRlZiBMSUJYTUxfREVCVUdfRU5BQkxFRAoreG1sWFBhdGhEZWJ1Z0R1bXBPYmplY3QKKyNlbmRpZgorI2VuZGlmCisjaWZkZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQKK3htbFhQYXRoRGlmZmVyZW5jZQorI2VuZGlmCisjaWZkZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQKK3htbFhQYXRoRGlzdGluY3QKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECit4bWxYUGF0aERpc3RpbmN0U29ydGVkCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAoreG1sWFBhdGhEaXZWYWx1ZXMKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECit4bWxYUGF0aEVxdWFsVmFsdWVzCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAoreG1sWFBhdGhFcnIKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECit4bWxYUGF0aEV2YWwKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECit4bWxYUGF0aEV2YWxFeHByCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAoreG1sWFBhdGhFdmFsRXhwcmVzc2lvbgorI2VuZGlmCisjaWZkZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQKK3htbFhQYXRoRXZhbFByZWRpY2F0ZQorI2VuZGlmCisjaWZkZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQKK3htbFhQYXRoRXZhbHVhdGVQcmVkaWNhdGVSZXN1bHQKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECit4bWxYUGF0aEZhbHNlRnVuY3Rpb24KKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECit4bWxYUGF0aEZsb29yRnVuY3Rpb24KKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECit4bWxYUGF0aEZyZWVDb21wRXhwcgorI2VuZGlmCisjaWZkZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQKK3htbFhQYXRoRnJlZUNvbnRleHQKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECit4bWxYUGF0aEZyZWVOb2RlU2V0CisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAoreG1sWFBhdGhGcmVlTm9kZVNldExpc3QKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECit4bWxYUGF0aEZyZWVPYmplY3QKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECit4bWxYUGF0aEZyZWVQYXJzZXJDb250ZXh0CisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAoreG1sWFBhdGhGdW5jdGlvbkxvb2t1cAorI2VuZGlmCisjaWZkZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQKK3htbFhQYXRoRnVuY3Rpb25Mb29rdXBOUworI2VuZGlmCisjaWZkZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQKK3htbFhQYXRoSGFzU2FtZU5vZGVzCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAoreG1sWFBhdGhJZEZ1bmN0aW9uCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAoreG1sWFBhdGhJbml0CisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAoreG1sWFBhdGhJbnRlcnNlY3Rpb24KKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECit4bWxYUGF0aElzSW5mCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAoreG1sWFBhdGhJc05hTgorI2VuZGlmCisjaWZkZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQKK3htbFhQYXRoSXNOb2RlVHlwZQorI2VuZGlmCisjaWZkZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQKK3htbFhQYXRoTGFuZ0Z1bmN0aW9uCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAoreG1sWFBhdGhMYXN0RnVuY3Rpb24KKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECit4bWxYUGF0aExlYWRpbmcKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECit4bWxYUGF0aExlYWRpbmdTb3J0ZWQKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECit4bWxYUGF0aExvY2FsTmFtZUZ1bmN0aW9uCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAoreG1sWFBhdGhNb2RWYWx1ZXMKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECit4bWxYUGF0aE11bHRWYWx1ZXMKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECit4bWxYUGF0aE5hbWVzcGFjZVVSSUZ1bmN0aW9uCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAoreG1sWFBhdGhOZXdCb29sZWFuCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAoreG1sWFBhdGhOZXdDU3RyaW5nCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAoreG1sWFBhdGhOZXdDb250ZXh0CisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAoreG1sWFBhdGhOZXdGbG9hdAorI2VuZGlmCisjaWZkZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQKK3htbFhQYXRoTmV3Tm9kZVNldAorI2VuZGlmCisjaWZkZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQKK3htbFhQYXRoTmV3Tm9kZVNldExpc3QKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECit4bWxYUGF0aE5ld1BhcnNlckNvbnRleHQKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECit4bWxYUGF0aE5ld1N0cmluZworI2VuZGlmCisjaWZkZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQKK3htbFhQYXRoTmV3VmFsdWVUcmVlCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAoreG1sWFBhdGhOZXh0QW5jZXN0b3IKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECit4bWxYUGF0aE5leHRBbmNlc3Rvck9yU2VsZgorI2VuZGlmCisjaWZkZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQKK3htbFhQYXRoTmV4dEF0dHJpYnV0ZQorI2VuZGlmCisjaWZkZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQKK3htbFhQYXRoTmV4dENoaWxkCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAoreG1sWFBhdGhOZXh0RGVzY2VuZGFudAorI2VuZGlmCisjaWZkZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQKK3htbFhQYXRoTmV4dERlc2NlbmRhbnRPclNlbGYKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECit4bWxYUGF0aE5leHRGb2xsb3dpbmcKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECit4bWxYUGF0aE5leHRGb2xsb3dpbmdTaWJsaW5nCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAoreG1sWFBhdGhOZXh0TmFtZXNwYWNlCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAoreG1sWFBhdGhOZXh0UGFyZW50CisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAoreG1sWFBhdGhOZXh0UHJlY2VkaW5nCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAoreG1sWFBhdGhOZXh0UHJlY2VkaW5nU2libGluZworI2VuZGlmCisjaWZkZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQKK3htbFhQYXRoTmV4dFNlbGYKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECit4bWxYUGF0aE5vZGVFdmFsCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAoreG1sWFBhdGhOb2RlTGVhZGluZworI2VuZGlmCisjaWZkZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQKK3htbFhQYXRoTm9kZUxlYWRpbmdTb3J0ZWQKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECit4bWxYUGF0aE5vZGVTZXRBZGQKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECit4bWxYUGF0aE5vZGVTZXRBZGROcworI2VuZGlmCisjaWZkZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQKK3htbFhQYXRoTm9kZVNldEFkZFVuaXF1ZQorI2VuZGlmCisjaWZkZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQKK3htbFhQYXRoTm9kZVNldENvbnRhaW5zCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAoreG1sWFBhdGhOb2RlU2V0Q3JlYXRlCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAoreG1sWFBhdGhOb2RlU2V0RGVsCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAoreG1sWFBhdGhOb2RlU2V0RnJlZU5zCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAoreG1sWFBhdGhOb2RlU2V0TWVyZ2UKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECit4bWxYUGF0aE5vZGVTZXRSZW1vdmUKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECit4bWxYUGF0aE5vZGVTZXRTb3J0CisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAoreG1sWFBhdGhOb2RlVHJhaWxpbmcKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECit4bWxYUGF0aE5vZGVUcmFpbGluZ1NvcnRlZAorI2VuZGlmCisjaWZkZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQKK3htbFhQYXRoTm9ybWFsaXplRnVuY3Rpb24KKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECit4bWxYUGF0aE5vdEVxdWFsVmFsdWVzCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAoreG1sWFBhdGhOb3RGdW5jdGlvbgorI2VuZGlmCisjaWZkZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQKK3htbFhQYXRoTnNMb29rdXAKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECit4bWxYUGF0aE51bWJlckZ1bmN0aW9uCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAoreG1sWFBhdGhPYmplY3RDb3B5CisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAoreG1sWFBhdGhPcmRlckRvY0VsZW1zCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAoreG1sWFBhdGhQYXJzZU5DTmFtZQorI2VuZGlmCisjaWZkZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQKK3htbFhQYXRoUGFyc2VOYW1lCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAoreG1sWFBhdGhQb3BCb29sZWFuCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAoreG1sWFBhdGhQb3BFeHRlcm5hbAorI2VuZGlmCisjaWZkZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQKK3htbFhQYXRoUG9wTm9kZVNldAorI2VuZGlmCisjaWZkZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQKK3htbFhQYXRoUG9wTnVtYmVyCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAoreG1sWFBhdGhQb3BTdHJpbmcKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECit4bWxYUGF0aFBvc2l0aW9uRnVuY3Rpb24KKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECit4bWxYUGF0aFJlZ2lzdGVyQWxsRnVuY3Rpb25zCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAoreG1sWFBhdGhSZWdpc3RlckZ1bmMKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECit4bWxYUGF0aFJlZ2lzdGVyRnVuY0xvb2t1cAorI2VuZGlmCisjaWZkZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQKK3htbFhQYXRoUmVnaXN0ZXJGdW5jTlMKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECit4bWxYUGF0aFJlZ2lzdGVyTnMKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECit4bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGUKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECit4bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGVMb29rdXAKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECit4bWxYUGF0aFJlZ2lzdGVyVmFyaWFibGVOUworI2VuZGlmCisjaWZkZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQKK3htbFhQYXRoUmVnaXN0ZXJlZEZ1bmNzQ2xlYW51cAorI2VuZGlmCisjaWZkZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQKK3htbFhQYXRoUmVnaXN0ZXJlZE5zQ2xlYW51cAorI2VuZGlmCisjaWZkZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQKK3htbFhQYXRoUmVnaXN0ZXJlZFZhcmlhYmxlc0NsZWFudXAKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECit4bWxYUGF0aFJvb3QKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECit4bWxYUGF0aFJvdW5kRnVuY3Rpb24KKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECit4bWxYUGF0aFNldENvbnRleHROb2RlCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAoreG1sWFBhdGhTdGFydHNXaXRoRnVuY3Rpb24KKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECit4bWxYUGF0aFN0cmluZ0V2YWxOdW1iZXIKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECit4bWxYUGF0aFN0cmluZ0Z1bmN0aW9uCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAoreG1sWFBhdGhTdHJpbmdMZW5ndGhGdW5jdGlvbgorI2VuZGlmCisjaWZkZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQKK3htbFhQYXRoU3ViVmFsdWVzCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAoreG1sWFBhdGhTdWJzdHJpbmdBZnRlckZ1bmN0aW9uCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAoreG1sWFBhdGhTdWJzdHJpbmdCZWZvcmVGdW5jdGlvbgorI2VuZGlmCisjaWZkZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQKK3htbFhQYXRoU3Vic3RyaW5nRnVuY3Rpb24KKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECit4bWxYUGF0aFN1bUZ1bmN0aW9uCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAoreG1sWFBhdGhUcmFpbGluZworI2VuZGlmCisjaWZkZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQKK3htbFhQYXRoVHJhaWxpbmdTb3J0ZWQKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECit4bWxYUGF0aFRyYW5zbGF0ZUZ1bmN0aW9uCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAoreG1sWFBhdGhUcnVlRnVuY3Rpb24KKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECit4bWxYUGF0aFZhbHVlRmxpcFNpZ24KKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECit4bWxYUGF0aFZhcmlhYmxlTG9va3VwCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAoreG1sWFBhdGhWYXJpYWJsZUxvb2t1cE5TCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAoreG1sWFBhdGhXcmFwQ1N0cmluZworI2VuZGlmCisjaWZkZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQKK3htbFhQYXRoV3JhcEV4dGVybmFsCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAoreG1sWFBhdGhXcmFwTm9kZVNldAorI2VuZGlmCisjaWZkZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQKK3htbFhQYXRoV3JhcFN0cmluZworI2VuZGlmCisjaWZkZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQKK3htbFhQYXRoZXJyb3IKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YUFRSX0VOQUJMRUQKK3htbFhQdHJCdWlsZE5vZGVMaXN0CisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWFBUUl9FTkFCTEVECit4bWxYUHRyRXZhbAorI2VuZGlmCisjaWZkZWYgTElCWE1MX1hQVFJfRU5BQkxFRAoreG1sWFB0ckV2YWxSYW5nZVByZWRpY2F0ZQorI2VuZGlmCisjaWZkZWYgTElCWE1MX1hQVFJfRU5BQkxFRAoreG1sWFB0ckZyZWVMb2NhdGlvblNldAorI2VuZGlmCisjaWZkZWYgTElCWE1MX1hQVFJfRU5BQkxFRAoreG1sWFB0ckxvY2F0aW9uU2V0QWRkCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWFBUUl9FTkFCTEVECit4bWxYUHRyTG9jYXRpb25TZXRDcmVhdGUKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YUFRSX0VOQUJMRUQKK3htbFhQdHJMb2NhdGlvblNldERlbAorI2VuZGlmCisjaWZkZWYgTElCWE1MX1hQVFJfRU5BQkxFRAoreG1sWFB0ckxvY2F0aW9uU2V0TWVyZ2UKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YUFRSX0VOQUJMRUQKK3htbFhQdHJMb2NhdGlvblNldFJlbW92ZQorI2VuZGlmCisjaWZkZWYgTElCWE1MX1hQVFJfRU5BQkxFRAoreG1sWFB0ck5ld0NvbGxhcHNlZFJhbmdlCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWFBUUl9FTkFCTEVECit4bWxYUHRyTmV3Q29udGV4dAorI2VuZGlmCisjaWZkZWYgTElCWE1MX1hQVFJfRU5BQkxFRAoreG1sWFB0ck5ld0xvY2F0aW9uU2V0Tm9kZVNldAorI2VuZGlmCisjaWZkZWYgTElCWE1MX1hQVFJfRU5BQkxFRAoreG1sWFB0ck5ld0xvY2F0aW9uU2V0Tm9kZXMKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YUFRSX0VOQUJMRUQKK3htbFhQdHJOZXdSYW5nZQorI2VuZGlmCisjaWZkZWYgTElCWE1MX1hQVFJfRU5BQkxFRAoreG1sWFB0ck5ld1JhbmdlTm9kZU9iamVjdAorI2VuZGlmCisjaWZkZWYgTElCWE1MX1hQVFJfRU5BQkxFRAoreG1sWFB0ck5ld1JhbmdlTm9kZVBvaW50CisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWFBUUl9FTkFCTEVECit4bWxYUHRyTmV3UmFuZ2VOb2RlcworI2VuZGlmCisjaWZkZWYgTElCWE1MX1hQVFJfRU5BQkxFRAoreG1sWFB0ck5ld1JhbmdlUG9pbnROb2RlCisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWFBUUl9FTkFCTEVECit4bWxYUHRyTmV3UmFuZ2VQb2ludHMKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YUFRSX0VOQUJMRUQKK3htbFhQdHJSYW5nZVRvRnVuY3Rpb24KKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YUFRSX0VOQUJMRUQKK3htbFhQdHJXcmFwTG9jYXRpb25TZXQKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbGlieG1sMi93aW4zMi93aW5jZS9saWJ4bWwyLnZjYiBiL2xpYnhtbDIvd2luMzIvd2luY2UvbGlieG1sMi52Y2IKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTU0ZDA1MwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvd2luMzIvd2luY2UvbGlieG1sMi52Y2IKQEAgLTAsMCArMSBAQAorTWljcm9zb2Z0IEMvQysrIHByb2dyYW0gZGF0YWJhc2UgMi4wMApkaWZmIC0tZ2l0IGEvbGlieG1sMi93aW4zMi93aW5jZS9saWJ4bWwyLnZjbCBiL2xpYnhtbDIvd2luMzIvd2luY2UvbGlieG1sMi52Y2wKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjI3ZWNiNgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvd2luMzIvd2luY2UvbGlieG1sMi52Y2wKQEAgLTAsMCArMSwxMjIgQEAKKzxodG1sPgorPGJvZHk+Cis8cHJlPgorPGgxPkJ1aWxkIExvZzwvaDE+Cis8aDM+CistLS0tLS0tLS0tLS0tLS0tLS0tLUNvbmZpZ3VyYXRpb246IGxpYnhtbDIgLSBXaW4zMiAoV0NFIHg4NmVtKSBEZWJ1Zy0tLS0tLS0tLS0tLS0tLS0tLS0tCis8L2gzPgorPGgzPkNvbW1hbmQgTGluZXM8L2gzPgorQ3JlYXRpbmcgdGVtcG9yYXJ5IGZpbGUgIkM6XERPQ1VNRX4xXGZqdmdcQ09ORklHfjFcVGVtcFxSU1AxMkUudG1wIiB3aXRoIGNvbnRlbnRzCitbCisvbm9sb2dvIC9XMyAvWmkgL09kIC9JICIuLlwuLlwuLlxpbmNsdWRlIiAvSSAiLi5cLi5caW5jbHVkZSIgL0kgImM6XHBwY1xsaWJ4bWxcWE1MXHdpbjMyXHdpbmNlIiAvRCAiREVCVUciIC9EIF9XSU4zMl9XQ0U9MzAwIC9EICJXSU4zMiIgL0QgIlNUUklDVCIgL0QgIl9XSU4zMl9XQ0VfRU1VTEFUSU9OIiAvRCAiSU5URVJOQVRJT05BTCIgL0QgIlVTQSIgL0QgIklOVExNU0dfQ09ERVBBR0UiIC9EICJXSU4zMl9QTEFURk9STV9QU1BDIiAvRCAiaTQ4NiIgL0QgVU5ERVJfQ0U9MzAwIC9EICJVTklDT0RFIiAvRCAiX1VOSUNPREUiIC9EICJfWDg2XyIgL0QgIng4NiIgL0ZwIlg4NkVNRGJnL2xpYnhtbDIucGNoIiAvWVggL0ZvIlg4NkVNRGJnLyIgL0ZkIlg4NkVNRGJnLyIgL0d6IC9jIAorIkM6XHBwY1xsaWJ4bWxcWE1MXERPQ0JwYXJzZXIuYyIKKyJDOlxwcGNcbGlieG1sXFhNTFxlbmNvZGluZy5jIgorIkM6XHBwY1xsaWJ4bWxcWE1MXGVudGl0aWVzLmMiCisiQzpccHBjXGxpYnhtbFxYTUxcZXJyb3IuYyIKKyJDOlxwcGNcbGlieG1sXFhNTFxnbG9iYWxzLmMiCisiQzpccHBjXGxpYnhtbFxYTUxcaGFzaC5jIgorIkM6XHBwY1xsaWJ4bWxcWE1MXGxpc3QuYyIKKyJDOlxwcGNcbGlieG1sXFhNTFxwYXJzZXIuYyIKKyJDOlxwcGNcbGlieG1sXFhNTFxwYXJzZXJJbnRlcm5hbHMuYyIKKyJDOlxwcGNcbGlieG1sXFhNTFxTQVguYyIKKyJDOlxwcGNcbGlieG1sXFhNTFx0aHJlYWRzLmMiCisiQzpccHBjXGxpYnhtbFxYTUxcdHJlZS5jIgorIkM6XHBwY1xsaWJ4bWxcWE1MXHVyaS5jIgorIkM6XHBwY1xsaWJ4bWxcWE1MXHZhbGlkLmMiCisiQzpccHBjXGxpYnhtbFxYTUxcd2luMzJcd2luY2Vcd2luY2Vjb21wYXQuYyIKKyJDOlxwcGNcbGlieG1sXFhNTFx4bGluay5jIgorIkM6XHBwY1xsaWJ4bWxcWE1MXHhtbElPLmMiCisiQzpccHBjXGxpYnhtbFxYTUxceG1sbWVtb3J5LmMiCisiQzpccHBjXGxpYnhtbFxYTUxcYzE0bi5jIgorIkM6XHBwY1xsaWJ4bWxcWE1MXGNhdGFsb2cuYyIKKyJDOlxwcGNcbGlieG1sXFhNTFxkZWJ1Z1hNTC5jIgorIkM6XHBwY1xsaWJ4bWxcWE1MXEhUTUxwYXJzZXIuYyIKKyJDOlxwcGNcbGlieG1sXFhNTFxIVE1MdHJlZS5jIgorIkM6XHBwY1xsaWJ4bWxcWE1MXG5hbm9mdHAuYyIKKyJDOlxwcGNcbGlieG1sXFhNTFxuYW5vaHR0cC5jIgorIkM6XHBwY1xsaWJ4bWxcWE1MXHhpbmNsdWRlLmMiCisiQzpccHBjXGxpYnhtbFxYTUxceHBhdGguYyIKKyJDOlxwcGNcbGlieG1sXFhNTFx4cG9pbnRlci5jIgorXQorQ3JlYXRpbmcgY29tbWFuZCBsaW5lICJjbC5leGUgQEM6XERPQ1VNRX4xXGZqdmdcQ09ORklHfjFcVGVtcFxSU1AxMkUudG1wIiAKK0NyZWF0aW5nIHRlbXBvcmFyeSBmaWxlICJDOlxET0NVTUV+MVxmanZnXENPTkZJR34xXFRlbXBcUlNQMTJGLnRtcCIgd2l0aCBjb250ZW50cworWworY29yZWxpYmMubGliIHdpbnNvY2subGliIGNvbW1jdHJsLmxpYiBjb3JlZGxsLmxpYiAvbm9sb2dvIC9zdGFjazoweDEwMDAwLDB4MTAwMCAvZGxsIC9pbmNyZW1lbnRhbDp5ZXMgL3BkYjoiWDg2RU1EYmcvbGlieG1sMi5wZGIiIC9kZWJ1ZyAvbm9kZWZhdWx0bGliOiJPTEROQU1FUy5saWIiIC9ub2RlZmF1bHRsaWI6bGliYy5saWIgL25vZGVmYXVsdGxpYjpsaWJjZC5saWIgL25vZGVmYXVsdGxpYjpsaWJjbXQubGliIC9ub2RlZmF1bHRsaWI6bGliY210ZC5saWIgL25vZGVmYXVsdGxpYjptc3ZjcnQubGliIC9ub2RlZmF1bHRsaWI6bXN2Y3J0ZC5saWIgL25vZGVmYXVsdGxpYjpvbGRuYW1lcy5saWIgL2RlZjoiLlxsaWJ4bWwyLmRlZiIgL291dDoiWDg2RU1EYmcvbGlieG1sMi5kbGwiIC9pbXBsaWI6Ilg4NkVNRGJnL2xpYnhtbDIubGliIiAvd2luZG93c2NlOmVtdWxhdGlvbiAvTUFDSElORTpJWDg2IAorLlxYODZFTURiZ1xET0NCcGFyc2VyLm9iagorLlxYODZFTURiZ1xlbmNvZGluZy5vYmoKKy5cWDg2RU1EYmdcZW50aXRpZXMub2JqCisuXFg4NkVNRGJnXGVycm9yLm9iagorLlxYODZFTURiZ1xnbG9iYWxzLm9iagorLlxYODZFTURiZ1xoYXNoLm9iagorLlxYODZFTURiZ1xsaXN0Lm9iagorLlxYODZFTURiZ1xwYXJzZXIub2JqCisuXFg4NkVNRGJnXHBhcnNlckludGVybmFscy5vYmoKKy5cWDg2RU1EYmdcU0FYLm9iagorLlxYODZFTURiZ1x0aHJlYWRzLm9iagorLlxYODZFTURiZ1x0cmVlLm9iagorLlxYODZFTURiZ1x1cmkub2JqCisuXFg4NkVNRGJnXHZhbGlkLm9iagorLlxYODZFTURiZ1x3aW5jZWNvbXBhdC5vYmoKKy5cWDg2RU1EYmdceGxpbmsub2JqCisuXFg4NkVNRGJnXHhtbElPLm9iagorLlxYODZFTURiZ1x4bWxtZW1vcnkub2JqCisuXFg4NkVNRGJnXGMxNG4ub2JqCisuXFg4NkVNRGJnXGNhdGFsb2cub2JqCisuXFg4NkVNRGJnXGRlYnVnWE1MLm9iagorLlxYODZFTURiZ1xIVE1McGFyc2VyLm9iagorLlxYODZFTURiZ1xIVE1MdHJlZS5vYmoKKy5cWDg2RU1EYmdcbmFub2Z0cC5vYmoKKy5cWDg2RU1EYmdcbmFub2h0dHAub2JqCisuXFg4NkVNRGJnXHhpbmNsdWRlLm9iagorLlxYODZFTURiZ1x4cGF0aC5vYmoKKy5cWDg2RU1EYmdceHBvaW50ZXIub2JqCitdCitDcmVhdGluZyBjb21tYW5kIGxpbmUgImxpbmsuZXhlIEBDOlxET0NVTUV+MVxmanZnXENPTkZJR34xXFRlbXBcUlNQMTJGLnRtcCIKKzxoMz5PdXRwdXQgV2luZG93PC9oMz4KK0NvbXBpbGluZy4uLgorRE9DQnBhcnNlci5jCitlbmNvZGluZy5jCitlbnRpdGllcy5jCitlcnJvci5jCitnbG9iYWxzLmMKK2hhc2guYworbGlzdC5jCitwYXJzZXIuYworQzpccHBjXGxpYnhtbFxYTUxccGFyc2VyLmMoMjI4MikgOiB3YXJuaW5nIEM0MDkwOiAnPScgOiBkaWZmZXJlbnQgJ2NvbnN0JyBxdWFsaWZpZXJzCitwYXJzZXJJbnRlcm5hbHMuYworU0FYLmMKK3RocmVhZHMuYwordHJlZS5jCit1cmkuYwordmFsaWQuYword2luY2Vjb21wYXQuYworQzpccHBjXGxpYnhtbFxYTUxcd2luMzJcd2luY2Vcd2luY2Vjb21wYXQuYygzNykgOiB3YXJuaW5nIEM0MDQ3OiAnPScgOiAnY2hhciAnIGRpZmZlcnMgaW4gbGV2ZWxzIG9mIGluZGlyZWN0aW9uIGZyb20gJ2NoYXIgWzJdJworQzpccHBjXGxpYnhtbFxYTUxcd2luMzJcd2luY2Vcd2luY2Vjb21wYXQuYygzOSkgOiB3YXJuaW5nIEM0MDQ3OiAnPScgOiAnY2hhciAnIGRpZmZlcnMgaW4gbGV2ZWxzIG9mIGluZGlyZWN0aW9uIGZyb20gJ2NoYXIgWzJdJworQzpccHBjXGxpYnhtbFxYTUxcd2luMzJcd2luY2Vcd2luY2Vjb21wYXQuYyg0MCkgOiB3YXJuaW5nIEM0MDQ3OiAncmV0dXJuJyA6ICdpbnQgJyBkaWZmZXJzIGluIGxldmVscyBvZiBpbmRpcmVjdGlvbiBmcm9tICd2b2lkIConCit4bGluay5jCit4bWxJTy5jCitDOlxwcGNcbGlieG1sXFhNTFx4bWxJTy5jKDI0MDQpIDogd2FybmluZyBDNDEwMTogJ2RpcicgOiB1bnJlZmVyZW5jZWQgbG9jYWwgdmFyaWFibGUKK0M6XHBwY1xsaWJ4bWxcWE1MXHhtbElPLmMoMjQwNSkgOiB3YXJuaW5nIEM0MTAxOiAnY3VyJyA6IHVucmVmZXJlbmNlZCBsb2NhbCB2YXJpYWJsZQoreG1sbWVtb3J5LmMKK2MxNG4uYworY2F0YWxvZy5jCitkZWJ1Z1hNTC5jCitIVE1McGFyc2VyLmMKK0hUTUx0cmVlLmMKK25hbm9mdHAuYworbmFub2h0dHAuYworQzpccHBjXGxpYnhtbFxYTUxcbmFub2Z0cC5jKDg5MikgOiB3YXJuaW5nIEM0NzYxOiBpbnRlZ3JhbCBzaXplIG1pc21hdGNoIGluIGFyZ3VtZW50OyBjb252ZXJzaW9uIHN1cHBsaWVkCit4aW5jbHVkZS5jCitDOlxwcGNcbGlieG1sXFhNTFxuYW5vaHR0cC5jKDkyMSkgOiB3YXJuaW5nIEM0NzYxOiBpbnRlZ3JhbCBzaXplIG1pc21hdGNoIGluIGFyZ3VtZW50OyBjb252ZXJzaW9uIHN1cHBsaWVkCit4cGF0aC5jCit4cG9pbnRlci5jCitMaW5raW5nLi4uCisgICBDcmVhdGluZyBsaWJyYXJ5IFg4NkVNRGJnL2xpYnhtbDIubGliIGFuZCBvYmplY3QgWDg2RU1EYmcvbGlieG1sMi5leHAKKworCisKKzxoMz5SZXN1bHRzPC9oMz4KK2xpYnhtbDIuZGxsIC0gMCBlcnJvcihzKSwgOCB3YXJuaW5nKHMpCis8L3ByZT4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL2xpYnhtbDIvd2luMzIvd2luY2UvbGlieG1sMi52Y28gYi9saWJ4bWwyL3dpbjMyL3dpbmNlL2xpYnhtbDIudmNvCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM1OTlmMWIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3dpbjMyL3dpbmNlL2xpYnhtbDIudmNvCkBAIC0wLDAgKzEgQEAKK9DPEeChsQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIvd2luMzIvd2luY2UvbGlieG1sMi52Y3AgYi9saWJ4bWwyL3dpbjMyL3dpbmNlL2xpYnhtbDIudmNwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEwMWZiY2QKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3dpbjMyL3dpbmNlL2xpYnhtbDIudmNwCkBAIC0wLDAgKzEsNTI3MyBAQAorIyBNaWNyb3NvZnQgZU1iZWRkZWQgVmlzdWFsIFRvb2xzIFByb2plY3QgRmlsZSAtIE5hbWU9ImxpYnhtbDIiIC0gUGFja2FnZSBPd25lcj08ND4KKyMgTWljcm9zb2Z0IGVNYmVkZGVkIFZpc3VhbCBUb29scyBHZW5lcmF0ZWQgQnVpbGQgRmlsZSwgRm9ybWF0IFZlcnNpb24gNi4wMgorIyAqKiBETyBOT1QgRURJVCAqKgorCisjIFRBUkdUWVBFICJXaW4zMiAoV0NFIFNIMykgRHluYW1pYy1MaW5rIExpYnJhcnkiIDB4ODEwMgorIyBUQVJHVFlQRSAiV2luMzIgKFdDRSB4ODZlbSkgRHluYW1pYy1MaW5rIExpYnJhcnkiIDB4N2YwMgorIyBUQVJHVFlQRSAiV2luMzIgKFdDRSB4ODYpIER5bmFtaWMtTGluayBMaWJyYXJ5IiAweDgzMDIKKyMgVEFSR1RZUEUgIldpbjMyIChXQ0UgQVJNKSBEeW5hbWljLUxpbmsgTGlicmFyeSIgMHg4NTAyCisjIFRBUkdUWVBFICJXaW4zMiAoV0NFIE1JUFMpIER5bmFtaWMtTGluayBMaWJyYXJ5IiAweDgyMDIKKworQ0ZHPWxpYnhtbDIgLSBXaW4zMiAoV0NFIEFSTSkgUmVsZWFzZQorIU1FU1NBR0UgVGhpcyBpcyBub3QgYSB2YWxpZCBtYWtlZmlsZS4gVG8gYnVpbGQgdGhpcyBwcm9qZWN0IHVzaW5nIE5NQUtFLAorIU1FU1NBR0UgdXNlIHRoZSBFeHBvcnQgTWFrZWZpbGUgY29tbWFuZCBhbmQgcnVuCishTUVTU0FHRSAKKyFNRVNTQUdFIE5NQUtFIC9mICJsaWJ4bWwyLnZjbiIuCishTUVTU0FHRSAKKyFNRVNTQUdFIFlvdSBjYW4gc3BlY2lmeSBhIGNvbmZpZ3VyYXRpb24gd2hlbiBydW5uaW5nIE5NQUtFCishTUVTU0FHRSBieSBkZWZpbmluZyB0aGUgbWFjcm8gQ0ZHIG9uIHRoZSBjb21tYW5kIGxpbmUuIEZvciBleGFtcGxlOgorIU1FU1NBR0UgCishTUVTU0FHRSBOTUFLRSAvZiAibGlieG1sMi52Y24iIENGRz0ibGlieG1sMiAtIFdpbjMyIChXQ0UgQVJNKSBSZWxlYXNlIgorIU1FU1NBR0UgCishTUVTU0FHRSBQb3NzaWJsZSBjaG9pY2VzIGZvciBjb25maWd1cmF0aW9uIGFyZToKKyFNRVNTQUdFIAorIU1FU1NBR0UgImxpYnhtbDIgLSBXaW4zMiAoV0NFIEFSTSkgUmVsZWFzZSIgKGJhc2VkIG9uICJXaW4zMiAoV0NFIEFSTSkgRHluYW1pYy1MaW5rIExpYnJhcnkiKQorIU1FU1NBR0UgImxpYnhtbDIgLSBXaW4zMiAoV0NFIEFSTSkgRGVidWciIChiYXNlZCBvbiAiV2luMzIgKFdDRSBBUk0pIER5bmFtaWMtTGluayBMaWJyYXJ5IikKKyFNRVNTQUdFICJsaWJ4bWwyIC0gV2luMzIgKFdDRSB4ODZlbSkgRGVidWciIChiYXNlZCBvbiAiV2luMzIgKFdDRSB4ODZlbSkgRHluYW1pYy1MaW5rIExpYnJhcnkiKQorIU1FU1NBR0UgImxpYnhtbDIgLSBXaW4zMiAoV0NFIE1JUFMpIFJlbGVhc2UiIChiYXNlZCBvbiAiV2luMzIgKFdDRSBNSVBTKSBEeW5hbWljLUxpbmsgTGlicmFyeSIpCishTUVTU0FHRSAibGlieG1sMiAtIFdpbjMyIChXQ0UgU0gzKSBSZWxlYXNlIiAoYmFzZWQgb24gIldpbjMyIChXQ0UgU0gzKSBEeW5hbWljLUxpbmsgTGlicmFyeSIpCishTUVTU0FHRSAibGlieG1sMiAtIFdpbjMyIChXQ0UgeDg2KSBEZWJ1ZyIgKGJhc2VkIG9uICJXaW4zMiAoV0NFIHg4NikgRHluYW1pYy1MaW5rIExpYnJhcnkiKQorIU1FU1NBR0UgCisKKyMgQmVnaW4gUHJvamVjdAorIyBQUk9QIEFsbG93UGVyQ29uZmlnRGVwZW5kZW5jaWVzIDAKKyMgUFJPUCBTY2NfUHJvak5hbWUgIiIKKyMgUFJPUCBTY2NfTG9jYWxQYXRoICIiCisjIFBST1AgQVRMX1Byb2plY3QgMgorCishSUYgICIkKENGRykiID09ICJsaWJ4bWwyIC0gV2luMzIgKFdDRSBBUk0pIFJlbGVhc2UiCisKKyMgUFJPUCBCQVNFIFVzZV9NRkMgMAorIyBQUk9QIEJBU0UgVXNlX0RlYnVnX0xpYnJhcmllcyAwCisjIFBST1AgQkFTRSBPdXRwdXRfRGlyICJBUk1SZWwiCisjIFBST1AgQkFTRSBJbnRlcm1lZGlhdGVfRGlyICJBUk1SZWwiCisjIFBST1AgQkFTRSBDUFVfSUQgIntENjUxOEZGQy03MTBGLTExRDMtOTlGMi0wMDEwNUEwREYwOTl9IgorIyBQUk9QIEJBU0UgUGxhdGZvcm1fSUQgIns4QTlBMkY4MC02ODg3LTExRDMtODQyRS0wMDUwMDQ4NDhDQkF9IgorIyBQUk9QIEJBU0UgVGFyZ2V0X0RpciAiIgorIyBQUk9QIFVzZV9NRkMgMAorIyBQUk9QIFVzZV9EZWJ1Z19MaWJyYXJpZXMgMAorIyBQUk9QIE91dHB1dF9EaXIgIkFSTVJlbCIKKyMgUFJPUCBJbnRlcm1lZGlhdGVfRGlyICJBUk1SZWwiCisjIFBST1AgQ1BVX0lEICJ7RDY1MThGRkMtNzEwRi0xMUQzLTk5RjItMDAxMDVBMERGMDk5fSIKKyMgUFJPUCBQbGF0Zm9ybV9JRCAiezhBOUEyRjgwLTY4ODctMTFEMy04NDJFLTAwNTAwNDg0OENCQX0iCisjIFBST1AgSWdub3JlX0V4cG9ydF9MaWIgMAorIyBQUk9QIFRhcmdldF9EaXIgIiIKK1JTQz1yYy5leGUKKyMgQUREIEJBU0UgUlNDIC9sIDB4NDA5IC9kIFVOREVSX0NFPSQoQ0VWZXJzaW9uKSAvZCBfV0lOMzJfV0NFPSQoQ0VWZXJzaW9uKSAvZCAiVU5JQ09ERSIgL2QgIl9VTklDT0RFIiAvZCAiTkRFQlVHIiAvZCAiJChDZVBsYXRmb3JtKSIgL2QgIkFSTSIgL2QgIl9BUk1fIiAvcgorIyBBREQgUlNDIC9sIDB4NDA5IC9kIFVOREVSX0NFPSQoQ0VWZXJzaW9uKSAvZCBfV0lOMzJfV0NFPSQoQ0VWZXJzaW9uKSAvZCAiVU5JQ09ERSIgL2QgIl9VTklDT0RFIiAvZCAiTkRFQlVHIiAvZCAiJChDZVBsYXRmb3JtKSIgL2QgIkFSTSIgL2QgIl9BUk1fIiAvcgorQ1BQPWNsYXJtLmV4ZQorIyBBREQgQkFTRSBDUFAgL25vbG9nbyAvVzMgL0QgX1dJTjMyX1dDRT0kKENFVmVyc2lvbikgL0QgIiQoQ2VQbGF0Zm9ybSkiIC9EICJBUk0iIC9EICJfQVJNXyIgL0QgVU5ERVJfQ0U9JChDRVZlcnNpb24pIC9EICJVTklDT0RFIiAvRCAiX1VOSUNPREUiIC9EICJOREVCVUciIC9EICJfVVNSRExMIiAvRCAiQ0VETExfRVhQT1JUUyIgL1lYIC9PeHMgL00kKENFQ3J0TVQpIC9jCisjIEFERCBDUFAgL25vbG9nbyAvVzMgL0kgIi4uXC4uXGluY2x1ZGUiIC9JICJjOlxwcGNcbGlieG1sXFhNTFx3aW4zMlx3aW5jZSIgL0QgX1dJTjMyX1dDRT0kKENFVmVyc2lvbikgL0QgIiQoQ2VQbGF0Zm9ybSkiIC9EICJBUk0iIC9EICJfQVJNXyIgL0QgVU5ERVJfQ0U9JChDRVZlcnNpb24pIC9EICJVTklDT0RFIiAvRCAiX1VOSUNPREUiIC9EICJOREVCVUciIC9EICJfVVNSRExMIiAvRCAiQ0VETExfRVhQT1JUUyIgL1lYIC9PeHMgL00kKENFQ3J0TVQpIC9jCitNVEw9bWlkbC5leGUKKyMgQUREIEJBU0UgTVRMIC9ub2xvZ28gL0QgIk5ERUJVRyIgL21rdHlwbGliMjAzIC9vICJOVUwiIC93aW4zMgorIyBBREQgTVRMIC9ub2xvZ28gL0QgIk5ERUJVRyIgL21rdHlwbGliMjAzIC9vICJOVUwiIC93aW4zMgorQlNDMzI9YnNjbWFrZS5leGUKKyMgQUREIEJBU0UgQlNDMzIgL25vbG9nbworIyBBREQgQlNDMzIgL25vbG9nbworTElOSzMyPWxpbmsuZXhlCisjIEFERCBCQVNFIExJTkszMiBjb21tY3RybC5saWIgY29yZWRsbC5saWIgL25vbG9nbyAvYmFzZToiMHgwMDEwMDAwMCIgL3N0YWNrOjB4MTAwMDAsMHgxMDAwIC9lbnRyeToiX0RsbE1haW5DUlRTdGFydHVwIiAvZGxsIC9ub2RlZmF1bHRsaWI6IiQoQ0VOb0RlZmF1bHRMaWIpIiAvc3Vic3lzdGVtOiQoQ0VTdWJzeXN0ZW0pIC9hbGlnbjoiNDA5NiIgL01BQ0hJTkU6QVJNCisjIEFERCBMSU5LMzIgd2luc29jay5saWIgY29tbWN0cmwubGliIGNvcmVkbGwubGliIC9ub2xvZ28gL2Jhc2U6IjB4MDAxMDAwMDAiIC9zdGFjazoweDEwMDAwLDB4MTAwMCAvZW50cnk6Il9EbGxNYWluQ1JUU3RhcnR1cCIgL2RsbCAvbm9kZWZhdWx0bGliOiIkKENFTm9EZWZhdWx0TGliKSIgL3N1YnN5c3RlbTokKENFU3Vic3lzdGVtKSAvYWxpZ246IjQwOTYiIC9NQUNISU5FOkFSTQorCishRUxTRUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgQVJNKSBEZWJ1ZyIKKworIyBQUk9QIEJBU0UgVXNlX01GQyAwCisjIFBST1AgQkFTRSBVc2VfRGVidWdfTGlicmFyaWVzIDEKKyMgUFJPUCBCQVNFIE91dHB1dF9EaXIgIkFSTURiZyIKKyMgUFJPUCBCQVNFIEludGVybWVkaWF0ZV9EaXIgIkFSTURiZyIKKyMgUFJPUCBCQVNFIENQVV9JRCAie0Q2NTE4RkZDLTcxMEYtMTFEMy05OUYyLTAwMTA1QTBERjA5OX0iCisjIFBST1AgQkFTRSBQbGF0Zm9ybV9JRCAiezhBOUEyRjgwLTY4ODctMTFEMy04NDJFLTAwNTAwNDg0OENCQX0iCisjIFBST1AgQkFTRSBUYXJnZXRfRGlyICIiCisjIFBST1AgVXNlX01GQyAwCisjIFBST1AgVXNlX0RlYnVnX0xpYnJhcmllcyAxCisjIFBST1AgT3V0cHV0X0RpciAiQVJNRGJnIgorIyBQUk9QIEludGVybWVkaWF0ZV9EaXIgIkFSTURiZyIKKyMgUFJPUCBDUFVfSUQgIntENjUxOEZGQy03MTBGLTExRDMtOTlGMi0wMDEwNUEwREYwOTl9IgorIyBQUk9QIFBsYXRmb3JtX0lEICJ7OEE5QTJGODAtNjg4Ny0xMUQzLTg0MkUtMDA1MDA0ODQ4Q0JBfSIKKyMgUFJPUCBJZ25vcmVfRXhwb3J0X0xpYiAwCisjIFBST1AgVGFyZ2V0X0RpciAiIgorUlNDPXJjLmV4ZQorIyBBREQgQkFTRSBSU0MgL2wgMHg0MDkgL2QgVU5ERVJfQ0U9JChDRVZlcnNpb24pIC9kIF9XSU4zMl9XQ0U9JChDRVZlcnNpb24pIC9kICJVTklDT0RFIiAvZCAiX1VOSUNPREUiIC9kICJERUJVRyIgL2QgIiQoQ2VQbGF0Zm9ybSkiIC9kICJBUk0iIC9kICJfQVJNXyIgL3IKKyMgQUREIFJTQyAvbCAweDQwOSAvZCBVTkRFUl9DRT0kKENFVmVyc2lvbikgL2QgX1dJTjMyX1dDRT0kKENFVmVyc2lvbikgL2QgIlVOSUNPREUiIC9kICJfVU5JQ09ERSIgL2QgIkRFQlVHIiAvZCAiJChDZVBsYXRmb3JtKSIgL2QgIkFSTSIgL2QgIl9BUk1fIiAvcgorQ1BQPWNsYXJtLmV4ZQorIyBBREQgQkFTRSBDUFAgL25vbG9nbyAvVzMgL0QgX1dJTjMyX1dDRT0kKENFVmVyc2lvbikgL0QgIiQoQ2VQbGF0Zm9ybSkiIC9EICJBUk0iIC9EICJfQVJNXyIgL0QgVU5ERVJfQ0U9JChDRVZlcnNpb24pIC9EICJVTklDT0RFIiAvRCAiX1VOSUNPREUiIC9EICJERUJVRyIgL0QgIl9VU1JETEwiIC9EICJDRURMTF9FWFBPUlRTIiAvWVggL094cyAvTSQoQ0VDcnRNVCkgL2MKKyMgQUREIENQUCAvbm9sb2dvIC9XMyAvSSAiLi5cLi5caW5jbHVkZSIgL0kgImM6XHBwY1xsaWJ4bWxcWE1MXHdpbjMyXHdpbmNlIiAvRCBfV0lOMzJfV0NFPSQoQ0VWZXJzaW9uKSAvRCAiJChDZVBsYXRmb3JtKSIgL0QgIkFSTSIgL0QgIl9BUk1fIiAvRCBVTkRFUl9DRT0kKENFVmVyc2lvbikgL0QgIlVOSUNPREUiIC9EICJfVU5JQ09ERSIgL0QgIkRFQlVHIiAvRCAiX1VTUkRMTCIgL0QgIkNFRExMX0VYUE9SVFMiIC9PeHMgL00kKENFQ3J0TVQpIC9jCisjIFNVQlRSQUNUIENQUCAvWVgKK01UTD1taWRsLmV4ZQorIyBBREQgQkFTRSBNVEwgL25vbG9nbyAvRCAiX0RFQlVHIiAvbWt0eXBsaWIyMDMgL28gIk5VTCIgL3dpbjMyCisjIEFERCBNVEwgL25vbG9nbyAvRCAiX0RFQlVHIiAvbWt0eXBsaWIyMDMgL28gIk5VTCIgL3dpbjMyCitCU0MzMj1ic2NtYWtlLmV4ZQorIyBBREQgQkFTRSBCU0MzMiAvbm9sb2dvCisjIEFERCBCU0MzMiAvbm9sb2dvCitMSU5LMzI9bGluay5leGUKKyMgQUREIEJBU0UgTElOSzMyIGNvbW1jdHJsLmxpYiBjb3JlZGxsLmxpYiAvbm9sb2dvIC9iYXNlOiIweDAwMTAwMDAwIiAvc3RhY2s6MHgxMDAwMCwweDEwMDAgL2VudHJ5OiJfRGxsTWFpbkNSVFN0YXJ0dXAiIC9kbGwgL2RlYnVnIC9ub2RlZmF1bHRsaWI6IiQoQ0VOb0RlZmF1bHRMaWIpIiAvc3Vic3lzdGVtOiQoQ0VTdWJzeXN0ZW0pIC9hbGlnbjoiNDA5NiIgL01BQ0hJTkU6QVJNCisjIEFERCBMSU5LMzIgd2luc29jay5saWIgY29tbWN0cmwubGliIGNvcmVkbGwubGliIC9ub2xvZ28gL2Jhc2U6IjB4MDAxMDAwMDAiIC9zdGFjazoweDEwMDAwLDB4MTAwMCAvZW50cnk6Il9EbGxNYWluQ1JUU3RhcnR1cCIgL2RsbCAvZGVidWcgL25vZGVmYXVsdGxpYjoiJChDRU5vRGVmYXVsdExpYikiIC9zdWJzeXN0ZW06JChDRVN1YnN5c3RlbSkgL2FsaWduOiI0MDk2IiAvTUFDSElORTpBUk0KKworIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gImxpYnhtbDIgLSBXaW4zMiAoV0NFIHg4NmVtKSBEZWJ1ZyIKKworIyBQUk9QIEJBU0UgVXNlX01GQyAwCisjIFBST1AgQkFTRSBVc2VfRGVidWdfTGlicmFyaWVzIDEKKyMgUFJPUCBCQVNFIE91dHB1dF9EaXIgIlg4NkVNRGJnIgorIyBQUk9QIEJBU0UgSW50ZXJtZWRpYXRlX0RpciAiWDg2RU1EYmciCisjIFBST1AgQkFTRSBDUFVfSUQgIntENjUxOEZGNC03MTBGLTExRDMtOTlGMi0wMDEwNUEwREYwOTl9IgorIyBQUk9QIEJBU0UgUGxhdGZvcm1fSUQgIns4QTlBMkY4MC02ODg3LTExRDMtODQyRS0wMDUwMDQ4NDhDQkF9IgorIyBQUk9QIEJBU0UgVGFyZ2V0X0RpciAiIgorIyBQUk9QIFVzZV9NRkMgMAorIyBQUk9QIFVzZV9EZWJ1Z19MaWJyYXJpZXMgMQorIyBQUk9QIE91dHB1dF9EaXIgIlg4NkVNRGJnIgorIyBQUk9QIEludGVybWVkaWF0ZV9EaXIgIlg4NkVNRGJnIgorIyBQUk9QIENQVV9JRCAie0Q2NTE4RkY0LTcxMEYtMTFEMy05OUYyLTAwMTA1QTBERjA5OX0iCisjIFBST1AgUGxhdGZvcm1fSUQgIns4QTlBMkY4MC02ODg3LTExRDMtODQyRS0wMDUwMDQ4NDhDQkF9IgorIyBQUk9QIElnbm9yZV9FeHBvcnRfTGliIDAKKyMgUFJPUCBUYXJnZXRfRGlyICIiCitSU0M9cmMuZXhlCisjIEFERCBCQVNFIFJTQyAvbCAweDQwOSAvZCBVTkRFUl9DRT0kKENFVmVyc2lvbikgL2QgX1dJTjMyX1dDRT0kKENFVmVyc2lvbikgL2QgIlVOSUNPREUiIC9kICJfVU5JQ09ERSIgL2QgIkRFQlVHIiAvZCAiJChDZVBsYXRmb3JtKSIgL2QgIl9YODZfIiAvZCAieDg2IiAvZCAiaTQ4NiIgL3IKKyMgQUREIFJTQyAvbCAweDQwOSAvZCBVTkRFUl9DRT0kKENFVmVyc2lvbikgL2QgX1dJTjMyX1dDRT0kKENFVmVyc2lvbikgL2QgIlVOSUNPREUiIC9kICJfVU5JQ09ERSIgL2QgIkRFQlVHIiAvZCAiJChDZVBsYXRmb3JtKSIgL2QgIl9YODZfIiAvZCAieDg2IiAvZCAiaTQ4NiIgL3IKK0NQUD1jbC5leGUKKyMgQUREIEJBU0UgQ1BQIC9ub2xvZ28gL1czIC9aaSAvT2QgL0QgIkRFQlVHIiAvRCBfV0lOMzJfV0NFPSQoQ0VWZXJzaW9uKSAvRCAiV0lOMzIiIC9EICJTVFJJQ1QiIC9EICJfV0lOMzJfV0NFX0VNVUxBVElPTiIgL0QgIklOVEVSTkFUSU9OQUwiIC9EICJVU0EiIC9EICJJTlRMTVNHX0NPREVQQUdFIiAvRCAiJChDZVBsYXRmb3JtKSIgL0QgImk0ODYiIC9EIFVOREVSX0NFPSQoQ0VWZXJzaW9uKSAvRCAiVU5JQ09ERSIgL0QgIl9VTklDT0RFIiAvRCAiX1g4Nl8iIC9EICJ4ODYiIC9ZWCAvR3ogL2MKKyMgQUREIENQUCAvbm9sb2dvIC9XMyAvWmkgL09kIC9JICIuLlwuLlwuLlxpbmNsdWRlIiAvSSAiLi5cLi5caW5jbHVkZSIgL0kgImM6XHBwY1xsaWJ4bWxcWE1MXHdpbjMyXHdpbmNlIiAvRCAiREVCVUciIC9EIF9XSU4zMl9XQ0U9JChDRVZlcnNpb24pIC9EICJXSU4zMiIgL0QgIlNUUklDVCIgL0QgIl9XSU4zMl9XQ0VfRU1VTEFUSU9OIiAvRCAiSU5URVJOQVRJT05BTCIgL0QgIlVTQSIgL0QgIklOVExNU0dfQ09ERVBBR0UiIC9EICIkKENlUGxhdGZvcm0pIiAvRCAiaTQ4NiIgL0QgVU5ERVJfQ0U9JChDRVZlcnNpb24pIC9EICJVTklDT0RFIiAvRCAiX1VOSUNPREUiIC9EICJfWDg2XyIgL0QgIng4NiIgL1lYIC9HeiAvYworTVRMPW1pZGwuZXhlCisjIEFERCBCQVNFIE1UTCAvbm9sb2dvIC9EICJfREVCVUciIC9ta3R5cGxpYjIwMyAvbyAiTlVMIiAvd2luMzIKKyMgQUREIE1UTCAvbm9sb2dvIC9EICJfREVCVUciIC9ta3R5cGxpYjIwMyAvbyAiTlVMIiAvd2luMzIKK0JTQzMyPWJzY21ha2UuZXhlCisjIEFERCBCQVNFIEJTQzMyIC9ub2xvZ28KKyMgQUREIEJTQzMyIC9ub2xvZ28KK0xJTkszMj1saW5rLmV4ZQorIyBBREQgQkFTRSBMSU5LMzIgY29tbWN0cmwubGliIGNvcmVkbGwubGliICQoQ0V4ODZDb3JlbGliYykgL25vbG9nbyAvc3RhY2s6MHgxMDAwMCwweDEwMDAgL2RsbCAvZGVidWcgL25vZGVmYXVsdGxpYjoiT0xETkFNRVMubGliIiAvbm9kZWZhdWx0bGliOiQoQ0VOb0RlZmF1bHRMaWIpIC93aW5kb3dzY2U6ZW11bGF0aW9uIC9NQUNISU5FOklYODYKKyMgQUREIExJTkszMiAkKENFeDg2Q29yZWxpYmMpIHdpbnNvY2subGliIGNvbW1jdHJsLmxpYiBjb3JlZGxsLmxpYiAvbm9sb2dvIC9zdGFjazoweDEwMDAwLDB4MTAwMCAvZGxsIC9kZWJ1ZyAvbm9kZWZhdWx0bGliOiJPTEROQU1FUy5saWIiIC9ub2RlZmF1bHRsaWI6JChDRU5vRGVmYXVsdExpYikgL3dpbmRvd3NjZTplbXVsYXRpb24gL01BQ0hJTkU6SVg4NgorCishRUxTRUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgTUlQUykgUmVsZWFzZSIKKworIyBQUk9QIEJBU0UgVXNlX01GQyAwCisjIFBST1AgQkFTRSBVc2VfRGVidWdfTGlicmFyaWVzIDAKKyMgUFJPUCBCQVNFIE91dHB1dF9EaXIgIk1JUFNSZWwiCisjIFBST1AgQkFTRSBJbnRlcm1lZGlhdGVfRGlyICJNSVBTUmVsIgorIyBQUk9QIEJBU0UgQ1BVX0lEICJ7RDY1MTkwMTAtNzEwRi0xMUQzLTk5RjItMDAxMDVBMERGMDk5fSIKKyMgUFJPUCBCQVNFIFBsYXRmb3JtX0lEICJ7OEE5QTJGODAtNjg4Ny0xMUQzLTg0MkUtMDA1MDA0ODQ4Q0JBfSIKKyMgUFJPUCBCQVNFIFRhcmdldF9EaXIgIiIKKyMgUFJPUCBVc2VfTUZDIDAKKyMgUFJPUCBVc2VfRGVidWdfTGlicmFyaWVzIDAKKyMgUFJPUCBPdXRwdXRfRGlyICJNSVBTUmVsIgorIyBQUk9QIEludGVybWVkaWF0ZV9EaXIgIk1JUFNSZWwiCisjIFBST1AgQ1BVX0lEICJ7RDY1MTkwMTAtNzEwRi0xMUQzLTk5RjItMDAxMDVBMERGMDk5fSIKKyMgUFJPUCBQbGF0Zm9ybV9JRCAiezhBOUEyRjgwLTY4ODctMTFEMy04NDJFLTAwNTAwNDg0OENCQX0iCisjIFBST1AgSWdub3JlX0V4cG9ydF9MaWIgMAorIyBQUk9QIFRhcmdldF9EaXIgIiIKK1JTQz1yYy5leGUKKyMgQUREIEJBU0UgUlNDIC9sIDB4NDA5IC9kIFVOREVSX0NFPSQoQ0VWZXJzaW9uKSAvZCBfV0lOMzJfV0NFPSQoQ0VWZXJzaW9uKSAvZCAiVU5JQ09ERSIgL2QgIl9VTklDT0RFIiAvZCAiTkRFQlVHIiAvZCAiJChDZVBsYXRmb3JtKSIgL2QgIk1JUFMiIC9kICJfTUlQU18iIC9yCisjIEFERCBSU0MgL2wgMHg0MDkgL2QgVU5ERVJfQ0U9JChDRVZlcnNpb24pIC9kIF9XSU4zMl9XQ0U9JChDRVZlcnNpb24pIC9kICJVTklDT0RFIiAvZCAiX1VOSUNPREUiIC9kICJOREVCVUciIC9kICIkKENlUGxhdGZvcm0pIiAvZCAiTUlQUyIgL2QgIl9NSVBTXyIgL3IKK0NQUD1jbG1pcHMuZXhlCisjIEFERCBCQVNFIENQUCAvbm9sb2dvIC9XMyAvRCBfV0lOMzJfV0NFPSQoQ0VWZXJzaW9uKSAvRCAiJChDZVBsYXRmb3JtKSIgL0QgIk1JUFMiIC9EICJfTUlQU18iIC9EIFVOREVSX0NFPSQoQ0VWZXJzaW9uKSAvRCAiVU5JQ09ERSIgL0QgIl9VTklDT0RFIiAvRCAiTkRFQlVHIiAvWVggL094cyAvTSQoQ0VDcnRNVCkgL2MKKyMgQUREIENQUCAvbm9sb2dvIC9XMyAvSSAiLi5cLi5caW5jbHVkZSIgL0kgImM6XHBwY1xsaWJ4bWxcWE1MXHdpbjMyXHdpbmNlIiAvRCBfV0lOMzJfV0NFPSQoQ0VWZXJzaW9uKSAvRCAiJChDZVBsYXRmb3JtKSIgL0QgIk1JUFMiIC9EICJfTUlQU18iIC9EIFVOREVSX0NFPSQoQ0VWZXJzaW9uKSAvRCAiVU5JQ09ERSIgL0QgIl9VTklDT0RFIiAvRCAiTkRFQlVHIiAvWVggL094cyAvTSQoQ0VDcnRNVCkgL2MKK01UTD1taWRsLmV4ZQorIyBBREQgQkFTRSBNVEwgL25vbG9nbyAvRCAiTkRFQlVHIiAvbWt0eXBsaWIyMDMgL28gIk5VTCIgL3dpbjMyCisjIEFERCBNVEwgL25vbG9nbyAvRCAiTkRFQlVHIiAvbWt0eXBsaWIyMDMgL28gIk5VTCIgL3dpbjMyCitCU0MzMj1ic2NtYWtlLmV4ZQorIyBBREQgQkFTRSBCU0MzMiAvbm9sb2dvCisjIEFERCBCU0MzMiAvbm9sb2dvCitMSU5LMzI9bGluay5leGUKKyMgQUREIEJBU0UgTElOSzMyIGNvbW1jdHJsLmxpYiBjb3JlZGxsLmxpYiAvbm9sb2dvIC9iYXNlOiIweDAwMTAwMDAwIiAvc3RhY2s6MHgxMDAwMCwweDEwMDAgL2VudHJ5OiJfRGxsTWFpbkNSVFN0YXJ0dXAiIC9kbGwgL25vZGVmYXVsdGxpYjoiJChDRU5vRGVmYXVsdExpYikiIC9zdWJzeXN0ZW06JChDRVN1YnN5c3RlbSkgL01BQ0hJTkU6TUlQUworIyBBREQgTElOSzMyIGNvbW1jdHJsLmxpYiBjb3JlZGxsLmxpYiB3aW5zb2NrLmxpYiAvbm9sb2dvIC9iYXNlOiIweDAwMTAwMDAwIiAvc3RhY2s6MHgxMDAwMCwweDEwMDAgL2VudHJ5OiJfRGxsTWFpbkNSVFN0YXJ0dXAiIC9kbGwgL25vZGVmYXVsdGxpYjoiJChDRU5vRGVmYXVsdExpYikiIC9zdWJzeXN0ZW06JChDRVN1YnN5c3RlbSkgL01BQ0hJTkU6TUlQUworCishRUxTRUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgU0gzKSBSZWxlYXNlIgorCisjIFBST1AgQkFTRSBVc2VfTUZDIDAKKyMgUFJPUCBCQVNFIFVzZV9EZWJ1Z19MaWJyYXJpZXMgMAorIyBQUk9QIEJBU0UgT3V0cHV0X0RpciAiU0gzUmVsIgorIyBQUk9QIEJBU0UgSW50ZXJtZWRpYXRlX0RpciAiU0gzUmVsIgorIyBQUk9QIEJBU0UgQ1BVX0lEICJ7RDY1MTkwMjAtNzEwRi0xMUQzLTk5RjItMDAxMDVBMERGMDk5fSIKKyMgUFJPUCBCQVNFIFBsYXRmb3JtX0lEICJ7OEE5QTJGODAtNjg4Ny0xMUQzLTg0MkUtMDA1MDA0ODQ4Q0JBfSIKKyMgUFJPUCBCQVNFIFRhcmdldF9EaXIgIiIKKyMgUFJPUCBVc2VfTUZDIDAKKyMgUFJPUCBVc2VfRGVidWdfTGlicmFyaWVzIDAKKyMgUFJPUCBPdXRwdXRfRGlyICJTSDNSZWwiCisjIFBST1AgSW50ZXJtZWRpYXRlX0RpciAiU0gzUmVsIgorIyBQUk9QIENQVV9JRCAie0Q2NTE5MDIwLTcxMEYtMTFEMy05OUYyLTAwMTA1QTBERjA5OX0iCisjIFBST1AgUGxhdGZvcm1fSUQgIns4QTlBMkY4MC02ODg3LTExRDMtODQyRS0wMDUwMDQ4NDhDQkF9IgorIyBQUk9QIFRhcmdldF9EaXIgIiIKK1JTQz1yYy5leGUKKyMgQUREIEJBU0UgUlNDIC9sIDB4NDA5IC9kIFVOREVSX0NFPSQoQ0VWZXJzaW9uKSAvZCBfV0lOMzJfV0NFPSQoQ0VWZXJzaW9uKSAvZCAiVU5JQ09ERSIgL2QgIl9VTklDT0RFIiAvZCAiTkRFQlVHIiAvZCAiJChDZVBsYXRmb3JtKSIgL2QgIlNIeCIgL2QgIlNIMyIgL2QgIl9TSDNfIiAvcgorIyBBREQgUlNDIC9sIDB4NDA5IC9kIFVOREVSX0NFPSQoQ0VWZXJzaW9uKSAvZCBfV0lOMzJfV0NFPSQoQ0VWZXJzaW9uKSAvZCAiVU5JQ09ERSIgL2QgIl9VTklDT0RFIiAvZCAiTkRFQlVHIiAvZCAiJChDZVBsYXRmb3JtKSIgL2QgIlNIeCIgL2QgIlNIMyIgL2QgIl9TSDNfIiAvcgorQ1BQPXNoY2wuZXhlCisjIEFERCBCQVNFIENQUCAvbm9sb2dvIC9XMyAvRCBfV0lOMzJfV0NFPSQoQ0VWZXJzaW9uKSAvRCAiJChDZVBsYXRmb3JtKSIgL0QgIlNIeCIgL0QgIlNIMyIgL0QgIl9TSDNfIiAvRCBVTkRFUl9DRT0kKENFVmVyc2lvbikgL0QgIlVOSUNPREUiIC9EICJfVU5JQ09ERSIgL0QgIk5ERUJVRyIgL1lYIC9PeHMgL00kKENFQ3J0TVQpIC9jCisjIEFERCBDUFAgL25vbG9nbyAvVzMgL0kgIi4uXC4uXGluY2x1ZGUiIC9JICJjOlxwcGNcbGlieG1sXFhNTFx3aW4zMlx3aW5jZSIgL0QgX1dJTjMyX1dDRT0kKENFVmVyc2lvbikgL0QgIiQoQ2VQbGF0Zm9ybSkiIC9EICJTSHgiIC9EICJTSDMiIC9EICJfU0gzXyIgL0QgVU5ERVJfQ0U9JChDRVZlcnNpb24pIC9EICJVTklDT0RFIiAvRCAiX1VOSUNPREUiIC9EICJOREVCVUciIC9ZWCAvT3hzIC9NJChDRUNydE1UKSAvYworTVRMPW1pZGwuZXhlCisjIEFERCBCQVNFIE1UTCAvbm9sb2dvIC9EICJOREVCVUciIC9ta3R5cGxpYjIwMyAvbyAiTlVMIiAvd2luMzIKKyMgQUREIE1UTCAvbm9sb2dvIC9EICJOREVCVUciIC9ta3R5cGxpYjIwMyAvbyAiTlVMIiAvd2luMzIKK0JTQzMyPWJzY21ha2UuZXhlCisjIEFERCBCQVNFIEJTQzMyIC9ub2xvZ28KKyMgQUREIEJTQzMyIC9ub2xvZ28KK0xJTkszMj1saW5rLmV4ZQorIyBBREQgQkFTRSBMSU5LMzIgY29tbWN0cmwubGliIGNvcmVkbGwubGliIC9ub2xvZ28gL2Jhc2U6IjB4MDAxMDAwMDAiIC9zdGFjazoweDEwMDAwLDB4MTAwMCAvZW50cnk6Il9EbGxNYWluQ1JUU3RhcnR1cCIgL2RsbCAvbm9kZWZhdWx0bGliOiIkKENFTm9EZWZhdWx0TGliKSIgL3N1YnN5c3RlbTokKENFU3Vic3lzdGVtKSAvTUFDSElORTpTSDMKKyMgQUREIExJTkszMiBjb21tY3RybC5saWIgY29yZWRsbC5saWIgd2luc29jay5saWIgL25vbG9nbyAvYmFzZToiMHgwMDEwMDAwMCIgL3N0YWNrOjB4MTAwMDAsMHgxMDAwIC9lbnRyeToiX0RsbE1haW5DUlRTdGFydHVwIiAvZGxsIC9ub2RlZmF1bHRsaWI6IiQoQ0VOb0RlZmF1bHRMaWIpIiAvc3Vic3lzdGVtOiQoQ0VTdWJzeXN0ZW0pIC9NQUNISU5FOlNIMworCishRUxTRUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgeDg2KSBEZWJ1ZyIKKworIyBQUk9QIEJBU0UgVXNlX01GQyAwCisjIFBST1AgQkFTRSBVc2VfRGVidWdfTGlicmFyaWVzIDEKKyMgUFJPUCBCQVNFIE91dHB1dF9EaXIgIlg4NkRiZyIKKyMgUFJPUCBCQVNFIEludGVybWVkaWF0ZV9EaXIgIlg4NkRiZyIKKyMgUFJPUCBCQVNFIENQVV9JRCAie0Q2NTE4RkYzLTcxMEYtMTFEMy05OUYyLTAwMTA1QTBERjA5OX0iCisjIFBST1AgQkFTRSBQbGF0Zm9ybV9JRCAiezhBOUEyRjgwLTY4ODctMTFEMy04NDJFLTAwNTAwNDg0OENCQX0iCisjIFBST1AgQkFTRSBUYXJnZXRfRGlyICIiCisjIFBST1AgVXNlX01GQyAwCisjIFBST1AgVXNlX0RlYnVnX0xpYnJhcmllcyAxCisjIFBST1AgT3V0cHV0X0RpciAiWDg2RGJnIgorIyBQUk9QIEludGVybWVkaWF0ZV9EaXIgIlg4NkRiZyIKKyMgUFJPUCBDUFVfSUQgIntENjUxOEZGMy03MTBGLTExRDMtOTlGMi0wMDEwNUEwREYwOTl9IgorIyBQUk9QIFBsYXRmb3JtX0lEICJ7OEE5QTJGODAtNjg4Ny0xMUQzLTg0MkUtMDA1MDA0ODQ4Q0JBfSIKKyMgUFJPUCBJZ25vcmVfRXhwb3J0X0xpYiAwCisjIFBST1AgVGFyZ2V0X0RpciAiIgorUlNDPXJjLmV4ZQorIyBBREQgQkFTRSBSU0MgL2wgMHg0MDkgL2QgVU5ERVJfQ0U9JChDRVZlcnNpb24pIC9kIF9XSU4zMl9XQ0U9JChDRVZlcnNpb24pIC9kICJVTklDT0RFIiAvZCAiX1VOSUNPREUiIC9kICJERUJVRyIgL2QgIiQoQ2VQbGF0Zm9ybSkiIC9kICJfWDg2XyIgL2QgIng4NiIgL2QgIl9pMzg2XyIgL3IKKyMgQUREIFJTQyAvbCAweDQwOSAvZCBVTkRFUl9DRT0kKENFVmVyc2lvbikgL2QgX1dJTjMyX1dDRT0kKENFVmVyc2lvbikgL2QgIlVOSUNPREUiIC9kICJfVU5JQ09ERSIgL2QgIkRFQlVHIiAvZCAiJChDZVBsYXRmb3JtKSIgL2QgIl9YODZfIiAvZCAieDg2IiAvZCAiX2kzODZfIiAvcgorQ1BQPWNsLmV4ZQorIyBBREQgQkFTRSBDUFAgL25vbG9nbyAvVzMgL1ppIC9PZCAvRCAiREVCVUciIC9EIF9XSU4zMl9XQ0U9JChDRVZlcnNpb24pIC9EICIkKENlUGxhdGZvcm0pIiAvRCAiX2kzODZfIiAvRCBVTkRFUl9DRT0kKENFVmVyc2lvbikgL0QgIlVOSUNPREUiIC9EICJfVU5JQ09ERSIgL0QgIl9YODZfIiAvRCAieDg2IiAvWVggL0dzODE5MiAvR0YgL2MKKyMgQUREIENQUCAvbm9sb2dvIC9XMyAvWmkgL09kIC9JICIuLlwuLlxpbmNsdWRlIiAvSSAiYzpccHBjXGxpYnhtbFxYTUxcd2luMzJcd2luY2UiIC9EICJERUJVRyIgL0QgX1dJTjMyX1dDRT0kKENFVmVyc2lvbikgL0QgIiQoQ2VQbGF0Zm9ybSkiIC9EICJfaTM4Nl8iIC9EIFVOREVSX0NFPSQoQ0VWZXJzaW9uKSAvRCAiVU5JQ09ERSIgL0QgIl9VTklDT0RFIiAvRCAiX1g4Nl8iIC9EICJ4ODYiIC9ZWCAvR3M4MTkyIC9HRiAvYworTVRMPW1pZGwuZXhlCisjIEFERCBCQVNFIE1UTCAvbm9sb2dvIC9EICJfREVCVUciIC9ta3R5cGxpYjIwMyAvbyAiTlVMIiAvd2luMzIKKyMgQUREIE1UTCAvbm9sb2dvIC9EICJfREVCVUciIC9ta3R5cGxpYjIwMyAvbyAiTlVMIiAvd2luMzIKK0JTQzMyPWJzY21ha2UuZXhlCisjIEFERCBCQVNFIEJTQzMyIC9ub2xvZ28KKyMgQUREIEJTQzMyIC9ub2xvZ28KK0xJTkszMj1saW5rLmV4ZQorIyBBREQgQkFTRSBMSU5LMzIgY29tbWN0cmwubGliIGNvcmVkbGwubGliICQoQ0V4ODZDb3JlbGliYykgL25vbG9nbyAvYmFzZToiMHgwMDEwMDAwMCIgL3N0YWNrOjB4MTAwMDAsMHgxMDAwIC9lbnRyeToiX0RsbE1haW5DUlRTdGFydHVwIiAvZGxsIC9kZWJ1ZyAvbm9kZWZhdWx0bGliOiJPTEROQU1FUy5saWIiIC9ub2RlZmF1bHRsaWI6JChDRU5vRGVmYXVsdExpYikgL3N1YnN5c3RlbTokKENFU3Vic3lzdGVtKSAvTUFDSElORTpJWDg2CisjIEFERCBMSU5LMzIgY29tbWN0cmwubGliIGNvcmVkbGwubGliICQoQ0V4ODZDb3JlbGliYykgd2luc29jay5saWIgL25vbG9nbyAvYmFzZToiMHgwMDEwMDAwMCIgL3N0YWNrOjB4MTAwMDAsMHgxMDAwIC9lbnRyeToiX0RsbE1haW5DUlRTdGFydHVwIiAvZGxsIC9kZWJ1ZyAvbm9kZWZhdWx0bGliOiJPTEROQU1FUy5saWIiIC9ub2RlZmF1bHRsaWI6JChDRU5vRGVmYXVsdExpYikgL3N1YnN5c3RlbTokKENFU3Vic3lzdGVtKSAvTUFDSElORTpJWDg2CisKKyFFTkRJRiAKKworIyBCZWdpbiBUYXJnZXQKKworIyBOYW1lICJsaWJ4bWwyIC0gV2luMzIgKFdDRSBBUk0pIFJlbGVhc2UiCisjIE5hbWUgImxpYnhtbDIgLSBXaW4zMiAoV0NFIEFSTSkgRGVidWciCisjIE5hbWUgImxpYnhtbDIgLSBXaW4zMiAoV0NFIHg4NmVtKSBEZWJ1ZyIKKyMgTmFtZSAibGlieG1sMiAtIFdpbjMyIChXQ0UgTUlQUykgUmVsZWFzZSIKKyMgTmFtZSAibGlieG1sMiAtIFdpbjMyIChXQ0UgU0gzKSBSZWxlYXNlIgorIyBOYW1lICJsaWJ4bWwyIC0gV2luMzIgKFdDRSB4ODYpIERlYnVnIgorIyBCZWdpbiBHcm91cCAiU291cmNlIEZpbGVzIgorCisjIFBST1AgRGVmYXVsdF9GaWx0ZXIgImNwcDtjO2N4eDtyYztkZWY7cjtvZGw7aWRsO2hwajtiYXQiCisjIEJlZ2luIFNvdXJjZSBGaWxlCisKK1NPVVJDRT0uLlwuLlxjMTRuLmMKKworIUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgQVJNKSBSZWxlYXNlIgorCitERVBfQ1BQX0MxNE5fPVwKKwkiLi5cLi5cY29uZmlnLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxjMTRuLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbmNvZGluZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW50aXRpZXMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGdsb2JhbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGhhc2guaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGxpc3QuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcU0FYLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0aHJlYWRzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0cmVlLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx1cmkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHZhbGlkLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bGluay5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sZXJyb3IuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbElPLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxtZW1vcnkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHdpbjMydmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceHBhdGguaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhwYXRoSW50ZXJuYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXHdpbjMyY29uZmlnLmgiXAorCSIuLlwuLlxpbmNsdWRlXHdpbkNFY29uZmlnLmgiXAorCSIuLlwuLlxsaWJ4bWwuaCJcCisJIi4uXC4uXHRyaW8uaCJcCisJIi5cd2luY2Vjb21wYXQuaCJcCisJCitOT0RFUF9DUFBfQzE0Tl89XAorCSIuLlwuLlxjb25maWctbWFjLmgiXAorCQorCishRUxTRUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgQVJNKSBEZWJ1ZyIKKworIyBQUk9QIEV4Y2x1ZGVfRnJvbV9CdWlsZCAxCitERVBfQ1BQX0MxNE5fPVwKKwkiLi5cLi5cY29uZmlnLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxjMTRuLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbmNvZGluZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW50aXRpZXMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGdsb2JhbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGhhc2guaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGxpc3QuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcU0FYLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0aHJlYWRzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0cmVlLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx1cmkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHZhbGlkLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bGluay5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sZXJyb3IuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbElPLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxtZW1vcnkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHdpbjMydmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceHBhdGguaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhwYXRoSW50ZXJuYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXHdpbjMyY29uZmlnLmgiXAorCSIuLlwuLlxsaWJ4bWwuaCJcCisJIi4uXC4uXHRyaW8uaCJcCisJIi5cd2luY2Vjb21wYXQuaCJcCisJCitOT0RFUF9DUFBfQzE0Tl89XAorCSIuLlwuLlxjb25maWctbWFjLmgiXAorCQorCishRUxTRUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgeDg2ZW0pIERlYnVnIgorCitERVBfQ1BQX0MxNE5fPVwKKwkiLi5cLi5cY29uZmlnLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxjMTRuLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbmNvZGluZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW50aXRpZXMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGdsb2JhbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGhhc2guaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGxpc3QuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcU0FYLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0aHJlYWRzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0cmVlLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx1cmkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHZhbGlkLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bGluay5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sZXJyb3IuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbElPLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxtZW1vcnkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHdpbjMydmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceHBhdGguaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhwYXRoSW50ZXJuYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXHdpbjMyY29uZmlnLmgiXAorCSIuLlwuLlxsaWJ4bWwuaCJcCisJIi4uXC4uXHRyaW8uaCJcCisJIi5cd2luY2Vjb21wYXQuaCJcCisJCitOT0RFUF9DUFBfQzE0Tl89XAorCSIuLlwuLlxjb25maWctbWFjLmgiXAorCQorCishRUxTRUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgTUlQUykgUmVsZWFzZSIKKworREVQX0NQUF9DMTROXz1cCisJIi4uXC4uXGNvbmZpZy5oIlwKKwkiLi5cLi5cbGlieG1sLmgiXAorCSIuLlwuLlx0cmlvLmgiXAorCQorTk9ERVBfQ1BQX0MxNE5fPVwKKwkiLi5cLi5cY29uZmlnLW1hYy5oIlwKKwkiLi5cLi5cd2luMzJjb25maWcuaCJcCisJIi4uXC4uXHdpbkNFY29uZmlnLmgiXAorCQorCishRUxTRUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgU0gzKSBSZWxlYXNlIgorCitERVBfQ1BQX0MxNE5fPVwKKwkiLi5cLi5cY29uZmlnLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxjMTRuLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbmNvZGluZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW50aXRpZXMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGdsb2JhbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGhhc2guaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGxpc3QuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcU0FYLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0aHJlYWRzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0cmVlLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx1cmkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHZhbGlkLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bGluay5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sZXJyb3IuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbElPLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxtZW1vcnkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHdpbjMydmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceHBhdGguaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhwYXRoSW50ZXJuYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXHdpbjMyY29uZmlnLmgiXAorCSIuLlwuLlxsaWJ4bWwuaCJcCisJIi4uXC4uXHRyaW8uaCJcCisJIi5cd2luY2Vjb21wYXQuaCJcCisJCitOT0RFUF9DUFBfQzE0Tl89XAorCSIuLlwuLlxjb25maWctbWFjLmgiXAorCQorCishRUxTRUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgeDg2KSBEZWJ1ZyIKKworREVQX0NQUF9DMTROXz1cCisJIi4uXC4uXGNvbmZpZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcYzE0bi5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW5jb2RpbmcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVudGl0aWVzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxnbG9iYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxoYXNoLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxsaXN0LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXFNBWC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdGhyZWFkcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdHJlZS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdXJpLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx2YWxpZC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceGxpbmsuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbGVycm9yLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxJTy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sbWVtb3J5LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx3aW4zMnZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhwYXRoLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4cGF0aEludGVybmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVx3aW4zMmNvbmZpZy5oIlwKKwkiLi5cLi5cbGlieG1sLmgiXAorCSIuLlwuLlx0cmlvLmgiXAorCSIuXHdpbmNlY29tcGF0LmgiXAorCQorTk9ERVBfQ1BQX0MxNE5fPVwKKwkiLi5cLi5cY29uZmlnLW1hYy5oIlwKKwkKKworIUVORElGIAorCisjIEVuZCBTb3VyY2UgRmlsZQorIyBCZWdpbiBTb3VyY2UgRmlsZQorCitTT1VSQ0U9Li5cLi5cY2F0YWxvZy5jCisKKyFJRiAgIiQoQ0ZHKSIgPT0gImxpYnhtbDIgLSBXaW4zMiAoV0NFIEFSTSkgUmVsZWFzZSIKKworREVQX0NQUF9DQVRBTD1cCisJIi4uXC4uXGNvbmZpZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcY2F0YWxvZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW5jb2RpbmcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVudGl0aWVzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxnbG9iYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxoYXNoLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxIVE1McGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxsaXN0LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlckludGVybmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcU0FYLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0aHJlYWRzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0cmVlLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx1cmkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHZhbGlkLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bGluay5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sZXJyb3IuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbElPLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxtZW1vcnkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHdpbjMydmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVx3aW4zMmNvbmZpZy5oIlwKKwkiLi5cLi5caW5jbHVkZVx3aW5DRWNvbmZpZy5oIlwKKwkiLi5cLi5cbGlieG1sLmgiXAorCSIuLlwuLlx0cmlvLmgiXAorCSIuXHdpbmNlY29tcGF0LmgiXAorCQorTk9ERVBfQ1BQX0NBVEFMPVwKKwkiLi5cLi5cY29uZmlnLW1hYy5oIlwKKwkKKworIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gImxpYnhtbDIgLSBXaW4zMiAoV0NFIEFSTSkgRGVidWciCisKKyMgUFJPUCBFeGNsdWRlX0Zyb21fQnVpbGQgMQorREVQX0NQUF9DQVRBTD1cCisJIi4uXC4uXGNvbmZpZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcY2F0YWxvZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW5jb2RpbmcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVudGl0aWVzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxnbG9iYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxoYXNoLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxIVE1McGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxsaXN0LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlckludGVybmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcU0FYLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0aHJlYWRzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0cmVlLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx1cmkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHZhbGlkLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bGluay5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sZXJyb3IuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbElPLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxtZW1vcnkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHdpbjMydmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVx3aW4zMmNvbmZpZy5oIlwKKwkiLi5cLi5cbGlieG1sLmgiXAorCSIuLlwuLlx0cmlvLmgiXAorCSIuXHdpbmNlY29tcGF0LmgiXAorCQorTk9ERVBfQ1BQX0NBVEFMPVwKKwkiLi5cLi5cY29uZmlnLW1hYy5oIlwKKwkKKworIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gImxpYnhtbDIgLSBXaW4zMiAoV0NFIHg4NmVtKSBEZWJ1ZyIKKworREVQX0NQUF9DQVRBTD1cCisJIi4uXC4uXGNvbmZpZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcY2F0YWxvZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW5jb2RpbmcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVudGl0aWVzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxnbG9iYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxoYXNoLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxIVE1McGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxsaXN0LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlckludGVybmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcU0FYLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0aHJlYWRzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0cmVlLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx1cmkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHZhbGlkLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bGluay5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sZXJyb3IuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbElPLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxtZW1vcnkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHdpbjMydmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVx3aW4zMmNvbmZpZy5oIlwKKwkiLi5cLi5cbGlieG1sLmgiXAorCSIuLlwuLlx0cmlvLmgiXAorCSIuXHdpbmNlY29tcGF0LmgiXAorCQorTk9ERVBfQ1BQX0NBVEFMPVwKKwkiLi5cLi5cY29uZmlnLW1hYy5oIlwKKwkKKworIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gImxpYnhtbDIgLSBXaW4zMiAoV0NFIE1JUFMpIFJlbGVhc2UiCisKK0RFUF9DUFBfQ0FUQUw9XAorCSIuLlwuLlxjb25maWcuaCJcCisJIi4uXC4uXGxpYnhtbC5oIlwKKwkiLi5cLi5cdHJpby5oIlwKKwkKK05PREVQX0NQUF9DQVRBTD1cCisJIi4uXC4uXGNvbmZpZy1tYWMuaCJcCisJIi4uXC4uXHdpbjMyY29uZmlnLmgiXAorCSIuLlwuLlx3aW5DRWNvbmZpZy5oIlwKKwkKKworIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gImxpYnhtbDIgLSBXaW4zMiAoV0NFIFNIMykgUmVsZWFzZSIKKworREVQX0NQUF9DQVRBTD1cCisJIi4uXC4uXGNvbmZpZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcY2F0YWxvZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW5jb2RpbmcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVudGl0aWVzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxnbG9iYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxoYXNoLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxIVE1McGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxsaXN0LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlckludGVybmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcU0FYLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0aHJlYWRzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0cmVlLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx1cmkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHZhbGlkLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bGluay5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sZXJyb3IuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbElPLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxtZW1vcnkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHdpbjMydmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVx3aW4zMmNvbmZpZy5oIlwKKwkiLi5cLi5cbGlieG1sLmgiXAorCSIuLlwuLlx0cmlvLmgiXAorCSIuXHdpbmNlY29tcGF0LmgiXAorCQorTk9ERVBfQ1BQX0NBVEFMPVwKKwkiLi5cLi5cY29uZmlnLW1hYy5oIlwKKwkKKworIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gImxpYnhtbDIgLSBXaW4zMiAoV0NFIHg4NikgRGVidWciCisKKyMgUFJPUCBFeGNsdWRlX0Zyb21fQnVpbGQgMQorREVQX0NQUF9DQVRBTD1cCisJIi4uXC4uXGNvbmZpZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcY2F0YWxvZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW5jb2RpbmcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVudGl0aWVzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxnbG9iYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxoYXNoLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxIVE1McGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxsaXN0LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlckludGVybmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcU0FYLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0aHJlYWRzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0cmVlLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx1cmkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHZhbGlkLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bGluay5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sZXJyb3IuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbElPLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxtZW1vcnkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHdpbjMydmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVx3aW4zMmNvbmZpZy5oIlwKKwkiLi5cLi5cbGlieG1sLmgiXAorCSIuLlwuLlx0cmlvLmgiXAorCSIuXHdpbmNlY29tcGF0LmgiXAorCQorTk9ERVBfQ1BQX0NBVEFMPVwKKwkiLi5cLi5cY29uZmlnLW1hYy5oIlwKKwkKKworIUVORElGIAorCisjIEVuZCBTb3VyY2UgRmlsZQorIyBCZWdpbiBTb3VyY2UgRmlsZQorCitTT1VSQ0U9Li5cLi5cZGVidWdYTUwuYworCishSUYgICIkKENGRykiID09ICJsaWJ4bWwyIC0gV2luMzIgKFdDRSBBUk0pIFJlbGVhc2UiCisKK0RFUF9DUFBfREVCVUc9XAorCSIuLlwuLlxjb25maWcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGRlYnVnWE1MLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbmNvZGluZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW50aXRpZXMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGdsb2JhbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGhhc2guaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXEhUTUxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXEhUTUx0cmVlLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxsaXN0LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlckludGVybmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcU0FYLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0aHJlYWRzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0cmVlLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx2YWxpZC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceGxpbmsuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbGVycm9yLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxJTy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sbWVtb3J5LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx3aW4zMnZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhwYXRoLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4cGF0aEludGVybmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVx3aW4zMmNvbmZpZy5oIlwKKwkiLi5cLi5caW5jbHVkZVx3aW5DRWNvbmZpZy5oIlwKKwkiLi5cLi5cbGlieG1sLmgiXAorCSIuLlwuLlx0cmlvLmgiXAorCSIuXHdpbmNlY29tcGF0LmgiXAorCQorTk9ERVBfQ1BQX0RFQlVHPVwKKwkiLi5cLi5cY29uZmlnLW1hYy5oIlwKKwkKKworIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gImxpYnhtbDIgLSBXaW4zMiAoV0NFIEFSTSkgRGVidWciCisKK0RFUF9DUFBfREVCVUc9XAorCSIuLlwuLlxjb25maWcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGRlYnVnWE1MLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbmNvZGluZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW50aXRpZXMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGdsb2JhbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGhhc2guaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXEhUTUxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXEhUTUx0cmVlLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxsaXN0LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlckludGVybmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcU0FYLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0aHJlYWRzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0cmVlLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx2YWxpZC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceGxpbmsuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbGVycm9yLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxJTy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sbWVtb3J5LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx3aW4zMnZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhwYXRoLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4cGF0aEludGVybmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVx3aW4zMmNvbmZpZy5oIlwKKwkiLi5cLi5cbGlieG1sLmgiXAorCSIuLlwuLlx0cmlvLmgiXAorCSIuXHdpbmNlY29tcGF0LmgiXAorCQorTk9ERVBfQ1BQX0RFQlVHPVwKKwkiLi5cLi5cY29uZmlnLW1hYy5oIlwKKwkKKworIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gImxpYnhtbDIgLSBXaW4zMiAoV0NFIHg4NmVtKSBEZWJ1ZyIKKworREVQX0NQUF9ERUJVRz1cCisJIi4uXC4uXGNvbmZpZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZGVidWdYTUwuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVuY29kaW5nLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbnRpdGllcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZ2xvYmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcaGFzaC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcSFRNTHBhcnNlci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcSFRNTHRyZWUuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGxpc3QuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxccGFyc2VySW50ZXJuYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxTQVguaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRocmVhZHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRyZWUuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHZhbGlkLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bGluay5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sZXJyb3IuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbElPLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxtZW1vcnkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHdpbjMydmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceHBhdGguaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhwYXRoSW50ZXJuYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXHdpbjMyY29uZmlnLmgiXAorCSIuLlwuLlxsaWJ4bWwuaCJcCisJIi4uXC4uXHRyaW8uaCJcCisJIi5cd2luY2Vjb21wYXQuaCJcCisJCitOT0RFUF9DUFBfREVCVUc9XAorCSIuLlwuLlxjb25maWctbWFjLmgiXAorCQorCishRUxTRUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgTUlQUykgUmVsZWFzZSIKKworREVQX0NQUF9ERUJVRz1cCisJIi4uXC4uXGNvbmZpZy5oIlwKKwkiLi5cLi5cbGlieG1sLmgiXAorCSIuLlwuLlx0cmlvLmgiXAorCQorTk9ERVBfQ1BQX0RFQlVHPVwKKwkiLi5cLi5cY29uZmlnLW1hYy5oIlwKKwkiLi5cLi5cd2luMzJjb25maWcuaCJcCisJIi4uXC4uXHdpbkNFY29uZmlnLmgiXAorCQorCishRUxTRUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgU0gzKSBSZWxlYXNlIgorCitERVBfQ1BQX0RFQlVHPVwKKwkiLi5cLi5cY29uZmlnLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxkZWJ1Z1hNTC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW5jb2RpbmcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVudGl0aWVzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxnbG9iYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxoYXNoLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxIVE1McGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxIVE1MdHJlZS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcbGlzdC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxccGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXJJbnRlcm5hbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXFNBWC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdGhyZWFkcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdHJlZS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdmFsaWQuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhsaW5rLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxlcnJvci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sSU8uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbG1lbW9yeS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sdmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sd2luMzJ2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4cGF0aC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceHBhdGhJbnRlcm5hbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcd2luMzJjb25maWcuaCJcCisJIi4uXC4uXGxpYnhtbC5oIlwKKwkiLi5cLi5cdHJpby5oIlwKKwkiLlx3aW5jZWNvbXBhdC5oIlwKKwkKK05PREVQX0NQUF9ERUJVRz1cCisJIi4uXC4uXGNvbmZpZy1tYWMuaCJcCisJCisKKyFFTFNFSUYgICIkKENGRykiID09ICJsaWJ4bWwyIC0gV2luMzIgKFdDRSB4ODYpIERlYnVnIgorCitERVBfQ1BQX0RFQlVHPVwKKwkiLi5cLi5cY29uZmlnLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxkZWJ1Z1hNTC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW5jb2RpbmcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVudGl0aWVzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxnbG9iYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxoYXNoLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxIVE1McGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxIVE1MdHJlZS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcbGlzdC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxccGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXJJbnRlcm5hbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXFNBWC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdGhyZWFkcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdHJlZS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdmFsaWQuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhsaW5rLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxlcnJvci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sSU8uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbG1lbW9yeS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sdmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sd2luMzJ2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4cGF0aC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceHBhdGhJbnRlcm5hbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcd2luMzJjb25maWcuaCJcCisJIi4uXC4uXGxpYnhtbC5oIlwKKwkiLi5cLi5cdHJpby5oIlwKKwkiLlx3aW5jZWNvbXBhdC5oIlwKKwkKK05PREVQX0NQUF9ERUJVRz1cCisJIi4uXC4uXGNvbmZpZy1tYWMuaCJcCisJCisKKyFFTkRJRiAKKworIyBFbmQgU291cmNlIEZpbGUKKyMgQmVnaW4gU291cmNlIEZpbGUKKworU09VUkNFPS4uXC4uXERPQ0JwYXJzZXIuYworCishSUYgICIkKENGRykiID09ICJsaWJ4bWwyIC0gV2luMzIgKFdDRSBBUk0pIFJlbGVhc2UiCisKK0RFUF9DUFBfRE9DQlA9XAorCSIuLlwuLlxjb25maWcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXERPQ0JwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVuY29kaW5nLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbnRpdGllcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZ2xvYmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcSFRNTHBhcnNlci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcbGlzdC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxccGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXJJbnRlcm5hbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXFNBWC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdGhyZWFkcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdHJlZS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdXJpLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx2YWxpZC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceGxpbmsuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbGVycm9yLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxJTy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sbWVtb3J5LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx3aW4zMnZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcd2luMzJjb25maWcuaCJcCisJIi4uXC4uXGluY2x1ZGVcd2luQ0Vjb25maWcuaCJcCisJIi4uXC4uXGxpYnhtbC5oIlwKKwkiLi5cLi5cdHJpby5oIlwKKwkiLlx3aW5jZWNvbXBhdC5oIlwKKwkKK05PREVQX0NQUF9ET0NCUD1cCisJIi4uXC4uXGNvbmZpZy1tYWMuaCJcCisJCisKKyFFTFNFSUYgICIkKENGRykiID09ICJsaWJ4bWwyIC0gV2luMzIgKFdDRSBBUk0pIERlYnVnIgorCitERVBfQ1BQX0RPQ0JQPVwKKwkiLi5cLi5cY29uZmlnLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxET0NCcGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbmNvZGluZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW50aXRpZXMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGdsb2JhbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXEhUTUxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGxpc3QuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxccGFyc2VySW50ZXJuYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxTQVguaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRocmVhZHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRyZWUuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHVyaS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdmFsaWQuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhsaW5rLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxlcnJvci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sSU8uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbG1lbW9yeS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sdmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sd2luMzJ2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXHdpbjMyY29uZmlnLmgiXAorCSIuLlwuLlxsaWJ4bWwuaCJcCisJIi4uXC4uXHRyaW8uaCJcCisJIi5cd2luY2Vjb21wYXQuaCJcCisJCitOT0RFUF9DUFBfRE9DQlA9XAorCSIuLlwuLlxjb25maWctbWFjLmgiXAorCQorCishRUxTRUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgeDg2ZW0pIERlYnVnIgorCitERVBfQ1BQX0RPQ0JQPVwKKwkiLi5cLi5cY29uZmlnLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxET0NCcGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbmNvZGluZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW50aXRpZXMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGdsb2JhbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXEhUTUxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGxpc3QuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxccGFyc2VySW50ZXJuYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxTQVguaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRocmVhZHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRyZWUuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHVyaS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdmFsaWQuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhsaW5rLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxlcnJvci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sSU8uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbG1lbW9yeS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sdmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sd2luMzJ2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXHdpbjMyY29uZmlnLmgiXAorCSIuLlwuLlxsaWJ4bWwuaCJcCisJIi4uXC4uXHRyaW8uaCJcCisJIi5cd2luY2Vjb21wYXQuaCJcCisJCitOT0RFUF9DUFBfRE9DQlA9XAorCSIuLlwuLlxjb25maWctbWFjLmgiXAorCQorCishRUxTRUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgTUlQUykgUmVsZWFzZSIKKworREVQX0NQUF9ET0NCUD1cCisJIi4uXC4uXGNvbmZpZy5oIlwKKwkiLi5cLi5cbGlieG1sLmgiXAorCSIuLlwuLlx0cmlvLmgiXAorCQorTk9ERVBfQ1BQX0RPQ0JQPVwKKwkiLi5cLi5cY29uZmlnLW1hYy5oIlwKKwkiLi5cLi5cd2luMzJjb25maWcuaCJcCisJIi4uXC4uXHdpbkNFY29uZmlnLmgiXAorCQorCishRUxTRUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgU0gzKSBSZWxlYXNlIgorCitERVBfQ1BQX0RPQ0JQPVwKKwkiLi5cLi5cY29uZmlnLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxET0NCcGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbmNvZGluZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW50aXRpZXMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGdsb2JhbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXEhUTUxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGxpc3QuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxccGFyc2VySW50ZXJuYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxTQVguaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRocmVhZHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRyZWUuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHVyaS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdmFsaWQuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhsaW5rLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxlcnJvci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sSU8uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbG1lbW9yeS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sdmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sd2luMzJ2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXHdpbjMyY29uZmlnLmgiXAorCSIuLlwuLlxsaWJ4bWwuaCJcCisJIi4uXC4uXHRyaW8uaCJcCisJIi5cd2luY2Vjb21wYXQuaCJcCisJCitOT0RFUF9DUFBfRE9DQlA9XAorCSIuLlwuLlxjb25maWctbWFjLmgiXAorCQorCishRUxTRUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgeDg2KSBEZWJ1ZyIKKworIyBQUk9QIEV4Y2x1ZGVfRnJvbV9CdWlsZCAxCitERVBfQ1BQX0RPQ0JQPVwKKwkiLi5cLi5cY29uZmlnLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxET0NCcGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbmNvZGluZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW50aXRpZXMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGdsb2JhbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXEhUTUxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGxpc3QuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxccGFyc2VySW50ZXJuYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxTQVguaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRocmVhZHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRyZWUuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHVyaS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdmFsaWQuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhsaW5rLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxlcnJvci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sSU8uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbG1lbW9yeS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sdmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sd2luMzJ2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXHdpbjMyY29uZmlnLmgiXAorCSIuLlwuLlxsaWJ4bWwuaCJcCisJIi4uXC4uXHRyaW8uaCJcCisJIi5cd2luY2Vjb21wYXQuaCJcCisJCitOT0RFUF9DUFBfRE9DQlA9XAorCSIuLlwuLlxjb25maWctbWFjLmgiXAorCQorCishRU5ESUYgCisKKyMgRW5kIFNvdXJjZSBGaWxlCisjIEJlZ2luIFNvdXJjZSBGaWxlCisKK1NPVVJDRT0uLlwuLlxlbmNvZGluZy5jCisKKyFJRiAgIiQoQ0ZHKSIgPT0gImxpYnhtbDIgLSBXaW4zMiAoV0NFIEFSTSkgUmVsZWFzZSIKKworREVQX0NQUF9FTkNPRD1cCisJIi4uXC4uXGNvbmZpZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW5jb2RpbmcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVudGl0aWVzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxnbG9iYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxIVE1McGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxsaXN0LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXFNBWC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdGhyZWFkcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdHJlZS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdmFsaWQuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhsaW5rLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxlcnJvci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sSU8uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbG1lbW9yeS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sdmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sd2luMzJ2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXHdpbjMyY29uZmlnLmgiXAorCSIuLlwuLlxpbmNsdWRlXHdpbkNFY29uZmlnLmgiXAorCSIuLlwuLlxsaWJ4bWwuaCJcCisJIi4uXC4uXHRyaW8uaCJcCisJIi5cd2luY2Vjb21wYXQuaCJcCisJCitOT0RFUF9DUFBfRU5DT0Q9XAorCSIuLlwuLlxjb25maWctbWFjLmgiXAorCQorCishRUxTRUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgQVJNKSBEZWJ1ZyIKKworREVQX0NQUF9FTkNPRD1cCisJIi4uXC4uXGNvbmZpZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW5jb2RpbmcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVudGl0aWVzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxnbG9iYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxIVE1McGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxsaXN0LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXFNBWC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdGhyZWFkcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdHJlZS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdmFsaWQuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhsaW5rLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxlcnJvci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sSU8uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbG1lbW9yeS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sdmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sd2luMzJ2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXHdpbjMyY29uZmlnLmgiXAorCSIuLlwuLlxsaWJ4bWwuaCJcCisJIi4uXC4uXHRyaW8uaCJcCisJIi5cd2luY2Vjb21wYXQuaCJcCisJCitOT0RFUF9DUFBfRU5DT0Q9XAorCSIuLlwuLlxjb25maWctbWFjLmgiXAorCQorCishRUxTRUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgeDg2ZW0pIERlYnVnIgorCitERVBfQ1BQX0VOQ09EPVwKKwkiLi5cLi5cY29uZmlnLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbmNvZGluZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW50aXRpZXMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGdsb2JhbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXEhUTUxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGxpc3QuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcU0FYLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0aHJlYWRzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0cmVlLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx2YWxpZC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceGxpbmsuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbGVycm9yLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxJTy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sbWVtb3J5LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx3aW4zMnZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcd2luMzJjb25maWcuaCJcCisJIi4uXC4uXGxpYnhtbC5oIlwKKwkiLi5cLi5cdHJpby5oIlwKKwkiLlx3aW5jZWNvbXBhdC5oIlwKKwkKK05PREVQX0NQUF9FTkNPRD1cCisJIi4uXC4uXGNvbmZpZy1tYWMuaCJcCisJCisKKyFFTFNFSUYgICIkKENGRykiID09ICJsaWJ4bWwyIC0gV2luMzIgKFdDRSBNSVBTKSBSZWxlYXNlIgorCitERVBfQ1BQX0VOQ09EPVwKKwkiLi5cLi5cY29uZmlnLmgiXAorCSIuLlwuLlxsaWJ4bWwuaCJcCisJIi4uXC4uXHRyaW8uaCJcCisJCitOT0RFUF9DUFBfRU5DT0Q9XAorCSIuLlwuLlxjb25maWctbWFjLmgiXAorCSIuLlwuLlx3aW4zMmNvbmZpZy5oIlwKKwkiLi5cLi5cd2luQ0Vjb25maWcuaCJcCisJCisKKyFFTFNFSUYgICIkKENGRykiID09ICJsaWJ4bWwyIC0gV2luMzIgKFdDRSBTSDMpIFJlbGVhc2UiCisKK0RFUF9DUFBfRU5DT0Q9XAorCSIuLlwuLlxjb25maWcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVuY29kaW5nLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbnRpdGllcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZ2xvYmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcSFRNTHBhcnNlci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcbGlzdC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxccGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxTQVguaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRocmVhZHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRyZWUuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHZhbGlkLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bGluay5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sZXJyb3IuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbElPLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxtZW1vcnkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHdpbjMydmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVx3aW4zMmNvbmZpZy5oIlwKKwkiLi5cLi5cbGlieG1sLmgiXAorCSIuLlwuLlx0cmlvLmgiXAorCSIuXHdpbmNlY29tcGF0LmgiXAorCQorTk9ERVBfQ1BQX0VOQ09EPVwKKwkiLi5cLi5cY29uZmlnLW1hYy5oIlwKKwkKKworIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gImxpYnhtbDIgLSBXaW4zMiAoV0NFIHg4NikgRGVidWciCisKK0RFUF9DUFBfRU5DT0Q9XAorCSIuLlwuLlxjb25maWcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVuY29kaW5nLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbnRpdGllcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZ2xvYmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcSFRNTHBhcnNlci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcbGlzdC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxccGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxTQVguaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRocmVhZHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRyZWUuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHZhbGlkLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bGluay5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sZXJyb3IuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbElPLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxtZW1vcnkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHdpbjMydmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVx3aW4zMmNvbmZpZy5oIlwKKwkiLi5cLi5cbGlieG1sLmgiXAorCSIuLlwuLlx0cmlvLmgiXAorCSIuXHdpbmNlY29tcGF0LmgiXAorCQorTk9ERVBfQ1BQX0VOQ09EPVwKKwkiLi5cLi5cY29uZmlnLW1hYy5oIlwKKwkKKworIUVORElGIAorCisjIEVuZCBTb3VyY2UgRmlsZQorIyBCZWdpbiBTb3VyY2UgRmlsZQorCitTT1VSQ0U9Li5cLi5cZW50aXRpZXMuYworCishSUYgICIkKENGRykiID09ICJsaWJ4bWwyIC0gV2luMzIgKFdDRSBBUk0pIFJlbGVhc2UiCisKK0RFUF9DUFBfRU5USVQ9XAorCSIuLlwuLlxjb25maWcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVuY29kaW5nLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbnRpdGllcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZ2xvYmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcaGFzaC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcbGlzdC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxccGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxTQVguaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRocmVhZHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRyZWUuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHZhbGlkLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bGluay5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sZXJyb3IuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbElPLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxtZW1vcnkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHdpbjMydmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVx3aW4zMmNvbmZpZy5oIlwKKwkiLi5cLi5caW5jbHVkZVx3aW5DRWNvbmZpZy5oIlwKKwkiLi5cLi5cbGlieG1sLmgiXAorCSIuLlwuLlx0cmlvLmgiXAorCSIuXHdpbmNlY29tcGF0LmgiXAorCQorTk9ERVBfQ1BQX0VOVElUPVwKKwkiLi5cLi5cY29uZmlnLW1hYy5oIlwKKwkKKworIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gImxpYnhtbDIgLSBXaW4zMiAoV0NFIEFSTSkgRGVidWciCisKK0RFUF9DUFBfRU5USVQ9XAorCSIuLlwuLlxjb25maWcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVuY29kaW5nLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbnRpdGllcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZ2xvYmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcaGFzaC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcbGlzdC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxccGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxTQVguaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRocmVhZHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRyZWUuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHZhbGlkLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bGluay5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sZXJyb3IuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbElPLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxtZW1vcnkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHdpbjMydmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVx3aW4zMmNvbmZpZy5oIlwKKwkiLi5cLi5cbGlieG1sLmgiXAorCSIuLlwuLlx0cmlvLmgiXAorCSIuXHdpbmNlY29tcGF0LmgiXAorCQorTk9ERVBfQ1BQX0VOVElUPVwKKwkiLi5cLi5cY29uZmlnLW1hYy5oIlwKKwkKKworIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gImxpYnhtbDIgLSBXaW4zMiAoV0NFIHg4NmVtKSBEZWJ1ZyIKKworREVQX0NQUF9FTlRJVD1cCisJIi4uXC4uXGNvbmZpZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW5jb2RpbmcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVudGl0aWVzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxnbG9iYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxoYXNoLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxsaXN0LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXFNBWC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdGhyZWFkcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdHJlZS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdmFsaWQuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhsaW5rLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxlcnJvci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sSU8uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbG1lbW9yeS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sdmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sd2luMzJ2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXHdpbjMyY29uZmlnLmgiXAorCSIuLlwuLlxsaWJ4bWwuaCJcCisJIi4uXC4uXHRyaW8uaCJcCisJIi5cd2luY2Vjb21wYXQuaCJcCisJCitOT0RFUF9DUFBfRU5USVQ9XAorCSIuLlwuLlxjb25maWctbWFjLmgiXAorCQorCishRUxTRUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgTUlQUykgUmVsZWFzZSIKKworREVQX0NQUF9FTlRJVD1cCisJIi4uXC4uXGNvbmZpZy5oIlwKKwkiLi5cLi5cbGlieG1sLmgiXAorCSIuLlwuLlx0cmlvLmgiXAorCQorTk9ERVBfQ1BQX0VOVElUPVwKKwkiLi5cLi5cY29uZmlnLW1hYy5oIlwKKwkiLi5cLi5cd2luMzJjb25maWcuaCJcCisJIi4uXC4uXHdpbkNFY29uZmlnLmgiXAorCQorCishRUxTRUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgU0gzKSBSZWxlYXNlIgorCitERVBfQ1BQX0VOVElUPVwKKwkiLi5cLi5cY29uZmlnLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbmNvZGluZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW50aXRpZXMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGdsb2JhbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGhhc2guaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGxpc3QuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcU0FYLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0aHJlYWRzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0cmVlLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx2YWxpZC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceGxpbmsuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbGVycm9yLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxJTy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sbWVtb3J5LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx3aW4zMnZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcd2luMzJjb25maWcuaCJcCisJIi4uXC4uXGxpYnhtbC5oIlwKKwkiLi5cLi5cdHJpby5oIlwKKwkiLlx3aW5jZWNvbXBhdC5oIlwKKwkKK05PREVQX0NQUF9FTlRJVD1cCisJIi4uXC4uXGNvbmZpZy1tYWMuaCJcCisJCisKKyFFTFNFSUYgICIkKENGRykiID09ICJsaWJ4bWwyIC0gV2luMzIgKFdDRSB4ODYpIERlYnVnIgorCitERVBfQ1BQX0VOVElUPVwKKwkiLi5cLi5cY29uZmlnLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbmNvZGluZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW50aXRpZXMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGdsb2JhbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGhhc2guaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGxpc3QuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcU0FYLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0aHJlYWRzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0cmVlLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx2YWxpZC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceGxpbmsuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbGVycm9yLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxJTy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sbWVtb3J5LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx3aW4zMnZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcd2luMzJjb25maWcuaCJcCisJIi4uXC4uXGxpYnhtbC5oIlwKKwkiLi5cLi5cdHJpby5oIlwKKwkiLlx3aW5jZWNvbXBhdC5oIlwKKwkKK05PREVQX0NQUF9FTlRJVD1cCisJIi4uXC4uXGNvbmZpZy1tYWMuaCJcCisJCisKKyFFTkRJRiAKKworIyBFbmQgU291cmNlIEZpbGUKKyMgQmVnaW4gU291cmNlIEZpbGUKKworU09VUkNFPS4uXC4uXGVycm9yLmMKKworIUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgQVJNKSBSZWxlYXNlIgorCitERVBfQ1BQX0VSUk9SPVwKKwkiLi5cLi5cY29uZmlnLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbmNvZGluZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW50aXRpZXMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGdsb2JhbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGxpc3QuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcU0FYLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0aHJlYWRzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0cmVlLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx2YWxpZC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceGxpbmsuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbGVycm9yLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxJTy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sbWVtb3J5LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx3aW4zMnZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcd2luMzJjb25maWcuaCJcCisJIi4uXC4uXGluY2x1ZGVcd2luQ0Vjb25maWcuaCJcCisJIi4uXC4uXGxpYnhtbC5oIlwKKwkiLi5cLi5cdHJpby5oIlwKKwkiLlx3aW5jZWNvbXBhdC5oIlwKKwkKK05PREVQX0NQUF9FUlJPUj1cCisJIi4uXC4uXGNvbmZpZy1tYWMuaCJcCisJCisKKyFFTFNFSUYgICIkKENGRykiID09ICJsaWJ4bWwyIC0gV2luMzIgKFdDRSBBUk0pIERlYnVnIgorCitERVBfQ1BQX0VSUk9SPVwKKwkiLi5cLi5cY29uZmlnLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbmNvZGluZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW50aXRpZXMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGdsb2JhbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGxpc3QuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcU0FYLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0aHJlYWRzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0cmVlLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx2YWxpZC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceGxpbmsuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbGVycm9yLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxJTy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sbWVtb3J5LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx3aW4zMnZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcd2luMzJjb25maWcuaCJcCisJIi4uXC4uXGxpYnhtbC5oIlwKKwkiLi5cLi5cdHJpby5oIlwKKwkiLlx3aW5jZWNvbXBhdC5oIlwKKwkKK05PREVQX0NQUF9FUlJPUj1cCisJIi4uXC4uXGNvbmZpZy1tYWMuaCJcCisJCisKKyFFTFNFSUYgICIkKENGRykiID09ICJsaWJ4bWwyIC0gV2luMzIgKFdDRSB4ODZlbSkgRGVidWciCisKK0RFUF9DUFBfRVJST1I9XAorCSIuLlwuLlxjb25maWcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVuY29kaW5nLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbnRpdGllcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZ2xvYmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcbGlzdC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxccGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxTQVguaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRocmVhZHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRyZWUuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHZhbGlkLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bGluay5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sZXJyb3IuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbElPLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxtZW1vcnkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHdpbjMydmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVx3aW4zMmNvbmZpZy5oIlwKKwkiLi5cLi5cbGlieG1sLmgiXAorCSIuLlwuLlx0cmlvLmgiXAorCSIuXHdpbmNlY29tcGF0LmgiXAorCQorTk9ERVBfQ1BQX0VSUk9SPVwKKwkiLi5cLi5cY29uZmlnLW1hYy5oIlwKKwkKKworIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gImxpYnhtbDIgLSBXaW4zMiAoV0NFIE1JUFMpIFJlbGVhc2UiCisKK0RFUF9DUFBfRVJST1I9XAorCSIuLlwuLlxjb25maWcuaCJcCisJIi4uXC4uXGxpYnhtbC5oIlwKKwkiLi5cLi5cdHJpby5oIlwKKwkKK05PREVQX0NQUF9FUlJPUj1cCisJIi4uXC4uXGNvbmZpZy1tYWMuaCJcCisJIi4uXC4uXHdpbjMyY29uZmlnLmgiXAorCSIuLlwuLlx3aW5DRWNvbmZpZy5oIlwKKwkKKworIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gImxpYnhtbDIgLSBXaW4zMiAoV0NFIFNIMykgUmVsZWFzZSIKKworREVQX0NQUF9FUlJPUj1cCisJIi4uXC4uXGNvbmZpZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW5jb2RpbmcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVudGl0aWVzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxnbG9iYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxsaXN0LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXFNBWC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdGhyZWFkcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdHJlZS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdmFsaWQuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhsaW5rLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxlcnJvci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sSU8uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbG1lbW9yeS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sdmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sd2luMzJ2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXHdpbjMyY29uZmlnLmgiXAorCSIuLlwuLlxsaWJ4bWwuaCJcCisJIi4uXC4uXHRyaW8uaCJcCisJIi5cd2luY2Vjb21wYXQuaCJcCisJCitOT0RFUF9DUFBfRVJST1I9XAorCSIuLlwuLlxjb25maWctbWFjLmgiXAorCQorCishRUxTRUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgeDg2KSBEZWJ1ZyIKKworREVQX0NQUF9FUlJPUj1cCisJIi4uXC4uXGNvbmZpZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW5jb2RpbmcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVudGl0aWVzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxnbG9iYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxsaXN0LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXFNBWC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdGhyZWFkcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdHJlZS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdmFsaWQuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhsaW5rLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxlcnJvci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sSU8uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbG1lbW9yeS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sdmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sd2luMzJ2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXHdpbjMyY29uZmlnLmgiXAorCSIuLlwuLlxsaWJ4bWwuaCJcCisJIi4uXC4uXHRyaW8uaCJcCisJIi5cd2luY2Vjb21wYXQuaCJcCisJCitOT0RFUF9DUFBfRVJST1I9XAorCSIuLlwuLlxjb25maWctbWFjLmgiXAorCQorCishRU5ESUYgCisKKyMgRW5kIFNvdXJjZSBGaWxlCisjIEJlZ2luIFNvdXJjZSBGaWxlCisKK1NPVVJDRT0uLlwuLlxnbG9iYWxzLmMKKworIUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgQVJNKSBSZWxlYXNlIgorCitERVBfQ1BQX0dMT0JBPVwKKwkiLi5cLi5cY29uZmlnLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbmNvZGluZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW50aXRpZXMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGdsb2JhbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGxpc3QuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcU0FYLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0aHJlYWRzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0cmVlLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx2YWxpZC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceGxpbmsuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbGVycm9yLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxJTy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sbWVtb3J5LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx3aW4zMnZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcd2luMzJjb25maWcuaCJcCisJIi4uXC4uXGluY2x1ZGVcd2luQ0Vjb25maWcuaCJcCisJIi4uXC4uXGxpYnhtbC5oIlwKKwkiLi5cLi5cdHJpby5oIlwKKwkiLlx3aW5jZWNvbXBhdC5oIlwKKwkKK05PREVQX0NQUF9HTE9CQT1cCisJIi4uXC4uXGNvbmZpZy1tYWMuaCJcCisJCisKKyFFTFNFSUYgICIkKENGRykiID09ICJsaWJ4bWwyIC0gV2luMzIgKFdDRSBBUk0pIERlYnVnIgorCitERVBfQ1BQX0dMT0JBPVwKKwkiLi5cLi5cY29uZmlnLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbmNvZGluZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW50aXRpZXMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGdsb2JhbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGxpc3QuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcU0FYLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0aHJlYWRzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0cmVlLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx2YWxpZC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceGxpbmsuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbGVycm9yLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxJTy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sbWVtb3J5LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx3aW4zMnZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcd2luMzJjb25maWcuaCJcCisJIi4uXC4uXGxpYnhtbC5oIlwKKwkiLi5cLi5cdHJpby5oIlwKKwkiLlx3aW5jZWNvbXBhdC5oIlwKKwkKK05PREVQX0NQUF9HTE9CQT1cCisJIi4uXC4uXGNvbmZpZy1tYWMuaCJcCisJCisKKyFFTFNFSUYgICIkKENGRykiID09ICJsaWJ4bWwyIC0gV2luMzIgKFdDRSB4ODZlbSkgRGVidWciCisKK0RFUF9DUFBfR0xPQkE9XAorCSIuLlwuLlxjb25maWcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVuY29kaW5nLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbnRpdGllcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZ2xvYmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcbGlzdC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxccGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxTQVguaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRocmVhZHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRyZWUuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHZhbGlkLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bGluay5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sZXJyb3IuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbElPLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxtZW1vcnkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHdpbjMydmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVx3aW4zMmNvbmZpZy5oIlwKKwkiLi5cLi5cbGlieG1sLmgiXAorCSIuLlwuLlx0cmlvLmgiXAorCSIuXHdpbmNlY29tcGF0LmgiXAorCQorTk9ERVBfQ1BQX0dMT0JBPVwKKwkiLi5cLi5cY29uZmlnLW1hYy5oIlwKKwkKKworIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gImxpYnhtbDIgLSBXaW4zMiAoV0NFIE1JUFMpIFJlbGVhc2UiCisKK0RFUF9DUFBfR0xPQkE9XAorCSIuLlwuLlxjb25maWcuaCJcCisJIi4uXC4uXGxpYnhtbC5oIlwKKwkiLi5cLi5cdHJpby5oIlwKKwkKK05PREVQX0NQUF9HTE9CQT1cCisJIi4uXC4uXGNvbmZpZy1tYWMuaCJcCisJIi4uXC4uXHdpbjMyY29uZmlnLmgiXAorCSIuLlwuLlx3aW5DRWNvbmZpZy5oIlwKKwkKKworIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gImxpYnhtbDIgLSBXaW4zMiAoV0NFIFNIMykgUmVsZWFzZSIKKworREVQX0NQUF9HTE9CQT1cCisJIi4uXC4uXGNvbmZpZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW5jb2RpbmcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVudGl0aWVzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxnbG9iYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxsaXN0LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXFNBWC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdGhyZWFkcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdHJlZS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdmFsaWQuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhsaW5rLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxlcnJvci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sSU8uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbG1lbW9yeS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sdmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sd2luMzJ2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXHdpbjMyY29uZmlnLmgiXAorCSIuLlwuLlxsaWJ4bWwuaCJcCisJIi4uXC4uXHRyaW8uaCJcCisJIi5cd2luY2Vjb21wYXQuaCJcCisJCitOT0RFUF9DUFBfR0xPQkE9XAorCSIuLlwuLlxjb25maWctbWFjLmgiXAorCQorCishRUxTRUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgeDg2KSBEZWJ1ZyIKKworREVQX0NQUF9HTE9CQT1cCisJIi4uXC4uXGNvbmZpZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW5jb2RpbmcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVudGl0aWVzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxnbG9iYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxsaXN0LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXFNBWC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdGhyZWFkcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdHJlZS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdmFsaWQuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhsaW5rLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxlcnJvci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sSU8uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbG1lbW9yeS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sdmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sd2luMzJ2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXHdpbjMyY29uZmlnLmgiXAorCSIuLlwuLlxsaWJ4bWwuaCJcCisJIi4uXC4uXHRyaW8uaCJcCisJIi5cd2luY2Vjb21wYXQuaCJcCisJCitOT0RFUF9DUFBfR0xPQkE9XAorCSIuLlwuLlxjb25maWctbWFjLmgiXAorCQorCishRU5ESUYgCisKKyMgRW5kIFNvdXJjZSBGaWxlCisjIEJlZ2luIFNvdXJjZSBGaWxlCisKK1NPVVJDRT0uLlwuLlxoYXNoLmMKKworIUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgQVJNKSBSZWxlYXNlIgorCitERVBfQ1BQX0hBU0hfPVwKKwkiLi5cLi5cY29uZmlnLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbmNvZGluZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW50aXRpZXMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGdsb2JhbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGhhc2guaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGxpc3QuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcU0FYLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0aHJlYWRzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0cmVlLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx2YWxpZC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceGxpbmsuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbGVycm9yLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxJTy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sbWVtb3J5LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx3aW4zMnZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcd2luMzJjb25maWcuaCJcCisJIi4uXC4uXGluY2x1ZGVcd2luQ0Vjb25maWcuaCJcCisJIi4uXC4uXGxpYnhtbC5oIlwKKwkiLi5cLi5cdHJpby5oIlwKKwkiLlx3aW5jZWNvbXBhdC5oIlwKKwkKK05PREVQX0NQUF9IQVNIXz1cCisJIi4uXC4uXGNvbmZpZy1tYWMuaCJcCisJCisKKyFFTFNFSUYgICIkKENGRykiID09ICJsaWJ4bWwyIC0gV2luMzIgKFdDRSBBUk0pIERlYnVnIgorCitERVBfQ1BQX0hBU0hfPVwKKwkiLi5cLi5cY29uZmlnLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbmNvZGluZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW50aXRpZXMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGdsb2JhbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGhhc2guaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGxpc3QuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcU0FYLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0aHJlYWRzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0cmVlLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx2YWxpZC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceGxpbmsuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbGVycm9yLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxJTy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sbWVtb3J5LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx3aW4zMnZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcd2luMzJjb25maWcuaCJcCisJIi4uXC4uXGxpYnhtbC5oIlwKKwkiLi5cLi5cdHJpby5oIlwKKwkiLlx3aW5jZWNvbXBhdC5oIlwKKwkKK05PREVQX0NQUF9IQVNIXz1cCisJIi4uXC4uXGNvbmZpZy1tYWMuaCJcCisJCisKKyFFTFNFSUYgICIkKENGRykiID09ICJsaWJ4bWwyIC0gV2luMzIgKFdDRSB4ODZlbSkgRGVidWciCisKK0RFUF9DUFBfSEFTSF89XAorCSIuLlwuLlxjb25maWcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVuY29kaW5nLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbnRpdGllcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZ2xvYmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcaGFzaC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcbGlzdC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxccGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxTQVguaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRocmVhZHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRyZWUuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHZhbGlkLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bGluay5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sZXJyb3IuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbElPLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxtZW1vcnkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHdpbjMydmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVx3aW4zMmNvbmZpZy5oIlwKKwkiLi5cLi5cbGlieG1sLmgiXAorCSIuLlwuLlx0cmlvLmgiXAorCSIuXHdpbmNlY29tcGF0LmgiXAorCQorTk9ERVBfQ1BQX0hBU0hfPVwKKwkiLi5cLi5cY29uZmlnLW1hYy5oIlwKKwkKKworIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gImxpYnhtbDIgLSBXaW4zMiAoV0NFIE1JUFMpIFJlbGVhc2UiCisKK0RFUF9DUFBfSEFTSF89XAorCSIuLlwuLlxjb25maWcuaCJcCisJIi4uXC4uXGxpYnhtbC5oIlwKKwkiLi5cLi5cdHJpby5oIlwKKwkKK05PREVQX0NQUF9IQVNIXz1cCisJIi4uXC4uXGNvbmZpZy1tYWMuaCJcCisJIi4uXC4uXHdpbjMyY29uZmlnLmgiXAorCSIuLlwuLlx3aW5DRWNvbmZpZy5oIlwKKwkKKworIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gImxpYnhtbDIgLSBXaW4zMiAoV0NFIFNIMykgUmVsZWFzZSIKKworREVQX0NQUF9IQVNIXz1cCisJIi4uXC4uXGNvbmZpZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW5jb2RpbmcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVudGl0aWVzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxnbG9iYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxoYXNoLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxsaXN0LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXFNBWC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdGhyZWFkcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdHJlZS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdmFsaWQuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhsaW5rLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxlcnJvci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sSU8uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbG1lbW9yeS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sdmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sd2luMzJ2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXHdpbjMyY29uZmlnLmgiXAorCSIuLlwuLlxsaWJ4bWwuaCJcCisJIi4uXC4uXHRyaW8uaCJcCisJIi5cd2luY2Vjb21wYXQuaCJcCisJCitOT0RFUF9DUFBfSEFTSF89XAorCSIuLlwuLlxjb25maWctbWFjLmgiXAorCQorCishRUxTRUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgeDg2KSBEZWJ1ZyIKKworREVQX0NQUF9IQVNIXz1cCisJIi4uXC4uXGNvbmZpZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW5jb2RpbmcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVudGl0aWVzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxnbG9iYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxoYXNoLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxsaXN0LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXFNBWC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdGhyZWFkcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdHJlZS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdmFsaWQuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhsaW5rLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxlcnJvci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sSU8uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbG1lbW9yeS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sdmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sd2luMzJ2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXHdpbjMyY29uZmlnLmgiXAorCSIuLlwuLlxsaWJ4bWwuaCJcCisJIi4uXC4uXHRyaW8uaCJcCisJIi5cd2luY2Vjb21wYXQuaCJcCisJCitOT0RFUF9DUFBfSEFTSF89XAorCSIuLlwuLlxjb25maWctbWFjLmgiXAorCQorCishRU5ESUYgCisKKyMgRW5kIFNvdXJjZSBGaWxlCisjIEJlZ2luIFNvdXJjZSBGaWxlCisKK1NPVVJDRT0uLlwuLlxIVE1McGFyc2VyLmMKKworIUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgQVJNKSBSZWxlYXNlIgorCitERVBfQ1BQX0hUTUxQPVwKKwkiLi5cLi5cY29uZmlnLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbmNvZGluZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW50aXRpZXMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGdsb2JhbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXEhUTUxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXEhUTUx0cmVlLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxsaXN0LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlckludGVybmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcU0FYLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0aHJlYWRzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0cmVlLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx2YWxpZC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceGxpbmsuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbGVycm9yLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxJTy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sbWVtb3J5LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx3aW4zMnZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcd2luMzJjb25maWcuaCJcCisJIi4uXC4uXGluY2x1ZGVcd2luQ0Vjb25maWcuaCJcCisJIi4uXC4uXGxpYnhtbC5oIlwKKwkiLi5cLi5cdHJpby5oIlwKKwkiLlx3aW5jZWNvbXBhdC5oIlwKKwkKK05PREVQX0NQUF9IVE1MUD1cCisJIi4uXC4uXGNvbmZpZy1tYWMuaCJcCisJCisKKyFFTFNFSUYgICIkKENGRykiID09ICJsaWJ4bWwyIC0gV2luMzIgKFdDRSBBUk0pIERlYnVnIgorCisjIFBST1AgRXhjbHVkZV9Gcm9tX0J1aWxkIDEKK0RFUF9DUFBfSFRNTFA9XAorCSIuLlwuLlxjb25maWcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVuY29kaW5nLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbnRpdGllcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZ2xvYmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcSFRNTHBhcnNlci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcSFRNTHRyZWUuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGxpc3QuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxccGFyc2VySW50ZXJuYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxTQVguaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRocmVhZHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRyZWUuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHZhbGlkLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bGluay5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sZXJyb3IuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbElPLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxtZW1vcnkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHdpbjMydmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVx3aW4zMmNvbmZpZy5oIlwKKwkiLi5cLi5cbGlieG1sLmgiXAorCSIuLlwuLlx0cmlvLmgiXAorCSIuXHdpbmNlY29tcGF0LmgiXAorCQorTk9ERVBfQ1BQX0hUTUxQPVwKKwkiLi5cLi5cY29uZmlnLW1hYy5oIlwKKwkKKworIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gImxpYnhtbDIgLSBXaW4zMiAoV0NFIHg4NmVtKSBEZWJ1ZyIKKworREVQX0NQUF9IVE1MUD1cCisJIi4uXC4uXGNvbmZpZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW5jb2RpbmcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVudGl0aWVzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxnbG9iYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxIVE1McGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxIVE1MdHJlZS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcbGlzdC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxccGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXJJbnRlcm5hbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXFNBWC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdGhyZWFkcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdHJlZS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdmFsaWQuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhsaW5rLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxlcnJvci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sSU8uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbG1lbW9yeS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sdmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sd2luMzJ2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXHdpbjMyY29uZmlnLmgiXAorCSIuLlwuLlxsaWJ4bWwuaCJcCisJIi4uXC4uXHRyaW8uaCJcCisJIi5cd2luY2Vjb21wYXQuaCJcCisJCitOT0RFUF9DUFBfSFRNTFA9XAorCSIuLlwuLlxjb25maWctbWFjLmgiXAorCQorCishRUxTRUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgTUlQUykgUmVsZWFzZSIKKworREVQX0NQUF9IVE1MUD1cCisJIi4uXC4uXGNvbmZpZy5oIlwKKwkiLi5cLi5cbGlieG1sLmgiXAorCSIuLlwuLlx0cmlvLmgiXAorCQorTk9ERVBfQ1BQX0hUTUxQPVwKKwkiLi5cLi5cY29uZmlnLW1hYy5oIlwKKwkiLi5cLi5cd2luMzJjb25maWcuaCJcCisJIi4uXC4uXHdpbkNFY29uZmlnLmgiXAorCQorCishRUxTRUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgU0gzKSBSZWxlYXNlIgorCitERVBfQ1BQX0hUTUxQPVwKKwkiLi5cLi5cY29uZmlnLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbmNvZGluZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW50aXRpZXMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGdsb2JhbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXEhUTUxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXEhUTUx0cmVlLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxsaXN0LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlckludGVybmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcU0FYLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0aHJlYWRzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0cmVlLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx2YWxpZC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceGxpbmsuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbGVycm9yLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxJTy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sbWVtb3J5LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx3aW4zMnZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcd2luMzJjb25maWcuaCJcCisJIi4uXC4uXGxpYnhtbC5oIlwKKwkiLi5cLi5cdHJpby5oIlwKKwkiLlx3aW5jZWNvbXBhdC5oIlwKKwkKK05PREVQX0NQUF9IVE1MUD1cCisJIi4uXC4uXGNvbmZpZy1tYWMuaCJcCisJCisKKyFFTFNFSUYgICIkKENGRykiID09ICJsaWJ4bWwyIC0gV2luMzIgKFdDRSB4ODYpIERlYnVnIgorCitERVBfQ1BQX0hUTUxQPVwKKwkiLi5cLi5cY29uZmlnLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbmNvZGluZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW50aXRpZXMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGdsb2JhbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXEhUTUxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXEhUTUx0cmVlLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxsaXN0LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlckludGVybmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcU0FYLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0aHJlYWRzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0cmVlLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx2YWxpZC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceGxpbmsuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbGVycm9yLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxJTy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sbWVtb3J5LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx3aW4zMnZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcd2luMzJjb25maWcuaCJcCisJIi4uXC4uXGxpYnhtbC5oIlwKKwkiLi5cLi5cdHJpby5oIlwKKwkiLlx3aW5jZWNvbXBhdC5oIlwKKwkKK05PREVQX0NQUF9IVE1MUD1cCisJIi4uXC4uXGNvbmZpZy1tYWMuaCJcCisJCisKKyFFTkRJRiAKKworIyBFbmQgU291cmNlIEZpbGUKKyMgQmVnaW4gU291cmNlIEZpbGUKKworU09VUkNFPS4uXC4uXEhUTUx0cmVlLmMKKworIUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgQVJNKSBSZWxlYXNlIgorCitERVBfQ1BQX0hUTUxUPVwKKwkiLi5cLi5cY29uZmlnLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbmNvZGluZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW50aXRpZXMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGdsb2JhbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXEhUTUxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXEhUTUx0cmVlLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxsaXN0LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlckludGVybmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcU0FYLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0aHJlYWRzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0cmVlLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx1cmkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHZhbGlkLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bGluay5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sZXJyb3IuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbElPLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxtZW1vcnkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHdpbjMydmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVx3aW4zMmNvbmZpZy5oIlwKKwkiLi5cLi5caW5jbHVkZVx3aW5DRWNvbmZpZy5oIlwKKwkiLi5cLi5cbGlieG1sLmgiXAorCSIuLlwuLlx0cmlvLmgiXAorCSIuXHdpbmNlY29tcGF0LmgiXAorCQorTk9ERVBfQ1BQX0hUTUxUPVwKKwkiLi5cLi5cY29uZmlnLW1hYy5oIlwKKwkKKworIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gImxpYnhtbDIgLSBXaW4zMiAoV0NFIEFSTSkgRGVidWciCisKKyMgUFJPUCBFeGNsdWRlX0Zyb21fQnVpbGQgMQorREVQX0NQUF9IVE1MVD1cCisJIi4uXC4uXGNvbmZpZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW5jb2RpbmcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVudGl0aWVzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxnbG9iYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxIVE1McGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxIVE1MdHJlZS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcbGlzdC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxccGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXJJbnRlcm5hbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXFNBWC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdGhyZWFkcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdHJlZS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdXJpLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx2YWxpZC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceGxpbmsuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbGVycm9yLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxJTy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sbWVtb3J5LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx3aW4zMnZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcd2luMzJjb25maWcuaCJcCisJIi4uXC4uXGxpYnhtbC5oIlwKKwkiLi5cLi5cdHJpby5oIlwKKwkiLlx3aW5jZWNvbXBhdC5oIlwKKwkKK05PREVQX0NQUF9IVE1MVD1cCisJIi4uXC4uXGNvbmZpZy1tYWMuaCJcCisJCisKKyFFTFNFSUYgICIkKENGRykiID09ICJsaWJ4bWwyIC0gV2luMzIgKFdDRSB4ODZlbSkgRGVidWciCisKK0RFUF9DUFBfSFRNTFQ9XAorCSIuLlwuLlxjb25maWcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVuY29kaW5nLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbnRpdGllcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZ2xvYmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcSFRNTHBhcnNlci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcSFRNTHRyZWUuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGxpc3QuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxccGFyc2VySW50ZXJuYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxTQVguaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRocmVhZHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRyZWUuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHVyaS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdmFsaWQuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhsaW5rLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxlcnJvci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sSU8uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbG1lbW9yeS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sdmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sd2luMzJ2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXHdpbjMyY29uZmlnLmgiXAorCSIuLlwuLlxsaWJ4bWwuaCJcCisJIi4uXC4uXHRyaW8uaCJcCisJIi5cd2luY2Vjb21wYXQuaCJcCisJCitOT0RFUF9DUFBfSFRNTFQ9XAorCSIuLlwuLlxjb25maWctbWFjLmgiXAorCQorCishRUxTRUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgTUlQUykgUmVsZWFzZSIKKworREVQX0NQUF9IVE1MVD1cCisJIi4uXC4uXGNvbmZpZy5oIlwKKwkiLi5cLi5cbGlieG1sLmgiXAorCSIuLlwuLlx0cmlvLmgiXAorCQorTk9ERVBfQ1BQX0hUTUxUPVwKKwkiLi5cLi5cY29uZmlnLW1hYy5oIlwKKwkiLi5cLi5cd2luMzJjb25maWcuaCJcCisJIi4uXC4uXHdpbkNFY29uZmlnLmgiXAorCQorCishRUxTRUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgU0gzKSBSZWxlYXNlIgorCitERVBfQ1BQX0hUTUxUPVwKKwkiLi5cLi5cY29uZmlnLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbmNvZGluZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW50aXRpZXMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGdsb2JhbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXEhUTUxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXEhUTUx0cmVlLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxsaXN0LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlckludGVybmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcU0FYLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0aHJlYWRzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0cmVlLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx1cmkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHZhbGlkLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bGluay5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sZXJyb3IuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbElPLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxtZW1vcnkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHdpbjMydmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVx3aW4zMmNvbmZpZy5oIlwKKwkiLi5cLi5cbGlieG1sLmgiXAorCSIuLlwuLlx0cmlvLmgiXAorCSIuXHdpbmNlY29tcGF0LmgiXAorCQorTk9ERVBfQ1BQX0hUTUxUPVwKKwkiLi5cLi5cY29uZmlnLW1hYy5oIlwKKwkKKworIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gImxpYnhtbDIgLSBXaW4zMiAoV0NFIHg4NikgRGVidWciCisKK0RFUF9DUFBfSFRNTFQ9XAorCSIuLlwuLlxjb25maWcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVuY29kaW5nLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbnRpdGllcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZ2xvYmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcSFRNTHBhcnNlci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcSFRNTHRyZWUuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGxpc3QuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxccGFyc2VySW50ZXJuYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxTQVguaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRocmVhZHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRyZWUuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHVyaS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdmFsaWQuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhsaW5rLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxlcnJvci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sSU8uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbG1lbW9yeS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sdmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sd2luMzJ2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXHdpbjMyY29uZmlnLmgiXAorCSIuLlwuLlxsaWJ4bWwuaCJcCisJIi4uXC4uXHRyaW8uaCJcCisJIi5cd2luY2Vjb21wYXQuaCJcCisJCitOT0RFUF9DUFBfSFRNTFQ9XAorCSIuLlwuLlxjb25maWctbWFjLmgiXAorCQorCishRU5ESUYgCisKKyMgRW5kIFNvdXJjZSBGaWxlCisjIEJlZ2luIFNvdXJjZSBGaWxlCisKK1NPVVJDRT0uXGxpYnhtbDIuZGVmCisjIEVuZCBTb3VyY2UgRmlsZQorIyBCZWdpbiBTb3VyY2UgRmlsZQorCitTT1VSQ0U9LlxsaWJ4bWwyLmRlZi5zcmMKKworIUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgQVJNKSBSZWxlYXNlIgorCishRUxTRUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgQVJNKSBEZWJ1ZyIKKworVVNFUkRFUF9fTElCWE09Ii4uLy4uL2luY2x1ZGUvbGlieG1sL3htbHZlcnNpb24uaDsiCQorIyBCZWdpbiBDdXN0b20gQnVpbGQKK0lucHV0UGF0aD0uXGxpYnhtbDIuZGVmLnNyYworCisibGlieG1sMi5kZWYiIDogJChTT1VSQ0UpICIkKElOVERJUikiICIkKE9VVERJUikiCisJY2wgL0kiLi5cLi4iIC9JIi4uXC4uXGluY2x1ZGUiIC9ub2xvZ28gL0VQICQoSW5wdXRQYXRoKSA+IGxpYnhtbDIuZGVmCisKKyMgRW5kIEN1c3RvbSBCdWlsZAorCishRUxTRUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgeDg2ZW0pIERlYnVnIgorCishRUxTRUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgTUlQUykgUmVsZWFzZSIKKworIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gImxpYnhtbDIgLSBXaW4zMiAoV0NFIFNIMykgUmVsZWFzZSIKKworIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gImxpYnhtbDIgLSBXaW4zMiAoV0NFIHg4NikgRGVidWciCisKKyFFTkRJRiAKKworIyBFbmQgU291cmNlIEZpbGUKKyMgQmVnaW4gU291cmNlIEZpbGUKKworU09VUkNFPS4uXC4uXGxpc3QuYworCishSUYgICIkKENGRykiID09ICJsaWJ4bWwyIC0gV2luMzIgKFdDRSBBUk0pIFJlbGVhc2UiCisKK0RFUF9DUFBfTElTVF89XAorCSIuLlwuLlxjb25maWcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVuY29kaW5nLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbnRpdGllcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZ2xvYmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcbGlzdC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxccGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxTQVguaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRocmVhZHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRyZWUuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHZhbGlkLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bGluay5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sZXJyb3IuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbElPLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxtZW1vcnkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHdpbjMydmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVx3aW4zMmNvbmZpZy5oIlwKKwkiLi5cLi5caW5jbHVkZVx3aW5DRWNvbmZpZy5oIlwKKwkiLi5cLi5cbGlieG1sLmgiXAorCSIuLlwuLlx0cmlvLmgiXAorCSIuXHdpbmNlY29tcGF0LmgiXAorCQorTk9ERVBfQ1BQX0xJU1RfPVwKKwkiLi5cLi5cY29uZmlnLW1hYy5oIlwKKwkKKworIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gImxpYnhtbDIgLSBXaW4zMiAoV0NFIEFSTSkgRGVidWciCisKK0RFUF9DUFBfTElTVF89XAorCSIuLlwuLlxjb25maWcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVuY29kaW5nLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbnRpdGllcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZ2xvYmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcbGlzdC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxccGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxTQVguaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRocmVhZHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRyZWUuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHZhbGlkLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bGluay5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sZXJyb3IuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbElPLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxtZW1vcnkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHdpbjMydmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVx3aW4zMmNvbmZpZy5oIlwKKwkiLi5cLi5cbGlieG1sLmgiXAorCSIuLlwuLlx0cmlvLmgiXAorCSIuXHdpbmNlY29tcGF0LmgiXAorCQorTk9ERVBfQ1BQX0xJU1RfPVwKKwkiLi5cLi5cY29uZmlnLW1hYy5oIlwKKwkKKworIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gImxpYnhtbDIgLSBXaW4zMiAoV0NFIHg4NmVtKSBEZWJ1ZyIKKworREVQX0NQUF9MSVNUXz1cCisJIi4uXC4uXGNvbmZpZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW5jb2RpbmcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVudGl0aWVzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxnbG9iYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxsaXN0LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXFNBWC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdGhyZWFkcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdHJlZS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdmFsaWQuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhsaW5rLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxlcnJvci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sSU8uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbG1lbW9yeS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sdmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sd2luMzJ2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXHdpbjMyY29uZmlnLmgiXAorCSIuLlwuLlxsaWJ4bWwuaCJcCisJIi4uXC4uXHRyaW8uaCJcCisJIi5cd2luY2Vjb21wYXQuaCJcCisJCitOT0RFUF9DUFBfTElTVF89XAorCSIuLlwuLlxjb25maWctbWFjLmgiXAorCQorCishRUxTRUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgTUlQUykgUmVsZWFzZSIKKworREVQX0NQUF9MSVNUXz1cCisJIi4uXC4uXGNvbmZpZy5oIlwKKwkiLi5cLi5cbGlieG1sLmgiXAorCSIuLlwuLlx0cmlvLmgiXAorCQorTk9ERVBfQ1BQX0xJU1RfPVwKKwkiLi5cLi5cY29uZmlnLW1hYy5oIlwKKwkiLi5cLi5cd2luMzJjb25maWcuaCJcCisJIi4uXC4uXHdpbkNFY29uZmlnLmgiXAorCQorCishRUxTRUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgU0gzKSBSZWxlYXNlIgorCitERVBfQ1BQX0xJU1RfPVwKKwkiLi5cLi5cY29uZmlnLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbmNvZGluZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW50aXRpZXMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGdsb2JhbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGxpc3QuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcU0FYLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0aHJlYWRzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0cmVlLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx2YWxpZC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceGxpbmsuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbGVycm9yLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxJTy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sbWVtb3J5LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx3aW4zMnZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcd2luMzJjb25maWcuaCJcCisJIi4uXC4uXGxpYnhtbC5oIlwKKwkiLi5cLi5cdHJpby5oIlwKKwkiLlx3aW5jZWNvbXBhdC5oIlwKKwkKK05PREVQX0NQUF9MSVNUXz1cCisJIi4uXC4uXGNvbmZpZy1tYWMuaCJcCisJCisKKyFFTFNFSUYgICIkKENGRykiID09ICJsaWJ4bWwyIC0gV2luMzIgKFdDRSB4ODYpIERlYnVnIgorCitERVBfQ1BQX0xJU1RfPVwKKwkiLi5cLi5cY29uZmlnLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbmNvZGluZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW50aXRpZXMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGdsb2JhbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGxpc3QuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcU0FYLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0aHJlYWRzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0cmVlLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx2YWxpZC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceGxpbmsuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbGVycm9yLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxJTy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sbWVtb3J5LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx3aW4zMnZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcd2luMzJjb25maWcuaCJcCisJIi4uXC4uXGxpYnhtbC5oIlwKKwkiLi5cLi5cdHJpby5oIlwKKwkiLlx3aW5jZWNvbXBhdC5oIlwKKwkKK05PREVQX0NQUF9MSVNUXz1cCisJIi4uXC4uXGNvbmZpZy1tYWMuaCJcCisJCisKKyFFTkRJRiAKKworIyBFbmQgU291cmNlIEZpbGUKKyMgQmVnaW4gU291cmNlIEZpbGUKKworU09VUkNFPS4uXC4uXG5hbm9mdHAuYworCishSUYgICIkKENGRykiID09ICJsaWJ4bWwyIC0gV2luMzIgKFdDRSBBUk0pIFJlbGVhc2UiCisKK0RFUF9DUFBfTkFOT0Y9XAorCSIuLlwuLlxjb25maWcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVuY29kaW5nLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbnRpdGllcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZ2xvYmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcbGlzdC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcbmFub2Z0cC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxccGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxTQVguaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRocmVhZHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRyZWUuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHZhbGlkLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bGluay5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sZXJyb3IuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbElPLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxtZW1vcnkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHdpbjMydmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVx3aW4zMmNvbmZpZy5oIlwKKwkiLi5cLi5caW5jbHVkZVx3aW5DRWNvbmZpZy5oIlwKKwkiLi5cLi5cbGlieG1sLmgiXAorCSIuLlwuLlx0cmlvLmgiXAorCSIuXHdpbmNlY29tcGF0LmgiXAorCQorTk9ERVBfQ1BQX05BTk9GPVwKKwkiLi5cLi5cY29uZmlnLW1hYy5oIlwKKwkKKworIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gImxpYnhtbDIgLSBXaW4zMiAoV0NFIEFSTSkgRGVidWciCisKK0RFUF9DUFBfTkFOT0Y9XAorCSIuLlwuLlxjb25maWcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVuY29kaW5nLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbnRpdGllcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZ2xvYmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcbGlzdC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcbmFub2Z0cC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxccGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxTQVguaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRocmVhZHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRyZWUuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHZhbGlkLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bGluay5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sZXJyb3IuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbElPLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxtZW1vcnkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHdpbjMydmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVx3aW4zMmNvbmZpZy5oIlwKKwkiLi5cLi5cbGlieG1sLmgiXAorCSIuLlwuLlx0cmlvLmgiXAorCSIuXHdpbmNlY29tcGF0LmgiXAorCQorTk9ERVBfQ1BQX05BTk9GPVwKKwkiLi5cLi5cY29uZmlnLW1hYy5oIlwKKwkKKworIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gImxpYnhtbDIgLSBXaW4zMiAoV0NFIHg4NmVtKSBEZWJ1ZyIKKworREVQX0NQUF9OQU5PRj1cCisJIi4uXC4uXGNvbmZpZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW5jb2RpbmcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVudGl0aWVzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxnbG9iYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxsaXN0LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxuYW5vZnRwLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXFNBWC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdGhyZWFkcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdHJlZS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdmFsaWQuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhsaW5rLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxlcnJvci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sSU8uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbG1lbW9yeS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sdmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sd2luMzJ2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXHdpbjMyY29uZmlnLmgiXAorCSIuLlwuLlxsaWJ4bWwuaCJcCisJIi4uXC4uXHRyaW8uaCJcCisJIi5cd2luY2Vjb21wYXQuaCJcCisJCitOT0RFUF9DUFBfTkFOT0Y9XAorCSIuLlwuLlxjb25maWctbWFjLmgiXAorCQorCishRUxTRUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgTUlQUykgUmVsZWFzZSIKKworREVQX0NQUF9OQU5PRj1cCisJIi4uXC4uXGNvbmZpZy5oIlwKKwkiLi5cLi5cbGlieG1sLmgiXAorCSIuLlwuLlx0cmlvLmgiXAorCQorTk9ERVBfQ1BQX05BTk9GPVwKKwkiLi5cLi5cY29uZmlnLW1hYy5oIlwKKwkiLi5cLi5cd2luMzJjb25maWcuaCJcCisJIi4uXC4uXHdpbkNFY29uZmlnLmgiXAorCQorCishRUxTRUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgU0gzKSBSZWxlYXNlIgorCitERVBfQ1BQX05BTk9GPVwKKwkiLi5cLi5cY29uZmlnLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbmNvZGluZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW50aXRpZXMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGdsb2JhbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGxpc3QuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXG5hbm9mdHAuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcU0FYLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0aHJlYWRzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0cmVlLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx2YWxpZC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceGxpbmsuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbGVycm9yLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxJTy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sbWVtb3J5LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx3aW4zMnZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcd2luMzJjb25maWcuaCJcCisJIi4uXC4uXGxpYnhtbC5oIlwKKwkiLi5cLi5cdHJpby5oIlwKKwkiLlx3aW5jZWNvbXBhdC5oIlwKKwkKK05PREVQX0NQUF9OQU5PRj1cCisJIi4uXC4uXGNvbmZpZy1tYWMuaCJcCisJCisKKyFFTFNFSUYgICIkKENGRykiID09ICJsaWJ4bWwyIC0gV2luMzIgKFdDRSB4ODYpIERlYnVnIgorCitERVBfQ1BQX05BTk9GPVwKKwkiLi5cLi5cY29uZmlnLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbmNvZGluZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW50aXRpZXMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGdsb2JhbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGxpc3QuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXG5hbm9mdHAuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcU0FYLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0aHJlYWRzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0cmVlLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx2YWxpZC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceGxpbmsuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbGVycm9yLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxJTy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sbWVtb3J5LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx3aW4zMnZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcd2luMzJjb25maWcuaCJcCisJIi4uXC4uXGxpYnhtbC5oIlwKKwkiLi5cLi5cdHJpby5oIlwKKwkiLlx3aW5jZWNvbXBhdC5oIlwKKwkKK05PREVQX0NQUF9OQU5PRj1cCisJIi4uXC4uXGNvbmZpZy1tYWMuaCJcCisJCisKKyFFTkRJRiAKKworIyBFbmQgU291cmNlIEZpbGUKKyMgQmVnaW4gU291cmNlIEZpbGUKKworU09VUkNFPS4uXC4uXG5hbm9odHRwLmMKKworIUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgQVJNKSBSZWxlYXNlIgorCitERVBfQ1BQX05BTk9IPVwKKwkiLi5cLi5cY29uZmlnLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbmNvZGluZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW50aXRpZXMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGdsb2JhbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGxpc3QuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXG5hbm9odHRwLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXFNBWC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdGhyZWFkcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdHJlZS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdmFsaWQuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhsaW5rLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxlcnJvci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sSU8uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbG1lbW9yeS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sdmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sd2luMzJ2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXHdpbjMyY29uZmlnLmgiXAorCSIuLlwuLlxpbmNsdWRlXHdpbkNFY29uZmlnLmgiXAorCSIuLlwuLlxsaWJ4bWwuaCJcCisJIi4uXC4uXHRyaW8uaCJcCisJIi5cd2luY2Vjb21wYXQuaCJcCisJCitOT0RFUF9DUFBfTkFOT0g9XAorCSIuLlwuLlxjb25maWctbWFjLmgiXAorCQorCishRUxTRUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgQVJNKSBEZWJ1ZyIKKworREVQX0NQUF9OQU5PSD1cCisJIi4uXC4uXGNvbmZpZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW5jb2RpbmcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVudGl0aWVzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxnbG9iYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxsaXN0LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxuYW5vaHR0cC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxccGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxTQVguaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRocmVhZHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRyZWUuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHZhbGlkLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bGluay5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sZXJyb3IuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbElPLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxtZW1vcnkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHdpbjMydmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVx3aW4zMmNvbmZpZy5oIlwKKwkiLi5cLi5cbGlieG1sLmgiXAorCSIuLlwuLlx0cmlvLmgiXAorCSIuXHdpbmNlY29tcGF0LmgiXAorCQorTk9ERVBfQ1BQX05BTk9IPVwKKwkiLi5cLi5cY29uZmlnLW1hYy5oIlwKKwkKKworIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gImxpYnhtbDIgLSBXaW4zMiAoV0NFIHg4NmVtKSBEZWJ1ZyIKKworREVQX0NQUF9OQU5PSD1cCisJIi4uXC4uXGNvbmZpZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW5jb2RpbmcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVudGl0aWVzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxnbG9iYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxsaXN0LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxuYW5vaHR0cC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxccGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxTQVguaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRocmVhZHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRyZWUuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHZhbGlkLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bGluay5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sZXJyb3IuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbElPLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxtZW1vcnkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHdpbjMydmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVx3aW4zMmNvbmZpZy5oIlwKKwkiLi5cLi5cbGlieG1sLmgiXAorCSIuLlwuLlx0cmlvLmgiXAorCSIuXHdpbmNlY29tcGF0LmgiXAorCQorTk9ERVBfQ1BQX05BTk9IPVwKKwkiLi5cLi5cY29uZmlnLW1hYy5oIlwKKwkKKworIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gImxpYnhtbDIgLSBXaW4zMiAoV0NFIE1JUFMpIFJlbGVhc2UiCisKK0RFUF9DUFBfTkFOT0g9XAorCSIuLlwuLlxjb25maWcuaCJcCisJIi4uXC4uXGxpYnhtbC5oIlwKKwkiLi5cLi5cdHJpby5oIlwKKwkKK05PREVQX0NQUF9OQU5PSD1cCisJIi4uXC4uXGNvbmZpZy1tYWMuaCJcCisJIi4uXC4uXHdpbjMyY29uZmlnLmgiXAorCSIuLlwuLlx3aW5DRWNvbmZpZy5oIlwKKwkKKworIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gImxpYnhtbDIgLSBXaW4zMiAoV0NFIFNIMykgUmVsZWFzZSIKKworREVQX0NQUF9OQU5PSD1cCisJIi4uXC4uXGNvbmZpZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW5jb2RpbmcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVudGl0aWVzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxnbG9iYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxsaXN0LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxuYW5vaHR0cC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxccGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxTQVguaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRocmVhZHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRyZWUuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHZhbGlkLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bGluay5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sZXJyb3IuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbElPLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxtZW1vcnkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHdpbjMydmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVx3aW4zMmNvbmZpZy5oIlwKKwkiLi5cLi5cbGlieG1sLmgiXAorCSIuLlwuLlx0cmlvLmgiXAorCSIuXHdpbmNlY29tcGF0LmgiXAorCQorTk9ERVBfQ1BQX05BTk9IPVwKKwkiLi5cLi5cY29uZmlnLW1hYy5oIlwKKwkKKworIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gImxpYnhtbDIgLSBXaW4zMiAoV0NFIHg4NikgRGVidWciCisKK0RFUF9DUFBfTkFOT0g9XAorCSIuLlwuLlxjb25maWcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVuY29kaW5nLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbnRpdGllcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZ2xvYmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcbGlzdC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcbmFub2h0dHAuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcU0FYLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0aHJlYWRzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0cmVlLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx2YWxpZC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceGxpbmsuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbGVycm9yLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxJTy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sbWVtb3J5LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx3aW4zMnZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcd2luMzJjb25maWcuaCJcCisJIi4uXC4uXGxpYnhtbC5oIlwKKwkiLi5cLi5cdHJpby5oIlwKKwkiLlx3aW5jZWNvbXBhdC5oIlwKKwkKK05PREVQX0NQUF9OQU5PSD1cCisJIi4uXC4uXGNvbmZpZy1tYWMuaCJcCisJCisKKyFFTkRJRiAKKworIyBFbmQgU291cmNlIEZpbGUKKyMgQmVnaW4gU291cmNlIEZpbGUKKworU09VUkNFPS4uXC4uXHBhcnNlci5jCisKKyFJRiAgIiQoQ0ZHKSIgPT0gImxpYnhtbDIgLSBXaW4zMiAoV0NFIEFSTSkgUmVsZWFzZSIKKworREVQX0NQUF9QQVJTRT1cCisJIi4uXC4uXGNvbmZpZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcY2F0YWxvZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW5jb2RpbmcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVudGl0aWVzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxnbG9iYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxoYXNoLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxIVE1McGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxsaXN0LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlckludGVybmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcU0FYLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0aHJlYWRzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0cmVlLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx1cmkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHZhbGlkLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bGluay5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sZXJyb3IuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbElPLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxtZW1vcnkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHdpbjMydmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceHBhdGguaCJcCisJIi4uXC4uXGluY2x1ZGVcd2luMzJjb25maWcuaCJcCisJIi4uXC4uXGluY2x1ZGVcd2luQ0Vjb25maWcuaCJcCisJIi4uXC4uXGxpYnhtbC5oIlwKKwkiLi5cLi5cdHJpby5oIlwKKwkiLlx3aW5jZWNvbXBhdC5oIlwKKwkKK05PREVQX0NQUF9QQVJTRT1cCisJIi4uXC4uXGNvbmZpZy1tYWMuaCJcCisJCisKKyFFTFNFSUYgICIkKENGRykiID09ICJsaWJ4bWwyIC0gV2luMzIgKFdDRSBBUk0pIERlYnVnIgorCitERVBfQ1BQX1BBUlNFPVwKKwkiLi5cLi5cY29uZmlnLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxjYXRhbG9nLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbmNvZGluZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW50aXRpZXMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGdsb2JhbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGhhc2guaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXEhUTUxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGxpc3QuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxccGFyc2VySW50ZXJuYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxTQVguaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRocmVhZHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRyZWUuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHVyaS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdmFsaWQuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhsaW5rLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxlcnJvci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sSU8uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbG1lbW9yeS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sdmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sd2luMzJ2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4cGF0aC5oIlwKKwkiLi5cLi5caW5jbHVkZVx3aW4zMmNvbmZpZy5oIlwKKwkiLi5cLi5cbGlieG1sLmgiXAorCSIuLlwuLlx0cmlvLmgiXAorCSIuXHdpbmNlY29tcGF0LmgiXAorCQorTk9ERVBfQ1BQX1BBUlNFPVwKKwkiLi5cLi5cY29uZmlnLW1hYy5oIlwKKwkKKworIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gImxpYnhtbDIgLSBXaW4zMiAoV0NFIHg4NmVtKSBEZWJ1ZyIKKworREVQX0NQUF9QQVJTRT1cCisJIi4uXC4uXGNvbmZpZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcY2F0YWxvZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW5jb2RpbmcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVudGl0aWVzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxnbG9iYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxoYXNoLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxIVE1McGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxsaXN0LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlckludGVybmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcU0FYLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0aHJlYWRzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0cmVlLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx1cmkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHZhbGlkLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bGluay5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sZXJyb3IuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbElPLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxtZW1vcnkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHdpbjMydmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceHBhdGguaCJcCisJIi4uXC4uXGluY2x1ZGVcd2luMzJjb25maWcuaCJcCisJIi4uXC4uXGxpYnhtbC5oIlwKKwkiLi5cLi5cdHJpby5oIlwKKwkiLlx3aW5jZWNvbXBhdC5oIlwKKwkKK05PREVQX0NQUF9QQVJTRT1cCisJIi4uXC4uXGNvbmZpZy1tYWMuaCJcCisJCisKKyFFTFNFSUYgICIkKENGRykiID09ICJsaWJ4bWwyIC0gV2luMzIgKFdDRSBNSVBTKSBSZWxlYXNlIgorCitERVBfQ1BQX1BBUlNFPVwKKwkiLi5cLi5cY29uZmlnLmgiXAorCSIuLlwuLlxsaWJ4bWwuaCJcCisJIi4uXC4uXHRyaW8uaCJcCisJCitOT0RFUF9DUFBfUEFSU0U9XAorCSIuLlwuLlxjb25maWctbWFjLmgiXAorCSIuLlwuLlx3aW4zMmNvbmZpZy5oIlwKKwkiLi5cLi5cd2luQ0Vjb25maWcuaCJcCisJCisKKyFFTFNFSUYgICIkKENGRykiID09ICJsaWJ4bWwyIC0gV2luMzIgKFdDRSBTSDMpIFJlbGVhc2UiCisKK0RFUF9DUFBfUEFSU0U9XAorCSIuLlwuLlxjb25maWcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGNhdGFsb2cuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVuY29kaW5nLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbnRpdGllcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZ2xvYmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcaGFzaC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcSFRNTHBhcnNlci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcbGlzdC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxccGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXJJbnRlcm5hbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXFNBWC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdGhyZWFkcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdHJlZS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdXJpLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx2YWxpZC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceGxpbmsuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbGVycm9yLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxJTy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sbWVtb3J5LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx3aW4zMnZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhwYXRoLmgiXAorCSIuLlwuLlxpbmNsdWRlXHdpbjMyY29uZmlnLmgiXAorCSIuLlwuLlxsaWJ4bWwuaCJcCisJIi4uXC4uXHRyaW8uaCJcCisJIi5cd2luY2Vjb21wYXQuaCJcCisJCitOT0RFUF9DUFBfUEFSU0U9XAorCSIuLlwuLlxjb25maWctbWFjLmgiXAorCQorCishRUxTRUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgeDg2KSBEZWJ1ZyIKKworREVQX0NQUF9QQVJTRT1cCisJIi4uXC4uXGNvbmZpZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcY2F0YWxvZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW5jb2RpbmcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVudGl0aWVzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxnbG9iYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxoYXNoLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxIVE1McGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxsaXN0LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlckludGVybmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcU0FYLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0aHJlYWRzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0cmVlLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx1cmkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHZhbGlkLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bGluay5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sZXJyb3IuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbElPLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxtZW1vcnkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHdpbjMydmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceHBhdGguaCJcCisJIi4uXC4uXGluY2x1ZGVcd2luMzJjb25maWcuaCJcCisJIi4uXC4uXGxpYnhtbC5oIlwKKwkiLi5cLi5cdHJpby5oIlwKKwkiLlx3aW5jZWNvbXBhdC5oIlwKKwkKK05PREVQX0NQUF9QQVJTRT1cCisJIi4uXC4uXGNvbmZpZy1tYWMuaCJcCisJCisKKyFFTkRJRiAKKworIyBFbmQgU291cmNlIEZpbGUKKyMgQmVnaW4gU291cmNlIEZpbGUKKworU09VUkNFPS4uXC4uXHBhcnNlckludGVybmFscy5jCisKKyFJRiAgIiQoQ0ZHKSIgPT0gImxpYnhtbDIgLSBXaW4zMiAoV0NFIEFSTSkgUmVsZWFzZSIKKworREVQX0NQUF9QQVJTRVI9XAorCSIuLlwuLlxjb25maWcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGNhdGFsb2cuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVuY29kaW5nLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbnRpdGllcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZ2xvYmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcSFRNTHBhcnNlci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcbGlzdC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxccGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXJJbnRlcm5hbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXFNBWC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdGhyZWFkcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdHJlZS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdXJpLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx2YWxpZC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceGxpbmsuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbGVycm9yLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxJTy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sbWVtb3J5LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx3aW4zMnZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcd2luMzJjb25maWcuaCJcCisJIi4uXC4uXGluY2x1ZGVcd2luQ0Vjb25maWcuaCJcCisJIi4uXC4uXGxpYnhtbC5oIlwKKwkiLi5cLi5cdHJpby5oIlwKKwkiLlx3aW5jZWNvbXBhdC5oIlwKKwkKK05PREVQX0NQUF9QQVJTRVI9XAorCSIuLlwuLlxjb25maWctbWFjLmgiXAorCQorCishRUxTRUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgQVJNKSBEZWJ1ZyIKKworREVQX0NQUF9QQVJTRVI9XAorCSIuLlwuLlxjb25maWcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGNhdGFsb2cuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVuY29kaW5nLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbnRpdGllcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZ2xvYmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcSFRNTHBhcnNlci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcbGlzdC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxccGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXJJbnRlcm5hbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXFNBWC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdGhyZWFkcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdHJlZS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdXJpLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx2YWxpZC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceGxpbmsuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbGVycm9yLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxJTy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sbWVtb3J5LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx3aW4zMnZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcd2luMzJjb25maWcuaCJcCisJIi4uXC4uXGxpYnhtbC5oIlwKKwkiLi5cLi5cdHJpby5oIlwKKwkiLlx3aW5jZWNvbXBhdC5oIlwKKwkKK05PREVQX0NQUF9QQVJTRVI9XAorCSIuLlwuLlxjb25maWctbWFjLmgiXAorCQorCishRUxTRUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgeDg2ZW0pIERlYnVnIgorCitERVBfQ1BQX1BBUlNFUj1cCisJIi4uXC4uXGNvbmZpZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcY2F0YWxvZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW5jb2RpbmcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVudGl0aWVzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxnbG9iYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxIVE1McGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxsaXN0LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlckludGVybmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcU0FYLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0aHJlYWRzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0cmVlLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx1cmkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHZhbGlkLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bGluay5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sZXJyb3IuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbElPLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxtZW1vcnkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHdpbjMydmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVx3aW4zMmNvbmZpZy5oIlwKKwkiLi5cLi5cbGlieG1sLmgiXAorCSIuLlwuLlx0cmlvLmgiXAorCSIuXHdpbmNlY29tcGF0LmgiXAorCQorTk9ERVBfQ1BQX1BBUlNFUj1cCisJIi4uXC4uXGNvbmZpZy1tYWMuaCJcCisJCisKKyFFTFNFSUYgICIkKENGRykiID09ICJsaWJ4bWwyIC0gV2luMzIgKFdDRSBNSVBTKSBSZWxlYXNlIgorCitERVBfQ1BQX1BBUlNFUj1cCisJIi4uXC4uXGNvbmZpZy5oIlwKKwkiLi5cLi5cbGlieG1sLmgiXAorCSIuLlwuLlx0cmlvLmgiXAorCQorTk9ERVBfQ1BQX1BBUlNFUj1cCisJIi4uXC4uXGNvbmZpZy1tYWMuaCJcCisJIi4uXC4uXHdpbjMyY29uZmlnLmgiXAorCSIuLlwuLlx3aW5DRWNvbmZpZy5oIlwKKwkKKworIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gImxpYnhtbDIgLSBXaW4zMiAoV0NFIFNIMykgUmVsZWFzZSIKKworREVQX0NQUF9QQVJTRVI9XAorCSIuLlwuLlxjb25maWcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGNhdGFsb2cuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVuY29kaW5nLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbnRpdGllcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZ2xvYmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcSFRNTHBhcnNlci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcbGlzdC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxccGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXJJbnRlcm5hbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXFNBWC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdGhyZWFkcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdHJlZS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdXJpLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx2YWxpZC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceGxpbmsuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbGVycm9yLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxJTy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sbWVtb3J5LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx3aW4zMnZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcd2luMzJjb25maWcuaCJcCisJIi4uXC4uXGxpYnhtbC5oIlwKKwkiLi5cLi5cdHJpby5oIlwKKwkiLlx3aW5jZWNvbXBhdC5oIlwKKwkKK05PREVQX0NQUF9QQVJTRVI9XAorCSIuLlwuLlxjb25maWctbWFjLmgiXAorCQorCishRUxTRUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgeDg2KSBEZWJ1ZyIKKworREVQX0NQUF9QQVJTRVI9XAorCSIuLlwuLlxjb25maWcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGNhdGFsb2cuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVuY29kaW5nLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbnRpdGllcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZ2xvYmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcSFRNTHBhcnNlci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcbGlzdC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxccGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXJJbnRlcm5hbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXFNBWC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdGhyZWFkcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdHJlZS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdXJpLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx2YWxpZC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceGxpbmsuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbGVycm9yLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxJTy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sbWVtb3J5LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx3aW4zMnZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcd2luMzJjb25maWcuaCJcCisJIi4uXC4uXGxpYnhtbC5oIlwKKwkiLi5cLi5cdHJpby5oIlwKKwkiLlx3aW5jZWNvbXBhdC5oIlwKKwkKK05PREVQX0NQUF9QQVJTRVI9XAorCSIuLlwuLlxjb25maWctbWFjLmgiXAorCQorCishRU5ESUYgCisKKyMgRW5kIFNvdXJjZSBGaWxlCisjIEJlZ2luIFNvdXJjZSBGaWxlCisKK1NPVVJDRT0uLlwuLlxTQVguYworCishSUYgICIkKENGRykiID09ICJsaWJ4bWwyIC0gV2luMzIgKFdDRSBBUk0pIFJlbGVhc2UiCisKK0RFUF9DUFBfU0FYX0M9XAorCSIuLlwuLlxjb25maWcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGRlYnVnWE1MLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbmNvZGluZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW50aXRpZXMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGdsb2JhbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGhhc2guaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXEhUTUxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXEhUTUx0cmVlLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxsaXN0LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlckludGVybmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcU0FYLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0aHJlYWRzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0cmVlLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx1cmkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHZhbGlkLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bGluay5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sZXJyb3IuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbElPLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxtZW1vcnkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHdpbjMydmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceHBhdGguaCJcCisJIi4uXC4uXGluY2x1ZGVcd2luMzJjb25maWcuaCJcCisJIi4uXC4uXGluY2x1ZGVcd2luQ0Vjb25maWcuaCJcCisJIi4uXC4uXGxpYnhtbC5oIlwKKwkiLi5cLi5cdHJpby5oIlwKKwkiLlx3aW5jZWNvbXBhdC5oIlwKKwkKK05PREVQX0NQUF9TQVhfQz1cCisJIi4uXC4uXGNvbmZpZy1tYWMuaCJcCisJCisKKyFFTFNFSUYgICIkKENGRykiID09ICJsaWJ4bWwyIC0gV2luMzIgKFdDRSBBUk0pIERlYnVnIgorCitERVBfQ1BQX1NBWF9DPVwKKwkiLi5cLi5cY29uZmlnLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxkZWJ1Z1hNTC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW5jb2RpbmcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVudGl0aWVzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxnbG9iYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxoYXNoLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxIVE1McGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxIVE1MdHJlZS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcbGlzdC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxccGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXJJbnRlcm5hbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXFNBWC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdGhyZWFkcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdHJlZS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdXJpLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx2YWxpZC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceGxpbmsuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbGVycm9yLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxJTy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sbWVtb3J5LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx3aW4zMnZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhwYXRoLmgiXAorCSIuLlwuLlxpbmNsdWRlXHdpbjMyY29uZmlnLmgiXAorCSIuLlwuLlxsaWJ4bWwuaCJcCisJIi4uXC4uXHRyaW8uaCJcCisJIi5cd2luY2Vjb21wYXQuaCJcCisJCitOT0RFUF9DUFBfU0FYX0M9XAorCSIuLlwuLlxjb25maWctbWFjLmgiXAorCQorCishRUxTRUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgeDg2ZW0pIERlYnVnIgorCitERVBfQ1BQX1NBWF9DPVwKKwkiLi5cLi5cY29uZmlnLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxkZWJ1Z1hNTC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW5jb2RpbmcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVudGl0aWVzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxnbG9iYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxoYXNoLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxIVE1McGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxIVE1MdHJlZS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcbGlzdC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxccGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXJJbnRlcm5hbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXFNBWC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdGhyZWFkcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdHJlZS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdXJpLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx2YWxpZC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceGxpbmsuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbGVycm9yLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxJTy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sbWVtb3J5LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx3aW4zMnZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhwYXRoLmgiXAorCSIuLlwuLlxpbmNsdWRlXHdpbjMyY29uZmlnLmgiXAorCSIuLlwuLlxsaWJ4bWwuaCJcCisJIi4uXC4uXHRyaW8uaCJcCisJIi5cd2luY2Vjb21wYXQuaCJcCisJCitOT0RFUF9DUFBfU0FYX0M9XAorCSIuLlwuLlxjb25maWctbWFjLmgiXAorCQorCishRUxTRUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgTUlQUykgUmVsZWFzZSIKKworREVQX0NQUF9TQVhfQz1cCisJIi4uXC4uXGNvbmZpZy5oIlwKKwkiLi5cLi5cbGlieG1sLmgiXAorCSIuLlwuLlx0cmlvLmgiXAorCQorTk9ERVBfQ1BQX1NBWF9DPVwKKwkiLi5cLi5cY29uZmlnLW1hYy5oIlwKKwkiLi5cLi5cd2luMzJjb25maWcuaCJcCisJIi4uXC4uXHdpbkNFY29uZmlnLmgiXAorCQorCishRUxTRUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgU0gzKSBSZWxlYXNlIgorCitERVBfQ1BQX1NBWF9DPVwKKwkiLi5cLi5cY29uZmlnLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxkZWJ1Z1hNTC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW5jb2RpbmcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVudGl0aWVzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxnbG9iYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxoYXNoLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxIVE1McGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxIVE1MdHJlZS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcbGlzdC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxccGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXJJbnRlcm5hbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXFNBWC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdGhyZWFkcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdHJlZS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdXJpLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx2YWxpZC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceGxpbmsuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbGVycm9yLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxJTy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sbWVtb3J5LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx3aW4zMnZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhwYXRoLmgiXAorCSIuLlwuLlxpbmNsdWRlXHdpbjMyY29uZmlnLmgiXAorCSIuLlwuLlxsaWJ4bWwuaCJcCisJIi4uXC4uXHRyaW8uaCJcCisJIi5cd2luY2Vjb21wYXQuaCJcCisJCitOT0RFUF9DUFBfU0FYX0M9XAorCSIuLlwuLlxjb25maWctbWFjLmgiXAorCQorCishRUxTRUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgeDg2KSBEZWJ1ZyIKKworREVQX0NQUF9TQVhfQz1cCisJIi4uXC4uXGNvbmZpZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZGVidWdYTUwuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVuY29kaW5nLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbnRpdGllcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZ2xvYmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcaGFzaC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcSFRNTHBhcnNlci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcSFRNTHRyZWUuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGxpc3QuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxccGFyc2VySW50ZXJuYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxTQVguaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRocmVhZHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRyZWUuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHVyaS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdmFsaWQuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhsaW5rLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxlcnJvci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sSU8uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbG1lbW9yeS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sdmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sd2luMzJ2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4cGF0aC5oIlwKKwkiLi5cLi5caW5jbHVkZVx3aW4zMmNvbmZpZy5oIlwKKwkiLi5cLi5cbGlieG1sLmgiXAorCSIuLlwuLlx0cmlvLmgiXAorCSIuXHdpbmNlY29tcGF0LmgiXAorCQorTk9ERVBfQ1BQX1NBWF9DPVwKKwkiLi5cLi5cY29uZmlnLW1hYy5oIlwKKwkKKworIUVORElGIAorCisjIEVuZCBTb3VyY2UgRmlsZQorIyBCZWdpbiBTb3VyY2UgRmlsZQorCitTT1VSQ0U9Li5cLi5cdGhyZWFkcy5jCisKKyFJRiAgIiQoQ0ZHKSIgPT0gImxpYnhtbDIgLSBXaW4zMiAoV0NFIEFSTSkgUmVsZWFzZSIKKworREVQX0NQUF9USFJFQT1cCisJIi4uXC4uXGNvbmZpZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW5jb2RpbmcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVudGl0aWVzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxnbG9iYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxsaXN0LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXFNBWC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdGhyZWFkcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdHJlZS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdmFsaWQuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhsaW5rLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxlcnJvci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sSU8uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbG1lbW9yeS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sdmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sd2luMzJ2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXHdpbjMyY29uZmlnLmgiXAorCSIuLlwuLlxpbmNsdWRlXHdpbkNFY29uZmlnLmgiXAorCSIuLlwuLlxsaWJ4bWwuaCJcCisJIi4uXC4uXHRyaW8uaCJcCisJIi5cd2luY2Vjb21wYXQuaCJcCisJCitOT0RFUF9DUFBfVEhSRUE9XAorCSIuLlwuLlxjb25maWctbWFjLmgiXAorCQorCishRUxTRUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgQVJNKSBEZWJ1ZyIKKworREVQX0NQUF9USFJFQT1cCisJIi4uXC4uXGNvbmZpZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW5jb2RpbmcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVudGl0aWVzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxnbG9iYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxsaXN0LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXFNBWC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdGhyZWFkcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdHJlZS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdmFsaWQuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhsaW5rLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxlcnJvci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sSU8uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbG1lbW9yeS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sdmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sd2luMzJ2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXHdpbjMyY29uZmlnLmgiXAorCSIuLlwuLlxsaWJ4bWwuaCJcCisJIi4uXC4uXHRyaW8uaCJcCisJIi5cd2luY2Vjb21wYXQuaCJcCisJCitOT0RFUF9DUFBfVEhSRUE9XAorCSIuLlwuLlxjb25maWctbWFjLmgiXAorCQorCishRUxTRUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgeDg2ZW0pIERlYnVnIgorCitERVBfQ1BQX1RIUkVBPVwKKwkiLi5cLi5cY29uZmlnLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbmNvZGluZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW50aXRpZXMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGdsb2JhbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGxpc3QuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcU0FYLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0aHJlYWRzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0cmVlLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx2YWxpZC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceGxpbmsuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbGVycm9yLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxJTy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sbWVtb3J5LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx3aW4zMnZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcd2luMzJjb25maWcuaCJcCisJIi4uXC4uXGxpYnhtbC5oIlwKKwkiLi5cLi5cdHJpby5oIlwKKwkiLlx3aW5jZWNvbXBhdC5oIlwKKwkKK05PREVQX0NQUF9USFJFQT1cCisJIi4uXC4uXGNvbmZpZy1tYWMuaCJcCisJCisKKyFFTFNFSUYgICIkKENGRykiID09ICJsaWJ4bWwyIC0gV2luMzIgKFdDRSBNSVBTKSBSZWxlYXNlIgorCitERVBfQ1BQX1RIUkVBPVwKKwkiLi5cLi5cY29uZmlnLmgiXAorCSIuLlwuLlxsaWJ4bWwuaCJcCisJIi4uXC4uXHRyaW8uaCJcCisJCitOT0RFUF9DUFBfVEhSRUE9XAorCSIuLlwuLlxjb25maWctbWFjLmgiXAorCSIuLlwuLlx3aW4zMmNvbmZpZy5oIlwKKwkiLi5cLi5cd2luQ0Vjb25maWcuaCJcCisJCisKKyFFTFNFSUYgICIkKENGRykiID09ICJsaWJ4bWwyIC0gV2luMzIgKFdDRSBTSDMpIFJlbGVhc2UiCisKK0RFUF9DUFBfVEhSRUE9XAorCSIuLlwuLlxjb25maWcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVuY29kaW5nLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbnRpdGllcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZ2xvYmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcbGlzdC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxccGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxTQVguaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRocmVhZHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRyZWUuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHZhbGlkLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bGluay5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sZXJyb3IuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbElPLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxtZW1vcnkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHdpbjMydmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVx3aW4zMmNvbmZpZy5oIlwKKwkiLi5cLi5cbGlieG1sLmgiXAorCSIuLlwuLlx0cmlvLmgiXAorCSIuXHdpbmNlY29tcGF0LmgiXAorCQorTk9ERVBfQ1BQX1RIUkVBPVwKKwkiLi5cLi5cY29uZmlnLW1hYy5oIlwKKwkKKworIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gImxpYnhtbDIgLSBXaW4zMiAoV0NFIHg4NikgRGVidWciCisKK0RFUF9DUFBfVEhSRUE9XAorCSIuLlwuLlxjb25maWcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVuY29kaW5nLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbnRpdGllcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZ2xvYmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcbGlzdC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxccGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxTQVguaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRocmVhZHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRyZWUuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHZhbGlkLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bGluay5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sZXJyb3IuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbElPLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxtZW1vcnkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHdpbjMydmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVx3aW4zMmNvbmZpZy5oIlwKKwkiLi5cLi5cbGlieG1sLmgiXAorCSIuLlwuLlx0cmlvLmgiXAorCSIuXHdpbmNlY29tcGF0LmgiXAorCQorTk9ERVBfQ1BQX1RIUkVBPVwKKwkiLi5cLi5cY29uZmlnLW1hYy5oIlwKKwkKKworIUVORElGIAorCisjIEVuZCBTb3VyY2UgRmlsZQorIyBCZWdpbiBTb3VyY2UgRmlsZQorCitTT1VSQ0U9Li5cLi5cdHJlZS5jCisKKyFJRiAgIiQoQ0ZHKSIgPT0gImxpYnhtbDIgLSBXaW4zMiAoV0NFIEFSTSkgUmVsZWFzZSIKKworREVQX0NQUF9UUkVFXz1cCisJIi4uXC4uXGNvbmZpZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW5jb2RpbmcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVudGl0aWVzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxnbG9iYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxoYXNoLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxIVE1McGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxsaXN0LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlckludGVybmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcU0FYLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0aHJlYWRzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0cmVlLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx1cmkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHZhbGlkLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bGluay5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sZXJyb3IuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbElPLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxtZW1vcnkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHdpbjMydmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVx3aW4zMmNvbmZpZy5oIlwKKwkiLi5cLi5caW5jbHVkZVx3aW5DRWNvbmZpZy5oIlwKKwkiLi5cLi5cbGlieG1sLmgiXAorCSIuLlwuLlx0cmlvLmgiXAorCSIuXHdpbmNlY29tcGF0LmgiXAorCQorTk9ERVBfQ1BQX1RSRUVfPVwKKwkiLi5cLi5cY29uZmlnLW1hYy5oIlwKKwkKKworIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gImxpYnhtbDIgLSBXaW4zMiAoV0NFIEFSTSkgRGVidWciCisKK0RFUF9DUFBfVFJFRV89XAorCSIuLlwuLlxjb25maWcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVuY29kaW5nLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbnRpdGllcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZ2xvYmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcaGFzaC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcSFRNTHBhcnNlci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcbGlzdC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxccGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXJJbnRlcm5hbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXFNBWC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdGhyZWFkcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdHJlZS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdXJpLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx2YWxpZC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceGxpbmsuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbGVycm9yLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxJTy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sbWVtb3J5LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx3aW4zMnZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcd2luMzJjb25maWcuaCJcCisJIi4uXC4uXGxpYnhtbC5oIlwKKwkiLi5cLi5cdHJpby5oIlwKKwkiLlx3aW5jZWNvbXBhdC5oIlwKKwkKK05PREVQX0NQUF9UUkVFXz1cCisJIi4uXC4uXGNvbmZpZy1tYWMuaCJcCisJCisKKyFFTFNFSUYgICIkKENGRykiID09ICJsaWJ4bWwyIC0gV2luMzIgKFdDRSB4ODZlbSkgRGVidWciCisKK0RFUF9DUFBfVFJFRV89XAorCSIuLlwuLlxjb25maWcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVuY29kaW5nLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbnRpdGllcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZ2xvYmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcaGFzaC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcSFRNTHBhcnNlci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcbGlzdC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxccGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXJJbnRlcm5hbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXFNBWC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdGhyZWFkcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdHJlZS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdXJpLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx2YWxpZC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceGxpbmsuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbGVycm9yLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxJTy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sbWVtb3J5LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx3aW4zMnZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcd2luMzJjb25maWcuaCJcCisJIi4uXC4uXGxpYnhtbC5oIlwKKwkiLi5cLi5cdHJpby5oIlwKKwkiLlx3aW5jZWNvbXBhdC5oIlwKKwkKK05PREVQX0NQUF9UUkVFXz1cCisJIi4uXC4uXGNvbmZpZy1tYWMuaCJcCisJCisKKyFFTFNFSUYgICIkKENGRykiID09ICJsaWJ4bWwyIC0gV2luMzIgKFdDRSBNSVBTKSBSZWxlYXNlIgorCitERVBfQ1BQX1RSRUVfPVwKKwkiLi5cLi5cY29uZmlnLmgiXAorCSIuLlwuLlxsaWJ4bWwuaCJcCisJIi4uXC4uXHRyaW8uaCJcCisJCitOT0RFUF9DUFBfVFJFRV89XAorCSIuLlwuLlxjb25maWctbWFjLmgiXAorCSIuLlwuLlx3aW4zMmNvbmZpZy5oIlwKKwkiLi5cLi5cd2luQ0Vjb25maWcuaCJcCisJCisKKyFFTFNFSUYgICIkKENGRykiID09ICJsaWJ4bWwyIC0gV2luMzIgKFdDRSBTSDMpIFJlbGVhc2UiCisKK0RFUF9DUFBfVFJFRV89XAorCSIuLlwuLlxjb25maWcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVuY29kaW5nLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbnRpdGllcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZ2xvYmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcaGFzaC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcSFRNTHBhcnNlci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcbGlzdC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxccGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXJJbnRlcm5hbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXFNBWC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdGhyZWFkcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdHJlZS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdXJpLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx2YWxpZC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceGxpbmsuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbGVycm9yLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxJTy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sbWVtb3J5LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx3aW4zMnZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcd2luMzJjb25maWcuaCJcCisJIi4uXC4uXGxpYnhtbC5oIlwKKwkiLi5cLi5cdHJpby5oIlwKKwkiLlx3aW5jZWNvbXBhdC5oIlwKKwkKK05PREVQX0NQUF9UUkVFXz1cCisJIi4uXC4uXGNvbmZpZy1tYWMuaCJcCisJCisKKyFFTFNFSUYgICIkKENGRykiID09ICJsaWJ4bWwyIC0gV2luMzIgKFdDRSB4ODYpIERlYnVnIgorCitERVBfQ1BQX1RSRUVfPVwKKwkiLi5cLi5cY29uZmlnLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbmNvZGluZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW50aXRpZXMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGdsb2JhbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGhhc2guaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXEhUTUxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGxpc3QuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxccGFyc2VySW50ZXJuYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxTQVguaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRocmVhZHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRyZWUuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHVyaS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdmFsaWQuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhsaW5rLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxlcnJvci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sSU8uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbG1lbW9yeS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sdmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sd2luMzJ2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXHdpbjMyY29uZmlnLmgiXAorCSIuLlwuLlxsaWJ4bWwuaCJcCisJIi4uXC4uXHRyaW8uaCJcCisJIi5cd2luY2Vjb21wYXQuaCJcCisJCitOT0RFUF9DUFBfVFJFRV89XAorCSIuLlwuLlxjb25maWctbWFjLmgiXAorCQorCishRU5ESUYgCisKKyMgRW5kIFNvdXJjZSBGaWxlCisjIEJlZ2luIFNvdXJjZSBGaWxlCisKK1NPVVJDRT0uLlwuLlx1cmkuYworCishSUYgICIkKENGRykiID09ICJsaWJ4bWwyIC0gV2luMzIgKFdDRSBBUk0pIFJlbGVhc2UiCisKK0RFUF9DUFBfVVJJX0M9XAorCSIuLlwuLlxjb25maWcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVuY29kaW5nLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbnRpdGllcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZ2xvYmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcbGlzdC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxccGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxTQVguaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRocmVhZHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRyZWUuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHVyaS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdmFsaWQuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhsaW5rLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxlcnJvci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sSU8uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbG1lbW9yeS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sdmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sd2luMzJ2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXHdpbjMyY29uZmlnLmgiXAorCSIuLlwuLlxpbmNsdWRlXHdpbkNFY29uZmlnLmgiXAorCSIuLlwuLlxsaWJ4bWwuaCJcCisJIi4uXC4uXHRyaW8uaCJcCisJIi5cd2luY2Vjb21wYXQuaCJcCisJCitOT0RFUF9DUFBfVVJJX0M9XAorCSIuLlwuLlxjb25maWctbWFjLmgiXAorCQorCishRUxTRUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgQVJNKSBEZWJ1ZyIKKworREVQX0NQUF9VUklfQz1cCisJIi4uXC4uXGNvbmZpZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW5jb2RpbmcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVudGl0aWVzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxnbG9iYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxsaXN0LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXFNBWC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdGhyZWFkcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdHJlZS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdXJpLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx2YWxpZC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceGxpbmsuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbGVycm9yLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxJTy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sbWVtb3J5LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx3aW4zMnZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcd2luMzJjb25maWcuaCJcCisJIi4uXC4uXGxpYnhtbC5oIlwKKwkiLi5cLi5cdHJpby5oIlwKKwkiLlx3aW5jZWNvbXBhdC5oIlwKKwkKK05PREVQX0NQUF9VUklfQz1cCisJIi4uXC4uXGNvbmZpZy1tYWMuaCJcCisJCisKKyFFTFNFSUYgICIkKENGRykiID09ICJsaWJ4bWwyIC0gV2luMzIgKFdDRSB4ODZlbSkgRGVidWciCisKK0RFUF9DUFBfVVJJX0M9XAorCSIuLlwuLlxjb25maWcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVuY29kaW5nLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbnRpdGllcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZ2xvYmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcbGlzdC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxccGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxTQVguaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRocmVhZHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRyZWUuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHVyaS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdmFsaWQuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhsaW5rLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxlcnJvci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sSU8uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbG1lbW9yeS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sdmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sd2luMzJ2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXHdpbjMyY29uZmlnLmgiXAorCSIuLlwuLlxsaWJ4bWwuaCJcCisJIi4uXC4uXHRyaW8uaCJcCisJIi5cd2luY2Vjb21wYXQuaCJcCisJCitOT0RFUF9DUFBfVVJJX0M9XAorCSIuLlwuLlxjb25maWctbWFjLmgiXAorCQorCishRUxTRUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgTUlQUykgUmVsZWFzZSIKKworREVQX0NQUF9VUklfQz1cCisJIi4uXC4uXGNvbmZpZy5oIlwKKwkiLi5cLi5cbGlieG1sLmgiXAorCSIuLlwuLlx0cmlvLmgiXAorCQorTk9ERVBfQ1BQX1VSSV9DPVwKKwkiLi5cLi5cY29uZmlnLW1hYy5oIlwKKwkiLi5cLi5cd2luMzJjb25maWcuaCJcCisJIi4uXC4uXHdpbkNFY29uZmlnLmgiXAorCQorCishRUxTRUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgU0gzKSBSZWxlYXNlIgorCitERVBfQ1BQX1VSSV9DPVwKKwkiLi5cLi5cY29uZmlnLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbmNvZGluZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW50aXRpZXMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGdsb2JhbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGxpc3QuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcU0FYLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0aHJlYWRzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0cmVlLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx1cmkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHZhbGlkLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bGluay5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sZXJyb3IuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbElPLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxtZW1vcnkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHdpbjMydmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVx3aW4zMmNvbmZpZy5oIlwKKwkiLi5cLi5cbGlieG1sLmgiXAorCSIuLlwuLlx0cmlvLmgiXAorCSIuXHdpbmNlY29tcGF0LmgiXAorCQorTk9ERVBfQ1BQX1VSSV9DPVwKKwkiLi5cLi5cY29uZmlnLW1hYy5oIlwKKwkKKworIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gImxpYnhtbDIgLSBXaW4zMiAoV0NFIHg4NikgRGVidWciCisKK0RFUF9DUFBfVVJJX0M9XAorCSIuLlwuLlxjb25maWcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVuY29kaW5nLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbnRpdGllcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZ2xvYmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcbGlzdC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxccGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxTQVguaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRocmVhZHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRyZWUuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHVyaS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdmFsaWQuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhsaW5rLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxlcnJvci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sSU8uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbG1lbW9yeS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sdmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sd2luMzJ2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXHdpbjMyY29uZmlnLmgiXAorCSIuLlwuLlxsaWJ4bWwuaCJcCisJIi4uXC4uXHRyaW8uaCJcCisJIi5cd2luY2Vjb21wYXQuaCJcCisJCitOT0RFUF9DUFBfVVJJX0M9XAorCSIuLlwuLlxjb25maWctbWFjLmgiXAorCQorCishRU5ESUYgCisKKyMgRW5kIFNvdXJjZSBGaWxlCisjIEJlZ2luIFNvdXJjZSBGaWxlCisKK1NPVVJDRT0uLlwuLlx2YWxpZC5jCisKKyFJRiAgIiQoQ0ZHKSIgPT0gImxpYnhtbDIgLSBXaW4zMiAoV0NFIEFSTSkgUmVsZWFzZSIKKworREVQX0NQUF9WQUxJRD1cCisJIi4uXC4uXGNvbmZpZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW5jb2RpbmcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVudGl0aWVzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxnbG9iYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxoYXNoLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxIVE1McGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxsaXN0LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlckludGVybmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcU0FYLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0aHJlYWRzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0cmVlLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx2YWxpZC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceGxpbmsuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbGVycm9yLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxJTy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sbWVtb3J5LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx3aW4zMnZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcd2luMzJjb25maWcuaCJcCisJIi4uXC4uXGluY2x1ZGVcd2luQ0Vjb25maWcuaCJcCisJIi4uXC4uXGxpYnhtbC5oIlwKKwkiLi5cLi5cdHJpby5oIlwKKwkiLlx3aW5jZWNvbXBhdC5oIlwKKwkKK05PREVQX0NQUF9WQUxJRD1cCisJIi4uXC4uXGNvbmZpZy1tYWMuaCJcCisJCisKKyFFTFNFSUYgICIkKENGRykiID09ICJsaWJ4bWwyIC0gV2luMzIgKFdDRSBBUk0pIERlYnVnIgorCitERVBfQ1BQX1ZBTElEPVwKKwkiLi5cLi5cY29uZmlnLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbmNvZGluZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW50aXRpZXMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGdsb2JhbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGhhc2guaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXEhUTUxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGxpc3QuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxccGFyc2VySW50ZXJuYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxTQVguaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRocmVhZHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRyZWUuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHZhbGlkLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bGluay5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sZXJyb3IuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbElPLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxtZW1vcnkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHdpbjMydmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVx3aW4zMmNvbmZpZy5oIlwKKwkiLi5cLi5cbGlieG1sLmgiXAorCSIuLlwuLlx0cmlvLmgiXAorCSIuXHdpbmNlY29tcGF0LmgiXAorCQorTk9ERVBfQ1BQX1ZBTElEPVwKKwkiLi5cLi5cY29uZmlnLW1hYy5oIlwKKwkKKworIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gImxpYnhtbDIgLSBXaW4zMiAoV0NFIHg4NmVtKSBEZWJ1ZyIKKworREVQX0NQUF9WQUxJRD1cCisJIi4uXC4uXGNvbmZpZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW5jb2RpbmcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVudGl0aWVzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxnbG9iYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxoYXNoLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxIVE1McGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxsaXN0LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlckludGVybmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcU0FYLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0aHJlYWRzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0cmVlLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx2YWxpZC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceGxpbmsuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbGVycm9yLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxJTy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sbWVtb3J5LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx3aW4zMnZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcd2luMzJjb25maWcuaCJcCisJIi4uXC4uXGxpYnhtbC5oIlwKKwkiLi5cLi5cdHJpby5oIlwKKwkiLlx3aW5jZWNvbXBhdC5oIlwKKwkKK05PREVQX0NQUF9WQUxJRD1cCisJIi4uXC4uXGNvbmZpZy1tYWMuaCJcCisJCisKKyFFTFNFSUYgICIkKENGRykiID09ICJsaWJ4bWwyIC0gV2luMzIgKFdDRSBNSVBTKSBSZWxlYXNlIgorCitERVBfQ1BQX1ZBTElEPVwKKwkiLi5cLi5cY29uZmlnLmgiXAorCSIuLlwuLlxsaWJ4bWwuaCJcCisJIi4uXC4uXHRyaW8uaCJcCisJCitOT0RFUF9DUFBfVkFMSUQ9XAorCSIuLlwuLlxjb25maWctbWFjLmgiXAorCSIuLlwuLlx3aW4zMmNvbmZpZy5oIlwKKwkiLi5cLi5cd2luQ0Vjb25maWcuaCJcCisJCisKKyFFTFNFSUYgICIkKENGRykiID09ICJsaWJ4bWwyIC0gV2luMzIgKFdDRSBTSDMpIFJlbGVhc2UiCisKK0RFUF9DUFBfVkFMSUQ9XAorCSIuLlwuLlxjb25maWcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVuY29kaW5nLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbnRpdGllcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZ2xvYmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcaGFzaC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcSFRNTHBhcnNlci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcbGlzdC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxccGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXJJbnRlcm5hbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXFNBWC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdGhyZWFkcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdHJlZS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdmFsaWQuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhsaW5rLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxlcnJvci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sSU8uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbG1lbW9yeS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sdmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sd2luMzJ2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXHdpbjMyY29uZmlnLmgiXAorCSIuLlwuLlxsaWJ4bWwuaCJcCisJIi4uXC4uXHRyaW8uaCJcCisJIi5cd2luY2Vjb21wYXQuaCJcCisJCitOT0RFUF9DUFBfVkFMSUQ9XAorCSIuLlwuLlxjb25maWctbWFjLmgiXAorCQorCishRUxTRUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgeDg2KSBEZWJ1ZyIKKworREVQX0NQUF9WQUxJRD1cCisJIi4uXC4uXGNvbmZpZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW5jb2RpbmcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVudGl0aWVzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxnbG9iYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxoYXNoLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxIVE1McGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxsaXN0LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlckludGVybmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcU0FYLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0aHJlYWRzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0cmVlLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx2YWxpZC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceGxpbmsuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbGVycm9yLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxJTy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sbWVtb3J5LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx3aW4zMnZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcd2luMzJjb25maWcuaCJcCisJIi4uXC4uXGxpYnhtbC5oIlwKKwkiLi5cLi5cdHJpby5oIlwKKwkiLlx3aW5jZWNvbXBhdC5oIlwKKwkKK05PREVQX0NQUF9WQUxJRD1cCisJIi4uXC4uXGNvbmZpZy1tYWMuaCJcCisJCisKKyFFTkRJRiAKKworIyBFbmQgU291cmNlIEZpbGUKKyMgQmVnaW4gU291cmNlIEZpbGUKKworU09VUkNFPS5cd2luY2Vjb21wYXQuYworCishSUYgICIkKENGRykiID09ICJsaWJ4bWwyIC0gV2luMzIgKFdDRSBBUk0pIFJlbGVhc2UiCisKK0RFUF9DUFBfV0lOQ0U9XAorCSIuXHdpbmNlY29tcGF0LmgiXAorCQorCishRUxTRUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgQVJNKSBEZWJ1ZyIKKworREVQX0NQUF9XSU5DRT1cCisJIi5cd2luY2Vjb21wYXQuaCJcCisJCisKKyFFTFNFSUYgICIkKENGRykiID09ICJsaWJ4bWwyIC0gV2luMzIgKFdDRSB4ODZlbSkgRGVidWciCisKK0RFUF9DUFBfV0lOQ0U9XAorCSIuXHdpbmNlY29tcGF0LmgiXAorCQorCishRUxTRUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgTUlQUykgUmVsZWFzZSIKKworREVQX0NQUF9XSU5DRT1cCisJIi5cd2luY2Vjb21wYXQuaCJcCisJCisKKyFFTFNFSUYgICIkKENGRykiID09ICJsaWJ4bWwyIC0gV2luMzIgKFdDRSBTSDMpIFJlbGVhc2UiCisKK0RFUF9DUFBfV0lOQ0U9XAorCSIuXHdpbmNlY29tcGF0LmgiXAorCQorCishRUxTRUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgeDg2KSBEZWJ1ZyIKKworREVQX0NQUF9XSU5DRT1cCisJIi5cd2luY2Vjb21wYXQuaCJcCisJCisKKyFFTkRJRiAKKworIyBFbmQgU291cmNlIEZpbGUKKyMgQmVnaW4gU291cmNlIEZpbGUKKworU09VUkNFPS4uXC4uXHhpbmNsdWRlLmMKKworIUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgQVJNKSBSZWxlYXNlIgorCitERVBfQ1BQX1hJTkNMPVwKKwkiLi5cLi5cY29uZmlnLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxkZWJ1Z1hNTC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW5jb2RpbmcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVudGl0aWVzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxnbG9iYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxoYXNoLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxIVE1McGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxsaXN0LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlckludGVybmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcU0FYLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0aHJlYWRzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0cmVlLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx1cmkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHZhbGlkLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4aW5jbHVkZS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceGxpbmsuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbGVycm9yLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxJTy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sbWVtb3J5LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx3aW4zMnZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhwYXRoLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4cG9pbnRlci5oIlwKKwkiLi5cLi5caW5jbHVkZVx3aW4zMmNvbmZpZy5oIlwKKwkiLi5cLi5caW5jbHVkZVx3aW5DRWNvbmZpZy5oIlwKKwkiLi5cLi5cbGlieG1sLmgiXAorCSIuLlwuLlx0cmlvLmgiXAorCSIuXHdpbmNlY29tcGF0LmgiXAorCQorTk9ERVBfQ1BQX1hJTkNMPVwKKwkiLi5cLi5cY29uZmlnLW1hYy5oIlwKKwkKKworIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gImxpYnhtbDIgLSBXaW4zMiAoV0NFIEFSTSkgRGVidWciCisKKyMgUFJPUCBFeGNsdWRlX0Zyb21fQnVpbGQgMQorREVQX0NQUF9YSU5DTD1cCisJIi4uXC4uXGNvbmZpZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZGVidWdYTUwuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVuY29kaW5nLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbnRpdGllcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZ2xvYmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcaGFzaC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcSFRNTHBhcnNlci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcbGlzdC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxccGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXJJbnRlcm5hbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXFNBWC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdGhyZWFkcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdHJlZS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdXJpLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx2YWxpZC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceGluY2x1ZGUuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhsaW5rLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxlcnJvci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sSU8uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbG1lbW9yeS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sdmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sd2luMzJ2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4cGF0aC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceHBvaW50ZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcd2luMzJjb25maWcuaCJcCisJIi4uXC4uXGxpYnhtbC5oIlwKKwkiLi5cLi5cdHJpby5oIlwKKwkiLlx3aW5jZWNvbXBhdC5oIlwKKwkKK05PREVQX0NQUF9YSU5DTD1cCisJIi4uXC4uXGNvbmZpZy1tYWMuaCJcCisJCisKKyFFTFNFSUYgICIkKENGRykiID09ICJsaWJ4bWwyIC0gV2luMzIgKFdDRSB4ODZlbSkgRGVidWciCisKK0RFUF9DUFBfWElOQ0w9XAorCSIuLlwuLlxjb25maWcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGRlYnVnWE1MLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbmNvZGluZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW50aXRpZXMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGdsb2JhbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGhhc2guaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXEhUTUxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGxpc3QuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxccGFyc2VySW50ZXJuYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxTQVguaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRocmVhZHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRyZWUuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHVyaS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdmFsaWQuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhpbmNsdWRlLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bGluay5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sZXJyb3IuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbElPLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxtZW1vcnkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHdpbjMydmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceHBhdGguaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhwb2ludGVyLmgiXAorCSIuLlwuLlxpbmNsdWRlXHdpbjMyY29uZmlnLmgiXAorCSIuLlwuLlxsaWJ4bWwuaCJcCisJIi4uXC4uXHRyaW8uaCJcCisJIi5cd2luY2Vjb21wYXQuaCJcCisJCitOT0RFUF9DUFBfWElOQ0w9XAorCSIuLlwuLlxjb25maWctbWFjLmgiXAorCQorCishRUxTRUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgTUlQUykgUmVsZWFzZSIKKworREVQX0NQUF9YSU5DTD1cCisJIi4uXC4uXGNvbmZpZy5oIlwKKwkiLi5cLi5cbGlieG1sLmgiXAorCSIuLlwuLlx0cmlvLmgiXAorCQorTk9ERVBfQ1BQX1hJTkNMPVwKKwkiLi5cLi5cY29uZmlnLW1hYy5oIlwKKwkiLi5cLi5cd2luMzJjb25maWcuaCJcCisJIi4uXC4uXHdpbkNFY29uZmlnLmgiXAorCQorCishRUxTRUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgU0gzKSBSZWxlYXNlIgorCitERVBfQ1BQX1hJTkNMPVwKKwkiLi5cLi5cY29uZmlnLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxkZWJ1Z1hNTC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW5jb2RpbmcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVudGl0aWVzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxnbG9iYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxoYXNoLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxIVE1McGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxsaXN0LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlckludGVybmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcU0FYLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0aHJlYWRzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0cmVlLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx1cmkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHZhbGlkLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4aW5jbHVkZS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceGxpbmsuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbGVycm9yLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxJTy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sbWVtb3J5LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx3aW4zMnZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhwYXRoLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4cG9pbnRlci5oIlwKKwkiLi5cLi5caW5jbHVkZVx3aW4zMmNvbmZpZy5oIlwKKwkiLi5cLi5cbGlieG1sLmgiXAorCSIuLlwuLlx0cmlvLmgiXAorCSIuXHdpbmNlY29tcGF0LmgiXAorCQorTk9ERVBfQ1BQX1hJTkNMPVwKKwkiLi5cLi5cY29uZmlnLW1hYy5oIlwKKwkKKworIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gImxpYnhtbDIgLSBXaW4zMiAoV0NFIHg4NikgRGVidWciCisKK0RFUF9DUFBfWElOQ0w9XAorCSIuLlwuLlxjb25maWcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGRlYnVnWE1MLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbmNvZGluZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW50aXRpZXMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGdsb2JhbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGhhc2guaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXEhUTUxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGxpc3QuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxccGFyc2VySW50ZXJuYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxTQVguaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRocmVhZHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRyZWUuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHVyaS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdmFsaWQuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhpbmNsdWRlLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bGluay5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sZXJyb3IuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbElPLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxtZW1vcnkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHdpbjMydmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceHBhdGguaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhwb2ludGVyLmgiXAorCSIuLlwuLlxpbmNsdWRlXHdpbjMyY29uZmlnLmgiXAorCSIuLlwuLlxsaWJ4bWwuaCJcCisJIi4uXC4uXHRyaW8uaCJcCisJIi5cd2luY2Vjb21wYXQuaCJcCisJCitOT0RFUF9DUFBfWElOQ0w9XAorCSIuLlwuLlxjb25maWctbWFjLmgiXAorCQorCishRU5ESUYgCisKKyMgRW5kIFNvdXJjZSBGaWxlCisjIEJlZ2luIFNvdXJjZSBGaWxlCisKK1NPVVJDRT0uLlwuLlx4bGluay5jCisKKyFJRiAgIiQoQ0ZHKSIgPT0gImxpYnhtbDIgLSBXaW4zMiAoV0NFIEFSTSkgUmVsZWFzZSIKKworREVQX0NQUF9YTElOSz1cCisJIi4uXC4uXGNvbmZpZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW5jb2RpbmcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVudGl0aWVzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxnbG9iYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxsaXN0LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXFNBWC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdGhyZWFkcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdHJlZS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdmFsaWQuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhsaW5rLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxlcnJvci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sSU8uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbG1lbW9yeS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sdmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sd2luMzJ2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXHdpbjMyY29uZmlnLmgiXAorCSIuLlwuLlxpbmNsdWRlXHdpbkNFY29uZmlnLmgiXAorCSIuLlwuLlxsaWJ4bWwuaCJcCisJIi4uXC4uXHRyaW8uaCJcCisJIi5cd2luY2Vjb21wYXQuaCJcCisJCitOT0RFUF9DUFBfWExJTks9XAorCSIuLlwuLlxjb25maWctbWFjLmgiXAorCQorCishRUxTRUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgQVJNKSBEZWJ1ZyIKKworREVQX0NQUF9YTElOSz1cCisJIi4uXC4uXGNvbmZpZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW5jb2RpbmcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVudGl0aWVzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxnbG9iYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxsaXN0LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXFNBWC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdGhyZWFkcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdHJlZS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdmFsaWQuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhsaW5rLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxlcnJvci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sSU8uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbG1lbW9yeS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sdmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sd2luMzJ2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXHdpbjMyY29uZmlnLmgiXAorCSIuLlwuLlxsaWJ4bWwuaCJcCisJIi4uXC4uXHRyaW8uaCJcCisJIi5cd2luY2Vjb21wYXQuaCJcCisJCitOT0RFUF9DUFBfWExJTks9XAorCSIuLlwuLlxjb25maWctbWFjLmgiXAorCQorCishRUxTRUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgeDg2ZW0pIERlYnVnIgorCitERVBfQ1BQX1hMSU5LPVwKKwkiLi5cLi5cY29uZmlnLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbmNvZGluZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW50aXRpZXMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGdsb2JhbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGxpc3QuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcU0FYLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0aHJlYWRzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0cmVlLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx2YWxpZC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceGxpbmsuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbGVycm9yLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxJTy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sbWVtb3J5LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx3aW4zMnZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcd2luMzJjb25maWcuaCJcCisJIi4uXC4uXGxpYnhtbC5oIlwKKwkiLi5cLi5cdHJpby5oIlwKKwkiLlx3aW5jZWNvbXBhdC5oIlwKKwkKK05PREVQX0NQUF9YTElOSz1cCisJIi4uXC4uXGNvbmZpZy1tYWMuaCJcCisJCisKKyFFTFNFSUYgICIkKENGRykiID09ICJsaWJ4bWwyIC0gV2luMzIgKFdDRSBNSVBTKSBSZWxlYXNlIgorCitERVBfQ1BQX1hMSU5LPVwKKwkiLi5cLi5cY29uZmlnLmgiXAorCSIuLlwuLlxsaWJ4bWwuaCJcCisJIi4uXC4uXHRyaW8uaCJcCisJCitOT0RFUF9DUFBfWExJTks9XAorCSIuLlwuLlxjb25maWctbWFjLmgiXAorCSIuLlwuLlx3aW4zMmNvbmZpZy5oIlwKKwkiLi5cLi5cd2luQ0Vjb25maWcuaCJcCisJCisKKyFFTFNFSUYgICIkKENGRykiID09ICJsaWJ4bWwyIC0gV2luMzIgKFdDRSBTSDMpIFJlbGVhc2UiCisKK0RFUF9DUFBfWExJTks9XAorCSIuLlwuLlxjb25maWcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVuY29kaW5nLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbnRpdGllcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZ2xvYmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcbGlzdC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxccGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxTQVguaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRocmVhZHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRyZWUuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHZhbGlkLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bGluay5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sZXJyb3IuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbElPLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxtZW1vcnkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHdpbjMydmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVx3aW4zMmNvbmZpZy5oIlwKKwkiLi5cLi5cbGlieG1sLmgiXAorCSIuLlwuLlx0cmlvLmgiXAorCSIuXHdpbmNlY29tcGF0LmgiXAorCQorTk9ERVBfQ1BQX1hMSU5LPVwKKwkiLi5cLi5cY29uZmlnLW1hYy5oIlwKKwkKKworIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gImxpYnhtbDIgLSBXaW4zMiAoV0NFIHg4NikgRGVidWciCisKK0RFUF9DUFBfWExJTks9XAorCSIuLlwuLlxjb25maWcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVuY29kaW5nLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbnRpdGllcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZ2xvYmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcbGlzdC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxccGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxTQVguaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRocmVhZHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRyZWUuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHZhbGlkLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bGluay5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sZXJyb3IuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbElPLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxtZW1vcnkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHdpbjMydmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVx3aW4zMmNvbmZpZy5oIlwKKwkiLi5cLi5cbGlieG1sLmgiXAorCSIuLlwuLlx0cmlvLmgiXAorCSIuXHdpbmNlY29tcGF0LmgiXAorCQorTk9ERVBfQ1BQX1hMSU5LPVwKKwkiLi5cLi5cY29uZmlnLW1hYy5oIlwKKwkKKworIUVORElGIAorCisjIEVuZCBTb3VyY2UgRmlsZQorIyBCZWdpbiBTb3VyY2UgRmlsZQorCitTT1VSQ0U9Li5cLi5ceG1sSU8uYworCishSUYgICIkKENGRykiID09ICJsaWJ4bWwyIC0gV2luMzIgKFdDRSBBUk0pIFJlbGVhc2UiCisKK0RFUF9DUFBfWE1MSU89XAorCSIuLlwuLlxjb25maWcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGNhdGFsb2cuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVuY29kaW5nLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbnRpdGllcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZ2xvYmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcSFRNTHBhcnNlci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcbGlzdC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcbmFub2Z0cC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcbmFub2h0dHAuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxccGFyc2VySW50ZXJuYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxTQVguaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRocmVhZHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRyZWUuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHVyaS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdmFsaWQuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhsaW5rLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxlcnJvci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sSU8uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbG1lbW9yeS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sdmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sd2luMzJ2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXHdpbjMyY29uZmlnLmgiXAorCSIuLlwuLlxpbmNsdWRlXHdpbkNFY29uZmlnLmgiXAorCSIuLlwuLlxsaWJ4bWwuaCJcCisJIi4uXC4uXHRyaW8uaCJcCisJIi5cd2luY2Vjb21wYXQuaCJcCisJCitOT0RFUF9DUFBfWE1MSU89XAorCSIuLlwuLlxjb25maWctbWFjLmgiXAorCQorCishRUxTRUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgQVJNKSBEZWJ1ZyIKKworREVQX0NQUF9YTUxJTz1cCisJIi4uXC4uXGNvbmZpZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcY2F0YWxvZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW5jb2RpbmcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVudGl0aWVzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxnbG9iYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxIVE1McGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxsaXN0LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxuYW5vZnRwLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxuYW5vaHR0cC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxccGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXJJbnRlcm5hbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXFNBWC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdGhyZWFkcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdHJlZS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdXJpLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx2YWxpZC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceGxpbmsuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbGVycm9yLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxJTy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sbWVtb3J5LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx3aW4zMnZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcd2luMzJjb25maWcuaCJcCisJIi4uXC4uXGxpYnhtbC5oIlwKKwkiLi5cLi5cdHJpby5oIlwKKwkiLlx3aW5jZWNvbXBhdC5oIlwKKwkKK05PREVQX0NQUF9YTUxJTz1cCisJIi4uXC4uXGNvbmZpZy1tYWMuaCJcCisJCisKKyFFTFNFSUYgICIkKENGRykiID09ICJsaWJ4bWwyIC0gV2luMzIgKFdDRSB4ODZlbSkgRGVidWciCisKK0RFUF9DUFBfWE1MSU89XAorCSIuLlwuLlxjb25maWcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGNhdGFsb2cuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVuY29kaW5nLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbnRpdGllcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZ2xvYmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcSFRNTHBhcnNlci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcbGlzdC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcbmFub2Z0cC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcbmFub2h0dHAuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxccGFyc2VySW50ZXJuYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxTQVguaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRocmVhZHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRyZWUuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHVyaS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdmFsaWQuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhsaW5rLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxlcnJvci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sSU8uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbG1lbW9yeS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sdmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sd2luMzJ2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXHdpbjMyY29uZmlnLmgiXAorCSIuLlwuLlxsaWJ4bWwuaCJcCisJIi4uXC4uXHRyaW8uaCJcCisJIi5cd2luY2Vjb21wYXQuaCJcCisJCitOT0RFUF9DUFBfWE1MSU89XAorCSIuLlwuLlxjb25maWctbWFjLmgiXAorCQorCishRUxTRUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgTUlQUykgUmVsZWFzZSIKKworREVQX0NQUF9YTUxJTz1cCisJIi4uXC4uXGNvbmZpZy5oIlwKKwkiLi5cLi5cbGlieG1sLmgiXAorCSIuLlwuLlx0cmlvLmgiXAorCQorTk9ERVBfQ1BQX1hNTElPPVwKKwkiLi5cLi5cY29uZmlnLW1hYy5oIlwKKwkiLi5cLi5cd2luMzJjb25maWcuaCJcCisJIi4uXC4uXHdpbkNFY29uZmlnLmgiXAorCQorCishRUxTRUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgU0gzKSBSZWxlYXNlIgorCitERVBfQ1BQX1hNTElPPVwKKwkiLi5cLi5cY29uZmlnLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxjYXRhbG9nLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbmNvZGluZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW50aXRpZXMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGdsb2JhbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXEhUTUxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGxpc3QuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXG5hbm9mdHAuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXG5hbm9odHRwLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlckludGVybmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcU0FYLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0aHJlYWRzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0cmVlLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx1cmkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHZhbGlkLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bGluay5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sZXJyb3IuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbElPLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxtZW1vcnkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHdpbjMydmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVx3aW4zMmNvbmZpZy5oIlwKKwkiLi5cLi5cbGlieG1sLmgiXAorCSIuLlwuLlx0cmlvLmgiXAorCSIuXHdpbmNlY29tcGF0LmgiXAorCQorTk9ERVBfQ1BQX1hNTElPPVwKKwkiLi5cLi5cY29uZmlnLW1hYy5oIlwKKwkKKworIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gImxpYnhtbDIgLSBXaW4zMiAoV0NFIHg4NikgRGVidWciCisKK0RFUF9DUFBfWE1MSU89XAorCSIuLlwuLlxjb25maWcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGNhdGFsb2cuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVuY29kaW5nLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbnRpdGllcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZ2xvYmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcSFRNTHBhcnNlci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcbGlzdC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcbmFub2Z0cC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcbmFub2h0dHAuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxccGFyc2VySW50ZXJuYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxTQVguaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRocmVhZHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRyZWUuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHVyaS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdmFsaWQuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhsaW5rLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxlcnJvci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sSU8uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbG1lbW9yeS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sdmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sd2luMzJ2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXHdpbjMyY29uZmlnLmgiXAorCSIuLlwuLlxsaWJ4bWwuaCJcCisJIi4uXC4uXHRyaW8uaCJcCisJIi5cd2luY2Vjb21wYXQuaCJcCisJCitOT0RFUF9DUFBfWE1MSU89XAorCSIuLlwuLlxjb25maWctbWFjLmgiXAorCQorCishRU5ESUYgCisKKyMgRW5kIFNvdXJjZSBGaWxlCisjIEJlZ2luIFNvdXJjZSBGaWxlCisKK1NPVVJDRT0uLlwuLlx4bWxtZW1vcnkuYworCishSUYgICIkKENGRykiID09ICJsaWJ4bWwyIC0gV2luMzIgKFdDRSBBUk0pIFJlbGVhc2UiCisKK0RFUF9DUFBfWE1MTUU9XAorCSIuLlwuLlxjb25maWcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVuY29kaW5nLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbnRpdGllcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZ2xvYmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcbGlzdC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxccGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxTQVguaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRocmVhZHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRyZWUuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHZhbGlkLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bGluay5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sZXJyb3IuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbElPLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxtZW1vcnkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHdpbjMydmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVx3aW4zMmNvbmZpZy5oIlwKKwkiLi5cLi5caW5jbHVkZVx3aW5DRWNvbmZpZy5oIlwKKwkiLi5cLi5cbGlieG1sLmgiXAorCSIuLlwuLlx0cmlvLmgiXAorCSIuXHdpbmNlY29tcGF0LmgiXAorCQorTk9ERVBfQ1BQX1hNTE1FPVwKKwkiLi5cLi5cY29uZmlnLW1hYy5oIlwKKwkKKworIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gImxpYnhtbDIgLSBXaW4zMiAoV0NFIEFSTSkgRGVidWciCisKK0RFUF9DUFBfWE1MTUU9XAorCSIuLlwuLlxjb25maWcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVuY29kaW5nLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbnRpdGllcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZ2xvYmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcbGlzdC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxccGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxTQVguaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRocmVhZHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRyZWUuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHZhbGlkLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bGluay5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sZXJyb3IuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbElPLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxtZW1vcnkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHdpbjMydmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVx3aW4zMmNvbmZpZy5oIlwKKwkiLi5cLi5cbGlieG1sLmgiXAorCSIuLlwuLlx0cmlvLmgiXAorCSIuXHdpbmNlY29tcGF0LmgiXAorCQorTk9ERVBfQ1BQX1hNTE1FPVwKKwkiLi5cLi5cY29uZmlnLW1hYy5oIlwKKwkKKworIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gImxpYnhtbDIgLSBXaW4zMiAoV0NFIHg4NmVtKSBEZWJ1ZyIKKworREVQX0NQUF9YTUxNRT1cCisJIi4uXC4uXGNvbmZpZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW5jb2RpbmcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVudGl0aWVzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxnbG9iYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxsaXN0LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXFNBWC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdGhyZWFkcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdHJlZS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdmFsaWQuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhsaW5rLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxlcnJvci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sSU8uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbG1lbW9yeS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sdmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sd2luMzJ2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXHdpbjMyY29uZmlnLmgiXAorCSIuLlwuLlxsaWJ4bWwuaCJcCisJIi4uXC4uXHRyaW8uaCJcCisJIi5cd2luY2Vjb21wYXQuaCJcCisJCitOT0RFUF9DUFBfWE1MTUU9XAorCSIuLlwuLlxjb25maWctbWFjLmgiXAorCQorCishRUxTRUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgTUlQUykgUmVsZWFzZSIKKworREVQX0NQUF9YTUxNRT1cCisJIi4uXC4uXGNvbmZpZy5oIlwKKwkiLi5cLi5cbGlieG1sLmgiXAorCSIuLlwuLlx0cmlvLmgiXAorCQorTk9ERVBfQ1BQX1hNTE1FPVwKKwkiLi5cLi5cY29uZmlnLW1hYy5oIlwKKwkiLi5cLi5cd2luMzJjb25maWcuaCJcCisJIi4uXC4uXHdpbkNFY29uZmlnLmgiXAorCQorCishRUxTRUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgU0gzKSBSZWxlYXNlIgorCitERVBfQ1BQX1hNTE1FPVwKKwkiLi5cLi5cY29uZmlnLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbmNvZGluZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW50aXRpZXMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGdsb2JhbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGxpc3QuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcU0FYLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0aHJlYWRzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0cmVlLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx2YWxpZC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceGxpbmsuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbGVycm9yLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxJTy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sbWVtb3J5LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx3aW4zMnZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcd2luMzJjb25maWcuaCJcCisJIi4uXC4uXGxpYnhtbC5oIlwKKwkiLi5cLi5cdHJpby5oIlwKKwkiLlx3aW5jZWNvbXBhdC5oIlwKKwkKK05PREVQX0NQUF9YTUxNRT1cCisJIi4uXC4uXGNvbmZpZy1tYWMuaCJcCisJCisKKyFFTFNFSUYgICIkKENGRykiID09ICJsaWJ4bWwyIC0gV2luMzIgKFdDRSB4ODYpIERlYnVnIgorCitERVBfQ1BQX1hNTE1FPVwKKwkiLi5cLi5cY29uZmlnLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbmNvZGluZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW50aXRpZXMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGdsb2JhbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGxpc3QuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcU0FYLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0aHJlYWRzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0cmVlLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx2YWxpZC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceGxpbmsuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbGVycm9yLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxJTy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sbWVtb3J5LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx3aW4zMnZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcd2luMzJjb25maWcuaCJcCisJIi4uXC4uXGxpYnhtbC5oIlwKKwkiLi5cLi5cdHJpby5oIlwKKwkiLlx3aW5jZWNvbXBhdC5oIlwKKwkKK05PREVQX0NQUF9YTUxNRT1cCisJIi4uXC4uXGNvbmZpZy1tYWMuaCJcCisJCisKKyFFTkRJRiAKKworIyBFbmQgU291cmNlIEZpbGUKKyMgQmVnaW4gU291cmNlIEZpbGUKKworU09VUkNFPS4uXC4uXHhwYXRoLmMKKworIUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgQVJNKSBSZWxlYXNlIgorCitERVBfQ1BQX1hQQVRIPVwKKwkiLi5cLi5cY29uZmlnLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxkZWJ1Z1hNTC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW5jb2RpbmcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVudGl0aWVzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxnbG9iYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxoYXNoLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxIVE1McGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxsaXN0LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlckludGVybmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcU0FYLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0aHJlYWRzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0cmVlLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx2YWxpZC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceGxpbmsuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbGVycm9yLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxJTy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sbWVtb3J5LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx3aW4zMnZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhwYXRoLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4cGF0aEludGVybmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceHBvaW50ZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcd2luMzJjb25maWcuaCJcCisJIi4uXC4uXGluY2x1ZGVcd2luQ0Vjb25maWcuaCJcCisJIi4uXC4uXGxpYnhtbC5oIlwKKwkiLi5cLi5cdHJpby5oIlwKKwkiLi5cLi5cdHJpb2RlZi5oIlwKKwkiLi5cLi5cdHJpb25hbi5jIlwKKwkiLi5cLi5cdHJpb25hbi5oIlwKKwkiLlx3aW5jZWNvbXBhdC5oIlwKKwkKK05PREVQX0NQUF9YUEFUSD1cCisJIi4uXC4uXGNvbmZpZy1tYWMuaCJcCisJIi4uXC4uXGRvY1xkb2NfbmFuLmgiXAorCQorCishRUxTRUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgQVJNKSBEZWJ1ZyIKKworIyBQUk9QIEV4Y2x1ZGVfRnJvbV9CdWlsZCAxCitERVBfQ1BQX1hQQVRIPVwKKwkiLi5cLi5cY29uZmlnLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxkZWJ1Z1hNTC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW5jb2RpbmcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVudGl0aWVzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxnbG9iYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxoYXNoLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxIVE1McGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxsaXN0LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlckludGVybmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcU0FYLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0aHJlYWRzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0cmVlLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx2YWxpZC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceGxpbmsuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbGVycm9yLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxJTy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sbWVtb3J5LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx3aW4zMnZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhwYXRoLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4cGF0aEludGVybmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceHBvaW50ZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcd2luMzJjb25maWcuaCJcCisJIi4uXC4uXGxpYnhtbC5oIlwKKwkiLi5cLi5cdHJpby5oIlwKKwkiLi5cLi5cdHJpb2RlZi5oIlwKKwkiLi5cLi5cdHJpb25hbi5jIlwKKwkiLi5cLi5cdHJpb25hbi5oIlwKKwkiLlx3aW5jZWNvbXBhdC5oIlwKKwkKK05PREVQX0NQUF9YUEFUSD1cCisJIi4uXC4uXGNvbmZpZy1tYWMuaCJcCisJIi4uXC4uXGRvY1xkb2NfbmFuLmgiXAorCQorCishRUxTRUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgeDg2ZW0pIERlYnVnIgorCitERVBfQ1BQX1hQQVRIPVwKKwkiLi5cLi5cY29uZmlnLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxkZWJ1Z1hNTC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW5jb2RpbmcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVudGl0aWVzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxnbG9iYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxoYXNoLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxIVE1McGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxsaXN0LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlckludGVybmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcU0FYLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0aHJlYWRzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0cmVlLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx2YWxpZC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceGxpbmsuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbGVycm9yLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxJTy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sbWVtb3J5LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx3aW4zMnZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhwYXRoLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4cGF0aEludGVybmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceHBvaW50ZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcd2luMzJjb25maWcuaCJcCisJIi4uXC4uXGxpYnhtbC5oIlwKKwkiLi5cLi5cdHJpby5oIlwKKwkiLi5cLi5cdHJpb2RlZi5oIlwKKwkiLi5cLi5cdHJpb25hbi5jIlwKKwkiLi5cLi5cdHJpb25hbi5oIlwKKwkiLlx3aW5jZWNvbXBhdC5oIlwKKwkKK05PREVQX0NQUF9YUEFUSD1cCisJIi4uXC4uXGNvbmZpZy1tYWMuaCJcCisJIi4uXC4uXGRvY1xkb2NfbmFuLmgiXAorCQorCishRUxTRUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgTUlQUykgUmVsZWFzZSIKKworREVQX0NQUF9YUEFUSD1cCisJIi4uXC4uXGNvbmZpZy5oIlwKKwkiLi5cLi5cbGlieG1sLmgiXAorCSIuLlwuLlx0cmlvLmgiXAorCSIuLlwuLlx0cmlvZGVmLmgiXAorCSIuLlwuLlx0cmlvbmFuLmMiXAorCSIuLlwuLlx0cmlvbmFuLmgiXAorCQorTk9ERVBfQ1BQX1hQQVRIPVwKKwkiLi5cLi5cY29uZmlnLW1hYy5oIlwKKwkiLi5cLi5cZG9jXGRvY19uYW4uaCJcCisJIi4uXC4uXHdpbjMyY29uZmlnLmgiXAorCSIuLlwuLlx3aW5DRWNvbmZpZy5oIlwKKwkKKworIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gImxpYnhtbDIgLSBXaW4zMiAoV0NFIFNIMykgUmVsZWFzZSIKKworREVQX0NQUF9YUEFUSD1cCisJIi4uXC4uXGNvbmZpZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZGVidWdYTUwuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVuY29kaW5nLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbnRpdGllcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZ2xvYmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcaGFzaC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcSFRNTHBhcnNlci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcbGlzdC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxccGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXJJbnRlcm5hbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXFNBWC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdGhyZWFkcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdHJlZS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdmFsaWQuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhsaW5rLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxlcnJvci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sSU8uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbG1lbW9yeS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sdmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sd2luMzJ2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4cGF0aC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceHBhdGhJbnRlcm5hbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhwb2ludGVyLmgiXAorCSIuLlwuLlxpbmNsdWRlXHdpbjMyY29uZmlnLmgiXAorCSIuLlwuLlxsaWJ4bWwuaCJcCisJIi4uXC4uXHRyaW8uaCJcCisJIi4uXC4uXHRyaW9kZWYuaCJcCisJIi4uXC4uXHRyaW9uYW4uYyJcCisJIi4uXC4uXHRyaW9uYW4uaCJcCisJIi5cd2luY2Vjb21wYXQuaCJcCisJCitOT0RFUF9DUFBfWFBBVEg9XAorCSIuLlwuLlxjb25maWctbWFjLmgiXAorCSIuLlwuLlxkb2NcZG9jX25hbi5oIlwKKwkKKworIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gImxpYnhtbDIgLSBXaW4zMiAoV0NFIHg4NikgRGVidWciCisKK0RFUF9DUFBfWFBBVEg9XAorCSIuLlwuLlxjb25maWcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGRlYnVnWE1MLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbmNvZGluZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW50aXRpZXMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGdsb2JhbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGhhc2guaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXEhUTUxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGxpc3QuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxccGFyc2VySW50ZXJuYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxTQVguaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRocmVhZHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRyZWUuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHZhbGlkLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bGluay5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sZXJyb3IuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbElPLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxtZW1vcnkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHdpbjMydmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceHBhdGguaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhwYXRoSW50ZXJuYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4cG9pbnRlci5oIlwKKwkiLi5cLi5caW5jbHVkZVx3aW4zMmNvbmZpZy5oIlwKKwkiLi5cLi5cbGlieG1sLmgiXAorCSIuLlwuLlx0cmlvLmgiXAorCSIuLlwuLlx0cmlvZGVmLmgiXAorCSIuLlwuLlx0cmlvbmFuLmMiXAorCSIuLlwuLlx0cmlvbmFuLmgiXAorCSIuXHdpbmNlY29tcGF0LmgiXAorCQorTk9ERVBfQ1BQX1hQQVRIPVwKKwkiLi5cLi5cY29uZmlnLW1hYy5oIlwKKwkiLi5cLi5cZG9jXGRvY19uYW4uaCJcCisJCisKKyFFTkRJRiAKKworIyBFbmQgU291cmNlIEZpbGUKKyMgQmVnaW4gU291cmNlIEZpbGUKKworU09VUkNFPS4uXC4uXHhwb2ludGVyLmMKKworIUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgQVJNKSBSZWxlYXNlIgorCitERVBfQ1BQX1hQT0lOPVwKKwkiLi5cLi5cY29uZmlnLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxkZWJ1Z1hNTC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW5jb2RpbmcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVudGl0aWVzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxnbG9iYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxoYXNoLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxIVE1McGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxsaXN0LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlckludGVybmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcU0FYLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0aHJlYWRzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0cmVlLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx1cmkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHZhbGlkLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bGluay5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sZXJyb3IuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbElPLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxtZW1vcnkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHdpbjMydmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceHBhdGguaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhwYXRoSW50ZXJuYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4cG9pbnRlci5oIlwKKwkiLi5cLi5caW5jbHVkZVx3aW4zMmNvbmZpZy5oIlwKKwkiLi5cLi5caW5jbHVkZVx3aW5DRWNvbmZpZy5oIlwKKwkiLi5cLi5cbGlieG1sLmgiXAorCSIuLlwuLlx0cmlvLmgiXAorCSIuXHdpbmNlY29tcGF0LmgiXAorCQorTk9ERVBfQ1BQX1hQT0lOPVwKKwkiLi5cLi5cY29uZmlnLW1hYy5oIlwKKwkKKworIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gImxpYnhtbDIgLSBXaW4zMiAoV0NFIEFSTSkgRGVidWciCisKKyMgUFJPUCBFeGNsdWRlX0Zyb21fQnVpbGQgMQorREVQX0NQUF9YUE9JTj1cCisJIi4uXC4uXGNvbmZpZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZGVidWdYTUwuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVuY29kaW5nLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbnRpdGllcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZ2xvYmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcaGFzaC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcSFRNTHBhcnNlci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcbGlzdC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxccGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXJJbnRlcm5hbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXFNBWC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdGhyZWFkcy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdHJlZS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdXJpLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx2YWxpZC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceGxpbmsuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbGVycm9yLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxJTy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sbWVtb3J5LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWx3aW4zMnZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhwYXRoLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4cGF0aEludGVybmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceHBvaW50ZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcd2luMzJjb25maWcuaCJcCisJIi4uXC4uXGxpYnhtbC5oIlwKKwkiLi5cLi5cdHJpby5oIlwKKwkiLlx3aW5jZWNvbXBhdC5oIlwKKwkKK05PREVQX0NQUF9YUE9JTj1cCisJIi4uXC4uXGNvbmZpZy1tYWMuaCJcCisJCisKKyFFTFNFSUYgICIkKENGRykiID09ICJsaWJ4bWwyIC0gV2luMzIgKFdDRSB4ODZlbSkgRGVidWciCisKK0RFUF9DUFBfWFBPSU49XAorCSIuLlwuLlxjb25maWcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGRlYnVnWE1MLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbmNvZGluZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW50aXRpZXMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGdsb2JhbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGhhc2guaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXEhUTUxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGxpc3QuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxccGFyc2VySW50ZXJuYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxTQVguaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRocmVhZHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRyZWUuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHVyaS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdmFsaWQuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhsaW5rLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxlcnJvci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sSU8uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbG1lbW9yeS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sdmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sd2luMzJ2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4cGF0aC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceHBhdGhJbnRlcm5hbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhwb2ludGVyLmgiXAorCSIuLlwuLlxpbmNsdWRlXHdpbjMyY29uZmlnLmgiXAorCSIuLlwuLlxsaWJ4bWwuaCJcCisJIi4uXC4uXHRyaW8uaCJcCisJIi5cd2luY2Vjb21wYXQuaCJcCisJCitOT0RFUF9DUFBfWFBPSU49XAorCSIuLlwuLlxjb25maWctbWFjLmgiXAorCQorCishRUxTRUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgTUlQUykgUmVsZWFzZSIKKworREVQX0NQUF9YUE9JTj1cCisJIi4uXC4uXGNvbmZpZy5oIlwKKwkiLi5cLi5cbGlieG1sLmgiXAorCSIuLlwuLlx0cmlvLmgiXAorCQorTk9ERVBfQ1BQX1hQT0lOPVwKKwkiLi5cLi5cY29uZmlnLW1hYy5oIlwKKwkiLi5cLi5cd2luMzJjb25maWcuaCJcCisJIi4uXC4uXHdpbkNFY29uZmlnLmgiXAorCQorCishRUxTRUlGICAiJChDRkcpIiA9PSAibGlieG1sMiAtIFdpbjMyIChXQ0UgU0gzKSBSZWxlYXNlIgorCitERVBfQ1BQX1hQT0lOPVwKKwkiLi5cLi5cY29uZmlnLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxkZWJ1Z1hNTC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW5jb2RpbmcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGVudGl0aWVzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxnbG9iYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxoYXNoLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxIVE1McGFyc2VyLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxsaXN0LmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlckludGVybmFscy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcU0FYLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0aHJlYWRzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx0cmVlLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx1cmkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHZhbGlkLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bGluay5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sZXJyb3IuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbElPLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxtZW1vcnkuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHZlcnNpb24uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbHdpbjMydmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceHBhdGguaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhwYXRoSW50ZXJuYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4cG9pbnRlci5oIlwKKwkiLi5cLi5caW5jbHVkZVx3aW4zMmNvbmZpZy5oIlwKKwkiLi5cLi5cbGlieG1sLmgiXAorCSIuLlwuLlx0cmlvLmgiXAorCSIuXHdpbmNlY29tcGF0LmgiXAorCQorTk9ERVBfQ1BQX1hQT0lOPVwKKwkiLi5cLi5cY29uZmlnLW1hYy5oIlwKKwkKKworIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gImxpYnhtbDIgLSBXaW4zMiAoV0NFIHg4NikgRGVidWciCisKK0RFUF9DUFBfWFBPSU49XAorCSIuLlwuLlxjb25maWcuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGRlYnVnWE1MLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxlbmNvZGluZy5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcZW50aXRpZXMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGdsb2JhbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGhhc2guaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXEhUTUxwYXJzZXIuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXGxpc3QuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHBhcnNlci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxccGFyc2VySW50ZXJuYWxzLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFxTQVguaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRocmVhZHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHRyZWUuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHVyaS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxcdmFsaWQuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhsaW5rLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxlcnJvci5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sSU8uaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbG1lbW9yeS5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sdmVyc2lvbi5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceG1sd2luMzJ2ZXJzaW9uLmgiXAorCSIuLlwuLlxpbmNsdWRlXGxpYnhtbFx4cGF0aC5oIlwKKwkiLi5cLi5caW5jbHVkZVxsaWJ4bWxceHBhdGhJbnRlcm5hbHMuaCJcCisJIi4uXC4uXGluY2x1ZGVcbGlieG1sXHhwb2ludGVyLmgiXAorCSIuLlwuLlxpbmNsdWRlXHdpbjMyY29uZmlnLmgiXAorCSIuLlwuLlxsaWJ4bWwuaCJcCisJIi4uXC4uXHRyaW8uaCJcCisJIi5cd2luY2Vjb21wYXQuaCJcCisJCitOT0RFUF9DUFBfWFBPSU49XAorCSIuLlwuLlxjb25maWctbWFjLmgiXAorCQorCishRU5ESUYgCisKKyMgRW5kIFNvdXJjZSBGaWxlCisjIEVuZCBHcm91cAorIyBCZWdpbiBHcm91cCAiSGVhZGVyIEZpbGVzIgorCisjIFBST1AgRGVmYXVsdF9GaWx0ZXIgImg7aHBwO2h4eDtobTtpbmwiCisjIEJlZ2luIFNvdXJjZSBGaWxlCisKK1NPVVJDRT0uLlwuLlxpbmNsdWRlXGxpYnhtbFxjMTRuLmgKKyMgRW5kIFNvdXJjZSBGaWxlCisjIEJlZ2luIFNvdXJjZSBGaWxlCisKK1NPVVJDRT0uLlwuLlxpbmNsdWRlXGxpYnhtbFxjYXRhbG9nLmgKKyMgRW5kIFNvdXJjZSBGaWxlCisjIEJlZ2luIFNvdXJjZSBGaWxlCisKK1NPVVJDRT0uLlwuLlxpbmNsdWRlXGxpYnhtbFxkZWJ1Z1hNTC5oCisjIEVuZCBTb3VyY2UgRmlsZQorIyBCZWdpbiBTb3VyY2UgRmlsZQorCitTT1VSQ0U9Li5cLi5caW5jbHVkZVxsaWJ4bWxcRE9DQnBhcnNlci5oCisjIEVuZCBTb3VyY2UgRmlsZQorIyBCZWdpbiBTb3VyY2UgRmlsZQorCitTT1VSQ0U9Li5cLi5caW5jbHVkZVxsaWJ4bWxcZW5jb2RpbmcuaAorIyBFbmQgU291cmNlIEZpbGUKKyMgQmVnaW4gU291cmNlIEZpbGUKKworU09VUkNFPS4uXC4uXGluY2x1ZGVcbGlieG1sXGVudGl0aWVzLmgKKyMgRW5kIFNvdXJjZSBGaWxlCisjIEJlZ2luIFNvdXJjZSBGaWxlCisKK1NPVVJDRT0uLlwuLlxpbmNsdWRlXGxpYnhtbFxnbG9iYWxzLmgKKyMgRW5kIFNvdXJjZSBGaWxlCisjIEJlZ2luIFNvdXJjZSBGaWxlCisKK1NPVVJDRT0uLlwuLlxpbmNsdWRlXGxpYnhtbFxoYXNoLmgKKyMgRW5kIFNvdXJjZSBGaWxlCisjIEJlZ2luIFNvdXJjZSBGaWxlCisKK1NPVVJDRT0uLlwuLlxpbmNsdWRlXGxpYnhtbFxIVE1McGFyc2VyLmgKKyMgRW5kIFNvdXJjZSBGaWxlCisjIEJlZ2luIFNvdXJjZSBGaWxlCisKK1NPVVJDRT0uLlwuLlxpbmNsdWRlXGxpYnhtbFxIVE1MdHJlZS5oCisjIEVuZCBTb3VyY2UgRmlsZQorIyBCZWdpbiBTb3VyY2UgRmlsZQorCitTT1VSQ0U9Li5cLi5cbGlieG1sLmgKKyMgRW5kIFNvdXJjZSBGaWxlCisjIEJlZ2luIFNvdXJjZSBGaWxlCisKK1NPVVJDRT0uLlwuLlxpbmNsdWRlXGxpYnhtbFxsaXN0LmgKKyMgRW5kIFNvdXJjZSBGaWxlCisjIEJlZ2luIFNvdXJjZSBGaWxlCisKK1NPVVJDRT0uLlwuLlxpbmNsdWRlXGxpYnhtbFxuYW5vZnRwLmgKKyMgRW5kIFNvdXJjZSBGaWxlCisjIEJlZ2luIFNvdXJjZSBGaWxlCisKK1NPVVJDRT0uLlwuLlxpbmNsdWRlXGxpYnhtbFxuYW5vaHR0cC5oCisjIEVuZCBTb3VyY2UgRmlsZQorIyBCZWdpbiBTb3VyY2UgRmlsZQorCitTT1VSQ0U9Li5cLi5caW5jbHVkZVxsaWJ4bWxccGFyc2VyLmgKKyMgRW5kIFNvdXJjZSBGaWxlCisjIEJlZ2luIFNvdXJjZSBGaWxlCisKK1NPVVJDRT0uLlwuLlxpbmNsdWRlXGxpYnhtbFxwYXJzZXJJbnRlcm5hbHMuaAorIyBFbmQgU291cmNlIEZpbGUKKyMgQmVnaW4gU291cmNlIEZpbGUKKworU09VUkNFPS4uXC4uXGluY2x1ZGVcbGlieG1sXFNBWC5oCisjIEVuZCBTb3VyY2UgRmlsZQorIyBCZWdpbiBTb3VyY2UgRmlsZQorCitTT1VSQ0U9Li5cLi5caW5jbHVkZVxsaWJ4bWxcdHJlZS5oCisjIEVuZCBTb3VyY2UgRmlsZQorIyBCZWdpbiBTb3VyY2UgRmlsZQorCitTT1VSQ0U9Li5cLi5caW5jbHVkZVxsaWJ4bWxcdXJpLmgKKyMgRW5kIFNvdXJjZSBGaWxlCisjIEJlZ2luIFNvdXJjZSBGaWxlCisKK1NPVVJDRT0uLlwuLlxpbmNsdWRlXGxpYnhtbFx2YWxpZC5oCisjIEVuZCBTb3VyY2UgRmlsZQorIyBCZWdpbiBTb3VyY2UgRmlsZQorCitTT1VSQ0U9Li5cLi5caW5jbHVkZVx3aW4zMmNvbmZpZy5oCisjIEVuZCBTb3VyY2UgRmlsZQorIyBCZWdpbiBTb3VyY2UgRmlsZQorCitTT1VSQ0U9Llx3aW5jZWNvbXBhdC5oCisjIEVuZCBTb3VyY2UgRmlsZQorIyBCZWdpbiBTb3VyY2UgRmlsZQorCitTT1VSQ0U9Li5cLi5caW5jbHVkZVxsaWJ4bWxceGluY2x1ZGUuaAorIyBFbmQgU291cmNlIEZpbGUKKyMgQmVnaW4gU291cmNlIEZpbGUKKworU09VUkNFPS4uXC4uXGluY2x1ZGVcbGlieG1sXHhsaW5rLmgKKyMgRW5kIFNvdXJjZSBGaWxlCisjIEJlZ2luIFNvdXJjZSBGaWxlCisKK1NPVVJDRT0uLlwuLlxpbmNsdWRlXGxpYnhtbFx4bWxlcnJvci5oCisjIEVuZCBTb3VyY2UgRmlsZQorIyBCZWdpbiBTb3VyY2UgRmlsZQorCitTT1VSQ0U9Li5cLi5caW5jbHVkZVxsaWJ4bWxceG1sSU8uaAorIyBFbmQgU291cmNlIEZpbGUKKyMgQmVnaW4gU291cmNlIEZpbGUKKworU09VUkNFPS4uXC4uXGluY2x1ZGVcbGlieG1sXHhtbG1lbW9yeS5oCisjIEVuZCBTb3VyY2UgRmlsZQorIyBCZWdpbiBTb3VyY2UgRmlsZQorCitTT1VSQ0U9Li5cLi5caW5jbHVkZVxsaWJ4bWxceG1sdmVyc2lvbi5oCisjIEVuZCBTb3VyY2UgRmlsZQorIyBCZWdpbiBTb3VyY2UgRmlsZQorCitTT1VSQ0U9Li5cLi5caW5jbHVkZVxsaWJ4bWxceG1sd2luMzJ2ZXJzaW9uLmgKKyMgRW5kIFNvdXJjZSBGaWxlCisjIEJlZ2luIFNvdXJjZSBGaWxlCisKK1NPVVJDRT0uLlwuLlxpbmNsdWRlXGxpYnhtbFx4cGF0aC5oCisjIEVuZCBTb3VyY2UgRmlsZQorIyBCZWdpbiBTb3VyY2UgRmlsZQorCitTT1VSQ0U9Li5cLi5caW5jbHVkZVxsaWJ4bWxceHBhdGhJbnRlcm5hbHMuaAorIyBFbmQgU291cmNlIEZpbGUKKyMgQmVnaW4gU291cmNlIEZpbGUKKworU09VUkNFPS4uXC4uXGluY2x1ZGVcbGlieG1sXHhwb2ludGVyLmgKKyMgRW5kIFNvdXJjZSBGaWxlCisjIEVuZCBHcm91cAorIyBFbmQgVGFyZ2V0CisjIEVuZCBQcm9qZWN0CmRpZmYgLS1naXQgYS9saWJ4bWwyL3dpbjMyL3dpbmNlL2xpYnhtbDIudmN3IGIvbGlieG1sMi93aW4zMi93aW5jZS9saWJ4bWwyLnZjdwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMDUwYzRmCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi93aW4zMi93aW5jZS9saWJ4bWwyLnZjdwpAQCAtMCwwICsxLDQxIEBACitNaWNyb3NvZnQgZU1iZWRkZWQgVmlzdWFsIFRvb2xzIFdvcmtzcGFjZSBGaWxlLCBGb3JtYXQgVmVyc2lvbiAzLjAwCisjIFdBUk5JTkc6IERPIE5PVCBFRElUIE9SIERFTEVURSBUSElTIFdPUktTUEFDRSBGSUxFIQorCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKK1Byb2plY3Q6ICJsaWJ4bWwyIj0uXGxpYnhtbDIudmNwIC0gUGFja2FnZSBPd25lcj08ND4KKworUGFja2FnZT08NT4KK3t7eworfX19CisKK1BhY2thZ2U9PDQ+Cit7e3sKK319fQorCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKK1Byb2plY3Q6ICJwcGNUZXN0Ij0uXHBwY1Rlc3RccHBjVGVzdC52Y3AgLSBQYWNrYWdlIE93bmVyPTw0PgorCitQYWNrYWdlPTw1Pgore3t7Cit9fX0KKworUGFja2FnZT08ND4KK3t7eworfX19CisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworR2xvYmFsOgorCitQYWNrYWdlPTw1Pgore3t7Cit9fX0KKworUGFja2FnZT08Mz4KK3t7eworfX19CisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi93aW4zMi93aW5jZS93aW5jZWNvbXBhdC5jIGIvbGlieG1sMi93aW4zMi93aW5jZS93aW5jZWNvbXBhdC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJkNDljNTcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3dpbjMyL3dpbmNlL3dpbmNlY29tcGF0LmMKQEAgLTAsMCArMSw2OCBAQAorLyoKKyAqIHdpbmNlY29tcGF0LmMgOiB3aW5jZSBjb21wYXRpYmxpdHkgbW9kdWxlCisgKgorICogU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgorICoKKyAqIGphdmllckB0aXJlc2lhc3NvZnQuY29tCisgKgorICogMTcgU2VwIDIwMDIgIGNyZWF0ZWQKKyAqLworCisjaW5jbHVkZSAid2luY2Vjb21wYXQuaCIKKworY2hhciAqc3RyRXJyb3JbXT0geyJFcnJvciAwIiwiIiwiTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeSIsIiIsIiIsIiIsIiIsIkFyZyBsaXN0IHRvbyBsb25nIiwKKwkiRXhlYyBmb3JtYXQgZXJyb3IiLCJCYWQgZmlsZSBudW1iZXIiLCIiLCIiLCJOb3QgZW5vdWdoIGNvcmUiLCJQZXJtaXNzaW9uIGRlbmllZCIsIiIsIiIsCisJIiIsIkZpbGUgZXhpc3RzIiwiQ3Jvc3MtZGV2aWNlIGxpbmsiLCIiLCIiLCIiLCJJbnZhbGlkIGFyZ3VtZW50IiwiIiwiVG9vIG1hbnkgb3BlbiBmaWxlcyIsCisJIiIsIiIsIiIsIk5vIHNwYWNlIGxlZnQgb24gZGV2aWNlIiwiIiwiIiwiIiwiIiwiTWF0aCBhcmd1bWVudCIsIlJlc3VsdCB0b28gbGFyZ2UiLCIiLAorCSJSZXNvdXJjZSBkZWFkbG9jayB3b3VsZCBvY2N1ciIsICJVbmtub3duIGVycm9yIHVuZGVyIHdpbmNlIn07CisKKworaW50IGVycm5vPTA7CisKK2ludCByZWFkKGludCBoYW5kbGUsIGNoYXIgKmJ1ZmZlciwgdW5zaWduZWQgaW50IGxlbikKK3sKKwlyZXR1cm4oZnJlYWQoJmJ1ZmZlclswXSwgbGVuLCAxLCAoRklMRSAqKSBoYW5kbGUpKTsKK30KKworaW50IHdyaXRlKGludCBoYW5kbGUsIGNvbnN0IGNoYXIgKmJ1ZmZlciwgdW5zaWduZWQgaW50IGxlbikKK3sKKwlyZXR1cm4oZndyaXRlKCZidWZmZXJbMF0sIGxlbiwxLChGSUxFICopIGhhbmRsZSkpOworfQorCitpbnQgb3Blbihjb25zdCBjaGFyICpmaWxlbmFtZSxpbnQgb2ZsYWcsIC4uLikKK3sKKwljaGFyIG1vZGVbM107IC8qIG1vZGVbMF0gPSJ3L3IvYSIgIG1vZGVbMV09IisiICovCisJbW9kZVsyXT0wOworCWlmICggb2ZsYWc9PShPX1dST05MWXxPX0NSRUFUKSApCisJCW1vZGVbMF09J3cnOworCWVsc2UgaWYgKG9mbGFnPT1PX1JET05MWSkKKwkJbW9kZVswXT0ncic7CisJcmV0dXJuIChpbnQpIGZvcGVuKGZpbGVuYW1lLCBtb2RlKTsKK30KKworaW50IGNsb3NlKGludCBoYW5kbGUpCit7CisJcmV0dXJuICggZmNsb3NlKChGSUxFICopIGhhbmRsZSkgKTsKK30KKworCitjaGFyICpnZXRjd2QoIGNoYXIgKmJ1ZmZlciwgdW5zaWduZWQgaW50IHNpemUpCit7CisgICAgLyogV2luZG93cyBDRSBkb24ndCBoYXZlIHRoZSBjb25jZXB0IG9mIGEgY3VycmVudCBkaXJlY3RvcnkKKyAgICAgKiBzbyB3ZSBqdXN0IHJldHVybiBOVUxMIHRvIGluZGljYXRlIGFuIGVycm9yCisgICAgICovCisgICAgcmV0dXJuIE5VTEw7Cit9CisKK2NoYXIgKmdldGVudiggY29uc3QgY2hhciAqdmFybmFtZSApCit7CisJcmV0dXJuIE5VTEw7Cit9CisKK2NoYXIgKnN0cmVycm9yKGludCBlcnJudW0pCit7CisJaWYgKGVycm51bT5NQVhfU1RSRVJST1IpCisJCXJldHVybiBzdHJFcnJvcltNQVhfU1RSRVJST1JdOworCWVsc2UKKwkJcmV0dXJuIHN0ckVycm9yW2Vycm51bV07Cit9CmRpZmYgLS1naXQgYS9saWJ4bWwyL3dpbjMyL3dpbmNlL3dpbmNlY29tcGF0LmggYi9saWJ4bWwyL3dpbjMyL3dpbmNlL3dpbmNlY29tcGF0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWEwZjNkYwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIvd2luMzIvd2luY2Uvd2luY2Vjb21wYXQuaApAQCAtMCwwICsxLDUwIEBACisvKgorICogd2luY2Vjb21wYXQuaCA6IHdpbmNlIGNvbXBhdGlibGl0eSBoZWFkZXIgZmlsZSAKKyAqCisgKiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisgKgorICogamF2aWVyQHRpcmVzaWFzc29mdC5jb20KKyAqCisgKiAxNyBTZXAgMjAwMiAgY3JlYXRlZAorICovCisKKyNpZm5kZWYgX19XSU5DRUNPTVBBVF9IX18KKyNkZWZpbmUgX19XSU5DRUNPTVBBVF9IX18KKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8d2luYmFzZS5oPgorCisjZGVmaW5lIE1BWF9TVFJFUlJPUiAzMQorCisjZGVmaW5lIE9fUkRPTkxZICAgICAgIDB4MDAwMCAgLyogb3BlbiBmb3IgcmVhZGluZyBvbmx5ICovCisjZGVmaW5lIE9fV1JPTkxZICAgICAgIDB4MDAwMSAgLyogb3BlbiBmb3Igd3JpdGluZyBvbmx5ICovCisjZGVmaW5lIE9fUkRXUiAgICAgICAgIDB4MDAwMiAgLyogb3BlbiBmb3IgcmVhZGluZyBhbmQgd3JpdGluZyAqLworI2RlZmluZSBPX0FQUEVORCAgICAgICAweDAwMDggIC8qIHdyaXRlcyBkb25lIGF0IGVvZiAqLworCisjZGVmaW5lIE9fQ1JFQVQgICAgICAgIDB4MDEwMCAgLyogY3JlYXRlIGFuZCBvcGVuIGZpbGUgKi8KKyNkZWZpbmUgT19UUlVOQyAgICAgICAgMHgwMjAwICAvKiBvcGVuIGFuZCB0cnVuY2F0ZSAqLworI2RlZmluZSBPX0VYQ0wgICAgICAgICAweDA0MDAgIC8qIG9wZW4gb25seSBpZiBmaWxlIGRvZXNuJ3QgYWxyZWFkeSBleGlzdCAqLworCisjZGVmaW5lIEJVRlNJWiA0MDk2CisKK2V4dGVybiBpbnQgZXJybm87CisvKiAKKwlQcm90b3R5cGVzIAorKi8KK2ludCByZWFkKGludCBoYW5kbGUsIGNoYXIgKmJ1ZmZlciwgdW5zaWduZWQgaW50IGxlbik7CitpbnQgd3JpdGUoaW50IGhhbmRsZSwgY29uc3QgY2hhciAqYnVmZmVyLCB1bnNpZ25lZCBpbnQgbGVuKTsKK2ludCBvcGVuKGNvbnN0IGNoYXIgKmZpbGVuYW1lLGludCBvZmxhZywgLi4uKTsKK2ludCBjbG9zZShpbnQgaGFuZGxlKTsKK2NoYXIgKmdldGVudiggY29uc3QgY2hhciAqdmFybmFtZSApOworY2hhciAqZ2V0Y3dkKCBjaGFyICpidWZmZXIsIHVuc2lnbmVkIGludCBzaXplKTsKK2NoYXIgKnN0cmVycm9yKGludCBlcnJudW0pOworCisvKgorCU1hY3JvJ2VkIGluZXhpc3RhbnQgZnVudGlvbiBuYW1lcworCisqLworI2RlZmluZSBzbnByaW50ZiBfc25wcmludGYKKyNkZWZpbmUgdnNucHJpbnRmKGIsYyxmLGEpIF92c25wcmludGYoYixjLGYsYSkKKyNkZWZpbmUgcGVycm9yKF90KSBNZXNzYWdlQm94KE5VTEwsIF9UKCJfdCIpLCBfVCgiRXJyb3IvV2FybmluZyIpLCBNQl9PSykKKworI2VuZGlmClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbGlieG1sMi94aW5jbHVkZS5jIGIvbGlieG1sMi94aW5jbHVkZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZmM2RhZmIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3hpbmNsdWRlLmMKQEAgLTAsMCArMSwyNjI0IEBACisvKgorICogeGluY2x1ZGUuYyA6IENvZGUgdG8gaW1wbGVtZW50IFhJbmNsdWRlIHByb2Nlc3NpbmcKKyAqCisgKiBXb3JsZCBXaWRlIFdlYiBDb25zb3J0aXVtIFczQyBMYXN0IENhbGwgV29ya2luZyBEcmFmdCAxMCBOb3ZlbWJlciAyMDAzCisgKiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDAzL1dELXhpbmNsdWRlLTIwMDMxMTEwCisgKgorICogU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgorICoKKyAqIGRhbmllbEB2ZWlsbGFyZC5jb20KKyAqLworCisjZGVmaW5lIElOX0xJQlhNTAorI2luY2x1ZGUgImxpYnhtbC5oIgorCisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8bGlieG1sL3htbG1lbW9yeS5oPgorI2luY2x1ZGUgPGxpYnhtbC90cmVlLmg+CisjaW5jbHVkZSA8bGlieG1sL3BhcnNlci5oPgorI2luY2x1ZGUgPGxpYnhtbC91cmkuaD4KKyNpbmNsdWRlIDxsaWJ4bWwveHBhdGguaD4KKyNpbmNsdWRlIDxsaWJ4bWwveHBvaW50ZXIuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvcGFyc2VySW50ZXJuYWxzLmg+CisjaW5jbHVkZSA8bGlieG1sL3htbGVycm9yLmg+CisjaW5jbHVkZSA8bGlieG1sL2VuY29kaW5nLmg+CisjaW5jbHVkZSA8bGlieG1sL2dsb2JhbHMuaD4KKworI2lmZGVmIExJQlhNTF9YSU5DTFVERV9FTkFCTEVECisjaW5jbHVkZSA8bGlieG1sL3hpbmNsdWRlLmg+CisKKyNpbmNsdWRlICJidWYuaCIKKworI2RlZmluZSBYSU5DTFVERV9NQVhfREVQVEggNDAKKworLyogI2RlZmluZSBERUJVR19YSU5DTFVERSAqLworI2lmZGVmIERFQlVHX1hJTkNMVURFCisjaWZkZWYgTElCWE1MX0RFQlVHX0VOQUJMRUQKKyNpbmNsdWRlIDxsaWJ4bWwvZGVidWdYTUwuaD4KKyNlbmRpZgorI2VuZGlmCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCQlYSW5jbHVkZSBjb250ZXh0IGhhbmRsaW5nCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKgorICogQW4gWEluY2x1ZGUgY29udGV4dAorICovCit0eXBlZGVmIHhtbENoYXIgKnhtbFVSTDsKKwordHlwZWRlZiBzdHJ1Y3QgX3htbFhJbmNsdWRlUmVmIHhtbFhJbmNsdWRlUmVmOwordHlwZWRlZiB4bWxYSW5jbHVkZVJlZiAqeG1sWEluY2x1ZGVSZWZQdHI7CitzdHJ1Y3QgX3htbFhJbmNsdWRlUmVmIHsKKyAgICB4bWxDaGFyICAgICAgICAgICAgICAqVVJJOyAvKiB0aGUgZnVsbHkgcmVzb2x2ZWQgcmVzb3VyY2UgVVJMICovCisgICAgeG1sQ2hhciAgICAgICAgICpmcmFnbWVudDsgLyogdGhlIGZyYWdtZW50IGluIHRoZSBVUkkgKi8KKyAgICB4bWxEb2NQdHIJCSAgZG9jOyAvKiB0aGUgcGFyc2VkIGRvY3VtZW50ICovCisgICAgeG1sTm9kZVB0ciAgICAgICAgICAgIHJlZjsgLyogdGhlIG5vZGUgbWFraW5nIHRoZSByZWZlcmVuY2UgaW4gdGhlIHNvdXJjZSAqLworICAgIHhtbE5vZGVQdHIgICAgICAgICAgICBpbmM7IC8qIHRoZSBpbmNsdWRlZCBjb3B5ICovCisgICAgaW50ICAgICAgICAgICAgICAgICAgIHhtbDsgLyogeG1sIG9yIHR4dCAqLworICAgIGludCAgICAgICAgICAgICAgICAgY291bnQ7IC8qIGhvdyBtYW55IHJlZnMgdXNlIHRoYXQgc3BlY2lmaWMgZG9jICovCisgICAgeG1sWFBhdGhPYmplY3RQdHIgICAgeHB0cjsgLyogdGhlIHhwb2ludGVyIGlmIG5lZWRlZCAqLworICAgIGludAkJICAgICAgZW1wdHlGYjsgLyogZmxhZyB0byBzaG93IGZhbGxiYWNrIGVtcHR5ICovCit9OworCitzdHJ1Y3QgX3htbFhJbmNsdWRlQ3R4dCB7CisgICAgeG1sRG9jUHRyICAgICAgICAgICAgIGRvYzsgLyogdGhlIHNvdXJjZSBkb2N1bWVudCAqLworICAgIGludCAgICAgICAgICAgICAgIGluY0Jhc2U7IC8qIHRoZSBmaXJzdCBpbmNsdWRlIGZvciB0aGlzIGRvY3VtZW50ICovCisgICAgaW50ICAgICAgICAgICAgICAgICBpbmNOcjsgLyogbnVtYmVyIG9mIGluY2x1ZGVzICovCisgICAgaW50ICAgICAgICAgICAgICAgIGluY01heDsgLyogc2l6ZSBvZiBpbmNsdWRlcyB0YWIgKi8KKyAgICB4bWxYSW5jbHVkZVJlZlB0ciAqaW5jVGFiOyAvKiBhcnJheSBvZiBpbmNsdWRlZCByZWZlcmVuY2VzICovCisKKyAgICBpbnQgICAgICAgICAgICAgICAgIHR4dE5yOyAvKiBudW1iZXIgb2YgdW5wYXJzZWQgZG9jdW1lbnRzICovCisgICAgaW50ICAgICAgICAgICAgICAgIHR4dE1heDsgLyogc2l6ZSBvZiB1bnBhcnNlZCBkb2N1bWVudHMgdGFiICovCisgICAgeG1sTm9kZVB0ciAgICAgICAgKnR4dFRhYjsgLyogYXJyYXkgb2YgdW5wYXJzZWQgdGV4dCBub2RlcyAqLworICAgIHhtbFVSTCAgICAgICAgICp0eHR1cmxUYWI7IC8qIGFycmF5IG9mIHVucGFyc2VkIHRleHQgVVJMcyAqLworCisgICAgeG1sQ2hhciAqICAgICAgICAgICAgIHVybDsgLyogdGhlIGN1cnJlbnQgVVJMIHByb2Nlc3NlZCAqLworICAgIGludCAgICAgICAgICAgICAgICAgdXJsTnI7IC8qIG51bWJlciBvZiBVUkxzIHN0YWNrZWQgKi8KKyAgICBpbnQgICAgICAgICAgICAgICAgdXJsTWF4OyAvKiBzaXplIG9mIFVSTCBzdGFjayAqLworICAgIHhtbENoYXIgKiAgICAgICAgICp1cmxUYWI7IC8qIFVSTCBzdGFjayAqLworCisgICAgaW50ICAgICAgICAgICAgICBuYkVycm9yczsgLyogdGhlIG51bWJlciBvZiBlcnJvcnMgZGV0ZWN0ZWQgKi8KKyAgICBpbnQgICAgICAgICAgICAgICAgbGVnYWN5OyAvKiB1c2luZyBYSU5DTFVERV9PTERfTlMgKi8KKyAgICBpbnQgICAgICAgICAgICBwYXJzZUZsYWdzOyAvKiB0aGUgZmxhZ3MgdXNlZCBmb3IgcGFyc2luZyBYTUwgZG9jdW1lbnRzICovCisgICAgeG1sQ2hhciAqCQkgYmFzZTsgLyogdGhlIGN1cnJlbnQgeG1sOmJhc2UgKi8KKworICAgIHZvaWQgICAgICAgICAgICAqX3ByaXZhdGU7IC8qIGFwcGxpY2F0aW9uIGRhdGEgKi8KK307CisKK3N0YXRpYyBpbnQKK3htbFhJbmNsdWRlRG9Qcm9jZXNzKHhtbFhJbmNsdWRlQ3R4dFB0ciBjdHh0LCB4bWxEb2NQdHIgZG9jLCB4bWxOb2RlUHRyIHRyZWUpOworCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCQlYSW5jbHVkZSBlcnJvciBoYW5kbGVyCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqCisgKiB4bWxYSW5jbHVkZUVyck1lbW9yeToKKyAqIEBleHRyYTogIGV4dHJhIGluZm9ybWF0aW9uCisgKgorICogSGFuZGxlIGFuIG91dCBvZiBtZW1vcnkgY29uZGl0aW9uCisgKi8KK3N0YXRpYyB2b2lkCit4bWxYSW5jbHVkZUVyck1lbW9yeSh4bWxYSW5jbHVkZUN0eHRQdHIgY3R4dCwgeG1sTm9kZVB0ciBub2RlLAorICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZXh0cmEpCit7CisgICAgaWYgKGN0eHQgIT0gTlVMTCkKKwljdHh0LT5uYkVycm9ycysrOworICAgIF9feG1sUmFpc2VFcnJvcihOVUxMLCBOVUxMLCBOVUxMLCBjdHh0LCBub2RlLCBYTUxfRlJPTV9YSU5DTFVERSwKKyAgICAgICAgICAgICAgICAgICAgWE1MX0VSUl9OT19NRU1PUlksIFhNTF9FUlJfRVJST1IsIE5VTEwsIDAsCisJCSAgICBleHRyYSwgTlVMTCwgTlVMTCwgMCwgMCwKKwkJICAgICJNZW1vcnkgYWxsb2NhdGlvbiBmYWlsZWQgOiAlc1xuIiwgZXh0cmEpOworfQorCisvKioKKyAqIHhtbFhJbmNsdWRlRXJyOgorICogQGN0eHQ6IHRoZSBYSW5jbHVkZSBjb250ZXh0CisgKiBAbm9kZTogdGhlIGNvbnRleHQgbm9kZQorICogQG1zZzogIHRoZSBlcnJvciBtZXNzYWdlCisgKiBAZXh0cmE6ICBleHRyYSBpbmZvcm1hdGlvbgorICoKKyAqIEhhbmRsZSBhbiBYSW5jbHVkZSBlcnJvcgorICovCitzdGF0aWMgdm9pZAoreG1sWEluY2x1ZGVFcnIoeG1sWEluY2x1ZGVDdHh0UHRyIGN0eHQsIHhtbE5vZGVQdHIgbm9kZSwgaW50IGVycm9yLAorICAgICAgICAgICAgICAgY29uc3QgY2hhciAqbXNnLCBjb25zdCB4bWxDaGFyICpleHRyYSkKK3sKKyAgICBpZiAoY3R4dCAhPSBOVUxMKQorCWN0eHQtPm5iRXJyb3JzKys7CisgICAgX194bWxSYWlzZUVycm9yKE5VTEwsIE5VTEwsIE5VTEwsIGN0eHQsIG5vZGUsIFhNTF9GUk9NX1hJTkNMVURFLAorICAgICAgICAgICAgICAgICAgICBlcnJvciwgWE1MX0VSUl9FUlJPUiwgTlVMTCwgMCwKKwkJICAgIChjb25zdCBjaGFyICopIGV4dHJhLCBOVUxMLCBOVUxMLCAwLCAwLAorCQkgICAgbXNnLCAoY29uc3QgY2hhciAqKSBleHRyYSk7Cit9CisKKyNpZiAwCisvKioKKyAqIHhtbFhJbmNsdWRlV2FybjoKKyAqIEBjdHh0OiB0aGUgWEluY2x1ZGUgY29udGV4dAorICogQG5vZGU6IHRoZSBjb250ZXh0IG5vZGUKKyAqIEBtc2c6ICB0aGUgZXJyb3IgbWVzc2FnZQorICogQGV4dHJhOiAgZXh0cmEgaW5mb3JtYXRpb24KKyAqCisgKiBFbWl0IGFuIFhJbmNsdWRlIHdhcm5pbmcuCisgKi8KK3N0YXRpYyB2b2lkCit4bWxYSW5jbHVkZVdhcm4oeG1sWEluY2x1ZGVDdHh0UHRyIGN0eHQsIHhtbE5vZGVQdHIgbm9kZSwgaW50IGVycm9yLAorICAgICAgICAgICAgICAgY29uc3QgY2hhciAqbXNnLCBjb25zdCB4bWxDaGFyICpleHRyYSkKK3sKKyAgICBfX3htbFJhaXNlRXJyb3IoTlVMTCwgTlVMTCwgTlVMTCwgY3R4dCwgbm9kZSwgWE1MX0ZST01fWElOQ0xVREUsCisgICAgICAgICAgICAgICAgICAgIGVycm9yLCBYTUxfRVJSX1dBUk5JTkcsIE5VTEwsIDAsCisJCSAgICAoY29uc3QgY2hhciAqKSBleHRyYSwgTlVMTCwgTlVMTCwgMCwgMCwKKwkJICAgIG1zZywgKGNvbnN0IGNoYXIgKikgZXh0cmEpOworfQorI2VuZGlmCisKKy8qKgorICogeG1sWEluY2x1ZGVHZXRQcm9wOgorICogQGN0eHQ6ICB0aGUgWEluY2x1ZGUgY29udGV4dAorICogQGN1cjogIHRoZSBub2RlCisgKiBAbmFtZTogIHRoZSBhdHRyaWJ1dGUgbmFtZQorICoKKyAqIEdldCBhbiBYSW5jbHVkZSBhdHRyaWJ1dGUKKyAqCisgKiBSZXR1cm5zIHRoZSB2YWx1ZSAodG8gYmUgZnJlZWQpIG9yIE5VTEwgaWYgbm90IGZvdW5kCisgKi8KK3N0YXRpYyB4bWxDaGFyICoKK3htbFhJbmNsdWRlR2V0UHJvcCh4bWxYSW5jbHVkZUN0eHRQdHIgY3R4dCwgeG1sTm9kZVB0ciBjdXIsCisgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqbmFtZSkgeworICAgIHhtbENoYXIgKnJldDsKKworICAgIHJldCA9IHhtbEdldE5zUHJvcChjdXIsIFhJTkNMVURFX05TLCBuYW1lKTsKKyAgICBpZiAocmV0ICE9IE5VTEwpCisgICAgICAgIHJldHVybihyZXQpOworICAgIGlmIChjdHh0LT5sZWdhY3kgIT0gMCkgeworCXJldCA9IHhtbEdldE5zUHJvcChjdXIsIFhJTkNMVURFX09MRF9OUywgbmFtZSk7CisJaWYgKHJldCAhPSBOVUxMKQorCSAgICByZXR1cm4ocmV0KTsKKyAgICB9CisgICAgcmV0ID0geG1sR2V0UHJvcChjdXIsIG5hbWUpOworICAgIHJldHVybihyZXQpOworfQorLyoqCisgKiB4bWxYSW5jbHVkZUZyZWVSZWY6CisgKiBAcmVmOiB0aGUgWEluY2x1ZGUgcmVmZXJlbmNlCisgKgorICogRnJlZSBhbiBYSW5jbHVkZSByZWZlcmVuY2UKKyAqLworc3RhdGljIHZvaWQKK3htbFhJbmNsdWRlRnJlZVJlZih4bWxYSW5jbHVkZVJlZlB0ciByZWYpIHsKKyAgICBpZiAocmVmID09IE5VTEwpCisJcmV0dXJuOworI2lmZGVmIERFQlVHX1hJTkNMVURFCisgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICJGcmVlaW5nIHJlZlxuIik7CisjZW5kaWYKKyAgICBpZiAocmVmLT5kb2MgIT0gTlVMTCkgeworI2lmZGVmIERFQlVHX1hJTkNMVURFCisJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICJGcmVlaW5nIGRvYyAlc1xuIiwgcmVmLT5VUkkpOworI2VuZGlmCisJeG1sRnJlZURvYyhyZWYtPmRvYyk7CisgICAgfQorICAgIGlmIChyZWYtPlVSSSAhPSBOVUxMKQorCXhtbEZyZWUocmVmLT5VUkkpOworICAgIGlmIChyZWYtPmZyYWdtZW50ICE9IE5VTEwpCisJeG1sRnJlZShyZWYtPmZyYWdtZW50KTsKKyAgICBpZiAocmVmLT54cHRyICE9IE5VTEwpCisJeG1sWFBhdGhGcmVlT2JqZWN0KHJlZi0+eHB0cik7CisgICAgeG1sRnJlZShyZWYpOworfQorCisvKioKKyAqIHhtbFhJbmNsdWRlTmV3UmVmOgorICogQGN0eHQ6IHRoZSBYSW5jbHVkZSBjb250ZXh0CisgKiBAVVJJOiAgdGhlIHJlc291cmNlIFVSSQorICoKKyAqIENyZWF0ZXMgYSBuZXcgcmVmZXJlbmNlIHdpdGhpbiBhbiBYSW5jbHVkZSBjb250ZXh0CisgKgorICogUmV0dXJucyB0aGUgbmV3IHNldAorICovCitzdGF0aWMgeG1sWEluY2x1ZGVSZWZQdHIKK3htbFhJbmNsdWRlTmV3UmVmKHhtbFhJbmNsdWRlQ3R4dFB0ciBjdHh0LCBjb25zdCB4bWxDaGFyICpVUkksCisJICAgICAgICAgIHhtbE5vZGVQdHIgcmVmKSB7CisgICAgeG1sWEluY2x1ZGVSZWZQdHIgcmV0OworCisjaWZkZWYgREVCVUdfWElOQ0xVREUKKyAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgIk5ldyByZWYgJXNcbiIsIFVSSSk7CisjZW5kaWYKKyAgICByZXQgPSAoeG1sWEluY2x1ZGVSZWZQdHIpIHhtbE1hbGxvYyhzaXplb2YoeG1sWEluY2x1ZGVSZWYpKTsKKyAgICBpZiAocmV0ID09IE5VTEwpIHsKKyAgICAgICAgeG1sWEluY2x1ZGVFcnJNZW1vcnkoY3R4dCwgcmVmLCAiZ3Jvd2luZyBYSW5jbHVkZSBjb250ZXh0Iik7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBtZW1zZXQocmV0LCAwLCBzaXplb2YoeG1sWEluY2x1ZGVSZWYpKTsKKyAgICBpZiAoVVJJID09IE5VTEwpCisJcmV0LT5VUkkgPSBOVUxMOworICAgIGVsc2UKKwlyZXQtPlVSSSA9IHhtbFN0cmR1cChVUkkpOworICAgIHJldC0+ZnJhZ21lbnQgPSBOVUxMOworICAgIHJldC0+cmVmID0gcmVmOworICAgIHJldC0+ZG9jID0gTlVMTDsKKyAgICByZXQtPmNvdW50ID0gMDsKKyAgICByZXQtPnhtbCA9IDA7CisgICAgcmV0LT5pbmMgPSBOVUxMOworICAgIGlmIChjdHh0LT5pbmNNYXggPT0gMCkgeworCWN0eHQtPmluY01heCA9IDQ7CisgICAgICAgIGN0eHQtPmluY1RhYiA9ICh4bWxYSW5jbHVkZVJlZlB0ciAqKSB4bWxNYWxsb2MoY3R4dC0+aW5jTWF4ICoKKwkJCQkJICAgICAgc2l6ZW9mKGN0eHQtPmluY1RhYlswXSkpOworICAgICAgICBpZiAoY3R4dC0+aW5jVGFiID09IE5VTEwpIHsKKwkgICAgeG1sWEluY2x1ZGVFcnJNZW1vcnkoY3R4dCwgcmVmLCAiZ3Jvd2luZyBYSW5jbHVkZSBjb250ZXh0Iik7CisJICAgIHhtbFhJbmNsdWRlRnJlZVJlZihyZXQpOworCSAgICByZXR1cm4oTlVMTCk7CisJfQorICAgIH0KKyAgICBpZiAoY3R4dC0+aW5jTnIgPj0gY3R4dC0+aW5jTWF4KSB7CisJY3R4dC0+aW5jTWF4ICo9IDI7CisgICAgICAgIGN0eHQtPmluY1RhYiA9ICh4bWxYSW5jbHVkZVJlZlB0ciAqKSB4bWxSZWFsbG9jKGN0eHQtPmluY1RhYiwKKwkgICAgICAgICAgICAgY3R4dC0+aW5jTWF4ICogc2l6ZW9mKGN0eHQtPmluY1RhYlswXSkpOworICAgICAgICBpZiAoY3R4dC0+aW5jVGFiID09IE5VTEwpIHsKKwkgICAgeG1sWEluY2x1ZGVFcnJNZW1vcnkoY3R4dCwgcmVmLCAiZ3Jvd2luZyBYSW5jbHVkZSBjb250ZXh0Iik7CisJICAgIHhtbFhJbmNsdWRlRnJlZVJlZihyZXQpOworCSAgICByZXR1cm4oTlVMTCk7CisJfQorICAgIH0KKyAgICBjdHh0LT5pbmNUYWJbY3R4dC0+aW5jTnIrK10gPSByZXQ7CisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogeG1sWEluY2x1ZGVOZXdDb250ZXh0OgorICogQGRvYzogIGFuIFhNTCBEb2N1bWVudAorICoKKyAqIENyZWF0ZXMgYSBuZXcgWEluY2x1ZGUgY29udGV4dAorICoKKyAqIFJldHVybnMgdGhlIG5ldyBzZXQKKyAqLworeG1sWEluY2x1ZGVDdHh0UHRyCit4bWxYSW5jbHVkZU5ld0NvbnRleHQoeG1sRG9jUHRyIGRvYykgeworICAgIHhtbFhJbmNsdWRlQ3R4dFB0ciByZXQ7CisKKyNpZmRlZiBERUJVR19YSU5DTFVERQorICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCAiTmV3IGNvbnRleHRcbiIpOworI2VuZGlmCisgICAgaWYgKGRvYyA9PSBOVUxMKQorCXJldHVybihOVUxMKTsKKyAgICByZXQgPSAoeG1sWEluY2x1ZGVDdHh0UHRyKSB4bWxNYWxsb2Moc2l6ZW9mKHhtbFhJbmNsdWRlQ3R4dCkpOworICAgIGlmIChyZXQgPT0gTlVMTCkgeworCXhtbFhJbmNsdWRlRXJyTWVtb3J5KE5VTEwsICh4bWxOb2RlUHRyKSBkb2MsCisJICAgICAgICAgICAgICAgICAgICAgImNyZWF0aW5nIFhJbmNsdWRlIGNvbnRleHQiKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIG1lbXNldChyZXQsIDAsIHNpemVvZih4bWxYSW5jbHVkZUN0eHQpKTsKKyAgICByZXQtPmRvYyA9IGRvYzsKKyAgICByZXQtPmluY05yID0gMDsKKyAgICByZXQtPmluY0Jhc2UgPSAwOworICAgIHJldC0+aW5jTWF4ID0gMDsKKyAgICByZXQtPmluY1RhYiA9IE5VTEw7CisgICAgcmV0LT5uYkVycm9ycyA9IDA7CisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogeG1sWEluY2x1ZGVVUkxQdXNoOgorICogQGN0eHQ6ICB0aGUgcGFyc2VyIGNvbnRleHQKKyAqIEB2YWx1ZTogIHRoZSB1cmwKKyAqCisgKiBQdXNoZXMgYSBuZXcgdXJsIG9uIHRvcCBvZiB0aGUgdXJsIHN0YWNrCisgKgorICogUmV0dXJucyAtMSBpbiBjYXNlIG9mIGVycm9yLCB0aGUgaW5kZXggaW4gdGhlIHN0YWNrIG90aGVyd2lzZQorICovCitzdGF0aWMgaW50Cit4bWxYSW5jbHVkZVVSTFB1c2goeG1sWEluY2x1ZGVDdHh0UHRyIGN0eHQsCisJICAgICAgICAgICBjb25zdCB4bWxDaGFyICp2YWx1ZSkKK3sKKyAgICBpZiAoY3R4dC0+dXJsTnIgPiBYSU5DTFVERV9NQVhfREVQVEgpIHsKKwl4bWxYSW5jbHVkZUVycihjdHh0LCBOVUxMLCBYTUxfWElOQ0xVREVfUkVDVVJTSU9OLAorCSAgICAgICAgICAgICAgICJkZXRlY3RlZCBhIHJlY3Vyc2lvbiBpbiAlc1xuIiwgdmFsdWUpOworCXJldHVybigtMSk7CisgICAgfQorICAgIGlmIChjdHh0LT51cmxUYWIgPT0gTlVMTCkgeworCWN0eHQtPnVybE1heCA9IDQ7CisJY3R4dC0+dXJsTnIgPSAwOworCWN0eHQtPnVybFRhYiA9ICh4bWxDaGFyICogKikgeG1sTWFsbG9jKAorCQkgICAgICAgIGN0eHQtPnVybE1heCAqIHNpemVvZihjdHh0LT51cmxUYWJbMF0pKTsKKyAgICAgICAgaWYgKGN0eHQtPnVybFRhYiA9PSBOVUxMKSB7CisJICAgIHhtbFhJbmNsdWRlRXJyTWVtb3J5KGN0eHQsIE5VTEwsICJhZGRpbmcgVVJMIik7CisgICAgICAgICAgICByZXR1cm4gKC0xKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBpZiAoY3R4dC0+dXJsTnIgPj0gY3R4dC0+dXJsTWF4KSB7CisgICAgICAgIGN0eHQtPnVybE1heCAqPSAyOworICAgICAgICBjdHh0LT51cmxUYWIgPQorICAgICAgICAgICAgKHhtbENoYXIgKiAqKSB4bWxSZWFsbG9jKGN0eHQtPnVybFRhYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3R4dC0+dXJsTWF4ICoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKGN0eHQtPnVybFRhYlswXSkpOworICAgICAgICBpZiAoY3R4dC0+dXJsVGFiID09IE5VTEwpIHsKKwkgICAgeG1sWEluY2x1ZGVFcnJNZW1vcnkoY3R4dCwgTlVMTCwgImFkZGluZyBVUkwiKTsKKyAgICAgICAgICAgIHJldHVybiAoLTEpOworICAgICAgICB9CisgICAgfQorICAgIGN0eHQtPnVybCA9IGN0eHQtPnVybFRhYltjdHh0LT51cmxOcl0gPSB4bWxTdHJkdXAodmFsdWUpOworICAgIHJldHVybiAoY3R4dC0+dXJsTnIrKyk7Cit9CisKKy8qKgorICogeG1sWEluY2x1ZGVVUkxQb3A6CisgKiBAY3R4dDogdGhlIHBhcnNlciBjb250ZXh0CisgKgorICogUG9wcyB0aGUgdG9wIFVSTCBmcm9tIHRoZSBVUkwgc3RhY2sKKyAqLworc3RhdGljIHZvaWQKK3htbFhJbmNsdWRlVVJMUG9wKHhtbFhJbmNsdWRlQ3R4dFB0ciBjdHh0KQoreworICAgIHhtbENoYXIgKiByZXQ7CisKKyAgICBpZiAoY3R4dC0+dXJsTnIgPD0gMCkKKyAgICAgICAgcmV0dXJuOworICAgIGN0eHQtPnVybE5yLS07CisgICAgaWYgKGN0eHQtPnVybE5yID4gMCkKKyAgICAgICAgY3R4dC0+dXJsID0gY3R4dC0+dXJsVGFiW2N0eHQtPnVybE5yIC0gMV07CisgICAgZWxzZQorICAgICAgICBjdHh0LT51cmwgPSBOVUxMOworICAgIHJldCA9IGN0eHQtPnVybFRhYltjdHh0LT51cmxOcl07CisgICAgY3R4dC0+dXJsVGFiW2N0eHQtPnVybE5yXSA9IE5VTEw7CisgICAgaWYgKHJldCAhPSBOVUxMKQorCXhtbEZyZWUocmV0KTsKK30KKworLyoqCisgKiB4bWxYSW5jbHVkZUZyZWVDb250ZXh0OgorICogQGN0eHQ6IHRoZSBYSW5jbHVkZSBjb250ZXh0CisgKgorICogRnJlZSBhbiBYSW5jbHVkZSBjb250ZXh0CisgKi8KK3ZvaWQKK3htbFhJbmNsdWRlRnJlZUNvbnRleHQoeG1sWEluY2x1ZGVDdHh0UHRyIGN0eHQpIHsKKyAgICBpbnQgaTsKKworI2lmZGVmIERFQlVHX1hJTkNMVURFCisgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICJGcmVlaW5nIGNvbnRleHRcbiIpOworI2VuZGlmCisgICAgaWYgKGN0eHQgPT0gTlVMTCkKKwlyZXR1cm47CisgICAgd2hpbGUgKGN0eHQtPnVybE5yID4gMCkKKwl4bWxYSW5jbHVkZVVSTFBvcChjdHh0KTsKKyAgICBpZiAoY3R4dC0+dXJsVGFiICE9IE5VTEwpCisJeG1sRnJlZShjdHh0LT51cmxUYWIpOworICAgIGZvciAoaSA9IDA7aSA8IGN0eHQtPmluY05yO2krKykgeworCWlmIChjdHh0LT5pbmNUYWJbaV0gIT0gTlVMTCkKKwkgICAgeG1sWEluY2x1ZGVGcmVlUmVmKGN0eHQtPmluY1RhYltpXSk7CisgICAgfQorICAgIGlmIChjdHh0LT50eHR1cmxUYWIgIT0gTlVMTCkgeworCWZvciAoaSA9IDA7aSA8IGN0eHQtPnR4dE5yO2krKykgeworCSAgICBpZiAoY3R4dC0+dHh0dXJsVGFiW2ldICE9IE5VTEwpCisJCXhtbEZyZWUoY3R4dC0+dHh0dXJsVGFiW2ldKTsKKwl9CisgICAgfQorICAgIGlmIChjdHh0LT5pbmNUYWIgIT0gTlVMTCkKKwl4bWxGcmVlKGN0eHQtPmluY1RhYik7CisgICAgaWYgKGN0eHQtPnR4dFRhYiAhPSBOVUxMKQorCXhtbEZyZWUoY3R4dC0+dHh0VGFiKTsKKyAgICBpZiAoY3R4dC0+dHh0dXJsVGFiICE9IE5VTEwpCisJeG1sRnJlZShjdHh0LT50eHR1cmxUYWIpOworICAgIGlmIChjdHh0LT5iYXNlICE9IE5VTEwpIHsKKyAgICAgICAgeG1sRnJlZShjdHh0LT5iYXNlKTsKKyAgICB9CisgICAgeG1sRnJlZShjdHh0KTsKK30KKworLyoqCisgKiB4bWxYSW5jbHVkZVBhcnNlRmlsZToKKyAqIEBjdHh0OiAgdGhlIFhJbmNsdWRlIGNvbnRleHQKKyAqIEBVUkw6ICB0aGUgVVJMIG9yIGZpbGUgcGF0aAorICoKKyAqIHBhcnNlIGEgZG9jdW1lbnQgZm9yIFhJbmNsdWRlCisgKi8KK3N0YXRpYyB4bWxEb2NQdHIKK3htbFhJbmNsdWRlUGFyc2VGaWxlKHhtbFhJbmNsdWRlQ3R4dFB0ciBjdHh0LCBjb25zdCBjaGFyICpVUkwpIHsKKyAgICB4bWxEb2NQdHIgcmV0OworICAgIHhtbFBhcnNlckN0eHRQdHIgcGN0eHQ7CisgICAgeG1sUGFyc2VySW5wdXRQdHIgaW5wdXRTdHJlYW07CisKKyAgICB4bWxJbml0UGFyc2VyKCk7CisKKyAgICBwY3R4dCA9IHhtbE5ld1BhcnNlckN0eHQoKTsKKyAgICBpZiAocGN0eHQgPT0gTlVMTCkgeworCXhtbFhJbmNsdWRlRXJyTWVtb3J5KGN0eHQsIE5VTEwsICJjYW5ub3QgYWxsb2NhdGUgcGFyc2VyIGNvbnRleHQiKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorCisgICAgLyoKKyAgICAgKiBwYXNzIGluIHRoZSBhcHBsaWNhdGlvbiBkYXRhIHRvIHRoZSBwYXJzZXIgY29udGV4dC4KKyAgICAgKi8KKyAgICBwY3R4dC0+X3ByaXZhdGUgPSBjdHh0LT5fcHJpdmF0ZTsKKworICAgIC8qCisgICAgICogdHJ5IHRvIGVuc3VyZSB0aGF0IG5ldyBkb2N1bWVudHMgaW5jbHVkZWQgYXJlIGFjdHVhbGx5CisgICAgICogYnVpbHQgd2l0aCB0aGUgc2FtZSBkaWN0aW9uYXJ5IGFzIHRoZSBpbmNsdWRpbmcgZG9jdW1lbnQuCisgICAgICovCisgICAgaWYgKChjdHh0LT5kb2MgIT0gTlVMTCkgJiYgKGN0eHQtPmRvYy0+ZGljdCAhPSBOVUxMKSkgeworICAgICAgIGlmIChwY3R4dC0+ZGljdCAhPSBOVUxMKQorICAgICAgICAgICAgeG1sRGljdEZyZWUocGN0eHQtPmRpY3QpOworCXBjdHh0LT5kaWN0ID0gY3R4dC0+ZG9jLT5kaWN0OworCXhtbERpY3RSZWZlcmVuY2UocGN0eHQtPmRpY3QpOworICAgIH0KKworICAgIHhtbEN0eHRVc2VPcHRpb25zKHBjdHh0LCBjdHh0LT5wYXJzZUZsYWdzIHwgWE1MX1BBUlNFX0RURExPQUQpOworCisgICAgaW5wdXRTdHJlYW0gPSB4bWxMb2FkRXh0ZXJuYWxFbnRpdHkoVVJMLCBOVUxMLCBwY3R4dCk7CisgICAgaWYgKGlucHV0U3RyZWFtID09IE5VTEwpIHsKKwl4bWxGcmVlUGFyc2VyQ3R4dChwY3R4dCk7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKworICAgIGlucHV0UHVzaChwY3R4dCwgaW5wdXRTdHJlYW0pOworCisgICAgaWYgKHBjdHh0LT5kaXJlY3RvcnkgPT0gTlVMTCkKKyAgICAgICAgcGN0eHQtPmRpcmVjdG9yeSA9IHhtbFBhcnNlckdldERpcmVjdG9yeShVUkwpOworCisgICAgcGN0eHQtPmxvYWRzdWJzZXQgfD0gWE1MX0RFVEVDVF9JRFM7CisKKyAgICB4bWxQYXJzZURvY3VtZW50KHBjdHh0KTsKKworICAgIGlmIChwY3R4dC0+d2VsbEZvcm1lZCkgeworICAgICAgICByZXQgPSBwY3R4dC0+bXlEb2M7CisgICAgfQorICAgIGVsc2UgeworICAgICAgICByZXQgPSBOVUxMOworCWlmIChwY3R4dC0+bXlEb2MgIT0gTlVMTCkKKwkgICAgeG1sRnJlZURvYyhwY3R4dC0+bXlEb2MpOworICAgICAgICBwY3R4dC0+bXlEb2MgPSBOVUxMOworICAgIH0KKyAgICB4bWxGcmVlUGFyc2VyQ3R4dChwY3R4dCk7CisKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxYSW5jbHVkZUFkZE5vZGU6CisgKiBAY3R4dDogIHRoZSBYSW5jbHVkZSBjb250ZXh0CisgKiBAY3VyOiAgdGhlIG5ldyBub2RlCisgKgorICogQWRkIGEgbmV3IG5vZGUgdG8gcHJvY2VzcyB0byBhbiBYSW5jbHVkZSBjb250ZXh0CisgKi8KK3N0YXRpYyBpbnQKK3htbFhJbmNsdWRlQWRkTm9kZSh4bWxYSW5jbHVkZUN0eHRQdHIgY3R4dCwgeG1sTm9kZVB0ciBjdXIpIHsKKyAgICB4bWxYSW5jbHVkZVJlZlB0ciByZWY7CisgICAgeG1sVVJJUHRyIHVyaTsKKyAgICB4bWxDaGFyICpVUkw7CisgICAgeG1sQ2hhciAqZnJhZ21lbnQgPSBOVUxMOworICAgIHhtbENoYXIgKmhyZWY7CisgICAgeG1sQ2hhciAqcGFyc2U7CisgICAgeG1sQ2hhciAqYmFzZTsKKyAgICB4bWxDaGFyICpVUkk7CisgICAgaW50IHhtbCA9IDEsIGk7IC8qIGRlZmF1bHQgSXNzdWUgNjQgKi8KKyAgICBpbnQgbG9jYWwgPSAwOworCisKKyAgICBpZiAoY3R4dCA9PSBOVUxMKQorCXJldHVybigtMSk7CisgICAgaWYgKGN1ciA9PSBOVUxMKQorCXJldHVybigtMSk7CisKKyNpZmRlZiBERUJVR19YSU5DTFVERQorICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCAiQWRkIG5vZGVcbiIpOworI2VuZGlmCisgICAgLyoKKyAgICAgKiByZWFkIHRoZSBhdHRyaWJ1dGVzCisgICAgICovCisgICAgaHJlZiA9IHhtbFhJbmNsdWRlR2V0UHJvcChjdHh0LCBjdXIsIFhJTkNMVURFX0hSRUYpOworICAgIGlmIChocmVmID09IE5VTEwpIHsKKwlocmVmID0geG1sU3RyZHVwKEJBRF9DQVNUICIiKTsgLyogQEBAQCBocmVmIGlzIG5vdyBvcHRpb25hbCAqLworCWlmIChocmVmID09IE5VTEwpCisJICAgIHJldHVybigtMSk7CisgICAgfQorICAgIGlmICgoaHJlZlswXSA9PSAnIycpIHx8IChocmVmWzBdID09IDApKQorCWxvY2FsID0gMTsKKyAgICBwYXJzZSA9IHhtbFhJbmNsdWRlR2V0UHJvcChjdHh0LCBjdXIsIFhJTkNMVURFX1BBUlNFKTsKKyAgICBpZiAocGFyc2UgIT0gTlVMTCkgeworCWlmICh4bWxTdHJFcXVhbChwYXJzZSwgWElOQ0xVREVfUEFSU0VfWE1MKSkKKwkgICAgeG1sID0gMTsKKwllbHNlIGlmICh4bWxTdHJFcXVhbChwYXJzZSwgWElOQ0xVREVfUEFSU0VfVEVYVCkpCisJICAgIHhtbCA9IDA7CisJZWxzZSB7CisJICAgIHhtbFhJbmNsdWRlRXJyKGN0eHQsIGN1ciwgWE1MX1hJTkNMVURFX1BBUlNFX1ZBTFVFLAorCSAgICAgICAgICAgICAgICAgICAiaW52YWxpZCB2YWx1ZSAlcyBmb3IgJ3BhcnNlJ1xuIiwgcGFyc2UpOworCSAgICBpZiAoaHJlZiAhPSBOVUxMKQorCQl4bWxGcmVlKGhyZWYpOworCSAgICBpZiAocGFyc2UgIT0gTlVMTCkKKwkJeG1sRnJlZShwYXJzZSk7CisJICAgIHJldHVybigtMSk7CisJfQorICAgIH0KKworICAgIC8qCisgICAgICogY29tcHV0ZSB0aGUgVVJJCisgICAgICovCisgICAgYmFzZSA9IHhtbE5vZGVHZXRCYXNlKGN0eHQtPmRvYywgY3VyKTsKKyAgICBpZiAoYmFzZSA9PSBOVUxMKSB7CisJVVJJID0geG1sQnVpbGRVUkkoaHJlZiwgY3R4dC0+ZG9jLT5VUkwpOworICAgIH0gZWxzZSB7CisJVVJJID0geG1sQnVpbGRVUkkoaHJlZiwgYmFzZSk7CisgICAgfQorICAgIGlmIChVUkkgPT0gTlVMTCkgeworCXhtbENoYXIgKmVzY2Jhc2U7CisJeG1sQ2hhciAqZXNjaHJlZjsKKwkvKgorCSAqIFNvbWUgZXNjYXBpbmcgbWF5IGJlIG5lZWRlZAorCSAqLworCWVzY2Jhc2UgPSB4bWxVUklFc2NhcGUoYmFzZSk7CisJZXNjaHJlZiA9IHhtbFVSSUVzY2FwZShocmVmKTsKKwlVUkkgPSB4bWxCdWlsZFVSSShlc2NocmVmLCBlc2NiYXNlKTsKKwlpZiAoZXNjYmFzZSAhPSBOVUxMKQorCSAgICB4bWxGcmVlKGVzY2Jhc2UpOworCWlmIChlc2NocmVmICE9IE5VTEwpCisJICAgIHhtbEZyZWUoZXNjaHJlZik7CisgICAgfQorICAgIGlmIChwYXJzZSAhPSBOVUxMKQorCXhtbEZyZWUocGFyc2UpOworICAgIGlmIChocmVmICE9IE5VTEwpCisJeG1sRnJlZShocmVmKTsKKyAgICBpZiAoYmFzZSAhPSBOVUxMKQorCXhtbEZyZWUoYmFzZSk7CisgICAgaWYgKFVSSSA9PSBOVUxMKSB7CisJeG1sWEluY2x1ZGVFcnIoY3R4dCwgY3VyLCBYTUxfWElOQ0xVREVfSFJFRl9VUkksCisJICAgICAgICAgICAgICAgImZhaWxlZCBidWlsZCBVUkxcbiIsIE5VTEwpOworCXJldHVybigtMSk7CisgICAgfQorICAgIGZyYWdtZW50ID0geG1sWEluY2x1ZGVHZXRQcm9wKGN0eHQsIGN1ciwgWElOQ0xVREVfUEFSU0VfWFBPSU5URVIpOworCisgICAgLyoKKyAgICAgKiBDaGVjayB0aGUgVVJMIGFuZCByZW1vdmUgYW55IGZyYWdtZW50IGlkZW50aWZpZXIKKyAgICAgKi8KKyAgICB1cmkgPSB4bWxQYXJzZVVSSSgoY29uc3QgY2hhciAqKVVSSSk7CisgICAgaWYgKHVyaSA9PSBOVUxMKSB7CisJeG1sWEluY2x1ZGVFcnIoY3R4dCwgY3VyLCBYTUxfWElOQ0xVREVfSFJFRl9VUkksCisJICAgICAgICAgICAgICAgImludmFsaWQgdmFsdWUgVVJJICVzXG4iLCBVUkkpOworCWlmIChmcmFnbWVudCAhPSBOVUxMKQorCSAgICB4bWxGcmVlKGZyYWdtZW50KTsKKwl4bWxGcmVlKFVSSSk7CisJcmV0dXJuKC0xKTsKKyAgICB9CisKKyAgICBpZiAodXJpLT5mcmFnbWVudCAhPSBOVUxMKSB7CisgICAgICAgIGlmIChjdHh0LT5sZWdhY3kgIT0gMCkgeworCSAgICBpZiAoZnJhZ21lbnQgPT0gTlVMTCkgeworCQlmcmFnbWVudCA9ICh4bWxDaGFyICopIHVyaS0+ZnJhZ21lbnQ7CisJICAgIH0gZWxzZSB7CisJCXhtbEZyZWUodXJpLT5mcmFnbWVudCk7CisJICAgIH0KKwl9IGVsc2UgeworCSAgICB4bWxYSW5jbHVkZUVycihjdHh0LCBjdXIsIFhNTF9YSU5DTFVERV9GUkFHTUVOVF9JRCwKKyAgICAgICAiSW52YWxpZCBmcmFnbWVudCBpZGVudGlmaWVyIGluIFVSSSAlcyB1c2UgdGhlIHhwb2ludGVyIGF0dHJpYnV0ZVxuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIFVSSSk7CisJICAgIGlmIChmcmFnbWVudCAhPSBOVUxMKQorCSAgICAgICAgeG1sRnJlZShmcmFnbWVudCk7CisJICAgIHhtbEZyZWVVUkkodXJpKTsKKwkgICAgeG1sRnJlZShVUkkpOworCSAgICByZXR1cm4oLTEpOworCX0KKwl1cmktPmZyYWdtZW50ID0gTlVMTDsKKyAgICB9CisgICAgVVJMID0geG1sU2F2ZVVyaSh1cmkpOworICAgIHhtbEZyZWVVUkkodXJpKTsKKyAgICB4bWxGcmVlKFVSSSk7CisgICAgaWYgKFVSTCA9PSBOVUxMKSB7CisJeG1sWEluY2x1ZGVFcnIoY3R4dCwgY3VyLCBYTUxfWElOQ0xVREVfSFJFRl9VUkksCisJICAgICAgICAgICAgICAgImludmFsaWQgdmFsdWUgVVJJICVzXG4iLCBVUkkpOworCWlmIChmcmFnbWVudCAhPSBOVUxMKQorCSAgICB4bWxGcmVlKGZyYWdtZW50KTsKKwlyZXR1cm4oLTEpOworICAgIH0KKworICAgIC8qCisgICAgICogSWYgbG9jYWwgYW5kIHhtbCB0aGVuIHdlIG5lZWQgYSBmcmFnbWVudAorICAgICAqLworICAgIGlmICgobG9jYWwgPT0gMSkgJiYgKHhtbCA9PSAxKSAmJgorICAgICAgICAoKGZyYWdtZW50ID09IE5VTEwpIHx8IChmcmFnbWVudFswXSA9PSAwKSkpIHsKKwl4bWxYSW5jbHVkZUVycihjdHh0LCBjdXIsIFhNTF9YSU5DTFVERV9SRUNVUlNJT04sCisJICAgICAgICAgICAgICAgImRldGVjdGVkIGEgbG9jYWwgcmVjdXJzaW9uIHdpdGggbm8geHBvaW50ZXIgaW4gJXNcbiIsCisJCSAgICAgICBVUkwpOworCWlmIChmcmFnbWVudCAhPSBOVUxMKQorCSAgICB4bWxGcmVlKGZyYWdtZW50KTsKKwlyZXR1cm4oLTEpOworICAgIH0KKworICAgIC8qCisgICAgICogQ2hlY2sgdGhlIFVSTCBhZ2FpbnN0IHRoZSBzdGFjayBmb3IgcmVjdXJzaW9ucworICAgICAqLworICAgIGlmICgoIWxvY2FsKSAmJiAoeG1sID09IDEpKSB7CisJZm9yIChpID0gMDtpIDwgY3R4dC0+dXJsTnI7aSsrKSB7CisJICAgIGlmICh4bWxTdHJFcXVhbChVUkwsIGN0eHQtPnVybFRhYltpXSkpIHsKKwkJeG1sWEluY2x1ZGVFcnIoY3R4dCwgY3VyLCBYTUxfWElOQ0xVREVfUkVDVVJTSU9OLAorCQkgICAgICAgICAgICAgICAiZGV0ZWN0ZWQgYSByZWN1cnNpb24gaW4gJXNcbiIsIFVSTCk7CisJCXJldHVybigtMSk7CisJICAgIH0KKwl9CisgICAgfQorCisgICAgcmVmID0geG1sWEluY2x1ZGVOZXdSZWYoY3R4dCwgVVJMLCBjdXIpOworICAgIGlmIChyZWYgPT0gTlVMTCkgeworCXJldHVybigtMSk7CisgICAgfQorICAgIHJlZi0+ZnJhZ21lbnQgPSBmcmFnbWVudDsKKyAgICByZWYtPmRvYyA9IE5VTEw7CisgICAgcmVmLT54bWwgPSB4bWw7CisgICAgcmVmLT5jb3VudCA9IDE7CisgICAgeG1sRnJlZShVUkwpOworICAgIHJldHVybigwKTsKK30KKworLyoqCisgKiB4bWxYSW5jbHVkZVJlY3Vyc2VEb2M6CisgKiBAY3R4dDogIHRoZSBYSW5jbHVkZSBjb250ZXh0CisgKiBAZG9jOiAgdGhlIG5ldyBkb2N1bWVudAorICogQHVybDogIHRoZSBhc3NvY2lhdGVkIFVSTAorICoKKyAqIFRoZSBYSW5jbHVkZSByZWN1cnNpdmUgbmF0dXJlIGlzIGhhbmRsZWQgYXQgdGhpcyBwb2ludC4KKyAqLworc3RhdGljIHZvaWQKK3htbFhJbmNsdWRlUmVjdXJzZURvYyh4bWxYSW5jbHVkZUN0eHRQdHIgY3R4dCwgeG1sRG9jUHRyIGRvYywKKwkgICAgICAgICAgICAgIGNvbnN0IHhtbFVSTCB1cmwgQVRUUklCVVRFX1VOVVNFRCkgeworICAgIHhtbFhJbmNsdWRlQ3R4dFB0ciBuZXdjdHh0OworICAgIGludCBpOworCisgICAgLyoKKyAgICAgKiBBdm9pZCByZWN1cnNpb24gaW4gYWxyZWFkeSBzdWJzdGl0dWVkIHJlc291cmNlcworICAgIGZvciAoaSA9IDA7aSA8IGN0eHQtPnVybE5yO2krKykgeworCWlmICh4bWxTdHJFcXVhbChkb2MtPlVSTCwgY3R4dC0+dXJsVGFiW2ldKSkKKwkgICAgcmV0dXJuOworICAgIH0KKyAgICAgKi8KKworI2lmZGVmIERFQlVHX1hJTkNMVURFCisgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICJSZWN1cnNpbmcgaW4gZG9jICVzXG4iLCBkb2MtPlVSTCk7CisjZW5kaWYKKyAgICAvKgorICAgICAqIEhhbmRsZSByZWN1cnNpb24gaGVyZS4KKyAgICAgKi8KKworICAgIG5ld2N0eHQgPSB4bWxYSW5jbHVkZU5ld0NvbnRleHQoZG9jKTsKKyAgICBpZiAobmV3Y3R4dCAhPSBOVUxMKSB7CisJLyoKKwkgKiBDb3B5IHRoZSBwcml2YXRlIHVzZXIgZGF0YQorCSAqLworCW5ld2N0eHQtPl9wcml2YXRlID0gY3R4dC0+X3ByaXZhdGU7CisJLyoKKwkgKiBDb3B5IHRoZSBleGlzdGluZyBkb2N1bWVudCBzZXQKKwkgKi8KKwluZXdjdHh0LT5pbmNNYXggPSBjdHh0LT5pbmNNYXg7CisJbmV3Y3R4dC0+aW5jTnIgPSBjdHh0LT5pbmNOcjsKKyAgICAgICAgbmV3Y3R4dC0+aW5jVGFiID0gKHhtbFhJbmNsdWRlUmVmUHRyICopIHhtbE1hbGxvYyhuZXdjdHh0LT5pbmNNYXggKgorCQkgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihuZXdjdHh0LT5pbmNUYWJbMF0pKTsKKyAgICAgICAgaWYgKG5ld2N0eHQtPmluY1RhYiA9PSBOVUxMKSB7CisJICAgIHhtbFhJbmNsdWRlRXJyTWVtb3J5KGN0eHQsICh4bWxOb2RlUHRyKSBkb2MsICJwcm9jZXNzaW5nIGRvYyIpOworCSAgICB4bWxGcmVlKG5ld2N0eHQpOworCSAgICByZXR1cm47CisJfQorCS8qCisJICogY29weSB0aGUgdXJsVGFiCisJICovCisJbmV3Y3R4dC0+dXJsTWF4ID0gY3R4dC0+dXJsTWF4OworCW5ld2N0eHQtPnVybE5yID0gY3R4dC0+dXJsTnI7CisJbmV3Y3R4dC0+dXJsVGFiID0gY3R4dC0+dXJsVGFiOworCisJLyoKKwkgKiBJbmhlcml0IHRoZSBleGlzdGluZyBiYXNlCisJICovCisJbmV3Y3R4dC0+YmFzZSA9IHhtbFN0cmR1cChjdHh0LT5iYXNlKTsKKworCS8qCisJICogSW5oZXJpdCB0aGUgZG9jdW1lbnRzIGFscmVhZHkgaW4gdXNlIGJ5IG90aGVyIGluY2x1ZGVzCisJICovCisJbmV3Y3R4dC0+aW5jQmFzZSA9IGN0eHQtPmluY05yOworCWZvciAoaSA9IDA7aSA8IGN0eHQtPmluY05yO2krKykgeworCSAgICBuZXdjdHh0LT5pbmNUYWJbaV0gPSBjdHh0LT5pbmNUYWJbaV07CisJICAgIG5ld2N0eHQtPmluY1RhYltpXS0+Y291bnQrKzsgLyogcHJldmVudCB0aGUgcmVjdXJzaW9uIGZyb20KKwkJCQkJICAgIGZyZWVpbmcgaXQgKi8KKwl9CisJLyoKKwkgKiBUaGUgbmV3IGNvbnRleHQgc2hvdWxkIGFsc28gaW5oZXJpdCB0aGUgUGFyc2UgRmxhZ3MKKwkgKiAoYnVnIDEzMjU5NykKKwkgKi8KKwluZXdjdHh0LT5wYXJzZUZsYWdzID0gY3R4dC0+cGFyc2VGbGFnczsKKwl4bWxYSW5jbHVkZURvUHJvY2VzcyhuZXdjdHh0LCBkb2MsIHhtbERvY0dldFJvb3RFbGVtZW50KGRvYykpOworCWZvciAoaSA9IDA7aSA8IGN0eHQtPmluY05yO2krKykgeworCSAgICBuZXdjdHh0LT5pbmNUYWJbaV0tPmNvdW50LS07CisJICAgIG5ld2N0eHQtPmluY1RhYltpXSA9IE5VTEw7CisJfQorCisJLyogdXJsVGFiIG1heSBoYXZlIGJlZW4gcmVhbGxvY2F0ZWQgKi8KKwljdHh0LT51cmxUYWIgPSBuZXdjdHh0LT51cmxUYWI7CisJY3R4dC0+dXJsTWF4ID0gbmV3Y3R4dC0+dXJsTWF4OworCisJbmV3Y3R4dC0+dXJsTWF4ID0gMDsKKwluZXdjdHh0LT51cmxOciA9IDA7CisJbmV3Y3R4dC0+dXJsVGFiID0gTlVMTDsKKworCXhtbFhJbmNsdWRlRnJlZUNvbnRleHQobmV3Y3R4dCk7CisgICAgfQorI2lmZGVmIERFQlVHX1hJTkNMVURFCisgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICJEb25lIHJlY3Vyc2luZyBpbiBkb2MgJXNcbiIsIHVybCk7CisjZW5kaWYKK30KKworLyoqCisgKiB4bWxYSW5jbHVkZUFkZFR4dDoKKyAqIEBjdHh0OiAgdGhlIFhJbmNsdWRlIGNvbnRleHQKKyAqIEB0eHQ6ICB0aGUgbmV3IHRleHQgbm9kZQorICogQHVybDogIHRoZSBhc3NvY2lhdGVkIFVSTAorICoKKyAqIEFkZCBhIG5ldyB0eHR1bWVudCB0byB0aGUgbGlzdAorICovCitzdGF0aWMgdm9pZAoreG1sWEluY2x1ZGVBZGRUeHQoeG1sWEluY2x1ZGVDdHh0UHRyIGN0eHQsIHhtbE5vZGVQdHIgdHh0LCBjb25zdCB4bWxVUkwgdXJsKSB7CisjaWZkZWYgREVCVUdfWElOQ0xVREUKKyAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgIkFkZGluZyB0ZXh0ICVzXG4iLCB1cmwpOworI2VuZGlmCisgICAgaWYgKGN0eHQtPnR4dE1heCA9PSAwKSB7CisJY3R4dC0+dHh0TWF4ID0gNDsKKyAgICAgICAgY3R4dC0+dHh0VGFiID0gKHhtbE5vZGVQdHIgKikgeG1sTWFsbG9jKGN0eHQtPnR4dE1heCAqCisJCSAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKGN0eHQtPnR4dFRhYlswXSkpOworICAgICAgICBpZiAoY3R4dC0+dHh0VGFiID09IE5VTEwpIHsKKwkgICAgeG1sWEluY2x1ZGVFcnJNZW1vcnkoY3R4dCwgTlVMTCwgInByb2Nlc3NpbmcgdGV4dCIpOworCSAgICByZXR1cm47CisJfQorICAgICAgICBjdHh0LT50eHR1cmxUYWIgPSAoeG1sVVJMICopIHhtbE1hbGxvYyhjdHh0LT50eHRNYXggKgorCQkgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihjdHh0LT50eHR1cmxUYWJbMF0pKTsKKyAgICAgICAgaWYgKGN0eHQtPnR4dHVybFRhYiA9PSBOVUxMKSB7CisJICAgIHhtbFhJbmNsdWRlRXJyTWVtb3J5KGN0eHQsIE5VTEwsICJwcm9jZXNzaW5nIHRleHQiKTsKKwkgICAgcmV0dXJuOworCX0KKyAgICB9CisgICAgaWYgKGN0eHQtPnR4dE5yID49IGN0eHQtPnR4dE1heCkgeworCWN0eHQtPnR4dE1heCAqPSAyOworICAgICAgICBjdHh0LT50eHRUYWIgPSAoeG1sTm9kZVB0ciAqKSB4bWxSZWFsbG9jKGN0eHQtPnR4dFRhYiwKKwkgICAgICAgICAgICAgY3R4dC0+dHh0TWF4ICogc2l6ZW9mKGN0eHQtPnR4dFRhYlswXSkpOworICAgICAgICBpZiAoY3R4dC0+dHh0VGFiID09IE5VTEwpIHsKKwkgICAgeG1sWEluY2x1ZGVFcnJNZW1vcnkoY3R4dCwgTlVMTCwgInByb2Nlc3NpbmcgdGV4dCIpOworCSAgICByZXR1cm47CisJfQorICAgICAgICBjdHh0LT50eHR1cmxUYWIgPSAoeG1sVVJMICopIHhtbFJlYWxsb2MoY3R4dC0+dHh0dXJsVGFiLAorCSAgICAgICAgICAgICBjdHh0LT50eHRNYXggKiBzaXplb2YoY3R4dC0+dHh0dXJsVGFiWzBdKSk7CisgICAgICAgIGlmIChjdHh0LT50eHR1cmxUYWIgPT0gTlVMTCkgeworCSAgICB4bWxYSW5jbHVkZUVyck1lbW9yeShjdHh0LCBOVUxMLCAicHJvY2Vzc2luZyB0ZXh0Iik7CisJICAgIHJldHVybjsKKwl9CisgICAgfQorICAgIGN0eHQtPnR4dFRhYltjdHh0LT50eHROcl0gPSB0eHQ7CisgICAgY3R4dC0+dHh0dXJsVGFiW2N0eHQtPnR4dE5yXSA9IHhtbFN0cmR1cCh1cmwpOworICAgIGN0eHQtPnR4dE5yKys7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCQlOb2RlIGNvcHkgd2l0aCBzcGVjaWZpYyBzZW1hbnRpYwkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitzdGF0aWMgeG1sTm9kZVB0cgoreG1sWEluY2x1ZGVDb3B5Tm9kZUxpc3QoeG1sWEluY2x1ZGVDdHh0UHRyIGN0eHQsIHhtbERvY1B0ciB0YXJnZXQsCisJICAgICAgICAgICAgICAgIHhtbERvY1B0ciBzb3VyY2UsIHhtbE5vZGVQdHIgZWxlbSk7CisKKy8qKgorICogeG1sWEluY2x1ZGVDb3B5Tm9kZToKKyAqIEBjdHh0OiAgdGhlIFhJbmNsdWRlIGNvbnRleHQKKyAqIEB0YXJnZXQ6ICB0aGUgZG9jdW1lbnQgdGFyZ2V0CisgKiBAc291cmNlOiAgdGhlIGRvY3VtZW50IHNvdXJjZQorICogQGVsZW06ICB0aGUgZWxlbWVudAorICoKKyAqIE1ha2UgYSBjb3B5IG9mIHRoZSBub2RlIHdoaWxlIHByZXNlcnZpbmcgdGhlIFhJbmNsdWRlIHNlbWFudGljCisgKiBvZiB0aGUgSW5mb3NldCBjb3B5CisgKi8KK3N0YXRpYyB4bWxOb2RlUHRyCit4bWxYSW5jbHVkZUNvcHlOb2RlKHhtbFhJbmNsdWRlQ3R4dFB0ciBjdHh0LCB4bWxEb2NQdHIgdGFyZ2V0LAorCSAgICAgICAgICAgIHhtbERvY1B0ciBzb3VyY2UsIHhtbE5vZGVQdHIgZWxlbSkgeworICAgIHhtbE5vZGVQdHIgcmVzdWx0ID0gTlVMTDsKKworICAgIGlmICgoY3R4dCA9PSBOVUxMKSB8fCAodGFyZ2V0ID09IE5VTEwpIHx8IChzb3VyY2UgPT0gTlVMTCkgfHwKKwkoZWxlbSA9PSBOVUxMKSkKKwlyZXR1cm4oTlVMTCk7CisgICAgaWYgKGVsZW0tPnR5cGUgPT0gWE1MX0RURF9OT0RFKQorCXJldHVybihOVUxMKTsKKyAgICBpZiAoZWxlbS0+dHlwZSA9PSBYTUxfRE9DVU1FTlRfTk9ERSkKKwlyZXN1bHQgPSB4bWxYSW5jbHVkZUNvcHlOb2RlTGlzdChjdHh0LCB0YXJnZXQsIHNvdXJjZSwgZWxlbS0+Y2hpbGRyZW4pOworICAgIGVsc2UKKyAgICAgICAgcmVzdWx0ID0geG1sRG9jQ29weU5vZGUoZWxlbSwgdGFyZ2V0LCAxKTsKKyAgICByZXR1cm4ocmVzdWx0KTsKK30KKworLyoqCisgKiB4bWxYSW5jbHVkZUNvcHlOb2RlTGlzdDoKKyAqIEBjdHh0OiAgdGhlIFhJbmNsdWRlIGNvbnRleHQKKyAqIEB0YXJnZXQ6ICB0aGUgZG9jdW1lbnQgdGFyZ2V0CisgKiBAc291cmNlOiAgdGhlIGRvY3VtZW50IHNvdXJjZQorICogQGVsZW06ICB0aGUgZWxlbWVudCBsaXN0CisgKgorICogTWFrZSBhIGNvcHkgb2YgdGhlIG5vZGUgbGlzdCB3aGlsZSBwcmVzZXJ2aW5nIHRoZSBYSW5jbHVkZSBzZW1hbnRpYworICogb2YgdGhlIEluZm9zZXQgY29weQorICovCitzdGF0aWMgeG1sTm9kZVB0cgoreG1sWEluY2x1ZGVDb3B5Tm9kZUxpc3QoeG1sWEluY2x1ZGVDdHh0UHRyIGN0eHQsIHhtbERvY1B0ciB0YXJnZXQsCisJICAgICAgICAgICAgICAgIHhtbERvY1B0ciBzb3VyY2UsIHhtbE5vZGVQdHIgZWxlbSkgeworICAgIHhtbE5vZGVQdHIgY3VyLCByZXMsIHJlc3VsdCA9IE5VTEwsIGxhc3QgPSBOVUxMOworCisgICAgaWYgKChjdHh0ID09IE5VTEwpIHx8ICh0YXJnZXQgPT0gTlVMTCkgfHwgKHNvdXJjZSA9PSBOVUxMKSB8fAorCShlbGVtID09IE5VTEwpKQorCXJldHVybihOVUxMKTsKKyAgICBjdXIgPSBlbGVtOworICAgIHdoaWxlIChjdXIgIT0gTlVMTCkgeworCXJlcyA9IHhtbFhJbmNsdWRlQ29weU5vZGUoY3R4dCwgdGFyZ2V0LCBzb3VyY2UsIGN1cik7CisJaWYgKHJlcyAhPSBOVUxMKSB7CisJICAgIGlmIChyZXN1bHQgPT0gTlVMTCkgeworCQlyZXN1bHQgPSBsYXN0ID0gcmVzOworCSAgICB9IGVsc2UgeworCQlsYXN0LT5uZXh0ID0gcmVzOworCQlyZXMtPnByZXYgPSBsYXN0OworCQlsYXN0ID0gcmVzOworCSAgICB9CisJfQorCWN1ciA9IGN1ci0+bmV4dDsKKyAgICB9CisgICAgcmV0dXJuKHJlc3VsdCk7Cit9CisKKy8qKgorICogeG1sWEluY2x1ZGVHZXROdGhDaGlsZDoKKyAqIEBjdXI6ICB0aGUgbm9kZQorICogQG5vOiAgdGhlIGNoaWxkIG51bWJlcgorICoKKyAqIFJldHVybnMgdGhlIEBuJ3RoIGVsZW1lbnQgY2hpbGQgb2YgQGN1ciBvciBOVUxMCisgKi8KK3N0YXRpYyB4bWxOb2RlUHRyCit4bWxYSW5jbHVkZUdldE50aENoaWxkKHhtbE5vZGVQdHIgY3VyLCBpbnQgbm8pIHsKKyAgICBpbnQgaTsKKyAgICBpZiAoKGN1ciA9PSBOVUxMKSB8fCAoY3VyLT50eXBlID09IFhNTF9OQU1FU1BBQ0VfREVDTCkpCisgICAgICAgIHJldHVybihOVUxMKTsKKyAgICBjdXIgPSBjdXItPmNoaWxkcmVuOworICAgIGZvciAoaSA9IDA7aSA8PSBubztjdXIgPSBjdXItPm5leHQpIHsKKwlpZiAoY3VyID09IE5VTEwpCisJICAgIHJldHVybihjdXIpOworCWlmICgoY3VyLT50eXBlID09IFhNTF9FTEVNRU5UX05PREUpIHx8CisJICAgIChjdXItPnR5cGUgPT0gWE1MX0RPQ1VNRU5UX05PREUpIHx8CisJICAgIChjdXItPnR5cGUgPT0gWE1MX0hUTUxfRE9DVU1FTlRfTk9ERSkpIHsKKwkgICAgaSsrOworCSAgICBpZiAoaSA9PSBubykKKwkJYnJlYWs7CisJfQorICAgIH0KKyAgICByZXR1cm4oY3VyKTsKK30KKworeG1sTm9kZVB0ciB4bWxYUHRyQWR2YW5jZU5vZGUoeG1sTm9kZVB0ciBjdXIsIGludCAqbGV2ZWwpOyAvKiBpbiB4cG9pbnRlci5jICovCisvKioKKyAqIHhtbFhJbmNsdWRlQ29weVJhbmdlOgorICogQGN0eHQ6ICB0aGUgWEluY2x1ZGUgY29udGV4dAorICogQHRhcmdldDogIHRoZSBkb2N1bWVudCB0YXJnZXQKKyAqIEBzb3VyY2U6ICB0aGUgZG9jdW1lbnQgc291cmNlCisgKiBAb2JqOiAgdGhlIFhQb2ludGVyIHJlc3VsdCBmcm9tIHRoZSBldmFsdWF0aW9uLgorICoKKyAqIEJ1aWxkIGEgbm9kZSBsaXN0IHRyZWUgY29weSBvZiB0aGUgWFBvaW50ZXIgcmVzdWx0LgorICoKKyAqIFJldHVybnMgYW4geG1sTm9kZVB0ciBsaXN0IG9yIE5VTEwuCisgKiAgICAgICAgIFRoZSBjYWxsZXIgaGFzIHRvIGZyZWUgdGhlIG5vZGUgdHJlZS4KKyAqLworc3RhdGljIHhtbE5vZGVQdHIKK3htbFhJbmNsdWRlQ29weVJhbmdlKHhtbFhJbmNsdWRlQ3R4dFB0ciBjdHh0LCB4bWxEb2NQdHIgdGFyZ2V0LAorCSAgICAgICAgICAgICAgICB4bWxEb2NQdHIgc291cmNlLCB4bWxYUGF0aE9iamVjdFB0ciByYW5nZSkgeworICAgIC8qIHBvaW50ZXJzIHRvIGdlbmVyYXRlZCBub2RlcyAqLworICAgIHhtbE5vZGVQdHIgbGlzdCA9IE5VTEwsIGxhc3QgPSBOVUxMLCBsaXN0UGFyZW50ID0gTlVMTDsKKyAgICB4bWxOb2RlUHRyIHRtcCwgdG1wMjsKKyAgICAvKiBwb2ludGVycyB0byB0cmF2ZXJzYWwgbm9kZXMgKi8KKyAgICB4bWxOb2RlUHRyIHN0YXJ0LCBjdXIsIGVuZDsKKyAgICBpbnQgaW5kZXgxLCBpbmRleDI7CisgICAgaW50IGxldmVsID0gMCwgbGFzdExldmVsID0gMCwgZW5kTGV2ZWwgPSAwLCBlbmRGbGFnID0gMDsKKworICAgIGlmICgoY3R4dCA9PSBOVUxMKSB8fCAodGFyZ2V0ID09IE5VTEwpIHx8IChzb3VyY2UgPT0gTlVMTCkgfHwKKwkocmFuZ2UgPT0gTlVMTCkpCisJcmV0dXJuKE5VTEwpOworICAgIGlmIChyYW5nZS0+dHlwZSAhPSBYUEFUSF9SQU5HRSkKKwlyZXR1cm4oTlVMTCk7CisgICAgc3RhcnQgPSAoeG1sTm9kZVB0cikgcmFuZ2UtPnVzZXI7CisKKyAgICBpZiAoKHN0YXJ0ID09IE5VTEwpIHx8IChzdGFydC0+dHlwZSA9PSBYTUxfTkFNRVNQQUNFX0RFQ0wpKQorCXJldHVybihOVUxMKTsKKyAgICBlbmQgPSByYW5nZS0+dXNlcjI7CisgICAgaWYgKGVuZCA9PSBOVUxMKQorCXJldHVybih4bWxEb2NDb3B5Tm9kZShzdGFydCwgdGFyZ2V0LCAxKSk7CisgICAgaWYgKGVuZC0+dHlwZSA9PSBYTUxfTkFNRVNQQUNFX0RFQ0wpCisgICAgICAgIHJldHVybihOVUxMKTsKKworICAgIGN1ciA9IHN0YXJ0OworICAgIGluZGV4MSA9IHJhbmdlLT5pbmRleDsKKyAgICBpbmRleDIgPSByYW5nZS0+aW5kZXgyOworICAgIC8qCisgICAgICogbGV2ZWwgaXMgZGVwdGggb2YgdGhlIGN1cnJlbnQgbm9kZSB1bmRlciBjb25zaWRlcmF0aW9uCisgICAgICogbGlzdCBpcyB0aGUgcG9pbnRlciB0byB0aGUgcm9vdCBvZiB0aGUgb3V0cHV0IHRyZWUKKyAgICAgKiBsaXN0UGFyZW50IGlzIGEgcG9pbnRlciB0byB0aGUgcGFyZW50IG9mIG91dHB1dCB0cmVlICh3aXRoaW4KKyAgICAgICB0aGUgaW5jbHVkZWQgZmlsZSkgaW4gY2FzZSB3ZSBuZWVkIHRvIGFkZCBhbm90aGVyIGxldmVsCisgICAgICogbGFzdCBpcyBhIHBvaW50ZXIgdG8gdGhlIGxhc3Qgbm9kZSBhZGRlZCB0byB0aGUgb3V0cHV0IHRyZWUKKyAgICAgKiBsYXN0TGV2ZWwgaXMgdGhlIGRlcHRoIG9mIGxhc3QgKHJlbGF0aXZlIHRvIHRoZSByb290KQorICAgICAqLworICAgIHdoaWxlIChjdXIgIT0gTlVMTCkgeworCS8qCisJICogQ2hlY2sgaWYgb3VyIG91dHB1dCB0cmVlIG5lZWRzIGEgcGFyZW50CisJICovCisJaWYgKGxldmVsIDwgMCkgeworCSAgICB3aGlsZSAobGV2ZWwgPCAwKSB7CisJICAgICAgICAvKiBjb3B5IG11c3QgaW5jbHVkZSBuYW1lc3BhY2VzIGFuZCBwcm9wZXJ0aWVzICovCisJICAgICAgICB0bXAyID0geG1sRG9jQ29weU5vZGUobGlzdFBhcmVudCwgdGFyZ2V0LCAyKTsKKwkgICAgICAgIHhtbEFkZENoaWxkKHRtcDIsIGxpc3QpOworCSAgICAgICAgbGlzdCA9IHRtcDI7CisJICAgICAgICBsaXN0UGFyZW50ID0gbGlzdFBhcmVudC0+cGFyZW50OworCSAgICAgICAgbGV2ZWwrKzsKKwkgICAgfQorCSAgICBsYXN0ID0gbGlzdDsKKwkgICAgbGFzdExldmVsID0gMDsKKwl9CisJLyoKKwkgKiBDaGVjayB3aGV0aGVyIHdlIG5lZWQgdG8gY2hhbmdlIG91ciBpbnNlcnRpb24gcG9pbnQKKwkgKi8KKwl3aGlsZSAobGV2ZWwgPCBsYXN0TGV2ZWwpIHsKKwkgICAgbGFzdCA9IGxhc3QtPnBhcmVudDsKKwkgICAgbGFzdExldmVsIC0tOworCX0KKwlpZiAoY3VyID09IGVuZCkgewkvKiBBcmUgd2UgYXQgdGhlIGVuZCBvZiB0aGUgcmFuZ2U/ICovCisJICAgIGlmIChjdXItPnR5cGUgPT0gWE1MX1RFWFRfTk9ERSkgeworCQljb25zdCB4bWxDaGFyICpjb250ZW50ID0gY3VyLT5jb250ZW50OworCQlpbnQgbGVuOworCisJCWlmIChjb250ZW50ID09IE5VTEwpIHsKKwkJICAgIHRtcCA9IHhtbE5ld1RleHRMZW4oTlVMTCwgMCk7CisJCX0gZWxzZSB7CisJCSAgICBsZW4gPSBpbmRleDI7CisJCSAgICBpZiAoKGN1ciA9PSBzdGFydCkgJiYgKGluZGV4MSA+IDEpKSB7CisJCQljb250ZW50ICs9IChpbmRleDEgLSAxKTsKKwkJCWxlbiAtPSAoaW5kZXgxIC0gMSk7CisJCSAgICB9IGVsc2UgeworCQkJbGVuID0gaW5kZXgyOworCQkgICAgfQorCQkgICAgdG1wID0geG1sTmV3VGV4dExlbihjb250ZW50LCBsZW4pOworCQl9CisJCS8qIHNpbmdsZSBzdWIgdGV4dCBub2RlIHNlbGVjdGlvbiAqLworCQlpZiAobGlzdCA9PSBOVUxMKQorCQkgICAgcmV0dXJuKHRtcCk7CisJCS8qIHBydW5lIGFuZCByZXR1cm4gZnVsbCBzZXQgKi8KKwkJaWYgKGxldmVsID09IGxhc3RMZXZlbCkKKwkJICAgIHhtbEFkZE5leHRTaWJsaW5nKGxhc3QsIHRtcCk7CisJCWVsc2UKKwkJICAgIHhtbEFkZENoaWxkKGxhc3QsIHRtcCk7CisJCXJldHVybihsaXN0KTsKKwkgICAgfSBlbHNlIHsJLyogZW5kaW5nIG5vZGUgbm90IGEgdGV4dCBub2RlICovCisJICAgICAgICBlbmRMZXZlbCA9IGxldmVsOwkvKiByZW1lbWJlciB0aGUgbGV2ZWwgb2YgdGhlIGVuZCBub2RlICovCisJCWVuZEZsYWcgPSAxOworCQkvKiBsYXN0IG5vZGUgLSBuZWVkIHRvIHRha2UgY2FyZSBvZiBwcm9wZXJ0aWVzICsgbmFtZXNwYWNlcyAqLworCQl0bXAgPSB4bWxEb2NDb3B5Tm9kZShjdXIsIHRhcmdldCwgMik7CisJCWlmIChsaXN0ID09IE5VTEwpIHsKKwkJICAgIGxpc3QgPSB0bXA7CisJCSAgICBsaXN0UGFyZW50ID0gY3VyLT5wYXJlbnQ7CisJCX0gZWxzZSB7CisJCSAgICBpZiAobGV2ZWwgPT0gbGFzdExldmVsKQorCQkJeG1sQWRkTmV4dFNpYmxpbmcobGFzdCwgdG1wKTsKKwkJICAgIGVsc2UgeworCQkJeG1sQWRkQ2hpbGQobGFzdCwgdG1wKTsKKwkJCWxhc3RMZXZlbCA9IGxldmVsOworCQkgICAgfQorCQl9CisJCWxhc3QgPSB0bXA7CisKKwkJaWYgKGluZGV4MiA+IDEpIHsKKwkJICAgIGVuZCA9IHhtbFhJbmNsdWRlR2V0TnRoQ2hpbGQoY3VyLCBpbmRleDIgLSAxKTsKKwkJICAgIGluZGV4MiA9IDA7CisJCX0KKwkJaWYgKChjdXIgPT0gc3RhcnQpICYmIChpbmRleDEgPiAxKSkgeworCQkgICAgY3VyID0geG1sWEluY2x1ZGVHZXROdGhDaGlsZChjdXIsIGluZGV4MSAtIDEpOworCQkgICAgaW5kZXgxID0gMDsKKwkJfSAgZWxzZSB7CisJCSAgICBjdXIgPSBjdXItPmNoaWxkcmVuOworCQl9CisJCWxldmVsKys7CS8qIGluY3JlbWVudCBsZXZlbCB0byBzaG93IGNoYW5nZSAqLworCQkvKgorCQkgKiBOb3cgZ2F0aGVyIHRoZSByZW1haW5pbmcgbm9kZXMgZnJvbSBjdXIgdG8gZW5kCisJCSAqLworCQljb250aW51ZTsJLyogd2hpbGUgKi8KKwkgICAgfQorCX0gZWxzZSBpZiAoY3VyID09IHN0YXJ0KSB7CS8qIE5vdCBhdCB0aGUgZW5kLCBhcmUgd2UgYXQgc3RhcnQ/ICovCisJICAgIGlmICgoY3VyLT50eXBlID09IFhNTF9URVhUX05PREUpIHx8CisJCShjdXItPnR5cGUgPT0gWE1MX0NEQVRBX1NFQ1RJT05fTk9ERSkpIHsKKwkJY29uc3QgeG1sQ2hhciAqY29udGVudCA9IGN1ci0+Y29udGVudDsKKworCQlpZiAoY29udGVudCA9PSBOVUxMKSB7CisJCSAgICB0bXAgPSB4bWxOZXdUZXh0TGVuKE5VTEwsIDApOworCQl9IGVsc2UgeworCQkgICAgaWYgKGluZGV4MSA+IDEpIHsKKwkJCWNvbnRlbnQgKz0gKGluZGV4MSAtIDEpOworCQkJaW5kZXgxID0gMDsKKwkJICAgIH0KKwkJICAgIHRtcCA9IHhtbE5ld1RleHQoY29udGVudCk7CisJCX0KKwkJbGFzdCA9IGxpc3QgPSB0bXA7CisJCWxpc3RQYXJlbnQgPSBjdXItPnBhcmVudDsKKwkgICAgfSBlbHNlIHsJCS8qIE5vdCB0ZXh0IG5vZGUgKi8KKwkgICAgICAgIC8qCisJCSAqIHN0YXJ0IG9mIHRoZSByYW5nZSAtIG5lZWQgdG8gdGFrZSBjYXJlIG9mCisJCSAqIHByb3BlcnRpZXMgYW5kIG5hbWVzcGFjZXMKKwkJICovCisJCXRtcCA9IHhtbERvY0NvcHlOb2RlKGN1ciwgdGFyZ2V0LCAyKTsKKwkJbGlzdCA9IGxhc3QgPSB0bXA7CisJCWxpc3RQYXJlbnQgPSBjdXItPnBhcmVudDsKKwkJaWYgKGluZGV4MSA+IDEpIHsJLyogRG8gd2UgbmVlZCB0byBwb3NpdGlvbj8gKi8KKwkJICAgIGN1ciA9IHhtbFhJbmNsdWRlR2V0TnRoQ2hpbGQoY3VyLCBpbmRleDEgLSAxKTsKKwkJICAgIGxldmVsID0gbGFzdExldmVsID0gMTsKKwkJICAgIGluZGV4MSA9IDA7CisJCSAgICAvKgorCQkgICAgICogTm93IGdhdGhlciB0aGUgcmVtYWluaW5nIG5vZGVzIGZyb20gY3VyIHRvIGVuZAorCQkgICAgICovCisJCSAgICBjb250aW51ZTsgLyogd2hpbGUgKi8KKwkJfQorCSAgICB9CisJfSBlbHNlIHsKKwkgICAgdG1wID0gTlVMTDsKKwkgICAgc3dpdGNoIChjdXItPnR5cGUpIHsKKwkJY2FzZSBYTUxfRFREX05PREU6CisJCWNhc2UgWE1MX0VMRU1FTlRfREVDTDoKKwkJY2FzZSBYTUxfQVRUUklCVVRFX0RFQ0w6CisJCWNhc2UgWE1MX0VOVElUWV9OT0RFOgorCQkgICAgLyogRG8gbm90IGNvcHkgRFREIGluZm9ybWF0aW9ucyAqLworCQkgICAgYnJlYWs7CisJCWNhc2UgWE1MX0VOVElUWV9ERUNMOgorCQkgICAgLyogaGFuZGxlIGNyb3NzaW5nIGVudGl0aWVzIC0+IHN0YWNrIG5lZWRlZCAqLworCQkgICAgYnJlYWs7CisJCWNhc2UgWE1MX1hJTkNMVURFX1NUQVJUOgorCQljYXNlIFhNTF9YSU5DTFVERV9FTkQ6CisJCSAgICAvKiBkb24ndCBjb25zaWRlciBpdCBwYXJ0IG9mIHRoZSB0cmVlIGNvbnRlbnQgKi8KKwkJICAgIGJyZWFrOworCQljYXNlIFhNTF9BVFRSSUJVVEVfTk9ERToKKwkJICAgIC8qIEh1bW0sIHNob3VsZCBub3QgaGFwcGVuICEgKi8KKwkJICAgIGJyZWFrOworCQlkZWZhdWx0OgorCQkgICAgLyoKKwkJICAgICAqIE1pZGRsZSBvZiB0aGUgcmFuZ2UgLSBuZWVkIHRvIHRha2UgY2FyZSBvZgorCQkgICAgICogcHJvcGVydGllcyBhbmQgbmFtZXNwYWNlcworCQkgICAgICovCisJCSAgICB0bXAgPSB4bWxEb2NDb3B5Tm9kZShjdXIsIHRhcmdldCwgMik7CisJCSAgICBicmVhazsKKwkgICAgfQorCSAgICBpZiAodG1wICE9IE5VTEwpIHsKKwkJaWYgKGxldmVsID09IGxhc3RMZXZlbCkKKwkJICAgIHhtbEFkZE5leHRTaWJsaW5nKGxhc3QsIHRtcCk7CisJCWVsc2UgeworCQkgICAgeG1sQWRkQ2hpbGQobGFzdCwgdG1wKTsKKwkJICAgIGxhc3RMZXZlbCA9IGxldmVsOworCQl9CisJCWxhc3QgPSB0bXA7CisJICAgIH0KKwl9CisJLyoKKwkgKiBTa2lwIHRvIG5leHQgbm9kZSBpbiBkb2N1bWVudCBvcmRlcgorCSAqLworCWN1ciA9IHhtbFhQdHJBZHZhbmNlTm9kZShjdXIsICZsZXZlbCk7CisJaWYgKGVuZEZsYWcgJiYgKGxldmVsID49IGVuZExldmVsKSkKKwkgICAgYnJlYWs7CisgICAgfQorICAgIHJldHVybihsaXN0KTsKK30KKworLyoqCisgKiB4bWxYSW5jbHVkZUJ1aWxkTm9kZUxpc3Q6CisgKiBAY3R4dDogIHRoZSBYSW5jbHVkZSBjb250ZXh0CisgKiBAdGFyZ2V0OiAgdGhlIGRvY3VtZW50IHRhcmdldAorICogQHNvdXJjZTogIHRoZSBkb2N1bWVudCBzb3VyY2UKKyAqIEBvYmo6ICB0aGUgWFBvaW50ZXIgcmVzdWx0IGZyb20gdGhlIGV2YWx1YXRpb24uCisgKgorICogQnVpbGQgYSBub2RlIGxpc3QgdHJlZSBjb3B5IG9mIHRoZSBYUG9pbnRlciByZXN1bHQuCisgKiBUaGlzIHdpbGwgZHJvcCBBdHRyaWJ1dGVzIGFuZCBOYW1lc3BhY2UgZGVjbGFyYXRpb25zLgorICoKKyAqIFJldHVybnMgYW4geG1sTm9kZVB0ciBsaXN0IG9yIE5VTEwuCisgKiAgICAgICAgIHRoZSBjYWxsZXIgaGFzIHRvIGZyZWUgdGhlIG5vZGUgdHJlZS4KKyAqLworc3RhdGljIHhtbE5vZGVQdHIKK3htbFhJbmNsdWRlQ29weVhQb2ludGVyKHhtbFhJbmNsdWRlQ3R4dFB0ciBjdHh0LCB4bWxEb2NQdHIgdGFyZ2V0LAorCSAgICAgICAgICAgICAgICB4bWxEb2NQdHIgc291cmNlLCB4bWxYUGF0aE9iamVjdFB0ciBvYmopIHsKKyAgICB4bWxOb2RlUHRyIGxpc3QgPSBOVUxMLCBsYXN0ID0gTlVMTDsKKyAgICBpbnQgaTsKKworICAgIGlmIChzb3VyY2UgPT0gTlVMTCkKKwlzb3VyY2UgPSBjdHh0LT5kb2M7CisgICAgaWYgKChjdHh0ID09IE5VTEwpIHx8ICh0YXJnZXQgPT0gTlVMTCkgfHwgKHNvdXJjZSA9PSBOVUxMKSB8fAorCShvYmogPT0gTlVMTCkpCisJcmV0dXJuKE5VTEwpOworICAgIHN3aXRjaCAob2JqLT50eXBlKSB7CisgICAgICAgIGNhc2UgWFBBVEhfTk9ERVNFVDogeworCSAgICB4bWxOb2RlU2V0UHRyIHNldCA9IG9iai0+bm9kZXNldHZhbDsKKwkgICAgaWYgKHNldCA9PSBOVUxMKQorCQlyZXR1cm4oTlVMTCk7CisJICAgIGZvciAoaSA9IDA7aSA8IHNldC0+bm9kZU5yO2krKykgeworCQlpZiAoc2V0LT5ub2RlVGFiW2ldID09IE5VTEwpCisJCSAgICBjb250aW51ZTsKKwkJc3dpdGNoIChzZXQtPm5vZGVUYWJbaV0tPnR5cGUpIHsKKwkJICAgIGNhc2UgWE1MX1RFWFRfTk9ERToKKwkJICAgIGNhc2UgWE1MX0NEQVRBX1NFQ1RJT05fTk9ERToKKwkJICAgIGNhc2UgWE1MX0VMRU1FTlRfTk9ERToKKwkJICAgIGNhc2UgWE1MX0VOVElUWV9SRUZfTk9ERToKKwkJICAgIGNhc2UgWE1MX0VOVElUWV9OT0RFOgorCQkgICAgY2FzZSBYTUxfUElfTk9ERToKKwkJICAgIGNhc2UgWE1MX0NPTU1FTlRfTk9ERToKKwkJICAgIGNhc2UgWE1MX0RPQ1VNRU5UX05PREU6CisJCSAgICBjYXNlIFhNTF9IVE1MX0RPQ1VNRU5UX05PREU6CisjaWZkZWYgTElCWE1MX0RPQ0JfRU5BQkxFRAorCQkgICAgY2FzZSBYTUxfRE9DQl9ET0NVTUVOVF9OT0RFOgorI2VuZGlmCisJCSAgICBjYXNlIFhNTF9YSU5DTFVERV9FTkQ6CisJCQlicmVhazsKKwkJICAgIGNhc2UgWE1MX1hJTkNMVURFX1NUQVJUOiB7CisJICAgICAgICAgICAgICAgIHhtbE5vZGVQdHIgdG1wLCBjdXIgPSBzZXQtPm5vZGVUYWJbaV07CisKKwkJCWN1ciA9IGN1ci0+bmV4dDsKKwkJCXdoaWxlIChjdXIgIT0gTlVMTCkgeworCQkJICAgIHN3aXRjaChjdXItPnR5cGUpIHsKKwkJCQljYXNlIFhNTF9URVhUX05PREU6CisJCQkJY2FzZSBYTUxfQ0RBVEFfU0VDVElPTl9OT0RFOgorCQkJCWNhc2UgWE1MX0VMRU1FTlRfTk9ERToKKwkJCQljYXNlIFhNTF9FTlRJVFlfUkVGX05PREU6CisJCQkJY2FzZSBYTUxfRU5USVRZX05PREU6CisJCQkJY2FzZSBYTUxfUElfTk9ERToKKwkJCQljYXNlIFhNTF9DT01NRU5UX05PREU6CisJCQkJICAgIHRtcCA9IHhtbFhJbmNsdWRlQ29weU5vZGUoY3R4dCwgdGFyZ2V0LAorCQkJCQkJCSAgICAgIHNvdXJjZSwgY3VyKTsKKwkJCQkgICAgaWYgKGxhc3QgPT0gTlVMTCkgeworCQkJCQlsaXN0ID0gbGFzdCA9IHRtcDsKKwkJCQkgICAgfSBlbHNlIHsKKwkJCQkJeG1sQWRkTmV4dFNpYmxpbmcobGFzdCwgdG1wKTsKKwkJCQkJbGFzdCA9IHRtcDsKKwkJCQkgICAgfQorCQkJCSAgICBjdXIgPSBjdXItPm5leHQ7CisJCQkJICAgIGNvbnRpbnVlOworCQkJCWRlZmF1bHQ6CisJCQkJICAgIGJyZWFrOworCQkJICAgIH0KKwkJCSAgICBicmVhazsKKwkJCX0KKwkJCWNvbnRpbnVlOworCQkgICAgfQorCQkgICAgY2FzZSBYTUxfQVRUUklCVVRFX05PREU6CisJCSAgICBjYXNlIFhNTF9OQU1FU1BBQ0VfREVDTDoKKwkJICAgIGNhc2UgWE1MX0RPQ1VNRU5UX1RZUEVfTk9ERToKKwkJICAgIGNhc2UgWE1MX0RPQ1VNRU5UX0ZSQUdfTk9ERToKKwkJICAgIGNhc2UgWE1MX05PVEFUSU9OX05PREU6CisJCSAgICBjYXNlIFhNTF9EVERfTk9ERToKKwkJICAgIGNhc2UgWE1MX0VMRU1FTlRfREVDTDoKKwkJICAgIGNhc2UgWE1MX0FUVFJJQlVURV9ERUNMOgorCQkgICAgY2FzZSBYTUxfRU5USVRZX0RFQ0w6CisJCQljb250aW51ZTsgLyogZm9yICovCisJCX0KKwkJaWYgKGxhc3QgPT0gTlVMTCkKKwkJICAgIGxpc3QgPSBsYXN0ID0geG1sWEluY2x1ZGVDb3B5Tm9kZShjdHh0LCB0YXJnZXQsIHNvdXJjZSwKKwkJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldC0+bm9kZVRhYltpXSk7CisJCWVsc2UgeworCQkgICAgeG1sQWRkTmV4dFNpYmxpbmcobGFzdCwKKwkJCSAgICB4bWxYSW5jbHVkZUNvcHlOb2RlKGN0eHQsIHRhcmdldCwgc291cmNlLAorCQkJCSAgICAgICAgICAgICAgICBzZXQtPm5vZGVUYWJbaV0pKTsKKwkJICAgIGlmIChsYXN0LT5uZXh0ICE9IE5VTEwpCisJCQlsYXN0ID0gbGFzdC0+bmV4dDsKKwkJfQorCSAgICB9CisJICAgIGJyZWFrOworCX0KKyNpZmRlZiBMSUJYTUxfWFBUUl9FTkFCTEVECisJY2FzZSBYUEFUSF9MT0NBVElPTlNFVDogeworCSAgICB4bWxMb2NhdGlvblNldFB0ciBzZXQgPSAoeG1sTG9jYXRpb25TZXRQdHIpIG9iai0+dXNlcjsKKwkgICAgaWYgKHNldCA9PSBOVUxMKQorCQlyZXR1cm4oTlVMTCk7CisJICAgIGZvciAoaSA9IDA7aSA8IHNldC0+bG9jTnI7aSsrKSB7CisJCWlmIChsYXN0ID09IE5VTEwpCisJCSAgICBsaXN0ID0gbGFzdCA9IHhtbFhJbmNsdWRlQ29weVhQb2ludGVyKGN0eHQsIHRhcmdldCwgc291cmNlLAorCQkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldC0+bG9jVGFiW2ldKTsKKwkJZWxzZQorCQkgICAgeG1sQWRkTmV4dFNpYmxpbmcobGFzdCwKKwkJCSAgICB4bWxYSW5jbHVkZUNvcHlYUG9pbnRlcihjdHh0LCB0YXJnZXQsIHNvdXJjZSwKKwkJCQkgICAgICAgICAgICAgICAgICAgIHNldC0+bG9jVGFiW2ldKSk7CisJCWlmIChsYXN0ICE9IE5VTEwpIHsKKwkJICAgIHdoaWxlIChsYXN0LT5uZXh0ICE9IE5VTEwpCisJCQlsYXN0ID0gbGFzdC0+bmV4dDsKKwkJfQorCSAgICB9CisJICAgIGJyZWFrOworCX0KKwljYXNlIFhQQVRIX1JBTkdFOgorCSAgICByZXR1cm4oeG1sWEluY2x1ZGVDb3B5UmFuZ2UoY3R4dCwgdGFyZ2V0LCBzb3VyY2UsIG9iaikpOworI2VuZGlmCisJY2FzZSBYUEFUSF9QT0lOVDoKKwkgICAgLyogcG9pbnRzIGFyZSBpZ25vcmVkIGluIFhJbmNsdWRlICovCisJICAgIGJyZWFrOworCWRlZmF1bHQ6CisJICAgIGJyZWFrOworICAgIH0KKyAgICByZXR1cm4obGlzdCk7Cit9CisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQkJWEluY2x1ZGUgSS9PIGhhbmRsaW5nCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKwordHlwZWRlZiBzdHJ1Y3QgX3htbFhJbmNsdWRlTWVyZ2VEYXRhIHhtbFhJbmNsdWRlTWVyZ2VEYXRhOwordHlwZWRlZiB4bWxYSW5jbHVkZU1lcmdlRGF0YSAqeG1sWEluY2x1ZGVNZXJnZURhdGFQdHI7CitzdHJ1Y3QgX3htbFhJbmNsdWRlTWVyZ2VEYXRhIHsKKyAgICB4bWxEb2NQdHIgZG9jOworICAgIHhtbFhJbmNsdWRlQ3R4dFB0ciBjdHh0OworfTsKKworLyoqCisgKiB4bWxYSW5jbHVkZU1lcmdlT25lRW50aXR5OgorICogQGVudDogdGhlIGVudGl0eQorICogQGRvYzogIHRoZSBpbmNsdWRpbmcgZG9jCisgKiBAbnI6IHRoZSBlbnRpdHkgbmFtZQorICoKKyAqIElucGxlbWVudHMgdGhlIG1lcmdlIG9mIG9uZSBlbnRpdHkKKyAqLworc3RhdGljIHZvaWQKK3htbFhJbmNsdWRlTWVyZ2VFbnRpdHkoeG1sRW50aXR5UHRyIGVudCwgeG1sWEluY2x1ZGVNZXJnZURhdGFQdHIgZGF0YSwKKwkgICAgICAgICAgICAgICB4bWxDaGFyICpuYW1lIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICB4bWxFbnRpdHlQdHIgcmV0LCBwcmV2OworICAgIHhtbERvY1B0ciBkb2M7CisgICAgeG1sWEluY2x1ZGVDdHh0UHRyIGN0eHQ7CisKKyAgICBpZiAoKGVudCA9PSBOVUxMKSB8fCAoZGF0YSA9PSBOVUxMKSkKKwlyZXR1cm47CisgICAgY3R4dCA9IGRhdGEtPmN0eHQ7CisgICAgZG9jID0gZGF0YS0+ZG9jOworICAgIGlmICgoY3R4dCA9PSBOVUxMKSB8fCAoZG9jID09IE5VTEwpKQorCXJldHVybjsKKyAgICBzd2l0Y2ggKGVudC0+ZXR5cGUpIHsKKyAgICAgICAgY2FzZSBYTUxfSU5URVJOQUxfUEFSQU1FVEVSX0VOVElUWToKKyAgICAgICAgY2FzZSBYTUxfRVhURVJOQUxfUEFSQU1FVEVSX0VOVElUWToKKyAgICAgICAgY2FzZSBYTUxfSU5URVJOQUxfUFJFREVGSU5FRF9FTlRJVFk6CisJICAgIHJldHVybjsKKyAgICAgICAgY2FzZSBYTUxfSU5URVJOQUxfR0VORVJBTF9FTlRJVFk6CisgICAgICAgIGNhc2UgWE1MX0VYVEVSTkFMX0dFTkVSQUxfUEFSU0VEX0VOVElUWToKKyAgICAgICAgY2FzZSBYTUxfRVhURVJOQUxfR0VORVJBTF9VTlBBUlNFRF9FTlRJVFk6CisJICAgIGJyZWFrOworICAgIH0KKyAgICByZXQgPSB4bWxBZGREb2NFbnRpdHkoZG9jLCBlbnQtPm5hbWUsIGVudC0+ZXR5cGUsIGVudC0+RXh0ZXJuYWxJRCwKKwkJCSAgZW50LT5TeXN0ZW1JRCwgZW50LT5jb250ZW50KTsKKyAgICBpZiAocmV0ICE9IE5VTEwpIHsKKwlpZiAoZW50LT5VUkkgIT0gTlVMTCkKKwkgICAgcmV0LT5VUkkgPSB4bWxTdHJkdXAoZW50LT5VUkkpOworICAgIH0gZWxzZSB7CisJcHJldiA9IHhtbEdldERvY0VudGl0eShkb2MsIGVudC0+bmFtZSk7CisJaWYgKHByZXYgIT0gTlVMTCkgeworCSAgICBpZiAoZW50LT5ldHlwZSAhPSBwcmV2LT5ldHlwZSkKKwkJZ290byBlcnJvcjsKKworCSAgICBpZiAoKGVudC0+U3lzdGVtSUQgIT0gTlVMTCkgJiYgKHByZXYtPlN5c3RlbUlEICE9IE5VTEwpKSB7CisJCWlmICgheG1sU3RyRXF1YWwoZW50LT5TeXN0ZW1JRCwgcHJldi0+U3lzdGVtSUQpKQorCQkgICAgZ290byBlcnJvcjsKKwkgICAgfSBlbHNlIGlmICgoZW50LT5FeHRlcm5hbElEICE9IE5VTEwpICYmCisJCSAgICAgICAocHJldi0+RXh0ZXJuYWxJRCAhPSBOVUxMKSkgeworCQlpZiAoIXhtbFN0ckVxdWFsKGVudC0+RXh0ZXJuYWxJRCwgcHJldi0+RXh0ZXJuYWxJRCkpCisJCSAgICBnb3RvIGVycm9yOworCSAgICB9IGVsc2UgaWYgKChlbnQtPmNvbnRlbnQgIT0gTlVMTCkgJiYgKHByZXYtPmNvbnRlbnQgIT0gTlVMTCkpIHsKKwkJaWYgKCF4bWxTdHJFcXVhbChlbnQtPmNvbnRlbnQsIHByZXYtPmNvbnRlbnQpKQorCQkgICAgZ290byBlcnJvcjsKKwkgICAgfSBlbHNlIHsKKwkJZ290byBlcnJvcjsKKwkgICAgfQorCisJfQorICAgIH0KKyAgICByZXR1cm47CitlcnJvcjoKKyAgICBzd2l0Y2ggKGVudC0+ZXR5cGUpIHsKKyAgICAgICAgY2FzZSBYTUxfSU5URVJOQUxfUEFSQU1FVEVSX0VOVElUWToKKyAgICAgICAgY2FzZSBYTUxfRVhURVJOQUxfUEFSQU1FVEVSX0VOVElUWToKKyAgICAgICAgY2FzZSBYTUxfSU5URVJOQUxfUFJFREVGSU5FRF9FTlRJVFk6CisgICAgICAgIGNhc2UgWE1MX0lOVEVSTkFMX0dFTkVSQUxfRU5USVRZOgorICAgICAgICBjYXNlIFhNTF9FWFRFUk5BTF9HRU5FUkFMX1BBUlNFRF9FTlRJVFk6CisJICAgIHJldHVybjsKKyAgICAgICAgY2FzZSBYTUxfRVhURVJOQUxfR0VORVJBTF9VTlBBUlNFRF9FTlRJVFk6CisJICAgIGJyZWFrOworICAgIH0KKyAgICB4bWxYSW5jbHVkZUVycihjdHh0LCAoeG1sTm9kZVB0cikgZW50LCBYTUxfWElOQ0xVREVfRU5USVRZX0RFRl9NSVNNQVRDSCwKKyAgICAgICAgICAgICAgICAgICAibWlzbWF0Y2ggaW4gcmVkZWZpbml0aW9uIG9mIGVudGl0eSAlc1xuIiwKKwkJICAgZW50LT5uYW1lKTsKK30KKworLyoqCisgKiB4bWxYSW5jbHVkZU1lcmdlRW50aXRpZXM6CisgKiBAY3R4dDogYW4gWEluY2x1ZGUgY29udGV4dAorICogQGRvYzogIHRoZSBpbmNsdWRpbmcgZG9jCisgKiBAZnJvbTogIHRoZSBpbmNsdWRlZCBkb2MKKyAqCisgKiBJbnBsZW1lbnRzIHRoZSBlbnRpdHkgbWVyZ2UKKyAqCisgKiBSZXR1cm5zIDAgaWYgbWVyZ2Ugc3VjY2VlZGVkLCAtMSBpZiBzb21lIHByb2Nlc3NpbmcgZmFpbGVkCisgKi8KK3N0YXRpYyBpbnQKK3htbFhJbmNsdWRlTWVyZ2VFbnRpdGllcyh4bWxYSW5jbHVkZUN0eHRQdHIgY3R4dCwgeG1sRG9jUHRyIGRvYywKKwkgICAgICAgICAgICAgICAgIHhtbERvY1B0ciBmcm9tKSB7CisgICAgeG1sTm9kZVB0ciBjdXI7CisgICAgeG1sRHRkUHRyIHRhcmdldCwgc291cmNlOworCisgICAgaWYgKGN0eHQgPT0gTlVMTCkKKwlyZXR1cm4oLTEpOworCisgICAgaWYgKChmcm9tID09IE5VTEwpIHx8IChmcm9tLT5pbnRTdWJzZXQgPT0gTlVMTCkpCisJcmV0dXJuKDApOworCisgICAgdGFyZ2V0ID0gZG9jLT5pbnRTdWJzZXQ7CisgICAgaWYgKHRhcmdldCA9PSBOVUxMKSB7CisJY3VyID0geG1sRG9jR2V0Um9vdEVsZW1lbnQoZG9jKTsKKwlpZiAoY3VyID09IE5VTEwpCisJICAgIHJldHVybigtMSk7CisgICAgICAgIHRhcmdldCA9IHhtbENyZWF0ZUludFN1YnNldChkb2MsIGN1ci0+bmFtZSwgTlVMTCwgTlVMTCk7CisJaWYgKHRhcmdldCA9PSBOVUxMKQorCSAgICByZXR1cm4oLTEpOworICAgIH0KKworICAgIHNvdXJjZSA9IGZyb20tPmludFN1YnNldDsKKyAgICBpZiAoKHNvdXJjZSAhPSBOVUxMKSAmJiAoc291cmNlLT5lbnRpdGllcyAhPSBOVUxMKSkgeworCXhtbFhJbmNsdWRlTWVyZ2VEYXRhIGRhdGE7CisKKwlkYXRhLmN0eHQgPSBjdHh0OworCWRhdGEuZG9jID0gZG9jOworCisJeG1sSGFzaFNjYW4oKHhtbEhhc2hUYWJsZVB0cikgc291cmNlLT5lbnRpdGllcywKKwkJICAgICh4bWxIYXNoU2Nhbm5lcikgeG1sWEluY2x1ZGVNZXJnZUVudGl0eSwgJmRhdGEpOworICAgIH0KKyAgICBzb3VyY2UgPSBmcm9tLT5leHRTdWJzZXQ7CisgICAgaWYgKChzb3VyY2UgIT0gTlVMTCkgJiYgKHNvdXJjZS0+ZW50aXRpZXMgIT0gTlVMTCkpIHsKKwl4bWxYSW5jbHVkZU1lcmdlRGF0YSBkYXRhOworCisJZGF0YS5jdHh0ID0gY3R4dDsKKwlkYXRhLmRvYyA9IGRvYzsKKworCS8qCisJICogZG9uJ3QgZHVwbGljYXRlIGV4aXN0aW5nIHN0dWZmIHdoZW4gZXh0ZXJuYWwgc3Vic2V0cyBhcmUgdGhlIHNhbWUKKwkgKi8KKwlpZiAoKCF4bWxTdHJFcXVhbCh0YXJnZXQtPkV4dGVybmFsSUQsIHNvdXJjZS0+RXh0ZXJuYWxJRCkpICYmCisJICAgICgheG1sU3RyRXF1YWwodGFyZ2V0LT5TeXN0ZW1JRCwgc291cmNlLT5TeXN0ZW1JRCkpKSB7CisJICAgIHhtbEhhc2hTY2FuKCh4bWxIYXNoVGFibGVQdHIpIHNvdXJjZS0+ZW50aXRpZXMsCisJCQkoeG1sSGFzaFNjYW5uZXIpIHhtbFhJbmNsdWRlTWVyZ2VFbnRpdHksICZkYXRhKTsKKwl9CisgICAgfQorICAgIHJldHVybigwKTsKK30KKworLyoqCisgKiB4bWxYSW5jbHVkZUxvYWREb2M6CisgKiBAY3R4dDogIHRoZSBYSW5jbHVkZSBjb250ZXh0CisgKiBAdXJsOiAgdGhlIGFzc29jaWF0ZWQgVVJMCisgKiBAbnI6ICB0aGUgeGluY2x1ZGUgbm9kZSBudW1iZXIKKyAqCisgKiBMb2FkIHRoZSBkb2N1bWVudCwgYW5kIHN0b3JlIHRoZSByZXN1bHQgaW4gdGhlIFhJbmNsdWRlIGNvbnRleHQKKyAqCisgKiBSZXR1cm5zIDAgaW4gY2FzZSBvZiBzdWNjZXNzLCAtMSBpbiBjYXNlIG9mIGZhaWx1cmUKKyAqLworc3RhdGljIGludAoreG1sWEluY2x1ZGVMb2FkRG9jKHhtbFhJbmNsdWRlQ3R4dFB0ciBjdHh0LCBjb25zdCB4bWxDaGFyICp1cmwsIGludCBucikgeworICAgIHhtbERvY1B0ciBkb2M7CisgICAgeG1sVVJJUHRyIHVyaTsKKyAgICB4bWxDaGFyICpVUkw7CisgICAgeG1sQ2hhciAqZnJhZ21lbnQgPSBOVUxMOworICAgIGludCBpID0gMDsKKyNpZmRlZiBMSUJYTUxfWFBUUl9FTkFCTEVECisgICAgaW50IHNhdmVGbGFnczsKKyNlbmRpZgorCisjaWZkZWYgREVCVUdfWElOQ0xVREUKKyAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgIkxvYWRpbmcgZG9jICVzOiVkXG4iLCB1cmwsIG5yKTsKKyNlbmRpZgorICAgIC8qCisgICAgICogQ2hlY2sgdGhlIFVSTCBhbmQgcmVtb3ZlIGFueSBmcmFnbWVudCBpZGVudGlmaWVyCisgICAgICovCisgICAgdXJpID0geG1sUGFyc2VVUkkoKGNvbnN0IGNoYXIgKil1cmwpOworICAgIGlmICh1cmkgPT0gTlVMTCkgeworCXhtbFhJbmNsdWRlRXJyKGN0eHQsIGN0eHQtPmluY1RhYltucl0tPnJlZiwKKwkgICAgICAgICAgICAgICBYTUxfWElOQ0xVREVfSFJFRl9VUkksCisJCSAgICAgICAiaW52YWxpZCB2YWx1ZSBVUkkgJXNcbiIsIHVybCk7CisJcmV0dXJuKC0xKTsKKyAgICB9CisgICAgaWYgKHVyaS0+ZnJhZ21lbnQgIT0gTlVMTCkgeworCWZyYWdtZW50ID0gKHhtbENoYXIgKikgdXJpLT5mcmFnbWVudDsKKwl1cmktPmZyYWdtZW50ID0gTlVMTDsKKyAgICB9CisgICAgaWYgKChjdHh0LT5pbmNUYWIgIT0gTlVMTCkgJiYgKGN0eHQtPmluY1RhYltucl0gIT0gTlVMTCkgJiYKKyAgICAgICAgKGN0eHQtPmluY1RhYltucl0tPmZyYWdtZW50ICE9IE5VTEwpKSB7CisJaWYgKGZyYWdtZW50ICE9IE5VTEwpIHhtbEZyZWUoZnJhZ21lbnQpOworCWZyYWdtZW50ID0geG1sU3RyZHVwKGN0eHQtPmluY1RhYltucl0tPmZyYWdtZW50KTsKKyAgICB9CisgICAgVVJMID0geG1sU2F2ZVVyaSh1cmkpOworICAgIHhtbEZyZWVVUkkodXJpKTsKKyAgICBpZiAoVVJMID09IE5VTEwpIHsKKyAgICAgICAgaWYgKGN0eHQtPmluY1RhYiAhPSBOVUxMKQorCSAgICB4bWxYSW5jbHVkZUVycihjdHh0LCBjdHh0LT5pbmNUYWJbbnJdLT5yZWYsCisJCQkgICBYTUxfWElOQ0xVREVfSFJFRl9VUkksCisJCQkgICAiaW52YWxpZCB2YWx1ZSBVUkkgJXNcbiIsIHVybCk7CisJZWxzZQorCSAgICB4bWxYSW5jbHVkZUVycihjdHh0LCBOVUxMLAorCQkJICAgWE1MX1hJTkNMVURFX0hSRUZfVVJJLAorCQkJICAgImludmFsaWQgdmFsdWUgVVJJICVzXG4iLCB1cmwpOworCWlmIChmcmFnbWVudCAhPSBOVUxMKQorCSAgICB4bWxGcmVlKGZyYWdtZW50KTsKKwlyZXR1cm4oLTEpOworICAgIH0KKworICAgIC8qCisgICAgICogSGFuZGxpbmcgb2YgcmVmZXJlbmNlcyB0byB0aGUgbG9jYWwgZG9jdW1lbnQgYXJlIGRvbmUKKyAgICAgKiBkaXJlY3RseSB0aHJvdWdoIGN0eHQtPmRvYy4KKyAgICAgKi8KKyAgICBpZiAoKFVSTFswXSA9PSAwKSB8fCAoVVJMWzBdID09ICcjJykgfHwKKwkoKGN0eHQtPmRvYyAhPSBOVUxMKSAmJiAoeG1sU3RyRXF1YWwoVVJMLCBjdHh0LT5kb2MtPlVSTCkpKSkgeworCWRvYyA9IE5VTEw7CisgICAgICAgIGdvdG8gbG9hZGVkOworICAgIH0KKworICAgIC8qCisgICAgICogUHJldmVudCByZWxvYWRpbmcgdHdpY2UgdGhlIGRvY3VtZW50LgorICAgICAqLworICAgIGZvciAoaSA9IDA7IGkgPCBjdHh0LT5pbmNOcjsgaSsrKSB7CisJaWYgKCh4bWxTdHJFcXVhbChVUkwsIGN0eHQtPmluY1RhYltpXS0+VVJJKSkgJiYKKwkgICAgKGN0eHQtPmluY1RhYltpXS0+ZG9jICE9IE5VTEwpKSB7CisJICAgIGRvYyA9IGN0eHQtPmluY1RhYltpXS0+ZG9jOworI2lmZGVmIERFQlVHX1hJTkNMVURFCisJICAgIHByaW50ZigiQWxyZWFkeSBsb2FkZWQgJXNcbiIsIFVSTCk7CisjZW5kaWYKKwkgICAgZ290byBsb2FkZWQ7CisJfQorICAgIH0KKworICAgIC8qCisgICAgICogTG9hZCBpdC4KKyAgICAgKi8KKyNpZmRlZiBERUJVR19YSU5DTFVERQorICAgIHByaW50ZigibG9hZGluZyAlc1xuIiwgVVJMKTsKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YUFRSX0VOQUJMRUQKKyAgICAvKgorICAgICAqIElmIHRoaXMgaXMgYW4gWFBvaW50ZXIgZXZhbHVhdGlvbiwgd2Ugd2FudCB0byBhc3N1cmUgdGhhdAorICAgICAqIGFsbCBlbnRpdGllcyBoYXZlIGJlZW4gcmVzb2x2ZWQgcHJpb3IgdG8gcHJvY2Vzc2luZyB0aGUKKyAgICAgKiByZWZlcmVuY2VkIGRvY3VtZW50CisgICAgICovCisgICAgc2F2ZUZsYWdzID0gY3R4dC0+cGFyc2VGbGFnczsKKyAgICBpZiAoZnJhZ21lbnQgIT0gTlVMTCkgewkvKiBpZiB0aGlzIGlzIGFuIFhQb2ludGVyIGV2YWwgKi8KKwljdHh0LT5wYXJzZUZsYWdzIHw9IFhNTF9QQVJTRV9OT0VOVDsKKyAgICB9CisjZW5kaWYKKworICAgIGRvYyA9IHhtbFhJbmNsdWRlUGFyc2VGaWxlKGN0eHQsIChjb25zdCBjaGFyICopVVJMKTsKKyNpZmRlZiBMSUJYTUxfWFBUUl9FTkFCTEVECisgICAgY3R4dC0+cGFyc2VGbGFncyA9IHNhdmVGbGFnczsKKyNlbmRpZgorICAgIGlmIChkb2MgPT0gTlVMTCkgeworCXhtbEZyZWUoVVJMKTsKKwlpZiAoZnJhZ21lbnQgIT0gTlVMTCkKKwkgICAgeG1sRnJlZShmcmFnbWVudCk7CisJcmV0dXJuKC0xKTsKKyAgICB9CisgICAgY3R4dC0+aW5jVGFiW25yXS0+ZG9jID0gZG9jOworICAgIC8qCisgICAgICogSXQncyBwb3NzaWJsZSB0aGF0IHRoZSByZXF1ZXN0ZWQgVVJMIGhhcyBiZWVuIG1hcHBlZCB0byBhCisgICAgICogY29tcGxldGVseSBkaWZmZXJlbnQgbG9jYXRpb24gKGUuZy4gdGhyb3VnaCBhIGNhdGFsb2cgZW50cnkpLgorICAgICAqIFRvIGNoZWNrIGZvciB0aGlzLCB3ZSBjb21wYXJlIHRoZSBVUkwgd2l0aCB0aGF0IG9mIHRoZSBkb2MKKyAgICAgKiBhbmQgY2hhbmdlIGl0IGlmIHRoZXkgZGlzYWdyZWUgKGJ1ZyAxNDY5ODgpLgorICAgICAqLworICAgaWYgKCF4bWxTdHJFcXVhbChVUkwsIGRvYy0+VVJMKSkgeworICAgICAgIHhtbEZyZWUoVVJMKTsKKyAgICAgICBVUkwgPSB4bWxTdHJkdXAoZG9jLT5VUkwpOworICAgfQorICAgIGZvciAoaSA9IG5yICsgMTsgaSA8IGN0eHQtPmluY05yOyBpKyspIHsKKwlpZiAoeG1sU3RyRXF1YWwoVVJMLCBjdHh0LT5pbmNUYWJbaV0tPlVSSSkpIHsKKwkgICAgY3R4dC0+aW5jVGFiW25yXS0+Y291bnQrKzsKKyNpZmRlZiBERUJVR19YSU5DTFVERQorCSAgICBwcmludGYoIkluY3JlYXNpbmcgJXMgY291bnQgc2luY2UgcmV1c2VkXG4iLCBVUkwpOworI2VuZGlmCisgICAgICAgICAgICBicmVhazsKKwl9CisgICAgfQorCisgICAgLyoKKyAgICAgKiBNYWtlIHN1cmUgd2UgaGF2ZSBhbGwgZW50aXRpZXMgZml4ZWQgdXAKKyAgICAgKi8KKyAgICB4bWxYSW5jbHVkZU1lcmdlRW50aXRpZXMoY3R4dCwgY3R4dC0+ZG9jLCBkb2MpOworCisgICAgLyoKKyAgICAgKiBXZSBkb24ndCBuZWVkIHRoZSBEVEQgYW55bW9yZSwgZnJlZSB1cCBzcGFjZQorICAgIGlmIChkb2MtPmludFN1YnNldCAhPSBOVUxMKSB7CisJeG1sVW5saW5rTm9kZSgoeG1sTm9kZVB0cikgZG9jLT5pbnRTdWJzZXQpOworCXhtbEZyZWVOb2RlKCh4bWxOb2RlUHRyKSBkb2MtPmludFN1YnNldCk7CisJZG9jLT5pbnRTdWJzZXQgPSBOVUxMOworICAgIH0KKyAgICBpZiAoZG9jLT5leHRTdWJzZXQgIT0gTlVMTCkgeworCXhtbFVubGlua05vZGUoKHhtbE5vZGVQdHIpIGRvYy0+ZXh0U3Vic2V0KTsKKwl4bWxGcmVlTm9kZSgoeG1sTm9kZVB0cikgZG9jLT5leHRTdWJzZXQpOworCWRvYy0+ZXh0U3Vic2V0ID0gTlVMTDsKKyAgICB9CisgICAgICovCisgICAgeG1sWEluY2x1ZGVSZWN1cnNlRG9jKGN0eHQsIGRvYywgVVJMKTsKKworbG9hZGVkOgorICAgIGlmIChmcmFnbWVudCA9PSBOVUxMKSB7CisJLyoKKwkgKiBBZGQgdGhlIHRvcCBjaGlsZHJlbiBsaXN0IGFzIHRoZSByZXBsYWNlbWVudCBjb3B5LgorCSAqLworCWlmIChkb2MgPT0gTlVMTCkKKwl7CisJICAgIC8qIEhvcGVmdWxseSBhIERURCBkZWNsYXJhdGlvbiB3b24ndCBiZSBjb3BpZWQgZnJvbQorCSAgICAgKiB0aGUgc2FtZSBkb2N1bWVudCAqLworCSAgICBjdHh0LT5pbmNUYWJbbnJdLT5pbmMgPSB4bWxDb3B5Tm9kZUxpc3QoY3R4dC0+ZG9jLT5jaGlsZHJlbik7CisJfSBlbHNlIHsKKwkgICAgY3R4dC0+aW5jVGFiW25yXS0+aW5jID0geG1sWEluY2x1ZGVDb3B5Tm9kZUxpc3QoY3R4dCwgY3R4dC0+ZG9jLAorCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb2MsIGRvYy0+Y2hpbGRyZW4pOworCX0KKyAgICB9CisjaWZkZWYgTElCWE1MX1hQVFJfRU5BQkxFRAorICAgIGVsc2UgeworCS8qCisJICogQ29tcHV0ZXMgdGhlIFhQb2ludGVyIGV4cHJlc3Npb24gYW5kIG1ha2UgYSBjb3B5IHVzZWQKKwkgKiBhcyB0aGUgcmVwbGFjZW1lbnQgY29weS4KKwkgKi8KKwl4bWxYUGF0aE9iamVjdFB0ciB4cHRyOworCXhtbFhQYXRoQ29udGV4dFB0ciB4cHRyY3R4dDsKKwl4bWxOb2RlU2V0UHRyIHNldDsKKworCWlmIChkb2MgPT0gTlVMTCkgeworCSAgICB4cHRyY3R4dCA9IHhtbFhQdHJOZXdDb250ZXh0KGN0eHQtPmRvYywgY3R4dC0+aW5jVGFiW25yXS0+cmVmLAorCQkgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7CisJfSBlbHNlIHsKKwkgICAgeHB0cmN0eHQgPSB4bWxYUHRyTmV3Q29udGV4dChkb2MsIE5VTEwsIE5VTEwpOworCX0KKwlpZiAoeHB0cmN0eHQgPT0gTlVMTCkgeworCSAgICB4bWxYSW5jbHVkZUVycihjdHh0LCBjdHh0LT5pbmNUYWJbbnJdLT5yZWYsCisJICAgICAgICAgICAgICAgICAgIFhNTF9YSU5DTFVERV9YUFRSX0ZBSUxFRCwKKwkJCSAgICJjb3VsZCBub3QgY3JlYXRlIFhQb2ludGVyIGNvbnRleHRcbiIsIE5VTEwpOworCSAgICB4bWxGcmVlKFVSTCk7CisJICAgIHhtbEZyZWUoZnJhZ21lbnQpOworCSAgICByZXR1cm4oLTEpOworCX0KKwl4cHRyID0geG1sWFB0ckV2YWwoZnJhZ21lbnQsIHhwdHJjdHh0KTsKKwlpZiAoeHB0ciA9PSBOVUxMKSB7CisJICAgIHhtbFhJbmNsdWRlRXJyKGN0eHQsIGN0eHQtPmluY1RhYltucl0tPnJlZiwKKwkgICAgICAgICAgICAgICAgICAgWE1MX1hJTkNMVURFX1hQVFJfRkFJTEVELAorCQkJICAgIlhQb2ludGVyIGV2YWx1YXRpb24gZmFpbGVkOiAjJXNcbiIsCisJCQkgICBmcmFnbWVudCk7CisJICAgIHhtbFhQYXRoRnJlZUNvbnRleHQoeHB0cmN0eHQpOworCSAgICB4bWxGcmVlKFVSTCk7CisJICAgIHhtbEZyZWUoZnJhZ21lbnQpOworCSAgICByZXR1cm4oLTEpOworCX0KKwlzd2l0Y2ggKHhwdHItPnR5cGUpIHsKKwkgICAgY2FzZSBYUEFUSF9VTkRFRklORUQ6CisJICAgIGNhc2UgWFBBVEhfQk9PTEVBTjoKKwkgICAgY2FzZSBYUEFUSF9OVU1CRVI6CisJICAgIGNhc2UgWFBBVEhfU1RSSU5HOgorCSAgICBjYXNlIFhQQVRIX1BPSU5UOgorCSAgICBjYXNlIFhQQVRIX1VTRVJTOgorCSAgICBjYXNlIFhQQVRIX1hTTFRfVFJFRToKKwkJeG1sWEluY2x1ZGVFcnIoY3R4dCwgY3R4dC0+aW5jVGFiW25yXS0+cmVmLAorCQkgICAgICAgICAgICAgICBYTUxfWElOQ0xVREVfWFBUUl9SRVNVTFQsCisJCQkgICAgICAgIlhQb2ludGVyIGlzIG5vdCBhIHJhbmdlOiAjJXNcbiIsCisJCQkgICAgICAgZnJhZ21lbnQpOworCQl4bWxYUGF0aEZyZWVDb250ZXh0KHhwdHJjdHh0KTsKKwkJeG1sRnJlZShVUkwpOworCQl4bWxGcmVlKGZyYWdtZW50KTsKKwkJcmV0dXJuKC0xKTsKKwkgICAgY2FzZSBYUEFUSF9OT0RFU0VUOgorCSAgICAgICAgaWYgKCh4cHRyLT5ub2Rlc2V0dmFsID09IE5VTEwpIHx8CisJCSAgICAoeHB0ci0+bm9kZXNldHZhbC0+bm9kZU5yIDw9IDApKSB7CisJCSAgICB4bWxYUGF0aEZyZWVDb250ZXh0KHhwdHJjdHh0KTsKKwkJICAgIHhtbEZyZWUoVVJMKTsKKwkJICAgIHhtbEZyZWUoZnJhZ21lbnQpOworCQkgICAgcmV0dXJuKC0xKTsKKwkJfQorCisJICAgIGNhc2UgWFBBVEhfUkFOR0U6CisJICAgIGNhc2UgWFBBVEhfTE9DQVRJT05TRVQ6CisJCWJyZWFrOworCX0KKwlzZXQgPSB4cHRyLT5ub2Rlc2V0dmFsOworCWlmIChzZXQgIT0gTlVMTCkgeworCSAgICBmb3IgKGkgPSAwO2kgPCBzZXQtPm5vZGVOcjtpKyspIHsKKwkJaWYgKHNldC0+bm9kZVRhYltpXSA9PSBOVUxMKQorCQkgICAgY29udGludWU7CisJCXN3aXRjaCAoc2V0LT5ub2RlVGFiW2ldLT50eXBlKSB7CisJCSAgICBjYXNlIFhNTF9FTEVNRU5UX05PREU6CisJCSAgICBjYXNlIFhNTF9URVhUX05PREU6CisJCSAgICBjYXNlIFhNTF9DREFUQV9TRUNUSU9OX05PREU6CisJCSAgICBjYXNlIFhNTF9FTlRJVFlfUkVGX05PREU6CisJCSAgICBjYXNlIFhNTF9FTlRJVFlfTk9ERToKKwkJICAgIGNhc2UgWE1MX1BJX05PREU6CisJCSAgICBjYXNlIFhNTF9DT01NRU5UX05PREU6CisJCSAgICBjYXNlIFhNTF9ET0NVTUVOVF9OT0RFOgorCQkgICAgY2FzZSBYTUxfSFRNTF9ET0NVTUVOVF9OT0RFOgorI2lmZGVmIExJQlhNTF9ET0NCX0VOQUJMRUQKKwkJICAgIGNhc2UgWE1MX0RPQ0JfRE9DVU1FTlRfTk9ERToKKyNlbmRpZgorCQkJY29udGludWU7CisKKwkJICAgIGNhc2UgWE1MX0FUVFJJQlVURV9OT0RFOgorCQkJeG1sWEluY2x1ZGVFcnIoY3R4dCwgY3R4dC0+aW5jVGFiW25yXS0+cmVmLAorCQkJICAgICAgICAgICAgICAgWE1MX1hJTkNMVURFX1hQVFJfUkVTVUxULAorCQkJCSAgICAgICAiWFBvaW50ZXIgc2VsZWN0cyBhbiBhdHRyaWJ1dGU6ICMlc1xuIiwKKwkJCQkgICAgICAgZnJhZ21lbnQpOworCQkJc2V0LT5ub2RlVGFiW2ldID0gTlVMTDsKKwkJCWNvbnRpbnVlOworCQkgICAgY2FzZSBYTUxfTkFNRVNQQUNFX0RFQ0w6CisJCQl4bWxYSW5jbHVkZUVycihjdHh0LCBjdHh0LT5pbmNUYWJbbnJdLT5yZWYsCisJCQkgICAgICAgICAgICAgICBYTUxfWElOQ0xVREVfWFBUUl9SRVNVTFQsCisJCQkJICAgICAgICJYUG9pbnRlciBzZWxlY3RzIGEgbmFtZXNwYWNlOiAjJXNcbiIsCisJCQkJICAgICAgIGZyYWdtZW50KTsKKwkJCXNldC0+bm9kZVRhYltpXSA9IE5VTEw7CisJCQljb250aW51ZTsKKwkJICAgIGNhc2UgWE1MX0RPQ1VNRU5UX1RZUEVfTk9ERToKKwkJICAgIGNhc2UgWE1MX0RPQ1VNRU5UX0ZSQUdfTk9ERToKKwkJICAgIGNhc2UgWE1MX05PVEFUSU9OX05PREU6CisJCSAgICBjYXNlIFhNTF9EVERfTk9ERToKKwkJICAgIGNhc2UgWE1MX0VMRU1FTlRfREVDTDoKKwkJICAgIGNhc2UgWE1MX0FUVFJJQlVURV9ERUNMOgorCQkgICAgY2FzZSBYTUxfRU5USVRZX0RFQ0w6CisJCSAgICBjYXNlIFhNTF9YSU5DTFVERV9TVEFSVDoKKwkJICAgIGNhc2UgWE1MX1hJTkNMVURFX0VORDoKKwkJCXhtbFhJbmNsdWRlRXJyKGN0eHQsIGN0eHQtPmluY1RhYltucl0tPnJlZiwKKwkJCSAgICAgICAgICAgICAgIFhNTF9YSU5DTFVERV9YUFRSX1JFU1VMVCwKKwkJCQkgICAiWFBvaW50ZXIgc2VsZWN0cyB1bmV4cGVjdGVkIG5vZGVzOiAjJXNcbiIsCisJCQkJICAgICAgIGZyYWdtZW50KTsKKwkJCXNldC0+bm9kZVRhYltpXSA9IE5VTEw7CisJCQlzZXQtPm5vZGVUYWJbaV0gPSBOVUxMOworCQkJY29udGludWU7IC8qIGZvciAqLworCQl9CisJICAgIH0KKwl9CisJaWYgKGRvYyA9PSBOVUxMKSB7CisJICAgIGN0eHQtPmluY1RhYltucl0tPnhwdHIgPSB4cHRyOworCSAgICBjdHh0LT5pbmNUYWJbbnJdLT5pbmMgPSBOVUxMOworCX0gZWxzZSB7CisJICAgIGN0eHQtPmluY1RhYltucl0tPmluYyA9CisJCXhtbFhJbmNsdWRlQ29weVhQb2ludGVyKGN0eHQsIGN0eHQtPmRvYywgZG9jLCB4cHRyKTsKKwkgICAgeG1sWFBhdGhGcmVlT2JqZWN0KHhwdHIpOworCX0KKwl4bWxYUGF0aEZyZWVDb250ZXh0KHhwdHJjdHh0KTsKKwl4bWxGcmVlKGZyYWdtZW50KTsKKyAgICB9CisjZW5kaWYKKworICAgIC8qCisgICAgICogRG8gdGhlIHhtbDpiYXNlIGZpeHVwIGlmIG5lZWRlZAorICAgICAqLworICAgIGlmICgoZG9jICE9IE5VTEwpICYmIChVUkwgIT0gTlVMTCkgJiYKKyAgICAgICAgKCEoY3R4dC0+cGFyc2VGbGFncyAmIFhNTF9QQVJTRV9OT0JBU0VGSVgpKSAmJgorCSghKGRvYy0+cGFyc2VGbGFncyAmIFhNTF9QQVJTRV9OT0JBU0VGSVgpKSkgeworCXhtbE5vZGVQdHIgbm9kZTsKKwl4bWxDaGFyICpiYXNlOworCXhtbENoYXIgKmN1ckJhc2U7CisKKwkvKgorCSAqIFRoZSBiYXNlIGlzIG9ubHkgYWRqdXN0ZWQgaWYgIm5lY2Vzc2FyeSIsIGkuZS4gaWYgdGhlIHhpbmNsdWRlIG5vZGUKKwkgKiBoYXMgYSBiYXNlIHNwZWNpZmllZCwgb3IgdGhlIFVSTCBpcyByZWxhdGl2ZQorCSAqLworCWJhc2UgPSB4bWxHZXROc1Byb3AoY3R4dC0+aW5jVGFiW25yXS0+cmVmLCBCQURfQ0FTVCAiYmFzZSIsCisJCQlYTUxfWE1MX05BTUVTUEFDRSk7CisJaWYgKGJhc2UgPT0gTlVMTCkgeworCSAgICAvKgorCSAgICAgKiBObyB4bWw6YmFzZSBvbiB0aGUgeGluY2x1ZGUgbm9kZSwgc28gd2UgY2hlY2sgd2hldGhlciB0aGUKKwkgICAgICogVVJJIGJhc2UgaXMgZGlmZmVyZW50IHRoYW4gKHJlbGF0aXZlIHRvKSB0aGUgY29udGV4dCBiYXNlCisJICAgICAqLworCSAgICBjdXJCYXNlID0geG1sQnVpbGRSZWxhdGl2ZVVSSShVUkwsIGN0eHQtPmJhc2UpOworCSAgICBpZiAoY3VyQmFzZSA9PSBOVUxMKSB7CS8qIEVycm9yIHJldHVybiAqLworCSAgICAgICAgeG1sWEluY2x1ZGVFcnIoY3R4dCwgY3R4dC0+aW5jVGFiW25yXS0+cmVmLAorCSAgICAgICAgICAgICAgIFhNTF9YSU5DTFVERV9IUkVGX1VSSSwKKwkJICAgICAgICJ0cnlpbmcgdG8gYnVpbGQgcmVsYXRpdmUgVVJJIGZyb20gJXNcbiIsIFVSTCk7CisJICAgIH0gZWxzZSB7CisJCS8qIElmIHRoZSBVUkkgZG9lc24ndCBjb250YWluIGEgc2xhc2gsIGl0J3Mgbm90IHJlbGF0aXZlICovCisJICAgICAgICBpZiAoIXhtbFN0cmNocihjdXJCYXNlLCAoeG1sQ2hhcikgJy8nKSkKKwkJICAgIHhtbEZyZWUoY3VyQmFzZSk7CisJCWVsc2UKKwkJICAgIGJhc2UgPSBjdXJCYXNlOworCSAgICB9CisJfQorCWlmIChiYXNlICE9IE5VTEwpIHsJLyogQWRqdXN0bWVudCBtYXkgYmUgbmVlZGVkICovCisJICAgIG5vZGUgPSBjdHh0LT5pbmNUYWJbbnJdLT5pbmM7CisJICAgIHdoaWxlIChub2RlICE9IE5VTEwpIHsKKwkJLyogT25seSB3b3JrIG9uIGVsZW1lbnQgbm9kZXMgKi8KKwkJaWYgKG5vZGUtPnR5cGUgPT0gWE1MX0VMRU1FTlRfTk9ERSkgeworCQkgICAgY3VyQmFzZSA9IHhtbE5vZGVHZXRCYXNlKG5vZGUtPmRvYywgbm9kZSk7CisJCSAgICAvKiBJZiBubyBjdXJyZW50IGJhc2UsIHNldCBpdCAqLworCQkgICAgaWYgKGN1ckJhc2UgPT0gTlVMTCkgeworCQkJeG1sTm9kZVNldEJhc2Uobm9kZSwgYmFzZSk7CisJCSAgICB9IGVsc2UgeworCQkJLyoKKwkJCSAqIElmIHRoZSBjdXJyZW50IGJhc2UgaXMgdGhlIHNhbWUgYXMgdGhlCisJCQkgKiBVUkwgb2YgdGhlIGRvY3VtZW50LCB0aGVuIHJlc2V0IGl0IHRvIGJlCisJCQkgKiB0aGUgc3BlY2lmaWVkIHhtbDpiYXNlIG9yIHRoZSByZWxhdGl2ZSBVUkkKKwkJCSAqLworCQkJaWYgKHhtbFN0ckVxdWFsKGN1ckJhc2UsIG5vZGUtPmRvYy0+VVJMKSkgeworCQkJICAgIHhtbE5vZGVTZXRCYXNlKG5vZGUsIGJhc2UpOworCQkJfSBlbHNlIHsKKwkJCSAgICAvKgorCQkJICAgICAqIElmIHRoZSBlbGVtZW50IGFscmVhZHkgaGFzIGFuIHhtbDpiYXNlCisJCQkgICAgICogc2V0LCB0aGVuIHJlbGF0aXZpc2UgaXQgaWYgbmVjZXNzYXJ5CisJCQkgICAgICovCisJCQkgICAgeG1sQ2hhciAqeG1sQmFzZTsKKwkJCSAgICB4bWxCYXNlID0geG1sR2V0TnNQcm9wKG5vZGUsCisJCQkJCSAgICBCQURfQ0FTVCAiYmFzZSIsCisJCQkJCSAgICBYTUxfWE1MX05BTUVTUEFDRSk7CisJCQkgICAgaWYgKHhtbEJhc2UgIT0gTlVMTCkgeworCQkJCXhtbENoYXIgKnJlbEJhc2U7CisJCQkJcmVsQmFzZSA9IHhtbEJ1aWxkVVJJKHhtbEJhc2UsIGJhc2UpOworCQkJCWlmIChyZWxCYXNlID09IE5VTEwpIHsgLyogZXJyb3IgKi8KKwkJCQkgICAgeG1sWEluY2x1ZGVFcnIoY3R4dCwKKwkJCQkJCWN0eHQtPmluY1RhYltucl0tPnJlZiwKKwkJCQkJCVhNTF9YSU5DTFVERV9IUkVGX1VSSSwKKwkJCQkJInRyeWluZyB0byByZWJ1aWxkIGJhc2UgZnJvbSAlc1xuIiwKKwkJCQkJCXhtbEJhc2UpOworCQkJCX0gZWxzZSB7CisJCQkJICAgIHhtbE5vZGVTZXRCYXNlKG5vZGUsIHJlbEJhc2UpOworCQkJCSAgICB4bWxGcmVlKHJlbEJhc2UpOworCQkJCX0KKwkJCQl4bWxGcmVlKHhtbEJhc2UpOworCQkJICAgIH0KKwkJCX0KKwkJCXhtbEZyZWUoY3VyQmFzZSk7CisJCSAgICB9CisJCX0KKwkgICAgICAgIG5vZGUgPSBub2RlLT5uZXh0OworCSAgICB9CisJICAgIHhtbEZyZWUoYmFzZSk7CisJfQorICAgIH0KKyAgICBpZiAoKG5yIDwgY3R4dC0+aW5jTnIpICYmIChjdHh0LT5pbmNUYWJbbnJdLT5kb2MgIT0gTlVMTCkgJiYKKwkoY3R4dC0+aW5jVGFiW25yXS0+Y291bnQgPD0gMSkpIHsKKyNpZmRlZiBERUJVR19YSU5DTFVERQorICAgICAgICBwcmludGYoImZyZWVpbmcgJXNcbiIsIGN0eHQtPmluY1RhYltucl0tPmRvYy0+VVJMKTsKKyNlbmRpZgorCXhtbEZyZWVEb2MoY3R4dC0+aW5jVGFiW25yXS0+ZG9jKTsKKwljdHh0LT5pbmNUYWJbbnJdLT5kb2MgPSBOVUxMOworICAgIH0KKyAgICB4bWxGcmVlKFVSTCk7CisgICAgcmV0dXJuKDApOworfQorCisvKioKKyAqIHhtbFhJbmNsdWRlTG9hZFR4dDoKKyAqIEBjdHh0OiAgdGhlIFhJbmNsdWRlIGNvbnRleHQKKyAqIEB1cmw6ICB0aGUgYXNzb2NpYXRlZCBVUkwKKyAqIEBucjogIHRoZSB4aW5jbHVkZSBub2RlIG51bWJlcgorICoKKyAqIExvYWQgdGhlIGNvbnRlbnQsIGFuZCBzdG9yZSB0aGUgcmVzdWx0IGluIHRoZSBYSW5jbHVkZSBjb250ZXh0CisgKgorICogUmV0dXJucyAwIGluIGNhc2Ugb2Ygc3VjY2VzcywgLTEgaW4gY2FzZSBvZiBmYWlsdXJlCisgKi8KK3N0YXRpYyBpbnQKK3htbFhJbmNsdWRlTG9hZFR4dCh4bWxYSW5jbHVkZUN0eHRQdHIgY3R4dCwgY29uc3QgeG1sQ2hhciAqdXJsLCBpbnQgbnIpIHsKKyAgICB4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciBidWY7CisgICAgeG1sTm9kZVB0ciBub2RlOworICAgIHhtbFVSSVB0ciB1cmk7CisgICAgeG1sQ2hhciAqVVJMOworICAgIGludCBpOworICAgIHhtbENoYXIgKmVuY29kaW5nID0gTlVMTDsKKyAgICB4bWxDaGFyRW5jb2RpbmcgZW5jID0gKHhtbENoYXJFbmNvZGluZykgMDsKKyAgICB4bWxQYXJzZXJDdHh0UHRyIHBjdHh0OworICAgIHhtbFBhcnNlcklucHV0UHRyIGlucHV0U3RyZWFtOworICAgIGludCB4aW5jbHVkZV9tdWx0aWJ5dGVfZmFsbGJhY2tfdXNlZCA9IDA7CisKKyAgICAvKgorICAgICAqIENoZWNrIHRoZSBVUkwgYW5kIHJlbW92ZSBhbnkgZnJhZ21lbnQgaWRlbnRpZmllcgorICAgICAqLworICAgIHVyaSA9IHhtbFBhcnNlVVJJKChjb25zdCBjaGFyICopdXJsKTsKKyAgICBpZiAodXJpID09IE5VTEwpIHsKKwl4bWxYSW5jbHVkZUVycihjdHh0LCBjdHh0LT5pbmNUYWJbbnJdLT5yZWYsIFhNTF9YSU5DTFVERV9IUkVGX1VSSSwKKwkgICAgICAgICAgICAgICAiaW52YWxpZCB2YWx1ZSBVUkkgJXNcbiIsIHVybCk7CisJcmV0dXJuKC0xKTsKKyAgICB9CisgICAgaWYgKHVyaS0+ZnJhZ21lbnQgIT0gTlVMTCkgeworCXhtbFhJbmNsdWRlRXJyKGN0eHQsIGN0eHQtPmluY1RhYltucl0tPnJlZiwgWE1MX1hJTkNMVURFX1RFWFRfRlJBR01FTlQsCisJICAgICAgICAgICAgICAgImZyYWdtZW50IGlkZW50aWZpZXIgZm9yYmlkZGVuIGZvciB0ZXh0OiAlc1xuIiwKKwkJICAgICAgIChjb25zdCB4bWxDaGFyICopIHVyaS0+ZnJhZ21lbnQpOworCXhtbEZyZWVVUkkodXJpKTsKKwlyZXR1cm4oLTEpOworICAgIH0KKyAgICBVUkwgPSB4bWxTYXZlVXJpKHVyaSk7CisgICAgeG1sRnJlZVVSSSh1cmkpOworICAgIGlmIChVUkwgPT0gTlVMTCkgeworCXhtbFhJbmNsdWRlRXJyKGN0eHQsIGN0eHQtPmluY1RhYltucl0tPnJlZiwgWE1MX1hJTkNMVURFX0hSRUZfVVJJLAorCSAgICAgICAgICAgICAgICJpbnZhbGlkIHZhbHVlIFVSSSAlc1xuIiwgdXJsKTsKKwlyZXR1cm4oLTEpOworICAgIH0KKworICAgIC8qCisgICAgICogSGFuZGxpbmcgb2YgcmVmZXJlbmNlcyB0byB0aGUgbG9jYWwgZG9jdW1lbnQgYXJlIGRvbmUKKyAgICAgKiBkaXJlY3RseSB0aHJvdWdoIGN0eHQtPmRvYy4KKyAgICAgKi8KKyAgICBpZiAoVVJMWzBdID09IDApIHsKKwl4bWxYSW5jbHVkZUVycihjdHh0LCBjdHh0LT5pbmNUYWJbbnJdLT5yZWYsCisJICAgICAgICAgICAgICAgWE1MX1hJTkNMVURFX1RFWFRfRE9DVU1FTlQsCisJCSAgICAgICAidGV4dCBzZXJpYWxpemF0aW9uIG9mIGRvY3VtZW50IG5vdCBhdmFpbGFibGVcbiIsIE5VTEwpOworCXhtbEZyZWUoVVJMKTsKKwlyZXR1cm4oLTEpOworICAgIH0KKworICAgIC8qCisgICAgICogUHJldmVudCByZWxvYWRpbmcgdHdpY2UgdGhlIGRvY3VtZW50LgorICAgICAqLworICAgIGZvciAoaSA9IDA7IGkgPCBjdHh0LT50eHROcjsgaSsrKSB7CisJaWYgKHhtbFN0ckVxdWFsKFVSTCwgY3R4dC0+dHh0dXJsVGFiW2ldKSkgeworCSAgICBub2RlID0geG1sQ29weU5vZGUoY3R4dC0+dHh0VGFiW2ldLCAxKTsKKwkgICAgZ290byBsb2FkZWQ7CisJfQorICAgIH0KKyAgICAvKgorICAgICAqIFRyeSB0byBnZXQgdGhlIGVuY29kaW5nIGlmIGF2YWlsYWJsZQorICAgICAqLworICAgIGlmICgoY3R4dC0+aW5jVGFiW25yXSAhPSBOVUxMKSAmJiAoY3R4dC0+aW5jVGFiW25yXS0+cmVmICE9IE5VTEwpKSB7CisJZW5jb2RpbmcgPSB4bWxHZXRQcm9wKGN0eHQtPmluY1RhYltucl0tPnJlZiwgWElOQ0xVREVfUEFSU0VfRU5DT0RJTkcpOworICAgIH0KKyAgICBpZiAoZW5jb2RpbmcgIT0gTlVMTCkgeworCS8qCisJICogVE9ETzogd2Ugc2hvdWxkIG5vdCBoYXZlIHRvIHJlbWFwIHRvIHRoZSB4bWxDaGFyRW5jb2RpbmcKKwkgKiAgICAgICBwcmVkZWZpbmVkIHNldCwgYSBiZXR0ZXIgaW50ZXJmYWNlIHRoYW4KKwkgKiAgICAgICB4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lIHNob3VsZCBhbGxvdyBhbnkKKwkgKiAgICAgICBlbmNvZGluZyBzdXBwb3J0ZWQgYnkgaWNvbnYKKwkgKi8KKyAgICAgICAgZW5jID0geG1sUGFyc2VDaGFyRW5jb2RpbmcoKGNvbnN0IGNoYXIgKikgZW5jb2RpbmcpOworCWlmIChlbmMgPT0gWE1MX0NIQVJfRU5DT0RJTkdfRVJST1IpIHsKKwkgICAgeG1sWEluY2x1ZGVFcnIoY3R4dCwgY3R4dC0+aW5jVGFiW25yXS0+cmVmLAorCSAgICAgICAgICAgICAgICAgICBYTUxfWElOQ0xVREVfVU5LTk9XTl9FTkNPRElORywKKwkJCSAgICJlbmNvZGluZyAlcyBub3Qgc3VwcG9ydGVkXG4iLCBlbmNvZGluZyk7CisJICAgIHhtbEZyZWUoZW5jb2RpbmcpOworCSAgICB4bWxGcmVlKFVSTCk7CisJICAgIHJldHVybigtMSk7CisJfQorCXhtbEZyZWUoZW5jb2RpbmcpOworICAgIH0KKworICAgIC8qCisgICAgICogTG9hZCBpdC4KKyAgICAgKi8KKyAgICBwY3R4dCA9IHhtbE5ld1BhcnNlckN0eHQoKTsKKyAgICBpbnB1dFN0cmVhbSA9IHhtbExvYWRFeHRlcm5hbEVudGl0eSgoY29uc3QgY2hhciopVVJMLCBOVUxMLCBwY3R4dCk7CisgICAgaWYoaW5wdXRTdHJlYW0gPT0gTlVMTCkgeworCXhtbEZyZWVQYXJzZXJDdHh0KHBjdHh0KTsKKwl4bWxGcmVlKFVSTCk7CisJcmV0dXJuKC0xKTsKKyAgICB9CisgICAgYnVmID0gaW5wdXRTdHJlYW0tPmJ1ZjsKKyAgICBpZiAoYnVmID09IE5VTEwpIHsKKwl4bWxGcmVlSW5wdXRTdHJlYW0gKGlucHV0U3RyZWFtKTsKKwl4bWxGcmVlUGFyc2VyQ3R4dChwY3R4dCk7CisJeG1sRnJlZShVUkwpOworCXJldHVybigtMSk7CisgICAgfQorICAgIGlmIChidWYtPmVuY29kZXIpCisJeG1sQ2hhckVuY0Nsb3NlRnVuYyhidWYtPmVuY29kZXIpOworICAgIGJ1Zi0+ZW5jb2RlciA9IHhtbEdldENoYXJFbmNvZGluZ0hhbmRsZXIoZW5jKTsKKyAgICBub2RlID0geG1sTmV3VGV4dChOVUxMKTsKKworICAgIC8qCisgICAgICogU2NhbiBhbGwgY2hhcnMgZnJvbSB0aGUgcmVzb3VyY2UgYW5kIGFkZCB0aGUgdG8gdGhlIG5vZGUKKyAgICAgKi8KK3hpbmNsdWRlX211bHRpYnl0ZV9mYWxsYmFjazoKKyAgICB3aGlsZSAoeG1sUGFyc2VySW5wdXRCdWZmZXJSZWFkKGJ1ZiwgMTI4KSA+IDApIHsKKwlpbnQgbGVuOworCWNvbnN0IHhtbENoYXIgKmNvbnRlbnQ7CisKKwljb250ZW50ID0geG1sQnVmQ29udGVudChidWYtPmJ1ZmZlcik7CisJbGVuID0geG1sQnVmTGVuZ3RoKGJ1Zi0+YnVmZmVyKTsKKwlmb3IgKGkgPSAwO2kgPCBsZW47KSB7CisJICAgIGludCBjdXI7CisJICAgIGludCBsOworCisJICAgIGN1ciA9IHhtbFN0cmluZ0N1cnJlbnRDaGFyKE5VTEwsICZjb250ZW50W2ldLCAmbCk7CisJICAgIGlmICghSVNfQ0hBUihjdXIpKSB7CisJCS8qIEhhbmRsZSBzcGxpdHRlZCBtdWx0aWJ5dGUgY2hhciBhdCBidWZmZXIgYm91bmRhcnkgKi8KKwkJaWYgKCgobGVuIC0gaSkgPCA0KSAmJiAoIXhpbmNsdWRlX211bHRpYnl0ZV9mYWxsYmFja191c2VkKSkgeworCQkgICAgeGluY2x1ZGVfbXVsdGlieXRlX2ZhbGxiYWNrX3VzZWQgPSAxOworCQkgICAgeG1sQnVmU2hyaW5rKGJ1Zi0+YnVmZmVyLCBpKTsKKwkJICAgIGdvdG8geGluY2x1ZGVfbXVsdGlieXRlX2ZhbGxiYWNrOworCQl9IGVsc2UgeworCQkgICAgeG1sWEluY2x1ZGVFcnIoY3R4dCwgY3R4dC0+aW5jVGFiW25yXS0+cmVmLAorCQkJCSAgIFhNTF9YSU5DTFVERV9JTlZBTElEX0NIQVIsCisJCQkJICAgIiVzIGNvbnRhaW5zIGludmFsaWQgY2hhclxuIiwgVVJMKTsKKwkJICAgIHhtbEZyZWVQYXJzZXJJbnB1dEJ1ZmZlcihidWYpOworCQkgICAgeG1sRnJlZShVUkwpOworCQkgICAgcmV0dXJuKC0xKTsKKwkJfQorCSAgICB9IGVsc2UgeworCQl4aW5jbHVkZV9tdWx0aWJ5dGVfZmFsbGJhY2tfdXNlZCA9IDA7CisJCXhtbE5vZGVBZGRDb250ZW50TGVuKG5vZGUsICZjb250ZW50W2ldLCBsKTsKKwkgICAgfQorCSAgICBpICs9IGw7CisJfQorCXhtbEJ1ZlNocmluayhidWYtPmJ1ZmZlciwgbGVuKTsKKyAgICB9CisgICAgeG1sRnJlZVBhcnNlckN0eHQocGN0eHQpOworICAgIHhtbFhJbmNsdWRlQWRkVHh0KGN0eHQsIG5vZGUsIFVSTCk7CisgICAgeG1sRnJlZUlucHV0U3RyZWFtKGlucHV0U3RyZWFtKTsKKworbG9hZGVkOgorICAgIC8qCisgICAgICogQWRkIHRoZSBlbGVtZW50IGFzIHRoZSByZXBsYWNlbWVudCBjb3B5LgorICAgICAqLworICAgIGN0eHQtPmluY1RhYltucl0tPmluYyA9IG5vZGU7CisgICAgeG1sRnJlZShVUkwpOworICAgIHJldHVybigwKTsKK30KKworLyoqCisgKiB4bWxYSW5jbHVkZUxvYWRGYWxsYmFjazoKKyAqIEBjdHh0OiAgdGhlIFhJbmNsdWRlIGNvbnRleHQKKyAqIEBmYWxsYmFjazogIHRoZSBmYWxsYmFjayBub2RlCisgKiBAbnI6ICB0aGUgeGluY2x1ZGUgbm9kZSBudW1iZXIKKyAqCisgKiBMb2FkIHRoZSBjb250ZW50IG9mIHRoZSBmYWxsYmFjayBub2RlLCBhbmQgc3RvcmUgdGhlIHJlc3VsdAorICogaW4gdGhlIFhJbmNsdWRlIGNvbnRleHQKKyAqCisgKiBSZXR1cm5zIDAgaW4gY2FzZSBvZiBzdWNjZXNzLCAtMSBpbiBjYXNlIG9mIGZhaWx1cmUKKyAqLworc3RhdGljIGludAoreG1sWEluY2x1ZGVMb2FkRmFsbGJhY2soeG1sWEluY2x1ZGVDdHh0UHRyIGN0eHQsIHhtbE5vZGVQdHIgZmFsbGJhY2ssIGludCBucikgeworICAgIHhtbFhJbmNsdWRlQ3R4dFB0ciBuZXdjdHh0OworICAgIGludCByZXQgPSAwOworCisgICAgaWYgKChmYWxsYmFjayA9PSBOVUxMKSB8fCAoZmFsbGJhY2stPnR5cGUgPT0gWE1MX05BTUVTUEFDRV9ERUNMKSB8fAorICAgICAgICAoY3R4dCA9PSBOVUxMKSkKKwlyZXR1cm4oLTEpOworICAgIGlmIChmYWxsYmFjay0+Y2hpbGRyZW4gIT0gTlVMTCkgeworCS8qCisJICogSXQncyBwb3NzaWJsZSB0aGF0IHRoZSBmYWxsYmFjayBhbHNvIGhhcyAnaW5jbHVkZXMnCisJICogKEJ1ZyAxMjk5NjkpLCBzbyB3ZSByZS1wcm9jZXNzIHRoZSBmYWxsYmFjayBqdXN0IGluIGNhc2UKKwkgKi8KKwluZXdjdHh0ID0geG1sWEluY2x1ZGVOZXdDb250ZXh0KGN0eHQtPmRvYyk7CisJaWYgKG5ld2N0eHQgPT0gTlVMTCkKKwkgICAgcmV0dXJuICgtMSk7CisJbmV3Y3R4dC0+X3ByaXZhdGUgPSBjdHh0LT5fcHJpdmF0ZTsKKwluZXdjdHh0LT5iYXNlID0geG1sU3RyZHVwKGN0eHQtPmJhc2UpOwkvKiBJbmhlcml0IHRoZSBiYXNlIGZyb20gdGhlIGV4aXN0aW5nIGNvbnRleHQgKi8KKwl4bWxYSW5jbHVkZVNldEZsYWdzKG5ld2N0eHQsIGN0eHQtPnBhcnNlRmxhZ3MpOworCXJldCA9IHhtbFhJbmNsdWRlRG9Qcm9jZXNzKG5ld2N0eHQsIGN0eHQtPmRvYywgZmFsbGJhY2stPmNoaWxkcmVuKTsKKwlpZiAoY3R4dC0+bmJFcnJvcnMgPiAwKQorCSAgICByZXQgPSAtMTsKKwllbHNlIGlmIChyZXQgPiAwKQorCSAgICByZXQgPSAwOwkvKiB4bWxYSW5jbHVkZURvUHJvY2VzcyBjYW4gcmV0dXJuICt2ZSBudW1iZXIgKi8KKwl4bWxYSW5jbHVkZUZyZWVDb250ZXh0KG5ld2N0eHQpOworCisJY3R4dC0+aW5jVGFiW25yXS0+aW5jID0geG1sRG9jQ29weU5vZGVMaXN0KGN0eHQtPmRvYywKKwkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsbGJhY2stPmNoaWxkcmVuKTsKKyAgICB9IGVsc2UgeworICAgICAgICBjdHh0LT5pbmNUYWJbbnJdLT5pbmMgPSBOVUxMOworCWN0eHQtPmluY1RhYltucl0tPmVtcHR5RmIgPSAxOwkvKiBmbGFnIGVtcHR5IGNhbGxiYWNrICovCisgICAgfQorICAgIHJldHVybihyZXQpOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQkJWEluY2x1ZGUgUHJvY2Vzc2luZwkJCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKgorICogeG1sWEluY2x1ZGVQcmVQcm9jZXNzTm9kZToKKyAqIEBjdHh0OiBhbiBYSW5jbHVkZSBjb250ZXh0CisgKiBAbm9kZTogYW4gWEluY2x1ZGUgbm9kZQorICoKKyAqIEltcGxlbWVudCB0aGUgWEluY2x1ZGUgcHJlcHJvY2Vzc2luZywgY3VycmVudGx5IGp1c3QgYWRkaW5nIHRoZSBlbGVtZW50CisgKiBmb3IgZnVydGhlciBwcm9jZXNzaW5nLgorICoKKyAqIFJldHVybnMgdGhlIHJlc3VsdCBsaXN0IG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcgorICovCitzdGF0aWMgeG1sTm9kZVB0cgoreG1sWEluY2x1ZGVQcmVQcm9jZXNzTm9kZSh4bWxYSW5jbHVkZUN0eHRQdHIgY3R4dCwgeG1sTm9kZVB0ciBub2RlKSB7CisgICAgeG1sWEluY2x1ZGVBZGROb2RlKGN0eHQsIG5vZGUpOworICAgIHJldHVybihOVUxMKTsKK30KKworLyoqCisgKiB4bWxYSW5jbHVkZUxvYWROb2RlOgorICogQGN0eHQ6IGFuIFhJbmNsdWRlIGNvbnRleHQKKyAqIEBucjogdGhlIG5vZGUgbnVtYmVyCisgKgorICogRmluZCBhbmQgbG9hZCB0aGUgaW5mb3NldCByZXBsYWNlbWVudCBmb3IgdGhlIGdpdmVuIG5vZGUuCisgKgorICogUmV0dXJucyAwIGlmIHN1YnN0aXR1dGlvbiBzdWNjZWVkZWQsIC0xIGlmIHNvbWUgcHJvY2Vzc2luZyBmYWlsZWQKKyAqLworc3RhdGljIGludAoreG1sWEluY2x1ZGVMb2FkTm9kZSh4bWxYSW5jbHVkZUN0eHRQdHIgY3R4dCwgaW50IG5yKSB7CisgICAgeG1sTm9kZVB0ciBjdXI7CisgICAgeG1sQ2hhciAqaHJlZjsKKyAgICB4bWxDaGFyICpwYXJzZTsKKyAgICB4bWxDaGFyICpiYXNlOworICAgIHhtbENoYXIgKm9sZEJhc2U7CisgICAgeG1sQ2hhciAqVVJJOworICAgIGludCB4bWwgPSAxOyAvKiBkZWZhdWx0IElzc3VlIDY0ICovCisgICAgaW50IHJldDsKKworICAgIGlmIChjdHh0ID09IE5VTEwpCisJcmV0dXJuKC0xKTsKKyAgICBpZiAoKG5yIDwgMCkgfHwgKG5yID49IGN0eHQtPmluY05yKSkKKwlyZXR1cm4oLTEpOworICAgIGN1ciA9IGN0eHQtPmluY1RhYltucl0tPnJlZjsKKyAgICBpZiAoY3VyID09IE5VTEwpCisJcmV0dXJuKC0xKTsKKworICAgIC8qCisgICAgICogcmVhZCB0aGUgYXR0cmlidXRlcworICAgICAqLworICAgIGhyZWYgPSB4bWxYSW5jbHVkZUdldFByb3AoY3R4dCwgY3VyLCBYSU5DTFVERV9IUkVGKTsKKyAgICBpZiAoaHJlZiA9PSBOVUxMKSB7CisJaHJlZiA9IHhtbFN0cmR1cChCQURfQ0FTVCAiIik7IC8qIEBAQEAgaHJlZiBpcyBub3cgb3B0aW9uYWwgKi8KKwlpZiAoaHJlZiA9PSBOVUxMKQorCSAgICByZXR1cm4oLTEpOworICAgIH0KKyAgICBwYXJzZSA9IHhtbFhJbmNsdWRlR2V0UHJvcChjdHh0LCBjdXIsIFhJTkNMVURFX1BBUlNFKTsKKyAgICBpZiAocGFyc2UgIT0gTlVMTCkgeworCWlmICh4bWxTdHJFcXVhbChwYXJzZSwgWElOQ0xVREVfUEFSU0VfWE1MKSkKKwkgICAgeG1sID0gMTsKKwllbHNlIGlmICh4bWxTdHJFcXVhbChwYXJzZSwgWElOQ0xVREVfUEFSU0VfVEVYVCkpCisJICAgIHhtbCA9IDA7CisJZWxzZSB7CisJICAgIHhtbFhJbmNsdWRlRXJyKGN0eHQsIGN0eHQtPmluY1RhYltucl0tPnJlZiwKKwkgICAgICAgICAgICAgICAgICAgWE1MX1hJTkNMVURFX1BBUlNFX1ZBTFVFLAorCQkJICAgImludmFsaWQgdmFsdWUgJXMgZm9yICdwYXJzZSdcbiIsIHBhcnNlKTsKKwkgICAgaWYgKGhyZWYgIT0gTlVMTCkKKwkJeG1sRnJlZShocmVmKTsKKwkgICAgaWYgKHBhcnNlICE9IE5VTEwpCisJCXhtbEZyZWUocGFyc2UpOworCSAgICByZXR1cm4oLTEpOworCX0KKyAgICB9CisKKyAgICAvKgorICAgICAqIGNvbXB1dGUgdGhlIFVSSQorICAgICAqLworICAgIGJhc2UgPSB4bWxOb2RlR2V0QmFzZShjdHh0LT5kb2MsIGN1cik7CisgICAgaWYgKGJhc2UgPT0gTlVMTCkgeworCVVSSSA9IHhtbEJ1aWxkVVJJKGhyZWYsIGN0eHQtPmRvYy0+VVJMKTsKKyAgICB9IGVsc2UgeworCVVSSSA9IHhtbEJ1aWxkVVJJKGhyZWYsIGJhc2UpOworICAgIH0KKyAgICBpZiAoVVJJID09IE5VTEwpIHsKKwl4bWxDaGFyICplc2NiYXNlOworCXhtbENoYXIgKmVzY2hyZWY7CisJLyoKKwkgKiBTb21lIGVzY2FwaW5nIG1heSBiZSBuZWVkZWQKKwkgKi8KKwllc2NiYXNlID0geG1sVVJJRXNjYXBlKGJhc2UpOworCWVzY2hyZWYgPSB4bWxVUklFc2NhcGUoaHJlZik7CisJVVJJID0geG1sQnVpbGRVUkkoZXNjaHJlZiwgZXNjYmFzZSk7CisJaWYgKGVzY2Jhc2UgIT0gTlVMTCkKKwkgICAgeG1sRnJlZShlc2NiYXNlKTsKKwlpZiAoZXNjaHJlZiAhPSBOVUxMKQorCSAgICB4bWxGcmVlKGVzY2hyZWYpOworICAgIH0KKyAgICBpZiAoVVJJID09IE5VTEwpIHsKKwl4bWxYSW5jbHVkZUVycihjdHh0LCBjdHh0LT5pbmNUYWJbbnJdLT5yZWYsCisJICAgICAgICAgICAgICAgWE1MX1hJTkNMVURFX0hSRUZfVVJJLCAiZmFpbGVkIGJ1aWxkIFVSTFxuIiwgTlVMTCk7CisJaWYgKHBhcnNlICE9IE5VTEwpCisJICAgIHhtbEZyZWUocGFyc2UpOworCWlmIChocmVmICE9IE5VTEwpCisJICAgIHhtbEZyZWUoaHJlZik7CisJaWYgKGJhc2UgIT0gTlVMTCkKKwkgICAgeG1sRnJlZShiYXNlKTsKKwlyZXR1cm4oLTEpOworICAgIH0KKyNpZmRlZiBERUJVR19YSU5DTFVERQorICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCAicGFyc2U6ICVzXG4iLAorCSAgICB4bWwgPyAieG1sIjogInRleHQiKTsKKyAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgIlVSSTogJXNcbiIsIFVSSSk7CisjZW5kaWYKKworICAgIC8qCisgICAgICogU2F2ZSB0aGUgYmFzZSBmb3IgdGhpcyBpbmNsdWRlIChzYXZpbmcgdGhlIGN1cnJlbnQgb25lKQorICAgICAqLworICAgIG9sZEJhc2UgPSBjdHh0LT5iYXNlOworICAgIGN0eHQtPmJhc2UgPSBiYXNlOworCisgICAgaWYgKHhtbCkgeworCXJldCA9IHhtbFhJbmNsdWRlTG9hZERvYyhjdHh0LCBVUkksIG5yKTsKKwkvKiB4bWxYSW5jbHVkZUdldEZyYWdtZW50KGN0eHQsIGN1ciwgVVJJKTsgKi8KKyAgICB9IGVsc2UgeworCXJldCA9IHhtbFhJbmNsdWRlTG9hZFR4dChjdHh0LCBVUkksIG5yKTsKKyAgICB9CisKKyAgICAvKgorICAgICAqIFJlc3RvcmUgdGhlIG9yaWdpbmFsIGJhc2UgYmVmb3JlIGNoZWNraW5nIGZvciBmYWxsYmFjaworICAgICAqLworICAgIGN0eHQtPmJhc2UgPSBvbGRCYXNlOworCisgICAgaWYgKHJldCA8IDApIHsKKwl4bWxOb2RlUHRyIGNoaWxkcmVuOworCisJLyoKKwkgKiBUaW1lIHRvIHRyeSBhIGZhbGxiYWNrIGlmIGF2YWlsYmxlCisJICovCisjaWZkZWYgREVCVUdfWElOQ0xVREUKKwl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgImVycm9yIGxvb2tpbmcgZm9yIGZhbGxiYWNrXG4iKTsKKyNlbmRpZgorCWNoaWxkcmVuID0gY3VyLT5jaGlsZHJlbjsKKwl3aGlsZSAoY2hpbGRyZW4gIT0gTlVMTCkgeworCSAgICBpZiAoKGNoaWxkcmVuLT50eXBlID09IFhNTF9FTEVNRU5UX05PREUpICYmCisJCShjaGlsZHJlbi0+bnMgIT0gTlVMTCkgJiYKKwkJKHhtbFN0ckVxdWFsKGNoaWxkcmVuLT5uYW1lLCBYSU5DTFVERV9GQUxMQkFDSykpICYmCisJCSgoeG1sU3RyRXF1YWwoY2hpbGRyZW4tPm5zLT5ocmVmLCBYSU5DTFVERV9OUykpIHx8CisJCSAoeG1sU3RyRXF1YWwoY2hpbGRyZW4tPm5zLT5ocmVmLCBYSU5DTFVERV9PTERfTlMpKSkpIHsKKwkJcmV0ID0geG1sWEluY2x1ZGVMb2FkRmFsbGJhY2soY3R4dCwgY2hpbGRyZW4sIG5yKTsKKwkJaWYgKHJldCA9PSAwKQorCQkgICAgYnJlYWs7CisJICAgIH0KKwkgICAgY2hpbGRyZW4gPSBjaGlsZHJlbi0+bmV4dDsKKwl9CisgICAgfQorICAgIGlmIChyZXQgPCAwKSB7CisJeG1sWEluY2x1ZGVFcnIoY3R4dCwgY3R4dC0+aW5jVGFiW25yXS0+cmVmLAorCSAgICAgICAgICAgICAgIFhNTF9YSU5DTFVERV9OT19GQUxMQkFDSywKKwkJICAgICAgICJjb3VsZCBub3QgbG9hZCAlcywgYW5kIG5vIGZhbGxiYWNrIHdhcyBmb3VuZFxuIiwKKwkJICAgICAgIFVSSSk7CisgICAgfQorCisgICAgLyoKKyAgICAgKiBDbGVhbnVwCisgICAgICovCisgICAgaWYgKFVSSSAhPSBOVUxMKQorCXhtbEZyZWUoVVJJKTsKKyAgICBpZiAocGFyc2UgIT0gTlVMTCkKKwl4bWxGcmVlKHBhcnNlKTsKKyAgICBpZiAoaHJlZiAhPSBOVUxMKQorCXhtbEZyZWUoaHJlZik7CisgICAgaWYgKGJhc2UgIT0gTlVMTCkKKwl4bWxGcmVlKGJhc2UpOworICAgIHJldHVybigwKTsKK30KKworLyoqCisgKiB4bWxYSW5jbHVkZUluY2x1ZGVOb2RlOgorICogQGN0eHQ6IGFuIFhJbmNsdWRlIGNvbnRleHQKKyAqIEBucjogdGhlIG5vZGUgbnVtYmVyCisgKgorICogSW5wbGVtZW50IHRoZSBpbmZvc2V0IHJlcGxhY2VtZW50IGZvciB0aGUgZ2l2ZW4gbm9kZQorICoKKyAqIFJldHVybnMgMCBpZiBzdWJzdGl0dXRpb24gc3VjY2VlZGVkLCAtMSBpZiBzb21lIHByb2Nlc3NpbmcgZmFpbGVkCisgKi8KK3N0YXRpYyBpbnQKK3htbFhJbmNsdWRlSW5jbHVkZU5vZGUoeG1sWEluY2x1ZGVDdHh0UHRyIGN0eHQsIGludCBucikgeworICAgIHhtbE5vZGVQdHIgY3VyLCBlbmQsIGxpc3QsIHRtcDsKKworICAgIGlmIChjdHh0ID09IE5VTEwpCisJcmV0dXJuKC0xKTsKKyAgICBpZiAoKG5yIDwgMCkgfHwgKG5yID49IGN0eHQtPmluY05yKSkKKwlyZXR1cm4oLTEpOworICAgIGN1ciA9IGN0eHQtPmluY1RhYltucl0tPnJlZjsKKyAgICBpZiAoKGN1ciA9PSBOVUxMKSB8fCAoY3VyLT50eXBlID09IFhNTF9OQU1FU1BBQ0VfREVDTCkpCisJcmV0dXJuKC0xKTsKKworICAgIC8qCisgICAgICogSWYgd2Ugc3RvcmVkIGFuIFhQb2ludGVyIGEgbGF0ZSBjb21wdXRhdGlvbiBtYXkgYmUgbmVlZGVkCisgICAgICovCisgICAgaWYgKChjdHh0LT5pbmNUYWJbbnJdLT5pbmMgPT0gTlVMTCkgJiYKKwkoY3R4dC0+aW5jVGFiW25yXS0+eHB0ciAhPSBOVUxMKSkgeworCWN0eHQtPmluY1RhYltucl0tPmluYyA9CisJICAgIHhtbFhJbmNsdWRlQ29weVhQb2ludGVyKGN0eHQsIGN0eHQtPmRvYywgY3R4dC0+ZG9jLAorCQkgICAgICAgICAgICAgICAgICAgIGN0eHQtPmluY1RhYltucl0tPnhwdHIpOworCXhtbFhQYXRoRnJlZU9iamVjdChjdHh0LT5pbmNUYWJbbnJdLT54cHRyKTsKKwljdHh0LT5pbmNUYWJbbnJdLT54cHRyID0gTlVMTDsKKyAgICB9CisgICAgbGlzdCA9IGN0eHQtPmluY1RhYltucl0tPmluYzsKKyAgICBjdHh0LT5pbmNUYWJbbnJdLT5pbmMgPSBOVUxMOworCisgICAgLyoKKyAgICAgKiBDaGVjayBhZ2FpbnN0IHRoZSByaXNrIG9mIGdlbmVyYXRpbmcgYSBtdWx0aS1yb290ZWQgZG9jdW1lbnQKKyAgICAgKi8KKyAgICBpZiAoKGN1ci0+cGFyZW50ICE9IE5VTEwpICYmCisJKGN1ci0+cGFyZW50LT50eXBlICE9IFhNTF9FTEVNRU5UX05PREUpKSB7CisJaW50IG5iX2VsZW0gPSAwOworCisJdG1wID0gbGlzdDsKKwl3aGlsZSAodG1wICE9IE5VTEwpIHsKKwkgICAgaWYgKHRtcC0+dHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFKQorCQluYl9lbGVtKys7CisJICAgIHRtcCA9IHRtcC0+bmV4dDsKKwl9CisJaWYgKG5iX2VsZW0gPiAxKSB7CisJICAgIHhtbFhJbmNsdWRlRXJyKGN0eHQsIGN0eHQtPmluY1RhYltucl0tPnJlZiwKKwkgICAgICAgICAgICAgICAgICAgWE1MX1hJTkNMVURFX01VTFRJUExFX1JPT1QsCisJCSAgICAgICAiWEluY2x1ZGUgZXJyb3I6IHdvdWxkIHJlc3VsdCBpbiBtdWx0aXBsZSByb290IG5vZGVzXG4iLAorCQkJICAgTlVMTCk7CisJICAgIHJldHVybigtMSk7CisJfQorICAgIH0KKworICAgIGlmIChjdHh0LT5wYXJzZUZsYWdzICYgWE1MX1BBUlNFX05PWElOQ05PREUpIHsKKwkvKgorCSAqIEFkZCB0aGUgbGlzdCBvZiBub2RlcworCSAqLworCXdoaWxlIChsaXN0ICE9IE5VTEwpIHsKKwkgICAgZW5kID0gbGlzdDsKKwkgICAgbGlzdCA9IGxpc3QtPm5leHQ7CisKKwkgICAgeG1sQWRkUHJldlNpYmxpbmcoY3VyLCBlbmQpOworCX0KKwl4bWxVbmxpbmtOb2RlKGN1cik7CisJeG1sRnJlZU5vZGUoY3VyKTsKKyAgICB9IGVsc2UgeworCS8qCisJICogQ2hhbmdlIHRoZSBjdXJyZW50IG5vZGUgYXMgYW4gWEluY2x1ZGUgc3RhcnQgb25lLCBhbmQgYWRkIGFuCisJICogWEluY2x1ZGUgZW5kIG9uZQorCSAqLworCWN1ci0+dHlwZSA9IFhNTF9YSU5DTFVERV9TVEFSVDsKKwllbmQgPSB4bWxOZXdEb2NOb2RlKGN1ci0+ZG9jLCBjdXItPm5zLCBjdXItPm5hbWUsIE5VTEwpOworCWlmIChlbmQgPT0gTlVMTCkgeworCSAgICB4bWxYSW5jbHVkZUVycihjdHh0LCBjdHh0LT5pbmNUYWJbbnJdLT5yZWYsCisJICAgICAgICAgICAgICAgICAgIFhNTF9YSU5DTFVERV9CVUlMRF9GQUlMRUQsCisJCQkgICAiZmFpbGVkIHRvIGJ1aWxkIG5vZGVcbiIsIE5VTEwpOworCSAgICByZXR1cm4oLTEpOworCX0KKwllbmQtPnR5cGUgPSBYTUxfWElOQ0xVREVfRU5EOworCXhtbEFkZE5leHRTaWJsaW5nKGN1ciwgZW5kKTsKKworCS8qCisJICogQWRkIHRoZSBsaXN0IG9mIG5vZGVzCisJICovCisJd2hpbGUgKGxpc3QgIT0gTlVMTCkgeworCSAgICBjdXIgPSBsaXN0OworCSAgICBsaXN0ID0gbGlzdC0+bmV4dDsKKworCSAgICB4bWxBZGRQcmV2U2libGluZyhlbmQsIGN1cik7CisJfQorICAgIH0KKworCisgICAgcmV0dXJuKDApOworfQorCisvKioKKyAqIHhtbFhJbmNsdWRlVGVzdE5vZGU6CisgKiBAY3R4dDogdGhlIFhJbmNsdWRlIHByb2Nlc3NpbmcgY29udGV4dAorICogQG5vZGU6IGFuIFhJbmNsdWRlIG5vZGUKKyAqCisgKiB0ZXN0IGlmIHRoZSBub2RlIGlzIGFuIFhJbmNsdWRlIG5vZGUKKyAqCisgKiBSZXR1cm5zIDEgdHJ1ZSwgMCBvdGhlcndpc2UKKyAqLworc3RhdGljIGludAoreG1sWEluY2x1ZGVUZXN0Tm9kZSh4bWxYSW5jbHVkZUN0eHRQdHIgY3R4dCwgeG1sTm9kZVB0ciBub2RlKSB7CisgICAgaWYgKG5vZGUgPT0gTlVMTCkKKwlyZXR1cm4oMCk7CisgICAgaWYgKG5vZGUtPnR5cGUgIT0gWE1MX0VMRU1FTlRfTk9ERSkKKwlyZXR1cm4oMCk7CisgICAgaWYgKG5vZGUtPm5zID09IE5VTEwpCisJcmV0dXJuKDApOworICAgIGlmICgoeG1sU3RyRXF1YWwobm9kZS0+bnMtPmhyZWYsIFhJTkNMVURFX05TKSkgfHwKKyAgICAgICAgKHhtbFN0ckVxdWFsKG5vZGUtPm5zLT5ocmVmLCBYSU5DTFVERV9PTERfTlMpKSkgeworCWlmICh4bWxTdHJFcXVhbChub2RlLT5ucy0+aHJlZiwgWElOQ0xVREVfT0xEX05TKSkgeworCSAgICBpZiAoY3R4dC0+bGVnYWN5ID09IDApIHsKKyNpZiAwIC8qIHdhaXQgZm9yIHRoZSBYTUwgQ29yZSBXb3JraW5nIEdyb3VwIHRvIGdldCBzb21ldGhpbmcgc3RhYmxlICEgKi8KKwkJeG1sWEluY2x1ZGVXYXJuKGN0eHQsIG5vZGUsIFhNTF9YSU5DTFVERV9ERVBSRUNBVEVEX05TLAorCSAgICAgICAgICAgICAgICJEZXByZWNhdGVkIFhJbmNsdWRlIG5hbWVzcGFjZSBmb3VuZCwgdXNlICVzIiwKKwkJICAgICAgICAgICAgICAgIFhJTkNMVURFX05TKTsKKyNlbmRpZgorCSAgICAgICAgY3R4dC0+bGVnYWN5ID0gMTsKKwkgICAgfQorCX0KKwlpZiAoeG1sU3RyRXF1YWwobm9kZS0+bmFtZSwgWElOQ0xVREVfTk9ERSkpIHsKKwkgICAgeG1sTm9kZVB0ciBjaGlsZCA9IG5vZGUtPmNoaWxkcmVuOworCSAgICBpbnQgbmJfZmFsbGJhY2sgPSAwOworCisJICAgIHdoaWxlIChjaGlsZCAhPSBOVUxMKSB7CisJCWlmICgoY2hpbGQtPnR5cGUgPT0gWE1MX0VMRU1FTlRfTk9ERSkgJiYKKwkJICAgIChjaGlsZC0+bnMgIT0gTlVMTCkgJiYKKwkJICAgICgoeG1sU3RyRXF1YWwoY2hpbGQtPm5zLT5ocmVmLCBYSU5DTFVERV9OUykpIHx8CisJCSAgICAgKHhtbFN0ckVxdWFsKGNoaWxkLT5ucy0+aHJlZiwgWElOQ0xVREVfT0xEX05TKSkpKSB7CisJCSAgICBpZiAoeG1sU3RyRXF1YWwoY2hpbGQtPm5hbWUsIFhJTkNMVURFX05PREUpKSB7CisJCQl4bWxYSW5jbHVkZUVycihjdHh0LCBub2RlLAorCQkJICAgICAgICAgICAgICAgWE1MX1hJTkNMVURFX0lOQ0xVREVfSU5fSU5DTFVERSwKKwkJCQkgICAgICAgIiVzIGhhcyBhbiAnaW5jbHVkZScgY2hpbGRcbiIsCisJCQkJICAgICAgIFhJTkNMVURFX05PREUpOworCQkJcmV0dXJuKDApOworCQkgICAgfQorCQkgICAgaWYgKHhtbFN0ckVxdWFsKGNoaWxkLT5uYW1lLCBYSU5DTFVERV9GQUxMQkFDSykpIHsKKwkJCW5iX2ZhbGxiYWNrKys7CisJCSAgICB9CisJCX0KKwkJY2hpbGQgPSBjaGlsZC0+bmV4dDsKKwkgICAgfQorCSAgICBpZiAobmJfZmFsbGJhY2sgPiAxKSB7CisJCXhtbFhJbmNsdWRlRXJyKGN0eHQsIG5vZGUsIFhNTF9YSU5DTFVERV9GQUxMQkFDS1NfSU5fSU5DTFVERSwKKwkJCSAgICAgICAiJXMgaGFzIG11bHRpcGxlIGZhbGxiYWNrIGNoaWxkcmVuXG4iLAorCQkgICAgICAgICAgICAgICBYSU5DTFVERV9OT0RFKTsKKwkJcmV0dXJuKDApOworCSAgICB9CisJICAgIHJldHVybigxKTsKKwl9CisJaWYgKHhtbFN0ckVxdWFsKG5vZGUtPm5hbWUsIFhJTkNMVURFX0ZBTExCQUNLKSkgeworCSAgICBpZiAoKG5vZGUtPnBhcmVudCA9PSBOVUxMKSB8fAorCQkobm9kZS0+cGFyZW50LT50eXBlICE9IFhNTF9FTEVNRU5UX05PREUpIHx8CisJCShub2RlLT5wYXJlbnQtPm5zID09IE5VTEwpIHx8CisJCSgoIXhtbFN0ckVxdWFsKG5vZGUtPnBhcmVudC0+bnMtPmhyZWYsIFhJTkNMVURFX05TKSkgJiYKKwkJICgheG1sU3RyRXF1YWwobm9kZS0+cGFyZW50LT5ucy0+aHJlZiwgWElOQ0xVREVfT0xEX05TKSkpIHx8CisJCSgheG1sU3RyRXF1YWwobm9kZS0+cGFyZW50LT5uYW1lLCBYSU5DTFVERV9OT0RFKSkpIHsKKwkJeG1sWEluY2x1ZGVFcnIoY3R4dCwgbm9kZSwKKwkJICAgICAgICAgICAgICAgWE1MX1hJTkNMVURFX0ZBTExCQUNLX05PVF9JTl9JTkNMVURFLAorCQkJICAgICAgICIlcyBpcyBub3QgdGhlIGNoaWxkIG9mIGFuICdpbmNsdWRlJ1xuIiwKKwkJCSAgICAgICBYSU5DTFVERV9GQUxMQkFDSyk7CisJICAgIH0KKwl9CisgICAgfQorICAgIHJldHVybigwKTsKK30KKworLyoqCisgKiB4bWxYSW5jbHVkZURvUHJvY2VzczoKKyAqIEBjdHh0OiB0aGUgWEluY2x1ZGUgcHJvY2Vzc2luZyBjb250ZXh0CisgKiBAZG9jOiBhbiBYTUwgZG9jdW1lbnQKKyAqIEB0cmVlOiB0aGUgdG9wIG9mIHRoZSB0cmVlIHRvIHByb2Nlc3MKKyAqCisgKiBJbXBsZW1lbnQgdGhlIFhJbmNsdWRlIHN1YnN0aXR1dGlvbiBvbiB0aGUgWE1MIGRvY3VtZW50IEBkb2MKKyAqCisgKiBSZXR1cm5zIDAgaWYgbm8gc3Vic3RpdHV0aW9uIHdlcmUgZG9uZSwgLTEgaWYgc29tZSBwcm9jZXNzaW5nIGZhaWxlZAorICogICAgb3IgdGhlIG51bWJlciBvZiBzdWJzdGl0dXRpb25zIGRvbmUuCisgKi8KK3N0YXRpYyBpbnQKK3htbFhJbmNsdWRlRG9Qcm9jZXNzKHhtbFhJbmNsdWRlQ3R4dFB0ciBjdHh0LCB4bWxEb2NQdHIgZG9jLCB4bWxOb2RlUHRyIHRyZWUpIHsKKyAgICB4bWxOb2RlUHRyIGN1cjsKKyAgICBpbnQgcmV0ID0gMDsKKyAgICBpbnQgaSwgc3RhcnQ7CisKKyAgICBpZiAoKGRvYyA9PSBOVUxMKSB8fCAodHJlZSA9PSBOVUxMKSB8fCAodHJlZS0+dHlwZSA9PSBYTUxfTkFNRVNQQUNFX0RFQ0wpKQorCXJldHVybigtMSk7CisgICAgaWYgKGN0eHQgPT0gTlVMTCkKKwlyZXR1cm4oLTEpOworCisgICAgaWYgKGRvYy0+VVJMICE9IE5VTEwpIHsKKwlyZXQgPSB4bWxYSW5jbHVkZVVSTFB1c2goY3R4dCwgZG9jLT5VUkwpOworCWlmIChyZXQgPCAwKQorCSAgICByZXR1cm4oLTEpOworICAgIH0KKyAgICBzdGFydCA9IGN0eHQtPmluY05yOworCisgICAgLyoKKyAgICAgKiBGaXJzdCBwaGFzZTogbG9va3VwIHRoZSBlbGVtZW50cyBpbiB0aGUgZG9jdW1lbnQKKyAgICAgKi8KKyAgICBjdXIgPSB0cmVlOworICAgIGlmICh4bWxYSW5jbHVkZVRlc3ROb2RlKGN0eHQsIGN1cikgPT0gMSkKKwl4bWxYSW5jbHVkZVByZVByb2Nlc3NOb2RlKGN0eHQsIGN1cik7CisgICAgd2hpbGUgKChjdXIgIT0gTlVMTCkgJiYgKGN1ciAhPSB0cmVlLT5wYXJlbnQpKSB7CisJLyogVE9ETzogbmVlZCB0byB3b3JrIG9uIGVudGl0aWVzIC0+IHN0YWNrICovCisJaWYgKChjdXItPmNoaWxkcmVuICE9IE5VTEwpICYmCisJICAgIChjdXItPmNoaWxkcmVuLT50eXBlICE9IFhNTF9FTlRJVFlfREVDTCkgJiYKKwkgICAgKGN1ci0+Y2hpbGRyZW4tPnR5cGUgIT0gWE1MX1hJTkNMVURFX1NUQVJUKSAmJgorCSAgICAoY3VyLT5jaGlsZHJlbi0+dHlwZSAhPSBYTUxfWElOQ0xVREVfRU5EKSkgeworCSAgICBjdXIgPSBjdXItPmNoaWxkcmVuOworCSAgICBpZiAoeG1sWEluY2x1ZGVUZXN0Tm9kZShjdHh0LCBjdXIpKQorCQl4bWxYSW5jbHVkZVByZVByb2Nlc3NOb2RlKGN0eHQsIGN1cik7CisJfSBlbHNlIGlmIChjdXItPm5leHQgIT0gTlVMTCkgeworCSAgICBjdXIgPSBjdXItPm5leHQ7CisJICAgIGlmICh4bWxYSW5jbHVkZVRlc3ROb2RlKGN0eHQsIGN1cikpCisJCXhtbFhJbmNsdWRlUHJlUHJvY2Vzc05vZGUoY3R4dCwgY3VyKTsKKwl9IGVsc2UgeworCSAgICBpZiAoY3VyID09IHRyZWUpCisJICAgICAgICBicmVhazsKKwkgICAgZG8geworCQljdXIgPSBjdXItPnBhcmVudDsKKwkJaWYgKChjdXIgPT0gTlVMTCkgfHwgKGN1ciA9PSB0cmVlLT5wYXJlbnQpKQorCQkgICAgYnJlYWs7IC8qIGRvICovCisJCWlmIChjdXItPm5leHQgIT0gTlVMTCkgeworCQkgICAgY3VyID0gY3VyLT5uZXh0OworCQkgICAgaWYgKHhtbFhJbmNsdWRlVGVzdE5vZGUoY3R4dCwgY3VyKSkKKwkJCXhtbFhJbmNsdWRlUHJlUHJvY2Vzc05vZGUoY3R4dCwgY3VyKTsKKwkJICAgIGJyZWFrOyAvKiBkbyAqLworCQl9CisJICAgIH0gd2hpbGUgKGN1ciAhPSBOVUxMKTsKKwl9CisgICAgfQorCisgICAgLyoKKyAgICAgKiBTZWNvbmQgUGhhc2UgOiBjb2xsZWN0IHRoZSBpbmZvc2V0cyBmcmFnbWVudHMKKyAgICAgKi8KKyAgICBmb3IgKGkgPSBzdGFydDtpIDwgY3R4dC0+aW5jTnI7IGkrKykgeworICAgICAgICB4bWxYSW5jbHVkZUxvYWROb2RlKGN0eHQsIGkpOworCXJldCsrOworICAgIH0KKworICAgIC8qCisgICAgICogVGhpcmQgcGhhc2U6IGV4dGVuZCB0aGUgb3JpZ2luYWwgZG9jdW1lbnQgaW5mb3NldC4KKyAgICAgKgorICAgICAqIE9yaWdpbmFsbHkgd2UgYnlwYXNzZWQgdGhlIGluY2x1c2lvbiBpZiB0aGVyZSB3ZXJlIGFueSBlcnJvcnMKKyAgICAgKiBlbmNvdW50ZXJlZCBvbiBhbnkgb2YgdGhlIFhJbmNsdWRlcy4gIEEgYnVnIHdhcyByYWlzZWQgKGJ1ZworICAgICAqIDEzMjU4OCkgcmVxdWVzdGluZyB0aGF0IHdlIG91dHB1dCB0aGUgWEluY2x1ZGVzIHdpdGhvdXQgZXJyb3IsCisgICAgICogc28gdGhlIGNoZWNrIGZvciBpbmMhPU5VTEwgfHwgeHB0ciE9TlVMTCB3YXMgcHV0IGluLiAgVGhpcyBtYXkKKyAgICAgKiBnaXZlIHNvbWUgb3RoZXIgcHJvYmxlbXMgaW4gdGhlIGZ1dHVyZSwgYnV0IGZvciBub3cgaXQgc2VlbXMgdG8KKyAgICAgKiB3b3JrIG9rLgorICAgICAqCisgICAgICovCisgICAgZm9yIChpID0gY3R4dC0+aW5jQmFzZTtpIDwgY3R4dC0+aW5jTnI7IGkrKykgeworCWlmICgoY3R4dC0+aW5jVGFiW2ldLT5pbmMgIT0gTlVMTCkgfHwKKwkJKGN0eHQtPmluY1RhYltpXS0+eHB0ciAhPSBOVUxMKSB8fAorCQkoY3R4dC0+aW5jVGFiW2ldLT5lbXB0eUZiICE9IDApKQkvKiAoZW1wdHkgZmFsbGJhY2spICovCisJICAgIHhtbFhJbmNsdWRlSW5jbHVkZU5vZGUoY3R4dCwgaSk7CisgICAgfQorCisgICAgaWYgKGRvYy0+VVJMICE9IE5VTEwpCisJeG1sWEluY2x1ZGVVUkxQb3AoY3R4dCk7CisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogeG1sWEluY2x1ZGVTZXRGbGFnczoKKyAqIEBjdHh0OiAgYW4gWEluY2x1ZGUgcHJvY2Vzc2luZyBjb250ZXh0CisgKiBAZmxhZ3M6IGEgc2V0IG9mIHhtbFBhcnNlck9wdGlvbiB1c2VkIGZvciBwYXJzaW5nIFhNTCBpbmNsdWRlcworICoKKyAqIFNldCB0aGUgZmxhZ3MgdXNlZCBmb3IgZnVydGhlciBwcm9jZXNzaW5nIG9mIFhNTCByZXNvdXJjZXMuCisgKgorICogUmV0dXJucyAwIGluIGNhc2Ugb2Ygc3VjY2VzcyBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50Cit4bWxYSW5jbHVkZVNldEZsYWdzKHhtbFhJbmNsdWRlQ3R4dFB0ciBjdHh0LCBpbnQgZmxhZ3MpIHsKKyAgICBpZiAoY3R4dCA9PSBOVUxMKQorICAgICAgICByZXR1cm4oLTEpOworICAgIGN0eHQtPnBhcnNlRmxhZ3MgPSBmbGFnczsKKyAgICByZXR1cm4oMCk7Cit9CisKKy8qKgorICogeG1sWEluY2x1ZGVQcm9jZXNzVHJlZUZsYWdzRGF0YToKKyAqIEB0cmVlOiBhbiBYTUwgbm9kZQorICogQGZsYWdzOiBhIHNldCBvZiB4bWxQYXJzZXJPcHRpb24gdXNlZCBmb3IgcGFyc2luZyBYTUwgaW5jbHVkZXMKKyAqIEBkYXRhOiBhcHBsaWNhdGlvbiBkYXRhIHRoYXQgd2lsbCBiZSBwYXNzZWQgdG8gdGhlIHBhcnNlciBjb250ZXh0CisgKiAgICAgICAgaW4gdGhlIF9wcml2YXRlIGZpZWxkIG9mIHRoZSBwYXJzZXIgY29udGV4dChzKQorICoKKyAqIEltcGxlbWVudCB0aGUgWEluY2x1ZGUgc3Vic3RpdHV0aW9uIG9uIHRoZSBYTUwgbm9kZSBAdHJlZQorICoKKyAqIFJldHVybnMgMCBpZiBubyBzdWJzdGl0dXRpb24gd2VyZSBkb25lLCAtMSBpZiBzb21lIHByb2Nlc3NpbmcgZmFpbGVkCisgKiAgICBvciB0aGUgbnVtYmVyIG9mIHN1YnN0aXR1dGlvbnMgZG9uZS4KKyAqLworCitpbnQKK3htbFhJbmNsdWRlUHJvY2Vzc1RyZWVGbGFnc0RhdGEoeG1sTm9kZVB0ciB0cmVlLCBpbnQgZmxhZ3MsIHZvaWQgKmRhdGEpIHsKKyAgICB4bWxYSW5jbHVkZUN0eHRQdHIgY3R4dDsKKyAgICBpbnQgcmV0ID0gMDsKKworICAgIGlmICgodHJlZSA9PSBOVUxMKSB8fCAodHJlZS0+dHlwZSA9PSBYTUxfTkFNRVNQQUNFX0RFQ0wpIHx8CisgICAgICAgICh0cmVlLT5kb2MgPT0gTlVMTCkpCisgICAgICAgIHJldHVybigtMSk7CisKKyAgICBjdHh0ID0geG1sWEluY2x1ZGVOZXdDb250ZXh0KHRyZWUtPmRvYyk7CisgICAgaWYgKGN0eHQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuKC0xKTsKKyAgICBjdHh0LT5fcHJpdmF0ZSA9IGRhdGE7CisgICAgY3R4dC0+YmFzZSA9IHhtbFN0cmR1cCgoeG1sQ2hhciAqKXRyZWUtPmRvYy0+VVJMKTsKKyAgICB4bWxYSW5jbHVkZVNldEZsYWdzKGN0eHQsIGZsYWdzKTsKKyAgICByZXQgPSB4bWxYSW5jbHVkZURvUHJvY2VzcyhjdHh0LCB0cmVlLT5kb2MsIHRyZWUpOworICAgIGlmICgocmV0ID49IDApICYmIChjdHh0LT5uYkVycm9ycyA+IDApKQorICAgICAgICByZXQgPSAtMTsKKworICAgIHhtbFhJbmNsdWRlRnJlZUNvbnRleHQoY3R4dCk7CisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogeG1sWEluY2x1ZGVQcm9jZXNzRmxhZ3NEYXRhOgorICogQGRvYzogYW4gWE1MIGRvY3VtZW50CisgKiBAZmxhZ3M6IGEgc2V0IG9mIHhtbFBhcnNlck9wdGlvbiB1c2VkIGZvciBwYXJzaW5nIFhNTCBpbmNsdWRlcworICogQGRhdGE6IGFwcGxpY2F0aW9uIGRhdGEgdGhhdCB3aWxsIGJlIHBhc3NlZCB0byB0aGUgcGFyc2VyIGNvbnRleHQKKyAqICAgICAgICBpbiB0aGUgX3ByaXZhdGUgZmllbGQgb2YgdGhlIHBhcnNlciBjb250ZXh0KHMpCisgKgorICogSW1wbGVtZW50IHRoZSBYSW5jbHVkZSBzdWJzdGl0dXRpb24gb24gdGhlIFhNTCBkb2N1bWVudCBAZG9jCisgKgorICogUmV0dXJucyAwIGlmIG5vIHN1YnN0aXR1dGlvbiB3ZXJlIGRvbmUsIC0xIGlmIHNvbWUgcHJvY2Vzc2luZyBmYWlsZWQKKyAqICAgIG9yIHRoZSBudW1iZXIgb2Ygc3Vic3RpdHV0aW9ucyBkb25lLgorICovCitpbnQKK3htbFhJbmNsdWRlUHJvY2Vzc0ZsYWdzRGF0YSh4bWxEb2NQdHIgZG9jLCBpbnQgZmxhZ3MsIHZvaWQgKmRhdGEpIHsKKyAgICB4bWxOb2RlUHRyIHRyZWU7CisKKyAgICBpZiAoZG9jID09IE5VTEwpCisJcmV0dXJuKC0xKTsKKyAgICB0cmVlID0geG1sRG9jR2V0Um9vdEVsZW1lbnQoZG9jKTsKKyAgICBpZiAodHJlZSA9PSBOVUxMKQorCXJldHVybigtMSk7CisgICAgcmV0dXJuKHhtbFhJbmNsdWRlUHJvY2Vzc1RyZWVGbGFnc0RhdGEodHJlZSwgZmxhZ3MsIGRhdGEpKTsKK30KKworLyoqCisgKiB4bWxYSW5jbHVkZVByb2Nlc3NGbGFnczoKKyAqIEBkb2M6IGFuIFhNTCBkb2N1bWVudAorICogQGZsYWdzOiBhIHNldCBvZiB4bWxQYXJzZXJPcHRpb24gdXNlZCBmb3IgcGFyc2luZyBYTUwgaW5jbHVkZXMKKyAqCisgKiBJbXBsZW1lbnQgdGhlIFhJbmNsdWRlIHN1YnN0aXR1dGlvbiBvbiB0aGUgWE1MIGRvY3VtZW50IEBkb2MKKyAqCisgKiBSZXR1cm5zIDAgaWYgbm8gc3Vic3RpdHV0aW9uIHdlcmUgZG9uZSwgLTEgaWYgc29tZSBwcm9jZXNzaW5nIGZhaWxlZAorICogICAgb3IgdGhlIG51bWJlciBvZiBzdWJzdGl0dXRpb25zIGRvbmUuCisgKi8KK2ludAoreG1sWEluY2x1ZGVQcm9jZXNzRmxhZ3MoeG1sRG9jUHRyIGRvYywgaW50IGZsYWdzKSB7CisgICAgcmV0dXJuIHhtbFhJbmNsdWRlUHJvY2Vzc0ZsYWdzRGF0YShkb2MsIGZsYWdzLCBOVUxMKTsKK30KKworLyoqCisgKiB4bWxYSW5jbHVkZVByb2Nlc3M6CisgKiBAZG9jOiBhbiBYTUwgZG9jdW1lbnQKKyAqCisgKiBJbXBsZW1lbnQgdGhlIFhJbmNsdWRlIHN1YnN0aXR1dGlvbiBvbiB0aGUgWE1MIGRvY3VtZW50IEBkb2MKKyAqCisgKiBSZXR1cm5zIDAgaWYgbm8gc3Vic3RpdHV0aW9uIHdlcmUgZG9uZSwgLTEgaWYgc29tZSBwcm9jZXNzaW5nIGZhaWxlZAorICogICAgb3IgdGhlIG51bWJlciBvZiBzdWJzdGl0dXRpb25zIGRvbmUuCisgKi8KK2ludAoreG1sWEluY2x1ZGVQcm9jZXNzKHhtbERvY1B0ciBkb2MpIHsKKyAgICByZXR1cm4oeG1sWEluY2x1ZGVQcm9jZXNzRmxhZ3MoZG9jLCAwKSk7Cit9CisKKy8qKgorICogeG1sWEluY2x1ZGVQcm9jZXNzVHJlZUZsYWdzOgorICogQHRyZWU6IGEgbm9kZSBpbiBhbiBYTUwgZG9jdW1lbnQKKyAqIEBmbGFnczogYSBzZXQgb2YgeG1sUGFyc2VyT3B0aW9uIHVzZWQgZm9yIHBhcnNpbmcgWE1MIGluY2x1ZGVzCisgKgorICogSW1wbGVtZW50IHRoZSBYSW5jbHVkZSBzdWJzdGl0dXRpb24gZm9yIHRoZSBnaXZlbiBzdWJ0cmVlCisgKgorICogUmV0dXJucyAwIGlmIG5vIHN1YnN0aXR1dGlvbiB3ZXJlIGRvbmUsIC0xIGlmIHNvbWUgcHJvY2Vzc2luZyBmYWlsZWQKKyAqICAgIG9yIHRoZSBudW1iZXIgb2Ygc3Vic3RpdHV0aW9ucyBkb25lLgorICovCitpbnQKK3htbFhJbmNsdWRlUHJvY2Vzc1RyZWVGbGFncyh4bWxOb2RlUHRyIHRyZWUsIGludCBmbGFncykgeworICAgIHhtbFhJbmNsdWRlQ3R4dFB0ciBjdHh0OworICAgIGludCByZXQgPSAwOworCisgICAgaWYgKCh0cmVlID09IE5VTEwpIHx8ICh0cmVlLT50eXBlID09IFhNTF9OQU1FU1BBQ0VfREVDTCkgfHwKKyAgICAgICAgKHRyZWUtPmRvYyA9PSBOVUxMKSkKKwlyZXR1cm4oLTEpOworICAgIGN0eHQgPSB4bWxYSW5jbHVkZU5ld0NvbnRleHQodHJlZS0+ZG9jKTsKKyAgICBpZiAoY3R4dCA9PSBOVUxMKQorCXJldHVybigtMSk7CisgICAgY3R4dC0+YmFzZSA9IHhtbE5vZGVHZXRCYXNlKHRyZWUtPmRvYywgdHJlZSk7CisgICAgeG1sWEluY2x1ZGVTZXRGbGFncyhjdHh0LCBmbGFncyk7CisgICAgcmV0ID0geG1sWEluY2x1ZGVEb1Byb2Nlc3MoY3R4dCwgdHJlZS0+ZG9jLCB0cmVlKTsKKyAgICBpZiAoKHJldCA+PSAwKSAmJiAoY3R4dC0+bmJFcnJvcnMgPiAwKSkKKwlyZXQgPSAtMTsKKworICAgIHhtbFhJbmNsdWRlRnJlZUNvbnRleHQoY3R4dCk7CisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogeG1sWEluY2x1ZGVQcm9jZXNzVHJlZToKKyAqIEB0cmVlOiBhIG5vZGUgaW4gYW4gWE1MIGRvY3VtZW50CisgKgorICogSW1wbGVtZW50IHRoZSBYSW5jbHVkZSBzdWJzdGl0dXRpb24gZm9yIHRoZSBnaXZlbiBzdWJ0cmVlCisgKgorICogUmV0dXJucyAwIGlmIG5vIHN1YnN0aXR1dGlvbiB3ZXJlIGRvbmUsIC0xIGlmIHNvbWUgcHJvY2Vzc2luZyBmYWlsZWQKKyAqICAgIG9yIHRoZSBudW1iZXIgb2Ygc3Vic3RpdHV0aW9ucyBkb25lLgorICovCitpbnQKK3htbFhJbmNsdWRlUHJvY2Vzc1RyZWUoeG1sTm9kZVB0ciB0cmVlKSB7CisgICAgcmV0dXJuKHhtbFhJbmNsdWRlUHJvY2Vzc1RyZWVGbGFncyh0cmVlLCAwKSk7Cit9CisKKy8qKgorICogeG1sWEluY2x1ZGVQcm9jZXNzTm9kZToKKyAqIEBjdHh0OiBhbiBleGlzdGluZyBYSW5jbHVkZSBjb250ZXh0CisgKiBAbm9kZTogYSBub2RlIGluIGFuIFhNTCBkb2N1bWVudAorICoKKyAqIEltcGxlbWVudCB0aGUgWEluY2x1ZGUgc3Vic3RpdHV0aW9uIGZvciB0aGUgZ2l2ZW4gc3VidHJlZSByZXVzaW5nCisgKiB0aGUgaW5mb3JtYXRpb25zIGFuZCBkYXRhIGNvbWluZyBmcm9tIHRoZSBnaXZlbiBjb250ZXh0LgorICoKKyAqIFJldHVybnMgMCBpZiBubyBzdWJzdGl0dXRpb24gd2VyZSBkb25lLCAtMSBpZiBzb21lIHByb2Nlc3NpbmcgZmFpbGVkCisgKiAgICBvciB0aGUgbnVtYmVyIG9mIHN1YnN0aXR1dGlvbnMgZG9uZS4KKyAqLworaW50Cit4bWxYSW5jbHVkZVByb2Nlc3NOb2RlKHhtbFhJbmNsdWRlQ3R4dFB0ciBjdHh0LCB4bWxOb2RlUHRyIG5vZGUpIHsKKyAgICBpbnQgcmV0ID0gMDsKKworICAgIGlmICgobm9kZSA9PSBOVUxMKSB8fCAobm9kZS0+dHlwZSA9PSBYTUxfTkFNRVNQQUNFX0RFQ0wpIHx8CisgICAgICAgIChub2RlLT5kb2MgPT0gTlVMTCkgfHwgKGN0eHQgPT0gTlVMTCkpCisJcmV0dXJuKC0xKTsKKyAgICByZXQgPSB4bWxYSW5jbHVkZURvUHJvY2VzcyhjdHh0LCBub2RlLT5kb2MsIG5vZGUpOworICAgIGlmICgocmV0ID49IDApICYmIChjdHh0LT5uYkVycm9ycyA+IDApKQorCXJldCA9IC0xOworICAgIHJldHVybihyZXQpOworfQorCisjZWxzZSAvKiAhTElCWE1MX1hJTkNMVURFX0VOQUJMRUQgKi8KKyNlbmRpZgorI2RlZmluZSBib3R0b21feGluY2x1ZGUKKyNpbmNsdWRlICJlbGZnY2NoYWNrLmgiCmRpZmYgLS1naXQgYS9saWJ4bWwyL3hsaW5rLmMgYi9saWJ4bWwyL3hsaW5rLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzBlNGZmMwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIveGxpbmsuYwpAQCAtMCwwICsxLDE4MyBAQAorLyoKKyAqIHhsaW5rLmMgOiBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgaHlwZXJsaW5rcyBkZXRlY3Rpb24gbW9kdWxlCisgKiAgICAgICAgICAgVGhpcyB2ZXJzaW9uIHN1cHBvcnRzIGJvdGggWE1MIFhMaW5rcyBhbmQgSFRNTCBzaW1wbGUgbGlua3MKKyAqCisgKiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisgKgorICogZGFuaWVsQHZlaWxsYXJkLmNvbQorICovCisKKworI2RlZmluZSBJTl9MSUJYTUwKKyNpbmNsdWRlICJsaWJ4bWwuaCIKKworI2lmZGVmIExJQlhNTF9YUFRSX0VOQUJMRUQKKyNpbmNsdWRlIDxzdHJpbmcuaD4gLyogZm9yIG1lbXNldCgpIG9ubHkgKi8KKyNpZmRlZiBIQVZFX0NUWVBFX0gKKyNpbmNsdWRlIDxjdHlwZS5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9TVERMSUJfSAorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNlbmRpZgorI2lmZGVmIEhBVkVfRkNOVExfSAorI2luY2x1ZGUgPGZjbnRsLmg+CisjZW5kaWYKKyNpZmRlZiBIQVZFX1VOSVNURF9ICisjaW5jbHVkZSA8dW5pc3RkLmg+CisjZW5kaWYKKyNpZmRlZiBIQVZFX1pMSUJfSAorI2luY2x1ZGUgPHpsaWIuaD4KKyNlbmRpZgorCisjaW5jbHVkZSA8bGlieG1sL3htbG1lbW9yeS5oPgorI2luY2x1ZGUgPGxpYnhtbC90cmVlLmg+CisjaW5jbHVkZSA8bGlieG1sL3BhcnNlci5oPgorI2luY2x1ZGUgPGxpYnhtbC92YWxpZC5oPgorI2luY2x1ZGUgPGxpYnhtbC94bGluay5oPgorI2luY2x1ZGUgPGxpYnhtbC9nbG9iYWxzLmg+CisKKyNkZWZpbmUgWExJTktfTkFNRVNQQUNFIChCQURfQ0FTVCAiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluay9uYW1lc3BhY2UvIikKKyNkZWZpbmUgWEhUTUxfTkFNRVNQQUNFIChCQURfQ0FTVCAiaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbC8iKQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCSoKKyAqICAgICAgICAgICBEZWZhdWx0IHNldHRpbmcgYW5kIHJlbGF0ZWQgZnVuY3Rpb25zCQkqCisgKgkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK3N0YXRpYyB4bGlua0hhbmRsZXJQdHIgeGxpbmtEZWZhdWx0SGFuZGxlciA9IE5VTEw7CitzdGF0aWMgeGxpbmtOb2RlRGV0ZWN0RnVuYwl4bGlua0RlZmF1bHREZXRlY3QgPSBOVUxMOworCisvKioKKyAqIHhsaW5rR2V0RGVmYXVsdEhhbmRsZXI6CisgKgorICogR2V0IHRoZSBkZWZhdWx0IHhsaW5rIGhhbmRsZXIuCisgKgorICogUmV0dXJucyB0aGUgY3VycmVudCB4bGlua0hhbmRsZXJQdHIgdmFsdWUuCisgKi8KK3hsaW5rSGFuZGxlclB0cgoreGxpbmtHZXREZWZhdWx0SGFuZGxlcih2b2lkKSB7CisgICAgcmV0dXJuKHhsaW5rRGVmYXVsdEhhbmRsZXIpOworfQorCisKKy8qKgorICogeGxpbmtTZXREZWZhdWx0SGFuZGxlcjoKKyAqIEBoYW5kbGVyOiAgdGhlIG5ldyB2YWx1ZSBmb3IgdGhlIHhsaW5rIGhhbmRsZXIgYmxvY2sKKyAqCisgKiBTZXQgdGhlIGRlZmF1bHQgeGxpbmsgaGFuZGxlcnMKKyAqLwordm9pZAoreGxpbmtTZXREZWZhdWx0SGFuZGxlcih4bGlua0hhbmRsZXJQdHIgaGFuZGxlcikgeworICAgIHhsaW5rRGVmYXVsdEhhbmRsZXIgPSBoYW5kbGVyOworfQorCisvKioKKyAqIHhsaW5rR2V0RGVmYXVsdERldGVjdDoKKyAqCisgKiBHZXQgdGhlIGRlZmF1bHQgeGxpbmsgZGV0ZWN0aW9uIHJvdXRpbmUKKyAqCisgKiBSZXR1cm5zIHRoZSBjdXJyZW50IGZ1bmN0aW9uIG9yIE5VTEw7CisgKi8KK3hsaW5rTm9kZURldGVjdEZ1bmMKK3hsaW5rR2V0RGVmYXVsdERldGVjdAkodm9pZCkgeworICAgIHJldHVybih4bGlua0RlZmF1bHREZXRlY3QpOworfQorCisvKioKKyAqIHhsaW5rU2V0RGVmYXVsdERldGVjdDoKKyAqIEBmdW5jOiBwb2ludGVyIHRvIHRoZSBuZXcgZGV0ZWN0aW9uIHJvdXRpbmUuCisgKgorICogU2V0IHRoZSBkZWZhdWx0IHhsaW5rIGRldGVjdGlvbiByb3V0aW5lCisgKi8KK3ZvaWQKK3hsaW5rU2V0RGVmYXVsdERldGVjdAkoeGxpbmtOb2RlRGV0ZWN0RnVuYyBmdW5jKSB7CisgICAgeGxpbmtEZWZhdWx0RGV0ZWN0ID0gZnVuYzsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkqCisgKiAgICAgICAgICAgICAgICAgIFRoZSBkZXRlY3Rpb24gcm91dGluZXMJCQkqCisgKgkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKworLyoqCisgKiB4bGlua0lzTGluazoKKyAqIEBkb2M6ICB0aGUgZG9jdW1lbnQgY29udGFpbmluZyB0aGUgbm9kZQorICogQG5vZGU6ICB0aGUgbm9kZSBwb2ludGVyIGl0c2VsZgorICoKKyAqIENoZWNrIHdoZXRoZXIgdGhlIGdpdmVuIG5vZGUgY2FycmllcyB0aGUgYXR0cmlidXRlcyBuZWVkZWQKKyAqIHRvIGJlIGEgbGluayBlbGVtZW50IChvciBpcyBvbmUgb2YgdGhlIGxpbmtpbmcgZWxlbWVudHMgaXNzdWVkCisgKiBmcm9tIHRoZSAoWClIVE1MIER0RHMpLgorICogVGhpcyByb3V0aW5lIGRvbid0IHRyeSB0byBkbyBmdWxsIGNoZWNraW5nIG9mIHRoZSBsaW5rIHZhbGlkaXR5CisgKiBidXQgdHJpZXMgdG8gZGV0ZWN0IGFuZCByZXR1cm4gdGhlIGFwcHJvcHJpYXRlIGxpbmsgdHlwZS4KKyAqCisgKiBSZXR1cm5zIHRoZSB4bGlua1R5cGUgb2YgdGhlIG5vZGUgKFhMSU5LX1RZUEVfTk9ORSBpZiB0aGVyZSBpcyBubworICogICAgICAgICBsaW5rIGRldGVjdGVkLgorICovCit4bGlua1R5cGUKK3hsaW5rSXNMaW5rCSh4bWxEb2NQdHIgZG9jLCB4bWxOb2RlUHRyIG5vZGUpIHsKKyAgICB4bWxDaGFyICp0eXBlID0gTlVMTCwgKnJvbGUgPSBOVUxMOworICAgIHhsaW5rVHlwZSByZXQgPSBYTElOS19UWVBFX05PTkU7CisKKyAgICBpZiAobm9kZSA9PSBOVUxMKSByZXR1cm4oWExJTktfVFlQRV9OT05FKTsKKyAgICBpZiAoZG9jID09IE5VTEwpIGRvYyA9IG5vZGUtPmRvYzsKKyAgICBpZiAoKGRvYyAhPSBOVUxMKSAmJiAoZG9jLT50eXBlID09IFhNTF9IVE1MX0RPQ1VNRU5UX05PREUpKSB7CisgICAgICAgIC8qCisJICogVGhpcyBpcyBhbiBIVE1MIGRvY3VtZW50LgorCSAqLworICAgIH0gZWxzZSBpZiAoKG5vZGUtPm5zICE9IE5VTEwpICYmCisgICAgICAgICAgICAgICAoeG1sU3RyRXF1YWwobm9kZS0+bnMtPmhyZWYsIFhIVE1MX05BTUVTUEFDRSkpKSB7CisJLyoKKwkgKiAhISEhIFdlIHJlYWxseSBuZWVkIGFuIElTX1hIVE1MX0VMRU1FTlQgZnVuY3Rpb24gZnJvbSBIVE1MdHJlZS5oIEBAQAorCSAqLworICAgICAgICAvKgorCSAqIFRoaXMgaXMgYW4gWEhUTUwgZWxlbWVudCB3aXRoaW4gYW4gWE1MIGRvY3VtZW50CisJICogQ2hlY2sgd2hldGhlciBpdCdzIG9uZSBvZiB0aGUgZWxlbWVudCBhYmxlIHRvIGNhcnJ5IGxpbmtzCisJICogYW5kIGluIHRoYXQgY2FzZSBpZiBpdCBob2xkcyB0aGUgYXR0cmlidXRlcy4KKwkgKi8KKyAgICB9CisKKyAgICAvKgorICAgICAqIFdlIGRvbid0IHByZXZlbnQgYS1wcmlvcmkgaGF2aW5nIFhNTCBMaW5raW5nIGNvbnN0cnVjdHMgb24KKyAgICAgKiBYSFRNTCBlbGVtZW50cworICAgICAqLworICAgIHR5cGUgPSB4bWxHZXROc1Byb3Aobm9kZSwgQkFEX0NBU1QidHlwZSIsIFhMSU5LX05BTUVTUEFDRSk7CisgICAgaWYgKHR5cGUgIT0gTlVMTCkgeworCWlmICh4bWxTdHJFcXVhbCh0eXBlLCBCQURfQ0FTVCAic2ltcGxlIikpIHsKKyAgICAgICAgICAgIHJldCA9IFhMSU5LX1RZUEVfU0lNUExFOworCX0gZWxzZSBpZiAoeG1sU3RyRXF1YWwodHlwZSwgQkFEX0NBU1QgImV4dGVuZGVkIikpIHsKKwkgICAgcm9sZSA9IHhtbEdldE5zUHJvcChub2RlLCBCQURfQ0FTVCAicm9sZSIsIFhMSU5LX05BTUVTUEFDRSk7CisJICAgIGlmIChyb2xlICE9IE5VTEwpIHsKKwkJeG1sTnNQdHIgeGxpbms7CisJCXhsaW5rID0geG1sU2VhcmNoTnMoZG9jLCBub2RlLCBYTElOS19OQU1FU1BBQ0UpOworCQlpZiAoeGxpbmsgPT0gTlVMTCkgeworCQkgICAgLyogSHVtbSwgZmFsbGJhY2sgbWV0aG9kICovCisJCSAgICBpZiAoeG1sU3RyRXF1YWwocm9sZSwgQkFEX0NBU1QieGxpbms6ZXh0ZXJuYWwtbGlua3NldCIpKQorCQkJcmV0ID0gWExJTktfVFlQRV9FWFRFTkRFRF9TRVQ7CisJCX0gZWxzZSB7CisJCSAgICB4bWxDaGFyIGJ1ZlsyMDBdOworCQkgICAgc25wcmludGYoKGNoYXIgKikgYnVmLCBzaXplb2YoYnVmKSwgIiVzOmV4dGVybmFsLWxpbmtzZXQiLAorCQkJICAgICAoY2hhciAqKSB4bGluay0+cHJlZml4KTsKKyAgICAgICAgICAgICAgICAgICAgYnVmW3NpemVvZihidWYpIC0gMV0gPSAwOworCQkgICAgaWYgKHhtbFN0ckVxdWFsKHJvbGUsIGJ1ZikpCisJCQlyZXQgPSBYTElOS19UWVBFX0VYVEVOREVEX1NFVDsKKworCQl9CisKKwkgICAgfQorCSAgICByZXQgPSBYTElOS19UWVBFX0VYVEVOREVEOworCX0KKyAgICB9CisKKyAgICBpZiAodHlwZSAhPSBOVUxMKSB4bWxGcmVlKHR5cGUpOworICAgIGlmIChyb2xlICE9IE5VTEwpIHhtbEZyZWUocm9sZSk7CisgICAgcmV0dXJuKHJldCk7Cit9CisjZW5kaWYgLyogTElCWE1MX1hQVFJfRU5BQkxFRCAqLworI2RlZmluZSBib3R0b21feGxpbmsKKyNpbmNsdWRlICJlbGZnY2NoYWNrLmgiCmRpZmYgLS1naXQgYS9saWJ4bWwyL3htbDItY29uZmlnLjEgYi9saWJ4bWwyL3htbDItY29uZmlnLjEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGNmOTg1OAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIveG1sMi1jb25maWcuMQpAQCAtMCwwICsxLDMwIEBACisuVEggR05PTUUtWE1MIDEgIjMgSnVseSAxOTk5IiBWZXJzaW9uIDEuMS4wCisuU0ggTkFNRQoreG1sLWNvbmZpZyAtIHNjcmlwdCB0byBnZXQgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGluc3RhbGxlZCB2ZXJzaW9uIG9mIEdOT01FLVhNTAorLlNIIFNZTk9QU0lTCisuQiB4bWwtY29uZmlnCitbXC1cLXByZWZpeFxmSVs9RElSXVxmUF0gW1wtXC1saWJzXSBbXC1cLWNmbGFnc10gW1wtXC12ZXJzaW9uXSBbXC1cLWhlbHBdCisuU0ggREVTQ1JJUFRJT04KK1xmSXhtbC1jb25maWdcZlAgaXMgYSB0b29sIHRoYXQgaXMgdXNlZCB0byBkZXRlcm1pbmUgdGhlIGNvbXBpbGUgYW5kCitsaW5rZXIgZmxhZ3MgdGhhdCBzaG91bGQgYmUgdXNlZCB0byBjb21waWxlIGFuZCBsaW5rIHByb2dyYW1zIHRoYXQgdXNlCitcZklHTk9NRS1YTUxcZlAuCisuU0ggT1BUSU9OUworXGZJeG1sLWNvbmZpZ1xmUCBhY2NlcHRzIHRoZSBmb2xsb3dpbmcgb3B0aW9uczoKKy5UUCA4CisuQiAgXC1cLXZlcnNpb24KK1ByaW50IHRoZSBjdXJyZW50bHkgaW5zdGFsbGVkIHZlcnNpb24gb2YgXGZJR05PTUUtWE1MXGZQIG9uIHRoZSBzdGFuZGFyZCBvdXRwdXQuCisuVFAgOAorLkIgIFwtXC1saWJzCitQcmludCB0aGUgbGlua2VyIGZsYWdzIHRoYXQgYXJlIG5lY2Vzc2FyeSB0byBsaW5rIGEgXGZJR05PTUUtWE1MXGZQIHByb2dyYW0uCisuVFAgOAorLkIgIFwtXC1jZmxhZ3MKK1ByaW50IHRoZSBjb21waWxlciBmbGFncyB0aGF0IGFyZSBuZWNlc3NhcnkgdG8gY29tcGlsZSBhIFxmSUdOT01FLVhNTFxmUCBwcm9ncmFtLgorLlRQIDgKKy5CICBcLVwtcHJlZml4PVBSRUZJWAorSWYgc3BlY2lmaWVkLCB1c2UgUFJFRklYIGluc3RlYWQgb2YgdGhlIGluc3RhbGxhdGlvbiBwcmVmaXggdGhhdAorXGZJR05PTUUtWE1MXGZQIHdhcyBidWlsdCB3aXRoIHdoZW4gY29tcHV0aW5nIHRoZSBvdXRwdXQgZm9yIHRoZQorXC1cLWNmbGFncyBhbmQgXC1cLWxpYnMgb3B0aW9ucy4gVGhpcyBvcHRpb24gbXVzdCBiZSBzcGVjaWZpZWQgYmVmb3JlCithbnkgXC1cLWxpYnMgb3IgXC1cLWNmbGFncyBvcHRpb25zLgorLlNIIEFVVEhPUgorVGhpcyBtYW51YWwgcGFnZSB3YXMgd3JpdHRlbiBieSBGcmVkcmlrIEhhbGxlbmJlcmcgPGhhbGxvbkBseXNhdG9yLmxpdS5zZT4sCitmb3IgdGhlIERlYmlhbiBHTlUvbGludXggc3lzdGVtIChidXQgbWF5IGJlIHVzZWQgYnkgb3RoZXJzKS4KZGlmZiAtLWdpdCBhL2xpYnhtbDIveG1sMi1jb25maWcuaW4gYi9saWJ4bWwyL3htbDItY29uZmlnLmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE5NTc0ODYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3htbDItY29uZmlnLmluCkBAIC0wLDAgKzEsMTA2IEBACisjISAvYmluL3NoCisKK3ByZWZpeD1AcHJlZml4QAorZXhlY19wcmVmaXg9QGV4ZWNfcHJlZml4QAoraW5jbHVkZWRpcj1AaW5jbHVkZWRpckAKK2xpYmRpcj1AbGliZGlyQAorCit1c2FnZSgpCit7CisgICAgY2F0IDw8RU9GCitVc2FnZTogeG1sMi1jb25maWcgW09QVElPTl0KKworS25vd24gdmFsdWVzIGZvciBPUFRJT04gYXJlOgorCisgIC0tcHJlZml4PURJUgkJY2hhbmdlIGxpYnhtbCBwcmVmaXggW2RlZmF1bHQgJHByZWZpeF0KKyAgLS1leGVjLXByZWZpeD1ESVIJY2hhbmdlIGxpYnhtbCBleGVjIHByZWZpeCBbZGVmYXVsdCAkZXhlY19wcmVmaXhdCisgIC0tbGlicwkJcHJpbnQgbGlicmFyeSBsaW5raW5nIGluZm9ybWF0aW9uCisgIC0tY2ZsYWdzCQlwcmludCBwcmUtcHJvY2Vzc29yIGFuZCBjb21waWxlciBmbGFncworICAtLW1vZHVsZXMJCW1vZHVsZSBzdXBwb3J0IGVuYWJsZWQKKyAgLS1oZWxwCQlkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdAorICAtLXZlcnNpb24JCW91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uCitFT0YKKworICAgIGV4aXQgJDEKK30KKworaWYgdGVzdCAkIyAtZXEgMDsgdGhlbgorICAgIHVzYWdlIDEKK2ZpCisKK2NmbGFncz1mYWxzZQorbGlicz1mYWxzZQorCit3aGlsZSB0ZXN0ICQjIC1ndCAwOyBkbworICAgIGNhc2UgIiQxIiBpbgorICAgIC0qPSopIG9wdGFyZz1gZWNobyAiJDEiIHwgc2VkICdzL1stX2EtekEtWjAtOV0qPS8vJ2AgOzsKKyAgICAqKSBvcHRhcmc9IDs7CisgICAgZXNhYworCisgICAgY2FzZSAiJDEiIGluCisgICAgLS1wcmVmaXg9KikKKwlwcmVmaXg9JG9wdGFyZworCWluY2x1ZGVkaXI9JHByZWZpeC9pbmNsdWRlCisJbGliZGlyPSRwcmVmaXgvbGliCisJOzsKKworICAgIC0tcHJlZml4KQorCWVjaG8gJHByZWZpeAorCTs7CisKKyAgICAtLWV4ZWMtcHJlZml4PSopCisgICAgICBleGVjX3ByZWZpeD0kb3B0YXJnCisgICAgICBsaWJkaXI9JGV4ZWNfcHJlZml4L2xpYgorICAgICAgOzsKKworICAgIC0tZXhlYy1wcmVmaXgpCisgICAgICBlY2hvICRleGVjX3ByZWZpeAorICAgICAgOzsKKworICAgIC0tdmVyc2lvbikKKwllY2hvIEBWRVJTSU9OQAorCWV4aXQgMAorCTs7CisKKyAgICAtLWhlbHApCisJdXNhZ2UgMAorCTs7CisKKyAgICAtLWNmbGFncykKKyAgICAgICAJZWNobyBAWE1MX0lOQ0xVREVESVJAIEBYTUxfQ0ZMQUdTQAorICAgICAgIAk7OworCisgICAgLS1saWJ0b29sLWxpYnMpCisJaWYgWyAtciAke2xpYmRpcn0vQFhNTF9MSUJUT09MTElCU0AgXQorCXRoZW4KKwkgICAgZWNobyAke2xpYmRpcn0vQFhNTF9MSUJUT09MTElCU0AKKwlmaQorICAgICAgICA7OworCisgICAgLS1tb2R1bGVzKQorICAgICAgIAllY2hvIEBXSVRIX01PRFVMRVNACisgICAgICAgCTs7CisKKyAgICAtLWxpYnMpCisgICAgICAgIGlmIFsgImB1bmFtZWAiID0gIkxpbnV4IiBdCisJdGhlbgorCSAgICBpZiBbICJAWE1MX0xJQkRJUkAiID0gIi1ML3Vzci9saWIiIC1vICJAWE1MX0xJQkRJUkAiID0gIi1ML3Vzci9saWI2NCIgXQorCSAgICB0aGVuCisJCWVjaG8gQFhNTF9MSUJTQCBATU9EVUxFX1BMQVRGT1JNX0xJQlNACisJICAgIGVsc2UKKwkJZWNobyBAWE1MX0xJQkRJUkAgQFhNTF9MSUJTQCBATU9EVUxFX1BMQVRGT1JNX0xJQlNACisJICAgIGZpCisJZWxzZQorCSAgICBlY2hvIEBYTUxfTElCRElSQCBAWE1MX0xJQlNAIEBNT0RVTEVfUExBVEZPUk1fTElCU0AgQFdJTjMyX0VYVFJBX0xJQkFEREAKKwlmaQorICAgICAgIAk7OworCisgICAgKikKKwl1c2FnZQorCWV4aXQgMQorCTs7CisgICAgZXNhYworICAgIHNoaWZ0Citkb25lCisKK2V4aXQgMApkaWZmIC0tZ2l0IGEvbGlieG1sMi94bWwyQ29uZi5zaC5pbiBiL2xpYnhtbDIveG1sMkNvbmYuc2guaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDhjYjIzMwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIveG1sMkNvbmYuc2guaW4KQEAgLTAsMCArMSw4IEBACisjCisjIENvbmZpZ3VyYXRpb24gZmlsZSBmb3IgdXNpbmcgdGhlIFhNTCBsaWJyYXJ5IGluIEdOT01FIGFwcGxpY2F0aW9ucworIworWE1MMl9MSUJESVI9IkBYTUxfTElCRElSQCIKK1hNTDJfTElCUz0iQFhNTF9MSUJTQCIKK1hNTDJfSU5DTFVERURJUj0iQFhNTF9JTkNMVURFRElSQCIKK01PRFVMRV9WRVJTSU9OPSJ4bWwyLUBWRVJTSU9OQCIKKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi94bWxJTy5jIGIvbGlieG1sMi94bWxJTy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2MjhhYjAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3htbElPLmMKQEAgLTAsMCArMSw0MTg2IEBACisvKgorICogeG1sSU8uYyA6IGltcGxlbWVudGF0aW9uIG9mIHRoZSBJL08gaW50ZXJmYWNlcyB1c2VkIGJ5IHRoZSBwYXJzZXIKKyAqCisgKiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisgKgorICogZGFuaWVsQHZlaWxsYXJkLmNvbQorICoKKyAqIDE0IE5vdiAyMDAwIGh0IC0gZm9yIFZNUywgdHJ1bmNhdGVkIG5hbWUgb2YgbG9uZyBmdW5jdGlvbnMgdG8gdW5kZXIgMzIgY2hhcgorICovCisKKyNkZWZpbmUgSU5fTElCWE1MCisjaW5jbHVkZSAibGlieG1sLmgiCisKKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpZmRlZiBIQVZFX0VSUk5PX0gKKyNpbmNsdWRlIDxlcnJuby5oPgorI2VuZGlmCisKKworI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNlbmRpZgorI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjZW5kaWYKKyNpZmRlZiBIQVZFX0ZDTlRMX0gKKyNpbmNsdWRlIDxmY250bC5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9VTklTVERfSAorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9TVERMSUJfSAorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9aTElCX0gKKyNpbmNsdWRlIDx6bGliLmg+CisjZW5kaWYKKyNpZmRlZiBIQVZFX0xaTUFfSAorI2luY2x1ZGUgPGx6bWEuaD4KKyNlbmRpZgorCisjaWYgZGVmaW5lZChXSU4zMikgfHwgZGVmaW5lZChfV0lOMzIpCisjaW5jbHVkZSA8d2luZG93cy5oPgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKF9XSU4zMl9XQ0UpCisjaW5jbHVkZSA8d2lubmxzLmg+IC8qIGZvciBDUF9VVEY4ICovCisjZW5kaWYKKworLyogRmlndXJlIGEgcG9ydGFibGUgd2F5IHRvIGtub3cgaWYgYSBmaWxlIGlzIGEgZGlyZWN0b3J5LiAqLworI2lmbmRlZiBIQVZFX1NUQVQKKyMgIGlmZGVmIEhBVkVfX1NUQVQKKyAgICAgLyogTVMgQyBsaWJyYXJ5IHNlZW1zIHRvIGRlZmluZSBzdGF0IGFuZCBfc3RhdC4gVGhlIGRlZmluaXRpb24KKyAgICAgICAgaXMgaWRlbnRpY2FsLiBTdGlsbCwgbWFwcGluZyB0aGVtIHRvIGVhY2ggb3RoZXIgY2F1c2VzIGEgd2FybmluZy4gKi8KKyMgICAgaWZuZGVmIF9NU0NfVkVSCisjICAgICAgZGVmaW5lIHN0YXQoeCx5KSBfc3RhdCh4LHkpCisjICAgIGVuZGlmCisjICAgIGRlZmluZSBIQVZFX1NUQVQKKyMgIGVuZGlmCisjZWxzZQorIyAgaWZkZWYgSEFWRV9fU1RBVAorIyAgICBpZiBkZWZpbmVkKF9XSU4zMikgfHwgZGVmaW5lZCAoX19ESkdQUF9fKSAmJiAhZGVmaW5lZCAoX19DWUdXSU5fXykKKyMgICAgICBkZWZpbmUgc3RhdCBfc3RhdAorIyAgICBlbmRpZgorIyAgZW5kaWYKKyNlbmRpZgorI2lmZGVmIEhBVkVfU1RBVAorIyAgaWZuZGVmIFNfSVNESVIKKyMgICAgaWZkZWYgX1NfSVNESVIKKyMgICAgICBkZWZpbmUgU19JU0RJUih4KSBfU19JU0RJUih4KQorIyAgICBlbHNlCisjICAgICAgaWZkZWYgU19JRkRJUgorIyAgICAgICAgaWZuZGVmIFNfSUZNVAorIyAgICAgICAgICBpZmRlZiBfU19JRk1UCisjICAgICAgICAgICAgZGVmaW5lIFNfSUZNVCBfU19JRk1UCisjICAgICAgICAgIGVuZGlmCisjICAgICAgICBlbmRpZgorIyAgICAgICAgaWZkZWYgU19JRk1UCisjICAgICAgICAgIGRlZmluZSBTX0lTRElSKG0pICgoKG0pICYgU19JRk1UKSA9PSBTX0lGRElSKQorIyAgICAgICAgZW5kaWYKKyMgICAgICBlbmRpZgorIyAgICBlbmRpZgorIyAgZW5kaWYKKyNlbmRpZgorCisjaW5jbHVkZSA8bGlieG1sL3htbG1lbW9yeS5oPgorI2luY2x1ZGUgPGxpYnhtbC9wYXJzZXIuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvcGFyc2VySW50ZXJuYWxzLmg+CisjaW5jbHVkZSA8bGlieG1sL3htbElPLmg+CisjaW5jbHVkZSA8bGlieG1sL3VyaS5oPgorI2luY2x1ZGUgPGxpYnhtbC9uYW5vaHR0cC5oPgorI2luY2x1ZGUgPGxpYnhtbC9uYW5vZnRwLmg+CisjaW5jbHVkZSA8bGlieG1sL3htbGVycm9yLmg+CisjaWZkZWYgTElCWE1MX0NBVEFMT0dfRU5BQkxFRAorI2luY2x1ZGUgPGxpYnhtbC9jYXRhbG9nLmg+CisjZW5kaWYKKyNpbmNsdWRlIDxsaWJ4bWwvZ2xvYmFscy5oPgorCisjaW5jbHVkZSAiYnVmLmgiCisjaW5jbHVkZSAiZW5jLmgiCisKKy8qICNkZWZpbmUgVkVSQk9TRV9GQUlMVVJFICovCisvKiAjZGVmaW5lIERFQlVHX0VYVEVSTkFMX0VOVElUSUVTICovCisvKiAjZGVmaW5lIERFQlVHX0lOUFVUICovCisKKyNpZmRlZiBERUJVR19JTlBVVAorI2RlZmluZSBNSU5MRU4gNDAKKyNlbHNlCisjZGVmaW5lIE1JTkxFTiA0MDAwCisjZW5kaWYKKworLyoKKyAqIElucHV0IEkvTyBjYWxsYmFjayBzZXRzCisgKi8KK3R5cGVkZWYgc3RydWN0IF94bWxJbnB1dENhbGxiYWNrIHsKKyAgICB4bWxJbnB1dE1hdGNoQ2FsbGJhY2sgbWF0Y2hjYWxsYmFjazsKKyAgICB4bWxJbnB1dE9wZW5DYWxsYmFjayBvcGVuY2FsbGJhY2s7CisgICAgeG1sSW5wdXRSZWFkQ2FsbGJhY2sgcmVhZGNhbGxiYWNrOworICAgIHhtbElucHV0Q2xvc2VDYWxsYmFjayBjbG9zZWNhbGxiYWNrOworfSB4bWxJbnB1dENhbGxiYWNrOworCisjZGVmaW5lIE1BWF9JTlBVVF9DQUxMQkFDSyAxNQorCitzdGF0aWMgeG1sSW5wdXRDYWxsYmFjayB4bWxJbnB1dENhbGxiYWNrVGFibGVbTUFYX0lOUFVUX0NBTExCQUNLXTsKK3N0YXRpYyBpbnQgeG1sSW5wdXRDYWxsYmFja05yID0gMDsKK3N0YXRpYyBpbnQgeG1sSW5wdXRDYWxsYmFja0luaXRpYWxpemVkID0gMDsKKworI2lmZGVmIExJQlhNTF9PVVRQVVRfRU5BQkxFRAorLyoKKyAqIE91dHB1dCBJL08gY2FsbGJhY2sgc2V0cworICovCit0eXBlZGVmIHN0cnVjdCBfeG1sT3V0cHV0Q2FsbGJhY2sgeworICAgIHhtbE91dHB1dE1hdGNoQ2FsbGJhY2sgbWF0Y2hjYWxsYmFjazsKKyAgICB4bWxPdXRwdXRPcGVuQ2FsbGJhY2sgb3BlbmNhbGxiYWNrOworICAgIHhtbE91dHB1dFdyaXRlQ2FsbGJhY2sgd3JpdGVjYWxsYmFjazsKKyAgICB4bWxPdXRwdXRDbG9zZUNhbGxiYWNrIGNsb3NlY2FsbGJhY2s7Cit9IHhtbE91dHB1dENhbGxiYWNrOworCisjZGVmaW5lIE1BWF9PVVRQVVRfQ0FMTEJBQ0sgMTUKKworc3RhdGljIHhtbE91dHB1dENhbGxiYWNrIHhtbE91dHB1dENhbGxiYWNrVGFibGVbTUFYX09VVFBVVF9DQUxMQkFDS107CitzdGF0aWMgaW50IHhtbE91dHB1dENhbGxiYWNrTnIgPSAwOworc3RhdGljIGludCB4bWxPdXRwdXRDYWxsYmFja0luaXRpYWxpemVkID0gMDsKKworeG1sT3V0cHV0QnVmZmVyUHRyCit4bWxBbGxvY091dHB1dEJ1ZmZlckludGVybmFsKHhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIgZW5jb2Rlcik7CisjZW5kaWYgLyogTElCWE1MX09VVFBVVF9FTkFCTEVEICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCVRyZWUgbWVtb3J5IGVycm9yIGhhbmRsZXIJCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitzdGF0aWMgY29uc3QgY2hhciAqSU9lcnJbXSA9IHsKKyAgICAiVW5rbm93biBJTyBlcnJvciIsICAgICAgICAgLyogVU5LTk9XTiAqLworICAgICJQZXJtaXNzaW9uIGRlbmllZCIsCS8qIEVBQ0NFUyAqLworICAgICJSZXNvdXJjZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZSIsLyogRUFHQUlOICovCisgICAgIkJhZCBmaWxlIGRlc2NyaXB0b3IiLAkvKiBFQkFERiAqLworICAgICJCYWQgbWVzc2FnZSIsCQkvKiBFQkFETVNHICovCisgICAgIlJlc291cmNlIGJ1c3kiLAkJLyogRUJVU1kgKi8KKyAgICAiT3BlcmF0aW9uIGNhbmNlbGVkIiwJLyogRUNBTkNFTEVEICovCisgICAgIk5vIGNoaWxkIHByb2Nlc3NlcyIsCS8qIEVDSElMRCAqLworICAgICJSZXNvdXJjZSBkZWFkbG9jayBhdm9pZGVkIiwvKiBFREVBRExLICovCisgICAgIkRvbWFpbiBlcnJvciIsCQkvKiBFRE9NICovCisgICAgIkZpbGUgZXhpc3RzIiwJCS8qIEVFWElTVCAqLworICAgICJCYWQgYWRkcmVzcyIsCQkvKiBFRkFVTFQgKi8KKyAgICAiRmlsZSB0b28gbGFyZ2UiLAkJLyogRUZCSUcgKi8KKyAgICAiT3BlcmF0aW9uIGluIHByb2dyZXNzIiwJLyogRUlOUFJPR1JFU1MgKi8KKyAgICAiSW50ZXJydXB0ZWQgZnVuY3Rpb24gY2FsbCIsLyogRUlOVFIgKi8KKyAgICAiSW52YWxpZCBhcmd1bWVudCIsCQkvKiBFSU5WQUwgKi8KKyAgICAiSW5wdXQvb3V0cHV0IGVycm9yIiwJLyogRUlPICovCisgICAgIklzIGEgZGlyZWN0b3J5IiwJCS8qIEVJU0RJUiAqLworICAgICJUb28gbWFueSBvcGVuIGZpbGVzIiwJLyogRU1GSUxFICovCisgICAgIlRvbyBtYW55IGxpbmtzIiwJCS8qIEVNTElOSyAqLworICAgICJJbmFwcHJvcHJpYXRlIG1lc3NhZ2UgYnVmZmVyIGxlbmd0aCIsLyogRU1TR1NJWkUgKi8KKyAgICAiRmlsZW5hbWUgdG9vIGxvbmciLAkvKiBFTkFNRVRPT0xPTkcgKi8KKyAgICAiVG9vIG1hbnkgb3BlbiBmaWxlcyBpbiBzeXN0ZW0iLC8qIEVORklMRSAqLworICAgICJObyBzdWNoIGRldmljZSIsCQkvKiBFTk9ERVYgKi8KKyAgICAiTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeSIsLyogRU5PRU5UICovCisgICAgIkV4ZWMgZm9ybWF0IGVycm9yIiwJLyogRU5PRVhFQyAqLworICAgICJObyBsb2NrcyBhdmFpbGFibGUiLAkvKiBFTk9MQ0sgKi8KKyAgICAiTm90IGVub3VnaCBzcGFjZSIsCQkvKiBFTk9NRU0gKi8KKyAgICAiTm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UiLAkvKiBFTk9TUEMgKi8KKyAgICAiRnVuY3Rpb24gbm90IGltcGxlbWVudGVkIiwJLyogRU5PU1lTICovCisgICAgIk5vdCBhIGRpcmVjdG9yeSIsCQkvKiBFTk9URElSICovCisgICAgIkRpcmVjdG9yeSBub3QgZW1wdHkiLAkvKiBFTk9URU1QVFkgKi8KKyAgICAiTm90IHN1cHBvcnRlZCIsCQkvKiBFTk9UU1VQICovCisgICAgIkluYXBwcm9wcmlhdGUgSS9PIGNvbnRyb2wgb3BlcmF0aW9uIiwvKiBFTk9UVFkgKi8KKyAgICAiTm8gc3VjaCBkZXZpY2Ugb3IgYWRkcmVzcyIsLyogRU5YSU8gKi8KKyAgICAiT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQiLAkvKiBFUEVSTSAqLworICAgICJCcm9rZW4gcGlwZSIsCQkvKiBFUElQRSAqLworICAgICJSZXN1bHQgdG9vIGxhcmdlIiwJCS8qIEVSQU5HRSAqLworICAgICJSZWFkLW9ubHkgZmlsZSBzeXN0ZW0iLAkvKiBFUk9GUyAqLworICAgICJJbnZhbGlkIHNlZWsiLAkJLyogRVNQSVBFICovCisgICAgIk5vIHN1Y2ggcHJvY2VzcyIsCQkvKiBFU1JDSCAqLworICAgICJPcGVyYXRpb24gdGltZWQgb3V0IiwJLyogRVRJTUVET1VUICovCisgICAgIkltcHJvcGVyIGxpbmsiLAkJLyogRVhERVYgKi8KKyAgICAiQXR0ZW1wdCB0byBsb2FkIG5ldHdvcmsgZW50aXR5ICVzIiwgLyogWE1MX0lPX05FVFdPUktfQVRURU1QVCAqLworICAgICJlbmNvZGVyIGVycm9yIiwJCS8qIFhNTF9JT19FTkNPREVSICovCisgICAgImZsdXNoIGVycm9yIiwKKyAgICAid3JpdGUgZXJyb3IiLAorICAgICJubyBpbnB1dCIsCisgICAgImJ1ZmZlciBmdWxsIiwKKyAgICAibG9hZGluZyBlcnJvciIsCisgICAgIm5vdCBhIHNvY2tldCIsCQkvKiBFTk9UU09DSyAqLworICAgICJhbHJlYWR5IGNvbm5lY3RlZCIsCS8qIEVJU0NPTk4gKi8KKyAgICAiY29ubmVjdGlvbiByZWZ1c2VkIiwJLyogRUNPTk5SRUZVU0VEICovCisgICAgInVucmVhY2hhYmxlIG5ldHdvcmsiLAkvKiBFTkVUVU5SRUFDSCAqLworICAgICJhZGRkcmVzcyBpbiB1c2UiLAkJLyogRUFERFJJTlVTRSAqLworICAgICJhbHJlYWR5IGluIHVzZSIsCQkvKiBFQUxSRUFEWSAqLworICAgICJ1bmtub3duIGFkZHJlc3MgZmFtaWxseSIsCS8qIEVBRk5PU1VQUE9SVCAqLworfTsKKworI2lmIGRlZmluZWQoX1dJTjMyKSB8fCBkZWZpbmVkIChfX0RKR1BQX18pICYmICFkZWZpbmVkIChfX0NZR1dJTl9fKQorLyoqCisgKiBfX3htbElPV2luMzJVVEY4VG9XQ2hhcjoKKyAqIEB1OFN0cmluZzogIHVmdC04IHN0cmluZworICoKKyAqIENvbnZlcnQgYSBzdHJpbmcgZnJvbSB1dGYtOCB0byB3Y2hhciAoV0lORE9XUyBPTkxZISkKKyAqLworc3RhdGljIHdjaGFyX3QgKgorX194bWxJT1dpbjMyVVRGOFRvV0NoYXIoY29uc3QgY2hhciAqdThTdHJpbmcpCit7CisgICAgd2NoYXJfdCAqd1N0cmluZyA9IE5VTEw7CisKKyAgICBpZiAodThTdHJpbmcpIHsKKyAgICAgICAgaW50IHdMZW4gPQorICAgICAgICAgICAgTXVsdGlCeXRlVG9XaWRlQ2hhcihDUF9VVEY4LCBNQl9FUlJfSU5WQUxJRF9DSEFSUywgdThTdHJpbmcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xLCBOVUxMLCAwKTsKKyAgICAgICAgaWYgKHdMZW4pIHsKKyAgICAgICAgICAgIHdTdHJpbmcgPSB4bWxNYWxsb2Mod0xlbiAqIHNpemVvZih3Y2hhcl90KSk7CisgICAgICAgICAgICBpZiAod1N0cmluZykgeworICAgICAgICAgICAgICAgIGlmIChNdWx0aUJ5dGVUb1dpZGVDaGFyCisgICAgICAgICAgICAgICAgICAgIChDUF9VVEY4LCAwLCB1OFN0cmluZywgLTEsIHdTdHJpbmcsIHdMZW4pID09IDApIHsKKyAgICAgICAgICAgICAgICAgICAgeG1sRnJlZSh3U3RyaW5nKTsKKyAgICAgICAgICAgICAgICAgICAgd1N0cmluZyA9IE5VTEw7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorCisgICAgcmV0dXJuIHdTdHJpbmc7Cit9CisjZW5kaWYKKworLyoqCisgKiB4bWxJT0Vyck1lbW9yeToKKyAqIEBleHRyYTogIGV4dHJhIGluZm9ybWF0aW9ucworICoKKyAqIEhhbmRsZSBhbiBvdXQgb2YgbWVtb3J5IGNvbmRpdGlvbgorICovCitzdGF0aWMgdm9pZAoreG1sSU9FcnJNZW1vcnkoY29uc3QgY2hhciAqZXh0cmEpCit7CisgICAgX194bWxTaW1wbGVFcnJvcihYTUxfRlJPTV9JTywgWE1MX0VSUl9OT19NRU1PUlksIE5VTEwsIE5VTEwsIGV4dHJhKTsKK30KKworLyoqCisgKiBfX3htbElPRXJyOgorICogQGNvZGU6ICB0aGUgZXJyb3IgbnVtYmVyCisgKiBACisgKiBAZXh0cmE6ICBleHRyYSBpbmZvcm1hdGlvbnMKKyAqCisgKiBIYW5kbGUgYW4gSS9PIGVycm9yCisgKi8KK3ZvaWQKK19feG1sSU9FcnIoaW50IGRvbWFpbiwgaW50IGNvZGUsIGNvbnN0IGNoYXIgKmV4dHJhKQoreworICAgIHVuc2lnbmVkIGludCBpZHg7CisKKyAgICBpZiAoY29kZSA9PSAwKSB7CisjaWZkZWYgSEFWRV9FUlJOT19ICisJaWYgKGVycm5vID09IDApIGNvZGUgPSAwOworI2lmZGVmIEVBQ0NFUworICAgICAgICBlbHNlIGlmIChlcnJubyA9PSBFQUNDRVMpIGNvZGUgPSBYTUxfSU9fRUFDQ0VTOworI2VuZGlmCisjaWZkZWYgRUFHQUlOCisgICAgICAgIGVsc2UgaWYgKGVycm5vID09IEVBR0FJTikgY29kZSA9IFhNTF9JT19FQUdBSU47CisjZW5kaWYKKyNpZmRlZiBFQkFERgorICAgICAgICBlbHNlIGlmIChlcnJubyA9PSBFQkFERikgY29kZSA9IFhNTF9JT19FQkFERjsKKyNlbmRpZgorI2lmZGVmIEVCQURNU0cKKyAgICAgICAgZWxzZSBpZiAoZXJybm8gPT0gRUJBRE1TRykgY29kZSA9IFhNTF9JT19FQkFETVNHOworI2VuZGlmCisjaWZkZWYgRUJVU1kKKyAgICAgICAgZWxzZSBpZiAoZXJybm8gPT0gRUJVU1kpIGNvZGUgPSBYTUxfSU9fRUJVU1k7CisjZW5kaWYKKyNpZmRlZiBFQ0FOQ0VMRUQKKyAgICAgICAgZWxzZSBpZiAoZXJybm8gPT0gRUNBTkNFTEVEKSBjb2RlID0gWE1MX0lPX0VDQU5DRUxFRDsKKyNlbmRpZgorI2lmZGVmIEVDSElMRAorICAgICAgICBlbHNlIGlmIChlcnJubyA9PSBFQ0hJTEQpIGNvZGUgPSBYTUxfSU9fRUNISUxEOworI2VuZGlmCisjaWZkZWYgRURFQURMSworICAgICAgICBlbHNlIGlmIChlcnJubyA9PSBFREVBRExLKSBjb2RlID0gWE1MX0lPX0VERUFETEs7CisjZW5kaWYKKyNpZmRlZiBFRE9NCisgICAgICAgIGVsc2UgaWYgKGVycm5vID09IEVET00pIGNvZGUgPSBYTUxfSU9fRURPTTsKKyNlbmRpZgorI2lmZGVmIEVFWElTVAorICAgICAgICBlbHNlIGlmIChlcnJubyA9PSBFRVhJU1QpIGNvZGUgPSBYTUxfSU9fRUVYSVNUOworI2VuZGlmCisjaWZkZWYgRUZBVUxUCisgICAgICAgIGVsc2UgaWYgKGVycm5vID09IEVGQVVMVCkgY29kZSA9IFhNTF9JT19FRkFVTFQ7CisjZW5kaWYKKyNpZmRlZiBFRkJJRworICAgICAgICBlbHNlIGlmIChlcnJubyA9PSBFRkJJRykgY29kZSA9IFhNTF9JT19FRkJJRzsKKyNlbmRpZgorI2lmZGVmIEVJTlBST0dSRVNTCisgICAgICAgIGVsc2UgaWYgKGVycm5vID09IEVJTlBST0dSRVNTKSBjb2RlID0gWE1MX0lPX0VJTlBST0dSRVNTOworI2VuZGlmCisjaWZkZWYgRUlOVFIKKyAgICAgICAgZWxzZSBpZiAoZXJybm8gPT0gRUlOVFIpIGNvZGUgPSBYTUxfSU9fRUlOVFI7CisjZW5kaWYKKyNpZmRlZiBFSU5WQUwKKyAgICAgICAgZWxzZSBpZiAoZXJybm8gPT0gRUlOVkFMKSBjb2RlID0gWE1MX0lPX0VJTlZBTDsKKyNlbmRpZgorI2lmZGVmIEVJTworICAgICAgICBlbHNlIGlmIChlcnJubyA9PSBFSU8pIGNvZGUgPSBYTUxfSU9fRUlPOworI2VuZGlmCisjaWZkZWYgRUlTRElSCisgICAgICAgIGVsc2UgaWYgKGVycm5vID09IEVJU0RJUikgY29kZSA9IFhNTF9JT19FSVNESVI7CisjZW5kaWYKKyNpZmRlZiBFTUZJTEUKKyAgICAgICAgZWxzZSBpZiAoZXJybm8gPT0gRU1GSUxFKSBjb2RlID0gWE1MX0lPX0VNRklMRTsKKyNlbmRpZgorI2lmZGVmIEVNTElOSworICAgICAgICBlbHNlIGlmIChlcnJubyA9PSBFTUxJTkspIGNvZGUgPSBYTUxfSU9fRU1MSU5LOworI2VuZGlmCisjaWZkZWYgRU1TR1NJWkUKKyAgICAgICAgZWxzZSBpZiAoZXJybm8gPT0gRU1TR1NJWkUpIGNvZGUgPSBYTUxfSU9fRU1TR1NJWkU7CisjZW5kaWYKKyNpZmRlZiBFTkFNRVRPT0xPTkcKKyAgICAgICAgZWxzZSBpZiAoZXJybm8gPT0gRU5BTUVUT09MT05HKSBjb2RlID0gWE1MX0lPX0VOQU1FVE9PTE9ORzsKKyNlbmRpZgorI2lmZGVmIEVORklMRQorICAgICAgICBlbHNlIGlmIChlcnJubyA9PSBFTkZJTEUpIGNvZGUgPSBYTUxfSU9fRU5GSUxFOworI2VuZGlmCisjaWZkZWYgRU5PREVWCisgICAgICAgIGVsc2UgaWYgKGVycm5vID09IEVOT0RFVikgY29kZSA9IFhNTF9JT19FTk9ERVY7CisjZW5kaWYKKyNpZmRlZiBFTk9FTlQKKyAgICAgICAgZWxzZSBpZiAoZXJybm8gPT0gRU5PRU5UKSBjb2RlID0gWE1MX0lPX0VOT0VOVDsKKyNlbmRpZgorI2lmZGVmIEVOT0VYRUMKKyAgICAgICAgZWxzZSBpZiAoZXJybm8gPT0gRU5PRVhFQykgY29kZSA9IFhNTF9JT19FTk9FWEVDOworI2VuZGlmCisjaWZkZWYgRU5PTENLCisgICAgICAgIGVsc2UgaWYgKGVycm5vID09IEVOT0xDSykgY29kZSA9IFhNTF9JT19FTk9MQ0s7CisjZW5kaWYKKyNpZmRlZiBFTk9NRU0KKyAgICAgICAgZWxzZSBpZiAoZXJybm8gPT0gRU5PTUVNKSBjb2RlID0gWE1MX0lPX0VOT01FTTsKKyNlbmRpZgorI2lmZGVmIEVOT1NQQworICAgICAgICBlbHNlIGlmIChlcnJubyA9PSBFTk9TUEMpIGNvZGUgPSBYTUxfSU9fRU5PU1BDOworI2VuZGlmCisjaWZkZWYgRU5PU1lTCisgICAgICAgIGVsc2UgaWYgKGVycm5vID09IEVOT1NZUykgY29kZSA9IFhNTF9JT19FTk9TWVM7CisjZW5kaWYKKyNpZmRlZiBFTk9URElSCisgICAgICAgIGVsc2UgaWYgKGVycm5vID09IEVOT1RESVIpIGNvZGUgPSBYTUxfSU9fRU5PVERJUjsKKyNlbmRpZgorI2lmZGVmIEVOT1RFTVBUWQorICAgICAgICBlbHNlIGlmIChlcnJubyA9PSBFTk9URU1QVFkpIGNvZGUgPSBYTUxfSU9fRU5PVEVNUFRZOworI2VuZGlmCisjaWZkZWYgRU5PVFNVUAorICAgICAgICBlbHNlIGlmIChlcnJubyA9PSBFTk9UU1VQKSBjb2RlID0gWE1MX0lPX0VOT1RTVVA7CisjZW5kaWYKKyNpZmRlZiBFTk9UVFkKKyAgICAgICAgZWxzZSBpZiAoZXJybm8gPT0gRU5PVFRZKSBjb2RlID0gWE1MX0lPX0VOT1RUWTsKKyNlbmRpZgorI2lmZGVmIEVOWElPCisgICAgICAgIGVsc2UgaWYgKGVycm5vID09IEVOWElPKSBjb2RlID0gWE1MX0lPX0VOWElPOworI2VuZGlmCisjaWZkZWYgRVBFUk0KKyAgICAgICAgZWxzZSBpZiAoZXJybm8gPT0gRVBFUk0pIGNvZGUgPSBYTUxfSU9fRVBFUk07CisjZW5kaWYKKyNpZmRlZiBFUElQRQorICAgICAgICBlbHNlIGlmIChlcnJubyA9PSBFUElQRSkgY29kZSA9IFhNTF9JT19FUElQRTsKKyNlbmRpZgorI2lmZGVmIEVSQU5HRQorICAgICAgICBlbHNlIGlmIChlcnJubyA9PSBFUkFOR0UpIGNvZGUgPSBYTUxfSU9fRVJBTkdFOworI2VuZGlmCisjaWZkZWYgRVJPRlMKKyAgICAgICAgZWxzZSBpZiAoZXJybm8gPT0gRVJPRlMpIGNvZGUgPSBYTUxfSU9fRVJPRlM7CisjZW5kaWYKKyNpZmRlZiBFU1BJUEUKKyAgICAgICAgZWxzZSBpZiAoZXJybm8gPT0gRVNQSVBFKSBjb2RlID0gWE1MX0lPX0VTUElQRTsKKyNlbmRpZgorI2lmZGVmIEVTUkNICisgICAgICAgIGVsc2UgaWYgKGVycm5vID09IEVTUkNIKSBjb2RlID0gWE1MX0lPX0VTUkNIOworI2VuZGlmCisjaWZkZWYgRVRJTUVET1VUCisgICAgICAgIGVsc2UgaWYgKGVycm5vID09IEVUSU1FRE9VVCkgY29kZSA9IFhNTF9JT19FVElNRURPVVQ7CisjZW5kaWYKKyNpZmRlZiBFWERFVgorICAgICAgICBlbHNlIGlmIChlcnJubyA9PSBFWERFVikgY29kZSA9IFhNTF9JT19FWERFVjsKKyNlbmRpZgorI2lmZGVmIEVOT1RTT0NLCisgICAgICAgIGVsc2UgaWYgKGVycm5vID09IEVOT1RTT0NLKSBjb2RlID0gWE1MX0lPX0VOT1RTT0NLOworI2VuZGlmCisjaWZkZWYgRUlTQ09OTgorICAgICAgICBlbHNlIGlmIChlcnJubyA9PSBFSVNDT05OKSBjb2RlID0gWE1MX0lPX0VJU0NPTk47CisjZW5kaWYKKyNpZmRlZiBFQ09OTlJFRlVTRUQKKyAgICAgICAgZWxzZSBpZiAoZXJybm8gPT0gRUNPTk5SRUZVU0VEKSBjb2RlID0gWE1MX0lPX0VDT05OUkVGVVNFRDsKKyNlbmRpZgorI2lmZGVmIEVUSU1FRE9VVAorICAgICAgICBlbHNlIGlmIChlcnJubyA9PSBFVElNRURPVVQpIGNvZGUgPSBYTUxfSU9fRVRJTUVET1VUOworI2VuZGlmCisjaWZkZWYgRU5FVFVOUkVBQ0gKKyAgICAgICAgZWxzZSBpZiAoZXJybm8gPT0gRU5FVFVOUkVBQ0gpIGNvZGUgPSBYTUxfSU9fRU5FVFVOUkVBQ0g7CisjZW5kaWYKKyNpZmRlZiBFQUREUklOVVNFCisgICAgICAgIGVsc2UgaWYgKGVycm5vID09IEVBRERSSU5VU0UpIGNvZGUgPSBYTUxfSU9fRUFERFJJTlVTRTsKKyNlbmRpZgorI2lmZGVmIEVJTlBST0dSRVNTCisgICAgICAgIGVsc2UgaWYgKGVycm5vID09IEVJTlBST0dSRVNTKSBjb2RlID0gWE1MX0lPX0VJTlBST0dSRVNTOworI2VuZGlmCisjaWZkZWYgRUFMUkVBRFkKKyAgICAgICAgZWxzZSBpZiAoZXJybm8gPT0gRUFMUkVBRFkpIGNvZGUgPSBYTUxfSU9fRUFMUkVBRFk7CisjZW5kaWYKKyNpZmRlZiBFQUZOT1NVUFBPUlQKKyAgICAgICAgZWxzZSBpZiAoZXJybm8gPT0gRUFGTk9TVVBQT1JUKSBjb2RlID0gWE1MX0lPX0VBRk5PU1VQUE9SVDsKKyNlbmRpZgorICAgICAgICBlbHNlIGNvZGUgPSBYTUxfSU9fVU5LTk9XTjsKKyNlbmRpZiAvKiBIQVZFX0VSUk5PX0ggKi8KKyAgICB9CisgICAgaWR4ID0gMDsKKyAgICBpZiAoY29kZSA+PSBYTUxfSU9fVU5LTk9XTikgaWR4ID0gY29kZSAtIFhNTF9JT19VTktOT1dOOworICAgIGlmIChpZHggPj0gKHNpemVvZihJT2VycikgLyBzaXplb2YoSU9lcnJbMF0pKSkgaWR4ID0gMDsKKworICAgIF9feG1sU2ltcGxlRXJyb3IoZG9tYWluLCBjb2RlLCBOVUxMLCBJT2VycltpZHhdLCBleHRyYSk7Cit9CisKKy8qKgorICogeG1sSU9FcnI6CisgKiBAY29kZTogIHRoZSBlcnJvciBudW1iZXIKKyAqIEBleHRyYTogIGV4dHJhIGluZm9ybWF0aW9ucworICoKKyAqIEhhbmRsZSBhbiBJL08gZXJyb3IKKyAqLworc3RhdGljIHZvaWQKK3htbElPRXJyKGludCBjb2RlLCBjb25zdCBjaGFyICpleHRyYSkKK3sKKyAgICBfX3htbElPRXJyKFhNTF9GUk9NX0lPLCBjb2RlLCBleHRyYSk7Cit9CisKKy8qKgorICogX194bWxMb2FkZXJFcnI6CisgKiBAY3R4OiB0aGUgcGFyc2VyIGNvbnRleHQKKyAqIEBleHRyYTogIGV4dHJhIGluZm9ybWF0aW9ucworICoKKyAqIEhhbmRsZSBhIHJlc291cmNlIGFjY2VzcyBlcnJvcgorICovCit2b2lkCitfX3htbExvYWRlckVycih2b2lkICpjdHgsIGNvbnN0IGNoYXIgKm1zZywgY29uc3QgY2hhciAqZmlsZW5hbWUpCit7CisgICAgeG1sUGFyc2VyQ3R4dFB0ciBjdHh0ID0gKHhtbFBhcnNlckN0eHRQdHIpIGN0eDsKKyAgICB4bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jIHNjaGFubmVsID0gTlVMTDsKKyAgICB4bWxHZW5lcmljRXJyb3JGdW5jIGNoYW5uZWwgPSBOVUxMOworICAgIHZvaWQgKmRhdGEgPSBOVUxMOworICAgIHhtbEVycm9yTGV2ZWwgbGV2ZWwgPSBYTUxfRVJSX0VSUk9SOworCisgICAgaWYgKChjdHh0ICE9IE5VTEwpICYmIChjdHh0LT5kaXNhYmxlU0FYICE9IDApICYmCisgICAgICAgIChjdHh0LT5pbnN0YXRlID09IFhNTF9QQVJTRVJfRU9GKSkKKwlyZXR1cm47CisgICAgaWYgKChjdHh0ICE9IE5VTEwpICYmIChjdHh0LT5zYXggIT0gTlVMTCkpIHsKKyAgICAgICAgaWYgKGN0eHQtPnZhbGlkYXRlKSB7CisJICAgIGNoYW5uZWwgPSBjdHh0LT5zYXgtPmVycm9yOworCSAgICBsZXZlbCA9IFhNTF9FUlJfRVJST1I7CisJfSBlbHNlIHsKKwkgICAgY2hhbm5lbCA9IGN0eHQtPnNheC0+d2FybmluZzsKKwkgICAgbGV2ZWwgPSBYTUxfRVJSX1dBUk5JTkc7CisJfQorCWlmIChjdHh0LT5zYXgtPmluaXRpYWxpemVkID09IFhNTF9TQVgyX01BR0lDKQorCSAgICBzY2hhbm5lbCA9IGN0eHQtPnNheC0+c2Vycm9yOworCWRhdGEgPSBjdHh0LT51c2VyRGF0YTsKKyAgICB9CisgICAgX194bWxSYWlzZUVycm9yKHNjaGFubmVsLCBjaGFubmVsLCBkYXRhLCBjdHh0LCBOVUxMLCBYTUxfRlJPTV9JTywKKyAgICAgICAgICAgICAgICAgICAgWE1MX0lPX0xPQURfRVJST1IsIGxldmVsLCBOVUxMLCAwLAorCQkgICAgZmlsZW5hbWUsIE5VTEwsIE5VTEwsIDAsIDAsCisJCSAgICBtc2csIGZpbGVuYW1lKTsKKworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQlUcmVlIG1lbW9yeSBlcnJvciBoYW5kbGVyCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qKgorICogeG1sTm9ybWFsaXplV2luZG93c1BhdGg6CisgKiBAcGF0aDogdGhlIGlucHV0IGZpbGUgcGF0aAorICoKKyAqIFRoaXMgZnVuY3Rpb24gaXMgb2Jzb2xldGUuIFBsZWFzZSBzZWUgeG1sVVJJRnJvbVBhdGggaW4gdXJpLmMgZm9yCisgKiBhIGJldHRlciBzb2x1dGlvbi4KKyAqCisgKiBSZXR1cm5zIGEgY2Fub25pY2FsaXplZCB2ZXJzaW9uIG9mIHRoZSBwYXRoCisgKi8KK3htbENoYXIgKgoreG1sTm9ybWFsaXplV2luZG93c1BhdGgoY29uc3QgeG1sQ2hhciAqcGF0aCkKK3sKKyAgICByZXR1cm4geG1sQ2Fub25pY1BhdGgocGF0aCk7Cit9CisKKy8qKgorICogeG1sQ2xlYW51cElucHV0Q2FsbGJhY2tzOgorICoKKyAqIGNsZWFycyB0aGUgZW50aXJlIGlucHV0IGNhbGxiYWNrIHRhYmxlLiB0aGlzIGluY2x1ZGVzIHRoZQorICogY29tcGlsZWQtaW4gSS9PLgorICovCit2b2lkCit4bWxDbGVhbnVwSW5wdXRDYWxsYmFja3Modm9pZCkKK3sKKyAgICBpbnQgaTsKKworICAgIGlmICgheG1sSW5wdXRDYWxsYmFja0luaXRpYWxpemVkKQorICAgICAgICByZXR1cm47CisKKyAgICBmb3IgKGkgPSB4bWxJbnB1dENhbGxiYWNrTnIgLSAxOyBpID49IDA7IGktLSkgeworICAgICAgICB4bWxJbnB1dENhbGxiYWNrVGFibGVbaV0ubWF0Y2hjYWxsYmFjayA9IE5VTEw7CisgICAgICAgIHhtbElucHV0Q2FsbGJhY2tUYWJsZVtpXS5vcGVuY2FsbGJhY2sgPSBOVUxMOworICAgICAgICB4bWxJbnB1dENhbGxiYWNrVGFibGVbaV0ucmVhZGNhbGxiYWNrID0gTlVMTDsKKyAgICAgICAgeG1sSW5wdXRDYWxsYmFja1RhYmxlW2ldLmNsb3NlY2FsbGJhY2sgPSBOVUxMOworICAgIH0KKworICAgIHhtbElucHV0Q2FsbGJhY2tOciA9IDA7CisgICAgeG1sSW5wdXRDYWxsYmFja0luaXRpYWxpemVkID0gMDsKK30KKworLyoqCisgKiB4bWxQb3BJbnB1dENhbGxiYWNrczoKKyAqCisgKiBDbGVhciB0aGUgdG9wIGlucHV0IGNhbGxiYWNrIGZyb20gdGhlIGlucHV0IHN0YWNrLiB0aGlzIGluY2x1ZGVzIHRoZQorICogY29tcGlsZWQtaW4gSS9PLgorICoKKyAqIFJldHVybnMgdGhlIG51bWJlciBvZiBpbnB1dCBjYWxsYmFjayByZWdpc3RlcmVkIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludAoreG1sUG9wSW5wdXRDYWxsYmFja3Modm9pZCkKK3sKKyAgICBpZiAoIXhtbElucHV0Q2FsbGJhY2tJbml0aWFsaXplZCkKKyAgICAgICAgcmV0dXJuKC0xKTsKKworICAgIGlmICh4bWxJbnB1dENhbGxiYWNrTnIgPD0gMCkKKyAgICAgICAgcmV0dXJuKC0xKTsKKworICAgIHhtbElucHV0Q2FsbGJhY2tOci0tOworICAgIHhtbElucHV0Q2FsbGJhY2tUYWJsZVt4bWxJbnB1dENhbGxiYWNrTnJdLm1hdGNoY2FsbGJhY2sgPSBOVUxMOworICAgIHhtbElucHV0Q2FsbGJhY2tUYWJsZVt4bWxJbnB1dENhbGxiYWNrTnJdLm9wZW5jYWxsYmFjayA9IE5VTEw7CisgICAgeG1sSW5wdXRDYWxsYmFja1RhYmxlW3htbElucHV0Q2FsbGJhY2tOcl0ucmVhZGNhbGxiYWNrID0gTlVMTDsKKyAgICB4bWxJbnB1dENhbGxiYWNrVGFibGVbeG1sSW5wdXRDYWxsYmFja05yXS5jbG9zZWNhbGxiYWNrID0gTlVMTDsKKworICAgIHJldHVybih4bWxJbnB1dENhbGxiYWNrTnIpOworfQorCisjaWZkZWYgTElCWE1MX09VVFBVVF9FTkFCTEVECisvKioKKyAqIHhtbENsZWFudXBPdXRwdXRDYWxsYmFja3M6CisgKgorICogY2xlYXJzIHRoZSBlbnRpcmUgb3V0cHV0IGNhbGxiYWNrIHRhYmxlLiB0aGlzIGluY2x1ZGVzIHRoZQorICogY29tcGlsZWQtaW4gSS9PIGNhbGxiYWNrcy4KKyAqLwordm9pZAoreG1sQ2xlYW51cE91dHB1dENhbGxiYWNrcyh2b2lkKQoreworICAgIGludCBpOworCisgICAgaWYgKCF4bWxPdXRwdXRDYWxsYmFja0luaXRpYWxpemVkKQorICAgICAgICByZXR1cm47CisKKyAgICBmb3IgKGkgPSB4bWxPdXRwdXRDYWxsYmFja05yIC0gMTsgaSA+PSAwOyBpLS0pIHsKKyAgICAgICAgeG1sT3V0cHV0Q2FsbGJhY2tUYWJsZVtpXS5tYXRjaGNhbGxiYWNrID0gTlVMTDsKKyAgICAgICAgeG1sT3V0cHV0Q2FsbGJhY2tUYWJsZVtpXS5vcGVuY2FsbGJhY2sgPSBOVUxMOworICAgICAgICB4bWxPdXRwdXRDYWxsYmFja1RhYmxlW2ldLndyaXRlY2FsbGJhY2sgPSBOVUxMOworICAgICAgICB4bWxPdXRwdXRDYWxsYmFja1RhYmxlW2ldLmNsb3NlY2FsbGJhY2sgPSBOVUxMOworICAgIH0KKworICAgIHhtbE91dHB1dENhbGxiYWNrTnIgPSAwOworICAgIHhtbE91dHB1dENhbGxiYWNrSW5pdGlhbGl6ZWQgPSAwOworfQorI2VuZGlmIC8qIExJQlhNTF9PVVRQVVRfRU5BQkxFRCAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQlTdGFuZGFyZCBJL08gZm9yIGZpbGUgYWNjZXNzZXMJCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWYgZGVmaW5lZChfV0lOMzIpIHx8IGRlZmluZWQgKF9fREpHUFBfXykgJiYgIWRlZmluZWQgKF9fQ1lHV0lOX18pCisKKy8qKgorICogIHhtbFdyYXBPcGVuVXRmODoKKyAqIEBwYXRoOiAgdGhlIHBhdGggaW4gdXRmLTggZW5jb2RpbmcKKyAqIEBtb2RlOiAgdHlwZSBvZiBhY2Nlc3MgKDAgLSByZWFkLCAxIC0gd3JpdGUpCisgKgorICogZnVuY3Rpb24gb3BlbnMgdGhlIGZpbGUgc3BlY2lmaWVkIGJ5IEBwYXRoCisgKgorICovCitzdGF0aWMgRklMRSoKK3htbFdyYXBPcGVuVXRmOChjb25zdCBjaGFyICpwYXRoLGludCBtb2RlKQoreworICAgIEZJTEUgKmZkID0gTlVMTDsKKyAgICB3Y2hhcl90ICp3UGF0aDsKKworICAgIHdQYXRoID0gX194bWxJT1dpbjMyVVRGOFRvV0NoYXIocGF0aCk7CisgICAgaWYod1BhdGgpCisgICAgeworICAgICAgIGZkID0gX3dmb3Blbih3UGF0aCwgbW9kZSA/IEwid2IiIDogTCJyYiIpOworICAgICAgIHhtbEZyZWUod1BhdGgpOworICAgIH0KKyAgICAvKiBtYXliZSBwYXRoIGluIG5hdGl2ZSBlbmNvZGluZyAqLworICAgIGlmKGZkID09IE5VTEwpCisgICAgICAgZmQgPSBmb3BlbihwYXRoLCBtb2RlID8gIndiIiA6ICJyYiIpOworCisgICAgcmV0dXJuIGZkOworfQorCisjaWZkZWYgSEFWRV9aTElCX0gKK3N0YXRpYyBnekZpbGUKK3htbFdyYXBHek9wZW5VdGY4KGNvbnN0IGNoYXIgKnBhdGgsIGNvbnN0IGNoYXIgKm1vZGUpCit7CisgICAgZ3pGaWxlIGZkOworICAgIHdjaGFyX3QgKndQYXRoOworCisgICAgZmQgPSBnem9wZW4gKHBhdGgsIG1vZGUpOworICAgIGlmIChmZCkKKyAgICAgICAgcmV0dXJuIGZkOworCisgICAgd1BhdGggPSBfX3htbElPV2luMzJVVEY4VG9XQ2hhcihwYXRoKTsKKyAgICBpZih3UGF0aCkKKyAgICB7CisJaW50IGQsIG0gPSAoc3Ryc3RyKG1vZGUsICJyIikgPyBPX1JET05MWSA6IE9fUkRXUik7CisjaWZkZWYgX09fQklOQVJZCisgICAgICAgIG0gfD0gKHN0cnN0cihtb2RlLCAiYiIpID8gX09fQklOQVJZIDogMCk7CisjZW5kaWYKKwlkID0gX3dvcGVuKHdQYXRoLCBtKTsKKwlpZiAoZCA+PSAwKQorCSAgICBmZCA9IGd6ZG9wZW4oZCwgbW9kZSk7CisgICAgICAgIHhtbEZyZWUod1BhdGgpOworICAgIH0KKworICAgIHJldHVybiBmZDsKK30KKyNlbmRpZgorCisvKioKKyAqICB4bWxXcmFwU3RhdFV0Zjg6CisgKiBAcGF0aDogIHRoZSBwYXRoIGluIHV0Zi04IGVuY29kaW5nCisgKiBAaW5mbzogIHN0cnVjdHVyZSB0aGF0IHN0b3JlcyByZXN1bHRzCisgKgorICogZnVuY3Rpb24gb2J0YWlucyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgZmlsZSBvciBkaXJlY3RvcnkKKyAqCisgKi8KK3N0YXRpYyBpbnQKK3htbFdyYXBTdGF0VXRmOChjb25zdCBjaGFyICpwYXRoLHN0cnVjdCBzdGF0ICppbmZvKQoreworI2lmZGVmIEhBVkVfU1RBVAorICAgIGludCByZXR2YWwgPSAtMTsKKyAgICB3Y2hhcl90ICp3UGF0aDsKKworICAgIHdQYXRoID0gX194bWxJT1dpbjMyVVRGOFRvV0NoYXIocGF0aCk7CisgICAgaWYgKHdQYXRoKQorICAgIHsKKyAgICAgICByZXR2YWwgPSBfd3N0YXQod1BhdGgsaW5mbyk7CisgICAgICAgeG1sRnJlZSh3UGF0aCk7CisgICAgfQorICAgIC8qIG1heWJlIHBhdGggaW4gbmF0aXZlIGVuY29kaW5nICovCisgICAgaWYocmV0dmFsIDwgMCkKKyAgICAgICByZXR2YWwgPSBzdGF0KHBhdGgsaW5mbyk7CisgICAgcmV0dXJuIHJldHZhbDsKKyNlbHNlCisgICAgcmV0dXJuIC0xOworI2VuZGlmCit9CisKKy8qKgorICogIHhtbFdyYXBPcGVuTmF0aXZlOgorICogQHBhdGg6ICB0aGUgcGF0aAorICogQG1vZGU6ICB0eXBlIG9mIGFjY2VzcyAoMCAtIHJlYWQsIDEgLSB3cml0ZSkKKyAqCisgKiBmdW5jdGlvbiBvcGVucyB0aGUgZmlsZSBzcGVjaWZpZWQgYnkgQHBhdGgKKyAqCisgKi8KK3N0YXRpYyBGSUxFKgoreG1sV3JhcE9wZW5OYXRpdmUoY29uc3QgY2hhciAqcGF0aCxpbnQgbW9kZSkKK3sKKyAgICByZXR1cm4gZm9wZW4ocGF0aCxtb2RlID8gIndiIiA6ICJyYiIpOworfQorCisvKioKKyAqICB4bWxXcmFwU3RhdE5hdGl2ZToKKyAqIEBwYXRoOiAgdGhlIHBhdGgKKyAqIEBpbmZvOiAgc3RydWN0dXJlIHRoYXQgc3RvcmVzIHJlc3VsdHMKKyAqCisgKiBmdW5jdGlvbiBvYnRhaW5zIGluZm9ybWF0aW9uIGFib3V0IHRoZSBmaWxlIG9yIGRpcmVjdG9yeQorICoKKyAqLworc3RhdGljIGludAoreG1sV3JhcFN0YXROYXRpdmUoY29uc3QgY2hhciAqcGF0aCxzdHJ1Y3Qgc3RhdCAqaW5mbykKK3sKKyNpZmRlZiBIQVZFX1NUQVQKKyAgICByZXR1cm4gc3RhdChwYXRoLGluZm8pOworI2Vsc2UKKyAgICByZXR1cm4gLTE7CisjZW5kaWYKK30KKwordHlwZWRlZiBpbnQgKCogeG1sV3JhcFN0YXRGdW5jKSAoY29uc3QgY2hhciAqZiwgc3RydWN0IHN0YXQgKnMpOworc3RhdGljIHhtbFdyYXBTdGF0RnVuYyB4bWxXcmFwU3RhdCA9IHhtbFdyYXBTdGF0TmF0aXZlOwordHlwZWRlZiBGSUxFKiAoKiB4bWxXcmFwT3BlbkZ1bmMpKGNvbnN0IGNoYXIgKmYsaW50IG1vZGUpOworc3RhdGljIHhtbFdyYXBPcGVuRnVuYyB4bWxXcmFwT3BlbiA9IHhtbFdyYXBPcGVuTmF0aXZlOworI2lmZGVmIEhBVkVfWkxJQl9ICit0eXBlZGVmIGd6RmlsZSAoKiB4bWxXcmFwR3pPcGVuRnVuYykgKGNvbnN0IGNoYXIgKmYsIGNvbnN0IGNoYXIgKm1vZGUpOworc3RhdGljIHhtbFdyYXBHek9wZW5GdW5jIHhtbFdyYXBHek9wZW4gPSBnem9wZW47CisjZW5kaWYKKy8qKgorICogeG1sSW5pdFBsYXRmb3JtU3BlY2lmaWNJbzoKKyAqCisgKiBJbml0aWFsaXplIHBsYXRmb3JtIHNwZWNpZmljIGZlYXR1cmVzLgorICovCitzdGF0aWMgdm9pZAoreG1sSW5pdFBsYXRmb3JtU3BlY2lmaWNJbyh2b2lkKQoreworICAgIHN0YXRpYyBpbnQgeG1sUGxhdGZvcm1Jb0luaXRpYWxpemVkID0gMDsKKyAgICBPU1ZFUlNJT05JTkZPIG9zdmk7CisKKyAgICBpZih4bWxQbGF0Zm9ybUlvSW5pdGlhbGl6ZWQpCisgICAgICByZXR1cm47CisKKyAgICBvc3ZpLmR3T1NWZXJzaW9uSW5mb1NpemUgPSBzaXplb2Yob3N2aSk7CisKKyAgICBpZihHZXRWZXJzaW9uRXgoJm9zdmkpICYmIChvc3ZpLmR3UGxhdGZvcm1JZCA9PSBWRVJfUExBVEZPUk1fV0lOMzJfTlQpKSB7CisgICAgICB4bWxXcmFwU3RhdCA9IHhtbFdyYXBTdGF0VXRmODsKKyAgICAgIHhtbFdyYXBPcGVuID0geG1sV3JhcE9wZW5VdGY4OworI2lmZGVmIEhBVkVfWkxJQl9ICisgICAgICB4bWxXcmFwR3pPcGVuID0geG1sV3JhcEd6T3BlblV0Zjg7CisjZW5kaWYKKyAgICB9IGVsc2UgeworICAgICAgeG1sV3JhcFN0YXQgPSB4bWxXcmFwU3RhdE5hdGl2ZTsKKyAgICAgIHhtbFdyYXBPcGVuID0geG1sV3JhcE9wZW5OYXRpdmU7CisjaWZkZWYgSEFWRV9aTElCX0gKKyAgICAgIHhtbFdyYXBHek9wZW4gPSBnem9wZW47CisjZW5kaWYKKyAgICB9CisKKyAgICB4bWxQbGF0Zm9ybUlvSW5pdGlhbGl6ZWQgPSAxOworICAgIHJldHVybjsKK30KKworI2VuZGlmCisKKy8qKgorICogeG1sQ2hlY2tGaWxlbmFtZToKKyAqIEBwYXRoOiAgdGhlIHBhdGggdG8gY2hlY2sKKyAqCisgKiBmdW5jdGlvbiBjaGVja3MgdG8gc2VlIGlmIEBwYXRoIGlzIGEgdmFsaWQgc291cmNlCisgKiAoZmlsZSwgc29ja2V0Li4uKSBmb3IgWE1MLgorICoKKyAqIGlmIHN0YXQgaXMgbm90IGF2YWlsYWJsZSBvbiB0aGUgdGFyZ2V0IG1hY2hpbmUsCisgKiByZXR1cm5zIDEuICBpZiBzdGF0IGZhaWxzLCByZXR1cm5zIDAgKGlmIGNhbGxpbmcKKyAqIHN0YXQgb24gdGhlIGZpbGVuYW1lIGZhaWxzLCBpdCBjYW4ndCBiZSByaWdodCkuCisgKiBpZiBzdGF0IHN1Y2NlZWRzIGFuZCB0aGUgZmlsZSBpcyBhIGRpcmVjdG9yeSwKKyAqIHJldHVybnMgMi4gIG90aGVyd2lzZSByZXR1cm5zIDEuCisgKi8KKworaW50Cit4bWxDaGVja0ZpbGVuYW1lIChjb25zdCBjaGFyICpwYXRoKQoreworI2lmZGVmIEhBVkVfU1RBVAorICAgIHN0cnVjdCBzdGF0IHN0YXRfYnVmZmVyOworI2VuZGlmCisgICAgaWYgKHBhdGggPT0gTlVMTCkKKwlyZXR1cm4oMCk7CisKKyNpZmRlZiBIQVZFX1NUQVQKKyNpZiBkZWZpbmVkKF9XSU4zMikgfHwgZGVmaW5lZCAoX19ESkdQUF9fKSAmJiAhZGVmaW5lZCAoX19DWUdXSU5fXykKKyAgICAvKgorICAgICAqIE9uIFdpbmRvd3Mgc3RhdCBhbmQgd3N0YXQgZG8gbm90IHdvcmsgd2l0aCBsb25nIHBhdGhuYW1lLAorICAgICAqIHdoaWNoIHN0YXJ0IHdpdGggJ1xcP1wnCisgICAgICovCisgICAgaWYgKChwYXRoWzBdID09ICdcXCcpICYmIChwYXRoWzFdID09ICdcXCcpICYmIChwYXRoWzJdID09ICc/JykgJiYKKwkocGF0aFszXSA9PSAnXFwnKSApCisJICAgIHJldHVybiAxOworCisgICAgaWYgKHhtbFdyYXBTdGF0KHBhdGgsICZzdGF0X2J1ZmZlcikgPT0gLTEpCisgICAgICAgIHJldHVybiAwOworI2Vsc2UKKyAgICBpZiAoc3RhdChwYXRoLCAmc3RhdF9idWZmZXIpID09IC0xKQorICAgICAgICByZXR1cm4gMDsKKyNlbmRpZgorI2lmZGVmIFNfSVNESVIKKyAgICBpZiAoU19JU0RJUihzdGF0X2J1ZmZlci5zdF9tb2RlKSkKKyAgICAgICAgcmV0dXJuIDI7CisjZW5kaWYKKyNlbmRpZiAvKiBIQVZFX1NUQVQgKi8KKyAgICByZXR1cm4gMTsKK30KKworLyoqCisgKiB4bWxOb3A6CisgKgorICogTm8gT3BlcmF0aW9uIGZ1bmN0aW9uLCBkb2VzIG5vdGhpbmcsIG5vIGlucHV0CisgKgorICogUmV0dXJucyB6ZXJvCisgKi8KK2ludAoreG1sTm9wKHZvaWQpIHsKKyAgICByZXR1cm4oMCk7Cit9CisKKy8qKgorICogeG1sRmRSZWFkOgorICogQGNvbnRleHQ6ICB0aGUgSS9PIGNvbnRleHQKKyAqIEBidWZmZXI6ICB3aGVyZSB0byBkcm9wIGRhdGEKKyAqIEBsZW46ICBudW1iZXIgb2YgYnl0ZXMgdG8gcmVhZAorICoKKyAqIFJlYWQgQGxlbiBieXRlcyB0byBAYnVmZmVyIGZyb20gdGhlIEkvTyBjaGFubmVsLgorICoKKyAqIFJldHVybnMgdGhlIG51bWJlciBvZiBieXRlcyB3cml0dGVuCisgKi8KK3N0YXRpYyBpbnQKK3htbEZkUmVhZCAodm9pZCAqIGNvbnRleHQsIGNoYXIgKiBidWZmZXIsIGludCBsZW4pIHsKKyAgICBpbnQgcmV0OworCisgICAgcmV0ID0gcmVhZCgoaW50KSAobG9uZykgY29udGV4dCwgJmJ1ZmZlclswXSwgbGVuKTsKKyAgICBpZiAocmV0IDwgMCkgeG1sSU9FcnIoMCwgInJlYWQoKSIpOworICAgIHJldHVybihyZXQpOworfQorCisjaWZkZWYgTElCWE1MX09VVFBVVF9FTkFCTEVECisvKioKKyAqIHhtbEZkV3JpdGU6CisgKiBAY29udGV4dDogIHRoZSBJL08gY29udGV4dAorICogQGJ1ZmZlcjogIHdoZXJlIHRvIGdldCBkYXRhCisgKiBAbGVuOiAgbnVtYmVyIG9mIGJ5dGVzIHRvIHdyaXRlCisgKgorICogV3JpdGUgQGxlbiBieXRlcyBmcm9tIEBidWZmZXIgdG8gdGhlIEkvTyBjaGFubmVsLgorICoKKyAqIFJldHVybnMgdGhlIG51bWJlciBvZiBieXRlcyB3cml0dGVuCisgKi8KK3N0YXRpYyBpbnQKK3htbEZkV3JpdGUgKHZvaWQgKiBjb250ZXh0LCBjb25zdCBjaGFyICogYnVmZmVyLCBpbnQgbGVuKSB7CisgICAgaW50IHJldCA9IDA7CisKKyAgICBpZiAobGVuID4gMCkgeworCXJldCA9IHdyaXRlKChpbnQpIChsb25nKSBjb250ZXh0LCAmYnVmZmVyWzBdLCBsZW4pOworCWlmIChyZXQgPCAwKSB4bWxJT0VycigwLCAid3JpdGUoKSIpOworICAgIH0KKyAgICByZXR1cm4ocmV0KTsKK30KKyNlbmRpZiAvKiBMSUJYTUxfT1VUUFVUX0VOQUJMRUQgKi8KKworLyoqCisgKiB4bWxGZENsb3NlOgorICogQGNvbnRleHQ6ICB0aGUgSS9PIGNvbnRleHQKKyAqCisgKiBDbG9zZSBhbiBJL08gY2hhbm5lbAorICoKKyAqIFJldHVybnMgMCBpbiBjYXNlIG9mIHN1Y2Nlc3MgYW5kIGVycm9yIGNvZGUgb3RoZXJ3aXNlCisgKi8KK3N0YXRpYyBpbnQKK3htbEZkQ2xvc2UgKHZvaWQgKiBjb250ZXh0KSB7CisgICAgaW50IHJldDsKKyAgICByZXQgPSBjbG9zZSgoaW50KSAobG9uZykgY29udGV4dCk7CisgICAgaWYgKHJldCA8IDApIHhtbElPRXJyKDAsICJjbG9zZSgpIik7CisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogeG1sRmlsZU1hdGNoOgorICogQGZpbGVuYW1lOiAgdGhlIFVSSSBmb3IgbWF0Y2hpbmcKKyAqCisgKiBpbnB1dCBmcm9tIEZJTEUgKgorICoKKyAqIFJldHVybnMgMSBpZiBtYXRjaGVzLCAwIG90aGVyd2lzZQorICovCitpbnQKK3htbEZpbGVNYXRjaCAoY29uc3QgY2hhciAqZmlsZW5hbWUgQVRUUklCVVRFX1VOVVNFRCkgeworICAgIHJldHVybigxKTsKK30KKworLyoqCisgKiB4bWxGaWxlT3Blbl9yZWFsOgorICogQGZpbGVuYW1lOiAgdGhlIFVSSSBmb3IgbWF0Y2hpbmcKKyAqCisgKiBpbnB1dCBmcm9tIEZJTEUgKiwgc3VwcG9ydHMgY29tcHJlc3NlZCBpbnB1dAorICogaWYgQGZpbGVuYW1lIGlzICIgIiB0aGVuIHRoZSBzdGFuZGFyZCBpbnB1dCBpcyB1c2VkCisgKgorICogUmV0dXJucyBhbiBJL08gY29udGV4dCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworc3RhdGljIHZvaWQgKgoreG1sRmlsZU9wZW5fcmVhbCAoY29uc3QgY2hhciAqZmlsZW5hbWUpIHsKKyAgICBjb25zdCBjaGFyICpwYXRoID0gZmlsZW5hbWU7CisgICAgRklMRSAqZmQ7CisKKyAgICBpZiAoZmlsZW5hbWUgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuKE5VTEwpOworCisgICAgaWYgKCFzdHJjbXAoZmlsZW5hbWUsICItIikpIHsKKwlmZCA9IHN0ZGluOworCXJldHVybigodm9pZCAqKSBmZCk7CisgICAgfQorCisgICAgaWYgKCF4bWxTdHJuY2FzZWNtcChCQURfQ0FTVCBmaWxlbmFtZSwgQkFEX0NBU1QgImZpbGU6Ly9sb2NhbGhvc3QvIiwgMTcpKSB7CisjaWYgZGVmaW5lZCAoX1dJTjMyKSB8fCBkZWZpbmVkIChfX0RKR1BQX18pICYmICFkZWZpbmVkKF9fQ1lHV0lOX18pCisJcGF0aCA9ICZmaWxlbmFtZVsxN107CisjZWxzZQorCXBhdGggPSAmZmlsZW5hbWVbMTZdOworI2VuZGlmCisgICAgfSBlbHNlIGlmICgheG1sU3RybmNhc2VjbXAoQkFEX0NBU1QgZmlsZW5hbWUsIEJBRF9DQVNUICJmaWxlOi8vLyIsIDgpKSB7CisjaWYgZGVmaW5lZCAoX1dJTjMyKSB8fCBkZWZpbmVkIChfX0RKR1BQX18pICYmICFkZWZpbmVkKF9fQ1lHV0lOX18pCisJcGF0aCA9ICZmaWxlbmFtZVs4XTsKKyNlbHNlCisJcGF0aCA9ICZmaWxlbmFtZVs3XTsKKyNlbmRpZgorICAgIH0gZWxzZSBpZiAoIXhtbFN0cm5jYXNlY21wKEJBRF9DQVNUIGZpbGVuYW1lLCBCQURfQ0FTVCAiZmlsZTovIiwgNikpIHsKKyAgICAgICAgLyogbG90cyBvZiBnZW5lcmF0b3JzIHNlZW1zIHRvIGxhenkgdG8gcmVhZCBSRkMgMTczOCAqLworI2lmIGRlZmluZWQgKF9XSU4zMikgfHwgZGVmaW5lZCAoX19ESkdQUF9fKSAmJiAhZGVmaW5lZChfX0NZR1dJTl9fKQorCXBhdGggPSAmZmlsZW5hbWVbNl07CisjZWxzZQorCXBhdGggPSAmZmlsZW5hbWVbNV07CisjZW5kaWYKKyAgICB9CisKKyAgICBpZiAoIXhtbENoZWNrRmlsZW5hbWUocGF0aCkpCisgICAgICAgIHJldHVybihOVUxMKTsKKworI2lmIGRlZmluZWQoX1dJTjMyKSB8fCBkZWZpbmVkIChfX0RKR1BQX18pICYmICFkZWZpbmVkIChfX0NZR1dJTl9fKQorICAgIGZkID0geG1sV3JhcE9wZW4ocGF0aCwgMCk7CisjZWxzZQorICAgIGZkID0gZm9wZW4ocGF0aCwgInIiKTsKKyNlbmRpZiAvKiBXSU4zMiAqLworICAgIGlmIChmZCA9PSBOVUxMKSB4bWxJT0VycigwLCBwYXRoKTsKKyAgICByZXR1cm4oKHZvaWQgKikgZmQpOworfQorCisvKioKKyAqIHhtbEZpbGVPcGVuOgorICogQGZpbGVuYW1lOiAgdGhlIFVSSSBmb3IgbWF0Y2hpbmcKKyAqCisgKiBXcmFwcGVyIGFyb3VuZCB4bWxGaWxlT3Blbl9yZWFsIHRoYXQgdHJ5IGl0IHdpdGggYW4gdW5lc2NhcGVkCisgKiB2ZXJzaW9uIG9mIEBmaWxlbmFtZSwgaWYgdGhpcyBmYWlscyBmYWxsYmFjayB0byBAZmlsZW5hbWUKKyAqCisgKiBSZXR1cm5zIGEgaGFuZGxlciBvciBOVUxMIGluIGNhc2Ugb3IgZmFpbHVyZQorICovCit2b2lkICoKK3htbEZpbGVPcGVuIChjb25zdCBjaGFyICpmaWxlbmFtZSkgeworICAgIGNoYXIgKnVuZXNjYXBlZDsKKyAgICB2b2lkICpyZXR2YWw7CisKKyAgICByZXR2YWwgPSB4bWxGaWxlT3Blbl9yZWFsKGZpbGVuYW1lKTsKKyAgICBpZiAocmV0dmFsID09IE5VTEwpIHsKKwl1bmVzY2FwZWQgPSB4bWxVUklVbmVzY2FwZVN0cmluZyhmaWxlbmFtZSwgMCwgTlVMTCk7CisJaWYgKHVuZXNjYXBlZCAhPSBOVUxMKSB7CisJICAgIHJldHZhbCA9IHhtbEZpbGVPcGVuX3JlYWwodW5lc2NhcGVkKTsKKwkgICAgeG1sRnJlZSh1bmVzY2FwZWQpOworCX0KKyAgICB9CisKKyAgICByZXR1cm4gcmV0dmFsOworfQorCisjaWZkZWYgTElCWE1MX09VVFBVVF9FTkFCTEVECisvKioKKyAqIHhtbEZpbGVPcGVuVzoKKyAqIEBmaWxlbmFtZTogIHRoZSBVUkkgZm9yIG1hdGNoaW5nCisgKgorICogb3V0cHV0IHRvIGZyb20gRklMRSAqLAorICogaWYgQGZpbGVuYW1lIGlzICItIiB0aGVuIHRoZSBzdGFuZGFyZCBvdXRwdXQgaXMgdXNlZAorICoKKyAqIFJldHVybnMgYW4gSS9PIGNvbnRleHQgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3N0YXRpYyB2b2lkICoKK3htbEZpbGVPcGVuVyAoY29uc3QgY2hhciAqZmlsZW5hbWUpIHsKKyAgICBjb25zdCBjaGFyICpwYXRoID0gTlVMTDsKKyAgICBGSUxFICpmZDsKKworICAgIGlmICghc3RyY21wKGZpbGVuYW1lLCAiLSIpKSB7CisJZmQgPSBzdGRvdXQ7CisJcmV0dXJuKCh2b2lkICopIGZkKTsKKyAgICB9CisKKyAgICBpZiAoIXhtbFN0cm5jYXNlY21wKEJBRF9DQVNUIGZpbGVuYW1lLCBCQURfQ0FTVCAiZmlsZTovL2xvY2FsaG9zdC8iLCAxNykpCisjaWYgZGVmaW5lZCAoX1dJTjMyKSB8fCBkZWZpbmVkIChfX0RKR1BQX18pICYmICFkZWZpbmVkKF9fQ1lHV0lOX18pCisJcGF0aCA9ICZmaWxlbmFtZVsxN107CisjZWxzZQorCXBhdGggPSAmZmlsZW5hbWVbMTZdOworI2VuZGlmCisgICAgZWxzZSBpZiAoIXhtbFN0cm5jYXNlY21wKEJBRF9DQVNUIGZpbGVuYW1lLCBCQURfQ0FTVCAiZmlsZTovLy8iLCA4KSkgeworI2lmIGRlZmluZWQgKF9XSU4zMikgfHwgZGVmaW5lZCAoX19ESkdQUF9fKSAmJiAhZGVmaW5lZChfX0NZR1dJTl9fKQorCXBhdGggPSAmZmlsZW5hbWVbOF07CisjZWxzZQorCXBhdGggPSAmZmlsZW5hbWVbN107CisjZW5kaWYKKyAgICB9IGVsc2UKKwlwYXRoID0gZmlsZW5hbWU7CisKKyAgICBpZiAocGF0aCA9PSBOVUxMKQorCXJldHVybihOVUxMKTsKKworI2lmIGRlZmluZWQoX1dJTjMyKSB8fCBkZWZpbmVkIChfX0RKR1BQX18pICYmICFkZWZpbmVkIChfX0NZR1dJTl9fKQorICAgIGZkID0geG1sV3JhcE9wZW4ocGF0aCwgMSk7CisjZWxzZQorCSAgIGZkID0gZm9wZW4ocGF0aCwgIndiIik7CisjZW5kaWYgLyogV0lOMzIgKi8KKworCSBpZiAoZmQgPT0gTlVMTCkgeG1sSU9FcnIoMCwgcGF0aCk7CisgICAgcmV0dXJuKCh2b2lkICopIGZkKTsKK30KKyNlbmRpZiAvKiBMSUJYTUxfT1VUUFVUX0VOQUJMRUQgKi8KKworLyoqCisgKiB4bWxGaWxlUmVhZDoKKyAqIEBjb250ZXh0OiAgdGhlIEkvTyBjb250ZXh0CisgKiBAYnVmZmVyOiAgd2hlcmUgdG8gZHJvcCBkYXRhCisgKiBAbGVuOiAgbnVtYmVyIG9mIGJ5dGVzIHRvIHdyaXRlCisgKgorICogUmVhZCBAbGVuIGJ5dGVzIHRvIEBidWZmZXIgZnJvbSB0aGUgSS9PIGNoYW5uZWwuCisgKgorICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIGJ5dGVzIHdyaXR0ZW4gb3IgPCAwIGluIGNhc2Ugb2YgZmFpbHVyZQorICovCitpbnQKK3htbEZpbGVSZWFkICh2b2lkICogY29udGV4dCwgY2hhciAqIGJ1ZmZlciwgaW50IGxlbikgeworICAgIGludCByZXQ7CisgICAgaWYgKChjb250ZXh0ID09IE5VTEwpIHx8IChidWZmZXIgPT0gTlVMTCkpCisgICAgICAgIHJldHVybigtMSk7CisgICAgcmV0ID0gZnJlYWQoJmJ1ZmZlclswXSwgMSwgIGxlbiwgKEZJTEUgKikgY29udGV4dCk7CisgICAgaWYgKHJldCA8IDApIHhtbElPRXJyKDAsICJmcmVhZCgpIik7CisgICAgcmV0dXJuKHJldCk7Cit9CisKKyNpZmRlZiBMSUJYTUxfT1VUUFVUX0VOQUJMRUQKKy8qKgorICogeG1sRmlsZVdyaXRlOgorICogQGNvbnRleHQ6ICB0aGUgSS9PIGNvbnRleHQKKyAqIEBidWZmZXI6ICB3aGVyZSB0byBkcm9wIGRhdGEKKyAqIEBsZW46ICBudW1iZXIgb2YgYnl0ZXMgdG8gd3JpdGUKKyAqCisgKiBXcml0ZSBAbGVuIGJ5dGVzIGZyb20gQGJ1ZmZlciB0byB0aGUgSS9PIGNoYW5uZWwuCisgKgorICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIGJ5dGVzIHdyaXR0ZW4KKyAqLworc3RhdGljIGludAoreG1sRmlsZVdyaXRlICh2b2lkICogY29udGV4dCwgY29uc3QgY2hhciAqIGJ1ZmZlciwgaW50IGxlbikgeworICAgIGludCBpdGVtczsKKworICAgIGlmICgoY29udGV4dCA9PSBOVUxMKSB8fCAoYnVmZmVyID09IE5VTEwpKQorICAgICAgICByZXR1cm4oLTEpOworICAgIGl0ZW1zID0gZndyaXRlKCZidWZmZXJbMF0sIGxlbiwgMSwgKEZJTEUgKikgY29udGV4dCk7CisgICAgaWYgKChpdGVtcyA9PSAwKSAmJiAoZmVycm9yKChGSUxFICopIGNvbnRleHQpKSkgeworICAgICAgICB4bWxJT0VycigwLCAiZndyaXRlKCkiKTsKKwlyZXR1cm4oLTEpOworICAgIH0KKyAgICByZXR1cm4oaXRlbXMgKiBsZW4pOworfQorI2VuZGlmIC8qIExJQlhNTF9PVVRQVVRfRU5BQkxFRCAqLworCisvKioKKyAqIHhtbEZpbGVDbG9zZToKKyAqIEBjb250ZXh0OiAgdGhlIEkvTyBjb250ZXh0CisgKgorICogQ2xvc2UgYW4gSS9PIGNoYW5uZWwKKyAqCisgKiBSZXR1cm5zIDAgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcgorICovCitpbnQKK3htbEZpbGVDbG9zZSAodm9pZCAqIGNvbnRleHQpIHsKKyAgICBGSUxFICpmaWw7CisgICAgaW50IHJldDsKKworICAgIGlmIChjb250ZXh0ID09IE5VTEwpCisgICAgICAgIHJldHVybigtMSk7CisgICAgZmlsID0gKEZJTEUgKikgY29udGV4dDsKKyAgICBpZiAoKGZpbCA9PSBzdGRvdXQpIHx8IChmaWwgPT0gc3RkZXJyKSkgeworICAgICAgICByZXQgPSBmZmx1c2goZmlsKTsKKwlpZiAocmV0IDwgMCkKKwkgICAgeG1sSU9FcnIoMCwgImZmbHVzaCgpIik7CisJcmV0dXJuKDApOworICAgIH0KKyAgICBpZiAoZmlsID09IHN0ZGluKQorCXJldHVybigwKTsKKyAgICByZXQgPSAoIGZjbG9zZSgoRklMRSAqKSBjb250ZXh0KSA9PSBFT0YgKSA/IC0xIDogMDsKKyAgICBpZiAocmV0IDwgMCkKKyAgICAgICAgeG1sSU9FcnIoMCwgImZjbG9zZSgpIik7CisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogeG1sRmlsZUZsdXNoOgorICogQGNvbnRleHQ6ICB0aGUgSS9PIGNvbnRleHQKKyAqCisgKiBGbHVzaCBhbiBJL08gY2hhbm5lbAorICovCitzdGF0aWMgaW50Cit4bWxGaWxlRmx1c2ggKHZvaWQgKiBjb250ZXh0KSB7CisgICAgaW50IHJldDsKKworICAgIGlmIChjb250ZXh0ID09IE5VTEwpCisgICAgICAgIHJldHVybigtMSk7CisgICAgcmV0ID0gKCBmZmx1c2goKEZJTEUgKikgY29udGV4dCkgPT0gRU9GICkgPyAtMSA6IDA7CisgICAgaWYgKHJldCA8IDApCisgICAgICAgIHhtbElPRXJyKDAsICJmZmx1c2goKSIpOworICAgIHJldHVybihyZXQpOworfQorCisjaWZkZWYgTElCWE1MX09VVFBVVF9FTkFCTEVECisvKioKKyAqIHhtbEJ1ZmZlcldyaXRlOgorICogQGNvbnRleHQ6ICB0aGUgeG1sQnVmZmVyCisgKiBAYnVmZmVyOiAgdGhlIGRhdGEgdG8gd3JpdGUKKyAqIEBsZW46ICBudW1iZXIgb2YgYnl0ZXMgdG8gd3JpdGUKKyAqCisgKiBXcml0ZSBAbGVuIGJ5dGVzIGZyb20gQGJ1ZmZlciB0byB0aGUgeG1sIGJ1ZmZlcgorICoKKyAqIFJldHVybnMgdGhlIG51bWJlciBvZiBieXRlcyB3cml0dGVuCisgKi8KK3N0YXRpYyBpbnQKK3htbEJ1ZmZlcldyaXRlICh2b2lkICogY29udGV4dCwgY29uc3QgY2hhciAqIGJ1ZmZlciwgaW50IGxlbikgeworICAgIGludCByZXQ7CisKKyAgICByZXQgPSB4bWxCdWZmZXJBZGQoKHhtbEJ1ZmZlclB0cikgY29udGV4dCwgKGNvbnN0IHhtbENoYXIgKikgYnVmZmVyLCBsZW4pOworICAgIGlmIChyZXQgIT0gMCkKKyAgICAgICAgcmV0dXJuKC0xKTsKKyAgICByZXR1cm4obGVuKTsKK30KKyNlbmRpZgorCisjaWZkZWYgSEFWRV9aTElCX0gKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCUkvTyBmb3IgY29tcHJlc3NlZCBmaWxlIGFjY2Vzc2VzCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyoqCisgKiB4bWxHemZpbGVNYXRjaDoKKyAqIEBmaWxlbmFtZTogIHRoZSBVUkkgZm9yIG1hdGNoaW5nCisgKgorICogaW5wdXQgZnJvbSBjb21wcmVzc2VkIGZpbGUgdGVzdAorICoKKyAqIFJldHVybnMgMSBpZiBtYXRjaGVzLCAwIG90aGVyd2lzZQorICovCitzdGF0aWMgaW50Cit4bWxHemZpbGVNYXRjaCAoY29uc3QgY2hhciAqZmlsZW5hbWUgQVRUUklCVVRFX1VOVVNFRCkgeworICAgIHJldHVybigxKTsKK30KKworLyoqCisgKiB4bWxHemZpbGVPcGVuX3JlYWw6CisgKiBAZmlsZW5hbWU6ICB0aGUgVVJJIGZvciBtYXRjaGluZworICoKKyAqIGlucHV0IGZyb20gY29tcHJlc3NlZCBmaWxlIG9wZW4KKyAqIGlmIEBmaWxlbmFtZSBpcyAiICIgdGhlbiB0aGUgc3RhbmRhcmQgaW5wdXQgaXMgdXNlZAorICoKKyAqIFJldHVybnMgYW4gSS9PIGNvbnRleHQgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3N0YXRpYyB2b2lkICoKK3htbEd6ZmlsZU9wZW5fcmVhbCAoY29uc3QgY2hhciAqZmlsZW5hbWUpIHsKKyAgICBjb25zdCBjaGFyICpwYXRoID0gTlVMTDsKKyAgICBnekZpbGUgZmQ7CisKKyAgICBpZiAoIXN0cmNtcChmaWxlbmFtZSwgIi0iKSkgeworICAgICAgICBpbnQgZHVwZWRfZmQgPSBkdXAoZmlsZW5vKHN0ZGluKSk7CisgICAgICAgIGZkID0gZ3pkb3BlbihkdXBlZF9mZCwgInJiIik7CisgICAgICAgIGlmIChmZCA9PSBaX05VTEwgJiYgZHVwZWRfZmQgPj0gMCkgeworICAgICAgICAgICAgY2xvc2UoZHVwZWRfZmQpOyAgLyogZ3pkT3BlbigpIGRvZXMgbm90IGNsb3NlIG9uIGZhaWx1cmUgKi8KKyAgICAgICAgfQorCisJcmV0dXJuKCh2b2lkICopIGZkKTsKKyAgICB9CisKKyAgICBpZiAoIXhtbFN0cm5jYXNlY21wKEJBRF9DQVNUIGZpbGVuYW1lLCBCQURfQ0FTVCAiZmlsZTovL2xvY2FsaG9zdC8iLCAxNykpCisjaWYgZGVmaW5lZCAoX1dJTjMyKSB8fCBkZWZpbmVkIChfX0RKR1BQX18pICYmICFkZWZpbmVkKF9fQ1lHV0lOX18pCisJcGF0aCA9ICZmaWxlbmFtZVsxN107CisjZWxzZQorCXBhdGggPSAmZmlsZW5hbWVbMTZdOworI2VuZGlmCisgICAgZWxzZSBpZiAoIXhtbFN0cm5jYXNlY21wKEJBRF9DQVNUIGZpbGVuYW1lLCBCQURfQ0FTVCAiZmlsZTovLy8iLCA4KSkgeworI2lmIGRlZmluZWQgKF9XSU4zMikgfHwgZGVmaW5lZCAoX19ESkdQUF9fKSAmJiAhZGVmaW5lZChfX0NZR1dJTl9fKQorCXBhdGggPSAmZmlsZW5hbWVbOF07CisjZWxzZQorCXBhdGggPSAmZmlsZW5hbWVbN107CisjZW5kaWYKKyAgICB9IGVsc2UKKwlwYXRoID0gZmlsZW5hbWU7CisKKyAgICBpZiAocGF0aCA9PSBOVUxMKQorCXJldHVybihOVUxMKTsKKyAgICBpZiAoIXhtbENoZWNrRmlsZW5hbWUocGF0aCkpCisgICAgICAgIHJldHVybihOVUxMKTsKKworI2lmIGRlZmluZWQoX1dJTjMyKSB8fCBkZWZpbmVkIChfX0RKR1BQX18pICYmICFkZWZpbmVkIChfX0NZR1dJTl9fKQorICAgIGZkID0geG1sV3JhcEd6T3BlbihwYXRoLCAicmIiKTsKKyNlbHNlCisgICAgZmQgPSBnem9wZW4ocGF0aCwgInJiIik7CisjZW5kaWYKKyAgICByZXR1cm4oKHZvaWQgKikgZmQpOworfQorCisvKioKKyAqIHhtbEd6ZmlsZU9wZW46CisgKiBAZmlsZW5hbWU6ICB0aGUgVVJJIGZvciBtYXRjaGluZworICoKKyAqIFdyYXBwZXIgYXJvdW5kIHhtbEd6ZmlsZU9wZW4gaWYgdGhlIG9wZW4gZmFpcywgaXQgd2lsbAorICogdHJ5IHRvIHVuZXNjYXBlIEBmaWxlbmFtZQorICovCitzdGF0aWMgdm9pZCAqCit4bWxHemZpbGVPcGVuIChjb25zdCBjaGFyICpmaWxlbmFtZSkgeworICAgIGNoYXIgKnVuZXNjYXBlZDsKKyAgICB2b2lkICpyZXR2YWw7CisKKyAgICByZXR2YWwgPSB4bWxHemZpbGVPcGVuX3JlYWwoZmlsZW5hbWUpOworICAgIGlmIChyZXR2YWwgPT0gTlVMTCkgeworCXVuZXNjYXBlZCA9IHhtbFVSSVVuZXNjYXBlU3RyaW5nKGZpbGVuYW1lLCAwLCBOVUxMKTsKKwlpZiAodW5lc2NhcGVkICE9IE5VTEwpIHsKKwkgICAgcmV0dmFsID0geG1sR3pmaWxlT3Blbl9yZWFsKHVuZXNjYXBlZCk7CisJfQorCXhtbEZyZWUodW5lc2NhcGVkKTsKKyAgICB9CisgICAgcmV0dXJuIHJldHZhbDsKK30KKworI2lmZGVmIExJQlhNTF9PVVRQVVRfRU5BQkxFRAorLyoqCisgKiB4bWxHemZpbGVPcGVuVzoKKyAqIEBmaWxlbmFtZTogIHRoZSBVUkkgZm9yIG1hdGNoaW5nCisgKiBAY29tcHJlc3Npb246ICB0aGUgY29tcHJlc3Npb24gZmFjdG9yICgwIC0gOSBpbmNsdWRlZCkKKyAqCisgKiBpbnB1dCBmcm9tIGNvbXByZXNzZWQgZmlsZSBvcGVuCisgKiBpZiBAZmlsZW5hbWUgaXMgIiAiIHRoZW4gdGhlIHN0YW5kYXJkIGlucHV0IGlzIHVzZWQKKyAqCisgKiBSZXR1cm5zIGFuIEkvTyBjb250ZXh0IG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcgorICovCitzdGF0aWMgdm9pZCAqCit4bWxHemZpbGVPcGVuVyAoY29uc3QgY2hhciAqZmlsZW5hbWUsIGludCBjb21wcmVzc2lvbikgeworICAgIGNvbnN0IGNoYXIgKnBhdGggPSBOVUxMOworICAgIGNoYXIgbW9kZVsxNV07CisgICAgZ3pGaWxlIGZkOworCisgICAgc25wcmludGYobW9kZSwgc2l6ZW9mKG1vZGUpLCAid2IlZCIsIGNvbXByZXNzaW9uKTsKKyAgICBpZiAoIXN0cmNtcChmaWxlbmFtZSwgIi0iKSkgeworICAgICAgICBpbnQgZHVwZWRfZmQgPSBkdXAoZmlsZW5vKHN0ZG91dCkpOworICAgICAgICBmZCA9IGd6ZG9wZW4oZHVwZWRfZmQsICJyYiIpOworICAgICAgICBpZiAoZmQgPT0gWl9OVUxMICYmIGR1cGVkX2ZkID49IDApIHsKKyAgICAgICAgICAgIGNsb3NlKGR1cGVkX2ZkKTsgIC8qIGd6ZE9wZW4oKSBkb2VzIG5vdCBjbG9zZSBvbiBmYWlsdXJlICovCisgICAgICAgIH0KKworCXJldHVybigodm9pZCAqKSBmZCk7CisgICAgfQorCisgICAgaWYgKCF4bWxTdHJuY2FzZWNtcChCQURfQ0FTVCBmaWxlbmFtZSwgQkFEX0NBU1QgImZpbGU6Ly9sb2NhbGhvc3QvIiwgMTcpKQorI2lmIGRlZmluZWQgKF9XSU4zMikgfHwgZGVmaW5lZCAoX19ESkdQUF9fKSAmJiAhZGVmaW5lZChfX0NZR1dJTl9fKQorCXBhdGggPSAmZmlsZW5hbWVbMTddOworI2Vsc2UKKwlwYXRoID0gJmZpbGVuYW1lWzE2XTsKKyNlbmRpZgorICAgIGVsc2UgaWYgKCF4bWxTdHJuY2FzZWNtcChCQURfQ0FTVCBmaWxlbmFtZSwgQkFEX0NBU1QgImZpbGU6Ly8vIiwgOCkpIHsKKyNpZiBkZWZpbmVkIChfV0lOMzIpIHx8IGRlZmluZWQgKF9fREpHUFBfXykgJiYgIWRlZmluZWQoX19DWUdXSU5fXykKKwlwYXRoID0gJmZpbGVuYW1lWzhdOworI2Vsc2UKKwlwYXRoID0gJmZpbGVuYW1lWzddOworI2VuZGlmCisgICAgfSBlbHNlCisJcGF0aCA9IGZpbGVuYW1lOworCisgICAgaWYgKHBhdGggPT0gTlVMTCkKKwlyZXR1cm4oTlVMTCk7CisKKyNpZiBkZWZpbmVkKF9XSU4zMikgfHwgZGVmaW5lZCAoX19ESkdQUF9fKSAmJiAhZGVmaW5lZCAoX19DWUdXSU5fXykKKyAgICBmZCA9IHhtbFdyYXBHek9wZW4ocGF0aCwgbW9kZSk7CisjZWxzZQorICAgIGZkID0gZ3pvcGVuKHBhdGgsIG1vZGUpOworI2VuZGlmCisgICAgcmV0dXJuKCh2b2lkICopIGZkKTsKK30KKyNlbmRpZiAvKiBMSUJYTUxfT1VUUFVUX0VOQUJMRUQgKi8KKworLyoqCisgKiB4bWxHemZpbGVSZWFkOgorICogQGNvbnRleHQ6ICB0aGUgSS9PIGNvbnRleHQKKyAqIEBidWZmZXI6ICB3aGVyZSB0byBkcm9wIGRhdGEKKyAqIEBsZW46ICBudW1iZXIgb2YgYnl0ZXMgdG8gd3JpdGUKKyAqCisgKiBSZWFkIEBsZW4gYnl0ZXMgdG8gQGJ1ZmZlciBmcm9tIHRoZSBjb21wcmVzc2VkIEkvTyBjaGFubmVsLgorICoKKyAqIFJldHVybnMgdGhlIG51bWJlciBvZiBieXRlcyB3cml0dGVuCisgKi8KK3N0YXRpYyBpbnQKK3htbEd6ZmlsZVJlYWQgKHZvaWQgKiBjb250ZXh0LCBjaGFyICogYnVmZmVyLCBpbnQgbGVuKSB7CisgICAgaW50IHJldDsKKworICAgIHJldCA9IGd6cmVhZCgoZ3pGaWxlKSBjb250ZXh0LCAmYnVmZmVyWzBdLCBsZW4pOworICAgIGlmIChyZXQgPCAwKSB4bWxJT0VycigwLCAiZ3pyZWFkKCkiKTsKKyAgICByZXR1cm4ocmV0KTsKK30KKworI2lmZGVmIExJQlhNTF9PVVRQVVRfRU5BQkxFRAorLyoqCisgKiB4bWxHemZpbGVXcml0ZToKKyAqIEBjb250ZXh0OiAgdGhlIEkvTyBjb250ZXh0CisgKiBAYnVmZmVyOiAgd2hlcmUgdG8gZHJvcCBkYXRhCisgKiBAbGVuOiAgbnVtYmVyIG9mIGJ5dGVzIHRvIHdyaXRlCisgKgorICogV3JpdGUgQGxlbiBieXRlcyBmcm9tIEBidWZmZXIgdG8gdGhlIGNvbXByZXNzZWQgSS9PIGNoYW5uZWwuCisgKgorICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIGJ5dGVzIHdyaXR0ZW4KKyAqLworc3RhdGljIGludAoreG1sR3pmaWxlV3JpdGUgKHZvaWQgKiBjb250ZXh0LCBjb25zdCBjaGFyICogYnVmZmVyLCBpbnQgbGVuKSB7CisgICAgaW50IHJldDsKKworICAgIHJldCA9IGd6d3JpdGUoKGd6RmlsZSkgY29udGV4dCwgKGNoYXIgKikgJmJ1ZmZlclswXSwgbGVuKTsKKyAgICBpZiAocmV0IDwgMCkgeG1sSU9FcnIoMCwgImd6d3JpdGUoKSIpOworICAgIHJldHVybihyZXQpOworfQorI2VuZGlmIC8qIExJQlhNTF9PVVRQVVRfRU5BQkxFRCAqLworCisvKioKKyAqIHhtbEd6ZmlsZUNsb3NlOgorICogQGNvbnRleHQ6ICB0aGUgSS9PIGNvbnRleHQKKyAqCisgKiBDbG9zZSBhIGNvbXByZXNzZWQgSS9PIGNoYW5uZWwKKyAqLworc3RhdGljIGludAoreG1sR3pmaWxlQ2xvc2UgKHZvaWQgKiBjb250ZXh0KSB7CisgICAgaW50IHJldDsKKworICAgIHJldCA9ICAoZ3pjbG9zZSgoZ3pGaWxlKSBjb250ZXh0KSA9PSBaX09LICkgPyAwIDogLTE7CisgICAgaWYgKHJldCA8IDApIHhtbElPRXJyKDAsICJnemNsb3NlKCkiKTsKKyAgICByZXR1cm4ocmV0KTsKK30KKyNlbmRpZiAvKiBIQVZFX1pMSUJfSCAqLworCisjaWZkZWYgSEFWRV9MWk1BX0gKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCUkvTyBmb3IgY29tcHJlc3NlZCBmaWxlIGFjY2Vzc2VzCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2luY2x1ZGUgInh6bGliLmgiCisvKioKKyAqIHhtbFh6ZmlsZU1hdGNoOgorICogQGZpbGVuYW1lOiAgdGhlIFVSSSBmb3IgbWF0Y2hpbmcKKyAqCisgKiBpbnB1dCBmcm9tIGNvbXByZXNzZWQgZmlsZSB0ZXN0CisgKgorICogUmV0dXJucyAxIGlmIG1hdGNoZXMsIDAgb3RoZXJ3aXNlCisgKi8KK3N0YXRpYyBpbnQKK3htbFh6ZmlsZU1hdGNoIChjb25zdCBjaGFyICpmaWxlbmFtZSBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgcmV0dXJuKDEpOworfQorCisvKioKKyAqIHhtbFh6RmlsZU9wZW5fcmVhbDoKKyAqIEBmaWxlbmFtZTogIHRoZSBVUkkgZm9yIG1hdGNoaW5nCisgKgorICogaW5wdXQgZnJvbSBjb21wcmVzc2VkIGZpbGUgb3BlbgorICogaWYgQGZpbGVuYW1lIGlzICIgIiB0aGVuIHRoZSBzdGFuZGFyZCBpbnB1dCBpcyB1c2VkCisgKgorICogUmV0dXJucyBhbiBJL08gY29udGV4dCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworc3RhdGljIHZvaWQgKgoreG1sWHpmaWxlT3Blbl9yZWFsIChjb25zdCBjaGFyICpmaWxlbmFtZSkgeworICAgIGNvbnN0IGNoYXIgKnBhdGggPSBOVUxMOworICAgIHh6RmlsZSBmZDsKKworICAgIGlmICghc3RyY21wKGZpbGVuYW1lLCAiLSIpKSB7CisgICAgICAgIGZkID0gX19saWJ4bWwyX3h6ZG9wZW4oZHVwKGZpbGVubyhzdGRpbikpLCAicmIiKTsKKwlyZXR1cm4oKHZvaWQgKikgZmQpOworICAgIH0KKworICAgIGlmICgheG1sU3RybmNhc2VjbXAoQkFEX0NBU1QgZmlsZW5hbWUsIEJBRF9DQVNUICJmaWxlOi8vbG9jYWxob3N0LyIsIDE3KSkgeworCXBhdGggPSAmZmlsZW5hbWVbMTZdOworICAgIH0gZWxzZSBpZiAoIXhtbFN0cm5jYXNlY21wKEJBRF9DQVNUIGZpbGVuYW1lLCBCQURfQ0FTVCAiZmlsZTovLy8iLCA4KSkgeworCXBhdGggPSAmZmlsZW5hbWVbN107CisgICAgfSBlbHNlIGlmICgheG1sU3RybmNhc2VjbXAoQkFEX0NBU1QgZmlsZW5hbWUsIEJBRF9DQVNUICJmaWxlOi8iLCA2KSkgeworICAgICAgICAvKiBsb3RzIG9mIGdlbmVyYXRvcnMgc2VlbXMgdG8gbGF6eSB0byByZWFkIFJGQyAxNzM4ICovCisJcGF0aCA9ICZmaWxlbmFtZVs1XTsKKyAgICB9IGVsc2UKKwlwYXRoID0gZmlsZW5hbWU7CisKKyAgICBpZiAocGF0aCA9PSBOVUxMKQorCXJldHVybihOVUxMKTsKKyAgICBpZiAoIXhtbENoZWNrRmlsZW5hbWUocGF0aCkpCisgICAgICAgIHJldHVybihOVUxMKTsKKworICAgIGZkID0gX19saWJ4bWwyX3h6b3BlbihwYXRoLCAicmIiKTsKKyAgICByZXR1cm4oKHZvaWQgKikgZmQpOworfQorCisvKioKKyAqIHhtbFh6ZmlsZU9wZW46CisgKiBAZmlsZW5hbWU6ICB0aGUgVVJJIGZvciBtYXRjaGluZworICoKKyAqIFdyYXBwZXIgYXJvdW5kIHhtbFh6ZmlsZU9wZW5fcmVhbCB0aGF0IHRyeSBpdCB3aXRoIGFuIHVuZXNjYXBlZAorICogdmVyc2lvbiBvZiBAZmlsZW5hbWUsIGlmIHRoaXMgZmFpbHMgZmFsbGJhY2sgdG8gQGZpbGVuYW1lCisgKgorICogUmV0dXJucyBhIGhhbmRsZXIgb3IgTlVMTCBpbiBjYXNlIG9yIGZhaWx1cmUKKyAqLworc3RhdGljIHZvaWQgKgoreG1sWHpmaWxlT3BlbiAoY29uc3QgY2hhciAqZmlsZW5hbWUpIHsKKyAgICBjaGFyICp1bmVzY2FwZWQ7CisgICAgdm9pZCAqcmV0dmFsOworCisgICAgcmV0dmFsID0geG1sWHpmaWxlT3Blbl9yZWFsKGZpbGVuYW1lKTsKKyAgICBpZiAocmV0dmFsID09IE5VTEwpIHsKKwl1bmVzY2FwZWQgPSB4bWxVUklVbmVzY2FwZVN0cmluZyhmaWxlbmFtZSwgMCwgTlVMTCk7CisJaWYgKHVuZXNjYXBlZCAhPSBOVUxMKSB7CisJICAgIHJldHZhbCA9IHhtbFh6ZmlsZU9wZW5fcmVhbCh1bmVzY2FwZWQpOworCX0KKwl4bWxGcmVlKHVuZXNjYXBlZCk7CisgICAgfQorCisgICAgcmV0dXJuIHJldHZhbDsKK30KKworLyoqCisgKiB4bWxYemZpbGVSZWFkOgorICogQGNvbnRleHQ6ICB0aGUgSS9PIGNvbnRleHQKKyAqIEBidWZmZXI6ICB3aGVyZSB0byBkcm9wIGRhdGEKKyAqIEBsZW46ICBudW1iZXIgb2YgYnl0ZXMgdG8gd3JpdGUKKyAqCisgKiBSZWFkIEBsZW4gYnl0ZXMgdG8gQGJ1ZmZlciBmcm9tIHRoZSBjb21wcmVzc2VkIEkvTyBjaGFubmVsLgorICoKKyAqIFJldHVybnMgdGhlIG51bWJlciBvZiBieXRlcyB3cml0dGVuCisgKi8KK3N0YXRpYyBpbnQKK3htbFh6ZmlsZVJlYWQgKHZvaWQgKiBjb250ZXh0LCBjaGFyICogYnVmZmVyLCBpbnQgbGVuKSB7CisgICAgaW50IHJldDsKKworICAgIHJldCA9IF9fbGlieG1sMl94enJlYWQoKHh6RmlsZSkgY29udGV4dCwgJmJ1ZmZlclswXSwgbGVuKTsKKyAgICBpZiAocmV0IDwgMCkgeG1sSU9FcnIoMCwgInh6cmVhZCgpIik7CisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogeG1sWHpmaWxlQ2xvc2U6CisgKiBAY29udGV4dDogIHRoZSBJL08gY29udGV4dAorICoKKyAqIENsb3NlIGEgY29tcHJlc3NlZCBJL08gY2hhbm5lbAorICovCitzdGF0aWMgaW50Cit4bWxYemZpbGVDbG9zZSAodm9pZCAqIGNvbnRleHQpIHsKKyAgICBpbnQgcmV0OworCisgICAgcmV0ID0gIChfX2xpYnhtbDJfeHpjbG9zZSgoeHpGaWxlKSBjb250ZXh0KSA9PSBMWk1BX09LICkgPyAwIDogLTE7CisgICAgaWYgKHJldCA8IDApIHhtbElPRXJyKDAsICJ4emNsb3NlKCkiKTsKKyAgICByZXR1cm4ocmV0KTsKK30KKyNlbmRpZiAvKiBIQVZFX0xaTUFfSCAqLworCisjaWZkZWYgTElCWE1MX0hUVFBfRU5BQkxFRAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJCUkvTyBmb3IgSFRUUCBmaWxlIGFjY2Vzc2VzCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWZkZWYgTElCWE1MX09VVFBVVF9FTkFCTEVECit0eXBlZGVmIHN0cnVjdCB4bWxJT0hUVFBXcml0ZUN0eHRfCit7CisgICAgaW50CQkJY29tcHJlc3Npb247CisKKyAgICBjaGFyICoJCXVyaTsKKworICAgIHZvaWQgKgkJZG9jX2J1ZmY7CisKK30geG1sSU9IVFRQV3JpdGVDdHh0LCAqeG1sSU9IVFRQV3JpdGVDdHh0UHRyOworCisjaWZkZWYgSEFWRV9aTElCX0gKKworI2RlZmluZSBERkxUX1dCSVRTCQkoIC0xNSApCisjZGVmaW5lIERGTFRfTUVNX0xWTAkJKCA4ICkKKyNkZWZpbmUgR1pfTUFHSUMxCQkoIDB4MWYgKQorI2RlZmluZSBHWl9NQUdJQzIJCSggMHg4YiApCisjZGVmaW5lIExYTUxfWkxJQl9PU19DT0RFCSggMHgwMyApCisjZGVmaW5lIElOSVRfSFRUUF9CVUZGX1NJWkUJKCAzMjc2OCApCisjZGVmaW5lIERGTFRfWkxJQl9SQVRJTwkJKCA1ICkKKworLyoKKyoqICBEYXRhIHN0cnVjdHVyZSBhbmQgZnVuY3Rpb25zIHRvIHdvcmsgd2l0aCBzZW5kaW5nIGNvbXByZXNzZWQgZGF0YQorKiogIHZpYSBIVFRQLgorKi8KKwordHlwZWRlZiBzdHJ1Y3QgeG1sWk1lbUJ1ZmZfCit7CisgICB1bnNpZ25lZCBsb25nCXNpemU7CisgICB1bnNpZ25lZCBsb25nCWNyYzsKKworICAgdW5zaWduZWQgY2hhciAqCXpidWZmOworICAgel9zdHJlYW0JCXpjdHJsOworCit9IHhtbFpNZW1CdWZmLCAqeG1sWk1lbUJ1ZmZQdHI7CisKKy8qKgorICogYXBwZW5kX3JldmVyc2VfdWxvbmcKKyAqIEBidWZmOiAgQ29tcHJlc3NlZCBtZW1vcnkgYnVmZmVyCisgKiBAZGF0YTogIFVuc2lnbmVkIGxvbmcgdG8gYXBwZW5kCisgKgorICogQXBwZW5kIGEgdW5zaWduZWQgbG9uZyBpbiByZXZlcnNlIGJ5dGUgb3JkZXIgdG8gdGhlIGVuZCBvZiB0aGUKKyAqIG1lbW9yeSBidWZmZXIuCisgKi8KK3N0YXRpYyB2b2lkCithcHBlbmRfcmV2ZXJzZV91bG9uZyggeG1sWk1lbUJ1ZmYgKiBidWZmLCB1bnNpZ25lZCBsb25nIGRhdGEgKSB7CisKKyAgICBpbnQJCWlkeDsKKworICAgIGlmICggYnVmZiA9PSBOVUxMICkKKwlyZXR1cm47CisKKyAgICAvKgorICAgICoqICBUaGlzIGlzIHBsYWdpYXJpemVkIGZyb20gcHV0TG9uZyBpbiBnemlvLmMgKHpsaWIgc291cmNlKSB3aGVyZQorICAgICoqICB0aGUgbnVtYmVyICI0IiBpcyBoYXJkY29kZWQuICBJZiB6bGliIGlzIGV2ZXIgcGF0Y2hlZCB0bworICAgICoqICBzdXBwb3J0IDY0IGJpdCBmaWxlIHNpemVzLCB0aGlzIGNvZGUgd291bGQgbmVlZCB0byBiZSBwYXRjaGVkCisgICAgKiogIGFzIHdlbGwuCisgICAgKi8KKworICAgIGZvciAoIGlkeCA9IDA7IGlkeCA8IDQ7IGlkeCsrICkgeworCSpidWZmLT56Y3RybC5uZXh0X291dCA9ICggZGF0YSAmIDB4ZmYgKTsKKwlkYXRhID4+PSA4OworCWJ1ZmYtPnpjdHJsLm5leHRfb3V0Kys7CisgICAgfQorCisgICAgcmV0dXJuOworfQorCisvKioKKyAqCisgKiB4bWxGcmVlWk1lbUJ1ZmYKKyAqIEBidWZmOiAgVGhlIG1lbW9yeSBidWZmZXIgY29udGV4dCB0byBjbGVhcgorICoKKyAqIFJlbGVhc2UgYWxsIHRoZSByZXNvdXJjZXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBjb21wcmVzc2VkIG1lbW9yeSBidWZmZXIuCisgKi8KK3N0YXRpYyB2b2lkCit4bWxGcmVlWk1lbUJ1ZmYoIHhtbFpNZW1CdWZmUHRyIGJ1ZmYgKSB7CisKKyNpZmRlZiBERUJVR19IVFRQCisgICAgaW50IHpfZXJyOworI2VuZGlmCisKKyAgICBpZiAoIGJ1ZmYgPT0gTlVMTCApCisJcmV0dXJuOworCisgICAgeG1sRnJlZSggYnVmZi0+emJ1ZmYgKTsKKyNpZmRlZiBERUJVR19IVFRQCisgICAgel9lcnIgPSBkZWZsYXRlRW5kKCAmYnVmZi0+emN0cmwgKTsKKyAgICBpZiAoIHpfZXJyICE9IFpfT0sgKQorCXhtbEdlbmVyaWNFcnJvciggeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJCSJ4bWxGcmVlWk1lbUJ1ZmY6ICBFcnJvciByZWxlYXNpbmcgemxpYiBjb250ZXh0OiAgJWRcbiIsCisJCQl6X2VyciApOworI2Vsc2UKKyAgICBkZWZsYXRlRW5kKCAmYnVmZi0+emN0cmwgKTsKKyNlbmRpZgorCisgICAgeG1sRnJlZSggYnVmZiApOworICAgIHJldHVybjsKK30KKworLyoqCisgKiB4bWxDcmVhdGVaTWVtQnVmZgorICpAY29tcHJlc3Npb246CUNvbXByZXNzaW9uIHZhbHVlIHRvIHVzZQorICoKKyAqIENyZWF0ZSBhIG1lbW9yeSBidWZmZXIgdG8gaG9sZCB0aGUgY29tcHJlc3NlZCBYTUwgZG9jdW1lbnQuICBUaGUKKyAqIGNvbXByZXNzZWQgZG9jdW1lbnQgaW4gbWVtb3J5IHdpbGwgZW5kIHVwIGJlaW5nIGlkZW50aWNhbCB0byB3aGF0CisgKiB3b3VsZCBiZSBjcmVhdGVkIGlmIGd6b3Blbi9nendyaXRlL2d6Y2xvc2Ugd2VyZSBiZWluZyB1c2VkIHRvCisgKiB3cml0ZSB0aGUgZG9jdW1lbnQgdG8gZGlzay4gIFRoZSBjb2RlIGZvciB0aGUgaGVhZGVyL3RyYWlsZXIgZGF0YSB0bworICogdGhlIGNvbXByZXNzaW9uIGlzIHBsYWdpYXJpemVkIGZyb20gdGhlIHpsaWIgc291cmNlIGZpbGVzLgorICovCitzdGF0aWMgdm9pZCAqCit4bWxDcmVhdGVaTWVtQnVmZiggaW50IGNvbXByZXNzaW9uICkgeworCisgICAgaW50CQkJel9lcnI7CisgICAgaW50CQkJaGRyX2xndGg7CisgICAgeG1sWk1lbUJ1ZmZQdHIJYnVmZiA9IE5VTEw7CisKKyAgICBpZiAoICggY29tcHJlc3Npb24gPCAxICkgfHwgKCBjb21wcmVzc2lvbiA+IDkgKSApCisJcmV0dXJuICggTlVMTCApOworCisgICAgLyogIENyZWF0ZSB0aGUgY29udHJvbCBhbmQgZGF0YSBhcmVhcyAgKi8KKworICAgIGJ1ZmYgPSB4bWxNYWxsb2MoIHNpemVvZiggeG1sWk1lbUJ1ZmYgKSApOworICAgIGlmICggYnVmZiA9PSBOVUxMICkgeworCXhtbElPRXJyTWVtb3J5KCJjcmVhdGluZyBidWZmZXIgY29udGV4dCIpOworCXJldHVybiAoIE5VTEwgKTsKKyAgICB9CisKKyAgICAodm9pZCltZW1zZXQoIGJ1ZmYsIDAsIHNpemVvZiggeG1sWk1lbUJ1ZmYgKSApOworICAgIGJ1ZmYtPnNpemUgPSBJTklUX0hUVFBfQlVGRl9TSVpFOworICAgIGJ1ZmYtPnpidWZmID0geG1sTWFsbG9jKCBidWZmLT5zaXplICk7CisgICAgaWYgKCBidWZmLT56YnVmZiA9PSBOVUxMICkgeworCXhtbEZyZWVaTWVtQnVmZiggYnVmZiApOworCXhtbElPRXJyTWVtb3J5KCJjcmVhdGluZyBidWZmZXIiKTsKKwlyZXR1cm4gKCBOVUxMICk7CisgICAgfQorCisgICAgel9lcnIgPSBkZWZsYXRlSW5pdDIoICZidWZmLT56Y3RybCwgY29tcHJlc3Npb24sIFpfREVGTEFURUQsCisJCQkgICAgREZMVF9XQklUUywgREZMVF9NRU1fTFZMLCBaX0RFRkFVTFRfU1RSQVRFR1kgKTsKKyAgICBpZiAoIHpfZXJyICE9IFpfT0sgKSB7CisJeG1sQ2hhciBtc2dbNTAwXTsKKwl4bWxGcmVlWk1lbUJ1ZmYoIGJ1ZmYgKTsKKwlidWZmID0gTlVMTDsKKwl4bWxTdHJQcmludGYobXNnLCA1MDAsCisJCSAgICAoY29uc3QgeG1sQ2hhciAqKSAieG1sQ3JlYXRlWk1lbUJ1ZmY6ICAlcyAlZFxuIiwKKwkJICAgICJFcnJvciBpbml0aWFsaXppbmcgY29tcHJlc3Npb24gY29udGV4dC4gIFpMSUIgZXJyb3I6IiwKKwkJICAgIHpfZXJyICk7CisJeG1sSU9FcnIoWE1MX0lPX1dSSVRFLCAoY29uc3QgY2hhciAqKSBtc2cpOworCXJldHVybiAoIE5VTEwgKTsKKyAgICB9CisKKyAgICAvKiAgU2V0IHRoZSBoZWFkZXIgZGF0YS4gIFRoZSBDUkMgd2lsbCBiZSBuZWVkZWQgZm9yIHRoZSB0cmFpbGVyICAqLworICAgIGJ1ZmYtPmNyYyA9IGNyYzMyKCAwTCwgTlVMTCwgMCApOworICAgIGhkcl9sZ3RoID0gc25wcmludGYoIChjaGFyICopYnVmZi0+emJ1ZmYsIGJ1ZmYtPnNpemUsCisJCQkiJWMlYyVjJWMlYyVjJWMlYyVjJWMiLAorCQkJR1pfTUFHSUMxLCBHWl9NQUdJQzIsIFpfREVGTEFURUQsCisJCQkwLCAwLCAwLCAwLCAwLCAwLCBMWE1MX1pMSUJfT1NfQ09ERSApOworICAgIGJ1ZmYtPnpjdHJsLm5leHRfb3V0ICA9IGJ1ZmYtPnpidWZmICsgaGRyX2xndGg7CisgICAgYnVmZi0+emN0cmwuYXZhaWxfb3V0ID0gYnVmZi0+c2l6ZSAtIGhkcl9sZ3RoOworCisgICAgcmV0dXJuICggYnVmZiApOworfQorCisvKioKKyAqIHhtbFpNZW1CdWZmRXh0ZW5kCisgKiBAYnVmZjogIEJ1ZmZlciB1c2VkIHRvIGNvbXByZXNzIGFuZCBjb25zb2xpZGF0ZSBkYXRhLgorICogQGV4dF9hbXQ6ICAgTnVtYmVyIG9mIGJ5dGVzIHRvIGV4dGVuZCB0aGUgYnVmZmVyLgorICoKKyAqIEV4dGVuZCB0aGUgaW50ZXJuYWwgYnVmZmVyIHVzZWQgdG8gc3RvcmUgdGhlIGNvbXByZXNzZWQgZGF0YSBieSB0aGUKKyAqIHNwZWNpZmllZCBhbW91bnQuCisgKgorICogUmV0dXJucyAwIG9uIHN1Y2Nlc3Mgb3IgLTEgb24gZmFpbHVyZSB0byBleHRlbmQgdGhlIGJ1ZmZlci4gIE9uIGZhaWx1cmUKKyAqIHRoZSBvcmlnaW5hbCBidWZmZXIgc3RpbGwgZXhpc3RzIGF0IHRoZSBvcmlnaW5hbCBzaXplLgorICovCitzdGF0aWMgaW50Cit4bWxaTWVtQnVmZkV4dGVuZCggeG1sWk1lbUJ1ZmZQdHIgYnVmZiwgc2l6ZV90IGV4dF9hbXQgKSB7CisKKyAgICBpbnQJCQlyYyA9IC0xOworICAgIHNpemVfdAkJbmV3X3NpemU7CisgICAgc2l6ZV90CQljdXJfdXNlZDsKKworICAgIHVuc2lnbmVkIGNoYXIgKgl0bXBfcHRyID0gTlVMTDsKKworICAgIGlmICggYnVmZiA9PSBOVUxMICkKKwlyZXR1cm4gKCAtMSApOworCisgICAgZWxzZSBpZiAoIGV4dF9hbXQgPT0gMCApCisJcmV0dXJuICggMCApOworCisgICAgY3VyX3VzZWQgPSBidWZmLT56Y3RybC5uZXh0X291dCAtIGJ1ZmYtPnpidWZmOworICAgIG5ld19zaXplID0gYnVmZi0+c2l6ZSArIGV4dF9hbXQ7CisKKyNpZmRlZiBERUJVR19IVFRQCisgICAgaWYgKCBjdXJfdXNlZCA+IG5ld19zaXplICkKKwl4bWxHZW5lcmljRXJyb3IoIHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCQkieG1sWk1lbUJ1ZmZFeHRlbmQ6ICAlc1xuJXMgJWQgYnl0ZXMuXG4iLAorCQkJIkJ1ZmZlciBvdmVyd3JpdGUgZGV0ZWN0ZWQgZHVyaW5nIGNvbXByZXNzZWQgbWVtb3J5IiwKKwkJCSJidWZmZXIgZXh0ZW5zaW9uLiAgT3ZlcmZsb3dlZCBieSIsCisJCQkoY3VyX3VzZWQgLSBuZXdfc2l6ZSApICk7CisjZW5kaWYKKworICAgIHRtcF9wdHIgPSB4bWxSZWFsbG9jKCBidWZmLT56YnVmZiwgbmV3X3NpemUgKTsKKyAgICBpZiAoIHRtcF9wdHIgIT0gTlVMTCApIHsKKwlyYyA9IDA7CisJYnVmZi0+c2l6ZSAgPSBuZXdfc2l6ZTsKKwlidWZmLT56YnVmZiA9IHRtcF9wdHI7CisJYnVmZi0+emN0cmwubmV4dF9vdXQgID0gdG1wX3B0ciArIGN1cl91c2VkOworCWJ1ZmYtPnpjdHJsLmF2YWlsX291dCA9IG5ld19zaXplIC0gY3VyX3VzZWQ7CisgICAgfQorICAgIGVsc2UgeworCXhtbENoYXIgbXNnWzUwMF07CisJeG1sU3RyUHJpbnRmKG1zZywgNTAwLAorCQkgICAgKGNvbnN0IHhtbENoYXIgKikgInhtbFpNZW1CdWZmRXh0ZW5kOiAgJXMgJWx1IGJ5dGVzLlxuIiwKKwkJICAgICJBbGxvY2F0aW9uIGZhaWx1cmUgZXh0ZW5kaW5nIG91dHB1dCBidWZmZXIgdG8iLAorCQkgICAgbmV3X3NpemUgKTsKKwl4bWxJT0VycihYTUxfSU9fV1JJVEUsIChjb25zdCBjaGFyICopIG1zZyk7CisgICAgfQorCisgICAgcmV0dXJuICggcmMgKTsKK30KKworLyoqCisgKiB4bWxaTWVtQnVmZkFwcGVuZAorICogQGJ1ZmY6ICBCdWZmZXIgdXNlZCB0byBjb21wcmVzcyBhbmQgY29uc29saWRhdGUgZGF0YQorICogQHNyYzogICBVbmNvbXByZXNzZWQgc291cmNlIGNvbnRlbnQgdG8gYXBwZW5kIHRvIGJ1ZmZlcgorICogQGxlbjogICBMZW5ndGggb2Ygc291cmNlIGRhdGEgdG8gYXBwZW5kIHRvIGJ1ZmZlcgorICoKKyAqIENvbXByZXNzIGFuZCBhcHBlbmQgZGF0YSB0byB0aGUgaW50ZXJuYWwgYnVmZmVyLiAgVGhlIGRhdGEgYnVmZmVyCisgKiB3aWxsIGJlIGV4cGFuZGVkIGlmIG5lZWRlZCB0byBzdG9yZSB0aGUgYWRkaXRpb25hbCBkYXRhLgorICoKKyAqIFJldHVybnMgdGhlIG51bWJlciBvZiBieXRlcyBhcHBlbmRlZCB0byB0aGUgYnVmZmVyIG9yIC0xIG9uIGVycm9yLgorICovCitzdGF0aWMgaW50Cit4bWxaTWVtQnVmZkFwcGVuZCggeG1sWk1lbUJ1ZmZQdHIgYnVmZiwgY29uc3QgY2hhciAqIHNyYywgaW50IGxlbiApIHsKKworICAgIGludAkJel9lcnI7CisgICAgc2l6ZV90CW1pbl9hY2NlcHQ7CisKKyAgICBpZiAoICggYnVmZiA9PSBOVUxMICkgfHwgKCBzcmMgPT0gTlVMTCApICkKKwlyZXR1cm4gKCAtMSApOworCisgICAgYnVmZi0+emN0cmwuYXZhaWxfaW4gPSBsZW47CisgICAgYnVmZi0+emN0cmwubmV4dF9pbiAgPSAodW5zaWduZWQgY2hhciAqKXNyYzsKKyAgICB3aGlsZSAoIGJ1ZmYtPnpjdHJsLmF2YWlsX2luID4gMCApIHsKKwkvKgorCSoqICBFeHRlbmQgdGhlIGJ1ZmZlciBwcmlvciB0byBkZWZsYXRlIGNhbGwgaWYgYSByZWFzb25hYmxlIGFtb3VudAorCSoqICBvZiBvdXRwdXQgYnVmZmVyIHNwYWNlIGlzIG5vdCBhdmFpbGFibGUuCisJKi8KKwltaW5fYWNjZXB0ID0gYnVmZi0+emN0cmwuYXZhaWxfaW4gLyBERkxUX1pMSUJfUkFUSU87CisJaWYgKCBidWZmLT56Y3RybC5hdmFpbF9vdXQgPD0gbWluX2FjY2VwdCApIHsKKwkgICAgaWYgKCB4bWxaTWVtQnVmZkV4dGVuZCggYnVmZiwgYnVmZi0+c2l6ZSApID09IC0xICkKKwkJcmV0dXJuICggLTEgKTsKKwl9CisKKwl6X2VyciA9IGRlZmxhdGUoICZidWZmLT56Y3RybCwgWl9OT19GTFVTSCApOworCWlmICggel9lcnIgIT0gWl9PSyApIHsKKwkgICAgeG1sQ2hhciBtc2dbNTAwXTsKKwkgICAgeG1sU3RyUHJpbnRmKG1zZywgNTAwLAorCQkJKGNvbnN0IHhtbENoYXIgKikgInhtbFpNZW1CdWZmQXBwZW5kOiAgJXMgJWQgJXMgLSAlZCIsCisJCQkiQ29tcHJlc3Npb24gZXJyb3Igd2hpbGUgYXBwZW5kaW5nIiwKKwkJCWxlbiwgImJ5dGVzIHRvIGJ1ZmZlci4gIFpMSUIgZXJyb3IiLCB6X2VyciApOworCSAgICB4bWxJT0VycihYTUxfSU9fV1JJVEUsIChjb25zdCBjaGFyICopIG1zZyk7CisJICAgIHJldHVybiAoIC0xICk7CisJfQorICAgIH0KKworICAgIGJ1ZmYtPmNyYyA9IGNyYzMyKCBidWZmLT5jcmMsICh1bnNpZ25lZCBjaGFyICopc3JjLCBsZW4gKTsKKworICAgIHJldHVybiAoIGxlbiApOworfQorCisvKioKKyAqIHhtbFpNZW1CdWZmR2V0Q29udGVudAorICogQGJ1ZmY6ICBDb21wcmVzc2VkIG1lbW9yeSBjb250ZW50IGJ1ZmZlcgorICogQGRhdGFfcmVmOiAgUG9pbnRlciByZWZlcmVuY2UgdG8gcG9pbnQgdG8gY29tcHJlc3NlZCBjb250ZW50CisgKgorICogRmx1c2hlcyB0aGUgY29tcHJlc3Npb24gYnVmZmVycywgYXBwZW5kcyBnemlwIGZpbGUgdHJhaWxlcnMgYW5kCisgKiByZXR1cm5zIHRoZSBjb21wcmVzc2VkIGNvbnRlbnQgYW5kIGxlbmd0aCBvZiB0aGUgY29tcHJlc3NlZCBkYXRhLgorICogTk9URTogIFRoZSBnemlwIHRyYWlsZXIgY29kZSBoZXJlIGlzIHBsYWdpYXJpemVkIGZyb20gemxpYiBzb3VyY2UuCisgKgorICogUmV0dXJucyB0aGUgbGVuZ3RoIG9mIHRoZSBjb21wcmVzc2VkIGRhdGEgb3IgLTEgb24gZXJyb3IuCisgKi8KK3N0YXRpYyBpbnQKK3htbFpNZW1CdWZmR2V0Q29udGVudCggeG1sWk1lbUJ1ZmZQdHIgYnVmZiwgY2hhciAqKiBkYXRhX3JlZiApIHsKKworICAgIGludAkJemxndGggPSAtMTsKKyAgICBpbnQJCXpfZXJyOworCisgICAgaWYgKCAoIGJ1ZmYgPT0gTlVMTCApIHx8ICggZGF0YV9yZWYgPT0gTlVMTCApICkKKwlyZXR1cm4gKCAtMSApOworCisgICAgLyogIE5lZWQgdG8gbG9vcCB1bnRpbCBjb21wcmVzc2lvbiBvdXRwdXQgYnVmZmVycyBhcmUgZmx1c2hlZCAgKi8KKworICAgIGRvCisgICAgeworCXpfZXJyID0gZGVmbGF0ZSggJmJ1ZmYtPnpjdHJsLCBaX0ZJTklTSCApOworCWlmICggel9lcnIgPT0gWl9PSyApIHsKKwkgICAgLyogIEluIHRoaXMgY2FzZSBaX09LIG1lYW5zIG1vcmUgYnVmZmVyIHNwYWNlIG5lZWRlZCAgKi8KKworCSAgICBpZiAoIHhtbFpNZW1CdWZmRXh0ZW5kKCBidWZmLCBidWZmLT5zaXplICkgPT0gLTEgKQorCQlyZXR1cm4gKCAtMSApOworCX0KKyAgICB9CisgICAgd2hpbGUgKCB6X2VyciA9PSBaX09LICk7CisKKyAgICAvKiAgSWYgdGhlIGNvbXByZXNzaW9uIHN0YXRlIGlzIG5vdCBaX1NUUkVBTV9FTkQsIHNvbWUgZXJyb3Igb2NjdXJyZWQgICovCisKKyAgICBpZiAoIHpfZXJyID09IFpfU1RSRUFNX0VORCApIHsKKworCS8qICBOZWVkIHRvIGFwcGVuZCB0aGUgZ3ppcCBkYXRhIHRyYWlsZXIgICovCisKKwlpZiAoIGJ1ZmYtPnpjdHJsLmF2YWlsX291dCA8ICggMiAqIHNpemVvZiggdW5zaWduZWQgbG9uZyApICkgKSB7CisJICAgIGlmICggeG1sWk1lbUJ1ZmZFeHRlbmQoYnVmZiwgKDIgKiBzaXplb2YodW5zaWduZWQgbG9uZykpKSA9PSAtMSApCisJCXJldHVybiAoIC0xICk7CisJfQorCisJLyoKKwkqKiAgRm9yIHdoYXRldmVyIHJlYXNvbiwgdGhlIENSQyBhbmQgbGVuZ3RoIGRhdGEgYXJlIHB1c2hlZCBvdXQKKwkqKiAgaW4gcmV2ZXJzZSBieXRlIG9yZGVyLiAgU28gYSBtZW1jcHkgY2FuJ3QgYmUgdXNlZCBoZXJlLgorCSovCisKKwlhcHBlbmRfcmV2ZXJzZV91bG9uZyggYnVmZiwgYnVmZi0+Y3JjICk7CisJYXBwZW5kX3JldmVyc2VfdWxvbmcoIGJ1ZmYsIGJ1ZmYtPnpjdHJsLnRvdGFsX2luICk7CisKKwl6bGd0aCA9IGJ1ZmYtPnpjdHJsLm5leHRfb3V0IC0gYnVmZi0+emJ1ZmY7CisJKmRhdGFfcmVmID0gKGNoYXIgKilidWZmLT56YnVmZjsKKyAgICB9CisKKyAgICBlbHNlIHsKKwl4bWxDaGFyIG1zZ1s1MDBdOworCXhtbFN0clByaW50Zihtc2csIDUwMCwKKwkJICAgIChjb25zdCB4bWxDaGFyICopICJ4bWxaTWVtQnVmZkdldENvbnRlbnQ6ICAlcyAtICVkXG4iLAorCQkgICAgIkVycm9yIGZsdXNoaW5nIHpsaWIgYnVmZmVycy4gIEVycm9yIGNvZGUiLCB6X2VyciApOworCXhtbElPRXJyKFhNTF9JT19XUklURSwgKGNvbnN0IGNoYXIgKikgbXNnKTsKKyAgICB9CisKKyAgICByZXR1cm4gKCB6bGd0aCApOworfQorI2VuZGlmIC8qIExJQlhNTF9PVVRQVVRfRU5BQkxFRCAqLworI2VuZGlmICAvKiAgSEFWRV9aTElCX0ggICovCisKKyNpZmRlZiBMSUJYTUxfT1VUUFVUX0VOQUJMRUQKKy8qKgorICogeG1sRnJlZUhUVFBXcml0ZUN0eHQKKyAqIEBjdHh0OiAgQ29udGV4dCB0byBjbGVhbnVwCisgKgorICogRnJlZSBhbGxvY2F0ZWQgbWVtb3J5IGFuZCByZWNsYWltIHN5c3RlbSByZXNvdXJjZXMuCisgKgorICogTm8gcmV0dXJuIHZhbHVlLgorICovCitzdGF0aWMgdm9pZAoreG1sRnJlZUhUVFBXcml0ZUN0eHQoIHhtbElPSFRUUFdyaXRlQ3R4dFB0ciBjdHh0ICkKK3sKKyAgICBpZiAoIGN0eHQtPnVyaSAhPSBOVUxMICkKKwl4bWxGcmVlKCBjdHh0LT51cmkgKTsKKworICAgIGlmICggY3R4dC0+ZG9jX2J1ZmYgIT0gTlVMTCApIHsKKworI2lmZGVmIEhBVkVfWkxJQl9ICisJaWYgKCBjdHh0LT5jb21wcmVzc2lvbiA+IDAgKSB7CisJICAgIHhtbEZyZWVaTWVtQnVmZiggY3R4dC0+ZG9jX2J1ZmYgKTsKKwl9CisJZWxzZQorI2VuZGlmCisJeworCSAgICB4bWxPdXRwdXRCdWZmZXJDbG9zZSggY3R4dC0+ZG9jX2J1ZmYgKTsKKwl9CisgICAgfQorCisgICAgeG1sRnJlZSggY3R4dCApOworICAgIHJldHVybjsKK30KKyNlbmRpZiAvKiBMSUJYTUxfT1VUUFVUX0VOQUJMRUQgKi8KKworCisvKioKKyAqIHhtbElPSFRUUE1hdGNoOgorICogQGZpbGVuYW1lOiAgdGhlIFVSSSBmb3IgbWF0Y2hpbmcKKyAqCisgKiBjaGVjayBpZiB0aGUgVVJJIG1hdGNoZXMgYW4gSFRUUCBvbmUKKyAqCisgKiBSZXR1cm5zIDEgaWYgbWF0Y2hlcywgMCBvdGhlcndpc2UKKyAqLworaW50Cit4bWxJT0hUVFBNYXRjaCAoY29uc3QgY2hhciAqZmlsZW5hbWUpIHsKKyAgICBpZiAoIXhtbFN0cm5jYXNlY21wKEJBRF9DQVNUIGZpbGVuYW1lLCBCQURfQ0FTVCAiaHR0cDovLyIsIDcpKQorCXJldHVybigxKTsKKyAgICByZXR1cm4oMCk7Cit9CisKKy8qKgorICogeG1sSU9IVFRQT3BlbjoKKyAqIEBmaWxlbmFtZTogIHRoZSBVUkkgZm9yIG1hdGNoaW5nCisgKgorICogb3BlbiBhbiBIVFRQIEkvTyBjaGFubmVsCisgKgorICogUmV0dXJucyBhbiBJL08gY29udGV4dCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IKKyAqLwordm9pZCAqCit4bWxJT0hUVFBPcGVuIChjb25zdCBjaGFyICpmaWxlbmFtZSkgeworICAgIHJldHVybih4bWxOYW5vSFRUUE9wZW4oZmlsZW5hbWUsIE5VTEwpKTsKK30KKworI2lmZGVmIExJQlhNTF9PVVRQVVRfRU5BQkxFRAorLyoqCisgKiB4bWxJT0hUVFBPcGVuVzoKKyAqIEBwb3N0X3VyaTogIFRoZSBkZXN0aW5hdGlvbiBVUkkgZm9yIHRoZSBkb2N1bWVudAorICogQGNvbXByZXNzaW9uOiAgVGhlIGNvbXByZXNzaW9uIGRlc2lyZWQgZm9yIHRoZSBkb2N1bWVudC4KKyAqCisgKiBPcGVuIGEgdGVtcG9yYXJ5IGJ1ZmZlciB0byBjb2xsZWN0IHRoZSBkb2N1bWVudCBmb3IgYSBzdWJzZXF1ZW50IEhUVFAgUE9TVAorICogcmVxdWVzdC4gIE5vbi1zdGF0aWMgYXMgaXMgY2FsbGVkIGZyb20gdGhlIG91dHB1dCBidWZmZXIgY3JlYXRpb24gcm91dGluZS4KKyAqCisgKiBSZXR1cm5zIGFuIEkvTyBjb250ZXh0IG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworCit2b2lkICoKK3htbElPSFRUUE9wZW5XKGNvbnN0IGNoYXIgKnBvc3RfdXJpLCBpbnQgY29tcHJlc3Npb24pCit7CisKKyAgICB4bWxJT0hUVFBXcml0ZUN0eHRQdHIgY3R4dCA9IE5VTEw7CisKKyAgICBpZiAocG9zdF91cmkgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKworICAgIGN0eHQgPSB4bWxNYWxsb2Moc2l6ZW9mKHhtbElPSFRUUFdyaXRlQ3R4dCkpOworICAgIGlmIChjdHh0ID09IE5VTEwpIHsKKwl4bWxJT0Vyck1lbW9yeSgiY3JlYXRpbmcgSFRUUCBvdXRwdXQgY29udGV4dCIpOworICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIH0KKworICAgICh2b2lkKSBtZW1zZXQoY3R4dCwgMCwgc2l6ZW9mKHhtbElPSFRUUFdyaXRlQ3R4dCkpOworCisgICAgY3R4dC0+dXJpID0gKGNoYXIgKikgeG1sU3RyZHVwKChjb25zdCB4bWxDaGFyICopcG9zdF91cmkpOworICAgIGlmIChjdHh0LT51cmkgPT0gTlVMTCkgeworCXhtbElPRXJyTWVtb3J5KCJjb3B5aW5nIFVSSSIpOworICAgICAgICB4bWxGcmVlSFRUUFdyaXRlQ3R4dChjdHh0KTsKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICB9CisKKyAgICAvKgorICAgICAqICoqICBTaW5jZSB0aGUgZG9jdW1lbnQgbGVuZ3RoIGlzIHJlcXVpcmVkIGZvciBhbiBIVFRQIHBvc3QsCisgICAgICogKiogIG5lZWQgdG8gcHV0IHRoZSBkb2N1bWVudCBpbnRvIGEgYnVmZmVyLiAgQSBtZW1vcnkgYnVmZmVyCisgICAgICogKiogIGlzIGJlaW5nIHVzZWQgdG8gYXZvaWQgcHVzaGluZyB0aGUgZGF0YSB0byBkaXNrIGFuZCBiYWNrLgorICAgICAqLworCisjaWZkZWYgSEFWRV9aTElCX0gKKyAgICBpZiAoKGNvbXByZXNzaW9uID4gMCkgJiYgKGNvbXByZXNzaW9uIDw9IDkpKSB7CisKKyAgICAgICAgY3R4dC0+Y29tcHJlc3Npb24gPSBjb21wcmVzc2lvbjsKKyAgICAgICAgY3R4dC0+ZG9jX2J1ZmYgPSB4bWxDcmVhdGVaTWVtQnVmZihjb21wcmVzc2lvbik7CisgICAgfSBlbHNlCisjZW5kaWYKKyAgICB7CisgICAgICAgIC8qICBBbnkgY2hhcmFjdGVyIGNvbnZlcnNpb25zIHNob3VsZCBoYXZlIGJlZW4gZG9uZSBiZWZvcmUgdGhpcyAgKi8KKworICAgICAgICBjdHh0LT5kb2NfYnVmZiA9IHhtbEFsbG9jT3V0cHV0QnVmZmVySW50ZXJuYWwoTlVMTCk7CisgICAgfQorCisgICAgaWYgKGN0eHQtPmRvY19idWZmID09IE5VTEwpIHsKKyAgICAgICAgeG1sRnJlZUhUVFBXcml0ZUN0eHQoY3R4dCk7CisgICAgICAgIGN0eHQgPSBOVUxMOworICAgIH0KKworICAgIHJldHVybiAoY3R4dCk7Cit9CisjZW5kaWYgLyogTElCWE1MX09VVFBVVF9FTkFCTEVEICovCisKKyNpZmRlZiBMSUJYTUxfT1VUUFVUX0VOQUJMRUQKKy8qKgorICogeG1sSU9IVFRQRGZsdE9wZW5XCisgKiBAcG9zdF91cmk6ICBUaGUgZGVzdGluYXRpb24gVVJJIGZvciB0aGlzIGRvY3VtZW50LgorICoKKyAqIENhbGxzIHhtbElPSFRUUE9wZW5XIHdpdGggbm8gY29tcHJlc3Npb24gdG8gc2V0IHVwIGZvciBhIHN1YnNlcXVlbnQKKyAqIEhUVFAgcG9zdCBjb21tYW5kLiAgVGhpcyBmdW5jdGlvbiBzaG91bGQgZ2VuZXJhbGx5IG5vdCBiZSB1c2VkIGFzCisgKiB0aGUgb3BlbiBjYWxsYmFjayBpcyBzaG9ydCBjaXJjdWl0ZWQgaW4geG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZS4KKyAqCisgKiBSZXR1cm5zIGEgcG9pbnRlciB0byB0aGUgbmV3IElPIGNvbnRleHQuCisgKi8KK3N0YXRpYyB2b2lkICoKK3htbElPSFRUUERmbHRPcGVuVyggY29uc3QgY2hhciAqIHBvc3RfdXJpICkgeworICAgIHJldHVybiAoIHhtbElPSFRUUE9wZW5XKCBwb3N0X3VyaSwgMCApICk7Cit9CisjZW5kaWYgLyogTElCWE1MX09VVFBVVF9FTkFCTEVEICovCisKKy8qKgorICogeG1sSU9IVFRQUmVhZDoKKyAqIEBjb250ZXh0OiAgdGhlIEkvTyBjb250ZXh0CisgKiBAYnVmZmVyOiAgd2hlcmUgdG8gZHJvcCBkYXRhCisgKiBAbGVuOiAgbnVtYmVyIG9mIGJ5dGVzIHRvIHdyaXRlCisgKgorICogUmVhZCBAbGVuIGJ5dGVzIHRvIEBidWZmZXIgZnJvbSB0aGUgSS9PIGNoYW5uZWwuCisgKgorICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIGJ5dGVzIHdyaXR0ZW4KKyAqLworaW50Cit4bWxJT0hUVFBSZWFkKHZvaWQgKiBjb250ZXh0LCBjaGFyICogYnVmZmVyLCBpbnQgbGVuKSB7CisgICAgaWYgKChidWZmZXIgPT0gTlVMTCkgfHwgKGxlbiA8IDApKSByZXR1cm4oLTEpOworICAgIHJldHVybih4bWxOYW5vSFRUUFJlYWQoY29udGV4dCwgJmJ1ZmZlclswXSwgbGVuKSk7Cit9CisKKyNpZmRlZiBMSUJYTUxfT1VUUFVUX0VOQUJMRUQKKy8qKgorICogeG1sSU9IVFRQV3JpdGUKKyAqIEBjb250ZXh0OiAgcHJldmlvdXNseSBvcGVuZWQgd3JpdGluZyBjb250ZXh0CisgKiBAYnVmZmVyOiAgIGRhdGEgdG8gb3V0cHV0IHRvIHRlbXBvcmFyeSBidWZmZXIKKyAqIEBsZW46ICAgICAgYnl0ZXMgdG8gb3V0cHV0CisgKgorICogQ29sbGVjdCBkYXRhIGZyb20gbWVtb3J5IGJ1ZmZlciBpbnRvIGEgdGVtcG9yYXJ5IGZpbGUgZm9yIGxhdGVyCisgKiBwcm9jZXNzaW5nLgorICoKKyAqIFJldHVybnMgbnVtYmVyIG9mIGJ5dGVzIHdyaXR0ZW4uCisgKi8KKworc3RhdGljIGludAoreG1sSU9IVFRQV3JpdGUoIHZvaWQgKiBjb250ZXh0LCBjb25zdCBjaGFyICogYnVmZmVyLCBpbnQgbGVuICkgeworCisgICAgeG1sSU9IVFRQV3JpdGVDdHh0UHRyCWN0eHQgPSBjb250ZXh0OworCisgICAgaWYgKCAoIGN0eHQgPT0gTlVMTCApIHx8ICggY3R4dC0+ZG9jX2J1ZmYgPT0gTlVMTCApIHx8ICggYnVmZmVyID09IE5VTEwgKSApCisJcmV0dXJuICggLTEgKTsKKworICAgIGlmICggbGVuID4gMCApIHsKKworCS8qICBVc2UgZ3p3cml0ZSBvciBmd3JpdGUgYXMgcHJldmlvdXNseSBzZXR1cCBpbiB0aGUgb3BlbiBjYWxsICAqLworCisjaWZkZWYgSEFWRV9aTElCX0gKKwlpZiAoIGN0eHQtPmNvbXByZXNzaW9uID4gMCApCisJICAgIGxlbiA9IHhtbFpNZW1CdWZmQXBwZW5kKCBjdHh0LT5kb2NfYnVmZiwgYnVmZmVyLCBsZW4gKTsKKworCWVsc2UKKyNlbmRpZgorCSAgICBsZW4gPSB4bWxPdXRwdXRCdWZmZXJXcml0ZSggY3R4dC0+ZG9jX2J1ZmYsIGxlbiwgYnVmZmVyICk7CisKKwlpZiAoIGxlbiA8IDAgKSB7CisJICAgIHhtbENoYXIgbXNnWzUwMF07CisJICAgIHhtbFN0clByaW50Zihtc2csIDUwMCwKKwkJCShjb25zdCB4bWxDaGFyICopICJ4bWxJT0hUVFBXcml0ZTogICVzXG4lcyAnJXMnLlxuIiwKKwkJCSJFcnJvciBhcHBlbmRpbmcgdG8gaW50ZXJuYWwgYnVmZmVyLiIsCisJCQkiRXJyb3Igc2VuZGluZyBkb2N1bWVudCB0byBVUkkiLAorCQkJY3R4dC0+dXJpICk7CisJICAgIHhtbElPRXJyKFhNTF9JT19XUklURSwgKGNvbnN0IGNoYXIgKikgbXNnKTsKKwl9CisgICAgfQorCisgICAgcmV0dXJuICggbGVuICk7Cit9CisjZW5kaWYgLyogTElCWE1MX09VVFBVVF9FTkFCTEVEICovCisKKworLyoqCisgKiB4bWxJT0hUVFBDbG9zZToKKyAqIEBjb250ZXh0OiAgdGhlIEkvTyBjb250ZXh0CisgKgorICogQ2xvc2UgYW4gSFRUUCBJL08gY2hhbm5lbAorICoKKyAqIFJldHVybnMgMAorICovCitpbnQKK3htbElPSFRUUENsb3NlICh2b2lkICogY29udGV4dCkgeworICAgIHhtbE5hbm9IVFRQQ2xvc2UoY29udGV4dCk7CisgICAgcmV0dXJuIDA7Cit9CisKKyNpZmRlZiBMSUJYTUxfT1VUUFVUX0VOQUJMRUQKKy8qKgorICogeG1sSU9IVFRDbG9zZVdyaXRlCisgKiBAY29udGV4dDogIFRoZSBJL08gY29udGV4dAorICogQGh0dHBfbXRoZDogVGhlIEhUVFAgbWV0aG9kIHRvIGJlIHVzZWQgd2hlbiBzZW5kaW5nIHRoZSBkYXRhCisgKgorICogQ2xvc2UgdGhlIHRyYW5zbWl0IEhUVFAgSS9PIGNoYW5uZWwgYW5kIGFjdHVhbGx5IHNlbmQgdGhlIGRhdGEuCisgKi8KK3N0YXRpYyBpbnQKK3htbElPSFRUUENsb3NlV3JpdGUoIHZvaWQgKiBjb250ZXh0LCBjb25zdCBjaGFyICogaHR0cF9tdGhkICkgeworCisgICAgaW50CQkJCWNsb3NlX3JjID0gLTE7CisgICAgaW50CQkJCWh0dHBfcnRuID0gMDsKKyAgICBpbnQJCQkJY29udGVudF9sZ3RoID0gMDsKKyAgICB4bWxJT0hUVFBXcml0ZUN0eHRQdHIJY3R4dCA9IGNvbnRleHQ7CisKKyAgICBjaGFyICoJCQlodHRwX2NvbnRlbnQgPSBOVUxMOworICAgIGNoYXIgKgkJCWNvbnRlbnRfZW5jb2RpbmcgPSBOVUxMOworICAgIGNoYXIgKgkJCWNvbnRlbnRfdHlwZSA9IChjaGFyICopICJ0ZXh0L3htbCI7CisgICAgdm9pZCAqCQkJaHR0cF9jdHh0ID0gTlVMTDsKKworICAgIGlmICggKCBjdHh0ID09IE5VTEwgKSB8fCAoIGh0dHBfbXRoZCA9PSBOVUxMICkgKQorCXJldHVybiAoIC0xICk7CisKKyAgICAvKiAgUmV0cmlldmUgdGhlIGNvbnRlbnQgZnJvbSB0aGUgYXBwcm9wcmlhdGUgYnVmZmVyICAqLworCisjaWZkZWYgSEFWRV9aTElCX0gKKworICAgIGlmICggY3R4dC0+Y29tcHJlc3Npb24gPiAwICkgeworCWNvbnRlbnRfbGd0aCA9IHhtbFpNZW1CdWZmR2V0Q29udGVudCggY3R4dC0+ZG9jX2J1ZmYsICZodHRwX2NvbnRlbnQgKTsKKwljb250ZW50X2VuY29kaW5nID0gKGNoYXIgKikgIkNvbnRlbnQtRW5jb2Rpbmc6IGd6aXAiOworICAgIH0KKyAgICBlbHNlCisjZW5kaWYKKyAgICB7CisJLyogIFB1bGwgdGhlIGRhdGEgb3V0IG9mIHRoZSBtZW1vcnkgb3V0cHV0IGJ1ZmZlciAgKi8KKworCXhtbE91dHB1dEJ1ZmZlclB0cglkY3R4dCA9IGN0eHQtPmRvY19idWZmOworCWh0dHBfY29udGVudCA9IChjaGFyICopIHhtbEJ1ZkNvbnRlbnQoZGN0eHQtPmJ1ZmZlcik7CisJY29udGVudF9sZ3RoID0geG1sQnVmVXNlKGRjdHh0LT5idWZmZXIpOworICAgIH0KKworICAgIGlmICggaHR0cF9jb250ZW50ID09IE5VTEwgKSB7CisJeG1sQ2hhciBtc2dbNTAwXTsKKwl4bWxTdHJQcmludGYobXNnLCA1MDAsCisJCSAgICAgKGNvbnN0IHhtbENoYXIgKikgInhtbElPSFRUUENsb3NlV3JpdGU6ICAlcyAnJXMnICVzICclcycuXG4iLAorCQkgICAgICJFcnJvciByZXRyaWV2aW5nIGNvbnRlbnQuXG5VbmFibGUgdG8iLAorCQkgICAgIGh0dHBfbXRoZCwgImRhdGEgdG8gVVJJIiwgY3R4dC0+dXJpICk7CisJeG1sSU9FcnIoWE1MX0lPX1dSSVRFLCAoY29uc3QgY2hhciAqKSBtc2cpOworICAgIH0KKworICAgIGVsc2UgeworCisJaHR0cF9jdHh0ID0geG1sTmFub0hUVFBNZXRob2QoIGN0eHQtPnVyaSwgaHR0cF9tdGhkLCBodHRwX2NvbnRlbnQsCisJCQkJCSZjb250ZW50X3R5cGUsIGNvbnRlbnRfZW5jb2RpbmcsCisJCQkJCWNvbnRlbnRfbGd0aCApOworCisJaWYgKCBodHRwX2N0eHQgIT0gTlVMTCApIHsKKyNpZmRlZiBERUJVR19IVFRQCisJICAgIC8qICBJZiB0ZXN0aW5nL2RlYnVnZ2luZyAtIGR1bXAgcmVwbHkgd2l0aCByZXF1ZXN0IGNvbnRlbnQgICovCisKKwkgICAgRklMRSAqCXRzdF9maWxlID0gTlVMTDsKKwkgICAgY2hhcglidWZmZXJbIDQwOTYgXTsKKwkgICAgY2hhciAqCWR1bXBfbmFtZSA9IE5VTEw7CisJICAgIGludAkJYXZhaWw7CisKKwkgICAgeG1sR2VuZXJpY0Vycm9yKCB4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkJInhtbE5hbm9IVFRQQ2xvc2VXcml0ZTogIEhUVFAgJXMgdG9cbiVzIHJldHVybmVkICVkLlxuIiwKKwkJCWh0dHBfbXRoZCwgY3R4dC0+dXJpLAorCQkJeG1sTmFub0hUVFBSZXR1cm5Db2RlKCBodHRwX2N0eHQgKSApOworCisJICAgIC8qCisJICAgICoqICBTaW5jZSBlaXRoZXIgY29udGVudCBvciByZXBseSBtYXkgYmUgZ3ppcHBlZCwKKwkgICAgKiogIGR1bXAgdGhlbSB0byBzZXBhcmF0ZSBmaWxlcyBpbnN0ZWFkIG9mIHRoZQorCSAgICAqKiAgc3RhbmRhcmQgZXJyb3IgY29udGV4dC4KKwkgICAgKi8KKworCSAgICBkdW1wX25hbWUgPSB0ZW1wbmFtKCBOVUxMLCAibHhtbCIgKTsKKwkgICAgaWYgKCBkdW1wX25hbWUgIT0gTlVMTCApIHsKKwkJKHZvaWQpc25wcmludGYoIGJ1ZmZlciwgc2l6ZW9mKGJ1ZmZlciksICIlcy5jb250ZW50IiwgZHVtcF9uYW1lICk7CisKKwkJdHN0X2ZpbGUgPSBmb3BlbiggYnVmZmVyLCAid2IiICk7CisJCWlmICggdHN0X2ZpbGUgIT0gTlVMTCApIHsKKwkJICAgIHhtbEdlbmVyaWNFcnJvciggeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJCSJUcmFuc21pdHRlZCBjb250ZW50IHNhdmVkIGluIGZpbGU6ICAlc1xuIiwgYnVmZmVyICk7CisKKwkJICAgIGZ3cml0ZSggaHR0cF9jb250ZW50LCBzaXplb2YoIGNoYXIgKSwKKwkJCQkJY29udGVudF9sZ3RoLCB0c3RfZmlsZSApOworCQkgICAgZmNsb3NlKCB0c3RfZmlsZSApOworCQl9CisKKwkJKHZvaWQpc25wcmludGYoIGJ1ZmZlciwgc2l6ZW9mKGJ1ZmZlciksICIlcy5yZXBseSIsIGR1bXBfbmFtZSApOworCQl0c3RfZmlsZSA9IGZvcGVuKCBidWZmZXIsICJ3YiIgKTsKKwkJaWYgKCB0c3RfZmlsZSAhPSBOVUxMICkgeworCQkgICAgeG1sR2VuZXJpY0Vycm9yKCB4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkJIlJlcGx5IGNvbnRlbnQgc2F2ZWQgaW4gZmlsZTogICVzXG4iLCBidWZmZXIgKTsKKworCisJCSAgICB3aGlsZSAoIChhdmFpbCA9IHhtbE5hbm9IVFRQUmVhZCggaHR0cF9jdHh0LAorCQkJCQlidWZmZXIsIHNpemVvZiggYnVmZmVyICkgKSkgPiAwICkgeworCisJCQlmd3JpdGUoIGJ1ZmZlciwgc2l6ZW9mKCBjaGFyICksIGF2YWlsLCB0c3RfZmlsZSApOworCQkgICAgfQorCisJCSAgICBmY2xvc2UoIHRzdF9maWxlICk7CisJCX0KKworCQlmcmVlKCBkdW1wX25hbWUgKTsKKwkgICAgfQorI2VuZGlmICAvKiAgREVCVUdfSFRUUCAgKi8KKworCSAgICBodHRwX3J0biA9IHhtbE5hbm9IVFRQUmV0dXJuQ29kZSggaHR0cF9jdHh0ICk7CisJICAgIGlmICggKCBodHRwX3J0biA+PSAyMDAgKSAmJiAoIGh0dHBfcnRuIDwgMzAwICkgKQorCQljbG9zZV9yYyA9IDA7CisJICAgIGVsc2UgeworICAgICAgICAgICAgICAgIHhtbENoYXIgbXNnWzUwMF07CisgICAgICAgICAgICAgICAgeG1sU3RyUHJpbnRmKG1zZywgNTAwLAorICAgIChjb25zdCB4bWxDaGFyICopICJ4bWxJT0hUVFBDbG9zZVdyaXRlOiBIVFRQICclcycgb2YgJWQgJXNcbiclcycgJXMgJWRcbiIsCisJCQkgICAgaHR0cF9tdGhkLCBjb250ZW50X2xndGgsCisJCQkgICAgImJ5dGVzIHRvIFVSSSIsIGN0eHQtPnVyaSwKKwkJCSAgICAiZmFpbGVkLiAgSFRUUCByZXR1cm4gY29kZToiLCBodHRwX3J0biApOworCQl4bWxJT0VycihYTUxfSU9fV1JJVEUsIChjb25zdCBjaGFyICopIG1zZyk7CisgICAgICAgICAgICB9CisKKwkgICAgeG1sTmFub0hUVFBDbG9zZSggaHR0cF9jdHh0ICk7CisJICAgIHhtbEZyZWUoIGNvbnRlbnRfdHlwZSApOworCX0KKyAgICB9CisKKyAgICAvKiAgRmluYWwgY2xlYW51cHMgICovCisKKyAgICB4bWxGcmVlSFRUUFdyaXRlQ3R4dCggY3R4dCApOworCisgICAgcmV0dXJuICggY2xvc2VfcmMgKTsKK30KKworLyoqCisgKiB4bWxJT0hUVFBDbG9zZVB1dAorICoKKyAqIEBjb250ZXh0OiAgVGhlIEkvTyBjb250ZXh0CisgKgorICogQ2xvc2UgdGhlIHRyYW5zbWl0IEhUVFAgSS9PIGNoYW5uZWwgYW5kIGFjdHVhbGx5IHNlbmQgZGF0YSB1c2luZyBhIFBVVAorICogSFRUUCBtZXRob2QuCisgKi8KK3N0YXRpYyBpbnQKK3htbElPSFRUUENsb3NlUHV0KCB2b2lkICogY3R4dCApIHsKKyAgICByZXR1cm4gKCB4bWxJT0hUVFBDbG9zZVdyaXRlKCBjdHh0LCAiUFVUIiApICk7Cit9CisKKworLyoqCisgKiB4bWxJT0hUVFBDbG9zZVBvc3QKKyAqCisgKiBAY29udGV4dDogIFRoZSBJL08gY29udGV4dAorICoKKyAqIENsb3NlIHRoZSB0cmFuc21pdCBIVFRQIEkvTyBjaGFubmVsIGFuZCBhY3R1YWxseSBzZW5kIGRhdGEgdXNpbmcgYSBQT1NUCisgKiBIVFRQIG1ldGhvZC4KKyAqLworc3RhdGljIGludAoreG1sSU9IVFRQQ2xvc2VQb3N0KCB2b2lkICogY3R4dCApIHsKKyAgICByZXR1cm4gKCB4bWxJT0hUVFBDbG9zZVdyaXRlKCBjdHh0LCAiUE9TVCIgKSApOworfQorI2VuZGlmIC8qIExJQlhNTF9PVVRQVVRfRU5BQkxFRCAqLworCisjZW5kaWYgLyogTElCWE1MX0hUVFBfRU5BQkxFRCAqLworCisjaWZkZWYgTElCWE1MX0ZUUF9FTkFCTEVECisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQkJSS9PIGZvciBGVFAgZmlsZSBhY2Nlc3NlcwkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qKgorICogeG1sSU9GVFBNYXRjaDoKKyAqIEBmaWxlbmFtZTogIHRoZSBVUkkgZm9yIG1hdGNoaW5nCisgKgorICogY2hlY2sgaWYgdGhlIFVSSSBtYXRjaGVzIGFuIEZUUCBvbmUKKyAqCisgKiBSZXR1cm5zIDEgaWYgbWF0Y2hlcywgMCBvdGhlcndpc2UKKyAqLworaW50Cit4bWxJT0ZUUE1hdGNoIChjb25zdCBjaGFyICpmaWxlbmFtZSkgeworICAgIGlmICgheG1sU3RybmNhc2VjbXAoQkFEX0NBU1QgZmlsZW5hbWUsIEJBRF9DQVNUICJmdHA6Ly8iLCA2KSkKKwlyZXR1cm4oMSk7CisgICAgcmV0dXJuKDApOworfQorCisvKioKKyAqIHhtbElPRlRQT3BlbjoKKyAqIEBmaWxlbmFtZTogIHRoZSBVUkkgZm9yIG1hdGNoaW5nCisgKgorICogb3BlbiBhbiBGVFAgSS9PIGNoYW5uZWwKKyAqCisgKiBSZXR1cm5zIGFuIEkvTyBjb250ZXh0IG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcgorICovCit2b2lkICoKK3htbElPRlRQT3BlbiAoY29uc3QgY2hhciAqZmlsZW5hbWUpIHsKKyAgICByZXR1cm4oeG1sTmFub0ZUUE9wZW4oZmlsZW5hbWUpKTsKK30KKworLyoqCisgKiB4bWxJT0ZUUFJlYWQ6CisgKiBAY29udGV4dDogIHRoZSBJL08gY29udGV4dAorICogQGJ1ZmZlcjogIHdoZXJlIHRvIGRyb3AgZGF0YQorICogQGxlbjogIG51bWJlciBvZiBieXRlcyB0byB3cml0ZQorICoKKyAqIFJlYWQgQGxlbiBieXRlcyB0byBAYnVmZmVyIGZyb20gdGhlIEkvTyBjaGFubmVsLgorICoKKyAqIFJldHVybnMgdGhlIG51bWJlciBvZiBieXRlcyB3cml0dGVuCisgKi8KK2ludAoreG1sSU9GVFBSZWFkKHZvaWQgKiBjb250ZXh0LCBjaGFyICogYnVmZmVyLCBpbnQgbGVuKSB7CisgICAgaWYgKChidWZmZXIgPT0gTlVMTCkgfHwgKGxlbiA8IDApKSByZXR1cm4oLTEpOworICAgIHJldHVybih4bWxOYW5vRlRQUmVhZChjb250ZXh0LCAmYnVmZmVyWzBdLCBsZW4pKTsKK30KKworLyoqCisgKiB4bWxJT0ZUUENsb3NlOgorICogQGNvbnRleHQ6ICB0aGUgSS9PIGNvbnRleHQKKyAqCisgKiBDbG9zZSBhbiBGVFAgSS9PIGNoYW5uZWwKKyAqCisgKiBSZXR1cm5zIDAKKyAqLworaW50Cit4bWxJT0ZUUENsb3NlICh2b2lkICogY29udGV4dCkgeworICAgIHJldHVybiAoIHhtbE5hbm9GVFBDbG9zZShjb250ZXh0KSApOworfQorI2VuZGlmIC8qIExJQlhNTF9GVFBfRU5BQkxFRCAqLworCisKKy8qKgorICogeG1sUmVnaXN0ZXJJbnB1dENhbGxiYWNrczoKKyAqIEBtYXRjaEZ1bmM6ICB0aGUgeG1sSW5wdXRNYXRjaENhbGxiYWNrCisgKiBAb3BlbkZ1bmM6ICB0aGUgeG1sSW5wdXRPcGVuQ2FsbGJhY2sKKyAqIEByZWFkRnVuYzogIHRoZSB4bWxJbnB1dFJlYWRDYWxsYmFjaworICogQGNsb3NlRnVuYzogIHRoZSB4bWxJbnB1dENsb3NlQ2FsbGJhY2sKKyAqCisgKiBSZWdpc3RlciBhIG5ldyBzZXQgb2YgSS9PIGNhbGxiYWNrIGZvciBoYW5kbGluZyBwYXJzZXIgaW5wdXQuCisgKgorICogUmV0dXJucyB0aGUgcmVnaXN0ZXJlZCBoYW5kbGVyIG51bWJlciBvciAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK2ludAoreG1sUmVnaXN0ZXJJbnB1dENhbGxiYWNrcyh4bWxJbnB1dE1hdGNoQ2FsbGJhY2sgbWF0Y2hGdW5jLAorCXhtbElucHV0T3BlbkNhbGxiYWNrIG9wZW5GdW5jLCB4bWxJbnB1dFJlYWRDYWxsYmFjayByZWFkRnVuYywKKwl4bWxJbnB1dENsb3NlQ2FsbGJhY2sgY2xvc2VGdW5jKSB7CisgICAgaWYgKHhtbElucHV0Q2FsbGJhY2tOciA+PSBNQVhfSU5QVVRfQ0FMTEJBQ0spIHsKKwlyZXR1cm4oLTEpOworICAgIH0KKyAgICB4bWxJbnB1dENhbGxiYWNrVGFibGVbeG1sSW5wdXRDYWxsYmFja05yXS5tYXRjaGNhbGxiYWNrID0gbWF0Y2hGdW5jOworICAgIHhtbElucHV0Q2FsbGJhY2tUYWJsZVt4bWxJbnB1dENhbGxiYWNrTnJdLm9wZW5jYWxsYmFjayA9IG9wZW5GdW5jOworICAgIHhtbElucHV0Q2FsbGJhY2tUYWJsZVt4bWxJbnB1dENhbGxiYWNrTnJdLnJlYWRjYWxsYmFjayA9IHJlYWRGdW5jOworICAgIHhtbElucHV0Q2FsbGJhY2tUYWJsZVt4bWxJbnB1dENhbGxiYWNrTnJdLmNsb3NlY2FsbGJhY2sgPSBjbG9zZUZ1bmM7CisgICAgeG1sSW5wdXRDYWxsYmFja0luaXRpYWxpemVkID0gMTsKKyAgICByZXR1cm4oeG1sSW5wdXRDYWxsYmFja05yKyspOworfQorCisjaWZkZWYgTElCWE1MX09VVFBVVF9FTkFCTEVECisvKioKKyAqIHhtbFJlZ2lzdGVyT3V0cHV0Q2FsbGJhY2tzOgorICogQG1hdGNoRnVuYzogIHRoZSB4bWxPdXRwdXRNYXRjaENhbGxiYWNrCisgKiBAb3BlbkZ1bmM6ICB0aGUgeG1sT3V0cHV0T3BlbkNhbGxiYWNrCisgKiBAd3JpdGVGdW5jOiAgdGhlIHhtbE91dHB1dFdyaXRlQ2FsbGJhY2sKKyAqIEBjbG9zZUZ1bmM6ICB0aGUgeG1sT3V0cHV0Q2xvc2VDYWxsYmFjaworICoKKyAqIFJlZ2lzdGVyIGEgbmV3IHNldCBvZiBJL08gY2FsbGJhY2sgZm9yIGhhbmRsaW5nIG91dHB1dC4KKyAqCisgKiBSZXR1cm5zIHRoZSByZWdpc3RlcmVkIGhhbmRsZXIgbnVtYmVyIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworaW50Cit4bWxSZWdpc3Rlck91dHB1dENhbGxiYWNrcyh4bWxPdXRwdXRNYXRjaENhbGxiYWNrIG1hdGNoRnVuYywKKwl4bWxPdXRwdXRPcGVuQ2FsbGJhY2sgb3BlbkZ1bmMsIHhtbE91dHB1dFdyaXRlQ2FsbGJhY2sgd3JpdGVGdW5jLAorCXhtbE91dHB1dENsb3NlQ2FsbGJhY2sgY2xvc2VGdW5jKSB7CisgICAgaWYgKHhtbE91dHB1dENhbGxiYWNrTnIgPj0gTUFYX09VVFBVVF9DQUxMQkFDSykgeworCXJldHVybigtMSk7CisgICAgfQorICAgIHhtbE91dHB1dENhbGxiYWNrVGFibGVbeG1sT3V0cHV0Q2FsbGJhY2tOcl0ubWF0Y2hjYWxsYmFjayA9IG1hdGNoRnVuYzsKKyAgICB4bWxPdXRwdXRDYWxsYmFja1RhYmxlW3htbE91dHB1dENhbGxiYWNrTnJdLm9wZW5jYWxsYmFjayA9IG9wZW5GdW5jOworICAgIHhtbE91dHB1dENhbGxiYWNrVGFibGVbeG1sT3V0cHV0Q2FsbGJhY2tOcl0ud3JpdGVjYWxsYmFjayA9IHdyaXRlRnVuYzsKKyAgICB4bWxPdXRwdXRDYWxsYmFja1RhYmxlW3htbE91dHB1dENhbGxiYWNrTnJdLmNsb3NlY2FsbGJhY2sgPSBjbG9zZUZ1bmM7CisgICAgeG1sT3V0cHV0Q2FsbGJhY2tJbml0aWFsaXplZCA9IDE7CisgICAgcmV0dXJuKHhtbE91dHB1dENhbGxiYWNrTnIrKyk7Cit9CisjZW5kaWYgLyogTElCWE1MX09VVFBVVF9FTkFCTEVEICovCisKKy8qKgorICogeG1sUmVnaXN0ZXJEZWZhdWx0SW5wdXRDYWxsYmFja3M6CisgKgorICogUmVnaXN0ZXJzIHRoZSBkZWZhdWx0IGNvbXBpbGVkLWluIEkvTyBoYW5kbGVycy4KKyAqLwordm9pZAoreG1sUmVnaXN0ZXJEZWZhdWx0SW5wdXRDYWxsYmFja3Modm9pZCkgeworICAgIGlmICh4bWxJbnB1dENhbGxiYWNrSW5pdGlhbGl6ZWQpCisJcmV0dXJuOworCisjaWYgZGVmaW5lZChfV0lOMzIpIHx8IGRlZmluZWQgKF9fREpHUFBfXykgJiYgIWRlZmluZWQgKF9fQ1lHV0lOX18pCisgICAgeG1sSW5pdFBsYXRmb3JtU3BlY2lmaWNJbygpOworI2VuZGlmCisKKyAgICB4bWxSZWdpc3RlcklucHV0Q2FsbGJhY2tzKHhtbEZpbGVNYXRjaCwgeG1sRmlsZU9wZW4sCisJICAgICAgICAgICAgICAgICAgICAgIHhtbEZpbGVSZWFkLCB4bWxGaWxlQ2xvc2UpOworI2lmZGVmIEhBVkVfWkxJQl9ICisgICAgeG1sUmVnaXN0ZXJJbnB1dENhbGxiYWNrcyh4bWxHemZpbGVNYXRjaCwgeG1sR3pmaWxlT3BlbiwKKwkgICAgICAgICAgICAgICAgICAgICAgeG1sR3pmaWxlUmVhZCwgeG1sR3pmaWxlQ2xvc2UpOworI2VuZGlmIC8qIEhBVkVfWkxJQl9IICovCisjaWZkZWYgSEFWRV9MWk1BX0gKKyAgICB4bWxSZWdpc3RlcklucHV0Q2FsbGJhY2tzKHhtbFh6ZmlsZU1hdGNoLCB4bWxYemZpbGVPcGVuLAorCSAgICAgICAgICAgICAgICAgICAgICB4bWxYemZpbGVSZWFkLCB4bWxYemZpbGVDbG9zZSk7CisjZW5kaWYgLyogSEFWRV9aTElCX0ggKi8KKworI2lmZGVmIExJQlhNTF9IVFRQX0VOQUJMRUQKKyAgICB4bWxSZWdpc3RlcklucHV0Q2FsbGJhY2tzKHhtbElPSFRUUE1hdGNoLCB4bWxJT0hUVFBPcGVuLAorCSAgICAgICAgICAgICAgICAgICAgICB4bWxJT0hUVFBSZWFkLCB4bWxJT0hUVFBDbG9zZSk7CisjZW5kaWYgLyogTElCWE1MX0hUVFBfRU5BQkxFRCAqLworCisjaWZkZWYgTElCWE1MX0ZUUF9FTkFCTEVECisgICAgeG1sUmVnaXN0ZXJJbnB1dENhbGxiYWNrcyh4bWxJT0ZUUE1hdGNoLCB4bWxJT0ZUUE9wZW4sCisJICAgICAgICAgICAgICAgICAgICAgIHhtbElPRlRQUmVhZCwgeG1sSU9GVFBDbG9zZSk7CisjZW5kaWYgLyogTElCWE1MX0ZUUF9FTkFCTEVEICovCisgICAgeG1sSW5wdXRDYWxsYmFja0luaXRpYWxpemVkID0gMTsKK30KKworI2lmZGVmIExJQlhNTF9PVVRQVVRfRU5BQkxFRAorLyoqCisgKiB4bWxSZWdpc3RlckRlZmF1bHRPdXRwdXRDYWxsYmFja3M6CisgKgorICogUmVnaXN0ZXJzIHRoZSBkZWZhdWx0IGNvbXBpbGVkLWluIEkvTyBoYW5kbGVycy4KKyAqLwordm9pZAoreG1sUmVnaXN0ZXJEZWZhdWx0T3V0cHV0Q2FsbGJhY2tzICh2b2lkKSB7CisgICAgaWYgKHhtbE91dHB1dENhbGxiYWNrSW5pdGlhbGl6ZWQpCisJcmV0dXJuOworCisjaWYgZGVmaW5lZChfV0lOMzIpIHx8IGRlZmluZWQgKF9fREpHUFBfXykgJiYgIWRlZmluZWQgKF9fQ1lHV0lOX18pCisgICAgeG1sSW5pdFBsYXRmb3JtU3BlY2lmaWNJbygpOworI2VuZGlmCisKKyAgICB4bWxSZWdpc3Rlck91dHB1dENhbGxiYWNrcyh4bWxGaWxlTWF0Y2gsIHhtbEZpbGVPcGVuVywKKwkgICAgICAgICAgICAgICAgICAgICAgeG1sRmlsZVdyaXRlLCB4bWxGaWxlQ2xvc2UpOworCisjaWZkZWYgTElCWE1MX0hUVFBfRU5BQkxFRAorICAgIHhtbFJlZ2lzdGVyT3V0cHV0Q2FsbGJhY2tzKHhtbElPSFRUUE1hdGNoLCB4bWxJT0hUVFBEZmx0T3BlblcsCisJICAgICAgICAgICAgICAgICAgICAgICB4bWxJT0hUVFBXcml0ZSwgeG1sSU9IVFRQQ2xvc2VQdXQpOworI2VuZGlmCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyBObyB3YXkgYS1wcmlvcmkgdG8gZGlzdGluZ3Vpc2ggYmV0d2VlbiBnemlwcGVkIGZpbGVzIGZyb20KKyB1bmNvbXByZXNzZWQgb25lcyBleGNlcHQgb3BlbmluZyBpZiBleGlzdGluZyB0aGVuIGNsb3NpbmcKKyBhbmQgc2F2aW5nIHdpdGggc2FtZSBjb21wcmVzc2lvbiByYXRpbyAuLi4gYSBwYWluLgorCisjaWZkZWYgSEFWRV9aTElCX0gKKyAgICB4bWxSZWdpc3Rlck91dHB1dENhbGxiYWNrcyh4bWxHemZpbGVNYXRjaCwgeG1sR3pmaWxlT3BlbiwKKwkgICAgICAgICAgICAgICAgICAgICAgIHhtbEd6ZmlsZVdyaXRlLCB4bWxHemZpbGVDbG9zZSk7CisjZW5kaWYKKworIE5vciBGVFAgUFVUIC4uLi4KKyNpZmRlZiBMSUJYTUxfRlRQX0VOQUJMRUQKKyAgICB4bWxSZWdpc3Rlck91dHB1dENhbGxiYWNrcyh4bWxJT0ZUUE1hdGNoLCB4bWxJT0ZUUE9wZW4sCisJICAgICAgICAgICAgICAgICAgICAgICB4bWxJT0ZUUFdyaXRlLCB4bWxJT0ZUUENsb3NlKTsKKyNlbmRpZgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisgICAgeG1sT3V0cHV0Q2FsbGJhY2tJbml0aWFsaXplZCA9IDE7Cit9CisKKyNpZmRlZiBMSUJYTUxfSFRUUF9FTkFCTEVECisvKioKKyAqIHhtbFJlZ2lzdGVySFRUUFBvc3RDYWxsYmFja3M6CisgKgorICogQnkgZGVmYXVsdCwgbGlieG1sIHN1Ym1pdHMgSFRUUCBvdXRwdXQgcmVxdWVzdHMgdXNpbmcgdGhlICJQVVQiIG1ldGhvZC4KKyAqIENhbGxpbmcgdGhpcyBtZXRob2QgY2hhbmdlcyB0aGUgSFRUUCBvdXRwdXQgbWV0aG9kIHRvIHVzZSB0aGUgIlBPU1QiCisgKiBtZXRob2QgaW5zdGVhZC4KKyAqCisgKi8KK3ZvaWQKK3htbFJlZ2lzdGVySFRUUFBvc3RDYWxsYmFja3MoIHZvaWQgKSB7CisKKyAgICAvKiAgUmVnaXN0ZXIgZGVmYXVsdHMgaWYgbm90IGRvbmUgcHJldmlvdXNseSAgKi8KKworICAgIGlmICggeG1sT3V0cHV0Q2FsbGJhY2tJbml0aWFsaXplZCA9PSAwICkKKwl4bWxSZWdpc3RlckRlZmF1bHRPdXRwdXRDYWxsYmFja3MoICk7CisKKyAgICB4bWxSZWdpc3Rlck91dHB1dENhbGxiYWNrcyh4bWxJT0hUVFBNYXRjaCwgeG1sSU9IVFRQRGZsdE9wZW5XLAorCSAgICAgICAgICAgICAgICAgICAgICAgeG1sSU9IVFRQV3JpdGUsIHhtbElPSFRUUENsb3NlUG9zdCk7CisgICAgcmV0dXJuOworfQorI2VuZGlmCisjZW5kaWYgLyogTElCWE1MX09VVFBVVF9FTkFCTEVEICovCisKKy8qKgorICogeG1sQWxsb2NQYXJzZXJJbnB1dEJ1ZmZlcjoKKyAqIEBlbmM6ICB0aGUgY2hhcnNldCBlbmNvZGluZyBpZiBrbm93bgorICoKKyAqIENyZWF0ZSBhIGJ1ZmZlcmVkIHBhcnNlciBpbnB1dCBmb3IgcHJvZ3Jlc3NpdmUgcGFyc2luZworICoKKyAqIFJldHVybnMgdGhlIG5ldyBwYXJzZXIgaW5wdXQgb3IgTlVMTAorICovCit4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cgoreG1sQWxsb2NQYXJzZXJJbnB1dEJ1ZmZlcih4bWxDaGFyRW5jb2RpbmcgZW5jKSB7CisgICAgeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIgcmV0OworCisgICAgcmV0ID0gKHhtbFBhcnNlcklucHV0QnVmZmVyUHRyKSB4bWxNYWxsb2Moc2l6ZW9mKHhtbFBhcnNlcklucHV0QnVmZmVyKSk7CisgICAgaWYgKHJldCA9PSBOVUxMKSB7CisJeG1sSU9FcnJNZW1vcnkoImNyZWF0aW5nIGlucHV0IGJ1ZmZlciIpOworCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgbWVtc2V0KHJldCwgMCwgKHNpemVfdCkgc2l6ZW9mKHhtbFBhcnNlcklucHV0QnVmZmVyKSk7CisgICAgcmV0LT5idWZmZXIgPSB4bWxCdWZDcmVhdGVTaXplKDIgKiB4bWxEZWZhdWx0QnVmZmVyU2l6ZSk7CisgICAgaWYgKHJldC0+YnVmZmVyID09IE5VTEwpIHsKKyAgICAgICAgeG1sRnJlZShyZXQpOworCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgeG1sQnVmU2V0QWxsb2NhdGlvblNjaGVtZShyZXQtPmJ1ZmZlciwgWE1MX0JVRkZFUl9BTExPQ19ET1VCTEVJVCk7CisgICAgcmV0LT5lbmNvZGVyID0geG1sR2V0Q2hhckVuY29kaW5nSGFuZGxlcihlbmMpOworICAgIGlmIChyZXQtPmVuY29kZXIgIT0gTlVMTCkKKyAgICAgICAgcmV0LT5yYXcgPSB4bWxCdWZDcmVhdGVTaXplKDIgKiB4bWxEZWZhdWx0QnVmZmVyU2l6ZSk7CisgICAgZWxzZQorICAgICAgICByZXQtPnJhdyA9IE5VTEw7CisgICAgcmV0LT5yZWFkY2FsbGJhY2sgPSBOVUxMOworICAgIHJldC0+Y2xvc2VjYWxsYmFjayA9IE5VTEw7CisgICAgcmV0LT5jb250ZXh0ID0gTlVMTDsKKyAgICByZXQtPmNvbXByZXNzZWQgPSAtMTsKKyAgICByZXQtPnJhd2NvbnN1bWVkID0gMDsKKworICAgIHJldHVybihyZXQpOworfQorCisjaWZkZWYgTElCWE1MX09VVFBVVF9FTkFCTEVECisvKioKKyAqIHhtbEFsbG9jT3V0cHV0QnVmZmVyOgorICogQGVuY29kZXI6ICB0aGUgZW5jb2RpbmcgY29udmVydGVyIG9yIE5VTEwKKyAqCisgKiBDcmVhdGUgYSBidWZmZXJlZCBwYXJzZXIgb3V0cHV0CisgKgorICogUmV0dXJucyB0aGUgbmV3IHBhcnNlciBvdXRwdXQgb3IgTlVMTAorICovCit4bWxPdXRwdXRCdWZmZXJQdHIKK3htbEFsbG9jT3V0cHV0QnVmZmVyKHhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIgZW5jb2RlcikgeworICAgIHhtbE91dHB1dEJ1ZmZlclB0ciByZXQ7CisKKyAgICByZXQgPSAoeG1sT3V0cHV0QnVmZmVyUHRyKSB4bWxNYWxsb2Moc2l6ZW9mKHhtbE91dHB1dEJ1ZmZlcikpOworICAgIGlmIChyZXQgPT0gTlVMTCkgeworCXhtbElPRXJyTWVtb3J5KCJjcmVhdGluZyBvdXRwdXQgYnVmZmVyIik7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBtZW1zZXQocmV0LCAwLCAoc2l6ZV90KSBzaXplb2YoeG1sT3V0cHV0QnVmZmVyKSk7CisgICAgcmV0LT5idWZmZXIgPSB4bWxCdWZDcmVhdGUoKTsKKyAgICBpZiAocmV0LT5idWZmZXIgPT0gTlVMTCkgeworICAgICAgICB4bWxGcmVlKHJldCk7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKworICAgIC8qIHRyeSB0byBhdm9pZCBhIHBlcmZvcm1hbmNlIHByb2JsZW0gd2l0aCBXaW5kb3dzIHJlYWxsb2MoKSAqLworICAgIGlmICh4bWxCdWZHZXRBbGxvY2F0aW9uU2NoZW1lKHJldC0+YnVmZmVyKSA9PSBYTUxfQlVGRkVSX0FMTE9DX0VYQUNUKQorICAgICAgICB4bWxCdWZTZXRBbGxvY2F0aW9uU2NoZW1lKHJldC0+YnVmZmVyLCBYTUxfQlVGRkVSX0FMTE9DX0RPVUJMRUlUKTsKKworICAgIHJldC0+ZW5jb2RlciA9IGVuY29kZXI7CisgICAgaWYgKGVuY29kZXIgIT0gTlVMTCkgeworICAgICAgICByZXQtPmNvbnYgPSB4bWxCdWZDcmVhdGVTaXplKDQwMDApOworCWlmIChyZXQtPmNvbnYgPT0gTlVMTCkgeworCSAgICB4bWxGcmVlKHJldCk7CisJICAgIHJldHVybihOVUxMKTsKKwl9CisKKwkvKgorCSAqIFRoaXMgY2FsbCBpcyBkZXNpZ25lZCB0byBpbml0aWF0ZSB0aGUgZW5jb2RlciBzdGF0ZQorCSAqLworCXhtbENoYXJFbmNPdXRwdXQocmV0LCAxKTsKKyAgICB9IGVsc2UKKyAgICAgICAgcmV0LT5jb252ID0gTlVMTDsKKyAgICByZXQtPndyaXRlY2FsbGJhY2sgPSBOVUxMOworICAgIHJldC0+Y2xvc2VjYWxsYmFjayA9IE5VTEw7CisgICAgcmV0LT5jb250ZXh0ID0gTlVMTDsKKyAgICByZXQtPndyaXR0ZW4gPSAwOworCisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogeG1sQWxsb2NPdXRwdXRCdWZmZXJJbnRlcm5hbDoKKyAqIEBlbmNvZGVyOiAgdGhlIGVuY29kaW5nIGNvbnZlcnRlciBvciBOVUxMCisgKgorICogQ3JlYXRlIGEgYnVmZmVyZWQgcGFyc2VyIG91dHB1dAorICoKKyAqIFJldHVybnMgdGhlIG5ldyBwYXJzZXIgb3V0cHV0IG9yIE5VTEwKKyAqLworeG1sT3V0cHV0QnVmZmVyUHRyCit4bWxBbGxvY091dHB1dEJ1ZmZlckludGVybmFsKHhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIgZW5jb2RlcikgeworICAgIHhtbE91dHB1dEJ1ZmZlclB0ciByZXQ7CisKKyAgICByZXQgPSAoeG1sT3V0cHV0QnVmZmVyUHRyKSB4bWxNYWxsb2Moc2l6ZW9mKHhtbE91dHB1dEJ1ZmZlcikpOworICAgIGlmIChyZXQgPT0gTlVMTCkgeworCXhtbElPRXJyTWVtb3J5KCJjcmVhdGluZyBvdXRwdXQgYnVmZmVyIik7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBtZW1zZXQocmV0LCAwLCAoc2l6ZV90KSBzaXplb2YoeG1sT3V0cHV0QnVmZmVyKSk7CisgICAgcmV0LT5idWZmZXIgPSB4bWxCdWZDcmVhdGUoKTsKKyAgICBpZiAocmV0LT5idWZmZXIgPT0gTlVMTCkgeworICAgICAgICB4bWxGcmVlKHJldCk7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKworCisgICAgLyoKKyAgICAgKiBGb3IgY29udmVyc2lvbiBidWZmZXJzIHdlIHVzZSB0aGUgc3BlY2lhbCBJTyBoYW5kbGluZworICAgICAqLworICAgIHhtbEJ1ZlNldEFsbG9jYXRpb25TY2hlbWUocmV0LT5idWZmZXIsIFhNTF9CVUZGRVJfQUxMT0NfSU8pOworCisgICAgcmV0LT5lbmNvZGVyID0gZW5jb2RlcjsKKyAgICBpZiAoZW5jb2RlciAhPSBOVUxMKSB7CisgICAgICAgIHJldC0+Y29udiA9IHhtbEJ1ZkNyZWF0ZVNpemUoNDAwMCk7CisJaWYgKHJldC0+Y29udiA9PSBOVUxMKSB7CisJICAgIHhtbEZyZWUocmV0KTsKKwkgICAgcmV0dXJuKE5VTEwpOworCX0KKworCS8qCisJICogVGhpcyBjYWxsIGlzIGRlc2lnbmVkIHRvIGluaXRpYXRlIHRoZSBlbmNvZGVyIHN0YXRlCisJICovCisgICAgICAgIHhtbENoYXJFbmNPdXRwdXQocmV0LCAxKTsKKyAgICB9IGVsc2UKKyAgICAgICAgcmV0LT5jb252ID0gTlVMTDsKKyAgICByZXQtPndyaXRlY2FsbGJhY2sgPSBOVUxMOworICAgIHJldC0+Y2xvc2VjYWxsYmFjayA9IE5VTEw7CisgICAgcmV0LT5jb250ZXh0ID0gTlVMTDsKKyAgICByZXQtPndyaXR0ZW4gPSAwOworCisgICAgcmV0dXJuKHJldCk7Cit9CisKKyNlbmRpZiAvKiBMSUJYTUxfT1VUUFVUX0VOQUJMRUQgKi8KKworLyoqCisgKiB4bWxGcmVlUGFyc2VySW5wdXRCdWZmZXI6CisgKiBAaW46ICBhIGJ1ZmZlcmVkIHBhcnNlciBpbnB1dAorICoKKyAqIEZyZWUgdXAgdGhlIG1lbW9yeSB1c2VkIGJ5IGEgYnVmZmVyZWQgcGFyc2VyIGlucHV0CisgKi8KK3ZvaWQKK3htbEZyZWVQYXJzZXJJbnB1dEJ1ZmZlcih4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciBpbikgeworICAgIGlmIChpbiA9PSBOVUxMKSByZXR1cm47CisKKyAgICBpZiAoaW4tPnJhdykgeworICAgICAgICB4bWxCdWZGcmVlKGluLT5yYXcpOworCWluLT5yYXcgPSBOVUxMOworICAgIH0KKyAgICBpZiAoaW4tPmVuY29kZXIgIT0gTlVMTCkgeworICAgICAgICB4bWxDaGFyRW5jQ2xvc2VGdW5jKGluLT5lbmNvZGVyKTsKKyAgICB9CisgICAgaWYgKGluLT5jbG9zZWNhbGxiYWNrICE9IE5VTEwpIHsKKwlpbi0+Y2xvc2VjYWxsYmFjayhpbi0+Y29udGV4dCk7CisgICAgfQorICAgIGlmIChpbi0+YnVmZmVyICE9IE5VTEwpIHsKKyAgICAgICAgeG1sQnVmRnJlZShpbi0+YnVmZmVyKTsKKwlpbi0+YnVmZmVyID0gTlVMTDsKKyAgICB9CisKKyAgICB4bWxGcmVlKGluKTsKK30KKworI2lmZGVmIExJQlhNTF9PVVRQVVRfRU5BQkxFRAorLyoqCisgKiB4bWxPdXRwdXRCdWZmZXJDbG9zZToKKyAqIEBvdXQ6ICBhIGJ1ZmZlcmVkIG91dHB1dAorICoKKyAqIGZsdXNoZXMgYW5kIGNsb3NlIHRoZSBvdXRwdXQgSS9PIGNoYW5uZWwKKyAqIGFuZCBmcmVlIHVwIGFsbCB0aGUgYXNzb2NpYXRlZCByZXNvdXJjZXMKKyAqCisgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgYnl0ZSB3cml0dGVuIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludAoreG1sT3V0cHV0QnVmZmVyQ2xvc2UoeG1sT3V0cHV0QnVmZmVyUHRyIG91dCkKK3sKKyAgICBpbnQgd3JpdHRlbjsKKyAgICBpbnQgZXJyX3JjID0gMDsKKworICAgIGlmIChvdXQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuICgtMSk7CisgICAgaWYgKG91dC0+d3JpdGVjYWxsYmFjayAhPSBOVUxMKQorICAgICAgICB4bWxPdXRwdXRCdWZmZXJGbHVzaChvdXQpOworICAgIGlmIChvdXQtPmNsb3NlY2FsbGJhY2sgIT0gTlVMTCkgeworICAgICAgICBlcnJfcmMgPSBvdXQtPmNsb3NlY2FsbGJhY2sob3V0LT5jb250ZXh0KTsKKyAgICB9CisgICAgd3JpdHRlbiA9IG91dC0+d3JpdHRlbjsKKyAgICBpZiAob3V0LT5jb252KSB7CisgICAgICAgIHhtbEJ1ZkZyZWUob3V0LT5jb252KTsKKyAgICAgICAgb3V0LT5jb252ID0gTlVMTDsKKyAgICB9CisgICAgaWYgKG91dC0+ZW5jb2RlciAhPSBOVUxMKSB7CisgICAgICAgIHhtbENoYXJFbmNDbG9zZUZ1bmMob3V0LT5lbmNvZGVyKTsKKyAgICB9CisgICAgaWYgKG91dC0+YnVmZmVyICE9IE5VTEwpIHsKKyAgICAgICAgeG1sQnVmRnJlZShvdXQtPmJ1ZmZlcik7CisgICAgICAgIG91dC0+YnVmZmVyID0gTlVMTDsKKyAgICB9CisKKyAgICBpZiAob3V0LT5lcnJvcikKKyAgICAgICAgZXJyX3JjID0gLTE7CisgICAgeG1sRnJlZShvdXQpOworICAgIHJldHVybiAoKGVycl9yYyA9PSAwKSA/IHdyaXR0ZW4gOiBlcnJfcmMpOworfQorI2VuZGlmIC8qIExJQlhNTF9PVVRQVVRfRU5BQkxFRCAqLworCit4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cgorX194bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lKGNvbnN0IGNoYXIgKlVSSSwgeG1sQ2hhckVuY29kaW5nIGVuYykgeworICAgIHhtbFBhcnNlcklucHV0QnVmZmVyUHRyIHJldDsKKyAgICBpbnQgaSA9IDA7CisgICAgdm9pZCAqY29udGV4dCA9IE5VTEw7CisKKyAgICBpZiAoeG1sSW5wdXRDYWxsYmFja0luaXRpYWxpemVkID09IDApCisJeG1sUmVnaXN0ZXJEZWZhdWx0SW5wdXRDYWxsYmFja3MoKTsKKworICAgIGlmIChVUkkgPT0gTlVMTCkgcmV0dXJuKE5VTEwpOworCisgICAgLyoKKyAgICAgKiBUcnkgdG8gZmluZCBvbmUgb2YgdGhlIGlucHV0IGFjY2VwdCBtZXRob2QgYWNjZXB0aW5nIHRoYXQgc2NoZW1lCisgICAgICogR28gaW4gcmV2ZXJzZSB0byBnaXZlIHByZWNlZGVuY2UgdG8gdXNlciBkZWZpbmVkIGhhbmRsZXJzLgorICAgICAqLworICAgIGlmIChjb250ZXh0ID09IE5VTEwpIHsKKwlmb3IgKGkgPSB4bWxJbnB1dENhbGxiYWNrTnIgLSAxO2kgPj0gMDtpLS0pIHsKKwkgICAgaWYgKCh4bWxJbnB1dENhbGxiYWNrVGFibGVbaV0ubWF0Y2hjYWxsYmFjayAhPSBOVUxMKSAmJgorCQkoeG1sSW5wdXRDYWxsYmFja1RhYmxlW2ldLm1hdGNoY2FsbGJhY2soVVJJKSAhPSAwKSkgeworCQljb250ZXh0ID0geG1sSW5wdXRDYWxsYmFja1RhYmxlW2ldLm9wZW5jYWxsYmFjayhVUkkpOworCQlpZiAoY29udGV4dCAhPSBOVUxMKSB7CisJCSAgICBicmVhazsKKwkJfQorCSAgICB9CisJfQorICAgIH0KKyAgICBpZiAoY29udGV4dCA9PSBOVUxMKSB7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKworICAgIC8qCisgICAgICogQWxsb2NhdGUgdGhlIElucHV0IGJ1ZmZlciBmcm9udC1lbmQuCisgICAgICovCisgICAgcmV0ID0geG1sQWxsb2NQYXJzZXJJbnB1dEJ1ZmZlcihlbmMpOworICAgIGlmIChyZXQgIT0gTlVMTCkgeworCXJldC0+Y29udGV4dCA9IGNvbnRleHQ7CisJcmV0LT5yZWFkY2FsbGJhY2sgPSB4bWxJbnB1dENhbGxiYWNrVGFibGVbaV0ucmVhZGNhbGxiYWNrOworCXJldC0+Y2xvc2VjYWxsYmFjayA9IHhtbElucHV0Q2FsbGJhY2tUYWJsZVtpXS5jbG9zZWNhbGxiYWNrOworI2lmZGVmIEhBVkVfWkxJQl9ICisJaWYgKCh4bWxJbnB1dENhbGxiYWNrVGFibGVbaV0ub3BlbmNhbGxiYWNrID09IHhtbEd6ZmlsZU9wZW4pICYmCisJCShzdHJjbXAoVVJJLCAiLSIpICE9IDApKSB7CisjaWYgZGVmaW5lZChaTElCX1ZFUk5VTSkgJiYgWkxJQl9WRVJOVU0gPj0gMHgxMjMwCisgICAgICAgICAgICByZXQtPmNvbXByZXNzZWQgPSAhZ3pkaXJlY3QoY29udGV4dCk7CisjZWxzZQorCSAgICBpZiAoKCh6X3N0cmVhbSAqKWNvbnRleHQpLT5hdmFpbF9pbiA+IDQpIHsKKwkgICAgICAgIGNoYXIgKmNwdHIsIGJ1ZmY0WzRdOworCQljcHRyID0gKGNoYXIgKikgKCh6X3N0cmVhbSAqKWNvbnRleHQpLT5uZXh0X2luOworCQlpZiAoZ3pyZWFkKGNvbnRleHQsIGJ1ZmY0LCA0KSA9PSA0KSB7CisJCSAgICBpZiAoc3RybmNtcChidWZmNCwgY3B0ciwgNCkgPT0gMCkKKwkJICAgICAgICByZXQtPmNvbXByZXNzZWQgPSAwOworCQkgICAgZWxzZQorCQkgICAgICAgIHJldC0+Y29tcHJlc3NlZCA9IDE7CisJCSAgICBnenJld2luZChjb250ZXh0KTsKKwkJfQorCSAgICB9CisjZW5kaWYKKwl9CisjZW5kaWYKKyNpZmRlZiBIQVZFX0xaTUFfSAorCWlmICgoeG1sSW5wdXRDYWxsYmFja1RhYmxlW2ldLm9wZW5jYWxsYmFjayA9PSB4bWxYemZpbGVPcGVuKSAmJgorCQkoc3RyY21wKFVSSSwgIi0iKSAhPSAwKSkgeworICAgICAgICAgICAgcmV0LT5jb21wcmVzc2VkID0gX19saWJ4bWwyX3h6Y29tcHJlc3NlZChjb250ZXh0KTsKKwl9CisjZW5kaWYKKyAgICB9CisgICAgZWxzZQorICAgICAgeG1sSW5wdXRDYWxsYmFja1RhYmxlW2ldLmNsb3NlY2FsbGJhY2sgKGNvbnRleHQpOworCisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZToKKyAqIEBVUkk6ICBhIEMgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIFVSSSBvciBmaWxlbmFtZQorICogQGVuYzogIHRoZSBjaGFyc2V0IGVuY29kaW5nIGlmIGtub3duCisgKgorICogQ3JlYXRlIGEgYnVmZmVyZWQgcGFyc2VyIGlucHV0IGZvciB0aGUgcHJvZ3Jlc3NpdmUgcGFyc2luZyBvZiBhIGZpbGUKKyAqIElmIGZpbGVuYW1lIGlzICItJyB0aGVuIHdlIHVzZSBzdGRpbiBhcyB0aGUgaW5wdXQuCisgKiBBdXRvbWF0aWMgc3VwcG9ydCBmb3IgWkxJQi9Db21wcmVzcyBjb21wcmVzc2VkIGRvY3VtZW50IGlzIHByb3ZpZGVkCisgKiBieSBkZWZhdWx0IGlmIGZvdW5kIGF0IGNvbXBpbGUtdGltZS4KKyAqIERvIGFuIGVuY29kaW5nIGNoZWNrIGlmIGVuYyA9PSBYTUxfQ0hBUl9FTkNPRElOR19OT05FCisgKgorICogUmV0dXJucyB0aGUgbmV3IHBhcnNlciBpbnB1dCBvciBOVUxMCisgKi8KK3htbFBhcnNlcklucHV0QnVmZmVyUHRyCit4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lKGNvbnN0IGNoYXIgKlVSSSwgeG1sQ2hhckVuY29kaW5nIGVuYykgeworICAgIGlmICgoeG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZVZhbHVlKSkgeworCQlyZXR1cm4geG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZVZhbHVlKFVSSSwgZW5jKTsKKwl9CisJcmV0dXJuIF9feG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZShVUkksIGVuYyk7Cit9CisKKyNpZmRlZiBMSUJYTUxfT1VUUFVUX0VOQUJMRUQKK3htbE91dHB1dEJ1ZmZlclB0cgorX194bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZShjb25zdCBjaGFyICpVUkksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyIGVuY29kZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgY29tcHJlc3Npb24gQVRUUklCVVRFX1VOVVNFRCkgeworICAgIHhtbE91dHB1dEJ1ZmZlclB0ciByZXQ7CisgICAgeG1sVVJJUHRyIHB1cmk7CisgICAgaW50IGkgPSAwOworICAgIHZvaWQgKmNvbnRleHQgPSBOVUxMOworICAgIGNoYXIgKnVuZXNjYXBlZCA9IE5VTEw7CisjaWZkZWYgSEFWRV9aTElCX0gKKyAgICBpbnQgaXNfZmlsZV91cmkgPSAxOworI2VuZGlmCisKKyAgICBpZiAoeG1sT3V0cHV0Q2FsbGJhY2tJbml0aWFsaXplZCA9PSAwKQorCXhtbFJlZ2lzdGVyRGVmYXVsdE91dHB1dENhbGxiYWNrcygpOworCisgICAgaWYgKFVSSSA9PSBOVUxMKSByZXR1cm4oTlVMTCk7CisKKyAgICBwdXJpID0geG1sUGFyc2VVUkkoVVJJKTsKKyAgICBpZiAocHVyaSAhPSBOVUxMKSB7CisjaWZkZWYgSEFWRV9aTElCX0gKKyAgICAgICAgaWYgKChwdXJpLT5zY2hlbWUgIT0gTlVMTCkgJiYKKwkgICAgKCF4bWxTdHJFcXVhbChCQURfQ0FTVCBwdXJpLT5zY2hlbWUsIEJBRF9DQVNUICJmaWxlIikpKQorCSAgICBpc19maWxlX3VyaSA9IDA7CisjZW5kaWYKKwkvKgorCSAqIHRyeSB0byBsaW1pdCB0aGUgZGFtYWdlcyBvZiB0aGUgVVJJIHVuZXNjYXBpbmcgY29kZS4KKwkgKi8KKwlpZiAoKHB1cmktPnNjaGVtZSA9PSBOVUxMKSB8fAorCSAgICAoeG1sU3RyRXF1YWwoQkFEX0NBU1QgcHVyaS0+c2NoZW1lLCBCQURfQ0FTVCAiZmlsZSIpKSkKKwkgICAgdW5lc2NhcGVkID0geG1sVVJJVW5lc2NhcGVTdHJpbmcoVVJJLCAwLCBOVUxMKTsKKwl4bWxGcmVlVVJJKHB1cmkpOworICAgIH0KKworICAgIC8qCisgICAgICogVHJ5IHRvIGZpbmQgb25lIG9mIHRoZSBvdXRwdXQgYWNjZXB0IG1ldGhvZCBhY2NlcHRpbmcgdGhhdCBzY2hlbWUKKyAgICAgKiBHbyBpbiByZXZlcnNlIHRvIGdpdmUgcHJlY2VkZW5jZSB0byB1c2VyIGRlZmluZWQgaGFuZGxlcnMuCisgICAgICogdHJ5IHdpdGggYW4gdW5lc2NhcGVkIHZlcnNpb24gb2YgdGhlIFVSSQorICAgICAqLworICAgIGlmICh1bmVzY2FwZWQgIT0gTlVMTCkgeworI2lmZGVmIEhBVkVfWkxJQl9ICisJaWYgKChjb21wcmVzc2lvbiA+IDApICYmIChjb21wcmVzc2lvbiA8PSA5KSAmJiAoaXNfZmlsZV91cmkgPT0gMSkpIHsKKwkgICAgY29udGV4dCA9IHhtbEd6ZmlsZU9wZW5XKHVuZXNjYXBlZCwgY29tcHJlc3Npb24pOworCSAgICBpZiAoY29udGV4dCAhPSBOVUxMKSB7CisJCXJldCA9IHhtbEFsbG9jT3V0cHV0QnVmZmVySW50ZXJuYWwoZW5jb2Rlcik7CisJCWlmIChyZXQgIT0gTlVMTCkgeworCQkgICAgcmV0LT5jb250ZXh0ID0gY29udGV4dDsKKwkJICAgIHJldC0+d3JpdGVjYWxsYmFjayA9IHhtbEd6ZmlsZVdyaXRlOworCQkgICAgcmV0LT5jbG9zZWNhbGxiYWNrID0geG1sR3pmaWxlQ2xvc2U7CisJCX0KKwkJeG1sRnJlZSh1bmVzY2FwZWQpOworCQlyZXR1cm4ocmV0KTsKKwkgICAgfQorCX0KKyNlbmRpZgorCWZvciAoaSA9IHhtbE91dHB1dENhbGxiYWNrTnIgLSAxO2kgPj0gMDtpLS0pIHsKKwkgICAgaWYgKCh4bWxPdXRwdXRDYWxsYmFja1RhYmxlW2ldLm1hdGNoY2FsbGJhY2sgIT0gTlVMTCkgJiYKKwkJKHhtbE91dHB1dENhbGxiYWNrVGFibGVbaV0ubWF0Y2hjYWxsYmFjayh1bmVzY2FwZWQpICE9IDApKSB7CisjaWYgZGVmaW5lZChMSUJYTUxfSFRUUF9FTkFCTEVEKSAmJiBkZWZpbmVkKEhBVkVfWkxJQl9IKQorCQkvKiAgTmVlZCB0byBwYXNzIGNvbXByZXNzaW9uIHBhcmFtZXRlciBpbnRvIEhUVFAgb3BlbiBjYWxscyAgKi8KKwkJaWYgKHhtbE91dHB1dENhbGxiYWNrVGFibGVbaV0ubWF0Y2hjYWxsYmFjayA9PSB4bWxJT0hUVFBNYXRjaCkKKwkJICAgIGNvbnRleHQgPSB4bWxJT0hUVFBPcGVuVyh1bmVzY2FwZWQsIGNvbXByZXNzaW9uKTsKKwkJZWxzZQorI2VuZGlmCisJCSAgICBjb250ZXh0ID0geG1sT3V0cHV0Q2FsbGJhY2tUYWJsZVtpXS5vcGVuY2FsbGJhY2sodW5lc2NhcGVkKTsKKwkJaWYgKGNvbnRleHQgIT0gTlVMTCkKKwkJICAgIGJyZWFrOworCSAgICB9CisJfQorCXhtbEZyZWUodW5lc2NhcGVkKTsKKyAgICB9CisKKyAgICAvKgorICAgICAqIElmIHRoaXMgZmFpbGVkIHRyeSB3aXRoIGEgbm9uLWVzY2FwZWQgVVJJIHRoaXMgbWF5IGJlIGEgc3RyYW5nZQorICAgICAqIGZpbGVuYW1lCisgICAgICovCisgICAgaWYgKGNvbnRleHQgPT0gTlVMTCkgeworI2lmZGVmIEhBVkVfWkxJQl9ICisJaWYgKChjb21wcmVzc2lvbiA+IDApICYmIChjb21wcmVzc2lvbiA8PSA5KSAmJiAoaXNfZmlsZV91cmkgPT0gMSkpIHsKKwkgICAgY29udGV4dCA9IHhtbEd6ZmlsZU9wZW5XKFVSSSwgY29tcHJlc3Npb24pOworCSAgICBpZiAoY29udGV4dCAhPSBOVUxMKSB7CisJCXJldCA9IHhtbEFsbG9jT3V0cHV0QnVmZmVySW50ZXJuYWwoZW5jb2Rlcik7CisJCWlmIChyZXQgIT0gTlVMTCkgeworCQkgICAgcmV0LT5jb250ZXh0ID0gY29udGV4dDsKKwkJICAgIHJldC0+d3JpdGVjYWxsYmFjayA9IHhtbEd6ZmlsZVdyaXRlOworCQkgICAgcmV0LT5jbG9zZWNhbGxiYWNrID0geG1sR3pmaWxlQ2xvc2U7CisJCX0KKwkJcmV0dXJuKHJldCk7CisJICAgIH0KKwl9CisjZW5kaWYKKwlmb3IgKGkgPSB4bWxPdXRwdXRDYWxsYmFja05yIC0gMTtpID49IDA7aS0tKSB7CisJICAgIGlmICgoeG1sT3V0cHV0Q2FsbGJhY2tUYWJsZVtpXS5tYXRjaGNhbGxiYWNrICE9IE5VTEwpICYmCisJCSh4bWxPdXRwdXRDYWxsYmFja1RhYmxlW2ldLm1hdGNoY2FsbGJhY2soVVJJKSAhPSAwKSkgeworI2lmIGRlZmluZWQoTElCWE1MX0hUVFBfRU5BQkxFRCkgJiYgZGVmaW5lZChIQVZFX1pMSUJfSCkKKwkJLyogIE5lZWQgdG8gcGFzcyBjb21wcmVzc2lvbiBwYXJhbWV0ZXIgaW50byBIVFRQIG9wZW4gY2FsbHMgICovCisJCWlmICh4bWxPdXRwdXRDYWxsYmFja1RhYmxlW2ldLm1hdGNoY2FsbGJhY2sgPT0geG1sSU9IVFRQTWF0Y2gpCisJCSAgICBjb250ZXh0ID0geG1sSU9IVFRQT3BlblcoVVJJLCBjb21wcmVzc2lvbik7CisJCWVsc2UKKyNlbmRpZgorCQkgICAgY29udGV4dCA9IHhtbE91dHB1dENhbGxiYWNrVGFibGVbaV0ub3BlbmNhbGxiYWNrKFVSSSk7CisJCWlmIChjb250ZXh0ICE9IE5VTEwpCisJCSAgICBicmVhazsKKwkgICAgfQorCX0KKyAgICB9CisKKyAgICBpZiAoY29udGV4dCA9PSBOVUxMKSB7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKworICAgIC8qCisgICAgICogQWxsb2NhdGUgdGhlIE91dHB1dCBidWZmZXIgZnJvbnQtZW5kLgorICAgICAqLworICAgIHJldCA9IHhtbEFsbG9jT3V0cHV0QnVmZmVySW50ZXJuYWwoZW5jb2Rlcik7CisgICAgaWYgKHJldCAhPSBOVUxMKSB7CisJcmV0LT5jb250ZXh0ID0gY29udGV4dDsKKwlyZXQtPndyaXRlY2FsbGJhY2sgPSB4bWxPdXRwdXRDYWxsYmFja1RhYmxlW2ldLndyaXRlY2FsbGJhY2s7CisJcmV0LT5jbG9zZWNhbGxiYWNrID0geG1sT3V0cHV0Q2FsbGJhY2tUYWJsZVtpXS5jbG9zZWNhbGxiYWNrOworICAgIH0KKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZToKKyAqIEBVUkk6ICBhIEMgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIFVSSSBvciBmaWxlbmFtZQorICogQGVuY29kZXI6ICB0aGUgZW5jb2RpbmcgY29udmVydGVyIG9yIE5VTEwKKyAqIEBjb21wcmVzc2lvbjogIHRoZSBjb21wcmVzc2lvbiByYXRpb24gKDAgbm9uZSwgOSBtYXgpLgorICoKKyAqIENyZWF0ZSBhIGJ1ZmZlcmVkICBvdXRwdXQgZm9yIHRoZSBwcm9ncmVzc2l2ZSBzYXZpbmcgb2YgYSBmaWxlCisgKiBJZiBmaWxlbmFtZSBpcyAiLScgdGhlbiB3ZSB1c2Ugc3Rkb3V0IGFzIHRoZSBvdXRwdXQuCisgKiBBdXRvbWF0aWMgc3VwcG9ydCBmb3IgWkxJQi9Db21wcmVzcyBjb21wcmVzc2VkIGRvY3VtZW50IGlzIHByb3ZpZGVkCisgKiBieSBkZWZhdWx0IGlmIGZvdW5kIGF0IGNvbXBpbGUtdGltZS4KKyAqIFRPRE86IGN1cnJlbnRseSBpZiBjb21wcmVzc2lvbiBpcyBzZXQsIHRoZSBsaWJyYXJ5IG9ubHkgc3VwcG9ydAorICogICAgICAgd3JpdGluZyB0byBhIGxvY2FsIGZpbGUuCisgKgorICogUmV0dXJucyB0aGUgbmV3IG91dHB1dCBvciBOVUxMCisgKi8KK3htbE91dHB1dEJ1ZmZlclB0cgoreG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWUoY29uc3QgY2hhciAqVVJJLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0ciBlbmNvZGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGNvbXByZXNzaW9uIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICBpZiAoKHhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lVmFsdWUpKSB7CisJCXJldHVybiB4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZVZhbHVlKFVSSSwgZW5jb2RlciwgY29tcHJlc3Npb24pOworCX0KKwlyZXR1cm4gX194bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZShVUkksIGVuY29kZXIsIGNvbXByZXNzaW9uKTsKK30KKyNlbmRpZiAvKiBMSUJYTUxfT1VUUFVUX0VOQUJMRUQgKi8KKworLyoqCisgKiB4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGU6CisgKiBAZmlsZTogIGEgRklMRSoKKyAqIEBlbmM6ICB0aGUgY2hhcnNldCBlbmNvZGluZyBpZiBrbm93bgorICoKKyAqIENyZWF0ZSBhIGJ1ZmZlcmVkIHBhcnNlciBpbnB1dCBmb3IgdGhlIHByb2dyZXNzaXZlIHBhcnNpbmcgb2YgYSBGSUxFICoKKyAqIGJ1ZmZlcmVkIEMgSS9PCisgKgorICogUmV0dXJucyB0aGUgbmV3IHBhcnNlciBpbnB1dCBvciBOVUxMCisgKi8KK3htbFBhcnNlcklucHV0QnVmZmVyUHRyCit4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGUoRklMRSAqZmlsZSwgeG1sQ2hhckVuY29kaW5nIGVuYykgeworICAgIHhtbFBhcnNlcklucHV0QnVmZmVyUHRyIHJldDsKKworICAgIGlmICh4bWxJbnB1dENhbGxiYWNrSW5pdGlhbGl6ZWQgPT0gMCkKKwl4bWxSZWdpc3RlckRlZmF1bHRJbnB1dENhbGxiYWNrcygpOworCisgICAgaWYgKGZpbGUgPT0gTlVMTCkgcmV0dXJuKE5VTEwpOworCisgICAgcmV0ID0geG1sQWxsb2NQYXJzZXJJbnB1dEJ1ZmZlcihlbmMpOworICAgIGlmIChyZXQgIT0gTlVMTCkgeworICAgICAgICByZXQtPmNvbnRleHQgPSBmaWxlOworCXJldC0+cmVhZGNhbGxiYWNrID0geG1sRmlsZVJlYWQ7CisJcmV0LT5jbG9zZWNhbGxiYWNrID0geG1sRmlsZUZsdXNoOworICAgIH0KKworICAgIHJldHVybihyZXQpOworfQorCisjaWZkZWYgTElCWE1MX09VVFBVVF9FTkFCTEVECisvKioKKyAqIHhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGU6CisgKiBAZmlsZTogIGEgRklMRSoKKyAqIEBlbmNvZGVyOiAgdGhlIGVuY29kaW5nIGNvbnZlcnRlciBvciBOVUxMCisgKgorICogQ3JlYXRlIGEgYnVmZmVyZWQgb3V0cHV0IGZvciB0aGUgcHJvZ3Jlc3NpdmUgc2F2aW5nIHRvIGEgRklMRSAqCisgKiBidWZmZXJlZCBDIEkvTworICoKKyAqIFJldHVybnMgdGhlIG5ldyBwYXJzZXIgb3V0cHV0IG9yIE5VTEwKKyAqLworeG1sT3V0cHV0QnVmZmVyUHRyCit4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlKEZJTEUgKmZpbGUsIHhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIgZW5jb2RlcikgeworICAgIHhtbE91dHB1dEJ1ZmZlclB0ciByZXQ7CisKKyAgICBpZiAoeG1sT3V0cHV0Q2FsbGJhY2tJbml0aWFsaXplZCA9PSAwKQorCXhtbFJlZ2lzdGVyRGVmYXVsdE91dHB1dENhbGxiYWNrcygpOworCisgICAgaWYgKGZpbGUgPT0gTlVMTCkgcmV0dXJuKE5VTEwpOworCisgICAgcmV0ID0geG1sQWxsb2NPdXRwdXRCdWZmZXJJbnRlcm5hbChlbmNvZGVyKTsKKyAgICBpZiAocmV0ICE9IE5VTEwpIHsKKyAgICAgICAgcmV0LT5jb250ZXh0ID0gZmlsZTsKKwlyZXQtPndyaXRlY2FsbGJhY2sgPSB4bWxGaWxlV3JpdGU7CisJcmV0LT5jbG9zZWNhbGxiYWNrID0geG1sRmlsZUZsdXNoOworICAgIH0KKworICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbE91dHB1dEJ1ZmZlckNyZWF0ZUJ1ZmZlcjoKKyAqIEBidWZmZXI6ICBhIHhtbEJ1ZmZlclB0cgorICogQGVuY29kZXI6ICB0aGUgZW5jb2RpbmcgY29udmVydGVyIG9yIE5VTEwKKyAqCisgKiBDcmVhdGUgYSBidWZmZXJlZCBvdXRwdXQgZm9yIHRoZSBwcm9ncmVzc2l2ZSBzYXZpbmcgdG8gYSB4bWxCdWZmZXIKKyAqCisgKiBSZXR1cm5zIHRoZSBuZXcgcGFyc2VyIG91dHB1dCBvciBOVUxMCisgKi8KK3htbE91dHB1dEJ1ZmZlclB0cgoreG1sT3V0cHV0QnVmZmVyQ3JlYXRlQnVmZmVyKHhtbEJ1ZmZlclB0ciBidWZmZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0ciBlbmNvZGVyKSB7CisgICAgeG1sT3V0cHV0QnVmZmVyUHRyIHJldDsKKworICAgIGlmIChidWZmZXIgPT0gTlVMTCkgcmV0dXJuKE5VTEwpOworCisgICAgcmV0ID0geG1sT3V0cHV0QnVmZmVyQ3JlYXRlSU8oKHhtbE91dHB1dFdyaXRlQ2FsbGJhY2spCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sQnVmZmVyV3JpdGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHhtbE91dHB1dENsb3NlQ2FsbGJhY2spCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgKHZvaWQgKikgYnVmZmVyLCBlbmNvZGVyKTsKKworICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbE91dHB1dEJ1ZmZlckdldENvbnRlbnQ6CisgKiBAb3V0OiAgYW4geG1sT3V0cHV0QnVmZmVyUHRyCisgKgorICogR2l2ZXMgYSBwb2ludGVyIHRvIHRoZSBkYXRhIGN1cnJlbnRseSBoZWxkIGluIHRoZSBvdXRwdXQgYnVmZmVyCisgKgorICogUmV0dXJucyBhIHBvaW50ZXIgdG8gdGhlIGRhdGEgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yCisgKi8KK2NvbnN0IHhtbENoYXIgKgoreG1sT3V0cHV0QnVmZmVyR2V0Q29udGVudCh4bWxPdXRwdXRCdWZmZXJQdHIgb3V0KSB7CisgICAgaWYgKChvdXQgPT0gTlVMTCkgfHwgKG91dC0+YnVmZmVyID09IE5VTEwpKQorICAgICAgICByZXR1cm4oTlVMTCk7CisKKyAgICByZXR1cm4oeG1sQnVmQ29udGVudChvdXQtPmJ1ZmZlcikpOworfQorCisvKioKKyAqIHhtbE91dHB1dEJ1ZmZlckdldFNpemU6CisgKiBAb3V0OiAgYW4geG1sT3V0cHV0QnVmZmVyUHRyCisgKgorICogR2l2ZXMgdGhlIGxlbmd0aCBvZiB0aGUgZGF0YSBjdXJyZW50bHkgaGVsZCBpbiB0aGUgb3V0cHV0IGJ1ZmZlcgorICoKKyAqIFJldHVybnMgMCBpbiBjYXNlIG9yIGVycm9yIG9yIG5vIGRhdGEgaXMgaGVsZCwgdGhlIHNpemUgb3RoZXJ3aXNlCisgKi8KK3NpemVfdAoreG1sT3V0cHV0QnVmZmVyR2V0U2l6ZSh4bWxPdXRwdXRCdWZmZXJQdHIgb3V0KSB7CisgICAgaWYgKChvdXQgPT0gTlVMTCkgfHwgKG91dC0+YnVmZmVyID09IE5VTEwpKQorICAgICAgICByZXR1cm4oMCk7CisKKyAgICByZXR1cm4oeG1sQnVmVXNlKG91dC0+YnVmZmVyKSk7Cit9CisKKworI2VuZGlmIC8qIExJQlhNTF9PVVRQVVRfRU5BQkxFRCAqLworCisvKioKKyAqIHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmQ6CisgKiBAZmQ6ICBhIGZpbGUgZGVzY3JpcHRvciBudW1iZXIKKyAqIEBlbmM6ICB0aGUgY2hhcnNldCBlbmNvZGluZyBpZiBrbm93bgorICoKKyAqIENyZWF0ZSBhIGJ1ZmZlcmVkIHBhcnNlciBpbnB1dCBmb3IgdGhlIHByb2dyZXNzaXZlIHBhcnNpbmcgZm9yIHRoZSBpbnB1dAorICogZnJvbSBhIGZpbGUgZGVzY3JpcHRvcgorICoKKyAqIFJldHVybnMgdGhlIG5ldyBwYXJzZXIgaW5wdXQgb3IgTlVMTAorICovCit4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cgoreG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGZChpbnQgZmQsIHhtbENoYXJFbmNvZGluZyBlbmMpIHsKKyAgICB4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciByZXQ7CisKKyAgICBpZiAoZmQgPCAwKSByZXR1cm4oTlVMTCk7CisKKyAgICByZXQgPSB4bWxBbGxvY1BhcnNlcklucHV0QnVmZmVyKGVuYyk7CisgICAgaWYgKHJldCAhPSBOVUxMKSB7CisgICAgICAgIHJldC0+Y29udGV4dCA9ICh2b2lkICopIChsb25nKSBmZDsKKwlyZXQtPnJlYWRjYWxsYmFjayA9IHhtbEZkUmVhZDsKKwlyZXQtPmNsb3NlY2FsbGJhY2sgPSB4bWxGZENsb3NlOworICAgIH0KKworICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlTWVtOgorICogQG1lbTogIHRoZSBtZW1vcnkgaW5wdXQKKyAqIEBzaXplOiAgdGhlIGxlbmd0aCBvZiB0aGUgbWVtb3J5IGJsb2NrCisgKiBAZW5jOiAgdGhlIGNoYXJzZXQgZW5jb2RpbmcgaWYga25vd24KKyAqCisgKiBDcmVhdGUgYSBidWZmZXJlZCBwYXJzZXIgaW5wdXQgZm9yIHRoZSBwcm9ncmVzc2l2ZSBwYXJzaW5nIGZvciB0aGUgaW5wdXQKKyAqIGZyb20gYSBtZW1vcnkgYXJlYS4KKyAqCisgKiBSZXR1cm5zIHRoZSBuZXcgcGFyc2VyIGlucHV0IG9yIE5VTEwKKyAqLworeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIKK3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlTWVtKGNvbnN0IGNoYXIgKm1lbSwgaW50IHNpemUsIHhtbENoYXJFbmNvZGluZyBlbmMpIHsKKyAgICB4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciByZXQ7CisgICAgaW50IGVycmNvZGU7CisKKyAgICBpZiAoc2l6ZSA8PSAwKSByZXR1cm4oTlVMTCk7CisgICAgaWYgKG1lbSA9PSBOVUxMKSByZXR1cm4oTlVMTCk7CisKKyAgICByZXQgPSB4bWxBbGxvY1BhcnNlcklucHV0QnVmZmVyKGVuYyk7CisgICAgaWYgKHJldCAhPSBOVUxMKSB7CisgICAgICAgIHJldC0+Y29udGV4dCA9ICh2b2lkICopIG1lbTsKKwlyZXQtPnJlYWRjYWxsYmFjayA9ICh4bWxJbnB1dFJlYWRDYWxsYmFjaykgeG1sTm9wOworCXJldC0+Y2xvc2VjYWxsYmFjayA9IE5VTEw7CisJZXJyY29kZSA9IHhtbEJ1ZkFkZChyZXQtPmJ1ZmZlciwgKGNvbnN0IHhtbENoYXIgKikgbWVtLCBzaXplKTsKKwlpZiAoZXJyY29kZSAhPSAwKSB7CisJICAgIHhtbEZyZWUocmV0KTsKKwkgICAgcmV0dXJuKE5VTEwpOworCX0KKyAgICB9CisKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZVN0YXRpYzoKKyAqIEBtZW06ICB0aGUgbWVtb3J5IGlucHV0CisgKiBAc2l6ZTogIHRoZSBsZW5ndGggb2YgdGhlIG1lbW9yeSBibG9jaworICogQGVuYzogIHRoZSBjaGFyc2V0IGVuY29kaW5nIGlmIGtub3duCisgKgorICogQ3JlYXRlIGEgYnVmZmVyZWQgcGFyc2VyIGlucHV0IGZvciB0aGUgcHJvZ3Jlc3NpdmUgcGFyc2luZyBmb3IgdGhlIGlucHV0CisgKiBmcm9tIGFuIGltbXV0YWJsZSBtZW1vcnkgYXJlYS4gVGhpcyB3aWxsIG5vdCBjb3B5IHRoZSBtZW1vcnkgYXJlYSB0bworICogdGhlIGJ1ZmZlciwgYnV0IHRoZSBtZW1vcnkgaXMgZXhwZWN0ZWQgdG8gYmUgYXZhaWxhYmxlIHVudGlsIHRoZSBlbmQgb2YKKyAqIHRoZSBwYXJzaW5nLCB0aGlzIGlzIHVzZWZ1bCBmb3IgZXhhbXBsZSB3aGVuIHVzaW5nIG1tYXAnZWQgZmlsZS4KKyAqCisgKiBSZXR1cm5zIHRoZSBuZXcgcGFyc2VyIGlucHV0IG9yIE5VTEwKKyAqLworeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIKK3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlU3RhdGljKGNvbnN0IGNoYXIgKm1lbSwgaW50IHNpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxDaGFyRW5jb2RpbmcgZW5jKSB7CisgICAgeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIgcmV0OworCisgICAgaWYgKHNpemUgPD0gMCkgcmV0dXJuKE5VTEwpOworICAgIGlmIChtZW0gPT0gTlVMTCkgcmV0dXJuKE5VTEwpOworCisgICAgcmV0ID0gKHhtbFBhcnNlcklucHV0QnVmZmVyUHRyKSB4bWxNYWxsb2Moc2l6ZW9mKHhtbFBhcnNlcklucHV0QnVmZmVyKSk7CisgICAgaWYgKHJldCA9PSBOVUxMKSB7CisJeG1sSU9FcnJNZW1vcnkoImNyZWF0aW5nIGlucHV0IGJ1ZmZlciIpOworCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgbWVtc2V0KHJldCwgMCwgKHNpemVfdCkgc2l6ZW9mKHhtbFBhcnNlcklucHV0QnVmZmVyKSk7CisgICAgcmV0LT5idWZmZXIgPSB4bWxCdWZDcmVhdGVTdGF0aWMoKHZvaWQgKiltZW0sIChzaXplX3QpIHNpemUpOworICAgIGlmIChyZXQtPmJ1ZmZlciA9PSBOVUxMKSB7CisgICAgICAgIHhtbEZyZWUocmV0KTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIHJldC0+ZW5jb2RlciA9IHhtbEdldENoYXJFbmNvZGluZ0hhbmRsZXIoZW5jKTsKKyAgICBpZiAocmV0LT5lbmNvZGVyICE9IE5VTEwpCisgICAgICAgIHJldC0+cmF3ID0geG1sQnVmQ3JlYXRlU2l6ZSgyICogeG1sRGVmYXVsdEJ1ZmZlclNpemUpOworICAgIGVsc2UKKyAgICAgICAgcmV0LT5yYXcgPSBOVUxMOworICAgIHJldC0+Y29tcHJlc3NlZCA9IC0xOworICAgIHJldC0+Y29udGV4dCA9ICh2b2lkICopIG1lbTsKKyAgICByZXQtPnJlYWRjYWxsYmFjayA9IE5VTEw7CisgICAgcmV0LT5jbG9zZWNhbGxiYWNrID0gTlVMTDsKKworICAgIHJldHVybihyZXQpOworfQorCisjaWZkZWYgTElCWE1MX09VVFBVVF9FTkFCTEVECisvKioKKyAqIHhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZkOgorICogQGZkOiAgYSBmaWxlIGRlc2NyaXB0b3IgbnVtYmVyCisgKiBAZW5jb2RlcjogIHRoZSBlbmNvZGluZyBjb252ZXJ0ZXIgb3IgTlVMTAorICoKKyAqIENyZWF0ZSBhIGJ1ZmZlcmVkIG91dHB1dCBmb3IgdGhlIHByb2dyZXNzaXZlIHNhdmluZworICogdG8gYSBmaWxlIGRlc2NyaXB0b3IKKyAqCisgKiBSZXR1cm5zIHRoZSBuZXcgcGFyc2VyIG91dHB1dCBvciBOVUxMCisgKi8KK3htbE91dHB1dEJ1ZmZlclB0cgoreG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmQoaW50IGZkLCB4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyIGVuY29kZXIpIHsKKyAgICB4bWxPdXRwdXRCdWZmZXJQdHIgcmV0OworCisgICAgaWYgKGZkIDwgMCkgcmV0dXJuKE5VTEwpOworCisgICAgcmV0ID0geG1sQWxsb2NPdXRwdXRCdWZmZXJJbnRlcm5hbChlbmNvZGVyKTsKKyAgICBpZiAocmV0ICE9IE5VTEwpIHsKKyAgICAgICAgcmV0LT5jb250ZXh0ID0gKHZvaWQgKikgKGxvbmcpIGZkOworCXJldC0+d3JpdGVjYWxsYmFjayA9IHhtbEZkV3JpdGU7CisJcmV0LT5jbG9zZWNhbGxiYWNrID0gTlVMTDsKKyAgICB9CisKKyAgICByZXR1cm4ocmV0KTsKK30KKyNlbmRpZiAvKiBMSUJYTUxfT1VUUFVUX0VOQUJMRUQgKi8KKworLyoqCisgKiB4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUlPOgorICogQGlvcmVhZDogIGFuIEkvTyByZWFkIGZ1bmN0aW9uCisgKiBAaW9jbG9zZTogIGFuIEkvTyBjbG9zZSBmdW5jdGlvbgorICogQGlvY3R4OiAgYW4gSS9PIGhhbmRsZXIKKyAqIEBlbmM6ICB0aGUgY2hhcnNldCBlbmNvZGluZyBpZiBrbm93bgorICoKKyAqIENyZWF0ZSBhIGJ1ZmZlcmVkIHBhcnNlciBpbnB1dCBmb3IgdGhlIHByb2dyZXNzaXZlIHBhcnNpbmcgZm9yIHRoZSBpbnB1dAorICogZnJvbSBhbiBJL08gaGFuZGxlcgorICoKKyAqIFJldHVybnMgdGhlIG5ldyBwYXJzZXIgaW5wdXQgb3IgTlVMTAorICovCit4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0cgoreG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVJTyh4bWxJbnB1dFJlYWRDYWxsYmFjayAgIGlvcmVhZCwKKwkgeG1sSW5wdXRDbG9zZUNhbGxiYWNrICBpb2Nsb3NlLCB2b2lkICppb2N0eCwgeG1sQ2hhckVuY29kaW5nIGVuYykgeworICAgIHhtbFBhcnNlcklucHV0QnVmZmVyUHRyIHJldDsKKworICAgIGlmIChpb3JlYWQgPT0gTlVMTCkgcmV0dXJuKE5VTEwpOworCisgICAgcmV0ID0geG1sQWxsb2NQYXJzZXJJbnB1dEJ1ZmZlcihlbmMpOworICAgIGlmIChyZXQgIT0gTlVMTCkgeworICAgICAgICByZXQtPmNvbnRleHQgPSAodm9pZCAqKSBpb2N0eDsKKwlyZXQtPnJlYWRjYWxsYmFjayA9IGlvcmVhZDsKKwlyZXQtPmNsb3NlY2FsbGJhY2sgPSBpb2Nsb3NlOworICAgIH0KKworICAgIHJldHVybihyZXQpOworfQorCisjaWZkZWYgTElCWE1MX09VVFBVVF9FTkFCTEVECisvKioKKyAqIHhtbE91dHB1dEJ1ZmZlckNyZWF0ZUlPOgorICogQGlvd3JpdGU6ICBhbiBJL08gd3JpdGUgZnVuY3Rpb24KKyAqIEBpb2Nsb3NlOiAgYW4gSS9PIGNsb3NlIGZ1bmN0aW9uCisgKiBAaW9jdHg6ICBhbiBJL08gaGFuZGxlcgorICogQGVuY29kZXI6ICB0aGUgY2hhcnNldCBlbmNvZGluZyBpZiBrbm93bgorICoKKyAqIENyZWF0ZSBhIGJ1ZmZlcmVkIG91dHB1dCBmb3IgdGhlIHByb2dyZXNzaXZlIHNhdmluZworICogdG8gYW4gSS9PIGhhbmRsZXIKKyAqCisgKiBSZXR1cm5zIHRoZSBuZXcgcGFyc2VyIG91dHB1dCBvciBOVUxMCisgKi8KK3htbE91dHB1dEJ1ZmZlclB0cgoreG1sT3V0cHV0QnVmZmVyQ3JlYXRlSU8oeG1sT3V0cHV0V3JpdGVDYWxsYmFjayAgIGlvd3JpdGUsCisJIHhtbE91dHB1dENsb3NlQ2FsbGJhY2sgIGlvY2xvc2UsIHZvaWQgKmlvY3R4LAorCSB4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyIGVuY29kZXIpIHsKKyAgICB4bWxPdXRwdXRCdWZmZXJQdHIgcmV0OworCisgICAgaWYgKGlvd3JpdGUgPT0gTlVMTCkgcmV0dXJuKE5VTEwpOworCisgICAgcmV0ID0geG1sQWxsb2NPdXRwdXRCdWZmZXJJbnRlcm5hbChlbmNvZGVyKTsKKyAgICBpZiAocmV0ICE9IE5VTEwpIHsKKyAgICAgICAgcmV0LT5jb250ZXh0ID0gKHZvaWQgKikgaW9jdHg7CisJcmV0LT53cml0ZWNhbGxiYWNrID0gaW93cml0ZTsKKwlyZXQtPmNsb3NlY2FsbGJhY2sgPSBpb2Nsb3NlOworICAgIH0KKworICAgIHJldHVybihyZXQpOworfQorI2VuZGlmIC8qIExJQlhNTF9PVVRQVVRfRU5BQkxFRCAqLworCisvKioKKyAqIHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0OgorICogQGZ1bmM6IGZ1bmN0aW9uIHBvaW50ZXIgdG8gdGhlIG5ldyBQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYworICoKKyAqIFJlZ2lzdGVycyBhIGNhbGxiYWNrIGZvciBVUkkgaW5wdXQgZmlsZSBoYW5kbGluZworICoKKyAqIFJldHVybnMgdGhlIG9sZCB2YWx1ZSBvZiB0aGUgcmVnaXN0cmF0aW9uIGZ1bmN0aW9uCisgKi8KK3htbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jCit4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRGVmYXVsdCh4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lRnVuYyBmdW5jKQoreworICAgIHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jIG9sZCA9IHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVWYWx1ZTsKKyAgICBpZiAob2xkID09IE5VTEwpIHsKKwkJb2xkID0gX194bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lOworCX0KKworICAgIHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVWYWx1ZSA9IGZ1bmM7CisgICAgcmV0dXJuKG9sZCk7Cit9CisKKy8qKgorICogeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVEZWZhdWx0OgorICogQGZ1bmM6IGZ1bmN0aW9uIHBvaW50ZXIgdG8gdGhlIG5ldyBPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZUZ1bmMKKyAqCisgKiBSZWdpc3RlcnMgYSBjYWxsYmFjayBmb3IgVVJJIG91dHB1dCBmaWxlIGhhbmRsaW5nCisgKgorICogUmV0dXJucyB0aGUgb2xkIHZhbHVlIG9mIHRoZSByZWdpc3RyYXRpb24gZnVuY3Rpb24KKyAqLworeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jCit4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlbmFtZURlZmF1bHQoeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jIGZ1bmMpCit7CisgICAgeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVGdW5jIG9sZCA9IHhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lVmFsdWU7CisjaWZkZWYgTElCWE1MX09VVFBVVF9FTkFCTEVECisgICAgaWYgKG9sZCA9PSBOVUxMKSB7CisJCW9sZCA9IF9feG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWU7CisJfQorI2VuZGlmCisgICAgeG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWVWYWx1ZSA9IGZ1bmM7CisgICAgcmV0dXJuKG9sZCk7Cit9CisKKy8qKgorICogeG1sUGFyc2VySW5wdXRCdWZmZXJQdXNoOgorICogQGluOiAgYSBidWZmZXJlZCBwYXJzZXIgaW5wdXQKKyAqIEBsZW46ICB0aGUgc2l6ZSBpbiBieXRlcyBvZiB0aGUgYXJyYXkuCisgKiBAYnVmOiAgYW4gY2hhciBhcnJheQorICoKKyAqIFB1c2ggdGhlIGNvbnRlbnQgb2YgdGhlIGFycnkgaW4gdGhlIGlucHV0IGJ1ZmZlcgorICogVGhpcyByb3V0aW5lIGhhbmRsZSB0aGUgSTE4TiB0cmFuc2NvZGluZyB0byBpbnRlcm5hbCBVVEYtOAorICogVGhpcyBpcyB1c2VkIHdoZW4gb3BlcmF0aW5nIHRoZSBwYXJzZXIgaW4gcHJvZ3Jlc3NpdmUgKHB1c2gpIG1vZGUuCisgKgorICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIGNoYXJzIHJlYWQgYW5kIHN0b3JlZCBpbiB0aGUgYnVmZmVyLCBvciAtMQorICogICAgICAgICBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQKK3htbFBhcnNlcklucHV0QnVmZmVyUHVzaCh4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciBpbiwKKwkgICAgICAgICAgICAgICAgIGludCBsZW4sIGNvbnN0IGNoYXIgKmJ1ZikgeworICAgIGludCBuYmNoYXJzID0gMDsKKyAgICBpbnQgcmV0OworCisgICAgaWYgKGxlbiA8IDApIHJldHVybigwKTsKKyAgICBpZiAoKGluID09IE5VTEwpIHx8IChpbi0+ZXJyb3IpKSByZXR1cm4oLTEpOworICAgIGlmIChpbi0+ZW5jb2RlciAhPSBOVUxMKSB7CisgICAgICAgIHVuc2lnbmVkIGludCB1c2U7CisKKyAgICAgICAgLyoKKwkgKiBTdG9yZSB0aGUgZGF0YSBpbiB0aGUgaW5jb21pbmcgcmF3IGJ1ZmZlcgorCSAqLworICAgICAgICBpZiAoaW4tPnJhdyA9PSBOVUxMKSB7CisJICAgIGluLT5yYXcgPSB4bWxCdWZDcmVhdGUoKTsKKwl9CisJcmV0ID0geG1sQnVmQWRkKGluLT5yYXcsIChjb25zdCB4bWxDaGFyICopIGJ1ZiwgbGVuKTsKKwlpZiAocmV0ICE9IDApCisJICAgIHJldHVybigtMSk7CisKKwkvKgorCSAqIGNvbnZlcnQgYXMgbXVjaCBhcyBwb3NzaWJsZSB0byB0aGUgcGFyc2VyIHJlYWRpbmcgYnVmZmVyLgorCSAqLworCXVzZSA9IHhtbEJ1ZlVzZShpbi0+cmF3KTsKKwluYmNoYXJzID0geG1sQ2hhckVuY0lucHV0KGluLCAxKTsKKwlpZiAobmJjaGFycyA8IDApIHsKKwkgICAgeG1sSU9FcnIoWE1MX0lPX0VOQ09ERVIsIE5VTEwpOworCSAgICBpbi0+ZXJyb3IgPSBYTUxfSU9fRU5DT0RFUjsKKwkgICAgcmV0dXJuKC0xKTsKKwl9CisJaW4tPnJhd2NvbnN1bWVkICs9ICh1c2UgLSB4bWxCdWZVc2UoaW4tPnJhdykpOworICAgIH0gZWxzZSB7CisJbmJjaGFycyA9IGxlbjsKKyAgICAgICAgcmV0ID0geG1sQnVmQWRkKGluLT5idWZmZXIsICh4bWxDaGFyICopIGJ1ZiwgbmJjaGFycyk7CisJaWYgKHJldCAhPSAwKQorCSAgICByZXR1cm4oLTEpOworICAgIH0KKyNpZmRlZiBERUJVR19JTlBVVAorICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCSAgICAiSS9POiBwdXNoZWQgJWQgY2hhcnMsIGJ1ZmZlciAlZC8lZFxuIiwKKyAgICAgICAgICAgIG5iY2hhcnMsIHhtbEJ1ZlVzZShpbi0+YnVmZmVyKSwgeG1sQnVmTGVuZ3RoKGluLT5idWZmZXIpKTsKKyNlbmRpZgorICAgIHJldHVybihuYmNoYXJzKTsKK30KKworLyoqCisgKiBlbmRPZklucHV0OgorICoKKyAqIFdoZW4gcmVhZGluZyBmcm9tIGFuIElucHV0IGNoYW5uZWwgaW5kaWNhdGVkIGVuZCBvZiBmaWxlIG9yIGVycm9yCisgKiBkb24ndCByZXJlYWQgZnJvbSBpdCBhZ2Fpbi4KKyAqLworc3RhdGljIGludAorZW5kT2ZJbnB1dCAodm9pZCAqIGNvbnRleHQgQVRUUklCVVRFX1VOVVNFRCwKKwkgICAgY2hhciAqIGJ1ZmZlciBBVFRSSUJVVEVfVU5VU0VELAorCSAgICBpbnQgbGVuIEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICByZXR1cm4oMCk7Cit9CisKKy8qKgorICogeG1sUGFyc2VySW5wdXRCdWZmZXJHcm93OgorICogQGluOiAgYSBidWZmZXJlZCBwYXJzZXIgaW5wdXQKKyAqIEBsZW46ICBpbmRpY2F0aXZlIHZhbHVlIG9mIHRoZSBhbW91bnQgb2YgY2hhcnMgdG8gcmVhZAorICoKKyAqIEdyb3cgdXAgdGhlIGNvbnRlbnQgb2YgdGhlIGlucHV0IGJ1ZmZlciwgdGhlIG9sZCBkYXRhIGFyZSBwcmVzZXJ2ZWQKKyAqIFRoaXMgcm91dGluZSBoYW5kbGUgdGhlIEkxOE4gdHJhbnNjb2RpbmcgdG8gaW50ZXJuYWwgVVRGLTgKKyAqIFRoaXMgcm91dGluZSBpcyB1c2VkIHdoZW4gb3BlcmF0aW5nIHRoZSBwYXJzZXIgaW4gbm9ybWFsIChwdWxsKSBtb2RlCisgKgorICogVE9ETzogb25lIHNob3VsZCBiZSBhYmxlIHRvIHJlbW92ZSBvbmUgZXh0cmEgY29weSBieSBjb3B5aW5nIGRpcmVjdGx5CisgKiAgICAgICBvbnRvIGluLT5idWZmZXIgb3IgaW4tPnJhdworICoKKyAqIFJldHVybnMgdGhlIG51bWJlciBvZiBjaGFycyByZWFkIGFuZCBzdG9yZWQgaW4gdGhlIGJ1ZmZlciwgb3IgLTEKKyAqICAgICAgICAgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50Cit4bWxQYXJzZXJJbnB1dEJ1ZmZlckdyb3coeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIgaW4sIGludCBsZW4pIHsKKyAgICBjaGFyICpidWZmZXIgPSBOVUxMOworICAgIGludCByZXMgPSAwOworICAgIGludCBuYmNoYXJzID0gMDsKKworICAgIGlmICgoaW4gPT0gTlVMTCkgfHwgKGluLT5lcnJvcikpIHJldHVybigtMSk7CisgICAgaWYgKChsZW4gPD0gTUlOTEVOKSAmJiAobGVuICE9IDQpKQorICAgICAgICBsZW4gPSBNSU5MRU47CisKKyAgICBpZiAoeG1sQnVmQXZhaWwoaW4tPmJ1ZmZlcikgPD0gMCkgeworCXhtbElPRXJyKFhNTF9JT19CVUZGRVJfRlVMTCwgTlVMTCk7CisJaW4tPmVycm9yID0gWE1MX0lPX0JVRkZFUl9GVUxMOworCXJldHVybigtMSk7CisgICAgfQorCisgICAgaWYgKHhtbEJ1Zkdyb3coaW4tPmJ1ZmZlciwgbGVuICsgMSkgPCAwKSB7CisgICAgICAgIHhtbElPRXJyTWVtb3J5KCJncm93aW5nIGlucHV0IGJ1ZmZlciIpOworICAgICAgICBpbi0+ZXJyb3IgPSBYTUxfRVJSX05PX01FTU9SWTsKKyAgICAgICAgcmV0dXJuKC0xKTsKKyAgICB9CisgICAgYnVmZmVyID0gKGNoYXIgKil4bWxCdWZFbmQoaW4tPmJ1ZmZlcik7CisKKyAgICAvKgorICAgICAqIENhbGwgdGhlIHJlYWQgbWV0aG9kIGZvciB0aGlzIEkvTyB0eXBlLgorICAgICAqLworICAgIGlmIChpbi0+cmVhZGNhbGxiYWNrICE9IE5VTEwpIHsKKwlyZXMgPSBpbi0+cmVhZGNhbGxiYWNrKGluLT5jb250ZXh0LCAmYnVmZmVyWzBdLCBsZW4pOworCWlmIChyZXMgPD0gMCkKKwkgICAgaW4tPnJlYWRjYWxsYmFjayA9IGVuZE9mSW5wdXQ7CisgICAgfSBlbHNlIHsKKwl4bWxJT0VycihYTUxfSU9fTk9fSU5QVVQsIE5VTEwpOworCWluLT5lcnJvciA9IFhNTF9JT19OT19JTlBVVDsKKwlyZXR1cm4oLTEpOworICAgIH0KKyAgICBpZiAocmVzIDwgMCkgeworCXJldHVybigtMSk7CisgICAgfQorCisgICAgLyoKKyAgICAgKiB0cnkgdG8gZXN0YWJsaXNoIGNvbXByZXNzZWQgc3RhdHVzIG9mIGlucHV0IGlmIG5vdCBkb25lIGFscmVhZHkKKyAgICAgKi8KKyAgICBpZiAoaW4tPmNvbXByZXNzZWQgPT0gLTEpIHsKKyNpZmRlZiBIQVZFX0xaTUFfSAorCWlmIChpbi0+cmVhZGNhbGxiYWNrID09IHhtbFh6ZmlsZVJlYWQpCisgICAgICAgICAgICBpbi0+Y29tcHJlc3NlZCA9IF9fbGlieG1sMl94emNvbXByZXNzZWQoaW4tPmNvbnRleHQpOworI2VuZGlmCisgICAgfQorCisgICAgbGVuID0gcmVzOworICAgIGlmIChpbi0+ZW5jb2RlciAhPSBOVUxMKSB7CisgICAgICAgIHVuc2lnbmVkIGludCB1c2U7CisKKyAgICAgICAgLyoKKwkgKiBTdG9yZSB0aGUgZGF0YSBpbiB0aGUgaW5jb21pbmcgcmF3IGJ1ZmZlcgorCSAqLworICAgICAgICBpZiAoaW4tPnJhdyA9PSBOVUxMKSB7CisJICAgIGluLT5yYXcgPSB4bWxCdWZDcmVhdGUoKTsKKwl9CisJcmVzID0geG1sQnVmQWRkKGluLT5yYXcsIChjb25zdCB4bWxDaGFyICopIGJ1ZmZlciwgbGVuKTsKKwlpZiAocmVzICE9IDApCisJICAgIHJldHVybigtMSk7CisKKwkvKgorCSAqIGNvbnZlcnQgYXMgbXVjaCBhcyBwb3NzaWJsZSB0byB0aGUgcGFyc2VyIHJlYWRpbmcgYnVmZmVyLgorCSAqLworCXVzZSA9IHhtbEJ1ZlVzZShpbi0+cmF3KTsKKwluYmNoYXJzID0geG1sQ2hhckVuY0lucHV0KGluLCAxKTsKKwlpZiAobmJjaGFycyA8IDApIHsKKwkgICAgeG1sSU9FcnIoWE1MX0lPX0VOQ09ERVIsIE5VTEwpOworCSAgICBpbi0+ZXJyb3IgPSBYTUxfSU9fRU5DT0RFUjsKKwkgICAgcmV0dXJuKC0xKTsKKwl9CisJaW4tPnJhd2NvbnN1bWVkICs9ICh1c2UgLSB4bWxCdWZVc2UoaW4tPnJhdykpOworICAgIH0gZWxzZSB7CisJbmJjaGFycyA9IGxlbjsKKyAgICAgICAgeG1sQnVmQWRkTGVuKGluLT5idWZmZXIsIG5iY2hhcnMpOworICAgIH0KKyNpZmRlZiBERUJVR19JTlBVVAorICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCSAgICAiSS9POiByZWFkICVkIGNoYXJzLCBidWZmZXIgJWRcbiIsCisgICAgICAgICAgICBuYmNoYXJzLCB4bWxCdWZVc2UoaW4tPmJ1ZmZlcikpOworI2VuZGlmCisgICAgcmV0dXJuKG5iY2hhcnMpOworfQorCisvKioKKyAqIHhtbFBhcnNlcklucHV0QnVmZmVyUmVhZDoKKyAqIEBpbjogIGEgYnVmZmVyZWQgcGFyc2VyIGlucHV0CisgKiBAbGVuOiAgaW5kaWNhdGl2ZSB2YWx1ZSBvZiB0aGUgYW1vdW50IG9mIGNoYXJzIHRvIHJlYWQKKyAqCisgKiBSZWZyZXNoIHRoZSBjb250ZW50IG9mIHRoZSBpbnB1dCBidWZmZXIsIHRoZSBvbGQgZGF0YSBhcmUgY29uc2lkZXJlZAorICogY29uc3VtZWQKKyAqIFRoaXMgcm91dGluZSBoYW5kbGUgdGhlIEkxOE4gdHJhbnNjb2RpbmcgdG8gaW50ZXJuYWwgVVRGLTgKKyAqCisgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgY2hhcnMgcmVhZCBhbmQgc3RvcmVkIGluIHRoZSBidWZmZXIsIG9yIC0xCisgKiAgICAgICAgIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludAoreG1sUGFyc2VySW5wdXRCdWZmZXJSZWFkKHhtbFBhcnNlcklucHV0QnVmZmVyUHRyIGluLCBpbnQgbGVuKSB7CisgICAgaWYgKChpbiA9PSBOVUxMKSB8fCAoaW4tPmVycm9yKSkgcmV0dXJuKC0xKTsKKyAgICBpZiAoaW4tPnJlYWRjYWxsYmFjayAhPSBOVUxMKQorCXJldHVybih4bWxQYXJzZXJJbnB1dEJ1ZmZlckdyb3coaW4sIGxlbikpOworICAgIGVsc2UgaWYgKHhtbEJ1ZkdldEFsbG9jYXRpb25TY2hlbWUoaW4tPmJ1ZmZlcikgPT0gWE1MX0JVRkZFUl9BTExPQ19JTU1VVEFCTEUpCisJcmV0dXJuKDApOworICAgIGVsc2UKKyAgICAgICAgcmV0dXJuKC0xKTsKK30KKworI2lmZGVmIExJQlhNTF9PVVRQVVRfRU5BQkxFRAorLyoqCisgKiB4bWxPdXRwdXRCdWZmZXJXcml0ZToKKyAqIEBvdXQ6ICBhIGJ1ZmZlcmVkIHBhcnNlciBvdXRwdXQKKyAqIEBsZW46ICB0aGUgc2l6ZSBpbiBieXRlcyBvZiB0aGUgYXJyYXkuCisgKiBAYnVmOiAgYW4gY2hhciBhcnJheQorICoKKyAqIFdyaXRlIHRoZSBjb250ZW50IG9mIHRoZSBhcnJheSBpbiB0aGUgb3V0cHV0IEkvTyBidWZmZXIKKyAqIFRoaXMgcm91dGluZSBoYW5kbGUgdGhlIEkxOE4gdHJhbnNjb2RpbmcgZnJvbSBpbnRlcm5hbCBVVEYtOAorICogVGhlIGJ1ZmZlciBpcyBsb3NzbGVzcywgaS5lLiB3aWxsIHN0b3JlIGluIGNhc2Ugb2YgcGFydGlhbAorICogb3IgZGVsYXllZCB3cml0ZXMuCisgKgorICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIGNoYXJzIGltbWVkaWF0ZWx5IHdyaXR0ZW4sIG9yIC0xCisgKiAgICAgICAgIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludAoreG1sT3V0cHV0QnVmZmVyV3JpdGUoeG1sT3V0cHV0QnVmZmVyUHRyIG91dCwgaW50IGxlbiwgY29uc3QgY2hhciAqYnVmKSB7CisgICAgaW50IG5iY2hhcnMgPSAwOyAvKiBudW1iZXIgb2YgY2hhcnMgdG8gb3V0cHV0IHRvIEkvTyAqLworICAgIGludCByZXQ7ICAgICAgICAgLyogcmV0dXJuIGZyb20gZnVuY3Rpb24gY2FsbCAqLworICAgIGludCB3cml0dGVuID0gMDsgLyogbnVtYmVyIG9mIGNoYXIgd3JpdHRlbiB0byBJL08gc28gZmFyICovCisgICAgaW50IGNodW5rOyAgICAgICAvKiBudW1iZXIgb2YgYnl0ZSBjdXJyZWVudCBwcm9jZXNzZWQgZnJvbSBidWYgKi8KKworICAgIGlmICgob3V0ID09IE5VTEwpIHx8IChvdXQtPmVycm9yKSkgcmV0dXJuKC0xKTsKKyAgICBpZiAobGVuIDwgMCkgcmV0dXJuKDApOworICAgIGlmIChvdXQtPmVycm9yKSByZXR1cm4oLTEpOworCisgICAgZG8geworCWNodW5rID0gbGVuOworCWlmIChjaHVuayA+IDQgKiBNSU5MRU4pCisJICAgIGNodW5rID0gNCAqIE1JTkxFTjsKKworCS8qCisJICogZmlyc3QgaGFuZGxlIGVuY29kaW5nIHN0dWZmLgorCSAqLworCWlmIChvdXQtPmVuY29kZXIgIT0gTlVMTCkgeworCSAgICAvKgorCSAgICAgKiBTdG9yZSB0aGUgZGF0YSBpbiB0aGUgaW5jb21pbmcgcmF3IGJ1ZmZlcgorCSAgICAgKi8KKwkgICAgaWYgKG91dC0+Y29udiA9PSBOVUxMKSB7CisJCW91dC0+Y29udiA9IHhtbEJ1ZkNyZWF0ZSgpOworCSAgICB9CisJICAgIHJldCA9IHhtbEJ1ZkFkZChvdXQtPmJ1ZmZlciwgKGNvbnN0IHhtbENoYXIgKikgYnVmLCBjaHVuayk7CisJICAgIGlmIChyZXQgIT0gMCkKKwkgICAgICAgIHJldHVybigtMSk7CisKKwkgICAgaWYgKCh4bWxCdWZVc2Uob3V0LT5idWZmZXIpIDwgTUlOTEVOKSAmJiAoY2h1bmsgPT0gbGVuKSkKKwkJZ290byBkb25lOworCisJICAgIC8qCisJICAgICAqIGNvbnZlcnQgYXMgbXVjaCBhcyBwb3NzaWJsZSB0byB0aGUgcGFyc2VyIHJlYWRpbmcgYnVmZmVyLgorCSAgICAgKi8KKwkgICAgcmV0ID0geG1sQ2hhckVuY091dHB1dChvdXQsIDApOworCSAgICBpZiAoKHJldCA8IDApICYmIChyZXQgIT0gLTMpKSB7CisJCXhtbElPRXJyKFhNTF9JT19FTkNPREVSLCBOVUxMKTsKKwkJb3V0LT5lcnJvciA9IFhNTF9JT19FTkNPREVSOworCQlyZXR1cm4oLTEpOworCSAgICB9CisJICAgIG5iY2hhcnMgPSB4bWxCdWZVc2Uob3V0LT5jb252KTsKKwl9IGVsc2UgeworCSAgICByZXQgPSB4bWxCdWZBZGQob3V0LT5idWZmZXIsIChjb25zdCB4bWxDaGFyICopIGJ1ZiwgY2h1bmspOworCSAgICBpZiAocmV0ICE9IDApCisJICAgICAgICByZXR1cm4oLTEpOworCSAgICBuYmNoYXJzID0geG1sQnVmVXNlKG91dC0+YnVmZmVyKTsKKwl9CisJYnVmICs9IGNodW5rOworCWxlbiAtPSBjaHVuazsKKworCWlmICgobmJjaGFycyA8IE1JTkxFTikgJiYgKGxlbiA8PSAwKSkKKwkgICAgZ290byBkb25lOworCisJaWYgKG91dC0+d3JpdGVjYWxsYmFjaykgeworCSAgICAvKgorCSAgICAgKiBzZWNvbmQgd3JpdGUgdGhlIHN0dWZmIHRvIHRoZSBJL08gY2hhbm5lbAorCSAgICAgKi8KKwkgICAgaWYgKG91dC0+ZW5jb2RlciAhPSBOVUxMKSB7CisJCXJldCA9IG91dC0+d3JpdGVjYWxsYmFjayhvdXQtPmNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29uc3QgY2hhciAqKXhtbEJ1ZkNvbnRlbnQob3V0LT5jb252KSwgbmJjaGFycyk7CisJCWlmIChyZXQgPj0gMCkKKwkJICAgIHhtbEJ1ZlNocmluayhvdXQtPmNvbnYsIHJldCk7CisJICAgIH0gZWxzZSB7CisJCXJldCA9IG91dC0+d3JpdGVjYWxsYmFjayhvdXQtPmNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29uc3QgY2hhciAqKXhtbEJ1ZkNvbnRlbnQob3V0LT5idWZmZXIpLCBuYmNoYXJzKTsKKwkJaWYgKHJldCA+PSAwKQorCQkgICAgeG1sQnVmU2hyaW5rKG91dC0+YnVmZmVyLCByZXQpOworCSAgICB9CisJICAgIGlmIChyZXQgPCAwKSB7CisJCXhtbElPRXJyKFhNTF9JT19XUklURSwgTlVMTCk7CisJCW91dC0+ZXJyb3IgPSBYTUxfSU9fV1JJVEU7CisJCXJldHVybihyZXQpOworCSAgICB9CisJICAgIG91dC0+d3JpdHRlbiArPSByZXQ7CisJfQorCXdyaXR0ZW4gKz0gbmJjaGFyczsKKyAgICB9IHdoaWxlIChsZW4gPiAwKTsKKworZG9uZToKKyNpZmRlZiBERUJVR19JTlBVVAorICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCSAgICAiSS9POiB3cm90ZSAlZCBjaGFyc1xuIiwgd3JpdHRlbik7CisjZW5kaWYKKyAgICByZXR1cm4od3JpdHRlbik7Cit9CisKKy8qKgorICogeG1sRXNjYXBlQ29udGVudDoKKyAqIEBvdXQ6ICBhIHBvaW50ZXIgdG8gYW4gYXJyYXkgb2YgYnl0ZXMgdG8gc3RvcmUgdGhlIHJlc3VsdAorICogQG91dGxlbjogIHRoZSBsZW5ndGggb2YgQG91dAorICogQGluOiAgYSBwb2ludGVyIHRvIGFuIGFycmF5IG9mIHVuZXNjYXBlZCBVVEYtOCBieXRlcworICogQGlubGVuOiAgdGhlIGxlbmd0aCBvZiBAaW4KKyAqCisgKiBUYWtlIGEgYmxvY2sgb2YgVVRGLTggY2hhcnMgaW4gYW5kIGVzY2FwZSB0aGVtLgorICogUmV0dXJucyAwIGlmIHN1Y2Nlc3MsIG9yIC0xIG90aGVyd2lzZQorICogVGhlIHZhbHVlIG9mIEBpbmxlbiBhZnRlciByZXR1cm4gaXMgdGhlIG51bWJlciBvZiBvY3RldHMgY29uc3VtZWQKKyAqICAgICBpZiB0aGUgcmV0dXJuIHZhbHVlIGlzIHBvc2l0aXZlLCBlbHNlIHVucHJlZGljdGFibGUuCisgKiBUaGUgdmFsdWUgb2YgQG91dGxlbiBhZnRlciByZXR1cm4gaXMgdGhlIG51bWJlciBvZiBvY3RldHMgY29uc3VtZWQuCisgKi8KK3N0YXRpYyBpbnQKK3htbEVzY2FwZUNvbnRlbnQodW5zaWduZWQgY2hhciogb3V0LCBpbnQgKm91dGxlbiwKKyAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciogaW4sIGludCAqaW5sZW4pIHsKKyAgICB1bnNpZ25lZCBjaGFyKiBvdXRzdGFydCA9IG91dDsKKyAgICBjb25zdCB1bnNpZ25lZCBjaGFyKiBiYXNlID0gaW47CisgICAgdW5zaWduZWQgY2hhciogb3V0ZW5kID0gb3V0ICsgKm91dGxlbjsKKyAgICBjb25zdCB1bnNpZ25lZCBjaGFyKiBpbmVuZDsKKworICAgIGluZW5kID0gaW4gKyAoKmlubGVuKTsKKworICAgIHdoaWxlICgoaW4gPCBpbmVuZCkgJiYgKG91dCA8IG91dGVuZCkpIHsKKwlpZiAoKmluID09ICc8JykgeworCSAgICBpZiAob3V0ZW5kIC0gb3V0IDwgNCkgYnJlYWs7CisJICAgICpvdXQrKyA9ICcmJzsKKwkgICAgKm91dCsrID0gJ2wnOworCSAgICAqb3V0KysgPSAndCc7CisJICAgICpvdXQrKyA9ICc7JzsKKwl9IGVsc2UgaWYgKCppbiA9PSAnPicpIHsKKwkgICAgaWYgKG91dGVuZCAtIG91dCA8IDQpIGJyZWFrOworCSAgICAqb3V0KysgPSAnJic7CisJICAgICpvdXQrKyA9ICdnJzsKKwkgICAgKm91dCsrID0gJ3QnOworCSAgICAqb3V0KysgPSAnOyc7CisJfSBlbHNlIGlmICgqaW4gPT0gJyYnKSB7CisJICAgIGlmIChvdXRlbmQgLSBvdXQgPCA1KSBicmVhazsKKwkgICAgKm91dCsrID0gJyYnOworCSAgICAqb3V0KysgPSAnYSc7CisJICAgICpvdXQrKyA9ICdtJzsKKwkgICAgKm91dCsrID0gJ3AnOworCSAgICAqb3V0KysgPSAnOyc7CisJfSBlbHNlIGlmICgqaW4gPT0gJ1xyJykgeworCSAgICBpZiAob3V0ZW5kIC0gb3V0IDwgNSkgYnJlYWs7CisJICAgICpvdXQrKyA9ICcmJzsKKwkgICAgKm91dCsrID0gJyMnOworCSAgICAqb3V0KysgPSAnMSc7CisJICAgICpvdXQrKyA9ICczJzsKKwkgICAgKm91dCsrID0gJzsnOworCX0gZWxzZSB7CisJICAgICpvdXQrKyA9ICh1bnNpZ25lZCBjaGFyKSAqaW47CisJfQorCSsraW47CisgICAgfQorICAgICpvdXRsZW4gPSBvdXQgLSBvdXRzdGFydDsKKyAgICAqaW5sZW4gPSBpbiAtIGJhc2U7CisgICAgcmV0dXJuKDApOworfQorCisvKioKKyAqIHhtbE91dHB1dEJ1ZmZlcldyaXRlRXNjYXBlOgorICogQG91dDogIGEgYnVmZmVyZWQgcGFyc2VyIG91dHB1dAorICogQHN0cjogIGEgemVybyB0ZXJtaW5hdGVkIFVURi04IHN0cmluZworICogQGVzY2FwaW5nOiAgYW4gb3B0aW9uYWwgZXNjYXBpbmcgZnVuY3Rpb24gKG9yIE5VTEwpCisgKgorICogV3JpdGUgdGhlIGNvbnRlbnQgb2YgdGhlIHN0cmluZyBpbiB0aGUgb3V0cHV0IEkvTyBidWZmZXIKKyAqIFRoaXMgcm91dGluZSBlc2NhcGVzIHRoZSBjYXJhY3RlcnMgYW5kIHRoZW4gaGFuZGxlIHRoZSBJMThOCisgKiB0cmFuc2NvZGluZyBmcm9tIGludGVybmFsIFVURi04CisgKiBUaGUgYnVmZmVyIGlzIGxvc3NsZXNzLCBpLmUuIHdpbGwgc3RvcmUgaW4gY2FzZSBvZiBwYXJ0aWFsCisgKiBvciBkZWxheWVkIHdyaXRlcy4KKyAqCisgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgY2hhcnMgaW1tZWRpYXRlbHkgd3JpdHRlbiwgb3IgLTEKKyAqICAgICAgICAgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50Cit4bWxPdXRwdXRCdWZmZXJXcml0ZUVzY2FwZSh4bWxPdXRwdXRCdWZmZXJQdHIgb3V0LCBjb25zdCB4bWxDaGFyICpzdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxDaGFyRW5jb2RpbmdPdXRwdXRGdW5jIGVzY2FwaW5nKSB7CisgICAgaW50IG5iY2hhcnMgPSAwOyAvKiBudW1iZXIgb2YgY2hhcnMgdG8gb3V0cHV0IHRvIEkvTyAqLworICAgIGludCByZXQ7ICAgICAgICAgLyogcmV0dXJuIGZyb20gZnVuY3Rpb24gY2FsbCAqLworICAgIGludCB3cml0dGVuID0gMDsgLyogbnVtYmVyIG9mIGNoYXIgd3JpdHRlbiB0byBJL08gc28gZmFyICovCisgICAgaW50IG9sZHdyaXR0ZW49MDsvKiBsb29wIGd1YXJkICovCisgICAgaW50IGNodW5rOyAgICAgICAvKiBudW1iZXIgb2YgYnl0ZSBjdXJyZW50bHkgcHJvY2Vzc2VkIGZyb20gc3RyICovCisgICAgaW50IGxlbjsgICAgICAgICAvKiBudW1iZXIgb2YgYnl0ZXMgaW4gc3RyICovCisgICAgaW50IGNvbnM7ICAgICAgICAvKiBieXRlIGZyb20gc3RyIGNvbnN1bWVkICovCisKKyAgICBpZiAoKG91dCA9PSBOVUxMKSB8fCAob3V0LT5lcnJvcikgfHwgKHN0ciA9PSBOVUxMKSB8fAorICAgICAgICAob3V0LT5idWZmZXIgPT0gTlVMTCkgfHwKKwkoeG1sQnVmR2V0QWxsb2NhdGlvblNjaGVtZShvdXQtPmJ1ZmZlcikgPT0gWE1MX0JVRkZFUl9BTExPQ19JTU1VVEFCTEUpKQorICAgICAgICByZXR1cm4oLTEpOworICAgIGxlbiA9IHN0cmxlbigoY29uc3QgY2hhciAqKXN0cik7CisgICAgaWYgKGxlbiA8IDApIHJldHVybigwKTsKKyAgICBpZiAob3V0LT5lcnJvcikgcmV0dXJuKC0xKTsKKyAgICBpZiAoZXNjYXBpbmcgPT0gTlVMTCkgZXNjYXBpbmcgPSB4bWxFc2NhcGVDb250ZW50OworCisgICAgZG8geworICAgICAgICBvbGR3cml0dGVuID0gd3JpdHRlbjsKKworICAgICAgICAvKgorCSAqIGhvdyBtYW55IGJ5dGVzIHRvIGNvbnN1bWUgYW5kIGhvdyBtYW55IGJ5dGVzIHRvIHN0b3JlLgorCSAqLworCWNvbnMgPSBsZW47CisJY2h1bmsgPSB4bWxCdWZBdmFpbChvdXQtPmJ1ZmZlcikgLSAxOworCisgICAgICAgIC8qCisJICogbWFrZSBzdXJlIHdlIGhhdmUgZW5vdWdoIHJvb20gdG8gc2F2ZSBmaXJzdCwgaWYgdGhpcyBpcworCSAqIG5vdCB0aGUgY2FzZSBmb3JjZSBhIGZsdXNoLCBidXQgbWFrZSBzdXJlIHdlIHN0YXkgaW4gdGhlIGxvb3AKKwkgKi8KKwlpZiAoY2h1bmsgPCA0MCkgeworCSAgICBpZiAoeG1sQnVmR3JvdyhvdXQtPmJ1ZmZlciwgMTAwKSA8IDApCisJICAgICAgICByZXR1cm4oLTEpOworICAgICAgICAgICAgb2xkd3JpdHRlbiA9IC0xOworCSAgICBjb250aW51ZTsKKwl9CisKKwkvKgorCSAqIGZpcnN0IGhhbmRsZSBlbmNvZGluZyBzdHVmZi4KKwkgKi8KKwlpZiAob3V0LT5lbmNvZGVyICE9IE5VTEwpIHsKKwkgICAgLyoKKwkgICAgICogU3RvcmUgdGhlIGRhdGEgaW4gdGhlIGluY29taW5nIHJhdyBidWZmZXIKKwkgICAgICovCisJICAgIGlmIChvdXQtPmNvbnYgPT0gTlVMTCkgeworCQlvdXQtPmNvbnYgPSB4bWxCdWZDcmVhdGUoKTsKKwkgICAgfQorCSAgICByZXQgPSBlc2NhcGluZyh4bWxCdWZFbmQob3V0LT5idWZmZXIpICwKKwkgICAgICAgICAgICAgICAgICAgJmNodW5rLCBzdHIsICZjb25zKTsKKwkgICAgaWYgKChyZXQgPCAwKSB8fCAoY2h1bmsgPT0gMCkpIC8qIGNodW5rPT0wID0+IG5vdGhpbmcgZG9uZSAqLworCSAgICAgICAgcmV0dXJuKC0xKTsKKyAgICAgICAgICAgIHhtbEJ1ZkFkZExlbihvdXQtPmJ1ZmZlciwgY2h1bmspOworCisJICAgIGlmICgoeG1sQnVmVXNlKG91dC0+YnVmZmVyKSA8IE1JTkxFTikgJiYgKGNvbnMgPT0gbGVuKSkKKwkJZ290byBkb25lOworCisJICAgIC8qCisJICAgICAqIGNvbnZlcnQgYXMgbXVjaCBhcyBwb3NzaWJsZSB0byB0aGUgb3V0cHV0IGJ1ZmZlci4KKwkgICAgICovCisJICAgIHJldCA9IHhtbENoYXJFbmNPdXRwdXQob3V0LCAwKTsKKwkgICAgaWYgKChyZXQgPCAwKSAmJiAocmV0ICE9IC0zKSkgeworCQl4bWxJT0VycihYTUxfSU9fRU5DT0RFUiwgTlVMTCk7CisJCW91dC0+ZXJyb3IgPSBYTUxfSU9fRU5DT0RFUjsKKwkJcmV0dXJuKC0xKTsKKwkgICAgfQorCSAgICBuYmNoYXJzID0geG1sQnVmVXNlKG91dC0+Y29udik7CisJfSBlbHNlIHsKKwkgICAgcmV0ID0gZXNjYXBpbmcoeG1sQnVmRW5kKG91dC0+YnVmZmVyKSwgJmNodW5rLCBzdHIsICZjb25zKTsKKwkgICAgaWYgKChyZXQgPCAwKSB8fCAoY2h1bmsgPT0gMCkpIC8qIGNodW5rPT0wID0+IG5vdGhpbmcgZG9uZSAqLworCSAgICAgICAgcmV0dXJuKC0xKTsKKyAgICAgICAgICAgIHhtbEJ1ZkFkZExlbihvdXQtPmJ1ZmZlciwgY2h1bmspOworCSAgICBuYmNoYXJzID0geG1sQnVmVXNlKG91dC0+YnVmZmVyKTsKKwl9CisJc3RyICs9IGNvbnM7CisJbGVuIC09IGNvbnM7CisKKwlpZiAoKG5iY2hhcnMgPCBNSU5MRU4pICYmIChsZW4gPD0gMCkpCisJICAgIGdvdG8gZG9uZTsKKworCWlmIChvdXQtPndyaXRlY2FsbGJhY2spIHsKKwkgICAgLyoKKwkgICAgICogc2Vjb25kIHdyaXRlIHRoZSBzdHVmZiB0byB0aGUgSS9PIGNoYW5uZWwKKwkgICAgICovCisJICAgIGlmIChvdXQtPmVuY29kZXIgIT0gTlVMTCkgeworCQlyZXQgPSBvdXQtPndyaXRlY2FsbGJhY2sob3V0LT5jb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0IGNoYXIgKil4bWxCdWZDb250ZW50KG91dC0+Y29udiksIG5iY2hhcnMpOworCQlpZiAocmV0ID49IDApCisJCSAgICB4bWxCdWZTaHJpbmsob3V0LT5jb252LCByZXQpOworCSAgICB9IGVsc2UgeworCQlyZXQgPSBvdXQtPndyaXRlY2FsbGJhY2sob3V0LT5jb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0IGNoYXIgKil4bWxCdWZDb250ZW50KG91dC0+YnVmZmVyKSwgbmJjaGFycyk7CisJCWlmIChyZXQgPj0gMCkKKwkJICAgIHhtbEJ1ZlNocmluayhvdXQtPmJ1ZmZlciwgcmV0KTsKKwkgICAgfQorCSAgICBpZiAocmV0IDwgMCkgeworCQl4bWxJT0VycihYTUxfSU9fV1JJVEUsIE5VTEwpOworCQlvdXQtPmVycm9yID0gWE1MX0lPX1dSSVRFOworCQlyZXR1cm4ocmV0KTsKKwkgICAgfQorCSAgICBvdXQtPndyaXR0ZW4gKz0gcmV0OworCX0gZWxzZSBpZiAoeG1sQnVmQXZhaWwob3V0LT5idWZmZXIpIDwgTUlOTEVOKSB7CisJICAgIHhtbEJ1Zkdyb3cob3V0LT5idWZmZXIsIE1JTkxFTik7CisJfQorCXdyaXR0ZW4gKz0gbmJjaGFyczsKKyAgICB9IHdoaWxlICgobGVuID4gMCkgJiYgKG9sZHdyaXR0ZW4gIT0gd3JpdHRlbikpOworCitkb25lOgorI2lmZGVmIERFQlVHX0lOUFVUCisgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJICAgICJJL086IHdyb3RlICVkIGNoYXJzXG4iLCB3cml0dGVuKTsKKyNlbmRpZgorICAgIHJldHVybih3cml0dGVuKTsKK30KKworLyoqCisgKiB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZzoKKyAqIEBvdXQ6ICBhIGJ1ZmZlcmVkIHBhcnNlciBvdXRwdXQKKyAqIEBzdHI6ICBhIHplcm8gdGVybWluYXRlZCBDIHN0cmluZworICoKKyAqIFdyaXRlIHRoZSBjb250ZW50IG9mIHRoZSBzdHJpbmcgaW4gdGhlIG91dHB1dCBJL08gYnVmZmVyCisgKiBUaGlzIHJvdXRpbmUgaGFuZGxlIHRoZSBJMThOIHRyYW5zY29kaW5nIGZyb20gaW50ZXJuYWwgVVRGLTgKKyAqIFRoZSBidWZmZXIgaXMgbG9zc2xlc3MsIGkuZS4gd2lsbCBzdG9yZSBpbiBjYXNlIG9mIHBhcnRpYWwKKyAqIG9yIGRlbGF5ZWQgd3JpdGVzLgorICoKKyAqIFJldHVybnMgdGhlIG51bWJlciBvZiBjaGFycyBpbW1lZGlhdGVseSB3cml0dGVuLCBvciAtMQorICogICAgICAgICBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQKK3htbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nKHhtbE91dHB1dEJ1ZmZlclB0ciBvdXQsIGNvbnN0IGNoYXIgKnN0cikgeworICAgIGludCBsZW47CisKKyAgICBpZiAoKG91dCA9PSBOVUxMKSB8fCAob3V0LT5lcnJvcikpIHJldHVybigtMSk7CisgICAgaWYgKHN0ciA9PSBOVUxMKQorICAgICAgICByZXR1cm4oLTEpOworICAgIGxlbiA9IHN0cmxlbihzdHIpOworCisgICAgaWYgKGxlbiA+IDApCisJcmV0dXJuKHhtbE91dHB1dEJ1ZmZlcldyaXRlKG91dCwgbGVuLCBzdHIpKTsKKyAgICByZXR1cm4obGVuKTsKK30KKworLyoqCisgKiB4bWxPdXRwdXRCdWZmZXJGbHVzaDoKKyAqIEBvdXQ6ICBhIGJ1ZmZlcmVkIG91dHB1dAorICoKKyAqIGZsdXNoZXMgdGhlIG91dHB1dCBJL08gY2hhbm5lbAorICoKKyAqIFJldHVybnMgdGhlIG51bWJlciBvZiBieXRlIHdyaXR0ZW4gb3IgLTEgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50Cit4bWxPdXRwdXRCdWZmZXJGbHVzaCh4bWxPdXRwdXRCdWZmZXJQdHIgb3V0KSB7CisgICAgaW50IG5iY2hhcnMgPSAwLCByZXQgPSAwOworCisgICAgaWYgKChvdXQgPT0gTlVMTCkgfHwgKG91dC0+ZXJyb3IpKSByZXR1cm4oLTEpOworICAgIC8qCisgICAgICogZmlyc3QgaGFuZGxlIGVuY29kaW5nIHN0dWZmLgorICAgICAqLworICAgIGlmICgob3V0LT5jb252ICE9IE5VTEwpICYmIChvdXQtPmVuY29kZXIgIT0gTlVMTCkpIHsKKwkvKgorCSAqIGNvbnZlcnQgYXMgbXVjaCBhcyBwb3NzaWJsZSB0byB0aGUgcGFyc2VyIG91dHB1dCBidWZmZXIuCisJICovCisJZG8geworCSAgICBuYmNoYXJzID0geG1sQ2hhckVuY091dHB1dChvdXQsIDApOworCSAgICBpZiAobmJjaGFycyA8IDApIHsKKwkJeG1sSU9FcnIoWE1MX0lPX0VOQ09ERVIsIE5VTEwpOworCQlvdXQtPmVycm9yID0gWE1MX0lPX0VOQ09ERVI7CisJCXJldHVybigtMSk7CisJICAgIH0KKwl9IHdoaWxlIChuYmNoYXJzKTsKKyAgICB9CisKKyAgICAvKgorICAgICAqIHNlY29uZCBmbHVzaCB0aGUgc3R1ZmYgdG8gdGhlIEkvTyBjaGFubmVsCisgICAgICovCisgICAgaWYgKChvdXQtPmNvbnYgIT0gTlVMTCkgJiYgKG91dC0+ZW5jb2RlciAhPSBOVUxMKSAmJgorCShvdXQtPndyaXRlY2FsbGJhY2sgIT0gTlVMTCkpIHsKKwlyZXQgPSBvdXQtPndyaXRlY2FsbGJhY2sob3V0LT5jb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0IGNoYXIgKil4bWxCdWZDb250ZW50KG91dC0+Y29udiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxCdWZVc2Uob3V0LT5jb252KSk7CisJaWYgKHJldCA+PSAwKQorCSAgICB4bWxCdWZTaHJpbmsob3V0LT5jb252LCByZXQpOworICAgIH0gZWxzZSBpZiAob3V0LT53cml0ZWNhbGxiYWNrICE9IE5VTEwpIHsKKwlyZXQgPSBvdXQtPndyaXRlY2FsbGJhY2sob3V0LT5jb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0IGNoYXIgKil4bWxCdWZDb250ZW50KG91dC0+YnVmZmVyKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbEJ1ZlVzZShvdXQtPmJ1ZmZlcikpOworCWlmIChyZXQgPj0gMCkKKwkgICAgeG1sQnVmU2hyaW5rKG91dC0+YnVmZmVyLCByZXQpOworICAgIH0KKyAgICBpZiAocmV0IDwgMCkgeworCXhtbElPRXJyKFhNTF9JT19GTFVTSCwgTlVMTCk7CisJb3V0LT5lcnJvciA9IFhNTF9JT19GTFVTSDsKKwlyZXR1cm4ocmV0KTsKKyAgICB9CisgICAgb3V0LT53cml0dGVuICs9IHJldDsKKworI2lmZGVmIERFQlVHX0lOUFVUCisgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJICAgICJJL086IGZsdXNoZWQgJWQgY2hhcnNcbiIsIHJldCk7CisjZW5kaWYKKyAgICByZXR1cm4ocmV0KTsKK30KKyNlbmRpZiAvKiBMSUJYTUxfT1VUUFVUX0VOQUJMRUQgKi8KKworLyoqCisgKiB4bWxQYXJzZXJHZXREaXJlY3Rvcnk6CisgKiBAZmlsZW5hbWU6ICB0aGUgcGF0aCB0byBhIGZpbGUKKyAqCisgKiBsb29rdXAgdGhlIGRpcmVjdG9yeSBmb3IgdGhhdCBmaWxlCisgKgorICogUmV0dXJucyBhIG5ldyBhbGxvY2F0ZWQgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIGRpcmVjdG9yeSwgb3IgTlVMTC4KKyAqLworY2hhciAqCit4bWxQYXJzZXJHZXREaXJlY3RvcnkoY29uc3QgY2hhciAqZmlsZW5hbWUpIHsKKyAgICBjaGFyICpyZXQgPSBOVUxMOworICAgIGNoYXIgZGlyWzEwMjRdOworICAgIGNoYXIgKmN1cjsKKworI2lmZGVmIF9XSU4zMl9XQ0UgIC8qIGVhc3kgd2F5IGJ5IG5vdyAuLi4gd2luY2UgZG9lcyBub3QgaGF2ZSBkaXJzISAqLworICAgIHJldHVybiBOVUxMOworI2VuZGlmCisKKyAgICBpZiAoeG1sSW5wdXRDYWxsYmFja0luaXRpYWxpemVkID09IDApCisJeG1sUmVnaXN0ZXJEZWZhdWx0SW5wdXRDYWxsYmFja3MoKTsKKworICAgIGlmIChmaWxlbmFtZSA9PSBOVUxMKSByZXR1cm4oTlVMTCk7CisKKyNpZiBkZWZpbmVkKFdJTjMyKSAmJiAhZGVmaW5lZChfX0NZR1dJTl9fKQorIyAgIGRlZmluZSBJU19YTUxQR0RfU0VQKGNoKSAoKGNoPT0nLycpfHwoY2g9PSdcXCcpKQorI2Vsc2UKKyMgICBkZWZpbmUgSVNfWE1MUEdEX1NFUChjaCkgKGNoPT0nLycpCisjZW5kaWYKKworICAgIHN0cm5jcHkoZGlyLCBmaWxlbmFtZSwgMTAyMyk7CisgICAgZGlyWzEwMjNdID0gMDsKKyAgICBjdXIgPSAmZGlyW3N0cmxlbihkaXIpXTsKKyAgICB3aGlsZSAoY3VyID4gZGlyKSB7CisgICAgICAgICBpZiAoSVNfWE1MUEdEX1NFUCgqY3VyKSkgYnJlYWs7CisJIGN1ciAtLTsKKyAgICB9CisgICAgaWYgKElTX1hNTFBHRF9TRVAoKmN1cikpIHsKKyAgICAgICAgaWYgKGN1ciA9PSBkaXIpIGRpclsxXSA9IDA7CisJZWxzZSAqY3VyID0gMDsKKwlyZXQgPSB4bWxNZW1TdHJkdXAoZGlyKTsKKyAgICB9IGVsc2UgeworICAgICAgICBpZiAoZ2V0Y3dkKGRpciwgMTAyNCkgIT0gTlVMTCkgeworCSAgICBkaXJbMTAyM10gPSAwOworCSAgICByZXQgPSB4bWxNZW1TdHJkdXAoZGlyKTsKKwl9CisgICAgfQorICAgIHJldHVybihyZXQpOworI3VuZGVmIElTX1hNTFBHRF9TRVAKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkqCisgKgkJRXh0ZXJuYWwgZW50aXRpZXMgbG9hZGluZwkJCSoKKyAqCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqCisgKiB4bWxDaGVja0hUVFBJbnB1dDoKKyAqIEBjdHh0OiBhbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEByZXQ6IGFuIFhNTCBwYXJzZXIgaW5wdXQKKyAqCisgKiBDaGVjayBhbiBpbnB1dCBpbiBjYXNlIGl0IHdhcyBjcmVhdGVkIGZyb20gYW4gSFRUUCBzdHJlYW0sIGluIHRoYXQKKyAqIGNhc2UgaXQgd2lsbCBoYW5kbGUgZW5jb2RpbmcgYW5kIHVwZGF0ZSBvZiB0aGUgYmFzZSBVUkwgaW4gY2FzZSBvZgorICogcmVkaXJlY3Rpb24uIEl0IGFsc28gY2hlY2tzIGZvciBIVFRQIGVycm9ycyBpbiB3aGljaCBjYXNlIHRoZSBpbnB1dAorICogaXMgY2xlYW5seSBmcmVlZCB1cCBhbmQgYW4gYXBwcm9wcmlhdGUgZXJyb3IgaXMgcmFpc2VkIGluIGNvbnRleHQKKyAqCisgKiBSZXR1cm5zIHRoZSBpbnB1dCBvciBOVUxMIGluIGNhc2Ugb2YgSFRUUCBlcnJvci4KKyAqLworeG1sUGFyc2VySW5wdXRQdHIKK3htbENoZWNrSFRUUElucHV0KHhtbFBhcnNlckN0eHRQdHIgY3R4dCwgeG1sUGFyc2VySW5wdXRQdHIgcmV0KSB7CisjaWZkZWYgTElCWE1MX0hUVFBfRU5BQkxFRAorICAgIGlmICgocmV0ICE9IE5VTEwpICYmIChyZXQtPmJ1ZiAhPSBOVUxMKSAmJgorICAgICAgICAocmV0LT5idWYtPnJlYWRjYWxsYmFjayA9PSB4bWxJT0hUVFBSZWFkKSAmJgorICAgICAgICAocmV0LT5idWYtPmNvbnRleHQgIT0gTlVMTCkpIHsKKyAgICAgICAgY29uc3QgY2hhciAqZW5jb2Rpbmc7CisgICAgICAgIGNvbnN0IGNoYXIgKnJlZGlyOworICAgICAgICBjb25zdCBjaGFyICptaW1lOworICAgICAgICBpbnQgY29kZTsKKworICAgICAgICBjb2RlID0geG1sTmFub0hUVFBSZXR1cm5Db2RlKHJldC0+YnVmLT5jb250ZXh0KTsKKyAgICAgICAgaWYgKGNvZGUgPj0gNDAwKSB7CisgICAgICAgICAgICAvKiBmYXRhbCBlcnJvciAqLworCSAgICBpZiAocmV0LT5maWxlbmFtZSAhPSBOVUxMKQorCQlfX3htbExvYWRlckVycihjdHh0LCAiZmFpbGVkIHRvIGxvYWQgSFRUUCByZXNvdXJjZSBcIiVzXCJcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0IGNoYXIgKikgcmV0LT5maWxlbmFtZSk7CisJICAgIGVsc2UKKwkJX194bWxMb2FkZXJFcnIoY3R4dCwgImZhaWxlZCB0byBsb2FkIEhUVFAgcmVzb3VyY2VcbiIsIE5VTEwpOworICAgICAgICAgICAgeG1sRnJlZUlucHV0U3RyZWFtKHJldCk7CisgICAgICAgICAgICByZXQgPSBOVUxMOworICAgICAgICB9IGVsc2UgeworCisgICAgICAgICAgICBtaW1lID0geG1sTmFub0hUVFBNaW1lVHlwZShyZXQtPmJ1Zi0+Y29udGV4dCk7CisgICAgICAgICAgICBpZiAoKHhtbFN0cnN0cihCQURfQ0FTVCBtaW1lLCBCQURfQ0FTVCAiL3htbCIpKSB8fAorICAgICAgICAgICAgICAgICh4bWxTdHJzdHIoQkFEX0NBU1QgbWltZSwgQkFEX0NBU1QgIit4bWwiKSkpIHsKKyAgICAgICAgICAgICAgICBlbmNvZGluZyA9IHhtbE5hbm9IVFRQRW5jb2RpbmcocmV0LT5idWYtPmNvbnRleHQpOworICAgICAgICAgICAgICAgIGlmIChlbmNvZGluZyAhPSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgIHhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIgaGFuZGxlcjsKKworICAgICAgICAgICAgICAgICAgICBoYW5kbGVyID0geG1sRmluZENoYXJFbmNvZGluZ0hhbmRsZXIoZW5jb2RpbmcpOworICAgICAgICAgICAgICAgICAgICBpZiAoaGFuZGxlciAhPSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgICAgICB4bWxTd2l0Y2hJbnB1dEVuY29kaW5nKGN0eHQsIHJldCwgaGFuZGxlcik7CisgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICBfX3htbEVyckVuY29kaW5nKGN0eHQsIFhNTF9FUlJfVU5LTk9XTl9FTkNPRElORywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlVua25vd24gZW5jb2RpbmcgJXMiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCQURfQ0FTVCBlbmNvZGluZywgTlVMTCk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgaWYgKHJldC0+ZW5jb2RpbmcgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldC0+ZW5jb2RpbmcgPSB4bWxTdHJkdXAoQkFEX0NBU1QgZW5jb2RpbmcpOworICAgICAgICAgICAgICAgIH0KKyNpZiAwCisgICAgICAgICAgICB9IGVsc2UgaWYgKHhtbFN0cnN0cihCQURfQ0FTVCBtaW1lLCBCQURfQ0FTVCAiaHRtbCIpKSB7CisjZW5kaWYKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHJlZGlyID0geG1sTmFub0hUVFBSZWRpcihyZXQtPmJ1Zi0+Y29udGV4dCk7CisgICAgICAgICAgICBpZiAocmVkaXIgIT0gTlVMTCkgeworICAgICAgICAgICAgICAgIGlmIChyZXQtPmZpbGVuYW1lICE9IE5VTEwpCisgICAgICAgICAgICAgICAgICAgIHhtbEZyZWUoKHhtbENoYXIgKikgcmV0LT5maWxlbmFtZSk7CisgICAgICAgICAgICAgICAgaWYgKHJldC0+ZGlyZWN0b3J5ICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgeG1sRnJlZSgoeG1sQ2hhciAqKSByZXQtPmRpcmVjdG9yeSk7CisgICAgICAgICAgICAgICAgICAgIHJldC0+ZGlyZWN0b3J5ID0gTlVMTDsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgcmV0LT5maWxlbmFtZSA9CisgICAgICAgICAgICAgICAgICAgIChjaGFyICopIHhtbFN0cmR1cCgoY29uc3QgeG1sQ2hhciAqKSByZWRpcik7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisjZW5kaWYKKyAgICByZXR1cm4ocmV0KTsKK30KKworc3RhdGljIGludCB4bWxOb05ldEV4aXN0cyhjb25zdCBjaGFyICpVUkwpIHsKKyAgICBjb25zdCBjaGFyICpwYXRoOworCisgICAgaWYgKFVSTCA9PSBOVUxMKQorCXJldHVybigwKTsKKworICAgIGlmICgheG1sU3RybmNhc2VjbXAoQkFEX0NBU1QgVVJMLCBCQURfQ0FTVCAiZmlsZTovL2xvY2FsaG9zdC8iLCAxNykpCisjaWYgZGVmaW5lZCAoX1dJTjMyKSB8fCBkZWZpbmVkIChfX0RKR1BQX18pICYmICFkZWZpbmVkKF9fQ1lHV0lOX18pCisJcGF0aCA9ICZVUkxbMTddOworI2Vsc2UKKwlwYXRoID0gJlVSTFsxNl07CisjZW5kaWYKKyAgICBlbHNlIGlmICgheG1sU3RybmNhc2VjbXAoQkFEX0NBU1QgVVJMLCBCQURfQ0FTVCAiZmlsZTovLy8iLCA4KSkgeworI2lmIGRlZmluZWQgKF9XSU4zMikgfHwgZGVmaW5lZCAoX19ESkdQUF9fKSAmJiAhZGVmaW5lZChfX0NZR1dJTl9fKQorCXBhdGggPSAmVVJMWzhdOworI2Vsc2UKKwlwYXRoID0gJlVSTFs3XTsKKyNlbmRpZgorICAgIH0gZWxzZQorCXBhdGggPSBVUkw7CisKKyAgICByZXR1cm4geG1sQ2hlY2tGaWxlbmFtZShwYXRoKTsKK30KKworI2lmZGVmIExJQlhNTF9DQVRBTE9HX0VOQUJMRUQKKworLyoqCisgKiB4bWxSZXNvbHZlUmVzb3VyY2VGcm9tQ2F0YWxvZzoKKyAqIEBVUkw6ICB0aGUgVVJMIGZvciB0aGUgZW50aXR5IHRvIGxvYWQKKyAqIEBJRDogIHRoZSBTeXN0ZW0gSUQgZm9yIHRoZSBlbnRpdHkgdG8gbG9hZAorICogQGN0eHQ6ICB0aGUgY29udGV4dCBpbiB3aGljaCB0aGUgZW50aXR5IGlzIGNhbGxlZCBvciBOVUxMCisgKgorICogUmVzb2x2ZXMgdGhlIFVSTCBhbmQgSUQgYWdhaW5zdCB0aGUgYXBwcm9wcmlhdGUgY2F0YWxvZy4KKyAqIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCBieSB4bWxEZWZhdWx0RXh0ZXJuYWxFbnRpdHlMb2FkZXIgYW5kCisgKiB4bWxOb05ldEV4dGVybmFsRW50aXR5TG9hZGVyLgorICoKKyAqIFJldHVybnMgYSBuZXcgYWxsb2NhdGVkIFVSTCwgb3IgTlVMTC4KKyAqLworc3RhdGljIHhtbENoYXIgKgoreG1sUmVzb2x2ZVJlc291cmNlRnJvbUNhdGFsb2coY29uc3QgY2hhciAqVVJMLCBjb25zdCBjaGFyICpJRCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFBhcnNlckN0eHRQdHIgY3R4dCkgeworICAgIHhtbENoYXIgKnJlc291cmNlID0gTlVMTDsKKyAgICB4bWxDYXRhbG9nQWxsb3cgcHJlZjsKKworICAgIC8qCisgICAgICogSWYgdGhlIHJlc291cmNlIGRvZXNuJ3QgZXhpc3RzIGFzIGEgZmlsZSwKKyAgICAgKiB0cnkgdG8gbG9hZCBpdCBmcm9tIHRoZSByZXNvdXJjZSBwb2ludGVkIGluIHRoZSBjYXRhbG9ncworICAgICAqLworICAgIHByZWYgPSB4bWxDYXRhbG9nR2V0RGVmYXVsdHMoKTsKKworICAgIGlmICgocHJlZiAhPSBYTUxfQ0FUQV9BTExPV19OT05FKSAmJiAoIXhtbE5vTmV0RXhpc3RzKFVSTCkpKSB7CisJLyoKKwkgKiBEbyBhIGxvY2FsIGxvb2t1cAorCSAqLworCWlmICgoY3R4dCAhPSBOVUxMKSAmJiAoY3R4dC0+Y2F0YWxvZ3MgIT0gTlVMTCkgJiYKKwkgICAgKChwcmVmID09IFhNTF9DQVRBX0FMTE9XX0FMTCkgfHwKKwkgICAgIChwcmVmID09IFhNTF9DQVRBX0FMTE9XX0RPQ1VNRU5UKSkpIHsKKwkgICAgcmVzb3VyY2UgPSB4bWxDYXRhbG9nTG9jYWxSZXNvbHZlKGN0eHQtPmNhdGFsb2dzLAorCQkJCQkgICAgICAoY29uc3QgeG1sQ2hhciAqKUlELAorCQkJCQkgICAgICAoY29uc3QgeG1sQ2hhciAqKVVSTCk7CisgICAgICAgIH0KKwkvKgorCSAqIFRyeSBhIGdsb2JhbCBsb29rdXAKKwkgKi8KKwlpZiAoKHJlc291cmNlID09IE5VTEwpICYmCisJICAgICgocHJlZiA9PSBYTUxfQ0FUQV9BTExPV19BTEwpIHx8CisJICAgICAocHJlZiA9PSBYTUxfQ0FUQV9BTExPV19HTE9CQUwpKSkgeworCSAgICByZXNvdXJjZSA9IHhtbENhdGFsb2dSZXNvbHZlKChjb25zdCB4bWxDaGFyICopSUQsCisJCQkJCSAoY29uc3QgeG1sQ2hhciAqKVVSTCk7CisJfQorCWlmICgocmVzb3VyY2UgPT0gTlVMTCkgJiYgKFVSTCAhPSBOVUxMKSkKKwkgICAgcmVzb3VyY2UgPSB4bWxTdHJkdXAoKGNvbnN0IHhtbENoYXIgKikgVVJMKTsKKworCS8qCisJICogVE9ETzogZG8gYW4gVVJJIGxvb2t1cCBvbiB0aGUgcmVmZXJlbmNlCisJICovCisJaWYgKChyZXNvdXJjZSAhPSBOVUxMKSAmJiAoIXhtbE5vTmV0RXhpc3RzKChjb25zdCBjaGFyICopcmVzb3VyY2UpKSkgeworCSAgICB4bWxDaGFyICp0bXAgPSBOVUxMOworCisJICAgIGlmICgoY3R4dCAhPSBOVUxMKSAmJiAoY3R4dC0+Y2F0YWxvZ3MgIT0gTlVMTCkgJiYKKwkJKChwcmVmID09IFhNTF9DQVRBX0FMTE9XX0FMTCkgfHwKKwkJIChwcmVmID09IFhNTF9DQVRBX0FMTE9XX0RPQ1VNRU5UKSkpIHsKKwkJdG1wID0geG1sQ2F0YWxvZ0xvY2FsUmVzb2x2ZVVSSShjdHh0LT5jYXRhbG9ncywgcmVzb3VyY2UpOworCSAgICB9CisJICAgIGlmICgodG1wID09IE5VTEwpICYmCisJCSgocHJlZiA9PSBYTUxfQ0FUQV9BTExPV19BTEwpIHx8CisJICAgICAgICAgKHByZWYgPT0gWE1MX0NBVEFfQUxMT1dfR0xPQkFMKSkpIHsKKwkJdG1wID0geG1sQ2F0YWxvZ1Jlc29sdmVVUkkocmVzb3VyY2UpOworCSAgICB9CisKKwkgICAgaWYgKHRtcCAhPSBOVUxMKSB7CisJCXhtbEZyZWUocmVzb3VyY2UpOworCQlyZXNvdXJjZSA9IHRtcDsKKwkgICAgfQorCX0KKyAgICB9CisKKyAgICByZXR1cm4gcmVzb3VyY2U7Cit9CisKKyNlbmRpZgorCisvKioKKyAqIHhtbERlZmF1bHRFeHRlcm5hbEVudGl0eUxvYWRlcjoKKyAqIEBVUkw6ICB0aGUgVVJMIGZvciB0aGUgZW50aXR5IHRvIGxvYWQKKyAqIEBJRDogIHRoZSBTeXN0ZW0gSUQgZm9yIHRoZSBlbnRpdHkgdG8gbG9hZAorICogQGN0eHQ6ICB0aGUgY29udGV4dCBpbiB3aGljaCB0aGUgZW50aXR5IGlzIGNhbGxlZCBvciBOVUxMCisgKgorICogQnkgZGVmYXVsdCB3ZSBkb24ndCBsb2FkIGV4dGVybmFsIGVudGl0aXRlcywgeWV0LgorICoKKyAqIFJldHVybnMgYSBuZXcgYWxsb2NhdGVkIHhtbFBhcnNlcklucHV0UHRyLCBvciBOVUxMLgorICovCitzdGF0aWMgeG1sUGFyc2VySW5wdXRQdHIKK3htbERlZmF1bHRFeHRlcm5hbEVudGl0eUxvYWRlcihjb25zdCBjaGFyICpVUkwsIGNvbnN0IGNoYXIgKklELAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFBhcnNlckN0eHRQdHIgY3R4dCkKK3sKKyAgICB4bWxQYXJzZXJJbnB1dFB0ciByZXQgPSBOVUxMOworICAgIHhtbENoYXIgKnJlc291cmNlID0gTlVMTDsKKworI2lmZGVmIERFQlVHX0VYVEVSTkFMX0VOVElUSUVTCisgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICJ4bWxEZWZhdWx0RXh0ZXJuYWxFbnRpdHlMb2FkZXIoJXMsIHh4eClcbiIsIFVSTCk7CisjZW5kaWYKKyAgICBpZiAoKGN0eHQgIT0gTlVMTCkgJiYgKGN0eHQtPm9wdGlvbnMgJiBYTUxfUEFSU0VfTk9ORVQpKSB7CisgICAgICAgIGludCBvcHRpb25zID0gY3R4dC0+b3B0aW9uczsKKworCWN0eHQtPm9wdGlvbnMgLT0gWE1MX1BBUlNFX05PTkVUOworICAgICAgICByZXQgPSB4bWxOb05ldEV4dGVybmFsRW50aXR5TG9hZGVyKFVSTCwgSUQsIGN0eHQpOworCWN0eHQtPm9wdGlvbnMgPSBvcHRpb25zOworCXJldHVybihyZXQpOworICAgIH0KKyNpZmRlZiBMSUJYTUxfQ0FUQUxPR19FTkFCTEVECisgICAgcmVzb3VyY2UgPSB4bWxSZXNvbHZlUmVzb3VyY2VGcm9tQ2F0YWxvZyhVUkwsIElELCBjdHh0KTsKKyNlbmRpZgorCisgICAgaWYgKHJlc291cmNlID09IE5VTEwpCisgICAgICAgIHJlc291cmNlID0gKHhtbENoYXIgKikgVVJMOworCisgICAgaWYgKHJlc291cmNlID09IE5VTEwpIHsKKyAgICAgICAgaWYgKElEID09IE5VTEwpCisgICAgICAgICAgICBJRCA9ICJOVUxMIjsKKyAgICAgICAgX194bWxMb2FkZXJFcnIoY3R4dCwgImZhaWxlZCB0byBsb2FkIGV4dGVybmFsIGVudGl0eSBcIiVzXCJcbiIsIElEKTsKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICB9CisgICAgcmV0ID0geG1sTmV3SW5wdXRGcm9tRmlsZShjdHh0LCAoY29uc3QgY2hhciAqKSByZXNvdXJjZSk7CisgICAgaWYgKChyZXNvdXJjZSAhPSBOVUxMKSAmJiAocmVzb3VyY2UgIT0gKHhtbENoYXIgKikgVVJMKSkKKyAgICAgICAgeG1sRnJlZShyZXNvdXJjZSk7CisgICAgcmV0dXJuIChyZXQpOworfQorCitzdGF0aWMgeG1sRXh0ZXJuYWxFbnRpdHlMb2FkZXIgeG1sQ3VycmVudEV4dGVybmFsRW50aXR5TG9hZGVyID0KKyAgICAgICB4bWxEZWZhdWx0RXh0ZXJuYWxFbnRpdHlMb2FkZXI7CisKKy8qKgorICogeG1sU2V0RXh0ZXJuYWxFbnRpdHlMb2FkZXI6CisgKiBAZjogIHRoZSBuZXcgZW50aXR5IHJlc29sdmVyIGZ1bmN0aW9uCisgKgorICogQ2hhbmdlcyB0aGUgZGVmYXVsdGV4dGVybmFsIGVudGl0eSByZXNvbHZlciBmdW5jdGlvbiBmb3IgdGhlIGFwcGxpY2F0aW9uCisgKi8KK3ZvaWQKK3htbFNldEV4dGVybmFsRW50aXR5TG9hZGVyKHhtbEV4dGVybmFsRW50aXR5TG9hZGVyIGYpIHsKKyAgICB4bWxDdXJyZW50RXh0ZXJuYWxFbnRpdHlMb2FkZXIgPSBmOworfQorCisvKioKKyAqIHhtbEdldEV4dGVybmFsRW50aXR5TG9hZGVyOgorICoKKyAqIEdldCB0aGUgZGVmYXVsdCBleHRlcm5hbCBlbnRpdHkgcmVzb2x2ZXIgZnVuY3Rpb24gZm9yIHRoZSBhcHBsaWNhdGlvbgorICoKKyAqIFJldHVybnMgdGhlIHhtbEV4dGVybmFsRW50aXR5TG9hZGVyIGZ1bmN0aW9uIHBvaW50ZXIKKyAqLworeG1sRXh0ZXJuYWxFbnRpdHlMb2FkZXIKK3htbEdldEV4dGVybmFsRW50aXR5TG9hZGVyKHZvaWQpIHsKKyAgICByZXR1cm4oeG1sQ3VycmVudEV4dGVybmFsRW50aXR5TG9hZGVyKTsKK30KKworLyoqCisgKiB4bWxMb2FkRXh0ZXJuYWxFbnRpdHk6CisgKiBAVVJMOiAgdGhlIFVSTCBmb3IgdGhlIGVudGl0eSB0byBsb2FkCisgKiBASUQ6ICB0aGUgUHVibGljIElEIGZvciB0aGUgZW50aXR5IHRvIGxvYWQKKyAqIEBjdHh0OiAgdGhlIGNvbnRleHQgaW4gd2hpY2ggdGhlIGVudGl0eSBpcyBjYWxsZWQgb3IgTlVMTAorICoKKyAqIExvYWQgYW4gZXh0ZXJuYWwgZW50aXR5LCBub3RlIHRoYXQgdGhlIHVzZSBvZiB0aGlzIGZ1bmN0aW9uIGZvcgorICogdW5wYXJzZWQgZW50aXRpZXMgbWF5IGdlbmVyYXRlIHByb2JsZW1zCisgKgorICogUmV0dXJucyB0aGUgeG1sUGFyc2VySW5wdXRQdHIgb3IgTlVMTAorICovCit4bWxQYXJzZXJJbnB1dFB0cgoreG1sTG9hZEV4dGVybmFsRW50aXR5KGNvbnN0IGNoYXIgKlVSTCwgY29uc3QgY2hhciAqSUQsCisgICAgICAgICAgICAgICAgICAgICAgeG1sUGFyc2VyQ3R4dFB0ciBjdHh0KSB7CisgICAgaWYgKChVUkwgIT0gTlVMTCkgJiYgKHhtbE5vTmV0RXhpc3RzKFVSTCkgPT0gMCkpIHsKKwljaGFyICpjYW5vbmljRmlsZW5hbWU7CisJeG1sUGFyc2VySW5wdXRQdHIgcmV0OworCisJY2Fub25pY0ZpbGVuYW1lID0gKGNoYXIgKikgeG1sQ2Fub25pY1BhdGgoKGNvbnN0IHhtbENoYXIgKikgVVJMKTsKKwlpZiAoY2Fub25pY0ZpbGVuYW1lID09IE5VTEwpIHsKKyAgICAgICAgICAgIHhtbElPRXJyTWVtb3J5KCJidWlsZGluZyBjYW5vbmljYWwgcGF0aFxuIik7CisJICAgIHJldHVybihOVUxMKTsKKwl9CisKKwlyZXQgPSB4bWxDdXJyZW50RXh0ZXJuYWxFbnRpdHlMb2FkZXIoY2Fub25pY0ZpbGVuYW1lLCBJRCwgY3R4dCk7CisJeG1sRnJlZShjYW5vbmljRmlsZW5hbWUpOworCXJldHVybihyZXQpOworICAgIH0KKyAgICByZXR1cm4oeG1sQ3VycmVudEV4dGVybmFsRW50aXR5TG9hZGVyKFVSTCwgSUQsIGN0eHQpKTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJRGlzYWJsaW5nIE5ldHdvcmsgYWNjZXNzCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqCisgKiB4bWxOb05ldEV4dGVybmFsRW50aXR5TG9hZGVyOgorICogQFVSTDogIHRoZSBVUkwgZm9yIHRoZSBlbnRpdHkgdG8gbG9hZAorICogQElEOiAgdGhlIFN5c3RlbSBJRCBmb3IgdGhlIGVudGl0eSB0byBsb2FkCisgKiBAY3R4dDogIHRoZSBjb250ZXh0IGluIHdoaWNoIHRoZSBlbnRpdHkgaXMgY2FsbGVkIG9yIE5VTEwKKyAqCisgKiBBIHNwZWNpZmljIGVudGl0eSBsb2FkZXIgZGlzYWJsaW5nIG5ldHdvcmsgYWNjZXNzZXMsIHRob3VnaCBzdGlsbAorICogYWxsb3dpbmcgbG9jYWwgY2F0YWxvZyBhY2Nlc3NlcyBmb3IgcmVzb2x1dGlvbi4KKyAqCisgKiBSZXR1cm5zIGEgbmV3IGFsbG9jYXRlZCB4bWxQYXJzZXJJbnB1dFB0ciwgb3IgTlVMTC4KKyAqLworeG1sUGFyc2VySW5wdXRQdHIKK3htbE5vTmV0RXh0ZXJuYWxFbnRpdHlMb2FkZXIoY29uc3QgY2hhciAqVVJMLCBjb25zdCBjaGFyICpJRCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sUGFyc2VyQ3R4dFB0ciBjdHh0KSB7CisgICAgeG1sUGFyc2VySW5wdXRQdHIgaW5wdXQgPSBOVUxMOworICAgIHhtbENoYXIgKnJlc291cmNlID0gTlVMTDsKKworI2lmZGVmIExJQlhNTF9DQVRBTE9HX0VOQUJMRUQKKyAgICByZXNvdXJjZSA9IHhtbFJlc29sdmVSZXNvdXJjZUZyb21DYXRhbG9nKFVSTCwgSUQsIGN0eHQpOworI2VuZGlmCisKKyAgICBpZiAocmVzb3VyY2UgPT0gTlVMTCkKKwlyZXNvdXJjZSA9ICh4bWxDaGFyICopIFVSTDsKKworICAgIGlmIChyZXNvdXJjZSAhPSBOVUxMKSB7CisgICAgICAgIGlmICgoIXhtbFN0cm5jYXNlY21wKEJBRF9DQVNUIHJlc291cmNlLCBCQURfQ0FTVCAiZnRwOi8vIiwgNikpIHx8CisgICAgICAgICAgICAoIXhtbFN0cm5jYXNlY21wKEJBRF9DQVNUIHJlc291cmNlLCBCQURfQ0FTVCAiaHR0cDovLyIsIDcpKSkgeworICAgICAgICAgICAgeG1sSU9FcnIoWE1MX0lPX05FVFdPUktfQVRURU1QVCwgKGNvbnN0IGNoYXIgKikgcmVzb3VyY2UpOworCSAgICBpZiAocmVzb3VyY2UgIT0gKHhtbENoYXIgKikgVVJMKQorCQl4bWxGcmVlKHJlc291cmNlKTsKKwkgICAgcmV0dXJuKE5VTEwpOworCX0KKyAgICB9CisgICAgaW5wdXQgPSB4bWxEZWZhdWx0RXh0ZXJuYWxFbnRpdHlMb2FkZXIoKGNvbnN0IGNoYXIgKikgcmVzb3VyY2UsIElELCBjdHh0KTsKKyAgICBpZiAocmVzb3VyY2UgIT0gKHhtbENoYXIgKikgVVJMKQorCXhtbEZyZWUocmVzb3VyY2UpOworICAgIHJldHVybihpbnB1dCk7Cit9CisKKyNkZWZpbmUgYm90dG9tX3htbElPCisjaW5jbHVkZSAiZWxmZ2NjaGFjay5oIgpkaWZmIC0tZ2l0IGEvbGlieG1sMi94bWxjYXRhbG9nLmMgYi9saWJ4bWwyL3htbGNhdGFsb2cuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iOWVkNmE0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi94bWxjYXRhbG9nLmMKQEAgLTAsMCArMSw2MTUgQEAKKy8qCisgKiB4bWxjYXRhbG9nLmMgOiBhIHNtYWxsIHV0aWxpdHkgcHJvZ3JhbSB0byBoYW5kbGUgWE1MIGNhdGFsb2dzCisgKgorICogU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgorICoKKyAqIGRhbmllbEB2ZWlsbGFyZC5jb20KKyAqLworCisjaW5jbHVkZSAibGlieG1sLmgiCisKKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGFyZy5oPgorCisjaWZkZWYgSEFWRV9TVERMSUJfSAorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2VuZGlmCisKKyNpZmRlZiBIQVZFX0xJQlJFQURMSU5FCisjaW5jbHVkZSA8cmVhZGxpbmUvcmVhZGxpbmUuaD4KKyNpZmRlZiBIQVZFX0xJQkhJU1RPUlkKKyNpbmNsdWRlIDxyZWFkbGluZS9oaXN0b3J5Lmg+CisjZW5kaWYKKyNlbmRpZgorCisjaW5jbHVkZSA8bGlieG1sL3htbG1lbW9yeS5oPgorI2luY2x1ZGUgPGxpYnhtbC91cmkuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvY2F0YWxvZy5oPgorI2luY2x1ZGUgPGxpYnhtbC9wYXJzZXIuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvZ2xvYmFscy5oPgorCisjaWYgZGVmaW5lZChMSUJYTUxfQ0FUQUxPR19FTkFCTEVEKSAmJiBkZWZpbmVkKExJQlhNTF9PVVRQVVRfRU5BQkxFRCkKK3N0YXRpYyBpbnQgc2hlbGwgPSAwOworc3RhdGljIGludCBzZ21sID0gMDsKK3N0YXRpYyBpbnQgbm9vdXQgPSAwOworc3RhdGljIGludCBjcmVhdGUgPSAwOworc3RhdGljIGludCBhZGQgPSAwOworc3RhdGljIGludCBkZWwgPSAwOworc3RhdGljIGludCBjb252ZXJ0ID0gMDsKK3N0YXRpYyBpbnQgbm9fc3VwZXJfdXBkYXRlID0gMDsKK3N0YXRpYyBpbnQgdmVyYm9zZSA9IDA7CitzdGF0aWMgY2hhciAqZmlsZW5hbWUgPSBOVUxMOworCisKKyNpZm5kZWYgWE1MX1NHTUxfREVGQVVMVF9DQVRBTE9HCisjZGVmaW5lIFhNTF9TR01MX0RFRkFVTFRfQ0FUQUxPRyAiL2V0Yy9zZ21sL2NhdGFsb2ciCisjZW5kaWYKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJCVNoZWxsIEludGVyZmFjZQkJCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyoqCisgKiB4bWxTaGVsbFJlYWRsaW5lOgorICogQHByb21wdDogIHRoZSBwcm9tcHQgdmFsdWUKKyAqCisgKiBSZWFkIGEgc3RyaW5nCisgKgorICogUmV0dXJucyBhIHBvaW50ZXIgdG8gaXQgb3IgTlVMTCBvbiBFT0YgdGhlIGNhbGxlciBpcyBleHBlY3RlZCB0bworICogICAgIGZyZWUgdGhlIHJldHVybmVkIHN0cmluZy4KKyAqLworc3RhdGljIGNoYXIgKgoreG1sU2hlbGxSZWFkbGluZShjb25zdCBjaGFyICpwcm9tcHQpIHsKKyNpZmRlZiBIQVZFX0xJQlJFQURMSU5FCisgICAgY2hhciAqbGluZV9yZWFkOworCisgICAgLyogR2V0IGEgbGluZSBmcm9tIHRoZSB1c2VyLiAqLworICAgIGxpbmVfcmVhZCA9IHJlYWRsaW5lIChwcm9tcHQpOworCisgICAgLyogSWYgdGhlIGxpbmUgaGFzIGFueSB0ZXh0IGluIGl0LCBzYXZlIGl0IG9uIHRoZSBoaXN0b3J5LiAqLworICAgIGlmIChsaW5lX3JlYWQgJiYgKmxpbmVfcmVhZCkKKwlhZGRfaGlzdG9yeSAobGluZV9yZWFkKTsKKworICAgIHJldHVybiAobGluZV9yZWFkKTsKKyNlbHNlCisgICAgY2hhciBsaW5lX3JlYWRbNTAxXTsKKyAgICBjaGFyICpyZXQ7CisgICAgaW50IGxlbjsKKworICAgIGlmIChwcm9tcHQgIT0gTlVMTCkKKwlmcHJpbnRmKHN0ZG91dCwgIiVzIiwgcHJvbXB0KTsKKyAgICBpZiAoIWZnZXRzKGxpbmVfcmVhZCwgNTAwLCBzdGRpbikpCisgICAgICAgIHJldHVybihOVUxMKTsKKyAgICBsaW5lX3JlYWRbNTAwXSA9IDA7CisgICAgbGVuID0gc3RybGVuKGxpbmVfcmVhZCk7CisgICAgcmV0ID0gKGNoYXIgKikgbWFsbG9jKGxlbiArIDEpOworICAgIGlmIChyZXQgIT0gTlVMTCkgeworCW1lbWNweSAocmV0LCBsaW5lX3JlYWQsIGxlbiArIDEpOworICAgIH0KKyAgICByZXR1cm4ocmV0KTsKKyNlbmRpZgorfQorCitzdGF0aWMgdm9pZCB1c2Vyc2hlbGwodm9pZCkgeworICAgIGNoYXIgKmNtZGxpbmUgPSBOVUxMLCAqY3VyOworICAgIGludCBuYmFyZ3M7CisgICAgY2hhciBjb21tYW5kWzEwMF07CisgICAgY2hhciBhcmdbNDAwXTsKKyAgICBjaGFyICphcmd2WzIwXTsKKyAgICBpbnQgaSwgcmV0OworICAgIHhtbENoYXIgKmFuczsKKworICAgIHdoaWxlICgxKSB7CisJY21kbGluZSA9IHhtbFNoZWxsUmVhZGxpbmUoIj4gIik7CisJaWYgKGNtZGxpbmUgPT0gTlVMTCkKKwkgICAgcmV0dXJuOworCisJLyoKKwkgKiBQYXJzZSB0aGUgY29tbWFuZCBpdHNlbGYKKwkgKi8KKwljdXIgPSBjbWRsaW5lOworCW5iYXJncyA9IDA7CisJd2hpbGUgKCgqY3VyID09ICcgJykgfHwgKCpjdXIgPT0gJ1x0JykpIGN1cisrOworCWkgPSAwOworCXdoaWxlICgoKmN1ciAhPSAnICcpICYmICgqY3VyICE9ICdcdCcpICYmCisJICAgICAgICgqY3VyICE9ICdcbicpICYmICgqY3VyICE9ICdccicpKSB7CisJICAgIGlmICgqY3VyID09IDApCisJCWJyZWFrOworCSAgICBjb21tYW5kW2krK10gPSAqY3VyKys7CisJfQorCWNvbW1hbmRbaV0gPSAwOworCWlmIChpID09IDApIHsKKwkgICAgZnJlZShjbWRsaW5lKTsKKwkgICAgY29udGludWU7CisJfQorCisJLyoKKwkgKiBQYXJzZSB0aGUgYXJndW1lbnQgc3RyaW5nCisJICovCisJbWVtc2V0KGFyZywgMCwgc2l6ZW9mKGFyZykpOworCXdoaWxlICgoKmN1ciA9PSAnICcpIHx8ICgqY3VyID09ICdcdCcpKSBjdXIrKzsKKwlpID0gMDsKKwl3aGlsZSAoKCpjdXIgIT0gJ1xuJykgJiYgKCpjdXIgIT0gJ1xyJykgJiYgKCpjdXIgIT0gMCkpIHsKKwkgICAgaWYgKCpjdXIgPT0gMCkKKwkJYnJlYWs7CisJICAgIGFyZ1tpKytdID0gKmN1cisrOworCX0KKwlhcmdbaV0gPSAwOworCisJLyoKKwkgKiBQYXJzZSB0aGUgYXJndW1lbnRzCisJICovCisJaSA9IDA7CisJbmJhcmdzID0gMDsKKwljdXIgPSBhcmc7CisJbWVtc2V0KGFyZ3YsIDAsIHNpemVvZihhcmd2KSk7CisJd2hpbGUgKCpjdXIgIT0gMCkgeworCSAgICB3aGlsZSAoKCpjdXIgPT0gJyAnKSB8fCAoKmN1ciA9PSAnXHQnKSkgY3VyKys7CisJICAgIGlmICgqY3VyID09ICdcJycpIHsKKwkJY3VyKys7CisJCWFyZ3ZbaV0gPSBjdXI7CisJCXdoaWxlICgoKmN1ciAhPSAwKSAmJiAoKmN1ciAhPSAnXCcnKSkgY3VyKys7CisJCWlmICgqY3VyID09ICdcJycpIHsKKwkJICAgICpjdXIgPSAwOworCQkgICAgbmJhcmdzKys7CisJCSAgICBpKys7CisJCSAgICBjdXIrKzsKKwkJfQorCSAgICB9IGVsc2UgaWYgKCpjdXIgPT0gJyInKSB7CisJCWN1cisrOworCQlhcmd2W2ldID0gY3VyOworCQl3aGlsZSAoKCpjdXIgIT0gMCkgJiYgKCpjdXIgIT0gJyInKSkgY3VyKys7CisJCWlmICgqY3VyID09ICciJykgeworCQkgICAgKmN1ciA9IDA7CisJCSAgICBuYmFyZ3MrKzsKKwkJICAgIGkrKzsKKwkJICAgIGN1cisrOworCQl9CisJICAgIH0gZWxzZSB7CisJCWFyZ3ZbaV0gPSBjdXI7CisJCXdoaWxlICgoKmN1ciAhPSAwKSAmJiAoKmN1ciAhPSAnICcpICYmICgqY3VyICE9ICdcdCcpKQorCQkgICAgY3VyKys7CisJCSpjdXIgPSAwOworCQluYmFyZ3MrKzsKKwkJaSsrOworCQljdXIrKzsKKwkgICAgfQorCX0KKworCS8qCisJICogc3RhcnQgaW50ZXJwcmV0aW5nIHRoZSBjb21tYW5kCisJICovCisJaWYgKCFzdHJjbXAoY29tbWFuZCwgImV4aXQiKSB8fAorCSAgICAhc3RyY21wKGNvbW1hbmQsICJxdWl0IikgfHwKKwkgICAgIXN0cmNtcChjb21tYW5kLCAiYnllIikpIHsKKwkgICAgZnJlZShjbWRsaW5lKTsKKwkgICAgYnJlYWs7CisJfQorCisJaWYgKCFzdHJjbXAoY29tbWFuZCwgInB1YmxpYyIpKSB7CisJICAgIGlmIChuYmFyZ3MgIT0gMSkgeworCQlwcmludGYoInB1YmxpYyByZXF1aXJlcyAxIGFyZ3VtZW50c1xuIik7CisJICAgIH0gZWxzZSB7CisJCWFucyA9IHhtbENhdGFsb2dSZXNvbHZlUHVibGljKChjb25zdCB4bWxDaGFyICopIGFyZ3ZbMF0pOworCQlpZiAoYW5zID09IE5VTEwpIHsKKwkJICAgIHByaW50ZigiTm8gZW50cnkgZm9yIFBVQkxJQyAlc1xuIiwgYXJndlswXSk7CisJCX0gZWxzZSB7CisJCSAgICBwcmludGYoIiVzXG4iLCAoY2hhciAqKSBhbnMpOworCQkgICAgeG1sRnJlZShhbnMpOworCQl9CisJICAgIH0KKwl9IGVsc2UgaWYgKCFzdHJjbXAoY29tbWFuZCwgInN5c3RlbSIpKSB7CisJICAgIGlmIChuYmFyZ3MgIT0gMSkgeworCQlwcmludGYoInN5c3RlbSByZXF1aXJlcyAxIGFyZ3VtZW50c1xuIik7CisJICAgIH0gZWxzZSB7CisJCWFucyA9IHhtbENhdGFsb2dSZXNvbHZlU3lzdGVtKChjb25zdCB4bWxDaGFyICopIGFyZ3ZbMF0pOworCQlpZiAoYW5zID09IE5VTEwpIHsKKwkJICAgIHByaW50ZigiTm8gZW50cnkgZm9yIFNZU1RFTSAlc1xuIiwgYXJndlswXSk7CisJCX0gZWxzZSB7CisJCSAgICBwcmludGYoIiVzXG4iLCAoY2hhciAqKSBhbnMpOworCQkgICAgeG1sRnJlZShhbnMpOworCQl9CisJICAgIH0KKwl9IGVsc2UgaWYgKCFzdHJjbXAoY29tbWFuZCwgImFkZCIpKSB7CisJICAgIGlmIChzZ21sKSB7CisJCWlmICgobmJhcmdzICE9IDMpICYmIChuYmFyZ3MgIT0gMikpIHsKKwkJICAgIHByaW50ZigiYWRkIHJlcXVpcmVzIDIgb3IgMyBhcmd1bWVudHNcbiIpOworCQl9IGVsc2UgeworCQkgICAgaWYgKGFyZ3ZbMl0gPT0gTlVMTCkKKwkJCXJldCA9IHhtbENhdGFsb2dBZGQoQkFEX0NBU1QgYXJndlswXSwgTlVMTCwKKwkJCQkJICAgIEJBRF9DQVNUIGFyZ3ZbMV0pOworCQkgICAgZWxzZQorCQkJcmV0ID0geG1sQ2F0YWxvZ0FkZChCQURfQ0FTVCBhcmd2WzBdLCBCQURfQ0FTVCBhcmd2WzFdLAorCQkJCQkgICAgQkFEX0NBU1QgYXJndlsyXSk7CisJCSAgICBpZiAocmV0ICE9IDApCisJCQlwcmludGYoImFkZCBjb21tYW5kIGZhaWxlZFxuIik7CisJCX0KKwkgICAgfSBlbHNlIHsKKwkJaWYgKChuYmFyZ3MgIT0gMykgJiYgKG5iYXJncyAhPSAyKSkgeworCQkgICAgcHJpbnRmKCJhZGQgcmVxdWlyZXMgMiBvciAzIGFyZ3VtZW50c1xuIik7CisJCX0gZWxzZSB7CisJCSAgICBpZiAoYXJndlsyXSA9PSBOVUxMKQorCQkJcmV0ID0geG1sQ2F0YWxvZ0FkZChCQURfQ0FTVCBhcmd2WzBdLCBOVUxMLAorCQkJCQkgICAgQkFEX0NBU1QgYXJndlsxXSk7CisJCSAgICBlbHNlCisJCQlyZXQgPSB4bWxDYXRhbG9nQWRkKEJBRF9DQVNUIGFyZ3ZbMF0sIEJBRF9DQVNUIGFyZ3ZbMV0sCisJCQkJCSAgICBCQURfQ0FTVCBhcmd2WzJdKTsKKwkJICAgIGlmIChyZXQgIT0gMCkKKwkJCXByaW50ZigiYWRkIGNvbW1hbmQgZmFpbGVkXG4iKTsKKwkJfQorCSAgICB9CisJfSBlbHNlIGlmICghc3RyY21wKGNvbW1hbmQsICJkZWwiKSkgeworCSAgICBpZiAobmJhcmdzICE9IDEpIHsKKwkJcHJpbnRmKCJkZWwgcmVxdWlyZXMgMVxuIik7CisJICAgIH0gZWxzZSB7CisJCXJldCA9IHhtbENhdGFsb2dSZW1vdmUoQkFEX0NBU1QgYXJndlswXSk7CisJCWlmIChyZXQgPD0gMCkKKwkJICAgIHByaW50ZigiZGVsIGNvbW1hbmQgZmFpbGVkXG4iKTsKKworCSAgICB9CisJfSBlbHNlIGlmICghc3RyY21wKGNvbW1hbmQsICJyZXNvbHZlIikpIHsKKwkgICAgaWYgKG5iYXJncyAhPSAyKSB7CisJCXByaW50ZigicmVzb2x2ZSByZXF1aXJlcyAyIGFyZ3VtZW50c1xuIik7CisJICAgIH0gZWxzZSB7CisJCWFucyA9IHhtbENhdGFsb2dSZXNvbHZlKEJBRF9DQVNUIGFyZ3ZbMF0sCisJCQkgICAgICAgICAgICAgICAgQkFEX0NBU1QgYXJndlsxXSk7CisJCWlmIChhbnMgPT0gTlVMTCkgeworCQkgICAgcHJpbnRmKCJSZXNvbHZlciBmYWlsZWQgdG8gZmluZCBhbiBhbnN3ZXJcbiIpOworCQl9IGVsc2UgeworCQkgICAgcHJpbnRmKCIlc1xuIiwgKGNoYXIgKikgYW5zKTsKKwkJICAgIHhtbEZyZWUoYW5zKTsKKwkJfQorCSAgICB9CisJfSBlbHNlIGlmICghc3RyY21wKGNvbW1hbmQsICJkdW1wIikpIHsKKwkgICAgaWYgKG5iYXJncyAhPSAwKSB7CisJCXByaW50ZigiZHVtcCBoYXMgbm8gYXJndW1lbnRzXG4iKTsKKwkgICAgfSBlbHNlIHsKKwkJeG1sQ2F0YWxvZ0R1bXAoc3Rkb3V0KTsKKwkgICAgfQorCX0gZWxzZSBpZiAoIXN0cmNtcChjb21tYW5kLCAiZGVidWciKSkgeworCSAgICBpZiAobmJhcmdzICE9IDApIHsKKwkJcHJpbnRmKCJkZWJ1ZyBoYXMgbm8gYXJndW1lbnRzXG4iKTsKKwkgICAgfSBlbHNlIHsKKwkJdmVyYm9zZSsrOworCQl4bWxDYXRhbG9nU2V0RGVidWcodmVyYm9zZSk7CisJICAgIH0KKwl9IGVsc2UgaWYgKCFzdHJjbXAoY29tbWFuZCwgInF1aWV0IikpIHsKKwkgICAgaWYgKG5iYXJncyAhPSAwKSB7CisJCXByaW50ZigicXVpZXQgaGFzIG5vIGFyZ3VtZW50c1xuIik7CisJICAgIH0gZWxzZSB7CisJCWlmICh2ZXJib3NlID4gMCkKKwkJICAgIHZlcmJvc2UtLTsKKwkJeG1sQ2F0YWxvZ1NldERlYnVnKHZlcmJvc2UpOworCSAgICB9CisJfSBlbHNlIHsKKwkgICAgaWYgKHN0cmNtcChjb21tYW5kLCAiaGVscCIpKSB7CisJCXByaW50ZigiVW5yZWNvZ25pemVkIGNvbW1hbmQgJXNcbiIsIGNvbW1hbmQpOworCSAgICB9CisJICAgIHByaW50ZigiQ29tbWFuZHMgYXZhaWxhYmxlOlxuIik7CisJICAgIHByaW50ZigiXHRwdWJsaWMgUHVibGljSUQ6IG1ha2UgYSBQVUJMSUMgaWRlbnRpZmllciBsb29rdXBcbiIpOworCSAgICBwcmludGYoIlx0c3lzdGVtIFN5c3RlbUlEOiBtYWtlIGEgU1lTVEVNIGlkZW50aWZpZXIgbG9va3VwXG4iKTsKKwkgICAgcHJpbnRmKCJcdHJlc29sdmUgUHVibGljSUQgU3lzdGVtSUQ6IGRvIGEgZnVsbCByZXNvbHZlciBsb29rdXBcbiIpOworCSAgICBwcmludGYoIlx0YWRkICd0eXBlJyAnb3JpZycgJ3JlcGxhY2UnIDogYWRkIGFuIGVudHJ5XG4iKTsKKwkgICAgcHJpbnRmKCJcdGRlbCAndmFsdWVzJyA6IHJlbW92ZSB2YWx1ZXNcbiIpOworCSAgICBwcmludGYoIlx0ZHVtcDogcHJpbnQgdGhlIGN1cnJlbnQgY2F0YWxvZyBzdGF0ZVxuIik7CisJICAgIHByaW50ZigiXHRkZWJ1ZzogaW5jcmVhc2UgdGhlIHZlcmJvc2l0eSBsZXZlbFxuIik7CisJICAgIHByaW50ZigiXHRxdWlldDogZGVjcmVhc2UgdGhlIHZlcmJvc2l0eSBsZXZlbFxuIik7CisJICAgIHByaW50ZigiXHRleGl0OiAgcXVpdCB0aGUgc2hlbGxcbiIpOworCX0KKwlmcmVlKGNtZGxpbmUpOyAvKiBub3QgeG1sRnJlZSBoZXJlICEgKi8KKyAgICB9Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCQlNYWluCQkJCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHZvaWQgdXNhZ2UoY29uc3QgY2hhciAqbmFtZSkgeworICAgIC8qIHNwbGl0IGludG8gMiBwcmludGYncyB0byBhdm9pZCBvdmVybHkgbG9uZyBzdHJpbmcgKGdjYyB3YXJuaW5nKSAqLworICAgIHByaW50ZigiXAorVXNhZ2UgOiAlcyBbb3B0aW9uc10gY2F0YWxvZ2ZpbGUgZW50aXRpZXMuLi5cblwKK1x0UGFyc2UgdGhlIGNhdGFsb2cgZmlsZSBhbmQgcXVlcnkgaXQgZm9yIHRoZSBlbnRpdGllc1xuXAorXHQtLXNnbWwgOiBoYW5kbGUgU0dNTCBTdXBlciBjYXRhbG9ncyBmb3IgLS1hZGQgYW5kIC0tZGVsXG5cCitcdC0tc2hlbGwgOiBydW4gYSBzaGVsbCBhbGxvd2luZyBpbnRlcmFjdGl2ZSBxdWVyaWVzXG5cCitcdC0tY3JlYXRlIDogY3JlYXRlIGEgbmV3IGNhdGFsb2dcblwKK1x0LS1hZGQgJ3R5cGUnICdvcmlnJyAncmVwbGFjZScgOiBhZGQgYW4gWE1MIGVudHJ5XG5cCitcdC0tYWRkICdlbnRyeScgOiBhZGQgYW4gU0dNTCBlbnRyeVxuIiwgbmFtZSk7CisgICAgcHJpbnRmKCJcCitcdC0tZGVsICd2YWx1ZXMnIDogcmVtb3ZlIHZhbHVlc1xuXAorXHQtLW5vb3V0OiBhdm9pZCBkdW1waW5nIHRoZSByZXN1bHQgb24gc3Rkb3V0XG5cCitcdCAgICAgICAgIHVzZWQgd2l0aCAtLWFkZCBvciAtLWRlbCwgaXQgc2F2ZXMgdGhlIGNhdGFsb2cgY2hhbmdlc1xuXAorXHQgICAgICAgICBhbmQgd2l0aCAtLXNnbWwgaXQgYXV0b21hdGljYWxseSB1cGRhdGVzIHRoZSBzdXBlciBjYXRhbG9nXG5cCitcdC0tbm8tc3VwZXItdXBkYXRlOiBkbyBub3QgdXBkYXRlIHRoZSBTR01MIHN1cGVyIGNhdGFsb2dcblwKK1x0LXYgLS12ZXJib3NlIDogcHJvdmlkZSBkZWJ1ZyBpbmZvcm1hdGlvbnNcbiIpOworfQoraW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CisgICAgaW50IGk7CisgICAgaW50IHJldDsKKyAgICBpbnQgZXhpdF92YWx1ZSA9IDA7CisKKworICAgIGlmIChhcmdjIDw9IDEpIHsKKwl1c2FnZShhcmd2WzBdKTsKKwlyZXR1cm4oMSk7CisgICAgfQorCisgICAgTElCWE1MX1RFU1RfVkVSU0lPTgorICAgIGZvciAoaSA9IDE7IGkgPCBhcmdjIDsgaSsrKSB7CisJaWYgKCFzdHJjbXAoYXJndltpXSwgIi0iKSkKKwkgICAgYnJlYWs7CisKKwlpZiAoYXJndltpXVswXSAhPSAnLScpCisJICAgIGJyZWFrOworCWlmICgoIXN0cmNtcChhcmd2W2ldLCAiLXZlcmJvc2UiKSkgfHwKKwkgICAgKCFzdHJjbXAoYXJndltpXSwgIi12IikpIHx8CisJICAgICghc3RyY21wKGFyZ3ZbaV0sICItLXZlcmJvc2UiKSkpIHsKKwkgICAgdmVyYm9zZSsrOworCSAgICB4bWxDYXRhbG9nU2V0RGVidWcodmVyYm9zZSk7CisJfSBlbHNlIGlmICgoIXN0cmNtcChhcmd2W2ldLCAiLW5vb3V0IikpIHx8CisJICAgICghc3RyY21wKGFyZ3ZbaV0sICItLW5vb3V0IikpKSB7CisgICAgICAgICAgICBub291dCA9IDE7CisJfSBlbHNlIGlmICgoIXN0cmNtcChhcmd2W2ldLCAiLXNoZWxsIikpIHx8CisJICAgICghc3RyY21wKGFyZ3ZbaV0sICItLXNoZWxsIikpKSB7CisJICAgIHNoZWxsKys7CisgICAgICAgICAgICBub291dCA9IDE7CisJfSBlbHNlIGlmICgoIXN0cmNtcChhcmd2W2ldLCAiLXNnbWwiKSkgfHwKKwkgICAgKCFzdHJjbXAoYXJndltpXSwgIi0tc2dtbCIpKSkgeworCSAgICBzZ21sKys7CisJfSBlbHNlIGlmICgoIXN0cmNtcChhcmd2W2ldLCAiLWNyZWF0ZSIpKSB8fAorCSAgICAoIXN0cmNtcChhcmd2W2ldLCAiLS1jcmVhdGUiKSkpIHsKKwkgICAgY3JlYXRlKys7CisJfSBlbHNlIGlmICgoIXN0cmNtcChhcmd2W2ldLCAiLWNvbnZlcnQiKSkgfHwKKwkgICAgKCFzdHJjbXAoYXJndltpXSwgIi0tY29udmVydCIpKSkgeworCSAgICBjb252ZXJ0Kys7CisJfSBlbHNlIGlmICgoIXN0cmNtcChhcmd2W2ldLCAiLW5vLXN1cGVyLXVwZGF0ZSIpKSB8fAorCSAgICAoIXN0cmNtcChhcmd2W2ldLCAiLS1uby1zdXBlci11cGRhdGUiKSkpIHsKKwkgICAgbm9fc3VwZXJfdXBkYXRlKys7CisJfSBlbHNlIGlmICgoIXN0cmNtcChhcmd2W2ldLCAiLWFkZCIpKSB8fAorCSAgICAoIXN0cmNtcChhcmd2W2ldLCAiLS1hZGQiKSkpIHsKKwkgICAgaWYgKHNnbWwpCisJCWkgKz0gMjsKKwkgICAgZWxzZQorCQlpICs9IDM7CisJICAgIGFkZCsrOworCX0gZWxzZSBpZiAoKCFzdHJjbXAoYXJndltpXSwgIi1kZWwiKSkgfHwKKwkgICAgKCFzdHJjbXAoYXJndltpXSwgIi0tZGVsIikpKSB7CisJICAgIGkgKz0gMTsKKwkgICAgZGVsKys7CisJfSBlbHNlIHsKKwkgICAgZnByaW50ZihzdGRlcnIsICJVbmtub3duIG9wdGlvbiAlc1xuIiwgYXJndltpXSk7CisJICAgIHVzYWdlKGFyZ3ZbMF0pOworCSAgICByZXR1cm4oMSk7CisJfQorICAgIH0KKworICAgIGZvciAoaSA9IDE7IGkgPCBhcmdjOyBpKyspIHsKKwlpZiAoKCFzdHJjbXAoYXJndltpXSwgIi1hZGQiKSkgfHwKKwkgICAgKCFzdHJjbXAoYXJndltpXSwgIi0tYWRkIikpKSB7CisJICAgIGlmIChzZ21sKQorCQlpICs9IDI7CisJICAgIGVsc2UKKwkJaSArPSAzOworCSAgICBjb250aW51ZTsKKwl9IGVsc2UgaWYgKCghc3RyY21wKGFyZ3ZbaV0sICItZGVsIikpIHx8CisJICAgICghc3RyY21wKGFyZ3ZbaV0sICItLWRlbCIpKSkgeworCSAgICBpICs9IDE7CisKKwkgICAgLyogTm8gY2F0YWxvZyBlbnRyeSBzcGVjaWZpZWQgKi8KKwkgICAgaWYgKGkgPT0gYXJnYyB8fCAoc2dtbCAmJiBpICsgMSA9PSBhcmdjKSkgeworCQlmcHJpbnRmKHN0ZGVyciwgIk5vIGNhdGFsb2cgZW50cnkgc3BlY2lmaWVkIHRvIHJlbW92ZSBmcm9tXG4iKTsKKwkJdXNhZ2UgKGFyZ3ZbMF0pOworCQlyZXR1cm4oMSk7CisJICAgIH0KKworCSAgICBjb250aW51ZTsKKwl9IGVsc2UgaWYgKGFyZ3ZbaV1bMF0gPT0gJy0nKQorCSAgICBjb250aW51ZTsKKwlmaWxlbmFtZSA9IGFyZ3ZbaV07CisJICAgIHJldCA9IHhtbExvYWRDYXRhbG9nKGFyZ3ZbaV0pOworCSAgICBpZiAoKHJldCA8IDApICYmIChjcmVhdGUpKSB7CisJCXhtbENhdGFsb2dBZGQoQkFEX0NBU1QgImNhdGFsb2ciLCBCQURfQ0FTVCBhcmd2W2ldLCBOVUxMKTsKKwkgICAgfQorCWJyZWFrOworICAgIH0KKworICAgIGlmIChjb252ZXJ0KQorICAgICAgICByZXQgPSB4bWxDYXRhbG9nQ29udmVydCgpOworCisgICAgaWYgKChhZGQpIHx8IChkZWwpKSB7CisJZm9yIChpID0gMTsgaSA8IGFyZ2MgOyBpKyspIHsKKwkgICAgaWYgKCFzdHJjbXAoYXJndltpXSwgIi0iKSkKKwkJYnJlYWs7CisKKwkgICAgaWYgKGFyZ3ZbaV1bMF0gIT0gJy0nKQorCQljb250aW51ZTsKKwkgICAgaWYgKHN0cmNtcChhcmd2W2ldLCAiLWFkZCIpICYmIHN0cmNtcChhcmd2W2ldLCAiLS1hZGQiKSAmJgorCQlzdHJjbXAoYXJndltpXSwgIi1kZWwiKSAmJiBzdHJjbXAoYXJndltpXSwgIi0tZGVsIikpCisJCWNvbnRpbnVlOworCisJICAgIGlmIChzZ21sKSB7CisJCS8qCisJCSAqIE1haW50ZW5hbmNlIG9mIFNHTUwgY2F0YWxvZ3MuCisJCSAqLworCQl4bWxDYXRhbG9nUHRyIGNhdGFsID0gTlVMTDsKKwkJeG1sQ2F0YWxvZ1B0ciBzdXBlciA9IE5VTEw7CisKKwkJY2F0YWwgPSB4bWxMb2FkU0dNTFN1cGVyQ2F0YWxvZyhhcmd2W2kgKyAxXSk7CisKKwkJaWYgKCghc3RyY21wKGFyZ3ZbaV0sICItYWRkIikpIHx8CisJCSAgICAoIXN0cmNtcChhcmd2W2ldLCAiLS1hZGQiKSkpIHsKKwkJICAgIGlmIChjYXRhbCA9PSBOVUxMKQorCQkJY2F0YWwgPSB4bWxOZXdDYXRhbG9nKDEpOworCQkgICAgeG1sQUNhdGFsb2dBZGQoY2F0YWwsIEJBRF9DQVNUICJDQVRBTE9HIiwKKwkJCQkJIEJBRF9DQVNUIGFyZ3ZbaSArIDJdLCBOVUxMKTsKKworCQkgICAgaWYgKCFub19zdXBlcl91cGRhdGUpIHsKKwkJCXN1cGVyID0geG1sTG9hZFNHTUxTdXBlckNhdGFsb2coWE1MX1NHTUxfREVGQVVMVF9DQVRBTE9HKTsKKwkJCWlmIChzdXBlciA9PSBOVUxMKQorCQkJICAgIHN1cGVyID0geG1sTmV3Q2F0YWxvZygxKTsKKworCQkJeG1sQUNhdGFsb2dBZGQoc3VwZXIsIEJBRF9DQVNUICJDQVRBTE9HIiwKKwkJCQkJICAgICBCQURfQ0FTVCBhcmd2W2kgKyAxXSwgTlVMTCk7CisJCSAgICB9CisJCX0gZWxzZSB7CisJCSAgICBpZiAoY2F0YWwgIT0gTlVMTCkKKwkJCXJldCA9IHhtbEFDYXRhbG9nUmVtb3ZlKGNhdGFsLCBCQURfQ0FTVCBhcmd2W2kgKyAyXSk7CisJCSAgICBlbHNlCisJCQlyZXQgPSAtMTsKKwkJICAgIGlmIChyZXQgPCAwKSB7CisJCQlmcHJpbnRmKHN0ZGVyciwgIkZhaWxlZCB0byByZW1vdmUgZW50cnkgZnJvbSAlc1xuIiwKKwkJCQlhcmd2W2kgKyAxXSk7CisJCQlleGl0X3ZhbHVlID0gMTsKKwkJICAgIH0KKwkJICAgIGlmICgoIW5vX3N1cGVyX3VwZGF0ZSkgJiYgKG5vb3V0KSAmJiAoY2F0YWwgIT0gTlVMTCkgJiYKKwkJCSh4bWxDYXRhbG9nSXNFbXB0eShjYXRhbCkpKSB7CisJCQlzdXBlciA9IHhtbExvYWRTR01MU3VwZXJDYXRhbG9nKAorCQkJCSAgIFhNTF9TR01MX0RFRkFVTFRfQ0FUQUxPRyk7CisJCQlpZiAoc3VwZXIgIT0gTlVMTCkgeworCQkJICAgIHJldCA9IHhtbEFDYXRhbG9nUmVtb3ZlKHN1cGVyLAorCQkJCSAgICBCQURfQ0FTVCBhcmd2W2kgKyAxXSk7CisJCQkgICAgaWYgKHJldCA8IDApIHsKKwkJCQlmcHJpbnRmKHN0ZGVyciwKKwkJCQkJIkZhaWxlZCB0byByZW1vdmUgZW50cnkgZnJvbSAlc1xuIiwKKwkJCQkJWE1MX1NHTUxfREVGQVVMVF9DQVRBTE9HKTsKKwkJCQlleGl0X3ZhbHVlID0gMTsKKwkJCSAgICB9CisJCQl9CisJCSAgICB9CisJCX0KKwkJaWYgKG5vb3V0KSB7CisJCSAgICBGSUxFICpvdXQ7CisKKwkJICAgIGlmICh4bWxDYXRhbG9nSXNFbXB0eShjYXRhbCkpIHsKKwkJCXJlbW92ZShhcmd2W2kgKyAxXSk7CisJCSAgICB9IGVsc2UgeworCQkJb3V0ID0gZm9wZW4oYXJndltpICsgMV0sICJ3Iik7CisJCQlpZiAob3V0ID09IE5VTEwpIHsKKwkJCSAgICBmcHJpbnRmKHN0ZGVyciwgImNvdWxkIG5vdCBvcGVuICVzIGZvciBzYXZpbmdcbiIsCisJCQkJICAgIGFyZ3ZbaSArIDFdKTsKKwkJCSAgICBleGl0X3ZhbHVlID0gMjsKKwkJCSAgICBub291dCA9IDA7CisJCQl9IGVsc2UgeworCQkJICAgIHhtbEFDYXRhbG9nRHVtcChjYXRhbCwgb3V0KTsKKwkJCSAgICBmY2xvc2Uob3V0KTsKKwkJCX0KKwkJICAgIH0KKwkJICAgIGlmICghbm9fc3VwZXJfdXBkYXRlICYmIHN1cGVyICE9IE5VTEwpIHsKKwkJCWlmICh4bWxDYXRhbG9nSXNFbXB0eShzdXBlcikpIHsKKwkJCSAgICByZW1vdmUoWE1MX1NHTUxfREVGQVVMVF9DQVRBTE9HKTsKKwkJCX0gZWxzZSB7CisJCQkgICAgb3V0ID0gZm9wZW4oWE1MX1NHTUxfREVGQVVMVF9DQVRBTE9HLCAidyIpOworCQkJICAgIGlmIChvdXQgPT0gTlVMTCkgeworCQkJCWZwcmludGYoc3RkZXJyLAorCQkJCQkiY291bGQgbm90IG9wZW4gJXMgZm9yIHNhdmluZ1xuIiwKKwkJCQkJWE1MX1NHTUxfREVGQVVMVF9DQVRBTE9HKTsKKwkJCQlleGl0X3ZhbHVlID0gMjsKKwkJCQlub291dCA9IDA7CisJCQkgICAgfSBlbHNlIHsKKworCQkJCXhtbEFDYXRhbG9nRHVtcChzdXBlciwgb3V0KTsKKwkJCQlmY2xvc2Uob3V0KTsKKwkJCSAgICB9CisJCQl9CisJCSAgICB9CisJCX0gZWxzZSB7CisJCSAgICB4bWxBQ2F0YWxvZ0R1bXAoY2F0YWwsIHN0ZG91dCk7CisJCX0KKwkJaSArPSAyOworCSAgICB9IGVsc2UgeworCQlpZiAoKCFzdHJjbXAoYXJndltpXSwgIi1hZGQiKSkgfHwKKwkJICAgICghc3RyY21wKGFyZ3ZbaV0sICItLWFkZCIpKSkgeworCQkJaWYgKChhcmd2W2kgKyAzXSA9PSBOVUxMKSB8fCAoYXJndltpICsgM11bMF0gPT0gMCkpCisJCQkgICAgcmV0ID0geG1sQ2F0YWxvZ0FkZChCQURfQ0FTVCBhcmd2W2kgKyAxXSwgTlVMTCwKKwkJCQkJCUJBRF9DQVNUIGFyZ3ZbaSArIDJdKTsKKwkJCWVsc2UKKwkJCSAgICByZXQgPSB4bWxDYXRhbG9nQWRkKEJBRF9DQVNUIGFyZ3ZbaSArIDFdLAorCQkJCQkJQkFEX0NBU1QgYXJndltpICsgMl0sCisJCQkJCQlCQURfQ0FTVCBhcmd2W2kgKyAzXSk7CisJCQlpZiAocmV0ICE9IDApIHsKKwkJCSAgICBwcmludGYoImFkZCBjb21tYW5kIGZhaWxlZFxuIik7CisJCQkgICAgZXhpdF92YWx1ZSA9IDM7CisJCQl9CisJCQlpICs9IDM7CisJCX0gZWxzZSBpZiAoKCFzdHJjbXAoYXJndltpXSwgIi1kZWwiKSkgfHwKKwkJICAgICghc3RyY21wKGFyZ3ZbaV0sICItLWRlbCIpKSkgeworCQkgICAgcmV0ID0geG1sQ2F0YWxvZ1JlbW92ZShCQURfQ0FTVCBhcmd2W2kgKyAxXSk7CisJCSAgICBpZiAocmV0IDwgMCkgeworCQkJZnByaW50ZihzdGRlcnIsICJGYWlsZWQgdG8gcmVtb3ZlIGVudHJ5ICVzXG4iLAorCQkJCWFyZ3ZbaSArIDFdKTsKKwkJCWV4aXRfdmFsdWUgPSAxOworCQkgICAgfQorCQkgICAgaSArPSAxOworCQl9CisJICAgIH0KKwl9CisKKyAgICB9IGVsc2UgaWYgKHNoZWxsKSB7CisJdXNlcnNoZWxsKCk7CisgICAgfSBlbHNlIHsKKwlmb3IgKGkrKzsgaSA8IGFyZ2M7IGkrKykgeworCSAgICB4bWxVUklQdHIgdXJpOworCSAgICB4bWxDaGFyICphbnM7CisKKwkgICAgdXJpID0geG1sUGFyc2VVUkkoYXJndltpXSk7CisJICAgIGlmICh1cmkgPT0gTlVMTCkgeworCQlhbnMgPSB4bWxDYXRhbG9nUmVzb2x2ZVB1YmxpYygoY29uc3QgeG1sQ2hhciAqKSBhcmd2W2ldKTsKKwkJaWYgKGFucyA9PSBOVUxMKSB7CisJCSAgICBwcmludGYoIk5vIGVudHJ5IGZvciBQVUJMSUMgJXNcbiIsIGFyZ3ZbaV0pOworCQkgICAgZXhpdF92YWx1ZSA9IDQ7CisJCX0gZWxzZSB7CisJCSAgICBwcmludGYoIiVzXG4iLCAoY2hhciAqKSBhbnMpOworCQkgICAgeG1sRnJlZShhbnMpOworCQl9CisJICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgeG1sRnJlZVVSSSh1cmkpOworCQlhbnMgPSB4bWxDYXRhbG9nUmVzb2x2ZVN5c3RlbSgoY29uc3QgeG1sQ2hhciAqKSBhcmd2W2ldKTsKKwkJaWYgKGFucyA9PSBOVUxMKSB7CisJCSAgICBwcmludGYoIk5vIGVudHJ5IGZvciBTWVNURU0gJXNcbiIsIGFyZ3ZbaV0pOworCQkgICAgYW5zID0geG1sQ2F0YWxvZ1Jlc29sdmVVUkkgKChjb25zdCB4bWxDaGFyICopIGFyZ3ZbaV0pOworCQkgICAgaWYgKGFucyA9PSBOVUxMKSB7CisJCQlwcmludGYgKCJObyBlbnRyeSBmb3IgVVJJICVzXG4iLCBhcmd2W2ldKTsKKwkJICAgICAgICBleGl0X3ZhbHVlID0gNDsKKwkJICAgIH0gZWxzZSB7CisJCSAgICAgICAgcHJpbnRmKCIlc1xuIiwgKGNoYXIgKikgYW5zKTsKKwkJCXhtbEZyZWUgKGFucyk7CisJCSAgICB9CisJCX0gZWxzZSB7CisJCSAgICBwcmludGYoIiVzXG4iLCAoY2hhciAqKSBhbnMpOworCQkgICAgeG1sRnJlZShhbnMpOworCQl9CisJICAgIH0KKwl9CisgICAgfQorICAgIGlmICgoIXNnbWwpICYmICgoYWRkKSB8fCAoZGVsKSB8fCAoY3JlYXRlKSB8fCAoY29udmVydCkpKSB7CisJaWYgKG5vb3V0ICYmIGZpbGVuYW1lICYmICpmaWxlbmFtZSkgeworCSAgICBGSUxFICpvdXQ7CisKKwkgICAgb3V0ID0gZm9wZW4oZmlsZW5hbWUsICJ3Iik7CisJICAgIGlmIChvdXQgPT0gTlVMTCkgeworCQlmcHJpbnRmKHN0ZGVyciwgImNvdWxkIG5vdCBvcGVuICVzIGZvciBzYXZpbmdcbiIsIGZpbGVuYW1lKTsKKwkJZXhpdF92YWx1ZSA9IDI7CisJCW5vb3V0ID0gMDsKKwkgICAgfSBlbHNlIHsKKwkJeG1sQ2F0YWxvZ0R1bXAob3V0KTsKKwkgICAgfQorCX0gZWxzZSB7CisJICAgIHhtbENhdGFsb2dEdW1wKHN0ZG91dCk7CisJfQorICAgIH0KKworICAgIC8qCisgICAgICogQ2xlYW51cCBhbmQgY2hlY2sgZm9yIG1lbW9yeSBsZWFrcworICAgICAqLworICAgIHhtbENsZWFudXBQYXJzZXIoKTsKKyAgICB4bWxNZW1vcnlEdW1wKCk7CisgICAgcmV0dXJuKGV4aXRfdmFsdWUpOworfQorI2Vsc2UKK2ludCBtYWluKGludCBhcmdjIEFUVFJJQlVURV9VTlVTRUQsIGNoYXIgKiphcmd2IEFUVFJJQlVURV9VTlVTRUQpIHsKKyAgICBmcHJpbnRmKHN0ZGVyciwgImxpYnhtbCB3YXMgbm90IGNvbXBpbGVkIHdpdGggY2F0YWxvZyBhbmQgb3V0cHV0IHN1cHBvcnRcbiIpOworICAgIHJldHVybigxKTsKK30KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbGlieG1sMi94bWxsaW50LmMgYi9saWJ4bWwyL3htbGxpbnQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMjk3ZGVkCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi94bWxsaW50LmMKQEAgLTAsMCArMSwzODAxIEBACisvKgorICogeG1sbGludC5jIDogYSBzbWFsbCB0ZXN0ZXIgcHJvZ3JhbSBmb3IgWE1MIGlucHV0LgorICoKKyAqIFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyAqCisgKiBkYW5pZWxAdmVpbGxhcmQuY29tCisgKi8KKworI2luY2x1ZGUgImxpYnhtbC5oIgorCisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3RkYXJnLmg+CisjaW5jbHVkZSA8YXNzZXJ0Lmg+CisKKyNpZiBkZWZpbmVkIChfV0lOMzIpICYmICFkZWZpbmVkKF9fQ1lHV0lOX18pCisjaWYgZGVmaW5lZCAoX01TQ19WRVIpIHx8IGRlZmluZWQoX19CT1JMQU5EQ19fKQorI2luY2x1ZGUgPHdpbnNvY2syLmg+CisjcHJhZ21hIGNvbW1lbnQobGliLCAid3MyXzMyLmxpYiIpCisjZGVmaW5lIGdldHRpbWVvZmRheShwMSxwMikKKyNlbmRpZiAvKiBfTVNDX1ZFUiAqLworI2VuZGlmIC8qIF9XSU4zMiAqLworCisjaWZkZWYgSEFWRV9TWVNfVElNRV9ICisjaW5jbHVkZSA8c3lzL3RpbWUuaD4KKyNlbmRpZgorI2lmZGVmIEhBVkVfVElNRV9ICisjaW5jbHVkZSA8dGltZS5oPgorI2VuZGlmCisKKyNpZmRlZiBfX01JTkdXMzJfXworI2RlZmluZSBfV0lOU09DS0FQSV8KKyNpbmNsdWRlIDx3c29ja2NvbXBhdC5oPgorI2luY2x1ZGUgPHdpbnNvY2syLmg+CisjdW5kZWYgWE1MX1NPQ0tMRU5fVAorI2RlZmluZSBYTUxfU09DS0xFTl9UIHVuc2lnbmVkIGludAorI2VuZGlmCisKKyNpZmRlZiBIQVZFX1NZU19USU1FQl9ICisjaW5jbHVkZSA8c3lzL3RpbWViLmg+CisjZW5kaWYKKworI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNlbmRpZgorI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjZW5kaWYKKyNpZmRlZiBIQVZFX0ZDTlRMX0gKKyNpbmNsdWRlIDxmY250bC5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9VTklTVERfSAorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9TWVNfTU1BTl9ICisjaW5jbHVkZSA8c3lzL21tYW4uaD4KKy8qIHNlZW1zIG5lZWRlZCBmb3IgU29sYXJpcyAqLworI2lmbmRlZiBNQVBfRkFJTEVECisjZGVmaW5lIE1BUF9GQUlMRUQgKCh2b2lkICopIC0xKQorI2VuZGlmCisjZW5kaWYKKyNpZmRlZiBIQVZFX1NURExJQl9ICisjaW5jbHVkZSA8c3RkbGliLmg+CisjZW5kaWYKKyNpZmRlZiBIQVZFX0xJQlJFQURMSU5FCisjaW5jbHVkZSA8cmVhZGxpbmUvcmVhZGxpbmUuaD4KKyNpZmRlZiBIQVZFX0xJQkhJU1RPUlkKKyNpbmNsdWRlIDxyZWFkbGluZS9oaXN0b3J5Lmg+CisjZW5kaWYKKyNlbmRpZgorCisjaW5jbHVkZSA8bGlieG1sL3htbG1lbW9yeS5oPgorI2luY2x1ZGUgPGxpYnhtbC9wYXJzZXIuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvcGFyc2VySW50ZXJuYWxzLmg+CisjaW5jbHVkZSA8bGlieG1sL0hUTUxwYXJzZXIuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvSFRNTHRyZWUuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvdHJlZS5oPgorI2luY2x1ZGUgPGxpYnhtbC94cGF0aC5oPgorI2luY2x1ZGUgPGxpYnhtbC9kZWJ1Z1hNTC5oPgorI2luY2x1ZGUgPGxpYnhtbC94bWxlcnJvci5oPgorI2lmZGVmIExJQlhNTF9YSU5DTFVERV9FTkFCTEVECisjaW5jbHVkZSA8bGlieG1sL3hpbmNsdWRlLmg+CisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfQ0FUQUxPR19FTkFCTEVECisjaW5jbHVkZSA8bGlieG1sL2NhdGFsb2cuaD4KKyNlbmRpZgorI2luY2x1ZGUgPGxpYnhtbC9nbG9iYWxzLmg+CisjaW5jbHVkZSA8bGlieG1sL3htbHJlYWRlci5oPgorI2lmZGVmIExJQlhNTF9TQ0hFTUFUUk9OX0VOQUJMRUQKKyNpbmNsdWRlIDxsaWJ4bWwvc2NoZW1hdHJvbi5oPgorI2VuZGlmCisjaWZkZWYgTElCWE1MX1NDSEVNQVNfRU5BQkxFRAorI2luY2x1ZGUgPGxpYnhtbC9yZWxheG5nLmg+CisjaW5jbHVkZSA8bGlieG1sL3htbHNjaGVtYXMuaD4KKyNlbmRpZgorI2lmZGVmIExJQlhNTF9QQVRURVJOX0VOQUJMRUQKKyNpbmNsdWRlIDxsaWJ4bWwvcGF0dGVybi5oPgorI2VuZGlmCisjaWZkZWYgTElCWE1MX0MxNE5fRU5BQkxFRAorI2luY2x1ZGUgPGxpYnhtbC9jMTRuLmg+CisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfT1VUUFVUX0VOQUJMRUQKKyNpbmNsdWRlIDxsaWJ4bWwveG1sc2F2ZS5oPgorI2VuZGlmCisKKyNpZm5kZWYgWE1MX1hNTF9ERUZBVUxUX0NBVEFMT0cKKyNkZWZpbmUgWE1MX1hNTF9ERUZBVUxUX0NBVEFMT0cgImZpbGU6Ly8vZXRjL3htbC9jYXRhbG9nIgorI2VuZGlmCisKK3R5cGVkZWYgZW51bSB7CisgICAgWE1MTElOVF9SRVRVUk5fT0sgPSAwLAkvKiBObyBlcnJvciAqLworICAgIFhNTExJTlRfRVJSX1VOQ0xBU1MgPSAxLAkvKiBVbmNsYXNzaWZpZWQgKi8KKyAgICBYTUxMSU5UX0VSUl9EVEQgPSAyLAkvKiBFcnJvciBpbiBEVEQgKi8KKyAgICBYTUxMSU5UX0VSUl9WQUxJRCA9IDMsCS8qIFZhbGlkYXRpb24gZXJyb3IgKi8KKyAgICBYTUxMSU5UX0VSUl9SREZJTEUgPSA0LAkvKiBDdHh0UmVhZEZpbGUgZXJyb3IgKi8KKyAgICBYTUxMSU5UX0VSUl9TQ0hFTUFDT01QID0gNSwJLyogU2NoZW1hIGNvbXBpbGF0aW9uICovCisgICAgWE1MTElOVF9FUlJfT1VUID0gNiwJLyogRXJyb3Igd3JpdGluZyBvdXRwdXQgKi8KKyAgICBYTUxMSU5UX0VSUl9TQ0hFTUFQQVQgPSA3LAkvKiBFcnJvciBpbiBzY2hlbWEgcGF0dGVybiAqLworICAgIFhNTExJTlRfRVJSX1JEUkVHSVMgPSA4LAkvKiBFcnJvciBpbiBSZWFkZXIgcmVnaXN0cmF0aW9uICovCisgICAgWE1MTElOVF9FUlJfTUVNID0gOSwJLyogT3V0IG9mIG1lbW9yeSBlcnJvciAqLworICAgIFhNTExJTlRfRVJSX1hQQVRIID0gMTAJLyogWFBhdGggZXZhbHVhdGlvbiBlcnJvciAqLworfSB4bWxsaW50UmV0dXJuQ29kZTsKKyNpZmRlZiBMSUJYTUxfREVCVUdfRU5BQkxFRAorc3RhdGljIGludCBzaGVsbCA9IDA7CitzdGF0aWMgaW50IGRlYnVnZW50ID0gMDsKKyNlbmRpZgorc3RhdGljIGludCBkZWJ1ZyA9IDA7CitzdGF0aWMgaW50IG1heG1lbSA9IDA7CisjaWZkZWYgTElCWE1MX1RSRUVfRU5BQkxFRAorc3RhdGljIGludCBjb3B5ID0gMDsKKyNlbmRpZiAvKiBMSUJYTUxfVFJFRV9FTkFCTEVEICovCitzdGF0aWMgaW50IHJlY292ZXJ5ID0gMDsKK3N0YXRpYyBpbnQgbm9lbnQgPSAwOworc3RhdGljIGludCBub2VuYyA9IDA7CitzdGF0aWMgaW50IG5vYmxhbmtzID0gMDsKK3N0YXRpYyBpbnQgbm9vdXQgPSAwOworc3RhdGljIGludCBub3dyYXAgPSAwOworI2lmZGVmIExJQlhNTF9PVVRQVVRfRU5BQkxFRAorc3RhdGljIGludCBmb3JtYXQgPSAwOworc3RhdGljIGNvbnN0IGNoYXIgKm91dHB1dCA9IE5VTEw7CitzdGF0aWMgaW50IGNvbXByZXNzID0gMDsKK3N0YXRpYyBpbnQgb2xkb3V0ID0gMDsKKyNlbmRpZiAvKiBMSUJYTUxfT1VUUFVUX0VOQUJMRUQgKi8KKyNpZmRlZiBMSUJYTUxfVkFMSURfRU5BQkxFRAorc3RhdGljIGludCB2YWxpZCA9IDA7CitzdGF0aWMgaW50IHBvc3R2YWxpZCA9IDA7CitzdGF0aWMgY2hhciAqIGR0ZHZhbGlkID0gTlVMTDsKK3N0YXRpYyBjaGFyICogZHRkdmFsaWRmcGkgPSBOVUxMOworI2VuZGlmCisjaWZkZWYgTElCWE1MX1NDSEVNQVNfRU5BQkxFRAorc3RhdGljIGNoYXIgKiByZWxheG5nID0gTlVMTDsKK3N0YXRpYyB4bWxSZWxheE5HUHRyIHJlbGF4bmdzY2hlbWFzID0gTlVMTDsKK3N0YXRpYyBjaGFyICogc2NoZW1hID0gTlVMTDsKK3N0YXRpYyB4bWxTY2hlbWFQdHIgd3hzY2hlbWFzID0gTlVMTDsKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9TQ0hFTUFUUk9OX0VOQUJMRUQKK3N0YXRpYyBjaGFyICogc2NoZW1hdHJvbiA9IE5VTEw7CitzdGF0aWMgeG1sU2NoZW1hdHJvblB0ciB3eHNjaGVtYXRyb24gPSBOVUxMOworI2VuZGlmCitzdGF0aWMgaW50IHJlcGVhdCA9IDA7CitzdGF0aWMgaW50IGluc2VydCA9IDA7CisjaWYgZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9WQUxJRF9FTkFCTEVEKQorc3RhdGljIGludCBodG1sID0gMDsKK3N0YXRpYyBpbnQgeG1sb3V0ID0gMDsKKyNlbmRpZgorc3RhdGljIGludCBodG1sb3V0ID0gMDsKKyNpZiBkZWZpbmVkKExJQlhNTF9IVE1MX0VOQUJMRUQpCitzdGF0aWMgaW50IG5vZGVmZHRkID0gMDsKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9QVVNIX0VOQUJMRUQKK3N0YXRpYyBpbnQgcHVzaCA9IDA7CitzdGF0aWMgaW50IHB1c2hzaXplID0gNDA5NjsKKyNlbmRpZiAvKiBMSUJYTUxfUFVTSF9FTkFCTEVEICovCisjaWZkZWYgSEFWRV9NTUFQCitzdGF0aWMgaW50IG1lbW9yeSA9IDA7CisjZW5kaWYKK3N0YXRpYyBpbnQgdGVzdElPID0gMDsKK3N0YXRpYyBjaGFyICplbmNvZGluZyA9IE5VTEw7CisjaWZkZWYgTElCWE1MX1hJTkNMVURFX0VOQUJMRUQKK3N0YXRpYyBpbnQgeGluY2x1ZGUgPSAwOworI2VuZGlmCitzdGF0aWMgaW50IGR0ZGF0dHJzID0gMDsKK3N0YXRpYyBpbnQgbG9hZGR0ZCA9IDA7CitzdGF0aWMgeG1sbGludFJldHVybkNvZGUgcHJvZ3Jlc3VsdCA9IFhNTExJTlRfUkVUVVJOX09LOworc3RhdGljIGludCB0aW1pbmcgPSAwOworc3RhdGljIGludCBnZW5lcmF0ZSA9IDA7CitzdGF0aWMgaW50IGRyb3BkdGQgPSAwOworI2lmZGVmIExJQlhNTF9DQVRBTE9HX0VOQUJMRUQKK3N0YXRpYyBpbnQgY2F0YWxvZ3MgPSAwOworc3RhdGljIGludCBub2NhdGFsb2dzID0gMDsKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9DMTROX0VOQUJMRUQKK3N0YXRpYyBpbnQgY2Fub25pY2FsID0gMDsKK3N0YXRpYyBpbnQgY2Fub25pY2FsXzExID0gMDsKK3N0YXRpYyBpbnQgZXhjX2Nhbm9uaWNhbCA9IDA7CisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfUkVBREVSX0VOQUJMRUQKK3N0YXRpYyBpbnQgc3RyZWFtID0gMDsKK3N0YXRpYyBpbnQgd2Fsa2VyID0gMDsKKyNlbmRpZiAvKiBMSUJYTUxfUkVBREVSX0VOQUJMRUQgKi8KK3N0YXRpYyBpbnQgY2hrcmVnaXN0ZXIgPSAwOworc3RhdGljIGludCBuYnJlZ2lzdGVyID0gMDsKKyNpZmRlZiBMSUJYTUxfU0FYMV9FTkFCTEVECitzdGF0aWMgaW50IHNheDEgPSAwOworI2VuZGlmIC8qIExJQlhNTF9TQVgxX0VOQUJMRUQgKi8KKyNpZmRlZiBMSUJYTUxfUEFUVEVSTl9FTkFCTEVECitzdGF0aWMgY29uc3QgY2hhciAqcGF0dGVybiA9IE5VTEw7CitzdGF0aWMgeG1sUGF0dGVyblB0ciBwYXR0ZXJuYyA9IE5VTEw7CitzdGF0aWMgeG1sU3RyZWFtQ3R4dFB0ciBwYXRzdHJlYW0gPSBOVUxMOworI2VuZGlmCisjaWZkZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQKK3N0YXRpYyBjb25zdCBjaGFyICp4cGF0aHF1ZXJ5ID0gTlVMTDsKKyNlbmRpZgorc3RhdGljIGludCBvcHRpb25zID0gWE1MX1BBUlNFX0NPTVBBQ1QgfCBYTUxfUEFSU0VfQklHX0xJTkVTOworc3RhdGljIGludCBzYXggPSAwOworc3RhdGljIGludCBvbGR4bWwxMCA9IDA7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCSBFbnRpdHkgbG9hZGluZyBjb250cm9sIGFuZCBjdXN0b21pemF0aW9uLgkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSBNQVhfUEFUSFMgNjQKKyNpZmRlZiBfV0lOMzIKKyMgZGVmaW5lIFBBVEhfU0VQQVJBVE9SICc7JworI2Vsc2UKKyMgZGVmaW5lIFBBVEhfU0VQQVJBVE9SICc6JworI2VuZGlmCitzdGF0aWMgeG1sQ2hhciAqcGF0aHNbTUFYX1BBVEhTICsgMV07CitzdGF0aWMgaW50IG5icGF0aHMgPSAwOworc3RhdGljIGludCBsb2FkX3RyYWNlID0gMDsKKworc3RhdGljCit2b2lkIHBhcnNlUGF0aChjb25zdCB4bWxDaGFyICpwYXRoKSB7CisgICAgY29uc3QgeG1sQ2hhciAqY3VyOworCisgICAgaWYgKHBhdGggPT0gTlVMTCkKKwlyZXR1cm47CisgICAgd2hpbGUgKCpwYXRoICE9IDApIHsKKwlpZiAobmJwYXRocyA+PSBNQVhfUEFUSFMpIHsKKwkgICAgZnByaW50ZihzdGRlcnIsICJNQVhfUEFUSFMgcmVhY2hlZDogdG9vIG1hbnkgcGF0aHNcbiIpOworCSAgICByZXR1cm47CisJfQorCWN1ciA9IHBhdGg7CisJd2hpbGUgKCgqY3VyID09ICcgJykgfHwgKCpjdXIgPT0gUEFUSF9TRVBBUkFUT1IpKQorCSAgICBjdXIrKzsKKwlwYXRoID0gY3VyOworCXdoaWxlICgoKmN1ciAhPSAwKSAmJiAoKmN1ciAhPSAnICcpICYmICgqY3VyICE9IFBBVEhfU0VQQVJBVE9SKSkKKwkgICAgY3VyKys7CisJaWYgKGN1ciAhPSBwYXRoKSB7CisJICAgIHBhdGhzW25icGF0aHNdID0geG1sU3RybmR1cChwYXRoLCBjdXIgLSBwYXRoKTsKKwkgICAgaWYgKHBhdGhzW25icGF0aHNdICE9IE5VTEwpCisJCW5icGF0aHMrKzsKKwkgICAgcGF0aCA9IGN1cjsKKwl9CisgICAgfQorfQorCitzdGF0aWMgeG1sRXh0ZXJuYWxFbnRpdHlMb2FkZXIgZGVmYXVsdEVudGl0eUxvYWRlciA9IE5VTEw7CisKK3N0YXRpYyB4bWxQYXJzZXJJbnB1dFB0cgoreG1sbGludEV4dGVybmFsRW50aXR5TG9hZGVyKGNvbnN0IGNoYXIgKlVSTCwgY29uc3QgY2hhciAqSUQsCisJCQkgICAgIHhtbFBhcnNlckN0eHRQdHIgY3R4dCkgeworICAgIHhtbFBhcnNlcklucHV0UHRyIHJldDsKKyAgICB3YXJuaW5nU0FYRnVuYyB3YXJuaW5nID0gTlVMTDsKKyAgICBlcnJvclNBWEZ1bmMgZXJyID0gTlVMTDsKKworICAgIGludCBpOworICAgIGNvbnN0IGNoYXIgKmxhc3RzZWdtZW50ID0gVVJMOworICAgIGNvbnN0IGNoYXIgKml0ZXIgPSBVUkw7CisKKyAgICBpZiAoKG5icGF0aHMgPiAwKSAmJiAoaXRlciAhPSBOVUxMKSkgeworCXdoaWxlICgqaXRlciAhPSAwKSB7CisJICAgIGlmICgqaXRlciA9PSAnLycpCisJCWxhc3RzZWdtZW50ID0gaXRlciArIDE7CisJICAgIGl0ZXIrKzsKKwl9CisgICAgfQorCisgICAgaWYgKChjdHh0ICE9IE5VTEwpICYmIChjdHh0LT5zYXggIT0gTlVMTCkpIHsKKwl3YXJuaW5nID0gY3R4dC0+c2F4LT53YXJuaW5nOworCWVyciA9IGN0eHQtPnNheC0+ZXJyb3I7CisJY3R4dC0+c2F4LT53YXJuaW5nID0gTlVMTDsKKwljdHh0LT5zYXgtPmVycm9yID0gTlVMTDsKKyAgICB9CisKKyAgICBpZiAoZGVmYXVsdEVudGl0eUxvYWRlciAhPSBOVUxMKSB7CisJcmV0ID0gZGVmYXVsdEVudGl0eUxvYWRlcihVUkwsIElELCBjdHh0KTsKKwlpZiAocmV0ICE9IE5VTEwpIHsKKwkgICAgaWYgKHdhcm5pbmcgIT0gTlVMTCkKKwkJY3R4dC0+c2F4LT53YXJuaW5nID0gd2FybmluZzsKKwkgICAgaWYgKGVyciAhPSBOVUxMKQorCQljdHh0LT5zYXgtPmVycm9yID0gZXJyOworCSAgICBpZiAobG9hZF90cmFjZSkgeworCQlmcHJpbnRmIFwKKwkJCShzdGRlcnIsCisJCQkgIkxvYWRlZCBVUkw9XCIlc1wiIElEPVwiJXNcIlxuIiwKKwkJCSBVUkwgPyBVUkwgOiAiKG51bGwpIiwKKwkJCSBJRCA/IElEIDogIihudWxsKSIpOworCSAgICB9CisJICAgIHJldHVybihyZXQpOworCX0KKyAgICB9CisgICAgZm9yIChpID0gMDtpIDwgbmJwYXRocztpKyspIHsKKwl4bWxDaGFyICpuZXdVUkw7CisKKwluZXdVUkwgPSB4bWxTdHJkdXAoKGNvbnN0IHhtbENoYXIgKikgcGF0aHNbaV0pOworCW5ld1VSTCA9IHhtbFN0cmNhdChuZXdVUkwsIChjb25zdCB4bWxDaGFyICopICIvIik7CisJbmV3VVJMID0geG1sU3RyY2F0KG5ld1VSTCwgKGNvbnN0IHhtbENoYXIgKikgbGFzdHNlZ21lbnQpOworCWlmIChuZXdVUkwgIT0gTlVMTCkgeworCSAgICByZXQgPSBkZWZhdWx0RW50aXR5TG9hZGVyKChjb25zdCBjaGFyICopbmV3VVJMLCBJRCwgY3R4dCk7CisJICAgIGlmIChyZXQgIT0gTlVMTCkgeworCQlpZiAod2FybmluZyAhPSBOVUxMKQorCQkgICAgY3R4dC0+c2F4LT53YXJuaW5nID0gd2FybmluZzsKKwkJaWYgKGVyciAhPSBOVUxMKQorCQkgICAgY3R4dC0+c2F4LT5lcnJvciA9IGVycjsKKwkJaWYgKGxvYWRfdHJhY2UpIHsKKwkJICAgIGZwcmludGYgXAorCQkJKHN0ZGVyciwKKwkJCSAiTG9hZGVkIFVSTD1cIiVzXCIgSUQ9XCIlc1wiXG4iLAorCQkJIG5ld1VSTCwKKwkJCSBJRCA/IElEIDogIihudWxsKSIpOworCQl9CisJCXhtbEZyZWUobmV3VVJMKTsKKwkJcmV0dXJuKHJldCk7CisJICAgIH0KKwkgICAgeG1sRnJlZShuZXdVUkwpOworCX0KKyAgICB9CisgICAgaWYgKGVyciAhPSBOVUxMKQorICAgICAgICBjdHh0LT5zYXgtPmVycm9yID0gZXJyOworICAgIGlmICh3YXJuaW5nICE9IE5VTEwpIHsKKwljdHh0LT5zYXgtPndhcm5pbmcgPSB3YXJuaW5nOworCWlmIChVUkwgIT0gTlVMTCkKKwkgICAgd2FybmluZyhjdHh0LCAiZmFpbGVkIHRvIGxvYWQgZXh0ZXJuYWwgZW50aXR5IFwiJXNcIlxuIiwgVVJMKTsKKwllbHNlIGlmIChJRCAhPSBOVUxMKQorCSAgICB3YXJuaW5nKGN0eHQsICJmYWlsZWQgdG8gbG9hZCBleHRlcm5hbCBlbnRpdHkgXCIlc1wiXG4iLCBJRCk7CisgICAgfQorICAgIHJldHVybihOVUxMKTsKK30KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICogTWVtb3J5IGFsbG9jYXRpb24gY29uc3VtcHRpb24gZGVidWdnaW5nCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworc3RhdGljIHZvaWQKK09PTSh2b2lkKQoreworICAgIGZwcmludGYoc3RkZXJyLCAiUmFuIG91dCBvZiBtZW1vcnkgbmVlZHMgPiAlZCBieXRlc1xuIiwgbWF4bWVtKTsKKyAgICBwcm9ncmVzdWx0ID0gWE1MTElOVF9FUlJfTUVNOworfQorCitzdGF0aWMgdm9pZAorbXlGcmVlRnVuYyh2b2lkICptZW0pCit7CisgICAgeG1sTWVtRnJlZShtZW0pOworfQorc3RhdGljIHZvaWQgKgorbXlNYWxsb2NGdW5jKHNpemVfdCBzaXplKQoreworICAgIHZvaWQgKnJldDsKKworICAgIHJldCA9IHhtbE1lbU1hbGxvYyhzaXplKTsKKyAgICBpZiAocmV0ICE9IE5VTEwpIHsKKyAgICAgICAgaWYgKHhtbE1lbVVzZWQoKSA+IG1heG1lbSkgeworICAgICAgICAgICAgT09NKCk7CisgICAgICAgICAgICB4bWxNZW1GcmVlKHJldCk7CisgICAgICAgICAgICByZXR1cm4gKE5VTEwpOworICAgICAgICB9CisgICAgfQorICAgIHJldHVybiAocmV0KTsKK30KK3N0YXRpYyB2b2lkICoKK215UmVhbGxvY0Z1bmModm9pZCAqbWVtLCBzaXplX3Qgc2l6ZSkKK3sKKyAgICB2b2lkICpyZXQ7CisKKyAgICByZXQgPSB4bWxNZW1SZWFsbG9jKG1lbSwgc2l6ZSk7CisgICAgaWYgKHJldCAhPSBOVUxMKSB7CisgICAgICAgIGlmICh4bWxNZW1Vc2VkKCkgPiBtYXhtZW0pIHsKKyAgICAgICAgICAgIE9PTSgpOworICAgICAgICAgICAgeG1sTWVtRnJlZShyZXQpOworICAgICAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICAgICAgfQorICAgIH0KKyAgICByZXR1cm4gKHJldCk7Cit9CitzdGF0aWMgY2hhciAqCitteVN0cmR1cEZ1bmMoY29uc3QgY2hhciAqc3RyKQoreworICAgIGNoYXIgKnJldDsKKworICAgIHJldCA9IHhtbE1lbW9yeVN0cmR1cChzdHIpOworICAgIGlmIChyZXQgIT0gTlVMTCkgeworICAgICAgICBpZiAoeG1sTWVtVXNlZCgpID4gbWF4bWVtKSB7CisgICAgICAgICAgICBPT00oKTsKKyAgICAgICAgICAgIHhtbEZyZWUocmV0KTsKKyAgICAgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuIChyZXQpOworfQorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKiBJbnRlcm5hbCB0aW1pbmcgcm91dGluZXMgdG8gcmVtb3ZlIHRoZSBuZWNlc3NpdHkgdG8gaGF2ZQkJKgorICogdW5peC1zcGVjaWZpYyBmdW5jdGlvbiBjYWxscy4JCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmbmRlZiBIQVZFX0dFVFRJTUVPRkRBWQorI2lmZGVmIEhBVkVfU1lTX1RJTUVCX0gKKyNpZmRlZiBIQVZFX1NZU19USU1FX0gKKyNpZmRlZiBIQVZFX0ZUSU1FCisKK3N0YXRpYyBpbnQKK215X2dldHRpbWVvZmRheShzdHJ1Y3QgdGltZXZhbCAqdHZwLCB2b2lkICp0enApCit7CisJc3RydWN0IHRpbWViIHRpbWVidWZmZXI7CisKKwlmdGltZSgmdGltZWJ1ZmZlcik7CisJaWYgKHR2cCkgeworCQl0dnAtPnR2X3NlYyA9IHRpbWVidWZmZXIudGltZTsKKwkJdHZwLT50dl91c2VjID0gdGltZWJ1ZmZlci5taWxsaXRtICogMTAwMEw7CisJfQorCXJldHVybiAoMCk7Cit9CisjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKKyNkZWZpbmUgZ2V0dGltZW9mZGF5IG15X2dldHRpbWVvZmRheQorCisjZW5kaWYgLyogSEFWRV9GVElNRSAqLworI2VuZGlmIC8qIEhBVkVfU1lTX1RJTUVfSCAqLworI2VuZGlmIC8qIEhBVkVfU1lTX1RJTUVCX0ggKi8KKyNlbmRpZiAvKiAhSEFWRV9HRVRUSU1FT0ZEQVkgKi8KKworI2lmIGRlZmluZWQoSEFWRV9HRVRUSU1FT0ZEQVkpCitzdGF0aWMgc3RydWN0IHRpbWV2YWwgYmVnaW4sIGVuZDsKKworLyoKKyAqIHN0YXJ0VGltZXI6IGNhbGwgd2hlcmUgeW91IHdhbnQgdG8gc3RhcnQgdGltaW5nCisgKi8KK3N0YXRpYyB2b2lkCitzdGFydFRpbWVyKHZvaWQpCit7CisgICAgZ2V0dGltZW9mZGF5KCZiZWdpbiwgTlVMTCk7Cit9CisKKy8qCisgKiBlbmRUaW1lcjogY2FsbCB3aGVyZSB5b3Ugd2FudCB0byBzdG9wIHRpbWluZyBhbmQgdG8gcHJpbnQgb3V0IGEKKyAqICAgICAgICAgICBtZXNzYWdlIGFib3V0IHRoZSB0aW1pbmcgcGVyZm9ybWVkOyBmb3JtYXQgaXMgYSBwcmludGYKKyAqICAgICAgICAgICB0eXBlIGFyZ3VtZW50CisgKi8KK3N0YXRpYyB2b2lkIFhNTENERUNMCitlbmRUaW1lcihjb25zdCBjaGFyICpmbXQsIC4uLikKK3sKKyAgICBsb25nIG1zZWM7CisgICAgdmFfbGlzdCBhcDsKKworICAgIGdldHRpbWVvZmRheSgmZW5kLCBOVUxMKTsKKyAgICBtc2VjID0gZW5kLnR2X3NlYyAtIGJlZ2luLnR2X3NlYzsKKyAgICBtc2VjICo9IDEwMDA7CisgICAgbXNlYyArPSAoZW5kLnR2X3VzZWMgLSBiZWdpbi50dl91c2VjKSAvIDEwMDA7CisKKyNpZm5kZWYgSEFWRV9TVERBUkdfSAorI2Vycm9yICJlbmRUaW1lciByZXF1aXJlZCBzdGRhcmcgZnVuY3Rpb25zIgorI2VuZGlmCisgICAgdmFfc3RhcnQoYXAsIGZtdCk7CisgICAgdmZwcmludGYoc3RkZXJyLCBmbXQsIGFwKTsKKyAgICB2YV9lbmQoYXApOworCisgICAgZnByaW50ZihzdGRlcnIsICIgdG9vayAlbGQgbXNcbiIsIG1zZWMpOworfQorI2VsaWYgZGVmaW5lZChIQVZFX1RJTUVfSCkKKy8qCisgKiBObyBnZXR0aW1lb2ZkYXkgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG8gbWFrZSBkbyB3aXRoIGNhbGxpbmcgY2xvY2suCisgKiBUaGlzIGlzIG9idmlvdXNseSBsZXNzIGFjY3VyYXRlLCBidXQgdGhlcmUncyBsaXR0bGUgd2UgY2FuIGRvIGFib3V0CisgKiB0aGF0LgorICovCisjaWZuZGVmIENMT0NLU19QRVJfU0VDCisjZGVmaW5lIENMT0NLU19QRVJfU0VDIDEwMAorI2VuZGlmCisKK3N0YXRpYyBjbG9ja190IGJlZ2luLCBlbmQ7CitzdGF0aWMgdm9pZAorc3RhcnRUaW1lcih2b2lkKQoreworICAgIGJlZ2luID0gY2xvY2soKTsKK30KK3N0YXRpYyB2b2lkIFhNTENERUNMCitlbmRUaW1lcihjb25zdCBjaGFyICpmbXQsIC4uLikKK3sKKyAgICBsb25nIG1zZWM7CisgICAgdmFfbGlzdCBhcDsKKworICAgIGVuZCA9IGNsb2NrKCk7CisgICAgbXNlYyA9ICgoZW5kIC0gYmVnaW4pICogMTAwMCkgLyBDTE9DS1NfUEVSX1NFQzsKKworI2lmbmRlZiBIQVZFX1NUREFSR19ICisjZXJyb3IgImVuZFRpbWVyIHJlcXVpcmVkIHN0ZGFyZyBmdW5jdGlvbnMiCisjZW5kaWYKKyAgICB2YV9zdGFydChhcCwgZm10KTsKKyAgICB2ZnByaW50ZihzdGRlcnIsIGZtdCwgYXApOworICAgIHZhX2VuZChhcCk7CisgICAgZnByaW50ZihzdGRlcnIsICIgdG9vayAlbGQgbXNcbiIsIG1zZWMpOworfQorI2Vsc2UKKworLyoKKyAqIFdlIGRvbid0IGhhdmUgYSBnZXR0aW1lb2ZkYXkgb3IgdGltZS5oLCBzbyB3ZSBqdXN0IGRvbid0IGRvIHRpbWluZworICovCitzdGF0aWMgdm9pZAorc3RhcnRUaW1lcih2b2lkKQoreworICAgIC8qCisgICAgICogRG8gbm90aGluZworICAgICAqLworfQorc3RhdGljIHZvaWQgWE1MQ0RFQ0wKK2VuZFRpbWVyKGNoYXIgKmZvcm1hdCwgLi4uKQoreworICAgIC8qCisgICAgICogV2UgY2Fubm90IGRvIGFueXRoaW5nIGJlY2F1c2Ugd2UgZG9uJ3QgaGF2ZSBhIHRpbWluZyBmdW5jdGlvbgorICAgICAqLworI2lmZGVmIEhBVkVfU1REQVJHX0gKKyAgICB2YV9saXN0IGFwOworICAgIHZhX3N0YXJ0KGFwLCBmb3JtYXQpOworICAgIHZmcHJpbnRmKHN0ZGVyciwgZm9ybWF0LCBhcCk7CisgICAgdmFfZW5kKGFwKTsKKyAgICBmcHJpbnRmKHN0ZGVyciwgIiB3YXMgbm90IHRpbWVkXG4iKTsKKyNlbHNlCisgICAgLyogV2UgZG9uJ3QgaGF2ZSBnZXR0aW1lb2ZkYXksIHRpbWUgb3Igc3RkYXJnLmgsIHdoYXQgY3Jhenkgd29ybGQgaXMKKyAgICAgKiB0aGlzID8hCisgICAgICovCisjZW5kaWYKK30KKyNlbmRpZgorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJCUhUTUwgb3VwdXQJCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBjaGFyIGJ1ZmZlcls1MDAwMF07CisKK3N0YXRpYyB2b2lkCit4bWxIVE1MRW5jb2RlU2VuZCh2b2lkKSB7CisgICAgY2hhciAqcmVzdWx0OworCisgICAgcmVzdWx0ID0gKGNoYXIgKikgeG1sRW5jb2RlRW50aXRpZXNSZWVudHJhbnQoTlVMTCwgQkFEX0NBU1QgYnVmZmVyKTsKKyAgICBpZiAocmVzdWx0KSB7CisJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICIlcyIsIHJlc3VsdCk7CisJeG1sRnJlZShyZXN1bHQpOworICAgIH0KKyAgICBidWZmZXJbMF0gPSAwOworfQorCisvKioKKyAqIHhtbEhUTUxQcmludEZpbGVJbmZvOgorICogQGlucHV0OiAgYW4geG1sUGFyc2VySW5wdXRQdHIgaW5wdXQKKyAqCisgKiBEaXNwbGF5cyB0aGUgYXNzb2NpYXRlZCBmaWxlIGFuZCBsaW5lIGluZm9ybWF0aW9ucyBmb3IgdGhlIGN1cnJlbnQgaW5wdXQKKyAqLworCitzdGF0aWMgdm9pZAoreG1sSFRNTFByaW50RmlsZUluZm8oeG1sUGFyc2VySW5wdXRQdHIgaW5wdXQpIHsKKyAgICBpbnQgbGVuOworICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCAiPHA+Iik7CisKKyAgICBsZW4gPSBzdHJsZW4oYnVmZmVyKTsKKyAgICBpZiAoaW5wdXQgIT0gTlVMTCkgeworCWlmIChpbnB1dC0+ZmlsZW5hbWUpIHsKKwkgICAgc25wcmludGYoJmJ1ZmZlcltsZW5dLCBzaXplb2YoYnVmZmVyKSAtIGxlbiwgIiVzOiVkOiAiLCBpbnB1dC0+ZmlsZW5hbWUsCisJCSAgICBpbnB1dC0+bGluZSk7CisJfSBlbHNlIHsKKwkgICAgc25wcmludGYoJmJ1ZmZlcltsZW5dLCBzaXplb2YoYnVmZmVyKSAtIGxlbiwgIkVudGl0eTogbGluZSAlZDogIiwgaW5wdXQtPmxpbmUpOworCX0KKyAgICB9CisgICAgeG1sSFRNTEVuY29kZVNlbmQoKTsKK30KKworLyoqCisgKiB4bWxIVE1MUHJpbnRGaWxlQ29udGV4dDoKKyAqIEBpbnB1dDogIGFuIHhtbFBhcnNlcklucHV0UHRyIGlucHV0CisgKgorICogRGlzcGxheXMgY3VycmVudCBjb250ZXh0IHdpdGhpbiB0aGUgaW5wdXQgY29udGVudCBmb3IgZXJyb3IgdHJhY2tpbmcKKyAqLworCitzdGF0aWMgdm9pZAoreG1sSFRNTFByaW50RmlsZUNvbnRleHQoeG1sUGFyc2VySW5wdXRQdHIgaW5wdXQpIHsKKyAgICBjb25zdCB4bWxDaGFyICpjdXIsICpiYXNlOworICAgIGludCBsZW47CisgICAgaW50IG47CisKKyAgICBpZiAoaW5wdXQgPT0gTlVMTCkgcmV0dXJuOworICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCAiPHByZT5cbiIpOworICAgIGN1ciA9IGlucHV0LT5jdXI7CisgICAgYmFzZSA9IGlucHV0LT5iYXNlOworICAgIHdoaWxlICgoY3VyID4gYmFzZSkgJiYgKCgqY3VyID09ICdcbicpIHx8ICgqY3VyID09ICdccicpKSkgeworCWN1ci0tOworICAgIH0KKyAgICBuID0gMDsKKyAgICB3aGlsZSAoKG4rKyA8IDgwKSAmJiAoY3VyID4gYmFzZSkgJiYgKCpjdXIgIT0gJ1xuJykgJiYgKCpjdXIgIT0gJ1xyJykpCisgICAgICAgIGN1ci0tOworICAgIGlmICgoKmN1ciA9PSAnXG4nKSB8fCAoKmN1ciA9PSAnXHInKSkgY3VyKys7CisgICAgYmFzZSA9IGN1cjsKKyAgICBuID0gMDsKKyAgICB3aGlsZSAoKCpjdXIgIT0gMCkgJiYgKCpjdXIgIT0gJ1xuJykgJiYgKCpjdXIgIT0gJ1xyJykgJiYgKG4gPCA3OSkpIHsKKwlsZW4gPSBzdHJsZW4oYnVmZmVyKTsKKyAgICAgICAgc25wcmludGYoJmJ1ZmZlcltsZW5dLCBzaXplb2YoYnVmZmVyKSAtIGxlbiwgIiVjIiwKKwkJICAgICh1bnNpZ25lZCBjaGFyKSAqY3VyKyspOworCW4rKzsKKyAgICB9CisgICAgbGVuID0gc3RybGVuKGJ1ZmZlcik7CisgICAgc25wcmludGYoJmJ1ZmZlcltsZW5dLCBzaXplb2YoYnVmZmVyKSAtIGxlbiwgIlxuIik7CisgICAgY3VyID0gaW5wdXQtPmN1cjsKKyAgICB3aGlsZSAoKCpjdXIgPT0gJ1xuJykgfHwgKCpjdXIgPT0gJ1xyJykpCisJY3VyLS07CisgICAgbiA9IDA7CisgICAgd2hpbGUgKChjdXIgIT0gYmFzZSkgJiYgKG4rKyA8IDgwKSkgeworCWxlbiA9IHN0cmxlbihidWZmZXIpOworICAgICAgICBzbnByaW50ZigmYnVmZmVyW2xlbl0sIHNpemVvZihidWZmZXIpIC0gbGVuLCAiICIpOworICAgICAgICBiYXNlKys7CisgICAgfQorICAgIGxlbiA9IHN0cmxlbihidWZmZXIpOworICAgIHNucHJpbnRmKCZidWZmZXJbbGVuXSwgc2l6ZW9mKGJ1ZmZlcikgLSBsZW4sICJeXG4iKTsKKyAgICB4bWxIVE1MRW5jb2RlU2VuZCgpOworICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCAiPC9wcmU+Iik7Cit9CisKKy8qKgorICogeG1sSFRNTEVycm9yOgorICogQGN0eDogIGFuIFhNTCBwYXJzZXIgY29udGV4dAorICogQG1zZzogIHRoZSBtZXNzYWdlIHRvIGRpc3BsYXkvdHJhbnNtaXQKKyAqIEAuLi46ICBleHRyYSBwYXJhbWV0ZXJzIGZvciB0aGUgbWVzc2FnZSBkaXNwbGF5CisgKgorICogRGlzcGxheSBhbmQgZm9ybWF0IGFuIGVycm9yIG1lc3NhZ2VzLCBnaXZlcyBmaWxlLCBsaW5lLCBwb3NpdGlvbiBhbmQKKyAqIGV4dHJhIHBhcmFtZXRlcnMuCisgKi8KK3N0YXRpYyB2b2lkIFhNTENERUNMCit4bWxIVE1MRXJyb3Iodm9pZCAqY3R4LCBjb25zdCBjaGFyICptc2csIC4uLikKK3sKKyAgICB4bWxQYXJzZXJDdHh0UHRyIGN0eHQgPSAoeG1sUGFyc2VyQ3R4dFB0cikgY3R4OworICAgIHhtbFBhcnNlcklucHV0UHRyIGlucHV0OworICAgIHZhX2xpc3QgYXJnczsKKyAgICBpbnQgbGVuOworCisgICAgYnVmZmVyWzBdID0gMDsKKyAgICBpbnB1dCA9IGN0eHQtPmlucHV0OworICAgIGlmICgoaW5wdXQgIT0gTlVMTCkgJiYgKGlucHV0LT5maWxlbmFtZSA9PSBOVUxMKSAmJiAoY3R4dC0+aW5wdXROciA+IDEpKSB7CisgICAgICAgIGlucHV0ID0gY3R4dC0+aW5wdXRUYWJbY3R4dC0+aW5wdXROciAtIDJdOworICAgIH0KKworICAgIHhtbEhUTUxQcmludEZpbGVJbmZvKGlucHV0KTsKKworICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCAiPGI+ZXJyb3I8L2I+OiAiKTsKKyAgICB2YV9zdGFydChhcmdzLCBtc2cpOworICAgIGxlbiA9IHN0cmxlbihidWZmZXIpOworICAgIHZzbnByaW50ZigmYnVmZmVyW2xlbl0sICBzaXplb2YoYnVmZmVyKSAtIGxlbiwgbXNnLCBhcmdzKTsKKyAgICB2YV9lbmQoYXJncyk7CisgICAgeG1sSFRNTEVuY29kZVNlbmQoKTsKKyAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgIjwvcD5cbiIpOworCisgICAgeG1sSFRNTFByaW50RmlsZUNvbnRleHQoaW5wdXQpOworICAgIHhtbEhUTUxFbmNvZGVTZW5kKCk7Cit9CisKKy8qKgorICogeG1sSFRNTFdhcm5pbmc6CisgKiBAY3R4OiAgYW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAbXNnOiAgdGhlIG1lc3NhZ2UgdG8gZGlzcGxheS90cmFuc21pdAorICogQC4uLjogIGV4dHJhIHBhcmFtZXRlcnMgZm9yIHRoZSBtZXNzYWdlIGRpc3BsYXkKKyAqCisgKiBEaXNwbGF5IGFuZCBmb3JtYXQgYSB3YXJuaW5nIG1lc3NhZ2VzLCBnaXZlcyBmaWxlLCBsaW5lLCBwb3NpdGlvbiBhbmQKKyAqIGV4dHJhIHBhcmFtZXRlcnMuCisgKi8KK3N0YXRpYyB2b2lkIFhNTENERUNMCit4bWxIVE1MV2FybmluZyh2b2lkICpjdHgsIGNvbnN0IGNoYXIgKm1zZywgLi4uKQoreworICAgIHhtbFBhcnNlckN0eHRQdHIgY3R4dCA9ICh4bWxQYXJzZXJDdHh0UHRyKSBjdHg7CisgICAgeG1sUGFyc2VySW5wdXRQdHIgaW5wdXQ7CisgICAgdmFfbGlzdCBhcmdzOworICAgIGludCBsZW47CisKKyAgICBidWZmZXJbMF0gPSAwOworICAgIGlucHV0ID0gY3R4dC0+aW5wdXQ7CisgICAgaWYgKChpbnB1dCAhPSBOVUxMKSAmJiAoaW5wdXQtPmZpbGVuYW1lID09IE5VTEwpICYmIChjdHh0LT5pbnB1dE5yID4gMSkpIHsKKyAgICAgICAgaW5wdXQgPSBjdHh0LT5pbnB1dFRhYltjdHh0LT5pbnB1dE5yIC0gMl07CisgICAgfQorCisKKyAgICB4bWxIVE1MUHJpbnRGaWxlSW5mbyhpbnB1dCk7CisKKyAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgIjxiPndhcm5pbmc8L2I+OiAiKTsKKyAgICB2YV9zdGFydChhcmdzLCBtc2cpOworICAgIGxlbiA9IHN0cmxlbihidWZmZXIpOworICAgIHZzbnByaW50ZigmYnVmZmVyW2xlbl0sICBzaXplb2YoYnVmZmVyKSAtIGxlbiwgbXNnLCBhcmdzKTsKKyAgICB2YV9lbmQoYXJncyk7CisgICAgeG1sSFRNTEVuY29kZVNlbmQoKTsKKyAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgIjwvcD5cbiIpOworCisgICAgeG1sSFRNTFByaW50RmlsZUNvbnRleHQoaW5wdXQpOworICAgIHhtbEhUTUxFbmNvZGVTZW5kKCk7Cit9CisKKy8qKgorICogeG1sSFRNTFZhbGlkaXR5RXJyb3I6CisgKiBAY3R4OiAgYW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAbXNnOiAgdGhlIG1lc3NhZ2UgdG8gZGlzcGxheS90cmFuc21pdAorICogQC4uLjogIGV4dHJhIHBhcmFtZXRlcnMgZm9yIHRoZSBtZXNzYWdlIGRpc3BsYXkKKyAqCisgKiBEaXNwbGF5IGFuZCBmb3JtYXQgYW4gdmFsaWRpdHkgZXJyb3IgbWVzc2FnZXMsIGdpdmVzIGZpbGUsCisgKiBsaW5lLCBwb3NpdGlvbiBhbmQgZXh0cmEgcGFyYW1ldGVycy4KKyAqLworc3RhdGljIHZvaWQgWE1MQ0RFQ0wKK3htbEhUTUxWYWxpZGl0eUVycm9yKHZvaWQgKmN0eCwgY29uc3QgY2hhciAqbXNnLCAuLi4pCit7CisgICAgeG1sUGFyc2VyQ3R4dFB0ciBjdHh0ID0gKHhtbFBhcnNlckN0eHRQdHIpIGN0eDsKKyAgICB4bWxQYXJzZXJJbnB1dFB0ciBpbnB1dDsKKyAgICB2YV9saXN0IGFyZ3M7CisgICAgaW50IGxlbjsKKworICAgIGJ1ZmZlclswXSA9IDA7CisgICAgaW5wdXQgPSBjdHh0LT5pbnB1dDsKKyAgICBpZiAoKGlucHV0LT5maWxlbmFtZSA9PSBOVUxMKSAmJiAoY3R4dC0+aW5wdXROciA+IDEpKQorICAgICAgICBpbnB1dCA9IGN0eHQtPmlucHV0VGFiW2N0eHQtPmlucHV0TnIgLSAyXTsKKworICAgIHhtbEhUTUxQcmludEZpbGVJbmZvKGlucHV0KTsKKworICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCAiPGI+dmFsaWRpdHkgZXJyb3I8L2I+OiAiKTsKKyAgICBsZW4gPSBzdHJsZW4oYnVmZmVyKTsKKyAgICB2YV9zdGFydChhcmdzLCBtc2cpOworICAgIHZzbnByaW50ZigmYnVmZmVyW2xlbl0sICBzaXplb2YoYnVmZmVyKSAtIGxlbiwgbXNnLCBhcmdzKTsKKyAgICB2YV9lbmQoYXJncyk7CisgICAgeG1sSFRNTEVuY29kZVNlbmQoKTsKKyAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgIjwvcD5cbiIpOworCisgICAgeG1sSFRNTFByaW50RmlsZUNvbnRleHQoaW5wdXQpOworICAgIHhtbEhUTUxFbmNvZGVTZW5kKCk7CisgICAgcHJvZ3Jlc3VsdCA9IFhNTExJTlRfRVJSX1ZBTElEOworfQorCisvKioKKyAqIHhtbEhUTUxWYWxpZGl0eVdhcm5pbmc6CisgKiBAY3R4OiAgYW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAbXNnOiAgdGhlIG1lc3NhZ2UgdG8gZGlzcGxheS90cmFuc21pdAorICogQC4uLjogIGV4dHJhIHBhcmFtZXRlcnMgZm9yIHRoZSBtZXNzYWdlIGRpc3BsYXkKKyAqCisgKiBEaXNwbGF5IGFuZCBmb3JtYXQgYSB2YWxpZGl0eSB3YXJuaW5nIG1lc3NhZ2VzLCBnaXZlcyBmaWxlLCBsaW5lLAorICogcG9zaXRpb24gYW5kIGV4dHJhIHBhcmFtZXRlcnMuCisgKi8KK3N0YXRpYyB2b2lkIFhNTENERUNMCit4bWxIVE1MVmFsaWRpdHlXYXJuaW5nKHZvaWQgKmN0eCwgY29uc3QgY2hhciAqbXNnLCAuLi4pCit7CisgICAgeG1sUGFyc2VyQ3R4dFB0ciBjdHh0ID0gKHhtbFBhcnNlckN0eHRQdHIpIGN0eDsKKyAgICB4bWxQYXJzZXJJbnB1dFB0ciBpbnB1dDsKKyAgICB2YV9saXN0IGFyZ3M7CisgICAgaW50IGxlbjsKKworICAgIGJ1ZmZlclswXSA9IDA7CisgICAgaW5wdXQgPSBjdHh0LT5pbnB1dDsKKyAgICBpZiAoKGlucHV0LT5maWxlbmFtZSA9PSBOVUxMKSAmJiAoY3R4dC0+aW5wdXROciA+IDEpKQorICAgICAgICBpbnB1dCA9IGN0eHQtPmlucHV0VGFiW2N0eHQtPmlucHV0TnIgLSAyXTsKKworICAgIHhtbEhUTUxQcmludEZpbGVJbmZvKGlucHV0KTsKKworICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCAiPGI+dmFsaWRpdHkgd2FybmluZzwvYj46ICIpOworICAgIHZhX3N0YXJ0KGFyZ3MsIG1zZyk7CisgICAgbGVuID0gc3RybGVuKGJ1ZmZlcik7CisgICAgdnNucHJpbnRmKCZidWZmZXJbbGVuXSwgIHNpemVvZihidWZmZXIpIC0gbGVuLCBtc2csIGFyZ3MpOworICAgIHZhX2VuZChhcmdzKTsKKyAgICB4bWxIVE1MRW5jb2RlU2VuZCgpOworICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCAiPC9wPlxuIik7CisKKyAgICB4bWxIVE1MUHJpbnRGaWxlQ29udGV4dChpbnB1dCk7CisgICAgeG1sSFRNTEVuY29kZVNlbmQoKTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJCVNoZWxsIEludGVyZmFjZQkJCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmZGVmIExJQlhNTF9ERUJVR19FTkFCTEVECisjaWZkZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQKKy8qKgorICogeG1sU2hlbGxSZWFkbGluZToKKyAqIEBwcm9tcHQ6ICB0aGUgcHJvbXB0IHZhbHVlCisgKgorICogUmVhZCBhIHN0cmluZworICoKKyAqIFJldHVybnMgYSBwb2ludGVyIHRvIGl0IG9yIE5VTEwgb24gRU9GIHRoZSBjYWxsZXIgaXMgZXhwZWN0ZWQgdG8KKyAqICAgICBmcmVlIHRoZSByZXR1cm5lZCBzdHJpbmcuCisgKi8KK3N0YXRpYyBjaGFyICoKK3htbFNoZWxsUmVhZGxpbmUoY2hhciAqcHJvbXB0KSB7CisjaWZkZWYgSEFWRV9MSUJSRUFETElORQorICAgIGNoYXIgKmxpbmVfcmVhZDsKKworICAgIC8qIEdldCBhIGxpbmUgZnJvbSB0aGUgdXNlci4gKi8KKyAgICBsaW5lX3JlYWQgPSByZWFkbGluZSAocHJvbXB0KTsKKworICAgIC8qIElmIHRoZSBsaW5lIGhhcyBhbnkgdGV4dCBpbiBpdCwgc2F2ZSBpdCBvbiB0aGUgaGlzdG9yeS4gKi8KKyAgICBpZiAobGluZV9yZWFkICYmICpsaW5lX3JlYWQpCisJYWRkX2hpc3RvcnkgKGxpbmVfcmVhZCk7CisKKyAgICByZXR1cm4gKGxpbmVfcmVhZCk7CisjZWxzZQorICAgIGNoYXIgbGluZV9yZWFkWzUwMV07CisgICAgY2hhciAqcmV0OworICAgIGludCBsZW47CisKKyAgICBpZiAocHJvbXB0ICE9IE5VTEwpCisJZnByaW50ZihzdGRvdXQsICIlcyIsIHByb21wdCk7CisgICAgaWYgKCFmZ2V0cyhsaW5lX3JlYWQsIDUwMCwgc3RkaW4pKQorICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgbGluZV9yZWFkWzUwMF0gPSAwOworICAgIGxlbiA9IHN0cmxlbihsaW5lX3JlYWQpOworICAgIHJldCA9IChjaGFyICopIG1hbGxvYyhsZW4gKyAxKTsKKyAgICBpZiAocmV0ICE9IE5VTEwpIHsKKwltZW1jcHkgKHJldCwgbGluZV9yZWFkLCBsZW4gKyAxKTsKKyAgICB9CisgICAgcmV0dXJuKHJldCk7CisjZW5kaWYKK30KKyNlbmRpZiAvKiBMSUJYTUxfWFBBVEhfRU5BQkxFRCAqLworI2VuZGlmIC8qIExJQlhNTF9ERUJVR19FTkFCTEVEICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCQlJL08gSW50ZXJmYWNlcwkJCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitzdGF0aWMgaW50IG15UmVhZChGSUxFICpmLCBjaGFyICogYnVmLCBpbnQgbGVuKSB7CisgICAgcmV0dXJuKGZyZWFkKGJ1ZiwgMSwgbGVuLCBmKSk7Cit9CitzdGF0aWMgdm9pZCBteUNsb3NlKEZJTEUgKmYpIHsKKyAgaWYgKGYgIT0gc3RkaW4pIHsKKyAgICBmY2xvc2UoZik7CisgIH0KK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJCVNBWCBiYXNlZCB0ZXN0cwkJCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKgorICogZW1wdHkgU0FYIGJsb2NrCisgKi8KK3N0YXRpYyB4bWxTQVhIYW5kbGVyIGVtcHR5U0FYSGFuZGxlclN0cnVjdCA9IHsKKyAgICBOVUxMLCAvKiBpbnRlcm5hbFN1YnNldCAqLworICAgIE5VTEwsIC8qIGlzU3RhbmRhbG9uZSAqLworICAgIE5VTEwsIC8qIGhhc0ludGVybmFsU3Vic2V0ICovCisgICAgTlVMTCwgLyogaGFzRXh0ZXJuYWxTdWJzZXQgKi8KKyAgICBOVUxMLCAvKiByZXNvbHZlRW50aXR5ICovCisgICAgTlVMTCwgLyogZ2V0RW50aXR5ICovCisgICAgTlVMTCwgLyogZW50aXR5RGVjbCAqLworICAgIE5VTEwsIC8qIG5vdGF0aW9uRGVjbCAqLworICAgIE5VTEwsIC8qIGF0dHJpYnV0ZURlY2wgKi8KKyAgICBOVUxMLCAvKiBlbGVtZW50RGVjbCAqLworICAgIE5VTEwsIC8qIHVucGFyc2VkRW50aXR5RGVjbCAqLworICAgIE5VTEwsIC8qIHNldERvY3VtZW50TG9jYXRvciAqLworICAgIE5VTEwsIC8qIHN0YXJ0RG9jdW1lbnQgKi8KKyAgICBOVUxMLCAvKiBlbmREb2N1bWVudCAqLworICAgIE5VTEwsIC8qIHN0YXJ0RWxlbWVudCAqLworICAgIE5VTEwsIC8qIGVuZEVsZW1lbnQgKi8KKyAgICBOVUxMLCAvKiByZWZlcmVuY2UgKi8KKyAgICBOVUxMLCAvKiBjaGFyYWN0ZXJzICovCisgICAgTlVMTCwgLyogaWdub3JhYmxlV2hpdGVzcGFjZSAqLworICAgIE5VTEwsIC8qIHByb2Nlc3NpbmdJbnN0cnVjdGlvbiAqLworICAgIE5VTEwsIC8qIGNvbW1lbnQgKi8KKyAgICBOVUxMLCAvKiB4bWxQYXJzZXJXYXJuaW5nICovCisgICAgTlVMTCwgLyogeG1sUGFyc2VyRXJyb3IgKi8KKyAgICBOVUxMLCAvKiB4bWxQYXJzZXJFcnJvciAqLworICAgIE5VTEwsIC8qIGdldFBhcmFtZXRlckVudGl0eSAqLworICAgIE5VTEwsIC8qIGNkYXRhQmxvY2s7ICovCisgICAgTlVMTCwgLyogZXh0ZXJuYWxTdWJzZXQ7ICovCisgICAgWE1MX1NBWDJfTUFHSUMsCisgICAgTlVMTCwKKyAgICBOVUxMLCAvKiBzdGFydEVsZW1lbnROcyAqLworICAgIE5VTEwsIC8qIGVuZEVsZW1lbnROcyAqLworICAgIE5VTEwgIC8qIHhtbFN0cnVjdHVyZWRFcnJvckZ1bmMgKi8KK307CisKK3N0YXRpYyB4bWxTQVhIYW5kbGVyUHRyIGVtcHR5U0FYSGFuZGxlciA9ICZlbXB0eVNBWEhhbmRsZXJTdHJ1Y3Q7CitleHRlcm4geG1sU0FYSGFuZGxlclB0ciBkZWJ1Z1NBWEhhbmRsZXI7CitzdGF0aWMgaW50IGNhbGxiYWNrczsKKworLyoqCisgKiBpc1N0YW5kYWxvbmVEZWJ1ZzoKKyAqIEBjdHh0OiAgQW4gWE1MIHBhcnNlciBjb250ZXh0CisgKgorICogSXMgdGhpcyBkb2N1bWVudCB0YWdnZWQgc3RhbmRhbG9uZSA/CisgKgorICogUmV0dXJucyAxIGlmIHRydWUKKyAqLworc3RhdGljIGludAoraXNTdGFuZGFsb25lRGVidWcodm9pZCAqY3R4IEFUVFJJQlVURV9VTlVTRUQpCit7CisgICAgY2FsbGJhY2tzKys7CisgICAgaWYgKG5vb3V0KQorCXJldHVybigwKTsKKyAgICBmcHJpbnRmKHN0ZG91dCwgIlNBWC5pc1N0YW5kYWxvbmUoKVxuIik7CisgICAgcmV0dXJuKDApOworfQorCisvKioKKyAqIGhhc0ludGVybmFsU3Vic2V0RGVidWc6CisgKiBAY3R4dDogIEFuIFhNTCBwYXJzZXIgY29udGV4dAorICoKKyAqIERvZXMgdGhpcyBkb2N1bWVudCBoYXMgYW4gaW50ZXJuYWwgc3Vic2V0CisgKgorICogUmV0dXJucyAxIGlmIHRydWUKKyAqLworc3RhdGljIGludAoraGFzSW50ZXJuYWxTdWJzZXREZWJ1Zyh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCkKK3sKKyAgICBjYWxsYmFja3MrKzsKKyAgICBpZiAobm9vdXQpCisJcmV0dXJuKDApOworICAgIGZwcmludGYoc3Rkb3V0LCAiU0FYLmhhc0ludGVybmFsU3Vic2V0KClcbiIpOworICAgIHJldHVybigwKTsKK30KKworLyoqCisgKiBoYXNFeHRlcm5hbFN1YnNldERlYnVnOgorICogQGN0eHQ6ICBBbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqCisgKiBEb2VzIHRoaXMgZG9jdW1lbnQgaGFzIGFuIGV4dGVybmFsIHN1YnNldAorICoKKyAqIFJldHVybnMgMSBpZiB0cnVlCisgKi8KK3N0YXRpYyBpbnQKK2hhc0V4dGVybmFsU3Vic2V0RGVidWcodm9pZCAqY3R4IEFUVFJJQlVURV9VTlVTRUQpCit7CisgICAgY2FsbGJhY2tzKys7CisgICAgaWYgKG5vb3V0KQorCXJldHVybigwKTsKKyAgICBmcHJpbnRmKHN0ZG91dCwgIlNBWC5oYXNFeHRlcm5hbFN1YnNldCgpXG4iKTsKKyAgICByZXR1cm4oMCk7Cit9CisKKy8qKgorICogaW50ZXJuYWxTdWJzZXREZWJ1ZzoKKyAqIEBjdHh0OiAgQW4gWE1MIHBhcnNlciBjb250ZXh0CisgKgorICogRG9lcyB0aGlzIGRvY3VtZW50IGhhcyBhbiBpbnRlcm5hbCBzdWJzZXQKKyAqLworc3RhdGljIHZvaWQKK2ludGVybmFsU3Vic2V0RGVidWcodm9pZCAqY3R4IEFUVFJJQlVURV9VTlVTRUQsIGNvbnN0IHhtbENoYXIgKm5hbWUsCisJICAgICAgIGNvbnN0IHhtbENoYXIgKkV4dGVybmFsSUQsIGNvbnN0IHhtbENoYXIgKlN5c3RlbUlEKQoreworICAgIGNhbGxiYWNrcysrOworICAgIGlmIChub291dCkKKwlyZXR1cm47CisgICAgZnByaW50ZihzdGRvdXQsICJTQVguaW50ZXJuYWxTdWJzZXQoJXMsIiwgbmFtZSk7CisgICAgaWYgKEV4dGVybmFsSUQgPT0gTlVMTCkKKwlmcHJpbnRmKHN0ZG91dCwgIiAsIik7CisgICAgZWxzZQorCWZwcmludGYoc3Rkb3V0LCAiICVzLCIsIEV4dGVybmFsSUQpOworICAgIGlmIChTeXN0ZW1JRCA9PSBOVUxMKQorCWZwcmludGYoc3Rkb3V0LCAiIClcbiIpOworICAgIGVsc2UKKwlmcHJpbnRmKHN0ZG91dCwgIiAlcylcbiIsIFN5c3RlbUlEKTsKK30KKworLyoqCisgKiBleHRlcm5hbFN1YnNldERlYnVnOgorICogQGN0eHQ6ICBBbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqCisgKiBEb2VzIHRoaXMgZG9jdW1lbnQgaGFzIGFuIGV4dGVybmFsIHN1YnNldAorICovCitzdGF0aWMgdm9pZAorZXh0ZXJuYWxTdWJzZXREZWJ1Zyh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCwgY29uc3QgeG1sQ2hhciAqbmFtZSwKKwkgICAgICAgY29uc3QgeG1sQ2hhciAqRXh0ZXJuYWxJRCwgY29uc3QgeG1sQ2hhciAqU3lzdGVtSUQpCit7CisgICAgY2FsbGJhY2tzKys7CisgICAgaWYgKG5vb3V0KQorCXJldHVybjsKKyAgICBmcHJpbnRmKHN0ZG91dCwgIlNBWC5leHRlcm5hbFN1YnNldCglcywiLCBuYW1lKTsKKyAgICBpZiAoRXh0ZXJuYWxJRCA9PSBOVUxMKQorCWZwcmludGYoc3Rkb3V0LCAiICwiKTsKKyAgICBlbHNlCisJZnByaW50ZihzdGRvdXQsICIgJXMsIiwgRXh0ZXJuYWxJRCk7CisgICAgaWYgKFN5c3RlbUlEID09IE5VTEwpCisJZnByaW50ZihzdGRvdXQsICIgKVxuIik7CisgICAgZWxzZQorCWZwcmludGYoc3Rkb3V0LCAiICVzKVxuIiwgU3lzdGVtSUQpOworfQorCisvKioKKyAqIHJlc29sdmVFbnRpdHlEZWJ1ZzoKKyAqIEBjdHh0OiAgQW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAcHVibGljSWQ6IFRoZSBwdWJsaWMgSUQgb2YgdGhlIGVudGl0eQorICogQHN5c3RlbUlkOiBUaGUgc3lzdGVtIElEIG9mIHRoZSBlbnRpdHkKKyAqCisgKiBTcGVjaWFsIGVudGl0eSByZXNvbHZlciwgYmV0dGVyIGxlZnQgdG8gdGhlIHBhcnNlciwgaXQgaGFzCisgKiBtb3JlIGNvbnRleHQgdGhhbiB0aGUgYXBwbGljYXRpb24gbGF5ZXIuCisgKiBUaGUgZGVmYXVsdCBiZWhhdmlvdXIgaXMgdG8gTk9UIHJlc29sdmUgdGhlIGVudGl0aWVzLCBpbiB0aGF0IGNhc2UKKyAqIHRoZSBFTlRJVFlfUkVGIG5vZGVzIGFyZSBidWlsdCBpbiB0aGUgc3RydWN0dXJlIChhbmQgdGhlIHBhcmFtZXRlcgorICogdmFsdWVzKS4KKyAqCisgKiBSZXR1cm5zIHRoZSB4bWxQYXJzZXJJbnB1dFB0ciBpZiBpbmxpbmVkIG9yIE5VTEwgZm9yIERPTSBiZWhhdmlvdXIuCisgKi8KK3N0YXRpYyB4bWxQYXJzZXJJbnB1dFB0cgorcmVzb2x2ZUVudGl0eURlYnVnKHZvaWQgKmN0eCBBVFRSSUJVVEVfVU5VU0VELCBjb25zdCB4bWxDaGFyICpwdWJsaWNJZCwgY29uc3QgeG1sQ2hhciAqc3lzdGVtSWQpCit7CisgICAgY2FsbGJhY2tzKys7CisgICAgaWYgKG5vb3V0KQorCXJldHVybihOVUxMKTsKKyAgICAvKiB4bWxQYXJzZXJDdHh0UHRyIGN0eHQgPSAoeG1sUGFyc2VyQ3R4dFB0cikgY3R4OyAqLworCisKKyAgICBmcHJpbnRmKHN0ZG91dCwgIlNBWC5yZXNvbHZlRW50aXR5KCIpOworICAgIGlmIChwdWJsaWNJZCAhPSBOVUxMKQorCWZwcmludGYoc3Rkb3V0LCAiJXMiLCAoY2hhciAqKXB1YmxpY0lkKTsKKyAgICBlbHNlCisJZnByaW50ZihzdGRvdXQsICIgIik7CisgICAgaWYgKHN5c3RlbUlkICE9IE5VTEwpCisJZnByaW50ZihzdGRvdXQsICIsICVzKVxuIiwgKGNoYXIgKilzeXN0ZW1JZCk7CisgICAgZWxzZQorCWZwcmludGYoc3Rkb3V0LCAiLCApXG4iKTsKKyAgICByZXR1cm4oTlVMTCk7Cit9CisKKy8qKgorICogZ2V0RW50aXR5RGVidWc6CisgKiBAY3R4dDogIEFuIFhNTCBwYXJzZXIgY29udGV4dAorICogQG5hbWU6IFRoZSBlbnRpdHkgbmFtZQorICoKKyAqIEdldCBhbiBlbnRpdHkgYnkgbmFtZQorICoKKyAqIFJldHVybnMgdGhlIHhtbFBhcnNlcklucHV0UHRyIGlmIGlubGluZWQgb3IgTlVMTCBmb3IgRE9NIGJlaGF2aW91ci4KKyAqLworc3RhdGljIHhtbEVudGl0eVB0cgorZ2V0RW50aXR5RGVidWcodm9pZCAqY3R4IEFUVFJJQlVURV9VTlVTRUQsIGNvbnN0IHhtbENoYXIgKm5hbWUpCit7CisgICAgY2FsbGJhY2tzKys7CisgICAgaWYgKG5vb3V0KQorCXJldHVybihOVUxMKTsKKyAgICBmcHJpbnRmKHN0ZG91dCwgIlNBWC5nZXRFbnRpdHkoJXMpXG4iLCBuYW1lKTsKKyAgICByZXR1cm4oTlVMTCk7Cit9CisKKy8qKgorICogZ2V0UGFyYW1ldGVyRW50aXR5RGVidWc6CisgKiBAY3R4dDogIEFuIFhNTCBwYXJzZXIgY29udGV4dAorICogQG5hbWU6IFRoZSBlbnRpdHkgbmFtZQorICoKKyAqIEdldCBhIHBhcmFtZXRlciBlbnRpdHkgYnkgbmFtZQorICoKKyAqIFJldHVybnMgdGhlIHhtbFBhcnNlcklucHV0UHRyCisgKi8KK3N0YXRpYyB4bWxFbnRpdHlQdHIKK2dldFBhcmFtZXRlckVudGl0eURlYnVnKHZvaWQgKmN0eCBBVFRSSUJVVEVfVU5VU0VELCBjb25zdCB4bWxDaGFyICpuYW1lKQoreworICAgIGNhbGxiYWNrcysrOworICAgIGlmIChub291dCkKKwlyZXR1cm4oTlVMTCk7CisgICAgZnByaW50ZihzdGRvdXQsICJTQVguZ2V0UGFyYW1ldGVyRW50aXR5KCVzKVxuIiwgbmFtZSk7CisgICAgcmV0dXJuKE5VTEwpOworfQorCisKKy8qKgorICogZW50aXR5RGVjbERlYnVnOgorICogQGN0eHQ6ICBBbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBuYW1lOiAgdGhlIGVudGl0eSBuYW1lCisgKiBAdHlwZTogIHRoZSBlbnRpdHkgdHlwZQorICogQHB1YmxpY0lkOiBUaGUgcHVibGljIElEIG9mIHRoZSBlbnRpdHkKKyAqIEBzeXN0ZW1JZDogVGhlIHN5c3RlbSBJRCBvZiB0aGUgZW50aXR5CisgKiBAY29udGVudDogdGhlIGVudGl0eSB2YWx1ZSAod2l0aG91dCBwcm9jZXNzaW5nKS4KKyAqCisgKiBBbiBlbnRpdHkgZGVmaW5pdGlvbiBoYXMgYmVlbiBwYXJzZWQKKyAqLworc3RhdGljIHZvaWQKK2VudGl0eURlY2xEZWJ1Zyh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCwgY29uc3QgeG1sQ2hhciAqbmFtZSwgaW50IHR5cGUsCisgICAgICAgICAgY29uc3QgeG1sQ2hhciAqcHVibGljSWQsIGNvbnN0IHhtbENoYXIgKnN5c3RlbUlkLCB4bWxDaGFyICpjb250ZW50KQoreworY29uc3QgeG1sQ2hhciAqbnVsbHN0ciA9IEJBRF9DQVNUICIobnVsbCkiOworICAgIC8qIG5vdCBhbGwgbGlicmFyaWVzIGhhbmRsZSBwcmludGluZyBudWxsIHBvaW50ZXJzIG5pY2VseSAqLworICAgIGlmIChwdWJsaWNJZCA9PSBOVUxMKQorICAgICAgICBwdWJsaWNJZCA9IG51bGxzdHI7CisgICAgaWYgKHN5c3RlbUlkID09IE5VTEwpCisgICAgICAgIHN5c3RlbUlkID0gbnVsbHN0cjsKKyAgICBpZiAoY29udGVudCA9PSBOVUxMKQorICAgICAgICBjb250ZW50ID0gKHhtbENoYXIgKiludWxsc3RyOworICAgIGNhbGxiYWNrcysrOworICAgIGlmIChub291dCkKKwlyZXR1cm47CisgICAgZnByaW50ZihzdGRvdXQsICJTQVguZW50aXR5RGVjbCglcywgJWQsICVzLCAlcywgJXMpXG4iLAorICAgICAgICAgICAgbmFtZSwgdHlwZSwgcHVibGljSWQsIHN5c3RlbUlkLCBjb250ZW50KTsKK30KKworLyoqCisgKiBhdHRyaWJ1dGVEZWNsRGVidWc6CisgKiBAY3R4dDogIEFuIFhNTCBwYXJzZXIgY29udGV4dAorICogQG5hbWU6ICB0aGUgYXR0cmlidXRlIG5hbWUKKyAqIEB0eXBlOiAgdGhlIGF0dHJpYnV0ZSB0eXBlCisgKgorICogQW4gYXR0cmlidXRlIGRlZmluaXRpb24gaGFzIGJlZW4gcGFyc2VkCisgKi8KK3N0YXRpYyB2b2lkCithdHRyaWJ1dGVEZWNsRGVidWcodm9pZCAqY3R4IEFUVFJJQlVURV9VTlVTRUQsIGNvbnN0IHhtbENoYXIgKiBlbGVtLAorICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBuYW1lLCBpbnQgdHlwZSwgaW50IGRlZiwKKyAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogZGVmYXVsdFZhbHVlLCB4bWxFbnVtZXJhdGlvblB0ciB0cmVlKQoreworICAgIGNhbGxiYWNrcysrOworICAgIGlmIChub291dCkKKyAgICAgICAgcmV0dXJuOworICAgIGlmIChkZWZhdWx0VmFsdWUgPT0gTlVMTCkKKyAgICAgICAgZnByaW50ZihzdGRvdXQsICJTQVguYXR0cmlidXRlRGVjbCglcywgJXMsICVkLCAlZCwgTlVMTCwgLi4uKVxuIiwKKyAgICAgICAgICAgICAgICBlbGVtLCBuYW1lLCB0eXBlLCBkZWYpOworICAgIGVsc2UKKyAgICAgICAgZnByaW50ZihzdGRvdXQsICJTQVguYXR0cmlidXRlRGVjbCglcywgJXMsICVkLCAlZCwgJXMsIC4uLilcbiIsCisgICAgICAgICAgICAgICAgZWxlbSwgbmFtZSwgdHlwZSwgZGVmLCBkZWZhdWx0VmFsdWUpOworICAgIHhtbEZyZWVFbnVtZXJhdGlvbih0cmVlKTsKK30KKworLyoqCisgKiBlbGVtZW50RGVjbERlYnVnOgorICogQGN0eHQ6ICBBbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBuYW1lOiAgdGhlIGVsZW1lbnQgbmFtZQorICogQHR5cGU6ICB0aGUgZWxlbWVudCB0eXBlCisgKiBAY29udGVudDogdGhlIGVsZW1lbnQgdmFsdWUgKHdpdGhvdXQgcHJvY2Vzc2luZykuCisgKgorICogQW4gZWxlbWVudCBkZWZpbml0aW9uIGhhcyBiZWVuIHBhcnNlZAorICovCitzdGF0aWMgdm9pZAorZWxlbWVudERlY2xEZWJ1Zyh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCwgY29uc3QgeG1sQ2hhciAqbmFtZSwgaW50IHR5cGUsCisJICAgIHhtbEVsZW1lbnRDb250ZW50UHRyIGNvbnRlbnQgQVRUUklCVVRFX1VOVVNFRCkKK3sKKyAgICBjYWxsYmFja3MrKzsKKyAgICBpZiAobm9vdXQpCisJcmV0dXJuOworICAgIGZwcmludGYoc3Rkb3V0LCAiU0FYLmVsZW1lbnREZWNsKCVzLCAlZCwgLi4uKVxuIiwKKyAgICAgICAgICAgIG5hbWUsIHR5cGUpOworfQorCisvKioKKyAqIG5vdGF0aW9uRGVjbERlYnVnOgorICogQGN0eHQ6ICBBbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBuYW1lOiBUaGUgbmFtZSBvZiB0aGUgbm90YXRpb24KKyAqIEBwdWJsaWNJZDogVGhlIHB1YmxpYyBJRCBvZiB0aGUgZW50aXR5CisgKiBAc3lzdGVtSWQ6IFRoZSBzeXN0ZW0gSUQgb2YgdGhlIGVudGl0eQorICoKKyAqIFdoYXQgdG8gZG8gd2hlbiBhIG5vdGF0aW9uIGRlY2xhcmF0aW9uIGhhcyBiZWVuIHBhcnNlZC4KKyAqLworc3RhdGljIHZvaWQKK25vdGF0aW9uRGVjbERlYnVnKHZvaWQgKmN0eCBBVFRSSUJVVEVfVU5VU0VELCBjb25zdCB4bWxDaGFyICpuYW1lLAorCSAgICAgY29uc3QgeG1sQ2hhciAqcHVibGljSWQsIGNvbnN0IHhtbENoYXIgKnN5c3RlbUlkKQoreworICAgIGNhbGxiYWNrcysrOworICAgIGlmIChub291dCkKKwlyZXR1cm47CisgICAgZnByaW50ZihzdGRvdXQsICJTQVgubm90YXRpb25EZWNsKCVzLCAlcywgJXMpXG4iLAorICAgICAgICAgICAgKGNoYXIgKikgbmFtZSwgKGNoYXIgKikgcHVibGljSWQsIChjaGFyICopIHN5c3RlbUlkKTsKK30KKworLyoqCisgKiB1bnBhcnNlZEVudGl0eURlY2xEZWJ1ZzoKKyAqIEBjdHh0OiAgQW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAbmFtZTogVGhlIG5hbWUgb2YgdGhlIGVudGl0eQorICogQHB1YmxpY0lkOiBUaGUgcHVibGljIElEIG9mIHRoZSBlbnRpdHkKKyAqIEBzeXN0ZW1JZDogVGhlIHN5c3RlbSBJRCBvZiB0aGUgZW50aXR5CisgKiBAbm90YXRpb25OYW1lOiB0aGUgbmFtZSBvZiB0aGUgbm90YXRpb24KKyAqCisgKiBXaGF0IHRvIGRvIHdoZW4gYW4gdW5wYXJzZWQgZW50aXR5IGRlY2xhcmF0aW9uIGlzIHBhcnNlZAorICovCitzdGF0aWMgdm9pZAordW5wYXJzZWRFbnRpdHlEZWNsRGVidWcodm9pZCAqY3R4IEFUVFJJQlVURV9VTlVTRUQsIGNvbnN0IHhtbENoYXIgKm5hbWUsCisJCSAgIGNvbnN0IHhtbENoYXIgKnB1YmxpY0lkLCBjb25zdCB4bWxDaGFyICpzeXN0ZW1JZCwKKwkJICAgY29uc3QgeG1sQ2hhciAqbm90YXRpb25OYW1lKQoreworY29uc3QgeG1sQ2hhciAqbnVsbHN0ciA9IEJBRF9DQVNUICIobnVsbCkiOworCisgICAgaWYgKHB1YmxpY0lkID09IE5VTEwpCisgICAgICAgIHB1YmxpY0lkID0gbnVsbHN0cjsKKyAgICBpZiAoc3lzdGVtSWQgPT0gTlVMTCkKKyAgICAgICAgc3lzdGVtSWQgPSBudWxsc3RyOworICAgIGlmIChub3RhdGlvbk5hbWUgPT0gTlVMTCkKKyAgICAgICAgbm90YXRpb25OYW1lID0gbnVsbHN0cjsKKyAgICBjYWxsYmFja3MrKzsKKyAgICBpZiAobm9vdXQpCisJcmV0dXJuOworICAgIGZwcmludGYoc3Rkb3V0LCAiU0FYLnVucGFyc2VkRW50aXR5RGVjbCglcywgJXMsICVzLCAlcylcbiIsCisgICAgICAgICAgICAoY2hhciAqKSBuYW1lLCAoY2hhciAqKSBwdWJsaWNJZCwgKGNoYXIgKikgc3lzdGVtSWQsCisJICAgIChjaGFyICopIG5vdGF0aW9uTmFtZSk7Cit9CisKKy8qKgorICogc2V0RG9jdW1lbnRMb2NhdG9yRGVidWc6CisgKiBAY3R4dDogIEFuIFhNTCBwYXJzZXIgY29udGV4dAorICogQGxvYzogQSBTQVggTG9jYXRvcgorICoKKyAqIFJlY2VpdmUgdGhlIGRvY3VtZW50IGxvY2F0b3IgYXQgc3RhcnR1cCwgYWN0dWFsbHkgeG1sRGVmYXVsdFNBWExvY2F0b3IKKyAqIEV2ZXJ5dGhpbmcgaXMgYXZhaWxhYmxlIG9uIHRoZSBjb250ZXh0LCBzbyB0aGlzIGlzIHVzZWxlc3MgaW4gb3VyIGNhc2UuCisgKi8KK3N0YXRpYyB2b2lkCitzZXREb2N1bWVudExvY2F0b3JEZWJ1Zyh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCwgeG1sU0FYTG9jYXRvclB0ciBsb2MgQVRUUklCVVRFX1VOVVNFRCkKK3sKKyAgICBjYWxsYmFja3MrKzsKKyAgICBpZiAobm9vdXQpCisJcmV0dXJuOworICAgIGZwcmludGYoc3Rkb3V0LCAiU0FYLnNldERvY3VtZW50TG9jYXRvcigpXG4iKTsKK30KKworLyoqCisgKiBzdGFydERvY3VtZW50RGVidWc6CisgKiBAY3R4dDogIEFuIFhNTCBwYXJzZXIgY29udGV4dAorICoKKyAqIGNhbGxlZCB3aGVuIHRoZSBkb2N1bWVudCBzdGFydCBiZWluZyBwcm9jZXNzZWQuCisgKi8KK3N0YXRpYyB2b2lkCitzdGFydERvY3VtZW50RGVidWcodm9pZCAqY3R4IEFUVFJJQlVURV9VTlVTRUQpCit7CisgICAgY2FsbGJhY2tzKys7CisgICAgaWYgKG5vb3V0KQorCXJldHVybjsKKyAgICBmcHJpbnRmKHN0ZG91dCwgIlNBWC5zdGFydERvY3VtZW50KClcbiIpOworfQorCisvKioKKyAqIGVuZERvY3VtZW50RGVidWc6CisgKiBAY3R4dDogIEFuIFhNTCBwYXJzZXIgY29udGV4dAorICoKKyAqIGNhbGxlZCB3aGVuIHRoZSBkb2N1bWVudCBlbmQgaGFzIGJlZW4gZGV0ZWN0ZWQuCisgKi8KK3N0YXRpYyB2b2lkCitlbmREb2N1bWVudERlYnVnKHZvaWQgKmN0eCBBVFRSSUJVVEVfVU5VU0VEKQoreworICAgIGNhbGxiYWNrcysrOworICAgIGlmIChub291dCkKKwlyZXR1cm47CisgICAgZnByaW50ZihzdGRvdXQsICJTQVguZW5kRG9jdW1lbnQoKVxuIik7Cit9CisKKy8qKgorICogc3RhcnRFbGVtZW50RGVidWc6CisgKiBAY3R4dDogIEFuIFhNTCBwYXJzZXIgY29udGV4dAorICogQG5hbWU6ICBUaGUgZWxlbWVudCBuYW1lCisgKgorICogY2FsbGVkIHdoZW4gYW4gb3BlbmluZyB0YWcgaGFzIGJlZW4gcHJvY2Vzc2VkLgorICovCitzdGF0aWMgdm9pZAorc3RhcnRFbGVtZW50RGVidWcodm9pZCAqY3R4IEFUVFJJQlVURV9VTlVTRUQsIGNvbnN0IHhtbENoYXIgKm5hbWUsIGNvbnN0IHhtbENoYXIgKiphdHRzKQoreworICAgIGludCBpOworCisgICAgY2FsbGJhY2tzKys7CisgICAgaWYgKG5vb3V0KQorCXJldHVybjsKKyAgICBmcHJpbnRmKHN0ZG91dCwgIlNBWC5zdGFydEVsZW1lbnQoJXMiLCAoY2hhciAqKSBuYW1lKTsKKyAgICBpZiAoYXR0cyAhPSBOVUxMKSB7CisgICAgICAgIGZvciAoaSA9IDA7KGF0dHNbaV0gIT0gTlVMTCk7aSsrKSB7CisJICAgIGZwcmludGYoc3Rkb3V0LCAiLCAlcz0nIiwgYXR0c1tpKytdKTsKKwkgICAgaWYgKGF0dHNbaV0gIT0gTlVMTCkKKwkgICAgICAgIGZwcmludGYoc3Rkb3V0LCAiJXMnIiwgYXR0c1tpXSk7CisJfQorICAgIH0KKyAgICBmcHJpbnRmKHN0ZG91dCwgIilcbiIpOworfQorCisvKioKKyAqIGVuZEVsZW1lbnREZWJ1ZzoKKyAqIEBjdHh0OiAgQW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAbmFtZTogIFRoZSBlbGVtZW50IG5hbWUKKyAqCisgKiBjYWxsZWQgd2hlbiB0aGUgZW5kIG9mIGFuIGVsZW1lbnQgaGFzIGJlZW4gZGV0ZWN0ZWQuCisgKi8KK3N0YXRpYyB2b2lkCitlbmRFbGVtZW50RGVidWcodm9pZCAqY3R4IEFUVFJJQlVURV9VTlVTRUQsIGNvbnN0IHhtbENoYXIgKm5hbWUpCit7CisgICAgY2FsbGJhY2tzKys7CisgICAgaWYgKG5vb3V0KQorCXJldHVybjsKKyAgICBmcHJpbnRmKHN0ZG91dCwgIlNBWC5lbmRFbGVtZW50KCVzKVxuIiwgKGNoYXIgKikgbmFtZSk7Cit9CisKKy8qKgorICogY2hhcmFjdGVyc0RlYnVnOgorICogQGN0eHQ6ICBBbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBjaDogIGEgeG1sQ2hhciBzdHJpbmcKKyAqIEBsZW46IHRoZSBudW1iZXIgb2YgeG1sQ2hhcgorICoKKyAqIHJlY2VpdmluZyBzb21lIGNoYXJzIGZyb20gdGhlIHBhcnNlci4KKyAqIFF1ZXN0aW9uOiBob3cgbXVjaCBhdCBhIHRpbWUgPz8/CisgKi8KK3N0YXRpYyB2b2lkCitjaGFyYWN0ZXJzRGVidWcodm9pZCAqY3R4IEFUVFJJQlVURV9VTlVTRUQsIGNvbnN0IHhtbENoYXIgKmNoLCBpbnQgbGVuKQoreworICAgIGNoYXIgb3V0WzQwXTsKKyAgICBpbnQgaTsKKworICAgIGNhbGxiYWNrcysrOworICAgIGlmIChub291dCkKKwlyZXR1cm47CisgICAgZm9yIChpID0gMDsoaTxsZW4pICYmIChpIDwgMzApO2krKykKKwlvdXRbaV0gPSBjaFtpXTsKKyAgICBvdXRbaV0gPSAwOworCisgICAgZnByaW50ZihzdGRvdXQsICJTQVguY2hhcmFjdGVycyglcywgJWQpXG4iLCBvdXQsIGxlbik7Cit9CisKKy8qKgorICogcmVmZXJlbmNlRGVidWc6CisgKiBAY3R4dDogIEFuIFhNTCBwYXJzZXIgY29udGV4dAorICogQG5hbWU6ICBUaGUgZW50aXR5IG5hbWUKKyAqCisgKiBjYWxsZWQgd2hlbiBhbiBlbnRpdHkgcmVmZXJlbmNlIGlzIGRldGVjdGVkLgorICovCitzdGF0aWMgdm9pZAorcmVmZXJlbmNlRGVidWcodm9pZCAqY3R4IEFUVFJJQlVURV9VTlVTRUQsIGNvbnN0IHhtbENoYXIgKm5hbWUpCit7CisgICAgY2FsbGJhY2tzKys7CisgICAgaWYgKG5vb3V0KQorCXJldHVybjsKKyAgICBmcHJpbnRmKHN0ZG91dCwgIlNBWC5yZWZlcmVuY2UoJXMpXG4iLCBuYW1lKTsKK30KKworLyoqCisgKiBpZ25vcmFibGVXaGl0ZXNwYWNlRGVidWc6CisgKiBAY3R4dDogIEFuIFhNTCBwYXJzZXIgY29udGV4dAorICogQGNoOiAgYSB4bWxDaGFyIHN0cmluZworICogQHN0YXJ0OiB0aGUgZmlyc3QgY2hhciBpbiB0aGUgc3RyaW5nCisgKiBAbGVuOiB0aGUgbnVtYmVyIG9mIHhtbENoYXIKKyAqCisgKiByZWNlaXZpbmcgc29tZSBpZ25vcmFibGUgd2hpdGVzcGFjZXMgZnJvbSB0aGUgcGFyc2VyLgorICogUXVlc3Rpb246IGhvdyBtdWNoIGF0IGEgdGltZSA/Pz8KKyAqLworc3RhdGljIHZvaWQKK2lnbm9yYWJsZVdoaXRlc3BhY2VEZWJ1Zyh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCwgY29uc3QgeG1sQ2hhciAqY2gsIGludCBsZW4pCit7CisgICAgY2hhciBvdXRbNDBdOworICAgIGludCBpOworCisgICAgY2FsbGJhY2tzKys7CisgICAgaWYgKG5vb3V0KQorCXJldHVybjsKKyAgICBmb3IgKGkgPSAwOyhpPGxlbikgJiYgKGkgPCAzMCk7aSsrKQorCW91dFtpXSA9IGNoW2ldOworICAgIG91dFtpXSA9IDA7CisgICAgZnByaW50ZihzdGRvdXQsICJTQVguaWdub3JhYmxlV2hpdGVzcGFjZSglcywgJWQpXG4iLCBvdXQsIGxlbik7Cit9CisKKy8qKgorICogcHJvY2Vzc2luZ0luc3RydWN0aW9uRGVidWc6CisgKiBAY3R4dDogIEFuIFhNTCBwYXJzZXIgY29udGV4dAorICogQHRhcmdldDogIHRoZSB0YXJnZXQgbmFtZQorICogQGRhdGE6IHRoZSBQSSBkYXRhJ3MKKyAqIEBsZW46IHRoZSBudW1iZXIgb2YgeG1sQ2hhcgorICoKKyAqIEEgcHJvY2Vzc2luZyBpbnN0cnVjdGlvbiBoYXMgYmVlbiBwYXJzZWQuCisgKi8KK3N0YXRpYyB2b2lkCitwcm9jZXNzaW5nSW5zdHJ1Y3Rpb25EZWJ1Zyh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCwgY29uc3QgeG1sQ2hhciAqdGFyZ2V0LAorICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKmRhdGEpCit7CisgICAgY2FsbGJhY2tzKys7CisgICAgaWYgKG5vb3V0KQorCXJldHVybjsKKyAgICBpZiAoZGF0YSAhPSBOVUxMKQorCWZwcmludGYoc3Rkb3V0LCAiU0FYLnByb2Nlc3NpbmdJbnN0cnVjdGlvbiglcywgJXMpXG4iLAorCQkoY2hhciAqKSB0YXJnZXQsIChjaGFyICopIGRhdGEpOworICAgIGVsc2UKKwlmcHJpbnRmKHN0ZG91dCwgIlNBWC5wcm9jZXNzaW5nSW5zdHJ1Y3Rpb24oJXMsIE5VTEwpXG4iLAorCQkoY2hhciAqKSB0YXJnZXQpOworfQorCisvKioKKyAqIGNkYXRhQmxvY2tEZWJ1ZzoKKyAqIEBjdHg6IHRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCkKKyAqIEB2YWx1ZTogIFRoZSBwY2RhdGEgY29udGVudAorICogQGxlbjogIHRoZSBibG9jayBsZW5ndGgKKyAqCisgKiBjYWxsZWQgd2hlbiBhIHBjZGF0YSBibG9jayBoYXMgYmVlbiBwYXJzZWQKKyAqLworc3RhdGljIHZvaWQKK2NkYXRhQmxvY2tEZWJ1Zyh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCwgY29uc3QgeG1sQ2hhciAqdmFsdWUsIGludCBsZW4pCit7CisgICAgY2FsbGJhY2tzKys7CisgICAgaWYgKG5vb3V0KQorCXJldHVybjsKKyAgICBmcHJpbnRmKHN0ZG91dCwgIlNBWC5wY2RhdGEoJS4yMHMsICVkKVxuIiwKKwkgICAgKGNoYXIgKikgdmFsdWUsIGxlbik7Cit9CisKKy8qKgorICogY29tbWVudERlYnVnOgorICogQGN0eHQ6ICBBbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEB2YWx1ZTogIHRoZSBjb21tZW50IGNvbnRlbnQKKyAqCisgKiBBIGNvbW1lbnQgaGFzIGJlZW4gcGFyc2VkLgorICovCitzdGF0aWMgdm9pZAorY29tbWVudERlYnVnKHZvaWQgKmN0eCBBVFRSSUJVVEVfVU5VU0VELCBjb25zdCB4bWxDaGFyICp2YWx1ZSkKK3sKKyAgICBjYWxsYmFja3MrKzsKKyAgICBpZiAobm9vdXQpCisJcmV0dXJuOworICAgIGZwcmludGYoc3Rkb3V0LCAiU0FYLmNvbW1lbnQoJXMpXG4iLCB2YWx1ZSk7Cit9CisKKy8qKgorICogd2FybmluZ0RlYnVnOgorICogQGN0eHQ6ICBBbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBtc2c6ICB0aGUgbWVzc2FnZSB0byBkaXNwbGF5L3RyYW5zbWl0CisgKiBALi4uOiAgZXh0cmEgcGFyYW1ldGVycyBmb3IgdGhlIG1lc3NhZ2UgZGlzcGxheQorICoKKyAqIERpc3BsYXkgYW5kIGZvcm1hdCBhIHdhcm5pbmcgbWVzc2FnZXMsIGdpdmVzIGZpbGUsIGxpbmUsIHBvc2l0aW9uIGFuZAorICogZXh0cmEgcGFyYW1ldGVycy4KKyAqLworc3RhdGljIHZvaWQgWE1MQ0RFQ0wKK3dhcm5pbmdEZWJ1Zyh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCwgY29uc3QgY2hhciAqbXNnLCAuLi4pCit7CisgICAgdmFfbGlzdCBhcmdzOworCisgICAgY2FsbGJhY2tzKys7CisgICAgaWYgKG5vb3V0KQorCXJldHVybjsKKyAgICB2YV9zdGFydChhcmdzLCBtc2cpOworICAgIGZwcmludGYoc3Rkb3V0LCAiU0FYLndhcm5pbmc6ICIpOworICAgIHZmcHJpbnRmKHN0ZG91dCwgbXNnLCBhcmdzKTsKKyAgICB2YV9lbmQoYXJncyk7Cit9CisKKy8qKgorICogZXJyb3JEZWJ1ZzoKKyAqIEBjdHh0OiAgQW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAbXNnOiAgdGhlIG1lc3NhZ2UgdG8gZGlzcGxheS90cmFuc21pdAorICogQC4uLjogIGV4dHJhIHBhcmFtZXRlcnMgZm9yIHRoZSBtZXNzYWdlIGRpc3BsYXkKKyAqCisgKiBEaXNwbGF5IGFuZCBmb3JtYXQgYSBlcnJvciBtZXNzYWdlcywgZ2l2ZXMgZmlsZSwgbGluZSwgcG9zaXRpb24gYW5kCisgKiBleHRyYSBwYXJhbWV0ZXJzLgorICovCitzdGF0aWMgdm9pZCBYTUxDREVDTAorZXJyb3JEZWJ1Zyh2b2lkICpjdHggQVRUUklCVVRFX1VOVVNFRCwgY29uc3QgY2hhciAqbXNnLCAuLi4pCit7CisgICAgdmFfbGlzdCBhcmdzOworCisgICAgY2FsbGJhY2tzKys7CisgICAgaWYgKG5vb3V0KQorCXJldHVybjsKKyAgICB2YV9zdGFydChhcmdzLCBtc2cpOworICAgIGZwcmludGYoc3Rkb3V0LCAiU0FYLmVycm9yOiAiKTsKKyAgICB2ZnByaW50ZihzdGRvdXQsIG1zZywgYXJncyk7CisgICAgdmFfZW5kKGFyZ3MpOworfQorCisvKioKKyAqIGZhdGFsRXJyb3JEZWJ1ZzoKKyAqIEBjdHh0OiAgQW4gWE1MIHBhcnNlciBjb250ZXh0CisgKiBAbXNnOiAgdGhlIG1lc3NhZ2UgdG8gZGlzcGxheS90cmFuc21pdAorICogQC4uLjogIGV4dHJhIHBhcmFtZXRlcnMgZm9yIHRoZSBtZXNzYWdlIGRpc3BsYXkKKyAqCisgKiBEaXNwbGF5IGFuZCBmb3JtYXQgYSBmYXRhbEVycm9yIG1lc3NhZ2VzLCBnaXZlcyBmaWxlLCBsaW5lLCBwb3NpdGlvbiBhbmQKKyAqIGV4dHJhIHBhcmFtZXRlcnMuCisgKi8KK3N0YXRpYyB2b2lkIFhNTENERUNMCitmYXRhbEVycm9yRGVidWcodm9pZCAqY3R4IEFUVFJJQlVURV9VTlVTRUQsIGNvbnN0IGNoYXIgKm1zZywgLi4uKQoreworICAgIHZhX2xpc3QgYXJnczsKKworICAgIGNhbGxiYWNrcysrOworICAgIGlmIChub291dCkKKwlyZXR1cm47CisgICAgdmFfc3RhcnQoYXJncywgbXNnKTsKKyAgICBmcHJpbnRmKHN0ZG91dCwgIlNBWC5mYXRhbEVycm9yOiAiKTsKKyAgICB2ZnByaW50ZihzdGRvdXQsIG1zZywgYXJncyk7CisgICAgdmFfZW5kKGFyZ3MpOworfQorCitzdGF0aWMgeG1sU0FYSGFuZGxlciBkZWJ1Z1NBWEhhbmRsZXJTdHJ1Y3QgPSB7CisgICAgaW50ZXJuYWxTdWJzZXREZWJ1ZywKKyAgICBpc1N0YW5kYWxvbmVEZWJ1ZywKKyAgICBoYXNJbnRlcm5hbFN1YnNldERlYnVnLAorICAgIGhhc0V4dGVybmFsU3Vic2V0RGVidWcsCisgICAgcmVzb2x2ZUVudGl0eURlYnVnLAorICAgIGdldEVudGl0eURlYnVnLAorICAgIGVudGl0eURlY2xEZWJ1ZywKKyAgICBub3RhdGlvbkRlY2xEZWJ1ZywKKyAgICBhdHRyaWJ1dGVEZWNsRGVidWcsCisgICAgZWxlbWVudERlY2xEZWJ1ZywKKyAgICB1bnBhcnNlZEVudGl0eURlY2xEZWJ1ZywKKyAgICBzZXREb2N1bWVudExvY2F0b3JEZWJ1ZywKKyAgICBzdGFydERvY3VtZW50RGVidWcsCisgICAgZW5kRG9jdW1lbnREZWJ1ZywKKyAgICBzdGFydEVsZW1lbnREZWJ1ZywKKyAgICBlbmRFbGVtZW50RGVidWcsCisgICAgcmVmZXJlbmNlRGVidWcsCisgICAgY2hhcmFjdGVyc0RlYnVnLAorICAgIGlnbm9yYWJsZVdoaXRlc3BhY2VEZWJ1ZywKKyAgICBwcm9jZXNzaW5nSW5zdHJ1Y3Rpb25EZWJ1ZywKKyAgICBjb21tZW50RGVidWcsCisgICAgd2FybmluZ0RlYnVnLAorICAgIGVycm9yRGVidWcsCisgICAgZmF0YWxFcnJvckRlYnVnLAorICAgIGdldFBhcmFtZXRlckVudGl0eURlYnVnLAorICAgIGNkYXRhQmxvY2tEZWJ1ZywKKyAgICBleHRlcm5hbFN1YnNldERlYnVnLAorICAgIDEsCisgICAgTlVMTCwKKyAgICBOVUxMLAorICAgIE5VTEwsCisgICAgTlVMTAorfTsKKworeG1sU0FYSGFuZGxlclB0ciBkZWJ1Z1NBWEhhbmRsZXIgPSAmZGVidWdTQVhIYW5kbGVyU3RydWN0OworCisvKgorICogU0FYMiBzcGVjaWZpYyBjYWxsYmFja3MKKyAqLworLyoqCisgKiBzdGFydEVsZW1lbnROc0RlYnVnOgorICogQGN0eHQ6ICBBbiBYTUwgcGFyc2VyIGNvbnRleHQKKyAqIEBuYW1lOiAgVGhlIGVsZW1lbnQgbmFtZQorICoKKyAqIGNhbGxlZCB3aGVuIGFuIG9wZW5pbmcgdGFnIGhhcyBiZWVuIHByb2Nlc3NlZC4KKyAqLworc3RhdGljIHZvaWQKK3N0YXJ0RWxlbWVudE5zRGVidWcodm9pZCAqY3R4IEFUVFJJQlVURV9VTlVTRUQsCisgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKmxvY2FsbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqcHJlZml4LAorICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICpVUkksCisJCSAgICBpbnQgbmJfbmFtZXNwYWNlcywKKwkJICAgIGNvbnN0IHhtbENoYXIgKipuYW1lc3BhY2VzLAorCQkgICAgaW50IG5iX2F0dHJpYnV0ZXMsCisJCSAgICBpbnQgbmJfZGVmYXVsdGVkLAorCQkgICAgY29uc3QgeG1sQ2hhciAqKmF0dHJpYnV0ZXMpCit7CisgICAgaW50IGk7CisKKyAgICBjYWxsYmFja3MrKzsKKyAgICBpZiAobm9vdXQpCisJcmV0dXJuOworICAgIGZwcmludGYoc3Rkb3V0LCAiU0FYLnN0YXJ0RWxlbWVudE5zKCVzIiwgKGNoYXIgKikgbG9jYWxuYW1lKTsKKyAgICBpZiAocHJlZml4ID09IE5VTEwpCisJZnByaW50ZihzdGRvdXQsICIsIE5VTEwiKTsKKyAgICBlbHNlCisJZnByaW50ZihzdGRvdXQsICIsICVzIiwgKGNoYXIgKikgcHJlZml4KTsKKyAgICBpZiAoVVJJID09IE5VTEwpCisJZnByaW50ZihzdGRvdXQsICIsIE5VTEwiKTsKKyAgICBlbHNlCisJZnByaW50ZihzdGRvdXQsICIsICclcyciLCAoY2hhciAqKSBVUkkpOworICAgIGZwcmludGYoc3Rkb3V0LCAiLCAlZCIsIG5iX25hbWVzcGFjZXMpOworCisgICAgaWYgKG5hbWVzcGFjZXMgIT0gTlVMTCkgeworICAgICAgICBmb3IgKGkgPSAwO2kgPCBuYl9uYW1lc3BhY2VzICogMjtpKyspIHsKKwkgICAgZnByaW50ZihzdGRvdXQsICIsIHhtbG5zIik7CisJICAgIGlmIChuYW1lc3BhY2VzW2ldICE9IE5VTEwpCisJICAgICAgICBmcHJpbnRmKHN0ZG91dCwgIjolcyIsIG5hbWVzcGFjZXNbaV0pOworCSAgICBpKys7CisJICAgIGZwcmludGYoc3Rkb3V0LCAiPSclcyciLCBuYW1lc3BhY2VzW2ldKTsKKwl9CisgICAgfQorICAgIGZwcmludGYoc3Rkb3V0LCAiLCAlZCwgJWQiLCBuYl9hdHRyaWJ1dGVzLCBuYl9kZWZhdWx0ZWQpOworICAgIGlmIChhdHRyaWJ1dGVzICE9IE5VTEwpIHsKKyAgICAgICAgZm9yIChpID0gMDtpIDwgbmJfYXR0cmlidXRlcyAqIDU7aSArPSA1KSB7CisJICAgIGlmIChhdHRyaWJ1dGVzW2kgKyAxXSAhPSBOVUxMKQorCQlmcHJpbnRmKHN0ZG91dCwgIiwgJXM6JXM9JyIsIGF0dHJpYnV0ZXNbaSArIDFdLCBhdHRyaWJ1dGVzW2ldKTsKKwkgICAgZWxzZQorCQlmcHJpbnRmKHN0ZG91dCwgIiwgJXM9JyIsIGF0dHJpYnV0ZXNbaV0pOworCSAgICBmcHJpbnRmKHN0ZG91dCwgIiUuNHMuLi4nLCAlZCIsIGF0dHJpYnV0ZXNbaSArIDNdLAorCQkgICAgKGludCkoYXR0cmlidXRlc1tpICsgNF0gLSBhdHRyaWJ1dGVzW2kgKyAzXSkpOworCX0KKyAgICB9CisgICAgZnByaW50ZihzdGRvdXQsICIpXG4iKTsKK30KKworLyoqCisgKiBlbmRFbGVtZW50RGVidWc6CisgKiBAY3R4dDogIEFuIFhNTCBwYXJzZXIgY29udGV4dAorICogQG5hbWU6ICBUaGUgZWxlbWVudCBuYW1lCisgKgorICogY2FsbGVkIHdoZW4gdGhlIGVuZCBvZiBhbiBlbGVtZW50IGhhcyBiZWVuIGRldGVjdGVkLgorICovCitzdGF0aWMgdm9pZAorZW5kRWxlbWVudE5zRGVidWcodm9pZCAqY3R4IEFUVFJJQlVURV9VTlVTRUQsCisgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICpsb2NhbG5hbWUsCisgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICpwcmVmaXgsCisgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICpVUkkpCit7CisgICAgY2FsbGJhY2tzKys7CisgICAgaWYgKG5vb3V0KQorCXJldHVybjsKKyAgICBmcHJpbnRmKHN0ZG91dCwgIlNBWC5lbmRFbGVtZW50TnMoJXMiLCAoY2hhciAqKSBsb2NhbG5hbWUpOworICAgIGlmIChwcmVmaXggPT0gTlVMTCkKKwlmcHJpbnRmKHN0ZG91dCwgIiwgTlVMTCIpOworICAgIGVsc2UKKwlmcHJpbnRmKHN0ZG91dCwgIiwgJXMiLCAoY2hhciAqKSBwcmVmaXgpOworICAgIGlmIChVUkkgPT0gTlVMTCkKKwlmcHJpbnRmKHN0ZG91dCwgIiwgTlVMTClcbiIpOworICAgIGVsc2UKKwlmcHJpbnRmKHN0ZG91dCwgIiwgJyVzJylcbiIsIChjaGFyICopIFVSSSk7Cit9CisKK3N0YXRpYyB4bWxTQVhIYW5kbGVyIGRlYnVnU0FYMkhhbmRsZXJTdHJ1Y3QgPSB7CisgICAgaW50ZXJuYWxTdWJzZXREZWJ1ZywKKyAgICBpc1N0YW5kYWxvbmVEZWJ1ZywKKyAgICBoYXNJbnRlcm5hbFN1YnNldERlYnVnLAorICAgIGhhc0V4dGVybmFsU3Vic2V0RGVidWcsCisgICAgcmVzb2x2ZUVudGl0eURlYnVnLAorICAgIGdldEVudGl0eURlYnVnLAorICAgIGVudGl0eURlY2xEZWJ1ZywKKyAgICBub3RhdGlvbkRlY2xEZWJ1ZywKKyAgICBhdHRyaWJ1dGVEZWNsRGVidWcsCisgICAgZWxlbWVudERlY2xEZWJ1ZywKKyAgICB1bnBhcnNlZEVudGl0eURlY2xEZWJ1ZywKKyAgICBzZXREb2N1bWVudExvY2F0b3JEZWJ1ZywKKyAgICBzdGFydERvY3VtZW50RGVidWcsCisgICAgZW5kRG9jdW1lbnREZWJ1ZywKKyAgICBOVUxMLAorICAgIE5VTEwsCisgICAgcmVmZXJlbmNlRGVidWcsCisgICAgY2hhcmFjdGVyc0RlYnVnLAorICAgIGlnbm9yYWJsZVdoaXRlc3BhY2VEZWJ1ZywKKyAgICBwcm9jZXNzaW5nSW5zdHJ1Y3Rpb25EZWJ1ZywKKyAgICBjb21tZW50RGVidWcsCisgICAgd2FybmluZ0RlYnVnLAorICAgIGVycm9yRGVidWcsCisgICAgZmF0YWxFcnJvckRlYnVnLAorICAgIGdldFBhcmFtZXRlckVudGl0eURlYnVnLAorICAgIGNkYXRhQmxvY2tEZWJ1ZywKKyAgICBleHRlcm5hbFN1YnNldERlYnVnLAorICAgIFhNTF9TQVgyX01BR0lDLAorICAgIE5VTEwsCisgICAgc3RhcnRFbGVtZW50TnNEZWJ1ZywKKyAgICBlbmRFbGVtZW50TnNEZWJ1ZywKKyAgICBOVUxMCit9OworCitzdGF0aWMgeG1sU0FYSGFuZGxlclB0ciBkZWJ1Z1NBWDJIYW5kbGVyID0gJmRlYnVnU0FYMkhhbmRsZXJTdHJ1Y3Q7CisKK3N0YXRpYyB2b2lkCit0ZXN0U0FYKGNvbnN0IGNoYXIgKmZpbGVuYW1lKSB7CisgICAgeG1sU0FYSGFuZGxlclB0ciBoYW5kbGVyOworICAgIGNvbnN0IGNoYXIgKnVzZXJfZGF0YSA9ICJ1c2VyX2RhdGEiOyAvKiBtb3N0bHkgZm9yIGRlYnVnZ2luZyAqLworICAgIHhtbFBhcnNlcklucHV0QnVmZmVyUHRyIGJ1ZiA9IE5VTEw7CisgICAgeG1sUGFyc2VySW5wdXRQdHIgaW5wdXRTdHJlYW07CisgICAgeG1sUGFyc2VyQ3R4dFB0ciBjdHh0ID0gTlVMTDsKKyAgICB4bWxTQVhIYW5kbGVyUHRyIG9sZF9zYXggPSBOVUxMOworCisgICAgY2FsbGJhY2tzID0gMDsKKworICAgIGlmIChub291dCkgeworICAgICAgICBoYW5kbGVyID0gZW1wdHlTQVhIYW5kbGVyOworI2lmZGVmIExJQlhNTF9TQVgxX0VOQUJMRUQKKyAgICB9IGVsc2UgaWYgKHNheDEpIHsKKyAgICAgICAgaGFuZGxlciA9IGRlYnVnU0FYSGFuZGxlcjsKKyNlbmRpZgorICAgIH0gZWxzZSB7CisgICAgICAgIGhhbmRsZXIgPSBkZWJ1Z1NBWDJIYW5kbGVyOworICAgIH0KKworICAgIC8qCisgICAgICogaXQncyBub3QgdGhlIHNpbXBsZXN0IGNvZGUgYnV0IHRoZSBtb3N0IGdlbmVyaWMgaW4gdGVybSBvZiBJL08KKyAgICAgKi8KKyAgICBidWYgPSB4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lKGZpbGVuYW1lLCBYTUxfQ0hBUl9FTkNPRElOR19OT05FKTsKKyAgICBpZiAoYnVmID09IE5VTEwpIHsKKyAgICAgICAgZ290byBlcnJvcjsKKyAgICB9CisKKyNpZmRlZiBMSUJYTUxfU0NIRU1BU19FTkFCTEVECisgICAgaWYgKHd4c2NoZW1hcyAhPSBOVUxMKSB7CisgICAgICAgIGludCByZXQ7CisJeG1sU2NoZW1hVmFsaWRDdHh0UHRyIHZjdHh0OworCisJdmN0eHQgPSB4bWxTY2hlbWFOZXdWYWxpZEN0eHQod3hzY2hlbWFzKTsKKwl4bWxTY2hlbWFTZXRWYWxpZEVycm9ycyh2Y3R4dCwKKwkJKHhtbFNjaGVtYVZhbGlkaXR5RXJyb3JGdW5jKSBmcHJpbnRmLAorCQkoeG1sU2NoZW1hVmFsaWRpdHlXYXJuaW5nRnVuYykgZnByaW50ZiwKKwkJc3RkZXJyKTsKKwl4bWxTY2hlbWFWYWxpZGF0ZVNldEZpbGVuYW1lKHZjdHh0LCBmaWxlbmFtZSk7CisKKwlyZXQgPSB4bWxTY2hlbWFWYWxpZGF0ZVN0cmVhbSh2Y3R4dCwgYnVmLCAwLCBoYW5kbGVyLAorCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2b2lkICopdXNlcl9kYXRhKTsKKwlpZiAocmVwZWF0ID09IDApIHsKKwkgICAgaWYgKHJldCA9PSAwKSB7CisJCWZwcmludGYoc3RkZXJyLCAiJXMgdmFsaWRhdGVzXG4iLCBmaWxlbmFtZSk7CisJICAgIH0gZWxzZSBpZiAocmV0ID4gMCkgeworCQlmcHJpbnRmKHN0ZGVyciwgIiVzIGZhaWxzIHRvIHZhbGlkYXRlXG4iLCBmaWxlbmFtZSk7CisJCXByb2dyZXN1bHQgPSBYTUxMSU5UX0VSUl9WQUxJRDsKKwkgICAgfSBlbHNlIHsKKwkJZnByaW50ZihzdGRlcnIsICIlcyB2YWxpZGF0aW9uIGdlbmVyYXRlZCBhbiBpbnRlcm5hbCBlcnJvclxuIiwKKwkJICAgICAgIGZpbGVuYW1lKTsKKwkJcHJvZ3Jlc3VsdCA9IFhNTExJTlRfRVJSX1ZBTElEOworCSAgICB9CisJfQorCXhtbFNjaGVtYUZyZWVWYWxpZEN0eHQodmN0eHQpOworICAgIH0gZWxzZQorI2VuZGlmCisgICAgeworCS8qCisJICogQ3JlYXRlIHRoZSBwYXJzZXIgY29udGV4dCBhbWQgaG9vayB0aGUgaW5wdXQKKwkgKi8KKwljdHh0ID0geG1sTmV3UGFyc2VyQ3R4dCgpOworCWlmIChjdHh0ID09IE5VTEwpIHsKKwkgICAgeG1sRnJlZVBhcnNlcklucHV0QnVmZmVyKGJ1Zik7CisJICAgIGdvdG8gZXJyb3I7CisJfQorCW9sZF9zYXggPSBjdHh0LT5zYXg7CisJY3R4dC0+c2F4ID0gaGFuZGxlcjsKKwljdHh0LT51c2VyRGF0YSA9ICh2b2lkICopIHVzZXJfZGF0YTsKKwlpbnB1dFN0cmVhbSA9IHhtbE5ld0lPSW5wdXRTdHJlYW0oY3R4dCwgYnVmLCBYTUxfQ0hBUl9FTkNPRElOR19OT05FKTsKKwlpZiAoaW5wdXRTdHJlYW0gPT0gTlVMTCkgeworCSAgICB4bWxGcmVlUGFyc2VySW5wdXRCdWZmZXIoYnVmKTsKKwkgICAgZ290byBlcnJvcjsKKwl9CisJaW5wdXRQdXNoKGN0eHQsIGlucHV0U3RyZWFtKTsKKworCS8qIGRvIHRoZSBwYXJzaW5nICovCisJeG1sUGFyc2VEb2N1bWVudChjdHh0KTsKKworCWlmIChjdHh0LT5teURvYyAhPSBOVUxMKSB7CisJICAgIGZwcmludGYoc3RkZXJyLCAiU0FYIGdlbmVyYXRlZCBhIGRvYyAhXG4iKTsKKwkgICAgeG1sRnJlZURvYyhjdHh0LT5teURvYyk7CisJICAgIGN0eHQtPm15RG9jID0gTlVMTDsKKwl9CisgICAgfQorCitlcnJvcjoKKyAgICBpZiAoY3R4dCAhPSBOVUxMKSB7CisgICAgICAgIGN0eHQtPnNheCA9IG9sZF9zYXg7CisgICAgICAgIHhtbEZyZWVQYXJzZXJDdHh0KGN0eHQpOworICAgIH0KK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJCVN0cmVhbSBUZXN0IHByb2Nlc3NpbmcJCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmZGVmIExJQlhNTF9SRUFERVJfRU5BQkxFRAorc3RhdGljIHZvaWQgcHJvY2Vzc05vZGUoeG1sVGV4dFJlYWRlclB0ciByZWFkZXIpIHsKKyAgICBjb25zdCB4bWxDaGFyICpuYW1lLCAqdmFsdWU7CisgICAgaW50IHR5cGUsIGVtcHR5OworCisgICAgdHlwZSA9IHhtbFRleHRSZWFkZXJOb2RlVHlwZShyZWFkZXIpOworICAgIGVtcHR5ID0geG1sVGV4dFJlYWRlcklzRW1wdHlFbGVtZW50KHJlYWRlcik7CisKKyAgICBpZiAoZGVidWcpIHsKKwluYW1lID0geG1sVGV4dFJlYWRlckNvbnN0TmFtZShyZWFkZXIpOworCWlmIChuYW1lID09IE5VTEwpCisJICAgIG5hbWUgPSBCQURfQ0FTVCAiLS0iOworCisJdmFsdWUgPSB4bWxUZXh0UmVhZGVyQ29uc3RWYWx1ZShyZWFkZXIpOworCisKKwlwcmludGYoIiVkICVkICVzICVkICVkIiwKKwkJeG1sVGV4dFJlYWRlckRlcHRoKHJlYWRlciksCisJCXR5cGUsCisJCW5hbWUsCisJCWVtcHR5LAorCQl4bWxUZXh0UmVhZGVySGFzVmFsdWUocmVhZGVyKSk7CisJaWYgKHZhbHVlID09IE5VTEwpCisJICAgIHByaW50ZigiXG4iKTsKKwllbHNlIHsKKwkgICAgcHJpbnRmKCIgJXNcbiIsIHZhbHVlKTsKKwl9CisgICAgfQorI2lmZGVmIExJQlhNTF9QQVRURVJOX0VOQUJMRUQKKyAgICBpZiAocGF0dGVybmMpIHsKKyAgICAgICAgeG1sQ2hhciAqcGF0aCA9IE5VTEw7CisgICAgICAgIGludCBtYXRjaCA9IC0xOworCisJaWYgKHR5cGUgPT0gWE1MX1JFQURFUl9UWVBFX0VMRU1FTlQpIHsKKwkgICAgLyogZG8gdGhlIGNoZWNrIG9ubHkgb24gZWxlbWVudCBzdGFydCAqLworCSAgICBtYXRjaCA9IHhtbFBhdHRlcm5NYXRjaChwYXR0ZXJuYywgeG1sVGV4dFJlYWRlckN1cnJlbnROb2RlKHJlYWRlcikpOworCisJICAgIGlmIChtYXRjaCkgeworI2lmIGRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfREVCVUdfRU5BQkxFRCkKKwkJcGF0aCA9IHhtbEdldE5vZGVQYXRoKHhtbFRleHRSZWFkZXJDdXJyZW50Tm9kZShyZWFkZXIpKTsKKwkJcHJpbnRmKCJOb2RlICVzIG1hdGNoZXMgcGF0dGVybiAlc1xuIiwgcGF0aCwgcGF0dGVybik7CisjZWxzZQorICAgICAgICAgICAgICAgIHByaW50ZigiTm9kZSAlcyBtYXRjaGVzIHBhdHRlcm4gJXNcbiIsCisgICAgICAgICAgICAgICAgICAgICAgIHhtbFRleHRSZWFkZXJDb25zdE5hbWUocmVhZGVyKSwgcGF0dGVybik7CisjZW5kaWYKKwkgICAgfQorCX0KKwlpZiAocGF0c3RyZWFtICE9IE5VTEwpIHsKKwkgICAgaW50IHJldDsKKworCSAgICBpZiAodHlwZSA9PSBYTUxfUkVBREVSX1RZUEVfRUxFTUVOVCkgeworCQlyZXQgPSB4bWxTdHJlYW1QdXNoKHBhdHN0cmVhbSwKKwkJICAgICAgICAgICAgICAgICAgICB4bWxUZXh0UmVhZGVyQ29uc3RMb2NhbE5hbWUocmVhZGVyKSwKKwkJCQkgICAgeG1sVGV4dFJlYWRlckNvbnN0TmFtZXNwYWNlVXJpKHJlYWRlcikpOworCQlpZiAocmV0IDwgMCkgeworCQkgICAgZnByaW50ZihzdGRlcnIsICJ4bWxTdHJlYW1QdXNoKCkgZmFpbHVyZVxuIik7CisgICAgICAgICAgICAgICAgICAgIHhtbEZyZWVTdHJlYW1DdHh0KHBhdHN0cmVhbSk7CisJCSAgICBwYXRzdHJlYW0gPSBOVUxMOworCQl9IGVsc2UgaWYgKHJldCAhPSBtYXRjaCkgeworI2lmIGRlZmluZWQoTElCWE1MX1RSRUVfRU5BQkxFRCkgfHwgZGVmaW5lZChMSUJYTUxfREVCVUdfRU5BQkxFRCkKKwkJICAgIGlmIChwYXRoID09IE5VTEwpIHsKKwkJICAgICAgICBwYXRoID0geG1sR2V0Tm9kZVBhdGgoCisJCSAgICAgICAgICAgICAgICAgICAgICAgeG1sVGV4dFJlYWRlckN1cnJlbnROb2RlKHJlYWRlcikpOworCQkgICAgfQorI2VuZGlmCisJCSAgICBmcHJpbnRmKHN0ZGVyciwKKwkJICAgICAgICAgICAgInhtbFBhdHRlcm5NYXRjaCBhbmQgeG1sU3RyZWFtUHVzaCBkaXNhZ3JlZVxuIik7CisgICAgICAgICAgICAgICAgICAgIGlmIChwYXRoICE9IE5VTEwpCisgICAgICAgICAgICAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIiAgcGF0dGVybiAlcyBub2RlICVzXG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuLCBwYXRoKTsKKyAgICAgICAgICAgICAgICAgICAgZWxzZQorCQkgICAgICAgIGZwcmludGYoc3RkZXJyLCAiICBwYXR0ZXJuICVzIG5vZGUgJXNcbiIsCisJCQkgICAgcGF0dGVybiwgeG1sVGV4dFJlYWRlckNvbnN0TmFtZShyZWFkZXIpKTsKKwkJfQorCisJICAgIH0KKwkgICAgaWYgKCh0eXBlID09IFhNTF9SRUFERVJfVFlQRV9FTkRfRUxFTUVOVCkgfHwKKwkgICAgICAgICgodHlwZSA9PSBYTUxfUkVBREVSX1RZUEVfRUxFTUVOVCkgJiYgKGVtcHR5KSkpIHsKKwkgICAgICAgIHJldCA9IHhtbFN0cmVhbVBvcChwYXRzdHJlYW0pOworCQlpZiAocmV0IDwgMCkgeworCQkgICAgZnByaW50ZihzdGRlcnIsICJ4bWxTdHJlYW1Qb3AoKSBmYWlsdXJlXG4iKTsKKyAgICAgICAgICAgICAgICAgICAgeG1sRnJlZVN0cmVhbUN0eHQocGF0c3RyZWFtKTsKKwkJICAgIHBhdHN0cmVhbSA9IE5VTEw7CisJCX0KKwkgICAgfQorCX0KKwlpZiAocGF0aCAhPSBOVUxMKQorCSAgICB4bWxGcmVlKHBhdGgpOworICAgIH0KKyNlbmRpZgorfQorCitzdGF0aWMgdm9pZCBzdHJlYW1GaWxlKGNoYXIgKmZpbGVuYW1lKSB7CisgICAgeG1sVGV4dFJlYWRlclB0ciByZWFkZXI7CisgICAgaW50IHJldDsKKyNpZmRlZiBIQVZFX01NQVAKKyAgICBpbnQgZmQgPSAtMTsKKyAgICBzdHJ1Y3Qgc3RhdCBpbmZvOworICAgIGNvbnN0IGNoYXIgKmJhc2UgPSBOVUxMOworICAgIHhtbFBhcnNlcklucHV0QnVmZmVyUHRyIGlucHV0ID0gTlVMTDsKKworICAgIGlmIChtZW1vcnkpIHsKKwlpZiAoc3RhdChmaWxlbmFtZSwgJmluZm8pIDwgMCkKKwkgICAgcmV0dXJuOworCWlmICgoZmQgPSBvcGVuKGZpbGVuYW1lLCBPX1JET05MWSkpIDwgMCkKKwkgICAgcmV0dXJuOworCWJhc2UgPSBtbWFwKE5VTEwsIGluZm8uc3Rfc2l6ZSwgUFJPVF9SRUFELCBNQVBfU0hBUkVELCBmZCwgMCkgOworCWlmIChiYXNlID09ICh2b2lkICopIE1BUF9GQUlMRUQpIHsKKwkgICAgY2xvc2UoZmQpOworCSAgICBmcHJpbnRmKHN0ZGVyciwgIm1tYXAgZmFpbHVyZSBmb3IgZmlsZSAlc1xuIiwgZmlsZW5hbWUpOworCSAgICBwcm9ncmVzdWx0ID0gWE1MTElOVF9FUlJfUkRGSUxFOworCSAgICByZXR1cm47CisJfQorCisJcmVhZGVyID0geG1sUmVhZGVyRm9yTWVtb3J5KGJhc2UsIGluZm8uc3Rfc2l6ZSwgZmlsZW5hbWUsCisJICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIG9wdGlvbnMpOworICAgIH0gZWxzZQorI2VuZGlmCisJcmVhZGVyID0geG1sUmVhZGVyRm9yRmlsZShmaWxlbmFtZSwgTlVMTCwgb3B0aW9ucyk7CisjaWZkZWYgTElCWE1MX1BBVFRFUk5fRU5BQkxFRAorICAgIGlmIChwYXR0ZXJuICE9IE5VTEwpIHsKKyAgICAgICAgcGF0dGVybmMgPSB4bWxQYXR0ZXJuY29tcGlsZSgoY29uc3QgeG1sQ2hhciAqKSBwYXR0ZXJuLCBOVUxMLCAwLCBOVUxMKTsKKwlpZiAocGF0dGVybmMgPT0gTlVMTCkgeworCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJICAgICJQYXR0ZXJuICVzIGZhaWxlZCB0byBjb21waWxlXG4iLCBwYXR0ZXJuKTsKKyAgICAgICAgICAgIHByb2dyZXN1bHQgPSBYTUxMSU5UX0VSUl9TQ0hFTUFQQVQ7CisJICAgIHBhdHRlcm4gPSBOVUxMOworCX0KKyAgICB9CisgICAgaWYgKHBhdHRlcm5jICE9IE5VTEwpIHsKKyAgICAgICAgcGF0c3RyZWFtID0geG1sUGF0dGVybkdldFN0cmVhbUN0eHQocGF0dGVybmMpOworCWlmIChwYXRzdHJlYW0gIT0gTlVMTCkgeworCSAgICByZXQgPSB4bWxTdHJlYW1QdXNoKHBhdHN0cmVhbSwgTlVMTCwgTlVMTCk7CisJICAgIGlmIChyZXQgPCAwKSB7CisJCWZwcmludGYoc3RkZXJyLCAieG1sU3RyZWFtUHVzaCgpIGZhaWx1cmVcbiIpOworCQl4bWxGcmVlU3RyZWFtQ3R4dChwYXRzdHJlYW0pOworCQlwYXRzdHJlYW0gPSBOVUxMOworICAgICAgICAgICAgfQorCX0KKyAgICB9CisjZW5kaWYKKworCisgICAgaWYgKHJlYWRlciAhPSBOVUxMKSB7CisjaWZkZWYgTElCWE1MX1ZBTElEX0VOQUJMRUQKKwlpZiAodmFsaWQpCisJICAgIHhtbFRleHRSZWFkZXJTZXRQYXJzZXJQcm9wKHJlYWRlciwgWE1MX1BBUlNFUl9WQUxJREFURSwgMSk7CisJZWxzZQorI2VuZGlmIC8qIExJQlhNTF9WQUxJRF9FTkFCTEVEICovCisJICAgIGlmIChsb2FkZHRkKQorCQl4bWxUZXh0UmVhZGVyU2V0UGFyc2VyUHJvcChyZWFkZXIsIFhNTF9QQVJTRVJfTE9BRERURCwgMSk7CisjaWZkZWYgTElCWE1MX1NDSEVNQVNfRU5BQkxFRAorCWlmIChyZWxheG5nICE9IE5VTEwpIHsKKwkgICAgaWYgKCh0aW1pbmcpICYmICghcmVwZWF0KSkgeworCQlzdGFydFRpbWVyKCk7CisJICAgIH0KKwkgICAgcmV0ID0geG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZShyZWFkZXIsIHJlbGF4bmcpOworCSAgICBpZiAocmV0IDwgMCkgeworCQl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJCSJSZWxheC1ORyBzY2hlbWEgJXMgZmFpbGVkIHRvIGNvbXBpbGVcbiIsIHJlbGF4bmcpOworCQlwcm9ncmVzdWx0ID0gWE1MTElOVF9FUlJfU0NIRU1BQ09NUDsKKwkJcmVsYXhuZyA9IE5VTEw7CisJICAgIH0KKwkgICAgaWYgKCh0aW1pbmcpICYmICghcmVwZWF0KSkgeworCQllbmRUaW1lcigiQ29tcGlsaW5nIHRoZSBzY2hlbWFzIik7CisJICAgIH0KKwl9CisJaWYgKHNjaGVtYSAhPSBOVUxMKSB7CisJICAgIGlmICgodGltaW5nKSAmJiAoIXJlcGVhdCkpIHsKKwkJc3RhcnRUaW1lcigpOworCSAgICB9CisJICAgIHJldCA9IHhtbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZShyZWFkZXIsIHNjaGVtYSk7CisJICAgIGlmIChyZXQgPCAwKSB7CisJCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkJIlhTRCBzY2hlbWEgJXMgZmFpbGVkIHRvIGNvbXBpbGVcbiIsIHNjaGVtYSk7CisJCXByb2dyZXN1bHQgPSBYTUxMSU5UX0VSUl9TQ0hFTUFDT01QOworCQlzY2hlbWEgPSBOVUxMOworCSAgICB9CisJICAgIGlmICgodGltaW5nKSAmJiAoIXJlcGVhdCkpIHsKKwkJZW5kVGltZXIoIkNvbXBpbGluZyB0aGUgc2NoZW1hcyIpOworCSAgICB9CisJfQorI2VuZGlmCisKKwkvKgorCSAqIFByb2Nlc3MgYWxsIG5vZGVzIGluIHNlcXVlbmNlCisJICovCisJaWYgKCh0aW1pbmcpICYmICghcmVwZWF0KSkgeworCSAgICBzdGFydFRpbWVyKCk7CisJfQorCXJldCA9IHhtbFRleHRSZWFkZXJSZWFkKHJlYWRlcik7CisJd2hpbGUgKHJldCA9PSAxKSB7CisJICAgIGlmICgoZGVidWcpCisjaWZkZWYgTElCWE1MX1BBVFRFUk5fRU5BQkxFRAorCSAgICAgICAgfHwgKHBhdHRlcm5jKQorI2VuZGlmCisJICAgICAgICkKKwkJcHJvY2Vzc05vZGUocmVhZGVyKTsKKwkgICAgcmV0ID0geG1sVGV4dFJlYWRlclJlYWQocmVhZGVyKTsKKwl9CisJaWYgKCh0aW1pbmcpICYmICghcmVwZWF0KSkgeworI2lmZGVmIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQKKwkgICAgaWYgKHJlbGF4bmcgIT0gTlVMTCkKKwkJZW5kVGltZXIoIlBhcnNpbmcgYW5kIHZhbGlkYXRpbmciKTsKKwkgICAgZWxzZQorI2VuZGlmCisjaWZkZWYgTElCWE1MX1ZBTElEX0VOQUJMRUQKKwkgICAgaWYgKHZhbGlkKQorCQllbmRUaW1lcigiUGFyc2luZyBhbmQgdmFsaWRhdGluZyIpOworCSAgICBlbHNlCisjZW5kaWYKKwkgICAgZW5kVGltZXIoIlBhcnNpbmciKTsKKwl9CisKKyNpZmRlZiBMSUJYTUxfVkFMSURfRU5BQkxFRAorCWlmICh2YWxpZCkgeworCSAgICBpZiAoeG1sVGV4dFJlYWRlcklzVmFsaWQocmVhZGVyKSAhPSAxKSB7CisJCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkJIkRvY3VtZW50ICVzIGRvZXMgbm90IHZhbGlkYXRlXG4iLCBmaWxlbmFtZSk7CisJCXByb2dyZXN1bHQgPSBYTUxMSU5UX0VSUl9WQUxJRDsKKwkgICAgfQorCX0KKyNlbmRpZiAvKiBMSUJYTUxfVkFMSURfRU5BQkxFRCAqLworI2lmZGVmIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQKKwlpZiAoKHJlbGF4bmcgIT0gTlVMTCkgfHwgKHNjaGVtYSAhPSBOVUxMKSkgeworCSAgICBpZiAoeG1sVGV4dFJlYWRlcklzVmFsaWQocmVhZGVyKSAhPSAxKSB7CisJCWZwcmludGYoc3RkZXJyLCAiJXMgZmFpbHMgdG8gdmFsaWRhdGVcbiIsIGZpbGVuYW1lKTsKKwkJcHJvZ3Jlc3VsdCA9IFhNTExJTlRfRVJSX1ZBTElEOworCSAgICB9IGVsc2UgeworCQlmcHJpbnRmKHN0ZGVyciwgIiVzIHZhbGlkYXRlc1xuIiwgZmlsZW5hbWUpOworCSAgICB9CisJfQorI2VuZGlmCisJLyoKKwkgKiBEb25lLCBjbGVhbnVwIGFuZCBzdGF0dXMKKwkgKi8KKwl4bWxGcmVlVGV4dFJlYWRlcihyZWFkZXIpOworCWlmIChyZXQgIT0gMCkgeworCSAgICBmcHJpbnRmKHN0ZGVyciwgIiVzIDogZmFpbGVkIHRvIHBhcnNlXG4iLCBmaWxlbmFtZSk7CisJICAgIHByb2dyZXN1bHQgPSBYTUxMSU5UX0VSUl9VTkNMQVNTOworCX0KKyAgICB9IGVsc2UgeworCWZwcmludGYoc3RkZXJyLCAiVW5hYmxlIHRvIG9wZW4gJXNcbiIsIGZpbGVuYW1lKTsKKwlwcm9ncmVzdWx0ID0gWE1MTElOVF9FUlJfVU5DTEFTUzsKKyAgICB9CisjaWZkZWYgTElCWE1MX1BBVFRFUk5fRU5BQkxFRAorICAgIGlmIChwYXRzdHJlYW0gIT0gTlVMTCkgeworCXhtbEZyZWVTdHJlYW1DdHh0KHBhdHN0cmVhbSk7CisJcGF0c3RyZWFtID0gTlVMTDsKKyAgICB9CisjZW5kaWYKKyNpZmRlZiBIQVZFX01NQVAKKyAgICBpZiAobWVtb3J5KSB7CisgICAgICAgIHhtbEZyZWVQYXJzZXJJbnB1dEJ1ZmZlcihpbnB1dCk7CisJbXVubWFwKChjaGFyICopIGJhc2UsIGluZm8uc3Rfc2l6ZSk7CisJY2xvc2UoZmQpOworICAgIH0KKyNlbmRpZgorfQorCitzdGF0aWMgdm9pZCB3YWxrRG9jKHhtbERvY1B0ciBkb2MpIHsKKyAgICB4bWxUZXh0UmVhZGVyUHRyIHJlYWRlcjsKKyAgICBpbnQgcmV0OworCisjaWZkZWYgTElCWE1MX1BBVFRFUk5fRU5BQkxFRAorICAgIHhtbE5vZGVQdHIgcm9vdDsKKyAgICBjb25zdCB4bWxDaGFyICpuYW1lc3BhY2VzWzIyXTsKKyAgICBpbnQgaTsKKyAgICB4bWxOc1B0ciBuczsKKworICAgIHJvb3QgPSB4bWxEb2NHZXRSb290RWxlbWVudChkb2MpOworICAgIGZvciAobnMgPSByb290LT5uc0RlZiwgaSA9IDA7bnMgIT0gTlVMTCAmJiBpIDwgMjA7bnM9bnMtPm5leHQpIHsKKyAgICAgICAgbmFtZXNwYWNlc1tpKytdID0gbnMtPmhyZWY7CisgICAgICAgIG5hbWVzcGFjZXNbaSsrXSA9IG5zLT5wcmVmaXg7CisgICAgfQorICAgIG5hbWVzcGFjZXNbaSsrXSA9IE5VTEw7CisgICAgbmFtZXNwYWNlc1tpXSA9IE5VTEw7CisKKyAgICBpZiAocGF0dGVybiAhPSBOVUxMKSB7CisgICAgICAgIHBhdHRlcm5jID0geG1sUGF0dGVybmNvbXBpbGUoKGNvbnN0IHhtbENoYXIgKikgcGF0dGVybiwgZG9jLT5kaWN0LAorCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgJm5hbWVzcGFjZXNbMF0pOworCWlmIChwYXR0ZXJuYyA9PSBOVUxMKSB7CisJICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkgICAgIlBhdHRlcm4gJXMgZmFpbGVkIHRvIGNvbXBpbGVcbiIsIHBhdHRlcm4pOworICAgICAgICAgICAgcHJvZ3Jlc3VsdCA9IFhNTExJTlRfRVJSX1NDSEVNQVBBVDsKKwkgICAgcGF0dGVybiA9IE5VTEw7CisJfQorICAgIH0KKyAgICBpZiAocGF0dGVybmMgIT0gTlVMTCkgeworICAgICAgICBwYXRzdHJlYW0gPSB4bWxQYXR0ZXJuR2V0U3RyZWFtQ3R4dChwYXR0ZXJuYyk7CisJaWYgKHBhdHN0cmVhbSAhPSBOVUxMKSB7CisJICAgIHJldCA9IHhtbFN0cmVhbVB1c2gocGF0c3RyZWFtLCBOVUxMLCBOVUxMKTsKKwkgICAgaWYgKHJldCA8IDApIHsKKwkJZnByaW50ZihzdGRlcnIsICJ4bWxTdHJlYW1QdXNoKCkgZmFpbHVyZVxuIik7CisJCXhtbEZyZWVTdHJlYW1DdHh0KHBhdHN0cmVhbSk7CisJCXBhdHN0cmVhbSA9IE5VTEw7CisgICAgICAgICAgICB9CisJfQorICAgIH0KKyNlbmRpZiAvKiBMSUJYTUxfUEFUVEVSTl9FTkFCTEVEICovCisgICAgcmVhZGVyID0geG1sUmVhZGVyV2Fsa2VyKGRvYyk7CisgICAgaWYgKHJlYWRlciAhPSBOVUxMKSB7CisJaWYgKCh0aW1pbmcpICYmICghcmVwZWF0KSkgeworCSAgICBzdGFydFRpbWVyKCk7CisJfQorCXJldCA9IHhtbFRleHRSZWFkZXJSZWFkKHJlYWRlcik7CisJd2hpbGUgKHJldCA9PSAxKSB7CisJICAgIGlmICgoZGVidWcpCisjaWZkZWYgTElCWE1MX1BBVFRFUk5fRU5BQkxFRAorCSAgICAgICAgfHwgKHBhdHRlcm5jKQorI2VuZGlmCisJICAgICAgICkKKwkJcHJvY2Vzc05vZGUocmVhZGVyKTsKKwkgICAgcmV0ID0geG1sVGV4dFJlYWRlclJlYWQocmVhZGVyKTsKKwl9CisJaWYgKCh0aW1pbmcpICYmICghcmVwZWF0KSkgeworCSAgICBlbmRUaW1lcigid2Fsa2luZyB0aHJvdWdoIHRoZSBkb2MiKTsKKwl9CisJeG1sRnJlZVRleHRSZWFkZXIocmVhZGVyKTsKKwlpZiAocmV0ICE9IDApIHsKKwkgICAgZnByaW50ZihzdGRlcnIsICJmYWlsZWQgdG8gd2FsayB0aHJvdWdoIHRoZSBkb2NcbiIpOworCSAgICBwcm9ncmVzdWx0ID0gWE1MTElOVF9FUlJfVU5DTEFTUzsKKwl9CisgICAgfSBlbHNlIHsKKwlmcHJpbnRmKHN0ZGVyciwgIkZhaWxlZCB0byBjcmF0ZSBhIHJlYWRlciBmcm9tIHRoZSBkb2N1bWVudFxuIik7CisJcHJvZ3Jlc3VsdCA9IFhNTExJTlRfRVJSX1VOQ0xBU1M7CisgICAgfQorI2lmZGVmIExJQlhNTF9QQVRURVJOX0VOQUJMRUQKKyAgICBpZiAocGF0c3RyZWFtICE9IE5VTEwpIHsKKwl4bWxGcmVlU3RyZWFtQ3R4dChwYXRzdHJlYW0pOworCXBhdHN0cmVhbSA9IE5VTEw7CisgICAgfQorI2VuZGlmCit9CisjZW5kaWYgLyogTElCWE1MX1JFQURFUl9FTkFCTEVEICovCisKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJCVhQYXRoIFF1ZXJ5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworc3RhdGljIHZvaWQgZG9YUGF0aER1bXAoeG1sWFBhdGhPYmplY3RQdHIgY3VyKSB7CisgICAgc3dpdGNoKGN1ci0+dHlwZSkgeworICAgICAgICBjYXNlIFhQQVRIX05PREVTRVQ6IHsKKyAgICAgICAgICAgIGludCBpOworICAgICAgICAgICAgeG1sTm9kZVB0ciBub2RlOworI2lmZGVmIExJQlhNTF9PVVRQVVRfRU5BQkxFRAorICAgICAgICAgICAgeG1sU2F2ZUN0eHRQdHIgY3R4dDsKKworICAgICAgICAgICAgaWYgKChjdXItPm5vZGVzZXR2YWwgPT0gTlVMTCkgfHwgKGN1ci0+bm9kZXNldHZhbC0+bm9kZU5yIDw9IDApKSB7CisgICAgICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJYUGF0aCBzZXQgaXMgZW1wdHlcbiIpOworICAgICAgICAgICAgICAgIHByb2dyZXN1bHQgPSBYTUxMSU5UX0VSUl9YUEFUSDsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGN0eHQgPSB4bWxTYXZlVG9GZCgxLCBOVUxMLCAwKTsKKyAgICAgICAgICAgIGlmIChjdHh0ID09IE5VTEwpIHsKKyAgICAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIk91dCBvZiBtZW1vcnkgZm9yIFhQYXRoXG4iKTsKKyAgICAgICAgICAgICAgICBwcm9ncmVzdWx0ID0gWE1MTElOVF9FUlJfTUVNOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGZvciAoaSA9IDA7aSA8IGN1ci0+bm9kZXNldHZhbC0+bm9kZU5yO2krKykgeworICAgICAgICAgICAgICAgIG5vZGUgPSBjdXItPm5vZGVzZXR2YWwtPm5vZGVUYWJbaV07CisgICAgICAgICAgICAgICAgeG1sU2F2ZVRyZWUoY3R4dCwgbm9kZSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICB4bWxTYXZlQ2xvc2UoY3R4dCk7CisjZWxzZQorICAgICAgICAgICAgcHJpbnRmKCJ4cGF0aCByZXR1cm5lZCAlZCBub2Rlc1xuIiwgY3VyLT5ub2Rlc2V0dmFsLT5ub2RlTnIpOworI2VuZGlmCisJICAgIGJyZWFrOworICAgICAgICB9CisgICAgICAgIGNhc2UgWFBBVEhfQk9PTEVBTjoKKwkgICAgaWYgKGN1ci0+Ym9vbHZhbCkgcHJpbnRmKCJ0cnVlIik7CisJICAgIGVsc2UgcHJpbnRmKCJmYWxzZSIpOworCSAgICBicmVhazsKKyAgICAgICAgY2FzZSBYUEFUSF9OVU1CRVI6CisJICAgIHN3aXRjaCAoeG1sWFBhdGhJc0luZihjdXItPmZsb2F0dmFsKSkgeworCSAgICBjYXNlIDE6CisJCXByaW50ZigiSW5maW5pdHkiKTsKKwkJYnJlYWs7CisJICAgIGNhc2UgLTE6CisJCXByaW50ZigiLUluZmluaXR5Iik7CisJCWJyZWFrOworCSAgICBkZWZhdWx0OgorCQlpZiAoeG1sWFBhdGhJc05hTihjdXItPmZsb2F0dmFsKSkgeworCQkgICAgcHJpbnRmKCJOYU4iKTsKKwkJfSBlbHNlIHsKKwkJICAgIHByaW50ZigiJTBnIiwgY3VyLT5mbG9hdHZhbCk7CisJCX0KKwkgICAgfQorCSAgICBicmVhazsKKyAgICAgICAgY2FzZSBYUEFUSF9TVFJJTkc6CisJICAgIHByaW50ZigiJXMiLCAoY29uc3QgY2hhciAqKSBjdXItPnN0cmluZ3ZhbCk7CisJICAgIGJyZWFrOworICAgICAgICBjYXNlIFhQQVRIX1VOREVGSU5FRDoKKwkgICAgZnByaW50ZihzdGRlcnIsICJYUGF0aCBPYmplY3QgaXMgdW5pbml0aWFsaXplZFxuIik7CisgICAgICAgICAgICBwcm9ncmVzdWx0ID0gWE1MTElOVF9FUlJfWFBBVEg7CisJICAgIGJyZWFrOworCWRlZmF1bHQ6CisJICAgIGZwcmludGYoc3RkZXJyLCAiWFBhdGggb2JqZWN0IG9mIHVuZXhwZWN0ZWQgdHlwZVxuIik7CisgICAgICAgICAgICBwcm9ncmVzdWx0ID0gWE1MTElOVF9FUlJfWFBBVEg7CisJICAgIGJyZWFrOworICAgIH0KK30KKworc3RhdGljIHZvaWQgZG9YUGF0aFF1ZXJ5KHhtbERvY1B0ciBkb2MsIGNvbnN0IGNoYXIgKnF1ZXJ5KSB7CisgICAgeG1sWFBhdGhDb250ZXh0UHRyIGN0eHQ7CisgICAgeG1sWFBhdGhPYmplY3RQdHIgcmVzOworCisgICAgY3R4dCA9IHhtbFhQYXRoTmV3Q29udGV4dChkb2MpOworICAgIGlmIChjdHh0ID09IE5VTEwpIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJPdXQgb2YgbWVtb3J5IGZvciBYUGF0aFxuIik7CisgICAgICAgIHByb2dyZXN1bHQgPSBYTUxMSU5UX0VSUl9NRU07CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgY3R4dC0+bm9kZSA9ICh4bWxOb2RlUHRyKSBkb2M7CisgICAgcmVzID0geG1sWFBhdGhFdmFsKEJBRF9DQVNUIHF1ZXJ5LCBjdHh0KTsKKyAgICB4bWxYUGF0aEZyZWVDb250ZXh0KGN0eHQpOworCisgICAgaWYgKHJlcyA9PSBOVUxMKSB7CisgICAgICAgIGZwcmludGYoc3RkZXJyLCAiWFBhdGggZXZhbHVhdGlvbiBmYWlsdXJlXG4iKTsKKyAgICAgICAgcHJvZ3Jlc3VsdCA9IFhNTExJTlRfRVJSX1hQQVRIOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGRvWFBhdGhEdW1wKHJlcyk7CisgICAgeG1sWFBhdGhGcmVlT2JqZWN0KHJlcyk7Cit9CisjZW5kaWYgLyogTElCWE1MX1hQQVRIX0VOQUJMRUQgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJCVRyZWUgVGVzdCBwcm9jZXNzaW5nCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyB2b2lkIHBhcnNlQW5kUHJpbnRGaWxlKGNoYXIgKmZpbGVuYW1lLCB4bWxQYXJzZXJDdHh0UHRyIHJlY3R4dCkgeworICAgIHhtbERvY1B0ciBkb2MgPSBOVUxMOworI2lmZGVmIExJQlhNTF9UUkVFX0VOQUJMRUQKKyAgICB4bWxEb2NQdHIgdG1wOworI2VuZGlmIC8qIExJQlhNTF9UUkVFX0VOQUJMRUQgKi8KKworICAgIGlmICgodGltaW5nKSAmJiAoIXJlcGVhdCkpCisJc3RhcnRUaW1lcigpOworCisKKyNpZmRlZiBMSUJYTUxfVFJFRV9FTkFCTEVECisgICAgaWYgKGZpbGVuYW1lID09IE5VTEwpIHsKKwlpZiAoZ2VuZXJhdGUpIHsKKwkgICAgeG1sTm9kZVB0ciBuOworCisJICAgIGRvYyA9IHhtbE5ld0RvYyhCQURfQ0FTVCAiMS4wIik7CisJICAgIG4gPSB4bWxOZXdEb2NOb2RlKGRvYywgTlVMTCwgQkFEX0NBU1QgImluZm8iLCBOVUxMKTsKKwkgICAgeG1sTm9kZVNldENvbnRlbnQobiwgQkFEX0NBU1QgImFiYyIpOworCSAgICB4bWxEb2NTZXRSb290RWxlbWVudChkb2MsIG4pOworCX0KKyAgICB9CisjZW5kaWYgLyogTElCWE1MX1RSRUVfRU5BQkxFRCAqLworI2lmZGVmIExJQlhNTF9IVE1MX0VOQUJMRUQKKyNpZmRlZiBMSUJYTUxfUFVTSF9FTkFCTEVECisgICAgZWxzZSBpZiAoKGh0bWwpICYmIChwdXNoKSkgeworICAgICAgICBGSUxFICpmOworCisjaWYgZGVmaW5lZChfV0lOMzIpIHx8IGRlZmluZWQgKF9fREpHUFBfXykgJiYgIWRlZmluZWQgKF9fQ1lHV0lOX18pCisJZiA9IGZvcGVuKGZpbGVuYW1lLCAicmIiKTsKKyNlbGlmIGRlZmluZWQoX19PUzQwMF9fKQorCWYgPSBmb3BlbihmaWxlbmFtZSwgInJiIik7CisjZWxzZQorCWYgPSBmb3BlbihmaWxlbmFtZSwgInIiKTsKKyNlbmRpZgorICAgICAgICBpZiAoZiAhPSBOVUxMKSB7CisgICAgICAgICAgICBpbnQgcmVzOworICAgICAgICAgICAgY2hhciBjaGFyc1s0MDk2XTsKKyAgICAgICAgICAgIGh0bWxQYXJzZXJDdHh0UHRyIGN0eHQ7CisKKyAgICAgICAgICAgIHJlcyA9IGZyZWFkKGNoYXJzLCAxLCA0LCBmKTsKKyAgICAgICAgICAgIGlmIChyZXMgPiAwKSB7CisgICAgICAgICAgICAgICAgY3R4dCA9IGh0bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dChOVUxMLCBOVUxMLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXJzLCByZXMsIGZpbGVuYW1lLCBYTUxfQ0hBUl9FTkNPRElOR19OT05FKTsKKyAgICAgICAgICAgICAgICB4bWxDdHh0VXNlT3B0aW9ucyhjdHh0LCBvcHRpb25zKTsKKyAgICAgICAgICAgICAgICB3aGlsZSAoKHJlcyA9IGZyZWFkKGNoYXJzLCAxLCBwdXNoc2l6ZSwgZikpID4gMCkgeworICAgICAgICAgICAgICAgICAgICBodG1sUGFyc2VDaHVuayhjdHh0LCBjaGFycywgcmVzLCAwKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgaHRtbFBhcnNlQ2h1bmsoY3R4dCwgY2hhcnMsIDAsIDEpOworICAgICAgICAgICAgICAgIGRvYyA9IGN0eHQtPm15RG9jOworICAgICAgICAgICAgICAgIGh0bWxGcmVlUGFyc2VyQ3R4dChjdHh0KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGZjbG9zZShmKTsKKyAgICAgICAgfQorICAgIH0KKyNlbmRpZiAvKiBMSUJYTUxfUFVTSF9FTkFCTEVEICovCisjaWZkZWYgSEFWRV9NTUFQCisgICAgZWxzZSBpZiAoKGh0bWwpICYmIChtZW1vcnkpKSB7CisJaW50IGZkOworCXN0cnVjdCBzdGF0IGluZm87CisJY29uc3QgY2hhciAqYmFzZTsKKwlpZiAoc3RhdChmaWxlbmFtZSwgJmluZm8pIDwgMCkKKwkgICAgcmV0dXJuOworCWlmICgoZmQgPSBvcGVuKGZpbGVuYW1lLCBPX1JET05MWSkpIDwgMCkKKwkgICAgcmV0dXJuOworCWJhc2UgPSBtbWFwKE5VTEwsIGluZm8uc3Rfc2l6ZSwgUFJPVF9SRUFELCBNQVBfU0hBUkVELCBmZCwgMCkgOworCWlmIChiYXNlID09ICh2b2lkICopIE1BUF9GQUlMRUQpIHsKKwkgICAgY2xvc2UoZmQpOworCSAgICBmcHJpbnRmKHN0ZGVyciwgIm1tYXAgZmFpbHVyZSBmb3IgZmlsZSAlc1xuIiwgZmlsZW5hbWUpOworCSAgICBwcm9ncmVzdWx0ID0gWE1MTElOVF9FUlJfUkRGSUxFOworCSAgICByZXR1cm47CisJfQorCisJZG9jID0gaHRtbFJlYWRNZW1vcnkoKGNoYXIgKikgYmFzZSwgaW5mby5zdF9zaXplLCBmaWxlbmFtZSwKKwkgICAgICAgICAgICAgICAgICAgICBOVUxMLCBvcHRpb25zKTsKKworCW11bm1hcCgoY2hhciAqKSBiYXNlLCBpbmZvLnN0X3NpemUpOworCWNsb3NlKGZkKTsKKyAgICB9CisjZW5kaWYKKyAgICBlbHNlIGlmIChodG1sKSB7CisJZG9jID0gaHRtbFJlYWRGaWxlKGZpbGVuYW1lLCBOVUxMLCBvcHRpb25zKTsKKyAgICB9CisjZW5kaWYgLyogTElCWE1MX0hUTUxfRU5BQkxFRCAqLworICAgIGVsc2UgeworI2lmZGVmIExJQlhNTF9QVVNIX0VOQUJMRUQKKwkvKgorCSAqIGJ1aWxkIGFuIFhNTCB0cmVlIGZyb20gYSBzdHJpbmc7CisJICovCisJaWYgKHB1c2gpIHsKKwkgICAgRklMRSAqZjsKKworCSAgICAvKiAnLScgVXN1YWxseSBtZWFucyBzdGRpbiAtPHN2ZW5AemVuLm9yZz4gKi8KKwkgICAgaWYgKChmaWxlbmFtZVswXSA9PSAnLScpICYmIChmaWxlbmFtZVsxXSA9PSAwKSkgeworCSAgICAgIGYgPSBzdGRpbjsKKwkgICAgfSBlbHNlIHsKKyNpZiBkZWZpbmVkKF9XSU4zMikgfHwgZGVmaW5lZCAoX19ESkdQUF9fKSAmJiAhZGVmaW5lZCAoX19DWUdXSU5fXykKKwkJZiA9IGZvcGVuKGZpbGVuYW1lLCAicmIiKTsKKyNlbGlmIGRlZmluZWQoX19PUzQwMF9fKQorCQlmID0gZm9wZW4oZmlsZW5hbWUsICJyYiIpOworI2Vsc2UKKwkJZiA9IGZvcGVuKGZpbGVuYW1lLCAiciIpOworI2VuZGlmCisJICAgIH0KKwkgICAgaWYgKGYgIT0gTlVMTCkgeworCQlpbnQgcmV0OworCSAgICAgICAgaW50IHJlcywgc2l6ZSA9IDEwMjQ7CisJICAgICAgICBjaGFyIGNoYXJzWzEwMjRdOworICAgICAgICAgICAgICAgIHhtbFBhcnNlckN0eHRQdHIgY3R4dDsKKworCQkvKiBpZiAocmVwZWF0KSBzaXplID0gMTAyNDsgKi8KKwkJcmVzID0gZnJlYWQoY2hhcnMsIDEsIDQsIGYpOworCQlpZiAocmVzID4gMCkgeworCQkgICAgY3R4dCA9IHhtbENyZWF0ZVB1c2hQYXJzZXJDdHh0KE5VTEwsIE5VTEwsCisJCSAgICAgICAgICAgICAgICBjaGFycywgcmVzLCBmaWxlbmFtZSk7CisJCSAgICB4bWxDdHh0VXNlT3B0aW9ucyhjdHh0LCBvcHRpb25zKTsKKwkJICAgIHdoaWxlICgocmVzID0gZnJlYWQoY2hhcnMsIDEsIHNpemUsIGYpKSA+IDApIHsKKwkJCXhtbFBhcnNlQ2h1bmsoY3R4dCwgY2hhcnMsIHJlcywgMCk7CisJCSAgICB9CisJCSAgICB4bWxQYXJzZUNodW5rKGN0eHQsIGNoYXJzLCAwLCAxKTsKKwkJICAgIGRvYyA9IGN0eHQtPm15RG9jOworCQkgICAgcmV0ID0gY3R4dC0+d2VsbEZvcm1lZDsKKwkJICAgIHhtbEZyZWVQYXJzZXJDdHh0KGN0eHQpOworCQkgICAgaWYgKCFyZXQpIHsKKwkJCXhtbEZyZWVEb2MoZG9jKTsKKwkJCWRvYyA9IE5VTEw7CisJCSAgICB9CisJICAgICAgICB9CisgICAgICAgICAgICAgICAgaWYgKGYgIT0gc3RkaW4pCisgICAgICAgICAgICAgICAgICAgIGZjbG9zZShmKTsKKwkgICAgfQorCX0gZWxzZQorI2VuZGlmIC8qIExJQlhNTF9QVVNIX0VOQUJMRUQgKi8KKyAgICAgICAgaWYgKHRlc3RJTykgeworCSAgICBpZiAoKGZpbGVuYW1lWzBdID09ICctJykgJiYgKGZpbGVuYW1lWzFdID09IDApKSB7CisJICAgICAgICBkb2MgPSB4bWxSZWFkRmQoMCwgTlVMTCwgTlVMTCwgb3B0aW9ucyk7CisJICAgIH0gZWxzZSB7CisJICAgICAgICBGSUxFICpmOworCisjaWYgZGVmaW5lZChfV0lOMzIpIHx8IGRlZmluZWQgKF9fREpHUFBfXykgJiYgIWRlZmluZWQgKF9fQ1lHV0lOX18pCisJCWYgPSBmb3BlbihmaWxlbmFtZSwgInJiIik7CisjZWxpZiBkZWZpbmVkKF9fT1M0MDBfXykKKwkJZiA9IGZvcGVuKGZpbGVuYW1lLCAicmIiKTsKKyNlbHNlCisJCWYgPSBmb3BlbihmaWxlbmFtZSwgInIiKTsKKyNlbmRpZgorCQlpZiAoZiAhPSBOVUxMKSB7CisJCSAgICBpZiAocmVjdHh0ID09IE5VTEwpCisJCQlkb2MgPSB4bWxSZWFkSU8oKHhtbElucHV0UmVhZENhbGxiYWNrKSBteVJlYWQsCisJCQkJCSh4bWxJbnB1dENsb3NlQ2FsbGJhY2spIG15Q2xvc2UsIGYsCisJCQkJCWZpbGVuYW1lLCBOVUxMLCBvcHRpb25zKTsKKwkJICAgIGVsc2UKKwkJCWRvYyA9IHhtbEN0eHRSZWFkSU8ocmVjdHh0LAorCQkJICAgICAgICAgICAgICAgICh4bWxJbnB1dFJlYWRDYWxsYmFjaykgbXlSZWFkLAorCQkJCQkoeG1sSW5wdXRDbG9zZUNhbGxiYWNrKSBteUNsb3NlLCBmLAorCQkJCQlmaWxlbmFtZSwgTlVMTCwgb3B0aW9ucyk7CisJCX0gZWxzZQorCQkgICAgZG9jID0gTlVMTDsKKwkgICAgfQorCX0gZWxzZSBpZiAoaHRtbG91dCkgeworCSAgICB4bWxQYXJzZXJDdHh0UHRyIGN0eHQ7CisKKwkgICAgaWYgKHJlY3R4dCA9PSBOVUxMKQorCQljdHh0ID0geG1sTmV3UGFyc2VyQ3R4dCgpOworCSAgICBlbHNlCisJICAgICAgICBjdHh0ID0gcmVjdHh0OworCSAgICBpZiAoY3R4dCA9PSBOVUxMKSB7CisJICAgICAgICBkb2MgPSBOVUxMOworCSAgICB9IGVsc2UgeworCSAgICAgICAgY3R4dC0+c2F4LT5lcnJvciA9IHhtbEhUTUxFcnJvcjsKKwkgICAgICAgIGN0eHQtPnNheC0+d2FybmluZyA9IHhtbEhUTUxXYXJuaW5nOworCSAgICAgICAgY3R4dC0+dmN0eHQuZXJyb3IgPSB4bWxIVE1MVmFsaWRpdHlFcnJvcjsKKwkgICAgICAgIGN0eHQtPnZjdHh0Lndhcm5pbmcgPSB4bWxIVE1MVmFsaWRpdHlXYXJuaW5nOworCisJCWRvYyA9IHhtbEN0eHRSZWFkRmlsZShjdHh0LCBmaWxlbmFtZSwgTlVMTCwgb3B0aW9ucyk7CisKKwkJaWYgKHJlY3R4dCA9PSBOVUxMKQorCQkgICAgeG1sRnJlZVBhcnNlckN0eHQoY3R4dCk7CisJICAgIH0KKyNpZmRlZiBIQVZFX01NQVAKKwl9IGVsc2UgaWYgKG1lbW9yeSkgeworCSAgICBpbnQgZmQ7CisJICAgIHN0cnVjdCBzdGF0IGluZm87CisJICAgIGNvbnN0IGNoYXIgKmJhc2U7CisJICAgIGlmIChzdGF0KGZpbGVuYW1lLCAmaW5mbykgPCAwKQorCQlyZXR1cm47CisJICAgIGlmICgoZmQgPSBvcGVuKGZpbGVuYW1lLCBPX1JET05MWSkpIDwgMCkKKwkJcmV0dXJuOworCSAgICBiYXNlID0gbW1hcChOVUxMLCBpbmZvLnN0X3NpemUsIFBST1RfUkVBRCwgTUFQX1NIQVJFRCwgZmQsIDApIDsKKwkgICAgaWYgKGJhc2UgPT0gKHZvaWQgKikgTUFQX0ZBSUxFRCkgeworCSAgICAgICAgY2xvc2UoZmQpOworCSAgICAgICAgZnByaW50ZihzdGRlcnIsICJtbWFwIGZhaWx1cmUgZm9yIGZpbGUgJXNcbiIsIGZpbGVuYW1lKTsKKwkJcHJvZ3Jlc3VsdCA9IFhNTExJTlRfRVJSX1JERklMRTsKKwkgICAgICAgIHJldHVybjsKKwkgICAgfQorCisJICAgIGlmIChyZWN0eHQgPT0gTlVMTCkKKwkJZG9jID0geG1sUmVhZE1lbW9yeSgoY2hhciAqKSBiYXNlLCBpbmZvLnN0X3NpemUsCisJCSAgICAgICAgICAgICAgICAgICAgZmlsZW5hbWUsIE5VTEwsIG9wdGlvbnMpOworCSAgICBlbHNlCisJCWRvYyA9IHhtbEN0eHRSZWFkTWVtb3J5KHJlY3R4dCwgKGNoYXIgKikgYmFzZSwgaW5mby5zdF9zaXplLAorCQkJICAgICAgICAgICAgICAgIGZpbGVuYW1lLCBOVUxMLCBvcHRpb25zKTsKKworCSAgICBtdW5tYXAoKGNoYXIgKikgYmFzZSwgaW5mby5zdF9zaXplKTsKKwkgICAgY2xvc2UoZmQpOworI2VuZGlmCisjaWZkZWYgTElCWE1MX1ZBTElEX0VOQUJMRUQKKwl9IGVsc2UgaWYgKHZhbGlkKSB7CisJICAgIHhtbFBhcnNlckN0eHRQdHIgY3R4dCA9IE5VTEw7CisKKwkgICAgaWYgKHJlY3R4dCA9PSBOVUxMKQorCQljdHh0ID0geG1sTmV3UGFyc2VyQ3R4dCgpOworCSAgICBlbHNlCisJICAgICAgICBjdHh0ID0gcmVjdHh0OworCSAgICBpZiAoY3R4dCA9PSBOVUxMKSB7CisJICAgICAgICBkb2MgPSBOVUxMOworCSAgICB9IGVsc2UgeworCQlkb2MgPSB4bWxDdHh0UmVhZEZpbGUoY3R4dCwgZmlsZW5hbWUsIE5VTEwsIG9wdGlvbnMpOworCisJCWlmIChjdHh0LT52YWxpZCA9PSAwKQorCQkgICAgcHJvZ3Jlc3VsdCA9IFhNTExJTlRfRVJSX1JERklMRTsKKwkJaWYgKHJlY3R4dCA9PSBOVUxMKQorCQkgICAgeG1sRnJlZVBhcnNlckN0eHQoY3R4dCk7CisJICAgIH0KKyNlbmRpZiAvKiBMSUJYTUxfVkFMSURfRU5BQkxFRCAqLworCX0gZWxzZSB7CisJICAgIGlmIChyZWN0eHQgIT0gTlVMTCkKKwkgICAgICAgIGRvYyA9IHhtbEN0eHRSZWFkRmlsZShyZWN0eHQsIGZpbGVuYW1lLCBOVUxMLCBvcHRpb25zKTsKKwkgICAgZWxzZSB7CisjaWZkZWYgTElCWE1MX1NBWDFfRU5BQkxFRAorICAgICAgICAgICAgICAgIGlmIChzYXgxKQorCQkgICAgZG9jID0geG1sUGFyc2VGaWxlKGZpbGVuYW1lKTsKKwkJZWxzZQorI2VuZGlmIC8qIExJQlhNTF9TQVgxX0VOQUJMRUQgKi8KKwkJZG9jID0geG1sUmVhZEZpbGUoZmlsZW5hbWUsIE5VTEwsIG9wdGlvbnMpOworCSAgICB9CisJfQorICAgIH0KKworICAgIC8qCisgICAgICogSWYgd2UgZG9uJ3QgaGF2ZSBhIGRvY3VtZW50IHdlIG1pZ2h0IGFzIHdlbGwgZ2l2ZSB1cC4gIERvIHdlCisgICAgICogd2FudCBhbiBlcnJvciBtZXNzYWdlIGhlcmU/ICA8c3ZlbkB6ZW4ub3JnPiAqLworICAgIGlmIChkb2MgPT0gTlVMTCkgeworCXByb2dyZXN1bHQgPSBYTUxMSU5UX0VSUl9VTkNMQVNTOworCXJldHVybjsKKyAgICB9CisKKyAgICBpZiAoKHRpbWluZykgJiYgKCFyZXBlYXQpKSB7CisJZW5kVGltZXIoIlBhcnNpbmciKTsKKyAgICB9CisKKyAgICAvKgorICAgICAqIFJlbW92ZSBET0NUWVBFIG5vZGVzCisgICAgICovCisgICAgaWYgKGRyb3BkdGQpIHsKKwl4bWxEdGRQdHIgZHRkOworCisJZHRkID0geG1sR2V0SW50U3Vic2V0KGRvYyk7CisJaWYgKGR0ZCAhPSBOVUxMKSB7CisJICAgIHhtbFVubGlua05vZGUoKHhtbE5vZGVQdHIpZHRkKTsKKwkgICAgeG1sRnJlZUR0ZChkdGQpOworCX0KKyAgICB9CisKKyNpZmRlZiBMSUJYTUxfWElOQ0xVREVfRU5BQkxFRAorICAgIGlmICh4aW5jbHVkZSkgeworCWlmICgodGltaW5nKSAmJiAoIXJlcGVhdCkpIHsKKwkgICAgc3RhcnRUaW1lcigpOworCX0KKwlpZiAoeG1sWEluY2x1ZGVQcm9jZXNzRmxhZ3MoZG9jLCBvcHRpb25zKSA8IDApCisJICAgIHByb2dyZXN1bHQgPSBYTUxMSU5UX0VSUl9VTkNMQVNTOworCWlmICgodGltaW5nKSAmJiAoIXJlcGVhdCkpIHsKKwkgICAgZW5kVGltZXIoIlhpbmNsdWRlIHByb2Nlc3NpbmciKTsKKwl9CisgICAgfQorI2VuZGlmCisKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAorICAgIGlmICh4cGF0aHF1ZXJ5ICE9IE5VTEwpIHsKKyAgICAgICAgZG9YUGF0aFF1ZXJ5KGRvYywgeHBhdGhxdWVyeSk7CisgICAgfQorI2VuZGlmCisKKyNpZmRlZiBMSUJYTUxfREVCVUdfRU5BQkxFRAorI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECisgICAgLyoKKyAgICAgKiBzaGVsbCBpbnRlcmFjdGlvbgorICAgICAqLworICAgIGlmIChzaGVsbCkgeworICAgICAgICB4bWxYUGF0aE9yZGVyRG9jRWxlbXMoZG9jKTsKKyAgICAgICAgeG1sU2hlbGwoZG9jLCBmaWxlbmFtZSwgeG1sU2hlbGxSZWFkbGluZSwgc3Rkb3V0KTsKKyAgICB9CisjZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgTElCWE1MX1RSRUVfRU5BQkxFRAorICAgIC8qCisgICAgICogdGVzdCBpbnRlcm1lZGlhdGUgY29weSBpZiBuZWVkZWQuCisgICAgICovCisgICAgaWYgKGNvcHkpIHsKKyAgICAgICAgdG1wID0gZG9jOworCWlmICh0aW1pbmcpIHsKKwkgICAgc3RhcnRUaW1lcigpOworCX0KKwlkb2MgPSB4bWxDb3B5RG9jKGRvYywgMSk7CisJaWYgKHRpbWluZykgeworCSAgICBlbmRUaW1lcigiQ29weWluZyIpOworCX0KKwlpZiAodGltaW5nKSB7CisJICAgIHN0YXJ0VGltZXIoKTsKKwl9CisJeG1sRnJlZURvYyh0bXApOworCWlmICh0aW1pbmcpIHsKKwkgICAgZW5kVGltZXIoIkZyZWVpbmcgb3JpZ2luYWwiKTsKKwl9CisgICAgfQorI2VuZGlmIC8qIExJQlhNTF9UUkVFX0VOQUJMRUQgKi8KKworI2lmZGVmIExJQlhNTF9WQUxJRF9FTkFCTEVECisgICAgaWYgKChpbnNlcnQpICYmICghaHRtbCkpIHsKKyAgICAgICAgY29uc3QgeG1sQ2hhciogbGlzdFsyNTZdOworCWludCBuYiwgaTsKKwl4bWxOb2RlUHRyIG5vZGU7CisKKwlpZiAoZG9jLT5jaGlsZHJlbiAhPSBOVUxMKSB7CisJICAgIG5vZGUgPSBkb2MtPmNoaWxkcmVuOworCSAgICB3aGlsZSAoKG5vZGUgIT0gTlVMTCkgJiYgKG5vZGUtPmxhc3QgPT0gTlVMTCkpIG5vZGUgPSBub2RlLT5uZXh0OworCSAgICBpZiAobm9kZSAhPSBOVUxMKSB7CisJCW5iID0geG1sVmFsaWRHZXRWYWxpZEVsZW1lbnRzKG5vZGUtPmxhc3QsIE5VTEwsIGxpc3QsIDI1Nik7CisJCWlmIChuYiA8IDApIHsKKwkJICAgIGZwcmludGYoc3RkZXJyLCAiY291bGQgbm90IGdldCB2YWxpZCBsaXN0IG9mIGVsZW1lbnRzXG4iKTsKKwkJfSBlbHNlIGlmIChuYiA9PSAwKSB7CisJCSAgICBmcHJpbnRmKHN0ZGVyciwgIk5vIGVsZW1lbnQgY2FuIGJlIGluc2VydGVkIHVuZGVyIHJvb3RcbiIpOworCQl9IGVsc2UgeworCQkgICAgZnByaW50ZihzdGRlcnIsICIlZCBlbGVtZW50IHR5cGVzIGNhbiBiZSBpbnNlcnRlZCB1bmRlciByb290OlxuIiwKKwkJICAgICAgICAgICBuYik7CisJCSAgICBmb3IgKGkgPSAwO2kgPCBuYjtpKyspIHsKKwkJCSBmcHJpbnRmKHN0ZGVyciwgIiVzXG4iLCAoY2hhciAqKSBsaXN0W2ldKTsKKwkJICAgIH0KKwkJfQorCSAgICB9CisJfQorICAgIH1lbHNlCisjZW5kaWYgLyogTElCWE1MX1ZBTElEX0VOQUJMRUQgKi8KKyNpZmRlZiBMSUJYTUxfUkVBREVSX0VOQUJMRUQKKyAgICBpZiAod2Fsa2VyKSB7CisgICAgICAgIHdhbGtEb2MoZG9jKTsKKyAgICB9CisjZW5kaWYgLyogTElCWE1MX1JFQURFUl9FTkFCTEVEICovCisjaWZkZWYgTElCWE1MX09VVFBVVF9FTkFCTEVECisgICAgaWYgKG5vb3V0ID09IDApIHsKKyAgICAgICAgaW50IHJldDsKKworCS8qCisJICogcHJpbnQgaXQuCisJICovCisjaWZkZWYgTElCWE1MX0RFQlVHX0VOQUJMRUQKKwlpZiAoIWRlYnVnKSB7CisjZW5kaWYKKwkgICAgaWYgKCh0aW1pbmcpICYmICghcmVwZWF0KSkgeworCQlzdGFydFRpbWVyKCk7CisJICAgIH0KKyNpZmRlZiBMSUJYTUxfSFRNTF9FTkFCTEVECisgICAgICAgICAgICBpZiAoKGh0bWwpICYmICgheG1sb3V0KSkgeworCQlpZiAoY29tcHJlc3MpIHsKKwkJICAgIGh0bWxTYXZlRmlsZShvdXRwdXQgPyBvdXRwdXQgOiAiLSIsIGRvYyk7CisJCX0KKwkJZWxzZSBpZiAoZW5jb2RpbmcgIT0gTlVMTCkgeworCQkgICAgaWYgKGZvcm1hdCA9PSAxKSB7CisJCQlodG1sU2F2ZUZpbGVGb3JtYXQob3V0cHV0ID8gb3V0cHV0IDogIi0iLCBkb2MsIGVuY29kaW5nLCAxKTsKKwkJICAgIH0KKwkJICAgIGVsc2UgeworCQkJaHRtbFNhdmVGaWxlRm9ybWF0KG91dHB1dCA/IG91dHB1dCA6ICItIiwgZG9jLCBlbmNvZGluZywgMCk7CisJCSAgICB9CisJCX0KKwkJZWxzZSBpZiAoZm9ybWF0ID09IDEpIHsKKwkJICAgIGh0bWxTYXZlRmlsZUZvcm1hdChvdXRwdXQgPyBvdXRwdXQgOiAiLSIsIGRvYywgTlVMTCwgMSk7CisJCX0KKwkJZWxzZSB7CisJCSAgICBGSUxFICpvdXQ7CisJCSAgICBpZiAob3V0cHV0ID09IE5VTEwpCisJCQlvdXQgPSBzdGRvdXQ7CisJCSAgICBlbHNlIHsKKwkJCW91dCA9IGZvcGVuKG91dHB1dCwid2IiKTsKKwkJICAgIH0KKwkJICAgIGlmIChvdXQgIT0gTlVMTCkgeworCQkJaWYgKGh0bWxEb2NEdW1wKG91dCwgZG9jKSA8IDApCisJCQkgICAgcHJvZ3Jlc3VsdCA9IFhNTExJTlRfRVJSX09VVDsKKworCQkJaWYgKG91dHB1dCAhPSBOVUxMKQorCQkJICAgIGZjbG9zZShvdXQpOworCQkgICAgfSBlbHNlIHsKKwkJCWZwcmludGYoc3RkZXJyLCAiZmFpbGVkIHRvIG9wZW4gJXNcbiIsIG91dHB1dCk7CisJCQlwcm9ncmVzdWx0ID0gWE1MTElOVF9FUlJfT1VUOworCQkgICAgfQorCQl9CisJCWlmICgodGltaW5nKSAmJiAoIXJlcGVhdCkpIHsKKwkJICAgIGVuZFRpbWVyKCJTYXZpbmciKTsKKwkJfQorCSAgICB9IGVsc2UKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9DMTROX0VOQUJMRUQKKyAgICAgICAgICAgIGlmIChjYW5vbmljYWwpIHsKKwkgICAgICAgIHhtbENoYXIgKnJlc3VsdCA9IE5VTEw7CisJCWludCBzaXplOworCisJCXNpemUgPSB4bWxDMTRORG9jRHVtcE1lbW9yeShkb2MsIE5VTEwsIFhNTF9DMTROXzFfMCwgTlVMTCwgMSwgJnJlc3VsdCk7CisJCWlmIChzaXplID49IDApIHsKKwkJICAgIGlmICh3cml0ZSgxLCByZXN1bHQsIHNpemUpID09IC0xKSB7CisJCSAgICAgICAgZnByaW50ZihzdGRlcnIsICJDYW4ndCB3cml0ZSBkYXRhXG4iKTsKKwkJICAgIH0KKwkJICAgIHhtbEZyZWUocmVzdWx0KTsKKwkJfSBlbHNlIHsKKwkJICAgIGZwcmludGYoc3RkZXJyLCAiRmFpbGVkIHRvIGNhbm9uaWNhbGl6ZVxuIik7CisJCSAgICBwcm9ncmVzdWx0ID0gWE1MTElOVF9FUlJfT1VUOworCQl9CisJICAgIH0gZWxzZSBpZiAoY2Fub25pY2FsXzExKSB7CisJICAgICAgICB4bWxDaGFyICpyZXN1bHQgPSBOVUxMOworCQlpbnQgc2l6ZTsKKworCQlzaXplID0geG1sQzE0TkRvY0R1bXBNZW1vcnkoZG9jLCBOVUxMLCBYTUxfQzE0Tl8xXzEsIE5VTEwsIDEsICZyZXN1bHQpOworCQlpZiAoc2l6ZSA+PSAwKSB7CisJCSAgICBpZiAod3JpdGUoMSwgcmVzdWx0LCBzaXplKSA9PSAtMSkgeworCQkgICAgICAgIGZwcmludGYoc3RkZXJyLCAiQ2FuJ3Qgd3JpdGUgZGF0YVxuIik7CisJCSAgICB9CisJCSAgICB4bWxGcmVlKHJlc3VsdCk7CisJCX0gZWxzZSB7CisJCSAgICBmcHJpbnRmKHN0ZGVyciwgIkZhaWxlZCB0byBjYW5vbmljYWxpemVcbiIpOworCQkgICAgcHJvZ3Jlc3VsdCA9IFhNTExJTlRfRVJSX09VVDsKKwkJfQorCSAgICB9IGVsc2UKKyAgICAgICAgICAgIGlmIChleGNfY2Fub25pY2FsKSB7CisJICAgICAgICB4bWxDaGFyICpyZXN1bHQgPSBOVUxMOworCQlpbnQgc2l6ZTsKKworCQlzaXplID0geG1sQzE0TkRvY0R1bXBNZW1vcnkoZG9jLCBOVUxMLCBYTUxfQzE0Tl9FWENMVVNJVkVfMV8wLCBOVUxMLCAxLCAmcmVzdWx0KTsKKwkJaWYgKHNpemUgPj0gMCkgeworCQkgICAgaWYgKHdyaXRlKDEsIHJlc3VsdCwgc2l6ZSkgPT0gLTEpIHsKKwkJICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkNhbid0IHdyaXRlIGRhdGFcbiIpOworCQkgICAgfQorCQkgICAgeG1sRnJlZShyZXN1bHQpOworCQl9IGVsc2UgeworCQkgICAgZnByaW50ZihzdGRlcnIsICJGYWlsZWQgdG8gY2Fub25pY2FsaXplXG4iKTsKKwkJICAgIHByb2dyZXN1bHQgPSBYTUxMSU5UX0VSUl9PVVQ7CisJCX0KKwkgICAgfSBlbHNlCisjZW5kaWYKKyNpZmRlZiBIQVZFX01NQVAKKwkgICAgaWYgKG1lbW9yeSkgeworCQl4bWxDaGFyICpyZXN1bHQ7CisJCWludCBsZW47CisKKwkJaWYgKGVuY29kaW5nICE9IE5VTEwpIHsKKwkJICAgIGlmIChmb3JtYXQgPT0gMSkgeworCQkgICAgICAgIHhtbERvY0R1bXBGb3JtYXRNZW1vcnlFbmMoZG9jLCAmcmVzdWx0LCAmbGVuLCBlbmNvZGluZywgMSk7CisJCSAgICB9IGVsc2UgeworCQkJeG1sRG9jRHVtcE1lbW9yeUVuYyhkb2MsICZyZXN1bHQsICZsZW4sIGVuY29kaW5nKTsKKwkJICAgIH0KKwkJfSBlbHNlIHsKKwkJICAgIGlmIChmb3JtYXQgPT0gMSkKKwkJCXhtbERvY0R1bXBGb3JtYXRNZW1vcnkoZG9jLCAmcmVzdWx0LCAmbGVuLCAxKTsKKwkJICAgIGVsc2UKKwkJCXhtbERvY0R1bXBNZW1vcnkoZG9jLCAmcmVzdWx0LCAmbGVuKTsKKwkJfQorCQlpZiAocmVzdWx0ID09IE5VTEwpIHsKKwkJICAgIGZwcmludGYoc3RkZXJyLCAiRmFpbGVkIHRvIHNhdmVcbiIpOworCQkgICAgcHJvZ3Jlc3VsdCA9IFhNTExJTlRfRVJSX09VVDsKKwkJfSBlbHNlIHsKKwkJICAgIGlmICh3cml0ZSgxLCByZXN1bHQsIGxlbikgPT0gLTEpIHsKKwkJICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkNhbid0IHdyaXRlIGRhdGFcbiIpOworCQkgICAgfQorCQkgICAgeG1sRnJlZShyZXN1bHQpOworCQl9CisKKwkgICAgfSBlbHNlCisjZW5kaWYgLyogSEFWRV9NTUFQICovCisJICAgIGlmIChjb21wcmVzcykgeworCQl4bWxTYXZlRmlsZShvdXRwdXQgPyBvdXRwdXQgOiAiLSIsIGRvYyk7CisJICAgIH0gZWxzZSBpZiAob2xkb3V0KSB7CisJICAgICAgICBpZiAoZW5jb2RpbmcgIT0gTlVMTCkgeworCQkgICAgaWYgKGZvcm1hdCA9PSAxKSB7CisJCQlyZXQgPSB4bWxTYXZlRm9ybWF0RmlsZUVuYyhvdXRwdXQgPyBvdXRwdXQgOiAiLSIsIGRvYywKKwkJCQkJCSAgIGVuY29kaW5nLCAxKTsKKwkJICAgIH0KKwkJICAgIGVsc2UgeworCQkJcmV0ID0geG1sU2F2ZUZpbGVFbmMob3V0cHV0ID8gb3V0cHV0IDogIi0iLCBkb2MsCisJCQkgICAgICAgICAgICAgICAgICAgICBlbmNvZGluZyk7CisJCSAgICB9CisJCSAgICBpZiAocmV0IDwgMCkgeworCQkJZnByaW50ZihzdGRlcnIsICJmYWlsZWQgc2F2ZSB0byAlc1xuIiwKKwkJCQlvdXRwdXQgPyBvdXRwdXQgOiAiLSIpOworCQkJcHJvZ3Jlc3VsdCA9IFhNTExJTlRfRVJSX09VVDsKKwkJICAgIH0KKwkJfSBlbHNlIGlmIChmb3JtYXQgPT0gMSkgeworCQkgICAgcmV0ID0geG1sU2F2ZUZvcm1hdEZpbGUob3V0cHV0ID8gb3V0cHV0IDogIi0iLCBkb2MsIDEpOworCQkgICAgaWYgKHJldCA8IDApIHsKKwkJCWZwcmludGYoc3RkZXJyLCAiZmFpbGVkIHNhdmUgdG8gJXNcbiIsCisJCQkJb3V0cHV0ID8gb3V0cHV0IDogIi0iKTsKKwkJCXByb2dyZXN1bHQgPSBYTUxMSU5UX0VSUl9PVVQ7CisJCSAgICB9CisJCX0gZWxzZSB7CisJCSAgICBGSUxFICpvdXQ7CisJCSAgICBpZiAob3V0cHV0ID09IE5VTEwpCisJCQlvdXQgPSBzdGRvdXQ7CisJCSAgICBlbHNlIHsKKwkJCW91dCA9IGZvcGVuKG91dHB1dCwid2IiKTsKKwkJICAgIH0KKwkJICAgIGlmIChvdXQgIT0gTlVMTCkgeworCQkJaWYgKHhtbERvY0R1bXAob3V0LCBkb2MpIDwgMCkKKwkJCSAgICBwcm9ncmVzdWx0ID0gWE1MTElOVF9FUlJfT1VUOworCisJCQlpZiAob3V0cHV0ICE9IE5VTEwpCisJCQkgICAgZmNsb3NlKG91dCk7CisJCSAgICB9IGVsc2UgeworCQkJZnByaW50ZihzdGRlcnIsICJmYWlsZWQgdG8gb3BlbiAlc1xuIiwgb3V0cHV0KTsKKwkJCXByb2dyZXN1bHQgPSBYTUxMSU5UX0VSUl9PVVQ7CisJCSAgICB9CisJCX0KKwkgICAgfSBlbHNlIHsKKwkgICAgICAgIHhtbFNhdmVDdHh0UHRyIGN0eHQ7CisJCWludCBzYXZlT3B0cyA9IDA7CisKKyAgICAgICAgICAgICAgICBpZiAoZm9ybWF0ID09IDEpCisJCSAgICBzYXZlT3B0cyB8PSBYTUxfU0FWRV9GT1JNQVQ7CisgICAgICAgICAgICAgICAgZWxzZSBpZiAoZm9ybWF0ID09IDIpCisgICAgICAgICAgICAgICAgICAgIHNhdmVPcHRzIHw9IFhNTF9TQVZFX1dTTk9OU0lHOworCisjaWYgZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9WQUxJRF9FTkFCTEVEKQorICAgICAgICAgICAgICAgIGlmICh4bWxvdXQpCisgICAgICAgICAgICAgICAgICAgIHNhdmVPcHRzIHw9IFhNTF9TQVZFX0FTX1hNTDsKKyNlbmRpZgorCisJCWlmIChvdXRwdXQgPT0gTlVMTCkKKwkJICAgIGN0eHQgPSB4bWxTYXZlVG9GZCgxLCBlbmNvZGluZywgc2F2ZU9wdHMpOworCQllbHNlCisJCSAgICBjdHh0ID0geG1sU2F2ZVRvRmlsZW5hbWUob3V0cHV0LCBlbmNvZGluZywgc2F2ZU9wdHMpOworCisJCWlmIChjdHh0ICE9IE5VTEwpIHsKKwkJICAgIGlmICh4bWxTYXZlRG9jKGN0eHQsIGRvYykgPCAwKSB7CisJCQlmcHJpbnRmKHN0ZGVyciwgImZhaWxlZCBzYXZlIHRvICVzXG4iLAorCQkJCW91dHB1dCA/IG91dHB1dCA6ICItIik7CisJCQlwcm9ncmVzdWx0ID0gWE1MTElOVF9FUlJfT1VUOworCQkgICAgfQorCQkgICAgeG1sU2F2ZUNsb3NlKGN0eHQpOworCQl9IGVsc2UgeworCQkgICAgcHJvZ3Jlc3VsdCA9IFhNTExJTlRfRVJSX09VVDsKKwkJfQorCSAgICB9CisJICAgIGlmICgodGltaW5nKSAmJiAoIXJlcGVhdCkpIHsKKwkJZW5kVGltZXIoIlNhdmluZyIpOworCSAgICB9CisjaWZkZWYgTElCWE1MX0RFQlVHX0VOQUJMRUQKKwl9IGVsc2UgeworCSAgICBGSUxFICpvdXQ7CisJICAgIGlmIChvdXRwdXQgPT0gTlVMTCkKKwkgICAgICAgIG91dCA9IHN0ZG91dDsKKwkgICAgZWxzZSB7CisJCW91dCA9IGZvcGVuKG91dHB1dCwid2IiKTsKKwkgICAgfQorCSAgICBpZiAob3V0ICE9IE5VTEwpIHsKKwkJeG1sRGVidWdEdW1wRG9jdW1lbnQob3V0LCBkb2MpOworCisJCWlmIChvdXRwdXQgIT0gTlVMTCkKKwkJICAgIGZjbG9zZShvdXQpOworCSAgICB9IGVsc2UgeworCQlmcHJpbnRmKHN0ZGVyciwgImZhaWxlZCB0byBvcGVuICVzXG4iLCBvdXRwdXQpOworCQlwcm9ncmVzdWx0ID0gWE1MTElOVF9FUlJfT1VUOworCSAgICB9CisJfQorI2VuZGlmCisgICAgfQorI2VuZGlmIC8qIExJQlhNTF9PVVRQVVRfRU5BQkxFRCAqLworCisjaWZkZWYgTElCWE1MX1ZBTElEX0VOQUJMRUQKKyAgICAvKgorICAgICAqIEEgcG9zdGVyaW9yaSB2YWxpZGF0aW9uIHRlc3QKKyAgICAgKi8KKyAgICBpZiAoKGR0ZHZhbGlkICE9IE5VTEwpIHx8IChkdGR2YWxpZGZwaSAhPSBOVUxMKSkgeworCXhtbER0ZFB0ciBkdGQ7CisKKwlpZiAoKHRpbWluZykgJiYgKCFyZXBlYXQpKSB7CisJICAgIHN0YXJ0VGltZXIoKTsKKwl9CisJaWYgKGR0ZHZhbGlkICE9IE5VTEwpCisJICAgIGR0ZCA9IHhtbFBhcnNlRFREKE5VTEwsIChjb25zdCB4bWxDaGFyICopZHRkdmFsaWQpOworCWVsc2UKKwkgICAgZHRkID0geG1sUGFyc2VEVEQoKGNvbnN0IHhtbENoYXIgKilkdGR2YWxpZGZwaSwgTlVMTCk7CisJaWYgKCh0aW1pbmcpICYmICghcmVwZWF0KSkgeworCSAgICBlbmRUaW1lcigiUGFyc2luZyBEVEQiKTsKKwl9CisJaWYgKGR0ZCA9PSBOVUxMKSB7CisJICAgIGlmIChkdGR2YWxpZCAhPSBOVUxMKQorCQl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJCSJDb3VsZCBub3QgcGFyc2UgRFREICVzXG4iLCBkdGR2YWxpZCk7CisJICAgIGVsc2UKKwkJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCQkiQ291bGQgbm90IHBhcnNlIERURCAlc1xuIiwgZHRkdmFsaWRmcGkpOworCSAgICBwcm9ncmVzdWx0ID0gWE1MTElOVF9FUlJfRFREOworCX0gZWxzZSB7CisJICAgIHhtbFZhbGlkQ3R4dFB0ciBjdnA7CisKKwkgICAgaWYgKChjdnAgPSB4bWxOZXdWYWxpZEN0eHQoKSkgPT0gTlVMTCkgeworCQl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJCSJDb3VsZG4ndCBhbGxvY2F0ZSB2YWxpZGF0aW9uIGNvbnRleHRcbiIpOworCQlleGl0KC0xKTsKKwkgICAgfQorCSAgICBjdnAtPnVzZXJEYXRhID0gKHZvaWQgKikgc3RkZXJyOworCSAgICBjdnAtPmVycm9yICAgID0gKHhtbFZhbGlkaXR5RXJyb3JGdW5jKSBmcHJpbnRmOworCSAgICBjdnAtPndhcm5pbmcgID0gKHhtbFZhbGlkaXR5V2FybmluZ0Z1bmMpIGZwcmludGY7CisKKwkgICAgaWYgKCh0aW1pbmcpICYmICghcmVwZWF0KSkgeworCQlzdGFydFRpbWVyKCk7CisJICAgIH0KKwkgICAgaWYgKCF4bWxWYWxpZGF0ZUR0ZChjdnAsIGRvYywgZHRkKSkgeworCQlpZiAoZHRkdmFsaWQgIT0gTlVMTCkKKwkJICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkJICAgICJEb2N1bWVudCAlcyBkb2VzIG5vdCB2YWxpZGF0ZSBhZ2FpbnN0ICVzXG4iLAorCQkJICAgIGZpbGVuYW1lLCBkdGR2YWxpZCk7CisJCWVsc2UKKwkJICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkJICAgICJEb2N1bWVudCAlcyBkb2VzIG5vdCB2YWxpZGF0ZSBhZ2FpbnN0ICVzXG4iLAorCQkJICAgIGZpbGVuYW1lLCBkdGR2YWxpZGZwaSk7CisJCXByb2dyZXN1bHQgPSBYTUxMSU5UX0VSUl9WQUxJRDsKKwkgICAgfQorCSAgICBpZiAoKHRpbWluZykgJiYgKCFyZXBlYXQpKSB7CisJCWVuZFRpbWVyKCJWYWxpZGF0aW5nIGFnYWluc3QgRFREIik7CisJICAgIH0KKwkgICAgeG1sRnJlZVZhbGlkQ3R4dChjdnApOworCSAgICB4bWxGcmVlRHRkKGR0ZCk7CisJfQorICAgIH0gZWxzZSBpZiAocG9zdHZhbGlkKSB7CisJeG1sVmFsaWRDdHh0UHRyIGN2cDsKKworCWlmICgoY3ZwID0geG1sTmV3VmFsaWRDdHh0KCkpID09IE5VTEwpIHsKKwkgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSAgICAiQ291bGRuJ3QgYWxsb2NhdGUgdmFsaWRhdGlvbiBjb250ZXh0XG4iKTsKKwkgICAgZXhpdCgtMSk7CisJfQorCisJaWYgKCh0aW1pbmcpICYmICghcmVwZWF0KSkgeworCSAgICBzdGFydFRpbWVyKCk7CisJfQorCWN2cC0+dXNlckRhdGEgPSAodm9pZCAqKSBzdGRlcnI7CisJY3ZwLT5lcnJvciAgICA9ICh4bWxWYWxpZGl0eUVycm9yRnVuYykgZnByaW50ZjsKKwljdnAtPndhcm5pbmcgID0gKHhtbFZhbGlkaXR5V2FybmluZ0Z1bmMpIGZwcmludGY7CisJaWYgKCF4bWxWYWxpZGF0ZURvY3VtZW50KGN2cCwgZG9jKSkgeworCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJICAgICJEb2N1bWVudCAlcyBkb2VzIG5vdCB2YWxpZGF0ZVxuIiwgZmlsZW5hbWUpOworCSAgICBwcm9ncmVzdWx0ID0gWE1MTElOVF9FUlJfVkFMSUQ7CisJfQorCWlmICgodGltaW5nKSAmJiAoIXJlcGVhdCkpIHsKKwkgICAgZW5kVGltZXIoIlZhbGlkYXRpbmciKTsKKwl9CisJeG1sRnJlZVZhbGlkQ3R4dChjdnApOworICAgIH0KKyNlbmRpZiAvKiBMSUJYTUxfVkFMSURfRU5BQkxFRCAqLworI2lmZGVmIExJQlhNTF9TQ0hFTUFUUk9OX0VOQUJMRUQKKyAgICBpZiAod3hzY2hlbWF0cm9uICE9IE5VTEwpIHsKKwl4bWxTY2hlbWF0cm9uVmFsaWRDdHh0UHRyIGN0eHQ7CisJaW50IHJldDsKKwlpbnQgZmxhZzsKKworCWlmICgodGltaW5nKSAmJiAoIXJlcGVhdCkpIHsKKwkgICAgc3RhcnRUaW1lcigpOworCX0KKworCWlmIChkZWJ1ZykKKwkgICAgZmxhZyA9IFhNTF9TQ0hFTUFUUk9OX09VVF9YTUw7CisJZWxzZQorCSAgICBmbGFnID0gWE1MX1NDSEVNQVRST05fT1VUX1RFWFQ7CisJaWYgKG5vb3V0KQorCSAgICBmbGFnIHw9IFhNTF9TQ0hFTUFUUk9OX09VVF9RVUlFVDsKKwljdHh0ID0geG1sU2NoZW1hdHJvbk5ld1ZhbGlkQ3R4dCh3eHNjaGVtYXRyb24sIGZsYWcpOworI2lmIDAKKwl4bWxTY2hlbWF0cm9uU2V0VmFsaWRFcnJvcnMoY3R4dCwKKwkJKHhtbFNjaGVtYXRyb25WYWxpZGl0eUVycm9yRnVuYykgZnByaW50ZiwKKwkJKHhtbFNjaGVtYXRyb25WYWxpZGl0eVdhcm5pbmdGdW5jKSBmcHJpbnRmLAorCQlzdGRlcnIpOworI2VuZGlmCisJcmV0ID0geG1sU2NoZW1hdHJvblZhbGlkYXRlRG9jKGN0eHQsIGRvYyk7CisJaWYgKHJldCA9PSAwKSB7CisJICAgIGZwcmludGYoc3RkZXJyLCAiJXMgdmFsaWRhdGVzXG4iLCBmaWxlbmFtZSk7CisJfSBlbHNlIGlmIChyZXQgPiAwKSB7CisJICAgIGZwcmludGYoc3RkZXJyLCAiJXMgZmFpbHMgdG8gdmFsaWRhdGVcbiIsIGZpbGVuYW1lKTsKKwkgICAgcHJvZ3Jlc3VsdCA9IFhNTExJTlRfRVJSX1ZBTElEOworCX0gZWxzZSB7CisJICAgIGZwcmludGYoc3RkZXJyLCAiJXMgdmFsaWRhdGlvbiBnZW5lcmF0ZWQgYW4gaW50ZXJuYWwgZXJyb3JcbiIsCisJCSAgIGZpbGVuYW1lKTsKKwkgICAgcHJvZ3Jlc3VsdCA9IFhNTExJTlRfRVJSX1ZBTElEOworCX0KKwl4bWxTY2hlbWF0cm9uRnJlZVZhbGlkQ3R4dChjdHh0KTsKKwlpZiAoKHRpbWluZykgJiYgKCFyZXBlYXQpKSB7CisJICAgIGVuZFRpbWVyKCJWYWxpZGF0aW5nIik7CisJfQorICAgIH0KKyNlbmRpZgorI2lmZGVmIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQKKyAgICBpZiAocmVsYXhuZ3NjaGVtYXMgIT0gTlVMTCkgeworCXhtbFJlbGF4TkdWYWxpZEN0eHRQdHIgY3R4dDsKKwlpbnQgcmV0OworCisJaWYgKCh0aW1pbmcpICYmICghcmVwZWF0KSkgeworCSAgICBzdGFydFRpbWVyKCk7CisJfQorCisJY3R4dCA9IHhtbFJlbGF4TkdOZXdWYWxpZEN0eHQocmVsYXhuZ3NjaGVtYXMpOworCXhtbFJlbGF4TkdTZXRWYWxpZEVycm9ycyhjdHh0LAorCQkoeG1sUmVsYXhOR1ZhbGlkaXR5RXJyb3JGdW5jKSBmcHJpbnRmLAorCQkoeG1sUmVsYXhOR1ZhbGlkaXR5V2FybmluZ0Z1bmMpIGZwcmludGYsCisJCXN0ZGVycik7CisJcmV0ID0geG1sUmVsYXhOR1ZhbGlkYXRlRG9jKGN0eHQsIGRvYyk7CisJaWYgKHJldCA9PSAwKSB7CisJICAgIGZwcmludGYoc3RkZXJyLCAiJXMgdmFsaWRhdGVzXG4iLCBmaWxlbmFtZSk7CisJfSBlbHNlIGlmIChyZXQgPiAwKSB7CisJICAgIGZwcmludGYoc3RkZXJyLCAiJXMgZmFpbHMgdG8gdmFsaWRhdGVcbiIsIGZpbGVuYW1lKTsKKwkgICAgcHJvZ3Jlc3VsdCA9IFhNTExJTlRfRVJSX1ZBTElEOworCX0gZWxzZSB7CisJICAgIGZwcmludGYoc3RkZXJyLCAiJXMgdmFsaWRhdGlvbiBnZW5lcmF0ZWQgYW4gaW50ZXJuYWwgZXJyb3JcbiIsCisJCSAgIGZpbGVuYW1lKTsKKwkgICAgcHJvZ3Jlc3VsdCA9IFhNTExJTlRfRVJSX1ZBTElEOworCX0KKwl4bWxSZWxheE5HRnJlZVZhbGlkQ3R4dChjdHh0KTsKKwlpZiAoKHRpbWluZykgJiYgKCFyZXBlYXQpKSB7CisJICAgIGVuZFRpbWVyKCJWYWxpZGF0aW5nIik7CisJfQorICAgIH0gZWxzZSBpZiAod3hzY2hlbWFzICE9IE5VTEwpIHsKKwl4bWxTY2hlbWFWYWxpZEN0eHRQdHIgY3R4dDsKKwlpbnQgcmV0OworCisJaWYgKCh0aW1pbmcpICYmICghcmVwZWF0KSkgeworCSAgICBzdGFydFRpbWVyKCk7CisJfQorCisJY3R4dCA9IHhtbFNjaGVtYU5ld1ZhbGlkQ3R4dCh3eHNjaGVtYXMpOworCXhtbFNjaGVtYVNldFZhbGlkRXJyb3JzKGN0eHQsCisJCSh4bWxTY2hlbWFWYWxpZGl0eUVycm9yRnVuYykgZnByaW50ZiwKKwkJKHhtbFNjaGVtYVZhbGlkaXR5V2FybmluZ0Z1bmMpIGZwcmludGYsCisJCXN0ZGVycik7CisJcmV0ID0geG1sU2NoZW1hVmFsaWRhdGVEb2MoY3R4dCwgZG9jKTsKKwlpZiAocmV0ID09IDApIHsKKwkgICAgZnByaW50ZihzdGRlcnIsICIlcyB2YWxpZGF0ZXNcbiIsIGZpbGVuYW1lKTsKKwl9IGVsc2UgaWYgKHJldCA+IDApIHsKKwkgICAgZnByaW50ZihzdGRlcnIsICIlcyBmYWlscyB0byB2YWxpZGF0ZVxuIiwgZmlsZW5hbWUpOworCSAgICBwcm9ncmVzdWx0ID0gWE1MTElOVF9FUlJfVkFMSUQ7CisJfSBlbHNlIHsKKwkgICAgZnByaW50ZihzdGRlcnIsICIlcyB2YWxpZGF0aW9uIGdlbmVyYXRlZCBhbiBpbnRlcm5hbCBlcnJvclxuIiwKKwkJICAgZmlsZW5hbWUpOworCSAgICBwcm9ncmVzdWx0ID0gWE1MTElOVF9FUlJfVkFMSUQ7CisJfQorCXhtbFNjaGVtYUZyZWVWYWxpZEN0eHQoY3R4dCk7CisJaWYgKCh0aW1pbmcpICYmICghcmVwZWF0KSkgeworCSAgICBlbmRUaW1lcigiVmFsaWRhdGluZyIpOworCX0KKyAgICB9CisjZW5kaWYKKworI2lmZGVmIExJQlhNTF9ERUJVR19FTkFCTEVECisjaWYgZGVmaW5lZChMSUJYTUxfSFRNTF9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9WQUxJRF9FTkFCTEVEKQorICAgIGlmICgoZGVidWdlbnQpICYmICghaHRtbCkpCisJeG1sRGVidWdEdW1wRW50aXRpZXMoc3RkZXJyLCBkb2MpOworI2VuZGlmCisjZW5kaWYKKworICAgIC8qCisgICAgICogZnJlZSBpdC4KKyAgICAgKi8KKyAgICBpZiAoKHRpbWluZykgJiYgKCFyZXBlYXQpKSB7CisJc3RhcnRUaW1lcigpOworICAgIH0KKyAgICB4bWxGcmVlRG9jKGRvYyk7CisgICAgaWYgKCh0aW1pbmcpICYmICghcmVwZWF0KSkgeworCWVuZFRpbWVyKCJGcmVlaW5nIik7CisgICAgfQorfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQkJVXNhZ2UgYW5kIE1haW4JCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworc3RhdGljIHZvaWQgc2hvd1ZlcnNpb24oY29uc3QgY2hhciAqbmFtZSkgeworICAgIGZwcmludGYoc3RkZXJyLCAiJXM6IHVzaW5nIGxpYnhtbCB2ZXJzaW9uICVzXG4iLCBuYW1lLCB4bWxQYXJzZXJWZXJzaW9uKTsKKyAgICBmcHJpbnRmKHN0ZGVyciwgIiAgIGNvbXBpbGVkIHdpdGg6ICIpOworICAgIGlmICh4bWxIYXNGZWF0dXJlKFhNTF9XSVRIX1RIUkVBRCkpIGZwcmludGYoc3RkZXJyLCAiVGhyZWFkcyAiKTsKKyAgICBpZiAoeG1sSGFzRmVhdHVyZShYTUxfV0lUSF9UUkVFKSkgZnByaW50ZihzdGRlcnIsICJUcmVlICIpOworICAgIGlmICh4bWxIYXNGZWF0dXJlKFhNTF9XSVRIX09VVFBVVCkpIGZwcmludGYoc3RkZXJyLCAiT3V0cHV0ICIpOworICAgIGlmICh4bWxIYXNGZWF0dXJlKFhNTF9XSVRIX1BVU0gpKSBmcHJpbnRmKHN0ZGVyciwgIlB1c2ggIik7CisgICAgaWYgKHhtbEhhc0ZlYXR1cmUoWE1MX1dJVEhfUkVBREVSKSkgZnByaW50ZihzdGRlcnIsICJSZWFkZXIgIik7CisgICAgaWYgKHhtbEhhc0ZlYXR1cmUoWE1MX1dJVEhfUEFUVEVSTikpIGZwcmludGYoc3RkZXJyLCAiUGF0dGVybnMgIik7CisgICAgaWYgKHhtbEhhc0ZlYXR1cmUoWE1MX1dJVEhfV1JJVEVSKSkgZnByaW50ZihzdGRlcnIsICJXcml0ZXIgIik7CisgICAgaWYgKHhtbEhhc0ZlYXR1cmUoWE1MX1dJVEhfU0FYMSkpIGZwcmludGYoc3RkZXJyLCAiU0FYdjEgIik7CisgICAgaWYgKHhtbEhhc0ZlYXR1cmUoWE1MX1dJVEhfRlRQKSkgZnByaW50ZihzdGRlcnIsICJGVFAgIik7CisgICAgaWYgKHhtbEhhc0ZlYXR1cmUoWE1MX1dJVEhfSFRUUCkpIGZwcmludGYoc3RkZXJyLCAiSFRUUCAiKTsKKyAgICBpZiAoeG1sSGFzRmVhdHVyZShYTUxfV0lUSF9WQUxJRCkpIGZwcmludGYoc3RkZXJyLCAiRFREVmFsaWQgIik7CisgICAgaWYgKHhtbEhhc0ZlYXR1cmUoWE1MX1dJVEhfSFRNTCkpIGZwcmludGYoc3RkZXJyLCAiSFRNTCAiKTsKKyAgICBpZiAoeG1sSGFzRmVhdHVyZShYTUxfV0lUSF9MRUdBQ1kpKSBmcHJpbnRmKHN0ZGVyciwgIkxlZ2FjeSAiKTsKKyAgICBpZiAoeG1sSGFzRmVhdHVyZShYTUxfV0lUSF9DMTROKSkgZnByaW50ZihzdGRlcnIsICJDMTROICIpOworICAgIGlmICh4bWxIYXNGZWF0dXJlKFhNTF9XSVRIX0NBVEFMT0cpKSBmcHJpbnRmKHN0ZGVyciwgIkNhdGFsb2cgIik7CisgICAgaWYgKHhtbEhhc0ZlYXR1cmUoWE1MX1dJVEhfWFBBVEgpKSBmcHJpbnRmKHN0ZGVyciwgIlhQYXRoICIpOworICAgIGlmICh4bWxIYXNGZWF0dXJlKFhNTF9XSVRIX1hQVFIpKSBmcHJpbnRmKHN0ZGVyciwgIlhQb2ludGVyICIpOworICAgIGlmICh4bWxIYXNGZWF0dXJlKFhNTF9XSVRIX1hJTkNMVURFKSkgZnByaW50ZihzdGRlcnIsICJYSW5jbHVkZSAiKTsKKyAgICBpZiAoeG1sSGFzRmVhdHVyZShYTUxfV0lUSF9JQ09OVikpIGZwcmludGYoc3RkZXJyLCAiSWNvbnYgIik7CisgICAgaWYgKHhtbEhhc0ZlYXR1cmUoWE1MX1dJVEhfSVNPODg1OVgpKSBmcHJpbnRmKHN0ZGVyciwgIklTTzg4NTlYICIpOworICAgIGlmICh4bWxIYXNGZWF0dXJlKFhNTF9XSVRIX1VOSUNPREUpKSBmcHJpbnRmKHN0ZGVyciwgIlVuaWNvZGUgIik7CisgICAgaWYgKHhtbEhhc0ZlYXR1cmUoWE1MX1dJVEhfUkVHRVhQKSkgZnByaW50ZihzdGRlcnIsICJSZWdleHBzICIpOworICAgIGlmICh4bWxIYXNGZWF0dXJlKFhNTF9XSVRIX0FVVE9NQVRBKSkgZnByaW50ZihzdGRlcnIsICJBdXRvbWF0YSAiKTsKKyAgICBpZiAoeG1sSGFzRmVhdHVyZShYTUxfV0lUSF9FWFBSKSkgZnByaW50ZihzdGRlcnIsICJFeHByICIpOworICAgIGlmICh4bWxIYXNGZWF0dXJlKFhNTF9XSVRIX1NDSEVNQVMpKSBmcHJpbnRmKHN0ZGVyciwgIlNjaGVtYXMgIik7CisgICAgaWYgKHhtbEhhc0ZlYXR1cmUoWE1MX1dJVEhfU0NIRU1BVFJPTikpIGZwcmludGYoc3RkZXJyLCAiU2NoZW1hdHJvbiAiKTsKKyAgICBpZiAoeG1sSGFzRmVhdHVyZShYTUxfV0lUSF9NT0RVTEVTKSkgZnByaW50ZihzdGRlcnIsICJNb2R1bGVzICIpOworICAgIGlmICh4bWxIYXNGZWF0dXJlKFhNTF9XSVRIX0RFQlVHKSkgZnByaW50ZihzdGRlcnIsICJEZWJ1ZyAiKTsKKyAgICBpZiAoeG1sSGFzRmVhdHVyZShYTUxfV0lUSF9ERUJVR19NRU0pKSBmcHJpbnRmKHN0ZGVyciwgIk1lbURlYnVnICIpOworICAgIGlmICh4bWxIYXNGZWF0dXJlKFhNTF9XSVRIX0RFQlVHX1JVTikpIGZwcmludGYoc3RkZXJyLCAiUnVuRGVidWcgIik7CisgICAgaWYgKHhtbEhhc0ZlYXR1cmUoWE1MX1dJVEhfWkxJQikpIGZwcmludGYoc3RkZXJyLCAiWmxpYiAiKTsKKyAgICBpZiAoeG1sSGFzRmVhdHVyZShYTUxfV0lUSF9MWk1BKSkgZnByaW50ZihzdGRlcnIsICJMem1hICIpOworICAgIGZwcmludGYoc3RkZXJyLCAiXG4iKTsKK30KKworc3RhdGljIHZvaWQgdXNhZ2UoY29uc3QgY2hhciAqbmFtZSkgeworICAgIHByaW50ZigiVXNhZ2UgOiAlcyBbb3B0aW9uc10gWE1MZmlsZXMgLi4uXG4iLCBuYW1lKTsKKyNpZmRlZiBMSUJYTUxfT1VUUFVUX0VOQUJMRUQKKyAgICBwcmludGYoIlx0UGFyc2UgdGhlIFhNTCBmaWxlcyBhbmQgb3V0cHV0IHRoZSByZXN1bHQgb2YgdGhlIHBhcnNpbmdcbiIpOworI2Vsc2UKKyAgICBwcmludGYoIlx0UGFyc2UgdGhlIFhNTCBmaWxlc1xuIik7CisjZW5kaWYgLyogTElCWE1MX09VVFBVVF9FTkFCTEVEICovCisgICAgcHJpbnRmKCJcdC0tdmVyc2lvbiA6IGRpc3BsYXkgdGhlIHZlcnNpb24gb2YgdGhlIFhNTCBsaWJyYXJ5IHVzZWRcbiIpOworI2lmZGVmIExJQlhNTF9ERUJVR19FTkFCTEVECisgICAgcHJpbnRmKCJcdC0tZGVidWcgOiBkdW1wIGEgZGVidWcgdHJlZSBvZiB0aGUgaW4tbWVtb3J5IGRvY3VtZW50XG4iKTsKKyAgICBwcmludGYoIlx0LS1zaGVsbCA6IHJ1biBhIG5hdmlnYXRpbmcgc2hlbGxcbiIpOworICAgIHByaW50ZigiXHQtLWRlYnVnZW50IDogZGVidWcgdGhlIGVudGl0aWVzIGRlZmluZWQgaW4gdGhlIGRvY3VtZW50XG4iKTsKKyNlbHNlCisjaWZkZWYgTElCWE1MX1JFQURFUl9FTkFCTEVECisgICAgcHJpbnRmKCJcdC0tZGVidWcgOiBkdW1wIHRoZSBub2RlcyBjb250ZW50IHdoZW4gdXNpbmcgLS1zdHJlYW1cbiIpOworI2VuZGlmIC8qIExJQlhNTF9SRUFERVJfRU5BQkxFRCAqLworI2VuZGlmCisjaWZkZWYgTElCWE1MX1RSRUVfRU5BQkxFRAorICAgIHByaW50ZigiXHQtLWNvcHkgOiB1c2VkIHRvIHRlc3QgdGhlIGludGVybmFsIGNvcHkgaW1wbGVtZW50YXRpb25cbiIpOworI2VuZGlmIC8qIExJQlhNTF9UUkVFX0VOQUJMRUQgKi8KKyAgICBwcmludGYoIlx0LS1yZWNvdmVyIDogb3V0cHV0IHdoYXQgd2FzIHBhcnNhYmxlIG9uIGJyb2tlbiBYTUwgZG9jdW1lbnRzXG4iKTsKKyAgICBwcmludGYoIlx0LS1odWdlIDogcmVtb3ZlIGFueSBpbnRlcm5hbCBhcmJpdHJhcnkgcGFyc2VyIGxpbWl0c1xuIik7CisgICAgcHJpbnRmKCJcdC0tbm9lbnQgOiBzdWJzdGl0dXRlIGVudGl0eSByZWZlcmVuY2VzIGJ5IHRoZWlyIHZhbHVlXG4iKTsKKyAgICBwcmludGYoIlx0LS1ub2VuYyA6IGlnbm9yZSBhbnkgZW5jb2Rpbmcgc3BlY2lmaWVkIGluc2lkZSB0aGUgZG9jdW1lbnRcbiIpOworICAgIHByaW50ZigiXHQtLW5vb3V0IDogZG9uJ3Qgb3V0cHV0IHRoZSByZXN1bHQgdHJlZVxuIik7CisgICAgcHJpbnRmKCJcdC0tcGF0aCAncGF0aHMnOiBwcm92aWRlIGEgc2V0IG9mIHBhdGhzIGZvciByZXNvdXJjZXNcbiIpOworICAgIHByaW50ZigiXHQtLWxvYWQtdHJhY2UgOiBwcmludCB0cmFjZSBvZiBhbGwgZXh0ZXJuYWwgZW50aXRpZXMgbG9hZGVkXG4iKTsKKyAgICBwcmludGYoIlx0LS1ub25ldCA6IHJlZnVzZSB0byBmZXRjaCBEVERzIG9yIGVudGl0aWVzIG92ZXIgbmV0d29ya1xuIik7CisgICAgcHJpbnRmKCJcdC0tbm9jb21wYWN0IDogZG8gbm90IGdlbmVyYXRlIGNvbXBhY3QgdGV4dCBub2Rlc1xuIik7CisgICAgcHJpbnRmKCJcdC0taHRtbG91dCA6IG91dHB1dCByZXN1bHRzIGFzIEhUTUxcbiIpOworICAgIHByaW50ZigiXHQtLW5vd3JhcCA6IGRvIG5vdCBwdXQgSFRNTCBkb2Mgd3JhcHBlclxuIik7CisjaWZkZWYgTElCWE1MX1ZBTElEX0VOQUJMRUQKKyAgICBwcmludGYoIlx0LS12YWxpZCA6IHZhbGlkYXRlIHRoZSBkb2N1bWVudCBpbiBhZGRpdGlvbiB0byBzdGQgd2VsbC1mb3JtZWQgY2hlY2tcbiIpOworICAgIHByaW50ZigiXHQtLXBvc3R2YWxpZCA6IGRvIGEgcG9zdGVyaW9yaSB2YWxpZGF0aW9uLCBpLmUgYWZ0ZXIgcGFyc2luZ1xuIik7CisgICAgcHJpbnRmKCJcdC0tZHRkdmFsaWQgVVJMIDogZG8gYSBwb3N0ZXJpb3JpIHZhbGlkYXRpb24gYWdhaW5zdCBhIGdpdmVuIERURFxuIik7CisgICAgcHJpbnRmKCJcdC0tZHRkdmFsaWRmcGkgRlBJIDogc2FtZSBidXQgbmFtZSB0aGUgRFREIHdpdGggYSBQdWJsaWMgSWRlbnRpZmllclxuIik7CisjZW5kaWYgLyogTElCWE1MX1ZBTElEX0VOQUJMRUQgKi8KKyAgICBwcmludGYoIlx0LS10aW1pbmcgOiBwcmludCBzb21lIHRpbWluZ3NcbiIpOworICAgIHByaW50ZigiXHQtLW91dHB1dCBmaWxlIG9yIC1vIGZpbGU6IHNhdmUgdG8gYSBnaXZlbiBmaWxlXG4iKTsKKyAgICBwcmludGYoIlx0LS1yZXBlYXQgOiByZXBlYXQgMTAwIHRpbWVzLCBmb3IgdGltaW5nIG9yIHByb2ZpbGluZ1xuIik7CisgICAgcHJpbnRmKCJcdC0taW5zZXJ0IDogYWQtaG9jIHRlc3QgZm9yIHZhbGlkIGluc2VydGlvbnNcbiIpOworI2lmZGVmIExJQlhNTF9PVVRQVVRfRU5BQkxFRAorI2lmZGVmIEhBVkVfWkxJQl9ICisgICAgcHJpbnRmKCJcdC0tY29tcHJlc3MgOiB0dXJuIG9uIGd6aXAgY29tcHJlc3Npb24gb2Ygb3V0cHV0XG4iKTsKKyNlbmRpZgorI2VuZGlmIC8qIExJQlhNTF9PVVRQVVRfRU5BQkxFRCAqLworI2lmZGVmIExJQlhNTF9IVE1MX0VOQUJMRUQKKyAgICBwcmludGYoIlx0LS1odG1sIDogdXNlIHRoZSBIVE1MIHBhcnNlclxuIik7CisgICAgcHJpbnRmKCJcdC0teG1sb3V0IDogZm9yY2UgdG8gdXNlIHRoZSBYTUwgc2VyaWFsaXplciB3aGVuIHVzaW5nIC0taHRtbFxuIik7CisgICAgcHJpbnRmKCJcdC0tbm9kZWZkdGQgOiBkbyBub3QgZGVmYXVsdCBIVE1MIGRvY3R5cGVcbiIpOworI2VuZGlmCisjaWZkZWYgTElCWE1MX1BVU0hfRU5BQkxFRAorICAgIHByaW50ZigiXHQtLXB1c2ggOiB1c2UgdGhlIHB1c2ggbW9kZSBvZiB0aGUgcGFyc2VyXG4iKTsKKyAgICBwcmludGYoIlx0LS1wdXNoc21hbGwgOiB1c2UgdGhlIHB1c2ggbW9kZSBvZiB0aGUgcGFyc2VyIHVzaW5nIHRpbnkgaW5jcmVtZW50c1xuIik7CisjZW5kaWYgLyogTElCWE1MX1BVU0hfRU5BQkxFRCAqLworI2lmZGVmIEhBVkVfTU1BUAorICAgIHByaW50ZigiXHQtLW1lbW9yeSA6IHBhcnNlIGZyb20gbWVtb3J5XG4iKTsKKyNlbmRpZgorICAgIHByaW50ZigiXHQtLW1heG1lbSBuYmJ5dGVzIDogbGltaXRzIG1lbW9yeSBhbGxvY2F0aW9uIHRvIG5iYnl0ZXMgYnl0ZXNcbiIpOworICAgIHByaW50ZigiXHQtLW5vd2FybmluZyA6IGRvIG5vdCBlbWl0IHdhcm5pbmdzIGZyb20gcGFyc2VyL3ZhbGlkYXRvclxuIik7CisgICAgcHJpbnRmKCJcdC0tbm9ibGFua3MgOiBkcm9wIChpZ25vcmFibGU/KSBibGFua3Mgc3BhY2VzXG4iKTsKKyAgICBwcmludGYoIlx0LS1ub2NkYXRhIDogcmVwbGFjZSBjZGF0YSBzZWN0aW9uIHdpdGggdGV4dCBub2Rlc1xuIik7CisjaWZkZWYgTElCWE1MX09VVFBVVF9FTkFCTEVECisgICAgcHJpbnRmKCJcdC0tZm9ybWF0IDogcmVmb3JtYXQvcmVpbmRlbnQgdGhlIGlucHV0XG4iKTsKKyAgICBwcmludGYoIlx0LS1lbmNvZGUgZW5jb2RpbmcgOiBvdXRwdXQgaW4gdGhlIGdpdmVuIGVuY29kaW5nXG4iKTsKKyAgICBwcmludGYoIlx0LS1kcm9wZHRkIDogcmVtb3ZlIHRoZSBET0NUWVBFIG9mIHRoZSBpbnB1dCBkb2NzXG4iKTsKKyAgICBwcmludGYoIlx0LS1wcmV0dHkgU1RZTEUgOiBwcmV0dHktcHJpbnQgaW4gYSBwYXJ0aWN1bGFyIHN0eWxlXG4iKTsKKyAgICBwcmludGYoIlx0ICAgICAgICAgICAgICAgICAwIERvIG5vdCBwcmV0dHkgcHJpbnRcbiIpOworICAgIHByaW50ZigiXHQgICAgICAgICAgICAgICAgIDEgRm9ybWF0IHRoZSBYTUwgY29udGVudCwgYXMgLS1mb3JtYXRcbiIpOworICAgIHByaW50ZigiXHQgICAgICAgICAgICAgICAgIDIgQWRkIHdoaXRlc3BhY2UgaW5zaWRlIHRhZ3MsIHByZXNlcnZpbmcgY29udGVudFxuIik7CisjZW5kaWYgLyogTElCWE1MX09VVFBVVF9FTkFCTEVEICovCisgICAgcHJpbnRmKCJcdC0tYzE0biA6IHNhdmUgaW4gVzNDIGNhbm9uaWNhbCBmb3JtYXQgdjEuMCAod2l0aCBjb21tZW50cylcbiIpOworICAgIHByaW50ZigiXHQtLWMxNG4xMSA6IHNhdmUgaW4gVzNDIGNhbm9uaWNhbCBmb3JtYXQgdjEuMSAod2l0aCBjb21tZW50cylcbiIpOworICAgIHByaW50ZigiXHQtLWV4Yy1jMTRuIDogc2F2ZSBpbiBXM0MgZXhjbHVzaXZlIGNhbm9uaWNhbCBmb3JtYXQgKHdpdGggY29tbWVudHMpXG4iKTsKKyNpZmRlZiBMSUJYTUxfQzE0Tl9FTkFCTEVECisjZW5kaWYgLyogTElCWE1MX0MxNE5fRU5BQkxFRCAqLworICAgIHByaW50ZigiXHQtLW5zY2xlYW4gOiByZW1vdmUgcmVkdW5kYW50IG5hbWVzcGFjZSBkZWNsYXJhdGlvbnNcbiIpOworICAgIHByaW50ZigiXHQtLXRlc3RJTyA6IHRlc3QgdXNlciBJL08gc3VwcG9ydFxuIik7CisjaWZkZWYgTElCWE1MX0NBVEFMT0dfRU5BQkxFRAorICAgIHByaW50ZigiXHQtLWNhdGFsb2dzIDogdXNlIFNHTUwgY2F0YWxvZ3MgZnJvbSAkU0dNTF9DQVRBTE9HX0ZJTEVTXG4iKTsKKyAgICBwcmludGYoIlx0ICAgICAgICAgICAgIG90aGVyd2lzZSBYTUwgQ2F0YWxvZ3Mgc3RhcnRpbmcgZnJvbSBcbiIpOworICAgIHByaW50ZigiXHQgICAgICAgICAlcyBhcmUgYWN0aXZhdGVkIGJ5IGRlZmF1bHRcbiIsIFhNTF9YTUxfREVGQVVMVF9DQVRBTE9HKTsKKyAgICBwcmludGYoIlx0LS1ub2NhdGFsb2dzOiBkZWFjdGl2YXRlIGFsbCBjYXRhbG9nc1xuIik7CisjZW5kaWYKKyAgICBwcmludGYoIlx0LS1hdXRvIDogZ2VuZXJhdGUgYSBzbWFsbCBkb2Mgb24gdGhlIGZseVxuIik7CisjaWZkZWYgTElCWE1MX1hJTkNMVURFX0VOQUJMRUQKKyAgICBwcmludGYoIlx0LS14aW5jbHVkZSA6IGRvIFhJbmNsdWRlIHByb2Nlc3NpbmdcbiIpOworICAgIHByaW50ZigiXHQtLW5veGluY2x1ZGVub2RlIDogc2FtZSBidXQgZG8gbm90IGdlbmVyYXRlIFhJbmNsdWRlIG5vZGVzXG4iKTsKKyAgICBwcmludGYoIlx0LS1ub2ZpeHVwLWJhc2UtdXJpcyA6IGRvIG5vdCBmaXh1cCB4bWw6YmFzZSB1cmlzXG4iKTsKKyNlbmRpZgorICAgIHByaW50ZigiXHQtLWxvYWRkdGQgOiBmZXRjaCBleHRlcm5hbCBEVERcbiIpOworICAgIHByaW50ZigiXHQtLWR0ZGF0dHIgOiBsb2FkZHRkICsgcG9wdWxhdGUgdGhlIHRyZWUgd2l0aCBpbmhlcml0ZWQgYXR0cmlidXRlcyBcbiIpOworI2lmZGVmIExJQlhNTF9SRUFERVJfRU5BQkxFRAorICAgIHByaW50ZigiXHQtLXN0cmVhbSA6IHVzZSB0aGUgc3RyZWFtaW5nIGludGVyZmFjZSB0byBwcm9jZXNzIHZlcnkgbGFyZ2UgZmlsZXNcbiIpOworICAgIHByaW50ZigiXHQtLXdhbGtlciA6IGNyZWF0ZSBhIHJlYWRlciBhbmQgd2FsayB0aG91Z2ggdGhlIHJlc3VsdGluZyBkb2NcbiIpOworI2VuZGlmIC8qIExJQlhNTF9SRUFERVJfRU5BQkxFRCAqLworI2lmZGVmIExJQlhNTF9QQVRURVJOX0VOQUJMRUQKKyAgICBwcmludGYoIlx0LS1wYXR0ZXJuIHBhdHRlcm5fdmFsdWUgOiB0ZXN0IHRoZSBwYXR0ZXJuIHN1cHBvcnRcbiIpOworI2VuZGlmCisgICAgcHJpbnRmKCJcdC0tY2hrcmVnaXN0ZXIgOiB2ZXJpZnkgdGhlIG5vZGUgcmVnaXN0cmF0aW9uIGNvZGVcbiIpOworI2lmZGVmIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQKKyAgICBwcmludGYoIlx0LS1yZWxheG5nIHNjaGVtYSA6IGRvIFJlbGF4TkcgdmFsaWRhdGlvbiBhZ2FpbnN0IHRoZSBzY2hlbWFcbiIpOworICAgIHByaW50ZigiXHQtLXNjaGVtYSBzY2hlbWEgOiBkbyB2YWxpZGF0aW9uIGFnYWluc3QgdGhlIFdYUyBzY2hlbWFcbiIpOworI2VuZGlmCisjaWZkZWYgTElCWE1MX1NDSEVNQVRST05fRU5BQkxFRAorICAgIHByaW50ZigiXHQtLXNjaGVtYXRyb24gc2NoZW1hIDogZG8gdmFsaWRhdGlvbiBhZ2FpbnN0IGEgc2NoZW1hdHJvblxuIik7CisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfU0FYMV9FTkFCTEVECisgICAgcHJpbnRmKCJcdC0tc2F4MTogdXNlIHRoZSBvbGQgU0FYMSBpbnRlcmZhY2VzIGZvciBwcm9jZXNzaW5nXG4iKTsKKyNlbmRpZgorICAgIHByaW50ZigiXHQtLXNheDogZG8gbm90IGJ1aWxkIGEgdHJlZSBidXQgd29yayBqdXN0IGF0IHRoZSBTQVggbGV2ZWxcbiIpOworICAgIHByaW50ZigiXHQtLW9sZHhtbDEwOiB1c2UgWE1MLTEuMCBwYXJzaW5nIHJ1bGVzIGJlZm9yZSB0aGUgNXRoIGVkaXRpb25cbiIpOworI2lmZGVmIExJQlhNTF9YUEFUSF9FTkFCTEVECisgICAgcHJpbnRmKCJcdC0teHBhdGggZXhwcjogZXZhbHVhdGUgdGhlIFhQYXRoIGV4cHJlc3Npb24sIGltcGx5IC0tbm9vdXRcbiIpOworI2VuZGlmCisKKyAgICBwcmludGYoIlxuTGlieG1sIHByb2plY3QgaG9tZSBwYWdlOiBodHRwOi8veG1sc29mdC5vcmcvXG4iKTsKKyAgICBwcmludGYoIlRvIHJlcG9ydCBidWdzIG9yIGdldCBzb21lIGhlbHAgY2hlY2s6IGh0dHA6Ly94bWxzb2Z0Lm9yZy9idWdzLmh0bWxcbiIpOworfQorCitzdGF0aWMgdm9pZCByZWdpc3Rlck5vZGUoeG1sTm9kZVB0ciBub2RlKQoreworICAgIG5vZGUtPl9wcml2YXRlID0gbWFsbG9jKHNpemVvZihsb25nKSk7CisgICAgaWYgKG5vZGUtPl9wcml2YXRlID09IE5VTEwpIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJPdXQgb2YgbWVtb3J5IGluIHhtbGxpbnQ6cmVnaXN0ZXJOb2RlKClcbiIpOworCWV4aXQoWE1MTElOVF9FUlJfTUVNKTsKKyAgICB9CisgICAgKihsb25nKilub2RlLT5fcHJpdmF0ZSA9IChsb25nKSAweDgxNzI2MzU0OworICAgIG5icmVnaXN0ZXIrKzsKK30KKworc3RhdGljIHZvaWQgZGVyZWdpc3Rlck5vZGUoeG1sTm9kZVB0ciBub2RlKQoreworICAgIGFzc2VydChub2RlLT5fcHJpdmF0ZSAhPSBOVUxMKTsKKyAgICBhc3NlcnQoKihsb25nKilub2RlLT5fcHJpdmF0ZSA9PSAobG9uZykgMHg4MTcyNjM1NCk7CisgICAgZnJlZShub2RlLT5fcHJpdmF0ZSk7CisgICAgbmJyZWdpc3Rlci0tOworfQorCitpbnQKK21haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CisgICAgaW50IGksIGFjb3VudDsKKyAgICBpbnQgZmlsZXMgPSAwOworICAgIGludCB2ZXJzaW9uID0gMDsKKyAgICBjb25zdCBjaGFyKiBpbmRlbnQ7CisKKyAgICBpZiAoYXJnYyA8PSAxKSB7CisJdXNhZ2UoYXJndlswXSk7CisJcmV0dXJuKDEpOworICAgIH0KKyAgICBMSUJYTUxfVEVTVF9WRVJTSU9OCisgICAgZm9yIChpID0gMTsgaSA8IGFyZ2MgOyBpKyspIHsKKwlpZiAoIXN0cmNtcChhcmd2W2ldLCAiLSIpKQorCSAgICBicmVhazsKKworCWlmIChhcmd2W2ldWzBdICE9ICctJykKKwkgICAgY29udGludWU7CisJaWYgKCghc3RyY21wKGFyZ3ZbaV0sICItZGVidWciKSkgfHwgKCFzdHJjbXAoYXJndltpXSwgIi0tZGVidWciKSkpCisJICAgIGRlYnVnKys7CisJZWxzZQorI2lmZGVmIExJQlhNTF9ERUJVR19FTkFCTEVECisJaWYgKCghc3RyY21wKGFyZ3ZbaV0sICItc2hlbGwiKSkgfHwKKwkgICAgICAgICAoIXN0cmNtcChhcmd2W2ldLCAiLS1zaGVsbCIpKSkgeworCSAgICBzaGVsbCsrOworICAgICAgICAgICAgbm9vdXQgPSAxOworICAgICAgICB9IGVsc2UKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9UUkVFX0VOQUJMRUQKKwlpZiAoKCFzdHJjbXAoYXJndltpXSwgIi1jb3B5IikpIHx8ICghc3RyY21wKGFyZ3ZbaV0sICItLWNvcHkiKSkpCisJICAgIGNvcHkrKzsKKwllbHNlCisjZW5kaWYgLyogTElCWE1MX1RSRUVfRU5BQkxFRCAqLworCWlmICgoIXN0cmNtcChhcmd2W2ldLCAiLXJlY292ZXIiKSkgfHwKKwkgICAgICAgICAoIXN0cmNtcChhcmd2W2ldLCAiLS1yZWNvdmVyIikpKSB7CisJICAgIHJlY292ZXJ5Kys7CisJICAgIG9wdGlvbnMgfD0gWE1MX1BBUlNFX1JFQ09WRVI7CisJfSBlbHNlIGlmICgoIXN0cmNtcChhcmd2W2ldLCAiLWh1Z2UiKSkgfHwKKwkgICAgICAgICAoIXN0cmNtcChhcmd2W2ldLCAiLS1odWdlIikpKSB7CisJICAgIG9wdGlvbnMgfD0gWE1MX1BBUlNFX0hVR0U7CisJfSBlbHNlIGlmICgoIXN0cmNtcChhcmd2W2ldLCAiLW5vZW50IikpIHx8CisJICAgICAgICAgKCFzdHJjbXAoYXJndltpXSwgIi0tbm9lbnQiKSkpIHsKKwkgICAgbm9lbnQrKzsKKwkgICAgb3B0aW9ucyB8PSBYTUxfUEFSU0VfTk9FTlQ7CisJfSBlbHNlIGlmICgoIXN0cmNtcChhcmd2W2ldLCAiLW5vZW5jIikpIHx8CisJICAgICAgICAgKCFzdHJjbXAoYXJndltpXSwgIi0tbm9lbmMiKSkpIHsKKwkgICAgbm9lbmMrKzsKKwkgICAgb3B0aW9ucyB8PSBYTUxfUEFSU0VfSUdOT1JFX0VOQzsKKwl9IGVsc2UgaWYgKCghc3RyY21wKGFyZ3ZbaV0sICItbnNjbGVhbiIpKSB8fAorCSAgICAgICAgICghc3RyY21wKGFyZ3ZbaV0sICItLW5zY2xlYW4iKSkpIHsKKwkgICAgb3B0aW9ucyB8PSBYTUxfUEFSU0VfTlNDTEVBTjsKKwl9IGVsc2UgaWYgKCghc3RyY21wKGFyZ3ZbaV0sICItbm9jZGF0YSIpKSB8fAorCSAgICAgICAgICghc3RyY21wKGFyZ3ZbaV0sICItLW5vY2RhdGEiKSkpIHsKKwkgICAgb3B0aW9ucyB8PSBYTUxfUEFSU0VfTk9DREFUQTsKKwl9IGVsc2UgaWYgKCghc3RyY21wKGFyZ3ZbaV0sICItbm9kaWN0IikpIHx8CisJICAgICAgICAgKCFzdHJjbXAoYXJndltpXSwgIi0tbm9kaWN0IikpKSB7CisJICAgIG9wdGlvbnMgfD0gWE1MX1BBUlNFX05PRElDVDsKKwl9IGVsc2UgaWYgKCghc3RyY21wKGFyZ3ZbaV0sICItdmVyc2lvbiIpKSB8fAorCSAgICAgICAgICghc3RyY21wKGFyZ3ZbaV0sICItLXZlcnNpb24iKSkpIHsKKwkgICAgc2hvd1ZlcnNpb24oYXJndlswXSk7CisJICAgIHZlcnNpb24gPSAxOworCX0gZWxzZSBpZiAoKCFzdHJjbXAoYXJndltpXSwgIi1ub291dCIpKSB8fAorCSAgICAgICAgICghc3RyY21wKGFyZ3ZbaV0sICItLW5vb3V0IikpKQorCSAgICBub291dCsrOworI2lmZGVmIExJQlhNTF9PVVRQVVRfRU5BQkxFRAorCWVsc2UgaWYgKCghc3RyY21wKGFyZ3ZbaV0sICItbyIpKSB8fAorCSAgICAgICAgICghc3RyY21wKGFyZ3ZbaV0sICItb3V0cHV0IikpIHx8CisJICAgICAgICAgKCFzdHJjbXAoYXJndltpXSwgIi0tb3V0cHV0IikpKSB7CisJICAgIGkrKzsKKwkgICAgb3V0cHV0ID0gYXJndltpXTsKKwl9CisjZW5kaWYgLyogTElCWE1MX09VVFBVVF9FTkFCTEVEICovCisJZWxzZSBpZiAoKCFzdHJjbXAoYXJndltpXSwgIi1odG1sb3V0IikpIHx8CisJICAgICAgICAgKCFzdHJjbXAoYXJndltpXSwgIi0taHRtbG91dCIpKSkKKwkgICAgaHRtbG91dCsrOworCWVsc2UgaWYgKCghc3RyY21wKGFyZ3ZbaV0sICItbm93cmFwIikpIHx8CisJICAgICAgICAgKCFzdHJjbXAoYXJndltpXSwgIi0tbm93cmFwIikpKQorCSAgICBub3dyYXArKzsKKyNpZmRlZiBMSUJYTUxfSFRNTF9FTkFCTEVECisJZWxzZSBpZiAoKCFzdHJjbXAoYXJndltpXSwgIi1odG1sIikpIHx8CisJICAgICAgICAgKCFzdHJjbXAoYXJndltpXSwgIi0taHRtbCIpKSkgeworCSAgICBodG1sKys7CisgICAgICAgIH0KKwllbHNlIGlmICgoIXN0cmNtcChhcmd2W2ldLCAiLXhtbG91dCIpKSB8fAorCSAgICAgICAgICghc3RyY21wKGFyZ3ZbaV0sICItLXhtbG91dCIpKSkgeworCSAgICB4bWxvdXQrKzsKKwl9IGVsc2UgaWYgKCghc3RyY21wKGFyZ3ZbaV0sICItbm9kZWZkdGQiKSkgfHwKKwkgICAgICAgICAoIXN0cmNtcChhcmd2W2ldLCAiLS1ub2RlZmR0ZCIpKSkgeworICAgICAgICAgICAgbm9kZWZkdGQrKzsKKwkgICAgb3B0aW9ucyB8PSBIVE1MX1BBUlNFX05PREVGRFREOworICAgICAgICB9CisjZW5kaWYgLyogTElCWE1MX0hUTUxfRU5BQkxFRCAqLworCWVsc2UgaWYgKCghc3RyY21wKGFyZ3ZbaV0sICItbG9hZGR0ZCIpKSB8fAorCSAgICAgICAgICghc3RyY21wKGFyZ3ZbaV0sICItLWxvYWRkdGQiKSkpIHsKKwkgICAgbG9hZGR0ZCsrOworCSAgICBvcHRpb25zIHw9IFhNTF9QQVJTRV9EVERMT0FEOworCX0gZWxzZSBpZiAoKCFzdHJjbXAoYXJndltpXSwgIi1kdGRhdHRyIikpIHx8CisJICAgICAgICAgKCFzdHJjbXAoYXJndltpXSwgIi0tZHRkYXR0ciIpKSkgeworCSAgICBsb2FkZHRkKys7CisJICAgIGR0ZGF0dHJzKys7CisJICAgIG9wdGlvbnMgfD0gWE1MX1BBUlNFX0RUREFUVFI7CisJfQorI2lmZGVmIExJQlhNTF9WQUxJRF9FTkFCTEVECisJZWxzZSBpZiAoKCFzdHJjbXAoYXJndltpXSwgIi12YWxpZCIpKSB8fAorCSAgICAgICAgICghc3RyY21wKGFyZ3ZbaV0sICItLXZhbGlkIikpKSB7CisJICAgIHZhbGlkKys7CisJICAgIG9wdGlvbnMgfD0gWE1MX1BBUlNFX0RURFZBTElEOworCX0gZWxzZSBpZiAoKCFzdHJjbXAoYXJndltpXSwgIi1wb3N0dmFsaWQiKSkgfHwKKwkgICAgICAgICAoIXN0cmNtcChhcmd2W2ldLCAiLS1wb3N0dmFsaWQiKSkpIHsKKwkgICAgcG9zdHZhbGlkKys7CisJICAgIGxvYWRkdGQrKzsKKwkgICAgb3B0aW9ucyB8PSBYTUxfUEFSU0VfRFRETE9BRDsKKwl9IGVsc2UgaWYgKCghc3RyY21wKGFyZ3ZbaV0sICItZHRkdmFsaWQiKSkgfHwKKwkgICAgICAgICAoIXN0cmNtcChhcmd2W2ldLCAiLS1kdGR2YWxpZCIpKSkgeworCSAgICBpKys7CisJICAgIGR0ZHZhbGlkID0gYXJndltpXTsKKwkgICAgbG9hZGR0ZCsrOworCSAgICBvcHRpb25zIHw9IFhNTF9QQVJTRV9EVERMT0FEOworCX0gZWxzZSBpZiAoKCFzdHJjbXAoYXJndltpXSwgIi1kdGR2YWxpZGZwaSIpKSB8fAorCSAgICAgICAgICghc3RyY21wKGFyZ3ZbaV0sICItLWR0ZHZhbGlkZnBpIikpKSB7CisJICAgIGkrKzsKKwkgICAgZHRkdmFsaWRmcGkgPSBhcmd2W2ldOworCSAgICBsb2FkZHRkKys7CisJICAgIG9wdGlvbnMgfD0gWE1MX1BBUlNFX0RURExPQUQ7CisgICAgICAgIH0KKyNlbmRpZiAvKiBMSUJYTUxfVkFMSURfRU5BQkxFRCAqLworCWVsc2UgaWYgKCghc3RyY21wKGFyZ3ZbaV0sICItZHJvcGR0ZCIpKSB8fAorCSAgICAgICAgICghc3RyY21wKGFyZ3ZbaV0sICItLWRyb3BkdGQiKSkpCisJICAgIGRyb3BkdGQrKzsKKwllbHNlIGlmICgoIXN0cmNtcChhcmd2W2ldLCAiLWluc2VydCIpKSB8fAorCSAgICAgICAgICghc3RyY21wKGFyZ3ZbaV0sICItLWluc2VydCIpKSkKKwkgICAgaW5zZXJ0Kys7CisJZWxzZSBpZiAoKCFzdHJjbXAoYXJndltpXSwgIi10aW1pbmciKSkgfHwKKwkgICAgICAgICAoIXN0cmNtcChhcmd2W2ldLCAiLS10aW1pbmciKSkpCisJICAgIHRpbWluZysrOworCWVsc2UgaWYgKCghc3RyY21wKGFyZ3ZbaV0sICItYXV0byIpKSB8fAorCSAgICAgICAgICghc3RyY21wKGFyZ3ZbaV0sICItLWF1dG8iKSkpCisJICAgIGdlbmVyYXRlKys7CisJZWxzZSBpZiAoKCFzdHJjbXAoYXJndltpXSwgIi1yZXBlYXQiKSkgfHwKKwkgICAgICAgICAoIXN0cmNtcChhcmd2W2ldLCAiLS1yZXBlYXQiKSkpIHsKKwkgICAgaWYgKHJlcGVhdCkKKwkgICAgICAgIHJlcGVhdCAqPSAxMDsKKwkgICAgZWxzZQorCSAgICAgICAgcmVwZWF0ID0gMTAwOworCX0KKyNpZmRlZiBMSUJYTUxfUFVTSF9FTkFCTEVECisJZWxzZSBpZiAoKCFzdHJjbXAoYXJndltpXSwgIi1wdXNoIikpIHx8CisJICAgICAgICAgKCFzdHJjbXAoYXJndltpXSwgIi0tcHVzaCIpKSkKKwkgICAgcHVzaCsrOworCWVsc2UgaWYgKCghc3RyY21wKGFyZ3ZbaV0sICItcHVzaHNtYWxsIikpIHx8CisJICAgICAgICAgKCFzdHJjbXAoYXJndltpXSwgIi0tcHVzaHNtYWxsIikpKSB7CisJICAgIHB1c2grKzsKKyAgICAgICAgICAgIHB1c2hzaXplID0gMTA7CisgICAgICAgIH0KKyNlbmRpZiAvKiBMSUJYTUxfUFVTSF9FTkFCTEVEICovCisjaWZkZWYgSEFWRV9NTUFQCisJZWxzZSBpZiAoKCFzdHJjbXAoYXJndltpXSwgIi1tZW1vcnkiKSkgfHwKKwkgICAgICAgICAoIXN0cmNtcChhcmd2W2ldLCAiLS1tZW1vcnkiKSkpCisJICAgIG1lbW9yeSsrOworI2VuZGlmCisJZWxzZSBpZiAoKCFzdHJjbXAoYXJndltpXSwgIi10ZXN0SU8iKSkgfHwKKwkgICAgICAgICAoIXN0cmNtcChhcmd2W2ldLCAiLS10ZXN0SU8iKSkpCisJICAgIHRlc3RJTysrOworI2lmZGVmIExJQlhNTF9YSU5DTFVERV9FTkFCTEVECisJZWxzZSBpZiAoKCFzdHJjbXAoYXJndltpXSwgIi14aW5jbHVkZSIpKSB8fAorCSAgICAgICAgICghc3RyY21wKGFyZ3ZbaV0sICItLXhpbmNsdWRlIikpKSB7CisJICAgIHhpbmNsdWRlKys7CisJICAgIG9wdGlvbnMgfD0gWE1MX1BBUlNFX1hJTkNMVURFOworCX0KKwllbHNlIGlmICgoIXN0cmNtcChhcmd2W2ldLCAiLW5veGluY2x1ZGVub2RlIikpIHx8CisJICAgICAgICAgKCFzdHJjbXAoYXJndltpXSwgIi0tbm94aW5jbHVkZW5vZGUiKSkpIHsKKwkgICAgeGluY2x1ZGUrKzsKKwkgICAgb3B0aW9ucyB8PSBYTUxfUEFSU0VfWElOQ0xVREU7CisJICAgIG9wdGlvbnMgfD0gWE1MX1BBUlNFX05PWElOQ05PREU7CisJfQorCWVsc2UgaWYgKCghc3RyY21wKGFyZ3ZbaV0sICItbm9maXh1cC1iYXNlLXVyaXMiKSkgfHwKKwkgICAgICAgICAoIXN0cmNtcChhcmd2W2ldLCAiLS1ub2ZpeHVwLWJhc2UtdXJpcyIpKSkgeworCSAgICB4aW5jbHVkZSsrOworCSAgICBvcHRpb25zIHw9IFhNTF9QQVJTRV9YSU5DTFVERTsKKwkgICAgb3B0aW9ucyB8PSBYTUxfUEFSU0VfTk9CQVNFRklYOworCX0KKyNlbmRpZgorI2lmZGVmIExJQlhNTF9PVVRQVVRfRU5BQkxFRAorI2lmZGVmIEhBVkVfWkxJQl9ICisJZWxzZSBpZiAoKCFzdHJjbXAoYXJndltpXSwgIi1jb21wcmVzcyIpKSB8fAorCSAgICAgICAgICghc3RyY21wKGFyZ3ZbaV0sICItLWNvbXByZXNzIikpKSB7CisJICAgIGNvbXByZXNzKys7CisJICAgIHhtbFNldENvbXByZXNzTW9kZSg5KTsKKyAgICAgICAgfQorI2VuZGlmCisjZW5kaWYgLyogTElCWE1MX09VVFBVVF9FTkFCTEVEICovCisJZWxzZSBpZiAoKCFzdHJjbXAoYXJndltpXSwgIi1ub3dhcm5pbmciKSkgfHwKKwkgICAgICAgICAoIXN0cmNtcChhcmd2W2ldLCAiLS1ub3dhcm5pbmciKSkpIHsKKwkgICAgeG1sR2V0V2FybmluZ3NEZWZhdWx0VmFsdWUgPSAwOworCSAgICB4bWxQZWRhbnRpY1BhcnNlckRlZmF1bHQoMCk7CisJICAgIG9wdGlvbnMgfD0gWE1MX1BBUlNFX05PV0FSTklORzsKKyAgICAgICAgfQorCWVsc2UgaWYgKCghc3RyY21wKGFyZ3ZbaV0sICItcGVkYW50aWMiKSkgfHwKKwkgICAgICAgICAoIXN0cmNtcChhcmd2W2ldLCAiLS1wZWRhbnRpYyIpKSkgeworCSAgICB4bWxHZXRXYXJuaW5nc0RlZmF1bHRWYWx1ZSA9IDE7CisJICAgIHhtbFBlZGFudGljUGFyc2VyRGVmYXVsdCgxKTsKKwkgICAgb3B0aW9ucyB8PSBYTUxfUEFSU0VfUEVEQU5USUM7CisgICAgICAgIH0KKyNpZmRlZiBMSUJYTUxfREVCVUdfRU5BQkxFRAorCWVsc2UgaWYgKCghc3RyY21wKGFyZ3ZbaV0sICItZGVidWdlbnQiKSkgfHwKKwkJICghc3RyY21wKGFyZ3ZbaV0sICItLWRlYnVnZW50IikpKSB7CisJICAgIGRlYnVnZW50Kys7CisJICAgIHhtbFBhcnNlckRlYnVnRW50aXRpZXMgPSAxOworCX0KKyNlbmRpZgorI2lmZGVmIExJQlhNTF9DMTROX0VOQUJMRUQKKwllbHNlIGlmICgoIXN0cmNtcChhcmd2W2ldLCAiLWMxNG4iKSkgfHwKKwkJICghc3RyY21wKGFyZ3ZbaV0sICItLWMxNG4iKSkpIHsKKwkgICAgY2Fub25pY2FsKys7CisJICAgIG9wdGlvbnMgfD0gWE1MX1BBUlNFX05PRU5UIHwgWE1MX1BBUlNFX0RUREFUVFIgfCBYTUxfUEFSU0VfRFRETE9BRDsKKwl9CisJZWxzZSBpZiAoKCFzdHJjbXAoYXJndltpXSwgIi1jMTRuMTEiKSkgfHwKKwkJICghc3RyY21wKGFyZ3ZbaV0sICItLWMxNG4xMSIpKSkgeworCSAgICBjYW5vbmljYWxfMTErKzsKKwkgICAgb3B0aW9ucyB8PSBYTUxfUEFSU0VfTk9FTlQgfCBYTUxfUEFSU0VfRFREQVRUUiB8IFhNTF9QQVJTRV9EVERMT0FEOworCX0KKwllbHNlIGlmICgoIXN0cmNtcChhcmd2W2ldLCAiLWV4Yy1jMTRuIikpIHx8CisJCSAoIXN0cmNtcChhcmd2W2ldLCAiLS1leGMtYzE0biIpKSkgeworCSAgICBleGNfY2Fub25pY2FsKys7CisJICAgIG9wdGlvbnMgfD0gWE1MX1BBUlNFX05PRU5UIHwgWE1MX1BBUlNFX0RUREFUVFIgfCBYTUxfUEFSU0VfRFRETE9BRDsKKwl9CisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfQ0FUQUxPR19FTkFCTEVECisJZWxzZSBpZiAoKCFzdHJjbXAoYXJndltpXSwgIi1jYXRhbG9ncyIpKSB8fAorCQkgKCFzdHJjbXAoYXJndltpXSwgIi0tY2F0YWxvZ3MiKSkpIHsKKwkgICAgY2F0YWxvZ3MrKzsKKwl9IGVsc2UgaWYgKCghc3RyY21wKGFyZ3ZbaV0sICItbm9jYXRhbG9ncyIpKSB8fAorCQkgKCFzdHJjbXAoYXJndltpXSwgIi0tbm9jYXRhbG9ncyIpKSkgeworCSAgICBub2NhdGFsb2dzKys7CisJfQorI2VuZGlmCisJZWxzZSBpZiAoKCFzdHJjbXAoYXJndltpXSwgIi1lbmNvZGUiKSkgfHwKKwkgICAgICAgICAoIXN0cmNtcChhcmd2W2ldLCAiLS1lbmNvZGUiKSkpIHsKKwkgICAgaSsrOworCSAgICBlbmNvZGluZyA9IGFyZ3ZbaV07CisJICAgIC8qCisJICAgICAqIE9LIGl0J3MgZm9yIHRlc3RpbmcgcHVycG9zZXMKKwkgICAgICovCisJICAgIHhtbEFkZEVuY29kaW5nQWxpYXMoIlVURi04IiwgIkRWRW5jIik7CisgICAgICAgIH0KKwllbHNlIGlmICgoIXN0cmNtcChhcmd2W2ldLCAiLW5vYmxhbmtzIikpIHx8CisJICAgICAgICAgKCFzdHJjbXAoYXJndltpXSwgIi0tbm9ibGFua3MiKSkpIHsKKwkgICAgbm9ibGFua3MrKzsKKwkgICAgeG1sS2VlcEJsYW5rc0RlZmF1bHQoMCk7CisJICAgIG9wdGlvbnMgfD0gWE1MX1BBUlNFX05PQkxBTktTOworICAgICAgICB9CisJZWxzZSBpZiAoKCFzdHJjbXAoYXJndltpXSwgIi1tYXhtZW0iKSkgfHwKKwkgICAgICAgICAoIXN0cmNtcChhcmd2W2ldLCAiLS1tYXhtZW0iKSkpIHsKKwkgICAgIGkrKzsKKwkgICAgIGlmIChzc2NhbmYoYXJndltpXSwgIiVkIiwgJm1heG1lbSkgPT0gMSkgeworCSAgICAgICAgIHhtbE1lbVNldHVwKG15RnJlZUZ1bmMsIG15TWFsbG9jRnVuYywgbXlSZWFsbG9jRnVuYywKKwkJICAgICAgICAgICAgIG15U3RyZHVwRnVuYyk7CisJICAgICB9IGVsc2UgeworCSAgICAgICAgIG1heG1lbSA9IDA7CisJICAgICB9CisgICAgICAgIH0KKwllbHNlIGlmICgoIXN0cmNtcChhcmd2W2ldLCAiLWZvcm1hdCIpKSB8fAorCSAgICAgICAgICghc3RyY21wKGFyZ3ZbaV0sICItLWZvcm1hdCIpKSkgeworCSAgICAgbm9ibGFua3MrKzsKKyNpZmRlZiBMSUJYTUxfT1VUUFVUX0VOQUJMRUQKKwkgICAgIGZvcm1hdCA9IDE7CisjZW5kaWYgLyogTElCWE1MX09VVFBVVF9FTkFCTEVEICovCisJICAgICB4bWxLZWVwQmxhbmtzRGVmYXVsdCgwKTsKKwl9CisJZWxzZSBpZiAoKCFzdHJjbXAoYXJndltpXSwgIi1wcmV0dHkiKSkgfHwKKwkgICAgICAgICAoIXN0cmNtcChhcmd2W2ldLCAiLS1wcmV0dHkiKSkpIHsKKwkgICAgIGkrKzsKKyNpZmRlZiBMSUJYTUxfT1VUUFVUX0VOQUJMRUQKKyAgICAgICBpZiAoYXJndltpXSAhPSBOVUxMKSB7CisJICAgICAgICAgZm9ybWF0ID0gYXRvaShhcmd2W2ldKTsKKwkgICAgICAgICBpZiAoZm9ybWF0ID09IDEpIHsKKwkgICAgICAgICAgICAgbm9ibGFua3MrKzsKKwkgICAgICAgICAgICAgeG1sS2VlcEJsYW5rc0RlZmF1bHQoMCk7CisJICAgICAgICAgfQorICAgICAgIH0KKyNlbmRpZiAvKiBMSUJYTUxfT1VUUFVUX0VOQUJMRUQgKi8KKwl9CisjaWZkZWYgTElCWE1MX1JFQURFUl9FTkFCTEVECisJZWxzZSBpZiAoKCFzdHJjbXAoYXJndltpXSwgIi1zdHJlYW0iKSkgfHwKKwkgICAgICAgICAoIXN0cmNtcChhcmd2W2ldLCAiLS1zdHJlYW0iKSkpIHsKKwkgICAgIHN0cmVhbSsrOworCX0KKwllbHNlIGlmICgoIXN0cmNtcChhcmd2W2ldLCAiLXdhbGtlciIpKSB8fAorCSAgICAgICAgICghc3RyY21wKGFyZ3ZbaV0sICItLXdhbGtlciIpKSkgeworCSAgICAgd2Fsa2VyKys7CisgICAgICAgICAgICAgbm9vdXQrKzsKKwl9CisjZW5kaWYgLyogTElCWE1MX1JFQURFUl9FTkFCTEVEICovCisjaWZkZWYgTElCWE1MX1NBWDFfRU5BQkxFRAorCWVsc2UgaWYgKCghc3RyY21wKGFyZ3ZbaV0sICItc2F4MSIpKSB8fAorCSAgICAgICAgICghc3RyY21wKGFyZ3ZbaV0sICItLXNheDEiKSkpIHsKKwkgICAgc2F4MSsrOworCSAgICBvcHRpb25zIHw9IFhNTF9QQVJTRV9TQVgxOworCX0KKyNlbmRpZiAvKiBMSUJYTUxfU0FYMV9FTkFCTEVEICovCisJZWxzZSBpZiAoKCFzdHJjbXAoYXJndltpXSwgIi1zYXgiKSkgfHwKKwkgICAgICAgICAoIXN0cmNtcChhcmd2W2ldLCAiLS1zYXgiKSkpIHsKKwkgICAgc2F4Kys7CisJfQorCWVsc2UgaWYgKCghc3RyY21wKGFyZ3ZbaV0sICItY2hrcmVnaXN0ZXIiKSkgfHwKKwkgICAgICAgICAoIXN0cmNtcChhcmd2W2ldLCAiLS1jaGtyZWdpc3RlciIpKSkgeworCSAgICBjaGtyZWdpc3RlcisrOworI2lmZGVmIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQKKwl9IGVsc2UgaWYgKCghc3RyY21wKGFyZ3ZbaV0sICItcmVsYXhuZyIpKSB8fAorCSAgICAgICAgICghc3RyY21wKGFyZ3ZbaV0sICItLXJlbGF4bmciKSkpIHsKKwkgICAgaSsrOworCSAgICByZWxheG5nID0gYXJndltpXTsKKwkgICAgbm9lbnQrKzsKKwkgICAgb3B0aW9ucyB8PSBYTUxfUEFSU0VfTk9FTlQ7CisJfSBlbHNlIGlmICgoIXN0cmNtcChhcmd2W2ldLCAiLXNjaGVtYSIpKSB8fAorCSAgICAgICAgICghc3RyY21wKGFyZ3ZbaV0sICItLXNjaGVtYSIpKSkgeworCSAgICBpKys7CisJICAgIHNjaGVtYSA9IGFyZ3ZbaV07CisJICAgIG5vZW50Kys7CisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfU0NIRU1BVFJPTl9FTkFCTEVECisJfSBlbHNlIGlmICgoIXN0cmNtcChhcmd2W2ldLCAiLXNjaGVtYXRyb24iKSkgfHwKKwkgICAgICAgICAoIXN0cmNtcChhcmd2W2ldLCAiLS1zY2hlbWF0cm9uIikpKSB7CisJICAgIGkrKzsKKwkgICAgc2NoZW1hdHJvbiA9IGFyZ3ZbaV07CisJICAgIG5vZW50Kys7CisjZW5kaWYKKyAgICAgICAgfSBlbHNlIGlmICgoIXN0cmNtcChhcmd2W2ldLCAiLW5vbmV0IikpIHx8CisgICAgICAgICAgICAgICAgICAgKCFzdHJjbXAoYXJndltpXSwgIi0tbm9uZXQiKSkpIHsKKwkgICAgb3B0aW9ucyB8PSBYTUxfUEFSU0VfTk9ORVQ7CisJICAgIHhtbFNldEV4dGVybmFsRW50aXR5TG9hZGVyKHhtbE5vTmV0RXh0ZXJuYWxFbnRpdHlMb2FkZXIpOworICAgICAgICB9IGVsc2UgaWYgKCghc3RyY21wKGFyZ3ZbaV0sICItbm9jb21wYWN0IikpIHx8CisgICAgICAgICAgICAgICAgICAgKCFzdHJjbXAoYXJndltpXSwgIi0tbm9jb21wYWN0IikpKSB7CisJICAgIG9wdGlvbnMgJj0gflhNTF9QQVJTRV9DT01QQUNUOworCX0gZWxzZSBpZiAoKCFzdHJjbXAoYXJndltpXSwgIi1sb2FkLXRyYWNlIikpIHx8CisJICAgICAgICAgICAoIXN0cmNtcChhcmd2W2ldLCAiLS1sb2FkLXRyYWNlIikpKSB7CisJICAgIGxvYWRfdHJhY2UrKzsKKyAgICAgICAgfSBlbHNlIGlmICgoIXN0cmNtcChhcmd2W2ldLCAiLXBhdGgiKSkgfHwKKyAgICAgICAgICAgICAgICAgICAoIXN0cmNtcChhcmd2W2ldLCAiLS1wYXRoIikpKSB7CisJICAgIGkrKzsKKwkgICAgcGFyc2VQYXRoKEJBRF9DQVNUIGFyZ3ZbaV0pOworI2lmZGVmIExJQlhNTF9QQVRURVJOX0VOQUJMRUQKKyAgICAgICAgfSBlbHNlIGlmICgoIXN0cmNtcChhcmd2W2ldLCAiLXBhdHRlcm4iKSkgfHwKKyAgICAgICAgICAgICAgICAgICAoIXN0cmNtcChhcmd2W2ldLCAiLS1wYXR0ZXJuIikpKSB7CisJICAgIGkrKzsKKwkgICAgcGF0dGVybiA9IGFyZ3ZbaV07CisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfWFBBVEhfRU5BQkxFRAorICAgICAgICB9IGVsc2UgaWYgKCghc3RyY21wKGFyZ3ZbaV0sICIteHBhdGgiKSkgfHwKKyAgICAgICAgICAgICAgICAgICAoIXN0cmNtcChhcmd2W2ldLCAiLS14cGF0aCIpKSkgeworCSAgICBpKys7CisJICAgIG5vb3V0Kys7CisJICAgIHhwYXRocXVlcnkgPSBhcmd2W2ldOworI2VuZGlmCisJfSBlbHNlIGlmICgoIXN0cmNtcChhcmd2W2ldLCAiLW9sZHhtbDEwIikpIHx8CisJICAgICAgICAgICAoIXN0cmNtcChhcmd2W2ldLCAiLS1vbGR4bWwxMCIpKSkgeworCSAgICBvbGR4bWwxMCsrOworCSAgICBvcHRpb25zIHw9IFhNTF9QQVJTRV9PTEQxMDsKKwl9IGVsc2UgeworCSAgICBmcHJpbnRmKHN0ZGVyciwgIlVua25vd24gb3B0aW9uICVzXG4iLCBhcmd2W2ldKTsKKwkgICAgdXNhZ2UoYXJndlswXSk7CisJICAgIHJldHVybigxKTsKKwl9CisgICAgfQorCisjaWZkZWYgTElCWE1MX0NBVEFMT0dfRU5BQkxFRAorICAgIGlmIChub2NhdGFsb2dzID09IDApIHsKKwlpZiAoY2F0YWxvZ3MpIHsKKwkgICAgY29uc3QgY2hhciAqY2F0YWw7CisKKwkgICAgY2F0YWwgPSBnZXRlbnYoIlNHTUxfQ0FUQUxPR19GSUxFUyIpOworCSAgICBpZiAoY2F0YWwgIT0gTlVMTCkgeworCQl4bWxMb2FkQ2F0YWxvZ3MoY2F0YWwpOworCSAgICB9IGVsc2UgeworCQlmcHJpbnRmKHN0ZGVyciwgIlZhcmlhYmxlICRTR01MX0NBVEFMT0dfRklMRVMgbm90IHNldFxuIik7CisJICAgIH0KKwl9CisgICAgfQorI2VuZGlmCisKKyNpZmRlZiBMSUJYTUxfU0FYMV9FTkFCTEVECisgICAgaWYgKHNheDEpCisgICAgICAgIHhtbFNBWERlZmF1bHRWZXJzaW9uKDEpOworICAgIGVsc2UKKyAgICAgICAgeG1sU0FYRGVmYXVsdFZlcnNpb24oMik7CisjZW5kaWYgLyogTElCWE1MX1NBWDFfRU5BQkxFRCAqLworCisgICAgaWYgKGNoa3JlZ2lzdGVyKSB7CisJeG1sUmVnaXN0ZXJOb2RlRGVmYXVsdChyZWdpc3Rlck5vZGUpOworCXhtbERlcmVnaXN0ZXJOb2RlRGVmYXVsdChkZXJlZ2lzdGVyTm9kZSk7CisgICAgfQorCisgICAgaW5kZW50ID0gZ2V0ZW52KCJYTUxMSU5UX0lOREVOVCIpOworICAgIGlmKGluZGVudCAhPSBOVUxMKSB7CisJeG1sVHJlZUluZGVudFN0cmluZyA9IGluZGVudDsKKyAgICB9CisKKworICAgIGRlZmF1bHRFbnRpdHlMb2FkZXIgPSB4bWxHZXRFeHRlcm5hbEVudGl0eUxvYWRlcigpOworICAgIHhtbFNldEV4dGVybmFsRW50aXR5TG9hZGVyKHhtbGxpbnRFeHRlcm5hbEVudGl0eUxvYWRlcik7CisKKyAgICB4bWxMaW5lTnVtYmVyc0RlZmF1bHQoMSk7CisgICAgaWYgKGxvYWRkdGQgIT0gMCkKKwl4bWxMb2FkRXh0RHRkRGVmYXVsdFZhbHVlIHw9IFhNTF9ERVRFQ1RfSURTOworICAgIGlmIChkdGRhdHRycykKKwl4bWxMb2FkRXh0RHRkRGVmYXVsdFZhbHVlIHw9IFhNTF9DT01QTEVURV9BVFRSUzsKKyAgICBpZiAobm9lbnQgIT0gMCkgeG1sU3Vic3RpdHV0ZUVudGl0aWVzRGVmYXVsdCgxKTsKKyNpZmRlZiBMSUJYTUxfVkFMSURfRU5BQkxFRAorICAgIGlmICh2YWxpZCAhPSAwKSB4bWxEb1ZhbGlkaXR5Q2hlY2tpbmdEZWZhdWx0VmFsdWUgPSAxOworI2VuZGlmIC8qIExJQlhNTF9WQUxJRF9FTkFCTEVEICovCisgICAgaWYgKChodG1sb3V0KSAmJiAoIW5vd3JhcCkpIHsKKwl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKyAgICAgICAgICI8IURPQ1RZUEUgSFRNTCBQVUJMSUMgXCItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwvL0VOXCJcbiIpOworCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkiXHRcImh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy1odG1sNDAvbG9vc2UuZHRkXCI+XG4iKTsKKwl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkgIjxodG1sPjxoZWFkPjx0aXRsZT4lcyBvdXRwdXQ8L3RpdGxlPjwvaGVhZD5cbiIsCisJCWFyZ3ZbMF0pOworCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCSAiPGJvZHkgYmdjb2xvcj1cIiNmZmZmZmZcIj48aDEgYWxpZ249XCJjZW50ZXJcIj4lcyBvdXRwdXQ8L2gxPlxuIiwKKwkJYXJndlswXSk7CisgICAgfQorCisjaWZkZWYgTElCWE1MX1NDSEVNQVRST05fRU5BQkxFRAorICAgIGlmICgoc2NoZW1hdHJvbiAhPSBOVUxMKSAmJiAoc2F4ID09IDApCisjaWZkZWYgTElCWE1MX1JFQURFUl9FTkFCTEVECisgICAgICAgICYmIChzdHJlYW0gPT0gMCkKKyNlbmRpZiAvKiBMSUJYTUxfUkVBREVSX0VOQUJMRUQgKi8KKwkpIHsKKwl4bWxTY2hlbWF0cm9uUGFyc2VyQ3R4dFB0ciBjdHh0OworCisgICAgICAgIC8qIGZvcmNlcyBsb2FkaW5nIHRoZSBEVERzICovCisgICAgICAgIHhtbExvYWRFeHREdGREZWZhdWx0VmFsdWUgfD0gMTsKKwlvcHRpb25zIHw9IFhNTF9QQVJTRV9EVERMT0FEOworCWlmICh0aW1pbmcpIHsKKwkgICAgc3RhcnRUaW1lcigpOworCX0KKwljdHh0ID0geG1sU2NoZW1hdHJvbk5ld1BhcnNlckN0eHQoc2NoZW1hdHJvbik7CisjaWYgMAorCXhtbFNjaGVtYXRyb25TZXRQYXJzZXJFcnJvcnMoY3R4dCwKKwkJKHhtbFNjaGVtYXRyb25WYWxpZGl0eUVycm9yRnVuYykgZnByaW50ZiwKKwkJKHhtbFNjaGVtYXRyb25WYWxpZGl0eVdhcm5pbmdGdW5jKSBmcHJpbnRmLAorCQlzdGRlcnIpOworI2VuZGlmCisJd3hzY2hlbWF0cm9uID0geG1sU2NoZW1hdHJvblBhcnNlKGN0eHQpOworCWlmICh3eHNjaGVtYXRyb24gPT0gTlVMTCkgeworCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJICAgICJTY2hlbWF0cm9uIHNjaGVtYSAlcyBmYWlsZWQgdG8gY29tcGlsZVxuIiwgc2NoZW1hdHJvbik7CisgICAgICAgICAgICBwcm9ncmVzdWx0ID0gWE1MTElOVF9FUlJfU0NIRU1BQ09NUDsKKwkgICAgc2NoZW1hdHJvbiA9IE5VTEw7CisJfQorCXhtbFNjaGVtYXRyb25GcmVlUGFyc2VyQ3R4dChjdHh0KTsKKwlpZiAodGltaW5nKSB7CisJICAgIGVuZFRpbWVyKCJDb21waWxpbmcgdGhlIHNjaGVtYXMiKTsKKwl9CisgICAgfQorI2VuZGlmCisjaWZkZWYgTElCWE1MX1NDSEVNQVNfRU5BQkxFRAorICAgIGlmICgocmVsYXhuZyAhPSBOVUxMKSAmJiAoc2F4ID09IDApCisjaWZkZWYgTElCWE1MX1JFQURFUl9FTkFCTEVECisgICAgICAgICYmIChzdHJlYW0gPT0gMCkKKyNlbmRpZiAvKiBMSUJYTUxfUkVBREVSX0VOQUJMRUQgKi8KKwkpIHsKKwl4bWxSZWxheE5HUGFyc2VyQ3R4dFB0ciBjdHh0OworCisgICAgICAgIC8qIGZvcmNlcyBsb2FkaW5nIHRoZSBEVERzICovCisgICAgICAgIHhtbExvYWRFeHREdGREZWZhdWx0VmFsdWUgfD0gMTsKKwlvcHRpb25zIHw9IFhNTF9QQVJTRV9EVERMT0FEOworCWlmICh0aW1pbmcpIHsKKwkgICAgc3RhcnRUaW1lcigpOworCX0KKwljdHh0ID0geG1sUmVsYXhOR05ld1BhcnNlckN0eHQocmVsYXhuZyk7CisJeG1sUmVsYXhOR1NldFBhcnNlckVycm9ycyhjdHh0LAorCQkoeG1sUmVsYXhOR1ZhbGlkaXR5RXJyb3JGdW5jKSBmcHJpbnRmLAorCQkoeG1sUmVsYXhOR1ZhbGlkaXR5V2FybmluZ0Z1bmMpIGZwcmludGYsCisJCXN0ZGVycik7CisJcmVsYXhuZ3NjaGVtYXMgPSB4bWxSZWxheE5HUGFyc2UoY3R4dCk7CisJaWYgKHJlbGF4bmdzY2hlbWFzID09IE5VTEwpIHsKKwkgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSAgICAiUmVsYXgtTkcgc2NoZW1hICVzIGZhaWxlZCB0byBjb21waWxlXG4iLCByZWxheG5nKTsKKyAgICAgICAgICAgIHByb2dyZXN1bHQgPSBYTUxMSU5UX0VSUl9TQ0hFTUFDT01QOworCSAgICByZWxheG5nID0gTlVMTDsKKwl9CisJeG1sUmVsYXhOR0ZyZWVQYXJzZXJDdHh0KGN0eHQpOworCWlmICh0aW1pbmcpIHsKKwkgICAgZW5kVGltZXIoIkNvbXBpbGluZyB0aGUgc2NoZW1hcyIpOworCX0KKyAgICB9IGVsc2UgaWYgKChzY2hlbWEgIT0gTlVMTCkKKyNpZmRlZiBMSUJYTUxfUkVBREVSX0VOQUJMRUQKKwkJJiYgKHN0cmVhbSA9PSAwKQorI2VuZGlmCisJKSB7CisJeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBjdHh0OworCisJaWYgKHRpbWluZykgeworCSAgICBzdGFydFRpbWVyKCk7CisJfQorCWN0eHQgPSB4bWxTY2hlbWFOZXdQYXJzZXJDdHh0KHNjaGVtYSk7CisJeG1sU2NoZW1hU2V0UGFyc2VyRXJyb3JzKGN0eHQsCisJCSh4bWxTY2hlbWFWYWxpZGl0eUVycm9yRnVuYykgZnByaW50ZiwKKwkJKHhtbFNjaGVtYVZhbGlkaXR5V2FybmluZ0Z1bmMpIGZwcmludGYsCisJCXN0ZGVycik7CisJd3hzY2hlbWFzID0geG1sU2NoZW1hUGFyc2UoY3R4dCk7CisJaWYgKHd4c2NoZW1hcyA9PSBOVUxMKSB7CisJICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkgICAgIldYUyBzY2hlbWEgJXMgZmFpbGVkIHRvIGNvbXBpbGVcbiIsIHNjaGVtYSk7CisgICAgICAgICAgICBwcm9ncmVzdWx0ID0gWE1MTElOVF9FUlJfU0NIRU1BQ09NUDsKKwkgICAgc2NoZW1hID0gTlVMTDsKKwl9CisJeG1sU2NoZW1hRnJlZVBhcnNlckN0eHQoY3R4dCk7CisJaWYgKHRpbWluZykgeworCSAgICBlbmRUaW1lcigiQ29tcGlsaW5nIHRoZSBzY2hlbWFzIik7CisJfQorICAgIH0KKyNlbmRpZiAvKiBMSUJYTUxfU0NIRU1BU19FTkFCTEVEICovCisjaWZkZWYgTElCWE1MX1BBVFRFUk5fRU5BQkxFRAorICAgIGlmICgocGF0dGVybiAhPSBOVUxMKQorI2lmZGVmIExJQlhNTF9SRUFERVJfRU5BQkxFRAorICAgICAgICAmJiAod2Fsa2VyID09IDApCisjZW5kaWYKKwkpIHsKKyAgICAgICAgcGF0dGVybmMgPSB4bWxQYXR0ZXJuY29tcGlsZSgoY29uc3QgeG1sQ2hhciAqKSBwYXR0ZXJuLCBOVUxMLCAwLCBOVUxMKTsKKwlpZiAocGF0dGVybmMgPT0gTlVMTCkgeworCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJICAgICJQYXR0ZXJuICVzIGZhaWxlZCB0byBjb21waWxlXG4iLCBwYXR0ZXJuKTsKKyAgICAgICAgICAgIHByb2dyZXN1bHQgPSBYTUxMSU5UX0VSUl9TQ0hFTUFQQVQ7CisJICAgIHBhdHRlcm4gPSBOVUxMOworCX0KKyAgICB9CisjZW5kaWYgLyogTElCWE1MX1BBVFRFUk5fRU5BQkxFRCAqLworICAgIGZvciAoaSA9IDE7IGkgPCBhcmdjIDsgaSsrKSB7CisJaWYgKCghc3RyY21wKGFyZ3ZbaV0sICItZW5jb2RlIikpIHx8CisJICAgICAgICAgKCFzdHJjbXAoYXJndltpXSwgIi0tZW5jb2RlIikpKSB7CisJICAgIGkrKzsKKwkgICAgY29udGludWU7CisgICAgICAgIH0gZWxzZSBpZiAoKCFzdHJjbXAoYXJndltpXSwgIi1vIikpIHx8CisgICAgICAgICAgICAgICAgICAgKCFzdHJjbXAoYXJndltpXSwgIi1vdXRwdXQiKSkgfHwKKyAgICAgICAgICAgICAgICAgICAoIXN0cmNtcChhcmd2W2ldLCAiLS1vdXRwdXQiKSkpIHsKKyAgICAgICAgICAgIGkrKzsKKwkgICAgY29udGludWU7CisgICAgICAgIH0KKyNpZmRlZiBMSUJYTUxfVkFMSURfRU5BQkxFRAorCWlmICgoIXN0cmNtcChhcmd2W2ldLCAiLWR0ZHZhbGlkIikpIHx8CisJICAgICAgICAgKCFzdHJjbXAoYXJndltpXSwgIi0tZHRkdmFsaWQiKSkpIHsKKwkgICAgaSsrOworCSAgICBjb250aW51ZTsKKyAgICAgICAgfQorCWlmICgoIXN0cmNtcChhcmd2W2ldLCAiLXBhdGgiKSkgfHwKKyAgICAgICAgICAgICAgICAgICAoIXN0cmNtcChhcmd2W2ldLCAiLS1wYXRoIikpKSB7CisgICAgICAgICAgICBpKys7CisJICAgIGNvbnRpbnVlOworICAgICAgICB9CisJaWYgKCghc3RyY21wKGFyZ3ZbaV0sICItZHRkdmFsaWRmcGkiKSkgfHwKKwkgICAgICAgICAoIXN0cmNtcChhcmd2W2ldLCAiLS1kdGR2YWxpZGZwaSIpKSkgeworCSAgICBpKys7CisJICAgIGNvbnRpbnVlOworICAgICAgICB9CisjZW5kaWYgLyogTElCWE1MX1ZBTElEX0VOQUJMRUQgKi8KKwlpZiAoKCFzdHJjbXAoYXJndltpXSwgIi1yZWxheG5nIikpIHx8CisJICAgICAgICAgKCFzdHJjbXAoYXJndltpXSwgIi0tcmVsYXhuZyIpKSkgeworCSAgICBpKys7CisJICAgIGNvbnRpbnVlOworICAgICAgICB9CisJaWYgKCghc3RyY21wKGFyZ3ZbaV0sICItbWF4bWVtIikpIHx8CisJICAgICAgICAgKCFzdHJjbXAoYXJndltpXSwgIi0tbWF4bWVtIikpKSB7CisJICAgIGkrKzsKKwkgICAgY29udGludWU7CisgICAgICAgIH0KKwlpZiAoKCFzdHJjbXAoYXJndltpXSwgIi1wcmV0dHkiKSkgfHwKKwkgICAgICAgICAoIXN0cmNtcChhcmd2W2ldLCAiLS1wcmV0dHkiKSkpIHsKKwkgICAgaSsrOworCSAgICBjb250aW51ZTsKKyAgICAgICAgfQorCWlmICgoIXN0cmNtcChhcmd2W2ldLCAiLXNjaGVtYSIpKSB8fAorCSAgICAgICAgICghc3RyY21wKGFyZ3ZbaV0sICItLXNjaGVtYSIpKSkgeworCSAgICBpKys7CisJICAgIGNvbnRpbnVlOworICAgICAgICB9CisJaWYgKCghc3RyY21wKGFyZ3ZbaV0sICItc2NoZW1hdHJvbiIpKSB8fAorCSAgICAgICAgICghc3RyY21wKGFyZ3ZbaV0sICItLXNjaGVtYXRyb24iKSkpIHsKKwkgICAgaSsrOworCSAgICBjb250aW51ZTsKKyAgICAgICAgfQorI2lmZGVmIExJQlhNTF9QQVRURVJOX0VOQUJMRUQKKyAgICAgICAgaWYgKCghc3RyY21wKGFyZ3ZbaV0sICItcGF0dGVybiIpKSB8fAorCSAgICAoIXN0cmNtcChhcmd2W2ldLCAiLS1wYXR0ZXJuIikpKSB7CisJICAgIGkrKzsKKwkgICAgY29udGludWU7CisJfQorI2VuZGlmCisjaWZkZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQKKyAgICAgICAgaWYgKCghc3RyY21wKGFyZ3ZbaV0sICIteHBhdGgiKSkgfHwKKwkgICAgKCFzdHJjbXAoYXJndltpXSwgIi0teHBhdGgiKSkpIHsKKwkgICAgaSsrOworCSAgICBjb250aW51ZTsKKwl9CisjZW5kaWYKKwlpZiAoKHRpbWluZykgJiYgKHJlcGVhdCkpCisJICAgIHN0YXJ0VGltZXIoKTsKKwkvKiBSZW1lbWJlciBmaWxlIG5hbWVzLiAgIi0iIG1lYW5zIHN0ZGluLiAgPHN2ZW5AemVuLm9yZz4gKi8KKwlpZiAoKGFyZ3ZbaV1bMF0gIT0gJy0nKSB8fCAoc3RyY21wKGFyZ3ZbaV0sICItIikgPT0gMCkpIHsKKwkgICAgaWYgKHJlcGVhdCkgeworCQl4bWxQYXJzZXJDdHh0UHRyIGN0eHQgPSBOVUxMOworCisJCWZvciAoYWNvdW50ID0gMDthY291bnQgPCByZXBlYXQ7YWNvdW50KyspIHsKKyNpZmRlZiBMSUJYTUxfUkVBREVSX0VOQUJMRUQKKwkJICAgIGlmIChzdHJlYW0gIT0gMCkgeworCQkJc3RyZWFtRmlsZShhcmd2W2ldKTsKKwkJICAgIH0gZWxzZSB7CisjZW5kaWYgLyogTElCWE1MX1JFQURFUl9FTkFCTEVEICovCisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc2F4KSB7CisJCQkgICAgdGVzdFNBWChhcmd2W2ldKTsKKwkJCX0gZWxzZSB7CisJCQkgICAgaWYgKGN0eHQgPT0gTlVMTCkKKwkJCQljdHh0ID0geG1sTmV3UGFyc2VyQ3R4dCgpOworCQkJICAgIHBhcnNlQW5kUHJpbnRGaWxlKGFyZ3ZbaV0sIGN0eHQpOworCQkJfQorI2lmZGVmIExJQlhNTF9SRUFERVJfRU5BQkxFRAorCQkgICAgfQorI2VuZGlmIC8qIExJQlhNTF9SRUFERVJfRU5BQkxFRCAqLworCQl9CisJCWlmIChjdHh0ICE9IE5VTEwpCisJCSAgICB4bWxGcmVlUGFyc2VyQ3R4dChjdHh0KTsKKwkgICAgfSBlbHNlIHsKKwkJbmJyZWdpc3RlciA9IDA7CisKKyNpZmRlZiBMSUJYTUxfUkVBREVSX0VOQUJMRUQKKwkJaWYgKHN0cmVhbSAhPSAwKQorCQkgICAgc3RyZWFtRmlsZShhcmd2W2ldKTsKKwkJZWxzZQorI2VuZGlmIC8qIExJQlhNTF9SRUFERVJfRU5BQkxFRCAqLworICAgICAgICAgICAgICAgIGlmIChzYXgpIHsKKwkJICAgIHRlc3RTQVgoYXJndltpXSk7CisJCX0gZWxzZSB7CisJCSAgICBwYXJzZUFuZFByaW50RmlsZShhcmd2W2ldLCBOVUxMKTsKKwkJfQorCisgICAgICAgICAgICAgICAgaWYgKChjaGtyZWdpc3RlcikgJiYgKG5icmVnaXN0ZXIgIT0gMCkpIHsKKwkJICAgIGZwcmludGYoc3RkZXJyLCAiUmVnaXN0cmF0aW9uIGNvdW50IG9mZjogJWRcbiIsIG5icmVnaXN0ZXIpOworCQkgICAgcHJvZ3Jlc3VsdCA9IFhNTExJTlRfRVJSX1JEUkVHSVM7CisJCX0KKwkgICAgfQorCSAgICBmaWxlcyArKzsKKwkgICAgaWYgKCh0aW1pbmcpICYmIChyZXBlYXQpKSB7CisJCWVuZFRpbWVyKCIlZCBpdGVyYXRpb25zIiwgcmVwZWF0KTsKKwkgICAgfQorCX0KKyAgICB9CisgICAgaWYgKGdlbmVyYXRlKQorCXBhcnNlQW5kUHJpbnRGaWxlKE5VTEwsIE5VTEwpOworICAgIGlmICgoaHRtbG91dCkgJiYgKCFub3dyYXApKSB7CisJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICI8L2JvZHk+PC9odG1sPlxuIik7CisgICAgfQorICAgIGlmICgoZmlsZXMgPT0gMCkgJiYgKCFnZW5lcmF0ZSkgJiYgKHZlcnNpb24gPT0gMCkpIHsKKwl1c2FnZShhcmd2WzBdKTsKKyAgICB9CisjaWZkZWYgTElCWE1MX1NDSEVNQVRST05fRU5BQkxFRAorICAgIGlmICh3eHNjaGVtYXRyb24gIT0gTlVMTCkKKwl4bWxTY2hlbWF0cm9uRnJlZSh3eHNjaGVtYXRyb24pOworI2VuZGlmCisjaWZkZWYgTElCWE1MX1NDSEVNQVNfRU5BQkxFRAorICAgIGlmIChyZWxheG5nc2NoZW1hcyAhPSBOVUxMKQorCXhtbFJlbGF4TkdGcmVlKHJlbGF4bmdzY2hlbWFzKTsKKyAgICBpZiAod3hzY2hlbWFzICE9IE5VTEwpCisJeG1sU2NoZW1hRnJlZSh3eHNjaGVtYXMpOworICAgIHhtbFJlbGF4TkdDbGVhbnVwVHlwZXMoKTsKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9QQVRURVJOX0VOQUJMRUQKKyAgICBpZiAocGF0dGVybmMgIT0gTlVMTCkKKyAgICAgICAgeG1sRnJlZVBhdHRlcm4ocGF0dGVybmMpOworI2VuZGlmCisgICAgeG1sQ2xlYW51cFBhcnNlcigpOworICAgIHhtbE1lbW9yeUR1bXAoKTsKKworICAgIHJldHVybihwcm9ncmVzdWx0KTsKK30KKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi94bWxtZW1vcnkuYyBiL2xpYnhtbDIveG1sbWVtb3J5LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTNkYzczNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIveG1sbWVtb3J5LmMKQEAgLTAsMCArMSwxMTI0IEBACisvKgorICogeG1sbWVtb3J5LmM6ICBsaWJ4bWwgbWVtb3J5IGFsbG9jYXRvciB3cmFwcGVyLgorICoKKyAqIGRhbmllbEB2ZWlsbGFyZC5jb20KKyAqLworCisjZGVmaW5lIElOX0xJQlhNTAorI2luY2x1ZGUgImxpYnhtbC5oIgorCisjaW5jbHVkZSA8c3RyaW5nLmg+CisKKyNpZmRlZiBIQVZFX1NZU19UWVBFU19ICisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjZW5kaWYKKworI2lmZGVmIEhBVkVfVElNRV9ICisjaW5jbHVkZSA8dGltZS5oPgorI2VuZGlmCisKKyNpZmRlZiBIQVZFX1NURExJQl9ICisjaW5jbHVkZSA8c3RkbGliLmg+CisjZWxzZQorI2lmZGVmIEhBVkVfTUFMTE9DX0gKKyNpbmNsdWRlIDxtYWxsb2MuaD4KKyNlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBIQVZFX0NUWVBFX0gKKyNpbmNsdWRlIDxjdHlwZS5oPgorI2VuZGlmCisKKy8qICNkZWZpbmUgREVCVUdfTUVNT1JZICovCisKKy8qKgorICogTUVNX0xJU1Q6CisgKgorICoga2VlcCB0cmFjayBvZiBhbGwgYWxsb2NhdGVkIGJsb2NrcyBmb3IgZXJyb3IgcmVwb3J0aW5nCisgKiBBbHdheXMgYnVpbGQgdGhlIG1lbW9yeSBsaXN0ICEKKyAqLworI2lmZGVmIERFQlVHX01FTU9SWV9MT0NBVElPTgorI2lmbmRlZiBNRU1fTElTVAorI2RlZmluZSBNRU1fTElTVCAvKiBrZWVwIGEgbGlzdCBvZiBhbGwgdGhlIGFsbG9jYXRlZCBtZW1vcnkgYmxvY2tzICovCisjZW5kaWYKKyNlbmRpZgorCisjaW5jbHVkZSA8bGlieG1sL2dsb2JhbHMuaD4JLyogbXVzdCBjb21lIGJlZm9yZSB4bWxtZW1vcnkuaCAqLworI2luY2x1ZGUgPGxpYnhtbC94bWxtZW1vcnkuaD4KKyNpbmNsdWRlIDxsaWJ4bWwveG1sZXJyb3IuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvdGhyZWFkcy5oPgorCitzdGF0aWMgaW50IHhtbE1lbUluaXRpYWxpemVkID0gMDsKK3N0YXRpYyB1bnNpZ25lZCBsb25nICBkZWJ1Z01lbVNpemUgPSAwOworc3RhdGljIHVuc2lnbmVkIGxvbmcgIGRlYnVnTWVtQmxvY2tzID0gMDsKK3N0YXRpYyB1bnNpZ25lZCBsb25nICBkZWJ1Z01heE1lbVNpemUgPSAwOworc3RhdGljIHhtbE11dGV4UHRyIHhtbE1lbU11dGV4ID0gTlVMTDsKKwordm9pZCB4bWxNYWxsb2NCcmVha3BvaW50KHZvaWQpOworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQlNYWNyb3MsIHZhcmlhYmxlcyBhbmQgYXNzb2NpYXRlZCB0eXBlcwkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmICFkZWZpbmVkKExJQlhNTF9USFJFQURfRU5BQkxFRCkgJiYgIWRlZmluZWQoTElCWE1MX1RIUkVBRF9BTExPQ19FTkFCTEVEKQorI2lmZGVmIHhtbE1hbGxvYworI3VuZGVmIHhtbE1hbGxvYworI2VuZGlmCisjaWZkZWYgeG1sUmVhbGxvYworI3VuZGVmIHhtbFJlYWxsb2MKKyNlbmRpZgorI2lmZGVmIHhtbE1lbVN0cmR1cAorI3VuZGVmIHhtbE1lbVN0cmR1cAorI2VuZGlmCisjZW5kaWYKKworLyoKKyAqIEVhY2ggb2YgdGhlIGJsb2NrcyBhbGxvY2F0ZWQgYmVnaW4gd2l0aCBhIGhlYWRlciBjb250YWluaW5nIGluZm9ybWF0aW9ucworICovCisKKyNkZWZpbmUgTUVNVEFHIDB4NWFhNQorCisjZGVmaW5lIE1BTExPQ19UWVBFIDEKKyNkZWZpbmUgUkVBTExPQ19UWVBFIDIKKyNkZWZpbmUgU1RSRFVQX1RZUEUgMworI2RlZmluZSBNQUxMT0NfQVRPTUlDX1RZUEUgNAorI2RlZmluZSBSRUFMTE9DX0FUT01JQ19UWVBFIDUKKwordHlwZWRlZiBzdHJ1Y3QgbWVtbm9kIHsKKyAgICB1bnNpZ25lZCBpbnQgICBtaF90YWc7CisgICAgdW5zaWduZWQgaW50ICAgbWhfdHlwZTsKKyAgICB1bnNpZ25lZCBsb25nICBtaF9udW1iZXI7CisgICAgc2l6ZV90ICAgICAgICAgbWhfc2l6ZTsKKyNpZmRlZiBNRU1fTElTVAorICAgc3RydWN0IG1lbW5vZCAqbWhfbmV4dDsKKyAgIHN0cnVjdCBtZW1ub2QgKm1oX3ByZXY7CisjZW5kaWYKKyAgIGNvbnN0IGNoYXIgICAgKm1oX2ZpbGU7CisgICB1bnNpZ25lZCBpbnQgICBtaF9saW5lOworfSAgTUVNSERSOworCisKKyNpZmRlZiBTVU40CisjZGVmaW5lIEFMSUdOX1NJWkUgIDE2CisjZWxzZQorI2RlZmluZSBBTElHTl9TSVpFICBzaXplb2YoZG91YmxlKQorI2VuZGlmCisjZGVmaW5lIEhEUl9TSVpFICAgIHNpemVvZihNRU1IRFIpCisjZGVmaW5lIFJFU0VSVkVfU0laRSAoKChIRFJfU0laRSArIChBTElHTl9TSVpFLTEpKSBcCisJCSAgICAgIC8gQUxJR05fU0laRSApICogQUxJR05fU0laRSkKKworCisjZGVmaW5lIENMSUVOVF8yX0hEUihhKSAoKE1FTUhEUiAqKSAoKChjaGFyICopIChhKSkgLSBSRVNFUlZFX1NJWkUpKQorI2RlZmluZSBIRFJfMl9DTElFTlQoYSkgICAgKCh2b2lkICopICgoKGNoYXIgKikgKGEpKSArIFJFU0VSVkVfU0laRSkpCisKKworc3RhdGljIHVuc2lnbmVkIGludCBibG9jaz0wOworc3RhdGljIHVuc2lnbmVkIGludCB4bWxNZW1TdG9wQXRCbG9jayA9IDA7CitzdGF0aWMgdm9pZCAqeG1sTWVtVHJhY2VCbG9ja0F0ID0gTlVMTDsKKyNpZmRlZiBNRU1fTElTVAorc3RhdGljIE1FTUhEUiAqbWVtbGlzdCA9IE5VTEw7CisjZW5kaWYKKworc3RhdGljIHZvaWQgZGVidWdtZW1fdGFnX2Vycm9yKHZvaWQgKmFkZHIpOworI2lmZGVmIE1FTV9MSVNUCitzdGF0aWMgdm9pZCAgZGVidWdtZW1fbGlzdF9hZGQoTUVNSERSICopOworc3RhdGljIHZvaWQgZGVidWdtZW1fbGlzdF9kZWxldGUoTUVNSERSICopOworI2VuZGlmCisjZGVmaW5lIE1lbV9UYWdfRXJyKGEpIGRlYnVnbWVtX3RhZ19lcnJvcihhKTsKKworI2lmbmRlZiBURVNUX1BPSU5UCisjZGVmaW5lIFRFU1RfUE9JTlQKKyNlbmRpZgorCisvKioKKyAqIHhtbE1hbGxvY0JyZWFrcG9pbnQ6CisgKgorICogQnJlYWtwb2ludCB0byB1c2UgaW4gY29uanVuY3Rpb24gd2l0aCB4bWxNZW1TdG9wQXRCbG9jay4gV2hlbiB0aGUgYmxvY2sKKyAqIG51bWJlciByZWFjaGVzIHRoZSBzcGVjaWZpZWQgdmFsdWUgdGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQuIE9uZSBuZWVkIHRvIGFkZCBhIGJyZWFrcG9pbnQKKyAqIHRvIGl0IHRvIGdldCB0aGUgY29udGV4dCBpbiB3aGljaCB0aGUgZ2l2ZW4gYmxvY2sgaXMgYWxsb2NhdGVkLgorICovCisKK3ZvaWQKK3htbE1hbGxvY0JyZWFrcG9pbnQodm9pZCkgeworICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCSAgICAieG1sTWFsbG9jQnJlYWtwb2ludCByZWFjaGVkIG9uIGJsb2NrICVkXG4iLCB4bWxNZW1TdG9wQXRCbG9jayk7Cit9CisKKy8qKgorICogeG1sTWFsbG9jTG9jOgorICogQHNpemU6ICBhbiBpbnQgc3BlY2lmeWluZyB0aGUgc2l6ZSBpbiBieXRlIHRvIGFsbG9jYXRlLgorICogQGZpbGU6ICB0aGUgZmlsZSBuYW1lIG9yIE5VTEwKKyAqIEBsaW5lOiAgdGhlIGxpbmUgbnVtYmVyCisgKgorICogYSBtYWxsb2MoKSBlcXVpdmFsZW50LCB3aXRoIGxvZ2dpbmcgb2YgdGhlIGFsbG9jYXRpb24gaW5mby4KKyAqCisgKiBSZXR1cm5zIGEgcG9pbnRlciB0byB0aGUgYWxsb2NhdGVkIGFyZWEgb3IgTlVMTCBpbiBjYXNlIG9mIGxhY2sgb2YgbWVtb3J5LgorICovCisKK3ZvaWQgKgoreG1sTWFsbG9jTG9jKHNpemVfdCBzaXplLCBjb25zdCBjaGFyICogZmlsZSwgaW50IGxpbmUpCit7CisgICAgTUVNSERSICpwOworICAgIHZvaWQgKnJldDsKKworICAgIGlmICgheG1sTWVtSW5pdGlhbGl6ZWQpIHhtbEluaXRNZW1vcnkoKTsKKyNpZmRlZiBERUJVR19NRU1PUlkKKyAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkgICAgIk1hbGxvYyglZClcbiIsc2l6ZSk7CisjZW5kaWYKKworICAgIFRFU1RfUE9JTlQKKworICAgIHAgPSAoTUVNSERSICopIG1hbGxvYyhSRVNFUlZFX1NJWkUrc2l6ZSk7CisKKyAgICBpZiAoIXApIHsKKwl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJInhtbE1hbGxvY0xvYyA6IE91dCBvZiBmcmVlIHNwYWNlXG4iKTsKKwl4bWxNZW1vcnlEdW1wKCk7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBwLT5taF90YWcgPSBNRU1UQUc7CisgICAgcC0+bWhfc2l6ZSA9IHNpemU7CisgICAgcC0+bWhfdHlwZSA9IE1BTExPQ19UWVBFOworICAgIHAtPm1oX2ZpbGUgPSBmaWxlOworICAgIHAtPm1oX2xpbmUgPSBsaW5lOworICAgIHhtbE11dGV4TG9jayh4bWxNZW1NdXRleCk7CisgICAgcC0+bWhfbnVtYmVyID0gKytibG9jazsKKyAgICBkZWJ1Z01lbVNpemUgKz0gc2l6ZTsKKyAgICBkZWJ1Z01lbUJsb2NrcysrOworICAgIGlmIChkZWJ1Z01lbVNpemUgPiBkZWJ1Z01heE1lbVNpemUpIGRlYnVnTWF4TWVtU2l6ZSA9IGRlYnVnTWVtU2l6ZTsKKyNpZmRlZiBNRU1fTElTVAorICAgIGRlYnVnbWVtX2xpc3RfYWRkKHApOworI2VuZGlmCisgICAgeG1sTXV0ZXhVbmxvY2soeG1sTWVtTXV0ZXgpOworCisjaWZkZWYgREVCVUdfTUVNT1JZCisgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJICAgICJNYWxsb2MoJWQpIE9rXG4iLHNpemUpOworI2VuZGlmCisKKyAgICBpZiAoeG1sTWVtU3RvcEF0QmxvY2sgPT0gcC0+bWhfbnVtYmVyKSB4bWxNYWxsb2NCcmVha3BvaW50KCk7CisKKyAgICByZXQgPSBIRFJfMl9DTElFTlQocCk7CisKKyAgICBpZiAoeG1sTWVtVHJhY2VCbG9ja0F0ID09IHJldCkgeworCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkJIiVwIDogTWFsbG9jKCVsdSkgT2tcbiIsIHhtbE1lbVRyYWNlQmxvY2tBdCwKKwkJCShsb25nIHVuc2lnbmVkKXNpemUpOworCXhtbE1hbGxvY0JyZWFrcG9pbnQoKTsKKyAgICB9CisKKyAgICBURVNUX1BPSU5UCisKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxNYWxsb2NBdG9taWNMb2M6CisgKiBAc2l6ZTogIGFuIGludCBzcGVjaWZ5aW5nIHRoZSBzaXplIGluIGJ5dGUgdG8gYWxsb2NhdGUuCisgKiBAZmlsZTogIHRoZSBmaWxlIG5hbWUgb3IgTlVMTAorICogQGxpbmU6ICB0aGUgbGluZSBudW1iZXIKKyAqCisgKiBhIG1hbGxvYygpIGVxdWl2YWxlbnQsIHdpdGggbG9nZ2luZyBvZiB0aGUgYWxsb2NhdGlvbiBpbmZvLgorICoKKyAqIFJldHVybnMgYSBwb2ludGVyIHRvIHRoZSBhbGxvY2F0ZWQgYXJlYSBvciBOVUxMIGluIGNhc2Ugb2YgbGFjayBvZiBtZW1vcnkuCisgKi8KKwordm9pZCAqCit4bWxNYWxsb2NBdG9taWNMb2Moc2l6ZV90IHNpemUsIGNvbnN0IGNoYXIgKiBmaWxlLCBpbnQgbGluZSkKK3sKKyAgICBNRU1IRFIgKnA7CisgICAgdm9pZCAqcmV0OworCisgICAgaWYgKCF4bWxNZW1Jbml0aWFsaXplZCkgeG1sSW5pdE1lbW9yeSgpOworI2lmZGVmIERFQlVHX01FTU9SWQorICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCSAgICAiTWFsbG9jKCVkKVxuIixzaXplKTsKKyNlbmRpZgorCisgICAgVEVTVF9QT0lOVAorCisgICAgcCA9IChNRU1IRFIgKikgbWFsbG9jKFJFU0VSVkVfU0laRStzaXplKTsKKworICAgIGlmICghcCkgeworCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkieG1sTWFsbG9jTG9jIDogT3V0IG9mIGZyZWUgc3BhY2VcbiIpOworCXhtbE1lbW9yeUR1bXAoKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIHAtPm1oX3RhZyA9IE1FTVRBRzsKKyAgICBwLT5taF9zaXplID0gc2l6ZTsKKyAgICBwLT5taF90eXBlID0gTUFMTE9DX0FUT01JQ19UWVBFOworICAgIHAtPm1oX2ZpbGUgPSBmaWxlOworICAgIHAtPm1oX2xpbmUgPSBsaW5lOworICAgIHhtbE11dGV4TG9jayh4bWxNZW1NdXRleCk7CisgICAgcC0+bWhfbnVtYmVyID0gKytibG9jazsKKyAgICBkZWJ1Z01lbVNpemUgKz0gc2l6ZTsKKyAgICBkZWJ1Z01lbUJsb2NrcysrOworICAgIGlmIChkZWJ1Z01lbVNpemUgPiBkZWJ1Z01heE1lbVNpemUpIGRlYnVnTWF4TWVtU2l6ZSA9IGRlYnVnTWVtU2l6ZTsKKyNpZmRlZiBNRU1fTElTVAorICAgIGRlYnVnbWVtX2xpc3RfYWRkKHApOworI2VuZGlmCisgICAgeG1sTXV0ZXhVbmxvY2soeG1sTWVtTXV0ZXgpOworCisjaWZkZWYgREVCVUdfTUVNT1JZCisgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJICAgICJNYWxsb2MoJWQpIE9rXG4iLHNpemUpOworI2VuZGlmCisKKyAgICBpZiAoeG1sTWVtU3RvcEF0QmxvY2sgPT0gcC0+bWhfbnVtYmVyKSB4bWxNYWxsb2NCcmVha3BvaW50KCk7CisKKyAgICByZXQgPSBIRFJfMl9DTElFTlQocCk7CisKKyAgICBpZiAoeG1sTWVtVHJhY2VCbG9ja0F0ID09IHJldCkgeworCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkJIiVwIDogTWFsbG9jKCVsdSkgT2tcbiIsIHhtbE1lbVRyYWNlQmxvY2tBdCwKKwkJCShsb25nIHVuc2lnbmVkKXNpemUpOworCXhtbE1hbGxvY0JyZWFrcG9pbnQoKTsKKyAgICB9CisKKyAgICBURVNUX1BPSU5UCisKKyAgICByZXR1cm4ocmV0KTsKK30KKy8qKgorICogeG1sTWVtTWFsbG9jOgorICogQHNpemU6ICBhbiBpbnQgc3BlY2lmeWluZyB0aGUgc2l6ZSBpbiBieXRlIHRvIGFsbG9jYXRlLgorICoKKyAqIGEgbWFsbG9jKCkgZXF1aXZhbGVudCwgd2l0aCBsb2dnaW5nIG9mIHRoZSBhbGxvY2F0aW9uIGluZm8uCisgKgorICogUmV0dXJucyBhIHBvaW50ZXIgdG8gdGhlIGFsbG9jYXRlZCBhcmVhIG9yIE5VTEwgaW4gY2FzZSBvZiBsYWNrIG9mIG1lbW9yeS4KKyAqLworCit2b2lkICoKK3htbE1lbU1hbGxvYyhzaXplX3Qgc2l6ZSkKK3sKKyAgICByZXR1cm4oeG1sTWFsbG9jTG9jKHNpemUsICJub25lIiwgMCkpOworfQorCisvKioKKyAqIHhtbFJlYWxsb2NMb2M6CisgKiBAcHRyOiAgdGhlIGluaXRpYWwgbWVtb3J5IGJsb2NrIHBvaW50ZXIKKyAqIEBzaXplOiAgYW4gaW50IHNwZWNpZnlpbmcgdGhlIHNpemUgaW4gYnl0ZSB0byBhbGxvY2F0ZS4KKyAqIEBmaWxlOiAgdGhlIGZpbGUgbmFtZSBvciBOVUxMCisgKiBAbGluZTogIHRoZSBsaW5lIG51bWJlcgorICoKKyAqIGEgcmVhbGxvYygpIGVxdWl2YWxlbnQsIHdpdGggbG9nZ2luZyBvZiB0aGUgYWxsb2NhdGlvbiBpbmZvLgorICoKKyAqIFJldHVybnMgYSBwb2ludGVyIHRvIHRoZSBhbGxvY2F0ZWQgYXJlYSBvciBOVUxMIGluIGNhc2Ugb2YgbGFjayBvZiBtZW1vcnkuCisgKi8KKwordm9pZCAqCit4bWxSZWFsbG9jTG9jKHZvaWQgKnB0cixzaXplX3Qgc2l6ZSwgY29uc3QgY2hhciAqIGZpbGUsIGludCBsaW5lKQoreworICAgIE1FTUhEUiAqcCwgKnRtcDsKKyAgICB1bnNpZ25lZCBsb25nIG51bWJlcjsKKyNpZmRlZiBERUJVR19NRU1PUlkKKyAgICBzaXplX3Qgb2xkc2l6ZTsKKyNlbmRpZgorCisgICAgaWYgKHB0ciA9PSBOVUxMKQorICAgICAgICByZXR1cm4oeG1sTWFsbG9jTG9jKHNpemUsIGZpbGUsIGxpbmUpKTsKKworICAgIGlmICgheG1sTWVtSW5pdGlhbGl6ZWQpIHhtbEluaXRNZW1vcnkoKTsKKyAgICBURVNUX1BPSU5UCisKKyAgICBwID0gQ0xJRU5UXzJfSERSKHB0cik7CisgICAgbnVtYmVyID0gcC0+bWhfbnVtYmVyOworICAgIGlmICh4bWxNZW1TdG9wQXRCbG9jayA9PSBudW1iZXIpIHhtbE1hbGxvY0JyZWFrcG9pbnQoKTsKKyAgICBpZiAocC0+bWhfdGFnICE9IE1FTVRBRykgeworICAgICAgIE1lbV9UYWdfRXJyKHApOworCSBnb3RvIGVycm9yOworICAgIH0KKyAgICBwLT5taF90YWcgPSB+TUVNVEFHOworICAgIHhtbE11dGV4TG9jayh4bWxNZW1NdXRleCk7CisgICAgZGVidWdNZW1TaXplIC09IHAtPm1oX3NpemU7CisgICAgZGVidWdNZW1CbG9ja3MtLTsKKyNpZmRlZiBERUJVR19NRU1PUlkKKyAgICBvbGRzaXplID0gcC0+bWhfc2l6ZTsKKyNlbmRpZgorI2lmZGVmIE1FTV9MSVNUCisgICAgZGVidWdtZW1fbGlzdF9kZWxldGUocCk7CisjZW5kaWYKKyAgICB4bWxNdXRleFVubG9jayh4bWxNZW1NdXRleCk7CisKKyAgICB0bXAgPSAoTUVNSERSICopIHJlYWxsb2MocCxSRVNFUlZFX1NJWkUrc2l6ZSk7CisgICAgaWYgKCF0bXApIHsKKwkgZnJlZShwKTsKKwkgZ290byBlcnJvcjsKKyAgICB9CisgICAgcCA9IHRtcDsKKyAgICBpZiAoeG1sTWVtVHJhY2VCbG9ja0F0ID09IHB0cikgeworCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkJIiVwIDogUmVhbGxvY2VkKCVsdSAtPiAlbHUpIE9rXG4iLAorCQkJeG1sTWVtVHJhY2VCbG9ja0F0LCAobG9uZyB1bnNpZ25lZClwLT5taF9zaXplLAorCQkJKGxvbmcgdW5zaWduZWQpc2l6ZSk7CisJeG1sTWFsbG9jQnJlYWtwb2ludCgpOworICAgIH0KKyAgICBwLT5taF90YWcgPSBNRU1UQUc7CisgICAgcC0+bWhfbnVtYmVyID0gbnVtYmVyOworICAgIHAtPm1oX3R5cGUgPSBSRUFMTE9DX1RZUEU7CisgICAgcC0+bWhfc2l6ZSA9IHNpemU7CisgICAgcC0+bWhfZmlsZSA9IGZpbGU7CisgICAgcC0+bWhfbGluZSA9IGxpbmU7CisgICAgeG1sTXV0ZXhMb2NrKHhtbE1lbU11dGV4KTsKKyAgICBkZWJ1Z01lbVNpemUgKz0gc2l6ZTsKKyAgICBkZWJ1Z01lbUJsb2NrcysrOworICAgIGlmIChkZWJ1Z01lbVNpemUgPiBkZWJ1Z01heE1lbVNpemUpIGRlYnVnTWF4TWVtU2l6ZSA9IGRlYnVnTWVtU2l6ZTsKKyNpZmRlZiBNRU1fTElTVAorICAgIGRlYnVnbWVtX2xpc3RfYWRkKHApOworI2VuZGlmCisgICAgeG1sTXV0ZXhVbmxvY2soeG1sTWVtTXV0ZXgpOworCisgICAgVEVTVF9QT0lOVAorCisjaWZkZWYgREVCVUdfTUVNT1JZCisgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJICAgICJSZWFsbG9jZWQoJWQgdG8gJWQpIE9rXG4iLCBvbGRzaXplLCBzaXplKTsKKyNlbmRpZgorICAgIHJldHVybihIRFJfMl9DTElFTlQocCkpOworCitlcnJvcjoKKyAgICByZXR1cm4oTlVMTCk7Cit9CisKKy8qKgorICogeG1sTWVtUmVhbGxvYzoKKyAqIEBwdHI6ICB0aGUgaW5pdGlhbCBtZW1vcnkgYmxvY2sgcG9pbnRlcgorICogQHNpemU6ICBhbiBpbnQgc3BlY2lmeWluZyB0aGUgc2l6ZSBpbiBieXRlIHRvIGFsbG9jYXRlLgorICoKKyAqIGEgcmVhbGxvYygpIGVxdWl2YWxlbnQsIHdpdGggbG9nZ2luZyBvZiB0aGUgYWxsb2NhdGlvbiBpbmZvLgorICoKKyAqIFJldHVybnMgYSBwb2ludGVyIHRvIHRoZSBhbGxvY2F0ZWQgYXJlYSBvciBOVUxMIGluIGNhc2Ugb2YgbGFjayBvZiBtZW1vcnkuCisgKi8KKwordm9pZCAqCit4bWxNZW1SZWFsbG9jKHZvaWQgKnB0cixzaXplX3Qgc2l6ZSkgeworICAgIHJldHVybih4bWxSZWFsbG9jTG9jKHB0ciwgc2l6ZSwgIm5vbmUiLCAwKSk7Cit9CisKKy8qKgorICogeG1sTWVtRnJlZToKKyAqIEBwdHI6ICB0aGUgbWVtb3J5IGJsb2NrIHBvaW50ZXIKKyAqCisgKiBhIGZyZWUoKSBlcXVpdmFsZW50LCB3aXRoIGVycm9yIGNoZWNraW5nLgorICovCit2b2lkCit4bWxNZW1GcmVlKHZvaWQgKnB0cikKK3sKKyAgICBNRU1IRFIgKnA7CisgICAgY2hhciAqdGFyZ2V0OworI2lmZGVmIERFQlVHX01FTU9SWQorICAgIHNpemVfdCBzaXplOworI2VuZGlmCisKKyAgICBpZiAocHRyID09IE5VTEwpCisJcmV0dXJuOworCisgICAgaWYgKHB0ciA9PSAodm9pZCAqKSAtMSkgeworCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCSAgICAidHJ5aW5nIHRvIGZyZWUgcG9pbnRlciBmcm9tIGZyZWVkIGFyZWFcbiIpOworICAgICAgICBnb3RvIGVycm9yOworICAgIH0KKworICAgIGlmICh4bWxNZW1UcmFjZUJsb2NrQXQgPT0gcHRyKSB7CisJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCQkiJXAgOiBGcmVlZCgpXG4iLCB4bWxNZW1UcmFjZUJsb2NrQXQpOworCXhtbE1hbGxvY0JyZWFrcG9pbnQoKTsKKyAgICB9CisKKyAgICBURVNUX1BPSU5UCisKKyAgICB0YXJnZXQgPSAoY2hhciAqKSBwdHI7CisKKyAgICBwID0gQ0xJRU5UXzJfSERSKHB0cik7CisgICAgaWYgKHAtPm1oX3RhZyAhPSBNRU1UQUcpIHsKKyAgICAgICAgTWVtX1RhZ19FcnIocCk7CisgICAgICAgIGdvdG8gZXJyb3I7CisgICAgfQorICAgIGlmICh4bWxNZW1TdG9wQXRCbG9jayA9PSBwLT5taF9udW1iZXIpIHhtbE1hbGxvY0JyZWFrcG9pbnQoKTsKKyAgICBwLT5taF90YWcgPSB+TUVNVEFHOworICAgIG1lbXNldCh0YXJnZXQsIC0xLCBwLT5taF9zaXplKTsKKyAgICB4bWxNdXRleExvY2soeG1sTWVtTXV0ZXgpOworICAgIGRlYnVnTWVtU2l6ZSAtPSBwLT5taF9zaXplOworICAgIGRlYnVnTWVtQmxvY2tzLS07CisjaWZkZWYgREVCVUdfTUVNT1JZCisgICAgc2l6ZSA9IHAtPm1oX3NpemU7CisjZW5kaWYKKyNpZmRlZiBNRU1fTElTVAorICAgIGRlYnVnbWVtX2xpc3RfZGVsZXRlKHApOworI2VuZGlmCisgICAgeG1sTXV0ZXhVbmxvY2soeG1sTWVtTXV0ZXgpOworCisgICAgZnJlZShwKTsKKworICAgIFRFU1RfUE9JTlQKKworI2lmZGVmIERFQlVHX01FTU9SWQorICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCSAgICAiRnJlZWQoJWQpIE9rXG4iLCBzaXplKTsKKyNlbmRpZgorCisgICAgcmV0dXJuOworCitlcnJvcjoKKyAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkgICAgInhtbE1lbUZyZWUoJWxYKSBlcnJvclxuIiwgKHVuc2lnbmVkIGxvbmcpIHB0cik7CisgICAgeG1sTWFsbG9jQnJlYWtwb2ludCgpOworICAgIHJldHVybjsKK30KKworLyoqCisgKiB4bWxNZW1TdHJkdXBMb2M6CisgKiBAc3RyOiAgdGhlIGluaXRpYWwgc3RyaW5nIHBvaW50ZXIKKyAqIEBmaWxlOiAgdGhlIGZpbGUgbmFtZSBvciBOVUxMCisgKiBAbGluZTogIHRoZSBsaW5lIG51bWJlcgorICoKKyAqIGEgc3RyZHVwKCkgZXF1aXZhbGVudCwgd2l0aCBsb2dnaW5nIG9mIHRoZSBhbGxvY2F0aW9uIGluZm8uCisgKgorICogUmV0dXJucyBhIHBvaW50ZXIgdG8gdGhlIG5ldyBzdHJpbmcgb3IgTlVMTCBpZiBhbGxvY2F0aW9uIGVycm9yIG9jY3VycmVkLgorICovCisKK2NoYXIgKgoreG1sTWVtU3RyZHVwTG9jKGNvbnN0IGNoYXIgKnN0ciwgY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUpCit7CisgICAgY2hhciAqczsKKyAgICBzaXplX3Qgc2l6ZSA9IHN0cmxlbihzdHIpICsgMTsKKyAgICBNRU1IRFIgKnA7CisKKyAgICBpZiAoIXhtbE1lbUluaXRpYWxpemVkKSB4bWxJbml0TWVtb3J5KCk7CisgICAgVEVTVF9QT0lOVAorCisgICAgcCA9IChNRU1IRFIgKikgbWFsbG9jKFJFU0VSVkVfU0laRStzaXplKTsKKyAgICBpZiAoIXApIHsKKyAgICAgIGdvdG8gZXJyb3I7CisgICAgfQorICAgIHAtPm1oX3RhZyA9IE1FTVRBRzsKKyAgICBwLT5taF9zaXplID0gc2l6ZTsKKyAgICBwLT5taF90eXBlID0gU1RSRFVQX1RZUEU7CisgICAgcC0+bWhfZmlsZSA9IGZpbGU7CisgICAgcC0+bWhfbGluZSA9IGxpbmU7CisgICAgeG1sTXV0ZXhMb2NrKHhtbE1lbU11dGV4KTsKKyAgICBwLT5taF9udW1iZXIgPSArK2Jsb2NrOworICAgIGRlYnVnTWVtU2l6ZSArPSBzaXplOworICAgIGRlYnVnTWVtQmxvY2tzKys7CisgICAgaWYgKGRlYnVnTWVtU2l6ZSA+IGRlYnVnTWF4TWVtU2l6ZSkgZGVidWdNYXhNZW1TaXplID0gZGVidWdNZW1TaXplOworI2lmZGVmIE1FTV9MSVNUCisgICAgZGVidWdtZW1fbGlzdF9hZGQocCk7CisjZW5kaWYKKyAgICB4bWxNdXRleFVubG9jayh4bWxNZW1NdXRleCk7CisKKyAgICBzID0gKGNoYXIgKikgSERSXzJfQ0xJRU5UKHApOworCisgICAgaWYgKHhtbE1lbVN0b3BBdEJsb2NrID09IHAtPm1oX251bWJlcikgeG1sTWFsbG9jQnJlYWtwb2ludCgpOworCisgICAgc3RyY3B5KHMsc3RyKTsKKworICAgIFRFU1RfUE9JTlQKKworICAgIGlmICh4bWxNZW1UcmFjZUJsb2NrQXQgPT0gcykgeworCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkJIiVwIDogU3RyZHVwKCkgT2tcbiIsIHhtbE1lbVRyYWNlQmxvY2tBdCk7CisJeG1sTWFsbG9jQnJlYWtwb2ludCgpOworICAgIH0KKworICAgIHJldHVybihzKTsKKworZXJyb3I6CisgICAgcmV0dXJuKE5VTEwpOworfQorCisvKioKKyAqIHhtbE1lbW9yeVN0cmR1cDoKKyAqIEBzdHI6ICB0aGUgaW5pdGlhbCBzdHJpbmcgcG9pbnRlcgorICoKKyAqIGEgc3RyZHVwKCkgZXF1aXZhbGVudCwgd2l0aCBsb2dnaW5nIG9mIHRoZSBhbGxvY2F0aW9uIGluZm8uCisgKgorICogUmV0dXJucyBhIHBvaW50ZXIgdG8gdGhlIG5ldyBzdHJpbmcgb3IgTlVMTCBpZiBhbGxvY2F0aW9uIGVycm9yIG9jY3VycmVkLgorICovCisKK2NoYXIgKgoreG1sTWVtb3J5U3RyZHVwKGNvbnN0IGNoYXIgKnN0cikgeworICAgIHJldHVybih4bWxNZW1TdHJkdXBMb2Moc3RyLCAibm9uZSIsIDApKTsKK30KKworLyoqCisgKiB4bWxNZW1Vc2VkOgorICoKKyAqIFByb3ZpZGVzIHRoZSBhbW91bnQgb2YgbWVtb3J5IGN1cnJlbnRseSBhbGxvY2F0ZWQKKyAqCisgKiBSZXR1cm5zIGFuIGludCByZXByZXNlbnRpbmcgdGhlIGFtb3VudCBvZiBtZW1vcnkgYWxsb2NhdGVkLgorICovCisKK2ludAoreG1sTWVtVXNlZCh2b2lkKSB7CisgICAgIHJldHVybihkZWJ1Z01lbVNpemUpOworfQorCisvKioKKyAqIHhtbE1lbUJsb2NrczoKKyAqCisgKiBQcm92aWRlcyB0aGUgbnVtYmVyIG9mIG1lbW9yeSBhcmVhcyBjdXJyZW50bHkgYWxsb2NhdGVkCisgKgorICogUmV0dXJucyBhbiBpbnQgcmVwcmVzZW50aW5nIHRoZSBudW1iZXIgb2YgYmxvY2tzCisgKi8KKworaW50Cit4bWxNZW1CbG9ja3Modm9pZCkgeworICAgICByZXR1cm4oZGVidWdNZW1CbG9ja3MpOworfQorCisjaWZkZWYgTUVNX0xJU1QKKy8qKgorICogeG1sTWVtQ29udGVudFNob3c6CisgKiBAZnA6ICBhIEZJTEUgZGVzY3JpcHRvciB1c2VkIGFzIHRoZSBvdXRwdXQgZmlsZQorICogQHA6ICBhIG1lbW9yeSBibG9jayBoZWFkZXIKKyAqCisgKiB0cmllcyB0byBzaG93IHNvbWUgY29udGVudCBmcm9tIHRoZSBtZW1vcnkgYmxvY2sKKyAqLworCitzdGF0aWMgdm9pZAoreG1sTWVtQ29udGVudFNob3coRklMRSAqZnAsIE1FTUhEUiAqcCkKK3sKKyAgICBpbnQgaSxqLGssbGVuOworICAgIGNvbnN0IGNoYXIgKmJ1ZjsKKworICAgIGlmIChwID09IE5VTEwpIHsKKwlmcHJpbnRmKGZwLCAiIE5VTEwiKTsKKwlyZXR1cm47CisgICAgfQorICAgIGxlbiA9IHAtPm1oX3NpemU7CisgICAgYnVmID0gKGNvbnN0IGNoYXIgKikgSERSXzJfQ0xJRU5UKHApOworCisgICAgZm9yIChpID0gMDtpIDwgbGVuO2krKykgeworICAgICAgICBpZiAoYnVmW2ldID09IDApIGJyZWFrOworCWlmICghaXNwcmludCgodW5zaWduZWQgY2hhcikgYnVmW2ldKSkgYnJlYWs7CisgICAgfQorICAgIGlmICgoaSA8IDQpICYmICgoYnVmW2ldICE9IDApIHx8IChpID09IDApKSkgeworICAgICAgICBpZiAobGVuID49IDQpIHsKKwkgICAgTUVNSERSICpxOworCSAgICB2b2lkICpjdXI7CisKKyAgICAgICAgICAgIGZvciAoaiA9IDA7KGogPCBsZW4gLTMpICYmIChqIDwgNDApO2ogKz0gNCkgeworCQljdXIgPSAqKCh2b2lkICoqKSAmYnVmW2pdKTsKKwkJcSA9IENMSUVOVF8yX0hEUihjdXIpOworCQlwID0gbWVtbGlzdDsKKwkJayA9IDA7CisJCXdoaWxlIChwICE9IE5VTEwpIHsKKwkJICAgIGlmIChwID09IHEpIGJyZWFrOworCQkgICAgcCA9IHAtPm1oX25leHQ7CisJCSAgICBpZiAoaysrID4gMTAwKSBicmVhazsKKwkJfQorCQlpZiAoKHAgIT0gTlVMTCkgJiYgKHAgPT0gcSkpIHsKKwkJICAgIGZwcmludGYoZnAsICIgcG9pbnRlciB0byAjJWx1IGF0IGluZGV4ICVkIiwKKwkJICAgICAgICAgICAgcC0+bWhfbnVtYmVyLCBqKTsKKwkJICAgIHJldHVybjsKKwkJfQorCSAgICB9CisJfQorICAgIH0gZWxzZSBpZiAoKGkgPT0gMCkgJiYgKGJ1ZltpXSA9PSAwKSkgeworICAgICAgICBmcHJpbnRmKGZwLCIgbnVsbCIpOworICAgIH0gZWxzZSB7CisgICAgICAgIGlmIChidWZbaV0gPT0gMCkgZnByaW50ZihmcCwiIFwiJS4yNXNcIiIsIGJ1Zik7CisJZWxzZSB7CisgICAgICAgICAgICBmcHJpbnRmKGZwLCIgWyIpOworCSAgICBmb3IgKGogPSAwO2ogPCBpO2orKykKKyAgICAgICAgICAgICAgICBmcHJpbnRmKGZwLCIlYyIsIGJ1ZltqXSk7CisgICAgICAgICAgICBmcHJpbnRmKGZwLCJdIik7CisJfQorICAgIH0KK30KKyNlbmRpZgorCisvKioKKyAqIHhtbE1lbURpc3BsYXlMYXN0OgorICogQGZwOiAgYSBGSUxFIGRlc2NyaXB0b3IgdXNlZCBhcyB0aGUgb3V0cHV0IGZpbGUsIGlmIE5VTEwsIHRoZSByZXN1bHQgaXMKKyAqICAgICAgIHdyaXR0ZW4gdG8gdGhlIGZpbGUgLm1lbW9yeWxpc3QKKyAqIEBuYkJ5dGVzOiB0aGUgYW1vdW50IG9mIG1lbW9yeSB0byBkdW1wCisgKgorICogdGhlIGxhc3QgbmJCeXRlcyBvZiBtZW1vcnkgYWxsb2NhdGVkIGFuZCBub3QgZnJlZWQsIHVzZWZ1bCBmb3IgZHVtcGluZworICogdGhlIG1lbW9yeSBsZWZ0IGFsbG9jYXRlZCBiZXR3ZWVuIHR3byBwbGFjZXMgYXQgcnVudGltZS4KKyAqLworCit2b2lkCit4bWxNZW1EaXNwbGF5TGFzdChGSUxFICpmcCwgbG9uZyBuYkJ5dGVzKQoreworI2lmZGVmIE1FTV9MSVNUCisgICAgTUVNSERSICpwOworICAgIHVuc2lnbmVkIGlkeDsKKyAgICBpbnQgICAgIG5iID0gMDsKKyNlbmRpZgorICAgIEZJTEUgKm9sZF9mcCA9IGZwOworCisgICAgaWYgKG5iQnl0ZXMgPD0gMCkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKGZwID09IE5VTEwpIHsKKwlmcCA9IGZvcGVuKCIubWVtb3J5bGlzdCIsICJ3Iik7CisJaWYgKGZwID09IE5VTEwpCisJICAgIHJldHVybjsKKyAgICB9CisKKyNpZmRlZiBNRU1fTElTVAorICAgIGZwcmludGYoZnAsIiAgIExhc3QgJWxpIE1FTU9SWSBBTExPQ0FURUQgOiAlbHUsIE1BWCB3YXMgJWx1XG4iLAorICAgICAgICAgICAgbmJCeXRlcywgZGVidWdNZW1TaXplLCBkZWJ1Z01heE1lbVNpemUpOworICAgIGZwcmludGYoZnAsIkJMT0NLICBOVU1CRVIgICBTSVpFICBUWVBFXG4iKTsKKyAgICBpZHggPSAwOworICAgIHhtbE11dGV4TG9jayh4bWxNZW1NdXRleCk7CisgICAgcCA9IG1lbWxpc3Q7CisgICAgd2hpbGUgKChwKSAmJiAobmJCeXRlcyA+IDApKSB7CisJICBmcHJpbnRmKGZwLCIlLTV1ICAlNmx1ICU2bHUgIixpZHgrKyxwLT5taF9udW1iZXIsCisJCSAgKHVuc2lnbmVkIGxvbmcpcC0+bWhfc2l6ZSk7CisgICAgICAgIHN3aXRjaCAocC0+bWhfdHlwZSkgeworICAgICAgICAgICBjYXNlIFNUUkRVUF9UWVBFOmZwcmludGYoZnAsInN0cmR1cCgpICBpbiAiKTticmVhazsKKyAgICAgICAgICAgY2FzZSBNQUxMT0NfVFlQRTpmcHJpbnRmKGZwLCJtYWxsb2MoKSAgaW4gIik7YnJlYWs7CisgICAgICAgICAgIGNhc2UgUkVBTExPQ19UWVBFOmZwcmludGYoZnAsInJlYWxsb2MoKSBpbiAiKTticmVhazsKKyAgICAgICAgICAgY2FzZSBNQUxMT0NfQVRPTUlDX1RZUEU6ZnByaW50ZihmcCwiYXRvbWljbWFsbG9jKCkgIGluICIpO2JyZWFrOworICAgICAgICAgICBjYXNlIFJFQUxMT0NfQVRPTUlDX1RZUEU6ZnByaW50ZihmcCwiYXRvbWljcmVhbGxvYygpIGluICIpO2JyZWFrOworICAgICAgICAgICBkZWZhdWx0OgorCSAgICAgICAgZnByaW50ZihmcCwiVW5rbm93biBtZW1vcnkgYmxvY2ssIG1heSBiZSBjb3JydXB0ZWQiKTsKKwkJeG1sTXV0ZXhVbmxvY2soeG1sTWVtTXV0ZXgpOworCQlpZiAob2xkX2ZwID09IE5VTEwpCisJCSAgICBmY2xvc2UoZnApOworCQlyZXR1cm47CisgICAgICAgIH0KKwlpZiAocC0+bWhfZmlsZSAhPSBOVUxMKSBmcHJpbnRmKGZwLCIlcygldSkiLCBwLT5taF9maWxlLCBwLT5taF9saW5lKTsKKyAgICAgICAgaWYgKHAtPm1oX3RhZyAhPSBNRU1UQUcpCisJICAgICAgZnByaW50ZihmcCwiICBJTlZBTElEIik7CisgICAgICAgIG5iKys7CisJaWYgKG5iIDwgMTAwKQorCSAgICB4bWxNZW1Db250ZW50U2hvdyhmcCwgcCk7CisJZWxzZQorCSAgICBmcHJpbnRmKGZwLCIgc2tpcCIpOworCisgICAgICAgIGZwcmludGYoZnAsIlxuIik7CisJbmJCeXRlcyAtPSAodW5zaWduZWQgbG9uZylwLT5taF9zaXplOworICAgICAgICBwID0gcC0+bWhfbmV4dDsKKyAgICB9CisgICAgeG1sTXV0ZXhVbmxvY2soeG1sTWVtTXV0ZXgpOworI2Vsc2UKKyAgICBmcHJpbnRmKGZwLCJNZW1vcnkgbGlzdCBub3QgY29tcGlsZWQgKE1FTV9MSVNUIG5vdCBkZWZpbmVkICEpXG4iKTsKKyNlbmRpZgorICAgIGlmIChvbGRfZnAgPT0gTlVMTCkKKwlmY2xvc2UoZnApOworfQorCisvKioKKyAqIHhtbE1lbURpc3BsYXk6CisgKiBAZnA6ICBhIEZJTEUgZGVzY3JpcHRvciB1c2VkIGFzIHRoZSBvdXRwdXQgZmlsZSwgaWYgTlVMTCwgdGhlIHJlc3VsdCBpcworICogICAgICAgd3JpdHRlbiB0byB0aGUgZmlsZSAubWVtb3J5bGlzdAorICoKKyAqIHNob3cgaW4tZXh0ZW5zbyB0aGUgbWVtb3J5IGJsb2NrcyBhbGxvY2F0ZWQKKyAqLworCit2b2lkCit4bWxNZW1EaXNwbGF5KEZJTEUgKmZwKQoreworI2lmZGVmIE1FTV9MSVNUCisgICAgTUVNSERSICpwOworICAgIHVuc2lnbmVkIGlkeDsKKyAgICBpbnQgICAgIG5iID0gMDsKKyNpZiBkZWZpbmVkKEhBVkVfTE9DQUxUSU1FKSAmJiBkZWZpbmVkKEhBVkVfU1RSRlRJTUUpCisgICAgdGltZV90IGN1cnJlbnRUaW1lOworICAgIGNoYXIgYnVmWzUwMF07CisgICAgc3RydWN0IHRtICogdHN0cnVjdDsKKyNlbmRpZgorI2VuZGlmCisgICAgRklMRSAqb2xkX2ZwID0gZnA7CisKKyAgICBpZiAoZnAgPT0gTlVMTCkgeworCWZwID0gZm9wZW4oIi5tZW1vcnlsaXN0IiwgInciKTsKKwlpZiAoZnAgPT0gTlVMTCkKKwkgICAgcmV0dXJuOworICAgIH0KKworI2lmZGVmIE1FTV9MSVNUCisjaWYgZGVmaW5lZChIQVZFX0xPQ0FMVElNRSkgJiYgZGVmaW5lZChIQVZFX1NUUkZUSU1FKQorICAgIGN1cnJlbnRUaW1lID0gdGltZShOVUxMKTsKKyAgICB0c3RydWN0ID0gbG9jYWx0aW1lKCZjdXJyZW50VGltZSk7CisgICAgc3RyZnRpbWUoYnVmLCBzaXplb2YoYnVmKSAtIDEsICIlSTolTTolUyAlcCIsIHRzdHJ1Y3QpOworICAgIGZwcmludGYoZnAsIiAgICAgICVzXG5cbiIsIGJ1Zik7CisjZW5kaWYKKworCisgICAgZnByaW50ZihmcCwiICAgICAgTUVNT1JZIEFMTE9DQVRFRCA6ICVsdSwgTUFYIHdhcyAlbHVcbiIsCisgICAgICAgICAgICBkZWJ1Z01lbVNpemUsIGRlYnVnTWF4TWVtU2l6ZSk7CisgICAgZnByaW50ZihmcCwiQkxPQ0sgIE5VTUJFUiAgIFNJWkUgIFRZUEVcbiIpOworICAgIGlkeCA9IDA7CisgICAgeG1sTXV0ZXhMb2NrKHhtbE1lbU11dGV4KTsKKyAgICBwID0gbWVtbGlzdDsKKyAgICB3aGlsZSAocCkgeworCSAgZnByaW50ZihmcCwiJS01dSAgJTZsdSAlNmx1ICIsaWR4KysscC0+bWhfbnVtYmVyLAorCQkgICh1bnNpZ25lZCBsb25nKXAtPm1oX3NpemUpOworICAgICAgICBzd2l0Y2ggKHAtPm1oX3R5cGUpIHsKKyAgICAgICAgICAgY2FzZSBTVFJEVVBfVFlQRTpmcHJpbnRmKGZwLCJzdHJkdXAoKSAgaW4gIik7YnJlYWs7CisgICAgICAgICAgIGNhc2UgTUFMTE9DX1RZUEU6ZnByaW50ZihmcCwibWFsbG9jKCkgIGluICIpO2JyZWFrOworICAgICAgICAgICBjYXNlIFJFQUxMT0NfVFlQRTpmcHJpbnRmKGZwLCJyZWFsbG9jKCkgaW4gIik7YnJlYWs7CisgICAgICAgICAgIGNhc2UgTUFMTE9DX0FUT01JQ19UWVBFOmZwcmludGYoZnAsImF0b21pY21hbGxvYygpICBpbiAiKTticmVhazsKKyAgICAgICAgICAgY2FzZSBSRUFMTE9DX0FUT01JQ19UWVBFOmZwcmludGYoZnAsImF0b21pY3JlYWxsb2MoKSBpbiAiKTticmVhazsKKyAgICAgICAgICAgZGVmYXVsdDoKKwkgICAgICAgIGZwcmludGYoZnAsIlVua25vd24gbWVtb3J5IGJsb2NrLCBtYXkgYmUgY29ycnVwdGVkIik7CisJCXhtbE11dGV4VW5sb2NrKHhtbE1lbU11dGV4KTsKKwkJaWYgKG9sZF9mcCA9PSBOVUxMKQorCQkgICAgZmNsb3NlKGZwKTsKKwkJcmV0dXJuOworICAgICAgICB9CisJaWYgKHAtPm1oX2ZpbGUgIT0gTlVMTCkgZnByaW50ZihmcCwiJXMoJXUpIiwgcC0+bWhfZmlsZSwgcC0+bWhfbGluZSk7CisgICAgICAgIGlmIChwLT5taF90YWcgIT0gTUVNVEFHKQorCSAgICAgIGZwcmludGYoZnAsIiAgSU5WQUxJRCIpOworICAgICAgICBuYisrOworCWlmIChuYiA8IDEwMCkKKwkgICAgeG1sTWVtQ29udGVudFNob3coZnAsIHApOworCWVsc2UKKwkgICAgZnByaW50ZihmcCwiIHNraXAiKTsKKworICAgICAgICBmcHJpbnRmKGZwLCJcbiIpOworICAgICAgICBwID0gcC0+bWhfbmV4dDsKKyAgICB9CisgICAgeG1sTXV0ZXhVbmxvY2soeG1sTWVtTXV0ZXgpOworI2Vsc2UKKyAgICBmcHJpbnRmKGZwLCJNZW1vcnkgbGlzdCBub3QgY29tcGlsZWQgKE1FTV9MSVNUIG5vdCBkZWZpbmVkICEpXG4iKTsKKyNlbmRpZgorICAgIGlmIChvbGRfZnAgPT0gTlVMTCkKKwlmY2xvc2UoZnApOworfQorCisjaWZkZWYgTUVNX0xJU1QKKworc3RhdGljIHZvaWQgZGVidWdtZW1fbGlzdF9hZGQoTUVNSERSICpwKQoreworICAgICBwLT5taF9uZXh0ID0gbWVtbGlzdDsKKyAgICAgcC0+bWhfcHJldiA9IE5VTEw7CisgICAgIGlmIChtZW1saXN0KSBtZW1saXN0LT5taF9wcmV2ID0gcDsKKyAgICAgbWVtbGlzdCA9IHA7CisjaWZkZWYgTUVNX0xJU1RfREVCVUcKKyAgICAgaWYgKHN0ZGVycikKKyAgICAgTWVtX0Rpc3BsYXkoc3RkZXJyKTsKKyNlbmRpZgorfQorCitzdGF0aWMgdm9pZCBkZWJ1Z21lbV9saXN0X2RlbGV0ZShNRU1IRFIgKnApCit7CisgICAgIGlmIChwLT5taF9uZXh0KQorICAgICBwLT5taF9uZXh0LT5taF9wcmV2ID0gcC0+bWhfcHJldjsKKyAgICAgaWYgKHAtPm1oX3ByZXYpCisgICAgIHAtPm1oX3ByZXYtPm1oX25leHQgPSBwLT5taF9uZXh0OworICAgICBlbHNlIG1lbWxpc3QgPSBwLT5taF9uZXh0OworI2lmZGVmIE1FTV9MSVNUX0RFQlVHCisgICAgIGlmIChzdGRlcnIpCisgICAgIE1lbV9EaXNwbGF5KHN0ZGVycik7CisjZW5kaWYKK30KKworI2VuZGlmCisKKy8qCisgKiBkZWJ1Z21lbV90YWdfZXJyb3I6CisgKgorICogaW50ZXJuYWwgZXJyb3IgZnVuY3Rpb24uCisgKi8KKworc3RhdGljIHZvaWQgZGVidWdtZW1fdGFnX2Vycm9yKHZvaWQgKnApCit7CisgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCSAgICAgIk1lbW9yeSB0YWcgZXJyb3Igb2NjdXJzIDolcCBcblx0IGJ5ZVxuIiwgcCk7CisjaWZkZWYgTUVNX0xJU1QKKyAgICAgaWYgKHN0ZGVycikKKyAgICAgeG1sTWVtRGlzcGxheShzdGRlcnIpOworI2VuZGlmCit9CisKKyNpZmRlZiBNRU1fTElTVAorc3RhdGljIEZJTEUgKnhtbE1lbW9yeUR1bXBGaWxlID0gTlVMTDsKKyNlbmRpZgorCisvKioKKyAqIHhtbE1lbVNob3c6CisgKiBAZnA6ICBhIEZJTEUgZGVzY3JpcHRvciB1c2VkIGFzIHRoZSBvdXRwdXQgZmlsZQorICogQG5yOiAgbnVtYmVyIG9mIGVudHJpZXMgdG8gZHVtcAorICoKKyAqIHNob3cgYSBzaG93IGRpc3BsYXkgb2YgdGhlIG1lbW9yeSBhbGxvY2F0ZWQsIGFuZCBkdW1wCisgKiB0aGUgQG5yIGxhc3QgYWxsb2NhdGVkIGFyZWFzIHdoaWNoIHdlcmUgbm90IGZyZWVkCisgKi8KKwordm9pZAoreG1sTWVtU2hvdyhGSUxFICpmcCwgaW50IG5yIEFUVFJJQlVURV9VTlVTRUQpCit7CisjaWZkZWYgTUVNX0xJU1QKKyAgICBNRU1IRFIgKnA7CisjZW5kaWYKKworICAgIGlmIChmcCAhPSBOVUxMKQorCWZwcmludGYoZnAsIiAgICAgIE1FTU9SWSBBTExPQ0FURUQgOiAlbHUsIE1BWCB3YXMgJWx1XG4iLAorCQlkZWJ1Z01lbVNpemUsIGRlYnVnTWF4TWVtU2l6ZSk7CisjaWZkZWYgTUVNX0xJU1QKKyAgICB4bWxNdXRleExvY2soeG1sTWVtTXV0ZXgpOworICAgIGlmIChuciA+IDApIHsKKwlmcHJpbnRmKGZwLCJOVU1CRVIgICBTSVpFICBUWVBFICAgV0hFUkVcbiIpOworCXAgPSBtZW1saXN0OworCXdoaWxlICgocCkgJiYgbnIgPiAwKSB7CisJICAgICAgZnByaW50ZihmcCwiJTZsdSAlNmx1ICIscC0+bWhfbnVtYmVyLCh1bnNpZ25lZCBsb25nKXAtPm1oX3NpemUpOworCSAgICBzd2l0Y2ggKHAtPm1oX3R5cGUpIHsKKwkgICAgICAgY2FzZSBTVFJEVVBfVFlQRTpmcHJpbnRmKGZwLCJzdHJkdXAoKSAgaW4gIik7YnJlYWs7CisJICAgICAgIGNhc2UgTUFMTE9DX1RZUEU6ZnByaW50ZihmcCwibWFsbG9jKCkgIGluICIpO2JyZWFrOworCSAgICAgICBjYXNlIE1BTExPQ19BVE9NSUNfVFlQRTpmcHJpbnRmKGZwLCJhdG9taWNtYWxsb2MoKSAgaW4gIik7YnJlYWs7CisJICAgICAgY2FzZSBSRUFMTE9DX1RZUEU6ZnByaW50ZihmcCwicmVhbGxvYygpIGluICIpO2JyZWFrOworCSAgICAgIGNhc2UgUkVBTExPQ19BVE9NSUNfVFlQRTpmcHJpbnRmKGZwLCJhdG9taWNyZWFsbG9jKCkgaW4gIik7YnJlYWs7CisJCWRlZmF1bHQ6ZnByaW50ZihmcCwiICAgPz8/ICAgIGluICIpO2JyZWFrOworCSAgICB9CisJICAgIGlmIChwLT5taF9maWxlICE9IE5VTEwpCisJICAgICAgICBmcHJpbnRmKGZwLCIlcygldSkiLCBwLT5taF9maWxlLCBwLT5taF9saW5lKTsKKwkgICAgaWYgKHAtPm1oX3RhZyAhPSBNRU1UQUcpCisJCWZwcmludGYoZnAsIiAgSU5WQUxJRCIpOworCSAgICB4bWxNZW1Db250ZW50U2hvdyhmcCwgcCk7CisJICAgIGZwcmludGYoZnAsIlxuIik7CisJICAgIG5yLS07CisJICAgIHAgPSBwLT5taF9uZXh0OworCX0KKyAgICB9CisgICAgeG1sTXV0ZXhVbmxvY2soeG1sTWVtTXV0ZXgpOworI2VuZGlmIC8qIE1FTV9MSVNUICovCit9CisKKy8qKgorICogeG1sTWVtb3J5RHVtcDoKKyAqCisgKiBEdW1wIGluLWV4dGVuc28gdGhlIG1lbW9yeSBibG9ja3MgYWxsb2NhdGVkIHRvIHRoZSBmaWxlIC5tZW1vcnlsaXN0CisgKi8KKwordm9pZAoreG1sTWVtb3J5RHVtcCh2b2lkKQoreworI2lmZGVmIE1FTV9MSVNUCisgICAgRklMRSAqZHVtcDsKKworICAgIGlmIChkZWJ1Z01heE1lbVNpemUgPT0gMCkKKwlyZXR1cm47CisgICAgZHVtcCA9IGZvcGVuKCIubWVtZHVtcCIsICJ3Iik7CisgICAgaWYgKGR1bXAgPT0gTlVMTCkKKwl4bWxNZW1vcnlEdW1wRmlsZSA9IHN0ZGVycjsKKyAgICBlbHNlIHhtbE1lbW9yeUR1bXBGaWxlID0gZHVtcDsKKworICAgIHhtbE1lbURpc3BsYXkoeG1sTWVtb3J5RHVtcEZpbGUpOworCisgICAgaWYgKGR1bXAgIT0gTlVMTCkgZmNsb3NlKGR1bXApOworI2VuZGlmIC8qIE1FTV9MSVNUICovCit9CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkqCisgKgkJSW5pdGlhbGl6YXRpb24gUm91dGluZXMJCQkJKgorICoJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioKKyAqIHhtbEluaXRNZW1vcnk6CisgKgorICogSW5pdGlhbGl6ZSB0aGUgbWVtb3J5IGxheWVyLgorICoKKyAqIFJldHVybnMgMCBvbiBzdWNjZXNzCisgKi8KK2ludAoreG1sSW5pdE1lbW9yeSh2b2lkKQoreworI2lmZGVmIEhBVkVfU1RETElCX0gKKyAgICAgY2hhciAqYnJlYWtwb2ludDsKKyNlbmRpZgorI2lmZGVmIERFQlVHX01FTU9SWQorICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkgICAgICJ4bWxJbml0TWVtb3J5KClcbiIpOworI2VuZGlmCisgICAgLyoKKyAgICAgVGhpcyBpcyByZWFsbHkgbm90IGdvb2QgY29kZSAoc2VlIEJ1ZyAxMzA0MTkpLiAgU3VnZ2VzdGlvbnMgZm9yCisgICAgIGltcHJvdmVtZW50IHdpbGwgYmUgd2VsY29tZSEKKyAgICAqLworICAgICBpZiAoeG1sTWVtSW5pdGlhbGl6ZWQpIHJldHVybigtMSk7CisgICAgIHhtbE1lbUluaXRpYWxpemVkID0gMTsKKyAgICAgeG1sTWVtTXV0ZXggPSB4bWxOZXdNdXRleCgpOworCisjaWZkZWYgSEFWRV9TVERMSUJfSAorICAgICBicmVha3BvaW50ID0gZ2V0ZW52KCJYTUxfTUVNX0JSRUFLUE9JTlQiKTsKKyAgICAgaWYgKGJyZWFrcG9pbnQgIT0gTlVMTCkgeworICAgICAgICAgc3NjYW5mKGJyZWFrcG9pbnQsICIldWQiLCAmeG1sTWVtU3RvcEF0QmxvY2spOworICAgICB9CisjZW5kaWYKKyNpZmRlZiBIQVZFX1NURExJQl9ICisgICAgIGJyZWFrcG9pbnQgPSBnZXRlbnYoIlhNTF9NRU1fVFJBQ0UiKTsKKyAgICAgaWYgKGJyZWFrcG9pbnQgIT0gTlVMTCkgeworICAgICAgICAgc3NjYW5mKGJyZWFrcG9pbnQsICIlcCIsICZ4bWxNZW1UcmFjZUJsb2NrQXQpOworICAgICB9CisjZW5kaWYKKworI2lmZGVmIERFQlVHX01FTU9SWQorICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkgICAgICJ4bWxJbml0TWVtb3J5KCkgT2tcbiIpOworI2VuZGlmCisgICAgIHJldHVybigwKTsKK30KKworLyoqCisgKiB4bWxDbGVhbnVwTWVtb3J5OgorICoKKyAqIEZyZWUgdXAgYWxsIHRoZSBtZW1vcnkgYWxsb2NhdGVkIGJ5IHRoZSBsaWJyYXJ5IGZvciBpdHMgb3duCisgKiB1c2UuIFRoaXMgc2hvdWxkIG5vdCBiZSBjYWxsZWQgYnkgdXNlciBsZXZlbCBjb2RlLgorICovCit2b2lkCit4bWxDbGVhbnVwTWVtb3J5KHZvaWQpIHsKKyNpZmRlZiBERUJVR19NRU1PUlkKKyAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJICAgICAieG1sQ2xlYW51cE1lbW9yeSgpXG4iKTsKKyNlbmRpZgorICAgIGlmICh4bWxNZW1Jbml0aWFsaXplZCA9PSAwKQorICAgICAgICByZXR1cm47CisKKyAgICB4bWxGcmVlTXV0ZXgoeG1sTWVtTXV0ZXgpOworICAgIHhtbE1lbU11dGV4ID0gTlVMTDsKKyAgICB4bWxNZW1Jbml0aWFsaXplZCA9IDA7CisjaWZkZWYgREVCVUdfTUVNT1JZCisgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCSAgICAgInhtbENsZWFudXBNZW1vcnkoKSBPa1xuIik7CisjZW5kaWYKK30KKworLyoqCisgKiB4bWxNZW1TZXR1cDoKKyAqIEBmcmVlRnVuYzogdGhlIGZyZWUoKSBmdW5jdGlvbiB0byB1c2UKKyAqIEBtYWxsb2NGdW5jOiB0aGUgbWFsbG9jKCkgZnVuY3Rpb24gdG8gdXNlCisgKiBAcmVhbGxvY0Z1bmM6IHRoZSByZWFsbG9jKCkgZnVuY3Rpb24gdG8gdXNlCisgKiBAc3RyZHVwRnVuYzogdGhlIHN0cmR1cCgpIGZ1bmN0aW9uIHRvIHVzZQorICoKKyAqIE92ZXJyaWRlIHRoZSBkZWZhdWx0IG1lbW9yeSBhY2Nlc3MgZnVuY3Rpb25zIHdpdGggYSBuZXcgc2V0CisgKiBUaGlzIGhhcyB0byBiZSBjYWxsZWQgYmVmb3JlIGFueSBvdGhlciBsaWJ4bWwgcm91dGluZXMgIQorICoKKyAqIFNob3VsZCB0aGlzIGJlIGJsb2NrZWQgaWYgdGhlcmUgd2FzIGFscmVhZHkgc29tZSBhbGxvY2F0aW9ucworICogZG9uZSA/CisgKgorICogUmV0dXJucyAwIG9uIHN1Y2Nlc3MKKyAqLworaW50Cit4bWxNZW1TZXR1cCh4bWxGcmVlRnVuYyBmcmVlRnVuYywgeG1sTWFsbG9jRnVuYyBtYWxsb2NGdW5jLAorICAgICAgICAgICAgeG1sUmVhbGxvY0Z1bmMgcmVhbGxvY0Z1bmMsIHhtbFN0cmR1cEZ1bmMgc3RyZHVwRnVuYykgeworI2lmZGVmIERFQlVHX01FTU9SWQorICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkgICAgICJ4bWxNZW1TZXR1cCgpXG4iKTsKKyNlbmRpZgorICAgIGlmIChmcmVlRnVuYyA9PSBOVUxMKQorCXJldHVybigtMSk7CisgICAgaWYgKG1hbGxvY0Z1bmMgPT0gTlVMTCkKKwlyZXR1cm4oLTEpOworICAgIGlmIChyZWFsbG9jRnVuYyA9PSBOVUxMKQorCXJldHVybigtMSk7CisgICAgaWYgKHN0cmR1cEZ1bmMgPT0gTlVMTCkKKwlyZXR1cm4oLTEpOworICAgIHhtbEZyZWUgPSBmcmVlRnVuYzsKKyAgICB4bWxNYWxsb2MgPSBtYWxsb2NGdW5jOworICAgIHhtbE1hbGxvY0F0b21pYyA9IG1hbGxvY0Z1bmM7CisgICAgeG1sUmVhbGxvYyA9IHJlYWxsb2NGdW5jOworICAgIHhtbE1lbVN0cmR1cCA9IHN0cmR1cEZ1bmM7CisjaWZkZWYgREVCVUdfTUVNT1JZCisgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCSAgICAgInhtbE1lbVNldHVwKCkgT2tcbiIpOworI2VuZGlmCisgICAgcmV0dXJuKDApOworfQorCisvKioKKyAqIHhtbE1lbUdldDoKKyAqIEBmcmVlRnVuYzogcGxhY2UgdG8gc2F2ZSB0aGUgZnJlZSgpIGZ1bmN0aW9uIGluIHVzZQorICogQG1hbGxvY0Z1bmM6IHBsYWNlIHRvIHNhdmUgdGhlIG1hbGxvYygpIGZ1bmN0aW9uIGluIHVzZQorICogQHJlYWxsb2NGdW5jOiBwbGFjZSB0byBzYXZlIHRoZSByZWFsbG9jKCkgZnVuY3Rpb24gaW4gdXNlCisgKiBAc3RyZHVwRnVuYzogcGxhY2UgdG8gc2F2ZSB0aGUgc3RyZHVwKCkgZnVuY3Rpb24gaW4gdXNlCisgKgorICogUHJvdmlkZXMgdGhlIG1lbW9yeSBhY2Nlc3MgZnVuY3Rpb25zIHNldCBjdXJyZW50bHkgaW4gdXNlCisgKgorICogUmV0dXJucyAwIG9uIHN1Y2Nlc3MKKyAqLworaW50Cit4bWxNZW1HZXQoeG1sRnJlZUZ1bmMgKmZyZWVGdW5jLCB4bWxNYWxsb2NGdW5jICptYWxsb2NGdW5jLAorCSAgeG1sUmVhbGxvY0Z1bmMgKnJlYWxsb2NGdW5jLCB4bWxTdHJkdXBGdW5jICpzdHJkdXBGdW5jKSB7CisgICAgaWYgKGZyZWVGdW5jICE9IE5VTEwpICpmcmVlRnVuYyA9IHhtbEZyZWU7CisgICAgaWYgKG1hbGxvY0Z1bmMgIT0gTlVMTCkgKm1hbGxvY0Z1bmMgPSB4bWxNYWxsb2M7CisgICAgaWYgKHJlYWxsb2NGdW5jICE9IE5VTEwpICpyZWFsbG9jRnVuYyA9IHhtbFJlYWxsb2M7CisgICAgaWYgKHN0cmR1cEZ1bmMgIT0gTlVMTCkgKnN0cmR1cEZ1bmMgPSB4bWxNZW1TdHJkdXA7CisgICAgcmV0dXJuKDApOworfQorCisvKioKKyAqIHhtbEdjTWVtU2V0dXA6CisgKiBAZnJlZUZ1bmM6IHRoZSBmcmVlKCkgZnVuY3Rpb24gdG8gdXNlCisgKiBAbWFsbG9jRnVuYzogdGhlIG1hbGxvYygpIGZ1bmN0aW9uIHRvIHVzZQorICogQG1hbGxvY0F0b21pY0Z1bmM6IHRoZSBtYWxsb2MoKSBmdW5jdGlvbiB0byB1c2UgZm9yIGF0b21pYyBhbGxvY2F0aW9ucworICogQHJlYWxsb2NGdW5jOiB0aGUgcmVhbGxvYygpIGZ1bmN0aW9uIHRvIHVzZQorICogQHN0cmR1cEZ1bmM6IHRoZSBzdHJkdXAoKSBmdW5jdGlvbiB0byB1c2UKKyAqCisgKiBPdmVycmlkZSB0aGUgZGVmYXVsdCBtZW1vcnkgYWNjZXNzIGZ1bmN0aW9ucyB3aXRoIGEgbmV3IHNldAorICogVGhpcyBoYXMgdG8gYmUgY2FsbGVkIGJlZm9yZSBhbnkgb3RoZXIgbGlieG1sIHJvdXRpbmVzICEKKyAqIFRoZSBtYWxsb2NBdG9taWNGdW5jIGlzIHNwZWNpYWxpemVkIGZvciBhdG9taWMgYmxvY2sKKyAqIGFsbG9jYXRpb25zIChpLmUuIG9mIGFyZWFzICB1c2VmdWwgZm9yIGdhcmJhZ2UgY29sbGVjdGVkIG1lbW9yeSBhbGxvY2F0b3JzCisgKgorICogU2hvdWxkIHRoaXMgYmUgYmxvY2tlZCBpZiB0aGVyZSB3YXMgYWxyZWFkeSBzb21lIGFsbG9jYXRpb25zCisgKiBkb25lID8KKyAqCisgKiBSZXR1cm5zIDAgb24gc3VjY2VzcworICovCitpbnQKK3htbEdjTWVtU2V0dXAoeG1sRnJlZUZ1bmMgZnJlZUZ1bmMsIHhtbE1hbGxvY0Z1bmMgbWFsbG9jRnVuYywKKyAgICAgICAgICAgICAgeG1sTWFsbG9jRnVuYyBtYWxsb2NBdG9taWNGdW5jLCB4bWxSZWFsbG9jRnVuYyByZWFsbG9jRnVuYywKKwkgICAgICB4bWxTdHJkdXBGdW5jIHN0cmR1cEZ1bmMpIHsKKyNpZmRlZiBERUJVR19NRU1PUlkKKyAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJICAgICAieG1sR2NNZW1TZXR1cCgpXG4iKTsKKyNlbmRpZgorICAgIGlmIChmcmVlRnVuYyA9PSBOVUxMKQorCXJldHVybigtMSk7CisgICAgaWYgKG1hbGxvY0Z1bmMgPT0gTlVMTCkKKwlyZXR1cm4oLTEpOworICAgIGlmIChtYWxsb2NBdG9taWNGdW5jID09IE5VTEwpCisJcmV0dXJuKC0xKTsKKyAgICBpZiAocmVhbGxvY0Z1bmMgPT0gTlVMTCkKKwlyZXR1cm4oLTEpOworICAgIGlmIChzdHJkdXBGdW5jID09IE5VTEwpCisJcmV0dXJuKC0xKTsKKyAgICB4bWxGcmVlID0gZnJlZUZ1bmM7CisgICAgeG1sTWFsbG9jID0gbWFsbG9jRnVuYzsKKyAgICB4bWxNYWxsb2NBdG9taWMgPSBtYWxsb2NBdG9taWNGdW5jOworICAgIHhtbFJlYWxsb2MgPSByZWFsbG9jRnVuYzsKKyAgICB4bWxNZW1TdHJkdXAgPSBzdHJkdXBGdW5jOworI2lmZGVmIERFQlVHX01FTU9SWQorICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkgICAgICJ4bWxHY01lbVNldHVwKCkgT2tcbiIpOworI2VuZGlmCisgICAgcmV0dXJuKDApOworfQorCisvKioKKyAqIHhtbEdjTWVtR2V0OgorICogQGZyZWVGdW5jOiBwbGFjZSB0byBzYXZlIHRoZSBmcmVlKCkgZnVuY3Rpb24gaW4gdXNlCisgKiBAbWFsbG9jRnVuYzogcGxhY2UgdG8gc2F2ZSB0aGUgbWFsbG9jKCkgZnVuY3Rpb24gaW4gdXNlCisgKiBAbWFsbG9jQXRvbWljRnVuYzogcGxhY2UgdG8gc2F2ZSB0aGUgYXRvbWljIG1hbGxvYygpIGZ1bmN0aW9uIGluIHVzZQorICogQHJlYWxsb2NGdW5jOiBwbGFjZSB0byBzYXZlIHRoZSByZWFsbG9jKCkgZnVuY3Rpb24gaW4gdXNlCisgKiBAc3RyZHVwRnVuYzogcGxhY2UgdG8gc2F2ZSB0aGUgc3RyZHVwKCkgZnVuY3Rpb24gaW4gdXNlCisgKgorICogUHJvdmlkZXMgdGhlIG1lbW9yeSBhY2Nlc3MgZnVuY3Rpb25zIHNldCBjdXJyZW50bHkgaW4gdXNlCisgKiBUaGUgbWFsbG9jQXRvbWljRnVuYyBpcyBzcGVjaWFsaXplZCBmb3IgYXRvbWljIGJsb2NrCisgKiBhbGxvY2F0aW9ucyAoaS5lLiBvZiBhcmVhcyAgdXNlZnVsIGZvciBnYXJiYWdlIGNvbGxlY3RlZCBtZW1vcnkgYWxsb2NhdG9ycworICoKKyAqIFJldHVybnMgMCBvbiBzdWNjZXNzCisgKi8KK2ludAoreG1sR2NNZW1HZXQoeG1sRnJlZUZ1bmMgKmZyZWVGdW5jLCB4bWxNYWxsb2NGdW5jICptYWxsb2NGdW5jLAorICAgICAgICAgICAgeG1sTWFsbG9jRnVuYyAqbWFsbG9jQXRvbWljRnVuYywgeG1sUmVhbGxvY0Z1bmMgKnJlYWxsb2NGdW5jLAorCSAgICB4bWxTdHJkdXBGdW5jICpzdHJkdXBGdW5jKSB7CisgICAgaWYgKGZyZWVGdW5jICE9IE5VTEwpICpmcmVlRnVuYyA9IHhtbEZyZWU7CisgICAgaWYgKG1hbGxvY0Z1bmMgIT0gTlVMTCkgKm1hbGxvY0Z1bmMgPSB4bWxNYWxsb2M7CisgICAgaWYgKG1hbGxvY0F0b21pY0Z1bmMgIT0gTlVMTCkgKm1hbGxvY0F0b21pY0Z1bmMgPSB4bWxNYWxsb2NBdG9taWM7CisgICAgaWYgKHJlYWxsb2NGdW5jICE9IE5VTEwpICpyZWFsbG9jRnVuYyA9IHhtbFJlYWxsb2M7CisgICAgaWYgKHN0cmR1cEZ1bmMgIT0gTlVMTCkgKnN0cmR1cEZ1bmMgPSB4bWxNZW1TdHJkdXA7CisgICAgcmV0dXJuKDApOworfQorCisjZGVmaW5lIGJvdHRvbV94bWxtZW1vcnkKKyNpbmNsdWRlICJlbGZnY2NoYWNrLmgiCmRpZmYgLS1naXQgYS9saWJ4bWwyL3htbG1vZHVsZS5jIGIvbGlieG1sMi94bWxtb2R1bGUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MGVkNjY2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi94bWxtb2R1bGUuYwpAQCAtMCwwICsxLDQ2MCBAQAorLyoKKyAqIHhtbG1vZHVsZS5jIDogYmFzaWMgQVBJIGZvciBkeW5hbWljIG1vZHVsZSBsb2FkaW5nIGFkZGVkIDIuNi4xNworICoKKyAqIFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyAqCisgKiBqb2Vsd3JlZWRAY29tY2FzdC5uZXQKKyAqCisgKiBodHRwOi8vd3d3LmZvcnRyYW4tMjAwMC5jb20vQXJuYXVkUmVjaXBlcy9zaGFyZWRsaWIuaHRtbAorICovCisKKyNkZWZpbmUgSU5fTElCWE1MCisjaW5jbHVkZSAibGlieG1sLmgiCisKKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxsaWJ4bWwveG1sbWVtb3J5Lmg+CisjaW5jbHVkZSA8bGlieG1sL3htbGVycm9yLmg+CisjaW5jbHVkZSA8bGlieG1sL3htbG1vZHVsZS5oPgorI2luY2x1ZGUgPGxpYnhtbC9nbG9iYWxzLmg+CisKKyNpZmRlZiBMSUJYTUxfTU9EVUxFU19FTkFCTEVECisKK3N0cnVjdCBfeG1sTW9kdWxlIHsKKyAgICB1bnNpZ25lZCBjaGFyICpuYW1lOworICAgIHZvaWQgKmhhbmRsZTsKK307CisKK3N0YXRpYyB2b2lkICp4bWxNb2R1bGVQbGF0Zm9ybU9wZW4oY29uc3QgY2hhciAqbmFtZSk7CitzdGF0aWMgaW50IHhtbE1vZHVsZVBsYXRmb3JtQ2xvc2Uodm9pZCAqaGFuZGxlKTsKK3N0YXRpYyBpbnQgeG1sTW9kdWxlUGxhdGZvcm1TeW1ib2wodm9pZCAqaGFuZGxlLCBjb25zdCBjaGFyICpuYW1lLCB2b2lkICoqcmVzdWx0KTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJbW9kdWxlIG1lbW9yeSBlcnJvciBoYW5kbGVyCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqCisgKiB4bWxNb2R1bGVFcnJNZW1vcnk6CisgKiBAZXh0cmE6ICBleHRyYSBpbmZvcm1hdGlvbgorICoKKyAqIEhhbmRsZSBhbiBvdXQgb2YgbWVtb3J5IGNvbmRpdGlvbgorICovCitzdGF0aWMgdm9pZAoreG1sTW9kdWxlRXJyTWVtb3J5KHhtbE1vZHVsZVB0ciBtb2R1bGUsIGNvbnN0IGNoYXIgKmV4dHJhKQoreworICAgIGNvbnN0IGNoYXIgKm5hbWUgPSBOVUxMOworCisgICAgaWYgKG1vZHVsZSAhPSBOVUxMKSB7CisgICAgICAgIG5hbWUgPSAoY29uc3QgY2hhciAqKSBtb2R1bGUtPm5hbWU7CisgICAgfQorCisgICAgX194bWxSYWlzZUVycm9yKE5VTEwsIE5VTEwsIE5VTEwsIE5VTEwsIE5VTEwsIFhNTF9GUk9NX01PRFVMRSwKKyAgICAgICAgICAgICAgICAgICAgWE1MX0VSUl9OT19NRU1PUlksIFhNTF9FUlJfRkFUQUwsIE5VTEwsIDAsIGV4dHJhLAorICAgICAgICAgICAgICAgICAgICBuYW1lLCBOVUxMLCAwLCAwLAorICAgICAgICAgICAgICAgICAgICAiTWVtb3J5IGFsbG9jYXRpb24gZmFpbGVkIDogJXNcbiIsIGV4dHJhKTsKK30KKworLyoqCisgKiB4bWxNb2R1bGVPcGVuOgorICogQG5hbWU6IHRoZSBtb2R1bGUgbmFtZQorICogQG9wdGlvbnM6IGEgc2V0IG9mIHhtbE1vZHVsZU9wdGlvbgorICoKKyAqIE9wZW5zIGEgbW9kdWxlL3NoYXJlZCBsaWJyYXJ5IGdpdmVuIGl0cyBuYW1lIG9yIHBhdGgKKyAqIE5PVEU6IHRoYXQgZHVlIHRvIHBvcnRhYmlsaXR5IGlzc3VlcywgYmVoYXZpb3VyIGNhbiBvbmx5IGJlCisgKiBndWFyYW50ZWVkIHdpdGggQG5hbWUgdXNpbmcgQVNDSUkuIFdlIGNhbm90IGd1YXJhbnRlZSB0aGF0CisgKiBhbiBVVEYtOCBzdHJpbmcgd291bGQgd29yaywgd2hpY2ggaXMgd2h5IG5hbWUgaXMgYSBjb25zdCBjaGFyICoKKyAqIGFuZCBub3QgYSBjb25zdCB4bWxDaGFyICogLgorICogVE9ETzogb3B0aW9ucyBhcmUgbm90IHlldCBpbXBsZW1lbnRlZC4KKyAqCisgKiBSZXR1cm5zIGEgaGFuZGxlIGZvciB0aGUgbW9kdWxlIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcgorICovCit4bWxNb2R1bGVQdHIKK3htbE1vZHVsZU9wZW4oY29uc3QgY2hhciAqbmFtZSwgaW50IG9wdGlvbnMgQVRUUklCVVRFX1VOVVNFRCkKK3sKKyAgICB4bWxNb2R1bGVQdHIgbW9kdWxlOworCisgICAgbW9kdWxlID0gKHhtbE1vZHVsZVB0cikgeG1sTWFsbG9jKHNpemVvZih4bWxNb2R1bGUpKTsKKyAgICBpZiAobW9kdWxlID09IE5VTEwpIHsKKyAgICAgICAgeG1sTW9kdWxlRXJyTWVtb3J5KE5VTEwsICJjcmVhdGluZyBtb2R1bGUiKTsKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICB9CisKKyAgICBtZW1zZXQobW9kdWxlLCAwLCBzaXplb2YoeG1sTW9kdWxlKSk7CisKKyAgICBtb2R1bGUtPmhhbmRsZSA9IHhtbE1vZHVsZVBsYXRmb3JtT3BlbihuYW1lKTsKKworICAgIGlmIChtb2R1bGUtPmhhbmRsZSA9PSBOVUxMKSB7CisgICAgICAgIHhtbEZyZWUobW9kdWxlKTsKKyAgICAgICAgX194bWxSYWlzZUVycm9yKE5VTEwsIE5VTEwsIE5VTEwsIE5VTEwsIE5VTEwsIFhNTF9GUk9NX01PRFVMRSwKKyAgICAgICAgICAgICAgICAgICAgICAgIFhNTF9NT0RVTEVfT1BFTiwgWE1MX0VSUl9GQVRBTCwgTlVMTCwgMCwgMCwKKyAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUsIE5VTEwsIDAsIDAsICJmYWlsZWQgdG8gb3BlbiAlc1xuIiwgbmFtZSk7CisgICAgICAgIHJldHVybihOVUxMKTsKKyAgICB9CisKKyAgICBtb2R1bGUtPm5hbWUgPSB4bWxTdHJkdXAoKGNvbnN0IHhtbENoYXIgKikgbmFtZSk7CisgICAgcmV0dXJuIChtb2R1bGUpOworfQorCisvKioKKyAqIHhtbE1vZHVsZVN5bWJvbDoKKyAqIEBtb2R1bGU6IHRoZSBtb2R1bGUKKyAqIEBuYW1lOiB0aGUgbmFtZSBvZiB0aGUgc3ltYm9sCisgKiBAc3ltYm9sOiB0aGUgcmVzdWx0aW5nIHN5bWJvbCBhZGRyZXNzCisgKgorICogTG9va3VwIGZvciBhIHN5bWJvbCBhZGRyZXNzIGluIHRoZSBnaXZlbiBtb2R1bGUKKyAqIE5PVEU6IHRoYXQgZHVlIHRvIHBvcnRhYmlsaXR5IGlzc3VlcywgYmVoYXZpb3VyIGNhbiBvbmx5IGJlCisgKiBndWFyYW50ZWVkIHdpdGggQG5hbWUgdXNpbmcgQVNDSUkuIFdlIGNhbm90IGd1YXJhbnRlZSB0aGF0CisgKiBhbiBVVEYtOCBzdHJpbmcgd291bGQgd29yaywgd2hpY2ggaXMgd2h5IG5hbWUgaXMgYSBjb25zdCBjaGFyICoKKyAqIGFuZCBub3QgYSBjb25zdCB4bWxDaGFyICogLgorICoKKyAqIFJldHVybnMgMCBpZiB0aGUgc3ltYm9sIHdhcyBmb3VuZCwgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcgorICovCitpbnQKK3htbE1vZHVsZVN5bWJvbCh4bWxNb2R1bGVQdHIgbW9kdWxlLCBjb25zdCBjaGFyICpuYW1lLCB2b2lkICoqc3ltYm9sKQoreworICAgIGludCByYyA9IC0xOworCisgICAgaWYgKChOVUxMID09IG1vZHVsZSkgfHwgKHN5bWJvbCA9PSBOVUxMKSB8fCAobmFtZSA9PSBOVUxMKSkgeworICAgICAgICBfX3htbFJhaXNlRXJyb3IoTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwgWE1MX0ZST01fTU9EVUxFLAorICAgICAgICAgICAgICAgICAgICAgICAgWE1MX01PRFVMRV9PUEVOLCBYTUxfRVJSX0ZBVEFMLCBOVUxMLCAwLCAwLAorICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgTlVMTCwgMCwgMCwgIm51bGwgcGFyYW1ldGVyXG4iKTsKKyAgICAgICAgcmV0dXJuIHJjOworICAgIH0KKworICAgIHJjID0geG1sTW9kdWxlUGxhdGZvcm1TeW1ib2wobW9kdWxlLT5oYW5kbGUsIG5hbWUsIHN5bWJvbCk7CisKKyAgICBpZiAocmMgPT0gLTEpIHsKKyAgICAgICAgX194bWxSYWlzZUVycm9yKE5VTEwsIE5VTEwsIE5VTEwsIE5VTEwsIE5VTEwsIFhNTF9GUk9NX01PRFVMRSwKKyAgICAgICAgICAgICAgICAgICAgICAgIFhNTF9NT0RVTEVfT1BFTiwgWE1MX0VSUl9GQVRBTCwgTlVMTCwgMCwgMCwKKyAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUsIE5VTEwsIDAsIDAsCisgICAgICAgICAgICAgICAgICAgICAgICAiZmFpbGVkIHRvIGZpbmQgc3ltYm9sOiAlc1xuIiwKKwkJCShuYW1lID09IE5VTEwgPyAiTlVMTCIgOiBuYW1lKSk7CisgICAgICAgIHJldHVybiByYzsKKyAgICB9CisKKyAgICByZXR1cm4gcmM7Cit9CisKKy8qKgorICogeG1sTW9kdWxlQ2xvc2U6CisgKiBAbW9kdWxlOiB0aGUgbW9kdWxlIGhhbmRsZQorICoKKyAqIFRoZSBjbG9zZSBvcGVyYXRpb25zIHVubG9hZCB0aGUgYXNzb2NpYXRlZCBtb2R1bGUgYW5kIGZyZWUgdGhlCisgKiBkYXRhIGFzc29jaWF0ZWQgdG8gdGhlIG1vZHVsZS4KKyAqCisgKiBSZXR1cm5zIDAgaW4gY2FzZSBvZiBzdWNjZXNzLCAtMSBpbiBjYXNlIG9mIGFyZ3VtZW50IGVycm9yIGFuZCAtMgorICogICAgICAgICBpZiB0aGUgbW9kdWxlIGNvdWxkIG5vdCBiZSBjbG9zZWQvdW5sb2FkZWQuCisgKi8KK2ludAoreG1sTW9kdWxlQ2xvc2UoeG1sTW9kdWxlUHRyIG1vZHVsZSkKK3sKKyAgICBpbnQgcmM7CisKKyAgICBpZiAoTlVMTCA9PSBtb2R1bGUpIHsKKyAgICAgICAgX194bWxSYWlzZUVycm9yKE5VTEwsIE5VTEwsIE5VTEwsIE5VTEwsIE5VTEwsIFhNTF9GUk9NX01PRFVMRSwKKyAgICAgICAgICAgICAgICAgICAgICAgIFhNTF9NT0RVTEVfQ0xPU0UsIFhNTF9FUlJfRkFUQUwsIE5VTEwsIDAsIDAsCisgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCBOVUxMLCAwLCAwLCAibnVsbCBtb2R1bGUgcG9pbnRlclxuIik7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisKKyAgICByYyA9IHhtbE1vZHVsZVBsYXRmb3JtQ2xvc2UobW9kdWxlLT5oYW5kbGUpOworCisgICAgaWYgKHJjICE9IDApIHsKKyAgICAgICAgX194bWxSYWlzZUVycm9yKE5VTEwsIE5VTEwsIE5VTEwsIE5VTEwsIE5VTEwsIFhNTF9GUk9NX01PRFVMRSwKKyAgICAgICAgICAgICAgICAgICAgICAgIFhNTF9NT0RVTEVfQ0xPU0UsIFhNTF9FUlJfRkFUQUwsIE5VTEwsIDAsIDAsCisgICAgICAgICAgICAgICAgICAgICAgICAoY29uc3QgY2hhciAqKSBtb2R1bGUtPm5hbWUsIE5VTEwsIDAsIDAsCisgICAgICAgICAgICAgICAgICAgICAgICAiZmFpbGVkIHRvIGNsb3NlOiAlc1xuIiwgbW9kdWxlLT5uYW1lKTsKKyAgICAgICAgcmV0dXJuIC0yOworICAgIH0KKworICAgIHJjID0geG1sTW9kdWxlRnJlZShtb2R1bGUpOworICAgIHJldHVybiAocmMpOworfQorCisvKioKKyAqIHhtbE1vZHVsZUZyZWU6CisgKiBAbW9kdWxlOiB0aGUgbW9kdWxlIGhhbmRsZQorICoKKyAqIFRoZSBmcmVlIG9wZXJhdGlvbnMgZnJlZSB0aGUgZGF0YSBhc3NvY2lhdGVkIHRvIHRoZSBtb2R1bGUKKyAqIGJ1dCBkb2VzIG5vdCB1bmxvYWQgdGhlIGFzc29jaWF0ZWQgc2hhcmVkIGxpYnJhcnkgd2hpY2ggbWF5IHN0aWxsCisgKiBiZSBpbiB1c2UuCisgKgorICogUmV0dXJucyAwIGluIGNhc2Ugb2Ygc3VjY2VzcywgLTEgaW4gY2FzZSBvZiBhcmd1bWVudCBlcnJvcgorICovCitpbnQKK3htbE1vZHVsZUZyZWUoeG1sTW9kdWxlUHRyIG1vZHVsZSkKK3sKKyAgICBpZiAoTlVMTCA9PSBtb2R1bGUpIHsKKyAgICAgICAgX194bWxSYWlzZUVycm9yKE5VTEwsIE5VTEwsIE5VTEwsIE5VTEwsIE5VTEwsIFhNTF9GUk9NX01PRFVMRSwKKyAgICAgICAgICAgICAgICAgICAgICAgIFhNTF9NT0RVTEVfQ0xPU0UsIFhNTF9FUlJfRkFUQUwsIE5VTEwsIDAsIE5VTEwsCisgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCBOVUxMLCAwLCAwLCAibnVsbCBtb2R1bGUgcG9pbnRlclxuIik7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisKKyAgICB4bWxGcmVlKG1vZHVsZS0+bmFtZSk7CisgICAgeG1sRnJlZShtb2R1bGUpOworCisgICAgcmV0dXJuICgwKTsKK30KKworI2lmIGRlZmluZWQoSEFWRV9ETE9QRU4pICYmICFkZWZpbmVkKF9XSU4zMikKKyNpZmRlZiBIQVZFX0RMRkNOX0gKKyNpbmNsdWRlIDxkbGZjbi5oPgorI2VuZGlmCisKKyNpZm5kZWYgUlRMRF9HTE9CQUwgICAgICAgICAgICAvKiBGb3IgVHJ1NjQgVU5JWCA0LjAgKi8KKyNkZWZpbmUgUlRMRF9HTE9CQUwgMAorI2VuZGlmCisKKy8qKgorICogeG1sTW9kdWxlUGxhdGZvcm1PcGVuOgorICogQG5hbWU6IHBhdGggdG8gdGhlIG1vZHVsZQorICoKKyAqIHJldHVybnMgYSBoYW5kbGUgb24gc3VjY2VzcywgYW5kIHplcm8gb24gZXJyb3IuCisgKi8KKworc3RhdGljIHZvaWQgKgoreG1sTW9kdWxlUGxhdGZvcm1PcGVuKGNvbnN0IGNoYXIgKm5hbWUpCit7CisgICAgcmV0dXJuIGRsb3BlbihuYW1lLCBSVExEX0dMT0JBTCB8IFJUTERfTk9XKTsKK30KKworLyoKKyAqIHhtbE1vZHVsZVBsYXRmb3JtQ2xvc2U6CisgKiBAaGFuZGxlOiBoYW5kbGUgdG8gdGhlIG1vZHVsZQorICoKKyAqIHJldHVybnMgMCBvbiBzdWNjZXNzLCBhbmQgbm9uLXplcm8gb24gZXJyb3IuCisgKi8KKworc3RhdGljIGludAoreG1sTW9kdWxlUGxhdGZvcm1DbG9zZSh2b2lkICpoYW5kbGUpCit7CisgICAgcmV0dXJuIGRsY2xvc2UoaGFuZGxlKTsKK30KKworLyoKKyAqIHhtbE1vZHVsZVBsYXRmb3JtU3ltYm9sOgorICogaHR0cDovL3d3dy5vcGVuZ3JvdXAub3JnL29ubGluZXB1YnMvMDA5Njk1Mzk5L2Z1bmN0aW9ucy9kbHN5bS5odG1sCisgKiByZXR1cm5zIDAgb24gc3VjY2VzcyBhbmQgdGhlIGxvYWRlZCBzeW1ib2wgaW4gcmVzdWx0LCBhbmQgLTEgb24gZXJyb3IuCisgKi8KKworc3RhdGljIGludAoreG1sTW9kdWxlUGxhdGZvcm1TeW1ib2wodm9pZCAqaGFuZGxlLCBjb25zdCBjaGFyICpuYW1lLCB2b2lkICoqc3ltYm9sKQoreworICAgICpzeW1ib2wgPSBkbHN5bShoYW5kbGUsIG5hbWUpOworICAgIGlmIChkbGVycm9yKCkgIT0gTlVMTCkgeworCXJldHVybiAtMTsKKyAgICB9CisgICAgcmV0dXJuIDA7Cit9CisKKyNlbHNlIC8qICEgSEFWRV9ETE9QRU4gKi8KKworI2lmZGVmIEhBVkVfU0hMTE9BRCAgICAgICAgICAgICAvKiBIQVZFX1NITExPQUQgKi8KKyNpZmRlZiBIQVZFX0RMX0gKKyNpbmNsdWRlIDxkbC5oPgorI2VuZGlmCisvKgorICogeG1sTW9kdWxlUGxhdGZvcm1PcGVuOgorICogcmV0dXJucyBhIGhhbmRsZSBvbiBzdWNjZXNzLCBhbmQgemVybyBvbiBlcnJvci4KKyAqLworCitzdGF0aWMgdm9pZCAqCit4bWxNb2R1bGVQbGF0Zm9ybU9wZW4oY29uc3QgY2hhciAqbmFtZSkKK3sKKyAgICByZXR1cm4gc2hsX2xvYWQobmFtZSwgQklORF9JTU1FRElBVEUsIDBMKTsKK30KKworLyoKKyAqIHhtbE1vZHVsZVBsYXRmb3JtQ2xvc2U6CisgKiByZXR1cm5zIDAgb24gc3VjY2VzcywgYW5kIG5vbi16ZXJvIG9uIGVycm9yLgorICovCisKK3N0YXRpYyBpbnQKK3htbE1vZHVsZVBsYXRmb3JtQ2xvc2Uodm9pZCAqaGFuZGxlKQoreworICAgIHJldHVybiBzaGxfdW5sb2FkKGhhbmRsZSk7Cit9CisKKy8qCisgKiB4bWxNb2R1bGVQbGF0Zm9ybVN5bWJvbDoKKyAqIGh0dHA6Ly9kb2NzLmhwLmNvbS9lbi9CMjM1NS05MDY4My9zaGxfbG9hZC4zWC5odG1sCisgKiByZXR1cm5zIDAgb24gc3VjY2VzcyBhbmQgdGhlIGxvYWRlZCBzeW1ib2wgaW4gcmVzdWx0LCBhbmQgLTEgb24gZXJyb3IuCisgKi8KKworc3RhdGljIGludAoreG1sTW9kdWxlUGxhdGZvcm1TeW1ib2wodm9pZCAqaGFuZGxlLCBjb25zdCBjaGFyICpuYW1lLCB2b2lkICoqc3ltYm9sKQoreworICAgIGludCByYzsKKworICAgIGVycm5vID0gMDsKKyAgICByYyA9IHNobF9maW5kc3ltKCZoYW5kbGUsIG5hbWUsIFRZUEVfVU5ERUZJTkVELCBzeW1ib2wpOworICAgIHJldHVybiByYzsKK30KKworI2VuZGlmIC8qIEhBVkVfU0hMTE9BRCAqLworI2VuZGlmIC8qICEgSEFWRV9ETE9QRU4gKi8KKworI2lmZGVmIF9XSU4zMgorCisjaW5jbHVkZSA8d2luZG93cy5oPgorCisvKgorICogeG1sTW9kdWxlUGxhdGZvcm1PcGVuOgorICogcmV0dXJucyBhIGhhbmRsZSBvbiBzdWNjZXNzLCBhbmQgemVybyBvbiBlcnJvci4KKyAqLworCitzdGF0aWMgdm9pZCAqCit4bWxNb2R1bGVQbGF0Zm9ybU9wZW4oY29uc3QgY2hhciAqbmFtZSkKK3sKKyAgICByZXR1cm4gTG9hZExpYnJhcnlBKG5hbWUpOworfQorCisvKgorICogeG1sTW9kdWxlUGxhdGZvcm1DbG9zZToKKyAqIHJldHVybnMgMCBvbiBzdWNjZXNzLCBhbmQgbm9uLXplcm8gb24gZXJyb3IuCisgKi8KKworc3RhdGljIGludAoreG1sTW9kdWxlUGxhdGZvcm1DbG9zZSh2b2lkICpoYW5kbGUpCit7CisgICAgaW50IHJjOworCisgICAgcmMgPSBGcmVlTGlicmFyeShoYW5kbGUpOworICAgIHJldHVybiAoMCA9PSByYyk7Cit9CisKKy8qCisgKiB4bWxNb2R1bGVQbGF0Zm9ybVN5bWJvbDoKKyAqIGh0dHA6Ly9tc2RuLm1pY3Jvc29mdC5jb20vbGlicmFyeS9kZWZhdWx0LmFzcD91cmw9L2xpYnJhcnkvZW4tdXMvZGxscHJvYy9iYXNlL2dldHByb2NhZGRyZXNzLmFzcAorICogcmV0dXJucyAwIG9uIHN1Y2Nlc3MgYW5kIHRoZSBsb2FkZWQgc3ltYm9sIGluIHJlc3VsdCwgYW5kIC0xIG9uIGVycm9yLgorICovCisKK3N0YXRpYyBpbnQKK3htbE1vZHVsZVBsYXRmb3JtU3ltYm9sKHZvaWQgKmhhbmRsZSwgY29uc3QgY2hhciAqbmFtZSwgdm9pZCAqKnN5bWJvbCkKK3sKKyNpZmRlZiBfV0lOMzJfV0NFCisgICAgLyoKKyAgICAgKiBHZXRQcm9jQWRkcmVzc0Egc2VlbXMgb25seSBhdmFpbGFibGUgb24gV2luQ0UKKyAgICAgKi8KKyAgICAqc3ltYm9sID0gR2V0UHJvY0FkZHJlc3NBKGhhbmRsZSwgbmFtZSk7CisjZWxzZQorICAgICpzeW1ib2wgPSBHZXRQcm9jQWRkcmVzcyhoYW5kbGUsIG5hbWUpOworI2VuZGlmCisgICAgcmV0dXJuIChOVUxMID09ICpzeW1ib2wpID8gLTEgOiAwOworfQorCisjZW5kaWYgLyogX1dJTjMyICovCisKKyNpZmRlZiBIQVZFX0JFT1MKKworI2luY2x1ZGUgPGtlcm5lbC9pbWFnZS5oPgorCisvKgorICogeG1sTW9kdWxlUGxhdGZvcm1PcGVuOgorICogYmVvcyBhcGkgaW5mbzogaHR0cDovL3d3dy5iZXVuaXRlZC5vcmcvYmVib29rL1RoZSUyMEtlcm5lbCUyMEtpdC9JbWFnZXMuaHRtbAorICogcmV0dXJucyBhIGhhbmRsZSBvbiBzdWNjZXNzLCBhbmQgemVybyBvbiBlcnJvci4KKyAqLworCitzdGF0aWMgdm9pZCAqCit4bWxNb2R1bGVQbGF0Zm9ybU9wZW4oY29uc3QgY2hhciAqbmFtZSkKK3sKKyAgICByZXR1cm4gKHZvaWQgKikgbG9hZF9hZGRfb24obmFtZSk7Cit9CisKKy8qCisgKiB4bWxNb2R1bGVQbGF0Zm9ybUNsb3NlOgorICogYmVvcyBhcGkgaW5mbzogaHR0cDovL3d3dy5iZXVuaXRlZC5vcmcvYmVib29rL1RoZSUyMEtlcm5lbCUyMEtpdC9JbWFnZXMuaHRtbAorICogcmV0dXJucyAwIG9uIHN1Y2Nlc3MsIGFuZCBub24temVybyBvbiBlcnJvci4KKyAqLworCitzdGF0aWMgaW50Cit4bWxNb2R1bGVQbGF0Zm9ybUNsb3NlKHZvaWQgKmhhbmRsZSkKK3sKKyAgICBzdGF0dXNfdCByYzsKKworICAgIHJjID0gdW5sb2FkX2FkZF9vbigoaW1hZ2VfaWQpIGhhbmRsZSk7CisKKyAgICBpZiAocmMgPT0gQl9PSykKKyAgICAgICAgcmV0dXJuIDA7CisgICAgZWxzZQorICAgICAgICByZXR1cm4gLTE7Cit9CisKKy8qCisgKiB4bWxNb2R1bGVQbGF0Zm9ybVN5bWJvbDoKKyAqIGJlb3MgYXBpIGluZm86IGh0dHA6Ly93d3cuYmV1bml0ZWQub3JnL2JlYm9vay9UaGUlMjBLZXJuZWwlMjBLaXQvSW1hZ2VzLmh0bWwKKyAqIHJldHVybnMgMCBvbiBzdWNjZXNzIGFuZCB0aGUgbG9hZGVkIHN5bWJvbCBpbiByZXN1bHQsIGFuZCAtMSBvbiBlcnJvci4KKyAqLworCitzdGF0aWMgaW50Cit4bWxNb2R1bGVQbGF0Zm9ybVN5bWJvbCh2b2lkICpoYW5kbGUsIGNvbnN0IGNoYXIgKm5hbWUsIHZvaWQgKipzeW1ib2wpCit7CisgICAgc3RhdHVzX3QgcmM7CisKKyAgICByYyA9IGdldF9pbWFnZV9zeW1ib2woKGltYWdlX2lkKSBoYW5kbGUsIG5hbWUsIEJfU1lNQk9MX1RZUEVfQU5ZLCBzeW1ib2wpOworCisgICAgcmV0dXJuIChyYyA9PSBCX09LKSA/IDAgOiAtMTsKK30KKworI2VuZGlmIC8qIEhBVkVfQkVPUyAqLworCisjaWZkZWYgSEFWRV9PUzIKKworI2luY2x1ZGUgPG9zMi5oPgorCisvKgorICogeG1sTW9kdWxlUGxhdGZvcm1PcGVuOgorICogb3MyIGFwaSBpbmZvOiBodHRwOi8vd3d3LmVkbTIuY29tL29zMmFwaS9Eb3MvRG9zTG9hZE1vZHVsZS5odG1sCisgKiByZXR1cm5zIGEgaGFuZGxlIG9uIHN1Y2Nlc3MsIGFuZCB6ZXJvIG9uIGVycm9yLgorICovCisKK3N0YXRpYyB2b2lkICoKK3htbE1vZHVsZVBsYXRmb3JtT3Blbihjb25zdCBjaGFyICpuYW1lKQoreworICAgIGNoYXIgZXJyYnVmWzI1Nl07CisgICAgdm9pZCAqaGFuZGxlOworICAgIGludCByYzsKKworICAgIHJjID0gRG9zTG9hZE1vZHVsZShlcnJidWYsIHNpemVvZihlcnJidWYpIC0gMSwgbmFtZSwgJmhhbmRsZSk7CisKKyAgICBpZiAocmMpCisgICAgICAgIHJldHVybiAwOworICAgIGVsc2UKKyAgICAgICAgcmV0dXJuIChoYW5kbGUpOworfQorCisvKgorICogeG1sTW9kdWxlUGxhdGZvcm1DbG9zZToKKyAqIG9zMiBhcGkgaW5mbzogaHR0cDovL3d3dy5lZG0yLmNvbS9vczJhcGkvRG9zL0Rvc0ZyZWVNb2R1bGUuaHRtbAorICogcmV0dXJucyAwIG9uIHN1Y2Nlc3MsIGFuZCBub24temVybyBvbiBlcnJvci4KKyAqLworCitzdGF0aWMgaW50Cit4bWxNb2R1bGVQbGF0Zm9ybUNsb3NlKHZvaWQgKmhhbmRsZSkKK3sKKyAgICByZXR1cm4gRG9zRnJlZU1vZHVsZShoYW5kbGUpOworfQorCisvKgorICogeG1sTW9kdWxlUGxhdGZvcm1TeW1ib2w6CisgKiBvczIgYXBpIGluZm86IGh0dHA6Ly93d3cuZWRtMi5jb20vb3MyYXBpL0Rvcy9Eb3NRdWVyeVByb2NBZGRyLmh0bWwKKyAqIHJldHVybnMgMCBvbiBzdWNjZXNzIGFuZCB0aGUgbG9hZGVkIHN5bWJvbCBpbiByZXN1bHQsIGFuZCAtMSBvbiBlcnJvci4KKyAqLworCitzdGF0aWMgaW50Cit4bWxNb2R1bGVQbGF0Zm9ybVN5bWJvbCh2b2lkICpoYW5kbGUsIGNvbnN0IGNoYXIgKm5hbWUsIHZvaWQgKipzeW1ib2wpCit7CisgICAgaW50IHJjOworCisgICAgcmMgPSBEb3NRdWVyeVByb2NBZGRyKGhhbmRsZSwgMCwgbmFtZSwgc3ltYm9sKTsKKworICAgIHJldHVybiAocmMgPT0gTk9fRVJST1IpID8gMCA6IC0xOworfQorCisjZW5kaWYgLyogSEFWRV9PUzIgKi8KKworI2RlZmluZSBib3R0b21feG1sbW9kdWxlCisjaW5jbHVkZSAiZWxmZ2NjaGFjay5oIgorI2VuZGlmIC8qIExJQlhNTF9NT0RVTEVTX0VOQUJMRUQgKi8KZGlmZiAtLWdpdCBhL2xpYnhtbDIveG1scmVhZGVyLmMgYi9saWJ4bWwyL3htbHJlYWRlci5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYxOWUxMjMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3htbHJlYWRlci5jCkBAIC0wLDAgKzEsNTkzMiBAQAorLyoKKyAqIHhtbHJlYWRlci5jOiBpbXBsZW1lbnRzIHRoZSB4bWxUZXh0UmVhZGVyIHN0cmVhbWluZyBub2RlIEFQSQorICoKKyAqIE5PVEU6CisgKiAgIFhtbFRleHRSZWFkZXIuTm9ybWFsaXphdGlvbiBQcm9wZXJ0eSB3b24ndCBiZSBzdXBwb3J0ZWQsIHNpbmNlCisgKiAgICAgaXQgbWFrZXMgdGhlIHBhcnNlciBub24gY29tcGxpYW50IHRvIHRoZSBYTUwgcmVjb21tZW5kYXRpb24KKyAqCisgKiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisgKgorICogZGFuaWVsQHZlaWxsYXJkLmNvbQorICovCisKKy8qCisgKiBUT0RPczoKKyAqICAgLSBYTUwgU2NoZW1hcyB2YWxpZGF0aW9uCisgKi8KKyNkZWZpbmUgSU5fTElCWE1MCisjaW5jbHVkZSAibGlieG1sLmgiCisKKyNpZmRlZiBMSUJYTUxfUkVBREVSX0VOQUJMRUQKKyNpbmNsdWRlIDxzdHJpbmcuaD4gLyogZm9yIG1lbXNldCgpIG9ubHkgISAqLworI2luY2x1ZGUgPHN0ZGFyZy5oPgorCisjaWZkZWYgSEFWRV9DVFlQRV9ICisjaW5jbHVkZSA8Y3R5cGUuaD4KKyNlbmRpZgorI2lmZGVmIEhBVkVfU1RETElCX0gKKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNlbmRpZgorCisjaW5jbHVkZSA8bGlieG1sL3htbG1lbW9yeS5oPgorI2luY2x1ZGUgPGxpYnhtbC94bWxJTy5oPgorI2luY2x1ZGUgPGxpYnhtbC94bWxyZWFkZXIuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvcGFyc2VySW50ZXJuYWxzLmg+CisjaWZkZWYgTElCWE1MX1NDSEVNQVNfRU5BQkxFRAorI2luY2x1ZGUgPGxpYnhtbC9yZWxheG5nLmg+CisjaW5jbHVkZSA8bGlieG1sL3htbHNjaGVtYXMuaD4KKyNlbmRpZgorI2luY2x1ZGUgPGxpYnhtbC91cmkuaD4KKyNpZmRlZiBMSUJYTUxfWElOQ0xVREVfRU5BQkxFRAorI2luY2x1ZGUgPGxpYnhtbC94aW5jbHVkZS5oPgorI2VuZGlmCisjaWZkZWYgTElCWE1MX1BBVFRFUk5fRU5BQkxFRAorI2luY2x1ZGUgPGxpYnhtbC9wYXR0ZXJuLmg+CisjZW5kaWYKKworI2luY2x1ZGUgImJ1Zi5oIgorCisjZGVmaW5lIE1BWF9FUlJfTVNHX1NJWkUgNjQwMDAKKworLyoKKyAqIFRoZSBmb2xsb3dpbmcgVkFfQ09QWSB3YXMgY29kZWQgZm9sbG93aW5nIGFuIGV4YW1wbGUgaW4KKyAqIHRoZSBTYW1iYSBwcm9qZWN0LiAgSXQgbWF5IG5vdCBiZSBzdWZmaWNpZW50IGZvciBzb21lCisgKiBlc290ZXJpYyBpbXBsZW1lbnRhdGlvbnMgb2YgdmFfbGlzdCBidXQgKGhvcGVmdWxseSkgd2lsbAorICogYmUgc3VmZmljaWVudCBmb3IgbGlieG1sMi4KKyAqLworI2lmbmRlZiBWQV9DT1BZCisgICNpZmRlZiBIQVZFX1ZBX0NPUFkKKyAgICAjZGVmaW5lIFZBX0NPUFkoZGVzdCwgc3JjKSB2YV9jb3B5KGRlc3QsIHNyYykKKyAgI2Vsc2UKKyAgICAjaWZkZWYgSEFWRV9fX1ZBX0NPUFkKKyAgICAgICNkZWZpbmUgVkFfQ09QWShkZXN0LHNyYykgX192YV9jb3B5KGRlc3QsIHNyYykKKyAgICAjZWxzZQorICAgICAgI2lmbmRlZiBWQV9MSVNUX0lTX0FSUkFZCisgICAgICAgICNkZWZpbmUgVkFfQ09QWShkZXN0LHNyYykgKGRlc3QpID0gKHNyYykKKyAgICAgICNlbHNlCisgICAgICAgICNpbmNsdWRlIDxzdHJpbmcuaD4KKyAgICAgICAgI2RlZmluZSBWQV9DT1BZKGRlc3Qsc3JjKSBtZW1jcHkoKGNoYXIgKikoZGVzdCksKGNoYXIgKikoc3JjKSxzaXplb2YodmFfbGlzdCkpCisgICAgICAjZW5kaWYKKyAgICAjZW5kaWYKKyAgI2VuZGlmCisjZW5kaWYKKworLyogI2RlZmluZSBERUJVR19DQUxMQkFDS1MgKi8KKy8qICNkZWZpbmUgREVCVUdfUkVBREVSICovCisKKy8qKgorICogVE9ETzoKKyAqCisgKiBtYWNybyB0byBmbGFnIHVuaW1wbGVtZW50ZWQgYmxvY2tzCisgKi8KKyNkZWZpbmUgVE9ETwkJCQkJCQkJXAorICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAkJCQlcCisJICAgICJVbmltcGxlbWVudGVkIGJsb2NrIGF0ICVzOiVkXG4iLAkJCQlcCisgICAgICAgICAgICBfX0ZJTEVfXywgX19MSU5FX18pOworCisjaWZkZWYgREVCVUdfUkVBREVSCisjZGVmaW5lIERVTVBfUkVBREVSIHhtbFRleHRSZWFkZXJEZWJ1ZyhyZWFkZXIpOworI2Vsc2UKKyNkZWZpbmUgRFVNUF9SRUFERVIKKyNlbmRpZgorCisjZGVmaW5lIENIVU5LX1NJWkUgNTEyCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCVRoZSBwYXJzZXI6IG1hcHMgdGhlIFRleHQgUmVhZGVyIEFQSSBvbiB0b3Agb2YgdGhlIGV4aXN0aW5nCSoKKyAqCQlwYXJzaW5nIHJvdXRpbmVzIGJ1aWxkaW5nIGEgdHJlZQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2RlZmluZSBYTUxfVEVYVFJFQURFUl9JTlBVVAkxCisjZGVmaW5lIFhNTF9URVhUUkVBREVSX0NUWFQJMgorCit0eXBlZGVmIGVudW0geworICAgIFhNTF9URVhUUkVBREVSX05PTkUgPSAtMSwKKyAgICBYTUxfVEVYVFJFQURFUl9TVEFSVD0gMCwKKyAgICBYTUxfVEVYVFJFQURFUl9FTEVNRU5UPSAxLAorICAgIFhNTF9URVhUUkVBREVSX0VORD0gMiwKKyAgICBYTUxfVEVYVFJFQURFUl9FTVBUWT0gMywKKyAgICBYTUxfVEVYVFJFQURFUl9CQUNLVFJBQ0s9IDQsCisgICAgWE1MX1RFWFRSRUFERVJfRE9ORT0gNSwKKyAgICBYTUxfVEVYVFJFQURFUl9FUlJPUj0gNgorfSB4bWxUZXh0UmVhZGVyU3RhdGU7CisKK3R5cGVkZWYgZW51bSB7CisgICAgWE1MX1RFWFRSRUFERVJfTk9UX1ZBTElEQVRFID0gMCwKKyAgICBYTUxfVEVYVFJFQURFUl9WQUxJREFURV9EVEQgPSAxLAorICAgIFhNTF9URVhUUkVBREVSX1ZBTElEQVRFX1JORyA9IDIsCisgICAgWE1MX1RFWFRSRUFERVJfVkFMSURBVEVfWFNEID0gNAorfSB4bWxUZXh0UmVhZGVyVmFsaWRhdGU7CisKK3N0cnVjdCBfeG1sVGV4dFJlYWRlciB7CisgICAgaW50CQkJCW1vZGU7CS8qIHRoZSBwYXJzaW5nIG1vZGUgKi8KKyAgICB4bWxEb2NQdHIJCQlkb2M7ICAgIC8qIHdoZW4gd2Fsa2luZyBhbiBleGlzdGluZyBkb2MgKi8KKyAgICB4bWxUZXh0UmVhZGVyVmFsaWRhdGUgICAgICAgdmFsaWRhdGU7LyogaXMgdGhlcmUgYW55IHZhbGlkYXRpb24gKi8KKyAgICBpbnQJCQkJYWxsb2NzOwkvKiB3aGF0IHN0cnVjdHVyZSB3ZXJlIGRlYWxsb2NhdGVkICovCisgICAgeG1sVGV4dFJlYWRlclN0YXRlCQlzdGF0ZTsKKyAgICB4bWxQYXJzZXJDdHh0UHRyCQljdHh0OwkvKiB0aGUgcGFyc2VyIGNvbnRleHQgKi8KKyAgICB4bWxTQVhIYW5kbGVyUHRyCQlzYXg7CS8qIHRoZSBwYXJzZXIgU0FYIGNhbGxiYWNrcyAqLworICAgIHhtbFBhcnNlcklucHV0QnVmZmVyUHRyCWlucHV0OwkvKiB0aGUgaW5wdXQgKi8KKyAgICBzdGFydEVsZW1lbnRTQVhGdW5jCQlzdGFydEVsZW1lbnQ7LyogaW5pdGlhbCBTQVggY2FsbGJhY2tzICovCisgICAgZW5kRWxlbWVudFNBWEZ1bmMJCWVuZEVsZW1lbnQ7ICAvKiBpZGVtICovCisgICAgc3RhcnRFbGVtZW50TnNTQVgyRnVuYwlzdGFydEVsZW1lbnROczsvKiBpZGVtICovCisgICAgZW5kRWxlbWVudE5zU0FYMkZ1bmMJZW5kRWxlbWVudE5zOyAgLyogaWRlbSAqLworICAgIGNoYXJhY3RlcnNTQVhGdW5jCQljaGFyYWN0ZXJzOworICAgIGNkYXRhQmxvY2tTQVhGdW5jCQljZGF0YUJsb2NrOworICAgIHVuc2lnbmVkIGludAkJYmFzZTsJLyogYmFzZSBvZiB0aGUgc2VnbWVudCBpbiB0aGUgaW5wdXQgKi8KKyAgICB1bnNpZ25lZCBpbnQJCWN1cjsJLyogY3VycmVudCBwb3NpdGlvbiBpbiB0aGUgaW5wdXQgKi8KKyAgICB4bWxOb2RlUHRyCQkJbm9kZTsJLyogY3VycmVudCBub2RlICovCisgICAgeG1sTm9kZVB0cgkJCWN1cm5vZGU7LyogY3VycmVudCBhdHRyaWJ1dGUgbm9kZSAqLworICAgIGludAkJCQlkZXB0aDsgIC8qIGRlcHRoIG9mIHRoZSBjdXJyZW50IG5vZGUgKi8KKyAgICB4bWxOb2RlUHRyCQkJZmFrZXRleHQ7LyogZmFrZSB4bWxOcyBjaGxkICovCisgICAgaW50CQkJCXByZXNlcnZlOy8qIHByZXNlcnZlIHRoZSByZXN1bHRpbmcgZG9jdW1lbnQgKi8KKyAgICB4bWxCdWZQdHIJCSAgICAgICAgYnVmZmVyOyAvKiB1c2VkIHRvIHJldHVybiBjb25zdCB4bWxDaGFyICogKi8KKyAgICB4bWxEaWN0UHRyCQkJZGljdDsJLyogdGhlIGNvbnRleHQgZGljdGlvbm5hcnkgKi8KKworICAgIC8qIGVudGl0eSBzdGFjayB3aGVuIHRyYXZlcnNpbmcgZW50aXRpZXMgY29udGVudCAqLworICAgIHhtbE5vZGVQdHIgICAgICAgICBlbnQ7ICAgICAgICAgIC8qIEN1cnJlbnQgRW50aXR5IFJlZiBOb2RlICovCisgICAgaW50ICAgICAgICAgICAgICAgIGVudE5yOyAgICAgICAgLyogRGVwdGggb2YgdGhlIGVudGl0aWVzIHN0YWNrICovCisgICAgaW50ICAgICAgICAgICAgICAgIGVudE1heDsgICAgICAgLyogTWF4IGRlcHRoIG9mIHRoZSBlbnRpdGllcyBzdGFjayAqLworICAgIHhtbE5vZGVQdHIgICAgICAgICplbnRUYWI7ICAgICAgIC8qIGFycmF5IG9mIGVudGl0aWVzICovCisKKyAgICAvKiBlcnJvciBoYW5kbGluZyAqLworICAgIHhtbFRleHRSZWFkZXJFcnJvckZ1bmMgZXJyb3JGdW5jOyAgICAvKiBjYWxsYmFjayBmdW5jdGlvbiAqLworICAgIHZvaWQgICAgICAgICAgICAgICAgICAqZXJyb3JGdW5jQXJnOyAvKiBjYWxsYmFjayBmdW5jdGlvbiB1c2VyIGFyZ3VtZW50ICovCisKKyNpZmRlZiBMSUJYTUxfU0NIRU1BU19FTkFCTEVECisgICAgLyogSGFuZGxpbmcgb2YgUmVsYXhORyB2YWxpZGF0aW9uICovCisgICAgeG1sUmVsYXhOR1B0ciAgICAgICAgICBybmdTY2hlbWFzOwkvKiBUaGUgUmVsYXggTkcgc2NoZW1hcyAqLworICAgIHhtbFJlbGF4TkdWYWxpZEN0eHRQdHIgcm5nVmFsaWRDdHh0Oy8qIFRoZSBSZWxheCBORyB2YWxpZGF0aW9uIGNvbnRleHQgKi8KKyAgICBpbnQgICAgICAgICAgICAgICAgICAgIHJuZ1ByZXNlcnZlQ3R4dDsgLyogMSBpZiB0aGUgY29udGV4dCB3YXMgcHJvdmlkZWQgYnkgdGhlIHVzZXIgKi8KKyAgICBpbnQgICAgICAgICAgICAgICAgICAgIHJuZ1ZhbGlkRXJyb3JzOy8qIFRoZSBudW1iZXIgb2YgZXJyb3JzIGRldGVjdGVkICovCisgICAgeG1sTm9kZVB0ciAgICAgICAgICAgICBybmdGdWxsTm9kZTsJLyogdGhlIG5vZGUgaWYgUk5HIG5vdCBwcm9ncmVzc2l2ZSAqLworICAgIC8qIEhhbmRsaW5nIG9mIFNjaGVtYXMgdmFsaWRhdGlvbiAqLworICAgIHhtbFNjaGVtYVB0ciAgICAgICAgICB4c2RTY2hlbWFzOwkvKiBUaGUgU2NoZW1hcyBzY2hlbWFzICovCisgICAgeG1sU2NoZW1hVmFsaWRDdHh0UHRyIHhzZFZhbGlkQ3R4dDsvKiBUaGUgU2NoZW1hcyB2YWxpZGF0aW9uIGNvbnRleHQgKi8KKyAgICBpbnQgICAgICAgICAgICAgICAgICAgeHNkUHJlc2VydmVDdHh0OyAvKiAxIGlmIHRoZSBjb250ZXh0IHdhcyBwcm92aWRlZCBieSB0aGUgdXNlciAqLworICAgIGludCAgICAgICAgICAgICAgICAgICB4c2RWYWxpZEVycm9yczsvKiBUaGUgbnVtYmVyIG9mIGVycm9ycyBkZXRlY3RlZCAqLworICAgIHhtbFNjaGVtYVNBWFBsdWdQdHIgICB4c2RQbHVnOwkvKiB0aGUgc2NoZW1hcyBwbHVnIGluIFNBWCBwaXBlbGluZSAqLworI2VuZGlmCisjaWZkZWYgTElCWE1MX1hJTkNMVURFX0VOQUJMRUQKKyAgICAvKiBIYW5kbGluZyBvZiBYSW5jbHVkZSBwcm9jZXNzaW5nICovCisgICAgaW50ICAgICAgICAgICAgICAgIHhpbmNsdWRlOwkvKiBpcyB4aW5jbHVkZSBhc2tlZCBmb3IgKi8KKyAgICBjb25zdCB4bWxDaGFyICogICAgeGluY2x1ZGVfbmFtZTsJLyogdGhlIHhpbmNsdWRlIG5hbWUgZnJvbSBkaWN0ICovCisgICAgeG1sWEluY2x1ZGVDdHh0UHRyIHhpbmNjdHh0OwkvKiB0aGUgeGluY2x1ZGUgY29udGV4dCAqLworICAgIGludCAgICAgICAgICAgICAgICBpbl94aW5jbHVkZTsJLyogY291bnRzIGZvciB4aW5jbHVkZSAqLworI2VuZGlmCisjaWZkZWYgTElCWE1MX1BBVFRFUk5fRU5BQkxFRAorICAgIGludCAgICAgICAgICAgICAgICBwYXR0ZXJuTnI7ICAgICAgIC8qIG51bWJlciBvZiBwcmVzZXJ2ZSBwYXR0ZXJucyAqLworICAgIGludCAgICAgICAgICAgICAgICBwYXR0ZXJuTWF4OyAgICAgIC8qIG1heCBwcmVzZXJ2ZSBwYXR0ZXJucyAqLworICAgIHhtbFBhdHRlcm5QdHIgICAgICpwYXR0ZXJuVGFiOyAgICAgIC8qIGFycmF5IG9mIHByZXNlcnZlIHBhdHRlcm5zICovCisjZW5kaWYKKyAgICBpbnQgICAgICAgICAgICAgICAgcHJlc2VydmVzOwkvKiBsZXZlbCBvZiBwcmVzZXJ2ZXMgKi8KKyAgICBpbnQgICAgICAgICAgICAgICAgcGFyc2VyRmxhZ3M7CS8qIHRoZSBzZXQgb2Ygb3B0aW9ucyBzZXQgKi8KKyAgICAvKiBTdHJ1Y3R1cmVkIGVycm9yIGhhbmRsaW5nICovCisgICAgeG1sU3RydWN0dXJlZEVycm9yRnVuYyBzRXJyb3JGdW5jOyAgLyogY2FsbGJhY2sgZnVuY3Rpb24gKi8KK307CisKKyNkZWZpbmUgTk9ERV9JU19FTVBUWQkJMHgxCisjZGVmaW5lIE5PREVfSVNfUFJFU0VSVkVECTB4MgorI2RlZmluZSBOT0RFX0lTX1NQUkVTRVJWRUQJMHg0CisKKy8qKgorICogQ09OU1RTVFI6CisgKgorICogTWFjcm8gdXNlZCB0byByZXR1cm4gYW4gaW50ZXJuZWQgc3RyaW5nCisgKi8KKyNkZWZpbmUgQ09OU1RTVFIoc3RyKSB4bWxEaWN0TG9va3VwKHJlYWRlci0+ZGljdCwgKHN0ciksIC0xKQorI2RlZmluZSBDT05TVFFTVFIocCwgc3RyKSB4bWxEaWN0UUxvb2t1cChyZWFkZXItPmRpY3QsIChwKSwgKHN0cikpCisKK3N0YXRpYyBpbnQgeG1sVGV4dFJlYWRlclJlYWRUcmVlKHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyKTsKK3N0YXRpYyBpbnQgeG1sVGV4dFJlYWRlck5leHRUcmVlKHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyKTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKglPdXIgb3duIHZlcnNpb24gb2YgdGhlIGZyZWVpbmcgcm91dGluZXMgYXMgd2UgcmVjeWNsZSBub2RlcwkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKioKKyAqIERJQ1RfRlJFRToKKyAqIEBzdHI6ICBhIHN0cmluZworICoKKyAqIEZyZWUgYSBzdHJpbmcgaWYgaXQgaXMgbm90IG93bmVkIGJ5IHRoZSAiZGljdCIgZGljdGlvbm5hcnkgaW4gdGhlCisgKiBjdXJyZW50IHNjb3BlCisgKi8KKyNkZWZpbmUgRElDVF9GUkVFKHN0cikJCQkJCQlcCisJaWYgKChzdHIpICYmICgoIWRpY3QpIHx8CQkJCVwKKwkgICAgKHhtbERpY3RPd25zKGRpY3QsIChjb25zdCB4bWxDaGFyICopKHN0cikpID09IDApKSkJXAorCSAgICB4bWxGcmVlKChjaGFyICopKHN0cikpOworCitzdGF0aWMgdm9pZCB4bWxUZXh0UmVhZGVyRnJlZU5vZGUoeG1sVGV4dFJlYWRlclB0ciByZWFkZXIsIHhtbE5vZGVQdHIgY3VyKTsKK3N0YXRpYyB2b2lkIHhtbFRleHRSZWFkZXJGcmVlTm9kZUxpc3QoeG1sVGV4dFJlYWRlclB0ciByZWFkZXIsIHhtbE5vZGVQdHIgY3VyKTsKKworLyoqCisgKiB4bWxGcmVlSUQ6CisgKiBAbm90OiAgQSBpZAorICoKKyAqIERlYWxsb2NhdGUgdGhlIG1lbW9yeSB1c2VkIGJ5IGFuIGlkIGRlZmluaXRpb24KKyAqLworc3RhdGljIHZvaWQKK3htbEZyZWVJRCh4bWxJRFB0ciBpZCkgeworICAgIHhtbERpY3RQdHIgZGljdCA9IE5VTEw7CisKKyAgICBpZiAoaWQgPT0gTlVMTCkgcmV0dXJuOworCisgICAgaWYgKGlkLT5kb2MgIT0gTlVMTCkKKyAgICAgICAgZGljdCA9IGlkLT5kb2MtPmRpY3Q7CisKKyAgICBpZiAoaWQtPnZhbHVlICE9IE5VTEwpCisJRElDVF9GUkVFKGlkLT52YWx1ZSkKKyAgICB4bWxGcmVlKGlkKTsKK30KKworLyoqCisgKiB4bWxUZXh0UmVhZGVyUmVtb3ZlSUQ6CisgKiBAZG9jOiAgdGhlIGRvY3VtZW50CisgKiBAYXR0cjogIHRoZSBhdHRyaWJ1dGUKKyAqCisgKiBSZW1vdmUgdGhlIGdpdmVuIGF0dHJpYnV0ZSBmcm9tIHRoZSBJRCB0YWJsZSBtYWludGFpbmVkIGludGVybmFsbHkuCisgKgorICogUmV0dXJucyAtMSBpZiB0aGUgbG9va3VwIGZhaWxlZCBhbmQgMCBvdGhlcndpc2UKKyAqLworc3RhdGljIGludAoreG1sVGV4dFJlYWRlclJlbW92ZUlEKHhtbERvY1B0ciBkb2MsIHhtbEF0dHJQdHIgYXR0cikgeworICAgIHhtbElEVGFibGVQdHIgdGFibGU7CisgICAgeG1sSURQdHIgaWQ7CisgICAgeG1sQ2hhciAqSUQ7CisKKyAgICBpZiAoZG9jID09IE5VTEwpIHJldHVybigtMSk7CisgICAgaWYgKGF0dHIgPT0gTlVMTCkgcmV0dXJuKC0xKTsKKyAgICB0YWJsZSA9ICh4bWxJRFRhYmxlUHRyKSBkb2MtPmlkczsKKyAgICBpZiAodGFibGUgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuKC0xKTsKKworICAgIElEID0geG1sTm9kZUxpc3RHZXRTdHJpbmcoZG9jLCBhdHRyLT5jaGlsZHJlbiwgMSk7CisgICAgaWYgKElEID09IE5VTEwpCisJcmV0dXJuKC0xKTsKKyAgICBpZCA9IHhtbEhhc2hMb29rdXAodGFibGUsIElEKTsKKyAgICB4bWxGcmVlKElEKTsKKyAgICBpZiAoaWQgPT0gTlVMTCB8fCBpZC0+YXR0ciAhPSBhdHRyKSB7CisJcmV0dXJuKC0xKTsKKyAgICB9CisgICAgaWQtPm5hbWUgPSBhdHRyLT5uYW1lOworICAgIGlkLT5hdHRyID0gTlVMTDsKKyAgICByZXR1cm4oMCk7Cit9CisKKy8qKgorICogeG1sVGV4dFJlYWRlckZyZWVQcm9wOgorICogQHJlYWRlcjogIHRoZSB4bWxUZXh0UmVhZGVyUHRyIHVzZWQKKyAqIEBjdXI6ICB0aGUgbm9kZQorICoKKyAqIEZyZWUgYSBub2RlLgorICovCitzdGF0aWMgdm9pZAoreG1sVGV4dFJlYWRlckZyZWVQcm9wKHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyLCB4bWxBdHRyUHRyIGN1cikgeworICAgIHhtbERpY3RQdHIgZGljdDsKKworICAgIGlmICgocmVhZGVyICE9IE5VTEwpICYmIChyZWFkZXItPmN0eHQgIT0gTlVMTCkpCisJZGljdCA9IHJlYWRlci0+Y3R4dC0+ZGljdDsKKyAgICBlbHNlCisgICAgICAgIGRpY3QgPSBOVUxMOworICAgIGlmIChjdXIgPT0gTlVMTCkgcmV0dXJuOworCisgICAgaWYgKChfX3htbFJlZ2lzdGVyQ2FsbGJhY2tzKSAmJiAoeG1sRGVyZWdpc3Rlck5vZGVEZWZhdWx0VmFsdWUpKQorCXhtbERlcmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlKCh4bWxOb2RlUHRyKSBjdXIpOworCisgICAgLyogQ2hlY2sgZm9yIElEIHJlbW92YWwgLT4gbGVhZGluZyB0byBpbnZhbGlkIHJlZmVyZW5jZXMgISAqLworICAgIGlmICgoY3VyLT5wYXJlbnQgIT0gTlVMTCkgJiYgKGN1ci0+cGFyZW50LT5kb2MgIT0gTlVMTCkgJiYKKwkoKGN1ci0+cGFyZW50LT5kb2MtPmludFN1YnNldCAhPSBOVUxMKSB8fAorCSAoY3VyLT5wYXJlbnQtPmRvYy0+ZXh0U3Vic2V0ICE9IE5VTEwpKSkgeworICAgICAgICBpZiAoeG1sSXNJRChjdXItPnBhcmVudC0+ZG9jLCBjdXItPnBhcmVudCwgY3VyKSkKKwkgICAgeG1sVGV4dFJlYWRlclJlbW92ZUlEKGN1ci0+cGFyZW50LT5kb2MsIGN1cik7CisgICAgfQorICAgIGlmIChjdXItPmNoaWxkcmVuICE9IE5VTEwpCisgICAgICAgIHhtbFRleHRSZWFkZXJGcmVlTm9kZUxpc3QocmVhZGVyLCBjdXItPmNoaWxkcmVuKTsKKworICAgIERJQ1RfRlJFRShjdXItPm5hbWUpOworICAgIGlmICgocmVhZGVyICE9IE5VTEwpICYmIChyZWFkZXItPmN0eHQgIT0gTlVMTCkgJiYKKyAgICAgICAgKHJlYWRlci0+Y3R4dC0+ZnJlZUF0dHJzTnIgPCAxMDApKSB7CisgICAgICAgIGN1ci0+bmV4dCA9IHJlYWRlci0+Y3R4dC0+ZnJlZUF0dHJzOworCXJlYWRlci0+Y3R4dC0+ZnJlZUF0dHJzID0gY3VyOworCXJlYWRlci0+Y3R4dC0+ZnJlZUF0dHJzTnIrKzsKKyAgICB9IGVsc2UgeworCXhtbEZyZWUoY3VyKTsKKyAgICB9Cit9CisKKy8qKgorICogeG1sVGV4dFJlYWRlckZyZWVQcm9wTGlzdDoKKyAqIEByZWFkZXI6ICB0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkCisgKiBAY3VyOiAgdGhlIGZpcnN0IHByb3BlcnR5IGluIHRoZSBsaXN0CisgKgorICogRnJlZSBhIHByb3BlcnR5IGFuZCBhbGwgaXRzIHNpYmxpbmdzLCBhbGwgdGhlIGNoaWxkcmVuIGFyZSBmcmVlZCB0b28uCisgKi8KK3N0YXRpYyB2b2lkCit4bWxUZXh0UmVhZGVyRnJlZVByb3BMaXN0KHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyLCB4bWxBdHRyUHRyIGN1cikgeworICAgIHhtbEF0dHJQdHIgbmV4dDsKKworICAgIHdoaWxlIChjdXIgIT0gTlVMTCkgeworICAgICAgICBuZXh0ID0gY3VyLT5uZXh0OworICAgICAgICB4bWxUZXh0UmVhZGVyRnJlZVByb3AocmVhZGVyLCBjdXIpOworCWN1ciA9IG5leHQ7CisgICAgfQorfQorCisvKioKKyAqIHhtbFRleHRSZWFkZXJGcmVlTm9kZUxpc3Q6CisgKiBAcmVhZGVyOiAgdGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZAorICogQGN1cjogIHRoZSBmaXJzdCBub2RlIGluIHRoZSBsaXN0CisgKgorICogRnJlZSBhIG5vZGUgYW5kIGFsbCBpdHMgc2libGluZ3MsIHRoaXMgaXMgYSByZWN1cnNpdmUgYmVoYXZpb3VyLCBhbGwKKyAqIHRoZSBjaGlsZHJlbiBhcmUgZnJlZWQgdG9vLgorICovCitzdGF0aWMgdm9pZAoreG1sVGV4dFJlYWRlckZyZWVOb2RlTGlzdCh4bWxUZXh0UmVhZGVyUHRyIHJlYWRlciwgeG1sTm9kZVB0ciBjdXIpIHsKKyAgICB4bWxOb2RlUHRyIG5leHQ7CisgICAgeG1sRGljdFB0ciBkaWN0OworCisgICAgaWYgKChyZWFkZXIgIT0gTlVMTCkgJiYgKHJlYWRlci0+Y3R4dCAhPSBOVUxMKSkKKwlkaWN0ID0gcmVhZGVyLT5jdHh0LT5kaWN0OworICAgIGVsc2UKKyAgICAgICAgZGljdCA9IE5VTEw7CisgICAgaWYgKGN1ciA9PSBOVUxMKSByZXR1cm47CisgICAgaWYgKGN1ci0+dHlwZSA9PSBYTUxfTkFNRVNQQUNFX0RFQ0wpIHsKKwl4bWxGcmVlTnNMaXN0KCh4bWxOc1B0cikgY3VyKTsKKwlyZXR1cm47CisgICAgfQorICAgIGlmICgoY3VyLT50eXBlID09IFhNTF9ET0NVTUVOVF9OT0RFKSB8fAorCShjdXItPnR5cGUgPT0gWE1MX0hUTUxfRE9DVU1FTlRfTk9ERSkpIHsKKwl4bWxGcmVlRG9jKCh4bWxEb2NQdHIpIGN1cik7CisJcmV0dXJuOworICAgIH0KKyAgICB3aGlsZSAoY3VyICE9IE5VTEwpIHsKKyAgICAgICAgbmV4dCA9IGN1ci0+bmV4dDsKKwkvKiB1bnJvbGwgdG8gc3BlZWQgdXAgZnJlZWluZyB0aGUgZG9jdW1lbnQgKi8KKwlpZiAoY3VyLT50eXBlICE9IFhNTF9EVERfTk9ERSkgeworCisJICAgIGlmICgoY3VyLT5jaGlsZHJlbiAhPSBOVUxMKSAmJgorCQkoY3VyLT50eXBlICE9IFhNTF9FTlRJVFlfUkVGX05PREUpKSB7CisJCWlmIChjdXItPmNoaWxkcmVuLT5wYXJlbnQgPT0gY3VyKQorCQkgICAgeG1sVGV4dFJlYWRlckZyZWVOb2RlTGlzdChyZWFkZXIsIGN1ci0+Y2hpbGRyZW4pOworCQljdXItPmNoaWxkcmVuID0gTlVMTDsKKwkgICAgfQorCisJICAgIGlmICgoX194bWxSZWdpc3RlckNhbGxiYWNrcykgJiYgKHhtbERlcmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlKSkKKwkJeG1sRGVyZWdpc3Rlck5vZGVEZWZhdWx0VmFsdWUoY3VyKTsKKworCSAgICBpZiAoKChjdXItPnR5cGUgPT0gWE1MX0VMRU1FTlRfTk9ERSkgfHwKKwkJIChjdXItPnR5cGUgPT0gWE1MX1hJTkNMVURFX1NUQVJUKSB8fAorCQkgKGN1ci0+dHlwZSA9PSBYTUxfWElOQ0xVREVfRU5EKSkgJiYKKwkJKGN1ci0+cHJvcGVydGllcyAhPSBOVUxMKSkKKwkJeG1sVGV4dFJlYWRlckZyZWVQcm9wTGlzdChyZWFkZXIsIGN1ci0+cHJvcGVydGllcyk7CisJICAgIGlmICgoY3VyLT5jb250ZW50ICE9ICh4bWxDaGFyICopICYoY3VyLT5wcm9wZXJ0aWVzKSkgJiYKKwkgICAgICAgIChjdXItPnR5cGUgIT0gWE1MX0VMRU1FTlRfTk9ERSkgJiYKKwkJKGN1ci0+dHlwZSAhPSBYTUxfWElOQ0xVREVfU1RBUlQpICYmCisJCShjdXItPnR5cGUgIT0gWE1MX1hJTkNMVURFX0VORCkgJiYKKwkJKGN1ci0+dHlwZSAhPSBYTUxfRU5USVRZX1JFRl9OT0RFKSkgeworCQlESUNUX0ZSRUUoY3VyLT5jb250ZW50KTsKKwkgICAgfQorCSAgICBpZiAoKChjdXItPnR5cGUgPT0gWE1MX0VMRU1FTlRfTk9ERSkgfHwKKwkgICAgICAgICAoY3VyLT50eXBlID09IFhNTF9YSU5DTFVERV9TVEFSVCkgfHwKKwkJIChjdXItPnR5cGUgPT0gWE1MX1hJTkNMVURFX0VORCkpICYmCisJCShjdXItPm5zRGVmICE9IE5VTEwpKQorCQl4bWxGcmVlTnNMaXN0KGN1ci0+bnNEZWYpOworCisJICAgIC8qCisJICAgICAqIHdlIGRvbid0IGZyZWUgZWxlbWVudCBuYW1lcyBoZXJlIHRoZXkgYXJlIGludGVybmVkIG5vdworCSAgICAgKi8KKwkgICAgaWYgKChjdXItPnR5cGUgIT0gWE1MX1RFWFRfTk9ERSkgJiYKKwkJKGN1ci0+dHlwZSAhPSBYTUxfQ09NTUVOVF9OT0RFKSkKKwkJRElDVF9GUkVFKGN1ci0+bmFtZSk7CisJICAgIGlmICgoKGN1ci0+dHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFKSB8fAorCQkgKGN1ci0+dHlwZSA9PSBYTUxfVEVYVF9OT0RFKSkgJiYKKwkgICAgICAgIChyZWFkZXIgIT0gTlVMTCkgJiYgKHJlYWRlci0+Y3R4dCAhPSBOVUxMKSAmJgorCQkocmVhZGVyLT5jdHh0LT5mcmVlRWxlbXNOciA8IDEwMCkpIHsKKwkgICAgICAgIGN1ci0+bmV4dCA9IHJlYWRlci0+Y3R4dC0+ZnJlZUVsZW1zOworCQlyZWFkZXItPmN0eHQtPmZyZWVFbGVtcyA9IGN1cjsKKwkJcmVhZGVyLT5jdHh0LT5mcmVlRWxlbXNOcisrOworCSAgICB9IGVsc2UgeworCQl4bWxGcmVlKGN1cik7CisJICAgIH0KKwl9CisJY3VyID0gbmV4dDsKKyAgICB9Cit9CisKKy8qKgorICogeG1sVGV4dFJlYWRlckZyZWVOb2RlOgorICogQHJlYWRlcjogIHRoZSB4bWxUZXh0UmVhZGVyUHRyIHVzZWQKKyAqIEBjdXI6ICB0aGUgbm9kZQorICoKKyAqIEZyZWUgYSBub2RlLCB0aGlzIGlzIGEgcmVjdXJzaXZlIGJlaGF2aW91ciwgYWxsIHRoZSBjaGlsZHJlbiBhcmUgZnJlZWQgdG9vLgorICogVGhpcyBkb2Vzbid0IHVubGluayB0aGUgY2hpbGQgZnJvbSB0aGUgbGlzdCwgdXNlIHhtbFVubGlua05vZGUoKSBmaXJzdC4KKyAqLworc3RhdGljIHZvaWQKK3htbFRleHRSZWFkZXJGcmVlTm9kZSh4bWxUZXh0UmVhZGVyUHRyIHJlYWRlciwgeG1sTm9kZVB0ciBjdXIpIHsKKyAgICB4bWxEaWN0UHRyIGRpY3Q7CisKKyAgICBpZiAoKHJlYWRlciAhPSBOVUxMKSAmJiAocmVhZGVyLT5jdHh0ICE9IE5VTEwpKQorCWRpY3QgPSByZWFkZXItPmN0eHQtPmRpY3Q7CisgICAgZWxzZQorICAgICAgICBkaWN0ID0gTlVMTDsKKyAgICBpZiAoY3VyLT50eXBlID09IFhNTF9EVERfTk9ERSkgeworCXhtbEZyZWVEdGQoKHhtbER0ZFB0cikgY3VyKTsKKwlyZXR1cm47CisgICAgfQorICAgIGlmIChjdXItPnR5cGUgPT0gWE1MX05BTUVTUEFDRV9ERUNMKSB7CisJeG1sRnJlZU5zKCh4bWxOc1B0cikgY3VyKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBpZiAoY3VyLT50eXBlID09IFhNTF9BVFRSSUJVVEVfTk9ERSkgeworCXhtbFRleHRSZWFkZXJGcmVlUHJvcChyZWFkZXIsICh4bWxBdHRyUHRyKSBjdXIpOworCXJldHVybjsKKyAgICB9CisKKyAgICBpZiAoKGN1ci0+Y2hpbGRyZW4gIT0gTlVMTCkgJiYKKwkoY3VyLT50eXBlICE9IFhNTF9FTlRJVFlfUkVGX05PREUpKSB7CisJaWYgKGN1ci0+Y2hpbGRyZW4tPnBhcmVudCA9PSBjdXIpCisJICAgIHhtbFRleHRSZWFkZXJGcmVlTm9kZUxpc3QocmVhZGVyLCBjdXItPmNoaWxkcmVuKTsKKwljdXItPmNoaWxkcmVuID0gTlVMTDsKKyAgICB9CisKKyAgICBpZiAoKF9feG1sUmVnaXN0ZXJDYWxsYmFja3MpICYmICh4bWxEZXJlZ2lzdGVyTm9kZURlZmF1bHRWYWx1ZSkpCisJeG1sRGVyZWdpc3Rlck5vZGVEZWZhdWx0VmFsdWUoY3VyKTsKKworICAgIGlmICgoKGN1ci0+dHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFKSB8fAorCSAoY3VyLT50eXBlID09IFhNTF9YSU5DTFVERV9TVEFSVCkgfHwKKwkgKGN1ci0+dHlwZSA9PSBYTUxfWElOQ0xVREVfRU5EKSkgJiYKKwkoY3VyLT5wcm9wZXJ0aWVzICE9IE5VTEwpKQorCXhtbFRleHRSZWFkZXJGcmVlUHJvcExpc3QocmVhZGVyLCBjdXItPnByb3BlcnRpZXMpOworICAgIGlmICgoY3VyLT5jb250ZW50ICE9ICh4bWxDaGFyICopICYoY3VyLT5wcm9wZXJ0aWVzKSkgJiYKKyAgICAgICAgKGN1ci0+dHlwZSAhPSBYTUxfRUxFTUVOVF9OT0RFKSAmJgorCShjdXItPnR5cGUgIT0gWE1MX1hJTkNMVURFX1NUQVJUKSAmJgorCShjdXItPnR5cGUgIT0gWE1MX1hJTkNMVURFX0VORCkgJiYKKwkoY3VyLT50eXBlICE9IFhNTF9FTlRJVFlfUkVGX05PREUpKSB7CisJRElDVF9GUkVFKGN1ci0+Y29udGVudCk7CisgICAgfQorICAgIGlmICgoKGN1ci0+dHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFKSB8fAorCSAoY3VyLT50eXBlID09IFhNTF9YSU5DTFVERV9TVEFSVCkgfHwKKwkgKGN1ci0+dHlwZSA9PSBYTUxfWElOQ0xVREVfRU5EKSkgJiYKKwkoY3VyLT5uc0RlZiAhPSBOVUxMKSkKKwl4bWxGcmVlTnNMaXN0KGN1ci0+bnNEZWYpOworCisgICAgLyoKKyAgICAgKiB3ZSBkb24ndCBmcmVlIG5hbWVzIGhlcmUgdGhleSBhcmUgaW50ZXJuZWQgbm93CisgICAgICovCisgICAgaWYgKChjdXItPnR5cGUgIT0gWE1MX1RFWFRfTk9ERSkgJiYKKyAgICAgICAgKGN1ci0+dHlwZSAhPSBYTUxfQ09NTUVOVF9OT0RFKSkKKwlESUNUX0ZSRUUoY3VyLT5uYW1lKTsKKworICAgIGlmICgoKGN1ci0+dHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFKSB8fAorCSAoY3VyLT50eXBlID09IFhNTF9URVhUX05PREUpKSAmJgorCShyZWFkZXIgIT0gTlVMTCkgJiYgKHJlYWRlci0+Y3R4dCAhPSBOVUxMKSAmJgorCShyZWFkZXItPmN0eHQtPmZyZWVFbGVtc05yIDwgMTAwKSkgeworCWN1ci0+bmV4dCA9IHJlYWRlci0+Y3R4dC0+ZnJlZUVsZW1zOworCXJlYWRlci0+Y3R4dC0+ZnJlZUVsZW1zID0gY3VyOworCXJlYWRlci0+Y3R4dC0+ZnJlZUVsZW1zTnIrKzsKKyAgICB9IGVsc2UgeworCXhtbEZyZWUoY3VyKTsKKyAgICB9Cit9CisKKy8qKgorICogeG1sVGV4dFJlYWRlckZyZWVJRFRhYmxlOgorICogQHRhYmxlOiAgQW4gaWQgdGFibGUKKyAqCisgKiBEZWFsbG9jYXRlIHRoZSBtZW1vcnkgdXNlZCBieSBhbiBJRCBoYXNoIHRhYmxlLgorICovCitzdGF0aWMgdm9pZAoreG1sVGV4dFJlYWRlckZyZWVJRFRhYmxlKHhtbElEVGFibGVQdHIgdGFibGUpIHsKKyAgICB4bWxIYXNoRnJlZSh0YWJsZSwgKHhtbEhhc2hEZWFsbG9jYXRvcikgeG1sRnJlZUlEKTsKK30KKworLyoqCisgKiB4bWxUZXh0UmVhZGVyRnJlZURvYzoKKyAqIEByZWFkZXI6ICB0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkCisgKiBAY3VyOiAgcG9pbnRlciB0byB0aGUgZG9jdW1lbnQKKyAqCisgKiBGcmVlIHVwIGFsbCB0aGUgc3RydWN0dXJlcyB1c2VkIGJ5IGEgZG9jdW1lbnQsIHRyZWUgaW5jbHVkZWQuCisgKi8KK3N0YXRpYyB2b2lkCit4bWxUZXh0UmVhZGVyRnJlZURvYyh4bWxUZXh0UmVhZGVyUHRyIHJlYWRlciwgeG1sRG9jUHRyIGN1cikgeworICAgIHhtbER0ZFB0ciBleHRTdWJzZXQsIGludFN1YnNldDsKKworICAgIGlmIChjdXIgPT0gTlVMTCkgcmV0dXJuOworCisgICAgaWYgKChfX3htbFJlZ2lzdGVyQ2FsbGJhY2tzKSAmJiAoeG1sRGVyZWdpc3Rlck5vZGVEZWZhdWx0VmFsdWUpKQorCXhtbERlcmVnaXN0ZXJOb2RlRGVmYXVsdFZhbHVlKCh4bWxOb2RlUHRyKSBjdXIpOworCisgICAgLyoKKyAgICAgKiBEbyB0aGlzIGJlZm9yZSBmcmVlaW5nIHRoZSBjaGlsZHJlbiBsaXN0IHRvIGF2b2lkIElEIGxvb2t1cHMKKyAgICAgKi8KKyAgICBpZiAoY3VyLT5pZHMgIT0gTlVMTCkgeG1sVGV4dFJlYWRlckZyZWVJRFRhYmxlKCh4bWxJRFRhYmxlUHRyKSBjdXItPmlkcyk7CisgICAgY3VyLT5pZHMgPSBOVUxMOworICAgIGlmIChjdXItPnJlZnMgIT0gTlVMTCkgeG1sRnJlZVJlZlRhYmxlKCh4bWxSZWZUYWJsZVB0cikgY3VyLT5yZWZzKTsKKyAgICBjdXItPnJlZnMgPSBOVUxMOworICAgIGV4dFN1YnNldCA9IGN1ci0+ZXh0U3Vic2V0OworICAgIGludFN1YnNldCA9IGN1ci0+aW50U3Vic2V0OworICAgIGlmIChpbnRTdWJzZXQgPT0gZXh0U3Vic2V0KQorCWV4dFN1YnNldCA9IE5VTEw7CisgICAgaWYgKGV4dFN1YnNldCAhPSBOVUxMKSB7CisJeG1sVW5saW5rTm9kZSgoeG1sTm9kZVB0cikgY3VyLT5leHRTdWJzZXQpOworCWN1ci0+ZXh0U3Vic2V0ID0gTlVMTDsKKwl4bWxGcmVlRHRkKGV4dFN1YnNldCk7CisgICAgfQorICAgIGlmIChpbnRTdWJzZXQgIT0gTlVMTCkgeworCXhtbFVubGlua05vZGUoKHhtbE5vZGVQdHIpIGN1ci0+aW50U3Vic2V0KTsKKwljdXItPmludFN1YnNldCA9IE5VTEw7CisJeG1sRnJlZUR0ZChpbnRTdWJzZXQpOworICAgIH0KKworICAgIGlmIChjdXItPmNoaWxkcmVuICE9IE5VTEwpIHhtbFRleHRSZWFkZXJGcmVlTm9kZUxpc3QocmVhZGVyLCBjdXItPmNoaWxkcmVuKTsKKworICAgIGlmIChjdXItPnZlcnNpb24gIT0gTlVMTCkgeG1sRnJlZSgoY2hhciAqKSBjdXItPnZlcnNpb24pOworICAgIGlmIChjdXItPm5hbWUgIT0gTlVMTCkgeG1sRnJlZSgoY2hhciAqKSBjdXItPm5hbWUpOworICAgIGlmIChjdXItPmVuY29kaW5nICE9IE5VTEwpIHhtbEZyZWUoKGNoYXIgKikgY3VyLT5lbmNvZGluZyk7CisgICAgaWYgKGN1ci0+b2xkTnMgIT0gTlVMTCkgeG1sRnJlZU5zTGlzdChjdXItPm9sZE5zKTsKKyAgICBpZiAoY3VyLT5VUkwgIT0gTlVMTCkgeG1sRnJlZSgoY2hhciAqKSBjdXItPlVSTCk7CisgICAgaWYgKGN1ci0+ZGljdCAhPSBOVUxMKSB4bWxEaWN0RnJlZShjdXItPmRpY3QpOworCisgICAgeG1sRnJlZShjdXIpOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQkJVGhlIHJlYWRlciBjb3JlIHBhcnNlcgkJCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZkZWYgREVCVUdfUkVBREVSCitzdGF0aWMgdm9pZAoreG1sVGV4dFJlYWRlckRlYnVnKHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyKSB7CisgICAgaWYgKChyZWFkZXIgPT0gTlVMTCkgfHwgKHJlYWRlci0+Y3R4dCA9PSBOVUxMKSkgeworCWZwcmludGYoc3RkZXJyLCAieG1sVGV4dFJlYWRlciBOVUxMXG4iKTsKKwlyZXR1cm47CisgICAgfQorICAgIGZwcmludGYoc3RkZXJyLCAieG1sVGV4dFJlYWRlcjogc3RhdGUgJWQgZGVwdGggJWQgIiwKKwkgICAgcmVhZGVyLT5zdGF0ZSwgcmVhZGVyLT5kZXB0aCk7CisgICAgaWYgKHJlYWRlci0+bm9kZSA9PSBOVUxMKSB7CisJZnByaW50ZihzdGRlcnIsICJub2RlID0gTlVMTFxuIik7CisgICAgfSBlbHNlIHsKKwlmcHJpbnRmKHN0ZGVyciwgIm5vZGUgJXNcbiIsIHJlYWRlci0+bm9kZS0+bmFtZSk7CisgICAgfQorICAgIGZwcmludGYoc3RkZXJyLCAiICBpbnB1dDogYmFzZSAlZCwgY3VyICVkLCBkZXB0aCAlZDogIiwKKwkgICAgcmVhZGVyLT5iYXNlLCByZWFkZXItPmN1ciwgcmVhZGVyLT5jdHh0LT5ub2RlTnIpOworICAgIGlmIChyZWFkZXItPmlucHV0LT5idWZmZXIgPT0gTlVMTCkgeworCWZwcmludGYoc3RkZXJyLCAiYnVmZmVyIGlzIE5VTExcbiIpOworICAgIH0gZWxzZSB7CisjaWZkZWYgTElCWE1MX0RFQlVHX0VOQUJMRUQKKwl4bWxEZWJ1Z0R1bXBTdHJpbmcoc3RkZXJyLAorCQkmcmVhZGVyLT5pbnB1dC0+YnVmZmVyLT5jb250ZW50W3JlYWRlci0+Y3VyXSk7CisjZW5kaWYKKwlmcHJpbnRmKHN0ZGVyciwgIlxuIik7CisgICAgfQorfQorI2VuZGlmCisKKy8qKgorICogeG1sVGV4dFJlYWRlckVudFB1c2g6CisgKiBAcmVhZGVyOiAgdGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZAorICogQHZhbHVlOiAgdGhlIGVudGl0eSByZWZlcmVuY2Ugbm9kZQorICoKKyAqIFB1c2hlcyBhIG5ldyBlbnRpdHkgcmVmZXJlbmNlIG5vZGUgb24gdG9wIG9mIHRoZSBlbnRpdGllcyBzdGFjaworICoKKyAqIFJldHVybnMgMCBpbiBjYXNlIG9mIGVycm9yLCB0aGUgaW5kZXggaW4gdGhlIHN0YWNrIG90aGVyd2lzZQorICovCitzdGF0aWMgaW50Cit4bWxUZXh0UmVhZGVyRW50UHVzaCh4bWxUZXh0UmVhZGVyUHRyIHJlYWRlciwgeG1sTm9kZVB0ciB2YWx1ZSkKK3sKKyAgICBpZiAocmVhZGVyLT5lbnRNYXggPD0gMCkgeworCXJlYWRlci0+ZW50TWF4ID0gMTA7CisJcmVhZGVyLT5lbnRUYWIgPSAoeG1sTm9kZVB0ciAqKSB4bWxNYWxsb2MocmVhZGVyLT5lbnRNYXggKgorCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKHJlYWRlci0+ZW50VGFiWzBdKSk7CisgICAgICAgIGlmIChyZWFkZXItPmVudFRhYiA9PSBOVUxMKSB7CisgICAgICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgInhtbE1hbGxvYyBmYWlsZWQgIVxuIik7CisgICAgICAgICAgICByZXR1cm4gKDApOworICAgICAgICB9CisgICAgfQorICAgIGlmIChyZWFkZXItPmVudE5yID49IHJlYWRlci0+ZW50TWF4KSB7CisgICAgICAgIHJlYWRlci0+ZW50TWF4ICo9IDI7CisgICAgICAgIHJlYWRlci0+ZW50VGFiID0KKyAgICAgICAgICAgICh4bWxOb2RlUHRyICopIHhtbFJlYWxsb2MocmVhZGVyLT5lbnRUYWIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRlci0+ZW50TWF4ICoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKHJlYWRlci0+ZW50VGFiWzBdKSk7CisgICAgICAgIGlmIChyZWFkZXItPmVudFRhYiA9PSBOVUxMKSB7CisgICAgICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgInhtbFJlYWxsb2MgZmFpbGVkICFcbiIpOworICAgICAgICAgICAgcmV0dXJuICgwKTsKKyAgICAgICAgfQorICAgIH0KKyAgICByZWFkZXItPmVudFRhYltyZWFkZXItPmVudE5yXSA9IHZhbHVlOworICAgIHJlYWRlci0+ZW50ID0gdmFsdWU7CisgICAgcmV0dXJuIChyZWFkZXItPmVudE5yKyspOworfQorCisvKioKKyAqIHhtbFRleHRSZWFkZXJFbnRQb3A6CisgKiBAcmVhZGVyOiAgdGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZAorICoKKyAqIFBvcHMgdGhlIHRvcCBlbGVtZW50IGVudGl0eSBmcm9tIHRoZSBlbnRpdGllcyBzdGFjaworICoKKyAqIFJldHVybnMgdGhlIGVudGl0eSBqdXN0IHJlbW92ZWQKKyAqLworc3RhdGljIHhtbE5vZGVQdHIKK3htbFRleHRSZWFkZXJFbnRQb3AoeG1sVGV4dFJlYWRlclB0ciByZWFkZXIpCit7CisgICAgeG1sTm9kZVB0ciByZXQ7CisKKyAgICBpZiAocmVhZGVyLT5lbnROciA8PSAwKQorICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIHJlYWRlci0+ZW50TnItLTsKKyAgICBpZiAocmVhZGVyLT5lbnROciA+IDApCisgICAgICAgIHJlYWRlci0+ZW50ID0gcmVhZGVyLT5lbnRUYWJbcmVhZGVyLT5lbnROciAtIDFdOworICAgIGVsc2UKKyAgICAgICAgcmVhZGVyLT5lbnQgPSBOVUxMOworICAgIHJldCA9IHJlYWRlci0+ZW50VGFiW3JlYWRlci0+ZW50TnJdOworICAgIHJlYWRlci0+ZW50VGFiW3JlYWRlci0+ZW50TnJdID0gTlVMTDsKKyAgICByZXR1cm4gKHJldCk7Cit9CisKKy8qKgorICogeG1sVGV4dFJlYWRlclN0YXJ0RWxlbWVudDoKKyAqIEBjdHg6IHRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCkKKyAqIEBmdWxsbmFtZTogIFRoZSBlbGVtZW50IG5hbWUsIGluY2x1ZGluZyBuYW1lc3BhY2UgcHJlZml4CisgKiBAYXR0czogIEFuIGFycmF5IG9mIG5hbWUvdmFsdWUgYXR0cmlidXRlcyBwYWlycywgTlVMTCB0ZXJtaW5hdGVkCisgKgorICogY2FsbGVkIHdoZW4gYW4gb3BlbmluZyB0YWcgaGFzIGJlZW4gcHJvY2Vzc2VkLgorICovCitzdGF0aWMgdm9pZAoreG1sVGV4dFJlYWRlclN0YXJ0RWxlbWVudCh2b2lkICpjdHgsIGNvbnN0IHhtbENoYXIgKmZ1bGxuYW1lLAorCSAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiphdHRzKSB7CisgICAgeG1sUGFyc2VyQ3R4dFB0ciBjdHh0ID0gKHhtbFBhcnNlckN0eHRQdHIpIGN0eDsKKyAgICB4bWxUZXh0UmVhZGVyUHRyIHJlYWRlciA9IGN0eHQtPl9wcml2YXRlOworCisjaWZkZWYgREVCVUdfQ0FMTEJBQ0tTCisgICAgcHJpbnRmKCJ4bWxUZXh0UmVhZGVyU3RhcnRFbGVtZW50KCVzKVxuIiwgZnVsbG5hbWUpOworI2VuZGlmCisgICAgaWYgKChyZWFkZXIgIT0gTlVMTCkgJiYgKHJlYWRlci0+c3RhcnRFbGVtZW50ICE9IE5VTEwpKSB7CisJcmVhZGVyLT5zdGFydEVsZW1lbnQoY3R4LCBmdWxsbmFtZSwgYXR0cyk7CisJaWYgKChjdHh0LT5ub2RlICE9IE5VTEwpICYmIChjdHh0LT5pbnB1dCAhPSBOVUxMKSAmJgorCSAgICAoY3R4dC0+aW5wdXQtPmN1ciAhPSBOVUxMKSAmJiAoY3R4dC0+aW5wdXQtPmN1clswXSA9PSAnLycpICYmCisJICAgIChjdHh0LT5pbnB1dC0+Y3VyWzFdID09ICc+JykpCisJICAgIGN0eHQtPm5vZGUtPmV4dHJhID0gTk9ERV9JU19FTVBUWTsKKyAgICB9CisgICAgaWYgKHJlYWRlciAhPSBOVUxMKQorCXJlYWRlci0+c3RhdGUgPSBYTUxfVEVYVFJFQURFUl9FTEVNRU5UOworfQorCisvKioKKyAqIHhtbFRleHRSZWFkZXJFbmRFbGVtZW50OgorICogQGN0eDogdGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KQorICogQGZ1bGxuYW1lOiAgVGhlIGVsZW1lbnQgbmFtZSwgaW5jbHVkaW5nIG5hbWVzcGFjZSBwcmVmaXgKKyAqCisgKiBjYWxsZWQgd2hlbiBhbiBlbmRpbmcgdGFnIGhhcyBiZWVuIHByb2Nlc3NlZC4KKyAqLworc3RhdGljIHZvaWQKK3htbFRleHRSZWFkZXJFbmRFbGVtZW50KHZvaWQgKmN0eCwgY29uc3QgeG1sQ2hhciAqZnVsbG5hbWUpIHsKKyAgICB4bWxQYXJzZXJDdHh0UHRyIGN0eHQgPSAoeG1sUGFyc2VyQ3R4dFB0cikgY3R4OworICAgIHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyID0gY3R4dC0+X3ByaXZhdGU7CisKKyNpZmRlZiBERUJVR19DQUxMQkFDS1MKKyAgICBwcmludGYoInhtbFRleHRSZWFkZXJFbmRFbGVtZW50KCVzKVxuIiwgZnVsbG5hbWUpOworI2VuZGlmCisgICAgaWYgKChyZWFkZXIgIT0gTlVMTCkgJiYgKHJlYWRlci0+ZW5kRWxlbWVudCAhPSBOVUxMKSkgeworCXJlYWRlci0+ZW5kRWxlbWVudChjdHgsIGZ1bGxuYW1lKTsKKyAgICB9Cit9CisKKy8qKgorICogeG1sVGV4dFJlYWRlclN0YXJ0RWxlbWVudE5zOgorICogQGN0eDogdGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KQorICogQGxvY2FsbmFtZTogIHRoZSBsb2NhbCBuYW1lIG9mIHRoZSBlbGVtZW50CisgKiBAcHJlZml4OiAgdGhlIGVsZW1lbnQgbmFtZXNwYWNlIHByZWZpeCBpZiBhdmFpbGFibGUKKyAqIEBVUkk6ICB0aGUgZWxlbWVudCBuYW1lc3BhY2UgbmFtZSBpZiBhdmFpbGFibGUKKyAqIEBuYl9uYW1lc3BhY2VzOiAgbnVtYmVyIG9mIG5hbWVzcGFjZSBkZWZpbml0aW9ucyBvbiB0aGF0IG5vZGUKKyAqIEBuYW1lc3BhY2VzOiAgcG9pbnRlciB0byB0aGUgYXJyYXkgb2YgcHJlZml4L1VSSSBwYWlycyBuYW1lc3BhY2UgZGVmaW5pdGlvbnMKKyAqIEBuYl9hdHRyaWJ1dGVzOiAgdGhlIG51bWJlciBvZiBhdHRyaWJ1dGVzIG9uIHRoYXQgbm9kZQorICogbmJfZGVmYXVsdGVkOiAgdGhlIG51bWJlciBvZiBkZWZhdWx0ZWQgYXR0cmlidXRlcy4KKyAqIEBhdHRyaWJ1dGVzOiAgcG9pbnRlciB0byB0aGUgYXJyYXkgb2YgKGxvY2FsbmFtZS9wcmVmaXgvVVJJL3ZhbHVlL2VuZCkKKyAqICAgICAgICAgICAgICAgYXR0cmlidXRlIHZhbHVlcy4KKyAqCisgKiBjYWxsZWQgd2hlbiBhbiBvcGVuaW5nIHRhZyBoYXMgYmVlbiBwcm9jZXNzZWQuCisgKi8KK3N0YXRpYyB2b2lkCit4bWxUZXh0UmVhZGVyU3RhcnRFbGVtZW50TnModm9pZCAqY3R4LAorICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKmxvY2FsbmFtZSwKKwkJICAgICAgY29uc3QgeG1sQ2hhciAqcHJlZml4LAorCQkgICAgICBjb25zdCB4bWxDaGFyICpVUkksCisJCSAgICAgIGludCBuYl9uYW1lc3BhY2VzLAorCQkgICAgICBjb25zdCB4bWxDaGFyICoqbmFtZXNwYWNlcywKKwkJICAgICAgaW50IG5iX2F0dHJpYnV0ZXMsCisJCSAgICAgIGludCBuYl9kZWZhdWx0ZWQsCisJCSAgICAgIGNvbnN0IHhtbENoYXIgKiphdHRyaWJ1dGVzKQoreworICAgIHhtbFBhcnNlckN0eHRQdHIgY3R4dCA9ICh4bWxQYXJzZXJDdHh0UHRyKSBjdHg7CisgICAgeG1sVGV4dFJlYWRlclB0ciByZWFkZXIgPSBjdHh0LT5fcHJpdmF0ZTsKKworI2lmZGVmIERFQlVHX0NBTExCQUNLUworICAgIHByaW50ZigieG1sVGV4dFJlYWRlclN0YXJ0RWxlbWVudE5zKCVzKVxuIiwgbG9jYWxuYW1lKTsKKyNlbmRpZgorICAgIGlmICgocmVhZGVyICE9IE5VTEwpICYmIChyZWFkZXItPnN0YXJ0RWxlbWVudE5zICE9IE5VTEwpKSB7CisJcmVhZGVyLT5zdGFydEVsZW1lbnROcyhjdHgsIGxvY2FsbmFtZSwgcHJlZml4LCBVUkksIG5iX25hbWVzcGFjZXMsCisJICAgICAgICAgICAgICAgICAgICAgICBuYW1lc3BhY2VzLCBuYl9hdHRyaWJ1dGVzLCBuYl9kZWZhdWx0ZWQsCisJCQkgICAgICAgYXR0cmlidXRlcyk7CisJaWYgKChjdHh0LT5ub2RlICE9IE5VTEwpICYmIChjdHh0LT5pbnB1dCAhPSBOVUxMKSAmJgorCSAgICAoY3R4dC0+aW5wdXQtPmN1ciAhPSBOVUxMKSAmJiAoY3R4dC0+aW5wdXQtPmN1clswXSA9PSAnLycpICYmCisJICAgIChjdHh0LT5pbnB1dC0+Y3VyWzFdID09ICc+JykpCisJICAgIGN0eHQtPm5vZGUtPmV4dHJhID0gTk9ERV9JU19FTVBUWTsKKyAgICB9CisgICAgaWYgKHJlYWRlciAhPSBOVUxMKQorCXJlYWRlci0+c3RhdGUgPSBYTUxfVEVYVFJFQURFUl9FTEVNRU5UOworfQorCisvKioKKyAqIHhtbFRleHRSZWFkZXJFbmRFbGVtZW50TnM6CisgKiBAY3R4OiB0aGUgdXNlciBkYXRhIChYTUwgcGFyc2VyIGNvbnRleHQpCisgKiBAbG9jYWxuYW1lOiAgdGhlIGxvY2FsIG5hbWUgb2YgdGhlIGVsZW1lbnQKKyAqIEBwcmVmaXg6ICB0aGUgZWxlbWVudCBuYW1lc3BhY2UgcHJlZml4IGlmIGF2YWlsYWJsZQorICogQFVSSTogIHRoZSBlbGVtZW50IG5hbWVzcGFjZSBuYW1lIGlmIGF2YWlsYWJsZQorICoKKyAqIGNhbGxlZCB3aGVuIGFuIGVuZGluZyB0YWcgaGFzIGJlZW4gcHJvY2Vzc2VkLgorICovCitzdGF0aWMgdm9pZAoreG1sVGV4dFJlYWRlckVuZEVsZW1lbnROcyh2b2lkICpjdHgsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBsb2NhbG5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBwcmVmaXgsCisJCSAgICAgICAgICBjb25zdCB4bWxDaGFyICogVVJJKQoreworICAgIHhtbFBhcnNlckN0eHRQdHIgY3R4dCA9ICh4bWxQYXJzZXJDdHh0UHRyKSBjdHg7CisgICAgeG1sVGV4dFJlYWRlclB0ciByZWFkZXIgPSBjdHh0LT5fcHJpdmF0ZTsKKworI2lmZGVmIERFQlVHX0NBTExCQUNLUworICAgIHByaW50ZigieG1sVGV4dFJlYWRlckVuZEVsZW1lbnROcyglcylcbiIsIGxvY2FsbmFtZSk7CisjZW5kaWYKKyAgICBpZiAoKHJlYWRlciAhPSBOVUxMKSAmJiAocmVhZGVyLT5lbmRFbGVtZW50TnMgIT0gTlVMTCkpIHsKKwlyZWFkZXItPmVuZEVsZW1lbnROcyhjdHgsIGxvY2FsbmFtZSwgcHJlZml4LCBVUkkpOworICAgIH0KK30KKworCisvKioKKyAqIHhtbFRleHRSZWFkZXJDaGFyYWN0ZXJzOgorICogQGN0eDogdGhlIHVzZXIgZGF0YSAoWE1MIHBhcnNlciBjb250ZXh0KQorICogQGNoOiAgYSB4bWxDaGFyIHN0cmluZworICogQGxlbjogdGhlIG51bWJlciBvZiB4bWxDaGFyCisgKgorICogcmVjZWl2aW5nIHNvbWUgY2hhcnMgZnJvbSB0aGUgcGFyc2VyLgorICovCitzdGF0aWMgdm9pZAoreG1sVGV4dFJlYWRlckNoYXJhY3RlcnModm9pZCAqY3R4LCBjb25zdCB4bWxDaGFyICpjaCwgaW50IGxlbikKK3sKKyAgICB4bWxQYXJzZXJDdHh0UHRyIGN0eHQgPSAoeG1sUGFyc2VyQ3R4dFB0cikgY3R4OworICAgIHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyID0gY3R4dC0+X3ByaXZhdGU7CisKKyNpZmRlZiBERUJVR19DQUxMQkFDS1MKKyAgICBwcmludGYoInhtbFRleHRSZWFkZXJDaGFyYWN0ZXJzKClcbiIpOworI2VuZGlmCisgICAgaWYgKChyZWFkZXIgIT0gTlVMTCkgJiYgKHJlYWRlci0+Y2hhcmFjdGVycyAhPSBOVUxMKSkgeworCXJlYWRlci0+Y2hhcmFjdGVycyhjdHgsIGNoLCBsZW4pOworICAgIH0KK30KKworLyoqCisgKiB4bWxUZXh0UmVhZGVyQ0RhdGFCbG9jazoKKyAqIEBjdHg6IHRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCkKKyAqIEB2YWx1ZTogIFRoZSBwY2RhdGEgY29udGVudAorICogQGxlbjogIHRoZSBibG9jayBsZW5ndGgKKyAqCisgKiBjYWxsZWQgd2hlbiBhIHBjZGF0YSBibG9jayBoYXMgYmVlbiBwYXJzZWQKKyAqLworc3RhdGljIHZvaWQKK3htbFRleHRSZWFkZXJDRGF0YUJsb2NrKHZvaWQgKmN0eCwgY29uc3QgeG1sQ2hhciAqY2gsIGludCBsZW4pCit7CisgICAgeG1sUGFyc2VyQ3R4dFB0ciBjdHh0ID0gKHhtbFBhcnNlckN0eHRQdHIpIGN0eDsKKyAgICB4bWxUZXh0UmVhZGVyUHRyIHJlYWRlciA9IGN0eHQtPl9wcml2YXRlOworCisjaWZkZWYgREVCVUdfQ0FMTEJBQ0tTCisgICAgcHJpbnRmKCJ4bWxUZXh0UmVhZGVyQ0RhdGFCbG9jaygpXG4iKTsKKyNlbmRpZgorICAgIGlmICgocmVhZGVyICE9IE5VTEwpICYmIChyZWFkZXItPmNkYXRhQmxvY2sgIT0gTlVMTCkpIHsKKwlyZWFkZXItPmNkYXRhQmxvY2soY3R4LCBjaCwgbGVuKTsKKyAgICB9Cit9CisKKy8qKgorICogeG1sVGV4dFJlYWRlclB1c2hEYXRhOgorICogQHJlYWRlcjogIHRoZSB4bWxUZXh0UmVhZGVyUHRyIHVzZWQKKyAqCisgKiBQdXNoIGRhdGEgZG93biB0aGUgcHJvZ3Jlc3NpdmUgcGFyc2VyIHVudGlsIGEgc2lnbmlmaWNhbnQgY2FsbGJhY2sKKyAqIGdvdCByYWlzZWQuCisgKgorICogUmV0dXJucyAtMSBpbiBjYXNlIG9mIGZhaWx1cmUsIDAgb3RoZXJ3aXNlCisgKi8KK3N0YXRpYyBpbnQKK3htbFRleHRSZWFkZXJQdXNoRGF0YSh4bWxUZXh0UmVhZGVyUHRyIHJlYWRlcikgeworICAgIHhtbEJ1ZlB0ciBpbmJ1ZjsKKyAgICBpbnQgdmFsLCBzOworICAgIHhtbFRleHRSZWFkZXJTdGF0ZSBvbGRzdGF0ZTsKKyAgICBpbnQgYWxsb2M7CisKKyAgICBpZiAoKHJlYWRlci0+aW5wdXQgPT0gTlVMTCkgfHwgKHJlYWRlci0+aW5wdXQtPmJ1ZmZlciA9PSBOVUxMKSkKKwlyZXR1cm4oLTEpOworCisgICAgb2xkc3RhdGUgPSByZWFkZXItPnN0YXRlOworICAgIHJlYWRlci0+c3RhdGUgPSBYTUxfVEVYVFJFQURFUl9OT05FOworICAgIGluYnVmID0gcmVhZGVyLT5pbnB1dC0+YnVmZmVyOworICAgIGFsbG9jID0geG1sQnVmR2V0QWxsb2NhdGlvblNjaGVtZShpbmJ1Zik7CisKKyAgICB3aGlsZSAocmVhZGVyLT5zdGF0ZSA9PSBYTUxfVEVYVFJFQURFUl9OT05FKSB7CisJaWYgKHhtbEJ1ZlVzZShpbmJ1ZikgPCByZWFkZXItPmN1ciArIENIVU5LX1NJWkUpIHsKKwkgICAgLyoKKwkgICAgICogUmVmaWxsIHRoZSBidWZmZXIgdW5sZXNzIHdlIGFyZSBhdCB0aGUgZW5kIG9mIHRoZSBzdHJlYW0KKwkgICAgICovCisJICAgIGlmIChyZWFkZXItPm1vZGUgIT0gWE1MX1RFWFRSRUFERVJfTU9ERV9FT0YpIHsKKwkJdmFsID0geG1sUGFyc2VySW5wdXRCdWZmZXJSZWFkKHJlYWRlci0+aW5wdXQsIDQwOTYpOworCQlpZiAoKHZhbCA9PSAwKSAmJgorCQkgICAgKGFsbG9jID09IFhNTF9CVUZGRVJfQUxMT0NfSU1NVVRBQkxFKSkgeworCQkgICAgaWYgKHhtbEJ1ZlVzZShpbmJ1ZikgPT0gcmVhZGVyLT5jdXIpIHsKKwkJCXJlYWRlci0+bW9kZSA9IFhNTF9URVhUUkVBREVSX01PREVfRU9GOworCQkJcmVhZGVyLT5zdGF0ZSA9IG9sZHN0YXRlOworCQkgICAgfQorCQl9IGVsc2UgaWYgKHZhbCA8IDApIHsKKwkJICAgIHJlYWRlci0+bW9kZSA9IFhNTF9URVhUUkVBREVSX01PREVfRU9GOworCQkgICAgcmVhZGVyLT5zdGF0ZSA9IG9sZHN0YXRlOworCQkgICAgaWYgKChvbGRzdGF0ZSAhPSBYTUxfVEVYVFJFQURFUl9TVEFSVCkgfHwKKwkJCShyZWFkZXItPmN0eHQtPm15RG9jICE9IE5VTEwpKQorCQkJcmV0dXJuKHZhbCk7CisJCX0gZWxzZSBpZiAodmFsID09IDApIHsKKwkJICAgIC8qIG1hcmsgdGhlIGVuZCBvZiB0aGUgc3RyZWFtIGFuZCBwcm9jZXNzIHRoZSByZW1haW5zICovCisJCSAgICByZWFkZXItPm1vZGUgPSBYTUxfVEVYVFJFQURFUl9NT0RFX0VPRjsKKwkJICAgIGJyZWFrOworCQl9CisKKwkgICAgfSBlbHNlCisJCWJyZWFrOworCX0KKwkvKgorCSAqIHBhcnNlIGJ5IGJsb2NrIG9mIENIVU5LX1NJWkUgYnl0ZXMsIHZhcmlvdXMgdGVzdHMgc2hvdyB0aGF0CisJICogaXQncyB0aGUgYmVzdCB0cmFkZW9mZiBhdCBsZWFzdCBvbiBhIDEuMkdIIER1cm9uCisJICovCisJaWYgKHhtbEJ1ZlVzZShpbmJ1ZikgPj0gcmVhZGVyLT5jdXIgKyBDSFVOS19TSVpFKSB7CisJICAgIHZhbCA9IHhtbFBhcnNlQ2h1bmsocmVhZGVyLT5jdHh0LAorICAgICAgICAgICAgICAgICAoY29uc3QgY2hhciAqKSB4bWxCdWZDb250ZW50KGluYnVmKSArIHJlYWRlci0+Y3VyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDSFVOS19TSVpFLCAwKTsKKwkgICAgcmVhZGVyLT5jdXIgKz0gQ0hVTktfU0laRTsKKwkgICAgaWYgKHZhbCAhPSAwKQorCQlyZWFkZXItPmN0eHQtPndlbGxGb3JtZWQgPSAwOworCSAgICBpZiAocmVhZGVyLT5jdHh0LT53ZWxsRm9ybWVkID09IDApCisJCWJyZWFrOworCX0gZWxzZSB7CisJICAgIHMgPSB4bWxCdWZVc2UoaW5idWYpIC0gcmVhZGVyLT5jdXI7CisJICAgIHZhbCA9IHhtbFBhcnNlQ2h1bmsocmVhZGVyLT5jdHh0LAorCQkgKGNvbnN0IGNoYXIgKikgeG1sQnVmQ29udGVudChpbmJ1ZikgKyByZWFkZXItPmN1ciwKKwkJCSAgICAgICAgcywgMCk7CisJICAgIHJlYWRlci0+Y3VyICs9IHM7CisJICAgIGlmICh2YWwgIT0gMCkKKwkJcmVhZGVyLT5jdHh0LT53ZWxsRm9ybWVkID0gMDsKKwkgICAgYnJlYWs7CisJfQorICAgIH0KKworICAgIC8qCisgICAgICogRGlzY2FyZCB0aGUgY29uc3VtZWQgaW5wdXQgd2hlbiBuZWVkZWQgYW5kIHBvc3NpYmxlCisgICAgICovCisgICAgaWYgKHJlYWRlci0+bW9kZSA9PSBYTUxfVEVYVFJFQURFUl9NT0RFX0lOVEVSQUNUSVZFKSB7CisgICAgICAgIGlmIChhbGxvYyAhPSBYTUxfQlVGRkVSX0FMTE9DX0lNTVVUQUJMRSkgeworCSAgICBpZiAoKHJlYWRlci0+Y3VyID49IDQwOTYpICYmCisJCSh4bWxCdWZVc2UoaW5idWYpIC0gcmVhZGVyLT5jdXIgPD0gQ0hVTktfU0laRSkpIHsKKwkJdmFsID0geG1sQnVmU2hyaW5rKGluYnVmLCByZWFkZXItPmN1cik7CisJCWlmICh2YWwgPj0gMCkgeworCQkgICAgcmVhZGVyLT5jdXIgLT0gdmFsOworCQl9CisJICAgIH0KKwl9CisgICAgfQorCisgICAgLyoKKyAgICAgKiBBdCB0aGUgZW5kIG9mIHRoZSBzdHJlYW0gc2lnbmFsIHRoYXQgdGhlIHdvcmsgaXMgZG9uZSB0byB0aGUgUHVzaAorICAgICAqIHBhcnNlci4KKyAgICAgKi8KKyAgICBlbHNlIGlmIChyZWFkZXItPm1vZGUgPT0gWE1MX1RFWFRSRUFERVJfTU9ERV9FT0YpIHsKKwlpZiAocmVhZGVyLT5zdGF0ZSAhPSBYTUxfVEVYVFJFQURFUl9ET05FKSB7CisJICAgIHMgPSB4bWxCdWZVc2UoaW5idWYpIC0gcmVhZGVyLT5jdXI7CisJICAgIHZhbCA9IHhtbFBhcnNlQ2h1bmsocmVhZGVyLT5jdHh0LAorCQkgKGNvbnN0IGNoYXIgKikgeG1sQnVmQ29udGVudChpbmJ1ZikgKyByZWFkZXItPmN1ciwKKwkJCSAgICAgICAgcywgMSk7CisJICAgIHJlYWRlci0+Y3VyID0geG1sQnVmVXNlKGluYnVmKTsKKwkgICAgcmVhZGVyLT5zdGF0ZSAgPSBYTUxfVEVYVFJFQURFUl9ET05FOworCSAgICBpZiAodmFsICE9IDApIHsKKwkgICAgICAgIGlmIChyZWFkZXItPmN0eHQtPndlbGxGb3JtZWQpCisJCSAgICByZWFkZXItPmN0eHQtPndlbGxGb3JtZWQgPSAwOworCQllbHNlCisJCSAgICByZXR1cm4oLTEpOworCSAgICB9CisJfQorICAgIH0KKyAgICByZWFkZXItPnN0YXRlID0gb2xkc3RhdGU7CisgICAgaWYgKHJlYWRlci0+Y3R4dC0+d2VsbEZvcm1lZCA9PSAwKSB7CisJcmVhZGVyLT5tb2RlID0gWE1MX1RFWFRSRUFERVJfTU9ERV9FT0Y7CisgICAgICAgIHJldHVybigtMSk7CisgICAgfQorCisgICAgcmV0dXJuKDApOworfQorCisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECisvKioKKyAqIHhtbFRleHRSZWFkZXJWYWxpZGF0ZVB1c2g6CisgKiBAcmVhZGVyOiAgdGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZAorICoKKyAqIFB1c2ggdGhlIGN1cnJlbnQgbm9kZSBmb3IgdmFsaWRhdGlvbgorICovCitzdGF0aWMgdm9pZAoreG1sVGV4dFJlYWRlclZhbGlkYXRlUHVzaCh4bWxUZXh0UmVhZGVyUHRyIHJlYWRlciBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgeG1sTm9kZVB0ciBub2RlID0gcmVhZGVyLT5ub2RlOworCisjaWZkZWYgTElCWE1MX1ZBTElEX0VOQUJMRUQKKyAgICBpZiAoKHJlYWRlci0+dmFsaWRhdGUgPT0gWE1MX1RFWFRSRUFERVJfVkFMSURBVEVfRFREKSAmJgorICAgICAgICAocmVhZGVyLT5jdHh0ICE9IE5VTEwpICYmIChyZWFkZXItPmN0eHQtPnZhbGlkYXRlID09IDEpKSB7CisJaWYgKChub2RlLT5ucyA9PSBOVUxMKSB8fCAobm9kZS0+bnMtPnByZWZpeCA9PSBOVUxMKSkgeworCSAgICByZWFkZXItPmN0eHQtPnZhbGlkICY9IHhtbFZhbGlkYXRlUHVzaEVsZW1lbnQoJnJlYWRlci0+Y3R4dC0+dmN0eHQsCisJCQkJICAgIHJlYWRlci0+Y3R4dC0+bXlEb2MsIG5vZGUsIG5vZGUtPm5hbWUpOworCX0gZWxzZSB7CisJICAgIC8qIFRPRE8gdXNlIHRoZSBCdWlsZFFOYW1lIGludGVyZmFjZSAqLworCSAgICB4bWxDaGFyICpxbmFtZTsKKworCSAgICBxbmFtZSA9IHhtbFN0cmR1cChub2RlLT5ucy0+cHJlZml4KTsKKwkgICAgcW5hbWUgPSB4bWxTdHJjYXQocW5hbWUsIEJBRF9DQVNUICI6Iik7CisJICAgIHFuYW1lID0geG1sU3RyY2F0KHFuYW1lLCBub2RlLT5uYW1lKTsKKwkgICAgcmVhZGVyLT5jdHh0LT52YWxpZCAmPSB4bWxWYWxpZGF0ZVB1c2hFbGVtZW50KCZyZWFkZXItPmN0eHQtPnZjdHh0LAorCQkJCSAgICByZWFkZXItPmN0eHQtPm15RG9jLCBub2RlLCBxbmFtZSk7CisJICAgIGlmIChxbmFtZSAhPSBOVUxMKQorCQl4bWxGcmVlKHFuYW1lKTsKKwl9CisgICAgfQorI2VuZGlmIC8qIExJQlhNTF9WQUxJRF9FTkFCTEVEICovCisjaWZkZWYgTElCWE1MX1NDSEVNQVNfRU5BQkxFRAorICAgIGlmICgocmVhZGVyLT52YWxpZGF0ZSA9PSBYTUxfVEVYVFJFQURFUl9WQUxJREFURV9STkcpICYmCisgICAgICAgICAgICAgICAocmVhZGVyLT5ybmdWYWxpZEN0eHQgIT0gTlVMTCkpIHsKKwlpbnQgcmV0OworCisJaWYgKHJlYWRlci0+cm5nRnVsbE5vZGUgIT0gTlVMTCkgcmV0dXJuOworCXJldCA9IHhtbFJlbGF4TkdWYWxpZGF0ZVB1c2hFbGVtZW50KHJlYWRlci0+cm5nVmFsaWRDdHh0LAorCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRlci0+Y3R4dC0+bXlEb2MsCisJCQkJCSAgICBub2RlKTsKKwlpZiAocmV0ID09IDApIHsKKwkgICAgLyoKKwkgICAgICogdGhpcyBlbGVtZW50IHJlcXVpcmVzIGEgZnVsbCB0cmVlCisJICAgICAqLworCSAgICBub2RlID0geG1sVGV4dFJlYWRlckV4cGFuZChyZWFkZXIpOworCSAgICBpZiAobm9kZSA9PSBOVUxMKSB7CitwcmludGYoIkV4cGFuZCBmYWlsZWQgIVxuIik7CisJICAgICAgICByZXQgPSAtMTsKKwkgICAgfSBlbHNlIHsKKwkJcmV0ID0geG1sUmVsYXhOR1ZhbGlkYXRlRnVsbEVsZW1lbnQocmVhZGVyLT5ybmdWYWxpZEN0eHQsCisJCQkJCQkgICAgcmVhZGVyLT5jdHh0LT5teURvYywKKwkJCQkJCSAgICBub2RlKTsKKwkJcmVhZGVyLT5ybmdGdWxsTm9kZSA9IG5vZGU7CisJICAgIH0KKwl9CisJaWYgKHJldCAhPSAxKQorCSAgICByZWFkZXItPnJuZ1ZhbGlkRXJyb3JzKys7CisgICAgfQorI2VuZGlmCit9CisKKy8qKgorICogeG1sVGV4dFJlYWRlclZhbGlkYXRlQ0RhdGE6CisgKiBAcmVhZGVyOiAgdGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZAorICogQGRhdGE6ICBwb2ludGVyIHRvIHRoZSBDRGF0YQorICogQGxlbjogIGxlbmd0aCBvZiB0aGUgQ0RhdGEgYmxvY2sgaW4gYnl0ZXMuCisgKgorICogUHVzaCBzb21lIENEYXRhIGZvciB2YWxpZGF0aW9uCisgKi8KK3N0YXRpYyB2b2lkCit4bWxUZXh0UmVhZGVyVmFsaWRhdGVDRGF0YSh4bWxUZXh0UmVhZGVyUHRyIHJlYWRlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKmRhdGEsIGludCBsZW4pIHsKKyNpZmRlZiBMSUJYTUxfVkFMSURfRU5BQkxFRAorICAgIGlmICgocmVhZGVyLT52YWxpZGF0ZSA9PSBYTUxfVEVYVFJFQURFUl9WQUxJREFURV9EVEQpICYmCisgICAgICAgIChyZWFkZXItPmN0eHQgIT0gTlVMTCkgJiYgKHJlYWRlci0+Y3R4dC0+dmFsaWRhdGUgPT0gMSkpIHsKKwlyZWFkZXItPmN0eHQtPnZhbGlkICY9IHhtbFZhbGlkYXRlUHVzaENEYXRhKCZyZWFkZXItPmN0eHQtPnZjdHh0LAorCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YSwgbGVuKTsKKyAgICB9CisjZW5kaWYgLyogTElCWE1MX1ZBTElEX0VOQUJMRUQgKi8KKyNpZmRlZiBMSUJYTUxfU0NIRU1BU19FTkFCTEVECisgICAgaWYgKChyZWFkZXItPnZhbGlkYXRlID09IFhNTF9URVhUUkVBREVSX1ZBTElEQVRFX1JORykgJiYKKyAgICAgICAgICAgICAgIChyZWFkZXItPnJuZ1ZhbGlkQ3R4dCAhPSBOVUxMKSkgeworCWludCByZXQ7CisKKwlpZiAocmVhZGVyLT5ybmdGdWxsTm9kZSAhPSBOVUxMKSByZXR1cm47CisJcmV0ID0geG1sUmVsYXhOR1ZhbGlkYXRlUHVzaENEYXRhKHJlYWRlci0+cm5nVmFsaWRDdHh0LCBkYXRhLCBsZW4pOworCWlmIChyZXQgIT0gMSkKKwkgICAgcmVhZGVyLT5ybmdWYWxpZEVycm9ycysrOworICAgIH0KKyNlbmRpZgorfQorCisvKioKKyAqIHhtbFRleHRSZWFkZXJWYWxpZGF0ZVBvcDoKKyAqIEByZWFkZXI6ICB0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkCisgKgorICogUG9wIHRoZSBjdXJyZW50IG5vZGUgZnJvbSB2YWxpZGF0aW9uCisgKi8KK3N0YXRpYyB2b2lkCit4bWxUZXh0UmVhZGVyVmFsaWRhdGVQb3AoeG1sVGV4dFJlYWRlclB0ciByZWFkZXIpIHsKKyAgICB4bWxOb2RlUHRyIG5vZGUgPSByZWFkZXItPm5vZGU7CisKKyNpZmRlZiBMSUJYTUxfVkFMSURfRU5BQkxFRAorICAgIGlmICgocmVhZGVyLT52YWxpZGF0ZSA9PSBYTUxfVEVYVFJFQURFUl9WQUxJREFURV9EVEQpICYmCisgICAgICAgIChyZWFkZXItPmN0eHQgIT0gTlVMTCkgJiYgKHJlYWRlci0+Y3R4dC0+dmFsaWRhdGUgPT0gMSkpIHsKKwlpZiAoKG5vZGUtPm5zID09IE5VTEwpIHx8IChub2RlLT5ucy0+cHJlZml4ID09IE5VTEwpKSB7CisJICAgIHJlYWRlci0+Y3R4dC0+dmFsaWQgJj0geG1sVmFsaWRhdGVQb3BFbGVtZW50KCZyZWFkZXItPmN0eHQtPnZjdHh0LAorCQkJCSAgICByZWFkZXItPmN0eHQtPm15RG9jLCBub2RlLCBub2RlLT5uYW1lKTsKKwl9IGVsc2UgeworCSAgICAvKiBUT0RPIHVzZSB0aGUgQnVpbGRRTmFtZSBpbnRlcmZhY2UgKi8KKwkgICAgeG1sQ2hhciAqcW5hbWU7CisKKwkgICAgcW5hbWUgPSB4bWxTdHJkdXAobm9kZS0+bnMtPnByZWZpeCk7CisJICAgIHFuYW1lID0geG1sU3RyY2F0KHFuYW1lLCBCQURfQ0FTVCAiOiIpOworCSAgICBxbmFtZSA9IHhtbFN0cmNhdChxbmFtZSwgbm9kZS0+bmFtZSk7CisJICAgIHJlYWRlci0+Y3R4dC0+dmFsaWQgJj0geG1sVmFsaWRhdGVQb3BFbGVtZW50KCZyZWFkZXItPmN0eHQtPnZjdHh0LAorCQkJCSAgICByZWFkZXItPmN0eHQtPm15RG9jLCBub2RlLCBxbmFtZSk7CisJICAgIGlmIChxbmFtZSAhPSBOVUxMKQorCQl4bWxGcmVlKHFuYW1lKTsKKwl9CisgICAgfQorI2VuZGlmIC8qIExJQlhNTF9WQUxJRF9FTkFCTEVEICovCisjaWZkZWYgTElCWE1MX1NDSEVNQVNfRU5BQkxFRAorICAgIGlmICgocmVhZGVyLT52YWxpZGF0ZSA9PSBYTUxfVEVYVFJFQURFUl9WQUxJREFURV9STkcpICYmCisgICAgICAgICAgICAgICAocmVhZGVyLT5ybmdWYWxpZEN0eHQgIT0gTlVMTCkpIHsKKwlpbnQgcmV0OworCisJaWYgKHJlYWRlci0+cm5nRnVsbE5vZGUgIT0gTlVMTCkgeworCSAgICBpZiAobm9kZSA9PSByZWFkZXItPnJuZ0Z1bGxOb2RlKQorCSAgICAgICAgcmVhZGVyLT5ybmdGdWxsTm9kZSA9IE5VTEw7CisJICAgIHJldHVybjsKKwl9CisJcmV0ID0geG1sUmVsYXhOR1ZhbGlkYXRlUG9wRWxlbWVudChyZWFkZXItPnJuZ1ZhbGlkQ3R4dCwKKwkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRlci0+Y3R4dC0+bXlEb2MsCisJCQkJCSAgIG5vZGUpOworCWlmIChyZXQgIT0gMSkKKwkgICAgcmVhZGVyLT5ybmdWYWxpZEVycm9ycysrOworICAgIH0KKyNlbmRpZgorfQorCisvKioKKyAqIHhtbFRleHRSZWFkZXJWYWxpZGF0ZUVudGl0eToKKyAqIEByZWFkZXI6ICB0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkCisgKgorICogSGFuZGxlIHRoZSB2YWxpZGF0aW9uIHdoZW4gYW4gZW50aXR5IHJlZmVyZW5jZSBpcyBlbmNvdW50ZXJlZCBhbmQKKyAqIGVudGl0eSBzdWJzdGl0dXRpb24gaXMgbm90IGFjdGl2YXRlZC4gQXMgYSByZXN1bHQgdGhlIHBhcnNlciBpbnRlcmZhY2UKKyAqIG11c3Qgd2FsayB0aHJvdWdoIHRoZSBlbnRpdHkgYW5kIGRvIHRoZSB2YWxpZGF0aW9uIGNhbGxzCisgKi8KK3N0YXRpYyB2b2lkCit4bWxUZXh0UmVhZGVyVmFsaWRhdGVFbnRpdHkoeG1sVGV4dFJlYWRlclB0ciByZWFkZXIpIHsKKyAgICB4bWxOb2RlUHRyIG9sZG5vZGUgPSByZWFkZXItPm5vZGU7CisgICAgeG1sTm9kZVB0ciBub2RlID0gcmVhZGVyLT5ub2RlOworICAgIHhtbFBhcnNlckN0eHRQdHIgY3R4dCA9IHJlYWRlci0+Y3R4dDsKKworICAgIGRvIHsKKwlpZiAobm9kZS0+dHlwZSA9PSBYTUxfRU5USVRZX1JFRl9OT0RFKSB7CisJICAgIC8qCisJICAgICAqIENhc2Ugd2hlcmUgdGhlIHVuZGVybHlpbmcgdHJlZSBpcyBub3QgYXZhaWxibGUsIGxvb2t1cCB0aGUgZW50aXR5CisJICAgICAqIGFuZCB3YWxrIGl0LgorCSAgICAgKi8KKwkgICAgaWYgKChub2RlLT5jaGlsZHJlbiA9PSBOVUxMKSAmJiAoY3R4dC0+c2F4ICE9IE5VTEwpICYmCisJCShjdHh0LT5zYXgtPmdldEVudGl0eSAhPSBOVUxMKSkgeworCQlub2RlLT5jaGlsZHJlbiA9ICh4bWxOb2RlUHRyKQorCQkgICAgY3R4dC0+c2F4LT5nZXRFbnRpdHkoY3R4dCwgbm9kZS0+bmFtZSk7CisJICAgIH0KKworCSAgICBpZiAoKG5vZGUtPmNoaWxkcmVuICE9IE5VTEwpICYmCisJCShub2RlLT5jaGlsZHJlbi0+dHlwZSA9PSBYTUxfRU5USVRZX0RFQ0wpICYmCisJCShub2RlLT5jaGlsZHJlbi0+Y2hpbGRyZW4gIT0gTlVMTCkpIHsKKwkJeG1sVGV4dFJlYWRlckVudFB1c2gocmVhZGVyLCBub2RlKTsKKwkJbm9kZSA9IG5vZGUtPmNoaWxkcmVuLT5jaGlsZHJlbjsKKwkJY29udGludWU7CisJICAgIH0gZWxzZSB7CisJCS8qCisJCSAqIFRoZSBlcnJvciBoYXMgcHJvYmFibHkgYmUgcmFpc2VkIGFscmVhZHkuCisJCSAqLworCQlpZiAobm9kZSA9PSBvbGRub2RlKQorCQkgICAgYnJlYWs7CisJCW5vZGUgPSBub2RlLT5uZXh0OworCSAgICB9CisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECisJfSBlbHNlIGlmIChub2RlLT50eXBlID09IFhNTF9FTEVNRU5UX05PREUpIHsKKwkgICAgcmVhZGVyLT5ub2RlID0gbm9kZTsKKwkgICAgeG1sVGV4dFJlYWRlclZhbGlkYXRlUHVzaChyZWFkZXIpOworCX0gZWxzZSBpZiAoKG5vZGUtPnR5cGUgPT0gWE1MX1RFWFRfTk9ERSkgfHwKKwkJICAgKG5vZGUtPnR5cGUgPT0gWE1MX0NEQVRBX1NFQ1RJT05fTk9ERSkpIHsKKyAgICAgICAgICAgIHhtbFRleHRSZWFkZXJWYWxpZGF0ZUNEYXRhKHJlYWRlciwgbm9kZS0+Y29udGVudCwKKwkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sU3RybGVuKG5vZGUtPmNvbnRlbnQpKTsKKyNlbmRpZgorCX0KKworCS8qCisJICogZ28gdG8gbmV4dCBub2RlCisJICovCisJaWYgKG5vZGUtPmNoaWxkcmVuICE9IE5VTEwpIHsKKwkgICAgbm9kZSA9IG5vZGUtPmNoaWxkcmVuOworCSAgICBjb250aW51ZTsKKwl9IGVsc2UgaWYgKG5vZGUtPnR5cGUgPT0gWE1MX0VMRU1FTlRfTk9ERSkgeworCSAgICB4bWxUZXh0UmVhZGVyVmFsaWRhdGVQb3AocmVhZGVyKTsKKwl9CisJaWYgKG5vZGUtPm5leHQgIT0gTlVMTCkgeworCSAgICBub2RlID0gbm9kZS0+bmV4dDsKKwkgICAgY29udGludWU7CisJfQorCWRvIHsKKwkgICAgbm9kZSA9IG5vZGUtPnBhcmVudDsKKwkgICAgaWYgKG5vZGUtPnR5cGUgPT0gWE1MX0VMRU1FTlRfTk9ERSkgeworCSAgICAgICAgeG1sTm9kZVB0ciB0bXA7CisJCWlmIChyZWFkZXItPmVudE5yID09IDApIHsKKwkJICAgIHdoaWxlICgodG1wID0gbm9kZS0+bGFzdCkgIT0gTlVMTCkgeworCQkJaWYgKCh0bXAtPmV4dHJhICYgTk9ERV9JU19QUkVTRVJWRUQpID09IDApIHsKKwkJCSAgICB4bWxVbmxpbmtOb2RlKHRtcCk7CisJCQkgICAgeG1sVGV4dFJlYWRlckZyZWVOb2RlKHJlYWRlciwgdG1wKTsKKwkJCX0gZWxzZQorCQkJICAgIGJyZWFrOworCQkgICAgfQorCQl9CisJCXJlYWRlci0+bm9kZSA9IG5vZGU7CisJCXhtbFRleHRSZWFkZXJWYWxpZGF0ZVBvcChyZWFkZXIpOworCSAgICB9CisJICAgIGlmICgobm9kZS0+dHlwZSA9PSBYTUxfRU5USVRZX0RFQ0wpICYmCisJCShyZWFkZXItPmVudCAhPSBOVUxMKSAmJiAocmVhZGVyLT5lbnQtPmNoaWxkcmVuID09IG5vZGUpKSB7CisJCW5vZGUgPSB4bWxUZXh0UmVhZGVyRW50UG9wKHJlYWRlcik7CisJICAgIH0KKwkgICAgaWYgKG5vZGUgPT0gb2xkbm9kZSkKKwkJYnJlYWs7CisJICAgIGlmIChub2RlLT5uZXh0ICE9IE5VTEwpIHsKKwkJbm9kZSA9IG5vZGUtPm5leHQ7CisJCWJyZWFrOworCSAgICB9CisJfSB3aGlsZSAoKG5vZGUgIT0gTlVMTCkgJiYgKG5vZGUgIT0gb2xkbm9kZSkpOworICAgIH0gd2hpbGUgKChub2RlICE9IE5VTEwpICYmIChub2RlICE9IG9sZG5vZGUpKTsKKyAgICByZWFkZXItPm5vZGUgPSBvbGRub2RlOworfQorI2VuZGlmIC8qIExJQlhNTF9SRUdFWFBfRU5BQkxFRCAqLworCisKKy8qKgorICogeG1sVGV4dFJlYWRlckdldFN1Y2Nlc3NvcjoKKyAqIEBjdXI6ICB0aGUgY3VycmVudCBub2RlCisgKgorICogR2V0IHRoZSBzdWNjZXNzb3Igb2YgYSBub2RlIGlmIGF2YWlsYWJsZS4KKyAqCisgKiBSZXR1cm5zIHRoZSBzdWNjZXNzb3Igbm9kZSBvciBOVUxMCisgKi8KK3N0YXRpYyB4bWxOb2RlUHRyCit4bWxUZXh0UmVhZGVyR2V0U3VjY2Vzc29yKHhtbE5vZGVQdHIgY3VyKSB7CisgICAgaWYgKGN1ciA9PSBOVUxMKSByZXR1cm4oTlVMTCkgOyAvKiBFUlJPUiAqLworICAgIGlmIChjdXItPm5leHQgIT0gTlVMTCkgcmV0dXJuKGN1ci0+bmV4dCkgOworICAgIGRvIHsKKyAgICAgICAgY3VyID0gY3VyLT5wYXJlbnQ7CisgICAgICAgIGlmIChjdXIgPT0gTlVMTCkgYnJlYWs7CisgICAgICAgIGlmIChjdXItPm5leHQgIT0gTlVMTCkgcmV0dXJuKGN1ci0+bmV4dCk7CisgICAgfSB3aGlsZSAoY3VyICE9IE5VTEwpOworICAgIHJldHVybihjdXIpOworfQorCisvKioKKyAqIHhtbFRleHRSZWFkZXJEb0V4cGFuZDoKKyAqIEByZWFkZXI6ICB0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkCisgKgorICogTWFrZXMgc3VyZSB0aGF0IHRoZSBjdXJyZW50IG5vZGUgaXMgZnVsbHkgcmVhZCBhcyB3ZWxsIGFzIGFsbCBpdHMKKyAqIGRlc2NlbmRhbnQuIEl0IG1lYW5zIHRoZSBmdWxsIERPTSBzdWJ0cmVlIG11c3QgYmUgYXZhaWxhYmxlIGF0IHRoZQorICogZW5kIG9mIHRoZSBjYWxsLgorICoKKyAqIFJldHVybnMgMSBpZiB0aGUgbm9kZSB3YXMgZXhwYW5kZWQgc3VjY2Vzc2Z1bGx5LCAwIGlmIHRoZXJlIGlzIG5vIG1vcmUKKyAqICAgICAgICAgIG5vZGVzIHRvIHJlYWQsIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworc3RhdGljIGludAoreG1sVGV4dFJlYWRlckRvRXhwYW5kKHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyKSB7CisgICAgaW50IHZhbDsKKworICAgIGlmICgocmVhZGVyID09IE5VTEwpIHx8IChyZWFkZXItPm5vZGUgPT0gTlVMTCkgfHwgKHJlYWRlci0+Y3R4dCA9PSBOVUxMKSkKKyAgICAgICAgcmV0dXJuKC0xKTsKKyAgICBkbyB7CisJaWYgKHJlYWRlci0+Y3R4dC0+aW5zdGF0ZSA9PSBYTUxfUEFSU0VSX0VPRikgcmV0dXJuKDEpOworCisgICAgICAgIGlmICh4bWxUZXh0UmVhZGVyR2V0U3VjY2Vzc29yKHJlYWRlci0+bm9kZSkgIT0gTlVMTCkKKwkgICAgcmV0dXJuKDEpOworCWlmIChyZWFkZXItPmN0eHQtPm5vZGVOciA8IHJlYWRlci0+ZGVwdGgpCisJICAgIHJldHVybigxKTsKKwlpZiAocmVhZGVyLT5tb2RlID09IFhNTF9URVhUUkVBREVSX01PREVfRU9GKQorCSAgICByZXR1cm4oMSk7CisJdmFsID0geG1sVGV4dFJlYWRlclB1c2hEYXRhKHJlYWRlcik7CisJaWYgKHZhbCA8IDApeworCSAgICByZWFkZXItPm1vZGUgPSBYTUxfVEVYVFJFQURFUl9NT0RFX0VSUk9SOworCSAgICByZXR1cm4oLTEpOworCX0KKyAgICB9IHdoaWxlKHJlYWRlci0+bW9kZSAhPSBYTUxfVEVYVFJFQURFUl9NT0RFX0VPRik7CisgICAgcmV0dXJuKDEpOworfQorCisvKioKKyAqIHhtbFRleHRSZWFkZXJDb2xsZWN0U2libGluZ3M6CisgKiBAbm9kZTogICAgdGhlIGZpcnN0IGNoaWxkCisgKgorICogIFRyYXZlcnNlIGRlcHRoLWZpcnN0IHRocm91Z2ggYWxsIHNpYmxpbmcgbm9kZXMgYW5kIHRoZWlyIGNoaWxkcmVuCisgKiAgbm9kZXMgYW5kIGNvbmNhdGVuYXRlIHRoZWlyIGNvbnRlbnQuIFRoaXMgaXMgYW4gYXV4aWxpYXJ5IGZ1bmN0aW9uCisgKiAgdG8geG1sVGV4dFJlYWRlclJlYWRTdHJpbmcuCisgKgorICogIFJldHVybnMgYSBzdHJpbmcgY29udGFpbmluZyB0aGUgY29udGVudCwgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLgorICovCitzdGF0aWMgeG1sQ2hhciAqCit4bWxUZXh0UmVhZGVyQ29sbGVjdFNpYmxpbmdzKHhtbE5vZGVQdHIgbm9kZSkKK3sKKyAgICB4bWxCdWZmZXJQdHIgYnVmZmVyOworICAgIHhtbENoYXIgKnJldDsKKworICAgIGlmICgobm9kZSA9PSBOVUxMKSB8fCAobm9kZS0+dHlwZSA9PSBYTUxfTkFNRVNQQUNFX0RFQ0wpKQorICAgICAgICByZXR1cm4oTlVMTCk7CisKKyAgICBidWZmZXIgPSB4bWxCdWZmZXJDcmVhdGUoKTsKKyAgICBpZiAoYnVmZmVyID09IE5VTEwpCisgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBmb3IgKCA7IG5vZGUgIT0gTlVMTDsgbm9kZSA9IG5vZGUtPm5leHQpIHsKKyAgICAgICBzd2l0Y2ggKG5vZGUtPnR5cGUpIHsKKyAgICAgICBjYXNlIFhNTF9URVhUX05PREU6CisgICAgICAgY2FzZSBYTUxfQ0RBVEFfU0VDVElPTl9OT0RFOgorICAgICAgICAgICB4bWxCdWZmZXJDYXQoYnVmZmVyLCBub2RlLT5jb250ZW50KTsKKyAgICAgICAgICAgYnJlYWs7CisgICAgICAgY2FzZSBYTUxfRUxFTUVOVF9OT0RFOiB7CisgICAgICAgICAgIHhtbENoYXIgKnRtcDsKKworCSAgIHRtcCA9IHhtbFRleHRSZWFkZXJDb2xsZWN0U2libGluZ3Mobm9kZS0+Y2hpbGRyZW4pOworICAgICAgICAgICB4bWxCdWZmZXJDYXQoYnVmZmVyLCB0bXApOworCSAgIHhtbEZyZWUodG1wKTsKKwkgICBicmVhazsKKyAgICAgICB9CisgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgYnJlYWs7CisgICAgICAgfQorICAgIH0KKyAgICByZXQgPSBidWZmZXItPmNvbnRlbnQ7CisgICAgYnVmZmVyLT5jb250ZW50ID0gTlVMTDsKKyAgICB4bWxCdWZmZXJGcmVlKGJ1ZmZlcik7CisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogeG1sVGV4dFJlYWRlclJlYWQ6CisgKiBAcmVhZGVyOiAgdGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZAorICoKKyAqICBNb3ZlcyB0aGUgcG9zaXRpb24gb2YgdGhlIGN1cnJlbnQgaW5zdGFuY2UgdG8gdGhlIG5leHQgbm9kZSBpbgorICogIHRoZSBzdHJlYW0sIGV4cG9zaW5nIGl0cyBwcm9wZXJ0aWVzLgorICoKKyAqICBSZXR1cm5zIDEgaWYgdGhlIG5vZGUgd2FzIHJlYWQgc3VjY2Vzc2Z1bGx5LCAwIGlmIHRoZXJlIGlzIG5vIG1vcmUKKyAqICAgICAgICAgIG5vZGVzIHRvIHJlYWQsIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworaW50Cit4bWxUZXh0UmVhZGVyUmVhZCh4bWxUZXh0UmVhZGVyUHRyIHJlYWRlcikgeworICAgIGludCB2YWwsIG9sZGRlcHRoID0gMDsKKyAgICB4bWxUZXh0UmVhZGVyU3RhdGUgb2xkc3RhdGUgPSBYTUxfVEVYVFJFQURFUl9TVEFSVDsKKyAgICB4bWxOb2RlUHRyIG9sZG5vZGUgPSBOVUxMOworCisKKyAgICBpZiAocmVhZGVyID09IE5VTEwpCisJcmV0dXJuKC0xKTsKKyAgICByZWFkZXItPmN1cm5vZGUgPSBOVUxMOworICAgIGlmIChyZWFkZXItPmRvYyAhPSBOVUxMKQorICAgICAgICByZXR1cm4oeG1sVGV4dFJlYWRlclJlYWRUcmVlKHJlYWRlcikpOworICAgIGlmIChyZWFkZXItPmN0eHQgPT0gTlVMTCkKKwlyZXR1cm4oLTEpOworCisjaWZkZWYgREVCVUdfUkVBREVSCisgICAgZnByaW50ZihzdGRlcnIsICJcblJFQUQgIik7CisgICAgRFVNUF9SRUFERVIKKyNlbmRpZgorICAgIGlmIChyZWFkZXItPm1vZGUgPT0gWE1MX1RFWFRSRUFERVJfTU9ERV9JTklUSUFMKSB7CisJcmVhZGVyLT5tb2RlID0gWE1MX1RFWFRSRUFERVJfTU9ERV9JTlRFUkFDVElWRTsKKwkvKgorCSAqIEluaXRpYWwgc3RhdGUKKwkgKi8KKwlkbyB7CisJICAgIHZhbCA9IHhtbFRleHRSZWFkZXJQdXNoRGF0YShyZWFkZXIpOworCQlpZiAodmFsIDwgMCl7CisJCQlyZWFkZXItPm1vZGUgPSBYTUxfVEVYVFJFQURFUl9NT0RFX0VSUk9SOworCQkJcmVhZGVyLT5zdGF0ZSA9IFhNTF9URVhUUkVBREVSX0VSUk9SOworCQlyZXR1cm4oLTEpOworCQl9CisJfSB3aGlsZSAoKHJlYWRlci0+Y3R4dC0+bm9kZSA9PSBOVUxMKSAmJgorCQkgKChyZWFkZXItPm1vZGUgIT0gWE1MX1RFWFRSRUFERVJfTU9ERV9FT0YpICYmCisJCSAgKHJlYWRlci0+c3RhdGUgIT0gWE1MX1RFWFRSRUFERVJfRE9ORSkpKTsKKwlpZiAocmVhZGVyLT5jdHh0LT5ub2RlID09IE5VTEwpIHsKKwkgICAgaWYgKHJlYWRlci0+Y3R4dC0+bXlEb2MgIT0gTlVMTCkgeworCQlyZWFkZXItPm5vZGUgPSByZWFkZXItPmN0eHQtPm15RG9jLT5jaGlsZHJlbjsKKwkgICAgfQorCSAgICBpZiAocmVhZGVyLT5ub2RlID09IE5VTEwpeworCQkJcmVhZGVyLT5tb2RlID0gWE1MX1RFWFRSRUFERVJfTU9ERV9FUlJPUjsKKwkJCXJlYWRlci0+c3RhdGUgPSBYTUxfVEVYVFJFQURFUl9FUlJPUjsKKwkJcmV0dXJuKC0xKTsKKwkJfQorCSAgICByZWFkZXItPnN0YXRlID0gWE1MX1RFWFRSRUFERVJfRUxFTUVOVDsKKwl9IGVsc2UgeworCSAgICBpZiAocmVhZGVyLT5jdHh0LT5teURvYyAhPSBOVUxMKSB7CisJCXJlYWRlci0+bm9kZSA9IHJlYWRlci0+Y3R4dC0+bXlEb2MtPmNoaWxkcmVuOworCSAgICB9CisJICAgIGlmIChyZWFkZXItPm5vZGUgPT0gTlVMTCkKKwkJcmVhZGVyLT5ub2RlID0gcmVhZGVyLT5jdHh0LT5ub2RlVGFiWzBdOworCSAgICByZWFkZXItPnN0YXRlID0gWE1MX1RFWFRSRUFERVJfRUxFTUVOVDsKKwl9CisJcmVhZGVyLT5kZXB0aCA9IDA7CisJcmVhZGVyLT5jdHh0LT5wYXJzZU1vZGUgPSBYTUxfUEFSU0VfUkVBREVSOworCWdvdG8gbm9kZV9mb3VuZDsKKyAgICB9CisgICAgb2xkc3RhdGUgPSByZWFkZXItPnN0YXRlOworICAgIG9sZGRlcHRoID0gcmVhZGVyLT5jdHh0LT5ub2RlTnI7CisgICAgb2xkbm9kZSA9IHJlYWRlci0+bm9kZTsKKworZ2V0X25leHRfbm9kZToKKyAgICBpZiAocmVhZGVyLT5ub2RlID09IE5VTEwpIHsKKwlpZiAocmVhZGVyLT5tb2RlID09IFhNTF9URVhUUkVBREVSX01PREVfRU9GKQorCSAgICByZXR1cm4oMCk7CisJZWxzZQorCSAgICByZXR1cm4oLTEpOworICAgIH0KKworICAgIC8qCisgICAgICogSWYgd2UgYXJlIG5vdCBiYWNrdHJhY2tpbmcgb24gYW5jZXN0b3JzIG9yIGV4YW1pbmVkIG5vZGVzLAorICAgICAqIHRoYXQgdGhlIHBhcnNlciBkaWRuJ3QgZmluaXNoZWQgb3IgdGhhdCB3ZSBhcmVudCBhdCB0aGUgZW5kCisgICAgICogb2Ygc3RyZWFtLCBjb250aW51ZSBwcm9jZXNzaW5nLgorICAgICAqLworICAgIHdoaWxlICgocmVhZGVyLT5ub2RlICE9IE5VTEwpICYmIChyZWFkZXItPm5vZGUtPm5leHQgPT0gTlVMTCkgJiYKKwkgICAocmVhZGVyLT5jdHh0LT5ub2RlTnIgPT0gb2xkZGVwdGgpICYmCisgICAgICAgICAgICgob2xkc3RhdGUgPT0gWE1MX1RFWFRSRUFERVJfQkFDS1RSQUNLKSB8fAorICAgICAgICAgICAgKHJlYWRlci0+bm9kZS0+Y2hpbGRyZW4gPT0gTlVMTCkgfHwKKwkgICAgKHJlYWRlci0+bm9kZS0+dHlwZSA9PSBYTUxfRU5USVRZX1JFRl9OT0RFKSB8fAorCSAgICAoKHJlYWRlci0+bm9kZS0+Y2hpbGRyZW4gIT0gTlVMTCkgJiYKKwkgICAgIChyZWFkZXItPm5vZGUtPmNoaWxkcmVuLT50eXBlID09IFhNTF9URVhUX05PREUpICYmCisJICAgICAocmVhZGVyLT5ub2RlLT5jaGlsZHJlbi0+bmV4dCA9PSBOVUxMKSkgfHwKKwkgICAgKHJlYWRlci0+bm9kZS0+dHlwZSA9PSBYTUxfRFREX05PREUpIHx8CisJICAgIChyZWFkZXItPm5vZGUtPnR5cGUgPT0gWE1MX0RPQ1VNRU5UX05PREUpIHx8CisJICAgIChyZWFkZXItPm5vZGUtPnR5cGUgPT0gWE1MX0hUTUxfRE9DVU1FTlRfTk9ERSkpICYmCisJICAgKChyZWFkZXItPmN0eHQtPm5vZGUgPT0gTlVMTCkgfHwKKwkgICAgKHJlYWRlci0+Y3R4dC0+bm9kZSA9PSByZWFkZXItPm5vZGUpIHx8CisJICAgIChyZWFkZXItPmN0eHQtPm5vZGUgPT0gcmVhZGVyLT5ub2RlLT5wYXJlbnQpKSAmJgorCSAgIChyZWFkZXItPmN0eHQtPmluc3RhdGUgIT0gWE1MX1BBUlNFUl9FT0YpKSB7CisJdmFsID0geG1sVGV4dFJlYWRlclB1c2hEYXRhKHJlYWRlcik7CisJaWYgKHZhbCA8IDApeworCQlyZWFkZXItPm1vZGUgPSBYTUxfVEVYVFJFQURFUl9NT0RFX0VSUk9SOworCQlyZWFkZXItPnN0YXRlID0gWE1MX1RFWFRSRUFERVJfRVJST1I7CisJICAgIHJldHVybigtMSk7CisJfQorCWlmIChyZWFkZXItPm5vZGUgPT0gTlVMTCkKKwkgICAgZ290byBub2RlX2VuZDsKKyAgICB9CisgICAgaWYgKG9sZHN0YXRlICE9IFhNTF9URVhUUkVBREVSX0JBQ0tUUkFDSykgeworCWlmICgocmVhZGVyLT5ub2RlLT5jaGlsZHJlbiAhPSBOVUxMKSAmJgorCSAgICAocmVhZGVyLT5ub2RlLT50eXBlICE9IFhNTF9FTlRJVFlfUkVGX05PREUpICYmCisJICAgIChyZWFkZXItPm5vZGUtPnR5cGUgIT0gWE1MX1hJTkNMVURFX1NUQVJUKSAmJgorCSAgICAocmVhZGVyLT5ub2RlLT50eXBlICE9IFhNTF9EVERfTk9ERSkpIHsKKwkgICAgcmVhZGVyLT5ub2RlID0gcmVhZGVyLT5ub2RlLT5jaGlsZHJlbjsKKwkgICAgcmVhZGVyLT5kZXB0aCsrOworCSAgICByZWFkZXItPnN0YXRlID0gWE1MX1RFWFRSRUFERVJfRUxFTUVOVDsKKwkgICAgZ290byBub2RlX2ZvdW5kOworCX0KKyAgICB9CisgICAgaWYgKHJlYWRlci0+bm9kZS0+bmV4dCAhPSBOVUxMKSB7CisJaWYgKChvbGRzdGF0ZSA9PSBYTUxfVEVYVFJFQURFUl9FTEVNRU5UKSAmJgorICAgICAgICAgICAgKHJlYWRlci0+bm9kZS0+dHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFKSAmJgorCSAgICAocmVhZGVyLT5ub2RlLT5jaGlsZHJlbiA9PSBOVUxMKSAmJgorCSAgICAoKHJlYWRlci0+bm9kZS0+ZXh0cmEgJiBOT0RFX0lTX0VNUFRZKSA9PSAwKQorI2lmZGVmIExJQlhNTF9YSU5DTFVERV9FTkFCTEVECisJICAgICYmIChyZWFkZXItPmluX3hpbmNsdWRlIDw9IDApCisjZW5kaWYKKwkgICAgKSB7CisJICAgIHJlYWRlci0+c3RhdGUgPSBYTUxfVEVYVFJFQURFUl9FTkQ7CisJICAgIGdvdG8gbm9kZV9mb3VuZDsKKwl9CisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECisJaWYgKChyZWFkZXItPnZhbGlkYXRlKSAmJgorCSAgICAocmVhZGVyLT5ub2RlLT50eXBlID09IFhNTF9FTEVNRU5UX05PREUpKQorCSAgICB4bWxUZXh0UmVhZGVyVmFsaWRhdGVQb3AocmVhZGVyKTsKKyNlbmRpZiAvKiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQgKi8KKyAgICAgICAgaWYgKChyZWFkZXItPnByZXNlcnZlcyA+IDApICYmCisJICAgIChyZWFkZXItPm5vZGUtPmV4dHJhICYgTk9ERV9JU19TUFJFU0VSVkVEKSkKKwkgICAgcmVhZGVyLT5wcmVzZXJ2ZXMtLTsKKwlyZWFkZXItPm5vZGUgPSByZWFkZXItPm5vZGUtPm5leHQ7CisJcmVhZGVyLT5zdGF0ZSA9IFhNTF9URVhUUkVBREVSX0VMRU1FTlQ7CisKKwkvKgorCSAqIENsZWFudXAgb2YgdGhlIG9sZCBub2RlCisJICovCisJaWYgKChyZWFkZXItPnByZXNlcnZlcyA9PSAwKSAmJgorI2lmZGVmIExJQlhNTF9YSU5DTFVERV9FTkFCTEVECisJICAgIChyZWFkZXItPmluX3hpbmNsdWRlID09IDApICYmCisjZW5kaWYKKwkgICAgKHJlYWRlci0+ZW50TnIgPT0gMCkgJiYKKwkgICAgKHJlYWRlci0+bm9kZS0+cHJldiAhPSBOVUxMKSAmJgorICAgICAgICAgICAgKHJlYWRlci0+bm9kZS0+cHJldi0+dHlwZSAhPSBYTUxfRFREX05PREUpKSB7CisJICAgIHhtbE5vZGVQdHIgdG1wID0gcmVhZGVyLT5ub2RlLT5wcmV2OworCSAgICBpZiAoKHRtcC0+ZXh0cmEgJiBOT0RFX0lTX1BSRVNFUlZFRCkgPT0gMCkgeworCQl4bWxVbmxpbmtOb2RlKHRtcCk7CisJCXhtbFRleHRSZWFkZXJGcmVlTm9kZShyZWFkZXIsIHRtcCk7CisJICAgIH0KKwl9CisKKwlnb3RvIG5vZGVfZm91bmQ7CisgICAgfQorICAgIGlmICgob2xkc3RhdGUgPT0gWE1MX1RFWFRSRUFERVJfRUxFTUVOVCkgJiYKKwkocmVhZGVyLT5ub2RlLT50eXBlID09IFhNTF9FTEVNRU5UX05PREUpICYmCisJKHJlYWRlci0+bm9kZS0+Y2hpbGRyZW4gPT0gTlVMTCkgJiYKKwkoKHJlYWRlci0+bm9kZS0+ZXh0cmEgJiBOT0RFX0lTX0VNUFRZKSA9PSAwKSkgezsKKwlyZWFkZXItPnN0YXRlID0gWE1MX1RFWFRSRUFERVJfRU5EOworCWdvdG8gbm9kZV9mb3VuZDsKKyAgICB9CisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECisgICAgaWYgKChyZWFkZXItPnZhbGlkYXRlICE9IFhNTF9URVhUUkVBREVSX05PVF9WQUxJREFURSkgJiYgKHJlYWRlci0+bm9kZS0+dHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFKSkKKwl4bWxUZXh0UmVhZGVyVmFsaWRhdGVQb3AocmVhZGVyKTsKKyNlbmRpZiAvKiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQgKi8KKyAgICBpZiAoKHJlYWRlci0+cHJlc2VydmVzID4gMCkgJiYKKwkocmVhZGVyLT5ub2RlLT5leHRyYSAmIE5PREVfSVNfU1BSRVNFUlZFRCkpCisJcmVhZGVyLT5wcmVzZXJ2ZXMtLTsKKyAgICByZWFkZXItPm5vZGUgPSByZWFkZXItPm5vZGUtPnBhcmVudDsKKyAgICBpZiAoKHJlYWRlci0+bm9kZSA9PSBOVUxMKSB8fAorCShyZWFkZXItPm5vZGUtPnR5cGUgPT0gWE1MX0RPQ1VNRU5UX05PREUpIHx8CisjaWZkZWYgTElCWE1MX0RPQ0JfRU5BQkxFRAorCShyZWFkZXItPm5vZGUtPnR5cGUgPT0gWE1MX0RPQ0JfRE9DVU1FTlRfTk9ERSkgfHwKKyNlbmRpZgorCShyZWFkZXItPm5vZGUtPnR5cGUgPT0gWE1MX0hUTUxfRE9DVU1FTlRfTk9ERSkpIHsKKwlpZiAocmVhZGVyLT5tb2RlICE9IFhNTF9URVhUUkVBREVSX01PREVfRU9GKSB7CisJICAgIHZhbCA9IHhtbFBhcnNlQ2h1bmsocmVhZGVyLT5jdHh0LCAiIiwgMCwgMSk7CisJICAgIHJlYWRlci0+c3RhdGUgPSBYTUxfVEVYVFJFQURFUl9ET05FOworCSAgICBpZiAodmFsICE9IDApCisJICAgICAgICByZXR1cm4oLTEpOworCX0KKwlyZWFkZXItPm5vZGUgPSBOVUxMOworCXJlYWRlci0+ZGVwdGggPSAtMTsKKworCS8qCisJICogQ2xlYW51cCBvZiB0aGUgb2xkIG5vZGUKKwkgKi8KKwlpZiAoKG9sZG5vZGUgIT0gTlVMTCkgJiYgKHJlYWRlci0+cHJlc2VydmVzID09IDApICYmCisjaWZkZWYgTElCWE1MX1hJTkNMVURFX0VOQUJMRUQKKwkgICAgKHJlYWRlci0+aW5feGluY2x1ZGUgPT0gMCkgJiYKKyNlbmRpZgorCSAgICAocmVhZGVyLT5lbnROciA9PSAwKSAmJgorCSAgICAob2xkbm9kZS0+dHlwZSAhPSBYTUxfRFREX05PREUpICYmCisJICAgICgob2xkbm9kZS0+ZXh0cmEgJiBOT0RFX0lTX1BSRVNFUlZFRCkgPT0gMCkpIHsKKwkgICAgeG1sVW5saW5rTm9kZShvbGRub2RlKTsKKwkgICAgeG1sVGV4dFJlYWRlckZyZWVOb2RlKHJlYWRlciwgb2xkbm9kZSk7CisJfQorCisJZ290byBub2RlX2VuZDsKKyAgICB9CisgICAgaWYgKChyZWFkZXItPnByZXNlcnZlcyA9PSAwKSAmJgorI2lmZGVmIExJQlhNTF9YSU5DTFVERV9FTkFCTEVECisgICAgICAgIChyZWFkZXItPmluX3hpbmNsdWRlID09IDApICYmCisjZW5kaWYKKwkocmVhZGVyLT5lbnROciA9PSAwKSAmJgorICAgICAgICAocmVhZGVyLT5ub2RlLT5sYXN0ICE9IE5VTEwpICYmCisgICAgICAgICgocmVhZGVyLT5ub2RlLT5sYXN0LT5leHRyYSAmIE5PREVfSVNfUFJFU0VSVkVEKSA9PSAwKSkgeworCXhtbE5vZGVQdHIgdG1wID0gcmVhZGVyLT5ub2RlLT5sYXN0OworCXhtbFVubGlua05vZGUodG1wKTsKKwl4bWxUZXh0UmVhZGVyRnJlZU5vZGUocmVhZGVyLCB0bXApOworICAgIH0KKyAgICByZWFkZXItPmRlcHRoLS07CisgICAgcmVhZGVyLT5zdGF0ZSA9IFhNTF9URVhUUkVBREVSX0JBQ0tUUkFDSzsKKworbm9kZV9mb3VuZDoKKyAgICBEVU1QX1JFQURFUgorCisgICAgLyoKKyAgICAgKiBJZiB3ZSBhcmUgaW4gdGhlIG1pZGRsZSBvZiBhIHBpZWNlIG9mIENEQVRBIG1ha2Ugc3VyZSBpdCdzIGZpbmlzaGVkCisgICAgICovCisgICAgaWYgKChyZWFkZXItPm5vZGUgIT0gTlVMTCkgJiYKKyAgICAgICAgKHJlYWRlci0+bm9kZS0+bmV4dCA9PSBOVUxMKSAmJgorICAgICAgICAoKHJlYWRlci0+bm9kZS0+dHlwZSA9PSBYTUxfVEVYVF9OT0RFKSB8fAorCSAocmVhZGVyLT5ub2RlLT50eXBlID09IFhNTF9DREFUQV9TRUNUSU9OX05PREUpKSkgeworICAgICAgICAgICAgaWYgKHhtbFRleHRSZWFkZXJFeHBhbmQocmVhZGVyKSA9PSBOVUxMKQorCSAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKworI2lmZGVmIExJQlhNTF9YSU5DTFVERV9FTkFCTEVECisgICAgLyoKKyAgICAgKiBIYW5kbGUgWEluY2x1ZGUgaWYgYXNrZWQgZm9yCisgICAgICovCisgICAgaWYgKChyZWFkZXItPnhpbmNsdWRlKSAmJiAocmVhZGVyLT5ub2RlICE9IE5VTEwpICYmCisJKHJlYWRlci0+bm9kZS0+dHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFKSAmJgorCShyZWFkZXItPm5vZGUtPm5zICE9IE5VTEwpICYmCisJKCh4bWxTdHJFcXVhbChyZWFkZXItPm5vZGUtPm5zLT5ocmVmLCBYSU5DTFVERV9OUykpIHx8CisJICh4bWxTdHJFcXVhbChyZWFkZXItPm5vZGUtPm5zLT5ocmVmLCBYSU5DTFVERV9PTERfTlMpKSkpIHsKKwlpZiAocmVhZGVyLT54aW5jY3R4dCA9PSBOVUxMKSB7CisJICAgIHJlYWRlci0+eGluY2N0eHQgPSB4bWxYSW5jbHVkZU5ld0NvbnRleHQocmVhZGVyLT5jdHh0LT5teURvYyk7CisJICAgIHhtbFhJbmNsdWRlU2V0RmxhZ3MocmVhZGVyLT54aW5jY3R4dCwKKwkgICAgICAgICAgICAgICAgICAgICAgICByZWFkZXItPnBhcnNlckZsYWdzICYgKH5YTUxfUEFSU0VfTk9YSU5DTk9ERSkpOworCX0KKwkvKgorCSAqIGV4cGFuZCB0aGF0IG5vZGUgYW5kIHByb2Nlc3MgaXQKKwkgKi8KKwlpZiAoeG1sVGV4dFJlYWRlckV4cGFuZChyZWFkZXIpID09IE5VTEwpCisJICAgIHJldHVybiAtMTsKKwl4bWxYSW5jbHVkZVByb2Nlc3NOb2RlKHJlYWRlci0+eGluY2N0eHQsIHJlYWRlci0+bm9kZSk7CisgICAgfQorICAgIGlmICgocmVhZGVyLT5ub2RlICE9IE5VTEwpICYmIChyZWFkZXItPm5vZGUtPnR5cGUgPT0gWE1MX1hJTkNMVURFX1NUQVJUKSkgeworICAgICAgICByZWFkZXItPmluX3hpbmNsdWRlKys7CisJZ290byBnZXRfbmV4dF9ub2RlOworICAgIH0KKyAgICBpZiAoKHJlYWRlci0+bm9kZSAhPSBOVUxMKSAmJiAocmVhZGVyLT5ub2RlLT50eXBlID09IFhNTF9YSU5DTFVERV9FTkQpKSB7CisgICAgICAgIHJlYWRlci0+aW5feGluY2x1ZGUtLTsKKwlnb3RvIGdldF9uZXh0X25vZGU7CisgICAgfQorI2VuZGlmCisgICAgLyoKKyAgICAgKiBIYW5kbGUgZW50aXRpZXMgZW50ZXIgYW5kIGV4aXQgd2hlbiBpbiBlbnRpdHkgcmVwbGFjZW1lbnQgbW9kZQorICAgICAqLworICAgIGlmICgocmVhZGVyLT5ub2RlICE9IE5VTEwpICYmCisJKHJlYWRlci0+bm9kZS0+dHlwZSA9PSBYTUxfRU5USVRZX1JFRl9OT0RFKSAmJgorCShyZWFkZXItPmN0eHQgIT0gTlVMTCkgJiYgKHJlYWRlci0+Y3R4dC0+cmVwbGFjZUVudGl0aWVzID09IDEpKSB7CisJLyoKKwkgKiBDYXNlIHdoZXJlIHRoZSB1bmRlcmx5aW5nIHRyZWUgaXMgbm90IGF2YWlsYmxlLCBsb29rdXAgdGhlIGVudGl0eQorCSAqIGFuZCB3YWxrIGl0LgorCSAqLworCWlmICgocmVhZGVyLT5ub2RlLT5jaGlsZHJlbiA9PSBOVUxMKSAmJiAocmVhZGVyLT5jdHh0LT5zYXggIT0gTlVMTCkgJiYKKwkgICAgKHJlYWRlci0+Y3R4dC0+c2F4LT5nZXRFbnRpdHkgIT0gTlVMTCkpIHsKKwkgICAgcmVhZGVyLT5ub2RlLT5jaGlsZHJlbiA9ICh4bWxOb2RlUHRyKQorCQlyZWFkZXItPmN0eHQtPnNheC0+Z2V0RW50aXR5KHJlYWRlci0+Y3R4dCwgcmVhZGVyLT5ub2RlLT5uYW1lKTsKKwl9CisKKwlpZiAoKHJlYWRlci0+bm9kZS0+Y2hpbGRyZW4gIT0gTlVMTCkgJiYKKwkgICAgKHJlYWRlci0+bm9kZS0+Y2hpbGRyZW4tPnR5cGUgPT0gWE1MX0VOVElUWV9ERUNMKSAmJgorCSAgICAocmVhZGVyLT5ub2RlLT5jaGlsZHJlbi0+Y2hpbGRyZW4gIT0gTlVMTCkpIHsKKwkgICAgeG1sVGV4dFJlYWRlckVudFB1c2gocmVhZGVyLCByZWFkZXItPm5vZGUpOworCSAgICByZWFkZXItPm5vZGUgPSByZWFkZXItPm5vZGUtPmNoaWxkcmVuLT5jaGlsZHJlbjsKKwl9CisjaWZkZWYgTElCWE1MX1JFR0VYUF9FTkFCTEVECisgICAgfSBlbHNlIGlmICgocmVhZGVyLT5ub2RlICE9IE5VTEwpICYmCisJICAgICAgIChyZWFkZXItPm5vZGUtPnR5cGUgPT0gWE1MX0VOVElUWV9SRUZfTk9ERSkgJiYKKwkgICAgICAgKHJlYWRlci0+Y3R4dCAhPSBOVUxMKSAmJiAocmVhZGVyLT52YWxpZGF0ZSkpIHsKKwl4bWxUZXh0UmVhZGVyVmFsaWRhdGVFbnRpdHkocmVhZGVyKTsKKyNlbmRpZiAvKiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQgKi8KKyAgICB9CisgICAgaWYgKChyZWFkZXItPm5vZGUgIT0gTlVMTCkgJiYKKwkocmVhZGVyLT5ub2RlLT50eXBlID09IFhNTF9FTlRJVFlfREVDTCkgJiYKKwkocmVhZGVyLT5lbnQgIT0gTlVMTCkgJiYgKHJlYWRlci0+ZW50LT5jaGlsZHJlbiA9PSByZWFkZXItPm5vZGUpKSB7CisJcmVhZGVyLT5ub2RlID0geG1sVGV4dFJlYWRlckVudFBvcChyZWFkZXIpOworCXJlYWRlci0+ZGVwdGgrKzsKKyAgICAgICAgZ290byBnZXRfbmV4dF9ub2RlOworICAgIH0KKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKKyAgICBpZiAoKHJlYWRlci0+dmFsaWRhdGUgIT0gWE1MX1RFWFRSRUFERVJfTk9UX1ZBTElEQVRFKSAmJiAocmVhZGVyLT5ub2RlICE9IE5VTEwpKSB7CisJeG1sTm9kZVB0ciBub2RlID0gcmVhZGVyLT5ub2RlOworCisJaWYgKChub2RlLT50eXBlID09IFhNTF9FTEVNRU5UX05PREUpICYmCisgICAgICAgICAgICAoKHJlYWRlci0+c3RhdGUgIT0gWE1MX1RFWFRSRUFERVJfRU5EKSAmJgorCSAgICAgKHJlYWRlci0+c3RhdGUgIT0gWE1MX1RFWFRSRUFERVJfQkFDS1RSQUNLKSkpIHsKKwkgICAgeG1sVGV4dFJlYWRlclZhbGlkYXRlUHVzaChyZWFkZXIpOworCX0gZWxzZSBpZiAoKG5vZGUtPnR5cGUgPT0gWE1MX1RFWFRfTk9ERSkgfHwKKwkJICAgKG5vZGUtPnR5cGUgPT0gWE1MX0NEQVRBX1NFQ1RJT05fTk9ERSkpIHsKKyAgICAgICAgICAgIHhtbFRleHRSZWFkZXJWYWxpZGF0ZUNEYXRhKHJlYWRlciwgbm9kZS0+Y29udGVudCwKKwkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sU3RybGVuKG5vZGUtPmNvbnRlbnQpKTsKKwl9CisgICAgfQorI2VuZGlmIC8qIExJQlhNTF9SRUdFWFBfRU5BQkxFRCAqLworI2lmZGVmIExJQlhNTF9QQVRURVJOX0VOQUJMRUQKKyAgICBpZiAoKHJlYWRlci0+cGF0dGVybk5yID4gMCkgJiYgKHJlYWRlci0+c3RhdGUgIT0gWE1MX1RFWFRSRUFERVJfRU5EKSAmJgorICAgICAgICAocmVhZGVyLT5zdGF0ZSAhPSBYTUxfVEVYVFJFQURFUl9CQUNLVFJBQ0spKSB7CisgICAgICAgIGludCBpOworCWZvciAoaSA9IDA7aSA8IHJlYWRlci0+cGF0dGVybk5yO2krKykgeworCSAgICAgaWYgKHhtbFBhdHRlcm5NYXRjaChyZWFkZXItPnBhdHRlcm5UYWJbaV0sIHJlYWRlci0+bm9kZSkgPT0gMSkgeworCSAgICAgICAgIHhtbFRleHRSZWFkZXJQcmVzZXJ2ZShyZWFkZXIpOworCQkgYnJlYWs7CisgICAgICAgICAgICAgfQorCX0KKyAgICB9CisjZW5kaWYgLyogTElCWE1MX1BBVFRFUk5fRU5BQkxFRCAqLworI2lmZGVmIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQKKyAgICBpZiAoKHJlYWRlci0+dmFsaWRhdGUgPT0gWE1MX1RFWFRSRUFERVJfVkFMSURBVEVfWFNEKSAmJgorICAgICAgICAocmVhZGVyLT54c2RWYWxpZEVycm9ycyA9PSAwKSAmJgorCShyZWFkZXItPnhzZFZhbGlkQ3R4dCAhPSBOVUxMKSkgeworCXJlYWRlci0+eHNkVmFsaWRFcnJvcnMgPSAheG1sU2NoZW1hSXNWYWxpZChyZWFkZXItPnhzZFZhbGlkQ3R4dCk7CisgICAgfQorI2VuZGlmIC8qIExJQlhNTF9QQVRURVJOX0VOQUJMRUQgKi8KKyAgICByZXR1cm4oMSk7Citub2RlX2VuZDoKKyAgICByZWFkZXItPnN0YXRlID0gWE1MX1RFWFRSRUFERVJfRE9ORTsKKyAgICByZXR1cm4oMCk7Cit9CisKKy8qKgorICogeG1sVGV4dFJlYWRlclJlYWRTdGF0ZToKKyAqIEByZWFkZXI6ICB0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkCisgKgorICogR2V0cyB0aGUgcmVhZCBzdGF0ZSBvZiB0aGUgcmVhZGVyLgorICoKKyAqIFJldHVybnMgdGhlIHN0YXRlIHZhbHVlLCBvciAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK2ludAoreG1sVGV4dFJlYWRlclJlYWRTdGF0ZSh4bWxUZXh0UmVhZGVyUHRyIHJlYWRlcikgeworICAgIGlmIChyZWFkZXIgPT0gTlVMTCkKKwlyZXR1cm4oLTEpOworICAgIHJldHVybihyZWFkZXItPm1vZGUpOworfQorCisvKioKKyAqIHhtbFRleHRSZWFkZXJFeHBhbmQ6CisgKiBAcmVhZGVyOiAgdGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZAorICoKKyAqIFJlYWRzIHRoZSBjb250ZW50cyBvZiB0aGUgY3VycmVudCBub2RlIGFuZCB0aGUgZnVsbCBzdWJ0cmVlLiBJdCB0aGVuIG1ha2VzCisgKiB0aGUgc3VidHJlZSBhdmFpbGFibGUgdW50aWwgdGhlIG5leHQgeG1sVGV4dFJlYWRlclJlYWQoKSBjYWxsCisgKgorICogUmV0dXJucyBhIG5vZGUgcG9pbnRlciB2YWxpZCB1bnRpbCB0aGUgbmV4dCB4bWxUZXh0UmVhZGVyUmVhZCgpIGNhbGwKKyAqICAgICAgICAgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLgorICovCit4bWxOb2RlUHRyCit4bWxUZXh0UmVhZGVyRXhwYW5kKHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyKSB7CisgICAgaWYgKChyZWFkZXIgPT0gTlVMTCkgfHwgKHJlYWRlci0+bm9kZSA9PSBOVUxMKSkKKyAgICAgICAgcmV0dXJuKE5VTEwpOworICAgIGlmIChyZWFkZXItPmRvYyAhPSBOVUxMKQorICAgICAgICByZXR1cm4ocmVhZGVyLT5ub2RlKTsKKyAgICBpZiAocmVhZGVyLT5jdHh0ID09IE5VTEwpCisgICAgICAgIHJldHVybihOVUxMKTsKKyAgICBpZiAoeG1sVGV4dFJlYWRlckRvRXhwYW5kKHJlYWRlcikgPCAwKQorICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgcmV0dXJuKHJlYWRlci0+bm9kZSk7Cit9CisKKy8qKgorICogeG1sVGV4dFJlYWRlck5leHQ6CisgKiBAcmVhZGVyOiAgdGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZAorICoKKyAqIFNraXAgdG8gdGhlIG5vZGUgZm9sbG93aW5nIHRoZSBjdXJyZW50IG9uZSBpbiBkb2N1bWVudCBvcmRlciB3aGlsZQorICogYXZvaWRpbmcgdGhlIHN1YnRyZWUgaWYgYW55LgorICoKKyAqIFJldHVybnMgMSBpZiB0aGUgbm9kZSB3YXMgcmVhZCBzdWNjZXNzZnVsbHksIDAgaWYgdGhlcmUgaXMgbm8gbW9yZQorICogICAgICAgICAgbm9kZXMgdG8gcmVhZCwgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcgorICovCitpbnQKK3htbFRleHRSZWFkZXJOZXh0KHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyKSB7CisgICAgaW50IHJldDsKKyAgICB4bWxOb2RlUHRyIGN1cjsKKworICAgIGlmIChyZWFkZXIgPT0gTlVMTCkKKwlyZXR1cm4oLTEpOworICAgIGlmIChyZWFkZXItPmRvYyAhPSBOVUxMKQorICAgICAgICByZXR1cm4oeG1sVGV4dFJlYWRlck5leHRUcmVlKHJlYWRlcikpOworICAgIGN1ciA9IHJlYWRlci0+bm9kZTsKKyAgICBpZiAoKGN1ciA9PSBOVUxMKSB8fCAoY3VyLT50eXBlICE9IFhNTF9FTEVNRU5UX05PREUpKQorICAgICAgICByZXR1cm4oeG1sVGV4dFJlYWRlclJlYWQocmVhZGVyKSk7CisgICAgaWYgKHJlYWRlci0+c3RhdGUgPT0gWE1MX1RFWFRSRUFERVJfRU5EIHx8IHJlYWRlci0+c3RhdGUgPT0gWE1MX1RFWFRSRUFERVJfQkFDS1RSQUNLKQorICAgICAgICByZXR1cm4oeG1sVGV4dFJlYWRlclJlYWQocmVhZGVyKSk7CisgICAgaWYgKGN1ci0+ZXh0cmEgJiBOT0RFX0lTX0VNUFRZKQorICAgICAgICByZXR1cm4oeG1sVGV4dFJlYWRlclJlYWQocmVhZGVyKSk7CisgICAgZG8geworICAgICAgICByZXQgPSB4bWxUZXh0UmVhZGVyUmVhZChyZWFkZXIpOworCWlmIChyZXQgIT0gMSkKKwkgICAgcmV0dXJuKHJldCk7CisgICAgfSB3aGlsZSAocmVhZGVyLT5ub2RlICE9IGN1cik7CisgICAgcmV0dXJuKHhtbFRleHRSZWFkZXJSZWFkKHJlYWRlcikpOworfQorCisjaWZkZWYgTElCWE1MX1dSSVRFUl9FTkFCTEVECisvKioKKyAqIHhtbFRleHRSZWFkZXJSZWFkSW5uZXJYbWw6CisgKiBAcmVhZGVyOiAgdGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZAorICoKKyAqIFJlYWRzIHRoZSBjb250ZW50cyBvZiB0aGUgY3VycmVudCBub2RlLCBpbmNsdWRpbmcgY2hpbGQgbm9kZXMgYW5kIG1hcmt1cC4KKyAqCisgKiBSZXR1cm5zIGEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIFhNTCBjb250ZW50LCBvciBOVUxMIGlmIHRoZSBjdXJyZW50IG5vZGUKKyAqICAgICAgICAgaXMgbmVpdGhlciBhbiBlbGVtZW50IG5vciBhdHRyaWJ1dGUsIG9yIGhhcyBubyBjaGlsZCBub2Rlcy4gVGhlCisgKiAgICAgICAgIHN0cmluZyBtdXN0IGJlIGRlYWxsb2NhdGVkIGJ5IHRoZSBjYWxsZXIuCisgKi8KK3htbENoYXIgKgoreG1sVGV4dFJlYWRlclJlYWRJbm5lclhtbCh4bWxUZXh0UmVhZGVyUHRyIHJlYWRlciBBVFRSSUJVVEVfVU5VU0VEKQoreworICAgIHhtbENoYXIgKnJlc2J1ZjsKKyAgICB4bWxOb2RlUHRyIG5vZGUsIGN1cl9ub2RlOworICAgIHhtbEJ1ZmZlclB0ciBidWZmLCBidWZmMjsKKyAgICB4bWxEb2NQdHIgZG9jOworCisgICAgaWYgKHhtbFRleHRSZWFkZXJFeHBhbmQocmVhZGVyKSA9PSBOVUxMKSB7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICBkb2MgPSByZWFkZXItPmRvYzsKKyAgICBidWZmID0geG1sQnVmZmVyQ3JlYXRlKCk7CisgICAgZm9yIChjdXJfbm9kZSA9IHJlYWRlci0+bm9kZS0+Y2hpbGRyZW47IGN1cl9ub2RlICE9IE5VTEw7CisgICAgICAgICBjdXJfbm9kZSA9IGN1cl9ub2RlLT5uZXh0KSB7CisgICAgICAgIG5vZGUgPSB4bWxEb2NDb3B5Tm9kZShjdXJfbm9kZSwgZG9jLCAxKTsKKyAgICAgICAgYnVmZjIgPSB4bWxCdWZmZXJDcmVhdGUoKTsKKyAgICAgICAgaWYgKHhtbE5vZGVEdW1wKGJ1ZmYyLCBkb2MsIG5vZGUsIDAsIDApID09IC0xKSB7CisgICAgICAgICAgICB4bWxGcmVlTm9kZShub2RlKTsKKyAgICAgICAgICAgIHhtbEJ1ZmZlckZyZWUoYnVmZjIpOworICAgICAgICAgICAgeG1sQnVmZmVyRnJlZShidWZmKTsKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICB9CisgICAgICAgIHhtbEJ1ZmZlckNhdChidWZmLCBidWZmMi0+Y29udGVudCk7CisgICAgICAgIHhtbEZyZWVOb2RlKG5vZGUpOworICAgICAgICB4bWxCdWZmZXJGcmVlKGJ1ZmYyKTsKKyAgICB9CisgICAgcmVzYnVmID0gYnVmZi0+Y29udGVudDsKKyAgICBidWZmLT5jb250ZW50ID0gTlVMTDsKKworICAgIHhtbEJ1ZmZlckZyZWUoYnVmZik7CisgICAgcmV0dXJuIHJlc2J1ZjsKK30KKyNlbmRpZgorCisjaWZkZWYgTElCWE1MX1dSSVRFUl9FTkFCTEVECisvKioKKyAqIHhtbFRleHRSZWFkZXJSZWFkT3V0ZXJYbWw6CisgKiBAcmVhZGVyOiAgdGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZAorICoKKyAqIFJlYWRzIHRoZSBjb250ZW50cyBvZiB0aGUgY3VycmVudCBub2RlLCBpbmNsdWRpbmcgY2hpbGQgbm9kZXMgYW5kIG1hcmt1cC4KKyAqCisgKiBSZXR1cm5zIGEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG5vZGUgYW5kIGFueSBYTUwgY29udGVudCwgb3IgTlVMTCBpZiB0aGUKKyAqICAgICAgICAgY3VycmVudCBub2RlIGNhbm5vdCBiZSBzZXJpYWxpemVkLiBUaGUgc3RyaW5nIG11c3QgYmUgZGVhbGxvY2F0ZWQKKyAqICAgICAgICAgYnkgdGhlIGNhbGxlci4KKyAqLworeG1sQ2hhciAqCit4bWxUZXh0UmVhZGVyUmVhZE91dGVyWG1sKHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyIEFUVFJJQlVURV9VTlVTRUQpCit7CisgICAgeG1sQ2hhciAqcmVzYnVmOworICAgIHhtbE5vZGVQdHIgbm9kZTsKKyAgICB4bWxCdWZmZXJQdHIgYnVmZjsKKyAgICB4bWxEb2NQdHIgZG9jOworCisgICAgbm9kZSA9IHJlYWRlci0+bm9kZTsKKyAgICBkb2MgPSByZWFkZXItPmRvYzsKKyAgICBpZiAoeG1sVGV4dFJlYWRlckV4cGFuZChyZWFkZXIpID09IE5VTEwpIHsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCWlmIChub2RlLT50eXBlID09IFhNTF9EVERfTk9ERSkgeworCQlub2RlID0gKHhtbE5vZGVQdHIpIHhtbENvcHlEdGQoKHhtbER0ZFB0cikgbm9kZSk7CisJfSBlbHNlIHsKKwkJbm9kZSA9IHhtbERvY0NvcHlOb2RlKG5vZGUsIGRvYywgMSk7CisJfQorICAgIGJ1ZmYgPSB4bWxCdWZmZXJDcmVhdGUoKTsKKyAgICBpZiAoeG1sTm9kZUR1bXAoYnVmZiwgZG9jLCBub2RlLCAwLCAwKSA9PSAtMSkgeworICAgICAgICB4bWxGcmVlTm9kZShub2RlKTsKKyAgICAgICAgeG1sQnVmZmVyRnJlZShidWZmKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCisgICAgcmVzYnVmID0gYnVmZi0+Y29udGVudDsKKyAgICBidWZmLT5jb250ZW50ID0gTlVMTDsKKworICAgIHhtbEZyZWVOb2RlKG5vZGUpOworICAgIHhtbEJ1ZmZlckZyZWUoYnVmZik7CisgICAgcmV0dXJuIHJlc2J1ZjsKK30KKyNlbmRpZgorCisvKioKKyAqIHhtbFRleHRSZWFkZXJSZWFkU3RyaW5nOgorICogQHJlYWRlcjogIHRoZSB4bWxUZXh0UmVhZGVyUHRyIHVzZWQKKyAqCisgKiBSZWFkcyB0aGUgY29udGVudHMgb2YgYW4gZWxlbWVudCBvciBhIHRleHQgbm9kZSBhcyBhIHN0cmluZy4KKyAqCisgKiBSZXR1cm5zIGEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIGNvbnRlbnRzIG9mIHRoZSBFbGVtZW50IG9yIFRleHQgbm9kZSwKKyAqICAgICAgICAgb3IgTlVMTCBpZiB0aGUgcmVhZGVyIGlzIHBvc2l0aW9uZWQgb24gYW55IG90aGVyIHR5cGUgb2Ygbm9kZS4KKyAqICAgICAgICAgVGhlIHN0cmluZyBtdXN0IGJlIGRlYWxsb2NhdGVkIGJ5IHRoZSBjYWxsZXIuCisgKi8KK3htbENoYXIgKgoreG1sVGV4dFJlYWRlclJlYWRTdHJpbmcoeG1sVGV4dFJlYWRlclB0ciByZWFkZXIpCit7CisgICAgeG1sTm9kZVB0ciBub2RlOworCisgICAgaWYgKChyZWFkZXIgPT0gTlVMTCkgfHwgKHJlYWRlci0+bm9kZSA9PSBOVUxMKSkKKyAgICAgICByZXR1cm4oTlVMTCk7CisKKyAgICBub2RlID0gKHJlYWRlci0+Y3Vybm9kZSAhPSBOVUxMKSA/IHJlYWRlci0+Y3Vybm9kZSA6IHJlYWRlci0+bm9kZTsKKyAgICBzd2l0Y2ggKG5vZGUtPnR5cGUpIHsKKyAgICBjYXNlIFhNTF9URVhUX05PREU6CisgICAgICAgaWYgKG5vZGUtPmNvbnRlbnQgIT0gTlVMTCkKKyAgICAgICAgICAgcmV0dXJuKHhtbFN0cmR1cChub2RlLT5jb250ZW50KSk7CisgICAgICAgYnJlYWs7CisgICAgY2FzZSBYTUxfRUxFTUVOVF9OT0RFOgorCWlmICh4bWxUZXh0UmVhZGVyRG9FeHBhbmQocmVhZGVyKSAhPSAtMSkgeworCSAgICByZXR1cm4geG1sVGV4dFJlYWRlckNvbGxlY3RTaWJsaW5ncyhub2RlLT5jaGlsZHJlbik7CisJfQorCWJyZWFrOworICAgIGNhc2UgWE1MX0FUVFJJQlVURV9OT0RFOgorCVRPRE8KKwlicmVhazsKKyAgICBkZWZhdWx0OgorICAgICAgIGJyZWFrOworICAgIH0KKyAgICByZXR1cm4oTlVMTCk7Cit9CisKKyNpZiAwCisvKioKKyAqIHhtbFRleHRSZWFkZXJSZWFkQmFzZTY0OgorICogQHJlYWRlcjogIHRoZSB4bWxUZXh0UmVhZGVyUHRyIHVzZWQKKyAqIEBhcnJheTogIGEgYnl0ZSBhcnJheSB0byBzdG9yZSB0aGUgY29udGVudC4KKyAqIEBvZmZzZXQ6ICB0aGUgemVyby1iYXNlZCBpbmRleCBpbnRvIGFycmF5IHdoZXJlIHRoZSBtZXRob2Qgc2hvdWxkCisgKiAgICAgICAgICAgYmVnaW4gdG8gd3JpdGUuCisgKiBAbGVuOiAgdGhlIG51bWJlciBvZiBieXRlcyB0byB3cml0ZS4KKyAqCisgKiBSZWFkcyBhbmQgZGVjb2RlcyB0aGUgQmFzZTY0IGVuY29kZWQgY29udGVudHMgb2YgYW4gZWxlbWVudCBhbmQKKyAqIHN0b3JlcyB0aGUgcmVzdWx0IGluIGEgYnl0ZSBidWZmZXIuCisgKgorICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIGJ5dGVzIHdyaXR0ZW4gdG8gYXJyYXksIG9yIHplcm8gaWYgdGhlIGN1cnJlbnQKKyAqICAgICAgICAgaW5zdGFuY2UgaXMgbm90IHBvc2l0aW9uZWQgb24gYW4gZWxlbWVudCBvciAtMSBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQKK3htbFRleHRSZWFkZXJSZWFkQmFzZTY0KHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciAqYXJyYXkgQVRUUklCVVRFX1VOVVNFRCwKKwkgICAgICAgICAgICAgICAgaW50IG9mZnNldCBBVFRSSUJVVEVfVU5VU0VELAorCQkJaW50IGxlbiBBVFRSSUJVVEVfVU5VU0VEKSB7CisgICAgaWYgKChyZWFkZXIgPT0gTlVMTCkgfHwgKHJlYWRlci0+Y3R4dCA9PSBOVUxMKSkKKwlyZXR1cm4oLTEpOworICAgIGlmIChyZWFkZXItPmN0eHQtPndlbGxGb3JtZWQgIT0gMSkKKwlyZXR1cm4oLTEpOworCisgICAgaWYgKChyZWFkZXItPm5vZGUgPT0gTlVMTCkgfHwgKHJlYWRlci0+bm9kZS0+dHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFKSkKKwlyZXR1cm4oMCk7CisgICAgVE9ETworICAgIHJldHVybigwKTsKK30KKworLyoqCisgKiB4bWxUZXh0UmVhZGVyUmVhZEJpbkhleDoKKyAqIEByZWFkZXI6ICB0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkCisgKiBAYXJyYXk6ICBhIGJ5dGUgYXJyYXkgdG8gc3RvcmUgdGhlIGNvbnRlbnQuCisgKiBAb2Zmc2V0OiAgdGhlIHplcm8tYmFzZWQgaW5kZXggaW50byBhcnJheSB3aGVyZSB0aGUgbWV0aG9kIHNob3VsZAorICogICAgICAgICAgIGJlZ2luIHRvIHdyaXRlLgorICogQGxlbjogIHRoZSBudW1iZXIgb2YgYnl0ZXMgdG8gd3JpdGUuCisgKgorICogUmVhZHMgYW5kIGRlY29kZXMgdGhlIEJpbkhleCBlbmNvZGVkIGNvbnRlbnRzIG9mIGFuIGVsZW1lbnQgYW5kCisgKiBzdG9yZXMgdGhlIHJlc3VsdCBpbiBhIGJ5dGUgYnVmZmVyLgorICoKKyAqIFJldHVybnMgdGhlIG51bWJlciBvZiBieXRlcyB3cml0dGVuIHRvIGFycmF5LCBvciB6ZXJvIGlmIHRoZSBjdXJyZW50CisgKiAgICAgICAgIGluc3RhbmNlIGlzIG5vdCBwb3NpdGlvbmVkIG9uIGFuIGVsZW1lbnQgb3IgLTEgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50Cit4bWxUZXh0UmVhZGVyUmVhZEJpbkhleCh4bWxUZXh0UmVhZGVyUHRyIHJlYWRlciwKKyAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgKmFycmF5IEFUVFJJQlVURV9VTlVTRUQsCisJICAgICAgICAgICAgICAgIGludCBvZmZzZXQgQVRUUklCVVRFX1VOVVNFRCwKKwkJCWludCBsZW4gQVRUUklCVVRFX1VOVVNFRCkgeworICAgIGlmICgocmVhZGVyID09IE5VTEwpIHx8IChyZWFkZXItPmN0eHQgPT0gTlVMTCkpCisJcmV0dXJuKC0xKTsKKyAgICBpZiAocmVhZGVyLT5jdHh0LT53ZWxsRm9ybWVkICE9IDEpCisJcmV0dXJuKC0xKTsKKworICAgIGlmICgocmVhZGVyLT5ub2RlID09IE5VTEwpIHx8IChyZWFkZXItPm5vZGUtPnR5cGUgPT0gWE1MX0VMRU1FTlRfTk9ERSkpCisJcmV0dXJuKDApOworICAgIFRPRE8KKyAgICByZXR1cm4oMCk7Cit9CisjZW5kaWYKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJCU9wZXJhdGluZyBvbiBhIHByZXBhcnNlZCB0cmVlCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIGludAoreG1sVGV4dFJlYWRlck5leHRUcmVlKHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyKQoreworICAgIGlmIChyZWFkZXIgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuKC0xKTsKKworICAgIGlmIChyZWFkZXItPnN0YXRlID09IFhNTF9URVhUUkVBREVSX0VORCkKKyAgICAgICAgcmV0dXJuKDApOworCisgICAgaWYgKHJlYWRlci0+bm9kZSA9PSBOVUxMKSB7CisgICAgICAgIGlmIChyZWFkZXItPmRvYy0+Y2hpbGRyZW4gPT0gTlVMTCkgeworICAgICAgICAgICAgcmVhZGVyLT5zdGF0ZSA9IFhNTF9URVhUUkVBREVSX0VORDsKKyAgICAgICAgICAgIHJldHVybigwKTsKKyAgICAgICAgfQorCisgICAgICAgIHJlYWRlci0+bm9kZSA9IHJlYWRlci0+ZG9jLT5jaGlsZHJlbjsKKyAgICAgICAgcmVhZGVyLT5zdGF0ZSA9IFhNTF9URVhUUkVBREVSX1NUQVJUOworICAgICAgICByZXR1cm4oMSk7CisgICAgfQorCisgICAgaWYgKHJlYWRlci0+c3RhdGUgIT0gWE1MX1RFWFRSRUFERVJfQkFDS1RSQUNLKSB7CisJLyogSGVyZSByZW1vdmVkIHRyYXZlcnNhbCB0byBjaGlsZCwgYmVjYXVzZSB3ZSB3YW50IHRvIHNraXAgdGhlIHN1YnRyZWUsCisJcmVwbGFjZSB3aXRoIHRyYXZlcnNhbCB0byBzaWJsaW5nIHRvIHNraXAgc3VidHJlZSAqLworICAgICAgICBpZiAocmVhZGVyLT5ub2RlLT5uZXh0ICE9IDApIHsKKwkgICAgLyogTW92ZSB0byBzaWJsaW5nIGlmIHByZXNlbnQsc2tpcHBpbmcgc3ViLXRyZWUgKi8KKyAgICAgICAgICAgIHJlYWRlci0+bm9kZSA9IHJlYWRlci0+bm9kZS0+bmV4dDsKKyAgICAgICAgICAgIHJlYWRlci0+c3RhdGUgPSBYTUxfVEVYVFJFQURFUl9TVEFSVDsKKyAgICAgICAgICAgIHJldHVybigxKTsKKyAgICAgICAgfQorCisJLyogaWYgcmVhZGVyLT5ub2RlLT5uZXh0IGlzIE5VTEwgbWVhbiBubyBzdWJ0cmVlIGZvciBjdXJyZW50IG5vZGUsCisJc28gbmVlZCB0byBtb3ZlIHRvIHNpYmxpbmcgb2YgcGFyZW50IG5vZGUgaWYgcHJlc2VudCAqLworICAgICAgICBpZiAoKHJlYWRlci0+bm9kZS0+dHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFKSB8fAorICAgICAgICAgICAgKHJlYWRlci0+bm9kZS0+dHlwZSA9PSBYTUxfQVRUUklCVVRFX05PREUpKSB7CisgICAgICAgICAgICByZWFkZXItPnN0YXRlID0gWE1MX1RFWFRSRUFERVJfQkFDS1RSQUNLOworCSAgICAvKiBUaGlzIHdpbGwgbW92ZSB0byBwYXJlbnQgaWYgcHJlc2VudCAqLworICAgICAgICAgICAgeG1sVGV4dFJlYWRlclJlYWQocmVhZGVyKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIGlmIChyZWFkZXItPm5vZGUtPm5leHQgIT0gMCkgeworICAgICAgICByZWFkZXItPm5vZGUgPSByZWFkZXItPm5vZGUtPm5leHQ7CisgICAgICAgIHJlYWRlci0+c3RhdGUgPSBYTUxfVEVYVFJFQURFUl9TVEFSVDsKKyAgICAgICAgcmV0dXJuKDEpOworICAgIH0KKworICAgIGlmIChyZWFkZXItPm5vZGUtPnBhcmVudCAhPSAwKSB7CisgICAgICAgIGlmIChyZWFkZXItPm5vZGUtPnBhcmVudC0+dHlwZSA9PSBYTUxfRE9DVU1FTlRfTk9ERSkgeworICAgICAgICAgICAgcmVhZGVyLT5zdGF0ZSA9IFhNTF9URVhUUkVBREVSX0VORDsKKyAgICAgICAgICAgIHJldHVybigwKTsKKyAgICAgICAgfQorCisgICAgICAgIHJlYWRlci0+bm9kZSA9IHJlYWRlci0+bm9kZS0+cGFyZW50OworICAgICAgICByZWFkZXItPmRlcHRoLS07CisgICAgICAgIHJlYWRlci0+c3RhdGUgPSBYTUxfVEVYVFJFQURFUl9CQUNLVFJBQ0s7CisJLyogUmVwZWF0IHByb2Nlc3MgdG8gbW92ZSB0byBzaWJsaW5nIG9mIHBhcmVudCBub2RlIGlmIHByZXNlbnQgKi8KKyAgICAgICAgeG1sVGV4dFJlYWRlck5leHRUcmVlKHJlYWRlcik7CisgICAgfQorCisgICAgcmVhZGVyLT5zdGF0ZSA9IFhNTF9URVhUUkVBREVSX0VORDsKKworICAgIHJldHVybigxKTsKK30KKworLyoqCisgKiB4bWxUZXh0UmVhZGVyUmVhZFRyZWU6CisgKiBAcmVhZGVyOiAgdGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZAorICoKKyAqICBNb3ZlcyB0aGUgcG9zaXRpb24gb2YgdGhlIGN1cnJlbnQgaW5zdGFuY2UgdG8gdGhlIG5leHQgbm9kZSBpbgorICogIHRoZSBzdHJlYW0sIGV4cG9zaW5nIGl0cyBwcm9wZXJ0aWVzLgorICoKKyAqICBSZXR1cm5zIDEgaWYgdGhlIG5vZGUgd2FzIHJlYWQgc3VjY2Vzc2Z1bGx5LCAwIGlmIHRoZXJlIGlzIG5vIG1vcmUKKyAqICAgICAgICAgIG5vZGVzIHRvIHJlYWQsIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworc3RhdGljIGludAoreG1sVGV4dFJlYWRlclJlYWRUcmVlKHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyKSB7CisgICAgaWYgKHJlYWRlci0+c3RhdGUgPT0gWE1MX1RFWFRSRUFERVJfRU5EKQorICAgICAgICByZXR1cm4oMCk7CisKK25leHRfbm9kZToKKyAgICBpZiAocmVhZGVyLT5ub2RlID09IE5VTEwpIHsKKyAgICAgICAgaWYgKHJlYWRlci0+ZG9jLT5jaGlsZHJlbiA9PSBOVUxMKSB7CisgICAgICAgICAgICByZWFkZXItPnN0YXRlID0gWE1MX1RFWFRSRUFERVJfRU5EOworICAgICAgICAgICAgcmV0dXJuKDApOworICAgICAgICB9CisKKyAgICAgICAgcmVhZGVyLT5ub2RlID0gcmVhZGVyLT5kb2MtPmNoaWxkcmVuOworICAgICAgICByZWFkZXItPnN0YXRlID0gWE1MX1RFWFRSRUFERVJfU1RBUlQ7CisgICAgICAgIGdvdG8gZm91bmRfbm9kZTsKKyAgICB9CisKKyAgICBpZiAoKHJlYWRlci0+c3RhdGUgIT0gWE1MX1RFWFRSRUFERVJfQkFDS1RSQUNLKSAmJgorICAgICAgICAocmVhZGVyLT5ub2RlLT50eXBlICE9IFhNTF9EVERfTk9ERSkgJiYKKyAgICAgICAgKHJlYWRlci0+bm9kZS0+dHlwZSAhPSBYTUxfWElOQ0xVREVfU1RBUlQpICYmCisJKHJlYWRlci0+bm9kZS0+dHlwZSAhPSBYTUxfRU5USVRZX1JFRl9OT0RFKSkgeworICAgICAgICBpZiAocmVhZGVyLT5ub2RlLT5jaGlsZHJlbiAhPSBOVUxMKSB7CisgICAgICAgICAgICByZWFkZXItPm5vZGUgPSByZWFkZXItPm5vZGUtPmNoaWxkcmVuOworICAgICAgICAgICAgcmVhZGVyLT5kZXB0aCsrOworICAgICAgICAgICAgcmVhZGVyLT5zdGF0ZSA9IFhNTF9URVhUUkVBREVSX1NUQVJUOworICAgICAgICAgICAgZ290byBmb3VuZF9ub2RlOworICAgICAgICB9CisKKyAgICAgICAgaWYgKHJlYWRlci0+bm9kZS0+dHlwZSA9PSBYTUxfQVRUUklCVVRFX05PREUpIHsKKyAgICAgICAgICAgIHJlYWRlci0+c3RhdGUgPSBYTUxfVEVYVFJFQURFUl9CQUNLVFJBQ0s7CisgICAgICAgICAgICBnb3RvIGZvdW5kX25vZGU7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBpZiAocmVhZGVyLT5ub2RlLT5uZXh0ICE9IE5VTEwpIHsKKyAgICAgICAgcmVhZGVyLT5ub2RlID0gcmVhZGVyLT5ub2RlLT5uZXh0OworICAgICAgICByZWFkZXItPnN0YXRlID0gWE1MX1RFWFRSRUFERVJfU1RBUlQ7CisgICAgICAgIGdvdG8gZm91bmRfbm9kZTsKKyAgICB9CisKKyAgICBpZiAocmVhZGVyLT5ub2RlLT5wYXJlbnQgIT0gTlVMTCkgeworICAgICAgICBpZiAoKHJlYWRlci0+bm9kZS0+cGFyZW50LT50eXBlID09IFhNTF9ET0NVTUVOVF9OT0RFKSB8fAorCSAgICAocmVhZGVyLT5ub2RlLT5wYXJlbnQtPnR5cGUgPT0gWE1MX0hUTUxfRE9DVU1FTlRfTk9ERSkpIHsKKyAgICAgICAgICAgIHJlYWRlci0+c3RhdGUgPSBYTUxfVEVYVFJFQURFUl9FTkQ7CisgICAgICAgICAgICByZXR1cm4oMCk7CisgICAgICAgIH0KKworICAgICAgICByZWFkZXItPm5vZGUgPSByZWFkZXItPm5vZGUtPnBhcmVudDsKKyAgICAgICAgcmVhZGVyLT5kZXB0aC0tOworICAgICAgICByZWFkZXItPnN0YXRlID0gWE1MX1RFWFRSRUFERVJfQkFDS1RSQUNLOworICAgICAgICBnb3RvIGZvdW5kX25vZGU7CisgICAgfQorCisgICAgcmVhZGVyLT5zdGF0ZSA9IFhNTF9URVhUUkVBREVSX0VORDsKKworZm91bmRfbm9kZToKKyAgICBpZiAoKHJlYWRlci0+bm9kZS0+dHlwZSA9PSBYTUxfWElOQ0xVREVfU1RBUlQpIHx8CisgICAgICAgIChyZWFkZXItPm5vZGUtPnR5cGUgPT0gWE1MX1hJTkNMVURFX0VORCkpCisJZ290byBuZXh0X25vZGU7CisKKyAgICByZXR1cm4oMSk7Cit9CisKKy8qKgorICogeG1sVGV4dFJlYWRlck5leHRTaWJsaW5nOgorICogQHJlYWRlcjogIHRoZSB4bWxUZXh0UmVhZGVyUHRyIHVzZWQKKyAqCisgKiBTa2lwIHRvIHRoZSBub2RlIGZvbGxvd2luZyB0aGUgY3VycmVudCBvbmUgaW4gZG9jdW1lbnQgb3JkZXIgd2hpbGUKKyAqIGF2b2lkaW5nIHRoZSBzdWJ0cmVlIGlmIGFueS4KKyAqIEN1cnJlbnRseSBpbXBsZW1lbnRlZCBvbmx5IGZvciBSZWFkZXJzIGJ1aWx0IG9uIGEgZG9jdW1lbnQKKyAqCisgKiBSZXR1cm5zIDEgaWYgdGhlIG5vZGUgd2FzIHJlYWQgc3VjY2Vzc2Z1bGx5LCAwIGlmIHRoZXJlIGlzIG5vIG1vcmUKKyAqICAgICAgICAgIG5vZGVzIHRvIHJlYWQsIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworaW50Cit4bWxUZXh0UmVhZGVyTmV4dFNpYmxpbmcoeG1sVGV4dFJlYWRlclB0ciByZWFkZXIpIHsKKyAgICBpZiAocmVhZGVyID09IE5VTEwpCisgICAgICAgIHJldHVybigtMSk7CisgICAgaWYgKHJlYWRlci0+ZG9jID09IE5VTEwpIHsKKyAgICAgICAgLyogVE9ETyAqLworCXJldHVybigtMSk7CisgICAgfQorCisgICAgaWYgKHJlYWRlci0+c3RhdGUgPT0gWE1MX1RFWFRSRUFERVJfRU5EKQorICAgICAgICByZXR1cm4oMCk7CisKKyAgICBpZiAocmVhZGVyLT5ub2RlID09IE5VTEwpCisgICAgICAgIHJldHVybih4bWxUZXh0UmVhZGVyTmV4dFRyZWUocmVhZGVyKSk7CisKKyAgICBpZiAocmVhZGVyLT5ub2RlLT5uZXh0ICE9IE5VTEwpIHsKKyAgICAgICAgcmVhZGVyLT5ub2RlID0gcmVhZGVyLT5ub2RlLT5uZXh0OworICAgICAgICByZWFkZXItPnN0YXRlID0gWE1MX1RFWFRSRUFERVJfU1RBUlQ7CisgICAgICAgIHJldHVybigxKTsKKyAgICB9CisKKyAgICByZXR1cm4oMCk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCQlDb25zdHJ1Y3RvciBhbmQgZGVzdHJ1Y3RvcnMJCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKioKKyAqIHhtbE5ld1RleHRSZWFkZXI6CisgKiBAaW5wdXQ6IHRoZSB4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciB1c2VkIHRvIHJlYWQgZGF0YQorICogQFVSSTogdGhlIFVSSSBpbmZvcm1hdGlvbiBmb3IgdGhlIHNvdXJjZSBpZiBhdmFpbGFibGUKKyAqCisgKiBDcmVhdGUgYW4geG1sVGV4dFJlYWRlciBzdHJ1Y3R1cmUgZmVkIHdpdGggQGlucHV0CisgKgorICogUmV0dXJucyB0aGUgbmV3IHhtbFRleHRSZWFkZXJQdHIgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3htbFRleHRSZWFkZXJQdHIKK3htbE5ld1RleHRSZWFkZXIoeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIgaW5wdXQsIGNvbnN0IGNoYXIgKlVSSSkgeworICAgIHhtbFRleHRSZWFkZXJQdHIgcmV0OworCisgICAgaWYgKGlucHV0ID09IE5VTEwpCisJcmV0dXJuKE5VTEwpOworICAgIHJldCA9IHhtbE1hbGxvYyhzaXplb2YoeG1sVGV4dFJlYWRlcikpOworICAgIGlmIChyZXQgPT0gTlVMTCkgeworICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJInhtbE5ld1RleHRSZWFkZXIgOiBtYWxsb2MgZmFpbGVkXG4iKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIG1lbXNldChyZXQsIDAsIHNpemVvZih4bWxUZXh0UmVhZGVyKSk7CisgICAgcmV0LT5kb2MgPSBOVUxMOworICAgIHJldC0+ZW50VGFiID0gTlVMTDsKKyAgICByZXQtPmVudE1heCA9IDA7CisgICAgcmV0LT5lbnROciA9IDA7CisgICAgcmV0LT5pbnB1dCA9IGlucHV0OworICAgIHJldC0+YnVmZmVyID0geG1sQnVmQ3JlYXRlU2l6ZSgxMDApOworICAgIGlmIChyZXQtPmJ1ZmZlciA9PSBOVUxMKSB7CisgICAgICAgIHhtbEZyZWUocmV0KTsKKyAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSJ4bWxOZXdUZXh0UmVhZGVyIDogbWFsbG9jIGZhaWxlZFxuIik7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICByZXQtPnNheCA9ICh4bWxTQVhIYW5kbGVyICopIHhtbE1hbGxvYyhzaXplb2YoeG1sU0FYSGFuZGxlcikpOworICAgIGlmIChyZXQtPnNheCA9PSBOVUxMKSB7CisJeG1sQnVmRnJlZShyZXQtPmJ1ZmZlcik7CisJeG1sRnJlZShyZXQpOworICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJInhtbE5ld1RleHRSZWFkZXIgOiBtYWxsb2MgZmFpbGVkXG4iKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIHhtbFNBWFZlcnNpb24ocmV0LT5zYXgsIDIpOworICAgIHJldC0+c3RhcnRFbGVtZW50ID0gcmV0LT5zYXgtPnN0YXJ0RWxlbWVudDsKKyAgICByZXQtPnNheC0+c3RhcnRFbGVtZW50ID0geG1sVGV4dFJlYWRlclN0YXJ0RWxlbWVudDsKKyAgICByZXQtPmVuZEVsZW1lbnQgPSByZXQtPnNheC0+ZW5kRWxlbWVudDsKKyAgICByZXQtPnNheC0+ZW5kRWxlbWVudCA9IHhtbFRleHRSZWFkZXJFbmRFbGVtZW50OworI2lmZGVmIExJQlhNTF9TQVgxX0VOQUJMRUQKKyAgICBpZiAocmV0LT5zYXgtPmluaXRpYWxpemVkID09IFhNTF9TQVgyX01BR0lDKSB7CisjZW5kaWYgLyogTElCWE1MX1NBWDFfRU5BQkxFRCAqLworCXJldC0+c3RhcnRFbGVtZW50TnMgPSByZXQtPnNheC0+c3RhcnRFbGVtZW50TnM7CisJcmV0LT5zYXgtPnN0YXJ0RWxlbWVudE5zID0geG1sVGV4dFJlYWRlclN0YXJ0RWxlbWVudE5zOworCXJldC0+ZW5kRWxlbWVudE5zID0gcmV0LT5zYXgtPmVuZEVsZW1lbnROczsKKwlyZXQtPnNheC0+ZW5kRWxlbWVudE5zID0geG1sVGV4dFJlYWRlckVuZEVsZW1lbnROczsKKyNpZmRlZiBMSUJYTUxfU0FYMV9FTkFCTEVECisgICAgfSBlbHNlIHsKKwlyZXQtPnN0YXJ0RWxlbWVudE5zID0gTlVMTDsKKwlyZXQtPmVuZEVsZW1lbnROcyA9IE5VTEw7CisgICAgfQorI2VuZGlmIC8qIExJQlhNTF9TQVgxX0VOQUJMRUQgKi8KKyAgICByZXQtPmNoYXJhY3RlcnMgPSByZXQtPnNheC0+Y2hhcmFjdGVyczsKKyAgICByZXQtPnNheC0+Y2hhcmFjdGVycyA9IHhtbFRleHRSZWFkZXJDaGFyYWN0ZXJzOworICAgIHJldC0+c2F4LT5pZ25vcmFibGVXaGl0ZXNwYWNlID0geG1sVGV4dFJlYWRlckNoYXJhY3RlcnM7CisgICAgcmV0LT5jZGF0YUJsb2NrID0gcmV0LT5zYXgtPmNkYXRhQmxvY2s7CisgICAgcmV0LT5zYXgtPmNkYXRhQmxvY2sgPSB4bWxUZXh0UmVhZGVyQ0RhdGFCbG9jazsKKworICAgIHJldC0+bW9kZSA9IFhNTF9URVhUUkVBREVSX01PREVfSU5JVElBTDsKKyAgICByZXQtPm5vZGUgPSBOVUxMOworICAgIHJldC0+Y3Vybm9kZSA9IE5VTEw7CisgICAgaWYgKHhtbEJ1ZlVzZShyZXQtPmlucHV0LT5idWZmZXIpIDwgNCkgeworCXhtbFBhcnNlcklucHV0QnVmZmVyUmVhZChpbnB1dCwgNCk7CisgICAgfQorICAgIGlmICh4bWxCdWZVc2UocmV0LT5pbnB1dC0+YnVmZmVyKSA+PSA0KSB7CisJcmV0LT5jdHh0ID0geG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQocmV0LT5zYXgsIE5VTEwsCisJCQkgICAgIChjb25zdCBjaGFyICopIHhtbEJ1ZkNvbnRlbnQocmV0LT5pbnB1dC0+YnVmZmVyKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNCwgVVJJKTsKKwlyZXQtPmJhc2UgPSAwOworCXJldC0+Y3VyID0gNDsKKyAgICB9IGVsc2UgeworCXJldC0+Y3R4dCA9IHhtbENyZWF0ZVB1c2hQYXJzZXJDdHh0KHJldC0+c2F4LCBOVUxMLCBOVUxMLCAwLCBVUkkpOworCXJldC0+YmFzZSA9IDA7CisJcmV0LT5jdXIgPSAwOworICAgIH0KKworICAgIGlmIChyZXQtPmN0eHQgPT0gTlVMTCkgeworICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJInhtbE5ld1RleHRSZWFkZXIgOiBtYWxsb2MgZmFpbGVkXG4iKTsKKwl4bWxCdWZGcmVlKHJldC0+YnVmZmVyKTsKKwl4bWxGcmVlKHJldC0+c2F4KTsKKwl4bWxGcmVlKHJldCk7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICByZXQtPmN0eHQtPnBhcnNlTW9kZSA9IFhNTF9QQVJTRV9SRUFERVI7CisgICAgcmV0LT5jdHh0LT5fcHJpdmF0ZSA9IHJldDsKKyAgICByZXQtPmN0eHQtPmxpbmVudW1iZXJzID0gMTsKKyAgICByZXQtPmN0eHQtPmRpY3ROYW1lcyA9IDE7CisgICAgcmV0LT5hbGxvY3MgPSBYTUxfVEVYVFJFQURFUl9DVFhUOworICAgIC8qCisgICAgICogdXNlIHRoZSBwYXJzZXIgZGljdGlvbm5hcnkgdG8gYWxsb2NhdGUgYWxsIGVsZW1lbnRzIGFuZCBhdHRyaWJ1dGVzIG5hbWVzCisgICAgICovCisgICAgcmV0LT5jdHh0LT5kb2NkaWN0ID0gMTsKKyAgICByZXQtPmRpY3QgPSByZXQtPmN0eHQtPmRpY3Q7CisjaWZkZWYgTElCWE1MX1hJTkNMVURFX0VOQUJMRUQKKyAgICByZXQtPnhpbmNsdWRlID0gMDsKKyNlbmRpZgorI2lmZGVmIExJQlhNTF9QQVRURVJOX0VOQUJMRUQKKyAgICByZXQtPnBhdHRlcm5NYXggPSAwOworICAgIHJldC0+cGF0dGVyblRhYiA9IE5VTEw7CisjZW5kaWYKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxOZXdUZXh0UmVhZGVyRmlsZW5hbWU6CisgKiBAVVJJOiB0aGUgVVJJIG9mIHRoZSByZXNvdXJjZSB0byBwcm9jZXNzCisgKgorICogQ3JlYXRlIGFuIHhtbFRleHRSZWFkZXIgc3RydWN0dXJlIGZlZCB3aXRoIHRoZSByZXNvdXJjZSBhdCBAVVJJCisgKgorICogUmV0dXJucyB0aGUgbmV3IHhtbFRleHRSZWFkZXJQdHIgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3htbFRleHRSZWFkZXJQdHIKK3htbE5ld1RleHRSZWFkZXJGaWxlbmFtZShjb25zdCBjaGFyICpVUkkpIHsKKyAgICB4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciBpbnB1dDsKKyAgICB4bWxUZXh0UmVhZGVyUHRyIHJldDsKKyAgICBjaGFyICpkaXJlY3RvcnkgPSBOVUxMOworCisgICAgaW5wdXQgPSB4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lKFVSSSwgWE1MX0NIQVJfRU5DT0RJTkdfTk9ORSk7CisgICAgaWYgKGlucHV0ID09IE5VTEwpCisJcmV0dXJuKE5VTEwpOworICAgIHJldCA9IHhtbE5ld1RleHRSZWFkZXIoaW5wdXQsIFVSSSk7CisgICAgaWYgKHJldCA9PSBOVUxMKSB7CisJeG1sRnJlZVBhcnNlcklucHV0QnVmZmVyKGlucHV0KTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIHJldC0+YWxsb2NzIHw9IFhNTF9URVhUUkVBREVSX0lOUFVUOworICAgIGlmIChyZXQtPmN0eHQtPmRpcmVjdG9yeSA9PSBOVUxMKQorICAgICAgICBkaXJlY3RvcnkgPSB4bWxQYXJzZXJHZXREaXJlY3RvcnkoVVJJKTsKKyAgICBpZiAoKHJldC0+Y3R4dC0+ZGlyZWN0b3J5ID09IE5VTEwpICYmIChkaXJlY3RvcnkgIT0gTlVMTCkpCisgICAgICAgIHJldC0+Y3R4dC0+ZGlyZWN0b3J5ID0gKGNoYXIgKikgeG1sU3RyZHVwKCh4bWxDaGFyICopIGRpcmVjdG9yeSk7CisgICAgaWYgKGRpcmVjdG9yeSAhPSBOVUxMKQorCXhtbEZyZWUoZGlyZWN0b3J5KTsKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxGcmVlVGV4dFJlYWRlcjoKKyAqIEByZWFkZXI6ICB0aGUgeG1sVGV4dFJlYWRlclB0cgorICoKKyAqIERlYWxsb2NhdGUgYWxsIHRoZSByZXNvdXJjZXMgYXNzb2NpYXRlZCB0byB0aGUgcmVhZGVyCisgKi8KK3ZvaWQKK3htbEZyZWVUZXh0UmVhZGVyKHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyKSB7CisgICAgaWYgKHJlYWRlciA9PSBOVUxMKQorCXJldHVybjsKKyNpZmRlZiBMSUJYTUxfU0NIRU1BU19FTkFCTEVECisgICAgaWYgKHJlYWRlci0+cm5nU2NoZW1hcyAhPSBOVUxMKSB7CisJeG1sUmVsYXhOR0ZyZWUocmVhZGVyLT5ybmdTY2hlbWFzKTsKKwlyZWFkZXItPnJuZ1NjaGVtYXMgPSBOVUxMOworICAgIH0KKyAgICBpZiAocmVhZGVyLT5ybmdWYWxpZEN0eHQgIT0gTlVMTCkgeworCWlmICghIHJlYWRlci0+cm5nUHJlc2VydmVDdHh0KQorCSAgICB4bWxSZWxheE5HRnJlZVZhbGlkQ3R4dChyZWFkZXItPnJuZ1ZhbGlkQ3R4dCk7CisJcmVhZGVyLT5ybmdWYWxpZEN0eHQgPSBOVUxMOworICAgIH0KKyAgICBpZiAocmVhZGVyLT54c2RQbHVnICE9IE5VTEwpIHsKKwl4bWxTY2hlbWFTQVhVbnBsdWcocmVhZGVyLT54c2RQbHVnKTsKKwlyZWFkZXItPnhzZFBsdWcgPSBOVUxMOworICAgIH0KKyAgICBpZiAocmVhZGVyLT54c2RWYWxpZEN0eHQgIT0gTlVMTCkgeworCWlmICghIHJlYWRlci0+eHNkUHJlc2VydmVDdHh0KQorCSAgICB4bWxTY2hlbWFGcmVlVmFsaWRDdHh0KHJlYWRlci0+eHNkVmFsaWRDdHh0KTsKKwlyZWFkZXItPnhzZFZhbGlkQ3R4dCA9IE5VTEw7CisgICAgfQorICAgIGlmIChyZWFkZXItPnhzZFNjaGVtYXMgIT0gTlVMTCkgeworCXhtbFNjaGVtYUZyZWUocmVhZGVyLT54c2RTY2hlbWFzKTsKKwlyZWFkZXItPnhzZFNjaGVtYXMgPSBOVUxMOworICAgIH0KKyNlbmRpZgorI2lmZGVmIExJQlhNTF9YSU5DTFVERV9FTkFCTEVECisgICAgaWYgKHJlYWRlci0+eGluY2N0eHQgIT0gTlVMTCkKKwl4bWxYSW5jbHVkZUZyZWVDb250ZXh0KHJlYWRlci0+eGluY2N0eHQpOworI2VuZGlmCisjaWZkZWYgTElCWE1MX1BBVFRFUk5fRU5BQkxFRAorICAgIGlmIChyZWFkZXItPnBhdHRlcm5UYWIgIT0gTlVMTCkgeworICAgICAgICBpbnQgaTsKKwlmb3IgKGkgPSAwO2kgPCByZWFkZXItPnBhdHRlcm5OcjtpKyspIHsKKwkgICAgaWYgKHJlYWRlci0+cGF0dGVyblRhYltpXSAhPSBOVUxMKQorCSAgICAgICAgeG1sRnJlZVBhdHRlcm4ocmVhZGVyLT5wYXR0ZXJuVGFiW2ldKTsKKwl9CisJeG1sRnJlZShyZWFkZXItPnBhdHRlcm5UYWIpOworICAgIH0KKyNlbmRpZgorICAgIGlmIChyZWFkZXItPmZha2V0ZXh0ICE9IE5VTEwpIHsKKwl4bWxGcmVlTm9kZShyZWFkZXItPmZha2V0ZXh0KTsKKyAgICB9CisgICAgaWYgKHJlYWRlci0+Y3R4dCAhPSBOVUxMKSB7CisgICAgICAgIGlmIChyZWFkZXItPmRpY3QgPT0gcmVhZGVyLT5jdHh0LT5kaWN0KQorCSAgICByZWFkZXItPmRpY3QgPSBOVUxMOworCWlmIChyZWFkZXItPmN0eHQtPm15RG9jICE9IE5VTEwpIHsKKwkgICAgaWYgKHJlYWRlci0+cHJlc2VydmUgPT0gMCkKKwkJeG1sVGV4dFJlYWRlckZyZWVEb2MocmVhZGVyLCByZWFkZXItPmN0eHQtPm15RG9jKTsKKwkgICAgcmVhZGVyLT5jdHh0LT5teURvYyA9IE5VTEw7CisJfQorCWlmICgocmVhZGVyLT5jdHh0LT52Y3R4dC52c3RhdGVUYWIgIT0gTlVMTCkgJiYKKwkgICAgKHJlYWRlci0+Y3R4dC0+dmN0eHQudnN0YXRlTWF4ID4gMCkpeworCSAgICB4bWxGcmVlKHJlYWRlci0+Y3R4dC0+dmN0eHQudnN0YXRlVGFiKTsKKwkgICAgcmVhZGVyLT5jdHh0LT52Y3R4dC52c3RhdGVUYWIgPSBOVUxMOworCSAgICByZWFkZXItPmN0eHQtPnZjdHh0LnZzdGF0ZU1heCA9IDA7CisJfQorCWlmIChyZWFkZXItPmFsbG9jcyAmIFhNTF9URVhUUkVBREVSX0NUWFQpCisJICAgIHhtbEZyZWVQYXJzZXJDdHh0KHJlYWRlci0+Y3R4dCk7CisgICAgfQorICAgIGlmIChyZWFkZXItPnNheCAhPSBOVUxMKQorCXhtbEZyZWUocmVhZGVyLT5zYXgpOworICAgIGlmICgocmVhZGVyLT5pbnB1dCAhPSBOVUxMKSAgJiYgKHJlYWRlci0+YWxsb2NzICYgWE1MX1RFWFRSRUFERVJfSU5QVVQpKQorCXhtbEZyZWVQYXJzZXJJbnB1dEJ1ZmZlcihyZWFkZXItPmlucHV0KTsKKyAgICBpZiAocmVhZGVyLT5idWZmZXIgIT0gTlVMTCkKKyAgICAgICAgeG1sQnVmRnJlZShyZWFkZXItPmJ1ZmZlcik7CisgICAgaWYgKHJlYWRlci0+ZW50VGFiICE9IE5VTEwpCisJeG1sRnJlZShyZWFkZXItPmVudFRhYik7CisgICAgaWYgKHJlYWRlci0+ZGljdCAhPSBOVUxMKQorICAgICAgICB4bWxEaWN0RnJlZShyZWFkZXItPmRpY3QpOworICAgIHhtbEZyZWUocmVhZGVyKTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJCU1ldGhvZHMgZm9yIFhtbFRleHRSZWFkZXIJCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKioKKyAqIHhtbFRleHRSZWFkZXJDbG9zZToKKyAqIEByZWFkZXI6ICB0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkCisgKgorICogVGhpcyBtZXRob2QgcmVsZWFzZXMgYW55IHJlc291cmNlcyBhbGxvY2F0ZWQgYnkgdGhlIGN1cnJlbnQgaW5zdGFuY2UKKyAqIGNoYW5nZXMgdGhlIHN0YXRlIHRvIENsb3NlZCBhbmQgY2xvc2UgYW55IHVuZGVybHlpbmcgaW5wdXQuCisgKgorICogUmV0dXJucyAwIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworaW50Cit4bWxUZXh0UmVhZGVyQ2xvc2UoeG1sVGV4dFJlYWRlclB0ciByZWFkZXIpIHsKKyAgICBpZiAocmVhZGVyID09IE5VTEwpCisJcmV0dXJuKC0xKTsKKyAgICByZWFkZXItPm5vZGUgPSBOVUxMOworICAgIHJlYWRlci0+Y3Vybm9kZSA9IE5VTEw7CisgICAgcmVhZGVyLT5tb2RlID0gWE1MX1RFWFRSRUFERVJfTU9ERV9DTE9TRUQ7CisgICAgaWYgKHJlYWRlci0+Y3R4dCAhPSBOVUxMKSB7CisJeG1sU3RvcFBhcnNlcihyZWFkZXItPmN0eHQpOworCWlmIChyZWFkZXItPmN0eHQtPm15RG9jICE9IE5VTEwpIHsKKwkgICAgaWYgKHJlYWRlci0+cHJlc2VydmUgPT0gMCkKKwkJeG1sVGV4dFJlYWRlckZyZWVEb2MocmVhZGVyLCByZWFkZXItPmN0eHQtPm15RG9jKTsKKwkgICAgcmVhZGVyLT5jdHh0LT5teURvYyA9IE5VTEw7CisJfQorICAgIH0KKyAgICBpZiAoKHJlYWRlci0+aW5wdXQgIT0gTlVMTCkgICYmIChyZWFkZXItPmFsbG9jcyAmIFhNTF9URVhUUkVBREVSX0lOUFVUKSkgeworCXhtbEZyZWVQYXJzZXJJbnB1dEJ1ZmZlcihyZWFkZXItPmlucHV0KTsKKwlyZWFkZXItPmFsbG9jcyAtPSBYTUxfVEVYVFJFQURFUl9JTlBVVDsKKyAgICB9CisgICAgcmV0dXJuKDApOworfQorCisvKioKKyAqIHhtbFRleHRSZWFkZXJHZXRBdHRyaWJ1dGVObzoKKyAqIEByZWFkZXI6ICB0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkCisgKiBAbm86IHRoZSB6ZXJvLWJhc2VkIGluZGV4IG9mIHRoZSBhdHRyaWJ1dGUgcmVsYXRpdmUgdG8gdGhlIGNvbnRhaW5pbmcgZWxlbWVudAorICoKKyAqIFByb3ZpZGVzIHRoZSB2YWx1ZSBvZiB0aGUgYXR0cmlidXRlIHdpdGggdGhlIHNwZWNpZmllZCBpbmRleCByZWxhdGl2ZQorICogdG8gdGhlIGNvbnRhaW5pbmcgZWxlbWVudC4KKyAqCisgKiBSZXR1cm5zIGEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIHZhbHVlIG9mIHRoZSBzcGVjaWZpZWQgYXR0cmlidXRlLCBvciBOVUxMCisgKiAgICBpbiBjYXNlIG9mIGVycm9yLiBUaGUgc3RyaW5nIG11c3QgYmUgZGVhbGxvY2F0ZWQgYnkgdGhlIGNhbGxlci4KKyAqLworeG1sQ2hhciAqCit4bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlTm8oeG1sVGV4dFJlYWRlclB0ciByZWFkZXIsIGludCBubykgeworICAgIHhtbENoYXIgKnJldDsKKyAgICBpbnQgaTsKKyAgICB4bWxBdHRyUHRyIGN1cjsKKyAgICB4bWxOc1B0ciBuczsKKworICAgIGlmIChyZWFkZXIgPT0gTlVMTCkKKwlyZXR1cm4oTlVMTCk7CisgICAgaWYgKHJlYWRlci0+bm9kZSA9PSBOVUxMKQorCXJldHVybihOVUxMKTsKKyAgICBpZiAocmVhZGVyLT5jdXJub2RlICE9IE5VTEwpCisJcmV0dXJuKE5VTEwpOworICAgIC8qIFRPRE86IGhhbmRsZSB0aGUgeG1sRGVjbCAqLworICAgIGlmIChyZWFkZXItPm5vZGUtPnR5cGUgIT0gWE1MX0VMRU1FTlRfTk9ERSkKKwlyZXR1cm4oTlVMTCk7CisKKyAgICBucyA9IHJlYWRlci0+bm9kZS0+bnNEZWY7CisgICAgZm9yIChpID0gMDsoaSA8IG5vKSAmJiAobnMgIT0gTlVMTCk7aSsrKSB7CisJbnMgPSBucy0+bmV4dDsKKyAgICB9CisgICAgaWYgKG5zICE9IE5VTEwpCisJcmV0dXJuKHhtbFN0cmR1cChucy0+aHJlZikpOworCisgICAgY3VyID0gcmVhZGVyLT5ub2RlLT5wcm9wZXJ0aWVzOworICAgIGlmIChjdXIgPT0gTlVMTCkKKwlyZXR1cm4oTlVMTCk7CisgICAgZm9yICg7aSA8IG5vO2krKykgeworCWN1ciA9IGN1ci0+bmV4dDsKKwlpZiAoY3VyID09IE5VTEwpCisJICAgIHJldHVybihOVUxMKTsKKyAgICB9CisgICAgLyogVE9ETyB3YWxrIHRoZSBEVEQgaWYgcHJlc2VudCAqLworCisgICAgcmV0ID0geG1sTm9kZUxpc3RHZXRTdHJpbmcocmVhZGVyLT5ub2RlLT5kb2MsIGN1ci0+Y2hpbGRyZW4sIDEpOworICAgIGlmIChyZXQgPT0gTlVMTCkgcmV0dXJuKHhtbFN0cmR1cCgoeG1sQ2hhciAqKSIiKSk7CisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogeG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZToKKyAqIEByZWFkZXI6ICB0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkCisgKiBAbmFtZTogdGhlIHF1YWxpZmllZCBuYW1lIG9mIHRoZSBhdHRyaWJ1dGUuCisgKgorICogUHJvdmlkZXMgdGhlIHZhbHVlIG9mIHRoZSBhdHRyaWJ1dGUgd2l0aCB0aGUgc3BlY2lmaWVkIHF1YWxpZmllZCBuYW1lLgorICoKKyAqIFJldHVybnMgYSBzdHJpbmcgY29udGFpbmluZyB0aGUgdmFsdWUgb2YgdGhlIHNwZWNpZmllZCBhdHRyaWJ1dGUsIG9yIE5VTEwKKyAqICAgIGluIGNhc2Ugb2YgZXJyb3IuIFRoZSBzdHJpbmcgbXVzdCBiZSBkZWFsbG9jYXRlZCBieSB0aGUgY2FsbGVyLgorICovCit4bWxDaGFyICoKK3htbFRleHRSZWFkZXJHZXRBdHRyaWJ1dGUoeG1sVGV4dFJlYWRlclB0ciByZWFkZXIsIGNvbnN0IHhtbENoYXIgKm5hbWUpIHsKKyAgICB4bWxDaGFyICpwcmVmaXggPSBOVUxMOworICAgIHhtbENoYXIgKmxvY2FsbmFtZTsKKyAgICB4bWxOc1B0ciBuczsKKyAgICB4bWxDaGFyICpyZXQgPSBOVUxMOworCisgICAgaWYgKChyZWFkZXIgPT0gTlVMTCkgfHwgKG5hbWUgPT0gTlVMTCkpCisJcmV0dXJuKE5VTEwpOworICAgIGlmIChyZWFkZXItPm5vZGUgPT0gTlVMTCkKKwlyZXR1cm4oTlVMTCk7CisgICAgaWYgKHJlYWRlci0+Y3Vybm9kZSAhPSBOVUxMKQorCXJldHVybihOVUxMKTsKKworICAgIC8qIFRPRE86IGhhbmRsZSB0aGUgeG1sRGVjbCAqLworICAgIGlmIChyZWFkZXItPm5vZGUtPnR5cGUgIT0gWE1MX0VMRU1FTlRfTk9ERSkKKwlyZXR1cm4oTlVMTCk7CisKKyAgICBsb2NhbG5hbWUgPSB4bWxTcGxpdFFOYW1lMihuYW1lLCAmcHJlZml4KTsKKyAgICBpZiAobG9jYWxuYW1lID09IE5VTEwpIHsKKwkJLyoKKwkJICogTmFtZXNwYWNlIGRlZmF1bHQgZGVjbAorCQkgKi8KKwkJaWYgKHhtbFN0ckVxdWFsKG5hbWUsIEJBRF9DQVNUICJ4bWxucyIpKSB7CisJCQlucyA9IHJlYWRlci0+bm9kZS0+bnNEZWY7CisJCQl3aGlsZSAobnMgIT0gTlVMTCkgeworCQkJCWlmIChucy0+cHJlZml4ID09IE5VTEwpIHsKKwkJCQkJcmV0dXJuKHhtbFN0cmR1cChucy0+aHJlZikpOworCQkJCX0KKwkJCQlucyA9IG5zLT5uZXh0OworCQkJfQorCQkJcmV0dXJuIE5VTEw7CisJCX0KKwkJcmV0dXJuKHhtbEdldE5vTnNQcm9wKHJlYWRlci0+bm9kZSwgbmFtZSkpOworCX0KKworICAgIC8qCisgICAgICogTmFtZXNwYWNlIGRlZmF1bHQgZGVjbAorICAgICAqLworICAgIGlmICh4bWxTdHJFcXVhbChwcmVmaXgsIEJBRF9DQVNUICJ4bWxucyIpKSB7CisJCW5zID0gcmVhZGVyLT5ub2RlLT5uc0RlZjsKKwkJd2hpbGUgKG5zICE9IE5VTEwpIHsKKwkJCWlmICgobnMtPnByZWZpeCAhPSBOVUxMKSAmJiAoeG1sU3RyRXF1YWwobnMtPnByZWZpeCwgbG9jYWxuYW1lKSkpIHsKKwkJCQlyZXQgPSB4bWxTdHJkdXAobnMtPmhyZWYpOworCQkJCWJyZWFrOworCQkJfQorCQkJbnMgPSBucy0+bmV4dDsKKwkJfQorICAgIH0gZWxzZSB7CisJCW5zID0geG1sU2VhcmNoTnMocmVhZGVyLT5ub2RlLT5kb2MsIHJlYWRlci0+bm9kZSwgcHJlZml4KTsKKwkJaWYgKG5zICE9IE5VTEwpCisJCQlyZXQgPSB4bWxHZXROc1Byb3AocmVhZGVyLT5ub2RlLCBsb2NhbG5hbWUsIG5zLT5ocmVmKTsKKwl9CisKKyAgICB4bWxGcmVlKGxvY2FsbmFtZSk7CisgICAgaWYgKHByZWZpeCAhPSBOVUxMKQorICAgICAgICB4bWxGcmVlKHByZWZpeCk7CisgICAgcmV0dXJuKHJldCk7Cit9CisKKworLyoqCisgKiB4bWxUZXh0UmVhZGVyR2V0QXR0cmlidXRlTnM6CisgKiBAcmVhZGVyOiAgdGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZAorICogQGxvY2FsTmFtZTogdGhlIGxvY2FsIG5hbWUgb2YgdGhlIGF0dHJpYnV0ZS4KKyAqIEBuYW1lc3BhY2VVUkk6IHRoZSBuYW1lc3BhY2UgVVJJIG9mIHRoZSBhdHRyaWJ1dGUuCisgKgorICogUHJvdmlkZXMgdGhlIHZhbHVlIG9mIHRoZSBzcGVjaWZpZWQgYXR0cmlidXRlCisgKgorICogUmV0dXJucyBhIHN0cmluZyBjb250YWluaW5nIHRoZSB2YWx1ZSBvZiB0aGUgc3BlY2lmaWVkIGF0dHJpYnV0ZSwgb3IgTlVMTAorICogICAgaW4gY2FzZSBvZiBlcnJvci4gVGhlIHN0cmluZyBtdXN0IGJlIGRlYWxsb2NhdGVkIGJ5IHRoZSBjYWxsZXIuCisgKi8KK3htbENoYXIgKgoreG1sVGV4dFJlYWRlckdldEF0dHJpYnV0ZU5zKHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyLCBjb25zdCB4bWxDaGFyICpsb2NhbE5hbWUsCisJCQkgICAgY29uc3QgeG1sQ2hhciAqbmFtZXNwYWNlVVJJKSB7CisgICAgeG1sQ2hhciAqcHJlZml4ID0gTlVMTDsKKyAgICB4bWxOc1B0ciBuczsKKworICAgIGlmICgocmVhZGVyID09IE5VTEwpIHx8IChsb2NhbE5hbWUgPT0gTlVMTCkpCisJcmV0dXJuKE5VTEwpOworICAgIGlmIChyZWFkZXItPm5vZGUgPT0gTlVMTCkKKwlyZXR1cm4oTlVMTCk7CisgICAgaWYgKHJlYWRlci0+Y3Vybm9kZSAhPSBOVUxMKQorCXJldHVybihOVUxMKTsKKworICAgIC8qIFRPRE86IGhhbmRsZSB0aGUgeG1sRGVjbCAqLworICAgIGlmIChyZWFkZXItPm5vZGUtPnR5cGUgIT0gWE1MX0VMRU1FTlRfTk9ERSkKKwlyZXR1cm4oTlVMTCk7CisKKyAgICBpZiAoeG1sU3RyRXF1YWwobmFtZXNwYWNlVVJJLCBCQURfQ0FTVCAiaHR0cDovL3d3dy53My5vcmcvMjAwMC94bWxucy8iKSkgeworCQlpZiAoISB4bWxTdHJFcXVhbChsb2NhbE5hbWUsIEJBRF9DQVNUICJ4bWxucyIpKSB7CisJCQlwcmVmaXggPSBCQURfQ0FTVCBsb2NhbE5hbWU7CisJCX0KKwkJbnMgPSByZWFkZXItPm5vZGUtPm5zRGVmOworCQl3aGlsZSAobnMgIT0gTlVMTCkgeworCQkJaWYgKChwcmVmaXggPT0gTlVMTCAmJiBucy0+cHJlZml4ID09IE5VTEwpIHx8CisJCQkJKChucy0+cHJlZml4ICE9IE5VTEwpICYmICh4bWxTdHJFcXVhbChucy0+cHJlZml4LCBsb2NhbE5hbWUpKSkpIHsKKwkJCQlyZXR1cm4geG1sU3RyZHVwKG5zLT5ocmVmKTsKKwkJCX0KKwkJCW5zID0gbnMtPm5leHQ7CisJCX0KKwkJcmV0dXJuIE5VTEw7CisgICAgfQorCisgICAgcmV0dXJuKHhtbEdldE5zUHJvcChyZWFkZXItPm5vZGUsIGxvY2FsTmFtZSwgbmFtZXNwYWNlVVJJKSk7Cit9CisKKy8qKgorICogeG1sVGV4dFJlYWRlckdldFJlbWFpbmRlcjoKKyAqIEByZWFkZXI6ICB0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkCisgKgorICogTWV0aG9kIHRvIGdldCB0aGUgcmVtYWluZGVyIG9mIHRoZSBidWZmZXJlZCBYTUwuIHRoaXMgbWV0aG9kIHN0b3BzIHRoZQorICogcGFyc2VyLCBzZXQgaXRzIHN0YXRlIHRvIEVuZCBPZiBGaWxlIGFuZCByZXR1cm4gdGhlIGlucHV0IHN0cmVhbSB3aXRoCisgKiB3aGF0IGlzIGxlZnQgdGhhdCB0aGUgcGFyc2VyIGRpZCBub3QgdXNlLgorICoKKyAqIFRoZSBpbXBsZW1lbnRhdGlvbiBpcyBub3QgZ29vZCwgdGhlIHBhcnNlciBjZXJ0YWlubHkgcHJvY2dyZXNzZWQgcGFzdAorICogd2hhdCdzIGxlZnQgaW4gcmVhZGVyLT5pbnB1dCwgYW5kIHRoZXJlIGlzIGFuIGFsbG9jYXRpb24gcHJvYmxlbS4gQmVzdAorICogd291bGQgYmUgdG8gcmV3cml0ZSBpdCBkaWZmZXJlbnRseS4KKyAqCisgKiBSZXR1cm5zIHRoZSB4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciBhdHRhY2hlZCB0byB0aGUgWE1MIG9yIE5VTEwKKyAqICAgIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK3htbFBhcnNlcklucHV0QnVmZmVyUHRyCit4bWxUZXh0UmVhZGVyR2V0UmVtYWluZGVyKHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyKSB7CisgICAgeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIgcmV0ID0gTlVMTDsKKworICAgIGlmIChyZWFkZXIgPT0gTlVMTCkKKwlyZXR1cm4oTlVMTCk7CisgICAgaWYgKHJlYWRlci0+bm9kZSA9PSBOVUxMKQorCXJldHVybihOVUxMKTsKKworICAgIHJlYWRlci0+bm9kZSA9IE5VTEw7CisgICAgcmVhZGVyLT5jdXJub2RlID0gTlVMTDsKKyAgICByZWFkZXItPm1vZGUgPSBYTUxfVEVYVFJFQURFUl9NT0RFX0VPRjsKKyAgICBpZiAocmVhZGVyLT5jdHh0ICE9IE5VTEwpIHsKKwl4bWxTdG9wUGFyc2VyKHJlYWRlci0+Y3R4dCk7CisJaWYgKHJlYWRlci0+Y3R4dC0+bXlEb2MgIT0gTlVMTCkgeworCSAgICBpZiAocmVhZGVyLT5wcmVzZXJ2ZSA9PSAwKQorCQl4bWxUZXh0UmVhZGVyRnJlZURvYyhyZWFkZXIsIHJlYWRlci0+Y3R4dC0+bXlEb2MpOworCSAgICByZWFkZXItPmN0eHQtPm15RG9jID0gTlVMTDsKKwl9CisgICAgfQorICAgIGlmIChyZWFkZXItPmFsbG9jcyAmIFhNTF9URVhUUkVBREVSX0lOUFVUKSB7CisJcmV0ID0gcmVhZGVyLT5pbnB1dDsKKwlyZWFkZXItPmlucHV0ID0gTlVMTDsKKwlyZWFkZXItPmFsbG9jcyAtPSBYTUxfVEVYVFJFQURFUl9JTlBVVDsKKyAgICB9IGVsc2UgeworCS8qCisJICogSHVtLCBvbmUgbWF5IG5lZWQgdG8gZHVwbGljYXRlIHRoZSBkYXRhIHN0cnVjdHVyZSBiZWNhdXNlCisJICogd2l0aG91dCByZWZlcmVuY2UgY291bnRpbmcgdGhlIGlucHV0IG1heSBiZSBmcmVlZCB0d2ljZToKKwkgKiAgIC0gYnkgdGhlIGxheWVyIHdoaWNoIGFsbG9jYXRlZCBpdC4KKwkgKiAgIC0gYnkgdGhlIGxheWVyIHRvIHdoaWNoIHdvdWxkIGhhdmUgYmVlbiByZXR1cm5lZCB0by4KKwkgKi8KKwlUT0RPCisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxUZXh0UmVhZGVyTG9va3VwTmFtZXNwYWNlOgorICogQHJlYWRlcjogIHRoZSB4bWxUZXh0UmVhZGVyUHRyIHVzZWQKKyAqIEBwcmVmaXg6IHRoZSBwcmVmaXggd2hvc2UgbmFtZXNwYWNlIFVSSSBpcyB0byBiZSByZXNvbHZlZC4gVG8gcmV0dXJuCisgKiAgICAgICAgICB0aGUgZGVmYXVsdCBuYW1lc3BhY2UsIHNwZWNpZnkgTlVMTAorICoKKyAqIFJlc29sdmVzIGEgbmFtZXNwYWNlIHByZWZpeCBpbiB0aGUgc2NvcGUgb2YgdGhlIGN1cnJlbnQgZWxlbWVudC4KKyAqCisgKiBSZXR1cm5zIGEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG5hbWVzcGFjZSBVUkkgdG8gd2hpY2ggdGhlIHByZWZpeCBtYXBzCisgKiAgICBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuIFRoZSBzdHJpbmcgbXVzdCBiZSBkZWFsbG9jYXRlZCBieSB0aGUgY2FsbGVyLgorICovCit4bWxDaGFyICoKK3htbFRleHRSZWFkZXJMb29rdXBOYW1lc3BhY2UoeG1sVGV4dFJlYWRlclB0ciByZWFkZXIsIGNvbnN0IHhtbENoYXIgKnByZWZpeCkgeworICAgIHhtbE5zUHRyIG5zOworCisgICAgaWYgKHJlYWRlciA9PSBOVUxMKQorCXJldHVybihOVUxMKTsKKyAgICBpZiAocmVhZGVyLT5ub2RlID09IE5VTEwpCisJcmV0dXJuKE5VTEwpOworCisgICAgbnMgPSB4bWxTZWFyY2hOcyhyZWFkZXItPm5vZGUtPmRvYywgcmVhZGVyLT5ub2RlLCBwcmVmaXgpOworICAgIGlmIChucyA9PSBOVUxMKQorCXJldHVybihOVUxMKTsKKyAgICByZXR1cm4oeG1sU3RyZHVwKG5zLT5ocmVmKSk7Cit9CisKKy8qKgorICogeG1sVGV4dFJlYWRlck1vdmVUb0F0dHJpYnV0ZU5vOgorICogQHJlYWRlcjogIHRoZSB4bWxUZXh0UmVhZGVyUHRyIHVzZWQKKyAqIEBubzogdGhlIHplcm8tYmFzZWQgaW5kZXggb2YgdGhlIGF0dHJpYnV0ZSByZWxhdGl2ZSB0byB0aGUgY29udGFpbmluZworICogICAgICBlbGVtZW50LgorICoKKyAqIE1vdmVzIHRoZSBwb3NpdGlvbiBvZiB0aGUgY3VycmVudCBpbnN0YW5jZSB0byB0aGUgYXR0cmlidXRlIHdpdGgKKyAqIHRoZSBzcGVjaWZpZWQgaW5kZXggcmVsYXRpdmUgdG8gdGhlIGNvbnRhaW5pbmcgZWxlbWVudC4KKyAqCisgKiBSZXR1cm5zIDEgaW4gY2FzZSBvZiBzdWNjZXNzLCAtMSBpbiBjYXNlIG9mIGVycm9yLCAwIGlmIG5vdCBmb3VuZAorICovCitpbnQKK3htbFRleHRSZWFkZXJNb3ZlVG9BdHRyaWJ1dGVObyh4bWxUZXh0UmVhZGVyUHRyIHJlYWRlciwgaW50IG5vKSB7CisgICAgaW50IGk7CisgICAgeG1sQXR0clB0ciBjdXI7CisgICAgeG1sTnNQdHIgbnM7CisKKyAgICBpZiAocmVhZGVyID09IE5VTEwpCisJcmV0dXJuKC0xKTsKKyAgICBpZiAocmVhZGVyLT5ub2RlID09IE5VTEwpCisJcmV0dXJuKC0xKTsKKyAgICAvKiBUT0RPOiBoYW5kbGUgdGhlIHhtbERlY2wgKi8KKyAgICBpZiAocmVhZGVyLT5ub2RlLT50eXBlICE9IFhNTF9FTEVNRU5UX05PREUpCisJcmV0dXJuKC0xKTsKKworICAgIHJlYWRlci0+Y3Vybm9kZSA9IE5VTEw7CisKKyAgICBucyA9IHJlYWRlci0+bm9kZS0+bnNEZWY7CisgICAgZm9yIChpID0gMDsoaSA8IG5vKSAmJiAobnMgIT0gTlVMTCk7aSsrKSB7CisJbnMgPSBucy0+bmV4dDsKKyAgICB9CisgICAgaWYgKG5zICE9IE5VTEwpIHsKKwlyZWFkZXItPmN1cm5vZGUgPSAoeG1sTm9kZVB0cikgbnM7CisJcmV0dXJuKDEpOworICAgIH0KKworICAgIGN1ciA9IHJlYWRlci0+bm9kZS0+cHJvcGVydGllczsKKyAgICBpZiAoY3VyID09IE5VTEwpCisJcmV0dXJuKDApOworICAgIGZvciAoO2kgPCBubztpKyspIHsKKwljdXIgPSBjdXItPm5leHQ7CisJaWYgKGN1ciA9PSBOVUxMKQorCSAgICByZXR1cm4oMCk7CisgICAgfQorICAgIC8qIFRPRE8gd2FsayB0aGUgRFREIGlmIHByZXNlbnQgKi8KKworICAgIHJlYWRlci0+Y3Vybm9kZSA9ICh4bWxOb2RlUHRyKSBjdXI7CisgICAgcmV0dXJuKDEpOworfQorCisvKioKKyAqIHhtbFRleHRSZWFkZXJNb3ZlVG9BdHRyaWJ1dGU6CisgKiBAcmVhZGVyOiAgdGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZAorICogQG5hbWU6IHRoZSBxdWFsaWZpZWQgbmFtZSBvZiB0aGUgYXR0cmlidXRlLgorICoKKyAqIE1vdmVzIHRoZSBwb3NpdGlvbiBvZiB0aGUgY3VycmVudCBpbnN0YW5jZSB0byB0aGUgYXR0cmlidXRlIHdpdGgKKyAqIHRoZSBzcGVjaWZpZWQgcXVhbGlmaWVkIG5hbWUuCisgKgorICogUmV0dXJucyAxIGluIGNhc2Ugb2Ygc3VjY2VzcywgLTEgaW4gY2FzZSBvZiBlcnJvciwgMCBpZiBub3QgZm91bmQKKyAqLworaW50Cit4bWxUZXh0UmVhZGVyTW92ZVRvQXR0cmlidXRlKHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyLCBjb25zdCB4bWxDaGFyICpuYW1lKSB7CisgICAgeG1sQ2hhciAqcHJlZml4ID0gTlVMTDsKKyAgICB4bWxDaGFyICpsb2NhbG5hbWU7CisgICAgeG1sTnNQdHIgbnM7CisgICAgeG1sQXR0clB0ciBwcm9wOworCisgICAgaWYgKChyZWFkZXIgPT0gTlVMTCkgfHwgKG5hbWUgPT0gTlVMTCkpCisJcmV0dXJuKC0xKTsKKyAgICBpZiAocmVhZGVyLT5ub2RlID09IE5VTEwpCisJcmV0dXJuKC0xKTsKKworICAgIC8qIFRPRE86IGhhbmRsZSB0aGUgeG1sRGVjbCAqLworICAgIGlmIChyZWFkZXItPm5vZGUtPnR5cGUgIT0gWE1MX0VMRU1FTlRfTk9ERSkKKwlyZXR1cm4oMCk7CisKKyAgICBsb2NhbG5hbWUgPSB4bWxTcGxpdFFOYW1lMihuYW1lLCAmcHJlZml4KTsKKyAgICBpZiAobG9jYWxuYW1lID09IE5VTEwpIHsKKwkvKgorCSAqIE5hbWVzcGFjZSBkZWZhdWx0IGRlY2wKKwkgKi8KKwlpZiAoeG1sU3RyRXF1YWwobmFtZSwgQkFEX0NBU1QgInhtbG5zIikpIHsKKwkgICAgbnMgPSByZWFkZXItPm5vZGUtPm5zRGVmOworCSAgICB3aGlsZSAobnMgIT0gTlVMTCkgeworCQlpZiAobnMtPnByZWZpeCA9PSBOVUxMKSB7CisJCSAgICByZWFkZXItPmN1cm5vZGUgPSAoeG1sTm9kZVB0cikgbnM7CisJCSAgICByZXR1cm4oMSk7CisJCX0KKwkJbnMgPSBucy0+bmV4dDsKKwkgICAgfQorCSAgICByZXR1cm4oMCk7CisJfQorCisJcHJvcCA9IHJlYWRlci0+bm9kZS0+cHJvcGVydGllczsKKwl3aGlsZSAocHJvcCAhPSBOVUxMKSB7CisJICAgIC8qCisJICAgICAqIE9uZSBuZWVkIHRvIGhhdmUKKwkgICAgICogICAtIHNhbWUgYXR0cmlidXRlIG5hbWVzCisJICAgICAqICAgLSBhbmQgdGhlIGF0dHJpYnV0ZSBjYXJyeWluZyB0aGF0IG5hbWVzcGFjZQorCSAgICAgKi8KKwkgICAgaWYgKCh4bWxTdHJFcXVhbChwcm9wLT5uYW1lLCBuYW1lKSkgJiYKKwkJKChwcm9wLT5ucyA9PSBOVUxMKSB8fCAocHJvcC0+bnMtPnByZWZpeCA9PSBOVUxMKSkpIHsKKwkJcmVhZGVyLT5jdXJub2RlID0gKHhtbE5vZGVQdHIpIHByb3A7CisJCXJldHVybigxKTsKKwkgICAgfQorCSAgICBwcm9wID0gcHJvcC0+bmV4dDsKKwl9CisJcmV0dXJuKDApOworICAgIH0KKworICAgIC8qCisgICAgICogTmFtZXNwYWNlIGRlZmF1bHQgZGVjbAorICAgICAqLworICAgIGlmICh4bWxTdHJFcXVhbChwcmVmaXgsIEJBRF9DQVNUICJ4bWxucyIpKSB7CisJbnMgPSByZWFkZXItPm5vZGUtPm5zRGVmOworCXdoaWxlIChucyAhPSBOVUxMKSB7CisJICAgIGlmICgobnMtPnByZWZpeCAhPSBOVUxMKSAmJiAoeG1sU3RyRXF1YWwobnMtPnByZWZpeCwgbG9jYWxuYW1lKSkpIHsKKwkJcmVhZGVyLT5jdXJub2RlID0gKHhtbE5vZGVQdHIpIG5zOworCQlnb3RvIGZvdW5kOworCSAgICB9CisJICAgIG5zID0gbnMtPm5leHQ7CisJfQorCWdvdG8gbm90X2ZvdW5kOworICAgIH0KKyAgICBwcm9wID0gcmVhZGVyLT5ub2RlLT5wcm9wZXJ0aWVzOworICAgIHdoaWxlIChwcm9wICE9IE5VTEwpIHsKKwkvKgorCSAqIE9uZSBuZWVkIHRvIGhhdmUKKwkgKiAgIC0gc2FtZSBhdHRyaWJ1dGUgbmFtZXMKKwkgKiAgIC0gYW5kIHRoZSBhdHRyaWJ1dGUgY2FycnlpbmcgdGhhdCBuYW1lc3BhY2UKKwkgKi8KKwlpZiAoKHhtbFN0ckVxdWFsKHByb3AtPm5hbWUsIGxvY2FsbmFtZSkpICYmCisJICAgIChwcm9wLT5ucyAhPSBOVUxMKSAmJiAoeG1sU3RyRXF1YWwocHJvcC0+bnMtPnByZWZpeCwgcHJlZml4KSkpIHsKKwkgICAgcmVhZGVyLT5jdXJub2RlID0gKHhtbE5vZGVQdHIpIHByb3A7CisJICAgIGdvdG8gZm91bmQ7CisJfQorCXByb3AgPSBwcm9wLT5uZXh0OworICAgIH0KK25vdF9mb3VuZDoKKyAgICBpZiAobG9jYWxuYW1lICE9IE5VTEwpCisgICAgICAgIHhtbEZyZWUobG9jYWxuYW1lKTsKKyAgICBpZiAocHJlZml4ICE9IE5VTEwpCisgICAgICAgIHhtbEZyZWUocHJlZml4KTsKKyAgICByZXR1cm4oMCk7CisKK2ZvdW5kOgorICAgIGlmIChsb2NhbG5hbWUgIT0gTlVMTCkKKyAgICAgICAgeG1sRnJlZShsb2NhbG5hbWUpOworICAgIGlmIChwcmVmaXggIT0gTlVMTCkKKyAgICAgICAgeG1sRnJlZShwcmVmaXgpOworICAgIHJldHVybigxKTsKK30KKworLyoqCisgKiB4bWxUZXh0UmVhZGVyTW92ZVRvQXR0cmlidXRlTnM6CisgKiBAcmVhZGVyOiAgdGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZAorICogQGxvY2FsTmFtZTogIHRoZSBsb2NhbCBuYW1lIG9mIHRoZSBhdHRyaWJ1dGUuCisgKiBAbmFtZXNwYWNlVVJJOiAgdGhlIG5hbWVzcGFjZSBVUkkgb2YgdGhlIGF0dHJpYnV0ZS4KKyAqCisgKiBNb3ZlcyB0aGUgcG9zaXRpb24gb2YgdGhlIGN1cnJlbnQgaW5zdGFuY2UgdG8gdGhlIGF0dHJpYnV0ZSB3aXRoIHRoZQorICogc3BlY2lmaWVkIGxvY2FsIG5hbWUgYW5kIG5hbWVzcGFjZSBVUkkuCisgKgorICogUmV0dXJucyAxIGluIGNhc2Ugb2Ygc3VjY2VzcywgLTEgaW4gY2FzZSBvZiBlcnJvciwgMCBpZiBub3QgZm91bmQKKyAqLworaW50Cit4bWxUZXh0UmVhZGVyTW92ZVRvQXR0cmlidXRlTnMoeG1sVGV4dFJlYWRlclB0ciByZWFkZXIsCisJY29uc3QgeG1sQ2hhciAqbG9jYWxOYW1lLCBjb25zdCB4bWxDaGFyICpuYW1lc3BhY2VVUkkpIHsKKyAgICB4bWxBdHRyUHRyIHByb3A7CisgICAgeG1sTm9kZVB0ciBub2RlOworICAgIHhtbE5zUHRyIG5zOworICAgIHhtbENoYXIgKnByZWZpeCA9IE5VTEw7CisKKyAgICBpZiAoKHJlYWRlciA9PSBOVUxMKSB8fCAobG9jYWxOYW1lID09IE5VTEwpIHx8IChuYW1lc3BhY2VVUkkgPT0gTlVMTCkpCisJcmV0dXJuKC0xKTsKKyAgICBpZiAocmVhZGVyLT5ub2RlID09IE5VTEwpCisJcmV0dXJuKC0xKTsKKyAgICBpZiAocmVhZGVyLT5ub2RlLT50eXBlICE9IFhNTF9FTEVNRU5UX05PREUpCisJcmV0dXJuKDApOworICAgIG5vZGUgPSByZWFkZXItPm5vZGU7CisKKyAgICBpZiAoeG1sU3RyRXF1YWwobmFtZXNwYWNlVVJJLCBCQURfQ0FTVCAiaHR0cDovL3d3dy53My5vcmcvMjAwMC94bWxucy8iKSkgeworCQlpZiAoISB4bWxTdHJFcXVhbChsb2NhbE5hbWUsIEJBRF9DQVNUICJ4bWxucyIpKSB7CisJCQlwcmVmaXggPSBCQURfQ0FTVCBsb2NhbE5hbWU7CisJCX0KKwkJbnMgPSByZWFkZXItPm5vZGUtPm5zRGVmOworCQl3aGlsZSAobnMgIT0gTlVMTCkgeworCQkJaWYgKChwcmVmaXggPT0gTlVMTCAmJiBucy0+cHJlZml4ID09IE5VTEwpIHx8CisJCQkJKChucy0+cHJlZml4ICE9IE5VTEwpICYmICh4bWxTdHJFcXVhbChucy0+cHJlZml4LCBsb2NhbE5hbWUpKSkpIHsKKwkJCQlyZWFkZXItPmN1cm5vZGUgPSAoeG1sTm9kZVB0cikgbnM7CisJCQkJcmV0dXJuKDEpOworCQkJfQorCQkJbnMgPSBucy0+bmV4dDsKKwkJfQorCQlyZXR1cm4oMCk7CisgICAgfQorCisgICAgcHJvcCA9IG5vZGUtPnByb3BlcnRpZXM7CisgICAgd2hpbGUgKHByb3AgIT0gTlVMTCkgeworCS8qCisJICogT25lIG5lZWQgdG8gaGF2ZQorCSAqICAgLSBzYW1lIGF0dHJpYnV0ZSBuYW1lcworCSAqICAgLSBhbmQgdGhlIGF0dHJpYnV0ZSBjYXJyeWluZyB0aGF0IG5hbWVzcGFjZQorCSAqLworICAgICAgICBpZiAoeG1sU3RyRXF1YWwocHJvcC0+bmFtZSwgbG9jYWxOYW1lKSAmJgorCSAgICAoKHByb3AtPm5zICE9IE5VTEwpICYmCisJICAgICAoeG1sU3RyRXF1YWwocHJvcC0+bnMtPmhyZWYsIG5hbWVzcGFjZVVSSSkpKSkgeworCSAgICByZWFkZXItPmN1cm5vZGUgPSAoeG1sTm9kZVB0cikgcHJvcDsKKwkgICAgcmV0dXJuKDEpOworICAgICAgICB9CisJcHJvcCA9IHByb3AtPm5leHQ7CisgICAgfQorICAgIHJldHVybigwKTsKK30KKworLyoqCisgKiB4bWxUZXh0UmVhZGVyTW92ZVRvRmlyc3RBdHRyaWJ1dGU6CisgKiBAcmVhZGVyOiAgdGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZAorICoKKyAqIE1vdmVzIHRoZSBwb3NpdGlvbiBvZiB0aGUgY3VycmVudCBpbnN0YW5jZSB0byB0aGUgZmlyc3QgYXR0cmlidXRlCisgKiBhc3NvY2lhdGVkIHdpdGggdGhlIGN1cnJlbnQgbm9kZS4KKyAqCisgKiBSZXR1cm5zIDEgaW4gY2FzZSBvZiBzdWNjZXNzLCAtMSBpbiBjYXNlIG9mIGVycm9yLCAwIGlmIG5vdCBmb3VuZAorICovCitpbnQKK3htbFRleHRSZWFkZXJNb3ZlVG9GaXJzdEF0dHJpYnV0ZSh4bWxUZXh0UmVhZGVyUHRyIHJlYWRlcikgeworICAgIGlmIChyZWFkZXIgPT0gTlVMTCkKKwlyZXR1cm4oLTEpOworICAgIGlmIChyZWFkZXItPm5vZGUgPT0gTlVMTCkKKwlyZXR1cm4oLTEpOworICAgIGlmIChyZWFkZXItPm5vZGUtPnR5cGUgIT0gWE1MX0VMRU1FTlRfTk9ERSkKKwlyZXR1cm4oMCk7CisKKyAgICBpZiAocmVhZGVyLT5ub2RlLT5uc0RlZiAhPSBOVUxMKSB7CisJcmVhZGVyLT5jdXJub2RlID0gKHhtbE5vZGVQdHIpIHJlYWRlci0+bm9kZS0+bnNEZWY7CisJcmV0dXJuKDEpOworICAgIH0KKyAgICBpZiAocmVhZGVyLT5ub2RlLT5wcm9wZXJ0aWVzICE9IE5VTEwpIHsKKwlyZWFkZXItPmN1cm5vZGUgPSAoeG1sTm9kZVB0cikgcmVhZGVyLT5ub2RlLT5wcm9wZXJ0aWVzOworCXJldHVybigxKTsKKyAgICB9CisgICAgcmV0dXJuKDApOworfQorCisvKioKKyAqIHhtbFRleHRSZWFkZXJNb3ZlVG9OZXh0QXR0cmlidXRlOgorICogQHJlYWRlcjogIHRoZSB4bWxUZXh0UmVhZGVyUHRyIHVzZWQKKyAqCisgKiBNb3ZlcyB0aGUgcG9zaXRpb24gb2YgdGhlIGN1cnJlbnQgaW5zdGFuY2UgdG8gdGhlIG5leHQgYXR0cmlidXRlCisgKiBhc3NvY2lhdGVkIHdpdGggdGhlIGN1cnJlbnQgbm9kZS4KKyAqCisgKiBSZXR1cm5zIDEgaW4gY2FzZSBvZiBzdWNjZXNzLCAtMSBpbiBjYXNlIG9mIGVycm9yLCAwIGlmIG5vdCBmb3VuZAorICovCitpbnQKK3htbFRleHRSZWFkZXJNb3ZlVG9OZXh0QXR0cmlidXRlKHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyKSB7CisgICAgaWYgKHJlYWRlciA9PSBOVUxMKQorCXJldHVybigtMSk7CisgICAgaWYgKHJlYWRlci0+bm9kZSA9PSBOVUxMKQorCXJldHVybigtMSk7CisgICAgaWYgKHJlYWRlci0+bm9kZS0+dHlwZSAhPSBYTUxfRUxFTUVOVF9OT0RFKQorCXJldHVybigwKTsKKyAgICBpZiAocmVhZGVyLT5jdXJub2RlID09IE5VTEwpCisJcmV0dXJuKHhtbFRleHRSZWFkZXJNb3ZlVG9GaXJzdEF0dHJpYnV0ZShyZWFkZXIpKTsKKworICAgIGlmIChyZWFkZXItPmN1cm5vZGUtPnR5cGUgPT0gWE1MX05BTUVTUEFDRV9ERUNMKSB7CisJeG1sTnNQdHIgbnMgPSAoeG1sTnNQdHIpIHJlYWRlci0+Y3Vybm9kZTsKKwlpZiAobnMtPm5leHQgIT0gTlVMTCkgeworCSAgICByZWFkZXItPmN1cm5vZGUgPSAoeG1sTm9kZVB0cikgbnMtPm5leHQ7CisJICAgIHJldHVybigxKTsKKwl9CisJaWYgKHJlYWRlci0+bm9kZS0+cHJvcGVydGllcyAhPSBOVUxMKSB7CisJICAgIHJlYWRlci0+Y3Vybm9kZSA9ICh4bWxOb2RlUHRyKSByZWFkZXItPm5vZGUtPnByb3BlcnRpZXM7CisJICAgIHJldHVybigxKTsKKwl9CisJcmV0dXJuKDApOworICAgIH0gZWxzZSBpZiAoKHJlYWRlci0+Y3Vybm9kZS0+dHlwZSA9PSBYTUxfQVRUUklCVVRFX05PREUpICYmCisJICAgICAgIChyZWFkZXItPmN1cm5vZGUtPm5leHQgIT0gTlVMTCkpIHsKKwlyZWFkZXItPmN1cm5vZGUgPSByZWFkZXItPmN1cm5vZGUtPm5leHQ7CisJcmV0dXJuKDEpOworICAgIH0KKyAgICByZXR1cm4oMCk7Cit9CisKKy8qKgorICogeG1sVGV4dFJlYWRlck1vdmVUb0VsZW1lbnQ6CisgKiBAcmVhZGVyOiAgdGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZAorICoKKyAqIE1vdmVzIHRoZSBwb3NpdGlvbiBvZiB0aGUgY3VycmVudCBpbnN0YW5jZSB0byB0aGUgbm9kZSB0aGF0CisgKiBjb250YWlucyB0aGUgY3VycmVudCBBdHRyaWJ1dGUgIG5vZGUuCisgKgorICogUmV0dXJucyAxIGluIGNhc2Ugb2Ygc3VjY2VzcywgLTEgaW4gY2FzZSBvZiBlcnJvciwgMCBpZiBub3QgbW92ZWQKKyAqLworaW50Cit4bWxUZXh0UmVhZGVyTW92ZVRvRWxlbWVudCh4bWxUZXh0UmVhZGVyUHRyIHJlYWRlcikgeworICAgIGlmIChyZWFkZXIgPT0gTlVMTCkKKwlyZXR1cm4oLTEpOworICAgIGlmIChyZWFkZXItPm5vZGUgPT0gTlVMTCkKKwlyZXR1cm4oLTEpOworICAgIGlmIChyZWFkZXItPm5vZGUtPnR5cGUgIT0gWE1MX0VMRU1FTlRfTk9ERSkKKwlyZXR1cm4oMCk7CisgICAgaWYgKHJlYWRlci0+Y3Vybm9kZSAhPSBOVUxMKSB7CisJcmVhZGVyLT5jdXJub2RlID0gTlVMTDsKKwlyZXR1cm4oMSk7CisgICAgfQorICAgIHJldHVybigwKTsKK30KKworLyoqCisgKiB4bWxUZXh0UmVhZGVyUmVhZEF0dHJpYnV0ZVZhbHVlOgorICogQHJlYWRlcjogIHRoZSB4bWxUZXh0UmVhZGVyUHRyIHVzZWQKKyAqCisgKiBQYXJzZXMgYW4gYXR0cmlidXRlIHZhbHVlIGludG8gb25lIG9yIG1vcmUgVGV4dCBhbmQgRW50aXR5UmVmZXJlbmNlIG5vZGVzLgorICoKKyAqIFJldHVybnMgMSBpbiBjYXNlIG9mIHN1Y2Nlc3MsIDAgaWYgdGhlIHJlYWRlciB3YXMgbm90IHBvc2l0aW9ubmVkIG9uIGFuCisgKiAgICAgICAgIHR0cmlidXRlIG5vZGUgb3IgYWxsIHRoZSBhdHRyaWJ1dGUgdmFsdWVzIGhhdmUgYmVlbiByZWFkLCBvciAtMQorICogICAgICAgICBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQKK3htbFRleHRSZWFkZXJSZWFkQXR0cmlidXRlVmFsdWUoeG1sVGV4dFJlYWRlclB0ciByZWFkZXIpIHsKKyAgICBpZiAocmVhZGVyID09IE5VTEwpCisJcmV0dXJuKC0xKTsKKyAgICBpZiAocmVhZGVyLT5ub2RlID09IE5VTEwpCisJcmV0dXJuKC0xKTsKKyAgICBpZiAocmVhZGVyLT5jdXJub2RlID09IE5VTEwpCisJcmV0dXJuKDApOworICAgIGlmIChyZWFkZXItPmN1cm5vZGUtPnR5cGUgPT0gWE1MX0FUVFJJQlVURV9OT0RFKSB7CisJaWYgKHJlYWRlci0+Y3Vybm9kZS0+Y2hpbGRyZW4gPT0gTlVMTCkKKwkgICAgcmV0dXJuKDApOworCXJlYWRlci0+Y3Vybm9kZSA9IHJlYWRlci0+Y3Vybm9kZS0+Y2hpbGRyZW47CisgICAgfSBlbHNlIGlmIChyZWFkZXItPmN1cm5vZGUtPnR5cGUgPT0gWE1MX05BTUVTUEFDRV9ERUNMKSB7CisJeG1sTnNQdHIgbnMgPSAoeG1sTnNQdHIpIHJlYWRlci0+Y3Vybm9kZTsKKworCWlmIChyZWFkZXItPmZha2V0ZXh0ID09IE5VTEwpIHsKKwkgICAgcmVhZGVyLT5mYWtldGV4dCA9IHhtbE5ld0RvY1RleHQocmVhZGVyLT5ub2RlLT5kb2MsCisJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnMtPmhyZWYpOworCX0gZWxzZSB7CisgICAgICAgICAgICBpZiAoKHJlYWRlci0+ZmFrZXRleHQtPmNvbnRlbnQgIT0gTlVMTCkgJiYKKwkgICAgICAgIChyZWFkZXItPmZha2V0ZXh0LT5jb250ZW50ICE9CisJCSAoeG1sQ2hhciAqKSAmKHJlYWRlci0+ZmFrZXRleHQtPnByb3BlcnRpZXMpKSkKKwkJeG1sRnJlZShyZWFkZXItPmZha2V0ZXh0LT5jb250ZW50KTsKKwkgICAgcmVhZGVyLT5mYWtldGV4dC0+Y29udGVudCA9IHhtbFN0cmR1cChucy0+aHJlZik7CisJfQorCXJlYWRlci0+Y3Vybm9kZSA9IHJlYWRlci0+ZmFrZXRleHQ7CisgICAgfSBlbHNlIHsKKwlpZiAocmVhZGVyLT5jdXJub2RlLT5uZXh0ID09IE5VTEwpCisJICAgIHJldHVybigwKTsKKwlyZWFkZXItPmN1cm5vZGUgPSByZWFkZXItPmN1cm5vZGUtPm5leHQ7CisgICAgfQorICAgIHJldHVybigxKTsKK30KKworLyoqCisgKiB4bWxUZXh0UmVhZGVyQ29uc3RFbmNvZGluZzoKKyAqIEByZWFkZXI6ICB0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkCisgKgorICogRGV0ZXJtaW5lIHRoZSBlbmNvZGluZyBvZiB0aGUgZG9jdW1lbnQgYmVpbmcgcmVhZC4KKyAqCisgKiBSZXR1cm5zIGEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIGVuY29kaW5nIG9mIHRoZSBkb2N1bWVudCBvciBOVUxMIGluCisgKiBjYXNlIG9mIGVycm9yLiAgVGhlIHN0cmluZyBpcyBkZWFsbG9jYXRlZCB3aXRoIHRoZSByZWFkZXIuCisgKi8KK2NvbnN0IHhtbENoYXIgKgoreG1sVGV4dFJlYWRlckNvbnN0RW5jb2RpbmcoeG1sVGV4dFJlYWRlclB0ciByZWFkZXIpIHsKKyAgICB4bWxEb2NQdHIgZG9jID0gTlVMTDsKKyAgICBpZiAocmVhZGVyID09IE5VTEwpCisJcmV0dXJuKE5VTEwpOworICAgIGlmIChyZWFkZXItPmRvYyAhPSBOVUxMKQorICAgICAgICBkb2MgPSByZWFkZXItPmRvYzsKKyAgICBlbHNlIGlmIChyZWFkZXItPmN0eHQgIT0gTlVMTCkKKwlkb2MgPSByZWFkZXItPmN0eHQtPm15RG9jOworICAgIGlmIChkb2MgPT0gTlVMTCkKKwlyZXR1cm4oTlVMTCk7CisKKyAgICBpZiAoZG9jLT5lbmNvZGluZyA9PSBOVUxMKQorCXJldHVybihOVUxMKTsKKyAgICBlbHNlCisgICAgICByZXR1cm4oQ09OU1RTVFIoZG9jLT5lbmNvZGluZykpOworfQorCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCQlBY2NlcyBBUEkgdG8gdGhlIGN1cnJlbnQgbm9kZQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qKgorICogeG1sVGV4dFJlYWRlckF0dHJpYnV0ZUNvdW50OgorICogQHJlYWRlcjogIHRoZSB4bWxUZXh0UmVhZGVyUHRyIHVzZWQKKyAqCisgKiBQcm92aWRlcyB0aGUgbnVtYmVyIG9mIGF0dHJpYnV0ZXMgb2YgdGhlIGN1cnJlbnQgbm9kZQorICoKKyAqIFJldHVybnMgMCBpIG5vIGF0dHJpYnV0ZXMsIC0xIGluIGNhc2Ugb2YgZXJyb3Igb3IgdGhlIGF0dHJpYnV0ZSBjb3VudAorICovCitpbnQKK3htbFRleHRSZWFkZXJBdHRyaWJ1dGVDb3VudCh4bWxUZXh0UmVhZGVyUHRyIHJlYWRlcikgeworICAgIGludCByZXQ7CisgICAgeG1sQXR0clB0ciBhdHRyOworICAgIHhtbE5zUHRyIG5zOworICAgIHhtbE5vZGVQdHIgbm9kZTsKKworICAgIGlmIChyZWFkZXIgPT0gTlVMTCkKKwlyZXR1cm4oLTEpOworICAgIGlmIChyZWFkZXItPm5vZGUgPT0gTlVMTCkKKwlyZXR1cm4oMCk7CisKKyAgICBpZiAocmVhZGVyLT5jdXJub2RlICE9IE5VTEwpCisJbm9kZSA9IHJlYWRlci0+Y3Vybm9kZTsKKyAgICBlbHNlCisJbm9kZSA9IHJlYWRlci0+bm9kZTsKKworICAgIGlmIChub2RlLT50eXBlICE9IFhNTF9FTEVNRU5UX05PREUpCisJcmV0dXJuKDApOworICAgIGlmICgocmVhZGVyLT5zdGF0ZSA9PSBYTUxfVEVYVFJFQURFUl9FTkQpIHx8CisJKHJlYWRlci0+c3RhdGUgPT0gWE1MX1RFWFRSRUFERVJfQkFDS1RSQUNLKSkKKwlyZXR1cm4oMCk7CisgICAgcmV0ID0gMDsKKyAgICBhdHRyID0gbm9kZS0+cHJvcGVydGllczsKKyAgICB3aGlsZSAoYXR0ciAhPSBOVUxMKSB7CisJcmV0Kys7CisJYXR0ciA9IGF0dHItPm5leHQ7CisgICAgfQorICAgIG5zID0gbm9kZS0+bnNEZWY7CisgICAgd2hpbGUgKG5zICE9IE5VTEwpIHsKKwlyZXQrKzsKKwlucyA9IG5zLT5uZXh0OworICAgIH0KKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxUZXh0UmVhZGVyTm9kZVR5cGU6CisgKiBAcmVhZGVyOiAgdGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZAorICoKKyAqIEdldCB0aGUgbm9kZSB0eXBlIG9mIHRoZSBjdXJyZW50IG5vZGUKKyAqIFJlZmVyZW5jZToKKyAqIGh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9kb3RnbnUvcG5ldGxpYi1kb2MvU3lzdGVtL1htbC9YbWxOb2RlVHlwZS5odG1sCisgKgorICogUmV0dXJucyB0aGUgeG1sTm9kZVR5cGUgb2YgdGhlIGN1cnJlbnQgbm9kZSBvciAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK2ludAoreG1sVGV4dFJlYWRlck5vZGVUeXBlKHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyKSB7CisgICAgeG1sTm9kZVB0ciBub2RlOworCisgICAgaWYgKHJlYWRlciA9PSBOVUxMKQorCXJldHVybigtMSk7CisgICAgaWYgKHJlYWRlci0+bm9kZSA9PSBOVUxMKQorCXJldHVybihYTUxfUkVBREVSX1RZUEVfTk9ORSk7CisgICAgaWYgKHJlYWRlci0+Y3Vybm9kZSAhPSBOVUxMKQorCW5vZGUgPSByZWFkZXItPmN1cm5vZGU7CisgICAgZWxzZQorCW5vZGUgPSByZWFkZXItPm5vZGU7CisgICAgc3dpdGNoIChub2RlLT50eXBlKSB7CisgICAgICAgIGNhc2UgWE1MX0VMRU1FTlRfTk9ERToKKwkgICAgaWYgKChyZWFkZXItPnN0YXRlID09IFhNTF9URVhUUkVBREVSX0VORCkgfHwKKwkJKHJlYWRlci0+c3RhdGUgPT0gWE1MX1RFWFRSRUFERVJfQkFDS1RSQUNLKSkKKwkJcmV0dXJuKFhNTF9SRUFERVJfVFlQRV9FTkRfRUxFTUVOVCk7CisJICAgIHJldHVybihYTUxfUkVBREVSX1RZUEVfRUxFTUVOVCk7CisgICAgICAgIGNhc2UgWE1MX05BTUVTUEFDRV9ERUNMOgorICAgICAgICBjYXNlIFhNTF9BVFRSSUJVVEVfTk9ERToKKwkgICAgcmV0dXJuKFhNTF9SRUFERVJfVFlQRV9BVFRSSUJVVEUpOworICAgICAgICBjYXNlIFhNTF9URVhUX05PREU6CisJICAgIGlmICh4bWxJc0JsYW5rTm9kZShyZWFkZXItPm5vZGUpKSB7CisJCWlmICh4bWxOb2RlR2V0U3BhY2VQcmVzZXJ2ZShyZWFkZXItPm5vZGUpKQorCQkgICAgcmV0dXJuKFhNTF9SRUFERVJfVFlQRV9TSUdOSUZJQ0FOVF9XSElURVNQQUNFKTsKKwkJZWxzZQorCQkgICAgcmV0dXJuKFhNTF9SRUFERVJfVFlQRV9XSElURVNQQUNFKTsKKwkgICAgfSBlbHNlIHsKKwkJcmV0dXJuKFhNTF9SRUFERVJfVFlQRV9URVhUKTsKKwkgICAgfQorICAgICAgICBjYXNlIFhNTF9DREFUQV9TRUNUSU9OX05PREU6CisJICAgIHJldHVybihYTUxfUkVBREVSX1RZUEVfQ0RBVEEpOworICAgICAgICBjYXNlIFhNTF9FTlRJVFlfUkVGX05PREU6CisJICAgIHJldHVybihYTUxfUkVBREVSX1RZUEVfRU5USVRZX1JFRkVSRU5DRSk7CisgICAgICAgIGNhc2UgWE1MX0VOVElUWV9OT0RFOgorCSAgICByZXR1cm4oWE1MX1JFQURFUl9UWVBFX0VOVElUWSk7CisgICAgICAgIGNhc2UgWE1MX1BJX05PREU6CisJICAgIHJldHVybihYTUxfUkVBREVSX1RZUEVfUFJPQ0VTU0lOR19JTlNUUlVDVElPTik7CisgICAgICAgIGNhc2UgWE1MX0NPTU1FTlRfTk9ERToKKwkgICAgcmV0dXJuKFhNTF9SRUFERVJfVFlQRV9DT01NRU5UKTsKKyAgICAgICAgY2FzZSBYTUxfRE9DVU1FTlRfTk9ERToKKyAgICAgICAgY2FzZSBYTUxfSFRNTF9ET0NVTUVOVF9OT0RFOgorI2lmZGVmIExJQlhNTF9ET0NCX0VOQUJMRUQKKyAgICAgICAgY2FzZSBYTUxfRE9DQl9ET0NVTUVOVF9OT0RFOgorI2VuZGlmCisJICAgIHJldHVybihYTUxfUkVBREVSX1RZUEVfRE9DVU1FTlQpOworICAgICAgICBjYXNlIFhNTF9ET0NVTUVOVF9GUkFHX05PREU6CisJICAgIHJldHVybihYTUxfUkVBREVSX1RZUEVfRE9DVU1FTlRfRlJBR01FTlQpOworICAgICAgICBjYXNlIFhNTF9OT1RBVElPTl9OT0RFOgorCSAgICByZXR1cm4oWE1MX1JFQURFUl9UWVBFX05PVEFUSU9OKTsKKyAgICAgICAgY2FzZSBYTUxfRE9DVU1FTlRfVFlQRV9OT0RFOgorICAgICAgICBjYXNlIFhNTF9EVERfTk9ERToKKwkgICAgcmV0dXJuKFhNTF9SRUFERVJfVFlQRV9ET0NVTUVOVF9UWVBFKTsKKworICAgICAgICBjYXNlIFhNTF9FTEVNRU5UX0RFQ0w6CisgICAgICAgIGNhc2UgWE1MX0FUVFJJQlVURV9ERUNMOgorICAgICAgICBjYXNlIFhNTF9FTlRJVFlfREVDTDoKKyAgICAgICAgY2FzZSBYTUxfWElOQ0xVREVfU1RBUlQ6CisgICAgICAgIGNhc2UgWE1MX1hJTkNMVURFX0VORDoKKwkgICAgcmV0dXJuKFhNTF9SRUFERVJfVFlQRV9OT05FKTsKKyAgICB9CisgICAgcmV0dXJuKC0xKTsKK30KKworLyoqCisgKiB4bWxUZXh0UmVhZGVySXNFbXB0eUVsZW1lbnQ6CisgKiBAcmVhZGVyOiAgdGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZAorICoKKyAqIENoZWNrIGlmIHRoZSBjdXJyZW50IG5vZGUgaXMgZW1wdHkKKyAqCisgKiBSZXR1cm5zIDEgaWYgZW1wdHksIDAgaWYgbm90IGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK2ludAoreG1sVGV4dFJlYWRlcklzRW1wdHlFbGVtZW50KHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyKSB7CisgICAgaWYgKChyZWFkZXIgPT0gTlVMTCkgfHwgKHJlYWRlci0+bm9kZSA9PSBOVUxMKSkKKwlyZXR1cm4oLTEpOworICAgIGlmIChyZWFkZXItPm5vZGUtPnR5cGUgIT0gWE1MX0VMRU1FTlRfTk9ERSkKKwlyZXR1cm4oMCk7CisgICAgaWYgKHJlYWRlci0+Y3Vybm9kZSAhPSBOVUxMKQorCXJldHVybigwKTsKKyAgICBpZiAocmVhZGVyLT5ub2RlLT5jaGlsZHJlbiAhPSBOVUxMKQorCXJldHVybigwKTsKKyAgICBpZiAocmVhZGVyLT5zdGF0ZSA9PSBYTUxfVEVYVFJFQURFUl9FTkQpCisJcmV0dXJuKDApOworICAgIGlmIChyZWFkZXItPmRvYyAhPSBOVUxMKQorICAgICAgICByZXR1cm4oMSk7CisjaWZkZWYgTElCWE1MX1hJTkNMVURFX0VOQUJMRUQKKyAgICBpZiAocmVhZGVyLT5pbl94aW5jbHVkZSA+IDApCisgICAgICAgIHJldHVybigxKTsKKyNlbmRpZgorICAgIHJldHVybigocmVhZGVyLT5ub2RlLT5leHRyYSAmIE5PREVfSVNfRU1QVFkpICE9IDApOworfQorCisvKioKKyAqIHhtbFRleHRSZWFkZXJMb2NhbE5hbWU6CisgKiBAcmVhZGVyOiAgdGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZAorICoKKyAqIFRoZSBsb2NhbCBuYW1lIG9mIHRoZSBub2RlLgorICoKKyAqIFJldHVybnMgdGhlIGxvY2FsIG5hbWUgb3IgTlVMTCBpZiBub3QgYXZhaWxhYmxlLAorICogICBpZiBub24gTlVMTCBpdCBuZWVkIHRvIGJlIGZyZWVkIGJ5IHRoZSBjYWxsZXIuCisgKi8KK3htbENoYXIgKgoreG1sVGV4dFJlYWRlckxvY2FsTmFtZSh4bWxUZXh0UmVhZGVyUHRyIHJlYWRlcikgeworICAgIHhtbE5vZGVQdHIgbm9kZTsKKyAgICBpZiAoKHJlYWRlciA9PSBOVUxMKSB8fCAocmVhZGVyLT5ub2RlID09IE5VTEwpKQorCXJldHVybihOVUxMKTsKKyAgICBpZiAocmVhZGVyLT5jdXJub2RlICE9IE5VTEwpCisJbm9kZSA9IHJlYWRlci0+Y3Vybm9kZTsKKyAgICBlbHNlCisJbm9kZSA9IHJlYWRlci0+bm9kZTsKKyAgICBpZiAobm9kZS0+dHlwZSA9PSBYTUxfTkFNRVNQQUNFX0RFQ0wpIHsKKwl4bWxOc1B0ciBucyA9ICh4bWxOc1B0cikgbm9kZTsKKwlpZiAobnMtPnByZWZpeCA9PSBOVUxMKQorCSAgICByZXR1cm4oeG1sU3RyZHVwKEJBRF9DQVNUICJ4bWxucyIpKTsKKwllbHNlCisJICAgIHJldHVybih4bWxTdHJkdXAobnMtPnByZWZpeCkpOworICAgIH0KKyAgICBpZiAoKG5vZGUtPnR5cGUgIT0gWE1MX0VMRU1FTlRfTk9ERSkgJiYKKwkobm9kZS0+dHlwZSAhPSBYTUxfQVRUUklCVVRFX05PREUpKQorCXJldHVybih4bWxUZXh0UmVhZGVyTmFtZShyZWFkZXIpKTsKKyAgICByZXR1cm4oeG1sU3RyZHVwKG5vZGUtPm5hbWUpKTsKK30KKworLyoqCisgKiB4bWxUZXh0UmVhZGVyQ29uc3RMb2NhbE5hbWU6CisgKiBAcmVhZGVyOiAgdGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZAorICoKKyAqIFRoZSBsb2NhbCBuYW1lIG9mIHRoZSBub2RlLgorICoKKyAqIFJldHVybnMgdGhlIGxvY2FsIG5hbWUgb3IgTlVMTCBpZiBub3QgYXZhaWxhYmxlLCB0aGUKKyAqICAgICAgICAgc3RyaW5nIHdpbGwgYmUgZGVhbGxvY2F0ZWQgd2l0aCB0aGUgcmVhZGVyLgorICovCitjb25zdCB4bWxDaGFyICoKK3htbFRleHRSZWFkZXJDb25zdExvY2FsTmFtZSh4bWxUZXh0UmVhZGVyUHRyIHJlYWRlcikgeworICAgIHhtbE5vZGVQdHIgbm9kZTsKKyAgICBpZiAoKHJlYWRlciA9PSBOVUxMKSB8fCAocmVhZGVyLT5ub2RlID09IE5VTEwpKQorCXJldHVybihOVUxMKTsKKyAgICBpZiAocmVhZGVyLT5jdXJub2RlICE9IE5VTEwpCisJbm9kZSA9IHJlYWRlci0+Y3Vybm9kZTsKKyAgICBlbHNlCisJbm9kZSA9IHJlYWRlci0+bm9kZTsKKyAgICBpZiAobm9kZS0+dHlwZSA9PSBYTUxfTkFNRVNQQUNFX0RFQ0wpIHsKKwl4bWxOc1B0ciBucyA9ICh4bWxOc1B0cikgbm9kZTsKKwlpZiAobnMtPnByZWZpeCA9PSBOVUxMKQorCSAgICByZXR1cm4oQ09OU1RTVFIoQkFEX0NBU1QgInhtbG5zIikpOworCWVsc2UKKwkgICAgcmV0dXJuKG5zLT5wcmVmaXgpOworICAgIH0KKyAgICBpZiAoKG5vZGUtPnR5cGUgIT0gWE1MX0VMRU1FTlRfTk9ERSkgJiYKKwkobm9kZS0+dHlwZSAhPSBYTUxfQVRUUklCVVRFX05PREUpKQorCXJldHVybih4bWxUZXh0UmVhZGVyQ29uc3ROYW1lKHJlYWRlcikpOworICAgIHJldHVybihub2RlLT5uYW1lKTsKK30KKworLyoqCisgKiB4bWxUZXh0UmVhZGVyTmFtZToKKyAqIEByZWFkZXI6ICB0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkCisgKgorICogVGhlIHF1YWxpZmllZCBuYW1lIG9mIHRoZSBub2RlLCBlcXVhbCB0byBQcmVmaXggOkxvY2FsTmFtZS4KKyAqCisgKiBSZXR1cm5zIHRoZSBsb2NhbCBuYW1lIG9yIE5VTEwgaWYgbm90IGF2YWlsYWJsZSwKKyAqICAgaWYgbm9uIE5VTEwgaXQgbmVlZCB0byBiZSBmcmVlZCBieSB0aGUgY2FsbGVyLgorICovCit4bWxDaGFyICoKK3htbFRleHRSZWFkZXJOYW1lKHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyKSB7CisgICAgeG1sTm9kZVB0ciBub2RlOworICAgIHhtbENoYXIgKnJldDsKKworICAgIGlmICgocmVhZGVyID09IE5VTEwpIHx8IChyZWFkZXItPm5vZGUgPT0gTlVMTCkpCisJcmV0dXJuKE5VTEwpOworICAgIGlmIChyZWFkZXItPmN1cm5vZGUgIT0gTlVMTCkKKwlub2RlID0gcmVhZGVyLT5jdXJub2RlOworICAgIGVsc2UKKwlub2RlID0gcmVhZGVyLT5ub2RlOworICAgIHN3aXRjaCAobm9kZS0+dHlwZSkgeworICAgICAgICBjYXNlIFhNTF9FTEVNRU5UX05PREU6CisgICAgICAgIGNhc2UgWE1MX0FUVFJJQlVURV9OT0RFOgorCSAgICBpZiAoKG5vZGUtPm5zID09IE5VTEwpIHx8CisJCShub2RlLT5ucy0+cHJlZml4ID09IE5VTEwpKQorCQlyZXR1cm4oeG1sU3RyZHVwKG5vZGUtPm5hbWUpKTsKKworCSAgICByZXQgPSB4bWxTdHJkdXAobm9kZS0+bnMtPnByZWZpeCk7CisJICAgIHJldCA9IHhtbFN0cmNhdChyZXQsIEJBRF9DQVNUICI6Iik7CisJICAgIHJldCA9IHhtbFN0cmNhdChyZXQsIG5vZGUtPm5hbWUpOworCSAgICByZXR1cm4ocmV0KTsKKyAgICAgICAgY2FzZSBYTUxfVEVYVF9OT0RFOgorCSAgICByZXR1cm4oeG1sU3RyZHVwKEJBRF9DQVNUICIjdGV4dCIpKTsKKyAgICAgICAgY2FzZSBYTUxfQ0RBVEFfU0VDVElPTl9OT0RFOgorCSAgICByZXR1cm4oeG1sU3RyZHVwKEJBRF9DQVNUICIjY2RhdGEtc2VjdGlvbiIpKTsKKyAgICAgICAgY2FzZSBYTUxfRU5USVRZX05PREU6CisgICAgICAgIGNhc2UgWE1MX0VOVElUWV9SRUZfTk9ERToKKwkgICAgcmV0dXJuKHhtbFN0cmR1cChub2RlLT5uYW1lKSk7CisgICAgICAgIGNhc2UgWE1MX1BJX05PREU6CisJICAgIHJldHVybih4bWxTdHJkdXAobm9kZS0+bmFtZSkpOworICAgICAgICBjYXNlIFhNTF9DT01NRU5UX05PREU6CisJICAgIHJldHVybih4bWxTdHJkdXAoQkFEX0NBU1QgIiNjb21tZW50IikpOworICAgICAgICBjYXNlIFhNTF9ET0NVTUVOVF9OT0RFOgorICAgICAgICBjYXNlIFhNTF9IVE1MX0RPQ1VNRU5UX05PREU6CisjaWZkZWYgTElCWE1MX0RPQ0JfRU5BQkxFRAorICAgICAgICBjYXNlIFhNTF9ET0NCX0RPQ1VNRU5UX05PREU6CisjZW5kaWYKKwkgICAgcmV0dXJuKHhtbFN0cmR1cChCQURfQ0FTVCAiI2RvY3VtZW50IikpOworICAgICAgICBjYXNlIFhNTF9ET0NVTUVOVF9GUkFHX05PREU6CisJICAgIHJldHVybih4bWxTdHJkdXAoQkFEX0NBU1QgIiNkb2N1bWVudC1mcmFnbWVudCIpKTsKKyAgICAgICAgY2FzZSBYTUxfTk9UQVRJT05fTk9ERToKKwkgICAgcmV0dXJuKHhtbFN0cmR1cChub2RlLT5uYW1lKSk7CisgICAgICAgIGNhc2UgWE1MX0RPQ1VNRU5UX1RZUEVfTk9ERToKKyAgICAgICAgY2FzZSBYTUxfRFREX05PREU6CisJICAgIHJldHVybih4bWxTdHJkdXAobm9kZS0+bmFtZSkpOworICAgICAgICBjYXNlIFhNTF9OQU1FU1BBQ0VfREVDTDogeworCSAgICB4bWxOc1B0ciBucyA9ICh4bWxOc1B0cikgbm9kZTsKKworCSAgICByZXQgPSB4bWxTdHJkdXAoQkFEX0NBU1QgInhtbG5zIik7CisJICAgIGlmIChucy0+cHJlZml4ID09IE5VTEwpCisJCXJldHVybihyZXQpOworCSAgICByZXQgPSB4bWxTdHJjYXQocmV0LCBCQURfQ0FTVCAiOiIpOworCSAgICByZXQgPSB4bWxTdHJjYXQocmV0LCBucy0+cHJlZml4KTsKKwkgICAgcmV0dXJuKHJldCk7CisJfQorCisgICAgICAgIGNhc2UgWE1MX0VMRU1FTlRfREVDTDoKKyAgICAgICAgY2FzZSBYTUxfQVRUUklCVVRFX0RFQ0w6CisgICAgICAgIGNhc2UgWE1MX0VOVElUWV9ERUNMOgorICAgICAgICBjYXNlIFhNTF9YSU5DTFVERV9TVEFSVDoKKyAgICAgICAgY2FzZSBYTUxfWElOQ0xVREVfRU5EOgorCSAgICByZXR1cm4oTlVMTCk7CisgICAgfQorICAgIHJldHVybihOVUxMKTsKK30KKworLyoqCisgKiB4bWxUZXh0UmVhZGVyQ29uc3ROYW1lOgorICogQHJlYWRlcjogIHRoZSB4bWxUZXh0UmVhZGVyUHRyIHVzZWQKKyAqCisgKiBUaGUgcXVhbGlmaWVkIG5hbWUgb2YgdGhlIG5vZGUsIGVxdWFsIHRvIFByZWZpeCA6TG9jYWxOYW1lLgorICoKKyAqIFJldHVybnMgdGhlIGxvY2FsIG5hbWUgb3IgTlVMTCBpZiBub3QgYXZhaWxhYmxlLCB0aGUgc3RyaW5nIGlzCisgKiAgICAgICAgIGRlYWxsb2NhdGVkIHdpdGggdGhlIHJlYWRlci4KKyAqLworY29uc3QgeG1sQ2hhciAqCit4bWxUZXh0UmVhZGVyQ29uc3ROYW1lKHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyKSB7CisgICAgeG1sTm9kZVB0ciBub2RlOworCisgICAgaWYgKChyZWFkZXIgPT0gTlVMTCkgfHwgKHJlYWRlci0+bm9kZSA9PSBOVUxMKSkKKwlyZXR1cm4oTlVMTCk7CisgICAgaWYgKHJlYWRlci0+Y3Vybm9kZSAhPSBOVUxMKQorCW5vZGUgPSByZWFkZXItPmN1cm5vZGU7CisgICAgZWxzZQorCW5vZGUgPSByZWFkZXItPm5vZGU7CisgICAgc3dpdGNoIChub2RlLT50eXBlKSB7CisgICAgICAgIGNhc2UgWE1MX0VMRU1FTlRfTk9ERToKKyAgICAgICAgY2FzZSBYTUxfQVRUUklCVVRFX05PREU6CisJICAgIGlmICgobm9kZS0+bnMgPT0gTlVMTCkgfHwKKwkJKG5vZGUtPm5zLT5wcmVmaXggPT0gTlVMTCkpCisJCXJldHVybihub2RlLT5uYW1lKTsKKwkgICAgcmV0dXJuKENPTlNUUVNUUihub2RlLT5ucy0+cHJlZml4LCBub2RlLT5uYW1lKSk7CisgICAgICAgIGNhc2UgWE1MX1RFWFRfTk9ERToKKwkgICAgcmV0dXJuKENPTlNUU1RSKEJBRF9DQVNUICIjdGV4dCIpKTsKKyAgICAgICAgY2FzZSBYTUxfQ0RBVEFfU0VDVElPTl9OT0RFOgorCSAgICByZXR1cm4oQ09OU1RTVFIoQkFEX0NBU1QgIiNjZGF0YS1zZWN0aW9uIikpOworICAgICAgICBjYXNlIFhNTF9FTlRJVFlfTk9ERToKKyAgICAgICAgY2FzZSBYTUxfRU5USVRZX1JFRl9OT0RFOgorCSAgICByZXR1cm4oQ09OU1RTVFIobm9kZS0+bmFtZSkpOworICAgICAgICBjYXNlIFhNTF9QSV9OT0RFOgorCSAgICByZXR1cm4oQ09OU1RTVFIobm9kZS0+bmFtZSkpOworICAgICAgICBjYXNlIFhNTF9DT01NRU5UX05PREU6CisJICAgIHJldHVybihDT05TVFNUUihCQURfQ0FTVCAiI2NvbW1lbnQiKSk7CisgICAgICAgIGNhc2UgWE1MX0RPQ1VNRU5UX05PREU6CisgICAgICAgIGNhc2UgWE1MX0hUTUxfRE9DVU1FTlRfTk9ERToKKyNpZmRlZiBMSUJYTUxfRE9DQl9FTkFCTEVECisgICAgICAgIGNhc2UgWE1MX0RPQ0JfRE9DVU1FTlRfTk9ERToKKyNlbmRpZgorCSAgICByZXR1cm4oQ09OU1RTVFIoQkFEX0NBU1QgIiNkb2N1bWVudCIpKTsKKyAgICAgICAgY2FzZSBYTUxfRE9DVU1FTlRfRlJBR19OT0RFOgorCSAgICByZXR1cm4oQ09OU1RTVFIoQkFEX0NBU1QgIiNkb2N1bWVudC1mcmFnbWVudCIpKTsKKyAgICAgICAgY2FzZSBYTUxfTk9UQVRJT05fTk9ERToKKwkgICAgcmV0dXJuKENPTlNUU1RSKG5vZGUtPm5hbWUpKTsKKyAgICAgICAgY2FzZSBYTUxfRE9DVU1FTlRfVFlQRV9OT0RFOgorICAgICAgICBjYXNlIFhNTF9EVERfTk9ERToKKwkgICAgcmV0dXJuKENPTlNUU1RSKG5vZGUtPm5hbWUpKTsKKyAgICAgICAgY2FzZSBYTUxfTkFNRVNQQUNFX0RFQ0w6IHsKKwkgICAgeG1sTnNQdHIgbnMgPSAoeG1sTnNQdHIpIG5vZGU7CisKKwkgICAgaWYgKG5zLT5wcmVmaXggPT0gTlVMTCkKKwkJcmV0dXJuKENPTlNUU1RSKEJBRF9DQVNUICJ4bWxucyIpKTsKKwkgICAgcmV0dXJuKENPTlNUUVNUUihCQURfQ0FTVCAieG1sbnMiLCBucy0+cHJlZml4KSk7CisJfQorCisgICAgICAgIGNhc2UgWE1MX0VMRU1FTlRfREVDTDoKKyAgICAgICAgY2FzZSBYTUxfQVRUUklCVVRFX0RFQ0w6CisgICAgICAgIGNhc2UgWE1MX0VOVElUWV9ERUNMOgorICAgICAgICBjYXNlIFhNTF9YSU5DTFVERV9TVEFSVDoKKyAgICAgICAgY2FzZSBYTUxfWElOQ0xVREVfRU5EOgorCSAgICByZXR1cm4oTlVMTCk7CisgICAgfQorICAgIHJldHVybihOVUxMKTsKK30KKworLyoqCisgKiB4bWxUZXh0UmVhZGVyUHJlZml4OgorICogQHJlYWRlcjogIHRoZSB4bWxUZXh0UmVhZGVyUHRyIHVzZWQKKyAqCisgKiBBIHNob3J0aGFuZCByZWZlcmVuY2UgdG8gdGhlIG5hbWVzcGFjZSBhc3NvY2lhdGVkIHdpdGggdGhlIG5vZGUuCisgKgorICogUmV0dXJucyB0aGUgcHJlZml4IG9yIE5VTEwgaWYgbm90IGF2YWlsYWJsZSwKKyAqICAgIGlmIG5vbiBOVUxMIGl0IG5lZWQgdG8gYmUgZnJlZWQgYnkgdGhlIGNhbGxlci4KKyAqLworeG1sQ2hhciAqCit4bWxUZXh0UmVhZGVyUHJlZml4KHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyKSB7CisgICAgeG1sTm9kZVB0ciBub2RlOworICAgIGlmICgocmVhZGVyID09IE5VTEwpIHx8IChyZWFkZXItPm5vZGUgPT0gTlVMTCkpCisJcmV0dXJuKE5VTEwpOworICAgIGlmIChyZWFkZXItPmN1cm5vZGUgIT0gTlVMTCkKKwlub2RlID0gcmVhZGVyLT5jdXJub2RlOworICAgIGVsc2UKKwlub2RlID0gcmVhZGVyLT5ub2RlOworICAgIGlmIChub2RlLT50eXBlID09IFhNTF9OQU1FU1BBQ0VfREVDTCkgeworCXhtbE5zUHRyIG5zID0gKHhtbE5zUHRyKSBub2RlOworCWlmIChucy0+cHJlZml4ID09IE5VTEwpCisJICAgIHJldHVybihOVUxMKTsKKwlyZXR1cm4oeG1sU3RyZHVwKEJBRF9DQVNUICJ4bWxucyIpKTsKKyAgICB9CisgICAgaWYgKChub2RlLT50eXBlICE9IFhNTF9FTEVNRU5UX05PREUpICYmCisJKG5vZGUtPnR5cGUgIT0gWE1MX0FUVFJJQlVURV9OT0RFKSkKKwlyZXR1cm4oTlVMTCk7CisgICAgaWYgKChub2RlLT5ucyAhPSBOVUxMKSAmJiAobm9kZS0+bnMtPnByZWZpeCAhPSBOVUxMKSkKKwlyZXR1cm4oeG1sU3RyZHVwKG5vZGUtPm5zLT5wcmVmaXgpKTsKKyAgICByZXR1cm4oTlVMTCk7Cit9CisKKy8qKgorICogeG1sVGV4dFJlYWRlckNvbnN0UHJlZml4OgorICogQHJlYWRlcjogIHRoZSB4bWxUZXh0UmVhZGVyUHRyIHVzZWQKKyAqCisgKiBBIHNob3J0aGFuZCByZWZlcmVuY2UgdG8gdGhlIG5hbWVzcGFjZSBhc3NvY2lhdGVkIHdpdGggdGhlIG5vZGUuCisgKgorICogUmV0dXJucyB0aGUgcHJlZml4IG9yIE5VTEwgaWYgbm90IGF2YWlsYWJsZSwgdGhlIHN0cmluZyBpcyBkZWFsbG9jYXRlZAorICogICAgICAgICB3aXRoIHRoZSByZWFkZXIuCisgKi8KK2NvbnN0IHhtbENoYXIgKgoreG1sVGV4dFJlYWRlckNvbnN0UHJlZml4KHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyKSB7CisgICAgeG1sTm9kZVB0ciBub2RlOworICAgIGlmICgocmVhZGVyID09IE5VTEwpIHx8IChyZWFkZXItPm5vZGUgPT0gTlVMTCkpCisJcmV0dXJuKE5VTEwpOworICAgIGlmIChyZWFkZXItPmN1cm5vZGUgIT0gTlVMTCkKKwlub2RlID0gcmVhZGVyLT5jdXJub2RlOworICAgIGVsc2UKKwlub2RlID0gcmVhZGVyLT5ub2RlOworICAgIGlmIChub2RlLT50eXBlID09IFhNTF9OQU1FU1BBQ0VfREVDTCkgeworCXhtbE5zUHRyIG5zID0gKHhtbE5zUHRyKSBub2RlOworCWlmIChucy0+cHJlZml4ID09IE5VTEwpCisJICAgIHJldHVybihOVUxMKTsKKwlyZXR1cm4oQ09OU1RTVFIoQkFEX0NBU1QgInhtbG5zIikpOworICAgIH0KKyAgICBpZiAoKG5vZGUtPnR5cGUgIT0gWE1MX0VMRU1FTlRfTk9ERSkgJiYKKwkobm9kZS0+dHlwZSAhPSBYTUxfQVRUUklCVVRFX05PREUpKQorCXJldHVybihOVUxMKTsKKyAgICBpZiAoKG5vZGUtPm5zICE9IE5VTEwpICYmIChub2RlLT5ucy0+cHJlZml4ICE9IE5VTEwpKQorCXJldHVybihDT05TVFNUUihub2RlLT5ucy0+cHJlZml4KSk7CisgICAgcmV0dXJuKE5VTEwpOworfQorCisvKioKKyAqIHhtbFRleHRSZWFkZXJOYW1lc3BhY2VVcmk6CisgKiBAcmVhZGVyOiAgdGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZAorICoKKyAqIFRoZSBVUkkgZGVmaW5pbmcgdGhlIG5hbWVzcGFjZSBhc3NvY2lhdGVkIHdpdGggdGhlIG5vZGUuCisgKgorICogUmV0dXJucyB0aGUgbmFtZXNwYWNlIFVSSSBvciBOVUxMIGlmIG5vdCBhdmFpbGFibGUsCisgKiAgICBpZiBub24gTlVMTCBpdCBuZWVkIHRvIGJlIGZyZWVkIGJ5IHRoZSBjYWxsZXIuCisgKi8KK3htbENoYXIgKgoreG1sVGV4dFJlYWRlck5hbWVzcGFjZVVyaSh4bWxUZXh0UmVhZGVyUHRyIHJlYWRlcikgeworICAgIHhtbE5vZGVQdHIgbm9kZTsKKyAgICBpZiAoKHJlYWRlciA9PSBOVUxMKSB8fCAocmVhZGVyLT5ub2RlID09IE5VTEwpKQorCXJldHVybihOVUxMKTsKKyAgICBpZiAocmVhZGVyLT5jdXJub2RlICE9IE5VTEwpCisJbm9kZSA9IHJlYWRlci0+Y3Vybm9kZTsKKyAgICBlbHNlCisJbm9kZSA9IHJlYWRlci0+bm9kZTsKKyAgICBpZiAobm9kZS0+dHlwZSA9PSBYTUxfTkFNRVNQQUNFX0RFQ0wpCisJcmV0dXJuKHhtbFN0cmR1cChCQURfQ0FTVCAiaHR0cDovL3d3dy53My5vcmcvMjAwMC94bWxucy8iKSk7CisgICAgaWYgKChub2RlLT50eXBlICE9IFhNTF9FTEVNRU5UX05PREUpICYmCisJKG5vZGUtPnR5cGUgIT0gWE1MX0FUVFJJQlVURV9OT0RFKSkKKwlyZXR1cm4oTlVMTCk7CisgICAgaWYgKG5vZGUtPm5zICE9IE5VTEwpCisJcmV0dXJuKHhtbFN0cmR1cChub2RlLT5ucy0+aHJlZikpOworICAgIHJldHVybihOVUxMKTsKK30KKworLyoqCisgKiB4bWxUZXh0UmVhZGVyQ29uc3ROYW1lc3BhY2VVcmk6CisgKiBAcmVhZGVyOiAgdGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZAorICoKKyAqIFRoZSBVUkkgZGVmaW5pbmcgdGhlIG5hbWVzcGFjZSBhc3NvY2lhdGVkIHdpdGggdGhlIG5vZGUuCisgKgorICogUmV0dXJucyB0aGUgbmFtZXNwYWNlIFVSSSBvciBOVUxMIGlmIG5vdCBhdmFpbGFibGUsIHRoZSBzdHJpbmcKKyAqICAgICAgICAgd2lsbCBiZSBkZWFsbG9jYXRlZCB3aXRoIHRoZSByZWFkZXIKKyAqLworY29uc3QgeG1sQ2hhciAqCit4bWxUZXh0UmVhZGVyQ29uc3ROYW1lc3BhY2VVcmkoeG1sVGV4dFJlYWRlclB0ciByZWFkZXIpIHsKKyAgICB4bWxOb2RlUHRyIG5vZGU7CisgICAgaWYgKChyZWFkZXIgPT0gTlVMTCkgfHwgKHJlYWRlci0+bm9kZSA9PSBOVUxMKSkKKwlyZXR1cm4oTlVMTCk7CisgICAgaWYgKHJlYWRlci0+Y3Vybm9kZSAhPSBOVUxMKQorCW5vZGUgPSByZWFkZXItPmN1cm5vZGU7CisgICAgZWxzZQorCW5vZGUgPSByZWFkZXItPm5vZGU7CisgICAgaWYgKG5vZGUtPnR5cGUgPT0gWE1MX05BTUVTUEFDRV9ERUNMKQorCXJldHVybihDT05TVFNUUihCQURfQ0FTVCAiaHR0cDovL3d3dy53My5vcmcvMjAwMC94bWxucy8iKSk7CisgICAgaWYgKChub2RlLT50eXBlICE9IFhNTF9FTEVNRU5UX05PREUpICYmCisJKG5vZGUtPnR5cGUgIT0gWE1MX0FUVFJJQlVURV9OT0RFKSkKKwlyZXR1cm4oTlVMTCk7CisgICAgaWYgKG5vZGUtPm5zICE9IE5VTEwpCisJcmV0dXJuKENPTlNUU1RSKG5vZGUtPm5zLT5ocmVmKSk7CisgICAgcmV0dXJuKE5VTEwpOworfQorCisvKioKKyAqIHhtbFRleHRSZWFkZXJCYXNlVXJpOgorICogQHJlYWRlcjogIHRoZSB4bWxUZXh0UmVhZGVyUHRyIHVzZWQKKyAqCisgKiBUaGUgYmFzZSBVUkkgb2YgdGhlIG5vZGUuCisgKgorICogUmV0dXJucyB0aGUgYmFzZSBVUkkgb3IgTlVMTCBpZiBub3QgYXZhaWxhYmxlLAorICogICAgaWYgbm9uIE5VTEwgaXQgbmVlZCB0byBiZSBmcmVlZCBieSB0aGUgY2FsbGVyLgorICovCit4bWxDaGFyICoKK3htbFRleHRSZWFkZXJCYXNlVXJpKHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyKSB7CisgICAgaWYgKChyZWFkZXIgPT0gTlVMTCkgfHwgKHJlYWRlci0+bm9kZSA9PSBOVUxMKSkKKwlyZXR1cm4oTlVMTCk7CisgICAgcmV0dXJuKHhtbE5vZGVHZXRCYXNlKE5VTEwsIHJlYWRlci0+bm9kZSkpOworfQorCisvKioKKyAqIHhtbFRleHRSZWFkZXJDb25zdEJhc2VVcmk6CisgKiBAcmVhZGVyOiAgdGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZAorICoKKyAqIFRoZSBiYXNlIFVSSSBvZiB0aGUgbm9kZS4KKyAqCisgKiBSZXR1cm5zIHRoZSBiYXNlIFVSSSBvciBOVUxMIGlmIG5vdCBhdmFpbGFibGUsIHRoZSBzdHJpbmcKKyAqICAgICAgICAgd2lsbCBiZSBkZWFsbG9jYXRlZCB3aXRoIHRoZSByZWFkZXIKKyAqLworY29uc3QgeG1sQ2hhciAqCit4bWxUZXh0UmVhZGVyQ29uc3RCYXNlVXJpKHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyKSB7CisgICAgeG1sQ2hhciAqdG1wOworICAgIGNvbnN0IHhtbENoYXIgKnJldDsKKworICAgIGlmICgocmVhZGVyID09IE5VTEwpIHx8IChyZWFkZXItPm5vZGUgPT0gTlVMTCkpCisJcmV0dXJuKE5VTEwpOworICAgIHRtcCA9IHhtbE5vZGVHZXRCYXNlKE5VTEwsIHJlYWRlci0+bm9kZSk7CisgICAgaWYgKHRtcCA9PSBOVUxMKQorICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgcmV0ID0gQ09OU1RTVFIodG1wKTsKKyAgICB4bWxGcmVlKHRtcCk7CisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogeG1sVGV4dFJlYWRlckRlcHRoOgorICogQHJlYWRlcjogIHRoZSB4bWxUZXh0UmVhZGVyUHRyIHVzZWQKKyAqCisgKiBUaGUgZGVwdGggb2YgdGhlIG5vZGUgaW4gdGhlIHRyZWUuCisgKgorICogUmV0dXJucyB0aGUgZGVwdGggb3IgLTEgaW4gY2FzZSBvZiBlcnJvcgorICovCitpbnQKK3htbFRleHRSZWFkZXJEZXB0aCh4bWxUZXh0UmVhZGVyUHRyIHJlYWRlcikgeworICAgIGlmIChyZWFkZXIgPT0gTlVMTCkKKwlyZXR1cm4oLTEpOworICAgIGlmIChyZWFkZXItPm5vZGUgPT0gTlVMTCkKKwlyZXR1cm4oMCk7CisKKyAgICBpZiAocmVhZGVyLT5jdXJub2RlICE9IE5VTEwpIHsKKwlpZiAoKHJlYWRlci0+Y3Vybm9kZS0+dHlwZSA9PSBYTUxfQVRUUklCVVRFX05PREUpIHx8CisJICAgIChyZWFkZXItPmN1cm5vZGUtPnR5cGUgPT0gWE1MX05BTUVTUEFDRV9ERUNMKSkKKwkgICAgcmV0dXJuKHJlYWRlci0+ZGVwdGggKyAxKTsKKwlyZXR1cm4ocmVhZGVyLT5kZXB0aCArIDIpOworICAgIH0KKyAgICByZXR1cm4ocmVhZGVyLT5kZXB0aCk7Cit9CisKKy8qKgorICogeG1sVGV4dFJlYWRlckhhc0F0dHJpYnV0ZXM6CisgKiBAcmVhZGVyOiAgdGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZAorICoKKyAqIFdoZXRoZXIgdGhlIG5vZGUgaGFzIGF0dHJpYnV0ZXMuCisgKgorICogUmV0dXJucyAxIGlmIHRydWUsIDAgaWYgZmFsc2UsIGFuZCAtMSBpbiBjYXNlIG9yIGVycm9yCisgKi8KK2ludAoreG1sVGV4dFJlYWRlckhhc0F0dHJpYnV0ZXMoeG1sVGV4dFJlYWRlclB0ciByZWFkZXIpIHsKKyAgICB4bWxOb2RlUHRyIG5vZGU7CisgICAgaWYgKHJlYWRlciA9PSBOVUxMKQorCXJldHVybigtMSk7CisgICAgaWYgKHJlYWRlci0+bm9kZSA9PSBOVUxMKQorCXJldHVybigwKTsKKyAgICBpZiAocmVhZGVyLT5jdXJub2RlICE9IE5VTEwpCisJbm9kZSA9IHJlYWRlci0+Y3Vybm9kZTsKKyAgICBlbHNlCisJbm9kZSA9IHJlYWRlci0+bm9kZTsKKworICAgIGlmICgobm9kZS0+dHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFKSAmJgorCSgobm9kZS0+cHJvcGVydGllcyAhPSBOVUxMKSB8fCAobm9kZS0+bnNEZWYgIT0gTlVMTCkpKQorCXJldHVybigxKTsKKyAgICAvKiBUT0RPOiBoYW5kbGUgdGhlIHhtbERlY2wgKi8KKyAgICByZXR1cm4oMCk7Cit9CisKKy8qKgorICogeG1sVGV4dFJlYWRlckhhc1ZhbHVlOgorICogQHJlYWRlcjogIHRoZSB4bWxUZXh0UmVhZGVyUHRyIHVzZWQKKyAqCisgKiBXaGV0aGVyIHRoZSBub2RlIGNhbiBoYXZlIGEgdGV4dCB2YWx1ZS4KKyAqCisgKiBSZXR1cm5zIDEgaWYgdHJ1ZSwgMCBpZiBmYWxzZSwgYW5kIC0xIGluIGNhc2Ugb3IgZXJyb3IKKyAqLworaW50Cit4bWxUZXh0UmVhZGVySGFzVmFsdWUoeG1sVGV4dFJlYWRlclB0ciByZWFkZXIpIHsKKyAgICB4bWxOb2RlUHRyIG5vZGU7CisgICAgaWYgKHJlYWRlciA9PSBOVUxMKQorCXJldHVybigtMSk7CisgICAgaWYgKHJlYWRlci0+bm9kZSA9PSBOVUxMKQorCXJldHVybigwKTsKKyAgICBpZiAocmVhZGVyLT5jdXJub2RlICE9IE5VTEwpCisJbm9kZSA9IHJlYWRlci0+Y3Vybm9kZTsKKyAgICBlbHNlCisJbm9kZSA9IHJlYWRlci0+bm9kZTsKKworICAgIHN3aXRjaCAobm9kZS0+dHlwZSkgeworICAgICAgICBjYXNlIFhNTF9BVFRSSUJVVEVfTk9ERToKKyAgICAgICAgY2FzZSBYTUxfVEVYVF9OT0RFOgorICAgICAgICBjYXNlIFhNTF9DREFUQV9TRUNUSU9OX05PREU6CisgICAgICAgIGNhc2UgWE1MX1BJX05PREU6CisgICAgICAgIGNhc2UgWE1MX0NPTU1FTlRfTk9ERToKKyAgICAgICAgY2FzZSBYTUxfTkFNRVNQQUNFX0RFQ0w6CisJICAgIHJldHVybigxKTsKKwlkZWZhdWx0OgorCSAgICBicmVhazsKKyAgICB9CisgICAgcmV0dXJuKDApOworfQorCisvKioKKyAqIHhtbFRleHRSZWFkZXJWYWx1ZToKKyAqIEByZWFkZXI6ICB0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkCisgKgorICogUHJvdmlkZXMgdGhlIHRleHQgdmFsdWUgb2YgdGhlIG5vZGUgaWYgcHJlc2VudAorICoKKyAqIFJldHVybnMgdGhlIHN0cmluZyBvciBOVUxMIGlmIG5vdCBhdmFpbGFibGUuIFRoZSByZXN1bHQgbXVzdCBiZSBkZWFsbG9jYXRlZAorICogICAgIHdpdGggeG1sRnJlZSgpCisgKi8KK3htbENoYXIgKgoreG1sVGV4dFJlYWRlclZhbHVlKHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyKSB7CisgICAgeG1sTm9kZVB0ciBub2RlOworICAgIGlmIChyZWFkZXIgPT0gTlVMTCkKKwlyZXR1cm4oTlVMTCk7CisgICAgaWYgKHJlYWRlci0+bm9kZSA9PSBOVUxMKQorCXJldHVybihOVUxMKTsKKyAgICBpZiAocmVhZGVyLT5jdXJub2RlICE9IE5VTEwpCisJbm9kZSA9IHJlYWRlci0+Y3Vybm9kZTsKKyAgICBlbHNlCisJbm9kZSA9IHJlYWRlci0+bm9kZTsKKworICAgIHN3aXRjaCAobm9kZS0+dHlwZSkgeworICAgICAgICBjYXNlIFhNTF9OQU1FU1BBQ0VfREVDTDoKKwkgICAgcmV0dXJuKHhtbFN0cmR1cCgoKHhtbE5zUHRyKSBub2RlKS0+aHJlZikpOworICAgICAgICBjYXNlIFhNTF9BVFRSSUJVVEVfTk9ERTp7CisJICAgIHhtbEF0dHJQdHIgYXR0ciA9ICh4bWxBdHRyUHRyKSBub2RlOworCisJICAgIGlmIChhdHRyLT5wYXJlbnQgIT0gTlVMTCkKKwkJcmV0dXJuICh4bWxOb2RlTGlzdEdldFN0cmluZworCQkJKGF0dHItPnBhcmVudC0+ZG9jLCBhdHRyLT5jaGlsZHJlbiwgMSkpOworCSAgICBlbHNlCisJCXJldHVybiAoeG1sTm9kZUxpc3RHZXRTdHJpbmcoTlVMTCwgYXR0ci0+Y2hpbGRyZW4sIDEpKTsKKwkgICAgYnJlYWs7CisJfQorICAgICAgICBjYXNlIFhNTF9URVhUX05PREU6CisgICAgICAgIGNhc2UgWE1MX0NEQVRBX1NFQ1RJT05fTk9ERToKKyAgICAgICAgY2FzZSBYTUxfUElfTk9ERToKKyAgICAgICAgY2FzZSBYTUxfQ09NTUVOVF9OT0RFOgorICAgICAgICAgICAgaWYgKG5vZGUtPmNvbnRlbnQgIT0gTlVMTCkKKyAgICAgICAgICAgICAgICByZXR1cm4gKHhtbFN0cmR1cChub2RlLT5jb250ZW50KSk7CisJZGVmYXVsdDoKKwkgICAgYnJlYWs7CisgICAgfQorICAgIHJldHVybihOVUxMKTsKK30KKworLyoqCisgKiB4bWxUZXh0UmVhZGVyQ29uc3RWYWx1ZToKKyAqIEByZWFkZXI6ICB0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkCisgKgorICogUHJvdmlkZXMgdGhlIHRleHQgdmFsdWUgb2YgdGhlIG5vZGUgaWYgcHJlc2VudAorICoKKyAqIFJldHVybnMgdGhlIHN0cmluZyBvciBOVUxMIGlmIG5vdCBhdmFpbGFibGUuIFRoZSByZXN1bHQgd2lsbCBiZQorICogICAgIGRlYWxsb2NhdGVkIG9uIHRoZSBuZXh0IFJlYWQoKSBvcGVyYXRpb24uCisgKi8KK2NvbnN0IHhtbENoYXIgKgoreG1sVGV4dFJlYWRlckNvbnN0VmFsdWUoeG1sVGV4dFJlYWRlclB0ciByZWFkZXIpIHsKKyAgICB4bWxOb2RlUHRyIG5vZGU7CisgICAgaWYgKHJlYWRlciA9PSBOVUxMKQorCXJldHVybihOVUxMKTsKKyAgICBpZiAocmVhZGVyLT5ub2RlID09IE5VTEwpCisJcmV0dXJuKE5VTEwpOworICAgIGlmIChyZWFkZXItPmN1cm5vZGUgIT0gTlVMTCkKKwlub2RlID0gcmVhZGVyLT5jdXJub2RlOworICAgIGVsc2UKKwlub2RlID0gcmVhZGVyLT5ub2RlOworCisgICAgc3dpdGNoIChub2RlLT50eXBlKSB7CisgICAgICAgIGNhc2UgWE1MX05BTUVTUEFDRV9ERUNMOgorCSAgICByZXR1cm4oKCh4bWxOc1B0cikgbm9kZSktPmhyZWYpOworICAgICAgICBjYXNlIFhNTF9BVFRSSUJVVEVfTk9ERTp7CisJICAgIHhtbEF0dHJQdHIgYXR0ciA9ICh4bWxBdHRyUHRyKSBub2RlOworCisJICAgIGlmICgoYXR0ci0+Y2hpbGRyZW4gIT0gTlVMTCkgJiYKKwkgICAgICAgIChhdHRyLT5jaGlsZHJlbi0+dHlwZSA9PSBYTUxfVEVYVF9OT0RFKSAmJgorCQkoYXR0ci0+Y2hpbGRyZW4tPm5leHQgPT0gTlVMTCkpCisJCXJldHVybihhdHRyLT5jaGlsZHJlbi0+Y29udGVudCk7CisJICAgIGVsc2UgeworCQlpZiAocmVhZGVyLT5idWZmZXIgPT0gTlVMTCkgeworCQkgICAgcmVhZGVyLT5idWZmZXIgPSB4bWxCdWZDcmVhdGVTaXplKDEwMCk7CisgICAgICAgICAgICAgICAgICAgIGlmIChyZWFkZXItPmJ1ZmZlciA9PSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAieG1sVGV4dFJlYWRlclNldHVwIDogbWFsbG9jIGZhaWxlZFxuIik7CisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKE5VTEwpOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfSBlbHNlCisgICAgICAgICAgICAgICAgICAgIHhtbEJ1ZkVtcHR5KHJlYWRlci0+YnVmZmVyKTsKKwkgICAgICAgIHhtbEJ1ZkdldE5vZGVDb250ZW50KHJlYWRlci0+YnVmZmVyLCBub2RlKTsKKwkJcmV0dXJuKHhtbEJ1ZkNvbnRlbnQocmVhZGVyLT5idWZmZXIpKTsKKwkgICAgfQorCSAgICBicmVhazsKKwl9CisgICAgICAgIGNhc2UgWE1MX1RFWFRfTk9ERToKKyAgICAgICAgY2FzZSBYTUxfQ0RBVEFfU0VDVElPTl9OT0RFOgorICAgICAgICBjYXNlIFhNTF9QSV9OT0RFOgorICAgICAgICBjYXNlIFhNTF9DT01NRU5UX05PREU6CisJICAgIHJldHVybihub2RlLT5jb250ZW50KTsKKwlkZWZhdWx0OgorCSAgICBicmVhazsKKyAgICB9CisgICAgcmV0dXJuKE5VTEwpOworfQorCisvKioKKyAqIHhtbFRleHRSZWFkZXJJc0RlZmF1bHQ6CisgKiBAcmVhZGVyOiAgdGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZAorICoKKyAqIFdoZXRoZXIgYW4gQXR0cmlidXRlICBub2RlIHdhcyBnZW5lcmF0ZWQgZnJvbSB0aGUgZGVmYXVsdCB2YWx1ZQorICogZGVmaW5lZCBpbiB0aGUgRFREIG9yIHNjaGVtYS4KKyAqCisgKiBSZXR1cm5zIDAgaWYgbm90IGRlZmF1bHRlZCwgMSBpZiBkZWZhdWx0ZWQsIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK2ludAoreG1sVGV4dFJlYWRlcklzRGVmYXVsdCh4bWxUZXh0UmVhZGVyUHRyIHJlYWRlcikgeworICAgIGlmIChyZWFkZXIgPT0gTlVMTCkKKwlyZXR1cm4oLTEpOworICAgIHJldHVybigwKTsKK30KKworLyoqCisgKiB4bWxUZXh0UmVhZGVyUXVvdGVDaGFyOgorICogQHJlYWRlcjogIHRoZSB4bWxUZXh0UmVhZGVyUHRyIHVzZWQKKyAqCisgKiBUaGUgcXVvdGF0aW9uIG1hcmsgY2hhcmFjdGVyIHVzZWQgdG8gZW5jbG9zZSB0aGUgdmFsdWUgb2YgYW4gYXR0cmlidXRlLgorICoKKyAqIFJldHVybnMgIiBvciAnIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK2ludAoreG1sVGV4dFJlYWRlclF1b3RlQ2hhcih4bWxUZXh0UmVhZGVyUHRyIHJlYWRlcikgeworICAgIGlmIChyZWFkZXIgPT0gTlVMTCkKKwlyZXR1cm4oLTEpOworICAgIC8qIFRPRE8gbWF5YmUgbG9va3VwIHRoZSBhdHRyaWJ1dGUgdmFsdWUgZm9yICIgZmlyc3QgKi8KKyAgICByZXR1cm4oKGludCkgJyInKTsKK30KKworLyoqCisgKiB4bWxUZXh0UmVhZGVyWG1sTGFuZzoKKyAqIEByZWFkZXI6ICB0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkCisgKgorICogVGhlIHhtbDpsYW5nIHNjb3BlIHdpdGhpbiB3aGljaCB0aGUgbm9kZSByZXNpZGVzLgorICoKKyAqIFJldHVybnMgdGhlIHhtbDpsYW5nIHZhbHVlIG9yIE5VTEwgaWYgbm9uZSBleGlzdHMuLAorICogICAgaWYgbm9uIE5VTEwgaXQgbmVlZCB0byBiZSBmcmVlZCBieSB0aGUgY2FsbGVyLgorICovCit4bWxDaGFyICoKK3htbFRleHRSZWFkZXJYbWxMYW5nKHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyKSB7CisgICAgaWYgKHJlYWRlciA9PSBOVUxMKQorCXJldHVybihOVUxMKTsKKyAgICBpZiAocmVhZGVyLT5ub2RlID09IE5VTEwpCisJcmV0dXJuKE5VTEwpOworICAgIHJldHVybih4bWxOb2RlR2V0TGFuZyhyZWFkZXItPm5vZGUpKTsKK30KKworLyoqCisgKiB4bWxUZXh0UmVhZGVyQ29uc3RYbWxMYW5nOgorICogQHJlYWRlcjogIHRoZSB4bWxUZXh0UmVhZGVyUHRyIHVzZWQKKyAqCisgKiBUaGUgeG1sOmxhbmcgc2NvcGUgd2l0aGluIHdoaWNoIHRoZSBub2RlIHJlc2lkZXMuCisgKgorICogUmV0dXJucyB0aGUgeG1sOmxhbmcgdmFsdWUgb3IgTlVMTCBpZiBub25lIGV4aXN0cy4KKyAqLworY29uc3QgeG1sQ2hhciAqCit4bWxUZXh0UmVhZGVyQ29uc3RYbWxMYW5nKHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyKSB7CisgICAgeG1sQ2hhciAqdG1wOworICAgIGNvbnN0IHhtbENoYXIgKnJldDsKKworICAgIGlmIChyZWFkZXIgPT0gTlVMTCkKKwlyZXR1cm4oTlVMTCk7CisgICAgaWYgKHJlYWRlci0+bm9kZSA9PSBOVUxMKQorCXJldHVybihOVUxMKTsKKyAgICB0bXAgPSB4bWxOb2RlR2V0TGFuZyhyZWFkZXItPm5vZGUpOworICAgIGlmICh0bXAgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuKE5VTEwpOworICAgIHJldCA9IENPTlNUU1RSKHRtcCk7CisgICAgeG1sRnJlZSh0bXApOworICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbFRleHRSZWFkZXJDb25zdFN0cmluZzoKKyAqIEByZWFkZXI6ICB0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkCisgKiBAc3RyOiAgdGhlIHN0cmluZyB0byBpbnRlcm4uCisgKgorICogR2V0IGFuIGludGVybmVkIHN0cmluZyBmcm9tIHRoZSByZWFkZXIsIGFsbG93cyBmb3IgZXhhbXBsZSB0bworICogc3BlZWR1cCBzdHJpbmcgbmFtZSBjb21wYXJpc29ucworICoKKyAqIFJldHVybnMgYW4gaW50ZXJuZWQgY29weSBvZiB0aGUgc3RyaW5nIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci4gVGhlCisgKiAgICAgICAgIHN0cmluZyB3aWxsIGJlIGRlYWxsb2NhdGVkIHdpdGggdGhlIHJlYWRlci4KKyAqLworY29uc3QgeG1sQ2hhciAqCit4bWxUZXh0UmVhZGVyQ29uc3RTdHJpbmcoeG1sVGV4dFJlYWRlclB0ciByZWFkZXIsIGNvbnN0IHhtbENoYXIgKnN0cikgeworICAgIGlmIChyZWFkZXIgPT0gTlVMTCkKKwlyZXR1cm4oTlVMTCk7CisgICAgcmV0dXJuKENPTlNUU1RSKHN0cikpOworfQorCisvKioKKyAqIHhtbFRleHRSZWFkZXJOb3JtYWxpemF0aW9uOgorICogQHJlYWRlcjogIHRoZSB4bWxUZXh0UmVhZGVyUHRyIHVzZWQKKyAqCisgKiBUaGUgdmFsdWUgaW5kaWNhdGluZyB3aGV0aGVyIHRvIG5vcm1hbGl6ZSB3aGl0ZSBzcGFjZSBhbmQgYXR0cmlidXRlIHZhbHVlcy4KKyAqIFNpbmNlIGF0dHJpYnV0ZSB2YWx1ZSBhbmQgZW5kIG9mIGxpbmUgbm9ybWFsaXphdGlvbnMgYXJlIGEgTVVTVCBpbiB0aGUgWE1MCisgKiBzcGVjaWZpY2F0aW9uIG9ubHkgdGhlIHZhbHVlIHRydWUgaXMgYWNjZXB0ZWQuIFRoZSBicm9rZW4gYmFoYXZpb3VyIG9mCisgKiBhY2NlcHRpbmcgb3V0IG9mIHJhbmdlIGNoYXJhY3RlciBlbnRpdGllcyBsaWtlICYjMDsgaXMgb2YgY291cnNlIG5vdAorICogc3VwcG9ydGVkIGVpdGhlci4KKyAqCisgKiBSZXR1cm5zIDEgb3IgLTEgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50Cit4bWxUZXh0UmVhZGVyTm9ybWFsaXphdGlvbih4bWxUZXh0UmVhZGVyUHRyIHJlYWRlcikgeworICAgIGlmIChyZWFkZXIgPT0gTlVMTCkKKwlyZXR1cm4oLTEpOworICAgIHJldHVybigxKTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJCUV4dGVuc2lvbnMgdG8gdGhlIGJhc2UgQVBJcwkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqCisgKiB4bWxUZXh0UmVhZGVyU2V0UGFyc2VyUHJvcDoKKyAqIEByZWFkZXI6ICB0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkCisgKiBAcHJvcDogIHRoZSB4bWxQYXJzZXJQcm9wZXJ0aWVzIHRvIHNldAorICogQHZhbHVlOiAgdXN1YWxseSAwIG9yIDEgdG8gKGRlKWFjdGl2YXRlIGl0CisgKgorICogQ2hhbmdlIHRoZSBwYXJzZXIgcHJvY2Vzc2luZyBiZWhhdmlvdXIgYnkgY2hhbmdpbmcgc29tZSBvZiBpdHMgaW50ZXJuYWwKKyAqIHByb3BlcnRpZXMuIE5vdGUgdGhhdCBzb21lIHByb3BlcnRpZXMgY2FuIG9ubHkgYmUgY2hhbmdlZCBiZWZvcmUgYW55CisgKiByZWFkIGhhcyBiZWVuIGRvbmUuCisgKgorICogUmV0dXJucyAwIGlmIHRoZSBjYWxsIHdhcyBzdWNjZXNzZnVsLCBvciAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK2ludAoreG1sVGV4dFJlYWRlclNldFBhcnNlclByb3AoeG1sVGV4dFJlYWRlclB0ciByZWFkZXIsIGludCBwcm9wLCBpbnQgdmFsdWUpIHsKKyAgICB4bWxQYXJzZXJQcm9wZXJ0aWVzIHAgPSAoeG1sUGFyc2VyUHJvcGVydGllcykgcHJvcDsKKyAgICB4bWxQYXJzZXJDdHh0UHRyIGN0eHQ7CisKKyAgICBpZiAoKHJlYWRlciA9PSBOVUxMKSB8fCAocmVhZGVyLT5jdHh0ID09IE5VTEwpKQorCXJldHVybigtMSk7CisgICAgY3R4dCA9IHJlYWRlci0+Y3R4dDsKKworICAgIHN3aXRjaCAocCkgeworICAgICAgICBjYXNlIFhNTF9QQVJTRVJfTE9BRERURDoKKwkgICAgaWYgKHZhbHVlICE9IDApIHsKKwkJaWYgKGN0eHQtPmxvYWRzdWJzZXQgPT0gMCkgeworCQkgICAgaWYgKHJlYWRlci0+bW9kZSAhPSBYTUxfVEVYVFJFQURFUl9NT0RFX0lOSVRJQUwpCisJCQlyZXR1cm4oLTEpOworCQkgICAgY3R4dC0+bG9hZHN1YnNldCA9IFhNTF9ERVRFQ1RfSURTOworCQl9CisJICAgIH0gZWxzZSB7CisJCWN0eHQtPmxvYWRzdWJzZXQgPSAwOworCSAgICB9CisJICAgIHJldHVybigwKTsKKyAgICAgICAgY2FzZSBYTUxfUEFSU0VSX0RFRkFVTFRBVFRSUzoKKwkgICAgaWYgKHZhbHVlICE9IDApIHsKKwkJY3R4dC0+bG9hZHN1YnNldCB8PSBYTUxfQ09NUExFVEVfQVRUUlM7CisJICAgIH0gZWxzZSB7CisJCWlmIChjdHh0LT5sb2Fkc3Vic2V0ICYgWE1MX0NPTVBMRVRFX0FUVFJTKQorCQkgICAgY3R4dC0+bG9hZHN1YnNldCAtPSBYTUxfQ09NUExFVEVfQVRUUlM7CisJICAgIH0KKwkgICAgcmV0dXJuKDApOworICAgICAgICBjYXNlIFhNTF9QQVJTRVJfVkFMSURBVEU6CisJICAgIGlmICh2YWx1ZSAhPSAwKSB7CisJCWN0eHQtPnZhbGlkYXRlID0gMTsKKwkJcmVhZGVyLT52YWxpZGF0ZSA9IFhNTF9URVhUUkVBREVSX1ZBTElEQVRFX0RURDsKKwkgICAgfSBlbHNlIHsKKwkJY3R4dC0+dmFsaWRhdGUgPSAwOworCSAgICB9CisJICAgIHJldHVybigwKTsKKyAgICAgICAgY2FzZSBYTUxfUEFSU0VSX1NVQlNUX0VOVElUSUVTOgorCSAgICBpZiAodmFsdWUgIT0gMCkgeworCQljdHh0LT5yZXBsYWNlRW50aXRpZXMgPSAxOworCSAgICB9IGVsc2UgeworCQljdHh0LT5yZXBsYWNlRW50aXRpZXMgPSAwOworCSAgICB9CisJICAgIHJldHVybigwKTsKKyAgICB9CisgICAgcmV0dXJuKC0xKTsKK30KKworLyoqCisgKiB4bWxUZXh0UmVhZGVyR2V0UGFyc2VyUHJvcDoKKyAqIEByZWFkZXI6ICB0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkCisgKiBAcHJvcDogIHRoZSB4bWxQYXJzZXJQcm9wZXJ0aWVzIHRvIGdldAorICoKKyAqIFJlYWQgdGhlIHBhcnNlciBpbnRlcm5hbCBwcm9wZXJ0eS4KKyAqCisgKiBSZXR1cm5zIHRoZSB2YWx1ZSwgdXN1YWxseSAwIG9yIDEsIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludAoreG1sVGV4dFJlYWRlckdldFBhcnNlclByb3AoeG1sVGV4dFJlYWRlclB0ciByZWFkZXIsIGludCBwcm9wKSB7CisgICAgeG1sUGFyc2VyUHJvcGVydGllcyBwID0gKHhtbFBhcnNlclByb3BlcnRpZXMpIHByb3A7CisgICAgeG1sUGFyc2VyQ3R4dFB0ciBjdHh0OworCisgICAgaWYgKChyZWFkZXIgPT0gTlVMTCkgfHwgKHJlYWRlci0+Y3R4dCA9PSBOVUxMKSkKKwlyZXR1cm4oLTEpOworICAgIGN0eHQgPSByZWFkZXItPmN0eHQ7CisKKyAgICBzd2l0Y2ggKHApIHsKKyAgICAgICAgY2FzZSBYTUxfUEFSU0VSX0xPQUREVEQ6CisJICAgIGlmICgoY3R4dC0+bG9hZHN1YnNldCAhPSAwKSB8fCAoY3R4dC0+dmFsaWRhdGUgIT0gMCkpCisJCXJldHVybigxKTsKKwkgICAgcmV0dXJuKDApOworICAgICAgICBjYXNlIFhNTF9QQVJTRVJfREVGQVVMVEFUVFJTOgorCSAgICBpZiAoY3R4dC0+bG9hZHN1YnNldCAmIFhNTF9DT01QTEVURV9BVFRSUykKKwkJcmV0dXJuKDEpOworCSAgICByZXR1cm4oMCk7CisgICAgICAgIGNhc2UgWE1MX1BBUlNFUl9WQUxJREFURToKKwkgICAgcmV0dXJuKHJlYWRlci0+dmFsaWRhdGUpOworCWNhc2UgWE1MX1BBUlNFUl9TVUJTVF9FTlRJVElFUzoKKwkgICAgcmV0dXJuKGN0eHQtPnJlcGxhY2VFbnRpdGllcyk7CisgICAgfQorICAgIHJldHVybigtMSk7Cit9CisKKworLyoqCisgKiB4bWxUZXh0UmVhZGVyR2V0UGFyc2VyTGluZU51bWJlcjoKKyAqIEByZWFkZXI6IHRoZSB1c2VyIGRhdGEgKFhNTCByZWFkZXIgY29udGV4dCkKKyAqCisgKiBQcm92aWRlIHRoZSBsaW5lIG51bWJlciBvZiB0aGUgY3VycmVudCBwYXJzaW5nIHBvaW50LgorICoKKyAqIFJldHVybnMgYW4gaW50IG9yIDAgaWYgbm90IGF2YWlsYWJsZQorICovCitpbnQKK3htbFRleHRSZWFkZXJHZXRQYXJzZXJMaW5lTnVtYmVyKHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyKQoreworICAgIGlmICgocmVhZGVyID09IE5VTEwpIHx8IChyZWFkZXItPmN0eHQgPT0gTlVMTCkgfHwKKyAgICAgICAgKHJlYWRlci0+Y3R4dC0+aW5wdXQgPT0gTlVMTCkpIHsKKyAgICAgICAgcmV0dXJuICgwKTsKKyAgICB9CisgICAgcmV0dXJuIChyZWFkZXItPmN0eHQtPmlucHV0LT5saW5lKTsKK30KKworLyoqCisgKiB4bWxUZXh0UmVhZGVyR2V0UGFyc2VyQ29sdW1uTnVtYmVyOgorICogQHJlYWRlcjogdGhlIHVzZXIgZGF0YSAoWE1MIHJlYWRlciBjb250ZXh0KQorICoKKyAqIFByb3ZpZGUgdGhlIGNvbHVtbiBudW1iZXIgb2YgdGhlIGN1cnJlbnQgcGFyc2luZyBwb2ludC4KKyAqCisgKiBSZXR1cm5zIGFuIGludCBvciAwIGlmIG5vdCBhdmFpbGFibGUKKyAqLworaW50Cit4bWxUZXh0UmVhZGVyR2V0UGFyc2VyQ29sdW1uTnVtYmVyKHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyKQoreworICAgIGlmICgocmVhZGVyID09IE5VTEwpIHx8IChyZWFkZXItPmN0eHQgPT0gTlVMTCkgfHwKKyAgICAgICAgKHJlYWRlci0+Y3R4dC0+aW5wdXQgPT0gTlVMTCkpIHsKKyAgICAgICAgcmV0dXJuICgwKTsKKyAgICB9CisgICAgcmV0dXJuIChyZWFkZXItPmN0eHQtPmlucHV0LT5jb2wpOworfQorCisvKioKKyAqIHhtbFRleHRSZWFkZXJDdXJyZW50Tm9kZToKKyAqIEByZWFkZXI6ICB0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkCisgKgorICogSGFja2luZyBpbnRlcmZhY2UgYWxsb3dpbmcgdG8gZ2V0IHRoZSB4bWxOb2RlUHRyIGNvcnJlcG9uZGluZyB0byB0aGUKKyAqIGN1cnJlbnQgbm9kZSBiZWluZyBhY2Nlc3NlZCBieSB0aGUgeG1sVGV4dFJlYWRlci4gVGhpcyBpcyBkYW5nZXJvdXMKKyAqIGJlY2F1c2UgdGhlIHVuZGVybHlpbmcgbm9kZSBtYXkgYmUgZGVzdHJveWVkIG9uIHRoZSBuZXh0IFJlYWRzLgorICoKKyAqIFJldHVybnMgdGhlIHhtbE5vZGVQdHIgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLgorICovCit4bWxOb2RlUHRyCit4bWxUZXh0UmVhZGVyQ3VycmVudE5vZGUoeG1sVGV4dFJlYWRlclB0ciByZWFkZXIpIHsKKyAgICBpZiAocmVhZGVyID09IE5VTEwpCisJcmV0dXJuKE5VTEwpOworCisgICAgaWYgKHJlYWRlci0+Y3Vybm9kZSAhPSBOVUxMKQorCXJldHVybihyZWFkZXItPmN1cm5vZGUpOworICAgIHJldHVybihyZWFkZXItPm5vZGUpOworfQorCisvKioKKyAqIHhtbFRleHRSZWFkZXJQcmVzZXJ2ZToKKyAqIEByZWFkZXI6ICB0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkCisgKgorICogVGhpcyB0ZWxscyB0aGUgWE1MIFJlYWRlciB0byBwcmVzZXJ2ZSB0aGUgY3VycmVudCBub2RlLgorICogVGhlIGNhbGxlciBtdXN0IGFsc28gdXNlIHhtbFRleHRSZWFkZXJDdXJyZW50RG9jKCkgdG8KKyAqIGtlZXAgYW4gaGFuZGxlIG9uIHRoZSByZXN1bHRpbmcgZG9jdW1lbnQgb25jZSBwYXJzaW5nIGhhcyBmaW5pc2hlZAorICoKKyAqIFJldHVybnMgdGhlIHhtbE5vZGVQdHIgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLgorICovCit4bWxOb2RlUHRyCit4bWxUZXh0UmVhZGVyUHJlc2VydmUoeG1sVGV4dFJlYWRlclB0ciByZWFkZXIpIHsKKyAgICB4bWxOb2RlUHRyIGN1ciwgcGFyZW50OworCisgICAgaWYgKHJlYWRlciA9PSBOVUxMKQorCXJldHVybihOVUxMKTsKKworICAgIGlmIChyZWFkZXItPmN1cm5vZGUgIT0gTlVMTCkKKyAgICAgICAgY3VyID0gcmVhZGVyLT5jdXJub2RlOworICAgIGVsc2UKKyAgICAgICAgY3VyID0gcmVhZGVyLT5ub2RlOworICAgIGlmIChjdXIgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuKE5VTEwpOworCisgICAgaWYgKChjdXItPnR5cGUgIT0gWE1MX0RPQ1VNRU5UX05PREUpICYmIChjdXItPnR5cGUgIT0gWE1MX0RURF9OT0RFKSkgeworCWN1ci0+ZXh0cmEgfD0gTk9ERV9JU19QUkVTRVJWRUQ7CisJY3VyLT5leHRyYSB8PSBOT0RFX0lTX1NQUkVTRVJWRUQ7CisgICAgfQorICAgIHJlYWRlci0+cHJlc2VydmVzKys7CisKKyAgICBwYXJlbnQgPSBjdXItPnBhcmVudDs7CisgICAgd2hpbGUgKHBhcmVudCAhPSBOVUxMKSB7CisgICAgICAgIGlmIChwYXJlbnQtPnR5cGUgPT0gWE1MX0VMRU1FTlRfTk9ERSkKKwkgICAgcGFyZW50LT5leHRyYSB8PSBOT0RFX0lTX1BSRVNFUlZFRDsKKwlwYXJlbnQgPSBwYXJlbnQtPnBhcmVudDsKKyAgICB9CisgICAgcmV0dXJuKGN1cik7Cit9CisKKyNpZmRlZiBMSUJYTUxfUEFUVEVSTl9FTkFCTEVECisvKioKKyAqIHhtbFRleHRSZWFkZXJQcmVzZXJ2ZVBhdHRlcm46CisgKiBAcmVhZGVyOiAgdGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZAorICogQHBhdHRlcm46ICBhbiBYUGF0aCBzdWJzZXQgcGF0dGVybgorICogQG5hbWVzcGFjZXM6IHRoZSBwcmVmaXggZGVmaW5pdGlvbnMsIGFycmF5IG9mIFtVUkksIHByZWZpeF0gb3IgTlVMTAorICoKKyAqIFRoaXMgdGVsbHMgdGhlIFhNTCBSZWFkZXIgdG8gcHJlc2VydmUgYWxsIG5vZGVzIG1hdGNoZWQgYnkgdGhlCisgKiBwYXR0ZXJuLiBUaGUgY2FsbGVyIG11c3QgYWxzbyB1c2UgeG1sVGV4dFJlYWRlckN1cnJlbnREb2MoKSB0bworICoga2VlcCBhbiBoYW5kbGUgb24gdGhlIHJlc3VsdGluZyBkb2N1bWVudCBvbmNlIHBhcnNpbmcgaGFzIGZpbmlzaGVkCisgKgorICogUmV0dXJucyBhIHBvc2l0aXZlIG51bWJlciBpbiBjYXNlIG9mIHN1Y2Nlc3MgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworaW50Cit4bWxUZXh0UmVhZGVyUHJlc2VydmVQYXR0ZXJuKHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyLCBjb25zdCB4bWxDaGFyICpwYXR0ZXJuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICoqbmFtZXNwYWNlcykKK3sKKyAgICB4bWxQYXR0ZXJuUHRyIGNvbXA7CisKKyAgICBpZiAoKHJlYWRlciA9PSBOVUxMKSB8fCAocGF0dGVybiA9PSBOVUxMKSkKKwlyZXR1cm4oLTEpOworCisgICAgY29tcCA9IHhtbFBhdHRlcm5jb21waWxlKHBhdHRlcm4sIHJlYWRlci0+ZGljdCwgMCwgbmFtZXNwYWNlcyk7CisgICAgaWYgKGNvbXAgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuKC0xKTsKKworICAgIGlmIChyZWFkZXItPnBhdHRlcm5NYXggPD0gMCkgeworCXJlYWRlci0+cGF0dGVybk1heCA9IDQ7CisJcmVhZGVyLT5wYXR0ZXJuVGFiID0gKHhtbFBhdHRlcm5QdHIgKikgeG1sTWFsbG9jKHJlYWRlci0+cGF0dGVybk1heCAqCisJCQkJCSAgICAgIHNpemVvZihyZWFkZXItPnBhdHRlcm5UYWJbMF0pKTsKKyAgICAgICAgaWYgKHJlYWRlci0+cGF0dGVyblRhYiA9PSBOVUxMKSB7CisgICAgICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgInhtbE1hbGxvYyBmYWlsZWQgIVxuIik7CisgICAgICAgICAgICByZXR1cm4gKC0xKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBpZiAocmVhZGVyLT5wYXR0ZXJuTnIgPj0gcmVhZGVyLT5wYXR0ZXJuTWF4KSB7CisgICAgICAgIHhtbFBhdHRlcm5QdHIgKnRtcDsKKyAgICAgICAgcmVhZGVyLT5wYXR0ZXJuTWF4ICo9IDI7CisJdG1wID0gKHhtbFBhdHRlcm5QdHIgKikgeG1sUmVhbGxvYyhyZWFkZXItPnBhdHRlcm5UYWIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRlci0+cGF0dGVybk1heCAqCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihyZWFkZXItPnBhdHRlcm5UYWJbMF0pKTsKKyAgICAgICAgaWYgKHRtcCA9PSBOVUxMKSB7CisgICAgICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgInhtbFJlYWxsb2MgZmFpbGVkICFcbiIpOworCSAgICByZWFkZXItPnBhdHRlcm5NYXggLz0gMjsKKyAgICAgICAgICAgIHJldHVybiAoLTEpOworICAgICAgICB9CisJcmVhZGVyLT5wYXR0ZXJuVGFiID0gdG1wOworICAgIH0KKyAgICByZWFkZXItPnBhdHRlcm5UYWJbcmVhZGVyLT5wYXR0ZXJuTnJdID0gY29tcDsKKyAgICByZXR1cm4ocmVhZGVyLT5wYXR0ZXJuTnIrKyk7Cit9CisjZW5kaWYKKworLyoqCisgKiB4bWxUZXh0UmVhZGVyQ3VycmVudERvYzoKKyAqIEByZWFkZXI6ICB0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkCisgKgorICogSGFja2luZyBpbnRlcmZhY2UgYWxsb3dpbmcgdG8gZ2V0IHRoZSB4bWxEb2NQdHIgY29ycmVwb25kaW5nIHRvIHRoZQorICogY3VycmVudCBkb2N1bWVudCBiZWluZyBhY2Nlc3NlZCBieSB0aGUgeG1sVGV4dFJlYWRlci4KKyAqIE5PVEU6IGFzIGEgcmVzdWx0IG9mIHRoaXMgY2FsbCwgdGhlIHJlYWRlciB3aWxsIG5vdCBkZXN0cm95IHRoZQorICogICAgICAgYXNzb2NpYXRlZCBYTUwgZG9jdW1lbnQgYW5kIGNhbGxpbmcgeG1sRnJlZURvYygpIG9uIHRoZSByZXN1bHQKKyAqICAgICAgIGlzIG5lZWRlZCBvbmNlIHRoZSByZWFkZXIgcGFyc2luZyBoYXMgZmluaXNoZWQuCisgKgorICogUmV0dXJucyB0aGUgeG1sRG9jUHRyIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworeG1sRG9jUHRyCit4bWxUZXh0UmVhZGVyQ3VycmVudERvYyh4bWxUZXh0UmVhZGVyUHRyIHJlYWRlcikgeworICAgIGlmIChyZWFkZXIgPT0gTlVMTCkKKwlyZXR1cm4oTlVMTCk7CisgICAgaWYgKHJlYWRlci0+ZG9jICE9IE5VTEwpCisgICAgICAgIHJldHVybihyZWFkZXItPmRvYyk7CisgICAgaWYgKChyZWFkZXItPmN0eHQgPT0gTlVMTCkgfHwgKHJlYWRlci0+Y3R4dC0+bXlEb2MgPT0gTlVMTCkpCisJcmV0dXJuKE5VTEwpOworCisgICAgcmVhZGVyLT5wcmVzZXJ2ZSA9IDE7CisgICAgcmV0dXJuKHJlYWRlci0+Y3R4dC0+bXlEb2MpOworfQorCisjaWZkZWYgTElCWE1MX1NDSEVNQVNfRU5BQkxFRAorc3RhdGljIGNoYXIgKnhtbFRleHRSZWFkZXJCdWlsZE1lc3NhZ2UoY29uc3QgY2hhciAqbXNnLCB2YV9saXN0IGFwKTsKKworc3RhdGljIHZvaWQgWE1MQ0RFQ0wKK3htbFRleHRSZWFkZXJWYWxpZGl0eUVycm9yKHZvaWQgKmN0eHQsIGNvbnN0IGNoYXIgKm1zZywgLi4uKTsKKworc3RhdGljIHZvaWQgWE1MQ0RFQ0wKK3htbFRleHRSZWFkZXJWYWxpZGl0eVdhcm5pbmcodm9pZCAqY3R4dCwgY29uc3QgY2hhciAqbXNnLCAuLi4pOworCitzdGF0aWMgdm9pZCBYTUxDREVDTAoreG1sVGV4dFJlYWRlclZhbGlkaXR5RXJyb3JSZWxheSh2b2lkICpjdHgsIGNvbnN0IGNoYXIgKm1zZywgLi4uKQoreworICAgIHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyID0gKHhtbFRleHRSZWFkZXJQdHIpIGN0eDsKKworICAgIGNoYXIgKnN0cjsKKworICAgIHZhX2xpc3QgYXA7CisKKyAgICB2YV9zdGFydChhcCwgbXNnKTsKKyAgICBzdHIgPSB4bWxUZXh0UmVhZGVyQnVpbGRNZXNzYWdlKG1zZywgYXApOworICAgIGlmICghcmVhZGVyLT5lcnJvckZ1bmMpIHsKKyAgICAgICAgeG1sVGV4dFJlYWRlclZhbGlkaXR5RXJyb3IoY3R4LCAiJXMiLCBzdHIpOworICAgIH0gZWxzZSB7CisgICAgICAgIHJlYWRlci0+ZXJyb3JGdW5jKHJlYWRlci0+ZXJyb3JGdW5jQXJnLCBzdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgIFhNTF9QQVJTRVJfU0VWRVJJVFlfVkFMSURJVFlfRVJST1IsCisgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwgLyogbG9jYXRvciAqLyApOworICAgIH0KKyAgICBpZiAoc3RyICE9IE5VTEwpCisgICAgICAgIHhtbEZyZWUoc3RyKTsKKyAgICB2YV9lbmQoYXApOworfQorCitzdGF0aWMgdm9pZCBYTUxDREVDTAoreG1sVGV4dFJlYWRlclZhbGlkaXR5V2FybmluZ1JlbGF5KHZvaWQgKmN0eCwgY29uc3QgY2hhciAqbXNnLCAuLi4pCit7CisgICAgeG1sVGV4dFJlYWRlclB0ciByZWFkZXIgPSAoeG1sVGV4dFJlYWRlclB0cikgY3R4OworCisgICAgY2hhciAqc3RyOworCisgICAgdmFfbGlzdCBhcDsKKworICAgIHZhX3N0YXJ0KGFwLCBtc2cpOworICAgIHN0ciA9IHhtbFRleHRSZWFkZXJCdWlsZE1lc3NhZ2UobXNnLCBhcCk7CisgICAgaWYgKCFyZWFkZXItPmVycm9yRnVuYykgeworICAgICAgICB4bWxUZXh0UmVhZGVyVmFsaWRpdHlXYXJuaW5nKGN0eCwgIiVzIiwgc3RyKTsKKyAgICB9IGVsc2UgeworICAgICAgICByZWFkZXItPmVycm9yRnVuYyhyZWFkZXItPmVycm9yRnVuY0FyZywgc3RyLAorICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfUEFSU0VSX1NFVkVSSVRZX1ZBTElESVRZX1dBUk5JTkcsCisgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwgLyogbG9jYXRvciAqLyApOworICAgIH0KKyAgICBpZiAoc3RyICE9IE5VTEwpCisgICAgICAgIHhtbEZyZWUoc3RyKTsKKyAgICB2YV9lbmQoYXApOworfQorCitzdGF0aWMgdm9pZAorICB4bWxUZXh0UmVhZGVyU3RydWN0dXJlZEVycm9yKHZvaWQgKmN0eHQsIHhtbEVycm9yUHRyIGVycm9yKTsKKworc3RhdGljIHZvaWQKK3htbFRleHRSZWFkZXJWYWxpZGl0eVN0cnVjdHVyZWRSZWxheSh2b2lkICp1c2VyRGF0YSwgeG1sRXJyb3JQdHIgZXJyb3IpCit7CisgICAgeG1sVGV4dFJlYWRlclB0ciByZWFkZXIgPSAoeG1sVGV4dFJlYWRlclB0cikgdXNlckRhdGE7CisKKyAgICBpZiAocmVhZGVyLT5zRXJyb3JGdW5jKSB7CisgICAgICAgIHJlYWRlci0+c0Vycm9yRnVuYyhyZWFkZXItPmVycm9yRnVuY0FyZywgZXJyb3IpOworICAgIH0gZWxzZSB7CisgICAgICAgIHhtbFRleHRSZWFkZXJTdHJ1Y3R1cmVkRXJyb3IocmVhZGVyLCBlcnJvcik7CisgICAgfQorfQorLyoqCisgKiB4bWxUZXh0UmVhZGVyUmVsYXhOR1NldFNjaGVtYToKKyAqIEByZWFkZXI6ICB0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkCisgKiBAc2NoZW1hOiAgYSBwcmVjb21waWxlZCBSZWxheE5HIHNjaGVtYQorICoKKyAqIFVzZSBSZWxheE5HIHRvIHZhbGlkYXRlIHRoZSBkb2N1bWVudCBhcyBpdCBpcyBwcm9jZXNzZWQuCisgKiBBY3RpdmF0aW9uIGlzIG9ubHkgcG9zc2libGUgYmVmb3JlIHRoZSBmaXJzdCBSZWFkKCkuCisgKiBpZiBAc2NoZW1hIGlzIE5VTEwsIHRoZW4gUmVsYXhORyB2YWxpZGF0aW9uIGlzIGRlc2FjdGl2YXRlZC4KKyBAIFRoZSBAc2NoZW1hIHNob3VsZCBub3QgYmUgZnJlZWQgdW50aWwgdGhlIHJlYWRlciBpcyBkZWFsbG9jYXRlZAorICogb3IgaXRzIHVzZSBoYXMgYmVlbiBkZWFjdGl2YXRlZC4KKyAqCisgKiBSZXR1cm5zIDAgaW4gY2FzZSB0aGUgUmVsYXhORyB2YWxpZGF0aW9uIGNvdWxkIGJlIChkZXMpYWN0aXZhdGVkIGFuZAorICogICAgICAgICAtMSBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQKK3htbFRleHRSZWFkZXJSZWxheE5HU2V0U2NoZW1hKHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyLCB4bWxSZWxheE5HUHRyIHNjaGVtYSkgeworICAgIGlmIChyZWFkZXIgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuKC0xKTsKKyAgICBpZiAoc2NoZW1hID09IE5VTEwpIHsKKyAgICAgICAgaWYgKHJlYWRlci0+cm5nU2NoZW1hcyAhPSBOVUxMKSB7CisJICAgIHhtbFJlbGF4TkdGcmVlKHJlYWRlci0+cm5nU2NoZW1hcyk7CisJICAgIHJlYWRlci0+cm5nU2NoZW1hcyA9IE5VTEw7CisJfQorICAgICAgICBpZiAocmVhZGVyLT5ybmdWYWxpZEN0eHQgIT0gTlVMTCkgeworCSAgICBpZiAoISByZWFkZXItPnJuZ1ByZXNlcnZlQ3R4dCkKKwkJeG1sUmVsYXhOR0ZyZWVWYWxpZEN0eHQocmVhZGVyLT5ybmdWYWxpZEN0eHQpOworCSAgICByZWFkZXItPnJuZ1ZhbGlkQ3R4dCA9IE5VTEw7CisgICAgICAgIH0KKwlyZWFkZXItPnJuZ1ByZXNlcnZlQ3R4dCA9IDA7CisJcmV0dXJuKDApOworICAgIH0KKyAgICBpZiAocmVhZGVyLT5tb2RlICE9IFhNTF9URVhUUkVBREVSX01PREVfSU5JVElBTCkKKwlyZXR1cm4oLTEpOworICAgIGlmIChyZWFkZXItPnJuZ1NjaGVtYXMgIT0gTlVMTCkgeworCXhtbFJlbGF4TkdGcmVlKHJlYWRlci0+cm5nU2NoZW1hcyk7CisJcmVhZGVyLT5ybmdTY2hlbWFzID0gTlVMTDsKKyAgICB9CisgICAgaWYgKHJlYWRlci0+cm5nVmFsaWRDdHh0ICE9IE5VTEwpIHsKKwlpZiAoISByZWFkZXItPnJuZ1ByZXNlcnZlQ3R4dCkKKwkgICAgeG1sUmVsYXhOR0ZyZWVWYWxpZEN0eHQocmVhZGVyLT5ybmdWYWxpZEN0eHQpOworCXJlYWRlci0+cm5nVmFsaWRDdHh0ID0gTlVMTDsKKyAgICB9CisgICAgcmVhZGVyLT5ybmdQcmVzZXJ2ZUN0eHQgPSAwOworICAgIHJlYWRlci0+cm5nVmFsaWRDdHh0ID0geG1sUmVsYXhOR05ld1ZhbGlkQ3R4dChzY2hlbWEpOworICAgIGlmIChyZWFkZXItPnJuZ1ZhbGlkQ3R4dCA9PSBOVUxMKQorICAgICAgICByZXR1cm4oLTEpOworICAgIGlmIChyZWFkZXItPmVycm9yRnVuYyAhPSBOVUxMKSB7CisJeG1sUmVsYXhOR1NldFZhbGlkRXJyb3JzKHJlYWRlci0+cm5nVmFsaWRDdHh0LAorCQkJeG1sVGV4dFJlYWRlclZhbGlkaXR5RXJyb3JSZWxheSwKKwkJCXhtbFRleHRSZWFkZXJWYWxpZGl0eVdhcm5pbmdSZWxheSwKKwkJCXJlYWRlcik7CisgICAgfQorCWlmIChyZWFkZXItPnNFcnJvckZ1bmMgIT0gTlVMTCkgeworCQl4bWxSZWxheE5HU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzKHJlYWRlci0+cm5nVmFsaWRDdHh0LAorCQkJeG1sVGV4dFJlYWRlclZhbGlkaXR5U3RydWN0dXJlZFJlbGF5LAorCQkJcmVhZGVyKTsKKyAgICB9CisgICAgcmVhZGVyLT5ybmdWYWxpZEVycm9ycyA9IDA7CisgICAgcmVhZGVyLT5ybmdGdWxsTm9kZSA9IE5VTEw7CisgICAgcmVhZGVyLT52YWxpZGF0ZSA9IFhNTF9URVhUUkVBREVSX1ZBTElEQVRFX1JORzsKKyAgICByZXR1cm4oMCk7Cit9CisKKy8qKgorICogeG1sVGV4dFJlYWRlckxvY2F0b3I6CisgKiBAY3R4OiB0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkCisgKiBAZmlsZTogcmV0dXJuZWQgZmlsZSBpbmZvcm1hdGlvbgorICogQGxpbmU6IHJldHVybmVkIGxpbmUgaW5mb3JtYXRpb24KKyAqCisgKiBJbnRlcm5hbCBsb2NhdG9yIGZ1bmN0aW9uIGZvciB0aGUgcmVhZGVycworICoKKyAqIFJldHVybnMgMCBpbiBjYXNlIHRoZSBTY2hlbWEgdmFsaWRhdGlvbiBjb3VsZCBiZSAoZGVzKWFjdGl2YXRlZCBhbmQKKyAqICAgICAgICAgLTEgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworc3RhdGljIGludAoreG1sVGV4dFJlYWRlckxvY2F0b3Iodm9pZCAqY3R4LCBjb25zdCBjaGFyICoqZmlsZSwgdW5zaWduZWQgbG9uZyAqbGluZSkgeworICAgIHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyOworCisgICAgaWYgKChjdHggPT0gTlVMTCkgfHwgKChmaWxlID09IE5VTEwpICYmIChsaW5lID09IE5VTEwpKSkKKyAgICAgICAgcmV0dXJuKC0xKTsKKworICAgIGlmIChmaWxlICE9IE5VTEwpCisgICAgICAgICpmaWxlID0gTlVMTDsKKyAgICBpZiAobGluZSAhPSBOVUxMKQorICAgICAgICAqbGluZSA9IDA7CisKKyAgICByZWFkZXIgPSAoeG1sVGV4dFJlYWRlclB0cikgY3R4OworICAgIGlmICgocmVhZGVyLT5jdHh0ICE9IE5VTEwpICYmIChyZWFkZXItPmN0eHQtPmlucHV0ICE9IE5VTEwpKSB7CisJaWYgKGZpbGUgIT0gTlVMTCkKKwkgICAgKmZpbGUgPSByZWFkZXItPmN0eHQtPmlucHV0LT5maWxlbmFtZTsKKwlpZiAobGluZSAhPSBOVUxMKQorCSAgICAqbGluZSA9IHJlYWRlci0+Y3R4dC0+aW5wdXQtPmxpbmU7CisJcmV0dXJuKDApOworICAgIH0KKyAgICBpZiAocmVhZGVyLT5ub2RlICE9IE5VTEwpIHsKKyAgICAgICAgbG9uZyByZXM7CisJaW50IHJldCA9IDA7CisKKwlpZiAobGluZSAhPSBOVUxMKSB7CisJICAgIHJlcyA9IHhtbEdldExpbmVObyhyZWFkZXItPm5vZGUpOworCSAgICBpZiAocmVzID4gMCkKKwkgICAgICAgICpsaW5lID0gKHVuc2lnbmVkIGxvbmcpIHJlczsKKwkgICAgZWxzZQorICAgICAgICAgICAgICAgIHJldCA9IC0xOworCX0KKyAgICAgICAgaWYgKGZpbGUgIT0gTlVMTCkgeworCSAgICB4bWxEb2NQdHIgZG9jID0gcmVhZGVyLT5ub2RlLT5kb2M7CisJICAgIGlmICgoZG9jICE9IE5VTEwpICYmIChkb2MtPlVSTCAhPSBOVUxMKSkKKwkgICAgICAgICpmaWxlID0gKGNvbnN0IGNoYXIgKikgZG9jLT5VUkw7CisJICAgIGVsc2UKKyAgICAgICAgICAgICAgICByZXQgPSAtMTsKKwl9CisJcmV0dXJuKHJldCk7CisgICAgfQorICAgIHJldHVybigtMSk7Cit9CisKKy8qKgorICogeG1sVGV4dFJlYWRlclNldFNjaGVtYToKKyAqIEByZWFkZXI6ICB0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkCisgKiBAc2NoZW1hOiAgYSBwcmVjb21waWxlZCBTY2hlbWEgc2NoZW1hCisgKgorICogVXNlIFhTRCBTY2hlbWEgdG8gdmFsaWRhdGUgdGhlIGRvY3VtZW50IGFzIGl0IGlzIHByb2Nlc3NlZC4KKyAqIEFjdGl2YXRpb24gaXMgb25seSBwb3NzaWJsZSBiZWZvcmUgdGhlIGZpcnN0IFJlYWQoKS4KKyAqIGlmIEBzY2hlbWEgaXMgTlVMTCwgdGhlbiBTY2hlbWEgdmFsaWRhdGlvbiBpcyBkZXNhY3RpdmF0ZWQuCisgQCBUaGUgQHNjaGVtYSBzaG91bGQgbm90IGJlIGZyZWVkIHVudGlsIHRoZSByZWFkZXIgaXMgZGVhbGxvY2F0ZWQKKyAqIG9yIGl0cyB1c2UgaGFzIGJlZW4gZGVhY3RpdmF0ZWQuCisgKgorICogUmV0dXJucyAwIGluIGNhc2UgdGhlIFNjaGVtYSB2YWxpZGF0aW9uIGNvdWxkIGJlIChkZXMpYWN0aXZhdGVkIGFuZAorICogICAgICAgICAtMSBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQKK3htbFRleHRSZWFkZXJTZXRTY2hlbWEoeG1sVGV4dFJlYWRlclB0ciByZWFkZXIsIHhtbFNjaGVtYVB0ciBzY2hlbWEpIHsKKyAgICBpZiAocmVhZGVyID09IE5VTEwpCisgICAgICAgIHJldHVybigtMSk7CisgICAgaWYgKHNjaGVtYSA9PSBOVUxMKSB7CisJaWYgKHJlYWRlci0+eHNkUGx1ZyAhPSBOVUxMKSB7CisJICAgIHhtbFNjaGVtYVNBWFVucGx1ZyhyZWFkZXItPnhzZFBsdWcpOworCSAgICByZWFkZXItPnhzZFBsdWcgPSBOVUxMOworCX0KKyAgICAgICAgaWYgKHJlYWRlci0+eHNkVmFsaWRDdHh0ICE9IE5VTEwpIHsKKwkgICAgaWYgKCEgcmVhZGVyLT54c2RQcmVzZXJ2ZUN0eHQpCisJCXhtbFNjaGVtYUZyZWVWYWxpZEN0eHQocmVhZGVyLT54c2RWYWxpZEN0eHQpOworCSAgICByZWFkZXItPnhzZFZhbGlkQ3R4dCA9IE5VTEw7CisgICAgICAgIH0KKwlyZWFkZXItPnhzZFByZXNlcnZlQ3R4dCA9IDA7CisgICAgICAgIGlmIChyZWFkZXItPnhzZFNjaGVtYXMgIT0gTlVMTCkgeworCSAgICB4bWxTY2hlbWFGcmVlKHJlYWRlci0+eHNkU2NoZW1hcyk7CisJICAgIHJlYWRlci0+eHNkU2NoZW1hcyA9IE5VTEw7CisJfQorCXJldHVybigwKTsKKyAgICB9CisgICAgaWYgKHJlYWRlci0+bW9kZSAhPSBYTUxfVEVYVFJFQURFUl9NT0RFX0lOSVRJQUwpCisJcmV0dXJuKC0xKTsKKyAgICBpZiAocmVhZGVyLT54c2RQbHVnICE9IE5VTEwpIHsKKwl4bWxTY2hlbWFTQVhVbnBsdWcocmVhZGVyLT54c2RQbHVnKTsKKwlyZWFkZXItPnhzZFBsdWcgPSBOVUxMOworICAgIH0KKyAgICBpZiAocmVhZGVyLT54c2RWYWxpZEN0eHQgIT0gTlVMTCkgeworCWlmICghIHJlYWRlci0+eHNkUHJlc2VydmVDdHh0KQorCSAgICB4bWxTY2hlbWFGcmVlVmFsaWRDdHh0KHJlYWRlci0+eHNkVmFsaWRDdHh0KTsKKwlyZWFkZXItPnhzZFZhbGlkQ3R4dCA9IE5VTEw7CisgICAgfQorICAgIHJlYWRlci0+eHNkUHJlc2VydmVDdHh0ID0gMDsKKyAgICBpZiAocmVhZGVyLT54c2RTY2hlbWFzICE9IE5VTEwpIHsKKwl4bWxTY2hlbWFGcmVlKHJlYWRlci0+eHNkU2NoZW1hcyk7CisJcmVhZGVyLT54c2RTY2hlbWFzID0gTlVMTDsKKyAgICB9CisgICAgcmVhZGVyLT54c2RWYWxpZEN0eHQgPSB4bWxTY2hlbWFOZXdWYWxpZEN0eHQoc2NoZW1hKTsKKyAgICBpZiAocmVhZGVyLT54c2RWYWxpZEN0eHQgPT0gTlVMTCkgeworCXhtbFNjaGVtYUZyZWUocmVhZGVyLT54c2RTY2hlbWFzKTsKKwlyZWFkZXItPnhzZFNjaGVtYXMgPSBOVUxMOworICAgICAgICByZXR1cm4oLTEpOworICAgIH0KKyAgICByZWFkZXItPnhzZFBsdWcgPSB4bWxTY2hlbWFTQVhQbHVnKHJlYWRlci0+eHNkVmFsaWRDdHh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJihyZWFkZXItPmN0eHQtPnNheCksCisJCQkJICAgICAgICYocmVhZGVyLT5jdHh0LT51c2VyRGF0YSkpOworICAgIGlmIChyZWFkZXItPnhzZFBsdWcgPT0gTlVMTCkgeworCXhtbFNjaGVtYUZyZWUocmVhZGVyLT54c2RTY2hlbWFzKTsKKwlyZWFkZXItPnhzZFNjaGVtYXMgPSBOVUxMOworCXhtbFNjaGVtYUZyZWVWYWxpZEN0eHQocmVhZGVyLT54c2RWYWxpZEN0eHQpOworCXJlYWRlci0+eHNkVmFsaWRDdHh0ID0gTlVMTDsKKwlyZXR1cm4oLTEpOworICAgIH0KKyAgICB4bWxTY2hlbWFWYWxpZGF0ZVNldExvY2F0b3IocmVhZGVyLT54c2RWYWxpZEN0eHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFRleHRSZWFkZXJMb2NhdG9yLAorCQkJCSh2b2lkICopIHJlYWRlcik7CisKKyAgICBpZiAocmVhZGVyLT5lcnJvckZ1bmMgIT0gTlVMTCkgeworCXhtbFNjaGVtYVNldFZhbGlkRXJyb3JzKHJlYWRlci0+eHNkVmFsaWRDdHh0LAorCQkJeG1sVGV4dFJlYWRlclZhbGlkaXR5RXJyb3JSZWxheSwKKwkJCXhtbFRleHRSZWFkZXJWYWxpZGl0eVdhcm5pbmdSZWxheSwKKwkJCXJlYWRlcik7CisgICAgfQorCWlmIChyZWFkZXItPnNFcnJvckZ1bmMgIT0gTlVMTCkgeworCQl4bWxTY2hlbWFTZXRWYWxpZFN0cnVjdHVyZWRFcnJvcnMocmVhZGVyLT54c2RWYWxpZEN0eHQsCisJCQl4bWxUZXh0UmVhZGVyVmFsaWRpdHlTdHJ1Y3R1cmVkUmVsYXksCisJCQlyZWFkZXIpOworICAgIH0KKyAgICByZWFkZXItPnhzZFZhbGlkRXJyb3JzID0gMDsKKyAgICByZWFkZXItPnZhbGlkYXRlID0gWE1MX1RFWFRSRUFERVJfVkFMSURBVEVfWFNEOworICAgIHJldHVybigwKTsKK30KKworLyoqCisgKiB4bWxUZXh0UmVhZGVyUmVsYXhOR1ZhbGlkYXRlSW50ZXJuYWw6CisgKiBAcmVhZGVyOiAgdGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZAorICogQHJuZzogIHRoZSBwYXRoIHRvIGEgUmVsYXhORyBzY2hlbWEgb3IgTlVMTAorICogQGN0eHQ6IHRoZSBSZWxheE5HIHNjaGVtYSB2YWxpZGF0aW9uIGNvbnRleHQgb3IgTlVMTAorICogQG9wdGlvbnM6IG9wdGlvbnMgKG5vdCB5ZXQgdXNlZCkKKyAqCisgKiBVc2UgUmVsYXhORyB0byB2YWxpZGF0ZSB0aGUgZG9jdW1lbnQgYXMgaXQgaXMgcHJvY2Vzc2VkLgorICogQWN0aXZhdGlvbiBpcyBvbmx5IHBvc3NpYmxlIGJlZm9yZSB0aGUgZmlyc3QgUmVhZCgpLgorICogSWYgYm90aCBAcm5nIGFuZCBAY3R4dCBhcmUgTlVMTCwgdGhlbiBSZWxheE5HIHZhbGlkYXRpb24gaXMgZGVhY3RpdmF0ZWQuCisgKgorICogUmV0dXJucyAwIGluIGNhc2UgdGhlIFJlbGF4TkcgdmFsaWRhdGlvbiBjb3VsZCBiZSAoZGUpYWN0aXZhdGVkIGFuZAorICoJICAgLTEgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworc3RhdGljIGludAoreG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZUludGVybmFsKHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyLAorCQkJCSAgICAgY29uc3QgY2hhciAqcm5nLAorCQkJCSAgICAgeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0ciBjdHh0LAorCQkJCSAgICAgaW50IG9wdGlvbnMgQVRUUklCVVRFX1VOVVNFRCkKK3sKKyAgICBpZiAocmVhZGVyID09IE5VTEwpCisJcmV0dXJuKC0xKTsKKworICAgIGlmICgocm5nICE9IE5VTEwpICYmIChjdHh0ICE9IE5VTEwpKQorCXJldHVybiAoLTEpOworCisgICAgaWYgKCgocm5nICE9IE5VTEwpIHx8IChjdHh0ICE9IE5VTEwpKSAmJgorCSgocmVhZGVyLT5tb2RlICE9IFhNTF9URVhUUkVBREVSX01PREVfSU5JVElBTCkgfHwKKwkgKHJlYWRlci0+Y3R4dCA9PSBOVUxMKSkpCisJcmV0dXJuKC0xKTsKKworICAgIC8qIENsZWFudXAgcHJldmlvdXMgdmFsaWRhdGlvbiBzdHVmZi4gKi8KKyAgICBpZiAocmVhZGVyLT5ybmdWYWxpZEN0eHQgIT0gTlVMTCkgeworCWlmICggIXJlYWRlci0+cm5nUHJlc2VydmVDdHh0KQorCSAgICB4bWxSZWxheE5HRnJlZVZhbGlkQ3R4dChyZWFkZXItPnJuZ1ZhbGlkQ3R4dCk7CisJcmVhZGVyLT5ybmdWYWxpZEN0eHQgPSBOVUxMOworICAgIH0KKyAgICByZWFkZXItPnJuZ1ByZXNlcnZlQ3R4dCA9IDA7CisgICAgaWYgKHJlYWRlci0+cm5nU2NoZW1hcyAhPSBOVUxMKSB7CisJeG1sUmVsYXhOR0ZyZWUocmVhZGVyLT5ybmdTY2hlbWFzKTsKKwlyZWFkZXItPnJuZ1NjaGVtYXMgPSBOVUxMOworICAgIH0KKworICAgIGlmICgocm5nID09IE5VTEwpICYmIChjdHh0ID09IE5VTEwpKSB7CisJLyogV2UganVzdCB3YW50IHRvIGRlYWN0aXZhdGUgdGhlIHZhbGlkYXRpb24sIHNvIGdldCBvdXQuICovCisJcmV0dXJuKDApOworICAgIH0KKworCisgICAgaWYgKHJuZyAhPSBOVUxMKSB7CisJeG1sUmVsYXhOR1BhcnNlckN0eHRQdHIgcGN0eHQ7CisJLyogUGFyc2UgdGhlIHNjaGVtYSBhbmQgY3JlYXRlIHZhbGlkYXRpb24gZW52aXJvbm1lbnQuICovCisKKwlwY3R4dCA9IHhtbFJlbGF4TkdOZXdQYXJzZXJDdHh0KHJuZyk7CisJaWYgKHJlYWRlci0+ZXJyb3JGdW5jICE9IE5VTEwpIHsKKwkgICAgeG1sUmVsYXhOR1NldFBhcnNlckVycm9ycyhwY3R4dCwKKwkJeG1sVGV4dFJlYWRlclZhbGlkaXR5RXJyb3JSZWxheSwKKwkJeG1sVGV4dFJlYWRlclZhbGlkaXR5V2FybmluZ1JlbGF5LAorCQlyZWFkZXIpOworCX0KKwlpZiAocmVhZGVyLT5zRXJyb3JGdW5jICE9IE5VTEwpIHsKKwkgICAgeG1sUmVsYXhOR1NldFZhbGlkU3RydWN0dXJlZEVycm9ycyhyZWFkZXItPnJuZ1ZhbGlkQ3R4dCwKKwkJeG1sVGV4dFJlYWRlclZhbGlkaXR5U3RydWN0dXJlZFJlbGF5LAorCQlyZWFkZXIpOworCX0KKwlyZWFkZXItPnJuZ1NjaGVtYXMgPSB4bWxSZWxheE5HUGFyc2UocGN0eHQpOworCXhtbFJlbGF4TkdGcmVlUGFyc2VyQ3R4dChwY3R4dCk7CisJaWYgKHJlYWRlci0+cm5nU2NoZW1hcyA9PSBOVUxMKQorCSAgICByZXR1cm4oLTEpOworCXJlYWRlci0+cm5nVmFsaWRDdHh0ID0geG1sUmVsYXhOR05ld1ZhbGlkQ3R4dChyZWFkZXItPnJuZ1NjaGVtYXMpOworCWlmIChyZWFkZXItPnJuZ1ZhbGlkQ3R4dCA9PSBOVUxMKSB7CisJICAgIHhtbFJlbGF4TkdGcmVlKHJlYWRlci0+cm5nU2NoZW1hcyk7CisJICAgIHJlYWRlci0+cm5nU2NoZW1hcyA9IE5VTEw7CisJICAgIHJldHVybigtMSk7CisJfQorICAgIH0gZWxzZSB7CisJLyogVXNlIHRoZSBnaXZlbiB2YWxpZGF0aW9uIGNvbnRleHQuICovCisJcmVhZGVyLT5ybmdWYWxpZEN0eHQgPSBjdHh0OworCXJlYWRlci0+cm5nUHJlc2VydmVDdHh0ID0gMTsKKyAgICB9CisgICAgLyoKKyAgICAqIFJlZGlyZWN0IHRoZSB2YWxpZGF0aW9uIGNvbnRleHQncyBlcnJvciBjaGFubmVscyB0byB1c2UKKyAgICAqIHRoZSByZWFkZXIgY2hhbm5lbHMuCisgICAgKiBUT0RPOiBJbiBjYXNlIHRoZSB1c2VyIHByb3ZpZGVzIHRoZSB2YWxpZGF0aW9uIGNvbnRleHQgd2UKKyAgICAqCWNvdWxkIG1ha2UgdGhpcyByZWRpcmVjdGlvbiBvcHRpb25hbC4KKyAgICAqLworICAgIGlmIChyZWFkZXItPmVycm9yRnVuYyAhPSBOVUxMKSB7CisJeG1sUmVsYXhOR1NldFZhbGlkRXJyb3JzKHJlYWRlci0+cm5nVmFsaWRDdHh0LAorCQkJIHhtbFRleHRSZWFkZXJWYWxpZGl0eUVycm9yUmVsYXksCisJCQkgeG1sVGV4dFJlYWRlclZhbGlkaXR5V2FybmluZ1JlbGF5LAorCQkJIHJlYWRlcik7CisgICAgfQorCWlmIChyZWFkZXItPnNFcnJvckZ1bmMgIT0gTlVMTCkgeworCQl4bWxSZWxheE5HU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzKHJlYWRlci0+cm5nVmFsaWRDdHh0LAorCQkJeG1sVGV4dFJlYWRlclZhbGlkaXR5U3RydWN0dXJlZFJlbGF5LAorCQkJcmVhZGVyKTsKKyAgICB9CisgICAgcmVhZGVyLT5ybmdWYWxpZEVycm9ycyA9IDA7CisgICAgcmVhZGVyLT5ybmdGdWxsTm9kZSA9IE5VTEw7CisgICAgcmVhZGVyLT52YWxpZGF0ZSA9IFhNTF9URVhUUkVBREVSX1ZBTElEQVRFX1JORzsKKyAgICByZXR1cm4oMCk7Cit9CisKKy8qKgorICogeG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlSW50ZXJuYWw6CisgKiBAcmVhZGVyOiAgdGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZAorICogQHhzZDogIHRoZSBwYXRoIHRvIGEgVzNDIFhTRCBzY2hlbWEgb3IgTlVMTAorICogQGN0eHQ6IHRoZSBYTUwgU2NoZW1hIHZhbGlkYXRpb24gY29udGV4dCBvciBOVUxMCisgKiBAb3B0aW9uczogb3B0aW9ucyAobm90IHVzZWQgeWV0KQorICoKKyAqIFZhbGlkYXRlIHRoZSBkb2N1bWVudCBhcyBpdCBpcyBwcm9jZXNzZWQgdXNpbmcgWE1MIFNjaGVtYS4KKyAqIEFjdGl2YXRpb24gaXMgb25seSBwb3NzaWJsZSBiZWZvcmUgdGhlIGZpcnN0IFJlYWQoKS4KKyAqIElmIGJvdGggQHhzZCBhbmQgQGN0eHQgYXJlIE5VTEwgdGhlbiBYTUwgU2NoZW1hIHZhbGlkYXRpb24gaXMgZGVhY3RpdmF0ZWQuCisgKgorICogUmV0dXJucyAwIGluIGNhc2UgdGhlIHNjaGVtYXMgdmFsaWRhdGlvbiBjb3VsZCBiZSAoZGUpYWN0aXZhdGVkIGFuZAorICogICAgICAgICAtMSBpbiBjYXNlIG9mIGVycm9yLgorICovCitzdGF0aWMgaW50Cit4bWxUZXh0UmVhZGVyU2NoZW1hVmFsaWRhdGVJbnRlcm5hbCh4bWxUZXh0UmVhZGVyUHRyIHJlYWRlciwKKwkJCQkgICAgY29uc3QgY2hhciAqeHNkLAorCQkJCSAgICB4bWxTY2hlbWFWYWxpZEN0eHRQdHIgY3R4dCwKKwkJCQkgICAgaW50IG9wdGlvbnMgQVRUUklCVVRFX1VOVVNFRCkKK3sKKyAgICBpZiAocmVhZGVyID09IE5VTEwpCisgICAgICAgIHJldHVybigtMSk7CisKKyAgICBpZiAoKHhzZCAhPSBOVUxMKSAmJiAoY3R4dCAhPSBOVUxMKSkKKwlyZXR1cm4oLTEpOworCisgICAgaWYgKCgoeHNkICE9IE5VTEwpIHx8IChjdHh0ICE9IE5VTEwpKSAmJgorCSgocmVhZGVyLT5tb2RlICE9IFhNTF9URVhUUkVBREVSX01PREVfSU5JVElBTCkgfHwKKyAgICAgICAgKHJlYWRlci0+Y3R4dCA9PSBOVUxMKSkpCisJcmV0dXJuKC0xKTsKKworICAgIC8qIENsZWFudXAgcHJldmlvdXMgdmFsaWRhdGlvbiBzdHVmZi4gKi8KKyAgICBpZiAocmVhZGVyLT54c2RQbHVnICE9IE5VTEwpIHsKKwl4bWxTY2hlbWFTQVhVbnBsdWcocmVhZGVyLT54c2RQbHVnKTsKKwlyZWFkZXItPnhzZFBsdWcgPSBOVUxMOworICAgIH0KKyAgICBpZiAocmVhZGVyLT54c2RWYWxpZEN0eHQgIT0gTlVMTCkgeworCWlmICghIHJlYWRlci0+eHNkUHJlc2VydmVDdHh0KQorCSAgICB4bWxTY2hlbWFGcmVlVmFsaWRDdHh0KHJlYWRlci0+eHNkVmFsaWRDdHh0KTsKKwlyZWFkZXItPnhzZFZhbGlkQ3R4dCA9IE5VTEw7CisgICAgfQorICAgIHJlYWRlci0+eHNkUHJlc2VydmVDdHh0ID0gMDsKKyAgICBpZiAocmVhZGVyLT54c2RTY2hlbWFzICE9IE5VTEwpIHsKKwl4bWxTY2hlbWFGcmVlKHJlYWRlci0+eHNkU2NoZW1hcyk7CisJcmVhZGVyLT54c2RTY2hlbWFzID0gTlVMTDsKKyAgICB9CisKKyAgICBpZiAoKHhzZCA9PSBOVUxMKSAmJiAoY3R4dCA9PSBOVUxMKSkgeworCS8qIFdlIGp1c3Qgd2FudCB0byBkZWFjdGl2YXRlIHRoZSB2YWxpZGF0aW9uLCBzbyBnZXQgb3V0LiAqLworCXJldHVybigwKTsKKyAgICB9CisKKyAgICBpZiAoeHNkICE9IE5VTEwpIHsKKwl4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIHBjdHh0OworCS8qIFBhcnNlIHRoZSBzY2hlbWEgYW5kIGNyZWF0ZSB2YWxpZGF0aW9uIGVudmlyb25tZW50LiAqLworCXBjdHh0ID0geG1sU2NoZW1hTmV3UGFyc2VyQ3R4dCh4c2QpOworCWlmIChyZWFkZXItPmVycm9yRnVuYyAhPSBOVUxMKSB7CisJICAgIHhtbFNjaGVtYVNldFBhcnNlckVycm9ycyhwY3R4dCwKKwkJeG1sVGV4dFJlYWRlclZhbGlkaXR5RXJyb3JSZWxheSwKKwkJeG1sVGV4dFJlYWRlclZhbGlkaXR5V2FybmluZ1JlbGF5LAorCQlyZWFkZXIpOworCX0KKwlyZWFkZXItPnhzZFNjaGVtYXMgPSB4bWxTY2hlbWFQYXJzZShwY3R4dCk7CisJeG1sU2NoZW1hRnJlZVBhcnNlckN0eHQocGN0eHQpOworCWlmIChyZWFkZXItPnhzZFNjaGVtYXMgPT0gTlVMTCkKKwkgICAgcmV0dXJuKC0xKTsKKwlyZWFkZXItPnhzZFZhbGlkQ3R4dCA9IHhtbFNjaGVtYU5ld1ZhbGlkQ3R4dChyZWFkZXItPnhzZFNjaGVtYXMpOworCWlmIChyZWFkZXItPnhzZFZhbGlkQ3R4dCA9PSBOVUxMKSB7CisJICAgIHhtbFNjaGVtYUZyZWUocmVhZGVyLT54c2RTY2hlbWFzKTsKKwkgICAgcmVhZGVyLT54c2RTY2hlbWFzID0gTlVMTDsKKwkgICAgcmV0dXJuKC0xKTsKKwl9CisJcmVhZGVyLT54c2RQbHVnID0geG1sU2NoZW1hU0FYUGx1ZyhyZWFkZXItPnhzZFZhbGlkQ3R4dCwKKwkgICAgJihyZWFkZXItPmN0eHQtPnNheCksCisJICAgICYocmVhZGVyLT5jdHh0LT51c2VyRGF0YSkpOworCWlmIChyZWFkZXItPnhzZFBsdWcgPT0gTlVMTCkgeworCSAgICB4bWxTY2hlbWFGcmVlKHJlYWRlci0+eHNkU2NoZW1hcyk7CisJICAgIHJlYWRlci0+eHNkU2NoZW1hcyA9IE5VTEw7CisJICAgIHhtbFNjaGVtYUZyZWVWYWxpZEN0eHQocmVhZGVyLT54c2RWYWxpZEN0eHQpOworCSAgICByZWFkZXItPnhzZFZhbGlkQ3R4dCA9IE5VTEw7CisJICAgIHJldHVybigtMSk7CisJfQorICAgIH0gZWxzZSB7CisJLyogVXNlIHRoZSBnaXZlbiB2YWxpZGF0aW9uIGNvbnRleHQuICovCisJcmVhZGVyLT54c2RWYWxpZEN0eHQgPSBjdHh0OworCXJlYWRlci0+eHNkUHJlc2VydmVDdHh0ID0gMTsKKwlyZWFkZXItPnhzZFBsdWcgPSB4bWxTY2hlbWFTQVhQbHVnKHJlYWRlci0+eHNkVmFsaWRDdHh0LAorCSAgICAmKHJlYWRlci0+Y3R4dC0+c2F4KSwKKwkgICAgJihyZWFkZXItPmN0eHQtPnVzZXJEYXRhKSk7CisJaWYgKHJlYWRlci0+eHNkUGx1ZyA9PSBOVUxMKSB7CisJICAgIHJlYWRlci0+eHNkVmFsaWRDdHh0ID0gTlVMTDsKKwkgICAgcmVhZGVyLT54c2RQcmVzZXJ2ZUN0eHQgPSAwOworCSAgICByZXR1cm4oLTEpOworCX0KKyAgICB9CisgICAgeG1sU2NoZW1hVmFsaWRhdGVTZXRMb2NhdG9yKHJlYWRlci0+eHNkVmFsaWRDdHh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxUZXh0UmVhZGVyTG9jYXRvciwKKwkJCQkodm9pZCAqKSByZWFkZXIpOworICAgIC8qCisgICAgKiBSZWRpcmVjdCB0aGUgdmFsaWRhdGlvbiBjb250ZXh0J3MgZXJyb3IgY2hhbm5lbHMgdG8gdXNlCisgICAgKiB0aGUgcmVhZGVyIGNoYW5uZWxzLgorICAgICogVE9ETzogSW4gY2FzZSB0aGUgdXNlciBwcm92aWRlcyB0aGUgdmFsaWRhdGlvbiBjb250ZXh0IHdlCisgICAgKiAgIGNvdWxkIG1ha2UgdGhpcyByZWRpcmVjdGlvbiBvcHRpb25hbC4KKyAgICAqLworICAgIGlmIChyZWFkZXItPmVycm9yRnVuYyAhPSBOVUxMKSB7CisJeG1sU2NoZW1hU2V0VmFsaWRFcnJvcnMocmVhZGVyLT54c2RWYWxpZEN0eHQsCisJCQkgeG1sVGV4dFJlYWRlclZhbGlkaXR5RXJyb3JSZWxheSwKKwkJCSB4bWxUZXh0UmVhZGVyVmFsaWRpdHlXYXJuaW5nUmVsYXksCisJCQkgcmVhZGVyKTsKKyAgICB9CisJaWYgKHJlYWRlci0+c0Vycm9yRnVuYyAhPSBOVUxMKSB7CisJCXhtbFNjaGVtYVNldFZhbGlkU3RydWN0dXJlZEVycm9ycyhyZWFkZXItPnhzZFZhbGlkQ3R4dCwKKwkJCXhtbFRleHRSZWFkZXJWYWxpZGl0eVN0cnVjdHVyZWRSZWxheSwKKwkJCXJlYWRlcik7CisgICAgfQorICAgIHJlYWRlci0+eHNkVmFsaWRFcnJvcnMgPSAwOworICAgIHJlYWRlci0+dmFsaWRhdGUgPSBYTUxfVEVYVFJFQURFUl9WQUxJREFURV9YU0Q7CisgICAgcmV0dXJuKDApOworfQorCisvKioKKyAqIHhtbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZUN0eHQ6CisgKiBAcmVhZGVyOiAgdGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZAorICogQGN0eHQ6IHRoZSBYTUwgU2NoZW1hIHZhbGlkYXRpb24gY29udGV4dCBvciBOVUxMCisgKiBAb3B0aW9uczogb3B0aW9ucyAobm90IHVzZWQgeWV0KQorICoKKyAqIFVzZSBXM0MgWFNEIHNjaGVtYSBjb250ZXh0IHRvIHZhbGlkYXRlIHRoZSBkb2N1bWVudCBhcyBpdCBpcyBwcm9jZXNzZWQuCisgKiBBY3RpdmF0aW9uIGlzIG9ubHkgcG9zc2libGUgYmVmb3JlIHRoZSBmaXJzdCBSZWFkKCkuCisgKiBJZiBAY3R4dCBpcyBOVUxMLCB0aGVuIFhNTCBTY2hlbWEgdmFsaWRhdGlvbiBpcyBkZWFjdGl2YXRlZC4KKyAqCisgKiBSZXR1cm5zIDAgaW4gY2FzZSB0aGUgc2NoZW1hcyB2YWxpZGF0aW9uIGNvdWxkIGJlIChkZSlhY3RpdmF0ZWQgYW5kCisgKiAgICAgICAgIC0xIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludAoreG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlQ3R4dCh4bWxUZXh0UmVhZGVyUHRyIHJlYWRlciwKKwkJCQkgICAgeG1sU2NoZW1hVmFsaWRDdHh0UHRyIGN0eHQsCisJCQkJICAgIGludCBvcHRpb25zKQoreworICAgIHJldHVybih4bWxUZXh0UmVhZGVyU2NoZW1hVmFsaWRhdGVJbnRlcm5hbChyZWFkZXIsIE5VTEwsIGN0eHQsIG9wdGlvbnMpKTsKK30KKworLyoqCisgKiB4bWxUZXh0UmVhZGVyU2NoZW1hVmFsaWRhdGU6CisgKiBAcmVhZGVyOiAgdGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZAorICogQHhzZDogIHRoZSBwYXRoIHRvIGEgVzNDIFhTRCBzY2hlbWEgb3IgTlVMTAorICoKKyAqIFVzZSBXM0MgWFNEIHNjaGVtYSB0byB2YWxpZGF0ZSB0aGUgZG9jdW1lbnQgYXMgaXQgaXMgcHJvY2Vzc2VkLgorICogQWN0aXZhdGlvbiBpcyBvbmx5IHBvc3NpYmxlIGJlZm9yZSB0aGUgZmlyc3QgUmVhZCgpLgorICogSWYgQHhzZCBpcyBOVUxMLCB0aGVuIFhNTCBTY2hlbWEgdmFsaWRhdGlvbiBpcyBkZWFjdGl2YXRlZC4KKyAqCisgKiBSZXR1cm5zIDAgaW4gY2FzZSB0aGUgc2NoZW1hcyB2YWxpZGF0aW9uIGNvdWxkIGJlIChkZSlhY3RpdmF0ZWQgYW5kCisgKiAgICAgICAgIC0xIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludAoreG1sVGV4dFJlYWRlclNjaGVtYVZhbGlkYXRlKHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyLCBjb25zdCBjaGFyICp4c2QpCit7CisgICAgcmV0dXJuKHhtbFRleHRSZWFkZXJTY2hlbWFWYWxpZGF0ZUludGVybmFsKHJlYWRlciwgeHNkLCBOVUxMLCAwKSk7Cit9CisKKy8qKgorICogeG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZUN0eHQ6CisgKiBAcmVhZGVyOiAgdGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZAorICogQGN0eHQ6IHRoZSBSZWxheE5HIHNjaGVtYSB2YWxpZGF0aW9uIGNvbnRleHQgb3IgTlVMTAorICogQG9wdGlvbnM6IG9wdGlvbnMgKG5vdCB1c2VkIHlldCkKKyAqCisgKiBVc2UgUmVsYXhORyBzY2hlbWEgY29udGV4dCB0byB2YWxpZGF0ZSB0aGUgZG9jdW1lbnQgYXMgaXQgaXMgcHJvY2Vzc2VkLgorICogQWN0aXZhdGlvbiBpcyBvbmx5IHBvc3NpYmxlIGJlZm9yZSB0aGUgZmlyc3QgUmVhZCgpLgorICogSWYgQGN0eHQgaXMgTlVMTCwgdGhlbiBSZWxheE5HIHNjaGVtYSB2YWxpZGF0aW9uIGlzIGRlYWN0aXZhdGVkLgorICoKKyAqIFJldHVybnMgMCBpbiBjYXNlIHRoZSBzY2hlbWFzIHZhbGlkYXRpb24gY291bGQgYmUgKGRlKWFjdGl2YXRlZCBhbmQKKyAqICAgICAgICAgLTEgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50Cit4bWxUZXh0UmVhZGVyUmVsYXhOR1ZhbGlkYXRlQ3R4dCh4bWxUZXh0UmVhZGVyUHRyIHJlYWRlciwKKwkJCQkgeG1sUmVsYXhOR1ZhbGlkQ3R4dFB0ciBjdHh0LAorCQkJCSBpbnQgb3B0aW9ucykKK3sKKyAgICByZXR1cm4oeG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZUludGVybmFsKHJlYWRlciwgTlVMTCwgY3R4dCwgb3B0aW9ucykpOworfQorCisvKioKKyAqIHhtbFRleHRSZWFkZXJSZWxheE5HVmFsaWRhdGU6CisgKiBAcmVhZGVyOiAgdGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZAorICogQHJuZzogIHRoZSBwYXRoIHRvIGEgUmVsYXhORyBzY2hlbWEgb3IgTlVMTAorICoKKyAqIFVzZSBSZWxheE5HIHNjaGVtYSB0byB2YWxpZGF0ZSB0aGUgZG9jdW1lbnQgYXMgaXQgaXMgcHJvY2Vzc2VkLgorICogQWN0aXZhdGlvbiBpcyBvbmx5IHBvc3NpYmxlIGJlZm9yZSB0aGUgZmlyc3QgUmVhZCgpLgorICogSWYgQHJuZyBpcyBOVUxMLCB0aGVuIFJlbGF4Tkcgc2NoZW1hIHZhbGlkYXRpb24gaXMgZGVhY3RpdmF0ZWQuCisgKgorICogUmV0dXJucyAwIGluIGNhc2UgdGhlIHNjaGVtYXMgdmFsaWRhdGlvbiBjb3VsZCBiZSAoZGUpYWN0aXZhdGVkIGFuZAorICogICAgICAgICAtMSBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQKK3htbFRleHRSZWFkZXJSZWxheE5HVmFsaWRhdGUoeG1sVGV4dFJlYWRlclB0ciByZWFkZXIsIGNvbnN0IGNoYXIgKnJuZykKK3sKKyAgICByZXR1cm4oeG1sVGV4dFJlYWRlclJlbGF4TkdWYWxpZGF0ZUludGVybmFsKHJlYWRlciwgcm5nLCBOVUxMLCAwKSk7Cit9CisKKyNlbmRpZgorCisvKioKKyAqIHhtbFRleHRSZWFkZXJJc05hbWVzcGFjZURlY2w6CisgKiBAcmVhZGVyOiB0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkCisgKgorICogRGV0ZXJtaW5lIHdoZXRoZXIgdGhlIGN1cnJlbnQgbm9kZSBpcyBhIG5hbWVzcGFjZSBkZWNsYXJhdGlvbgorICogcmF0aGVyIHRoYW4gYSByZWd1bGFyIGF0dHJpYnV0ZS4KKyAqCisgKiBSZXR1cm5zIDEgaWYgdGhlIGN1cnJlbnQgbm9kZSBpcyBhIG5hbWVzcGFjZSBkZWNsYXJhdGlvbiwgMCBpZiBpdAorICogaXMgYSByZWd1bGFyIGF0dHJpYnV0ZSBvciBvdGhlciB0eXBlIG9mIG5vZGUsIG9yIC0xIGluIGNhc2Ugb2YKKyAqIGVycm9yLgorICovCitpbnQKK3htbFRleHRSZWFkZXJJc05hbWVzcGFjZURlY2woeG1sVGV4dFJlYWRlclB0ciByZWFkZXIpIHsKKyAgICB4bWxOb2RlUHRyIG5vZGU7CisgICAgaWYgKHJlYWRlciA9PSBOVUxMKQorCXJldHVybigtMSk7CisgICAgaWYgKHJlYWRlci0+bm9kZSA9PSBOVUxMKQorCXJldHVybigtMSk7CisgICAgaWYgKHJlYWRlci0+Y3Vybm9kZSAhPSBOVUxMKQorCW5vZGUgPSByZWFkZXItPmN1cm5vZGU7CisgICAgZWxzZQorCW5vZGUgPSByZWFkZXItPm5vZGU7CisKKyAgICBpZiAoWE1MX05BTUVTUEFDRV9ERUNMID09IG5vZGUtPnR5cGUpCisJcmV0dXJuKDEpOworICAgIGVsc2UKKwlyZXR1cm4oMCk7Cit9CisKKy8qKgorICogeG1sVGV4dFJlYWRlckNvbnN0WG1sVmVyc2lvbjoKKyAqIEByZWFkZXI6ICB0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkCisgKgorICogRGV0ZXJtaW5lIHRoZSBYTUwgdmVyc2lvbiBvZiB0aGUgZG9jdW1lbnQgYmVpbmcgcmVhZC4KKyAqCisgKiBSZXR1cm5zIGEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIFhNTCB2ZXJzaW9uIG9mIHRoZSBkb2N1bWVudCBvciBOVUxMCisgKiBpbiBjYXNlIG9mIGVycm9yLiAgVGhlIHN0cmluZyBpcyBkZWFsbG9jYXRlZCB3aXRoIHRoZSByZWFkZXIuCisgKi8KK2NvbnN0IHhtbENoYXIgKgoreG1sVGV4dFJlYWRlckNvbnN0WG1sVmVyc2lvbih4bWxUZXh0UmVhZGVyUHRyIHJlYWRlcikgeworICAgIHhtbERvY1B0ciBkb2MgPSBOVUxMOworICAgIGlmIChyZWFkZXIgPT0gTlVMTCkKKwlyZXR1cm4oTlVMTCk7CisgICAgaWYgKHJlYWRlci0+ZG9jICE9IE5VTEwpCisgICAgICAgIGRvYyA9IHJlYWRlci0+ZG9jOworICAgIGVsc2UgaWYgKHJlYWRlci0+Y3R4dCAhPSBOVUxMKQorCWRvYyA9IHJlYWRlci0+Y3R4dC0+bXlEb2M7CisgICAgaWYgKGRvYyA9PSBOVUxMKQorCXJldHVybihOVUxMKTsKKworICAgIGlmIChkb2MtPnZlcnNpb24gPT0gTlVMTCkKKwlyZXR1cm4oTlVMTCk7CisgICAgZWxzZQorICAgICAgcmV0dXJuKENPTlNUU1RSKGRvYy0+dmVyc2lvbikpOworfQorCisvKioKKyAqIHhtbFRleHRSZWFkZXJTdGFuZGFsb25lOgorICogQHJlYWRlcjogIHRoZSB4bWxUZXh0UmVhZGVyUHRyIHVzZWQKKyAqCisgKiBEZXRlcm1pbmUgdGhlIHN0YW5kYWxvbmUgc3RhdHVzIG9mIHRoZSBkb2N1bWVudCBiZWluZyByZWFkLgorICoKKyAqIFJldHVybnMgMSBpZiB0aGUgZG9jdW1lbnQgd2FzIGRlY2xhcmVkIHRvIGJlIHN0YW5kYWxvbmUsIDAgaWYgaXQKKyAqIHdhcyBkZWNsYXJlZCB0byBiZSBub3Qgc3RhbmRhbG9uZSwgb3IgLTEgaWYgdGhlIGRvY3VtZW50IGRpZCBub3QKKyAqIHNwZWNpZnkgaXRzIHN0YW5kYWxvbmUgc3RhdHVzIG9yIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludAoreG1sVGV4dFJlYWRlclN0YW5kYWxvbmUoeG1sVGV4dFJlYWRlclB0ciByZWFkZXIpIHsKKyAgICB4bWxEb2NQdHIgZG9jID0gTlVMTDsKKyAgICBpZiAocmVhZGVyID09IE5VTEwpCisJcmV0dXJuKC0xKTsKKyAgICBpZiAocmVhZGVyLT5kb2MgIT0gTlVMTCkKKyAgICAgICAgZG9jID0gcmVhZGVyLT5kb2M7CisgICAgZWxzZSBpZiAocmVhZGVyLT5jdHh0ICE9IE5VTEwpCisJZG9jID0gcmVhZGVyLT5jdHh0LT5teURvYzsKKyAgICBpZiAoZG9jID09IE5VTEwpCisJcmV0dXJuKC0xKTsKKworICAgIHJldHVybihkb2MtPnN0YW5kYWxvbmUpOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQkJRXJyb3IgSGFuZGxpbmcgRXh0ZW5zaW9ucyAgICAgICAgICAgICAgICAgICAgICAgKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKiBoZWxwZXIgdG8gYnVpbGQgYSB4bWxNYWxsb2MnZWQgc3RyaW5nIGZyb20gYSBmb3JtYXQgYW5kIHZhX2xpc3QgKi8KK3N0YXRpYyBjaGFyICoKK3htbFRleHRSZWFkZXJCdWlsZE1lc3NhZ2UoY29uc3QgY2hhciAqbXNnLCB2YV9saXN0IGFwKSB7CisgICAgaW50IHNpemUgPSAwOworICAgIGludCBjaGFyczsKKyAgICBjaGFyICpsYXJnZXI7CisgICAgY2hhciAqc3RyID0gTlVMTDsKKyAgICB2YV9saXN0IGFxOworCisgICAgd2hpbGUgKDEpIHsKKyAgICAgICAgVkFfQ09QWShhcSwgYXApOworICAgICAgICBjaGFycyA9IHZzbnByaW50ZihzdHIsIHNpemUsIG1zZywgYXEpOworICAgICAgICB2YV9lbmQoYXEpOworICAgICAgICBpZiAoY2hhcnMgPCAwKSB7CisJICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCAidnNucHJpbnRmIGZhaWxlZCAhXG4iKTsKKwkgICAgaWYgKHN0cikKKwkJeG1sRnJlZShzdHIpOworCSAgICByZXR1cm4gTlVMTDsKKwl9CisJaWYgKChjaGFycyA8IHNpemUpIHx8IChzaXplID09IE1BWF9FUlJfTVNHX1NJWkUpKQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGlmIChjaGFycyA8IE1BWF9FUlJfTVNHX1NJWkUpCisJc2l6ZSA9IGNoYXJzICsgMTsKKwllbHNlCisJCXNpemUgPSBNQVhfRVJSX01TR19TSVpFOworICAgICAgICBpZiAoKGxhcmdlciA9IChjaGFyICopIHhtbFJlYWxsb2Moc3RyLCBzaXplKSkgPT0gTlVMTCkgeworCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgInhtbFJlYWxsb2MgZmFpbGVkICFcbiIpOworCSAgICBpZiAoc3RyKQorICAgICAgICAgICAgICAgIHhtbEZyZWUoc3RyKTsKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICB9CisgICAgICAgIHN0ciA9IGxhcmdlcjsKKyAgICB9CisKKyAgICByZXR1cm4gc3RyOworfQorCisvKioKKyAqIHhtbFRleHRSZWFkZXJMb2NhdG9yTGluZU51bWJlcjoKKyAqIEBsb2NhdG9yOiB0aGUgeG1sVGV4dFJlYWRlckxvY2F0b3JQdHIgdXNlZAorICoKKyAqIE9idGFpbiB0aGUgbGluZSBudW1iZXIgZm9yIHRoZSBnaXZlbiBsb2NhdG9yLgorICoKKyAqIFJldHVybnMgdGhlIGxpbmUgbnVtYmVyIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludAoreG1sVGV4dFJlYWRlckxvY2F0b3JMaW5lTnVtYmVyKHhtbFRleHRSZWFkZXJMb2NhdG9yUHRyIGxvY2F0b3IpIHsKKyAgICAvKiB3ZSBrbm93IHRoYXQgbG9jYXRvciBpcyBhIHhtbFBhcnNlckN0eHRQdHIgKi8KKyAgICB4bWxQYXJzZXJDdHh0UHRyIGN0eCA9ICh4bWxQYXJzZXJDdHh0UHRyKWxvY2F0b3I7CisgICAgaW50IHJldCA9IC0xOworCisgICAgaWYgKGxvY2F0b3IgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuKC0xKTsKKyAgICBpZiAoY3R4LT5ub2RlICE9IE5VTEwpIHsKKwlyZXQgPSB4bWxHZXRMaW5lTm8oY3R4LT5ub2RlKTsKKyAgICB9CisgICAgZWxzZSB7CisJLyogaW5zcGlyZWQgZnJvbSBlcnJvci5jICovCisJeG1sUGFyc2VySW5wdXRQdHIgaW5wdXQ7CisJaW5wdXQgPSBjdHgtPmlucHV0OworCWlmICgoaW5wdXQtPmZpbGVuYW1lID09IE5VTEwpICYmIChjdHgtPmlucHV0TnIgPiAxKSkKKwkgICAgaW5wdXQgPSBjdHgtPmlucHV0VGFiW2N0eC0+aW5wdXROciAtIDJdOworCWlmIChpbnB1dCAhPSBOVUxMKSB7CisJICAgIHJldCA9IGlucHV0LT5saW5lOworCX0KKwllbHNlIHsKKwkgICAgcmV0ID0gLTE7CisJfQorICAgIH0KKworICAgIHJldHVybiByZXQ7Cit9CisKKy8qKgorICogeG1sVGV4dFJlYWRlckxvY2F0b3JCYXNlVVJJOgorICogQGxvY2F0b3I6IHRoZSB4bWxUZXh0UmVhZGVyTG9jYXRvclB0ciB1c2VkCisgKgorICogT2J0YWluIHRoZSBiYXNlIFVSSSBmb3IgdGhlIGdpdmVuIGxvY2F0b3IuCisgKgorICogUmV0dXJucyB0aGUgYmFzZSBVUkkgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLAorICogICAgaWYgbm9uIE5VTEwgaXQgbmVlZCB0byBiZSBmcmVlZCBieSB0aGUgY2FsbGVyLgorICovCit4bWxDaGFyICoKK3htbFRleHRSZWFkZXJMb2NhdG9yQmFzZVVSSSh4bWxUZXh0UmVhZGVyTG9jYXRvclB0ciBsb2NhdG9yKSB7CisgICAgLyogd2Uga25vdyB0aGF0IGxvY2F0b3IgaXMgYSB4bWxQYXJzZXJDdHh0UHRyICovCisgICAgeG1sUGFyc2VyQ3R4dFB0ciBjdHggPSAoeG1sUGFyc2VyQ3R4dFB0cilsb2NhdG9yOworICAgIHhtbENoYXIgKnJldCA9IE5VTEw7CisKKyAgICBpZiAobG9jYXRvciA9PSBOVUxMKQorICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgaWYgKGN0eC0+bm9kZSAhPSBOVUxMKSB7CisJcmV0ID0geG1sTm9kZUdldEJhc2UoTlVMTCxjdHgtPm5vZGUpOworICAgIH0KKyAgICBlbHNlIHsKKwkvKiBpbnNwaXJlZCBmcm9tIGVycm9yLmMgKi8KKwl4bWxQYXJzZXJJbnB1dFB0ciBpbnB1dDsKKwlpbnB1dCA9IGN0eC0+aW5wdXQ7CisJaWYgKChpbnB1dC0+ZmlsZW5hbWUgPT0gTlVMTCkgJiYgKGN0eC0+aW5wdXROciA+IDEpKQorCSAgICBpbnB1dCA9IGN0eC0+aW5wdXRUYWJbY3R4LT5pbnB1dE5yIC0gMl07CisJaWYgKGlucHV0ICE9IE5VTEwpIHsKKwkgICAgcmV0ID0geG1sU3RyZHVwKEJBRF9DQVNUIGlucHV0LT5maWxlbmFtZSk7CisJfQorCWVsc2UgeworCSAgICByZXQgPSBOVUxMOworCX0KKyAgICB9CisKKyAgICByZXR1cm4gcmV0OworfQorCitzdGF0aWMgdm9pZAoreG1sVGV4dFJlYWRlckdlbmVyaWNFcnJvcih2b2lkICpjdHh0LCB4bWxQYXJzZXJTZXZlcml0aWVzIHNldmVyaXR5LAorICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyICpzdHIpCit7CisgICAgeG1sUGFyc2VyQ3R4dFB0ciBjdHggPSAoeG1sUGFyc2VyQ3R4dFB0cikgY3R4dDsKKworICAgIHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyID0gKHhtbFRleHRSZWFkZXJQdHIpIGN0eC0+X3ByaXZhdGU7CisKKyAgICBpZiAoc3RyICE9IE5VTEwpIHsKKyAgICAgICAgaWYgKHJlYWRlci0+ZXJyb3JGdW5jKQorICAgICAgICAgICAgcmVhZGVyLT5lcnJvckZ1bmMocmVhZGVyLT5lcnJvckZ1bmNBcmcsIHN0ciwgc2V2ZXJpdHksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoeG1sVGV4dFJlYWRlckxvY2F0b3JQdHIpIGN0eCk7CisgICAgICAgIHhtbEZyZWUoc3RyKTsKKyAgICB9Cit9CisKK3N0YXRpYyB2b2lkCit4bWxUZXh0UmVhZGVyU3RydWN0dXJlZEVycm9yKHZvaWQgKmN0eHQsIHhtbEVycm9yUHRyIGVycm9yKQoreworICAgIHhtbFBhcnNlckN0eHRQdHIgY3R4ID0gKHhtbFBhcnNlckN0eHRQdHIpIGN0eHQ7CisKKyAgICB4bWxUZXh0UmVhZGVyUHRyIHJlYWRlciA9ICh4bWxUZXh0UmVhZGVyUHRyKSBjdHgtPl9wcml2YXRlOworCisgICAgaWYgKGVycm9yICYmIHJlYWRlci0+c0Vycm9yRnVuYykgeworICAgICAgICByZWFkZXItPnNFcnJvckZ1bmMocmVhZGVyLT5lcnJvckZ1bmNBcmcsICh4bWxFcnJvclB0cikgZXJyb3IpOworICAgIH0KK30KKworc3RhdGljIHZvaWQgWE1MQ0RFQ0wKK3htbFRleHRSZWFkZXJFcnJvcih2b2lkICpjdHh0LCBjb25zdCBjaGFyICptc2csIC4uLikKK3sKKyAgICB2YV9saXN0IGFwOworCisgICAgdmFfc3RhcnQoYXAsIG1zZyk7CisgICAgeG1sVGV4dFJlYWRlckdlbmVyaWNFcnJvcihjdHh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWE1MX1BBUlNFUl9TRVZFUklUWV9FUlJPUiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFRleHRSZWFkZXJCdWlsZE1lc3NhZ2UobXNnLCBhcCkpOworICAgIHZhX2VuZChhcCk7CisKK30KKworc3RhdGljIHZvaWQgWE1MQ0RFQ0wKK3htbFRleHRSZWFkZXJXYXJuaW5nKHZvaWQgKmN0eHQsIGNvbnN0IGNoYXIgKm1zZywgLi4uKQoreworICAgIHZhX2xpc3QgYXA7CisKKyAgICB2YV9zdGFydChhcCwgbXNnKTsKKyAgICB4bWxUZXh0UmVhZGVyR2VuZXJpY0Vycm9yKGN0eHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfUEFSU0VSX1NFVkVSSVRZX1dBUk5JTkcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxUZXh0UmVhZGVyQnVpbGRNZXNzYWdlKG1zZywgYXApKTsKKyAgICB2YV9lbmQoYXApOworfQorCitzdGF0aWMgdm9pZCBYTUxDREVDTAoreG1sVGV4dFJlYWRlclZhbGlkaXR5RXJyb3Iodm9pZCAqY3R4dCwgY29uc3QgY2hhciAqbXNnLCAuLi4pCit7CisgICAgdmFfbGlzdCBhcDsKKworICAgIGludCBsZW4gPSB4bWxTdHJsZW4oKGNvbnN0IHhtbENoYXIgKikgbXNnKTsKKworICAgIGlmICgobGVuID4gMSkgJiYgKG1zZ1tsZW4gLSAyXSAhPSAnOicpKSB7CisgICAgICAgIC8qCisgICAgICAgICAqIHNvbWUgY2FsbGJhY2tzIG9ubHkgcmVwb3J0IGxvY2F0b3IgaW5mb3JtYXRpb246CisgICAgICAgICAqIHNraXAgdGhlbSAobWltaWNraW5nIGJlaGF2aW91ciBpbiBlcnJvci5jKQorICAgICAgICAgKi8KKyAgICAgICAgdmFfc3RhcnQoYXAsIG1zZyk7CisgICAgICAgIHhtbFRleHRSZWFkZXJHZW5lcmljRXJyb3IoY3R4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfUEFSU0VSX1NFVkVSSVRZX1ZBTElESVRZX0VSUk9SLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFRleHRSZWFkZXJCdWlsZE1lc3NhZ2UobXNnLCBhcCkpOworICAgICAgICB2YV9lbmQoYXApOworICAgIH0KK30KKworc3RhdGljIHZvaWQgWE1MQ0RFQ0wKK3htbFRleHRSZWFkZXJWYWxpZGl0eVdhcm5pbmcodm9pZCAqY3R4dCwgY29uc3QgY2hhciAqbXNnLCAuLi4pCit7CisgICAgdmFfbGlzdCBhcDsKKworICAgIGludCBsZW4gPSB4bWxTdHJsZW4oKGNvbnN0IHhtbENoYXIgKikgbXNnKTsKKworICAgIGlmICgobGVuICE9IDApICYmIChtc2dbbGVuIC0gMV0gIT0gJzonKSkgeworICAgICAgICAvKgorICAgICAgICAgKiBzb21lIGNhbGxiYWNrcyBvbmx5IHJlcG9ydCBsb2NhdG9yIGluZm9ybWF0aW9uOgorICAgICAgICAgKiBza2lwIHRoZW0gKG1pbWlja2luZyBiZWhhdmlvdXIgaW4gZXJyb3IuYykKKyAgICAgICAgICovCisgICAgICAgIHZhX3N0YXJ0KGFwLCBtc2cpOworICAgICAgICB4bWxUZXh0UmVhZGVyR2VuZXJpY0Vycm9yKGN0eHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWE1MX1BBUlNFUl9TRVZFUklUWV9WQUxJRElUWV9XQVJOSU5HLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFRleHRSZWFkZXJCdWlsZE1lc3NhZ2UobXNnLCBhcCkpOworICAgICAgICB2YV9lbmQoYXApOworICAgIH0KK30KKworLyoqCisgKiB4bWxUZXh0UmVhZGVyU2V0RXJyb3JIYW5kbGVyOgorICogQHJlYWRlcjogIHRoZSB4bWxUZXh0UmVhZGVyUHRyIHVzZWQKKyAqIEBmOgl0aGUgY2FsbGJhY2sgZnVuY3Rpb24gdG8gY2FsbCBvbiBlcnJvciBhbmQgd2FybmluZ3MKKyAqIEBhcmc6ICAgIGEgdXNlciBhcmd1bWVudCB0byBwYXNzIHRvIHRoZSBjYWxsYmFjayBmdW5jdGlvbgorICoKKyAqIFJlZ2lzdGVyIGEgY2FsbGJhY2sgZnVuY3Rpb24gdGhhdCB3aWxsIGJlIGNhbGxlZCBvbiBlcnJvciBhbmQgd2FybmluZ3MuCisgKgorICogSWYgQGYgaXMgTlVMTCwgdGhlIGRlZmF1bHQgZXJyb3IgYW5kIHdhcm5pbmcgaGFuZGxlcnMgYXJlIHJlc3RvcmVkLgorICovCit2b2lkCit4bWxUZXh0UmVhZGVyU2V0RXJyb3JIYW5kbGVyKHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxUZXh0UmVhZGVyRXJyb3JGdW5jIGYsIHZvaWQgKmFyZykKK3sKKyAgICBpZiAoZiAhPSBOVUxMKSB7CisgICAgICAgIHJlYWRlci0+Y3R4dC0+c2F4LT5lcnJvciA9IHhtbFRleHRSZWFkZXJFcnJvcjsKKyAgICAgICAgcmVhZGVyLT5jdHh0LT5zYXgtPnNlcnJvciA9IE5VTEw7CisgICAgICAgIHJlYWRlci0+Y3R4dC0+dmN0eHQuZXJyb3IgPSB4bWxUZXh0UmVhZGVyVmFsaWRpdHlFcnJvcjsKKyAgICAgICAgcmVhZGVyLT5jdHh0LT5zYXgtPndhcm5pbmcgPSB4bWxUZXh0UmVhZGVyV2FybmluZzsKKyAgICAgICAgcmVhZGVyLT5jdHh0LT52Y3R4dC53YXJuaW5nID0geG1sVGV4dFJlYWRlclZhbGlkaXR5V2FybmluZzsKKyAgICAgICAgcmVhZGVyLT5lcnJvckZ1bmMgPSBmOworICAgICAgICByZWFkZXItPnNFcnJvckZ1bmMgPSBOVUxMOworICAgICAgICByZWFkZXItPmVycm9yRnVuY0FyZyA9IGFyZzsKKyNpZmRlZiBMSUJYTUxfU0NIRU1BU19FTkFCTEVECisgICAgICAgIGlmIChyZWFkZXItPnJuZ1ZhbGlkQ3R4dCkgeworICAgICAgICAgICAgeG1sUmVsYXhOR1NldFZhbGlkRXJyb3JzKHJlYWRlci0+cm5nVmFsaWRDdHh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFRleHRSZWFkZXJWYWxpZGl0eUVycm9yUmVsYXksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sVGV4dFJlYWRlclZhbGlkaXR5V2FybmluZ1JlbGF5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRlcik7CisgICAgICAgICAgICB4bWxSZWxheE5HU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzKHJlYWRlci0+cm5nVmFsaWRDdHh0LCBOVUxMLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkZXIpOworICAgICAgICB9CisgICAgICAgIGlmIChyZWFkZXItPnhzZFZhbGlkQ3R4dCkgeworICAgICAgICAgICAgeG1sU2NoZW1hU2V0VmFsaWRFcnJvcnMocmVhZGVyLT54c2RWYWxpZEN0eHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxUZXh0UmVhZGVyVmFsaWRpdHlFcnJvclJlbGF5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sVGV4dFJlYWRlclZhbGlkaXR5V2FybmluZ1JlbGF5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZGVyKTsKKyAgICAgICAgICAgIHhtbFNjaGVtYVNldFZhbGlkU3RydWN0dXJlZEVycm9ycyhyZWFkZXItPnhzZFZhbGlkQ3R4dCwgTlVMTCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkZXIpOworICAgICAgICB9CisjZW5kaWYKKyAgICB9IGVsc2UgeworICAgICAgICAvKiByZXN0b3JlIGRlZmF1bHRzICovCisgICAgICAgIHJlYWRlci0+Y3R4dC0+c2F4LT5lcnJvciA9IHhtbFBhcnNlckVycm9yOworICAgICAgICByZWFkZXItPmN0eHQtPnZjdHh0LmVycm9yID0geG1sUGFyc2VyVmFsaWRpdHlFcnJvcjsKKyAgICAgICAgcmVhZGVyLT5jdHh0LT5zYXgtPndhcm5pbmcgPSB4bWxQYXJzZXJXYXJuaW5nOworICAgICAgICByZWFkZXItPmN0eHQtPnZjdHh0Lndhcm5pbmcgPSB4bWxQYXJzZXJWYWxpZGl0eVdhcm5pbmc7CisgICAgICAgIHJlYWRlci0+ZXJyb3JGdW5jID0gTlVMTDsKKyAgICAgICAgcmVhZGVyLT5zRXJyb3JGdW5jID0gTlVMTDsKKyAgICAgICAgcmVhZGVyLT5lcnJvckZ1bmNBcmcgPSBOVUxMOworI2lmZGVmIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQKKyAgICAgICAgaWYgKHJlYWRlci0+cm5nVmFsaWRDdHh0KSB7CisgICAgICAgICAgICB4bWxSZWxheE5HU2V0VmFsaWRFcnJvcnMocmVhZGVyLT5ybmdWYWxpZEN0eHQsIE5VTEwsIE5VTEwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZGVyKTsKKyAgICAgICAgICAgIHhtbFJlbGF4TkdTZXRWYWxpZFN0cnVjdHVyZWRFcnJvcnMocmVhZGVyLT5ybmdWYWxpZEN0eHQsIE5VTEwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRlcik7CisgICAgICAgIH0KKyAgICAgICAgaWYgKHJlYWRlci0+eHNkVmFsaWRDdHh0KSB7CisgICAgICAgICAgICB4bWxTY2hlbWFTZXRWYWxpZEVycm9ycyhyZWFkZXItPnhzZFZhbGlkQ3R4dCwgTlVMTCwgTlVMTCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRlcik7CisgICAgICAgICAgICB4bWxTY2hlbWFTZXRWYWxpZFN0cnVjdHVyZWRFcnJvcnMocmVhZGVyLT54c2RWYWxpZEN0eHQsIE5VTEwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZGVyKTsKKyAgICAgICAgfQorI2VuZGlmCisgICAgfQorfQorCisvKioKKyogeG1sVGV4dFJlYWRlclNldFN0cnVjdHVyZWRFcnJvckhhbmRsZXI6CisgKiBAcmVhZGVyOiAgdGhlIHhtbFRleHRSZWFkZXJQdHIgdXNlZAorICogQGY6CXRoZSBjYWxsYmFjayBmdW5jdGlvbiB0byBjYWxsIG9uIGVycm9yIGFuZCB3YXJuaW5ncworICogQGFyZzogICAgYSB1c2VyIGFyZ3VtZW50IHRvIHBhc3MgdG8gdGhlIGNhbGxiYWNrIGZ1bmN0aW9uCisgKgorICogUmVnaXN0ZXIgYSBjYWxsYmFjayBmdW5jdGlvbiB0aGF0IHdpbGwgYmUgY2FsbGVkIG9uIGVycm9yIGFuZCB3YXJuaW5ncy4KKyAqCisgKiBJZiBAZiBpcyBOVUxMLCB0aGUgZGVmYXVsdCBlcnJvciBhbmQgd2FybmluZyBoYW5kbGVycyBhcmUgcmVzdG9yZWQuCisgKi8KK3ZvaWQKK3htbFRleHRSZWFkZXJTZXRTdHJ1Y3R1cmVkRXJyb3JIYW5kbGVyKHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sU3RydWN0dXJlZEVycm9yRnVuYyBmLCB2b2lkICphcmcpCit7CisgICAgaWYgKGYgIT0gTlVMTCkgeworICAgICAgICByZWFkZXItPmN0eHQtPnNheC0+ZXJyb3IgPSBOVUxMOworICAgICAgICByZWFkZXItPmN0eHQtPnNheC0+c2Vycm9yID0geG1sVGV4dFJlYWRlclN0cnVjdHVyZWRFcnJvcjsKKyAgICAgICAgcmVhZGVyLT5jdHh0LT52Y3R4dC5lcnJvciA9IHhtbFRleHRSZWFkZXJWYWxpZGl0eUVycm9yOworICAgICAgICByZWFkZXItPmN0eHQtPnNheC0+d2FybmluZyA9IHhtbFRleHRSZWFkZXJXYXJuaW5nOworICAgICAgICByZWFkZXItPmN0eHQtPnZjdHh0Lndhcm5pbmcgPSB4bWxUZXh0UmVhZGVyVmFsaWRpdHlXYXJuaW5nOworICAgICAgICByZWFkZXItPnNFcnJvckZ1bmMgPSBmOworICAgICAgICByZWFkZXItPmVycm9yRnVuYyA9IE5VTEw7CisgICAgICAgIHJlYWRlci0+ZXJyb3JGdW5jQXJnID0gYXJnOworI2lmZGVmIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQKKyAgICAgICAgaWYgKHJlYWRlci0+cm5nVmFsaWRDdHh0KSB7CisgICAgICAgICAgICB4bWxSZWxheE5HU2V0VmFsaWRFcnJvcnMocmVhZGVyLT5ybmdWYWxpZEN0eHQsIE5VTEwsIE5VTEwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZGVyKTsKKyAgICAgICAgICAgIHhtbFJlbGF4TkdTZXRWYWxpZFN0cnVjdHVyZWRFcnJvcnMocmVhZGVyLT5ybmdWYWxpZEN0eHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sVGV4dFJlYWRlclZhbGlkaXR5U3RydWN0dXJlZFJlbGF5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkZXIpOworICAgICAgICB9CisgICAgICAgIGlmIChyZWFkZXItPnhzZFZhbGlkQ3R4dCkgeworICAgICAgICAgICAgeG1sU2NoZW1hU2V0VmFsaWRFcnJvcnMocmVhZGVyLT54c2RWYWxpZEN0eHQsIE5VTEwsIE5VTEwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkZXIpOworICAgICAgICAgICAgeG1sU2NoZW1hU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzKHJlYWRlci0+eHNkVmFsaWRDdHh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sVGV4dFJlYWRlclZhbGlkaXR5U3RydWN0dXJlZFJlbGF5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRlcik7CisgICAgICAgIH0KKyNlbmRpZgorICAgIH0gZWxzZSB7CisgICAgICAgIC8qIHJlc3RvcmUgZGVmYXVsdHMgKi8KKyAgICAgICAgcmVhZGVyLT5jdHh0LT5zYXgtPmVycm9yID0geG1sUGFyc2VyRXJyb3I7CisgICAgICAgIHJlYWRlci0+Y3R4dC0+c2F4LT5zZXJyb3IgPSBOVUxMOworICAgICAgICByZWFkZXItPmN0eHQtPnZjdHh0LmVycm9yID0geG1sUGFyc2VyVmFsaWRpdHlFcnJvcjsKKyAgICAgICAgcmVhZGVyLT5jdHh0LT5zYXgtPndhcm5pbmcgPSB4bWxQYXJzZXJXYXJuaW5nOworICAgICAgICByZWFkZXItPmN0eHQtPnZjdHh0Lndhcm5pbmcgPSB4bWxQYXJzZXJWYWxpZGl0eVdhcm5pbmc7CisgICAgICAgIHJlYWRlci0+ZXJyb3JGdW5jID0gTlVMTDsKKyAgICAgICAgcmVhZGVyLT5zRXJyb3JGdW5jID0gTlVMTDsKKyAgICAgICAgcmVhZGVyLT5lcnJvckZ1bmNBcmcgPSBOVUxMOworI2lmZGVmIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQKKyAgICAgICAgaWYgKHJlYWRlci0+cm5nVmFsaWRDdHh0KSB7CisgICAgICAgICAgICB4bWxSZWxheE5HU2V0VmFsaWRFcnJvcnMocmVhZGVyLT5ybmdWYWxpZEN0eHQsIE5VTEwsIE5VTEwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZGVyKTsKKyAgICAgICAgICAgIHhtbFJlbGF4TkdTZXRWYWxpZFN0cnVjdHVyZWRFcnJvcnMocmVhZGVyLT5ybmdWYWxpZEN0eHQsIE5VTEwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRlcik7CisgICAgICAgIH0KKyAgICAgICAgaWYgKHJlYWRlci0+eHNkVmFsaWRDdHh0KSB7CisgICAgICAgICAgICB4bWxTY2hlbWFTZXRWYWxpZEVycm9ycyhyZWFkZXItPnhzZFZhbGlkQ3R4dCwgTlVMTCwgTlVMTCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRlcik7CisgICAgICAgICAgICB4bWxTY2hlbWFTZXRWYWxpZFN0cnVjdHVyZWRFcnJvcnMocmVhZGVyLT54c2RWYWxpZEN0eHQsIE5VTEwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZGVyKTsKKyAgICAgICAgfQorI2VuZGlmCisgICAgfQorfQorCisvKioKKyAqIHhtbFRleHRSZWFkZXJJc1ZhbGlkOgorICogQHJlYWRlcjogIHRoZSB4bWxUZXh0UmVhZGVyUHRyIHVzZWQKKyAqCisgKiBSZXRyaWV2ZSB0aGUgdmFsaWRpdHkgc3RhdHVzIGZyb20gdGhlIHBhcnNlciBjb250ZXh0CisgKgorICogUmV0dXJucyB0aGUgZmxhZyB2YWx1ZSAxIGlmIHZhbGlkLCAwIGlmIG5vLCBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvcgorICovCitpbnQKK3htbFRleHRSZWFkZXJJc1ZhbGlkKHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyKQoreworICAgIGlmIChyZWFkZXIgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuICgtMSk7CisjaWZkZWYgTElCWE1MX1NDSEVNQVNfRU5BQkxFRAorICAgIGlmIChyZWFkZXItPnZhbGlkYXRlID09IFhNTF9URVhUUkVBREVSX1ZBTElEQVRFX1JORykKKyAgICAgICAgcmV0dXJuIChyZWFkZXItPnJuZ1ZhbGlkRXJyb3JzID09IDApOworICAgIGlmIChyZWFkZXItPnZhbGlkYXRlID09IFhNTF9URVhUUkVBREVSX1ZBTElEQVRFX1hTRCkKKyAgICAgICAgcmV0dXJuIChyZWFkZXItPnhzZFZhbGlkRXJyb3JzID09IDApOworI2VuZGlmCisgICAgaWYgKChyZWFkZXItPmN0eHQgIT0gTlVMTCkgJiYgKHJlYWRlci0+Y3R4dC0+dmFsaWRhdGUgPT0gMSkpCisgICAgICAgIHJldHVybiAocmVhZGVyLT5jdHh0LT52YWxpZCk7CisgICAgcmV0dXJuICgwKTsKK30KKworLyoqCisgKiB4bWxUZXh0UmVhZGVyR2V0RXJyb3JIYW5kbGVyOgorICogQHJlYWRlcjogIHRoZSB4bWxUZXh0UmVhZGVyUHRyIHVzZWQKKyAqIEBmOgl0aGUgY2FsbGJhY2sgZnVuY3Rpb24gb3IgTlVMTCBpcyBubyBjYWxsYmFjayBoYXMgYmVlbiByZWdpc3RlcmVkCisgKiBAYXJnOiAgICBhIHVzZXIgYXJndW1lbnQKKyAqCisgKiBSZXRyaWV2ZSB0aGUgZXJyb3IgY2FsbGJhY2sgZnVuY3Rpb24gYW5kIHVzZXIgYXJndW1lbnQuCisgKi8KK3ZvaWQKK3htbFRleHRSZWFkZXJHZXRFcnJvckhhbmRsZXIoeG1sVGV4dFJlYWRlclB0ciByZWFkZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFRleHRSZWFkZXJFcnJvckZ1bmMgKiBmLCB2b2lkICoqYXJnKQoreworICAgIGlmIChmICE9IE5VTEwpCisgICAgICAgICpmID0gcmVhZGVyLT5lcnJvckZ1bmM7CisgICAgaWYgKGFyZyAhPSBOVUxMKQorICAgICAgICAqYXJnID0gcmVhZGVyLT5lcnJvckZ1bmNBcmc7Cit9CisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCU5ldyBzZXQgKDIuNi4wKSBvZiBzaW1wbGVyIGFuZCBtb3JlIGZsZXhpYmxlIEFQSXMJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqCisgKiB4bWxUZXh0UmVhZGVyU2V0dXA6CisgKiBAcmVhZGVyOiAgYW4gWE1MIHJlYWRlcgorICogQGlucHV0OiB4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciB1c2VkIHRvIGZlZWQgdGhlIHJlYWRlciwgd2lsbAorICogICAgICAgICBiZSBkZXN0cm95ZWQgd2l0aCBpdC4KKyAqIEBVUkw6ICB0aGUgYmFzZSBVUkwgdG8gdXNlIGZvciB0aGUgZG9jdW1lbnQKKyAqIEBlbmNvZGluZzogIHRoZSBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTAorICogQG9wdGlvbnM6ICBhIGNvbWJpbmF0aW9uIG9mIHhtbFBhcnNlck9wdGlvbgorICoKKyAqIFNldHVwIGFuIFhNTCByZWFkZXIgd2l0aCBuZXcgb3B0aW9ucworICoKKyAqIFJldHVybnMgMCBpbiBjYXNlIG9mIHN1Y2Nlc3MgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludAoreG1sVGV4dFJlYWRlclNldHVwKHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyLAorICAgICAgICAgICAgICAgICAgIHhtbFBhcnNlcklucHV0QnVmZmVyUHRyIGlucHV0LCBjb25zdCBjaGFyICpVUkwsCisgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZW5jb2RpbmcsIGludCBvcHRpb25zKQoreworICAgIGlmIChyZWFkZXIgPT0gTlVMTCkgeworICAgICAgICBpZiAoaW5wdXQgIT0gTlVMTCkKKwkgICAgeG1sRnJlZVBhcnNlcklucHV0QnVmZmVyKGlucHV0KTsKKyAgICAgICAgcmV0dXJuICgtMSk7CisgICAgfQorCisgICAgLyoKKyAgICAgKiB3ZSBmb3JjZSB0aGUgZ2VuZXJhdGlvbiBvZiBjb21wYWN0IHRleHQgbm9kZXMgb24gdGhlIHJlYWRlcgorICAgICAqIHNpbmNlIHVzciBhcHBsaWNhdGlvbnMgc2hvdWxkIG5ldmVyIG1vZGlmeSB0aGUgdHJlZQorICAgICAqLworICAgIG9wdGlvbnMgfD0gWE1MX1BBUlNFX0NPTVBBQ1Q7CisKKyAgICByZWFkZXItPmRvYyA9IE5VTEw7CisgICAgcmVhZGVyLT5lbnROciA9IDA7CisgICAgcmVhZGVyLT5wYXJzZXJGbGFncyA9IG9wdGlvbnM7CisgICAgcmVhZGVyLT52YWxpZGF0ZSA9IFhNTF9URVhUUkVBREVSX05PVF9WQUxJREFURTsKKyAgICBpZiAoKGlucHV0ICE9IE5VTEwpICYmIChyZWFkZXItPmlucHV0ICE9IE5VTEwpICYmCisgICAgICAgIChyZWFkZXItPmFsbG9jcyAmIFhNTF9URVhUUkVBREVSX0lOUFVUKSkgeworCXhtbEZyZWVQYXJzZXJJbnB1dEJ1ZmZlcihyZWFkZXItPmlucHV0KTsKKwlyZWFkZXItPmlucHV0ID0gTlVMTDsKKwlyZWFkZXItPmFsbG9jcyAtPSBYTUxfVEVYVFJFQURFUl9JTlBVVDsKKyAgICB9CisgICAgaWYgKGlucHV0ICE9IE5VTEwpIHsKKwlyZWFkZXItPmlucHV0ID0gaW5wdXQ7CisJcmVhZGVyLT5hbGxvY3MgfD0gWE1MX1RFWFRSRUFERVJfSU5QVVQ7CisgICAgfQorICAgIGlmIChyZWFkZXItPmJ1ZmZlciA9PSBOVUxMKQorICAgICAgICByZWFkZXItPmJ1ZmZlciA9IHhtbEJ1ZkNyZWF0ZVNpemUoMTAwKTsKKyAgICBpZiAocmVhZGVyLT5idWZmZXIgPT0gTlVMTCkgeworICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4bWxUZXh0UmVhZGVyU2V0dXAgOiBtYWxsb2MgZmFpbGVkXG4iKTsKKyAgICAgICAgcmV0dXJuICgtMSk7CisgICAgfQorICAgIGlmIChyZWFkZXItPnNheCA9PSBOVUxMKQorCXJlYWRlci0+c2F4ID0gKHhtbFNBWEhhbmRsZXIgKikgeG1sTWFsbG9jKHNpemVvZih4bWxTQVhIYW5kbGVyKSk7CisgICAgaWYgKHJlYWRlci0+c2F4ID09IE5VTEwpIHsKKyAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAieG1sVGV4dFJlYWRlclNldHVwIDogbWFsbG9jIGZhaWxlZFxuIik7CisgICAgICAgIHJldHVybiAoLTEpOworICAgIH0KKyAgICB4bWxTQVhWZXJzaW9uKHJlYWRlci0+c2F4LCAyKTsKKyAgICByZWFkZXItPnN0YXJ0RWxlbWVudCA9IHJlYWRlci0+c2F4LT5zdGFydEVsZW1lbnQ7CisgICAgcmVhZGVyLT5zYXgtPnN0YXJ0RWxlbWVudCA9IHhtbFRleHRSZWFkZXJTdGFydEVsZW1lbnQ7CisgICAgcmVhZGVyLT5lbmRFbGVtZW50ID0gcmVhZGVyLT5zYXgtPmVuZEVsZW1lbnQ7CisgICAgcmVhZGVyLT5zYXgtPmVuZEVsZW1lbnQgPSB4bWxUZXh0UmVhZGVyRW5kRWxlbWVudDsKKyNpZmRlZiBMSUJYTUxfU0FYMV9FTkFCTEVECisgICAgaWYgKHJlYWRlci0+c2F4LT5pbml0aWFsaXplZCA9PSBYTUxfU0FYMl9NQUdJQykgeworI2VuZGlmIC8qIExJQlhNTF9TQVgxX0VOQUJMRUQgKi8KKyAgICAgICAgcmVhZGVyLT5zdGFydEVsZW1lbnROcyA9IHJlYWRlci0+c2F4LT5zdGFydEVsZW1lbnROczsKKyAgICAgICAgcmVhZGVyLT5zYXgtPnN0YXJ0RWxlbWVudE5zID0geG1sVGV4dFJlYWRlclN0YXJ0RWxlbWVudE5zOworICAgICAgICByZWFkZXItPmVuZEVsZW1lbnROcyA9IHJlYWRlci0+c2F4LT5lbmRFbGVtZW50TnM7CisgICAgICAgIHJlYWRlci0+c2F4LT5lbmRFbGVtZW50TnMgPSB4bWxUZXh0UmVhZGVyRW5kRWxlbWVudE5zOworI2lmZGVmIExJQlhNTF9TQVgxX0VOQUJMRUQKKyAgICB9IGVsc2UgeworICAgICAgICByZWFkZXItPnN0YXJ0RWxlbWVudE5zID0gTlVMTDsKKyAgICAgICAgcmVhZGVyLT5lbmRFbGVtZW50TnMgPSBOVUxMOworICAgIH0KKyNlbmRpZiAvKiBMSUJYTUxfU0FYMV9FTkFCTEVEICovCisgICAgcmVhZGVyLT5jaGFyYWN0ZXJzID0gcmVhZGVyLT5zYXgtPmNoYXJhY3RlcnM7CisgICAgcmVhZGVyLT5zYXgtPmNoYXJhY3RlcnMgPSB4bWxUZXh0UmVhZGVyQ2hhcmFjdGVyczsKKyAgICByZWFkZXItPnNheC0+aWdub3JhYmxlV2hpdGVzcGFjZSA9IHhtbFRleHRSZWFkZXJDaGFyYWN0ZXJzOworICAgIHJlYWRlci0+Y2RhdGFCbG9jayA9IHJlYWRlci0+c2F4LT5jZGF0YUJsb2NrOworICAgIHJlYWRlci0+c2F4LT5jZGF0YUJsb2NrID0geG1sVGV4dFJlYWRlckNEYXRhQmxvY2s7CisKKyAgICByZWFkZXItPm1vZGUgPSBYTUxfVEVYVFJFQURFUl9NT0RFX0lOSVRJQUw7CisgICAgcmVhZGVyLT5ub2RlID0gTlVMTDsKKyAgICByZWFkZXItPmN1cm5vZGUgPSBOVUxMOworICAgIGlmIChpbnB1dCAhPSBOVUxMKSB7CisgICAgICAgIGlmICh4bWxCdWZVc2UocmVhZGVyLT5pbnB1dC0+YnVmZmVyKSA8IDQpIHsKKyAgICAgICAgICAgIHhtbFBhcnNlcklucHV0QnVmZmVyUmVhZChpbnB1dCwgNCk7CisgICAgICAgIH0KKyAgICAgICAgaWYgKHJlYWRlci0+Y3R4dCA9PSBOVUxMKSB7CisgICAgICAgICAgICBpZiAoeG1sQnVmVXNlKHJlYWRlci0+aW5wdXQtPmJ1ZmZlcikgPj0gNCkgeworICAgICAgICAgICAgICAgIHJlYWRlci0+Y3R4dCA9IHhtbENyZWF0ZVB1c2hQYXJzZXJDdHh0KHJlYWRlci0+c2F4LCBOVUxMLAorCQkgICAgICAgKGNvbnN0IGNoYXIgKikgeG1sQnVmQ29udGVudChyZWFkZXItPmlucHV0LT5idWZmZXIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LCBVUkwpOworICAgICAgICAgICAgICAgIHJlYWRlci0+YmFzZSA9IDA7CisgICAgICAgICAgICAgICAgcmVhZGVyLT5jdXIgPSA0OworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICByZWFkZXItPmN0eHQgPQorICAgICAgICAgICAgICAgICAgICB4bWxDcmVhdGVQdXNoUGFyc2VyQ3R4dChyZWFkZXItPnNheCwgTlVMTCwgTlVMTCwgMCwgVVJMKTsKKyAgICAgICAgICAgICAgICByZWFkZXItPmJhc2UgPSAwOworICAgICAgICAgICAgICAgIHJlYWRlci0+Y3VyID0gMDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIHsKKwkgICAgeG1sUGFyc2VySW5wdXRQdHIgaW5wdXRTdHJlYW07CisJICAgIHhtbFBhcnNlcklucHV0QnVmZmVyUHRyIGJ1ZjsKKwkgICAgeG1sQ2hhckVuY29kaW5nIGVuYyA9IFhNTF9DSEFSX0VOQ09ESU5HX05PTkU7CisKKwkgICAgeG1sQ3R4dFJlc2V0KHJlYWRlci0+Y3R4dCk7CisJICAgIGJ1ZiA9IHhtbEFsbG9jUGFyc2VySW5wdXRCdWZmZXIoZW5jKTsKKwkgICAgaWYgKGJ1ZiA9PSBOVUxMKSByZXR1cm4oLTEpOworCSAgICBpbnB1dFN0cmVhbSA9IHhtbE5ld0lucHV0U3RyZWFtKHJlYWRlci0+Y3R4dCk7CisJICAgIGlmIChpbnB1dFN0cmVhbSA9PSBOVUxMKSB7CisJCXhtbEZyZWVQYXJzZXJJbnB1dEJ1ZmZlcihidWYpOworCQlyZXR1cm4oLTEpOworCSAgICB9CisKKwkgICAgaWYgKFVSTCA9PSBOVUxMKQorCQlpbnB1dFN0cmVhbS0+ZmlsZW5hbWUgPSBOVUxMOworCSAgICBlbHNlCisJCWlucHV0U3RyZWFtLT5maWxlbmFtZSA9IChjaGFyICopCisJCSAgICB4bWxDYW5vbmljUGF0aCgoY29uc3QgeG1sQ2hhciAqKSBVUkwpOworCSAgICBpbnB1dFN0cmVhbS0+YnVmID0gYnVmOworICAgICAgICAgICAgeG1sQnVmUmVzZXRJbnB1dChidWYtPmJ1ZmZlciwgaW5wdXRTdHJlYW0pOworCisJICAgIGlucHV0UHVzaChyZWFkZXItPmN0eHQsIGlucHV0U3RyZWFtKTsKKwkgICAgcmVhZGVyLT5jdXIgPSAwOworCX0KKyAgICAgICAgaWYgKHJlYWRlci0+Y3R4dCA9PSBOVUxMKSB7CisgICAgICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAieG1sVGV4dFJlYWRlclNldHVwIDogbWFsbG9jIGZhaWxlZFxuIik7CisgICAgICAgICAgICByZXR1cm4gKC0xKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBpZiAocmVhZGVyLT5kaWN0ICE9IE5VTEwpIHsKKyAgICAgICAgaWYgKHJlYWRlci0+Y3R4dC0+ZGljdCAhPSBOVUxMKSB7CisJICAgIGlmIChyZWFkZXItPmRpY3QgIT0gcmVhZGVyLT5jdHh0LT5kaWN0KSB7CisJCXhtbERpY3RGcmVlKHJlYWRlci0+ZGljdCk7CisJCXJlYWRlci0+ZGljdCA9IHJlYWRlci0+Y3R4dC0+ZGljdDsKKwkgICAgfQorCX0gZWxzZSB7CisJICAgIHJlYWRlci0+Y3R4dC0+ZGljdCA9IHJlYWRlci0+ZGljdDsKKwl9CisgICAgfSBlbHNlIHsKKwlpZiAocmVhZGVyLT5jdHh0LT5kaWN0ID09IE5VTEwpCisJICAgIHJlYWRlci0+Y3R4dC0+ZGljdCA9IHhtbERpY3RDcmVhdGUoKTsKKyAgICAgICAgcmVhZGVyLT5kaWN0ID0gcmVhZGVyLT5jdHh0LT5kaWN0OworICAgIH0KKyAgICByZWFkZXItPmN0eHQtPl9wcml2YXRlID0gcmVhZGVyOworICAgIHJlYWRlci0+Y3R4dC0+bGluZW51bWJlcnMgPSAxOworICAgIHJlYWRlci0+Y3R4dC0+ZGljdE5hbWVzID0gMTsKKyAgICAvKgorICAgICAqIHVzZSB0aGUgcGFyc2VyIGRpY3Rpb25uYXJ5IHRvIGFsbG9jYXRlIGFsbCBlbGVtZW50cyBhbmQgYXR0cmlidXRlcyBuYW1lcworICAgICAqLworICAgIHJlYWRlci0+Y3R4dC0+ZG9jZGljdCA9IDE7CisgICAgcmVhZGVyLT5jdHh0LT5wYXJzZU1vZGUgPSBYTUxfUEFSU0VfUkVBREVSOworCisjaWZkZWYgTElCWE1MX1hJTkNMVURFX0VOQUJMRUQKKyAgICBpZiAocmVhZGVyLT54aW5jY3R4dCAhPSBOVUxMKSB7CisJeG1sWEluY2x1ZGVGcmVlQ29udGV4dChyZWFkZXItPnhpbmNjdHh0KTsKKwlyZWFkZXItPnhpbmNjdHh0ID0gTlVMTDsKKyAgICB9CisgICAgaWYgKG9wdGlvbnMgJiBYTUxfUEFSU0VfWElOQ0xVREUpIHsKKyAgICAgICAgcmVhZGVyLT54aW5jbHVkZSA9IDE7CisJcmVhZGVyLT54aW5jbHVkZV9uYW1lID0geG1sRGljdExvb2t1cChyZWFkZXItPmRpY3QsIFhJTkNMVURFX05PREUsIC0xKTsKKwlvcHRpb25zIC09IFhNTF9QQVJTRV9YSU5DTFVERTsKKyAgICB9IGVsc2UKKyAgICAgICAgcmVhZGVyLT54aW5jbHVkZSA9IDA7CisgICAgcmVhZGVyLT5pbl94aW5jbHVkZSA9IDA7CisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfUEFUVEVSTl9FTkFCTEVECisgICAgaWYgKHJlYWRlci0+cGF0dGVyblRhYiA9PSBOVUxMKSB7CisgICAgICAgIHJlYWRlci0+cGF0dGVybk5yID0gMDsKKwlyZWFkZXItPnBhdHRlcm5NYXggPSAwOworICAgIH0KKyAgICB3aGlsZSAocmVhZGVyLT5wYXR0ZXJuTnIgPiAwKSB7CisgICAgICAgIHJlYWRlci0+cGF0dGVybk5yLS07CisJaWYgKHJlYWRlci0+cGF0dGVyblRhYltyZWFkZXItPnBhdHRlcm5Ocl0gIT0gTlVMTCkgeworCSAgICB4bWxGcmVlUGF0dGVybihyZWFkZXItPnBhdHRlcm5UYWJbcmVhZGVyLT5wYXR0ZXJuTnJdKTsKKyAgICAgICAgICAgIHJlYWRlci0+cGF0dGVyblRhYltyZWFkZXItPnBhdHRlcm5Ocl0gPSBOVUxMOworCX0KKyAgICB9CisjZW5kaWYKKworICAgIGlmIChvcHRpb25zICYgWE1MX1BBUlNFX0RURFZBTElEKQorICAgICAgICByZWFkZXItPnZhbGlkYXRlID0gWE1MX1RFWFRSRUFERVJfVkFMSURBVEVfRFREOworCisgICAgeG1sQ3R4dFVzZU9wdGlvbnMocmVhZGVyLT5jdHh0LCBvcHRpb25zKTsKKyAgICBpZiAoZW5jb2RpbmcgIT0gTlVMTCkgeworICAgICAgICB4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyIGhkbHI7CisKKyAgICAgICAgaGRsciA9IHhtbEZpbmRDaGFyRW5jb2RpbmdIYW5kbGVyKGVuY29kaW5nKTsKKyAgICAgICAgaWYgKGhkbHIgIT0gTlVMTCkKKyAgICAgICAgICAgIHhtbFN3aXRjaFRvRW5jb2RpbmcocmVhZGVyLT5jdHh0LCBoZGxyKTsKKyAgICB9CisgICAgaWYgKChVUkwgIT0gTlVMTCkgJiYgKHJlYWRlci0+Y3R4dC0+aW5wdXQgIT0gTlVMTCkgJiYKKyAgICAgICAgKHJlYWRlci0+Y3R4dC0+aW5wdXQtPmZpbGVuYW1lID09IE5VTEwpKQorICAgICAgICByZWFkZXItPmN0eHQtPmlucHV0LT5maWxlbmFtZSA9IChjaGFyICopCisgICAgICAgICAgICB4bWxTdHJkdXAoKGNvbnN0IHhtbENoYXIgKikgVVJMKTsKKworICAgIHJlYWRlci0+ZG9jID0gTlVMTDsKKworICAgIHJldHVybiAoMCk7Cit9CisKKy8qKgorICogeG1sVGV4dFJlYWRlckJ5dGVDb25zdW1lZDoKKyAqIEByZWFkZXI6IGFuIFhNTCByZWFkZXIKKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHByb3ZpZGVzIHRoZSBjdXJyZW50IGluZGV4IG9mIHRoZSBwYXJzZXIgdXNlZAorICogYnkgdGhlIHJlYWRlciwgcmVsYXRpdmUgdG8gdGhlIHN0YXJ0IG9mIHRoZSBjdXJyZW50IGVudGl0eS4KKyAqIFRoaXMgZnVuY3Rpb24gYWN0dWFsbHkganVzdCB3cmFwcyBhIGNhbGwgdG8geG1sQnl0ZXNDb25zdW1lZCgpCisgKiBmb3IgdGhlIHBhcnNlciBjb250ZXh0IGFzc29jaWF0ZWQgd2l0aCB0aGUgcmVhZGVyLgorICogU2VlIHhtbEJ5dGVzQ29uc3VtZWQoKSBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KKyAqCisgKiBSZXR1cm5zIHRoZSBpbmRleCBpbiBieXRlcyBmcm9tIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGVudGl0eSBvciAtMQorICogICAgICAgICBpbiBjYXNlIHRoZSBpbmRleCBjb3VsZCBub3QgYmUgY29tcHV0ZWQuCisgKi8KK2xvbmcKK3htbFRleHRSZWFkZXJCeXRlQ29uc3VtZWQoeG1sVGV4dFJlYWRlclB0ciByZWFkZXIpIHsKKyAgICBpZiAoKHJlYWRlciA9PSBOVUxMKSB8fCAocmVhZGVyLT5jdHh0ID09IE5VTEwpKQorICAgICAgICByZXR1cm4oLTEpOworICAgIHJldHVybih4bWxCeXRlQ29uc3VtZWQocmVhZGVyLT5jdHh0KSk7Cit9CisKKworLyoqCisgKiB4bWxSZWFkZXJXYWxrZXI6CisgKiBAZG9jOiAgYSBwcmVwYXJzZWQgZG9jdW1lbnQKKyAqCisgKiBDcmVhdGUgYW4geG1sdGV4dFJlYWRlciBmb3IgYSBwcmVwYXJzZWQgZG9jdW1lbnQuCisgKgorICogUmV0dXJucyB0aGUgbmV3IHJlYWRlciBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK3htbFRleHRSZWFkZXJQdHIKK3htbFJlYWRlcldhbGtlcih4bWxEb2NQdHIgZG9jKQoreworICAgIHhtbFRleHRSZWFkZXJQdHIgcmV0OworCisgICAgaWYgKGRvYyA9PSBOVUxMKQorICAgICAgICByZXR1cm4oTlVMTCk7CisKKyAgICByZXQgPSB4bWxNYWxsb2Moc2l6ZW9mKHhtbFRleHRSZWFkZXIpKTsKKyAgICBpZiAocmV0ID09IE5VTEwpIHsKKyAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSJ4bWxOZXdUZXh0UmVhZGVyIDogbWFsbG9jIGZhaWxlZFxuIik7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBtZW1zZXQocmV0LCAwLCBzaXplb2YoeG1sVGV4dFJlYWRlcikpOworICAgIHJldC0+ZW50TnIgPSAwOworICAgIHJldC0+aW5wdXQgPSBOVUxMOworICAgIHJldC0+bW9kZSA9IFhNTF9URVhUUkVBREVSX01PREVfSU5JVElBTDsKKyAgICByZXQtPm5vZGUgPSBOVUxMOworICAgIHJldC0+Y3Vybm9kZSA9IE5VTEw7CisgICAgcmV0LT5iYXNlID0gMDsKKyAgICByZXQtPmN1ciA9IDA7CisgICAgcmV0LT5hbGxvY3MgPSBYTUxfVEVYVFJFQURFUl9DVFhUOworICAgIHJldC0+ZG9jID0gZG9jOworICAgIHJldC0+c3RhdGUgPSBYTUxfVEVYVFJFQURFUl9TVEFSVDsKKyAgICByZXQtPmRpY3QgPSB4bWxEaWN0Q3JlYXRlKCk7CisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogeG1sUmVhZGVyRm9yRG9jOgorICogQGN1cjogIGEgcG9pbnRlciB0byBhIHplcm8gdGVybWluYXRlZCBzdHJpbmcKKyAqIEBVUkw6ICB0aGUgYmFzZSBVUkwgdG8gdXNlIGZvciB0aGUgZG9jdW1lbnQKKyAqIEBlbmNvZGluZzogIHRoZSBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTAorICogQG9wdGlvbnM6ICBhIGNvbWJpbmF0aW9uIG9mIHhtbFBhcnNlck9wdGlvbgorICoKKyAqIENyZWF0ZSBhbiB4bWx0ZXh0UmVhZGVyIGZvciBhbiBYTUwgaW4tbWVtb3J5IGRvY3VtZW50LgorICogVGhlIHBhcnNpbmcgZmxhZ3MgQG9wdGlvbnMgYXJlIGEgY29tYmluYXRpb24gb2YgeG1sUGFyc2VyT3B0aW9uLgorICoKKyAqIFJldHVybnMgdGhlIG5ldyByZWFkZXIgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLgorICovCit4bWxUZXh0UmVhZGVyUHRyCit4bWxSZWFkZXJGb3JEb2MoY29uc3QgeG1sQ2hhciAqIGN1ciwgY29uc3QgY2hhciAqVVJMLCBjb25zdCBjaGFyICplbmNvZGluZywKKyAgICAgICAgICAgICAgICBpbnQgb3B0aW9ucykKK3sKKyAgICBpbnQgbGVuOworCisgICAgaWYgKGN1ciA9PSBOVUxMKQorICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIGxlbiA9IHhtbFN0cmxlbihjdXIpOworCisgICAgcmV0dXJuICh4bWxSZWFkZXJGb3JNZW1vcnkKKyAgICAgICAgICAgICgoY29uc3QgY2hhciAqKSBjdXIsIGxlbiwgVVJMLCBlbmNvZGluZywgb3B0aW9ucykpOworfQorCisvKioKKyAqIHhtbFJlYWRlckZvckZpbGU6CisgKiBAZmlsZW5hbWU6ICBhIGZpbGUgb3IgVVJMCisgKiBAZW5jb2Rpbmc6ICB0aGUgZG9jdW1lbnQgZW5jb2RpbmcsIG9yIE5VTEwKKyAqIEBvcHRpb25zOiAgYSBjb21iaW5hdGlvbiBvZiB4bWxQYXJzZXJPcHRpb24KKyAqCisgKiBwYXJzZSBhbiBYTUwgZmlsZSBmcm9tIHRoZSBmaWxlc3lzdGVtIG9yIHRoZSBuZXR3b3JrLgorICogVGhlIHBhcnNpbmcgZmxhZ3MgQG9wdGlvbnMgYXJlIGEgY29tYmluYXRpb24gb2YgeG1sUGFyc2VyT3B0aW9uLgorICoKKyAqIFJldHVybnMgdGhlIG5ldyByZWFkZXIgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLgorICovCit4bWxUZXh0UmVhZGVyUHRyCit4bWxSZWFkZXJGb3JGaWxlKGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBjb25zdCBjaGFyICplbmNvZGluZywgaW50IG9wdGlvbnMpCit7CisgICAgeG1sVGV4dFJlYWRlclB0ciByZWFkZXI7CisKKyAgICByZWFkZXIgPSB4bWxOZXdUZXh0UmVhZGVyRmlsZW5hbWUoZmlsZW5hbWUpOworICAgIGlmIChyZWFkZXIgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICB4bWxUZXh0UmVhZGVyU2V0dXAocmVhZGVyLCBOVUxMLCBOVUxMLCBlbmNvZGluZywgb3B0aW9ucyk7CisgICAgcmV0dXJuIChyZWFkZXIpOworfQorCisvKioKKyAqIHhtbFJlYWRlckZvck1lbW9yeToKKyAqIEBidWZmZXI6ICBhIHBvaW50ZXIgdG8gYSBjaGFyIGFycmF5CisgKiBAc2l6ZTogIHRoZSBzaXplIG9mIHRoZSBhcnJheQorICogQFVSTDogIHRoZSBiYXNlIFVSTCB0byB1c2UgZm9yIHRoZSBkb2N1bWVudAorICogQGVuY29kaW5nOiAgdGhlIGRvY3VtZW50IGVuY29kaW5nLCBvciBOVUxMCisgKiBAb3B0aW9uczogIGEgY29tYmluYXRpb24gb2YgeG1sUGFyc2VyT3B0aW9uCisgKgorICogQ3JlYXRlIGFuIHhtbHRleHRSZWFkZXIgZm9yIGFuIFhNTCBpbi1tZW1vcnkgZG9jdW1lbnQuCisgKiBUaGUgcGFyc2luZyBmbGFncyBAb3B0aW9ucyBhcmUgYSBjb21iaW5hdGlvbiBvZiB4bWxQYXJzZXJPcHRpb24uCisgKgorICogUmV0dXJucyB0aGUgbmV3IHJlYWRlciBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK3htbFRleHRSZWFkZXJQdHIKK3htbFJlYWRlckZvck1lbW9yeShjb25zdCBjaGFyICpidWZmZXIsIGludCBzaXplLCBjb25zdCBjaGFyICpVUkwsCisgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZW5jb2RpbmcsIGludCBvcHRpb25zKQoreworICAgIHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyOworICAgIHhtbFBhcnNlcklucHV0QnVmZmVyUHRyIGJ1ZjsKKworICAgIGJ1ZiA9IHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlU3RhdGljKGJ1ZmZlciwgc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWE1MX0NIQVJfRU5DT0RJTkdfTk9ORSk7CisgICAgaWYgKGJ1ZiA9PSBOVUxMKSB7CisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgfQorICAgIHJlYWRlciA9IHhtbE5ld1RleHRSZWFkZXIoYnVmLCBVUkwpOworICAgIGlmIChyZWFkZXIgPT0gTlVMTCkgeworICAgICAgICB4bWxGcmVlUGFyc2VySW5wdXRCdWZmZXIoYnVmKTsKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICB9CisgICAgcmVhZGVyLT5hbGxvY3MgfD0gWE1MX1RFWFRSRUFERVJfSU5QVVQ7CisgICAgeG1sVGV4dFJlYWRlclNldHVwKHJlYWRlciwgTlVMTCwgVVJMLCBlbmNvZGluZywgb3B0aW9ucyk7CisgICAgcmV0dXJuIChyZWFkZXIpOworfQorCisvKioKKyAqIHhtbFJlYWRlckZvckZkOgorICogQGZkOiAgYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3IKKyAqIEBVUkw6ICB0aGUgYmFzZSBVUkwgdG8gdXNlIGZvciB0aGUgZG9jdW1lbnQKKyAqIEBlbmNvZGluZzogIHRoZSBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTAorICogQG9wdGlvbnM6ICBhIGNvbWJpbmF0aW9uIG9mIHhtbFBhcnNlck9wdGlvbgorICoKKyAqIENyZWF0ZSBhbiB4bWx0ZXh0UmVhZGVyIGZvciBhbiBYTUwgZnJvbSBhIGZpbGUgZGVzY3JpcHRvci4KKyAqIFRoZSBwYXJzaW5nIGZsYWdzIEBvcHRpb25zIGFyZSBhIGNvbWJpbmF0aW9uIG9mIHhtbFBhcnNlck9wdGlvbi4KKyAqIE5PVEUgdGhhdCB0aGUgZmlsZSBkZXNjcmlwdG9yIHdpbGwgbm90IGJlIGNsb3NlZCB3aGVuIHRoZQorICogICAgICByZWFkZXIgaXMgY2xvc2VkIG9yIHJlc2V0LgorICoKKyAqIFJldHVybnMgdGhlIG5ldyByZWFkZXIgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLgorICovCit4bWxUZXh0UmVhZGVyUHRyCit4bWxSZWFkZXJGb3JGZChpbnQgZmQsIGNvbnN0IGNoYXIgKlVSTCwgY29uc3QgY2hhciAqZW5jb2RpbmcsIGludCBvcHRpb25zKQoreworICAgIHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyOworICAgIHhtbFBhcnNlcklucHV0QnVmZmVyUHRyIGlucHV0OworCisgICAgaWYgKGZkIDwgMCkKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKworICAgIGlucHV0ID0geG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGZChmZCwgWE1MX0NIQVJfRU5DT0RJTkdfTk9ORSk7CisgICAgaWYgKGlucHV0ID09IE5VTEwpCisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgaW5wdXQtPmNsb3NlY2FsbGJhY2sgPSBOVUxMOworICAgIHJlYWRlciA9IHhtbE5ld1RleHRSZWFkZXIoaW5wdXQsIFVSTCk7CisgICAgaWYgKHJlYWRlciA9PSBOVUxMKSB7CisgICAgICAgIHhtbEZyZWVQYXJzZXJJbnB1dEJ1ZmZlcihpbnB1dCk7CisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgfQorICAgIHJlYWRlci0+YWxsb2NzIHw9IFhNTF9URVhUUkVBREVSX0lOUFVUOworICAgIHhtbFRleHRSZWFkZXJTZXR1cChyZWFkZXIsIE5VTEwsIFVSTCwgZW5jb2RpbmcsIG9wdGlvbnMpOworICAgIHJldHVybiAocmVhZGVyKTsKK30KKworLyoqCisgKiB4bWxSZWFkZXJGb3JJTzoKKyAqIEBpb3JlYWQ6ICBhbiBJL08gcmVhZCBmdW5jdGlvbgorICogQGlvY2xvc2U6ICBhbiBJL08gY2xvc2UgZnVuY3Rpb24KKyAqIEBpb2N0eDogIGFuIEkvTyBoYW5kbGVyCisgKiBAVVJMOiAgdGhlIGJhc2UgVVJMIHRvIHVzZSBmb3IgdGhlIGRvY3VtZW50CisgKiBAZW5jb2Rpbmc6ICB0aGUgZG9jdW1lbnQgZW5jb2RpbmcsIG9yIE5VTEwKKyAqIEBvcHRpb25zOiAgYSBjb21iaW5hdGlvbiBvZiB4bWxQYXJzZXJPcHRpb24KKyAqCisgKiBDcmVhdGUgYW4geG1sdGV4dFJlYWRlciBmb3IgYW4gWE1MIGRvY3VtZW50IGZyb20gSS9PIGZ1bmN0aW9ucyBhbmQgc291cmNlLgorICogVGhlIHBhcnNpbmcgZmxhZ3MgQG9wdGlvbnMgYXJlIGEgY29tYmluYXRpb24gb2YgeG1sUGFyc2VyT3B0aW9uLgorICoKKyAqIFJldHVybnMgdGhlIG5ldyByZWFkZXIgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLgorICovCit4bWxUZXh0UmVhZGVyUHRyCit4bWxSZWFkZXJGb3JJTyh4bWxJbnB1dFJlYWRDYWxsYmFjayBpb3JlYWQsIHhtbElucHV0Q2xvc2VDYWxsYmFjayBpb2Nsb3NlLAorICAgICAgICAgICAgICAgdm9pZCAqaW9jdHgsIGNvbnN0IGNoYXIgKlVSTCwgY29uc3QgY2hhciAqZW5jb2RpbmcsCisgICAgICAgICAgICAgICBpbnQgb3B0aW9ucykKK3sKKyAgICB4bWxUZXh0UmVhZGVyUHRyIHJlYWRlcjsKKyAgICB4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciBpbnB1dDsKKworICAgIGlmIChpb3JlYWQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKworICAgIGlucHV0ID0geG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVJTyhpb3JlYWQsIGlvY2xvc2UsIGlvY3R4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfQ0hBUl9FTkNPRElOR19OT05FKTsKKyAgICBpZiAoaW5wdXQgPT0gTlVMTCkgeworICAgICAgICBpZiAoaW9jbG9zZSAhPSBOVUxMKQorICAgICAgICAgICAgaW9jbG9zZShpb2N0eCk7CisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgfQorICAgIHJlYWRlciA9IHhtbE5ld1RleHRSZWFkZXIoaW5wdXQsIFVSTCk7CisgICAgaWYgKHJlYWRlciA9PSBOVUxMKSB7CisgICAgICAgIHhtbEZyZWVQYXJzZXJJbnB1dEJ1ZmZlcihpbnB1dCk7CisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgfQorICAgIHJlYWRlci0+YWxsb2NzIHw9IFhNTF9URVhUUkVBREVSX0lOUFVUOworICAgIHhtbFRleHRSZWFkZXJTZXR1cChyZWFkZXIsIE5VTEwsIFVSTCwgZW5jb2RpbmcsIG9wdGlvbnMpOworICAgIHJldHVybiAocmVhZGVyKTsKK30KKworLyoqCisgKiB4bWxSZWFkZXJOZXdXYWxrZXI6CisgKiBAcmVhZGVyOiAgYW4gWE1MIHJlYWRlcgorICogQGRvYzogIGEgcHJlcGFyc2VkIGRvY3VtZW50CisgKgorICogU2V0dXAgYW4geG1sdGV4dFJlYWRlciB0byBwYXJzZSBhIHByZXBhcnNlZCBYTUwgZG9jdW1lbnQuCisgKiBUaGlzIHJldXNlcyB0aGUgZXhpc3RpbmcgQHJlYWRlciB4bWxUZXh0UmVhZGVyLgorICoKKyAqIFJldHVybnMgMCBpbiBjYXNlIG9mIHN1Y2Nlc3MgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworaW50Cit4bWxSZWFkZXJOZXdXYWxrZXIoeG1sVGV4dFJlYWRlclB0ciByZWFkZXIsIHhtbERvY1B0ciBkb2MpCit7CisgICAgaWYgKGRvYyA9PSBOVUxMKQorICAgICAgICByZXR1cm4gKC0xKTsKKyAgICBpZiAocmVhZGVyID09IE5VTEwpCisgICAgICAgIHJldHVybiAoLTEpOworCisgICAgaWYgKHJlYWRlci0+aW5wdXQgIT0gTlVMTCkgeworICAgICAgICB4bWxGcmVlUGFyc2VySW5wdXRCdWZmZXIocmVhZGVyLT5pbnB1dCk7CisgICAgfQorICAgIGlmIChyZWFkZXItPmN0eHQgIT0gTlVMTCkgeworCXhtbEN0eHRSZXNldChyZWFkZXItPmN0eHQpOworICAgIH0KKworICAgIHJlYWRlci0+ZW50TnIgPSAwOworICAgIHJlYWRlci0+aW5wdXQgPSBOVUxMOworICAgIHJlYWRlci0+bW9kZSA9IFhNTF9URVhUUkVBREVSX01PREVfSU5JVElBTDsKKyAgICByZWFkZXItPm5vZGUgPSBOVUxMOworICAgIHJlYWRlci0+Y3Vybm9kZSA9IE5VTEw7CisgICAgcmVhZGVyLT5iYXNlID0gMDsKKyAgICByZWFkZXItPmN1ciA9IDA7CisgICAgcmVhZGVyLT5hbGxvY3MgPSBYTUxfVEVYVFJFQURFUl9DVFhUOworICAgIHJlYWRlci0+ZG9jID0gZG9jOworICAgIHJlYWRlci0+c3RhdGUgPSBYTUxfVEVYVFJFQURFUl9TVEFSVDsKKyAgICBpZiAocmVhZGVyLT5kaWN0ID09IE5VTEwpIHsKKyAgICAgICAgaWYgKChyZWFkZXItPmN0eHQgIT0gTlVMTCkgJiYgKHJlYWRlci0+Y3R4dC0+ZGljdCAhPSBOVUxMKSkKKwkgICAgcmVhZGVyLT5kaWN0ID0gcmVhZGVyLT5jdHh0LT5kaWN0OworCWVsc2UKKwkgICAgcmVhZGVyLT5kaWN0ID0geG1sRGljdENyZWF0ZSgpOworICAgIH0KKyAgICByZXR1cm4oMCk7Cit9CisKKy8qKgorICogeG1sUmVhZGVyTmV3RG9jOgorICogQHJlYWRlcjogIGFuIFhNTCByZWFkZXIKKyAqIEBjdXI6ICBhIHBvaW50ZXIgdG8gYSB6ZXJvIHRlcm1pbmF0ZWQgc3RyaW5nCisgKiBAVVJMOiAgdGhlIGJhc2UgVVJMIHRvIHVzZSBmb3IgdGhlIGRvY3VtZW50CisgKiBAZW5jb2Rpbmc6ICB0aGUgZG9jdW1lbnQgZW5jb2RpbmcsIG9yIE5VTEwKKyAqIEBvcHRpb25zOiAgYSBjb21iaW5hdGlvbiBvZiB4bWxQYXJzZXJPcHRpb24KKyAqCisgKiBTZXR1cCBhbiB4bWx0ZXh0UmVhZGVyIHRvIHBhcnNlIGFuIFhNTCBpbi1tZW1vcnkgZG9jdW1lbnQuCisgKiBUaGUgcGFyc2luZyBmbGFncyBAb3B0aW9ucyBhcmUgYSBjb21iaW5hdGlvbiBvZiB4bWxQYXJzZXJPcHRpb24uCisgKiBUaGlzIHJldXNlcyB0aGUgZXhpc3RpbmcgQHJlYWRlciB4bWxUZXh0UmVhZGVyLgorICoKKyAqIFJldHVybnMgMCBpbiBjYXNlIG9mIHN1Y2Nlc3MgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworaW50Cit4bWxSZWFkZXJOZXdEb2MoeG1sVGV4dFJlYWRlclB0ciByZWFkZXIsIGNvbnN0IHhtbENoYXIgKiBjdXIsCisgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqVVJMLCBjb25zdCBjaGFyICplbmNvZGluZywgaW50IG9wdGlvbnMpCit7CisKKyAgICBpbnQgbGVuOworCisgICAgaWYgKGN1ciA9PSBOVUxMKQorICAgICAgICByZXR1cm4gKC0xKTsKKyAgICBpZiAocmVhZGVyID09IE5VTEwpCisgICAgICAgIHJldHVybiAoLTEpOworCisgICAgbGVuID0geG1sU3RybGVuKGN1cik7CisgICAgcmV0dXJuICh4bWxSZWFkZXJOZXdNZW1vcnkocmVhZGVyLCAoY29uc3QgY2hhciAqKWN1ciwgbGVuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVSTCwgZW5jb2RpbmcsIG9wdGlvbnMpKTsKK30KKworLyoqCisgKiB4bWxSZWFkZXJOZXdGaWxlOgorICogQHJlYWRlcjogIGFuIFhNTCByZWFkZXIKKyAqIEBmaWxlbmFtZTogIGEgZmlsZSBvciBVUkwKKyAqIEBlbmNvZGluZzogIHRoZSBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTAorICogQG9wdGlvbnM6ICBhIGNvbWJpbmF0aW9uIG9mIHhtbFBhcnNlck9wdGlvbgorICoKKyAqIHBhcnNlIGFuIFhNTCBmaWxlIGZyb20gdGhlIGZpbGVzeXN0ZW0gb3IgdGhlIG5ldHdvcmsuCisgKiBUaGUgcGFyc2luZyBmbGFncyBAb3B0aW9ucyBhcmUgYSBjb21iaW5hdGlvbiBvZiB4bWxQYXJzZXJPcHRpb24uCisgKiBUaGlzIHJldXNlcyB0aGUgZXhpc3RpbmcgQHJlYWRlciB4bWxUZXh0UmVhZGVyLgorICoKKyAqIFJldHVybnMgMCBpbiBjYXNlIG9mIHN1Y2Nlc3MgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworaW50Cit4bWxSZWFkZXJOZXdGaWxlKHhtbFRleHRSZWFkZXJQdHIgcmVhZGVyLCBjb25zdCBjaGFyICpmaWxlbmFtZSwKKyAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZW5jb2RpbmcsIGludCBvcHRpb25zKQoreworICAgIHhtbFBhcnNlcklucHV0QnVmZmVyUHRyIGlucHV0OworCisgICAgaWYgKGZpbGVuYW1lID09IE5VTEwpCisgICAgICAgIHJldHVybiAoLTEpOworICAgIGlmIChyZWFkZXIgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuICgtMSk7CisKKyAgICBpbnB1dCA9CisgICAgICAgIHhtbFBhcnNlcklucHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWUoZmlsZW5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWE1MX0NIQVJfRU5DT0RJTkdfTk9ORSk7CisgICAgaWYgKGlucHV0ID09IE5VTEwpCisgICAgICAgIHJldHVybiAoLTEpOworICAgIHJldHVybiAoeG1sVGV4dFJlYWRlclNldHVwKHJlYWRlciwgaW5wdXQsIGZpbGVuYW1lLCBlbmNvZGluZywgb3B0aW9ucykpOworfQorCisvKioKKyAqIHhtbFJlYWRlck5ld01lbW9yeToKKyAqIEByZWFkZXI6ICBhbiBYTUwgcmVhZGVyCisgKiBAYnVmZmVyOiAgYSBwb2ludGVyIHRvIGEgY2hhciBhcnJheQorICogQHNpemU6ICB0aGUgc2l6ZSBvZiB0aGUgYXJyYXkKKyAqIEBVUkw6ICB0aGUgYmFzZSBVUkwgdG8gdXNlIGZvciB0aGUgZG9jdW1lbnQKKyAqIEBlbmNvZGluZzogIHRoZSBkb2N1bWVudCBlbmNvZGluZywgb3IgTlVMTAorICogQG9wdGlvbnM6ICBhIGNvbWJpbmF0aW9uIG9mIHhtbFBhcnNlck9wdGlvbgorICoKKyAqIFNldHVwIGFuIHhtbHRleHRSZWFkZXIgdG8gcGFyc2UgYW4gWE1MIGluLW1lbW9yeSBkb2N1bWVudC4KKyAqIFRoZSBwYXJzaW5nIGZsYWdzIEBvcHRpb25zIGFyZSBhIGNvbWJpbmF0aW9uIG9mIHhtbFBhcnNlck9wdGlvbi4KKyAqIFRoaXMgcmV1c2VzIHRoZSBleGlzdGluZyBAcmVhZGVyIHhtbFRleHRSZWFkZXIuCisgKgorICogUmV0dXJucyAwIGluIGNhc2Ugb2Ygc3VjY2VzcyBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvcgorICovCitpbnQKK3htbFJlYWRlck5ld01lbW9yeSh4bWxUZXh0UmVhZGVyUHRyIHJlYWRlciwgY29uc3QgY2hhciAqYnVmZmVyLCBpbnQgc2l6ZSwKKyAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpVUkwsIGNvbnN0IGNoYXIgKmVuY29kaW5nLCBpbnQgb3B0aW9ucykKK3sKKyAgICB4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciBpbnB1dDsKKworICAgIGlmIChyZWFkZXIgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuICgtMSk7CisgICAgaWYgKGJ1ZmZlciA9PSBOVUxMKQorICAgICAgICByZXR1cm4gKC0xKTsKKworICAgIGlucHV0ID0geG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVTdGF0aWMoYnVmZmVyLCBzaXplLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfQ0hBUl9FTkNPRElOR19OT05FKTsKKyAgICBpZiAoaW5wdXQgPT0gTlVMTCkgeworICAgICAgICByZXR1cm4gKC0xKTsKKyAgICB9CisgICAgcmV0dXJuICh4bWxUZXh0UmVhZGVyU2V0dXAocmVhZGVyLCBpbnB1dCwgVVJMLCBlbmNvZGluZywgb3B0aW9ucykpOworfQorCisvKioKKyAqIHhtbFJlYWRlck5ld0ZkOgorICogQHJlYWRlcjogIGFuIFhNTCByZWFkZXIKKyAqIEBmZDogIGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yCisgKiBAVVJMOiAgdGhlIGJhc2UgVVJMIHRvIHVzZSBmb3IgdGhlIGRvY3VtZW50CisgKiBAZW5jb2Rpbmc6ICB0aGUgZG9jdW1lbnQgZW5jb2RpbmcsIG9yIE5VTEwKKyAqIEBvcHRpb25zOiAgYSBjb21iaW5hdGlvbiBvZiB4bWxQYXJzZXJPcHRpb24KKyAqCisgKiBTZXR1cCBhbiB4bWx0ZXh0UmVhZGVyIHRvIHBhcnNlIGFuIFhNTCBmcm9tIGEgZmlsZSBkZXNjcmlwdG9yLgorICogTk9URSB0aGF0IHRoZSBmaWxlIGRlc2NyaXB0b3Igd2lsbCBub3QgYmUgY2xvc2VkIHdoZW4gdGhlCisgKiAgICAgIHJlYWRlciBpcyBjbG9zZWQgb3IgcmVzZXQuCisgKiBUaGUgcGFyc2luZyBmbGFncyBAb3B0aW9ucyBhcmUgYSBjb21iaW5hdGlvbiBvZiB4bWxQYXJzZXJPcHRpb24uCisgKiBUaGlzIHJldXNlcyB0aGUgZXhpc3RpbmcgQHJlYWRlciB4bWxUZXh0UmVhZGVyLgorICoKKyAqIFJldHVybnMgMCBpbiBjYXNlIG9mIHN1Y2Nlc3MgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworaW50Cit4bWxSZWFkZXJOZXdGZCh4bWxUZXh0UmVhZGVyUHRyIHJlYWRlciwgaW50IGZkLAorICAgICAgICAgICAgICAgY29uc3QgY2hhciAqVVJMLCBjb25zdCBjaGFyICplbmNvZGluZywgaW50IG9wdGlvbnMpCit7CisgICAgeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIgaW5wdXQ7CisKKyAgICBpZiAoZmQgPCAwKQorICAgICAgICByZXR1cm4gKC0xKTsKKyAgICBpZiAocmVhZGVyID09IE5VTEwpCisgICAgICAgIHJldHVybiAoLTEpOworCisgICAgaW5wdXQgPSB4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUZkKGZkLCBYTUxfQ0hBUl9FTkNPRElOR19OT05FKTsKKyAgICBpZiAoaW5wdXQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuICgtMSk7CisgICAgaW5wdXQtPmNsb3NlY2FsbGJhY2sgPSBOVUxMOworICAgIHJldHVybiAoeG1sVGV4dFJlYWRlclNldHVwKHJlYWRlciwgaW5wdXQsIFVSTCwgZW5jb2RpbmcsIG9wdGlvbnMpKTsKK30KKworLyoqCisgKiB4bWxSZWFkZXJOZXdJTzoKKyAqIEByZWFkZXI6ICBhbiBYTUwgcmVhZGVyCisgKiBAaW9yZWFkOiAgYW4gSS9PIHJlYWQgZnVuY3Rpb24KKyAqIEBpb2Nsb3NlOiAgYW4gSS9PIGNsb3NlIGZ1bmN0aW9uCisgKiBAaW9jdHg6ICBhbiBJL08gaGFuZGxlcgorICogQFVSTDogIHRoZSBiYXNlIFVSTCB0byB1c2UgZm9yIHRoZSBkb2N1bWVudAorICogQGVuY29kaW5nOiAgdGhlIGRvY3VtZW50IGVuY29kaW5nLCBvciBOVUxMCisgKiBAb3B0aW9uczogIGEgY29tYmluYXRpb24gb2YgeG1sUGFyc2VyT3B0aW9uCisgKgorICogU2V0dXAgYW4geG1sdGV4dFJlYWRlciB0byBwYXJzZSBhbiBYTUwgZG9jdW1lbnQgZnJvbSBJL08gZnVuY3Rpb25zCisgKiBhbmQgc291cmNlLgorICogVGhlIHBhcnNpbmcgZmxhZ3MgQG9wdGlvbnMgYXJlIGEgY29tYmluYXRpb24gb2YgeG1sUGFyc2VyT3B0aW9uLgorICogVGhpcyByZXVzZXMgdGhlIGV4aXN0aW5nIEByZWFkZXIgeG1sVGV4dFJlYWRlci4KKyAqCisgKiBSZXR1cm5zIDAgaW4gY2FzZSBvZiBzdWNjZXNzIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK2ludAoreG1sUmVhZGVyTmV3SU8oeG1sVGV4dFJlYWRlclB0ciByZWFkZXIsIHhtbElucHV0UmVhZENhbGxiYWNrIGlvcmVhZCwKKyAgICAgICAgICAgICAgIHhtbElucHV0Q2xvc2VDYWxsYmFjayBpb2Nsb3NlLCB2b2lkICppb2N0eCwKKyAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKlVSTCwgY29uc3QgY2hhciAqZW5jb2RpbmcsIGludCBvcHRpb25zKQoreworICAgIHhtbFBhcnNlcklucHV0QnVmZmVyUHRyIGlucHV0OworCisgICAgaWYgKGlvcmVhZCA9PSBOVUxMKQorICAgICAgICByZXR1cm4gKC0xKTsKKyAgICBpZiAocmVhZGVyID09IE5VTEwpCisgICAgICAgIHJldHVybiAoLTEpOworCisgICAgaW5wdXQgPSB4bWxQYXJzZXJJbnB1dEJ1ZmZlckNyZWF0ZUlPKGlvcmVhZCwgaW9jbG9zZSwgaW9jdHgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhNTF9DSEFSX0VOQ09ESU5HX05PTkUpOworICAgIGlmIChpbnB1dCA9PSBOVUxMKSB7CisgICAgICAgIGlmIChpb2Nsb3NlICE9IE5VTEwpCisgICAgICAgICAgICBpb2Nsb3NlKGlvY3R4KTsKKyAgICAgICAgcmV0dXJuICgtMSk7CisgICAgfQorICAgIHJldHVybiAoeG1sVGV4dFJlYWRlclNldHVwKHJlYWRlciwgaW5wdXQsIFVSTCwgZW5jb2RpbmcsIG9wdGlvbnMpKTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJCVV0aWxpdGllcwkJCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmZGVmIE5PVF9VU0VEX1lFVAorCisvKioKKyAqIHhtbEJhc2U2NERlY29kZToKKyAqIEBpbjogIHRoZSBpbnB1dCBidWZmZXIKKyAqIEBpbmxlbjogIHRoZSBzaXplIG9mIHRoZSBpbnB1dCAoaW4pLCB0aGUgc2l6ZSByZWFkIGZyb20gaXQgKG91dCkKKyAqIEB0bzogIHRoZSBvdXRwdXQgYnVmZmVyCisgKiBAdG9sZW46ICB0aGUgc2l6ZSBvZiB0aGUgb3V0cHV0IChpbiksIHRoZSBzaXplIHdyaXR0ZW4gdG8gKG91dCkKKyAqCisgKiBCYXNlNjQgZGVjb2RlciwgcmVhZHMgZnJvbSBAaW4gYW5kIHNhdmUgaW4gQHRvCisgKiBUT0RPOiB0ZWxsIGpvZHkgd2hlbiB0aGlzIGlzIGFjdHVhbGx5IGV4cG9ydGVkCisgKgorICogUmV0dXJucyAwIGlmIGFsbCB0aGUgaW5wdXQgd2FzIGNvbnN1bWVyLCAxIGlmIHRoZSBCYXNlNjQgZW5kIHdhcyByZWFjaGVkLAorICogICAgICAgICAyIGlmIHRoZXJlIHdhc24ndCBlbm91Z2ggc3BhY2Ugb24gdGhlIG91dHB1dCBvciAtMSBpbiBjYXNlIG9mIGVycm9yLgorICovCitzdGF0aWMgaW50Cit4bWxCYXNlNjREZWNvZGUoY29uc3QgdW5zaWduZWQgY2hhciAqaW4sIHVuc2lnbmVkIGxvbmcgKmlubGVuLAorICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgKnRvLCB1bnNpZ25lZCBsb25nICp0b2xlbikKK3sKKyAgICB1bnNpZ25lZCBsb25nIGluY3VyOyAgICAgICAgLyogY3VycmVudCBpbmRleCBpbiBpbltdICovCisKKyAgICB1bnNpZ25lZCBsb25nIGluYmxrOyAgICAgICAgLyogbGFzdCBibG9jayBpbmRleCBpbiBpbltdICovCisKKyAgICB1bnNpZ25lZCBsb25nIG91dGN1cjsgICAgICAgLyogY3VycmVudCBpbmRleCBpbiBvdXRbXSAqLworCisgICAgdW5zaWduZWQgbG9uZyBpbm1heDsgICAgICAgIC8qIHNpemUgb2YgaW5bXSAqLworCisgICAgdW5zaWduZWQgbG9uZyBvdXRtYXg7ICAgICAgIC8qIHNpemUgb2Ygb3V0W10gKi8KKworICAgIHVuc2lnbmVkIGNoYXIgY3VyOyAgICAgICAgICAvKiB0aGUgY3VycmVudCB2YWx1ZSByZWFkIGZyb20gaW5bXSAqLworCisgICAgdW5zaWduZWQgY2hhciBpbnRtcFs0XSwgb3V0dG1wWzRdOyAgLyogdGVtcG9yYXJ5IGJ1ZmZlcnMgZm9yIHRoZSBjb252ZXJ0ICovCisKKyAgICBpbnQgbmJpbnRtcDsgICAgICAgICAgICAgICAgLyogbnVtYmVyIG9mIGJ5dGUgaW4gaW50bXBbXSAqLworCisgICAgaW50IGlzX2lnbm9yZTsgICAgICAgICAgICAgIC8qIGN1ciBzaG91bGQgYmUgaWdub3JlZCAqLworCisgICAgaW50IGlzX2VuZCA9IDA7ICAgICAgICAgICAgIC8qIHRoZSBlbmQgb2YgdGhlIGJhc2U2NCB3YXMgZm91bmQgKi8KKworICAgIGludCByZXR2YWwgPSAxOworCisgICAgaW50IGk7CisKKyAgICBpZiAoKGluID09IE5VTEwpIHx8IChpbmxlbiA9PSBOVUxMKSB8fCAodG8gPT0gTlVMTCkgfHwgKHRvbGVuID09IE5VTEwpKQorICAgICAgICByZXR1cm4gKC0xKTsKKworICAgIGluY3VyID0gMDsKKyAgICBpbmJsayA9IDA7CisgICAgb3V0Y3VyID0gMDsKKyAgICBpbm1heCA9ICppbmxlbjsKKyAgICBvdXRtYXggPSAqdG9sZW47CisgICAgbmJpbnRtcCA9IDA7CisKKyAgICB3aGlsZSAoMSkgeworICAgICAgICBpZiAoaW5jdXIgPj0gaW5tYXgpCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY3VyID0gaW5baW5jdXIrK107CisgICAgICAgIGlzX2lnbm9yZSA9IDA7CisgICAgICAgIGlmICgoY3VyID49ICdBJykgJiYgKGN1ciA8PSAnWicpKQorICAgICAgICAgICAgY3VyID0gY3VyIC0gJ0EnOworICAgICAgICBlbHNlIGlmICgoY3VyID49ICdhJykgJiYgKGN1ciA8PSAneicpKQorICAgICAgICAgICAgY3VyID0gY3VyIC0gJ2EnICsgMjY7CisgICAgICAgIGVsc2UgaWYgKChjdXIgPj0gJzAnKSAmJiAoY3VyIDw9ICc5JykpCisgICAgICAgICAgICBjdXIgPSBjdXIgLSAnMCcgKyA1MjsKKyAgICAgICAgZWxzZSBpZiAoY3VyID09ICcrJykKKyAgICAgICAgICAgIGN1ciA9IDYyOworICAgICAgICBlbHNlIGlmIChjdXIgPT0gJy8nKQorICAgICAgICAgICAgY3VyID0gNjM7CisgICAgICAgIGVsc2UgaWYgKGN1ciA9PSAnLicpCisgICAgICAgICAgICBjdXIgPSAwOworICAgICAgICBlbHNlIGlmIChjdXIgPT0gJz0nKSAgICAvKm5vIG9wICwgZW5kIG9mIHRoZSBiYXNlNjQgc3RyZWFtICovCisgICAgICAgICAgICBpc19lbmQgPSAxOworICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIGlzX2lnbm9yZSA9IDE7CisgICAgICAgICAgICBpZiAobmJpbnRtcCA9PSAwKQorICAgICAgICAgICAgICAgIGluYmxrID0gaW5jdXI7CisgICAgICAgIH0KKworICAgICAgICBpZiAoIWlzX2lnbm9yZSkgeworICAgICAgICAgICAgaW50IG5ib3V0dG1wID0gMzsKKworICAgICAgICAgICAgaW50IGlzX2JyZWFrID0gMDsKKworICAgICAgICAgICAgaWYgKGlzX2VuZCkgeworICAgICAgICAgICAgICAgIGlmIChuYmludG1wID09IDApCisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIGlmICgobmJpbnRtcCA9PSAxKSB8fCAobmJpbnRtcCA9PSAyKSkKKyAgICAgICAgICAgICAgICAgICAgbmJvdXR0bXAgPSAxOworICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgbmJvdXR0bXAgPSAyOworICAgICAgICAgICAgICAgIG5iaW50bXAgPSAzOworICAgICAgICAgICAgICAgIGlzX2JyZWFrID0gMTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGludG1wW25iaW50bXArK10gPSBjdXI7CisgICAgICAgICAgICAvKgorICAgICAgICAgICAgICogaWYgaW50bXAgaXMgZnVsbCwgcHVzaCB0aGUgNGJ5dGUgc2VxdWVuY2UgYXMgYSAzIGJ5dGUKKyAgICAgICAgICAgICAqIHNlcXVlbmNlIG91dAorICAgICAgICAgICAgICovCisgICAgICAgICAgICBpZiAobmJpbnRtcCA9PSA0KSB7CisgICAgICAgICAgICAgICAgbmJpbnRtcCA9IDA7CisgICAgICAgICAgICAgICAgb3V0dG1wWzBdID0gKGludG1wWzBdIDw8IDIpIHwgKChpbnRtcFsxXSAmIDB4MzApID4+IDQpOworICAgICAgICAgICAgICAgIG91dHRtcFsxXSA9CisgICAgICAgICAgICAgICAgICAgICgoaW50bXBbMV0gJiAweDBGKSA8PCA0KSB8ICgoaW50bXBbMl0gJiAweDNDKSA+PiAyKTsKKyAgICAgICAgICAgICAgICBvdXR0bXBbMl0gPSAoKGludG1wWzJdICYgMHgwMykgPDwgNikgfCAoaW50bXBbM10gJiAweDNGKTsKKyAgICAgICAgICAgICAgICBpZiAob3V0Y3VyICsgMyA+PSBvdXRtYXgpIHsKKyAgICAgICAgICAgICAgICAgICAgcmV0dmFsID0gMjsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IG5ib3V0dG1wOyBpKyspCisgICAgICAgICAgICAgICAgICAgIHRvW291dGN1cisrXSA9IG91dHRtcFtpXTsKKyAgICAgICAgICAgICAgICBpbmJsayA9IGluY3VyOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBpZiAoaXNfYnJlYWspIHsKKyAgICAgICAgICAgICAgICByZXR2YWwgPSAwOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorCisgICAgKnRvbGVuID0gb3V0Y3VyOworICAgICppbmxlbiA9IGluYmxrOworICAgIHJldHVybiAocmV0dmFsKTsKK30KKworLyoKKyAqIFRlc3Qgcm91dGluZSBmb3IgdGhlIHhtbEJhc2U2NERlY29kZSBmdW5jdGlvbgorICovCisjaWYgMAoraW50CittYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKyAgICBjaGFyICppbnB1dCA9ICIgIFZXNCBnY0dWMCAgICAgICAgXG4gICAgICBhWFFnZEdWemRDQXVDZz09ICI7CisKKyAgICBjaGFyIG91dHB1dFsxMDBdOworCisgICAgY2hhciBvdXRwdXQyWzEwMF07CisKKyAgICBjaGFyIG91dHB1dDNbMTAwXTsKKworICAgIHVuc2lnbmVkIGxvbmcgaW5sZW4gPSBzdHJsZW4oaW5wdXQpOworCisgICAgdW5zaWduZWQgbG9uZyBvdXRsZW4gPSAxMDA7CisKKyAgICBpbnQgcmV0OworCisgICAgdW5zaWduZWQgbG9uZyBjb25zLCB0bXAsIHRtcDIsIHByb2Q7CisKKyAgICAvKgorICAgICAqIERpcmVjdAorICAgICAqLworICAgIHJldCA9IHhtbEJhc2U2NERlY29kZShpbnB1dCwgJmlubGVuLCBvdXRwdXQsICZvdXRsZW4pOworCisgICAgb3V0cHV0W291dGxlbl0gPSAwOworICAgIHByaW50ZigicmV0OiAlZCwgaW5sZW46ICVsZCAsIG91dGxlbjogJWxkLCBvdXRwdXQ6ICclcydcbiIsIHJldCwgaW5sZW4sCisgICAgICAgICAgIG91dGxlbiwgb3V0cHV0KWluZGVudDogU3RhbmRhcmQgaW5wdXQ6MTc5OiBFcnJvcjpVbm1hdGNoZWQgI2VuZGlmCis7CisKKyAgICAvKgorICAgICAqIG91dHB1dCBjaHVua2luZworICAgICAqLworICAgIGNvbnMgPSAwOworICAgIHByb2QgPSAwOworICAgIHdoaWxlIChjb25zIDwgaW5sZW4pIHsKKyAgICAgICAgdG1wID0gNTsKKyAgICAgICAgdG1wMiA9IGlubGVuIC0gY29uczsKKworICAgICAgICBwcmludGYoIiVsZCAlbGRcbiIsIGNvbnMsIHByb2QpOworICAgICAgICByZXQgPSB4bWxCYXNlNjREZWNvZGUoJmlucHV0W2NvbnNdLCAmdG1wMiwgJm91dHB1dDJbcHJvZF0sICZ0bXApOworICAgICAgICBjb25zICs9IHRtcDI7CisgICAgICAgIHByb2QgKz0gdG1wOworICAgICAgICBwcmludGYoIiVsZCAlbGRcbiIsIGNvbnMsIHByb2QpOworICAgIH0KKyAgICBvdXRwdXQyW291dGxlbl0gPSAwOworICAgIHByaW50ZigicmV0OiAlZCwgY29uczogJWxkICwgcHJvZDogJWxkLCBvdXRwdXQ6ICclcydcbiIsIHJldCwgY29ucywKKyAgICAgICAgICAgcHJvZCwgb3V0cHV0Mik7CisKKyAgICAvKgorICAgICAqIGlucHV0IGNodW5raW5nCisgICAgICovCisgICAgY29ucyA9IDA7CisgICAgcHJvZCA9IDA7CisgICAgd2hpbGUgKGNvbnMgPCBpbmxlbikgeworICAgICAgICB0bXAgPSAxMDAgLSBwcm9kOworICAgICAgICB0bXAyID0gaW5sZW4gLSBjb25zOworICAgICAgICBpZiAodG1wMiA+IDUpCisgICAgICAgICAgICB0bXAyID0gNTsKKworICAgICAgICBwcmludGYoIiVsZCAlbGRcbiIsIGNvbnMsIHByb2QpOworICAgICAgICByZXQgPSB4bWxCYXNlNjREZWNvZGUoJmlucHV0W2NvbnNdLCAmdG1wMiwgJm91dHB1dDNbcHJvZF0sICZ0bXApOworICAgICAgICBjb25zICs9IHRtcDI7CisgICAgICAgIHByb2QgKz0gdG1wOworICAgICAgICBwcmludGYoIiVsZCAlbGRcbiIsIGNvbnMsIHByb2QpOworICAgIH0KKyAgICBvdXRwdXQzW291dGxlbl0gPSAwOworICAgIHByaW50ZigicmV0OiAlZCwgY29uczogJWxkICwgcHJvZDogJWxkLCBvdXRwdXQ6ICclcydcbiIsIHJldCwgY29ucywKKyAgICAgICAgICAgcHJvZCwgb3V0cHV0Myk7CisgICAgcmV0dXJuICgwKTsKKworfQorI2VuZGlmCisjZW5kaWYgLyogTk9UX1VTRURfWUVUICovCisjZGVmaW5lIGJvdHRvbV94bWxyZWFkZXIKKyNpbmNsdWRlICJlbGZnY2NoYWNrLmgiCisjZW5kaWYgLyogTElCWE1MX1JFQURFUl9FTkFCTEVEICovCmRpZmYgLS1naXQgYS9saWJ4bWwyL3htbHJlZ2V4cC5jIGIvbGlieG1sMi94bWxyZWdleHAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZTkxMmFiCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi94bWxyZWdleHAuYwpAQCAtMCwwICsxLDgxNjcgQEAKKy8qCisgKiByZWdleHAuYzogZ2VuZXJpYyBhbmQgZXh0ZW5zaWJsZSBSZWd1bGFyIEV4cHJlc3Npb24gZW5naW5lCisgKgorICogQmFzaWNhbGx5IGRlc2lnbmVkIHdpdGggdGhlIHB1cnBvc2Ugb2YgY29tcGlsaW5nIHJlZ2V4cHMgZm9yCisgKiB0aGUgdmFyaWV0eSBvZiB2YWxpZGF0aW9uL3NoZW1hcyBtZWNoYW5pc21zIG5vdyBhdmFpbGFibGUgaW4KKyAqIFhNTCByZWxhdGVkIHNwZWNpZmljYXRpb25zIHRoZXNlIGluY2x1ZGU6CisgKiAgICAtIFhNTC0xLjAgRFREIHZhbGlkYXRpb24KKyAqICAgIC0gWE1MIFNjaGVtYXMgc3RydWN0dXJlIHBhcnQgMQorICogICAgLSBYTUwgU2NoZW1hcyBEYXRhdHlwZXMgcGFydCAyIGVzcGVjaWFsbHkgQXBwZW5kaXggRgorICogICAgLSBSRUxBWC1ORy9UUkVYIGkuZS4gdGhlIGNvdW50ZXIgcHJvcG9zYWwKKyAqCisgKiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisgKgorICogRGFuaWVsIFZlaWxsYXJkIDx2ZWlsbGFyZEByZWRoYXQuY29tPgorICovCisKKyNkZWZpbmUgSU5fTElCWE1MCisjaW5jbHVkZSAibGlieG1sLmgiCisKKyNpZmRlZiBMSUJYTUxfUkVHRVhQX0VOQUJMRUQKKworLyogI2RlZmluZSBERUJVR19FUlIgKi8KKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaWZkZWYgSEFWRV9MSU1JVFNfSAorI2luY2x1ZGUgPGxpbWl0cy5oPgorI2VuZGlmCisKKyNpbmNsdWRlIDxsaWJ4bWwvdHJlZS5oPgorI2luY2x1ZGUgPGxpYnhtbC9wYXJzZXJJbnRlcm5hbHMuaD4KKyNpbmNsdWRlIDxsaWJ4bWwveG1scmVnZXhwLmg+CisjaW5jbHVkZSA8bGlieG1sL3htbGF1dG9tYXRhLmg+CisjaW5jbHVkZSA8bGlieG1sL3htbHVuaWNvZGUuaD4KKworI2lmbmRlZiBJTlRfTUFYCisjZGVmaW5lIElOVF9NQVggMTIzNDU2Nzg5IC8qIGVhc3kgdG8gZmxhZyBhbmQgYmlnIGVub3VnaCBmb3Igb3VyIG5lZWRzICovCisjZW5kaWYKKworLyogI2RlZmluZSBERUJVR19SRUdFWFBfR1JBUEggKi8KKy8qICNkZWZpbmUgREVCVUdfUkVHRVhQX0VYRUMgKi8KKy8qICNkZWZpbmUgREVCVUdfUFVTSCAqLworLyogI2RlZmluZSBERUJVR19DT01QQUNUSU9OICovCisKKyNkZWZpbmUgTUFYX1BVU0ggMTAwMDAwMDAKKworI2lmZGVmIEVSUk9SCisjdW5kZWYgRVJST1IKKyNlbmRpZgorI2RlZmluZSBFUlJPUihzdHIpCQkJCQkJCVwKKyAgICBjdHh0LT5lcnJvciA9IFhNTF9SRUdFWFBfQ09NUElMRV9FUlJPUjsJCQkJXAorICAgIHhtbFJlZ2V4cEVyckNvbXBpbGUoY3R4dCwgc3RyKTsKKyNkZWZpbmUgTkVYVCBjdHh0LT5jdXIrKworI2RlZmluZSBDVVIgKCooY3R4dC0+Y3VyKSkKKyNkZWZpbmUgTlhUKGluZGV4KSAoY3R4dC0+Y3VyW2luZGV4XSkKKworI2RlZmluZSBDVVJfU0NIQVIocywgbCkgeG1sU3RyaW5nQ3VycmVudENoYXIoTlVMTCwgcywgJmwpCisjZGVmaW5lIE5FWFRMKGwpIGN0eHQtPmN1ciArPSBsOworI2RlZmluZSBYTUxfUkVHX1NUUklOR19TRVBBUkFUT1IgJ3wnCisvKgorICogTmVlZCBQUkVWIHRvIGNoZWNrIG9uIGEgJy0nIHdpdGhpbiBhIENoYXJhY3RlciBHcm91cC4gTWF5IG9ubHkgYmUgdXNlZAorICogd2hlbiBpdCdzIGd1YXJhbnRlZWQgdGhhdCBjdXIgaXMgbm90IGF0IHRoZSBiZWdpbm5pbmcgb2YgY3R4dC0+c3RyaW5nIQorICovCisjZGVmaW5lIFBSRVYgKGN0eHQtPmN1clstMV0pCisKKy8qKgorICogVE9ETzoKKyAqCisgKiBtYWNybyB0byBmbGFnIHVuaW1wbGVtZW50ZWQgYmxvY2tzCisgKi8KKyNkZWZpbmUgVE9ETwkJCQkJCQkJXAorICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAkJCQlcCisJICAgICJVbmltcGxlbWVudGVkIGJsb2NrIGF0ICVzOiVkXG4iLAkJCQlcCisgICAgICAgICAgICBfX0ZJTEVfXywgX19MSU5FX18pOworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQkJRGF0YXR5cGVzIGFuZCBzdHJ1Y3R1cmVzCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKgorICogTm90ZTogdGhlIG9yZGVyIG9mIHRoZSBlbnVtcyBiZWxvdyBpcyBzaWduaWZpY2FudCwgZG8gbm90IHNodWZmbGUKKyAqLwordHlwZWRlZiBlbnVtIHsKKyAgICBYTUxfUkVHRVhQX0VQU0lMT04gPSAxLAorICAgIFhNTF9SRUdFWFBfQ0hBUlZBTCwKKyAgICBYTUxfUkVHRVhQX1JBTkdFUywKKyAgICBYTUxfUkVHRVhQX1NVQlJFRywgIC8qIHVzZWQgZm9yICgpIHN1YiByZWdleHBzICovCisgICAgWE1MX1JFR0VYUF9TVFJJTkcsCisgICAgWE1MX1JFR0VYUF9BTllDSEFSLCAvKiAuICovCisgICAgWE1MX1JFR0VYUF9BTllTUEFDRSwgLyogXHMgKi8KKyAgICBYTUxfUkVHRVhQX05PVFNQQUNFLCAvKiBcUyAqLworICAgIFhNTF9SRUdFWFBfSU5JVE5BTUUsIC8qIFxsICovCisgICAgWE1MX1JFR0VYUF9OT1RJTklUTkFNRSwgLyogXEwgKi8KKyAgICBYTUxfUkVHRVhQX05BTUVDSEFSLCAvKiBcYyAqLworICAgIFhNTF9SRUdFWFBfTk9UTkFNRUNIQVIsIC8qIFxDICovCisgICAgWE1MX1JFR0VYUF9ERUNJTUFMLCAvKiBcZCAqLworICAgIFhNTF9SRUdFWFBfTk9UREVDSU1BTCwgLyogXEQgKi8KKyAgICBYTUxfUkVHRVhQX1JFQUxDSEFSLCAvKiBcdyAqLworICAgIFhNTF9SRUdFWFBfTk9UUkVBTENIQVIsIC8qIFxXICovCisgICAgWE1MX1JFR0VYUF9MRVRURVIgPSAxMDAsCisgICAgWE1MX1JFR0VYUF9MRVRURVJfVVBQRVJDQVNFLAorICAgIFhNTF9SRUdFWFBfTEVUVEVSX0xPV0VSQ0FTRSwKKyAgICBYTUxfUkVHRVhQX0xFVFRFUl9USVRMRUNBU0UsCisgICAgWE1MX1JFR0VYUF9MRVRURVJfTU9ESUZJRVIsCisgICAgWE1MX1JFR0VYUF9MRVRURVJfT1RIRVJTLAorICAgIFhNTF9SRUdFWFBfTUFSSywKKyAgICBYTUxfUkVHRVhQX01BUktfTk9OU1BBQ0lORywKKyAgICBYTUxfUkVHRVhQX01BUktfU1BBQ0VDT01CSU5JTkcsCisgICAgWE1MX1JFR0VYUF9NQVJLX0VOQ0xPU0lORywKKyAgICBYTUxfUkVHRVhQX05VTUJFUiwKKyAgICBYTUxfUkVHRVhQX05VTUJFUl9ERUNJTUFMLAorICAgIFhNTF9SRUdFWFBfTlVNQkVSX0xFVFRFUiwKKyAgICBYTUxfUkVHRVhQX05VTUJFUl9PVEhFUlMsCisgICAgWE1MX1JFR0VYUF9QVU5DVCwKKyAgICBYTUxfUkVHRVhQX1BVTkNUX0NPTk5FQ1RPUiwKKyAgICBYTUxfUkVHRVhQX1BVTkNUX0RBU0gsCisgICAgWE1MX1JFR0VYUF9QVU5DVF9PUEVOLAorICAgIFhNTF9SRUdFWFBfUFVOQ1RfQ0xPU0UsCisgICAgWE1MX1JFR0VYUF9QVU5DVF9JTklUUVVPVEUsCisgICAgWE1MX1JFR0VYUF9QVU5DVF9GSU5RVU9URSwKKyAgICBYTUxfUkVHRVhQX1BVTkNUX09USEVSUywKKyAgICBYTUxfUkVHRVhQX1NFUEFSLAorICAgIFhNTF9SRUdFWFBfU0VQQVJfU1BBQ0UsCisgICAgWE1MX1JFR0VYUF9TRVBBUl9MSU5FLAorICAgIFhNTF9SRUdFWFBfU0VQQVJfUEFSQSwKKyAgICBYTUxfUkVHRVhQX1NZTUJPTCwKKyAgICBYTUxfUkVHRVhQX1NZTUJPTF9NQVRILAorICAgIFhNTF9SRUdFWFBfU1lNQk9MX0NVUlJFTkNZLAorICAgIFhNTF9SRUdFWFBfU1lNQk9MX01PRElGSUVSLAorICAgIFhNTF9SRUdFWFBfU1lNQk9MX09USEVSUywKKyAgICBYTUxfUkVHRVhQX09USEVSLAorICAgIFhNTF9SRUdFWFBfT1RIRVJfQ09OVFJPTCwKKyAgICBYTUxfUkVHRVhQX09USEVSX0ZPUk1BVCwKKyAgICBYTUxfUkVHRVhQX09USEVSX1BSSVZBVEUsCisgICAgWE1MX1JFR0VYUF9PVEhFUl9OQSwKKyAgICBYTUxfUkVHRVhQX0JMT0NLX05BTUUKK30geG1sUmVnQXRvbVR5cGU7CisKK3R5cGVkZWYgZW51bSB7CisgICAgWE1MX1JFR0VYUF9RVUFOVF9FUFNJTE9OID0gMSwKKyAgICBYTUxfUkVHRVhQX1FVQU5UX09OQ0UsCisgICAgWE1MX1JFR0VYUF9RVUFOVF9PUFQsCisgICAgWE1MX1JFR0VYUF9RVUFOVF9NVUxULAorICAgIFhNTF9SRUdFWFBfUVVBTlRfUExVUywKKyAgICBYTUxfUkVHRVhQX1FVQU5UX09OQ0VPTkxZLAorICAgIFhNTF9SRUdFWFBfUVVBTlRfQUxMLAorICAgIFhNTF9SRUdFWFBfUVVBTlRfUkFOR0UKK30geG1sUmVnUXVhbnRUeXBlOworCit0eXBlZGVmIGVudW0geworICAgIFhNTF9SRUdFWFBfU1RBUlRfU1RBVEUgPSAxLAorICAgIFhNTF9SRUdFWFBfRklOQUxfU1RBVEUsCisgICAgWE1MX1JFR0VYUF9UUkFOU19TVEFURSwKKyAgICBYTUxfUkVHRVhQX1NJTktfU1RBVEUsCisgICAgWE1MX1JFR0VYUF9VTlJFQUNIX1NUQVRFCit9IHhtbFJlZ1N0YXRlVHlwZTsKKwordHlwZWRlZiBlbnVtIHsKKyAgICBYTUxfUkVHRVhQX01BUktfTk9STUFMID0gMCwKKyAgICBYTUxfUkVHRVhQX01BUktfU1RBUlQsCisgICAgWE1MX1JFR0VYUF9NQVJLX1ZJU0lURUQKK30geG1sUmVnTWFya2VkVHlwZTsKKwordHlwZWRlZiBzdHJ1Y3QgX3htbFJlZ1JhbmdlIHhtbFJlZ1JhbmdlOwordHlwZWRlZiB4bWxSZWdSYW5nZSAqeG1sUmVnUmFuZ2VQdHI7CisKK3N0cnVjdCBfeG1sUmVnUmFuZ2UgeworICAgIGludCBuZWc7CQkvKiAwIG5vcm1hbCwgMSBub3QsIDIgZXhjbHVkZSAqLworICAgIHhtbFJlZ0F0b21UeXBlIHR5cGU7CisgICAgaW50IHN0YXJ0OworICAgIGludCBlbmQ7CisgICAgeG1sQ2hhciAqYmxvY2tOYW1lOworfTsKKwordHlwZWRlZiBzdHJ1Y3QgX3htbFJlZ0F0b20geG1sUmVnQXRvbTsKK3R5cGVkZWYgeG1sUmVnQXRvbSAqeG1sUmVnQXRvbVB0cjsKKwordHlwZWRlZiBzdHJ1Y3QgX3htbEF1dG9tYXRhU3RhdGUgeG1sUmVnU3RhdGU7Cit0eXBlZGVmIHhtbFJlZ1N0YXRlICp4bWxSZWdTdGF0ZVB0cjsKKworc3RydWN0IF94bWxSZWdBdG9tIHsKKyAgICBpbnQgbm87CisgICAgeG1sUmVnQXRvbVR5cGUgdHlwZTsKKyAgICB4bWxSZWdRdWFudFR5cGUgcXVhbnQ7CisgICAgaW50IG1pbjsKKyAgICBpbnQgbWF4OworCisgICAgdm9pZCAqdmFsdWVwOworICAgIHZvaWQgKnZhbHVlcDI7CisgICAgaW50IG5lZzsKKyAgICBpbnQgY29kZXBvaW50OworICAgIHhtbFJlZ1N0YXRlUHRyIHN0YXJ0OworICAgIHhtbFJlZ1N0YXRlUHRyIHN0YXJ0MDsKKyAgICB4bWxSZWdTdGF0ZVB0ciBzdG9wOworICAgIGludCBtYXhSYW5nZXM7CisgICAgaW50IG5iUmFuZ2VzOworICAgIHhtbFJlZ1JhbmdlUHRyICpyYW5nZXM7CisgICAgdm9pZCAqZGF0YTsKK307CisKK3R5cGVkZWYgc3RydWN0IF94bWxSZWdDb3VudGVyIHhtbFJlZ0NvdW50ZXI7Cit0eXBlZGVmIHhtbFJlZ0NvdW50ZXIgKnhtbFJlZ0NvdW50ZXJQdHI7CisKK3N0cnVjdCBfeG1sUmVnQ291bnRlciB7CisgICAgaW50IG1pbjsKKyAgICBpbnQgbWF4OworfTsKKwordHlwZWRlZiBzdHJ1Y3QgX3htbFJlZ1RyYW5zIHhtbFJlZ1RyYW5zOwordHlwZWRlZiB4bWxSZWdUcmFucyAqeG1sUmVnVHJhbnNQdHI7CisKK3N0cnVjdCBfeG1sUmVnVHJhbnMgeworICAgIHhtbFJlZ0F0b21QdHIgYXRvbTsKKyAgICBpbnQgdG87CisgICAgaW50IGNvdW50ZXI7CisgICAgaW50IGNvdW50OworICAgIGludCBuZDsKK307CisKK3N0cnVjdCBfeG1sQXV0b21hdGFTdGF0ZSB7CisgICAgeG1sUmVnU3RhdGVUeXBlIHR5cGU7CisgICAgeG1sUmVnTWFya2VkVHlwZSBtYXJrOworICAgIHhtbFJlZ01hcmtlZFR5cGUgbWFya2Q7CisgICAgeG1sUmVnTWFya2VkVHlwZSByZWFjaGVkOworICAgIGludCBubzsKKyAgICBpbnQgbWF4VHJhbnM7CisgICAgaW50IG5iVHJhbnM7CisgICAgeG1sUmVnVHJhbnMgKnRyYW5zOworICAgIC8qICBrbm93aW5nIHN0YXRlcyBwb250aW5nIHRvIHVzIGNhbiBzcGVlZCB0aGluZ3MgdXAgKi8KKyAgICBpbnQgbWF4VHJhbnNUbzsKKyAgICBpbnQgbmJUcmFuc1RvOworICAgIGludCAqdHJhbnNUbzsKK307CisKK3R5cGVkZWYgc3RydWN0IF94bWxBdXRvbWF0YSB4bWxSZWdQYXJzZXJDdHh0OwordHlwZWRlZiB4bWxSZWdQYXJzZXJDdHh0ICp4bWxSZWdQYXJzZXJDdHh0UHRyOworCisjZGVmaW5lIEFNX0FVVE9NQVRBX1JORyAxCisKK3N0cnVjdCBfeG1sQXV0b21hdGEgeworICAgIHhtbENoYXIgKnN0cmluZzsKKyAgICB4bWxDaGFyICpjdXI7CisKKyAgICBpbnQgZXJyb3I7CisgICAgaW50IG5lZzsKKworICAgIHhtbFJlZ1N0YXRlUHRyIHN0YXJ0OworICAgIHhtbFJlZ1N0YXRlUHRyIGVuZDsKKyAgICB4bWxSZWdTdGF0ZVB0ciBzdGF0ZTsKKworICAgIHhtbFJlZ0F0b21QdHIgYXRvbTsKKworICAgIGludCBtYXhBdG9tczsKKyAgICBpbnQgbmJBdG9tczsKKyAgICB4bWxSZWdBdG9tUHRyICphdG9tczsKKworICAgIGludCBtYXhTdGF0ZXM7CisgICAgaW50IG5iU3RhdGVzOworICAgIHhtbFJlZ1N0YXRlUHRyICpzdGF0ZXM7CisKKyAgICBpbnQgbWF4Q291bnRlcnM7CisgICAgaW50IG5iQ291bnRlcnM7CisgICAgeG1sUmVnQ291bnRlciAqY291bnRlcnM7CisKKyAgICBpbnQgZGV0ZXJtaW5pc3Q7CisgICAgaW50IG5lZ3M7CisgICAgaW50IGZsYWdzOworfTsKKworc3RydWN0IF94bWxSZWdleHAgeworICAgIHhtbENoYXIgKnN0cmluZzsKKyAgICBpbnQgbmJTdGF0ZXM7CisgICAgeG1sUmVnU3RhdGVQdHIgKnN0YXRlczsKKyAgICBpbnQgbmJBdG9tczsKKyAgICB4bWxSZWdBdG9tUHRyICphdG9tczsKKyAgICBpbnQgbmJDb3VudGVyczsKKyAgICB4bWxSZWdDb3VudGVyICpjb3VudGVyczsKKyAgICBpbnQgZGV0ZXJtaW5pc3Q7CisgICAgaW50IGZsYWdzOworICAgIC8qCisgICAgICogVGhhdCdzIHRoZSBjb21wYWN0IGZvcm0gZm9yIGRldGVybWluaXN0cyBhdXRvbWF0YXMKKyAgICAgKi8KKyAgICBpbnQgbmJzdGF0ZXM7CisgICAgaW50ICpjb21wYWN0OworICAgIHZvaWQgKip0cmFuc2RhdGE7CisgICAgaW50IG5ic3RyaW5nczsKKyAgICB4bWxDaGFyICoqc3RyaW5nTWFwOworfTsKKwordHlwZWRlZiBzdHJ1Y3QgX3htbFJlZ0V4ZWNSb2xsYmFjayB4bWxSZWdFeGVjUm9sbGJhY2s7Cit0eXBlZGVmIHhtbFJlZ0V4ZWNSb2xsYmFjayAqeG1sUmVnRXhlY1JvbGxiYWNrUHRyOworCitzdHJ1Y3QgX3htbFJlZ0V4ZWNSb2xsYmFjayB7CisgICAgeG1sUmVnU3RhdGVQdHIgc3RhdGU7LyogdGhlIGN1cnJlbnQgc3RhdGUgKi8KKyAgICBpbnQgaW5kZXg7CQkvKiB0aGUgaW5kZXggaW4gdGhlIGlucHV0IHN0YWNrICovCisgICAgaW50IG5leHRicmFuY2g7CS8qIHRoZSBuZXh0IHRyYW5zaXRpb24gdG8gZXhwbG9yZSBpbiB0aGF0IHN0YXRlICovCisgICAgaW50ICpjb3VudHM7CS8qIHNhdmUgdGhlIGF1dG9tYXRhIHN0YXRlIGlmIGl0IGhhcyBzb21lICovCit9OworCit0eXBlZGVmIHN0cnVjdCBfeG1sUmVnSW5wdXRUb2tlbiB4bWxSZWdJbnB1dFRva2VuOwordHlwZWRlZiB4bWxSZWdJbnB1dFRva2VuICp4bWxSZWdJbnB1dFRva2VuUHRyOworCitzdHJ1Y3QgX3htbFJlZ0lucHV0VG9rZW4geworICAgIHhtbENoYXIgKnZhbHVlOworICAgIHZvaWQgKmRhdGE7Cit9OworCitzdHJ1Y3QgX3htbFJlZ0V4ZWNDdHh0IHsKKyAgICBpbnQgc3RhdHVzOwkJLyogZXhlY3V0aW9uIHN0YXR1cyAhPSAwIGluZGljYXRlIGFuIGVycm9yICovCisgICAgaW50IGRldGVybWluaXN0OwkvKiBkaWQgd2UgZmluZCBhbiBpbmRldGVybWluaXN0aWMgYmVoYXZpb3VyICovCisgICAgeG1sUmVnZXhwUHRyIGNvbXA7CS8qIHRoZSBjb21waWxlZCByZWdleHAgKi8KKyAgICB4bWxSZWdFeGVjQ2FsbGJhY2tzIGNhbGxiYWNrOworICAgIHZvaWQgKmRhdGE7CisKKyAgICB4bWxSZWdTdGF0ZVB0ciBzdGF0ZTsvKiB0aGUgY3VycmVudCBzdGF0ZSAqLworICAgIGludCB0cmFuc25vOwkvKiB0aGUgY3VycmVudCB0cmFuc2l0aW9uIG9uIHRoYXQgc3RhdGUgKi8KKyAgICBpbnQgdHJhbnNjb3VudDsJLyogdGhlIG51bWJlciBvZiBjaGFycyBpbiBjaGFyIGNvdW50ZWQgdHJhbnNpdGlvbnMgKi8KKworICAgIC8qCisgICAgICogQSBzdGFjayBvZiByb2xsYmFjayBzdGF0ZXMKKyAgICAgKi8KKyAgICBpbnQgbWF4Um9sbGJhY2tzOworICAgIGludCBuYlJvbGxiYWNrczsKKyAgICB4bWxSZWdFeGVjUm9sbGJhY2sgKnJvbGxiYWNrczsKKworICAgIC8qCisgICAgICogVGhlIHN0YXRlIG9mIHRoZSBhdXRvbWF0YSBpZiBhbnkKKyAgICAgKi8KKyAgICBpbnQgKmNvdW50czsKKworICAgIC8qCisgICAgICogVGhlIGlucHV0IHN0YWNrCisgICAgICovCisgICAgaW50IGlucHV0U3RhY2tNYXg7CisgICAgaW50IGlucHV0U3RhY2tOcjsKKyAgICBpbnQgaW5kZXg7CisgICAgaW50ICpjaGFyU3RhY2s7CisgICAgY29uc3QgeG1sQ2hhciAqaW5wdXRTdHJpbmc7IC8qIHdoZW4gb3BlcmF0aW5nIG9uIGNoYXJhY3RlcnMgKi8KKyAgICB4bWxSZWdJbnB1dFRva2VuUHRyIGlucHV0U3RhY2s7Lyogd2hlbiBvcGVyYXRpbmcgb24gc3RyaW5ncyAqLworCisgICAgLyoKKyAgICAgKiBlcnJvciBoYW5kbGluZworICAgICAqLworICAgIGludCBlcnJTdGF0ZU5vOwkJLyogdGhlIGVycm9yIHN0YXRlIG51bWJlciAqLworICAgIHhtbFJlZ1N0YXRlUHRyIGVyclN0YXRlOyAgICAvKiB0aGUgZXJyb3Igc3RhdGUgKi8KKyAgICB4bWxDaGFyICplcnJTdHJpbmc7CQkvKiB0aGUgc3RyaW5nIHJhaXNpbmcgdGhlIGVycm9yICovCisgICAgaW50ICplcnJDb3VudHM7CQkvKiBjb3VudGVycyBhdCB0aGUgZXJyb3Igc3RhdGUgKi8KKyAgICBpbnQgbmJQdXNoOworfTsKKworI2RlZmluZSBSRUdFWFBfQUxMX0NPVU5URVIJMHgxMjM0NTYKKyNkZWZpbmUgUkVHRVhQX0FMTF9MQVhfQ09VTlRFUgkweDEyMzQ1NworCitzdGF0aWMgdm9pZCB4bWxGQVBhcnNlUmVnRXhwKHhtbFJlZ1BhcnNlckN0eHRQdHIgY3R4dCwgaW50IHRvcCk7CitzdGF0aWMgdm9pZCB4bWxSZWdGcmVlU3RhdGUoeG1sUmVnU3RhdGVQdHIgc3RhdGUpOworc3RhdGljIHZvaWQgeG1sUmVnRnJlZUF0b20oeG1sUmVnQXRvbVB0ciBhdG9tKTsKK3N0YXRpYyBpbnQgeG1sUmVnU3RyRXF1YWxXaWxkY2FyZChjb25zdCB4bWxDaGFyICpleHBTdHIsIGNvbnN0IHhtbENoYXIgKnZhbFN0cik7CitzdGF0aWMgaW50IHhtbFJlZ0NoZWNrQ2hhcmFjdGVyKHhtbFJlZ0F0b21QdHIgYXRvbSwgaW50IGNvZGVwb2ludCk7CitzdGF0aWMgaW50IHhtbFJlZ0NoZWNrQ2hhcmFjdGVyUmFuZ2UoeG1sUmVnQXRvbVR5cGUgdHlwZSwgaW50IGNvZGVwb2ludCwKKyAgICAgICAgICAgICAgICAgIGludCBuZWcsIGludCBzdGFydCwgaW50IGVuZCwgY29uc3QgeG1sQ2hhciAqYmxvY2tOYW1lKTsKKwordm9pZCB4bWxBdXRvbWF0YVNldEZsYWdzKHhtbEF1dG9tYXRhUHRyIGFtLCBpbnQgZmxhZ3MpOworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQlSZWdleHAgbWVtb3J5IGVycm9yIGhhbmRsZXIJCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyoqCisgKiB4bWxSZWdleHBFcnJNZW1vcnk6CisgKiBAZXh0cmE6ICBleHRyYSBpbmZvcm1hdGlvbgorICoKKyAqIEhhbmRsZSBhbiBvdXQgb2YgbWVtb3J5IGNvbmRpdGlvbgorICovCitzdGF0aWMgdm9pZAoreG1sUmVnZXhwRXJyTWVtb3J5KHhtbFJlZ1BhcnNlckN0eHRQdHIgY3R4dCwgY29uc3QgY2hhciAqZXh0cmEpCit7CisgICAgY29uc3QgY2hhciAqcmVnZXhwID0gTlVMTDsKKyAgICBpZiAoY3R4dCAhPSBOVUxMKSB7CisgICAgICAgIHJlZ2V4cCA9IChjb25zdCBjaGFyICopIGN0eHQtPnN0cmluZzsKKwljdHh0LT5lcnJvciA9IFhNTF9FUlJfTk9fTUVNT1JZOworICAgIH0KKyAgICBfX3htbFJhaXNlRXJyb3IoTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwgWE1MX0ZST01fUkVHRVhQLAorCQkgICAgWE1MX0VSUl9OT19NRU1PUlksIFhNTF9FUlJfRkFUQUwsIE5VTEwsIDAsIGV4dHJhLAorCQkgICAgcmVnZXhwLCBOVUxMLCAwLCAwLAorCQkgICAgIk1lbW9yeSBhbGxvY2F0aW9uIGZhaWxlZCA6ICVzXG4iLCBleHRyYSk7Cit9CisKKy8qKgorICogeG1sUmVnZXhwRXJyQ29tcGlsZToKKyAqIEBleHRyYTogIGV4dHJhIGluZm9ybWF0aW9uCisgKgorICogSGFuZGxlIGEgY29tcGlsYXRpb24gZmFpbHVyZQorICovCitzdGF0aWMgdm9pZAoreG1sUmVnZXhwRXJyQ29tcGlsZSh4bWxSZWdQYXJzZXJDdHh0UHRyIGN0eHQsIGNvbnN0IGNoYXIgKmV4dHJhKQoreworICAgIGNvbnN0IGNoYXIgKnJlZ2V4cCA9IE5VTEw7CisgICAgaW50IGlkeCA9IDA7CisKKyAgICBpZiAoY3R4dCAhPSBOVUxMKSB7CisgICAgICAgIHJlZ2V4cCA9IChjb25zdCBjaGFyICopIGN0eHQtPnN0cmluZzsKKwlpZHggPSBjdHh0LT5jdXIgLSBjdHh0LT5zdHJpbmc7CisJY3R4dC0+ZXJyb3IgPSBYTUxfUkVHRVhQX0NPTVBJTEVfRVJST1I7CisgICAgfQorICAgIF9feG1sUmFpc2VFcnJvcihOVUxMLCBOVUxMLCBOVUxMLCBOVUxMLCBOVUxMLCBYTUxfRlJPTV9SRUdFWFAsCisJCSAgICBYTUxfUkVHRVhQX0NPTVBJTEVfRVJST1IsIFhNTF9FUlJfRkFUQUwsIE5VTEwsIDAsIGV4dHJhLAorCQkgICAgcmVnZXhwLCBOVUxMLCBpZHgsIDAsCisJCSAgICAiZmFpbGVkIHRvIGNvbXBpbGU6ICVzXG4iLCBleHRyYSk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCQlBbGxvY2F0aW9uL0RlYWxsb2NhdGlvbgkJCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK3N0YXRpYyBpbnQgeG1sRkFDb21wdXRlc0RldGVybWluaXNtKHhtbFJlZ1BhcnNlckN0eHRQdHIgY3R4dCk7CisvKioKKyAqIHhtbFJlZ0VweEZyb21QYXJzZToKKyAqIEBjdHh0OiAgdGhlIHBhcnNlciBjb250ZXh0IHVzZWQgdG8gYnVpbGQgaXQKKyAqCisgKiBBbGxvY2F0ZSBhIG5ldyByZWdleHAgYW5kIGZpbGwgaXQgd2l0aCB0aGUgcmVzdWx0IGZyb20gdGhlIHBhcnNlcgorICoKKyAqIFJldHVybnMgdGhlIG5ldyByZWdleHAgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3N0YXRpYyB4bWxSZWdleHBQdHIKK3htbFJlZ0VweEZyb21QYXJzZSh4bWxSZWdQYXJzZXJDdHh0UHRyIGN0eHQpIHsKKyAgICB4bWxSZWdleHBQdHIgcmV0OworCisgICAgcmV0ID0gKHhtbFJlZ2V4cFB0cikgeG1sTWFsbG9jKHNpemVvZih4bWxSZWdleHApKTsKKyAgICBpZiAocmV0ID09IE5VTEwpIHsKKwl4bWxSZWdleHBFcnJNZW1vcnkoY3R4dCwgImNvbXBpbGluZyByZWdleHAiKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIG1lbXNldChyZXQsIDAsIHNpemVvZih4bWxSZWdleHApKTsKKyAgICByZXQtPnN0cmluZyA9IGN0eHQtPnN0cmluZzsKKyAgICByZXQtPm5iU3RhdGVzID0gY3R4dC0+bmJTdGF0ZXM7CisgICAgcmV0LT5zdGF0ZXMgPSBjdHh0LT5zdGF0ZXM7CisgICAgcmV0LT5uYkF0b21zID0gY3R4dC0+bmJBdG9tczsKKyAgICByZXQtPmF0b21zID0gY3R4dC0+YXRvbXM7CisgICAgcmV0LT5uYkNvdW50ZXJzID0gY3R4dC0+bmJDb3VudGVyczsKKyAgICByZXQtPmNvdW50ZXJzID0gY3R4dC0+Y291bnRlcnM7CisgICAgcmV0LT5kZXRlcm1pbmlzdCA9IGN0eHQtPmRldGVybWluaXN0OworICAgIHJldC0+ZmxhZ3MgPSBjdHh0LT5mbGFnczsKKyAgICBpZiAocmV0LT5kZXRlcm1pbmlzdCA9PSAtMSkgeworICAgICAgICB4bWxSZWdleHBJc0RldGVybWluaXN0KHJldCk7CisgICAgfQorCisgICAgaWYgKChyZXQtPmRldGVybWluaXN0ICE9IDApICYmCisJKHJldC0+bmJDb3VudGVycyA9PSAwKSAmJgorCShjdHh0LT5uZWdzID09IDApICYmCisJKHJldC0+YXRvbXMgIT0gTlVMTCkgJiYKKwkocmV0LT5hdG9tc1swXSAhPSBOVUxMKSAmJgorCShyZXQtPmF0b21zWzBdLT50eXBlID09IFhNTF9SRUdFWFBfU1RSSU5HKSkgeworCWludCBpLCBqLCBuYnN0YXRlcyA9IDAsIG5iYXRvbXMgPSAwOworCWludCAqc3RhdGVSZW1hcDsKKwlpbnQgKnN0cmluZ1JlbWFwOworCWludCAqdHJhbnNpdGlvbnM7CisJdm9pZCAqKnRyYW5zZGF0YTsKKwl4bWxDaGFyICoqc3RyaW5nTWFwOworICAgICAgICB4bWxDaGFyICp2YWx1ZTsKKworCS8qCisJICogU3dpdGNoIHRvIGEgY29tcGFjdCByZXByZXNlbnRhdGlvbgorCSAqIDEvIGNvdW50aW5nIHRoZSBlZmZlY3RpdmUgbnVtYmVyIG9mIHN0YXRlcyBsZWZ0CisJICogMi8gY291bnRpbmcgdGhlIHVuaXF1ZSBudW1iZXIgb2YgYXRvbXMsIGFuZCBjaGVjayB0aGF0CisJICogICAgdGhleSBhcmUgYWxsIG9mIHRoZSBzdHJpbmcgdHlwZQorCSAqIDMvIGJ1aWxkIGEgdGFibGUgc3RhdGUgeCBhdG9tIGZvciB0aGUgdHJhbnNpdGlvbnMKKwkgKi8KKworCXN0YXRlUmVtYXAgPSB4bWxNYWxsb2MocmV0LT5uYlN0YXRlcyAqIHNpemVvZihpbnQpKTsKKwlpZiAoc3RhdGVSZW1hcCA9PSBOVUxMKSB7CisJICAgIHhtbFJlZ2V4cEVyck1lbW9yeShjdHh0LCAiY29tcGlsaW5nIHJlZ2V4cCIpOworCSAgICB4bWxGcmVlKHJldCk7CisJICAgIHJldHVybihOVUxMKTsKKwl9CisJZm9yIChpID0gMDtpIDwgcmV0LT5uYlN0YXRlcztpKyspIHsKKwkgICAgaWYgKHJldC0+c3RhdGVzW2ldICE9IE5VTEwpIHsKKwkJc3RhdGVSZW1hcFtpXSA9IG5ic3RhdGVzOworCQluYnN0YXRlcysrOworCSAgICB9IGVsc2UgeworCQlzdGF0ZVJlbWFwW2ldID0gLTE7CisJICAgIH0KKwl9CisjaWZkZWYgREVCVUdfQ09NUEFDVElPTgorCXByaW50ZigiRmluYWw6ICVkIHN0YXRlc1xuIiwgbmJzdGF0ZXMpOworI2VuZGlmCisJc3RyaW5nTWFwID0geG1sTWFsbG9jKHJldC0+bmJBdG9tcyAqIHNpemVvZihjaGFyICopKTsKKwlpZiAoc3RyaW5nTWFwID09IE5VTEwpIHsKKwkgICAgeG1sUmVnZXhwRXJyTWVtb3J5KGN0eHQsICJjb21waWxpbmcgcmVnZXhwIik7CisJICAgIHhtbEZyZWUoc3RhdGVSZW1hcCk7CisJICAgIHhtbEZyZWUocmV0KTsKKwkgICAgcmV0dXJuKE5VTEwpOworCX0KKwlzdHJpbmdSZW1hcCA9IHhtbE1hbGxvYyhyZXQtPm5iQXRvbXMgKiBzaXplb2YoaW50KSk7CisJaWYgKHN0cmluZ1JlbWFwID09IE5VTEwpIHsKKwkgICAgeG1sUmVnZXhwRXJyTWVtb3J5KGN0eHQsICJjb21waWxpbmcgcmVnZXhwIik7CisJICAgIHhtbEZyZWUoc3RyaW5nTWFwKTsKKwkgICAgeG1sRnJlZShzdGF0ZVJlbWFwKTsKKwkgICAgeG1sRnJlZShyZXQpOworCSAgICByZXR1cm4oTlVMTCk7CisJfQorCWZvciAoaSA9IDA7aSA8IHJldC0+bmJBdG9tcztpKyspIHsKKwkgICAgaWYgKChyZXQtPmF0b21zW2ldLT50eXBlID09IFhNTF9SRUdFWFBfU1RSSU5HKSAmJgorCQkocmV0LT5hdG9tc1tpXS0+cXVhbnQgPT0gWE1MX1JFR0VYUF9RVUFOVF9PTkNFKSkgeworCQl2YWx1ZSA9IHJldC0+YXRvbXNbaV0tPnZhbHVlcDsKKyAgICAgICAgICAgICAgICBmb3IgKGogPSAwO2ogPCBuYmF0b21zO2orKykgeworCQkgICAgaWYgKHhtbFN0ckVxdWFsKHN0cmluZ01hcFtqXSwgdmFsdWUpKSB7CisJCQlzdHJpbmdSZW1hcFtpXSA9IGo7CisJCQlicmVhazsKKwkJICAgIH0KKwkJfQorCQlpZiAoaiA+PSBuYmF0b21zKSB7CisJCSAgICBzdHJpbmdSZW1hcFtpXSA9IG5iYXRvbXM7CisJCSAgICBzdHJpbmdNYXBbbmJhdG9tc10gPSB4bWxTdHJkdXAodmFsdWUpOworCQkgICAgaWYgKHN0cmluZ01hcFtuYmF0b21zXSA9PSBOVUxMKSB7CisJCQlmb3IgKGkgPSAwO2kgPCBuYmF0b21zO2krKykKKwkJCSAgICB4bWxGcmVlKHN0cmluZ01hcFtpXSk7CisJCQl4bWxGcmVlKHN0cmluZ1JlbWFwKTsKKwkJCXhtbEZyZWUoc3RyaW5nTWFwKTsKKwkJCXhtbEZyZWUoc3RhdGVSZW1hcCk7CisJCQl4bWxGcmVlKHJldCk7CisJCQlyZXR1cm4oTlVMTCk7CisJCSAgICB9CisJCSAgICBuYmF0b21zKys7CisJCX0KKwkgICAgfSBlbHNlIHsKKwkJeG1sRnJlZShzdGF0ZVJlbWFwKTsKKwkJeG1sRnJlZShzdHJpbmdSZW1hcCk7CisJCWZvciAoaSA9IDA7aSA8IG5iYXRvbXM7aSsrKQorCQkgICAgeG1sRnJlZShzdHJpbmdNYXBbaV0pOworCQl4bWxGcmVlKHN0cmluZ01hcCk7CisJCXhtbEZyZWUocmV0KTsKKwkJcmV0dXJuKE5VTEwpOworCSAgICB9CisJfQorI2lmZGVmIERFQlVHX0NPTVBBQ1RJT04KKwlwcmludGYoIkZpbmFsOiAlZCBhdG9tc1xuIiwgbmJhdG9tcyk7CisjZW5kaWYKKwl0cmFuc2l0aW9ucyA9IChpbnQgKikgeG1sTWFsbG9jKChuYnN0YXRlcyArIDEpICoKKwkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChuYmF0b21zICsgMSkgKiBzaXplb2YoaW50KSk7CisJaWYgKHRyYW5zaXRpb25zID09IE5VTEwpIHsKKwkgICAgeG1sRnJlZShzdGF0ZVJlbWFwKTsKKwkgICAgeG1sRnJlZShzdHJpbmdSZW1hcCk7CisJICAgIHhtbEZyZWUoc3RyaW5nTWFwKTsKKwkgICAgeG1sRnJlZShyZXQpOworCSAgICByZXR1cm4oTlVMTCk7CisJfQorCW1lbXNldCh0cmFuc2l0aW9ucywgMCwgKG5ic3RhdGVzICsgMSkgKiAobmJhdG9tcyArIDEpICogc2l6ZW9mKGludCkpOworCisJLyoKKwkgKiBBbGxvY2F0ZSB0aGUgdHJhbnNpdGlvbiB0YWJsZS4gVGhlIGZpcnN0IGVudHJ5IGZvciBlYWNoCisJICogc3RhdGUgY29ycmVzcG9uZHMgdG8gdGhlIHN0YXRlIHR5cGUuCisJICovCisJdHJhbnNkYXRhID0gTlVMTDsKKworCWZvciAoaSA9IDA7aSA8IHJldC0+bmJTdGF0ZXM7aSsrKSB7CisJICAgIGludCBzdGF0ZW5vLCBhdG9tbm8sIHRhcmdldG5vLCBwcmV2OworCSAgICB4bWxSZWdTdGF0ZVB0ciBzdGF0ZTsKKwkgICAgeG1sUmVnVHJhbnNQdHIgdHJhbnM7CisKKwkgICAgc3RhdGVubyA9IHN0YXRlUmVtYXBbaV07CisJICAgIGlmIChzdGF0ZW5vID09IC0xKQorCQljb250aW51ZTsKKwkgICAgc3RhdGUgPSByZXQtPnN0YXRlc1tpXTsKKworCSAgICB0cmFuc2l0aW9uc1tzdGF0ZW5vICogKG5iYXRvbXMgKyAxKV0gPSBzdGF0ZS0+dHlwZTsKKworCSAgICBmb3IgKGogPSAwO2ogPCBzdGF0ZS0+bmJUcmFucztqKyspIHsKKwkJdHJhbnMgPSAmKHN0YXRlLT50cmFuc1tqXSk7CisJCWlmICgodHJhbnMtPnRvID09IC0xKSB8fCAodHJhbnMtPmF0b20gPT0gTlVMTCkpCisJCSAgICBjb250aW51ZTsKKyAgICAgICAgICAgICAgICBhdG9tbm8gPSBzdHJpbmdSZW1hcFt0cmFucy0+YXRvbS0+bm9dOworCQlpZiAoKHRyYW5zLT5hdG9tLT5kYXRhICE9IE5VTEwpICYmICh0cmFuc2RhdGEgPT0gTlVMTCkpIHsKKwkJICAgIHRyYW5zZGF0YSA9ICh2b2lkICoqKSB4bWxNYWxsb2MobmJzdGF0ZXMgKiBuYmF0b21zICoKKwkJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2Yodm9pZCAqKSk7CisJCSAgICBpZiAodHJhbnNkYXRhICE9IE5VTEwpCisJCQltZW1zZXQodHJhbnNkYXRhLCAwLAorCQkJICAgICAgIG5ic3RhdGVzICogbmJhdG9tcyAqIHNpemVvZih2b2lkICopKTsKKwkJICAgIGVsc2UgeworCQkJeG1sUmVnZXhwRXJyTWVtb3J5KGN0eHQsICJjb21waWxpbmcgcmVnZXhwIik7CisJCQlicmVhazsKKwkJICAgIH0KKwkJfQorCQl0YXJnZXRubyA9IHN0YXRlUmVtYXBbdHJhbnMtPnRvXTsKKwkJLyoKKwkJICogaWYgdGhlIHNhbWUgYXRvbSBjYW4gZ2VuZXJhdGUgdHJhbnNpdGlvbnMgdG8gMiBkaWZmZXJlbnQKKwkJICogc3RhdGVzIHRoZW4gaXQgbWVhbnMgdGhlIGF1dG9tYXRhIGlzIG5vdCBkZXRlcm1pbmlzdCBhbmQKKwkJICogdGhlIGNvbXBhY3QgZm9ybSBjYW4ndCBiZSB1c2VkICEKKwkJICovCisJCXByZXYgPSB0cmFuc2l0aW9uc1tzdGF0ZW5vICogKG5iYXRvbXMgKyAxKSArIGF0b21ubyArIDFdOworCQlpZiAocHJldiAhPSAwKSB7CisJCSAgICBpZiAocHJldiAhPSB0YXJnZXRubyArIDEpIHsKKwkJCXJldC0+ZGV0ZXJtaW5pc3QgPSAwOworI2lmZGVmIERFQlVHX0NPTVBBQ1RJT04KKwkJCXByaW50ZigiSW5kZXQ6IHN0YXRlICVkIHRyYW5zICVkLCBhdG9tICVkIHRvICVkIDogJWQgdG8gJWRcbiIsCisJCQkgICAgICAgaSwgaiwgdHJhbnMtPmF0b20tPm5vLCB0cmFucy0+dG8sIGF0b21ubywgdGFyZ2V0bm8pOworCQkJcHJpbnRmKCIgICAgICAgcHJldmlvdXMgdG8gaXMgJWRcbiIsIHByZXYpOworI2VuZGlmCisJCQlpZiAodHJhbnNkYXRhICE9IE5VTEwpCisJCQkgICAgeG1sRnJlZSh0cmFuc2RhdGEpOworCQkJeG1sRnJlZSh0cmFuc2l0aW9ucyk7CisJCQl4bWxGcmVlKHN0YXRlUmVtYXApOworCQkJeG1sRnJlZShzdHJpbmdSZW1hcCk7CisJCQlmb3IgKGkgPSAwO2kgPCBuYmF0b21zO2krKykKKwkJCSAgICB4bWxGcmVlKHN0cmluZ01hcFtpXSk7CisJCQl4bWxGcmVlKHN0cmluZ01hcCk7CisJCQlnb3RvIG5vdF9kZXRlcm07CisJCSAgICB9CisJCX0gZWxzZSB7CisjaWYgMAorCQkgICAgcHJpbnRmKCJTdGF0ZSAlZCB0cmFucyAlZDogYXRvbSAlZCB0byAlZCA6ICVkIHRvICVkXG4iLAorCQkJICAgaSwgaiwgdHJhbnMtPmF0b20tPm5vLCB0cmFucy0+dG8sIGF0b21ubywgdGFyZ2V0bm8pOworI2VuZGlmCisJCSAgICB0cmFuc2l0aW9uc1tzdGF0ZW5vICogKG5iYXRvbXMgKyAxKSArIGF0b21ubyArIDFdID0KKwkJCXRhcmdldG5vICsgMTsgLyogdG8gYXZvaWQgMCAqLworCQkgICAgaWYgKHRyYW5zZGF0YSAhPSBOVUxMKQorCQkJdHJhbnNkYXRhW3N0YXRlbm8gKiBuYmF0b21zICsgYXRvbW5vXSA9CisJCQkgICAgdHJhbnMtPmF0b20tPmRhdGE7CisJCX0KKwkgICAgfQorCX0KKwlyZXQtPmRldGVybWluaXN0ID0gMTsKKyNpZmRlZiBERUJVR19DT01QQUNUSU9OCisJLyoKKwkgKiBEZWJ1ZworCSAqLworCWZvciAoaSA9IDA7aSA8IG5ic3RhdGVzO2krKykgeworCSAgICBmb3IgKGogPSAwO2ogPCBuYmF0b21zICsgMTtqKyspIHsKKyAgICAgICAgICAgICAgICBwcmludGYoIiUwMmQgIiwgdHJhbnNpdGlvbnNbaSAqIChuYmF0b21zICsgMSkgKyBqXSk7CisJICAgIH0KKwkgICAgcHJpbnRmKCJcbiIpOworCX0KKwlwcmludGYoIlxuIik7CisjZW5kaWYKKwkvKgorCSAqIENsZWFudXAgb2YgdGhlIG9sZCBkYXRhCisJICovCisJaWYgKHJldC0+c3RhdGVzICE9IE5VTEwpIHsKKwkgICAgZm9yIChpID0gMDtpIDwgcmV0LT5uYlN0YXRlcztpKyspCisJCXhtbFJlZ0ZyZWVTdGF0ZShyZXQtPnN0YXRlc1tpXSk7CisJICAgIHhtbEZyZWUocmV0LT5zdGF0ZXMpOworCX0KKwlyZXQtPnN0YXRlcyA9IE5VTEw7CisJcmV0LT5uYlN0YXRlcyA9IDA7CisJaWYgKHJldC0+YXRvbXMgIT0gTlVMTCkgeworCSAgICBmb3IgKGkgPSAwO2kgPCByZXQtPm5iQXRvbXM7aSsrKQorCQl4bWxSZWdGcmVlQXRvbShyZXQtPmF0b21zW2ldKTsKKwkgICAgeG1sRnJlZShyZXQtPmF0b21zKTsKKwl9CisJcmV0LT5hdG9tcyA9IE5VTEw7CisJcmV0LT5uYkF0b21zID0gMDsKKworCXJldC0+Y29tcGFjdCA9IHRyYW5zaXRpb25zOworCXJldC0+dHJhbnNkYXRhID0gdHJhbnNkYXRhOworCXJldC0+c3RyaW5nTWFwID0gc3RyaW5nTWFwOworCXJldC0+bmJzdHJpbmdzID0gbmJhdG9tczsKKwlyZXQtPm5ic3RhdGVzID0gbmJzdGF0ZXM7CisJeG1sRnJlZShzdGF0ZVJlbWFwKTsKKwl4bWxGcmVlKHN0cmluZ1JlbWFwKTsKKyAgICB9Citub3RfZGV0ZXJtOgorICAgIGN0eHQtPnN0cmluZyA9IE5VTEw7CisgICAgY3R4dC0+bmJTdGF0ZXMgPSAwOworICAgIGN0eHQtPnN0YXRlcyA9IE5VTEw7CisgICAgY3R4dC0+bmJBdG9tcyA9IDA7CisgICAgY3R4dC0+YXRvbXMgPSBOVUxMOworICAgIGN0eHQtPm5iQ291bnRlcnMgPSAwOworICAgIGN0eHQtPmNvdW50ZXJzID0gTlVMTDsKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxSZWdOZXdQYXJzZXJDdHh0OgorICogQHN0cmluZzogIHRoZSBzdHJpbmcgdG8gcGFyc2UKKyAqCisgKiBBbGxvY2F0ZSBhIG5ldyByZWdleHAgcGFyc2VyIGNvbnRleHQKKyAqCisgKiBSZXR1cm5zIHRoZSBuZXcgY29udGV4dCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworc3RhdGljIHhtbFJlZ1BhcnNlckN0eHRQdHIKK3htbFJlZ05ld1BhcnNlckN0eHQoY29uc3QgeG1sQ2hhciAqc3RyaW5nKSB7CisgICAgeG1sUmVnUGFyc2VyQ3R4dFB0ciByZXQ7CisKKyAgICByZXQgPSAoeG1sUmVnUGFyc2VyQ3R4dFB0cikgeG1sTWFsbG9jKHNpemVvZih4bWxSZWdQYXJzZXJDdHh0KSk7CisgICAgaWYgKHJldCA9PSBOVUxMKQorCXJldHVybihOVUxMKTsKKyAgICBtZW1zZXQocmV0LCAwLCBzaXplb2YoeG1sUmVnUGFyc2VyQ3R4dCkpOworICAgIGlmIChzdHJpbmcgIT0gTlVMTCkKKwlyZXQtPnN0cmluZyA9IHhtbFN0cmR1cChzdHJpbmcpOworICAgIHJldC0+Y3VyID0gcmV0LT5zdHJpbmc7CisgICAgcmV0LT5uZWcgPSAwOworICAgIHJldC0+bmVncyA9IDA7CisgICAgcmV0LT5lcnJvciA9IDA7CisgICAgcmV0LT5kZXRlcm1pbmlzdCA9IC0xOworICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbFJlZ05ld1JhbmdlOgorICogQGN0eHQ6ICB0aGUgcmVnZXhwIHBhcnNlciBjb250ZXh0CisgKiBAbmVnOiAgaXMgdGhhdCBuZWdhdGl2ZQorICogQHR5cGU6ICB0aGUgdHlwZSBvZiByYW5nZQorICogQHN0YXJ0OiAgdGhlIHN0YXJ0IGNvZGVwb2ludAorICogQGVuZDogIHRoZSBlbmQgY29kZXBvaW50CisgKgorICogQWxsb2NhdGUgYSBuZXcgcmVnZXhwIHJhbmdlCisgKgorICogUmV0dXJucyB0aGUgbmV3IHJhbmdlIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcgorICovCitzdGF0aWMgeG1sUmVnUmFuZ2VQdHIKK3htbFJlZ05ld1JhbmdlKHhtbFJlZ1BhcnNlckN0eHRQdHIgY3R4dCwKKwkgICAgICAgaW50IG5lZywgeG1sUmVnQXRvbVR5cGUgdHlwZSwgaW50IHN0YXJ0LCBpbnQgZW5kKSB7CisgICAgeG1sUmVnUmFuZ2VQdHIgcmV0OworCisgICAgcmV0ID0gKHhtbFJlZ1JhbmdlUHRyKSB4bWxNYWxsb2Moc2l6ZW9mKHhtbFJlZ1JhbmdlKSk7CisgICAgaWYgKHJldCA9PSBOVUxMKSB7CisJeG1sUmVnZXhwRXJyTWVtb3J5KGN0eHQsICJhbGxvY2F0aW5nIHJhbmdlIik7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICByZXQtPm5lZyA9IG5lZzsKKyAgICByZXQtPnR5cGUgPSB0eXBlOworICAgIHJldC0+c3RhcnQgPSBzdGFydDsKKyAgICByZXQtPmVuZCA9IGVuZDsKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxSZWdGcmVlUmFuZ2U6CisgKiBAcmFuZ2U6ICB0aGUgcmVnZXhwIHJhbmdlCisgKgorICogRnJlZSBhIHJlZ2V4cCByYW5nZQorICovCitzdGF0aWMgdm9pZAoreG1sUmVnRnJlZVJhbmdlKHhtbFJlZ1JhbmdlUHRyIHJhbmdlKSB7CisgICAgaWYgKHJhbmdlID09IE5VTEwpCisJcmV0dXJuOworCisgICAgaWYgKHJhbmdlLT5ibG9ja05hbWUgIT0gTlVMTCkKKwl4bWxGcmVlKHJhbmdlLT5ibG9ja05hbWUpOworICAgIHhtbEZyZWUocmFuZ2UpOworfQorCisvKioKKyAqIHhtbFJlZ0NvcHlSYW5nZToKKyAqIEByYW5nZTogIHRoZSByZWdleHAgcmFuZ2UKKyAqCisgKiBDb3B5IGEgcmVnZXhwIHJhbmdlCisgKgorICogUmV0dXJucyB0aGUgbmV3IGNvcHkgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLgorICovCitzdGF0aWMgeG1sUmVnUmFuZ2VQdHIKK3htbFJlZ0NvcHlSYW5nZSh4bWxSZWdQYXJzZXJDdHh0UHRyIGN0eHQsIHhtbFJlZ1JhbmdlUHRyIHJhbmdlKSB7CisgICAgeG1sUmVnUmFuZ2VQdHIgcmV0OworCisgICAgaWYgKHJhbmdlID09IE5VTEwpCisJcmV0dXJuKE5VTEwpOworCisgICAgcmV0ID0geG1sUmVnTmV3UmFuZ2UoY3R4dCwgcmFuZ2UtPm5lZywgcmFuZ2UtPnR5cGUsIHJhbmdlLT5zdGFydCwKKyAgICAgICAgICAgICAgICAgICAgICAgICByYW5nZS0+ZW5kKTsKKyAgICBpZiAocmV0ID09IE5VTEwpCisgICAgICAgIHJldHVybihOVUxMKTsKKyAgICBpZiAocmFuZ2UtPmJsb2NrTmFtZSAhPSBOVUxMKSB7CisJcmV0LT5ibG9ja05hbWUgPSB4bWxTdHJkdXAocmFuZ2UtPmJsb2NrTmFtZSk7CisJaWYgKHJldC0+YmxvY2tOYW1lID09IE5VTEwpIHsKKwkgICAgeG1sUmVnZXhwRXJyTWVtb3J5KGN0eHQsICJhbGxvY2F0aW5nIHJhbmdlIik7CisJICAgIHhtbFJlZ0ZyZWVSYW5nZShyZXQpOworCSAgICByZXR1cm4oTlVMTCk7CisJfQorICAgIH0KKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxSZWdOZXdBdG9tOgorICogQGN0eHQ6ICB0aGUgcmVnZXhwIHBhcnNlciBjb250ZXh0CisgKiBAdHlwZTogIHRoZSB0eXBlIG9mIGF0b20KKyAqCisgKiBBbGxvY2F0ZSBhIG5ldyBhdG9tCisgKgorICogUmV0dXJucyB0aGUgbmV3IGF0b20gb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3N0YXRpYyB4bWxSZWdBdG9tUHRyCit4bWxSZWdOZXdBdG9tKHhtbFJlZ1BhcnNlckN0eHRQdHIgY3R4dCwgeG1sUmVnQXRvbVR5cGUgdHlwZSkgeworICAgIHhtbFJlZ0F0b21QdHIgcmV0OworCisgICAgcmV0ID0gKHhtbFJlZ0F0b21QdHIpIHhtbE1hbGxvYyhzaXplb2YoeG1sUmVnQXRvbSkpOworICAgIGlmIChyZXQgPT0gTlVMTCkgeworCXhtbFJlZ2V4cEVyck1lbW9yeShjdHh0LCAiYWxsb2NhdGluZyBhdG9tIik7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBtZW1zZXQocmV0LCAwLCBzaXplb2YoeG1sUmVnQXRvbSkpOworICAgIHJldC0+dHlwZSA9IHR5cGU7CisgICAgcmV0LT5xdWFudCA9IFhNTF9SRUdFWFBfUVVBTlRfT05DRTsKKyAgICByZXQtPm1pbiA9IDA7CisgICAgcmV0LT5tYXggPSAwOworICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbFJlZ0ZyZWVBdG9tOgorICogQGF0b206ICB0aGUgcmVnZXhwIGF0b20KKyAqCisgKiBGcmVlIGEgcmVnZXhwIGF0b20KKyAqLworc3RhdGljIHZvaWQKK3htbFJlZ0ZyZWVBdG9tKHhtbFJlZ0F0b21QdHIgYXRvbSkgeworICAgIGludCBpOworCisgICAgaWYgKGF0b20gPT0gTlVMTCkKKwlyZXR1cm47CisKKyAgICBmb3IgKGkgPSAwO2kgPCBhdG9tLT5uYlJhbmdlcztpKyspCisJeG1sUmVnRnJlZVJhbmdlKGF0b20tPnJhbmdlc1tpXSk7CisgICAgaWYgKGF0b20tPnJhbmdlcyAhPSBOVUxMKQorCXhtbEZyZWUoYXRvbS0+cmFuZ2VzKTsKKyAgICBpZiAoKGF0b20tPnR5cGUgPT0gWE1MX1JFR0VYUF9TVFJJTkcpICYmIChhdG9tLT52YWx1ZXAgIT0gTlVMTCkpCisJeG1sRnJlZShhdG9tLT52YWx1ZXApOworICAgIGlmICgoYXRvbS0+dHlwZSA9PSBYTUxfUkVHRVhQX1NUUklORykgJiYgKGF0b20tPnZhbHVlcDIgIT0gTlVMTCkpCisJeG1sRnJlZShhdG9tLT52YWx1ZXAyKTsKKyAgICBpZiAoKGF0b20tPnR5cGUgPT0gWE1MX1JFR0VYUF9CTE9DS19OQU1FKSAmJiAoYXRvbS0+dmFsdWVwICE9IE5VTEwpKQorCXhtbEZyZWUoYXRvbS0+dmFsdWVwKTsKKyAgICB4bWxGcmVlKGF0b20pOworfQorCisvKioKKyAqIHhtbFJlZ0NvcHlBdG9tOgorICogQGN0eHQ6ICB0aGUgcmVnZXhwIHBhcnNlciBjb250ZXh0CisgKiBAYXRvbTogIHRoZSBvaWdpbmFsIGF0b20KKyAqCisgKiBBbGxvY2F0ZSBhIG5ldyByZWdleHAgcmFuZ2UKKyAqCisgKiBSZXR1cm5zIHRoZSBuZXcgYXRvbSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworc3RhdGljIHhtbFJlZ0F0b21QdHIKK3htbFJlZ0NvcHlBdG9tKHhtbFJlZ1BhcnNlckN0eHRQdHIgY3R4dCwgeG1sUmVnQXRvbVB0ciBhdG9tKSB7CisgICAgeG1sUmVnQXRvbVB0ciByZXQ7CisKKyAgICByZXQgPSAoeG1sUmVnQXRvbVB0cikgeG1sTWFsbG9jKHNpemVvZih4bWxSZWdBdG9tKSk7CisgICAgaWYgKHJldCA9PSBOVUxMKSB7CisJeG1sUmVnZXhwRXJyTWVtb3J5KGN0eHQsICJjb3B5aW5nIGF0b20iKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIG1lbXNldChyZXQsIDAsIHNpemVvZih4bWxSZWdBdG9tKSk7CisgICAgcmV0LT50eXBlID0gYXRvbS0+dHlwZTsKKyAgICByZXQtPnF1YW50ID0gYXRvbS0+cXVhbnQ7CisgICAgcmV0LT5taW4gPSBhdG9tLT5taW47CisgICAgcmV0LT5tYXggPSBhdG9tLT5tYXg7CisgICAgaWYgKGF0b20tPm5iUmFuZ2VzID4gMCkgeworICAgICAgICBpbnQgaTsKKworICAgICAgICByZXQtPnJhbmdlcyA9ICh4bWxSZWdSYW5nZVB0ciAqKSB4bWxNYWxsb2Moc2l6ZW9mKHhtbFJlZ1JhbmdlUHRyKSAqCisJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0b20tPm5iUmFuZ2VzKTsKKwlpZiAocmV0LT5yYW5nZXMgPT0gTlVMTCkgeworCSAgICB4bWxSZWdleHBFcnJNZW1vcnkoY3R4dCwgImNvcHlpbmcgYXRvbSIpOworCSAgICBnb3RvIGVycm9yOworCX0KKwlmb3IgKGkgPSAwO2kgPCBhdG9tLT5uYlJhbmdlcztpKyspIHsKKwkgICAgcmV0LT5yYW5nZXNbaV0gPSB4bWxSZWdDb3B5UmFuZ2UoY3R4dCwgYXRvbS0+cmFuZ2VzW2ldKTsKKwkgICAgaWYgKHJldC0+cmFuZ2VzW2ldID09IE5VTEwpCisJICAgICAgICBnb3RvIGVycm9yOworCSAgICByZXQtPm5iUmFuZ2VzID0gaSArIDE7CisJfQorICAgIH0KKyAgICByZXR1cm4ocmV0KTsKKworZXJyb3I6CisgICAgeG1sUmVnRnJlZUF0b20ocmV0KTsKKyAgICByZXR1cm4oTlVMTCk7Cit9CisKK3N0YXRpYyB4bWxSZWdTdGF0ZVB0cgoreG1sUmVnTmV3U3RhdGUoeG1sUmVnUGFyc2VyQ3R4dFB0ciBjdHh0KSB7CisgICAgeG1sUmVnU3RhdGVQdHIgcmV0OworCisgICAgcmV0ID0gKHhtbFJlZ1N0YXRlUHRyKSB4bWxNYWxsb2Moc2l6ZW9mKHhtbFJlZ1N0YXRlKSk7CisgICAgaWYgKHJldCA9PSBOVUxMKSB7CisJeG1sUmVnZXhwRXJyTWVtb3J5KGN0eHQsICJhbGxvY2F0aW5nIHN0YXRlIik7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBtZW1zZXQocmV0LCAwLCBzaXplb2YoeG1sUmVnU3RhdGUpKTsKKyAgICByZXQtPnR5cGUgPSBYTUxfUkVHRVhQX1RSQU5TX1NUQVRFOworICAgIHJldC0+bWFyayA9IFhNTF9SRUdFWFBfTUFSS19OT1JNQUw7CisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogeG1sUmVnRnJlZVN0YXRlOgorICogQHN0YXRlOiAgdGhlIHJlZ2V4cCBzdGF0ZQorICoKKyAqIEZyZWUgYSByZWdleHAgc3RhdGUKKyAqLworc3RhdGljIHZvaWQKK3htbFJlZ0ZyZWVTdGF0ZSh4bWxSZWdTdGF0ZVB0ciBzdGF0ZSkgeworICAgIGlmIChzdGF0ZSA9PSBOVUxMKQorCXJldHVybjsKKworICAgIGlmIChzdGF0ZS0+dHJhbnMgIT0gTlVMTCkKKwl4bWxGcmVlKHN0YXRlLT50cmFucyk7CisgICAgaWYgKHN0YXRlLT50cmFuc1RvICE9IE5VTEwpCisJeG1sRnJlZShzdGF0ZS0+dHJhbnNUbyk7CisgICAgeG1sRnJlZShzdGF0ZSk7Cit9CisKKy8qKgorICogeG1sUmVnRnJlZVBhcnNlckN0eHQ6CisgKiBAY3R4dDogIHRoZSByZWdleHAgcGFyc2VyIGNvbnRleHQKKyAqCisgKiBGcmVlIGEgcmVnZXhwIHBhcnNlciBjb250ZXh0CisgKi8KK3N0YXRpYyB2b2lkCit4bWxSZWdGcmVlUGFyc2VyQ3R4dCh4bWxSZWdQYXJzZXJDdHh0UHRyIGN0eHQpIHsKKyAgICBpbnQgaTsKKyAgICBpZiAoY3R4dCA9PSBOVUxMKQorCXJldHVybjsKKworICAgIGlmIChjdHh0LT5zdHJpbmcgIT0gTlVMTCkKKwl4bWxGcmVlKGN0eHQtPnN0cmluZyk7CisgICAgaWYgKGN0eHQtPnN0YXRlcyAhPSBOVUxMKSB7CisJZm9yIChpID0gMDtpIDwgY3R4dC0+bmJTdGF0ZXM7aSsrKQorCSAgICB4bWxSZWdGcmVlU3RhdGUoY3R4dC0+c3RhdGVzW2ldKTsKKwl4bWxGcmVlKGN0eHQtPnN0YXRlcyk7CisgICAgfQorICAgIGlmIChjdHh0LT5hdG9tcyAhPSBOVUxMKSB7CisJZm9yIChpID0gMDtpIDwgY3R4dC0+bmJBdG9tcztpKyspCisJICAgIHhtbFJlZ0ZyZWVBdG9tKGN0eHQtPmF0b21zW2ldKTsKKwl4bWxGcmVlKGN0eHQtPmF0b21zKTsKKyAgICB9CisgICAgaWYgKGN0eHQtPmNvdW50ZXJzICE9IE5VTEwpCisJeG1sRnJlZShjdHh0LT5jb3VudGVycyk7CisgICAgeG1sRnJlZShjdHh0KTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJCURpc3BsYXkgb2YgRGF0YSBzdHJ1Y3R1cmVzCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitzdGF0aWMgdm9pZAoreG1sUmVnUHJpbnRBdG9tVHlwZShGSUxFICpvdXRwdXQsIHhtbFJlZ0F0b21UeXBlIHR5cGUpIHsKKyAgICBzd2l0Y2ggKHR5cGUpIHsKKyAgICAgICAgY2FzZSBYTUxfUkVHRVhQX0VQU0lMT046CisJICAgIGZwcmludGYob3V0cHV0LCAiZXBzaWxvbiAiKTsgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9DSEFSVkFMOgorCSAgICBmcHJpbnRmKG91dHB1dCwgImNoYXJ2YWwgIik7IGJyZWFrOworICAgICAgICBjYXNlIFhNTF9SRUdFWFBfUkFOR0VTOgorCSAgICBmcHJpbnRmKG91dHB1dCwgInJhbmdlcyAiKTsgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9TVUJSRUc6CisJICAgIGZwcmludGYob3V0cHV0LCAic3ViZXhwciAiKTsgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9TVFJJTkc6CisJICAgIGZwcmludGYob3V0cHV0LCAic3RyaW5nICIpOyBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUkVHRVhQX0FOWUNIQVI6CisJICAgIGZwcmludGYob3V0cHV0LCAiYW55Y2hhciAiKTsgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9BTllTUEFDRToKKwkgICAgZnByaW50ZihvdXRwdXQsICJhbnlzcGFjZSAiKTsgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9OT1RTUEFDRToKKwkgICAgZnByaW50ZihvdXRwdXQsICJub3RzcGFjZSAiKTsgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9JTklUTkFNRToKKwkgICAgZnByaW50ZihvdXRwdXQsICJpbml0bmFtZSAiKTsgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9OT1RJTklUTkFNRToKKwkgICAgZnByaW50ZihvdXRwdXQsICJub3Rpbml0bmFtZSAiKTsgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9OQU1FQ0hBUjoKKwkgICAgZnByaW50ZihvdXRwdXQsICJuYW1lY2hhciAiKTsgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9OT1ROQU1FQ0hBUjoKKwkgICAgZnByaW50ZihvdXRwdXQsICJub3RuYW1lY2hhciAiKTsgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9ERUNJTUFMOgorCSAgICBmcHJpbnRmKG91dHB1dCwgImRlY2ltYWwgIik7IGJyZWFrOworICAgICAgICBjYXNlIFhNTF9SRUdFWFBfTk9UREVDSU1BTDoKKwkgICAgZnByaW50ZihvdXRwdXQsICJub3RkZWNpbWFsICIpOyBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUkVHRVhQX1JFQUxDSEFSOgorCSAgICBmcHJpbnRmKG91dHB1dCwgInJlYWxjaGFyICIpOyBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUkVHRVhQX05PVFJFQUxDSEFSOgorCSAgICBmcHJpbnRmKG91dHB1dCwgIm5vdHJlYWxjaGFyICIpOyBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUkVHRVhQX0xFVFRFUjoKKyAgICAgICAgICAgIGZwcmludGYob3V0cHV0LCAiTEVUVEVSICIpOyBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUkVHRVhQX0xFVFRFUl9VUFBFUkNBU0U6CisgICAgICAgICAgICBmcHJpbnRmKG91dHB1dCwgIkxFVFRFUl9VUFBFUkNBU0UgIik7IGJyZWFrOworICAgICAgICBjYXNlIFhNTF9SRUdFWFBfTEVUVEVSX0xPV0VSQ0FTRToKKyAgICAgICAgICAgIGZwcmludGYob3V0cHV0LCAiTEVUVEVSX0xPV0VSQ0FTRSAiKTsgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9MRVRURVJfVElUTEVDQVNFOgorICAgICAgICAgICAgZnByaW50ZihvdXRwdXQsICJMRVRURVJfVElUTEVDQVNFICIpOyBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUkVHRVhQX0xFVFRFUl9NT0RJRklFUjoKKyAgICAgICAgICAgIGZwcmludGYob3V0cHV0LCAiTEVUVEVSX01PRElGSUVSICIpOyBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUkVHRVhQX0xFVFRFUl9PVEhFUlM6CisgICAgICAgICAgICBmcHJpbnRmKG91dHB1dCwgIkxFVFRFUl9PVEhFUlMgIik7IGJyZWFrOworICAgICAgICBjYXNlIFhNTF9SRUdFWFBfTUFSSzoKKyAgICAgICAgICAgIGZwcmludGYob3V0cHV0LCAiTUFSSyAiKTsgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9NQVJLX05PTlNQQUNJTkc6CisgICAgICAgICAgICBmcHJpbnRmKG91dHB1dCwgIk1BUktfTk9OU1BBQ0lORyAiKTsgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9NQVJLX1NQQUNFQ09NQklOSU5HOgorICAgICAgICAgICAgZnByaW50ZihvdXRwdXQsICJNQVJLX1NQQUNFQ09NQklOSU5HICIpOyBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUkVHRVhQX01BUktfRU5DTE9TSU5HOgorICAgICAgICAgICAgZnByaW50ZihvdXRwdXQsICJNQVJLX0VOQ0xPU0lORyAiKTsgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9OVU1CRVI6CisgICAgICAgICAgICBmcHJpbnRmKG91dHB1dCwgIk5VTUJFUiAiKTsgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9OVU1CRVJfREVDSU1BTDoKKyAgICAgICAgICAgIGZwcmludGYob3V0cHV0LCAiTlVNQkVSX0RFQ0lNQUwgIik7IGJyZWFrOworICAgICAgICBjYXNlIFhNTF9SRUdFWFBfTlVNQkVSX0xFVFRFUjoKKyAgICAgICAgICAgIGZwcmludGYob3V0cHV0LCAiTlVNQkVSX0xFVFRFUiAiKTsgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9OVU1CRVJfT1RIRVJTOgorICAgICAgICAgICAgZnByaW50ZihvdXRwdXQsICJOVU1CRVJfT1RIRVJTICIpOyBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUkVHRVhQX1BVTkNUOgorICAgICAgICAgICAgZnByaW50ZihvdXRwdXQsICJQVU5DVCAiKTsgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9QVU5DVF9DT05ORUNUT1I6CisgICAgICAgICAgICBmcHJpbnRmKG91dHB1dCwgIlBVTkNUX0NPTk5FQ1RPUiAiKTsgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9QVU5DVF9EQVNIOgorICAgICAgICAgICAgZnByaW50ZihvdXRwdXQsICJQVU5DVF9EQVNIICIpOyBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUkVHRVhQX1BVTkNUX09QRU46CisgICAgICAgICAgICBmcHJpbnRmKG91dHB1dCwgIlBVTkNUX09QRU4gIik7IGJyZWFrOworICAgICAgICBjYXNlIFhNTF9SRUdFWFBfUFVOQ1RfQ0xPU0U6CisgICAgICAgICAgICBmcHJpbnRmKG91dHB1dCwgIlBVTkNUX0NMT1NFICIpOyBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUkVHRVhQX1BVTkNUX0lOSVRRVU9URToKKyAgICAgICAgICAgIGZwcmludGYob3V0cHV0LCAiUFVOQ1RfSU5JVFFVT1RFICIpOyBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUkVHRVhQX1BVTkNUX0ZJTlFVT1RFOgorICAgICAgICAgICAgZnByaW50ZihvdXRwdXQsICJQVU5DVF9GSU5RVU9URSAiKTsgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9QVU5DVF9PVEhFUlM6CisgICAgICAgICAgICBmcHJpbnRmKG91dHB1dCwgIlBVTkNUX09USEVSUyAiKTsgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9TRVBBUjoKKyAgICAgICAgICAgIGZwcmludGYob3V0cHV0LCAiU0VQQVIgIik7IGJyZWFrOworICAgICAgICBjYXNlIFhNTF9SRUdFWFBfU0VQQVJfU1BBQ0U6CisgICAgICAgICAgICBmcHJpbnRmKG91dHB1dCwgIlNFUEFSX1NQQUNFICIpOyBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUkVHRVhQX1NFUEFSX0xJTkU6CisgICAgICAgICAgICBmcHJpbnRmKG91dHB1dCwgIlNFUEFSX0xJTkUgIik7IGJyZWFrOworICAgICAgICBjYXNlIFhNTF9SRUdFWFBfU0VQQVJfUEFSQToKKyAgICAgICAgICAgIGZwcmludGYob3V0cHV0LCAiU0VQQVJfUEFSQSAiKTsgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9TWU1CT0w6CisgICAgICAgICAgICBmcHJpbnRmKG91dHB1dCwgIlNZTUJPTCAiKTsgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9TWU1CT0xfTUFUSDoKKyAgICAgICAgICAgIGZwcmludGYob3V0cHV0LCAiU1lNQk9MX01BVEggIik7IGJyZWFrOworICAgICAgICBjYXNlIFhNTF9SRUdFWFBfU1lNQk9MX0NVUlJFTkNZOgorICAgICAgICAgICAgZnByaW50ZihvdXRwdXQsICJTWU1CT0xfQ1VSUkVOQ1kgIik7IGJyZWFrOworICAgICAgICBjYXNlIFhNTF9SRUdFWFBfU1lNQk9MX01PRElGSUVSOgorICAgICAgICAgICAgZnByaW50ZihvdXRwdXQsICJTWU1CT0xfTU9ESUZJRVIgIik7IGJyZWFrOworICAgICAgICBjYXNlIFhNTF9SRUdFWFBfU1lNQk9MX09USEVSUzoKKyAgICAgICAgICAgIGZwcmludGYob3V0cHV0LCAiU1lNQk9MX09USEVSUyAiKTsgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9PVEhFUjoKKyAgICAgICAgICAgIGZwcmludGYob3V0cHV0LCAiT1RIRVIgIik7IGJyZWFrOworICAgICAgICBjYXNlIFhNTF9SRUdFWFBfT1RIRVJfQ09OVFJPTDoKKyAgICAgICAgICAgIGZwcmludGYob3V0cHV0LCAiT1RIRVJfQ09OVFJPTCAiKTsgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9PVEhFUl9GT1JNQVQ6CisgICAgICAgICAgICBmcHJpbnRmKG91dHB1dCwgIk9USEVSX0ZPUk1BVCAiKTsgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9PVEhFUl9QUklWQVRFOgorICAgICAgICAgICAgZnByaW50ZihvdXRwdXQsICJPVEhFUl9QUklWQVRFICIpOyBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUkVHRVhQX09USEVSX05BOgorICAgICAgICAgICAgZnByaW50ZihvdXRwdXQsICJPVEhFUl9OQSAiKTsgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9CTE9DS19OQU1FOgorCSAgICBmcHJpbnRmKG91dHB1dCwgIkJMT0NLICIpOyBicmVhazsKKyAgICB9Cit9CisKK3N0YXRpYyB2b2lkCit4bWxSZWdQcmludFF1YW50VHlwZShGSUxFICpvdXRwdXQsIHhtbFJlZ1F1YW50VHlwZSB0eXBlKSB7CisgICAgc3dpdGNoICh0eXBlKSB7CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9RVUFOVF9FUFNJTE9OOgorCSAgICBmcHJpbnRmKG91dHB1dCwgImVwc2lsb24gIik7IGJyZWFrOworICAgICAgICBjYXNlIFhNTF9SRUdFWFBfUVVBTlRfT05DRToKKwkgICAgZnByaW50ZihvdXRwdXQsICJvbmNlICIpOyBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUkVHRVhQX1FVQU5UX09QVDoKKwkgICAgZnByaW50ZihvdXRwdXQsICI/ICIpOyBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUkVHRVhQX1FVQU5UX01VTFQ6CisJICAgIGZwcmludGYob3V0cHV0LCAiKiAiKTsgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9RVUFOVF9QTFVTOgorCSAgICBmcHJpbnRmKG91dHB1dCwgIisgIik7IGJyZWFrOworCWNhc2UgWE1MX1JFR0VYUF9RVUFOVF9SQU5HRToKKwkgICAgZnByaW50ZihvdXRwdXQsICJyYW5nZSAiKTsgYnJlYWs7CisJY2FzZSBYTUxfUkVHRVhQX1FVQU5UX09OQ0VPTkxZOgorCSAgICBmcHJpbnRmKG91dHB1dCwgIm9uY2Vvbmx5ICIpOyBicmVhazsKKwljYXNlIFhNTF9SRUdFWFBfUVVBTlRfQUxMOgorCSAgICBmcHJpbnRmKG91dHB1dCwgImFsbCAiKTsgYnJlYWs7CisgICAgfQorfQorc3RhdGljIHZvaWQKK3htbFJlZ1ByaW50UmFuZ2UoRklMRSAqb3V0cHV0LCB4bWxSZWdSYW5nZVB0ciByYW5nZSkgeworICAgIGZwcmludGYob3V0cHV0LCAiICByYW5nZTogIik7CisgICAgaWYgKHJhbmdlLT5uZWcpCisJZnByaW50ZihvdXRwdXQsICJuZWdhdGl2ZSAiKTsKKyAgICB4bWxSZWdQcmludEF0b21UeXBlKG91dHB1dCwgcmFuZ2UtPnR5cGUpOworICAgIGZwcmludGYob3V0cHV0LCAiJWMgLSAlY1xuIiwgcmFuZ2UtPnN0YXJ0LCByYW5nZS0+ZW5kKTsKK30KKworc3RhdGljIHZvaWQKK3htbFJlZ1ByaW50QXRvbShGSUxFICpvdXRwdXQsIHhtbFJlZ0F0b21QdHIgYXRvbSkgeworICAgIGZwcmludGYob3V0cHV0LCAiIGF0b206ICIpOworICAgIGlmIChhdG9tID09IE5VTEwpIHsKKwlmcHJpbnRmKG91dHB1dCwgIk5VTExcbiIpOworCXJldHVybjsKKyAgICB9CisgICAgaWYgKGF0b20tPm5lZykKKyAgICAgICAgZnByaW50ZihvdXRwdXQsICJub3QgIik7CisgICAgeG1sUmVnUHJpbnRBdG9tVHlwZShvdXRwdXQsIGF0b20tPnR5cGUpOworICAgIHhtbFJlZ1ByaW50UXVhbnRUeXBlKG91dHB1dCwgYXRvbS0+cXVhbnQpOworICAgIGlmIChhdG9tLT5xdWFudCA9PSBYTUxfUkVHRVhQX1FVQU5UX1JBTkdFKQorCWZwcmludGYob3V0cHV0LCAiJWQtJWQgIiwgYXRvbS0+bWluLCBhdG9tLT5tYXgpOworICAgIGlmIChhdG9tLT50eXBlID09IFhNTF9SRUdFWFBfU1RSSU5HKQorCWZwcmludGYob3V0cHV0LCAiJyVzJyAiLCAoY2hhciAqKSBhdG9tLT52YWx1ZXApOworICAgIGlmIChhdG9tLT50eXBlID09IFhNTF9SRUdFWFBfQ0hBUlZBTCkKKwlmcHJpbnRmKG91dHB1dCwgImNoYXIgJWNcbiIsIGF0b20tPmNvZGVwb2ludCk7CisgICAgZWxzZSBpZiAoYXRvbS0+dHlwZSA9PSBYTUxfUkVHRVhQX1JBTkdFUykgeworCWludCBpOworCWZwcmludGYob3V0cHV0LCAiJWQgZW50cmllc1xuIiwgYXRvbS0+bmJSYW5nZXMpOworCWZvciAoaSA9IDA7IGkgPCBhdG9tLT5uYlJhbmdlcztpKyspCisJICAgIHhtbFJlZ1ByaW50UmFuZ2Uob3V0cHV0LCBhdG9tLT5yYW5nZXNbaV0pOworICAgIH0gZWxzZSBpZiAoYXRvbS0+dHlwZSA9PSBYTUxfUkVHRVhQX1NVQlJFRykgeworCWZwcmludGYob3V0cHV0LCAic3RhcnQgJWQgZW5kICVkXG4iLCBhdG9tLT5zdGFydC0+bm8sIGF0b20tPnN0b3AtPm5vKTsKKyAgICB9IGVsc2UgeworCWZwcmludGYob3V0cHV0LCAiXG4iKTsKKyAgICB9Cit9CisKK3N0YXRpYyB2b2lkCit4bWxSZWdQcmludFRyYW5zKEZJTEUgKm91dHB1dCwgeG1sUmVnVHJhbnNQdHIgdHJhbnMpIHsKKyAgICBmcHJpbnRmKG91dHB1dCwgIiAgdHJhbnM6ICIpOworICAgIGlmICh0cmFucyA9PSBOVUxMKSB7CisJZnByaW50ZihvdXRwdXQsICJOVUxMXG4iKTsKKwlyZXR1cm47CisgICAgfQorICAgIGlmICh0cmFucy0+dG8gPCAwKSB7CisJZnByaW50ZihvdXRwdXQsICJyZW1vdmVkXG4iKTsKKwlyZXR1cm47CisgICAgfQorICAgIGlmICh0cmFucy0+bmQgIT0gMCkgeworCWlmICh0cmFucy0+bmQgPT0gMikKKwkgICAgZnByaW50ZihvdXRwdXQsICJsYXN0IG5vdCBkZXRlcm1pbmlzdCwgIik7CisJZWxzZQorCSAgICBmcHJpbnRmKG91dHB1dCwgIm5vdCBkZXRlcm1pbmlzdCwgIik7CisgICAgfQorICAgIGlmICh0cmFucy0+Y291bnRlciA+PSAwKSB7CisJZnByaW50ZihvdXRwdXQsICJjb3VudGVkICVkLCAiLCB0cmFucy0+Y291bnRlcik7CisgICAgfQorICAgIGlmICh0cmFucy0+Y291bnQgPT0gUkVHRVhQX0FMTF9DT1VOVEVSKSB7CisJZnByaW50ZihvdXRwdXQsICJhbGwgdHJhbnNpdGlvbiwgIik7CisgICAgfSBlbHNlIGlmICh0cmFucy0+Y291bnQgPj0gMCkgeworCWZwcmludGYob3V0cHV0LCAiY291bnQgYmFzZWQgJWQsICIsIHRyYW5zLT5jb3VudCk7CisgICAgfQorICAgIGlmICh0cmFucy0+YXRvbSA9PSBOVUxMKSB7CisJZnByaW50ZihvdXRwdXQsICJlcHNpbG9uIHRvICVkXG4iLCB0cmFucy0+dG8pOworCXJldHVybjsKKyAgICB9CisgICAgaWYgKHRyYW5zLT5hdG9tLT50eXBlID09IFhNTF9SRUdFWFBfQ0hBUlZBTCkKKwlmcHJpbnRmKG91dHB1dCwgImNoYXIgJWMgIiwgdHJhbnMtPmF0b20tPmNvZGVwb2ludCk7CisgICAgZnByaW50ZihvdXRwdXQsICJhdG9tICVkLCB0byAlZFxuIiwgdHJhbnMtPmF0b20tPm5vLCB0cmFucy0+dG8pOworfQorCitzdGF0aWMgdm9pZAoreG1sUmVnUHJpbnRTdGF0ZShGSUxFICpvdXRwdXQsIHhtbFJlZ1N0YXRlUHRyIHN0YXRlKSB7CisgICAgaW50IGk7CisKKyAgICBmcHJpbnRmKG91dHB1dCwgIiBzdGF0ZTogIik7CisgICAgaWYgKHN0YXRlID09IE5VTEwpIHsKKwlmcHJpbnRmKG91dHB1dCwgIk5VTExcbiIpOworCXJldHVybjsKKyAgICB9CisgICAgaWYgKHN0YXRlLT50eXBlID09IFhNTF9SRUdFWFBfU1RBUlRfU1RBVEUpCisJZnByaW50ZihvdXRwdXQsICJTVEFSVCAiKTsKKyAgICBpZiAoc3RhdGUtPnR5cGUgPT0gWE1MX1JFR0VYUF9GSU5BTF9TVEFURSkKKwlmcHJpbnRmKG91dHB1dCwgIkZJTkFMICIpOworCisgICAgZnByaW50ZihvdXRwdXQsICIlZCwgJWQgdHJhbnNpdGlvbnM6XG4iLCBzdGF0ZS0+bm8sIHN0YXRlLT5uYlRyYW5zKTsKKyAgICBmb3IgKGkgPSAwO2kgPCBzdGF0ZS0+bmJUcmFuczsgaSsrKSB7CisJeG1sUmVnUHJpbnRUcmFucyhvdXRwdXQsICYoc3RhdGUtPnRyYW5zW2ldKSk7CisgICAgfQorfQorCisjaWZkZWYgREVCVUdfUkVHRVhQX0dSQVBICitzdGF0aWMgdm9pZAoreG1sUmVnUHJpbnRDdHh0KEZJTEUgKm91dHB1dCwgeG1sUmVnUGFyc2VyQ3R4dFB0ciBjdHh0KSB7CisgICAgaW50IGk7CisKKyAgICBmcHJpbnRmKG91dHB1dCwgIiBjdHh0OiAiKTsKKyAgICBpZiAoY3R4dCA9PSBOVUxMKSB7CisJZnByaW50ZihvdXRwdXQsICJOVUxMXG4iKTsKKwlyZXR1cm47CisgICAgfQorICAgIGZwcmludGYob3V0cHV0LCAiJyVzJyAiLCBjdHh0LT5zdHJpbmcpOworICAgIGlmIChjdHh0LT5lcnJvcikKKwlmcHJpbnRmKG91dHB1dCwgImVycm9yICIpOworICAgIGlmIChjdHh0LT5uZWcpCisJZnByaW50ZihvdXRwdXQsICJuZWcgIik7CisgICAgZnByaW50ZihvdXRwdXQsICJcbiIpOworICAgIGZwcmludGYob3V0cHV0LCAiJWQgYXRvbXM6XG4iLCBjdHh0LT5uYkF0b21zKTsKKyAgICBmb3IgKGkgPSAwO2kgPCBjdHh0LT5uYkF0b21zOyBpKyspIHsKKwlmcHJpbnRmKG91dHB1dCwgIiAlMDJkICIsIGkpOworCXhtbFJlZ1ByaW50QXRvbShvdXRwdXQsIGN0eHQtPmF0b21zW2ldKTsKKyAgICB9CisgICAgaWYgKGN0eHQtPmF0b20gIT0gTlVMTCkgeworCWZwcmludGYob3V0cHV0LCAiY3VycmVudCBhdG9tOlxuIik7CisJeG1sUmVnUHJpbnRBdG9tKG91dHB1dCwgY3R4dC0+YXRvbSk7CisgICAgfQorICAgIGZwcmludGYob3V0cHV0LCAiJWQgc3RhdGVzOiIsIGN0eHQtPm5iU3RhdGVzKTsKKyAgICBpZiAoY3R4dC0+c3RhcnQgIT0gTlVMTCkKKwlmcHJpbnRmKG91dHB1dCwgIiBzdGFydDogJWQiLCBjdHh0LT5zdGFydC0+bm8pOworICAgIGlmIChjdHh0LT5lbmQgIT0gTlVMTCkKKwlmcHJpbnRmKG91dHB1dCwgIiBlbmQ6ICVkIiwgY3R4dC0+ZW5kLT5ubyk7CisgICAgZnByaW50ZihvdXRwdXQsICJcbiIpOworICAgIGZvciAoaSA9IDA7aSA8IGN0eHQtPm5iU3RhdGVzOyBpKyspIHsKKwl4bWxSZWdQcmludFN0YXRlKG91dHB1dCwgY3R4dC0+c3RhdGVzW2ldKTsKKyAgICB9CisgICAgZnByaW50ZihvdXRwdXQsICIlZCBjb3VudGVyczpcbiIsIGN0eHQtPm5iQ291bnRlcnMpOworICAgIGZvciAoaSA9IDA7aSA8IGN0eHQtPm5iQ291bnRlcnM7IGkrKykgeworCWZwcmludGYob3V0cHV0LCAiICVkOiBtaW4gJWQgbWF4ICVkXG4iLCBpLCBjdHh0LT5jb3VudGVyc1tpXS5taW4sCisJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3R4dC0+Y291bnRlcnNbaV0ubWF4KTsKKyAgICB9Cit9CisjZW5kaWYKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJIEZpbml0ZSBBdXRvbWF0YSBzdHJ1Y3R1cmVzIG1hbmlwdWxhdGlvbnMJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworc3RhdGljIHZvaWQKK3htbFJlZ0F0b21BZGRSYW5nZSh4bWxSZWdQYXJzZXJDdHh0UHRyIGN0eHQsIHhtbFJlZ0F0b21QdHIgYXRvbSwKKwkgICAgICAgICAgIGludCBuZWcsIHhtbFJlZ0F0b21UeXBlIHR5cGUsIGludCBzdGFydCwgaW50IGVuZCwKKwkJICAgeG1sQ2hhciAqYmxvY2tOYW1lKSB7CisgICAgeG1sUmVnUmFuZ2VQdHIgcmFuZ2U7CisKKyAgICBpZiAoYXRvbSA9PSBOVUxMKSB7CisJRVJST1IoImFkZCByYW5nZTogYXRvbSBpcyBOVUxMIik7CisJcmV0dXJuOworICAgIH0KKyAgICBpZiAoYXRvbS0+dHlwZSAhPSBYTUxfUkVHRVhQX1JBTkdFUykgeworCUVSUk9SKCJhZGQgcmFuZ2U6IGF0b20gaXMgbm90IHJhbmdlcyIpOworCXJldHVybjsKKyAgICB9CisgICAgaWYgKGF0b20tPm1heFJhbmdlcyA9PSAwKSB7CisJYXRvbS0+bWF4UmFuZ2VzID0gNDsKKwlhdG9tLT5yYW5nZXMgPSAoeG1sUmVnUmFuZ2VQdHIgKikgeG1sTWFsbG9jKGF0b20tPm1heFJhbmdlcyAqCisJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKHhtbFJlZ1JhbmdlUHRyKSk7CisJaWYgKGF0b20tPnJhbmdlcyA9PSBOVUxMKSB7CisJICAgIHhtbFJlZ2V4cEVyck1lbW9yeShjdHh0LCAiYWRkaW5nIHJhbmdlcyIpOworCSAgICBhdG9tLT5tYXhSYW5nZXMgPSAwOworCSAgICByZXR1cm47CisJfQorICAgIH0gZWxzZSBpZiAoYXRvbS0+bmJSYW5nZXMgPj0gYXRvbS0+bWF4UmFuZ2VzKSB7CisJeG1sUmVnUmFuZ2VQdHIgKnRtcDsKKwlhdG9tLT5tYXhSYW5nZXMgKj0gMjsKKwl0bXAgPSAoeG1sUmVnUmFuZ2VQdHIgKikgeG1sUmVhbGxvYyhhdG9tLT5yYW5nZXMsIGF0b20tPm1heFJhbmdlcyAqCisJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKHhtbFJlZ1JhbmdlUHRyKSk7CisJaWYgKHRtcCA9PSBOVUxMKSB7CisJICAgIHhtbFJlZ2V4cEVyck1lbW9yeShjdHh0LCAiYWRkaW5nIHJhbmdlcyIpOworCSAgICBhdG9tLT5tYXhSYW5nZXMgLz0gMjsKKwkgICAgcmV0dXJuOworCX0KKwlhdG9tLT5yYW5nZXMgPSB0bXA7CisgICAgfQorICAgIHJhbmdlID0geG1sUmVnTmV3UmFuZ2UoY3R4dCwgbmVnLCB0eXBlLCBzdGFydCwgZW5kKTsKKyAgICBpZiAocmFuZ2UgPT0gTlVMTCkKKwlyZXR1cm47CisgICAgcmFuZ2UtPmJsb2NrTmFtZSA9IGJsb2NrTmFtZTsKKyAgICBhdG9tLT5yYW5nZXNbYXRvbS0+bmJSYW5nZXMrK10gPSByYW5nZTsKKworfQorCitzdGF0aWMgaW50Cit4bWxSZWdHZXRDb3VudGVyKHhtbFJlZ1BhcnNlckN0eHRQdHIgY3R4dCkgeworICAgIGlmIChjdHh0LT5tYXhDb3VudGVycyA9PSAwKSB7CisJY3R4dC0+bWF4Q291bnRlcnMgPSA0OworCWN0eHQtPmNvdW50ZXJzID0gKHhtbFJlZ0NvdW50ZXIgKikgeG1sTWFsbG9jKGN0eHQtPm1heENvdW50ZXJzICoKKwkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoeG1sUmVnQ291bnRlcikpOworCWlmIChjdHh0LT5jb3VudGVycyA9PSBOVUxMKSB7CisJICAgIHhtbFJlZ2V4cEVyck1lbW9yeShjdHh0LCAiYWxsb2NhdGluZyBjb3VudGVyIik7CisJICAgIGN0eHQtPm1heENvdW50ZXJzID0gMDsKKwkgICAgcmV0dXJuKC0xKTsKKwl9CisgICAgfSBlbHNlIGlmIChjdHh0LT5uYkNvdW50ZXJzID49IGN0eHQtPm1heENvdW50ZXJzKSB7CisJeG1sUmVnQ291bnRlciAqdG1wOworCWN0eHQtPm1heENvdW50ZXJzICo9IDI7CisJdG1wID0gKHhtbFJlZ0NvdW50ZXIgKikgeG1sUmVhbGxvYyhjdHh0LT5jb3VudGVycywgY3R4dC0+bWF4Q291bnRlcnMgKgorCQkgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoeG1sUmVnQ291bnRlcikpOworCWlmICh0bXAgPT0gTlVMTCkgeworCSAgICB4bWxSZWdleHBFcnJNZW1vcnkoY3R4dCwgImFsbG9jYXRpbmcgY291bnRlciIpOworCSAgICBjdHh0LT5tYXhDb3VudGVycyAvPSAyOworCSAgICByZXR1cm4oLTEpOworCX0KKwljdHh0LT5jb3VudGVycyA9IHRtcDsKKyAgICB9CisgICAgY3R4dC0+Y291bnRlcnNbY3R4dC0+bmJDb3VudGVyc10ubWluID0gLTE7CisgICAgY3R4dC0+Y291bnRlcnNbY3R4dC0+bmJDb3VudGVyc10ubWF4ID0gLTE7CisgICAgcmV0dXJuKGN0eHQtPm5iQ291bnRlcnMrKyk7Cit9CisKK3N0YXRpYyBpbnQKK3htbFJlZ0F0b21QdXNoKHhtbFJlZ1BhcnNlckN0eHRQdHIgY3R4dCwgeG1sUmVnQXRvbVB0ciBhdG9tKSB7CisgICAgaWYgKGF0b20gPT0gTlVMTCkgeworCUVSUk9SKCJhdG9tIHB1c2g6IGF0b20gaXMgTlVMTCIpOworCXJldHVybigtMSk7CisgICAgfQorICAgIGlmIChjdHh0LT5tYXhBdG9tcyA9PSAwKSB7CisJY3R4dC0+bWF4QXRvbXMgPSA0OworCWN0eHQtPmF0b21zID0gKHhtbFJlZ0F0b21QdHIgKikgeG1sTWFsbG9jKGN0eHQtPm1heEF0b21zICoKKwkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoeG1sUmVnQXRvbVB0cikpOworCWlmIChjdHh0LT5hdG9tcyA9PSBOVUxMKSB7CisJICAgIHhtbFJlZ2V4cEVyck1lbW9yeShjdHh0LCAicHVzaGluZyBhdG9tIik7CisJICAgIGN0eHQtPm1heEF0b21zID0gMDsKKwkgICAgcmV0dXJuKC0xKTsKKwl9CisgICAgfSBlbHNlIGlmIChjdHh0LT5uYkF0b21zID49IGN0eHQtPm1heEF0b21zKSB7CisJeG1sUmVnQXRvbVB0ciAqdG1wOworCWN0eHQtPm1heEF0b21zICo9IDI7CisJdG1wID0gKHhtbFJlZ0F0b21QdHIgKikgeG1sUmVhbGxvYyhjdHh0LT5hdG9tcywgY3R4dC0+bWF4QXRvbXMgKgorCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZih4bWxSZWdBdG9tUHRyKSk7CisJaWYgKHRtcCA9PSBOVUxMKSB7CisJICAgIHhtbFJlZ2V4cEVyck1lbW9yeShjdHh0LCAiYWxsb2NhdGluZyBjb3VudGVyIik7CisJICAgIGN0eHQtPm1heEF0b21zIC89IDI7CisJICAgIHJldHVybigtMSk7CisJfQorCWN0eHQtPmF0b21zID0gdG1wOworICAgIH0KKyAgICBhdG9tLT5ubyA9IGN0eHQtPm5iQXRvbXM7CisgICAgY3R4dC0+YXRvbXNbY3R4dC0+bmJBdG9tcysrXSA9IGF0b207CisgICAgcmV0dXJuKDApOworfQorCitzdGF0aWMgdm9pZAoreG1sUmVnU3RhdGVBZGRUcmFuc1RvKHhtbFJlZ1BhcnNlckN0eHRQdHIgY3R4dCwgeG1sUmVnU3RhdGVQdHIgdGFyZ2V0LAorICAgICAgICAgICAgICAgICAgICAgIGludCBmcm9tKSB7CisgICAgaWYgKHRhcmdldC0+bWF4VHJhbnNUbyA9PSAwKSB7CisJdGFyZ2V0LT5tYXhUcmFuc1RvID0gODsKKwl0YXJnZXQtPnRyYW5zVG8gPSAoaW50ICopIHhtbE1hbGxvYyh0YXJnZXQtPm1heFRyYW5zVG8gKgorCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihpbnQpKTsKKwlpZiAodGFyZ2V0LT50cmFuc1RvID09IE5VTEwpIHsKKwkgICAgeG1sUmVnZXhwRXJyTWVtb3J5KGN0eHQsICJhZGRpbmcgdHJhbnNpdGlvbiIpOworCSAgICB0YXJnZXQtPm1heFRyYW5zVG8gPSAwOworCSAgICByZXR1cm47CisJfQorICAgIH0gZWxzZSBpZiAodGFyZ2V0LT5uYlRyYW5zVG8gPj0gdGFyZ2V0LT5tYXhUcmFuc1RvKSB7CisJaW50ICp0bXA7CisJdGFyZ2V0LT5tYXhUcmFuc1RvICo9IDI7CisJdG1wID0gKGludCAqKSB4bWxSZWFsbG9jKHRhcmdldC0+dHJhbnNUbywgdGFyZ2V0LT5tYXhUcmFuc1RvICoKKwkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoaW50KSk7CisJaWYgKHRtcCA9PSBOVUxMKSB7CisJICAgIHhtbFJlZ2V4cEVyck1lbW9yeShjdHh0LCAiYWRkaW5nIHRyYW5zaXRpb24iKTsKKwkgICAgdGFyZ2V0LT5tYXhUcmFuc1RvIC89IDI7CisJICAgIHJldHVybjsKKwl9CisJdGFyZ2V0LT50cmFuc1RvID0gdG1wOworICAgIH0KKyAgICB0YXJnZXQtPnRyYW5zVG9bdGFyZ2V0LT5uYlRyYW5zVG9dID0gZnJvbTsKKyAgICB0YXJnZXQtPm5iVHJhbnNUbysrOworfQorCitzdGF0aWMgdm9pZAoreG1sUmVnU3RhdGVBZGRUcmFucyh4bWxSZWdQYXJzZXJDdHh0UHRyIGN0eHQsIHhtbFJlZ1N0YXRlUHRyIHN0YXRlLAorCSAgICAgICAgICAgIHhtbFJlZ0F0b21QdHIgYXRvbSwgeG1sUmVnU3RhdGVQdHIgdGFyZ2V0LAorCQkgICAgaW50IGNvdW50ZXIsIGludCBjb3VudCkgeworCisgICAgaW50IG5ydHJhbnM7CisKKyAgICBpZiAoc3RhdGUgPT0gTlVMTCkgeworCUVSUk9SKCJhZGQgc3RhdGU6IHN0YXRlIGlzIE5VTEwiKTsKKwlyZXR1cm47CisgICAgfQorICAgIGlmICh0YXJnZXQgPT0gTlVMTCkgeworCUVSUk9SKCJhZGQgc3RhdGU6IHRhcmdldCBpcyBOVUxMIik7CisJcmV0dXJuOworICAgIH0KKyAgICAvKgorICAgICAqIE90aGVyIHJvdXRpbmVzIGZvbGxvdyB0aGUgcGhpbG9zb3BoeSAnV2hlbiBpbiBkb3VidCwgYWRkIGEgdHJhbnNpdGlvbicKKyAgICAgKiBzbyB3ZSBjaGVjayBoZXJlIHdoZXRoZXIgc3VjaCBhIHRyYW5zaXRpb24gaXMgYWxyZWFkeSBwcmVzZW50IGFuZCwgaWYKKyAgICAgKiBzbywgc2lsZW50bHkgaWdub3JlIHRoaXMgcmVxdWVzdC4KKyAgICAgKi8KKworICAgIGZvciAobnJ0cmFucyA9IHN0YXRlLT5uYlRyYW5zIC0gMTsgbnJ0cmFucyA+PSAwOyBucnRyYW5zLS0pIHsKKwl4bWxSZWdUcmFuc1B0ciB0cmFucyA9ICYoc3RhdGUtPnRyYW5zW25ydHJhbnNdKTsKKwlpZiAoKHRyYW5zLT5hdG9tID09IGF0b20pICYmCisJICAgICh0cmFucy0+dG8gPT0gdGFyZ2V0LT5ubykgJiYKKwkgICAgKHRyYW5zLT5jb3VudGVyID09IGNvdW50ZXIpICYmCisJICAgICh0cmFucy0+Y291bnQgPT0gY291bnQpKSB7CisjaWZkZWYgREVCVUdfUkVHRVhQX0dSQVBICisJICAgIHByaW50ZigiSWdub3JpbmcgZHVwbGljYXRlIHRyYW5zaXRpb24gZnJvbSAlZCB0byAlZFxuIiwKKwkJICAgIHN0YXRlLT5ubywgdGFyZ2V0LT5ubyk7CisjZW5kaWYKKwkgICAgcmV0dXJuOworCX0KKyAgICB9CisKKyAgICBpZiAoc3RhdGUtPm1heFRyYW5zID09IDApIHsKKwlzdGF0ZS0+bWF4VHJhbnMgPSA4OworCXN0YXRlLT50cmFucyA9ICh4bWxSZWdUcmFucyAqKSB4bWxNYWxsb2Moc3RhdGUtPm1heFRyYW5zICoKKwkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoeG1sUmVnVHJhbnMpKTsKKwlpZiAoc3RhdGUtPnRyYW5zID09IE5VTEwpIHsKKwkgICAgeG1sUmVnZXhwRXJyTWVtb3J5KGN0eHQsICJhZGRpbmcgdHJhbnNpdGlvbiIpOworCSAgICBzdGF0ZS0+bWF4VHJhbnMgPSAwOworCSAgICByZXR1cm47CisJfQorICAgIH0gZWxzZSBpZiAoc3RhdGUtPm5iVHJhbnMgPj0gc3RhdGUtPm1heFRyYW5zKSB7CisJeG1sUmVnVHJhbnMgKnRtcDsKKwlzdGF0ZS0+bWF4VHJhbnMgKj0gMjsKKwl0bXAgPSAoeG1sUmVnVHJhbnMgKikgeG1sUmVhbGxvYyhzdGF0ZS0+dHJhbnMsIHN0YXRlLT5tYXhUcmFucyAqCisJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKHhtbFJlZ1RyYW5zKSk7CisJaWYgKHRtcCA9PSBOVUxMKSB7CisJICAgIHhtbFJlZ2V4cEVyck1lbW9yeShjdHh0LCAiYWRkaW5nIHRyYW5zaXRpb24iKTsKKwkgICAgc3RhdGUtPm1heFRyYW5zIC89IDI7CisJICAgIHJldHVybjsKKwl9CisJc3RhdGUtPnRyYW5zID0gdG1wOworICAgIH0KKyNpZmRlZiBERUJVR19SRUdFWFBfR1JBUEgKKyAgICBwcmludGYoIkFkZCB0cmFucyBmcm9tICVkIHRvICVkICIsIHN0YXRlLT5ubywgdGFyZ2V0LT5ubyk7CisgICAgaWYgKGNvdW50ID09IFJFR0VYUF9BTExfQ09VTlRFUikKKwlwcmludGYoImFsbCB0cmFuc2l0aW9uXG4iKTsKKyAgICBlbHNlIGlmIChjb3VudCA+PSAwKQorCXByaW50ZigiY291bnQgYmFzZWQgJWRcbiIsIGNvdW50KTsKKyAgICBlbHNlIGlmIChjb3VudGVyID49IDApCisJcHJpbnRmKCJjb3VudGVkICVkXG4iLCBjb3VudGVyKTsKKyAgICBlbHNlIGlmIChhdG9tID09IE5VTEwpCisJcHJpbnRmKCJlcHNpbG9uIHRyYW5zaXRpb25cbiIpOworICAgIGVsc2UgaWYgKGF0b20gIT0gTlVMTCkKKyAgICAgICAgeG1sUmVnUHJpbnRBdG9tKHN0ZG91dCwgYXRvbSk7CisjZW5kaWYKKworICAgIHN0YXRlLT50cmFuc1tzdGF0ZS0+bmJUcmFuc10uYXRvbSA9IGF0b207CisgICAgc3RhdGUtPnRyYW5zW3N0YXRlLT5uYlRyYW5zXS50byA9IHRhcmdldC0+bm87CisgICAgc3RhdGUtPnRyYW5zW3N0YXRlLT5uYlRyYW5zXS5jb3VudGVyID0gY291bnRlcjsKKyAgICBzdGF0ZS0+dHJhbnNbc3RhdGUtPm5iVHJhbnNdLmNvdW50ID0gY291bnQ7CisgICAgc3RhdGUtPnRyYW5zW3N0YXRlLT5uYlRyYW5zXS5uZCA9IDA7CisgICAgc3RhdGUtPm5iVHJhbnMrKzsKKyAgICB4bWxSZWdTdGF0ZUFkZFRyYW5zVG8oY3R4dCwgdGFyZ2V0LCBzdGF0ZS0+bm8pOworfQorCitzdGF0aWMgaW50Cit4bWxSZWdTdGF0ZVB1c2goeG1sUmVnUGFyc2VyQ3R4dFB0ciBjdHh0LCB4bWxSZWdTdGF0ZVB0ciBzdGF0ZSkgeworICAgIGlmIChzdGF0ZSA9PSBOVUxMKSByZXR1cm4oLTEpOworICAgIGlmIChjdHh0LT5tYXhTdGF0ZXMgPT0gMCkgeworCWN0eHQtPm1heFN0YXRlcyA9IDQ7CisJY3R4dC0+c3RhdGVzID0gKHhtbFJlZ1N0YXRlUHRyICopIHhtbE1hbGxvYyhjdHh0LT5tYXhTdGF0ZXMgKgorCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZih4bWxSZWdTdGF0ZVB0cikpOworCWlmIChjdHh0LT5zdGF0ZXMgPT0gTlVMTCkgeworCSAgICB4bWxSZWdleHBFcnJNZW1vcnkoY3R4dCwgImFkZGluZyBzdGF0ZSIpOworCSAgICBjdHh0LT5tYXhTdGF0ZXMgPSAwOworCSAgICByZXR1cm4oLTEpOworCX0KKyAgICB9IGVsc2UgaWYgKGN0eHQtPm5iU3RhdGVzID49IGN0eHQtPm1heFN0YXRlcykgeworCXhtbFJlZ1N0YXRlUHRyICp0bXA7CisJY3R4dC0+bWF4U3RhdGVzICo9IDI7CisJdG1wID0gKHhtbFJlZ1N0YXRlUHRyICopIHhtbFJlYWxsb2MoY3R4dC0+c3RhdGVzLCBjdHh0LT5tYXhTdGF0ZXMgKgorCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZih4bWxSZWdTdGF0ZVB0cikpOworCWlmICh0bXAgPT0gTlVMTCkgeworCSAgICB4bWxSZWdleHBFcnJNZW1vcnkoY3R4dCwgImFkZGluZyBzdGF0ZSIpOworCSAgICBjdHh0LT5tYXhTdGF0ZXMgLz0gMjsKKwkgICAgcmV0dXJuKC0xKTsKKwl9CisJY3R4dC0+c3RhdGVzID0gdG1wOworICAgIH0KKyAgICBzdGF0ZS0+bm8gPSBjdHh0LT5uYlN0YXRlczsKKyAgICBjdHh0LT5zdGF0ZXNbY3R4dC0+bmJTdGF0ZXMrK10gPSBzdGF0ZTsKKyAgICByZXR1cm4oMCk7Cit9CisKKy8qKgorICogeG1sRkFHZW5lcmF0ZUFsbFRyYW5zaXRpb246CisgKiBAY3R4dDogIGEgcmVnZXhwIHBhcnNlciBjb250ZXh0CisgKiBAZnJvbTogIHRoZSBmcm9tIHN0YXRlCisgKiBAdG86ICB0aGUgdGFyZ2V0IHN0YXRlIG9yIE5VTEwgZm9yIGJ1aWxkaW5nIGEgbmV3IG9uZQorICogQGxheDoKKyAqCisgKi8KK3N0YXRpYyB2b2lkCit4bWxGQUdlbmVyYXRlQWxsVHJhbnNpdGlvbih4bWxSZWdQYXJzZXJDdHh0UHRyIGN0eHQsCisJCQkgICB4bWxSZWdTdGF0ZVB0ciBmcm9tLCB4bWxSZWdTdGF0ZVB0ciB0bywKKwkJCSAgIGludCBsYXgpIHsKKyAgICBpZiAodG8gPT0gTlVMTCkgeworCXRvID0geG1sUmVnTmV3U3RhdGUoY3R4dCk7CisJeG1sUmVnU3RhdGVQdXNoKGN0eHQsIHRvKTsKKwljdHh0LT5zdGF0ZSA9IHRvOworICAgIH0KKyAgICBpZiAobGF4KQorCXhtbFJlZ1N0YXRlQWRkVHJhbnMoY3R4dCwgZnJvbSwgTlVMTCwgdG8sIC0xLCBSRUdFWFBfQUxMX0xBWF9DT1VOVEVSKTsKKyAgICBlbHNlCisJeG1sUmVnU3RhdGVBZGRUcmFucyhjdHh0LCBmcm9tLCBOVUxMLCB0bywgLTEsIFJFR0VYUF9BTExfQ09VTlRFUik7Cit9CisKKy8qKgorICogeG1sRkFHZW5lcmF0ZUVwc2lsb25UcmFuc2l0aW9uOgorICogQGN0eHQ6ICBhIHJlZ2V4cCBwYXJzZXIgY29udGV4dAorICogQGZyb206ICB0aGUgZnJvbSBzdGF0ZQorICogQHRvOiAgdGhlIHRhcmdldCBzdGF0ZSBvciBOVUxMIGZvciBidWlsZGluZyBhIG5ldyBvbmUKKyAqCisgKi8KK3N0YXRpYyB2b2lkCit4bWxGQUdlbmVyYXRlRXBzaWxvblRyYW5zaXRpb24oeG1sUmVnUGFyc2VyQ3R4dFB0ciBjdHh0LAorCQkJICAgICAgIHhtbFJlZ1N0YXRlUHRyIGZyb20sIHhtbFJlZ1N0YXRlUHRyIHRvKSB7CisgICAgaWYgKHRvID09IE5VTEwpIHsKKwl0byA9IHhtbFJlZ05ld1N0YXRlKGN0eHQpOworCXhtbFJlZ1N0YXRlUHVzaChjdHh0LCB0byk7CisJY3R4dC0+c3RhdGUgPSB0bzsKKyAgICB9CisgICAgeG1sUmVnU3RhdGVBZGRUcmFucyhjdHh0LCBmcm9tLCBOVUxMLCB0bywgLTEsIC0xKTsKK30KKworLyoqCisgKiB4bWxGQUdlbmVyYXRlQ291bnRlZEVwc2lsb25UcmFuc2l0aW9uOgorICogQGN0eHQ6ICBhIHJlZ2V4cCBwYXJzZXIgY29udGV4dAorICogQGZyb206ICB0aGUgZnJvbSBzdGF0ZQorICogQHRvOiAgdGhlIHRhcmdldCBzdGF0ZSBvciBOVUxMIGZvciBidWlsZGluZyBhIG5ldyBvbmUKKyAqIGNvdW50ZXI6ICB0aGUgY291bnRlciBmb3IgdGhhdCB0cmFuc2l0aW9uCisgKgorICovCitzdGF0aWMgdm9pZAoreG1sRkFHZW5lcmF0ZUNvdW50ZWRFcHNpbG9uVHJhbnNpdGlvbih4bWxSZWdQYXJzZXJDdHh0UHRyIGN0eHQsCisJICAgIHhtbFJlZ1N0YXRlUHRyIGZyb20sIHhtbFJlZ1N0YXRlUHRyIHRvLCBpbnQgY291bnRlcikgeworICAgIGlmICh0byA9PSBOVUxMKSB7CisJdG8gPSB4bWxSZWdOZXdTdGF0ZShjdHh0KTsKKwl4bWxSZWdTdGF0ZVB1c2goY3R4dCwgdG8pOworCWN0eHQtPnN0YXRlID0gdG87CisgICAgfQorICAgIHhtbFJlZ1N0YXRlQWRkVHJhbnMoY3R4dCwgZnJvbSwgTlVMTCwgdG8sIGNvdW50ZXIsIC0xKTsKK30KKworLyoqCisgKiB4bWxGQUdlbmVyYXRlQ291bnRlZFRyYW5zaXRpb246CisgKiBAY3R4dDogIGEgcmVnZXhwIHBhcnNlciBjb250ZXh0CisgKiBAZnJvbTogIHRoZSBmcm9tIHN0YXRlCisgKiBAdG86ICB0aGUgdGFyZ2V0IHN0YXRlIG9yIE5VTEwgZm9yIGJ1aWxkaW5nIGEgbmV3IG9uZQorICogY291bnRlcjogIHRoZSBjb3VudGVyIGZvciB0aGF0IHRyYW5zaXRpb24KKyAqCisgKi8KK3N0YXRpYyB2b2lkCit4bWxGQUdlbmVyYXRlQ291bnRlZFRyYW5zaXRpb24oeG1sUmVnUGFyc2VyQ3R4dFB0ciBjdHh0LAorCSAgICB4bWxSZWdTdGF0ZVB0ciBmcm9tLCB4bWxSZWdTdGF0ZVB0ciB0bywgaW50IGNvdW50ZXIpIHsKKyAgICBpZiAodG8gPT0gTlVMTCkgeworCXRvID0geG1sUmVnTmV3U3RhdGUoY3R4dCk7CisJeG1sUmVnU3RhdGVQdXNoKGN0eHQsIHRvKTsKKwljdHh0LT5zdGF0ZSA9IHRvOworICAgIH0KKyAgICB4bWxSZWdTdGF0ZUFkZFRyYW5zKGN0eHQsIGZyb20sIE5VTEwsIHRvLCAtMSwgY291bnRlcik7Cit9CisKKy8qKgorICogeG1sRkFHZW5lcmF0ZVRyYW5zaXRpb25zOgorICogQGN0eHQ6ICBhIHJlZ2V4cCBwYXJzZXIgY29udGV4dAorICogQGZyb206ICB0aGUgZnJvbSBzdGF0ZQorICogQHRvOiAgdGhlIHRhcmdldCBzdGF0ZSBvciBOVUxMIGZvciBidWlsZGluZyBhIG5ldyBvbmUKKyAqIEBhdG9tOiAgdGhlIGF0b20gZ2VuZXJhdGluZyB0aGUgdHJhbnNpdGlvbgorICoKKyAqIFJldHVybnMgMCBpZiBzdWNjZXNzIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yLgorICovCitzdGF0aWMgaW50Cit4bWxGQUdlbmVyYXRlVHJhbnNpdGlvbnMoeG1sUmVnUGFyc2VyQ3R4dFB0ciBjdHh0LCB4bWxSZWdTdGF0ZVB0ciBmcm9tLAorCSAgICAgICAgICAgICAgICAgeG1sUmVnU3RhdGVQdHIgdG8sIHhtbFJlZ0F0b21QdHIgYXRvbSkgeworICAgIHhtbFJlZ1N0YXRlUHRyIGVuZDsKKworICAgIGlmIChhdG9tID09IE5VTEwpIHsKKwlFUlJPUigiZ2VucmF0ZSB0cmFuc2l0aW9uOiBhdG9tID09IE5VTEwiKTsKKwlyZXR1cm4oLTEpOworICAgIH0KKyAgICBpZiAoYXRvbS0+dHlwZSA9PSBYTUxfUkVHRVhQX1NVQlJFRykgeworCS8qCisJICogdGhpcyBpcyBhIHN1YmV4cHJlc3Npb24gaGFuZGxpbmcgb25lIHNob3VsZCBub3QgbmVlZCB0bworCSAqIGNyZWF0ZSBhIG5ldyBub2RlIGV4Y2VwdCBmb3IgWE1MX1JFR0VYUF9RVUFOVF9SQU5HRS4KKwkgKi8KKwlpZiAoeG1sUmVnQXRvbVB1c2goY3R4dCwgYXRvbSkgPCAwKSB7CisJICAgIHJldHVybigtMSk7CisJfQorCWlmICgodG8gIT0gTlVMTCkgJiYgKGF0b20tPnN0b3AgIT0gdG8pICYmCisJICAgIChhdG9tLT5xdWFudCAhPSBYTUxfUkVHRVhQX1FVQU5UX1JBTkdFKSkgeworCSAgICAvKgorCSAgICAgKiBHZW5lcmF0ZSBhbiBlcHNpbG9uIHRyYW5zaXRpb24gdG8gbGluayB0byB0aGUgdGFyZ2V0CisJICAgICAqLworCSAgICB4bWxGQUdlbmVyYXRlRXBzaWxvblRyYW5zaXRpb24oY3R4dCwgYXRvbS0+c3RvcCwgdG8pOworI2lmZGVmIERWCisJfSBlbHNlIGlmICgodG8gPT0gTlVMTCkgJiYgKGF0b20tPnF1YW50ICE9IFhNTF9SRUdFWFBfUVVBTlRfUkFOR0UpICYmCisJCSAgIChhdG9tLT5xdWFudCAhPSBYTUxfUkVHRVhQX1FVQU5UX09OQ0UpKSB7CisJICAgIHRvID0geG1sUmVnTmV3U3RhdGUoY3R4dCk7CisJICAgIHhtbFJlZ1N0YXRlUHVzaChjdHh0LCB0byk7CisJICAgIGN0eHQtPnN0YXRlID0gdG87CisJICAgIHhtbEZBR2VuZXJhdGVFcHNpbG9uVHJhbnNpdGlvbihjdHh0LCBhdG9tLT5zdG9wLCB0byk7CisjZW5kaWYKKwl9CisJc3dpdGNoIChhdG9tLT5xdWFudCkgeworCSAgICBjYXNlIFhNTF9SRUdFWFBfUVVBTlRfT1BUOgorCQlhdG9tLT5xdWFudCA9IFhNTF9SRUdFWFBfUVVBTlRfT05DRTsKKwkJLyoKKwkJICogdHJhbnNpdGlvbiBkb25lIHRvIHRoZSBzdGF0ZSBhZnRlciBlbmQgb2YgYXRvbS4KKwkJICogICAgICAxLiBzZXQgdHJhbnNpdGlvbiBmcm9tIGF0b20gc3RhcnQgdG8gbmV3IHN0YXRlCisJCSAqICAgICAgMi4gc2V0IHRyYW5zaXRpb24gZnJvbSBhdG9tIGVuZCB0byB0aGlzIHN0YXRlLgorCQkgKi8KKyAgICAgICAgICAgICAgICBpZiAodG8gPT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICB4bWxGQUdlbmVyYXRlRXBzaWxvblRyYW5zaXRpb24oY3R4dCwgYXRvbS0+c3RhcnQsIDApOworICAgICAgICAgICAgICAgICAgICB4bWxGQUdlbmVyYXRlRXBzaWxvblRyYW5zaXRpb24oY3R4dCwgYXRvbS0+c3RvcCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN0eHQtPnN0YXRlKTsKKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICB4bWxGQUdlbmVyYXRlRXBzaWxvblRyYW5zaXRpb24oY3R4dCwgYXRvbS0+c3RhcnQsIHRvKTsKKyAgICAgICAgICAgICAgICB9CisJCWJyZWFrOworCSAgICBjYXNlIFhNTF9SRUdFWFBfUVVBTlRfTVVMVDoKKwkJYXRvbS0+cXVhbnQgPSBYTUxfUkVHRVhQX1FVQU5UX09OQ0U7CisJCXhtbEZBR2VuZXJhdGVFcHNpbG9uVHJhbnNpdGlvbihjdHh0LCBhdG9tLT5zdGFydCwgYXRvbS0+c3RvcCk7CisJCXhtbEZBR2VuZXJhdGVFcHNpbG9uVHJhbnNpdGlvbihjdHh0LCBhdG9tLT5zdG9wLCBhdG9tLT5zdGFydCk7CisJCWJyZWFrOworCSAgICBjYXNlIFhNTF9SRUdFWFBfUVVBTlRfUExVUzoKKwkJYXRvbS0+cXVhbnQgPSBYTUxfUkVHRVhQX1FVQU5UX09OQ0U7CisJCXhtbEZBR2VuZXJhdGVFcHNpbG9uVHJhbnNpdGlvbihjdHh0LCBhdG9tLT5zdG9wLCBhdG9tLT5zdGFydCk7CisJCWJyZWFrOworCSAgICBjYXNlIFhNTF9SRUdFWFBfUVVBTlRfUkFOR0U6IHsKKwkJaW50IGNvdW50ZXI7CisJCXhtbFJlZ1N0YXRlUHRyIGludGVyLCBuZXdzdGF0ZTsKKworCQkvKgorCQkgKiBjcmVhdGUgdGhlIGZpbmFsIHN0YXRlIG5vdyBpZiBuZWVkZWQKKwkJICovCisJCWlmICh0byAhPSBOVUxMKSB7CisJCSAgICBuZXdzdGF0ZSA9IHRvOworCQl9IGVsc2UgeworCQkgICAgbmV3c3RhdGUgPSB4bWxSZWdOZXdTdGF0ZShjdHh0KTsKKwkJICAgIHhtbFJlZ1N0YXRlUHVzaChjdHh0LCBuZXdzdGF0ZSk7CisJCX0KKworCQkvKgorCQkgKiBUaGUgcHJpbmNpcGxlIGhlcmUgaXMgdG8gdXNlIGNvdW50ZWQgdHJhbnNpdGlvbgorCQkgKiB0byBhdm9pZCBleHBsb3Npb24gaW4gdGhlIG51bWJlciBvZiBzdGF0ZXMgaW4gdGhlCisJCSAqIGdyYXBoLiBUaGlzIGlzIGNsZWFybHkgbW9yZSBjb21wbGV4IGJ1dCBzaG91bGQgbm90CisJCSAqIGJlIGV4cGxvaXRhYmxlIGF0IHJ1bnRpbWUuCisJCSAqLworCQlpZiAoKGF0b20tPm1pbiA9PSAwKSAmJiAoYXRvbS0+c3RhcnQwID09IE5VTEwpKSB7CisJCSAgICB4bWxSZWdBdG9tUHRyIGNvcHk7CisJCSAgICAvKgorCQkgICAgICogZHVwbGljYXRlIGEgdHJhbnNpdGlvbiBiYXNlZCBvbiBhdG9tIHRvIGNvdW50IG5leHQKKwkJICAgICAqIG9jY3VyZW5jZXMgYWZ0ZXIgMS4gV2UgY2Fubm90IGxvb3AgdG8gYXRvbS0+c3RhcnQKKwkJICAgICAqIGRpcmVjdGx5IGJlY2F1c2Ugd2UgbmVlZCBhbiBlcHNpbG9uIHRyYW5zaXRpb24gdG8KKwkJICAgICAqIG5ld3N0YXRlLgorCQkgICAgICovCisJCSAgICAgLyogPz8/PyBGb3Igc29tZSByZWFzb24gaXQgc2VlbXMgd2UgbmV2ZXIgcmVhY2ggdGhhdAorCQkgICAgICAgIGNhc2UsIEkgc3VwcG9zZSB0aGlzIGdvdCBvcHRpbWl6ZWQgb3V0IGJlZm9yZSB3aGVuCisJCQlidWlsZGluZyB0aGUgYXV0b21hdGEgKi8KKwkJICAgIGNvcHkgPSB4bWxSZWdDb3B5QXRvbShjdHh0LCBhdG9tKTsKKwkJICAgIGlmIChjb3B5ID09IE5VTEwpCisJCSAgICAgICAgcmV0dXJuKC0xKTsKKwkJICAgIGNvcHktPnF1YW50ID0gWE1MX1JFR0VYUF9RVUFOVF9PTkNFOworCQkgICAgY29weS0+bWluID0gMDsKKwkJICAgIGNvcHktPm1heCA9IDA7CisKKwkJICAgIGlmICh4bWxGQUdlbmVyYXRlVHJhbnNpdGlvbnMoY3R4dCwgYXRvbS0+c3RhcnQsIE5VTEwsIGNvcHkpCisJCSAgICAgICAgPCAwKQorCQkJcmV0dXJuKC0xKTsKKwkJICAgIGludGVyID0gY3R4dC0+c3RhdGU7CisJCSAgICBjb3VudGVyID0geG1sUmVnR2V0Q291bnRlcihjdHh0KTsKKwkJICAgIGN0eHQtPmNvdW50ZXJzW2NvdW50ZXJdLm1pbiA9IGF0b20tPm1pbiAtIDE7CisJCSAgICBjdHh0LT5jb3VudGVyc1tjb3VudGVyXS5tYXggPSBhdG9tLT5tYXggLSAxOworCQkgICAgLyogY291bnQgdGhlIG51bWJlciBvZiB0aW1lcyB3ZSBzZWUgaXQgYWdhaW4gKi8KKwkJICAgIHhtbEZBR2VuZXJhdGVDb3VudGVkRXBzaWxvblRyYW5zaXRpb24oY3R4dCwgaW50ZXIsCisJCQkJCQkgICBhdG9tLT5zdG9wLCBjb3VudGVyKTsKKwkJICAgIC8qIGFsbG93IGEgd2F5IG91dCBiYXNlZCBvbiB0aGUgY291bnQgKi8KKwkJICAgIHhtbEZBR2VuZXJhdGVDb3VudGVkVHJhbnNpdGlvbihjdHh0LCBpbnRlciwKKwkJCSAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld3N0YXRlLCBjb3VudGVyKTsKKwkJICAgIC8qIGFuZCBhbHNvIGFsbG93IGEgZGlyZWN0IGV4aXQgZm9yIDAgKi8KKwkJICAgIHhtbEZBR2VuZXJhdGVFcHNpbG9uVHJhbnNpdGlvbihjdHh0LCBhdG9tLT5zdGFydCwKKwkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdzdGF0ZSk7CisJCX0gZWxzZSB7CisJCSAgICAvKgorCQkgICAgICogZWl0aGVyIHdlIG5lZWQgdGhlIGF0b20gYXQgbGVhc3Qgb25jZSBvciB0aGVyZQorCQkgICAgICogaXMgYW4gYXRvbS0+c3RhcnQwIGFsbG93aW5nIHRvIGVhc2lsbHkgcGx1ZyB0aGUKKwkJICAgICAqIGVwc2lsb24gdHJhbnNpdGlvbi4KKwkJICAgICAqLworCQkgICAgY291bnRlciA9IHhtbFJlZ0dldENvdW50ZXIoY3R4dCk7CisJCSAgICBjdHh0LT5jb3VudGVyc1tjb3VudGVyXS5taW4gPSBhdG9tLT5taW4gLSAxOworCQkgICAgY3R4dC0+Y291bnRlcnNbY291bnRlcl0ubWF4ID0gYXRvbS0+bWF4IC0gMTsKKwkJICAgIC8qIGNvdW50IHRoZSBudW1iZXIgb2YgdGltZXMgd2Ugc2VlIGl0IGFnYWluICovCisJCSAgICB4bWxGQUdlbmVyYXRlQ291bnRlZEVwc2lsb25UcmFuc2l0aW9uKGN0eHQsIGF0b20tPnN0b3AsCisJCQkJCQkgICBhdG9tLT5zdGFydCwgY291bnRlcik7CisJCSAgICAvKiBhbGxvdyBhIHdheSBvdXQgYmFzZWQgb24gdGhlIGNvdW50ICovCisJCSAgICB4bWxGQUdlbmVyYXRlQ291bnRlZFRyYW5zaXRpb24oY3R4dCwgYXRvbS0+c3RvcCwKKwkJCSAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld3N0YXRlLCBjb3VudGVyKTsKKwkJICAgIC8qIGFuZCBpZiBuZWVkZWQgYWxsb3cgYSBkaXJlY3QgZXhpdCBmb3IgMCAqLworCQkgICAgaWYgKGF0b20tPm1pbiA9PSAwKQorCQkJeG1sRkFHZW5lcmF0ZUVwc2lsb25UcmFuc2l0aW9uKGN0eHQsIGF0b20tPnN0YXJ0MCwKKwkJCQkJCSAgICAgICBuZXdzdGF0ZSk7CisKKwkJfQorCQlhdG9tLT5taW4gPSAwOworCQlhdG9tLT5tYXggPSAwOworCQlhdG9tLT5xdWFudCA9IFhNTF9SRUdFWFBfUVVBTlRfT05DRTsKKwkJY3R4dC0+c3RhdGUgPSBuZXdzdGF0ZTsKKwkgICAgfQorCSAgICBkZWZhdWx0OgorCQlicmVhazsKKwl9CisJcmV0dXJuKDApOworICAgIH0KKyAgICBpZiAoKGF0b20tPm1pbiA9PSAwKSAmJiAoYXRvbS0+bWF4ID09IDApICYmCisgICAgICAgICAgICAgICAoYXRvbS0+cXVhbnQgPT0gWE1MX1JFR0VYUF9RVUFOVF9SQU5HRSkpIHsKKyAgICAgICAgLyoKKwkgKiB3ZSBjYW4gZGlzY2FyZCB0aGUgYXRvbSBhbmQgZ2VuZXJhdGUgYW4gZXBzaWxvbiB0cmFuc2l0aW9uIGluc3RlYWQKKwkgKi8KKwlpZiAodG8gPT0gTlVMTCkgeworCSAgICB0byA9IHhtbFJlZ05ld1N0YXRlKGN0eHQpOworCSAgICBpZiAodG8gIT0gTlVMTCkKKwkJeG1sUmVnU3RhdGVQdXNoKGN0eHQsIHRvKTsKKwkgICAgZWxzZSB7CisJCXJldHVybigtMSk7CisJICAgIH0KKwl9CisJeG1sRkFHZW5lcmF0ZUVwc2lsb25UcmFuc2l0aW9uKGN0eHQsIGZyb20sIHRvKTsKKwljdHh0LT5zdGF0ZSA9IHRvOworCXhtbFJlZ0ZyZWVBdG9tKGF0b20pOworCXJldHVybigwKTsKKyAgICB9CisgICAgaWYgKHRvID09IE5VTEwpIHsKKwl0byA9IHhtbFJlZ05ld1N0YXRlKGN0eHQpOworCWlmICh0byAhPSBOVUxMKQorCSAgICB4bWxSZWdTdGF0ZVB1c2goY3R4dCwgdG8pOworCWVsc2UgeworCSAgICByZXR1cm4oLTEpOworCX0KKyAgICB9CisgICAgZW5kID0gdG87CisgICAgaWYgKChhdG9tLT5xdWFudCA9PSBYTUxfUkVHRVhQX1FVQU5UX01VTFQpIHx8CisgICAgICAgIChhdG9tLT5xdWFudCA9PSBYTUxfUkVHRVhQX1FVQU5UX1BMVVMpKSB7CisJLyoKKwkgKiBEbyBub3QgcG9sbHV0ZSB0aGUgdGFyZ2V0IHN0YXRlIGJ5IGFkZGluZyB0cmFuc2l0aW9ucyBmcm9tCisJICogaXQgYXMgaXQgaXMgbGlrZWx5IHRvIGJlIHRoZSBzaGFyZWQgdGFyZ2V0IG9mIG11bHRpcGxlIGJyYW5jaGVzLgorCSAqIFNvIGlzb2xhdGUgd2l0aCBhbiBlcHNpbG9uIHRyYW5zaXRpb24uCisJICovCisgICAgICAgIHhtbFJlZ1N0YXRlUHRyIHRtcDsKKworCXRtcCA9IHhtbFJlZ05ld1N0YXRlKGN0eHQpOworCWlmICh0bXAgIT0gTlVMTCkKKwkgICAgeG1sUmVnU3RhdGVQdXNoKGN0eHQsIHRtcCk7CisJZWxzZSB7CisJICAgIHJldHVybigtMSk7CisJfQorCXhtbEZBR2VuZXJhdGVFcHNpbG9uVHJhbnNpdGlvbihjdHh0LCB0bXAsIHRvKTsKKwl0byA9IHRtcDsKKyAgICB9CisgICAgaWYgKHhtbFJlZ0F0b21QdXNoKGN0eHQsIGF0b20pIDwgMCkgeworCXJldHVybigtMSk7CisgICAgfQorICAgIHhtbFJlZ1N0YXRlQWRkVHJhbnMoY3R4dCwgZnJvbSwgYXRvbSwgdG8sIC0xLCAtMSk7CisgICAgY3R4dC0+c3RhdGUgPSBlbmQ7CisgICAgc3dpdGNoIChhdG9tLT5xdWFudCkgeworCWNhc2UgWE1MX1JFR0VYUF9RVUFOVF9PUFQ6CisJICAgIGF0b20tPnF1YW50ID0gWE1MX1JFR0VYUF9RVUFOVF9PTkNFOworCSAgICB4bWxGQUdlbmVyYXRlRXBzaWxvblRyYW5zaXRpb24oY3R4dCwgZnJvbSwgdG8pOworCSAgICBicmVhazsKKwljYXNlIFhNTF9SRUdFWFBfUVVBTlRfTVVMVDoKKwkgICAgYXRvbS0+cXVhbnQgPSBYTUxfUkVHRVhQX1FVQU5UX09OQ0U7CisJICAgIHhtbEZBR2VuZXJhdGVFcHNpbG9uVHJhbnNpdGlvbihjdHh0LCBmcm9tLCB0byk7CisJICAgIHhtbFJlZ1N0YXRlQWRkVHJhbnMoY3R4dCwgdG8sIGF0b20sIHRvLCAtMSwgLTEpOworCSAgICBicmVhazsKKwljYXNlIFhNTF9SRUdFWFBfUVVBTlRfUExVUzoKKwkgICAgYXRvbS0+cXVhbnQgPSBYTUxfUkVHRVhQX1FVQU5UX09OQ0U7CisJICAgIHhtbFJlZ1N0YXRlQWRkVHJhbnMoY3R4dCwgdG8sIGF0b20sIHRvLCAtMSwgLTEpOworCSAgICBicmVhazsKKwljYXNlIFhNTF9SRUdFWFBfUVVBTlRfUkFOR0U6CisjaWYgRFZfdGVzdAorCSAgICBpZiAoYXRvbS0+bWluID09IDApIHsKKwkJeG1sRkFHZW5lcmF0ZUVwc2lsb25UcmFuc2l0aW9uKGN0eHQsIGZyb20sIHRvKTsKKwkgICAgfQorI2VuZGlmCisJICAgIGJyZWFrOworCWRlZmF1bHQ6CisJICAgIGJyZWFrOworICAgIH0KKyAgICByZXR1cm4oMCk7Cit9CisKKy8qKgorICogeG1sRkFSZWR1Y2VFcHNpbG9uVHJhbnNpdGlvbnM6CisgKiBAY3R4dDogIGEgcmVnZXhwIHBhcnNlciBjb250ZXh0CisgKiBAZnJvbW5yOiAgdGhlIGZyb20gc3RhdGUKKyAqIEB0b25yOiAgdGhlIHRvIHN0YXRlCisgKiBAY291bnRlcjogIHNob3VsZCB0aGF0IHRyYW5zaXRpb24gYmUgYXNzb2NpYXRlZCB0byBhIGNvdW50ZWQKKyAqCisgKi8KK3N0YXRpYyB2b2lkCit4bWxGQVJlZHVjZUVwc2lsb25UcmFuc2l0aW9ucyh4bWxSZWdQYXJzZXJDdHh0UHRyIGN0eHQsIGludCBmcm9tbnIsCisJICAgICAgICAgICAgICAgICAgICAgIGludCB0b25yLCBpbnQgY291bnRlcikgeworICAgIGludCB0cmFuc25yOworICAgIHhtbFJlZ1N0YXRlUHRyIGZyb207CisgICAgeG1sUmVnU3RhdGVQdHIgdG87CisKKyNpZmRlZiBERUJVR19SRUdFWFBfR1JBUEgKKyAgICBwcmludGYoInhtbEZBUmVkdWNlRXBzaWxvblRyYW5zaXRpb25zKCVkLCAlZClcbiIsIGZyb21uciwgdG9ucik7CisjZW5kaWYKKyAgICBmcm9tID0gY3R4dC0+c3RhdGVzW2Zyb21ucl07CisgICAgaWYgKGZyb20gPT0gTlVMTCkKKwlyZXR1cm47CisgICAgdG8gPSBjdHh0LT5zdGF0ZXNbdG9ucl07CisgICAgaWYgKHRvID09IE5VTEwpCisJcmV0dXJuOworICAgIGlmICgodG8tPm1hcmsgPT0gWE1MX1JFR0VYUF9NQVJLX1NUQVJUKSB8fAorCSh0by0+bWFyayA9PSBYTUxfUkVHRVhQX01BUktfVklTSVRFRCkpCisJcmV0dXJuOworCisgICAgdG8tPm1hcmsgPSBYTUxfUkVHRVhQX01BUktfVklTSVRFRDsKKyAgICBpZiAodG8tPnR5cGUgPT0gWE1MX1JFR0VYUF9GSU5BTF9TVEFURSkgeworI2lmZGVmIERFQlVHX1JFR0VYUF9HUkFQSAorCXByaW50ZigiU3RhdGUgJWQgaXMgZmluYWwsIHNvICVkIGJlY29tZXMgZmluYWxcbiIsIHRvbnIsIGZyb21ucik7CisjZW5kaWYKKwlmcm9tLT50eXBlID0gWE1MX1JFR0VYUF9GSU5BTF9TVEFURTsKKyAgICB9CisgICAgZm9yICh0cmFuc25yID0gMDt0cmFuc25yIDwgdG8tPm5iVHJhbnM7dHJhbnNucisrKSB7CisgICAgICAgIGlmICh0by0+dHJhbnNbdHJhbnNucl0udG8gPCAwKQorCSAgICBjb250aW51ZTsKKwlpZiAodG8tPnRyYW5zW3RyYW5zbnJdLmF0b20gPT0gTlVMTCkgeworCSAgICAvKgorCSAgICAgKiBEb24ndCByZW1vdmUgY291bnRlZCB0cmFuc2l0aW9ucworCSAgICAgKiBEb24ndCBsb29wIGVpdGhlcgorCSAgICAgKi8KKwkgICAgaWYgKHRvLT50cmFuc1t0cmFuc25yXS50byAhPSBmcm9tbnIpIHsKKwkJaWYgKHRvLT50cmFuc1t0cmFuc25yXS5jb3VudCA+PSAwKSB7CisJCSAgICBpbnQgbmV3dG8gPSB0by0+dHJhbnNbdHJhbnNucl0udG87CisKKwkJICAgIHhtbFJlZ1N0YXRlQWRkVHJhbnMoY3R4dCwgZnJvbSwgTlVMTCwKKwkJCQkJY3R4dC0+c3RhdGVzW25ld3RvXSwKKwkJCQkJLTEsIHRvLT50cmFuc1t0cmFuc25yXS5jb3VudCk7CisJCX0gZWxzZSB7CisjaWZkZWYgREVCVUdfUkVHRVhQX0dSQVBICisJCSAgICBwcmludGYoIkZvdW5kIGVwc2lsb24gdHJhbnMgJWQgZnJvbSAlZCB0byAlZFxuIiwKKwkJCSAgIHRyYW5zbnIsIHRvbnIsIHRvLT50cmFuc1t0cmFuc25yXS50byk7CisjZW5kaWYKKwkJICAgIGlmICh0by0+dHJhbnNbdHJhbnNucl0uY291bnRlciA+PSAwKSB7CisJCQl4bWxGQVJlZHVjZUVwc2lsb25UcmFuc2l0aW9ucyhjdHh0LCBmcm9tbnIsCisJCQkJCSAgICAgIHRvLT50cmFuc1t0cmFuc25yXS50bywKKwkJCQkJICAgICAgdG8tPnRyYW5zW3RyYW5zbnJdLmNvdW50ZXIpOworCQkgICAgfSBlbHNlIHsKKwkJCXhtbEZBUmVkdWNlRXBzaWxvblRyYW5zaXRpb25zKGN0eHQsIGZyb21uciwKKwkJCQkJICAgICAgdG8tPnRyYW5zW3RyYW5zbnJdLnRvLAorCQkJCQkgICAgICBjb3VudGVyKTsKKwkJICAgIH0KKwkJfQorCSAgICB9CisJfSBlbHNlIHsKKwkgICAgaW50IG5ld3RvID0gdG8tPnRyYW5zW3RyYW5zbnJdLnRvOworCisJICAgIGlmICh0by0+dHJhbnNbdHJhbnNucl0uY291bnRlciA+PSAwKSB7CisJCXhtbFJlZ1N0YXRlQWRkVHJhbnMoY3R4dCwgZnJvbSwgdG8tPnRyYW5zW3RyYW5zbnJdLmF0b20sCisJCQkJICAgIGN0eHQtPnN0YXRlc1tuZXd0b10sCisJCQkJICAgIHRvLT50cmFuc1t0cmFuc25yXS5jb3VudGVyLCAtMSk7CisJICAgIH0gZWxzZSB7CisJCXhtbFJlZ1N0YXRlQWRkVHJhbnMoY3R4dCwgZnJvbSwgdG8tPnRyYW5zW3RyYW5zbnJdLmF0b20sCisJCQkJICAgIGN0eHQtPnN0YXRlc1tuZXd0b10sIGNvdW50ZXIsIC0xKTsKKwkgICAgfQorCX0KKyAgICB9CisgICAgdG8tPm1hcmsgPSBYTUxfUkVHRVhQX01BUktfTk9STUFMOworfQorCisvKioKKyAqIHhtbEZBRWxpbWluYXRlU2ltcGxlRXBzaWxvblRyYW5zaXRpb25zOgorICogQGN0eHQ6ICBhIHJlZ2V4cCBwYXJzZXIgY29udGV4dAorICoKKyAqIEVsaW1pbmF0aW5nIGdlbmVyYWwgZXBzaWxvbiB0cmFuc2l0aW9ucyBjYW4gZ2V0IGNvc3RseSBpbiB0aGUgZ2VuZXJhbAorICogYWxnb3JpdGhtIGR1ZSB0byB0aGUgbGFyZ2UgYW1vdW50IG9mIGdlbmVyYXRlZCBuZXcgdHJhbnNpdGlvbnMgYW5kCisgKiBhc3NvY2lhdGVkIGNvbXBhcmlzb25zLiBIb3dldmVyIGZvciBzaW1wbGUgZXBzaWxvbiB0cmFuc2l0aW9uIHVzZWQganVzdAorICogdG8gc2VwYXJhdGUgYnVpbGRpbmcgYmxvY2tzIHdoZW4gZ2VuZXJhdGluZyB0aGUgYXV0b21hdGEgdGhpcyBjYW4gYmUKKyAqIHJlZHVjZWQgdG8gc3RhdGUgZWxpbWluYXRpb246CisgKiAgICAtIGlmIHRoZXJlIGV4aXN0cyBhbiBlcHNpbG9uIGZyb20gWCB0byBZCisgKiAgICAtIGlmIHRoZXJlIGlzIG5vIG90aGVyIHRyYW5zaXRpb24gZnJvbSBYCisgKiB0aGVuIFggYW5kIFkgYXJlIHNlbWFudGljYWxseSBlcXVpdmFsZW50IGFuZCBYIGNhbiBiZSBlbGltaW5hdGVkCisgKiBJZiBYIGlzIHRoZSBzdGFydCBzdGF0ZSB0aGVuIG1ha2UgWSB0aGUgc3RhcnQgc3RhdGUsIGVsc2UgcmVwbGFjZSB0aGUKKyAqIHRhcmdldCBvZiBhbGwgdHJhbnNpdGlvbnMgdG8gWCBieSB0cmFuc2l0aW9ucyB0byBZLgorICovCitzdGF0aWMgdm9pZAoreG1sRkFFbGltaW5hdGVTaW1wbGVFcHNpbG9uVHJhbnNpdGlvbnMoeG1sUmVnUGFyc2VyQ3R4dFB0ciBjdHh0KSB7CisgICAgaW50IHN0YXRlbnIsIGksIGosIG5ld3RvOworICAgIHhtbFJlZ1N0YXRlUHRyIHN0YXRlLCB0bXA7CisKKyAgICBmb3IgKHN0YXRlbnIgPSAwO3N0YXRlbnIgPCBjdHh0LT5uYlN0YXRlcztzdGF0ZW5yKyspIHsKKwlzdGF0ZSA9IGN0eHQtPnN0YXRlc1tzdGF0ZW5yXTsKKwlpZiAoc3RhdGUgPT0gTlVMTCkKKwkgICAgY29udGludWU7CisJaWYgKHN0YXRlLT5uYlRyYW5zICE9IDEpCisJICAgIGNvbnRpbnVlOworCWlmIChzdGF0ZS0+dHlwZSA9PSBYTUxfUkVHRVhQX1VOUkVBQ0hfU1RBVEUpCisJICAgIGNvbnRpbnVlOworCS8qIGlzIHRoZSBvbmx5IHRyYW5zaXRpb24gb3V0IGEgYmFzaWMgdHJhbnNpdGlvbiAqLworCWlmICgoc3RhdGUtPnRyYW5zWzBdLmF0b20gPT0gTlVMTCkgJiYKKwkgICAgKHN0YXRlLT50cmFuc1swXS50byA+PSAwKSAmJgorCSAgICAoc3RhdGUtPnRyYW5zWzBdLnRvICE9IHN0YXRlbnIpICYmCisJICAgIChzdGF0ZS0+dHJhbnNbMF0uY291bnRlciA8IDApICYmCisJICAgIChzdGF0ZS0+dHJhbnNbMF0uY291bnQgPCAwKSkgeworCSAgICBuZXd0byA9IHN0YXRlLT50cmFuc1swXS50bzsKKworICAgICAgICAgICAgaWYgKHN0YXRlLT50eXBlID09IFhNTF9SRUdFWFBfU1RBUlRfU1RBVEUpIHsKKyNpZmRlZiBERUJVR19SRUdFWFBfR1JBUEgKKwkJcHJpbnRmKCJGb3VuZCBzaW1wbGUgZXBzaWxvbiB0cmFucyBmcm9tIHN0YXJ0ICVkIHRvICVkXG4iLAorCQkgICAgICAgc3RhdGVuciwgbmV3dG8pOworI2VuZGlmCisgICAgICAgICAgICB9IGVsc2UgeworI2lmZGVmIERFQlVHX1JFR0VYUF9HUkFQSAorCQlwcmludGYoIkZvdW5kIHNpbXBsZSBlcHNpbG9uIHRyYW5zIGZyb20gJWQgdG8gJWRcbiIsCisJCSAgICAgICBzdGF0ZW5yLCBuZXd0byk7CisjZW5kaWYKKwkgICAgICAgIGZvciAoaSA9IDA7aSA8IHN0YXRlLT5uYlRyYW5zVG87aSsrKSB7CisJCSAgICB0bXAgPSBjdHh0LT5zdGF0ZXNbc3RhdGUtPnRyYW5zVG9baV1dOworCQkgICAgZm9yIChqID0gMDtqIDwgdG1wLT5uYlRyYW5zO2orKykgeworCQkJaWYgKHRtcC0+dHJhbnNbal0udG8gPT0gc3RhdGVucikgeworI2lmZGVmIERFQlVHX1JFR0VYUF9HUkFQSAorCQkJICAgIHByaW50ZigiQ2hhbmdlZCB0cmFuc2l0aW9uICVkIG9uICVkIHRvIGdvIHRvICVkXG4iLAorCQkJCSAgIGosIHRtcC0+bm8sIG5ld3RvKTsKKyNlbmRpZgorCQkJICAgIHRtcC0+dHJhbnNbal0udG8gPSAtMTsKKwkJCSAgICB4bWxSZWdTdGF0ZUFkZFRyYW5zKGN0eHQsIHRtcCwgdG1wLT50cmFuc1tqXS5hdG9tLAorCQkJCQkJY3R4dC0+c3RhdGVzW25ld3RvXSwKKwkJCQkJICAgICAgICB0bXAtPnRyYW5zW2pdLmNvdW50ZXIsCisJCQkJCQl0bXAtPnRyYW5zW2pdLmNvdW50KTsKKwkJCX0KKwkJICAgIH0KKwkJfQorCQlpZiAoc3RhdGUtPnR5cGUgPT0gWE1MX1JFR0VYUF9GSU5BTF9TVEFURSkKKwkJICAgIGN0eHQtPnN0YXRlc1tuZXd0b10tPnR5cGUgPSBYTUxfUkVHRVhQX0ZJTkFMX1NUQVRFOworCQkvKiBlbGltaW5hdGUgdGhlIHRyYW5zaXRpb24gY29tcGxldGVseSAqLworCQlzdGF0ZS0+bmJUcmFucyA9IDA7CisKKyAgICAgICAgICAgICAgICBzdGF0ZS0+dHlwZSA9IFhNTF9SRUdFWFBfVU5SRUFDSF9TVEFURTsKKworCSAgICB9CisKKwl9CisgICAgfQorfQorLyoqCisgKiB4bWxGQUVsaW1pbmF0ZUVwc2lsb25UcmFuc2l0aW9uczoKKyAqIEBjdHh0OiAgYSByZWdleHAgcGFyc2VyIGNvbnRleHQKKyAqCisgKi8KK3N0YXRpYyB2b2lkCit4bWxGQUVsaW1pbmF0ZUVwc2lsb25UcmFuc2l0aW9ucyh4bWxSZWdQYXJzZXJDdHh0UHRyIGN0eHQpIHsKKyAgICBpbnQgc3RhdGVuciwgdHJhbnNucjsKKyAgICB4bWxSZWdTdGF0ZVB0ciBzdGF0ZTsKKyAgICBpbnQgaGFzX2Vwc2lsb247CisKKyAgICBpZiAoY3R4dC0+c3RhdGVzID09IE5VTEwpIHJldHVybjsKKworICAgIC8qCisgICAgICogRWxpbWluYXRlIHNpbXBsZSBlcHNpbG9uIHRyYW5zaXRpb24gYW5kIHRoZSBhc3NvY2lhdGVkIHVucmVhY2hhYmxlCisgICAgICogc3RhdGVzLgorICAgICAqLworICAgIHhtbEZBRWxpbWluYXRlU2ltcGxlRXBzaWxvblRyYW5zaXRpb25zKGN0eHQpOworICAgIGZvciAoc3RhdGVuciA9IDA7c3RhdGVuciA8IGN0eHQtPm5iU3RhdGVzO3N0YXRlbnIrKykgeworCXN0YXRlID0gY3R4dC0+c3RhdGVzW3N0YXRlbnJdOworCWlmICgoc3RhdGUgIT0gTlVMTCkgJiYgKHN0YXRlLT50eXBlID09IFhNTF9SRUdFWFBfVU5SRUFDSF9TVEFURSkpIHsKKyNpZmRlZiBERUJVR19SRUdFWFBfR1JBUEgKKwkgICAgcHJpbnRmKCJSZW1vdmVkIHVucmVhY2hhYmxlIHN0YXRlICVkXG4iLCBzdGF0ZW5yKTsKKyNlbmRpZgorCSAgICB4bWxSZWdGcmVlU3RhdGUoc3RhdGUpOworCSAgICBjdHh0LT5zdGF0ZXNbc3RhdGVucl0gPSBOVUxMOworCX0KKyAgICB9CisKKyAgICBoYXNfZXBzaWxvbiA9IDA7CisKKyAgICAvKgorICAgICAqIEJ1aWxkIHRoZSBjb21wbGV0ZWQgdHJhbnNpdGlvbnMgYnlwYXNzaW5nIHRoZSBlcHNpbG9ucworICAgICAqIFVzZSBhIG1hcmtpbmcgYWxnb3JpdGhtIHRvIGF2b2lkIGxvb3BzCisgICAgICogTWFyayBzaW5rIHN0YXRlcyB0b28uCisgICAgICogUHJvY2VzcyBmcm9tIHRoZSBsYXRlc3RzIHN0YXRlcyBiYWNrd2FyZCB0byB0aGUgc3RhcnQgd2hlbgorICAgICAqIHRoZXJlIGlzIGxvbmcgY2FzY2FkaW5nIGVwc2lsb24gY2hhaW5zIHRoaXMgbWluaW1pemUgdGhlCisgICAgICogcmVjdXJzaW9ucyBhbmQgdHJhbnNpdGlvbiBjb21wYXJlcyB3aGVuIGFkZGluZyB0aGUgbmV3IG9uZXMKKyAgICAgKi8KKyAgICBmb3IgKHN0YXRlbnIgPSBjdHh0LT5uYlN0YXRlcyAtIDE7c3RhdGVuciA+PSAwO3N0YXRlbnItLSkgeworCXN0YXRlID0gY3R4dC0+c3RhdGVzW3N0YXRlbnJdOworCWlmIChzdGF0ZSA9PSBOVUxMKQorCSAgICBjb250aW51ZTsKKwlpZiAoKHN0YXRlLT5uYlRyYW5zID09IDApICYmCisJICAgIChzdGF0ZS0+dHlwZSAhPSBYTUxfUkVHRVhQX0ZJTkFMX1NUQVRFKSkgeworCSAgICBzdGF0ZS0+dHlwZSA9IFhNTF9SRUdFWFBfU0lOS19TVEFURTsKKwl9CisJZm9yICh0cmFuc25yID0gMDt0cmFuc25yIDwgc3RhdGUtPm5iVHJhbnM7dHJhbnNucisrKSB7CisJICAgIGlmICgoc3RhdGUtPnRyYW5zW3RyYW5zbnJdLmF0b20gPT0gTlVMTCkgJiYKKwkJKHN0YXRlLT50cmFuc1t0cmFuc25yXS50byA+PSAwKSkgeworCQlpZiAoc3RhdGUtPnRyYW5zW3RyYW5zbnJdLnRvID09IHN0YXRlbnIpIHsKKwkJICAgIHN0YXRlLT50cmFuc1t0cmFuc25yXS50byA9IC0xOworI2lmZGVmIERFQlVHX1JFR0VYUF9HUkFQSAorCQkgICAgcHJpbnRmKCJSZW1vdmVkIGxvb3BiYWNrIGVwc2lsb24gdHJhbnMgJWQgb24gJWRcbiIsCisJCQkgICB0cmFuc25yLCBzdGF0ZW5yKTsKKyNlbmRpZgorCQl9IGVsc2UgaWYgKHN0YXRlLT50cmFuc1t0cmFuc25yXS5jb3VudCA8IDApIHsKKwkJICAgIGludCBuZXd0byA9IHN0YXRlLT50cmFuc1t0cmFuc25yXS50bzsKKworI2lmZGVmIERFQlVHX1JFR0VYUF9HUkFQSAorCQkgICAgcHJpbnRmKCJGb3VuZCBlcHNpbG9uIHRyYW5zICVkIGZyb20gJWQgdG8gJWRcbiIsCisJCQkgICB0cmFuc25yLCBzdGF0ZW5yLCBuZXd0byk7CisjZW5kaWYKKwkJICAgIGhhc19lcHNpbG9uID0gMTsKKwkJICAgIHN0YXRlLT50cmFuc1t0cmFuc25yXS50byA9IC0yOworCQkgICAgc3RhdGUtPm1hcmsgPSBYTUxfUkVHRVhQX01BUktfU1RBUlQ7CisJCSAgICB4bWxGQVJlZHVjZUVwc2lsb25UcmFuc2l0aW9ucyhjdHh0LCBzdGF0ZW5yLAorCQkJCSAgICAgIG5ld3RvLCBzdGF0ZS0+dHJhbnNbdHJhbnNucl0uY291bnRlcik7CisJCSAgICBzdGF0ZS0+bWFyayA9IFhNTF9SRUdFWFBfTUFSS19OT1JNQUw7CisjaWZkZWYgREVCVUdfUkVHRVhQX0dSQVBICisJCX0gZWxzZSB7CisJCSAgICBwcmludGYoIkZvdW5kIGNvdW50ZWQgdHJhbnNpdGlvbiAlZCBvbiAlZFxuIiwKKwkJCSAgIHRyYW5zbnIsIHN0YXRlbnIpOworI2VuZGlmCisJICAgICAgICB9CisJICAgIH0KKwl9CisgICAgfQorICAgIC8qCisgICAgICogRWxpbWluYXRlIHRoZSBlcHNpbG9uIHRyYW5zaXRpb25zCisgICAgICovCisgICAgaWYgKGhhc19lcHNpbG9uKSB7CisJZm9yIChzdGF0ZW5yID0gMDtzdGF0ZW5yIDwgY3R4dC0+bmJTdGF0ZXM7c3RhdGVucisrKSB7CisJICAgIHN0YXRlID0gY3R4dC0+c3RhdGVzW3N0YXRlbnJdOworCSAgICBpZiAoc3RhdGUgPT0gTlVMTCkKKwkJY29udGludWU7CisJICAgIGZvciAodHJhbnNuciA9IDA7dHJhbnNuciA8IHN0YXRlLT5uYlRyYW5zO3RyYW5zbnIrKykgeworCQl4bWxSZWdUcmFuc1B0ciB0cmFucyA9ICYoc3RhdGUtPnRyYW5zW3RyYW5zbnJdKTsKKwkJaWYgKCh0cmFucy0+YXRvbSA9PSBOVUxMKSAmJgorCQkgICAgKHRyYW5zLT5jb3VudCA8IDApICYmCisJCSAgICAodHJhbnMtPnRvID49IDApKSB7CisJCSAgICB0cmFucy0+dG8gPSAtMTsKKwkJfQorCSAgICB9CisJfQorICAgIH0KKworICAgIC8qCisgICAgICogVXNlIHRoaXMgcGFzcyB0byBkZXRlY3QgdW5yZWFjaGFibGUgc3RhdGVzIHRvbworICAgICAqLworICAgIGZvciAoc3RhdGVuciA9IDA7c3RhdGVuciA8IGN0eHQtPm5iU3RhdGVzO3N0YXRlbnIrKykgeworCXN0YXRlID0gY3R4dC0+c3RhdGVzW3N0YXRlbnJdOworCWlmIChzdGF0ZSAhPSBOVUxMKQorCSAgICBzdGF0ZS0+cmVhY2hlZCA9IFhNTF9SRUdFWFBfTUFSS19OT1JNQUw7CisgICAgfQorICAgIHN0YXRlID0gY3R4dC0+c3RhdGVzWzBdOworICAgIGlmIChzdGF0ZSAhPSBOVUxMKQorCXN0YXRlLT5yZWFjaGVkID0gWE1MX1JFR0VYUF9NQVJLX1NUQVJUOworICAgIHdoaWxlIChzdGF0ZSAhPSBOVUxMKSB7CisJeG1sUmVnU3RhdGVQdHIgdGFyZ2V0ID0gTlVMTDsKKwlzdGF0ZS0+cmVhY2hlZCA9IFhNTF9SRUdFWFBfTUFSS19WSVNJVEVEOworCS8qCisJICogTWFyayBhbGwgc3RhdGVzIHJlYWNoYWJsZSBmcm9tIHRoZSBjdXJyZW50IHJlYWNoYWJsZSBzdGF0ZQorCSAqLworCWZvciAodHJhbnNuciA9IDA7dHJhbnNuciA8IHN0YXRlLT5uYlRyYW5zO3RyYW5zbnIrKykgeworCSAgICBpZiAoKHN0YXRlLT50cmFuc1t0cmFuc25yXS50byA+PSAwKSAmJgorCQkoKHN0YXRlLT50cmFuc1t0cmFuc25yXS5hdG9tICE9IE5VTEwpIHx8CisJCSAoc3RhdGUtPnRyYW5zW3RyYW5zbnJdLmNvdW50ID49IDApKSkgeworCQlpbnQgbmV3dG8gPSBzdGF0ZS0+dHJhbnNbdHJhbnNucl0udG87CisKKwkJaWYgKGN0eHQtPnN0YXRlc1tuZXd0b10gPT0gTlVMTCkKKwkJICAgIGNvbnRpbnVlOworCQlpZiAoY3R4dC0+c3RhdGVzW25ld3RvXS0+cmVhY2hlZCA9PSBYTUxfUkVHRVhQX01BUktfTk9STUFMKSB7CisJCSAgICBjdHh0LT5zdGF0ZXNbbmV3dG9dLT5yZWFjaGVkID0gWE1MX1JFR0VYUF9NQVJLX1NUQVJUOworCQkgICAgdGFyZ2V0ID0gY3R4dC0+c3RhdGVzW25ld3RvXTsKKwkJfQorCSAgICB9CisJfQorCisJLyoKKwkgKiBmaW5kIHRoZSBuZXh0IGFjY2Vzc2libGUgc3RhdGUgbm90IGV4cGxvcmVkCisJICovCisJaWYgKHRhcmdldCA9PSBOVUxMKSB7CisJICAgIGZvciAoc3RhdGVuciA9IDE7c3RhdGVuciA8IGN0eHQtPm5iU3RhdGVzO3N0YXRlbnIrKykgeworCQlzdGF0ZSA9IGN0eHQtPnN0YXRlc1tzdGF0ZW5yXTsKKwkJaWYgKChzdGF0ZSAhPSBOVUxMKSAmJiAoc3RhdGUtPnJlYWNoZWQgPT0KKwkJCVhNTF9SRUdFWFBfTUFSS19TVEFSVCkpIHsKKwkJICAgIHRhcmdldCA9IHN0YXRlOworCQkgICAgYnJlYWs7CisJCX0KKwkgICAgfQorCX0KKwlzdGF0ZSA9IHRhcmdldDsKKyAgICB9CisgICAgZm9yIChzdGF0ZW5yID0gMDtzdGF0ZW5yIDwgY3R4dC0+bmJTdGF0ZXM7c3RhdGVucisrKSB7CisJc3RhdGUgPSBjdHh0LT5zdGF0ZXNbc3RhdGVucl07CisJaWYgKChzdGF0ZSAhPSBOVUxMKSAmJiAoc3RhdGUtPnJlYWNoZWQgPT0gWE1MX1JFR0VYUF9NQVJLX05PUk1BTCkpIHsKKyNpZmRlZiBERUJVR19SRUdFWFBfR1JBUEgKKwkgICAgcHJpbnRmKCJSZW1vdmVkIHVucmVhY2hhYmxlIHN0YXRlICVkXG4iLCBzdGF0ZW5yKTsKKyNlbmRpZgorCSAgICB4bWxSZWdGcmVlU3RhdGUoc3RhdGUpOworCSAgICBjdHh0LT5zdGF0ZXNbc3RhdGVucl0gPSBOVUxMOworCX0KKyAgICB9CisKK30KKworc3RhdGljIGludAoreG1sRkFDb21wYXJlUmFuZ2VzKHhtbFJlZ1JhbmdlUHRyIHJhbmdlMSwgeG1sUmVnUmFuZ2VQdHIgcmFuZ2UyKSB7CisgICAgaW50IHJldCA9IDA7CisKKyAgICBpZiAoKHJhbmdlMS0+dHlwZSA9PSBYTUxfUkVHRVhQX1JBTkdFUykgfHwKKyAgICAgICAgKHJhbmdlMi0+dHlwZSA9PSBYTUxfUkVHRVhQX1JBTkdFUykgfHwKKyAgICAgICAgKHJhbmdlMi0+dHlwZSA9PSBYTUxfUkVHRVhQX1NVQlJFRykgfHwKKyAgICAgICAgKHJhbmdlMS0+dHlwZSA9PSBYTUxfUkVHRVhQX1NVQlJFRykgfHwKKyAgICAgICAgKHJhbmdlMS0+dHlwZSA9PSBYTUxfUkVHRVhQX1NUUklORykgfHwKKyAgICAgICAgKHJhbmdlMi0+dHlwZSA9PSBYTUxfUkVHRVhQX1NUUklORykpCisJcmV0dXJuKC0xKTsKKworICAgIC8qIHB1dCB0aGVtIGluIG9yZGVyICovCisgICAgaWYgKHJhbmdlMS0+dHlwZSA+IHJhbmdlMi0+dHlwZSkgeworICAgICAgICB4bWxSZWdSYW5nZVB0ciB0bXA7CisKKwl0bXAgPSByYW5nZTE7CisJcmFuZ2UxID0gcmFuZ2UyOworCXJhbmdlMiA9IHRtcDsKKyAgICB9CisgICAgaWYgKChyYW5nZTEtPnR5cGUgPT0gWE1MX1JFR0VYUF9BTllDSEFSKSB8fAorICAgICAgICAocmFuZ2UyLT50eXBlID09IFhNTF9SRUdFWFBfQU5ZQ0hBUikpIHsKKwlyZXQgPSAxOworICAgIH0gZWxzZSBpZiAoKHJhbmdlMS0+dHlwZSA9PSBYTUxfUkVHRVhQX0VQU0lMT04pIHx8CisgICAgICAgICAgICAgICAocmFuZ2UyLT50eXBlID09IFhNTF9SRUdFWFBfRVBTSUxPTikpIHsKKwlyZXR1cm4oMCk7CisgICAgfSBlbHNlIGlmIChyYW5nZTEtPnR5cGUgPT0gcmFuZ2UyLT50eXBlKSB7CisgICAgICAgIGlmIChyYW5nZTEtPnR5cGUgIT0gWE1MX1JFR0VYUF9DSEFSVkFMKQorICAgICAgICAgICAgcmV0ID0gMTsKKyAgICAgICAgZWxzZSBpZiAoKHJhbmdlMS0+ZW5kIDwgcmFuZ2UyLT5zdGFydCkgfHwKKwkgICAgICAgICAocmFuZ2UyLT5lbmQgPCByYW5nZTEtPnN0YXJ0KSkKKwkgICAgcmV0ID0gMDsKKwllbHNlCisJICAgIHJldCA9IDE7CisgICAgfSBlbHNlIGlmIChyYW5nZTEtPnR5cGUgPT0gWE1MX1JFR0VYUF9DSEFSVkFMKSB7CisgICAgICAgIGludCBjb2RlcG9pbnQ7CisJaW50IG5lZyA9IDA7CisKKwkvKgorCSAqIGp1c3QgY2hlY2sgYWxsIGNvZGVwb2ludHMgaW4gdGhlIHJhbmdlIGZvciBhY2NlcHRhbmNlLAorCSAqIHRoaXMgaXMgdXN1YWxseSB3YXkgY2hlYXBlciBzaW5jZSBkb25lIG9ubHkgb25jZSBhdAorCSAqIGNvbXBpbGF0aW9uIHRoYW4gdGVzdGluZyBvdmVyIGFuZCBvdmVyIGF0IHJ1bnRpbWUgb3IKKwkgKiBwdXNoaW5nIHRvbyBtYW55IHN0YXRlcyB3aGVuIGV2YWx1YXRpbmcuCisJICovCisJaWYgKCgocmFuZ2UxLT5uZWcgPT0gMCkgJiYgKHJhbmdlMi0+bmVnICE9IDApKSB8fAorCSAgICAoKHJhbmdlMS0+bmVnICE9IDApICYmIChyYW5nZTItPm5lZyA9PSAwKSkpCisJICAgIG5lZyA9IDE7CisKKwlmb3IgKGNvZGVwb2ludCA9IHJhbmdlMS0+c3RhcnQ7Y29kZXBvaW50IDw9IHJhbmdlMS0+ZW5kIDtjb2RlcG9pbnQrKykgeworCSAgICByZXQgPSB4bWxSZWdDaGVja0NoYXJhY3RlclJhbmdlKHJhbmdlMi0+dHlwZSwgY29kZXBvaW50LAorCQkJCQkgICAgMCwgcmFuZ2UyLT5zdGFydCwgcmFuZ2UyLT5lbmQsCisJCQkJCSAgICByYW5nZTItPmJsb2NrTmFtZSk7CisJICAgIGlmIChyZXQgPCAwKQorCSAgICAgICAgcmV0dXJuKC0xKTsKKwkgICAgaWYgKCgobmVnID09IDEpICYmIChyZXQgPT0gMCkpIHx8CisJICAgICAgICAoKG5lZyA9PSAwKSAmJiAocmV0ID09IDEpKSkKKwkJcmV0dXJuKDEpOworCX0KKwlyZXR1cm4oMCk7CisgICAgfSBlbHNlIGlmICgocmFuZ2UxLT50eXBlID09IFhNTF9SRUdFWFBfQkxPQ0tfTkFNRSkgfHwKKyAgICAgICAgICAgICAgIChyYW5nZTItPnR5cGUgPT0gWE1MX1JFR0VYUF9CTE9DS19OQU1FKSkgeworCWlmIChyYW5nZTEtPnR5cGUgPT0gcmFuZ2UyLT50eXBlKSB7CisJICAgIHJldCA9IHhtbFN0ckVxdWFsKHJhbmdlMS0+YmxvY2tOYW1lLCByYW5nZTItPmJsb2NrTmFtZSk7CisJfSBlbHNlIHsKKwkgICAgLyoKKwkgICAgICogY29tcGFyaW5nIGEgYmxvY2sgcmFuZ2Ugd2l0aCBhbnl0aGluZyBlbHNlIGlzIHdheQorCSAgICAgKiB0b28gY29zdGx5LCBhbmQgbWFpbnRpbmluZyB0aGUgdGFibGUgaXMgbGlrZSB0b28gbXVjaAorCSAgICAgKiBtZW1vcnkgdG9vLCBzbyBsZXQncyBmb3JjZSB0aGUgYXV0b21hdGEgdG8gc2F2ZSBzdGF0ZQorCSAgICAgKiBoZXJlLgorCSAgICAgKi8KKwkgICAgcmV0dXJuKDEpOworCX0KKyAgICB9IGVsc2UgaWYgKChyYW5nZTEtPnR5cGUgPCBYTUxfUkVHRVhQX0xFVFRFUikgfHwKKyAgICAgICAgICAgICAgIChyYW5nZTItPnR5cGUgPCBYTUxfUkVHRVhQX0xFVFRFUikpIHsKKwlpZiAoKHJhbmdlMS0+dHlwZSA9PSBYTUxfUkVHRVhQX0FOWVNQQUNFKSAmJgorCSAgICAocmFuZ2UyLT50eXBlID09IFhNTF9SRUdFWFBfTk9UU1BBQ0UpKQorCSAgICByZXQgPSAwOworCWVsc2UgaWYgKChyYW5nZTEtPnR5cGUgPT0gWE1MX1JFR0VYUF9JTklUTkFNRSkgJiYKKwkgICAgICAgICAocmFuZ2UyLT50eXBlID09IFhNTF9SRUdFWFBfTk9USU5JVE5BTUUpKQorCSAgICByZXQgPSAwOworCWVsc2UgaWYgKChyYW5nZTEtPnR5cGUgPT0gWE1MX1JFR0VYUF9OQU1FQ0hBUikgJiYKKwkgICAgICAgICAocmFuZ2UyLT50eXBlID09IFhNTF9SRUdFWFBfTk9UTkFNRUNIQVIpKQorCSAgICByZXQgPSAwOworCWVsc2UgaWYgKChyYW5nZTEtPnR5cGUgPT0gWE1MX1JFR0VYUF9ERUNJTUFMKSAmJgorCSAgICAgICAgIChyYW5nZTItPnR5cGUgPT0gWE1MX1JFR0VYUF9OT1RERUNJTUFMKSkKKwkgICAgcmV0ID0gMDsKKwllbHNlIGlmICgocmFuZ2UxLT50eXBlID09IFhNTF9SRUdFWFBfUkVBTENIQVIpICYmCisJICAgICAgICAgKHJhbmdlMi0+dHlwZSA9PSBYTUxfUkVHRVhQX05PVFJFQUxDSEFSKSkKKwkgICAgcmV0ID0gMDsKKwllbHNlIHsKKwkgICAgLyogc2FtZSB0aGluZyB0byBsaW1pdCBjb21wbGV4aXR5ICovCisJICAgIHJldHVybigxKTsKKwl9CisgICAgfSBlbHNlIHsKKyAgICAgICAgcmV0ID0gMDsKKyAgICAgICAgLyogcmFuZ2UxLT50eXBlIDwgcmFuZ2UyLT50eXBlIGhlcmUgKi8KKyAgICAgICAgc3dpdGNoIChyYW5nZTEtPnR5cGUpIHsKKwkgICAgY2FzZSBYTUxfUkVHRVhQX0xFVFRFUjoKKwkgICAgICAgICAvKiBhbGwgZGlzam9pbnQgZXhjZXB0IGluIHRoZSBzdWJncm91cHMgKi8KKwkgICAgICAgICBpZiAoKHJhbmdlMi0+dHlwZSA9PSBYTUxfUkVHRVhQX0xFVFRFUl9VUFBFUkNBU0UpIHx8CisJCSAgICAgKHJhbmdlMi0+dHlwZSA9PSBYTUxfUkVHRVhQX0xFVFRFUl9MT1dFUkNBU0UpIHx8CisJCSAgICAgKHJhbmdlMi0+dHlwZSA9PSBYTUxfUkVHRVhQX0xFVFRFUl9USVRMRUNBU0UpIHx8CisJCSAgICAgKHJhbmdlMi0+dHlwZSA9PSBYTUxfUkVHRVhQX0xFVFRFUl9NT0RJRklFUikgfHwKKwkJICAgICAocmFuZ2UyLT50eXBlID09IFhNTF9SRUdFWFBfTEVUVEVSX09USEVSUykpCisJCSAgICAgcmV0ID0gMTsKKwkJIGJyZWFrOworCSAgICBjYXNlIFhNTF9SRUdFWFBfTUFSSzoKKwkgICAgICAgICBpZiAoKHJhbmdlMi0+dHlwZSA9PSBYTUxfUkVHRVhQX01BUktfTk9OU1BBQ0lORykgfHwKKwkJICAgICAocmFuZ2UyLT50eXBlID09IFhNTF9SRUdFWFBfTUFSS19TUEFDRUNPTUJJTklORykgfHwKKwkJICAgICAocmFuZ2UyLT50eXBlID09IFhNTF9SRUdFWFBfTUFSS19FTkNMT1NJTkcpKQorCQkgICAgIHJldCA9IDE7CisJCSBicmVhazsKKwkgICAgY2FzZSBYTUxfUkVHRVhQX05VTUJFUjoKKwkgICAgICAgICBpZiAoKHJhbmdlMi0+dHlwZSA9PSBYTUxfUkVHRVhQX05VTUJFUl9ERUNJTUFMKSB8fAorCQkgICAgIChyYW5nZTItPnR5cGUgPT0gWE1MX1JFR0VYUF9OVU1CRVJfTEVUVEVSKSB8fAorCQkgICAgIChyYW5nZTItPnR5cGUgPT0gWE1MX1JFR0VYUF9OVU1CRVJfT1RIRVJTKSkKKwkJICAgICByZXQgPSAxOworCQkgYnJlYWs7CisJICAgIGNhc2UgWE1MX1JFR0VYUF9QVU5DVDoKKwkgICAgICAgICBpZiAoKHJhbmdlMi0+dHlwZSA9PSBYTUxfUkVHRVhQX1BVTkNUX0NPTk5FQ1RPUikgfHwKKwkJICAgICAocmFuZ2UyLT50eXBlID09IFhNTF9SRUdFWFBfUFVOQ1RfREFTSCkgfHwKKwkJICAgICAocmFuZ2UyLT50eXBlID09IFhNTF9SRUdFWFBfUFVOQ1RfT1BFTikgfHwKKwkJICAgICAocmFuZ2UyLT50eXBlID09IFhNTF9SRUdFWFBfUFVOQ1RfQ0xPU0UpIHx8CisJCSAgICAgKHJhbmdlMi0+dHlwZSA9PSBYTUxfUkVHRVhQX1BVTkNUX0lOSVRRVU9URSkgfHwKKwkJICAgICAocmFuZ2UyLT50eXBlID09IFhNTF9SRUdFWFBfUFVOQ1RfRklOUVVPVEUpIHx8CisJCSAgICAgKHJhbmdlMi0+dHlwZSA9PSBYTUxfUkVHRVhQX1BVTkNUX09USEVSUykpCisJCSAgICAgcmV0ID0gMTsKKwkJIGJyZWFrOworCSAgICBjYXNlIFhNTF9SRUdFWFBfU0VQQVI6CisJICAgICAgICAgaWYgKChyYW5nZTItPnR5cGUgPT0gWE1MX1JFR0VYUF9TRVBBUl9TUEFDRSkgfHwKKwkJICAgICAocmFuZ2UyLT50eXBlID09IFhNTF9SRUdFWFBfU0VQQVJfTElORSkgfHwKKwkJICAgICAocmFuZ2UyLT50eXBlID09IFhNTF9SRUdFWFBfU0VQQVJfUEFSQSkpCisJCSAgICAgcmV0ID0gMTsKKwkJIGJyZWFrOworCSAgICBjYXNlIFhNTF9SRUdFWFBfU1lNQk9MOgorCSAgICAgICAgIGlmICgocmFuZ2UyLT50eXBlID09IFhNTF9SRUdFWFBfU1lNQk9MX01BVEgpIHx8CisJCSAgICAgKHJhbmdlMi0+dHlwZSA9PSBYTUxfUkVHRVhQX1NZTUJPTF9DVVJSRU5DWSkgfHwKKwkJICAgICAocmFuZ2UyLT50eXBlID09IFhNTF9SRUdFWFBfU1lNQk9MX01PRElGSUVSKSB8fAorCQkgICAgIChyYW5nZTItPnR5cGUgPT0gWE1MX1JFR0VYUF9TWU1CT0xfT1RIRVJTKSkKKwkJICAgICByZXQgPSAxOworCQkgYnJlYWs7CisJICAgIGNhc2UgWE1MX1JFR0VYUF9PVEhFUjoKKwkgICAgICAgICBpZiAoKHJhbmdlMi0+dHlwZSA9PSBYTUxfUkVHRVhQX09USEVSX0NPTlRST0wpIHx8CisJCSAgICAgKHJhbmdlMi0+dHlwZSA9PSBYTUxfUkVHRVhQX09USEVSX0ZPUk1BVCkgfHwKKwkJICAgICAocmFuZ2UyLT50eXBlID09IFhNTF9SRUdFWFBfT1RIRVJfUFJJVkFURSkpCisJCSAgICAgcmV0ID0gMTsKKwkJIGJyZWFrOworICAgICAgICAgICAgZGVmYXVsdDoKKwkgICAgICAgICBpZiAoKHJhbmdlMi0+dHlwZSA+PSBYTUxfUkVHRVhQX0xFVFRFUikgJiYKKwkJICAgICAocmFuZ2UyLT50eXBlIDwgWE1MX1JFR0VYUF9CTE9DS19OQU1FKSkKKwkJICAgICByZXQgPSAwOworCQkgZWxzZSB7CisJCSAgICAgLyogc2FmZXR5IG5ldCAhICovCisJCSAgICAgcmV0dXJuKDEpOworCQkgfQorCX0KKyAgICB9CisgICAgaWYgKCgocmFuZ2UxLT5uZWcgPT0gMCkgJiYgKHJhbmdlMi0+bmVnICE9IDApKSB8fAorICAgICAgICAoKHJhbmdlMS0+bmVnICE9IDApICYmIChyYW5nZTItPm5lZyA9PSAwKSkpCisJcmV0ID0gIXJldDsKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxGQUNvbXBhcmVBdG9tVHlwZXM6CisgKiBAdHlwZTE6ICBhbiBhdG9tIHR5cGUKKyAqIEB0eXBlMjogIGFuIGF0b20gdHlwZQorICoKKyAqIENvbXBhcmVzIHR3byBhdG9tcyB0eXBlIHRvIGNoZWNrIHdoZXRoZXIgdGhleSBpbnRlcnNlY3QgaW4gc29tZSB3YXlzLAorICogdGhpcyBpcyB1c2VkIGJ5IHhtbEZBQ29tcGFyZUF0b21zIG9ubHkKKyAqCisgKiBSZXR1cm5zIDEgaWYgdGhleSBtYXkgaW50ZXJzZWN0IGFuZCAwIG90aGVyd2lzZQorICovCitzdGF0aWMgaW50Cit4bWxGQUNvbXBhcmVBdG9tVHlwZXMoeG1sUmVnQXRvbVR5cGUgdHlwZTEsIHhtbFJlZ0F0b21UeXBlIHR5cGUyKSB7CisgICAgaWYgKCh0eXBlMSA9PSBYTUxfUkVHRVhQX0VQU0lMT04pIHx8CisgICAgICAgICh0eXBlMSA9PSBYTUxfUkVHRVhQX0NIQVJWQUwpIHx8CisJKHR5cGUxID09IFhNTF9SRUdFWFBfUkFOR0VTKSB8fAorCSh0eXBlMSA9PSBYTUxfUkVHRVhQX1NVQlJFRykgfHwKKwkodHlwZTEgPT0gWE1MX1JFR0VYUF9TVFJJTkcpIHx8CisJKHR5cGUxID09IFhNTF9SRUdFWFBfQU5ZQ0hBUikpCisJcmV0dXJuKDEpOworICAgIGlmICgodHlwZTIgPT0gWE1MX1JFR0VYUF9FUFNJTE9OKSB8fAorICAgICAgICAodHlwZTIgPT0gWE1MX1JFR0VYUF9DSEFSVkFMKSB8fAorCSh0eXBlMiA9PSBYTUxfUkVHRVhQX1JBTkdFUykgfHwKKwkodHlwZTIgPT0gWE1MX1JFR0VYUF9TVUJSRUcpIHx8CisJKHR5cGUyID09IFhNTF9SRUdFWFBfU1RSSU5HKSB8fAorCSh0eXBlMiA9PSBYTUxfUkVHRVhQX0FOWUNIQVIpKQorCXJldHVybigxKTsKKworICAgIGlmICh0eXBlMSA9PSB0eXBlMikgcmV0dXJuKDEpOworCisgICAgLyogc2ltcGxpZnkgc3Vic2VxdWVudCBjb21wYXJlcyBieSBtYWtpbmcgc3VyZSB0eXBlMSA8IHR5cGUyICovCisgICAgaWYgKHR5cGUxID4gdHlwZTIpIHsKKyAgICAgICAgeG1sUmVnQXRvbVR5cGUgdG1wID0gdHlwZTE7CisJdHlwZTEgPSB0eXBlMjsKKwl0eXBlMiA9IHRtcDsKKyAgICB9CisgICAgc3dpdGNoICh0eXBlMSkgeworICAgICAgICBjYXNlIFhNTF9SRUdFWFBfQU5ZU1BBQ0U6IC8qIFxzICovCisJICAgIC8qIGNhbid0IGJlIGEgbGV0dGVyLCBudW1iZXIsIG1hcmssIHBvbnR1YXRpb24sIHN5bWJvbCAqLworCSAgICBpZiAoKHR5cGUyID09IFhNTF9SRUdFWFBfTk9UU1BBQ0UpIHx8CisJCSgodHlwZTIgPj0gWE1MX1JFR0VYUF9MRVRURVIpICYmCisJCSAodHlwZTIgPD0gWE1MX1JFR0VYUF9MRVRURVJfT1RIRVJTKSkgfHwKKwkgICAgICAgICgodHlwZTIgPj0gWE1MX1JFR0VYUF9OVU1CRVIpICYmCisJCSAodHlwZTIgPD0gWE1MX1JFR0VYUF9OVU1CRVJfT1RIRVJTKSkgfHwKKwkgICAgICAgICgodHlwZTIgPj0gWE1MX1JFR0VYUF9NQVJLKSAmJgorCQkgKHR5cGUyIDw9IFhNTF9SRUdFWFBfTUFSS19FTkNMT1NJTkcpKSB8fAorCSAgICAgICAgKCh0eXBlMiA+PSBYTUxfUkVHRVhQX1BVTkNUKSAmJgorCQkgKHR5cGUyIDw9IFhNTF9SRUdFWFBfUFVOQ1RfT1RIRVJTKSkgfHwKKwkgICAgICAgICgodHlwZTIgPj0gWE1MX1JFR0VYUF9TWU1CT0wpICYmCisJCSAodHlwZTIgPD0gWE1MX1JFR0VYUF9TWU1CT0xfT1RIRVJTKSkKKwkgICAgICAgICkgcmV0dXJuKDApOworCSAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUkVHRVhQX05PVFNQQUNFOiAvKiBcUyAqLworCSAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUkVHRVhQX0lOSVROQU1FOiAvKiBcbCAqLworCSAgICAvKiBjYW4ndCBiZSBhIG51bWJlciwgbWFyaywgc2VwYXJhdG9yLCBwb250dWF0aW9uLCBzeW1ib2wgb3Igb3RoZXIgKi8KKwkgICAgaWYgKCh0eXBlMiA9PSBYTUxfUkVHRVhQX05PVElOSVROQU1FKSB8fAorCSAgICAgICAgKCh0eXBlMiA+PSBYTUxfUkVHRVhQX05VTUJFUikgJiYKKwkJICh0eXBlMiA8PSBYTUxfUkVHRVhQX05VTUJFUl9PVEhFUlMpKSB8fAorCSAgICAgICAgKCh0eXBlMiA+PSBYTUxfUkVHRVhQX01BUkspICYmCisJCSAodHlwZTIgPD0gWE1MX1JFR0VYUF9NQVJLX0VOQ0xPU0lORykpIHx8CisJICAgICAgICAoKHR5cGUyID49IFhNTF9SRUdFWFBfU0VQQVIpICYmCisJCSAodHlwZTIgPD0gWE1MX1JFR0VYUF9TRVBBUl9QQVJBKSkgfHwKKwkgICAgICAgICgodHlwZTIgPj0gWE1MX1JFR0VYUF9QVU5DVCkgJiYKKwkJICh0eXBlMiA8PSBYTUxfUkVHRVhQX1BVTkNUX09USEVSUykpIHx8CisJICAgICAgICAoKHR5cGUyID49IFhNTF9SRUdFWFBfU1lNQk9MKSAmJgorCQkgKHR5cGUyIDw9IFhNTF9SRUdFWFBfU1lNQk9MX09USEVSUykpIHx8CisJICAgICAgICAoKHR5cGUyID49IFhNTF9SRUdFWFBfT1RIRVIpICYmCisJCSAodHlwZTIgPD0gWE1MX1JFR0VYUF9PVEhFUl9OQSkpCisJCSkgcmV0dXJuKDApOworCSAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUkVHRVhQX05PVElOSVROQU1FOiAvKiBcTCAqLworCSAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUkVHRVhQX05BTUVDSEFSOiAvKiBcYyAqLworCSAgICAvKiBjYW4ndCBiZSBhIG1hcmssIHNlcGFyYXRvciwgcG9udHVhdGlvbiwgc3ltYm9sIG9yIG90aGVyICovCisJICAgIGlmICgodHlwZTIgPT0gWE1MX1JFR0VYUF9OT1ROQU1FQ0hBUikgfHwKKwkgICAgICAgICgodHlwZTIgPj0gWE1MX1JFR0VYUF9NQVJLKSAmJgorCQkgKHR5cGUyIDw9IFhNTF9SRUdFWFBfTUFSS19FTkNMT1NJTkcpKSB8fAorCSAgICAgICAgKCh0eXBlMiA+PSBYTUxfUkVHRVhQX1BVTkNUKSAmJgorCQkgKHR5cGUyIDw9IFhNTF9SRUdFWFBfUFVOQ1RfT1RIRVJTKSkgfHwKKwkgICAgICAgICgodHlwZTIgPj0gWE1MX1JFR0VYUF9TRVBBUikgJiYKKwkJICh0eXBlMiA8PSBYTUxfUkVHRVhQX1NFUEFSX1BBUkEpKSB8fAorCSAgICAgICAgKCh0eXBlMiA+PSBYTUxfUkVHRVhQX1NZTUJPTCkgJiYKKwkJICh0eXBlMiA8PSBYTUxfUkVHRVhQX1NZTUJPTF9PVEhFUlMpKSB8fAorCSAgICAgICAgKCh0eXBlMiA+PSBYTUxfUkVHRVhQX09USEVSKSAmJgorCQkgKHR5cGUyIDw9IFhNTF9SRUdFWFBfT1RIRVJfTkEpKQorCQkpIHJldHVybigwKTsKKwkgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9OT1ROQU1FQ0hBUjogLyogXEMgKi8KKwkgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9ERUNJTUFMOiAvKiBcZCAqLworCSAgICAvKiBjYW4ndCBiZSBhIGxldHRlciwgbWFyaywgc2VwYXJhdG9yLCBwb250dWF0aW9uLCBzeW1ib2wgb3Igb3RoZXIgKi8KKwkgICAgaWYgKCh0eXBlMiA9PSBYTUxfUkVHRVhQX05PVERFQ0lNQUwpIHx8CisJICAgICAgICAodHlwZTIgPT0gWE1MX1JFR0VYUF9SRUFMQ0hBUikgfHwKKwkJKCh0eXBlMiA+PSBYTUxfUkVHRVhQX0xFVFRFUikgJiYKKwkJICh0eXBlMiA8PSBYTUxfUkVHRVhQX0xFVFRFUl9PVEhFUlMpKSB8fAorCSAgICAgICAgKCh0eXBlMiA+PSBYTUxfUkVHRVhQX01BUkspICYmCisJCSAodHlwZTIgPD0gWE1MX1JFR0VYUF9NQVJLX0VOQ0xPU0lORykpIHx8CisJICAgICAgICAoKHR5cGUyID49IFhNTF9SRUdFWFBfUFVOQ1QpICYmCisJCSAodHlwZTIgPD0gWE1MX1JFR0VYUF9QVU5DVF9PVEhFUlMpKSB8fAorCSAgICAgICAgKCh0eXBlMiA+PSBYTUxfUkVHRVhQX1NFUEFSKSAmJgorCQkgKHR5cGUyIDw9IFhNTF9SRUdFWFBfU0VQQVJfUEFSQSkpIHx8CisJICAgICAgICAoKHR5cGUyID49IFhNTF9SRUdFWFBfU1lNQk9MKSAmJgorCQkgKHR5cGUyIDw9IFhNTF9SRUdFWFBfU1lNQk9MX09USEVSUykpIHx8CisJICAgICAgICAoKHR5cGUyID49IFhNTF9SRUdFWFBfT1RIRVIpICYmCisJCSAodHlwZTIgPD0gWE1MX1JFR0VYUF9PVEhFUl9OQSkpCisJCSlyZXR1cm4oMCk7CisJICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9SRUdFWFBfTk9UREVDSU1BTDogLyogXEQgKi8KKwkgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9SRUFMQ0hBUjogLyogXHcgKi8KKwkgICAgLyogY2FuJ3QgYmUgYSBtYXJrLCBzZXBhcmF0b3IsIHBvbnR1YXRpb24sIHN5bWJvbCBvciBvdGhlciAqLworCSAgICBpZiAoKHR5cGUyID09IFhNTF9SRUdFWFBfTk9UREVDSU1BTCkgfHwKKwkgICAgICAgICgodHlwZTIgPj0gWE1MX1JFR0VYUF9NQVJLKSAmJgorCQkgKHR5cGUyIDw9IFhNTF9SRUdFWFBfTUFSS19FTkNMT1NJTkcpKSB8fAorCSAgICAgICAgKCh0eXBlMiA+PSBYTUxfUkVHRVhQX1BVTkNUKSAmJgorCQkgKHR5cGUyIDw9IFhNTF9SRUdFWFBfUFVOQ1RfT1RIRVJTKSkgfHwKKwkgICAgICAgICgodHlwZTIgPj0gWE1MX1JFR0VYUF9TRVBBUikgJiYKKwkJICh0eXBlMiA8PSBYTUxfUkVHRVhQX1NFUEFSX1BBUkEpKSB8fAorCSAgICAgICAgKCh0eXBlMiA+PSBYTUxfUkVHRVhQX1NZTUJPTCkgJiYKKwkJICh0eXBlMiA8PSBYTUxfUkVHRVhQX1NZTUJPTF9PVEhFUlMpKSB8fAorCSAgICAgICAgKCh0eXBlMiA+PSBYTUxfUkVHRVhQX09USEVSKSAmJgorCQkgKHR5cGUyIDw9IFhNTF9SRUdFWFBfT1RIRVJfTkEpKQorCQkpcmV0dXJuKDApOworCSAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUkVHRVhQX05PVFJFQUxDSEFSOiAvKiBcVyAqLworCSAgICBicmVhazsKKwkvKgorCSAqIGF0IHRoYXQgcG9pbnQgd2Uga25vdyBib3RoIHR5cGUgMSBhbmQgdHlwZTIgYXJlIGZyb20KKwkgKiBjaGFyYWN0ZXIgY2F0ZWdvcmllcyBhcmUgb3JkZXJlZCBhbmQgYXJlIGRpZmZlcmVudCwKKwkgKiBpdCBiZWNvbWVzIHNpbXBsZSBiZWNhdXNlIHRoaXMgaXMgYSBwYXJ0aXRpb24KKwkgKi8KKyAgICAgICAgY2FzZSBYTUxfUkVHRVhQX0xFVFRFUjoKKwkgICAgaWYgKHR5cGUyIDw9IFhNTF9SRUdFWFBfTEVUVEVSX09USEVSUykKKwkgICAgICAgIHJldHVybigxKTsKKwkgICAgcmV0dXJuKDApOworICAgICAgICBjYXNlIFhNTF9SRUdFWFBfTEVUVEVSX1VQUEVSQ0FTRToKKyAgICAgICAgY2FzZSBYTUxfUkVHRVhQX0xFVFRFUl9MT1dFUkNBU0U6CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9MRVRURVJfVElUTEVDQVNFOgorICAgICAgICBjYXNlIFhNTF9SRUdFWFBfTEVUVEVSX01PRElGSUVSOgorICAgICAgICBjYXNlIFhNTF9SRUdFWFBfTEVUVEVSX09USEVSUzoKKwkgICAgcmV0dXJuKDApOworICAgICAgICBjYXNlIFhNTF9SRUdFWFBfTUFSSzoKKwkgICAgaWYgKHR5cGUyIDw9IFhNTF9SRUdFWFBfTUFSS19FTkNMT1NJTkcpCisJICAgICAgICByZXR1cm4oMSk7CisJICAgIHJldHVybigwKTsKKyAgICAgICAgY2FzZSBYTUxfUkVHRVhQX01BUktfTk9OU1BBQ0lORzoKKyAgICAgICAgY2FzZSBYTUxfUkVHRVhQX01BUktfU1BBQ0VDT01CSU5JTkc6CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9NQVJLX0VOQ0xPU0lORzoKKwkgICAgcmV0dXJuKDApOworICAgICAgICBjYXNlIFhNTF9SRUdFWFBfTlVNQkVSOgorCSAgICBpZiAodHlwZTIgPD0gWE1MX1JFR0VYUF9OVU1CRVJfT1RIRVJTKQorCSAgICAgICAgcmV0dXJuKDEpOworCSAgICByZXR1cm4oMCk7CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9OVU1CRVJfREVDSU1BTDoKKyAgICAgICAgY2FzZSBYTUxfUkVHRVhQX05VTUJFUl9MRVRURVI6CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9OVU1CRVJfT1RIRVJTOgorCSAgICByZXR1cm4oMCk7CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9QVU5DVDoKKwkgICAgaWYgKHR5cGUyIDw9IFhNTF9SRUdFWFBfUFVOQ1RfT1RIRVJTKQorCSAgICAgICAgcmV0dXJuKDEpOworCSAgICByZXR1cm4oMCk7CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9QVU5DVF9DT05ORUNUT1I6CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9QVU5DVF9EQVNIOgorICAgICAgICBjYXNlIFhNTF9SRUdFWFBfUFVOQ1RfT1BFTjoKKyAgICAgICAgY2FzZSBYTUxfUkVHRVhQX1BVTkNUX0NMT1NFOgorICAgICAgICBjYXNlIFhNTF9SRUdFWFBfUFVOQ1RfSU5JVFFVT1RFOgorICAgICAgICBjYXNlIFhNTF9SRUdFWFBfUFVOQ1RfRklOUVVPVEU6CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9QVU5DVF9PVEhFUlM6CisJICAgIHJldHVybigwKTsKKyAgICAgICAgY2FzZSBYTUxfUkVHRVhQX1NFUEFSOgorCSAgICBpZiAodHlwZTIgPD0gWE1MX1JFR0VYUF9TRVBBUl9QQVJBKQorCSAgICAgICAgcmV0dXJuKDEpOworCSAgICByZXR1cm4oMCk7CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9TRVBBUl9TUEFDRToKKyAgICAgICAgY2FzZSBYTUxfUkVHRVhQX1NFUEFSX0xJTkU6CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9TRVBBUl9QQVJBOgorCSAgICByZXR1cm4oMCk7CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9TWU1CT0w6CisJICAgIGlmICh0eXBlMiA8PSBYTUxfUkVHRVhQX1NZTUJPTF9PVEhFUlMpCisJICAgICAgICByZXR1cm4oMSk7CisJICAgIHJldHVybigwKTsKKyAgICAgICAgY2FzZSBYTUxfUkVHRVhQX1NZTUJPTF9NQVRIOgorICAgICAgICBjYXNlIFhNTF9SRUdFWFBfU1lNQk9MX0NVUlJFTkNZOgorICAgICAgICBjYXNlIFhNTF9SRUdFWFBfU1lNQk9MX01PRElGSUVSOgorICAgICAgICBjYXNlIFhNTF9SRUdFWFBfU1lNQk9MX09USEVSUzoKKwkgICAgcmV0dXJuKDApOworICAgICAgICBjYXNlIFhNTF9SRUdFWFBfT1RIRVI6CisJICAgIGlmICh0eXBlMiA8PSBYTUxfUkVHRVhQX09USEVSX05BKQorCSAgICAgICAgcmV0dXJuKDEpOworCSAgICByZXR1cm4oMCk7CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9PVEhFUl9DT05UUk9MOgorICAgICAgICBjYXNlIFhNTF9SRUdFWFBfT1RIRVJfRk9STUFUOgorICAgICAgICBjYXNlIFhNTF9SRUdFWFBfT1RIRVJfUFJJVkFURToKKyAgICAgICAgY2FzZSBYTUxfUkVHRVhQX09USEVSX05BOgorCSAgICByZXR1cm4oMCk7CisJZGVmYXVsdDoKKwkgICAgYnJlYWs7CisgICAgfQorICAgIHJldHVybigxKTsKK30KKworLyoqCisgKiB4bWxGQUVxdWFsQXRvbXM6CisgKiBAYXRvbTE6ICBhbiBhdG9tCisgKiBAYXRvbTI6ICBhbiBhdG9tCisgKiBAZGVlcDogaWYgbm90IHNldCBvbmx5IGNvbXBhcmUgc3RyaW5nIHBvaW50ZXJzCisgKgorICogQ29tcGFyZXMgdHdvIGF0b21zIHRvIGNoZWNrIHdoZXRoZXIgdGhleSBhcmUgdGhlIHNhbWUgZXhhY3RseQorICogdGhpcyBpcyB1c2VkIHRvIHJlbW92ZSBlcXVpdmFsZW50IHRyYW5zaXRpb25zCisgKgorICogUmV0dXJucyAxIGlmIHNhbWUgYW5kIDAgb3RoZXJ3aXNlCisgKi8KK3N0YXRpYyBpbnQKK3htbEZBRXF1YWxBdG9tcyh4bWxSZWdBdG9tUHRyIGF0b20xLCB4bWxSZWdBdG9tUHRyIGF0b20yLCBpbnQgZGVlcCkgeworICAgIGludCByZXQgPSAwOworCisgICAgaWYgKGF0b20xID09IGF0b20yKQorCXJldHVybigxKTsKKyAgICBpZiAoKGF0b20xID09IE5VTEwpIHx8IChhdG9tMiA9PSBOVUxMKSkKKwlyZXR1cm4oMCk7CisKKyAgICBpZiAoYXRvbTEtPnR5cGUgIT0gYXRvbTItPnR5cGUpCisgICAgICAgIHJldHVybigwKTsKKyAgICBzd2l0Y2ggKGF0b20xLT50eXBlKSB7CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9FUFNJTE9OOgorCSAgICByZXQgPSAwOworCSAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUkVHRVhQX1NUUklORzoKKyAgICAgICAgICAgIGlmICghZGVlcCkKKyAgICAgICAgICAgICAgICByZXQgPSAoYXRvbTEtPnZhbHVlcCA9PSBhdG9tMi0+dmFsdWVwKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICByZXQgPSB4bWxTdHJFcXVhbCgoeG1sQ2hhciAqKWF0b20xLT52YWx1ZXAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHhtbENoYXIgKilhdG9tMi0+dmFsdWVwKTsKKwkgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9DSEFSVkFMOgorCSAgICByZXQgPSAoYXRvbTEtPmNvZGVwb2ludCA9PSBhdG9tMi0+Y29kZXBvaW50KTsKKwkgICAgYnJlYWs7CisJY2FzZSBYTUxfUkVHRVhQX1JBTkdFUzoKKwkgICAgLyogdG9vIGhhcmQgdG8gZG8gaW4gdGhlIGdlbmVyYWwgY2FzZSAqLworCSAgICByZXQgPSAwOworCWRlZmF1bHQ6CisJICAgIGJyZWFrOworICAgIH0KKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxGQUNvbXBhcmVBdG9tczoKKyAqIEBhdG9tMTogIGFuIGF0b20KKyAqIEBhdG9tMjogIGFuIGF0b20KKyAqIEBkZWVwOiBpZiBub3Qgc2V0IG9ubHkgY29tcGFyZSBzdHJpbmcgcG9pbnRlcnMKKyAqCisgKiBDb21wYXJlcyB0d28gYXRvbXMgdG8gY2hlY2sgd2hldGhlciB0aGV5IGludGVyc2VjdCBpbiBzb21lIHdheXMsCisgKiB0aGlzIGlzIHVzZWQgYnkgeG1sRkFDb21wdXRlc0RldGVybWluaXNtIGFuZCB4bWxGQVJlY3Vyc2VEZXRlcm1pbmlzbSBvbmx5CisgKgorICogUmV0dXJucyAxIGlmIHllcyBhbmQgMCBvdGhlcndpc2UKKyAqLworc3RhdGljIGludAoreG1sRkFDb21wYXJlQXRvbXMoeG1sUmVnQXRvbVB0ciBhdG9tMSwgeG1sUmVnQXRvbVB0ciBhdG9tMiwgaW50IGRlZXApIHsKKyAgICBpbnQgcmV0ID0gMTsKKworICAgIGlmIChhdG9tMSA9PSBhdG9tMikKKwlyZXR1cm4oMSk7CisgICAgaWYgKChhdG9tMSA9PSBOVUxMKSB8fCAoYXRvbTIgPT0gTlVMTCkpCisJcmV0dXJuKDApOworCisgICAgaWYgKChhdG9tMS0+dHlwZSA9PSBYTUxfUkVHRVhQX0FOWUNIQVIpIHx8CisgICAgICAgIChhdG9tMi0+dHlwZSA9PSBYTUxfUkVHRVhQX0FOWUNIQVIpKQorCXJldHVybigxKTsKKworICAgIGlmIChhdG9tMS0+dHlwZSA+IGF0b20yLT50eXBlKSB7CisJeG1sUmVnQXRvbVB0ciB0bXA7CisJdG1wID0gYXRvbTE7CisJYXRvbTEgPSBhdG9tMjsKKwlhdG9tMiA9IHRtcDsKKyAgICB9CisgICAgaWYgKGF0b20xLT50eXBlICE9IGF0b20yLT50eXBlKSB7CisgICAgICAgIHJldCA9IHhtbEZBQ29tcGFyZUF0b21UeXBlcyhhdG9tMS0+dHlwZSwgYXRvbTItPnR5cGUpOworCS8qIGlmIHRoZXkgY2FuJ3QgaW50ZXJzZWN0IGF0IHRoZSB0eXBlIGxldmVsIGJyZWFrIG5vdyAqLworCWlmIChyZXQgPT0gMCkKKwkgICAgcmV0dXJuKDApOworICAgIH0KKyAgICBzd2l0Y2ggKGF0b20xLT50eXBlKSB7CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9TVFJJTkc6CisgICAgICAgICAgICBpZiAoIWRlZXApCisgICAgICAgICAgICAgICAgcmV0ID0gKGF0b20xLT52YWx1ZXAgIT0gYXRvbTItPnZhbHVlcCk7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgcmV0ID0geG1sUmVnU3RyRXF1YWxXaWxkY2FyZCgoeG1sQ2hhciAqKWF0b20xLT52YWx1ZXAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoeG1sQ2hhciAqKWF0b20yLT52YWx1ZXApOworCSAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUkVHRVhQX0VQU0lMT046CisJICAgIGdvdG8gbm90X2RldGVybWluaXN0OworICAgICAgICBjYXNlIFhNTF9SRUdFWFBfQ0hBUlZBTDoKKwkgICAgaWYgKGF0b20yLT50eXBlID09IFhNTF9SRUdFWFBfQ0hBUlZBTCkgeworCQlyZXQgPSAoYXRvbTEtPmNvZGVwb2ludCA9PSBhdG9tMi0+Y29kZXBvaW50KTsKKwkgICAgfSBlbHNlIHsKKwkgICAgICAgIHJldCA9IHhtbFJlZ0NoZWNrQ2hhcmFjdGVyKGF0b20yLCBhdG9tMS0+Y29kZXBvaW50KTsKKwkJaWYgKHJldCA8IDApCisJCSAgICByZXQgPSAxOworCSAgICB9CisJICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9SRUdFWFBfUkFOR0VTOgorCSAgICBpZiAoYXRvbTItPnR5cGUgPT0gWE1MX1JFR0VYUF9SQU5HRVMpIHsKKwkgICAgICAgIGludCBpLCBqLCByZXM7CisJCXhtbFJlZ1JhbmdlUHRyIHIxLCByMjsKKworCQkvKgorCQkgKiBuZWVkIHRvIGNoZWNrIHRoYXQgbm9uZSBvZiB0aGUgcmFuZ2VzIGV2ZW50dWFsbHkgbWF0Y2hlcworCQkgKi8KKwkJZm9yIChpID0gMDtpIDwgYXRvbTEtPm5iUmFuZ2VzO2krKykgeworCQkgICAgZm9yIChqID0gMDtqIDwgYXRvbTItPm5iUmFuZ2VzO2orKykgeworCQkJcjEgPSBhdG9tMS0+cmFuZ2VzW2ldOworCQkJcjIgPSBhdG9tMi0+cmFuZ2VzW2pdOworCQkJcmVzID0geG1sRkFDb21wYXJlUmFuZ2VzKHIxLCByMik7CisJCQlpZiAocmVzID09IDEpIHsKKwkJCSAgICByZXQgPSAxOworCQkJICAgIGdvdG8gZG9uZTsKKwkJCX0KKwkJICAgIH0KKwkJfQorCQlyZXQgPSAwOworCSAgICB9CisJICAgIGJyZWFrOworCWRlZmF1bHQ6CisJICAgIGdvdG8gbm90X2RldGVybWluaXN0OworICAgIH0KK2RvbmU6CisgICAgaWYgKGF0b20xLT5uZWcgIT0gYXRvbTItPm5lZykgeworICAgICAgICByZXQgPSAhcmV0OworICAgIH0KKyAgICBpZiAocmV0ID09IDApCisgICAgICAgIHJldHVybigwKTsKK25vdF9kZXRlcm1pbmlzdDoKKyAgICByZXR1cm4oMSk7Cit9CisKKy8qKgorICogeG1sRkFSZWN1cnNlRGV0ZXJtaW5pc206CisgKiBAY3R4dDogIGEgcmVnZXhwIHBhcnNlciBjb250ZXh0CisgKgorICogQ2hlY2sgd2hldGhlciB0aGUgYXNzb2NpYXRlZCByZWdleHAgaXMgZGV0ZXJtaW5pc3QsCisgKiBzaG91bGQgYmUgY2FsbGVkIGFmdGVyIHhtbEZBRWxpbWluYXRlRXBzaWxvblRyYW5zaXRpb25zKCkKKyAqCisgKi8KK3N0YXRpYyBpbnQKK3htbEZBUmVjdXJzZURldGVybWluaXNtKHhtbFJlZ1BhcnNlckN0eHRQdHIgY3R4dCwgeG1sUmVnU3RhdGVQdHIgc3RhdGUsCisJICAgICAgICAgICAgICAgICBpbnQgdG8sIHhtbFJlZ0F0b21QdHIgYXRvbSkgeworICAgIGludCByZXQgPSAxOworICAgIGludCByZXM7CisgICAgaW50IHRyYW5zbnIsIG5iVHJhbnM7CisgICAgeG1sUmVnVHJhbnNQdHIgdDE7CisgICAgaW50IGRlZXAgPSAxOworCisgICAgaWYgKHN0YXRlID09IE5VTEwpCisJcmV0dXJuKHJldCk7CisgICAgaWYgKHN0YXRlLT5tYXJrZCA9PSBYTUxfUkVHRVhQX01BUktfVklTSVRFRCkKKwlyZXR1cm4ocmV0KTsKKworICAgIGlmIChjdHh0LT5mbGFncyAmIEFNX0FVVE9NQVRBX1JORykKKyAgICAgICAgZGVlcCA9IDA7CisKKyAgICAvKgorICAgICAqIGRvbid0IHJlY3Vyc2Ugb24gdHJhbnNpdGlvbnMgcG90ZW50aWFsbHkgYWRkZWQgaW4gdGhlIGNvdXJzZSBvZgorICAgICAqIHRoZSBlbGltaW5hdGlvbi4KKyAgICAgKi8KKyAgICBuYlRyYW5zID0gc3RhdGUtPm5iVHJhbnM7CisgICAgZm9yICh0cmFuc25yID0gMDt0cmFuc25yIDwgbmJUcmFuczt0cmFuc25yKyspIHsKKwl0MSA9ICYoc3RhdGUtPnRyYW5zW3RyYW5zbnJdKTsKKwkvKgorCSAqIGNoZWNrIHRyYW5zaXRpb25zIGNvbmZsaWN0aW5nIHdpdGggdGhlIG9uZSBsb29rZWQgYXQKKwkgKi8KKwlpZiAodDEtPmF0b20gPT0gTlVMTCkgeworCSAgICBpZiAodDEtPnRvIDwgMCkKKwkJY29udGludWU7CisJICAgIHN0YXRlLT5tYXJrZCA9IFhNTF9SRUdFWFBfTUFSS19WSVNJVEVEOworCSAgICByZXMgPSB4bWxGQVJlY3Vyc2VEZXRlcm1pbmlzbShjdHh0LCBjdHh0LT5zdGF0ZXNbdDEtPnRvXSwKKwkJICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8sIGF0b20pOworCSAgICBzdGF0ZS0+bWFya2QgPSAwOworCSAgICBpZiAocmVzID09IDApIHsKKwkgICAgICAgIHJldCA9IDA7CisJCS8qIHQxLT5uZCA9IDE7ICovCisJICAgIH0KKwkgICAgY29udGludWU7CisJfQorCWlmICh0MS0+dG8gIT0gdG8pCisJICAgIGNvbnRpbnVlOworCWlmICh4bWxGQUNvbXBhcmVBdG9tcyh0MS0+YXRvbSwgYXRvbSwgZGVlcCkpIHsKKwkgICAgcmV0ID0gMDsKKwkgICAgLyogbWFyayB0aGUgdHJhbnNpdGlvbiBhcyBub24tZGV0ZXJtaW5pc3RpYyAqLworCSAgICB0MS0+bmQgPSAxOworCX0KKyAgICB9CisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogeG1sRkFDb21wdXRlc0RldGVybWluaXNtOgorICogQGN0eHQ6ICBhIHJlZ2V4cCBwYXJzZXIgY29udGV4dAorICoKKyAqIENoZWNrIHdoZXRoZXIgdGhlIGFzc29jaWF0ZWQgcmVnZXhwIGlzIGRldGVybWluaXN0LAorICogc2hvdWxkIGJlIGNhbGxlZCBhZnRlciB4bWxGQUVsaW1pbmF0ZUVwc2lsb25UcmFuc2l0aW9ucygpCisgKgorICovCitzdGF0aWMgaW50Cit4bWxGQUNvbXB1dGVzRGV0ZXJtaW5pc20oeG1sUmVnUGFyc2VyQ3R4dFB0ciBjdHh0KSB7CisgICAgaW50IHN0YXRlbnIsIHRyYW5zbnI7CisgICAgeG1sUmVnU3RhdGVQdHIgc3RhdGU7CisgICAgeG1sUmVnVHJhbnNQdHIgdDEsIHQyLCBsYXN0OworICAgIGludCBpOworICAgIGludCByZXQgPSAxOworICAgIGludCBkZWVwID0gMTsKKworI2lmZGVmIERFQlVHX1JFR0VYUF9HUkFQSAorICAgIHByaW50ZigieG1sRkFDb21wdXRlc0RldGVybWluaXNtXG4iKTsKKyAgICB4bWxSZWdQcmludEN0eHQoc3Rkb3V0LCBjdHh0KTsKKyNlbmRpZgorICAgIGlmIChjdHh0LT5kZXRlcm1pbmlzdCAhPSAtMSkKKwlyZXR1cm4oY3R4dC0+ZGV0ZXJtaW5pc3QpOworCisgICAgaWYgKGN0eHQtPmZsYWdzICYgQU1fQVVUT01BVEFfUk5HKQorICAgICAgICBkZWVwID0gMDsKKworICAgIC8qCisgICAgICogRmlyc3QgY2xlYW51cCB0aGUgYXV0b21hdGEgcmVtb3ZpbmcgY2FuY2VsbGVkIHRyYW5zaXRpb25zCisgICAgICovCisgICAgZm9yIChzdGF0ZW5yID0gMDtzdGF0ZW5yIDwgY3R4dC0+bmJTdGF0ZXM7c3RhdGVucisrKSB7CisJc3RhdGUgPSBjdHh0LT5zdGF0ZXNbc3RhdGVucl07CisJaWYgKHN0YXRlID09IE5VTEwpCisJICAgIGNvbnRpbnVlOworCWlmIChzdGF0ZS0+bmJUcmFucyA8IDIpCisJICAgIGNvbnRpbnVlOworCWZvciAodHJhbnNuciA9IDA7dHJhbnNuciA8IHN0YXRlLT5uYlRyYW5zO3RyYW5zbnIrKykgeworCSAgICB0MSA9ICYoc3RhdGUtPnRyYW5zW3RyYW5zbnJdKTsKKwkgICAgLyoKKwkgICAgICogRGV0ZXJtaW5pc20gY2hlY2tzIGluIGNhc2Ugb2YgY291bnRlZCBvciBhbGwgdHJhbnNpdGlvbnMKKwkgICAgICogd2lsbCBoYXZlIHRvIGJlIGhhbmRsZWQgc2VwYXJhdGVseQorCSAgICAgKi8KKwkgICAgaWYgKHQxLT5hdG9tID09IE5VTEwpIHsKKwkJLyogdDEtPm5kID0gMTsgKi8KKwkJY29udGludWU7CisJICAgIH0KKwkgICAgaWYgKHQxLT50byA9PSAtMSkgLyogZWxpbWluYXRlZCAqLworCQljb250aW51ZTsKKwkgICAgZm9yIChpID0gMDtpIDwgdHJhbnNucjtpKyspIHsKKwkJdDIgPSAmKHN0YXRlLT50cmFuc1tpXSk7CisJCWlmICh0Mi0+dG8gPT0gLTEpIC8qIGVsaW1pbmF0ZWQgKi8KKwkJICAgIGNvbnRpbnVlOworCQlpZiAodDItPmF0b20gIT0gTlVMTCkgeworCQkgICAgaWYgKHQxLT50byA9PSB0Mi0+dG8pIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIC8qCisgICAgICAgICAgICAgICAgICAgICAgICAgKiBIZXJlIHdlIHVzZSBkZWVwIGJlY2F1c2Ugd2Ugd2FudCB0byBrZWVwIHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgICogdHJhbnNpdGlvbnMgd2hpY2ggaW5kaWNhdGUgYSBjb25mbGljdAorICAgICAgICAgICAgICAgICAgICAgICAgICovCisJCQlpZiAoeG1sRkFFcXVhbEF0b21zKHQxLT5hdG9tLCB0Mi0+YXRvbSwgZGVlcCkgJiYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAodDEtPmNvdW50ZXIgPT0gdDItPmNvdW50ZXIpICYmCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHQxLT5jb3VudCA9PSB0Mi0+Y291bnQpKQorCQkJICAgIHQyLT50byA9IC0xOyAvKiBlbGltaW5hdGVkICovCisJCSAgICB9CisJCX0KKwkgICAgfQorCX0KKyAgICB9CisKKyAgICAvKgorICAgICAqIENoZWNrIGZvciBhbGwgc3RhdGVzIHRoYXQgdGhlcmUgYXJlbid0IDIgdHJhbnNpdGlvbnMKKyAgICAgKiB3aXRoIHRoZSBzYW1lIGF0b20gYW5kIGEgZGlmZmVyZW50IHRhcmdldC4KKyAgICAgKi8KKyAgICBmb3IgKHN0YXRlbnIgPSAwO3N0YXRlbnIgPCBjdHh0LT5uYlN0YXRlcztzdGF0ZW5yKyspIHsKKwlzdGF0ZSA9IGN0eHQtPnN0YXRlc1tzdGF0ZW5yXTsKKwlpZiAoc3RhdGUgPT0gTlVMTCkKKwkgICAgY29udGludWU7CisJaWYgKHN0YXRlLT5uYlRyYW5zIDwgMikKKwkgICAgY29udGludWU7CisJbGFzdCA9IE5VTEw7CisJZm9yICh0cmFuc25yID0gMDt0cmFuc25yIDwgc3RhdGUtPm5iVHJhbnM7dHJhbnNucisrKSB7CisJICAgIHQxID0gJihzdGF0ZS0+dHJhbnNbdHJhbnNucl0pOworCSAgICAvKgorCSAgICAgKiBEZXRlcm1pbmlzbSBjaGVja3MgaW4gY2FzZSBvZiBjb3VudGVkIG9yIGFsbCB0cmFuc2l0aW9ucworCSAgICAgKiB3aWxsIGhhdmUgdG8gYmUgaGFuZGxlZCBzZXBhcmF0ZWx5CisJICAgICAqLworCSAgICBpZiAodDEtPmF0b20gPT0gTlVMTCkgeworCQljb250aW51ZTsKKwkgICAgfQorCSAgICBpZiAodDEtPnRvID09IC0xKSAvKiBlbGltaW5hdGVkICovCisJCWNvbnRpbnVlOworCSAgICBmb3IgKGkgPSAwO2kgPCB0cmFuc25yO2krKykgeworCQl0MiA9ICYoc3RhdGUtPnRyYW5zW2ldKTsKKwkJaWYgKHQyLT50byA9PSAtMSkgLyogZWxpbWluYXRlZCAqLworCQkgICAgY29udGludWU7CisJCWlmICh0Mi0+YXRvbSAhPSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgIC8qCisgICAgICAgICAgICAgICAgICAgICAqIEJ1dCBoZXJlIHdlIGRvbid0IHVzZSBkZWVwIGJlY2F1c2Ugd2Ugd2FudCB0bworICAgICAgICAgICAgICAgICAgICAgKiBmaW5kIHRyYW5zaXRpb25zIHdoaWNoIGluZGljYXRlIGEgY29uZmxpY3QKKyAgICAgICAgICAgICAgICAgICAgICovCisJCSAgICBpZiAoeG1sRkFDb21wYXJlQXRvbXModDEtPmF0b20sIHQyLT5hdG9tLCAxKSkgeworCQkJcmV0ID0gMDsKKwkJCS8qIG1hcmsgdGhlIHRyYW5zaXRpb25zIGFzIG5vbi1kZXRlcm1pbmlzdGljIG9uZXMgKi8KKwkJCXQxLT5uZCA9IDE7CisJCQl0Mi0+bmQgPSAxOworCQkJbGFzdCA9IHQxOworCQkgICAgfQorCQl9IGVsc2UgaWYgKHQxLT50byAhPSAtMSkgeworCQkgICAgLyoKKwkJICAgICAqIGRvIHRoZSBjbG9zdXJlIGluIGNhc2Ugb2YgcmVtYWluaW5nIHNwZWNpZmljCisJCSAgICAgKiBlcHNpbG9uIHRyYW5zaXRpb25zIGxpa2UgY2hvaWNlcyBvciBhbGwKKwkJICAgICAqLworCQkgICAgcmV0ID0geG1sRkFSZWN1cnNlRGV0ZXJtaW5pc20oY3R4dCwgY3R4dC0+c3RhdGVzW3QxLT50b10sCisJCQkJCQkgICB0Mi0+dG8sIHQyLT5hdG9tKTsKKwkJICAgIC8qIGRvbid0IHNob3J0Y3V0IHRoZSBjb21wdXRhdGlvbiBzbyBhbGwgbm9uIGRldGVybWluaXN0aWMKKwkJICAgICAgIHRyYW5zaXRpb24gZ2V0IG1hcmtlZCBkb3duCisJCSAgICBpZiAocmV0ID09IDApCisJCQlyZXR1cm4oMCk7CisJCSAgICAgKi8KKwkJICAgIGlmIChyZXQgPT0gMCkgeworCQkJdDEtPm5kID0gMTsKKwkJCS8qIHQyLT5uZCA9IDE7ICovCisJCQlsYXN0ID0gdDE7CisJCSAgICB9CisJCX0KKwkgICAgfQorCSAgICAvKiBkb24ndCBzaG9ydGN1dCB0aGUgY29tcHV0YXRpb24gc28gYWxsIG5vbiBkZXRlcm1pbmlzdGljCisJICAgICAgIHRyYW5zaXRpb24gZ2V0IG1hcmtlZCBkb3duCisJICAgIGlmIChyZXQgPT0gMCkKKwkJYnJlYWs7ICovCisJfQorCisJLyoKKwkgKiBtYXJrIHNwZWNpZmljYWxseSB0aGUgbGFzdCBub24tZGV0ZXJtaW5pc3RpYyB0cmFuc2l0aW9uCisJICogZnJvbSBhIHN0YXRlIHNpbmNlIHRoZXJlIGlzIG5vIG5lZWQgdG8gc2V0LXVwIHJvbGxiYWNrCisJICogZnJvbSBpdAorCSAqLworCWlmIChsYXN0ICE9IE5VTEwpIHsKKwkgICAgbGFzdC0+bmQgPSAyOworCX0KKworCS8qIGRvbid0IHNob3J0Y3V0IHRoZSBjb21wdXRhdGlvbiBzbyBhbGwgbm9uIGRldGVybWluaXN0aWMKKwkgICB0cmFuc2l0aW9uIGdldCBtYXJrZWQgZG93bgorCWlmIChyZXQgPT0gMCkKKwkgICAgYnJlYWs7ICovCisgICAgfQorCisgICAgY3R4dC0+ZGV0ZXJtaW5pc3QgPSByZXQ7CisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJUm91dGluZXMgdG8gY2hlY2sgaW5wdXQgYWdhaW5zdCB0cmFuc2l0aW9uIGF0b21zCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK3N0YXRpYyBpbnQKK3htbFJlZ0NoZWNrQ2hhcmFjdGVyUmFuZ2UoeG1sUmVnQXRvbVR5cGUgdHlwZSwgaW50IGNvZGVwb2ludCwgaW50IG5lZywKKwkgICAgICAgICAgICAgICAgICBpbnQgc3RhcnQsIGludCBlbmQsIGNvbnN0IHhtbENoYXIgKmJsb2NrTmFtZSkgeworICAgIGludCByZXQgPSAwOworCisgICAgc3dpdGNoICh0eXBlKSB7CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9TVFJJTkc6CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9TVUJSRUc6CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9SQU5HRVM6CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9FUFNJTE9OOgorCSAgICByZXR1cm4oLTEpOworICAgICAgICBjYXNlIFhNTF9SRUdFWFBfQU5ZQ0hBUjoKKwkgICAgcmV0ID0gKChjb2RlcG9pbnQgIT0gJ1xuJykgJiYgKGNvZGVwb2ludCAhPSAnXHInKSk7CisJICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9SRUdFWFBfQ0hBUlZBTDoKKwkgICAgcmV0ID0gKChjb2RlcG9pbnQgPj0gc3RhcnQpICYmIChjb2RlcG9pbnQgPD0gZW5kKSk7CisJICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9SRUdFWFBfTk9UU1BBQ0U6CisJICAgIG5lZyA9ICFuZWc7CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9BTllTUEFDRToKKwkgICAgcmV0ID0gKChjb2RlcG9pbnQgPT0gJ1xuJykgfHwgKGNvZGVwb2ludCA9PSAnXHInKSB8fAorCQkgICAoY29kZXBvaW50ID09ICdcdCcpIHx8IChjb2RlcG9pbnQgPT0gJyAnKSk7CisJICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9SRUdFWFBfTk9USU5JVE5BTUU6CisJICAgIG5lZyA9ICFuZWc7CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9JTklUTkFNRToKKwkgICAgcmV0ID0gKElTX0xFVFRFUihjb2RlcG9pbnQpIHx8CisJCSAgIChjb2RlcG9pbnQgPT0gJ18nKSB8fCAoY29kZXBvaW50ID09ICc6JykpOworCSAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUkVHRVhQX05PVE5BTUVDSEFSOgorCSAgICBuZWcgPSAhbmVnOworICAgICAgICBjYXNlIFhNTF9SRUdFWFBfTkFNRUNIQVI6CisJICAgIHJldCA9IChJU19MRVRURVIoY29kZXBvaW50KSB8fCBJU19ESUdJVChjb2RlcG9pbnQpIHx8CisJCSAgIChjb2RlcG9pbnQgPT0gJy4nKSB8fCAoY29kZXBvaW50ID09ICctJykgfHwKKwkJICAgKGNvZGVwb2ludCA9PSAnXycpIHx8IChjb2RlcG9pbnQgPT0gJzonKSB8fAorCQkgICBJU19DT01CSU5JTkcoY29kZXBvaW50KSB8fCBJU19FWFRFTkRFUihjb2RlcG9pbnQpKTsKKwkgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9OT1RERUNJTUFMOgorCSAgICBuZWcgPSAhbmVnOworICAgICAgICBjYXNlIFhNTF9SRUdFWFBfREVDSU1BTDoKKwkgICAgcmV0ID0geG1sVUNTSXNDYXROZChjb2RlcG9pbnQpOworCSAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUkVHRVhQX1JFQUxDSEFSOgorCSAgICBuZWcgPSAhbmVnOworICAgICAgICBjYXNlIFhNTF9SRUdFWFBfTk9UUkVBTENIQVI6CisJICAgIHJldCA9IHhtbFVDU0lzQ2F0UChjb2RlcG9pbnQpOworCSAgICBpZiAocmV0ID09IDApCisJCXJldCA9IHhtbFVDU0lzQ2F0Wihjb2RlcG9pbnQpOworCSAgICBpZiAocmV0ID09IDApCisJCXJldCA9IHhtbFVDU0lzQ2F0Qyhjb2RlcG9pbnQpOworCSAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUkVHRVhQX0xFVFRFUjoKKwkgICAgcmV0ID0geG1sVUNTSXNDYXRMKGNvZGVwb2ludCk7CisJICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9SRUdFWFBfTEVUVEVSX1VQUEVSQ0FTRToKKwkgICAgcmV0ID0geG1sVUNTSXNDYXRMdShjb2RlcG9pbnQpOworCSAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUkVHRVhQX0xFVFRFUl9MT1dFUkNBU0U6CisJICAgIHJldCA9IHhtbFVDU0lzQ2F0TGwoY29kZXBvaW50KTsKKwkgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9MRVRURVJfVElUTEVDQVNFOgorCSAgICByZXQgPSB4bWxVQ1NJc0NhdEx0KGNvZGVwb2ludCk7CisJICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9SRUdFWFBfTEVUVEVSX01PRElGSUVSOgorCSAgICByZXQgPSB4bWxVQ1NJc0NhdExtKGNvZGVwb2ludCk7CisJICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9SRUdFWFBfTEVUVEVSX09USEVSUzoKKwkgICAgcmV0ID0geG1sVUNTSXNDYXRMbyhjb2RlcG9pbnQpOworCSAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUkVHRVhQX01BUks6CisJICAgIHJldCA9IHhtbFVDU0lzQ2F0TShjb2RlcG9pbnQpOworCSAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUkVHRVhQX01BUktfTk9OU1BBQ0lORzoKKwkgICAgcmV0ID0geG1sVUNTSXNDYXRNbihjb2RlcG9pbnQpOworCSAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUkVHRVhQX01BUktfU1BBQ0VDT01CSU5JTkc6CisJICAgIHJldCA9IHhtbFVDU0lzQ2F0TWMoY29kZXBvaW50KTsKKwkgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9NQVJLX0VOQ0xPU0lORzoKKwkgICAgcmV0ID0geG1sVUNTSXNDYXRNZShjb2RlcG9pbnQpOworCSAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUkVHRVhQX05VTUJFUjoKKwkgICAgcmV0ID0geG1sVUNTSXNDYXROKGNvZGVwb2ludCk7CisJICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9SRUdFWFBfTlVNQkVSX0RFQ0lNQUw6CisJICAgIHJldCA9IHhtbFVDU0lzQ2F0TmQoY29kZXBvaW50KTsKKwkgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9OVU1CRVJfTEVUVEVSOgorCSAgICByZXQgPSB4bWxVQ1NJc0NhdE5sKGNvZGVwb2ludCk7CisJICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9SRUdFWFBfTlVNQkVSX09USEVSUzoKKwkgICAgcmV0ID0geG1sVUNTSXNDYXRObyhjb2RlcG9pbnQpOworCSAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUkVHRVhQX1BVTkNUOgorCSAgICByZXQgPSB4bWxVQ1NJc0NhdFAoY29kZXBvaW50KTsKKwkgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9QVU5DVF9DT05ORUNUT1I6CisJICAgIHJldCA9IHhtbFVDU0lzQ2F0UGMoY29kZXBvaW50KTsKKwkgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9QVU5DVF9EQVNIOgorCSAgICByZXQgPSB4bWxVQ1NJc0NhdFBkKGNvZGVwb2ludCk7CisJICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9SRUdFWFBfUFVOQ1RfT1BFTjoKKwkgICAgcmV0ID0geG1sVUNTSXNDYXRQcyhjb2RlcG9pbnQpOworCSAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUkVHRVhQX1BVTkNUX0NMT1NFOgorCSAgICByZXQgPSB4bWxVQ1NJc0NhdFBlKGNvZGVwb2ludCk7CisJICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9SRUdFWFBfUFVOQ1RfSU5JVFFVT1RFOgorCSAgICByZXQgPSB4bWxVQ1NJc0NhdFBpKGNvZGVwb2ludCk7CisJICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9SRUdFWFBfUFVOQ1RfRklOUVVPVEU6CisJICAgIHJldCA9IHhtbFVDU0lzQ2F0UGYoY29kZXBvaW50KTsKKwkgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9QVU5DVF9PVEhFUlM6CisJICAgIHJldCA9IHhtbFVDU0lzQ2F0UG8oY29kZXBvaW50KTsKKwkgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9TRVBBUjoKKwkgICAgcmV0ID0geG1sVUNTSXNDYXRaKGNvZGVwb2ludCk7CisJICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9SRUdFWFBfU0VQQVJfU1BBQ0U6CisJICAgIHJldCA9IHhtbFVDU0lzQ2F0WnMoY29kZXBvaW50KTsKKwkgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9TRVBBUl9MSU5FOgorCSAgICByZXQgPSB4bWxVQ1NJc0NhdFpsKGNvZGVwb2ludCk7CisJICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9SRUdFWFBfU0VQQVJfUEFSQToKKwkgICAgcmV0ID0geG1sVUNTSXNDYXRacChjb2RlcG9pbnQpOworCSAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUkVHRVhQX1NZTUJPTDoKKwkgICAgcmV0ID0geG1sVUNTSXNDYXRTKGNvZGVwb2ludCk7CisJICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9SRUdFWFBfU1lNQk9MX01BVEg6CisJICAgIHJldCA9IHhtbFVDU0lzQ2F0U20oY29kZXBvaW50KTsKKwkgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9TWU1CT0xfQ1VSUkVOQ1k6CisJICAgIHJldCA9IHhtbFVDU0lzQ2F0U2MoY29kZXBvaW50KTsKKwkgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9TWU1CT0xfTU9ESUZJRVI6CisJICAgIHJldCA9IHhtbFVDU0lzQ2F0U2soY29kZXBvaW50KTsKKwkgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9TWU1CT0xfT1RIRVJTOgorCSAgICByZXQgPSB4bWxVQ1NJc0NhdFNvKGNvZGVwb2ludCk7CisJICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9SRUdFWFBfT1RIRVI6CisJICAgIHJldCA9IHhtbFVDU0lzQ2F0Qyhjb2RlcG9pbnQpOworCSAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfUkVHRVhQX09USEVSX0NPTlRST0w6CisJICAgIHJldCA9IHhtbFVDU0lzQ2F0Q2MoY29kZXBvaW50KTsKKwkgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9PVEhFUl9GT1JNQVQ6CisJICAgIHJldCA9IHhtbFVDU0lzQ2F0Q2YoY29kZXBvaW50KTsKKwkgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9PVEhFUl9QUklWQVRFOgorCSAgICByZXQgPSB4bWxVQ1NJc0NhdENvKGNvZGVwb2ludCk7CisJICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9SRUdFWFBfT1RIRVJfTkE6CisJICAgIC8qIHJldCA9IHhtbFVDU0lzQ2F0Q24oY29kZXBvaW50KTsgKi8KKwkgICAgLyogU2VlbXMgaXQgZG9lc24ndCBleGlzdCBhbnltb3JlIGluIHJlY2VudCBVbmljb2RlIHJlbGVhc2VzICovCisJICAgIHJldCA9IDA7CisJICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9SRUdFWFBfQkxPQ0tfTkFNRToKKwkgICAgcmV0ID0geG1sVUNTSXNCbG9jayhjb2RlcG9pbnQsIChjb25zdCBjaGFyICopIGJsb2NrTmFtZSk7CisJICAgIGJyZWFrOworICAgIH0KKyAgICBpZiAobmVnKQorCXJldHVybighcmV0KTsKKyAgICByZXR1cm4ocmV0KTsKK30KKworc3RhdGljIGludAoreG1sUmVnQ2hlY2tDaGFyYWN0ZXIoeG1sUmVnQXRvbVB0ciBhdG9tLCBpbnQgY29kZXBvaW50KSB7CisgICAgaW50IGksIHJldCA9IDA7CisgICAgeG1sUmVnUmFuZ2VQdHIgcmFuZ2U7CisKKyAgICBpZiAoKGF0b20gPT0gTlVMTCkgfHwgKCFJU19DSEFSKGNvZGVwb2ludCkpKQorCXJldHVybigtMSk7CisKKyAgICBzd2l0Y2ggKGF0b20tPnR5cGUpIHsKKyAgICAgICAgY2FzZSBYTUxfUkVHRVhQX1NVQlJFRzoKKyAgICAgICAgY2FzZSBYTUxfUkVHRVhQX0VQU0lMT046CisJICAgIHJldHVybigtMSk7CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9DSEFSVkFMOgorICAgICAgICAgICAgcmV0dXJuKGNvZGVwb2ludCA9PSBhdG9tLT5jb2RlcG9pbnQpOworICAgICAgICBjYXNlIFhNTF9SRUdFWFBfUkFOR0VTOiB7CisJICAgIGludCBhY2NlcHQgPSAwOworCisJICAgIGZvciAoaSA9IDA7aSA8IGF0b20tPm5iUmFuZ2VzO2krKykgeworCQlyYW5nZSA9IGF0b20tPnJhbmdlc1tpXTsKKwkJaWYgKHJhbmdlLT5uZWcgPT0gMikgeworCQkgICAgcmV0ID0geG1sUmVnQ2hlY2tDaGFyYWN0ZXJSYW5nZShyYW5nZS0+dHlwZSwgY29kZXBvaW50LAorCQkJCQkJMCwgcmFuZ2UtPnN0YXJ0LCByYW5nZS0+ZW5kLAorCQkJCQkJcmFuZ2UtPmJsb2NrTmFtZSk7CisJCSAgICBpZiAocmV0ICE9IDApCisJCQlyZXR1cm4oMCk7IC8qIGV4Y2x1ZGVkIGNoYXIgKi8KKwkJfSBlbHNlIGlmIChyYW5nZS0+bmVnKSB7CisJCSAgICByZXQgPSB4bWxSZWdDaGVja0NoYXJhY3RlclJhbmdlKHJhbmdlLT50eXBlLCBjb2RlcG9pbnQsCisJCQkJCQkwLCByYW5nZS0+c3RhcnQsIHJhbmdlLT5lbmQsCisJCQkJCQlyYW5nZS0+YmxvY2tOYW1lKTsKKwkJICAgIGlmIChyZXQgPT0gMCkKKwkJICAgICAgICBhY2NlcHQgPSAxOworCQkgICAgZWxzZQorCQkgICAgICAgIHJldHVybigwKTsKKwkJfSBlbHNlIHsKKwkJICAgIHJldCA9IHhtbFJlZ0NoZWNrQ2hhcmFjdGVyUmFuZ2UocmFuZ2UtPnR5cGUsIGNvZGVwb2ludCwKKwkJCQkJCTAsIHJhbmdlLT5zdGFydCwgcmFuZ2UtPmVuZCwKKwkJCQkJCXJhbmdlLT5ibG9ja05hbWUpOworCQkgICAgaWYgKHJldCAhPSAwKQorCQkJYWNjZXB0ID0gMTsgLyogbWlnaHQgc3RpbGwgYmUgZXhjbHVkZWQgKi8KKwkJfQorCSAgICB9CisJICAgIHJldHVybihhY2NlcHQpOworCX0KKyAgICAgICAgY2FzZSBYTUxfUkVHRVhQX1NUUklORzoKKwkgICAgcHJpbnRmKCJUT0RPOiBYTUxfUkVHRVhQX1NUUklOR1xuIik7CisJICAgIHJldHVybigtMSk7CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9BTllDSEFSOgorICAgICAgICBjYXNlIFhNTF9SRUdFWFBfQU5ZU1BBQ0U6CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9OT1RTUEFDRToKKyAgICAgICAgY2FzZSBYTUxfUkVHRVhQX0lOSVROQU1FOgorICAgICAgICBjYXNlIFhNTF9SRUdFWFBfTk9USU5JVE5BTUU6CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9OQU1FQ0hBUjoKKyAgICAgICAgY2FzZSBYTUxfUkVHRVhQX05PVE5BTUVDSEFSOgorICAgICAgICBjYXNlIFhNTF9SRUdFWFBfREVDSU1BTDoKKyAgICAgICAgY2FzZSBYTUxfUkVHRVhQX05PVERFQ0lNQUw6CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9SRUFMQ0hBUjoKKyAgICAgICAgY2FzZSBYTUxfUkVHRVhQX05PVFJFQUxDSEFSOgorICAgICAgICBjYXNlIFhNTF9SRUdFWFBfTEVUVEVSOgorICAgICAgICBjYXNlIFhNTF9SRUdFWFBfTEVUVEVSX1VQUEVSQ0FTRToKKyAgICAgICAgY2FzZSBYTUxfUkVHRVhQX0xFVFRFUl9MT1dFUkNBU0U6CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9MRVRURVJfVElUTEVDQVNFOgorICAgICAgICBjYXNlIFhNTF9SRUdFWFBfTEVUVEVSX01PRElGSUVSOgorICAgICAgICBjYXNlIFhNTF9SRUdFWFBfTEVUVEVSX09USEVSUzoKKyAgICAgICAgY2FzZSBYTUxfUkVHRVhQX01BUks6CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9NQVJLX05PTlNQQUNJTkc6CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9NQVJLX1NQQUNFQ09NQklOSU5HOgorICAgICAgICBjYXNlIFhNTF9SRUdFWFBfTUFSS19FTkNMT1NJTkc6CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9OVU1CRVI6CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9OVU1CRVJfREVDSU1BTDoKKyAgICAgICAgY2FzZSBYTUxfUkVHRVhQX05VTUJFUl9MRVRURVI6CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9OVU1CRVJfT1RIRVJTOgorICAgICAgICBjYXNlIFhNTF9SRUdFWFBfUFVOQ1Q6CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9QVU5DVF9DT05ORUNUT1I6CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9QVU5DVF9EQVNIOgorICAgICAgICBjYXNlIFhNTF9SRUdFWFBfUFVOQ1RfT1BFTjoKKyAgICAgICAgY2FzZSBYTUxfUkVHRVhQX1BVTkNUX0NMT1NFOgorICAgICAgICBjYXNlIFhNTF9SRUdFWFBfUFVOQ1RfSU5JVFFVT1RFOgorICAgICAgICBjYXNlIFhNTF9SRUdFWFBfUFVOQ1RfRklOUVVPVEU6CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9QVU5DVF9PVEhFUlM6CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9TRVBBUjoKKyAgICAgICAgY2FzZSBYTUxfUkVHRVhQX1NFUEFSX1NQQUNFOgorICAgICAgICBjYXNlIFhNTF9SRUdFWFBfU0VQQVJfTElORToKKyAgICAgICAgY2FzZSBYTUxfUkVHRVhQX1NFUEFSX1BBUkE6CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9TWU1CT0w6CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9TWU1CT0xfTUFUSDoKKyAgICAgICAgY2FzZSBYTUxfUkVHRVhQX1NZTUJPTF9DVVJSRU5DWToKKyAgICAgICAgY2FzZSBYTUxfUkVHRVhQX1NZTUJPTF9NT0RJRklFUjoKKyAgICAgICAgY2FzZSBYTUxfUkVHRVhQX1NZTUJPTF9PVEhFUlM6CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9PVEhFUjoKKyAgICAgICAgY2FzZSBYTUxfUkVHRVhQX09USEVSX0NPTlRST0w6CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9PVEhFUl9GT1JNQVQ6CisgICAgICAgIGNhc2UgWE1MX1JFR0VYUF9PVEhFUl9QUklWQVRFOgorICAgICAgICBjYXNlIFhNTF9SRUdFWFBfT1RIRVJfTkE6CisJY2FzZSBYTUxfUkVHRVhQX0JMT0NLX05BTUU6CisJICAgIHJldCA9IHhtbFJlZ0NoZWNrQ2hhcmFjdGVyUmFuZ2UoYXRvbS0+dHlwZSwgY29kZXBvaW50LCAwLCAwLCAwLAorCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0IHhtbENoYXIgKilhdG9tLT52YWx1ZXApOworCSAgICBpZiAoYXRvbS0+bmVnKQorCQlyZXQgPSAhcmV0OworCSAgICBicmVhazsKKyAgICB9CisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJU2F2aW5nIGFuZCByZXN0b3Jpbmcgc3RhdGUgb2YgYW4gZXhlY3V0aW9uIGNvbnRleHQJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmZGVmIERFQlVHX1JFR0VYUF9FWEVDCitzdGF0aWMgdm9pZAoreG1sRkFSZWdEZWJ1Z0V4ZWMoeG1sUmVnRXhlY0N0eHRQdHIgZXhlYykgeworICAgIHByaW50Zigic3RhdGU6ICVkOiVkOmlkeCAlZCIsIGV4ZWMtPnN0YXRlLT5ubywgZXhlYy0+dHJhbnNubywgZXhlYy0+aW5kZXgpOworICAgIGlmIChleGVjLT5pbnB1dFN0YWNrICE9IE5VTEwpIHsKKwlpbnQgaTsKKwlwcmludGYoIjogIik7CisJZm9yIChpID0gMDsoaSA8IDMpICYmIChpIDwgZXhlYy0+aW5wdXRTdGFja05yKTtpKyspCisJICAgIHByaW50ZigiJXMgIiwgKGNvbnN0IGNoYXIgKikKKwkgICAgICAgICAgIGV4ZWMtPmlucHV0U3RhY2tbZXhlYy0+aW5wdXRTdGFja05yIC0gKGkgKyAxKV0udmFsdWUpOworICAgIH0gZWxzZSB7CisJcHJpbnRmKCI6ICVzIiwgJihleGVjLT5pbnB1dFN0cmluZ1tleGVjLT5pbmRleF0pKTsKKyAgICB9CisgICAgcHJpbnRmKCJcbiIpOworfQorI2VuZGlmCisKK3N0YXRpYyB2b2lkCit4bWxGQVJlZ0V4ZWNTYXZlKHhtbFJlZ0V4ZWNDdHh0UHRyIGV4ZWMpIHsKKyNpZmRlZiBERUJVR19SRUdFWFBfRVhFQworICAgIHByaW50Zigic2F2aW5nICIpOworICAgIGV4ZWMtPnRyYW5zbm8rKzsKKyAgICB4bWxGQVJlZ0RlYnVnRXhlYyhleGVjKTsKKyAgICBleGVjLT50cmFuc25vLS07CisjZW5kaWYKKyNpZmRlZiBNQVhfUFVTSAorICAgIGlmIChleGVjLT5uYlB1c2ggPiBNQVhfUFVTSCkgeworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGV4ZWMtPm5iUHVzaCsrOworI2VuZGlmCisKKyAgICBpZiAoZXhlYy0+bWF4Um9sbGJhY2tzID09IDApIHsKKwlleGVjLT5tYXhSb2xsYmFja3MgPSA0OworCWV4ZWMtPnJvbGxiYWNrcyA9ICh4bWxSZWdFeGVjUm9sbGJhY2sgKikgeG1sTWFsbG9jKGV4ZWMtPm1heFJvbGxiYWNrcyAqCisJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKHhtbFJlZ0V4ZWNSb2xsYmFjaykpOworCWlmIChleGVjLT5yb2xsYmFja3MgPT0gTlVMTCkgeworCSAgICB4bWxSZWdleHBFcnJNZW1vcnkoTlVMTCwgInNhdmluZyByZWdleHAiKTsKKwkgICAgZXhlYy0+bWF4Um9sbGJhY2tzID0gMDsKKwkgICAgcmV0dXJuOworCX0KKwltZW1zZXQoZXhlYy0+cm9sbGJhY2tzLCAwLAorCSAgICAgICBleGVjLT5tYXhSb2xsYmFja3MgKiBzaXplb2YoeG1sUmVnRXhlY1JvbGxiYWNrKSk7CisgICAgfSBlbHNlIGlmIChleGVjLT5uYlJvbGxiYWNrcyA+PSBleGVjLT5tYXhSb2xsYmFja3MpIHsKKwl4bWxSZWdFeGVjUm9sbGJhY2sgKnRtcDsKKwlpbnQgbGVuID0gZXhlYy0+bWF4Um9sbGJhY2tzOworCisJZXhlYy0+bWF4Um9sbGJhY2tzICo9IDI7CisJdG1wID0gKHhtbFJlZ0V4ZWNSb2xsYmFjayAqKSB4bWxSZWFsbG9jKGV4ZWMtPnJvbGxiYWNrcywKKwkJCWV4ZWMtPm1heFJvbGxiYWNrcyAqIHNpemVvZih4bWxSZWdFeGVjUm9sbGJhY2spKTsKKwlpZiAodG1wID09IE5VTEwpIHsKKwkgICAgeG1sUmVnZXhwRXJyTWVtb3J5KE5VTEwsICJzYXZpbmcgcmVnZXhwIik7CisJICAgIGV4ZWMtPm1heFJvbGxiYWNrcyAvPSAyOworCSAgICByZXR1cm47CisJfQorCWV4ZWMtPnJvbGxiYWNrcyA9IHRtcDsKKwl0bXAgPSAmZXhlYy0+cm9sbGJhY2tzW2xlbl07CisJbWVtc2V0KHRtcCwgMCwgKGV4ZWMtPm1heFJvbGxiYWNrcyAtIGxlbikgKiBzaXplb2YoeG1sUmVnRXhlY1JvbGxiYWNrKSk7CisgICAgfQorICAgIGV4ZWMtPnJvbGxiYWNrc1tleGVjLT5uYlJvbGxiYWNrc10uc3RhdGUgPSBleGVjLT5zdGF0ZTsKKyAgICBleGVjLT5yb2xsYmFja3NbZXhlYy0+bmJSb2xsYmFja3NdLmluZGV4ID0gZXhlYy0+aW5kZXg7CisgICAgZXhlYy0+cm9sbGJhY2tzW2V4ZWMtPm5iUm9sbGJhY2tzXS5uZXh0YnJhbmNoID0gZXhlYy0+dHJhbnNubyArIDE7CisgICAgaWYgKGV4ZWMtPmNvbXAtPm5iQ291bnRlcnMgPiAwKSB7CisJaWYgKGV4ZWMtPnJvbGxiYWNrc1tleGVjLT5uYlJvbGxiYWNrc10uY291bnRzID09IE5VTEwpIHsKKwkgICAgZXhlYy0+cm9sbGJhY2tzW2V4ZWMtPm5iUm9sbGJhY2tzXS5jb3VudHMgPSAoaW50ICopCisJCXhtbE1hbGxvYyhleGVjLT5jb21wLT5uYkNvdW50ZXJzICogc2l6ZW9mKGludCkpOworCSAgICBpZiAoZXhlYy0+cm9sbGJhY2tzW2V4ZWMtPm5iUm9sbGJhY2tzXS5jb3VudHMgPT0gTlVMTCkgeworCQl4bWxSZWdleHBFcnJNZW1vcnkoTlVMTCwgInNhdmluZyByZWdleHAiKTsKKwkJZXhlYy0+c3RhdHVzID0gLTU7CisJCXJldHVybjsKKwkgICAgfQorCX0KKwltZW1jcHkoZXhlYy0+cm9sbGJhY2tzW2V4ZWMtPm5iUm9sbGJhY2tzXS5jb3VudHMsIGV4ZWMtPmNvdW50cywKKwkgICAgICAgZXhlYy0+Y29tcC0+bmJDb3VudGVycyAqIHNpemVvZihpbnQpKTsKKyAgICB9CisgICAgZXhlYy0+bmJSb2xsYmFja3MrKzsKK30KKworc3RhdGljIHZvaWQKK3htbEZBUmVnRXhlY1JvbGxCYWNrKHhtbFJlZ0V4ZWNDdHh0UHRyIGV4ZWMpIHsKKyAgICBpZiAoZXhlYy0+bmJSb2xsYmFja3MgPD0gMCkgeworCWV4ZWMtPnN0YXR1cyA9IC0xOworI2lmZGVmIERFQlVHX1JFR0VYUF9FWEVDCisJcHJpbnRmKCJyb2xsYmFjayBmYWlsZWQgb24gZW1wdHkgc3RhY2tcbiIpOworI2VuZGlmCisJcmV0dXJuOworICAgIH0KKyAgICBleGVjLT5uYlJvbGxiYWNrcy0tOworICAgIGV4ZWMtPnN0YXRlID0gZXhlYy0+cm9sbGJhY2tzW2V4ZWMtPm5iUm9sbGJhY2tzXS5zdGF0ZTsKKyAgICBleGVjLT5pbmRleCA9IGV4ZWMtPnJvbGxiYWNrc1tleGVjLT5uYlJvbGxiYWNrc10uaW5kZXg7CisgICAgZXhlYy0+dHJhbnNubyA9IGV4ZWMtPnJvbGxiYWNrc1tleGVjLT5uYlJvbGxiYWNrc10ubmV4dGJyYW5jaDsKKyAgICBpZiAoZXhlYy0+Y29tcC0+bmJDb3VudGVycyA+IDApIHsKKwlpZiAoZXhlYy0+cm9sbGJhY2tzW2V4ZWMtPm5iUm9sbGJhY2tzXS5jb3VudHMgPT0gTlVMTCkgeworCSAgICBmcHJpbnRmKHN0ZGVyciwgImV4ZWMgc2F2ZTogYWxsb2NhdGlvbiBmYWlsZWQiKTsKKwkgICAgZXhlYy0+c3RhdHVzID0gLTY7CisJICAgIHJldHVybjsKKwl9CisJaWYgKGV4ZWMtPmNvdW50cykgeworCSAgICBtZW1jcHkoZXhlYy0+Y291bnRzLCBleGVjLT5yb2xsYmFja3NbZXhlYy0+bmJSb2xsYmFja3NdLmNvdW50cywKKwkgICAgICAgZXhlYy0+Y29tcC0+bmJDb3VudGVycyAqIHNpemVvZihpbnQpKTsKKwl9CisgICAgfQorCisjaWZkZWYgREVCVUdfUkVHRVhQX0VYRUMKKyAgICBwcmludGYoInJlc3RvcmVkICIpOworICAgIHhtbEZBUmVnRGVidWdFeGVjKGV4ZWMpOworI2VuZGlmCit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJVmVyaWZpZXIsIHJ1bm5pbmcgYW4gaW5wdXQgYWdhaW5zdCBhIGNvbXBpbGVkIHJlZ2V4cAkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitzdGF0aWMgaW50Cit4bWxGQVJlZ0V4ZWMoeG1sUmVnZXhwUHRyIGNvbXAsIGNvbnN0IHhtbENoYXIgKmNvbnRlbnQpIHsKKyAgICB4bWxSZWdFeGVjQ3R4dCBleGVjdmFsOworICAgIHhtbFJlZ0V4ZWNDdHh0UHRyIGV4ZWMgPSAmZXhlY3ZhbDsKKyAgICBpbnQgcmV0LCBjb2RlcG9pbnQgPSAwLCBsZW4sIGRldGVyOworCisgICAgZXhlYy0+aW5wdXRTdHJpbmcgPSBjb250ZW50OworICAgIGV4ZWMtPmluZGV4ID0gMDsKKyAgICBleGVjLT5uYlB1c2ggPSAwOworICAgIGV4ZWMtPmRldGVybWluaXN0ID0gMTsKKyAgICBleGVjLT5tYXhSb2xsYmFja3MgPSAwOworICAgIGV4ZWMtPm5iUm9sbGJhY2tzID0gMDsKKyAgICBleGVjLT5yb2xsYmFja3MgPSBOVUxMOworICAgIGV4ZWMtPnN0YXR1cyA9IDA7CisgICAgZXhlYy0+Y29tcCA9IGNvbXA7CisgICAgZXhlYy0+c3RhdGUgPSBjb21wLT5zdGF0ZXNbMF07CisgICAgZXhlYy0+dHJhbnNubyA9IDA7CisgICAgZXhlYy0+dHJhbnNjb3VudCA9IDA7CisgICAgZXhlYy0+aW5wdXRTdGFjayA9IE5VTEw7CisgICAgZXhlYy0+aW5wdXRTdGFja01heCA9IDA7CisgICAgaWYgKGNvbXAtPm5iQ291bnRlcnMgPiAwKSB7CisJZXhlYy0+Y291bnRzID0gKGludCAqKSB4bWxNYWxsb2MoY29tcC0+bmJDb3VudGVycyAqIHNpemVvZihpbnQpKTsKKwlpZiAoZXhlYy0+Y291bnRzID09IE5VTEwpIHsKKwkgICAgeG1sUmVnZXhwRXJyTWVtb3J5KE5VTEwsICJydW5uaW5nIHJlZ2V4cCIpOworCSAgICByZXR1cm4oLTEpOworCX0KKyAgICAgICAgbWVtc2V0KGV4ZWMtPmNvdW50cywgMCwgY29tcC0+bmJDb3VudGVycyAqIHNpemVvZihpbnQpKTsKKyAgICB9IGVsc2UKKwlleGVjLT5jb3VudHMgPSBOVUxMOworICAgIHdoaWxlICgoZXhlYy0+c3RhdHVzID09IDApICYmIChleGVjLT5zdGF0ZSAhPSBOVUxMKSAmJgorCSAgICgoZXhlYy0+aW5wdXRTdHJpbmdbZXhlYy0+aW5kZXhdICE9IDApIHx8CisJICAgICgoZXhlYy0+c3RhdGUgIT0gTlVMTCkgJiYKKwkgICAgIChleGVjLT5zdGF0ZS0+dHlwZSAhPSBYTUxfUkVHRVhQX0ZJTkFMX1NUQVRFKSkpKSB7CisJeG1sUmVnVHJhbnNQdHIgdHJhbnM7CisJeG1sUmVnQXRvbVB0ciBhdG9tOworCisJLyoKKwkgKiBJZiBlbmQgb2YgaW5wdXQgb24gbm9uLXRlcm1pbmFsIHN0YXRlLCByb2xsYmFjaywgaG93ZXZlciB3ZSBtYXkKKwkgKiBzdGlsbCBoYXZlIGVwc2lsb24gbGlrZSB0cmFuc2l0aW9uIGZvciBjb3VudGVkIHRyYW5zaXRpb25zCisJICogb24gY291bnRlcnMsIGluIHRoYXQgY2FzZSBkb24ndCBicmVhayB0b28gZWFybHkuICBBZGRpdGlvbmFsbHksCisJICogaWYgd2UgYXJlIHdvcmtpbmcgb24gYSByYW5nZSBsaWtlICJBQnswLDJ9Iiwgd2hlcmUgQiBpcyBub3QgcHJlc2VudCwKKwkgKiB3ZSBkb24ndCB3YW50IHRvIGJyZWFrLgorCSAqLworCWxlbiA9IDE7CisJaWYgKChleGVjLT5pbnB1dFN0cmluZ1tleGVjLT5pbmRleF0gPT0gMCkgJiYgKGV4ZWMtPmNvdW50cyA9PSBOVUxMKSkgeworCSAgICAvKgorCSAgICAgKiBpZiB0aGVyZSBpcyBhIHRyYW5zaXRpb24sIHdlIG11c3QgY2hlY2sgaWYKKwkgICAgICogIGF0b20gYWxsb3dzIG1pbk9jY3VycyBvZiAwCisJICAgICAqLworCSAgICBpZiAoZXhlYy0+dHJhbnNubyA8IGV4ZWMtPnN0YXRlLT5uYlRyYW5zKSB7CisJICAgICAgICB0cmFucyA9ICZleGVjLT5zdGF0ZS0+dHJhbnNbZXhlYy0+dHJhbnNub107CisJCWlmICh0cmFucy0+dG8gPj0wKSB7CisJCSAgICBhdG9tID0gdHJhbnMtPmF0b207CisJCSAgICBpZiAoISgoYXRvbS0+bWluID09IDApICYmIChhdG9tLT5tYXggPiAwKSkpCisJCSAgICAgICAgZ290byByb2xsYmFjazsKKwkJfQorCSAgICB9IGVsc2UKKwkgICAgICAgIGdvdG8gcm9sbGJhY2s7CisJfQorCisJZXhlYy0+dHJhbnNjb3VudCA9IDA7CisJZm9yICg7ZXhlYy0+dHJhbnNubyA8IGV4ZWMtPnN0YXRlLT5uYlRyYW5zO2V4ZWMtPnRyYW5zbm8rKykgeworCSAgICB0cmFucyA9ICZleGVjLT5zdGF0ZS0+dHJhbnNbZXhlYy0+dHJhbnNub107CisJICAgIGlmICh0cmFucy0+dG8gPCAwKQorCQljb250aW51ZTsKKwkgICAgYXRvbSA9IHRyYW5zLT5hdG9tOworCSAgICByZXQgPSAwOworCSAgICBkZXRlciA9IDE7CisJICAgIGlmICh0cmFucy0+Y291bnQgPj0gMCkgeworCQlpbnQgY291bnQ7CisJCXhtbFJlZ0NvdW50ZXJQdHIgY291bnRlcjsKKworCQlpZiAoZXhlYy0+Y291bnRzID09IE5VTEwpIHsKKwkJICAgIGV4ZWMtPnN0YXR1cyA9IC0xOworCQkgICAgZ290byBlcnJvcjsKKwkJfQorCQkvKgorCQkgKiBBIGNvdW50ZWQgdHJhbnNpdGlvbi4KKwkJICovCisKKwkJY291bnQgPSBleGVjLT5jb3VudHNbdHJhbnMtPmNvdW50XTsKKwkJY291bnRlciA9ICZleGVjLT5jb21wLT5jb3VudGVyc1t0cmFucy0+Y291bnRdOworI2lmZGVmIERFQlVHX1JFR0VYUF9FWEVDCisJCXByaW50ZigidGVzdGluZyBjb3VudCAlZDogdmFsICVkLCBtaW4gJWQsIG1heCAlZFxuIiwKKwkJICAgICAgIHRyYW5zLT5jb3VudCwgY291bnQsIGNvdW50ZXItPm1pbiwgIGNvdW50ZXItPm1heCk7CisjZW5kaWYKKwkJcmV0ID0gKChjb3VudCA+PSBjb3VudGVyLT5taW4pICYmIChjb3VudCA8PSBjb3VudGVyLT5tYXgpKTsKKwkJaWYgKChyZXQpICYmIChjb3VudGVyLT5taW4gIT0gY291bnRlci0+bWF4KSkKKwkJICAgIGRldGVyID0gMDsKKwkgICAgfSBlbHNlIGlmIChhdG9tID09IE5VTEwpIHsKKwkJZnByaW50ZihzdGRlcnIsICJlcHNpbG9uIHRyYW5zaXRpb24gbGVmdCBhdCBydW50aW1lXG4iKTsKKwkJZXhlYy0+c3RhdHVzID0gLTI7CisJCWJyZWFrOworCSAgICB9IGVsc2UgaWYgKGV4ZWMtPmlucHV0U3RyaW5nW2V4ZWMtPmluZGV4XSAhPSAwKSB7CisgICAgICAgICAgICAgICAgY29kZXBvaW50ID0gQ1VSX1NDSEFSKCYoZXhlYy0+aW5wdXRTdHJpbmdbZXhlYy0+aW5kZXhdKSwgbGVuKTsKKwkJcmV0ID0geG1sUmVnQ2hlY2tDaGFyYWN0ZXIoYXRvbSwgY29kZXBvaW50KTsKKwkJaWYgKChyZXQgPT0gMSkgJiYgKGF0b20tPm1pbiA+PSAwKSAmJiAoYXRvbS0+bWF4ID4gMCkpIHsKKwkJICAgIHhtbFJlZ1N0YXRlUHRyIHRvID0gY29tcC0+c3RhdGVzW3RyYW5zLT50b107CisKKwkJICAgIC8qCisJCSAgICAgKiB0aGlzIGlzIGEgbXVsdGlwbGUgaW5wdXQgc2VxdWVuY2UKKwkJICAgICAqIElmIHRoZXJlIGlzIGEgY291bnRlciBhc3NvY2lhdGVkIGluY3JlbWVudCBpdCBub3cuCisJCSAgICAgKiBiZWZvcmUgcG90ZW50aWFsbHkgc2F2aW5nIGFuZCByb2xsYmFjaworCQkgICAgICogZG8gbm90IGluY3JlbWVudCBpZiB0aGUgY291bnRlciBpcyBhbHJlYWR5IG92ZXIgdGhlCisJCSAgICAgKiBtYXhpbXVtIGxpbWl0IGluIHdoaWNoIGNhc2UgZ2V0IHRvIG5leHQgdHJhbnNpdGlvbgorCQkgICAgICovCisJCSAgICBpZiAodHJhbnMtPmNvdW50ZXIgPj0gMCkgeworCQkJeG1sUmVnQ291bnRlclB0ciBjb3VudGVyOworCisJCQlpZiAoKGV4ZWMtPmNvdW50cyA9PSBOVUxMKSB8fAorCQkJICAgIChleGVjLT5jb21wID09IE5VTEwpIHx8CisJCQkgICAgKGV4ZWMtPmNvbXAtPmNvdW50ZXJzID09IE5VTEwpKSB7CisJCQkgICAgZXhlYy0+c3RhdHVzID0gLTE7CisJCQkgICAgZ290byBlcnJvcjsKKwkJCX0KKwkJCWNvdW50ZXIgPSAmZXhlYy0+Y29tcC0+Y291bnRlcnNbdHJhbnMtPmNvdW50ZXJdOworCQkJaWYgKGV4ZWMtPmNvdW50c1t0cmFucy0+Y291bnRlcl0gPj0gY291bnRlci0+bWF4KQorCQkJICAgIGNvbnRpbnVlOyAvKiBmb3IgbG9vcCBvbiB0cmFuc2l0aW9ucyAqLworCisjaWZkZWYgREVCVUdfUkVHRVhQX0VYRUMKKwkJCXByaW50ZigiSW5jcmVhc2luZyBjb3VudCAlZFxuIiwgdHJhbnMtPmNvdW50ZXIpOworI2VuZGlmCisJCQlleGVjLT5jb3VudHNbdHJhbnMtPmNvdW50ZXJdKys7CisJCSAgICB9CisJCSAgICBpZiAoZXhlYy0+c3RhdGUtPm5iVHJhbnMgPiBleGVjLT50cmFuc25vICsgMSkgeworCQkJeG1sRkFSZWdFeGVjU2F2ZShleGVjKTsKKwkJICAgIH0KKwkJICAgIGV4ZWMtPnRyYW5zY291bnQgPSAxOworCQkgICAgZG8geworCQkJLyoKKwkJCSAqIFRyeSB0byBwcm9ncmVzcyBhcyBtdWNoIGFzIHBvc3NpYmxlIG9uIHRoZSBpbnB1dAorCQkJICovCisJCQlpZiAoZXhlYy0+dHJhbnNjb3VudCA9PSBhdG9tLT5tYXgpIHsKKwkJCSAgICBicmVhazsKKwkJCX0KKwkJCWV4ZWMtPmluZGV4ICs9IGxlbjsKKwkJCS8qCisJCQkgKiBFbmQgb2YgaW5wdXQ6IHN0b3AgaGVyZQorCQkJICovCisJCQlpZiAoZXhlYy0+aW5wdXRTdHJpbmdbZXhlYy0+aW5kZXhdID09IDApIHsKKwkJCSAgICBleGVjLT5pbmRleCAtPSBsZW47CisJCQkgICAgYnJlYWs7CisJCQl9CisJCQlpZiAoZXhlYy0+dHJhbnNjb3VudCA+PSBhdG9tLT5taW4pIHsKKwkJCSAgICBpbnQgdHJhbnNubyA9IGV4ZWMtPnRyYW5zbm87CisJCQkgICAgeG1sUmVnU3RhdGVQdHIgc3RhdGUgPSBleGVjLT5zdGF0ZTsKKworCQkJICAgIC8qCisJCQkgICAgICogVGhlIHRyYW5zaXRpb24gaXMgYWNjZXB0YWJsZSBzYXZlIGl0CisJCQkgICAgICovCisJCQkgICAgZXhlYy0+dHJhbnNubyA9IC0xOyAvKiB0cmljayAqLworCQkJICAgIGV4ZWMtPnN0YXRlID0gdG87CisJCQkgICAgeG1sRkFSZWdFeGVjU2F2ZShleGVjKTsKKwkJCSAgICBleGVjLT50cmFuc25vID0gdHJhbnNubzsKKwkJCSAgICBleGVjLT5zdGF0ZSA9IHN0YXRlOworCQkJfQorCQkJY29kZXBvaW50ID0gQ1VSX1NDSEFSKCYoZXhlYy0+aW5wdXRTdHJpbmdbZXhlYy0+aW5kZXhdKSwKKwkJCQkgICAgICAgICAgICAgIGxlbik7CisJCQlyZXQgPSB4bWxSZWdDaGVja0NoYXJhY3RlcihhdG9tLCBjb2RlcG9pbnQpOworCQkJZXhlYy0+dHJhbnNjb3VudCsrOworCQkgICAgfSB3aGlsZSAocmV0ID09IDEpOworCQkgICAgaWYgKGV4ZWMtPnRyYW5zY291bnQgPCBhdG9tLT5taW4pCisJCQlyZXQgPSAwOworCisJCSAgICAvKgorCQkgICAgICogSWYgdGhlIGxhc3QgY2hlY2sgZmFpbGVkIGJ1dCBvbmUgdHJhbnNpdGlvbiB3YXMgZm91bmQKKwkJICAgICAqIHBvc3NpYmxlLCByb2xsYmFjaworCQkgICAgICovCisJCSAgICBpZiAocmV0IDwgMCkKKwkJCXJldCA9IDA7CisJCSAgICBpZiAocmV0ID09IDApIHsKKwkJCWdvdG8gcm9sbGJhY2s7CisJCSAgICB9CisJCSAgICBpZiAodHJhbnMtPmNvdW50ZXIgPj0gMCkgeworCQkJaWYgKGV4ZWMtPmNvdW50cyA9PSBOVUxMKSB7CisJCQkgICAgZXhlYy0+c3RhdHVzID0gLTE7CisJCQkgICAgZ290byBlcnJvcjsKKwkJCX0KKyNpZmRlZiBERUJVR19SRUdFWFBfRVhFQworCQkJcHJpbnRmKCJEZWNyZWFzaW5nIGNvdW50ICVkXG4iLCB0cmFucy0+Y291bnRlcik7CisjZW5kaWYKKwkJCWV4ZWMtPmNvdW50c1t0cmFucy0+Y291bnRlcl0tLTsKKwkJICAgIH0KKwkJfSBlbHNlIGlmICgocmV0ID09IDApICYmIChhdG9tLT5taW4gPT0gMCkgJiYgKGF0b20tPm1heCA+IDApKSB7CisJCSAgICAvKgorCQkgICAgICogd2UgZG9uJ3QgbWF0Y2ggb24gdGhlIGNvZGVwb2ludCwgYnV0IG1pbk9jY3VycyBvZiAwCisJCSAgICAgKiBzYXlzIHRoYXQncyBvay4gIFNldHRpbmcgbGVuIHRvIDAgaW5oaWJpdHMgc3RlcHBpbmcKKwkJICAgICAqIG92ZXIgdGhlIGNvZGVwb2ludC4KKwkJICAgICAqLworCQkgICAgZXhlYy0+dHJhbnNjb3VudCA9IDE7CisJCSAgICBsZW4gPSAwOworCQkgICAgcmV0ID0gMTsKKwkJfQorCSAgICB9IGVsc2UgaWYgKChhdG9tLT5taW4gPT0gMCkgJiYgKGF0b20tPm1heCA+IDApKSB7CisJICAgICAgICAvKiBhbm90aGVyIHNwb3QgdG8gbWF0Y2ggd2hlbiBtaW5PY2N1cnMgaXMgMCAqLworCQlleGVjLT50cmFuc2NvdW50ID0gMTsKKwkJbGVuID0gMDsKKwkJcmV0ID0gMTsKKwkgICAgfQorCSAgICBpZiAocmV0ID09IDEpIHsKKwkJaWYgKCh0cmFucy0+bmQgPT0gMSkgfHwKKwkJICAgICgodHJhbnMtPmNvdW50ID49IDApICYmIChkZXRlciA9PSAwKSAmJgorCQkgICAgIChleGVjLT5zdGF0ZS0+bmJUcmFucyA+IGV4ZWMtPnRyYW5zbm8gKyAxKSkpIHsKKyNpZmRlZiBERUJVR19SRUdFWFBfRVhFQworCQkgICAgaWYgKHRyYW5zLT5uZCA9PSAxKQorCQkgICAgICAgIHByaW50ZigiU2F2aW5nIG9uIG5kIHRyYW5zaXRpb24gYXRvbSAlZCBmb3IgJWMgYXQgJWRcbiIsCisJCQkgICAgICAgdHJhbnMtPmF0b20tPm5vLCBjb2RlcG9pbnQsIGV4ZWMtPmluZGV4KTsKKwkJICAgIGVsc2UKKwkJICAgICAgICBwcmludGYoIlNhdmluZyBvbiBjb3VudGVkIHRyYW5zaXRpb24gY291bnQgJWQgZm9yICVjIGF0ICVkXG4iLAorCQkJICAgICAgIHRyYW5zLT5jb3VudCwgY29kZXBvaW50LCBleGVjLT5pbmRleCk7CisjZW5kaWYKKwkJICAgIHhtbEZBUmVnRXhlY1NhdmUoZXhlYyk7CisJCX0KKwkJaWYgKHRyYW5zLT5jb3VudGVyID49IDApIHsKKwkJICAgIHhtbFJlZ0NvdW50ZXJQdHIgY291bnRlcjsKKworICAgICAgICAgICAgICAgICAgICAvKiBtYWtlIHN1cmUgd2UgZG9uJ3QgZ28gb3ZlciB0aGUgY291bnRlciBtYXhpbXVtIHZhbHVlICovCisJCSAgICBpZiAoKGV4ZWMtPmNvdW50cyA9PSBOVUxMKSB8fAorCQkJKGV4ZWMtPmNvbXAgPT0gTlVMTCkgfHwKKwkJCShleGVjLT5jb21wLT5jb3VudGVycyA9PSBOVUxMKSkgeworCQkJZXhlYy0+c3RhdHVzID0gLTE7CisJCQlnb3RvIGVycm9yOworCQkgICAgfQorCQkgICAgY291bnRlciA9ICZleGVjLT5jb21wLT5jb3VudGVyc1t0cmFucy0+Y291bnRlcl07CisJCSAgICBpZiAoZXhlYy0+Y291bnRzW3RyYW5zLT5jb3VudGVyXSA+PSBjb3VudGVyLT5tYXgpCisJCQljb250aW51ZTsgLyogZm9yIGxvb3Agb24gdHJhbnNpdGlvbnMgKi8KKyNpZmRlZiBERUJVR19SRUdFWFBfRVhFQworCQkgICAgcHJpbnRmKCJJbmNyZWFzaW5nIGNvdW50ICVkXG4iLCB0cmFucy0+Y291bnRlcik7CisjZW5kaWYKKwkJICAgIGV4ZWMtPmNvdW50c1t0cmFucy0+Y291bnRlcl0rKzsKKwkJfQorCQlpZiAoKHRyYW5zLT5jb3VudCA+PSAwKSAmJgorCQkgICAgKHRyYW5zLT5jb3VudCA8IFJFR0VYUF9BTExfQ09VTlRFUikpIHsKKwkJICAgIGlmIChleGVjLT5jb3VudHMgPT0gTlVMTCkgeworCQkgICAgICAgIGV4ZWMtPnN0YXR1cyA9IC0xOworCQkJZ290byBlcnJvcjsKKwkJICAgIH0KKyNpZmRlZiBERUJVR19SRUdFWFBfRVhFQworCQkgICAgcHJpbnRmKCJyZXNldHRpbmcgY291bnQgJWQgb24gdHJhbnNpdGlvblxuIiwKKwkJICAgICAgICAgICB0cmFucy0+Y291bnQpOworI2VuZGlmCisJCSAgICBleGVjLT5jb3VudHNbdHJhbnMtPmNvdW50XSA9IDA7CisJCX0KKyNpZmRlZiBERUJVR19SRUdFWFBfRVhFQworCQlwcmludGYoImVudGVyaW5nIHN0YXRlICVkXG4iLCB0cmFucy0+dG8pOworI2VuZGlmCisJCWV4ZWMtPnN0YXRlID0gY29tcC0+c3RhdGVzW3RyYW5zLT50b107CisJCWV4ZWMtPnRyYW5zbm8gPSAwOworCQlpZiAodHJhbnMtPmF0b20gIT0gTlVMTCkgeworCQkgICAgZXhlYy0+aW5kZXggKz0gbGVuOworCQl9CisJCWdvdG8gcHJvZ3Jlc3M7CisJICAgIH0gZWxzZSBpZiAocmV0IDwgMCkgeworCQlleGVjLT5zdGF0dXMgPSAtNDsKKwkJYnJlYWs7CisJICAgIH0KKwl9CisJaWYgKChleGVjLT50cmFuc25vICE9IDApIHx8IChleGVjLT5zdGF0ZS0+bmJUcmFucyA9PSAwKSkgeworcm9sbGJhY2s6CisJICAgIC8qCisJICAgICAqIEZhaWxlZCB0byBmaW5kIGEgd2F5IG91dAorCSAgICAgKi8KKwkgICAgZXhlYy0+ZGV0ZXJtaW5pc3QgPSAwOworI2lmZGVmIERFQlVHX1JFR0VYUF9FWEVDCisJICAgIHByaW50Zigicm9sbGJhY2sgZnJvbSBzdGF0ZSAlZCBvbiAlZDolY1xuIiwgZXhlYy0+c3RhdGUtPm5vLAorCSAgICAgICAgICAgY29kZXBvaW50LGNvZGVwb2ludCk7CisjZW5kaWYKKwkgICAgeG1sRkFSZWdFeGVjUm9sbEJhY2soZXhlYyk7CisJfQorcHJvZ3Jlc3M6CisJY29udGludWU7CisgICAgfQorZXJyb3I6CisgICAgaWYgKGV4ZWMtPnJvbGxiYWNrcyAhPSBOVUxMKSB7CisJaWYgKGV4ZWMtPmNvdW50cyAhPSBOVUxMKSB7CisJICAgIGludCBpOworCisJICAgIGZvciAoaSA9IDA7aSA8IGV4ZWMtPm1heFJvbGxiYWNrcztpKyspCisJCWlmIChleGVjLT5yb2xsYmFja3NbaV0uY291bnRzICE9IE5VTEwpCisJCSAgICB4bWxGcmVlKGV4ZWMtPnJvbGxiYWNrc1tpXS5jb3VudHMpOworCX0KKwl4bWxGcmVlKGV4ZWMtPnJvbGxiYWNrcyk7CisgICAgfQorICAgIGlmIChleGVjLT5zdGF0ZSA9PSBOVUxMKQorICAgICAgICByZXR1cm4oLTEpOworICAgIGlmIChleGVjLT5jb3VudHMgIT0gTlVMTCkKKwl4bWxGcmVlKGV4ZWMtPmNvdW50cyk7CisgICAgaWYgKGV4ZWMtPnN0YXR1cyA9PSAwKQorCXJldHVybigxKTsKKyAgICBpZiAoZXhlYy0+c3RhdHVzID09IC0xKSB7CisJaWYgKGV4ZWMtPm5iUHVzaCA+IE1BWF9QVVNIKQorCSAgICByZXR1cm4oLTEpOworCXJldHVybigwKTsKKyAgICB9CisgICAgcmV0dXJuKGV4ZWMtPnN0YXR1cyk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJUHJvZ3Jlc3NpdmUgaW50ZXJmYWNlIHRvIHRoZSB2ZXJpZmllciBvbmUgYXRvbSBhdCBhIHRpbWUJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmZGVmIERFQlVHX0VSUgorc3RhdGljIHZvaWQgdGVzdGVycih4bWxSZWdFeGVjQ3R4dFB0ciBleGVjKTsKKyNlbmRpZgorCisvKioKKyAqIHhtbFJlZ05ld0V4ZWNDdHh0OgorICogQGNvbXA6IGEgcHJlY29tcGlsZWQgcmVndWxhciBleHByZXNzaW9uCisgKiBAY2FsbGJhY2s6IGEgY2FsbGJhY2sgZnVuY3Rpb24gdXNlZCBmb3IgaGFuZGxpbmcgcHJvZ3Jlc3NlcyBpbiB0aGUKKyAqICAgICAgICAgICAgYXV0b21hdGEgbWF0Y2hpbmcgcGhhc2UKKyAqIEBkYXRhOiB0aGUgY29udGV4dCBkYXRhIGFzc29jaWF0ZWQgdG8gdGhlIGNhbGxiYWNrIGluIHRoaXMgY29udGV4dAorICoKKyAqIEJ1aWxkIGEgY29udGV4dCB1c2VkIGZvciBwcm9ncmVzc2l2ZSBldmFsdWF0aW9uIG9mIGEgcmVnZXhwLgorICoKKyAqIFJldHVybnMgdGhlIG5ldyBjb250ZXh0CisgKi8KK3htbFJlZ0V4ZWNDdHh0UHRyCit4bWxSZWdOZXdFeGVjQ3R4dCh4bWxSZWdleHBQdHIgY29tcCwgeG1sUmVnRXhlY0NhbGxiYWNrcyBjYWxsYmFjaywgdm9pZCAqZGF0YSkgeworICAgIHhtbFJlZ0V4ZWNDdHh0UHRyIGV4ZWM7CisKKyAgICBpZiAoY29tcCA9PSBOVUxMKQorCXJldHVybihOVUxMKTsKKyAgICBpZiAoKGNvbXAtPmNvbXBhY3QgPT0gTlVMTCkgJiYgKGNvbXAtPnN0YXRlcyA9PSBOVUxMKSkKKyAgICAgICAgcmV0dXJuKE5VTEwpOworICAgIGV4ZWMgPSAoeG1sUmVnRXhlY0N0eHRQdHIpIHhtbE1hbGxvYyhzaXplb2YoeG1sUmVnRXhlY0N0eHQpKTsKKyAgICBpZiAoZXhlYyA9PSBOVUxMKSB7CisJeG1sUmVnZXhwRXJyTWVtb3J5KE5VTEwsICJjcmVhdGluZyBleGVjdXRpb24gY29udGV4dCIpOworCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgbWVtc2V0KGV4ZWMsIDAsIHNpemVvZih4bWxSZWdFeGVjQ3R4dCkpOworICAgIGV4ZWMtPmlucHV0U3RyaW5nID0gTlVMTDsKKyAgICBleGVjLT5pbmRleCA9IDA7CisgICAgZXhlYy0+ZGV0ZXJtaW5pc3QgPSAxOworICAgIGV4ZWMtPm1heFJvbGxiYWNrcyA9IDA7CisgICAgZXhlYy0+bmJSb2xsYmFja3MgPSAwOworICAgIGV4ZWMtPnJvbGxiYWNrcyA9IE5VTEw7CisgICAgZXhlYy0+c3RhdHVzID0gMDsKKyAgICBleGVjLT5jb21wID0gY29tcDsKKyAgICBpZiAoY29tcC0+Y29tcGFjdCA9PSBOVUxMKQorCWV4ZWMtPnN0YXRlID0gY29tcC0+c3RhdGVzWzBdOworICAgIGV4ZWMtPnRyYW5zbm8gPSAwOworICAgIGV4ZWMtPnRyYW5zY291bnQgPSAwOworICAgIGV4ZWMtPmNhbGxiYWNrID0gY2FsbGJhY2s7CisgICAgZXhlYy0+ZGF0YSA9IGRhdGE7CisgICAgaWYgKGNvbXAtPm5iQ291bnRlcnMgPiAwKSB7CisgICAgICAgIC8qCisJICogRm9yIGVycm9yIGhhbmRsaW5nLCBleGVjLT5jb3VudHMgaXMgYWxsb2NhdGVkIHR3aWNlIHRoZSBzaXplCisJICogdGhlIHNlY29uZCBoYWxmIGlzIHVzZWQgdG8gc3RvcmUgdGhlIGRhdGEgaW4gY2FzZSBvZiByb2xsYmFjaworCSAqLworCWV4ZWMtPmNvdW50cyA9IChpbnQgKikgeG1sTWFsbG9jKGNvbXAtPm5iQ291bnRlcnMgKiBzaXplb2YoaW50KQorCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogMik7CisJaWYgKGV4ZWMtPmNvdW50cyA9PSBOVUxMKSB7CisJICAgIHhtbFJlZ2V4cEVyck1lbW9yeShOVUxMLCAiY3JlYXRpbmcgZXhlY3V0aW9uIGNvbnRleHQiKTsKKwkgICAgeG1sRnJlZShleGVjKTsKKwkgICAgcmV0dXJuKE5VTEwpOworCX0KKyAgICAgICAgbWVtc2V0KGV4ZWMtPmNvdW50cywgMCwgY29tcC0+bmJDb3VudGVycyAqIHNpemVvZihpbnQpICogMik7CisJZXhlYy0+ZXJyQ291bnRzID0gJmV4ZWMtPmNvdW50c1tjb21wLT5uYkNvdW50ZXJzXTsKKyAgICB9IGVsc2UgeworCWV4ZWMtPmNvdW50cyA9IE5VTEw7CisJZXhlYy0+ZXJyQ291bnRzID0gTlVMTDsKKyAgICB9CisgICAgZXhlYy0+aW5wdXRTdGFja01heCA9IDA7CisgICAgZXhlYy0+aW5wdXRTdGFja05yID0gMDsKKyAgICBleGVjLT5pbnB1dFN0YWNrID0gTlVMTDsKKyAgICBleGVjLT5lcnJTdGF0ZU5vID0gLTE7CisgICAgZXhlYy0+ZXJyU3RyaW5nID0gTlVMTDsKKyAgICBleGVjLT5uYlB1c2ggPSAwOworICAgIHJldHVybihleGVjKTsKK30KKworLyoqCisgKiB4bWxSZWdGcmVlRXhlY0N0eHQ6CisgKiBAZXhlYzogYSByZWd1bGFyIGV4cHJlc3Npb24gZXZhdWxhdGlvbiBjb250ZXh0CisgKgorICogRnJlZSB0aGUgc3RydWN0dXJlcyBhc3NvY2lhdGVkIHRvIGEgcmVndWxhciBleHByZXNzaW9uIGV2YXVsYXRpb24gY29udGV4dC4KKyAqLwordm9pZAoreG1sUmVnRnJlZUV4ZWNDdHh0KHhtbFJlZ0V4ZWNDdHh0UHRyIGV4ZWMpIHsKKyAgICBpZiAoZXhlYyA9PSBOVUxMKQorCXJldHVybjsKKworICAgIGlmIChleGVjLT5yb2xsYmFja3MgIT0gTlVMTCkgeworCWlmIChleGVjLT5jb3VudHMgIT0gTlVMTCkgeworCSAgICBpbnQgaTsKKworCSAgICBmb3IgKGkgPSAwO2kgPCBleGVjLT5tYXhSb2xsYmFja3M7aSsrKQorCQlpZiAoZXhlYy0+cm9sbGJhY2tzW2ldLmNvdW50cyAhPSBOVUxMKQorCQkgICAgeG1sRnJlZShleGVjLT5yb2xsYmFja3NbaV0uY291bnRzKTsKKwl9CisJeG1sRnJlZShleGVjLT5yb2xsYmFja3MpOworICAgIH0KKyAgICBpZiAoZXhlYy0+Y291bnRzICE9IE5VTEwpCisJeG1sRnJlZShleGVjLT5jb3VudHMpOworICAgIGlmIChleGVjLT5pbnB1dFN0YWNrICE9IE5VTEwpIHsKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7aSA8IGV4ZWMtPmlucHV0U3RhY2tOcjtpKyspIHsKKwkgICAgaWYgKGV4ZWMtPmlucHV0U3RhY2tbaV0udmFsdWUgIT0gTlVMTCkKKwkJeG1sRnJlZShleGVjLT5pbnB1dFN0YWNrW2ldLnZhbHVlKTsKKwl9CisJeG1sRnJlZShleGVjLT5pbnB1dFN0YWNrKTsKKyAgICB9CisgICAgaWYgKGV4ZWMtPmVyclN0cmluZyAhPSBOVUxMKQorICAgICAgICB4bWxGcmVlKGV4ZWMtPmVyclN0cmluZyk7CisgICAgeG1sRnJlZShleGVjKTsKK30KKworc3RhdGljIHZvaWQKK3htbEZBUmVnRXhlY1NhdmVJbnB1dFN0cmluZyh4bWxSZWdFeGVjQ3R4dFB0ciBleGVjLCBjb25zdCB4bWxDaGFyICp2YWx1ZSwKKwkgICAgICAgICAgICAgICAgICAgIHZvaWQgKmRhdGEpIHsKKyNpZmRlZiBERUJVR19QVVNICisgICAgcHJpbnRmKCJzYXZpbmcgdmFsdWU6ICVkOiVzXG4iLCBleGVjLT5pbnB1dFN0YWNrTnIsIHZhbHVlKTsKKyNlbmRpZgorICAgIGlmIChleGVjLT5pbnB1dFN0YWNrTWF4ID09IDApIHsKKwlleGVjLT5pbnB1dFN0YWNrTWF4ID0gNDsKKwlleGVjLT5pbnB1dFN0YWNrID0gKHhtbFJlZ0lucHV0VG9rZW5QdHIpCisJICAgIHhtbE1hbGxvYyhleGVjLT5pbnB1dFN0YWNrTWF4ICogc2l6ZW9mKHhtbFJlZ0lucHV0VG9rZW4pKTsKKwlpZiAoZXhlYy0+aW5wdXRTdGFjayA9PSBOVUxMKSB7CisJICAgIHhtbFJlZ2V4cEVyck1lbW9yeShOVUxMLCAicHVzaGluZyBpbnB1dCBzdHJpbmciKTsKKwkgICAgZXhlYy0+aW5wdXRTdGFja01heCA9IDA7CisJICAgIHJldHVybjsKKwl9CisgICAgfSBlbHNlIGlmIChleGVjLT5pbnB1dFN0YWNrTnIgKyAxID49IGV4ZWMtPmlucHV0U3RhY2tNYXgpIHsKKwl4bWxSZWdJbnB1dFRva2VuUHRyIHRtcDsKKworCWV4ZWMtPmlucHV0U3RhY2tNYXggKj0gMjsKKwl0bXAgPSAoeG1sUmVnSW5wdXRUb2tlblB0cikgeG1sUmVhbGxvYyhleGVjLT5pbnB1dFN0YWNrLAorCQkJZXhlYy0+aW5wdXRTdGFja01heCAqIHNpemVvZih4bWxSZWdJbnB1dFRva2VuKSk7CisJaWYgKHRtcCA9PSBOVUxMKSB7CisJICAgIHhtbFJlZ2V4cEVyck1lbW9yeShOVUxMLCAicHVzaGluZyBpbnB1dCBzdHJpbmciKTsKKwkgICAgZXhlYy0+aW5wdXRTdGFja01heCAvPSAyOworCSAgICByZXR1cm47CisJfQorCWV4ZWMtPmlucHV0U3RhY2sgPSB0bXA7CisgICAgfQorICAgIGV4ZWMtPmlucHV0U3RhY2tbZXhlYy0+aW5wdXRTdGFja05yXS52YWx1ZSA9IHhtbFN0cmR1cCh2YWx1ZSk7CisgICAgZXhlYy0+aW5wdXRTdGFja1tleGVjLT5pbnB1dFN0YWNrTnJdLmRhdGEgPSBkYXRhOworICAgIGV4ZWMtPmlucHV0U3RhY2tOcisrOworICAgIGV4ZWMtPmlucHV0U3RhY2tbZXhlYy0+aW5wdXRTdGFja05yXS52YWx1ZSA9IE5VTEw7CisgICAgZXhlYy0+aW5wdXRTdGFja1tleGVjLT5pbnB1dFN0YWNrTnJdLmRhdGEgPSBOVUxMOworfQorCisvKioKKyAqIHhtbFJlZ1N0ckVxdWFsV2lsZGNhcmQ6CisgKiBAZXhwU3RyOiAgdGhlIHN0cmluZyB0byBiZSBldmFsdWF0ZWQKKyAqIEB2YWxTdHI6ICB0aGUgdmFsaWRhdGlvbiBzdHJpbmcKKyAqCisgKiBDaGVja3MgaWYgYm90aCBzdHJpbmdzIGFyZSBlcXVhbCBvciBoYXZlIHRoZSBzYW1lIGNvbnRlbnQuICIqIgorICogY2FuIGJlIHVzZWQgYXMgYSB3aWxkY2FyZCBpbiBAdmFsU3RyOyAifCIgaXMgdXNlZCBhcyBhIHNlcGVyYXRvciBvZgorICogc3Vic3RyaW5ncyBpbiBib3RoIEBleHBTdHIgYW5kIEB2YWxTdHIuCisgKgorICogUmV0dXJucyAxIGlmIHRoZSBjb21wYXJpc29uIGlzIHNhdGlzZmllZCBhbmQgdGhlIG51bWJlciBvZiBzdWJzdHJpbmdzCisgKiBpcyBlcXVhbCwgMCBvdGhlcndpc2UuCisgKi8KKworc3RhdGljIGludAoreG1sUmVnU3RyRXF1YWxXaWxkY2FyZChjb25zdCB4bWxDaGFyICpleHBTdHIsIGNvbnN0IHhtbENoYXIgKnZhbFN0cikgeworICAgIGlmIChleHBTdHIgPT0gdmFsU3RyKSByZXR1cm4oMSk7CisgICAgaWYgKGV4cFN0ciA9PSBOVUxMKSByZXR1cm4oMCk7CisgICAgaWYgKHZhbFN0ciA9PSBOVUxMKSByZXR1cm4oMCk7CisgICAgZG8geworCS8qCisJKiBFdmFsIGlmIHdlIGhhdmUgYSB3aWxkY2FyZCBmb3IgdGhlIGN1cnJlbnQgaXRlbS4KKwkqLworICAgICAgICBpZiAoKmV4cFN0ciAhPSAqdmFsU3RyKSB7CisJICAgIC8qIGlmIG9uZSBvZiB0aGVtIHN0YXJ0cyB3aXRoIGEgd2lsZGNhcmQgbWFrZSB2YWxTdHIgYmUgaXQgKi8KKwkgICAgaWYgKCp2YWxTdHIgPT0gJyonKSB7CisJICAgICAgICBjb25zdCB4bWxDaGFyICp0bXA7CisKKwkJdG1wID0gdmFsU3RyOworCQl2YWxTdHIgPSBleHBTdHI7CisJCWV4cFN0ciA9IHRtcDsKKwkgICAgfQorCSAgICBpZiAoKCp2YWxTdHIgIT0gMCkgJiYgKCpleHBTdHIgIT0gMCkgJiYgKCpleHBTdHIrKyA9PSAnKicpKSB7CisJCWRvIHsKKwkJICAgIGlmICgqdmFsU3RyID09IFhNTF9SRUdfU1RSSU5HX1NFUEFSQVRPUikKKwkJCWJyZWFrOworCQkgICAgdmFsU3RyKys7CisJCX0gd2hpbGUgKCp2YWxTdHIgIT0gMCk7CisJCWNvbnRpbnVlOworCSAgICB9IGVsc2UKKwkJcmV0dXJuKDApOworCX0KKwlleHBTdHIrKzsKKwl2YWxTdHIrKzsKKyAgICB9IHdoaWxlICgqdmFsU3RyICE9IDApOworICAgIGlmICgqZXhwU3RyICE9IDApCisJcmV0dXJuICgwKTsKKyAgICBlbHNlCisJcmV0dXJuICgxKTsKK30KKworLyoqCisgKiB4bWxSZWdDb21wYWN0UHVzaFN0cmluZzoKKyAqIEBleGVjOiBhIHJlZ2V4cCBleGVjdXRpb24gY29udGV4dAorICogQGNvbXA6ICB0aGUgcHJlY29tcGlsZWQgZXhlYyB3aXRoIGEgY29tcGFjdCB0YWJsZQorICogQHZhbHVlOiBhIHN0cmluZyB0b2tlbiBpbnB1dAorICogQGRhdGE6IGRhdGEgYXNzb2NpYXRlZCB0byB0aGUgdG9rZW4gdG8gcmV1c2UgaW4gY2FsbGJhY2tzCisgKgorICogUHVzaCBvbmUgaW5wdXQgdG9rZW4gaW4gdGhlIGV4ZWN1dGlvbiBjb250ZXh0CisgKgorICogUmV0dXJuczogMSBpZiB0aGUgcmVnZXhwIHJlYWNoZWQgYSBmaW5hbCBzdGF0ZSwgMCBpZiBub24tZmluYWwsIGFuZAorICogICAgIGEgbmVnYXRpdmUgdmFsdWUgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworc3RhdGljIGludAoreG1sUmVnQ29tcGFjdFB1c2hTdHJpbmcoeG1sUmVnRXhlY0N0eHRQdHIgZXhlYywKKwkgICAgICAgICAgICAgICAgeG1sUmVnZXhwUHRyIGNvbXAsCisJICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKnZhbHVlLAorCSAgICAgICAgICAgICAgICB2b2lkICpkYXRhKSB7CisgICAgaW50IHN0YXRlID0gZXhlYy0+aW5kZXg7CisgICAgaW50IGksIHRhcmdldDsKKworICAgIGlmICgoY29tcCA9PSBOVUxMKSB8fCAoY29tcC0+Y29tcGFjdCA9PSBOVUxMKSB8fCAoY29tcC0+c3RyaW5nTWFwID09IE5VTEwpKQorCXJldHVybigtMSk7CisKKyAgICBpZiAodmFsdWUgPT0gTlVMTCkgeworCS8qCisJICogYXJlIHdlIGF0IGEgZmluYWwgc3RhdGUgPworCSAqLworCWlmIChjb21wLT5jb21wYWN0W3N0YXRlICogKGNvbXAtPm5ic3RyaW5ncyArIDEpXSA9PQorICAgICAgICAgICAgWE1MX1JFR0VYUF9GSU5BTF9TVEFURSkKKwkgICAgcmV0dXJuKDEpOworCXJldHVybigwKTsKKyAgICB9CisKKyNpZmRlZiBERUJVR19QVVNICisgICAgcHJpbnRmKCJ2YWx1ZSBwdXNoZWQ6ICVzXG4iLCB2YWx1ZSk7CisjZW5kaWYKKworICAgIC8qCisgICAgICogRXhhbWluZSBhbGwgb3V0c2lkZSB0cmFuc2l0aW9ucyBmcm9tIGN1cnJlbnQgc3RhdGUKKyAgICAgKi8KKyAgICBmb3IgKGkgPSAwO2kgPCBjb21wLT5uYnN0cmluZ3M7aSsrKSB7CisJdGFyZ2V0ID0gY29tcC0+Y29tcGFjdFtzdGF0ZSAqIChjb21wLT5uYnN0cmluZ3MgKyAxKSArIGkgKyAxXTsKKwlpZiAoKHRhcmdldCA+IDApICYmICh0YXJnZXQgPD0gY29tcC0+bmJzdGF0ZXMpKSB7CisJICAgIHRhcmdldC0tOyAvKiB0byBhdm9pZCAwICovCisJICAgIGlmICh4bWxSZWdTdHJFcXVhbFdpbGRjYXJkKGNvbXAtPnN0cmluZ01hcFtpXSwgdmFsdWUpKSB7CisJCWV4ZWMtPmluZGV4ID0gdGFyZ2V0OworCQlpZiAoKGV4ZWMtPmNhbGxiYWNrICE9IE5VTEwpICYmIChjb21wLT50cmFuc2RhdGEgIT0gTlVMTCkpIHsKKwkJICAgIGV4ZWMtPmNhbGxiYWNrKGV4ZWMtPmRhdGEsIHZhbHVlLAorCQkJICBjb21wLT50cmFuc2RhdGFbc3RhdGUgKiBjb21wLT5uYnN0cmluZ3MgKyBpXSwgZGF0YSk7CisJCX0KKyNpZmRlZiBERUJVR19QVVNICisJCXByaW50ZigiZW50ZXJpbmcgc3RhdGUgJWRcbiIsIHRhcmdldCk7CisjZW5kaWYKKwkJaWYgKGNvbXAtPmNvbXBhY3RbdGFyZ2V0ICogKGNvbXAtPm5ic3RyaW5ncyArIDEpXSA9PQorCQkgICAgWE1MX1JFR0VYUF9TSU5LX1NUQVRFKQorCQkgICAgZ290byBlcnJvcjsKKworCQlpZiAoY29tcC0+Y29tcGFjdFt0YXJnZXQgKiAoY29tcC0+bmJzdHJpbmdzICsgMSldID09CisJCSAgICBYTUxfUkVHRVhQX0ZJTkFMX1NUQVRFKQorCQkgICAgcmV0dXJuKDEpOworCQlyZXR1cm4oMCk7CisJICAgIH0KKwl9CisgICAgfQorICAgIC8qCisgICAgICogRmFpbGVkIHRvIGZpbmQgYW4gZXhpdCB0cmFuc2l0aW9uIG91dCBmcm9tIGN1cnJlbnQgc3RhdGUgZm9yIHRoZQorICAgICAqIGN1cnJlbnQgdG9rZW4KKyAgICAgKi8KKyNpZmRlZiBERUJVR19QVVNICisgICAgcHJpbnRmKCJmYWlsZWQgdG8gZmluZCBhIHRyYW5zaXRpb24gZm9yICVzIG9uIHN0YXRlICVkXG4iLCB2YWx1ZSwgc3RhdGUpOworI2VuZGlmCitlcnJvcjoKKyAgICBpZiAoZXhlYy0+ZXJyU3RyaW5nICE9IE5VTEwpCisgICAgICAgIHhtbEZyZWUoZXhlYy0+ZXJyU3RyaW5nKTsKKyAgICBleGVjLT5lcnJTdHJpbmcgPSB4bWxTdHJkdXAodmFsdWUpOworICAgIGV4ZWMtPmVyclN0YXRlTm8gPSBzdGF0ZTsKKyAgICBleGVjLT5zdGF0dXMgPSAtMTsKKyNpZmRlZiBERUJVR19FUlIKKyAgICB0ZXN0ZXJyKGV4ZWMpOworI2VuZGlmCisgICAgcmV0dXJuKC0xKTsKK30KKworLyoqCisgKiB4bWxSZWdFeGVjUHVzaFN0cmluZ0ludGVybmFsOgorICogQGV4ZWM6IGEgcmVnZXhwIGV4ZWN1dGlvbiBjb250ZXh0IG9yIE5VTEwgdG8gaW5kaWNhdGUgdGhlIGVuZAorICogQHZhbHVlOiBhIHN0cmluZyB0b2tlbiBpbnB1dAorICogQGRhdGE6IGRhdGEgYXNzb2NpYXRlZCB0byB0aGUgdG9rZW4gdG8gcmV1c2UgaW4gY2FsbGJhY2tzCisgKiBAY29tcG91bmQ6IHZhbHVlIHdhcyBhc3NlbWJsZWQgZnJvbSAyIHN0cmluZ3MKKyAqCisgKiBQdXNoIG9uZSBpbnB1dCB0b2tlbiBpbiB0aGUgZXhlY3V0aW9uIGNvbnRleHQKKyAqCisgKiBSZXR1cm5zOiAxIGlmIHRoZSByZWdleHAgcmVhY2hlZCBhIGZpbmFsIHN0YXRlLCAwIGlmIG5vbi1maW5hbCwgYW5kCisgKiAgICAgYSBuZWdhdGl2ZSB2YWx1ZSBpbiBjYXNlIG9mIGVycm9yLgorICovCitzdGF0aWMgaW50Cit4bWxSZWdFeGVjUHVzaFN0cmluZ0ludGVybmFsKHhtbFJlZ0V4ZWNDdHh0UHRyIGV4ZWMsIGNvbnN0IHhtbENoYXIgKnZhbHVlLAorCSAgICAgICAgICAgICAgICAgICAgIHZvaWQgKmRhdGEsIGludCBjb21wb3VuZCkgeworICAgIHhtbFJlZ1RyYW5zUHRyIHRyYW5zOworICAgIHhtbFJlZ0F0b21QdHIgYXRvbTsKKyAgICBpbnQgcmV0OworICAgIGludCBmaW5hbCA9IDA7CisgICAgaW50IHByb2dyZXNzID0gMTsKKworICAgIGlmIChleGVjID09IE5VTEwpCisJcmV0dXJuKC0xKTsKKyAgICBpZiAoZXhlYy0+Y29tcCA9PSBOVUxMKQorCXJldHVybigtMSk7CisgICAgaWYgKGV4ZWMtPnN0YXR1cyAhPSAwKQorCXJldHVybihleGVjLT5zdGF0dXMpOworCisgICAgaWYgKGV4ZWMtPmNvbXAtPmNvbXBhY3QgIT0gTlVMTCkKKwlyZXR1cm4oeG1sUmVnQ29tcGFjdFB1c2hTdHJpbmcoZXhlYywgZXhlYy0+Y29tcCwgdmFsdWUsIGRhdGEpKTsKKworICAgIGlmICh2YWx1ZSA9PSBOVUxMKSB7CisgICAgICAgIGlmIChleGVjLT5zdGF0ZS0+dHlwZSA9PSBYTUxfUkVHRVhQX0ZJTkFMX1NUQVRFKQorCSAgICByZXR1cm4oMSk7CisJZmluYWwgPSAxOworICAgIH0KKworI2lmZGVmIERFQlVHX1BVU0gKKyAgICBwcmludGYoInZhbHVlIHB1c2hlZDogJXNcbiIsIHZhbHVlKTsKKyNlbmRpZgorICAgIC8qCisgICAgICogSWYgd2UgaGF2ZSBhbiBhY3RpdmUgcm9sbGJhY2sgc3RhY2sgcHVzaCB0aGUgbmV3IHZhbHVlIHRoZXJlCisgICAgICogYW5kIGdldCBiYWNrIHRvIHdoZXJlIHdlIHdlcmUgbGVmdAorICAgICAqLworICAgIGlmICgodmFsdWUgIT0gTlVMTCkgJiYgKGV4ZWMtPmlucHV0U3RhY2tOciA+IDApKSB7CisJeG1sRkFSZWdFeGVjU2F2ZUlucHV0U3RyaW5nKGV4ZWMsIHZhbHVlLCBkYXRhKTsKKwl2YWx1ZSA9IGV4ZWMtPmlucHV0U3RhY2tbZXhlYy0+aW5kZXhdLnZhbHVlOworCWRhdGEgPSBleGVjLT5pbnB1dFN0YWNrW2V4ZWMtPmluZGV4XS5kYXRhOworI2lmZGVmIERFQlVHX1BVU0gKKwlwcmludGYoInZhbHVlIGxvYWRlZDogJXNcbiIsIHZhbHVlKTsKKyNlbmRpZgorICAgIH0KKworICAgIHdoaWxlICgoZXhlYy0+c3RhdHVzID09IDApICYmCisJICAgKCh2YWx1ZSAhPSBOVUxMKSB8fAorCSAgICAoKGZpbmFsID09IDEpICYmCisJICAgICAoZXhlYy0+c3RhdGUtPnR5cGUgIT0gWE1MX1JFR0VYUF9GSU5BTF9TVEFURSkpKSkgeworCisJLyoKKwkgKiBFbmQgb2YgaW5wdXQgb24gbm9uLXRlcm1pbmFsIHN0YXRlLCByb2xsYmFjaywgaG93ZXZlciB3ZSBtYXkKKwkgKiBzdGlsbCBoYXZlIGVwc2lsb24gbGlrZSB0cmFuc2l0aW9uIGZvciBjb3VudGVkIHRyYW5zaXRpb25zCisJICogb24gY291bnRlcnMsIGluIHRoYXQgY2FzZSBkb24ndCBicmVhayB0b28gZWFybHkuCisJICovCisJaWYgKCh2YWx1ZSA9PSBOVUxMKSAmJiAoZXhlYy0+Y291bnRzID09IE5VTEwpKQorCSAgICBnb3RvIHJvbGxiYWNrOworCisJZXhlYy0+dHJhbnNjb3VudCA9IDA7CisJZm9yICg7ZXhlYy0+dHJhbnNubyA8IGV4ZWMtPnN0YXRlLT5uYlRyYW5zO2V4ZWMtPnRyYW5zbm8rKykgeworCSAgICB0cmFucyA9ICZleGVjLT5zdGF0ZS0+dHJhbnNbZXhlYy0+dHJhbnNub107CisJICAgIGlmICh0cmFucy0+dG8gPCAwKQorCQljb250aW51ZTsKKwkgICAgYXRvbSA9IHRyYW5zLT5hdG9tOworCSAgICByZXQgPSAwOworCSAgICBpZiAodHJhbnMtPmNvdW50ID09IFJFR0VYUF9BTExfTEFYX0NPVU5URVIpIHsKKwkJaW50IGk7CisJCWludCBjb3VudDsKKwkJeG1sUmVnVHJhbnNQdHIgdDsKKwkJeG1sUmVnQ291bnRlclB0ciBjb3VudGVyOworCisJCXJldCA9IDA7CisKKyNpZmRlZiBERUJVR19QVVNICisJCXByaW50ZigidGVzdGluZyBhbGwgbGF4ICVkXG4iLCB0cmFucy0+Y291bnQpOworI2VuZGlmCisJCS8qCisJCSAqIENoZWNrIGFsbCBjb3VudGVkIHRyYW5zaXRpb25zIGZyb20gdGhlIGN1cnJlbnQgc3RhdGUKKwkJICovCisJCWlmICgodmFsdWUgPT0gTlVMTCkgJiYgKGZpbmFsKSkgeworCQkgICAgcmV0ID0gMTsKKwkJfSBlbHNlIGlmICh2YWx1ZSAhPSBOVUxMKSB7CisJCSAgICBmb3IgKGkgPSAwO2kgPCBleGVjLT5zdGF0ZS0+bmJUcmFucztpKyspIHsKKwkJCXQgPSAmZXhlYy0+c3RhdGUtPnRyYW5zW2ldOworCQkJaWYgKCh0LT5jb3VudGVyIDwgMCkgfHwgKHQgPT0gdHJhbnMpKQorCQkJICAgIGNvbnRpbnVlOworCQkJY291bnRlciA9ICZleGVjLT5jb21wLT5jb3VudGVyc1t0LT5jb3VudGVyXTsKKwkJCWNvdW50ID0gZXhlYy0+Y291bnRzW3QtPmNvdW50ZXJdOworCQkJaWYgKChjb3VudCA8IGNvdW50ZXItPm1heCkgJiYKKwkJICAgICAgICAgICAgKHQtPmF0b20gIT0gTlVMTCkgJiYKKwkJCSAgICAoeG1sU3RyRXF1YWwodmFsdWUsIHQtPmF0b20tPnZhbHVlcCkpKSB7CisJCQkgICAgcmV0ID0gMDsKKwkJCSAgICBicmVhazsKKwkJCX0KKwkJCWlmICgoY291bnQgPj0gY291bnRlci0+bWluKSAmJgorCQkJICAgIChjb3VudCA8IGNvdW50ZXItPm1heCkgJiYKKwkJCSAgICAodC0+YXRvbSAhPSBOVUxMKSAmJgorCQkJICAgICh4bWxTdHJFcXVhbCh2YWx1ZSwgdC0+YXRvbS0+dmFsdWVwKSkpIHsKKwkJCSAgICByZXQgPSAxOworCQkJICAgIGJyZWFrOworCQkJfQorCQkgICAgfQorCQl9CisJICAgIH0gZWxzZSBpZiAodHJhbnMtPmNvdW50ID09IFJFR0VYUF9BTExfQ09VTlRFUikgeworCQlpbnQgaTsKKwkJaW50IGNvdW50OworCQl4bWxSZWdUcmFuc1B0ciB0OworCQl4bWxSZWdDb3VudGVyUHRyIGNvdW50ZXI7CisKKwkJcmV0ID0gMTsKKworI2lmZGVmIERFQlVHX1BVU0gKKwkJcHJpbnRmKCJ0ZXN0aW5nIGFsbCAlZFxuIiwgdHJhbnMtPmNvdW50KTsKKyNlbmRpZgorCQkvKgorCQkgKiBDaGVjayBhbGwgY291bnRlZCB0cmFuc2l0aW9ucyBmcm9tIHRoZSBjdXJyZW50IHN0YXRlCisJCSAqLworCQlmb3IgKGkgPSAwO2kgPCBleGVjLT5zdGF0ZS0+bmJUcmFucztpKyspIHsKKyAgICAgICAgICAgICAgICAgICAgdCA9ICZleGVjLT5zdGF0ZS0+dHJhbnNbaV07CisJCSAgICBpZiAoKHQtPmNvdW50ZXIgPCAwKSB8fCAodCA9PSB0cmFucykpCisJCQljb250aW51ZTsKKyAgICAgICAgICAgICAgICAgICAgY291bnRlciA9ICZleGVjLT5jb21wLT5jb3VudGVyc1t0LT5jb3VudGVyXTsKKwkJICAgIGNvdW50ID0gZXhlYy0+Y291bnRzW3QtPmNvdW50ZXJdOworCQkgICAgaWYgKChjb3VudCA8IGNvdW50ZXItPm1pbikgfHwgKGNvdW50ID4gY291bnRlci0+bWF4KSkgeworCQkJcmV0ID0gMDsKKwkJCWJyZWFrOworCQkgICAgfQorCQl9CisJICAgIH0gZWxzZSBpZiAodHJhbnMtPmNvdW50ID49IDApIHsKKwkJaW50IGNvdW50OworCQl4bWxSZWdDb3VudGVyUHRyIGNvdW50ZXI7CisKKwkJLyoKKwkJICogQSBjb3VudGVkIHRyYW5zaXRpb24uCisJCSAqLworCisJCWNvdW50ID0gZXhlYy0+Y291bnRzW3RyYW5zLT5jb3VudF07CisJCWNvdW50ZXIgPSAmZXhlYy0+Y29tcC0+Y291bnRlcnNbdHJhbnMtPmNvdW50XTsKKyNpZmRlZiBERUJVR19QVVNICisJCXByaW50ZigidGVzdGluZyBjb3VudCAlZDogdmFsICVkLCBtaW4gJWQsIG1heCAlZFxuIiwKKwkJICAgICAgIHRyYW5zLT5jb3VudCwgY291bnQsIGNvdW50ZXItPm1pbiwgIGNvdW50ZXItPm1heCk7CisjZW5kaWYKKwkJcmV0ID0gKChjb3VudCA+PSBjb3VudGVyLT5taW4pICYmIChjb3VudCA8PSBjb3VudGVyLT5tYXgpKTsKKwkgICAgfSBlbHNlIGlmIChhdG9tID09IE5VTEwpIHsKKwkJZnByaW50ZihzdGRlcnIsICJlcHNpbG9uIHRyYW5zaXRpb24gbGVmdCBhdCBydW50aW1lXG4iKTsKKwkJZXhlYy0+c3RhdHVzID0gLTI7CisJCWJyZWFrOworCSAgICB9IGVsc2UgaWYgKHZhbHVlICE9IE5VTEwpIHsKKwkJcmV0ID0geG1sUmVnU3RyRXF1YWxXaWxkY2FyZChhdG9tLT52YWx1ZXAsIHZhbHVlKTsKKwkJaWYgKGF0b20tPm5lZykgeworCQkgICAgcmV0ID0gIXJldDsKKwkJICAgIGlmICghY29tcG91bmQpCisJCSAgICAgICAgcmV0ID0gMDsKKwkJfQorCQlpZiAoKHJldCA9PSAxKSAmJiAodHJhbnMtPmNvdW50ZXIgPj0gMCkpIHsKKwkJICAgIHhtbFJlZ0NvdW50ZXJQdHIgY291bnRlcjsKKwkJICAgIGludCBjb3VudDsKKworCQkgICAgY291bnQgPSBleGVjLT5jb3VudHNbdHJhbnMtPmNvdW50ZXJdOworCQkgICAgY291bnRlciA9ICZleGVjLT5jb21wLT5jb3VudGVyc1t0cmFucy0+Y291bnRlcl07CisJCSAgICBpZiAoY291bnQgPj0gY291bnRlci0+bWF4KQorCQkJcmV0ID0gMDsKKwkJfQorCisJCWlmICgocmV0ID09IDEpICYmIChhdG9tLT5taW4gPiAwKSAmJiAoYXRvbS0+bWF4ID4gMCkpIHsKKwkJICAgIHhtbFJlZ1N0YXRlUHRyIHRvID0gZXhlYy0+Y29tcC0+c3RhdGVzW3RyYW5zLT50b107CisKKwkJICAgIC8qCisJCSAgICAgKiB0aGlzIGlzIGEgbXVsdGlwbGUgaW5wdXQgc2VxdWVuY2UKKwkJICAgICAqLworCQkgICAgaWYgKGV4ZWMtPnN0YXRlLT5uYlRyYW5zID4gZXhlYy0+dHJhbnNubyArIDEpIHsKKwkJCWlmIChleGVjLT5pbnB1dFN0YWNrTnIgPD0gMCkgeworCQkJICAgIHhtbEZBUmVnRXhlY1NhdmVJbnB1dFN0cmluZyhleGVjLCB2YWx1ZSwgZGF0YSk7CisJCQl9CisJCQl4bWxGQVJlZ0V4ZWNTYXZlKGV4ZWMpOworCQkgICAgfQorCQkgICAgZXhlYy0+dHJhbnNjb3VudCA9IDE7CisJCSAgICBkbyB7CisJCQkvKgorCQkJICogVHJ5IHRvIHByb2dyZXNzIGFzIG11Y2ggYXMgcG9zc2libGUgb24gdGhlIGlucHV0CisJCQkgKi8KKwkJCWlmIChleGVjLT50cmFuc2NvdW50ID09IGF0b20tPm1heCkgeworCQkJICAgIGJyZWFrOworCQkJfQorCQkJZXhlYy0+aW5kZXgrKzsKKwkJCXZhbHVlID0gZXhlYy0+aW5wdXRTdGFja1tleGVjLT5pbmRleF0udmFsdWU7CisJCQlkYXRhID0gZXhlYy0+aW5wdXRTdGFja1tleGVjLT5pbmRleF0uZGF0YTsKKyNpZmRlZiBERUJVR19QVVNICisJCQlwcmludGYoInZhbHVlIGxvYWRlZDogJXNcbiIsIHZhbHVlKTsKKyNlbmRpZgorCisJCQkvKgorCQkJICogRW5kIG9mIGlucHV0OiBzdG9wIGhlcmUKKwkJCSAqLworCQkJaWYgKHZhbHVlID09IE5VTEwpIHsKKwkJCSAgICBleGVjLT5pbmRleCAtLTsKKwkJCSAgICBicmVhazsKKwkJCX0KKwkJCWlmIChleGVjLT50cmFuc2NvdW50ID49IGF0b20tPm1pbikgeworCQkJICAgIGludCB0cmFuc25vID0gZXhlYy0+dHJhbnNubzsKKwkJCSAgICB4bWxSZWdTdGF0ZVB0ciBzdGF0ZSA9IGV4ZWMtPnN0YXRlOworCisJCQkgICAgLyoKKwkJCSAgICAgKiBUaGUgdHJhbnNpdGlvbiBpcyBhY2NlcHRhYmxlIHNhdmUgaXQKKwkJCSAgICAgKi8KKwkJCSAgICBleGVjLT50cmFuc25vID0gLTE7IC8qIHRyaWNrICovCisJCQkgICAgZXhlYy0+c3RhdGUgPSB0bzsKKwkJCSAgICBpZiAoZXhlYy0+aW5wdXRTdGFja05yIDw9IDApIHsKKwkJCQl4bWxGQVJlZ0V4ZWNTYXZlSW5wdXRTdHJpbmcoZXhlYywgdmFsdWUsIGRhdGEpOworCQkJICAgIH0KKwkJCSAgICB4bWxGQVJlZ0V4ZWNTYXZlKGV4ZWMpOworCQkJICAgIGV4ZWMtPnRyYW5zbm8gPSB0cmFuc25vOworCQkJICAgIGV4ZWMtPnN0YXRlID0gc3RhdGU7CisJCQl9CisJCQlyZXQgPSB4bWxTdHJFcXVhbCh2YWx1ZSwgYXRvbS0+dmFsdWVwKTsKKwkJCWV4ZWMtPnRyYW5zY291bnQrKzsKKwkJICAgIH0gd2hpbGUgKHJldCA9PSAxKTsKKwkJICAgIGlmIChleGVjLT50cmFuc2NvdW50IDwgYXRvbS0+bWluKQorCQkJcmV0ID0gMDsKKworCQkgICAgLyoKKwkJICAgICAqIElmIHRoZSBsYXN0IGNoZWNrIGZhaWxlZCBidXQgb25lIHRyYW5zaXRpb24gd2FzIGZvdW5kCisJCSAgICAgKiBwb3NzaWJsZSwgcm9sbGJhY2sKKwkJICAgICAqLworCQkgICAgaWYgKHJldCA8IDApCisJCQlyZXQgPSAwOworCQkgICAgaWYgKHJldCA9PSAwKSB7CisJCQlnb3RvIHJvbGxiYWNrOworCQkgICAgfQorCQl9CisJICAgIH0KKwkgICAgaWYgKHJldCA9PSAxKSB7CisJCWlmICgoZXhlYy0+Y2FsbGJhY2sgIT0gTlVMTCkgJiYgKGF0b20gIT0gTlVMTCkgJiYKKwkJCShkYXRhICE9IE5VTEwpKSB7CisJCSAgICBleGVjLT5jYWxsYmFjayhleGVjLT5kYXRhLCBhdG9tLT52YWx1ZXAsCisJCQkgICAgICAgICAgIGF0b20tPmRhdGEsIGRhdGEpOworCQl9CisJCWlmIChleGVjLT5zdGF0ZS0+bmJUcmFucyA+IGV4ZWMtPnRyYW5zbm8gKyAxKSB7CisJCSAgICBpZiAoZXhlYy0+aW5wdXRTdGFja05yIDw9IDApIHsKKwkJCXhtbEZBUmVnRXhlY1NhdmVJbnB1dFN0cmluZyhleGVjLCB2YWx1ZSwgZGF0YSk7CisJCSAgICB9CisJCSAgICB4bWxGQVJlZ0V4ZWNTYXZlKGV4ZWMpOworCQl9CisJCWlmICh0cmFucy0+Y291bnRlciA+PSAwKSB7CisjaWZkZWYgREVCVUdfUFVTSAorCQkgICAgcHJpbnRmKCJJbmNyZWFzaW5nIGNvdW50ICVkXG4iLCB0cmFucy0+Y291bnRlcik7CisjZW5kaWYKKwkJICAgIGV4ZWMtPmNvdW50c1t0cmFucy0+Y291bnRlcl0rKzsKKwkJfQorCQlpZiAoKHRyYW5zLT5jb3VudCA+PSAwKSAmJgorCQkgICAgKHRyYW5zLT5jb3VudCA8IFJFR0VYUF9BTExfQ09VTlRFUikpIHsKKyNpZmRlZiBERUJVR19SRUdFWFBfRVhFQworCQkgICAgcHJpbnRmKCJyZXNldHRpbmcgY291bnQgJWQgb24gdHJhbnNpdGlvblxuIiwKKwkJICAgICAgICAgICB0cmFucy0+Y291bnQpOworI2VuZGlmCisJCSAgICBleGVjLT5jb3VudHNbdHJhbnMtPmNvdW50XSA9IDA7CisJCX0KKyNpZmRlZiBERUJVR19QVVNICisJCXByaW50ZigiZW50ZXJpbmcgc3RhdGUgJWRcbiIsIHRyYW5zLT50byk7CisjZW5kaWYKKyAgICAgICAgICAgICAgICBpZiAoKGV4ZWMtPmNvbXAtPnN0YXRlc1t0cmFucy0+dG9dICE9IE5VTEwpICYmCisJCSAgICAoZXhlYy0+Y29tcC0+c3RhdGVzW3RyYW5zLT50b10tPnR5cGUgPT0KKwkJICAgICBYTUxfUkVHRVhQX1NJTktfU1RBVEUpKSB7CisJCSAgICAvKgorCQkgICAgICogZW50ZXJpbmcgYSBzaW5rIHN0YXRlLCBzYXZlIHRoZSBjdXJyZW50IHN0YXRlIGFzIGVycm9yCisJCSAgICAgKiBzdGF0ZS4KKwkJICAgICAqLworCQkgICAgaWYgKGV4ZWMtPmVyclN0cmluZyAhPSBOVUxMKQorCQkJeG1sRnJlZShleGVjLT5lcnJTdHJpbmcpOworCQkgICAgZXhlYy0+ZXJyU3RyaW5nID0geG1sU3RyZHVwKHZhbHVlKTsKKwkJICAgIGV4ZWMtPmVyclN0YXRlID0gZXhlYy0+c3RhdGU7CisJCSAgICBtZW1jcHkoZXhlYy0+ZXJyQ291bnRzLCBleGVjLT5jb3VudHMsCisJCQkgICBleGVjLT5jb21wLT5uYkNvdW50ZXJzICogc2l6ZW9mKGludCkpOworCQl9CisJCWV4ZWMtPnN0YXRlID0gZXhlYy0+Y29tcC0+c3RhdGVzW3RyYW5zLT50b107CisJCWV4ZWMtPnRyYW5zbm8gPSAwOworCQlpZiAodHJhbnMtPmF0b20gIT0gTlVMTCkgeworCQkgICAgaWYgKGV4ZWMtPmlucHV0U3RhY2sgIT0gTlVMTCkgeworCQkJZXhlYy0+aW5kZXgrKzsKKwkJCWlmIChleGVjLT5pbmRleCA8IGV4ZWMtPmlucHV0U3RhY2tOcikgeworCQkJICAgIHZhbHVlID0gZXhlYy0+aW5wdXRTdGFja1tleGVjLT5pbmRleF0udmFsdWU7CisJCQkgICAgZGF0YSA9IGV4ZWMtPmlucHV0U3RhY2tbZXhlYy0+aW5kZXhdLmRhdGE7CisjaWZkZWYgREVCVUdfUFVTSAorCQkJICAgIHByaW50ZigidmFsdWUgbG9hZGVkOiAlc1xuIiwgdmFsdWUpOworI2VuZGlmCisJCQl9IGVsc2UgeworCQkJICAgIHZhbHVlID0gTlVMTDsKKwkJCSAgICBkYXRhID0gTlVMTDsKKyNpZmRlZiBERUJVR19QVVNICisJCQkgICAgcHJpbnRmKCJlbmQgb2YgaW5wdXRcbiIpOworI2VuZGlmCisJCQl9CisJCSAgICB9IGVsc2UgeworCQkJdmFsdWUgPSBOVUxMOworCQkJZGF0YSA9IE5VTEw7CisjaWZkZWYgREVCVUdfUFVTSAorCQkJcHJpbnRmKCJlbmQgb2YgaW5wdXRcbiIpOworI2VuZGlmCisJCSAgICB9CisJCX0KKwkJZ290byBwcm9ncmVzczsKKwkgICAgfSBlbHNlIGlmIChyZXQgPCAwKSB7CisJCWV4ZWMtPnN0YXR1cyA9IC00OworCQlicmVhazsKKwkgICAgfQorCX0KKwlpZiAoKGV4ZWMtPnRyYW5zbm8gIT0gMCkgfHwgKGV4ZWMtPnN0YXRlLT5uYlRyYW5zID09IDApKSB7Cityb2xsYmFjazoKKyAgICAgICAgICAgIC8qCisJICAgICAqIGlmIHdlIGRpZG4ndCB5ZXQgcm9sbGJhY2sgb24gdGhlIGN1cnJlbnQgaW5wdXQKKwkgICAgICogc3RvcmUgdGhlIGN1cnJlbnQgc3RhdGUgYXMgdGhlIGVycm9yIHN0YXRlLgorCSAgICAgKi8KKwkgICAgaWYgKChwcm9ncmVzcykgJiYgKGV4ZWMtPnN0YXRlICE9IE5VTEwpICYmCisJICAgICAgICAoZXhlYy0+c3RhdGUtPnR5cGUgIT0gWE1MX1JFR0VYUF9TSU5LX1NUQVRFKSkgeworCSAgICAgICAgcHJvZ3Jlc3MgPSAwOworCQlpZiAoZXhlYy0+ZXJyU3RyaW5nICE9IE5VTEwpCisJCSAgICB4bWxGcmVlKGV4ZWMtPmVyclN0cmluZyk7CisJCWV4ZWMtPmVyclN0cmluZyA9IHhtbFN0cmR1cCh2YWx1ZSk7CisJCWV4ZWMtPmVyclN0YXRlID0gZXhlYy0+c3RhdGU7CisJCW1lbWNweShleGVjLT5lcnJDb3VudHMsIGV4ZWMtPmNvdW50cywKKwkJICAgICAgIGV4ZWMtPmNvbXAtPm5iQ291bnRlcnMgKiBzaXplb2YoaW50KSk7CisJICAgIH0KKworCSAgICAvKgorCSAgICAgKiBGYWlsZWQgdG8gZmluZCBhIHdheSBvdXQKKwkgICAgICovCisJICAgIGV4ZWMtPmRldGVybWluaXN0ID0gMDsKKwkgICAgeG1sRkFSZWdFeGVjUm9sbEJhY2soZXhlYyk7CisJICAgIGlmICgoZXhlYy0+aW5wdXRTdGFjayAhPSBOVUxMICkgJiYgKGV4ZWMtPnN0YXR1cyA9PSAwKSkgeworCQl2YWx1ZSA9IGV4ZWMtPmlucHV0U3RhY2tbZXhlYy0+aW5kZXhdLnZhbHVlOworCQlkYXRhID0gZXhlYy0+aW5wdXRTdGFja1tleGVjLT5pbmRleF0uZGF0YTsKKyNpZmRlZiBERUJVR19QVVNICisJCXByaW50ZigidmFsdWUgbG9hZGVkOiAlc1xuIiwgdmFsdWUpOworI2VuZGlmCisJICAgIH0KKwl9CisJY29udGludWU7Citwcm9ncmVzczoKKyAgICAgICAgcHJvZ3Jlc3MgPSAxOworCWNvbnRpbnVlOworICAgIH0KKyAgICBpZiAoZXhlYy0+c3RhdHVzID09IDApIHsKKyAgICAgICAgcmV0dXJuKGV4ZWMtPnN0YXRlLT50eXBlID09IFhNTF9SRUdFWFBfRklOQUxfU1RBVEUpOworICAgIH0KKyNpZmRlZiBERUJVR19FUlIKKyAgICBpZiAoZXhlYy0+c3RhdHVzIDwgMCkgeworCXRlc3RlcnIoZXhlYyk7CisgICAgfQorI2VuZGlmCisgICAgcmV0dXJuKGV4ZWMtPnN0YXR1cyk7Cit9CisKKy8qKgorICogeG1sUmVnRXhlY1B1c2hTdHJpbmc6CisgKiBAZXhlYzogYSByZWdleHAgZXhlY3V0aW9uIGNvbnRleHQgb3IgTlVMTCB0byBpbmRpY2F0ZSB0aGUgZW5kCisgKiBAdmFsdWU6IGEgc3RyaW5nIHRva2VuIGlucHV0CisgKiBAZGF0YTogZGF0YSBhc3NvY2lhdGVkIHRvIHRoZSB0b2tlbiB0byByZXVzZSBpbiBjYWxsYmFja3MKKyAqCisgKiBQdXNoIG9uZSBpbnB1dCB0b2tlbiBpbiB0aGUgZXhlY3V0aW9uIGNvbnRleHQKKyAqCisgKiBSZXR1cm5zOiAxIGlmIHRoZSByZWdleHAgcmVhY2hlZCBhIGZpbmFsIHN0YXRlLCAwIGlmIG5vbi1maW5hbCwgYW5kCisgKiAgICAgYSBuZWdhdGl2ZSB2YWx1ZSBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQKK3htbFJlZ0V4ZWNQdXNoU3RyaW5nKHhtbFJlZ0V4ZWNDdHh0UHRyIGV4ZWMsIGNvbnN0IHhtbENoYXIgKnZhbHVlLAorCSAgICAgICAgICAgICB2b2lkICpkYXRhKSB7CisgICAgcmV0dXJuKHhtbFJlZ0V4ZWNQdXNoU3RyaW5nSW50ZXJuYWwoZXhlYywgdmFsdWUsIGRhdGEsIDApKTsKK30KKworLyoqCisgKiB4bWxSZWdFeGVjUHVzaFN0cmluZzI6CisgKiBAZXhlYzogYSByZWdleHAgZXhlY3V0aW9uIGNvbnRleHQgb3IgTlVMTCB0byBpbmRpY2F0ZSB0aGUgZW5kCisgKiBAdmFsdWU6IHRoZSBmaXJzdCBzdHJpbmcgdG9rZW4gaW5wdXQKKyAqIEB2YWx1ZTI6IHRoZSBzZWNvbmQgc3RyaW5nIHRva2VuIGlucHV0CisgKiBAZGF0YTogZGF0YSBhc3NvY2lhdGVkIHRvIHRoZSB0b2tlbiB0byByZXVzZSBpbiBjYWxsYmFja3MKKyAqCisgKiBQdXNoIG9uZSBpbnB1dCB0b2tlbiBpbiB0aGUgZXhlY3V0aW9uIGNvbnRleHQKKyAqCisgKiBSZXR1cm5zOiAxIGlmIHRoZSByZWdleHAgcmVhY2hlZCBhIGZpbmFsIHN0YXRlLCAwIGlmIG5vbi1maW5hbCwgYW5kCisgKiAgICAgYSBuZWdhdGl2ZSB2YWx1ZSBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQKK3htbFJlZ0V4ZWNQdXNoU3RyaW5nMih4bWxSZWdFeGVjQ3R4dFB0ciBleGVjLCBjb25zdCB4bWxDaGFyICp2YWx1ZSwKKyAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICp2YWx1ZTIsIHZvaWQgKmRhdGEpIHsKKyAgICB4bWxDaGFyIGJ1ZlsxNTBdOworICAgIGludCBsZW5uLCBsZW5wLCByZXQ7CisgICAgeG1sQ2hhciAqc3RyOworCisgICAgaWYgKGV4ZWMgPT0gTlVMTCkKKwlyZXR1cm4oLTEpOworICAgIGlmIChleGVjLT5jb21wID09IE5VTEwpCisJcmV0dXJuKC0xKTsKKyAgICBpZiAoZXhlYy0+c3RhdHVzICE9IDApCisJcmV0dXJuKGV4ZWMtPnN0YXR1cyk7CisKKyAgICBpZiAodmFsdWUyID09IE5VTEwpCisgICAgICAgIHJldHVybih4bWxSZWdFeGVjUHVzaFN0cmluZyhleGVjLCB2YWx1ZSwgZGF0YSkpOworCisgICAgbGVubiA9IHN0cmxlbigoY2hhciAqKSB2YWx1ZTIpOworICAgIGxlbnAgPSBzdHJsZW4oKGNoYXIgKikgdmFsdWUpOworCisgICAgaWYgKDE1MCA8IGxlbm4gKyBsZW5wICsgMikgeworCXN0ciA9ICh4bWxDaGFyICopIHhtbE1hbGxvY0F0b21pYyhsZW5uICsgbGVucCArIDIpOworCWlmIChzdHIgPT0gTlVMTCkgeworCSAgICBleGVjLT5zdGF0dXMgPSAtMTsKKwkgICAgcmV0dXJuKC0xKTsKKwl9CisgICAgfSBlbHNlIHsKKwlzdHIgPSBidWY7CisgICAgfQorICAgIG1lbWNweSgmc3RyWzBdLCB2YWx1ZSwgbGVucCk7CisgICAgc3RyW2xlbnBdID0gWE1MX1JFR19TVFJJTkdfU0VQQVJBVE9SOworICAgIG1lbWNweSgmc3RyW2xlbnAgKyAxXSwgdmFsdWUyLCBsZW5uKTsKKyAgICBzdHJbbGVubiArIGxlbnAgKyAxXSA9IDA7CisKKyAgICBpZiAoZXhlYy0+Y29tcC0+Y29tcGFjdCAhPSBOVUxMKQorCXJldCA9IHhtbFJlZ0NvbXBhY3RQdXNoU3RyaW5nKGV4ZWMsIGV4ZWMtPmNvbXAsIHN0ciwgZGF0YSk7CisgICAgZWxzZQorICAgICAgICByZXQgPSB4bWxSZWdFeGVjUHVzaFN0cmluZ0ludGVybmFsKGV4ZWMsIHN0ciwgZGF0YSwgMSk7CisKKyAgICBpZiAoc3RyICE9IGJ1ZikKKyAgICAgICAgeG1sRnJlZShzdHIpOworICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbFJlZ0V4ZWNHZXRWYWx1ZXM6CisgKiBAZXhlYzogYSByZWdleHAgZXhlY3V0aW9uIGNvbnRleHQKKyAqIEBlcnI6IGVycm9yIGV4dHJhY3Rpb24gb3Igbm9ybWFsIG9uZQorICogQG5idmFsOiBwb2ludGVyIHRvIHRoZSBudW1iZXIgb2YgYWNjZXB0ZWQgdmFsdWVzIElOL09VVAorICogQG5ibmVnOiByZXR1cm4gbnVtYmVyIG9mIG5lZ2F0aXZlIHRyYW5zaXRpb25zCisgKiBAdmFsdWVzOiBwb2ludGVyIHRvIHRoZSBhcnJheSBvZiBhY2NlcHRhYmxlIHZhbHVlcworICogQHRlcm1pbmFsOiByZXR1cm4gdmFsdWUgaWYgdGhpcyB3YXMgYSB0ZXJtaW5hbCBzdGF0ZQorICoKKyAqIEV4dHJhY3QgaW5mb3JtYXRpb25zIGZyb20gdGhlIHJlZ2V4cCBleGVjdXRpb24sIGludGVybmFsIHJvdXRpbmUgdG8KKyAqIGltcGxlbWVudCB4bWxSZWdFeGVjTmV4dFZhbHVlcygpIGFuZCB4bWxSZWdFeGVjRXJySW5mbygpCisgKgorICogUmV0dXJuczogMCBpbiBjYXNlIG9mIHN1Y2Nlc3Mgb3IgLTEgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworc3RhdGljIGludAoreG1sUmVnRXhlY0dldFZhbHVlcyh4bWxSZWdFeGVjQ3R4dFB0ciBleGVjLCBpbnQgZXJyLAorICAgICAgICAgICAgICAgICAgICBpbnQgKm5idmFsLCBpbnQgKm5ibmVnLAorCQkgICAgeG1sQ2hhciAqKnZhbHVlcywgaW50ICp0ZXJtaW5hbCkgeworICAgIGludCBtYXh2YWw7CisgICAgaW50IG5iID0gMDsKKworICAgIGlmICgoZXhlYyA9PSBOVUxMKSB8fCAobmJ2YWwgPT0gTlVMTCkgfHwgKG5ibmVnID09IE5VTEwpIHx8CisgICAgICAgICh2YWx1ZXMgPT0gTlVMTCkgfHwgKCpuYnZhbCA8PSAwKSkKKyAgICAgICAgcmV0dXJuKC0xKTsKKworICAgIG1heHZhbCA9ICpuYnZhbDsKKyAgICAqbmJ2YWwgPSAwOworICAgICpuYm5lZyA9IDA7CisgICAgaWYgKChleGVjLT5jb21wICE9IE5VTEwpICYmIChleGVjLT5jb21wLT5jb21wYWN0ICE9IE5VTEwpKSB7CisgICAgICAgIHhtbFJlZ2V4cFB0ciBjb21wOworCWludCB0YXJnZXQsIGksIHN0YXRlOworCisgICAgICAgIGNvbXAgPSBleGVjLT5jb21wOworCisJaWYgKGVycikgeworCSAgICBpZiAoZXhlYy0+ZXJyU3RhdGVObyA9PSAtMSkgcmV0dXJuKC0xKTsKKwkgICAgc3RhdGUgPSBleGVjLT5lcnJTdGF0ZU5vOworCX0gZWxzZSB7CisJICAgIHN0YXRlID0gZXhlYy0+aW5kZXg7CisJfQorCWlmICh0ZXJtaW5hbCAhPSBOVUxMKSB7CisJICAgIGlmIChjb21wLT5jb21wYWN0W3N0YXRlICogKGNvbXAtPm5ic3RyaW5ncyArIDEpXSA9PQorCSAgICAgICAgWE1MX1JFR0VYUF9GSU5BTF9TVEFURSkKKwkJKnRlcm1pbmFsID0gMTsKKwkgICAgZWxzZQorCQkqdGVybWluYWwgPSAwOworCX0KKwlmb3IgKGkgPSAwOyhpIDwgY29tcC0+bmJzdHJpbmdzKSAmJiAobmIgPCBtYXh2YWwpO2krKykgeworCSAgICB0YXJnZXQgPSBjb21wLT5jb21wYWN0W3N0YXRlICogKGNvbXAtPm5ic3RyaW5ncyArIDEpICsgaSArIDFdOworCSAgICBpZiAoKHRhcmdldCA+IDApICYmICh0YXJnZXQgPD0gY29tcC0+bmJzdGF0ZXMpICYmCisJICAgICAgICAoY29tcC0+Y29tcGFjdFsodGFyZ2V0IC0gMSkgKiAoY29tcC0+bmJzdHJpbmdzICsgMSldICE9CisJCSBYTUxfUkVHRVhQX1NJTktfU1RBVEUpKSB7CisJICAgICAgICB2YWx1ZXNbbmIrK10gPSBjb21wLT5zdHJpbmdNYXBbaV07CisJCSgqbmJ2YWwpKys7CisJICAgIH0KKwl9CisJZm9yIChpID0gMDsoaSA8IGNvbXAtPm5ic3RyaW5ncykgJiYgKG5iIDwgbWF4dmFsKTtpKyspIHsKKwkgICAgdGFyZ2V0ID0gY29tcC0+Y29tcGFjdFtzdGF0ZSAqIChjb21wLT5uYnN0cmluZ3MgKyAxKSArIGkgKyAxXTsKKwkgICAgaWYgKCh0YXJnZXQgPiAwKSAmJiAodGFyZ2V0IDw9IGNvbXAtPm5ic3RhdGVzKSAmJgorCSAgICAgICAgKGNvbXAtPmNvbXBhY3RbKHRhcmdldCAtIDEpICogKGNvbXAtPm5ic3RyaW5ncyArIDEpXSA9PQorCQkgWE1MX1JFR0VYUF9TSU5LX1NUQVRFKSkgeworCSAgICAgICAgdmFsdWVzW25iKytdID0gY29tcC0+c3RyaW5nTWFwW2ldOworCQkoKm5ibmVnKSsrOworCSAgICB9CisJfQorICAgIH0gZWxzZSB7CisgICAgICAgIGludCB0cmFuc25vOworCXhtbFJlZ1RyYW5zUHRyIHRyYW5zOworCXhtbFJlZ0F0b21QdHIgYXRvbTsKKwl4bWxSZWdTdGF0ZVB0ciBzdGF0ZTsKKworCWlmICh0ZXJtaW5hbCAhPSBOVUxMKSB7CisJICAgIGlmIChleGVjLT5zdGF0ZS0+dHlwZSA9PSBYTUxfUkVHRVhQX0ZJTkFMX1NUQVRFKQorCQkqdGVybWluYWwgPSAxOworCSAgICBlbHNlCisJCSp0ZXJtaW5hbCA9IDA7CisJfQorCisJaWYgKGVycikgeworCSAgICBpZiAoZXhlYy0+ZXJyU3RhdGUgPT0gTlVMTCkgcmV0dXJuKC0xKTsKKwkgICAgc3RhdGUgPSBleGVjLT5lcnJTdGF0ZTsKKwl9IGVsc2UgeworCSAgICBpZiAoZXhlYy0+c3RhdGUgPT0gTlVMTCkgcmV0dXJuKC0xKTsKKwkgICAgc3RhdGUgPSBleGVjLT5zdGF0ZTsKKwl9CisJZm9yICh0cmFuc25vID0gMDsKKwkgICAgICh0cmFuc25vIDwgc3RhdGUtPm5iVHJhbnMpICYmIChuYiA8IG1heHZhbCk7CisJICAgICB0cmFuc25vKyspIHsKKwkgICAgdHJhbnMgPSAmc3RhdGUtPnRyYW5zW3RyYW5zbm9dOworCSAgICBpZiAodHJhbnMtPnRvIDwgMCkKKwkJY29udGludWU7CisJICAgIGF0b20gPSB0cmFucy0+YXRvbTsKKwkgICAgaWYgKChhdG9tID09IE5VTEwpIHx8IChhdG9tLT52YWx1ZXAgPT0gTlVMTCkpCisJCWNvbnRpbnVlOworCSAgICBpZiAodHJhbnMtPmNvdW50ID09IFJFR0VYUF9BTExfTEFYX0NPVU5URVIpIHsKKwkgICAgICAgIC8qIHRoaXMgc2hvdWxkIG5vdCBiZSByZWFjaGVkIGJ1dCAuLi4gKi8KKwkgICAgICAgIFRPRE87CisJICAgIH0gZWxzZSBpZiAodHJhbnMtPmNvdW50ID09IFJFR0VYUF9BTExfQ09VTlRFUikgeworCSAgICAgICAgLyogdGhpcyBzaG91bGQgbm90IGJlIHJlYWNoZWQgYnV0IC4uLiAqLworCSAgICAgICAgVE9ETzsKKwkgICAgfSBlbHNlIGlmICh0cmFucy0+Y291bnRlciA+PSAwKSB7CisJCXhtbFJlZ0NvdW50ZXJQdHIgY291bnRlciA9IE5VTEw7CisJCWludCBjb3VudDsKKworCQlpZiAoZXJyKQorCQkgICAgY291bnQgPSBleGVjLT5lcnJDb3VudHNbdHJhbnMtPmNvdW50ZXJdOworCQllbHNlCisJCSAgICBjb3VudCA9IGV4ZWMtPmNvdW50c1t0cmFucy0+Y291bnRlcl07CisJCWlmIChleGVjLT5jb21wICE9IE5VTEwpCisJCSAgICBjb3VudGVyID0gJmV4ZWMtPmNvbXAtPmNvdW50ZXJzW3RyYW5zLT5jb3VudGVyXTsKKwkJaWYgKChjb3VudGVyID09IE5VTEwpIHx8IChjb3VudCA8IGNvdW50ZXItPm1heCkpIHsKKwkJICAgIGlmIChhdG9tLT5uZWcpCisJCQl2YWx1ZXNbbmIrK10gPSAoeG1sQ2hhciAqKSBhdG9tLT52YWx1ZXAyOworCQkgICAgZWxzZQorCQkJdmFsdWVzW25iKytdID0gKHhtbENoYXIgKikgYXRvbS0+dmFsdWVwOworCQkgICAgKCpuYnZhbCkrKzsKKwkJfQorCSAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIGlmICgoZXhlYy0+Y29tcCAhPSBOVUxMKSAmJiAoZXhlYy0+Y29tcC0+c3RhdGVzW3RyYW5zLT50b10gIT0gTlVMTCkgJiYKKwkJICAgIChleGVjLT5jb21wLT5zdGF0ZXNbdHJhbnMtPnRvXS0+dHlwZSAhPQorCQkgICAgIFhNTF9SRUdFWFBfU0lOS19TVEFURSkpIHsKKwkJICAgIGlmIChhdG9tLT5uZWcpCisJCQl2YWx1ZXNbbmIrK10gPSAoeG1sQ2hhciAqKSBhdG9tLT52YWx1ZXAyOworCQkgICAgZWxzZQorCQkJdmFsdWVzW25iKytdID0gKHhtbENoYXIgKikgYXRvbS0+dmFsdWVwOworCQkgICAgKCpuYnZhbCkrKzsKKwkJfQorCSAgICB9CisJfQorCWZvciAodHJhbnNubyA9IDA7CisJICAgICAodHJhbnNubyA8IHN0YXRlLT5uYlRyYW5zKSAmJiAobmIgPCBtYXh2YWwpOworCSAgICAgdHJhbnNubysrKSB7CisJICAgIHRyYW5zID0gJnN0YXRlLT50cmFuc1t0cmFuc25vXTsKKwkgICAgaWYgKHRyYW5zLT50byA8IDApCisJCWNvbnRpbnVlOworCSAgICBhdG9tID0gdHJhbnMtPmF0b207CisJICAgIGlmICgoYXRvbSA9PSBOVUxMKSB8fCAoYXRvbS0+dmFsdWVwID09IE5VTEwpKQorCQljb250aW51ZTsKKwkgICAgaWYgKHRyYW5zLT5jb3VudCA9PSBSRUdFWFBfQUxMX0xBWF9DT1VOVEVSKSB7CisJICAgICAgICBjb250aW51ZTsKKwkgICAgfSBlbHNlIGlmICh0cmFucy0+Y291bnQgPT0gUkVHRVhQX0FMTF9DT1VOVEVSKSB7CisJICAgICAgICBjb250aW51ZTsKKwkgICAgfSBlbHNlIGlmICh0cmFucy0+Y291bnRlciA+PSAwKSB7CisJICAgICAgICBjb250aW51ZTsKKwkgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBpZiAoKGV4ZWMtPmNvbXAtPnN0YXRlc1t0cmFucy0+dG9dICE9IE5VTEwpICYmCisJCSAgICAoZXhlYy0+Y29tcC0+c3RhdGVzW3RyYW5zLT50b10tPnR5cGUgPT0KKwkJICAgICBYTUxfUkVHRVhQX1NJTktfU1RBVEUpKSB7CisJCSAgICBpZiAoYXRvbS0+bmVnKQorCQkJdmFsdWVzW25iKytdID0gKHhtbENoYXIgKikgYXRvbS0+dmFsdWVwMjsKKwkJICAgIGVsc2UKKwkJCXZhbHVlc1tuYisrXSA9ICh4bWxDaGFyICopIGF0b20tPnZhbHVlcDsKKwkJICAgICgqbmJuZWcpKys7CisJCX0KKwkgICAgfQorCX0KKyAgICB9CisgICAgcmV0dXJuKDApOworfQorCisvKioKKyAqIHhtbFJlZ0V4ZWNOZXh0VmFsdWVzOgorICogQGV4ZWM6IGEgcmVnZXhwIGV4ZWN1dGlvbiBjb250ZXh0CisgKiBAbmJ2YWw6IHBvaW50ZXIgdG8gdGhlIG51bWJlciBvZiBhY2NlcHRlZCB2YWx1ZXMgSU4vT1VUCisgKiBAbmJuZWc6IHJldHVybiBudW1iZXIgb2YgbmVnYXRpdmUgdHJhbnNpdGlvbnMKKyAqIEB2YWx1ZXM6IHBvaW50ZXIgdG8gdGhlIGFycmF5IG9mIGFjY2VwdGFibGUgdmFsdWVzCisgKiBAdGVybWluYWw6IHJldHVybiB2YWx1ZSBpZiB0aGlzIHdhcyBhIHRlcm1pbmFsIHN0YXRlCisgKgorICogRXh0cmFjdCBpbmZvcm1hdGlvbnMgZnJvbSB0aGUgcmVnZXhwIGV4ZWN1dGlvbiwKKyAqIHRoZSBwYXJhbWV0ZXIgQHZhbHVlcyBtdXN0IHBvaW50IHRvIGFuIGFycmF5IG9mIEBuYnZhbCBzdHJpbmcgcG9pbnRlcnMKKyAqIG9uIHJldHVybiBuYnZhbCB3aWxsIGNvbnRhaW4gdGhlIG51bWJlciBvZiBwb3NzaWJsZSBzdHJpbmdzIGluIHRoYXQKKyAqIHN0YXRlIGFuZCB0aGUgQHZhbHVlcyBhcnJheSB3aWxsIGJlIHVwZGF0ZWQgd2l0aCB0aGVtLiBUaGUgc3RyaW5nIHZhbHVlcworICogcmV0dXJuZWQgd2lsbCBiZSBmcmVlZCB3aXRoIHRoZSBAZXhlYyBjb250ZXh0IGFuZCBkb24ndCBuZWVkIHRvIGJlCisgKiBkZWFsbG9jYXRlZC4KKyAqCisgKiBSZXR1cm5zOiAwIGluIGNhc2Ugb2Ygc3VjY2VzcyBvciAtMSBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQKK3htbFJlZ0V4ZWNOZXh0VmFsdWVzKHhtbFJlZ0V4ZWNDdHh0UHRyIGV4ZWMsIGludCAqbmJ2YWwsIGludCAqbmJuZWcsCisgICAgICAgICAgICAgICAgICAgICB4bWxDaGFyICoqdmFsdWVzLCBpbnQgKnRlcm1pbmFsKSB7CisgICAgcmV0dXJuKHhtbFJlZ0V4ZWNHZXRWYWx1ZXMoZXhlYywgMCwgbmJ2YWwsIG5ibmVnLCB2YWx1ZXMsIHRlcm1pbmFsKSk7Cit9CisKKy8qKgorICogeG1sUmVnRXhlY0VyckluZm86CisgKiBAZXhlYzogYSByZWdleHAgZXhlY3V0aW9uIGNvbnRleHQgZ2VuZXJhdGluZyBhbiBlcnJvcgorICogQHN0cmluZzogcmV0dXJuIHZhbHVlIGZvciB0aGUgZXJyb3Igc3RyaW5nCisgKiBAbmJ2YWw6IHBvaW50ZXIgdG8gdGhlIG51bWJlciBvZiBhY2NlcHRlZCB2YWx1ZXMgSU4vT1VUCisgKiBAbmJuZWc6IHJldHVybiBudW1iZXIgb2YgbmVnYXRpdmUgdHJhbnNpdGlvbnMKKyAqIEB2YWx1ZXM6IHBvaW50ZXIgdG8gdGhlIGFycmF5IG9mIGFjY2VwdGFibGUgdmFsdWVzCisgKiBAdGVybWluYWw6IHJldHVybiB2YWx1ZSBpZiB0aGlzIHdhcyBhIHRlcm1pbmFsIHN0YXRlCisgKgorICogRXh0cmFjdCBlcnJvciBpbmZvcm1hdGlvbnMgZnJvbSB0aGUgcmVnZXhwIGV4ZWN1dGlvbiwgdGhlIHBhcmFtZXRlcgorICogQHN0cmluZyB3aWxsIGJlIHVwZGF0ZWQgd2l0aCB0aGUgdmFsdWUgcHVzaGVkIGFuZCBub3QgYWNjZXB0ZWQsCisgKiB0aGUgcGFyYW1ldGVyIEB2YWx1ZXMgbXVzdCBwb2ludCB0byBhbiBhcnJheSBvZiBAbmJ2YWwgc3RyaW5nIHBvaW50ZXJzCisgKiBvbiByZXR1cm4gbmJ2YWwgd2lsbCBjb250YWluIHRoZSBudW1iZXIgb2YgcG9zc2libGUgc3RyaW5ncyBpbiB0aGF0CisgKiBzdGF0ZSBhbmQgdGhlIEB2YWx1ZXMgYXJyYXkgd2lsbCBiZSB1cGRhdGVkIHdpdGggdGhlbS4gVGhlIHN0cmluZyB2YWx1ZXMKKyAqIHJldHVybmVkIHdpbGwgYmUgZnJlZWQgd2l0aCB0aGUgQGV4ZWMgY29udGV4dCBhbmQgZG9uJ3QgbmVlZCB0byBiZQorICogZGVhbGxvY2F0ZWQuCisgKgorICogUmV0dXJuczogMCBpbiBjYXNlIG9mIHN1Y2Nlc3Mgb3IgLTEgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50Cit4bWxSZWdFeGVjRXJySW5mbyh4bWxSZWdFeGVjQ3R4dFB0ciBleGVjLCBjb25zdCB4bWxDaGFyICoqc3RyaW5nLAorICAgICAgICAgICAgICAgICAgaW50ICpuYnZhbCwgaW50ICpuYm5lZywgeG1sQ2hhciAqKnZhbHVlcywgaW50ICp0ZXJtaW5hbCkgeworICAgIGlmIChleGVjID09IE5VTEwpCisgICAgICAgIHJldHVybigtMSk7CisgICAgaWYgKHN0cmluZyAhPSBOVUxMKSB7CisgICAgICAgIGlmIChleGVjLT5zdGF0dXMgIT0gMCkKKwkgICAgKnN0cmluZyA9IGV4ZWMtPmVyclN0cmluZzsKKwllbHNlCisJICAgICpzdHJpbmcgPSBOVUxMOworICAgIH0KKyAgICByZXR1cm4oeG1sUmVnRXhlY0dldFZhbHVlcyhleGVjLCAxLCBuYnZhbCwgbmJuZWcsIHZhbHVlcywgdGVybWluYWwpKTsKK30KKworI2lmZGVmIERFQlVHX0VSUgorc3RhdGljIHZvaWQgdGVzdGVycih4bWxSZWdFeGVjQ3R4dFB0ciBleGVjKSB7CisgICAgY29uc3QgeG1sQ2hhciAqc3RyaW5nOworICAgIHhtbENoYXIgKnZhbHVlc1s1XTsKKyAgICBpbnQgbmIgPSA1OworICAgIGludCBuYm5lZzsKKyAgICBpbnQgdGVybWluYWw7CisgICAgeG1sUmVnRXhlY0VyckluZm8oZXhlYywgJnN0cmluZywgJm5iLCAmbmJuZWcsICZ2YWx1ZXNbMF0sICZ0ZXJtaW5hbCk7Cit9CisjZW5kaWYKKworI2lmIDAKK3N0YXRpYyBpbnQKK3htbFJlZ0V4ZWNQdXNoQ2hhcih4bWxSZWdFeGVjQ3R4dFB0ciBleGVjLCBpbnQgVUNTKSB7CisgICAgeG1sUmVnVHJhbnNQdHIgdHJhbnM7CisgICAgeG1sUmVnQXRvbVB0ciBhdG9tOworICAgIGludCByZXQ7CisgICAgaW50IGNvZGVwb2ludCwgbGVuOworCisgICAgaWYgKGV4ZWMgPT0gTlVMTCkKKwlyZXR1cm4oLTEpOworICAgIGlmIChleGVjLT5zdGF0dXMgIT0gMCkKKwlyZXR1cm4oZXhlYy0+c3RhdHVzKTsKKworICAgIHdoaWxlICgoZXhlYy0+c3RhdHVzID09IDApICYmCisJICAgKChleGVjLT5pbnB1dFN0cmluZ1tleGVjLT5pbmRleF0gIT0gMCkgfHwKKwkgICAgKGV4ZWMtPnN0YXRlLT50eXBlICE9IFhNTF9SRUdFWFBfRklOQUxfU1RBVEUpKSkgeworCisJLyoKKwkgKiBFbmQgb2YgaW5wdXQgb24gbm9uLXRlcm1pbmFsIHN0YXRlLCByb2xsYmFjaywgaG93ZXZlciB3ZSBtYXkKKwkgKiBzdGlsbCBoYXZlIGVwc2lsb24gbGlrZSB0cmFuc2l0aW9uIGZvciBjb3VudGVkIHRyYW5zaXRpb25zCisJICogb24gY291bnRlcnMsIGluIHRoYXQgY2FzZSBkb24ndCBicmVhayB0b28gZWFybHkuCisJICovCisJaWYgKChleGVjLT5pbnB1dFN0cmluZ1tleGVjLT5pbmRleF0gPT0gMCkgJiYgKGV4ZWMtPmNvdW50cyA9PSBOVUxMKSkKKwkgICAgZ290byByb2xsYmFjazsKKworCWV4ZWMtPnRyYW5zY291bnQgPSAwOworCWZvciAoO2V4ZWMtPnRyYW5zbm8gPCBleGVjLT5zdGF0ZS0+bmJUcmFucztleGVjLT50cmFuc25vKyspIHsKKwkgICAgdHJhbnMgPSAmZXhlYy0+c3RhdGUtPnRyYW5zW2V4ZWMtPnRyYW5zbm9dOworCSAgICBpZiAodHJhbnMtPnRvIDwgMCkKKwkJY29udGludWU7CisJICAgIGF0b20gPSB0cmFucy0+YXRvbTsKKwkgICAgcmV0ID0gMDsKKwkgICAgaWYgKHRyYW5zLT5jb3VudCA+PSAwKSB7CisJCWludCBjb3VudDsKKwkJeG1sUmVnQ291bnRlclB0ciBjb3VudGVyOworCisJCS8qCisJCSAqIEEgY291bnRlZCB0cmFuc2l0aW9uLgorCQkgKi8KKworCQljb3VudCA9IGV4ZWMtPmNvdW50c1t0cmFucy0+Y291bnRdOworCQljb3VudGVyID0gJmV4ZWMtPmNvbXAtPmNvdW50ZXJzW3RyYW5zLT5jb3VudF07CisjaWZkZWYgREVCVUdfUkVHRVhQX0VYRUMKKwkJcHJpbnRmKCJ0ZXN0aW5nIGNvdW50ICVkOiB2YWwgJWQsIG1pbiAlZCwgbWF4ICVkXG4iLAorCQkgICAgICAgdHJhbnMtPmNvdW50LCBjb3VudCwgY291bnRlci0+bWluLCAgY291bnRlci0+bWF4KTsKKyNlbmRpZgorCQlyZXQgPSAoKGNvdW50ID49IGNvdW50ZXItPm1pbikgJiYgKGNvdW50IDw9IGNvdW50ZXItPm1heCkpOworCSAgICB9IGVsc2UgaWYgKGF0b20gPT0gTlVMTCkgeworCQlmcHJpbnRmKHN0ZGVyciwgImVwc2lsb24gdHJhbnNpdGlvbiBsZWZ0IGF0IHJ1bnRpbWVcbiIpOworCQlleGVjLT5zdGF0dXMgPSAtMjsKKwkJYnJlYWs7CisJICAgIH0gZWxzZSBpZiAoZXhlYy0+aW5wdXRTdHJpbmdbZXhlYy0+aW5kZXhdICE9IDApIHsKKyAgICAgICAgICAgICAgICBjb2RlcG9pbnQgPSBDVVJfU0NIQVIoJihleGVjLT5pbnB1dFN0cmluZ1tleGVjLT5pbmRleF0pLCBsZW4pOworCQlyZXQgPSB4bWxSZWdDaGVja0NoYXJhY3RlcihhdG9tLCBjb2RlcG9pbnQpOworCQlpZiAoKHJldCA9PSAxKSAmJiAoYXRvbS0+bWluID4gMCkgJiYgKGF0b20tPm1heCA+IDApKSB7CisJCSAgICB4bWxSZWdTdGF0ZVB0ciB0byA9IGV4ZWMtPmNvbXAtPnN0YXRlc1t0cmFucy0+dG9dOworCisJCSAgICAvKgorCQkgICAgICogdGhpcyBpcyBhIG11bHRpcGxlIGlucHV0IHNlcXVlbmNlCisJCSAgICAgKi8KKwkJICAgIGlmIChleGVjLT5zdGF0ZS0+bmJUcmFucyA+IGV4ZWMtPnRyYW5zbm8gKyAxKSB7CisJCQl4bWxGQVJlZ0V4ZWNTYXZlKGV4ZWMpOworCQkgICAgfQorCQkgICAgZXhlYy0+dHJhbnNjb3VudCA9IDE7CisJCSAgICBkbyB7CisJCQkvKgorCQkJICogVHJ5IHRvIHByb2dyZXNzIGFzIG11Y2ggYXMgcG9zc2libGUgb24gdGhlIGlucHV0CisJCQkgKi8KKwkJCWlmIChleGVjLT50cmFuc2NvdW50ID09IGF0b20tPm1heCkgeworCQkJICAgIGJyZWFrOworCQkJfQorCQkJZXhlYy0+aW5kZXggKz0gbGVuOworCQkJLyoKKwkJCSAqIEVuZCBvZiBpbnB1dDogc3RvcCBoZXJlCisJCQkgKi8KKwkJCWlmIChleGVjLT5pbnB1dFN0cmluZ1tleGVjLT5pbmRleF0gPT0gMCkgeworCQkJICAgIGV4ZWMtPmluZGV4IC09IGxlbjsKKwkJCSAgICBicmVhazsKKwkJCX0KKwkJCWlmIChleGVjLT50cmFuc2NvdW50ID49IGF0b20tPm1pbikgeworCQkJICAgIGludCB0cmFuc25vID0gZXhlYy0+dHJhbnNubzsKKwkJCSAgICB4bWxSZWdTdGF0ZVB0ciBzdGF0ZSA9IGV4ZWMtPnN0YXRlOworCisJCQkgICAgLyoKKwkJCSAgICAgKiBUaGUgdHJhbnNpdGlvbiBpcyBhY2NlcHRhYmxlIHNhdmUgaXQKKwkJCSAgICAgKi8KKwkJCSAgICBleGVjLT50cmFuc25vID0gLTE7IC8qIHRyaWNrICovCisJCQkgICAgZXhlYy0+c3RhdGUgPSB0bzsKKwkJCSAgICB4bWxGQVJlZ0V4ZWNTYXZlKGV4ZWMpOworCQkJICAgIGV4ZWMtPnRyYW5zbm8gPSB0cmFuc25vOworCQkJICAgIGV4ZWMtPnN0YXRlID0gc3RhdGU7CisJCQl9CisJCQljb2RlcG9pbnQgPSBDVVJfU0NIQVIoJihleGVjLT5pbnB1dFN0cmluZ1tleGVjLT5pbmRleF0pLAorCQkJCSAgICAgICAgICAgICAgbGVuKTsKKwkJCXJldCA9IHhtbFJlZ0NoZWNrQ2hhcmFjdGVyKGF0b20sIGNvZGVwb2ludCk7CisJCQlleGVjLT50cmFuc2NvdW50Kys7CisJCSAgICB9IHdoaWxlIChyZXQgPT0gMSk7CisJCSAgICBpZiAoZXhlYy0+dHJhbnNjb3VudCA8IGF0b20tPm1pbikKKwkJCXJldCA9IDA7CisKKwkJICAgIC8qCisJCSAgICAgKiBJZiB0aGUgbGFzdCBjaGVjayBmYWlsZWQgYnV0IG9uZSB0cmFuc2l0aW9uIHdhcyBmb3VuZAorCQkgICAgICogcG9zc2libGUsIHJvbGxiYWNrCisJCSAgICAgKi8KKwkJICAgIGlmIChyZXQgPCAwKQorCQkJcmV0ID0gMDsKKwkJICAgIGlmIChyZXQgPT0gMCkgeworCQkJZ290byByb2xsYmFjazsKKwkJICAgIH0KKwkJfQorCSAgICB9CisJICAgIGlmIChyZXQgPT0gMSkgeworCQlpZiAoZXhlYy0+c3RhdGUtPm5iVHJhbnMgPiBleGVjLT50cmFuc25vICsgMSkgeworCQkgICAgeG1sRkFSZWdFeGVjU2F2ZShleGVjKTsKKwkJfQorCQkvKgorCQkgKiByZXN0YXJ0IGNvdW50IGZvciBleHByZXNzaW9ucyBsaWtlIHRoaXMgKChhYmMpezJ9KSoKKwkJICovCisJCWlmICh0cmFucy0+Y291bnQgPj0gMCkgeworI2lmZGVmIERFQlVHX1JFR0VYUF9FWEVDCisJCSAgICBwcmludGYoIlJlc2V0IGNvdW50ICVkXG4iLCB0cmFucy0+Y291bnQpOworI2VuZGlmCisJCSAgICBleGVjLT5jb3VudHNbdHJhbnMtPmNvdW50XSA9IDA7CisJCX0KKwkJaWYgKHRyYW5zLT5jb3VudGVyID49IDApIHsKKyNpZmRlZiBERUJVR19SRUdFWFBfRVhFQworCQkgICAgcHJpbnRmKCJJbmNyZWFzaW5nIGNvdW50ICVkXG4iLCB0cmFucy0+Y291bnRlcik7CisjZW5kaWYKKwkJICAgIGV4ZWMtPmNvdW50c1t0cmFucy0+Y291bnRlcl0rKzsKKwkJfQorI2lmZGVmIERFQlVHX1JFR0VYUF9FWEVDCisJCXByaW50ZigiZW50ZXJpbmcgc3RhdGUgJWRcbiIsIHRyYW5zLT50byk7CisjZW5kaWYKKwkJZXhlYy0+c3RhdGUgPSBleGVjLT5jb21wLT5zdGF0ZXNbdHJhbnMtPnRvXTsKKwkJZXhlYy0+dHJhbnNubyA9IDA7CisJCWlmICh0cmFucy0+YXRvbSAhPSBOVUxMKSB7CisJCSAgICBleGVjLT5pbmRleCArPSBsZW47CisJCX0KKwkJZ290byBwcm9ncmVzczsKKwkgICAgfSBlbHNlIGlmIChyZXQgPCAwKSB7CisJCWV4ZWMtPnN0YXR1cyA9IC00OworCQlicmVhazsKKwkgICAgfQorCX0KKwlpZiAoKGV4ZWMtPnRyYW5zbm8gIT0gMCkgfHwgKGV4ZWMtPnN0YXRlLT5uYlRyYW5zID09IDApKSB7Cityb2xsYmFjazoKKwkgICAgLyoKKwkgICAgICogRmFpbGVkIHRvIGZpbmQgYSB3YXkgb3V0CisJICAgICAqLworCSAgICBleGVjLT5kZXRlcm1pbmlzdCA9IDA7CisJICAgIHhtbEZBUmVnRXhlY1JvbGxCYWNrKGV4ZWMpOworCX0KK3Byb2dyZXNzOgorCWNvbnRpbnVlOworICAgIH0KK30KKyNlbmRpZgorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKglQYXJzZXIgZm9yIHRoZSBTY2hlbWFzIERhdGF0eXBlIFJlZ3VsYXIgRXhwcmVzc2lvbnMJCSoKKyAqCWh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDEvUkVDLXhtbHNjaGVtYS0yLTIwMDEwNTAyLyNyZWdleHMJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioKKyAqIHhtbEZBSXNDaGFyOgorICogQGN0eHQ6ICBhIHJlZ2V4cCBwYXJzZXIgY29udGV4dAorICoKKyAqIFsxMF0gICBDaGFyICAgOjo9ICAgW14uXD8qKygpfCN4NUIjeDVEXQorICovCitzdGF0aWMgaW50Cit4bWxGQUlzQ2hhcih4bWxSZWdQYXJzZXJDdHh0UHRyIGN0eHQpIHsKKyAgICBpbnQgY3VyOworICAgIGludCBsZW47CisKKyAgICBjdXIgPSBDVVJfU0NIQVIoY3R4dC0+Y3VyLCBsZW4pOworICAgIGlmICgoY3VyID09ICcuJykgfHwgKGN1ciA9PSAnXFwnKSB8fCAoY3VyID09ICc/JykgfHwKKwkoY3VyID09ICcqJykgfHwgKGN1ciA9PSAnKycpIHx8IChjdXIgPT0gJygnKSB8fAorCShjdXIgPT0gJyknKSB8fCAoY3VyID09ICd8JykgfHwgKGN1ciA9PSAweDVCKSB8fAorCShjdXIgPT0gMHg1RCkgfHwgKGN1ciA9PSAwKSkKKwlyZXR1cm4oLTEpOworICAgIHJldHVybihjdXIpOworfQorCisvKioKKyAqIHhtbEZBUGFyc2VDaGFyUHJvcDoKKyAqIEBjdHh0OiAgYSByZWdleHAgcGFyc2VyIGNvbnRleHQKKyAqCisgKiBbMjddICAgY2hhclByb3AgICA6Oj0gICBJc0NhdGVnb3J5IHwgSXNCbG9jaworICogWzI4XSAgIElzQ2F0ZWdvcnkgOjo9IExldHRlcnMgfCBNYXJrcyB8IE51bWJlcnMgfCBQdW5jdHVhdGlvbiB8CisgKiAgICAgICAgICAgICAgICAgICAgICAgU2VwYXJhdG9ycyB8IFN5bWJvbHMgfCBPdGhlcnMKKyAqIFsyOV0gICBMZXR0ZXJzICAgOjo9ICAgJ0wnIFt1bHRtb10/CisgKiBbMzBdICAgTWFya3MgICA6Oj0gICAnTScgW25jZV0/CisgKiBbMzFdICAgTnVtYmVycyAgIDo6PSAgICdOJyBbZGxvXT8KKyAqIFszMl0gICBQdW5jdHVhdGlvbiAgIDo6PSAgICdQJyBbY2RzZWlmb10/CisgKiBbMzNdICAgU2VwYXJhdG9ycyAgIDo6PSAgICdaJyBbc2xwXT8KKyAqIFszNF0gICBTeW1ib2xzICAgOjo9ICAgJ1MnIFttY2tvXT8KKyAqIFszNV0gICBPdGhlcnMgICA6Oj0gICAnQycgW2Nmb25dPworICogWzM2XSAgIElzQmxvY2sgICA6Oj0gICAnSXMnIFthLXpBLVowLTkjeDJEXSsKKyAqLworc3RhdGljIHZvaWQKK3htbEZBUGFyc2VDaGFyUHJvcCh4bWxSZWdQYXJzZXJDdHh0UHRyIGN0eHQpIHsKKyAgICBpbnQgY3VyOworICAgIHhtbFJlZ0F0b21UeXBlIHR5cGUgPSAoeG1sUmVnQXRvbVR5cGUpIDA7CisgICAgeG1sQ2hhciAqYmxvY2tOYW1lID0gTlVMTDsKKworICAgIGN1ciA9IENVUjsKKyAgICBpZiAoY3VyID09ICdMJykgeworCU5FWFQ7CisJY3VyID0gQ1VSOworCWlmIChjdXIgPT0gJ3UnKSB7CisJICAgIE5FWFQ7CisJICAgIHR5cGUgPSBYTUxfUkVHRVhQX0xFVFRFUl9VUFBFUkNBU0U7CisJfSBlbHNlIGlmIChjdXIgPT0gJ2wnKSB7CisJICAgIE5FWFQ7CisJICAgIHR5cGUgPSBYTUxfUkVHRVhQX0xFVFRFUl9MT1dFUkNBU0U7CisJfSBlbHNlIGlmIChjdXIgPT0gJ3QnKSB7CisJICAgIE5FWFQ7CisJICAgIHR5cGUgPSBYTUxfUkVHRVhQX0xFVFRFUl9USVRMRUNBU0U7CisJfSBlbHNlIGlmIChjdXIgPT0gJ20nKSB7CisJICAgIE5FWFQ7CisJICAgIHR5cGUgPSBYTUxfUkVHRVhQX0xFVFRFUl9NT0RJRklFUjsKKwl9IGVsc2UgaWYgKGN1ciA9PSAnbycpIHsKKwkgICAgTkVYVDsKKwkgICAgdHlwZSA9IFhNTF9SRUdFWFBfTEVUVEVSX09USEVSUzsKKwl9IGVsc2UgeworCSAgICB0eXBlID0gWE1MX1JFR0VYUF9MRVRURVI7CisJfQorICAgIH0gZWxzZSBpZiAoY3VyID09ICdNJykgeworCU5FWFQ7CisJY3VyID0gQ1VSOworCWlmIChjdXIgPT0gJ24nKSB7CisJICAgIE5FWFQ7CisJICAgIC8qIG5vbnNwYWNpbmcgKi8KKwkgICAgdHlwZSA9IFhNTF9SRUdFWFBfTUFSS19OT05TUEFDSU5HOworCX0gZWxzZSBpZiAoY3VyID09ICdjJykgeworCSAgICBORVhUOworCSAgICAvKiBzcGFjaW5nIGNvbWJpbmluZyAqLworCSAgICB0eXBlID0gWE1MX1JFR0VYUF9NQVJLX1NQQUNFQ09NQklOSU5HOworCX0gZWxzZSBpZiAoY3VyID09ICdlJykgeworCSAgICBORVhUOworCSAgICAvKiBlbmNsb3NpbmcgKi8KKwkgICAgdHlwZSA9IFhNTF9SRUdFWFBfTUFSS19FTkNMT1NJTkc7CisJfSBlbHNlIHsKKwkgICAgLyogYWxsIG1hcmtzICovCisJICAgIHR5cGUgPSBYTUxfUkVHRVhQX01BUks7CisJfQorICAgIH0gZWxzZSBpZiAoY3VyID09ICdOJykgeworCU5FWFQ7CisJY3VyID0gQ1VSOworCWlmIChjdXIgPT0gJ2QnKSB7CisJICAgIE5FWFQ7CisJICAgIC8qIGRpZ2l0YWwgKi8KKwkgICAgdHlwZSA9IFhNTF9SRUdFWFBfTlVNQkVSX0RFQ0lNQUw7CisJfSBlbHNlIGlmIChjdXIgPT0gJ2wnKSB7CisJICAgIE5FWFQ7CisJICAgIC8qIGxldHRlciAqLworCSAgICB0eXBlID0gWE1MX1JFR0VYUF9OVU1CRVJfTEVUVEVSOworCX0gZWxzZSBpZiAoY3VyID09ICdvJykgeworCSAgICBORVhUOworCSAgICAvKiBvdGhlciAqLworCSAgICB0eXBlID0gWE1MX1JFR0VYUF9OVU1CRVJfT1RIRVJTOworCX0gZWxzZSB7CisJICAgIC8qIGFsbCBudW1iZXJzICovCisJICAgIHR5cGUgPSBYTUxfUkVHRVhQX05VTUJFUjsKKwl9CisgICAgfSBlbHNlIGlmIChjdXIgPT0gJ1AnKSB7CisJTkVYVDsKKwljdXIgPSBDVVI7CisJaWYgKGN1ciA9PSAnYycpIHsKKwkgICAgTkVYVDsKKwkgICAgLyogY29ubmVjdG9yICovCisJICAgIHR5cGUgPSBYTUxfUkVHRVhQX1BVTkNUX0NPTk5FQ1RPUjsKKwl9IGVsc2UgaWYgKGN1ciA9PSAnZCcpIHsKKwkgICAgTkVYVDsKKwkgICAgLyogZGFzaCAqLworCSAgICB0eXBlID0gWE1MX1JFR0VYUF9QVU5DVF9EQVNIOworCX0gZWxzZSBpZiAoY3VyID09ICdzJykgeworCSAgICBORVhUOworCSAgICAvKiBvcGVuICovCisJICAgIHR5cGUgPSBYTUxfUkVHRVhQX1BVTkNUX09QRU47CisJfSBlbHNlIGlmIChjdXIgPT0gJ2UnKSB7CisJICAgIE5FWFQ7CisJICAgIC8qIGNsb3NlICovCisJICAgIHR5cGUgPSBYTUxfUkVHRVhQX1BVTkNUX0NMT1NFOworCX0gZWxzZSBpZiAoY3VyID09ICdpJykgeworCSAgICBORVhUOworCSAgICAvKiBpbml0aWFsIHF1b3RlICovCisJICAgIHR5cGUgPSBYTUxfUkVHRVhQX1BVTkNUX0lOSVRRVU9URTsKKwl9IGVsc2UgaWYgKGN1ciA9PSAnZicpIHsKKwkgICAgTkVYVDsKKwkgICAgLyogZmluYWwgcXVvdGUgKi8KKwkgICAgdHlwZSA9IFhNTF9SRUdFWFBfUFVOQ1RfRklOUVVPVEU7CisJfSBlbHNlIGlmIChjdXIgPT0gJ28nKSB7CisJICAgIE5FWFQ7CisJICAgIC8qIG90aGVyICovCisJICAgIHR5cGUgPSBYTUxfUkVHRVhQX1BVTkNUX09USEVSUzsKKwl9IGVsc2UgeworCSAgICAvKiBhbGwgcHVuY3R1YXRpb24gKi8KKwkgICAgdHlwZSA9IFhNTF9SRUdFWFBfUFVOQ1Q7CisJfQorICAgIH0gZWxzZSBpZiAoY3VyID09ICdaJykgeworCU5FWFQ7CisJY3VyID0gQ1VSOworCWlmIChjdXIgPT0gJ3MnKSB7CisJICAgIE5FWFQ7CisJICAgIC8qIHNwYWNlICovCisJICAgIHR5cGUgPSBYTUxfUkVHRVhQX1NFUEFSX1NQQUNFOworCX0gZWxzZSBpZiAoY3VyID09ICdsJykgeworCSAgICBORVhUOworCSAgICAvKiBsaW5lICovCisJICAgIHR5cGUgPSBYTUxfUkVHRVhQX1NFUEFSX0xJTkU7CisJfSBlbHNlIGlmIChjdXIgPT0gJ3AnKSB7CisJICAgIE5FWFQ7CisJICAgIC8qIHBhcmFncmFwaCAqLworCSAgICB0eXBlID0gWE1MX1JFR0VYUF9TRVBBUl9QQVJBOworCX0gZWxzZSB7CisJICAgIC8qIGFsbCBzZXBhcmF0b3JzICovCisJICAgIHR5cGUgPSBYTUxfUkVHRVhQX1NFUEFSOworCX0KKyAgICB9IGVsc2UgaWYgKGN1ciA9PSAnUycpIHsKKwlORVhUOworCWN1ciA9IENVUjsKKwlpZiAoY3VyID09ICdtJykgeworCSAgICBORVhUOworCSAgICB0eXBlID0gWE1MX1JFR0VYUF9TWU1CT0xfTUFUSDsKKwkgICAgLyogbWF0aCAqLworCX0gZWxzZSBpZiAoY3VyID09ICdjJykgeworCSAgICBORVhUOworCSAgICB0eXBlID0gWE1MX1JFR0VYUF9TWU1CT0xfQ1VSUkVOQ1k7CisJICAgIC8qIGN1cnJlbmN5ICovCisJfSBlbHNlIGlmIChjdXIgPT0gJ2snKSB7CisJICAgIE5FWFQ7CisJICAgIHR5cGUgPSBYTUxfUkVHRVhQX1NZTUJPTF9NT0RJRklFUjsKKwkgICAgLyogbW9kaWZpZXJzICovCisJfSBlbHNlIGlmIChjdXIgPT0gJ28nKSB7CisJICAgIE5FWFQ7CisJICAgIHR5cGUgPSBYTUxfUkVHRVhQX1NZTUJPTF9PVEhFUlM7CisJICAgIC8qIG90aGVyICovCisJfSBlbHNlIHsKKwkgICAgLyogYWxsIHN5bWJvbHMgKi8KKwkgICAgdHlwZSA9IFhNTF9SRUdFWFBfU1lNQk9MOworCX0KKyAgICB9IGVsc2UgaWYgKGN1ciA9PSAnQycpIHsKKwlORVhUOworCWN1ciA9IENVUjsKKwlpZiAoY3VyID09ICdjJykgeworCSAgICBORVhUOworCSAgICAvKiBjb250cm9sICovCisJICAgIHR5cGUgPSBYTUxfUkVHRVhQX09USEVSX0NPTlRST0w7CisJfSBlbHNlIGlmIChjdXIgPT0gJ2YnKSB7CisJICAgIE5FWFQ7CisJICAgIC8qIGZvcm1hdCAqLworCSAgICB0eXBlID0gWE1MX1JFR0VYUF9PVEhFUl9GT1JNQVQ7CisJfSBlbHNlIGlmIChjdXIgPT0gJ28nKSB7CisJICAgIE5FWFQ7CisJICAgIC8qIHByaXZhdGUgdXNlICovCisJICAgIHR5cGUgPSBYTUxfUkVHRVhQX09USEVSX1BSSVZBVEU7CisJfSBlbHNlIGlmIChjdXIgPT0gJ24nKSB7CisJICAgIE5FWFQ7CisJICAgIC8qIG5vdCBhc3NpZ25lZCAqLworCSAgICB0eXBlID0gWE1MX1JFR0VYUF9PVEhFUl9OQTsKKwl9IGVsc2UgeworCSAgICAvKiBhbGwgb3RoZXJzICovCisJICAgIHR5cGUgPSBYTUxfUkVHRVhQX09USEVSOworCX0KKyAgICB9IGVsc2UgaWYgKGN1ciA9PSAnSScpIHsKKwljb25zdCB4bWxDaGFyICpzdGFydDsKKwlORVhUOworCWN1ciA9IENVUjsKKwlpZiAoY3VyICE9ICdzJykgeworCSAgICBFUlJPUigiSXNYWFhYIGV4cGVjdGVkIik7CisJICAgIHJldHVybjsKKwl9CisJTkVYVDsKKwlzdGFydCA9IGN0eHQtPmN1cjsKKwljdXIgPSBDVVI7CisJaWYgKCgoY3VyID49ICdhJykgJiYgKGN1ciA8PSAneicpKSB8fAorCSAgICAoKGN1ciA+PSAnQScpICYmIChjdXIgPD0gJ1onKSkgfHwKKwkgICAgKChjdXIgPj0gJzAnKSAmJiAoY3VyIDw9ICc5JykpIHx8CisJICAgIChjdXIgPT0gMHgyRCkpIHsKKwkgICAgTkVYVDsKKwkgICAgY3VyID0gQ1VSOworCSAgICB3aGlsZSAoKChjdXIgPj0gJ2EnKSAmJiAoY3VyIDw9ICd6JykpIHx8CisJCSgoY3VyID49ICdBJykgJiYgKGN1ciA8PSAnWicpKSB8fAorCQkoKGN1ciA+PSAnMCcpICYmIChjdXIgPD0gJzknKSkgfHwKKwkJKGN1ciA9PSAweDJEKSkgeworCQlORVhUOworCQljdXIgPSBDVVI7CisJICAgIH0KKwl9CisJdHlwZSA9IFhNTF9SRUdFWFBfQkxPQ0tfTkFNRTsKKwlibG9ja05hbWUgPSB4bWxTdHJuZHVwKHN0YXJ0LCBjdHh0LT5jdXIgLSBzdGFydCk7CisgICAgfSBlbHNlIHsKKwlFUlJPUigiVW5rbm93biBjaGFyIHByb3BlcnR5Iik7CisJcmV0dXJuOworICAgIH0KKyAgICBpZiAoY3R4dC0+YXRvbSA9PSBOVUxMKSB7CisJY3R4dC0+YXRvbSA9IHhtbFJlZ05ld0F0b20oY3R4dCwgdHlwZSk7CisJaWYgKGN0eHQtPmF0b20gIT0gTlVMTCkKKwkgICAgY3R4dC0+YXRvbS0+dmFsdWVwID0gYmxvY2tOYW1lOworICAgIH0gZWxzZSBpZiAoY3R4dC0+YXRvbS0+dHlwZSA9PSBYTUxfUkVHRVhQX1JBTkdFUykgeworICAgICAgICB4bWxSZWdBdG9tQWRkUmFuZ2UoY3R4dCwgY3R4dC0+YXRvbSwgY3R4dC0+bmVnLAorCQkgICAgICAgICAgIHR5cGUsIDAsIDAsIGJsb2NrTmFtZSk7CisgICAgfQorfQorCisvKioKKyAqIHhtbEZBUGFyc2VDaGFyQ2xhc3NFc2M6CisgKiBAY3R4dDogIGEgcmVnZXhwIHBhcnNlciBjb250ZXh0CisgKgorICogWzIzXSBjaGFyQ2xhc3NFc2MgOjo9ICggU2luZ2xlQ2hhckVzYyB8IE11bHRpQ2hhckVzYyB8IGNhdEVzYyB8IGNvbXBsRXNjICkKKyAqIFsyNF0gU2luZ2xlQ2hhckVzYyA6Oj0gJ1wnIFtucnRcfC4/KisoKXt9I3gyRCN4NUIjeDVEI3g1RV0KKyAqIFsyNV0gY2F0RXNjICAgOjo9ICAgJ1xweycgY2hhclByb3AgJ30nCisgKiBbMjZdIGNvbXBsRXNjIDo6PSAgICdcUHsnIGNoYXJQcm9wICd9JworICogWzM3XSBNdWx0aUNoYXJFc2MgOjo9ICcuJyB8ICgnXCcgW3NTaUljQ2REd1ddKQorICovCitzdGF0aWMgdm9pZAoreG1sRkFQYXJzZUNoYXJDbGFzc0VzYyh4bWxSZWdQYXJzZXJDdHh0UHRyIGN0eHQpIHsKKyAgICBpbnQgY3VyOworCisgICAgaWYgKENVUiA9PSAnLicpIHsKKwlpZiAoY3R4dC0+YXRvbSA9PSBOVUxMKSB7CisJICAgIGN0eHQtPmF0b20gPSB4bWxSZWdOZXdBdG9tKGN0eHQsIFhNTF9SRUdFWFBfQU5ZQ0hBUik7CisJfSBlbHNlIGlmIChjdHh0LT5hdG9tLT50eXBlID09IFhNTF9SRUdFWFBfUkFOR0VTKSB7CisJICAgIHhtbFJlZ0F0b21BZGRSYW5nZShjdHh0LCBjdHh0LT5hdG9tLCBjdHh0LT5uZWcsCisJCQkgICAgICAgWE1MX1JFR0VYUF9BTllDSEFSLCAwLCAwLCBOVUxMKTsKKwl9CisJTkVYVDsKKwlyZXR1cm47CisgICAgfQorICAgIGlmIChDVVIgIT0gJ1xcJykgeworCUVSUk9SKCJFc2NhcGVkIHNlcXVlbmNlOiBleHBlY3RpbmcgXFwiKTsKKwlyZXR1cm47CisgICAgfQorICAgIE5FWFQ7CisgICAgY3VyID0gQ1VSOworICAgIGlmIChjdXIgPT0gJ3AnKSB7CisJTkVYVDsKKwlpZiAoQ1VSICE9ICd7JykgeworCSAgICBFUlJPUigiRXhwZWN0aW5nICd7JyIpOworCSAgICByZXR1cm47CisJfQorCU5FWFQ7CisJeG1sRkFQYXJzZUNoYXJQcm9wKGN0eHQpOworCWlmIChDVVIgIT0gJ30nKSB7CisJICAgIEVSUk9SKCJFeHBlY3RpbmcgJ30nIik7CisJICAgIHJldHVybjsKKwl9CisJTkVYVDsKKyAgICB9IGVsc2UgaWYgKGN1ciA9PSAnUCcpIHsKKwlORVhUOworCWlmIChDVVIgIT0gJ3snKSB7CisJICAgIEVSUk9SKCJFeHBlY3RpbmcgJ3snIik7CisJICAgIHJldHVybjsKKwl9CisJTkVYVDsKKwl4bWxGQVBhcnNlQ2hhclByb3AoY3R4dCk7CisJY3R4dC0+YXRvbS0+bmVnID0gMTsKKwlpZiAoQ1VSICE9ICd9JykgeworCSAgICBFUlJPUigiRXhwZWN0aW5nICd9JyIpOworCSAgICByZXR1cm47CisJfQorCU5FWFQ7CisgICAgfSBlbHNlIGlmICgoY3VyID09ICduJykgfHwgKGN1ciA9PSAncicpIHx8IChjdXIgPT0gJ3QnKSB8fCAoY3VyID09ICdcXCcpIHx8CisJKGN1ciA9PSAnfCcpIHx8IChjdXIgPT0gJy4nKSB8fCAoY3VyID09ICc/JykgfHwgKGN1ciA9PSAnKicpIHx8CisJKGN1ciA9PSAnKycpIHx8IChjdXIgPT0gJygnKSB8fCAoY3VyID09ICcpJykgfHwgKGN1ciA9PSAneycpIHx8CisJKGN1ciA9PSAnfScpIHx8IChjdXIgPT0gMHgyRCkgfHwgKGN1ciA9PSAweDVCKSB8fCAoY3VyID09IDB4NUQpIHx8CisJKGN1ciA9PSAweDVFKSkgeworCWlmIChjdHh0LT5hdG9tID09IE5VTEwpIHsKKwkgICAgY3R4dC0+YXRvbSA9IHhtbFJlZ05ld0F0b20oY3R4dCwgWE1MX1JFR0VYUF9DSEFSVkFMKTsKKwkgICAgaWYgKGN0eHQtPmF0b20gIT0gTlVMTCkgeworCSAgICAgICAgc3dpdGNoIChjdXIpIHsKKwkJICAgIGNhc2UgJ24nOgorCQkgICAgICAgIGN0eHQtPmF0b20tPmNvZGVwb2ludCA9ICdcbic7CisJCQlicmVhazsKKwkJICAgIGNhc2UgJ3InOgorCQkgICAgICAgIGN0eHQtPmF0b20tPmNvZGVwb2ludCA9ICdccic7CisJCQlicmVhazsKKwkJICAgIGNhc2UgJ3QnOgorCQkgICAgICAgIGN0eHQtPmF0b20tPmNvZGVwb2ludCA9ICdcdCc7CisJCQlicmVhazsKKwkJICAgIGRlZmF1bHQ6CisJCQljdHh0LT5hdG9tLT5jb2RlcG9pbnQgPSBjdXI7CisJCX0KKwkgICAgfQorCX0gZWxzZSBpZiAoY3R4dC0+YXRvbS0+dHlwZSA9PSBYTUxfUkVHRVhQX1JBTkdFUykgeworICAgICAgICAgICAgc3dpdGNoIChjdXIpIHsKKyAgICAgICAgICAgICAgICBjYXNlICduJzoKKyAgICAgICAgICAgICAgICAgICAgY3VyID0gJ1xuJzsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgY2FzZSAncic6CisgICAgICAgICAgICAgICAgICAgIGN1ciA9ICdccic7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIGNhc2UgJ3QnOgorICAgICAgICAgICAgICAgICAgICBjdXIgPSAnXHQnOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKwkgICAgeG1sUmVnQXRvbUFkZFJhbmdlKGN0eHQsIGN0eHQtPmF0b20sIGN0eHQtPm5lZywKKwkJCSAgICAgICBYTUxfUkVHRVhQX0NIQVJWQUwsIGN1ciwgY3VyLCBOVUxMKTsKKwl9CisJTkVYVDsKKyAgICB9IGVsc2UgaWYgKChjdXIgPT0gJ3MnKSB8fCAoY3VyID09ICdTJykgfHwgKGN1ciA9PSAnaScpIHx8IChjdXIgPT0gJ0knKSB8fAorCShjdXIgPT0gJ2MnKSB8fCAoY3VyID09ICdDJykgfHwgKGN1ciA9PSAnZCcpIHx8IChjdXIgPT0gJ0QnKSB8fAorCShjdXIgPT0gJ3cnKSB8fCAoY3VyID09ICdXJykpIHsKKwl4bWxSZWdBdG9tVHlwZSB0eXBlID0gWE1MX1JFR0VYUF9BTllTUEFDRTsKKworCXN3aXRjaCAoY3VyKSB7CisJICAgIGNhc2UgJ3MnOgorCQl0eXBlID0gWE1MX1JFR0VYUF9BTllTUEFDRTsKKwkJYnJlYWs7CisJICAgIGNhc2UgJ1MnOgorCQl0eXBlID0gWE1MX1JFR0VYUF9OT1RTUEFDRTsKKwkJYnJlYWs7CisJICAgIGNhc2UgJ2knOgorCQl0eXBlID0gWE1MX1JFR0VYUF9JTklUTkFNRTsKKwkJYnJlYWs7CisJICAgIGNhc2UgJ0knOgorCQl0eXBlID0gWE1MX1JFR0VYUF9OT1RJTklUTkFNRTsKKwkJYnJlYWs7CisJICAgIGNhc2UgJ2MnOgorCQl0eXBlID0gWE1MX1JFR0VYUF9OQU1FQ0hBUjsKKwkJYnJlYWs7CisJICAgIGNhc2UgJ0MnOgorCQl0eXBlID0gWE1MX1JFR0VYUF9OT1ROQU1FQ0hBUjsKKwkJYnJlYWs7CisJICAgIGNhc2UgJ2QnOgorCQl0eXBlID0gWE1MX1JFR0VYUF9ERUNJTUFMOworCQlicmVhazsKKwkgICAgY2FzZSAnRCc6CisJCXR5cGUgPSBYTUxfUkVHRVhQX05PVERFQ0lNQUw7CisJCWJyZWFrOworCSAgICBjYXNlICd3JzoKKwkJdHlwZSA9IFhNTF9SRUdFWFBfUkVBTENIQVI7CisJCWJyZWFrOworCSAgICBjYXNlICdXJzoKKwkJdHlwZSA9IFhNTF9SRUdFWFBfTk9UUkVBTENIQVI7CisJCWJyZWFrOworCX0KKwlORVhUOworCWlmIChjdHh0LT5hdG9tID09IE5VTEwpIHsKKwkgICAgY3R4dC0+YXRvbSA9IHhtbFJlZ05ld0F0b20oY3R4dCwgdHlwZSk7CisJfSBlbHNlIGlmIChjdHh0LT5hdG9tLT50eXBlID09IFhNTF9SRUdFWFBfUkFOR0VTKSB7CisJICAgIHhtbFJlZ0F0b21BZGRSYW5nZShjdHh0LCBjdHh0LT5hdG9tLCBjdHh0LT5uZWcsCisJCQkgICAgICAgdHlwZSwgMCwgMCwgTlVMTCk7CisJfQorICAgIH0gZWxzZSB7CisJRVJST1IoIldyb25nIGVzY2FwZSBzZXF1ZW5jZSwgbWlzdXNlIG9mIGNoYXJhY3RlciAnXFwnIik7CisgICAgfQorfQorCisvKioKKyAqIHhtbEZBUGFyc2VDaGFyUmFuZ2U6CisgKiBAY3R4dDogIGEgcmVnZXhwIHBhcnNlciBjb250ZXh0CisgKgorICogWzE3XSAgIGNoYXJSYW5nZSAgIDo6PSAgICAgc2VSYW5nZSB8IFhtbENoYXJSZWYgfCBYbWxDaGFySW5jRGFzaAorICogWzE4XSAgIHNlUmFuZ2UgICA6Oj0gICBjaGFyT3JFc2MgJy0nIGNoYXJPckVzYworICogWzIwXSAgIGNoYXJPckVzYyAgIDo6PSAgIFhtbENoYXIgfCBTaW5nbGVDaGFyRXNjCisgKiBbMjFdICAgWG1sQ2hhciAgIDo6PSAgIFteXCN4MkQjeDVCI3g1RF0KKyAqIFsyMl0gICBYbWxDaGFySW5jRGFzaCAgIDo6PSAgIFteXCN4NUIjeDVEXQorICovCitzdGF0aWMgdm9pZAoreG1sRkFQYXJzZUNoYXJSYW5nZSh4bWxSZWdQYXJzZXJDdHh0UHRyIGN0eHQpIHsKKyAgICBpbnQgY3VyLCBsZW47CisgICAgaW50IHN0YXJ0ID0gLTE7CisgICAgaW50IGVuZCA9IC0xOworCisgICAgaWYgKENVUiA9PSAnXDAnKSB7CisgICAgICAgIEVSUk9SKCJFeHBlY3RpbmcgJ10nIik7CisJcmV0dXJuOworICAgIH0KKworICAgIGN1ciA9IENVUjsKKyAgICBpZiAoY3VyID09ICdcXCcpIHsKKwlORVhUOworCWN1ciA9IENVUjsKKwlzd2l0Y2ggKGN1cikgeworCSAgICBjYXNlICduJzogc3RhcnQgPSAweEE7IGJyZWFrOworCSAgICBjYXNlICdyJzogc3RhcnQgPSAweEQ7IGJyZWFrOworCSAgICBjYXNlICd0Jzogc3RhcnQgPSAweDk7IGJyZWFrOworCSAgICBjYXNlICdcXCc6IGNhc2UgJ3wnOiBjYXNlICcuJzogY2FzZSAnLSc6IGNhc2UgJ14nOiBjYXNlICc/JzoKKwkgICAgY2FzZSAnKic6IGNhc2UgJysnOiBjYXNlICd7JzogY2FzZSAnfSc6IGNhc2UgJygnOiBjYXNlICcpJzoKKwkgICAgY2FzZSAnWyc6IGNhc2UgJ10nOgorCQlzdGFydCA9IGN1cjsgYnJlYWs7CisJICAgIGRlZmF1bHQ6CisJCUVSUk9SKCJJbnZhbGlkIGVzY2FwZSB2YWx1ZSIpOworCQlyZXR1cm47CisJfQorCWVuZCA9IHN0YXJ0OworICAgICAgICBsZW4gPSAxOworICAgIH0gZWxzZSBpZiAoKGN1ciAhPSAweDVCKSAmJiAoY3VyICE9IDB4NUQpKSB7CisgICAgICAgIGVuZCA9IHN0YXJ0ID0gQ1VSX1NDSEFSKGN0eHQtPmN1ciwgbGVuKTsKKyAgICB9IGVsc2UgeworCUVSUk9SKCJFeHBlY3RpbmcgYSBjaGFyIHJhbmdlIik7CisJcmV0dXJuOworICAgIH0KKyAgICAvKgorICAgICAqIFNpbmNlIHdlIGFyZSAiaW5zaWRlIiBhIHJhbmdlLCB3ZSBjYW4gYXNzdW1lIGN0eHQtPmN1ciBpcyBwYXN0CisgICAgICogdGhlIHN0YXJ0IG9mIGN0eHQtPnN0cmluZywgYW5kIFBSRVYgc2hvdWxkIGJlIHNhZmUKKyAgICAgKi8KKyAgICBpZiAoKHN0YXJ0ID09ICctJykgJiYgKE5YVCgxKSAhPSAnXScpICYmIChQUkVWICE9ICdbJykgJiYgKFBSRVYgIT0gJ14nKSkgeworCU5FWFRMKGxlbik7CisJcmV0dXJuOworICAgIH0KKyAgICBORVhUTChsZW4pOworICAgIGN1ciA9IENVUjsKKyAgICBpZiAoKGN1ciAhPSAnLScpIHx8IChOWFQoMSkgPT0gJ10nKSkgeworICAgICAgICB4bWxSZWdBdG9tQWRkUmFuZ2UoY3R4dCwgY3R4dC0+YXRvbSwgY3R4dC0+bmVnLAorCQkgICAgICAgICAgICAgIFhNTF9SRUdFWFBfQ0hBUlZBTCwgc3RhcnQsIGVuZCwgTlVMTCk7CisJcmV0dXJuOworICAgIH0KKyAgICBORVhUOworICAgIGN1ciA9IENVUjsKKyAgICBpZiAoY3VyID09ICdcXCcpIHsKKwlORVhUOworCWN1ciA9IENVUjsKKwlzd2l0Y2ggKGN1cikgeworCSAgICBjYXNlICduJzogZW5kID0gMHhBOyBicmVhazsKKwkgICAgY2FzZSAncic6IGVuZCA9IDB4RDsgYnJlYWs7CisJICAgIGNhc2UgJ3QnOiBlbmQgPSAweDk7IGJyZWFrOworCSAgICBjYXNlICdcXCc6IGNhc2UgJ3wnOiBjYXNlICcuJzogY2FzZSAnLSc6IGNhc2UgJ14nOiBjYXNlICc/JzoKKwkgICAgY2FzZSAnKic6IGNhc2UgJysnOiBjYXNlICd7JzogY2FzZSAnfSc6IGNhc2UgJygnOiBjYXNlICcpJzoKKwkgICAgY2FzZSAnWyc6IGNhc2UgJ10nOgorCQllbmQgPSBjdXI7IGJyZWFrOworCSAgICBkZWZhdWx0OgorCQlFUlJPUigiSW52YWxpZCBlc2NhcGUgdmFsdWUiKTsKKwkJcmV0dXJuOworCX0KKyAgICAgICAgbGVuID0gMTsKKyAgICB9IGVsc2UgaWYgKChjdXIgIT0gMHg1QikgJiYgKGN1ciAhPSAweDVEKSkgeworICAgICAgICBlbmQgPSBDVVJfU0NIQVIoY3R4dC0+Y3VyLCBsZW4pOworICAgIH0gZWxzZSB7CisJRVJST1IoIkV4cGVjdGluZyB0aGUgZW5kIG9mIGEgY2hhciByYW5nZSIpOworCXJldHVybjsKKyAgICB9CisgICAgTkVYVEwobGVuKTsKKyAgICAvKiBUT0RPIGNoZWNrIHRoYXQgdGhlIHZhbHVlcyBhcmUgYWNjZXB0YWJsZSBjaGFyYWN0ZXIgcmFuZ2VzIGZvciBYTUwgKi8KKyAgICBpZiAoZW5kIDwgc3RhcnQpIHsKKwlFUlJPUigiRW5kIG9mIHJhbmdlIGlzIGJlZm9yZSBzdGFydCBvZiByYW5nZSIpOworICAgIH0gZWxzZSB7CisgICAgICAgIHhtbFJlZ0F0b21BZGRSYW5nZShjdHh0LCBjdHh0LT5hdG9tLCBjdHh0LT5uZWcsCisJCSAgICAgICAgICAgWE1MX1JFR0VYUF9DSEFSVkFMLCBzdGFydCwgZW5kLCBOVUxMKTsKKyAgICB9CisgICAgcmV0dXJuOworfQorCisvKioKKyAqIHhtbEZBUGFyc2VQb3NDaGFyR3JvdXA6CisgKiBAY3R4dDogIGEgcmVnZXhwIHBhcnNlciBjb250ZXh0CisgKgorICogWzE0XSAgIHBvc0NoYXJHcm91cCA6Oj0gKCBjaGFyUmFuZ2UgfCBjaGFyQ2xhc3NFc2MgICkrCisgKi8KK3N0YXRpYyB2b2lkCit4bWxGQVBhcnNlUG9zQ2hhckdyb3VwKHhtbFJlZ1BhcnNlckN0eHRQdHIgY3R4dCkgeworICAgIGRvIHsKKwlpZiAoQ1VSID09ICdcXCcpIHsKKwkgICAgeG1sRkFQYXJzZUNoYXJDbGFzc0VzYyhjdHh0KTsKKwl9IGVsc2UgeworCSAgICB4bWxGQVBhcnNlQ2hhclJhbmdlKGN0eHQpOworCX0KKyAgICB9IHdoaWxlICgoQ1VSICE9ICddJykgJiYgKENVUiAhPSAnXicpICYmIChDVVIgIT0gJy0nKSAmJgorICAgICAgICAgICAgIChDVVIgIT0gMCkgJiYgKGN0eHQtPmVycm9yID09IDApKTsKK30KKworLyoqCisgKiB4bWxGQVBhcnNlQ2hhckdyb3VwOgorICogQGN0eHQ6ICBhIHJlZ2V4cCBwYXJzZXIgY29udGV4dAorICoKKyAqIFsxM10gICBjaGFyR3JvdXAgICAgOjo9IHBvc0NoYXJHcm91cCB8IG5lZ0NoYXJHcm91cCB8IGNoYXJDbGFzc1N1YgorICogWzE1XSAgIG5lZ0NoYXJHcm91cCA6Oj0gJ14nIHBvc0NoYXJHcm91cAorICogWzE2XSAgIGNoYXJDbGFzc1N1YiA6Oj0gKCBwb3NDaGFyR3JvdXAgfCBuZWdDaGFyR3JvdXAgKSAnLScgY2hhckNsYXNzRXhwcgorICogWzEyXSAgIGNoYXJDbGFzc0V4cHIgOjo9ICdbJyBjaGFyR3JvdXAgJ10nCisgKi8KK3N0YXRpYyB2b2lkCit4bWxGQVBhcnNlQ2hhckdyb3VwKHhtbFJlZ1BhcnNlckN0eHRQdHIgY3R4dCkgeworICAgIGludCBuID0gY3R4dC0+bmVnOworICAgIHdoaWxlICgoQ1VSICE9ICddJykgJiYgKGN0eHQtPmVycm9yID09IDApKSB7CisJaWYgKENVUiA9PSAnXicpIHsKKwkgICAgaW50IG5lZyA9IGN0eHQtPm5lZzsKKworCSAgICBORVhUOworCSAgICBjdHh0LT5uZWcgPSAhY3R4dC0+bmVnOworCSAgICB4bWxGQVBhcnNlUG9zQ2hhckdyb3VwKGN0eHQpOworCSAgICBjdHh0LT5uZWcgPSBuZWc7CisJfSBlbHNlIGlmICgoQ1VSID09ICctJykgJiYgKE5YVCgxKSA9PSAnWycpKSB7CisJICAgIGludCBuZWcgPSBjdHh0LT5uZWc7CisJICAgIGN0eHQtPm5lZyA9IDI7CisJICAgIE5FWFQ7CS8qIGVhdCB0aGUgJy0nICovCisJICAgIE5FWFQ7CS8qIGVhdCB0aGUgJ1snICovCisJICAgIHhtbEZBUGFyc2VDaGFyR3JvdXAoY3R4dCk7CisJICAgIGlmIChDVVIgPT0gJ10nKSB7CisJCU5FWFQ7CisJICAgIH0gZWxzZSB7CisJCUVSUk9SKCJjaGFyQ2xhc3NFeHByOiAnXScgZXhwZWN0ZWQiKTsKKwkJYnJlYWs7CisJICAgIH0KKwkgICAgY3R4dC0+bmVnID0gbmVnOworCSAgICBicmVhazsKKwl9IGVsc2UgaWYgKENVUiAhPSAnXScpIHsKKwkgICAgeG1sRkFQYXJzZVBvc0NoYXJHcm91cChjdHh0KTsKKwl9CisgICAgfQorICAgIGN0eHQtPm5lZyA9IG47Cit9CisKKy8qKgorICogeG1sRkFQYXJzZUNoYXJDbGFzczoKKyAqIEBjdHh0OiAgYSByZWdleHAgcGFyc2VyIGNvbnRleHQKKyAqCisgKiBbMTFdICAgY2hhckNsYXNzICAgOjo9ICAgICBjaGFyQ2xhc3NFc2MgfCBjaGFyQ2xhc3NFeHByCisgKiBbMTJdICAgY2hhckNsYXNzRXhwciAgIDo6PSAgICdbJyBjaGFyR3JvdXAgJ10nCisgKi8KK3N0YXRpYyB2b2lkCit4bWxGQVBhcnNlQ2hhckNsYXNzKHhtbFJlZ1BhcnNlckN0eHRQdHIgY3R4dCkgeworICAgIGlmIChDVVIgPT0gJ1snKSB7CisJTkVYVDsKKwljdHh0LT5hdG9tID0geG1sUmVnTmV3QXRvbShjdHh0LCBYTUxfUkVHRVhQX1JBTkdFUyk7CisJaWYgKGN0eHQtPmF0b20gPT0gTlVMTCkKKwkgICAgcmV0dXJuOworCXhtbEZBUGFyc2VDaGFyR3JvdXAoY3R4dCk7CisJaWYgKENVUiA9PSAnXScpIHsKKwkgICAgTkVYVDsKKwl9IGVsc2UgeworCSAgICBFUlJPUigieG1sRkFQYXJzZUNoYXJDbGFzczogJ10nIGV4cGVjdGVkIik7CisJfQorICAgIH0gZWxzZSB7CisJeG1sRkFQYXJzZUNoYXJDbGFzc0VzYyhjdHh0KTsKKyAgICB9Cit9CisKKy8qKgorICogeG1sRkFQYXJzZVF1YW50RXhhY3Q6CisgKiBAY3R4dDogIGEgcmVnZXhwIHBhcnNlciBjb250ZXh0CisgKgorICogWzhdICAgUXVhbnRFeGFjdCAgIDo6PSAgIFswLTldKworICoKKyAqIFJldHVybnMgMCBpZiBzdWNjZXNzIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworc3RhdGljIGludAoreG1sRkFQYXJzZVF1YW50RXhhY3QoeG1sUmVnUGFyc2VyQ3R4dFB0ciBjdHh0KSB7CisgICAgaW50IHJldCA9IDA7CisgICAgaW50IG9rID0gMDsKKworICAgIHdoaWxlICgoQ1VSID49ICcwJykgJiYgKENVUiA8PSAnOScpKSB7CisJcmV0ID0gcmV0ICogMTAgKyAoQ1VSIC0gJzAnKTsKKwlvayA9IDE7CisJTkVYVDsKKyAgICB9CisgICAgaWYgKG9rICE9IDEpIHsKKwlyZXR1cm4oLTEpOworICAgIH0KKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxGQVBhcnNlUXVhbnRpZmllcjoKKyAqIEBjdHh0OiAgYSByZWdleHAgcGFyc2VyIGNvbnRleHQKKyAqCisgKiBbNF0gICBxdWFudGlmaWVyICAgOjo9ICAgWz8qK10gfCAoICd7JyBxdWFudGl0eSAnfScgKQorICogWzVdICAgcXVhbnRpdHkgICA6Oj0gICBxdWFudFJhbmdlIHwgcXVhbnRNaW4gfCBRdWFudEV4YWN0CisgKiBbNl0gICBxdWFudFJhbmdlICAgOjo9ICAgUXVhbnRFeGFjdCAnLCcgUXVhbnRFeGFjdAorICogWzddICAgcXVhbnRNaW4gICA6Oj0gICBRdWFudEV4YWN0ICcsJworICogWzhdICAgUXVhbnRFeGFjdCAgIDo6PSAgIFswLTldKworICovCitzdGF0aWMgaW50Cit4bWxGQVBhcnNlUXVhbnRpZmllcih4bWxSZWdQYXJzZXJDdHh0UHRyIGN0eHQpIHsKKyAgICBpbnQgY3VyOworCisgICAgY3VyID0gQ1VSOworICAgIGlmICgoY3VyID09ICc/JykgfHwgKGN1ciA9PSAnKicpIHx8IChjdXIgPT0gJysnKSkgeworCWlmIChjdHh0LT5hdG9tICE9IE5VTEwpIHsKKwkgICAgaWYgKGN1ciA9PSAnPycpCisJCWN0eHQtPmF0b20tPnF1YW50ID0gWE1MX1JFR0VYUF9RVUFOVF9PUFQ7CisJICAgIGVsc2UgaWYgKGN1ciA9PSAnKicpCisJCWN0eHQtPmF0b20tPnF1YW50ID0gWE1MX1JFR0VYUF9RVUFOVF9NVUxUOworCSAgICBlbHNlIGlmIChjdXIgPT0gJysnKQorCQljdHh0LT5hdG9tLT5xdWFudCA9IFhNTF9SRUdFWFBfUVVBTlRfUExVUzsKKwl9CisJTkVYVDsKKwlyZXR1cm4oMSk7CisgICAgfQorICAgIGlmIChjdXIgPT0gJ3snKSB7CisJaW50IG1pbiA9IDAsIG1heCA9IDA7CisKKwlORVhUOworCWN1ciA9IHhtbEZBUGFyc2VRdWFudEV4YWN0KGN0eHQpOworCWlmIChjdXIgPj0gMCkKKwkgICAgbWluID0gY3VyOworCWlmIChDVVIgPT0gJywnKSB7CisJICAgIE5FWFQ7CisJICAgIGlmIChDVVIgPT0gJ30nKQorCSAgICAgICAgbWF4ID0gSU5UX01BWDsKKwkgICAgZWxzZSB7CisJICAgICAgICBjdXIgPSB4bWxGQVBhcnNlUXVhbnRFeGFjdChjdHh0KTsKKwkgICAgICAgIGlmIChjdXIgPj0gMCkKKwkJICAgIG1heCA9IGN1cjsKKwkJZWxzZSB7CisJCSAgICBFUlJPUigiSW1wcm9wZXIgcXVhbnRpZmllciIpOworCQl9CisJICAgIH0KKwl9CisJaWYgKENVUiA9PSAnfScpIHsKKwkgICAgTkVYVDsKKwl9IGVsc2UgeworCSAgICBFUlJPUigiVW50ZXJtaW5hdGVkIHF1YW50aWZpZXIiKTsKKwl9CisJaWYgKG1heCA9PSAwKQorCSAgICBtYXggPSBtaW47CisJaWYgKGN0eHQtPmF0b20gIT0gTlVMTCkgeworCSAgICBjdHh0LT5hdG9tLT5xdWFudCA9IFhNTF9SRUdFWFBfUVVBTlRfUkFOR0U7CisJICAgIGN0eHQtPmF0b20tPm1pbiA9IG1pbjsKKwkgICAgY3R4dC0+YXRvbS0+bWF4ID0gbWF4OworCX0KKwlyZXR1cm4oMSk7CisgICAgfQorICAgIHJldHVybigwKTsKK30KKworLyoqCisgKiB4bWxGQVBhcnNlQXRvbToKKyAqIEBjdHh0OiAgYSByZWdleHAgcGFyc2VyIGNvbnRleHQKKyAqCisgKiBbOV0gICBhdG9tICAgOjo9ICAgQ2hhciB8IGNoYXJDbGFzcyB8ICggJygnIHJlZ0V4cCAnKScgKQorICovCitzdGF0aWMgaW50Cit4bWxGQVBhcnNlQXRvbSh4bWxSZWdQYXJzZXJDdHh0UHRyIGN0eHQpIHsKKyAgICBpbnQgY29kZXBvaW50LCBsZW47CisKKyAgICBjb2RlcG9pbnQgPSB4bWxGQUlzQ2hhcihjdHh0KTsKKyAgICBpZiAoY29kZXBvaW50ID4gMCkgeworCWN0eHQtPmF0b20gPSB4bWxSZWdOZXdBdG9tKGN0eHQsIFhNTF9SRUdFWFBfQ0hBUlZBTCk7CisJaWYgKGN0eHQtPmF0b20gPT0gTlVMTCkKKwkgICAgcmV0dXJuKC0xKTsKKwljb2RlcG9pbnQgPSBDVVJfU0NIQVIoY3R4dC0+Y3VyLCBsZW4pOworCWN0eHQtPmF0b20tPmNvZGVwb2ludCA9IGNvZGVwb2ludDsKKwlORVhUTChsZW4pOworCXJldHVybigxKTsKKyAgICB9IGVsc2UgaWYgKENVUiA9PSAnfCcpIHsKKwlyZXR1cm4oMCk7CisgICAgfSBlbHNlIGlmIChDVVIgPT0gMCkgeworCXJldHVybigwKTsKKyAgICB9IGVsc2UgaWYgKENVUiA9PSAnKScpIHsKKwlyZXR1cm4oMCk7CisgICAgfSBlbHNlIGlmIChDVVIgPT0gJygnKSB7CisJeG1sUmVnU3RhdGVQdHIgc3RhcnQsIG9sZGVuZCwgc3RhcnQwOworCisJTkVYVDsKKwkvKgorCSAqIHRoaXMgZXh0cmEgRXBzaWxvbiB0cmFuc2l0aW9uIGlzIG5lZWRlZCBpZiB3ZSBjb3VudCB3aXRoIDAgYWxsb3dlZAorCSAqIHVuZm9ydHVuYXRlbHkgdGhpcyBjYW4ndCBiZSBrbm93biBhdCB0aGF0IHBvaW50CisJICovCisJeG1sRkFHZW5lcmF0ZUVwc2lsb25UcmFuc2l0aW9uKGN0eHQsIGN0eHQtPnN0YXRlLCBOVUxMKTsKKwlzdGFydDAgPSBjdHh0LT5zdGF0ZTsKKwl4bWxGQUdlbmVyYXRlRXBzaWxvblRyYW5zaXRpb24oY3R4dCwgY3R4dC0+c3RhdGUsIE5VTEwpOworCXN0YXJ0ID0gY3R4dC0+c3RhdGU7CisJb2xkZW5kID0gY3R4dC0+ZW5kOworCWN0eHQtPmVuZCA9IE5VTEw7CisJY3R4dC0+YXRvbSA9IE5VTEw7CisJeG1sRkFQYXJzZVJlZ0V4cChjdHh0LCAwKTsKKwlpZiAoQ1VSID09ICcpJykgeworCSAgICBORVhUOworCX0gZWxzZSB7CisJICAgIEVSUk9SKCJ4bWxGQVBhcnNlQXRvbTogZXhwZWN0aW5nICcpJyIpOworCX0KKwljdHh0LT5hdG9tID0geG1sUmVnTmV3QXRvbShjdHh0LCBYTUxfUkVHRVhQX1NVQlJFRyk7CisJaWYgKGN0eHQtPmF0b20gPT0gTlVMTCkKKwkgICAgcmV0dXJuKC0xKTsKKwljdHh0LT5hdG9tLT5zdGFydCA9IHN0YXJ0OworCWN0eHQtPmF0b20tPnN0YXJ0MCA9IHN0YXJ0MDsKKwljdHh0LT5hdG9tLT5zdG9wID0gY3R4dC0+c3RhdGU7CisJY3R4dC0+ZW5kID0gb2xkZW5kOworCXJldHVybigxKTsKKyAgICB9IGVsc2UgaWYgKChDVVIgPT0gJ1snKSB8fCAoQ1VSID09ICdcXCcpIHx8IChDVVIgPT0gJy4nKSkgeworCXhtbEZBUGFyc2VDaGFyQ2xhc3MoY3R4dCk7CisJcmV0dXJuKDEpOworICAgIH0KKyAgICByZXR1cm4oMCk7Cit9CisKKy8qKgorICogeG1sRkFQYXJzZVBpZWNlOgorICogQGN0eHQ6ICBhIHJlZ2V4cCBwYXJzZXIgY29udGV4dAorICoKKyAqIFszXSAgIHBpZWNlICAgOjo9ICAgYXRvbSBxdWFudGlmaWVyPworICovCitzdGF0aWMgaW50Cit4bWxGQVBhcnNlUGllY2UoeG1sUmVnUGFyc2VyQ3R4dFB0ciBjdHh0KSB7CisgICAgaW50IHJldDsKKworICAgIGN0eHQtPmF0b20gPSBOVUxMOworICAgIHJldCA9IHhtbEZBUGFyc2VBdG9tKGN0eHQpOworICAgIGlmIChyZXQgPT0gMCkKKwlyZXR1cm4oMCk7CisgICAgaWYgKGN0eHQtPmF0b20gPT0gTlVMTCkgeworCUVSUk9SKCJpbnRlcm5hbDogbm8gYXRvbSBnZW5lcmF0ZWQiKTsKKyAgICB9CisgICAgeG1sRkFQYXJzZVF1YW50aWZpZXIoY3R4dCk7CisgICAgcmV0dXJuKDEpOworfQorCisvKioKKyAqIHhtbEZBUGFyc2VCcmFuY2g6CisgKiBAY3R4dDogIGEgcmVnZXhwIHBhcnNlciBjb250ZXh0CisgKiBAdG86IG9wdGlvbmFsIHRhcmdldCB0byB0aGUgZW5kIG9mIHRoZSBicmFuY2gKKyAqCisgKiBAdG8gaXMgdXNlZCB0byBvcHRpbWl6ZSBieSByZW1vdmluZyBkdXBsaWNhdGUgcGF0aCBpbiBhdXRvbWF0YQorICogaW4gZXhwcmVzc2lvbnMgbGlrZSAoYXxiKShjfGQpCisgKgorICogWzJdICAgYnJhbmNoICAgOjo9ICAgcGllY2UqCisgKi8KK3N0YXRpYyBpbnQKK3htbEZBUGFyc2VCcmFuY2goeG1sUmVnUGFyc2VyQ3R4dFB0ciBjdHh0LCB4bWxSZWdTdGF0ZVB0ciB0bykgeworICAgIHhtbFJlZ1N0YXRlUHRyIHByZXZpb3VzOworICAgIGludCByZXQ7CisKKyAgICBwcmV2aW91cyA9IGN0eHQtPnN0YXRlOworICAgIHJldCA9IHhtbEZBUGFyc2VQaWVjZShjdHh0KTsKKyAgICBpZiAocmV0ICE9IDApIHsKKwlpZiAoeG1sRkFHZW5lcmF0ZVRyYW5zaXRpb25zKGN0eHQsIHByZXZpb3VzLAorCSAgICAgICAgKENVUj09J3wnIHx8IENVUj09JyknKSA/IHRvIDogTlVMTCwgY3R4dC0+YXRvbSkgPCAwKQorCSAgICByZXR1cm4oLTEpOworCXByZXZpb3VzID0gY3R4dC0+c3RhdGU7CisJY3R4dC0+YXRvbSA9IE5VTEw7CisgICAgfQorICAgIHdoaWxlICgocmV0ICE9IDApICYmIChjdHh0LT5lcnJvciA9PSAwKSkgeworCXJldCA9IHhtbEZBUGFyc2VQaWVjZShjdHh0KTsKKwlpZiAocmV0ICE9IDApIHsKKwkgICAgaWYgKHhtbEZBR2VuZXJhdGVUcmFuc2l0aW9ucyhjdHh0LCBwcmV2aW91cywKKwkgICAgICAgICAgICAoQ1VSPT0nfCcgfHwgQ1VSPT0nKScpID8gdG8gOiBOVUxMLCBjdHh0LT5hdG9tKSA8IDApCisJCSAgICByZXR1cm4oLTEpOworCSAgICBwcmV2aW91cyA9IGN0eHQtPnN0YXRlOworCSAgICBjdHh0LT5hdG9tID0gTlVMTDsKKwl9CisgICAgfQorICAgIHJldHVybigwKTsKK30KKworLyoqCisgKiB4bWxGQVBhcnNlUmVnRXhwOgorICogQGN0eHQ6ICBhIHJlZ2V4cCBwYXJzZXIgY29udGV4dAorICogQHRvcDogIGlzIHRoaXMgdGhlIHRvcC1sZXZlbCBleHByZXNzaW9uID8KKyAqCisgKiBbMV0gICByZWdFeHAgICA6Oj0gICAgIGJyYW5jaCAgKCAnfCcgYnJhbmNoICkqCisgKi8KK3N0YXRpYyB2b2lkCit4bWxGQVBhcnNlUmVnRXhwKHhtbFJlZ1BhcnNlckN0eHRQdHIgY3R4dCwgaW50IHRvcCkgeworICAgIHhtbFJlZ1N0YXRlUHRyIHN0YXJ0LCBlbmQ7CisKKyAgICAvKiBpZiBub3QgdG9wIHN0YXJ0IHNob3VsZCBoYXZlIGJlZW4gZ2VuZXJhdGVkIGJ5IGFuIGVwc2lsb24gdHJhbnMgKi8KKyAgICBzdGFydCA9IGN0eHQtPnN0YXRlOworICAgIGN0eHQtPmVuZCA9IE5VTEw7CisgICAgeG1sRkFQYXJzZUJyYW5jaChjdHh0LCBOVUxMKTsKKyAgICBpZiAodG9wKSB7CisjaWZkZWYgREVCVUdfUkVHRVhQX0dSQVBICisJcHJpbnRmKCJTdGF0ZSAlZCBpcyBmaW5hbFxuIiwgY3R4dC0+c3RhdGUtPm5vKTsKKyNlbmRpZgorCWN0eHQtPnN0YXRlLT50eXBlID0gWE1MX1JFR0VYUF9GSU5BTF9TVEFURTsKKyAgICB9CisgICAgaWYgKENVUiAhPSAnfCcpIHsKKwljdHh0LT5lbmQgPSBjdHh0LT5zdGF0ZTsKKwlyZXR1cm47CisgICAgfQorICAgIGVuZCA9IGN0eHQtPnN0YXRlOworICAgIHdoaWxlICgoQ1VSID09ICd8JykgJiYgKGN0eHQtPmVycm9yID09IDApKSB7CisJTkVYVDsKKwlpZiAoQ1VSID09IDApIHsKKwkgICAgRVJST1IoImV4cGVjdGluZyBhIGJyYW5jaCBhZnRlciB8IikKKwkgICAgcmV0dXJuOworCX0KKwljdHh0LT5zdGF0ZSA9IHN0YXJ0OworCWN0eHQtPmVuZCA9IE5VTEw7CisJeG1sRkFQYXJzZUJyYW5jaChjdHh0LCBlbmQpOworICAgIH0KKyAgICBpZiAoIXRvcCkgeworCWN0eHQtPnN0YXRlID0gZW5kOworCWN0eHQtPmVuZCA9IGVuZDsKKyAgICB9Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCQlUaGUgYmFzaWMgQVBJCQkJCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKgorICogeG1sUmVnZXhwUHJpbnQ6CisgKiBAb3V0cHV0OiB0aGUgZmlsZSBmb3IgdGhlIG91dHB1dCBkZWJ1ZworICogQHJlZ2V4cDogdGhlIGNvbXBpbGVkIHJlZ2V4cAorICoKKyAqIFByaW50IHRoZSBjb250ZW50IG9mIHRoZSBjb21waWxlZCByZWd1bGFyIGV4cHJlc3Npb24KKyAqLwordm9pZAoreG1sUmVnZXhwUHJpbnQoRklMRSAqb3V0cHV0LCB4bWxSZWdleHBQdHIgcmVnZXhwKSB7CisgICAgaW50IGk7CisKKyAgICBpZiAob3V0cHV0ID09IE5VTEwpCisgICAgICAgIHJldHVybjsKKyAgICBmcHJpbnRmKG91dHB1dCwgIiByZWdleHA6ICIpOworICAgIGlmIChyZWdleHAgPT0gTlVMTCkgeworCWZwcmludGYob3V0cHV0LCAiTlVMTFxuIik7CisJcmV0dXJuOworICAgIH0KKyAgICBmcHJpbnRmKG91dHB1dCwgIiclcycgIiwgcmVnZXhwLT5zdHJpbmcpOworICAgIGZwcmludGYob3V0cHV0LCAiXG4iKTsKKyAgICBmcHJpbnRmKG91dHB1dCwgIiVkIGF0b21zOlxuIiwgcmVnZXhwLT5uYkF0b21zKTsKKyAgICBmb3IgKGkgPSAwO2kgPCByZWdleHAtPm5iQXRvbXM7IGkrKykgeworCWZwcmludGYob3V0cHV0LCAiICUwMmQgIiwgaSk7CisJeG1sUmVnUHJpbnRBdG9tKG91dHB1dCwgcmVnZXhwLT5hdG9tc1tpXSk7CisgICAgfQorICAgIGZwcmludGYob3V0cHV0LCAiJWQgc3RhdGVzOiIsIHJlZ2V4cC0+bmJTdGF0ZXMpOworICAgIGZwcmludGYob3V0cHV0LCAiXG4iKTsKKyAgICBmb3IgKGkgPSAwO2kgPCByZWdleHAtPm5iU3RhdGVzOyBpKyspIHsKKwl4bWxSZWdQcmludFN0YXRlKG91dHB1dCwgcmVnZXhwLT5zdGF0ZXNbaV0pOworICAgIH0KKyAgICBmcHJpbnRmKG91dHB1dCwgIiVkIGNvdW50ZXJzOlxuIiwgcmVnZXhwLT5uYkNvdW50ZXJzKTsKKyAgICBmb3IgKGkgPSAwO2kgPCByZWdleHAtPm5iQ291bnRlcnM7IGkrKykgeworCWZwcmludGYob3V0cHV0LCAiICVkOiBtaW4gJWQgbWF4ICVkXG4iLCBpLCByZWdleHAtPmNvdW50ZXJzW2ldLm1pbiwKKwkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWdleHAtPmNvdW50ZXJzW2ldLm1heCk7CisgICAgfQorfQorCisvKioKKyAqIHhtbFJlZ2V4cENvbXBpbGU6CisgKiBAcmVnZXhwOiAgYSByZWd1bGFyIGV4cHJlc3Npb24gc3RyaW5nCisgKgorICogUGFyc2VzIGEgcmVndWxhciBleHByZXNzaW9uIGNvbmZvcm1pbmcgdG8gWE1MIFNjaGVtYXMgUGFydCAyIERhdGF0eXBlCisgKiBBcHBlbmRpeCBGIGFuZCBidWlsZHMgYW4gYXV0b21hdGEgc3VpdGFibGUgZm9yIHRlc3Rpbmcgc3RyaW5ncyBhZ2FpbnN0CisgKiB0aGF0IHJlZ3VsYXIgZXhwcmVzc2lvbgorICoKKyAqIFJldHVybnMgdGhlIGNvbXBpbGVkIGV4cHJlc3Npb24gb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3htbFJlZ2V4cFB0cgoreG1sUmVnZXhwQ29tcGlsZShjb25zdCB4bWxDaGFyICpyZWdleHApIHsKKyAgICB4bWxSZWdleHBQdHIgcmV0OworICAgIHhtbFJlZ1BhcnNlckN0eHRQdHIgY3R4dDsKKworICAgIGN0eHQgPSB4bWxSZWdOZXdQYXJzZXJDdHh0KHJlZ2V4cCk7CisgICAgaWYgKGN0eHQgPT0gTlVMTCkKKwlyZXR1cm4oTlVMTCk7CisKKyAgICAvKiBpbml0aWFsaXplIHRoZSBwYXJzZXIgKi8KKyAgICBjdHh0LT5lbmQgPSBOVUxMOworICAgIGN0eHQtPnN0YXJ0ID0gY3R4dC0+c3RhdGUgPSB4bWxSZWdOZXdTdGF0ZShjdHh0KTsKKyAgICB4bWxSZWdTdGF0ZVB1c2goY3R4dCwgY3R4dC0+c3RhcnQpOworCisgICAgLyogcGFyc2UgdGhlIGV4cHJlc3Npb24gYnVpbGRpbmcgYW4gYXV0b21hdGEgKi8KKyAgICB4bWxGQVBhcnNlUmVnRXhwKGN0eHQsIDEpOworICAgIGlmIChDVVIgIT0gMCkgeworCUVSUk9SKCJ4bWxGQVBhcnNlUmVnRXhwOiBleHRyYSBjaGFyYWN0ZXJzIik7CisgICAgfQorICAgIGlmIChjdHh0LT5lcnJvciAhPSAwKSB7CisJeG1sUmVnRnJlZVBhcnNlckN0eHQoY3R4dCk7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBjdHh0LT5lbmQgPSBjdHh0LT5zdGF0ZTsKKyAgICBjdHh0LT5zdGFydC0+dHlwZSA9IFhNTF9SRUdFWFBfU1RBUlRfU1RBVEU7CisgICAgY3R4dC0+ZW5kLT50eXBlID0gWE1MX1JFR0VYUF9GSU5BTF9TVEFURTsKKworICAgIC8qIHJlbW92ZSB0aGUgRXBzaWxvbiBleGNlcHQgZm9yIGNvdW50ZWQgdHJhbnNpdGlvbnMgKi8KKyAgICB4bWxGQUVsaW1pbmF0ZUVwc2lsb25UcmFuc2l0aW9ucyhjdHh0KTsKKworCisgICAgaWYgKGN0eHQtPmVycm9yICE9IDApIHsKKwl4bWxSZWdGcmVlUGFyc2VyQ3R4dChjdHh0KTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIHJldCA9IHhtbFJlZ0VweEZyb21QYXJzZShjdHh0KTsKKyAgICB4bWxSZWdGcmVlUGFyc2VyQ3R4dChjdHh0KTsKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxSZWdleHBFeGVjOgorICogQGNvbXA6ICB0aGUgY29tcGlsZWQgcmVndWxhciBleHByZXNzaW9uCisgKiBAY29udGVudDogIHRoZSB2YWx1ZSB0byBjaGVjayBhZ2FpbnN0IHRoZSByZWd1bGFyIGV4cHJlc3Npb24KKyAqCisgKiBDaGVjayBpZiB0aGUgcmVndWxhciBleHByZXNzaW9uIGdlbmVyYXRlcyB0aGUgdmFsdWUKKyAqCisgKiBSZXR1cm5zIDEgaWYgaXQgbWF0Y2hlcywgMCBpZiBub3QgYW5kIGEgbmVnYXRpdmUgdmFsdWUgaW4gY2FzZSBvZiBlcnJvcgorICovCitpbnQKK3htbFJlZ2V4cEV4ZWMoeG1sUmVnZXhwUHRyIGNvbXAsIGNvbnN0IHhtbENoYXIgKmNvbnRlbnQpIHsKKyAgICBpZiAoKGNvbXAgPT0gTlVMTCkgfHwgKGNvbnRlbnQgPT0gTlVMTCkpCisJcmV0dXJuKC0xKTsKKyAgICByZXR1cm4oeG1sRkFSZWdFeGVjKGNvbXAsIGNvbnRlbnQpKTsKK30KKworLyoqCisgKiB4bWxSZWdleHBJc0RldGVybWluaXN0OgorICogQGNvbXA6ICB0aGUgY29tcGlsZWQgcmVndWxhciBleHByZXNzaW9uCisgKgorICogQ2hlY2sgaWYgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBpcyBkZXRlcm1pbmlzdAorICoKKyAqIFJldHVybnMgMSBpZiBpdCB5ZXMsIDAgaWYgbm90IGFuZCBhIG5lZ2F0aXZlIHZhbHVlIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworaW50Cit4bWxSZWdleHBJc0RldGVybWluaXN0KHhtbFJlZ2V4cFB0ciBjb21wKSB7CisgICAgeG1sQXV0b21hdGFQdHIgYW07CisgICAgaW50IHJldDsKKworICAgIGlmIChjb21wID09IE5VTEwpCisJcmV0dXJuKC0xKTsKKyAgICBpZiAoY29tcC0+ZGV0ZXJtaW5pc3QgIT0gLTEpCisJcmV0dXJuKGNvbXAtPmRldGVybWluaXN0KTsKKworICAgIGFtID0geG1sTmV3QXV0b21hdGEoKTsKKyAgICBpZiAoYW0tPnN0YXRlcyAhPSBOVUxMKSB7CisJaW50IGk7CisKKwlmb3IgKGkgPSAwO2kgPCBhbS0+bmJTdGF0ZXM7aSsrKQorCSAgICB4bWxSZWdGcmVlU3RhdGUoYW0tPnN0YXRlc1tpXSk7CisJeG1sRnJlZShhbS0+c3RhdGVzKTsKKyAgICB9CisgICAgYW0tPm5iQXRvbXMgPSBjb21wLT5uYkF0b21zOworICAgIGFtLT5hdG9tcyA9IGNvbXAtPmF0b21zOworICAgIGFtLT5uYlN0YXRlcyA9IGNvbXAtPm5iU3RhdGVzOworICAgIGFtLT5zdGF0ZXMgPSBjb21wLT5zdGF0ZXM7CisgICAgYW0tPmRldGVybWluaXN0ID0gLTE7CisgICAgYW0tPmZsYWdzID0gY29tcC0+ZmxhZ3M7CisgICAgcmV0ID0geG1sRkFDb21wdXRlc0RldGVybWluaXNtKGFtKTsKKyAgICBhbS0+YXRvbXMgPSBOVUxMOworICAgIGFtLT5zdGF0ZXMgPSBOVUxMOworICAgIHhtbEZyZWVBdXRvbWF0YShhbSk7CisgICAgY29tcC0+ZGV0ZXJtaW5pc3QgPSByZXQ7CisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogeG1sUmVnRnJlZVJlZ2V4cDoKKyAqIEByZWdleHA6ICB0aGUgcmVnZXhwCisgKgorICogRnJlZSBhIHJlZ2V4cAorICovCit2b2lkCit4bWxSZWdGcmVlUmVnZXhwKHhtbFJlZ2V4cFB0ciByZWdleHApIHsKKyAgICBpbnQgaTsKKyAgICBpZiAocmVnZXhwID09IE5VTEwpCisJcmV0dXJuOworCisgICAgaWYgKHJlZ2V4cC0+c3RyaW5nICE9IE5VTEwpCisJeG1sRnJlZShyZWdleHAtPnN0cmluZyk7CisgICAgaWYgKHJlZ2V4cC0+c3RhdGVzICE9IE5VTEwpIHsKKwlmb3IgKGkgPSAwO2kgPCByZWdleHAtPm5iU3RhdGVzO2krKykKKwkgICAgeG1sUmVnRnJlZVN0YXRlKHJlZ2V4cC0+c3RhdGVzW2ldKTsKKwl4bWxGcmVlKHJlZ2V4cC0+c3RhdGVzKTsKKyAgICB9CisgICAgaWYgKHJlZ2V4cC0+YXRvbXMgIT0gTlVMTCkgeworCWZvciAoaSA9IDA7aSA8IHJlZ2V4cC0+bmJBdG9tcztpKyspCisJICAgIHhtbFJlZ0ZyZWVBdG9tKHJlZ2V4cC0+YXRvbXNbaV0pOworCXhtbEZyZWUocmVnZXhwLT5hdG9tcyk7CisgICAgfQorICAgIGlmIChyZWdleHAtPmNvdW50ZXJzICE9IE5VTEwpCisJeG1sRnJlZShyZWdleHAtPmNvdW50ZXJzKTsKKyAgICBpZiAocmVnZXhwLT5jb21wYWN0ICE9IE5VTEwpCisJeG1sRnJlZShyZWdleHAtPmNvbXBhY3QpOworICAgIGlmIChyZWdleHAtPnRyYW5zZGF0YSAhPSBOVUxMKQorCXhtbEZyZWUocmVnZXhwLT50cmFuc2RhdGEpOworICAgIGlmIChyZWdleHAtPnN0cmluZ01hcCAhPSBOVUxMKSB7CisJZm9yIChpID0gMDsgaSA8IHJlZ2V4cC0+bmJzdHJpbmdzO2krKykKKwkgICAgeG1sRnJlZShyZWdleHAtPnN0cmluZ01hcFtpXSk7CisJeG1sRnJlZShyZWdleHAtPnN0cmluZ01hcCk7CisgICAgfQorCisgICAgeG1sRnJlZShyZWdleHApOworfQorCisjaWZkZWYgTElCWE1MX0FVVE9NQVRBX0VOQUJMRUQKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCQlUaGUgQXV0b21hdGEgaW50ZXJmYWNlCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqCisgKiB4bWxOZXdBdXRvbWF0YToKKyAqCisgKiBDcmVhdGUgYSBuZXcgYXV0b21hdGEKKyAqCisgKiBSZXR1cm5zIHRoZSBuZXcgb2JqZWN0IG9yIE5VTEwgaW4gY2FzZSBvZiBmYWlsdXJlCisgKi8KK3htbEF1dG9tYXRhUHRyCit4bWxOZXdBdXRvbWF0YSh2b2lkKSB7CisgICAgeG1sQXV0b21hdGFQdHIgY3R4dDsKKworICAgIGN0eHQgPSB4bWxSZWdOZXdQYXJzZXJDdHh0KE5VTEwpOworICAgIGlmIChjdHh0ID09IE5VTEwpCisJcmV0dXJuKE5VTEwpOworCisgICAgLyogaW5pdGlhbGl6ZSB0aGUgcGFyc2VyICovCisgICAgY3R4dC0+ZW5kID0gTlVMTDsKKyAgICBjdHh0LT5zdGFydCA9IGN0eHQtPnN0YXRlID0geG1sUmVnTmV3U3RhdGUoY3R4dCk7CisgICAgaWYgKGN0eHQtPnN0YXJ0ID09IE5VTEwpIHsKKwl4bWxGcmVlQXV0b21hdGEoY3R4dCk7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBjdHh0LT5zdGFydC0+dHlwZSA9IFhNTF9SRUdFWFBfU1RBUlRfU1RBVEU7CisgICAgaWYgKHhtbFJlZ1N0YXRlUHVzaChjdHh0LCBjdHh0LT5zdGFydCkgPCAwKSB7CisgICAgICAgIHhtbFJlZ0ZyZWVTdGF0ZShjdHh0LT5zdGFydCk7CisJeG1sRnJlZUF1dG9tYXRhKGN0eHQpOworCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgY3R4dC0+ZmxhZ3MgPSAwOworCisgICAgcmV0dXJuKGN0eHQpOworfQorCisvKioKKyAqIHhtbEZyZWVBdXRvbWF0YToKKyAqIEBhbTogYW4gYXV0b21hdGEKKyAqCisgKiBGcmVlIGFuIGF1dG9tYXRhCisgKi8KK3ZvaWQKK3htbEZyZWVBdXRvbWF0YSh4bWxBdXRvbWF0YVB0ciBhbSkgeworICAgIGlmIChhbSA9PSBOVUxMKQorCXJldHVybjsKKyAgICB4bWxSZWdGcmVlUGFyc2VyQ3R4dChhbSk7Cit9CisKKy8qKgorICogeG1sQXV0b21hdGFTZXRGbGFnczoKKyAqIEBhbTogYW4gYXV0b21hdGEKKyAqIEBmbGFnczogIGEgc2V0IG9mIGludGVybmFsIGZsYWdzCisgKgorICogU2V0IHNvbWUgZmxhZ3Mgb24gdGhlIGF1dG9tYXRhCisgKi8KK3ZvaWQKK3htbEF1dG9tYXRhU2V0RmxhZ3MoeG1sQXV0b21hdGFQdHIgYW0sIGludCBmbGFncykgeworICAgIGlmIChhbSA9PSBOVUxMKQorCXJldHVybjsKKyAgICBhbS0+ZmxhZ3MgfD0gZmxhZ3M7Cit9CisKKy8qKgorICogeG1sQXV0b21hdGFHZXRJbml0U3RhdGU6CisgKiBAYW06IGFuIGF1dG9tYXRhCisgKgorICogSW5pdGlhbCBzdGF0ZSBsb29rdXAKKyAqCisgKiBSZXR1cm5zIHRoZSBpbml0aWFsIHN0YXRlIG9mIHRoZSBhdXRvbWF0YQorICovCit4bWxBdXRvbWF0YVN0YXRlUHRyCit4bWxBdXRvbWF0YUdldEluaXRTdGF0ZSh4bWxBdXRvbWF0YVB0ciBhbSkgeworICAgIGlmIChhbSA9PSBOVUxMKQorCXJldHVybihOVUxMKTsKKyAgICByZXR1cm4oYW0tPnN0YXJ0KTsKK30KKworLyoqCisgKiB4bWxBdXRvbWF0YVNldEZpbmFsU3RhdGU6CisgKiBAYW06IGFuIGF1dG9tYXRhCisgKiBAc3RhdGU6IGEgc3RhdGUgaW4gdGhpcyBhdXRvbWF0YQorICoKKyAqIE1ha2VzIHRoYXQgc3RhdGUgYSBmaW5hbCBzdGF0ZQorICoKKyAqIFJldHVybnMgMCBvciAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK2ludAoreG1sQXV0b21hdGFTZXRGaW5hbFN0YXRlKHhtbEF1dG9tYXRhUHRyIGFtLCB4bWxBdXRvbWF0YVN0YXRlUHRyIHN0YXRlKSB7CisgICAgaWYgKChhbSA9PSBOVUxMKSB8fCAoc3RhdGUgPT0gTlVMTCkpCisJcmV0dXJuKC0xKTsKKyAgICBzdGF0ZS0+dHlwZSA9IFhNTF9SRUdFWFBfRklOQUxfU1RBVEU7CisgICAgcmV0dXJuKDApOworfQorCisvKioKKyAqIHhtbEF1dG9tYXRhTmV3VHJhbnNpdGlvbjoKKyAqIEBhbTogYW4gYXV0b21hdGEKKyAqIEBmcm9tOiB0aGUgc3RhcnRpbmcgcG9pbnQgb2YgdGhlIHRyYW5zaXRpb24KKyAqIEB0bzogdGhlIHRhcmdldCBwb2ludCBvZiB0aGUgdHJhbnNpdGlvbiBvciBOVUxMCisgKiBAdG9rZW46IHRoZSBpbnB1dCBzdHJpbmcgYXNzb2NpYXRlZCB0byB0aGF0IHRyYW5zaXRpb24KKyAqIEBkYXRhOiBkYXRhIHBhc3NlZCB0byB0aGUgY2FsbGJhY2sgZnVuY3Rpb24gaWYgdGhlIHRyYW5zaXRpb24gaXMgYWN0aXZhdGVkCisgKgorICogSWYgQHRvIGlzIE5VTEwsIHRoaXMgY3JlYXRlcyBmaXJzdCBhIG5ldyB0YXJnZXQgc3RhdGUgaW4gdGhlIGF1dG9tYXRhCisgKiBhbmQgdGhlbiBhZGRzIGEgdHJhbnNpdGlvbiBmcm9tIHRoZSBAZnJvbSBzdGF0ZSB0byB0aGUgdGFyZ2V0IHN0YXRlCisgKiBhY3RpdmF0ZWQgYnkgdGhlIHZhbHVlIG9mIEB0b2tlbgorICoKKyAqIFJldHVybnMgdGhlIHRhcmdldCBzdGF0ZSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworeG1sQXV0b21hdGFTdGF0ZVB0cgoreG1sQXV0b21hdGFOZXdUcmFuc2l0aW9uKHhtbEF1dG9tYXRhUHRyIGFtLCB4bWxBdXRvbWF0YVN0YXRlUHRyIGZyb20sCisJCQkgeG1sQXV0b21hdGFTdGF0ZVB0ciB0bywgY29uc3QgeG1sQ2hhciAqdG9rZW4sCisJCQkgdm9pZCAqZGF0YSkgeworICAgIHhtbFJlZ0F0b21QdHIgYXRvbTsKKworICAgIGlmICgoYW0gPT0gTlVMTCkgfHwgKGZyb20gPT0gTlVMTCkgfHwgKHRva2VuID09IE5VTEwpKQorCXJldHVybihOVUxMKTsKKyAgICBhdG9tID0geG1sUmVnTmV3QXRvbShhbSwgWE1MX1JFR0VYUF9TVFJJTkcpOworICAgIGlmIChhdG9tID09IE5VTEwpCisgICAgICAgIHJldHVybihOVUxMKTsKKyAgICBhdG9tLT5kYXRhID0gZGF0YTsKKyAgICBhdG9tLT52YWx1ZXAgPSB4bWxTdHJkdXAodG9rZW4pOworCisgICAgaWYgKHhtbEZBR2VuZXJhdGVUcmFuc2l0aW9ucyhhbSwgZnJvbSwgdG8sIGF0b20pIDwgMCkgeworICAgICAgICB4bWxSZWdGcmVlQXRvbShhdG9tKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIGlmICh0byA9PSBOVUxMKQorCXJldHVybihhbS0+c3RhdGUpOworICAgIHJldHVybih0byk7Cit9CisKKy8qKgorICogeG1sQXV0b21hdGFOZXdUcmFuc2l0aW9uMjoKKyAqIEBhbTogYW4gYXV0b21hdGEKKyAqIEBmcm9tOiB0aGUgc3RhcnRpbmcgcG9pbnQgb2YgdGhlIHRyYW5zaXRpb24KKyAqIEB0bzogdGhlIHRhcmdldCBwb2ludCBvZiB0aGUgdHJhbnNpdGlvbiBvciBOVUxMCisgKiBAdG9rZW46IHRoZSBmaXJzdCBpbnB1dCBzdHJpbmcgYXNzb2NpYXRlZCB0byB0aGF0IHRyYW5zaXRpb24KKyAqIEB0b2tlbjI6IHRoZSBzZWNvbmQgaW5wdXQgc3RyaW5nIGFzc29jaWF0ZWQgdG8gdGhhdCB0cmFuc2l0aW9uCisgKiBAZGF0YTogZGF0YSBwYXNzZWQgdG8gdGhlIGNhbGxiYWNrIGZ1bmN0aW9uIGlmIHRoZSB0cmFuc2l0aW9uIGlzIGFjdGl2YXRlZAorICoKKyAqIElmIEB0byBpcyBOVUxMLCB0aGlzIGNyZWF0ZXMgZmlyc3QgYSBuZXcgdGFyZ2V0IHN0YXRlIGluIHRoZSBhdXRvbWF0YQorICogYW5kIHRoZW4gYWRkcyBhIHRyYW5zaXRpb24gZnJvbSB0aGUgQGZyb20gc3RhdGUgdG8gdGhlIHRhcmdldCBzdGF0ZQorICogYWN0aXZhdGVkIGJ5IHRoZSB2YWx1ZSBvZiBAdG9rZW4KKyAqCisgKiBSZXR1cm5zIHRoZSB0YXJnZXQgc3RhdGUgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3htbEF1dG9tYXRhU3RhdGVQdHIKK3htbEF1dG9tYXRhTmV3VHJhbnNpdGlvbjIoeG1sQXV0b21hdGFQdHIgYW0sIHhtbEF1dG9tYXRhU3RhdGVQdHIgZnJvbSwKKwkJCSAgeG1sQXV0b21hdGFTdGF0ZVB0ciB0bywgY29uc3QgeG1sQ2hhciAqdG9rZW4sCisJCQkgIGNvbnN0IHhtbENoYXIgKnRva2VuMiwgdm9pZCAqZGF0YSkgeworICAgIHhtbFJlZ0F0b21QdHIgYXRvbTsKKworICAgIGlmICgoYW0gPT0gTlVMTCkgfHwgKGZyb20gPT0gTlVMTCkgfHwgKHRva2VuID09IE5VTEwpKQorCXJldHVybihOVUxMKTsKKyAgICBhdG9tID0geG1sUmVnTmV3QXRvbShhbSwgWE1MX1JFR0VYUF9TVFJJTkcpOworICAgIGlmIChhdG9tID09IE5VTEwpCisJcmV0dXJuKE5VTEwpOworICAgIGF0b20tPmRhdGEgPSBkYXRhOworICAgIGlmICgodG9rZW4yID09IE5VTEwpIHx8ICgqdG9rZW4yID09IDApKSB7CisJYXRvbS0+dmFsdWVwID0geG1sU3RyZHVwKHRva2VuKTsKKyAgICB9IGVsc2UgeworCWludCBsZW5uLCBsZW5wOworCXhtbENoYXIgKnN0cjsKKworCWxlbm4gPSBzdHJsZW4oKGNoYXIgKikgdG9rZW4yKTsKKwlsZW5wID0gc3RybGVuKChjaGFyICopIHRva2VuKTsKKworCXN0ciA9ICh4bWxDaGFyICopIHhtbE1hbGxvY0F0b21pYyhsZW5uICsgbGVucCArIDIpOworCWlmIChzdHIgPT0gTlVMTCkgeworCSAgICB4bWxSZWdGcmVlQXRvbShhdG9tKTsKKwkgICAgcmV0dXJuKE5VTEwpOworCX0KKwltZW1jcHkoJnN0clswXSwgdG9rZW4sIGxlbnApOworCXN0cltsZW5wXSA9ICd8JzsKKwltZW1jcHkoJnN0cltsZW5wICsgMV0sIHRva2VuMiwgbGVubik7CisJc3RyW2xlbm4gKyBsZW5wICsgMV0gPSAwOworCisJYXRvbS0+dmFsdWVwID0gc3RyOworICAgIH0KKworICAgIGlmICh4bWxGQUdlbmVyYXRlVHJhbnNpdGlvbnMoYW0sIGZyb20sIHRvLCBhdG9tKSA8IDApIHsKKyAgICAgICAgeG1sUmVnRnJlZUF0b20oYXRvbSk7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBpZiAodG8gPT0gTlVMTCkKKwlyZXR1cm4oYW0tPnN0YXRlKTsKKyAgICByZXR1cm4odG8pOworfQorCisvKioKKyAqIHhtbEF1dG9tYXRhTmV3TmVnVHJhbnM6CisgKiBAYW06IGFuIGF1dG9tYXRhCisgKiBAZnJvbTogdGhlIHN0YXJ0aW5nIHBvaW50IG9mIHRoZSB0cmFuc2l0aW9uCisgKiBAdG86IHRoZSB0YXJnZXQgcG9pbnQgb2YgdGhlIHRyYW5zaXRpb24gb3IgTlVMTAorICogQHRva2VuOiB0aGUgZmlyc3QgaW5wdXQgc3RyaW5nIGFzc29jaWF0ZWQgdG8gdGhhdCB0cmFuc2l0aW9uCisgKiBAdG9rZW4yOiB0aGUgc2Vjb25kIGlucHV0IHN0cmluZyBhc3NvY2lhdGVkIHRvIHRoYXQgdHJhbnNpdGlvbgorICogQGRhdGE6IGRhdGEgcGFzc2VkIHRvIHRoZSBjYWxsYmFjayBmdW5jdGlvbiBpZiB0aGUgdHJhbnNpdGlvbiBpcyBhY3RpdmF0ZWQKKyAqCisgKiBJZiBAdG8gaXMgTlVMTCwgdGhpcyBjcmVhdGVzIGZpcnN0IGEgbmV3IHRhcmdldCBzdGF0ZSBpbiB0aGUgYXV0b21hdGEKKyAqIGFuZCB0aGVuIGFkZHMgYSB0cmFuc2l0aW9uIGZyb20gdGhlIEBmcm9tIHN0YXRlIHRvIHRoZSB0YXJnZXQgc3RhdGUKKyAqIGFjdGl2YXRlZCBieSBhbnkgdmFsdWUgZXhjZXB0IChAdG9rZW4sQHRva2VuMikKKyAqIE5vdGUgdGhhdCBpZiBAdG9rZW4yIGlzIG5vdCBOVUxMLCB0aGVuIChYLCBOVUxMKSB3b24ndCBtYXRjaCB0byBmb2xsb3cKKyAjIHRoZSBzZW1hbnRpYyBvZiBYU0QgIyNvdGhlcgorICoKKyAqIFJldHVybnMgdGhlIHRhcmdldCBzdGF0ZSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworeG1sQXV0b21hdGFTdGF0ZVB0cgoreG1sQXV0b21hdGFOZXdOZWdUcmFucyh4bWxBdXRvbWF0YVB0ciBhbSwgeG1sQXV0b21hdGFTdGF0ZVB0ciBmcm9tLAorCQkgICAgICAgeG1sQXV0b21hdGFTdGF0ZVB0ciB0bywgY29uc3QgeG1sQ2hhciAqdG9rZW4sCisJCSAgICAgICBjb25zdCB4bWxDaGFyICp0b2tlbjIsIHZvaWQgKmRhdGEpIHsKKyAgICB4bWxSZWdBdG9tUHRyIGF0b207CisgICAgeG1sQ2hhciBlcnJfbXNnWzIwMF07CisKKyAgICBpZiAoKGFtID09IE5VTEwpIHx8IChmcm9tID09IE5VTEwpIHx8ICh0b2tlbiA9PSBOVUxMKSkKKwlyZXR1cm4oTlVMTCk7CisgICAgYXRvbSA9IHhtbFJlZ05ld0F0b20oYW0sIFhNTF9SRUdFWFBfU1RSSU5HKTsKKyAgICBpZiAoYXRvbSA9PSBOVUxMKQorCXJldHVybihOVUxMKTsKKyAgICBhdG9tLT5kYXRhID0gZGF0YTsKKyAgICBhdG9tLT5uZWcgPSAxOworICAgIGlmICgodG9rZW4yID09IE5VTEwpIHx8ICgqdG9rZW4yID09IDApKSB7CisJYXRvbS0+dmFsdWVwID0geG1sU3RyZHVwKHRva2VuKTsKKyAgICB9IGVsc2UgeworCWludCBsZW5uLCBsZW5wOworCXhtbENoYXIgKnN0cjsKKworCWxlbm4gPSBzdHJsZW4oKGNoYXIgKikgdG9rZW4yKTsKKwlsZW5wID0gc3RybGVuKChjaGFyICopIHRva2VuKTsKKworCXN0ciA9ICh4bWxDaGFyICopIHhtbE1hbGxvY0F0b21pYyhsZW5uICsgbGVucCArIDIpOworCWlmIChzdHIgPT0gTlVMTCkgeworCSAgICB4bWxSZWdGcmVlQXRvbShhdG9tKTsKKwkgICAgcmV0dXJuKE5VTEwpOworCX0KKwltZW1jcHkoJnN0clswXSwgdG9rZW4sIGxlbnApOworCXN0cltsZW5wXSA9ICd8JzsKKwltZW1jcHkoJnN0cltsZW5wICsgMV0sIHRva2VuMiwgbGVubik7CisJc3RyW2xlbm4gKyBsZW5wICsgMV0gPSAwOworCisJYXRvbS0+dmFsdWVwID0gc3RyOworICAgIH0KKyAgICBzbnByaW50ZigoY2hhciAqKSBlcnJfbXNnLCAxOTksICJub3QgJXMiLCAoY29uc3QgY2hhciAqKSBhdG9tLT52YWx1ZXApOworICAgIGVycl9tc2dbMTk5XSA9IDA7CisgICAgYXRvbS0+dmFsdWVwMiA9IHhtbFN0cmR1cChlcnJfbXNnKTsKKworICAgIGlmICh4bWxGQUdlbmVyYXRlVHJhbnNpdGlvbnMoYW0sIGZyb20sIHRvLCBhdG9tKSA8IDApIHsKKyAgICAgICAgeG1sUmVnRnJlZUF0b20oYXRvbSk7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBhbS0+bmVncysrOworICAgIGlmICh0byA9PSBOVUxMKQorCXJldHVybihhbS0+c3RhdGUpOworICAgIHJldHVybih0byk7Cit9CisKKy8qKgorICogeG1sQXV0b21hdGFOZXdDb3VudFRyYW5zMjoKKyAqIEBhbTogYW4gYXV0b21hdGEKKyAqIEBmcm9tOiB0aGUgc3RhcnRpbmcgcG9pbnQgb2YgdGhlIHRyYW5zaXRpb24KKyAqIEB0bzogdGhlIHRhcmdldCBwb2ludCBvZiB0aGUgdHJhbnNpdGlvbiBvciBOVUxMCisgKiBAdG9rZW46IHRoZSBpbnB1dCBzdHJpbmcgYXNzb2NpYXRlZCB0byB0aGF0IHRyYW5zaXRpb24KKyAqIEB0b2tlbjI6IHRoZSBzZWNvbmQgaW5wdXQgc3RyaW5nIGFzc29jaWF0ZWQgdG8gdGhhdCB0cmFuc2l0aW9uCisgKiBAbWluOiAgdGhlIG1pbmltdW0gc3VjY2Vzc2l2ZSBvY2N1cmVuY2VzIG9mIHRva2VuCisgKiBAbWF4OiAgdGhlIG1heGltdW0gc3VjY2Vzc2l2ZSBvY2N1cmVuY2VzIG9mIHRva2VuCisgKiBAZGF0YTogIGRhdGEgYXNzb2NpYXRlZCB0byB0aGUgdHJhbnNpdGlvbgorICoKKyAqIElmIEB0byBpcyBOVUxMLCB0aGlzIGNyZWF0ZXMgZmlyc3QgYSBuZXcgdGFyZ2V0IHN0YXRlIGluIHRoZSBhdXRvbWF0YQorICogYW5kIHRoZW4gYWRkcyBhIHRyYW5zaXRpb24gZnJvbSB0aGUgQGZyb20gc3RhdGUgdG8gdGhlIHRhcmdldCBzdGF0ZQorICogYWN0aXZhdGVkIGJ5IGEgc3VjY2Vzc2lvbiBvZiBpbnB1dCBvZiB2YWx1ZSBAdG9rZW4gYW5kIEB0b2tlbjIgYW5kCisgKiB3aG9zZSBudW1iZXIgaXMgYmV0d2VlbiBAbWluIGFuZCBAbWF4CisgKgorICogUmV0dXJucyB0aGUgdGFyZ2V0IHN0YXRlIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcgorICovCit4bWxBdXRvbWF0YVN0YXRlUHRyCit4bWxBdXRvbWF0YU5ld0NvdW50VHJhbnMyKHhtbEF1dG9tYXRhUHRyIGFtLCB4bWxBdXRvbWF0YVN0YXRlUHRyIGZyb20sCisJCQkgeG1sQXV0b21hdGFTdGF0ZVB0ciB0bywgY29uc3QgeG1sQ2hhciAqdG9rZW4sCisJCQkgY29uc3QgeG1sQ2hhciAqdG9rZW4yLAorCQkJIGludCBtaW4sIGludCBtYXgsIHZvaWQgKmRhdGEpIHsKKyAgICB4bWxSZWdBdG9tUHRyIGF0b207CisgICAgaW50IGNvdW50ZXI7CisKKyAgICBpZiAoKGFtID09IE5VTEwpIHx8IChmcm9tID09IE5VTEwpIHx8ICh0b2tlbiA9PSBOVUxMKSkKKwlyZXR1cm4oTlVMTCk7CisgICAgaWYgKG1pbiA8IDApCisJcmV0dXJuKE5VTEwpOworICAgIGlmICgobWF4IDwgbWluKSB8fCAobWF4IDwgMSkpCisJcmV0dXJuKE5VTEwpOworICAgIGF0b20gPSB4bWxSZWdOZXdBdG9tKGFtLCBYTUxfUkVHRVhQX1NUUklORyk7CisgICAgaWYgKGF0b20gPT0gTlVMTCkKKwlyZXR1cm4oTlVMTCk7CisgICAgaWYgKCh0b2tlbjIgPT0gTlVMTCkgfHwgKCp0b2tlbjIgPT0gMCkpIHsKKwlhdG9tLT52YWx1ZXAgPSB4bWxTdHJkdXAodG9rZW4pOworICAgIH0gZWxzZSB7CisJaW50IGxlbm4sIGxlbnA7CisJeG1sQ2hhciAqc3RyOworCisJbGVubiA9IHN0cmxlbigoY2hhciAqKSB0b2tlbjIpOworCWxlbnAgPSBzdHJsZW4oKGNoYXIgKikgdG9rZW4pOworCisJc3RyID0gKHhtbENoYXIgKikgeG1sTWFsbG9jQXRvbWljKGxlbm4gKyBsZW5wICsgMik7CisJaWYgKHN0ciA9PSBOVUxMKSB7CisJICAgIHhtbFJlZ0ZyZWVBdG9tKGF0b20pOworCSAgICByZXR1cm4oTlVMTCk7CisJfQorCW1lbWNweSgmc3RyWzBdLCB0b2tlbiwgbGVucCk7CisJc3RyW2xlbnBdID0gJ3wnOworCW1lbWNweSgmc3RyW2xlbnAgKyAxXSwgdG9rZW4yLCBsZW5uKTsKKwlzdHJbbGVubiArIGxlbnAgKyAxXSA9IDA7CisKKwlhdG9tLT52YWx1ZXAgPSBzdHI7CisgICAgfQorICAgIGF0b20tPmRhdGEgPSBkYXRhOworICAgIGlmIChtaW4gPT0gMCkKKwlhdG9tLT5taW4gPSAxOworICAgIGVsc2UKKwlhdG9tLT5taW4gPSBtaW47CisgICAgYXRvbS0+bWF4ID0gbWF4OworCisgICAgLyoKKyAgICAgKiBhc3NvY2lhdGUgYSBjb3VudGVyIHRvIHRoZSB0cmFuc2l0aW9uLgorICAgICAqLworICAgIGNvdW50ZXIgPSB4bWxSZWdHZXRDb3VudGVyKGFtKTsKKyAgICBhbS0+Y291bnRlcnNbY291bnRlcl0ubWluID0gbWluOworICAgIGFtLT5jb3VudGVyc1tjb3VudGVyXS5tYXggPSBtYXg7CisKKyAgICAvKiB4bWxGQUdlbmVyYXRlVHJhbnNpdGlvbnMoYW0sIGZyb20sIHRvLCBhdG9tKTsgKi8KKyAgICBpZiAodG8gPT0gTlVMTCkgeworICAgICAgICB0byA9IHhtbFJlZ05ld1N0YXRlKGFtKTsKKwl4bWxSZWdTdGF0ZVB1c2goYW0sIHRvKTsKKyAgICB9CisgICAgeG1sUmVnU3RhdGVBZGRUcmFucyhhbSwgZnJvbSwgYXRvbSwgdG8sIGNvdW50ZXIsIC0xKTsKKyAgICB4bWxSZWdBdG9tUHVzaChhbSwgYXRvbSk7CisgICAgYW0tPnN0YXRlID0gdG87CisKKyAgICBpZiAodG8gPT0gTlVMTCkKKwl0byA9IGFtLT5zdGF0ZTsKKyAgICBpZiAodG8gPT0gTlVMTCkKKwlyZXR1cm4oTlVMTCk7CisgICAgaWYgKG1pbiA9PSAwKQorCXhtbEZBR2VuZXJhdGVFcHNpbG9uVHJhbnNpdGlvbihhbSwgZnJvbSwgdG8pOworICAgIHJldHVybih0byk7Cit9CisKKy8qKgorICogeG1sQXV0b21hdGFOZXdDb3VudFRyYW5zOgorICogQGFtOiBhbiBhdXRvbWF0YQorICogQGZyb206IHRoZSBzdGFydGluZyBwb2ludCBvZiB0aGUgdHJhbnNpdGlvbgorICogQHRvOiB0aGUgdGFyZ2V0IHBvaW50IG9mIHRoZSB0cmFuc2l0aW9uIG9yIE5VTEwKKyAqIEB0b2tlbjogdGhlIGlucHV0IHN0cmluZyBhc3NvY2lhdGVkIHRvIHRoYXQgdHJhbnNpdGlvbgorICogQG1pbjogIHRoZSBtaW5pbXVtIHN1Y2Nlc3NpdmUgb2NjdXJlbmNlcyBvZiB0b2tlbgorICogQG1heDogIHRoZSBtYXhpbXVtIHN1Y2Nlc3NpdmUgb2NjdXJlbmNlcyBvZiB0b2tlbgorICogQGRhdGE6ICBkYXRhIGFzc29jaWF0ZWQgdG8gdGhlIHRyYW5zaXRpb24KKyAqCisgKiBJZiBAdG8gaXMgTlVMTCwgdGhpcyBjcmVhdGVzIGZpcnN0IGEgbmV3IHRhcmdldCBzdGF0ZSBpbiB0aGUgYXV0b21hdGEKKyAqIGFuZCB0aGVuIGFkZHMgYSB0cmFuc2l0aW9uIGZyb20gdGhlIEBmcm9tIHN0YXRlIHRvIHRoZSB0YXJnZXQgc3RhdGUKKyAqIGFjdGl2YXRlZCBieSBhIHN1Y2Nlc3Npb24gb2YgaW5wdXQgb2YgdmFsdWUgQHRva2VuIGFuZCB3aG9zZSBudW1iZXIKKyAqIGlzIGJldHdlZW4gQG1pbiBhbmQgQG1heAorICoKKyAqIFJldHVybnMgdGhlIHRhcmdldCBzdGF0ZSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworeG1sQXV0b21hdGFTdGF0ZVB0cgoreG1sQXV0b21hdGFOZXdDb3VudFRyYW5zKHhtbEF1dG9tYXRhUHRyIGFtLCB4bWxBdXRvbWF0YVN0YXRlUHRyIGZyb20sCisJCQkgeG1sQXV0b21hdGFTdGF0ZVB0ciB0bywgY29uc3QgeG1sQ2hhciAqdG9rZW4sCisJCQkgaW50IG1pbiwgaW50IG1heCwgdm9pZCAqZGF0YSkgeworICAgIHhtbFJlZ0F0b21QdHIgYXRvbTsKKyAgICBpbnQgY291bnRlcjsKKworICAgIGlmICgoYW0gPT0gTlVMTCkgfHwgKGZyb20gPT0gTlVMTCkgfHwgKHRva2VuID09IE5VTEwpKQorCXJldHVybihOVUxMKTsKKyAgICBpZiAobWluIDwgMCkKKwlyZXR1cm4oTlVMTCk7CisgICAgaWYgKChtYXggPCBtaW4pIHx8IChtYXggPCAxKSkKKwlyZXR1cm4oTlVMTCk7CisgICAgYXRvbSA9IHhtbFJlZ05ld0F0b20oYW0sIFhNTF9SRUdFWFBfU1RSSU5HKTsKKyAgICBpZiAoYXRvbSA9PSBOVUxMKQorCXJldHVybihOVUxMKTsKKyAgICBhdG9tLT52YWx1ZXAgPSB4bWxTdHJkdXAodG9rZW4pOworICAgIGF0b20tPmRhdGEgPSBkYXRhOworICAgIGlmIChtaW4gPT0gMCkKKwlhdG9tLT5taW4gPSAxOworICAgIGVsc2UKKwlhdG9tLT5taW4gPSBtaW47CisgICAgYXRvbS0+bWF4ID0gbWF4OworCisgICAgLyoKKyAgICAgKiBhc3NvY2lhdGUgYSBjb3VudGVyIHRvIHRoZSB0cmFuc2l0aW9uLgorICAgICAqLworICAgIGNvdW50ZXIgPSB4bWxSZWdHZXRDb3VudGVyKGFtKTsKKyAgICBhbS0+Y291bnRlcnNbY291bnRlcl0ubWluID0gbWluOworICAgIGFtLT5jb3VudGVyc1tjb3VudGVyXS5tYXggPSBtYXg7CisKKyAgICAvKiB4bWxGQUdlbmVyYXRlVHJhbnNpdGlvbnMoYW0sIGZyb20sIHRvLCBhdG9tKTsgKi8KKyAgICBpZiAodG8gPT0gTlVMTCkgeworICAgICAgICB0byA9IHhtbFJlZ05ld1N0YXRlKGFtKTsKKwl4bWxSZWdTdGF0ZVB1c2goYW0sIHRvKTsKKyAgICB9CisgICAgeG1sUmVnU3RhdGVBZGRUcmFucyhhbSwgZnJvbSwgYXRvbSwgdG8sIGNvdW50ZXIsIC0xKTsKKyAgICB4bWxSZWdBdG9tUHVzaChhbSwgYXRvbSk7CisgICAgYW0tPnN0YXRlID0gdG87CisKKyAgICBpZiAodG8gPT0gTlVMTCkKKwl0byA9IGFtLT5zdGF0ZTsKKyAgICBpZiAodG8gPT0gTlVMTCkKKwlyZXR1cm4oTlVMTCk7CisgICAgaWYgKG1pbiA9PSAwKQorCXhtbEZBR2VuZXJhdGVFcHNpbG9uVHJhbnNpdGlvbihhbSwgZnJvbSwgdG8pOworICAgIHJldHVybih0byk7Cit9CisKKy8qKgorICogeG1sQXV0b21hdGFOZXdPbmNlVHJhbnMyOgorICogQGFtOiBhbiBhdXRvbWF0YQorICogQGZyb206IHRoZSBzdGFydGluZyBwb2ludCBvZiB0aGUgdHJhbnNpdGlvbgorICogQHRvOiB0aGUgdGFyZ2V0IHBvaW50IG9mIHRoZSB0cmFuc2l0aW9uIG9yIE5VTEwKKyAqIEB0b2tlbjogdGhlIGlucHV0IHN0cmluZyBhc3NvY2lhdGVkIHRvIHRoYXQgdHJhbnNpdGlvbgorICogQHRva2VuMjogdGhlIHNlY29uZCBpbnB1dCBzdHJpbmcgYXNzb2NpYXRlZCB0byB0aGF0IHRyYW5zaXRpb24KKyAqIEBtaW46ICB0aGUgbWluaW11bSBzdWNjZXNzaXZlIG9jY3VyZW5jZXMgb2YgdG9rZW4KKyAqIEBtYXg6ICB0aGUgbWF4aW11bSBzdWNjZXNzaXZlIG9jY3VyZW5jZXMgb2YgdG9rZW4KKyAqIEBkYXRhOiAgZGF0YSBhc3NvY2lhdGVkIHRvIHRoZSB0cmFuc2l0aW9uCisgKgorICogSWYgQHRvIGlzIE5VTEwsIHRoaXMgY3JlYXRlcyBmaXJzdCBhIG5ldyB0YXJnZXQgc3RhdGUgaW4gdGhlIGF1dG9tYXRhCisgKiBhbmQgdGhlbiBhZGRzIGEgdHJhbnNpdGlvbiBmcm9tIHRoZSBAZnJvbSBzdGF0ZSB0byB0aGUgdGFyZ2V0IHN0YXRlCisgKiBhY3RpdmF0ZWQgYnkgYSBzdWNjZXNzaW9uIG9mIGlucHV0IG9mIHZhbHVlIEB0b2tlbiBhbmQgQHRva2VuMiBhbmQgd2hvc2UKKyAqIG51bWJlciBpcyBiZXR3ZWVuIEBtaW4gYW5kIEBtYXgsIG1vcmVvdmVyIHRoYXQgdHJhbnNpdGlvbiBjYW4gb25seSBiZQorICogY3Jvc3NlZCBvbmNlLgorICoKKyAqIFJldHVybnMgdGhlIHRhcmdldCBzdGF0ZSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworeG1sQXV0b21hdGFTdGF0ZVB0cgoreG1sQXV0b21hdGFOZXdPbmNlVHJhbnMyKHhtbEF1dG9tYXRhUHRyIGFtLCB4bWxBdXRvbWF0YVN0YXRlUHRyIGZyb20sCisJCQkgeG1sQXV0b21hdGFTdGF0ZVB0ciB0bywgY29uc3QgeG1sQ2hhciAqdG9rZW4sCisJCQkgY29uc3QgeG1sQ2hhciAqdG9rZW4yLAorCQkJIGludCBtaW4sIGludCBtYXgsIHZvaWQgKmRhdGEpIHsKKyAgICB4bWxSZWdBdG9tUHRyIGF0b207CisgICAgaW50IGNvdW50ZXI7CisKKyAgICBpZiAoKGFtID09IE5VTEwpIHx8IChmcm9tID09IE5VTEwpIHx8ICh0b2tlbiA9PSBOVUxMKSkKKwlyZXR1cm4oTlVMTCk7CisgICAgaWYgKG1pbiA8IDEpCisJcmV0dXJuKE5VTEwpOworICAgIGlmICgobWF4IDwgbWluKSB8fCAobWF4IDwgMSkpCisJcmV0dXJuKE5VTEwpOworICAgIGF0b20gPSB4bWxSZWdOZXdBdG9tKGFtLCBYTUxfUkVHRVhQX1NUUklORyk7CisgICAgaWYgKGF0b20gPT0gTlVMTCkKKwlyZXR1cm4oTlVMTCk7CisgICAgaWYgKCh0b2tlbjIgPT0gTlVMTCkgfHwgKCp0b2tlbjIgPT0gMCkpIHsKKwlhdG9tLT52YWx1ZXAgPSB4bWxTdHJkdXAodG9rZW4pOworICAgIH0gZWxzZSB7CisJaW50IGxlbm4sIGxlbnA7CisJeG1sQ2hhciAqc3RyOworCisJbGVubiA9IHN0cmxlbigoY2hhciAqKSB0b2tlbjIpOworCWxlbnAgPSBzdHJsZW4oKGNoYXIgKikgdG9rZW4pOworCisJc3RyID0gKHhtbENoYXIgKikgeG1sTWFsbG9jQXRvbWljKGxlbm4gKyBsZW5wICsgMik7CisJaWYgKHN0ciA9PSBOVUxMKSB7CisJICAgIHhtbFJlZ0ZyZWVBdG9tKGF0b20pOworCSAgICByZXR1cm4oTlVMTCk7CisJfQorCW1lbWNweSgmc3RyWzBdLCB0b2tlbiwgbGVucCk7CisJc3RyW2xlbnBdID0gJ3wnOworCW1lbWNweSgmc3RyW2xlbnAgKyAxXSwgdG9rZW4yLCBsZW5uKTsKKwlzdHJbbGVubiArIGxlbnAgKyAxXSA9IDA7CisKKwlhdG9tLT52YWx1ZXAgPSBzdHI7CisgICAgfQorICAgIGF0b20tPmRhdGEgPSBkYXRhOworICAgIGF0b20tPnF1YW50ID0gWE1MX1JFR0VYUF9RVUFOVF9PTkNFT05MWTsKKyAgICBhdG9tLT5taW4gPSBtaW47CisgICAgYXRvbS0+bWF4ID0gbWF4OworICAgIC8qCisgICAgICogYXNzb2NpYXRlIGEgY291bnRlciB0byB0aGUgdHJhbnNpdGlvbi4KKyAgICAgKi8KKyAgICBjb3VudGVyID0geG1sUmVnR2V0Q291bnRlcihhbSk7CisgICAgYW0tPmNvdW50ZXJzW2NvdW50ZXJdLm1pbiA9IDE7CisgICAgYW0tPmNvdW50ZXJzW2NvdW50ZXJdLm1heCA9IDE7CisKKyAgICAvKiB4bWxGQUdlbmVyYXRlVHJhbnNpdGlvbnMoYW0sIGZyb20sIHRvLCBhdG9tKTsgKi8KKyAgICBpZiAodG8gPT0gTlVMTCkgeworCXRvID0geG1sUmVnTmV3U3RhdGUoYW0pOworCXhtbFJlZ1N0YXRlUHVzaChhbSwgdG8pOworICAgIH0KKyAgICB4bWxSZWdTdGF0ZUFkZFRyYW5zKGFtLCBmcm9tLCBhdG9tLCB0bywgY291bnRlciwgLTEpOworICAgIHhtbFJlZ0F0b21QdXNoKGFtLCBhdG9tKTsKKyAgICBhbS0+c3RhdGUgPSB0bzsKKyAgICByZXR1cm4odG8pOworfQorCisKKworLyoqCisgKiB4bWxBdXRvbWF0YU5ld09uY2VUcmFuczoKKyAqIEBhbTogYW4gYXV0b21hdGEKKyAqIEBmcm9tOiB0aGUgc3RhcnRpbmcgcG9pbnQgb2YgdGhlIHRyYW5zaXRpb24KKyAqIEB0bzogdGhlIHRhcmdldCBwb2ludCBvZiB0aGUgdHJhbnNpdGlvbiBvciBOVUxMCisgKiBAdG9rZW46IHRoZSBpbnB1dCBzdHJpbmcgYXNzb2NpYXRlZCB0byB0aGF0IHRyYW5zaXRpb24KKyAqIEBtaW46ICB0aGUgbWluaW11bSBzdWNjZXNzaXZlIG9jY3VyZW5jZXMgb2YgdG9rZW4KKyAqIEBtYXg6ICB0aGUgbWF4aW11bSBzdWNjZXNzaXZlIG9jY3VyZW5jZXMgb2YgdG9rZW4KKyAqIEBkYXRhOiAgZGF0YSBhc3NvY2lhdGVkIHRvIHRoZSB0cmFuc2l0aW9uCisgKgorICogSWYgQHRvIGlzIE5VTEwsIHRoaXMgY3JlYXRlcyBmaXJzdCBhIG5ldyB0YXJnZXQgc3RhdGUgaW4gdGhlIGF1dG9tYXRhCisgKiBhbmQgdGhlbiBhZGRzIGEgdHJhbnNpdGlvbiBmcm9tIHRoZSBAZnJvbSBzdGF0ZSB0byB0aGUgdGFyZ2V0IHN0YXRlCisgKiBhY3RpdmF0ZWQgYnkgYSBzdWNjZXNzaW9uIG9mIGlucHV0IG9mIHZhbHVlIEB0b2tlbiBhbmQgd2hvc2UgbnVtYmVyCisgKiBpcyBiZXR3ZWVuIEBtaW4gYW5kIEBtYXgsIG1vcmVvdmVyIHRoYXQgdHJhbnNpdGlvbiBjYW4gb25seSBiZSBjcm9zc2VkCisgKiBvbmNlLgorICoKKyAqIFJldHVybnMgdGhlIHRhcmdldCBzdGF0ZSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworeG1sQXV0b21hdGFTdGF0ZVB0cgoreG1sQXV0b21hdGFOZXdPbmNlVHJhbnMoeG1sQXV0b21hdGFQdHIgYW0sIHhtbEF1dG9tYXRhU3RhdGVQdHIgZnJvbSwKKwkJCSB4bWxBdXRvbWF0YVN0YXRlUHRyIHRvLCBjb25zdCB4bWxDaGFyICp0b2tlbiwKKwkJCSBpbnQgbWluLCBpbnQgbWF4LCB2b2lkICpkYXRhKSB7CisgICAgeG1sUmVnQXRvbVB0ciBhdG9tOworICAgIGludCBjb3VudGVyOworCisgICAgaWYgKChhbSA9PSBOVUxMKSB8fCAoZnJvbSA9PSBOVUxMKSB8fCAodG9rZW4gPT0gTlVMTCkpCisJcmV0dXJuKE5VTEwpOworICAgIGlmIChtaW4gPCAxKQorCXJldHVybihOVUxMKTsKKyAgICBpZiAoKG1heCA8IG1pbikgfHwgKG1heCA8IDEpKQorCXJldHVybihOVUxMKTsKKyAgICBhdG9tID0geG1sUmVnTmV3QXRvbShhbSwgWE1MX1JFR0VYUF9TVFJJTkcpOworICAgIGlmIChhdG9tID09IE5VTEwpCisJcmV0dXJuKE5VTEwpOworICAgIGF0b20tPnZhbHVlcCA9IHhtbFN0cmR1cCh0b2tlbik7CisgICAgYXRvbS0+ZGF0YSA9IGRhdGE7CisgICAgYXRvbS0+cXVhbnQgPSBYTUxfUkVHRVhQX1FVQU5UX09OQ0VPTkxZOworICAgIGF0b20tPm1pbiA9IG1pbjsKKyAgICBhdG9tLT5tYXggPSBtYXg7CisgICAgLyoKKyAgICAgKiBhc3NvY2lhdGUgYSBjb3VudGVyIHRvIHRoZSB0cmFuc2l0aW9uLgorICAgICAqLworICAgIGNvdW50ZXIgPSB4bWxSZWdHZXRDb3VudGVyKGFtKTsKKyAgICBhbS0+Y291bnRlcnNbY291bnRlcl0ubWluID0gMTsKKyAgICBhbS0+Y291bnRlcnNbY291bnRlcl0ubWF4ID0gMTsKKworICAgIC8qIHhtbEZBR2VuZXJhdGVUcmFuc2l0aW9ucyhhbSwgZnJvbSwgdG8sIGF0b20pOyAqLworICAgIGlmICh0byA9PSBOVUxMKSB7CisJdG8gPSB4bWxSZWdOZXdTdGF0ZShhbSk7CisJeG1sUmVnU3RhdGVQdXNoKGFtLCB0byk7CisgICAgfQorICAgIHhtbFJlZ1N0YXRlQWRkVHJhbnMoYW0sIGZyb20sIGF0b20sIHRvLCBjb3VudGVyLCAtMSk7CisgICAgeG1sUmVnQXRvbVB1c2goYW0sIGF0b20pOworICAgIGFtLT5zdGF0ZSA9IHRvOworICAgIHJldHVybih0byk7Cit9CisKKy8qKgorICogeG1sQXV0b21hdGFOZXdTdGF0ZToKKyAqIEBhbTogYW4gYXV0b21hdGEKKyAqCisgKiBDcmVhdGUgYSBuZXcgZGlzY29ubmVjdGVkIHN0YXRlIGluIHRoZSBhdXRvbWF0YQorICoKKyAqIFJldHVybnMgdGhlIG5ldyBzdGF0ZSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworeG1sQXV0b21hdGFTdGF0ZVB0cgoreG1sQXV0b21hdGFOZXdTdGF0ZSh4bWxBdXRvbWF0YVB0ciBhbSkgeworICAgIHhtbEF1dG9tYXRhU3RhdGVQdHIgdG87CisKKyAgICBpZiAoYW0gPT0gTlVMTCkKKwlyZXR1cm4oTlVMTCk7CisgICAgdG8gPSB4bWxSZWdOZXdTdGF0ZShhbSk7CisgICAgeG1sUmVnU3RhdGVQdXNoKGFtLCB0byk7CisgICAgcmV0dXJuKHRvKTsKK30KKworLyoqCisgKiB4bWxBdXRvbWF0YU5ld0Vwc2lsb246CisgKiBAYW06IGFuIGF1dG9tYXRhCisgKiBAZnJvbTogdGhlIHN0YXJ0aW5nIHBvaW50IG9mIHRoZSB0cmFuc2l0aW9uCisgKiBAdG86IHRoZSB0YXJnZXQgcG9pbnQgb2YgdGhlIHRyYW5zaXRpb24gb3IgTlVMTAorICoKKyAqIElmIEB0byBpcyBOVUxMLCB0aGlzIGNyZWF0ZXMgZmlyc3QgYSBuZXcgdGFyZ2V0IHN0YXRlIGluIHRoZSBhdXRvbWF0YQorICogYW5kIHRoZW4gYWRkcyBhbiBlcHNpbG9uIHRyYW5zaXRpb24gZnJvbSB0aGUgQGZyb20gc3RhdGUgdG8gdGhlCisgKiB0YXJnZXQgc3RhdGUKKyAqCisgKiBSZXR1cm5zIHRoZSB0YXJnZXQgc3RhdGUgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3htbEF1dG9tYXRhU3RhdGVQdHIKK3htbEF1dG9tYXRhTmV3RXBzaWxvbih4bWxBdXRvbWF0YVB0ciBhbSwgeG1sQXV0b21hdGFTdGF0ZVB0ciBmcm9tLAorCQkgICAgICB4bWxBdXRvbWF0YVN0YXRlUHRyIHRvKSB7CisgICAgaWYgKChhbSA9PSBOVUxMKSB8fCAoZnJvbSA9PSBOVUxMKSkKKwlyZXR1cm4oTlVMTCk7CisgICAgeG1sRkFHZW5lcmF0ZUVwc2lsb25UcmFuc2l0aW9uKGFtLCBmcm9tLCB0byk7CisgICAgaWYgKHRvID09IE5VTEwpCisJcmV0dXJuKGFtLT5zdGF0ZSk7CisgICAgcmV0dXJuKHRvKTsKK30KKworLyoqCisgKiB4bWxBdXRvbWF0YU5ld0FsbFRyYW5zOgorICogQGFtOiBhbiBhdXRvbWF0YQorICogQGZyb206IHRoZSBzdGFydGluZyBwb2ludCBvZiB0aGUgdHJhbnNpdGlvbgorICogQHRvOiB0aGUgdGFyZ2V0IHBvaW50IG9mIHRoZSB0cmFuc2l0aW9uIG9yIE5VTEwKKyAqIEBsYXg6IGFsbG93IHRvIHRyYW5zaXRpb24gaWYgbm90IGFsbCBhbGwgdHJhbnNpdGlvbnMgaGF2ZSBiZWVuIGFjdGl2YXRlZAorICoKKyAqIElmIEB0byBpcyBOVUxMLCB0aGlzIGNyZWF0ZXMgZmlyc3QgYSBuZXcgdGFyZ2V0IHN0YXRlIGluIHRoZSBhdXRvbWF0YQorICogYW5kIHRoZW4gYWRkcyBhIGFuIEFMTCB0cmFuc2l0aW9uIGZyb20gdGhlIEBmcm9tIHN0YXRlIHRvIHRoZQorICogdGFyZ2V0IHN0YXRlLiBUaGF0IHRyYW5zaXRpb24gaXMgYW4gZXBzaWxvbiB0cmFuc2l0aW9uIGFsbG93ZWQgb25seSB3aGVuCisgKiBhbGwgdHJhbnNpdGlvbnMgZnJvbSB0aGUgQGZyb20gbm9kZSBoYXZlIGJlZW4gYWN0aXZhdGVkLgorICoKKyAqIFJldHVybnMgdGhlIHRhcmdldCBzdGF0ZSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworeG1sQXV0b21hdGFTdGF0ZVB0cgoreG1sQXV0b21hdGFOZXdBbGxUcmFucyh4bWxBdXRvbWF0YVB0ciBhbSwgeG1sQXV0b21hdGFTdGF0ZVB0ciBmcm9tLAorCQkgICAgICAgeG1sQXV0b21hdGFTdGF0ZVB0ciB0bywgaW50IGxheCkgeworICAgIGlmICgoYW0gPT0gTlVMTCkgfHwgKGZyb20gPT0gTlVMTCkpCisJcmV0dXJuKE5VTEwpOworICAgIHhtbEZBR2VuZXJhdGVBbGxUcmFuc2l0aW9uKGFtLCBmcm9tLCB0bywgbGF4KTsKKyAgICBpZiAodG8gPT0gTlVMTCkKKwlyZXR1cm4oYW0tPnN0YXRlKTsKKyAgICByZXR1cm4odG8pOworfQorCisvKioKKyAqIHhtbEF1dG9tYXRhTmV3Q291bnRlcjoKKyAqIEBhbTogYW4gYXV0b21hdGEKKyAqIEBtaW46ICB0aGUgbWluaW1hbCB2YWx1ZSBvbiB0aGUgY291bnRlcgorICogQG1heDogIHRoZSBtYXhpbWFsIHZhbHVlIG9uIHRoZSBjb3VudGVyCisgKgorICogQ3JlYXRlIGEgbmV3IGNvdW50ZXIKKyAqCisgKiBSZXR1cm5zIHRoZSBjb3VudGVyIG51bWJlciBvciAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK2ludAoreG1sQXV0b21hdGFOZXdDb3VudGVyKHhtbEF1dG9tYXRhUHRyIGFtLCBpbnQgbWluLCBpbnQgbWF4KSB7CisgICAgaW50IHJldDsKKworICAgIGlmIChhbSA9PSBOVUxMKQorCXJldHVybigtMSk7CisKKyAgICByZXQgPSB4bWxSZWdHZXRDb3VudGVyKGFtKTsKKyAgICBpZiAocmV0IDwgMCkKKwlyZXR1cm4oLTEpOworICAgIGFtLT5jb3VudGVyc1tyZXRdLm1pbiA9IG1pbjsKKyAgICBhbS0+Y291bnRlcnNbcmV0XS5tYXggPSBtYXg7CisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogeG1sQXV0b21hdGFOZXdDb3VudGVkVHJhbnM6CisgKiBAYW06IGFuIGF1dG9tYXRhCisgKiBAZnJvbTogdGhlIHN0YXJ0aW5nIHBvaW50IG9mIHRoZSB0cmFuc2l0aW9uCisgKiBAdG86IHRoZSB0YXJnZXQgcG9pbnQgb2YgdGhlIHRyYW5zaXRpb24gb3IgTlVMTAorICogQGNvdW50ZXI6IHRoZSBjb3VudGVyIGFzc29jaWF0ZWQgdG8gdGhhdCB0cmFuc2l0aW9uCisgKgorICogSWYgQHRvIGlzIE5VTEwsIHRoaXMgY3JlYXRlcyBmaXJzdCBhIG5ldyB0YXJnZXQgc3RhdGUgaW4gdGhlIGF1dG9tYXRhCisgKiBhbmQgdGhlbiBhZGRzIGFuIGVwc2lsb24gdHJhbnNpdGlvbiBmcm9tIHRoZSBAZnJvbSBzdGF0ZSB0byB0aGUgdGFyZ2V0IHN0YXRlCisgKiB3aGljaCB3aWxsIGluY3JlbWVudCB0aGUgY291bnRlciBwcm92aWRlZAorICoKKyAqIFJldHVybnMgdGhlIHRhcmdldCBzdGF0ZSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworeG1sQXV0b21hdGFTdGF0ZVB0cgoreG1sQXV0b21hdGFOZXdDb3VudGVkVHJhbnMoeG1sQXV0b21hdGFQdHIgYW0sIHhtbEF1dG9tYXRhU3RhdGVQdHIgZnJvbSwKKwkJeG1sQXV0b21hdGFTdGF0ZVB0ciB0bywgaW50IGNvdW50ZXIpIHsKKyAgICBpZiAoKGFtID09IE5VTEwpIHx8IChmcm9tID09IE5VTEwpIHx8IChjb3VudGVyIDwgMCkpCisJcmV0dXJuKE5VTEwpOworICAgIHhtbEZBR2VuZXJhdGVDb3VudGVkRXBzaWxvblRyYW5zaXRpb24oYW0sIGZyb20sIHRvLCBjb3VudGVyKTsKKyAgICBpZiAodG8gPT0gTlVMTCkKKwlyZXR1cm4oYW0tPnN0YXRlKTsKKyAgICByZXR1cm4odG8pOworfQorCisvKioKKyAqIHhtbEF1dG9tYXRhTmV3Q291bnRlclRyYW5zOgorICogQGFtOiBhbiBhdXRvbWF0YQorICogQGZyb206IHRoZSBzdGFydGluZyBwb2ludCBvZiB0aGUgdHJhbnNpdGlvbgorICogQHRvOiB0aGUgdGFyZ2V0IHBvaW50IG9mIHRoZSB0cmFuc2l0aW9uIG9yIE5VTEwKKyAqIEBjb3VudGVyOiB0aGUgY291bnRlciBhc3NvY2lhdGVkIHRvIHRoYXQgdHJhbnNpdGlvbgorICoKKyAqIElmIEB0byBpcyBOVUxMLCB0aGlzIGNyZWF0ZXMgZmlyc3QgYSBuZXcgdGFyZ2V0IHN0YXRlIGluIHRoZSBhdXRvbWF0YQorICogYW5kIHRoZW4gYWRkcyBhbiBlcHNpbG9uIHRyYW5zaXRpb24gZnJvbSB0aGUgQGZyb20gc3RhdGUgdG8gdGhlIHRhcmdldCBzdGF0ZQorICogd2hpY2ggd2lsbCBiZSBhbGxvd2VkIG9ubHkgaWYgdGhlIGNvdW50ZXIgaXMgd2l0aGluIHRoZSByaWdodCByYW5nZS4KKyAqCisgKiBSZXR1cm5zIHRoZSB0YXJnZXQgc3RhdGUgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3htbEF1dG9tYXRhU3RhdGVQdHIKK3htbEF1dG9tYXRhTmV3Q291bnRlclRyYW5zKHhtbEF1dG9tYXRhUHRyIGFtLCB4bWxBdXRvbWF0YVN0YXRlUHRyIGZyb20sCisJCXhtbEF1dG9tYXRhU3RhdGVQdHIgdG8sIGludCBjb3VudGVyKSB7CisgICAgaWYgKChhbSA9PSBOVUxMKSB8fCAoZnJvbSA9PSBOVUxMKSB8fCAoY291bnRlciA8IDApKQorCXJldHVybihOVUxMKTsKKyAgICB4bWxGQUdlbmVyYXRlQ291bnRlZFRyYW5zaXRpb24oYW0sIGZyb20sIHRvLCBjb3VudGVyKTsKKyAgICBpZiAodG8gPT0gTlVMTCkKKwlyZXR1cm4oYW0tPnN0YXRlKTsKKyAgICByZXR1cm4odG8pOworfQorCisvKioKKyAqIHhtbEF1dG9tYXRhQ29tcGlsZToKKyAqIEBhbTogYW4gYXV0b21hdGEKKyAqCisgKiBDb21waWxlIHRoZSBhdXRvbWF0YSBpbnRvIGEgUmVnIEV4cCByZWFkeSBmb3IgYmVpbmcgZXhlY3V0ZWQuCisgKiBUaGUgYXV0b21hdGEgc2hvdWxkIGJlIGZyZWUgYWZ0ZXIgdGhpcyBwb2ludC4KKyAqCisgKiBSZXR1cm5zIHRoZSBjb21waWxlZCByZWdleHAgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3htbFJlZ2V4cFB0cgoreG1sQXV0b21hdGFDb21waWxlKHhtbEF1dG9tYXRhUHRyIGFtKSB7CisgICAgeG1sUmVnZXhwUHRyIHJldDsKKworICAgIGlmICgoYW0gPT0gTlVMTCkgfHwgKGFtLT5lcnJvciAhPSAwKSkgcmV0dXJuKE5VTEwpOworICAgIHhtbEZBRWxpbWluYXRlRXBzaWxvblRyYW5zaXRpb25zKGFtKTsKKyAgICAvKiB4bWxGQUNvbXB1dGVzRGV0ZXJtaW5pc20oYW0pOyAqLworICAgIHJldCA9IHhtbFJlZ0VweEZyb21QYXJzZShhbSk7CisKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxBdXRvbWF0YUlzRGV0ZXJtaW5pc3Q6CisgKiBAYW06IGFuIGF1dG9tYXRhCisgKgorICogQ2hlY2tzIGlmIGFuIGF1dG9tYXRhIGlzIGRldGVybWluaXN0LgorICoKKyAqIFJldHVybnMgMSBpZiB0cnVlLCAwIGlmIG5vdCwgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworaW50Cit4bWxBdXRvbWF0YUlzRGV0ZXJtaW5pc3QoeG1sQXV0b21hdGFQdHIgYW0pIHsKKyAgICBpbnQgcmV0OworCisgICAgaWYgKGFtID09IE5VTEwpCisJcmV0dXJuKC0xKTsKKworICAgIHJldCA9IHhtbEZBQ29tcHV0ZXNEZXRlcm1pbmlzbShhbSk7CisgICAgcmV0dXJuKHJldCk7Cit9CisjZW5kaWYgLyogTElCWE1MX0FVVE9NQVRBX0VOQUJMRUQgKi8KKworI2lmZGVmIExJQlhNTF9FWFBSX0VOQUJMRUQKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCUZvcm1hbCBFeHByZXNzaW9uIGhhbmRsaW5nIGNvZGUJCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJRXhwcmVzc2lvbiBoYW5kbGluZyBjb250ZXh0CQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworc3RydWN0IF94bWxFeHBDdHh0IHsKKyAgICB4bWxEaWN0UHRyIGRpY3Q7CisgICAgeG1sRXhwTm9kZVB0ciAqdGFibGU7CisgICAgaW50IHNpemU7CisgICAgaW50IG5iRWxlbXM7CisgICAgaW50IG5iX25vZGVzOworICAgIGludCBtYXhOb2RlczsKKyAgICBjb25zdCBjaGFyICpleHByOworICAgIGNvbnN0IGNoYXIgKmN1cjsKKyAgICBpbnQgbmJfY29uczsKKyAgICBpbnQgdGFiU2l6ZTsKK307CisKKy8qKgorICogeG1sRXhwTmV3Q3R4dDoKKyAqIEBtYXhOb2RlczogIHRoZSBtYXhpbXVtIG51bWJlciBvZiBub2RlcworICogQGRpY3Q6ICBvcHRpb25hbCBkaWN0aW9ubmFyeSB0byB1c2UgaW50ZXJuYWxseQorICoKKyAqIENyZWF0ZXMgYSBuZXcgY29udGV4dCBmb3IgbWFuaXB1bGF0aW5nIGV4cHJlc3Npb25zCisgKgorICogUmV0dXJucyB0aGUgY29udGV4dCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworeG1sRXhwQ3R4dFB0cgoreG1sRXhwTmV3Q3R4dChpbnQgbWF4Tm9kZXMsIHhtbERpY3RQdHIgZGljdCkgeworICAgIHhtbEV4cEN0eHRQdHIgcmV0OworICAgIGludCBzaXplID0gMjU2OworCisgICAgaWYgKG1heE5vZGVzIDw9IDQwOTYpCisgICAgICAgIG1heE5vZGVzID0gNDA5NjsKKworICAgIHJldCA9ICh4bWxFeHBDdHh0UHRyKSB4bWxNYWxsb2Moc2l6ZW9mKHhtbEV4cEN0eHQpKTsKKyAgICBpZiAocmV0ID09IE5VTEwpCisgICAgICAgIHJldHVybihOVUxMKTsKKyAgICBtZW1zZXQocmV0LCAwLCBzaXplb2YoeG1sRXhwQ3R4dCkpOworICAgIHJldC0+c2l6ZSA9IHNpemU7CisgICAgcmV0LT5uYkVsZW1zID0gMDsKKyAgICByZXQtPm1heE5vZGVzID0gbWF4Tm9kZXM7CisgICAgcmV0LT50YWJsZSA9IHhtbE1hbGxvYyhzaXplICogc2l6ZW9mKHhtbEV4cE5vZGVQdHIpKTsKKyAgICBpZiAocmV0LT50YWJsZSA9PSBOVUxMKSB7CisgICAgICAgIHhtbEZyZWUocmV0KTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIG1lbXNldChyZXQtPnRhYmxlLCAwLCBzaXplICogc2l6ZW9mKHhtbEV4cE5vZGVQdHIpKTsKKyAgICBpZiAoZGljdCA9PSBOVUxMKSB7CisgICAgICAgIHJldC0+ZGljdCA9IHhtbERpY3RDcmVhdGUoKTsKKwlpZiAocmV0LT5kaWN0ID09IE5VTEwpIHsKKwkgICAgeG1sRnJlZShyZXQtPnRhYmxlKTsKKwkgICAgeG1sRnJlZShyZXQpOworCSAgICByZXR1cm4oTlVMTCk7CisJfQorICAgIH0gZWxzZSB7CisgICAgICAgIHJldC0+ZGljdCA9IGRpY3Q7CisJeG1sRGljdFJlZmVyZW5jZShyZXQtPmRpY3QpOworICAgIH0KKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxFeHBGcmVlQ3R4dDoKKyAqIEBjdHh0OiAgYW4gZXhwcmVzc2lvbiBjb250ZXh0CisgKgorICogRnJlZSBhbiBleHByZXNzaW9uIGNvbnRleHQKKyAqLwordm9pZAoreG1sRXhwRnJlZUN0eHQoeG1sRXhwQ3R4dFB0ciBjdHh0KSB7CisgICAgaWYgKGN0eHQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuOworICAgIHhtbERpY3RGcmVlKGN0eHQtPmRpY3QpOworICAgIGlmIChjdHh0LT50YWJsZSAhPSBOVUxMKQorCXhtbEZyZWUoY3R4dC0+dGFibGUpOworICAgIHhtbEZyZWUoY3R4dCk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCVN0cnVjdHVyZSBhc3NvY2lhdGVkIHRvIGFuIGV4cHJlc3Npb24gbm9kZQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSBNQVhfTk9ERVMgMTAwMDAKKworLyogI2RlZmluZSBERUJVR19ERVJJViAqLworCisvKgorICogVE9ETzoKKyAqIC0gV2lsZGNhcmRzCisgKiAtIHB1YmxpYyBBUEkgZm9yIGNyZWF0aW9uCisgKgorICogU3RhcnRlZAorICogLSByZWdyZXNzaW9uIHRlc3RpbmcKKyAqCisgKiBEb25lCisgKiAtIHNwbGl0IGludG8gbW9kdWxlIGFuZCB0ZXN0IHRvb2wKKyAqIC0gbWVtbGVha3MKKyAqLworCit0eXBlZGVmIGVudW0geworICAgIFhNTF9FWFBfTklMQUJMRSA9ICgxIDw8IDApCit9IHhtbEV4cE5vZGVJbmZvOworCisjZGVmaW5lIElTX05JTExBQkxFKG5vZGUpICgobm9kZSktPmluZm8gJiBYTUxfRVhQX05JTEFCTEUpCisKK3N0cnVjdCBfeG1sRXhwTm9kZSB7CisgICAgdW5zaWduZWQgY2hhciB0eXBlOy8qIHhtbEV4cE5vZGVUeXBlICovCisgICAgdW5zaWduZWQgY2hhciBpbmZvOy8qIE9SIG9mIHhtbEV4cE5vZGVJbmZvICovCisgICAgdW5zaWduZWQgc2hvcnQga2V5OwkvKiB0aGUgaGFzaCBrZXkgKi8KKyAgICB1bnNpZ25lZCBpbnQgcmVmOwkvKiBUaGUgbnVtYmVyIG9mIHJlZmVyZW5jZXMgKi8KKyAgICBpbnQgY19tYXg7CQkvKiB0aGUgbWF4aW11bSBsZW5ndGggaXQgY2FuIGNvbnN1bWUgKi8KKyAgICB4bWxFeHBOb2RlUHRyIGV4cF9sZWZ0OworICAgIHhtbEV4cE5vZGVQdHIgbmV4dDsvKiB0aGUgbmV4dCBub2RlIGluIHRoZSBoYXNoIHRhYmxlIG9yIGZyZWUgbGlzdCAqLworICAgIHVuaW9uIHsKKwlzdHJ1Y3QgeworCSAgICBpbnQgZl9taW47CisJICAgIGludCBmX21heDsKKwl9IGNvdW50OworCXN0cnVjdCB7CisJICAgIHhtbEV4cE5vZGVQdHIgZl9yaWdodDsKKwl9IGNoaWxkcmVuOworICAgICAgICBjb25zdCB4bWxDaGFyICpmX3N0cjsKKyAgICB9IGZpZWxkOworfTsKKworI2RlZmluZSBleHBfbWluIGZpZWxkLmNvdW50LmZfbWluCisjZGVmaW5lIGV4cF9tYXggZmllbGQuY291bnQuZl9tYXgKKy8qICNkZWZpbmUgZXhwX2xlZnQgZmllbGQuY2hpbGRyZW4uZl9sZWZ0ICovCisjZGVmaW5lIGV4cF9yaWdodCBmaWVsZC5jaGlsZHJlbi5mX3JpZ2h0CisjZGVmaW5lIGV4cF9zdHIgZmllbGQuZl9zdHIKKworc3RhdGljIHhtbEV4cE5vZGVQdHIgeG1sRXhwTmV3Tm9kZSh4bWxFeHBDdHh0UHRyIGN0eHQsIHhtbEV4cE5vZGVUeXBlIHR5cGUpOworc3RhdGljIHhtbEV4cE5vZGUgZm9yYmlkZGVuRXhwTm9kZSA9IHsKKyAgICBYTUxfRVhQX0ZPUkJJRCwgMCwgMCwgMCwgMCwgTlVMTCwgTlVMTCwge3sgMCwgMH19Cit9OworeG1sRXhwTm9kZVB0ciBmb3JiaWRkZW5FeHAgPSAmZm9yYmlkZGVuRXhwTm9kZTsKK3N0YXRpYyB4bWxFeHBOb2RlIGVtcHR5RXhwTm9kZSA9IHsKKyAgICBYTUxfRVhQX0VNUFRZLCAxLCAwLCAwLCAwLCBOVUxMLCBOVUxMLCB7eyAwLCAwfX0KK307Cit4bWxFeHBOb2RlUHRyIGVtcHR5RXhwID0gJmVtcHR5RXhwTm9kZTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKiAgVGhlIGN1c3RvbSBoYXNoIHRhYmxlIGZvciB1bmljaXR5IGFuZCBjYW5vbmljYWxpemF0aW9uCQkqCisgKiAgb2Ygc3ViLWV4cHJlc3Npb25zIHBvaW50ZXJzCQkJCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyoKKyAqIHhtbEV4cEhhc2hOYW1lQ29tcHV0ZUtleToKKyAqIENhbGN1bGF0ZSB0aGUgaGFzaCBrZXkgZm9yIGEgdG9rZW4KKyAqLworc3RhdGljIHVuc2lnbmVkIHNob3J0Cit4bWxFeHBIYXNoTmFtZUNvbXB1dGVLZXkoY29uc3QgeG1sQ2hhciAqbmFtZSkgeworICAgIHVuc2lnbmVkIHNob3J0IHZhbHVlID0gMEw7CisgICAgY2hhciBjaDsKKworICAgIGlmIChuYW1lICE9IE5VTEwpIHsKKwl2YWx1ZSArPSAzMCAqICgqbmFtZSk7CisJd2hpbGUgKChjaCA9ICpuYW1lKyspICE9IDApIHsKKwkgICAgdmFsdWUgPSB2YWx1ZSBeICgodmFsdWUgPDwgNSkgKyAodmFsdWUgPj4gMykgKyAodW5zaWduZWQgbG9uZyljaCk7CisJfQorICAgIH0KKyAgICByZXR1cm4gKHZhbHVlKTsKK30KKworLyoKKyAqIHhtbEV4cEhhc2hDb21wdXRlS2V5OgorICogQ2FsY3VsYXRlIHRoZSBoYXNoIGtleSBmb3IgYSBjb21wb3VuZCBleHByZXNzaW9uCisgKi8KK3N0YXRpYyB1bnNpZ25lZCBzaG9ydAoreG1sRXhwSGFzaENvbXB1dGVLZXkoeG1sRXhwTm9kZVR5cGUgdHlwZSwgeG1sRXhwTm9kZVB0ciBsZWZ0LAorICAgICAgICAgICAgICAgICAgICAgeG1sRXhwTm9kZVB0ciByaWdodCkgeworICAgIHVuc2lnbmVkIGxvbmcgdmFsdWU7CisgICAgdW5zaWduZWQgc2hvcnQgcmV0OworCisgICAgc3dpdGNoICh0eXBlKSB7CisgICAgICAgIGNhc2UgWE1MX0VYUF9TRVE6CisJICAgIHZhbHVlID0gbGVmdC0+a2V5OworCSAgICB2YWx1ZSArPSByaWdodC0+a2V5OworCSAgICB2YWx1ZSAqPSAzOworCSAgICByZXQgPSAodW5zaWduZWQgc2hvcnQpIHZhbHVlOworCSAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfRVhQX09SOgorCSAgICB2YWx1ZSA9IGxlZnQtPmtleTsKKwkgICAgdmFsdWUgKz0gcmlnaHQtPmtleTsKKwkgICAgdmFsdWUgKj0gNzsKKwkgICAgcmV0ID0gKHVuc2lnbmVkIHNob3J0KSB2YWx1ZTsKKwkgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0VYUF9DT1VOVDoKKwkgICAgdmFsdWUgPSBsZWZ0LT5rZXk7CisJICAgIHZhbHVlICs9IHJpZ2h0LT5rZXk7CisJICAgIHJldCA9ICh1bnNpZ25lZCBzaG9ydCkgdmFsdWU7CisJICAgIGJyZWFrOworCWRlZmF1bHQ6CisJICAgIHJldCA9IDA7CisgICAgfQorICAgIHJldHVybihyZXQpOworfQorCisKK3N0YXRpYyB4bWxFeHBOb2RlUHRyCit4bWxFeHBOZXdOb2RlKHhtbEV4cEN0eHRQdHIgY3R4dCwgeG1sRXhwTm9kZVR5cGUgdHlwZSkgeworICAgIHhtbEV4cE5vZGVQdHIgcmV0OworCisgICAgaWYgKGN0eHQtPm5iX25vZGVzID49IE1BWF9OT0RFUykKKyAgICAgICAgcmV0dXJuKE5VTEwpOworICAgIHJldCA9ICh4bWxFeHBOb2RlUHRyKSB4bWxNYWxsb2Moc2l6ZW9mKHhtbEV4cE5vZGUpKTsKKyAgICBpZiAocmV0ID09IE5VTEwpCisgICAgICAgIHJldHVybihOVUxMKTsKKyAgICBtZW1zZXQocmV0LCAwLCBzaXplb2YoeG1sRXhwTm9kZSkpOworICAgIHJldC0+dHlwZSA9IHR5cGU7CisgICAgcmV0LT5uZXh0ID0gTlVMTDsKKyAgICBjdHh0LT5uYl9ub2RlcysrOworICAgIGN0eHQtPm5iX2NvbnMrKzsKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxFeHBIYXNoR2V0RW50cnk6CisgKiBAdGFibGU6IHRoZSBoYXNoIHRhYmxlCisgKgorICogR2V0IHRoZSB1bmlxdWUgZW50cnkgZnJvbSB0aGUgaGFzaCB0YWJsZS4gVGhlIGVudHJ5IGlzIGNyZWF0ZWQgaWYKKyAqIG5lZWRlZC4gQGxlZnQgYW5kIEByaWdodCBhcmUgY29uc3VtZWQsIGkuZS4gdGhlaXIgcmVmIGNvdW50IHdpbGwKKyAqIGJlIGRlY3JlbWVudGVkIGJ5IHRoZSBvcGVyYXRpb24uCisgKgorICogUmV0dXJucyB0aGUgcG9pbnRlciBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworc3RhdGljIHhtbEV4cE5vZGVQdHIKK3htbEV4cEhhc2hHZXRFbnRyeSh4bWxFeHBDdHh0UHRyIGN0eHQsIHhtbEV4cE5vZGVUeXBlIHR5cGUsCisgICAgICAgICAgICAgICAgICAgeG1sRXhwTm9kZVB0ciBsZWZ0LCB4bWxFeHBOb2RlUHRyIHJpZ2h0LAorCQkgICBjb25zdCB4bWxDaGFyICpuYW1lLCBpbnQgbWluLCBpbnQgbWF4KSB7CisgICAgdW5zaWduZWQgc2hvcnQga2Jhc2UsIGtleTsKKyAgICB4bWxFeHBOb2RlUHRyIGVudHJ5OworICAgIHhtbEV4cE5vZGVQdHIgaW5zZXJ0OworCisgICAgaWYgKGN0eHQgPT0gTlVMTCkKKwlyZXR1cm4oTlVMTCk7CisKKyAgICAvKgorICAgICAqIENoZWNrIGZvciBkdXBsaWNhdGUgYW5kIGluc2VydGlvbiBsb2NhdGlvbi4KKyAgICAgKi8KKyAgICBpZiAodHlwZSA9PSBYTUxfRVhQX0FUT00pIHsKKwlrYmFzZSA9IHhtbEV4cEhhc2hOYW1lQ29tcHV0ZUtleShuYW1lKTsKKyAgICB9IGVsc2UgaWYgKHR5cGUgPT0gWE1MX0VYUF9DT1VOVCkgeworICAgICAgICAvKiBDT1VOVCByZWR1Y3Rpb24gcnVsZSAxICovCisJLyogYXsxfSAtPiBhICovCisJaWYgKG1pbiA9PSBtYXgpIHsKKwkgICAgaWYgKG1pbiA9PSAxKSB7CisJCXJldHVybihsZWZ0KTsKKwkgICAgfQorCSAgICBpZiAobWluID09IDApIHsKKwkJeG1sRXhwRnJlZShjdHh0LCBsZWZ0KTsKKwkgICAgICAgIHJldHVybihlbXB0eUV4cCk7CisJICAgIH0KKwl9CisJaWYgKG1pbiA8IDApIHsKKwkgICAgeG1sRXhwRnJlZShjdHh0LCBsZWZ0KTsKKwkgICAgcmV0dXJuKGZvcmJpZGRlbkV4cCk7CisJfQorICAgICAgICBpZiAobWF4ID09IC0xKQorCSAgICBrYmFzZSA9IG1pbiArIDc5OworCWVsc2UKKwkgICAga2Jhc2UgPSBtYXggLSBtaW47CisJa2Jhc2UgKz0gbGVmdC0+a2V5OworICAgIH0gZWxzZSBpZiAodHlwZSA9PSBYTUxfRVhQX09SKSB7CisgICAgICAgIC8qIEZvcmJpZCByZWR1Y3Rpb24gcnVsZXMgKi8KKyAgICAgICAgaWYgKGxlZnQtPnR5cGUgPT0gWE1MX0VYUF9GT1JCSUQpIHsKKwkgICAgeG1sRXhwRnJlZShjdHh0LCBsZWZ0KTsKKwkgICAgcmV0dXJuKHJpZ2h0KTsKKwl9CisgICAgICAgIGlmIChyaWdodC0+dHlwZSA9PSBYTUxfRVhQX0ZPUkJJRCkgeworCSAgICB4bWxFeHBGcmVlKGN0eHQsIHJpZ2h0KTsKKwkgICAgcmV0dXJuKGxlZnQpOworCX0KKworICAgICAgICAvKiBPUiByZWR1Y3Rpb24gcnVsZSAxICovCisJLyogYSB8IGEgcmVkdWNlZCB0byBhICovCisgICAgICAgIGlmIChsZWZ0ID09IHJpZ2h0KSB7CisJICAgIGxlZnQtPnJlZi0tOworCSAgICByZXR1cm4obGVmdCk7CisJfQorICAgICAgICAvKiBPUiBjYW5vbmljYWxpemF0aW9uIHJ1bGUgMSAqLworCS8qIGxpbmVhcml6ZSAoYSB8IGIpIHwgYyBpbnRvIGEgfCAoYiB8IGMpICovCisgICAgICAgIGlmICgobGVmdC0+dHlwZSA9PSBYTUxfRVhQX09SKSAmJiAocmlnaHQtPnR5cGUgIT0gWE1MX0VYUF9PUikpIHsKKwkgICAgeG1sRXhwTm9kZVB0ciB0bXAgPSBsZWZ0OworICAgICAgICAgICAgbGVmdCA9IHJpZ2h0OworCSAgICByaWdodCA9IHRtcDsKKwl9CisgICAgICAgIC8qIE9SIHJlZHVjdGlvbiBydWxlIDIgKi8KKwkvKiBhIHwgKGEgfCBiKSBhbmQgYiB8IChhIHwgYikgYXJlIHJlZHVjZWQgdG8gYSB8IGIgKi8KKyAgICAgICAgaWYgKHJpZ2h0LT50eXBlID09IFhNTF9FWFBfT1IpIHsKKwkgICAgaWYgKChsZWZ0ID09IHJpZ2h0LT5leHBfbGVmdCkgfHwKKwkgICAgICAgIChsZWZ0ID09IHJpZ2h0LT5leHBfcmlnaHQpKSB7CisJCXhtbEV4cEZyZWUoY3R4dCwgbGVmdCk7CisJCXJldHVybihyaWdodCk7CisJICAgIH0KKwl9CisgICAgICAgIC8qIE9SIGNhbm9uaWNhbGl6YXRpb24gcnVsZSAyICovCisJLyogbGluZWFyaXplIChhIHwgYikgfCBjIGludG8gYSB8IChiIHwgYykgKi8KKyAgICAgICAgaWYgKGxlZnQtPnR5cGUgPT0gWE1MX0VYUF9PUikgeworCSAgICB4bWxFeHBOb2RlUHRyIHRtcDsKKworCSAgICAvKiBPUiBjYW5vbmljYWxpemF0aW9uIHJ1bGUgMiAqLworCSAgICBpZiAoKGxlZnQtPmV4cF9yaWdodC0+dHlwZSAhPSBYTUxfRVhQX09SKSAmJgorCSAgICAgICAgKGxlZnQtPmV4cF9yaWdodC0+a2V5IDwgbGVmdC0+ZXhwX2xlZnQtPmtleSkpIHsKKwkgICAgICAgIHRtcCA9IGxlZnQtPmV4cF9yaWdodDsKKwkJbGVmdC0+ZXhwX3JpZ2h0ID0gbGVmdC0+ZXhwX2xlZnQ7CisJCWxlZnQtPmV4cF9sZWZ0ID0gdG1wOworCSAgICB9CisJICAgIGxlZnQtPmV4cF9yaWdodC0+cmVmKys7CisJICAgIHRtcCA9IHhtbEV4cEhhc2hHZXRFbnRyeShjdHh0LCBYTUxfRVhQX09SLCBsZWZ0LT5leHBfcmlnaHQsIHJpZ2h0LAorCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgMCwgMCk7CisJICAgIGxlZnQtPmV4cF9sZWZ0LT5yZWYrKzsKKwkgICAgdG1wID0geG1sRXhwSGFzaEdldEVudHJ5KGN0eHQsIFhNTF9FWFBfT1IsIGxlZnQtPmV4cF9sZWZ0LCB0bXAsCisJICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCAwLCAwKTsKKworCSAgICB4bWxFeHBGcmVlKGN0eHQsIGxlZnQpOworCSAgICByZXR1cm4odG1wKTsKKwl9CisJaWYgKHJpZ2h0LT50eXBlID09IFhNTF9FWFBfT1IpIHsKKwkgICAgLyogT3JkZXJpbmcgaW4gdGhlIHRyZWUgKi8KKwkgICAgLyogQyB8IChBIHwgQikgLT4gQSB8IChCIHwgQykgKi8KKwkgICAgaWYgKGxlZnQtPmtleSA+IHJpZ2h0LT5leHBfcmlnaHQtPmtleSkgeworCQl4bWxFeHBOb2RlUHRyIHRtcDsKKwkJcmlnaHQtPmV4cF9yaWdodC0+cmVmKys7CisJCXRtcCA9IHhtbEV4cEhhc2hHZXRFbnRyeShjdHh0LCBYTUxfRVhQX09SLCByaWdodC0+ZXhwX3JpZ2h0LAorCQkgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdCwgTlVMTCwgMCwgMCk7CisJCXJpZ2h0LT5leHBfbGVmdC0+cmVmKys7CisJCXRtcCA9IHhtbEV4cEhhc2hHZXRFbnRyeShjdHh0LCBYTUxfRVhQX09SLCByaWdodC0+ZXhwX2xlZnQsCisJCSAgICAgICAgICAgICAgICAgICAgICAgICB0bXAsIE5VTEwsIDAsIDApOworCQl4bWxFeHBGcmVlKGN0eHQsIHJpZ2h0KTsKKwkJcmV0dXJuKHRtcCk7CisJICAgIH0KKwkgICAgLyogT3JkZXJpbmcgaW4gdGhlIHRyZWUgKi8KKwkgICAgLyogQiB8IChBIHwgQykgLT4gQSB8IChCIHwgQykgKi8KKwkgICAgaWYgKGxlZnQtPmtleSA+IHJpZ2h0LT5leHBfbGVmdC0+a2V5KSB7CisJCXhtbEV4cE5vZGVQdHIgdG1wOworCQlyaWdodC0+ZXhwX3JpZ2h0LT5yZWYrKzsKKwkJdG1wID0geG1sRXhwSGFzaEdldEVudHJ5KGN0eHQsIFhNTF9FWFBfT1IsIGxlZnQsCisJCSAgICAgICAgICAgICAgICAgICAgICAgICByaWdodC0+ZXhwX3JpZ2h0LCBOVUxMLCAwLCAwKTsKKwkJcmlnaHQtPmV4cF9sZWZ0LT5yZWYrKzsKKwkJdG1wID0geG1sRXhwSGFzaEdldEVudHJ5KGN0eHQsIFhNTF9FWFBfT1IsIHJpZ2h0LT5leHBfbGVmdCwKKwkJICAgICAgICAgICAgICAgICAgICAgICAgIHRtcCwgTlVMTCwgMCwgMCk7CisJCXhtbEV4cEZyZWUoY3R4dCwgcmlnaHQpOworCQlyZXR1cm4odG1wKTsKKwkgICAgfQorCX0KKwkvKiB3ZSBrbm93IGJvdGggdHlwZXMgYXJlICE9IFhNTF9FWFBfT1IgaGVyZSAqLworICAgICAgICBlbHNlIGlmIChsZWZ0LT5rZXkgPiByaWdodC0+a2V5KSB7CisJICAgIHhtbEV4cE5vZGVQdHIgdG1wID0gbGVmdDsKKyAgICAgICAgICAgIGxlZnQgPSByaWdodDsKKwkgICAgcmlnaHQgPSB0bXA7CisJfQorCWtiYXNlID0geG1sRXhwSGFzaENvbXB1dGVLZXkodHlwZSwgbGVmdCwgcmlnaHQpOworICAgIH0gZWxzZSBpZiAodHlwZSA9PSBYTUxfRVhQX1NFUSkgeworICAgICAgICAvKiBGb3JiaWQgcmVkdWN0aW9uIHJ1bGVzICovCisgICAgICAgIGlmIChsZWZ0LT50eXBlID09IFhNTF9FWFBfRk9SQklEKSB7CisJICAgIHhtbEV4cEZyZWUoY3R4dCwgcmlnaHQpOworCSAgICByZXR1cm4obGVmdCk7CisJfQorICAgICAgICBpZiAocmlnaHQtPnR5cGUgPT0gWE1MX0VYUF9GT1JCSUQpIHsKKwkgICAgeG1sRXhwRnJlZShjdHh0LCBsZWZ0KTsKKwkgICAgcmV0dXJuKHJpZ2h0KTsKKwl9CisgICAgICAgIC8qIEVtcHR5IHJlZHVjdGlvbiBydWxlcyAqLworICAgICAgICBpZiAocmlnaHQtPnR5cGUgPT0gWE1MX0VYUF9FTVBUWSkgeworCSAgICByZXR1cm4obGVmdCk7CisJfQorICAgICAgICBpZiAobGVmdC0+dHlwZSA9PSBYTUxfRVhQX0VNUFRZKSB7CisJICAgIHJldHVybihyaWdodCk7CisJfQorCWtiYXNlID0geG1sRXhwSGFzaENvbXB1dGVLZXkodHlwZSwgbGVmdCwgcmlnaHQpOworICAgIH0gZWxzZQorICAgICAgICByZXR1cm4oTlVMTCk7CisKKyAgICBrZXkgPSBrYmFzZSAlIGN0eHQtPnNpemU7CisgICAgaWYgKGN0eHQtPnRhYmxlW2tleV0gIT0gTlVMTCkgeworCWZvciAoaW5zZXJ0ID0gY3R4dC0+dGFibGVba2V5XTsgaW5zZXJ0ICE9IE5VTEw7CisJICAgICBpbnNlcnQgPSBpbnNlcnQtPm5leHQpIHsKKwkgICAgaWYgKChpbnNlcnQtPmtleSA9PSBrYmFzZSkgJiYKKwkgICAgICAgIChpbnNlcnQtPnR5cGUgPT0gdHlwZSkpIHsKKwkJaWYgKHR5cGUgPT0gWE1MX0VYUF9BVE9NKSB7CisJCSAgICBpZiAobmFtZSA9PSBpbnNlcnQtPmV4cF9zdHIpIHsKKwkJCWluc2VydC0+cmVmKys7CisJCQlyZXR1cm4oaW5zZXJ0KTsKKwkJICAgIH0KKwkJfSBlbHNlIGlmICh0eXBlID09IFhNTF9FWFBfQ09VTlQpIHsKKwkJICAgIGlmICgoaW5zZXJ0LT5leHBfbWluID09IG1pbikgJiYgKGluc2VydC0+ZXhwX21heCA9PSBtYXgpICYmCisJCSAgICAgICAgKGluc2VydC0+ZXhwX2xlZnQgPT0gbGVmdCkpIHsKKwkJCWluc2VydC0+cmVmKys7CisJCQlsZWZ0LT5yZWYtLTsKKwkJCXJldHVybihpbnNlcnQpOworCQkgICAgfQorCQl9IGVsc2UgaWYgKChpbnNlcnQtPmV4cF9sZWZ0ID09IGxlZnQpICYmCisJCQkgICAoaW5zZXJ0LT5leHBfcmlnaHQgPT0gcmlnaHQpKSB7CisJCSAgICBpbnNlcnQtPnJlZisrOworCQkgICAgbGVmdC0+cmVmLS07CisJCSAgICByaWdodC0+cmVmLS07CisJCSAgICByZXR1cm4oaW5zZXJ0KTsKKwkJfQorCSAgICB9CisJfQorICAgIH0KKworICAgIGVudHJ5ID0geG1sRXhwTmV3Tm9kZShjdHh0LCB0eXBlKTsKKyAgICBpZiAoZW50cnkgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuKE5VTEwpOworICAgIGVudHJ5LT5rZXkgPSBrYmFzZTsKKyAgICBpZiAodHlwZSA9PSBYTUxfRVhQX0FUT00pIHsKKwllbnRyeS0+ZXhwX3N0ciA9IG5hbWU7CisJZW50cnktPmNfbWF4ID0gMTsKKyAgICB9IGVsc2UgaWYgKHR5cGUgPT0gWE1MX0VYUF9DT1VOVCkgeworICAgICAgICBlbnRyeS0+ZXhwX21pbiA9IG1pbjsKKyAgICAgICAgZW50cnktPmV4cF9tYXggPSBtYXg7CisJZW50cnktPmV4cF9sZWZ0ID0gbGVmdDsKKwlpZiAoKG1pbiA9PSAwKSB8fCAoSVNfTklMTEFCTEUobGVmdCkpKQorCSAgICBlbnRyeS0+aW5mbyB8PSBYTUxfRVhQX05JTEFCTEU7CisJaWYgKG1heCA8IDApCisJICAgIGVudHJ5LT5jX21heCA9IC0xOworCWVsc2UKKwkgICAgZW50cnktPmNfbWF4ID0gbWF4ICogZW50cnktPmV4cF9sZWZ0LT5jX21heDsKKyAgICB9IGVsc2UgeworCWVudHJ5LT5leHBfbGVmdCA9IGxlZnQ7CisJZW50cnktPmV4cF9yaWdodCA9IHJpZ2h0OworCWlmICh0eXBlID09IFhNTF9FWFBfT1IpIHsKKwkgICAgaWYgKChJU19OSUxMQUJMRShsZWZ0KSkgfHwgKElTX05JTExBQkxFKHJpZ2h0KSkpCisJCWVudHJ5LT5pbmZvIHw9IFhNTF9FWFBfTklMQUJMRTsKKwkgICAgaWYgKChlbnRyeS0+ZXhwX2xlZnQtPmNfbWF4ID09IC0xKSB8fAorCSAgICAgICAgKGVudHJ5LT5leHBfcmlnaHQtPmNfbWF4ID09IC0xKSkKKwkJZW50cnktPmNfbWF4ID0gLTE7CisJICAgIGVsc2UgaWYgKGVudHJ5LT5leHBfbGVmdC0+Y19tYXggPiBlbnRyeS0+ZXhwX3JpZ2h0LT5jX21heCkKKwkgICAgICAgIGVudHJ5LT5jX21heCA9IGVudHJ5LT5leHBfbGVmdC0+Y19tYXg7CisJICAgIGVsc2UKKwkgICAgICAgIGVudHJ5LT5jX21heCA9IGVudHJ5LT5leHBfcmlnaHQtPmNfbWF4OworCX0gZWxzZSB7CisJICAgIGlmICgoSVNfTklMTEFCTEUobGVmdCkpICYmIChJU19OSUxMQUJMRShyaWdodCkpKQorCQllbnRyeS0+aW5mbyB8PSBYTUxfRVhQX05JTEFCTEU7CisJICAgIGlmICgoZW50cnktPmV4cF9sZWZ0LT5jX21heCA9PSAtMSkgfHwKKwkgICAgICAgIChlbnRyeS0+ZXhwX3JpZ2h0LT5jX21heCA9PSAtMSkpCisJCWVudHJ5LT5jX21heCA9IC0xOworCSAgICBlbHNlCisJICAgICAgICBlbnRyeS0+Y19tYXggPSBlbnRyeS0+ZXhwX2xlZnQtPmNfbWF4ICsgZW50cnktPmV4cF9yaWdodC0+Y19tYXg7CisJfQorICAgIH0KKyAgICBlbnRyeS0+cmVmID0gMTsKKyAgICBpZiAoY3R4dC0+dGFibGVba2V5XSAhPSBOVUxMKQorICAgICAgICBlbnRyeS0+bmV4dCA9IGN0eHQtPnRhYmxlW2tleV07CisKKyAgICBjdHh0LT50YWJsZVtrZXldID0gZW50cnk7CisgICAgY3R4dC0+bmJFbGVtcysrOworCisgICAgcmV0dXJuKGVudHJ5KTsKK30KKworLyoqCisgKiB4bWxFeHBGcmVlOgorICogQGN0eHQ6IHRoZSBleHByZXNzaW9uIGNvbnRleHQKKyAqIEBleHA6IHRoZSBleHByZXNzaW9uCisgKgorICogRGVyZWZlcmVuY2UgdGhlIGV4cHJlc3Npb24KKyAqLwordm9pZAoreG1sRXhwRnJlZSh4bWxFeHBDdHh0UHRyIGN0eHQsIHhtbEV4cE5vZGVQdHIgZXhwKSB7CisgICAgaWYgKChleHAgPT0gTlVMTCkgfHwgKGV4cCA9PSBmb3JiaWRkZW5FeHApIHx8IChleHAgPT0gZW1wdHlFeHApKQorICAgICAgICByZXR1cm47CisgICAgZXhwLT5yZWYtLTsKKyAgICBpZiAoZXhwLT5yZWYgPT0gMCkgeworICAgICAgICB1bnNpZ25lZCBzaG9ydCBrZXk7CisKKyAgICAgICAgLyogVW5saW5rIGl0IGZpcnN0IGZyb20gdGhlIGhhc2ggdGFibGUgKi8KKwlrZXkgPSBleHAtPmtleSAlIGN0eHQtPnNpemU7CisJaWYgKGN0eHQtPnRhYmxlW2tleV0gPT0gZXhwKSB7CisJICAgIGN0eHQtPnRhYmxlW2tleV0gPSBleHAtPm5leHQ7CisJfSBlbHNlIHsKKwkgICAgeG1sRXhwTm9kZVB0ciB0bXA7CisKKwkgICAgdG1wID0gY3R4dC0+dGFibGVba2V5XTsKKwkgICAgd2hpbGUgKHRtcCAhPSBOVUxMKSB7CisJICAgICAgICBpZiAodG1wLT5uZXh0ID09IGV4cCkgeworCQkgICAgdG1wLT5uZXh0ID0gZXhwLT5uZXh0OworCQkgICAgYnJlYWs7CisJCX0KKwkgICAgICAgIHRtcCA9IHRtcC0+bmV4dDsKKwkgICAgfQorCX0KKworICAgICAgICBpZiAoKGV4cC0+dHlwZSA9PSBYTUxfRVhQX1NFUSkgfHwgKGV4cC0+dHlwZSA9PSBYTUxfRVhQX09SKSkgeworCSAgICB4bWxFeHBGcmVlKGN0eHQsIGV4cC0+ZXhwX2xlZnQpOworCSAgICB4bWxFeHBGcmVlKGN0eHQsIGV4cC0+ZXhwX3JpZ2h0KTsKKwl9IGVsc2UgaWYgKGV4cC0+dHlwZSA9PSBYTUxfRVhQX0NPVU5UKSB7CisJICAgIHhtbEV4cEZyZWUoY3R4dCwgZXhwLT5leHBfbGVmdCk7CisJfQorICAgICAgICB4bWxGcmVlKGV4cCk7CisJY3R4dC0+bmJfbm9kZXMtLTsKKyAgICB9Cit9CisKKy8qKgorICogeG1sRXhwUmVmOgorICogQGV4cDogdGhlIGV4cHJlc3Npb24KKyAqCisgKiBJbmNyZWFzZSB0aGUgcmVmZXJlbmNlIGNvdW50IG9mIHRoZSBleHByZXNzaW9uCisgKi8KK3ZvaWQKK3htbEV4cFJlZih4bWxFeHBOb2RlUHRyIGV4cCkgeworICAgIGlmIChleHAgIT0gTlVMTCkKKyAgICAgICAgZXhwLT5yZWYrKzsKK30KKworLyoqCisgKiB4bWxFeHBOZXdBdG9tOgorICogQGN0eHQ6IHRoZSBleHByZXNzaW9uIGNvbnRleHQKKyAqIEBuYW1lOiB0aGUgYXRvbSBuYW1lCisgKiBAbGVuOiB0aGUgYXRvbSBuYW1lIGxlbmd0aCBpbiBieXRlIChvciAtMSk7CisgKgorICogR2V0IHRoZSBhdG9tIGFzc29jaWF0ZWQgdG8gdGhpcyBuYW1lIGZyb20gdGhhdCBjb250ZXh0CisgKgorICogUmV0dXJucyB0aGUgbm9kZSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworeG1sRXhwTm9kZVB0cgoreG1sRXhwTmV3QXRvbSh4bWxFeHBDdHh0UHRyIGN0eHQsIGNvbnN0IHhtbENoYXIgKm5hbWUsIGludCBsZW4pIHsKKyAgICBpZiAoKGN0eHQgPT0gTlVMTCkgfHwgKG5hbWUgPT0gTlVMTCkpCisgICAgICAgIHJldHVybihOVUxMKTsKKyAgICBuYW1lID0geG1sRGljdExvb2t1cChjdHh0LT5kaWN0LCBuYW1lLCBsZW4pOworICAgIGlmIChuYW1lID09IE5VTEwpCisgICAgICAgIHJldHVybihOVUxMKTsKKyAgICByZXR1cm4oeG1sRXhwSGFzaEdldEVudHJ5KGN0eHQsIFhNTF9FWFBfQVRPTSwgTlVMTCwgTlVMTCwgbmFtZSwgMCwgMCkpOworfQorCisvKioKKyAqIHhtbEV4cE5ld09yOgorICogQGN0eHQ6IHRoZSBleHByZXNzaW9uIGNvbnRleHQKKyAqIEBsZWZ0OiBsZWZ0IGV4cHJlc3Npb24KKyAqIEByaWdodDogcmlnaHQgZXhwcmVzc2lvbgorICoKKyAqIEdldCB0aGUgYXRvbSBhc3NvY2lhdGVkIHRvIHRoZSBjaG9pY2UgQGxlZnQgfCBAcmlnaHQKKyAqIE5vdGUgdGhhdCBAbGVmdCBhbmQgQHJpZ2h0IGFyZSBjb25zdW1lZCBpbiB0aGUgb3BlcmF0aW9uLCB0byBrZWVwCisgKiBhbiBoYW5kbGUgb24gdGhlbSB1c2UgeG1sRXhwUmVmKCkgYW5kIHVzZSB4bWxFeHBGcmVlKCkgdG8gcmVsZWFzZSB0aGVtLAorICogdGhpcyBpcyB0cnVlIGV2ZW4gaW4gY2FzZSBvZiBmYWlsdXJlICh1bmxlc3MgY3R4dCA9PSBOVUxMKS4KKyAqCisgKiBSZXR1cm5zIHRoZSBub2RlIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcgorICovCit4bWxFeHBOb2RlUHRyCit4bWxFeHBOZXdPcih4bWxFeHBDdHh0UHRyIGN0eHQsIHhtbEV4cE5vZGVQdHIgbGVmdCwgeG1sRXhwTm9kZVB0ciByaWdodCkgeworICAgIGlmIChjdHh0ID09IE5VTEwpCisgICAgICAgIHJldHVybihOVUxMKTsKKyAgICBpZiAoKGxlZnQgPT0gTlVMTCkgfHwgKHJpZ2h0ID09IE5VTEwpKSB7CisgICAgICAgIHhtbEV4cEZyZWUoY3R4dCwgbGVmdCk7CisgICAgICAgIHhtbEV4cEZyZWUoY3R4dCwgcmlnaHQpOworICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgfQorICAgIHJldHVybih4bWxFeHBIYXNoR2V0RW50cnkoY3R4dCwgWE1MX0VYUF9PUiwgbGVmdCwgcmlnaHQsIE5VTEwsIDAsIDApKTsKK30KKworLyoqCisgKiB4bWxFeHBOZXdTZXE6CisgKiBAY3R4dDogdGhlIGV4cHJlc3Npb24gY29udGV4dAorICogQGxlZnQ6IGxlZnQgZXhwcmVzc2lvbgorICogQHJpZ2h0OiByaWdodCBleHByZXNzaW9uCisgKgorICogR2V0IHRoZSBhdG9tIGFzc29jaWF0ZWQgdG8gdGhlIHNlcXVlbmNlIEBsZWZ0ICwgQHJpZ2h0CisgKiBOb3RlIHRoYXQgQGxlZnQgYW5kIEByaWdodCBhcmUgY29uc3VtZWQgaW4gdGhlIG9wZXJhdGlvbiwgdG8ga2VlcAorICogYW4gaGFuZGxlIG9uIHRoZW0gdXNlIHhtbEV4cFJlZigpIGFuZCB1c2UgeG1sRXhwRnJlZSgpIHRvIHJlbGVhc2UgdGhlbSwKKyAqIHRoaXMgaXMgdHJ1ZSBldmVuIGluIGNhc2Ugb2YgZmFpbHVyZSAodW5sZXNzIGN0eHQgPT0gTlVMTCkuCisgKgorICogUmV0dXJucyB0aGUgbm9kZSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworeG1sRXhwTm9kZVB0cgoreG1sRXhwTmV3U2VxKHhtbEV4cEN0eHRQdHIgY3R4dCwgeG1sRXhwTm9kZVB0ciBsZWZ0LCB4bWxFeHBOb2RlUHRyIHJpZ2h0KSB7CisgICAgaWYgKGN0eHQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuKE5VTEwpOworICAgIGlmICgobGVmdCA9PSBOVUxMKSB8fCAocmlnaHQgPT0gTlVMTCkpIHsKKyAgICAgICAgeG1sRXhwRnJlZShjdHh0LCBsZWZ0KTsKKyAgICAgICAgeG1sRXhwRnJlZShjdHh0LCByaWdodCk7CisgICAgICAgIHJldHVybihOVUxMKTsKKyAgICB9CisgICAgcmV0dXJuKHhtbEV4cEhhc2hHZXRFbnRyeShjdHh0LCBYTUxfRVhQX1NFUSwgbGVmdCwgcmlnaHQsIE5VTEwsIDAsIDApKTsKK30KKworLyoqCisgKiB4bWxFeHBOZXdSYW5nZToKKyAqIEBjdHh0OiB0aGUgZXhwcmVzc2lvbiBjb250ZXh0CisgKiBAc3Vic2V0OiB0aGUgZXhwcmVzc2lvbiB0byBiZSByZXBlYXRlZAorICogQG1pbjogdGhlIGxvd2VyIGJvdW5kIGZvciB0aGUgcmVwZXRpdGlvbgorICogQG1heDogdGhlIHVwcGVyIGJvdW5kIGZvciB0aGUgcmVwZXRpdGlvbiwgLTEgbWVhbnMgaW5maW5pdGUKKyAqCisgKiBHZXQgdGhlIGF0b20gYXNzb2NpYXRlZCB0byB0aGUgcmFuZ2UgKEBzdWJzZXQpe0BtaW4sIEBtYXh9CisgKiBOb3RlIHRoYXQgQHN1YnNldCBpcyBjb25zdW1lZCBpbiB0aGUgb3BlcmF0aW9uLCB0byBrZWVwCisgKiBhbiBoYW5kbGUgb24gaXQgdXNlIHhtbEV4cFJlZigpIGFuZCB1c2UgeG1sRXhwRnJlZSgpIHRvIHJlbGVhc2UgaXQsCisgKiB0aGlzIGlzIHRydWUgZXZlbiBpbiBjYXNlIG9mIGZhaWx1cmUgKHVubGVzcyBjdHh0ID09IE5VTEwpLgorICoKKyAqIFJldHVybnMgdGhlIG5vZGUgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3htbEV4cE5vZGVQdHIKK3htbEV4cE5ld1JhbmdlKHhtbEV4cEN0eHRQdHIgY3R4dCwgeG1sRXhwTm9kZVB0ciBzdWJzZXQsIGludCBtaW4sIGludCBtYXgpIHsKKyAgICBpZiAoY3R4dCA9PSBOVUxMKQorICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgaWYgKChzdWJzZXQgPT0gTlVMTCkgfHwgKG1pbiA8IDApIHx8IChtYXggPCAtMSkgfHwKKyAgICAgICAgKChtYXggPj0gMCkgJiYgKG1pbiA+IG1heCkpKSB7CisJeG1sRXhwRnJlZShjdHh0LCBzdWJzZXQpOworICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgfQorICAgIHJldHVybih4bWxFeHBIYXNoR2V0RW50cnkoY3R4dCwgWE1MX0VYUF9DT1VOVCwgc3Vic2V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgTlVMTCwgbWluLCBtYXgpKTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJUHVibGljIEFQSSBmb3Igb3BlcmF0aW9ucyBvbiBleHByZXNzaW9ucwkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitzdGF0aWMgaW50Cit4bWxFeHBHZXRMYW5ndWFnZUludCh4bWxFeHBDdHh0UHRyIGN0eHQsIHhtbEV4cE5vZGVQdHIgZXhwLAorICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhcioqbGlzdCwgaW50IGxlbiwgaW50IG5iKSB7CisgICAgaW50IHRtcCwgdG1wMjsKK3RhaWw6CisgICAgc3dpdGNoIChleHAtPnR5cGUpIHsKKyAgICAgICAgY2FzZSBYTUxfRVhQX0VNUFRZOgorCSAgICByZXR1cm4oMCk7CisgICAgICAgIGNhc2UgWE1MX0VYUF9BVE9NOgorCSAgICBmb3IgKHRtcCA9IDA7dG1wIDwgbmI7dG1wKyspCisJICAgICAgICBpZiAobGlzdFt0bXBdID09IGV4cC0+ZXhwX3N0cikKKwkJICAgIHJldHVybigwKTsKKyAgICAgICAgICAgIGlmIChuYiA+PSBsZW4pCisJICAgICAgICByZXR1cm4oLTIpOworCSAgICBsaXN0W25iXSA9IGV4cC0+ZXhwX3N0cjsKKwkgICAgcmV0dXJuKDEpOworICAgICAgICBjYXNlIFhNTF9FWFBfQ09VTlQ6CisJICAgIGV4cCA9IGV4cC0+ZXhwX2xlZnQ7CisJICAgIGdvdG8gdGFpbDsKKyAgICAgICAgY2FzZSBYTUxfRVhQX1NFUToKKyAgICAgICAgY2FzZSBYTUxfRVhQX09SOgorCSAgICB0bXAgPSB4bWxFeHBHZXRMYW5ndWFnZUludChjdHh0LCBleHAtPmV4cF9sZWZ0LCBsaXN0LCBsZW4sIG5iKTsKKwkgICAgaWYgKHRtcCA8IDApCisJICAgICAgICByZXR1cm4odG1wKTsKKwkgICAgdG1wMiA9IHhtbEV4cEdldExhbmd1YWdlSW50KGN0eHQsIGV4cC0+ZXhwX3JpZ2h0LCBsaXN0LCBsZW4sCisJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYiArIHRtcCk7CisJICAgIGlmICh0bXAyIDwgMCkKKwkgICAgICAgIHJldHVybih0bXAyKTsKKyAgICAgICAgICAgIHJldHVybih0bXAgKyB0bXAyKTsKKyAgICB9CisgICAgcmV0dXJuKC0xKTsKK30KKworLyoqCisgKiB4bWxFeHBHZXRMYW5ndWFnZToKKyAqIEBjdHh0OiB0aGUgZXhwcmVzc2lvbiBjb250ZXh0CisgKiBAZXhwOiB0aGUgZXhwcmVzc2lvbgorICogQGxhbmdMaXN0OiB3aGVyZSB0byBzdG9yZSB0aGUgdG9rZW5zCisgKiBAbGVuOiB0aGUgYWxsb2NhdGVkIGxlbmd0aCBvZiBAbGlzdAorICoKKyAqIEZpbmQgYWxsIHRoZSBzdHJpbmdzIHVzZWQgaW4gQGV4cCBhbmQgc3RvcmUgdGhlbSBpbiBAbGlzdAorICoKKyAqIFJldHVybnMgdGhlIG51bWJlciBvZiB1bmlxdWUgc3RyaW5ncyBmb3VuZCwgLTEgaW4gY2FzZSBvZiBlcnJvcnMgYW5kCisgKiAgICAgICAgIC0yIGlmIHRoZXJlIGlzIG1vcmUgdGhhbiBAbGVuIHN0cmluZ3MKKyAqLworaW50Cit4bWxFeHBHZXRMYW5ndWFnZSh4bWxFeHBDdHh0UHRyIGN0eHQsIHhtbEV4cE5vZGVQdHIgZXhwLAorICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhcioqbGFuZ0xpc3QsIGludCBsZW4pIHsKKyAgICBpZiAoKGN0eHQgPT0gTlVMTCkgfHwgKGV4cCA9PSBOVUxMKSB8fCAobGFuZ0xpc3QgPT0gTlVMTCkgfHwgKGxlbiA8PSAwKSkKKyAgICAgICAgcmV0dXJuKC0xKTsKKyAgICByZXR1cm4oeG1sRXhwR2V0TGFuZ3VhZ2VJbnQoY3R4dCwgZXhwLCBsYW5nTGlzdCwgbGVuLCAwKSk7Cit9CisKK3N0YXRpYyBpbnQKK3htbEV4cEdldFN0YXJ0SW50KHhtbEV4cEN0eHRQdHIgY3R4dCwgeG1sRXhwTm9kZVB0ciBleHAsCisgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyKipsaXN0LCBpbnQgbGVuLCBpbnQgbmIpIHsKKyAgICBpbnQgdG1wLCB0bXAyOwordGFpbDoKKyAgICBzd2l0Y2ggKGV4cC0+dHlwZSkgeworICAgICAgICBjYXNlIFhNTF9FWFBfRk9SQklEOgorCSAgICByZXR1cm4oMCk7CisgICAgICAgIGNhc2UgWE1MX0VYUF9FTVBUWToKKwkgICAgcmV0dXJuKDApOworICAgICAgICBjYXNlIFhNTF9FWFBfQVRPTToKKwkgICAgZm9yICh0bXAgPSAwO3RtcCA8IG5iO3RtcCsrKQorCSAgICAgICAgaWYgKGxpc3RbdG1wXSA9PSBleHAtPmV4cF9zdHIpCisJCSAgICByZXR1cm4oMCk7CisgICAgICAgICAgICBpZiAobmIgPj0gbGVuKQorCSAgICAgICAgcmV0dXJuKC0yKTsKKwkgICAgbGlzdFtuYl0gPSBleHAtPmV4cF9zdHI7CisJICAgIHJldHVybigxKTsKKyAgICAgICAgY2FzZSBYTUxfRVhQX0NPVU5UOgorCSAgICBleHAgPSBleHAtPmV4cF9sZWZ0OworCSAgICBnb3RvIHRhaWw7CisgICAgICAgIGNhc2UgWE1MX0VYUF9TRVE6CisJICAgIHRtcCA9IHhtbEV4cEdldFN0YXJ0SW50KGN0eHQsIGV4cC0+ZXhwX2xlZnQsIGxpc3QsIGxlbiwgbmIpOworCSAgICBpZiAodG1wIDwgMCkKKwkgICAgICAgIHJldHVybih0bXApOworCSAgICBpZiAoSVNfTklMTEFCTEUoZXhwLT5leHBfbGVmdCkpIHsKKwkJdG1wMiA9IHhtbEV4cEdldFN0YXJ0SW50KGN0eHQsIGV4cC0+ZXhwX3JpZ2h0LCBsaXN0LCBsZW4sCisJCQkJCSAgICBuYiArIHRtcCk7CisJCWlmICh0bXAyIDwgMCkKKwkJICAgIHJldHVybih0bXAyKTsKKwkJdG1wICs9IHRtcDI7CisJICAgIH0KKyAgICAgICAgICAgIHJldHVybih0bXApOworICAgICAgICBjYXNlIFhNTF9FWFBfT1I6CisJICAgIHRtcCA9IHhtbEV4cEdldFN0YXJ0SW50KGN0eHQsIGV4cC0+ZXhwX2xlZnQsIGxpc3QsIGxlbiwgbmIpOworCSAgICBpZiAodG1wIDwgMCkKKwkgICAgICAgIHJldHVybih0bXApOworCSAgICB0bXAyID0geG1sRXhwR2V0U3RhcnRJbnQoY3R4dCwgZXhwLT5leHBfcmlnaHQsIGxpc3QsIGxlbiwKKwkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5iICsgdG1wKTsKKwkgICAgaWYgKHRtcDIgPCAwKQorCSAgICAgICAgcmV0dXJuKHRtcDIpOworICAgICAgICAgICAgcmV0dXJuKHRtcCArIHRtcDIpOworICAgIH0KKyAgICByZXR1cm4oLTEpOworfQorCisvKioKKyAqIHhtbEV4cEdldFN0YXJ0OgorICogQGN0eHQ6IHRoZSBleHByZXNzaW9uIGNvbnRleHQKKyAqIEBleHA6IHRoZSBleHByZXNzaW9uCisgKiBAdG9rTGlzdDogd2hlcmUgdG8gc3RvcmUgdGhlIHRva2VucworICogQGxlbjogdGhlIGFsbG9jYXRlZCBsZW5ndGggb2YgQGxpc3QKKyAqCisgKiBGaW5kIGFsbCB0aGUgc3RyaW5ncyB0aGF0IGFwcGVhcnMgYXQgdGhlIHN0YXJ0IG9mIHRoZSBsYW5ndWFnZXMKKyAqIGFjY2VwdGVkIGJ5IEBleHAgYW5kIHN0b3JlIHRoZW0gaW4gQGxpc3QuIEUuZy4gZm9yIChhLCBiKSB8IGMKKyAqIGl0IHdpbGwgcmV0dXJuIHRoZSBsaXN0IFthLCBjXQorICoKKyAqIFJldHVybnMgdGhlIG51bWJlciBvZiB1bmlxdWUgc3RyaW5ncyBmb3VuZCwgLTEgaW4gY2FzZSBvZiBlcnJvcnMgYW5kCisgKiAgICAgICAgIC0yIGlmIHRoZXJlIGlzIG1vcmUgdGhhbiBAbGVuIHN0cmluZ3MKKyAqLworaW50Cit4bWxFeHBHZXRTdGFydCh4bWxFeHBDdHh0UHRyIGN0eHQsIHhtbEV4cE5vZGVQdHIgZXhwLAorICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhcioqdG9rTGlzdCwgaW50IGxlbikgeworICAgIGlmICgoY3R4dCA9PSBOVUxMKSB8fCAoZXhwID09IE5VTEwpIHx8ICh0b2tMaXN0ID09IE5VTEwpIHx8IChsZW4gPD0gMCkpCisgICAgICAgIHJldHVybigtMSk7CisgICAgcmV0dXJuKHhtbEV4cEdldFN0YXJ0SW50KGN0eHQsIGV4cCwgdG9rTGlzdCwgbGVuLCAwKSk7Cit9CisKKy8qKgorICogeG1sRXhwSXNOaWxsYWJsZToKKyAqIEBleHA6IHRoZSBleHByZXNzaW9uCisgKgorICogRmluZHMgaWYgdGhlIGV4cHJlc3Npb24gaXMgbmlsbGFibGUsIGkuZS4gaWYgaXQgYWNjZXB0cyB0aGUgZW1wdHkgc2VxdXFuY2UKKyAqCisgKiBSZXR1cm5zIDEgaWYgbmlsbGFibGUsIDAgaWYgbm90IGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK2ludAoreG1sRXhwSXNOaWxsYWJsZSh4bWxFeHBOb2RlUHRyIGV4cCkgeworICAgIGlmIChleHAgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuKC0xKTsKKyAgICByZXR1cm4oSVNfTklMTEFCTEUoZXhwKSAhPSAwKTsKK30KKworc3RhdGljIHhtbEV4cE5vZGVQdHIKK3htbEV4cFN0cmluZ0Rlcml2ZUludCh4bWxFeHBDdHh0UHRyIGN0eHQsIHhtbEV4cE5vZGVQdHIgZXhwLCBjb25zdCB4bWxDaGFyICpzdHIpCit7CisgICAgeG1sRXhwTm9kZVB0ciByZXQ7CisKKyAgICBzd2l0Y2ggKGV4cC0+dHlwZSkgeworCWNhc2UgWE1MX0VYUF9FTVBUWToKKwkgICAgcmV0dXJuKGZvcmJpZGRlbkV4cCk7CisJY2FzZSBYTUxfRVhQX0ZPUkJJRDoKKwkgICAgcmV0dXJuKGZvcmJpZGRlbkV4cCk7CisJY2FzZSBYTUxfRVhQX0FUT006CisJICAgIGlmIChleHAtPmV4cF9zdHIgPT0gc3RyKSB7CisjaWZkZWYgREVCVUdfREVSSVYKKwkJcHJpbnRmKCJkZXJpdiBhdG9tOiBlcXVhbCA9PiBFbXB0eVxuIik7CisjZW5kaWYKKwkgICAgICAgIHJldCA9IGVtcHR5RXhwOworCSAgICB9IGVsc2UgeworI2lmZGVmIERFQlVHX0RFUklWCisJCXByaW50ZigiZGVyaXYgYXRvbTogbWlzbWF0Y2ggPT4gZm9yYmlkXG4iKTsKKyNlbmRpZgorCSAgICAgICAgLyogVE9ETyB3aWxkY2FyZHMgaGVyZSAqLworCQlyZXQgPSBmb3JiaWRkZW5FeHA7CisJICAgIH0KKwkgICAgcmV0dXJuKHJldCk7CisJY2FzZSBYTUxfRVhQX09SOiB7CisJICAgIHhtbEV4cE5vZGVQdHIgdG1wOworCisjaWZkZWYgREVCVUdfREVSSVYKKwkgICAgcHJpbnRmKCJkZXJpdiBvcjogPT4gb3IoZGVyaXZzKVxuIik7CisjZW5kaWYKKwkgICAgdG1wID0geG1sRXhwU3RyaW5nRGVyaXZlSW50KGN0eHQsIGV4cC0+ZXhwX2xlZnQsIHN0cik7CisJICAgIGlmICh0bXAgPT0gTlVMTCkgeworCQlyZXR1cm4oTlVMTCk7CisJICAgIH0KKwkgICAgcmV0ID0geG1sRXhwU3RyaW5nRGVyaXZlSW50KGN0eHQsIGV4cC0+ZXhwX3JpZ2h0LCBzdHIpOworCSAgICBpZiAocmV0ID09IE5VTEwpIHsKKwkgICAgICAgIHhtbEV4cEZyZWUoY3R4dCwgdG1wKTsKKwkJcmV0dXJuKE5VTEwpOworCSAgICB9CisgICAgICAgICAgICByZXQgPSB4bWxFeHBIYXNoR2V0RW50cnkoY3R4dCwgWE1MX0VYUF9PUiwgdG1wLCByZXQsCisJCQkgICAgIE5VTEwsIDAsIDApOworCSAgICByZXR1cm4ocmV0KTsKKwl9CisJY2FzZSBYTUxfRVhQX1NFUToKKyNpZmRlZiBERUJVR19ERVJJVgorCSAgICBwcmludGYoImRlcml2IHNlcTogc3RhcnRpbmcgd2l0aCBsZWZ0XG4iKTsKKyNlbmRpZgorCSAgICByZXQgPSB4bWxFeHBTdHJpbmdEZXJpdmVJbnQoY3R4dCwgZXhwLT5leHBfbGVmdCwgc3RyKTsKKwkgICAgaWYgKHJldCA9PSBOVUxMKSB7CisJICAgICAgICByZXR1cm4oTlVMTCk7CisJICAgIH0gZWxzZSBpZiAocmV0ID09IGZvcmJpZGRlbkV4cCkgeworCSAgICAgICAgaWYgKElTX05JTExBQkxFKGV4cC0+ZXhwX2xlZnQpKSB7CisjaWZkZWYgREVCVUdfREVSSVYKKwkJICAgIHByaW50ZigiZGVyaXYgc2VxOiBsZWZ0IGZhaWxlZCBidXQgbmlsbGFibGVcbiIpOworI2VuZGlmCisJCSAgICByZXQgPSB4bWxFeHBTdHJpbmdEZXJpdmVJbnQoY3R4dCwgZXhwLT5leHBfcmlnaHQsIHN0cik7CisJCX0KKwkgICAgfSBlbHNlIHsKKyNpZmRlZiBERUJVR19ERVJJVgorCQlwcmludGYoImRlcml2IHNlcTogbGVmdCBtYXRjaCA9PiBzZXF1ZW5jZVxuIik7CisjZW5kaWYKKwkgICAgICAgIGV4cC0+ZXhwX3JpZ2h0LT5yZWYrKzsKKwkgICAgICAgIHJldCA9IHhtbEV4cEhhc2hHZXRFbnRyeShjdHh0LCBYTUxfRVhQX1NFUSwgcmV0LCBleHAtPmV4cF9yaWdodCwKKwkJICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIDAsIDApOworCSAgICB9CisJICAgIHJldHVybihyZXQpOworCWNhc2UgWE1MX0VYUF9DT1VOVDogeworCSAgICBpbnQgbWluLCBtYXg7CisJICAgIHhtbEV4cE5vZGVQdHIgdG1wOworCisJICAgIGlmIChleHAtPmV4cF9tYXggPT0gMCkKKwkJcmV0dXJuKGZvcmJpZGRlbkV4cCk7CisJICAgIHJldCA9IHhtbEV4cFN0cmluZ0Rlcml2ZUludChjdHh0LCBleHAtPmV4cF9sZWZ0LCBzdHIpOworCSAgICBpZiAocmV0ID09IE5VTEwpCisJICAgICAgICByZXR1cm4oTlVMTCk7CisJICAgIGlmIChyZXQgPT0gZm9yYmlkZGVuRXhwKSB7CisjaWZkZWYgREVCVUdfREVSSVYKKwkJcHJpbnRmKCJkZXJpdiBjb3VudDogcGF0dGVybiBtaXNtYXRjaCA9PiBmb3JiaWRcbiIpOworI2VuZGlmCisJICAgICAgICByZXR1cm4ocmV0KTsKKwkgICAgfQorCSAgICBpZiAoZXhwLT5leHBfbWF4ID09IDEpCisJCXJldHVybihyZXQpOworCSAgICBpZiAoZXhwLT5leHBfbWF4IDwgMCkgLyogdW5ib3VuZGVkICovCisJCW1heCA9IC0xOworCSAgICBlbHNlCisJCW1heCA9IGV4cC0+ZXhwX21heCAtIDE7CisJICAgIGlmIChleHAtPmV4cF9taW4gPiAwKQorCQltaW4gPSBleHAtPmV4cF9taW4gLSAxOworCSAgICBlbHNlCisJCW1pbiA9IDA7CisJICAgIGV4cC0+ZXhwX2xlZnQtPnJlZisrOworCSAgICB0bXAgPSB4bWxFeHBIYXNoR2V0RW50cnkoY3R4dCwgWE1MX0VYUF9DT1VOVCwgZXhwLT5leHBfbGVmdCwgTlVMTCwKKwkJCQkgICAgIE5VTEwsIG1pbiwgbWF4KTsKKwkgICAgaWYgKHJldCA9PSBlbXB0eUV4cCkgeworI2lmZGVmIERFQlVHX0RFUklWCisJCXByaW50ZigiZGVyaXYgY291bnQ6IG1hdGNoIHRvIGVtcHR5ID0+IG5ldyBjb3VudFxuIik7CisjZW5kaWYKKwkgICAgICAgIHJldHVybih0bXApOworCSAgICB9CisjaWZkZWYgREVCVUdfREVSSVYKKwkgICAgcHJpbnRmKCJkZXJpdiBjb3VudDogbWF0Y2ggPT4gc2VxdWVuY2Ugd2l0aCBuZXcgY291bnRcbiIpOworI2VuZGlmCisJICAgIHJldHVybih4bWxFeHBIYXNoR2V0RW50cnkoY3R4dCwgWE1MX0VYUF9TRVEsIHJldCwgdG1wLAorCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIDAsIDApKTsKKwl9CisgICAgfQorICAgIHJldHVybihOVUxMKTsKK30KKworLyoqCisgKiB4bWxFeHBTdHJpbmdEZXJpdmU6CisgKiBAY3R4dDogdGhlIGV4cHJlc3Npb24gY29udGV4dAorICogQGV4cDogdGhlIGV4cHJlc3Npb24KKyAqIEBzdHI6IHRoZSBzdHJpbmcKKyAqIEBsZW46IHRoZSBzdHJpbmcgbGVuIGluIGJ5dGVzIGlmIGF2YWlsYWJsZQorICoKKyAqIERvIG9uZSBzdGVwIG9mIEJyem96b3dza2kgZGVyaXZhdGlvbiBvZiB0aGUgZXhwcmVzc2lvbiBAZXhwIHdpdGgKKyAqIHJlc3BlY3QgdG8gdGhlIGlucHV0IHN0cmluZworICoKKyAqIFJldHVybnMgdGhlIHJlc3VsdGluZyBleHByZXNzaW9uIG9yIE5VTEwgaW4gY2FzZSBvZiBpbnRlcm5hbCBlcnJvcgorICovCit4bWxFeHBOb2RlUHRyCit4bWxFeHBTdHJpbmdEZXJpdmUoeG1sRXhwQ3R4dFB0ciBjdHh0LCB4bWxFeHBOb2RlUHRyIGV4cCwKKyAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICpzdHIsIGludCBsZW4pIHsKKyAgICBjb25zdCB4bWxDaGFyICppbnB1dDsKKworICAgIGlmICgoZXhwID09IE5VTEwpIHx8IChjdHh0ID09IE5VTEwpIHx8IChzdHIgPT0gTlVMTCkpIHsKKyAgICAgICAgcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICAvKgorICAgICAqIGNoZWNrIHRoZSBzdHJpbmcgaXMgaW4gdGhlIGRpY3Rpb25uYXJ5LCBpZiB5ZXMgdXNlIGFuIGludGVybmVkCisgICAgICogY29weSwgb3RoZXJ3aXNlIHdlIGtub3cgaXQncyBub3QgYW4gYWNjZXB0YWJsZSBpbnB1dAorICAgICAqLworICAgIGlucHV0ID0geG1sRGljdEV4aXN0cyhjdHh0LT5kaWN0LCBzdHIsIGxlbik7CisgICAgaWYgKGlucHV0ID09IE5VTEwpIHsKKyAgICAgICAgcmV0dXJuKGZvcmJpZGRlbkV4cCk7CisgICAgfQorICAgIHJldHVybih4bWxFeHBTdHJpbmdEZXJpdmVJbnQoY3R4dCwgZXhwLCBpbnB1dCkpOworfQorCitzdGF0aWMgaW50Cit4bWxFeHBDaGVja0NhcmQoeG1sRXhwTm9kZVB0ciBleHAsIHhtbEV4cE5vZGVQdHIgc3ViKSB7CisgICAgaW50IHJldCA9IDE7CisKKyAgICBpZiAoc3ViLT5jX21heCA9PSAtMSkgeworICAgICAgICBpZiAoZXhwLT5jX21heCAhPSAtMSkKKwkgICAgcmV0ID0gMDsKKyAgICB9IGVsc2UgaWYgKChleHAtPmNfbWF4ID49IDApICYmIChleHAtPmNfbWF4IDwgc3ViLT5jX21heCkpIHsKKyAgICAgICAgcmV0ID0gMDsKKyAgICB9CisjaWYgMAorICAgIGlmICgoSVNfTklMTEFCTEUoc3ViKSkgJiYgKCFJU19OSUxMQUJMRShleHApKSkKKyAgICAgICAgcmV0ID0gMDsKKyNlbmRpZgorICAgIHJldHVybihyZXQpOworfQorCitzdGF0aWMgeG1sRXhwTm9kZVB0ciB4bWxFeHBFeHBEZXJpdmVJbnQoeG1sRXhwQ3R4dFB0ciBjdHh0LCB4bWxFeHBOb2RlUHRyIGV4cCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxFeHBOb2RlUHRyIHN1Yik7CisvKioKKyAqIHhtbEV4cERpdmlkZToKKyAqIEBjdHh0OiB0aGUgZXhwcmVzc2lvbnMgY29udGV4dAorICogQGV4cDogdGhlIGVuZ2xvYmluZyBleHByZXNzaW9uCisgKiBAc3ViOiB0aGUgc3ViZXhwcmVzc2lvbgorICogQG11bHQ6IHRoZSBtdWx0aXBsZSBleHByZXNzaW9uCisgKiBAcmVtYWluOiB0aGUgcmVtYWluIGZyb20gdGhlIGRlcml2YXRpb24gb2YgdGhlIG11bHRpcGxlCisgKgorICogQ2hlY2sgaWYgZXhwIGlzIGEgbXVsdGlwbGUgb2Ygc3ViLCBpLmUuIGlmIHRoZXJlIGlzIGEgZmluaXRlIG51bWJlciBuCisgKiBzbyB0aGF0IHN1YntufSBzdWJzdW1lIGV4cAorICoKKyAqIFJldHVybnMgdGhlIG11bHRpcGxlIHZhbHVlIGlmIHN1Y2Nlc3NmdWwsIDAgaWYgaXQgaXMgbm90IGEgbXVsdGlwbGUKKyAqICAgICAgICAgYW5kIC0xIGluIGNhc2Ugb2YgaW50ZXJuZWwgZXJyb3IuCisgKi8KKworc3RhdGljIGludAoreG1sRXhwRGl2aWRlKHhtbEV4cEN0eHRQdHIgY3R4dCwgeG1sRXhwTm9kZVB0ciBleHAsIHhtbEV4cE5vZGVQdHIgc3ViLAorICAgICAgICAgICAgIHhtbEV4cE5vZGVQdHIgKm11bHQsIHhtbEV4cE5vZGVQdHIgKnJlbWFpbikgeworICAgIGludCBpOworICAgIHhtbEV4cE5vZGVQdHIgdG1wLCB0bXAyOworCisgICAgaWYgKG11bHQgIT0gTlVMTCkgKm11bHQgPSBOVUxMOworICAgIGlmIChyZW1haW4gIT0gTlVMTCkgKnJlbWFpbiA9IE5VTEw7CisgICAgaWYgKGV4cC0+Y19tYXggPT0gLTEpIHJldHVybigwKTsKKyAgICBpZiAoSVNfTklMTEFCTEUoZXhwKSAmJiAoIUlTX05JTExBQkxFKHN1YikpKSByZXR1cm4oMCk7CisKKyAgICBmb3IgKGkgPSAxO2kgPD0gZXhwLT5jX21heDtpKyspIHsKKyAgICAgICAgc3ViLT5yZWYrKzsKKyAgICAgICAgdG1wID0geG1sRXhwSGFzaEdldEVudHJ5KGN0eHQsIFhNTF9FWFBfQ09VTlQsCisJCQkJIHN1YiwgTlVMTCwgTlVMTCwgaSwgaSk7CisJaWYgKHRtcCA9PSBOVUxMKSB7CisJICAgIHJldHVybigtMSk7CisJfQorCWlmICgheG1sRXhwQ2hlY2tDYXJkKHRtcCwgZXhwKSkgeworCSAgICB4bWxFeHBGcmVlKGN0eHQsIHRtcCk7CisJICAgIGNvbnRpbnVlOworCX0KKwl0bXAyID0geG1sRXhwRXhwRGVyaXZlSW50KGN0eHQsIHRtcCwgZXhwKTsKKwlpZiAodG1wMiA9PSBOVUxMKSB7CisJICAgIHhtbEV4cEZyZWUoY3R4dCwgdG1wKTsKKwkgICAgcmV0dXJuKC0xKTsKKwl9CisJaWYgKCh0bXAyICE9IGZvcmJpZGRlbkV4cCkgJiYgKElTX05JTExBQkxFKHRtcDIpKSkgeworCSAgICBpZiAocmVtYWluICE9IE5VTEwpCisJICAgICAgICAqcmVtYWluID0gdG1wMjsKKwkgICAgZWxzZQorCSAgICAgICAgeG1sRXhwRnJlZShjdHh0LCB0bXAyKTsKKwkgICAgaWYgKG11bHQgIT0gTlVMTCkKKwkgICAgICAgICptdWx0ID0gdG1wOworCSAgICBlbHNlCisJICAgICAgICB4bWxFeHBGcmVlKGN0eHQsIHRtcCk7CisjaWZkZWYgREVCVUdfREVSSVYKKwkgICAgcHJpbnRmKCJEaXZpZGUgc3VjY2VlZGVkICVkXG4iLCBpKTsKKyNlbmRpZgorCSAgICByZXR1cm4oaSk7CisJfQorCXhtbEV4cEZyZWUoY3R4dCwgdG1wKTsKKwl4bWxFeHBGcmVlKGN0eHQsIHRtcDIpOworICAgIH0KKyNpZmRlZiBERUJVR19ERVJJVgorICAgIHByaW50ZigiRGl2aWRlIGZhaWxlZFxuIik7CisjZW5kaWYKKyAgICByZXR1cm4oMCk7Cit9CisKKy8qKgorICogeG1sRXhwRXhwRGVyaXZlSW50OgorICogQGN0eHQ6IHRoZSBleHByZXNzaW9ucyBjb250ZXh0CisgKiBAZXhwOiB0aGUgZW5nbG9iaW5nIGV4cHJlc3Npb24KKyAqIEBzdWI6IHRoZSBzdWJleHByZXNzaW9uCisgKgorICogVHJ5IHRvIGRvIGEgc3RlcCBvZiBCcnpvem93c2tpIGRlcml2YXRpb24gYnV0IGF0IGEgaGlnaGVyIGxldmVsCisgKiB0aGUgaW5wdXQgYmVpbmcgYSBzdWJleHByZXNzaW9uLgorICoKKyAqIFJldHVybnMgdGhlIHJlc3VsdGluZyBleHByZXNzaW9uIG9yIE5VTEwgaW4gY2FzZSBvZiBpbnRlcm5hbCBlcnJvcgorICovCitzdGF0aWMgeG1sRXhwTm9kZVB0cgoreG1sRXhwRXhwRGVyaXZlSW50KHhtbEV4cEN0eHRQdHIgY3R4dCwgeG1sRXhwTm9kZVB0ciBleHAsIHhtbEV4cE5vZGVQdHIgc3ViKSB7CisgICAgeG1sRXhwTm9kZVB0ciByZXQsIHRtcCwgdG1wMiwgdG1wMzsKKyAgICBjb25zdCB4bWxDaGFyICoqdGFiOworICAgIGludCBsZW4sIGk7CisKKyAgICAvKgorICAgICAqIEluIGNhc2Ugb2YgZXF1YWxpdHkgYW5kIGlmIHRoZSBleHByZXNzaW9uIGNhbiBvbmx5IGNvbnN1bWUgYSBmaW5pdGUKKyAgICAgKiBhbW91bnQsIHRoZW4gdGhlIGRlcml2YXRpb24gaXMgZW1wdHkKKyAgICAgKi8KKyAgICBpZiAoKGV4cCA9PSBzdWIpICYmIChleHAtPmNfbWF4ID49IDApKSB7CisjaWZkZWYgREVCVUdfREVSSVYKKyAgICAgICAgcHJpbnRmKCJFcXVhbChleHAsIHN1YikgYW5kIGZpbml0ZSAtPiBFbXB0eVxuIik7CisjZW5kaWYKKyAgICAgICAgcmV0dXJuKGVtcHR5RXhwKTsKKyAgICB9CisgICAgLyoKKyAgICAgKiBkZWNvbXBvc2Ugc3ViIHNlcXVlbmNlIGZpcnN0CisgICAgICovCisgICAgaWYgKHN1Yi0+dHlwZSA9PSBYTUxfRVhQX0VNUFRZKSB7CisjaWZkZWYgREVCVUdfREVSSVYKKyAgICAgICAgcHJpbnRmKCJFbXB0eShzdWIpIC0+IEVtcHR5XG4iKTsKKyNlbmRpZgorCWV4cC0+cmVmKys7CisgICAgICAgIHJldHVybihleHApOworICAgIH0KKyAgICBpZiAoc3ViLT50eXBlID09IFhNTF9FWFBfU0VRKSB7CisjaWZkZWYgREVCVUdfREVSSVYKKyAgICAgICAgcHJpbnRmKCJTZXEoc3ViKSAtPiBkZWNvbXBvc2VcbiIpOworI2VuZGlmCisgICAgICAgIHRtcCA9IHhtbEV4cEV4cERlcml2ZUludChjdHh0LCBleHAsIHN1Yi0+ZXhwX2xlZnQpOworCWlmICh0bXAgPT0gTlVMTCkKKwkgICAgcmV0dXJuKE5VTEwpOworCWlmICh0bXAgPT0gZm9yYmlkZGVuRXhwKQorCSAgICByZXR1cm4odG1wKTsKKwlyZXQgPSB4bWxFeHBFeHBEZXJpdmVJbnQoY3R4dCwgdG1wLCBzdWItPmV4cF9yaWdodCk7CisJeG1sRXhwRnJlZShjdHh0LCB0bXApOworCXJldHVybihyZXQpOworICAgIH0KKyAgICBpZiAoc3ViLT50eXBlID09IFhNTF9FWFBfT1IpIHsKKyNpZmRlZiBERUJVR19ERVJJVgorICAgICAgICBwcmludGYoIk9yKHN1YikgLT4gZGVjb21wb3NlXG4iKTsKKyNlbmRpZgorICAgICAgICB0bXAgPSB4bWxFeHBFeHBEZXJpdmVJbnQoY3R4dCwgZXhwLCBzdWItPmV4cF9sZWZ0KTsKKwlpZiAodG1wID09IGZvcmJpZGRlbkV4cCkKKwkgICAgcmV0dXJuKHRtcCk7CisJaWYgKHRtcCA9PSBOVUxMKQorCSAgICByZXR1cm4oTlVMTCk7CisJcmV0ID0geG1sRXhwRXhwRGVyaXZlSW50KGN0eHQsIGV4cCwgc3ViLT5leHBfcmlnaHQpOworCWlmICgocmV0ID09IE5VTEwpIHx8IChyZXQgPT0gZm9yYmlkZGVuRXhwKSkgeworCSAgICB4bWxFeHBGcmVlKGN0eHQsIHRtcCk7CisJICAgIHJldHVybihyZXQpOworCX0KKwlyZXR1cm4oeG1sRXhwSGFzaEdldEVudHJ5KGN0eHQsIFhNTF9FWFBfT1IsIHRtcCwgcmV0LCBOVUxMLCAwLCAwKSk7CisgICAgfQorICAgIGlmICgheG1sRXhwQ2hlY2tDYXJkKGV4cCwgc3ViKSkgeworI2lmZGVmIERFQlVHX0RFUklWCisgICAgICAgIHByaW50ZigiQ2hlY2tDYXJkKGV4cCwgc3ViKSBmYWlsZWQgLT4gRm9yYmlkXG4iKTsKKyNlbmRpZgorICAgICAgICByZXR1cm4oZm9yYmlkZGVuRXhwKTsKKyAgICB9CisgICAgc3dpdGNoIChleHAtPnR5cGUpIHsKKyAgICAgICAgY2FzZSBYTUxfRVhQX0VNUFRZOgorCSAgICBpZiAoc3ViID09IGVtcHR5RXhwKQorCSAgICAgICAgcmV0dXJuKGVtcHR5RXhwKTsKKyNpZmRlZiBERUJVR19ERVJJVgorCSAgICBwcmludGYoIkVtcHR5KGV4cCkgLT4gRm9yYmlkXG4iKTsKKyNlbmRpZgorCSAgICByZXR1cm4oZm9yYmlkZGVuRXhwKTsKKyAgICAgICAgY2FzZSBYTUxfRVhQX0ZPUkJJRDoKKyNpZmRlZiBERUJVR19ERVJJVgorCSAgICBwcmludGYoIkZvcmJpZChleHApIC0+IEZvcmJpZFxuIik7CisjZW5kaWYKKwkgICAgcmV0dXJuKGZvcmJpZGRlbkV4cCk7CisgICAgICAgIGNhc2UgWE1MX0VYUF9BVE9NOgorCSAgICBpZiAoc3ViLT50eXBlID09IFhNTF9FWFBfQVRPTSkgeworCSAgICAgICAgLyogVE9ETzogaGFuZGxlIHdpbGRjYXJkcyAqLworCSAgICAgICAgaWYgKGV4cC0+ZXhwX3N0ciA9PSBzdWItPmV4cF9zdHIpIHsKKyNpZmRlZiBERUJVR19ERVJJVgorCQkgICAgcHJpbnRmKCJBdG9tIG1hdGNoIC0+IEVtcHR5XG4iKTsKKyNlbmRpZgorCQkgICAgcmV0dXJuKGVtcHR5RXhwKTsKKyAgICAgICAgICAgICAgICB9CisjaWZkZWYgREVCVUdfREVSSVYKKwkJcHJpbnRmKCJBdG9tIG1pc21hdGNoIC0+IEZvcmJpZFxuIik7CisjZW5kaWYKKwkgICAgICAgIHJldHVybihmb3JiaWRkZW5FeHApOworCSAgICB9CisJICAgIGlmICgoc3ViLT50eXBlID09IFhNTF9FWFBfQ09VTlQpICYmCisJICAgICAgICAoc3ViLT5leHBfbWF4ID09IDEpICYmCisJICAgICAgICAoc3ViLT5leHBfbGVmdC0+dHlwZSA9PSBYTUxfRVhQX0FUT00pKSB7CisJICAgICAgICAvKiBUT0RPOiBoYW5kbGUgd2lsZGNhcmRzICovCisJICAgICAgICBpZiAoZXhwLT5leHBfc3RyID09IHN1Yi0+ZXhwX2xlZnQtPmV4cF9zdHIpIHsKKyNpZmRlZiBERUJVR19ERVJJVgorCQkgICAgcHJpbnRmKCJBdG9tIG1hdGNoIC0+IEVtcHR5XG4iKTsKKyNlbmRpZgorCQkgICAgcmV0dXJuKGVtcHR5RXhwKTsKKwkJfQorI2lmZGVmIERFQlVHX0RFUklWCisJCXByaW50ZigiQXRvbSBtaXNtYXRjaCAtPiBGb3JiaWRcbiIpOworI2VuZGlmCisJICAgICAgICByZXR1cm4oZm9yYmlkZGVuRXhwKTsKKwkgICAgfQorI2lmZGVmIERFQlVHX0RFUklWCisJICAgIHByaW50ZigiQ29tcGV4IGV4cCB2cyBBdG9tIC0+IEZvcmJpZFxuIik7CisjZW5kaWYKKwkgICAgcmV0dXJuKGZvcmJpZGRlbkV4cCk7CisgICAgICAgIGNhc2UgWE1MX0VYUF9TRVE6CisJICAgIC8qIHRyeSB0byBnZXQgdGhlIHNlcXVlbmNlIGNvbnN1bWVkIG9ubHkgaWYgcG9zc2libGUgKi8KKwkgICAgaWYgKHhtbEV4cENoZWNrQ2FyZChleHAtPmV4cF9sZWZ0LCBzdWIpKSB7CisJCS8qIFNlZSBpZiB0aGUgc2VxdWVuY2UgY2FuIGJlIGNvbnN1bWVkIGRpcmVjdGx5ICovCisjaWZkZWYgREVCVUdfREVSSVYKKwkJcHJpbnRmKCJTZXEgdHJ5aW5nIGxlZnQgb25seVxuIik7CisjZW5kaWYKKwkJcmV0ID0geG1sRXhwRXhwRGVyaXZlSW50KGN0eHQsIGV4cC0+ZXhwX2xlZnQsIHN1Yik7CisJCWlmICgocmV0ICE9IGZvcmJpZGRlbkV4cCkgJiYgKHJldCAhPSBOVUxMKSkgeworI2lmZGVmIERFQlVHX0RFUklWCisJCSAgICBwcmludGYoIlNlcSB0cnlpbmcgbGVmdCBvbmx5IHdvcmtlZFxuIik7CisjZW5kaWYKKwkJICAgIC8qCisJCSAgICAgKiBUT0RPOiBhc3N1bXB0aW9uIGhlcmUgdGhhdCB3ZSBhcmUgZGV0ZXJtaW5pc3QKKwkJICAgICAqICAgICAgIGkuZS4gd2Ugd29uJ3QgZ2V0IHRvIGEgbmlsbGFibGUgZXhwIGxlZnQKKwkJICAgICAqICAgICAgIHN1YnNldCB3aGljaCBjb3VsZCBiZSBtYXRjaGVkIGJ5IHRoZSByaWdodAorCQkgICAgICogICAgICAgcGFydCB0b28uCisJCSAgICAgKiBlLmcuOiAoYSB8IGIpKywoYSB8IGMpIGFuZCAnYSssYScKKwkJICAgICAqLworCQkgICAgZXhwLT5leHBfcmlnaHQtPnJlZisrOworCQkgICAgcmV0dXJuKHhtbEV4cEhhc2hHZXRFbnRyeShjdHh0LCBYTUxfRVhQX1NFUSwgcmV0LAorCQkJCQkgICAgICBleHAtPmV4cF9yaWdodCwgTlVMTCwgMCwgMCkpOworCQl9CisjaWZkZWYgREVCVUdfREVSSVYKKwkgICAgfSBlbHNlIHsKKwkJcHJpbnRmKCJTZXE6IGxlZnQgdG9vIHNob3J0XG4iKTsKKyNlbmRpZgorCSAgICB9CisJICAgIC8qIFRyeSBpbnN0ZWFkIHRvIGRlY29tcG9zZSAqLworCSAgICBpZiAoc3ViLT50eXBlID09IFhNTF9FWFBfQ09VTlQpIHsKKwkJaW50IG1pbiwgbWF4OworCisjaWZkZWYgREVCVUdfREVSSVYKKwkJcHJpbnRmKCJTZXE6IHN1YiBpcyBhIGNvdW50XG4iKTsKKyNlbmRpZgorCSAgICAgICAgcmV0ID0geG1sRXhwRXhwRGVyaXZlSW50KGN0eHQsIGV4cC0+ZXhwX2xlZnQsIHN1Yi0+ZXhwX2xlZnQpOworCQlpZiAocmV0ID09IE5VTEwpCisJCSAgICByZXR1cm4oTlVMTCk7CisJCWlmIChyZXQgIT0gZm9yYmlkZGVuRXhwKSB7CisjaWZkZWYgREVCVUdfREVSSVYKKwkJICAgIHByaW50ZigiU2VxICwgQ291bnQgbWF0Y2ggb24gbGVmdFxuIik7CisjZW5kaWYKKwkJICAgIGlmIChzdWItPmV4cF9tYXggPCAwKQorCQkgICAgICAgIG1heCA9IC0xOworCSAgICAgICAgICAgIGVsc2UKKwkJICAgICAgICBtYXggPSBzdWItPmV4cF9tYXggLTE7CisJCSAgICBpZiAoc3ViLT5leHBfbWluID4gMCkKKwkJICAgICAgICBtaW4gPSBzdWItPmV4cF9taW4gLTE7CisJCSAgICBlbHNlCisJCSAgICAgICAgbWluID0gMDsKKwkJICAgIGV4cC0+ZXhwX3JpZ2h0LT5yZWYrKzsKKwkJICAgIHRtcCA9IHhtbEV4cEhhc2hHZXRFbnRyeShjdHh0LCBYTUxfRVhQX1NFUSwgcmV0LAorCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cC0+ZXhwX3JpZ2h0LCBOVUxMLCAwLCAwKTsKKwkJICAgIGlmICh0bXAgPT0gTlVMTCkKKwkJICAgICAgICByZXR1cm4oTlVMTCk7CisKKwkJICAgIHN1Yi0+ZXhwX2xlZnQtPnJlZisrOworCQkgICAgdG1wMiA9IHhtbEV4cEhhc2hHZXRFbnRyeShjdHh0LCBYTUxfRVhQX0NPVU5ULAorCQkJCSAgICAgIHN1Yi0+ZXhwX2xlZnQsIE5VTEwsIE5VTEwsIG1pbiwgbWF4KTsKKwkJICAgIGlmICh0bXAyID09IE5VTEwpIHsKKwkJICAgICAgICB4bWxFeHBGcmVlKGN0eHQsIHRtcCk7CisJCQlyZXR1cm4oTlVMTCk7CisJCSAgICB9CisJCSAgICByZXQgPSB4bWxFeHBFeHBEZXJpdmVJbnQoY3R4dCwgdG1wLCB0bXAyKTsKKwkJICAgIHhtbEV4cEZyZWUoY3R4dCwgdG1wKTsKKwkJICAgIHhtbEV4cEZyZWUoY3R4dCwgdG1wMik7CisJCSAgICByZXR1cm4ocmV0KTsKKwkJfQorCSAgICB9CisJICAgIC8qIHdlIG1hZGUgbm8gcHJvZ3Jlc3Mgb24gc3RydWN0dXJlZCBvcGVyYXRpb25zICovCisJICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9FWFBfT1I6CisjaWZkZWYgREVCVUdfREVSSVYKKwkgICAgcHJpbnRmKCJPciAsIHRyeWluZyBib3RoIHNpZGVcbiIpOworI2VuZGlmCisJICAgIHJldCA9IHhtbEV4cEV4cERlcml2ZUludChjdHh0LCBleHAtPmV4cF9sZWZ0LCBzdWIpOworCSAgICBpZiAocmV0ID09IE5VTEwpCisJICAgICAgICByZXR1cm4oTlVMTCk7CisJICAgIHRtcCA9IHhtbEV4cEV4cERlcml2ZUludChjdHh0LCBleHAtPmV4cF9yaWdodCwgc3ViKTsKKwkgICAgaWYgKHRtcCA9PSBOVUxMKSB7CisJCXhtbEV4cEZyZWUoY3R4dCwgcmV0KTsKKwkgICAgICAgIHJldHVybihOVUxMKTsKKwkgICAgfQorCSAgICByZXR1cm4oeG1sRXhwSGFzaEdldEVudHJ5KGN0eHQsIFhNTF9FWFBfT1IsIHJldCwgdG1wLCBOVUxMLCAwLCAwKSk7CisgICAgICAgIGNhc2UgWE1MX0VYUF9DT1VOVDogeworCSAgICBpbnQgbWluLCBtYXg7CisKKwkgICAgaWYgKHN1Yi0+dHlwZSA9PSBYTUxfRVhQX0NPVU5UKSB7CisJICAgICAgICAvKgorCQkgKiBUcnkgdG8gc2VlIGlmIHRoZSBsb29wIGlzIGNvbXBsZXRlbHkgc3Vic3VtZWQKKwkJICovCisJICAgICAgICB0bXAgPSB4bWxFeHBFeHBEZXJpdmVJbnQoY3R4dCwgZXhwLT5leHBfbGVmdCwgc3ViLT5leHBfbGVmdCk7CisJCWlmICh0bXAgPT0gTlVMTCkKKwkJICAgIHJldHVybihOVUxMKTsKKwkJaWYgKHRtcCA9PSBmb3JiaWRkZW5FeHApIHsKKwkJICAgIGludCBtdWx0OworCisjaWZkZWYgREVCVUdfREVSSVYKKwkJICAgIHByaW50ZigiQ291bnQsIENvdW50IGlubmVyIGRvbid0IHN1YnN1bWVcbiIpOworI2VuZGlmCisJCSAgICBtdWx0ID0geG1sRXhwRGl2aWRlKGN0eHQsIHN1Yi0+ZXhwX2xlZnQsIGV4cC0+ZXhwX2xlZnQsCisJCSAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsICZ0bXApOworCQkgICAgaWYgKG11bHQgPD0gMCkgeworI2lmZGVmIERFQlVHX0RFUklWCisJCQlwcmludGYoIkNvdW50LCBDb3VudCBub3QgbXVsdGlwbGUgPT4gZm9yYmlkZGVuXG4iKTsKKyNlbmRpZgorICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuKGZvcmJpZGRlbkV4cCk7CisJCSAgICB9CisJCSAgICBpZiAoc3ViLT5leHBfbWF4ID09IC0xKSB7CisJCSAgICAgICAgbWF4ID0gLTE7CisJCQlpZiAoZXhwLT5leHBfbWF4ID09IC0xKSB7CisJCQkgICAgaWYgKGV4cC0+ZXhwX21pbiA8PSBzdWItPmV4cF9taW4gKiBtdWx0KQorCQkJICAgICAgICBtaW4gPSAwOworCQkJICAgIGVsc2UKKwkJCSAgICAgICAgbWluID0gZXhwLT5leHBfbWluIC0gc3ViLT5leHBfbWluICogbXVsdDsKKwkJCX0gZWxzZSB7CisjaWZkZWYgREVCVUdfREVSSVYKKwkJCSAgICBwcmludGYoIkNvdW50LCBDb3VudCBmaW5pdGUgY2FuJ3Qgc3Vic3VtZSBpbmZpbml0ZVxuIik7CisjZW5kaWYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxFeHBGcmVlKGN0eHQsIHRtcCk7CisJCQkgICAgcmV0dXJuKGZvcmJpZGRlbkV4cCk7CisJCQl9CisJCSAgICB9IGVsc2UgeworCQkJaWYgKGV4cC0+ZXhwX21heCA9PSAtMSkgeworI2lmZGVmIERFQlVHX0RFUklWCisJCQkgICAgcHJpbnRmKCJJbmZpbml0ZSBsb29wIGNvbnN1bWUgbXVsdCBmaW5pdGUgbG9vcFxuIik7CisjZW5kaWYKKwkJCSAgICBpZiAoZXhwLT5leHBfbWluID4gc3ViLT5leHBfbWluICogbXVsdCkgeworCQkJCW1heCA9IC0xOworCQkJCW1pbiA9IGV4cC0+ZXhwX21pbiAtIHN1Yi0+ZXhwX21pbiAqIG11bHQ7CisJCQkgICAgfSBlbHNlIHsKKwkJCQltYXggPSAtMTsKKwkJCQltaW4gPSAwOworCQkJICAgIH0KKwkJCX0gZWxzZSB7CisJCQkgICAgaWYgKGV4cC0+ZXhwX21heCA8IHN1Yi0+ZXhwX21heCAqIG11bHQpIHsKKyNpZmRlZiBERUJVR19ERVJJVgorCQkJCXByaW50ZigibG9vcHMgbWF4IG11bHQgbWlzbWF0Y2ggPT4gZm9yYmlkZGVuXG4iKTsKKyNlbmRpZgorCQkJCXhtbEV4cEZyZWUoY3R4dCwgdG1wKTsKKwkJCQlyZXR1cm4oZm9yYmlkZGVuRXhwKTsKKwkJCSAgICB9CisJCQkgICAgaWYgKHN1Yi0+ZXhwX21heCAqIG11bHQgPiBleHAtPmV4cF9taW4pCisJCQkJbWluID0gMDsKKwkJCSAgICBlbHNlCisJCQkJbWluID0gZXhwLT5leHBfbWluIC0gc3ViLT5leHBfbWF4ICogbXVsdDsKKwkJCSAgICBtYXggPSBleHAtPmV4cF9tYXggLSBzdWItPmV4cF9tYXggKiBtdWx0OworCQkJfQorCQkgICAgfQorCQl9IGVsc2UgaWYgKCFJU19OSUxMQUJMRSh0bXApKSB7CisJCSAgICAvKgorCQkgICAgICogVE9ETzogbG9vcCBoZXJlIHRvIHRyeSB0byBncm93IGlmIHdvcmtpbmcgb24gZmluaXRlCisJCSAgICAgKiAgICAgICBibG9ja3MuCisJCSAgICAgKi8KKyNpZmRlZiBERUJVR19ERVJJVgorCQkgICAgcHJpbnRmKCJDb3VudCwgQ291bnQgcmVtYWluIG5vdCBuaWxsYWJsZSA9PiBmb3JiaWRkZW5cbiIpOworI2VuZGlmCisJCSAgICB4bWxFeHBGcmVlKGN0eHQsIHRtcCk7CisJCSAgICByZXR1cm4oZm9yYmlkZGVuRXhwKTsKKwkJfSBlbHNlIGlmIChzdWItPmV4cF9tYXggPT0gLTEpIHsKKwkJICAgIGlmIChleHAtPmV4cF9tYXggPT0gLTEpIHsKKwkJICAgICAgICBpZiAoZXhwLT5leHBfbWluIDw9IHN1Yi0+ZXhwX21pbikgeworI2lmZGVmIERFQlVHX0RFUklWCisJCQkgICAgcHJpbnRmKCJJbmZpbml0ZSBsb29wcyBPa2F5ID0+IENPVU5UKDAsSW5mKVxuIik7CisjZW5kaWYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXggPSAtMTsKKwkJCSAgICBtaW4gPSAwOworCQkJfSBlbHNlIHsKKyNpZmRlZiBERUJVR19ERVJJVgorCQkJICAgIHByaW50ZigiSW5maW5pdGUgbG9vcHMgbWluID0+IENvdW50KFgsSW5mKVxuIik7CisjZW5kaWYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXggPSAtMTsKKwkJCSAgICBtaW4gPSBleHAtPmV4cF9taW4gLSBzdWItPmV4cF9taW47CisJCQl9CisJCSAgICB9IGVsc2UgaWYgKGV4cC0+ZXhwX21pbiA+IHN1Yi0+ZXhwX21pbikgeworI2lmZGVmIERFQlVHX0RFUklWCisJCQlwcmludGYoImxvb3BzIG1pbiBtaXNtYXRjaCAxID0+IGZvcmJpZGRlbiA/Pz9cbiIpOworI2VuZGlmCisJCSAgICAgICAgeG1sRXhwRnJlZShjdHh0LCB0bXApOworCQkgICAgICAgIHJldHVybihmb3JiaWRkZW5FeHApOworCQkgICAgfSBlbHNlIHsKKwkJCW1heCA9IC0xOworCQkJbWluID0gMDsKKwkJICAgIH0KKwkJfSBlbHNlIHsKKwkJICAgIGlmIChleHAtPmV4cF9tYXggPT0gLTEpIHsKKyNpZmRlZiBERUJVR19ERVJJVgorCQkJcHJpbnRmKCJJbmZpbml0ZSBsb29wIGNvbnN1bWUgZmluaXRlIGxvb3BcbiIpOworI2VuZGlmCisJCSAgICAgICAgaWYgKGV4cC0+ZXhwX21pbiA+IHN1Yi0+ZXhwX21pbikgeworCQkJICAgIG1heCA9IC0xOworCQkJICAgIG1pbiA9IGV4cC0+ZXhwX21pbiAtIHN1Yi0+ZXhwX21pbjsKKwkJCX0gZWxzZSB7CisJCQkgICAgbWF4ID0gLTE7CisJCQkgICAgbWluID0gMDsKKwkJCX0KKwkJICAgIH0gZWxzZSB7CisJCSAgICAgICAgaWYgKGV4cC0+ZXhwX21heCA8IHN1Yi0+ZXhwX21heCkgeworI2lmZGVmIERFQlVHX0RFUklWCisJCQkgICAgcHJpbnRmKCJsb29wcyBtYXggbWlzbWF0Y2ggPT4gZm9yYmlkZGVuXG4iKTsKKyNlbmRpZgorCQkJICAgIHhtbEV4cEZyZWUoY3R4dCwgdG1wKTsKKwkJCSAgICByZXR1cm4oZm9yYmlkZGVuRXhwKTsKKwkJCX0KKwkJCWlmIChzdWItPmV4cF9tYXggPiBleHAtPmV4cF9taW4pCisJCQkgICAgbWluID0gMDsKKwkJCWVsc2UKKwkJCSAgICBtaW4gPSBleHAtPmV4cF9taW4gLSBzdWItPmV4cF9tYXg7CisJCQltYXggPSBleHAtPmV4cF9tYXggLSBzdWItPmV4cF9tYXg7CisJCSAgICB9CisJCX0KKyNpZmRlZiBERUJVR19ERVJJVgorCQlwcmludGYoImxvb3BzIG1hdGNoID0+IFNFUShDT1VOVCgpKVxuIik7CisjZW5kaWYKKwkJZXhwLT5leHBfbGVmdC0+cmVmKys7CisJCXRtcDIgPSB4bWxFeHBIYXNoR2V0RW50cnkoY3R4dCwgWE1MX0VYUF9DT1VOVCwgZXhwLT5leHBfbGVmdCwKKwkJICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCBOVUxMLCBtaW4sIG1heCk7CisJCWlmICh0bXAyID09IE5VTEwpIHsKKwkJICAgIHJldHVybihOVUxMKTsKKwkJfQorICAgICAgICAgICAgICAgIHJldCA9IHhtbEV4cEhhc2hHZXRFbnRyeShjdHh0LCBYTUxfRVhQX1NFUSwgdG1wLCB0bXAyLAorCQkgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgMCwgMCk7CisJCXJldHVybihyZXQpOworCSAgICB9CisJICAgIHRtcCA9IHhtbEV4cEV4cERlcml2ZUludChjdHh0LCBleHAtPmV4cF9sZWZ0LCBzdWIpOworCSAgICBpZiAodG1wID09IE5VTEwpCisJCXJldHVybihOVUxMKTsKKwkgICAgaWYgKHRtcCA9PSBmb3JiaWRkZW5FeHApIHsKKyNpZmRlZiBERUJVR19ERVJJVgorCQlwcmludGYoImxvb3AgbWlzbWF0Y2ggPT4gZm9yYmlkZGVuXG4iKTsKKyNlbmRpZgorCQlyZXR1cm4oZm9yYmlkZGVuRXhwKTsKKwkgICAgfQorCSAgICBpZiAoZXhwLT5leHBfbWluID4gMCkKKwkJbWluID0gZXhwLT5leHBfbWluIC0gMTsKKwkgICAgZWxzZQorCQltaW4gPSAwOworCSAgICBpZiAoZXhwLT5leHBfbWF4IDwgMCkKKwkJbWF4ID0gLTE7CisJICAgIGVsc2UKKwkJbWF4ID0gZXhwLT5leHBfbWF4IC0gMTsKKworI2lmZGVmIERFQlVHX0RFUklWCisJICAgIHByaW50ZigibG9vcCBtYXRjaCA9PiBTRVEoQ09VTlQoKSlcbiIpOworI2VuZGlmCisJICAgIGV4cC0+ZXhwX2xlZnQtPnJlZisrOworCSAgICB0bXAyID0geG1sRXhwSGFzaEdldEVudHJ5KGN0eHQsIFhNTF9FWFBfQ09VTlQsIGV4cC0+ZXhwX2xlZnQsCisJCQkJICAgICAgTlVMTCwgTlVMTCwgbWluLCBtYXgpOworCSAgICBpZiAodG1wMiA9PSBOVUxMKQorCQlyZXR1cm4oTlVMTCk7CisJICAgIHJldCA9IHhtbEV4cEhhc2hHZXRFbnRyeShjdHh0LCBYTUxfRVhQX1NFUSwgdG1wLCB0bXAyLAorCQkJCSAgICAgTlVMTCwgMCwgMCk7CisJICAgIHJldHVybihyZXQpOworCX0KKyAgICB9CisKKyNpZmRlZiBERUJVR19ERVJJVgorICAgIHByaW50ZigiRmFsbGJhY2sgdG8gZGVyaXZhdGl2ZVxuIik7CisjZW5kaWYKKyAgICBpZiAoSVNfTklMTEFCTEUoc3ViKSkgeworICAgICAgICBpZiAoIShJU19OSUxMQUJMRShleHApKSkKKwkgICAgcmV0dXJuKGZvcmJpZGRlbkV4cCk7CisJZWxzZQorCSAgICByZXQgPSBlbXB0eUV4cDsKKyAgICB9IGVsc2UKKwlyZXQgPSBOVUxMOworICAgIC8qCisgICAgICogaGVyZSB0aGUgc3RydWN0dXJlZCBkZXJpdmF0aW9uIG1hZGUgbm8gcHJvZ3Jlc3Mgc28KKyAgICAgKiB3ZSB1c2UgdGhlIGRlZmF1bHQgdG9rZW4gYmFzZWQgZGVyaXZhdGlvbiB0byBmb3JjZSBvbmUgbW9yZSBzdGVwCisgICAgICovCisgICAgaWYgKGN0eHQtPnRhYlNpemUgPT0gMCkKKyAgICAgICAgY3R4dC0+dGFiU2l6ZSA9IDQwOworCisgICAgdGFiID0gKGNvbnN0IHhtbENoYXIgKiopIHhtbE1hbGxvYyhjdHh0LT50YWJTaXplICoKKwkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKGNvbnN0IHhtbENoYXIgKikpOworICAgIGlmICh0YWIgPT0gTlVMTCkgeworCXJldHVybihOVUxMKTsKKyAgICB9CisKKyAgICAvKgorICAgICAqIGNvbGxlY3QgYWxsIHRoZSBzdHJpbmdzIGFjY2VwdGVkIGJ5IHRoZSBzdWJleHByZXNzaW9uIG9uIGlucHV0CisgICAgICovCisgICAgbGVuID0geG1sRXhwR2V0U3RhcnRJbnQoY3R4dCwgc3ViLCB0YWIsIGN0eHQtPnRhYlNpemUsIDApOworICAgIHdoaWxlIChsZW4gPCAwKSB7CisgICAgICAgIGNvbnN0IHhtbENoYXIgKip0ZW1wOworCXRlbXAgPSAoY29uc3QgeG1sQ2hhciAqKikgeG1sUmVhbGxvYygoeG1sQ2hhciAqKikgdGFiLCBjdHh0LT50YWJTaXplICogMiAqCisJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihjb25zdCB4bWxDaGFyICopKTsKKwlpZiAodGVtcCA9PSBOVUxMKSB7CisJICAgIHhtbEZyZWUoKHhtbENoYXIgKiopIHRhYik7CisJICAgIHJldHVybihOVUxMKTsKKwl9CisJdGFiID0gdGVtcDsKKwljdHh0LT50YWJTaXplICo9IDI7CisJbGVuID0geG1sRXhwR2V0U3RhcnRJbnQoY3R4dCwgc3ViLCB0YWIsIGN0eHQtPnRhYlNpemUsIDApOworICAgIH0KKyAgICBmb3IgKGkgPSAwO2kgPCBsZW47aSsrKSB7CisgICAgICAgIHRtcCA9IHhtbEV4cFN0cmluZ0Rlcml2ZUludChjdHh0LCBleHAsIHRhYltpXSk7CisJaWYgKCh0bXAgPT0gTlVMTCkgfHwgKHRtcCA9PSBmb3JiaWRkZW5FeHApKSB7CisJICAgIHhtbEV4cEZyZWUoY3R4dCwgcmV0KTsKKwkgICAgeG1sRnJlZSgoeG1sQ2hhciAqKikgdGFiKTsKKwkgICAgcmV0dXJuKHRtcCk7CisJfQorCXRtcDIgPSB4bWxFeHBTdHJpbmdEZXJpdmVJbnQoY3R4dCwgc3ViLCB0YWJbaV0pOworCWlmICgodG1wMiA9PSBOVUxMKSB8fCAodG1wMiA9PSBmb3JiaWRkZW5FeHApKSB7CisJICAgIHhtbEV4cEZyZWUoY3R4dCwgdG1wKTsKKwkgICAgeG1sRXhwRnJlZShjdHh0LCByZXQpOworCSAgICB4bWxGcmVlKCh4bWxDaGFyICoqKSB0YWIpOworCSAgICByZXR1cm4odG1wKTsKKwl9CisJdG1wMyA9IHhtbEV4cEV4cERlcml2ZUludChjdHh0LCB0bXAsIHRtcDIpOworCXhtbEV4cEZyZWUoY3R4dCwgdG1wKTsKKwl4bWxFeHBGcmVlKGN0eHQsIHRtcDIpOworCisJaWYgKCh0bXAzID09IE5VTEwpIHx8ICh0bXAzID09IGZvcmJpZGRlbkV4cCkpIHsKKwkgICAgeG1sRXhwRnJlZShjdHh0LCByZXQpOworCSAgICB4bWxGcmVlKCh4bWxDaGFyICoqKSB0YWIpOworCSAgICByZXR1cm4odG1wMyk7CisJfQorCisJaWYgKHJldCA9PSBOVUxMKQorCSAgICByZXQgPSB0bXAzOworCWVsc2UgeworCSAgICByZXQgPSB4bWxFeHBIYXNoR2V0RW50cnkoY3R4dCwgWE1MX0VYUF9PUiwgcmV0LCB0bXAzLCBOVUxMLCAwLCAwKTsKKwkgICAgaWYgKHJldCA9PSBOVUxMKSB7CisJCXhtbEZyZWUoKHhtbENoYXIgKiopIHRhYik7CisJICAgICAgICByZXR1cm4oTlVMTCk7CisJICAgIH0KKwl9CisgICAgfQorICAgIHhtbEZyZWUoKHhtbENoYXIgKiopIHRhYik7CisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogeG1sRXhwRXhwRGVyaXZlOgorICogQGN0eHQ6IHRoZSBleHByZXNzaW9ucyBjb250ZXh0CisgKiBAZXhwOiB0aGUgZW5nbG9iaW5nIGV4cHJlc3Npb24KKyAqIEBzdWI6IHRoZSBzdWJleHByZXNzaW9uCisgKgorICogRXZhbHVhdGVzIHRoZSBleHByZXNzaW9uIHJlc3VsdGluZyBmcm9tIEBleHAgY29uc3VtaW5nIGEgc3ViIGV4cHJlc3Npb24gQHN1YgorICogQmFzZWQgb24gYWxnZWJyYWljIGRlcml2YXRpb24gYW5kIHNvbWV0aW1lcyBkaXJlY3QgQnJ6b3pvd3NraSBkZXJpdmF0aW9uCisgKiBpdCB1c3VhbGx5IHRhdGtlcyBsZXNzIHRoYW4gbGluZWFyIHRpbWUgYW5kIGNhbiBoYW5kbGUgZXhwcmVzc2lvbnMgZ2VuZXJhdGluZworICogaW5maW5pdGUgbGFuZ3VhZ2VzLgorICoKKyAqIFJldHVybnMgdGhlIHJlc3VsdGluZyBleHByZXNzaW9uIG9yIE5VTEwgaW4gY2FzZSBvZiBpbnRlcm5hbCBlcnJvciwgdGhlCisgKiAgICAgICAgIHJlc3VsdCBtdXN0IGJlIGZyZWVkCisgKi8KK3htbEV4cE5vZGVQdHIKK3htbEV4cEV4cERlcml2ZSh4bWxFeHBDdHh0UHRyIGN0eHQsIHhtbEV4cE5vZGVQdHIgZXhwLCB4bWxFeHBOb2RlUHRyIHN1YikgeworICAgIGlmICgoZXhwID09IE5VTEwpIHx8IChjdHh0ID09IE5VTEwpIHx8IChzdWIgPT0gTlVMTCkpCisgICAgICAgIHJldHVybihOVUxMKTsKKworICAgIC8qCisgICAgICogTygxKSBzcGVlZHVwcworICAgICAqLworICAgIGlmIChJU19OSUxMQUJMRShzdWIpICYmICghSVNfTklMTEFCTEUoZXhwKSkpIHsKKyNpZmRlZiBERUJVR19ERVJJVgorCXByaW50ZigiU3ViIG5pbGxhYmxlIGFuZCBub3QgZXhwIDogY2FuJ3Qgc3Vic3VtZVxuIik7CisjZW5kaWYKKyAgICAgICAgcmV0dXJuKGZvcmJpZGRlbkV4cCk7CisgICAgfQorICAgIGlmICh4bWxFeHBDaGVja0NhcmQoZXhwLCBzdWIpID09IDApIHsKKyNpZmRlZiBERUJVR19ERVJJVgorCXByaW50Zigic3ViIGdlbmVyYXRlIGxvbmd1ZXIgc2VxdWFuY2VzIHRoYW4gZXhwIDogY2FuJ3Qgc3Vic3VtZVxuIik7CisjZW5kaWYKKyAgICAgICAgcmV0dXJuKGZvcmJpZGRlbkV4cCk7CisgICAgfQorICAgIHJldHVybih4bWxFeHBFeHBEZXJpdmVJbnQoY3R4dCwgZXhwLCBzdWIpKTsKK30KKworLyoqCisgKiB4bWxFeHBTdWJzdW1lOgorICogQGN0eHQ6IHRoZSBleHByZXNzaW9ucyBjb250ZXh0CisgKiBAZXhwOiB0aGUgZW5nbG9iaW5nIGV4cHJlc3Npb24KKyAqIEBzdWI6IHRoZSBzdWJleHByZXNzaW9uCisgKgorICogQ2hlY2sgd2hldGhlciBAZXhwIGFjY2VwdHMgYWxsIHRoZSBsYW5ndWFnZXMgYWNjZXhwdGVkIGJ5IEBzdWIKKyAqIHRoZSBpbnB1dCBiZWluZyBhIHN1YmV4cHJlc3Npb24uCisgKgorICogUmV0dXJucyAxIGlmIHRydWUgMCBpZiBmYWxzZSBhbmQgLTEgaW4gY2FzZSBvZiBmYWlsdXJlLgorICovCitpbnQKK3htbEV4cFN1YnN1bWUoeG1sRXhwQ3R4dFB0ciBjdHh0LCB4bWxFeHBOb2RlUHRyIGV4cCwgeG1sRXhwTm9kZVB0ciBzdWIpIHsKKyAgICB4bWxFeHBOb2RlUHRyIHRtcDsKKworICAgIGlmICgoZXhwID09IE5VTEwpIHx8IChjdHh0ID09IE5VTEwpIHx8IChzdWIgPT0gTlVMTCkpCisgICAgICAgIHJldHVybigtMSk7CisKKyAgICAvKgorICAgICAqIFRPRE86IHNwZWVkdXAgYnkgY2hlY2tpbmcgdGhlIGxhbmd1YWdlIG9mIHN1YiBpcyBhIHN1YnNldCBvZiB0aGUKKyAgICAgKiAgICAgICBsYW5ndWFnZSBvZiBleHAKKyAgICAgKi8KKyAgICAvKgorICAgICAqIE8oMSkgc3BlZWR1cHMKKyAgICAgKi8KKyAgICBpZiAoSVNfTklMTEFCTEUoc3ViKSAmJiAoIUlTX05JTExBQkxFKGV4cCkpKSB7CisjaWZkZWYgREVCVUdfREVSSVYKKwlwcmludGYoIlN1YiBuaWxsYWJsZSBhbmQgbm90IGV4cCA6IGNhbid0IHN1YnN1bWVcbiIpOworI2VuZGlmCisgICAgICAgIHJldHVybigwKTsKKyAgICB9CisgICAgaWYgKHhtbEV4cENoZWNrQ2FyZChleHAsIHN1YikgPT0gMCkgeworI2lmZGVmIERFQlVHX0RFUklWCisJcHJpbnRmKCJzdWIgZ2VuZXJhdGUgbG9uZ3VlciBzZXF1YW5jZXMgdGhhbiBleHAgOiBjYW4ndCBzdWJzdW1lXG4iKTsKKyNlbmRpZgorICAgICAgICByZXR1cm4oMCk7CisgICAgfQorICAgIHRtcCA9IHhtbEV4cEV4cERlcml2ZUludChjdHh0LCBleHAsIHN1Yik7CisjaWZkZWYgREVCVUdfREVSSVYKKyAgICBwcmludGYoIlJlc3VsdCBkZXJpdmF0aW9uIDpcbiIpOworICAgIFBSSU5UX0VYUCh0bXApOworI2VuZGlmCisgICAgaWYgKHRtcCA9PSBOVUxMKQorICAgICAgICByZXR1cm4oLTEpOworICAgIGlmICh0bXAgPT0gZm9yYmlkZGVuRXhwKQorCXJldHVybigwKTsKKyAgICBpZiAodG1wID09IGVtcHR5RXhwKQorCXJldHVybigxKTsKKyAgICBpZiAoKHRtcCAhPSBOVUxMKSAmJiAoSVNfTklMTEFCTEUodG1wKSkpIHsKKyAgICAgICAgeG1sRXhwRnJlZShjdHh0LCB0bXApOworICAgICAgICByZXR1cm4oMSk7CisgICAgfQorICAgIHhtbEV4cEZyZWUoY3R4dCwgdG1wKTsKKyAgICByZXR1cm4oMCk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCQlQYXJzaW5nIGV4cHJlc3Npb24JCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitzdGF0aWMgeG1sRXhwTm9kZVB0ciB4bWxFeHBQYXJzZUV4cHIoeG1sRXhwQ3R4dFB0ciBjdHh0KTsKKworI3VuZGVmIENVUgorI2RlZmluZSBDVVIgKCpjdHh0LT5jdXIpCisjdW5kZWYgTkVYVAorI2RlZmluZSBORVhUIGN0eHQtPmN1cisrOworI3VuZGVmIElTX0JMQU5LCisjZGVmaW5lIElTX0JMQU5LKGMpICgoYyA9PSAnICcpIHx8IChjID09ICdcbicpIHx8IChjID09ICdccicpIHx8IChjID09ICdcdCcpKQorI2RlZmluZSBTS0lQX0JMQU5LUyB3aGlsZSAoSVNfQkxBTksoKmN0eHQtPmN1cikpIGN0eHQtPmN1cisrOworCitzdGF0aWMgaW50Cit4bWxFeHBQYXJzZU51bWJlcih4bWxFeHBDdHh0UHRyIGN0eHQpIHsKKyAgICBpbnQgcmV0ID0gMDsKKworICAgIFNLSVBfQkxBTktTCisgICAgaWYgKENVUiA9PSAnKicpIHsKKwlORVhUCisJcmV0dXJuKC0xKTsKKyAgICB9CisgICAgaWYgKChDVVIgPCAnMCcpIHx8IChDVVIgPiAnOScpKQorICAgICAgICByZXR1cm4oLTEpOworICAgIHdoaWxlICgoQ1VSID49ICcwJykgJiYgKENVUiA8PSAnOScpKSB7CisgICAgICAgIHJldCA9IHJldCAqIDEwICsgKENVUiAtICcwJyk7CisJTkVYVAorICAgIH0KKyAgICByZXR1cm4ocmV0KTsKK30KKworc3RhdGljIHhtbEV4cE5vZGVQdHIKK3htbEV4cFBhcnNlT3IoeG1sRXhwQ3R4dFB0ciBjdHh0KSB7CisgICAgY29uc3QgY2hhciAqYmFzZTsKKyAgICB4bWxFeHBOb2RlUHRyIHJldDsKKyAgICBjb25zdCB4bWxDaGFyICp2YWw7CisKKyAgICBTS0lQX0JMQU5LUworICAgIGJhc2UgPSBjdHh0LT5jdXI7CisgICAgaWYgKCpjdHh0LT5jdXIgPT0gJygnKSB7CisgICAgICAgIE5FWFQKKwlyZXQgPSB4bWxFeHBQYXJzZUV4cHIoY3R4dCk7CisJU0tJUF9CTEFOS1MKKwlpZiAoKmN0eHQtPmN1ciAhPSAnKScpIHsKKwkgICAgZnByaW50ZihzdGRlcnIsICJ1bmJhbGFuY2VkICcoJyA6ICVzXG4iLCBiYXNlKTsKKwkgICAgeG1sRXhwRnJlZShjdHh0LCByZXQpOworCSAgICByZXR1cm4oTlVMTCk7CisJfQorCU5FWFQ7CisJU0tJUF9CTEFOS1MKKwlnb3RvIHBhcnNlX3F1YW50aWZpZXI7CisgICAgfQorICAgIHdoaWxlICgoQ1VSICE9IDApICYmICghKElTX0JMQU5LKENVUikpKSAmJiAoQ1VSICE9ICcoJykgJiYKKyAgICAgICAgICAgKENVUiAhPSAnKScpICYmIChDVVIgIT0gJ3wnKSAmJiAoQ1VSICE9ICcsJykgJiYgKENVUiAhPSAneycpICYmCisJICAgKENVUiAhPSAnKicpICYmIChDVVIgIT0gJysnKSAmJiAoQ1VSICE9ICc/JykgJiYgKENVUiAhPSAnfScpKQorCU5FWFQ7CisgICAgdmFsID0geG1sRGljdExvb2t1cChjdHh0LT5kaWN0LCBCQURfQ0FTVCBiYXNlLCBjdHh0LT5jdXIgLSBiYXNlKTsKKyAgICBpZiAodmFsID09IE5VTEwpCisgICAgICAgIHJldHVybihOVUxMKTsKKyAgICByZXQgPSB4bWxFeHBIYXNoR2V0RW50cnkoY3R4dCwgWE1MX0VYUF9BVE9NLCBOVUxMLCBOVUxMLCB2YWwsIDAsIDApOworICAgIGlmIChyZXQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuKE5VTEwpOworICAgIFNLSVBfQkxBTktTCitwYXJzZV9xdWFudGlmaWVyOgorICAgIGlmIChDVVIgPT0gJ3snKSB7CisgICAgICAgIGludCBtaW4sIG1heDsKKworICAgICAgICBORVhUCisJbWluID0geG1sRXhwUGFyc2VOdW1iZXIoY3R4dCk7CisJaWYgKG1pbiA8IDApIHsKKwkgICAgeG1sRXhwRnJlZShjdHh0LCByZXQpOworCSAgICByZXR1cm4oTlVMTCk7CisJfQorCVNLSVBfQkxBTktTCisJaWYgKENVUiA9PSAnLCcpIHsKKwkgICAgTkVYVAorCSAgICBtYXggPSB4bWxFeHBQYXJzZU51bWJlcihjdHh0KTsKKwkgICAgU0tJUF9CTEFOS1MKKwl9IGVsc2UKKwkgICAgbWF4ID0gbWluOworCWlmIChDVVIgIT0gJ30nKSB7CisJICAgIHhtbEV4cEZyZWUoY3R4dCwgcmV0KTsKKwkgICAgcmV0dXJuKE5VTEwpOworCX0KKyAgICAgICAgTkVYVAorCXJldCA9IHhtbEV4cEhhc2hHZXRFbnRyeShjdHh0LCBYTUxfRVhQX0NPVU5ULCByZXQsIE5VTEwsIE5VTEwsCisJICAgICAgICAgICAgICAgICAgICAgICAgIG1pbiwgbWF4KTsKKwlTS0lQX0JMQU5LUworICAgIH0gZWxzZSBpZiAoQ1VSID09ICc/JykgeworICAgICAgICBORVhUCisJcmV0ID0geG1sRXhwSGFzaEdldEVudHJ5KGN0eHQsIFhNTF9FWFBfQ09VTlQsIHJldCwgTlVMTCwgTlVMTCwKKwkgICAgICAgICAgICAgICAgICAgICAgICAgMCwgMSk7CisJU0tJUF9CTEFOS1MKKyAgICB9IGVsc2UgaWYgKENVUiA9PSAnKycpIHsKKyAgICAgICAgTkVYVAorCXJldCA9IHhtbEV4cEhhc2hHZXRFbnRyeShjdHh0LCBYTUxfRVhQX0NPVU5ULCByZXQsIE5VTEwsIE5VTEwsCisJICAgICAgICAgICAgICAgICAgICAgICAgIDEsIC0xKTsKKwlTS0lQX0JMQU5LUworICAgIH0gZWxzZSBpZiAoQ1VSID09ICcqJykgeworICAgICAgICBORVhUCisJcmV0ID0geG1sRXhwSGFzaEdldEVudHJ5KGN0eHQsIFhNTF9FWFBfQ09VTlQsIHJldCwgTlVMTCwgTlVMTCwKKwkgICAgICAgICAgICAgICAgICAgICAgICAgMCwgLTEpOworCVNLSVBfQkxBTktTCisgICAgfQorICAgIHJldHVybihyZXQpOworfQorCisKK3N0YXRpYyB4bWxFeHBOb2RlUHRyCit4bWxFeHBQYXJzZVNlcSh4bWxFeHBDdHh0UHRyIGN0eHQpIHsKKyAgICB4bWxFeHBOb2RlUHRyIHJldCwgcmlnaHQ7CisKKyAgICByZXQgPSB4bWxFeHBQYXJzZU9yKGN0eHQpOworICAgIFNLSVBfQkxBTktTCisgICAgd2hpbGUgKENVUiA9PSAnfCcpIHsKKyAgICAgICAgTkVYVAorCXJpZ2h0ID0geG1sRXhwUGFyc2VPcihjdHh0KTsKKwlpZiAocmlnaHQgPT0gTlVMTCkgeworCSAgICB4bWxFeHBGcmVlKGN0eHQsIHJldCk7CisJICAgIHJldHVybihOVUxMKTsKKwl9CisJcmV0ID0geG1sRXhwSGFzaEdldEVudHJ5KGN0eHQsIFhNTF9FWFBfT1IsIHJldCwgcmlnaHQsIE5VTEwsIDAsIDApOworCWlmIChyZXQgPT0gTlVMTCkKKwkgICAgcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICByZXR1cm4ocmV0KTsKK30KKworc3RhdGljIHhtbEV4cE5vZGVQdHIKK3htbEV4cFBhcnNlRXhwcih4bWxFeHBDdHh0UHRyIGN0eHQpIHsKKyAgICB4bWxFeHBOb2RlUHRyIHJldCwgcmlnaHQ7CisKKyAgICByZXQgPSB4bWxFeHBQYXJzZVNlcShjdHh0KTsKKyAgICBTS0lQX0JMQU5LUworICAgIHdoaWxlIChDVVIgPT0gJywnKSB7CisgICAgICAgIE5FWFQKKwlyaWdodCA9IHhtbEV4cFBhcnNlU2VxKGN0eHQpOworCWlmIChyaWdodCA9PSBOVUxMKSB7CisJICAgIHhtbEV4cEZyZWUoY3R4dCwgcmV0KTsKKwkgICAgcmV0dXJuKE5VTEwpOworCX0KKwlyZXQgPSB4bWxFeHBIYXNoR2V0RW50cnkoY3R4dCwgWE1MX0VYUF9TRVEsIHJldCwgcmlnaHQsIE5VTEwsIDAsIDApOworCWlmIChyZXQgPT0gTlVMTCkKKwkgICAgcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxFeHBQYXJzZToKKyAqIEBjdHh0OiB0aGUgZXhwcmVzc2lvbnMgY29udGV4dAorICogQGV4cHI6IHRoZSAwIHRlcm1pbmF0ZWQgc3RyaW5nCisgKgorICogTWluaW1hbCBwYXJzZXIgZm9yIHJlZ2V4cHMsIGl0IHVuZGVyc3RhbmQgdGhlIGZvbGxvd2luZyBjb25zdHJ1Y3RzCisgKiAgLSBzdHJpbmcgdGVybWluYWxzCisgKiAgLSBjaG9pY2Ugb3BlcmF0b3IgfAorICogIC0gc2VxdWVuY2Ugb3BlcmF0b3IgLAorICogIC0gc3ViZXhwcmVzc2lvbnMgKC4uLikKKyAqICAtIHVzdWFsIGNhcmRpbmFsaXR5IG9wZXJhdG9ycyArICogYW5kID8KKyAqICAtIGZpbml0ZSBzZXF1ZW5jZXMgIHsgbWluLCBtYXggfQorICogIC0gaW5maW5pdGUgc2VxdWVuY2VzIHsgbWluLCAqIH0KKyAqIFRoZXJlIGlzIG1pbmltYWwgY2hlY2tpbmdzIG1hZGUgZXNwZWNpYWxseSBubyBjaGVja2luZyBvbiBzdHJpbmdzIHZhbHVlcworICoKKyAqIFJldHVybnMgYSBuZXcgZXhwcmVzc2lvbiBvciBOVUxMIGluIGNhc2Ugb2YgZmFpbHVyZQorICovCit4bWxFeHBOb2RlUHRyCit4bWxFeHBQYXJzZSh4bWxFeHBDdHh0UHRyIGN0eHQsIGNvbnN0IGNoYXIgKmV4cHIpIHsKKyAgICB4bWxFeHBOb2RlUHRyIHJldDsKKworICAgIGN0eHQtPmV4cHIgPSBleHByOworICAgIGN0eHQtPmN1ciA9IGV4cHI7CisKKyAgICByZXQgPSB4bWxFeHBQYXJzZUV4cHIoY3R4dCk7CisgICAgU0tJUF9CTEFOS1MKKyAgICBpZiAoKmN0eHQtPmN1ciAhPSAwKSB7CisgICAgICAgIHhtbEV4cEZyZWUoY3R4dCwgcmV0KTsKKyAgICAgICAgcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICByZXR1cm4ocmV0KTsKK30KKworc3RhdGljIHZvaWQKK3htbEV4cER1bXBJbnQoeG1sQnVmZmVyUHRyIGJ1ZiwgeG1sRXhwTm9kZVB0ciBleHByLCBpbnQgZ2xvYikgeworICAgIHhtbEV4cE5vZGVQdHIgYzsKKworICAgIGlmIChleHByID09IE5VTEwpIHJldHVybjsKKyAgICBpZiAoZ2xvYikgeG1sQnVmZmVyV3JpdGVDaGFyKGJ1ZiwgIigiKTsKKyAgICBzd2l0Y2ggKGV4cHItPnR5cGUpIHsKKyAgICAgICAgY2FzZSBYTUxfRVhQX0VNUFRZOgorCSAgICB4bWxCdWZmZXJXcml0ZUNoYXIoYnVmLCAiZW1wdHkiKTsKKwkgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0VYUF9GT1JCSUQ6CisJICAgIHhtbEJ1ZmZlcldyaXRlQ2hhcihidWYsICJmb3JiaWRkZW4iKTsKKwkgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0VYUF9BVE9NOgorCSAgICB4bWxCdWZmZXJXcml0ZUNIQVIoYnVmLCBleHByLT5leHBfc3RyKTsKKwkgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0VYUF9TRVE6CisJICAgIGMgPSBleHByLT5leHBfbGVmdDsKKwkgICAgaWYgKChjLT50eXBlID09IFhNTF9FWFBfU0VRKSB8fCAoYy0+dHlwZSA9PSBYTUxfRVhQX09SKSkKKwkgICAgICAgIHhtbEV4cER1bXBJbnQoYnVmLCBjLCAxKTsKKwkgICAgZWxzZQorCSAgICAgICAgeG1sRXhwRHVtcEludChidWYsIGMsIDApOworCSAgICB4bWxCdWZmZXJXcml0ZUNoYXIoYnVmLCAiICwgIik7CisJICAgIGMgPSBleHByLT5leHBfcmlnaHQ7CisJICAgIGlmICgoYy0+dHlwZSA9PSBYTUxfRVhQX1NFUSkgfHwgKGMtPnR5cGUgPT0gWE1MX0VYUF9PUikpCisJICAgICAgICB4bWxFeHBEdW1wSW50KGJ1ZiwgYywgMSk7CisJICAgIGVsc2UKKwkgICAgICAgIHhtbEV4cER1bXBJbnQoYnVmLCBjLCAwKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9FWFBfT1I6CisJICAgIGMgPSBleHByLT5leHBfbGVmdDsKKwkgICAgaWYgKChjLT50eXBlID09IFhNTF9FWFBfU0VRKSB8fCAoYy0+dHlwZSA9PSBYTUxfRVhQX09SKSkKKwkgICAgICAgIHhtbEV4cER1bXBJbnQoYnVmLCBjLCAxKTsKKwkgICAgZWxzZQorCSAgICAgICAgeG1sRXhwRHVtcEludChidWYsIGMsIDApOworCSAgICB4bWxCdWZmZXJXcml0ZUNoYXIoYnVmLCAiIHwgIik7CisJICAgIGMgPSBleHByLT5leHBfcmlnaHQ7CisJICAgIGlmICgoYy0+dHlwZSA9PSBYTUxfRVhQX1NFUSkgfHwgKGMtPnR5cGUgPT0gWE1MX0VYUF9PUikpCisJICAgICAgICB4bWxFeHBEdW1wSW50KGJ1ZiwgYywgMSk7CisJICAgIGVsc2UKKwkgICAgICAgIHhtbEV4cER1bXBJbnQoYnVmLCBjLCAwKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9FWFBfQ09VTlQ6IHsKKwkgICAgY2hhciByZXBbNDBdOworCisJICAgIGMgPSBleHByLT5leHBfbGVmdDsKKwkgICAgaWYgKChjLT50eXBlID09IFhNTF9FWFBfU0VRKSB8fCAoYy0+dHlwZSA9PSBYTUxfRVhQX09SKSkKKwkgICAgICAgIHhtbEV4cER1bXBJbnQoYnVmLCBjLCAxKTsKKwkgICAgZWxzZQorCSAgICAgICAgeG1sRXhwRHVtcEludChidWYsIGMsIDApOworCSAgICBpZiAoKGV4cHItPmV4cF9taW4gPT0gMCkgJiYgKGV4cHItPmV4cF9tYXggPT0gMSkpIHsKKwkJcmVwWzBdID0gJz8nOworCQlyZXBbMV0gPSAwOworCSAgICB9IGVsc2UgaWYgKChleHByLT5leHBfbWluID09IDApICYmIChleHByLT5leHBfbWF4ID09IC0xKSkgeworCQlyZXBbMF0gPSAnKic7CisJCXJlcFsxXSA9IDA7CisJICAgIH0gZWxzZSBpZiAoKGV4cHItPmV4cF9taW4gPT0gMSkgJiYgKGV4cHItPmV4cF9tYXggPT0gLTEpKSB7CisJCXJlcFswXSA9ICcrJzsKKwkJcmVwWzFdID0gMDsKKwkgICAgfSBlbHNlIGlmIChleHByLT5leHBfbWF4ID09IGV4cHItPmV4cF9taW4pIHsKKwkgICAgICAgIHNucHJpbnRmKHJlcCwgMzksICJ7JWR9IiwgZXhwci0+ZXhwX21pbik7CisJICAgIH0gZWxzZSBpZiAoZXhwci0+ZXhwX21heCA8IDApIHsKKwkgICAgICAgIHNucHJpbnRmKHJlcCwgMzksICJ7JWQsaW5mfSIsIGV4cHItPmV4cF9taW4pOworCSAgICB9IGVsc2UgeworCSAgICAgICAgc25wcmludGYocmVwLCAzOSwgInslZCwlZH0iLCBleHByLT5leHBfbWluLCBleHByLT5leHBfbWF4KTsKKwkgICAgfQorCSAgICByZXBbMzldID0gMDsKKwkgICAgeG1sQnVmZmVyV3JpdGVDaGFyKGJ1ZiwgcmVwKTsKKwkgICAgYnJlYWs7CisJfQorCWRlZmF1bHQ6CisJICAgIGZwcmludGYoc3RkZXJyLCAiRXJyb3IgaW4gdHJlZVxuIik7CisgICAgfQorICAgIGlmIChnbG9iKQorICAgICAgICB4bWxCdWZmZXJXcml0ZUNoYXIoYnVmLCAiKSIpOworfQorLyoqCisgKiB4bWxFeHBEdW1wOgorICogQGJ1ZjogIGEgYnVmZmVyIHRvIHJlY2VpdmUgdGhlIG91dHB1dAorICogQGV4cHI6ICB0aGUgY29tcGlsZWQgZXhwcmVzc2lvbgorICoKKyAqIFNlcmlhbGl6ZSB0aGUgZXhwcmVzc2lvbiBhcyBjb21waWxlZCB0byB0aGUgYnVmZmVyCisgKi8KK3ZvaWQKK3htbEV4cER1bXAoeG1sQnVmZmVyUHRyIGJ1ZiwgeG1sRXhwTm9kZVB0ciBleHByKSB7CisgICAgaWYgKChidWYgPT0gTlVMTCkgfHwgKGV4cHIgPT0gTlVMTCkpCisgICAgICAgIHJldHVybjsKKyAgICB4bWxFeHBEdW1wSW50KGJ1ZiwgZXhwciwgMCk7Cit9CisKKy8qKgorICogeG1sRXhwTWF4VG9rZW46CisgKiBAZXhwcjogYSBjb21waWxlZCBleHByZXNzaW9uCisgKgorICogSW5kaWNhdGUgdGhlIG1heGltdW0gbnVtYmVyIG9mIGlucHV0IGEgZXhwcmVzc2lvbiBjYW4gYWNjZXB0CisgKgorICogUmV0dXJucyB0aGUgbWF4aW11bSBsZW5ndGggb3IgLTEgaW4gY2FzZSBvZiBlcnJvcgorICovCitpbnQKK3htbEV4cE1heFRva2VuKHhtbEV4cE5vZGVQdHIgZXhwcikgeworICAgIGlmIChleHByID09IE5VTEwpCisgICAgICAgIHJldHVybigtMSk7CisgICAgcmV0dXJuKGV4cHItPmNfbWF4KTsKK30KKworLyoqCisgKiB4bWxFeHBDdHh0TmJOb2RlczoKKyAqIEBjdHh0OiBhbiBleHByZXNzaW9uIGNvbnRleHQKKyAqCisgKiBEZWJ1Z2dpbmcgZmFjaWxpdHkgcHJvdmlkZXMgdGhlIG51bWJlciBvZiBhbGxvY2F0ZWQgbm9kZXMgYXQgYSB0aGF0IHBvaW50CisgKgorICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIG5vZGVzIGluIHVzZSBvciAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK2ludAoreG1sRXhwQ3R4dE5iTm9kZXMoeG1sRXhwQ3R4dFB0ciBjdHh0KSB7CisgICAgaWYgKGN0eHQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuKC0xKTsKKyAgICByZXR1cm4oY3R4dC0+bmJfbm9kZXMpOworfQorCisvKioKKyAqIHhtbEV4cEN0eHROYkNvbnM6CisgKiBAY3R4dDogYW4gZXhwcmVzc2lvbiBjb250ZXh0CisgKgorICogRGVidWdnaW5nIGZhY2lsaXR5IHByb3ZpZGVzIHRoZSBudW1iZXIgb2YgYWxsb2NhdGVkIG5vZGVzIG92ZXIgbGlmZXRpbWUKKyAqCisgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2Ygbm9kZXMgZXZlciBhbGxvY2F0ZWQgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcgorICovCitpbnQKK3htbEV4cEN0eHROYkNvbnMoeG1sRXhwQ3R4dFB0ciBjdHh0KSB7CisgICAgaWYgKGN0eHQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuKC0xKTsKKyAgICByZXR1cm4oY3R4dC0+bmJfY29ucyk7Cit9CisKKyNlbmRpZiAvKiBMSUJYTUxfRVhQUl9FTkFCTEVEICovCisjZGVmaW5lIGJvdHRvbV94bWxyZWdleHAKKyNpbmNsdWRlICJlbGZnY2NoYWNrLmgiCisjZW5kaWYgLyogTElCWE1MX1JFR0VYUF9FTkFCTEVEICovCmRpZmYgLS1naXQgYS9saWJ4bWwyL3htbHNhdmUuYyBiL2xpYnhtbDIveG1sc2F2ZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc3NDQwNGIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3htbHNhdmUuYwpAQCAtMCwwICsxLDI3ODggQEAKKy8qCisgKiB4bWxzYXZlLmM6IEltcGxlbWV0YXRpb24gb2YgdGhlIGRvY3VtZW50IHNlcmlhbGl6ZXIKKyAqCisgKiBTZWUgQ29weXJpZ2h0IGZvciB0aGUgc3RhdHVzIG9mIHRoaXMgc29mdHdhcmUuCisgKgorICogZGFuaWVsQHZlaWxsYXJkLmNvbQorICovCisKKyNkZWZpbmUgSU5fTElCWE1MCisjaW5jbHVkZSAibGlieG1sLmgiCisKKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxsaWJ4bWwveG1sbWVtb3J5Lmg+CisjaW5jbHVkZSA8bGlieG1sL3BhcnNlckludGVybmFscy5oPgorI2luY2x1ZGUgPGxpYnhtbC90cmVlLmg+CisjaW5jbHVkZSA8bGlieG1sL3htbHNhdmUuaD4KKworI2RlZmluZSBNQVhfSU5ERU5UIDYwCisKKyNpbmNsdWRlIDxsaWJ4bWwvSFRNTHRyZWUuaD4KKworI2luY2x1ZGUgImJ1Zi5oIgorI2luY2x1ZGUgImVuYy5oIgorI2luY2x1ZGUgInNhdmUuaCIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJCVhIVE1MIGRldGVjdGlvbgkJCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSBYSFRNTF9TVFJJQ1RfUFVCTElDX0lEIEJBRF9DQVNUIFwKKyAgICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIKKyNkZWZpbmUgWEhUTUxfU1RSSUNUX1NZU1RFTV9JRCBCQURfQ0FTVCBcCisgICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCIKKyNkZWZpbmUgWEhUTUxfRlJBTUVfUFVCTElDX0lEIEJBRF9DQVNUIFwKKyAgICItLy9XM0MvL0RURCBYSFRNTCAxLjAgRnJhbWVzZXQvL0VOIgorI2RlZmluZSBYSFRNTF9GUkFNRV9TWVNURU1fSUQgQkFEX0NBU1QgXAorICAgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLWZyYW1lc2V0LmR0ZCIKKyNkZWZpbmUgWEhUTUxfVFJBTlNfUFVCTElDX0lEIEJBRF9DQVNUIFwKKyAgICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIKKyNkZWZpbmUgWEhUTUxfVFJBTlNfU1lTVEVNX0lEIEJBRF9DQVNUIFwKKyAgICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIgorCisjZGVmaW5lIFhIVE1MX05TX05BTUUgQkFEX0NBU1QgImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiCisvKioKKyAqIHhtbElzWEhUTUw6CisgKiBAc3lzdGVtSUQ6ICB0aGUgc3lzdGVtIGlkZW50aWZpZXIKKyAqIEBwdWJsaWNJRDogIHRoZSBwdWJsaWMgaWRlbnRpZmllcgorICoKKyAqIFRyeSB0byBmaW5kIGlmIHRoZSBkb2N1bWVudCBjb3JyZXNwb25kIHRvIGFuIFhIVE1MIERURAorICoKKyAqIFJldHVybnMgMSBpZiB0cnVlLCAwIGlmIG5vdCBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvcgorICovCitpbnQKK3htbElzWEhUTUwoY29uc3QgeG1sQ2hhciAqc3lzdGVtSUQsIGNvbnN0IHhtbENoYXIgKnB1YmxpY0lEKSB7CisgICAgaWYgKChzeXN0ZW1JRCA9PSBOVUxMKSAmJiAocHVibGljSUQgPT0gTlVMTCkpCisJcmV0dXJuKC0xKTsKKyAgICBpZiAocHVibGljSUQgIT0gTlVMTCkgeworCWlmICh4bWxTdHJFcXVhbChwdWJsaWNJRCwgWEhUTUxfU1RSSUNUX1BVQkxJQ19JRCkpIHJldHVybigxKTsKKwlpZiAoeG1sU3RyRXF1YWwocHVibGljSUQsIFhIVE1MX0ZSQU1FX1BVQkxJQ19JRCkpIHJldHVybigxKTsKKwlpZiAoeG1sU3RyRXF1YWwocHVibGljSUQsIFhIVE1MX1RSQU5TX1BVQkxJQ19JRCkpIHJldHVybigxKTsKKyAgICB9CisgICAgaWYgKHN5c3RlbUlEICE9IE5VTEwpIHsKKwlpZiAoeG1sU3RyRXF1YWwoc3lzdGVtSUQsIFhIVE1MX1NUUklDVF9TWVNURU1fSUQpKSByZXR1cm4oMSk7CisJaWYgKHhtbFN0ckVxdWFsKHN5c3RlbUlELCBYSFRNTF9GUkFNRV9TWVNURU1fSUQpKSByZXR1cm4oMSk7CisJaWYgKHhtbFN0ckVxdWFsKHN5c3RlbUlELCBYSFRNTF9UUkFOU19TWVNURU1fSUQpKSByZXR1cm4oMSk7CisgICAgfQorICAgIHJldHVybigwKTsKK30KKworI2lmZGVmIExJQlhNTF9PVVRQVVRfRU5BQkxFRAorCisjZGVmaW5lIFRPRE8JCQkJCQkJCVwKKyAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwJCQkJXAorCSAgICAiVW5pbXBsZW1lbnRlZCBibG9jayBhdCAlczolZFxuIiwJCQkJXAorICAgICAgICAgICAgX19GSUxFX18sIF9fTElORV9fKTsKKworc3RydWN0IF94bWxTYXZlQ3R4dCB7CisgICAgdm9pZCAqX3ByaXZhdGU7CisgICAgaW50IHR5cGU7CisgICAgaW50IGZkOworICAgIGNvbnN0IHhtbENoYXIgKmZpbGVuYW1lOworICAgIGNvbnN0IHhtbENoYXIgKmVuY29kaW5nOworICAgIHhtbENoYXJFbmNvZGluZ0hhbmRsZXJQdHIgaGFuZGxlcjsKKyAgICB4bWxPdXRwdXRCdWZmZXJQdHIgYnVmOworICAgIHhtbERvY1B0ciBkb2M7CisgICAgaW50IG9wdGlvbnM7CisgICAgaW50IGxldmVsOworICAgIGludCBmb3JtYXQ7CisgICAgY2hhciBpbmRlbnRbTUFYX0lOREVOVCArIDFdOwkvKiBhcnJheSBmb3IgaW5kZW50aW5nIG91dHB1dCAqLworICAgIGludCBpbmRlbnRfbnI7CisgICAgaW50IGluZGVudF9zaXplOworICAgIHhtbENoYXJFbmNvZGluZ091dHB1dEZ1bmMgZXNjYXBlOwkvKiB1c2VkIGZvciBlbGVtZW50IGNvbnRlbnQgKi8KKyAgICB4bWxDaGFyRW5jb2RpbmdPdXRwdXRGdW5jIGVzY2FwZUF0dHI7LyogdXNlZCBmb3IgYXR0cmlidXRlIGNvbnRlbnQgKi8KK307CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCQlPdXRwdXQgZXJyb3IgaGFuZGxlcnMJCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyoqCisgKiB4bWxTYXZlRXJyTWVtb3J5OgorICogQGV4dHJhOiAgZXh0cmEgaW5mb3JtYXRpb25zCisgKgorICogSGFuZGxlIGFuIG91dCBvZiBtZW1vcnkgY29uZGl0aW9uCisgKi8KK3N0YXRpYyB2b2lkCit4bWxTYXZlRXJyTWVtb3J5KGNvbnN0IGNoYXIgKmV4dHJhKQoreworICAgIF9feG1sU2ltcGxlRXJyb3IoWE1MX0ZST01fT1VUUFVULCBYTUxfRVJSX05PX01FTU9SWSwgTlVMTCwgTlVMTCwgZXh0cmEpOworfQorCisvKioKKyAqIHhtbFNhdmVFcnI6CisgKiBAY29kZTogIHRoZSBlcnJvciBudW1iZXIKKyAqIEBub2RlOiAgdGhlIGxvY2F0aW9uIG9mIHRoZSBlcnJvci4KKyAqIEBleHRyYTogIGV4dHJhIGluZm9ybWF0aW9ucworICoKKyAqIEhhbmRsZSBhbiBvdXQgb2YgbWVtb3J5IGNvbmRpdGlvbgorICovCitzdGF0aWMgdm9pZAoreG1sU2F2ZUVycihpbnQgY29kZSwgeG1sTm9kZVB0ciBub2RlLCBjb25zdCBjaGFyICpleHRyYSkKK3sKKyAgICBjb25zdCBjaGFyICptc2cgPSBOVUxMOworCisgICAgc3dpdGNoKGNvZGUpIHsKKyAgICAgICAgY2FzZSBYTUxfU0FWRV9OT1RfVVRGODoKKwkgICAgbXNnID0gInN0cmluZyBpcyBub3QgaW4gVVRGLThcbiI7CisJICAgIGJyZWFrOworCWNhc2UgWE1MX1NBVkVfQ0hBUl9JTlZBTElEOgorCSAgICBtc2cgPSAiaW52YWxpZCBjaGFyYWN0ZXIgdmFsdWVcbiI7CisJICAgIGJyZWFrOworCWNhc2UgWE1MX1NBVkVfVU5LTk9XTl9FTkNPRElORzoKKwkgICAgbXNnID0gInVua25vd24gZW5jb2RpbmcgJXNcbiI7CisJICAgIGJyZWFrOworCWNhc2UgWE1MX1NBVkVfTk9fRE9DVFlQRToKKwkgICAgbXNnID0gImRvY3VtZW50IGhhcyBubyBET0NUWVBFXG4iOworCSAgICBicmVhazsKKwlkZWZhdWx0OgorCSAgICBtc2cgPSAidW5leHBlY3RlZCBlcnJvciBudW1iZXJcbiI7CisgICAgfQorICAgIF9feG1sU2ltcGxlRXJyb3IoWE1MX0ZST01fT1VUUFVULCBjb2RlLCBub2RlLCBtc2csIGV4dHJhKTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJCVNwZWNpYWwgZXNjYXBpbmcgcm91dGluZXMJCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgdW5zaWduZWQgY2hhciAqCit4bWxTZXJpYWxpemVIZXhDaGFyUmVmKHVuc2lnbmVkIGNoYXIgKm91dCwgaW50IHZhbCkgeworICAgIHVuc2lnbmVkIGNoYXIgKnB0cjsKKworICAgICpvdXQrKyA9ICcmJzsKKyAgICAqb3V0KysgPSAnIyc7CisgICAgKm91dCsrID0gJ3gnOworICAgIGlmICh2YWwgPCAweDEwKSBwdHIgPSBvdXQ7CisgICAgZWxzZSBpZiAodmFsIDwgMHgxMDApIHB0ciA9IG91dCArIDE7CisgICAgZWxzZSBpZiAodmFsIDwgMHgxMDAwKSBwdHIgPSBvdXQgKyAyOworICAgIGVsc2UgaWYgKHZhbCA8IDB4MTAwMDApIHB0ciA9IG91dCArIDM7CisgICAgZWxzZSBpZiAodmFsIDwgMHgxMDAwMDApIHB0ciA9IG91dCArIDQ7CisgICAgZWxzZSBwdHIgPSBvdXQgKyA1OworICAgIG91dCA9IHB0ciArIDE7CisgICAgd2hpbGUgKHZhbCA+IDApIHsKKwlzd2l0Y2ggKHZhbCAmIDB4RikgeworCSAgICBjYXNlIDA6ICpwdHItLSA9ICcwJzsgYnJlYWs7CisJICAgIGNhc2UgMTogKnB0ci0tID0gJzEnOyBicmVhazsKKwkgICAgY2FzZSAyOiAqcHRyLS0gPSAnMic7IGJyZWFrOworCSAgICBjYXNlIDM6ICpwdHItLSA9ICczJzsgYnJlYWs7CisJICAgIGNhc2UgNDogKnB0ci0tID0gJzQnOyBicmVhazsKKwkgICAgY2FzZSA1OiAqcHRyLS0gPSAnNSc7IGJyZWFrOworCSAgICBjYXNlIDY6ICpwdHItLSA9ICc2JzsgYnJlYWs7CisJICAgIGNhc2UgNzogKnB0ci0tID0gJzcnOyBicmVhazsKKwkgICAgY2FzZSA4OiAqcHRyLS0gPSAnOCc7IGJyZWFrOworCSAgICBjYXNlIDk6ICpwdHItLSA9ICc5JzsgYnJlYWs7CisJICAgIGNhc2UgMHhBOiAqcHRyLS0gPSAnQSc7IGJyZWFrOworCSAgICBjYXNlIDB4QjogKnB0ci0tID0gJ0InOyBicmVhazsKKwkgICAgY2FzZSAweEM6ICpwdHItLSA9ICdDJzsgYnJlYWs7CisJICAgIGNhc2UgMHhEOiAqcHRyLS0gPSAnRCc7IGJyZWFrOworCSAgICBjYXNlIDB4RTogKnB0ci0tID0gJ0UnOyBicmVhazsKKwkgICAgY2FzZSAweEY6ICpwdHItLSA9ICdGJzsgYnJlYWs7CisJICAgIGRlZmF1bHQ6ICpwdHItLSA9ICcwJzsgYnJlYWs7CisJfQorCXZhbCA+Pj0gNDsKKyAgICB9CisgICAgKm91dCsrID0gJzsnOworICAgICpvdXQgPSAwOworICAgIHJldHVybihvdXQpOworfQorCisvKioKKyAqIHhtbEVzY2FwZUVudGl0aWVzOgorICogQG91dDogIGEgcG9pbnRlciB0byBhbiBhcnJheSBvZiBieXRlcyB0byBzdG9yZSB0aGUgcmVzdWx0CisgKiBAb3V0bGVuOiAgdGhlIGxlbmd0aCBvZiBAb3V0CisgKiBAaW46ICBhIHBvaW50ZXIgdG8gYW4gYXJyYXkgb2YgdW5lc2NhcGVkIFVURi04IGJ5dGVzCisgKiBAaW5sZW46ICB0aGUgbGVuZ3RoIG9mIEBpbgorICoKKyAqIFRha2UgYSBibG9jayBvZiBVVEYtOCBjaGFycyBpbiBhbmQgZXNjYXBlIHRoZW0uIFVzZWQgd2hlbiB0aGVyZSBpcyBubworICogZW5jb2Rpbmcgc3BlY2lmaWVkLgorICoKKyAqIFJldHVybnMgMCBpZiBzdWNjZXNzLCBvciAtMSBvdGhlcndpc2UKKyAqIFRoZSB2YWx1ZSBvZiBAaW5sZW4gYWZ0ZXIgcmV0dXJuIGlzIHRoZSBudW1iZXIgb2Ygb2N0ZXRzIGNvbnN1bWVkCisgKiAgICAgaWYgdGhlIHJldHVybiB2YWx1ZSBpcyBwb3NpdGl2ZSwgZWxzZSB1bnByZWRpY3RhYmxlLgorICogVGhlIHZhbHVlIG9mIEBvdXRsZW4gYWZ0ZXIgcmV0dXJuIGlzIHRoZSBudW1iZXIgb2Ygb2N0ZXRzIGNvbnN1bWVkLgorICovCitzdGF0aWMgaW50Cit4bWxFc2NhcGVFbnRpdGllcyh1bnNpZ25lZCBjaGFyKiBvdXQsIGludCAqb3V0bGVuLAorICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyKiBpbiwgaW50ICppbmxlbikgeworICAgIHVuc2lnbmVkIGNoYXIqIG91dHN0YXJ0ID0gb3V0OworICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGJhc2UgPSBpbjsKKyAgICB1bnNpZ25lZCBjaGFyKiBvdXRlbmQgPSBvdXQgKyAqb3V0bGVuOworICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGluZW5kOworICAgIGludCB2YWw7CisKKyAgICBpbmVuZCA9IGluICsgKCppbmxlbik7CisKKyAgICB3aGlsZSAoKGluIDwgaW5lbmQpICYmIChvdXQgPCBvdXRlbmQpKSB7CisJaWYgKCppbiA9PSAnPCcpIHsKKwkgICAgaWYgKG91dGVuZCAtIG91dCA8IDQpIGJyZWFrOworCSAgICAqb3V0KysgPSAnJic7CisJICAgICpvdXQrKyA9ICdsJzsKKwkgICAgKm91dCsrID0gJ3QnOworCSAgICAqb3V0KysgPSAnOyc7CisJICAgIGluKys7CisJICAgIGNvbnRpbnVlOworCX0gZWxzZSBpZiAoKmluID09ICc+JykgeworCSAgICBpZiAob3V0ZW5kIC0gb3V0IDwgNCkgYnJlYWs7CisJICAgICpvdXQrKyA9ICcmJzsKKwkgICAgKm91dCsrID0gJ2cnOworCSAgICAqb3V0KysgPSAndCc7CisJICAgICpvdXQrKyA9ICc7JzsKKwkgICAgaW4rKzsKKwkgICAgY29udGludWU7CisJfSBlbHNlIGlmICgqaW4gPT0gJyYnKSB7CisJICAgIGlmIChvdXRlbmQgLSBvdXQgPCA1KSBicmVhazsKKwkgICAgKm91dCsrID0gJyYnOworCSAgICAqb3V0KysgPSAnYSc7CisJICAgICpvdXQrKyA9ICdtJzsKKwkgICAgKm91dCsrID0gJ3AnOworCSAgICAqb3V0KysgPSAnOyc7CisJICAgIGluKys7CisJICAgIGNvbnRpbnVlOworCX0gZWxzZSBpZiAoKCgqaW4gPj0gMHgyMCkgJiYgKCppbiA8IDB4ODApKSB8fAorCSAgICAgICAgICAgKCppbiA9PSAnXG4nKSB8fCAoKmluID09ICdcdCcpKSB7CisJICAgIC8qCisJICAgICAqIGRlZmF1bHQgY2FzZSwganVzdCBjb3B5ICEKKwkgICAgICovCisJICAgICpvdXQrKyA9ICppbisrOworCSAgICBjb250aW51ZTsKKwl9IGVsc2UgaWYgKCppbiA+PSAweDgwKSB7CisJICAgIC8qCisJICAgICAqIFdlIGFzc3VtZSB3ZSBoYXZlIFVURi04IGlucHV0LgorCSAgICAgKi8KKwkgICAgaWYgKG91dGVuZCAtIG91dCA8IDExKSBicmVhazsKKworCSAgICBpZiAoKmluIDwgMHhDMCkgeworCQl4bWxTYXZlRXJyKFhNTF9TQVZFX05PVF9VVEY4LCBOVUxMLCBOVUxMKTsKKwkJaW4rKzsKKwkJZ290byBlcnJvcjsKKwkgICAgfSBlbHNlIGlmICgqaW4gPCAweEUwKSB7CisJCWlmIChpbmVuZCAtIGluIDwgMikgYnJlYWs7CisJCXZhbCA9IChpblswXSkgJiAweDFGOworCQl2YWwgPDw9IDY7CisJCXZhbCB8PSAoaW5bMV0pICYgMHgzRjsKKwkJaW4gKz0gMjsKKwkgICAgfSBlbHNlIGlmICgqaW4gPCAweEYwKSB7CisJCWlmIChpbmVuZCAtIGluIDwgMykgYnJlYWs7CisJCXZhbCA9IChpblswXSkgJiAweDBGOworCQl2YWwgPDw9IDY7CisJCXZhbCB8PSAoaW5bMV0pICYgMHgzRjsKKwkJdmFsIDw8PSA2OworCQl2YWwgfD0gKGluWzJdKSAmIDB4M0Y7CisJCWluICs9IDM7CisJICAgIH0gZWxzZSBpZiAoKmluIDwgMHhGOCkgeworCQlpZiAoaW5lbmQgLSBpbiA8IDQpIGJyZWFrOworCQl2YWwgPSAoaW5bMF0pICYgMHgwNzsKKwkJdmFsIDw8PSA2OworCQl2YWwgfD0gKGluWzFdKSAmIDB4M0Y7CisJCXZhbCA8PD0gNjsKKwkJdmFsIHw9IChpblsyXSkgJiAweDNGOworCQl2YWwgPDw9IDY7CisJCXZhbCB8PSAoaW5bM10pICYgMHgzRjsKKwkJaW4gKz0gNDsKKwkgICAgfSBlbHNlIHsKKwkJeG1sU2F2ZUVycihYTUxfU0FWRV9DSEFSX0lOVkFMSUQsIE5VTEwsIE5VTEwpOworCQlpbisrOworCQlnb3RvIGVycm9yOworCSAgICB9CisJICAgIGlmICghSVNfQ0hBUih2YWwpKSB7CisJCXhtbFNhdmVFcnIoWE1MX1NBVkVfQ0hBUl9JTlZBTElELCBOVUxMLCBOVUxMKTsKKwkJaW4rKzsKKwkJZ290byBlcnJvcjsKKwkgICAgfQorCisJICAgIC8qCisJICAgICAqIFdlIGNvdWxkIGRvIG11bHRpcGxlIHRoaW5ncyBoZXJlLiBKdXN0IHNhdmUgYXMgYSBjaGFyIHJlZgorCSAgICAgKi8KKwkgICAgb3V0ID0geG1sU2VyaWFsaXplSGV4Q2hhclJlZihvdXQsIHZhbCk7CisJfSBlbHNlIGlmIChJU19CWVRFX0NIQVIoKmluKSkgeworCSAgICBpZiAob3V0ZW5kIC0gb3V0IDwgNikgYnJlYWs7CisJICAgIG91dCA9IHhtbFNlcmlhbGl6ZUhleENoYXJSZWYob3V0LCAqaW4rKyk7CisJfSBlbHNlIHsKKwkgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSJ4bWxFc2NhcGVFbnRpdGllcyA6IGNoYXIgb3V0IG9mIHJhbmdlXG4iKTsKKwkgICAgaW4rKzsKKwkgICAgZ290byBlcnJvcjsKKwl9CisgICAgfQorICAgICpvdXRsZW4gPSBvdXQgLSBvdXRzdGFydDsKKyAgICAqaW5sZW4gPSBpbiAtIGJhc2U7CisgICAgcmV0dXJuKDApOworZXJyb3I6CisgICAgKm91dGxlbiA9IG91dCAtIG91dHN0YXJ0OworICAgICppbmxlbiA9IGluIC0gYmFzZTsKKyAgICByZXR1cm4oLTEpOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQkJQWxsb2NhdGlvbiBhbmQgZGVhbGxvY2F0aW9uCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyoqCisgKiB4bWxTYXZlQ3R4dEluaXQ6CisgKiBAY3R4dDogdGhlIHNhdmluZyBjb250ZXh0CisgKgorICogSW5pdGlhbGl6ZSBhIHNhdmluZyBjb250ZXh0CisgKi8KK3N0YXRpYyB2b2lkCit4bWxTYXZlQ3R4dEluaXQoeG1sU2F2ZUN0eHRQdHIgY3R4dCkKK3sKKyAgICBpbnQgaTsKKyAgICBpbnQgbGVuOworCisgICAgaWYgKGN0eHQgPT0gTlVMTCkgcmV0dXJuOworICAgIGlmICgoY3R4dC0+ZW5jb2RpbmcgPT0gTlVMTCkgJiYgKGN0eHQtPmVzY2FwZSA9PSBOVUxMKSkKKyAgICAgICAgY3R4dC0+ZXNjYXBlID0geG1sRXNjYXBlRW50aXRpZXM7CisgICAgbGVuID0geG1sU3RybGVuKCh4bWxDaGFyICopeG1sVHJlZUluZGVudFN0cmluZyk7CisgICAgaWYgKCh4bWxUcmVlSW5kZW50U3RyaW5nID09IE5VTEwpIHx8IChsZW4gPT0gMCkpIHsKKyAgICAgICAgbWVtc2V0KCZjdHh0LT5pbmRlbnRbMF0sIDAsIE1BWF9JTkRFTlQgKyAxKTsKKyAgICB9IGVsc2UgeworCWN0eHQtPmluZGVudF9zaXplID0gbGVuOworCWN0eHQtPmluZGVudF9uciA9IE1BWF9JTkRFTlQgLyBjdHh0LT5pbmRlbnRfc2l6ZTsKKwlmb3IgKGkgPSAwO2kgPCBjdHh0LT5pbmRlbnRfbnI7aSsrKQorCSAgICBtZW1jcHkoJmN0eHQtPmluZGVudFtpICogY3R4dC0+aW5kZW50X3NpemVdLCB4bWxUcmVlSW5kZW50U3RyaW5nLAorCQkgICBjdHh0LT5pbmRlbnRfc2l6ZSk7CisgICAgICAgIGN0eHQtPmluZGVudFtjdHh0LT5pbmRlbnRfbnIgKiBjdHh0LT5pbmRlbnRfc2l6ZV0gPSAwOworICAgIH0KKworICAgIGlmICh4bWxTYXZlTm9FbXB0eVRhZ3MpIHsKKwljdHh0LT5vcHRpb25zIHw9IFhNTF9TQVZFX05PX0VNUFRZOworICAgIH0KK30KKworLyoqCisgKiB4bWxGcmVlU2F2ZUN0eHQ6CisgKgorICogRnJlZSBhIHNhdmluZyBjb250ZXh0LCBkZXN0cm95aW5nIHRoZSBvdXB0dXQgaW4gYW55IHJlbWFpbmluZyBidWZmZXIKKyAqLworc3RhdGljIHZvaWQKK3htbEZyZWVTYXZlQ3R4dCh4bWxTYXZlQ3R4dFB0ciBjdHh0KQoreworICAgIGlmIChjdHh0ID09IE5VTEwpIHJldHVybjsKKyAgICBpZiAoY3R4dC0+ZW5jb2RpbmcgIT0gTlVMTCkKKyAgICAgICAgeG1sRnJlZSgoY2hhciAqKSBjdHh0LT5lbmNvZGluZyk7CisgICAgaWYgKGN0eHQtPmJ1ZiAhPSBOVUxMKQorICAgICAgICB4bWxPdXRwdXRCdWZmZXJDbG9zZShjdHh0LT5idWYpOworICAgIHhtbEZyZWUoY3R4dCk7Cit9CisKKy8qKgorICogeG1sTmV3U2F2ZUN0eHQ6CisgKgorICogQ3JlYXRlIGEgbmV3IHNhdmluZyBjb250ZXh0CisgKgorICogUmV0dXJucyB0aGUgbmV3IHN0cnVjdHVyZSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworc3RhdGljIHhtbFNhdmVDdHh0UHRyCit4bWxOZXdTYXZlQ3R4dChjb25zdCBjaGFyICplbmNvZGluZywgaW50IG9wdGlvbnMpCit7CisgICAgeG1sU2F2ZUN0eHRQdHIgcmV0OworCisgICAgcmV0ID0gKHhtbFNhdmVDdHh0UHRyKSB4bWxNYWxsb2Moc2l6ZW9mKHhtbFNhdmVDdHh0KSk7CisgICAgaWYgKHJldCA9PSBOVUxMKSB7CisJeG1sU2F2ZUVyck1lbW9yeSgiY3JlYXRpbmcgc2F2aW5nIGNvbnRleHQiKTsKKwlyZXR1cm4gKCBOVUxMICk7CisgICAgfQorICAgIG1lbXNldChyZXQsIDAsIHNpemVvZih4bWxTYXZlQ3R4dCkpOworCisgICAgaWYgKGVuY29kaW5nICE9IE5VTEwpIHsKKyAgICAgICAgcmV0LT5oYW5kbGVyID0geG1sRmluZENoYXJFbmNvZGluZ0hhbmRsZXIoZW5jb2RpbmcpOworCWlmIChyZXQtPmhhbmRsZXIgPT0gTlVMTCkgeworCSAgICB4bWxTYXZlRXJyKFhNTF9TQVZFX1VOS05PV05fRU5DT0RJTkcsIE5VTEwsIGVuY29kaW5nKTsKKyAgICAgICAgICAgIHhtbEZyZWVTYXZlQ3R4dChyZXQpOworCSAgICByZXR1cm4oTlVMTCk7CisJfQorICAgICAgICByZXQtPmVuY29kaW5nID0geG1sU3RyZHVwKChjb25zdCB4bWxDaGFyICopZW5jb2RpbmcpOworCXJldC0+ZXNjYXBlID0gTlVMTDsKKyAgICB9CisgICAgeG1sU2F2ZUN0eHRJbml0KHJldCk7CisKKyAgICAvKgorICAgICAqIFVzZSB0aGUgb3B0aW9ucworICAgICAqLworCisgICAgLyogUmUtY2hlY2sgdGhpcyBvcHRpb24gYXMgaXQgbWF5IGFscmVhZHkgaGF2ZSBiZWVuIHNldCAqLworICAgIGlmICgocmV0LT5vcHRpb25zICYgWE1MX1NBVkVfTk9fRU1QVFkpICYmICEgKG9wdGlvbnMgJiBYTUxfU0FWRV9OT19FTVBUWSkpIHsKKwlvcHRpb25zIHw9IFhNTF9TQVZFX05PX0VNUFRZOworICAgIH0KKworICAgIHJldC0+b3B0aW9ucyA9IG9wdGlvbnM7CisgICAgaWYgKG9wdGlvbnMgJiBYTUxfU0FWRV9GT1JNQVQpCisgICAgICAgIHJldC0+Zm9ybWF0ID0gMTsKKyAgICBlbHNlIGlmIChvcHRpb25zICYgWE1MX1NBVkVfV1NOT05TSUcpCisgICAgICAgIHJldC0+Zm9ybWF0ID0gMjsKKworICAgIHJldHVybihyZXQpOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQlEdW1waW5nIFhNTCB0cmVlIGNvbnRlbnQgdG8gYSBzaW1wbGUgYnVmZmVyCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKioKKyAqIHhtbEF0dHJTZXJpYWxpemVDb250ZW50OgorICogQGJ1ZjogIHRoZSBYTUwgYnVmZmVyIG91dHB1dAorICogQGRvYzogIHRoZSBkb2N1bWVudAorICogQGF0dHI6ICB0aGUgYXR0cmlidXRlIHBvaW50ZXIKKyAqCisgKiBTZXJpYWxpemUgdGhlIGF0dHJpYnV0ZSBpbiB0aGUgYnVmZmVyCisgKi8KK3N0YXRpYyB2b2lkCit4bWxBdHRyU2VyaWFsaXplQ29udGVudCh4bWxPdXRwdXRCdWZmZXJQdHIgYnVmLCB4bWxBdHRyUHRyIGF0dHIpCit7CisgICAgeG1sTm9kZVB0ciBjaGlsZHJlbjsKKworICAgIGNoaWxkcmVuID0gYXR0ci0+Y2hpbGRyZW47CisgICAgd2hpbGUgKGNoaWxkcmVuICE9IE5VTEwpIHsKKyAgICAgICAgc3dpdGNoIChjaGlsZHJlbi0+dHlwZSkgeworICAgICAgICAgICAgY2FzZSBYTUxfVEVYVF9OT0RFOgorCSAgICAgICAgeG1sQnVmQXR0clNlcmlhbGl6ZVR4dENvbnRlbnQoYnVmLT5idWZmZXIsIGF0dHItPmRvYywKKwkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0ciwgY2hpbGRyZW4tPmNvbnRlbnQpOworCQlicmVhazsKKyAgICAgICAgICAgIGNhc2UgWE1MX0VOVElUWV9SRUZfTk9ERToKKyAgICAgICAgICAgICAgICB4bWxCdWZBZGQoYnVmLT5idWZmZXIsIEJBRF9DQVNUICImIiwgMSk7CisgICAgICAgICAgICAgICAgeG1sQnVmQWRkKGJ1Zi0+YnVmZmVyLCBjaGlsZHJlbi0+bmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sU3RybGVuKGNoaWxkcmVuLT5uYW1lKSk7CisgICAgICAgICAgICAgICAgeG1sQnVmQWRkKGJ1Zi0+YnVmZmVyLCBCQURfQ0FTVCAiOyIsIDEpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgICAgICAvKiBzaG91bGQgbm90IGhhcHBlbiB1bmxlc3Mgd2UgaGF2ZSBhIGJhZGx5IGJ1aWx0IHRyZWUgKi8KKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICBjaGlsZHJlbiA9IGNoaWxkcmVuLT5uZXh0OworICAgIH0KK30KKworLyoqCisgKiB4bWxCdWZEdW1wTm90YXRpb25UYWJsZToKKyAqIEBidWY6ICBhbiB4bWxCdWZQdHIgb3V0cHV0CisgKiBAdGFibGU6ICBBIG5vdGF0aW9uIHRhYmxlCisgKgorICogVGhpcyB3aWxsIGR1bXAgdGhlIGNvbnRlbnQgb2YgdGhlIG5vdGF0aW9uIHRhYmxlIGFzIGFuIFhNTCBEVEQgZGVmaW5pdGlvbgorICovCit2b2lkCit4bWxCdWZEdW1wTm90YXRpb25UYWJsZSh4bWxCdWZQdHIgYnVmLCB4bWxOb3RhdGlvblRhYmxlUHRyIHRhYmxlKSB7CisgICAgeG1sQnVmZmVyUHRyIGJ1ZmZlcjsKKworICAgIGJ1ZmZlciA9IHhtbEJ1ZmZlckNyZWF0ZSgpOworICAgIGlmIChidWZmZXIgPT0gTlVMTCkgeworICAgICAgICAvKgorICAgICAgICAgKiBUT0RPIHNldCB0aGUgZXJyb3IgaW4gYnVmCisgICAgICAgICAqLworICAgICAgICByZXR1cm47CisgICAgfQorICAgIHhtbER1bXBOb3RhdGlvblRhYmxlKGJ1ZmZlciwgdGFibGUpOworICAgIHhtbEJ1Zk1lcmdlQnVmZmVyKGJ1ZiwgYnVmZmVyKTsKK30KKworLyoqCisgKiB4bWxCdWZEdW1wRWxlbWVudERlY2w6CisgKiBAYnVmOiAgYW4geG1sQnVmUHRyIG91dHB1dAorICogQGVsZW06ICBBbiBlbGVtZW50IHRhYmxlCisgKgorICogVGhpcyB3aWxsIGR1bXAgdGhlIGNvbnRlbnQgb2YgdGhlIGVsZW1lbnQgZGVjbGFyYXRpb24gYXMgYW4gWE1MCisgKiBEVEQgZGVmaW5pdGlvbgorICovCit2b2lkCit4bWxCdWZEdW1wRWxlbWVudERlY2woeG1sQnVmUHRyIGJ1ZiwgeG1sRWxlbWVudFB0ciBlbGVtKSB7CisgICAgeG1sQnVmZmVyUHRyIGJ1ZmZlcjsKKworICAgIGJ1ZmZlciA9IHhtbEJ1ZmZlckNyZWF0ZSgpOworICAgIGlmIChidWZmZXIgPT0gTlVMTCkgeworICAgICAgICAvKgorICAgICAgICAgKiBUT0RPIHNldCB0aGUgZXJyb3IgaW4gYnVmCisgICAgICAgICAqLworICAgICAgICByZXR1cm47CisgICAgfQorICAgIHhtbER1bXBFbGVtZW50RGVjbChidWZmZXIsIGVsZW0pOworICAgIHhtbEJ1Zk1lcmdlQnVmZmVyKGJ1ZiwgYnVmZmVyKTsKK30KKworLyoqCisgKiB4bWxCdWZEdW1wQXR0cmlidXRlRGVjbDoKKyAqIEBidWY6ICBhbiB4bWxCdWZQdHIgb3V0cHV0CisgKiBAYXR0cjogIEFuIGF0dHJpYnV0ZSBkZWNsYXJhdGlvbgorICoKKyAqIFRoaXMgd2lsbCBkdW1wIHRoZSBjb250ZW50IG9mIHRoZSBhdHRyaWJ1dGUgZGVjbGFyYXRpb24gYXMgYW4gWE1MCisgKiBEVEQgZGVmaW5pdGlvbgorICovCit2b2lkCit4bWxCdWZEdW1wQXR0cmlidXRlRGVjbCh4bWxCdWZQdHIgYnVmLCB4bWxBdHRyaWJ1dGVQdHIgYXR0cikgeworICAgIHhtbEJ1ZmZlclB0ciBidWZmZXI7CisKKyAgICBidWZmZXIgPSB4bWxCdWZmZXJDcmVhdGUoKTsKKyAgICBpZiAoYnVmZmVyID09IE5VTEwpIHsKKyAgICAgICAgLyoKKyAgICAgICAgICogVE9ETyBzZXQgdGhlIGVycm9yIGluIGJ1ZgorICAgICAgICAgKi8KKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICB4bWxEdW1wQXR0cmlidXRlRGVjbChidWZmZXIsIGF0dHIpOworICAgIHhtbEJ1Zk1lcmdlQnVmZmVyKGJ1ZiwgYnVmZmVyKTsKK30KKworLyoqCisgKiB4bWxCdWZEdW1wRW50aXR5RGVjbDoKKyAqIEBidWY6ICBhbiB4bWxCdWZQdHIgb3V0cHV0CisgKiBAZW50OiAgQW4gZW50aXR5IHRhYmxlCisgKgorICogVGhpcyB3aWxsIGR1bXAgdGhlIGNvbnRlbnQgb2YgdGhlIGVudGl0eSB0YWJsZSBhcyBhbiBYTUwgRFREIGRlZmluaXRpb24KKyAqLwordm9pZAoreG1sQnVmRHVtcEVudGl0eURlY2woeG1sQnVmUHRyIGJ1ZiwgeG1sRW50aXR5UHRyIGVudCkgeworICAgIHhtbEJ1ZmZlclB0ciBidWZmZXI7CisKKyAgICBidWZmZXIgPSB4bWxCdWZmZXJDcmVhdGUoKTsKKyAgICBpZiAoYnVmZmVyID09IE5VTEwpIHsKKyAgICAgICAgLyoKKyAgICAgICAgICogVE9ETyBzZXQgdGhlIGVycm9yIGluIGJ1ZgorICAgICAgICAgKi8KKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICB4bWxEdW1wRW50aXR5RGVjbChidWZmZXIsIGVudCk7CisgICAgeG1sQnVmTWVyZ2VCdWZmZXIoYnVmLCBidWZmZXIpOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQlEdW1waW5nIFhNTCB0cmVlIGNvbnRlbnQgdG8gYW4gSS9PIG91dHB1dCBidWZmZXIJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitzdGF0aWMgaW50IHhtbFNhdmVTd2l0Y2hFbmNvZGluZyh4bWxTYXZlQ3R4dFB0ciBjdHh0LCBjb25zdCBjaGFyICplbmNvZGluZykgeworICAgIHhtbE91dHB1dEJ1ZmZlclB0ciBidWYgPSBjdHh0LT5idWY7CisKKyAgICBpZiAoKGVuY29kaW5nICE9IE5VTEwpICYmIChidWYtPmVuY29kZXIgPT0gTlVMTCkgJiYgKGJ1Zi0+Y29udiA9PSBOVUxMKSkgeworCWJ1Zi0+ZW5jb2RlciA9IHhtbEZpbmRDaGFyRW5jb2RpbmdIYW5kbGVyKChjb25zdCBjaGFyICopZW5jb2RpbmcpOworCWlmIChidWYtPmVuY29kZXIgPT0gTlVMTCkgeworCSAgICB4bWxTYXZlRXJyKFhNTF9TQVZFX1VOS05PV05fRU5DT0RJTkcsIE5VTEwsCisJCSAgICAgICAoY29uc3QgY2hhciAqKWVuY29kaW5nKTsKKwkgICAgcmV0dXJuKC0xKTsKKwl9CisJYnVmLT5jb252ID0geG1sQnVmQ3JlYXRlKCk7CisJaWYgKGJ1Zi0+Y29udiA9PSBOVUxMKSB7CisJICAgIHhtbENoYXJFbmNDbG9zZUZ1bmMoYnVmLT5lbmNvZGVyKTsKKwkgICAgeG1sU2F2ZUVyck1lbW9yeSgiY3JlYXRpbmcgZW5jb2RpbmcgYnVmZmVyIik7CisJICAgIHJldHVybigtMSk7CisJfQorCS8qCisJICogaW5pdGlhbGl6ZSB0aGUgc3RhdGUsIGUuZy4gaWYgb3V0cHV0dGluZyBhIEJPTQorCSAqLworICAgICAgICB4bWxDaGFyRW5jT3V0cHV0KGJ1ZiwgMSk7CisgICAgfQorICAgIHJldHVybigwKTsKK30KKworc3RhdGljIGludCB4bWxTYXZlQ2xlYXJFbmNvZGluZyh4bWxTYXZlQ3R4dFB0ciBjdHh0KSB7CisgICAgeG1sT3V0cHV0QnVmZmVyUHRyIGJ1ZiA9IGN0eHQtPmJ1ZjsKKyAgICB4bWxPdXRwdXRCdWZmZXJGbHVzaChidWYpOworICAgIHhtbENoYXJFbmNDbG9zZUZ1bmMoYnVmLT5lbmNvZGVyKTsKKyAgICB4bWxCdWZGcmVlKGJ1Zi0+Y29udik7CisgICAgYnVmLT5lbmNvZGVyID0gTlVMTDsKKyAgICBidWYtPmNvbnYgPSBOVUxMOworICAgIHJldHVybigwKTsKK30KKworI2lmZGVmIExJQlhNTF9IVE1MX0VOQUJMRUQKK3N0YXRpYyB2b2lkCit4aHRtbE5vZGVEdW1wT3V0cHV0KHhtbFNhdmVDdHh0UHRyIGN0eHQsIHhtbE5vZGVQdHIgY3VyKTsKKyNlbmRpZgorc3RhdGljIHZvaWQgeG1sTm9kZUxpc3REdW1wT3V0cHV0KHhtbFNhdmVDdHh0UHRyIGN0eHQsIHhtbE5vZGVQdHIgY3VyKTsKK3N0YXRpYyB2b2lkIHhtbE5vZGVEdW1wT3V0cHV0SW50ZXJuYWwoeG1sU2F2ZUN0eHRQdHIgY3R4dCwgeG1sTm9kZVB0ciBjdXIpOwordm9pZCB4bWxOc0xpc3REdW1wT3V0cHV0KHhtbE91dHB1dEJ1ZmZlclB0ciBidWYsIHhtbE5zUHRyIGN1cik7CitzdGF0aWMgaW50IHhtbERvY0NvbnRlbnREdW1wT3V0cHV0KHhtbFNhdmVDdHh0UHRyIGN0eHQsIHhtbERvY1B0ciBjdXIpOworCisvKioKKyAqIHhtbE91dHB1dEJ1ZmZlcldyaXRlV1NOb25TaWc6CisgKiBAY3R4dDogIFRoZSBzYXZlIGNvbnRleHQKKyAqIEBleHRyYTogTnVtYmVyIG9mIGV4dHJhIGluZGVudHMgdG8gYXBwbHkgdG8gY3R4dC0+bGV2ZWwKKyAqCisgKiBXcml0ZSBvdXQgZm9ybWF0dGluZyBmb3Igbm9uLXNpZ25pZmljYW50IHdoaXRlc3BhY2Ugb3V0cHV0LgorICovCitzdGF0aWMgdm9pZAoreG1sT3V0cHV0QnVmZmVyV3JpdGVXU05vblNpZyh4bWxTYXZlQ3R4dFB0ciBjdHh0LCBpbnQgZXh0cmEpCit7CisgICAgaW50IGk7CisgICAgaWYgKChjdHh0ID09IE5VTEwpIHx8IChjdHh0LT5idWYgPT0gTlVMTCkpCisgICAgICAgIHJldHVybjsKKyAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZShjdHh0LT5idWYsIDEsICJcbiIpOworICAgIGZvciAoaSA9IDA7IGkgPCAoY3R4dC0+bGV2ZWwgKyBleHRyYSk7IGkgKz0gY3R4dC0+aW5kZW50X25yKSB7CisgICAgICAgIHhtbE91dHB1dEJ1ZmZlcldyaXRlKGN0eHQtPmJ1ZiwgY3R4dC0+aW5kZW50X3NpemUgKgorICAgICAgICAgICAgICAgICgoY3R4dC0+bGV2ZWwgKyBleHRyYSAtIGkpID4gY3R4dC0+aW5kZW50X25yID8KKyAgICAgICAgICAgICAgICAgY3R4dC0+aW5kZW50X25yIDogKGN0eHQtPmxldmVsICsgZXh0cmEgLSBpKSksCisgICAgICAgICAgICAgICAgY3R4dC0+aW5kZW50KTsKKyAgICB9Cit9CisKKy8qKgorICogeG1sTnNEdW1wT3V0cHV0OgorICogQGJ1ZjogIHRoZSBYTUwgYnVmZmVyIG91dHB1dAorICogQGN1cjogIGEgbmFtZXNwYWNlCisgKiBAY3R4dDogdGhlIG91dHB1dCBzYXZlIGNvbnRleHQuIE9wdGlvbmFsLgorICoKKyAqIER1bXAgYSBsb2NhbCBOYW1lc3BhY2UgZGVmaW5pdGlvbi4KKyAqIFNob3VsZCBiZSBjYWxsZWQgaW4gdGhlIGNvbnRleHQgb2YgYXR0cmlidXRlcyBkdW1wcy4KKyAqIElmIEBjdHh0IGlzIHN1cHBsaWVkLCBAYnVmIHNob3VsZCBiZSBpdHMgYnVmZmVyLgorICovCitzdGF0aWMgdm9pZAoreG1sTnNEdW1wT3V0cHV0KHhtbE91dHB1dEJ1ZmZlclB0ciBidWYsIHhtbE5zUHRyIGN1ciwgeG1sU2F2ZUN0eHRQdHIgY3R4dCkgeworICAgIGlmICgoY3VyID09IE5VTEwpIHx8IChidWYgPT0gTlVMTCkpIHJldHVybjsKKyAgICBpZiAoKGN1ci0+dHlwZSA9PSBYTUxfTE9DQUxfTkFNRVNQQUNFKSAmJiAoY3VyLT5ocmVmICE9IE5VTEwpKSB7CisJaWYgKHhtbFN0ckVxdWFsKGN1ci0+cHJlZml4LCBCQURfQ0FTVCAieG1sIikpCisJICAgIHJldHVybjsKKworCWlmIChjdHh0ICE9IE5VTEwgJiYgY3R4dC0+Zm9ybWF0ID09IDIpCisJICAgIHhtbE91dHB1dEJ1ZmZlcldyaXRlV1NOb25TaWcoY3R4dCwgMik7CisJZWxzZQorCSAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZShidWYsIDEsICIgIik7CisKKyAgICAgICAgLyogV2l0aGluIHRoZSBjb250ZXh0IG9mIGFuIGVsZW1lbnQgYXR0cmlidXRlcyAqLworCWlmIChjdXItPnByZWZpeCAhPSBOVUxMKSB7CisJICAgIHhtbE91dHB1dEJ1ZmZlcldyaXRlKGJ1ZiwgNiwgInhtbG5zOiIpOworCSAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyhidWYsIChjb25zdCBjaGFyICopY3VyLT5wcmVmaXgpOworCX0gZWxzZQorCSAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZShidWYsIDUsICJ4bWxucyIpOworCXhtbE91dHB1dEJ1ZmZlcldyaXRlKGJ1ZiwgMSwgIj0iKTsKKwl4bWxCdWZXcml0ZVF1b3RlZFN0cmluZyhidWYtPmJ1ZmZlciwgY3VyLT5ocmVmKTsKKyAgICB9Cit9CisKKy8qKgorICogeG1sTnNEdW1wT3V0cHV0Q3R4dAorICogQGN0eHQ6IHRoZSBzYXZlIGNvbnRleHQKKyAqIEBjdXI6ICBhIG5hbWVzcGFjZQorICoKKyAqIER1bXAgYSBsb2NhbCBOYW1lc3BhY2UgZGVmaW5pdGlvbiB0byBhIHNhdmUgY29udGV4dC4KKyAqIFNob3VsZCBiZSBjYWxsZWQgaW4gdGhlIGNvbnRleHQgb2YgYXR0cmlidXRlIGR1bXBzLgorICovCitzdGF0aWMgdm9pZAoreG1sTnNEdW1wT3V0cHV0Q3R4dCh4bWxTYXZlQ3R4dFB0ciBjdHh0LCB4bWxOc1B0ciBjdXIpIHsKKyAgICB4bWxOc0R1bXBPdXRwdXQoY3R4dC0+YnVmLCBjdXIsIGN0eHQpOworfQorCisvKioKKyAqIHhtbE5zTGlzdER1bXBPdXRwdXRDdHh0CisgKiBAY3R4dDogdGhlIHNhdmUgY29udGV4dAorICogQGN1cjogIHRoZSBmaXJzdCBuYW1lc3BhY2UKKyAqCisgKiBEdW1wIGEgbGlzdCBvZiBsb2NhbCBuYW1lc3BhY2UgZGVmaW5pdGlvbnMgdG8gYSBzYXZlIGNvbnRleHQuCisgKiBTaG91bGQgYmUgY2FsbGVkIGluIHRoZSBjb250ZXh0IG9mIGF0dHJpYnV0ZSBkdW1wcy4KKyAqLworc3RhdGljIHZvaWQKK3htbE5zTGlzdER1bXBPdXRwdXRDdHh0KHhtbFNhdmVDdHh0UHRyIGN0eHQsIHhtbE5zUHRyIGN1cikgeworICAgIHdoaWxlIChjdXIgIT0gTlVMTCkgeworICAgICAgICB4bWxOc0R1bXBPdXRwdXQoY3R4dC0+YnVmLCBjdXIsIGN0eHQpOworCWN1ciA9IGN1ci0+bmV4dDsKKyAgICB9Cit9CisKKy8qKgorICogeG1sTnNMaXN0RHVtcE91dHB1dDoKKyAqIEBidWY6ICB0aGUgWE1MIGJ1ZmZlciBvdXRwdXQKKyAqIEBjdXI6ICB0aGUgZmlyc3QgbmFtZXNwYWNlCisgKgorICogRHVtcCBhIGxpc3Qgb2YgbG9jYWwgTmFtZXNwYWNlIGRlZmluaXRpb25zLgorICogU2hvdWxkIGJlIGNhbGxlZCBpbiB0aGUgY29udGV4dCBvZiBhdHRyaWJ1dGVzIGR1bXBzLgorICovCit2b2lkCit4bWxOc0xpc3REdW1wT3V0cHV0KHhtbE91dHB1dEJ1ZmZlclB0ciBidWYsIHhtbE5zUHRyIGN1cikgeworICAgIHdoaWxlIChjdXIgIT0gTlVMTCkgeworICAgICAgICB4bWxOc0R1bXBPdXRwdXQoYnVmLCBjdXIsIE5VTEwpOworCWN1ciA9IGN1ci0+bmV4dDsKKyAgICB9Cit9CisKKy8qKgorICogeG1sRHRkRHVtcE91dHB1dDoKKyAqIEBidWY6ICB0aGUgWE1MIGJ1ZmZlciBvdXRwdXQKKyAqIEBkdGQ6ICB0aGUgcG9pbnRlciB0byB0aGUgRFRECisgKgorICogRHVtcCB0aGUgWE1MIGRvY3VtZW50IERURCwgaWYgYW55LgorICovCitzdGF0aWMgdm9pZAoreG1sRHRkRHVtcE91dHB1dCh4bWxTYXZlQ3R4dFB0ciBjdHh0LCB4bWxEdGRQdHIgZHRkKSB7CisgICAgeG1sT3V0cHV0QnVmZmVyUHRyIGJ1ZjsKKyAgICBpbnQgZm9ybWF0LCBsZXZlbDsKKyAgICB4bWxEb2NQdHIgZG9jOworCisgICAgaWYgKGR0ZCA9PSBOVUxMKSByZXR1cm47CisgICAgaWYgKChjdHh0ID09IE5VTEwpIHx8IChjdHh0LT5idWYgPT0gTlVMTCkpCisgICAgICAgIHJldHVybjsKKyAgICBidWYgPSBjdHh0LT5idWY7CisgICAgeG1sT3V0cHV0QnVmZmVyV3JpdGUoYnVmLCAxMCwgIjwhRE9DVFlQRSAiKTsKKyAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyhidWYsIChjb25zdCBjaGFyICopZHRkLT5uYW1lKTsKKyAgICBpZiAoZHRkLT5FeHRlcm5hbElEICE9IE5VTEwpIHsKKwl4bWxPdXRwdXRCdWZmZXJXcml0ZShidWYsIDgsICIgUFVCTElDICIpOworCXhtbEJ1ZldyaXRlUXVvdGVkU3RyaW5nKGJ1Zi0+YnVmZmVyLCBkdGQtPkV4dGVybmFsSUQpOworCXhtbE91dHB1dEJ1ZmZlcldyaXRlKGJ1ZiwgMSwgIiAiKTsKKwl4bWxCdWZXcml0ZVF1b3RlZFN0cmluZyhidWYtPmJ1ZmZlciwgZHRkLT5TeXN0ZW1JRCk7CisgICAgfSAgZWxzZSBpZiAoZHRkLT5TeXN0ZW1JRCAhPSBOVUxMKSB7CisJeG1sT3V0cHV0QnVmZmVyV3JpdGUoYnVmLCA4LCAiIFNZU1RFTSAiKTsKKwl4bWxCdWZXcml0ZVF1b3RlZFN0cmluZyhidWYtPmJ1ZmZlciwgZHRkLT5TeXN0ZW1JRCk7CisgICAgfQorICAgIGlmICgoZHRkLT5lbnRpdGllcyA9PSBOVUxMKSAmJiAoZHRkLT5lbGVtZW50cyA9PSBOVUxMKSAmJgorICAgICAgICAoZHRkLT5hdHRyaWJ1dGVzID09IE5VTEwpICYmIChkdGQtPm5vdGF0aW9ucyA9PSBOVUxMKSAmJgorCShkdGQtPnBlbnRpdGllcyA9PSBOVUxMKSkgeworCXhtbE91dHB1dEJ1ZmZlcldyaXRlKGJ1ZiwgMSwgIj4iKTsKKwlyZXR1cm47CisgICAgfQorICAgIHhtbE91dHB1dEJ1ZmZlcldyaXRlKGJ1ZiwgMywgIiBbXG4iKTsKKyAgICAvKgorICAgICAqIER1bXAgdGhlIG5vdGF0aW9ucyBmaXJzdCB0aGV5IGFyZSBub3QgaW4gdGhlIERURCBjaGlsZHJlbiBsaXN0CisgICAgICogRG8gdGhpcyBvbmx5IG9uIGEgc3RhbmRhbG9uZSBEVEQgb3Igb24gdGhlIGludGVybmFsIHN1YnNldCB0aG91Z2guCisgICAgICovCisgICAgaWYgKChkdGQtPm5vdGF0aW9ucyAhPSBOVUxMKSAmJiAoKGR0ZC0+ZG9jID09IE5VTEwpIHx8CisgICAgICAgIChkdGQtPmRvYy0+aW50U3Vic2V0ID09IGR0ZCkpKSB7CisgICAgICAgIHhtbEJ1ZkR1bXBOb3RhdGlvblRhYmxlKGJ1Zi0+YnVmZmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoeG1sTm90YXRpb25UYWJsZVB0cikgZHRkLT5ub3RhdGlvbnMpOworICAgIH0KKyAgICBmb3JtYXQgPSBjdHh0LT5mb3JtYXQ7CisgICAgbGV2ZWwgPSBjdHh0LT5sZXZlbDsKKyAgICBkb2MgPSBjdHh0LT5kb2M7CisgICAgY3R4dC0+Zm9ybWF0ID0gMDsKKyAgICBjdHh0LT5sZXZlbCA9IC0xOworICAgIGN0eHQtPmRvYyA9IGR0ZC0+ZG9jOworICAgIHhtbE5vZGVMaXN0RHVtcE91dHB1dChjdHh0LCBkdGQtPmNoaWxkcmVuKTsKKyAgICBjdHh0LT5mb3JtYXQgPSBmb3JtYXQ7CisgICAgY3R4dC0+bGV2ZWwgPSBsZXZlbDsKKyAgICBjdHh0LT5kb2MgPSBkb2M7CisgICAgeG1sT3V0cHV0QnVmZmVyV3JpdGUoYnVmLCAyLCAiXT4iKTsKK30KKworLyoqCisgKiB4bWxBdHRyRHVtcE91dHB1dDoKKyAqIEBidWY6ICB0aGUgWE1MIGJ1ZmZlciBvdXRwdXQKKyAqIEBjdXI6ICB0aGUgYXR0cmlidXRlIHBvaW50ZXIKKyAqCisgKiBEdW1wIGFuIFhNTCBhdHRyaWJ1dGUKKyAqLworc3RhdGljIHZvaWQKK3htbEF0dHJEdW1wT3V0cHV0KHhtbFNhdmVDdHh0UHRyIGN0eHQsIHhtbEF0dHJQdHIgY3VyKSB7CisgICAgeG1sT3V0cHV0QnVmZmVyUHRyIGJ1ZjsKKworICAgIGlmIChjdXIgPT0gTlVMTCkgcmV0dXJuOworICAgIGJ1ZiA9IGN0eHQtPmJ1ZjsKKyAgICBpZiAoYnVmID09IE5VTEwpIHJldHVybjsKKyAgICBpZiAoY3R4dC0+Zm9ybWF0ID09IDIpCisgICAgICAgIHhtbE91dHB1dEJ1ZmZlcldyaXRlV1NOb25TaWcoY3R4dCwgMik7CisgICAgZWxzZQorICAgICAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZShidWYsIDEsICIgIik7CisgICAgaWYgKChjdXItPm5zICE9IE5VTEwpICYmIChjdXItPm5zLT5wcmVmaXggIT0gTlVMTCkpIHsKKyAgICAgICAgeG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcoYnVmLCAoY29uc3QgY2hhciAqKWN1ci0+bnMtPnByZWZpeCk7CisJeG1sT3V0cHV0QnVmZmVyV3JpdGUoYnVmLCAxLCAiOiIpOworICAgIH0KKyAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyhidWYsIChjb25zdCBjaGFyICopY3VyLT5uYW1lKTsKKyAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZShidWYsIDIsICI9XCIiKTsKKyAgICB4bWxBdHRyU2VyaWFsaXplQ29udGVudChidWYsIGN1cik7CisgICAgeG1sT3V0cHV0QnVmZmVyV3JpdGUoYnVmLCAxLCAiXCIiKTsKK30KKworLyoqCisgKiB4bWxBdHRyTGlzdER1bXBPdXRwdXQ6CisgKiBAYnVmOiAgdGhlIFhNTCBidWZmZXIgb3V0cHV0CisgKiBAZG9jOiAgdGhlIGRvY3VtZW50CisgKiBAY3VyOiAgdGhlIGZpcnN0IGF0dHJpYnV0ZSBwb2ludGVyCisgKiBAZW5jb2Rpbmc6ICBhbiBvcHRpb25hbCBlbmNvZGluZyBzdHJpbmcKKyAqCisgKiBEdW1wIGEgbGlzdCBvZiBYTUwgYXR0cmlidXRlcworICovCitzdGF0aWMgdm9pZAoreG1sQXR0ckxpc3REdW1wT3V0cHV0KHhtbFNhdmVDdHh0UHRyIGN0eHQsIHhtbEF0dHJQdHIgY3VyKSB7CisgICAgaWYgKGN1ciA9PSBOVUxMKSByZXR1cm47CisgICAgd2hpbGUgKGN1ciAhPSBOVUxMKSB7CisgICAgICAgIHhtbEF0dHJEdW1wT3V0cHV0KGN0eHQsIGN1cik7CisJY3VyID0gY3VyLT5uZXh0OworICAgIH0KK30KKworCisKKy8qKgorICogeG1sTm9kZUxpc3REdW1wT3V0cHV0OgorICogQGN1cjogIHRoZSBmaXJzdCBub2RlCisgKgorICogRHVtcCBhbiBYTUwgbm9kZSBsaXN0LCByZWN1cnNpdmUgYmVoYXZpb3VyLCBjaGlsZHJlbiBhcmUgcHJpbnRlZCB0b28uCisgKi8KK3N0YXRpYyB2b2lkCit4bWxOb2RlTGlzdER1bXBPdXRwdXQoeG1sU2F2ZUN0eHRQdHIgY3R4dCwgeG1sTm9kZVB0ciBjdXIpIHsKKyAgICB4bWxPdXRwdXRCdWZmZXJQdHIgYnVmOworCisgICAgaWYgKGN1ciA9PSBOVUxMKSByZXR1cm47CisgICAgYnVmID0gY3R4dC0+YnVmOworICAgIHdoaWxlIChjdXIgIT0gTlVMTCkgeworCWlmICgoY3R4dC0+Zm9ybWF0ID09IDEpICYmICh4bWxJbmRlbnRUcmVlT3V0cHV0KSAmJgorCSAgICAoKGN1ci0+dHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFKSB8fAorCSAgICAgKGN1ci0+dHlwZSA9PSBYTUxfQ09NTUVOVF9OT0RFKSB8fAorCSAgICAgKGN1ci0+dHlwZSA9PSBYTUxfUElfTk9ERSkpKQorCSAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZShidWYsIGN0eHQtPmluZGVudF9zaXplICoKKwkgICAgICAgICAgICAgICAgICAgICAgICAgKGN0eHQtPmxldmVsID4gY3R4dC0+aW5kZW50X25yID8KKwkJCQkgIGN0eHQtPmluZGVudF9uciA6IGN0eHQtPmxldmVsKSwKKwkJCQkgY3R4dC0+aW5kZW50KTsKKyAgICAgICAgeG1sTm9kZUR1bXBPdXRwdXRJbnRlcm5hbChjdHh0LCBjdXIpOworCWlmIChjdHh0LT5mb3JtYXQgPT0gMSkgeworCSAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZShidWYsIDEsICJcbiIpOworCX0KKwljdXIgPSBjdXItPm5leHQ7CisgICAgfQorfQorCisjaWZkZWYgTElCWE1MX0hUTUxfRU5BQkxFRAorLyoqCisgKiB4bWxOb2RlRHVtcE91dHB1dEludGVybmFsOgorICogQGN1cjogIHRoZSBjdXJyZW50IG5vZGUKKyAqCisgKiBEdW1wIGFuIEhUTUwgbm9kZSwgcmVjdXJzaXZlIGJlaGF2aW91ciwgY2hpbGRyZW4gYXJlIHByaW50ZWQgdG9vLgorICovCitzdGF0aWMgaW50CitodG1sTm9kZUR1bXBPdXRwdXRJbnRlcm5hbCh4bWxTYXZlQ3R4dFB0ciBjdHh0LCB4bWxOb2RlUHRyIGN1cikgeworICAgIGNvbnN0IHhtbENoYXIgKm9sZGVuYyA9IE5VTEw7CisgICAgY29uc3QgeG1sQ2hhciAqb2xkY3R4dGVuYyA9IGN0eHQtPmVuY29kaW5nOworICAgIGNvbnN0IHhtbENoYXIgKmVuY29kaW5nID0gY3R4dC0+ZW5jb2Rpbmc7CisgICAgeG1sT3V0cHV0QnVmZmVyUHRyIGJ1ZiA9IGN0eHQtPmJ1ZjsKKyAgICBpbnQgc3dpdGNoZWRfZW5jb2RpbmcgPSAwOworICAgIHhtbERvY1B0ciBkb2M7CisKKyAgICB4bWxJbml0UGFyc2VyKCk7CisKKyAgICBkb2MgPSBjdXItPmRvYzsKKyAgICBpZiAoZG9jICE9IE5VTEwpIHsKKyAgICAgICAgb2xkZW5jID0gZG9jLT5lbmNvZGluZzsKKwlpZiAoY3R4dC0+ZW5jb2RpbmcgIT0gTlVMTCkgeworCSAgICBkb2MtPmVuY29kaW5nID0gQkFEX0NBU1QgY3R4dC0+ZW5jb2Rpbmc7CisJfSBlbHNlIGlmIChkb2MtPmVuY29kaW5nICE9IE5VTEwpIHsKKwkgICAgZW5jb2RpbmcgPSBkb2MtPmVuY29kaW5nOworCX0KKyAgICB9CisKKyAgICBpZiAoKGVuY29kaW5nICE9IE5VTEwpICYmIChkb2MgIT0gTlVMTCkpCisJaHRtbFNldE1ldGFFbmNvZGluZyhkb2MsIChjb25zdCB4bWxDaGFyICopIGVuY29kaW5nKTsKKyAgICBpZiAoKGVuY29kaW5nID09IE5VTEwpICYmIChkb2MgIT0gTlVMTCkpCisJZW5jb2RpbmcgPSBodG1sR2V0TWV0YUVuY29kaW5nKGRvYyk7CisgICAgaWYgKGVuY29kaW5nID09IE5VTEwpCisJZW5jb2RpbmcgPSBCQURfQ0FTVCAiSFRNTCI7CisgICAgaWYgKChlbmNvZGluZyAhPSBOVUxMKSAmJiAob2xkY3R4dGVuYyA9PSBOVUxMKSAmJgorCShidWYtPmVuY29kZXIgPT0gTlVMTCkgJiYgKGJ1Zi0+Y29udiA9PSBOVUxMKSkgeworCWlmICh4bWxTYXZlU3dpdGNoRW5jb2RpbmcoY3R4dCwgKGNvbnN0IGNoYXIqKSBlbmNvZGluZykgPCAwKSB7CisJICAgIGRvYy0+ZW5jb2RpbmcgPSBvbGRlbmM7CisJICAgIHJldHVybigtMSk7CisJfQorCXN3aXRjaGVkX2VuY29kaW5nID0gMTsKKyAgICB9CisgICAgaWYgKGN0eHQtPm9wdGlvbnMgJiBYTUxfU0FWRV9GT1JNQVQpCisJaHRtbE5vZGVEdW1wRm9ybWF0T3V0cHV0KGJ1ZiwgZG9jLCBjdXIsCisJCQkJICAgICAgIChjb25zdCBjaGFyICopZW5jb2RpbmcsIDEpOworICAgIGVsc2UKKwlodG1sTm9kZUR1bXBGb3JtYXRPdXRwdXQoYnVmLCBkb2MsIGN1ciwKKwkJCQkgICAgICAgKGNvbnN0IGNoYXIgKillbmNvZGluZywgMCk7CisgICAgLyoKKyAgICAgKiBSZXN0b3JlIHRoZSBzdGF0ZSBvZiB0aGUgc2F2aW5nIGNvbnRleHQgYXQgdGhlIGVuZCBvZiB0aGUgZG9jdW1lbnQKKyAgICAgKi8KKyAgICBpZiAoKHN3aXRjaGVkX2VuY29kaW5nKSAmJiAob2xkY3R4dGVuYyA9PSBOVUxMKSkgeworCXhtbFNhdmVDbGVhckVuY29kaW5nKGN0eHQpOworICAgIH0KKyAgICBpZiAoZG9jICE9IE5VTEwpCisJZG9jLT5lbmNvZGluZyA9IG9sZGVuYzsKKyAgICByZXR1cm4oMCk7Cit9CisjZW5kaWYKKworLyoqCisgKiB4bWxOb2RlRHVtcE91dHB1dEludGVybmFsOgorICogQGN1cjogIHRoZSBjdXJyZW50IG5vZGUKKyAqCisgKiBEdW1wIGFuIFhNTCBub2RlLCByZWN1cnNpdmUgYmVoYXZpb3VyLCBjaGlsZHJlbiBhcmUgcHJpbnRlZCB0b28uCisgKi8KK3N0YXRpYyB2b2lkCit4bWxOb2RlRHVtcE91dHB1dEludGVybmFsKHhtbFNhdmVDdHh0UHRyIGN0eHQsIHhtbE5vZGVQdHIgY3VyKSB7CisgICAgaW50IGZvcm1hdDsKKyAgICB4bWxOb2RlUHRyIHRtcDsKKyAgICB4bWxDaGFyICpzdGFydCwgKmVuZDsKKyAgICB4bWxPdXRwdXRCdWZmZXJQdHIgYnVmOworCisgICAgaWYgKGN1ciA9PSBOVUxMKSByZXR1cm47CisgICAgYnVmID0gY3R4dC0+YnVmOworICAgIGlmIChjdXItPnR5cGUgPT0gWE1MX1hJTkNMVURFX1NUQVJUKQorCXJldHVybjsKKyAgICBpZiAoY3VyLT50eXBlID09IFhNTF9YSU5DTFVERV9FTkQpCisJcmV0dXJuOworICAgIGlmICgoY3VyLT50eXBlID09IFhNTF9ET0NVTUVOVF9OT0RFKSB8fAorICAgICAgICAoY3VyLT50eXBlID09IFhNTF9IVE1MX0RPQ1VNRU5UX05PREUpKSB7CisJeG1sRG9jQ29udGVudER1bXBPdXRwdXQoY3R4dCwgKHhtbERvY1B0cikgY3VyKTsKKwlyZXR1cm47CisgICAgfQorI2lmZGVmIExJQlhNTF9IVE1MX0VOQUJMRUQKKyAgICBpZiAoY3R4dC0+b3B0aW9ucyAmIFhNTF9TQVZFX1hIVE1MKSB7CisgICAgICAgIHhodG1sTm9kZUR1bXBPdXRwdXQoY3R4dCwgY3VyKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBpZiAoKChjdXItPnR5cGUgIT0gWE1MX05BTUVTUEFDRV9ERUNMKSAmJiAoY3VyLT5kb2MgIT0gTlVMTCkgJiYKKyAgICAgICAgIChjdXItPmRvYy0+dHlwZSA9PSBYTUxfSFRNTF9ET0NVTUVOVF9OT0RFKSAmJgorICAgICAgICAgKChjdHh0LT5vcHRpb25zICYgWE1MX1NBVkVfQVNfWE1MKSA9PSAwKSkgfHwKKyAgICAgICAgKGN0eHQtPm9wdGlvbnMgJiBYTUxfU0FWRV9BU19IVE1MKSkgeworCWh0bWxOb2RlRHVtcE91dHB1dEludGVybmFsKGN0eHQsIGN1cik7CisJcmV0dXJuOworICAgIH0KKyNlbmRpZgorICAgIGlmIChjdXItPnR5cGUgPT0gWE1MX0RURF9OT0RFKSB7CisgICAgICAgIHhtbER0ZER1bXBPdXRwdXQoY3R4dCwgKHhtbER0ZFB0cikgY3VyKTsKKwlyZXR1cm47CisgICAgfQorICAgIGlmIChjdXItPnR5cGUgPT0gWE1MX0RPQ1VNRU5UX0ZSQUdfTk9ERSkgeworICAgICAgICB4bWxOb2RlTGlzdER1bXBPdXRwdXQoY3R4dCwgY3VyLT5jaGlsZHJlbik7CisJcmV0dXJuOworICAgIH0KKyAgICBpZiAoY3VyLT50eXBlID09IFhNTF9FTEVNRU5UX0RFQ0wpIHsKKyAgICAgICAgeG1sQnVmRHVtcEVsZW1lbnREZWNsKGJ1Zi0+YnVmZmVyLCAoeG1sRWxlbWVudFB0cikgY3VyKTsKKwlyZXR1cm47CisgICAgfQorICAgIGlmIChjdXItPnR5cGUgPT0gWE1MX0FUVFJJQlVURV9ERUNMKSB7CisgICAgICAgIHhtbEJ1ZkR1bXBBdHRyaWJ1dGVEZWNsKGJ1Zi0+YnVmZmVyLCAoeG1sQXR0cmlidXRlUHRyKSBjdXIpOworCXJldHVybjsKKyAgICB9CisgICAgaWYgKGN1ci0+dHlwZSA9PSBYTUxfRU5USVRZX0RFQ0wpIHsKKyAgICAgICAgeG1sQnVmRHVtcEVudGl0eURlY2woYnVmLT5idWZmZXIsICh4bWxFbnRpdHlQdHIpIGN1cik7CisJcmV0dXJuOworICAgIH0KKyAgICBpZiAoY3VyLT50eXBlID09IFhNTF9URVhUX05PREUpIHsKKwlpZiAoY3VyLT5jb250ZW50ICE9IE5VTEwpIHsKKwkgICAgaWYgKGN1ci0+bmFtZSAhPSB4bWxTdHJpbmdUZXh0Tm9lbmMpIHsKKyAgICAgICAgICAgICAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZUVzY2FwZShidWYsIGN1ci0+Y29udGVudCwgY3R4dC0+ZXNjYXBlKTsKKwkgICAgfSBlbHNlIHsKKwkJLyoKKwkJICogRGlzYWJsZSBlc2NhcGluZywgbmVlZGVkIGZvciBYU0xUCisJCSAqLworCQl4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyhidWYsIChjb25zdCBjaGFyICopIGN1ci0+Y29udGVudCk7CisJICAgIH0KKwl9CisKKwlyZXR1cm47CisgICAgfQorICAgIGlmIChjdXItPnR5cGUgPT0gWE1MX1BJX05PREUpIHsKKwlpZiAoY3VyLT5jb250ZW50ICE9IE5VTEwpIHsKKwkgICAgeG1sT3V0cHV0QnVmZmVyV3JpdGUoYnVmLCAyLCAiPD8iKTsKKwkgICAgeG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcoYnVmLCAoY29uc3QgY2hhciAqKWN1ci0+bmFtZSk7CisJICAgIGlmIChjdXItPmNvbnRlbnQgIT0gTlVMTCkgeworCSAgICAgICAgaWYgKGN0eHQtPmZvcm1hdCA9PSAyKQorCSAgICAgICAgICAgIHhtbE91dHB1dEJ1ZmZlcldyaXRlV1NOb25TaWcoY3R4dCwgMCk7CisJICAgICAgICBlbHNlCisJICAgICAgICAgICAgeG1sT3V0cHV0QnVmZmVyV3JpdGUoYnVmLCAxLCAiICIpOworCQl4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyhidWYsIChjb25zdCBjaGFyICopY3VyLT5jb250ZW50KTsKKwkgICAgfQorCSAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZShidWYsIDIsICI/PiIpOworCX0gZWxzZSB7CisJICAgIHhtbE91dHB1dEJ1ZmZlcldyaXRlKGJ1ZiwgMiwgIjw/Iik7CisJICAgIHhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nKGJ1ZiwgKGNvbnN0IGNoYXIgKiljdXItPm5hbWUpOworCSAgICBpZiAoY3R4dC0+Zm9ybWF0ID09IDIpCisJICAgICAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZVdTTm9uU2lnKGN0eHQsIDApOworCSAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZShidWYsIDIsICI/PiIpOworCX0KKwlyZXR1cm47CisgICAgfQorICAgIGlmIChjdXItPnR5cGUgPT0gWE1MX0NPTU1FTlRfTk9ERSkgeworCWlmIChjdXItPmNvbnRlbnQgIT0gTlVMTCkgeworCSAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZShidWYsIDQsICI8IS0tIik7CisJICAgIHhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nKGJ1ZiwgKGNvbnN0IGNoYXIgKiljdXItPmNvbnRlbnQpOworCSAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZShidWYsIDMsICItLT4iKTsKKwl9CisJcmV0dXJuOworICAgIH0KKyAgICBpZiAoY3VyLT50eXBlID09IFhNTF9FTlRJVFlfUkVGX05PREUpIHsKKyAgICAgICAgeG1sT3V0cHV0QnVmZmVyV3JpdGUoYnVmLCAxLCAiJiIpOworCXhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nKGJ1ZiwgKGNvbnN0IGNoYXIgKiljdXItPm5hbWUpOworICAgICAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZShidWYsIDEsICI7Iik7CisJcmV0dXJuOworICAgIH0KKyAgICBpZiAoY3VyLT50eXBlID09IFhNTF9DREFUQV9TRUNUSU9OX05PREUpIHsKKwlpZiAoY3VyLT5jb250ZW50ID09IE5VTEwgfHwgKmN1ci0+Y29udGVudCA9PSAnXDAnKSB7CisJICAgIHhtbE91dHB1dEJ1ZmZlcldyaXRlKGJ1ZiwgMTIsICI8IVtDREFUQVtdXT4iKTsKKwl9IGVsc2UgeworCSAgICBzdGFydCA9IGVuZCA9IGN1ci0+Y29udGVudDsKKwkgICAgd2hpbGUgKCplbmQgIT0gJ1wwJykgeworCQlpZiAoKCplbmQgPT0gJ10nKSAmJiAoKihlbmQgKyAxKSA9PSAnXScpICYmCisJCSAgICAoKihlbmQgKyAyKSA9PSAnPicpKSB7CisJCSAgICBlbmQgPSBlbmQgKyAyOworCQkgICAgeG1sT3V0cHV0QnVmZmVyV3JpdGUoYnVmLCA5LCAiPCFbQ0RBVEFbIik7CisJCSAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZShidWYsIGVuZCAtIHN0YXJ0LCAoY29uc3QgY2hhciAqKXN0YXJ0KTsKKwkJICAgIHhtbE91dHB1dEJ1ZmZlcldyaXRlKGJ1ZiwgMywgIl1dPiIpOworCQkgICAgc3RhcnQgPSBlbmQ7CisJCX0KKwkJZW5kKys7CisJICAgIH0KKwkgICAgaWYgKHN0YXJ0ICE9IGVuZCkgeworCQl4bWxPdXRwdXRCdWZmZXJXcml0ZShidWYsIDksICI8IVtDREFUQVsiKTsKKwkJeG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcoYnVmLCAoY29uc3QgY2hhciAqKXN0YXJ0KTsKKwkJeG1sT3V0cHV0QnVmZmVyV3JpdGUoYnVmLCAzLCAiXV0+Iik7CisJICAgIH0KKwl9CisJcmV0dXJuOworICAgIH0KKyAgICBpZiAoY3VyLT50eXBlID09IFhNTF9BVFRSSUJVVEVfTk9ERSkgeworCXhtbEF0dHJEdW1wT3V0cHV0KGN0eHQsICh4bWxBdHRyUHRyKSBjdXIpOworCXJldHVybjsKKyAgICB9CisgICAgaWYgKGN1ci0+dHlwZSA9PSBYTUxfTkFNRVNQQUNFX0RFQ0wpIHsKKwl4bWxOc0R1bXBPdXRwdXRDdHh0KGN0eHQsICh4bWxOc1B0cikgY3VyKTsKKwlyZXR1cm47CisgICAgfQorCisgICAgZm9ybWF0ID0gY3R4dC0+Zm9ybWF0OworICAgIGlmIChmb3JtYXQgPT0gMSkgeworCXRtcCA9IGN1ci0+Y2hpbGRyZW47CisJd2hpbGUgKHRtcCAhPSBOVUxMKSB7CisJICAgIGlmICgodG1wLT50eXBlID09IFhNTF9URVhUX05PREUpIHx8CisJCSh0bXAtPnR5cGUgPT0gWE1MX0NEQVRBX1NFQ1RJT05fTk9ERSkgfHwKKwkJKHRtcC0+dHlwZSA9PSBYTUxfRU5USVRZX1JFRl9OT0RFKSkgeworCQljdHh0LT5mb3JtYXQgPSAwOworCQlicmVhazsKKwkgICAgfQorCSAgICB0bXAgPSB0bXAtPm5leHQ7CisJfQorICAgIH0KKyAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZShidWYsIDEsICI8Iik7CisgICAgaWYgKChjdXItPm5zICE9IE5VTEwpICYmIChjdXItPm5zLT5wcmVmaXggIT0gTlVMTCkpIHsKKyAgICAgICAgeG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcoYnVmLCAoY29uc3QgY2hhciAqKWN1ci0+bnMtPnByZWZpeCk7CisJeG1sT3V0cHV0QnVmZmVyV3JpdGUoYnVmLCAxLCAiOiIpOworICAgIH0KKworICAgIHhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nKGJ1ZiwgKGNvbnN0IGNoYXIgKiljdXItPm5hbWUpOworICAgIGlmIChjdXItPm5zRGVmKQorICAgICAgICB4bWxOc0xpc3REdW1wT3V0cHV0Q3R4dChjdHh0LCBjdXItPm5zRGVmKTsKKyAgICBpZiAoY3VyLT5wcm9wZXJ0aWVzICE9IE5VTEwpCisgICAgICAgIHhtbEF0dHJMaXN0RHVtcE91dHB1dChjdHh0LCBjdXItPnByb3BlcnRpZXMpOworCisgICAgaWYgKCgoY3VyLT50eXBlID09IFhNTF9FTEVNRU5UX05PREUpIHx8IChjdXItPmNvbnRlbnQgPT0gTlVMTCkpICYmCisJKGN1ci0+Y2hpbGRyZW4gPT0gTlVMTCkgJiYgKChjdHh0LT5vcHRpb25zICYgWE1MX1NBVkVfTk9fRU1QVFkpID09IDApKSB7CisgICAgICAgIGlmIChjdHh0LT5mb3JtYXQgPT0gMikKKyAgICAgICAgICAgIHhtbE91dHB1dEJ1ZmZlcldyaXRlV1NOb25TaWcoY3R4dCwgMCk7CisgICAgICAgIHhtbE91dHB1dEJ1ZmZlcldyaXRlKGJ1ZiwgMiwgIi8+Iik7CisJY3R4dC0+Zm9ybWF0ID0gZm9ybWF0OworCXJldHVybjsKKyAgICB9CisgICAgaWYgKGN0eHQtPmZvcm1hdCA9PSAyKQorICAgICAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZVdTTm9uU2lnKGN0eHQsIDEpOworICAgIHhtbE91dHB1dEJ1ZmZlcldyaXRlKGJ1ZiwgMSwgIj4iKTsKKyAgICBpZiAoKGN1ci0+dHlwZSAhPSBYTUxfRUxFTUVOVF9OT0RFKSAmJiAoY3VyLT5jb250ZW50ICE9IE5VTEwpKSB7CisJeG1sT3V0cHV0QnVmZmVyV3JpdGVFc2NhcGUoYnVmLCBjdXItPmNvbnRlbnQsIGN0eHQtPmVzY2FwZSk7CisgICAgfQorICAgIGlmIChjdXItPmNoaWxkcmVuICE9IE5VTEwpIHsKKwlpZiAoY3R4dC0+Zm9ybWF0ID09IDEpIHhtbE91dHB1dEJ1ZmZlcldyaXRlKGJ1ZiwgMSwgIlxuIik7CisJaWYgKGN0eHQtPmxldmVsID49IDApIGN0eHQtPmxldmVsKys7CisJeG1sTm9kZUxpc3REdW1wT3V0cHV0KGN0eHQsIGN1ci0+Y2hpbGRyZW4pOworCWlmIChjdHh0LT5sZXZlbCA+IDApIGN0eHQtPmxldmVsLS07CisJaWYgKCh4bWxJbmRlbnRUcmVlT3V0cHV0KSAmJiAoY3R4dC0+Zm9ybWF0ID09IDEpKQorCSAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZShidWYsIGN0eHQtPmluZGVudF9zaXplICoKKwkgICAgICAgICAgICAgICAgICAgICAgICAgKGN0eHQtPmxldmVsID4gY3R4dC0+aW5kZW50X25yID8KKwkJCQkgIGN0eHQtPmluZGVudF9uciA6IGN0eHQtPmxldmVsKSwKKwkJCQkgY3R4dC0+aW5kZW50KTsKKyAgICB9CisgICAgeG1sT3V0cHV0QnVmZmVyV3JpdGUoYnVmLCAyLCAiPC8iKTsKKyAgICBpZiAoKGN1ci0+bnMgIT0gTlVMTCkgJiYgKGN1ci0+bnMtPnByZWZpeCAhPSBOVUxMKSkgeworICAgICAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyhidWYsIChjb25zdCBjaGFyICopY3VyLT5ucy0+cHJlZml4KTsKKwl4bWxPdXRwdXRCdWZmZXJXcml0ZShidWYsIDEsICI6Iik7CisgICAgfQorCisgICAgeG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcoYnVmLCAoY29uc3QgY2hhciAqKWN1ci0+bmFtZSk7CisgICAgaWYgKGN0eHQtPmZvcm1hdCA9PSAyKQorICAgICAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZVdTTm9uU2lnKGN0eHQsIDApOworICAgIHhtbE91dHB1dEJ1ZmZlcldyaXRlKGJ1ZiwgMSwgIj4iKTsKKyAgICBjdHh0LT5mb3JtYXQgPSBmb3JtYXQ7Cit9CisKKy8qKgorICogeG1sRG9jQ29udGVudER1bXBPdXRwdXQ6CisgKiBAY3VyOiAgdGhlIGRvY3VtZW50CisgKgorICogRHVtcCBhbiBYTUwgZG9jdW1lbnQuCisgKi8KK3N0YXRpYyBpbnQKK3htbERvY0NvbnRlbnREdW1wT3V0cHV0KHhtbFNhdmVDdHh0UHRyIGN0eHQsIHhtbERvY1B0ciBjdXIpIHsKKyNpZmRlZiBMSUJYTUxfSFRNTF9FTkFCTEVECisgICAgeG1sRHRkUHRyIGR0ZDsKKyAgICBpbnQgaXNfeGh0bWwgPSAwOworI2VuZGlmCisgICAgY29uc3QgeG1sQ2hhciAqb2xkZW5jID0gY3VyLT5lbmNvZGluZzsKKyAgICBjb25zdCB4bWxDaGFyICpvbGRjdHh0ZW5jID0gY3R4dC0+ZW5jb2Rpbmc7CisgICAgY29uc3QgeG1sQ2hhciAqZW5jb2RpbmcgPSBjdHh0LT5lbmNvZGluZzsKKyAgICB4bWxDaGFyRW5jb2RpbmdPdXRwdXRGdW5jIG9sZGVzY2FwZSA9IGN0eHQtPmVzY2FwZTsKKyAgICB4bWxDaGFyRW5jb2RpbmdPdXRwdXRGdW5jIG9sZGVzY2FwZUF0dHIgPSBjdHh0LT5lc2NhcGVBdHRyOworICAgIHhtbE91dHB1dEJ1ZmZlclB0ciBidWYgPSBjdHh0LT5idWY7CisgICAgeG1sQ2hhckVuY29kaW5nIGVuYzsKKyAgICBpbnQgc3dpdGNoZWRfZW5jb2RpbmcgPSAwOworCisgICAgeG1sSW5pdFBhcnNlcigpOworCisgICAgaWYgKChjdXItPnR5cGUgIT0gWE1MX0hUTUxfRE9DVU1FTlRfTk9ERSkgJiYKKyAgICAgICAgKGN1ci0+dHlwZSAhPSBYTUxfRE9DVU1FTlRfTk9ERSkpCisJIHJldHVybigtMSk7CisKKyAgICBpZiAoY3R4dC0+ZW5jb2RpbmcgIT0gTlVMTCkgeworICAgICAgICBjdXItPmVuY29kaW5nID0gQkFEX0NBU1QgY3R4dC0+ZW5jb2Rpbmc7CisgICAgfSBlbHNlIGlmIChjdXItPmVuY29kaW5nICE9IE5VTEwpIHsKKwllbmNvZGluZyA9IGN1ci0+ZW5jb2Rpbmc7CisgICAgfSBlbHNlIGlmIChjdXItPmNoYXJzZXQgIT0gWE1MX0NIQVJfRU5DT0RJTkdfVVRGOCkgeworCWVuY29kaW5nID0gKGNvbnN0IHhtbENoYXIgKikKKwkJICAgICB4bWxHZXRDaGFyRW5jb2RpbmdOYW1lKCh4bWxDaGFyRW5jb2RpbmcpIGN1ci0+Y2hhcnNldCk7CisgICAgfQorCisgICAgaWYgKCgoY3VyLT50eXBlID09IFhNTF9IVE1MX0RPQ1VNRU5UX05PREUpICYmCisgICAgICAgICAoKGN0eHQtPm9wdGlvbnMgJiBYTUxfU0FWRV9BU19YTUwpID09IDApICYmCisgICAgICAgICAoKGN0eHQtPm9wdGlvbnMgJiBYTUxfU0FWRV9YSFRNTCkgPT0gMCkpIHx8CisgICAgICAgIChjdHh0LT5vcHRpb25zICYgWE1MX1NBVkVfQVNfSFRNTCkpIHsKKyNpZmRlZiBMSUJYTUxfSFRNTF9FTkFCTEVECisgICAgICAgIGlmIChlbmNvZGluZyAhPSBOVUxMKQorCSAgICBodG1sU2V0TWV0YUVuY29kaW5nKGN1ciwgKGNvbnN0IHhtbENoYXIgKikgZW5jb2RpbmcpOworICAgICAgICBpZiAoZW5jb2RpbmcgPT0gTlVMTCkKKwkgICAgZW5jb2RpbmcgPSBodG1sR2V0TWV0YUVuY29kaW5nKGN1cik7CisgICAgICAgIGlmIChlbmNvZGluZyA9PSBOVUxMKQorCSAgICBlbmNvZGluZyA9IEJBRF9DQVNUICJIVE1MIjsKKwlpZiAoKGVuY29kaW5nICE9IE5VTEwpICYmIChvbGRjdHh0ZW5jID09IE5VTEwpICYmCisJICAgIChidWYtPmVuY29kZXIgPT0gTlVMTCkgJiYgKGJ1Zi0+Y29udiA9PSBOVUxMKSkgeworCSAgICBpZiAoeG1sU2F2ZVN3aXRjaEVuY29kaW5nKGN0eHQsIChjb25zdCBjaGFyKikgZW5jb2RpbmcpIDwgMCkgeworCQljdXItPmVuY29kaW5nID0gb2xkZW5jOworCQlyZXR1cm4oLTEpOworCSAgICB9CisJfQorICAgICAgICBpZiAoY3R4dC0+b3B0aW9ucyAmIFhNTF9TQVZFX0ZPUk1BVCkKKwkgICAgaHRtbERvY0NvbnRlbnREdW1wRm9ybWF0T3V0cHV0KGJ1ZiwgY3VyLAorCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0IGNoYXIgKillbmNvZGluZywgMSk7CisJZWxzZQorCSAgICBodG1sRG9jQ29udGVudER1bXBGb3JtYXRPdXRwdXQoYnVmLCBjdXIsCisJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29uc3QgY2hhciAqKWVuY29kaW5nLCAwKTsKKwlpZiAoY3R4dC0+ZW5jb2RpbmcgIT0gTlVMTCkKKwkgICAgY3VyLT5lbmNvZGluZyA9IG9sZGVuYzsKKwlyZXR1cm4oMCk7CisjZWxzZQorICAgICAgICByZXR1cm4oLTEpOworI2VuZGlmCisgICAgfSBlbHNlIGlmICgoY3VyLT50eXBlID09IFhNTF9ET0NVTUVOVF9OT0RFKSB8fAorICAgICAgICAgICAgICAgKGN0eHQtPm9wdGlvbnMgJiBYTUxfU0FWRV9BU19YTUwpIHx8CisgICAgICAgICAgICAgICAoY3R4dC0+b3B0aW9ucyAmIFhNTF9TQVZFX1hIVE1MKSkgeworCWVuYyA9IHhtbFBhcnNlQ2hhckVuY29kaW5nKChjb25zdCBjaGFyKikgZW5jb2RpbmcpOworCWlmICgoZW5jb2RpbmcgIT0gTlVMTCkgJiYgKG9sZGN0eHRlbmMgPT0gTlVMTCkgJiYKKwkgICAgKGJ1Zi0+ZW5jb2RlciA9PSBOVUxMKSAmJiAoYnVmLT5jb252ID09IE5VTEwpICYmCisJICAgICgoY3R4dC0+b3B0aW9ucyAmIFhNTF9TQVZFX05PX0RFQ0wpID09IDApKSB7CisJICAgIGlmICgoZW5jICE9IFhNTF9DSEFSX0VOQ09ESU5HX1VURjgpICYmCisJCShlbmMgIT0gWE1MX0NIQVJfRU5DT0RJTkdfTk9ORSkgJiYKKwkJKGVuYyAhPSBYTUxfQ0hBUl9FTkNPRElOR19BU0NJSSkpIHsKKwkJLyoKKwkJICogd2UgbmVlZCB0byBzd2l0Y2ggdG8gdGhpcyBlbmNvZGluZyBidXQganVzdCBmb3IgdGhpcworCQkgKiBkb2N1bWVudCBzaW5jZSB3ZSBvdXRwdXQgdGhlIFhNTERlY2wgdGhlIGNvbnZlcnNpb24KKwkJICogbXVzdCBiZSBkb25lIHRvIG5vdCBnZW5lcmF0ZSBub3Qgd2VsbCBmb3JtZWQgZG9jdW1lbnRzLgorCQkgKi8KKwkJaWYgKHhtbFNhdmVTd2l0Y2hFbmNvZGluZyhjdHh0LCAoY29uc3QgY2hhciopIGVuY29kaW5nKSA8IDApIHsKKwkJICAgIGN1ci0+ZW5jb2RpbmcgPSBvbGRlbmM7CisJCSAgICByZXR1cm4oLTEpOworCQl9CisJCXN3aXRjaGVkX2VuY29kaW5nID0gMTsKKwkgICAgfQorCSAgICBpZiAoY3R4dC0+ZXNjYXBlID09IHhtbEVzY2FwZUVudGl0aWVzKQorCQljdHh0LT5lc2NhcGUgPSBOVUxMOworCSAgICBpZiAoY3R4dC0+ZXNjYXBlQXR0ciA9PSB4bWxFc2NhcGVFbnRpdGllcykKKwkJY3R4dC0+ZXNjYXBlQXR0ciA9IE5VTEw7CisJfQorCisKKwkvKgorCSAqIFNhdmUgdGhlIFhNTCBkZWNsYXJhdGlvbgorCSAqLworCWlmICgoY3R4dC0+b3B0aW9ucyAmIFhNTF9TQVZFX05PX0RFQ0wpID09IDApIHsKKwkgICAgeG1sT3V0cHV0QnVmZmVyV3JpdGUoYnVmLCAxNCwgIjw/eG1sIHZlcnNpb249Iik7CisJICAgIGlmIChjdXItPnZlcnNpb24gIT0gTlVMTCkKKwkJeG1sQnVmV3JpdGVRdW90ZWRTdHJpbmcoYnVmLT5idWZmZXIsIGN1ci0+dmVyc2lvbik7CisJICAgIGVsc2UKKwkJeG1sT3V0cHV0QnVmZmVyV3JpdGUoYnVmLCA1LCAiXCIxLjBcIiIpOworCSAgICBpZiAoZW5jb2RpbmcgIT0gTlVMTCkgeworCQl4bWxPdXRwdXRCdWZmZXJXcml0ZShidWYsIDEwLCAiIGVuY29kaW5nPSIpOworCQl4bWxCdWZXcml0ZVF1b3RlZFN0cmluZyhidWYtPmJ1ZmZlciwgKHhtbENoYXIgKikgZW5jb2RpbmcpOworCSAgICB9CisJICAgIHN3aXRjaCAoY3VyLT5zdGFuZGFsb25lKSB7CisJCWNhc2UgMDoKKwkJICAgIHhtbE91dHB1dEJ1ZmZlcldyaXRlKGJ1ZiwgMTYsICIgc3RhbmRhbG9uZT1cIm5vXCIiKTsKKwkJICAgIGJyZWFrOworCQljYXNlIDE6CisJCSAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZShidWYsIDE3LCAiIHN0YW5kYWxvbmU9XCJ5ZXNcIiIpOworCQkgICAgYnJlYWs7CisJICAgIH0KKwkgICAgeG1sT3V0cHV0QnVmZmVyV3JpdGUoYnVmLCAzLCAiPz5cbiIpOworCX0KKworI2lmZGVmIExJQlhNTF9IVE1MX0VOQUJMRUQKKyAgICAgICAgaWYgKGN0eHQtPm9wdGlvbnMgJiBYTUxfU0FWRV9YSFRNTCkKKyAgICAgICAgICAgIGlzX3hodG1sID0gMTsKKwlpZiAoKGN0eHQtPm9wdGlvbnMgJiBYTUxfU0FWRV9OT19YSFRNTCkgPT0gMCkgeworCSAgICBkdGQgPSB4bWxHZXRJbnRTdWJzZXQoY3VyKTsKKwkgICAgaWYgKGR0ZCAhPSBOVUxMKSB7CisJCWlzX3hodG1sID0geG1sSXNYSFRNTChkdGQtPlN5c3RlbUlELCBkdGQtPkV4dGVybmFsSUQpOworCQlpZiAoaXNfeGh0bWwgPCAwKSBpc194aHRtbCA9IDA7CisJICAgIH0KKwl9CisjZW5kaWYKKwlpZiAoY3VyLT5jaGlsZHJlbiAhPSBOVUxMKSB7CisJICAgIHhtbE5vZGVQdHIgY2hpbGQgPSBjdXItPmNoaWxkcmVuOworCisJICAgIHdoaWxlIChjaGlsZCAhPSBOVUxMKSB7CisJCWN0eHQtPmxldmVsID0gMDsKKyNpZmRlZiBMSUJYTUxfSFRNTF9FTkFCTEVECisJCWlmIChpc194aHRtbCkKKwkJICAgIHhodG1sTm9kZUR1bXBPdXRwdXQoY3R4dCwgY2hpbGQpOworCQllbHNlCisjZW5kaWYKKwkJICAgIHhtbE5vZGVEdW1wT3V0cHV0SW50ZXJuYWwoY3R4dCwgY2hpbGQpOworCQl4bWxPdXRwdXRCdWZmZXJXcml0ZShidWYsIDEsICJcbiIpOworCQljaGlsZCA9IGNoaWxkLT5uZXh0OworCSAgICB9CisJfQorICAgIH0KKworICAgIC8qCisgICAgICogUmVzdG9yZSB0aGUgc3RhdGUgb2YgdGhlIHNhdmluZyBjb250ZXh0IGF0IHRoZSBlbmQgb2YgdGhlIGRvY3VtZW50CisgICAgICovCisgICAgaWYgKChzd2l0Y2hlZF9lbmNvZGluZykgJiYgKG9sZGN0eHRlbmMgPT0gTlVMTCkpIHsKKwl4bWxTYXZlQ2xlYXJFbmNvZGluZyhjdHh0KTsKKwljdHh0LT5lc2NhcGUgPSBvbGRlc2NhcGU7CisJY3R4dC0+ZXNjYXBlQXR0ciA9IG9sZGVzY2FwZUF0dHI7CisgICAgfQorICAgIGN1ci0+ZW5jb2RpbmcgPSBvbGRlbmM7CisgICAgcmV0dXJuKDApOworfQorCisjaWZkZWYgTElCWE1MX0hUTUxfRU5BQkxFRAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJRnVuY3Rpb25zIHNwZWNpZmljIHRvIFhIVE1MIHNlcmlhbGl6YXRpb24JCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqCisgKiB4aHRtbElzRW1wdHk6CisgKiBAbm9kZTogIHRoZSBub2RlCisgKgorICogQ2hlY2sgaWYgYSBub2RlIGlzIGFuIGVtcHR5IHhodG1sIG5vZGUKKyAqCisgKiBSZXR1cm5zIDEgaWYgdGhlIG5vZGUgaXMgYW4gZW1wdHkgbm9kZSwgMCBpZiBub3QgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworc3RhdGljIGludAoreGh0bWxJc0VtcHR5KHhtbE5vZGVQdHIgbm9kZSkgeworICAgIGlmIChub2RlID09IE5VTEwpCisJcmV0dXJuKC0xKTsKKyAgICBpZiAobm9kZS0+dHlwZSAhPSBYTUxfRUxFTUVOVF9OT0RFKQorCXJldHVybigwKTsKKyAgICBpZiAoKG5vZGUtPm5zICE9IE5VTEwpICYmICgheG1sU3RyRXF1YWwobm9kZS0+bnMtPmhyZWYsIFhIVE1MX05TX05BTUUpKSkKKwlyZXR1cm4oMCk7CisgICAgaWYgKG5vZGUtPmNoaWxkcmVuICE9IE5VTEwpCisJcmV0dXJuKDApOworICAgIHN3aXRjaCAobm9kZS0+bmFtZVswXSkgeworCWNhc2UgJ2EnOgorCSAgICBpZiAoeG1sU3RyRXF1YWwobm9kZS0+bmFtZSwgQkFEX0NBU1QgImFyZWEiKSkKKwkJcmV0dXJuKDEpOworCSAgICByZXR1cm4oMCk7CisJY2FzZSAnYic6CisJICAgIGlmICh4bWxTdHJFcXVhbChub2RlLT5uYW1lLCBCQURfQ0FTVCAiYnIiKSkKKwkJcmV0dXJuKDEpOworCSAgICBpZiAoeG1sU3RyRXF1YWwobm9kZS0+bmFtZSwgQkFEX0NBU1QgImJhc2UiKSkKKwkJcmV0dXJuKDEpOworCSAgICBpZiAoeG1sU3RyRXF1YWwobm9kZS0+bmFtZSwgQkFEX0NBU1QgImJhc2Vmb250IikpCisJCXJldHVybigxKTsKKwkgICAgcmV0dXJuKDApOworCWNhc2UgJ2MnOgorCSAgICBpZiAoeG1sU3RyRXF1YWwobm9kZS0+bmFtZSwgQkFEX0NBU1QgImNvbCIpKQorCQlyZXR1cm4oMSk7CisJICAgIHJldHVybigwKTsKKwljYXNlICdmJzoKKwkgICAgaWYgKHhtbFN0ckVxdWFsKG5vZGUtPm5hbWUsIEJBRF9DQVNUICJmcmFtZSIpKQorCQlyZXR1cm4oMSk7CisJICAgIHJldHVybigwKTsKKwljYXNlICdoJzoKKwkgICAgaWYgKHhtbFN0ckVxdWFsKG5vZGUtPm5hbWUsIEJBRF9DQVNUICJociIpKQorCQlyZXR1cm4oMSk7CisJICAgIHJldHVybigwKTsKKwljYXNlICdpJzoKKwkgICAgaWYgKHhtbFN0ckVxdWFsKG5vZGUtPm5hbWUsIEJBRF9DQVNUICJpbWciKSkKKwkJcmV0dXJuKDEpOworCSAgICBpZiAoeG1sU3RyRXF1YWwobm9kZS0+bmFtZSwgQkFEX0NBU1QgImlucHV0IikpCisJCXJldHVybigxKTsKKwkgICAgaWYgKHhtbFN0ckVxdWFsKG5vZGUtPm5hbWUsIEJBRF9DQVNUICJpc2luZGV4IikpCisJCXJldHVybigxKTsKKwkgICAgcmV0dXJuKDApOworCWNhc2UgJ2wnOgorCSAgICBpZiAoeG1sU3RyRXF1YWwobm9kZS0+bmFtZSwgQkFEX0NBU1QgImxpbmsiKSkKKwkJcmV0dXJuKDEpOworCSAgICByZXR1cm4oMCk7CisJY2FzZSAnbSc6CisJICAgIGlmICh4bWxTdHJFcXVhbChub2RlLT5uYW1lLCBCQURfQ0FTVCAibWV0YSIpKQorCQlyZXR1cm4oMSk7CisJICAgIHJldHVybigwKTsKKwljYXNlICdwJzoKKwkgICAgaWYgKHhtbFN0ckVxdWFsKG5vZGUtPm5hbWUsIEJBRF9DQVNUICJwYXJhbSIpKQorCQlyZXR1cm4oMSk7CisJICAgIHJldHVybigwKTsKKyAgICB9CisgICAgcmV0dXJuKDApOworfQorCisvKioKKyAqIHhodG1sQXR0ckxpc3REdW1wT3V0cHV0OgorICogQGN1cjogIHRoZSBmaXJzdCBhdHRyaWJ1dGUgcG9pbnRlcgorICoKKyAqIER1bXAgYSBsaXN0IG9mIFhNTCBhdHRyaWJ1dGVzCisgKi8KK3N0YXRpYyB2b2lkCit4aHRtbEF0dHJMaXN0RHVtcE91dHB1dCh4bWxTYXZlQ3R4dFB0ciBjdHh0LCB4bWxBdHRyUHRyIGN1cikgeworICAgIHhtbEF0dHJQdHIgeG1sX2xhbmcgPSBOVUxMOworICAgIHhtbEF0dHJQdHIgbGFuZyA9IE5VTEw7CisgICAgeG1sQXR0clB0ciBuYW1lID0gTlVMTDsKKyAgICB4bWxBdHRyUHRyIGlkID0gTlVMTDsKKyAgICB4bWxOb2RlUHRyIHBhcmVudDsKKyAgICB4bWxPdXRwdXRCdWZmZXJQdHIgYnVmOworCisgICAgaWYgKGN1ciA9PSBOVUxMKSByZXR1cm47CisgICAgYnVmID0gY3R4dC0+YnVmOworICAgIHBhcmVudCA9IGN1ci0+cGFyZW50OworICAgIHdoaWxlIChjdXIgIT0gTlVMTCkgeworCWlmICgoY3VyLT5ucyA9PSBOVUxMKSAmJiAoeG1sU3RyRXF1YWwoY3VyLT5uYW1lLCBCQURfQ0FTVCAiaWQiKSkpCisJICAgIGlkID0gY3VyOworCWVsc2UKKwlpZiAoKGN1ci0+bnMgPT0gTlVMTCkgJiYgKHhtbFN0ckVxdWFsKGN1ci0+bmFtZSwgQkFEX0NBU1QgIm5hbWUiKSkpCisJICAgIG5hbWUgPSBjdXI7CisJZWxzZQorCWlmICgoY3VyLT5ucyA9PSBOVUxMKSAmJiAoeG1sU3RyRXF1YWwoY3VyLT5uYW1lLCBCQURfQ0FTVCAibGFuZyIpKSkKKwkgICAgbGFuZyA9IGN1cjsKKwllbHNlCisJaWYgKChjdXItPm5zICE9IE5VTEwpICYmICh4bWxTdHJFcXVhbChjdXItPm5hbWUsIEJBRF9DQVNUICJsYW5nIikpICYmCisJICAgICh4bWxTdHJFcXVhbChjdXItPm5zLT5wcmVmaXgsIEJBRF9DQVNUICJ4bWwiKSkpCisJICAgIHhtbF9sYW5nID0gY3VyOworCWVsc2UgaWYgKChjdXItPm5zID09IE5VTEwpICYmCisJCSAoKGN1ci0+Y2hpbGRyZW4gPT0gTlVMTCkgfHwKKwkJICAoY3VyLT5jaGlsZHJlbi0+Y29udGVudCA9PSBOVUxMKSB8fAorCQkgIChjdXItPmNoaWxkcmVuLT5jb250ZW50WzBdID09IDApKSAmJgorCQkgKGh0bWxJc0Jvb2xlYW5BdHRyKGN1ci0+bmFtZSkpKSB7CisJICAgIGlmIChjdXItPmNoaWxkcmVuICE9IE5VTEwpCisJCXhtbEZyZWVOb2RlKGN1ci0+Y2hpbGRyZW4pOworCSAgICBjdXItPmNoaWxkcmVuID0geG1sTmV3VGV4dChjdXItPm5hbWUpOworCSAgICBpZiAoY3VyLT5jaGlsZHJlbiAhPSBOVUxMKQorCQljdXItPmNoaWxkcmVuLT5wYXJlbnQgPSAoeG1sTm9kZVB0cikgY3VyOworCX0KKyAgICAgICAgeG1sQXR0ckR1bXBPdXRwdXQoY3R4dCwgY3VyKTsKKwljdXIgPSBjdXItPm5leHQ7CisgICAgfQorICAgIC8qCisgICAgICogQy44CisgICAgICovCisgICAgaWYgKChuYW1lICE9IE5VTEwpICYmIChpZCA9PSBOVUxMKSkgeworCWlmICgocGFyZW50ICE9IE5VTEwpICYmIChwYXJlbnQtPm5hbWUgIT0gTlVMTCkgJiYKKwkgICAgKCh4bWxTdHJFcXVhbChwYXJlbnQtPm5hbWUsIEJBRF9DQVNUICJhIikpIHx8CisJICAgICAoeG1sU3RyRXF1YWwocGFyZW50LT5uYW1lLCBCQURfQ0FTVCAicCIpKSB8fAorCSAgICAgKHhtbFN0ckVxdWFsKHBhcmVudC0+bmFtZSwgQkFEX0NBU1QgImRpdiIpKSB8fAorCSAgICAgKHhtbFN0ckVxdWFsKHBhcmVudC0+bmFtZSwgQkFEX0NBU1QgImltZyIpKSB8fAorCSAgICAgKHhtbFN0ckVxdWFsKHBhcmVudC0+bmFtZSwgQkFEX0NBU1QgIm1hcCIpKSB8fAorCSAgICAgKHhtbFN0ckVxdWFsKHBhcmVudC0+bmFtZSwgQkFEX0NBU1QgImFwcGxldCIpKSB8fAorCSAgICAgKHhtbFN0ckVxdWFsKHBhcmVudC0+bmFtZSwgQkFEX0NBU1QgImZvcm0iKSkgfHwKKwkgICAgICh4bWxTdHJFcXVhbChwYXJlbnQtPm5hbWUsIEJBRF9DQVNUICJmcmFtZSIpKSB8fAorCSAgICAgKHhtbFN0ckVxdWFsKHBhcmVudC0+bmFtZSwgQkFEX0NBU1QgImlmcmFtZSIpKSkpIHsKKwkgICAgeG1sT3V0cHV0QnVmZmVyV3JpdGUoYnVmLCA1LCAiIGlkPVwiIik7CisJICAgIHhtbEF0dHJTZXJpYWxpemVDb250ZW50KGJ1ZiwgbmFtZSk7CisJICAgIHhtbE91dHB1dEJ1ZmZlcldyaXRlKGJ1ZiwgMSwgIlwiIik7CisJfQorICAgIH0KKyAgICAvKgorICAgICAqIEMuNy4KKyAgICAgKi8KKyAgICBpZiAoKGxhbmcgIT0gTlVMTCkgJiYgKHhtbF9sYW5nID09IE5VTEwpKSB7CisJeG1sT3V0cHV0QnVmZmVyV3JpdGUoYnVmLCAxMSwgIiB4bWw6bGFuZz1cIiIpOworCXhtbEF0dHJTZXJpYWxpemVDb250ZW50KGJ1ZiwgbGFuZyk7CisJeG1sT3V0cHV0QnVmZmVyV3JpdGUoYnVmLCAxLCAiXCIiKTsKKyAgICB9IGVsc2UKKyAgICBpZiAoKHhtbF9sYW5nICE9IE5VTEwpICYmIChsYW5nID09IE5VTEwpKSB7CisJeG1sT3V0cHV0QnVmZmVyV3JpdGUoYnVmLCA3LCAiIGxhbmc9XCIiKTsKKwl4bWxBdHRyU2VyaWFsaXplQ29udGVudChidWYsIHhtbF9sYW5nKTsKKwl4bWxPdXRwdXRCdWZmZXJXcml0ZShidWYsIDEsICJcIiIpOworICAgIH0KK30KKworLyoqCisgKiB4aHRtbE5vZGVMaXN0RHVtcE91dHB1dDoKKyAqIEBidWY6ICB0aGUgWE1MIGJ1ZmZlciBvdXRwdXQKKyAqIEBkb2M6ICB0aGUgWEhUTUwgZG9jdW1lbnQKKyAqIEBjdXI6ICB0aGUgZmlyc3Qgbm9kZQorICogQGxldmVsOiB0aGUgaW1icmljYXRpb24gbGV2ZWwgZm9yIGluZGVudGluZworICogQGZvcm1hdDogaXMgZm9ybWF0dGluZyBhbGxvd2VkCisgKiBAZW5jb2Rpbmc6ICBhbiBvcHRpb25hbCBlbmNvZGluZyBzdHJpbmcKKyAqCisgKiBEdW1wIGFuIFhNTCBub2RlIGxpc3QsIHJlY3Vyc2l2ZSBiZWhhdmlvdXIsIGNoaWxkcmVuIGFyZSBwcmludGVkIHRvby4KKyAqIE5vdGUgdGhhdCBAZm9ybWF0ID0gMSBwcm92aWRlIG5vZGUgaW5kZW50aW5nIG9ubHkgaWYgeG1sSW5kZW50VHJlZU91dHB1dCA9IDEKKyAqIG9yIHhtbEtlZXBCbGFua3NEZWZhdWx0KDApIHdhcyBjYWxsZWQKKyAqLworc3RhdGljIHZvaWQKK3hodG1sTm9kZUxpc3REdW1wT3V0cHV0KHhtbFNhdmVDdHh0UHRyIGN0eHQsIHhtbE5vZGVQdHIgY3VyKSB7CisgICAgeG1sT3V0cHV0QnVmZmVyUHRyIGJ1ZjsKKworICAgIGlmIChjdXIgPT0gTlVMTCkgcmV0dXJuOworICAgIGJ1ZiA9IGN0eHQtPmJ1ZjsKKyAgICB3aGlsZSAoY3VyICE9IE5VTEwpIHsKKwlpZiAoKGN0eHQtPmZvcm1hdCA9PSAxKSAmJiAoeG1sSW5kZW50VHJlZU91dHB1dCkgJiYKKwkgICAgKGN1ci0+dHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFKSkKKwkgICAgeG1sT3V0cHV0QnVmZmVyV3JpdGUoYnVmLCBjdHh0LT5pbmRlbnRfc2l6ZSAqCisJICAgICAgICAgICAgICAgICAgICAgICAgIChjdHh0LT5sZXZlbCA+IGN0eHQtPmluZGVudF9uciA/CisJCQkJICBjdHh0LT5pbmRlbnRfbnIgOiBjdHh0LT5sZXZlbCksCisJCQkJIGN0eHQtPmluZGVudCk7CisgICAgICAgIHhodG1sTm9kZUR1bXBPdXRwdXQoY3R4dCwgY3VyKTsKKwlpZiAoY3R4dC0+Zm9ybWF0ID09IDEpIHsKKwkgICAgeG1sT3V0cHV0QnVmZmVyV3JpdGUoYnVmLCAxLCAiXG4iKTsKKwl9CisJY3VyID0gY3VyLT5uZXh0OworICAgIH0KK30KKworLyoqCisgKiB4aHRtbE5vZGVEdW1wT3V0cHV0OgorICogQGJ1ZjogIHRoZSBYTUwgYnVmZmVyIG91dHB1dAorICogQGRvYzogIHRoZSBYSFRNTCBkb2N1bWVudAorICogQGN1cjogIHRoZSBjdXJyZW50IG5vZGUKKyAqIEBsZXZlbDogdGhlIGltYnJpY2F0aW9uIGxldmVsIGZvciBpbmRlbnRpbmcKKyAqIEBmb3JtYXQ6IGlzIGZvcm1hdHRpbmcgYWxsb3dlZAorICogQGVuY29kaW5nOiAgYW4gb3B0aW9uYWwgZW5jb2Rpbmcgc3RyaW5nCisgKgorICogRHVtcCBhbiBYSFRNTCBub2RlLCByZWN1cnNpdmUgYmVoYXZpb3VyLCBjaGlsZHJlbiBhcmUgcHJpbnRlZCB0b28uCisgKi8KK3N0YXRpYyB2b2lkCit4aHRtbE5vZGVEdW1wT3V0cHV0KHhtbFNhdmVDdHh0UHRyIGN0eHQsIHhtbE5vZGVQdHIgY3VyKSB7CisgICAgaW50IGZvcm1hdCwgYWRkbWV0YSA9IDA7CisgICAgeG1sTm9kZVB0ciB0bXA7CisgICAgeG1sQ2hhciAqc3RhcnQsICplbmQ7CisgICAgeG1sT3V0cHV0QnVmZmVyUHRyIGJ1ZjsKKworICAgIGlmIChjdXIgPT0gTlVMTCkgcmV0dXJuOworICAgIGlmICgoY3VyLT50eXBlID09IFhNTF9ET0NVTUVOVF9OT0RFKSB8fAorICAgICAgICAoY3VyLT50eXBlID09IFhNTF9IVE1MX0RPQ1VNRU5UX05PREUpKSB7CisgICAgICAgIHhtbERvY0NvbnRlbnREdW1wT3V0cHV0KGN0eHQsICh4bWxEb2NQdHIpIGN1cik7CisJcmV0dXJuOworICAgIH0KKyAgICBpZiAoY3VyLT50eXBlID09IFhNTF9YSU5DTFVERV9TVEFSVCkKKwlyZXR1cm47CisgICAgaWYgKGN1ci0+dHlwZSA9PSBYTUxfWElOQ0xVREVfRU5EKQorCXJldHVybjsKKyAgICBpZiAoY3VyLT50eXBlID09IFhNTF9OQU1FU1BBQ0VfREVDTCkgeworCXhtbE5zRHVtcE91dHB1dEN0eHQoY3R4dCwgKHhtbE5zUHRyKSBjdXIpOworCXJldHVybjsKKyAgICB9CisgICAgaWYgKGN1ci0+dHlwZSA9PSBYTUxfRFREX05PREUpIHsKKyAgICAgICAgeG1sRHRkRHVtcE91dHB1dChjdHh0LCAoeG1sRHRkUHRyKSBjdXIpOworCXJldHVybjsKKyAgICB9CisgICAgaWYgKGN1ci0+dHlwZSA9PSBYTUxfRE9DVU1FTlRfRlJBR19OT0RFKSB7CisgICAgICAgIHhodG1sTm9kZUxpc3REdW1wT3V0cHV0KGN0eHQsIGN1ci0+Y2hpbGRyZW4pOworCXJldHVybjsKKyAgICB9CisgICAgYnVmID0gY3R4dC0+YnVmOworICAgIGlmIChjdXItPnR5cGUgPT0gWE1MX0VMRU1FTlRfREVDTCkgeworICAgICAgICB4bWxCdWZEdW1wRWxlbWVudERlY2woYnVmLT5idWZmZXIsICh4bWxFbGVtZW50UHRyKSBjdXIpOworCXJldHVybjsKKyAgICB9CisgICAgaWYgKGN1ci0+dHlwZSA9PSBYTUxfQVRUUklCVVRFX0RFQ0wpIHsKKyAgICAgICAgeG1sQnVmRHVtcEF0dHJpYnV0ZURlY2woYnVmLT5idWZmZXIsICh4bWxBdHRyaWJ1dGVQdHIpIGN1cik7CisJcmV0dXJuOworICAgIH0KKyAgICBpZiAoY3VyLT50eXBlID09IFhNTF9FTlRJVFlfREVDTCkgeworICAgICAgICB4bWxCdWZEdW1wRW50aXR5RGVjbChidWYtPmJ1ZmZlciwgKHhtbEVudGl0eVB0cikgY3VyKTsKKwlyZXR1cm47CisgICAgfQorICAgIGlmIChjdXItPnR5cGUgPT0gWE1MX1RFWFRfTk9ERSkgeworCWlmIChjdXItPmNvbnRlbnQgIT0gTlVMTCkgeworCSAgICBpZiAoKGN1ci0+bmFtZSA9PSB4bWxTdHJpbmdUZXh0KSB8fAorCQkoY3VyLT5uYW1lICE9IHhtbFN0cmluZ1RleHROb2VuYykpIHsKKyAgICAgICAgICAgICAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZUVzY2FwZShidWYsIGN1ci0+Y29udGVudCwgY3R4dC0+ZXNjYXBlKTsKKwkgICAgfSBlbHNlIHsKKwkJLyoKKwkJICogRGlzYWJsZSBlc2NhcGluZywgbmVlZGVkIGZvciBYU0xUCisJCSAqLworCQl4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyhidWYsIChjb25zdCBjaGFyICopIGN1ci0+Y29udGVudCk7CisJICAgIH0KKwl9CisKKwlyZXR1cm47CisgICAgfQorICAgIGlmIChjdXItPnR5cGUgPT0gWE1MX1BJX05PREUpIHsKKwlpZiAoY3VyLT5jb250ZW50ICE9IE5VTEwpIHsKKwkgICAgeG1sT3V0cHV0QnVmZmVyV3JpdGUoYnVmLCAyLCAiPD8iKTsKKwkgICAgeG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcoYnVmLCAoY29uc3QgY2hhciAqKWN1ci0+bmFtZSk7CisJICAgIGlmIChjdXItPmNvbnRlbnQgIT0gTlVMTCkgeworCQl4bWxPdXRwdXRCdWZmZXJXcml0ZShidWYsIDEsICIgIik7CisJCXhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nKGJ1ZiwgKGNvbnN0IGNoYXIgKiljdXItPmNvbnRlbnQpOworCSAgICB9CisJICAgIHhtbE91dHB1dEJ1ZmZlcldyaXRlKGJ1ZiwgMiwgIj8+Iik7CisJfSBlbHNlIHsKKwkgICAgeG1sT3V0cHV0QnVmZmVyV3JpdGUoYnVmLCAyLCAiPD8iKTsKKwkgICAgeG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcoYnVmLCAoY29uc3QgY2hhciAqKWN1ci0+bmFtZSk7CisJICAgIHhtbE91dHB1dEJ1ZmZlcldyaXRlKGJ1ZiwgMiwgIj8+Iik7CisJfQorCXJldHVybjsKKyAgICB9CisgICAgaWYgKGN1ci0+dHlwZSA9PSBYTUxfQ09NTUVOVF9OT0RFKSB7CisJaWYgKGN1ci0+Y29udGVudCAhPSBOVUxMKSB7CisJICAgIHhtbE91dHB1dEJ1ZmZlcldyaXRlKGJ1ZiwgNCwgIjwhLS0iKTsKKwkgICAgeG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcoYnVmLCAoY29uc3QgY2hhciAqKWN1ci0+Y29udGVudCk7CisJICAgIHhtbE91dHB1dEJ1ZmZlcldyaXRlKGJ1ZiwgMywgIi0tPiIpOworCX0KKwlyZXR1cm47CisgICAgfQorICAgIGlmIChjdXItPnR5cGUgPT0gWE1MX0VOVElUWV9SRUZfTk9ERSkgeworICAgICAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZShidWYsIDEsICImIik7CisJeG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcoYnVmLCAoY29uc3QgY2hhciAqKWN1ci0+bmFtZSk7CisgICAgICAgIHhtbE91dHB1dEJ1ZmZlcldyaXRlKGJ1ZiwgMSwgIjsiKTsKKwlyZXR1cm47CisgICAgfQorICAgIGlmIChjdXItPnR5cGUgPT0gWE1MX0NEQVRBX1NFQ1RJT05fTk9ERSkgeworCWlmIChjdXItPmNvbnRlbnQgPT0gTlVMTCB8fCAqY3VyLT5jb250ZW50ID09ICdcMCcpIHsKKwkgICAgeG1sT3V0cHV0QnVmZmVyV3JpdGUoYnVmLCAxMiwgIjwhW0NEQVRBW11dPiIpOworCX0gZWxzZSB7CisJICAgIHN0YXJ0ID0gZW5kID0gY3VyLT5jb250ZW50OworCSAgICB3aGlsZSAoKmVuZCAhPSAnXDAnKSB7CisJCWlmICgqZW5kID09ICddJyAmJiAqKGVuZCArIDEpID09ICddJyAmJiAqKGVuZCArIDIpID09ICc+JykgeworCQkgICAgZW5kID0gZW5kICsgMjsKKwkJICAgIHhtbE91dHB1dEJ1ZmZlcldyaXRlKGJ1ZiwgOSwgIjwhW0NEQVRBWyIpOworCQkgICAgeG1sT3V0cHV0QnVmZmVyV3JpdGUoYnVmLCBlbmQgLSBzdGFydCwgKGNvbnN0IGNoYXIgKilzdGFydCk7CisJCSAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZShidWYsIDMsICJdXT4iKTsKKwkJICAgIHN0YXJ0ID0gZW5kOworCQl9CisJCWVuZCsrOworCSAgICB9CisJICAgIGlmIChzdGFydCAhPSBlbmQpIHsKKwkJeG1sT3V0cHV0QnVmZmVyV3JpdGUoYnVmLCA5LCAiPCFbQ0RBVEFbIik7CisJCXhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nKGJ1ZiwgKGNvbnN0IGNoYXIgKilzdGFydCk7CisJCXhtbE91dHB1dEJ1ZmZlcldyaXRlKGJ1ZiwgMywgIl1dPiIpOworCSAgICB9CisJfQorCXJldHVybjsKKyAgICB9CisgICAgaWYgKGN1ci0+dHlwZSA9PSBYTUxfQVRUUklCVVRFX05PREUpIHsKKyAgICAgICAgeG1sQXR0ckR1bXBPdXRwdXQoY3R4dCwgKHhtbEF0dHJQdHIpIGN1cik7CisJcmV0dXJuOworICAgIH0KKworICAgIGZvcm1hdCA9IGN0eHQtPmZvcm1hdDsKKyAgICBpZiAoZm9ybWF0ID09IDEpIHsKKwl0bXAgPSBjdXItPmNoaWxkcmVuOworCXdoaWxlICh0bXAgIT0gTlVMTCkgeworCSAgICBpZiAoKHRtcC0+dHlwZSA9PSBYTUxfVEVYVF9OT0RFKSB8fAorCQkodG1wLT50eXBlID09IFhNTF9FTlRJVFlfUkVGX05PREUpKSB7CisJCWZvcm1hdCA9IDA7CisJCWJyZWFrOworCSAgICB9CisJICAgIHRtcCA9IHRtcC0+bmV4dDsKKwl9CisgICAgfQorICAgIHhtbE91dHB1dEJ1ZmZlcldyaXRlKGJ1ZiwgMSwgIjwiKTsKKyAgICBpZiAoKGN1ci0+bnMgIT0gTlVMTCkgJiYgKGN1ci0+bnMtPnByZWZpeCAhPSBOVUxMKSkgeworICAgICAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyhidWYsIChjb25zdCBjaGFyICopY3VyLT5ucy0+cHJlZml4KTsKKwl4bWxPdXRwdXRCdWZmZXJXcml0ZShidWYsIDEsICI6Iik7CisgICAgfQorCisgICAgeG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcoYnVmLCAoY29uc3QgY2hhciAqKWN1ci0+bmFtZSk7CisgICAgaWYgKGN1ci0+bnNEZWYpCisgICAgICAgIHhtbE5zTGlzdER1bXBPdXRwdXRDdHh0KGN0eHQsIGN1ci0+bnNEZWYpOworICAgIGlmICgoeG1sU3RyRXF1YWwoY3VyLT5uYW1lLCBCQURfQ0FTVCAiaHRtbCIpICYmCisJKGN1ci0+bnMgPT0gTlVMTCkgJiYgKGN1ci0+bnNEZWYgPT0gTlVMTCkpKSB7CisJLyoKKwkgKiAzLjEuMS4gU3RyaWN0bHkgQ29uZm9ybWluZyBEb2N1bWVudHMgQS4zLjEuMSAzLworCSAqLworCXhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nKGJ1ZiwKKwkJIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWxcIiIpOworICAgIH0KKyAgICBpZiAoY3VyLT5wcm9wZXJ0aWVzICE9IE5VTEwpCisgICAgICAgIHhodG1sQXR0ckxpc3REdW1wT3V0cHV0KGN0eHQsIGN1ci0+cHJvcGVydGllcyk7CisKKwlpZiAoKGN1ci0+dHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFKSAmJgorCQkoY3VyLT5wYXJlbnQgIT0gTlVMTCkgJiYKKwkJKGN1ci0+cGFyZW50LT5wYXJlbnQgPT0gKHhtbE5vZGVQdHIpIGN1ci0+ZG9jKSAmJgorCQl4bWxTdHJFcXVhbChjdXItPm5hbWUsIEJBRF9DQVNUImhlYWQiKSAmJgorCQl4bWxTdHJFcXVhbChjdXItPnBhcmVudC0+bmFtZSwgQkFEX0NBU1QiaHRtbCIpKSB7CisKKwkJdG1wID0gY3VyLT5jaGlsZHJlbjsKKwkJd2hpbGUgKHRtcCAhPSBOVUxMKSB7CisJCQlpZiAoeG1sU3RyRXF1YWwodG1wLT5uYW1lLCBCQURfQ0FTVCJtZXRhIikpIHsKKwkJCQl4bWxDaGFyICpodHRwZXF1aXY7CisKKwkJCQlodHRwZXF1aXYgPSB4bWxHZXRQcm9wKHRtcCwgQkFEX0NBU1QiaHR0cC1lcXVpdiIpOworCQkJCWlmIChodHRwZXF1aXYgIT0gTlVMTCkgeworCQkJCQlpZiAoeG1sU3RyY2FzZWNtcChodHRwZXF1aXYsIEJBRF9DQVNUIkNvbnRlbnQtVHlwZSIpID09IDApIHsKKwkJCQkJCXhtbEZyZWUoaHR0cGVxdWl2KTsKKwkJCQkJCWJyZWFrOworCQkJCQl9CisJCQkJCXhtbEZyZWUoaHR0cGVxdWl2KTsKKwkJCQl9CisJCQl9CisJCQl0bXAgPSB0bXAtPm5leHQ7CisJCX0KKwkJaWYgKHRtcCA9PSBOVUxMKQorCQkJYWRkbWV0YSA9IDE7CisJfQorCisgICAgaWYgKChjdXItPnR5cGUgPT0gWE1MX0VMRU1FTlRfTk9ERSkgJiYgKGN1ci0+Y2hpbGRyZW4gPT0gTlVMTCkpIHsKKwlpZiAoKChjdXItPm5zID09IE5VTEwpIHx8IChjdXItPm5zLT5wcmVmaXggPT0gTlVMTCkpICYmCisJICAgICgoeGh0bWxJc0VtcHR5KGN1cikgPT0gMSkgJiYgKGFkZG1ldGEgPT0gMCkpKSB7CisJICAgIC8qCisJICAgICAqIEMuMi4gRW1wdHkgRWxlbWVudHMKKwkgICAgICovCisJICAgIHhtbE91dHB1dEJ1ZmZlcldyaXRlKGJ1ZiwgMywgIiAvPiIpOworCX0gZWxzZSB7CisJCWlmIChhZGRtZXRhID09IDEpIHsKKwkJCXhtbE91dHB1dEJ1ZmZlcldyaXRlKGJ1ZiwgMSwgIj4iKTsKKwkJCWlmIChjdHh0LT5mb3JtYXQgPT0gMSkgeworCQkJCXhtbE91dHB1dEJ1ZmZlcldyaXRlKGJ1ZiwgMSwgIlxuIik7CisJCQkJaWYgKHhtbEluZGVudFRyZWVPdXRwdXQpCisJCQkJCXhtbE91dHB1dEJ1ZmZlcldyaXRlKGJ1ZiwgY3R4dC0+aW5kZW50X3NpemUgKgorCQkJCQkoY3R4dC0+bGV2ZWwgKyAxID4gY3R4dC0+aW5kZW50X25yID8KKwkJCQkJY3R4dC0+aW5kZW50X25yIDogY3R4dC0+bGV2ZWwgKyAxKSwgY3R4dC0+aW5kZW50KTsKKwkJCX0KKwkJCXhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nKGJ1ZiwKKwkJCQkiPG1ldGEgaHR0cC1lcXVpdj1cIkNvbnRlbnQtVHlwZVwiIGNvbnRlbnQ9XCJ0ZXh0L2h0bWw7IGNoYXJzZXQ9Iik7CisJCQlpZiAoY3R4dC0+ZW5jb2RpbmcpIHsKKwkJCQl4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyhidWYsIChjb25zdCBjaGFyICopY3R4dC0+ZW5jb2RpbmcpOworCQkJfSBlbHNlIHsKKwkJCQl4bWxPdXRwdXRCdWZmZXJXcml0ZShidWYsIDUsICJVVEYtOCIpOworCQkJfQorCQkJeG1sT3V0cHV0QnVmZmVyV3JpdGUoYnVmLCA0LCAiXCIgLz4iKTsKKwkJCWlmIChjdHh0LT5mb3JtYXQgPT0gMSkKKwkJCQl4bWxPdXRwdXRCdWZmZXJXcml0ZShidWYsIDEsICJcbiIpOworCQl9IGVsc2UgeworCQkJeG1sT3V0cHV0QnVmZmVyV3JpdGUoYnVmLCAxLCAiPiIpOworCQl9CisJICAgIC8qCisJICAgICAqIEMuMy4gRWxlbWVudCBNaW5pbWl6YXRpb24gYW5kIEVtcHR5IEVsZW1lbnQgQ29udGVudAorCSAgICAgKi8KKwkgICAgeG1sT3V0cHV0QnVmZmVyV3JpdGUoYnVmLCAyLCAiPC8iKTsKKwkgICAgaWYgKChjdXItPm5zICE9IE5VTEwpICYmIChjdXItPm5zLT5wcmVmaXggIT0gTlVMTCkpIHsKKwkJeG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcoYnVmLCAoY29uc3QgY2hhciAqKWN1ci0+bnMtPnByZWZpeCk7CisJCXhtbE91dHB1dEJ1ZmZlcldyaXRlKGJ1ZiwgMSwgIjoiKTsKKwkgICAgfQorCSAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyhidWYsIChjb25zdCBjaGFyICopY3VyLT5uYW1lKTsKKwkgICAgeG1sT3V0cHV0QnVmZmVyV3JpdGUoYnVmLCAxLCAiPiIpOworCX0KKwlyZXR1cm47CisgICAgfQorICAgIHhtbE91dHB1dEJ1ZmZlcldyaXRlKGJ1ZiwgMSwgIj4iKTsKKwlpZiAoYWRkbWV0YSA9PSAxKSB7CisJCWlmIChjdHh0LT5mb3JtYXQgPT0gMSkgeworCQkJeG1sT3V0cHV0QnVmZmVyV3JpdGUoYnVmLCAxLCAiXG4iKTsKKwkJCWlmICh4bWxJbmRlbnRUcmVlT3V0cHV0KQorCQkJCXhtbE91dHB1dEJ1ZmZlcldyaXRlKGJ1ZiwgY3R4dC0+aW5kZW50X3NpemUgKgorCQkJCShjdHh0LT5sZXZlbCArIDEgPiBjdHh0LT5pbmRlbnRfbnIgPworCQkJCWN0eHQtPmluZGVudF9uciA6IGN0eHQtPmxldmVsICsgMSksIGN0eHQtPmluZGVudCk7CisJCX0KKwkJeG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcoYnVmLAorCQkJIjxtZXRhIGh0dHAtZXF1aXY9XCJDb250ZW50LVR5cGVcIiBjb250ZW50PVwidGV4dC9odG1sOyBjaGFyc2V0PSIpOworCQlpZiAoY3R4dC0+ZW5jb2RpbmcpIHsKKwkJCXhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nKGJ1ZiwgKGNvbnN0IGNoYXIgKiljdHh0LT5lbmNvZGluZyk7CisJCX0gZWxzZSB7CisJCQl4bWxPdXRwdXRCdWZmZXJXcml0ZShidWYsIDUsICJVVEYtOCIpOworCQl9CisJCXhtbE91dHB1dEJ1ZmZlcldyaXRlKGJ1ZiwgNCwgIlwiIC8+Iik7CisJfQorICAgIGlmICgoY3VyLT50eXBlICE9IFhNTF9FTEVNRU5UX05PREUpICYmIChjdXItPmNvbnRlbnQgIT0gTlVMTCkpIHsKKwl4bWxPdXRwdXRCdWZmZXJXcml0ZUVzY2FwZShidWYsIGN1ci0+Y29udGVudCwgY3R4dC0+ZXNjYXBlKTsKKyAgICB9CisKKyNpZiAwCisgICAgLyoKKyAgICAqIFRoaXMgd2FzIHJlbW92ZWQgZHVlIHRvIHByb2JsZW1zIHdpdGggSFRNTCBwcm9jZXNzb3JzLgorICAgICogU2VlIGJ1ZyAjMzQ1MTQ3LgorICAgICovCisgICAgLyoKKyAgICAgKiA0LjguIFNjcmlwdCBhbmQgU3R5bGUgZWxlbWVudHMKKyAgICAgKi8KKyAgICBpZiAoKGN1ci0+dHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFKSAmJgorCSgoeG1sU3RyRXF1YWwoY3VyLT5uYW1lLCBCQURfQ0FTVCAic2NyaXB0IikpIHx8CisJICh4bWxTdHJFcXVhbChjdXItPm5hbWUsIEJBRF9DQVNUICJzdHlsZSIpKSkgJiYKKwkoKGN1ci0+bnMgPT0gTlVMTCkgfHwKKwkgKHhtbFN0ckVxdWFsKGN1ci0+bnMtPmhyZWYsIFhIVE1MX05TX05BTUUpKSkpIHsKKwl4bWxOb2RlUHRyIGNoaWxkID0gY3VyLT5jaGlsZHJlbjsKKworCXdoaWxlIChjaGlsZCAhPSBOVUxMKSB7CisJICAgIGlmIChjaGlsZC0+dHlwZSA9PSBYTUxfVEVYVF9OT0RFKSB7CisJCWlmICgoeG1sU3RyY2hyKGNoaWxkLT5jb250ZW50LCAnPCcpID09IE5VTEwpICYmCisJCSAgICAoeG1sU3RyY2hyKGNoaWxkLT5jb250ZW50LCAnJicpID09IE5VTEwpICYmCisJCSAgICAoeG1sU3Ryc3RyKGNoaWxkLT5jb250ZW50LCBCQURfQ0FTVCAiXV0+IikgPT0gTlVMTCkpIHsKKwkJICAgIC8qIE5vdGhpbmcgdG8gZXNjYXBlLCBzbyBqdXN0IG91dHB1dCBhcyBpcy4uLiAqLworCQkgICAgLyogRklYTUU6IFNob3VsZCB3ZSBkbyBzb21ldGhpbmcgYWJvdXQgIi0tIiBhbHNvPyAqLworCQkgICAgaW50IGxldmVsID0gY3R4dC0+bGV2ZWw7CisJCSAgICBpbnQgaW5kZW50ID0gY3R4dC0+Zm9ybWF0OworCisJCSAgICBjdHh0LT5sZXZlbCA9IDA7CisJCSAgICBjdHh0LT5mb3JtYXQgPSAwOworCQkgICAgeG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcoYnVmLCAoY29uc3QgY2hhciAqKSBjaGlsZC0+Y29udGVudCk7CisJCSAgICAvKiAoV2UgY2Fubm90IHVzZSB4aHRtbE5vZGVEdW1wT3V0cHV0KCkgaGVyZSBiZWNhdXNlCisJCSAgICAgKiB3ZSB3aXNoIHRvIGxlYXZlICc+JyB1bmVzY2FwZWQhKSAqLworCQkgICAgY3R4dC0+bGV2ZWwgPSBsZXZlbDsKKwkJICAgIGN0eHQtPmZvcm1hdCA9IGluZGVudDsKKwkJfSBlbHNlIHsKKwkJICAgIC8qIFdlIG11c3QgdXNlIGEgQ0RBVEEgc2VjdGlvbi4gIFVuZm9ydHVuYXRlbHksCisJCSAgICAgKiB0aGlzIHdpbGwgYnJlYWsgQ1NTIGFuZCBKYXZhU2NyaXB0IHdoZW4gcmVhZCBieQorCQkgICAgICogYSBicm93c2VyIGluIEhUTUw0LWNvbXBsaWFudCBtb2RlLiA6LSggKi8KKwkJICAgIHN0YXJ0ID0gZW5kID0gY2hpbGQtPmNvbnRlbnQ7CisJCSAgICB3aGlsZSAoKmVuZCAhPSAnXDAnKSB7CisJCQlpZiAoKmVuZCA9PSAnXScgJiYKKwkJCSAgICAqKGVuZCArIDEpID09ICddJyAmJgorCQkJICAgICooZW5kICsgMikgPT0gJz4nKSB7CisJCQkgICAgZW5kID0gZW5kICsgMjsKKwkJCSAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZShidWYsIDksICI8IVtDREFUQVsiKTsKKwkJCSAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZShidWYsIGVuZCAtIHN0YXJ0LAorCQkJCQkJIChjb25zdCBjaGFyICopc3RhcnQpOworCQkJICAgIHhtbE91dHB1dEJ1ZmZlcldyaXRlKGJ1ZiwgMywgIl1dPiIpOworCQkJICAgIHN0YXJ0ID0gZW5kOworCQkJfQorCQkJZW5kKys7CisJCSAgICB9CisJCSAgICBpZiAoc3RhcnQgIT0gZW5kKSB7CisJCQl4bWxPdXRwdXRCdWZmZXJXcml0ZShidWYsIDksICI8IVtDREFUQVsiKTsKKwkJCXhtbE91dHB1dEJ1ZmZlcldyaXRlKGJ1ZiwgZW5kIC0gc3RhcnQsCisJCQkgICAgICAgICAgICAgICAgICAgICAoY29uc3QgY2hhciAqKXN0YXJ0KTsKKwkJCXhtbE91dHB1dEJ1ZmZlcldyaXRlKGJ1ZiwgMywgIl1dPiIpOworCQkgICAgfQorCQl9CisJICAgIH0gZWxzZSB7CisJCWludCBsZXZlbCA9IGN0eHQtPmxldmVsOworCQlpbnQgaW5kZW50ID0gY3R4dC0+Zm9ybWF0OworCisJCWN0eHQtPmxldmVsID0gMDsKKwkJY3R4dC0+Zm9ybWF0ID0gMDsKKwkJeGh0bWxOb2RlRHVtcE91dHB1dChjdHh0LCBjaGlsZCk7CisJCWN0eHQtPmxldmVsID0gbGV2ZWw7CisJCWN0eHQtPmZvcm1hdCA9IGluZGVudDsKKwkgICAgfQorCSAgICBjaGlsZCA9IGNoaWxkLT5uZXh0OworCX0KKyAgICB9CisjZW5kaWYKKworICAgIGlmIChjdXItPmNoaWxkcmVuICE9IE5VTEwpIHsKKwlpbnQgaW5kZW50ID0gY3R4dC0+Zm9ybWF0OworCisJaWYgKGZvcm1hdCA9PSAxKSB4bWxPdXRwdXRCdWZmZXJXcml0ZShidWYsIDEsICJcbiIpOworCWlmIChjdHh0LT5sZXZlbCA+PSAwKSBjdHh0LT5sZXZlbCsrOworCWN0eHQtPmZvcm1hdCA9IGZvcm1hdDsKKwl4aHRtbE5vZGVMaXN0RHVtcE91dHB1dChjdHh0LCBjdXItPmNoaWxkcmVuKTsKKwlpZiAoY3R4dC0+bGV2ZWwgPiAwKSBjdHh0LT5sZXZlbC0tOworCWN0eHQtPmZvcm1hdCA9IGluZGVudDsKKwlpZiAoKHhtbEluZGVudFRyZWVPdXRwdXQpICYmIChmb3JtYXQgPT0gMSkpCisJICAgIHhtbE91dHB1dEJ1ZmZlcldyaXRlKGJ1ZiwgY3R4dC0+aW5kZW50X3NpemUgKgorCSAgICAgICAgICAgICAgICAgICAgICAgICAoY3R4dC0+bGV2ZWwgPiBjdHh0LT5pbmRlbnRfbnIgPworCQkJCSAgY3R4dC0+aW5kZW50X25yIDogY3R4dC0+bGV2ZWwpLAorCQkJCSBjdHh0LT5pbmRlbnQpOworICAgIH0KKyAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZShidWYsIDIsICI8LyIpOworICAgIGlmICgoY3VyLT5ucyAhPSBOVUxMKSAmJiAoY3VyLT5ucy0+cHJlZml4ICE9IE5VTEwpKSB7CisgICAgICAgIHhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nKGJ1ZiwgKGNvbnN0IGNoYXIgKiljdXItPm5zLT5wcmVmaXgpOworCXhtbE91dHB1dEJ1ZmZlcldyaXRlKGJ1ZiwgMSwgIjoiKTsKKyAgICB9CisKKyAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyhidWYsIChjb25zdCBjaGFyICopY3VyLT5uYW1lKTsKKyAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZShidWYsIDEsICI+Iik7Cit9CisjZW5kaWYKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJCVB1YmxpYyBlbnRyeSBwb2ludHMJCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioKKyAqIHhtbFNhdmVUb0ZkOgorICogQGZkOiAgYSBmaWxlIGRlc2NyaXB0b3IgbnVtYmVyCisgKiBAZW5jb2Rpbmc6ICB0aGUgZW5jb2RpbmcgbmFtZSB0byB1c2Ugb3IgTlVMTAorICogQG9wdGlvbnM6ICBhIHNldCBvZiB4bWxTYXZlT3B0aW9ucworICoKKyAqIENyZWF0ZSBhIGRvY3VtZW50IHNhdmluZyBjb250ZXh0IHNlcmlhbGl6aW5nIHRvIGEgZmlsZSBkZXNjcmlwdG9yCisgKiB3aXRoIHRoZSBlbmNvZGluZyBhbmQgdGhlIG9wdGlvbnMgZ2l2ZW4uCisgKgorICogUmV0dXJucyBhIG5ldyBzZXJpYWxpemF0aW9uIGNvbnRleHQgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLgorICovCit4bWxTYXZlQ3R4dFB0cgoreG1sU2F2ZVRvRmQoaW50IGZkLCBjb25zdCBjaGFyICplbmNvZGluZywgaW50IG9wdGlvbnMpCit7CisgICAgeG1sU2F2ZUN0eHRQdHIgcmV0OworCisgICAgcmV0ID0geG1sTmV3U2F2ZUN0eHQoZW5jb2RpbmcsIG9wdGlvbnMpOworICAgIGlmIChyZXQgPT0gTlVMTCkgcmV0dXJuKE5VTEwpOworICAgIHJldC0+YnVmID0geG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmQoZmQsIHJldC0+aGFuZGxlcik7CisgICAgaWYgKHJldC0+YnVmID09IE5VTEwpIHsKKwl4bWxGcmVlU2F2ZUN0eHQocmV0KTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbFNhdmVUb0ZpbGVuYW1lOgorICogQGZpbGVuYW1lOiAgYSBmaWxlIG5hbWUgb3IgYW4gVVJMCisgKiBAZW5jb2Rpbmc6ICB0aGUgZW5jb2RpbmcgbmFtZSB0byB1c2Ugb3IgTlVMTAorICogQG9wdGlvbnM6ICBhIHNldCBvZiB4bWxTYXZlT3B0aW9ucworICoKKyAqIENyZWF0ZSBhIGRvY3VtZW50IHNhdmluZyBjb250ZXh0IHNlcmlhbGl6aW5nIHRvIGEgZmlsZW5hbWUgb3IgcG9zc2libHkKKyAqIHRvIGFuIFVSTCAoYnV0IHRoaXMgaXMgbGVzcyByZWxpYWJsZSkgd2l0aCB0aGUgZW5jb2RpbmcgYW5kIHRoZSBvcHRpb25zCisgKiBnaXZlbi4KKyAqCisgKiBSZXR1cm5zIGEgbmV3IHNlcmlhbGl6YXRpb24gY29udGV4dCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK3htbFNhdmVDdHh0UHRyCit4bWxTYXZlVG9GaWxlbmFtZShjb25zdCBjaGFyICpmaWxlbmFtZSwgY29uc3QgY2hhciAqZW5jb2RpbmcsIGludCBvcHRpb25zKQoreworICAgIHhtbFNhdmVDdHh0UHRyIHJldDsKKyAgICBpbnQgY29tcHJlc3Npb24gPSAwOyAvKiBUT0RPIGhhbmRsZSBjb21wcmVzc2lvbiBvcHRpb24gKi8KKworICAgIHJldCA9IHhtbE5ld1NhdmVDdHh0KGVuY29kaW5nLCBvcHRpb25zKTsKKyAgICBpZiAocmV0ID09IE5VTEwpIHJldHVybihOVUxMKTsKKyAgICByZXQtPmJ1ZiA9IHhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lKGZpbGVuYW1lLCByZXQtPmhhbmRsZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wcmVzc2lvbik7CisgICAgaWYgKHJldC0+YnVmID09IE5VTEwpIHsKKwl4bWxGcmVlU2F2ZUN0eHQocmV0KTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbFNhdmVUb0J1ZmZlcjoKKyAqIEBidWZmZXI6ICBhIGJ1ZmZlcgorICogQGVuY29kaW5nOiAgdGhlIGVuY29kaW5nIG5hbWUgdG8gdXNlIG9yIE5VTEwKKyAqIEBvcHRpb25zOiAgYSBzZXQgb2YgeG1sU2F2ZU9wdGlvbnMKKyAqCisgKiBDcmVhdGUgYSBkb2N1bWVudCBzYXZpbmcgY29udGV4dCBzZXJpYWxpemluZyB0byBhIGJ1ZmZlcgorICogd2l0aCB0aGUgZW5jb2RpbmcgYW5kIHRoZSBvcHRpb25zIGdpdmVuCisgKgorICogUmV0dXJucyBhIG5ldyBzZXJpYWxpemF0aW9uIGNvbnRleHQgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLgorICovCisKK3htbFNhdmVDdHh0UHRyCit4bWxTYXZlVG9CdWZmZXIoeG1sQnVmZmVyUHRyIGJ1ZmZlciwgY29uc3QgY2hhciAqZW5jb2RpbmcsIGludCBvcHRpb25zKQoreworICAgIHhtbFNhdmVDdHh0UHRyIHJldDsKKyAgICB4bWxPdXRwdXRCdWZmZXJQdHIgb3V0X2J1ZmY7CisgICAgeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0ciBoYW5kbGVyOworCisgICAgcmV0ID0geG1sTmV3U2F2ZUN0eHQoZW5jb2RpbmcsIG9wdGlvbnMpOworICAgIGlmIChyZXQgPT0gTlVMTCkgcmV0dXJuKE5VTEwpOworCisgICAgaWYgKGVuY29kaW5nICE9IE5VTEwpIHsKKyAgICAgICAgaGFuZGxlciA9IHhtbEZpbmRDaGFyRW5jb2RpbmdIYW5kbGVyKGVuY29kaW5nKTsKKyAgICAgICAgaWYgKGhhbmRsZXIgPT0gTlVMTCkgeworICAgICAgICAgICAgeG1sRnJlZShyZXQpOworICAgICAgICAgICAgcmV0dXJuKE5VTEwpOworICAgICAgICB9CisgICAgfSBlbHNlCisgICAgICAgIGhhbmRsZXIgPSBOVUxMOworICAgIG91dF9idWZmID0geG1sT3V0cHV0QnVmZmVyQ3JlYXRlQnVmZmVyKGJ1ZmZlciwgaGFuZGxlcik7CisgICAgaWYgKG91dF9idWZmID09IE5VTEwpIHsKKyAgICAgICAgeG1sRnJlZShyZXQpOworICAgICAgICBpZiAoaGFuZGxlcikgeG1sQ2hhckVuY0Nsb3NlRnVuYyhoYW5kbGVyKTsKKyAgICAgICAgcmV0dXJuKE5VTEwpOworICAgIH0KKworICAgIHJldC0+YnVmID0gb3V0X2J1ZmY7CisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogeG1sU2F2ZVRvSU86CisgKiBAaW93cml0ZTogIGFuIEkvTyB3cml0ZSBmdW5jdGlvbgorICogQGlvY2xvc2U6ICBhbiBJL08gY2xvc2UgZnVuY3Rpb24KKyAqIEBpb2N0eDogIGFuIEkvTyBoYW5kbGVyCisgKiBAZW5jb2Rpbmc6ICB0aGUgZW5jb2RpbmcgbmFtZSB0byB1c2Ugb3IgTlVMTAorICogQG9wdGlvbnM6ICBhIHNldCBvZiB4bWxTYXZlT3B0aW9ucworICoKKyAqIENyZWF0ZSBhIGRvY3VtZW50IHNhdmluZyBjb250ZXh0IHNlcmlhbGl6aW5nIHRvIGEgZmlsZSBkZXNjcmlwdG9yCisgKiB3aXRoIHRoZSBlbmNvZGluZyBhbmQgdGhlIG9wdGlvbnMgZ2l2ZW4KKyAqCisgKiBSZXR1cm5zIGEgbmV3IHNlcmlhbGl6YXRpb24gY29udGV4dCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK3htbFNhdmVDdHh0UHRyCit4bWxTYXZlVG9JTyh4bWxPdXRwdXRXcml0ZUNhbGxiYWNrIGlvd3JpdGUsCisgICAgICAgICAgICB4bWxPdXRwdXRDbG9zZUNhbGxiYWNrIGlvY2xvc2UsCisgICAgICAgICAgICB2b2lkICppb2N0eCwgY29uc3QgY2hhciAqZW5jb2RpbmcsIGludCBvcHRpb25zKQoreworICAgIHhtbFNhdmVDdHh0UHRyIHJldDsKKworICAgIHJldCA9IHhtbE5ld1NhdmVDdHh0KGVuY29kaW5nLCBvcHRpb25zKTsKKyAgICBpZiAocmV0ID09IE5VTEwpIHJldHVybihOVUxMKTsKKyAgICByZXQtPmJ1ZiA9IHhtbE91dHB1dEJ1ZmZlckNyZWF0ZUlPKGlvd3JpdGUsIGlvY2xvc2UsIGlvY3R4LCByZXQtPmhhbmRsZXIpOworICAgIGlmIChyZXQtPmJ1ZiA9PSBOVUxMKSB7CisJeG1sRnJlZVNhdmVDdHh0KHJldCk7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxTYXZlRG9jOgorICogQGN0eHQ6ICBhIGRvY3VtZW50IHNhdmluZyBjb250ZXh0CisgKiBAZG9jOiAgYSBkb2N1bWVudAorICoKKyAqIFNhdmUgYSBmdWxsIGRvY3VtZW50IHRvIGEgc2F2aW5nIGNvbnRleHQKKyAqIFRPRE86IFRoZSBmdW5jdGlvbiBpcyBub3QgZnVsbHkgaW1wbGVtZW50ZWQgeWV0IGFzIGl0IGRvZXMgbm90IHJldHVybiB0aGUKKyAqIGJ5dGUgY291bnQgYnV0IDAgaW5zdGVhZAorICoKKyAqIFJldHVybnMgdGhlIG51bWJlciBvZiBieXRlIHdyaXR0ZW4gb3IgLTEgaW4gY2FzZSBvZiBlcnJvcgorICovCitsb25nCit4bWxTYXZlRG9jKHhtbFNhdmVDdHh0UHRyIGN0eHQsIHhtbERvY1B0ciBkb2MpCit7CisgICAgbG9uZyByZXQgPSAwOworCisgICAgaWYgKChjdHh0ID09IE5VTEwpIHx8IChkb2MgPT0gTlVMTCkpIHJldHVybigtMSk7CisgICAgaWYgKHhtbERvY0NvbnRlbnREdW1wT3V0cHV0KGN0eHQsIGRvYykgPCAwKQorICAgICAgICByZXR1cm4oLTEpOworICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbFNhdmVUcmVlOgorICogQGN0eHQ6ICBhIGRvY3VtZW50IHNhdmluZyBjb250ZXh0CisgKiBAbm9kZTogIHRoZSB0b3Agbm9kZSBvZiB0aGUgc3VidHJlZSB0byBzYXZlCisgKgorICogU2F2ZSBhIHN1YnRyZWUgc3RhcnRpbmcgYXQgdGhlIG5vZGUgcGFyYW1ldGVyIHRvIGEgc2F2aW5nIGNvbnRleHQKKyAqIFRPRE86IFRoZSBmdW5jdGlvbiBpcyBub3QgZnVsbHkgaW1wbGVtZW50ZWQgeWV0IGFzIGl0IGRvZXMgbm90IHJldHVybiB0aGUKKyAqIGJ5dGUgY291bnQgYnV0IDAgaW5zdGVhZAorICoKKyAqIFJldHVybnMgdGhlIG51bWJlciBvZiBieXRlIHdyaXR0ZW4gb3IgLTEgaW4gY2FzZSBvZiBlcnJvcgorICovCitsb25nCit4bWxTYXZlVHJlZSh4bWxTYXZlQ3R4dFB0ciBjdHh0LCB4bWxOb2RlUHRyIG5vZGUpCit7CisgICAgbG9uZyByZXQgPSAwOworCisgICAgaWYgKChjdHh0ID09IE5VTEwpIHx8IChub2RlID09IE5VTEwpKSByZXR1cm4oLTEpOworICAgIHhtbE5vZGVEdW1wT3V0cHV0SW50ZXJuYWwoY3R4dCwgbm9kZSk7CisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogeG1sU2F2ZUZsdXNoOgorICogQGN0eHQ6ICBhIGRvY3VtZW50IHNhdmluZyBjb250ZXh0CisgKgorICogRmx1c2ggYSBkb2N1bWVudCBzYXZpbmcgY29udGV4dCwgaS5lLiBtYWtlIHN1cmUgdGhhdCBhbGwgYnl0ZXMgaGF2ZQorICogYmVlbiBvdXRwdXQuCisgKgorICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIGJ5dGUgd3JpdHRlbiBvciAtMSBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQKK3htbFNhdmVGbHVzaCh4bWxTYXZlQ3R4dFB0ciBjdHh0KQoreworICAgIGlmIChjdHh0ID09IE5VTEwpIHJldHVybigtMSk7CisgICAgaWYgKGN0eHQtPmJ1ZiA9PSBOVUxMKSByZXR1cm4oLTEpOworICAgIHJldHVybih4bWxPdXRwdXRCdWZmZXJGbHVzaChjdHh0LT5idWYpKTsKK30KKworLyoqCisgKiB4bWxTYXZlQ2xvc2U6CisgKiBAY3R4dDogIGEgZG9jdW1lbnQgc2F2aW5nIGNvbnRleHQKKyAqCisgKiBDbG9zZSBhIGRvY3VtZW50IHNhdmluZyBjb250ZXh0LCBpLmUuIG1ha2Ugc3VyZSB0aGF0IGFsbCBieXRlcyBoYXZlCisgKiBiZWVuIG91dHB1dCBhbmQgZnJlZSB0aGUgYXNzb2NpYXRlZCBkYXRhLgorICoKKyAqIFJldHVybnMgdGhlIG51bWJlciBvZiBieXRlIHdyaXR0ZW4gb3IgLTEgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50Cit4bWxTYXZlQ2xvc2UoeG1sU2F2ZUN0eHRQdHIgY3R4dCkKK3sKKyAgICBpbnQgcmV0OworCisgICAgaWYgKGN0eHQgPT0gTlVMTCkgcmV0dXJuKC0xKTsKKyAgICByZXQgPSB4bWxTYXZlRmx1c2goY3R4dCk7CisgICAgeG1sRnJlZVNhdmVDdHh0KGN0eHQpOworICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbFNhdmVTZXRFc2NhcGU6CisgKiBAY3R4dDogIGEgZG9jdW1lbnQgc2F2aW5nIGNvbnRleHQKKyAqIEBlc2NhcGU6ICB0aGUgZXNjYXBpbmcgZnVuY3Rpb24KKyAqCisgKiBTZXQgYSBjdXN0b20gZXNjYXBpbmcgZnVuY3Rpb24gdG8gYmUgdXNlZCBmb3IgdGV4dCBpbiBlbGVtZW50IGNvbnRlbnQKKyAqCisgKiBSZXR1cm5zIDAgaWYgc3VjY2Vzc2Z1bCBvciAtMSBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQKK3htbFNhdmVTZXRFc2NhcGUoeG1sU2F2ZUN0eHRQdHIgY3R4dCwgeG1sQ2hhckVuY29kaW5nT3V0cHV0RnVuYyBlc2NhcGUpCit7CisgICAgaWYgKGN0eHQgPT0gTlVMTCkgcmV0dXJuKC0xKTsKKyAgICBjdHh0LT5lc2NhcGUgPSBlc2NhcGU7CisgICAgcmV0dXJuKDApOworfQorCisvKioKKyAqIHhtbFNhdmVTZXRBdHRyRXNjYXBlOgorICogQGN0eHQ6ICBhIGRvY3VtZW50IHNhdmluZyBjb250ZXh0CisgKiBAZXNjYXBlOiAgdGhlIGVzY2FwaW5nIGZ1bmN0aW9uCisgKgorICogU2V0IGEgY3VzdG9tIGVzY2FwaW5nIGZ1bmN0aW9uIHRvIGJlIHVzZWQgZm9yIHRleHQgaW4gYXR0cmlidXRlIGNvbnRlbnQKKyAqCisgKiBSZXR1cm5zIDAgaWYgc3VjY2Vzc2Z1bCBvciAtMSBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQKK3htbFNhdmVTZXRBdHRyRXNjYXBlKHhtbFNhdmVDdHh0UHRyIGN0eHQsIHhtbENoYXJFbmNvZGluZ091dHB1dEZ1bmMgZXNjYXBlKQoreworICAgIGlmIChjdHh0ID09IE5VTEwpIHJldHVybigtMSk7CisgICAgY3R4dC0+ZXNjYXBlQXR0ciA9IGVzY2FwZTsKKyAgICByZXR1cm4oMCk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCVB1YmxpYyBlbnRyeSBwb2ludHMgYmFzZWQgb24gYnVmZmVycwkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqCisgKiB4bWxCdWZBdHRyU2VyaWFsaXplVHh0Q29udGVudDoKKyAqIEBidWY6ICBhbmQgeG1sQnVmUHRyIG91dHB1dAorICogQGRvYzogIHRoZSBkb2N1bWVudAorICogQGF0dHI6IHRoZSBhdHRyaWJ1dGUgbm9kZQorICogQHN0cmluZzogdGhlIHRleHQgY29udGVudAorICoKKyAqIFNlcmlhbGl6ZSB0ZXh0IGF0dHJpYnV0ZSB2YWx1ZXMgdG8gYW4geG1sQnVmUHRyCisgKi8KK3ZvaWQKK3htbEJ1ZkF0dHJTZXJpYWxpemVUeHRDb250ZW50KHhtbEJ1ZlB0ciBidWYsIHhtbERvY1B0ciBkb2MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxBdHRyUHRyIGF0dHIsIGNvbnN0IHhtbENoYXIgKiBzdHJpbmcpCit7CisgICAgeG1sQ2hhciAqYmFzZSwgKmN1cjsKKworICAgIGlmIChzdHJpbmcgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuOworICAgIGJhc2UgPSBjdXIgPSAoeG1sQ2hhciAqKSBzdHJpbmc7CisgICAgd2hpbGUgKCpjdXIgIT0gMCkgeworICAgICAgICBpZiAoKmN1ciA9PSAnXG4nKSB7CisgICAgICAgICAgICBpZiAoYmFzZSAhPSBjdXIpCisgICAgICAgICAgICAgICAgeG1sQnVmQWRkKGJ1ZiwgYmFzZSwgY3VyIC0gYmFzZSk7CisgICAgICAgICAgICB4bWxCdWZBZGQoYnVmLCBCQURfQ0FTVCAiJiMxMDsiLCA1KTsKKyAgICAgICAgICAgIGN1cisrOworICAgICAgICAgICAgYmFzZSA9IGN1cjsKKyAgICAgICAgfSBlbHNlIGlmICgqY3VyID09ICdccicpIHsKKyAgICAgICAgICAgIGlmIChiYXNlICE9IGN1cikKKyAgICAgICAgICAgICAgICB4bWxCdWZBZGQoYnVmLCBiYXNlLCBjdXIgLSBiYXNlKTsKKyAgICAgICAgICAgIHhtbEJ1ZkFkZChidWYsIEJBRF9DQVNUICImIzEzOyIsIDUpOworICAgICAgICAgICAgY3VyKys7CisgICAgICAgICAgICBiYXNlID0gY3VyOworICAgICAgICB9IGVsc2UgaWYgKCpjdXIgPT0gJ1x0JykgeworICAgICAgICAgICAgaWYgKGJhc2UgIT0gY3VyKQorICAgICAgICAgICAgICAgIHhtbEJ1ZkFkZChidWYsIGJhc2UsIGN1ciAtIGJhc2UpOworICAgICAgICAgICAgeG1sQnVmQWRkKGJ1ZiwgQkFEX0NBU1QgIiYjOTsiLCA0KTsKKyAgICAgICAgICAgIGN1cisrOworICAgICAgICAgICAgYmFzZSA9IGN1cjsKKyAgICAgICAgfSBlbHNlIGlmICgqY3VyID09ICciJykgeworICAgICAgICAgICAgaWYgKGJhc2UgIT0gY3VyKQorICAgICAgICAgICAgICAgIHhtbEJ1ZkFkZChidWYsIGJhc2UsIGN1ciAtIGJhc2UpOworICAgICAgICAgICAgeG1sQnVmQWRkKGJ1ZiwgQkFEX0NBU1QgIiZxdW90OyIsIDYpOworICAgICAgICAgICAgY3VyKys7CisgICAgICAgICAgICBiYXNlID0gY3VyOworICAgICAgICB9IGVsc2UgaWYgKCpjdXIgPT0gJzwnKSB7CisgICAgICAgICAgICBpZiAoYmFzZSAhPSBjdXIpCisgICAgICAgICAgICAgICAgeG1sQnVmQWRkKGJ1ZiwgYmFzZSwgY3VyIC0gYmFzZSk7CisgICAgICAgICAgICB4bWxCdWZBZGQoYnVmLCBCQURfQ0FTVCAiJmx0OyIsIDQpOworICAgICAgICAgICAgY3VyKys7CisgICAgICAgICAgICBiYXNlID0gY3VyOworICAgICAgICB9IGVsc2UgaWYgKCpjdXIgPT0gJz4nKSB7CisgICAgICAgICAgICBpZiAoYmFzZSAhPSBjdXIpCisgICAgICAgICAgICAgICAgeG1sQnVmQWRkKGJ1ZiwgYmFzZSwgY3VyIC0gYmFzZSk7CisgICAgICAgICAgICB4bWxCdWZBZGQoYnVmLCBCQURfQ0FTVCAiJmd0OyIsIDQpOworICAgICAgICAgICAgY3VyKys7CisgICAgICAgICAgICBiYXNlID0gY3VyOworICAgICAgICB9IGVsc2UgaWYgKCpjdXIgPT0gJyYnKSB7CisgICAgICAgICAgICBpZiAoYmFzZSAhPSBjdXIpCisgICAgICAgICAgICAgICAgeG1sQnVmQWRkKGJ1ZiwgYmFzZSwgY3VyIC0gYmFzZSk7CisgICAgICAgICAgICB4bWxCdWZBZGQoYnVmLCBCQURfQ0FTVCAiJmFtcDsiLCA1KTsKKyAgICAgICAgICAgIGN1cisrOworICAgICAgICAgICAgYmFzZSA9IGN1cjsKKyAgICAgICAgfSBlbHNlIGlmICgoKmN1ciA+PSAweDgwKSAmJiAoKGRvYyA9PSBOVUxMKSB8fAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZG9jLT5lbmNvZGluZyA9PSBOVUxMKSkpIHsKKyAgICAgICAgICAgIC8qCisgICAgICAgICAgICAgKiBXZSBhc3N1bWUgd2UgaGF2ZSBVVEYtOCBjb250ZW50LgorICAgICAgICAgICAgICovCisgICAgICAgICAgICB1bnNpZ25lZCBjaGFyIHRtcFsxMl07CisgICAgICAgICAgICBpbnQgdmFsID0gMCwgbCA9IDE7CisKKyAgICAgICAgICAgIGlmIChiYXNlICE9IGN1cikKKyAgICAgICAgICAgICAgICB4bWxCdWZBZGQoYnVmLCBiYXNlLCBjdXIgLSBiYXNlKTsKKyAgICAgICAgICAgIGlmICgqY3VyIDwgMHhDMCkgeworICAgICAgICAgICAgICAgIHhtbFNhdmVFcnIoWE1MX1NBVkVfTk9UX1VURjgsICh4bWxOb2RlUHRyKSBhdHRyLCBOVUxMKTsKKyAgICAgICAgICAgICAgICBpZiAoZG9jICE9IE5VTEwpCisgICAgICAgICAgICAgICAgICAgIGRvYy0+ZW5jb2RpbmcgPSB4bWxTdHJkdXAoQkFEX0NBU1QgIklTTy04ODU5LTEiKTsKKwkJeG1sU2VyaWFsaXplSGV4Q2hhclJlZih0bXAsICpjdXIpOworICAgICAgICAgICAgICAgIHhtbEJ1ZkFkZChidWYsICh4bWxDaGFyICopIHRtcCwgLTEpOworICAgICAgICAgICAgICAgIGN1cisrOworICAgICAgICAgICAgICAgIGJhc2UgPSBjdXI7CisgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICB9IGVsc2UgaWYgKCpjdXIgPCAweEUwKSB7CisgICAgICAgICAgICAgICAgdmFsID0gKGN1clswXSkgJiAweDFGOworICAgICAgICAgICAgICAgIHZhbCA8PD0gNjsKKyAgICAgICAgICAgICAgICB2YWwgfD0gKGN1clsxXSkgJiAweDNGOworICAgICAgICAgICAgICAgIGwgPSAyOworICAgICAgICAgICAgfSBlbHNlIGlmICgqY3VyIDwgMHhGMCkgeworICAgICAgICAgICAgICAgIHZhbCA9IChjdXJbMF0pICYgMHgwRjsKKyAgICAgICAgICAgICAgICB2YWwgPDw9IDY7CisgICAgICAgICAgICAgICAgdmFsIHw9IChjdXJbMV0pICYgMHgzRjsKKyAgICAgICAgICAgICAgICB2YWwgPDw9IDY7CisgICAgICAgICAgICAgICAgdmFsIHw9IChjdXJbMl0pICYgMHgzRjsKKyAgICAgICAgICAgICAgICBsID0gMzsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAoKmN1ciA8IDB4RjgpIHsKKyAgICAgICAgICAgICAgICB2YWwgPSAoY3VyWzBdKSAmIDB4MDc7CisgICAgICAgICAgICAgICAgdmFsIDw8PSA2OworICAgICAgICAgICAgICAgIHZhbCB8PSAoY3VyWzFdKSAmIDB4M0Y7CisgICAgICAgICAgICAgICAgdmFsIDw8PSA2OworICAgICAgICAgICAgICAgIHZhbCB8PSAoY3VyWzJdKSAmIDB4M0Y7CisgICAgICAgICAgICAgICAgdmFsIDw8PSA2OworICAgICAgICAgICAgICAgIHZhbCB8PSAoY3VyWzNdKSAmIDB4M0Y7CisgICAgICAgICAgICAgICAgbCA9IDQ7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAoKGwgPT0gMSkgfHwgKCFJU19DSEFSKHZhbCkpKSB7CisgICAgICAgICAgICAgICAgeG1sU2F2ZUVycihYTUxfU0FWRV9DSEFSX0lOVkFMSUQsICh4bWxOb2RlUHRyKSBhdHRyLCBOVUxMKTsKKyAgICAgICAgICAgICAgICBpZiAoZG9jICE9IE5VTEwpCisgICAgICAgICAgICAgICAgICAgIGRvYy0+ZW5jb2RpbmcgPSB4bWxTdHJkdXAoQkFEX0NBU1QgIklTTy04ODU5LTEiKTsKKworCQl4bWxTZXJpYWxpemVIZXhDaGFyUmVmKHRtcCwgKmN1cik7CisgICAgICAgICAgICAgICAgeG1sQnVmQWRkKGJ1ZiwgKHhtbENoYXIgKikgdG1wLCAtMSk7CisgICAgICAgICAgICAgICAgY3VyKys7CisgICAgICAgICAgICAgICAgYmFzZSA9IGN1cjsKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIC8qCisgICAgICAgICAgICAgKiBXZSBjb3VsZCBkbyBtdWx0aXBsZSB0aGluZ3MgaGVyZS4gSnVzdCBzYXZlCisgICAgICAgICAgICAgKiBhcyBhIGNoYXIgcmVmCisgICAgICAgICAgICAgKi8KKwkgICAgeG1sU2VyaWFsaXplSGV4Q2hhclJlZih0bXAsIHZhbCk7CisgICAgICAgICAgICB4bWxCdWZBZGQoYnVmLCAoeG1sQ2hhciAqKSB0bXAsIC0xKTsKKyAgICAgICAgICAgIGN1ciArPSBsOworICAgICAgICAgICAgYmFzZSA9IGN1cjsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGN1cisrOworICAgICAgICB9CisgICAgfQorICAgIGlmIChiYXNlICE9IGN1cikKKyAgICAgICAgeG1sQnVmQWRkKGJ1ZiwgYmFzZSwgY3VyIC0gYmFzZSk7Cit9CisKKy8qKgorICogeG1sQXR0clNlcmlhbGl6ZVR4dENvbnRlbnQ6CisgKiBAYnVmOiAgdGhlIFhNTCBidWZmZXIgb3V0cHV0CisgKiBAZG9jOiAgdGhlIGRvY3VtZW50CisgKiBAYXR0cjogdGhlIGF0dHJpYnV0ZSBub2RlCisgKiBAc3RyaW5nOiB0aGUgdGV4dCBjb250ZW50CisgKgorICogU2VyaWFsaXplIHRleHQgYXR0cmlidXRlIHZhbHVlcyB0byBhbiB4bWwgc2ltcGxlIGJ1ZmZlcgorICovCit2b2lkCit4bWxBdHRyU2VyaWFsaXplVHh0Q29udGVudCh4bWxCdWZmZXJQdHIgYnVmLCB4bWxEb2NQdHIgZG9jLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sQXR0clB0ciBhdHRyLCBjb25zdCB4bWxDaGFyICogc3RyaW5nKQoreworICAgIHhtbEJ1ZlB0ciBidWZmZXI7CisKKyAgICBpZiAoKGJ1ZiA9PSBOVUxMKSB8fCAoc3RyaW5nID09IE5VTEwpKQorICAgICAgICByZXR1cm47CisgICAgYnVmZmVyID0geG1sQnVmRnJvbUJ1ZmZlcihidWYpOworICAgIGlmIChidWZmZXIgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuOworICAgIHhtbEJ1ZkF0dHJTZXJpYWxpemVUeHRDb250ZW50KGJ1ZmZlciwgZG9jLCBhdHRyLCBzdHJpbmcpOworICAgIHhtbEJ1ZkJhY2tUb0J1ZmZlcihidWZmZXIpOworfQorCisvKioKKyAqIHhtbE5vZGVEdW1wOgorICogQGJ1ZjogIHRoZSBYTUwgYnVmZmVyIG91dHB1dAorICogQGRvYzogIHRoZSBkb2N1bWVudAorICogQGN1cjogIHRoZSBjdXJyZW50IG5vZGUKKyAqIEBsZXZlbDogdGhlIGltYnJpY2F0aW9uIGxldmVsIGZvciBpbmRlbnRpbmcKKyAqIEBmb3JtYXQ6IGlzIGZvcm1hdHRpbmcgYWxsb3dlZAorICoKKyAqIER1bXAgYW4gWE1MIG5vZGUsIHJlY3Vyc2l2ZSBiZWhhdmlvdXIsY2hpbGRyZW4gYXJlIHByaW50ZWQgdG9vLgorICogTm90ZSB0aGF0IEBmb3JtYXQgPSAxIHByb3ZpZGUgbm9kZSBpbmRlbnRpbmcgb25seSBpZiB4bWxJbmRlbnRUcmVlT3V0cHV0ID0gMQorICogb3IgeG1sS2VlcEJsYW5rc0RlZmF1bHQoMCkgd2FzIGNhbGxlZAorICogU2luY2UgdGhpcyBpcyB1c2luZyB4bWxCdWZmZXIgc3RydWN0dXJlcyBpdCBpcyBsaW1pdGVkIHRvIDJHQiBhbmQgc29tZWhvdworICogZGVwcmVjYXRlZCwgdXNlIHhtbEJ1Zk5vZGVEdW1wKCkgaW5zdGVhZC4KKyAqCisgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgYnl0ZXMgd3JpdHRlbiB0byB0aGUgYnVmZmVyIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworaW50Cit4bWxOb2RlRHVtcCh4bWxCdWZmZXJQdHIgYnVmLCB4bWxEb2NQdHIgZG9jLCB4bWxOb2RlUHRyIGN1ciwgaW50IGxldmVsLAorICAgICAgICAgICAgaW50IGZvcm1hdCkKK3sKKyAgICB4bWxCdWZQdHIgYnVmZmVyOworICAgIGludCByZXQ7CisKKyAgICBpZiAoKGJ1ZiA9PSBOVUxMKSB8fCAoY3VyID09IE5VTEwpKQorICAgICAgICByZXR1cm4oLTEpOworICAgIGJ1ZmZlciA9IHhtbEJ1ZkZyb21CdWZmZXIoYnVmKTsKKyAgICBpZiAoYnVmZmVyID09IE5VTEwpCisgICAgICAgIHJldHVybigtMSk7CisgICAgcmV0ID0geG1sQnVmTm9kZUR1bXAoYnVmZmVyLCBkb2MsIGN1ciwgbGV2ZWwsIGZvcm1hdCk7CisgICAgeG1sQnVmQmFja1RvQnVmZmVyKGJ1ZmZlcik7CisgICAgaWYgKHJldCA+IElOVF9NQVgpCisgICAgICAgIHJldHVybigtMSk7CisgICAgcmV0dXJuKChpbnQpIHJldCk7Cit9CisKKy8qKgorICogeG1sQnVmTm9kZUR1bXA6CisgKiBAYnVmOiAgdGhlIFhNTCBidWZmZXIgb3V0cHV0CisgKiBAZG9jOiAgdGhlIGRvY3VtZW50CisgKiBAY3VyOiAgdGhlIGN1cnJlbnQgbm9kZQorICogQGxldmVsOiB0aGUgaW1icmljYXRpb24gbGV2ZWwgZm9yIGluZGVudGluZworICogQGZvcm1hdDogaXMgZm9ybWF0dGluZyBhbGxvd2VkCisgKgorICogRHVtcCBhbiBYTUwgbm9kZSwgcmVjdXJzaXZlIGJlaGF2aW91cixjaGlsZHJlbiBhcmUgcHJpbnRlZCB0b28uCisgKiBOb3RlIHRoYXQgQGZvcm1hdCA9IDEgcHJvdmlkZSBub2RlIGluZGVudGluZyBvbmx5IGlmIHhtbEluZGVudFRyZWVPdXRwdXQgPSAxCisgKiBvciB4bWxLZWVwQmxhbmtzRGVmYXVsdCgwKSB3YXMgY2FsbGVkCisgKgorICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIGJ5dGVzIHdyaXR0ZW4gdG8gdGhlIGJ1ZmZlciwgaW4gY2FzZSBvZiBlcnJvciAwCisgKiAgICAgaXMgcmV0dXJuZWQgb3IgQGJ1ZiBzdG9yZXMgdGhlIGVycm9yCisgKi8KKworc2l6ZV90Cit4bWxCdWZOb2RlRHVtcCh4bWxCdWZQdHIgYnVmLCB4bWxEb2NQdHIgZG9jLCB4bWxOb2RlUHRyIGN1ciwgaW50IGxldmVsLAorICAgICAgICAgICAgaW50IGZvcm1hdCkKK3sKKyAgICBzaXplX3QgdXNlOworICAgIGludCByZXQ7CisgICAgeG1sT3V0cHV0QnVmZmVyUHRyIG91dGJ1ZjsKKyAgICBpbnQgb2xkYWxsb2M7CisKKyAgICB4bWxJbml0UGFyc2VyKCk7CisKKyAgICBpZiAoY3VyID09IE5VTEwpIHsKKyNpZmRlZiBERUJVR19UUkVFCisgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgInhtbE5vZGVEdW1wIDogbm9kZSA9PSBOVUxMXG4iKTsKKyNlbmRpZgorICAgICAgICByZXR1cm4gKC0xKTsKKyAgICB9CisgICAgaWYgKGJ1ZiA9PSBOVUxMKSB7CisjaWZkZWYgREVCVUdfVFJFRQorICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4bWxOb2RlRHVtcCA6IGJ1ZiA9PSBOVUxMXG4iKTsKKyNlbmRpZgorICAgICAgICByZXR1cm4gKC0xKTsKKyAgICB9CisgICAgb3V0YnVmID0gKHhtbE91dHB1dEJ1ZmZlclB0cikgeG1sTWFsbG9jKHNpemVvZih4bWxPdXRwdXRCdWZmZXIpKTsKKyAgICBpZiAob3V0YnVmID09IE5VTEwpIHsKKyAgICAgICAgeG1sU2F2ZUVyck1lbW9yeSgiY3JlYXRpbmcgYnVmZmVyIik7CisgICAgICAgIHJldHVybiAoLTEpOworICAgIH0KKyAgICBtZW1zZXQob3V0YnVmLCAwLCAoc2l6ZV90KSBzaXplb2YoeG1sT3V0cHV0QnVmZmVyKSk7CisgICAgb3V0YnVmLT5idWZmZXIgPSBidWY7CisgICAgb3V0YnVmLT5lbmNvZGVyID0gTlVMTDsKKyAgICBvdXRidWYtPndyaXRlY2FsbGJhY2sgPSBOVUxMOworICAgIG91dGJ1Zi0+Y2xvc2VjYWxsYmFjayA9IE5VTEw7CisgICAgb3V0YnVmLT5jb250ZXh0ID0gTlVMTDsKKyAgICBvdXRidWYtPndyaXR0ZW4gPSAwOworCisgICAgdXNlID0geG1sQnVmVXNlKGJ1Zik7CisgICAgb2xkYWxsb2MgPSB4bWxCdWZHZXRBbGxvY2F0aW9uU2NoZW1lKGJ1Zik7CisgICAgeG1sQnVmU2V0QWxsb2NhdGlvblNjaGVtZShidWYsIFhNTF9CVUZGRVJfQUxMT0NfRE9VQkxFSVQpOworICAgIHhtbE5vZGVEdW1wT3V0cHV0KG91dGJ1ZiwgZG9jLCBjdXIsIGxldmVsLCBmb3JtYXQsIE5VTEwpOworICAgIHhtbEJ1ZlNldEFsbG9jYXRpb25TY2hlbWUoYnVmLCBvbGRhbGxvYyk7CisgICAgeG1sRnJlZShvdXRidWYpOworICAgIHJldCA9IHhtbEJ1ZlVzZShidWYpIC0gdXNlOworICAgIHJldHVybiAocmV0KTsKK30KKworLyoqCisgKiB4bWxFbGVtRHVtcDoKKyAqIEBmOiAgdGhlIEZJTEUgKiBmb3IgdGhlIG91dHB1dAorICogQGRvYzogIHRoZSBkb2N1bWVudAorICogQGN1cjogIHRoZSBjdXJyZW50IG5vZGUKKyAqCisgKiBEdW1wIGFuIFhNTC9IVE1MIG5vZGUsIHJlY3Vyc2l2ZSBiZWhhdmlvdXIsIGNoaWxkcmVuIGFyZSBwcmludGVkIHRvby4KKyAqLwordm9pZAoreG1sRWxlbUR1bXAoRklMRSAqIGYsIHhtbERvY1B0ciBkb2MsIHhtbE5vZGVQdHIgY3VyKQoreworICAgIHhtbE91dHB1dEJ1ZmZlclB0ciBvdXRidWY7CisKKyAgICB4bWxJbml0UGFyc2VyKCk7CisKKyAgICBpZiAoY3VyID09IE5VTEwpIHsKKyNpZmRlZiBERUJVR19UUkVFCisgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgInhtbEVsZW1EdW1wIDogY3VyID09IE5VTExcbiIpOworI2VuZGlmCisgICAgICAgIHJldHVybjsKKyAgICB9CisjaWZkZWYgREVCVUdfVFJFRQorICAgIGlmIChkb2MgPT0gTlVMTCkgeworICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4bWxFbGVtRHVtcCA6IGRvYyA9PSBOVUxMXG4iKTsKKyAgICB9CisjZW5kaWYKKworICAgIG91dGJ1ZiA9IHhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGUoZiwgTlVMTCk7CisgICAgaWYgKG91dGJ1ZiA9PSBOVUxMKQorICAgICAgICByZXR1cm47CisgICAgaWYgKChkb2MgIT0gTlVMTCkgJiYgKGRvYy0+dHlwZSA9PSBYTUxfSFRNTF9ET0NVTUVOVF9OT0RFKSkgeworI2lmZGVmIExJQlhNTF9IVE1MX0VOQUJMRUQKKyAgICAgICAgaHRtbE5vZGVEdW1wT3V0cHV0KG91dGJ1ZiwgZG9jLCBjdXIsIE5VTEwpOworI2Vsc2UKKwl4bWxTYXZlRXJyKFhNTF9FUlJfSU5URVJOQUxfRVJST1IsIGN1ciwgIkhUTUwgc3VwcG9ydCBub3QgY29tcGlsZWQgaW5cbiIpOworI2VuZGlmIC8qIExJQlhNTF9IVE1MX0VOQUJMRUQgKi8KKyAgICB9IGVsc2UKKyAgICAgICAgeG1sTm9kZUR1bXBPdXRwdXQob3V0YnVmLCBkb2MsIGN1ciwgMCwgMSwgTlVMTCk7CisgICAgeG1sT3V0cHV0QnVmZmVyQ2xvc2Uob3V0YnVmKTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJU2F2aW5nIGZ1bmN0aW9ucyBmcm9udC1lbmRzCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqCisgKiB4bWxOb2RlRHVtcE91dHB1dDoKKyAqIEBidWY6ICB0aGUgWE1MIGJ1ZmZlciBvdXRwdXQKKyAqIEBkb2M6ICB0aGUgZG9jdW1lbnQKKyAqIEBjdXI6ICB0aGUgY3VycmVudCBub2RlCisgKiBAbGV2ZWw6IHRoZSBpbWJyaWNhdGlvbiBsZXZlbCBmb3IgaW5kZW50aW5nCisgKiBAZm9ybWF0OiBpcyBmb3JtYXR0aW5nIGFsbG93ZWQKKyAqIEBlbmNvZGluZzogIGFuIG9wdGlvbmFsIGVuY29kaW5nIHN0cmluZworICoKKyAqIER1bXAgYW4gWE1MIG5vZGUsIHJlY3Vyc2l2ZSBiZWhhdmlvdXIsIGNoaWxkcmVuIGFyZSBwcmludGVkIHRvby4KKyAqIE5vdGUgdGhhdCBAZm9ybWF0ID0gMSBwcm92aWRlIG5vZGUgaW5kZW50aW5nIG9ubHkgaWYgeG1sSW5kZW50VHJlZU91dHB1dCA9IDEKKyAqIG9yIHhtbEtlZXBCbGFua3NEZWZhdWx0KDApIHdhcyBjYWxsZWQKKyAqLwordm9pZAoreG1sTm9kZUR1bXBPdXRwdXQoeG1sT3V0cHV0QnVmZmVyUHRyIGJ1ZiwgeG1sRG9jUHRyIGRvYywgeG1sTm9kZVB0ciBjdXIsCisgICAgICAgICAgICAgICAgICBpbnQgbGV2ZWwsIGludCBmb3JtYXQsIGNvbnN0IGNoYXIgKmVuY29kaW5nKQoreworICAgIHhtbFNhdmVDdHh0IGN0eHQ7CisjaWZkZWYgTElCWE1MX0hUTUxfRU5BQkxFRAorICAgIHhtbER0ZFB0ciBkdGQ7CisgICAgaW50IGlzX3hodG1sID0gMDsKKyNlbmRpZgorCisgICAgeG1sSW5pdFBhcnNlcigpOworCisgICAgaWYgKChidWYgPT0gTlVMTCkgfHwgKGN1ciA9PSBOVUxMKSkgcmV0dXJuOworCisgICAgaWYgKGVuY29kaW5nID09IE5VTEwpCisgICAgICAgIGVuY29kaW5nID0gIlVURi04IjsKKworICAgIG1lbXNldCgmY3R4dCwgMCwgc2l6ZW9mKGN0eHQpKTsKKyAgICBjdHh0LmRvYyA9IGRvYzsKKyAgICBjdHh0LmJ1ZiA9IGJ1ZjsKKyAgICBjdHh0LmxldmVsID0gbGV2ZWw7CisgICAgY3R4dC5mb3JtYXQgPSBmb3JtYXQgPyAxIDogMDsKKyAgICBjdHh0LmVuY29kaW5nID0gKGNvbnN0IHhtbENoYXIgKikgZW5jb2Rpbmc7CisgICAgeG1sU2F2ZUN0eHRJbml0KCZjdHh0KTsKKyAgICBjdHh0Lm9wdGlvbnMgfD0gWE1MX1NBVkVfQVNfWE1MOworCisjaWZkZWYgTElCWE1MX0hUTUxfRU5BQkxFRAorICAgIGR0ZCA9IHhtbEdldEludFN1YnNldChkb2MpOworICAgIGlmIChkdGQgIT0gTlVMTCkgeworCWlzX3hodG1sID0geG1sSXNYSFRNTChkdGQtPlN5c3RlbUlELCBkdGQtPkV4dGVybmFsSUQpOworCWlmIChpc194aHRtbCA8IDApCisJICAgIGlzX3hodG1sID0gMDsKKyAgICB9CisKKyAgICBpZiAoaXNfeGh0bWwpCisgICAgICAgIHhodG1sTm9kZUR1bXBPdXRwdXQoJmN0eHQsIGN1cik7CisgICAgZWxzZQorI2VuZGlmCisgICAgICAgIHhtbE5vZGVEdW1wT3V0cHV0SW50ZXJuYWwoJmN0eHQsIGN1cik7Cit9CisKKy8qKgorICogeG1sRG9jRHVtcEZvcm1hdE1lbW9yeUVuYzoKKyAqIEBvdXRfZG9jOiAgRG9jdW1lbnQgdG8gZ2VuZXJhdGUgWE1MIHRleHQgZnJvbQorICogQGRvY190eHRfcHRyOiAgTWVtb3J5IHBvaW50ZXIgZm9yIGFsbG9jYXRlZCBYTUwgdGV4dAorICogQGRvY190eHRfbGVuOiAgTGVuZ3RoIG9mIHRoZSBnZW5lcmF0ZWQgWE1MIHRleHQKKyAqIEB0eHRfZW5jb2Rpbmc6ICBDaGFyYWN0ZXIgZW5jb2RpbmcgdG8gdXNlIHdoZW4gZ2VuZXJhdGluZyBYTUwgdGV4dAorICogQGZvcm1hdDogIHNob3VsZCBmb3JtYXR0aW5nIHNwYWNlcyBiZWVuIGFkZGVkCisgKgorICogRHVtcCB0aGUgY3VycmVudCBET00gdHJlZSBpbnRvIG1lbW9yeSB1c2luZyB0aGUgY2hhcmFjdGVyIGVuY29kaW5nIHNwZWNpZmllZAorICogYnkgdGhlIGNhbGxlci4gIE5vdGUgaXQgaXMgdXAgdG8gdGhlIGNhbGxlciBvZiB0aGlzIGZ1bmN0aW9uIHRvIGZyZWUgdGhlCisgKiBhbGxvY2F0ZWQgbWVtb3J5IHdpdGggeG1sRnJlZSgpLgorICogTm90ZSB0aGF0IEBmb3JtYXQgPSAxIHByb3ZpZGUgbm9kZSBpbmRlbnRpbmcgb25seSBpZiB4bWxJbmRlbnRUcmVlT3V0cHV0ID0gMQorICogb3IgeG1sS2VlcEJsYW5rc0RlZmF1bHQoMCkgd2FzIGNhbGxlZAorICovCisKK3ZvaWQKK3htbERvY0R1bXBGb3JtYXRNZW1vcnlFbmMoeG1sRG9jUHRyIG91dF9kb2MsIHhtbENoYXIgKipkb2NfdHh0X3B0ciwKKwkJaW50ICogZG9jX3R4dF9sZW4sIGNvbnN0IGNoYXIgKiB0eHRfZW5jb2RpbmcsCisJCWludCBmb3JtYXQpIHsKKyAgICB4bWxTYXZlQ3R4dCBjdHh0OworICAgIGludCAgICAgICAgICAgICAgICAgICAgICAgICBkdW1teSA9IDA7CisgICAgeG1sT3V0cHV0QnVmZmVyUHRyICAgICAgICAgIG91dF9idWZmID0gTlVMTDsKKyAgICB4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyICAgY29udl9oZGxyID0gTlVMTDsKKworICAgIGlmIChkb2NfdHh0X2xlbiA9PSBOVUxMKSB7CisgICAgICAgIGRvY190eHRfbGVuID0gJmR1bW15OyAgIC8qICBDb250aW51ZSwgY2FsbGVyIGp1c3Qgd29uJ3QgZ2V0IGxlbmd0aCAqLworICAgIH0KKworICAgIGlmIChkb2NfdHh0X3B0ciA9PSBOVUxMKSB7CisgICAgICAgICpkb2NfdHh0X2xlbiA9IDA7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAqZG9jX3R4dF9wdHIgPSBOVUxMOworICAgICpkb2NfdHh0X2xlbiA9IDA7CisKKyAgICBpZiAob3V0X2RvYyA9PSBOVUxMKSB7CisgICAgICAgIC8qICBObyBkb2N1bWVudCwgbm8gb3V0cHV0ICAqLworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgLyoKKyAgICAgKiAgVmFsaWRhdGUgdGhlIGVuY29kaW5nIHZhbHVlLCBpZiBwcm92aWRlZC4KKyAgICAgKiAgVGhpcyBsb2dpYyBpcyBjb3BpZWQgZnJvbSB4bWxTYXZlRmlsZUVuYy4KKyAgICAgKi8KKworICAgIGlmICh0eHRfZW5jb2RpbmcgPT0gTlVMTCkKKwl0eHRfZW5jb2RpbmcgPSAoY29uc3QgY2hhciAqKSBvdXRfZG9jLT5lbmNvZGluZzsKKyAgICBpZiAodHh0X2VuY29kaW5nICE9IE5VTEwpIHsKKwljb252X2hkbHIgPSB4bWxGaW5kQ2hhckVuY29kaW5nSGFuZGxlcih0eHRfZW5jb2RpbmcpOworCWlmICggY29udl9oZGxyID09IE5VTEwgKSB7CisJICAgIHhtbFNhdmVFcnIoWE1MX1NBVkVfVU5LTk9XTl9FTkNPRElORywgKHhtbE5vZGVQdHIpIG91dF9kb2MsCisJCSAgICAgICB0eHRfZW5jb2RpbmcpOworCSAgICByZXR1cm47CisJfQorICAgIH0KKworICAgIGlmICgob3V0X2J1ZmYgPSB4bWxBbGxvY091dHB1dEJ1ZmZlcihjb252X2hkbHIpKSA9PSBOVUxMICkgeworICAgICAgICB4bWxTYXZlRXJyTWVtb3J5KCJjcmVhdGluZyBidWZmZXIiKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIG1lbXNldCgmY3R4dCwgMCwgc2l6ZW9mKGN0eHQpKTsKKyAgICBjdHh0LmRvYyA9IG91dF9kb2M7CisgICAgY3R4dC5idWYgPSBvdXRfYnVmZjsKKyAgICBjdHh0LmxldmVsID0gMDsKKyAgICBjdHh0LmZvcm1hdCA9IGZvcm1hdCA/IDEgOiAwOworICAgIGN0eHQuZW5jb2RpbmcgPSAoY29uc3QgeG1sQ2hhciAqKSB0eHRfZW5jb2Rpbmc7CisgICAgeG1sU2F2ZUN0eHRJbml0KCZjdHh0KTsKKyAgICBjdHh0Lm9wdGlvbnMgfD0gWE1MX1NBVkVfQVNfWE1MOworICAgIHhtbERvY0NvbnRlbnREdW1wT3V0cHV0KCZjdHh0LCBvdXRfZG9jKTsKKyAgICB4bWxPdXRwdXRCdWZmZXJGbHVzaChvdXRfYnVmZik7CisgICAgaWYgKG91dF9idWZmLT5jb252ICE9IE5VTEwpIHsKKwkqZG9jX3R4dF9sZW4gPSB4bWxCdWZVc2Uob3V0X2J1ZmYtPmNvbnYpOworCSpkb2NfdHh0X3B0ciA9IHhtbFN0cm5kdXAoeG1sQnVmQ29udGVudChvdXRfYnVmZi0+Y29udiksICpkb2NfdHh0X2xlbik7CisgICAgfSBlbHNlIHsKKwkqZG9jX3R4dF9sZW4gPSB4bWxCdWZVc2Uob3V0X2J1ZmYtPmJ1ZmZlcik7CisJKmRvY190eHRfcHRyID0geG1sU3RybmR1cCh4bWxCdWZDb250ZW50KG91dF9idWZmLT5idWZmZXIpLCpkb2NfdHh0X2xlbik7CisgICAgfQorICAgICh2b2lkKXhtbE91dHB1dEJ1ZmZlckNsb3NlKG91dF9idWZmKTsKKworICAgIGlmICgoKmRvY190eHRfcHRyID09IE5VTEwpICYmICgqZG9jX3R4dF9sZW4gPiAwKSkgeworICAgICAgICAqZG9jX3R4dF9sZW4gPSAwOworICAgICAgICB4bWxTYXZlRXJyTWVtb3J5KCJjcmVhdGluZyBvdXRwdXQiKTsKKyAgICB9CisKKyAgICByZXR1cm47Cit9CisKKy8qKgorICogeG1sRG9jRHVtcE1lbW9yeToKKyAqIEBjdXI6ICB0aGUgZG9jdW1lbnQKKyAqIEBtZW06ICBPVVQ6IHRoZSBtZW1vcnkgcG9pbnRlcgorICogQHNpemU6ICBPVVQ6IHRoZSBtZW1vcnkgbGVuZ3RoCisgKgorICogRHVtcCBhbiBYTUwgZG9jdW1lbnQgaW4gbWVtb3J5IGFuZCByZXR1cm4gdGhlICN4bWxDaGFyICogYW5kIGl0J3Mgc2l6ZQorICogaW4gYnl0ZXMuIEl0J3MgdXAgdG8gdGhlIGNhbGxlciB0byBmcmVlIHRoZSBtZW1vcnkgd2l0aCB4bWxGcmVlKCkuCisgKiBUaGUgcmVzdWx0aW5nIGJ5dGUgYXJyYXkgaXMgemVybyB0ZXJtaW5hdGVkLCB0aG91Z2ggdGhlIGxhc3QgMCBpcyBub3QKKyAqIGluY2x1ZGVkIGluIHRoZSByZXR1cm5lZCBzaXplLgorICovCit2b2lkCit4bWxEb2NEdW1wTWVtb3J5KHhtbERvY1B0ciBjdXIsIHhtbENoYXIqKm1lbSwgaW50ICpzaXplKSB7CisgICAgeG1sRG9jRHVtcEZvcm1hdE1lbW9yeUVuYyhjdXIsIG1lbSwgc2l6ZSwgTlVMTCwgMCk7Cit9CisKKy8qKgorICogeG1sRG9jRHVtcEZvcm1hdE1lbW9yeToKKyAqIEBjdXI6ICB0aGUgZG9jdW1lbnQKKyAqIEBtZW06ICBPVVQ6IHRoZSBtZW1vcnkgcG9pbnRlcgorICogQHNpemU6ICBPVVQ6IHRoZSBtZW1vcnkgbGVuZ3RoCisgKiBAZm9ybWF0OiAgc2hvdWxkIGZvcm1hdHRpbmcgc3BhY2VzIGJlZW4gYWRkZWQKKyAqCisgKgorICogRHVtcCBhbiBYTUwgZG9jdW1lbnQgaW4gbWVtb3J5IGFuZCByZXR1cm4gdGhlICN4bWxDaGFyICogYW5kIGl0J3Mgc2l6ZS4KKyAqIEl0J3MgdXAgdG8gdGhlIGNhbGxlciB0byBmcmVlIHRoZSBtZW1vcnkgd2l0aCB4bWxGcmVlKCkuCisgKiBOb3RlIHRoYXQgQGZvcm1hdCA9IDEgcHJvdmlkZSBub2RlIGluZGVudGluZyBvbmx5IGlmIHhtbEluZGVudFRyZWVPdXRwdXQgPSAxCisgKiBvciB4bWxLZWVwQmxhbmtzRGVmYXVsdCgwKSB3YXMgY2FsbGVkCisgKi8KK3ZvaWQKK3htbERvY0R1bXBGb3JtYXRNZW1vcnkoeG1sRG9jUHRyIGN1ciwgeG1sQ2hhcioqbWVtLCBpbnQgKnNpemUsIGludCBmb3JtYXQpIHsKKyAgICB4bWxEb2NEdW1wRm9ybWF0TWVtb3J5RW5jKGN1ciwgbWVtLCBzaXplLCBOVUxMLCBmb3JtYXQpOworfQorCisvKioKKyAqIHhtbERvY0R1bXBNZW1vcnlFbmM6CisgKiBAb3V0X2RvYzogIERvY3VtZW50IHRvIGdlbmVyYXRlIFhNTCB0ZXh0IGZyb20KKyAqIEBkb2NfdHh0X3B0cjogIE1lbW9yeSBwb2ludGVyIGZvciBhbGxvY2F0ZWQgWE1MIHRleHQKKyAqIEBkb2NfdHh0X2xlbjogIExlbmd0aCBvZiB0aGUgZ2VuZXJhdGVkIFhNTCB0ZXh0CisgKiBAdHh0X2VuY29kaW5nOiAgQ2hhcmFjdGVyIGVuY29kaW5nIHRvIHVzZSB3aGVuIGdlbmVyYXRpbmcgWE1MIHRleHQKKyAqCisgKiBEdW1wIHRoZSBjdXJyZW50IERPTSB0cmVlIGludG8gbWVtb3J5IHVzaW5nIHRoZSBjaGFyYWN0ZXIgZW5jb2Rpbmcgc3BlY2lmaWVkCisgKiBieSB0aGUgY2FsbGVyLiAgTm90ZSBpdCBpcyB1cCB0byB0aGUgY2FsbGVyIG9mIHRoaXMgZnVuY3Rpb24gdG8gZnJlZSB0aGUKKyAqIGFsbG9jYXRlZCBtZW1vcnkgd2l0aCB4bWxGcmVlKCkuCisgKi8KKwordm9pZAoreG1sRG9jRHVtcE1lbW9yeUVuYyh4bWxEb2NQdHIgb3V0X2RvYywgeG1sQ2hhciAqKmRvY190eHRfcHRyLAorCSAgICAgICAgICAgIGludCAqIGRvY190eHRfbGVuLCBjb25zdCBjaGFyICogdHh0X2VuY29kaW5nKSB7CisgICAgeG1sRG9jRHVtcEZvcm1hdE1lbW9yeUVuYyhvdXRfZG9jLCBkb2NfdHh0X3B0ciwgZG9jX3R4dF9sZW4sCisJICAgICAgICAgICAgICAgICAgICAgIHR4dF9lbmNvZGluZywgMCk7Cit9CisKKy8qKgorICogeG1sRG9jRm9ybWF0RHVtcDoKKyAqIEBmOiAgdGhlIEZJTEUqCisgKiBAY3VyOiAgdGhlIGRvY3VtZW50CisgKiBAZm9ybWF0OiBzaG91bGQgZm9ybWF0dGluZyBzcGFjZXMgYmVlbiBhZGRlZAorICoKKyAqIER1bXAgYW4gWE1MIGRvY3VtZW50IHRvIGFuIG9wZW4gRklMRS4KKyAqCisgKiByZXR1cm5zOiB0aGUgbnVtYmVyIG9mIGJ5dGVzIHdyaXR0ZW4gb3IgLTEgaW4gY2FzZSBvZiBmYWlsdXJlLgorICogTm90ZSB0aGF0IEBmb3JtYXQgPSAxIHByb3ZpZGUgbm9kZSBpbmRlbnRpbmcgb25seSBpZiB4bWxJbmRlbnRUcmVlT3V0cHV0ID0gMQorICogb3IgeG1sS2VlcEJsYW5rc0RlZmF1bHQoMCkgd2FzIGNhbGxlZAorICovCitpbnQKK3htbERvY0Zvcm1hdER1bXAoRklMRSAqZiwgeG1sRG9jUHRyIGN1ciwgaW50IGZvcm1hdCkgeworICAgIHhtbFNhdmVDdHh0IGN0eHQ7CisgICAgeG1sT3V0cHV0QnVmZmVyUHRyIGJ1ZjsKKyAgICBjb25zdCBjaGFyICogZW5jb2Rpbmc7CisgICAgeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0ciBoYW5kbGVyID0gTlVMTDsKKyAgICBpbnQgcmV0OworCisgICAgaWYgKGN1ciA9PSBOVUxMKSB7CisjaWZkZWYgREVCVUdfVFJFRQorICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJInhtbERvY0R1bXAgOiBkb2N1bWVudCA9PSBOVUxMXG4iKTsKKyNlbmRpZgorCXJldHVybigtMSk7CisgICAgfQorICAgIGVuY29kaW5nID0gKGNvbnN0IGNoYXIgKikgY3VyLT5lbmNvZGluZzsKKworICAgIGlmIChlbmNvZGluZyAhPSBOVUxMKSB7CisJaGFuZGxlciA9IHhtbEZpbmRDaGFyRW5jb2RpbmdIYW5kbGVyKGVuY29kaW5nKTsKKwlpZiAoaGFuZGxlciA9PSBOVUxMKSB7CisJICAgIHhtbEZyZWUoKGNoYXIgKikgY3VyLT5lbmNvZGluZyk7CisJICAgIGN1ci0+ZW5jb2RpbmcgPSBOVUxMOworCSAgICBlbmNvZGluZyA9IE5VTEw7CisJfQorICAgIH0KKyAgICBidWYgPSB4bWxPdXRwdXRCdWZmZXJDcmVhdGVGaWxlKGYsIGhhbmRsZXIpOworICAgIGlmIChidWYgPT0gTlVMTCkgcmV0dXJuKC0xKTsKKyAgICBtZW1zZXQoJmN0eHQsIDAsIHNpemVvZihjdHh0KSk7CisgICAgY3R4dC5kb2MgPSBjdXI7CisgICAgY3R4dC5idWYgPSBidWY7CisgICAgY3R4dC5sZXZlbCA9IDA7CisgICAgY3R4dC5mb3JtYXQgPSBmb3JtYXQgPyAxIDogMDsKKyAgICBjdHh0LmVuY29kaW5nID0gKGNvbnN0IHhtbENoYXIgKikgZW5jb2Rpbmc7CisgICAgeG1sU2F2ZUN0eHRJbml0KCZjdHh0KTsKKyAgICBjdHh0Lm9wdGlvbnMgfD0gWE1MX1NBVkVfQVNfWE1MOworICAgIHhtbERvY0NvbnRlbnREdW1wT3V0cHV0KCZjdHh0LCBjdXIpOworCisgICAgcmV0ID0geG1sT3V0cHV0QnVmZmVyQ2xvc2UoYnVmKTsKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxEb2NEdW1wOgorICogQGY6ICB0aGUgRklMRSoKKyAqIEBjdXI6ICB0aGUgZG9jdW1lbnQKKyAqCisgKiBEdW1wIGFuIFhNTCBkb2N1bWVudCB0byBhbiBvcGVuIEZJTEUuCisgKgorICogcmV0dXJuczogdGhlIG51bWJlciBvZiBieXRlcyB3cml0dGVuIG9yIC0xIGluIGNhc2Ugb2YgZmFpbHVyZS4KKyAqLworaW50Cit4bWxEb2NEdW1wKEZJTEUgKmYsIHhtbERvY1B0ciBjdXIpIHsKKyAgICByZXR1cm4oeG1sRG9jRm9ybWF0RHVtcCAoZiwgY3VyLCAwKSk7Cit9CisKKy8qKgorICogeG1sU2F2ZUZpbGVUbzoKKyAqIEBidWY6ICBhbiBvdXRwdXQgSS9PIGJ1ZmZlcgorICogQGN1cjogIHRoZSBkb2N1bWVudAorICogQGVuY29kaW5nOiAgdGhlIGVuY29kaW5nIGlmIGFueSBhc3N1bWluZyB0aGUgSS9PIGxheWVyIGhhbmRsZXMgdGhlIHRyYW5jb2RpbmcKKyAqCisgKiBEdW1wIGFuIFhNTCBkb2N1bWVudCB0byBhbiBJL08gYnVmZmVyLgorICogV2FybmluZyAhIFRoaXMgY2FsbCB4bWxPdXRwdXRCdWZmZXJDbG9zZSgpIG9uIGJ1ZiB3aGljaCBpcyBub3QgYXZhaWxhYmxlCisgKiBhZnRlciB0aGlzIGNhbGwuCisgKgorICogcmV0dXJuczogdGhlIG51bWJlciBvZiBieXRlcyB3cml0dGVuIG9yIC0xIGluIGNhc2Ugb2YgZmFpbHVyZS4KKyAqLworaW50Cit4bWxTYXZlRmlsZVRvKHhtbE91dHB1dEJ1ZmZlclB0ciBidWYsIHhtbERvY1B0ciBjdXIsIGNvbnN0IGNoYXIgKmVuY29kaW5nKSB7CisgICAgeG1sU2F2ZUN0eHQgY3R4dDsKKyAgICBpbnQgcmV0OworCisgICAgaWYgKGJ1ZiA9PSBOVUxMKSByZXR1cm4oLTEpOworICAgIGlmIChjdXIgPT0gTlVMTCkgeworICAgICAgICB4bWxPdXRwdXRCdWZmZXJDbG9zZShidWYpOworCXJldHVybigtMSk7CisgICAgfQorICAgIG1lbXNldCgmY3R4dCwgMCwgc2l6ZW9mKGN0eHQpKTsKKyAgICBjdHh0LmRvYyA9IGN1cjsKKyAgICBjdHh0LmJ1ZiA9IGJ1ZjsKKyAgICBjdHh0LmxldmVsID0gMDsKKyAgICBjdHh0LmZvcm1hdCA9IDA7CisgICAgY3R4dC5lbmNvZGluZyA9IChjb25zdCB4bWxDaGFyICopIGVuY29kaW5nOworICAgIHhtbFNhdmVDdHh0SW5pdCgmY3R4dCk7CisgICAgY3R4dC5vcHRpb25zIHw9IFhNTF9TQVZFX0FTX1hNTDsKKyAgICB4bWxEb2NDb250ZW50RHVtcE91dHB1dCgmY3R4dCwgY3VyKTsKKyAgICByZXQgPSB4bWxPdXRwdXRCdWZmZXJDbG9zZShidWYpOworICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbFNhdmVGb3JtYXRGaWxlVG86CisgKiBAYnVmOiAgYW4gb3V0cHV0IEkvTyBidWZmZXIKKyAqIEBjdXI6ICB0aGUgZG9jdW1lbnQKKyAqIEBlbmNvZGluZzogIHRoZSBlbmNvZGluZyBpZiBhbnkgYXNzdW1pbmcgdGhlIEkvTyBsYXllciBoYW5kbGVzIHRoZSB0cmFuY29kaW5nCisgKiBAZm9ybWF0OiBzaG91bGQgZm9ybWF0dGluZyBzcGFjZXMgYmVlbiBhZGRlZAorICoKKyAqIER1bXAgYW4gWE1MIGRvY3VtZW50IHRvIGFuIEkvTyBidWZmZXIuCisgKiBXYXJuaW5nICEgVGhpcyBjYWxsIHhtbE91dHB1dEJ1ZmZlckNsb3NlKCkgb24gYnVmIHdoaWNoIGlzIG5vdCBhdmFpbGFibGUKKyAqIGFmdGVyIHRoaXMgY2FsbC4KKyAqCisgKiByZXR1cm5zOiB0aGUgbnVtYmVyIG9mIGJ5dGVzIHdyaXR0ZW4gb3IgLTEgaW4gY2FzZSBvZiBmYWlsdXJlLgorICovCitpbnQKK3htbFNhdmVGb3JtYXRGaWxlVG8oeG1sT3V0cHV0QnVmZmVyUHRyIGJ1ZiwgeG1sRG9jUHRyIGN1ciwKKyAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZW5jb2RpbmcsIGludCBmb3JtYXQpCit7CisgICAgeG1sU2F2ZUN0eHQgY3R4dDsKKyAgICBpbnQgcmV0OworCisgICAgaWYgKGJ1ZiA9PSBOVUxMKSByZXR1cm4oLTEpOworICAgIGlmICgoY3VyID09IE5VTEwpIHx8CisgICAgICAgICgoY3VyLT50eXBlICE9IFhNTF9ET0NVTUVOVF9OT0RFKSAmJgorCSAoY3VyLT50eXBlICE9IFhNTF9IVE1MX0RPQ1VNRU5UX05PREUpKSkgeworICAgICAgICB4bWxPdXRwdXRCdWZmZXJDbG9zZShidWYpOworCXJldHVybigtMSk7CisgICAgfQorICAgIG1lbXNldCgmY3R4dCwgMCwgc2l6ZW9mKGN0eHQpKTsKKyAgICBjdHh0LmRvYyA9IGN1cjsKKyAgICBjdHh0LmJ1ZiA9IGJ1ZjsKKyAgICBjdHh0LmxldmVsID0gMDsKKyAgICBjdHh0LmZvcm1hdCA9IGZvcm1hdCA/IDEgOiAwOworICAgIGN0eHQuZW5jb2RpbmcgPSAoY29uc3QgeG1sQ2hhciAqKSBlbmNvZGluZzsKKyAgICB4bWxTYXZlQ3R4dEluaXQoJmN0eHQpOworICAgIGN0eHQub3B0aW9ucyB8PSBYTUxfU0FWRV9BU19YTUw7CisgICAgeG1sRG9jQ29udGVudER1bXBPdXRwdXQoJmN0eHQsIGN1cik7CisgICAgcmV0ID0geG1sT3V0cHV0QnVmZmVyQ2xvc2UoYnVmKTsKKyAgICByZXR1cm4gKHJldCk7Cit9CisKKy8qKgorICogeG1sU2F2ZUZvcm1hdEZpbGVFbmM6CisgKiBAZmlsZW5hbWU6ICB0aGUgZmlsZW5hbWUgb3IgVVJMIHRvIG91dHB1dAorICogQGN1cjogIHRoZSBkb2N1bWVudCBiZWluZyBzYXZlZAorICogQGVuY29kaW5nOiAgdGhlIG5hbWUgb2YgdGhlIGVuY29kaW5nIHRvIHVzZSBvciBOVUxMLgorICogQGZvcm1hdDogIHNob3VsZCBmb3JtYXR0aW5nIHNwYWNlcyBiZSBhZGRlZC4KKyAqCisgKiBEdW1wIGFuIFhNTCBkb2N1bWVudCB0byBhIGZpbGUgb3IgYW4gVVJMLgorICoKKyAqIFJldHVybnMgdGhlIG51bWJlciBvZiBieXRlcyB3cml0dGVuIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IuCisgKiBOb3RlIHRoYXQgQGZvcm1hdCA9IDEgcHJvdmlkZSBub2RlIGluZGVudGluZyBvbmx5IGlmIHhtbEluZGVudFRyZWVPdXRwdXQgPSAxCisgKiBvciB4bWxLZWVwQmxhbmtzRGVmYXVsdCgwKSB3YXMgY2FsbGVkCisgKi8KK2ludAoreG1sU2F2ZUZvcm1hdEZpbGVFbmMoIGNvbnN0IGNoYXIgKiBmaWxlbmFtZSwgeG1sRG9jUHRyIGN1ciwKKwkJCWNvbnN0IGNoYXIgKiBlbmNvZGluZywgaW50IGZvcm1hdCApIHsKKyAgICB4bWxTYXZlQ3R4dCBjdHh0OworICAgIHhtbE91dHB1dEJ1ZmZlclB0ciBidWY7CisgICAgeG1sQ2hhckVuY29kaW5nSGFuZGxlclB0ciBoYW5kbGVyID0gTlVMTDsKKyAgICBpbnQgcmV0OworCisgICAgaWYgKGN1ciA9PSBOVUxMKQorCXJldHVybigtMSk7CisKKyAgICBpZiAoZW5jb2RpbmcgPT0gTlVMTCkKKwllbmNvZGluZyA9IChjb25zdCBjaGFyICopIGN1ci0+ZW5jb2Rpbmc7CisKKyAgICBpZiAoZW5jb2RpbmcgIT0gTlVMTCkgeworCisJICAgIGhhbmRsZXIgPSB4bWxGaW5kQ2hhckVuY29kaW5nSGFuZGxlcihlbmNvZGluZyk7CisJICAgIGlmIChoYW5kbGVyID09IE5VTEwpCisJCXJldHVybigtMSk7CisgICAgfQorCisjaWZkZWYgSEFWRV9aTElCX0gKKyAgICBpZiAoY3VyLT5jb21wcmVzc2lvbiA8IDApIGN1ci0+Y29tcHJlc3Npb24gPSB4bWxHZXRDb21wcmVzc01vZGUoKTsKKyNlbmRpZgorICAgIC8qCisgICAgICogc2F2ZSB0aGUgY29udGVudCB0byBhIHRlbXAgYnVmZmVyLgorICAgICAqLworICAgIGJ1ZiA9IHhtbE91dHB1dEJ1ZmZlckNyZWF0ZUZpbGVuYW1lKGZpbGVuYW1lLCBoYW5kbGVyLCBjdXItPmNvbXByZXNzaW9uKTsKKyAgICBpZiAoYnVmID09IE5VTEwpIHJldHVybigtMSk7CisgICAgbWVtc2V0KCZjdHh0LCAwLCBzaXplb2YoY3R4dCkpOworICAgIGN0eHQuZG9jID0gY3VyOworICAgIGN0eHQuYnVmID0gYnVmOworICAgIGN0eHQubGV2ZWwgPSAwOworICAgIGN0eHQuZm9ybWF0ID0gZm9ybWF0ID8gMSA6IDA7CisgICAgY3R4dC5lbmNvZGluZyA9IChjb25zdCB4bWxDaGFyICopIGVuY29kaW5nOworICAgIHhtbFNhdmVDdHh0SW5pdCgmY3R4dCk7CisgICAgY3R4dC5vcHRpb25zIHw9IFhNTF9TQVZFX0FTX1hNTDsKKworICAgIHhtbERvY0NvbnRlbnREdW1wT3V0cHV0KCZjdHh0LCBjdXIpOworCisgICAgcmV0ID0geG1sT3V0cHV0QnVmZmVyQ2xvc2UoYnVmKTsKKyAgICByZXR1cm4ocmV0KTsKK30KKworCisvKioKKyAqIHhtbFNhdmVGaWxlRW5jOgorICogQGZpbGVuYW1lOiAgdGhlIGZpbGVuYW1lIChvciBVUkwpCisgKiBAY3VyOiAgdGhlIGRvY3VtZW50CisgKiBAZW5jb2Rpbmc6ICB0aGUgbmFtZSBvZiBhbiBlbmNvZGluZyAob3IgTlVMTCkKKyAqCisgKiBEdW1wIGFuIFhNTCBkb2N1bWVudCwgY29udmVydGluZyBpdCB0byB0aGUgZ2l2ZW4gZW5jb2RpbmcKKyAqCisgKiByZXR1cm5zOiB0aGUgbnVtYmVyIG9mIGJ5dGVzIHdyaXR0ZW4gb3IgLTEgaW4gY2FzZSBvZiBmYWlsdXJlLgorICovCitpbnQKK3htbFNhdmVGaWxlRW5jKGNvbnN0IGNoYXIgKmZpbGVuYW1lLCB4bWxEb2NQdHIgY3VyLCBjb25zdCBjaGFyICplbmNvZGluZykgeworICAgIHJldHVybiAoIHhtbFNhdmVGb3JtYXRGaWxlRW5jKCBmaWxlbmFtZSwgY3VyLCBlbmNvZGluZywgMCApICk7Cit9CisKKy8qKgorICogeG1sU2F2ZUZvcm1hdEZpbGU6CisgKiBAZmlsZW5hbWU6ICB0aGUgZmlsZW5hbWUgKG9yIFVSTCkKKyAqIEBjdXI6ICB0aGUgZG9jdW1lbnQKKyAqIEBmb3JtYXQ6ICBzaG91bGQgZm9ybWF0dGluZyBzcGFjZXMgYmVlbiBhZGRlZAorICoKKyAqIER1bXAgYW4gWE1MIGRvY3VtZW50IHRvIGEgZmlsZS4gV2lsbCB1c2UgY29tcHJlc3Npb24gaWYKKyAqIGNvbXBpbGVkIGluIGFuZCBlbmFibGVkLiBJZiBAZmlsZW5hbWUgaXMgIi0iIHRoZSBzdGRvdXQgZmlsZSBpcworICogdXNlZC4gSWYgQGZvcm1hdCBpcyBzZXQgdGhlbiB0aGUgZG9jdW1lbnQgd2lsbCBiZSBpbmRlbnRlZCBvbiBvdXRwdXQuCisgKiBOb3RlIHRoYXQgQGZvcm1hdCA9IDEgcHJvdmlkZSBub2RlIGluZGVudGluZyBvbmx5IGlmIHhtbEluZGVudFRyZWVPdXRwdXQgPSAxCisgKiBvciB4bWxLZWVwQmxhbmtzRGVmYXVsdCgwKSB3YXMgY2FsbGVkCisgKgorICogcmV0dXJuczogdGhlIG51bWJlciBvZiBieXRlcyB3cml0dGVuIG9yIC0xIGluIGNhc2Ugb2YgZmFpbHVyZS4KKyAqLworaW50Cit4bWxTYXZlRm9ybWF0RmlsZShjb25zdCBjaGFyICpmaWxlbmFtZSwgeG1sRG9jUHRyIGN1ciwgaW50IGZvcm1hdCkgeworICAgIHJldHVybiAoIHhtbFNhdmVGb3JtYXRGaWxlRW5jKCBmaWxlbmFtZSwgY3VyLCBOVUxMLCBmb3JtYXQgKSApOworfQorCisvKioKKyAqIHhtbFNhdmVGaWxlOgorICogQGZpbGVuYW1lOiAgdGhlIGZpbGVuYW1lIChvciBVUkwpCisgKiBAY3VyOiAgdGhlIGRvY3VtZW50CisgKgorICogRHVtcCBhbiBYTUwgZG9jdW1lbnQgdG8gYSBmaWxlLiBXaWxsIHVzZSBjb21wcmVzc2lvbiBpZgorICogY29tcGlsZWQgaW4gYW5kIGVuYWJsZWQuIElmIEBmaWxlbmFtZSBpcyAiLSIgdGhlIHN0ZG91dCBmaWxlIGlzCisgKiB1c2VkLgorICogcmV0dXJuczogdGhlIG51bWJlciBvZiBieXRlcyB3cml0dGVuIG9yIC0xIGluIGNhc2Ugb2YgZmFpbHVyZS4KKyAqLworaW50Cit4bWxTYXZlRmlsZShjb25zdCBjaGFyICpmaWxlbmFtZSwgeG1sRG9jUHRyIGN1cikgeworICAgIHJldHVybih4bWxTYXZlRm9ybWF0RmlsZUVuYyhmaWxlbmFtZSwgY3VyLCBOVUxMLCAwKSk7Cit9CisKKyNlbmRpZiAvKiBMSUJYTUxfT1VUUFVUX0VOQUJMRUQgKi8KKworI2RlZmluZSBib3R0b21feG1sc2F2ZQorI2luY2x1ZGUgImVsZmdjY2hhY2suaCIKZGlmZiAtLWdpdCBhL2xpYnhtbDIveG1sc2NoZW1hcy5jIGIvbGlieG1sMi94bWxzY2hlbWFzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDY1N2I2NgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIveG1sc2NoZW1hcy5jCkBAIC0wLDAgKzEsMjg5MDcgQEAKKy8qCisgKiBzY2hlbWFzLmMgOiBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgWE1MIFNjaGVtYSBoYW5kbGluZyBhbmQKKyAqICAgICAgICAgICAgIHNjaGVtYSB2YWxpZGl0eSBjaGVja2luZworICoKKyAqIFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyAqCisgKiBEYW5pZWwgVmVpbGxhcmQgPHZlaWxsYXJkQHJlZGhhdC5jb20+CisgKi8KKworLyoKKyAqIFRPRE86CisgKiAgIC0gd2hlbiB0eXBlcyBhcmUgcmVkZWZpbmVkIGluIGluY2x1ZGVzLCBjaGVjayB0aGF0IGFsbAorICogICAgIHR5cGVzIGluIHRoZSByZWRlZiBsaXN0IGFyZSBlcXVhbAorICogICAgIC0+IG5lZWQgYSB0eXBlIGVxdWFsaXR5IG9wZXJhdGlvbi4KKyAqICAgLSBpZiB3ZSBkb24ndCBpbnRlbmQgdG8gdXNlIHRoZSBzY2hlbWEgZm9yIHNjaGVtYXMsIHdlCisgKiAgICAgbmVlZCB0byB2YWxpZGF0ZSBhbGwgc2NoZW1hIGF0dHJpYnV0ZXMgKHJlZiwgdHlwZSwgbmFtZSkKKyAqICAgICBhZ2FpbnN0IHRoZWlyIHR5cGVzLgorICogICAtIEVsaW1pbmF0ZSBpdGVtIGNyZWF0aW9uIGZvcjogPz8KKyAqCisgKiBVUkdFTlQgVE9ETzoKKyAqICAgLSBGb3IgeHNpLWRyaXZlbiBzY2hlbWEgYWNxdWlzaXRpb24sIGF1Z21lbnQgdGhlIElEQ3MgYWZ0ZXIgZXZlcnkKKyAqICAgICBhY3F1aXNpdGlvbiBlcGlzb2RlICh4bWxTY2hlbWFBdWdtZW50SURDKS4KKyAqCisgKiBOT1RFUzoKKyAqICAgLSBFbGltYXRlZCBpdGVtIGNyZWF0aW9uIGZvcjogPHJlc3RyaWN0aW9uPiwgPGV4dGVuc2lvbj4sCisgKiAgICAgPHNpbXBsZUNvbnRlbnQ+LCA8Y29tcGxleENvbnRlbnQ+LCA8bGlzdD4sIDx1bmlvbj4KKyAqCisgKiBQUk9CTEVNUzoKKyAqICAgLSBodHRwOi8vbGlzdHMudzMub3JnL0FyY2hpdmVzL1B1YmxpYy93d3cteG1sLXNjaGVtYS1jb21tZW50cy8yMDA1SnVsU2VwLzAzMzcuaHRtbAorICogICAgIElEQyBYUGF0aCBleHByZXNzaW9uIGFuZCBjaGFtZWxlb24gaW5jbHVkZXM6IHRoZSB0YXJnZXROYW1lc3BhY2UgaXMgY2hhbmdlZCwgc28KKyAqICAgICBYUGF0aCB3aWxsIGhhdmUgdHJvdWJsZSB0byByZXNvbHZlIHRvIHRoaXMgbmFtZXNwYWNlLCBzaW5jZSBub3Qga25vd24uCisgKgorICoKKyAqIENPTlNUUkFJTlRTOgorICoKKyAqIFNjaGVtYSBDb21wb25lbnQgQ29uc3RyYWludDoKKyAqICAgQWxsIEdyb3VwIExpbWl0ZWQgKGNvcy1hbGwtbGltaXRlZCkKKyAqICAgU3RhdHVzOiBjb21wbGV0ZQorICogICAoMS4yKQorICogICAgIEluIHhtbFNjaGVtYUdyb3VwRGVmUmVmZXJlbmNlVGVybUZpeHVwKCkgYW5kCisgKiAgICgyKQorICogICAgIEluIHhtbFNjaGVtYVBhcnNlTW9kZWxHcm91cCgpCisgKiAgICAgVE9ETzogQWN0dWFsbHkgdGhpcyBzaG91bGQgZ28gdG8gY29tcG9uZW50LWxldmVsIGNoZWNrcywKKyAqICAgICBidXQgaXMgZG9uZSBoZXJlIGR1ZSB0byBwZXJmb3JtYW5jZS4gTW92ZSBpdCB0byBhbiBvdGhlciBsYXllcgorICogICAgIGlzIHNjaGVtYSBjb25zdHJ1Y3Rpb24gdmlhIGFuIEFQSSBpcyBpbXBsZW1lbnRlZC4KKyAqLworI2RlZmluZSBJTl9MSUJYTUwKKyNpbmNsdWRlICJsaWJ4bWwuaCIKKworI2lmZGVmIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQKKworI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGxpYnhtbC94bWxtZW1vcnkuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvcGFyc2VyLmg+CisjaW5jbHVkZSA8bGlieG1sL3BhcnNlckludGVybmFscy5oPgorI2luY2x1ZGUgPGxpYnhtbC9oYXNoLmg+CisjaW5jbHVkZSA8bGlieG1sL3VyaS5oPgorI2luY2x1ZGUgPGxpYnhtbC94bWxzY2hlbWFzLmg+CisjaW5jbHVkZSA8bGlieG1sL3NjaGVtYXNJbnRlcm5hbHMuaD4KKyNpbmNsdWRlIDxsaWJ4bWwveG1sc2NoZW1hc3R5cGVzLmg+CisjaW5jbHVkZSA8bGlieG1sL3htbGF1dG9tYXRhLmg+CisjaW5jbHVkZSA8bGlieG1sL3htbHJlZ2V4cC5oPgorI2luY2x1ZGUgPGxpYnhtbC9kaWN0Lmg+CisjaW5jbHVkZSA8bGlieG1sL2VuY29kaW5nLmg+CisjaW5jbHVkZSA8bGlieG1sL3htbElPLmg+CisjaWZkZWYgTElCWE1MX1BBVFRFUk5fRU5BQkxFRAorI2luY2x1ZGUgPGxpYnhtbC9wYXR0ZXJuLmg+CisjZW5kaWYKKyNpZmRlZiBMSUJYTUxfUkVBREVSX0VOQUJMRUQKKyNpbmNsdWRlIDxsaWJ4bWwveG1scmVhZGVyLmg+CisjZW5kaWYKKworLyogI2RlZmluZSBERUJVRyAxICovCisKKy8qICNkZWZpbmUgREVCVUdfQ09OVEVOVCAxICovCisKKy8qICNkZWZpbmUgREVCVUdfVFlQRSAxICovCisKKy8qICNkZWZpbmUgREVCVUdfQ09OVEVOVF9SRUdFWFAgMSAqLworCisvKiAjZGVmaW5lIERFQlVHX0FVVE9NQVRBIDEgKi8KKworLyogI2RlZmluZSBERUJVR19JREMgKi8KKworLyogI2RlZmluZSBERUJVR19JRENfTk9ERV9UQUJMRSAqLworCisvKiAjZGVmaW5lIFdYU19FTEVNX0RFQ0xfQ09OU19FTkFCTEVEICovCisKKyNpZmRlZiBERUJVR19JREMKKyAjaWZuZGVmIERFQlVHX0lEQ19OT0RFX1RBQkxFCisgICNkZWZpbmUgREVCVUdfSURDX05PREVfVEFCTEUKKyAjZW5kaWYKKyNlbmRpZgorCisvKiAjZGVmaW5lIEVOQUJMRV9QQVJUSUNMRV9SRVNUUklDVElPTiAxICovCisKKyNkZWZpbmUgRU5BQkxFX1JFREVGSU5FCisKKy8qICNkZWZpbmUgRU5BQkxFX05BTUVEX0xPQ0FMUyAqLworCisvKiAjZGVmaW5lIEVOQUJMRV9JRENfTk9ERV9UQUJMRVNfVEVTVCAqLworCisjZGVmaW5lIERVTVBfQ09OVEVOVF9NT0RFTAorCisjaWZkZWYgTElCWE1MX1JFQURFUl9FTkFCTEVECisvKiAjZGVmaW5lIFhNTF9TQ0hFTUFfUkVBREVSX0VOQUJMRUQgKi8KKyNlbmRpZgorCisjZGVmaW5lIFVOQk9VTkRFRCAoMSA8PCAzMCkKKyNkZWZpbmUgVE9ETwkJCQkJCQkJXAorICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAkJCQlcCisJICAgICJVbmltcGxlbWVudGVkIGJsb2NrIGF0ICVzOiVkXG4iLAkJCQlcCisgICAgICAgICAgICBfX0ZJTEVfXywgX19MSU5FX18pOworCisjZGVmaW5lIFhNTF9TQ0hFTUFTX05PX05BTUVTUEFDRSAoY29uc3QgeG1sQ2hhciAqKSAiIyMiCisKKy8qCisgKiBUaGUgWE1MIFNjaGVtYXMgbmFtZXNwYWNlcworICovCitzdGF0aWMgY29uc3QgeG1sQ2hhciAqeG1sU2NoZW1hTnMgPSAoY29uc3QgeG1sQ2hhciAqKQorICAgICJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI7CisKK3N0YXRpYyBjb25zdCB4bWxDaGFyICp4bWxTY2hlbWFJbnN0YW5jZU5zID0gKGNvbnN0IHhtbENoYXIgKikKKyAgICAiaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiOworCitzdGF0aWMgY29uc3QgeG1sQ2hhciAqeG1sTmFtZXNwYWNlTnMgPSAoY29uc3QgeG1sQ2hhciAqKQorICAgICJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3htbG5zLyI7CisKKy8qCisqIENvbWUgY2FzdGluZyBtYWNyb3MuCisqLworI2RlZmluZSBBQ1RYVF9DQVNUICh4bWxTY2hlbWFBYnN0cmFjdEN0eHRQdHIpCisjZGVmaW5lIFBDVFhUX0NBU1QgKHhtbFNjaGVtYVBhcnNlckN0eHRQdHIpCisjZGVmaW5lIFZDVFhUX0NBU1QgKHhtbFNjaGVtYVZhbGlkQ3R4dFB0cikKKyNkZWZpbmUgV1hTX0JBU0lDX0NBU1QgKHhtbFNjaGVtYUJhc2ljSXRlbVB0cikKKyNkZWZpbmUgV1hTX1RSRUVfQ0FTVCAoeG1sU2NoZW1hVHJlZUl0ZW1QdHIpCisjZGVmaW5lIFdYU19QVENfQ0FTVCAoeG1sU2NoZW1hUGFydGljbGVQdHIpCisjZGVmaW5lIFdYU19UWVBFX0NBU1QgKHhtbFNjaGVtYVR5cGVQdHIpCisjZGVmaW5lIFdYU19FTEVNX0NBU1QgKHhtbFNjaGVtYUVsZW1lbnRQdHIpCisjZGVmaW5lIFdYU19BVFRSX0dST1VQX0NBU1QgKHhtbFNjaGVtYUF0dHJpYnV0ZUdyb3VwUHRyKQorI2RlZmluZSBXWFNfQVRUUl9DQVNUICh4bWxTY2hlbWFBdHRyaWJ1dGVQdHIpCisjZGVmaW5lIFdYU19BVFRSX1VTRV9DQVNUICh4bWxTY2hlbWFBdHRyaWJ1dGVVc2VQdHIpCisjZGVmaW5lIFdYU19BVFRSX1BST0hJQl9DQVNUICh4bWxTY2hlbWFBdHRyaWJ1dGVVc2VQcm9oaWJQdHIpCisjZGVmaW5lIFdYU19NT0RFTF9HUk9VUERFRl9DQVNUICh4bWxTY2hlbWFNb2RlbEdyb3VwRGVmUHRyKQorI2RlZmluZSBXWFNfTU9ERUxfR1JPVVBfQ0FTVCAoeG1sU2NoZW1hTW9kZWxHcm91cFB0cikKKyNkZWZpbmUgV1hTX0lEQ19DQVNUICh4bWxTY2hlbWFJRENQdHIpCisjZGVmaW5lIFdYU19RTkFNRV9DQVNUICh4bWxTY2hlbWFRTmFtZVJlZlB0cikKKyNkZWZpbmUgV1hTX0xJU1RfQ0FTVCAoeG1sU2NoZW1hSXRlbUxpc3RQdHIpCisKKy8qCisqIE1hY3JvcyB0byBxdWVyeSBjb21tb24gcHJvcGVydGllcyBvZiBjb21wb25lbnRzLgorKi8KKyNkZWZpbmUgV1hTX0lURU1fTk9ERShpKSB4bWxTY2hlbWFHZXRDb21wb25lbnROb2RlKFdYU19CQVNJQ19DQVNUIChpKSkKKworI2RlZmluZSBXWFNfSVRFTV9UWVBFX05BTUUoaSkgeG1sU2NoZW1hR2V0Q29tcG9uZW50VHlwZVN0cihXWFNfQkFTSUNfQ0FTVCAoaSkpCisvKgorKiBNYWNyb3MgZm9yIGVsZW1lbnQgZGVjbGFyYXRpb25zLgorKi8KKyNkZWZpbmUgV1hTX0VMRU1fVFlQRURFRihlKSAoZSktPnN1YnR5cGVzCisKKyNkZWZpbmUgV1hTX1NVQlNUX0hFQUQoaXRlbSkgKGl0ZW0pLT5yZWZEZWNsCisvKgorKiBNYWNyb3MgZm9yIGF0dHJpYnV0ZSBkZWNsYXJhdGlvbnMuCisqLworI2RlZmluZSBXWFNfQVRUUl9UWVBFREVGKGEpIChhKS0+c3VidHlwZXMKKy8qCisqIE1hY3JvcyBmb3IgYXR0cmlidXRlIHVzZXMuCisqLworI2RlZmluZSBXWFNfQVRUUlVTRV9ERUNMKGF1KSBXWFNfQVRUUl9DQVNUIChXWFNfQVRUUl9VU0VfQ0FTVCAoYXUpKS0+YXR0ckRlY2wKKworI2RlZmluZSBXWFNfQVRUUlVTRV9UWVBFREVGKGF1KSBXWFNfQVRUUl9UWVBFREVGKFdYU19BVFRSVVNFX0RFQ0woIFdYU19BVFRSX1VTRV9DQVNUIGF1KSkKKworI2RlZmluZSBXWFNfQVRUUlVTRV9ERUNMX05BTUUoYXUpIChXWFNfQVRUUlVTRV9ERUNMKGF1KSktPm5hbWUKKworI2RlZmluZSBXWFNfQVRUUlVTRV9ERUNMX1ROUyhhdSkgKFdYU19BVFRSVVNFX0RFQ0woYXUpKS0+dGFyZ2V0TmFtZXNwYWNlCisvKgorKiBNYWNyb3MgZm9yIGF0dHJpYnV0ZSBncm91cHMuCisqLworI2RlZmluZSBXWFNfQVRUUl9HUk9VUF9IQVNfUkVGUyhhZykgKChXWFNfQVRUUl9HUk9VUF9DQVNUIChhZykpLT5mbGFncyAmIFhNTF9TQ0hFTUFTX0FUVFJHUk9VUF9IQVNfUkVGUykKKyNkZWZpbmUgV1hTX0FUVFJfR1JPVVBfRVhQQU5ERUQoYWcpICgoV1hTX0FUVFJfR1JPVVBfQ0FTVCAoYWcpKS0+ZmxhZ3MgJiBYTUxfU0NIRU1BU19BVFRSR1JPVVBfV0lMRENBUkRfQlVJTERFRCkKKy8qCisqIE1hY3JvcyBmb3IgcGFydGljbGVzLgorKi8KKyNkZWZpbmUgV1hTX1BBUlRJQ0xFKHApIFdYU19QVENfQ0FTVCAocCkKKworI2RlZmluZSBXWFNfUEFSVElDTEVfVEVSTShwKSAoV1hTX1BBUlRJQ0xFKHApKS0+Y2hpbGRyZW4KKworI2RlZmluZSBXWFNfUEFSVElDTEVfVEVSTV9BU19FTEVNKHApIChXWFNfRUxFTV9DQVNUIFdYU19QQVJUSUNMRV9URVJNKHApKQorCisjZGVmaW5lIFdYU19QQVJUSUNMRV9NT0RFTChwKSBXWFNfTU9ERUxfR1JPVVBfQ0FTVCBXWFNfUEFSVElDTEUocCktPmNoaWxkcmVuCisvKgorKiBNYWNyb3MgZm9yIG1vZGVsIGdyb3VwcyBkZWZpbml0aW9ucy4KKyovCisjZGVmaW5lIFdYU19NT0RFTEdST1VQREVGX01PREVMKG1nZCkgKFdYU19NT0RFTF9HUk9VUF9DQVNUIChtZ2QpKS0+Y2hpbGRyZW4KKy8qCisqIE1hY3JvcyBmb3IgbW9kZWwgZ3JvdXBzLgorKi8KKyNkZWZpbmUgV1hTX0lTX01PREVMX0dST1VQKGkpIFwKKyAgICAoKChpKS0+dHlwZSA9PSBYTUxfU0NIRU1BX1RZUEVfU0VRVUVOQ0UpIHx8IFwKKyAgICAgKChpKS0+dHlwZSA9PSBYTUxfU0NIRU1BX1RZUEVfQ0hPSUNFKSB8fCBcCisgICAgICgoaSktPnR5cGUgPT0gWE1MX1NDSEVNQV9UWVBFX0FMTCkpCisKKyNkZWZpbmUgV1hTX01PREVMR1JPVVBfUEFSVElDTEUobWcpIFdYU19QVENfQ0FTVCAobWcpLT5jaGlsZHJlbgorLyoKKyogTWFjcm9zIGZvciBzY2hlbWEgYnVja2V0cy4KKyovCisjZGVmaW5lIFdYU19JU19CVUNLRVRfSU5DUkVERUYodCkgKCgodCkgPT0gWE1MX1NDSEVNQV9TQ0hFTUFfSU5DTFVERSkgfHwgXAorICAgICgodCkgPT0gWE1MX1NDSEVNQV9TQ0hFTUFfUkVERUZJTkUpKQorCisjZGVmaW5lIFdYU19JU19CVUNLRVRfSU1QTUFJTih0KSAoKCh0KSA9PSBYTUxfU0NIRU1BX1NDSEVNQV9NQUlOKSB8fCBcCisgICAgKCh0KSA9PSBYTUxfU0NIRU1BX1NDSEVNQV9JTVBPUlQpKQorCisjZGVmaW5lIFdYU19JTVBCVUNLRVQoYikgKCh4bWxTY2hlbWFJbXBvcnRQdHIpIChiKSkKKworI2RlZmluZSBXWFNfSU5DQlVDS0VUKGIpICgoeG1sU2NoZW1hSW5jbHVkZVB0cikgKGIpKQorLyoKKyogTWFjcm9zIGZvciBjb21wbGV4L3NpbXBsZSB0eXBlcy4KKyovCisjZGVmaW5lIFdYU19JU19BTllUWVBFKGkpIFwKKyAgICAgKCggKGkpLT50eXBlID09IFhNTF9TQ0hFTUFfVFlQRV9CQVNJQykgJiYgXAorICAgICAgKCAoV1hTX1RZUEVfQ0FTVCAoaSkpLT5idWlsdEluVHlwZSA9PSBYTUxfU0NIRU1BU19BTllUWVBFKSkKKworI2RlZmluZSBXWFNfSVNfQ09NUExFWChpKSBcCisgICAgKCgoaSktPnR5cGUgPT0gWE1MX1NDSEVNQV9UWVBFX0NPTVBMRVgpIHx8IFwKKyAgICAgKChpKS0+YnVpbHRJblR5cGUgPT0gWE1MX1NDSEVNQVNfQU5ZVFlQRSkpCisKKyNkZWZpbmUgV1hTX0lTX1NJTVBMRShpdGVtKSBcCisgICAgKChpdGVtLT50eXBlID09IFhNTF9TQ0hFTUFfVFlQRV9TSU1QTEUpIHx8IFwKKyAgICAgKChpdGVtLT50eXBlID09IFhNTF9TQ0hFTUFfVFlQRV9CQVNJQykgJiYgXAorICAgICAgKGl0ZW0tPmJ1aWx0SW5UeXBlICE9IFhNTF9TQ0hFTUFTX0FOWVRZUEUpKSkKKworI2RlZmluZSBXWFNfSVNfQU5ZX1NJTVBMRV9UWVBFKGkpIFwKKyAgICAoKChpKS0+dHlwZSA9PSBYTUxfU0NIRU1BX1RZUEVfQkFTSUMpICYmIFwKKyAgICAgICgoaSktPmJ1aWx0SW5UeXBlID09IFhNTF9TQ0hFTUFTX0FOWVNJTVBMRVRZUEUpKQorCisjZGVmaW5lIFdYU19JU19SRVNUUklDVElPTih0KSBcCisgICAgKCh0KS0+ZmxhZ3MgJiBYTUxfU0NIRU1BU19UWVBFX0RFUklWQVRJT05fTUVUSE9EX1JFU1RSSUNUSU9OKQorCisjZGVmaW5lIFdYU19JU19FWFRFTlNJT04odCkgXAorICAgICgodCktPmZsYWdzICYgWE1MX1NDSEVNQVNfVFlQRV9ERVJJVkFUSU9OX01FVEhPRF9FWFRFTlNJT04pCisKKyNkZWZpbmUgV1hTX0lTX1RZUEVfTk9UX0ZJWEVEKGkpIFwKKyAgICAoKChpKS0+dHlwZSAhPSBYTUxfU0NIRU1BX1RZUEVfQkFTSUMpICYmIFwKKyAgICAgKCgoaSktPmZsYWdzICYgWE1MX1NDSEVNQVNfVFlQRV9JTlRFUk5BTF9SRVNPTFZFRCkgPT0gMCkpCisKKyNkZWZpbmUgV1hTX0lTX1RZUEVfTk9UX0ZJWEVEXzEoaXRlbSkgXAorICAgICgoKGl0ZW0pLT50eXBlICE9IFhNTF9TQ0hFTUFfVFlQRV9CQVNJQykgJiYgXAorICAgICAoKChpdGVtKS0+ZmxhZ3MgJiBYTUxfU0NIRU1BU19UWVBFX0ZJWFVQXzEpID09IDApKQorCisjZGVmaW5lIFdYU19UWVBFX0lTX0dMT0JBTCh0KSAoKHQpLT5mbGFncyAmIFhNTF9TQ0hFTUFTX1RZUEVfR0xPQkFMKQorCisjZGVmaW5lIFdYU19UWVBFX0lTX0xPQ0FMKHQpICgoKHQpLT5mbGFncyAmIFhNTF9TQ0hFTUFTX1RZUEVfR0xPQkFMKSA9PSAwKQorLyoKKyogTWFjcm9zIGZvciBleGNsdXNpdmVseSBmb3IgY29tcGxleCB0eXBlcy4KKyovCisjZGVmaW5lIFdYU19IQVNfQ09NUExFWF9DT05URU5UKGl0ZW0pIFwKKyAgICAoKGl0ZW0tPmNvbnRlbnRUeXBlID09IFhNTF9TQ0hFTUFfQ09OVEVOVF9NSVhFRCkgfHwgXAorICAgICAoaXRlbS0+Y29udGVudFR5cGUgPT0gWE1MX1NDSEVNQV9DT05URU5UX0VNUFRZKSB8fCBcCisgICAgIChpdGVtLT5jb250ZW50VHlwZSA9PSBYTUxfU0NIRU1BX0NPTlRFTlRfRUxFTUVOVFMpKQorCisjZGVmaW5lIFdYU19IQVNfU0lNUExFX0NPTlRFTlQoaXRlbSkgXAorICAgICgoaXRlbS0+Y29udGVudFR5cGUgPT0gWE1MX1NDSEVNQV9DT05URU5UX1NJTVBMRSkgfHwgXAorICAgICAoaXRlbS0+Y29udGVudFR5cGUgPT0gWE1MX1NDSEVNQV9DT05URU5UX0JBU0lDKSkKKworI2RlZmluZSBXWFNfSEFTX01JWEVEX0NPTlRFTlQoaXRlbSkgXAorICAgIChpdGVtLT5jb250ZW50VHlwZSA9PSBYTUxfU0NIRU1BX0NPTlRFTlRfTUlYRUQpCisKKyNkZWZpbmUgV1hTX0VNUFRJQUJMRSh0KSBcCisgICAgKHhtbFNjaGVtYUlzUGFydGljbGVFbXB0aWFibGUoV1hTX1BUQ19DQVNUICh0KS0+c3VidHlwZXMpKQorCisjZGVmaW5lIFdYU19UWVBFX0NPTlRFTlRUWVBFKHQpICh0KS0+c3VidHlwZXMKKworI2RlZmluZSBXWFNfVFlQRV9QQVJUSUNMRSh0KSBXWFNfUFRDX0NBU1QgKHQpLT5zdWJ0eXBlcworCisjZGVmaW5lIFdYU19UWVBFX1BBUlRJQ0xFX1RFUk0odCkgV1hTX1BBUlRJQ0xFX1RFUk0oV1hTX1RZUEVfUEFSVElDTEUodCkpCisvKgorKiBNYWNyb3MgZm9yIGV4Y2x1c2l2ZWx5IGZvciBzaW1wbGUgdHlwZXMuCisqLworI2RlZmluZSBXWFNfTElTVF9JVEVNVFlQRSh0KSAodCktPnN1YnR5cGVzCisKKyNkZWZpbmUgV1hTX0lTX0FUT01JQyh0KSAodC0+ZmxhZ3MgJiBYTUxfU0NIRU1BU19UWVBFX1ZBUklFVFlfQVRPTUlDKQorCisjZGVmaW5lIFdYU19JU19MSVNUKHQpICh0LT5mbGFncyAmIFhNTF9TQ0hFTUFTX1RZUEVfVkFSSUVUWV9MSVNUKQorCisjZGVmaW5lIFdYU19JU19VTklPTih0KSAodC0+ZmxhZ3MgJiBYTUxfU0NIRU1BU19UWVBFX1ZBUklFVFlfVU5JT04pCisvKgorKiBNaXNjIHBhcnNlciBjb250ZXh0IG1hY3Jvcy4KKyovCisjZGVmaW5lIFdYU19DT05TVFJVQ1RPUihjdHgpIChjdHgpLT5jb25zdHJ1Y3RvcgorCisjZGVmaW5lIFdYU19IQVNfQlVDS0VUUyhjdHgpIFwKKyggKFdYU19DT05TVFJVQ1RPUigoY3R4KSktPmJ1Y2tldHMgIT0gTlVMTCkgJiYgXAorKFdYU19DT05TVFJVQ1RPUigoY3R4KSktPmJ1Y2tldHMtPm5iSXRlbXMgPiAwKSApCisKKyNkZWZpbmUgV1hTX1NVQlNUX0dST1VQUyhjdHgpIFdYU19DT05TVFJVQ1RPUigoY3R4KSktPnN1YnN0R3JvdXBzCisKKyNkZWZpbmUgV1hTX0JVQ0tFVChjdHgpIFdYU19DT05TVFJVQ1RPUigoY3R4KSktPmJ1Y2tldAorCisjZGVmaW5lIFdYU19TQ0hFTUEoY3R4KSAoY3R4KS0+c2NoZW1hCisKKyNkZWZpbmUgV1hTX0FERF9MT0NBTChjdHgsIGl0ZW0pIFwKKyAgICB4bWxTY2hlbWFBZGRJdGVtU2l6ZSgmKFdYU19CVUNLRVQoY3R4KS0+bG9jYWxzKSwgMTAsIGl0ZW0pCisKKyNkZWZpbmUgV1hTX0FERF9HTE9CQUwoY3R4LCBpdGVtKSBcCisgICAgeG1sU2NoZW1hQWRkSXRlbVNpemUoJihXWFNfQlVDS0VUKGN0eCktPmdsb2JhbHMpLCA1LCBpdGVtKQorCisjZGVmaW5lIFdYU19BRERfUEVORElORyhjdHgsIGl0ZW0pIFwKKyAgICB4bWxTY2hlbWFBZGRJdGVtU2l6ZSgmKChjdHgpLT5jb25zdHJ1Y3Rvci0+cGVuZGluZyksIDEwLCBpdGVtKQorLyoKKyogeG1sU2NoZW1hSXRlbUxpc3QgbWFjcm9zLgorKi8KKyNkZWZpbmUgV1hTX0lMSVNUX0lTX0VNUFRZKGwpICgobCA9PSBOVUxMKSB8fCAoKGwpLT5uYkl0ZW1zID09IDApKQorLyoKKyogTWlzYyBtYWNyb3MuCisqLworI2RlZmluZSBJU19TQ0hFTUEobm9kZSwgdHlwZSkgXAorICAgKChub2RlICE9IE5VTEwpICYmIChub2RlLT5ucyAhPSBOVUxMKSAmJiBcCisgICAgKHhtbFN0ckVxdWFsKG5vZGUtPm5hbWUsIChjb25zdCB4bWxDaGFyICopIHR5cGUpKSAmJiBcCisgICAgKHhtbFN0ckVxdWFsKG5vZGUtPm5zLT5ocmVmLCB4bWxTY2hlbWFOcykpKQorCisjZGVmaW5lIEZSRUVfQU5EX05VTEwoc3RyKSBpZiAoKHN0cikgIT0gTlVMTCkgeyB4bWxGcmVlKCh4bWxDaGFyICopIChzdHIpKTsgc3RyID0gTlVMTDsgfQorCisvKgorKiBTaW5jZSB3ZSBwdXQgdGhlIGRlZmF1bHQvZml4ZWQgdmFsdWVzIGludG8gdGhlIGRpY3QsIHdlIGNhbgorKiB1c2UgcG9pbnRlciBjb21wYXJpc29uIGZvciB0aG9zZSB2YWx1ZXMuCisqIFJFTU9WRUQ6ICh4bWxTdHJFcXVhbCgodjEpLCAodjIpKSkKKyovCisjZGVmaW5lIFdYU19BUkVfREVGQVVMVF9TVFJfRVFVQUwodjEsIHYyKSAoKHYxKSA9PSAodjIpKQorCisjZGVmaW5lIElOT0RFX05JTExFRChpdGVtKSAoaXRlbS0+ZmxhZ3MgJiBYTUxfU0NIRU1BX0VMRU1fSU5GT19OSUxMRUQpCisKKyNkZWZpbmUgQ0FOX1BBUlNFX1NDSEVNQShiKSAoKChiKS0+ZG9jICE9IE5VTEwpICYmICgoYiktPnBhcnNlZCA9PSAwKSkKKworI2RlZmluZSBIRkFJTFVSRSBpZiAocmVzID09IC0xKSBnb3RvIGV4aXRfZmFpbHVyZTsKKworI2RlZmluZSBIRVJST1IgaWYgKHJlcyAhPSAwKSBnb3RvIGV4aXRfZXJyb3I7CisKKyNkZWZpbmUgSFNUT1AoY3R4KSBpZiAoKGN0eCktPnN0b3ApIGdvdG8gZXhpdDsKKy8qCisqIFNvbWUgZmxhZ3MgdXNlZCBmb3IgdmFyaW91cyBzY2hlbWEgY29uc3RyYWludHMuCisqLworI2RlZmluZSBTVUJTRVRfUkVTVFJJQ1RJT04gIDE8PDAKKyNkZWZpbmUgU1VCU0VUX0VYVEVOU0lPTiAgICAxPDwxCisjZGVmaW5lIFNVQlNFVF9TVUJTVElUVVRJT04gMTw8MgorI2RlZmluZSBTVUJTRVRfTElTVCAgICAgICAgIDE8PDMKKyNkZWZpbmUgU1VCU0VUX1VOSU9OICAgICAgICAxPDw0CisKK3R5cGVkZWYgc3RydWN0IF94bWxTY2hlbWFOb2RlSW5mbyB4bWxTY2hlbWFOb2RlSW5mbzsKK3R5cGVkZWYgeG1sU2NoZW1hTm9kZUluZm8gKnhtbFNjaGVtYU5vZGVJbmZvUHRyOworCit0eXBlZGVmIHN0cnVjdCBfeG1sU2NoZW1hSXRlbUxpc3QgeG1sU2NoZW1hSXRlbUxpc3Q7Cit0eXBlZGVmIHhtbFNjaGVtYUl0ZW1MaXN0ICp4bWxTY2hlbWFJdGVtTGlzdFB0cjsKK3N0cnVjdCBfeG1sU2NoZW1hSXRlbUxpc3QgeworICAgIHZvaWQgKippdGVtczsgIC8qIHVzZWQgZm9yIGR5bmFtaWMgYWRkaXRpb24gb2Ygc2NoZW1hdGEgKi8KKyAgICBpbnQgbmJJdGVtczsgLyogdXNlZCBmb3IgZHluYW1pYyBhZGRpdGlvbiBvZiBzY2hlbWF0YSAqLworICAgIGludCBzaXplSXRlbXM7IC8qIHVzZWQgZm9yIGR5bmFtaWMgYWRkaXRpb24gb2Ygc2NoZW1hdGEgKi8KK307CisKKyNkZWZpbmUgWE1MX1NDSEVNQV9DVFhUX1BBUlNFUiAxCisjZGVmaW5lIFhNTF9TQ0hFTUFfQ1RYVF9WQUxJREFUT1IgMgorCit0eXBlZGVmIHN0cnVjdCBfeG1sU2NoZW1hQWJzdHJhY3RDdHh0IHhtbFNjaGVtYUFic3RyYWN0Q3R4dDsKK3R5cGVkZWYgeG1sU2NoZW1hQWJzdHJhY3RDdHh0ICp4bWxTY2hlbWFBYnN0cmFjdEN0eHRQdHI7CitzdHJ1Y3QgX3htbFNjaGVtYUFic3RyYWN0Q3R4dCB7CisgICAgaW50IHR5cGU7IC8qIEUuZy4gWE1MX1NDSEVNQV9DVFhUX1ZBTElEQVRPUiAqLworfTsKKwordHlwZWRlZiBzdHJ1Y3QgX3htbFNjaGVtYUJ1Y2tldCB4bWxTY2hlbWFCdWNrZXQ7Cit0eXBlZGVmIHhtbFNjaGVtYUJ1Y2tldCAqeG1sU2NoZW1hQnVja2V0UHRyOworCisjZGVmaW5lIFhNTF9TQ0hFTUFfU0NIRU1BX01BSU4gMAorI2RlZmluZSBYTUxfU0NIRU1BX1NDSEVNQV9JTVBPUlQgMQorI2RlZmluZSBYTUxfU0NIRU1BX1NDSEVNQV9JTkNMVURFIDIKKyNkZWZpbmUgWE1MX1NDSEVNQV9TQ0hFTUFfUkVERUZJTkUgMworCisvKioKKyAqIHhtbFNjaGVtYVNjaGVtYVJlbGF0aW9uOgorICoKKyAqIFVzZWQgdG8gY3JlYXRlIGEgZ3JhcGggb2Ygc2NoZW1hIHJlbGF0aW9uc2hpcHMuCisgKi8KK3R5cGVkZWYgc3RydWN0IF94bWxTY2hlbWFTY2hlbWFSZWxhdGlvbiB4bWxTY2hlbWFTY2hlbWFSZWxhdGlvbjsKK3R5cGVkZWYgeG1sU2NoZW1hU2NoZW1hUmVsYXRpb24gKnhtbFNjaGVtYVNjaGVtYVJlbGF0aW9uUHRyOworc3RydWN0IF94bWxTY2hlbWFTY2hlbWFSZWxhdGlvbiB7CisgICAgeG1sU2NoZW1hU2NoZW1hUmVsYXRpb25QdHIgbmV4dDsKKyAgICBpbnQgdHlwZTsgLyogRS5nLiBYTUxfU0NIRU1BX1NDSEVNQV9JTVBPUlQgKi8KKyAgICBjb25zdCB4bWxDaGFyICppbXBvcnROYW1lc3BhY2U7CisgICAgeG1sU2NoZW1hQnVja2V0UHRyIGJ1Y2tldDsKK307CisKKyNkZWZpbmUgWE1MX1NDSEVNQV9CVUNLRVRfTUFSS0VEIDE8PDAKKyNkZWZpbmUgWE1MX1NDSEVNQV9CVUNLRVRfQ09NUFNfQURERUQgMTw8MQorCitzdHJ1Y3QgX3htbFNjaGVtYUJ1Y2tldCB7CisgICAgaW50IHR5cGU7CisgICAgaW50IGZsYWdzOworICAgIGNvbnN0IHhtbENoYXIgKnNjaGVtYUxvY2F0aW9uOworICAgIGNvbnN0IHhtbENoYXIgKm9yaWdUYXJnZXROYW1lc3BhY2U7CisgICAgY29uc3QgeG1sQ2hhciAqdGFyZ2V0TmFtZXNwYWNlOworICAgIHhtbERvY1B0ciBkb2M7CisgICAgeG1sU2NoZW1hU2NoZW1hUmVsYXRpb25QdHIgcmVsYXRpb25zOworICAgIGludCBsb2NhdGVkOworICAgIGludCBwYXJzZWQ7CisgICAgaW50IGltcG9ydGVkOworICAgIGludCBwcmVzZXJ2ZURvYzsKKyAgICB4bWxTY2hlbWFJdGVtTGlzdFB0ciBnbG9iYWxzOyAvKiBHbG9iYWwgY29tcG9uZW50cy4gKi8KKyAgICB4bWxTY2hlbWFJdGVtTGlzdFB0ciBsb2NhbHM7IC8qIExvY2FsIGNvbXBvbmVudHMuICovCit9OworCisvKioKKyAqIHhtbFNjaGVtYUltcG9ydDoKKyAqIChleHRlbmRzIHhtbFNjaGVtYUJ1Y2tldCkKKyAqCisgKiBSZWZsZWN0cyBhIHNjaGVtYS4gSG9sZHMgc29tZSBpbmZvcm1hdGlvbgorICogYWJvdXQgdGhlIHNjaGVtYSBhbmQgaXRzIHRvcGxldmVsIGNvbXBvbmVudHMuIER1cGxpY2F0ZQorICogdG9wbGV2ZWwgY29tcG9uZW50cyBhcmUgbm90IGNoZWNrZWQgYXQgdGhpcyBsZXZlbC4KKyAqLwordHlwZWRlZiBzdHJ1Y3QgX3htbFNjaGVtYUltcG9ydCB4bWxTY2hlbWFJbXBvcnQ7Cit0eXBlZGVmIHhtbFNjaGVtYUltcG9ydCAqeG1sU2NoZW1hSW1wb3J0UHRyOworc3RydWN0IF94bWxTY2hlbWFJbXBvcnQgeworICAgIGludCB0eXBlOyAvKiBNYWluIE9SIGltcG9ydCBPUiBpbmNsdWRlLiAqLworICAgIGludCBmbGFnczsKKyAgICBjb25zdCB4bWxDaGFyICpzY2hlbWFMb2NhdGlvbjsgLyogVGhlIFVSSSBvZiB0aGUgc2NoZW1hIGRvY3VtZW50LiAqLworICAgIC8qIEZvciBjaGFtZWxlb24gaW5jbHVkZXMsIEBvcmlnVGFyZ2V0TmFtZXNwYWNlIHdpbGwgYmUgTlVMTCAqLworICAgIGNvbnN0IHhtbENoYXIgKm9yaWdUYXJnZXROYW1lc3BhY2U7CisgICAgLyoKKyAgICAqIEZvciBjaGFtZWxlb24gaW5jbHVkZXMsIEB0YXJnZXROYW1lc3BhY2Ugd2lsbCBiZSB0aGUKKyAgICAqIHRhcmdldE5hbWVzcGFjZSBvZiB0aGUgaW5jbHVkaW5nIHNjaGVtYS4KKyAgICAqLworICAgIGNvbnN0IHhtbENoYXIgKnRhcmdldE5hbWVzcGFjZTsKKyAgICB4bWxEb2NQdHIgZG9jOyAvKiBUaGUgc2NoZW1hIG5vZGUtdHJlZS4gKi8KKyAgICAvKiBAcmVsYXRpb25zIHdpbGwgaG9sZCBhbnkgaW5jbHVkZWQvaW1wb3J0ZWQvcmVkZWZpbmVkIHNjaGVtYXMuICovCisgICAgeG1sU2NoZW1hU2NoZW1hUmVsYXRpb25QdHIgcmVsYXRpb25zOworICAgIGludCBsb2NhdGVkOworICAgIGludCBwYXJzZWQ7CisgICAgaW50IGltcG9ydGVkOworICAgIGludCBwcmVzZXJ2ZURvYzsKKyAgICB4bWxTY2hlbWFJdGVtTGlzdFB0ciBnbG9iYWxzOworICAgIHhtbFNjaGVtYUl0ZW1MaXN0UHRyIGxvY2FsczsKKyAgICAvKiBUaGUgaW1wb3J0ZWQgc2NoZW1hLiAqLworICAgIHhtbFNjaGVtYVB0ciBzY2hlbWE7Cit9OworCisvKgorKiAoZXh0ZW5kcyB4bWxTY2hlbWFCdWNrZXQpCisqLwordHlwZWRlZiBzdHJ1Y3QgX3htbFNjaGVtYUluY2x1ZGUgeG1sU2NoZW1hSW5jbHVkZTsKK3R5cGVkZWYgeG1sU2NoZW1hSW5jbHVkZSAqeG1sU2NoZW1hSW5jbHVkZVB0cjsKK3N0cnVjdCBfeG1sU2NoZW1hSW5jbHVkZSB7CisgICAgaW50IHR5cGU7CisgICAgaW50IGZsYWdzOworICAgIGNvbnN0IHhtbENoYXIgKnNjaGVtYUxvY2F0aW9uOworICAgIGNvbnN0IHhtbENoYXIgKm9yaWdUYXJnZXROYW1lc3BhY2U7CisgICAgY29uc3QgeG1sQ2hhciAqdGFyZ2V0TmFtZXNwYWNlOworICAgIHhtbERvY1B0ciBkb2M7CisgICAgeG1sU2NoZW1hU2NoZW1hUmVsYXRpb25QdHIgcmVsYXRpb25zOworICAgIGludCBsb2NhdGVkOworICAgIGludCBwYXJzZWQ7CisgICAgaW50IGltcG9ydGVkOworICAgIGludCBwcmVzZXJ2ZURvYzsKKyAgICB4bWxTY2hlbWFJdGVtTGlzdFB0ciBnbG9iYWxzOyAvKiBHbG9iYWwgY29tcG9uZW50cy4gKi8KKyAgICB4bWxTY2hlbWFJdGVtTGlzdFB0ciBsb2NhbHM7IC8qIExvY2FsIGNvbXBvbmVudHMuICovCisKKyAgICAvKiBUaGUgb3duaW5nIG1haW4gb3IgaW1wb3J0IHNjaGVtYSBidWNrZXQuICovCisgICAgeG1sU2NoZW1hSW1wb3J0UHRyIG93bmVySW1wb3J0OworfTsKKworLyoqCisgKiB4bWxTY2hlbWFCYXNpY0l0ZW06CisgKgorICogVGhlIGFic3RyYWN0IGJhc2UgdHlwZSBmb3Igc2NoZW1hIGNvbXBvbmVudHMuCisgKi8KK3R5cGVkZWYgc3RydWN0IF94bWxTY2hlbWFCYXNpY0l0ZW0geG1sU2NoZW1hQmFzaWNJdGVtOwordHlwZWRlZiB4bWxTY2hlbWFCYXNpY0l0ZW0gKnhtbFNjaGVtYUJhc2ljSXRlbVB0cjsKK3N0cnVjdCBfeG1sU2NoZW1hQmFzaWNJdGVtIHsKKyAgICB4bWxTY2hlbWFUeXBlVHlwZSB0eXBlOworfTsKKworLyoqCisgKiB4bWxTY2hlbWFBbm5vdEl0ZW06CisgKgorICogVGhlIGFic3RyYWN0IGJhc2UgdHlwZSBmb3IgYW5ub3RhdGVkIHNjaGVtYSBjb21wb25lbnRzLgorICogKEV4dGVuZHMgeG1sU2NoZW1hQmFzaWNJdGVtKQorICovCit0eXBlZGVmIHN0cnVjdCBfeG1sU2NoZW1hQW5ub3RJdGVtIHhtbFNjaGVtYUFubm90SXRlbTsKK3R5cGVkZWYgeG1sU2NoZW1hQW5ub3RJdGVtICp4bWxTY2hlbWFBbm5vdEl0ZW1QdHI7CitzdHJ1Y3QgX3htbFNjaGVtYUFubm90SXRlbSB7CisgICAgeG1sU2NoZW1hVHlwZVR5cGUgdHlwZTsKKyAgICB4bWxTY2hlbWFBbm5vdFB0ciBhbm5vdDsKK307CisKKy8qKgorICogeG1sU2NoZW1hVHJlZUl0ZW06CisgKgorICogVGhlIGFic3RyYWN0IGJhc2UgdHlwZSBmb3IgdHJlZS1saWtlIHN0cnVjdHVyZWQgc2NoZW1hIGNvbXBvbmVudHMuCisgKiAoRXh0ZW5kcyB4bWxTY2hlbWFBbm5vdEl0ZW0pCisgKi8KK3R5cGVkZWYgc3RydWN0IF94bWxTY2hlbWFUcmVlSXRlbSB4bWxTY2hlbWFUcmVlSXRlbTsKK3R5cGVkZWYgeG1sU2NoZW1hVHJlZUl0ZW0gKnhtbFNjaGVtYVRyZWVJdGVtUHRyOworc3RydWN0IF94bWxTY2hlbWFUcmVlSXRlbSB7CisgICAgeG1sU2NoZW1hVHlwZVR5cGUgdHlwZTsKKyAgICB4bWxTY2hlbWFBbm5vdFB0ciBhbm5vdDsKKyAgICB4bWxTY2hlbWFUcmVlSXRlbVB0ciBuZXh0OworICAgIHhtbFNjaGVtYVRyZWVJdGVtUHRyIGNoaWxkcmVuOworfTsKKworCisjZGVmaW5lIFhNTF9TQ0hFTUFfQVRUUl9VU0VfRklYRUQgMTw8MAorLyoqCisgKiB4bWxTY2hlbWFBdHRyaWJ1dGVVc2VQdHI6CisgKgorICogVGhlIGFic3RyYWN0IGJhc2UgdHlwZSBmb3IgdHJlZS1saWtlIHN0cnVjdHVyZWQgc2NoZW1hIGNvbXBvbmVudHMuCisgKiAoRXh0ZW5kcyB4bWxTY2hlbWFUcmVlSXRlbSkKKyAqLwordHlwZWRlZiBzdHJ1Y3QgX3htbFNjaGVtYUF0dHJpYnV0ZVVzZSB4bWxTY2hlbWFBdHRyaWJ1dGVVc2U7Cit0eXBlZGVmIHhtbFNjaGVtYUF0dHJpYnV0ZVVzZSAqeG1sU2NoZW1hQXR0cmlidXRlVXNlUHRyOworc3RydWN0IF94bWxTY2hlbWFBdHRyaWJ1dGVVc2UgeworICAgIHhtbFNjaGVtYVR5cGVUeXBlIHR5cGU7CisgICAgeG1sU2NoZW1hQW5ub3RQdHIgYW5ub3Q7CisgICAgeG1sU2NoZW1hQXR0cmlidXRlVXNlUHRyIG5leHQ7IC8qIFRoZSBuZXh0IGF0dHIuIHVzZS4gKi8KKyAgICAvKgorICAgICogVGhlIGF0dHIuIGRlY2wuIE9SIGEgUU5hbWUtcmVmLiB0byBhbiBhdHRyLiBkZWNsLiBPUgorICAgICogYSBRTmFtZS1yZWYuIHRvIGFuIGF0dHJpYnV0ZSBncm91cCBkZWZpbml0aW9uLgorICAgICovCisgICAgeG1sU2NoZW1hQXR0cmlidXRlUHRyIGF0dHJEZWNsOworCisgICAgaW50IGZsYWdzOworICAgIHhtbE5vZGVQdHIgbm9kZTsKKyAgICBpbnQgb2NjdXJzOyAvKiByZXF1aXJlZCwgb3B0aW9uYWwgKi8KKyAgICBjb25zdCB4bWxDaGFyICogZGVmVmFsdWU7CisgICAgeG1sU2NoZW1hVmFsUHRyIGRlZlZhbDsKK307CisKKy8qKgorICogeG1sU2NoZW1hQXR0cmlidXRlVXNlUHJvaGliUHRyOgorICoKKyAqIEEgaGVscGVyIGNvbXBvbmVudCB0byByZWZsZWN0IGF0dHJpYnV0ZSBwcm9oaWJpdGlvbnMuCisgKiAoRXh0ZW5kcyB4bWxTY2hlbWFCYXNpY0l0ZW0pCisgKi8KK3R5cGVkZWYgc3RydWN0IF94bWxTY2hlbWFBdHRyaWJ1dGVVc2VQcm9oaWIgeG1sU2NoZW1hQXR0cmlidXRlVXNlUHJvaGliOwordHlwZWRlZiB4bWxTY2hlbWFBdHRyaWJ1dGVVc2VQcm9oaWIgKnhtbFNjaGVtYUF0dHJpYnV0ZVVzZVByb2hpYlB0cjsKK3N0cnVjdCBfeG1sU2NoZW1hQXR0cmlidXRlVXNlUHJvaGliIHsKKyAgICB4bWxTY2hlbWFUeXBlVHlwZSB0eXBlOyAvKiA9PSBYTUxfU0NIRU1BX0VYVFJBX0FUVFJfVVNFX1BST0hJQiAqLworICAgIHhtbE5vZGVQdHIgbm9kZTsKKyAgICBjb25zdCB4bWxDaGFyICpuYW1lOworICAgIGNvbnN0IHhtbENoYXIgKnRhcmdldE5hbWVzcGFjZTsKKyAgICBpbnQgaXNSZWY7Cit9OworCisvKioKKyAqIHhtbFNjaGVtYVJlZGVmOgorICovCit0eXBlZGVmIHN0cnVjdCBfeG1sU2NoZW1hUmVkZWYgeG1sU2NoZW1hUmVkZWY7Cit0eXBlZGVmIHhtbFNjaGVtYVJlZGVmICp4bWxTY2hlbWFSZWRlZlB0cjsKK3N0cnVjdCBfeG1sU2NoZW1hUmVkZWYgeworICAgIHhtbFNjaGVtYVJlZGVmUHRyIG5leHQ7CisgICAgeG1sU2NoZW1hQmFzaWNJdGVtUHRyIGl0ZW07IC8qIFRoZSByZWRlZmluaW5nIGNvbXBvbmVudC4gKi8KKyAgICB4bWxTY2hlbWFCYXNpY0l0ZW1QdHIgcmVmZXJlbmNlOyAvKiBUaGUgcmVmZXJlbmNpbmcgY29tcG9uZW50LiAqLworICAgIHhtbFNjaGVtYUJhc2ljSXRlbVB0ciB0YXJnZXQ7IC8qIFRoZSB0by1iZS1yZWRlZmluZWQgY29tcG9uZW50LiAqLworICAgIGNvbnN0IHhtbENoYXIgKnJlZk5hbWU7IC8qIFRoZSBuYW1lIG9mIHRoZSB0by1iZS1yZWRlZmluZWQgY29tcG9uZW50LiAqLworICAgIGNvbnN0IHhtbENoYXIgKnJlZlRhcmdldE5zOyAvKiBUaGUgdGFyZ2V0IG5hbWVzcGFjZSBvZiB0aGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8tYmUtcmVkZWZpbmVkIGNvbXAuICovCisgICAgeG1sU2NoZW1hQnVja2V0UHRyIHRhcmdldEJ1Y2tldDsgLyogVGhlIHJlZGVmaW5lZCBzY2hlbWEuICovCit9OworCisvKioKKyAqIHhtbFNjaGVtYUNvbnN0cnVjdGlvbkN0eHQ6CisgKi8KK3R5cGVkZWYgc3RydWN0IF94bWxTY2hlbWFDb25zdHJ1Y3Rpb25DdHh0IHhtbFNjaGVtYUNvbnN0cnVjdGlvbkN0eHQ7Cit0eXBlZGVmIHhtbFNjaGVtYUNvbnN0cnVjdGlvbkN0eHQgKnhtbFNjaGVtYUNvbnN0cnVjdGlvbkN0eHRQdHI7CitzdHJ1Y3QgX3htbFNjaGVtYUNvbnN0cnVjdGlvbkN0eHQgeworICAgIHhtbFNjaGVtYVB0ciBtYWluU2NoZW1hOyAvKiBUaGUgbWFpbiBzY2hlbWEuICovCisgICAgeG1sU2NoZW1hQnVja2V0UHRyIG1haW5CdWNrZXQ7IC8qIFRoZSBtYWluIHNjaGVtYSBidWNrZXQgKi8KKyAgICB4bWxEaWN0UHRyIGRpY3Q7CisgICAgeG1sU2NoZW1hSXRlbUxpc3RQdHIgYnVja2V0czsgLyogTGlzdCBvZiBzY2hlbWEgYnVja2V0cy4gKi8KKyAgICAvKiB4bWxTY2hlbWFJdGVtTGlzdFB0ciByZWxhdGlvbnM7ICovIC8qIExpc3Qgb2Ygc2NoZW1hIHJlbGF0aW9ucy4gKi8KKyAgICB4bWxTY2hlbWFCdWNrZXRQdHIgYnVja2V0OyAvKiBUaGUgY3VycmVudCBzY2hlbWEgYnVja2V0ICovCisgICAgeG1sU2NoZW1hSXRlbUxpc3RQdHIgcGVuZGluZzsgLyogQWxsIENvbXBvbmVudHMgb2YgYWxsIHNjaGVtYXMgdGhhdAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5lZWQgdG8gYmUgZml4ZWQuICovCisgICAgeG1sSGFzaFRhYmxlUHRyIHN1YnN0R3JvdXBzOworICAgIHhtbFNjaGVtYVJlZGVmUHRyIHJlZGVmczsKKyAgICB4bWxTY2hlbWFSZWRlZlB0ciBsYXN0UmVkZWY7Cit9OworCisjZGVmaW5lIFhNTF9TQ0hFTUFTX1BBUlNFX0VSUk9SCQkxCisjZGVmaW5lIFNDSEVNQVNfUEFSU0VfT1BUSU9OUyBYTUxfUEFSU0VfTk9FTlQKKworc3RydWN0IF94bWxTY2hlbWFQYXJzZXJDdHh0IHsKKyAgICBpbnQgdHlwZTsKKyAgICB2b2lkICplcnJDdHh0OyAgICAgICAgICAgICAvKiB1c2VyIHNwZWNpZmljIGVycm9yIGNvbnRleHQgKi8KKyAgICB4bWxTY2hlbWFWYWxpZGl0eUVycm9yRnVuYyBlcnJvcjsgICAvKiB0aGUgY2FsbGJhY2sgaW4gY2FzZSBvZiBlcnJvcnMgKi8KKyAgICB4bWxTY2hlbWFWYWxpZGl0eVdhcm5pbmdGdW5jIHdhcm5pbmc7ICAgICAgIC8qIHRoZSBjYWxsYmFjayBpbiBjYXNlIG9mIHdhcm5pbmcgKi8KKyAgICBpbnQgZXJyOworICAgIGludCBuYmVycm9yczsKKyAgICB4bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jIHNlcnJvcjsKKworICAgIHhtbFNjaGVtYUNvbnN0cnVjdGlvbkN0eHRQdHIgY29uc3RydWN0b3I7CisgICAgaW50IG93bnNDb25zdHJ1Y3RvcjsgLyogVE9ETzogTW92ZSB0aGlzIHRvIHBhcnNlciAqZmxhZ3MqLiAqLworCisgICAgLyogeG1sU2NoZW1hUHRyIHRvcHNjaGVtYTsJKi8KKyAgICAvKiB4bWxIYXNoVGFibGVQdHIgbmFtZXNwYWNlczsgICovCisKKyAgICB4bWxTY2hlbWFQdHIgc2NoZW1hOyAgICAgICAgLyogVGhlIG1haW4gc2NoZW1hIGluIHVzZSAqLworICAgIGludCBjb3VudGVyOworCisgICAgY29uc3QgeG1sQ2hhciAqVVJMOworICAgIHhtbERvY1B0ciBkb2M7CisgICAgaW50IHByZXNlcnZlOwkJLyogV2hldGhlciB0aGUgZG9jIHNob3VsZCBiZSBmcmVlZCAgKi8KKworICAgIGNvbnN0IGNoYXIgKmJ1ZmZlcjsKKyAgICBpbnQgc2l6ZTsKKworICAgIC8qCisgICAgICogVXNlZCB0byBidWlsZCBjb21wbGV4IGVsZW1lbnQgY29udGVudCBtb2RlbHMKKyAgICAgKi8KKyAgICB4bWxBdXRvbWF0YVB0ciBhbTsKKyAgICB4bWxBdXRvbWF0YVN0YXRlUHRyIHN0YXJ0OworICAgIHhtbEF1dG9tYXRhU3RhdGVQdHIgZW5kOworICAgIHhtbEF1dG9tYXRhU3RhdGVQdHIgc3RhdGU7CisKKyAgICB4bWxEaWN0UHRyIGRpY3Q7CQkvKiBkaWN0aW9ubmFyeSBmb3IgaW50ZXJuZWQgc3RyaW5nIG5hbWVzICovCisgICAgeG1sU2NoZW1hVHlwZVB0ciBjdHh0VHlwZTsgLyogVGhlIGN1cnJlbnQgY29udGV4dCBzaW1wbGUvY29tcGxleCB0eXBlICovCisgICAgaW50IG9wdGlvbnM7CisgICAgeG1sU2NoZW1hVmFsaWRDdHh0UHRyIHZjdHh0OworICAgIGludCBpc1M0UzsKKyAgICBpbnQgaXNSZWRlZmluZTsKKyAgICBpbnQgeHNpQXNzZW1ibGU7CisgICAgaW50IHN0b3A7IC8qIElmIHRoZSBwYXJzZXIgc2hvdWxkIHN0b3A7IGkuZS4gYSBjcml0aWNhbCBlcnJvci4gKi8KKyAgICBjb25zdCB4bWxDaGFyICp0YXJnZXROYW1lc3BhY2U7CisgICAgeG1sU2NoZW1hQnVja2V0UHRyIHJlZGVmaW5lZDsgLyogVGhlIHNjaGVtYSB0byBiZSByZWRlZmluZWQuICovCisKKyAgICB4bWxTY2hlbWFSZWRlZlB0ciByZWRlZjsgLyogVXNlZCBmb3IgcmVkZWZpbml0aW9ucy4gKi8KKyAgICBpbnQgcmVkZWZDb3VudGVyOyAvKiBVc2VkIGZvciByZWRlZmluaXRpb25zLiAqLworICAgIHhtbFNjaGVtYUl0ZW1MaXN0UHRyIGF0dHJQcm9oaWJzOworfTsKKworLyoqCisgKiB4bWxTY2hlbWFRTmFtZVJlZjoKKyAqCisgKiBBIGNvbXBvbmVudCByZWZlcmVuY2UgaXRlbSAobm90IGEgc2NoZW1hIGNvbXBvbmVudCkKKyAqIChFeHRlbmRzIHhtbFNjaGVtYUJhc2ljSXRlbSkKKyAqLwordHlwZWRlZiBzdHJ1Y3QgX3htbFNjaGVtYVFOYW1lUmVmIHhtbFNjaGVtYVFOYW1lUmVmOwordHlwZWRlZiB4bWxTY2hlbWFRTmFtZVJlZiAqeG1sU2NoZW1hUU5hbWVSZWZQdHI7CitzdHJ1Y3QgX3htbFNjaGVtYVFOYW1lUmVmIHsKKyAgICB4bWxTY2hlbWFUeXBlVHlwZSB0eXBlOworICAgIHhtbFNjaGVtYUJhc2ljSXRlbVB0ciBpdGVtOyAvKiBUaGUgcmVzb2x2ZWQgcmVmZXJlbmNlZCBpdGVtLiAqLworICAgIHhtbFNjaGVtYVR5cGVUeXBlIGl0ZW1UeXBlOworICAgIGNvbnN0IHhtbENoYXIgKm5hbWU7CisgICAgY29uc3QgeG1sQ2hhciAqdGFyZ2V0TmFtZXNwYWNlOworICAgIHhtbE5vZGVQdHIgbm9kZTsKK307CisKKy8qKgorICogeG1sU2NoZW1hUGFydGljbGU6CisgKgorICogQSBwYXJ0aWNsZSBjb21wb25lbnQuCisgKiAoRXh0ZW5kcyB4bWxTY2hlbWFUcmVlSXRlbSkKKyAqLwordHlwZWRlZiBzdHJ1Y3QgX3htbFNjaGVtYVBhcnRpY2xlIHhtbFNjaGVtYVBhcnRpY2xlOwordHlwZWRlZiB4bWxTY2hlbWFQYXJ0aWNsZSAqeG1sU2NoZW1hUGFydGljbGVQdHI7CitzdHJ1Y3QgX3htbFNjaGVtYVBhcnRpY2xlIHsKKyAgICB4bWxTY2hlbWFUeXBlVHlwZSB0eXBlOworICAgIHhtbFNjaGVtYUFubm90UHRyIGFubm90OworICAgIHhtbFNjaGVtYVRyZWVJdGVtUHRyIG5leHQ7IC8qIG5leHQgcGFydGljbGUgKi8KKyAgICB4bWxTY2hlbWFUcmVlSXRlbVB0ciBjaGlsZHJlbjsgLyogdGhlICJ0ZXJtIiAoZS5nLiBhIG1vZGVsIGdyb3VwLAorCWEgZ3JvdXAgZGVmaW5pdGlvbiwgYSBYTUxfU0NIRU1BX0VYVFJBX1FOQU1FUkVGIChpZiBhIHJlZmVyZW5jZSksCisgICAgICAgIGV0Yy4pICovCisgICAgaW50IG1pbk9jY3VyczsKKyAgICBpbnQgbWF4T2NjdXJzOworICAgIHhtbE5vZGVQdHIgbm9kZTsKK307CisKKy8qKgorICogeG1sU2NoZW1hTW9kZWxHcm91cDoKKyAqCisgKiBBIG1vZGVsIGdyb3VwIGNvbXBvbmVudC4KKyAqIChFeHRlbmRzIHhtbFNjaGVtYVRyZWVJdGVtKQorICovCit0eXBlZGVmIHN0cnVjdCBfeG1sU2NoZW1hTW9kZWxHcm91cCB4bWxTY2hlbWFNb2RlbEdyb3VwOwordHlwZWRlZiB4bWxTY2hlbWFNb2RlbEdyb3VwICp4bWxTY2hlbWFNb2RlbEdyb3VwUHRyOworc3RydWN0IF94bWxTY2hlbWFNb2RlbEdyb3VwIHsKKyAgICB4bWxTY2hlbWFUeXBlVHlwZSB0eXBlOyAvKiBYTUxfU0NIRU1BX1RZUEVfU0VRVUVOQ0UsIFhNTF9TQ0hFTUFfVFlQRV9DSE9JQ0UsIFhNTF9TQ0hFTUFfVFlQRV9BTEwgKi8KKyAgICB4bWxTY2hlbWFBbm5vdFB0ciBhbm5vdDsKKyAgICB4bWxTY2hlbWFUcmVlSXRlbVB0ciBuZXh0OyAvKiBub3QgdXNlZCAqLworICAgIHhtbFNjaGVtYVRyZWVJdGVtUHRyIGNoaWxkcmVuOyAvKiBmaXJzdCBwYXJ0aWNsZSAoT1IgImVsZW1lbnQgZGVjbCIgT1IgIndpbGRjYXJkIikgKi8KKyAgICB4bWxOb2RlUHRyIG5vZGU7Cit9OworCisjZGVmaW5lIFhNTF9TQ0hFTUFfTU9ERUxfR1JPVVBfREVGX01BUktFRCAxPDwwCisjZGVmaW5lIFhNTF9TQ0hFTUFfTU9ERUxfR1JPVVBfREVGX1JFREVGSU5FRCAxPDwxCisvKioKKyAqIHhtbFNjaGVtYU1vZGVsR3JvdXBEZWY6CisgKgorICogQSBtb2RlbCBncm91cCBkZWZpbml0aW9uIGNvbXBvbmVudC4KKyAqIChFeHRlbmRzIHhtbFNjaGVtYVRyZWVJdGVtKQorICovCit0eXBlZGVmIHN0cnVjdCBfeG1sU2NoZW1hTW9kZWxHcm91cERlZiB4bWxTY2hlbWFNb2RlbEdyb3VwRGVmOwordHlwZWRlZiB4bWxTY2hlbWFNb2RlbEdyb3VwRGVmICp4bWxTY2hlbWFNb2RlbEdyb3VwRGVmUHRyOworc3RydWN0IF94bWxTY2hlbWFNb2RlbEdyb3VwRGVmIHsKKyAgICB4bWxTY2hlbWFUeXBlVHlwZSB0eXBlOyAvKiBYTUxfU0NIRU1BX1RZUEVfR1JPVVAgKi8KKyAgICB4bWxTY2hlbWFBbm5vdFB0ciBhbm5vdDsKKyAgICB4bWxTY2hlbWFUcmVlSXRlbVB0ciBuZXh0OyAvKiBub3QgdXNlZCAqLworICAgIHhtbFNjaGVtYVRyZWVJdGVtUHRyIGNoaWxkcmVuOyAvKiB0aGUgIm1vZGVsIGdyb3VwIiAqLworICAgIGNvbnN0IHhtbENoYXIgKm5hbWU7CisgICAgY29uc3QgeG1sQ2hhciAqdGFyZ2V0TmFtZXNwYWNlOworICAgIHhtbE5vZGVQdHIgbm9kZTsKKyAgICBpbnQgZmxhZ3M7Cit9OworCit0eXBlZGVmIHN0cnVjdCBfeG1sU2NoZW1hSURDIHhtbFNjaGVtYUlEQzsKK3R5cGVkZWYgeG1sU2NoZW1hSURDICp4bWxTY2hlbWFJRENQdHI7CisKKy8qKgorICogeG1sU2NoZW1hSURDU2VsZWN0OgorICoKKyAqIFRoZSBpZGVudGl0eS1jb25zdHJhaW50ICJmaWVsZCIgYW5kICJzZWxlY3RvciIgaXRlbSwgaG9sZGluZyB0aGUKKyAqIFhQYXRoIGV4cHJlc3Npb24uCisgKi8KK3R5cGVkZWYgc3RydWN0IF94bWxTY2hlbWFJRENTZWxlY3QgeG1sU2NoZW1hSURDU2VsZWN0OwordHlwZWRlZiB4bWxTY2hlbWFJRENTZWxlY3QgKnhtbFNjaGVtYUlEQ1NlbGVjdFB0cjsKK3N0cnVjdCBfeG1sU2NoZW1hSURDU2VsZWN0IHsKKyAgICB4bWxTY2hlbWFJRENTZWxlY3RQdHIgbmV4dDsKKyAgICB4bWxTY2hlbWFJRENQdHIgaWRjOworICAgIGludCBpbmRleDsgLyogYW4gaW5kZXggcG9zaXRpb24gaWYgc2lnbmlmaWNhbnQgZm9yIElEQyBrZXktc2VxdWVuY2VzICovCisgICAgY29uc3QgeG1sQ2hhciAqeHBhdGg7IC8qIHRoZSBYUGF0aCBleHByZXNzaW9uICovCisgICAgdm9pZCAqeHBhdGhDb21wOyAvKiB0aGUgY29tcGlsZWQgWFBhdGggZXhwcmVzc2lvbiAqLworfTsKKworLyoqCisgKiB4bWxTY2hlbWFJREM6CisgKgorICogVGhlIGlkZW50aXR5LWNvbnN0cmFpbnQgZGVmaW5pdGlvbiBjb21wb25lbnQuCisgKiAoRXh0ZW5kcyB4bWxTY2hlbWFBbm5vdEl0ZW0pCisgKi8KKworc3RydWN0IF94bWxTY2hlbWFJREMgeworICAgIHhtbFNjaGVtYVR5cGVUeXBlIHR5cGU7CisgICAgeG1sU2NoZW1hQW5ub3RQdHIgYW5ub3Q7CisgICAgeG1sU2NoZW1hSURDUHRyIG5leHQ7CisgICAgeG1sTm9kZVB0ciBub2RlOworICAgIGNvbnN0IHhtbENoYXIgKm5hbWU7CisgICAgY29uc3QgeG1sQ2hhciAqdGFyZ2V0TmFtZXNwYWNlOworICAgIHhtbFNjaGVtYUlEQ1NlbGVjdFB0ciBzZWxlY3RvcjsKKyAgICB4bWxTY2hlbWFJRENTZWxlY3RQdHIgZmllbGRzOworICAgIGludCBuYkZpZWxkczsKKyAgICB4bWxTY2hlbWFRTmFtZVJlZlB0ciByZWY7Cit9OworCisvKioKKyAqIHhtbFNjaGVtYUlEQ0F1ZzoKKyAqCisgKiBUaGUgYXVnbWVudGVkIElEQyBpbmZvcm1hdGlvbiB1c2VkIGZvciB2YWxpZGF0aW9uLgorICovCit0eXBlZGVmIHN0cnVjdCBfeG1sU2NoZW1hSURDQXVnIHhtbFNjaGVtYUlEQ0F1ZzsKK3R5cGVkZWYgeG1sU2NoZW1hSURDQXVnICp4bWxTY2hlbWFJRENBdWdQdHI7CitzdHJ1Y3QgX3htbFNjaGVtYUlEQ0F1ZyB7CisgICAgeG1sU2NoZW1hSURDQXVnUHRyIG5leHQ7IC8qIG5leHQgaW4gYSBsaXN0ICovCisgICAgeG1sU2NoZW1hSURDUHRyIGRlZjsgLyogdGhlIElEQyBkZWZpbml0aW9uICovCisgICAgaW50IGtleXJlZkRlcHRoOyAvKiB0aGUgbG93ZXN0IHRyZWUgbGV2ZWwgdG8gd2hpY2ggSURDCisgICAgICAgICAgICAgICAgICAgICAgICB0YWJsZXMgbmVlZCB0byBiZSBidWJibGVkIHVwd2FyZHMgKi8KK307CisKKy8qKgorICogeG1sU2NoZW1hUFNWSUlEQ0tleVNlcXVlbmNlOgorICoKKyAqIFRoZSBrZXkgc2VxdWVuY2Ugb2YgYSBub2RlIHRhYmxlIGl0ZW0uCisgKi8KK3R5cGVkZWYgc3RydWN0IF94bWxTY2hlbWFQU1ZJSURDS2V5IHhtbFNjaGVtYVBTVklJRENLZXk7Cit0eXBlZGVmIHhtbFNjaGVtYVBTVklJRENLZXkgKnhtbFNjaGVtYVBTVklJRENLZXlQdHI7CitzdHJ1Y3QgX3htbFNjaGVtYVBTVklJRENLZXkgeworICAgIHhtbFNjaGVtYVR5cGVQdHIgdHlwZTsKKyAgICB4bWxTY2hlbWFWYWxQdHIgdmFsOworfTsKKworLyoqCisgKiB4bWxTY2hlbWFQU1ZJSURDTm9kZToKKyAqCisgKiBUaGUgbm9kZSB0YWJsZSBpdGVtIG9mIGEgbm9kZSB0YWJsZS4KKyAqLwordHlwZWRlZiBzdHJ1Y3QgX3htbFNjaGVtYVBTVklJRENOb2RlIHhtbFNjaGVtYVBTVklJRENOb2RlOwordHlwZWRlZiB4bWxTY2hlbWFQU1ZJSURDTm9kZSAqeG1sU2NoZW1hUFNWSUlEQ05vZGVQdHI7CitzdHJ1Y3QgX3htbFNjaGVtYVBTVklJRENOb2RlIHsKKyAgICB4bWxOb2RlUHRyIG5vZGU7CisgICAgeG1sU2NoZW1hUFNWSUlEQ0tleVB0ciAqa2V5czsKKyAgICBpbnQgbm9kZUxpbmU7CisgICAgaW50IG5vZGVRTmFtZUlEOworCit9OworCisvKioKKyAqIHhtbFNjaGVtYVBTVklJRENCaW5kaW5nOgorICoKKyAqIFRoZSBpZGVudGl0eS1jb25zdHJhaW50IGJpbmRpbmcgaXRlbSBvZiB0aGUgW2lkZW50aXR5LWNvbnN0cmFpbnQgdGFibGVdLgorICovCit0eXBlZGVmIHN0cnVjdCBfeG1sU2NoZW1hUFNWSUlEQ0JpbmRpbmcgeG1sU2NoZW1hUFNWSUlEQ0JpbmRpbmc7Cit0eXBlZGVmIHhtbFNjaGVtYVBTVklJRENCaW5kaW5nICp4bWxTY2hlbWFQU1ZJSURDQmluZGluZ1B0cjsKK3N0cnVjdCBfeG1sU2NoZW1hUFNWSUlEQ0JpbmRpbmcgeworICAgIHhtbFNjaGVtYVBTVklJRENCaW5kaW5nUHRyIG5leHQ7IC8qIG5leHQgYmluZGluZyBvZiBhIHNwZWNpZmljIG5vZGUgKi8KKyAgICB4bWxTY2hlbWFJRENQdHIgZGVmaW5pdGlvbjsgLyogdGhlIElEQyBkZWZpbml0aW9uICovCisgICAgeG1sU2NoZW1hUFNWSUlEQ05vZGVQdHIgKm5vZGVUYWJsZTsgLyogYXJyYXkgb2Yga2V5LXNlcXVlbmNlcyAqLworICAgIGludCBuYk5vZGVzOyAvKiBudW1iZXIgb2YgZW50cmllcyBpbiB0aGUgbm9kZSB0YWJsZSAqLworICAgIGludCBzaXplTm9kZXM7IC8qIHNpemUgb2YgdGhlIG5vZGUgdGFibGUgKi8KKyAgICB4bWxTY2hlbWFJdGVtTGlzdFB0ciBkdXBsczsKK307CisKKworI2RlZmluZSBYUEFUSF9TVEFURV9PQkpfVFlQRV9JRENfU0VMRUNUT1IgMQorI2RlZmluZSBYUEFUSF9TVEFURV9PQkpfVFlQRV9JRENfRklFTEQgMgorCisjZGVmaW5lIFhQQVRIX1NUQVRFX09CSl9NQVRDSEVTIC0yCisjZGVmaW5lIFhQQVRIX1NUQVRFX09CSl9CTE9DS0VEIC0zCisKK3R5cGVkZWYgc3RydWN0IF94bWxTY2hlbWFJRENNYXRjaGVyIHhtbFNjaGVtYUlEQ01hdGNoZXI7Cit0eXBlZGVmIHhtbFNjaGVtYUlEQ01hdGNoZXIgKnhtbFNjaGVtYUlEQ01hdGNoZXJQdHI7CisKKy8qKgorICogeG1sU2NoZW1hSURDU3RhdGVPYmo6CisgKgorICogVGhlIHN0YXRlIG9iamVjdCB1c2VkIHRvIGV2YWx1YXRlIFhQYXRoIGV4cHJlc3Npb25zLgorICovCit0eXBlZGVmIHN0cnVjdCBfeG1sU2NoZW1hSURDU3RhdGVPYmogeG1sU2NoZW1hSURDU3RhdGVPYmo7Cit0eXBlZGVmIHhtbFNjaGVtYUlEQ1N0YXRlT2JqICp4bWxTY2hlbWFJRENTdGF0ZU9ialB0cjsKK3N0cnVjdCBfeG1sU2NoZW1hSURDU3RhdGVPYmogeworICAgIGludCB0eXBlOworICAgIHhtbFNjaGVtYUlEQ1N0YXRlT2JqUHRyIG5leHQ7IC8qIG5leHQgaWYgaW4gYSBsaXN0ICovCisgICAgaW50IGRlcHRoOyAvKiBkZXB0aCBvZiBjcmVhdGlvbiAqLworICAgIGludCAqaGlzdG9yeTsgLyogbGlzdCBvZiAoZGVwdGgsIHN0YXRlLWlkKSB0dXBsZXMgKi8KKyAgICBpbnQgbmJIaXN0b3J5OworICAgIGludCBzaXplSGlzdG9yeTsKKyAgICB4bWxTY2hlbWFJRENNYXRjaGVyUHRyIG1hdGNoZXI7IC8qIHRoZSBjb3JyZXNwb25kZW50IGZpZWxkL3NlbGVjdG9yCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRjaGVyICovCisgICAgeG1sU2NoZW1hSURDU2VsZWN0UHRyIHNlbDsKKyAgICB2b2lkICp4cGF0aEN0eHQ7Cit9OworCisjZGVmaW5lIElEQ19NQVRDSEVSIDAKKworLyoqCisgKiB4bWxTY2hlbWFJRENNYXRjaGVyOgorICoKKyAqIFVzZWQgdG8gZXZhbHVhdGUgSURDIHNlbGVjdG9ycyAoYW5kIGZpZWxkcykuCisgKi8KK3N0cnVjdCBfeG1sU2NoZW1hSURDTWF0Y2hlciB7CisgICAgaW50IHR5cGU7CisgICAgaW50IGRlcHRoOyAvKiB0aGUgdHJlZSBkZXB0aCBhdCBjcmVhdGlvbiB0aW1lICovCisgICAgeG1sU2NoZW1hSURDTWF0Y2hlclB0ciBuZXh0OyAvKiBuZXh0IGluIHRoZSBsaXN0ICovCisgICAgeG1sU2NoZW1hSURDTWF0Y2hlclB0ciBuZXh0Q2FjaGVkOyAvKiBuZXh0IGluIHRoZSBjYWNoZSBsaXN0ICovCisgICAgeG1sU2NoZW1hSURDQXVnUHRyIGFpZGM7IC8qIHRoZSBhdWdtZW50ZWQgSURDIGl0ZW0gKi8KKyAgICBpbnQgaWRjVHlwZTsKKyAgICB4bWxTY2hlbWFQU1ZJSURDS2V5UHRyICoqa2V5U2VxczsgLyogdGhlIGtleS1zZXF1ZW5jZXMgb2YgdGhlIHRhcmdldAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50cyAqLworICAgIGludCBzaXplS2V5U2VxczsKKyAgICB4bWxTY2hlbWFJdGVtTGlzdFB0ciB0YXJnZXRzOyAvKiBsaXN0IG9mIHRhcmdldC1ub2RlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHhtbFNjaGVtYVBTVklJRENOb2RlUHRyKSBlbnRyaWVzICovCit9OworCisvKgorKiBFbGVtZW50IGluZm8gZmxhZ3MuCisqLworI2RlZmluZSBYTUxfU0NIRU1BX05PREVfSU5GT19GTEFHX09XTkVEX05BTUVTICAxPDwwCisjZGVmaW5lIFhNTF9TQ0hFTUFfTk9ERV9JTkZPX0ZMQUdfT1dORURfVkFMVUVTIDE8PDEKKyNkZWZpbmUgWE1MX1NDSEVNQV9FTEVNX0lORk9fTklMTEVECSAgICAgICAxPDwyCisjZGVmaW5lIFhNTF9TQ0hFTUFfRUxFTV9JTkZPX0xPQ0FMX1RZUEUJICAgICAgIDE8PDMKKworI2RlZmluZSBYTUxfU0NIRU1BX05PREVfSU5GT19WQUxVRV9ORUVERUQgICAgICAxPDw0CisjZGVmaW5lIFhNTF9TQ0hFTUFfRUxFTV9JTkZPX0VNUFRZICAgICAgICAgICAgIDE8PDUKKyNkZWZpbmUgWE1MX1NDSEVNQV9FTEVNX0lORk9fSEFTX0NPTlRFTlQgICAgICAgMTw8NgorCisjZGVmaW5lIFhNTF9TQ0hFTUFfRUxFTV9JTkZPX0hBU19FTEVNX0NPTlRFTlQgIDE8PDcKKyNkZWZpbmUgWE1MX1NDSEVNQV9FTEVNX0lORk9fRVJSX0JBRF9DT05URU5UICAxPDw4CisjZGVmaW5lIFhNTF9TQ0hFTUFfTk9ERV9JTkZPX0VSUl9OT1RfRVhQRUNURUQgIDE8PDkKKyNkZWZpbmUgWE1MX1NDSEVNQV9OT0RFX0lORk9fRVJSX0JBRF9UWVBFICAxPDwxMAorCisvKioKKyAqIHhtbFNjaGVtYU5vZGVJbmZvOgorICoKKyAqIEhvbGRzIGluZm9ybWF0aW9uIG9mIGFuIGVsZW1lbnQgbm9kZS4KKyAqLworc3RydWN0IF94bWxTY2hlbWFOb2RlSW5mbyB7CisgICAgaW50IG5vZGVUeXBlOworICAgIHhtbE5vZGVQdHIgbm9kZTsKKyAgICBpbnQgbm9kZUxpbmU7CisgICAgY29uc3QgeG1sQ2hhciAqbG9jYWxOYW1lOworICAgIGNvbnN0IHhtbENoYXIgKm5zTmFtZTsKKyAgICBjb25zdCB4bWxDaGFyICp2YWx1ZTsKKyAgICB4bWxTY2hlbWFWYWxQdHIgdmFsOyAvKiB0aGUgcHJlLWNvbXB1dGVkIHZhbHVlIGlmIGFueSAqLworICAgIHhtbFNjaGVtYVR5cGVQdHIgdHlwZURlZjsgLyogdGhlIGNvbXBsZXgvc2ltcGxlIHR5cGUgZGVmaW5pdGlvbiBpZiBhbnkgKi8KKworICAgIGludCBmbGFnczsgLyogY29tYmluYXRpb24gb2Ygbm9kZSBpbmZvIGZsYWdzICovCisKKyAgICBpbnQgdmFsTmVlZGVkOworICAgIGludCBub3JtVmFsOworCisgICAgeG1sU2NoZW1hRWxlbWVudFB0ciBkZWNsOyAvKiB0aGUgZWxlbWVudC9hdHRyaWJ1dGUgZGVjbGFyYXRpb24gKi8KKyAgICBpbnQgZGVwdGg7CisgICAgeG1sU2NoZW1hUFNWSUlEQ0JpbmRpbmdQdHIgaWRjVGFibGU7IC8qIHRoZSB0YWJsZSBvZiBQU1ZJIElEQyBiaW5kaW5ncworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgdGhlIHNjb3BlIGVsZW1lbnQqLworICAgIHhtbFNjaGVtYUlEQ01hdGNoZXJQdHIgaWRjTWF0Y2hlcnM7IC8qIHRoZSBJREMgbWF0Y2hlcnMgZm9yIHRoZSBzY29wZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQgKi8KKyAgICB4bWxSZWdFeGVjQ3R4dFB0ciByZWdleEN0eHQ7CisKKyAgICBjb25zdCB4bWxDaGFyICoqbnNCaW5kaW5nczsgLyogTmFtZXNwYWNlIGJpbmRpbmdzIG9uIHRoaXMgZWxlbWVudCAqLworICAgIGludCBuYk5zQmluZGluZ3M7CisgICAgaW50IHNpemVOc0JpbmRpbmdzOworCisgICAgaW50IGhhc0tleXJlZnM7CisgICAgaW50IGFwcGxpZWRYUGF0aDsgLyogSW5kaWNhdGVzIHRoYXQgYW4gWFBhdGggaGFzIGJlZW4gYXBwbGllZC4gKi8KK307CisKKyNkZWZpbmUgWE1MX1NDSEVNQVNfQVRUUl9VTktOT1dOIDEKKyNkZWZpbmUgWE1MX1NDSEVNQVNfQVRUUl9BU1NFU1NFRCAyCisjZGVmaW5lIFhNTF9TQ0hFTUFTX0FUVFJfUFJPSElCSVRFRCAzCisjZGVmaW5lIFhNTF9TQ0hFTUFTX0FUVFJfRVJSX01JU1NJTkcgNAorI2RlZmluZSBYTUxfU0NIRU1BU19BVFRSX0lOVkFMSURfVkFMVUUgNQorI2RlZmluZSBYTUxfU0NIRU1BU19BVFRSX0VSUl9OT19UWVBFIDYKKyNkZWZpbmUgWE1MX1NDSEVNQVNfQVRUUl9FUlJfRklYRURfVkFMVUUgNworI2RlZmluZSBYTUxfU0NIRU1BU19BVFRSX0RFRkFVTFQgOAorI2RlZmluZSBYTUxfU0NIRU1BU19BVFRSX1ZBTElEQVRFX1ZBTFVFIDkKKyNkZWZpbmUgWE1MX1NDSEVNQVNfQVRUUl9FUlJfV0lMRF9TVFJJQ1RfTk9fREVDTCAxMAorI2RlZmluZSBYTUxfU0NIRU1BU19BVFRSX0hBU19BVFRSX1VTRSAxMQorI2RlZmluZSBYTUxfU0NIRU1BU19BVFRSX0hBU19BVFRSX0RFQ0wgMTIKKyNkZWZpbmUgWE1MX1NDSEVNQVNfQVRUUl9XSUxEX1NLSVAgMTMKKyNkZWZpbmUgWE1MX1NDSEVNQVNfQVRUUl9XSUxEX0xBWF9OT19ERUNMIDE0CisjZGVmaW5lIFhNTF9TQ0hFTUFTX0FUVFJfRVJSX1dJTERfRFVQTElDQVRFX0lEIDE1CisjZGVmaW5lIFhNTF9TQ0hFTUFTX0FUVFJfRVJSX1dJTERfQU5EX1VTRV9JRCAxNgorI2RlZmluZSBYTUxfU0NIRU1BU19BVFRSX01FVEEgMTcKKy8qCisqIEBtZXRhVHlwZSB2YWx1ZXMgb2YgeG1sU2NoZW1hQXR0ckluZm8uCisqLworI2RlZmluZSBYTUxfU0NIRU1BX0FUVFJfSU5GT19NRVRBX1hTSV9UWVBFIDEKKyNkZWZpbmUgWE1MX1NDSEVNQV9BVFRSX0lORk9fTUVUQV9YU0lfTklMIDIKKyNkZWZpbmUgWE1MX1NDSEVNQV9BVFRSX0lORk9fTUVUQV9YU0lfU0NIRU1BX0xPQyAzCisjZGVmaW5lIFhNTF9TQ0hFTUFfQVRUUl9JTkZPX01FVEFfWFNJX05PX05TX1NDSEVNQV9MT0MgNAorI2RlZmluZSBYTUxfU0NIRU1BX0FUVFJfSU5GT19NRVRBX1hNTE5TIDUKKwordHlwZWRlZiBzdHJ1Y3QgX3htbFNjaGVtYUF0dHJJbmZvIHhtbFNjaGVtYUF0dHJJbmZvOwordHlwZWRlZiB4bWxTY2hlbWFBdHRySW5mbyAqeG1sU2NoZW1hQXR0ckluZm9QdHI7CitzdHJ1Y3QgX3htbFNjaGVtYUF0dHJJbmZvIHsKKyAgICBpbnQgbm9kZVR5cGU7CisgICAgeG1sTm9kZVB0ciBub2RlOworICAgIGludCBub2RlTGluZTsKKyAgICBjb25zdCB4bWxDaGFyICpsb2NhbE5hbWU7CisgICAgY29uc3QgeG1sQ2hhciAqbnNOYW1lOworICAgIGNvbnN0IHhtbENoYXIgKnZhbHVlOworICAgIHhtbFNjaGVtYVZhbFB0ciB2YWw7IC8qIHRoZSBwcmUtY29tcHV0ZWQgdmFsdWUgaWYgYW55ICovCisgICAgeG1sU2NoZW1hVHlwZVB0ciB0eXBlRGVmOyAvKiB0aGUgY29tcGxleC9zaW1wbGUgdHlwZSBkZWZpbml0aW9uIGlmIGFueSAqLworICAgIGludCBmbGFnczsgLyogY29tYmluYXRpb24gb2Ygbm9kZSBpbmZvIGZsYWdzICovCisKKyAgICB4bWxTY2hlbWFBdHRyaWJ1dGVQdHIgZGVjbDsgLyogdGhlIGF0dHJpYnV0ZSBkZWNsYXJhdGlvbiAqLworICAgIHhtbFNjaGVtYUF0dHJpYnV0ZVVzZVB0ciB1c2U7ICAvKiB0aGUgYXR0cmlidXRlIHVzZSAqLworICAgIGludCBzdGF0ZTsKKyAgICBpbnQgbWV0YVR5cGU7CisgICAgY29uc3QgeG1sQ2hhciAqdmNWYWx1ZTsgLyogdGhlIHZhbHVlIGNvbnN0cmFpbnQgdmFsdWUgKi8KKyAgICB4bWxTY2hlbWFOb2RlSW5mb1B0ciBwYXJlbnQ7Cit9OworCisKKyNkZWZpbmUgWE1MX1NDSEVNQV9WQUxJRF9DVFhUX0ZMQUdfU1RSRUFNIDEKKy8qKgorICogeG1sU2NoZW1hVmFsaWRDdHh0OgorICoKKyAqIEEgU2NoZW1hcyB2YWxpZGF0aW9uIGNvbnRleHQKKyAqLworc3RydWN0IF94bWxTY2hlbWFWYWxpZEN0eHQgeworICAgIGludCB0eXBlOworICAgIHZvaWQgKmVyckN0eHQ7ICAgICAgICAgICAgIC8qIHVzZXIgc3BlY2lmaWMgZGF0YSBibG9jayAqLworICAgIHhtbFNjaGVtYVZhbGlkaXR5RXJyb3JGdW5jIGVycm9yOyAgIC8qIHRoZSBjYWxsYmFjayBpbiBjYXNlIG9mIGVycm9ycyAqLworICAgIHhtbFNjaGVtYVZhbGlkaXR5V2FybmluZ0Z1bmMgd2FybmluZzsgLyogdGhlIGNhbGxiYWNrIGluIGNhc2Ugb2Ygd2FybmluZyAqLworICAgIHhtbFN0cnVjdHVyZWRFcnJvckZ1bmMgc2Vycm9yOworCisgICAgeG1sU2NoZW1hUHRyIHNjaGVtYTsgICAgICAgIC8qIFRoZSBzY2hlbWEgaW4gdXNlICovCisgICAgeG1sRG9jUHRyIGRvYzsKKyAgICB4bWxQYXJzZXJJbnB1dEJ1ZmZlclB0ciBpbnB1dDsKKyAgICB4bWxDaGFyRW5jb2RpbmcgZW5jOworICAgIHhtbFNBWEhhbmRsZXJQdHIgc2F4OworICAgIHhtbFBhcnNlckN0eHRQdHIgcGFyc2VyQ3R4dDsKKyAgICB2b2lkICp1c2VyX2RhdGE7IC8qIFRPRE86IFdoYXQgaXMgdGhpcyBmb3I/ICovCisgICAgY2hhciAqZmlsZW5hbWU7CisKKyAgICBpbnQgZXJyOworICAgIGludCBuYmVycm9yczsKKworICAgIHhtbE5vZGVQdHIgbm9kZTsKKyAgICB4bWxOb2RlUHRyIGN1cjsKKyAgICAvKiB4bWxTY2hlbWFUeXBlUHRyIHR5cGU7ICovCisKKyAgICB4bWxSZWdFeGVjQ3R4dFB0ciByZWdleHA7CisgICAgeG1sU2NoZW1hVmFsUHRyIHZhbHVlOworCisgICAgaW50IHZhbHVlV1M7CisgICAgaW50IG9wdGlvbnM7CisgICAgeG1sTm9kZVB0ciB2YWxpZGF0aW9uUm9vdDsKKyAgICB4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIHBjdHh0OworICAgIGludCB4c2lBc3NlbWJsZTsKKworICAgIGludCBkZXB0aDsKKyAgICB4bWxTY2hlbWFOb2RlSW5mb1B0ciAqZWxlbUluZm9zOyAvKiBhcnJheSBvZiBlbGVtZW50IGluZm9ybWF0aW9ucyAqLworICAgIGludCBzaXplRWxlbUluZm9zOworICAgIHhtbFNjaGVtYU5vZGVJbmZvUHRyIGlub2RlOyAvKiB0aGUgY3VycmVudCBlbGVtZW50IGluZm9ybWF0aW9uICovCisKKyAgICB4bWxTY2hlbWFJRENBdWdQdHIgYWlkY3M7IC8qIGEgbGlzdCBvZiBhdWdtZW50ZWQgSURDIGluZm9ybWF0aW9ucyAqLworCisgICAgeG1sU2NoZW1hSURDU3RhdGVPYmpQdHIgeHBhdGhTdGF0ZXM7IC8qIGZpcnN0IGFjdGl2ZSBzdGF0ZSBvYmplY3QuICovCisgICAgeG1sU2NoZW1hSURDU3RhdGVPYmpQdHIgeHBhdGhTdGF0ZVBvb2w7IC8qIGZpcnN0IHN0b3JlZCBzdGF0ZSBvYmplY3QuICovCisgICAgeG1sU2NoZW1hSURDTWF0Y2hlclB0ciBpZGNNYXRjaGVyQ2FjaGU7IC8qIENhY2hlIGZvciBJREMgbWF0Y2hlciBvYmplY3RzLiAqLworCisgICAgeG1sU2NoZW1hUFNWSUlEQ05vZGVQdHIgKmlkY05vZGVzOyAvKiBsaXN0IG9mIGFsbCBJREMgbm9kZS10YWJsZSBlbnRyaWVzKi8KKyAgICBpbnQgbmJJZGNOb2RlczsKKyAgICBpbnQgc2l6ZUlkY05vZGVzOworCisgICAgeG1sU2NoZW1hUFNWSUlEQ0tleVB0ciAqaWRjS2V5czsgLyogbGlzdCBvZiBhbGwgSURDIG5vZGUtdGFibGUgZW50cmllcyAqLworICAgIGludCBuYklkY0tleXM7CisgICAgaW50IHNpemVJZGNLZXlzOworCisgICAgaW50IGZsYWdzOworCisgICAgeG1sRGljdFB0ciBkaWN0OworCisjaWZkZWYgTElCWE1MX1JFQURFUl9FTkFCTEVECisgICAgeG1sVGV4dFJlYWRlclB0ciByZWFkZXI7CisjZW5kaWYKKworICAgIHhtbFNjaGVtYUF0dHJJbmZvUHRyICphdHRySW5mb3M7CisgICAgaW50IG5iQXR0ckluZm9zOworICAgIGludCBzaXplQXR0ckluZm9zOworCisgICAgaW50IHNraXBEZXB0aDsKKyAgICB4bWxTY2hlbWFJdGVtTGlzdFB0ciBub2RlUU5hbWVzOworICAgIGludCBoYXNLZXlyZWZzOworICAgIGludCBjcmVhdGVJRENOb2RlVGFibGVzOworICAgIGludCBwc3ZpRXhwb3NlSURDTm9kZVRhYmxlczsKKworICAgIC8qIExvY2F0b3IgZm9yIGVycm9yIHJlcG9ydGluZyBpbiBzdHJlYW1pbmcgbW9kZSAqLworICAgIHhtbFNjaGVtYVZhbGlkaXR5TG9jYXRvckZ1bmMgbG9jRnVuYzsKKyAgICB2b2lkICpsb2NDdHh0OworfTsKKworLyoqCisgKiB4bWxTY2hlbWFTdWJzdEdyb3VwOgorICoKKyAqCisgKi8KK3R5cGVkZWYgc3RydWN0IF94bWxTY2hlbWFTdWJzdEdyb3VwIHhtbFNjaGVtYVN1YnN0R3JvdXA7Cit0eXBlZGVmIHhtbFNjaGVtYVN1YnN0R3JvdXAgKnhtbFNjaGVtYVN1YnN0R3JvdXBQdHI7CitzdHJ1Y3QgX3htbFNjaGVtYVN1YnN0R3JvdXAgeworICAgIHhtbFNjaGVtYUVsZW1lbnRQdHIgaGVhZDsKKyAgICB4bWxTY2hlbWFJdGVtTGlzdFB0ciBtZW1iZXJzOworfTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJCVNvbWUgcHJlZGVjbGFyYXRpb25zCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworc3RhdGljIGludCB4bWxTY2hlbWFQYXJzZUluY2x1ZGUoeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBjdHh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sU2NoZW1hUHRyIHNjaGVtYSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbE5vZGVQdHIgbm9kZSk7CitzdGF0aWMgaW50IHhtbFNjaGVtYVBhcnNlUmVkZWZpbmUoeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBjdHh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sU2NoZW1hUHRyIHNjaGVtYSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbE5vZGVQdHIgbm9kZSk7CitzdGF0aWMgaW50Cit4bWxTY2hlbWFUeXBlRml4dXAoeG1sU2NoZW1hVHlwZVB0ciB0eXBlLAorICAgICAgICAgICAgICAgICAgIHhtbFNjaGVtYUFic3RyYWN0Q3R4dFB0ciBjdHh0KTsKK3N0YXRpYyBjb25zdCB4bWxDaGFyICoKK3htbFNjaGVtYUZhY2V0VHlwZVRvU3RyaW5nKHhtbFNjaGVtYVR5cGVUeXBlIHR5cGUpOworc3RhdGljIGludAoreG1sU2NoZW1hUGFyc2VJbXBvcnQoeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBjdHh0LCB4bWxTY2hlbWFQdHIgc2NoZW1hLAorICAgICAgICAgICAgICAgICAgICAgeG1sTm9kZVB0ciBub2RlKTsKK3N0YXRpYyBpbnQKK3htbFNjaGVtYUNoZWNrRmFjZXRWYWx1ZXMoeG1sU2NoZW1hVHlwZVB0ciB0eXBlRGVjbCwKKyAgICAgICAgICAgICAgICAgICAgICAgeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBjdHh0KTsKK3N0YXRpYyB2b2lkCit4bWxTY2hlbWFDbGVhclZhbGlkQ3R4dCh4bWxTY2hlbWFWYWxpZEN0eHRQdHIgdmN0eHQpOworc3RhdGljIHhtbFNjaGVtYVdoaXRlc3BhY2VWYWx1ZVR5cGUKK3htbFNjaGVtYUdldFdoaXRlU3BhY2VGYWNldFZhbHVlKHhtbFNjaGVtYVR5cGVQdHIgdHlwZSk7CitzdGF0aWMgeG1sU2NoZW1hVHJlZUl0ZW1QdHIKK3htbFNjaGVtYVBhcnNlTW9kZWxHcm91cCh4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIGN0eHQsIHhtbFNjaGVtYVB0ciBzY2hlbWEsCisJCQkgeG1sTm9kZVB0ciBub2RlLCB4bWxTY2hlbWFUeXBlVHlwZSB0eXBlLAorCQkJIGludCB3aXRoUGFydGljbGUpOworc3RhdGljIGNvbnN0IHhtbENoYXIgKgoreG1sU2NoZW1hR2V0Q29tcG9uZW50VHlwZVN0cih4bWxTY2hlbWFCYXNpY0l0ZW1QdHIgaXRlbSk7CitzdGF0aWMgeG1sU2NoZW1hVHlwZUxpbmtQdHIKK3htbFNjaGVtYUdldFVuaW9uU2ltcGxlVHlwZU1lbWJlclR5cGVzKHhtbFNjaGVtYVR5cGVQdHIgdHlwZSk7CitzdGF0aWMgdm9pZAoreG1sU2NoZW1hSW50ZXJuYWxFcnIoeG1sU2NoZW1hQWJzdHJhY3RDdHh0UHRyIGFjdHh0LAorCQkgICAgIGNvbnN0IGNoYXIgKmZ1bmNOYW1lLAorCQkgICAgIGNvbnN0IGNoYXIgKm1lc3NhZ2UpOworc3RhdGljIGludAoreG1sU2NoZW1hQ2hlY2tDT1NTVERlcml2ZWRPSyh4bWxTY2hlbWFBYnN0cmFjdEN0eHRQdHIgY3R4dCwKKwkJCSAgICAgeG1sU2NoZW1hVHlwZVB0ciB0eXBlLAorCQkJICAgICB4bWxTY2hlbWFUeXBlUHRyIGJhc2VUeXBlLAorCQkJICAgICBpbnQgc3Vic2V0KTsKK3N0YXRpYyB2b2lkCit4bWxTY2hlbWFDaGVja0VsZW1lbnREZWNsQ29tcG9uZW50KHhtbFNjaGVtYUVsZW1lbnRQdHIgZWxlbURlY2wsCisJCQkJICAgeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBjdHh0KTsKK3N0YXRpYyB2b2lkCit4bWxTY2hlbWFDb21wb25lbnRMaXN0RnJlZSh4bWxTY2hlbWFJdGVtTGlzdFB0ciBsaXN0KTsKK3N0YXRpYyB4bWxTY2hlbWFRTmFtZVJlZlB0cgoreG1sU2NoZW1hUGFyc2VBdHRyaWJ1dGVHcm91cFJlZih4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIHBjdHh0LAorCQkJCXhtbFNjaGVtYVB0ciBzY2hlbWEsCisJCQkJeG1sTm9kZVB0ciBub2RlKTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJCUhlbHBlciBmdW5jdGlvbnMJCQkgICAgICAgICoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqCisgKiB4bWxTY2hlbWFJdGVtVHlwZVRvU3RyOgorICogQHR5cGU6IHRoZSB0eXBlIG9mIHRoZSBzY2hlbWEgaXRlbQorICoKKyAqIFJldHVybnMgdGhlIGNvbXBvbmVudCBuYW1lIG9mIGEgc2NoZW1hIGl0ZW0uCisgKi8KK3N0YXRpYyBjb25zdCB4bWxDaGFyICoKK3htbFNjaGVtYUl0ZW1UeXBlVG9TdHIoeG1sU2NoZW1hVHlwZVR5cGUgdHlwZSkKK3sKKyAgICBzd2l0Y2ggKHR5cGUpIHsKKwljYXNlIFhNTF9TQ0hFTUFfVFlQRV9CQVNJQzoKKwkgICAgcmV0dXJuKEJBRF9DQVNUICJzaW1wbGUgdHlwZSBkZWZpbml0aW9uIik7CisJY2FzZSBYTUxfU0NIRU1BX1RZUEVfU0lNUExFOgorCSAgICByZXR1cm4oQkFEX0NBU1QgInNpbXBsZSB0eXBlIGRlZmluaXRpb24iKTsKKwljYXNlIFhNTF9TQ0hFTUFfVFlQRV9DT01QTEVYOgorCSAgICByZXR1cm4oQkFEX0NBU1QgImNvbXBsZXggdHlwZSBkZWZpbml0aW9uIik7CisJY2FzZSBYTUxfU0NIRU1BX1RZUEVfRUxFTUVOVDoKKwkgICAgcmV0dXJuKEJBRF9DQVNUICJlbGVtZW50IGRlY2xhcmF0aW9uIik7CisJY2FzZSBYTUxfU0NIRU1BX1RZUEVfQVRUUklCVVRFX1VTRToKKwkgICAgcmV0dXJuKEJBRF9DQVNUICJhdHRyaWJ1dGUgdXNlIik7CisJY2FzZSBYTUxfU0NIRU1BX1RZUEVfQVRUUklCVVRFOgorCSAgICByZXR1cm4oQkFEX0NBU1QgImF0dHJpYnV0ZSBkZWNsYXJhdGlvbiIpOworCWNhc2UgWE1MX1NDSEVNQV9UWVBFX0dST1VQOgorCSAgICByZXR1cm4oQkFEX0NBU1QgIm1vZGVsIGdyb3VwIGRlZmluaXRpb24iKTsKKwljYXNlIFhNTF9TQ0hFTUFfVFlQRV9BVFRSSUJVVEVHUk9VUDoKKwkgICAgcmV0dXJuKEJBRF9DQVNUICJhdHRyaWJ1dGUgZ3JvdXAgZGVmaW5pdGlvbiIpOworCWNhc2UgWE1MX1NDSEVNQV9UWVBFX05PVEFUSU9OOgorCSAgICByZXR1cm4oQkFEX0NBU1QgIm5vdGF0aW9uIGRlY2xhcmF0aW9uIik7CisJY2FzZSBYTUxfU0NIRU1BX1RZUEVfU0VRVUVOQ0U6CisJICAgIHJldHVybihCQURfQ0FTVCAibW9kZWwgZ3JvdXAgKHNlcXVlbmNlKSIpOworCWNhc2UgWE1MX1NDSEVNQV9UWVBFX0NIT0lDRToKKwkgICAgcmV0dXJuKEJBRF9DQVNUICJtb2RlbCBncm91cCAoY2hvaWNlKSIpOworCWNhc2UgWE1MX1NDSEVNQV9UWVBFX0FMTDoKKwkgICAgcmV0dXJuKEJBRF9DQVNUICJtb2RlbCBncm91cCAoYWxsKSIpOworCWNhc2UgWE1MX1NDSEVNQV9UWVBFX1BBUlRJQ0xFOgorCSAgICByZXR1cm4oQkFEX0NBU1QgInBhcnRpY2xlIik7CisJY2FzZSBYTUxfU0NIRU1BX1RZUEVfSURDX1VOSVFVRToKKwkgICAgcmV0dXJuKEJBRF9DQVNUICJ1bmlxdWUgaWRlbnRpdHktY29uc3RyYWludCIpOworCSAgICAvKiByZXR1cm4oQkFEX0NBU1QgIklEQyAodW5pcXVlKSIpOyAqLworCWNhc2UgWE1MX1NDSEVNQV9UWVBFX0lEQ19LRVk6CisJICAgIHJldHVybihCQURfQ0FTVCAia2V5IGlkZW50aXR5LWNvbnN0cmFpbnQiKTsKKwkgICAgLyogcmV0dXJuKEJBRF9DQVNUICJJREMgKGtleSkiKTsgKi8KKwljYXNlIFhNTF9TQ0hFTUFfVFlQRV9JRENfS0VZUkVGOgorCSAgICByZXR1cm4oQkFEX0NBU1QgImtleXJlZiBpZGVudGl0eS1jb25zdHJhaW50Iik7CisJICAgIC8qIHJldHVybihCQURfQ0FTVCAiSURDIChrZXlyZWYpIik7ICovCisJY2FzZSBYTUxfU0NIRU1BX1RZUEVfQU5ZOgorCSAgICByZXR1cm4oQkFEX0NBU1QgIndpbGRjYXJkIChhbnkpIik7CisJY2FzZSBYTUxfU0NIRU1BX0VYVFJBX1FOQU1FUkVGOgorCSAgICByZXR1cm4oQkFEX0NBU1QgIltoZWxwZXIgY29tcG9uZW50XSBRTmFtZSByZWZlcmVuY2UiKTsKKwljYXNlIFhNTF9TQ0hFTUFfRVhUUkFfQVRUUl9VU0VfUFJPSElCOgorCSAgICByZXR1cm4oQkFEX0NBU1QgIltoZWxwZXIgY29tcG9uZW50XSBhdHRyaWJ1dGUgdXNlIHByb2hpYml0aW9uIik7CisJZGVmYXVsdDoKKwkgICAgcmV0dXJuKEJBRF9DQVNUICJOb3QgYSBzY2hlbWEgY29tcG9uZW50Iik7CisgICAgfQorfQorCisvKioKKyAqIHhtbFNjaGVtYUdldENvbXBvbmVudFR5cGVTdHI6CisgKiBAdHlwZTogdGhlIHR5cGUgb2YgdGhlIHNjaGVtYSBpdGVtCisgKgorICogUmV0dXJucyB0aGUgY29tcG9uZW50IG5hbWUgb2YgYSBzY2hlbWEgaXRlbS4KKyAqLworc3RhdGljIGNvbnN0IHhtbENoYXIgKgoreG1sU2NoZW1hR2V0Q29tcG9uZW50VHlwZVN0cih4bWxTY2hlbWFCYXNpY0l0ZW1QdHIgaXRlbSkKK3sKKyAgICBzd2l0Y2ggKGl0ZW0tPnR5cGUpIHsKKwljYXNlIFhNTF9TQ0hFTUFfVFlQRV9CQVNJQzoKKwkgICAgaWYgKFdYU19JU19DT01QTEVYKFdYU19UWVBFX0NBU1QgaXRlbSkpCisJCXJldHVybihCQURfQ0FTVCAiY29tcGxleCB0eXBlIGRlZmluaXRpb24iKTsKKwkgICAgZWxzZQorCQlyZXR1cm4oQkFEX0NBU1QgInNpbXBsZSB0eXBlIGRlZmluaXRpb24iKTsKKwlkZWZhdWx0OgorCSAgICByZXR1cm4oeG1sU2NoZW1hSXRlbVR5cGVUb1N0cihpdGVtLT50eXBlKSk7CisgICAgfQorfQorCisvKioKKyAqIHhtbFNjaGVtYUdldENvbXBvbmVudE5vZGU6CisgKiBAaXRlbTogYSBzY2hlbWEgY29tcG9uZW50CisgKgorICogUmV0dXJucyBub2RlIGFzc29jaWF0ZWQgd2l0aCB0aGUgc2NoZW1hIGNvbXBvbmVudC4KKyAqIE5PVEUgdGhhdCBzdWNoIGEgbm9kZSBuZWVkIG5vdCBiZSBhdmFpbGFibGU7IHBsdXMsIGEgY29tcG9uZW50J3MKKyAqIG5vZGUgbmVlZCBub3QgdG8gcmVmbGVjdCB0aGUgY29tcG9uZW50IGRpcmVjdGx5LCBzaW5jZSB0aGVyZSBpcyBubworICogb25lLXRvLW9uZSByZWxhdGlvbnNoaXAgYmV0d2VlbiB0aGUgWE1MIFNjaGVtYSByZXByZXNlbnRhdGlvbiBhbmQKKyAqIHRoZSBjb21wb25lbnQgcmVwcmVzZW50YXRpb24uCisgKi8KK3N0YXRpYyB4bWxOb2RlUHRyCit4bWxTY2hlbWFHZXRDb21wb25lbnROb2RlKHhtbFNjaGVtYUJhc2ljSXRlbVB0ciBpdGVtKQoreworICAgIHN3aXRjaCAoaXRlbS0+dHlwZSkgeworCWNhc2UgWE1MX1NDSEVNQV9UWVBFX0VMRU1FTlQ6CisJICAgIHJldHVybiAoKCh4bWxTY2hlbWFFbGVtZW50UHRyKSBpdGVtKS0+bm9kZSk7CisJY2FzZSBYTUxfU0NIRU1BX1RZUEVfQVRUUklCVVRFOgorCSAgICByZXR1cm4gKCgoeG1sU2NoZW1hQXR0cmlidXRlUHRyKSBpdGVtKS0+bm9kZSk7CisJY2FzZSBYTUxfU0NIRU1BX1RZUEVfQ09NUExFWDoKKwljYXNlIFhNTF9TQ0hFTUFfVFlQRV9TSU1QTEU6CisJICAgIHJldHVybiAoKCh4bWxTY2hlbWFUeXBlUHRyKSBpdGVtKS0+bm9kZSk7CisJY2FzZSBYTUxfU0NIRU1BX1RZUEVfQU5ZOgorCWNhc2UgWE1MX1NDSEVNQV9UWVBFX0FOWV9BVFRSSUJVVEU6CisJICAgIHJldHVybiAoKCh4bWxTY2hlbWFXaWxkY2FyZFB0cikgaXRlbSktPm5vZGUpOworCWNhc2UgWE1MX1NDSEVNQV9UWVBFX1BBUlRJQ0xFOgorCSAgICByZXR1cm4gKCgoeG1sU2NoZW1hUGFydGljbGVQdHIpIGl0ZW0pLT5ub2RlKTsKKwljYXNlIFhNTF9TQ0hFTUFfVFlQRV9TRVFVRU5DRToKKwljYXNlIFhNTF9TQ0hFTUFfVFlQRV9DSE9JQ0U6CisJY2FzZSBYTUxfU0NIRU1BX1RZUEVfQUxMOgorCSAgICByZXR1cm4gKCgoeG1sU2NoZW1hTW9kZWxHcm91cFB0cikgaXRlbSktPm5vZGUpOworCWNhc2UgWE1MX1NDSEVNQV9UWVBFX0dST1VQOgorCSAgICByZXR1cm4gKCgoeG1sU2NoZW1hTW9kZWxHcm91cERlZlB0cikgaXRlbSktPm5vZGUpOworCWNhc2UgWE1MX1NDSEVNQV9UWVBFX0FUVFJJQlVURUdST1VQOgorCSAgICByZXR1cm4gKCgoeG1sU2NoZW1hQXR0cmlidXRlR3JvdXBQdHIpIGl0ZW0pLT5ub2RlKTsKKwljYXNlIFhNTF9TQ0hFTUFfVFlQRV9JRENfVU5JUVVFOgorCWNhc2UgWE1MX1NDSEVNQV9UWVBFX0lEQ19LRVk6CisJY2FzZSBYTUxfU0NIRU1BX1RZUEVfSURDX0tFWVJFRjoKKwkgICAgcmV0dXJuICgoKHhtbFNjaGVtYUlEQ1B0cikgaXRlbSktPm5vZGUpOworCWNhc2UgWE1MX1NDSEVNQV9FWFRSQV9RTkFNRVJFRjoKKwkgICAgcmV0dXJuKCgoeG1sU2NoZW1hUU5hbWVSZWZQdHIpIGl0ZW0pLT5ub2RlKTsKKwkvKiBUT0RPOiBXaGF0IHRvIGRvIHdpdGggTk9UQVRJT05zPworCWNhc2UgWE1MX1NDSEVNQV9UWVBFX05PVEFUSU9OOgorCSAgICByZXR1cm4gKCgoeG1sU2NoZW1hTm90YXRpb25QdHIpIGl0ZW0pLT5ub2RlKTsKKwkqLworCWNhc2UgWE1MX1NDSEVNQV9UWVBFX0FUVFJJQlVURV9VU0U6CisJICAgIHJldHVybiAoKCh4bWxTY2hlbWFBdHRyaWJ1dGVVc2VQdHIpIGl0ZW0pLT5ub2RlKTsKKwlkZWZhdWx0OgorCSAgICByZXR1cm4gKE5VTEwpOworICAgIH0KK30KKworI2lmIDAKKy8qKgorICogeG1sU2NoZW1hR2V0TmV4dENvbXBvbmVudDoKKyAqIEBpdGVtOiBhIHNjaGVtYSBjb21wb25lbnQKKyAqCisgKiBSZXR1cm5zIHRoZSBuZXh0IHNpYmxpbmcgb2YgdGhlIHNjaGVtYSBjb21wb25lbnQuCisgKi8KK3N0YXRpYyB4bWxTY2hlbWFCYXNpY0l0ZW1QdHIKK3htbFNjaGVtYUdldE5leHRDb21wb25lbnQoeG1sU2NoZW1hQmFzaWNJdGVtUHRyIGl0ZW0pCit7CisgICAgc3dpdGNoIChpdGVtLT50eXBlKSB7CisJY2FzZSBYTUxfU0NIRU1BX1RZUEVfRUxFTUVOVDoKKwkgICAgcmV0dXJuICgoeG1sU2NoZW1hQmFzaWNJdGVtUHRyKSAoKHhtbFNjaGVtYUVsZW1lbnRQdHIpIGl0ZW0pLT5uZXh0KTsKKwljYXNlIFhNTF9TQ0hFTUFfVFlQRV9BVFRSSUJVVEU6CisJICAgIHJldHVybiAoKHhtbFNjaGVtYUJhc2ljSXRlbVB0cikgKCh4bWxTY2hlbWFBdHRyaWJ1dGVQdHIpIGl0ZW0pLT5uZXh0KTsKKwljYXNlIFhNTF9TQ0hFTUFfVFlQRV9DT01QTEVYOgorCWNhc2UgWE1MX1NDSEVNQV9UWVBFX1NJTVBMRToKKwkgICAgcmV0dXJuICgoeG1sU2NoZW1hQmFzaWNJdGVtUHRyKSAoKHhtbFNjaGVtYVR5cGVQdHIpIGl0ZW0pLT5uZXh0KTsKKwljYXNlIFhNTF9TQ0hFTUFfVFlQRV9BTlk6CisJY2FzZSBYTUxfU0NIRU1BX1RZUEVfQU5ZX0FUVFJJQlVURToKKwkgICAgcmV0dXJuIChOVUxMKTsKKwljYXNlIFhNTF9TQ0hFTUFfVFlQRV9QQVJUSUNMRToKKwkgICAgcmV0dXJuICgoeG1sU2NoZW1hQmFzaWNJdGVtUHRyKSAoKHhtbFNjaGVtYVBhcnRpY2xlUHRyKSBpdGVtKS0+bmV4dCk7CisJY2FzZSBYTUxfU0NIRU1BX1RZUEVfU0VRVUVOQ0U6CisJY2FzZSBYTUxfU0NIRU1BX1RZUEVfQ0hPSUNFOgorCWNhc2UgWE1MX1NDSEVNQV9UWVBFX0FMTDoKKwkgICAgcmV0dXJuIChOVUxMKTsKKwljYXNlIFhNTF9TQ0hFTUFfVFlQRV9HUk9VUDoKKwkgICAgcmV0dXJuIChOVUxMKTsKKwljYXNlIFhNTF9TQ0hFTUFfVFlQRV9BVFRSSUJVVEVHUk9VUDoKKwkgICAgcmV0dXJuICgoeG1sU2NoZW1hQmFzaWNJdGVtUHRyKSAoKHhtbFNjaGVtYUF0dHJpYnV0ZUdyb3VwUHRyKSBpdGVtKS0+bmV4dCk7CisJY2FzZSBYTUxfU0NIRU1BX1RZUEVfSURDX1VOSVFVRToKKwljYXNlIFhNTF9TQ0hFTUFfVFlQRV9JRENfS0VZOgorCWNhc2UgWE1MX1NDSEVNQV9UWVBFX0lEQ19LRVlSRUY6CisJICAgIHJldHVybiAoKHhtbFNjaGVtYUJhc2ljSXRlbVB0cikgKCh4bWxTY2hlbWFJRENQdHIpIGl0ZW0pLT5uZXh0KTsKKwlkZWZhdWx0OgorCSAgICByZXR1cm4gKE5VTEwpOworICAgIH0KK30KKyNlbmRpZgorCisKKy8qKgorICogeG1sU2NoZW1hRm9ybWF0UU5hbWU6CisgKiBAYnVmOiB0aGUgc3RyaW5nIGJ1ZmZlcgorICogQG5hbWVzcGFjZU5hbWU6ICB0aGUgbmFtZXNwYWNlIG5hbWUKKyAqIEBsb2NhbE5hbWU6IHRoZSBsb2NhbCBuYW1lCisgKgorICogUmV0dXJucyB0aGUgZ2l2ZW4gUU5hbWUgaW4gdGhlIGZvcm1hdCAie25hbWVzcGFjZU5hbWV9bG9jYWxOYW1lIiBvcgorICoganVzdCAibG9jYWxOYW1lIiBpZiBAbmFtZXNwYWNlTmFtZSBpcyBOVUxMLgorICoKKyAqIFJldHVybnMgdGhlIGxvY2FsTmFtZSBpZiBAbmFtZXNwYWNlTmFtZSBpcyBOVUxMLCBhIGZvcm1hdHRlZAorICogc3RyaW5nIG90aGVyd2lzZS4KKyAqLworc3RhdGljIGNvbnN0IHhtbENoYXIqCit4bWxTY2hlbWFGb3JtYXRRTmFtZSh4bWxDaGFyICoqYnVmLAorCQkgICAgIGNvbnN0IHhtbENoYXIgKm5hbWVzcGFjZU5hbWUsCisJCSAgICAgY29uc3QgeG1sQ2hhciAqbG9jYWxOYW1lKQoreworICAgIEZSRUVfQU5EX05VTEwoKmJ1ZikKKyAgICBpZiAobmFtZXNwYWNlTmFtZSAhPSBOVUxMKSB7CisJKmJ1ZiA9IHhtbFN0cmR1cChCQURfQ0FTVCAieyIpOworCSpidWYgPSB4bWxTdHJjYXQoKmJ1ZiwgbmFtZXNwYWNlTmFtZSk7CisJKmJ1ZiA9IHhtbFN0cmNhdCgqYnVmLCBCQURfQ0FTVCAifSIpOworICAgIH0KKyAgICBpZiAobG9jYWxOYW1lICE9IE5VTEwpIHsKKwlpZiAobmFtZXNwYWNlTmFtZSA9PSBOVUxMKQorCSAgICByZXR1cm4obG9jYWxOYW1lKTsKKwkqYnVmID0geG1sU3RyY2F0KCpidWYsIGxvY2FsTmFtZSk7CisgICAgfSBlbHNlIHsKKwkqYnVmID0geG1sU3RyY2F0KCpidWYsIEJBRF9DQVNUICIoTlVMTCkiKTsKKyAgICB9CisgICAgcmV0dXJuICgoY29uc3QgeG1sQ2hhciAqKSAqYnVmKTsKK30KKworc3RhdGljIGNvbnN0IHhtbENoYXIqCit4bWxTY2hlbWFGb3JtYXRRTmFtZU5zKHhtbENoYXIgKipidWYsIHhtbE5zUHRyIG5zLCBjb25zdCB4bWxDaGFyICpsb2NhbE5hbWUpCit7CisgICAgaWYgKG5zICE9IE5VTEwpCisJcmV0dXJuICh4bWxTY2hlbWFGb3JtYXRRTmFtZShidWYsIG5zLT5ocmVmLCBsb2NhbE5hbWUpKTsKKyAgICBlbHNlCisJcmV0dXJuICh4bWxTY2hlbWFGb3JtYXRRTmFtZShidWYsIE5VTEwsIGxvY2FsTmFtZSkpOworfQorCitzdGF0aWMgY29uc3QgeG1sQ2hhciAqCit4bWxTY2hlbWFHZXRDb21wb25lbnROYW1lKHhtbFNjaGVtYUJhc2ljSXRlbVB0ciBpdGVtKQoreworICAgIHN3aXRjaCAoaXRlbS0+dHlwZSkgeworCWNhc2UgWE1MX1NDSEVNQV9UWVBFX0VMRU1FTlQ6CisJICAgIHJldHVybiAoKCh4bWxTY2hlbWFFbGVtZW50UHRyKSBpdGVtKS0+bmFtZSk7CisJY2FzZSBYTUxfU0NIRU1BX1RZUEVfQVRUUklCVVRFOgorCSAgICByZXR1cm4gKCgoeG1sU2NoZW1hQXR0cmlidXRlUHRyKSBpdGVtKS0+bmFtZSk7CisJY2FzZSBYTUxfU0NIRU1BX1RZUEVfQVRUUklCVVRFR1JPVVA6CisJICAgIHJldHVybiAoKCh4bWxTY2hlbWFBdHRyaWJ1dGVHcm91cFB0cikgaXRlbSktPm5hbWUpOworCWNhc2UgWE1MX1NDSEVNQV9UWVBFX0JBU0lDOgorCWNhc2UgWE1MX1NDSEVNQV9UWVBFX1NJTVBMRToKKwljYXNlIFhNTF9TQ0hFTUFfVFlQRV9DT01QTEVYOgorCSAgICByZXR1cm4gKCgoeG1sU2NoZW1hVHlwZVB0cikgaXRlbSktPm5hbWUpOworCWNhc2UgWE1MX1NDSEVNQV9UWVBFX0dST1VQOgorCSAgICByZXR1cm4gKCgoeG1sU2NoZW1hTW9kZWxHcm91cERlZlB0cikgaXRlbSktPm5hbWUpOworCWNhc2UgWE1MX1NDSEVNQV9UWVBFX0lEQ19LRVk6CisJY2FzZSBYTUxfU0NIRU1BX1RZUEVfSURDX1VOSVFVRToKKwljYXNlIFhNTF9TQ0hFTUFfVFlQRV9JRENfS0VZUkVGOgorCSAgICByZXR1cm4gKCgoeG1sU2NoZW1hSURDUHRyKSBpdGVtKS0+bmFtZSk7CisJY2FzZSBYTUxfU0NIRU1BX1RZUEVfQVRUUklCVVRFX1VTRToKKwkgICAgaWYgKFdYU19BVFRSVVNFX0RFQ0woaXRlbSkgIT0gTlVMTCkgeworCQlyZXR1cm4oeG1sU2NoZW1hR2V0Q29tcG9uZW50TmFtZSgKKwkJICAgIFdYU19CQVNJQ19DQVNUIFdYU19BVFRSVVNFX0RFQ0woaXRlbSkpKTsKKwkgICAgfSBlbHNlCisJCXJldHVybihOVUxMKTsKKwljYXNlIFhNTF9TQ0hFTUFfRVhUUkFfUU5BTUVSRUY6CisJICAgIHJldHVybiAoKCh4bWxTY2hlbWFRTmFtZVJlZlB0cikgaXRlbSktPm5hbWUpOworCWNhc2UgWE1MX1NDSEVNQV9UWVBFX05PVEFUSU9OOgorCSAgICByZXR1cm4gKCgoeG1sU2NoZW1hTm90YXRpb25QdHIpIGl0ZW0pLT5uYW1lKTsKKwlkZWZhdWx0OgorCSAgICAvKgorCSAgICAqIE90aGVyIGNvbXBvbmVudHMgY2Fubm90IGhhdmUgbmFtZXMuCisJICAgICovCisJICAgIGJyZWFrOworICAgIH0KKyAgICByZXR1cm4gKE5VTEwpOworfQorCisjZGVmaW5lIHhtbFNjaGVtYUdldFFOYW1lUmVmTmFtZShyKSAoV1hTX1FOQU1FX0NBU1QgKHIpKS0+bmFtZQorI2RlZmluZSB4bWxTY2hlbWFHZXRRTmFtZVJlZlRhcmdldE5zKHIpIChXWFNfUU5BTUVfQ0FTVCAocikpLT50YXJnZXROYW1lc3BhY2UKKy8qCitzdGF0aWMgY29uc3QgeG1sQ2hhciAqCit4bWxTY2hlbWFHZXRRTmFtZVJlZk5hbWUodm9pZCAqcmVmKQoreworICAgIHJldHVybigoKHhtbFNjaGVtYVFOYW1lUmVmUHRyKSByZWYpLT5uYW1lKTsKK30KKworc3RhdGljIGNvbnN0IHhtbENoYXIgKgoreG1sU2NoZW1hR2V0UU5hbWVSZWZUYXJnZXROcyh2b2lkICpyZWYpCit7CisgICAgcmV0dXJuKCgoeG1sU2NoZW1hUU5hbWVSZWZQdHIpIHJlZiktPnRhcmdldE5hbWVzcGFjZSk7Cit9CisqLworCitzdGF0aWMgY29uc3QgeG1sQ2hhciAqCit4bWxTY2hlbWFHZXRDb21wb25lbnRUYXJnZXROcyh4bWxTY2hlbWFCYXNpY0l0ZW1QdHIgaXRlbSkKK3sKKyAgICBzd2l0Y2ggKGl0ZW0tPnR5cGUpIHsKKwljYXNlIFhNTF9TQ0hFTUFfVFlQRV9FTEVNRU5UOgorCSAgICByZXR1cm4gKCgoeG1sU2NoZW1hRWxlbWVudFB0cikgaXRlbSktPnRhcmdldE5hbWVzcGFjZSk7CisJY2FzZSBYTUxfU0NIRU1BX1RZUEVfQVRUUklCVVRFOgorCSAgICByZXR1cm4gKCgoeG1sU2NoZW1hQXR0cmlidXRlUHRyKSBpdGVtKS0+dGFyZ2V0TmFtZXNwYWNlKTsKKwljYXNlIFhNTF9TQ0hFTUFfVFlQRV9BVFRSSUJVVEVHUk9VUDoKKwkgICAgcmV0dXJuICgoKHhtbFNjaGVtYUF0dHJpYnV0ZUdyb3VwUHRyKSBpdGVtKS0+dGFyZ2V0TmFtZXNwYWNlKTsKKwljYXNlIFhNTF9TQ0hFTUFfVFlQRV9CQVNJQzoKKwkgICAgcmV0dXJuIChCQURfQ0FTVCAiaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiKTsKKwljYXNlIFhNTF9TQ0hFTUFfVFlQRV9TSU1QTEU6CisJY2FzZSBYTUxfU0NIRU1BX1RZUEVfQ09NUExFWDoKKwkgICAgcmV0dXJuICgoKHhtbFNjaGVtYVR5cGVQdHIpIGl0ZW0pLT50YXJnZXROYW1lc3BhY2UpOworCWNhc2UgWE1MX1NDSEVNQV9UWVBFX0dST1VQOgorCSAgICByZXR1cm4gKCgoeG1sU2NoZW1hTW9kZWxHcm91cERlZlB0cikgaXRlbSktPnRhcmdldE5hbWVzcGFjZSk7CisJY2FzZSBYTUxfU0NIRU1BX1RZUEVfSURDX0tFWToKKwljYXNlIFhNTF9TQ0hFTUFfVFlQRV9JRENfVU5JUVVFOgorCWNhc2UgWE1MX1NDSEVNQV9UWVBFX0lEQ19LRVlSRUY6CisJICAgIHJldHVybiAoKCh4bWxTY2hlbWFJRENQdHIpIGl0ZW0pLT50YXJnZXROYW1lc3BhY2UpOworCWNhc2UgWE1MX1NDSEVNQV9UWVBFX0FUVFJJQlVURV9VU0U6CisJICAgIGlmIChXWFNfQVRUUlVTRV9ERUNMKGl0ZW0pICE9IE5VTEwpIHsKKwkJcmV0dXJuKHhtbFNjaGVtYUdldENvbXBvbmVudFRhcmdldE5zKAorCQkgICAgV1hTX0JBU0lDX0NBU1QgV1hTX0FUVFJVU0VfREVDTChpdGVtKSkpOworCSAgICB9CisJICAgIC8qIFRPRE86IFdpbGwgcmV0dXJuaW5nIE5VTEwgYnJlYWsgc29tZXRoaW5nPyAqLworCSAgICBicmVhazsKKwljYXNlIFhNTF9TQ0hFTUFfRVhUUkFfUU5BTUVSRUY6CisJICAgIHJldHVybiAoKCh4bWxTY2hlbWFRTmFtZVJlZlB0cikgaXRlbSktPnRhcmdldE5hbWVzcGFjZSk7CisJY2FzZSBYTUxfU0NIRU1BX1RZUEVfTk9UQVRJT046CisJICAgIHJldHVybiAoKCh4bWxTY2hlbWFOb3RhdGlvblB0cikgaXRlbSktPnRhcmdldE5hbWVzcGFjZSk7CisJZGVmYXVsdDoKKwkgICAgLyoKKwkgICAgKiBPdGhlciBjb21wb25lbnRzIGNhbm5vdCBoYXZlIG5hbWVzLgorCSAgICAqLworCSAgICBicmVhazsKKyAgICB9CisgICAgcmV0dXJuIChOVUxMKTsKK30KKworc3RhdGljIGNvbnN0IHhtbENoYXIqCit4bWxTY2hlbWFHZXRDb21wb25lbnRRTmFtZSh4bWxDaGFyICoqYnVmLAorCQkJICAgdm9pZCAqaXRlbSkKK3sKKyAgICByZXR1cm4gKHhtbFNjaGVtYUZvcm1hdFFOYW1lKGJ1ZiwKKwl4bWxTY2hlbWFHZXRDb21wb25lbnRUYXJnZXROcygoeG1sU2NoZW1hQmFzaWNJdGVtUHRyKSBpdGVtKSwKKwl4bWxTY2hlbWFHZXRDb21wb25lbnROYW1lKCh4bWxTY2hlbWFCYXNpY0l0ZW1QdHIpIGl0ZW0pKSk7Cit9CisKK3N0YXRpYyBjb25zdCB4bWxDaGFyKgoreG1sU2NoZW1hR2V0Q29tcG9uZW50RGVzaWduYXRpb24oeG1sQ2hhciAqKmJ1Ziwgdm9pZCAqaXRlbSkKK3sKKyAgICB4bWxDaGFyICpzdHIgPSBOVUxMOworCisgICAgKmJ1ZiA9IHhtbFN0cmNhdCgqYnVmLCBXWFNfSVRFTV9UWVBFX05BTUUoaXRlbSkpOworICAgICpidWYgPSB4bWxTdHJjYXQoKmJ1ZiwgQkFEX0NBU1QgIiAnIik7CisgICAgKmJ1ZiA9IHhtbFN0cmNhdCgqYnVmLCB4bWxTY2hlbWFHZXRDb21wb25lbnRRTmFtZSgmc3RyLAorCSh4bWxTY2hlbWFCYXNpY0l0ZW1QdHIpIGl0ZW0pKTsKKyAgICAqYnVmID0geG1sU3RyY2F0KCpidWYsIEJBRF9DQVNUICInIik7CisgICAgRlJFRV9BTkRfTlVMTChzdHIpOworICAgIHJldHVybigqYnVmKTsKK30KKworc3RhdGljIGNvbnN0IHhtbENoYXIqCit4bWxTY2hlbWFHZXRJRENEZXNpZ25hdGlvbih4bWxDaGFyICoqYnVmLCB4bWxTY2hlbWFJRENQdHIgaWRjKQoreworICAgIHJldHVybih4bWxTY2hlbWFHZXRDb21wb25lbnREZXNpZ25hdGlvbihidWYsIGlkYykpOworfQorCisvKioKKyAqIHhtbFNjaGVtYVdpbGRjYXJkUENUb1N0cmluZzoKKyAqIEBwYzogdGhlIHR5cGUgb2YgcHJvY2Vzc0NvbnRlbnRzCisgKgorICogUmV0dXJucyBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgdHlwZSBvZgorICogcHJvY2Vzc0NvbnRlbnRzLgorICovCitzdGF0aWMgY29uc3QgeG1sQ2hhciAqCit4bWxTY2hlbWFXaWxkY2FyZFBDVG9TdHJpbmcoaW50IHBjKQoreworICAgIHN3aXRjaCAocGMpIHsKKwljYXNlIFhNTF9TQ0hFTUFTX0FOWV9TS0lQOgorCSAgICByZXR1cm4gKEJBRF9DQVNUICJza2lwIik7CisJY2FzZSBYTUxfU0NIRU1BU19BTllfTEFYOgorCSAgICByZXR1cm4gKEJBRF9DQVNUICJsYXgiKTsKKwljYXNlIFhNTF9TQ0hFTUFTX0FOWV9TVFJJQ1Q6CisJICAgIHJldHVybiAoQkFEX0NBU1QgInN0cmljdCIpOworCWRlZmF1bHQ6CisJICAgIHJldHVybiAoQkFEX0NBU1QgImludmFsaWQgcHJvY2VzcyBjb250ZW50cyIpOworICAgIH0KK30KKworLyoqCisgKiB4bWxTY2hlbWFHZXRDYW5vblZhbHVlV2h0c3BFeHQ6CisgKiBAdmFsOiB0aGUgcHJlY29tcHV0ZWQgdmFsdWUKKyAqIEByZXRWYWx1ZTogdGhlIHJldHVybmVkIHZhbHVlCisgKiBAd3M6IHRoZSB3aGl0ZXNwYWNlIHR5cGUgb2YgdGhlIHZhbHVlCisgKgorICogR2V0IGEgdGhlIGNhbm9uaWNhbCByZXByZXNlbnRhdGlvbiBvZiB0aGUgdmFsdWUuCisgKiBUaGUgY2FsbGVyIGhhcyB0byBmcmVlIHRoZSByZXR1cm5lZCByZXRWYWx1ZS4KKyAqCisgKiBSZXR1cm5zIDAgaWYgdGhlIHZhbHVlIGNvdWxkIGJlIGJ1aWx0IGFuZCAtMSBpbiBjYXNlIG9mCisgKiAgICAgICAgIEFQSSBlcnJvcnMgb3IgaWYgdGhlIHZhbHVlIHR5cGUgaXMgbm90IHN1cHBvcnRlZCB5ZXQuCisgKi8KK3N0YXRpYyBpbnQKK3htbFNjaGVtYUdldENhbm9uVmFsdWVXaHRzcEV4dCh4bWxTY2hlbWFWYWxQdHIgdmFsLAorCQkJICAgICAgIHhtbFNjaGVtYVdoaXRlc3BhY2VWYWx1ZVR5cGUgd3MsCisJCQkgICAgICAgeG1sQ2hhciAqKnJldFZhbHVlKQoreworICAgIGludCBsaXN0OworICAgIHhtbFNjaGVtYVZhbFR5cGUgdmFsVHlwZTsKKyAgICBjb25zdCB4bWxDaGFyICp2YWx1ZSwgKnZhbHVlMiA9IE5VTEw7CisKKworICAgIGlmICgocmV0VmFsdWUgPT0gTlVMTCkgfHwgKHZhbCA9PSBOVUxMKSkKKwlyZXR1cm4gKC0xKTsKKyAgICBsaXN0ID0geG1sU2NoZW1hVmFsdWVHZXROZXh0KHZhbCkgPyAxIDogMDsKKyAgICAqcmV0VmFsdWUgPSBOVUxMOworICAgIGRvIHsKKwl2YWx1ZSA9IE5VTEw7CisJdmFsVHlwZSA9IHhtbFNjaGVtYUdldFZhbFR5cGUodmFsKTsKKwlzd2l0Y2ggKHZhbFR5cGUpIHsKKwkgICAgY2FzZSBYTUxfU0NIRU1BU19TVFJJTkc6CisJICAgIGNhc2UgWE1MX1NDSEVNQVNfTk9STVNUUklORzoKKwkgICAgY2FzZSBYTUxfU0NIRU1BU19BTllTSU1QTEVUWVBFOgorCQl2YWx1ZSA9IHhtbFNjaGVtYVZhbHVlR2V0QXNTdHJpbmcodmFsKTsKKwkJaWYgKHZhbHVlICE9IE5VTEwpIHsKKwkJICAgIGlmICh3cyA9PSBYTUxfU0NIRU1BX1dISVRFU1BBQ0VfQ09MTEFQU0UpCisJCQl2YWx1ZTIgPSB4bWxTY2hlbWFDb2xsYXBzZVN0cmluZyh2YWx1ZSk7CisJCSAgICBlbHNlIGlmICh3cyA9PSBYTUxfU0NIRU1BX1dISVRFU1BBQ0VfUkVQTEFDRSkKKwkJCXZhbHVlMiA9IHhtbFNjaGVtYVdoaXRlU3BhY2VSZXBsYWNlKHZhbHVlKTsKKwkJICAgIGlmICh2YWx1ZTIgIT0gTlVMTCkKKwkJCXZhbHVlID0gdmFsdWUyOworCQl9CisJCWJyZWFrOworCSAgICBkZWZhdWx0OgorCQlpZiAoeG1sU2NoZW1hR2V0Q2Fub25WYWx1ZSh2YWwsICZ2YWx1ZTIpID09IC0xKSB7CisJCSAgICBpZiAodmFsdWUyICE9IE5VTEwpCisJCQl4bWxGcmVlKCh4bWxDaGFyICopIHZhbHVlMik7CisJCSAgICBnb3RvIGludGVybmFsX2Vycm9yOworCQl9CisJCXZhbHVlID0gdmFsdWUyOworCX0KKwlpZiAoKnJldFZhbHVlID09IE5VTEwpCisJICAgIGlmICh2YWx1ZSA9PSBOVUxMKSB7CisJCWlmICghIGxpc3QpCisJCSAgICAqcmV0VmFsdWUgPSB4bWxTdHJkdXAoQkFEX0NBU1QgIiIpOworCSAgICB9IGVsc2UKKwkJKnJldFZhbHVlID0geG1sU3RyZHVwKHZhbHVlKTsKKwllbHNlIGlmICh2YWx1ZSAhPSBOVUxMKSB7CisJICAgIC8qIExpc3QuICovCisJICAgICpyZXRWYWx1ZSA9IHhtbFN0cmNhdCgoeG1sQ2hhciAqKSAqcmV0VmFsdWUsIEJBRF9DQVNUICIgIik7CisJICAgICpyZXRWYWx1ZSA9IHhtbFN0cmNhdCgoeG1sQ2hhciAqKSAqcmV0VmFsdWUsIHZhbHVlKTsKKwl9CisJRlJFRV9BTkRfTlVMTCh2YWx1ZTIpCisJdmFsID0geG1sU2NoZW1hVmFsdWVHZXROZXh0KHZhbCk7CisgICAgfSB3aGlsZSAodmFsICE9IE5VTEwpOworCisgICAgcmV0dXJuICgwKTsKK2ludGVybmFsX2Vycm9yOgorICAgIGlmICgqcmV0VmFsdWUgIT0gTlVMTCkKKwl4bWxGcmVlKCh4bWxDaGFyICopICgqcmV0VmFsdWUpKTsKKyAgICBpZiAodmFsdWUyICE9IE5VTEwpCisJeG1sRnJlZSgoeG1sQ2hhciAqKSB2YWx1ZTIpOworICAgIHJldHVybiAoLTEpOworfQorCisvKioKKyAqIHhtbFNjaGVtYUZvcm1hdEl0ZW1Gb3JSZXBvcnQ6CisgKiBAYnVmOiB0aGUgc3RyaW5nIGJ1ZmZlcgorICogQGl0ZW1EZXM6IHRoZSBkZXNpZ25hdGlvbiBvZiB0aGUgaXRlbQorICogQGl0ZW1OYW1lOiB0aGUgbmFtZSBvZiB0aGUgaXRlbQorICogQGl0ZW06IHRoZSBpdGVtIGFzIGFuIG9iamVjdAorICogQGl0ZW1Ob2RlOiB0aGUgbm9kZSBvZiB0aGUgaXRlbQorICogQGxvY2FsOiB0aGUgbG9jYWwgbmFtZQorICogQHBhcnNpbmc6IGlmIHRoZSBmdW5jdGlvbiBpcyB1c2VkIGR1cmluZyB0aGUgcGFyc2UKKyAqCisgKiBSZXR1cm5zIGEgcmVwcmVzZW50YXRpb24gb2YgdGhlIGdpdmVuIGl0ZW0gdXNlZAorICogZm9yIGVycm9yIHJlcG9ydHMuCisgKgorICogVGhlIGZvbGxvd2luZyBvcmRlciBpcyB1c2VkIHRvIGJ1aWxkIHRoZSByZXN1bHRpbmcKKyAqIGRlc2lnbmF0aW9uIGlmIHRoZSBhcmd1bWVudHMgYXJlIG5vdCBOVUxMOgorICogMWEuIElmIGl0ZW1EZXMgbm90IE5VTEwgLT4gaXRlbURlcworICogMWIuIElmIChpdGVtRGVzIG5vdCBOVUxMKSBhbmQgKGl0ZW1OYW1lIG5vdCBOVUxMKQorICogICAgIC0+IGl0ZW1EZXMgKyBpdGVtTmFtZQorICogMi4gSWYgdGhlIHByZWNlZGluZyB3YXMgTlVMTCBhbmQgKGl0ZW0gbm90IE5VTEwpIC0+IGl0ZW0KKyAqIDMuIElmIHRoZSBwcmVjZWRpbmcgd2FzIE5VTEwgYW5kIChpdGVtTm9kZSBub3QgTlVMTCkgLT4gaXRlbU5vZGUKKyAqCisgKiBJZiB0aGUgaXRlbU5vZGUgaXMgYW4gYXR0cmlidXRlIG5vZGUsIHRoZSBuYW1lIG9mIHRoZSBhdHRyaWJ1dGUKKyAqIHdpbGwgYmUgYXBwZW5kZWQgdG8gdGhlIHJlc3VsdC4KKyAqCisgKiBSZXR1cm5zIHRoZSBmb3JtYXR0ZWQgc3RyaW5nIGFuZCBzZXRzIEBidWYgdG8gdGhlIHJlc3VsdGluZyB2YWx1ZS4KKyAqLworc3RhdGljIHhtbENoYXIqCit4bWxTY2hlbWFGb3JtYXRJdGVtRm9yUmVwb3J0KHhtbENoYXIgKipidWYsCisJCSAgICAgY29uc3QgeG1sQ2hhciAqaXRlbURlcywKKwkJICAgICB4bWxTY2hlbWFCYXNpY0l0ZW1QdHIgaXRlbSwKKwkJICAgICB4bWxOb2RlUHRyIGl0ZW1Ob2RlKQoreworICAgIHhtbENoYXIgKnN0ciA9IE5VTEw7CisgICAgaW50IG5hbWVkID0gMTsKKworICAgIGlmICgqYnVmICE9IE5VTEwpIHsKKwl4bWxGcmVlKCpidWYpOworCSpidWYgPSBOVUxMOworICAgIH0KKworICAgIGlmIChpdGVtRGVzICE9IE5VTEwpIHsKKwkqYnVmID0geG1sU3RyZHVwKGl0ZW1EZXMpOworICAgIH0gZWxzZSBpZiAoaXRlbSAhPSBOVUxMKSB7CisJc3dpdGNoIChpdGVtLT50eXBlKSB7CisJY2FzZSBYTUxfU0NIRU1BX1RZUEVfQkFTSUM6IHsKKwkgICAgeG1sU2NoZW1hVHlwZVB0ciB0eXBlID0gV1hTX1RZUEVfQ0FTVCBpdGVtOworCisJICAgIGlmIChXWFNfSVNfQVRPTUlDKHR5cGUpKQorCQkqYnVmID0geG1sU3RyZHVwKEJBRF9DQVNUICJhdG9taWMgdHlwZSAneHM6Iik7CisJICAgIGVsc2UgaWYgKFdYU19JU19MSVNUKHR5cGUpKQorCQkqYnVmID0geG1sU3RyZHVwKEJBRF9DQVNUICJsaXN0IHR5cGUgJ3hzOiIpOworCSAgICBlbHNlIGlmIChXWFNfSVNfVU5JT04odHlwZSkpCisJCSpidWYgPSB4bWxTdHJkdXAoQkFEX0NBU1QgInVuaW9uIHR5cGUgJ3hzOiIpOworCSAgICBlbHNlCisJCSpidWYgPSB4bWxTdHJkdXAoQkFEX0NBU1QgInNpbXBsZSB0eXBlICd4czoiKTsKKwkgICAgKmJ1ZiA9IHhtbFN0cmNhdCgqYnVmLCB0eXBlLT5uYW1lKTsKKwkgICAgKmJ1ZiA9IHhtbFN0cmNhdCgqYnVmLCBCQURfQ0FTVCAiJyIpOworCSAgICB9CisJICAgIGJyZWFrOworCWNhc2UgWE1MX1NDSEVNQV9UWVBFX1NJTVBMRTogeworCSAgICB4bWxTY2hlbWFUeXBlUHRyIHR5cGUgPSBXWFNfVFlQRV9DQVNUIGl0ZW07CisKKwkgICAgaWYgKHR5cGUtPmZsYWdzICYgWE1MX1NDSEVNQVNfVFlQRV9HTE9CQUwpIHsKKwkJKmJ1ZiA9IHhtbFN0cmR1cChCQURfQ0FTVCIiKTsKKwkgICAgfSBlbHNlIHsKKwkJKmJ1ZiA9IHhtbFN0cmR1cChCQURfQ0FTVCAibG9jYWwgIik7CisJICAgIH0KKwkgICAgaWYgKFdYU19JU19BVE9NSUModHlwZSkpCisJCSpidWYgPSB4bWxTdHJjYXQoKmJ1ZiwgQkFEX0NBU1QgImF0b21pYyB0eXBlIik7CisJICAgIGVsc2UgaWYgKFdYU19JU19MSVNUKHR5cGUpKQorCQkqYnVmID0geG1sU3RyY2F0KCpidWYsIEJBRF9DQVNUICJsaXN0IHR5cGUiKTsKKwkgICAgZWxzZSBpZiAoV1hTX0lTX1VOSU9OKHR5cGUpKQorCQkqYnVmID0geG1sU3RyY2F0KCpidWYsIEJBRF9DQVNUICJ1bmlvbiB0eXBlIik7CisJICAgIGVsc2UKKwkJKmJ1ZiA9IHhtbFN0cmNhdCgqYnVmLCBCQURfQ0FTVCAic2ltcGxlIHR5cGUiKTsKKwkgICAgaWYgKHR5cGUtPmZsYWdzICYgWE1MX1NDSEVNQVNfVFlQRV9HTE9CQUwpIHsKKwkJKmJ1ZiA9IHhtbFN0cmNhdCgqYnVmLCBCQURfQ0FTVCAiICciKTsKKwkJKmJ1ZiA9IHhtbFN0cmNhdCgqYnVmLCB0eXBlLT5uYW1lKTsKKwkJKmJ1ZiA9IHhtbFN0cmNhdCgqYnVmLCBCQURfQ0FTVCAiJyIpOworCSAgICB9CisJICAgIH0KKwkgICAgYnJlYWs7CisJY2FzZSBYTUxfU0NIRU1BX1RZUEVfQ09NUExFWDogeworCSAgICB4bWxTY2hlbWFUeXBlUHRyIHR5cGUgPSBXWFNfVFlQRV9DQVNUIGl0ZW07CisKKwkgICAgaWYgKHR5cGUtPmZsYWdzICYgWE1MX1NDSEVNQVNfVFlQRV9HTE9CQUwpCisJCSpidWYgPSB4bWxTdHJkdXAoQkFEX0NBU1QgIiIpOworCSAgICBlbHNlCisJCSpidWYgPSB4bWxTdHJkdXAoQkFEX0NBU1QgImxvY2FsICIpOworCSAgICAqYnVmID0geG1sU3RyY2F0KCpidWYsIEJBRF9DQVNUICJjb21wbGV4IHR5cGUiKTsKKwkgICAgaWYgKHR5cGUtPmZsYWdzICYgWE1MX1NDSEVNQVNfVFlQRV9HTE9CQUwpIHsKKwkJKmJ1ZiA9IHhtbFN0cmNhdCgqYnVmLCBCQURfQ0FTVCAiICciKTsKKwkJKmJ1ZiA9IHhtbFN0cmNhdCgqYnVmLCB0eXBlLT5uYW1lKTsKKwkJKmJ1ZiA9IHhtbFN0cmNhdCgqYnVmLCBCQURfQ0FTVCAiJyIpOworCSAgICB9CisJICAgIH0KKwkgICAgYnJlYWs7CisJY2FzZSBYTUxfU0NIRU1BX1RZUEVfQVRUUklCVVRFX1VTRTogeworCQl4bWxTY2hlbWFBdHRyaWJ1dGVVc2VQdHIgYXVzZTsKKworCQlhdXNlID0gV1hTX0FUVFJfVVNFX0NBU1QgaXRlbTsKKwkJKmJ1ZiA9IHhtbFN0cmR1cChCQURfQ0FTVCAiYXR0cmlidXRlIHVzZSAiKTsKKwkJaWYgKFdYU19BVFRSVVNFX0RFQ0woYXVzZSkgIT0gTlVMTCkgeworCQkgICAgKmJ1ZiA9IHhtbFN0cmNhdCgqYnVmLCBCQURfQ0FTVCAiJyIpOworCQkgICAgKmJ1ZiA9IHhtbFN0cmNhdCgqYnVmLAorCQkJeG1sU2NoZW1hR2V0Q29tcG9uZW50UU5hbWUoJnN0ciwgV1hTX0FUVFJVU0VfREVDTChhdXNlKSkpOworCQkgICAgRlJFRV9BTkRfTlVMTChzdHIpCisJCQkqYnVmID0geG1sU3RyY2F0KCpidWYsIEJBRF9DQVNUICInIik7CisJCX0gZWxzZSB7CisJCSAgICAqYnVmID0geG1sU3RyY2F0KCpidWYsIEJBRF9DQVNUICIodW5rbm93bikiKTsKKwkJfQorCSAgICB9CisJICAgIGJyZWFrOworCWNhc2UgWE1MX1NDSEVNQV9UWVBFX0FUVFJJQlVURTogeworCQl4bWxTY2hlbWFBdHRyaWJ1dGVQdHIgYXR0cjsKKworCQlhdHRyID0gKHhtbFNjaGVtYUF0dHJpYnV0ZVB0cikgaXRlbTsKKwkJKmJ1ZiA9IHhtbFN0cmR1cChCQURfQ0FTVCAiYXR0cmlidXRlIGRlY2wuIik7CisJCSpidWYgPSB4bWxTdHJjYXQoKmJ1ZiwgQkFEX0NBU1QgIiAnIik7CisJCSpidWYgPSB4bWxTdHJjYXQoKmJ1ZiwgeG1sU2NoZW1hRm9ybWF0UU5hbWUoJnN0ciwKKwkJICAgIGF0dHItPnRhcmdldE5hbWVzcGFjZSwgYXR0ci0+bmFtZSkpOworCQlGUkVFX0FORF9OVUxMKHN0cikKKwkJICAgICpidWYgPSB4bWxTdHJjYXQoKmJ1ZiwgQkFEX0NBU1QgIiciKTsKKwkgICAgfQorCSAgICBicmVhazsKKwljYXNlIFhNTF9TQ0hFTUFfVFlQRV9BVFRSSUJVVEVHUk9VUDoKKwkgICAgeG1sU2NoZW1hR2V0Q29tcG9uZW50RGVzaWduYXRpb24oYnVmLCBpdGVtKTsKKwkgICAgYnJlYWs7CisJY2FzZSBYTUxfU0NIRU1BX1RZUEVfRUxFTUVOVDogeworCQl4bWxTY2hlbWFFbGVtZW50UHRyIGVsZW07CisKKwkJZWxlbSA9ICh4bWxTY2hlbWFFbGVtZW50UHRyKSBpdGVtOworCQkqYnVmID0geG1sU3RyZHVwKEJBRF9DQVNUICJlbGVtZW50IGRlY2wuIik7CisJCSpidWYgPSB4bWxTdHJjYXQoKmJ1ZiwgQkFEX0NBU1QgIiAnIik7CisJCSpidWYgPSB4bWxTdHJjYXQoKmJ1ZiwgeG1sU2NoZW1hRm9ybWF0UU5hbWUoJnN0ciwKKwkJICAgIGVsZW0tPnRhcmdldE5hbWVzcGFjZSwgZWxlbS0+bmFtZSkpOworCQkqYnVmID0geG1sU3RyY2F0KCpidWYsIEJBRF9DQVNUICInIik7CisJICAgIH0KKwkgICAgYnJlYWs7CisJY2FzZSBYTUxfU0NIRU1BX1RZUEVfSURDX1VOSVFVRToKKwljYXNlIFhNTF9TQ0hFTUFfVFlQRV9JRENfS0VZOgorCWNhc2UgWE1MX1NDSEVNQV9UWVBFX0lEQ19LRVlSRUY6CisJICAgIGlmIChpdGVtLT50eXBlID09IFhNTF9TQ0hFTUFfVFlQRV9JRENfVU5JUVVFKQorCQkqYnVmID0geG1sU3RyZHVwKEJBRF9DQVNUICJ1bmlxdWUgJyIpOworCSAgICBlbHNlIGlmIChpdGVtLT50eXBlID09IFhNTF9TQ0hFTUFfVFlQRV9JRENfS0VZKQorCQkqYnVmID0geG1sU3RyZHVwKEJBRF9DQVNUICJrZXkgJyIpOworCSAgICBlbHNlCisJCSpidWYgPSB4bWxTdHJkdXAoQkFEX0NBU1QgImtleVJlZiAnIik7CisJICAgICpidWYgPSB4bWxTdHJjYXQoKmJ1ZiwgKCh4bWxTY2hlbWFJRENQdHIpIGl0ZW0pLT5uYW1lKTsKKwkgICAgKmJ1ZiA9IHhtbFN0cmNhdCgqYnVmLCBCQURfQ0FTVCAiJyIpOworCSAgICBicmVhazsKKwljYXNlIFhNTF9TQ0hFTUFfVFlQRV9BTlk6CisJY2FzZSBYTUxfU0NIRU1BX1RZUEVfQU5ZX0FUVFJJQlVURToKKwkgICAgKmJ1ZiA9IHhtbFN0cmR1cCh4bWxTY2hlbWFXaWxkY2FyZFBDVG9TdHJpbmcoCisJCSAgICAoKHhtbFNjaGVtYVdpbGRjYXJkUHRyKSBpdGVtKS0+cHJvY2Vzc0NvbnRlbnRzKSk7CisJICAgICpidWYgPSB4bWxTdHJjYXQoKmJ1ZiwgQkFEX0NBU1QgIiB3aWxkY2FyZCIpOworCSAgICBicmVhazsKKwljYXNlIFhNTF9TQ0hFTUFfRkFDRVRfTUlOSU5DTFVTSVZFOgorCWNhc2UgWE1MX1NDSEVNQV9GQUNFVF9NSU5FWENMVVNJVkU6CisJY2FzZSBYTUxfU0NIRU1BX0ZBQ0VUX01BWElOQ0xVU0lWRToKKwljYXNlIFhNTF9TQ0hFTUFfRkFDRVRfTUFYRVhDTFVTSVZFOgorCWNhc2UgWE1MX1NDSEVNQV9GQUNFVF9UT1RBTERJR0lUUzoKKwljYXNlIFhNTF9TQ0hFTUFfRkFDRVRfRlJBQ1RJT05ESUdJVFM6CisJY2FzZSBYTUxfU0NIRU1BX0ZBQ0VUX1BBVFRFUk46CisJY2FzZSBYTUxfU0NIRU1BX0ZBQ0VUX0VOVU1FUkFUSU9OOgorCWNhc2UgWE1MX1NDSEVNQV9GQUNFVF9XSElURVNQQUNFOgorCWNhc2UgWE1MX1NDSEVNQV9GQUNFVF9MRU5HVEg6CisJY2FzZSBYTUxfU0NIRU1BX0ZBQ0VUX01BWExFTkdUSDoKKwljYXNlIFhNTF9TQ0hFTUFfRkFDRVRfTUlOTEVOR1RIOgorCSAgICAqYnVmID0geG1sU3RyZHVwKEJBRF9DQVNUICJmYWNldCAnIik7CisJICAgICpidWYgPSB4bWxTdHJjYXQoKmJ1ZiwgeG1sU2NoZW1hRmFjZXRUeXBlVG9TdHJpbmcoaXRlbS0+dHlwZSkpOworCSAgICAqYnVmID0geG1sU3RyY2F0KCpidWYsIEJBRF9DQVNUICInIik7CisJICAgIGJyZWFrOworCWNhc2UgWE1MX1NDSEVNQV9UWVBFX0dST1VQOiB7CisJCSpidWYgPSB4bWxTdHJkdXAoQkFEX0NBU1QgIm1vZGVsIGdyb3VwIGRlZi4iKTsKKwkJKmJ1ZiA9IHhtbFN0cmNhdCgqYnVmLCBCQURfQ0FTVCAiICciKTsKKwkJKmJ1ZiA9IHhtbFN0cmNhdCgqYnVmLCB4bWxTY2hlbWFHZXRDb21wb25lbnRRTmFtZSgmc3RyLCBpdGVtKSk7CisJCSpidWYgPSB4bWxTdHJjYXQoKmJ1ZiwgQkFEX0NBU1QgIiciKTsKKwkJRlJFRV9BTkRfTlVMTChzdHIpCisJICAgIH0KKwkgICAgYnJlYWs7CisJY2FzZSBYTUxfU0NIRU1BX1RZUEVfU0VRVUVOQ0U6CisJY2FzZSBYTUxfU0NIRU1BX1RZUEVfQ0hPSUNFOgorCWNhc2UgWE1MX1NDSEVNQV9UWVBFX0FMTDoKKwljYXNlIFhNTF9TQ0hFTUFfVFlQRV9QQVJUSUNMRToKKwkgICAgKmJ1ZiA9IHhtbFN0cmR1cChXWFNfSVRFTV9UWVBFX05BTUUoaXRlbSkpOworCSAgICBicmVhazsKKwljYXNlIFhNTF9TQ0hFTUFfVFlQRV9OT1RBVElPTjogeworCQkqYnVmID0geG1sU3RyZHVwKFdYU19JVEVNX1RZUEVfTkFNRShpdGVtKSk7CisJCSpidWYgPSB4bWxTdHJjYXQoKmJ1ZiwgQkFEX0NBU1QgIiAnIik7CisJCSpidWYgPSB4bWxTdHJjYXQoKmJ1ZiwgeG1sU2NoZW1hR2V0Q29tcG9uZW50UU5hbWUoJnN0ciwgaXRlbSkpOworCQkqYnVmID0geG1sU3RyY2F0KCpidWYsIEJBRF9DQVNUICInIik7CisJCUZSRUVfQU5EX05VTEwoc3RyKTsKKwkgICAgfQorCWRlZmF1bHQ6CisJICAgIG5hbWVkID0gMDsKKwl9CisgICAgfSBlbHNlCisJbmFtZWQgPSAwOworCisgICAgaWYgKChuYW1lZCA9PSAwKSAmJiAoaXRlbU5vZGUgIT0gTlVMTCkpIHsKKwl4bWxOb2RlUHRyIGVsZW07CisKKwlpZiAoaXRlbU5vZGUtPnR5cGUgPT0gWE1MX0FUVFJJQlVURV9OT0RFKQorCSAgICBlbGVtID0gaXRlbU5vZGUtPnBhcmVudDsKKwllbHNlCisJICAgIGVsZW0gPSBpdGVtTm9kZTsKKwkqYnVmID0geG1sU3RyZHVwKEJBRF9DQVNUICJFbGVtZW50ICciKTsKKwlpZiAoZWxlbS0+bnMgIT0gTlVMTCkgeworCSAgICAqYnVmID0geG1sU3RyY2F0KCpidWYsCisJCXhtbFNjaGVtYUZvcm1hdFFOYW1lKCZzdHIsIGVsZW0tPm5zLT5ocmVmLCBlbGVtLT5uYW1lKSk7CisJICAgIEZSRUVfQU5EX05VTEwoc3RyKQorCX0gZWxzZQorCSAgICAqYnVmID0geG1sU3RyY2F0KCpidWYsIGVsZW0tPm5hbWUpOworCSpidWYgPSB4bWxTdHJjYXQoKmJ1ZiwgQkFEX0NBU1QgIiciKTsKKworICAgIH0KKyAgICBpZiAoKGl0ZW1Ob2RlICE9IE5VTEwpICYmIChpdGVtTm9kZS0+dHlwZSA9PSBYTUxfQVRUUklCVVRFX05PREUpKSB7CisJKmJ1ZiA9IHhtbFN0cmNhdCgqYnVmLCBCQURfQ0FTVCAiLCBhdHRyaWJ1dGUgJyIpOworCWlmIChpdGVtTm9kZS0+bnMgIT0gTlVMTCkgeworCSAgICAqYnVmID0geG1sU3RyY2F0KCpidWYsIHhtbFNjaGVtYUZvcm1hdFFOYW1lKCZzdHIsCisJCWl0ZW1Ob2RlLT5ucy0+aHJlZiwgaXRlbU5vZGUtPm5hbWUpKTsKKwkgICAgRlJFRV9BTkRfTlVMTChzdHIpCisJfSBlbHNlCisJICAgICpidWYgPSB4bWxTdHJjYXQoKmJ1ZiwgaXRlbU5vZGUtPm5hbWUpOworCSpidWYgPSB4bWxTdHJjYXQoKmJ1ZiwgQkFEX0NBU1QgIiciKTsKKyAgICB9CisgICAgRlJFRV9BTkRfTlVMTChzdHIpCisKKyAgICByZXR1cm4gKCpidWYpOworfQorCisvKioKKyAqIHhtbFNjaGVtYUZvcm1hdEZhY2V0RW51bVNldDoKKyAqIEBidWY6IHRoZSBzdHJpbmcgYnVmZmVyCisgKiBAdHlwZTogdGhlIHR5cGUgaG9sZGluZyB0aGUgZW51bWVyYXRpb24gZmFjZXRzCisgKgorICogQnVpbGRzIGEgc3RyaW5nIGNvbnNpc3Rpbmcgb2YgYWxsIGVudW1lcmF0aW9uIGVsZW1lbnRzLgorICoKKyAqIFJldHVybnMgYSBzdHJpbmcgb2YgYWxsIGVudW1lcmF0aW9uIGVsZW1lbnRzLgorICovCitzdGF0aWMgY29uc3QgeG1sQ2hhciAqCit4bWxTY2hlbWFGb3JtYXRGYWNldEVudW1TZXQoeG1sU2NoZW1hQWJzdHJhY3RDdHh0UHRyIGFjdHh0LAorCQkJICAgIHhtbENoYXIgKipidWYsIHhtbFNjaGVtYVR5cGVQdHIgdHlwZSkKK3sKKyAgICB4bWxTY2hlbWFGYWNldFB0ciBmYWNldDsKKyAgICB4bWxTY2hlbWFXaGl0ZXNwYWNlVmFsdWVUeXBlIHdzOworICAgIHhtbENoYXIgKnZhbHVlID0gTlVMTDsKKyAgICBpbnQgcmVzLCBmb3VuZCA9IDA7CisKKyAgICBpZiAoKmJ1ZiAhPSBOVUxMKQorCXhtbEZyZWUoKmJ1Zik7CisgICAgKmJ1ZiA9IE5VTEw7CisKKyAgICBkbyB7CisJLyoKKwkqIFVzZSB0aGUgd2hpdGVzcGFjZSB0eXBlIG9mIHRoZSBiYXNlIHR5cGUuCisJKi8KKwl3cyA9IHhtbFNjaGVtYUdldFdoaXRlU3BhY2VGYWNldFZhbHVlKHR5cGUtPmJhc2VUeXBlKTsKKwlmb3IgKGZhY2V0ID0gdHlwZS0+ZmFjZXRzOyBmYWNldCAhPSBOVUxMOyBmYWNldCA9IGZhY2V0LT5uZXh0KSB7CisJICAgIGlmIChmYWNldC0+dHlwZSAhPSBYTUxfU0NIRU1BX0ZBQ0VUX0VOVU1FUkFUSU9OKQorCQljb250aW51ZTsKKwkgICAgZm91bmQgPSAxOworCSAgICByZXMgPSB4bWxTY2hlbWFHZXRDYW5vblZhbHVlV2h0c3BFeHQoZmFjZXQtPnZhbCwKKwkJd3MsICZ2YWx1ZSk7CisJICAgIGlmIChyZXMgPT0gLTEpIHsKKwkJeG1sU2NoZW1hSW50ZXJuYWxFcnIoYWN0eHQsCisJCSAgICAieG1sU2NoZW1hRm9ybWF0RmFjZXRFbnVtU2V0IiwKKwkJICAgICJjb21wdXRlIHRoZSBjYW5vbmljYWwgbGV4aWNhbCByZXByZXNlbnRhdGlvbiIpOworCQlpZiAoKmJ1ZiAhPSBOVUxMKQorCQkgICAgeG1sRnJlZSgqYnVmKTsKKwkJKmJ1ZiA9IE5VTEw7CisJCXJldHVybiAoTlVMTCk7CisJICAgIH0KKwkgICAgaWYgKCpidWYgPT0gTlVMTCkKKwkJKmJ1ZiA9IHhtbFN0cmR1cChCQURfQ0FTVCAiJyIpOworCSAgICBlbHNlCisJCSpidWYgPSB4bWxTdHJjYXQoKmJ1ZiwgQkFEX0NBU1QgIiwgJyIpOworCSAgICAqYnVmID0geG1sU3RyY2F0KCpidWYsIEJBRF9DQVNUIHZhbHVlKTsKKwkgICAgKmJ1ZiA9IHhtbFN0cmNhdCgqYnVmLCBCQURfQ0FTVCAiJyIpOworCSAgICBpZiAodmFsdWUgIT0gTlVMTCkgeworCQl4bWxGcmVlKCh4bWxDaGFyICopdmFsdWUpOworCQl2YWx1ZSA9IE5VTEw7CisJICAgIH0KKwl9CisJLyoKKwkqIFRoZSBlbnVtZXJhdGlvbiBmYWNldCBvZiBhIHR5cGUgcmVzdHJpY3RzIHRoZSBlbnVtZXJhdGlvbgorCSogZmFjZXQgb2YgdGhlIGFuY2VzdG9yIHR5cGU7IGkuZS4sIHN1Y2ggcmVzdHJpY3RlZCBlbnVtZXJhdGlvbnMKKwkqIGRvIG5vdCBiZWxvbmcgdG8gdGhlIHNldCBvZiB0aGUgZ2l2ZW4gdHlwZS4gVGh1cyB3ZSBicmVhaworCSogb24gdGhlIGZpcnN0IGZvdW5kIGVudW1lcmF0aW9uLgorCSovCisJaWYgKGZvdW5kKQorCSAgICBicmVhazsKKwl0eXBlID0gdHlwZS0+YmFzZVR5cGU7CisgICAgfSB3aGlsZSAoKHR5cGUgIT0gTlVMTCkgJiYgKHR5cGUtPnR5cGUgIT0gWE1MX1NDSEVNQV9UWVBFX0JBU0lDKSk7CisKKyAgICByZXR1cm4gKChjb25zdCB4bWxDaGFyICopICpidWYpOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQkJRXJyb3IgZnVuY3Rpb25zCQkJCSAgICAgICAgKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWYgMAorc3RhdGljIHZvaWQKK3htbFNjaGVtYUVyck1lbW9yeShjb25zdCBjaGFyICptc2cpCit7CisgICAgX194bWxTaW1wbGVFcnJvcihYTUxfRlJPTV9TQ0hFTUFTUCwgWE1MX0VSUl9OT19NRU1PUlksIE5VTEwsIE5VTEwsCisgICAgICAgICAgICAgICAgICAgICBtc2cpOworfQorI2VuZGlmCisKK3N0YXRpYyB2b2lkCit4bWxTY2hlbWFQU2ltcGxlRXJyKGNvbnN0IGNoYXIgKm1zZykKK3sKKyAgICBfX3htbFNpbXBsZUVycm9yKFhNTF9GUk9NX1NDSEVNQVNQLCBYTUxfRVJSX05PX01FTU9SWSwgTlVMTCwgTlVMTCwKKyAgICAgICAgICAgICAgICAgICAgIG1zZyk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hUEVyck1lbW9yeToKKyAqIEBub2RlOiBhIGNvbnRleHQgbm9kZQorICogQGV4dHJhOiAgZXh0cmEgaW5mb3JtYXRpb25zCisgKgorICogSGFuZGxlIGFuIG91dCBvZiBtZW1vcnkgY29uZGl0aW9uCisgKi8KK3N0YXRpYyB2b2lkCit4bWxTY2hlbWFQRXJyTWVtb3J5KHhtbFNjaGVtYVBhcnNlckN0eHRQdHIgY3R4dCwKKyAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZXh0cmEsIHhtbE5vZGVQdHIgbm9kZSkKK3sKKyAgICBpZiAoY3R4dCAhPSBOVUxMKQorICAgICAgICBjdHh0LT5uYmVycm9ycysrOworICAgIF9feG1sU2ltcGxlRXJyb3IoWE1MX0ZST01fU0NIRU1BU1AsIFhNTF9FUlJfTk9fTUVNT1JZLCBub2RlLCBOVUxMLAorICAgICAgICAgICAgICAgICAgICAgZXh0cmEpOworfQorCisvKioKKyAqIHhtbFNjaGVtYVBFcnI6CisgKiBAY3R4dDogdGhlIHBhcnNpbmcgY29udGV4dAorICogQG5vZGU6IHRoZSBjb250ZXh0IG5vZGUKKyAqIEBlcnJvcjogdGhlIGVycm9yIGNvZGUKKyAqIEBtc2c6IHRoZSBlcnJvciBtZXNzYWdlCisgKiBAc3RyMTogZXh0cmEgZGF0YQorICogQHN0cjI6IGV4dHJhIGRhdGEKKyAqCisgKiBIYW5kbGUgYSBwYXJzZXIgZXJyb3IKKyAqLworc3RhdGljIHZvaWQKK3htbFNjaGVtYVBFcnIoeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBjdHh0LCB4bWxOb2RlUHRyIG5vZGUsIGludCBlcnJvciwKKyAgICAgICAgICAgICAgY29uc3QgY2hhciAqbXNnLCBjb25zdCB4bWxDaGFyICogc3RyMSwgY29uc3QgeG1sQ2hhciAqIHN0cjIpCit7CisgICAgeG1sR2VuZXJpY0Vycm9yRnVuYyBjaGFubmVsID0gTlVMTDsKKyAgICB4bWxTdHJ1Y3R1cmVkRXJyb3JGdW5jIHNjaGFubmVsID0gTlVMTDsKKyAgICB2b2lkICpkYXRhID0gTlVMTDsKKworICAgIGlmIChjdHh0ICE9IE5VTEwpIHsKKyAgICAgICAgY3R4dC0+bmJlcnJvcnMrKzsKKwljdHh0LT5lcnIgPSBlcnJvcjsKKyAgICAgICAgY2hhbm5lbCA9IGN0eHQtPmVycm9yOworICAgICAgICBkYXRhID0gY3R4dC0+ZXJyQ3R4dDsKKwlzY2hhbm5lbCA9IGN0eHQtPnNlcnJvcjsKKyAgICB9CisgICAgX194bWxSYWlzZUVycm9yKHNjaGFubmVsLCBjaGFubmVsLCBkYXRhLCBjdHh0LCBub2RlLCBYTUxfRlJPTV9TQ0hFTUFTUCwKKyAgICAgICAgICAgICAgICAgICAgZXJyb3IsIFhNTF9FUlJfRVJST1IsIE5VTEwsIDAsCisgICAgICAgICAgICAgICAgICAgIChjb25zdCBjaGFyICopIHN0cjEsIChjb25zdCBjaGFyICopIHN0cjIsIE5VTEwsIDAsIDAsCisgICAgICAgICAgICAgICAgICAgIG1zZywgc3RyMSwgc3RyMik7Cit9CisKKy8qKgorICogeG1sU2NoZW1hUEVycjI6CisgKiBAY3R4dDogdGhlIHBhcnNpbmcgY29udGV4dAorICogQG5vZGU6IHRoZSBjb250ZXh0IG5vZGUKKyAqIEBub2RlOiB0aGUgY3VycmVudCBjaGlsZAorICogQGVycm9yOiB0aGUgZXJyb3IgY29kZQorICogQG1zZzogdGhlIGVycm9yIG1lc3NhZ2UKKyAqIEBzdHIxOiBleHRyYSBkYXRhCisgKiBAc3RyMjogZXh0cmEgZGF0YQorICoKKyAqIEhhbmRsZSBhIHBhcnNlciBlcnJvcgorICovCitzdGF0aWMgdm9pZAoreG1sU2NoZW1hUEVycjIoeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBjdHh0LCB4bWxOb2RlUHRyIG5vZGUsCisgICAgICAgICAgICAgICB4bWxOb2RlUHRyIGNoaWxkLCBpbnQgZXJyb3IsCisgICAgICAgICAgICAgICBjb25zdCBjaGFyICptc2csIGNvbnN0IHhtbENoYXIgKiBzdHIxLCBjb25zdCB4bWxDaGFyICogc3RyMikKK3sKKyAgICBpZiAoY2hpbGQgIT0gTlVMTCkKKyAgICAgICAgeG1sU2NoZW1hUEVycihjdHh0LCBjaGlsZCwgZXJyb3IsIG1zZywgc3RyMSwgc3RyMik7CisgICAgZWxzZQorICAgICAgICB4bWxTY2hlbWFQRXJyKGN0eHQsIG5vZGUsIGVycm9yLCBtc2csIHN0cjEsIHN0cjIpOworfQorCisKKy8qKgorICogeG1sU2NoZW1hUEVyckV4dDoKKyAqIEBjdHh0OiB0aGUgcGFyc2luZyBjb250ZXh0CisgKiBAbm9kZTogdGhlIGNvbnRleHQgbm9kZQorICogQGVycm9yOiB0aGUgZXJyb3IgY29kZQorICogQHN0ckRhdGExOiBleHRyYSBkYXRhCisgKiBAc3RyRGF0YTI6IGV4dHJhIGRhdGEKKyAqIEBzdHJEYXRhMzogZXh0cmEgZGF0YQorICogQG1zZzogdGhlIG1lc3NhZ2UKKyAqIEBzdHIxOiAgZXh0cmEgcGFyYW1ldGVyIGZvciB0aGUgbWVzc2FnZSBkaXNwbGF5CisgKiBAc3RyMjogIGV4dHJhIHBhcmFtZXRlciBmb3IgdGhlIG1lc3NhZ2UgZGlzcGxheQorICogQHN0cjM6ICBleHRyYSBwYXJhbWV0ZXIgZm9yIHRoZSBtZXNzYWdlIGRpc3BsYXkKKyAqIEBzdHI0OiAgZXh0cmEgcGFyYW1ldGVyIGZvciB0aGUgbWVzc2FnZSBkaXNwbGF5CisgKiBAc3RyNTogIGV4dHJhIHBhcmFtZXRlciBmb3IgdGhlIG1lc3NhZ2UgZGlzcGxheQorICoKKyAqIEhhbmRsZSBhIHBhcnNlciBlcnJvcgorICovCitzdGF0aWMgdm9pZAoreG1sU2NoZW1hUEVyckV4dCh4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIGN0eHQsIHhtbE5vZGVQdHIgbm9kZSwgaW50IGVycm9yLAorCQljb25zdCB4bWxDaGFyICogc3RyRGF0YTEsIGNvbnN0IHhtbENoYXIgKiBzdHJEYXRhMiwKKwkJY29uc3QgeG1sQ2hhciAqIHN0ckRhdGEzLCBjb25zdCBjaGFyICptc2csIGNvbnN0IHhtbENoYXIgKiBzdHIxLAorCQljb25zdCB4bWxDaGFyICogc3RyMiwgY29uc3QgeG1sQ2hhciAqIHN0cjMsIGNvbnN0IHhtbENoYXIgKiBzdHI0LAorCQljb25zdCB4bWxDaGFyICogc3RyNSkKK3sKKworICAgIHhtbEdlbmVyaWNFcnJvckZ1bmMgY2hhbm5lbCA9IE5VTEw7CisgICAgeG1sU3RydWN0dXJlZEVycm9yRnVuYyBzY2hhbm5lbCA9IE5VTEw7CisgICAgdm9pZCAqZGF0YSA9IE5VTEw7CisKKyAgICBpZiAoY3R4dCAhPSBOVUxMKSB7CisgICAgICAgIGN0eHQtPm5iZXJyb3JzKys7CisJY3R4dC0+ZXJyID0gZXJyb3I7CisgICAgICAgIGNoYW5uZWwgPSBjdHh0LT5lcnJvcjsKKyAgICAgICAgZGF0YSA9IGN0eHQtPmVyckN0eHQ7CisJc2NoYW5uZWwgPSBjdHh0LT5zZXJyb3I7CisgICAgfQorICAgIF9feG1sUmFpc2VFcnJvcihzY2hhbm5lbCwgY2hhbm5lbCwgZGF0YSwgY3R4dCwgbm9kZSwgWE1MX0ZST01fU0NIRU1BU1AsCisgICAgICAgICAgICAgICAgICAgIGVycm9yLCBYTUxfRVJSX0VSUk9SLCBOVUxMLCAwLAorICAgICAgICAgICAgICAgICAgICAoY29uc3QgY2hhciAqKSBzdHJEYXRhMSwgKGNvbnN0IGNoYXIgKikgc3RyRGF0YTIsCisJCSAgICAoY29uc3QgY2hhciAqKSBzdHJEYXRhMywgMCwgMCwgbXNnLCBzdHIxLCBzdHIyLAorCQkgICAgc3RyMywgc3RyNCwgc3RyNSk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCQlBbGxyb3VuZCBlcnJvciBmdW5jdGlvbnMJCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKgorICogeG1sU2NoZW1hVlR5cGVFcnJNZW1vcnk6CisgKiBAbm9kZTogYSBjb250ZXh0IG5vZGUKKyAqIEBleHRyYTogIGV4dHJhIGluZm9ybWF0aW9ucworICoKKyAqIEhhbmRsZSBhbiBvdXQgb2YgbWVtb3J5IGNvbmRpdGlvbgorICovCitzdGF0aWMgdm9pZAoreG1sU2NoZW1hVkVyck1lbW9yeSh4bWxTY2hlbWFWYWxpZEN0eHRQdHIgY3R4dCwKKyAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZXh0cmEsIHhtbE5vZGVQdHIgbm9kZSkKK3sKKyAgICBpZiAoY3R4dCAhPSBOVUxMKSB7CisgICAgICAgIGN0eHQtPm5iZXJyb3JzKys7CisgICAgICAgIGN0eHQtPmVyciA9IFhNTF9TQ0hFTUFWX0lOVEVSTkFMOworICAgIH0KKyAgICBfX3htbFNpbXBsZUVycm9yKFhNTF9GUk9NX1NDSEVNQVNWLCBYTUxfRVJSX05PX01FTU9SWSwgbm9kZSwgTlVMTCwKKyAgICAgICAgICAgICAgICAgICAgIGV4dHJhKTsKK30KKworc3RhdGljIHZvaWQKK3htbFNjaGVtYVBTaW1wbGVJbnRlcm5hbEVycih4bWxOb2RlUHRyIG5vZGUsCisJCQkgICAgY29uc3QgY2hhciAqbXNnLCBjb25zdCB4bWxDaGFyICpzdHIpCit7CisgICAgIF9feG1sU2ltcGxlRXJyb3IoWE1MX0ZST01fU0NIRU1BU1AsIFhNTF9TQ0hFTUFQX0lOVEVSTkFMLCBub2RlLAorCSBtc2csIChjb25zdCBjaGFyICopIHN0cik7Cit9CisKKyNkZWZpbmUgV1hTX0VSUk9SX1RZUEVfRVJST1IgMQorI2RlZmluZSBXWFNfRVJST1JfVFlQRV9XQVJOSU5HIDIKKy8qKgorICogeG1sU2NoZW1hRXJyMzoKKyAqIEBjdHh0OiB0aGUgdmFsaWRhdGlvbiBjb250ZXh0CisgKiBAbm9kZTogdGhlIGNvbnRleHQgbm9kZQorICogQGVycm9yOiB0aGUgZXJyb3IgY29kZQorICogQG1zZzogdGhlIGVycm9yIG1lc3NhZ2UKKyAqIEBzdHIxOiBleHRyYSBkYXRhCisgKiBAc3RyMjogZXh0cmEgZGF0YQorICogQHN0cjM6IGV4dHJhIGRhdGEKKyAqCisgKiBIYW5kbGUgYSB2YWxpZGF0aW9uIGVycm9yCisgKi8KK3N0YXRpYyB2b2lkCit4bWxTY2hlbWFFcnI0TGluZSh4bWxTY2hlbWFBYnN0cmFjdEN0eHRQdHIgY3R4dCwKKwkJICB4bWxFcnJvckxldmVsIGVycm9yTGV2ZWwsCisJCSAgaW50IGVycm9yLCB4bWxOb2RlUHRyIG5vZGUsIGludCBsaW5lLCBjb25zdCBjaGFyICptc2csCisJCSAgY29uc3QgeG1sQ2hhciAqc3RyMSwgY29uc3QgeG1sQ2hhciAqc3RyMiwKKwkJICBjb25zdCB4bWxDaGFyICpzdHIzLCBjb25zdCB4bWxDaGFyICpzdHI0KQoreworICAgIHhtbFN0cnVjdHVyZWRFcnJvckZ1bmMgc2NoYW5uZWwgPSBOVUxMOworICAgIHhtbEdlbmVyaWNFcnJvckZ1bmMgY2hhbm5lbCA9IE5VTEw7CisgICAgdm9pZCAqZGF0YSA9IE5VTEw7CisKKyAgICBpZiAoY3R4dCAhPSBOVUxMKSB7CisJaWYgKGN0eHQtPnR5cGUgPT0gWE1MX1NDSEVNQV9DVFhUX1ZBTElEQVRPUikgeworCSAgICB4bWxTY2hlbWFWYWxpZEN0eHRQdHIgdmN0eHQgPSAoeG1sU2NoZW1hVmFsaWRDdHh0UHRyKSBjdHh0OworCSAgICBjb25zdCBjaGFyICpmaWxlID0gTlVMTDsKKwkgICAgaW50IGNvbCA9IDA7CisJICAgIGlmIChlcnJvckxldmVsICE9IFhNTF9FUlJfV0FSTklORykgeworCQl2Y3R4dC0+bmJlcnJvcnMrKzsKKwkJdmN0eHQtPmVyciA9IGVycm9yOworCQljaGFubmVsID0gdmN0eHQtPmVycm9yOworCSAgICB9IGVsc2UgeworCQljaGFubmVsID0gdmN0eHQtPndhcm5pbmc7CisJICAgIH0KKwkgICAgc2NoYW5uZWwgPSB2Y3R4dC0+c2Vycm9yOworCSAgICBkYXRhID0gdmN0eHQtPmVyckN0eHQ7CisKKwkgICAgLyoKKwkgICAgKiBFcnJvciBub2RlLiBJZiB3ZSBzcGVjaWZ5IGEgbGluZSBudW1iZXIsIHRoZW4KKwkgICAgKiBkbyBub3QgY2hhbm5lbCBhbnkgbm9kZSB0byB0aGUgZXJyb3IgZnVuY3Rpb24uCisJICAgICovCisJICAgIGlmIChsaW5lID09IDApIHsKKwkJaWYgKChub2RlID09IE5VTEwpICYmCisJCSAgICAodmN0eHQtPmRlcHRoID49IDApICYmCisJCSAgICAodmN0eHQtPmlub2RlICE9IE5VTEwpKSB7CisJCSAgICBub2RlID0gdmN0eHQtPmlub2RlLT5ub2RlOworCQl9CisJCS8qCisJCSogR2V0IGZpbGVuYW1lIGFuZCBsaW5lIGlmIG5vIG5vZGUtdHJlZS4KKwkJKi8KKwkJaWYgKChub2RlID09IE5VTEwpICYmCisJCSAgICAodmN0eHQtPnBhcnNlckN0eHQgIT0gTlVMTCkgJiYKKwkJICAgICh2Y3R4dC0+cGFyc2VyQ3R4dC0+aW5wdXQgIT0gTlVMTCkpIHsKKwkJICAgIGZpbGUgPSB2Y3R4dC0+cGFyc2VyQ3R4dC0+aW5wdXQtPmZpbGVuYW1lOworCQkgICAgbGluZSA9IHZjdHh0LT5wYXJzZXJDdHh0LT5pbnB1dC0+bGluZTsKKwkJICAgIGNvbCA9IHZjdHh0LT5wYXJzZXJDdHh0LT5pbnB1dC0+Y29sOworCQl9CisJICAgIH0gZWxzZSB7CisJCS8qCisJCSogT3ZlcnJpZGUgdGhlIGdpdmVuIG5vZGUncyAoaWYgYW55KSBwb3NpdGlvbgorCQkqIGFuZCBjaGFubmVsIG9ubHkgdGhlIGdpdmVuIGxpbmUgbnVtYmVyLgorCQkqLworCQlub2RlID0gTlVMTDsKKwkJLyoKKwkJKiBHZXQgZmlsZW5hbWUuCisJCSovCisJCWlmICh2Y3R4dC0+ZG9jICE9IE5VTEwpCisJCSAgICBmaWxlID0gKGNvbnN0IGNoYXIgKikgdmN0eHQtPmRvYy0+VVJMOworCQllbHNlIGlmICgodmN0eHQtPnBhcnNlckN0eHQgIT0gTlVMTCkgJiYKKwkJICAgICh2Y3R4dC0+cGFyc2VyQ3R4dC0+aW5wdXQgIT0gTlVMTCkpCisJCSAgICBmaWxlID0gdmN0eHQtPnBhcnNlckN0eHQtPmlucHV0LT5maWxlbmFtZTsKKwkgICAgfQorCSAgICBpZiAodmN0eHQtPmxvY0Z1bmMgIT0gTlVMTCkgeworCSAgICAgICAgaWYgKChmaWxlID09IE5VTEwpIHx8IChsaW5lID09IDApKSB7CisJCSAgICB1bnNpZ25lZCBsb25nIGw7CisJCSAgICBjb25zdCBjaGFyICpmOworCQkgICAgdmN0eHQtPmxvY0Z1bmModmN0eHQtPmxvY0N0eHQsICZmLCAmbCk7CisJCSAgICBpZiAoZmlsZSA9PSBOVUxMKQorCQkgICAgICAgIGZpbGUgPSBmOworCQkgICAgaWYgKGxpbmUgPT0gMCkKKwkJICAgICAgICBsaW5lID0gKGludCkgbDsKKwkJfQorCSAgICB9CisJICAgIGlmICgoZmlsZSA9PSBOVUxMKSAmJiAodmN0eHQtPmZpbGVuYW1lICE9IE5VTEwpKQorCSAgICAgICAgZmlsZSA9IHZjdHh0LT5maWxlbmFtZTsKKworCSAgICBfX3htbFJhaXNlRXJyb3Ioc2NoYW5uZWwsIGNoYW5uZWwsIGRhdGEsIGN0eHQsCisJCW5vZGUsIFhNTF9GUk9NX1NDSEVNQVNWLAorCQllcnJvciwgZXJyb3JMZXZlbCwgZmlsZSwgbGluZSwKKwkJKGNvbnN0IGNoYXIgKikgc3RyMSwgKGNvbnN0IGNoYXIgKikgc3RyMiwKKwkJKGNvbnN0IGNoYXIgKikgc3RyMywgMCwgY29sLCBtc2csIHN0cjEsIHN0cjIsIHN0cjMsIHN0cjQpOworCisJfSBlbHNlIGlmIChjdHh0LT50eXBlID09IFhNTF9TQ0hFTUFfQ1RYVF9QQVJTRVIpIHsKKwkgICAgeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBwY3R4dCA9ICh4bWxTY2hlbWFQYXJzZXJDdHh0UHRyKSBjdHh0OworCSAgICBpZiAoZXJyb3JMZXZlbCAhPSBYTUxfRVJSX1dBUk5JTkcpIHsKKwkJcGN0eHQtPm5iZXJyb3JzKys7CisJCXBjdHh0LT5lcnIgPSBlcnJvcjsKKwkJY2hhbm5lbCA9IHBjdHh0LT5lcnJvcjsKKwkgICAgfSBlbHNlIHsKKwkJY2hhbm5lbCA9IHBjdHh0LT53YXJuaW5nOworCSAgICB9CisJICAgIHNjaGFubmVsID0gcGN0eHQtPnNlcnJvcjsKKwkgICAgZGF0YSA9IHBjdHh0LT5lcnJDdHh0OworCSAgICBfX3htbFJhaXNlRXJyb3Ioc2NoYW5uZWwsIGNoYW5uZWwsIGRhdGEsIGN0eHQsCisJCW5vZGUsIFhNTF9GUk9NX1NDSEVNQVNQLCBlcnJvciwKKwkJZXJyb3JMZXZlbCwgTlVMTCwgMCwKKwkJKGNvbnN0IGNoYXIgKikgc3RyMSwgKGNvbnN0IGNoYXIgKikgc3RyMiwKKwkJKGNvbnN0IGNoYXIgKikgc3RyMywgMCwgMCwgbXNnLCBzdHIxLCBzdHIyLCBzdHIzLCBzdHI0KTsKKwl9IGVsc2UgeworCSAgICBUT0RPCisJfQorICAgIH0KK30KKworLyoqCisgKiB4bWxTY2hlbWFFcnIzOgorICogQGN0eHQ6IHRoZSB2YWxpZGF0aW9uIGNvbnRleHQKKyAqIEBub2RlOiB0aGUgY29udGV4dCBub2RlCisgKiBAZXJyb3I6IHRoZSBlcnJvciBjb2RlCisgKiBAbXNnOiB0aGUgZXJyb3IgbWVzc2FnZQorICogQHN0cjE6IGV4dHJhIGRhdGEKKyAqIEBzdHIyOiBleHRyYSBkYXRhCisgKiBAc3RyMzogZXh0cmEgZGF0YQorICoKKyAqIEhhbmRsZSBhIHZhbGlkYXRpb24gZXJyb3IKKyAqLworc3RhdGljIHZvaWQKK3htbFNjaGVtYUVycjMoeG1sU2NoZW1hQWJzdHJhY3RDdHh0UHRyIGFjdHh0LAorCSAgICAgIGludCBlcnJvciwgeG1sTm9kZVB0ciBub2RlLCBjb25zdCBjaGFyICptc2csCisJICAgICAgY29uc3QgeG1sQ2hhciAqc3RyMSwgY29uc3QgeG1sQ2hhciAqc3RyMiwgY29uc3QgeG1sQ2hhciAqc3RyMykKK3sKKyAgICB4bWxTY2hlbWFFcnI0TGluZShhY3R4dCwgWE1MX0VSUl9FUlJPUiwgZXJyb3IsIG5vZGUsIDAsCisJbXNnLCBzdHIxLCBzdHIyLCBzdHIzLCBOVUxMKTsKK30KKworc3RhdGljIHZvaWQKK3htbFNjaGVtYUVycjQoeG1sU2NoZW1hQWJzdHJhY3RDdHh0UHRyIGFjdHh0LAorCSAgICAgIGludCBlcnJvciwgeG1sTm9kZVB0ciBub2RlLCBjb25zdCBjaGFyICptc2csCisJICAgICAgY29uc3QgeG1sQ2hhciAqc3RyMSwgY29uc3QgeG1sQ2hhciAqc3RyMiwKKwkgICAgICBjb25zdCB4bWxDaGFyICpzdHIzLCBjb25zdCB4bWxDaGFyICpzdHI0KQoreworICAgIHhtbFNjaGVtYUVycjRMaW5lKGFjdHh0LCBYTUxfRVJSX0VSUk9SLCBlcnJvciwgbm9kZSwgMCwKKwltc2csIHN0cjEsIHN0cjIsIHN0cjMsIHN0cjQpOworfQorCitzdGF0aWMgdm9pZAoreG1sU2NoZW1hRXJyKHhtbFNjaGVtYUFic3RyYWN0Q3R4dFB0ciBhY3R4dCwKKwkgICAgIGludCBlcnJvciwgeG1sTm9kZVB0ciBub2RlLCBjb25zdCBjaGFyICptc2csCisJICAgICBjb25zdCB4bWxDaGFyICpzdHIxLCBjb25zdCB4bWxDaGFyICpzdHIyKQoreworICAgIHhtbFNjaGVtYUVycjQoYWN0eHQsIGVycm9yLCBub2RlLCBtc2csIHN0cjEsIHN0cjIsIE5VTEwsIE5VTEwpOworfQorCitzdGF0aWMgeG1sQ2hhciAqCit4bWxTY2hlbWFGb3JtYXROb2RlRm9yRXJyb3IoeG1sQ2hhciAqKiBtc2csCisJCQkgICAgeG1sU2NoZW1hQWJzdHJhY3RDdHh0UHRyIGFjdHh0LAorCQkJICAgIHhtbE5vZGVQdHIgbm9kZSkKK3sKKyAgICB4bWxDaGFyICpzdHIgPSBOVUxMOworCisgICAgKm1zZyA9IE5VTEw7CisgICAgaWYgKChub2RlICE9IE5VTEwpICYmCisJKG5vZGUtPnR5cGUgIT0gWE1MX0VMRU1FTlRfTk9ERSkgJiYKKwkobm9kZS0+dHlwZSAhPSBYTUxfQVRUUklCVVRFX05PREUpKQorICAgIHsKKwkvKgorCSogRG9uJ3QgdHJ5IHRvIGZvcm1hdCBvdGhlciBub2RlcyB0aGFuIGVsZW1lbnQgYW5kCisJKiBhdHRyaWJ1dGUgbm9kZXMuCisJKiBQbGF5IHNhdmUgYW5kIHJldHVybiBhbiBlbXB0eSBzdHJpbmcuCisJKi8KKwkqbXNnID0geG1sU3RyZHVwKEJBRF9DQVNUICIiKTsKKwlyZXR1cm4oKm1zZyk7CisgICAgfQorICAgIGlmIChub2RlICE9IE5VTEwpIHsKKwkvKgorCSogV29yayBvbiB0cmVlIG5vZGVzLgorCSovCisJaWYgKG5vZGUtPnR5cGUgPT0gWE1MX0FUVFJJQlVURV9OT0RFKSB7CisJICAgIHhtbE5vZGVQdHIgZWxlbSA9IG5vZGUtPnBhcmVudDsKKworCSAgICAqbXNnID0geG1sU3RyZHVwKEJBRF9DQVNUICJFbGVtZW50ICciKTsKKwkgICAgaWYgKGVsZW0tPm5zICE9IE5VTEwpCisJCSptc2cgPSB4bWxTdHJjYXQoKm1zZywgeG1sU2NoZW1hRm9ybWF0UU5hbWUoJnN0ciwKKwkJICAgIGVsZW0tPm5zLT5ocmVmLCBlbGVtLT5uYW1lKSk7CisJICAgIGVsc2UKKwkJKm1zZyA9IHhtbFN0cmNhdCgqbXNnLCB4bWxTY2hlbWFGb3JtYXRRTmFtZSgmc3RyLAorCQkgICAgTlVMTCwgZWxlbS0+bmFtZSkpOworCSAgICBGUkVFX0FORF9OVUxMKHN0cik7CisJICAgICptc2cgPSB4bWxTdHJjYXQoKm1zZywgQkFEX0NBU1QgIicsICIpOworCSAgICAqbXNnID0geG1sU3RyY2F0KCptc2csIEJBRF9DQVNUICJhdHRyaWJ1dGUgJyIpOworCX0gZWxzZSB7CisJICAgICptc2cgPSB4bWxTdHJkdXAoQkFEX0NBU1QgIkVsZW1lbnQgJyIpOworCX0KKwlpZiAobm9kZS0+bnMgIT0gTlVMTCkKKwkgICAgKm1zZyA9IHhtbFN0cmNhdCgqbXNnLCB4bWxTY2hlbWFGb3JtYXRRTmFtZSgmc3RyLAorCSAgICBub2RlLT5ucy0+aHJlZiwgbm9kZS0+bmFtZSkpOworCWVsc2UKKwkgICAgKm1zZyA9IHhtbFN0cmNhdCgqbXNnLCB4bWxTY2hlbWFGb3JtYXRRTmFtZSgmc3RyLAorCSAgICBOVUxMLCBub2RlLT5uYW1lKSk7CisJRlJFRV9BTkRfTlVMTChzdHIpOworCSptc2cgPSB4bWxTdHJjYXQoKm1zZywgQkFEX0NBU1QgIic6ICIpOworICAgIH0gZWxzZSBpZiAoYWN0eHQtPnR5cGUgPT0gWE1MX1NDSEVNQV9DVFhUX1ZBTElEQVRPUikgeworCXhtbFNjaGVtYVZhbGlkQ3R4dFB0ciB2Y3R4dCA9ICh4bWxTY2hlbWFWYWxpZEN0eHRQdHIpIGFjdHh0OworCS8qCisJKiBXb3JrIG9uIG5vZGUgaW5mb3MuCisJKi8KKwlpZiAodmN0eHQtPmlub2RlLT5ub2RlVHlwZSA9PSBYTUxfQVRUUklCVVRFX05PREUpIHsKKwkgICAgeG1sU2NoZW1hTm9kZUluZm9QdHIgaWVsZW0gPQorCQl2Y3R4dC0+ZWxlbUluZm9zW3ZjdHh0LT5kZXB0aF07CisKKwkgICAgKm1zZyA9IHhtbFN0cmR1cChCQURfQ0FTVCAiRWxlbWVudCAnIik7CisJICAgICptc2cgPSB4bWxTdHJjYXQoKm1zZywgeG1sU2NoZW1hRm9ybWF0UU5hbWUoJnN0ciwKKwkJaWVsZW0tPm5zTmFtZSwgaWVsZW0tPmxvY2FsTmFtZSkpOworCSAgICBGUkVFX0FORF9OVUxMKHN0cik7CisJICAgICptc2cgPSB4bWxTdHJjYXQoKm1zZywgQkFEX0NBU1QgIicsICIpOworCSAgICAqbXNnID0geG1sU3RyY2F0KCptc2csIEJBRF9DQVNUICJhdHRyaWJ1dGUgJyIpOworCX0gZWxzZSB7CisJICAgICptc2cgPSB4bWxTdHJkdXAoQkFEX0NBU1QgIkVsZW1lbnQgJyIpOworCX0KKwkqbXNnID0geG1sU3RyY2F0KCptc2csIHhtbFNjaGVtYUZvcm1hdFFOYW1lKCZzdHIsCisJICAgIHZjdHh0LT5pbm9kZS0+bnNOYW1lLCB2Y3R4dC0+aW5vZGUtPmxvY2FsTmFtZSkpOworCUZSRUVfQU5EX05VTEwoc3RyKTsKKwkqbXNnID0geG1sU3RyY2F0KCptc2csIEJBRF9DQVNUICInOiAiKTsKKyAgICB9IGVsc2UgaWYgKGFjdHh0LT50eXBlID09IFhNTF9TQ0hFTUFfQ1RYVF9QQVJTRVIpIHsKKwkvKgorCSogSG1tLCBubyBub2RlIHdoaWxlIHBhcnNpbmc/CisJKiBSZXR1cm4gYW4gZW1wdHkgc3RyaW5nLCBpbiBjYXNlIE5VTEwgd2lsbCBicmVhayBzb21ldGhpbmcuCisJKi8KKwkqbXNnID0geG1sU3RyZHVwKEJBRF9DQVNUICIiKTsKKyAgICB9IGVsc2UgeworCVRPRE8KKwlyZXR1cm4gKE5VTEwpOworICAgIH0KKyAgICAvKgorICAgICogVkFMIFRPRE86IFRoZSBvdXRwdXQgb2YgdGhlIGdpdmVuIHNjaGVtYSBjb21wb25lbnQgaXMgY3VycmVudGx5CisgICAgKiBkaXNhYmxlZC4KKyAgICAqLworI2lmIDAKKyAgICBpZiAoKHR5cGUgIT0gTlVMTCkgJiYgKHhtbFNjaGVtYUlzR2xvYmFsSXRlbSh0eXBlKSkpIHsKKwkqbXNnID0geG1sU3RyY2F0KCptc2csIEJBRF9DQVNUICIgWyIpOworCSptc2cgPSB4bWxTdHJjYXQoKm1zZywgeG1sU2NoZW1hRm9ybWF0SXRlbUZvclJlcG9ydCgmc3RyLAorCSAgICBOVUxMLCB0eXBlLCBOVUxMLCAwKSk7CisJRlJFRV9BTkRfTlVMTChzdHIpCisJKm1zZyA9IHhtbFN0cmNhdCgqbXNnLCBCQURfQ0FTVCAiXSIpOworICAgIH0KKyNlbmRpZgorICAgIHJldHVybiAoKm1zZyk7Cit9CisKK3N0YXRpYyB2b2lkCit4bWxTY2hlbWFJbnRlcm5hbEVycjIoeG1sU2NoZW1hQWJzdHJhY3RDdHh0UHRyIGFjdHh0LAorCQkgICAgIGNvbnN0IGNoYXIgKmZ1bmNOYW1lLAorCQkgICAgIGNvbnN0IGNoYXIgKm1lc3NhZ2UsCisJCSAgICAgY29uc3QgeG1sQ2hhciAqc3RyMSwKKwkJICAgICBjb25zdCB4bWxDaGFyICpzdHIyKQoreworICAgIHhtbENoYXIgKm1zZyA9IE5VTEw7CisKKyAgICBpZiAoYWN0eHQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuOworICAgIG1zZyA9IHhtbFN0cmR1cChCQURfQ0FTVCAiSW50ZXJuYWwgZXJyb3I6ICIpOworICAgIG1zZyA9IHhtbFN0cmNhdChtc2csIEJBRF9DQVNUIGZ1bmNOYW1lKTsKKyAgICBtc2cgPSB4bWxTdHJjYXQobXNnLCBCQURfQ0FTVCAiLCAiKTsKKyAgICBtc2cgPSB4bWxTdHJjYXQobXNnLCBCQURfQ0FTVCBtZXNzYWdlKTsKKyAgICBtc2cgPSB4bWxTdHJjYXQobXNnLCBCQURfQ0FTVCAiLlxuIik7CisKKyAgICBpZiAoYWN0eHQtPnR5cGUgPT0gWE1MX1NDSEVNQV9DVFhUX1ZBTElEQVRPUikKKwl4bWxTY2hlbWFFcnIoYWN0eHQsIFhNTF9TQ0hFTUFWX0lOVEVSTkFMLCBOVUxMLAorCSAgICAoY29uc3QgY2hhciAqKSBtc2csIHN0cjEsIHN0cjIpOworCisgICAgZWxzZSBpZiAoYWN0eHQtPnR5cGUgPT0gWE1MX1NDSEVNQV9DVFhUX1BBUlNFUikKKwl4bWxTY2hlbWFFcnIoYWN0eHQsIFhNTF9TQ0hFTUFQX0lOVEVSTkFMLCBOVUxMLAorCSAgICAoY29uc3QgY2hhciAqKSBtc2csIHN0cjEsIHN0cjIpOworCisgICAgRlJFRV9BTkRfTlVMTChtc2cpCit9CisKK3N0YXRpYyB2b2lkCit4bWxTY2hlbWFJbnRlcm5hbEVycih4bWxTY2hlbWFBYnN0cmFjdEN0eHRQdHIgYWN0eHQsCisJCSAgICAgY29uc3QgY2hhciAqZnVuY05hbWUsCisJCSAgICAgY29uc3QgY2hhciAqbWVzc2FnZSkKK3sKKyAgICB4bWxTY2hlbWFJbnRlcm5hbEVycjIoYWN0eHQsIGZ1bmNOYW1lLCBtZXNzYWdlLCBOVUxMLCBOVUxMKTsKK30KKworI2lmIDAKK3N0YXRpYyB2b2lkCit4bWxTY2hlbWFQSW50ZXJuYWxFcnIoeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBwY3R4dCwKKwkJICAgICBjb25zdCBjaGFyICpmdW5jTmFtZSwKKwkJICAgICBjb25zdCBjaGFyICptZXNzYWdlLAorCQkgICAgIGNvbnN0IHhtbENoYXIgKnN0cjEsCisJCSAgICAgY29uc3QgeG1sQ2hhciAqc3RyMikKK3sKKyAgICB4bWxTY2hlbWFJbnRlcm5hbEVycjIoQUNUWFRfQ0FTVCBwY3R4dCwgZnVuY05hbWUsIG1lc3NhZ2UsCisJc3RyMSwgc3RyMik7Cit9CisjZW5kaWYKKworc3RhdGljIHZvaWQKK3htbFNjaGVtYUN1c3RvbUVycjQoeG1sU2NoZW1hQWJzdHJhY3RDdHh0UHRyIGFjdHh0LAorCQkgICB4bWxQYXJzZXJFcnJvcnMgZXJyb3IsCisJCSAgIHhtbE5vZGVQdHIgbm9kZSwKKwkJICAgeG1sU2NoZW1hQmFzaWNJdGVtUHRyIGl0ZW0sCisJCSAgIGNvbnN0IGNoYXIgKm1lc3NhZ2UsCisJCSAgIGNvbnN0IHhtbENoYXIgKnN0cjEsIGNvbnN0IHhtbENoYXIgKnN0cjIsCisJCSAgIGNvbnN0IHhtbENoYXIgKnN0cjMsIGNvbnN0IHhtbENoYXIgKnN0cjQpCit7CisgICAgeG1sQ2hhciAqbXNnID0gTlVMTDsKKworICAgIGlmICgobm9kZSA9PSBOVUxMKSAmJiAoaXRlbSAhPSBOVUxMKSAmJgorCShhY3R4dC0+dHlwZSA9PSBYTUxfU0NIRU1BX0NUWFRfUEFSU0VSKSkgeworCW5vZGUgPSBXWFNfSVRFTV9OT0RFKGl0ZW0pOworCXhtbFNjaGVtYUZvcm1hdEl0ZW1Gb3JSZXBvcnQoJm1zZywgTlVMTCwgaXRlbSwgTlVMTCk7CisJbXNnID0geG1sU3RyY2F0KG1zZywgQkFEX0NBU1QgIjogIik7CisgICAgfSBlbHNlCisJeG1sU2NoZW1hRm9ybWF0Tm9kZUZvckVycm9yKCZtc2csIGFjdHh0LCBub2RlKTsKKyAgICBtc2cgPSB4bWxTdHJjYXQobXNnLCAoY29uc3QgeG1sQ2hhciAqKSBtZXNzYWdlKTsKKyAgICBtc2cgPSB4bWxTdHJjYXQobXNnLCBCQURfQ0FTVCAiLlxuIik7CisgICAgeG1sU2NoZW1hRXJyNChhY3R4dCwgZXJyb3IsIG5vZGUsCisJKGNvbnN0IGNoYXIgKikgbXNnLCBzdHIxLCBzdHIyLCBzdHIzLCBzdHI0KTsKKyAgICBGUkVFX0FORF9OVUxMKG1zZykKK30KKworc3RhdGljIHZvaWQKK3htbFNjaGVtYUN1c3RvbUVycih4bWxTY2hlbWFBYnN0cmFjdEN0eHRQdHIgYWN0eHQsCisJCSAgIHhtbFBhcnNlckVycm9ycyBlcnJvciwKKwkJICAgeG1sTm9kZVB0ciBub2RlLAorCQkgICB4bWxTY2hlbWFCYXNpY0l0ZW1QdHIgaXRlbSwKKwkJICAgY29uc3QgY2hhciAqbWVzc2FnZSwKKwkJICAgY29uc3QgeG1sQ2hhciAqc3RyMSwKKwkJICAgY29uc3QgeG1sQ2hhciAqc3RyMikKK3sKKyAgICB4bWxTY2hlbWFDdXN0b21FcnI0KGFjdHh0LCBlcnJvciwgbm9kZSwgaXRlbSwKKwltZXNzYWdlLCBzdHIxLCBzdHIyLCBOVUxMLCBOVUxMKTsKK30KKworCisKK3N0YXRpYyB2b2lkCit4bWxTY2hlbWFDdXN0b21XYXJuaW5nKHhtbFNjaGVtYUFic3RyYWN0Q3R4dFB0ciBhY3R4dCwKKwkJICAgeG1sUGFyc2VyRXJyb3JzIGVycm9yLAorCQkgICB4bWxOb2RlUHRyIG5vZGUsCisJCSAgIHhtbFNjaGVtYVR5cGVQdHIgdHlwZSBBVFRSSUJVVEVfVU5VU0VELAorCQkgICBjb25zdCBjaGFyICptZXNzYWdlLAorCQkgICBjb25zdCB4bWxDaGFyICpzdHIxLAorCQkgICBjb25zdCB4bWxDaGFyICpzdHIyLAorCQkgICBjb25zdCB4bWxDaGFyICpzdHIzKQoreworICAgIHhtbENoYXIgKm1zZyA9IE5VTEw7CisKKyAgICB4bWxTY2hlbWFGb3JtYXROb2RlRm9yRXJyb3IoJm1zZywgYWN0eHQsIG5vZGUpOworICAgIG1zZyA9IHhtbFN0cmNhdChtc2csIChjb25zdCB4bWxDaGFyICopIG1lc3NhZ2UpOworICAgIG1zZyA9IHhtbFN0cmNhdChtc2csIEJBRF9DQVNUICIuXG4iKTsKKworICAgIC8qIFVSR0VOVCBUT0RPOiBTZXQgdGhlIGVycm9yIGNvZGUgdG8gc29tZXRoaW5nIHNhbmUuICovCisgICAgeG1sU2NoZW1hRXJyNExpbmUoYWN0eHQsIFhNTF9FUlJfV0FSTklORywgZXJyb3IsIG5vZGUsIDAsCisJKGNvbnN0IGNoYXIgKikgbXNnLCBzdHIxLCBzdHIyLCBzdHIzLCBOVUxMKTsKKworICAgIEZSRUVfQU5EX05VTEwobXNnKQorfQorCisKKworc3RhdGljIHZvaWQKK3htbFNjaGVtYUtleXJlZkVycih4bWxTY2hlbWFWYWxpZEN0eHRQdHIgdmN0eHQsCisJCSAgIHhtbFBhcnNlckVycm9ycyBlcnJvciwKKwkJICAgeG1sU2NoZW1hUFNWSUlEQ05vZGVQdHIgaWRjTm9kZSwKKwkJICAgeG1sU2NoZW1hVHlwZVB0ciB0eXBlIEFUVFJJQlVURV9VTlVTRUQsCisJCSAgIGNvbnN0IGNoYXIgKm1lc3NhZ2UsCisJCSAgIGNvbnN0IHhtbENoYXIgKnN0cjEsCisJCSAgIGNvbnN0IHhtbENoYXIgKnN0cjIpCit7CisgICAgeG1sQ2hhciAqbXNnID0gTlVMTCwgKnFuYW1lID0gTlVMTDsKKworICAgIG1zZyA9IHhtbFN0cmR1cChCQURfQ0FTVCAiRWxlbWVudCAnJXMnOiAiKTsKKyAgICBtc2cgPSB4bWxTdHJjYXQobXNnLCAoY29uc3QgeG1sQ2hhciAqKSBtZXNzYWdlKTsKKyAgICBtc2cgPSB4bWxTdHJjYXQobXNnLCBCQURfQ0FTVCAiLlxuIik7CisgICAgeG1sU2NoZW1hRXJyNExpbmUoQUNUWFRfQ0FTVCB2Y3R4dCwgWE1MX0VSUl9FUlJPUiwKKwllcnJvciwgTlVMTCwgaWRjTm9kZS0+bm9kZUxpbmUsIChjb25zdCBjaGFyICopIG1zZywKKwl4bWxTY2hlbWFGb3JtYXRRTmFtZSgmcW5hbWUsCisJICAgIHZjdHh0LT5ub2RlUU5hbWVzLT5pdGVtc1tpZGNOb2RlLT5ub2RlUU5hbWVJRCArMV0sCisJICAgIHZjdHh0LT5ub2RlUU5hbWVzLT5pdGVtc1tpZGNOb2RlLT5ub2RlUU5hbWVJRF0pLAorCXN0cjEsIHN0cjIsIE5VTEwpOworICAgIEZSRUVfQU5EX05VTEwocW5hbWUpOworICAgIEZSRUVfQU5EX05VTEwobXNnKTsKK30KKworc3RhdGljIGludAoreG1sU2NoZW1hRXZhbEVycm9yTm9kZVR5cGUoeG1sU2NoZW1hQWJzdHJhY3RDdHh0UHRyIGFjdHh0LAorCQkJICAgeG1sTm9kZVB0ciBub2RlKQoreworICAgIGlmIChub2RlICE9IE5VTEwpCisJcmV0dXJuIChub2RlLT50eXBlKTsKKyAgICBpZiAoKGFjdHh0LT50eXBlID09IFhNTF9TQ0hFTUFfQ1RYVF9WQUxJREFUT1IpICYmCisJKCgoeG1sU2NoZW1hVmFsaWRDdHh0UHRyKSBhY3R4dCktPmlub2RlICE9IE5VTEwpKQorCXJldHVybiAoICgoeG1sU2NoZW1hVmFsaWRDdHh0UHRyKSBhY3R4dCktPmlub2RlLT5ub2RlVHlwZSk7CisgICAgcmV0dXJuICgtMSk7Cit9CisKK3N0YXRpYyBpbnQKK3htbFNjaGVtYUlzR2xvYmFsSXRlbSh4bWxTY2hlbWFUeXBlUHRyIGl0ZW0pCit7CisgICAgc3dpdGNoIChpdGVtLT50eXBlKSB7CisJY2FzZSBYTUxfU0NIRU1BX1RZUEVfQ09NUExFWDoKKwljYXNlIFhNTF9TQ0hFTUFfVFlQRV9TSU1QTEU6CisJICAgIGlmIChpdGVtLT5mbGFncyAmIFhNTF9TQ0hFTUFTX1RZUEVfR0xPQkFMKQorCQlyZXR1cm4oMSk7CisJICAgIGJyZWFrOworCWNhc2UgWE1MX1NDSEVNQV9UWVBFX0dST1VQOgorCSAgICByZXR1cm4gKDEpOworCWNhc2UgWE1MX1NDSEVNQV9UWVBFX0VMRU1FTlQ6CisJICAgIGlmICggKCh4bWxTY2hlbWFFbGVtZW50UHRyKSBpdGVtKS0+ZmxhZ3MgJgorCQlYTUxfU0NIRU1BU19FTEVNX0dMT0JBTCkKKwkJcmV0dXJuKDEpOworCSAgICBicmVhazsKKwljYXNlIFhNTF9TQ0hFTUFfVFlQRV9BVFRSSUJVVEU6CisJICAgIGlmICggKCh4bWxTY2hlbWFBdHRyaWJ1dGVQdHIpIGl0ZW0pLT5mbGFncyAmCisJCVhNTF9TQ0hFTUFTX0FUVFJfR0xPQkFMKQorCQlyZXR1cm4oMSk7CisJICAgIGJyZWFrOworCS8qIE5vdGUgdGhhdCBhdHRyaWJ1dGUgZ3JvdXBzIGFyZSBhbHdheXMgZ2xvYmFsLiAqLworCWRlZmF1bHQ6CisJICAgIHJldHVybigxKTsKKyAgICB9CisgICAgcmV0dXJuICgwKTsKK30KKworc3RhdGljIHZvaWQKK3htbFNjaGVtYVNpbXBsZVR5cGVFcnIoeG1sU2NoZW1hQWJzdHJhY3RDdHh0UHRyIGFjdHh0LAorCQkgICAgICAgeG1sUGFyc2VyRXJyb3JzIGVycm9yLAorCQkgICAgICAgeG1sTm9kZVB0ciBub2RlLAorCQkgICAgICAgY29uc3QgeG1sQ2hhciAqdmFsdWUsCisJCSAgICAgICB4bWxTY2hlbWFUeXBlUHRyIHR5cGUsCisJCSAgICAgICBpbnQgZGlzcGxheVZhbHVlKQoreworICAgIHhtbENoYXIgKm1zZyA9IE5VTEw7CisKKyAgICB4bWxTY2hlbWFGb3JtYXROb2RlRm9yRXJyb3IoJm1zZywgYWN0eHQsIG5vZGUpOworCisgICAgaWYgKGRpc3BsYXlWYWx1ZSB8fCAoeG1sU2NoZW1hRXZhbEVycm9yTm9kZVR5cGUoYWN0eHQsIG5vZGUpID09CisJICAgIFhNTF9BVFRSSUJVVEVfTk9ERSkpCisJbXNnID0geG1sU3RyY2F0KG1zZywgQkFEX0NBU1QgIiclcycgaXMgbm90IGEgdmFsaWQgdmFsdWUgb2YgIik7CisgICAgZWxzZQorCW1zZyA9IHhtbFN0cmNhdChtc2csIEJBRF9DQVNUICJUaGUgY2hhcmFjdGVyIGNvbnRlbnQgaXMgbm90IGEgdmFsaWQgIgorCSAgICAidmFsdWUgb2YgIik7CisKKyAgICBpZiAoISB4bWxTY2hlbWFJc0dsb2JhbEl0ZW0odHlwZSkpCisJbXNnID0geG1sU3RyY2F0KG1zZywgQkFEX0NBU1QgInRoZSBsb2NhbCAiKTsKKyAgICBlbHNlCisJbXNnID0geG1sU3RyY2F0KG1zZywgQkFEX0NBU1QgInRoZSAiKTsKKworICAgIGlmIChXWFNfSVNfQVRPTUlDKHR5cGUpKQorCW1zZyA9IHhtbFN0cmNhdChtc2csIEJBRF9DQVNUICJhdG9taWMgdHlwZSIpOworICAgIGVsc2UgaWYgKFdYU19JU19MSVNUKHR5cGUpKQorCW1zZyA9IHhtbFN0cmNhdChtc2csIEJBRF9DQVNUICJsaXN0IHR5cGUiKTsKKyAgICBlbHNlIGlmIChXWFNfSVNfVU5JT04odHlwZSkpCisJbXNnID0geG1sU3RyY2F0KG1zZywgQkFEX0NBU1QgInVuaW9uIHR5cGUiKTsKKworICAgIGlmICh4bWxTY2hlbWFJc0dsb2JhbEl0ZW0odHlwZSkpIHsKKwl4bWxDaGFyICpzdHIgPSBOVUxMOworCW1zZyA9IHhtbFN0cmNhdChtc2csIEJBRF9DQVNUICIgJyIpOworCWlmICh0eXBlLT5idWlsdEluVHlwZSAhPSAwKSB7CisJICAgIG1zZyA9IHhtbFN0cmNhdChtc2csIEJBRF9DQVNUICJ4czoiKTsKKwkgICAgbXNnID0geG1sU3RyY2F0KG1zZywgdHlwZS0+bmFtZSk7CisJfSBlbHNlCisJICAgIG1zZyA9IHhtbFN0cmNhdChtc2csCisJCXhtbFNjaGVtYUZvcm1hdFFOYW1lKCZzdHIsCisJCSAgICB0eXBlLT50YXJnZXROYW1lc3BhY2UsIHR5cGUtPm5hbWUpKTsKKwltc2cgPSB4bWxTdHJjYXQobXNnLCBCQURfQ0FTVCAiJyIpOworCUZSRUVfQU5EX05VTEwoc3RyKTsKKyAgICB9CisgICAgbXNnID0geG1sU3RyY2F0KG1zZywgQkFEX0NBU1QgIi5cbiIpOworICAgIGlmIChkaXNwbGF5VmFsdWUgfHwgKHhtbFNjaGVtYUV2YWxFcnJvck5vZGVUeXBlKGFjdHh0LCBub2RlKSA9PQorCSAgICBYTUxfQVRUUklCVVRFX05PREUpKQorCXhtbFNjaGVtYUVycihhY3R4dCwgZXJyb3IsIG5vZGUsIChjb25zdCBjaGFyICopIG1zZywgdmFsdWUsIE5VTEwpOworICAgIGVsc2UKKwl4bWxTY2hlbWFFcnIoYWN0eHQsIGVycm9yLCBub2RlLCAoY29uc3QgY2hhciAqKSBtc2csIE5VTEwsIE5VTEwpOworICAgIEZSRUVfQU5EX05VTEwobXNnKQorfQorCitzdGF0aWMgY29uc3QgeG1sQ2hhciAqCit4bWxTY2hlbWFGb3JtYXRFcnJvck5vZGVRTmFtZSh4bWxDaGFyICoqIHN0ciwKKwkJCSAgICAgIHhtbFNjaGVtYU5vZGVJbmZvUHRyIG5pLAorCQkJICAgICAgeG1sTm9kZVB0ciBub2RlKQoreworICAgIGlmIChub2RlICE9IE5VTEwpIHsKKwlpZiAobm9kZS0+bnMgIT0gTlVMTCkKKwkgICAgcmV0dXJuICh4bWxTY2hlbWFGb3JtYXRRTmFtZShzdHIsIG5vZGUtPm5zLT5ocmVmLCBub2RlLT5uYW1lKSk7CisJZWxzZQorCSAgICByZXR1cm4gKHhtbFNjaGVtYUZvcm1hdFFOYW1lKHN0ciwgTlVMTCwgbm9kZS0+bmFtZSkpOworICAgIH0gZWxzZSBpZiAobmkgIT0gTlVMTCkKKwlyZXR1cm4gKHhtbFNjaGVtYUZvcm1hdFFOYW1lKHN0ciwgbmktPm5zTmFtZSwgbmktPmxvY2FsTmFtZSkpOworICAgIHJldHVybiAoTlVMTCk7Cit9CisKK3N0YXRpYyB2b2lkCit4bWxTY2hlbWFJbGxlZ2FsQXR0ckVycih4bWxTY2hlbWFBYnN0cmFjdEN0eHRQdHIgYWN0eHQsCisJCQl4bWxQYXJzZXJFcnJvcnMgZXJyb3IsCisJCQl4bWxTY2hlbWFBdHRySW5mb1B0ciBuaSwKKwkJCXhtbE5vZGVQdHIgbm9kZSkKK3sKKyAgICB4bWxDaGFyICptc2cgPSBOVUxMLCAqc3RyID0gTlVMTDsKKworICAgIHhtbFNjaGVtYUZvcm1hdE5vZGVGb3JFcnJvcigmbXNnLCBhY3R4dCwgbm9kZSk7CisgICAgbXNnID0geG1sU3RyY2F0KG1zZywgQkFEX0NBU1QgIlRoZSBhdHRyaWJ1dGUgJyVzJyBpcyBub3QgYWxsb3dlZC5cbiIpOworICAgIHhtbFNjaGVtYUVycihhY3R4dCwgZXJyb3IsIG5vZGUsIChjb25zdCBjaGFyICopIG1zZywKKwl4bWxTY2hlbWFGb3JtYXRFcnJvck5vZGVRTmFtZSgmc3RyLCAoeG1sU2NoZW1hTm9kZUluZm9QdHIpIG5pLCBub2RlKSwKKwlOVUxMKTsKKyAgICBGUkVFX0FORF9OVUxMKHN0cikKKyAgICBGUkVFX0FORF9OVUxMKG1zZykKK30KKworc3RhdGljIHZvaWQKK3htbFNjaGVtYUNvbXBsZXhUeXBlRXJyKHhtbFNjaGVtYUFic3RyYWN0Q3R4dFB0ciBhY3R4dCwKKwkJICAgICAgICB4bWxQYXJzZXJFcnJvcnMgZXJyb3IsCisJCSAgICAgICAgeG1sTm9kZVB0ciBub2RlLAorCQkJeG1sU2NoZW1hVHlwZVB0ciB0eXBlIEFUVFJJQlVURV9VTlVTRUQsCisJCQljb25zdCBjaGFyICptZXNzYWdlLAorCQkJaW50IG5idmFsLAorCQkJaW50IG5ibmVnLAorCQkJeG1sQ2hhciAqKnZhbHVlcykKK3sKKyAgICB4bWxDaGFyICpzdHIgPSBOVUxMLCAqbXNnID0gTlVMTDsKKyAgICB4bWxDaGFyICpsb2NhbE5hbWUsICpuc05hbWU7CisgICAgY29uc3QgeG1sQ2hhciAqY3VyLCAqZW5kOworICAgIGludCBpOworCisgICAgeG1sU2NoZW1hRm9ybWF0Tm9kZUZvckVycm9yKCZtc2csIGFjdHh0LCBub2RlKTsKKyAgICBtc2cgPSB4bWxTdHJjYXQobXNnLCAoY29uc3QgeG1sQ2hhciAqKSBtZXNzYWdlKTsKKyAgICBtc2cgPSB4bWxTdHJjYXQobXNnLCBCQURfQ0FTVCAiLiIpOworICAgIC8qCisgICAgKiBOb3RlIHRoYXQgaXMgZG9lcyBub3QgbWFrZSBzZW5zZSB0byByZXBvcnQgdGhhdCB3ZSBoYXZlIGEKKyAgICAqIHdpbGRjYXJkIGhlcmUsIHNpbmNlIHRoZSB3aWxkY2FyZCBtaWdodCBiZSB1bmZvbGRlZCBpbnRvCisgICAgKiBtdWx0aXBsZSB0cmFuc2l0aW9ucy4KKyAgICAqLworICAgIGlmIChuYnZhbCArIG5ibmVnID4gMCkgeworCWlmIChuYnZhbCArIG5ibmVnID4gMSkgeworCSAgICBzdHIgPSB4bWxTdHJkdXAoQkFEX0NBU1QgIiBFeHBlY3RlZCBpcyBvbmUgb2YgKCAiKTsKKwl9IGVsc2UKKwkgICAgc3RyID0geG1sU3RyZHVwKEJBRF9DQVNUICIgRXhwZWN0ZWQgaXMgKCAiKTsKKwluc05hbWUgPSBOVUxMOworCisJZm9yIChpID0gMDsgaSA8IG5idmFsICsgbmJuZWc7IGkrKykgeworCSAgICBjdXIgPSB2YWx1ZXNbaV07CisJICAgIGlmIChjdXIgPT0gTlVMTCkKKwkgICAgICAgIGNvbnRpbnVlOworCSAgICBpZiAoKGN1clswXSA9PSAnbicpICYmIChjdXJbMV0gPT0gJ28nKSAmJiAoY3VyWzJdID09ICd0JykgJiYKKwkgICAgICAgIChjdXJbM10gPT0gJyAnKSkgeworCQljdXIgKz0gNDsKKwkJc3RyID0geG1sU3RyY2F0KHN0ciwgQkFEX0NBU1QgIiMjb3RoZXIiKTsKKwkgICAgfQorCSAgICAvKgorCSAgICAqIEdldCB0aGUgbG9jYWwgbmFtZS4KKwkgICAgKi8KKwkgICAgbG9jYWxOYW1lID0gTlVMTDsKKworCSAgICBlbmQgPSBjdXI7CisJICAgIGlmICgqZW5kID09ICcqJykgeworCQlsb2NhbE5hbWUgPSB4bWxTdHJkdXAoQkFEX0NBU1QgIioiKTsKKwkJZW5kKys7CisJICAgIH0gZWxzZSB7CisJCXdoaWxlICgoKmVuZCAhPSAwKSAmJiAoKmVuZCAhPSAnfCcpKQorCQkgICAgZW5kKys7CisJCWxvY2FsTmFtZSA9IHhtbFN0cm5jYXQobG9jYWxOYW1lLCBCQURfQ0FTVCBjdXIsIGVuZCAtIGN1cik7CisJICAgIH0KKwkgICAgaWYgKCplbmQgIT0gMCkgeworCQllbmQrKzsKKwkJLyoKKwkJKiBTa2lwICIqfCoiIGlmIHRoZXkgY29tZSB3aXRoIG5lZ2F0ZWQgZXhwcmVzc2lvbnMsIHNpbmNlCisJCSogdGhleSByZXByZXNlbnQgdGhlIHNhbWUgbmVnYXRlZCB3aWxkY2FyZC4KKwkJKi8KKwkJaWYgKChuYm5lZyA9PSAwKSB8fCAoKmVuZCAhPSAnKicpIHx8ICgqbG9jYWxOYW1lICE9ICcqJykpIHsKKwkJICAgIC8qCisJCSAgICAqIEdldCB0aGUgbmFtZXNwYWNlIG5hbWUuCisJCSAgICAqLworCQkgICAgY3VyID0gZW5kOworCQkgICAgaWYgKCplbmQgPT0gJyonKSB7CisJCQluc05hbWUgPSB4bWxTdHJkdXAoQkFEX0NBU1QgInsqfSIpOworCQkgICAgfSBlbHNlIHsKKwkJCXdoaWxlICgqZW5kICE9IDApCisJCQkgICAgZW5kKys7CisKKwkJCWlmIChpID49IG5idmFsKQorCQkJICAgIG5zTmFtZSA9IHhtbFN0cmR1cChCQURfQ0FTVCAieyMjb3RoZXI6Iik7CisJCQllbHNlCisJCQkgICAgbnNOYW1lID0geG1sU3RyZHVwKEJBRF9DQVNUICJ7Iik7CisKKwkJCW5zTmFtZSA9IHhtbFN0cm5jYXQobnNOYW1lLCBCQURfQ0FTVCBjdXIsIGVuZCAtIGN1cik7CisJCQluc05hbWUgPSB4bWxTdHJjYXQobnNOYW1lLCBCQURfQ0FTVCAifSIpOworCQkgICAgfQorCQkgICAgc3RyID0geG1sU3RyY2F0KHN0ciwgQkFEX0NBU1QgbnNOYW1lKTsKKwkJICAgIEZSRUVfQU5EX05VTEwobnNOYW1lKQorCQl9IGVsc2UgeworCQkgICAgRlJFRV9BTkRfTlVMTChsb2NhbE5hbWUpOworCQkgICAgY29udGludWU7CisJCX0KKwkgICAgfQorCSAgICBzdHIgPSB4bWxTdHJjYXQoc3RyLCBCQURfQ0FTVCBsb2NhbE5hbWUpOworCSAgICBGUkVFX0FORF9OVUxMKGxvY2FsTmFtZSk7CisKKwkgICAgaWYgKGkgPCBuYnZhbCArIG5ibmVnIC0xKQorCQlzdHIgPSB4bWxTdHJjYXQoc3RyLCBCQURfQ0FTVCAiLCAiKTsKKwl9CisJc3RyID0geG1sU3RyY2F0KHN0ciwgQkFEX0NBU1QgIiApLlxuIik7CisJbXNnID0geG1sU3RyY2F0KG1zZywgQkFEX0NBU1Qgc3RyKTsKKwlGUkVFX0FORF9OVUxMKHN0cikKKyAgICB9IGVsc2UKKyAgICAgIG1zZyA9IHhtbFN0cmNhdChtc2csIEJBRF9DQVNUICJcbiIpOworICAgIHhtbFNjaGVtYUVycihhY3R4dCwgZXJyb3IsIG5vZGUsIChjb25zdCBjaGFyICopIG1zZywgTlVMTCwgTlVMTCk7CisgICAgeG1sRnJlZShtc2cpOworfQorCitzdGF0aWMgdm9pZAoreG1sU2NoZW1hRmFjZXRFcnIoeG1sU2NoZW1hQWJzdHJhY3RDdHh0UHRyIGFjdHh0LAorCQkgIHhtbFBhcnNlckVycm9ycyBlcnJvciwKKwkJICB4bWxOb2RlUHRyIG5vZGUsCisJCSAgY29uc3QgeG1sQ2hhciAqdmFsdWUsCisJCSAgdW5zaWduZWQgbG9uZyBsZW5ndGgsCisJCSAgeG1sU2NoZW1hVHlwZVB0ciB0eXBlLAorCQkgIHhtbFNjaGVtYUZhY2V0UHRyIGZhY2V0LAorCQkgIGNvbnN0IGNoYXIgKm1lc3NhZ2UsCisJCSAgY29uc3QgeG1sQ2hhciAqc3RyMSwKKwkJICBjb25zdCB4bWxDaGFyICpzdHIyKQoreworICAgIHhtbENoYXIgKnN0ciA9IE5VTEwsICptc2cgPSBOVUxMOworICAgIHhtbFNjaGVtYVR5cGVUeXBlIGZhY2V0VHlwZTsKKyAgICBpbnQgbm9kZVR5cGUgPSB4bWxTY2hlbWFFdmFsRXJyb3JOb2RlVHlwZShhY3R4dCwgbm9kZSk7CisKKyAgICB4bWxTY2hlbWFGb3JtYXROb2RlRm9yRXJyb3IoJm1zZywgYWN0eHQsIG5vZGUpOworICAgIGlmIChlcnJvciA9PSBYTUxfU0NIRU1BVl9DVkNfRU5VTUVSQVRJT05fVkFMSUQpIHsKKwlmYWNldFR5cGUgPSBYTUxfU0NIRU1BX0ZBQ0VUX0VOVU1FUkFUSU9OOworCS8qCisJKiBJZiBlbnVtZXJhdGlvbnMgYXJlIHZhbGlkYXRlZCwgb25lIG11c3Qgbm90IGV4cGVjdCB0aGUKKwkqIGZhY2V0IHRvIGJlIGdpdmVuLgorCSovCisgICAgfSBlbHNlCisJZmFjZXRUeXBlID0gZmFjZXQtPnR5cGU7CisgICAgbXNnID0geG1sU3RyY2F0KG1zZywgQkFEX0NBU1QgIlsiKTsKKyAgICBtc2cgPSB4bWxTdHJjYXQobXNnLCBCQURfQ0FTVCAiZmFjZXQgJyIpOworICAgIG1zZyA9IHhtbFN0cmNhdChtc2csIHhtbFNjaGVtYUZhY2V0VHlwZVRvU3RyaW5nKGZhY2V0VHlwZSkpOworICAgIG1zZyA9IHhtbFN0cmNhdChtc2csIEJBRF9DQVNUICInXSAiKTsKKyAgICBpZiAobWVzc2FnZSA9PSBOVUxMKSB7CisJLyoKKwkqIFVzZSBhIGRlZmF1bHQgbWVzc2FnZS4KKwkqLworCWlmICgoZmFjZXRUeXBlID09IFhNTF9TQ0hFTUFfRkFDRVRfTEVOR1RIKSB8fAorCSAgICAoZmFjZXRUeXBlID09IFhNTF9TQ0hFTUFfRkFDRVRfTUlOTEVOR1RIKSB8fAorCSAgICAoZmFjZXRUeXBlID09IFhNTF9TQ0hFTUFfRkFDRVRfTUFYTEVOR1RIKSkgeworCisJICAgIGNoYXIgbGVuWzI1XSwgYWN0TGVuWzI1XTsKKworCSAgICAvKiBGSVhNRSwgVE9ETzogV2hhdCBpcyB0aGUgbWF4IGV4cGVjdGVkIHN0cmluZyBsZW5ndGggb2YgdGhlCisJICAgICogdGhpcyB2YWx1ZT8KKwkgICAgKi8KKwkgICAgaWYgKG5vZGVUeXBlID09IFhNTF9BVFRSSUJVVEVfTk9ERSkKKwkJbXNnID0geG1sU3RyY2F0KG1zZywgQkFEX0NBU1QgIlRoZSB2YWx1ZSAnJXMnIGhhcyBhIGxlbmd0aCBvZiAnJXMnOyAiKTsKKwkgICAgZWxzZQorCQltc2cgPSB4bWxTdHJjYXQobXNnLCBCQURfQ0FTVCAiVGhlIHZhbHVlIGhhcyBhIGxlbmd0aCBvZiAnJXMnOyAiKTsKKworCSAgICBzbnByaW50ZihsZW4sIDI0LCAiJWx1IiwgeG1sU2NoZW1hR2V0RmFjZXRWYWx1ZUFzVUxvbmcoZmFjZXQpKTsKKwkgICAgc25wcmludGYoYWN0TGVuLCAyNCwgIiVsdSIsIGxlbmd0aCk7CisKKwkgICAgaWYgKGZhY2V0VHlwZSA9PSBYTUxfU0NIRU1BX0ZBQ0VUX0xFTkdUSCkKKwkJbXNnID0geG1sU3RyY2F0KG1zZywKKwkJQkFEX0NBU1QgInRoaXMgZGlmZmVycyBmcm9tIHRoZSBhbGxvd2VkIGxlbmd0aCBvZiAnJXMnLlxuIik7CisJICAgIGVsc2UgaWYgKGZhY2V0VHlwZSA9PSBYTUxfU0NIRU1BX0ZBQ0VUX01BWExFTkdUSCkKKwkJbXNnID0geG1sU3RyY2F0KG1zZywKKwkJQkFEX0NBU1QgInRoaXMgZXhjZWVkcyB0aGUgYWxsb3dlZCBtYXhpbXVtIGxlbmd0aCBvZiAnJXMnLlxuIik7CisJICAgIGVsc2UgaWYgKGZhY2V0VHlwZSA9PSBYTUxfU0NIRU1BX0ZBQ0VUX01JTkxFTkdUSCkKKwkJbXNnID0geG1sU3RyY2F0KG1zZywKKwkJQkFEX0NBU1QgInRoaXMgdW5kZXJydW5zIHRoZSBhbGxvd2VkIG1pbmltdW0gbGVuZ3RoIG9mICclcycuXG4iKTsKKworCSAgICBpZiAobm9kZVR5cGUgPT0gWE1MX0FUVFJJQlVURV9OT0RFKQorCQl4bWxTY2hlbWFFcnIzKGFjdHh0LCBlcnJvciwgbm9kZSwgKGNvbnN0IGNoYXIgKikgbXNnLAorCQkgICAgdmFsdWUsIChjb25zdCB4bWxDaGFyICopIGFjdExlbiwgKGNvbnN0IHhtbENoYXIgKikgbGVuKTsKKwkgICAgZWxzZQorCQl4bWxTY2hlbWFFcnIoYWN0eHQsIGVycm9yLCBub2RlLCAoY29uc3QgY2hhciAqKSBtc2csCisJCSAgICAoY29uc3QgeG1sQ2hhciAqKSBhY3RMZW4sIChjb25zdCB4bWxDaGFyICopIGxlbik7CisKKwl9IGVsc2UgaWYgKGZhY2V0VHlwZSA9PSBYTUxfU0NIRU1BX0ZBQ0VUX0VOVU1FUkFUSU9OKSB7CisJICAgIG1zZyA9IHhtbFN0cmNhdChtc2csIEJBRF9DQVNUICJUaGUgdmFsdWUgJyVzJyBpcyBub3QgYW4gZWxlbWVudCAiCisJCSJvZiB0aGUgc2V0IHslc30uXG4iKTsKKwkgICAgeG1sU2NoZW1hRXJyKGFjdHh0LCBlcnJvciwgbm9kZSwgKGNvbnN0IGNoYXIgKikgbXNnLCB2YWx1ZSwKKwkJeG1sU2NoZW1hRm9ybWF0RmFjZXRFbnVtU2V0KGFjdHh0LCAmc3RyLCB0eXBlKSk7CisJfSBlbHNlIGlmIChmYWNldFR5cGUgPT0gWE1MX1NDSEVNQV9GQUNFVF9QQVRURVJOKSB7CisJICAgIG1zZyA9IHhtbFN0cmNhdChtc2csIEJBRF9DQVNUICJUaGUgdmFsdWUgJyVzJyBpcyBub3QgYWNjZXB0ZWQgIgorCQkiYnkgdGhlIHBhdHRlcm4gJyVzJy5cbiIpOworCSAgICB4bWxTY2hlbWFFcnIoYWN0eHQsIGVycm9yLCBub2RlLCAoY29uc3QgY2hhciAqKSBtc2csIHZhbHVlLAorCQlmYWNldC0+dmFsdWUpOworCX0gZWxzZSBpZiAoZmFjZXRUeXBlID09IFhNTF9TQ0hFTUFfRkFDRVRfTUlOSU5DTFVTSVZFKSB7CisJICAgIG1zZyA9IHhtbFN0cmNhdChtc2csIEJBRF9DQVNUICJUaGUgdmFsdWUgJyVzJyBpcyBsZXNzIHRoYW4gdGhlICIKKwkJIm1pbmltdW0gdmFsdWUgYWxsb3dlZCAoJyVzJykuXG4iKTsKKwkgICAgeG1sU2NoZW1hRXJyKGFjdHh0LCBlcnJvciwgbm9kZSwgKGNvbnN0IGNoYXIgKikgbXNnLCB2YWx1ZSwKKwkJZmFjZXQtPnZhbHVlKTsKKwl9IGVsc2UgaWYgKGZhY2V0VHlwZSA9PSBYTUxfU0NIRU1BX0ZBQ0VUX01BWElOQ0xVU0lWRSkgeworCSAgICBtc2cgPSB4bWxTdHJjYXQobXNnLCBCQURfQ0FTVCAiVGhlIHZhbHVlICclcycgaXMgZ3JlYXRlciB0aGFuIHRoZSAiCisJCSJtYXhpbXVtIHZhbHVlIGFsbG93ZWQgKCclcycpLlxuIik7CisJICAgIHhtbFNjaGVtYUVycihhY3R4dCwgZXJyb3IsIG5vZGUsIChjb25zdCBjaGFyICopIG1zZywgdmFsdWUsCisJCWZhY2V0LT52YWx1ZSk7CisJfSBlbHNlIGlmIChmYWNldFR5cGUgPT0gWE1MX1NDSEVNQV9GQUNFVF9NSU5FWENMVVNJVkUpIHsKKwkgICAgbXNnID0geG1sU3RyY2F0KG1zZywgQkFEX0NBU1QgIlRoZSB2YWx1ZSAnJXMnIG11c3QgYmUgZ3JlYXRlciB0aGFuICIKKwkJIiclcycuXG4iKTsKKwkgICAgeG1sU2NoZW1hRXJyKGFjdHh0LCBlcnJvciwgbm9kZSwgKGNvbnN0IGNoYXIgKikgbXNnLCB2YWx1ZSwKKwkJZmFjZXQtPnZhbHVlKTsKKwl9IGVsc2UgaWYgKGZhY2V0VHlwZSA9PSBYTUxfU0NIRU1BX0ZBQ0VUX01BWEVYQ0xVU0lWRSkgeworCSAgICBtc2cgPSB4bWxTdHJjYXQobXNnLCBCQURfQ0FTVCAiVGhlIHZhbHVlICclcycgbXVzdCBiZSBsZXNzIHRoYW4gIgorCQkiJyVzJy5cbiIpOworCSAgICB4bWxTY2hlbWFFcnIoYWN0eHQsIGVycm9yLCBub2RlLCAoY29uc3QgY2hhciAqKSBtc2csIHZhbHVlLAorCQlmYWNldC0+dmFsdWUpOworCX0gZWxzZSBpZiAoZmFjZXRUeXBlID09IFhNTF9TQ0hFTUFfRkFDRVRfVE9UQUxESUdJVFMpIHsKKwkgICAgbXNnID0geG1sU3RyY2F0KG1zZywgQkFEX0NBU1QgIlRoZSB2YWx1ZSAnJXMnIGhhcyBtb3JlICIKKwkJImRpZ2l0cyB0aGFuIGFyZSBhbGxvd2VkICgnJXMnKS5cbiIpOworCSAgICB4bWxTY2hlbWFFcnIoYWN0eHQsIGVycm9yLCBub2RlLCAoY29uc3QgY2hhciopIG1zZywgdmFsdWUsCisJCWZhY2V0LT52YWx1ZSk7CisJfSBlbHNlIGlmIChmYWNldFR5cGUgPT0gWE1MX1NDSEVNQV9GQUNFVF9GUkFDVElPTkRJR0lUUykgeworCSAgICBtc2cgPSB4bWxTdHJjYXQobXNnLCBCQURfQ0FTVCAiVGhlIHZhbHVlICclcycgaGFzIG1vcmUgZnJhY3Rpb25hbCAiCisJCSJkaWdpdHMgdGhhbiBhcmUgYWxsb3dlZCAoJyVzJykuXG4iKTsKKwkgICAgeG1sU2NoZW1hRXJyKGFjdHh0LCBlcnJvciwgbm9kZSwgKGNvbnN0IGNoYXIqKSBtc2csIHZhbHVlLAorCQlmYWNldC0+dmFsdWUpOworCX0gZWxzZSBpZiAobm9kZVR5cGUgPT0gWE1MX0FUVFJJQlVURV9OT0RFKSB7CisJICAgIG1zZyA9IHhtbFN0cmNhdChtc2csIEJBRF9DQVNUICJUaGUgdmFsdWUgJyVzJyBpcyBub3QgZmFjZXQtdmFsaWQuXG4iKTsKKwkgICAgeG1sU2NoZW1hRXJyKGFjdHh0LCBlcnJvciwgbm9kZSwgKGNvbnN0IGNoYXIgKikgbXNnLCB2YWx1ZSwgTlVMTCk7CisJfSBlbHNlIHsKKwkgICAgbXNnID0geG1sU3RyY2F0KG1zZywgQkFEX0NBU1QgIlRoZSB2YWx1ZSBpcyBub3QgZmFjZXQtdmFsaWQuXG4iKTsKKwkgICAgeG1sU2NoZW1hRXJyKGFjdHh0LCBlcnJvciwgbm9kZSwgKGNvbnN0IGNoYXIgKikgbXNnLCBOVUxMLCBOVUxMKTsKKwl9CisgICAgfSBlbHNlIHsKKwltc2cgPSB4bWxTdHJjYXQobXNnLCAoY29uc3QgeG1sQ2hhciAqKSBtZXNzYWdlKTsKKwltc2cgPSB4bWxTdHJjYXQobXNnLCBCQURfQ0FTVCAiLlxuIik7CisJeG1sU2NoZW1hRXJyKGFjdHh0LCBlcnJvciwgbm9kZSwgKGNvbnN0IGNoYXIgKikgbXNnLCBzdHIxLCBzdHIyKTsKKyAgICB9CisgICAgRlJFRV9BTkRfTlVMTChzdHIpCisgICAgeG1sRnJlZShtc2cpOworfQorCisjZGVmaW5lIFZFUlJPUihlcnIsIHR5cGUsIG1zZykgXAorICAgIHhtbFNjaGVtYUN1c3RvbUVycihBQ1RYVF9DQVNUIHZjdHh0LCBlcnIsIE5VTEwsIHR5cGUsIG1zZywgTlVMTCwgTlVMTCk7CisKKyNkZWZpbmUgVkVSUk9SX0lOVChmdW5jLCBtc2cpIHhtbFNjaGVtYUludGVybmFsRXJyKEFDVFhUX0NBU1QgdmN0eHQsIGZ1bmMsIG1zZyk7CisKKyNkZWZpbmUgUEVSUk9SX0lOVChmdW5jLCBtc2cpIHhtbFNjaGVtYUludGVybmFsRXJyKEFDVFhUX0NBU1QgcGN0eHQsIGZ1bmMsIG1zZyk7CisjZGVmaW5lIFBFUlJPUl9JTlQyKGZ1bmMsIG1zZykgeG1sU2NoZW1hSW50ZXJuYWxFcnIoQUNUWFRfQ0FTVCBjdHh0LCBmdW5jLCBtc2cpOworCisjZGVmaW5lIEFFUlJPUl9JTlQoZnVuYywgbXNnKSB4bWxTY2hlbWFJbnRlcm5hbEVycihhY3R4dCwgZnVuYywgbXNnKTsKKworCisvKioKKyAqIHhtbFNjaGVtYVBNaXNzaW5nQXR0ckVycjoKKyAqIEBjdHh0OiB0aGUgc2NoZW1hIHZhbGlkYXRpb24gY29udGV4dAorICogQG93bmVyRGVzOiB0aGUgZGVzaWduYXRpb24gb2YgIHRoZSBvd25lcgorICogQG93bmVyTmFtZTogdGhlIG5hbWUgb2YgdGhlIG93bmVyCisgKiBAb3duZXJJdGVtOiB0aGUgb3duZXIgYXMgYSBzY2hlbWEgb2JqZWN0CisgKiBAb3duZXJFbGVtOiB0aGUgb3duZXIgYXMgYW4gZWxlbWVudCBub2RlCisgKiBAbm9kZTogdGhlIHBhcmVudCBlbGVtZW50IG5vZGUgb2YgdGhlIG1pc3NpbmcgYXR0cmlidXRlIG5vZGUKKyAqIEB0eXBlOiB0aGUgY29ycmVzcG9uZGluZyB0eXBlIG9mIHRoZSBhdHRyaWJ1dGUgbm9kZQorICoKKyAqIFJlcG9ydHMgYW4gaWxsZWdhbCBhdHRyaWJ1dGUuCisgKi8KK3N0YXRpYyB2b2lkCit4bWxTY2hlbWFQTWlzc2luZ0F0dHJFcnIoeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBjdHh0LAorCQkJIHhtbFBhcnNlckVycm9ycyBlcnJvciwKKwkJCSB4bWxTY2hlbWFCYXNpY0l0ZW1QdHIgb3duZXJJdGVtLAorCQkJIHhtbE5vZGVQdHIgb3duZXJFbGVtLAorCQkJIGNvbnN0IGNoYXIgKm5hbWUsCisJCQkgY29uc3QgY2hhciAqbWVzc2FnZSkKK3sKKyAgICB4bWxDaGFyICpkZXMgPSBOVUxMOworCisgICAgeG1sU2NoZW1hRm9ybWF0SXRlbUZvclJlcG9ydCgmZGVzLCBOVUxMLCBvd25lckl0ZW0sIG93bmVyRWxlbSk7CisKKyAgICBpZiAobWVzc2FnZSAhPSBOVUxMKQorCXhtbFNjaGVtYVBFcnIoY3R4dCwgb3duZXJFbGVtLCBlcnJvciwgIiVzOiAlcy5cbiIsIEJBRF9DQVNUIGRlcywgQkFEX0NBU1QgbWVzc2FnZSk7CisgICAgZWxzZQorCXhtbFNjaGVtYVBFcnIoY3R4dCwgb3duZXJFbGVtLCBlcnJvciwKKwkgICAgIiVzOiBUaGUgYXR0cmlidXRlICclcycgaXMgcmVxdWlyZWQgYnV0IG1pc3NpbmcuXG4iLAorCSAgICBCQURfQ0FTVCBkZXMsIEJBRF9DQVNUIG5hbWUpOworICAgIEZSRUVfQU5EX05VTEwoZGVzKTsKK30KKworCisvKioKKyAqIHhtbFNjaGVtYVBSZXNDb21wQXR0ckVycjoKKyAqIEBjdHh0OiB0aGUgc2NoZW1hIHZhbGlkYXRpb24gY29udGV4dAorICogQGVycm9yOiB0aGUgZXJyb3IgY29kZQorICogQG93bmVyRGVzOiB0aGUgZGVzaWduYXRpb24gb2YgIHRoZSBvd25lcgorICogQG93bmVySXRlbTogdGhlIG93bmVyIGFzIGEgc2NoZW1hIG9iamVjdAorICogQG93bmVyRWxlbTogdGhlIG93bmVyIGFzIGFuIGVsZW1lbnQgbm9kZQorICogQG5hbWU6IHRoZSBuYW1lIG9mIHRoZSBhdHRyaWJ1dGUgaG9sZGluZyB0aGUgUU5hbWUKKyAqIEByZWZOYW1lOiB0aGUgcmVmZXJlbmNlZCBsb2NhbCBuYW1lCisgKiBAcmVmVVJJOiB0aGUgcmVmZXJlbmNlZCBuYW1lc3BhY2UgVVJJCisgKiBAbWVzc2FnZTogb3B0aW9uYWwgbWVzc2FnZQorICoKKyAqIFVzZWQgdG8gcmVwb3J0IFFOYW1lIGF0dHJpYnV0ZSB2YWx1ZXMgdGhhdCBmYWlsZWQgdG8gcmVzb2x2ZQorICogdG8gc2NoZW1hIGNvbXBvbmVudHMuCisgKi8KK3N0YXRpYyB2b2lkCit4bWxTY2hlbWFQUmVzQ29tcEF0dHJFcnIoeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBjdHh0LAorCQkJIHhtbFBhcnNlckVycm9ycyBlcnJvciwKKwkJCSB4bWxTY2hlbWFCYXNpY0l0ZW1QdHIgb3duZXJJdGVtLAorCQkJIHhtbE5vZGVQdHIgb3duZXJFbGVtLAorCQkJIGNvbnN0IGNoYXIgKm5hbWUsCisJCQkgY29uc3QgeG1sQ2hhciAqcmVmTmFtZSwKKwkJCSBjb25zdCB4bWxDaGFyICpyZWZVUkksCisJCQkgeG1sU2NoZW1hVHlwZVR5cGUgcmVmVHlwZSwKKwkJCSBjb25zdCBjaGFyICpyZWZUeXBlU3RyKQoreworICAgIHhtbENoYXIgKmRlcyA9IE5VTEwsICpzdHJBID0gTlVMTDsKKworICAgIHhtbFNjaGVtYUZvcm1hdEl0ZW1Gb3JSZXBvcnQoJmRlcywgTlVMTCwgb3duZXJJdGVtLCBvd25lckVsZW0pOworICAgIGlmIChyZWZUeXBlU3RyID09IE5VTEwpCisJcmVmVHlwZVN0ciA9IChjb25zdCBjaGFyICopIHhtbFNjaGVtYUl0ZW1UeXBlVG9TdHIocmVmVHlwZSk7CisJeG1sU2NoZW1hUEVyckV4dChjdHh0LCBvd25lckVsZW0sIGVycm9yLAorCSAgICBOVUxMLCBOVUxMLCBOVUxMLAorCSAgICAiJXMsIGF0dHJpYnV0ZSAnJXMnOiBUaGUgUU5hbWUgdmFsdWUgJyVzJyBkb2VzIG5vdCByZXNvbHZlIHRvIGEobikgIgorCSAgICAiJXMuXG4iLCBCQURfQ0FTVCBkZXMsIEJBRF9DQVNUIG5hbWUsCisJICAgIHhtbFNjaGVtYUZvcm1hdFFOYW1lKCZzdHJBLCByZWZVUkksIHJlZk5hbWUpLAorCSAgICBCQURfQ0FTVCByZWZUeXBlU3RyLCBOVUxMKTsKKyAgICBGUkVFX0FORF9OVUxMKGRlcykKKyAgICBGUkVFX0FORF9OVUxMKHN0ckEpCit9CisKKy8qKgorICogeG1sU2NoZW1hUEN1c3RvbUF0dHJFcnI6CisgKiBAY3R4dDogdGhlIHNjaGVtYSBwYXJzZXIgY29udGV4dAorICogQGVycm9yOiB0aGUgZXJyb3IgY29kZQorICogQG93bmVyRGVzOiB0aGUgZGVzaWduYXRpb24gb2YgdGhlIG93bmVyCisgKiBAb3duZXJJdGVtOiB0aGUgb3duZXIgYXMgYSBzY2hlbWEgb2JqZWN0CisgKiBAYXR0cjogdGhlIGlsbGVnYWwgYXR0cmlidXRlIG5vZGUKKyAqCisgKiBSZXBvcnRzIGFuIGlsbGVnYWwgYXR0cmlidXRlIGR1cmluZyB0aGUgcGFyc2UuCisgKi8KK3N0YXRpYyB2b2lkCit4bWxTY2hlbWFQQ3VzdG9tQXR0ckVycih4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIGN0eHQsCisJCQl4bWxQYXJzZXJFcnJvcnMgZXJyb3IsCisJCQl4bWxDaGFyICoqb3duZXJEZXMsCisJCQl4bWxTY2hlbWFCYXNpY0l0ZW1QdHIgb3duZXJJdGVtLAorCQkJeG1sQXR0clB0ciBhdHRyLAorCQkJY29uc3QgY2hhciAqbXNnKQoreworICAgIHhtbENoYXIgKmRlcyA9IE5VTEw7CisKKyAgICBpZiAob3duZXJEZXMgPT0gTlVMTCkKKwl4bWxTY2hlbWFGb3JtYXRJdGVtRm9yUmVwb3J0KCZkZXMsIE5VTEwsIG93bmVySXRlbSwgYXR0ci0+cGFyZW50KTsKKyAgICBlbHNlIGlmICgqb3duZXJEZXMgPT0gTlVMTCkgeworCXhtbFNjaGVtYUZvcm1hdEl0ZW1Gb3JSZXBvcnQob3duZXJEZXMsIE5VTEwsIG93bmVySXRlbSwgYXR0ci0+cGFyZW50KTsKKwlkZXMgPSAqb3duZXJEZXM7CisgICAgfSBlbHNlCisJZGVzID0gKm93bmVyRGVzOworICAgIGlmIChhdHRyID09IE5VTEwpIHsKKwl4bWxTY2hlbWFQRXJyRXh0KGN0eHQsIE5VTEwsIGVycm9yLCBOVUxMLCBOVUxMLCBOVUxMLAorCSAgICAiJXMsIGF0dHJpYnV0ZSAnJXMnOiAlcy5cbiIsCisJICAgIEJBRF9DQVNUIGRlcywgKGNvbnN0IHhtbENoYXIgKikgIlVua25vd24iLAorCSAgICAoY29uc3QgeG1sQ2hhciAqKSBtc2csIE5VTEwsIE5VTEwpOworICAgIH0gZWxzZSB7CisJeG1sU2NoZW1hUEVyckV4dChjdHh0LCAoeG1sTm9kZVB0cikgYXR0ciwgZXJyb3IsIE5VTEwsIE5VTEwsIE5VTEwsCisJICAgICIlcywgYXR0cmlidXRlICclcyc6ICVzLlxuIiwKKwkgICAgQkFEX0NBU1QgZGVzLCBhdHRyLT5uYW1lLCAoY29uc3QgeG1sQ2hhciAqKSBtc2csIE5VTEwsIE5VTEwpOworICAgIH0KKyAgICBpZiAob3duZXJEZXMgPT0gTlVMTCkKKwlGUkVFX0FORF9OVUxMKGRlcyk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hUElsbGVnYWxBdHRyRXJyOgorICogQGN0eHQ6IHRoZSBzY2hlbWEgcGFyc2VyIGNvbnRleHQKKyAqIEBlcnJvcjogdGhlIGVycm9yIGNvZGUKKyAqIEBvd25lckRlczogdGhlIGRlc2lnbmF0aW9uIG9mIHRoZSBhdHRyaWJ1dGUncyBvd25lcgorICogQG93bmVySXRlbTogdGhlIGF0dHJpYnV0ZSdzIG93bmVyIGl0ZW0KKyAqIEBhdHRyOiB0aGUgaWxsZWdhbCBhdHRyaWJ1dGUgbm9kZQorICoKKyAqIFJlcG9ydHMgYW4gaWxsZWdhbCBhdHRyaWJ1dGUgZHVyaW5nIHRoZSBwYXJzZS4KKyAqLworc3RhdGljIHZvaWQKK3htbFNjaGVtYVBJbGxlZ2FsQXR0ckVycih4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIGN0eHQsCisJCQkgeG1sUGFyc2VyRXJyb3JzIGVycm9yLAorCQkJIHhtbFNjaGVtYUJhc2ljSXRlbVB0ciBvd25lckNvbXAgQVRUUklCVVRFX1VOVVNFRCwKKwkJCSB4bWxBdHRyUHRyIGF0dHIpCit7CisgICAgeG1sQ2hhciAqc3RyQSA9IE5VTEwsICpzdHJCID0gTlVMTDsKKworICAgIHhtbFNjaGVtYUZvcm1hdE5vZGVGb3JFcnJvcigmc3RyQSwgQUNUWFRfQ0FTVCBjdHh0LCBhdHRyLT5wYXJlbnQpOworICAgIHhtbFNjaGVtYUVycjQoQUNUWFRfQ0FTVCBjdHh0LCBlcnJvciwgKHhtbE5vZGVQdHIpIGF0dHIsCisJIiVzVGhlIGF0dHJpYnV0ZSAnJXMnIGlzIG5vdCBhbGxvd2VkLlxuIiwgQkFEX0NBU1Qgc3RyQSwKKwl4bWxTY2hlbWFGb3JtYXRRTmFtZU5zKCZzdHJCLCBhdHRyLT5ucywgYXR0ci0+bmFtZSksCisJTlVMTCwgTlVMTCk7CisgICAgRlJFRV9BTkRfTlVMTChzdHJBKTsKKyAgICBGUkVFX0FORF9OVUxMKHN0ckIpOworfQorCisvKioKKyAqIHhtbFNjaGVtYVBDdXN0b21FcnI6CisgKiBAY3R4dDogdGhlIHNjaGVtYSBwYXJzZXIgY29udGV4dAorICogQGVycm9yOiB0aGUgZXJyb3IgY29kZQorICogQGl0ZW1EZXM6IHRoZSBkZXNpZ25hdGlvbiBvZiB0aGUgc2NoZW1hIGl0ZW0KKyAqIEBpdGVtOiB0aGUgc2NoZW1hIGl0ZW0KKyAqIEBpdGVtRWxlbTogdGhlIG5vZGUgb2YgdGhlIHNjaGVtYSBpdGVtCisgKiBAbWVzc2FnZTogdGhlIGVycm9yIG1lc3NhZ2UKKyAqIEBzdHIxOiBhbiBvcHRpb25hbCBwYXJhbSBmb3IgdGhlIGVycm9yIG1lc3NhZ2UKKyAqIEBzdHIyOiBhbiBvcHRpb25hbCBwYXJhbSBmb3IgdGhlIGVycm9yIG1lc3NhZ2UKKyAqIEBzdHIzOiBhbiBvcHRpb25hbCBwYXJhbSBmb3IgdGhlIGVycm9yIG1lc3NhZ2UKKyAqCisgKiBSZXBvcnRzIGFuIGVycm9yIGR1cmluZyBwYXJzaW5nLgorICovCitzdGF0aWMgdm9pZAoreG1sU2NoZW1hUEN1c3RvbUVyckV4dCh4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIGN0eHQsCisJCSAgICB4bWxQYXJzZXJFcnJvcnMgZXJyb3IsCisJCSAgICB4bWxTY2hlbWFCYXNpY0l0ZW1QdHIgaXRlbSwKKwkJICAgIHhtbE5vZGVQdHIgaXRlbUVsZW0sCisJCSAgICBjb25zdCBjaGFyICptZXNzYWdlLAorCQkgICAgY29uc3QgeG1sQ2hhciAqc3RyMSwKKwkJICAgIGNvbnN0IHhtbENoYXIgKnN0cjIsCisJCSAgICBjb25zdCB4bWxDaGFyICpzdHIzKQoreworICAgIHhtbENoYXIgKmRlcyA9IE5VTEwsICptc2cgPSBOVUxMOworCisgICAgeG1sU2NoZW1hRm9ybWF0SXRlbUZvclJlcG9ydCgmZGVzLCBOVUxMLCBpdGVtLCBpdGVtRWxlbSk7CisgICAgbXNnID0geG1sU3RyZHVwKEJBRF9DQVNUICIlczogIik7CisgICAgbXNnID0geG1sU3RyY2F0KG1zZywgKGNvbnN0IHhtbENoYXIgKikgbWVzc2FnZSk7CisgICAgbXNnID0geG1sU3RyY2F0KG1zZywgQkFEX0NBU1QgIi5cbiIpOworICAgIGlmICgoaXRlbUVsZW0gPT0gTlVMTCkgJiYgKGl0ZW0gIT0gTlVMTCkpCisJaXRlbUVsZW0gPSBXWFNfSVRFTV9OT0RFKGl0ZW0pOworICAgIHhtbFNjaGVtYVBFcnJFeHQoY3R4dCwgaXRlbUVsZW0sIGVycm9yLCBOVUxMLCBOVUxMLCBOVUxMLAorCShjb25zdCBjaGFyICopIG1zZywgQkFEX0NBU1QgZGVzLCBzdHIxLCBzdHIyLCBzdHIzLCBOVUxMKTsKKyAgICBGUkVFX0FORF9OVUxMKGRlcyk7CisgICAgRlJFRV9BTkRfTlVMTChtc2cpOworfQorCisvKioKKyAqIHhtbFNjaGVtYVBDdXN0b21FcnI6CisgKiBAY3R4dDogdGhlIHNjaGVtYSBwYXJzZXIgY29udGV4dAorICogQGVycm9yOiB0aGUgZXJyb3IgY29kZQorICogQGl0ZW1EZXM6IHRoZSBkZXNpZ25hdGlvbiBvZiB0aGUgc2NoZW1hIGl0ZW0KKyAqIEBpdGVtOiB0aGUgc2NoZW1hIGl0ZW0KKyAqIEBpdGVtRWxlbTogdGhlIG5vZGUgb2YgdGhlIHNjaGVtYSBpdGVtCisgKiBAbWVzc2FnZTogdGhlIGVycm9yIG1lc3NhZ2UKKyAqIEBzdHIxOiB0aGUgb3B0aW9uYWwgcGFyYW0gZm9yIHRoZSBlcnJvciBtZXNzYWdlCisgKgorICogUmVwb3J0cyBhbiBlcnJvciBkdXJpbmcgcGFyc2luZy4KKyAqLworc3RhdGljIHZvaWQKK3htbFNjaGVtYVBDdXN0b21FcnIoeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBjdHh0LAorCQkgICAgeG1sUGFyc2VyRXJyb3JzIGVycm9yLAorCQkgICAgeG1sU2NoZW1hQmFzaWNJdGVtUHRyIGl0ZW0sCisJCSAgICB4bWxOb2RlUHRyIGl0ZW1FbGVtLAorCQkgICAgY29uc3QgY2hhciAqbWVzc2FnZSwKKwkJICAgIGNvbnN0IHhtbENoYXIgKnN0cjEpCit7CisgICAgeG1sU2NoZW1hUEN1c3RvbUVyckV4dChjdHh0LCBlcnJvciwgaXRlbSwgaXRlbUVsZW0sIG1lc3NhZ2UsCisJc3RyMSwgTlVMTCwgTlVMTCk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hUEF0dHJVc2VFcnI6CisgKiBAY3R4dDogdGhlIHNjaGVtYSBwYXJzZXIgY29udGV4dAorICogQGVycm9yOiB0aGUgZXJyb3IgY29kZQorICogQGl0ZW1EZXM6IHRoZSBkZXNpZ25hdGlvbiBvZiB0aGUgc2NoZW1hIHR5cGUKKyAqIEBpdGVtOiB0aGUgc2NoZW1hIHR5cGUKKyAqIEBpdGVtRWxlbTogdGhlIG5vZGUgb2YgdGhlIHNjaGVtYSB0eXBlCisgKiBAYXR0cjogdGhlIGludmFsaWQgc2NoZW1hIGF0dHJpYnV0ZQorICogQG1lc3NhZ2U6IHRoZSBlcnJvciBtZXNzYWdlCisgKiBAc3RyMTogdGhlIG9wdGlvbmFsIHBhcmFtIGZvciB0aGUgZXJyb3IgbWVzc2FnZQorICoKKyAqIFJlcG9ydHMgYW4gYXR0cmlidXRlIHVzZSBlcnJvciBkdXJpbmcgcGFyc2luZy4KKyAqLworc3RhdGljIHZvaWQKK3htbFNjaGVtYVBBdHRyVXNlRXJyNCh4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIGN0eHQsCisJCSAgICB4bWxQYXJzZXJFcnJvcnMgZXJyb3IsCisJCSAgICB4bWxOb2RlUHRyIG5vZGUsCisJCSAgICB4bWxTY2hlbWFCYXNpY0l0ZW1QdHIgb3duZXJJdGVtLAorCQkgICAgY29uc3QgeG1sU2NoZW1hQXR0cmlidXRlVXNlUHRyIGF0dHJ1c2UsCisJCSAgICBjb25zdCBjaGFyICptZXNzYWdlLAorCQkgICAgY29uc3QgeG1sQ2hhciAqc3RyMSwgY29uc3QgeG1sQ2hhciAqc3RyMiwKKwkJICAgIGNvbnN0IHhtbENoYXIgKnN0cjMsY29uc3QgeG1sQ2hhciAqc3RyNCkKK3sKKyAgICB4bWxDaGFyICpzdHIgPSBOVUxMLCAqbXNnID0gTlVMTDsKKworICAgIHhtbFNjaGVtYUZvcm1hdEl0ZW1Gb3JSZXBvcnQoJm1zZywgTlVMTCwgb3duZXJJdGVtLCBOVUxMKTsKKyAgICBtc2cgPSB4bWxTdHJjYXQobXNnLCBCQURfQ0FTVCAiLCAiKTsKKyAgICBtc2cgPSB4bWxTdHJjYXQobXNnLAorCUJBRF9DQVNUIHhtbFNjaGVtYUZvcm1hdEl0ZW1Gb3JSZXBvcnQoJnN0ciwgTlVMTCwKKwlXWFNfQkFTSUNfQ0FTVCBhdHRydXNlLCBOVUxMKSk7CisgICAgRlJFRV9BTkRfTlVMTChzdHIpOworICAgIG1zZyA9IHhtbFN0cmNhdChtc2csIEJBRF9DQVNUICI6ICIpOworICAgIG1zZyA9IHhtbFN0cmNhdChtc2csIChjb25zdCB4bWxDaGFyICopIG1lc3NhZ2UpOworICAgIG1zZyA9IHhtbFN0cmNhdChtc2csIEJBRF9DQVNUICIuXG4iKTsKKyAgICB4bWxTY2hlbWFFcnI0KEFDVFhUX0NBU1QgY3R4dCwgZXJyb3IsIG5vZGUsCisJKGNvbnN0IGNoYXIgKikgbXNnLCBzdHIxLCBzdHIyLCBzdHIzLCBzdHI0KTsKKyAgICB4bWxGcmVlKG1zZyk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hUElsbGVnYWxGYWNldEF0b21pY0VycjoKKyAqIEBjdHh0OiB0aGUgc2NoZW1hIHBhcnNlciBjb250ZXh0CisgKiBAZXJyb3I6IHRoZSBlcnJvciBjb2RlCisgKiBAdHlwZTogdGhlIHNjaGVtYSB0eXBlCisgKiBAYmFzZVR5cGU6IHRoZSBiYXNlIHR5cGUgb2YgdHlwZQorICogQGZhY2V0OiB0aGUgaWxsZWdhbCBmYWNldAorICoKKyAqIFJlcG9ydHMgYW4gaWxsZWdhbCBmYWNldCBmb3IgYXRvbWljIHNpbXBsZSB0eXBlcy4KKyAqLworc3RhdGljIHZvaWQKK3htbFNjaGVtYVBJbGxlZ2FsRmFjZXRBdG9taWNFcnIoeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBjdHh0LAorCQkJICB4bWxQYXJzZXJFcnJvcnMgZXJyb3IsCisJCQkgIHhtbFNjaGVtYVR5cGVQdHIgdHlwZSwKKwkJCSAgeG1sU2NoZW1hVHlwZVB0ciBiYXNlVHlwZSwKKwkJCSAgeG1sU2NoZW1hRmFjZXRQdHIgZmFjZXQpCit7CisgICAgeG1sQ2hhciAqZGVzID0gTlVMTCwgKnN0clQgPSBOVUxMOworCisgICAgeG1sU2NoZW1hRm9ybWF0SXRlbUZvclJlcG9ydCgmZGVzLCBOVUxMLCBXWFNfQkFTSUNfQ0FTVCB0eXBlLCB0eXBlLT5ub2RlKTsKKyAgICB4bWxTY2hlbWFQRXJyRXh0KGN0eHQsIHR5cGUtPm5vZGUsIGVycm9yLCBOVUxMLCBOVUxMLCBOVUxMLAorCSIlczogVGhlIGZhY2V0ICclcycgaXMgbm90IGFsbG93ZWQgb24gdHlwZXMgZGVyaXZlZCBmcm9tIHRoZSAiCisJInR5cGUgJXMuXG4iLAorCUJBRF9DQVNUIGRlcywgeG1sU2NoZW1hRmFjZXRUeXBlVG9TdHJpbmcoZmFjZXQtPnR5cGUpLAorCXhtbFNjaGVtYUZvcm1hdEl0ZW1Gb3JSZXBvcnQoJnN0clQsIE5VTEwsIFdYU19CQVNJQ19DQVNUIGJhc2VUeXBlLCBOVUxMKSwKKwlOVUxMLCBOVUxMKTsKKyAgICBGUkVFX0FORF9OVUxMKGRlcyk7CisgICAgRlJFRV9BTkRfTlVMTChzdHJUKTsKK30KKworLyoqCisgKiB4bWxTY2hlbWFQSWxsZWdhbEZhY2V0TGlzdFVuaW9uRXJyOgorICogQGN0eHQ6IHRoZSBzY2hlbWEgcGFyc2VyIGNvbnRleHQKKyAqIEBlcnJvcjogdGhlIGVycm9yIGNvZGUKKyAqIEBpdGVtRGVzOiB0aGUgZGVzaWduYXRpb24gb2YgdGhlIHNjaGVtYSBpdGVtIGludm9sdmVkCisgKiBAaXRlbTogdGhlIHNjaGVtYSBpdGVtIGludm9sdmVkCisgKiBAZmFjZXQ6IHRoZSBpbGxlZ2FsIGZhY2V0CisgKgorICogUmVwb3J0cyBhbiBpbGxlZ2FsIGZhY2V0IGZvciA8bGlzdD4gYW5kIDx1bmlvbj4uCisgKi8KK3N0YXRpYyB2b2lkCit4bWxTY2hlbWFQSWxsZWdhbEZhY2V0TGlzdFVuaW9uRXJyKHhtbFNjaGVtYVBhcnNlckN0eHRQdHIgY3R4dCwKKwkJCSAgeG1sUGFyc2VyRXJyb3JzIGVycm9yLAorCQkJICB4bWxTY2hlbWFUeXBlUHRyIHR5cGUsCisJCQkgIHhtbFNjaGVtYUZhY2V0UHRyIGZhY2V0KQoreworICAgIHhtbENoYXIgKmRlcyA9IE5VTEw7CisKKyAgICB4bWxTY2hlbWFGb3JtYXRJdGVtRm9yUmVwb3J0KCZkZXMsIE5VTEwsIFdYU19CQVNJQ19DQVNUIHR5cGUsCisJdHlwZS0+bm9kZSk7CisgICAgeG1sU2NoZW1hUEVycihjdHh0LCB0eXBlLT5ub2RlLCBlcnJvciwKKwkiJXM6IFRoZSBmYWNldCAnJXMnIGlzIG5vdCBhbGxvd2VkLlxuIiwKKwlCQURfQ0FTVCBkZXMsIHhtbFNjaGVtYUZhY2V0VHlwZVRvU3RyaW5nKGZhY2V0LT50eXBlKSk7CisgICAgRlJFRV9BTkRfTlVMTChkZXMpOworfQorCisvKioKKyAqIHhtbFNjaGVtYVBNdXR1YWxFeGNsQXR0ckVycjoKKyAqIEBjdHh0OiB0aGUgc2NoZW1hIHZhbGlkYXRpb24gY29udGV4dAorICogQGVycm9yOiB0aGUgZXJyb3IgY29kZQorICogQGVsZW1EZXM6IHRoZSBkZXNpZ25hdGlvbiBvZiB0aGUgcGFyZW50IGVsZW1lbnQgbm9kZQorICogQGF0dHI6IHRoZSBiYWQgYXR0cmlidXRlIG5vZGUKKyAqIEB0eXBlOiB0aGUgY29ycmVzcG9uZGluZyB0eXBlIG9mIHRoZSBhdHRyaWJ1dGUgbm9kZQorICoKKyAqIFJlcG9ydHMgYW4gaWxsZWdhbCBhdHRyaWJ1dGUuCisgKi8KK3N0YXRpYyB2b2lkCit4bWxTY2hlbWFQTXV0dWFsRXhjbEF0dHJFcnIoeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBjdHh0LAorCQkJIHhtbFBhcnNlckVycm9ycyBlcnJvciwKKwkJCSB4bWxTY2hlbWFCYXNpY0l0ZW1QdHIgb3duZXJJdGVtLAorCQkJIHhtbEF0dHJQdHIgYXR0ciwKKwkJCSBjb25zdCBjaGFyICpuYW1lMSwKKwkJCSBjb25zdCBjaGFyICpuYW1lMikKK3sKKyAgICB4bWxDaGFyICpkZXMgPSBOVUxMOworCisgICAgeG1sU2NoZW1hRm9ybWF0SXRlbUZvclJlcG9ydCgmZGVzLCBOVUxMLCBXWFNfQkFTSUNfQ0FTVCBvd25lckl0ZW0sIGF0dHItPnBhcmVudCk7CisgICAgeG1sU2NoZW1hUEVyckV4dChjdHh0LCAoeG1sTm9kZVB0cikgYXR0ciwgZXJyb3IsIE5VTEwsIE5VTEwsIE5VTEwsCisJIiVzOiBUaGUgYXR0cmlidXRlcyAnJXMnIGFuZCAnJXMnIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuXG4iLAorCUJBRF9DQVNUIGRlcywgQkFEX0NBU1QgbmFtZTEsIEJBRF9DQVNUIG5hbWUyLCBOVUxMLCBOVUxMKTsKKyAgICBGUkVFX0FORF9OVUxMKGRlcyk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hUFNpbXBsZVR5cGVFcnI6CisgKiBAY3R4dDogIHRoZSBzY2hlbWEgdmFsaWRhdGlvbiBjb250ZXh0CisgKiBAZXJyb3I6IHRoZSBlcnJvciBjb2RlCisgKiBAdHlwZTogdGhlIHR5cGUgc3BlY2lmaWVyCisgKiBAb3duZXJEZXM6IHRoZSBkZXNpZ25hdGlvbiBvZiB0aGUgb3duZXIKKyAqIEBvd25lckl0ZW06IHRoZSBzY2hlbWEgb2JqZWN0IGlmIGV4aXN0ZW50CisgKiBAbm9kZTogdGhlIHZhbGlkYXRlZCBub2RlCisgKiBAdmFsdWU6IHRoZSB2YWxpZGF0ZWQgdmFsdWUKKyAqCisgKiBSZXBvcnRzIGEgc2ltcGxlIHR5cGUgdmFsaWRhdGlvbiBlcnJvci4KKyAqIFRPRE86IFNob3VsZCB0aGlzIHJlcG9ydCB0aGUgdmFsdWUgb2YgYW4gZWxlbWVudCBhcyB3ZWxsPworICovCitzdGF0aWMgdm9pZAoreG1sU2NoZW1hUFNpbXBsZVR5cGVFcnIoeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBjdHh0LAorCQkJeG1sUGFyc2VyRXJyb3JzIGVycm9yLAorCQkJeG1sU2NoZW1hQmFzaWNJdGVtUHRyIG93bmVySXRlbSBBVFRSSUJVVEVfVU5VU0VELAorCQkJeG1sTm9kZVB0ciBub2RlLAorCQkJeG1sU2NoZW1hVHlwZVB0ciB0eXBlLAorCQkJY29uc3QgY2hhciAqZXhwZWN0ZWQsCisJCQljb25zdCB4bWxDaGFyICp2YWx1ZSwKKwkJCWNvbnN0IGNoYXIgKm1lc3NhZ2UsCisJCQljb25zdCB4bWxDaGFyICpzdHIxLAorCQkJY29uc3QgeG1sQ2hhciAqc3RyMikKK3sKKyAgICB4bWxDaGFyICptc2cgPSBOVUxMOworCisgICAgeG1sU2NoZW1hRm9ybWF0Tm9kZUZvckVycm9yKCZtc2csIEFDVFhUX0NBU1QgY3R4dCwgbm9kZSk7CisgICAgaWYgKG1lc3NhZ2UgPT0gTlVMTCkgeworCS8qCisJKiBVc2UgZGVmYXVsdCBtZXNzYWdlcy4KKwkqLworCWlmICh0eXBlICE9IE5VTEwpIHsKKwkgICAgaWYgKG5vZGUtPnR5cGUgPT0gWE1MX0FUVFJJQlVURV9OT0RFKQorCQltc2cgPSB4bWxTdHJjYXQobXNnLCBCQURfQ0FTVCAiJyVzJyBpcyBub3QgYSB2YWxpZCB2YWx1ZSBvZiAiKTsKKwkgICAgZWxzZQorCQltc2cgPSB4bWxTdHJjYXQobXNnLCBCQURfQ0FTVCAiVGhlIGNoYXJhY3RlciBjb250ZW50IGlzIG5vdCBhICIKKwkJInZhbGlkIHZhbHVlIG9mICIpOworCSAgICBpZiAoISB4bWxTY2hlbWFJc0dsb2JhbEl0ZW0odHlwZSkpCisJCW1zZyA9IHhtbFN0cmNhdChtc2csIEJBRF9DQVNUICJ0aGUgbG9jYWwgIik7CisJICAgIGVsc2UKKwkJbXNnID0geG1sU3RyY2F0KG1zZywgQkFEX0NBU1QgInRoZSAiKTsKKworCSAgICBpZiAoV1hTX0lTX0FUT01JQyh0eXBlKSkKKwkJbXNnID0geG1sU3RyY2F0KG1zZywgQkFEX0NBU1QgImF0b21pYyB0eXBlIik7CisJICAgIGVsc2UgaWYgKFdYU19JU19MSVNUKHR5cGUpKQorCQltc2cgPSB4bWxTdHJjYXQobXNnLCBCQURfQ0FTVCAibGlzdCB0eXBlIik7CisJICAgIGVsc2UgaWYgKFdYU19JU19VTklPTih0eXBlKSkKKwkJbXNnID0geG1sU3RyY2F0KG1zZywgQkFEX0NBU1QgInVuaW9uIHR5cGUiKTsKKworCSAgICBpZiAoeG1sU2NoZW1hSXNHbG9iYWxJdGVtKHR5cGUpKSB7CisJCXhtbENoYXIgKnN0ciA9IE5VTEw7CisJCW1zZyA9IHhtbFN0cmNhdChtc2csIEJBRF9DQVNUICIgJyIpOworCQlpZiAodHlwZS0+YnVpbHRJblR5cGUgIT0gMCkgeworCQkgICAgbXNnID0geG1sU3RyY2F0KG1zZywgQkFEX0NBU1QgInhzOiIpOworCQkgICAgbXNnID0geG1sU3RyY2F0KG1zZywgdHlwZS0+bmFtZSk7CisJCX0gZWxzZQorCQkgICAgbXNnID0geG1sU3RyY2F0KG1zZywKKwkJCXhtbFNjaGVtYUZvcm1hdFFOYW1lKCZzdHIsCisJCQkgICAgdHlwZS0+dGFyZ2V0TmFtZXNwYWNlLCB0eXBlLT5uYW1lKSk7CisJCW1zZyA9IHhtbFN0cmNhdChtc2csIEJBRF9DQVNUICInLiIpOworCQlGUkVFX0FORF9OVUxMKHN0cik7CisJICAgIH0KKwl9IGVsc2UgeworCSAgICBpZiAobm9kZS0+dHlwZSA9PSBYTUxfQVRUUklCVVRFX05PREUpCisJCW1zZyA9IHhtbFN0cmNhdChtc2csIEJBRF9DQVNUICJUaGUgdmFsdWUgJyVzJyBpcyBub3QgdmFsaWQuIik7CisJICAgIGVsc2UKKwkJbXNnID0geG1sU3RyY2F0KG1zZywgQkFEX0NBU1QgIlRoZSBjaGFyYWN0ZXIgY29udGVudCBpcyBub3QgIgorCQkidmFsaWQuIik7CisJfQorCWlmIChleHBlY3RlZCkgeworCSAgICBtc2cgPSB4bWxTdHJjYXQobXNnLCBCQURfQ0FTVCAiIEV4cGVjdGVkIGlzICciKTsKKwkgICAgbXNnID0geG1sU3RyY2F0KG1zZywgQkFEX0NBU1QgZXhwZWN0ZWQpOworCSAgICBtc2cgPSB4bWxTdHJjYXQobXNnLCBCQURfQ0FTVCAiJy5cbiIpOworCX0gZWxzZQorCSAgICBtc2cgPSB4bWxTdHJjYXQobXNnLCBCQURfQ0FTVCAiXG4iKTsKKwlpZiAobm9kZS0+dHlwZSA9PSBYTUxfQVRUUklCVVRFX05PREUpCisJICAgIHhtbFNjaGVtYVBFcnIoY3R4dCwgbm9kZSwgZXJyb3IsIChjb25zdCBjaGFyICopIG1zZywgdmFsdWUsIE5VTEwpOworCWVsc2UKKwkgICAgeG1sU2NoZW1hUEVycihjdHh0LCBub2RlLCBlcnJvciwgKGNvbnN0IGNoYXIgKikgbXNnLCBOVUxMLCBOVUxMKTsKKyAgICB9IGVsc2UgeworCW1zZyA9IHhtbFN0cmNhdChtc2csIEJBRF9DQVNUIG1lc3NhZ2UpOworCW1zZyA9IHhtbFN0cmNhdChtc2csIEJBRF9DQVNUICIuXG4iKTsKKwl4bWxTY2hlbWFQRXJyRXh0KGN0eHQsIG5vZGUsIGVycm9yLCBOVUxMLCBOVUxMLCBOVUxMLAorCSAgICAgKGNvbnN0IGNoYXIqKSBtc2csIHN0cjEsIHN0cjIsIE5VTEwsIE5VTEwsIE5VTEwpOworICAgIH0KKyAgICAvKiBDbGVhbnVwLiAqLworICAgIEZSRUVfQU5EX05VTEwobXNnKQorfQorCisvKioKKyAqIHhtbFNjaGVtYVBDb250ZW50RXJyOgorICogQGN0eHQ6IHRoZSBzY2hlbWEgcGFyc2VyIGNvbnRleHQKKyAqIEBlcnJvcjogdGhlIGVycm9yIGNvZGUKKyAqIEBvbndlckRlczogdGhlIGRlc2lnbmF0aW9uIG9mIHRoZSBob2xkZXIgb2YgdGhlIGNvbnRlbnQKKyAqIEBvd25lckl0ZW06IHRoZSBvd25lciBpdGVtIG9mIHRoZSBob2xkZXIgb2YgdGhlIGNvbnRlbnQKKyAqIEBvd25lckVsZW06IHRoZSBub2RlIG9mIHRoZSBob2xkZXIgb2YgdGhlIGNvbnRlbnQKKyAqIEBjaGlsZDogdGhlIGludmFsaWQgY2hpbGQgbm9kZQorICogQG1lc3NhZ2U6IHRoZSBvcHRpb25hbCBlcnJvciBtZXNzYWdlCisgKiBAY29udGVudDogdGhlIG9wdGlvbmFsIHN0cmluZyBkZXNjcmliaW5nIHRoZSBjb3JyZWN0IGNvbnRlbnQKKyAqCisgKiBSZXBvcnRzIGFuIGVycm9yIGNvbmNlcm5pbmcgdGhlIGNvbnRlbnQgb2YgYSBzY2hlbWEgZWxlbWVudC4KKyAqLworc3RhdGljIHZvaWQKK3htbFNjaGVtYVBDb250ZW50RXJyKHhtbFNjaGVtYVBhcnNlckN0eHRQdHIgY3R4dCwKKwkJICAgICB4bWxQYXJzZXJFcnJvcnMgZXJyb3IsCisJCSAgICAgeG1sU2NoZW1hQmFzaWNJdGVtUHRyIG93bmVySXRlbSwKKwkJICAgICB4bWxOb2RlUHRyIG93bmVyRWxlbSwKKwkJICAgICB4bWxOb2RlUHRyIGNoaWxkLAorCQkgICAgIGNvbnN0IGNoYXIgKm1lc3NhZ2UsCisJCSAgICAgY29uc3QgY2hhciAqY29udGVudCkKK3sKKyAgICB4bWxDaGFyICpkZXMgPSBOVUxMOworCisgICAgeG1sU2NoZW1hRm9ybWF0SXRlbUZvclJlcG9ydCgmZGVzLCBOVUxMLCBvd25lckl0ZW0sIG93bmVyRWxlbSk7CisgICAgaWYgKG1lc3NhZ2UgIT0gTlVMTCkKKwl4bWxTY2hlbWFQRXJyMihjdHh0LCBvd25lckVsZW0sIGNoaWxkLCBlcnJvciwKKwkgICAgIiVzOiAlcy5cbiIsCisJICAgIEJBRF9DQVNUIGRlcywgQkFEX0NBU1QgbWVzc2FnZSk7CisgICAgZWxzZSB7CisJaWYgKGNvbnRlbnQgIT0gTlVMTCkgeworCSAgICB4bWxTY2hlbWFQRXJyMihjdHh0LCBvd25lckVsZW0sIGNoaWxkLCBlcnJvciwKKwkJIiVzOiBUaGUgY29udGVudCBpcyBub3QgdmFsaWQuIEV4cGVjdGVkIGlzICVzLlxuIiwKKwkJQkFEX0NBU1QgZGVzLCBCQURfQ0FTVCBjb250ZW50KTsKKwl9IGVsc2UgeworCSAgICB4bWxTY2hlbWFQRXJyMihjdHh0LCBvd25lckVsZW0sIGNoaWxkLCBlcnJvciwKKwkJIiVzOiBUaGUgY29udGVudCBpcyBub3QgdmFsaWQuXG4iLAorCQlCQURfQ0FTVCBkZXMsIE5VTEwpOworCX0KKyAgICB9CisgICAgRlJFRV9BTkRfTlVMTChkZXMpCit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCQlTdHJlYW1hYmxlIGVycm9yIGZ1bmN0aW9ucyAgICAgICAgICAgICAgICAgICAgICAqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKworCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCQlWYWxpZGF0aW9uIGhlbHBlciBmdW5jdGlvbnMJCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJCUFsbG9jYXRpb24gZnVuY3Rpb25zCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqCisgKiB4bWxTY2hlbWFOZXdTY2hlbWFGb3JQYXJzZXJDdHh0OgorICogQGN0eHQ6ICBhIHNjaGVtYSB2YWxpZGF0aW9uIGNvbnRleHQKKyAqCisgKiBBbGxvY2F0ZSBhIG5ldyBTY2hlbWEgc3RydWN0dXJlLgorICoKKyAqIFJldHVybnMgdGhlIG5ld2x5IGFsbG9jYXRlZCBzdHJ1Y3R1cmUgb3IgTlVMTCBpbiBjYXNlIG9yIGVycm9yCisgKi8KK3N0YXRpYyB4bWxTY2hlbWFQdHIKK3htbFNjaGVtYU5ld1NjaGVtYSh4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIGN0eHQpCit7CisgICAgeG1sU2NoZW1hUHRyIHJldDsKKworICAgIHJldCA9ICh4bWxTY2hlbWFQdHIpIHhtbE1hbGxvYyhzaXplb2YoeG1sU2NoZW1hKSk7CisgICAgaWYgKHJldCA9PSBOVUxMKSB7CisgICAgICAgIHhtbFNjaGVtYVBFcnJNZW1vcnkoY3R4dCwgImFsbG9jYXRpbmcgc2NoZW1hIiwgTlVMTCk7CisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgfQorICAgIG1lbXNldChyZXQsIDAsIHNpemVvZih4bWxTY2hlbWEpKTsKKyAgICByZXQtPmRpY3QgPSBjdHh0LT5kaWN0OworICAgIHhtbERpY3RSZWZlcmVuY2UocmV0LT5kaWN0KTsKKworICAgIHJldHVybiAocmV0KTsKK30KKworLyoqCisgKiB4bWxTY2hlbWFOZXdGYWNldDoKKyAqCisgKiBBbGxvY2F0ZSBhIG5ldyBGYWNldCBzdHJ1Y3R1cmUuCisgKgorICogUmV0dXJucyB0aGUgbmV3bHkgYWxsb2NhdGVkIHN0cnVjdHVyZSBvciBOVUxMIGluIGNhc2Ugb3IgZXJyb3IKKyAqLworeG1sU2NoZW1hRmFjZXRQdHIKK3htbFNjaGVtYU5ld0ZhY2V0KHZvaWQpCit7CisgICAgeG1sU2NoZW1hRmFjZXRQdHIgcmV0OworCisgICAgcmV0ID0gKHhtbFNjaGVtYUZhY2V0UHRyKSB4bWxNYWxsb2Moc2l6ZW9mKHhtbFNjaGVtYUZhY2V0KSk7CisgICAgaWYgKHJldCA9PSBOVUxMKSB7CisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgfQorICAgIG1lbXNldChyZXQsIDAsIHNpemVvZih4bWxTY2hlbWFGYWNldCkpOworCisgICAgcmV0dXJuIChyZXQpOworfQorCisvKioKKyAqIHhtbFNjaGVtYU5ld0Fubm90OgorICogQGN0eHQ6ICBhIHNjaGVtYSB2YWxpZGF0aW9uIGNvbnRleHQKKyAqIEBub2RlOiAgYSBub2RlCisgKgorICogQWxsb2NhdGUgYSBuZXcgYW5ub3RhdGlvbiBzdHJ1Y3R1cmUuCisgKgorICogUmV0dXJucyB0aGUgbmV3bHkgYWxsb2NhdGVkIHN0cnVjdHVyZSBvciBOVUxMIGluIGNhc2Ugb3IgZXJyb3IKKyAqLworc3RhdGljIHhtbFNjaGVtYUFubm90UHRyCit4bWxTY2hlbWFOZXdBbm5vdCh4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIGN0eHQsIHhtbE5vZGVQdHIgbm9kZSkKK3sKKyAgICB4bWxTY2hlbWFBbm5vdFB0ciByZXQ7CisKKyAgICByZXQgPSAoeG1sU2NoZW1hQW5ub3RQdHIpIHhtbE1hbGxvYyhzaXplb2YoeG1sU2NoZW1hQW5ub3QpKTsKKyAgICBpZiAocmV0ID09IE5VTEwpIHsKKyAgICAgICAgeG1sU2NoZW1hUEVyck1lbW9yeShjdHh0LCAiYWxsb2NhdGluZyBhbm5vdGF0aW9uIiwgbm9kZSk7CisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgfQorICAgIG1lbXNldChyZXQsIDAsIHNpemVvZih4bWxTY2hlbWFBbm5vdCkpOworICAgIHJldC0+Y29udGVudCA9IG5vZGU7CisgICAgcmV0dXJuIChyZXQpOworfQorCitzdGF0aWMgeG1sU2NoZW1hSXRlbUxpc3RQdHIKK3htbFNjaGVtYUl0ZW1MaXN0Q3JlYXRlKHZvaWQpCit7CisgICAgeG1sU2NoZW1hSXRlbUxpc3RQdHIgcmV0OworCisgICAgcmV0ID0geG1sTWFsbG9jKHNpemVvZih4bWxTY2hlbWFJdGVtTGlzdCkpOworICAgIGlmIChyZXQgPT0gTlVMTCkgeworCXhtbFNjaGVtYVBFcnJNZW1vcnkoTlVMTCwKKwkgICAgImFsbG9jYXRpbmcgYW4gaXRlbSBsaXN0IHN0cnVjdHVyZSIsIE5VTEwpOworCXJldHVybiAoTlVMTCk7CisgICAgfQorICAgIG1lbXNldChyZXQsIDAsIHNpemVvZih4bWxTY2hlbWFJdGVtTGlzdCkpOworICAgIHJldHVybiAocmV0KTsKK30KKworc3RhdGljIHZvaWQKK3htbFNjaGVtYUl0ZW1MaXN0Q2xlYXIoeG1sU2NoZW1hSXRlbUxpc3RQdHIgbGlzdCkKK3sKKyAgICBpZiAobGlzdC0+aXRlbXMgIT0gTlVMTCkgeworCXhtbEZyZWUobGlzdC0+aXRlbXMpOworCWxpc3QtPml0ZW1zID0gTlVMTDsKKyAgICB9CisgICAgbGlzdC0+bmJJdGVtcyA9IDA7CisgICAgbGlzdC0+c2l6ZUl0ZW1zID0gMDsKK30KKworc3RhdGljIGludAoreG1sU2NoZW1hSXRlbUxpc3RBZGQoeG1sU2NoZW1hSXRlbUxpc3RQdHIgbGlzdCwgdm9pZCAqaXRlbSkKK3sKKyAgICBpZiAobGlzdC0+aXRlbXMgPT0gTlVMTCkgeworCWxpc3QtPml0ZW1zID0gKHZvaWQgKiopIHhtbE1hbGxvYygKKwkgICAgMjAgKiBzaXplb2Yodm9pZCAqKSk7CisJaWYgKGxpc3QtPml0ZW1zID09IE5VTEwpIHsKKwkgICAgeG1sU2NoZW1hUEVyck1lbW9yeShOVUxMLCAiYWxsb2NhdGluZyBuZXcgaXRlbSBsaXN0IiwgTlVMTCk7CisJICAgIHJldHVybigtMSk7CisJfQorCWxpc3QtPnNpemVJdGVtcyA9IDIwOworICAgIH0gZWxzZSBpZiAobGlzdC0+c2l6ZUl0ZW1zIDw9IGxpc3QtPm5iSXRlbXMpIHsKKwlsaXN0LT5zaXplSXRlbXMgKj0gMjsKKwlsaXN0LT5pdGVtcyA9ICh2b2lkICoqKSB4bWxSZWFsbG9jKGxpc3QtPml0ZW1zLAorCSAgICBsaXN0LT5zaXplSXRlbXMgKiBzaXplb2Yodm9pZCAqKSk7CisJaWYgKGxpc3QtPml0ZW1zID09IE5VTEwpIHsKKwkgICAgeG1sU2NoZW1hUEVyck1lbW9yeShOVUxMLCAiZ3Jvd2luZyBpdGVtIGxpc3QiLCBOVUxMKTsKKwkgICAgbGlzdC0+c2l6ZUl0ZW1zID0gMDsKKwkgICAgcmV0dXJuKC0xKTsKKwl9CisgICAgfQorICAgIGxpc3QtPml0ZW1zW2xpc3QtPm5iSXRlbXMrK10gPSBpdGVtOworICAgIHJldHVybigwKTsKK30KKworc3RhdGljIGludAoreG1sU2NoZW1hSXRlbUxpc3RBZGRTaXplKHhtbFNjaGVtYUl0ZW1MaXN0UHRyIGxpc3QsCisJCQkgaW50IGluaXRpYWxTaXplLAorCQkJIHZvaWQgKml0ZW0pCit7CisgICAgaWYgKGxpc3QtPml0ZW1zID09IE5VTEwpIHsKKwlpZiAoaW5pdGlhbFNpemUgPD0gMCkKKwkgICAgaW5pdGlhbFNpemUgPSAxOworCWxpc3QtPml0ZW1zID0gKHZvaWQgKiopIHhtbE1hbGxvYygKKwkgICAgaW5pdGlhbFNpemUgKiBzaXplb2Yodm9pZCAqKSk7CisJaWYgKGxpc3QtPml0ZW1zID09IE5VTEwpIHsKKwkgICAgeG1sU2NoZW1hUEVyck1lbW9yeShOVUxMLCAiYWxsb2NhdGluZyBuZXcgaXRlbSBsaXN0IiwgTlVMTCk7CisJICAgIHJldHVybigtMSk7CisJfQorCWxpc3QtPnNpemVJdGVtcyA9IGluaXRpYWxTaXplOworICAgIH0gZWxzZSBpZiAobGlzdC0+c2l6ZUl0ZW1zIDw9IGxpc3QtPm5iSXRlbXMpIHsKKwlsaXN0LT5zaXplSXRlbXMgKj0gMjsKKwlsaXN0LT5pdGVtcyA9ICh2b2lkICoqKSB4bWxSZWFsbG9jKGxpc3QtPml0ZW1zLAorCSAgICBsaXN0LT5zaXplSXRlbXMgKiBzaXplb2Yodm9pZCAqKSk7CisJaWYgKGxpc3QtPml0ZW1zID09IE5VTEwpIHsKKwkgICAgeG1sU2NoZW1hUEVyck1lbW9yeShOVUxMLCAiZ3Jvd2luZyBpdGVtIGxpc3QiLCBOVUxMKTsKKwkgICAgbGlzdC0+c2l6ZUl0ZW1zID0gMDsKKwkgICAgcmV0dXJuKC0xKTsKKwl9CisgICAgfQorICAgIGxpc3QtPml0ZW1zW2xpc3QtPm5iSXRlbXMrK10gPSBpdGVtOworICAgIHJldHVybigwKTsKK30KKworc3RhdGljIGludAoreG1sU2NoZW1hSXRlbUxpc3RJbnNlcnQoeG1sU2NoZW1hSXRlbUxpc3RQdHIgbGlzdCwgdm9pZCAqaXRlbSwgaW50IGlkeCkKK3sKKyAgICBpZiAobGlzdC0+aXRlbXMgPT0gTlVMTCkgeworCWxpc3QtPml0ZW1zID0gKHZvaWQgKiopIHhtbE1hbGxvYygKKwkgICAgMjAgKiBzaXplb2Yodm9pZCAqKSk7CisJaWYgKGxpc3QtPml0ZW1zID09IE5VTEwpIHsKKwkgICAgeG1sU2NoZW1hUEVyck1lbW9yeShOVUxMLCAiYWxsb2NhdGluZyBuZXcgaXRlbSBsaXN0IiwgTlVMTCk7CisJICAgIHJldHVybigtMSk7CisJfQorCWxpc3QtPnNpemVJdGVtcyA9IDIwOworICAgIH0gZWxzZSBpZiAobGlzdC0+c2l6ZUl0ZW1zIDw9IGxpc3QtPm5iSXRlbXMpIHsKKwlsaXN0LT5zaXplSXRlbXMgKj0gMjsKKwlsaXN0LT5pdGVtcyA9ICh2b2lkICoqKSB4bWxSZWFsbG9jKGxpc3QtPml0ZW1zLAorCSAgICBsaXN0LT5zaXplSXRlbXMgKiBzaXplb2Yodm9pZCAqKSk7CisJaWYgKGxpc3QtPml0ZW1zID09IE5VTEwpIHsKKwkgICAgeG1sU2NoZW1hUEVyck1lbW9yeShOVUxMLCAiZ3Jvd2luZyBpdGVtIGxpc3QiLCBOVUxMKTsKKwkgICAgbGlzdC0+c2l6ZUl0ZW1zID0gMDsKKwkgICAgcmV0dXJuKC0xKTsKKwl9CisgICAgfQorICAgIC8qCisgICAgKiBKdXN0IGFwcGVuZCBpZiB0aGUgaW5kZXggaXMgZ3JlYXRlci9lcXVhbCB0aGFuIHRoZSBpdGVtIGNvdW50LgorICAgICovCisgICAgaWYgKGlkeCA+PSBsaXN0LT5uYkl0ZW1zKSB7CisJbGlzdC0+aXRlbXNbbGlzdC0+bmJJdGVtcysrXSA9IGl0ZW07CisgICAgfSBlbHNlIHsKKwlpbnQgaTsKKwlmb3IgKGkgPSBsaXN0LT5uYkl0ZW1zOyBpID4gaWR4OyBpLS0pCisJICAgIGxpc3QtPml0ZW1zW2ldID0gbGlzdC0+aXRlbXNbaS0xXTsKKwlsaXN0LT5pdGVtc1tpZHhdID0gaXRlbTsKKwlsaXN0LT5uYkl0ZW1zKys7CisgICAgfQorICAgIHJldHVybigwKTsKK30KKworI2lmIDAgLyogZW5hYmxlIGlmIGV2ZXIgbmVlZGVkICovCitzdGF0aWMgaW50Cit4bWxTY2hlbWFJdGVtTGlzdEluc2VydFNpemUoeG1sU2NoZW1hSXRlbUxpc3RQdHIgbGlzdCwKKwkJCSAgICBpbnQgaW5pdGlhbFNpemUsCisJCQkgICAgdm9pZCAqaXRlbSwKKwkJCSAgICBpbnQgaWR4KQoreworICAgIGlmIChsaXN0LT5pdGVtcyA9PSBOVUxMKSB7CisJaWYgKGluaXRpYWxTaXplIDw9IDApCisJICAgIGluaXRpYWxTaXplID0gMTsKKwlsaXN0LT5pdGVtcyA9ICh2b2lkICoqKSB4bWxNYWxsb2MoCisJICAgIGluaXRpYWxTaXplICogc2l6ZW9mKHZvaWQgKikpOworCWlmIChsaXN0LT5pdGVtcyA9PSBOVUxMKSB7CisJICAgIHhtbFNjaGVtYVBFcnJNZW1vcnkoTlVMTCwgImFsbG9jYXRpbmcgbmV3IGl0ZW0gbGlzdCIsIE5VTEwpOworCSAgICByZXR1cm4oLTEpOworCX0KKwlsaXN0LT5zaXplSXRlbXMgPSBpbml0aWFsU2l6ZTsKKyAgICB9IGVsc2UgaWYgKGxpc3QtPnNpemVJdGVtcyA8PSBsaXN0LT5uYkl0ZW1zKSB7CisJbGlzdC0+c2l6ZUl0ZW1zICo9IDI7CisJbGlzdC0+aXRlbXMgPSAodm9pZCAqKikgeG1sUmVhbGxvYyhsaXN0LT5pdGVtcywKKwkgICAgbGlzdC0+c2l6ZUl0ZW1zICogc2l6ZW9mKHZvaWQgKikpOworCWlmIChsaXN0LT5pdGVtcyA9PSBOVUxMKSB7CisJICAgIHhtbFNjaGVtYVBFcnJNZW1vcnkoTlVMTCwgImdyb3dpbmcgaXRlbSBsaXN0IiwgTlVMTCk7CisJICAgIGxpc3QtPnNpemVJdGVtcyA9IDA7CisJICAgIHJldHVybigtMSk7CisJfQorICAgIH0KKyAgICAvKgorICAgICogSnVzdCBhcHBlbmQgaWYgdGhlIGluZGV4IGlzIGdyZWF0ZXIvZXF1YWwgdGhhbiB0aGUgaXRlbSBjb3VudC4KKyAgICAqLworICAgIGlmIChpZHggPj0gbGlzdC0+bmJJdGVtcykgeworCWxpc3QtPml0ZW1zW2xpc3QtPm5iSXRlbXMrK10gPSBpdGVtOworICAgIH0gZWxzZSB7CisJaW50IGk7CisJZm9yIChpID0gbGlzdC0+bmJJdGVtczsgaSA+IGlkeDsgaS0tKQorCSAgICBsaXN0LT5pdGVtc1tpXSA9IGxpc3QtPml0ZW1zW2ktMV07CisJbGlzdC0+aXRlbXNbaWR4XSA9IGl0ZW07CisJbGlzdC0+bmJJdGVtcysrOworICAgIH0KKyAgICByZXR1cm4oMCk7Cit9CisjZW5kaWYKKworc3RhdGljIGludAoreG1sU2NoZW1hSXRlbUxpc3RSZW1vdmUoeG1sU2NoZW1hSXRlbUxpc3RQdHIgbGlzdCwgaW50IGlkeCkKK3sKKyAgICBpbnQgaTsKKyAgICBpZiAoKGxpc3QtPml0ZW1zID09IE5VTEwpIHx8IChpZHggPj0gbGlzdC0+bmJJdGVtcykpIHsKKwl4bWxTY2hlbWFQU2ltcGxlRXJyKCJJbnRlcm5hbCBlcnJvcjogeG1sU2NoZW1hSXRlbUxpc3RSZW1vdmUsICIKKwkgICAgImluZGV4IGVycm9yLlxuIik7CisJcmV0dXJuKC0xKTsKKyAgICB9CisKKyAgICBpZiAobGlzdC0+bmJJdGVtcyA9PSAxKSB7CisJLyogVE9ETzogUmVhbGx5IGZyZWUgdGhlIGxpc3Q/ICovCisJeG1sRnJlZShsaXN0LT5pdGVtcyk7CisJbGlzdC0+aXRlbXMgPSBOVUxMOworCWxpc3QtPm5iSXRlbXMgPSAwOworCWxpc3QtPnNpemVJdGVtcyA9IDA7CisgICAgfSBlbHNlIGlmIChsaXN0LT5uYkl0ZW1zIC0xID09IGlkeCkgeworCWxpc3QtPm5iSXRlbXMtLTsKKyAgICB9IGVsc2UgeworCWZvciAoaSA9IGlkeDsgaSA8IGxpc3QtPm5iSXRlbXMgLTE7IGkrKykKKwkgICAgbGlzdC0+aXRlbXNbaV0gPSBsaXN0LT5pdGVtc1tpKzFdOworCWxpc3QtPm5iSXRlbXMtLTsKKyAgICB9CisgICAgcmV0dXJuKDApOworfQorCisvKioKKyAqIHhtbFNjaGVtYUl0ZW1MaXN0RnJlZToKKyAqIEBhbm5vdDogIGEgc2NoZW1hIHR5cGUgc3RydWN0dXJlCisgKgorICogRGVhbGxvY2F0ZSBhIGFubm90YXRpb24gc3RydWN0dXJlCisgKi8KK3N0YXRpYyB2b2lkCit4bWxTY2hlbWFJdGVtTGlzdEZyZWUoeG1sU2NoZW1hSXRlbUxpc3RQdHIgbGlzdCkKK3sKKyAgICBpZiAobGlzdCA9PSBOVUxMKQorCXJldHVybjsKKyAgICBpZiAobGlzdC0+aXRlbXMgIT0gTlVMTCkKKwl4bWxGcmVlKGxpc3QtPml0ZW1zKTsKKyAgICB4bWxGcmVlKGxpc3QpOworfQorCitzdGF0aWMgdm9pZAoreG1sU2NoZW1hQnVja2V0RnJlZSh4bWxTY2hlbWFCdWNrZXRQdHIgYnVja2V0KQoreworICAgIGlmIChidWNrZXQgPT0gTlVMTCkKKwlyZXR1cm47CisgICAgaWYgKGJ1Y2tldC0+Z2xvYmFscyAhPSBOVUxMKSB7CisJeG1sU2NoZW1hQ29tcG9uZW50TGlzdEZyZWUoYnVja2V0LT5nbG9iYWxzKTsKKwl4bWxTY2hlbWFJdGVtTGlzdEZyZWUoYnVja2V0LT5nbG9iYWxzKTsKKyAgICB9CisgICAgaWYgKGJ1Y2tldC0+bG9jYWxzICE9IE5VTEwpIHsKKwl4bWxTY2hlbWFDb21wb25lbnRMaXN0RnJlZShidWNrZXQtPmxvY2Fscyk7CisJeG1sU2NoZW1hSXRlbUxpc3RGcmVlKGJ1Y2tldC0+bG9jYWxzKTsKKyAgICB9CisgICAgaWYgKGJ1Y2tldC0+cmVsYXRpb25zICE9IE5VTEwpIHsKKwl4bWxTY2hlbWFTY2hlbWFSZWxhdGlvblB0ciBwcmV2LCBjdXIgPSBidWNrZXQtPnJlbGF0aW9uczsKKwlkbyB7CisJICAgIHByZXYgPSBjdXI7CisJICAgIGN1ciA9IGN1ci0+bmV4dDsKKwkgICAgeG1sRnJlZShwcmV2KTsKKwl9IHdoaWxlIChjdXIgIT0gTlVMTCk7CisgICAgfQorICAgIGlmICgoISBidWNrZXQtPnByZXNlcnZlRG9jKSAmJiAoYnVja2V0LT5kb2MgIT0gTlVMTCkpIHsKKwl4bWxGcmVlRG9jKGJ1Y2tldC0+ZG9jKTsKKyAgICB9CisgICAgaWYgKGJ1Y2tldC0+dHlwZSA9PSBYTUxfU0NIRU1BX1NDSEVNQV9JTVBPUlQpIHsKKwlpZiAoV1hTX0lNUEJVQ0tFVChidWNrZXQpLT5zY2hlbWEgIT0gTlVMTCkKKwkgICAgeG1sU2NoZW1hRnJlZShXWFNfSU1QQlVDS0VUKGJ1Y2tldCktPnNjaGVtYSk7CisgICAgfQorICAgIHhtbEZyZWUoYnVja2V0KTsKK30KKworc3RhdGljIHhtbFNjaGVtYUJ1Y2tldFB0cgoreG1sU2NoZW1hQnVja2V0Q3JlYXRlKHhtbFNjaGVtYVBhcnNlckN0eHRQdHIgcGN0eHQsCisJCQkgaW50IHR5cGUsIGNvbnN0IHhtbENoYXIgKnRhcmdldE5hbWVzcGFjZSkKK3sKKyAgICB4bWxTY2hlbWFCdWNrZXRQdHIgcmV0OworICAgIGludCBzaXplOworICAgIHhtbFNjaGVtYVB0ciBtYWluU2NoZW1hOworCisgICAgaWYgKFdYU19DT05TVFJVQ1RPUihwY3R4dCktPm1haW5TY2hlbWEgPT0gTlVMTCkgeworCVBFUlJPUl9JTlQoInhtbFNjaGVtYUJ1Y2tldENyZWF0ZSIsCisJICAgICJubyBtYWluIHNjaGVtYSBvbiBjb25zdHJ1Y3RvciIpOworCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgbWFpblNjaGVtYSA9IFdYU19DT05TVFJVQ1RPUihwY3R4dCktPm1haW5TY2hlbWE7CisgICAgLyogQ3JlYXRlIHRoZSBzY2hlbWEgYnVja2V0LiAqLworICAgIGlmIChXWFNfSVNfQlVDS0VUX0lOQ1JFREVGKHR5cGUpKQorCXNpemUgPSBzaXplb2YoeG1sU2NoZW1hSW5jbHVkZSk7CisgICAgZWxzZQorCXNpemUgPSBzaXplb2YoeG1sU2NoZW1hSW1wb3J0KTsKKyAgICByZXQgPSAoeG1sU2NoZW1hQnVja2V0UHRyKSB4bWxNYWxsb2Moc2l6ZSk7CisgICAgaWYgKHJldCA9PSBOVUxMKSB7CisJeG1sU2NoZW1hUEVyck1lbW9yeShOVUxMLCAiYWxsb2NhdGluZyBzY2hlbWEgYnVja2V0IiwgTlVMTCk7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBtZW1zZXQocmV0LCAwLCBzaXplKTsKKyAgICByZXQtPnRhcmdldE5hbWVzcGFjZSA9IHRhcmdldE5hbWVzcGFjZTsKKyAgICByZXQtPnR5cGUgPSB0eXBlOworICAgIHJldC0+Z2xvYmFscyA9IHhtbFNjaGVtYUl0ZW1MaXN0Q3JlYXRlKCk7CisgICAgaWYgKHJldC0+Z2xvYmFscyA9PSBOVUxMKSB7CisJeG1sRnJlZShyZXQpOworCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgcmV0LT5sb2NhbHMgPSB4bWxTY2hlbWFJdGVtTGlzdENyZWF0ZSgpOworICAgIGlmIChyZXQtPmxvY2FscyA9PSBOVUxMKSB7CisJeG1sRnJlZShyZXQpOworCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgLyoKKyAgICAqIFRoZSBmb2xsb3dpbmcgd2lsbCBhc3N1cmUgdGhhdCBvbmx5IHRoZSBmaXJzdCBidWNrZXQgaXMgbWFya2VkIGFzCisgICAgKiBYTUxfU0NIRU1BX1NDSEVNQV9NQUlOIGFuZCBpdCBwb2ludHMgdG8gdGhlICptYWluKiBzY2hlbWEuCisgICAgKiBGb3IgZWFjaCBmb2xsb3dpbmcgaW1wb3J0IGJ1Y2tldHMgYW4geG1sU2NoZW1hIHdpbGwgYmUgY3JlYXRlZC4KKyAgICAqIEFuIHhtbFNjaGVtYSB3aWxsIGJlIGNyZWF0ZWQgZm9yIGV2ZXJ5IGRpc3RpbmN0IHRhcmdldE5hbWVzcGFjZS4KKyAgICAqIFdlIGFzc2lnbiB0aGUgdGFyZ2V0TmFtZXNwYWNlIHRvIHRoZSBzY2hlbWF0YSBoZXJlLgorICAgICovCisgICAgaWYgKCEgV1hTX0hBU19CVUNLRVRTKHBjdHh0KSkgeworCWlmIChXWFNfSVNfQlVDS0VUX0lOQ1JFREVGKHR5cGUpKSB7CisJICAgIFBFUlJPUl9JTlQoInhtbFNjaGVtYUJ1Y2tldENyZWF0ZSIsCisJCSJmaXJzdCBidWNrZXQgYnV0IGl0J3MgYW4gaW5jbHVkZSBvciByZWRlZmluZSIpOworCSAgICB4bWxTY2hlbWFCdWNrZXRGcmVlKHJldCk7CisJICAgIHJldHVybihOVUxMKTsKKwl9CisJLyogRm9yY2UgdGhlIHR5cGUgdG8gYmUgWE1MX1NDSEVNQV9TQ0hFTUFfTUFJTi4gKi8KKwlyZXQtPnR5cGUgPSBYTUxfU0NIRU1BX1NDSEVNQV9NQUlOOworCS8qIFBvaW50IHRvIHRoZSAqbWFpbiogc2NoZW1hLiAqLworCVdYU19DT05TVFJVQ1RPUihwY3R4dCktPm1haW5CdWNrZXQgPSByZXQ7CisJV1hTX0lNUEJVQ0tFVChyZXQpLT5zY2hlbWEgPSBtYWluU2NoZW1hOworCS8qCisJKiBFbnN1cmUgdGhhdCB0aGUgbWFpbiBzY2hlbWEgZ2V0cyBhIHRhcmdldE5hbWVzcGFjZS4KKwkqLworCW1haW5TY2hlbWEtPnRhcmdldE5hbWVzcGFjZSA9IHRhcmdldE5hbWVzcGFjZTsKKyAgICB9IGVsc2UgeworCWlmICh0eXBlID09IFhNTF9TQ0hFTUFfU0NIRU1BX01BSU4pIHsKKwkgICAgUEVSUk9SX0lOVCgieG1sU2NoZW1hQnVja2V0Q3JlYXRlIiwKKwkJIm1haW4gYnVja2V0IGJ1dCBpdCdzIG5vdCB0aGUgZmlyc3Qgb25lIik7CisJICAgIHhtbFNjaGVtYUJ1Y2tldEZyZWUocmV0KTsKKwkgICAgcmV0dXJuKE5VTEwpOworCX0gZWxzZSBpZiAodHlwZSA9PSBYTUxfU0NIRU1BX1NDSEVNQV9JTVBPUlQpIHsKKwkgICAgLyoKKwkgICAgKiBDcmVhdGUgYSBzY2hlbWEgZm9yIGltcG9ydHMgYW5kIGFzc2lnbiB0aGUKKwkgICAgKiB0YXJnZXROYW1lc3BhY2UuCisJICAgICovCisJICAgIFdYU19JTVBCVUNLRVQocmV0KS0+c2NoZW1hID0geG1sU2NoZW1hTmV3U2NoZW1hKHBjdHh0KTsKKwkgICAgaWYgKFdYU19JTVBCVUNLRVQocmV0KS0+c2NoZW1hID09IE5VTEwpIHsKKwkJeG1sU2NoZW1hQnVja2V0RnJlZShyZXQpOworCQlyZXR1cm4oTlVMTCk7CisJICAgIH0KKwkgICAgV1hTX0lNUEJVQ0tFVChyZXQpLT5zY2hlbWEtPnRhcmdldE5hbWVzcGFjZSA9IHRhcmdldE5hbWVzcGFjZTsKKwl9CisgICAgfQorICAgIGlmIChXWFNfSVNfQlVDS0VUX0lNUE1BSU4odHlwZSkpIHsKKwlpbnQgcmVzOworCS8qCisJKiBJbXBvcnRzIGdvIGludG8gdGhlICJzY2hlbWFzSW1wb3J0cyIgc2xvdCBvZiB0aGUgbWFpbiAqc2NoZW1hKi4KKwkqIE5vdGUgdGhhdCB3ZSBjcmVhdGUgYW4gaW1wb3J0IGVudHJ5IGZvciB0aGUgbWFpbiBzY2hlbWEgYXMgd2VsbDsgaS5lLiwKKwkqIGV2ZW4gaWYgdGhlcmUncyBvbmx5IG9uZSBzY2hlbWEsIHdlJ2xsIGdldCBhbiBpbXBvcnQuCisJKi8KKwlpZiAobWFpblNjaGVtYS0+c2NoZW1hc0ltcG9ydHMgPT0gTlVMTCkgeworCSAgICBtYWluU2NoZW1hLT5zY2hlbWFzSW1wb3J0cyA9IHhtbEhhc2hDcmVhdGVEaWN0KDUsCisJCVdYU19DT05TVFJVQ1RPUihwY3R4dCktPmRpY3QpOworCSAgICBpZiAobWFpblNjaGVtYS0+c2NoZW1hc0ltcG9ydHMgPT0gTlVMTCkgeworCQl4bWxTY2hlbWFCdWNrZXRGcmVlKHJldCk7CisJCXJldHVybihOVUxMKTsKKwkgICAgfQorCX0KKwlpZiAodGFyZ2V0TmFtZXNwYWNlID09IE5VTEwpCisJICAgIHJlcyA9IHhtbEhhc2hBZGRFbnRyeShtYWluU2NoZW1hLT5zY2hlbWFzSW1wb3J0cywKKwkJWE1MX1NDSEVNQVNfTk9fTkFNRVNQQUNFLCByZXQpOworCWVsc2UKKwkgICAgcmVzID0geG1sSGFzaEFkZEVudHJ5KG1haW5TY2hlbWEtPnNjaGVtYXNJbXBvcnRzLAorCQl0YXJnZXROYW1lc3BhY2UsIHJldCk7CisJaWYgKHJlcyAhPSAwKSB7CisJICAgIFBFUlJPUl9JTlQoInhtbFNjaGVtYUJ1Y2tldENyZWF0ZSIsCisJCSJmYWlsZWQgdG8gYWRkIHRoZSBzY2hlbWEgYnVja2V0IHRvIHRoZSBoYXNoIik7CisJICAgIHhtbFNjaGVtYUJ1Y2tldEZyZWUocmV0KTsKKwkgICAgcmV0dXJuKE5VTEwpOworCX0KKyAgICB9IGVsc2UgeworCS8qIFNldCB0aGUgQG93bmVySW1wb3J0IG9mIGFuIGluY2x1ZGUgYnVja2V0LiAqLworCWlmIChXWFNfSVNfQlVDS0VUX0lNUE1BSU4oV1hTX0NPTlNUUlVDVE9SKHBjdHh0KS0+YnVja2V0LT50eXBlKSkKKwkgICAgV1hTX0lOQ0JVQ0tFVChyZXQpLT5vd25lckltcG9ydCA9CisJCVdYU19JTVBCVUNLRVQoV1hTX0NPTlNUUlVDVE9SKHBjdHh0KS0+YnVja2V0KTsKKwllbHNlCisJICAgIFdYU19JTkNCVUNLRVQocmV0KS0+b3duZXJJbXBvcnQgPQorCQlXWFNfSU5DQlVDS0VUKFdYU19DT05TVFJVQ1RPUihwY3R4dCktPmJ1Y2tldCktPm93bmVySW1wb3J0OworCisJLyogSW5jbHVkZXMgZ290IGludG8gdGhlICJpbmNsdWRlcyIgc2xvdCBvZiB0aGUgKm1haW4qIHNjaGVtYS4gKi8KKwlpZiAobWFpblNjaGVtYS0+aW5jbHVkZXMgPT0gTlVMTCkgeworCSAgICBtYWluU2NoZW1hLT5pbmNsdWRlcyA9IHhtbFNjaGVtYUl0ZW1MaXN0Q3JlYXRlKCk7CisJICAgIGlmIChtYWluU2NoZW1hLT5pbmNsdWRlcyA9PSBOVUxMKSB7CisJCXhtbFNjaGVtYUJ1Y2tldEZyZWUocmV0KTsKKwkJcmV0dXJuKE5VTEwpOworCSAgICB9CisJfQorCXhtbFNjaGVtYUl0ZW1MaXN0QWRkKG1haW5TY2hlbWEtPmluY2x1ZGVzLCByZXQpOworICAgIH0KKyAgICAvKgorICAgICogQWRkIHRvIGxpc3Qgb2YgYWxsIGJ1Y2tldHM7IHRoaXMgaXMgdXNlZCBmb3IgbG9va3VwCisgICAgKiBkdXJpbmcgc2NoZW1hIGNvbnN0cnVjdGlvbiB0aW1lIG9ubHkuCisgICAgKi8KKyAgICBpZiAoeG1sU2NoZW1hSXRlbUxpc3RBZGQoV1hTX0NPTlNUUlVDVE9SKHBjdHh0KS0+YnVja2V0cywgcmV0KSA9PSAtMSkKKwlyZXR1cm4oTlVMTCk7CisgICAgcmV0dXJuKHJldCk7Cit9CisKK3N0YXRpYyBpbnQKK3htbFNjaGVtYUFkZEl0ZW1TaXplKHhtbFNjaGVtYUl0ZW1MaXN0UHRyICpsaXN0LCBpbnQgaW5pdGlhbFNpemUsIHZvaWQgKml0ZW0pCit7CisgICAgaWYgKCpsaXN0ID09IE5VTEwpIHsKKwkqbGlzdCA9IHhtbFNjaGVtYUl0ZW1MaXN0Q3JlYXRlKCk7CisJaWYgKCpsaXN0ID09IE5VTEwpCisJICAgIHJldHVybigtMSk7CisgICAgfQorICAgIHhtbFNjaGVtYUl0ZW1MaXN0QWRkU2l6ZSgqbGlzdCwgaW5pdGlhbFNpemUsIGl0ZW0pOworICAgIHJldHVybigwKTsKK30KKworLyoqCisgKiB4bWxTY2hlbWFGcmVlQW5ub3Q6CisgKiBAYW5ub3Q6ICBhIHNjaGVtYSB0eXBlIHN0cnVjdHVyZQorICoKKyAqIERlYWxsb2NhdGUgYSBhbm5vdGF0aW9uIHN0cnVjdHVyZQorICovCitzdGF0aWMgdm9pZAoreG1sU2NoZW1hRnJlZUFubm90KHhtbFNjaGVtYUFubm90UHRyIGFubm90KQoreworICAgIGlmIChhbm5vdCA9PSBOVUxMKQorICAgICAgICByZXR1cm47CisgICAgaWYgKGFubm90LT5uZXh0ID09IE5VTEwpIHsKKwl4bWxGcmVlKGFubm90KTsKKyAgICB9IGVsc2UgeworCXhtbFNjaGVtYUFubm90UHRyIHByZXY7CisKKwlkbyB7CisJICAgIHByZXYgPSBhbm5vdDsKKwkgICAgYW5ub3QgPSBhbm5vdC0+bmV4dDsKKwkgICAgeG1sRnJlZShwcmV2KTsKKwl9IHdoaWxlIChhbm5vdCAhPSBOVUxMKTsKKyAgICB9Cit9CisKKy8qKgorICogeG1sU2NoZW1hRnJlZU5vdGF0aW9uOgorICogQHNjaGVtYTogIGEgc2NoZW1hIG5vdGF0aW9uIHN0cnVjdHVyZQorICoKKyAqIERlYWxsb2NhdGUgYSBTY2hlbWEgTm90YXRpb24gc3RydWN0dXJlLgorICovCitzdGF0aWMgdm9pZAoreG1sU2NoZW1hRnJlZU5vdGF0aW9uKHhtbFNjaGVtYU5vdGF0aW9uUHRyIG5vdGEpCit7CisgICAgaWYgKG5vdGEgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuOworICAgIHhtbEZyZWUobm90YSk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hRnJlZUF0dHJpYnV0ZToKKyAqIEBhdHRyOiAgYW4gYXR0cmlidXRlIGRlY2xhcmF0aW9uCisgKgorICogRGVhbGxvY2F0ZXMgYW4gYXR0cmlidXRlIGRlY2xhcmF0aW9uIHN0cnVjdHVyZS4KKyAqLworc3RhdGljIHZvaWQKK3htbFNjaGVtYUZyZWVBdHRyaWJ1dGUoeG1sU2NoZW1hQXR0cmlidXRlUHRyIGF0dHIpCit7CisgICAgaWYgKGF0dHIgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuOworICAgIGlmIChhdHRyLT5hbm5vdCAhPSBOVUxMKQorCXhtbFNjaGVtYUZyZWVBbm5vdChhdHRyLT5hbm5vdCk7CisgICAgaWYgKGF0dHItPmRlZlZhbCAhPSBOVUxMKQorCXhtbFNjaGVtYUZyZWVWYWx1ZShhdHRyLT5kZWZWYWwpOworICAgIHhtbEZyZWUoYXR0cik7Cit9CisKKy8qKgorICogeG1sU2NoZW1hRnJlZUF0dHJpYnV0ZVVzZToKKyAqIEB1c2U6ICBhbiBhdHRyaWJ1dGUgdXNlCisgKgorICogRGVhbGxvY2F0ZXMgYW4gYXR0cmlidXRlIHVzZSBzdHJ1Y3R1cmUuCisgKi8KK3N0YXRpYyB2b2lkCit4bWxTY2hlbWFGcmVlQXR0cmlidXRlVXNlKHhtbFNjaGVtYUF0dHJpYnV0ZVVzZVB0ciB1c2UpCit7CisgICAgaWYgKHVzZSA9PSBOVUxMKQorICAgICAgICByZXR1cm47CisgICAgaWYgKHVzZS0+YW5ub3QgIT0gTlVMTCkKKwl4bWxTY2hlbWFGcmVlQW5ub3QodXNlLT5hbm5vdCk7CisgICAgaWYgKHVzZS0+ZGVmVmFsICE9IE5VTEwpCisJeG1sU2NoZW1hRnJlZVZhbHVlKHVzZS0+ZGVmVmFsKTsKKyAgICB4bWxGcmVlKHVzZSk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hRnJlZUF0dHJpYnV0ZVVzZVByb2hpYjoKKyAqIEBwcm9oaWI6ICBhbiBhdHRyaWJ1dGUgdXNlIHByb2hpYml0aW9uCisgKgorICogRGVhbGxvY2F0ZXMgYW4gYXR0cmlidXRlIHVzZSBzdHJ1Y3R1cmUuCisgKi8KK3N0YXRpYyB2b2lkCit4bWxTY2hlbWFGcmVlQXR0cmlidXRlVXNlUHJvaGliKHhtbFNjaGVtYUF0dHJpYnV0ZVVzZVByb2hpYlB0ciBwcm9oaWIpCit7CisgICAgaWYgKHByb2hpYiA9PSBOVUxMKQorICAgICAgICByZXR1cm47CisgICAgeG1sRnJlZShwcm9oaWIpOworfQorCisvKioKKyAqIHhtbFNjaGVtYUZyZWVXaWxkY2FyZE5zU2V0OgorICogc2V0OiAgYSBzY2hlbWEgd2lsZGNhcmQgbmFtZXNwYWNlCisgKgorICogRGVhbGxvY2F0ZXMgYSBsaXN0IG9mIHdpbGRjYXJkIGNvbnN0cmFpbnQgc3RydWN0dXJlcy4KKyAqLworc3RhdGljIHZvaWQKK3htbFNjaGVtYUZyZWVXaWxkY2FyZE5zU2V0KHhtbFNjaGVtYVdpbGRjYXJkTnNQdHIgc2V0KQoreworICAgIHhtbFNjaGVtYVdpbGRjYXJkTnNQdHIgbmV4dDsKKworICAgIHdoaWxlIChzZXQgIT0gTlVMTCkgeworCW5leHQgPSBzZXQtPm5leHQ7CisJeG1sRnJlZShzZXQpOworCXNldCA9IG5leHQ7CisgICAgfQorfQorCisvKioKKyAqIHhtbFNjaGVtYUZyZWVXaWxkY2FyZDoKKyAqIEB3aWxkY2FyZDogIGEgd2lsZGNhcmQgc3RydWN0dXJlCisgKgorICogRGVhbGxvY2F0ZXMgYSB3aWxkY2FyZCBzdHJ1Y3R1cmUuCisgKi8KK3ZvaWQKK3htbFNjaGVtYUZyZWVXaWxkY2FyZCh4bWxTY2hlbWFXaWxkY2FyZFB0ciB3aWxkY2FyZCkKK3sKKyAgICBpZiAod2lsZGNhcmQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuOworICAgIGlmICh3aWxkY2FyZC0+YW5ub3QgIT0gTlVMTCkKKyAgICAgICAgeG1sU2NoZW1hRnJlZUFubm90KHdpbGRjYXJkLT5hbm5vdCk7CisgICAgaWYgKHdpbGRjYXJkLT5uc1NldCAhPSBOVUxMKQorCXhtbFNjaGVtYUZyZWVXaWxkY2FyZE5zU2V0KHdpbGRjYXJkLT5uc1NldCk7CisgICAgaWYgKHdpbGRjYXJkLT5uZWdOc1NldCAhPSBOVUxMKQorCXhtbEZyZWUod2lsZGNhcmQtPm5lZ05zU2V0KTsKKyAgICB4bWxGcmVlKHdpbGRjYXJkKTsKK30KKworLyoqCisgKiB4bWxTY2hlbWFGcmVlQXR0cmlidXRlR3JvdXA6CisgKiBAc2NoZW1hOiAgYSBzY2hlbWEgYXR0cmlidXRlIGdyb3VwIHN0cnVjdHVyZQorICoKKyAqIERlYWxsb2NhdGUgYSBTY2hlbWEgQXR0cmlidXRlIEdyb3VwIHN0cnVjdHVyZS4KKyAqLworc3RhdGljIHZvaWQKK3htbFNjaGVtYUZyZWVBdHRyaWJ1dGVHcm91cCh4bWxTY2hlbWFBdHRyaWJ1dGVHcm91cFB0ciBhdHRyR3IpCit7CisgICAgaWYgKGF0dHJHciA9PSBOVUxMKQorICAgICAgICByZXR1cm47CisgICAgaWYgKGF0dHJHci0+YW5ub3QgIT0gTlVMTCkKKyAgICAgICAgeG1sU2NoZW1hRnJlZUFubm90KGF0dHJHci0+YW5ub3QpOworICAgIGlmIChhdHRyR3ItPmF0dHJVc2VzICE9IE5VTEwpCisJeG1sU2NoZW1hSXRlbUxpc3RGcmVlKFdYU19MSVNUX0NBU1QgYXR0ckdyLT5hdHRyVXNlcyk7CisgICAgeG1sRnJlZShhdHRyR3IpOworfQorCisvKioKKyAqIHhtbFNjaGVtYUZyZWVRTmFtZVJlZjoKKyAqIEBpdGVtOiBhIFFOYW1lIHJlZmVyZW5jZSBzdHJ1Y3R1cmUKKyAqCisgKiBEZWFsbG9jYXRlYSBhIFFOYW1lIHJlZmVyZW5jZSBzdHJ1Y3R1cmUuCisgKi8KK3N0YXRpYyB2b2lkCit4bWxTY2hlbWFGcmVlUU5hbWVSZWYoeG1sU2NoZW1hUU5hbWVSZWZQdHIgaXRlbSkKK3sKKyAgICB4bWxGcmVlKGl0ZW0pOworfQorCisvKioKKyAqIHhtbFNjaGVtYUZyZWVUeXBlTGlua0xpc3Q6CisgKiBAYWxpbms6IGEgdHlwZSBsaW5rCisgKgorICogRGVhbGxvY2F0ZSBhIGxpc3Qgb2YgdHlwZXMuCisgKi8KK3N0YXRpYyB2b2lkCit4bWxTY2hlbWFGcmVlVHlwZUxpbmtMaXN0KHhtbFNjaGVtYVR5cGVMaW5rUHRyIGxpbmspCit7CisgICAgeG1sU2NoZW1hVHlwZUxpbmtQdHIgbmV4dDsKKworICAgIHdoaWxlIChsaW5rICE9IE5VTEwpIHsKKwluZXh0ID0gbGluay0+bmV4dDsKKwl4bWxGcmVlKGxpbmspOworCWxpbmsgPSBuZXh0OworICAgIH0KK30KKworc3RhdGljIHZvaWQKK3htbFNjaGVtYUZyZWVJRENTdGF0ZU9iakxpc3QoeG1sU2NoZW1hSURDU3RhdGVPYmpQdHIgc3RvKQoreworICAgIHhtbFNjaGVtYUlEQ1N0YXRlT2JqUHRyIG5leHQ7CisgICAgd2hpbGUgKHN0byAhPSBOVUxMKSB7CisJbmV4dCA9IHN0by0+bmV4dDsKKwlpZiAoc3RvLT5oaXN0b3J5ICE9IE5VTEwpCisJICAgIHhtbEZyZWUoc3RvLT5oaXN0b3J5KTsKKwlpZiAoc3RvLT54cGF0aEN0eHQgIT0gTlVMTCkKKwkgICAgeG1sRnJlZVN0cmVhbUN0eHQoKHhtbFN0cmVhbUN0eHRQdHIpIHN0by0+eHBhdGhDdHh0KTsKKwl4bWxGcmVlKHN0byk7CisJc3RvID0gbmV4dDsKKyAgICB9Cit9CisKKy8qKgorICogeG1sU2NoZW1hRnJlZUlEQzoKKyAqIEBpZGM6IGEgaWRlbnRpdHktY29uc3RyYWludCBkZWZpbml0aW9uCisgKgorICogRGVhbGxvY2F0ZXMgYW4gaWRlbnRpdHktY29uc3RyYWludCBkZWZpbml0aW9uLgorICovCitzdGF0aWMgdm9pZAoreG1sU2NoZW1hRnJlZUlEQyh4bWxTY2hlbWFJRENQdHIgaWRjRGVmKQoreworICAgIHhtbFNjaGVtYUlEQ1NlbGVjdFB0ciBjdXIsIHByZXY7CisKKyAgICBpZiAoaWRjRGVmID09IE5VTEwpCisJcmV0dXJuOworICAgIGlmIChpZGNEZWYtPmFubm90ICE9IE5VTEwpCisgICAgICAgIHhtbFNjaGVtYUZyZWVBbm5vdChpZGNEZWYtPmFubm90KTsKKyAgICAvKiBTZWxlY3RvciAqLworICAgIGlmIChpZGNEZWYtPnNlbGVjdG9yICE9IE5VTEwpIHsKKwlpZiAoaWRjRGVmLT5zZWxlY3Rvci0+eHBhdGhDb21wICE9IE5VTEwpCisJICAgIHhtbEZyZWVQYXR0ZXJuKCh4bWxQYXR0ZXJuUHRyKSBpZGNEZWYtPnNlbGVjdG9yLT54cGF0aENvbXApOworCXhtbEZyZWUoaWRjRGVmLT5zZWxlY3Rvcik7CisgICAgfQorICAgIC8qIEZpZWxkcyAqLworICAgIGlmIChpZGNEZWYtPmZpZWxkcyAhPSBOVUxMKSB7CisJY3VyID0gaWRjRGVmLT5maWVsZHM7CisJZG8geworCSAgICBwcmV2ID0gY3VyOworCSAgICBjdXIgPSBjdXItPm5leHQ7CisJICAgIGlmIChwcmV2LT54cGF0aENvbXAgIT0gTlVMTCkKKwkJeG1sRnJlZVBhdHRlcm4oKHhtbFBhdHRlcm5QdHIpIHByZXYtPnhwYXRoQ29tcCk7CisJICAgIHhtbEZyZWUocHJldik7CisJfSB3aGlsZSAoY3VyICE9IE5VTEwpOworICAgIH0KKyAgICB4bWxGcmVlKGlkY0RlZik7Cit9CisKKy8qKgorICogeG1sU2NoZW1hRnJlZUVsZW1lbnQ6CisgKiBAc2NoZW1hOiAgYSBzY2hlbWEgZWxlbWVudCBzdHJ1Y3R1cmUKKyAqCisgKiBEZWFsbG9jYXRlIGEgU2NoZW1hIEVsZW1lbnQgc3RydWN0dXJlLgorICovCitzdGF0aWMgdm9pZAoreG1sU2NoZW1hRnJlZUVsZW1lbnQoeG1sU2NoZW1hRWxlbWVudFB0ciBlbGVtKQoreworICAgIGlmIChlbGVtID09IE5VTEwpCisgICAgICAgIHJldHVybjsKKyAgICBpZiAoZWxlbS0+YW5ub3QgIT0gTlVMTCkKKyAgICAgICAgeG1sU2NoZW1hRnJlZUFubm90KGVsZW0tPmFubm90KTsKKyAgICBpZiAoZWxlbS0+Y29udE1vZGVsICE9IE5VTEwpCisgICAgICAgIHhtbFJlZ0ZyZWVSZWdleHAoZWxlbS0+Y29udE1vZGVsKTsKKyAgICBpZiAoZWxlbS0+ZGVmVmFsICE9IE5VTEwpCisJeG1sU2NoZW1hRnJlZVZhbHVlKGVsZW0tPmRlZlZhbCk7CisgICAgeG1sRnJlZShlbGVtKTsKK30KKworLyoqCisgKiB4bWxTY2hlbWFGcmVlRmFjZXQ6CisgKiBAZmFjZXQ6ICBhIHNjaGVtYSBmYWNldCBzdHJ1Y3R1cmUKKyAqCisgKiBEZWFsbG9jYXRlIGEgU2NoZW1hIEZhY2V0IHN0cnVjdHVyZS4KKyAqLwordm9pZAoreG1sU2NoZW1hRnJlZUZhY2V0KHhtbFNjaGVtYUZhY2V0UHRyIGZhY2V0KQoreworICAgIGlmIChmYWNldCA9PSBOVUxMKQorICAgICAgICByZXR1cm47CisgICAgaWYgKGZhY2V0LT52YWwgIT0gTlVMTCkKKyAgICAgICAgeG1sU2NoZW1hRnJlZVZhbHVlKGZhY2V0LT52YWwpOworICAgIGlmIChmYWNldC0+cmVnZXhwICE9IE5VTEwpCisgICAgICAgIHhtbFJlZ0ZyZWVSZWdleHAoZmFjZXQtPnJlZ2V4cCk7CisgICAgaWYgKGZhY2V0LT5hbm5vdCAhPSBOVUxMKQorICAgICAgICB4bWxTY2hlbWFGcmVlQW5ub3QoZmFjZXQtPmFubm90KTsKKyAgICB4bWxGcmVlKGZhY2V0KTsKK30KKworLyoqCisgKiB4bWxTY2hlbWFGcmVlVHlwZToKKyAqIEB0eXBlOiAgYSBzY2hlbWEgdHlwZSBzdHJ1Y3R1cmUKKyAqCisgKiBEZWFsbG9jYXRlIGEgU2NoZW1hIFR5cGUgc3RydWN0dXJlLgorICovCit2b2lkCit4bWxTY2hlbWFGcmVlVHlwZSh4bWxTY2hlbWFUeXBlUHRyIHR5cGUpCit7CisgICAgaWYgKHR5cGUgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuOworICAgIGlmICh0eXBlLT5hbm5vdCAhPSBOVUxMKQorICAgICAgICB4bWxTY2hlbWFGcmVlQW5ub3QodHlwZS0+YW5ub3QpOworICAgIGlmICh0eXBlLT5mYWNldHMgIT0gTlVMTCkgeworICAgICAgICB4bWxTY2hlbWFGYWNldFB0ciBmYWNldCwgbmV4dDsKKworICAgICAgICBmYWNldCA9IHR5cGUtPmZhY2V0czsKKyAgICAgICAgd2hpbGUgKGZhY2V0ICE9IE5VTEwpIHsKKyAgICAgICAgICAgIG5leHQgPSBmYWNldC0+bmV4dDsKKyAgICAgICAgICAgIHhtbFNjaGVtYUZyZWVGYWNldChmYWNldCk7CisgICAgICAgICAgICBmYWNldCA9IG5leHQ7CisgICAgICAgIH0KKyAgICB9CisgICAgaWYgKHR5cGUtPmF0dHJVc2VzICE9IE5VTEwpCisJeG1sU2NoZW1hSXRlbUxpc3RGcmVlKCh4bWxTY2hlbWFJdGVtTGlzdFB0cikgdHlwZS0+YXR0clVzZXMpOworICAgIGlmICh0eXBlLT5tZW1iZXJUeXBlcyAhPSBOVUxMKQorCXhtbFNjaGVtYUZyZWVUeXBlTGlua0xpc3QodHlwZS0+bWVtYmVyVHlwZXMpOworICAgIGlmICh0eXBlLT5mYWNldFNldCAhPSBOVUxMKSB7CisJeG1sU2NoZW1hRmFjZXRMaW5rUHRyIG5leHQsIGxpbms7CisKKwlsaW5rID0gdHlwZS0+ZmFjZXRTZXQ7CisJZG8geworCSAgICBuZXh0ID0gbGluay0+bmV4dDsKKwkgICAgeG1sRnJlZShsaW5rKTsKKwkgICAgbGluayA9IG5leHQ7CisJfSB3aGlsZSAobGluayAhPSBOVUxMKTsKKyAgICB9CisgICAgaWYgKHR5cGUtPmNvbnRNb2RlbCAhPSBOVUxMKQorICAgICAgICB4bWxSZWdGcmVlUmVnZXhwKHR5cGUtPmNvbnRNb2RlbCk7CisgICAgeG1sRnJlZSh0eXBlKTsKK30KKworLyoqCisgKiB4bWxTY2hlbWFGcmVlTW9kZWxHcm91cERlZjoKKyAqIEBpdGVtOiAgYSBzY2hlbWEgbW9kZWwgZ3JvdXAgZGVmaW5pdGlvbgorICoKKyAqIERlYWxsb2NhdGVzIGEgc2NoZW1hIG1vZGVsIGdyb3VwIGRlZmluaXRpb24uCisgKi8KK3N0YXRpYyB2b2lkCit4bWxTY2hlbWFGcmVlTW9kZWxHcm91cERlZih4bWxTY2hlbWFNb2RlbEdyb3VwRGVmUHRyIGl0ZW0pCit7CisgICAgaWYgKGl0ZW0tPmFubm90ICE9IE5VTEwpCisJeG1sU2NoZW1hRnJlZUFubm90KGl0ZW0tPmFubm90KTsKKyAgICB4bWxGcmVlKGl0ZW0pOworfQorCisvKioKKyAqIHhtbFNjaGVtYUZyZWVNb2RlbEdyb3VwOgorICogQGl0ZW06ICBhIHNjaGVtYSBtb2RlbCBncm91cAorICoKKyAqIERlYWxsb2NhdGVzIGEgc2NoZW1hIG1vZGVsIGdyb3VwIHN0cnVjdHVyZS4KKyAqLworc3RhdGljIHZvaWQKK3htbFNjaGVtYUZyZWVNb2RlbEdyb3VwKHhtbFNjaGVtYU1vZGVsR3JvdXBQdHIgaXRlbSkKK3sKKyAgICBpZiAoaXRlbS0+YW5ub3QgIT0gTlVMTCkKKwl4bWxTY2hlbWFGcmVlQW5ub3QoaXRlbS0+YW5ub3QpOworICAgIHhtbEZyZWUoaXRlbSk7Cit9CisKK3N0YXRpYyB2b2lkCit4bWxTY2hlbWFDb21wb25lbnRMaXN0RnJlZSh4bWxTY2hlbWFJdGVtTGlzdFB0ciBsaXN0KQoreworICAgIGlmICgobGlzdCA9PSBOVUxMKSB8fCAobGlzdC0+bmJJdGVtcyA9PSAwKSkKKwlyZXR1cm47CisgICAgeworCXhtbFNjaGVtYVRyZWVJdGVtUHRyIGl0ZW07CisJeG1sU2NoZW1hVHJlZUl0ZW1QdHIgKml0ZW1zID0gKHhtbFNjaGVtYVRyZWVJdGVtUHRyICopIGxpc3QtPml0ZW1zOworCWludCBpOworCisJZm9yIChpID0gMDsgaSA8IGxpc3QtPm5iSXRlbXM7IGkrKykgeworCSAgICBpdGVtID0gaXRlbXNbaV07CisJICAgIGlmIChpdGVtID09IE5VTEwpCisJCWNvbnRpbnVlOworCSAgICBzd2l0Y2ggKGl0ZW0tPnR5cGUpIHsKKwkJY2FzZSBYTUxfU0NIRU1BX1RZUEVfU0lNUExFOgorCQljYXNlIFhNTF9TQ0hFTUFfVFlQRV9DT01QTEVYOgorCQkgICAgeG1sU2NoZW1hRnJlZVR5cGUoKHhtbFNjaGVtYVR5cGVQdHIpIGl0ZW0pOworCQkgICAgYnJlYWs7CisJCWNhc2UgWE1MX1NDSEVNQV9UWVBFX0FUVFJJQlVURToKKwkJICAgIHhtbFNjaGVtYUZyZWVBdHRyaWJ1dGUoKHhtbFNjaGVtYUF0dHJpYnV0ZVB0cikgaXRlbSk7CisJCSAgICBicmVhazsKKwkJY2FzZSBYTUxfU0NIRU1BX1RZUEVfQVRUUklCVVRFX1VTRToKKwkJICAgIHhtbFNjaGVtYUZyZWVBdHRyaWJ1dGVVc2UoKHhtbFNjaGVtYUF0dHJpYnV0ZVVzZVB0cikgaXRlbSk7CisJCSAgICBicmVhazsKKwkJY2FzZSBYTUxfU0NIRU1BX0VYVFJBX0FUVFJfVVNFX1BST0hJQjoKKwkJICAgIHhtbFNjaGVtYUZyZWVBdHRyaWJ1dGVVc2VQcm9oaWIoCisJCQkoeG1sU2NoZW1hQXR0cmlidXRlVXNlUHJvaGliUHRyKSBpdGVtKTsKKwkJICAgIGJyZWFrOworCQljYXNlIFhNTF9TQ0hFTUFfVFlQRV9FTEVNRU5UOgorCQkgICAgeG1sU2NoZW1hRnJlZUVsZW1lbnQoKHhtbFNjaGVtYUVsZW1lbnRQdHIpIGl0ZW0pOworCQkgICAgYnJlYWs7CisJCWNhc2UgWE1MX1NDSEVNQV9UWVBFX1BBUlRJQ0xFOgorCQkgICAgaWYgKGl0ZW0tPmFubm90ICE9IE5VTEwpCisJCQl4bWxTY2hlbWFGcmVlQW5ub3QoaXRlbS0+YW5ub3QpOworCQkgICAgeG1sRnJlZShpdGVtKTsKKwkJICAgIGJyZWFrOworCQljYXNlIFhNTF9TQ0hFTUFfVFlQRV9TRVFVRU5DRToKKwkJY2FzZSBYTUxfU0NIRU1BX1RZUEVfQ0hPSUNFOgorCQljYXNlIFhNTF9TQ0hFTUFfVFlQRV9BTEw6CisJCSAgICB4bWxTY2hlbWFGcmVlTW9kZWxHcm91cCgoeG1sU2NoZW1hTW9kZWxHcm91cFB0cikgaXRlbSk7CisJCSAgICBicmVhazsKKwkJY2FzZSBYTUxfU0NIRU1BX1RZUEVfQVRUUklCVVRFR1JPVVA6CisJCSAgICB4bWxTY2hlbWFGcmVlQXR0cmlidXRlR3JvdXAoCisJCQkoeG1sU2NoZW1hQXR0cmlidXRlR3JvdXBQdHIpIGl0ZW0pOworCQkgICAgYnJlYWs7CisJCWNhc2UgWE1MX1NDSEVNQV9UWVBFX0dST1VQOgorCQkgICAgeG1sU2NoZW1hRnJlZU1vZGVsR3JvdXBEZWYoCisJCQkoeG1sU2NoZW1hTW9kZWxHcm91cERlZlB0cikgaXRlbSk7CisJCSAgICBicmVhazsKKwkJY2FzZSBYTUxfU0NIRU1BX1RZUEVfQU5ZOgorCQljYXNlIFhNTF9TQ0hFTUFfVFlQRV9BTllfQVRUUklCVVRFOgorCQkgICAgeG1sU2NoZW1hRnJlZVdpbGRjYXJkKCh4bWxTY2hlbWFXaWxkY2FyZFB0cikgaXRlbSk7CisJCSAgICBicmVhazsKKwkJY2FzZSBYTUxfU0NIRU1BX1RZUEVfSURDX0tFWToKKwkJY2FzZSBYTUxfU0NIRU1BX1RZUEVfSURDX1VOSVFVRToKKwkJY2FzZSBYTUxfU0NIRU1BX1RZUEVfSURDX0tFWVJFRjoKKwkJICAgIHhtbFNjaGVtYUZyZWVJREMoKHhtbFNjaGVtYUlEQ1B0cikgaXRlbSk7CisJCSAgICBicmVhazsKKwkJY2FzZSBYTUxfU0NIRU1BX1RZUEVfTk9UQVRJT046CisJCSAgICB4bWxTY2hlbWFGcmVlTm90YXRpb24oKHhtbFNjaGVtYU5vdGF0aW9uUHRyKSBpdGVtKTsKKwkJICAgIGJyZWFrOworCQljYXNlIFhNTF9TQ0hFTUFfRVhUUkFfUU5BTUVSRUY6CisJCSAgICB4bWxTY2hlbWFGcmVlUU5hbWVSZWYoKHhtbFNjaGVtYVFOYW1lUmVmUHRyKSBpdGVtKTsKKwkJICAgIGJyZWFrOworCQlkZWZhdWx0OiB7CisJCSAgICAvKiBUT0RPOiBUaGlzIHNob3VsZCBuZXZlciBiZSBoaXQuICovCisJCSAgICB4bWxTY2hlbWFQU2ltcGxlSW50ZXJuYWxFcnIoTlVMTCwKKwkJCSJJbnRlcm5hbCBlcnJvcjogeG1sU2NoZW1hQ29tcG9uZW50TGlzdEZyZWUsICIKKwkJCSJ1bmV4cGVjdGVkIGNvbXBvbmVudCB0eXBlICclcydcbiIsCisJCQkoY29uc3QgeG1sQ2hhciAqKSBXWFNfSVRFTV9UWVBFX05BTUUoaXRlbSkpOworCQkJIH0KKwkJICAgIGJyZWFrOworCSAgICB9CisJfQorCWxpc3QtPm5iSXRlbXMgPSAwOworICAgIH0KK30KKworLyoqCisgKiB4bWxTY2hlbWFGcmVlOgorICogQHNjaGVtYTogIGEgc2NoZW1hIHN0cnVjdHVyZQorICoKKyAqIERlYWxsb2NhdGUgYSBTY2hlbWEgc3RydWN0dXJlLgorICovCit2b2lkCit4bWxTY2hlbWFGcmVlKHhtbFNjaGVtYVB0ciBzY2hlbWEpCit7CisgICAgaWYgKHNjaGVtYSA9PSBOVUxMKQorICAgICAgICByZXR1cm47CisgICAgLyogQHZvbGF0aWxlcyBpcyBub3QgdXNlZCBhbnltb3JlIDotLyAqLworICAgIGlmIChzY2hlbWEtPnZvbGF0aWxlcyAhPSBOVUxMKQorCVRPRE8KKyAgICAvKgorICAgICogTm90ZSB0aGF0IHRob3NlIHNsb3RzIGFyZSBub3QgcmVzcG9uc2libGUgZm9yIGZyZWVpbmcKKyAgICAqIHNjaGVtYSBjb21wb25lbnRzIGFueW1vcmU7IHRoaXMgd2lsbCBub3cgYmUgZG9uZSBieQorICAgICogdGhlIHNjaGVtYSBidWNrZXRzLgorICAgICovCisgICAgaWYgKHNjaGVtYS0+bm90YURlY2wgIT0gTlVMTCkKKyAgICAgICAgeG1sSGFzaEZyZWUoc2NoZW1hLT5ub3RhRGVjbCwgTlVMTCk7CisgICAgaWYgKHNjaGVtYS0+YXR0ckRlY2wgIT0gTlVMTCkKKyAgICAgICAgeG1sSGFzaEZyZWUoc2NoZW1hLT5hdHRyRGVjbCwgTlVMTCk7CisgICAgaWYgKHNjaGVtYS0+YXR0cmdycERlY2wgIT0gTlVMTCkKKyAgICAgICAgeG1sSGFzaEZyZWUoc2NoZW1hLT5hdHRyZ3JwRGVjbCwgTlVMTCk7CisgICAgaWYgKHNjaGVtYS0+ZWxlbURlY2wgIT0gTlVMTCkKKyAgICAgICAgeG1sSGFzaEZyZWUoc2NoZW1hLT5lbGVtRGVjbCwgTlVMTCk7CisgICAgaWYgKHNjaGVtYS0+dHlwZURlY2wgIT0gTlVMTCkKKyAgICAgICAgeG1sSGFzaEZyZWUoc2NoZW1hLT50eXBlRGVjbCwgTlVMTCk7CisgICAgaWYgKHNjaGVtYS0+Z3JvdXBEZWNsICE9IE5VTEwpCisgICAgICAgIHhtbEhhc2hGcmVlKHNjaGVtYS0+Z3JvdXBEZWNsLCBOVUxMKTsKKyAgICBpZiAoc2NoZW1hLT5pZGNEZWYgIT0gTlVMTCkKKyAgICAgICAgeG1sSGFzaEZyZWUoc2NoZW1hLT5pZGNEZWYsIE5VTEwpOworCisgICAgaWYgKHNjaGVtYS0+c2NoZW1hc0ltcG9ydHMgIT0gTlVMTCkKKwl4bWxIYXNoRnJlZShzY2hlbWEtPnNjaGVtYXNJbXBvcnRzLAorCQkgICAgKHhtbEhhc2hEZWFsbG9jYXRvcikgeG1sU2NoZW1hQnVja2V0RnJlZSk7CisgICAgaWYgKHNjaGVtYS0+aW5jbHVkZXMgIT0gTlVMTCkgeworCXhtbFNjaGVtYUl0ZW1MaXN0UHRyIGxpc3QgPSAoeG1sU2NoZW1hSXRlbUxpc3RQdHIpIHNjaGVtYS0+aW5jbHVkZXM7CisJaW50IGk7CisJZm9yIChpID0gMDsgaSA8IGxpc3QtPm5iSXRlbXM7IGkrKykgeworCSAgICB4bWxTY2hlbWFCdWNrZXRGcmVlKCh4bWxTY2hlbWFCdWNrZXRQdHIpIGxpc3QtPml0ZW1zW2ldKTsKKwl9CisJeG1sU2NoZW1hSXRlbUxpc3RGcmVlKGxpc3QpOworICAgIH0KKyAgICBpZiAoc2NoZW1hLT5hbm5vdCAhPSBOVUxMKQorICAgICAgICB4bWxTY2hlbWFGcmVlQW5ub3Qoc2NoZW1hLT5hbm5vdCk7CisgICAgLyogTmV2ZXIgZnJlZSB0aGUgZG9jIGhlcmUsIHNpbmNlIHRoaXMgd2lsbCBiZSBkb25lIGJ5IHRoZSBidWNrZXRzLiAqLworCisgICAgeG1sRGljdEZyZWUoc2NoZW1hLT5kaWN0KTsKKyAgICB4bWxGcmVlKHNjaGVtYSk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCQlEZWJ1ZyBmdW5jdGlvbnMJCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmZGVmIExJQlhNTF9PVVRQVVRfRU5BQkxFRAorCitzdGF0aWMgdm9pZAoreG1sU2NoZW1hVHlwZUR1bXAoeG1sU2NoZW1hVHlwZVB0ciB0eXBlLCBGSUxFICogb3V0cHV0KTsgLyogZm9yd2FyZCAqLworCisvKioKKyAqIHhtbFNjaGVtYUVsZW1lbnREdW1wOgorICogQGVsZW06ICBhbiBlbGVtZW50CisgKiBAb3V0cHV0OiAgdGhlIGZpbGUgb3V0cHV0CisgKgorICogRHVtcCB0aGUgZWxlbWVudAorICovCitzdGF0aWMgdm9pZAoreG1sU2NoZW1hRWxlbWVudER1bXAoeG1sU2NoZW1hRWxlbWVudFB0ciBlbGVtLCBGSUxFICogb3V0cHV0LAorICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIG5hbWUgQVRUUklCVVRFX1VOVVNFRCwKKwkJICAgICBjb25zdCB4bWxDaGFyICogbmFtZXNwYWNlIEFUVFJJQlVURV9VTlVTRUQsCisgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogY29udGV4dCBBVFRSSUJVVEVfVU5VU0VEKQoreworICAgIGlmIChlbGVtID09IE5VTEwpCisgICAgICAgIHJldHVybjsKKworCisgICAgZnByaW50ZihvdXRwdXQsICJFbGVtZW50Iik7CisgICAgaWYgKGVsZW0tPmZsYWdzICYgWE1MX1NDSEVNQVNfRUxFTV9HTE9CQUwpCisJZnByaW50ZihvdXRwdXQsICIgKGdsb2JhbCkiKTsKKyAgICBmcHJpbnRmKG91dHB1dCwgIjogJyVzJyAiLCBlbGVtLT5uYW1lKTsKKyAgICBpZiAobmFtZXNwYWNlICE9IE5VTEwpCisJZnByaW50ZihvdXRwdXQsICJucyAnJXMnIiwgbmFtZXNwYWNlKTsKKyAgICBmcHJpbnRmKG91dHB1dCwgIlxuIik7CisjaWYgMAorICAgIGlmICgoZWxlbS0+bWluT2NjdXJzICE9IDEpIHx8IChlbGVtLT5tYXhPY2N1cnMgIT0gMSkpIHsKKwlmcHJpbnRmKG91dHB1dCwgIiAgbWluICVkICIsIGVsZW0tPm1pbk9jY3Vycyk7CisgICAgICAgIGlmIChlbGVtLT5tYXhPY2N1cnMgPj0gVU5CT1VOREVEKQorICAgICAgICAgICAgZnByaW50ZihvdXRwdXQsICJtYXg6IHVuYm91bmRlZFxuIik7CisgICAgICAgIGVsc2UgaWYgKGVsZW0tPm1heE9jY3VycyAhPSAxKQorICAgICAgICAgICAgZnByaW50ZihvdXRwdXQsICJtYXg6ICVkXG4iLCBlbGVtLT5tYXhPY2N1cnMpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBmcHJpbnRmKG91dHB1dCwgIlxuIik7CisgICAgfQorI2VuZGlmCisgICAgLyoKKyAgICAqIE1pc2Mgb3RoZXIgcHJvcGVydGllcy4KKyAgICAqLworICAgIGlmICgoZWxlbS0+ZmxhZ3MgJiBYTUxfU0NIRU1BU19FTEVNX05JTExBQkxFKSB8fAorCShlbGVtLT5mbGFncyAmIFhNTF9TQ0hFTUFTX0VMRU1fQUJTVFJBQ1QpIHx8CisJKGVsZW0tPmZsYWdzICYgWE1MX1NDSEVNQVNfRUxFTV9GSVhFRCkgfHwKKwkoZWxlbS0+ZmxhZ3MgJiBYTUxfU0NIRU1BU19FTEVNX0RFRkFVTFQpKSB7CisJZnByaW50ZihvdXRwdXQsICIgIHByb3BzOiAiKTsKKwlpZiAoZWxlbS0+ZmxhZ3MgJiBYTUxfU0NIRU1BU19FTEVNX0ZJWEVEKQorCSAgICBmcHJpbnRmKG91dHB1dCwgIltmaXhlZF0gIik7CisJaWYgKGVsZW0tPmZsYWdzICYgWE1MX1NDSEVNQVNfRUxFTV9ERUZBVUxUKQorCSAgICBmcHJpbnRmKG91dHB1dCwgIltkZWZhdWx0XSAiKTsKKwlpZiAoZWxlbS0+ZmxhZ3MgJiBYTUxfU0NIRU1BU19FTEVNX0FCU1RSQUNUKQorCSAgICBmcHJpbnRmKG91dHB1dCwgIlthYnN0cmFjdF0gIik7CisJaWYgKGVsZW0tPmZsYWdzICYgWE1MX1NDSEVNQVNfRUxFTV9OSUxMQUJMRSkKKwkgICAgZnByaW50ZihvdXRwdXQsICJbbmlsbGFibGVdICIpOworCWZwcmludGYob3V0cHV0LCAiXG4iKTsKKyAgICB9CisgICAgLyoKKyAgICAqIERlZmF1bHQvZml4ZWQgdmFsdWUuCisgICAgKi8KKyAgICBpZiAoZWxlbS0+dmFsdWUgIT0gTlVMTCkKKwlmcHJpbnRmKG91dHB1dCwgIiAgdmFsdWU6ICclcydcbiIsIGVsZW0tPnZhbHVlKTsKKyAgICAvKgorICAgICogVHlwZS4KKyAgICAqLworICAgIGlmIChlbGVtLT5uYW1lZFR5cGUgIT0gTlVMTCkgeworCWZwcmludGYob3V0cHV0LCAiICB0eXBlOiAnJXMnICIsIGVsZW0tPm5hbWVkVHlwZSk7CisJaWYgKGVsZW0tPm5hbWVkVHlwZU5zICE9IE5VTEwpCisJICAgIGZwcmludGYob3V0cHV0LCAibnMgJyVzJ1xuIiwgZWxlbS0+bmFtZWRUeXBlTnMpOworCWVsc2UKKwkgICAgZnByaW50ZihvdXRwdXQsICJcbiIpOworICAgIH0gZWxzZSBpZiAoZWxlbS0+c3VidHlwZXMgIT0gTlVMTCkgeworCS8qCisJKiBEdW1wIGxvY2FsIHR5cGVzLgorCSovCisJeG1sU2NoZW1hVHlwZUR1bXAoZWxlbS0+c3VidHlwZXMsIG91dHB1dCk7CisgICAgfQorICAgIC8qCisgICAgKiBTdWJzdGl0dXRpb24gZ3JvdXAuCisgICAgKi8KKyAgICBpZiAoZWxlbS0+c3Vic3RHcm91cCAhPSBOVUxMKSB7CisJZnByaW50ZihvdXRwdXQsICIgIHN1YnN0aXR1dGlvbkdyb3VwOiAnJXMnICIsIGVsZW0tPnN1YnN0R3JvdXApOworCWlmIChlbGVtLT5zdWJzdEdyb3VwTnMgIT0gTlVMTCkKKwkgICAgZnByaW50ZihvdXRwdXQsICJucyAnJXMnXG4iLCBlbGVtLT5zdWJzdEdyb3VwTnMpOworCWVsc2UKKwkgICAgZnByaW50ZihvdXRwdXQsICJcbiIpOworICAgIH0KK30KKworLyoqCisgKiB4bWxTY2hlbWFBbm5vdER1bXA6CisgKiBAb3V0cHV0OiAgdGhlIGZpbGUgb3V0cHV0CisgKiBAYW5ub3Q6ICBhIGFubm90YXRpb24KKyAqCisgKiBEdW1wIHRoZSBhbm5vdGF0aW9uCisgKi8KK3N0YXRpYyB2b2lkCit4bWxTY2hlbWFBbm5vdER1bXAoRklMRSAqIG91dHB1dCwgeG1sU2NoZW1hQW5ub3RQdHIgYW5ub3QpCit7CisgICAgeG1sQ2hhciAqY29udGVudDsKKworICAgIGlmIChhbm5vdCA9PSBOVUxMKQorICAgICAgICByZXR1cm47CisKKyAgICBjb250ZW50ID0geG1sTm9kZUdldENvbnRlbnQoYW5ub3QtPmNvbnRlbnQpOworICAgIGlmIChjb250ZW50ICE9IE5VTEwpIHsKKyAgICAgICAgZnByaW50ZihvdXRwdXQsICIgIEFubm90OiAlc1xuIiwgY29udGVudCk7CisgICAgICAgIHhtbEZyZWUoY29udGVudCk7CisgICAgfSBlbHNlCisgICAgICAgIGZwcmludGYob3V0cHV0LCAiICBBbm5vdDogZW1wdHlcbiIpOworfQorCisvKioKKyAqIHhtbFNjaGVtYUNvbnRlbnRNb2RlbER1bXA6CisgKiBAcGFydGljbGU6IHRoZSBzY2hlbWEgcGFydGljbGUKKyAqIEBvdXRwdXQ6IHRoZSBmaWxlIG91dHB1dAorICogQGRlcHRoOiB0aGUgZGVwdGggdXNlZCBmb3IgaW50ZW50YXRpb24KKyAqCisgKiBEdW1wIGEgU2NoZW1hVHlwZSBzdHJ1Y3R1cmUKKyAqLworc3RhdGljIHZvaWQKK3htbFNjaGVtYUNvbnRlbnRNb2RlbER1bXAoeG1sU2NoZW1hUGFydGljbGVQdHIgcGFydGljbGUsIEZJTEUgKiBvdXRwdXQsIGludCBkZXB0aCkKK3sKKyAgICB4bWxDaGFyICpzdHIgPSBOVUxMOworICAgIHhtbFNjaGVtYVRyZWVJdGVtUHRyIHRlcm07CisgICAgY2hhciBzaGlmdFsxMDBdOworICAgIGludCBpOworCisgICAgaWYgKHBhcnRpY2xlID09IE5VTEwpCisJcmV0dXJuOworICAgIGZvciAoaSA9IDA7KChpIDwgZGVwdGgpICYmIChpIDwgMjUpKTtpKyspCisgICAgICAgIHNoaWZ0WzIgKiBpXSA9IHNoaWZ0WzIgKiBpICsgMV0gPSAnICc7CisgICAgc2hpZnRbMiAqIGldID0gc2hpZnRbMiAqIGkgKyAxXSA9IDA7CisgICAgZnByaW50ZihvdXRwdXQsICIlcyIsIHNoaWZ0KTsKKyAgICBpZiAocGFydGljbGUtPmNoaWxkcmVuID09IE5VTEwpIHsKKwlmcHJpbnRmKG91dHB1dCwgIk1JU1NJTkcgcGFydGljbGUgdGVybVxuIik7CisJcmV0dXJuOworICAgIH0KKyAgICB0ZXJtID0gcGFydGljbGUtPmNoaWxkcmVuOworICAgIGlmICh0ZXJtID09IE5VTEwpIHsKKwlmcHJpbnRmKG91dHB1dCwgIihOVUxMKSIpOworICAgIH0gZWxzZSB7CisJc3dpdGNoICh0ZXJtLT50eXBlKSB7CisJICAgIGNhc2UgWE1MX1NDSEVNQV9UWVBFX0VMRU1FTlQ6CisJCWZwcmludGYob3V0cHV0LCAiRUxFTSAnJXMnIiwgeG1sU2NoZW1hRm9ybWF0UU5hbWUoJnN0ciwKKwkJICAgICgoeG1sU2NoZW1hRWxlbWVudFB0cil0ZXJtKS0+dGFyZ2V0TmFtZXNwYWNlLAorCQkgICAgKCh4bWxTY2hlbWFFbGVtZW50UHRyKXRlcm0pLT5uYW1lKSk7CisJCUZSRUVfQU5EX05VTEwoc3RyKTsKKwkJYnJlYWs7CisJICAgIGNhc2UgWE1MX1NDSEVNQV9UWVBFX1NFUVVFTkNFOgorCQlmcHJpbnRmKG91dHB1dCwgIlNFUVVFTkNFIik7CisJCWJyZWFrOworCSAgICBjYXNlIFhNTF9TQ0hFTUFfVFlQRV9DSE9JQ0U6CisJCWZwcmludGYob3V0cHV0LCAiQ0hPSUNFIik7CisJCWJyZWFrOworCSAgICBjYXNlIFhNTF9TQ0hFTUFfVFlQRV9BTEw6CisJCWZwcmludGYob3V0cHV0LCAiQUxMIik7CisJCWJyZWFrOworCSAgICBjYXNlIFhNTF9TQ0hFTUFfVFlQRV9BTlk6CisJCWZwcmludGYob3V0cHV0LCAiQU5ZIik7CisJCWJyZWFrOworCSAgICBkZWZhdWx0OgorCQlmcHJpbnRmKG91dHB1dCwgIlVOS05PV05cbiIpOworCQlyZXR1cm47CisJfQorICAgIH0KKyAgICBpZiAocGFydGljbGUtPm1pbk9jY3VycyAhPSAxKQorCWZwcmludGYob3V0cHV0LCAiIG1pbjogJWQiLCBwYXJ0aWNsZS0+bWluT2NjdXJzKTsKKyAgICBpZiAocGFydGljbGUtPm1heE9jY3VycyA+PSBVTkJPVU5ERUQpCisJZnByaW50ZihvdXRwdXQsICIgbWF4OiB1bmJvdW5kZWQiKTsKKyAgICBlbHNlIGlmIChwYXJ0aWNsZS0+bWF4T2NjdXJzICE9IDEpCisJZnByaW50ZihvdXRwdXQsICIgbWF4OiAlZCIsIHBhcnRpY2xlLT5tYXhPY2N1cnMpOworICAgIGZwcmludGYob3V0cHV0LCAiXG4iKTsKKyAgICBpZiAodGVybSAmJgorCSgodGVybS0+dHlwZSA9PSBYTUxfU0NIRU1BX1RZUEVfU0VRVUVOQ0UpIHx8CisJICh0ZXJtLT50eXBlID09IFhNTF9TQ0hFTUFfVFlQRV9DSE9JQ0UpIHx8CisJICh0ZXJtLT50eXBlID09IFhNTF9TQ0hFTUFfVFlQRV9BTEwpKSAmJgorCSAodGVybS0+Y2hpbGRyZW4gIT0gTlVMTCkpIHsKKwl4bWxTY2hlbWFDb250ZW50TW9kZWxEdW1wKCh4bWxTY2hlbWFQYXJ0aWNsZVB0cikgdGVybS0+Y2hpbGRyZW4sCisJICAgIG91dHB1dCwgZGVwdGggKzEpOworICAgIH0KKyAgICBpZiAocGFydGljbGUtPm5leHQgIT0gTlVMTCkKKwl4bWxTY2hlbWFDb250ZW50TW9kZWxEdW1wKCh4bWxTY2hlbWFQYXJ0aWNsZVB0cikgcGFydGljbGUtPm5leHQsCisJCW91dHB1dCwgZGVwdGgpOworfQorCisvKioKKyAqIHhtbFNjaGVtYUF0dHJVc2VzRHVtcDoKKyAqIEB1c2VzOiAgYXR0cmlidXRlIHVzZXMgbGlzdAorICogQG91dHB1dDogIHRoZSBmaWxlIG91dHB1dAorICoKKyAqIER1bXBzIGEgbGlzdCBvZiBhdHRyaWJ1dGUgdXNlIGNvbXBvbmVudHMuCisgKi8KK3N0YXRpYyB2b2lkCit4bWxTY2hlbWFBdHRyVXNlc0R1bXAoeG1sU2NoZW1hSXRlbUxpc3RQdHIgdXNlcywgRklMRSAqIG91dHB1dCkKK3sKKyAgICB4bWxTY2hlbWFBdHRyaWJ1dGVVc2VQdHIgdXNlOworICAgIHhtbFNjaGVtYUF0dHJpYnV0ZVVzZVByb2hpYlB0ciBwcm9oaWI7CisgICAgeG1sU2NoZW1hUU5hbWVSZWZQdHIgcmVmOworICAgIGNvbnN0IHhtbENoYXIgKm5hbWUsICp0bnM7CisgICAgeG1sQ2hhciAqc3RyID0gTlVMTDsKKyAgICBpbnQgaTsKKworICAgIGlmICgodXNlcyA9PSBOVUxMKSB8fCAodXNlcy0+bmJJdGVtcyA9PSAwKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgZnByaW50ZihvdXRwdXQsICIgIGF0dHJpYnV0ZXM6XG4iKTsKKyAgICBmb3IgKGkgPSAwOyBpIDwgdXNlcy0+bmJJdGVtczsgaSsrKSB7CisJdXNlID0gdXNlcy0+aXRlbXNbaV07CisJaWYgKHVzZS0+dHlwZSA9PSBYTUxfU0NIRU1BX0VYVFJBX0FUVFJfVVNFX1BST0hJQikgeworCSAgICBmcHJpbnRmKG91dHB1dCwgIiAgW3Byb2hpYml0aW9uXSAiKTsKKwkgICAgcHJvaGliID0gKHhtbFNjaGVtYUF0dHJpYnV0ZVVzZVByb2hpYlB0cikgdXNlOworCSAgICBuYW1lID0gcHJvaGliLT5uYW1lOworCSAgICB0bnMgPSBwcm9oaWItPnRhcmdldE5hbWVzcGFjZTsKKwl9IGVsc2UgaWYgKHVzZS0+dHlwZSA9PSBYTUxfU0NIRU1BX0VYVFJBX1FOQU1FUkVGKSB7CisJICAgIGZwcmludGYob3V0cHV0LCAiICBbcmVmZXJlbmNlXSAiKTsKKwkgICAgcmVmID0gKHhtbFNjaGVtYVFOYW1lUmVmUHRyKSB1c2U7CisJICAgIG5hbWUgPSByZWYtPm5hbWU7CisJICAgIHRucyA9IHJlZi0+dGFyZ2V0TmFtZXNwYWNlOworCX0gZWxzZSB7CisJICAgIGZwcmludGYob3V0cHV0LCAiICBbdXNlXSAiKTsKKwkgICAgbmFtZSA9IFdYU19BVFRSVVNFX0RFQ0xfTkFNRSh1c2UpOworCSAgICB0bnMgPSBXWFNfQVRUUlVTRV9ERUNMX1ROUyh1c2UpOworCX0KKwlmcHJpbnRmKG91dHB1dCwgIiclcydcbiIsCisJICAgIChjb25zdCBjaGFyICopIHhtbFNjaGVtYUZvcm1hdFFOYW1lKCZzdHIsIHRucywgbmFtZSkpOworCUZSRUVfQU5EX05VTEwoc3RyKTsKKyAgICB9Cit9CisKKy8qKgorICogeG1sU2NoZW1hVHlwZUR1bXA6CisgKiBAb3V0cHV0OiAgdGhlIGZpbGUgb3V0cHV0CisgKiBAdHlwZTogIGEgdHlwZSBzdHJ1Y3R1cmUKKyAqCisgKiBEdW1wIGEgU2NoZW1hVHlwZSBzdHJ1Y3R1cmUKKyAqLworc3RhdGljIHZvaWQKK3htbFNjaGVtYVR5cGVEdW1wKHhtbFNjaGVtYVR5cGVQdHIgdHlwZSwgRklMRSAqIG91dHB1dCkKK3sKKyAgICBpZiAodHlwZSA9PSBOVUxMKSB7CisgICAgICAgIGZwcmludGYob3V0cHV0LCAiVHlwZTogTlVMTFxuIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgZnByaW50ZihvdXRwdXQsICJUeXBlOiAiKTsKKyAgICBpZiAodHlwZS0+bmFtZSAhPSBOVUxMKQorICAgICAgICBmcHJpbnRmKG91dHB1dCwgIiclcycgIiwgdHlwZS0+bmFtZSk7CisgICAgZWxzZQorICAgICAgICBmcHJpbnRmKG91dHB1dCwgIihubyBuYW1lKSAiKTsKKyAgICBpZiAodHlwZS0+dGFyZ2V0TmFtZXNwYWNlICE9IE5VTEwpCisJZnByaW50ZihvdXRwdXQsICJucyAnJXMnICIsIHR5cGUtPnRhcmdldE5hbWVzcGFjZSk7CisgICAgc3dpdGNoICh0eXBlLT50eXBlKSB7CisgICAgICAgIGNhc2UgWE1MX1NDSEVNQV9UWVBFX0JBU0lDOgorICAgICAgICAgICAgZnByaW50ZihvdXRwdXQsICJbYmFzaWNdICIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1NDSEVNQV9UWVBFX1NJTVBMRToKKyAgICAgICAgICAgIGZwcmludGYob3V0cHV0LCAiW3NpbXBsZV0gIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfU0NIRU1BX1RZUEVfQ09NUExFWDoKKyAgICAgICAgICAgIGZwcmludGYob3V0cHV0LCAiW2NvbXBsZXhdICIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1NDSEVNQV9UWVBFX1NFUVVFTkNFOgorICAgICAgICAgICAgZnByaW50ZihvdXRwdXQsICJbc2VxdWVuY2VdICIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1NDSEVNQV9UWVBFX0NIT0lDRToKKyAgICAgICAgICAgIGZwcmludGYob3V0cHV0LCAiW2Nob2ljZV0gIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfU0NIRU1BX1RZUEVfQUxMOgorICAgICAgICAgICAgZnByaW50ZihvdXRwdXQsICJbYWxsXSAiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9TQ0hFTUFfVFlQRV9VUjoKKyAgICAgICAgICAgIGZwcmludGYob3V0cHV0LCAiW3VyXSAiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9TQ0hFTUFfVFlQRV9SRVNUUklDVElPTjoKKyAgICAgICAgICAgIGZwcmludGYob3V0cHV0LCAiW3Jlc3RyaWN0aW9uXSAiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9TQ0hFTUFfVFlQRV9FWFRFTlNJT046CisgICAgICAgICAgICBmcHJpbnRmKG91dHB1dCwgIltleHRlbnNpb25dICIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBmcHJpbnRmKG91dHB1dCwgIlt1bmtub3duIHR5cGUgJWRdICIsIHR5cGUtPnR5cGUpOworICAgICAgICAgICAgYnJlYWs7CisgICAgfQorICAgIGZwcmludGYob3V0cHV0LCAiY29udGVudDogIik7CisgICAgc3dpdGNoICh0eXBlLT5jb250ZW50VHlwZSkgeworICAgICAgICBjYXNlIFhNTF9TQ0hFTUFfQ09OVEVOVF9VTktOT1dOOgorICAgICAgICAgICAgZnByaW50ZihvdXRwdXQsICJbdW5rbm93bl0gIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfU0NIRU1BX0NPTlRFTlRfRU1QVFk6CisgICAgICAgICAgICBmcHJpbnRmKG91dHB1dCwgIltlbXB0eV0gIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfU0NIRU1BX0NPTlRFTlRfRUxFTUVOVFM6CisgICAgICAgICAgICBmcHJpbnRmKG91dHB1dCwgIltlbGVtZW50XSAiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9TQ0hFTUFfQ09OVEVOVF9NSVhFRDoKKyAgICAgICAgICAgIGZwcmludGYob3V0cHV0LCAiW21peGVkXSAiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9TQ0hFTUFfQ09OVEVOVF9NSVhFRF9PUl9FTEVNRU5UUzoKKwkvKiBub3QgdXNlZC4gKi8KKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9TQ0hFTUFfQ09OVEVOVF9CQVNJQzoKKyAgICAgICAgICAgIGZwcmludGYob3V0cHV0LCAiW2Jhc2ljXSAiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9TQ0hFTUFfQ09OVEVOVF9TSU1QTEU6CisgICAgICAgICAgICBmcHJpbnRmKG91dHB1dCwgIltzaW1wbGVdICIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1NDSEVNQV9DT05URU5UX0FOWToKKyAgICAgICAgICAgIGZwcmludGYob3V0cHV0LCAiW2FueV0gIik7CisgICAgICAgICAgICBicmVhazsKKyAgICB9CisgICAgZnByaW50ZihvdXRwdXQsICJcbiIpOworICAgIGlmICh0eXBlLT5iYXNlICE9IE5VTEwpIHsKKyAgICAgICAgZnByaW50ZihvdXRwdXQsICIgIGJhc2UgdHlwZTogJyVzJyIsIHR5cGUtPmJhc2UpOworCWlmICh0eXBlLT5iYXNlTnMgIT0gTlVMTCkKKwkgICAgZnByaW50ZihvdXRwdXQsICIgbnMgJyVzJ1xuIiwgdHlwZS0+YmFzZU5zKTsKKwllbHNlCisJICAgIGZwcmludGYob3V0cHV0LCAiXG4iKTsKKyAgICB9CisgICAgaWYgKHR5cGUtPmF0dHJVc2VzICE9IE5VTEwpCisJeG1sU2NoZW1hQXR0clVzZXNEdW1wKHR5cGUtPmF0dHJVc2VzLCBvdXRwdXQpOworICAgIGlmICh0eXBlLT5hbm5vdCAhPSBOVUxMKQorICAgICAgICB4bWxTY2hlbWFBbm5vdER1bXAob3V0cHV0LCB0eXBlLT5hbm5vdCk7CisjaWZkZWYgRFVNUF9DT05URU5UX01PREVMCisgICAgaWYgKCh0eXBlLT50eXBlID09IFhNTF9TQ0hFTUFfVFlQRV9DT01QTEVYKSAmJgorCSh0eXBlLT5zdWJ0eXBlcyAhPSBOVUxMKSkgeworCXhtbFNjaGVtYUNvbnRlbnRNb2RlbER1bXAoKHhtbFNjaGVtYVBhcnRpY2xlUHRyKSB0eXBlLT5zdWJ0eXBlcywKKwkgICAgb3V0cHV0LCAxKTsKKyAgICB9CisjZW5kaWYKK30KKworLyoqCisgKiB4bWxTY2hlbWFEdW1wOgorICogQG91dHB1dDogIHRoZSBmaWxlIG91dHB1dAorICogQHNjaGVtYTogIGEgc2NoZW1hIHN0cnVjdHVyZQorICoKKyAqIER1bXAgYSBTY2hlbWEgc3RydWN0dXJlLgorICovCit2b2lkCit4bWxTY2hlbWFEdW1wKEZJTEUgKiBvdXRwdXQsIHhtbFNjaGVtYVB0ciBzY2hlbWEpCit7CisgICAgaWYgKG91dHB1dCA9PSBOVUxMKQorICAgICAgICByZXR1cm47CisgICAgaWYgKHNjaGVtYSA9PSBOVUxMKSB7CisgICAgICAgIGZwcmludGYob3V0cHV0LCAiU2NoZW1hczogTlVMTFxuIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgZnByaW50ZihvdXRwdXQsICJTY2hlbWFzOiAiKTsKKyAgICBpZiAoc2NoZW1hLT5uYW1lICE9IE5VTEwpCisgICAgICAgIGZwcmludGYob3V0cHV0LCAiJXMsICIsIHNjaGVtYS0+bmFtZSk7CisgICAgZWxzZQorICAgICAgICBmcHJpbnRmKG91dHB1dCwgIm5vIG5hbWUsICIpOworICAgIGlmIChzY2hlbWEtPnRhcmdldE5hbWVzcGFjZSAhPSBOVUxMKQorICAgICAgICBmcHJpbnRmKG91dHB1dCwgIiVzIiwgKGNvbnN0IGNoYXIgKikgc2NoZW1hLT50YXJnZXROYW1lc3BhY2UpOworICAgIGVsc2UKKyAgICAgICAgZnByaW50ZihvdXRwdXQsICJubyB0YXJnZXQgbmFtZXNwYWNlIik7CisgICAgZnByaW50ZihvdXRwdXQsICJcbiIpOworICAgIGlmIChzY2hlbWEtPmFubm90ICE9IE5VTEwpCisgICAgICAgIHhtbFNjaGVtYUFubm90RHVtcChvdXRwdXQsIHNjaGVtYS0+YW5ub3QpOworICAgIHhtbEhhc2hTY2FuKHNjaGVtYS0+dHlwZURlY2wsICh4bWxIYXNoU2Nhbm5lcikgeG1sU2NoZW1hVHlwZUR1bXAsCisgICAgICAgICAgICAgICAgb3V0cHV0KTsKKyAgICB4bWxIYXNoU2NhbkZ1bGwoc2NoZW1hLT5lbGVtRGVjbCwKKyAgICAgICAgICAgICAgICAgICAgKHhtbEhhc2hTY2FubmVyRnVsbCkgeG1sU2NoZW1hRWxlbWVudER1bXAsIG91dHB1dCk7Cit9CisKKyNpZmRlZiBERUJVR19JRENfTk9ERV9UQUJMRQorLyoqCisgKiB4bWxTY2hlbWFEZWJ1Z0R1bXBJRENUYWJsZToKKyAqIEB2Y3R4dDogdGhlIFdYUyB2YWxpZGF0aW9uIGNvbnRleHQKKyAqCisgKiBEaXNwbGF5cyB0aGUgY3VycmVudCBJREMgdGFibGUgZm9yIGRlYnVnIHB1cnBvc2VzLgorICovCitzdGF0aWMgdm9pZAoreG1sU2NoZW1hRGVidWdEdW1wSURDVGFibGUoRklMRSAqIG91dHB1dCwKKwkJCSAgIGNvbnN0IHhtbENoYXIgKm5hbWVzcGFjZU5hbWUsCisJCQkgICBjb25zdCB4bWxDaGFyICpsb2NhbE5hbWUsCisJCQkgICB4bWxTY2hlbWFQU1ZJSURDQmluZGluZ1B0ciBiaW5kKQoreworICAgIHhtbENoYXIgKnN0ciA9IE5VTEw7CisgICAgY29uc3QgeG1sQ2hhciAqdmFsdWU7CisgICAgeG1sU2NoZW1hUFNWSUlEQ05vZGVQdHIgdGFiOworICAgIHhtbFNjaGVtYVBTVklJRENLZXlQdHIga2V5OworICAgIGludCBpLCBqLCByZXM7CisKKyAgICBmcHJpbnRmKG91dHB1dCwgIklEQzogVEFCTEVTIG9uICclcydcbiIsCisJeG1sU2NoZW1hRm9ybWF0UU5hbWUoJnN0ciwgbmFtZXNwYWNlTmFtZSwgbG9jYWxOYW1lKSk7CisgICAgRlJFRV9BTkRfTlVMTChzdHIpCisKKyAgICBpZiAoYmluZCA9PSBOVUxMKQorCXJldHVybjsKKyAgICBkbyB7CisJZnByaW50ZihvdXRwdXQsICJJREM6ICAgQklORElORyAnJXMnICglZClcbiIsCisJICAgIHhtbFNjaGVtYUdldENvbXBvbmVudFFOYW1lKCZzdHIsCisJCWJpbmQtPmRlZmluaXRpb24pLCBiaW5kLT5uYk5vZGVzKTsKKwlGUkVFX0FORF9OVUxMKHN0cikKKwlmb3IgKGkgPSAwOyBpIDwgYmluZC0+bmJOb2RlczsgaSsrKSB7CisJICAgIHRhYiA9IGJpbmQtPm5vZGVUYWJsZVtpXTsKKwkgICAgZnByaW50ZihvdXRwdXQsICIgICAgICAgICAoICIpOworCSAgICBmb3IgKGogPSAwOyBqIDwgYmluZC0+ZGVmaW5pdGlvbi0+bmJGaWVsZHM7IGorKykgeworCQlrZXkgPSB0YWItPmtleXNbal07CisJCWlmICgoa2V5ICE9IE5VTEwpICYmIChrZXktPnZhbCAhPSBOVUxMKSkgeworCQkgICAgcmVzID0geG1sU2NoZW1hR2V0Q2Fub25WYWx1ZShrZXktPnZhbCwgJnZhbHVlKTsKKwkJICAgIGlmIChyZXMgPj0gMCkKKwkJCWZwcmludGYob3V0cHV0LCAiJyVzJyAiLCB2YWx1ZSk7CisJCSAgICBlbHNlCisJCQlmcHJpbnRmKG91dHB1dCwgIkNBTk9OLVZBTFVFLUZBSUxFRCAiKTsKKwkJICAgIGlmIChyZXMgPT0gMCkKKwkJCUZSRUVfQU5EX05VTEwodmFsdWUpCisJCX0gZWxzZSBpZiAoa2V5ICE9IE5VTEwpCisJCSAgICBmcHJpbnRmKG91dHB1dCwgIihubyB2YWwpLCAiKTsKKwkJZWxzZQorCQkgICAgZnByaW50ZihvdXRwdXQsICIoa2V5IG1pc3NpbmcpLCAiKTsKKwkgICAgfQorCSAgICBmcHJpbnRmKG91dHB1dCwgIilcbiIpOworCX0KKwlpZiAoYmluZC0+ZHVwbHMgJiYgYmluZC0+ZHVwbHMtPm5iSXRlbXMpIHsKKwkgICAgZnByaW50ZihvdXRwdXQsICJJREM6ICAgICBkdXBscyAoJWQpOlxuIiwgYmluZC0+ZHVwbHMtPm5iSXRlbXMpOworCSAgICBmb3IgKGkgPSAwOyBpIDwgYmluZC0+ZHVwbHMtPm5iSXRlbXM7IGkrKykgeworCQl0YWIgPSBiaW5kLT5kdXBscy0+aXRlbXNbaV07CisJCWZwcmludGYob3V0cHV0LCAiICAgICAgICAgKCAiKTsKKwkJZm9yIChqID0gMDsgaiA8IGJpbmQtPmRlZmluaXRpb24tPm5iRmllbGRzOyBqKyspIHsKKwkJICAgIGtleSA9IHRhYi0+a2V5c1tqXTsKKwkJICAgIGlmICgoa2V5ICE9IE5VTEwpICYmIChrZXktPnZhbCAhPSBOVUxMKSkgeworCQkJcmVzID0geG1sU2NoZW1hR2V0Q2Fub25WYWx1ZShrZXktPnZhbCwgJnZhbHVlKTsKKwkJCWlmIChyZXMgPj0gMCkKKwkJCSAgICBmcHJpbnRmKG91dHB1dCwgIiclcycgIiwgdmFsdWUpOworCQkJZWxzZQorCQkJICAgIGZwcmludGYob3V0cHV0LCAiQ0FOT04tVkFMVUUtRkFJTEVEICIpOworCQkJaWYgKHJlcyA9PSAwKQorCQkJICAgIEZSRUVfQU5EX05VTEwodmFsdWUpCisJCSAgICB9IGVsc2UgaWYgKGtleSAhPSBOVUxMKQorCQkgICAgZnByaW50ZihvdXRwdXQsICIobm8gdmFsKSwgIik7CisJCQllbHNlCisJCQkgICAgZnByaW50ZihvdXRwdXQsICIoa2V5IG1pc3NpbmcpLCAiKTsKKwkJfQorCQlmcHJpbnRmKG91dHB1dCwgIilcbiIpOworCSAgICB9CisJfQorCWJpbmQgPSBiaW5kLT5uZXh0OworICAgIH0gd2hpbGUgKGJpbmQgIT0gTlVMTCk7Cit9CisjZW5kaWYgLyogREVCVUdfSURDICovCisjZW5kaWYgLyogTElCWE1MX09VVFBVVF9FTkFCTEVEICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCQlVdGlsaXRpZXMJCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqCisgKiB4bWxTY2hlbWFHZXRQcm9wTm9kZToKKyAqIEBub2RlOiB0aGUgZWxlbWVudCBub2RlCisgKiBAbmFtZTogdGhlIG5hbWUgb2YgdGhlIGF0dHJpYnV0ZQorICoKKyAqIFNlZWtzIGFuIGF0dHJpYnV0ZSB3aXRoIGEgbmFtZSBvZiBAbmFtZSBpbgorICogbm8gbmFtZXNwYWNlLgorICoKKyAqIFJldHVybnMgdGhlIGF0dHJpYnV0ZSBvciBOVUxMIGlmIG5vdCBwcmVzZW50LgorICovCitzdGF0aWMgeG1sQXR0clB0cgoreG1sU2NoZW1hR2V0UHJvcE5vZGUoeG1sTm9kZVB0ciBub2RlLCBjb25zdCBjaGFyICpuYW1lKQoreworICAgIHhtbEF0dHJQdHIgcHJvcDsKKworICAgIGlmICgobm9kZSA9PSBOVUxMKSB8fCAobmFtZSA9PSBOVUxMKSkKKwlyZXR1cm4oTlVMTCk7CisgICAgcHJvcCA9IG5vZGUtPnByb3BlcnRpZXM7CisgICAgd2hpbGUgKHByb3AgIT0gTlVMTCkgeworICAgICAgICBpZiAoKHByb3AtPm5zID09IE5VTEwpICYmIHhtbFN0ckVxdWFsKHByb3AtPm5hbWUsIEJBRF9DQVNUIG5hbWUpKQorCSAgICByZXR1cm4ocHJvcCk7CisJcHJvcCA9IHByb3AtPm5leHQ7CisgICAgfQorICAgIHJldHVybiAoTlVMTCk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hR2V0UHJvcE5vZGVOczoKKyAqIEBub2RlOiB0aGUgZWxlbWVudCBub2RlCisgKiBAdXJpOiB0aGUgdXJpCisgKiBAbmFtZTogdGhlIG5hbWUgb2YgdGhlIGF0dHJpYnV0ZQorICoKKyAqIFNlZWtzIGFuIGF0dHJpYnV0ZSB3aXRoIGEgbG9jYWwgbmFtZSBvZiBAbmFtZSBhbmQKKyAqIGEgbmFtZXNwYWNlIFVSSSBvZiBAdXJpLgorICoKKyAqIFJldHVybnMgdGhlIGF0dHJpYnV0ZSBvciBOVUxMIGlmIG5vdCBwcmVzZW50LgorICovCitzdGF0aWMgeG1sQXR0clB0cgoreG1sU2NoZW1hR2V0UHJvcE5vZGVOcyh4bWxOb2RlUHRyIG5vZGUsIGNvbnN0IGNoYXIgKnVyaSwgY29uc3QgY2hhciAqbmFtZSkKK3sKKyAgICB4bWxBdHRyUHRyIHByb3A7CisKKyAgICBpZiAoKG5vZGUgPT0gTlVMTCkgfHwgKG5hbWUgPT0gTlVMTCkpCisJcmV0dXJuKE5VTEwpOworICAgIHByb3AgPSBub2RlLT5wcm9wZXJ0aWVzOworICAgIHdoaWxlIChwcm9wICE9IE5VTEwpIHsKKwlpZiAoKHByb3AtPm5zICE9IE5VTEwpICYmCisJICAgIHhtbFN0ckVxdWFsKHByb3AtPm5hbWUsIEJBRF9DQVNUIG5hbWUpICYmCisJICAgIHhtbFN0ckVxdWFsKHByb3AtPm5zLT5ocmVmLCBCQURfQ0FTVCB1cmkpKQorCSAgICByZXR1cm4ocHJvcCk7CisJcHJvcCA9IHByb3AtPm5leHQ7CisgICAgfQorICAgIHJldHVybiAoTlVMTCk7Cit9CisKK3N0YXRpYyBjb25zdCB4bWxDaGFyICoKK3htbFNjaGVtYUdldE5vZGVDb250ZW50KHhtbFNjaGVtYVBhcnNlckN0eHRQdHIgY3R4dCwgeG1sTm9kZVB0ciBub2RlKQoreworICAgIHhtbENoYXIgKnZhbDsKKyAgICBjb25zdCB4bWxDaGFyICpyZXQ7CisKKyAgICB2YWwgPSB4bWxOb2RlR2V0Q29udGVudChub2RlKTsKKyAgICBpZiAodmFsID09IE5VTEwpCisJdmFsID0geG1sU3RyZHVwKCh4bWxDaGFyICopIiIpOworICAgIHJldCA9IHhtbERpY3RMb29rdXAoY3R4dC0+ZGljdCwgdmFsLCAtMSk7CisgICAgeG1sRnJlZSh2YWwpOworICAgIHJldHVybihyZXQpOworfQorCitzdGF0aWMgY29uc3QgeG1sQ2hhciAqCit4bWxTY2hlbWFHZXROb2RlQ29udGVudE5vRGljdCh4bWxOb2RlUHRyIG5vZGUpCit7CisgICAgcmV0dXJuKChjb25zdCB4bWxDaGFyKikgeG1sTm9kZUdldENvbnRlbnQobm9kZSkpOworfQorCisvKioKKyAqIHhtbFNjaGVtYUdldFByb3A6CisgKiBAY3R4dDogdGhlIHBhcnNlciBjb250ZXh0CisgKiBAbm9kZTogdGhlIG5vZGUKKyAqIEBuYW1lOiB0aGUgcHJvcGVydHkgbmFtZQorICoKKyAqIFJlYWQgYSBhdHRyaWJ1dGUgdmFsdWUgYW5kIGludGVybmFsaXplIHRoZSBzdHJpbmcKKyAqCisgKiBSZXR1cm5zIHRoZSBzdHJpbmcgb3IgTlVMTCBpZiBub3QgcHJlc2VudC4KKyAqLworc3RhdGljIGNvbnN0IHhtbENoYXIgKgoreG1sU2NoZW1hR2V0UHJvcCh4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIGN0eHQsIHhtbE5vZGVQdHIgbm9kZSwKKyAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqbmFtZSkKK3sKKyAgICB4bWxDaGFyICp2YWw7CisgICAgY29uc3QgeG1sQ2hhciAqcmV0OworCisgICAgdmFsID0geG1sR2V0Tm9Oc1Byb3Aobm9kZSwgQkFEX0NBU1QgbmFtZSk7CisgICAgaWYgKHZhbCA9PSBOVUxMKQorICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgcmV0ID0geG1sRGljdExvb2t1cChjdHh0LT5kaWN0LCB2YWwsIC0xKTsKKyAgICB4bWxGcmVlKHZhbCk7CisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCQlQYXJzaW5nIGZ1bmN0aW9ucwkJCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNkZWZpbmUgV1hTX0ZJTkRfR0xPQkFMX0lURU0oc2xvdCkJCQlcCisgICAgaWYgKHhtbFN0ckVxdWFsKG5zTmFtZSwgc2NoZW1hLT50YXJnZXROYW1lc3BhY2UpKSB7IFwKKwlyZXQgPSB4bWxIYXNoTG9va3VwKHNjaGVtYS0+c2xvdCwgbmFtZSk7IFwKKwlpZiAocmV0ICE9IE5VTEwpIGdvdG8gZXhpdDsgXAorICAgIH0gXAorICAgIGlmICh4bWxIYXNoU2l6ZShzY2hlbWEtPnNjaGVtYXNJbXBvcnRzKSA+IDEpIHsgXAorCXhtbFNjaGVtYUltcG9ydFB0ciBpbXBvcnQ7IFwKKwlpZiAobnNOYW1lID09IE5VTEwpIFwKKwkgICAgaW1wb3J0ID0geG1sSGFzaExvb2t1cChzY2hlbWEtPnNjaGVtYXNJbXBvcnRzLCBcCisJCVhNTF9TQ0hFTUFTX05PX05BTUVTUEFDRSk7IFwKKwllbHNlIFwKKwkgICAgaW1wb3J0ID0geG1sSGFzaExvb2t1cChzY2hlbWEtPnNjaGVtYXNJbXBvcnRzLCBuc05hbWUpOyBcCisJaWYgKGltcG9ydCA9PSBOVUxMKSBcCisJICAgIGdvdG8gZXhpdDsgXAorCXJldCA9IHhtbEhhc2hMb29rdXAoaW1wb3J0LT5zY2hlbWEtPnNsb3QsIG5hbWUpOyBcCisgICAgfQorCisvKioKKyAqIHhtbFNjaGVtYUdldEVsZW06CisgKiBAc2NoZW1hOiAgdGhlIHNjaGVtYSBjb250ZXh0CisgKiBAbmFtZTogIHRoZSBlbGVtZW50IG5hbWUKKyAqIEBuczogIHRoZSBlbGVtZW50IG5hbWVzcGFjZQorICoKKyAqIExvb2t1cCBhIGdsb2JhbCBlbGVtZW50IGRlY2xhcmF0aW9uIGluIHRoZSBzY2hlbWEuCisgKgorICogUmV0dXJucyB0aGUgZWxlbWVudCBkZWNsYXJhdGlvbiBvciBOVUxMIGlmIG5vdCBmb3VuZC4KKyAqLworc3RhdGljIHhtbFNjaGVtYUVsZW1lbnRQdHIKK3htbFNjaGVtYUdldEVsZW0oeG1sU2NoZW1hUHRyIHNjaGVtYSwgY29uc3QgeG1sQ2hhciAqIG5hbWUsCisgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBuc05hbWUpCit7CisgICAgeG1sU2NoZW1hRWxlbWVudFB0ciByZXQgPSBOVUxMOworCisgICAgaWYgKChuYW1lID09IE5VTEwpIHx8IChzY2hlbWEgPT0gTlVMTCkpCisgICAgICAgIHJldHVybihOVUxMKTsKKyAgICBpZiAoc2NoZW1hICE9IE5VTEwpIHsKKwlXWFNfRklORF9HTE9CQUxfSVRFTShlbGVtRGVjbCkKKyAgICB9CitleGl0OgorI2lmZGVmIERFQlVHCisgICAgaWYgKHJldCA9PSBOVUxMKSB7CisgICAgICAgIGlmIChuc05hbWUgPT0gTlVMTCkKKyAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiVW5hYmxlIHRvIGxvb2t1cCBlbGVtZW50IGRlY2wuICVzIiwgbmFtZSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiVW5hYmxlIHRvIGxvb2t1cCBlbGVtZW50IGRlY2wuICVzOiVzIiwgbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgbnNOYW1lKTsKKyAgICB9CisjZW5kaWYKKyAgICByZXR1cm4gKHJldCk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hR2V0VHlwZToKKyAqIEBzY2hlbWE6ICB0aGUgbWFpbiBzY2hlbWEKKyAqIEBuYW1lOiAgdGhlIHR5cGUncyBuYW1lCisgKiBuc05hbWU6ICB0aGUgdHlwZSdzIG5hbWVzcGFjZQorICoKKyAqIExvb2t1cCBhIHR5cGUgaW4gdGhlIHNjaGVtYXMgb3IgdGhlIHByZWRlZmluZWQgdHlwZXMKKyAqCisgKiBSZXR1cm5zIHRoZSBncm91cCBkZWZpbml0aW9uIG9yIE5VTEwgaWYgbm90IGZvdW5kLgorICovCitzdGF0aWMgeG1sU2NoZW1hVHlwZVB0cgoreG1sU2NoZW1hR2V0VHlwZSh4bWxTY2hlbWFQdHIgc2NoZW1hLCBjb25zdCB4bWxDaGFyICogbmFtZSwKKyAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIG5zTmFtZSkKK3sKKyAgICB4bWxTY2hlbWFUeXBlUHRyIHJldCA9IE5VTEw7CisKKyAgICBpZiAobmFtZSA9PSBOVUxMKQorICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIC8qIEZpcnN0IHRyeSB0aGUgYnVpbHQtaW4gdHlwZXMuICovCisgICAgaWYgKChuc05hbWUgIT0gTlVMTCkgJiYgeG1sU3RyRXF1YWwobnNOYW1lLCB4bWxTY2hlbWFOcykpIHsKKwlyZXQgPSB4bWxTY2hlbWFHZXRQcmVkZWZpbmVkVHlwZShuYW1lLCBuc05hbWUpOworCWlmIChyZXQgIT0gTlVMTCkKKwkgICAgZ290byBleGl0OworCS8qCisJKiBOb3RlIHRoYXQgd2UgdHJ5IHRoZSBwYXJzZWQgc2NoZW1hcyBhcyB3ZWxsIGhlcmUKKwkqIHNpbmNlIG9uZSBtaWdodCBoYXZlIHBhcnNlZCB0aGUgUzRTLCB3aGljaCBjb250YWluIG1vcmUKKwkqIHRoYW4gdGhlIGJ1aWx0LWluIHR5cGVzLgorCSogVE9ETzogQ2FuIHdlIG9wdGltaXplIHRoaXM/CisJKi8KKyAgICB9CisgICAgaWYgKHNjaGVtYSAhPSBOVUxMKSB7CisJV1hTX0ZJTkRfR0xPQkFMX0lURU0odHlwZURlY2wpCisgICAgfQorZXhpdDoKKworI2lmZGVmIERFQlVHCisgICAgaWYgKHJldCA9PSBOVUxMKSB7CisgICAgICAgIGlmIChuc05hbWUgPT0gTlVMTCkKKyAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiVW5hYmxlIHRvIGxvb2t1cCB0eXBlICVzIiwgbmFtZSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiVW5hYmxlIHRvIGxvb2t1cCB0eXBlICVzOiVzIiwgbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgbnNOYW1lKTsKKyAgICB9CisjZW5kaWYKKyAgICByZXR1cm4gKHJldCk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hR2V0QXR0cmlidXRlRGVjbDoKKyAqIEBzY2hlbWE6ICB0aGUgY29udGV4dCBvZiB0aGUgc2NoZW1hCisgKiBAbmFtZTogIHRoZSBuYW1lIG9mIHRoZSBhdHRyaWJ1dGUKKyAqIEBuczogIHRoZSB0YXJnZXQgbmFtZXNwYWNlIG9mIHRoZSBhdHRyaWJ1dGUKKyAqCisgKiBMb29rdXAgYSBhbiBhdHRyaWJ1dGUgaW4gdGhlIHNjaGVtYSBvciBpbXBvcnRlZCBzY2hlbWFzCisgKgorICogUmV0dXJucyB0aGUgYXR0cmlidXRlIGRlY2xhcmF0aW9uIG9yIE5VTEwgaWYgbm90IGZvdW5kLgorICovCitzdGF0aWMgeG1sU2NoZW1hQXR0cmlidXRlUHRyCit4bWxTY2hlbWFHZXRBdHRyaWJ1dGVEZWNsKHhtbFNjaGVtYVB0ciBzY2hlbWEsIGNvbnN0IHhtbENoYXIgKiBuYW1lLAorICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogbnNOYW1lKQoreworICAgIHhtbFNjaGVtYUF0dHJpYnV0ZVB0ciByZXQgPSBOVUxMOworCisgICAgaWYgKChuYW1lID09IE5VTEwpIHx8IChzY2hlbWEgPT0gTlVMTCkpCisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgaWYgKHNjaGVtYSAhPSBOVUxMKSB7CisJV1hTX0ZJTkRfR0xPQkFMX0lURU0oYXR0ckRlY2wpCisgICAgfQorZXhpdDoKKyNpZmRlZiBERUJVRworICAgIGlmIChyZXQgPT0gTlVMTCkgeworICAgICAgICBpZiAobnNOYW1lID09IE5VTEwpCisgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIlVuYWJsZSB0byBsb29rdXAgYXR0cmlidXRlICVzIiwgbmFtZSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiVW5hYmxlIHRvIGxvb2t1cCBhdHRyaWJ1dGUgJXM6JXMiLCBuYW1lLAorICAgICAgICAgICAgICAgICAgICBuc05hbWUpOworICAgIH0KKyNlbmRpZgorICAgIHJldHVybiAocmV0KTsKK30KKworLyoqCisgKiB4bWxTY2hlbWFHZXRBdHRyaWJ1dGVHcm91cDoKKyAqIEBzY2hlbWE6ICB0aGUgY29udGV4dCBvZiB0aGUgc2NoZW1hCisgKiBAbmFtZTogIHRoZSBuYW1lIG9mIHRoZSBhdHRyaWJ1dGUgZ3JvdXAKKyAqIEBuczogIHRoZSB0YXJnZXQgbmFtZXNwYWNlIG9mIHRoZSBhdHRyaWJ1dGUgZ3JvdXAKKyAqCisgKiBMb29rdXAgYSBhbiBhdHRyaWJ1dGUgZ3JvdXAgaW4gdGhlIHNjaGVtYSBvciBpbXBvcnRlZCBzY2hlbWFzCisgKgorICogUmV0dXJucyB0aGUgYXR0cmlidXRlIGdyb3VwIGRlZmluaXRpb24gb3IgTlVMTCBpZiBub3QgZm91bmQuCisgKi8KK3N0YXRpYyB4bWxTY2hlbWFBdHRyaWJ1dGVHcm91cFB0cgoreG1sU2NoZW1hR2V0QXR0cmlidXRlR3JvdXAoeG1sU2NoZW1hUHRyIHNjaGVtYSwgY29uc3QgeG1sQ2hhciAqIG5hbWUsCisgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBuc05hbWUpCit7CisgICAgeG1sU2NoZW1hQXR0cmlidXRlR3JvdXBQdHIgcmV0ID0gTlVMTDsKKworICAgIGlmICgobmFtZSA9PSBOVUxMKSB8fCAoc2NoZW1hID09IE5VTEwpKQorICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIGlmIChzY2hlbWEgIT0gTlVMTCkgeworCVdYU19GSU5EX0dMT0JBTF9JVEVNKGF0dHJncnBEZWNsKQorICAgIH0KK2V4aXQ6CisgICAgLyogVE9ETzoKKyAgICBpZiAoKHJldCAhPSBOVUxMKSAmJiAocmV0LT5yZWRlZiAhPSBOVUxMKSkgeworCSogUmV0dXJuIHRoZSBsYXN0IHJlZGVmaW5pdGlvbi4gKgorCXJldCA9IHJldC0+cmVkZWY7CisgICAgfQorICAgICovCisjaWZkZWYgREVCVUcKKyAgICBpZiAocmV0ID09IE5VTEwpIHsKKyAgICAgICAgaWYgKG5zTmFtZSA9PSBOVUxMKQorICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJVbmFibGUgdG8gbG9va3VwIGF0dHJpYnV0ZSBncm91cCAlcyIsIG5hbWUpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIlVuYWJsZSB0byBsb29rdXAgYXR0cmlidXRlIGdyb3VwICVzOiVzIiwgbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgbnNOYW1lKTsKKyAgICB9CisjZW5kaWYKKyAgICByZXR1cm4gKHJldCk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hR2V0R3JvdXA6CisgKiBAc2NoZW1hOiAgdGhlIGNvbnRleHQgb2YgdGhlIHNjaGVtYQorICogQG5hbWU6ICB0aGUgbmFtZSBvZiB0aGUgZ3JvdXAKKyAqIEBuczogIHRoZSB0YXJnZXQgbmFtZXNwYWNlIG9mIHRoZSBncm91cAorICoKKyAqIExvb2t1cCBhIGdyb3VwIGluIHRoZSBzY2hlbWEgb3IgaW1wb3J0ZWQgc2NoZW1hcworICoKKyAqIFJldHVybnMgdGhlIGdyb3VwIGRlZmluaXRpb24gb3IgTlVMTCBpZiBub3QgZm91bmQuCisgKi8KK3N0YXRpYyB4bWxTY2hlbWFNb2RlbEdyb3VwRGVmUHRyCit4bWxTY2hlbWFHZXRHcm91cCh4bWxTY2hlbWFQdHIgc2NoZW1hLCBjb25zdCB4bWxDaGFyICogbmFtZSwKKyAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIG5zTmFtZSkKK3sKKyAgICB4bWxTY2hlbWFNb2RlbEdyb3VwRGVmUHRyIHJldCA9IE5VTEw7CisKKyAgICBpZiAoKG5hbWUgPT0gTlVMTCkgfHwgKHNjaGVtYSA9PSBOVUxMKSkKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICBpZiAoc2NoZW1hICE9IE5VTEwpIHsKKwlXWFNfRklORF9HTE9CQUxfSVRFTShncm91cERlY2wpCisgICAgfQorZXhpdDoKKworI2lmZGVmIERFQlVHCisgICAgaWYgKHJldCA9PSBOVUxMKSB7CisgICAgICAgIGlmIChuc05hbWUgPT0gTlVMTCkKKyAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiVW5hYmxlIHRvIGxvb2t1cCBncm91cCAlcyIsIG5hbWUpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIlVuYWJsZSB0byBsb29rdXAgZ3JvdXAgJXM6JXMiLCBuYW1lLAorICAgICAgICAgICAgICAgICAgICBuc05hbWUpOworICAgIH0KKyNlbmRpZgorICAgIHJldHVybiAocmV0KTsKK30KKworc3RhdGljIHhtbFNjaGVtYU5vdGF0aW9uUHRyCit4bWxTY2hlbWFHZXROb3RhdGlvbih4bWxTY2hlbWFQdHIgc2NoZW1hLAorCQkgICAgIGNvbnN0IHhtbENoYXIgKm5hbWUsCisJCSAgICAgY29uc3QgeG1sQ2hhciAqbnNOYW1lKQoreworICAgIHhtbFNjaGVtYU5vdGF0aW9uUHRyIHJldCA9IE5VTEw7CisKKyAgICBpZiAoKG5hbWUgPT0gTlVMTCkgfHwgKHNjaGVtYSA9PSBOVUxMKSkKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICBpZiAoc2NoZW1hICE9IE5VTEwpIHsKKwlXWFNfRklORF9HTE9CQUxfSVRFTShub3RhRGVjbCkKKyAgICB9CitleGl0OgorICAgIHJldHVybiAocmV0KTsKK30KKworc3RhdGljIHhtbFNjaGVtYUlEQ1B0cgoreG1sU2NoZW1hR2V0SURDKHhtbFNjaGVtYVB0ciBzY2hlbWEsCisJCWNvbnN0IHhtbENoYXIgKm5hbWUsCisJCWNvbnN0IHhtbENoYXIgKm5zTmFtZSkKK3sKKyAgICB4bWxTY2hlbWFJRENQdHIgcmV0ID0gTlVMTDsKKworICAgIGlmICgobmFtZSA9PSBOVUxMKSB8fCAoc2NoZW1hID09IE5VTEwpKQorICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIGlmIChzY2hlbWEgIT0gTlVMTCkgeworCVdYU19GSU5EX0dMT0JBTF9JVEVNKGlkY0RlZikKKyAgICB9CitleGl0OgorICAgIHJldHVybiAocmV0KTsKK30KKworLyoqCisgKiB4bWxTY2hlbWFHZXROYW1lZENvbXBvbmVudDoKKyAqIEBzY2hlbWE6ICB0aGUgc2NoZW1hCisgKiBAbmFtZTogIHRoZSBuYW1lIG9mIHRoZSBncm91cAorICogQG5zOiAgdGhlIHRhcmdldCBuYW1lc3BhY2Ugb2YgdGhlIGdyb3VwCisgKgorICogTG9va3VwIGEgZ3JvdXAgaW4gdGhlIHNjaGVtYSBvciBpbXBvcnRlZCBzY2hlbWFzCisgKgorICogUmV0dXJucyB0aGUgZ3JvdXAgZGVmaW5pdGlvbiBvciBOVUxMIGlmIG5vdCBmb3VuZC4KKyAqLworc3RhdGljIHhtbFNjaGVtYUJhc2ljSXRlbVB0cgoreG1sU2NoZW1hR2V0TmFtZWRDb21wb25lbnQoeG1sU2NoZW1hUHRyIHNjaGVtYSwKKwkJCSAgIHhtbFNjaGVtYVR5cGVUeXBlIGl0ZW1UeXBlLAorCQkJICAgY29uc3QgeG1sQ2hhciAqbmFtZSwKKwkJCSAgIGNvbnN0IHhtbENoYXIgKnRhcmdldE5zKQoreworICAgIHN3aXRjaCAoaXRlbVR5cGUpIHsKKwljYXNlIFhNTF9TQ0hFTUFfVFlQRV9HUk9VUDoKKwkgICAgcmV0dXJuICgoeG1sU2NoZW1hQmFzaWNJdGVtUHRyKSB4bWxTY2hlbWFHZXRHcm91cChzY2hlbWEsCisJCW5hbWUsIHRhcmdldE5zKSk7CisJY2FzZSBYTUxfU0NIRU1BX1RZUEVfRUxFTUVOVDoKKwkgICAgcmV0dXJuICgoeG1sU2NoZW1hQmFzaWNJdGVtUHRyKSB4bWxTY2hlbWFHZXRFbGVtKHNjaGVtYSwKKwkJbmFtZSwgdGFyZ2V0TnMpKTsKKwlkZWZhdWx0OgorCSAgICBUT0RPCisJICAgIHJldHVybiAoTlVMTCk7CisgICAgfQorfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQkJUGFyc2luZyBmdW5jdGlvbnMJCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjZGVmaW5lIElTX0JMQU5LX05PREUobikJCQkJCQlcCisgICAgKCgobiktPnR5cGUgPT0gWE1MX1RFWFRfTk9ERSkgJiYgKHhtbFNjaGVtYUlzQmxhbmsoKG4pLT5jb250ZW50LCAtMSkpKQorCisvKioKKyAqIHhtbFNjaGVtYUlzQmxhbms6CisgKiBAc3RyOiAgYSBzdHJpbmcKKyAqIEBsZW46IHRoZSBsZW5ndGggb2YgdGhlIHN0cmluZyBvciAtMQorICoKKyAqIENoZWNrIGlmIGEgc3RyaW5nIGlzIGlnbm9yYWJsZQorICoKKyAqIFJldHVybnMgMSBpZiB0aGUgc3RyaW5nIGlzIE5VTEwgb3IgbWFkZSBvZiBibGFua3MgY2hhcnMsIDAgb3RoZXJ3aXNlCisgKi8KK3N0YXRpYyBpbnQKK3htbFNjaGVtYUlzQmxhbmsoeG1sQ2hhciAqIHN0ciwgaW50IGxlbikKK3sKKyAgICBpZiAoc3RyID09IE5VTEwpCisgICAgICAgIHJldHVybiAoMSk7CisgICAgaWYgKGxlbiA8IDApIHsKKwl3aGlsZSAoKnN0ciAhPSAwKSB7CisJICAgIGlmICghKElTX0JMQU5LX0NIKCpzdHIpKSkKKwkJcmV0dXJuICgwKTsKKwkgICAgc3RyKys7CisJfQorICAgIH0gZWxzZSB3aGlsZSAoKCpzdHIgIT0gMCkgJiYgKGxlbiAhPSAwKSkgeworCWlmICghKElTX0JMQU5LX0NIKCpzdHIpKSkKKwkgICAgcmV0dXJuICgwKTsKKwlzdHIrKzsKKwlsZW4tLTsKKyAgICB9CisKKyAgICByZXR1cm4gKDEpOworfQorCisjZGVmaW5lIFdYU19DT01QX05BTUUoYywgdCkgKCh0KSAoYykpLT5uYW1lCisjZGVmaW5lIFdYU19DT01QX1ROUyhjLCB0KSAoKHQpIChjKSktPnRhcmdldE5hbWVzcGFjZQorLyoKKyogeG1sU2NoZW1hRmluZFJlZGVmQ29tcEluR3JhcGg6CisqIEFUVEVOVElPTiBUT0RPOiBUaGlzIHVzZXMgcG9pbnRlciBjb21wLiBmb3Igc3RyaW5ncy4KKyovCitzdGF0aWMgeG1sU2NoZW1hQmFzaWNJdGVtUHRyCit4bWxTY2hlbWFGaW5kUmVkZWZDb21wSW5HcmFwaCh4bWxTY2hlbWFCdWNrZXRQdHIgYnVja2V0LAorCQkJICAgICAgeG1sU2NoZW1hVHlwZVR5cGUgdHlwZSwKKwkJCSAgICAgIGNvbnN0IHhtbENoYXIgKm5hbWUsCisJCQkgICAgICBjb25zdCB4bWxDaGFyICpuc05hbWUpCit7CisgICAgeG1sU2NoZW1hQmFzaWNJdGVtUHRyIHJldDsKKyAgICBpbnQgaTsKKworICAgIGlmICgoYnVja2V0ID09IE5VTEwpIHx8IChuYW1lID09IE5VTEwpKQorCXJldHVybihOVUxMKTsKKyAgICBpZiAoKGJ1Y2tldC0+Z2xvYmFscyA9PSBOVUxMKSB8fAorCShidWNrZXQtPmdsb2JhbHMtPm5iSXRlbXMgPT0gMCkpCisJZ290byBzdWJzY2hlbWFzOworICAgIC8qCisgICAgKiBTZWFyY2ggaW4gZ2xvYmFsIGNvbXBvbmVudHMuCisgICAgKi8KKyAgICBmb3IgKGkgPSAwOyBpIDwgYnVja2V0LT5nbG9iYWxzLT5uYkl0ZW1zOyBpKyspIHsKKwlyZXQgPSBidWNrZXQtPmdsb2JhbHMtPml0ZW1zW2ldOworCWlmIChyZXQtPnR5cGUgPT0gdHlwZSkgeworCSAgICBzd2l0Y2ggKHR5cGUpIHsKKwkJY2FzZSBYTUxfU0NIRU1BX1RZUEVfQ09NUExFWDoKKwkJY2FzZSBYTUxfU0NIRU1BX1RZUEVfU0lNUExFOgorCQkgICAgaWYgKChXWFNfQ09NUF9OQU1FKHJldCwgeG1sU2NoZW1hVHlwZVB0cikgPT0gbmFtZSkgJiYKKwkJCShXWFNfQ09NUF9UTlMocmV0LCB4bWxTY2hlbWFUeXBlUHRyKSA9PQorCQkJbnNOYW1lKSkKKwkJICAgIHsKKwkJCXJldHVybihyZXQpOworCQkgICAgfQorCQkgICAgYnJlYWs7CisJCWNhc2UgWE1MX1NDSEVNQV9UWVBFX0dST1VQOgorCQkgICAgaWYgKChXWFNfQ09NUF9OQU1FKHJldCwKKwkJCSAgICB4bWxTY2hlbWFNb2RlbEdyb3VwRGVmUHRyKSA9PSBuYW1lKSAmJgorCQkJKFdYU19DT01QX1ROUyhyZXQsCisJCQkgICAgeG1sU2NoZW1hTW9kZWxHcm91cERlZlB0cikgPT0gbnNOYW1lKSkKKwkJICAgIHsKKwkJCXJldHVybihyZXQpOworCQkgICAgfQorCQkgICAgYnJlYWs7CisJCWNhc2UgWE1MX1NDSEVNQV9UWVBFX0FUVFJJQlVURUdST1VQOgorCQkgICAgaWYgKChXWFNfQ09NUF9OQU1FKHJldCwKKwkJCSAgICB4bWxTY2hlbWFBdHRyaWJ1dGVHcm91cFB0cikgPT0gbmFtZSkgJiYKKwkJCShXWFNfQ09NUF9UTlMocmV0LAorCQkJICAgIHhtbFNjaGVtYUF0dHJpYnV0ZUdyb3VwUHRyKSA9PSBuc05hbWUpKQorCQkgICAgeworCQkJcmV0dXJuKHJldCk7CisJCSAgICB9CisJCSAgICBicmVhazsKKwkJZGVmYXVsdDoKKwkJICAgIC8qIFNob3VsZCBub3QgYmUgaGl0LiAqLworCQkgICAgcmV0dXJuKE5VTEwpOworCSAgICB9CisJfQorICAgIH0KK3N1YnNjaGVtYXM6CisgICAgLyoKKyAgICAqIFByb2Nlc3MgaW1wb3J0ZWQvaW5jbHVkZWQgc2NoZW1hcy4KKyAgICAqLworICAgIGlmIChidWNrZXQtPnJlbGF0aW9ucyAhPSBOVUxMKSB7CisJeG1sU2NoZW1hU2NoZW1hUmVsYXRpb25QdHIgcmVsID0gYnVja2V0LT5yZWxhdGlvbnM7CisKKwkvKgorCSogVE9ETzogTWFya2luZyB0aGUgYnVja2V0IHdpbGwgbm90IGF2b2lkIG11bHRpcGxlIHNlYXJjaGVzCisJKiBpbiB0aGUgc2FtZSBzY2hlbWEsIGJ1dCBhdm9pZHMgYXQgbGVhc3QgY2lyY3VsYXJpdHkuCisJKi8KKwlidWNrZXQtPmZsYWdzIHw9IFhNTF9TQ0hFTUFfQlVDS0VUX01BUktFRDsKKwlkbyB7CisJICAgIGlmICgocmVsLT5idWNrZXQgIT0gTlVMTCkgJiYKKwkJKChyZWwtPmJ1Y2tldC0+ZmxhZ3MgJiBYTUxfU0NIRU1BX0JVQ0tFVF9NQVJLRUQpID09IDApKSB7CisJCXJldCA9IHhtbFNjaGVtYUZpbmRSZWRlZkNvbXBJbkdyYXBoKHJlbC0+YnVja2V0LAorCQkgICAgdHlwZSwgbmFtZSwgbnNOYW1lKTsKKwkJaWYgKHJldCAhPSBOVUxMKQorCQkgICAgcmV0dXJuKHJldCk7CisJICAgIH0KKwkgICAgcmVsID0gcmVsLT5uZXh0OworCX0gd2hpbGUgKHJlbCAhPSBOVUxMKTsKKwkgYnVja2V0LT5mbGFncyBePSBYTUxfU0NIRU1BX0JVQ0tFVF9NQVJLRUQ7CisgICAgfQorICAgIHJldHVybihOVUxMKTsKK30KKworLyoqCisgKiB4bWxTY2hlbWFBZGROb3RhdGlvbjoKKyAqIEBjdHh0OiAgYSBzY2hlbWEgcGFyc2VyIGNvbnRleHQKKyAqIEBzY2hlbWE6ICB0aGUgc2NoZW1hIGJlaW5nIGJ1aWx0CisgKiBAbmFtZTogIHRoZSBpdGVtIG5hbWUKKyAqCisgKiBBZGQgYW4gWE1MIHNjaGVtYSBhbm5vdGF0aW9uIGRlY2xhcmF0aW9uCisgKiAqV0FSTklORyogdGhpcyBpbnRlcmZhY2UgaXMgaGlnaGx5IHN1YmplY3QgdG8gY2hhbmdlCisgKgorICogUmV0dXJucyB0aGUgbmV3IHN0cnV0dXJlIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcgorICovCitzdGF0aWMgeG1sU2NoZW1hTm90YXRpb25QdHIKK3htbFNjaGVtYUFkZE5vdGF0aW9uKHhtbFNjaGVtYVBhcnNlckN0eHRQdHIgY3R4dCwgeG1sU2NoZW1hUHRyIHNjaGVtYSwKKyAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKm5hbWUsIGNvbnN0IHhtbENoYXIgKm5zTmFtZSwKKwkJICAgICB4bWxOb2RlUHRyIG5vZGUgQVRUUklCVVRFX1VOVVNFRCkKK3sKKyAgICB4bWxTY2hlbWFOb3RhdGlvblB0ciByZXQgPSBOVUxMOworCisgICAgaWYgKChjdHh0ID09IE5VTEwpIHx8IChzY2hlbWEgPT0gTlVMTCkgfHwgKG5hbWUgPT0gTlVMTCkpCisgICAgICAgIHJldHVybiAoTlVMTCk7CisKKyAgICByZXQgPSAoeG1sU2NoZW1hTm90YXRpb25QdHIpIHhtbE1hbGxvYyhzaXplb2YoeG1sU2NoZW1hTm90YXRpb24pKTsKKyAgICBpZiAocmV0ID09IE5VTEwpIHsKKyAgICAgICAgeG1sU2NoZW1hUEVyck1lbW9yeShjdHh0LCAiYWRkIGFubm90YXRpb24iLCBOVUxMKTsKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICB9CisgICAgbWVtc2V0KHJldCwgMCwgc2l6ZW9mKHhtbFNjaGVtYU5vdGF0aW9uKSk7CisgICAgcmV0LT50eXBlID0gWE1MX1NDSEVNQV9UWVBFX05PVEFUSU9OOworICAgIHJldC0+bmFtZSA9IG5hbWU7CisgICAgcmV0LT50YXJnZXROYW1lc3BhY2UgPSBuc05hbWU7CisgICAgLyogVE9ETzogZG8gd2UgbmVlZCB0aGUgbm9kZSB0byBiZSBzZXQ/CisgICAgKiByZXQtPm5vZGUgPSBub2RlOyovCisgICAgV1hTX0FERF9HTE9CQUwoY3R4dCwgcmV0KTsKKyAgICByZXR1cm4gKHJldCk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hQWRkQXR0cmlidXRlOgorICogQGN0eHQ6ICBhIHNjaGVtYSBwYXJzZXIgY29udGV4dAorICogQHNjaGVtYTogIHRoZSBzY2hlbWEgYmVpbmcgYnVpbHQKKyAqIEBuYW1lOiAgdGhlIGl0ZW0gbmFtZQorICogQG5hbWVzcGFjZTogIHRoZSBuYW1lc3BhY2UKKyAqCisgKiBBZGQgYW4gWE1MIHNjaGVtYSBBdHRycmlidXRlIGRlY2xhcmF0aW9uCisgKiAqV0FSTklORyogdGhpcyBpbnRlcmZhY2UgaXMgaGlnaGx5IHN1YmplY3QgdG8gY2hhbmdlCisgKgorICogUmV0dXJucyB0aGUgbmV3IHN0cnV0dXJlIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcgorICovCitzdGF0aWMgeG1sU2NoZW1hQXR0cmlidXRlUHRyCit4bWxTY2hlbWFBZGRBdHRyaWJ1dGUoeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBjdHh0LCB4bWxTY2hlbWFQdHIgc2NoZW1hLAorICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBuYW1lLCBjb25zdCB4bWxDaGFyICogbnNOYW1lLAorCQkgICAgICB4bWxOb2RlUHRyIG5vZGUsIGludCB0b3BMZXZlbCkKK3sKKyAgICB4bWxTY2hlbWFBdHRyaWJ1dGVQdHIgcmV0ID0gTlVMTDsKKworICAgIGlmICgoY3R4dCA9PSBOVUxMKSB8fCAoc2NoZW1hID09IE5VTEwpKQorICAgICAgICByZXR1cm4gKE5VTEwpOworCisgICAgcmV0ID0gKHhtbFNjaGVtYUF0dHJpYnV0ZVB0cikgeG1sTWFsbG9jKHNpemVvZih4bWxTY2hlbWFBdHRyaWJ1dGUpKTsKKyAgICBpZiAocmV0ID09IE5VTEwpIHsKKyAgICAgICAgeG1sU2NoZW1hUEVyck1lbW9yeShjdHh0LCAiYWxsb2NhdGluZyBhdHRyaWJ1dGUiLCBOVUxMKTsKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICB9CisgICAgbWVtc2V0KHJldCwgMCwgc2l6ZW9mKHhtbFNjaGVtYUF0dHJpYnV0ZSkpOworICAgIHJldC0+dHlwZSA9IFhNTF9TQ0hFTUFfVFlQRV9BVFRSSUJVVEU7CisgICAgcmV0LT5ub2RlID0gbm9kZTsKKyAgICByZXQtPm5hbWUgPSBuYW1lOworICAgIHJldC0+dGFyZ2V0TmFtZXNwYWNlID0gbnNOYW1lOworCisgICAgaWYgKHRvcExldmVsKQorCVdYU19BRERfR0xPQkFMKGN0eHQsIHJldCk7CisgICAgZWxzZQorCVdYU19BRERfTE9DQUwoY3R4dCwgcmV0KTsKKyAgICBXWFNfQUREX1BFTkRJTkcoY3R4dCwgcmV0KTsKKyAgICByZXR1cm4gKHJldCk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hQWRkQXR0cmlidXRlVXNlOgorICogQGN0eHQ6ICBhIHNjaGVtYSBwYXJzZXIgY29udGV4dAorICogQHNjaGVtYTogIHRoZSBzY2hlbWEgYmVpbmcgYnVpbHQKKyAqIEBuYW1lOiAgdGhlIGl0ZW0gbmFtZQorICogQG5hbWVzcGFjZTogIHRoZSBuYW1lc3BhY2UKKyAqCisgKiBBZGQgYW4gWE1MIHNjaGVtYSBBdHRycmlidXRlIGRlY2xhcmF0aW9uCisgKiAqV0FSTklORyogdGhpcyBpbnRlcmZhY2UgaXMgaGlnaGx5IHN1YmplY3QgdG8gY2hhbmdlCisgKgorICogUmV0dXJucyB0aGUgbmV3IHN0cnV0dXJlIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcgorICovCitzdGF0aWMgeG1sU2NoZW1hQXR0cmlidXRlVXNlUHRyCit4bWxTY2hlbWFBZGRBdHRyaWJ1dGVVc2UoeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBwY3R4dCwKKwkJCSB4bWxOb2RlUHRyIG5vZGUpCit7CisgICAgeG1sU2NoZW1hQXR0cmlidXRlVXNlUHRyIHJldCA9IE5VTEw7CisKKyAgICBpZiAocGN0eHQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKworICAgIHJldCA9ICh4bWxTY2hlbWFBdHRyaWJ1dGVVc2VQdHIpIHhtbE1hbGxvYyhzaXplb2YoeG1sU2NoZW1hQXR0cmlidXRlVXNlKSk7CisgICAgaWYgKHJldCA9PSBOVUxMKSB7CisgICAgICAgIHhtbFNjaGVtYVBFcnJNZW1vcnkocGN0eHQsICJhbGxvY2F0aW5nIGF0dHJpYnV0ZSIsIE5VTEwpOworICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIH0KKyAgICBtZW1zZXQocmV0LCAwLCBzaXplb2YoeG1sU2NoZW1hQXR0cmlidXRlVXNlKSk7CisgICAgcmV0LT50eXBlID0gWE1MX1NDSEVNQV9UWVBFX0FUVFJJQlVURV9VU0U7CisgICAgcmV0LT5ub2RlID0gbm9kZTsKKworICAgIFdYU19BRERfTE9DQUwocGN0eHQsIHJldCk7CisgICAgcmV0dXJuIChyZXQpOworfQorCisvKgorKiB4bWxTY2hlbWFBZGRSZWRlZjoKKyoKKyogQWRkcyBhIHJlZGVmaW5pdGlvbiBpbmZvcm1hdGlvbi4gVGhpcyBpcyB1c2VkIGF0IGEgbGF0ZXIgc3RhZ2UgdG86CisqIHJlc29sdmUgcmVmZXJlbmNlcyB0byB0aGUgcmVkZWZpbmVkIGNvbXBvbmVudHMgYW5kIHRvIGNoZWNrIGNvbnN0cmFpbnRzLgorKi8KK3N0YXRpYyB4bWxTY2hlbWFSZWRlZlB0cgoreG1sU2NoZW1hQWRkUmVkZWYoeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBwY3R4dCwKKwkJICB4bWxTY2hlbWFCdWNrZXRQdHIgdGFyZ2V0QnVja2V0LAorCQkgIHZvaWQgKml0ZW0sCisJCSAgY29uc3QgeG1sQ2hhciAqcmVmTmFtZSwKKwkJICBjb25zdCB4bWxDaGFyICpyZWZUYXJnZXROcykKK3sKKyAgICB4bWxTY2hlbWFSZWRlZlB0ciByZXQ7CisKKyAgICByZXQgPSAoeG1sU2NoZW1hUmVkZWZQdHIpCisJeG1sTWFsbG9jKHNpemVvZih4bWxTY2hlbWFSZWRlZikpOworICAgIGlmIChyZXQgPT0gTlVMTCkgeworCXhtbFNjaGVtYVBFcnJNZW1vcnkocGN0eHQsCisJICAgICJhbGxvY2F0aW5nIHJlZGVmaW5pdGlvbiBpbmZvIiwgTlVMTCk7CisJcmV0dXJuIChOVUxMKTsKKyAgICB9CisgICAgbWVtc2V0KHJldCwgMCwgc2l6ZW9mKHhtbFNjaGVtYVJlZGVmKSk7CisgICAgcmV0LT5pdGVtID0gaXRlbTsKKyAgICByZXQtPnRhcmdldEJ1Y2tldCA9IHRhcmdldEJ1Y2tldDsKKyAgICByZXQtPnJlZk5hbWUgPSByZWZOYW1lOworICAgIHJldC0+cmVmVGFyZ2V0TnMgPSByZWZUYXJnZXROczsKKyAgICBpZiAoV1hTX0NPTlNUUlVDVE9SKHBjdHh0KS0+cmVkZWZzID09IE5VTEwpCisJV1hTX0NPTlNUUlVDVE9SKHBjdHh0KS0+cmVkZWZzID0gcmV0OworICAgIGVsc2UKKwlXWFNfQ09OU1RSVUNUT1IocGN0eHQpLT5sYXN0UmVkZWYtPm5leHQgPSByZXQ7CisgICAgV1hTX0NPTlNUUlVDVE9SKHBjdHh0KS0+bGFzdFJlZGVmID0gcmV0OworCisgICAgcmV0dXJuIChyZXQpOworfQorCisvKioKKyAqIHhtbFNjaGVtYUFkZEF0dHJpYnV0ZUdyb3VwRGVmaW5pdGlvbjoKKyAqIEBjdHh0OiAgYSBzY2hlbWEgcGFyc2VyIGNvbnRleHQKKyAqIEBzY2hlbWE6ICB0aGUgc2NoZW1hIGJlaW5nIGJ1aWx0CisgKiBAbmFtZTogIHRoZSBpdGVtIG5hbWUKKyAqIEBuc05hbWU6ICB0aGUgdGFyZ2V0IG5hbWVzcGFjZQorICogQG5vZGU6IHRoZSBjb3JyZXNwb25kaW5nIG5vZGUKKyAqCisgKiBBZGQgYW4gWE1MIHNjaGVtYSBBdHRycmlidXRlIEdyb3VwIGRlZmluaXRpb24uCisgKgorICogUmV0dXJucyB0aGUgbmV3IHN0cnV0dXJlIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcgorICovCitzdGF0aWMgeG1sU2NoZW1hQXR0cmlidXRlR3JvdXBQdHIKK3htbFNjaGVtYUFkZEF0dHJpYnV0ZUdyb3VwRGVmaW5pdGlvbih4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIHBjdHh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sU2NoZW1hUHRyIHNjaGVtYSBBVFRSSUJVVEVfVU5VU0VELAorCQkJICAgY29uc3QgeG1sQ2hhciAqbmFtZSwKKwkJCSAgIGNvbnN0IHhtbENoYXIgKm5zTmFtZSwKKwkJCSAgIHhtbE5vZGVQdHIgbm9kZSkKK3sKKyAgICB4bWxTY2hlbWFBdHRyaWJ1dGVHcm91cFB0ciByZXQgPSBOVUxMOworCisgICAgaWYgKChwY3R4dCA9PSBOVUxMKSB8fCAobmFtZSA9PSBOVUxMKSkKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKworICAgIHJldCA9ICh4bWxTY2hlbWFBdHRyaWJ1dGVHcm91cFB0cikKKyAgICAgICAgeG1sTWFsbG9jKHNpemVvZih4bWxTY2hlbWFBdHRyaWJ1dGVHcm91cCkpOworICAgIGlmIChyZXQgPT0gTlVMTCkgeworCXhtbFNjaGVtYVBFcnJNZW1vcnkocGN0eHQsICJhbGxvY2F0aW5nIGF0dHJpYnV0ZSBncm91cCIsIE5VTEwpOworCXJldHVybiAoTlVMTCk7CisgICAgfQorICAgIG1lbXNldChyZXQsIDAsIHNpemVvZih4bWxTY2hlbWFBdHRyaWJ1dGVHcm91cCkpOworICAgIHJldC0+dHlwZSA9IFhNTF9TQ0hFTUFfVFlQRV9BVFRSSUJVVEVHUk9VUDsKKyAgICByZXQtPm5hbWUgPSBuYW1lOworICAgIHJldC0+dGFyZ2V0TmFtZXNwYWNlID0gbnNOYW1lOworICAgIHJldC0+bm9kZSA9IG5vZGU7CisKKyAgICAvKiBUT0RPOiBSZW1vdmUgdGhlIGZsYWcuICovCisgICAgcmV0LT5mbGFncyB8PSBYTUxfU0NIRU1BU19BVFRSR1JPVVBfR0xPQkFMOworICAgIGlmIChwY3R4dC0+aXNSZWRlZmluZSkgeworCXBjdHh0LT5yZWRlZiA9IHhtbFNjaGVtYUFkZFJlZGVmKHBjdHh0LCBwY3R4dC0+cmVkZWZpbmVkLAorCSAgICByZXQsIG5hbWUsIG5zTmFtZSk7CisJaWYgKHBjdHh0LT5yZWRlZiA9PSBOVUxMKSB7CisJICAgIHhtbEZyZWUocmV0KTsKKwkgICAgcmV0dXJuKE5VTEwpOworCX0KKwlwY3R4dC0+cmVkZWZDb3VudGVyID0gMDsKKyAgICB9CisgICAgV1hTX0FERF9HTE9CQUwocGN0eHQsIHJldCk7CisgICAgV1hTX0FERF9QRU5ESU5HKHBjdHh0LCByZXQpOworICAgIHJldHVybiAocmV0KTsKK30KKworLyoqCisgKiB4bWxTY2hlbWFBZGRFbGVtZW50OgorICogQGN0eHQ6ICBhIHNjaGVtYSBwYXJzZXIgY29udGV4dAorICogQHNjaGVtYTogIHRoZSBzY2hlbWEgYmVpbmcgYnVpbHQKKyAqIEBuYW1lOiAgdGhlIHR5cGUgbmFtZQorICogQG5hbWVzcGFjZTogIHRoZSB0eXBlIG5hbWVzcGFjZQorICoKKyAqIEFkZCBhbiBYTUwgc2NoZW1hIEVsZW1lbnQgZGVjbGFyYXRpb24KKyAqICpXQVJOSU5HKiB0aGlzIGludGVyZmFjZSBpcyBoaWdobHkgc3ViamVjdCB0byBjaGFuZ2UKKyAqCisgKiBSZXR1cm5zIHRoZSBuZXcgc3RydXR1cmUgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3N0YXRpYyB4bWxTY2hlbWFFbGVtZW50UHRyCit4bWxTY2hlbWFBZGRFbGVtZW50KHhtbFNjaGVtYVBhcnNlckN0eHRQdHIgY3R4dCwKKyAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIG5hbWUsIGNvbnN0IHhtbENoYXIgKiBuc05hbWUsCisJCSAgICB4bWxOb2RlUHRyIG5vZGUsIGludCB0b3BMZXZlbCkKK3sKKyAgICB4bWxTY2hlbWFFbGVtZW50UHRyIHJldCA9IE5VTEw7CisKKyAgICBpZiAoKGN0eHQgPT0gTlVMTCkgfHwgKG5hbWUgPT0gTlVMTCkpCisgICAgICAgIHJldHVybiAoTlVMTCk7CisKKyAgICByZXQgPSAoeG1sU2NoZW1hRWxlbWVudFB0cikgeG1sTWFsbG9jKHNpemVvZih4bWxTY2hlbWFFbGVtZW50KSk7CisgICAgaWYgKHJldCA9PSBOVUxMKSB7CisgICAgICAgIHhtbFNjaGVtYVBFcnJNZW1vcnkoY3R4dCwgImFsbG9jYXRpbmcgZWxlbWVudCIsIE5VTEwpOworICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIH0KKyAgICBtZW1zZXQocmV0LCAwLCBzaXplb2YoeG1sU2NoZW1hRWxlbWVudCkpOworICAgIHJldC0+dHlwZSA9IFhNTF9TQ0hFTUFfVFlQRV9FTEVNRU5UOworICAgIHJldC0+bmFtZSA9IG5hbWU7CisgICAgcmV0LT50YXJnZXROYW1lc3BhY2UgPSBuc05hbWU7CisgICAgcmV0LT5ub2RlID0gbm9kZTsKKworICAgIGlmICh0b3BMZXZlbCkKKwlXWFNfQUREX0dMT0JBTChjdHh0LCByZXQpOworICAgIGVsc2UKKwlXWFNfQUREX0xPQ0FMKGN0eHQsIHJldCk7CisgICAgV1hTX0FERF9QRU5ESU5HKGN0eHQsIHJldCk7CisgICAgcmV0dXJuIChyZXQpOworfQorCisvKioKKyAqIHhtbFNjaGVtYUFkZFR5cGU6CisgKiBAY3R4dDogIGEgc2NoZW1hIHBhcnNlciBjb250ZXh0CisgKiBAc2NoZW1hOiAgdGhlIHNjaGVtYSBiZWluZyBidWlsdAorICogQG5hbWU6ICB0aGUgaXRlbSBuYW1lCisgKiBAbmFtZXNwYWNlOiAgdGhlIG5hbWVzcGFjZQorICoKKyAqIEFkZCBhbiBYTUwgc2NoZW1hIGl0ZW0KKyAqICpXQVJOSU5HKiB0aGlzIGludGVyZmFjZSBpcyBoaWdobHkgc3ViamVjdCB0byBjaGFuZ2UKKyAqCisgKiBSZXR1cm5zIHRoZSBuZXcgc3RydXR1cmUgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3N0YXRpYyB4bWxTY2hlbWFUeXBlUHRyCit4bWxTY2hlbWFBZGRUeXBlKHhtbFNjaGVtYVBhcnNlckN0eHRQdHIgY3R4dCwgeG1sU2NoZW1hUHRyIHNjaGVtYSwKKwkJIHhtbFNjaGVtYVR5cGVUeXBlIHR5cGUsCisgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBuYW1lLCBjb25zdCB4bWxDaGFyICogbnNOYW1lLAorCQkgeG1sTm9kZVB0ciBub2RlLCBpbnQgdG9wTGV2ZWwpCit7CisgICAgeG1sU2NoZW1hVHlwZVB0ciByZXQgPSBOVUxMOworCisgICAgaWYgKChjdHh0ID09IE5VTEwpIHx8IChzY2hlbWEgPT0gTlVMTCkpCisgICAgICAgIHJldHVybiAoTlVMTCk7CisKKyAgICByZXQgPSAoeG1sU2NoZW1hVHlwZVB0cikgeG1sTWFsbG9jKHNpemVvZih4bWxTY2hlbWFUeXBlKSk7CisgICAgaWYgKHJldCA9PSBOVUxMKSB7CisgICAgICAgIHhtbFNjaGVtYVBFcnJNZW1vcnkoY3R4dCwgImFsbG9jYXRpbmcgdHlwZSIsIE5VTEwpOworICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIH0KKyAgICBtZW1zZXQocmV0LCAwLCBzaXplb2YoeG1sU2NoZW1hVHlwZSkpOworICAgIHJldC0+dHlwZSA9IHR5cGU7CisgICAgcmV0LT5uYW1lID0gbmFtZTsKKyAgICByZXQtPnRhcmdldE5hbWVzcGFjZSA9IG5zTmFtZTsKKyAgICByZXQtPm5vZGUgPSBub2RlOworICAgIGlmICh0b3BMZXZlbCkgeworCWlmIChjdHh0LT5pc1JlZGVmaW5lKSB7CisJICAgIGN0eHQtPnJlZGVmID0geG1sU2NoZW1hQWRkUmVkZWYoY3R4dCwgY3R4dC0+cmVkZWZpbmVkLAorCQlyZXQsIG5hbWUsIG5zTmFtZSk7CisJICAgIGlmIChjdHh0LT5yZWRlZiA9PSBOVUxMKSB7CisJCXhtbEZyZWUocmV0KTsKKwkJcmV0dXJuKE5VTEwpOworCSAgICB9CisJICAgIGN0eHQtPnJlZGVmQ291bnRlciA9IDA7CisJfQorCVdYU19BRERfR0xPQkFMKGN0eHQsIHJldCk7CisgICAgfSBlbHNlCisJV1hTX0FERF9MT0NBTChjdHh0LCByZXQpOworICAgIFdYU19BRERfUEVORElORyhjdHh0LCByZXQpOworICAgIHJldHVybiAocmV0KTsKK30KKworc3RhdGljIHhtbFNjaGVtYVFOYW1lUmVmUHRyCit4bWxTY2hlbWFOZXdRTmFtZVJlZih4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIHBjdHh0LAorCQkgICAgIHhtbFNjaGVtYVR5cGVUeXBlIHJlZlR5cGUsCisJCSAgICAgY29uc3QgeG1sQ2hhciAqcmVmTmFtZSwKKwkJICAgICBjb25zdCB4bWxDaGFyICpyZWZOcykKK3sKKyAgICB4bWxTY2hlbWFRTmFtZVJlZlB0ciByZXQ7CisKKyAgICByZXQgPSAoeG1sU2NoZW1hUU5hbWVSZWZQdHIpCisJeG1sTWFsbG9jKHNpemVvZih4bWxTY2hlbWFRTmFtZVJlZikpOworICAgIGlmIChyZXQgPT0gTlVMTCkgeworCXhtbFNjaGVtYVBFcnJNZW1vcnkocGN0eHQsCisJICAgICJhbGxvY2F0aW5nIFFOYW1lIHJlZmVyZW5jZSBpdGVtIiwgTlVMTCk7CisJcmV0dXJuIChOVUxMKTsKKyAgICB9CisgICAgcmV0LT5ub2RlID0gTlVMTDsKKyAgICByZXQtPnR5cGUgPSBYTUxfU0NIRU1BX0VYVFJBX1FOQU1FUkVGOworICAgIHJldC0+bmFtZSA9IHJlZk5hbWU7CisgICAgcmV0LT50YXJnZXROYW1lc3BhY2UgPSByZWZOczsKKyAgICByZXQtPml0ZW0gPSBOVUxMOworICAgIHJldC0+aXRlbVR5cGUgPSByZWZUeXBlOworICAgIC8qCisgICAgKiBTdG9yZSB0aGUgcmVmZXJlbmNlIGl0ZW0gaW4gdGhlIHNjaGVtYS4KKyAgICAqLworICAgIFdYU19BRERfTE9DQUwocGN0eHQsIHJldCk7CisgICAgcmV0dXJuIChyZXQpOworfQorCitzdGF0aWMgeG1sU2NoZW1hQXR0cmlidXRlVXNlUHJvaGliUHRyCit4bWxTY2hlbWFBZGRBdHRyaWJ1dGVVc2VQcm9oaWIoeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBwY3R4dCkKK3sKKyAgICB4bWxTY2hlbWFBdHRyaWJ1dGVVc2VQcm9oaWJQdHIgcmV0OworCisgICAgcmV0ID0gKHhtbFNjaGVtYUF0dHJpYnV0ZVVzZVByb2hpYlB0cikKKwl4bWxNYWxsb2Moc2l6ZW9mKHhtbFNjaGVtYUF0dHJpYnV0ZVVzZVByb2hpYikpOworICAgIGlmIChyZXQgPT0gTlVMTCkgeworCXhtbFNjaGVtYVBFcnJNZW1vcnkocGN0eHQsCisJICAgICJhbGxvY2F0aW5nIGF0dHJpYnV0ZSB1c2UgcHJvaGliaXRpb24iLCBOVUxMKTsKKwlyZXR1cm4gKE5VTEwpOworICAgIH0KKyAgICBtZW1zZXQocmV0LCAwLCBzaXplb2YoeG1sU2NoZW1hQXR0cmlidXRlVXNlUHJvaGliKSk7CisgICAgcmV0LT50eXBlID0gWE1MX1NDSEVNQV9FWFRSQV9BVFRSX1VTRV9QUk9ISUI7CisgICAgV1hTX0FERF9MT0NBTChwY3R4dCwgcmV0KTsKKyAgICByZXR1cm4gKHJldCk7Cit9CisKKworLyoqCisgKiB4bWxTY2hlbWFBZGRNb2RlbEdyb3VwOgorICogQGN0eHQ6ICBhIHNjaGVtYSBwYXJzZXIgY29udGV4dAorICogQHNjaGVtYTogIHRoZSBzY2hlbWEgYmVpbmcgYnVpbHQKKyAqIEB0eXBlOiB0aGUgImNvbXBvc2l0b3IiIHR5cGUgb2YgdGhlIG1vZGVsIGdyb3VwCisgKiBAbm9kZTogdGhlIG5vZGUgaW4gdGhlIHNjaGVtYSBkb2MKKyAqCisgKiBBZGRzIGEgc2NoZW1hIG1vZGVsIGdyb3VwCisgKiAqV0FSTklORyogdGhpcyBpbnRlcmZhY2UgaXMgaGlnaGx5IHN1YmplY3QgdG8gY2hhbmdlCisgKgorICogUmV0dXJucyB0aGUgbmV3IHN0cnV0dXJlIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcgorICovCitzdGF0aWMgeG1sU2NoZW1hTW9kZWxHcm91cFB0cgoreG1sU2NoZW1hQWRkTW9kZWxHcm91cCh4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIGN0eHQsCisJCSAgICAgICB4bWxTY2hlbWFQdHIgc2NoZW1hLAorCQkgICAgICAgeG1sU2NoZW1hVHlwZVR5cGUgdHlwZSwKKwkJICAgICAgIHhtbE5vZGVQdHIgbm9kZSkKK3sKKyAgICB4bWxTY2hlbWFNb2RlbEdyb3VwUHRyIHJldCA9IE5VTEw7CisKKyAgICBpZiAoKGN0eHQgPT0gTlVMTCkgfHwgKHNjaGVtYSA9PSBOVUxMKSkKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKworICAgIHJldCA9ICh4bWxTY2hlbWFNb2RlbEdyb3VwUHRyKQorCXhtbE1hbGxvYyhzaXplb2YoeG1sU2NoZW1hTW9kZWxHcm91cCkpOworICAgIGlmIChyZXQgPT0gTlVMTCkgeworCXhtbFNjaGVtYVBFcnJNZW1vcnkoY3R4dCwgImFsbG9jYXRpbmcgbW9kZWwgZ3JvdXAgY29tcG9uZW50IiwKKwkgICAgTlVMTCk7CisJcmV0dXJuIChOVUxMKTsKKyAgICB9CisgICAgbWVtc2V0KHJldCwgMCwgc2l6ZW9mKHhtbFNjaGVtYU1vZGVsR3JvdXApKTsKKyAgICByZXQtPnR5cGUgPSB0eXBlOworICAgIHJldC0+bm9kZSA9IG5vZGU7CisgICAgV1hTX0FERF9MT0NBTChjdHh0LCByZXQpOworICAgIGlmICgodHlwZSA9PSBYTUxfU0NIRU1BX1RZUEVfU0VRVUVOQ0UpIHx8CisJKHR5cGUgPT0gWE1MX1NDSEVNQV9UWVBFX0NIT0lDRSkpCisJV1hTX0FERF9QRU5ESU5HKGN0eHQsIHJldCk7CisgICAgcmV0dXJuIChyZXQpOworfQorCisKKy8qKgorICogeG1sU2NoZW1hQWRkUGFydGljbGU6CisgKiBAY3R4dDogIGEgc2NoZW1hIHBhcnNlciBjb250ZXh0CisgKiBAc2NoZW1hOiAgdGhlIHNjaGVtYSBiZWluZyBidWlsdAorICogQG5vZGU6IHRoZSBjb3JyZXNwb25kaW5nIG5vZGUgaW4gdGhlIHNjaGVtYSBkb2MKKyAqIEBtaW46IHRoZSBtaW5PY2N1cnMKKyAqIEBtYXg6IHRoZSBtYXhPY2N1cnMKKyAqCisgKiBBZGRzIGFuIFhNTCBzY2hlbWEgcGFydGljbGUgY29tcG9uZW50LgorICogKldBUk5JTkcqIHRoaXMgaW50ZXJmYWNlIGlzIGhpZ2hseSBzdWJqZWN0IHRvIGNoYW5nZQorICoKKyAqIFJldHVybnMgdGhlIG5ldyBzdHJ1dHVyZSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworc3RhdGljIHhtbFNjaGVtYVBhcnRpY2xlUHRyCit4bWxTY2hlbWFBZGRQYXJ0aWNsZSh4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIGN0eHQsCisJCSAgICAgeG1sTm9kZVB0ciBub2RlLCBpbnQgbWluLCBpbnQgbWF4KQoreworICAgIHhtbFNjaGVtYVBhcnRpY2xlUHRyIHJldCA9IE5VTEw7CisgICAgaWYgKGN0eHQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKworI2lmZGVmIERFQlVHCisgICAgZnByaW50ZihzdGRlcnIsICJBZGRpbmcgcGFydGljbGUgY29tcG9uZW50XG4iKTsKKyNlbmRpZgorICAgIHJldCA9ICh4bWxTY2hlbWFQYXJ0aWNsZVB0cikKKwl4bWxNYWxsb2Moc2l6ZW9mKHhtbFNjaGVtYVBhcnRpY2xlKSk7CisgICAgaWYgKHJldCA9PSBOVUxMKSB7CisJeG1sU2NoZW1hUEVyck1lbW9yeShjdHh0LCAiYWxsb2NhdGluZyBwYXJ0aWNsZSBjb21wb25lbnQiLAorCSAgICBOVUxMKTsKKwlyZXR1cm4gKE5VTEwpOworICAgIH0KKyAgICByZXQtPnR5cGUgPSBYTUxfU0NIRU1BX1RZUEVfUEFSVElDTEU7CisgICAgcmV0LT5hbm5vdCA9IE5VTEw7CisgICAgcmV0LT5ub2RlID0gbm9kZTsKKyAgICByZXQtPm1pbk9jY3VycyA9IG1pbjsKKyAgICByZXQtPm1heE9jY3VycyA9IG1heDsKKyAgICByZXQtPm5leHQgPSBOVUxMOworICAgIHJldC0+Y2hpbGRyZW4gPSBOVUxMOworCisgICAgV1hTX0FERF9MT0NBTChjdHh0LCByZXQpOworICAgIC8qCisgICAgKiBOb3RlIHRoYXQgYWRkaXRpb24gdG8gcGVuZGluZyBjb21wb25lbnRzIHdpbGwgYmUgZG9uZSBsb2NhbGx5CisgICAgKiB0byB0aGUgc3BlY2lmaWMgcGFyc2luZyBmdW5jdGlvbiwgc2luY2UgdGhlIG1vc3QgcGFydGljbGVzCisgICAgKiBuZWVkIG5vdCB0byBiZSBmaXhlZCB1cCAoaS5lLiB0aGUgcmVmZXJlbmNlIHRvIGJlIHJlc29sdmVkKS4KKyAgICAqIFJFTU9WRUQ6IFdYU19BRERfUEVORElORyhjdHh0LCByZXQpOworICAgICovCisgICAgcmV0dXJuIChyZXQpOworfQorCisvKioKKyAqIHhtbFNjaGVtYUFkZE1vZGVsR3JvdXBEZWZpbml0aW9uOgorICogQGN0eHQ6ICBhIHNjaGVtYSB2YWxpZGF0aW9uIGNvbnRleHQKKyAqIEBzY2hlbWE6ICB0aGUgc2NoZW1hIGJlaW5nIGJ1aWx0CisgKiBAbmFtZTogIHRoZSBncm91cCBuYW1lCisgKgorICogQWRkIGFuIFhNTCBzY2hlbWEgR3JvdXAgZGVmaW5pdGlvbgorICoKKyAqIFJldHVybnMgdGhlIG5ldyBzdHJ1dHVyZSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworc3RhdGljIHhtbFNjaGVtYU1vZGVsR3JvdXBEZWZQdHIKK3htbFNjaGVtYUFkZE1vZGVsR3JvdXBEZWZpbml0aW9uKHhtbFNjaGVtYVBhcnNlckN0eHRQdHIgY3R4dCwKKwkJCQkgeG1sU2NoZW1hUHRyIHNjaGVtYSwKKwkJCQkgY29uc3QgeG1sQ2hhciAqbmFtZSwKKwkJCQkgY29uc3QgeG1sQ2hhciAqbnNOYW1lLAorCQkJCSB4bWxOb2RlUHRyIG5vZGUpCit7CisgICAgeG1sU2NoZW1hTW9kZWxHcm91cERlZlB0ciByZXQgPSBOVUxMOworCisgICAgaWYgKChjdHh0ID09IE5VTEwpIHx8IChzY2hlbWEgPT0gTlVMTCkgfHwgKG5hbWUgPT0gTlVMTCkpCisgICAgICAgIHJldHVybiAoTlVMTCk7CisKKyAgICByZXQgPSAoeG1sU2NoZW1hTW9kZWxHcm91cERlZlB0cikKKwl4bWxNYWxsb2Moc2l6ZW9mKHhtbFNjaGVtYU1vZGVsR3JvdXBEZWYpKTsKKyAgICBpZiAocmV0ID09IE5VTEwpIHsKKyAgICAgICAgeG1sU2NoZW1hUEVyck1lbW9yeShjdHh0LCAiYWRkaW5nIGdyb3VwIiwgTlVMTCk7CisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgfQorICAgIG1lbXNldChyZXQsIDAsIHNpemVvZih4bWxTY2hlbWFNb2RlbEdyb3VwRGVmKSk7CisgICAgcmV0LT5uYW1lID0gbmFtZTsKKyAgICByZXQtPnR5cGUgPSBYTUxfU0NIRU1BX1RZUEVfR1JPVVA7CisgICAgcmV0LT5ub2RlID0gbm9kZTsKKyAgICByZXQtPnRhcmdldE5hbWVzcGFjZSA9IG5zTmFtZTsKKworICAgIGlmIChjdHh0LT5pc1JlZGVmaW5lKSB7CisJY3R4dC0+cmVkZWYgPSB4bWxTY2hlbWFBZGRSZWRlZihjdHh0LCBjdHh0LT5yZWRlZmluZWQsCisJICAgIHJldCwgbmFtZSwgbnNOYW1lKTsKKwlpZiAoY3R4dC0+cmVkZWYgPT0gTlVMTCkgeworCSAgICB4bWxGcmVlKHJldCk7CisJICAgIHJldHVybihOVUxMKTsKKwl9CisJY3R4dC0+cmVkZWZDb3VudGVyID0gMDsKKyAgICB9CisgICAgV1hTX0FERF9HTE9CQUwoY3R4dCwgcmV0KTsKKyAgICBXWFNfQUREX1BFTkRJTkcoY3R4dCwgcmV0KTsKKyAgICByZXR1cm4gKHJldCk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hTmV3V2lsZGNhcmROczoKKyAqIEBjdHh0OiAgYSBzY2hlbWEgdmFsaWRhdGlvbiBjb250ZXh0CisgKgorICogQ3JlYXRlcyBhIG5ldyB3aWxkY2FyZCBuYW1lc3BhY2UgY29uc3RyYWludC4KKyAqCisgKiBSZXR1cm5zIHRoZSBuZXcgc3RydXR1cmUgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3N0YXRpYyB4bWxTY2hlbWFXaWxkY2FyZE5zUHRyCit4bWxTY2hlbWFOZXdXaWxkY2FyZE5zQ29uc3RyYWludCh4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIGN0eHQpCit7CisgICAgeG1sU2NoZW1hV2lsZGNhcmROc1B0ciByZXQ7CisKKyAgICByZXQgPSAoeG1sU2NoZW1hV2lsZGNhcmROc1B0cikKKwl4bWxNYWxsb2Moc2l6ZW9mKHhtbFNjaGVtYVdpbGRjYXJkTnMpKTsKKyAgICBpZiAocmV0ID09IE5VTEwpIHsKKwl4bWxTY2hlbWFQRXJyTWVtb3J5KGN0eHQsICJjcmVhdGluZyB3aWxkY2FyZCBuYW1lc3BhY2UgY29uc3RyYWludCIsIE5VTEwpOworCXJldHVybiAoTlVMTCk7CisgICAgfQorICAgIHJldC0+dmFsdWUgPSBOVUxMOworICAgIHJldC0+bmV4dCA9IE5VTEw7CisgICAgcmV0dXJuIChyZXQpOworfQorCitzdGF0aWMgeG1sU2NoZW1hSURDUHRyCit4bWxTY2hlbWFBZGRJREMoeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBjdHh0LCB4bWxTY2hlbWFQdHIgc2NoZW1hLAorICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqbmFtZSwgY29uc3QgeG1sQ2hhciAqbnNOYW1lLAorCQkgIGludCBjYXRlZ29yeSwgeG1sTm9kZVB0ciBub2RlKQoreworICAgIHhtbFNjaGVtYUlEQ1B0ciByZXQgPSBOVUxMOworCisgICAgaWYgKChjdHh0ID09IE5VTEwpIHx8IChzY2hlbWEgPT0gTlVMTCkgfHwgKG5hbWUgPT0gTlVMTCkpCisgICAgICAgIHJldHVybiAoTlVMTCk7CisKKyAgICByZXQgPSAoeG1sU2NoZW1hSURDUHRyKSB4bWxNYWxsb2Moc2l6ZW9mKHhtbFNjaGVtYUlEQykpOworICAgIGlmIChyZXQgPT0gTlVMTCkgeworICAgICAgICB4bWxTY2hlbWFQRXJyTWVtb3J5KGN0eHQsCisJICAgICJhbGxvY2F0aW5nIGFuIGlkZW50aXR5LWNvbnN0cmFpbnQgZGVmaW5pdGlvbiIsIE5VTEwpOworICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIH0KKyAgICBtZW1zZXQocmV0LCAwLCBzaXplb2YoeG1sU2NoZW1hSURDKSk7CisgICAgLyogVGhlIHRhcmdldCBuYW1lc3BhY2Ugb2YgdGhlIHBhcmVudCBlbGVtZW50IGRlY2xhcmF0aW9uLiAqLworICAgIHJldC0+dGFyZ2V0TmFtZXNwYWNlID0gbnNOYW1lOworICAgIHJldC0+bmFtZSA9IG5hbWU7CisgICAgcmV0LT50eXBlID0gY2F0ZWdvcnk7CisgICAgcmV0LT5ub2RlID0gbm9kZTsKKworICAgIFdYU19BRERfR0xPQkFMKGN0eHQsIHJldCk7CisgICAgLyoKKyAgICAqIE9ubHkga2V5cmVmcyBuZWVkIHRvIGJlIGZpeHVwIHVwLgorICAgICovCisgICAgaWYgKGNhdGVnb3J5ID09IFhNTF9TQ0hFTUFfVFlQRV9JRENfS0VZUkVGKQorCVdYU19BRERfUEVORElORyhjdHh0LCByZXQpOworICAgIHJldHVybiAocmV0KTsKK30KKworLyoqCisgKiB4bWxTY2hlbWFBZGRXaWxkY2FyZDoKKyAqIEBjdHh0OiAgYSBzY2hlbWEgdmFsaWRhdGlvbiBjb250ZXh0CisgKiBAc2NoZW1hOiBhIHNjaGVtYQorICoKKyAqIEFkZHMgYSB3aWxkY2FyZC4KKyAqIEl0IGNvcnJlc3BvbmRzIHRvIGEgeHNkOmFueUF0dHJpYnV0ZSBhbmQgeHNkOmFueS4KKyAqCisgKiBSZXR1cm5zIHRoZSBuZXcgc3RydXR1cmUgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3N0YXRpYyB4bWxTY2hlbWFXaWxkY2FyZFB0cgoreG1sU2NoZW1hQWRkV2lsZGNhcmQoeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBjdHh0LCB4bWxTY2hlbWFQdHIgc2NoZW1hLAorCQkgICAgIHhtbFNjaGVtYVR5cGVUeXBlIHR5cGUsIHhtbE5vZGVQdHIgbm9kZSkKK3sKKyAgICB4bWxTY2hlbWFXaWxkY2FyZFB0ciByZXQgPSBOVUxMOworCisgICAgaWYgKChjdHh0ID09IE5VTEwpIHx8IChzY2hlbWEgPT0gTlVMTCkpCisgICAgICAgIHJldHVybiAoTlVMTCk7CisKKyAgICByZXQgPSAoeG1sU2NoZW1hV2lsZGNhcmRQdHIpIHhtbE1hbGxvYyhzaXplb2YoeG1sU2NoZW1hV2lsZGNhcmQpKTsKKyAgICBpZiAocmV0ID09IE5VTEwpIHsKKyAgICAgICAgeG1sU2NoZW1hUEVyck1lbW9yeShjdHh0LCAiYWRkaW5nIHdpbGRjYXJkIiwgTlVMTCk7CisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgfQorICAgIG1lbXNldChyZXQsIDAsIHNpemVvZih4bWxTY2hlbWFXaWxkY2FyZCkpOworICAgIHJldC0+dHlwZSA9IHR5cGU7CisgICAgcmV0LT5ub2RlID0gbm9kZTsKKyAgICBXWFNfQUREX0xPQ0FMKGN0eHQsIHJldCk7CisgICAgcmV0dXJuIChyZXQpOworfQorCitzdGF0aWMgdm9pZAoreG1sU2NoZW1hU3Vic3RHcm91cEZyZWUoeG1sU2NoZW1hU3Vic3RHcm91cFB0ciBncm91cCkKK3sKKyAgICBpZiAoZ3JvdXAgPT0gTlVMTCkKKwlyZXR1cm47CisgICAgaWYgKGdyb3VwLT5tZW1iZXJzICE9IE5VTEwpCisJeG1sU2NoZW1hSXRlbUxpc3RGcmVlKGdyb3VwLT5tZW1iZXJzKTsKKyAgICB4bWxGcmVlKGdyb3VwKTsKK30KKworc3RhdGljIHhtbFNjaGVtYVN1YnN0R3JvdXBQdHIKK3htbFNjaGVtYVN1YnN0R3JvdXBBZGQoeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBwY3R4dCwKKwkJICAgICAgIHhtbFNjaGVtYUVsZW1lbnRQdHIgaGVhZCkKK3sKKyAgICB4bWxTY2hlbWFTdWJzdEdyb3VwUHRyIHJldDsKKworICAgIC8qIEluaXQgc3Vic3QgZ3JvdXAgaGFzaC4gKi8KKyAgICBpZiAoV1hTX1NVQlNUX0dST1VQUyhwY3R4dCkgPT0gTlVMTCkgeworCVdYU19TVUJTVF9HUk9VUFMocGN0eHQpID0geG1sSGFzaENyZWF0ZURpY3QoMTAsIHBjdHh0LT5kaWN0KTsKKwlpZiAoV1hTX1NVQlNUX0dST1VQUyhwY3R4dCkgPT0gTlVMTCkKKwkgICAgcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICAvKiBDcmVhdGUgYSBuZXcgc3Vic3RpdHV0aW9uIGdyb3VwLiAqLworICAgIHJldCA9ICh4bWxTY2hlbWFTdWJzdEdyb3VwUHRyKSB4bWxNYWxsb2Moc2l6ZW9mKHhtbFNjaGVtYVN1YnN0R3JvdXApKTsKKyAgICBpZiAocmV0ID09IE5VTEwpIHsKKwl4bWxTY2hlbWFQRXJyTWVtb3J5KE5VTEwsCisJICAgICJhbGxvY2F0aW5nIGEgc3Vic3RpdHV0aW9uIGdyb3VwIGNvbnRhaW5lciIsIE5VTEwpOworCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgbWVtc2V0KHJldCwgMCwgc2l6ZW9mKHhtbFNjaGVtYVN1YnN0R3JvdXApKTsKKyAgICByZXQtPmhlYWQgPSBoZWFkOworICAgIC8qIENyZWF0ZSBsaXN0IG9mIG1lbWJlcnMuICovCisgICAgcmV0LT5tZW1iZXJzID0geG1sU2NoZW1hSXRlbUxpc3RDcmVhdGUoKTsKKyAgICBpZiAocmV0LT5tZW1iZXJzID09IE5VTEwpIHsKKwl4bWxTY2hlbWFTdWJzdEdyb3VwRnJlZShyZXQpOworCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgLyogQWRkIHN1YnN0IGdyb3VwIHRvIGhhc2guICovCisgICAgaWYgKHhtbEhhc2hBZGRFbnRyeTIoV1hTX1NVQlNUX0dST1VQUyhwY3R4dCksCisJaGVhZC0+bmFtZSwgaGVhZC0+dGFyZ2V0TmFtZXNwYWNlLCByZXQpICE9IDApIHsKKwlQRVJST1JfSU5UKCJ4bWxTY2hlbWFTdWJzdEdyb3VwQWRkIiwKKwkgICAgImZhaWxlZCB0byBhZGQgYSBuZXcgc3Vic3RpdHV0aW9uIGNvbnRhaW5lciIpOworCXhtbFNjaGVtYVN1YnN0R3JvdXBGcmVlKHJldCk7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICByZXR1cm4ocmV0KTsKK30KKworc3RhdGljIHhtbFNjaGVtYVN1YnN0R3JvdXBQdHIKK3htbFNjaGVtYVN1YnN0R3JvdXBHZXQoeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBwY3R4dCwKKwkJICAgICAgIHhtbFNjaGVtYUVsZW1lbnRQdHIgaGVhZCkKK3sKKyAgICBpZiAoV1hTX1NVQlNUX0dST1VQUyhwY3R4dCkgPT0gTlVMTCkKKwlyZXR1cm4oTlVMTCk7CisgICAgcmV0dXJuKHhtbEhhc2hMb29rdXAyKFdYU19TVUJTVF9HUk9VUFMocGN0eHQpLAorCWhlYWQtPm5hbWUsIGhlYWQtPnRhcmdldE5hbWVzcGFjZSkpOworCit9CisKKy8qKgorICogeG1sU2NoZW1hQWRkRWxlbWVudFN1YnN0aXR1dGlvbk1lbWJlcjoKKyAqIEBwY3R4dDogIGEgc2NoZW1hIHBhcnNlciBjb250ZXh0CisgKiBAaGVhZDogIHRoZSBoZWFkIG9mIHRoZSBzdWJzdGl0dXRpb24gZ3JvdXAKKyAqIEBtZW1iZXI6IHRoZSBuZXcgbWVtYmVyIG9mIHRoZSBzdWJzdGl0dXRpb24gZ3JvdXAKKyAqCisgKiBBbGxvY2F0ZSBhIG5ldyBhbm5vdGF0aW9uIHN0cnVjdHVyZS4KKyAqCisgKiBSZXR1cm5zIHRoZSBuZXdseSBhbGxvY2F0ZWQgc3RydWN0dXJlIG9yIE5VTEwgaW4gY2FzZSBvciBlcnJvcgorICovCitzdGF0aWMgaW50Cit4bWxTY2hlbWFBZGRFbGVtZW50U3Vic3RpdHV0aW9uTWVtYmVyKHhtbFNjaGVtYVBhcnNlckN0eHRQdHIgcGN0eHQsCisJCQkJICAgICAgeG1sU2NoZW1hRWxlbWVudFB0ciBoZWFkLAorCQkJCSAgICAgIHhtbFNjaGVtYUVsZW1lbnRQdHIgbWVtYmVyKQoreworICAgIHhtbFNjaGVtYVN1YnN0R3JvdXBQdHIgc3Vic3RHcm91cCA9IE5VTEw7CisKKyAgICBpZiAoKHBjdHh0ID09IE5VTEwpIHx8IChoZWFkID09IE5VTEwpIHx8IChtZW1iZXIgPT0gTlVMTCkpCisJcmV0dXJuICgtMSk7CisKKyAgICBzdWJzdEdyb3VwID0geG1sU2NoZW1hU3Vic3RHcm91cEdldChwY3R4dCwgaGVhZCk7CisgICAgaWYgKHN1YnN0R3JvdXAgPT0gTlVMTCkKKwlzdWJzdEdyb3VwID0geG1sU2NoZW1hU3Vic3RHcm91cEFkZChwY3R4dCwgaGVhZCk7CisgICAgaWYgKHN1YnN0R3JvdXAgPT0gTlVMTCkKKwlyZXR1cm4oLTEpOworICAgIGlmICh4bWxTY2hlbWFJdGVtTGlzdEFkZChzdWJzdEdyb3VwLT5tZW1iZXJzLCBtZW1iZXIpID09IC0xKQorCXJldHVybigtMSk7CisgICAgcmV0dXJuKDApOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQlVdGlsaXRpZXMgZm9yIHBhcnNpbmcJCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqCisgKiB4bWxTY2hlbWFQVmFsQXR0ck5vZGVRTmFtZVZhbHVlOgorICogQGN0eHQ6ICBhIHNjaGVtYSBwYXJzZXIgY29udGV4dAorICogQHNjaGVtYTogdGhlIHNjaGVtYSBjb250ZXh0CisgKiBAb3duZXJEZXM6IHRoZSBkZXNpZ25hdGlvbiBvZiB0aGUgcGFyZW50IGVsZW1lbnQKKyAqIEBvd25lckl0ZW06IHRoZSBwYXJlbnQgYXMgYSBzY2hlbWEgb2JqZWN0CisgKiBAdmFsdWU6ICB0aGUgUU5hbWUgdmFsdWUKKyAqIEBsb2NhbDogdGhlIHJlc3VsdGluZyBsb2NhbCBwYXJ0IGlmIGZvdW5kLCB0aGUgYXR0cmlidXRlIHZhbHVlIG90aGVyd2lzZQorICogQHVyaTogIHRoZSByZXN1bHRpbmcgbmFtZXNwYWNlIFVSSSBpZiBmb3VuZAorICoKKyAqIEV4dHJhY3RzIHRoZSBsb2NhbCBuYW1lIGFuZCB0aGUgVVJJIG9mIGEgUU5hbWUgdmFsdWUgYW5kIHZhbGlkYXRlcyBpdC4KKyAqIFRoaXMgb25lIGlzIGludGVuZGVkIHRvIGJlIHVzZWQgb24gYXR0cmlidXRlIHZhbHVlcyB0aGF0CisgKiBzaG91bGQgcmVzb2x2ZSB0byBzY2hlbWEgY29tcG9uZW50cy4KKyAqCisgKiBSZXR1cm5zIDAsIGluIGNhc2UgdGhlIFFOYW1lIGlzIHZhbGlkLCBhIHBvc2l0aXZlIGVycm9yIGNvZGUKKyAqIGlmIG5vdCB2YWxpZCBhbmQgLTEgaWYgYW4gaW50ZXJuYWwgZXJyb3Igb2NjdXJzLgorICovCitzdGF0aWMgaW50Cit4bWxTY2hlbWFQVmFsQXR0ck5vZGVRTmFtZVZhbHVlKHhtbFNjaGVtYVBhcnNlckN0eHRQdHIgY3R4dCwKKwkJCQkgICAgICAgeG1sU2NoZW1hUHRyIHNjaGVtYSwKKwkJCQkgICAgICAgeG1sU2NoZW1hQmFzaWNJdGVtUHRyIG93bmVySXRlbSwKKwkJCQkgICAgICAgeG1sQXR0clB0ciBhdHRyLAorCQkJCSAgICAgICBjb25zdCB4bWxDaGFyICp2YWx1ZSwKKwkJCQkgICAgICAgY29uc3QgeG1sQ2hhciAqKnVyaSwKKwkJCQkgICAgICAgY29uc3QgeG1sQ2hhciAqKmxvY2FsKQoreworICAgIGNvbnN0IHhtbENoYXIgKnByZWY7CisgICAgeG1sTnNQdHIgbnM7CisgICAgaW50IGxlbiwgcmV0OworCisgICAgKnVyaSA9IE5VTEw7CisgICAgKmxvY2FsID0gTlVMTDsKKyAgICByZXQgPSB4bWxWYWxpZGF0ZVFOYW1lKHZhbHVlLCAxKTsKKyAgICBpZiAocmV0ID4gMCkgeworCXhtbFNjaGVtYVBTaW1wbGVUeXBlRXJyKGN0eHQsCisJICAgIFhNTF9TQ0hFTUFQX1M0U19BVFRSX0lOVkFMSURfVkFMVUUsCisJICAgIG93bmVySXRlbSwgKHhtbE5vZGVQdHIpIGF0dHIsCisJICAgIHhtbFNjaGVtYUdldEJ1aWx0SW5UeXBlKFhNTF9TQ0hFTUFTX1FOQU1FKSwKKwkgICAgTlVMTCwgdmFsdWUsIE5VTEwsIE5VTEwsIE5VTEwpOworCSpsb2NhbCA9IHZhbHVlOworCXJldHVybiAoY3R4dC0+ZXJyKTsKKyAgICB9IGVsc2UgaWYgKHJldCA8IDApCisJcmV0dXJuICgtMSk7CisKKyAgICBpZiAoIXN0cmNocigoY2hhciAqKSB2YWx1ZSwgJzonKSkgeworCW5zID0geG1sU2VhcmNoTnMoYXR0ci0+ZG9jLCBhdHRyLT5wYXJlbnQsIE5VTEwpOworCWlmIChucykKKwkgICAgKnVyaSA9IHhtbERpY3RMb29rdXAoY3R4dC0+ZGljdCwgbnMtPmhyZWYsIC0xKTsKKwllbHNlIGlmIChzY2hlbWEtPmZsYWdzICYgWE1MX1NDSEVNQVNfSU5DTFVESU5HX0NPTlZFUlRfTlMpIHsKKwkgICAgLyogVE9ETzogbW92ZSBYTUxfU0NIRU1BU19JTkNMVURJTkdfQ09OVkVSVF9OUyB0byB0aGUKKwkgICAgKiBwYXJzZXIgY29udGV4dC4gKi8KKwkgICAgLyoKKwkgICAgKiBUaGlzIG9uZSB0YWtlcyBjYXJlIG9mIGluY2x1ZGVkIHNjaGVtYXMgd2l0aCBubworCSAgICAqIHRhcmdldCBuYW1lc3BhY2UuCisJICAgICovCisJICAgICp1cmkgPSBjdHh0LT50YXJnZXROYW1lc3BhY2U7CisJfQorCSpsb2NhbCA9IHhtbERpY3RMb29rdXAoY3R4dC0+ZGljdCwgdmFsdWUsIC0xKTsKKwlyZXR1cm4gKDApOworICAgIH0KKyAgICAvKgorICAgICogQXQgdGhpcyBwb2ludCB4bWxTcGxpdFFOYW1lMyBoYXMgdG8gcmV0dXJuIGEgbG9jYWwgbmFtZS4KKyAgICAqLworICAgICpsb2NhbCA9IHhtbFNwbGl0UU5hbWUzKHZhbHVlLCAmbGVuKTsKKyAgICAqbG9jYWwgPSB4bWxEaWN0TG9va3VwKGN0eHQtPmRpY3QsICpsb2NhbCwgLTEpOworICAgIHByZWYgPSB4bWxEaWN0TG9va3VwKGN0eHQtPmRpY3QsIHZhbHVlLCBsZW4pOworICAgIG5zID0geG1sU2VhcmNoTnMoYXR0ci0+ZG9jLCBhdHRyLT5wYXJlbnQsIHByZWYpOworICAgIGlmIChucyA9PSBOVUxMKSB7CisJeG1sU2NoZW1hUFNpbXBsZVR5cGVFcnIoY3R4dCwKKwkgICAgWE1MX1NDSEVNQVBfUzRTX0FUVFJfSU5WQUxJRF9WQUxVRSwKKwkgICAgb3duZXJJdGVtLCAoeG1sTm9kZVB0cikgYXR0ciwKKwkgICAgeG1sU2NoZW1hR2V0QnVpbHRJblR5cGUoWE1MX1NDSEVNQVNfUU5BTUUpLCBOVUxMLCB2YWx1ZSwKKwkgICAgIlRoZSB2YWx1ZSAnJXMnIG9mIHNpbXBsZSB0eXBlICd4czpRTmFtZScgaGFzIG5vICIKKwkgICAgImNvcnJlc3BvbmRpbmcgbmFtZXNwYWNlIGRlY2xhcmF0aW9uIGluIHNjb3BlIiwgdmFsdWUsIE5VTEwpOworCXJldHVybiAoY3R4dC0+ZXJyKTsKKyAgICB9IGVsc2UgeworICAgICAgICAqdXJpID0geG1sRGljdExvb2t1cChjdHh0LT5kaWN0LCBucy0+aHJlZiwgLTEpOworICAgIH0KKyAgICByZXR1cm4gKDApOworfQorCisvKioKKyAqIHhtbFNjaGVtYVBWYWxBdHRyTm9kZVFOYW1lOgorICogQGN0eHQ6ICBhIHNjaGVtYSBwYXJzZXIgY29udGV4dAorICogQHNjaGVtYTogdGhlIHNjaGVtYSBjb250ZXh0CisgKiBAb3duZXJEZXM6IHRoZSBkZXNpZ25hdGlvbiBvZiB0aGUgb3duZXIgZWxlbWVudAorICogQG93bmVySXRlbTogdGhlIG93bmVyIGFzIGEgc2NoZW1hIG9iamVjdAorICogQGF0dHI6ICB0aGUgYXR0cmlidXRlIG5vZGUKKyAqIEBsb2NhbDogdGhlIHJlc3VsdGluZyBsb2NhbCBwYXJ0IGlmIGZvdW5kLCB0aGUgYXR0cmlidXRlIHZhbHVlIG90aGVyd2lzZQorICogQHVyaTogIHRoZSByZXN1bHRpbmcgbmFtZXNwYWNlIFVSSSBpZiBmb3VuZAorICoKKyAqIEV4dHJhY3RzIGFuZCB2YWxpZGF0ZXMgdGhlIFFOYW1lIG9mIGFuIGF0dHJpYnV0ZSB2YWx1ZS4KKyAqIFRoaXMgb25lIGlzIGludGVuZGVkIHRvIGJlIHVzZWQgb24gYXR0cmlidXRlIHZhbHVlcyB0aGF0CisgKiBzaG91bGQgcmVzb2x2ZSB0byBzY2hlbWEgY29tcG9uZW50cy4KKyAqCisgKiBSZXR1cm5zIDAsIGluIGNhc2UgdGhlIFFOYW1lIGlzIHZhbGlkLCBhIHBvc2l0aXZlIGVycm9yIGNvZGUKKyAqIGlmIG5vdCB2YWxpZCBhbmQgLTEgaWYgYW4gaW50ZXJuYWwgZXJyb3Igb2NjdXJzLgorICovCitzdGF0aWMgaW50Cit4bWxTY2hlbWFQVmFsQXR0ck5vZGVRTmFtZSh4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIGN0eHQsCisJCQkJICAgICAgIHhtbFNjaGVtYVB0ciBzY2hlbWEsCisJCQkJICAgICAgIHhtbFNjaGVtYUJhc2ljSXRlbVB0ciBvd25lckl0ZW0sCisJCQkJICAgICAgIHhtbEF0dHJQdHIgYXR0ciwKKwkJCQkgICAgICAgY29uc3QgeG1sQ2hhciAqKnVyaSwKKwkJCQkgICAgICAgY29uc3QgeG1sQ2hhciAqKmxvY2FsKQoreworICAgIGNvbnN0IHhtbENoYXIgKnZhbHVlOworCisgICAgdmFsdWUgPSB4bWxTY2hlbWFHZXROb2RlQ29udGVudChjdHh0LCAoeG1sTm9kZVB0cikgYXR0cik7CisgICAgcmV0dXJuICh4bWxTY2hlbWFQVmFsQXR0ck5vZGVRTmFtZVZhbHVlKGN0eHQsIHNjaGVtYSwKKwlvd25lckl0ZW0sIGF0dHIsIHZhbHVlLCB1cmksIGxvY2FsKSk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hUFZhbEF0dHJRTmFtZToKKyAqIEBjdHh0OiAgYSBzY2hlbWEgcGFyc2VyIGNvbnRleHQKKyAqIEBzY2hlbWE6IHRoZSBzY2hlbWEgY29udGV4dAorICogQG93bmVyRGVzOiB0aGUgZGVzaWduYXRpb24gb2YgdGhlIHBhcmVudCBlbGVtZW50CisgKiBAb3duZXJJdGVtOiB0aGUgb3duZXIgYXMgYSBzY2hlbWEgb2JqZWN0CisgKiBAb3duZXJFbGVtOiAgdGhlIHBhcmVudCBub2RlIG9mIHRoZSBhdHRyaWJ1dGUKKyAqIEBuYW1lOiAgdGhlIG5hbWUgb2YgdGhlIGF0dHJpYnV0ZQorICogQGxvY2FsOiB0aGUgcmVzdWx0aW5nIGxvY2FsIHBhcnQgaWYgZm91bmQsIHRoZSBhdHRyaWJ1dGUgdmFsdWUgb3RoZXJ3aXNlCisgKiBAdXJpOiAgdGhlIHJlc3VsdGluZyBuYW1lc3BhY2UgVVJJIGlmIGZvdW5kCisgKgorICogRXh0cmFjdHMgYW5kIHZhbGlkYXRlcyB0aGUgUU5hbWUgb2YgYW4gYXR0cmlidXRlIHZhbHVlLgorICoKKyAqIFJldHVybnMgMCwgaW4gY2FzZSB0aGUgUU5hbWUgaXMgdmFsaWQsIGEgcG9zaXRpdmUgZXJyb3IgY29kZQorICogaWYgbm90IHZhbGlkIGFuZCAtMSBpZiBhbiBpbnRlcm5hbCBlcnJvciBvY2N1cnMuCisgKi8KK3N0YXRpYyBpbnQKK3htbFNjaGVtYVBWYWxBdHRyUU5hbWUoeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBjdHh0LAorCQkJCSAgIHhtbFNjaGVtYVB0ciBzY2hlbWEsCisJCQkJICAgeG1sU2NoZW1hQmFzaWNJdGVtUHRyIG93bmVySXRlbSwKKwkJCQkgICB4bWxOb2RlUHRyIG93bmVyRWxlbSwKKwkJCQkgICBjb25zdCBjaGFyICpuYW1lLAorCQkJCSAgIGNvbnN0IHhtbENoYXIgKip1cmksCisJCQkJICAgY29uc3QgeG1sQ2hhciAqKmxvY2FsKQoreworICAgIHhtbEF0dHJQdHIgYXR0cjsKKworICAgIGF0dHIgPSB4bWxTY2hlbWFHZXRQcm9wTm9kZShvd25lckVsZW0sIG5hbWUpOworICAgIGlmIChhdHRyID09IE5VTEwpIHsKKwkqbG9jYWwgPSBOVUxMOworCSp1cmkgPSBOVUxMOworCXJldHVybiAoMCk7CisgICAgfQorICAgIHJldHVybiAoeG1sU2NoZW1hUFZhbEF0dHJOb2RlUU5hbWUoY3R4dCwgc2NoZW1hLAorCW93bmVySXRlbSwgYXR0ciwgdXJpLCBsb2NhbCkpOworfQorCisvKioKKyAqIHhtbFNjaGVtYVBWYWxBdHRySUQ6CisgKiBAY3R4dDogIGEgc2NoZW1hIHBhcnNlciBjb250ZXh0CisgKiBAc2NoZW1hOiB0aGUgc2NoZW1hIGNvbnRleHQKKyAqIEBvd25lckRlczogdGhlIGRlc2lnbmF0aW9uIG9mIHRoZSBwYXJlbnQgZWxlbWVudAorICogQG93bmVySXRlbTogdGhlIG93bmVyIGFzIGEgc2NoZW1hIG9iamVjdAorICogQG93bmVyRWxlbTogIHRoZSBwYXJlbnQgbm9kZSBvZiB0aGUgYXR0cmlidXRlCisgKiBAbmFtZTogIHRoZSBuYW1lIG9mIHRoZSBhdHRyaWJ1dGUKKyAqCisgKiBFeHRyYWN0cyBhbmQgdmFsaWRhdGVzIHRoZSBJRCBvZiBhbiBhdHRyaWJ1dGUgdmFsdWUuCisgKgorICogUmV0dXJucyAwLCBpbiBjYXNlIHRoZSBJRCBpcyB2YWxpZCwgYSBwb3NpdGl2ZSBlcnJvciBjb2RlCisgKiBpZiBub3QgdmFsaWQgYW5kIC0xIGlmIGFuIGludGVybmFsIGVycm9yIG9jY3Vycy4KKyAqLworc3RhdGljIGludAoreG1sU2NoZW1hUFZhbEF0dHJOb2RlSUQoeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBjdHh0LCB4bWxBdHRyUHRyIGF0dHIpCit7CisgICAgaW50IHJldDsKKyAgICBjb25zdCB4bWxDaGFyICp2YWx1ZTsKKworICAgIGlmIChhdHRyID09IE5VTEwpCisJcmV0dXJuKDApOworICAgIHZhbHVlID0geG1sU2NoZW1hR2V0Tm9kZUNvbnRlbnROb0RpY3QoKHhtbE5vZGVQdHIpIGF0dHIpOworICAgIHJldCA9IHhtbFZhbGlkYXRlTkNOYW1lKHZhbHVlLCAxKTsKKyAgICBpZiAocmV0ID09IDApIHsKKwkvKgorCSogTk9URTogdGhlIElEbmVzcyBtaWdodCBoYXZlIGFscmVhZHkgYmUgZGVjbGFyZWQgaW4gdGhlIERURAorCSovCisJaWYgKGF0dHItPmF0eXBlICE9IFhNTF9BVFRSSUJVVEVfSUQpIHsKKwkgICAgeG1sSURQdHIgcmVzOworCSAgICB4bWxDaGFyICpzdHJpcDsKKworCSAgICAvKgorCSAgICAqIFRPRE86IFVzZSB4bWxTY2hlbWFTdHJpcCBoZXJlOyBpdCdzIG5vdCBleHBvcnRlZCBhdCB0aGlzCisJICAgICogbW9tZW50LgorCSAgICAqLworCSAgICBzdHJpcCA9IHhtbFNjaGVtYUNvbGxhcHNlU3RyaW5nKHZhbHVlKTsKKwkgICAgaWYgKHN0cmlwICE9IE5VTEwpIHsKKwkJeG1sRnJlZSgoeG1sQ2hhciAqKSB2YWx1ZSk7CisJCXZhbHVlID0gc3RyaXA7CisJICAgIH0KKwkgICAgcmVzID0geG1sQWRkSUQoTlVMTCwgYXR0ci0+ZG9jLCB2YWx1ZSwgYXR0cik7CisJICAgIGlmIChyZXMgPT0gTlVMTCkgeworCQlyZXQgPSBYTUxfU0NIRU1BUF9TNFNfQVRUUl9JTlZBTElEX1ZBTFVFOworCQl4bWxTY2hlbWFQU2ltcGxlVHlwZUVycihjdHh0LAorCQkgICAgWE1MX1NDSEVNQVBfUzRTX0FUVFJfSU5WQUxJRF9WQUxVRSwKKwkJICAgIE5VTEwsICh4bWxOb2RlUHRyKSBhdHRyLAorCQkgICAgeG1sU2NoZW1hR2V0QnVpbHRJblR5cGUoWE1MX1NDSEVNQVNfSUQpLAorCQkgICAgTlVMTCwgTlVMTCwgIkR1cGxpY2F0ZSB2YWx1ZSAnJXMnIG9mIHNpbXBsZSAiCisJCSAgICAidHlwZSAneHM6SUQnIiwgdmFsdWUsIE5VTEwpOworCSAgICB9IGVsc2UKKwkJYXR0ci0+YXR5cGUgPSBYTUxfQVRUUklCVVRFX0lEOworCX0KKyAgICB9IGVsc2UgaWYgKHJldCA+IDApIHsKKwlyZXQgPSBYTUxfU0NIRU1BUF9TNFNfQVRUUl9JTlZBTElEX1ZBTFVFOworCXhtbFNjaGVtYVBTaW1wbGVUeXBlRXJyKGN0eHQsCisJICAgIFhNTF9TQ0hFTUFQX1M0U19BVFRSX0lOVkFMSURfVkFMVUUsCisJICAgIE5VTEwsICh4bWxOb2RlUHRyKSBhdHRyLAorCSAgICB4bWxTY2hlbWFHZXRCdWlsdEluVHlwZShYTUxfU0NIRU1BU19JRCksCisJICAgIE5VTEwsIE5VTEwsICJUaGUgdmFsdWUgJyVzJyBvZiBzaW1wbGUgdHlwZSAneHM6SUQnIGlzICIKKwkgICAgIm5vdCBhIHZhbGlkICd4czpOQ05hbWUnIiwKKwkgICAgdmFsdWUsIE5VTEwpOworICAgIH0KKyAgICBpZiAodmFsdWUgIT0gTlVMTCkKKwl4bWxGcmVlKCh4bWxDaGFyICopdmFsdWUpOworCisgICAgcmV0dXJuIChyZXQpOworfQorCitzdGF0aWMgaW50Cit4bWxTY2hlbWFQVmFsQXR0cklEKHhtbFNjaGVtYVBhcnNlckN0eHRQdHIgY3R4dCwKKwkJICAgIHhtbE5vZGVQdHIgb3duZXJFbGVtLAorCQkgICAgY29uc3QgeG1sQ2hhciAqbmFtZSkKK3sKKyAgICB4bWxBdHRyUHRyIGF0dHI7CisKKyAgICBhdHRyID0geG1sU2NoZW1hR2V0UHJvcE5vZGUob3duZXJFbGVtLCAoY29uc3QgY2hhciAqKSBuYW1lKTsKKyAgICBpZiAoYXR0ciA9PSBOVUxMKQorCXJldHVybigwKTsKKyAgICByZXR1cm4oeG1sU2NoZW1hUFZhbEF0dHJOb2RlSUQoY3R4dCwgYXR0cikpOworCit9CisKKy8qKgorICogeG1sR2V0TWF4T2NjdXJzOgorICogQGN0eHQ6ICBhIHNjaGVtYSB2YWxpZGF0aW9uIGNvbnRleHQKKyAqIEBub2RlOiAgYSBzdWJ0cmVlIGNvbnRhaW5pbmcgWE1MIFNjaGVtYSBpbmZvcm1hdGlvbnMKKyAqCisgKiBHZXQgdGhlIG1heE9jY3VycyBwcm9wZXJ0eQorICoKKyAqIFJldHVybnMgdGhlIGRlZmF1bHQgaWYgbm90IGZvdW5kLCBvciB0aGUgdmFsdWUKKyAqLworc3RhdGljIGludAoreG1sR2V0TWF4T2NjdXJzKHhtbFNjaGVtYVBhcnNlckN0eHRQdHIgY3R4dCwgeG1sTm9kZVB0ciBub2RlLAorCQlpbnQgbWluLCBpbnQgbWF4LCBpbnQgZGVmLCBjb25zdCBjaGFyICpleHBlY3RlZCkKK3sKKyAgICBjb25zdCB4bWxDaGFyICp2YWwsICpjdXI7CisgICAgaW50IHJldCA9IDA7CisgICAgeG1sQXR0clB0ciBhdHRyOworCisgICAgYXR0ciA9IHhtbFNjaGVtYUdldFByb3BOb2RlKG5vZGUsICJtYXhPY2N1cnMiKTsKKyAgICBpZiAoYXR0ciA9PSBOVUxMKQorCXJldHVybiAoZGVmKTsKKyAgICB2YWwgPSB4bWxTY2hlbWFHZXROb2RlQ29udGVudChjdHh0LCAoeG1sTm9kZVB0cikgYXR0cik7CisKKyAgICBpZiAoeG1sU3RyRXF1YWwodmFsLCAoY29uc3QgeG1sQ2hhciAqKSAidW5ib3VuZGVkIikpIHsKKwlpZiAobWF4ICE9IFVOQk9VTkRFRCkgeworCSAgICB4bWxTY2hlbWFQU2ltcGxlVHlwZUVycihjdHh0LAorCQlYTUxfU0NIRU1BUF9TNFNfQVRUUl9JTlZBTElEX1ZBTFVFLAorCQkvKiBYTUxfU0NIRU1BUF9JTlZBTElEX01JTk9DQ1VSUywgKi8KKwkJTlVMTCwgKHhtbE5vZGVQdHIpIGF0dHIsIE5VTEwsIGV4cGVjdGVkLAorCQl2YWwsIE5VTEwsIE5VTEwsIE5VTEwpOworCSAgICByZXR1cm4gKGRlZik7CisJfSBlbHNlCisJICAgIHJldHVybiAoVU5CT1VOREVEKTsgIC8qIGVuY29kaW5nIGl0IHdpdGggLTEgbWlnaHQgYmUgYW5vdGhlciBvcHRpb24gKi8KKyAgICB9CisKKyAgICBjdXIgPSB2YWw7CisgICAgd2hpbGUgKElTX0JMQU5LX0NIKCpjdXIpKQorICAgICAgICBjdXIrKzsKKyAgICBpZiAoKmN1ciA9PSAwKSB7CisgICAgICAgIHhtbFNjaGVtYVBTaW1wbGVUeXBlRXJyKGN0eHQsCisJICAgIFhNTF9TQ0hFTUFQX1M0U19BVFRSX0lOVkFMSURfVkFMVUUsCisJICAgIC8qIFhNTF9TQ0hFTUFQX0lOVkFMSURfTUlOT0NDVVJTLCAqLworCSAgICBOVUxMLCAoeG1sTm9kZVB0cikgYXR0ciwgTlVMTCwgZXhwZWN0ZWQsCisJICAgIHZhbCwgTlVMTCwgTlVMTCwgTlVMTCk7CisJcmV0dXJuIChkZWYpOworICAgIH0KKyAgICB3aGlsZSAoKCpjdXIgPj0gJzAnKSAmJiAoKmN1ciA8PSAnOScpKSB7CisgICAgICAgIHJldCA9IHJldCAqIDEwICsgKCpjdXIgLSAnMCcpOworICAgICAgICBjdXIrKzsKKyAgICB9CisgICAgd2hpbGUgKElTX0JMQU5LX0NIKCpjdXIpKQorICAgICAgICBjdXIrKzsKKyAgICAvKgorICAgICogVE9ETzogUmVzdHJpY3QgdGhlIG1heGltYWwgdmFsdWUgdG8gSW50ZWdlci4KKyAgICAqLworICAgIGlmICgoKmN1ciAhPSAwKSB8fCAocmV0IDwgbWluKSB8fCAoKG1heCAhPSAtMSkgJiYgKHJldCA+IG1heCkpKSB7CisJeG1sU2NoZW1hUFNpbXBsZVR5cGVFcnIoY3R4dCwKKwkgICAgWE1MX1NDSEVNQVBfUzRTX0FUVFJfSU5WQUxJRF9WQUxVRSwKKwkgICAgLyogWE1MX1NDSEVNQVBfSU5WQUxJRF9NSU5PQ0NVUlMsICovCisJICAgIE5VTEwsICh4bWxOb2RlUHRyKSBhdHRyLCBOVUxMLCBleHBlY3RlZCwKKwkgICAgdmFsLCBOVUxMLCBOVUxMLCBOVUxMKTsKKyAgICAgICAgcmV0dXJuIChkZWYpOworICAgIH0KKyAgICByZXR1cm4gKHJldCk7Cit9CisKKy8qKgorICogeG1sR2V0TWluT2NjdXJzOgorICogQGN0eHQ6ICBhIHNjaGVtYSB2YWxpZGF0aW9uIGNvbnRleHQKKyAqIEBub2RlOiAgYSBzdWJ0cmVlIGNvbnRhaW5pbmcgWE1MIFNjaGVtYSBpbmZvcm1hdGlvbnMKKyAqCisgKiBHZXQgdGhlIG1pbk9jY3VycyBwcm9wZXJ0eQorICoKKyAqIFJldHVybnMgdGhlIGRlZmF1bHQgaWYgbm90IGZvdW5kLCBvciB0aGUgdmFsdWUKKyAqLworc3RhdGljIGludAoreG1sR2V0TWluT2NjdXJzKHhtbFNjaGVtYVBhcnNlckN0eHRQdHIgY3R4dCwgeG1sTm9kZVB0ciBub2RlLAorCQlpbnQgbWluLCBpbnQgbWF4LCBpbnQgZGVmLCBjb25zdCBjaGFyICpleHBlY3RlZCkKK3sKKyAgICBjb25zdCB4bWxDaGFyICp2YWwsICpjdXI7CisgICAgaW50IHJldCA9IDA7CisgICAgeG1sQXR0clB0ciBhdHRyOworCisgICAgYXR0ciA9IHhtbFNjaGVtYUdldFByb3BOb2RlKG5vZGUsICJtaW5PY2N1cnMiKTsKKyAgICBpZiAoYXR0ciA9PSBOVUxMKQorCXJldHVybiAoZGVmKTsKKyAgICB2YWwgPSB4bWxTY2hlbWFHZXROb2RlQ29udGVudChjdHh0LCAoeG1sTm9kZVB0cikgYXR0cik7CisgICAgY3VyID0gdmFsOworICAgIHdoaWxlIChJU19CTEFOS19DSCgqY3VyKSkKKyAgICAgICAgY3VyKys7CisgICAgaWYgKCpjdXIgPT0gMCkgeworICAgICAgICB4bWxTY2hlbWFQU2ltcGxlVHlwZUVycihjdHh0LAorCSAgICBYTUxfU0NIRU1BUF9TNFNfQVRUUl9JTlZBTElEX1ZBTFVFLAorCSAgICAvKiBYTUxfU0NIRU1BUF9JTlZBTElEX01JTk9DQ1VSUywgKi8KKwkgICAgTlVMTCwgKHhtbE5vZGVQdHIpIGF0dHIsIE5VTEwsIGV4cGVjdGVkLAorCSAgICB2YWwsIE5VTEwsIE5VTEwsIE5VTEwpOworICAgICAgICByZXR1cm4gKGRlZik7CisgICAgfQorICAgIHdoaWxlICgoKmN1ciA+PSAnMCcpICYmICgqY3VyIDw9ICc5JykpIHsKKyAgICAgICAgcmV0ID0gcmV0ICogMTAgKyAoKmN1ciAtICcwJyk7CisgICAgICAgIGN1cisrOworICAgIH0KKyAgICB3aGlsZSAoSVNfQkxBTktfQ0goKmN1cikpCisgICAgICAgIGN1cisrOworICAgIC8qCisgICAgKiBUT0RPOiBSZXN0cmljdCB0aGUgbWF4aW1hbCB2YWx1ZSB0byBJbnRlZ2VyLgorICAgICovCisgICAgaWYgKCgqY3VyICE9IDApIHx8IChyZXQgPCBtaW4pIHx8ICgobWF4ICE9IC0xKSAmJiAocmV0ID4gbWF4KSkpIHsKKwl4bWxTY2hlbWFQU2ltcGxlVHlwZUVycihjdHh0LAorCSAgICBYTUxfU0NIRU1BUF9TNFNfQVRUUl9JTlZBTElEX1ZBTFVFLAorCSAgICAvKiBYTUxfU0NIRU1BUF9JTlZBTElEX01JTk9DQ1VSUywgKi8KKwkgICAgTlVMTCwgKHhtbE5vZGVQdHIpIGF0dHIsIE5VTEwsIGV4cGVjdGVkLAorCSAgICB2YWwsIE5VTEwsIE5VTEwsIE5VTEwpOworICAgICAgICByZXR1cm4gKGRlZik7CisgICAgfQorICAgIHJldHVybiAocmV0KTsKK30KKworLyoqCisgKiB4bWxTY2hlbWFQR2V0Qm9vbE5vZGVWYWx1ZToKKyAqIEBjdHh0OiAgYSBzY2hlbWEgdmFsaWRhdGlvbiBjb250ZXh0CisgKiBAb3duZXJEZXM6ICBvd25lciBkZXNpZ25hdGlvbgorICogQG93bmVySXRlbTogIHRoZSBvd25lciBhcyBhIHNjaGVtYSBpdGVtCisgKiBAbm9kZTogdGhlIG5vZGUgaG9sZGluZyB0aGUgdmFsdWUKKyAqCisgKiBDb252ZXJ0cyBhIGJvb2xlYW4gc3RyaW5nIHZhbHVlIGludG8gMSBvciAwLgorICoKKyAqIFJldHVybnMgMCBvciAxLgorICovCitzdGF0aWMgaW50Cit4bWxTY2hlbWFQR2V0Qm9vbE5vZGVWYWx1ZSh4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIGN0eHQsCisJCQkgICB4bWxTY2hlbWFCYXNpY0l0ZW1QdHIgb3duZXJJdGVtLAorCQkJICAgeG1sTm9kZVB0ciBub2RlKQoreworICAgIHhtbENoYXIgKnZhbHVlID0gTlVMTDsKKyAgICBpbnQgcmVzID0gMDsKKworICAgIHZhbHVlID0geG1sTm9kZUdldENvbnRlbnQobm9kZSk7CisgICAgLyoKKyAgICAqIDMuMi4yLjEgTGV4aWNhbCByZXByZXNlbnRhdGlvbgorICAgICogQW4gaW5zdGFuY2Ugb2YgYSBkYXRhdHlwZSB0aGF0IGlzIGRlZmluZWQgYXMgYGJvb2xlYW5gCisgICAgKiBjYW4gaGF2ZSB0aGUgZm9sbG93aW5nIGxlZ2FsIGxpdGVyYWxzIHt0cnVlLCBmYWxzZSwgMSwgMH0uCisgICAgKi8KKyAgICBpZiAoeG1sU3RyRXF1YWwoQkFEX0NBU1QgdmFsdWUsIEJBRF9DQVNUICJ0cnVlIikpCisgICAgICAgIHJlcyA9IDE7CisgICAgZWxzZSBpZiAoeG1sU3RyRXF1YWwoQkFEX0NBU1QgdmFsdWUsIEJBRF9DQVNUICJmYWxzZSIpKQorICAgICAgICByZXMgPSAwOworICAgIGVsc2UgaWYgKHhtbFN0ckVxdWFsKEJBRF9DQVNUIHZhbHVlLCBCQURfQ0FTVCAiMSIpKQorCXJlcyA9IDE7CisgICAgZWxzZSBpZiAoeG1sU3RyRXF1YWwoQkFEX0NBU1QgdmFsdWUsIEJBRF9DQVNUICIwIikpCisgICAgICAgIHJlcyA9IDA7CisgICAgZWxzZSB7CisgICAgICAgIHhtbFNjaGVtYVBTaW1wbGVUeXBlRXJyKGN0eHQsCisJICAgIFhNTF9TQ0hFTUFQX0lOVkFMSURfQk9PTEVBTiwKKwkgICAgb3duZXJJdGVtLCBub2RlLAorCSAgICB4bWxTY2hlbWFHZXRCdWlsdEluVHlwZShYTUxfU0NIRU1BU19CT09MRUFOKSwKKwkgICAgTlVMTCwgQkFEX0NBU1QgdmFsdWUsCisJICAgIE5VTEwsIE5VTEwsIE5VTEwpOworICAgIH0KKyAgICBpZiAodmFsdWUgIT0gTlVMTCkKKwl4bWxGcmVlKHZhbHVlKTsKKyAgICByZXR1cm4gKHJlcyk7Cit9CisKKy8qKgorICogeG1sR2V0Qm9vbGVhblByb3A6CisgKiBAY3R4dDogIGEgc2NoZW1hIHZhbGlkYXRpb24gY29udGV4dAorICogQG5vZGU6ICBhIHN1YnRyZWUgY29udGFpbmluZyBYTUwgU2NoZW1hIGluZm9ybWF0aW9ucworICogQG5hbWU6ICB0aGUgYXR0cmlidXRlIG5hbWUKKyAqIEBkZWY6ICB0aGUgZGVmYXVsdCB2YWx1ZQorICoKKyAqIEV2YWx1YXRlIGlmIGEgYm9vbGVhbiBwcm9wZXJ0eSBpcyBzZXQKKyAqCisgKiBSZXR1cm5zIHRoZSBkZWZhdWx0IGlmIG5vdCBmb3VuZCwgMCBpZiBmb3VuZCB0byBiZSBmYWxzZSwKKyAqIDEgaWYgZm91bmQgdG8gYmUgdHJ1ZQorICovCitzdGF0aWMgaW50Cit4bWxHZXRCb29sZWFuUHJvcCh4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIGN0eHQsCisJCSAgeG1sTm9kZVB0ciBub2RlLAorICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqbmFtZSwgaW50IGRlZikKK3sKKyAgICBjb25zdCB4bWxDaGFyICp2YWw7CisKKyAgICB2YWwgPSB4bWxTY2hlbWFHZXRQcm9wKGN0eHQsIG5vZGUsIG5hbWUpOworICAgIGlmICh2YWwgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIChkZWYpOworICAgIC8qCisgICAgKiAzLjIuMi4xIExleGljYWwgcmVwcmVzZW50YXRpb24KKyAgICAqIEFuIGluc3RhbmNlIG9mIGEgZGF0YXR5cGUgdGhhdCBpcyBkZWZpbmVkIGFzIGBib29sZWFuYAorICAgICogY2FuIGhhdmUgdGhlIGZvbGxvd2luZyBsZWdhbCBsaXRlcmFscyB7dHJ1ZSwgZmFsc2UsIDEsIDB9LgorICAgICovCisgICAgaWYgKHhtbFN0ckVxdWFsKHZhbCwgQkFEX0NBU1QgInRydWUiKSkKKyAgICAgICAgZGVmID0gMTsKKyAgICBlbHNlIGlmICh4bWxTdHJFcXVhbCh2YWwsIEJBRF9DQVNUICJmYWxzZSIpKQorICAgICAgICBkZWYgPSAwOworICAgIGVsc2UgaWYgKHhtbFN0ckVxdWFsKHZhbCwgQkFEX0NBU1QgIjEiKSkKKwlkZWYgPSAxOworICAgIGVsc2UgaWYgKHhtbFN0ckVxdWFsKHZhbCwgQkFEX0NBU1QgIjAiKSkKKyAgICAgICAgZGVmID0gMDsKKyAgICBlbHNlIHsKKyAgICAgICAgeG1sU2NoZW1hUFNpbXBsZVR5cGVFcnIoY3R4dCwKKwkgICAgWE1MX1NDSEVNQVBfSU5WQUxJRF9CT09MRUFOLAorCSAgICBOVUxMLAorCSAgICAoeG1sTm9kZVB0cikgeG1sU2NoZW1hR2V0UHJvcE5vZGUobm9kZSwgbmFtZSksCisJICAgIHhtbFNjaGVtYUdldEJ1aWx0SW5UeXBlKFhNTF9TQ0hFTUFTX0JPT0xFQU4pLAorCSAgICBOVUxMLCB2YWwsIE5VTEwsIE5VTEwsIE5VTEwpOworICAgIH0KKyAgICByZXR1cm4gKGRlZik7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCVNoZW1hIGV4dHJhY3Rpb24gZnJvbSBhbiBJbmZvc2V0CQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHhtbFNjaGVtYVR5cGVQdHIgeG1sU2NoZW1hUGFyc2VTaW1wbGVUeXBlKHhtbFNjaGVtYVBhcnNlckN0eHRQdHIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdHh0LCB4bWxTY2hlbWFQdHIgc2NoZW1hLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbE5vZGVQdHIgbm9kZSwKKwkJCQkJCSBpbnQgdG9wTGV2ZWwpOworc3RhdGljIHhtbFNjaGVtYVR5cGVQdHIgeG1sU2NoZW1hUGFyc2VDb21wbGV4VHlwZSh4bWxTY2hlbWFQYXJzZXJDdHh0UHRyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN0eHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFNjaGVtYVB0ciBzY2hlbWEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbE5vZGVQdHIgbm9kZSwKKwkJCQkJCSAgaW50IHRvcExldmVsKTsKK3N0YXRpYyB4bWxTY2hlbWFUeXBlUHRyIHhtbFNjaGVtYVBhcnNlUmVzdHJpY3Rpb24oeG1sU2NoZW1hUGFyc2VyQ3R4dFB0cgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdHh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxTY2hlbWFQdHIgc2NoZW1hLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxOb2RlUHRyIG5vZGUsCisJCQkJCQkgIHhtbFNjaGVtYVR5cGVUeXBlIHBhcmVudFR5cGUpOworc3RhdGljIHhtbFNjaGVtYUJhc2ljSXRlbVB0cgoreG1sU2NoZW1hUGFyc2VMb2NhbEF0dHJpYnV0ZSh4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIHBjdHh0LAorCQkJICAgICB4bWxTY2hlbWFQdHIgc2NoZW1hLAorCQkJICAgICB4bWxOb2RlUHRyIG5vZGUsCisJCQkgICAgIHhtbFNjaGVtYUl0ZW1MaXN0UHRyIHVzZXMsCisJCQkgICAgIGludCBwYXJlbnRUeXBlKTsKK3N0YXRpYyB4bWxTY2hlbWFUeXBlUHRyIHhtbFNjaGVtYVBhcnNlTGlzdCh4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIGN0eHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sU2NoZW1hUHRyIHNjaGVtYSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxOb2RlUHRyIG5vZGUpOworc3RhdGljIHhtbFNjaGVtYVdpbGRjYXJkUHRyCit4bWxTY2hlbWFQYXJzZUFueUF0dHJpYnV0ZSh4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIGN0eHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxTY2hlbWFQdHIgc2NoZW1hLCB4bWxOb2RlUHRyIG5vZGUpOworCisvKioKKyAqIHhtbFNjaGVtYVBWYWxBdHRyTm9kZVZhbHVlOgorICoKKyAqIEBjdHh0OiAgYSBzY2hlbWEgcGFyc2VyIGNvbnRleHQKKyAqIEBvd25lckRlczogdGhlIGRlc2lnbmF0aW9uIG9mIHRoZSBwYXJlbnQgZWxlbWVudAorICogQG93bmVySXRlbTogdGhlIHNjaGVtYSBvYmplY3Qgb3duZXIgaWYgZXhpc3RlbnQKKyAqIEBhdHRyOiAgdGhlIHNjaGVtYSBhdHRyaWJ1dGUgbm9kZSBiZWluZyB2YWxpZGF0ZWQKKyAqIEB2YWx1ZTogdGhlIHZhbHVlCisgKiBAdHlwZTogdGhlIGJ1aWx0LWluIHR5cGUgdG8gYmUgdmFsaWRhdGVkIGFnYWluc3QKKyAqCisgKiBWYWxpZGF0ZXMgYSB2YWx1ZSBhZ2FpbnN0IHRoZSBnaXZlbiBidWlsdC1pbiB0eXBlLgorICogVGhpcyBvbmUgaXMgaW50ZW5kZWQgdG8gYmUgdXNlZCBpbnRlcm5hbGx5IGZvciB2YWxpZGF0aW9uCisgKiBvZiBzY2hlbWEgYXR0cmlidXRlIHZhbHVlcyBkdXJpbmcgcGFyc2luZyBvZiB0aGUgc2NoZW1hLgorICoKKyAqIFJldHVybnMgMCBpZiB0aGUgdmFsdWUgaXMgdmFsaWQsIGEgcG9zaXRpdmUgZXJyb3IgY29kZQorICogbnVtYmVyIG90aGVyd2lzZSBhbmQgLTEgaW4gY2FzZSBvZiBhbiBpbnRlcm5hbCBvciBBUEkgZXJyb3IuCisgKi8KK3N0YXRpYyBpbnQKK3htbFNjaGVtYVBWYWxBdHRyTm9kZVZhbHVlKHhtbFNjaGVtYVBhcnNlckN0eHRQdHIgcGN0eHQsCisJCQkgICB4bWxTY2hlbWFCYXNpY0l0ZW1QdHIgb3duZXJJdGVtLAorCQkJICAgeG1sQXR0clB0ciBhdHRyLAorCQkJICAgY29uc3QgeG1sQ2hhciAqdmFsdWUsCisJCQkgICB4bWxTY2hlbWFUeXBlUHRyIHR5cGUpCit7CisKKyAgICBpbnQgcmV0ID0gMDsKKworICAgIC8qCisgICAgKiBOT1RFOiBTaG91bGQgd2UgbW92ZSB0aGlzIHRvIHhtbHNjaGVtYXR5cGVzLmM/IEhtbSwgYnV0IHRoaXMKKyAgICAqIG9uZSBpcyByZWFsbHkgbWVhbnQgdG8gYmUgdXNlZCBpbnRlcm5hbGx5LCBzbyBiZXR0ZXIgbm90LgorICAgICovCisgICAgaWYgKChwY3R4dCA9PSBOVUxMKSB8fCAodHlwZSA9PSBOVUxMKSB8fCAoYXR0ciA9PSBOVUxMKSkKKwlyZXR1cm4gKC0xKTsKKyAgICBpZiAodHlwZS0+dHlwZSAhPSBYTUxfU0NIRU1BX1RZUEVfQkFTSUMpIHsKKwlQRVJST1JfSU5UKCJ4bWxTY2hlbWFQVmFsQXR0ck5vZGVWYWx1ZSIsCisJICAgICJ0aGUgZ2l2ZW4gdHlwZSBpcyBub3QgYSBidWlsdC1pbiB0eXBlIik7CisJcmV0dXJuICgtMSk7CisgICAgfQorICAgIHN3aXRjaCAodHlwZS0+YnVpbHRJblR5cGUpIHsKKwljYXNlIFhNTF9TQ0hFTUFTX05DTkFNRToKKwljYXNlIFhNTF9TQ0hFTUFTX1FOQU1FOgorCWNhc2UgWE1MX1NDSEVNQVNfQU5ZVVJJOgorCWNhc2UgWE1MX1NDSEVNQVNfVE9LRU46CisJY2FzZSBYTUxfU0NIRU1BU19MQU5HVUFHRToKKwkgICAgcmV0ID0geG1sU2NoZW1hVmFsUHJlZGVmVHlwZU5vZGUodHlwZSwgdmFsdWUsIE5VTEwsCisJCSh4bWxOb2RlUHRyKSBhdHRyKTsKKwkgICAgYnJlYWs7CisJZGVmYXVsdDogeworCSAgICBQRVJST1JfSU5UKCJ4bWxTY2hlbWFQVmFsQXR0ck5vZGVWYWx1ZSIsCisJCSJ2YWxpZGF0aW9uIHVzaW5nIHRoZSBnaXZlbiB0eXBlIGlzIG5vdCBzdXBwb3J0ZWQgd2hpbGUgIgorCQkicGFyc2luZyBhIHNjaGVtYSIpOworCSAgICByZXR1cm4gKC0xKTsKKwl9CisgICAgfQorICAgIC8qCisgICAgKiBUT0RPOiBTaG91bGQgd2UgdXNlIHRoZSBTNFMgZXJyb3IgY29kZXMgaW5zdGVhZD8KKyAgICAqLworICAgIGlmIChyZXQgPCAwKSB7CisJUEVSUk9SX0lOVCgieG1sU2NoZW1hUFZhbEF0dHJOb2RlVmFsdWUiLAorCSAgICAiZmFpbGVkIHRvIHZhbGlkYXRlIGEgc2NoZW1hIGF0dHJpYnV0ZSB2YWx1ZSIpOworCXJldHVybiAoLTEpOworICAgIH0gZWxzZSBpZiAocmV0ID4gMCkgeworCWlmIChXWFNfSVNfTElTVCh0eXBlKSkKKwkgICAgcmV0ID0gWE1MX1NDSEVNQVZfQ1ZDX0RBVEFUWVBFX1ZBTElEXzFfMl8yOworCWVsc2UKKwkgICAgcmV0ID0gWE1MX1NDSEVNQVZfQ1ZDX0RBVEFUWVBFX1ZBTElEXzFfMl8xOworCXhtbFNjaGVtYVBTaW1wbGVUeXBlRXJyKHBjdHh0LAorCSAgICByZXQsIG93bmVySXRlbSwgKHhtbE5vZGVQdHIpIGF0dHIsCisJICAgIHR5cGUsIE5VTEwsIHZhbHVlLCBOVUxMLCBOVUxMLCBOVUxMKTsKKyAgICB9CisgICAgcmV0dXJuIChyZXQpOworfQorCisvKioKKyAqIHhtbFNjaGVtYVBWYWxBdHRyTm9kZToKKyAqCisgKiBAY3R4dDogIGEgc2NoZW1hIHBhcnNlciBjb250ZXh0CisgKiBAb3duZXJEZXM6IHRoZSBkZXNpZ25hdGlvbiBvZiB0aGUgcGFyZW50IGVsZW1lbnQKKyAqIEBvd25lckl0ZW06IHRoZSBzY2hlbWEgb2JqZWN0IG93bmVyIGlmIGV4aXN0ZW50CisgKiBAYXR0cjogIHRoZSBzY2hlbWEgYXR0cmlidXRlIG5vZGUgYmVpbmcgdmFsaWRhdGVkCisgKiBAdHlwZTogdGhlIGJ1aWx0LWluIHR5cGUgdG8gYmUgdmFsaWRhdGVkIGFnYWluc3QKKyAqIEB2YWx1ZTogdGhlIHJlc3VsdGluZyB2YWx1ZSBpZiBhbnkKKyAqCisgKiBFeHRyYWN0cyBhbmQgdmFsaWRhdGVzIGEgdmFsdWUgYWdhaW5zdCB0aGUgZ2l2ZW4gYnVpbHQtaW4gdHlwZS4KKyAqIFRoaXMgb25lIGlzIGludGVuZGVkIHRvIGJlIHVzZWQgaW50ZXJuYWxseSBmb3IgdmFsaWRhdGlvbgorICogb2Ygc2NoZW1hIGF0dHJpYnV0ZSB2YWx1ZXMgZHVyaW5nIHBhcnNpbmcgb2YgdGhlIHNjaGVtYS4KKyAqCisgKiBSZXR1cm5zIDAgaWYgdGhlIHZhbHVlIGlzIHZhbGlkLCBhIHBvc2l0aXZlIGVycm9yIGNvZGUKKyAqIG51bWJlciBvdGhlcndpc2UgYW5kIC0xIGluIGNhc2Ugb2YgYW4gaW50ZXJuYWwgb3IgQVBJIGVycm9yLgorICovCitzdGF0aWMgaW50Cit4bWxTY2hlbWFQVmFsQXR0ck5vZGUoeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBjdHh0LAorCQkJICAgeG1sU2NoZW1hQmFzaWNJdGVtUHRyIG93bmVySXRlbSwKKwkJCSAgIHhtbEF0dHJQdHIgYXR0ciwKKwkJCSAgIHhtbFNjaGVtYVR5cGVQdHIgdHlwZSwKKwkJCSAgIGNvbnN0IHhtbENoYXIgKip2YWx1ZSkKK3sKKyAgICBjb25zdCB4bWxDaGFyICp2YWw7CisKKyAgICBpZiAoKGN0eHQgPT0gTlVMTCkgfHwgKHR5cGUgPT0gTlVMTCkgfHwgKGF0dHIgPT0gTlVMTCkpCisJcmV0dXJuICgtMSk7CisKKyAgICB2YWwgPSB4bWxTY2hlbWFHZXROb2RlQ29udGVudChjdHh0LCAoeG1sTm9kZVB0cikgYXR0cik7CisgICAgaWYgKHZhbHVlICE9IE5VTEwpCisJKnZhbHVlID0gdmFsOworCisgICAgcmV0dXJuICh4bWxTY2hlbWFQVmFsQXR0ck5vZGVWYWx1ZShjdHh0LCBvd25lckl0ZW0sIGF0dHIsCisJdmFsLCB0eXBlKSk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hUFZhbEF0dHI6CisgKgorICogQGN0eHQ6ICBhIHNjaGVtYSBwYXJzZXIgY29udGV4dAorICogQG5vZGU6IHRoZSBlbGVtZW50IG5vZGUgb2YgdGhlIGF0dHJpYnV0ZQorICogQG93bmVyRGVzOiB0aGUgZGVzaWduYXRpb24gb2YgdGhlIHBhcmVudCBlbGVtZW50CisgKiBAb3duZXJJdGVtOiB0aGUgc2NoZW1hIG9iamVjdCBvd25lciBpZiBleGlzdGVudAorICogQG93bmVyRWxlbTogdGhlIG93bmVyIGVsZW1lbnQgbm9kZQorICogQG5hbWU6ICB0aGUgbmFtZSBvZiB0aGUgc2NoZW1hIGF0dHJpYnV0ZSBub2RlCisgKiBAdHlwZTogdGhlIGJ1aWx0LWluIHR5cGUgdG8gYmUgdmFsaWRhdGVkIGFnYWluc3QKKyAqIEB2YWx1ZTogdGhlIHJlc3VsdGluZyB2YWx1ZSBpZiBhbnkKKyAqCisgKiBFeHRyYWN0cyBhbmQgdmFsaWRhdGVzIGEgdmFsdWUgYWdhaW5zdCB0aGUgZ2l2ZW4gYnVpbHQtaW4gdHlwZS4KKyAqIFRoaXMgb25lIGlzIGludGVuZGVkIHRvIGJlIHVzZWQgaW50ZXJuYWxseSBmb3IgdmFsaWRhdGlvbgorICogb2Ygc2NoZW1hIGF0dHJpYnV0ZSB2YWx1ZXMgZHVyaW5nIHBhcnNpbmcgb2YgdGhlIHNjaGVtYS4KKyAqCisgKiBSZXR1cm5zIDAgaWYgdGhlIHZhbHVlIGlzIHZhbGlkLCBhIHBvc2l0aXZlIGVycm9yIGNvZGUKKyAqIG51bWJlciBvdGhlcndpc2UgYW5kIC0xIGluIGNhc2Ugb2YgYW4gaW50ZXJuYWwgb3IgQVBJIGVycm9yLgorICovCitzdGF0aWMgaW50Cit4bWxTY2hlbWFQVmFsQXR0cih4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIGN0eHQsCisJCSAgICAgICB4bWxTY2hlbWFCYXNpY0l0ZW1QdHIgb3duZXJJdGVtLAorCQkgICAgICAgeG1sTm9kZVB0ciBvd25lckVsZW0sCisJCSAgICAgICBjb25zdCBjaGFyICpuYW1lLAorCQkgICAgICAgeG1sU2NoZW1hVHlwZVB0ciB0eXBlLAorCQkgICAgICAgY29uc3QgeG1sQ2hhciAqKnZhbHVlKQoreworICAgIHhtbEF0dHJQdHIgYXR0cjsKKworICAgIGlmICgoY3R4dCA9PSBOVUxMKSB8fCAodHlwZSA9PSBOVUxMKSkgeworCWlmICh2YWx1ZSAhPSBOVUxMKQorCSAgICAqdmFsdWUgPSBOVUxMOworCXJldHVybiAoLTEpOworICAgIH0KKyAgICBpZiAodHlwZS0+dHlwZSAhPSBYTUxfU0NIRU1BX1RZUEVfQkFTSUMpIHsKKwlpZiAodmFsdWUgIT0gTlVMTCkKKwkgICAgKnZhbHVlID0gTlVMTDsKKwl4bWxTY2hlbWFQRXJyKGN0eHQsIG93bmVyRWxlbSwKKwkgICAgWE1MX1NDSEVNQVBfSU5URVJOQUwsCisJICAgICJJbnRlcm5hbCBlcnJvcjogeG1sU2NoZW1hUFZhbEF0dHIsIHRoZSBnaXZlbiAiCisJICAgICJ0eXBlICclcycgaXMgbm90IGEgYnVpbHQtaW4gdHlwZS5cbiIsCisJICAgIHR5cGUtPm5hbWUsIE5VTEwpOworCXJldHVybiAoLTEpOworICAgIH0KKyAgICBhdHRyID0geG1sU2NoZW1hR2V0UHJvcE5vZGUob3duZXJFbGVtLCBuYW1lKTsKKyAgICBpZiAoYXR0ciA9PSBOVUxMKSB7CisJaWYgKHZhbHVlICE9IE5VTEwpCisJICAgICp2YWx1ZSA9IE5VTEw7CisJcmV0dXJuICgwKTsKKyAgICB9CisgICAgcmV0dXJuICh4bWxTY2hlbWFQVmFsQXR0ck5vZGUoY3R4dCwgb3duZXJJdGVtLCBhdHRyLAorCXR5cGUsIHZhbHVlKSk7Cit9CisKK3N0YXRpYyBpbnQKK3htbFNjaGVtYUNoZWNrUmVmZXJlbmNlKHhtbFNjaGVtYVBhcnNlckN0eHRQdHIgcGN0eHQsCisJCSAgeG1sU2NoZW1hUHRyIHNjaGVtYSBBVFRSSUJVVEVfVU5VU0VELAorCQkgIHhtbE5vZGVQdHIgbm9kZSwKKwkJICB4bWxBdHRyUHRyIGF0dHIsCisJCSAgY29uc3QgeG1sQ2hhciAqbmFtZXNwYWNlTmFtZSkKK3sKKyAgICAvKiBUT0RPOiBQb2ludGVyIGNvbXBhcmlzb24gaW5zdGVhZD8gKi8KKyAgICBpZiAoeG1sU3RyRXF1YWwocGN0eHQtPnRhcmdldE5hbWVzcGFjZSwgbmFtZXNwYWNlTmFtZSkpCisJcmV0dXJuICgwKTsKKyAgICBpZiAoeG1sU3RyRXF1YWwoeG1sU2NoZW1hTnMsIG5hbWVzcGFjZU5hbWUpKQorCXJldHVybiAoMCk7CisgICAgLyoKKyAgICAqIENoZWNrIGlmIHRoZSByZWZlcmVuY2VkIG5hbWVzcGFjZSB3YXMgPGltcG9ydD5lZC4KKyAgICAqLworICAgIGlmIChXWFNfQlVDS0VUKHBjdHh0KS0+cmVsYXRpb25zICE9IE5VTEwpIHsKKwl4bWxTY2hlbWFTY2hlbWFSZWxhdGlvblB0ciByZWw7CisKKwlyZWwgPSBXWFNfQlVDS0VUKHBjdHh0KS0+cmVsYXRpb25zOworCWRvIHsKKwkgICAgaWYgKFdYU19JU19CVUNLRVRfSU1QTUFJTihyZWwtPnR5cGUpICYmCisJCXhtbFN0ckVxdWFsKG5hbWVzcGFjZU5hbWUsIHJlbC0+aW1wb3J0TmFtZXNwYWNlKSkKKwkJcmV0dXJuICgwKTsKKwkgICAgcmVsID0gcmVsLT5uZXh0OworCX0gd2hpbGUgKHJlbCAhPSBOVUxMKTsKKyAgICB9CisgICAgLyoKKyAgICAqIE5vIG1hdGNoaW5nIDxpbXBvcnQ+ZWQgbmFtZXNwYWNlIGZvdW5kLgorICAgICovCisgICAgeworCXhtbE5vZGVQdHIgbiA9IChhdHRyICE9IE5VTEwpID8gKHhtbE5vZGVQdHIpIGF0dHIgOiBub2RlOworCisJaWYgKG5hbWVzcGFjZU5hbWUgPT0gTlVMTCkKKwkgICAgeG1sU2NoZW1hQ3VzdG9tRXJyKEFDVFhUX0NBU1QgcGN0eHQsCisJCVhNTF9TQ0hFTUFQX1NSQ19SRVNPTFZFLCBuLCBOVUxMLAorCQkiUmVmZXJlbmNlcyBmcm9tIHRoaXMgc2NoZW1hIHRvIGNvbXBvbmVudHMgaW4gbm8gIgorCQkibmFtZXNwYWNlIGFyZSBub3QgYWxsb3dlZCwgc2luY2Ugbm90IGluZGljYXRlZCBieSBhbiAiCisJCSJpbXBvcnQgc3RhdGVtZW50IiwgTlVMTCwgTlVMTCk7CisJZWxzZQorCSAgICB4bWxTY2hlbWFDdXN0b21FcnIoQUNUWFRfQ0FTVCBwY3R4dCwKKwkJWE1MX1NDSEVNQVBfU1JDX1JFU09MVkUsIG4sIE5VTEwsCisJCSJSZWZlcmVuY2VzIGZyb20gdGhpcyBzY2hlbWEgdG8gY29tcG9uZW50cyBpbiB0aGUgIgorCQkibmFtZXNwYWNlICclcycgYXJlIG5vdCBhbGxvd2VkLCBzaW5jZSBub3QgaW5kaWNhdGVkIGJ5IGFuICIKKwkJImltcG9ydCBzdGF0ZW1lbnQiLCBuYW1lc3BhY2VOYW1lLCBOVUxMKTsKKyAgICB9CisgICAgcmV0dXJuIChYTUxfU0NIRU1BUF9TUkNfUkVTT0xWRSk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hUGFyc2VMb2NhbEF0dHJpYnV0ZXM6CisgKiBAY3R4dDogIGEgc2NoZW1hIHZhbGlkYXRpb24gY29udGV4dAorICogQHNjaGVtYTogIHRoZSBzY2hlbWEgYmVpbmcgYnVpbHQKKyAqIEBub2RlOiAgYSBzdWJ0cmVlIGNvbnRhaW5pbmcgWE1MIFNjaGVtYSBpbmZvcm1hdGlvbnMKKyAqIEB0eXBlOiAgdGhlIGhvc3RpbmcgdHlwZSB3aGVyZSB0aGUgYXR0cmlidXRlcyB3aWxsIGJlIGFuY2hvcmVkCisgKgorICogUGFyc2VzIGF0dHJpYnV0ZSB1c2VzIGFuZCBhdHRyaWJ1dGUgZGVjbGFyYXRpb25zIGFuZAorICogYXR0cmlidXRlIGdyb3VwIHJlZmVyZW5jZXMuCisgKi8KK3N0YXRpYyBpbnQKK3htbFNjaGVtYVBhcnNlTG9jYWxBdHRyaWJ1dGVzKHhtbFNjaGVtYVBhcnNlckN0eHRQdHIgY3R4dCwgeG1sU2NoZW1hUHRyIHNjaGVtYSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHhtbE5vZGVQdHIgKmNoaWxkLCB4bWxTY2hlbWFJdGVtTGlzdFB0ciAqbGlzdCwKKwkJCWludCBwYXJlbnRUeXBlLCBpbnQgKmhhc1JlZnMpCit7CisgICAgdm9pZCAqaXRlbTsKKworICAgIHdoaWxlICgoSVNfU0NIRU1BKCgqY2hpbGQpLCAiYXR0cmlidXRlIikpIHx8CisgICAgICAgICAgIChJU19TQ0hFTUEoKCpjaGlsZCksICJhdHRyaWJ1dGVHcm91cCIpKSkgeworICAgICAgICBpZiAoSVNfU0NIRU1BKCgqY2hpbGQpLCAiYXR0cmlidXRlIikpIHsKKwkgICAgaXRlbSA9IHhtbFNjaGVtYVBhcnNlTG9jYWxBdHRyaWJ1dGUoY3R4dCwgc2NoZW1hLCAqY2hpbGQsCisJCSpsaXN0LCBwYXJlbnRUeXBlKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGl0ZW0gPSB4bWxTY2hlbWFQYXJzZUF0dHJpYnV0ZUdyb3VwUmVmKGN0eHQsIHNjaGVtYSwgKmNoaWxkKTsKKwkgICAgaWYgKChpdGVtICE9IE5VTEwpICYmIChoYXNSZWZzICE9IE5VTEwpKQorCQkqaGFzUmVmcyA9IDE7CisgICAgICAgIH0KKwlpZiAoaXRlbSAhPSBOVUxMKSB7CisJICAgIGlmICgqbGlzdCA9PSBOVUxMKSB7CisJCS8qIFRPRE86IEN1c3RvbWl6ZSBncm93IGZhY3Rvci4gKi8KKwkJKmxpc3QgPSB4bWxTY2hlbWFJdGVtTGlzdENyZWF0ZSgpOworCQlpZiAoKmxpc3QgPT0gTlVMTCkKKwkJICAgIHJldHVybigtMSk7CisJICAgIH0KKwkgICAgaWYgKHhtbFNjaGVtYUl0ZW1MaXN0QWRkU2l6ZSgqbGlzdCwgMiwgaXRlbSkgPT0gLTEpCisJCXJldHVybigtMSk7CisJfQorICAgICAgICAqY2hpbGQgPSAoKmNoaWxkKS0+bmV4dDsKKyAgICB9CisgICAgcmV0dXJuICgwKTsKK30KKworLyoqCisgKiB4bWxTY2hlbWFQYXJzZUFubm90YXRpb246CisgKiBAY3R4dDogIGEgc2NoZW1hIHZhbGlkYXRpb24gY29udGV4dAorICogQHNjaGVtYTogIHRoZSBzY2hlbWEgYmVpbmcgYnVpbHQKKyAqIEBub2RlOiAgYSBzdWJ0cmVlIGNvbnRhaW5pbmcgWE1MIFNjaGVtYSBpbmZvcm1hdGlvbnMKKyAqCisgKiBwYXJzZSBhIFhNTCBzY2hlbWEgQXR0cnJpYnV0ZSBkZWNsYXJhdGlvbgorICogKldBUk5JTkcqIHRoaXMgaW50ZXJmYWNlIGlzIGhpZ2hseSBzdWJqZWN0IHRvIGNoYW5nZQorICoKKyAqIFJldHVybnMgLTEgaW4gY2FzZSBvZiBlcnJvciwgMCBpZiB0aGUgZGVjbGFyYXRpb24gaXMgaW1wcm9wZXIgYW5kCisgKiAgICAgICAgIDEgaW4gY2FzZSBvZiBzdWNjZXNzLgorICovCitzdGF0aWMgeG1sU2NoZW1hQW5ub3RQdHIKK3htbFNjaGVtYVBhcnNlQW5ub3RhdGlvbih4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIGN0eHQsIHhtbE5vZGVQdHIgbm9kZSwgaW50IG5lZWRlZCkKK3sKKyAgICB4bWxTY2hlbWFBbm5vdFB0ciByZXQ7CisgICAgeG1sTm9kZVB0ciBjaGlsZCA9IE5VTEw7CisgICAgeG1sQXR0clB0ciBhdHRyOworICAgIGludCBiYXJrZWQgPSAwOworCisgICAgLyoKKyAgICAqIElORk86IFM0UyBjb21wbGV0ZWQuCisgICAgKi8KKyAgICAvKgorICAgICogaWQgPSBJRAorICAgICoge2FueSBhdHRyaWJ1dGVzIHdpdGggbm9uLXNjaGVtYSBuYW1lc3BhY2UgLiAuIC59PgorICAgICogQ29udGVudDogKGFwcGluZm8gfCBkb2N1bWVudGF0aW9uKSoKKyAgICAqLworICAgIGlmICgoY3R4dCA9PSBOVUxMKSB8fCAobm9kZSA9PSBOVUxMKSkKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICBpZiAobmVlZGVkKQorCXJldCA9IHhtbFNjaGVtYU5ld0Fubm90KGN0eHQsIG5vZGUpOworICAgIGVsc2UKKwlyZXQgPSBOVUxMOworICAgIGF0dHIgPSBub2RlLT5wcm9wZXJ0aWVzOworICAgIHdoaWxlIChhdHRyICE9IE5VTEwpIHsKKwlpZiAoKChhdHRyLT5ucyA9PSBOVUxMKSAmJgorCSAgICAoIXhtbFN0ckVxdWFsKGF0dHItPm5hbWUsIEJBRF9DQVNUICJpZCIpKSkgfHwKKwkgICAgKChhdHRyLT5ucyAhPSBOVUxMKSAmJgorCSAgICB4bWxTdHJFcXVhbChhdHRyLT5ucy0+aHJlZiwgeG1sU2NoZW1hTnMpKSkgeworCisJICAgIHhtbFNjaGVtYVBJbGxlZ2FsQXR0ckVycihjdHh0LAorCQlYTUxfU0NIRU1BUF9TNFNfQVRUUl9OT1RfQUxMT1dFRCwgTlVMTCwgYXR0cik7CisJfQorCWF0dHIgPSBhdHRyLT5uZXh0OworICAgIH0KKyAgICB4bWxTY2hlbWFQVmFsQXR0cklEKGN0eHQsIG5vZGUsIEJBRF9DQVNUICJpZCIpOworICAgIC8qCisgICAgKiBBbmQgbm93IGZvciB0aGUgY2hpbGRyZW4uLi4KKyAgICAqLworICAgIGNoaWxkID0gbm9kZS0+Y2hpbGRyZW47CisgICAgd2hpbGUgKGNoaWxkICE9IE5VTEwpIHsKKwlpZiAoSVNfU0NIRU1BKGNoaWxkLCAiYXBwaW5mbyIpKSB7CisJICAgIC8qIFRPRE86IG1ha2UgYXZhaWxhYmxlIHRoZSBjb250ZW50IG9mICJhcHBpbmZvIi4gKi8KKwkgICAgLyoKKwkgICAgKiBzb3VyY2UgPSBhbnlVUkkKKwkgICAgKiB7YW55IGF0dHJpYnV0ZXMgd2l0aCBub24tc2NoZW1hIG5hbWVzcGFjZSAuIC4gLn0+CisJICAgICogQ29udGVudDogKHthbnl9KSoKKwkgICAgKi8KKwkgICAgYXR0ciA9IGNoaWxkLT5wcm9wZXJ0aWVzOworCSAgICB3aGlsZSAoYXR0ciAhPSBOVUxMKSB7CisJCWlmICgoKGF0dHItPm5zID09IE5VTEwpICYmCisJCSAgICAgKCF4bWxTdHJFcXVhbChhdHRyLT5uYW1lLCBCQURfQ0FTVCAic291cmNlIikpKSB8fAorCQkgICAgICgoYXR0ci0+bnMgIT0gTlVMTCkgJiYKKwkJICAgICAgeG1sU3RyRXF1YWwoYXR0ci0+bnMtPmhyZWYsIHhtbFNjaGVtYU5zKSkpIHsKKworCQkgICAgeG1sU2NoZW1hUElsbGVnYWxBdHRyRXJyKGN0eHQsCisJCQlYTUxfU0NIRU1BUF9TNFNfQVRUUl9OT1RfQUxMT1dFRCwgTlVMTCwgYXR0cik7CisJCX0KKwkJYXR0ciA9IGF0dHItPm5leHQ7CisJICAgIH0KKwkgICAgeG1sU2NoZW1hUFZhbEF0dHIoY3R4dCwgTlVMTCwgY2hpbGQsICJzb3VyY2UiLAorCQl4bWxTY2hlbWFHZXRCdWlsdEluVHlwZShYTUxfU0NIRU1BU19BTllVUkkpLCBOVUxMKTsKKwkgICAgY2hpbGQgPSBjaGlsZC0+bmV4dDsKKwl9IGVsc2UgaWYgKElTX1NDSEVNQShjaGlsZCwgImRvY3VtZW50YXRpb24iKSkgeworCSAgICAvKiBUT0RPOiBtYWtlIGF2YWlsYWJsZSB0aGUgY29udGVudCBvZiAiZG9jdW1lbnRhdGlvbiIuICovCisJICAgIC8qCisJICAgICogc291cmNlID0gYW55VVJJCisJICAgICoge2FueSBhdHRyaWJ1dGVzIHdpdGggbm9uLXNjaGVtYSBuYW1lc3BhY2UgLiAuIC59PgorCSAgICAqIENvbnRlbnQ6ICh7YW55fSkqCisJICAgICovCisJICAgIGF0dHIgPSBjaGlsZC0+cHJvcGVydGllczsKKwkgICAgd2hpbGUgKGF0dHIgIT0gTlVMTCkgeworCQlpZiAoYXR0ci0+bnMgPT0gTlVMTCkgeworCQkgICAgaWYgKCF4bWxTdHJFcXVhbChhdHRyLT5uYW1lLCBCQURfQ0FTVCAic291cmNlIikpIHsKKwkJCXhtbFNjaGVtYVBJbGxlZ2FsQXR0ckVycihjdHh0LAorCQkJICAgIFhNTF9TQ0hFTUFQX1M0U19BVFRSX05PVF9BTExPV0VELCBOVUxMLCBhdHRyKTsKKwkJICAgIH0KKwkJfSBlbHNlIHsKKwkJICAgIGlmICh4bWxTdHJFcXVhbChhdHRyLT5ucy0+aHJlZiwgeG1sU2NoZW1hTnMpIHx8CisJCQkoeG1sU3RyRXF1YWwoYXR0ci0+bmFtZSwgQkFEX0NBU1QgImxhbmciKSAmJgorCQkJKCF4bWxTdHJFcXVhbChhdHRyLT5ucy0+aHJlZiwgWE1MX1hNTF9OQU1FU1BBQ0UpKSkpIHsKKworCQkJeG1sU2NoZW1hUElsbGVnYWxBdHRyRXJyKGN0eHQsCisJCQkgICAgWE1MX1NDSEVNQVBfUzRTX0FUVFJfTk9UX0FMTE9XRUQsIE5VTEwsIGF0dHIpOworCQkgICAgfQorCQl9CisJCWF0dHIgPSBhdHRyLT5uZXh0OworCSAgICB9CisJICAgIC8qCisJICAgICogQXR0cmlidXRlICJ4bWw6bGFuZyIuCisJICAgICovCisJICAgIGF0dHIgPSB4bWxTY2hlbWFHZXRQcm9wTm9kZU5zKGNoaWxkLCAoY29uc3QgY2hhciAqKSBYTUxfWE1MX05BTUVTUEFDRSwgImxhbmciKTsKKwkgICAgaWYgKGF0dHIgIT0gTlVMTCkKKwkJeG1sU2NoZW1hUFZhbEF0dHJOb2RlKGN0eHQsIE5VTEwsIGF0dHIsCisJCXhtbFNjaGVtYUdldEJ1aWx0SW5UeXBlKFhNTF9TQ0hFTUFTX0xBTkdVQUdFKSwgTlVMTCk7CisJICAgIGNoaWxkID0gY2hpbGQtPm5leHQ7CisJfSBlbHNlIHsKKwkgICAgaWYgKCFiYXJrZWQpCisJCXhtbFNjaGVtYVBDb250ZW50RXJyKGN0eHQsCisJCSAgICBYTUxfU0NIRU1BUF9TNFNfRUxFTV9OT1RfQUxMT1dFRCwKKwkJICAgIE5VTEwsIG5vZGUsIGNoaWxkLCBOVUxMLCAiKGFwcGluZm8gfCBkb2N1bWVudGF0aW9uKSoiKTsKKwkgICAgYmFya2VkID0gMTsKKwkgICAgY2hpbGQgPSBjaGlsZC0+bmV4dDsKKwl9CisgICAgfQorCisgICAgcmV0dXJuIChyZXQpOworfQorCisvKioKKyAqIHhtbFNjaGVtYVBhcnNlRmFjZXQ6CisgKiBAY3R4dDogIGEgc2NoZW1hIHZhbGlkYXRpb24gY29udGV4dAorICogQHNjaGVtYTogIHRoZSBzY2hlbWEgYmVpbmcgYnVpbHQKKyAqIEBub2RlOiAgYSBzdWJ0cmVlIGNvbnRhaW5pbmcgWE1MIFNjaGVtYSBpbmZvcm1hdGlvbnMKKyAqCisgKiBwYXJzZSBhIFhNTCBzY2hlbWEgRmFjZXQgZGVjbGFyYXRpb24KKyAqICpXQVJOSU5HKiB0aGlzIGludGVyZmFjZSBpcyBoaWdobHkgc3ViamVjdCB0byBjaGFuZ2UKKyAqCisgKiBSZXR1cm5zIHRoZSBuZXcgdHlwZSBzdHJ1Y3R1cmUgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3N0YXRpYyB4bWxTY2hlbWFGYWNldFB0cgoreG1sU2NoZW1hUGFyc2VGYWNldCh4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIGN0eHQsIHhtbFNjaGVtYVB0ciBzY2hlbWEsCisgICAgICAgICAgICAgICAgICAgIHhtbE5vZGVQdHIgbm9kZSkKK3sKKyAgICB4bWxTY2hlbWFGYWNldFB0ciBmYWNldDsKKyAgICB4bWxOb2RlUHRyIGNoaWxkID0gTlVMTDsKKyAgICBjb25zdCB4bWxDaGFyICp2YWx1ZTsKKworICAgIGlmICgoY3R4dCA9PSBOVUxMKSB8fCAoc2NoZW1hID09IE5VTEwpIHx8IChub2RlID09IE5VTEwpKQorICAgICAgICByZXR1cm4gKE5VTEwpOworCisgICAgZmFjZXQgPSB4bWxTY2hlbWFOZXdGYWNldCgpOworICAgIGlmIChmYWNldCA9PSBOVUxMKSB7CisgICAgICAgIHhtbFNjaGVtYVBFcnJNZW1vcnkoY3R4dCwgImFsbG9jYXRpbmcgZmFjZXQiLCBub2RlKTsKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICB9CisgICAgZmFjZXQtPm5vZGUgPSBub2RlOworICAgIHZhbHVlID0geG1sU2NoZW1hR2V0UHJvcChjdHh0LCBub2RlLCAidmFsdWUiKTsKKyAgICBpZiAodmFsdWUgPT0gTlVMTCkgeworICAgICAgICB4bWxTY2hlbWFQRXJyMihjdHh0LCBub2RlLCBjaGlsZCwgWE1MX1NDSEVNQVBfRkFDRVRfTk9fVkFMVUUsCisgICAgICAgICAgICAgICAgICAgICAgICJGYWNldCAlcyBoYXMgbm8gdmFsdWVcbiIsIG5vZGUtPm5hbWUsIE5VTEwpOworICAgICAgICB4bWxTY2hlbWFGcmVlRmFjZXQoZmFjZXQpOworICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIH0KKyAgICBpZiAoSVNfU0NIRU1BKG5vZGUsICJtaW5JbmNsdXNpdmUiKSkgeworICAgICAgICBmYWNldC0+dHlwZSA9IFhNTF9TQ0hFTUFfRkFDRVRfTUlOSU5DTFVTSVZFOworICAgIH0gZWxzZSBpZiAoSVNfU0NIRU1BKG5vZGUsICJtaW5FeGNsdXNpdmUiKSkgeworICAgICAgICBmYWNldC0+dHlwZSA9IFhNTF9TQ0hFTUFfRkFDRVRfTUlORVhDTFVTSVZFOworICAgIH0gZWxzZSBpZiAoSVNfU0NIRU1BKG5vZGUsICJtYXhJbmNsdXNpdmUiKSkgeworICAgICAgICBmYWNldC0+dHlwZSA9IFhNTF9TQ0hFTUFfRkFDRVRfTUFYSU5DTFVTSVZFOworICAgIH0gZWxzZSBpZiAoSVNfU0NIRU1BKG5vZGUsICJtYXhFeGNsdXNpdmUiKSkgeworICAgICAgICBmYWNldC0+dHlwZSA9IFhNTF9TQ0hFTUFfRkFDRVRfTUFYRVhDTFVTSVZFOworICAgIH0gZWxzZSBpZiAoSVNfU0NIRU1BKG5vZGUsICJ0b3RhbERpZ2l0cyIpKSB7CisgICAgICAgIGZhY2V0LT50eXBlID0gWE1MX1NDSEVNQV9GQUNFVF9UT1RBTERJR0lUUzsKKyAgICB9IGVsc2UgaWYgKElTX1NDSEVNQShub2RlLCAiZnJhY3Rpb25EaWdpdHMiKSkgeworICAgICAgICBmYWNldC0+dHlwZSA9IFhNTF9TQ0hFTUFfRkFDRVRfRlJBQ1RJT05ESUdJVFM7CisgICAgfSBlbHNlIGlmIChJU19TQ0hFTUEobm9kZSwgInBhdHRlcm4iKSkgeworICAgICAgICBmYWNldC0+dHlwZSA9IFhNTF9TQ0hFTUFfRkFDRVRfUEFUVEVSTjsKKyAgICB9IGVsc2UgaWYgKElTX1NDSEVNQShub2RlLCAiZW51bWVyYXRpb24iKSkgeworICAgICAgICBmYWNldC0+dHlwZSA9IFhNTF9TQ0hFTUFfRkFDRVRfRU5VTUVSQVRJT047CisgICAgfSBlbHNlIGlmIChJU19TQ0hFTUEobm9kZSwgIndoaXRlU3BhY2UiKSkgeworICAgICAgICBmYWNldC0+dHlwZSA9IFhNTF9TQ0hFTUFfRkFDRVRfV0hJVEVTUEFDRTsKKyAgICB9IGVsc2UgaWYgKElTX1NDSEVNQShub2RlLCAibGVuZ3RoIikpIHsKKyAgICAgICAgZmFjZXQtPnR5cGUgPSBYTUxfU0NIRU1BX0ZBQ0VUX0xFTkdUSDsKKyAgICB9IGVsc2UgaWYgKElTX1NDSEVNQShub2RlLCAibWF4TGVuZ3RoIikpIHsKKyAgICAgICAgZmFjZXQtPnR5cGUgPSBYTUxfU0NIRU1BX0ZBQ0VUX01BWExFTkdUSDsKKyAgICB9IGVsc2UgaWYgKElTX1NDSEVNQShub2RlLCAibWluTGVuZ3RoIikpIHsKKyAgICAgICAgZmFjZXQtPnR5cGUgPSBYTUxfU0NIRU1BX0ZBQ0VUX01JTkxFTkdUSDsKKyAgICB9IGVsc2UgeworICAgICAgICB4bWxTY2hlbWFQRXJyMihjdHh0LCBub2RlLCBjaGlsZCwgWE1MX1NDSEVNQVBfVU5LTk9XTl9GQUNFVF9UWVBFLAorICAgICAgICAgICAgICAgICAgICAgICAiVW5rbm93biBmYWNldCB0eXBlICVzXG4iLCBub2RlLT5uYW1lLCBOVUxMKTsKKyAgICAgICAgeG1sU2NoZW1hRnJlZUZhY2V0KGZhY2V0KTsKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICB9CisgICAgeG1sU2NoZW1hUFZhbEF0dHJJRChjdHh0LCBub2RlLCBCQURfQ0FTVCAiaWQiKTsKKyAgICBmYWNldC0+dmFsdWUgPSB2YWx1ZTsKKyAgICBpZiAoKGZhY2V0LT50eXBlICE9IFhNTF9TQ0hFTUFfRkFDRVRfUEFUVEVSTikgJiYKKwkoZmFjZXQtPnR5cGUgIT0gWE1MX1NDSEVNQV9GQUNFVF9FTlVNRVJBVElPTikpIHsKKwljb25zdCB4bWxDaGFyICpmaXhlZDsKKworCWZpeGVkID0geG1sU2NoZW1hR2V0UHJvcChjdHh0LCBub2RlLCAiZml4ZWQiKTsKKwlpZiAoZml4ZWQgIT0gTlVMTCkgeworCSAgICBpZiAoeG1sU3RyRXF1YWwoZml4ZWQsIEJBRF9DQVNUICJ0cnVlIikpCisJCWZhY2V0LT5maXhlZCA9IDE7CisJfQorICAgIH0KKyAgICBjaGlsZCA9IG5vZGUtPmNoaWxkcmVuOworCisgICAgaWYgKElTX1NDSEVNQShjaGlsZCwgImFubm90YXRpb24iKSkgeworICAgICAgICBmYWNldC0+YW5ub3QgPSB4bWxTY2hlbWFQYXJzZUFubm90YXRpb24oY3R4dCwgY2hpbGQsIDEpOworICAgICAgICBjaGlsZCA9IGNoaWxkLT5uZXh0OworICAgIH0KKyAgICBpZiAoY2hpbGQgIT0gTlVMTCkgeworICAgICAgICB4bWxTY2hlbWFQRXJyMihjdHh0LCBub2RlLCBjaGlsZCwgWE1MX1NDSEVNQVBfVU5LTk9XTl9GQUNFVF9DSElMRCwKKyAgICAgICAgICAgICAgICAgICAgICAgIkZhY2V0ICVzIGhhcyB1bmV4cGVjdGVkIGNoaWxkIGNvbnRlbnRcbiIsCisgICAgICAgICAgICAgICAgICAgICAgIG5vZGUtPm5hbWUsIE5VTEwpOworICAgIH0KKyAgICByZXR1cm4gKGZhY2V0KTsKK30KKworLyoqCisgKiB4bWxTY2hlbWFQYXJzZVdpbGRjYXJkTnM6CisgKiBAY3R4dDogIGEgc2NoZW1hIHBhcnNlciBjb250ZXh0CisgKiBAd2lsZGM6ICB0aGUgd2lsZGNhcmQsIGFscmVhZHkgY3JlYXRlZAorICogQG5vZGU6ICBhIHN1YnRyZWUgY29udGFpbmluZyBYTUwgU2NoZW1hIGluZm9ybWF0aW9ucworICoKKyAqIFBhcnNlcyB0aGUgYXR0cmlidXRlICJwcm9jZXNzQ29udGVudHMiIGFuZCAibmFtZXNwYWNlIgorICogb2YgYSB4c2Q6YW55QXR0cmlidXRlIGFuZCB4c2Q6YW55LgorICogKldBUk5JTkcqIHRoaXMgaW50ZXJmYWNlIGlzIGhpZ2hseSBzdWJqZWN0IHRvIGNoYW5nZQorICoKKyAqIFJldHVybnMgMCBpZiBldmVyeXRoaW5nIGdvZXMgZmluZSwgYSBwb3NpdGl2ZSBlcnJvciBjb2RlCisgKiBpZiBzb21ldGhpbmcgaXMgbm90IHZhbGlkIGFuZCAtMSBpZiBhbiBpbnRlcm5hbCBlcnJvciBvY2N1cnMuCisgKi8KK3N0YXRpYyBpbnQKK3htbFNjaGVtYVBhcnNlV2lsZGNhcmROcyh4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIGN0eHQsCisJCQkgeG1sU2NoZW1hUHRyIHNjaGVtYSBBVFRSSUJVVEVfVU5VU0VELAorCQkJIHhtbFNjaGVtYVdpbGRjYXJkUHRyIHdpbGRjLAorCQkJIHhtbE5vZGVQdHIgbm9kZSkKK3sKKyAgICBjb25zdCB4bWxDaGFyICpwYywgKm5zLCAqZGljdG5zSXRlbTsKKyAgICBpbnQgcmV0ID0gMDsKKyAgICB4bWxDaGFyICpuc0l0ZW07CisgICAgeG1sU2NoZW1hV2lsZGNhcmROc1B0ciB0bXAsIGxhc3ROcyA9IE5VTEw7CisgICAgeG1sQXR0clB0ciBhdHRyOworCisgICAgcGMgPSB4bWxTY2hlbWFHZXRQcm9wKGN0eHQsIG5vZGUsICJwcm9jZXNzQ29udGVudHMiKTsKKyAgICBpZiAoKHBjID09IE5VTEwpCisgICAgICAgIHx8ICh4bWxTdHJFcXVhbChwYywgKGNvbnN0IHhtbENoYXIgKikgInN0cmljdCIpKSkgeworICAgICAgICB3aWxkYy0+cHJvY2Vzc0NvbnRlbnRzID0gWE1MX1NDSEVNQVNfQU5ZX1NUUklDVDsKKyAgICB9IGVsc2UgaWYgKHhtbFN0ckVxdWFsKHBjLCAoY29uc3QgeG1sQ2hhciAqKSAic2tpcCIpKSB7CisgICAgICAgIHdpbGRjLT5wcm9jZXNzQ29udGVudHMgPSBYTUxfU0NIRU1BU19BTllfU0tJUDsKKyAgICB9IGVsc2UgaWYgKHhtbFN0ckVxdWFsKHBjLCAoY29uc3QgeG1sQ2hhciAqKSAibGF4IikpIHsKKyAgICAgICAgd2lsZGMtPnByb2Nlc3NDb250ZW50cyA9IFhNTF9TQ0hFTUFTX0FOWV9MQVg7CisgICAgfSBlbHNlIHsKKyAgICAgICAgeG1sU2NoZW1hUFNpbXBsZVR5cGVFcnIoY3R4dCwKKwkgICAgWE1MX1NDSEVNQVBfUzRTX0FUVFJfSU5WQUxJRF9WQUxVRSwKKwkgICAgTlVMTCwgbm9kZSwKKwkgICAgTlVMTCwgIihzdHJpY3QgfCBza2lwIHwgbGF4KSIsIHBjLAorCSAgICBOVUxMLCBOVUxMLCBOVUxMKTsKKyAgICAgICAgd2lsZGMtPnByb2Nlc3NDb250ZW50cyA9IFhNTF9TQ0hFTUFTX0FOWV9TVFJJQ1Q7CisJcmV0ID0gWE1MX1NDSEVNQVBfUzRTX0FUVFJfSU5WQUxJRF9WQUxVRTsKKyAgICB9CisgICAgLyoKKyAgICAgKiBCdWlsZCB0aGUgbmFtZXNwYWNlIGNvbnN0cmFpbnRzLgorICAgICAqLworICAgIGF0dHIgPSB4bWxTY2hlbWFHZXRQcm9wTm9kZShub2RlLCAibmFtZXNwYWNlIik7CisgICAgbnMgPSB4bWxTY2hlbWFHZXROb2RlQ29udGVudChjdHh0LCAoeG1sTm9kZVB0cikgYXR0cik7CisgICAgaWYgKChhdHRyID09IE5VTEwpIHx8ICh4bWxTdHJFcXVhbChucywgQkFEX0NBU1QgIiMjYW55IikpKQorCXdpbGRjLT5hbnkgPSAxOworICAgIGVsc2UgaWYgKHhtbFN0ckVxdWFsKG5zLCBCQURfQ0FTVCAiIyNvdGhlciIpKSB7CisJd2lsZGMtPm5lZ05zU2V0ID0geG1sU2NoZW1hTmV3V2lsZGNhcmROc0NvbnN0cmFpbnQoY3R4dCk7CisJaWYgKHdpbGRjLT5uZWdOc1NldCA9PSBOVUxMKSB7CisJICAgIHJldHVybiAoLTEpOworCX0KKwl3aWxkYy0+bmVnTnNTZXQtPnZhbHVlID0gY3R4dC0+dGFyZ2V0TmFtZXNwYWNlOworICAgIH0gZWxzZSB7CisJY29uc3QgeG1sQ2hhciAqZW5kLCAqY3VyOworCisJY3VyID0gbnM7CisJZG8geworCSAgICB3aGlsZSAoSVNfQkxBTktfQ0goKmN1cikpCisJCWN1cisrOworCSAgICBlbmQgPSBjdXI7CisJICAgIHdoaWxlICgoKmVuZCAhPSAwKSAmJiAoIShJU19CTEFOS19DSCgqZW5kKSkpKQorCQllbmQrKzsKKwkgICAgaWYgKGVuZCA9PSBjdXIpCisJCWJyZWFrOworCSAgICBuc0l0ZW0gPSB4bWxTdHJuZHVwKGN1ciwgZW5kIC0gY3VyKTsKKwkgICAgaWYgKCh4bWxTdHJFcXVhbChuc0l0ZW0sIEJBRF9DQVNUICIjI290aGVyIikpIHx8CisJCSAgICAoeG1sU3RyRXF1YWwobnNJdGVtLCBCQURfQ0FTVCAiIyNhbnkiKSkpIHsKKwkJeG1sU2NoZW1hUFNpbXBsZVR5cGVFcnIoY3R4dCwKKwkJICAgIFhNTF9TQ0hFTUFQX1dJTERDQVJEX0lOVkFMSURfTlNfTUVNQkVSLAorCQkgICAgTlVMTCwgKHhtbE5vZGVQdHIpIGF0dHIsCisJCSAgICBOVUxMLAorCQkgICAgIigoIyNhbnkgfCAjI290aGVyKSB8IExpc3Qgb2YgKHhzOmFueVVSSSB8ICIKKwkJICAgICIoIyN0YXJnZXROYW1lc3BhY2UgfCAjI2xvY2FsKSkpIiwKKwkJICAgIG5zSXRlbSwgTlVMTCwgTlVMTCwgTlVMTCk7CisJCXJldCA9IFhNTF9TQ0hFTUFQX1dJTERDQVJEX0lOVkFMSURfTlNfTUVNQkVSOworCSAgICB9IGVsc2UgeworCQlpZiAoeG1sU3RyRXF1YWwobnNJdGVtLCBCQURfQ0FTVCAiIyN0YXJnZXROYW1lc3BhY2UiKSkgeworCQkgICAgZGljdG5zSXRlbSA9IGN0eHQtPnRhcmdldE5hbWVzcGFjZTsKKwkJfSBlbHNlIGlmICh4bWxTdHJFcXVhbChuc0l0ZW0sIEJBRF9DQVNUICIjI2xvY2FsIikpIHsKKwkJICAgIGRpY3Ruc0l0ZW0gPSBOVUxMOworCQl9IGVsc2UgeworCQkgICAgLyoKKwkJICAgICogVmFsaWRhdGUgdGhlIGl0ZW0gKGFueVVSSSkuCisJCSAgICAqLworCQkgICAgeG1sU2NoZW1hUFZhbEF0dHJOb2RlVmFsdWUoY3R4dCwgTlVMTCwgYXR0ciwKKwkJCW5zSXRlbSwgeG1sU2NoZW1hR2V0QnVpbHRJblR5cGUoWE1MX1NDSEVNQVNfQU5ZVVJJKSk7CisJCSAgICBkaWN0bnNJdGVtID0geG1sRGljdExvb2t1cChjdHh0LT5kaWN0LCBuc0l0ZW0sIC0xKTsKKwkJfQorCQkvKgorCQkqIEF2b2lkIGR1YmxpY2F0ZSBuYW1lc3BhY2VzLgorCQkqLworCQl0bXAgPSB3aWxkYy0+bnNTZXQ7CisJCXdoaWxlICh0bXAgIT0gTlVMTCkgeworCQkgICAgaWYgKGRpY3Ruc0l0ZW0gPT0gdG1wLT52YWx1ZSkKKwkJCWJyZWFrOworCQkgICAgdG1wID0gdG1wLT5uZXh0OworCQl9CisJCWlmICh0bXAgPT0gTlVMTCkgeworCQkgICAgdG1wID0geG1sU2NoZW1hTmV3V2lsZGNhcmROc0NvbnN0cmFpbnQoY3R4dCk7CisJCSAgICBpZiAodG1wID09IE5VTEwpIHsKKwkJCXhtbEZyZWUobnNJdGVtKTsKKwkJCXJldHVybiAoLTEpOworCQkgICAgfQorCQkgICAgdG1wLT52YWx1ZSA9IGRpY3Ruc0l0ZW07CisJCSAgICB0bXAtPm5leHQgPSBOVUxMOworCQkgICAgaWYgKHdpbGRjLT5uc1NldCA9PSBOVUxMKQorCQkJd2lsZGMtPm5zU2V0ID0gdG1wOworCQkgICAgZWxzZSBpZiAobGFzdE5zICE9IE5VTEwpCisJCQlsYXN0TnMtPm5leHQgPSB0bXA7CisJCSAgICBsYXN0TnMgPSB0bXA7CisJCX0KKworCSAgICB9CisJICAgIHhtbEZyZWUobnNJdGVtKTsKKwkgICAgY3VyID0gZW5kOworCX0gd2hpbGUgKCpjdXIgIT0gMCk7CisgICAgfQorICAgIHJldHVybiAocmV0KTsKK30KKworc3RhdGljIGludAoreG1sU2NoZW1hUENoZWNrUGFydGljbGVDb3JyZWN0XzIoeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBjdHh0LAorCQkJCSB4bWxTY2hlbWFQYXJ0aWNsZVB0ciBpdGVtIEFUVFJJQlVURV9VTlVTRUQsCisJCQkJIHhtbE5vZGVQdHIgbm9kZSwKKwkJCQkgaW50IG1pbk9jY3VycywKKwkJCQkgaW50IG1heE9jY3VycykgeworCisgICAgaWYgKChtYXhPY2N1cnMgPT0gMCkgJiYgKCBtaW5PY2N1cnMgPT0gMCkpCisJcmV0dXJuICgwKTsKKyAgICBpZiAobWF4T2NjdXJzICE9IFVOQk9VTkRFRCkgeworCS8qCisJKiBUT0RPOiBNYXliZSB3ZSBzaG91bGQgYmV0dGVyIG5vdCBjcmVhdGUgdGhlIHBhcnRpY2xlLAorCSogaWYgbWluL21heCBpcyBpbnZhbGlkLCBzaW5jZSBpdCBjb3VsZCBjb25mdXNlIHRoZSBidWlsZCBvZiB0aGUKKwkqIGNvbnRlbnQgbW9kZWwuCisJKi8KKwkvKgorCSogMy45LjYgU2NoZW1hIENvbXBvbmVudCBDb25zdHJhaW50OiBQYXJ0aWNsZSBDb3JyZWN0CisJKgorCSovCisJaWYgKG1heE9jY3VycyA8IDEpIHsKKwkgICAgLyoKKwkgICAgKiAyLjIge21heCBvY2N1cnN9IG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIDEuCisJICAgICovCisJICAgIHhtbFNjaGVtYVBDdXN0b21BdHRyRXJyKGN0eHQsCisJCVhNTF9TQ0hFTUFQX1BfUFJPUFNfQ09SUkVDVF8yXzIsCisJCU5VTEwsIE5VTEwsCisJCXhtbFNjaGVtYUdldFByb3BOb2RlKG5vZGUsICJtYXhPY2N1cnMiKSwKKwkJIlRoZSB2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAxIik7CisJICAgIHJldHVybiAoWE1MX1NDSEVNQVBfUF9QUk9QU19DT1JSRUNUXzJfMik7CisJfSBlbHNlIGlmIChtaW5PY2N1cnMgPiBtYXhPY2N1cnMpIHsKKwkgICAgLyoKKwkgICAgKiAyLjEge21pbiBvY2N1cnN9IG11c3Qgbm90IGJlIGdyZWF0ZXIgdGhhbiB7bWF4IG9jY3Vyc30uCisJICAgICovCisJICAgIHhtbFNjaGVtYVBDdXN0b21BdHRyRXJyKGN0eHQsCisJCVhNTF9TQ0hFTUFQX1BfUFJPUFNfQ09SUkVDVF8yXzEsCisJCU5VTEwsIE5VTEwsCisJCXhtbFNjaGVtYUdldFByb3BOb2RlKG5vZGUsICJtaW5PY2N1cnMiKSwKKwkJIlRoZSB2YWx1ZSBtdXN0IG5vdCBiZSBncmVhdGVyIHRoYW4gdGhlIHZhbHVlIG9mICdtYXhPY2N1cnMnIik7CisJICAgIHJldHVybiAoWE1MX1NDSEVNQVBfUF9QUk9QU19DT1JSRUNUXzJfMSk7CisJfQorICAgIH0KKyAgICByZXR1cm4gKDApOworfQorCisvKioKKyAqIHhtbFNjaGVtYVBhcnNlQW55OgorICogQGN0eHQ6ICBhIHNjaGVtYSB2YWxpZGF0aW9uIGNvbnRleHQKKyAqIEBzY2hlbWE6ICB0aGUgc2NoZW1hIGJlaW5nIGJ1aWx0CisgKiBAbm9kZTogIGEgc3VidHJlZSBjb250YWluaW5nIFhNTCBTY2hlbWEgaW5mb3JtYXRpb25zCisgKgorICogUGFyc2VhIGEgWE1MIHNjaGVtYSA8YW55PiBlbGVtZW50LiBBIHBhcnRpY2xlIGFuZCB3aWxkY2FyZAorICogd2lsbCBiZSBjcmVhdGVkIChleGNlcHQgaWYgbWluT2NjdXJzPT1tYXhPY2N1cnM9PTAsIGluIHRoaXMgY2FzZQorICogbm90aGluZyB3aWxsIGJlIGNyZWF0ZWQpLgorICogKldBUk5JTkcqIHRoaXMgaW50ZXJmYWNlIGlzIGhpZ2hseSBzdWJqZWN0IHRvIGNoYW5nZQorICoKKyAqIFJldHVybnMgdGhlIHBhcnRpY2xlIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvciBvciBpZiBtaW5PY2N1cnM9PW1heE9jY3Vycz09MAorICovCitzdGF0aWMgeG1sU2NoZW1hUGFydGljbGVQdHIKK3htbFNjaGVtYVBhcnNlQW55KHhtbFNjaGVtYVBhcnNlckN0eHRQdHIgY3R4dCwgeG1sU2NoZW1hUHRyIHNjaGVtYSwKKyAgICAgICAgICAgICAgICAgIHhtbE5vZGVQdHIgbm9kZSkKK3sKKyAgICB4bWxTY2hlbWFQYXJ0aWNsZVB0ciBwYXJ0aWNsZTsKKyAgICB4bWxOb2RlUHRyIGNoaWxkID0gTlVMTDsKKyAgICB4bWxTY2hlbWFXaWxkY2FyZFB0ciB3aWxkOworICAgIGludCBtaW4sIG1heDsKKyAgICB4bWxBdHRyUHRyIGF0dHI7CisgICAgeG1sU2NoZW1hQW5ub3RQdHIgYW5ub3QgPSBOVUxMOworCisgICAgaWYgKChjdHh0ID09IE5VTEwpIHx8IChzY2hlbWEgPT0gTlVMTCkgfHwgKG5vZGUgPT0gTlVMTCkpCisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgLyoKKyAgICAqIENoZWNrIGZvciBpbGxlZ2FsIGF0dHJpYnV0ZXMuCisgICAgKi8KKyAgICBhdHRyID0gbm9kZS0+cHJvcGVydGllczsKKyAgICB3aGlsZSAoYXR0ciAhPSBOVUxMKSB7CisJaWYgKGF0dHItPm5zID09IE5VTEwpIHsKKwkgICAgaWYgKCgheG1sU3RyRXF1YWwoYXR0ci0+bmFtZSwgQkFEX0NBU1QgImlkIikpICYmCisJCSgheG1sU3RyRXF1YWwoYXR0ci0+bmFtZSwgQkFEX0NBU1QgIm1pbk9jY3VycyIpKSAmJgorCQkoIXhtbFN0ckVxdWFsKGF0dHItPm5hbWUsIEJBRF9DQVNUICJtYXhPY2N1cnMiKSkgJiYKKwkgICAgICAgICgheG1sU3RyRXF1YWwoYXR0ci0+bmFtZSwgQkFEX0NBU1QgIm5hbWVzcGFjZSIpKSAmJgorCQkoIXhtbFN0ckVxdWFsKGF0dHItPm5hbWUsIEJBRF9DQVNUICJwcm9jZXNzQ29udGVudHMiKSkpIHsKKwkJeG1sU2NoZW1hUElsbGVnYWxBdHRyRXJyKGN0eHQsCisJCSAgICBYTUxfU0NIRU1BUF9TNFNfQVRUUl9OT1RfQUxMT1dFRCwgTlVMTCwgYXR0cik7CisJICAgIH0KKwl9IGVsc2UgaWYgKHhtbFN0ckVxdWFsKGF0dHItPm5zLT5ocmVmLCB4bWxTY2hlbWFOcykpIHsKKwkgICAgeG1sU2NoZW1hUElsbGVnYWxBdHRyRXJyKGN0eHQsCisJCVhNTF9TQ0hFTUFQX1M0U19BVFRSX05PVF9BTExPV0VELCBOVUxMLCBhdHRyKTsKKwl9CisJYXR0ciA9IGF0dHItPm5leHQ7CisgICAgfQorICAgIHhtbFNjaGVtYVBWYWxBdHRySUQoY3R4dCwgbm9kZSwgQkFEX0NBU1QgImlkIik7CisgICAgLyoKKyAgICAqIG1pbk9jY3Vycy9tYXhPY2N1cnMuCisgICAgKi8KKyAgICBtYXggPSB4bWxHZXRNYXhPY2N1cnMoY3R4dCwgbm9kZSwgMCwgVU5CT1VOREVELCAxLAorCSIoeHM6bm9uTmVnYXRpdmVJbnRlZ2VyIHwgdW5ib3VuZGVkKSIpOworICAgIG1pbiA9IHhtbEdldE1pbk9jY3VycyhjdHh0LCBub2RlLCAwLCAtMSwgMSwKKwkieHM6bm9uTmVnYXRpdmVJbnRlZ2VyIik7CisgICAgeG1sU2NoZW1hUENoZWNrUGFydGljbGVDb3JyZWN0XzIoY3R4dCwgTlVMTCwgbm9kZSwgbWluLCBtYXgpOworICAgIC8qCisgICAgKiBDcmVhdGUgJiBwYXJzZSB0aGUgd2lsZGNhcmQuCisgICAgKi8KKyAgICB3aWxkID0geG1sU2NoZW1hQWRkV2lsZGNhcmQoY3R4dCwgc2NoZW1hLCBYTUxfU0NIRU1BX1RZUEVfQU5ZLCBub2RlKTsKKyAgICBpZiAod2lsZCA9PSBOVUxMKQorCXJldHVybiAoTlVMTCk7CisgICAgeG1sU2NoZW1hUGFyc2VXaWxkY2FyZE5zKGN0eHQsIHNjaGVtYSwgd2lsZCwgbm9kZSk7CisgICAgLyoKKyAgICAqIEFuZCBub3cgZm9yIHRoZSBjaGlsZHJlbi4uLgorICAgICovCisgICAgY2hpbGQgPSBub2RlLT5jaGlsZHJlbjsKKyAgICBpZiAoSVNfU0NIRU1BKGNoaWxkLCAiYW5ub3RhdGlvbiIpKSB7CisgICAgICAgIGFubm90ID0geG1sU2NoZW1hUGFyc2VBbm5vdGF0aW9uKGN0eHQsIGNoaWxkLCAxKTsKKyAgICAgICAgY2hpbGQgPSBjaGlsZC0+bmV4dDsKKyAgICB9CisgICAgaWYgKGNoaWxkICE9IE5VTEwpIHsKKwl4bWxTY2hlbWFQQ29udGVudEVycihjdHh0LAorCSAgICBYTUxfU0NIRU1BUF9TNFNfRUxFTV9OT1RfQUxMT1dFRCwKKwkgICAgTlVMTCwgbm9kZSwgY2hpbGQsCisJICAgIE5VTEwsICIoYW5ub3RhdGlvbj8pIik7CisgICAgfQorICAgIC8qCisgICAgKiBObyBjb21wb25lbnQgaWYgbWluT2NjdXJzPT1tYXhPY2N1cnM9PTAuCisgICAgKi8KKyAgICBpZiAoKG1pbiA9PSAwKSAmJiAobWF4ID09IDApKSB7CisJLyogRG9uJ3QgZnJlZSB0aGUgd2lsZGNhcmQsIHNpbmNlIGl0J3MgYWxyZWFkeSBvbiB0aGUgbGlzdC4gKi8KKwlyZXR1cm4gKE5VTEwpOworICAgIH0KKyAgICAvKgorICAgICogQ3JlYXRlIHRoZSBwYXJ0aWNsZS4KKyAgICAqLworICAgIHBhcnRpY2xlID0geG1sU2NoZW1hQWRkUGFydGljbGUoY3R4dCwgbm9kZSwgbWluLCBtYXgpOworICAgIGlmIChwYXJ0aWNsZSA9PSBOVUxMKQorICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIHBhcnRpY2xlLT5hbm5vdCA9IGFubm90OworICAgIHBhcnRpY2xlLT5jaGlsZHJlbiA9ICh4bWxTY2hlbWFUcmVlSXRlbVB0cikgd2lsZDsKKworICAgIHJldHVybiAocGFydGljbGUpOworfQorCisvKioKKyAqIHhtbFNjaGVtYVBhcnNlTm90YXRpb246CisgKiBAY3R4dDogIGEgc2NoZW1hIHZhbGlkYXRpb24gY29udGV4dAorICogQHNjaGVtYTogIHRoZSBzY2hlbWEgYmVpbmcgYnVpbHQKKyAqIEBub2RlOiAgYSBzdWJ0cmVlIGNvbnRhaW5pbmcgWE1MIFNjaGVtYSBpbmZvcm1hdGlvbnMKKyAqCisgKiBwYXJzZSBhIFhNTCBzY2hlbWEgTm90YXRpb24gZGVjbGFyYXRpb24KKyAqCisgKiBSZXR1cm5zIHRoZSBuZXcgc3RydWN0dXJlIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcgorICovCitzdGF0aWMgeG1sU2NoZW1hTm90YXRpb25QdHIKK3htbFNjaGVtYVBhcnNlTm90YXRpb24oeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBjdHh0LCB4bWxTY2hlbWFQdHIgc2NoZW1hLAorICAgICAgICAgICAgICAgICAgICAgICB4bWxOb2RlUHRyIG5vZGUpCit7CisgICAgY29uc3QgeG1sQ2hhciAqbmFtZTsKKyAgICB4bWxTY2hlbWFOb3RhdGlvblB0ciByZXQ7CisgICAgeG1sTm9kZVB0ciBjaGlsZCA9IE5VTEw7CisKKyAgICBpZiAoKGN0eHQgPT0gTlVMTCkgfHwgKHNjaGVtYSA9PSBOVUxMKSB8fCAobm9kZSA9PSBOVUxMKSkKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICBuYW1lID0geG1sU2NoZW1hR2V0UHJvcChjdHh0LCBub2RlLCAibmFtZSIpOworICAgIGlmIChuYW1lID09IE5VTEwpIHsKKyAgICAgICAgeG1sU2NoZW1hUEVycjIoY3R4dCwgbm9kZSwgY2hpbGQsIFhNTF9TQ0hFTUFQX05PVEFUSU9OX05PX05BTUUsCisgICAgICAgICAgICAgICAgICAgICAgICJOb3RhdGlvbiBoYXMgbm8gbmFtZVxuIiwgTlVMTCwgTlVMTCk7CisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgfQorICAgIHJldCA9IHhtbFNjaGVtYUFkZE5vdGF0aW9uKGN0eHQsIHNjaGVtYSwgbmFtZSwKKwljdHh0LT50YXJnZXROYW1lc3BhY2UsIG5vZGUpOworICAgIGlmIChyZXQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICB4bWxTY2hlbWFQVmFsQXR0cklEKGN0eHQsIG5vZGUsIEJBRF9DQVNUICJpZCIpOworCisgICAgY2hpbGQgPSBub2RlLT5jaGlsZHJlbjsKKyAgICBpZiAoSVNfU0NIRU1BKGNoaWxkLCAiYW5ub3RhdGlvbiIpKSB7CisgICAgICAgIHJldC0+YW5ub3QgPSB4bWxTY2hlbWFQYXJzZUFubm90YXRpb24oY3R4dCwgY2hpbGQsIDEpOworICAgICAgICBjaGlsZCA9IGNoaWxkLT5uZXh0OworICAgIH0KKyAgICBpZiAoY2hpbGQgIT0gTlVMTCkgeworCXhtbFNjaGVtYVBDb250ZW50RXJyKGN0eHQsCisJICAgIFhNTF9TQ0hFTUFQX1M0U19FTEVNX05PVF9BTExPV0VELAorCSAgICBOVUxMLCBub2RlLCBjaGlsZCwKKwkgICAgTlVMTCwgIihhbm5vdGF0aW9uPykiKTsKKyAgICB9CisKKyAgICByZXR1cm4gKHJldCk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hUGFyc2VBbnlBdHRyaWJ1dGU6CisgKiBAY3R4dDogIGEgc2NoZW1hIHZhbGlkYXRpb24gY29udGV4dAorICogQHNjaGVtYTogIHRoZSBzY2hlbWEgYmVpbmcgYnVpbHQKKyAqIEBub2RlOiAgYSBzdWJ0cmVlIGNvbnRhaW5pbmcgWE1MIFNjaGVtYSBpbmZvcm1hdGlvbnMKKyAqCisgKiBwYXJzZSBhIFhNTCBzY2hlbWEgQW55QXR0cnJpYnV0ZSBkZWNsYXJhdGlvbgorICogKldBUk5JTkcqIHRoaXMgaW50ZXJmYWNlIGlzIGhpZ2hseSBzdWJqZWN0IHRvIGNoYW5nZQorICoKKyAqIFJldHVybnMgYSB3aWxkY2FyZCBvciBOVUxMLgorICovCitzdGF0aWMgeG1sU2NoZW1hV2lsZGNhcmRQdHIKK3htbFNjaGVtYVBhcnNlQW55QXR0cmlidXRlKHhtbFNjaGVtYVBhcnNlckN0eHRQdHIgY3R4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFNjaGVtYVB0ciBzY2hlbWEsIHhtbE5vZGVQdHIgbm9kZSkKK3sKKyAgICB4bWxTY2hlbWFXaWxkY2FyZFB0ciByZXQ7CisgICAgeG1sTm9kZVB0ciBjaGlsZCA9IE5VTEw7CisgICAgeG1sQXR0clB0ciBhdHRyOworCisgICAgaWYgKChjdHh0ID09IE5VTEwpIHx8IChzY2hlbWEgPT0gTlVMTCkgfHwgKG5vZGUgPT0gTlVMTCkpCisgICAgICAgIHJldHVybiAoTlVMTCk7CisKKyAgICByZXQgPSB4bWxTY2hlbWFBZGRXaWxkY2FyZChjdHh0LCBzY2hlbWEsIFhNTF9TQ0hFTUFfVFlQRV9BTllfQVRUUklCVVRFLAorCW5vZGUpOworICAgIGlmIChyZXQgPT0gTlVMTCkgeworICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIH0KKyAgICAvKgorICAgICogQ2hlY2sgZm9yIGlsbGVnYWwgYXR0cmlidXRlcy4KKyAgICAqLworICAgIGF0dHIgPSBub2RlLT5wcm9wZXJ0aWVzOworICAgIHdoaWxlIChhdHRyICE9IE5VTEwpIHsKKwlpZiAoYXR0ci0+bnMgPT0gTlVMTCkgeworCSAgICBpZiAoKCF4bWxTdHJFcXVhbChhdHRyLT5uYW1lLCBCQURfQ0FTVCAiaWQiKSkgJiYKKwkgICAgICAgICgheG1sU3RyRXF1YWwoYXR0ci0+bmFtZSwgQkFEX0NBU1QgIm5hbWVzcGFjZSIpKSAmJgorCQkoIXhtbFN0ckVxdWFsKGF0dHItPm5hbWUsIEJBRF9DQVNUICJwcm9jZXNzQ29udGVudHMiKSkpIHsKKwkJeG1sU2NoZW1hUElsbGVnYWxBdHRyRXJyKGN0eHQsCisJCSAgICBYTUxfU0NIRU1BUF9TNFNfQVRUUl9OT1RfQUxMT1dFRCwgTlVMTCwgYXR0cik7CisJICAgIH0KKwl9IGVsc2UgaWYgKHhtbFN0ckVxdWFsKGF0dHItPm5zLT5ocmVmLCB4bWxTY2hlbWFOcykpIHsKKwkgICAgeG1sU2NoZW1hUElsbGVnYWxBdHRyRXJyKGN0eHQsCisJCVhNTF9TQ0hFTUFQX1M0U19BVFRSX05PVF9BTExPV0VELCBOVUxMLCBhdHRyKTsKKwl9CisJYXR0ciA9IGF0dHItPm5leHQ7CisgICAgfQorICAgIHhtbFNjaGVtYVBWYWxBdHRySUQoY3R4dCwgbm9kZSwgQkFEX0NBU1QgImlkIik7CisgICAgLyoKKyAgICAqIFBhcnNlIHRoZSBuYW1lc3BhY2UgbGlzdC4KKyAgICAqLworICAgIGlmICh4bWxTY2hlbWFQYXJzZVdpbGRjYXJkTnMoY3R4dCwgc2NoZW1hLCByZXQsIG5vZGUpICE9IDApCisJcmV0dXJuIChOVUxMKTsKKyAgICAvKgorICAgICogQW5kIG5vdyBmb3IgdGhlIGNoaWxkcmVuLi4uCisgICAgKi8KKyAgICBjaGlsZCA9IG5vZGUtPmNoaWxkcmVuOworICAgIGlmIChJU19TQ0hFTUEoY2hpbGQsICJhbm5vdGF0aW9uIikpIHsKKyAgICAgICAgcmV0LT5hbm5vdCA9IHhtbFNjaGVtYVBhcnNlQW5ub3RhdGlvbihjdHh0LCBjaGlsZCwgMSk7CisgICAgICAgIGNoaWxkID0gY2hpbGQtPm5leHQ7CisgICAgfQorICAgIGlmIChjaGlsZCAhPSBOVUxMKSB7CisJeG1sU2NoZW1hUENvbnRlbnRFcnIoY3R4dCwKKwkgICAgWE1MX1NDSEVNQVBfUzRTX0VMRU1fTk9UX0FMTE9XRUQsCisJICAgIE5VTEwsIG5vZGUsIGNoaWxkLAorCSAgICBOVUxMLCAiKGFubm90YXRpb24/KSIpOworICAgIH0KKworICAgIHJldHVybiAocmV0KTsKK30KKworCisvKioKKyAqIHhtbFNjaGVtYVBhcnNlQXR0cmlidXRlOgorICogQGN0eHQ6ICBhIHNjaGVtYSB2YWxpZGF0aW9uIGNvbnRleHQKKyAqIEBzY2hlbWE6ICB0aGUgc2NoZW1hIGJlaW5nIGJ1aWx0CisgKiBAbm9kZTogIGEgc3VidHJlZSBjb250YWluaW5nIFhNTCBTY2hlbWEgaW5mb3JtYXRpb25zCisgKgorICogcGFyc2UgYSBYTUwgc2NoZW1hIEF0dHJyaWJ1dGUgZGVjbGFyYXRpb24KKyAqICpXQVJOSU5HKiB0aGlzIGludGVyZmFjZSBpcyBoaWdobHkgc3ViamVjdCB0byBjaGFuZ2UKKyAqCisgKiBSZXR1cm5zIHRoZSBhdHRyaWJ1dGUgZGVjbGFyYXRpb24uCisgKi8KK3N0YXRpYyB4bWxTY2hlbWFCYXNpY0l0ZW1QdHIKK3htbFNjaGVtYVBhcnNlTG9jYWxBdHRyaWJ1dGUoeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBwY3R4dCwKKwkJCSAgICAgeG1sU2NoZW1hUHRyIHNjaGVtYSwKKwkJCSAgICAgeG1sTm9kZVB0ciBub2RlLAorCQkJICAgICB4bWxTY2hlbWFJdGVtTGlzdFB0ciB1c2VzLAorCQkJICAgICBpbnQgcGFyZW50VHlwZSkKK3sKKyAgICBjb25zdCB4bWxDaGFyICphdHRyVmFsdWUsICpuYW1lID0gTlVMTCwgKm5zID0gTlVMTDsKKyAgICB4bWxTY2hlbWFBdHRyaWJ1dGVVc2VQdHIgdXNlID0gTlVMTDsKKyAgICB4bWxOb2RlUHRyIGNoaWxkID0gTlVMTDsKKyAgICB4bWxBdHRyUHRyIGF0dHI7CisgICAgY29uc3QgeG1sQ2hhciAqdG1wTnMgPSBOVUxMLCAqdG1wTmFtZSA9IE5VTEwsICpkZWZWYWx1ZSA9IE5VTEw7CisgICAgaW50IGlzUmVmID0gMCwgb2NjdXJzID0gWE1MX1NDSEVNQVNfQVRUUl9VU0VfT1BUSU9OQUw7CisgICAgaW50CW5iZXJyb3JzLCBoYXNGb3JtID0gMCwgZGVmVmFsdWVUeXBlID0gMDsKKworI2RlZmluZSBXWFNfQVRUUl9ERUZfVkFMX0RFRkFVTFQgMQorI2RlZmluZSBXWFNfQVRUUl9ERUZfVkFMX0ZJWEVEIDIKKworICAgIC8qCisgICAgICogMy4yLjMgQ29uc3RyYWludHMgb24gWE1MIFJlcHJlc2VudGF0aW9ucyBvZiBBdHRyaWJ1dGUgRGVjbGFyYXRpb25zCisgICAgICovCisKKyAgICBpZiAoKHBjdHh0ID09IE5VTEwpIHx8IChzY2hlbWEgPT0gTlVMTCkgfHwgKG5vZGUgPT0gTlVMTCkpCisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgYXR0ciA9IHhtbFNjaGVtYUdldFByb3BOb2RlKG5vZGUsICJyZWYiKTsKKyAgICBpZiAoYXR0ciAhPSBOVUxMKSB7CisJaWYgKHhtbFNjaGVtYVBWYWxBdHRyTm9kZVFOYW1lKHBjdHh0LCBzY2hlbWEsCisJICAgIE5VTEwsIGF0dHIsICZ0bXBOcywgJnRtcE5hbWUpICE9IDApIHsKKwkgICAgcmV0dXJuIChOVUxMKTsKKwl9CisJaWYgKHhtbFNjaGVtYUNoZWNrUmVmZXJlbmNlKHBjdHh0LCBzY2hlbWEsIG5vZGUsIGF0dHIsIHRtcE5zKSAhPSAwKQorCSAgICByZXR1cm4oTlVMTCk7CisJaXNSZWYgPSAxOworICAgIH0KKyAgICBuYmVycm9ycyA9IHBjdHh0LT5uYmVycm9yczsKKyAgICAvKgorICAgICogQ2hlY2sgZm9yIGlsbGVnYWwgYXR0cmlidXRlcy4KKyAgICAqLworICAgIGF0dHIgPSBub2RlLT5wcm9wZXJ0aWVzOworICAgIHdoaWxlIChhdHRyICE9IE5VTEwpIHsKKwlpZiAoYXR0ci0+bnMgPT0gTlVMTCkgeworCSAgICBpZiAoaXNSZWYpIHsKKwkJaWYgKHhtbFN0ckVxdWFsKGF0dHItPm5hbWUsIEJBRF9DQVNUICJpZCIpKSB7CisJCSAgICB4bWxTY2hlbWFQVmFsQXR0ck5vZGVJRChwY3R4dCwgYXR0cik7CisJCSAgICBnb3RvIGF0dHJfbmV4dDsKKwkJfSBlbHNlIGlmICh4bWxTdHJFcXVhbChhdHRyLT5uYW1lLCBCQURfQ0FTVCAicmVmIikpIHsKKwkJICAgIGdvdG8gYXR0cl9uZXh0OworCQl9CisJICAgIH0gZWxzZSB7CisJCWlmICh4bWxTdHJFcXVhbChhdHRyLT5uYW1lLCBCQURfQ0FTVCAibmFtZSIpKSB7CisJCSAgICBnb3RvIGF0dHJfbmV4dDsKKwkJfSBlbHNlIGlmICh4bWxTdHJFcXVhbChhdHRyLT5uYW1lLCBCQURfQ0FTVCAiaWQiKSkgeworCQkgICAgeG1sU2NoZW1hUFZhbEF0dHJOb2RlSUQocGN0eHQsIGF0dHIpOworCQkgICAgZ290byBhdHRyX25leHQ7CisJCX0gZWxzZSBpZiAoeG1sU3RyRXF1YWwoYXR0ci0+bmFtZSwgQkFEX0NBU1QgInR5cGUiKSkgeworCQkgICAgeG1sU2NoZW1hUFZhbEF0dHJOb2RlUU5hbWUocGN0eHQsIHNjaGVtYSwgTlVMTCwKKwkJCWF0dHIsICZ0bXBOcywgJnRtcE5hbWUpOworCQkgICAgZ290byBhdHRyX25leHQ7CisJCX0gZWxzZSBpZiAoeG1sU3RyRXF1YWwoYXR0ci0+bmFtZSwgQkFEX0NBU1QgImZvcm0iKSkgeworCQkgICAgLyoKKwkJICAgICogRXZhbHVhdGUgdGhlIHRhcmdldCBuYW1lc3BhY2UKKwkJICAgICovCisJCSAgICBoYXNGb3JtID0gMTsKKwkJICAgIGF0dHJWYWx1ZSA9IHhtbFNjaGVtYUdldE5vZGVDb250ZW50KHBjdHh0LAorCQkJKHhtbE5vZGVQdHIpIGF0dHIpOworCQkgICAgaWYgKHhtbFN0ckVxdWFsKGF0dHJWYWx1ZSwgQkFEX0NBU1QgInF1YWxpZmllZCIpKSB7CisJCQlucyA9IHBjdHh0LT50YXJnZXROYW1lc3BhY2U7CisJCSAgICB9IGVsc2UgaWYgKCF4bWxTdHJFcXVhbChhdHRyVmFsdWUsIEJBRF9DQVNUICJ1bnF1YWxpZmllZCIpKQorCQkgICAgeworCQkJeG1sU2NoZW1hUFNpbXBsZVR5cGVFcnIocGN0eHQsCisJCQkgICAgWE1MX1NDSEVNQVBfUzRTX0FUVFJfSU5WQUxJRF9WQUxVRSwKKwkJCSAgICBOVUxMLCAoeG1sTm9kZVB0cikgYXR0ciwKKwkJCSAgICBOVUxMLCAiKHF1YWxpZmllZCB8IHVucXVhbGlmaWVkKSIsCisJCQkgICAgYXR0clZhbHVlLCBOVUxMLCBOVUxMLCBOVUxMKTsKKwkJICAgIH0KKwkJICAgIGdvdG8gYXR0cl9uZXh0OworCQl9CisJICAgIH0KKwkgICAgaWYgKHhtbFN0ckVxdWFsKGF0dHItPm5hbWUsIEJBRF9DQVNUICJ1c2UiKSkgeworCisJCWF0dHJWYWx1ZSA9IHhtbFNjaGVtYUdldE5vZGVDb250ZW50KHBjdHh0LCAoeG1sTm9kZVB0cikgYXR0cik7CisJCS8qIFRPRE86IE1heWJlIHdlIG5lZWQgdG8gbm9ybWFsaXplIHRoZSB2YWx1ZSBiZWZvcmVoYW5kLiAqLworCQlpZiAoeG1sU3RyRXF1YWwoYXR0clZhbHVlLCBCQURfQ0FTVCAib3B0aW9uYWwiKSkKKwkJICAgIG9jY3VycyA9IFhNTF9TQ0hFTUFTX0FUVFJfVVNFX09QVElPTkFMOworCQllbHNlIGlmICh4bWxTdHJFcXVhbChhdHRyVmFsdWUsIEJBRF9DQVNUICJwcm9oaWJpdGVkIikpCisJCSAgICBvY2N1cnMgPSBYTUxfU0NIRU1BU19BVFRSX1VTRV9QUk9ISUJJVEVEOworCQllbHNlIGlmICh4bWxTdHJFcXVhbChhdHRyVmFsdWUsIEJBRF9DQVNUICJyZXF1aXJlZCIpKQorCQkgICAgb2NjdXJzID0gWE1MX1NDSEVNQVNfQVRUUl9VU0VfUkVRVUlSRUQ7CisJCWVsc2UgeworCQkgICAgeG1sU2NoZW1hUFNpbXBsZVR5cGVFcnIocGN0eHQsCisJCQlYTUxfU0NIRU1BUF9JTlZBTElEX0FUVFJfVVNFLAorCQkJTlVMTCwgKHhtbE5vZGVQdHIpIGF0dHIsCisJCQlOVUxMLCAiKG9wdGlvbmFsIHwgcHJvaGliaXRlZCB8IHJlcXVpcmVkKSIsCisJCQlhdHRyVmFsdWUsIE5VTEwsIE5VTEwsIE5VTEwpOworCQl9CisJCWdvdG8gYXR0cl9uZXh0OworCSAgICB9IGVsc2UgaWYgKHhtbFN0ckVxdWFsKGF0dHItPm5hbWUsIEJBRF9DQVNUICJkZWZhdWx0IikpIHsKKwkJLyoKKwkJKiAzLjIuMyA6IDEKKwkJKiBkZWZhdWx0IGFuZCBmaXhlZCBtdXN0IG5vdCBib3RoIGJlIHByZXNlbnQuCisJCSovCisJCWlmIChkZWZWYWx1ZSkgeworCQkgICAgeG1sU2NoZW1hUE11dHVhbEV4Y2xBdHRyRXJyKHBjdHh0LAorCQkJWE1MX1NDSEVNQVBfU1JDX0FUVFJJQlVURV8xLAorCQkJTlVMTCwgYXR0ciwgImRlZmF1bHQiLCAiZml4ZWQiKTsKKwkJfSBlbHNlIHsKKwkJICAgIGRlZlZhbHVlID0geG1sU2NoZW1hR2V0Tm9kZUNvbnRlbnQocGN0eHQsICh4bWxOb2RlUHRyKSBhdHRyKTsKKwkJICAgIGRlZlZhbHVlVHlwZSA9IFdYU19BVFRSX0RFRl9WQUxfREVGQVVMVDsKKwkJfQorCQlnb3RvIGF0dHJfbmV4dDsKKwkgICAgfSBlbHNlIGlmICh4bWxTdHJFcXVhbChhdHRyLT5uYW1lLCBCQURfQ0FTVCAiZml4ZWQiKSkgeworCQkvKgorCQkqIDMuMi4zIDogMQorCQkqIGRlZmF1bHQgYW5kIGZpeGVkIG11c3Qgbm90IGJvdGggYmUgcHJlc2VudC4KKwkJKi8KKwkJaWYgKGRlZlZhbHVlKSB7CisJCSAgICB4bWxTY2hlbWFQTXV0dWFsRXhjbEF0dHJFcnIocGN0eHQsCisJCQlYTUxfU0NIRU1BUF9TUkNfQVRUUklCVVRFXzEsCisJCQlOVUxMLCBhdHRyLCAiZGVmYXVsdCIsICJmaXhlZCIpOworCQl9IGVsc2UgeworCQkgICAgZGVmVmFsdWUgPSB4bWxTY2hlbWFHZXROb2RlQ29udGVudChwY3R4dCwgKHhtbE5vZGVQdHIpIGF0dHIpOworCQkgICAgZGVmVmFsdWVUeXBlID0gV1hTX0FUVFJfREVGX1ZBTF9GSVhFRDsKKwkJfQorCQlnb3RvIGF0dHJfbmV4dDsKKwkgICAgfQorCX0gZWxzZSBpZiAoISB4bWxTdHJFcXVhbChhdHRyLT5ucy0+aHJlZiwgeG1sU2NoZW1hTnMpKQorCSAgICBnb3RvIGF0dHJfbmV4dDsKKworCXhtbFNjaGVtYVBJbGxlZ2FsQXR0ckVycihwY3R4dCwKKwkgICAgWE1MX1NDSEVNQVBfUzRTX0FUVFJfTk9UX0FMTE9XRUQsIE5VTEwsIGF0dHIpOworCithdHRyX25leHQ6CisJYXR0ciA9IGF0dHItPm5leHQ7CisgICAgfQorICAgIC8qCisgICAgKiAzLjIuMyA6IDIKKyAgICAqIElmIGRlZmF1bHQgYW5kIHVzZSBhcmUgYm90aCBwcmVzZW50LCB1c2UgbXVzdCBoYXZlCisgICAgKiB0aGUgYWN0dWFsIHZhbHVlIG9wdGlvbmFsLgorICAgICovCisgICAgaWYgKChkZWZWYWx1ZVR5cGUgPT0gV1hTX0FUVFJfREVGX1ZBTF9ERUZBVUxUKSAmJgorCShvY2N1cnMgIT0gWE1MX1NDSEVNQVNfQVRUUl9VU0VfT1BUSU9OQUwpKSB7CisJeG1sU2NoZW1hUFNpbXBsZVR5cGVFcnIocGN0eHQsCisJICAgIFhNTF9TQ0hFTUFQX1NSQ19BVFRSSUJVVEVfMiwKKwkgICAgTlVMTCwgbm9kZSwgTlVMTCwKKwkgICAgIihvcHRpb25hbCB8IHByb2hpYml0ZWQgfCByZXF1aXJlZCkiLCBOVUxMLAorCSAgICAiVGhlIHZhbHVlIG9mIHRoZSBhdHRyaWJ1dGUgJ3VzZScgbXVzdCBiZSAnb3B0aW9uYWwnICIKKwkgICAgImlmIHRoZSBhdHRyaWJ1dGUgJ2RlZmF1bHQnIGlzIHByZXNlbnQiLAorCSAgICBOVUxMLCBOVUxMKTsKKyAgICB9CisgICAgLyoKKyAgICAqIFdlIHdhbnQgY29ycmVjdCBhdHRyaWJ1dGVzLgorICAgICovCisgICAgaWYgKG5iZXJyb3JzICE9IHBjdHh0LT5uYmVycm9ycykKKwlyZXR1cm4oTlVMTCk7CisgICAgaWYgKCEgaXNSZWYpIHsKKwl4bWxTY2hlbWFBdHRyaWJ1dGVQdHIgYXR0ckRlY2w7CisKKwkvKiBUT0RPOiBtb3ZlIFhNTF9TQ0hFTUFTX1FVQUxJRl9BVFRSIHRvIHRoZSBwYXJzZXIuICovCisJaWYgKCghIGhhc0Zvcm0pICYmIChzY2hlbWEtPmZsYWdzICYgWE1MX1NDSEVNQVNfUVVBTElGX0FUVFIpKQorCSAgICBucyA9IHBjdHh0LT50YXJnZXROYW1lc3BhY2U7CisJLyoKKwkqIDMuMi42IFNjaGVtYSBDb21wb25lbnQgQ29uc3RyYWludDogeHNpOiBOb3QgQWxsb3dlZAorCSogVE9ETzogTW92ZSB0aGlzIHRvIHRoZSBjb21wb25lbnQgbGF5ZXIuCisJKi8KKwlpZiAoeG1sU3RyRXF1YWwobnMsIHhtbFNjaGVtYUluc3RhbmNlTnMpKSB7CisJICAgIHhtbFNjaGVtYUN1c3RvbUVycihBQ1RYVF9DQVNUIHBjdHh0LAorCQlYTUxfU0NIRU1BUF9OT19YU0ksCisJCW5vZGUsIE5VTEwsCisJCSJUaGUgdGFyZ2V0IG5hbWVzcGFjZSBtdXN0IG5vdCBtYXRjaCAnJXMnIiwKKwkJeG1sU2NoZW1hSW5zdGFuY2VOcywgTlVMTCk7CisJfQorCWF0dHIgPSB4bWxTY2hlbWFHZXRQcm9wTm9kZShub2RlLCAibmFtZSIpOworCWlmIChhdHRyID09IE5VTEwpIHsKKwkgICAgeG1sU2NoZW1hUE1pc3NpbmdBdHRyRXJyKHBjdHh0LCBYTUxfU0NIRU1BUF9TNFNfQVRUUl9NSVNTSU5HLAorCQlOVUxMLCBub2RlLCAibmFtZSIsIE5VTEwpOworCSAgICByZXR1cm4gKE5VTEwpOworCX0KKwlpZiAoeG1sU2NoZW1hUFZhbEF0dHJOb2RlKHBjdHh0LCBOVUxMLCBhdHRyLAorCSAgICB4bWxTY2hlbWFHZXRCdWlsdEluVHlwZShYTUxfU0NIRU1BU19OQ05BTUUpLCAmbmFtZSkgIT0gMCkgeworCSAgICByZXR1cm4gKE5VTEwpOworCX0KKwkvKgorCSogMy4yLjYgU2NoZW1hIENvbXBvbmVudCBDb25zdHJhaW50OiB4bWxucyBOb3QgQWxsb3dlZAorCSogVE9ETzogTW92ZSB0aGlzIHRvIHRoZSBjb21wb25lbnQgbGF5ZXIuCisJKi8KKwlpZiAoeG1sU3RyRXF1YWwobmFtZSwgQkFEX0NBU1QgInhtbG5zIikpIHsKKwkgICAgeG1sU2NoZW1hUFNpbXBsZVR5cGVFcnIocGN0eHQsCisJCVhNTF9TQ0hFTUFQX05PX1hNTE5TLAorCQlOVUxMLCAoeG1sTm9kZVB0cikgYXR0ciwKKwkJeG1sU2NoZW1hR2V0QnVpbHRJblR5cGUoWE1MX1NDSEVNQVNfTkNOQU1FKSwgTlVMTCwgTlVMTCwKKwkJIlRoZSB2YWx1ZSBvZiB0aGUgYXR0cmlidXRlIG11c3Qgbm90IG1hdGNoICd4bWxucyciLAorCQlOVUxMLCBOVUxMKTsKKwkgICAgcmV0dXJuIChOVUxMKTsKKwl9CisJaWYgKG9jY3VycyA9PSBYTUxfU0NIRU1BU19BVFRSX1VTRV9QUk9ISUJJVEVEKQorCSAgICBnb3RvIGNoZWNrX2NoaWxkcmVuOworCS8qCisJKiBDcmVhdGUgdGhlIGF0dHJpYnV0ZSB1c2UgY29tcG9uZW50LgorCSovCisJdXNlID0geG1sU2NoZW1hQWRkQXR0cmlidXRlVXNlKHBjdHh0LCBub2RlKTsKKwlpZiAodXNlID09IE5VTEwpCisJICAgIHJldHVybihOVUxMKTsKKwl1c2UtPm9jY3VycyA9IG9jY3VyczsKKwkvKgorCSogQ3JlYXRlIHRoZSBhdHRyaWJ1dGUgZGVjbGFyYXRpb24uCisJKi8KKwlhdHRyRGVjbCA9IHhtbFNjaGVtYUFkZEF0dHJpYnV0ZShwY3R4dCwgc2NoZW1hLCBuYW1lLCBucywgbm9kZSwgMCk7CisJaWYgKGF0dHJEZWNsID09IE5VTEwpCisJICAgIHJldHVybiAoTlVMTCk7CisJaWYgKHRtcE5hbWUgIT0gTlVMTCkgeworCSAgICBhdHRyRGVjbC0+dHlwZU5hbWUgPSB0bXBOYW1lOworCSAgICBhdHRyRGVjbC0+dHlwZU5zID0gdG1wTnM7CisJfQorCXVzZS0+YXR0ckRlY2wgPSBhdHRyRGVjbDsKKwkvKgorCSogVmFsdWUgY29uc3RyYWludC4KKwkqLworCWlmIChkZWZWYWx1ZSAhPSBOVUxMKSB7CisJICAgIGF0dHJEZWNsLT5kZWZWYWx1ZSA9IGRlZlZhbHVlOworCSAgICBpZiAoZGVmVmFsdWVUeXBlID09IFdYU19BVFRSX0RFRl9WQUxfRklYRUQpCisJCWF0dHJEZWNsLT5mbGFncyB8PSBYTUxfU0NIRU1BU19BVFRSX0ZJWEVEOworCX0KKyAgICB9IGVsc2UgaWYgKG9jY3VycyAhPSBYTUxfU0NIRU1BU19BVFRSX1VTRV9QUk9ISUJJVEVEKSB7CisJeG1sU2NoZW1hUU5hbWVSZWZQdHIgcmVmOworCisJLyoKKwkqIENyZWF0ZSB0aGUgYXR0cmlidXRlIHVzZSBjb21wb25lbnQuCisJKi8KKwl1c2UgPSB4bWxTY2hlbWFBZGRBdHRyaWJ1dGVVc2UocGN0eHQsIG5vZGUpOworCWlmICh1c2UgPT0gTlVMTCkKKwkgICAgcmV0dXJuKE5VTEwpOworCS8qCisJKiBXZSBuZWVkIHRvIHJlc29sdmUgdGhlIHJlZmVyZW5jZSBhdCBsYXRlciBzdGFnZS4KKwkqLworCVdYU19BRERfUEVORElORyhwY3R4dCwgdXNlKTsKKwl1c2UtPm9jY3VycyA9IG9jY3VyczsKKwkvKgorCSogQ3JlYXRlIGEgUU5hbWUgcmVmZXJlbmNlIHRvIHRoZSBhdHRyaWJ1dGUgZGVjbGFyYXRpb24uCisJKi8KKwlyZWYgPSB4bWxTY2hlbWFOZXdRTmFtZVJlZihwY3R4dCwgWE1MX1NDSEVNQV9UWVBFX0FUVFJJQlVURSwKKwkgICAgdG1wTmFtZSwgdG1wTnMpOworCWlmIChyZWYgPT0gTlVMTCkKKwkgICAgcmV0dXJuKE5VTEwpOworCS8qCisJKiBBc3NpZ24gdGhlIHJlZmVyZW5jZS4gVGhpcyB3aWxsIGJlIHN1YnN0aXR1dGVkIGZvciB0aGUKKwkqIHJlZmVyZW5jZWQgYXR0cmlidXRlIGRlY2xhcmF0aW9uIHdoZW4gdGhlIFFOYW1lIGlzIHJlc29sdmVkLgorCSovCisJdXNlLT5hdHRyRGVjbCA9IFdYU19BVFRSX0NBU1QgcmVmOworCS8qCisJKiBWYWx1ZSBjb25zdHJhaW50LgorCSovCisJaWYgKGRlZlZhbHVlICE9IE5VTEwpCisJICAgIHVzZS0+ZGVmVmFsdWUgPSBkZWZWYWx1ZTsKKwkgICAgaWYgKGRlZlZhbHVlVHlwZSA9PSBXWFNfQVRUUl9ERUZfVkFMX0ZJWEVEKQorCQl1c2UtPmZsYWdzIHw9IFhNTF9TQ0hFTUFfQVRUUl9VU0VfRklYRUQ7CisgICAgfQorCitjaGVja19jaGlsZHJlbjoKKyAgICAvKgorICAgICogQW5kIG5vdyBmb3IgdGhlIGNoaWxkcmVuLi4uCisgICAgKi8KKyAgICBjaGlsZCA9IG5vZGUtPmNoaWxkcmVuOworICAgIGlmIChvY2N1cnMgPT0gWE1MX1NDSEVNQVNfQVRUUl9VU0VfUFJPSElCSVRFRCkgeworCXhtbFNjaGVtYUF0dHJpYnV0ZVVzZVByb2hpYlB0ciBwcm9oaWI7CisKKwlpZiAoSVNfU0NIRU1BKGNoaWxkLCAiYW5ub3RhdGlvbiIpKSB7CisJICAgIHhtbFNjaGVtYVBhcnNlQW5ub3RhdGlvbihwY3R4dCwgY2hpbGQsIDApOworCSAgICBjaGlsZCA9IGNoaWxkLT5uZXh0OworCX0KKwlpZiAoY2hpbGQgIT0gTlVMTCkgeworCSAgICB4bWxTY2hlbWFQQ29udGVudEVycihwY3R4dCwKKwkJWE1MX1NDSEVNQVBfUzRTX0VMRU1fTk9UX0FMTE9XRUQsCisJCU5VTEwsIG5vZGUsIGNoaWxkLCBOVUxMLAorCQkiKGFubm90YXRpb24/KSIpOworCX0KKwkvKgorCSogQ2hlY2sgZm9yIHBvaW50bGVzc25lc3Mgb2YgYXR0cmlidXRlIHByb2hpYml0aW9ucy4KKwkqLworCWlmIChwYXJlbnRUeXBlID09IFhNTF9TQ0hFTUFfVFlQRV9BVFRSSUJVVEVHUk9VUCkgeworCSAgICB4bWxTY2hlbWFDdXN0b21XYXJuaW5nKEFDVFhUX0NBU1QgcGN0eHQsCisJCVhNTF9TQ0hFTUFQX1dBUk5fQVRUUl9QT0lOVExFU1NfUFJPSCwKKwkJbm9kZSwgTlVMTCwKKwkJIlNraXBwaW5nIGF0dHJpYnV0ZSB1c2UgcHJvaGliaXRpb24sIHNpbmNlIGl0IGlzICIKKwkJInBvaW50bGVzcyBpbnNpZGUgYW4gPGF0dHJpYnV0ZUdyb3VwPiIsCisJCU5VTEwsIE5VTEwsIE5VTEwpOworCSAgICByZXR1cm4oTlVMTCk7CisJfSBlbHNlIGlmIChwYXJlbnRUeXBlID09IFhNTF9TQ0hFTUFfVFlQRV9FWFRFTlNJT04pIHsKKwkgICAgeG1sU2NoZW1hQ3VzdG9tV2FybmluZyhBQ1RYVF9DQVNUIHBjdHh0LAorCQlYTUxfU0NIRU1BUF9XQVJOX0FUVFJfUE9JTlRMRVNTX1BST0gsCisJCW5vZGUsIE5VTEwsCisJCSJTa2lwcGluZyBhdHRyaWJ1dGUgdXNlIHByb2hpYml0aW9uLCBzaW5jZSBpdCBpcyAiCisJCSJwb2ludGxlc3Mgd2hlbiBleHRlbmRpbmcgYSB0eXBlIiwKKwkJTlVMTCwgTlVMTCwgTlVMTCk7CisJICAgIHJldHVybihOVUxMKTsKKwl9CisJaWYgKCEgaXNSZWYpIHsKKwkgICAgdG1wTmFtZSA9IG5hbWU7CisJICAgIHRtcE5zID0gbnM7CisJfQorCS8qCisJKiBDaGVjayBmb3IgZHVwbGljYXRlIGF0dHJpYnV0ZSBwcm9oaWJpdGlvbnMuCisJKi8KKwlpZiAodXNlcykgeworCSAgICBpbnQgaTsKKworCSAgICBmb3IgKGkgPSAwOyBpIDwgdXNlcy0+bmJJdGVtczsgaSsrKSB7CisJCXVzZSA9IHVzZXMtPml0ZW1zW2ldOworCQlpZiAoKHVzZS0+dHlwZSA9PSBYTUxfU0NIRU1BX0VYVFJBX0FUVFJfVVNFX1BST0hJQikgJiYKKwkJICAgICh0bXBOYW1lID09IChXWFNfQVRUUl9QUk9ISUJfQ0FTVCB1c2UpLT5uYW1lKSAmJgorCQkgICAgKHRtcE5zID09IChXWFNfQVRUUl9QUk9ISUJfQ0FTVCB1c2UpLT50YXJnZXROYW1lc3BhY2UpKQorCQl7CisJCSAgICB4bWxDaGFyICpzdHIgPSBOVUxMOworCisJCSAgICB4bWxTY2hlbWFDdXN0b21XYXJuaW5nKEFDVFhUX0NBU1QgcGN0eHQsCisJCQlYTUxfU0NIRU1BUF9XQVJOX0FUVFJfUE9JTlRMRVNTX1BST0gsCisJCQlub2RlLCBOVUxMLAorCQkJIlNraXBwaW5nIGR1cGxpY2F0ZSBhdHRyaWJ1dGUgdXNlIHByb2hpYml0aW9uICclcyciLAorCQkJeG1sU2NoZW1hRm9ybWF0UU5hbWUoJnN0ciwgdG1wTnMsIHRtcE5hbWUpLAorCQkJTlVMTCwgTlVMTCk7CisJCSAgICBGUkVFX0FORF9OVUxMKHN0cikKKwkJICAgIHJldHVybihOVUxMKTsKKwkJfQorCSAgICB9CisJfQorCS8qCisJKiBDcmVhdGUgdGhlIGF0dHJpYnV0ZSBwcm9oaWJpdGlvbiBoZWxwZXIgY29tcG9uZW50LgorCSovCisJcHJvaGliID0geG1sU2NoZW1hQWRkQXR0cmlidXRlVXNlUHJvaGliKHBjdHh0KTsKKwlpZiAocHJvaGliID09IE5VTEwpCisJICAgIHJldHVybihOVUxMKTsKKwlwcm9oaWItPm5vZGUgPSBub2RlOworCXByb2hpYi0+bmFtZSA9IHRtcE5hbWU7CisJcHJvaGliLT50YXJnZXROYW1lc3BhY2UgPSB0bXBOczsKKwlpZiAoaXNSZWYpIHsKKwkgICAgLyoKKwkgICAgKiBXZSBuZWVkIGF0IGxlYXN0IHRvIHJlc29sdmUgdG8gdGhlIGF0dHJpYnV0ZSBkZWNsYXJhdGlvbi4KKwkgICAgKi8KKwkgICAgV1hTX0FERF9QRU5ESU5HKHBjdHh0LCBwcm9oaWIpOworCX0KKwlyZXR1cm4oV1hTX0JBU0lDX0NBU1QgcHJvaGliKTsKKyAgICB9IGVsc2UgeworCWlmIChJU19TQ0hFTUEoY2hpbGQsICJhbm5vdGF0aW9uIikpIHsKKwkgICAgLyoKKwkgICAgKiBUT0RPOiBTaG91bGQgdGhpcyBnbyBpbnRvIHRoZSBhdHRyIGRlY2w/CisJICAgICovCisJICAgIHVzZS0+YW5ub3QgPSB4bWxTY2hlbWFQYXJzZUFubm90YXRpb24ocGN0eHQsIGNoaWxkLCAxKTsKKwkgICAgY2hpbGQgPSBjaGlsZC0+bmV4dDsKKwl9CisJaWYgKGlzUmVmKSB7CisJICAgIGlmIChjaGlsZCAhPSBOVUxMKSB7CisJCWlmIChJU19TQ0hFTUEoY2hpbGQsICJzaW1wbGVUeXBlIikpCisJCSAgICAvKgorCQkgICAgKiAzLjIuMyA6IDMuMgorCQkgICAgKiBJZiByZWYgaXMgcHJlc2VudCwgdGhlbiBhbGwgb2YgPHNpbXBsZVR5cGU+LAorCQkgICAgKiBmb3JtIGFuZCB0eXBlIG11c3QgYmUgYWJzZW50LgorCQkgICAgKi8KKwkJICAgIHhtbFNjaGVtYVBDb250ZW50RXJyKHBjdHh0LAorCQkJWE1MX1NDSEVNQVBfU1JDX0FUVFJJQlVURV8zXzIsCisJCQlOVUxMLCBub2RlLCBjaGlsZCwgTlVMTCwKKwkJCSIoYW5ub3RhdGlvbj8pIik7CisJCWVsc2UKKwkJICAgIHhtbFNjaGVtYVBDb250ZW50RXJyKHBjdHh0LAorCQkJWE1MX1NDSEVNQVBfUzRTX0VMRU1fTk9UX0FMTE9XRUQsCisJCQlOVUxMLCBub2RlLCBjaGlsZCwgTlVMTCwKKwkJCSIoYW5ub3RhdGlvbj8pIik7CisJICAgIH0KKwl9IGVsc2UgeworCSAgICBpZiAoSVNfU0NIRU1BKGNoaWxkLCAic2ltcGxlVHlwZSIpKSB7CisJCWlmIChXWFNfQVRUUlVTRV9ERUNMKHVzZSktPnR5cGVOYW1lICE9IE5VTEwpIHsKKwkJICAgIC8qCisJCSAgICAqIDMuMi4zIDogNAorCQkgICAgKiB0eXBlIGFuZCA8c2ltcGxlVHlwZT4gbXVzdCBub3QgYm90aCBiZSBwcmVzZW50LgorCQkgICAgKi8KKwkJICAgIHhtbFNjaGVtYVBDb250ZW50RXJyKHBjdHh0LCBYTUxfU0NIRU1BUF9TUkNfQVRUUklCVVRFXzQsCisJCQlOVUxMLCBub2RlLCBjaGlsZCwKKwkJCSJUaGUgYXR0cmlidXRlICd0eXBlJyBhbmQgdGhlIDxzaW1wbGVUeXBlPiBjaGlsZCAiCisJCQkiYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIsIE5VTEwpOworCQl9IGVsc2UKKwkJICAgIFdYU19BVFRSVVNFX1RZUEVERUYodXNlKSA9CisJCQl4bWxTY2hlbWFQYXJzZVNpbXBsZVR5cGUocGN0eHQsIHNjaGVtYSwgY2hpbGQsIDApOworCQljaGlsZCA9IGNoaWxkLT5uZXh0OworCSAgICB9CisJICAgIGlmIChjaGlsZCAhPSBOVUxMKQorCQl4bWxTY2hlbWFQQ29udGVudEVycihwY3R4dCwgWE1MX1NDSEVNQVBfUzRTX0VMRU1fTk9UX0FMTE9XRUQsCisJCU5VTEwsIG5vZGUsIGNoaWxkLCBOVUxMLAorCQkiKGFubm90YXRpb24/LCBzaW1wbGVUeXBlPykiKTsKKwl9CisgICAgfQorICAgIHJldHVybiAoV1hTX0JBU0lDX0NBU1QgdXNlKTsKK30KKworCitzdGF0aWMgeG1sU2NoZW1hQXR0cmlidXRlUHRyCit4bWxTY2hlbWFQYXJzZUdsb2JhbEF0dHJpYnV0ZSh4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIHBjdHh0LAorCQkJICAgICAgeG1sU2NoZW1hUHRyIHNjaGVtYSwKKwkJCSAgICAgIHhtbE5vZGVQdHIgbm9kZSkKK3sKKyAgICBjb25zdCB4bWxDaGFyICphdHRyVmFsdWU7CisgICAgeG1sU2NoZW1hQXR0cmlidXRlUHRyIHJldDsKKyAgICB4bWxOb2RlUHRyIGNoaWxkID0gTlVMTDsKKyAgICB4bWxBdHRyUHRyIGF0dHI7CisKKyAgICAvKgorICAgICAqIE5vdGUgdGhhdCB0aGUgdzNjIHNwZWMgYXNzdW1lcyB0aGUgc2NoZW1hIHRvIGJlIHZhbGlkYXRlZCB3aXRoIHNjaGVtYQorICAgICAqIGZvciBzY2hlbWFzIGJlZm9yZWhhbmQuCisgICAgICoKKyAgICAgKiAzLjIuMyBDb25zdHJhaW50cyBvbiBYTUwgUmVwcmVzZW50YXRpb25zIG9mIEF0dHJpYnV0ZSBEZWNsYXJhdGlvbnMKKyAgICAgKi8KKyAgICBpZiAoKHBjdHh0ID09IE5VTEwpIHx8IChzY2hlbWEgPT0gTlVMTCkgfHwgKG5vZGUgPT0gTlVMTCkpCisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgLyoKKyAgICAqIDMuMi4zIDogMy4xCisgICAgKiBPbmUgb2YgcmVmIG9yIG5hbWUgbXVzdCBiZSBwcmVzZW50LCBidXQgbm90IGJvdGgKKyAgICAqLworICAgIGF0dHIgPSB4bWxTY2hlbWFHZXRQcm9wTm9kZShub2RlLCAibmFtZSIpOworICAgIGlmIChhdHRyID09IE5VTEwpIHsKKwl4bWxTY2hlbWFQTWlzc2luZ0F0dHJFcnIocGN0eHQsIFhNTF9TQ0hFTUFQX1M0U19BVFRSX01JU1NJTkcsCisJICAgIE5VTEwsIG5vZGUsICJuYW1lIiwgTlVMTCk7CisJcmV0dXJuIChOVUxMKTsKKyAgICB9CisgICAgaWYgKHhtbFNjaGVtYVBWYWxBdHRyTm9kZShwY3R4dCwgTlVMTCwgYXR0ciwKKwl4bWxTY2hlbWFHZXRCdWlsdEluVHlwZShYTUxfU0NIRU1BU19OQ05BTUUpLCAmYXR0clZhbHVlKSAhPSAwKSB7CisJcmV0dXJuIChOVUxMKTsKKyAgICB9CisgICAgLyoKKyAgICAqIDMuMi42IFNjaGVtYSBDb21wb25lbnQgQ29uc3RyYWludDogeG1sbnMgTm90IEFsbG93ZWQKKyAgICAqIFRPRE86IE1vdmUgdGhpcyB0byB0aGUgY29tcG9uZW50IGxheWVyLgorICAgICovCisgICAgaWYgKHhtbFN0ckVxdWFsKGF0dHJWYWx1ZSwgQkFEX0NBU1QgInhtbG5zIikpIHsKKwl4bWxTY2hlbWFQU2ltcGxlVHlwZUVycihwY3R4dCwKKwkgICAgWE1MX1NDSEVNQVBfTk9fWE1MTlMsCisJICAgIE5VTEwsICh4bWxOb2RlUHRyKSBhdHRyLAorCSAgICB4bWxTY2hlbWFHZXRCdWlsdEluVHlwZShYTUxfU0NIRU1BU19OQ05BTUUpLCBOVUxMLCBOVUxMLAorCSAgICAiVGhlIHZhbHVlIG9mIHRoZSBhdHRyaWJ1dGUgbXVzdCBub3QgbWF0Y2ggJ3htbG5zJyIsCisJICAgIE5VTEwsIE5VTEwpOworCXJldHVybiAoTlVMTCk7CisgICAgfQorICAgIC8qCisgICAgKiAzLjIuNiBTY2hlbWEgQ29tcG9uZW50IENvbnN0cmFpbnQ6IHhzaTogTm90IEFsbG93ZWQKKyAgICAqIFRPRE86IE1vdmUgdGhpcyB0byB0aGUgY29tcG9uZW50IGxheWVyLgorICAgICogICAgICAgT3IgYmV0dGVyIGxlYXZlIGl0IGhlcmUgYW5kIGFkZCBpdCB0byB0aGUgY29tcG9uZW50IGxheWVyCisgICAgKiAgICAgICBpZiB3ZSBoYXZlIGEgc2NoZW1hIGNvbnN0cnVjdGlvbiBBUEkuCisgICAgKi8KKyAgICBpZiAoeG1sU3RyRXF1YWwocGN0eHQtPnRhcmdldE5hbWVzcGFjZSwgeG1sU2NoZW1hSW5zdGFuY2VOcykpIHsKKwl4bWxTY2hlbWFDdXN0b21FcnIoQUNUWFRfQ0FTVCBwY3R4dCwKKwkgICAgWE1MX1NDSEVNQVBfTk9fWFNJLCBub2RlLCBOVUxMLAorCSAgICAiVGhlIHRhcmdldCBuYW1lc3BhY2UgbXVzdCBub3QgbWF0Y2ggJyVzJyIsCisJICAgIHhtbFNjaGVtYUluc3RhbmNlTnMsIE5VTEwpOworICAgIH0KKworICAgIHJldCA9IHhtbFNjaGVtYUFkZEF0dHJpYnV0ZShwY3R4dCwgc2NoZW1hLCBhdHRyVmFsdWUsCisJcGN0eHQtPnRhcmdldE5hbWVzcGFjZSwgbm9kZSwgMSk7CisgICAgaWYgKHJldCA9PSBOVUxMKQorCXJldHVybiAoTlVMTCk7CisgICAgcmV0LT5mbGFncyB8PSBYTUxfU0NIRU1BU19BVFRSX0dMT0JBTDsKKworICAgIC8qCisgICAgKiBDaGVjayBmb3IgaWxsZWdhbCBhdHRyaWJ1dGVzLgorICAgICovCisgICAgYXR0ciA9IG5vZGUtPnByb3BlcnRpZXM7CisgICAgd2hpbGUgKGF0dHIgIT0gTlVMTCkgeworCWlmIChhdHRyLT5ucyA9PSBOVUxMKSB7CisJICAgIGlmICgoIXhtbFN0ckVxdWFsKGF0dHItPm5hbWUsIEJBRF9DQVNUICJpZCIpKSAmJgorCQkoIXhtbFN0ckVxdWFsKGF0dHItPm5hbWUsIEJBRF9DQVNUICJkZWZhdWx0IikpICYmCisJCSgheG1sU3RyRXF1YWwoYXR0ci0+bmFtZSwgQkFEX0NBU1QgImZpeGVkIikpICYmCisJCSgheG1sU3RyRXF1YWwoYXR0ci0+bmFtZSwgQkFEX0NBU1QgIm5hbWUiKSkgJiYKKwkJKCF4bWxTdHJFcXVhbChhdHRyLT5uYW1lLCBCQURfQ0FTVCAidHlwZSIpKSkKKwkgICAgeworCQl4bWxTY2hlbWFQSWxsZWdhbEF0dHJFcnIocGN0eHQsCisJCSAgICBYTUxfU0NIRU1BUF9TNFNfQVRUUl9OT1RfQUxMT1dFRCwgTlVMTCwgYXR0cik7CisJICAgIH0KKwl9IGVsc2UgaWYgKHhtbFN0ckVxdWFsKGF0dHItPm5zLT5ocmVmLCB4bWxTY2hlbWFOcykpIHsKKwkgICAgeG1sU2NoZW1hUElsbGVnYWxBdHRyRXJyKHBjdHh0LAorCQlYTUxfU0NIRU1BUF9TNFNfQVRUUl9OT1RfQUxMT1dFRCwgTlVMTCwgYXR0cik7CisJfQorCWF0dHIgPSBhdHRyLT5uZXh0OworICAgIH0KKyAgICB4bWxTY2hlbWFQVmFsQXR0clFOYW1lKHBjdHh0LCBzY2hlbWEsIE5VTEwsCisJbm9kZSwgInR5cGUiLCAmcmV0LT50eXBlTnMsICZyZXQtPnR5cGVOYW1lKTsKKworICAgIHhtbFNjaGVtYVBWYWxBdHRySUQocGN0eHQsIG5vZGUsIEJBRF9DQVNUICJpZCIpOworICAgIC8qCisgICAgKiBBdHRyaWJ1dGUgImZpeGVkIi4KKyAgICAqLworICAgIHJldC0+ZGVmVmFsdWUgPSB4bWxTY2hlbWFHZXRQcm9wKHBjdHh0LCBub2RlLCAiZml4ZWQiKTsKKyAgICBpZiAocmV0LT5kZWZWYWx1ZSAhPSBOVUxMKQorCXJldC0+ZmxhZ3MgfD0gWE1MX1NDSEVNQVNfQVRUUl9GSVhFRDsKKyAgICAvKgorICAgICogQXR0cmlidXRlICJkZWZhdWx0Ii4KKyAgICAqLworICAgIGF0dHIgPSB4bWxTY2hlbWFHZXRQcm9wTm9kZShub2RlLCAiZGVmYXVsdCIpOworICAgIGlmIChhdHRyICE9IE5VTEwpIHsKKwkvKgorCSogMy4yLjMgOiAxCisJKiBkZWZhdWx0IGFuZCBmaXhlZCBtdXN0IG5vdCBib3RoIGJlIHByZXNlbnQuCisJKi8KKwlpZiAocmV0LT5mbGFncyAmIFhNTF9TQ0hFTUFTX0FUVFJfRklYRUQpIHsKKwkgICAgeG1sU2NoZW1hUE11dHVhbEV4Y2xBdHRyRXJyKHBjdHh0LCBYTUxfU0NIRU1BUF9TUkNfQVRUUklCVVRFXzEsCisJCVdYU19CQVNJQ19DQVNUIHJldCwgYXR0ciwgImRlZmF1bHQiLCAiZml4ZWQiKTsKKwl9IGVsc2UKKwkgICAgcmV0LT5kZWZWYWx1ZSA9IHhtbFNjaGVtYUdldE5vZGVDb250ZW50KHBjdHh0LCAoeG1sTm9kZVB0cikgYXR0cik7CisgICAgfQorICAgIC8qCisgICAgKiBBbmQgbm93IGZvciB0aGUgY2hpbGRyZW4uLi4KKyAgICAqLworICAgIGNoaWxkID0gbm9kZS0+Y2hpbGRyZW47CisgICAgaWYgKElTX1NDSEVNQShjaGlsZCwgImFubm90YXRpb24iKSkgeworICAgICAgICByZXQtPmFubm90ID0geG1sU2NoZW1hUGFyc2VBbm5vdGF0aW9uKHBjdHh0LCBjaGlsZCwgMSk7CisgICAgICAgIGNoaWxkID0gY2hpbGQtPm5leHQ7CisgICAgfQorICAgIGlmIChJU19TQ0hFTUEoY2hpbGQsICJzaW1wbGVUeXBlIikpIHsKKwlpZiAocmV0LT50eXBlTmFtZSAhPSBOVUxMKSB7CisJICAgIC8qCisJICAgICogMy4yLjMgOiA0CisJICAgICogdHlwZSBhbmQgPHNpbXBsZVR5cGU+IG11c3Qgbm90IGJvdGggYmUgcHJlc2VudC4KKwkgICAgKi8KKwkgICAgeG1sU2NoZW1hUENvbnRlbnRFcnIocGN0eHQsIFhNTF9TQ0hFTUFQX1NSQ19BVFRSSUJVVEVfNCwKKwkJTlVMTCwgbm9kZSwgY2hpbGQsCisJCSJUaGUgYXR0cmlidXRlICd0eXBlJyBhbmQgdGhlIDxzaW1wbGVUeXBlPiBjaGlsZCAiCisJCSJhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIiwgTlVMTCk7CisJfSBlbHNlCisJICAgIHJldC0+c3VidHlwZXMgPSB4bWxTY2hlbWFQYXJzZVNpbXBsZVR5cGUocGN0eHQsIHNjaGVtYSwgY2hpbGQsIDApOworCWNoaWxkID0gY2hpbGQtPm5leHQ7CisgICAgfQorICAgIGlmIChjaGlsZCAhPSBOVUxMKQorCXhtbFNjaGVtYVBDb250ZW50RXJyKHBjdHh0LCBYTUxfU0NIRU1BUF9TNFNfRUxFTV9OT1RfQUxMT1dFRCwKKwkgICAgTlVMTCwgbm9kZSwgY2hpbGQsIE5VTEwsCisJICAgICIoYW5ub3RhdGlvbj8sIHNpbXBsZVR5cGU/KSIpOworCisgICAgcmV0dXJuIChyZXQpOworfQorCisvKioKKyAqIHhtbFNjaGVtYVBhcnNlQXR0cmlidXRlR3JvdXBSZWY6CisgKiBAY3R4dDogIGEgc2NoZW1hIHZhbGlkYXRpb24gY29udGV4dAorICogQHNjaGVtYTogIHRoZSBzY2hlbWEgYmVpbmcgYnVpbHQKKyAqIEBub2RlOiAgYSBzdWJ0cmVlIGNvbnRhaW5pbmcgWE1MIFNjaGVtYSBpbmZvcm1hdGlvbnMKKyAqCisgKiBQYXJzZSBhbiBhdHRyaWJ1dGUgZ3JvdXAgZGVmaW5pdGlvbiByZWZlcmVuY2UuCisgKiBOb3RlIHRoYXQgYSByZWZlcmVuY2UgdG8gYW4gYXR0cmlidXRlIGdyb3VwIGRvZXMgbm90CisgKiBjb3JyZXNwb25kIHRvIGFueSBjb21wb25lbnQgYXQgYWxsLgorICogKldBUk5JTkcqIHRoaXMgaW50ZXJmYWNlIGlzIGhpZ2hseSBzdWJqZWN0IHRvIGNoYW5nZQorICoKKyAqIFJldHVybnMgdGhlIGF0dHJpYnV0ZSBncm91cCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK3N0YXRpYyB4bWxTY2hlbWFRTmFtZVJlZlB0cgoreG1sU2NoZW1hUGFyc2VBdHRyaWJ1dGVHcm91cFJlZih4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIHBjdHh0LAorCQkJCXhtbFNjaGVtYVB0ciBzY2hlbWEsCisJCQkJeG1sTm9kZVB0ciBub2RlKQoreworICAgIHhtbFNjaGVtYVFOYW1lUmVmUHRyIHJldDsKKyAgICB4bWxOb2RlUHRyIGNoaWxkID0gTlVMTDsKKyAgICB4bWxBdHRyUHRyIGF0dHI7CisgICAgY29uc3QgeG1sQ2hhciAqcmVmTnMgPSBOVUxMLCAqcmVmID0gTlVMTDsKKworICAgIGlmICgocGN0eHQgPT0gTlVMTCkgfHwgKHNjaGVtYSA9PSBOVUxMKSB8fCAobm9kZSA9PSBOVUxMKSkKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKworICAgIGF0dHIgPSB4bWxTY2hlbWFHZXRQcm9wTm9kZShub2RlLCAicmVmIik7CisgICAgaWYgKGF0dHIgPT0gTlVMTCkgeworCXhtbFNjaGVtYVBNaXNzaW5nQXR0ckVycihwY3R4dCwKKwkgICAgWE1MX1NDSEVNQVBfUzRTX0FUVFJfTUlTU0lORywKKwkgICAgTlVMTCwgbm9kZSwgInJlZiIsIE5VTEwpOworCXJldHVybiAoTlVMTCk7CisgICAgfQorICAgIHhtbFNjaGVtYVBWYWxBdHRyTm9kZVFOYW1lKHBjdHh0LCBzY2hlbWEsCisJTlVMTCwgYXR0ciwgJnJlZk5zLCAmcmVmKTsKKyAgICBpZiAoeG1sU2NoZW1hQ2hlY2tSZWZlcmVuY2UocGN0eHQsIHNjaGVtYSwgbm9kZSwgYXR0ciwgcmVmTnMpICE9IDApCisJcmV0dXJuKE5VTEwpOworCisgICAgLyoKKyAgICAqIENoZWNrIGZvciBpbGxlZ2FsIGF0dHJpYnV0ZXMuCisgICAgKi8KKyAgICBhdHRyID0gbm9kZS0+cHJvcGVydGllczsKKyAgICB3aGlsZSAoYXR0ciAhPSBOVUxMKSB7CisJaWYgKGF0dHItPm5zID09IE5VTEwpIHsKKwkgICAgaWYgKCgheG1sU3RyRXF1YWwoYXR0ci0+bmFtZSwgQkFEX0NBU1QgInJlZiIpKSAmJgorCQkoIXhtbFN0ckVxdWFsKGF0dHItPm5hbWUsIEJBRF9DQVNUICJpZCIpKSkKKwkgICAgeworCQl4bWxTY2hlbWFQSWxsZWdhbEF0dHJFcnIocGN0eHQsCisJCSAgICBYTUxfU0NIRU1BUF9TNFNfQVRUUl9OT1RfQUxMT1dFRCwgTlVMTCwgYXR0cik7CisJICAgIH0KKwl9IGVsc2UgaWYgKHhtbFN0ckVxdWFsKGF0dHItPm5zLT5ocmVmLCB4bWxTY2hlbWFOcykpIHsKKwkgICAgeG1sU2NoZW1hUElsbGVnYWxBdHRyRXJyKHBjdHh0LAorCQlYTUxfU0NIRU1BUF9TNFNfQVRUUl9OT1RfQUxMT1dFRCwgTlVMTCwgYXR0cik7CisJfQorCWF0dHIgPSBhdHRyLT5uZXh0OworICAgIH0KKyAgICAvKiBBdHRyaWJ1dGUgSUQgKi8KKyAgICB4bWxTY2hlbWFQVmFsQXR0cklEKHBjdHh0LCBub2RlLCBCQURfQ0FTVCAiaWQiKTsKKworICAgIC8qCisgICAgKiBBbmQgbm93IGZvciB0aGUgY2hpbGRyZW4uLi4KKyAgICAqLworICAgIGNoaWxkID0gbm9kZS0+Y2hpbGRyZW47CisgICAgaWYgKElTX1NDSEVNQShjaGlsZCwgImFubm90YXRpb24iKSkgeworCS8qCisJKiBUT0RPOiBXZSBkbyBub3QgaGF2ZSBhIHBsYWNlIHRvIHN0b3JlIHRoZSBhbm5vdGF0aW9uLCBkbyB3ZT8KKwkqLworICAgICAgICB4bWxTY2hlbWFQYXJzZUFubm90YXRpb24ocGN0eHQsIGNoaWxkLCAwKTsKKyAgICAgICAgY2hpbGQgPSBjaGlsZC0+bmV4dDsKKyAgICB9CisgICAgaWYgKGNoaWxkICE9IE5VTEwpIHsKKwl4bWxTY2hlbWFQQ29udGVudEVycihwY3R4dCwKKwkgICAgWE1MX1NDSEVNQVBfUzRTX0VMRU1fTk9UX0FMTE9XRUQsCisJICAgIE5VTEwsIG5vZGUsIGNoaWxkLCBOVUxMLAorCSAgICAiKGFubm90YXRpb24/KSIpOworICAgIH0KKworICAgIC8qCisgICAgKiBIYW5kbGUgYXR0cmlidXRlIGdyb3VwIHJlZGVmaW5pdGlvbnMuCisgICAgKi8KKyAgICBpZiAocGN0eHQtPmlzUmVkZWZpbmUgJiYgcGN0eHQtPnJlZGVmICYmCisJKHBjdHh0LT5yZWRlZi0+aXRlbS0+dHlwZSA9PQorCSAgICBYTUxfU0NIRU1BX1RZUEVfQVRUUklCVVRFR1JPVVApICYmCisJKHJlZiA9PSBwY3R4dC0+cmVkZWYtPnJlZk5hbWUpICYmCisJKHJlZk5zID09IHBjdHh0LT5yZWRlZi0+cmVmVGFyZ2V0TnMpKQorICAgIHsKKwkvKgorCSogU1BFQyBzcmMtcmVkZWZpbmU6CisJKiAoNy4xKSAiSWYgaXQgaGFzIGFuIDxhdHRyaWJ1dGVHcm91cD4gYW1vbmcgaXRzIGNvbnRlbnRzCisJKiB0aGUgYGFjdHVhbCB2YWx1ZWAgb2Ygd2hvc2UgcmVmIFthdHRyaWJ1dGVdIGlzIHRoZSBzYW1lCisJKiBhcyB0aGUgYGFjdHVhbCB2YWx1ZWAgb2YgaXRzIG93biBuYW1lIGF0dHJpYnV0ZSBwbHVzCisJKiB0YXJnZXQgbmFtZXNwYWNlLCB0aGVuIGl0IG11c3QgaGF2ZSBleGFjdGx5IG9uZSBzdWNoIGdyb3VwLiIKKwkqLworCWlmIChwY3R4dC0+cmVkZWZDb3VudGVyICE9IDApIHsKKwkgICAgeG1sQ2hhciAqc3RyID0gTlVMTDsKKworCSAgICB4bWxTY2hlbWFDdXN0b21FcnIoQUNUWFRfQ0FTVCBwY3R4dCwKKwkJWE1MX1NDSEVNQVBfU1JDX1JFREVGSU5FLCBub2RlLCBOVUxMLAorCQkiVGhlIHJlZGVmaW5pbmcgYXR0cmlidXRlIGdyb3VwIGRlZmluaXRpb24gIgorCQkiJyVzJyBtdXN0IG5vdCBjb250YWluIG1vcmUgdGhhbiBvbmUgIgorCQkicmVmZXJlbmNlIHRvIHRoZSByZWRlZmluZWQgZGVmaW5pdGlvbiIsCisJCXhtbFNjaGVtYUZvcm1hdFFOYW1lKCZzdHIsIHJlZk5zLCByZWYpLCBOVUxMKTsKKwkgICAgRlJFRV9BTkRfTlVMTChzdHIpOworCSAgICByZXR1cm4oTlVMTCk7CisJfQorCXBjdHh0LT5yZWRlZkNvdW50ZXIrKzsKKwkvKgorCSogVVJHRU5UIFRPRE86IEhvdyB0byBlbnN1cmUgdGhhdCB0aGUgcmVmZXJlbmNlIHdpbGwgbm90IGJlCisJKiBoYW5kbGVkIGJ5IHRoZSBub3JtYWwgY29tcG9uZW50IHJlc29sdXRpb24gbWVjaGFuaXNtPworCSovCisJcmV0ID0geG1sU2NoZW1hTmV3UU5hbWVSZWYocGN0eHQsCisJICAgIFhNTF9TQ0hFTUFfVFlQRV9BVFRSSUJVVEVHUk9VUCwgcmVmLCByZWZOcyk7CisJaWYgKHJldCA9PSBOVUxMKQorCSAgICByZXR1cm4oTlVMTCk7CisJcmV0LT5ub2RlID0gbm9kZTsKKwlwY3R4dC0+cmVkZWYtPnJlZmVyZW5jZSA9IFdYU19CQVNJQ19DQVNUIHJldDsKKyAgICB9IGVsc2UgeworCS8qCisJKiBDcmVhdGUgYSBRTmFtZS1yZWZlcmVuY2UgaGVscGVyIGNvbXBvbmVudC4gV2Ugd2lsbCBzdWJzdGl0dXRlIHRoaXMKKwkqIGNvbXBvbmVudCBmb3IgdGhlIGF0dHJpYnV0ZSB1c2VzIG9mIHRoZSByZWZlcmVuY2VkIGF0dHJpYnV0ZSBncm91cAorCSogZGVmaW5pdGlvbi4KKwkqLworCXJldCA9IHhtbFNjaGVtYU5ld1FOYW1lUmVmKHBjdHh0LAorCSAgICBYTUxfU0NIRU1BX1RZUEVfQVRUUklCVVRFR1JPVVAsIHJlZiwgcmVmTnMpOworCWlmIChyZXQgPT0gTlVMTCkKKwkgICAgcmV0dXJuKE5VTEwpOworCXJldC0+bm9kZSA9IG5vZGU7CisJLyogQWRkIHRvIHBlbmRpbmcgaXRlbXMsIHRvIGJlIGFibGUgdG8gcmVzb2x2ZSB0aGUgcmVmZXJlbmNlLiAqLworCVdYU19BRERfUEVORElORyhwY3R4dCwgcmV0KTsKKyAgICB9CisgICAgcmV0dXJuIChyZXQpOworfQorCisvKioKKyAqIHhtbFNjaGVtYVBhcnNlQXR0cmlidXRlR3JvdXBEZWZpbml0aW9uOgorICogQHBjdHh0OiAgYSBzY2hlbWEgdmFsaWRhdGlvbiBjb250ZXh0CisgKiBAc2NoZW1hOiAgdGhlIHNjaGVtYSBiZWluZyBidWlsdAorICogQG5vZGU6ICBhIHN1YnRyZWUgY29udGFpbmluZyBYTUwgU2NoZW1hIGluZm9ybWF0aW9ucworICoKKyAqIHBhcnNlIGEgWE1MIHNjaGVtYSBBdHRyaWJ1dGUgR3JvdXAgZGVjbGFyYXRpb24KKyAqICpXQVJOSU5HKiB0aGlzIGludGVyZmFjZSBpcyBoaWdobHkgc3ViamVjdCB0byBjaGFuZ2UKKyAqCisgKiBSZXR1cm5zIHRoZSBhdHRyaWJ1dGUgZ3JvdXAgZGVmaW5pdGlvbiBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK3N0YXRpYyB4bWxTY2hlbWFBdHRyaWJ1dGVHcm91cFB0cgoreG1sU2NoZW1hUGFyc2VBdHRyaWJ1dGVHcm91cERlZmluaXRpb24oeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBwY3R4dCwKKwkJCQkgICAgICAgeG1sU2NoZW1hUHRyIHNjaGVtYSwKKwkJCQkgICAgICAgeG1sTm9kZVB0ciBub2RlKQoreworICAgIGNvbnN0IHhtbENoYXIgKm5hbWU7CisgICAgeG1sU2NoZW1hQXR0cmlidXRlR3JvdXBQdHIgcmV0OworICAgIHhtbE5vZGVQdHIgY2hpbGQgPSBOVUxMOworICAgIHhtbEF0dHJQdHIgYXR0cjsKKyAgICBpbnQgaGFzUmVmcyA9IDA7CisKKyAgICBpZiAoKHBjdHh0ID09IE5VTEwpIHx8IChzY2hlbWEgPT0gTlVMTCkgfHwgKG5vZGUgPT0gTlVMTCkpCisgICAgICAgIHJldHVybiAoTlVMTCk7CisKKyAgICBhdHRyID0geG1sU2NoZW1hR2V0UHJvcE5vZGUobm9kZSwgIm5hbWUiKTsKKyAgICBpZiAoYXR0ciA9PSBOVUxMKSB7CisJeG1sU2NoZW1hUE1pc3NpbmdBdHRyRXJyKHBjdHh0LAorCSAgICBYTUxfU0NIRU1BUF9TNFNfQVRUUl9NSVNTSU5HLAorCSAgICBOVUxMLCBub2RlLCAibmFtZSIsIE5VTEwpOworCXJldHVybiAoTlVMTCk7CisgICAgfQorICAgIC8qCisgICAgKiBUaGUgbmFtZSBpcyBjcnVjaWFsLCBleGl0IGlmIGludmFsaWQuCisgICAgKi8KKyAgICBpZiAoeG1sU2NoZW1hUFZhbEF0dHJOb2RlKHBjdHh0LAorCU5VTEwsIGF0dHIsCisJeG1sU2NoZW1hR2V0QnVpbHRJblR5cGUoWE1MX1NDSEVNQVNfTkNOQU1FKSwgJm5hbWUpICE9IDApIHsKKwlyZXR1cm4gKE5VTEwpOworICAgIH0KKyAgICByZXQgPSB4bWxTY2hlbWFBZGRBdHRyaWJ1dGVHcm91cERlZmluaXRpb24ocGN0eHQsIHNjaGVtYSwKKwluYW1lLCBwY3R4dC0+dGFyZ2V0TmFtZXNwYWNlLCBub2RlKTsKKyAgICBpZiAocmV0ID09IE5VTEwpCisJcmV0dXJuIChOVUxMKTsKKyAgICAvKgorICAgICogQ2hlY2sgZm9yIGlsbGVnYWwgYXR0cmlidXRlcy4KKyAgICAqLworICAgIGF0dHIgPSBub2RlLT5wcm9wZXJ0aWVzOworICAgIHdoaWxlIChhdHRyICE9IE5VTEwpIHsKKwlpZiAoYXR0ci0+bnMgPT0gTlVMTCkgeworCSAgICBpZiAoKCF4bWxTdHJFcXVhbChhdHRyLT5uYW1lLCBCQURfQ0FTVCAibmFtZSIpKSAmJgorCQkoIXhtbFN0ckVxdWFsKGF0dHItPm5hbWUsIEJBRF9DQVNUICJpZCIpKSkKKwkgICAgeworCQl4bWxTY2hlbWFQSWxsZWdhbEF0dHJFcnIocGN0eHQsCisJCSAgICBYTUxfU0NIRU1BUF9TNFNfQVRUUl9OT1RfQUxMT1dFRCwgTlVMTCwgYXR0cik7CisJICAgIH0KKwl9IGVsc2UgaWYgKHhtbFN0ckVxdWFsKGF0dHItPm5zLT5ocmVmLCB4bWxTY2hlbWFOcykpIHsKKwkgICAgeG1sU2NoZW1hUElsbGVnYWxBdHRyRXJyKHBjdHh0LAorCQlYTUxfU0NIRU1BUF9TNFNfQVRUUl9OT1RfQUxMT1dFRCwgTlVMTCwgYXR0cik7CisJfQorCWF0dHIgPSBhdHRyLT5uZXh0OworICAgIH0KKyAgICAvKiBBdHRyaWJ1dGUgSUQgKi8KKyAgICB4bWxTY2hlbWFQVmFsQXR0cklEKHBjdHh0LCBub2RlLCBCQURfQ0FTVCAiaWQiKTsKKyAgICAvKgorICAgICogQW5kIG5vdyBmb3IgdGhlIGNoaWxkcmVuLi4uCisgICAgKi8KKyAgICBjaGlsZCA9IG5vZGUtPmNoaWxkcmVuOworICAgIGlmIChJU19TQ0hFTUEoY2hpbGQsICJhbm5vdGF0aW9uIikpIHsKKyAgICAgICAgcmV0LT5hbm5vdCA9IHhtbFNjaGVtYVBhcnNlQW5ub3RhdGlvbihwY3R4dCwgY2hpbGQsIDEpOworICAgICAgICBjaGlsZCA9IGNoaWxkLT5uZXh0OworICAgIH0KKyAgICAvKgorICAgICogUGFyc2UgY29udGFpbmVkIGF0dHJpYnV0ZSBkZWNscy9yZWZzLgorICAgICovCisgICAgaWYgKHhtbFNjaGVtYVBhcnNlTG9jYWxBdHRyaWJ1dGVzKHBjdHh0LCBzY2hlbWEsICZjaGlsZCwKKwkoeG1sU2NoZW1hSXRlbUxpc3RQdHIgKikgJihyZXQtPmF0dHJVc2VzKSwKKwlYTUxfU0NIRU1BX1RZUEVfQVRUUklCVVRFR1JPVVAsICZoYXNSZWZzKSA9PSAtMSkKKwlyZXR1cm4oTlVMTCk7CisgICAgaWYgKGhhc1JlZnMpCisJcmV0LT5mbGFncyB8PSBYTUxfU0NIRU1BU19BVFRSR1JPVVBfSEFTX1JFRlM7CisgICAgLyoKKyAgICAqIFBhcnNlIHRoZSBhdHRyaWJ1dGUgd2lsZGNhcmQuCisgICAgKi8KKyAgICBpZiAoSVNfU0NIRU1BKGNoaWxkLCAiYW55QXR0cmlidXRlIikpIHsKKwlyZXQtPmF0dHJpYnV0ZVdpbGRjYXJkID0geG1sU2NoZW1hUGFyc2VBbnlBdHRyaWJ1dGUocGN0eHQsCisJICAgIHNjaGVtYSwgY2hpbGQpOworCWNoaWxkID0gY2hpbGQtPm5leHQ7CisgICAgfQorICAgIGlmIChjaGlsZCAhPSBOVUxMKSB7CisJeG1sU2NoZW1hUENvbnRlbnRFcnIocGN0eHQsCisJICAgIFhNTF9TQ0hFTUFQX1M0U19FTEVNX05PVF9BTExPV0VELAorCSAgICBOVUxMLCBub2RlLCBjaGlsZCwgTlVMTCwKKwkgICAgIihhbm5vdGF0aW9uPywgKChhdHRyaWJ1dGUgfCBhdHRyaWJ1dGVHcm91cCkqLCBhbnlBdHRyaWJ1dGU/KSkiKTsKKyAgICB9CisgICAgcmV0dXJuIChyZXQpOworfQorCisvKioKKyAqIHhtbFNjaGVtYVBWYWxBdHRyRm9ybURlZmF1bHQ6CisgKiBAdmFsdWU6ICB0aGUgdmFsdWUKKyAqIEBmbGFnczogdGhlIGZsYWdzIHRvIGJlIG1vZGlmaWVkCisgKiBAZmxhZ1F1YWxpZmllZDogdGhlIHNwZWNpZmljIGZsYWcgZm9yICJxdWFsaWZpZWQiCisgKgorICogUmV0dXJucyAwIGlmIHRoZSB2YWx1ZSBpcyB2YWxpZCwgMSBvdGhlcndpc2UuCisgKi8KK3N0YXRpYyBpbnQKK3htbFNjaGVtYVBWYWxBdHRyRm9ybURlZmF1bHQoY29uc3QgeG1sQ2hhciAqdmFsdWUsCisJCQkgICAgIGludCAqZmxhZ3MsCisJCQkgICAgIGludCBmbGFnUXVhbGlmaWVkKQoreworICAgIGlmICh4bWxTdHJFcXVhbCh2YWx1ZSwgQkFEX0NBU1QgInF1YWxpZmllZCIpKSB7CisJaWYgICgoKmZsYWdzICYgZmxhZ1F1YWxpZmllZCkgPT0gMCkKKwkgICAgKmZsYWdzIHw9IGZsYWdRdWFsaWZpZWQ7CisgICAgfSBlbHNlIGlmICgheG1sU3RyRXF1YWwodmFsdWUsIEJBRF9DQVNUICJ1bnF1YWxpZmllZCIpKQorCXJldHVybiAoMSk7CisKKyAgICByZXR1cm4gKDApOworfQorCisvKioKKyAqIHhtbFNjaGVtYVBWYWxBdHRyQmxvY2tGaW5hbDoKKyAqIEB2YWx1ZTogIHRoZSB2YWx1ZQorICogQGZsYWdzOiB0aGUgZmxhZ3MgdG8gYmUgbW9kaWZpZWQKKyAqIEBmbGFnQWxsOiB0aGUgc3BlY2lmaWMgZmxhZyBmb3IgIiNhbGwiCisgKiBAZmxhZ0V4dGVuc2lvbjogdGhlIHNwZWNpZmljIGZsYWcgZm9yICJleHRlbnNpb24iCisgKiBAZmxhZ1Jlc3RyaWN0aW9uOiB0aGUgc3BlY2lmaWMgZmxhZyBmb3IgInJlc3RyaWN0aW9uIgorICogQGZsYWdTdWJzdGl0dXRpb246IHRoZSBzcGVjaWZpYyBmbGFnIGZvciAic3Vic3RpdHV0aW9uIgorICogQGZsYWdMaXN0OiB0aGUgc3BlY2lmaWMgZmxhZyBmb3IgImxpc3QiCisgKiBAZmxhZ1VuaW9uOiB0aGUgc3BlY2lmaWMgZmxhZyBmb3IgInVuaW9uIgorICoKKyAqIFZhbGlkYXRlcyB0aGUgdmFsdWUgb2YgdGhlIGF0dHJpYnV0ZSAiZmluYWwiIGFuZCAiYmxvY2siLiBUaGUgdmFsdWUKKyAqIGlzIGNvbnZlcnRlZCBpbnRvIHRoZSBzcGVjaWZpZWQgZmxhZyB2YWx1ZXMgYW5kIHJldHVybmVkIGluIEBmbGFncy4KKyAqCisgKiBSZXR1cm5zIDAgaWYgdGhlIHZhbHVlIGlzIHZhbGlkLCAxIG90aGVyd2lzZS4KKyAqLworCitzdGF0aWMgaW50Cit4bWxTY2hlbWFQVmFsQXR0ckJsb2NrRmluYWwoY29uc3QgeG1sQ2hhciAqdmFsdWUsCisJCQkgICAgaW50ICpmbGFncywKKwkJCSAgICBpbnQgZmxhZ0FsbCwKKwkJCSAgICBpbnQgZmxhZ0V4dGVuc2lvbiwKKwkJCSAgICBpbnQgZmxhZ1Jlc3RyaWN0aW9uLAorCQkJICAgIGludCBmbGFnU3Vic3RpdHV0aW9uLAorCQkJICAgIGludCBmbGFnTGlzdCwKKwkJCSAgICBpbnQgZmxhZ1VuaW9uKQoreworICAgIGludCByZXQgPSAwOworCisgICAgLyoKKyAgICAqIFRPRE86IFRoaXMgZG9lcyBub3QgY2hlY2sgZm9yIGR1YmxpY2F0ZSBlbnRyaWVzLgorICAgICovCisgICAgaWYgKChmbGFncyA9PSBOVUxMKSB8fCAodmFsdWUgPT0gTlVMTCkpCisJcmV0dXJuICgtMSk7CisgICAgaWYgKHZhbHVlWzBdID09IDApCisJcmV0dXJuICgwKTsKKyAgICBpZiAoeG1sU3RyRXF1YWwodmFsdWUsIEJBRF9DQVNUICIjYWxsIikpIHsKKwlpZiAoZmxhZ0FsbCAhPSAtMSkKKwkgICAgKmZsYWdzIHw9IGZsYWdBbGw7CisJZWxzZSB7CisJICAgIGlmIChmbGFnRXh0ZW5zaW9uICE9IC0xKQorCQkqZmxhZ3MgfD0gZmxhZ0V4dGVuc2lvbjsKKwkgICAgaWYgKGZsYWdSZXN0cmljdGlvbiAhPSAtMSkKKwkJKmZsYWdzIHw9IGZsYWdSZXN0cmljdGlvbjsKKwkgICAgaWYgKGZsYWdTdWJzdGl0dXRpb24gIT0gLTEpCisJCSpmbGFncyB8PSBmbGFnU3Vic3RpdHV0aW9uOworCSAgICBpZiAoZmxhZ0xpc3QgIT0gLTEpCisJCSpmbGFncyB8PSBmbGFnTGlzdDsKKwkgICAgaWYgKGZsYWdVbmlvbiAhPSAtMSkKKwkJKmZsYWdzIHw9IGZsYWdVbmlvbjsKKwl9CisgICAgfSBlbHNlIHsKKwljb25zdCB4bWxDaGFyICplbmQsICpjdXIgPSB2YWx1ZTsKKwl4bWxDaGFyICppdGVtOworCisJZG8geworCSAgICB3aGlsZSAoSVNfQkxBTktfQ0goKmN1cikpCisJCWN1cisrOworCSAgICBlbmQgPSBjdXI7CisJICAgIHdoaWxlICgoKmVuZCAhPSAwKSAmJiAoIShJU19CTEFOS19DSCgqZW5kKSkpKQorCQllbmQrKzsKKwkgICAgaWYgKGVuZCA9PSBjdXIpCisJCWJyZWFrOworCSAgICBpdGVtID0geG1sU3RybmR1cChjdXIsIGVuZCAtIGN1cik7CisJICAgIGlmICh4bWxTdHJFcXVhbChpdGVtLCBCQURfQ0FTVCAiZXh0ZW5zaW9uIikpIHsKKwkJaWYgKGZsYWdFeHRlbnNpb24gIT0gLTEpIHsKKwkJICAgIGlmICgoKmZsYWdzICYgZmxhZ0V4dGVuc2lvbikgPT0gMCkKKwkJCSpmbGFncyB8PSBmbGFnRXh0ZW5zaW9uOworCQl9IGVsc2UKKwkJICAgIHJldCA9IDE7CisJICAgIH0gZWxzZSBpZiAoeG1sU3RyRXF1YWwoaXRlbSwgQkFEX0NBU1QgInJlc3RyaWN0aW9uIikpIHsKKwkJaWYgKGZsYWdSZXN0cmljdGlvbiAhPSAtMSkgeworCQkgICAgaWYgKCgqZmxhZ3MgJiBmbGFnUmVzdHJpY3Rpb24pID09IDApCisJCQkqZmxhZ3MgfD0gZmxhZ1Jlc3RyaWN0aW9uOworCQl9IGVsc2UKKwkJICAgIHJldCA9IDE7CisJICAgIH0gZWxzZSBpZiAoeG1sU3RyRXF1YWwoaXRlbSwgQkFEX0NBU1QgInN1YnN0aXR1dGlvbiIpKSB7CisJCWlmIChmbGFnU3Vic3RpdHV0aW9uICE9IC0xKSB7CisJCSAgICBpZiAoKCpmbGFncyAmIGZsYWdTdWJzdGl0dXRpb24pID09IDApCisJCQkqZmxhZ3MgfD0gZmxhZ1N1YnN0aXR1dGlvbjsKKwkJfSBlbHNlCisJCSAgICByZXQgPSAxOworCSAgICB9IGVsc2UgaWYgKHhtbFN0ckVxdWFsKGl0ZW0sIEJBRF9DQVNUICJsaXN0IikpIHsKKwkJaWYgKGZsYWdMaXN0ICE9IC0xKSB7CisJCSAgICBpZiAoKCpmbGFncyAmIGZsYWdMaXN0KSA9PSAwKQorCQkJKmZsYWdzIHw9IGZsYWdMaXN0OworCQl9IGVsc2UKKwkJICAgIHJldCA9IDE7CisJICAgIH0gZWxzZSBpZiAoeG1sU3RyRXF1YWwoaXRlbSwgQkFEX0NBU1QgInVuaW9uIikpIHsKKwkJaWYgKGZsYWdVbmlvbiAhPSAtMSkgeworCQkgICAgaWYgKCgqZmxhZ3MgJiBmbGFnVW5pb24pID09IDApCisJCQkqZmxhZ3MgfD0gZmxhZ1VuaW9uOworCQl9IGVsc2UKKwkJICAgIHJldCA9IDE7CisJICAgIH0gZWxzZQorCQlyZXQgPSAxOworCSAgICBpZiAoaXRlbSAhPSBOVUxMKQorCQl4bWxGcmVlKGl0ZW0pOworCSAgICBjdXIgPSBlbmQ7CisJfSB3aGlsZSAoKHJldCA9PSAwKSAmJiAoKmN1ciAhPSAwKSk7CisgICAgfQorCisgICAgcmV0dXJuIChyZXQpOworfQorCitzdGF0aWMgaW50Cit4bWxTY2hlbWFDaGVja0NTZWxlY3RvclhQYXRoKHhtbFNjaGVtYVBhcnNlckN0eHRQdHIgY3R4dCwKKwkJCSAgICAgeG1sU2NoZW1hSURDUHRyIGlkYywKKwkJCSAgICAgeG1sU2NoZW1hSURDU2VsZWN0UHRyIHNlbGVjdG9yLAorCQkJICAgICB4bWxBdHRyUHRyIGF0dHIsCisJCQkgICAgIGludCBpc0ZpZWxkKQoreworICAgIHhtbE5vZGVQdHIgbm9kZTsKKworICAgIC8qCisgICAgKiBjLXNlbGVjdG9yLXhwYXRoOgorICAgICogU2NoZW1hIENvbXBvbmVudCBDb25zdHJhaW50OiBTZWxlY3RvciBWYWx1ZSBPSworICAgICoKKyAgICAqIFRPRE86IDEgVGhlIHtzZWxlY3Rvcn0gbXVzdCBiZSBhIHZhbGlkIFhQYXRoIGV4cHJlc3Npb24sIGFzIGRlZmluZWQKKyAgICAqIGluIFtYUGF0aF0uCisgICAgKi8KKyAgICBpZiAoc2VsZWN0b3IgPT0gTlVMTCkgeworCXhtbFNjaGVtYVBFcnIoY3R4dCwgaWRjLT5ub2RlLAorCSAgICBYTUxfU0NIRU1BUF9JTlRFUk5BTCwKKwkgICAgIkludGVybmFsIGVycm9yOiB4bWxTY2hlbWFDaGVja0NTZWxlY3RvclhQYXRoLCAiCisJICAgICJ0aGUgc2VsZWN0b3IgaXMgbm90IHNwZWNpZmllZC5cbiIsIE5VTEwsIE5VTEwpOworCXJldHVybiAoLTEpOworICAgIH0KKyAgICBpZiAoYXR0ciA9PSBOVUxMKQorCW5vZGUgPSBpZGMtPm5vZGU7CisgICAgZWxzZQorCW5vZGUgPSAoeG1sTm9kZVB0cikgYXR0cjsKKyAgICBpZiAoc2VsZWN0b3ItPnhwYXRoID09IE5VTEwpIHsKKwl4bWxTY2hlbWFQQ3VzdG9tRXJyKGN0eHQsCisJICAgIC8qIFRPRE86IEFkanVzdCBlcnJvciBjb2RlLiAqLworCSAgICBYTUxfU0NIRU1BUF9TNFNfQVRUUl9JTlZBTElEX1ZBTFVFLAorCSAgICBOVUxMLCBub2RlLAorCSAgICAiVGhlIFhQYXRoIGV4cHJlc3Npb24gb2YgdGhlIHNlbGVjdG9yIGlzIG5vdCB2YWxpZCIsIE5VTEwpOworCXJldHVybiAoWE1MX1NDSEVNQVBfUzRTX0FUVFJfSU5WQUxJRF9WQUxVRSk7CisgICAgfSBlbHNlIHsKKwljb25zdCB4bWxDaGFyICoqbnNBcnJheSA9IE5VTEw7CisJeG1sTnNQdHIgKm5zTGlzdCA9IE5VTEw7CisJLyoKKwkqIENvbXBpbGUgdGhlIFhQYXRoIGV4cHJlc3Npb24uCisJKi8KKwkvKgorCSogVE9ETzogV2UgbmVlZCB0aGUgYXJyYXkgb2YgaW4tc2NvcGUgbmFtZXNwYWNlcyBmb3IgY29tcGlsYXRpb24uCisJKiBUT0RPOiBDYWxsIHhtbFBhdHRlcm5jb21waWxlIHdpdGggZGlmZmVyZW50IG9wdGlvbnMgZm9yIHNlbGVjdG9yLworCSogZmllbGQuCisJKi8KKwlpZiAoYXR0ciA9PSBOVUxMKQorCSAgICBuc0xpc3QgPSBOVUxMOworCWVsc2UKKwkgICAgbnNMaXN0ID0geG1sR2V0TnNMaXN0KGF0dHItPmRvYywgYXR0ci0+cGFyZW50KTsKKwkvKgorCSogQnVpbGQgYW4gYXJyYXkgb2YgcHJlZml4ZXMgYW5kIG5hbWVzcGFjZXMuCisJKi8KKwlpZiAobnNMaXN0ICE9IE5VTEwpIHsKKwkgICAgaW50IGksIGNvdW50ID0gMDsKKworCSAgICBmb3IgKGkgPSAwOyBuc0xpc3RbaV0gIT0gTlVMTDsgaSsrKQorCQljb3VudCsrOworCisJICAgIG5zQXJyYXkgPSAoY29uc3QgeG1sQ2hhciAqKikgeG1sTWFsbG9jKAorCQkoY291bnQgKiAyICsgMSkgKiBzaXplb2YoY29uc3QgeG1sQ2hhciAqKSk7CisJICAgIGlmIChuc0FycmF5ID09IE5VTEwpIHsKKwkJeG1sU2NoZW1hUEVyck1lbW9yeShjdHh0LCAiYWxsb2NhdGluZyBhIG5hbWVzcGFjZSBhcnJheSIsCisJCSAgICBOVUxMKTsKKwkJeG1sRnJlZShuc0xpc3QpOworCQlyZXR1cm4gKC0xKTsKKwkgICAgfQorCSAgICBmb3IgKGkgPSAwOyBpIDwgY291bnQ7IGkrKykgeworCQluc0FycmF5WzIgKiBpXSA9IG5zTGlzdFtpXS0+aHJlZjsKKwkJbnNBcnJheVsyICogaSArIDFdID0gbnNMaXN0W2ldLT5wcmVmaXg7CisJICAgIH0KKwkgICAgbnNBcnJheVtjb3VudCAqIDJdID0gTlVMTDsKKwkgICAgeG1sRnJlZShuc0xpc3QpOworCX0KKwkvKgorCSogVE9ETzogRGlmZmVyZW50aWF0ZSBiZXR3ZWVuICJzZWxlY3RvciIgYW5kICJmaWVsZCIuCisJKi8KKwlpZiAoaXNGaWVsZCkKKwkgICAgc2VsZWN0b3ItPnhwYXRoQ29tcCA9ICh2b2lkICopIHhtbFBhdHRlcm5jb21waWxlKHNlbGVjdG9yLT54cGF0aCwKKwkJTlVMTCwgWE1MX1BBVFRFUk5fWFNGSUVMRCwgbnNBcnJheSk7CisJZWxzZQorCSAgICBzZWxlY3Rvci0+eHBhdGhDb21wID0gKHZvaWQgKikgeG1sUGF0dGVybmNvbXBpbGUoc2VsZWN0b3ItPnhwYXRoLAorCQlOVUxMLCBYTUxfUEFUVEVSTl9YU1NFTCwgbnNBcnJheSk7CisJaWYgKG5zQXJyYXkgIT0gTlVMTCkKKwkgICAgeG1sRnJlZSgoeG1sQ2hhciAqKikgbnNBcnJheSk7CisKKwlpZiAoc2VsZWN0b3ItPnhwYXRoQ29tcCA9PSBOVUxMKSB7CisJICAgIHhtbFNjaGVtYVBDdXN0b21FcnIoY3R4dCwKKwkJLyogVE9ETzogQWRqdXN0IGVycm9yIGNvZGU/ICovCisJCVhNTF9TQ0hFTUFQX1M0U19BVFRSX0lOVkFMSURfVkFMVUUsCisJCU5VTEwsIG5vZGUsCisJCSJUaGUgWFBhdGggZXhwcmVzc2lvbiAnJXMnIGNvdWxkIG5vdCBiZSAiCisJCSJjb21waWxlZCIsIHNlbGVjdG9yLT54cGF0aCk7CisJICAgIHJldHVybiAoWE1MX1NDSEVNQVBfUzRTX0FUVFJfSU5WQUxJRF9WQUxVRSk7CisJfQorICAgIH0KKyAgICByZXR1cm4gKDApOworfQorCisjZGVmaW5lIEFERF9BTk5PVEFUSU9OKGFubm90KSAgIFwKKyAgICB4bWxTY2hlbWFBbm5vdFB0ciBjdXIgPSBpdGVtLT5hbm5vdDsgXAorICAgIGlmIChpdGVtLT5hbm5vdCA9PSBOVUxMKSB7ICBcCisJaXRlbS0+YW5ub3QgPSBhbm5vdDsgICAgXAorCXJldHVybiAoYW5ub3QpOyAgICAgICAgIFwKKyAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGN1ciA9IGl0ZW0tPmFubm90OyAgICAgICAgICBcCisgICAgaWYgKGN1ci0+bmV4dCAhPSBOVUxMKSB7ICAgIFwKKwljdXIgPSBjdXItPm5leHQ7CVwKKyAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGN1ci0+bmV4dCA9IGFubm90OworCisvKioKKyAqIHhtbFNjaGVtYUFzc2lnbkFubm90YXRpb246CisgKiBAaXRlbTogdGhlIHNjaGVtYSBjb21wb25lbnQKKyAqIEBhbm5vdDogdGhlIGFubm90YXRpb24KKyAqCisgKiBBZGRzIHRoZSBhbm5vdGF0aW9uIHRvIHRoZSBnaXZlbiBzY2hlbWEgY29tcG9uZW50LgorICoKKyAqIFJldHVybnMgdGhlIGdpdmVuIGFubm90YWlvbi4KKyAqLworc3RhdGljIHhtbFNjaGVtYUFubm90UHRyCit4bWxTY2hlbWFBZGRBbm5vdGF0aW9uKHhtbFNjaGVtYUFubm90SXRlbVB0ciBhbm5JdGVtLAorCQkgICAgICAgeG1sU2NoZW1hQW5ub3RQdHIgYW5ub3QpCit7CisgICAgaWYgKChhbm5JdGVtID09IE5VTEwpIHx8IChhbm5vdCA9PSBOVUxMKSkKKwlyZXR1cm4gKE5VTEwpOworICAgIHN3aXRjaCAoYW5uSXRlbS0+dHlwZSkgeworCWNhc2UgWE1MX1NDSEVNQV9UWVBFX0VMRU1FTlQ6IHsKKwkJeG1sU2NoZW1hRWxlbWVudFB0ciBpdGVtID0gKHhtbFNjaGVtYUVsZW1lbnRQdHIpIGFubkl0ZW07CisJCUFERF9BTk5PVEFUSU9OKGFubm90KQorCSAgICB9CisJICAgIGJyZWFrOworCWNhc2UgWE1MX1NDSEVNQV9UWVBFX0FUVFJJQlVURTogeworCQl4bWxTY2hlbWFBdHRyaWJ1dGVQdHIgaXRlbSA9ICh4bWxTY2hlbWFBdHRyaWJ1dGVQdHIpIGFubkl0ZW07CisJCUFERF9BTk5PVEFUSU9OKGFubm90KQorCSAgICB9CisJICAgIGJyZWFrOworCWNhc2UgWE1MX1NDSEVNQV9UWVBFX0FOWV9BVFRSSUJVVEU6CisJY2FzZSBYTUxfU0NIRU1BX1RZUEVfQU5ZOiB7CisJCXhtbFNjaGVtYVdpbGRjYXJkUHRyIGl0ZW0gPSAoeG1sU2NoZW1hV2lsZGNhcmRQdHIpIGFubkl0ZW07CisJCUFERF9BTk5PVEFUSU9OKGFubm90KQorCSAgICB9CisJICAgIGJyZWFrOworCWNhc2UgWE1MX1NDSEVNQV9UWVBFX1BBUlRJQ0xFOgorCWNhc2UgWE1MX1NDSEVNQV9UWVBFX0lEQ19LRVk6CisJY2FzZSBYTUxfU0NIRU1BX1RZUEVfSURDX0tFWVJFRjoKKwljYXNlIFhNTF9TQ0hFTUFfVFlQRV9JRENfVU5JUVVFOiB7CisJCXhtbFNjaGVtYUFubm90SXRlbVB0ciBpdGVtID0gKHhtbFNjaGVtYUFubm90SXRlbVB0cikgYW5uSXRlbTsKKwkJQUREX0FOTk9UQVRJT04oYW5ub3QpCisJICAgIH0KKwkgICAgYnJlYWs7CisJY2FzZSBYTUxfU0NIRU1BX1RZUEVfQVRUUklCVVRFR1JPVVA6IHsKKwkJeG1sU2NoZW1hQXR0cmlidXRlR3JvdXBQdHIgaXRlbSA9CisJCSAgICAoeG1sU2NoZW1hQXR0cmlidXRlR3JvdXBQdHIpIGFubkl0ZW07CisJCUFERF9BTk5PVEFUSU9OKGFubm90KQorCSAgICB9CisJICAgIGJyZWFrOworCWNhc2UgWE1MX1NDSEVNQV9UWVBFX05PVEFUSU9OOiB7CisJCXhtbFNjaGVtYU5vdGF0aW9uUHRyIGl0ZW0gPSAoeG1sU2NoZW1hTm90YXRpb25QdHIpIGFubkl0ZW07CisJCUFERF9BTk5PVEFUSU9OKGFubm90KQorCSAgICB9CisJICAgIGJyZWFrOworCWNhc2UgWE1MX1NDSEVNQV9GQUNFVF9NSU5JTkNMVVNJVkU6CisJY2FzZSBYTUxfU0NIRU1BX0ZBQ0VUX01JTkVYQ0xVU0lWRToKKwljYXNlIFhNTF9TQ0hFTUFfRkFDRVRfTUFYSU5DTFVTSVZFOgorCWNhc2UgWE1MX1NDSEVNQV9GQUNFVF9NQVhFWENMVVNJVkU6CisJY2FzZSBYTUxfU0NIRU1BX0ZBQ0VUX1RPVEFMRElHSVRTOgorCWNhc2UgWE1MX1NDSEVNQV9GQUNFVF9GUkFDVElPTkRJR0lUUzoKKwljYXNlIFhNTF9TQ0hFTUFfRkFDRVRfUEFUVEVSTjoKKwljYXNlIFhNTF9TQ0hFTUFfRkFDRVRfRU5VTUVSQVRJT046CisJY2FzZSBYTUxfU0NIRU1BX0ZBQ0VUX1dISVRFU1BBQ0U6CisJY2FzZSBYTUxfU0NIRU1BX0ZBQ0VUX0xFTkdUSDoKKwljYXNlIFhNTF9TQ0hFTUFfRkFDRVRfTUFYTEVOR1RIOgorCWNhc2UgWE1MX1NDSEVNQV9GQUNFVF9NSU5MRU5HVEg6IHsKKwkJeG1sU2NoZW1hRmFjZXRQdHIgaXRlbSA9ICh4bWxTY2hlbWFGYWNldFB0cikgYW5uSXRlbTsKKwkJQUREX0FOTk9UQVRJT04oYW5ub3QpCisJICAgIH0KKwkgICAgYnJlYWs7CisJY2FzZSBYTUxfU0NIRU1BX1RZUEVfU0lNUExFOgorCWNhc2UgWE1MX1NDSEVNQV9UWVBFX0NPTVBMRVg6IHsKKwkJeG1sU2NoZW1hVHlwZVB0ciBpdGVtID0gKHhtbFNjaGVtYVR5cGVQdHIpIGFubkl0ZW07CisJCUFERF9BTk5PVEFUSU9OKGFubm90KQorCSAgICB9CisJICAgIGJyZWFrOworCWNhc2UgWE1MX1NDSEVNQV9UWVBFX0dST1VQOiB7CisJCXhtbFNjaGVtYU1vZGVsR3JvdXBEZWZQdHIgaXRlbSA9ICh4bWxTY2hlbWFNb2RlbEdyb3VwRGVmUHRyKSBhbm5JdGVtOworCQlBRERfQU5OT1RBVElPTihhbm5vdCkKKwkgICAgfQorCSAgICBicmVhazsKKwljYXNlIFhNTF9TQ0hFTUFfVFlQRV9TRVFVRU5DRToKKwljYXNlIFhNTF9TQ0hFTUFfVFlQRV9DSE9JQ0U6CisJY2FzZSBYTUxfU0NIRU1BX1RZUEVfQUxMOiB7CisJCXhtbFNjaGVtYU1vZGVsR3JvdXBQdHIgaXRlbSA9ICh4bWxTY2hlbWFNb2RlbEdyb3VwUHRyKSBhbm5JdGVtOworCQlBRERfQU5OT1RBVElPTihhbm5vdCkKKwkgICAgfQorCSAgICBicmVhazsKKwlkZWZhdWx0OgorCSAgICAgeG1sU2NoZW1hUEN1c3RvbUVycihOVUxMLAorCQlYTUxfU0NIRU1BUF9JTlRFUk5BTCwKKwkJTlVMTCwgTlVMTCwKKwkJIkludGVybmFsIGVycm9yOiB4bWxTY2hlbWFBZGRBbm5vdGF0aW9uLCAiCisJCSJUaGUgaXRlbSBpcyBub3QgYSBhbm5vdGF0ZWQgc2NoZW1hIGNvbXBvbmVudCIsIE5VTEwpOworCSAgICAgYnJlYWs7CisgICAgfQorICAgIHJldHVybiAoYW5ub3QpOworfQorCisvKioKKyAqIHhtbFNjaGVtYVBhcnNlSURDU2VsZWN0b3JBbmRGaWVsZDoKKyAqIEBjdHh0OiAgYSBzY2hlbWEgdmFsaWRhdGlvbiBjb250ZXh0CisgKiBAc2NoZW1hOiAgdGhlIHNjaGVtYSBiZWluZyBidWlsdAorICogQG5vZGU6ICBhIHN1YnRyZWUgY29udGFpbmluZyBYTUwgU2NoZW1hIGluZm9ybWF0aW9ucworICoKKyAqIFBhcnNlcyBhIFhNTCBTY2hlbWEgaWRlbnRpdHktY29udHJhaW50IGRlZmluaXRpb24ncworICogPHNlbGVjdG9yPiBhbmQgPGZpZWxkPiBlbGVtZW50cy4KKyAqCisgKiBSZXR1cm5zIHRoZSBwYXJzZWQgaWRlbnRpdHktY29uc3RyYWludCBkZWZpbml0aW9uLgorICovCitzdGF0aWMgeG1sU2NoZW1hSURDU2VsZWN0UHRyCit4bWxTY2hlbWFQYXJzZUlEQ1NlbGVjdG9yQW5kRmllbGQoeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBjdHh0LAorCQkJICB4bWxTY2hlbWFJRENQdHIgaWRjLAorCQkJICB4bWxOb2RlUHRyIG5vZGUsCisJCQkgIGludCBpc0ZpZWxkKQoreworICAgIHhtbFNjaGVtYUlEQ1NlbGVjdFB0ciBpdGVtOworICAgIHhtbE5vZGVQdHIgY2hpbGQgPSBOVUxMOworICAgIHhtbEF0dHJQdHIgYXR0cjsKKworICAgIC8qCisgICAgKiBDaGVjayBmb3IgaWxsZWdhbCBhdHRyaWJ1dGVzLgorICAgICovCisgICAgYXR0ciA9IG5vZGUtPnByb3BlcnRpZXM7CisgICAgd2hpbGUgKGF0dHIgIT0gTlVMTCkgeworCWlmIChhdHRyLT5ucyA9PSBOVUxMKSB7CisJICAgIGlmICgoIXhtbFN0ckVxdWFsKGF0dHItPm5hbWUsIEJBRF9DQVNUICJpZCIpKSAmJgorCQkoIXhtbFN0ckVxdWFsKGF0dHItPm5hbWUsIEJBRF9DQVNUICJ4cGF0aCIpKSkgeworCQl4bWxTY2hlbWFQSWxsZWdhbEF0dHJFcnIoY3R4dCwKKwkJICAgIFhNTF9TQ0hFTUFQX1M0U19BVFRSX05PVF9BTExPV0VELCBOVUxMLCBhdHRyKTsKKwkgICAgfQorCX0gZWxzZSBpZiAoeG1sU3RyRXF1YWwoYXR0ci0+bnMtPmhyZWYsIHhtbFNjaGVtYU5zKSkgeworCSAgICB4bWxTY2hlbWFQSWxsZWdhbEF0dHJFcnIoY3R4dCwKKwkJWE1MX1NDSEVNQVBfUzRTX0FUVFJfTk9UX0FMTE9XRUQsIE5VTEwsIGF0dHIpOworCX0KKwlhdHRyID0gYXR0ci0+bmV4dDsKKyAgICB9CisgICAgLyoKKyAgICAqIENyZWF0ZSB0aGUgaXRlbS4KKyAgICAqLworICAgIGl0ZW0gPSAoeG1sU2NoZW1hSURDU2VsZWN0UHRyKSB4bWxNYWxsb2Moc2l6ZW9mKHhtbFNjaGVtYUlEQ1NlbGVjdCkpOworICAgIGlmIChpdGVtID09IE5VTEwpIHsKKyAgICAgICAgeG1sU2NoZW1hUEVyck1lbW9yeShjdHh0LAorCSAgICAiYWxsb2NhdGluZyBhICdzZWxlY3Rvcicgb2YgYW4gaWRlbnRpdHktY29uc3RyYWludCBkZWZpbml0aW9uIiwKKwkgICAgTlVMTCk7CisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgfQorICAgIG1lbXNldChpdGVtLCAwLCBzaXplb2YoeG1sU2NoZW1hSURDU2VsZWN0KSk7CisgICAgLyoKKyAgICAqIEF0dHJpYnV0ZSAieHBhdGgiIChtYW5kYXRvcnkpLgorICAgICovCisgICAgYXR0ciA9IHhtbFNjaGVtYUdldFByb3BOb2RlKG5vZGUsICJ4cGF0aCIpOworICAgIGlmIChhdHRyID09IE5VTEwpIHsKKwl4bWxTY2hlbWFQTWlzc2luZ0F0dHJFcnIoY3R4dCwKKwkgICAgWE1MX1NDSEVNQVBfUzRTX0FUVFJfTUlTU0lORywKKwkgICAgTlVMTCwgbm9kZSwKKwkgICAgIm5hbWUiLCBOVUxMKTsKKyAgICB9IGVsc2UgeworCWl0ZW0tPnhwYXRoID0geG1sU2NoZW1hR2V0Tm9kZUNvbnRlbnQoY3R4dCwgKHhtbE5vZGVQdHIpIGF0dHIpOworCS8qCisJKiBVUkdFTlQgVE9ETzogImZpZWxkInMgaGF2ZSBhbiBvdGhlciBzeW50YXggdGhhbiAic2VsZWN0b3Iicy4KKwkqLworCisJaWYgKHhtbFNjaGVtYUNoZWNrQ1NlbGVjdG9yWFBhdGgoY3R4dCwgaWRjLCBpdGVtLCBhdHRyLAorCSAgICBpc0ZpZWxkKSA9PSAtMSkgeworCSAgICB4bWxTY2hlbWFQRXJyKGN0eHQsCisJCSh4bWxOb2RlUHRyKSBhdHRyLAorCQlYTUxfU0NIRU1BUF9JTlRFUk5BTCwKKwkJIkludGVybmFsIGVycm9yOiB4bWxTY2hlbWFQYXJzZUlEQ1NlbGVjdG9yQW5kRmllbGQsICIKKwkJInZhbGlkYXRpbmcgdGhlIFhQYXRoIGV4cHJlc3Npb24gb2YgYSBJREMgc2VsZWN0b3IuXG4iLAorCQlOVUxMLCBOVUxMKTsKKwl9CisKKyAgICB9CisgICAgeG1sU2NoZW1hUFZhbEF0dHJJRChjdHh0LCBub2RlLCBCQURfQ0FTVCAiaWQiKTsKKyAgICAvKgorICAgICogQW5kIG5vdyBmb3IgdGhlIGNoaWxkcmVuLi4uCisgICAgKi8KKyAgICBjaGlsZCA9IG5vZGUtPmNoaWxkcmVuOworICAgIGlmIChJU19TQ0hFTUEoY2hpbGQsICJhbm5vdGF0aW9uIikpIHsKKwkvKgorCSogQWRkIHRoZSBhbm5vdGF0aW9uIHRvIHRoZSBwYXJlbnQgSURDLgorCSovCisJeG1sU2NoZW1hQWRkQW5ub3RhdGlvbigoeG1sU2NoZW1hQW5ub3RJdGVtUHRyKSBpZGMsCisJICAgIHhtbFNjaGVtYVBhcnNlQW5ub3RhdGlvbihjdHh0LCBjaGlsZCwgMSkpOworCWNoaWxkID0gY2hpbGQtPm5leHQ7CisgICAgfQorICAgIGlmIChjaGlsZCAhPSBOVUxMKSB7CisJeG1sU2NoZW1hUENvbnRlbnRFcnIoY3R4dCwKKwkgICAgWE1MX1NDSEVNQVBfUzRTX0VMRU1fTk9UX0FMTE9XRUQsCisJICAgIE5VTEwsIG5vZGUsIGNoaWxkLAorCSAgICBOVUxMLCAiKGFubm90YXRpb24/KSIpOworICAgIH0KKworICAgIHJldHVybiAoaXRlbSk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hUGFyc2VJREM6CisgKiBAY3R4dDogIGEgc2NoZW1hIHZhbGlkYXRpb24gY29udGV4dAorICogQHNjaGVtYTogIHRoZSBzY2hlbWEgYmVpbmcgYnVpbHQKKyAqIEBub2RlOiAgYSBzdWJ0cmVlIGNvbnRhaW5pbmcgWE1MIFNjaGVtYSBpbmZvcm1hdGlvbnMKKyAqCisgKiBQYXJzZXMgYSBYTUwgU2NoZW1hIGlkZW50aXR5LWNvbnRyYWludCBkZWZpbml0aW9uLgorICoKKyAqIFJldHVybnMgdGhlIHBhcnNlZCBpZGVudGl0eS1jb25zdHJhaW50IGRlZmluaXRpb24uCisgKi8KK3N0YXRpYyB4bWxTY2hlbWFJRENQdHIKK3htbFNjaGVtYVBhcnNlSURDKHhtbFNjaGVtYVBhcnNlckN0eHRQdHIgY3R4dCwKKwkJICB4bWxTY2hlbWFQdHIgc2NoZW1hLAorCQkgIHhtbE5vZGVQdHIgbm9kZSwKKwkJICB4bWxTY2hlbWFUeXBlVHlwZSBpZGNDYXRlZ29yeSwKKwkJICBjb25zdCB4bWxDaGFyICp0YXJnZXROYW1lc3BhY2UpCit7CisgICAgeG1sU2NoZW1hSURDUHRyIGl0ZW0gPSBOVUxMOworICAgIHhtbE5vZGVQdHIgY2hpbGQgPSBOVUxMOworICAgIHhtbEF0dHJQdHIgYXR0cjsKKyAgICBjb25zdCB4bWxDaGFyICpuYW1lID0gTlVMTDsKKyAgICB4bWxTY2hlbWFJRENTZWxlY3RQdHIgZmllbGQgPSBOVUxMLCBsYXN0RmllbGQgPSBOVUxMOworCisgICAgLyoKKyAgICAqIENoZWNrIGZvciBpbGxlZ2FsIGF0dHJpYnV0ZXMuCisgICAgKi8KKyAgICBhdHRyID0gbm9kZS0+cHJvcGVydGllczsKKyAgICB3aGlsZSAoYXR0ciAhPSBOVUxMKSB7CisJaWYgKGF0dHItPm5zID09IE5VTEwpIHsKKwkgICAgaWYgKCgheG1sU3RyRXF1YWwoYXR0ci0+bmFtZSwgQkFEX0NBU1QgImlkIikpICYmCisJCSgheG1sU3RyRXF1YWwoYXR0ci0+bmFtZSwgQkFEX0NBU1QgIm5hbWUiKSkgJiYKKwkJKChpZGNDYXRlZ29yeSAhPSBYTUxfU0NIRU1BX1RZUEVfSURDX0tFWVJFRikgfHwKKwkJICgheG1sU3RyRXF1YWwoYXR0ci0+bmFtZSwgQkFEX0NBU1QgInJlZmVyIikpKSkgeworCQl4bWxTY2hlbWFQSWxsZWdhbEF0dHJFcnIoY3R4dCwKKwkJICAgIFhNTF9TQ0hFTUFQX1M0U19BVFRSX05PVF9BTExPV0VELCBOVUxMLCBhdHRyKTsKKwkgICAgfQorCX0gZWxzZSBpZiAoeG1sU3RyRXF1YWwoYXR0ci0+bnMtPmhyZWYsIHhtbFNjaGVtYU5zKSkgeworCSAgICB4bWxTY2hlbWFQSWxsZWdhbEF0dHJFcnIoY3R4dCwKKwkJWE1MX1NDSEVNQVBfUzRTX0FUVFJfTk9UX0FMTE9XRUQsIE5VTEwsIGF0dHIpOworCX0KKwlhdHRyID0gYXR0ci0+bmV4dDsKKyAgICB9CisgICAgLyoKKyAgICAqIEF0dHJpYnV0ZSAibmFtZSIgKG1hbmRhdG9yeSkuCisgICAgKi8KKyAgICBhdHRyID0geG1sU2NoZW1hR2V0UHJvcE5vZGUobm9kZSwgIm5hbWUiKTsKKyAgICBpZiAoYXR0ciA9PSBOVUxMKSB7CisJeG1sU2NoZW1hUE1pc3NpbmdBdHRyRXJyKGN0eHQsCisJICAgIFhNTF9TQ0hFTUFQX1M0U19BVFRSX01JU1NJTkcsCisJICAgIE5VTEwsIG5vZGUsCisJICAgICJuYW1lIiwgTlVMTCk7CisJcmV0dXJuIChOVUxMKTsKKyAgICB9IGVsc2UgaWYgKHhtbFNjaGVtYVBWYWxBdHRyTm9kZShjdHh0LAorCU5VTEwsIGF0dHIsCisJeG1sU2NoZW1hR2V0QnVpbHRJblR5cGUoWE1MX1NDSEVNQVNfTkNOQU1FKSwgJm5hbWUpICE9IDApIHsKKwlyZXR1cm4gKE5VTEwpOworICAgIH0KKyAgICAvKiBDcmVhdGUgdGhlIGNvbXBvbmVudC4gKi8KKyAgICBpdGVtID0geG1sU2NoZW1hQWRkSURDKGN0eHQsIHNjaGVtYSwgbmFtZSwgdGFyZ2V0TmFtZXNwYWNlLAorCWlkY0NhdGVnb3J5LCBub2RlKTsKKyAgICBpZiAoaXRlbSA9PSBOVUxMKQorCXJldHVybihOVUxMKTsKKworICAgIHhtbFNjaGVtYVBWYWxBdHRySUQoY3R4dCwgbm9kZSwgQkFEX0NBU1QgImlkIik7CisgICAgaWYgKGlkY0NhdGVnb3J5ID09IFhNTF9TQ0hFTUFfVFlQRV9JRENfS0VZUkVGKSB7CisJLyoKKwkqIEF0dHJpYnV0ZSAicmVmZXIiIChtYW5kYXRvcnkpLgorCSovCisJYXR0ciA9IHhtbFNjaGVtYUdldFByb3BOb2RlKG5vZGUsICJyZWZlciIpOworCWlmIChhdHRyID09IE5VTEwpIHsKKwkgICAgeG1sU2NoZW1hUE1pc3NpbmdBdHRyRXJyKGN0eHQsCisJCVhNTF9TQ0hFTUFQX1M0U19BVFRSX01JU1NJTkcsCisJCU5VTEwsIG5vZGUsCisJCSJyZWZlciIsIE5VTEwpOworCX0gZWxzZSB7CisJICAgIC8qCisJICAgICogQ3JlYXRlIGEgcmVmZXJlbmNlIGl0ZW0uCisJICAgICovCisJICAgIGl0ZW0tPnJlZiA9IHhtbFNjaGVtYU5ld1FOYW1lUmVmKGN0eHQsIFhNTF9TQ0hFTUFfVFlQRV9JRENfS0VZLAorCQlOVUxMLCBOVUxMKTsKKwkgICAgaWYgKGl0ZW0tPnJlZiA9PSBOVUxMKQorCQlyZXR1cm4gKE5VTEwpOworCSAgICB4bWxTY2hlbWFQVmFsQXR0ck5vZGVRTmFtZShjdHh0LCBzY2hlbWEsCisJCU5VTEwsIGF0dHIsCisJCSYoaXRlbS0+cmVmLT50YXJnZXROYW1lc3BhY2UpLAorCQkmKGl0ZW0tPnJlZi0+bmFtZSkpOworCSAgICB4bWxTY2hlbWFDaGVja1JlZmVyZW5jZShjdHh0LCBzY2hlbWEsIG5vZGUsIGF0dHIsCisJCWl0ZW0tPnJlZi0+dGFyZ2V0TmFtZXNwYWNlKTsKKwl9CisgICAgfQorICAgIC8qCisgICAgKiBBbmQgbm93IGZvciB0aGUgY2hpbGRyZW4uLi4KKyAgICAqLworICAgIGNoaWxkID0gbm9kZS0+Y2hpbGRyZW47CisgICAgaWYgKElTX1NDSEVNQShjaGlsZCwgImFubm90YXRpb24iKSkgeworCWl0ZW0tPmFubm90ID0geG1sU2NoZW1hUGFyc2VBbm5vdGF0aW9uKGN0eHQsIGNoaWxkLCAxKTsKKwljaGlsZCA9IGNoaWxkLT5uZXh0OworICAgIH0KKyAgICBpZiAoY2hpbGQgPT0gTlVMTCkgeworCXhtbFNjaGVtYVBDb250ZW50RXJyKGN0eHQsCisJCVhNTF9TQ0hFTUFQX1M0U19FTEVNX01JU1NJTkcsCisJCU5VTEwsIG5vZGUsIGNoaWxkLAorCQkiQSBjaGlsZCBlbGVtZW50IGlzIG1pc3NpbmciLAorCQkiKGFubm90YXRpb24/LCAoc2VsZWN0b3IsIGZpZWxkKykpIik7CisgICAgfQorICAgIC8qCisgICAgKiBDaGlsZCBlbGVtZW50IDxzZWxlY3Rvcj4uCisgICAgKi8KKyAgICBpZiAoSVNfU0NIRU1BKGNoaWxkLCAic2VsZWN0b3IiKSkgeworCWl0ZW0tPnNlbGVjdG9yID0geG1sU2NoZW1hUGFyc2VJRENTZWxlY3RvckFuZEZpZWxkKGN0eHQsCisJICAgIGl0ZW0sIGNoaWxkLCAwKTsKKwljaGlsZCA9IGNoaWxkLT5uZXh0OworCS8qCisJKiBDaGlsZCBlbGVtZW50cyA8ZmllbGQ+LgorCSovCisJaWYgKElTX1NDSEVNQShjaGlsZCwgImZpZWxkIikpIHsKKwkgICAgZG8geworCQlmaWVsZCA9IHhtbFNjaGVtYVBhcnNlSURDU2VsZWN0b3JBbmRGaWVsZChjdHh0LAorCQkgICAgaXRlbSwgY2hpbGQsIDEpOworCQlpZiAoZmllbGQgIT0gTlVMTCkgeworCQkgICAgZmllbGQtPmluZGV4ID0gaXRlbS0+bmJGaWVsZHM7CisJCSAgICBpdGVtLT5uYkZpZWxkcysrOworCQkgICAgaWYgKGxhc3RGaWVsZCAhPSBOVUxMKQorCQkJbGFzdEZpZWxkLT5uZXh0ID0gZmllbGQ7CisJCSAgICBlbHNlCisJCQlpdGVtLT5maWVsZHMgPSBmaWVsZDsKKwkJICAgIGxhc3RGaWVsZCA9IGZpZWxkOworCQl9CisJCWNoaWxkID0gY2hpbGQtPm5leHQ7CisJICAgIH0gd2hpbGUgKElTX1NDSEVNQShjaGlsZCwgImZpZWxkIikpOworCX0gZWxzZSB7CisJICAgIHhtbFNjaGVtYVBDb250ZW50RXJyKGN0eHQsCisJCVhNTF9TQ0hFTUFQX1M0U19FTEVNX05PVF9BTExPV0VELAorCQlOVUxMLCBub2RlLCBjaGlsZCwKKwkJTlVMTCwgIihhbm5vdGF0aW9uPywgKHNlbGVjdG9yLCBmaWVsZCspKSIpOworCX0KKyAgICB9CisgICAgaWYgKGNoaWxkICE9IE5VTEwpIHsKKwl4bWxTY2hlbWFQQ29udGVudEVycihjdHh0LAorCSAgICBYTUxfU0NIRU1BUF9TNFNfRUxFTV9OT1RfQUxMT1dFRCwKKwkgICAgTlVMTCwgbm9kZSwgY2hpbGQsCisJICAgIE5VTEwsICIoYW5ub3RhdGlvbj8sIChzZWxlY3RvciwgZmllbGQrKSkiKTsKKyAgICB9CisKKyAgICByZXR1cm4gKGl0ZW0pOworfQorCisvKioKKyAqIHhtbFNjaGVtYVBhcnNlRWxlbWVudDoKKyAqIEBjdHh0OiAgYSBzY2hlbWEgdmFsaWRhdGlvbiBjb250ZXh0CisgKiBAc2NoZW1hOiAgdGhlIHNjaGVtYSBiZWluZyBidWlsdAorICogQG5vZGU6ICBhIHN1YnRyZWUgY29udGFpbmluZyBYTUwgU2NoZW1hIGluZm9ybWF0aW9ucworICogQHRvcExldmVsOiBpbmRpY2F0ZXMgaWYgdGhpcyBpcyBnbG9iYWwgZGVjbGFyYXRpb24KKyAqCisgKiBQYXJzZXMgYSBYTUwgc2NoZW1hIGVsZW1lbnQgZGVjbGFyYXRpb24uCisgKiAqV0FSTklORyogdGhpcyBpbnRlcmZhY2UgaXMgaGlnaGx5IHN1YmplY3QgdG8gY2hhbmdlCisgKgorICogUmV0dXJucyB0aGUgZWxlbWVudCBkZWNsYXJhdGlvbiBvciBhIHBhcnRpY2xlOyBOVUxMIGluIGNhc2UKKyAqIG9mIGFuIGVycm9yIG9yIGlmIHRoZSBwYXJ0aWNsZSBoYXMgbWluT2NjdXJzPT1tYXhPY2N1cnM9PTAuCisgKi8KK3N0YXRpYyB4bWxTY2hlbWFCYXNpY0l0ZW1QdHIKK3htbFNjaGVtYVBhcnNlRWxlbWVudCh4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIGN0eHQsIHhtbFNjaGVtYVB0ciBzY2hlbWEsCisgICAgICAgICAgICAgICAgICAgICAgeG1sTm9kZVB0ciBub2RlLCBpbnQgKmlzRWxlbVJlZiwgaW50IHRvcExldmVsKQoreworICAgIHhtbFNjaGVtYUVsZW1lbnRQdHIgZGVjbCA9IE5VTEw7CisgICAgeG1sU2NoZW1hUGFydGljbGVQdHIgcGFydGljbGUgPSBOVUxMOworICAgIHhtbFNjaGVtYUFubm90UHRyIGFubm90ID0gTlVMTDsKKyAgICB4bWxOb2RlUHRyIGNoaWxkID0gTlVMTDsKKyAgICB4bWxBdHRyUHRyIGF0dHIsIG5hbWVBdHRyOworICAgIGludCBtaW4sIG1heCwgaXNSZWYgPSAwOworICAgIHhtbENoYXIgKmRlcyA9IE5VTEw7CisKKyAgICAvKiAzLjMuMyBDb25zdHJhaW50cyBvbiBYTUwgUmVwcmVzZW50YXRpb25zIG9mIEVsZW1lbnQgRGVjbGFyYXRpb25zICovCisgICAgLyogVE9ETzogQ29tcGxldGUgaW1wbGVtZW50YXRpb24gb2YgMy4zLjYgKi8KKworICAgIGlmICgoY3R4dCA9PSBOVUxMKSB8fCAoc2NoZW1hID09IE5VTEwpIHx8IChub2RlID09IE5VTEwpKQorICAgICAgICByZXR1cm4gKE5VTEwpOworCisgICAgaWYgKGlzRWxlbVJlZiAhPSBOVUxMKQorCSppc0VsZW1SZWYgPSAwOworICAgIC8qCisgICAgKiBJZiB3ZSBnZXQgYSAicmVmIiBhdHRyaWJ1dGUgb24gYSBsb2NhbCA8ZWxlbWVudD4gd2Ugd2lsbCBhc3N1bWUgaXQncworICAgICogYSByZWZlcmVuY2UgLSBldmVuIGlmIHRoZXJlJ3MgYSAibmFtZSIgYXR0cmlidXRlOyB0aGlzIHNlZW1zIHRvIGJlIG1vcmUKKyAgICAqIHJvYnVzdC4KKyAgICAqLworICAgIG5hbWVBdHRyID0geG1sU2NoZW1hR2V0UHJvcE5vZGUobm9kZSwgIm5hbWUiKTsKKyAgICBhdHRyID0geG1sU2NoZW1hR2V0UHJvcE5vZGUobm9kZSwgInJlZiIpOworICAgIGlmICgodG9wTGV2ZWwpIHx8IChhdHRyID09IE5VTEwpKSB7CisJaWYgKG5hbWVBdHRyID09IE5VTEwpIHsKKwkgICAgeG1sU2NoZW1hUE1pc3NpbmdBdHRyRXJyKGN0eHQsCisJCVhNTF9TQ0hFTUFQX1M0U19BVFRSX01JU1NJTkcsCisJCU5VTEwsIG5vZGUsICJuYW1lIiwgTlVMTCk7CisJICAgIHJldHVybiAoTlVMTCk7CisJfQorICAgIH0gZWxzZQorCWlzUmVmID0gMTsKKworICAgIHhtbFNjaGVtYVBWYWxBdHRySUQoY3R4dCwgbm9kZSwgQkFEX0NBU1QgImlkIik7CisgICAgY2hpbGQgPSBub2RlLT5jaGlsZHJlbjsKKyAgICBpZiAoSVNfU0NIRU1BKGNoaWxkLCAiYW5ub3RhdGlvbiIpKSB7CisJYW5ub3QgPSB4bWxTY2hlbWFQYXJzZUFubm90YXRpb24oY3R4dCwgY2hpbGQsIDEpOworCWNoaWxkID0gY2hpbGQtPm5leHQ7CisgICAgfQorICAgIC8qCisgICAgKiBTa2lwIHBhcnRpY2xlIHBhcnQgaWYgYSBnbG9iYWwgZGVjbGFyYXRpb24uCisgICAgKi8KKyAgICBpZiAodG9wTGV2ZWwpCisJZ290byBkZWNsYXJhdGlvbl9wYXJ0OworICAgIC8qCisgICAgKiBUaGUgcGFydGljbGUgcGFydCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICAgICovCisgICAgbWluID0geG1sR2V0TWluT2NjdXJzKGN0eHQsIG5vZGUsIDAsIC0xLCAxLCAieHM6bm9uTmVnYXRpdmVJbnRlZ2VyIik7CisgICAgbWF4ID0geG1sR2V0TWF4T2NjdXJzKGN0eHQsIG5vZGUsIDAsIFVOQk9VTkRFRCwgMSwgIih4czpub25OZWdhdGl2ZUludGVnZXIgfCB1bmJvdW5kZWQpIik7CisgICAgeG1sU2NoZW1hUENoZWNrUGFydGljbGVDb3JyZWN0XzIoY3R4dCwgTlVMTCwgbm9kZSwgbWluLCBtYXgpOworICAgIHBhcnRpY2xlID0geG1sU2NoZW1hQWRkUGFydGljbGUoY3R4dCwgbm9kZSwgbWluLCBtYXgpOworICAgIGlmIChwYXJ0aWNsZSA9PSBOVUxMKQorCWdvdG8gcmV0dXJuX251bGw7CisKKyAgICAvKiByZXQtPmZsYWdzIHw9IFhNTF9TQ0hFTUFTX0VMRU1fUkVGOyAqLworCisgICAgaWYgKGlzUmVmKSB7CisJY29uc3QgeG1sQ2hhciAqcmVmTnMgPSBOVUxMLCAqcmVmID0gTlVMTDsKKwl4bWxTY2hlbWFRTmFtZVJlZlB0ciByZWZlciA9IE5VTEw7CisJLyoKKwkqIFRoZSByZWZlcmVuY2UgcGFydCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKwkqLworCWlmIChpc0VsZW1SZWYgIT0gTlVMTCkKKwkgICAgKmlzRWxlbVJlZiA9IDE7CisKKwl4bWxTY2hlbWFQVmFsQXR0ck5vZGVRTmFtZShjdHh0LCBzY2hlbWEsCisJICAgIE5VTEwsIGF0dHIsICZyZWZOcywgJnJlZik7CisJeG1sU2NoZW1hQ2hlY2tSZWZlcmVuY2UoY3R4dCwgc2NoZW1hLCBub2RlLCBhdHRyLCByZWZOcyk7CisJLyoKKwkqIFNQRUMgKDMuMy4zIDogMi4xKSAiT25lIG9mIHJlZiBvciBuYW1lIG11c3QgYmUgcHJlc2VudCwgYnV0IG5vdCBib3RoIgorCSovCisJaWYgKG5hbWVBdHRyICE9IE5VTEwpIHsKKwkgICAgeG1sU2NoZW1hUE11dHVhbEV4Y2xBdHRyRXJyKGN0eHQsCisJCVhNTF9TQ0hFTUFQX1NSQ19FTEVNRU5UXzJfMSwgTlVMTCwgbmFtZUF0dHIsICJyZWYiLCAibmFtZSIpOworCX0KKwkvKgorCSogQ2hlY2sgZm9yIGlsbGVnYWwgYXR0cmlidXRlcy4KKwkqLworCWF0dHIgPSBub2RlLT5wcm9wZXJ0aWVzOworCXdoaWxlIChhdHRyICE9IE5VTEwpIHsKKwkgICAgaWYgKGF0dHItPm5zID09IE5VTEwpIHsKKwkJaWYgKHhtbFN0ckVxdWFsKGF0dHItPm5hbWUsIEJBRF9DQVNUICJyZWYiKSB8fAorCQkgICAgeG1sU3RyRXF1YWwoYXR0ci0+bmFtZSwgQkFEX0NBU1QgIm5hbWUiKSB8fAorCQkgICAgeG1sU3RyRXF1YWwoYXR0ci0+bmFtZSwgQkFEX0NBU1QgImlkIikgfHwKKwkJICAgIHhtbFN0ckVxdWFsKGF0dHItPm5hbWUsIEJBRF9DQVNUICJtYXhPY2N1cnMiKSB8fAorCQkgICAgeG1sU3RyRXF1YWwoYXR0ci0+bmFtZSwgQkFEX0NBU1QgIm1pbk9jY3VycyIpKQorCQl7CisJCSAgICBhdHRyID0gYXR0ci0+bmV4dDsKKwkJICAgIGNvbnRpbnVlOworCQl9IGVsc2UgeworCQkgICAgLyogU1BFQyAoMy4zLjMgOiAyLjIpICovCisJCSAgICB4bWxTY2hlbWFQQ3VzdG9tQXR0ckVycihjdHh0LAorCQkJWE1MX1NDSEVNQVBfU1JDX0VMRU1FTlRfMl8yLAorCQkJTlVMTCwgTlVMTCwgYXR0ciwKKwkJCSJPbmx5IHRoZSBhdHRyaWJ1dGVzICdtaW5PY2N1cnMnLCAnbWF4T2NjdXJzJyBhbmQgIgorCQkJIidpZCcgYXJlIGFsbG93ZWQgaW4gYWRkaXRpb24gdG8gJ3JlZiciKTsKKwkJICAgIGJyZWFrOworCQl9CisJICAgIH0gZWxzZSBpZiAoeG1sU3RyRXF1YWwoYXR0ci0+bnMtPmhyZWYsIHhtbFNjaGVtYU5zKSkgeworCQl4bWxTY2hlbWFQSWxsZWdhbEF0dHJFcnIoY3R4dCwKKwkJICAgIFhNTF9TQ0hFTUFQX1M0U19BVFRSX05PVF9BTExPV0VELCBOVUxMLCBhdHRyKTsKKwkgICAgfQorCSAgICBhdHRyID0gYXR0ci0+bmV4dDsKKwl9CisJLyoKKwkqIE5vIGNoaWxkcmVuIGV4Y2VwdCA8YW5ub3RhdGlvbj4gZXhwZWN0ZWQuCisJKi8KKwlpZiAoY2hpbGQgIT0gTlVMTCkgeworCSAgICB4bWxTY2hlbWFQQ29udGVudEVycihjdHh0LCBYTUxfU0NIRU1BUF9TNFNfRUxFTV9OT1RfQUxMT1dFRCwKKwkJTlVMTCwgbm9kZSwgY2hpbGQsIE5VTEwsICIoYW5ub3RhdGlvbj8pIik7CisJfQorCWlmICgobWluID09IDApICYmIChtYXggPT0gMCkpCisJICAgIGdvdG8gcmV0dXJuX251bGw7CisJLyoKKwkqIENyZWF0ZSB0aGUgcmVmZXJlbmNlIGl0ZW0gYW5kIGF0dGFjaCBpdCB0byB0aGUgcGFydGljbGUuCisJKi8KKwlyZWZlciA9IHhtbFNjaGVtYU5ld1FOYW1lUmVmKGN0eHQsIFhNTF9TQ0hFTUFfVFlQRV9FTEVNRU5ULAorCSAgICByZWYsIHJlZk5zKTsKKwlpZiAocmVmZXIgPT0gTlVMTCkKKwkgICAgZ290byByZXR1cm5fbnVsbDsKKwlwYXJ0aWNsZS0+Y2hpbGRyZW4gPSAoeG1sU2NoZW1hVHJlZUl0ZW1QdHIpIHJlZmVyOworCXBhcnRpY2xlLT5hbm5vdCA9IGFubm90OworCS8qCisJKiBBZGQgdGhlIHBhcnRpY2xlIHRvIHBlbmRpbmcgY29tcG9uZW50cywgc2luY2UgdGhlIHJlZmVyZW5jZQorCSogbmVlZCB0byBiZSByZXNvbHZlZC4KKwkqLworCVdYU19BRERfUEVORElORyhjdHh0LCBwYXJ0aWNsZSk7CisJcmV0dXJuICgoeG1sU2NoZW1hQmFzaWNJdGVtUHRyKSBwYXJ0aWNsZSk7CisgICAgfQorICAgIC8qCisgICAgKiBUaGUgZGVjbGFyYXRpb24gcGFydCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICAgICovCitkZWNsYXJhdGlvbl9wYXJ0OgorICAgIHsKKwljb25zdCB4bWxDaGFyICpucyA9IE5VTEwsICpmaXhlZCwgKm5hbWUsICphdHRyVmFsdWU7CisJeG1sU2NoZW1hSURDUHRyIGN1cklEQyA9IE5VTEwsIGxhc3RJREMgPSBOVUxMOworCisJaWYgKHhtbFNjaGVtYVBWYWxBdHRyTm9kZShjdHh0LCBOVUxMLCBuYW1lQXR0ciwKKwkgICAgeG1sU2NoZW1hR2V0QnVpbHRJblR5cGUoWE1MX1NDSEVNQVNfTkNOQU1FKSwgJm5hbWUpICE9IDApCisJICAgIGdvdG8gcmV0dXJuX251bGw7CisJLyoKKwkqIEV2YWx1YXRlIHRoZSB0YXJnZXQgbmFtZXNwYWNlLgorCSovCisJaWYgKHRvcExldmVsKSB7CisJICAgIG5zID0gY3R4dC0+dGFyZ2V0TmFtZXNwYWNlOworCX0gZWxzZSB7CisJICAgIGF0dHIgPSB4bWxTY2hlbWFHZXRQcm9wTm9kZShub2RlLCAiZm9ybSIpOworCSAgICBpZiAoYXR0ciAhPSBOVUxMKSB7CisJCWF0dHJWYWx1ZSA9IHhtbFNjaGVtYUdldE5vZGVDb250ZW50KGN0eHQsICh4bWxOb2RlUHRyKSBhdHRyKTsKKwkJaWYgKHhtbFN0ckVxdWFsKGF0dHJWYWx1ZSwgQkFEX0NBU1QgInF1YWxpZmllZCIpKSB7CisJCSAgICBucyA9IGN0eHQtPnRhcmdldE5hbWVzcGFjZTsKKwkJfSBlbHNlIGlmICgheG1sU3RyRXF1YWwoYXR0clZhbHVlLCBCQURfQ0FTVCAidW5xdWFsaWZpZWQiKSkgeworCQkgICAgeG1sU2NoZW1hUFNpbXBsZVR5cGVFcnIoY3R4dCwKKwkJCVhNTF9TQ0hFTUFQX1M0U19BVFRSX0lOVkFMSURfVkFMVUUsCisJCQlOVUxMLCAoeG1sTm9kZVB0cikgYXR0ciwKKwkJCU5VTEwsICIocXVhbGlmaWVkIHwgdW5xdWFsaWZpZWQpIiwKKwkJCWF0dHJWYWx1ZSwgTlVMTCwgTlVMTCwgTlVMTCk7CisJCX0KKwkgICAgfSBlbHNlIGlmIChzY2hlbWEtPmZsYWdzICYgWE1MX1NDSEVNQVNfUVVBTElGX0VMRU0pCisJCW5zID0gY3R4dC0+dGFyZ2V0TmFtZXNwYWNlOworCX0KKwlkZWNsID0geG1sU2NoZW1hQWRkRWxlbWVudChjdHh0LCBuYW1lLCBucywgbm9kZSwgdG9wTGV2ZWwpOworCWlmIChkZWNsID09IE5VTEwpIHsKKwkgICAgZ290byByZXR1cm5fbnVsbDsKKwl9CisJLyoKKwkqIENoZWNrIGZvciBpbGxlZ2FsIGF0dHJpYnV0ZXMuCisJKi8KKwlhdHRyID0gbm9kZS0+cHJvcGVydGllczsKKwl3aGlsZSAoYXR0ciAhPSBOVUxMKSB7CisJICAgIGlmIChhdHRyLT5ucyA9PSBOVUxMKSB7CisJCWlmICgoIXhtbFN0ckVxdWFsKGF0dHItPm5hbWUsIEJBRF9DQVNUICJuYW1lIikpICYmCisJCSAgICAoIXhtbFN0ckVxdWFsKGF0dHItPm5hbWUsIEJBRF9DQVNUICJ0eXBlIikpICYmCisJCSAgICAoIXhtbFN0ckVxdWFsKGF0dHItPm5hbWUsIEJBRF9DQVNUICJpZCIpKSAmJgorCQkgICAgKCF4bWxTdHJFcXVhbChhdHRyLT5uYW1lLCBCQURfQ0FTVCAiZGVmYXVsdCIpKSAmJgorCQkgICAgKCF4bWxTdHJFcXVhbChhdHRyLT5uYW1lLCBCQURfQ0FTVCAiZml4ZWQiKSkgJiYKKwkJICAgICgheG1sU3RyRXF1YWwoYXR0ci0+bmFtZSwgQkFEX0NBU1QgImJsb2NrIikpICYmCisJCSAgICAoIXhtbFN0ckVxdWFsKGF0dHItPm5hbWUsIEJBRF9DQVNUICJuaWxsYWJsZSIpKSkKKwkJeworCQkgICAgaWYgKHRvcExldmVsID09IDApIHsKKwkJCWlmICgoIXhtbFN0ckVxdWFsKGF0dHItPm5hbWUsIEJBRF9DQVNUICJtYXhPY2N1cnMiKSkgJiYKKwkJCSAgICAoIXhtbFN0ckVxdWFsKGF0dHItPm5hbWUsIEJBRF9DQVNUICJtaW5PY2N1cnMiKSkgJiYKKwkJCSAgICAoIXhtbFN0ckVxdWFsKGF0dHItPm5hbWUsIEJBRF9DQVNUICJmb3JtIikpKQorCQkJeworCQkJICAgIHhtbFNjaGVtYVBJbGxlZ2FsQXR0ckVycihjdHh0LAorCQkJCVhNTF9TQ0hFTUFQX1M0U19BVFRSX05PVF9BTExPV0VELCBOVUxMLCBhdHRyKTsKKwkJCX0KKwkJICAgIH0gZWxzZSBpZiAoKCF4bWxTdHJFcXVhbChhdHRyLT5uYW1lLCBCQURfQ0FTVCAiZmluYWwiKSkgJiYKKwkJCSgheG1sU3RyRXF1YWwoYXR0ci0+bmFtZSwgQkFEX0NBU1QgImFic3RyYWN0IikpICYmCisJCQkoIXhtbFN0ckVxdWFsKGF0dHItPm5hbWUsIEJBRF9DQVNUICJzdWJzdGl0dXRpb25Hcm91cCIpKSkgeworCisJCQl4bWxTY2hlbWFQSWxsZWdhbEF0dHJFcnIoY3R4dCwKKwkJCSAgICBYTUxfU0NIRU1BUF9TNFNfQVRUUl9OT1RfQUxMT1dFRCwgTlVMTCwgYXR0cik7CisJCSAgICB9CisJCX0KKwkgICAgfSBlbHNlIGlmICh4bWxTdHJFcXVhbChhdHRyLT5ucy0+aHJlZiwgeG1sU2NoZW1hTnMpKSB7CisKKwkJeG1sU2NoZW1hUElsbGVnYWxBdHRyRXJyKGN0eHQsCisJCSAgICBYTUxfU0NIRU1BUF9TNFNfQVRUUl9OT1RfQUxMT1dFRCwgTlVMTCwgYXR0cik7CisJICAgIH0KKwkgICAgYXR0ciA9IGF0dHItPm5leHQ7CisJfQorCS8qCisJKiBFeHRyYWN0L3ZhbGlkYXRlIGF0dHJpYnV0ZXMuCisJKi8KKwlpZiAodG9wTGV2ZWwpIHsKKwkgICAgLyoKKwkgICAgKiBQcm9jZXNzIHRvcCBhdHRyaWJ1dGVzIG9mIGdsb2JhbCBlbGVtZW50IGRlY2xhcmF0aW9ucyBoZXJlLgorCSAgICAqLworCSAgICBkZWNsLT5mbGFncyB8PSBYTUxfU0NIRU1BU19FTEVNX0dMT0JBTDsKKwkgICAgZGVjbC0+ZmxhZ3MgfD0gWE1MX1NDSEVNQVNfRUxFTV9UT1BMRVZFTDsKKwkgICAgeG1sU2NoZW1hUFZhbEF0dHJRTmFtZShjdHh0LCBzY2hlbWEsCisJCU5VTEwsIG5vZGUsICJzdWJzdGl0dXRpb25Hcm91cCIsCisJCSYoZGVjbC0+c3Vic3RHcm91cE5zKSwgJihkZWNsLT5zdWJzdEdyb3VwKSk7CisJICAgIGlmICh4bWxHZXRCb29sZWFuUHJvcChjdHh0LCBub2RlLCAiYWJzdHJhY3QiLCAwKSkKKwkJZGVjbC0+ZmxhZ3MgfD0gWE1MX1NDSEVNQVNfRUxFTV9BQlNUUkFDVDsKKwkgICAgLyoKKwkgICAgKiBBdHRyaWJ1dGUgImZpbmFsIi4KKwkgICAgKi8KKwkgICAgYXR0ciA9IHhtbFNjaGVtYUdldFByb3BOb2RlKG5vZGUsICJmaW5hbCIpOworCSAgICBpZiAoYXR0ciA9PSBOVUxMKSB7CisJCWlmIChzY2hlbWEtPmZsYWdzICYgWE1MX1NDSEVNQVNfRklOQUxfREVGQVVMVF9FWFRFTlNJT04pCisJCSAgICBkZWNsLT5mbGFncyB8PSBYTUxfU0NIRU1BU19FTEVNX0ZJTkFMX0VYVEVOU0lPTjsKKwkJaWYgKHNjaGVtYS0+ZmxhZ3MgJiBYTUxfU0NIRU1BU19GSU5BTF9ERUZBVUxUX1JFU1RSSUNUSU9OKQorCQkgICAgZGVjbC0+ZmxhZ3MgfD0gWE1MX1NDSEVNQVNfRUxFTV9GSU5BTF9SRVNUUklDVElPTjsKKwkgICAgfSBlbHNlIHsKKwkJYXR0clZhbHVlID0geG1sU2NoZW1hR2V0Tm9kZUNvbnRlbnQoY3R4dCwgKHhtbE5vZGVQdHIpIGF0dHIpOworCQlpZiAoeG1sU2NoZW1hUFZhbEF0dHJCbG9ja0ZpbmFsKGF0dHJWYWx1ZSwgJihkZWNsLT5mbGFncyksCisJCSAgICAtMSwKKwkJICAgIFhNTF9TQ0hFTUFTX0VMRU1fRklOQUxfRVhURU5TSU9OLAorCQkgICAgWE1MX1NDSEVNQVNfRUxFTV9GSU5BTF9SRVNUUklDVElPTiwgLTEsIC0xLCAtMSkgIT0gMCkgeworCQkgICAgeG1sU2NoZW1hUFNpbXBsZVR5cGVFcnIoY3R4dCwKKwkJCVhNTF9TQ0hFTUFQX1M0U19BVFRSX0lOVkFMSURfVkFMVUUsCisJCQlOVUxMLCAoeG1sTm9kZVB0cikgYXR0ciwKKwkJCU5VTEwsICIoI2FsbCB8IExpc3Qgb2YgKGV4dGVuc2lvbiB8IHJlc3RyaWN0aW9uKSkiLAorCQkJYXR0clZhbHVlLCBOVUxMLCBOVUxMLCBOVUxMKTsKKwkJfQorCSAgICB9CisJfQorCS8qCisJKiBBdHRyaWJ1dGUgImJsb2NrIi4KKwkqLworCWF0dHIgPSB4bWxTY2hlbWFHZXRQcm9wTm9kZShub2RlLCAiYmxvY2siKTsKKwlpZiAoYXR0ciA9PSBOVUxMKSB7CisJICAgIC8qCisJICAgICogQXBwbHkgZGVmYXVsdCAiYmxvY2siIHZhbHVlcy4KKwkgICAgKi8KKwkgICAgaWYgKHNjaGVtYS0+ZmxhZ3MgJiBYTUxfU0NIRU1BU19CTE9DS19ERUZBVUxUX1JFU1RSSUNUSU9OKQorCQlkZWNsLT5mbGFncyB8PSBYTUxfU0NIRU1BU19FTEVNX0JMT0NLX1JFU1RSSUNUSU9OOworCSAgICBpZiAoc2NoZW1hLT5mbGFncyAmIFhNTF9TQ0hFTUFTX0JMT0NLX0RFRkFVTFRfRVhURU5TSU9OKQorCQlkZWNsLT5mbGFncyB8PSBYTUxfU0NIRU1BU19FTEVNX0JMT0NLX0VYVEVOU0lPTjsKKwkgICAgaWYgKHNjaGVtYS0+ZmxhZ3MgJiBYTUxfU0NIRU1BU19CTE9DS19ERUZBVUxUX1NVQlNUSVRVVElPTikKKwkJZGVjbC0+ZmxhZ3MgfD0gWE1MX1NDSEVNQVNfRUxFTV9CTE9DS19TVUJTVElUVVRJT047CisJfSBlbHNlIHsKKwkgICAgYXR0clZhbHVlID0geG1sU2NoZW1hR2V0Tm9kZUNvbnRlbnQoY3R4dCwgKHhtbE5vZGVQdHIpIGF0dHIpOworCSAgICBpZiAoeG1sU2NoZW1hUFZhbEF0dHJCbG9ja0ZpbmFsKGF0dHJWYWx1ZSwgJihkZWNsLT5mbGFncyksCisJCS0xLAorCQlYTUxfU0NIRU1BU19FTEVNX0JMT0NLX0VYVEVOU0lPTiwKKwkJWE1MX1NDSEVNQVNfRUxFTV9CTE9DS19SRVNUUklDVElPTiwKKwkJWE1MX1NDSEVNQVNfRUxFTV9CTE9DS19TVUJTVElUVVRJT04sIC0xLCAtMSkgIT0gMCkgeworCQl4bWxTY2hlbWFQU2ltcGxlVHlwZUVycihjdHh0LAorCQkgICAgWE1MX1NDSEVNQVBfUzRTX0FUVFJfSU5WQUxJRF9WQUxVRSwKKwkJICAgIE5VTEwsICh4bWxOb2RlUHRyKSBhdHRyLAorCQkgICAgTlVMTCwgIigjYWxsIHwgTGlzdCBvZiAoZXh0ZW5zaW9uIHwgIgorCQkgICAgInJlc3RyaWN0aW9uIHwgc3Vic3RpdHV0aW9uKSkiLCBhdHRyVmFsdWUsCisJCSAgICBOVUxMLCBOVUxMLCBOVUxMKTsKKwkgICAgfQorCX0KKwlpZiAoeG1sR2V0Qm9vbGVhblByb3AoY3R4dCwgbm9kZSwgIm5pbGxhYmxlIiwgMCkpCisJICAgIGRlY2wtPmZsYWdzIHw9IFhNTF9TQ0hFTUFTX0VMRU1fTklMTEFCTEU7CisKKwlhdHRyID0geG1sU2NoZW1hR2V0UHJvcE5vZGUobm9kZSwgInR5cGUiKTsKKwlpZiAoYXR0ciAhPSBOVUxMKSB7CisJICAgIHhtbFNjaGVtYVBWYWxBdHRyTm9kZVFOYW1lKGN0eHQsIHNjaGVtYSwKKwkJTlVMTCwgYXR0ciwKKwkJJihkZWNsLT5uYW1lZFR5cGVOcyksICYoZGVjbC0+bmFtZWRUeXBlKSk7CisJICAgIHhtbFNjaGVtYUNoZWNrUmVmZXJlbmNlKGN0eHQsIHNjaGVtYSwgbm9kZSwKKwkJYXR0ciwgZGVjbC0+bmFtZWRUeXBlTnMpOworCX0KKwlkZWNsLT52YWx1ZSA9IHhtbFNjaGVtYUdldFByb3AoY3R4dCwgbm9kZSwgImRlZmF1bHQiKTsKKwlhdHRyID0geG1sU2NoZW1hR2V0UHJvcE5vZGUobm9kZSwgImZpeGVkIik7CisJaWYgKGF0dHIgIT0gTlVMTCkgeworCSAgICBmaXhlZCA9IHhtbFNjaGVtYUdldE5vZGVDb250ZW50KGN0eHQsICh4bWxOb2RlUHRyKSBhdHRyKTsKKwkgICAgaWYgKGRlY2wtPnZhbHVlICE9IE5VTEwpIHsKKwkJLyoKKwkJKiAzLjMuMyA6IDEKKwkJKiBkZWZhdWx0IGFuZCBmaXhlZCBtdXN0IG5vdCBib3RoIGJlIHByZXNlbnQuCisJCSovCisJCXhtbFNjaGVtYVBNdXR1YWxFeGNsQXR0ckVycihjdHh0LAorCQkgICAgWE1MX1NDSEVNQVBfU1JDX0VMRU1FTlRfMSwKKwkJICAgIE5VTEwsIGF0dHIsICJkZWZhdWx0IiwgImZpeGVkIik7CisJICAgIH0gZWxzZSB7CisJCWRlY2wtPmZsYWdzIHw9IFhNTF9TQ0hFTUFTX0VMRU1fRklYRUQ7CisJCWRlY2wtPnZhbHVlID0gZml4ZWQ7CisJICAgIH0KKwl9CisJLyoKKwkqIEFuZCBub3cgZm9yIHRoZSBjaGlsZHJlbi4uLgorCSovCisJaWYgKElTX1NDSEVNQShjaGlsZCwgImNvbXBsZXhUeXBlIikpIHsKKwkgICAgLyoKKwkgICAgKiAzLjMuMyA6IDMKKwkgICAgKiAidHlwZSIgYW5kIGVpdGhlciA8c2ltcGxlVHlwZT4gb3IgPGNvbXBsZXhUeXBlPiBhcmUgbXV0dWFsbHkKKwkgICAgKiBleGNsdXNpdmUKKwkgICAgKi8KKwkgICAgaWYgKGRlY2wtPm5hbWVkVHlwZSAhPSBOVUxMKSB7CisJCXhtbFNjaGVtYVBDb250ZW50RXJyKGN0eHQsCisJCSAgICBYTUxfU0NIRU1BUF9TUkNfRUxFTUVOVF8zLAorCQkgICAgTlVMTCwgbm9kZSwgY2hpbGQsCisJCSAgICAiVGhlIGF0dHJpYnV0ZSAndHlwZScgYW5kIHRoZSA8Y29tcGxleFR5cGU+IGNoaWxkIGFyZSAiCisJCSAgICAibXV0dWFsbHkgZXhjbHVzaXZlIiwgTlVMTCk7CisJICAgIH0gZWxzZQorCQlXWFNfRUxFTV9UWVBFREVGKGRlY2wpID0geG1sU2NoZW1hUGFyc2VDb21wbGV4VHlwZShjdHh0LCBzY2hlbWEsIGNoaWxkLCAwKTsKKwkgICAgY2hpbGQgPSBjaGlsZC0+bmV4dDsKKwl9IGVsc2UgaWYgKElTX1NDSEVNQShjaGlsZCwgInNpbXBsZVR5cGUiKSkgeworCSAgICAvKgorCSAgICAqIDMuMy4zIDogMworCSAgICAqICJ0eXBlIiBhbmQgZWl0aGVyIDxzaW1wbGVUeXBlPiBvciA8Y29tcGxleFR5cGU+IGFyZQorCSAgICAqIG11dHVhbGx5IGV4Y2x1c2l2ZQorCSAgICAqLworCSAgICBpZiAoZGVjbC0+bmFtZWRUeXBlICE9IE5VTEwpIHsKKwkJeG1sU2NoZW1hUENvbnRlbnRFcnIoY3R4dCwKKwkJICAgIFhNTF9TQ0hFTUFQX1NSQ19FTEVNRU5UXzMsCisJCSAgICBOVUxMLCBub2RlLCBjaGlsZCwKKwkJICAgICJUaGUgYXR0cmlidXRlICd0eXBlJyBhbmQgdGhlIDxzaW1wbGVUeXBlPiBjaGlsZCBhcmUgIgorCQkgICAgIm11dHVhbGx5IGV4Y2x1c2l2ZSIsIE5VTEwpOworCSAgICB9IGVsc2UKKwkJV1hTX0VMRU1fVFlQRURFRihkZWNsKSA9IHhtbFNjaGVtYVBhcnNlU2ltcGxlVHlwZShjdHh0LCBzY2hlbWEsIGNoaWxkLCAwKTsKKwkgICAgY2hpbGQgPSBjaGlsZC0+bmV4dDsKKwl9CisJd2hpbGUgKChJU19TQ0hFTUEoY2hpbGQsICJ1bmlxdWUiKSkgfHwKKwkgICAgKElTX1NDSEVNQShjaGlsZCwgImtleSIpKSB8fCAoSVNfU0NIRU1BKGNoaWxkLCAia2V5cmVmIikpKSB7CisJICAgIGlmIChJU19TQ0hFTUEoY2hpbGQsICJ1bmlxdWUiKSkgeworCQljdXJJREMgPSB4bWxTY2hlbWFQYXJzZUlEQyhjdHh0LCBzY2hlbWEsIGNoaWxkLAorCQkgICAgWE1MX1NDSEVNQV9UWVBFX0lEQ19VTklRVUUsIGRlY2wtPnRhcmdldE5hbWVzcGFjZSk7CisJICAgIH0gZWxzZSBpZiAoSVNfU0NIRU1BKGNoaWxkLCAia2V5IikpIHsKKwkJY3VySURDID0geG1sU2NoZW1hUGFyc2VJREMoY3R4dCwgc2NoZW1hLCBjaGlsZCwKKwkJICAgIFhNTF9TQ0hFTUFfVFlQRV9JRENfS0VZLCBkZWNsLT50YXJnZXROYW1lc3BhY2UpOworCSAgICB9IGVsc2UgaWYgKElTX1NDSEVNQShjaGlsZCwgImtleXJlZiIpKSB7CisJCWN1cklEQyA9IHhtbFNjaGVtYVBhcnNlSURDKGN0eHQsIHNjaGVtYSwgY2hpbGQsCisJCSAgICBYTUxfU0NIRU1BX1RZUEVfSURDX0tFWVJFRiwgZGVjbC0+dGFyZ2V0TmFtZXNwYWNlKTsKKwkgICAgfQorCSAgICBpZiAobGFzdElEQyAhPSBOVUxMKQorCQlsYXN0SURDLT5uZXh0ID0gY3VySURDOworCSAgICBlbHNlCisJCWRlY2wtPmlkY3MgPSAodm9pZCAqKSBjdXJJREM7CisJICAgIGxhc3RJREMgPSBjdXJJREM7CisJICAgIGNoaWxkID0gY2hpbGQtPm5leHQ7CisJfQorCWlmIChjaGlsZCAhPSBOVUxMKSB7CisJICAgIHhtbFNjaGVtYVBDb250ZW50RXJyKGN0eHQsCisJCVhNTF9TQ0hFTUFQX1M0U19FTEVNX05PVF9BTExPV0VELAorCQlOVUxMLCBub2RlLCBjaGlsZCwKKwkJTlVMTCwgIihhbm5vdGF0aW9uPywgKChzaW1wbGVUeXBlIHwgY29tcGxleFR5cGUpPywgIgorCQkiKHVuaXF1ZSB8IGtleSB8IGtleXJlZikqKSkiKTsKKwl9CisJZGVjbC0+YW5ub3QgPSBhbm5vdDsKKyAgICB9CisgICAgLyoKKyAgICAqIE5PVEU6IEVsZW1lbnQgRGVjbGFyYXRpb24gUmVwcmVzZW50YXRpb24gT0sgNC4gd2lsbCBiZSBjaGVja2VkIGF0IGEKKyAgICAqIGRpZmZlcmVudCBsYXllci4KKyAgICAqLworICAgIEZSRUVfQU5EX05VTEwoZGVzKQorICAgIGlmICh0b3BMZXZlbCkKKwlyZXR1cm4gKCh4bWxTY2hlbWFCYXNpY0l0ZW1QdHIpIGRlY2wpOworICAgIGVsc2UgeworCXBhcnRpY2xlLT5jaGlsZHJlbiA9ICh4bWxTY2hlbWFUcmVlSXRlbVB0cikgZGVjbDsKKwlyZXR1cm4gKCh4bWxTY2hlbWFCYXNpY0l0ZW1QdHIpIHBhcnRpY2xlKTsKKyAgICB9CisKK3JldHVybl9udWxsOgorICAgIEZSRUVfQU5EX05VTEwoZGVzKTsKKyAgICBpZiAoYW5ub3QgIT0gTlVMTCkgeworCWlmIChwYXJ0aWNsZSAhPSBOVUxMKQorCSAgICBwYXJ0aWNsZS0+YW5ub3QgPSBOVUxMOworCWlmIChkZWNsICE9IE5VTEwpCisJICAgIGRlY2wtPmFubm90ID0gTlVMTDsKKwl4bWxTY2hlbWFGcmVlQW5ub3QoYW5ub3QpOworICAgIH0KKyAgICByZXR1cm4gKE5VTEwpOworfQorCisvKioKKyAqIHhtbFNjaGVtYVBhcnNlVW5pb246CisgKiBAY3R4dDogIGEgc2NoZW1hIHZhbGlkYXRpb24gY29udGV4dAorICogQHNjaGVtYTogIHRoZSBzY2hlbWEgYmVpbmcgYnVpbHQKKyAqIEBub2RlOiAgYSBzdWJ0cmVlIGNvbnRhaW5pbmcgWE1MIFNjaGVtYSBpbmZvcm1hdGlvbnMKKyAqCisgKiBwYXJzZSBhIFhNTCBzY2hlbWEgVW5pb24gZGVmaW5pdGlvbgorICogKldBUk5JTkcqIHRoaXMgaW50ZXJmYWNlIGlzIGhpZ2hseSBzdWJqZWN0IHRvIGNoYW5nZQorICoKKyAqIFJldHVybnMgLTEgaW4gY2FzZSBvZiBpbnRlcm5hbCBlcnJvciwgMCBpbiBjYXNlIG9mIHN1Y2Nlc3MgYW5kIGEgcG9zaXRpdmUKKyAqIGVycm9yIGNvZGUgb3RoZXJ3aXNlLgorICovCitzdGF0aWMgaW50Cit4bWxTY2hlbWFQYXJzZVVuaW9uKHhtbFNjaGVtYVBhcnNlckN0eHRQdHIgY3R4dCwgeG1sU2NoZW1hUHRyIHNjaGVtYSwKKyAgICAgICAgICAgICAgICAgICAgeG1sTm9kZVB0ciBub2RlKQoreworICAgIHhtbFNjaGVtYVR5cGVQdHIgdHlwZTsKKyAgICB4bWxOb2RlUHRyIGNoaWxkID0gTlVMTDsKKyAgICB4bWxBdHRyUHRyIGF0dHI7CisgICAgY29uc3QgeG1sQ2hhciAqY3VyID0gTlVMTDsKKworICAgIGlmICgoY3R4dCA9PSBOVUxMKSB8fCAoc2NoZW1hID09IE5VTEwpIHx8IChub2RlID09IE5VTEwpKQorICAgICAgICByZXR1cm4gKC0xKTsKKyAgICAvKiBOb3QgYSBjb21wb25lbnQsIGRvbid0IGNyZWF0ZSBpdC4gKi8KKyAgICB0eXBlID0gY3R4dC0+Y3R4dFR5cGU7CisgICAgLyoKKyAgICAqIE1hcmsgdGhlIHNpbXBsZSB0eXBlIGFzIGJlaW5nIG9mIHZhcmlldHkgInVuaW9uIi4KKyAgICAqLworICAgIHR5cGUtPmZsYWdzIHw9IFhNTF9TQ0hFTUFTX1RZUEVfVkFSSUVUWV9VTklPTjsKKyAgICAvKgorICAgICogU1BFQyAoQmFzZSB0eXBlKSAoMikgIklmIHRoZSA8bGlzdD4gb3IgPHVuaW9uPiBhbHRlcm5hdGl2ZSBpcyBjaG9zZW4sCisgICAgKiB0aGVuIHRoZSBgc2ltcGxlIHVyLXR5cGUgZGVmaW5pdGlvbmAuIgorICAgICovCisgICAgdHlwZS0+YmFzZVR5cGUgPSB4bWxTY2hlbWFHZXRCdWlsdEluVHlwZShYTUxfU0NIRU1BU19BTllTSU1QTEVUWVBFKTsKKyAgICAvKgorICAgICogQ2hlY2sgZm9yIGlsbGVnYWwgYXR0cmlidXRlcy4KKyAgICAqLworICAgIGF0dHIgPSBub2RlLT5wcm9wZXJ0aWVzOworICAgIHdoaWxlIChhdHRyICE9IE5VTEwpIHsKKwlpZiAoYXR0ci0+bnMgPT0gTlVMTCkgeworCSAgICBpZiAoKCF4bWxTdHJFcXVhbChhdHRyLT5uYW1lLCBCQURfQ0FTVCAiaWQiKSkgJiYKKwkJKCF4bWxTdHJFcXVhbChhdHRyLT5uYW1lLCBCQURfQ0FTVCAibWVtYmVyVHlwZXMiKSkpIHsKKwkJeG1sU2NoZW1hUElsbGVnYWxBdHRyRXJyKGN0eHQsCisJCSAgICBYTUxfU0NIRU1BUF9TNFNfQVRUUl9OT1RfQUxMT1dFRCwgTlVMTCwgYXR0cik7CisJICAgIH0KKwl9IGVsc2UgaWYgKHhtbFN0ckVxdWFsKGF0dHItPm5zLT5ocmVmLCB4bWxTY2hlbWFOcykpIHsKKwkgICAgeG1sU2NoZW1hUElsbGVnYWxBdHRyRXJyKGN0eHQsCisJCVhNTF9TQ0hFTUFQX1M0U19BVFRSX05PVF9BTExPV0VELCBOVUxMLCBhdHRyKTsKKwl9CisJYXR0ciA9IGF0dHItPm5leHQ7CisgICAgfQorICAgIHhtbFNjaGVtYVBWYWxBdHRySUQoY3R4dCwgbm9kZSwgQkFEX0NBU1QgImlkIik7CisgICAgLyoKKyAgICAqIEF0dHJpYnV0ZSAibWVtYmVyVHlwZXMiLiBUaGlzIGlzIGEgbGlzdCBvZiBRTmFtZXMuCisgICAgKiBUT0RPOiBDaGVjayB0aGUgdmFsdWUgdG8gY29udGFpbiBhbnl0aGluZy4KKyAgICAqLworICAgIGF0dHIgPSB4bWxTY2hlbWFHZXRQcm9wTm9kZShub2RlLCAibWVtYmVyVHlwZXMiKTsKKyAgICBpZiAoYXR0ciAhPSBOVUxMKSB7CisJY29uc3QgeG1sQ2hhciAqZW5kOworCXhtbENoYXIgKnRtcDsKKwljb25zdCB4bWxDaGFyICpsb2NhbE5hbWUsICpuc05hbWU7CisJeG1sU2NoZW1hVHlwZUxpbmtQdHIgbGluaywgbGFzdExpbmsgPSBOVUxMOworCXhtbFNjaGVtYVFOYW1lUmVmUHRyIHJlZjsKKworCWN1ciA9IHhtbFNjaGVtYUdldE5vZGVDb250ZW50KGN0eHQsICh4bWxOb2RlUHRyKSBhdHRyKTsKKwl0eXBlLT5iYXNlID0gY3VyOworCWRvIHsKKwkgICAgd2hpbGUgKElTX0JMQU5LX0NIKCpjdXIpKQorCQljdXIrKzsKKwkgICAgZW5kID0gY3VyOworCSAgICB3aGlsZSAoKCplbmQgIT0gMCkgJiYgKCEoSVNfQkxBTktfQ0goKmVuZCkpKSkKKwkJZW5kKys7CisJICAgIGlmIChlbmQgPT0gY3VyKQorCQlicmVhazsKKwkgICAgdG1wID0geG1sU3RybmR1cChjdXIsIGVuZCAtIGN1cik7CisJICAgIGlmICh4bWxTY2hlbWFQVmFsQXR0ck5vZGVRTmFtZVZhbHVlKGN0eHQsIHNjaGVtYSwKKwkJTlVMTCwgYXR0ciwgQkFEX0NBU1QgdG1wLCAmbnNOYW1lLCAmbG9jYWxOYW1lKSA9PSAwKSB7CisJCS8qCisJCSogQ3JlYXRlIHRoZSBtZW1iZXIgdHlwZSBsaW5rLgorCQkqLworCQlsaW5rID0gKHhtbFNjaGVtYVR5cGVMaW5rUHRyKQorCQkgICAgeG1sTWFsbG9jKHNpemVvZih4bWxTY2hlbWFUeXBlTGluaykpOworCQlpZiAobGluayA9PSBOVUxMKSB7CisJCSAgICB4bWxTY2hlbWFQRXJyTWVtb3J5KGN0eHQsICJ4bWxTY2hlbWFQYXJzZVVuaW9uLCAiCisJCQkiYWxsb2NhdGluZyBhIHR5cGUgbGluayIsIE5VTEwpOworCQkgICAgcmV0dXJuICgtMSk7CisJCX0KKwkJbGluay0+dHlwZSA9IE5VTEw7CisJCWxpbmstPm5leHQgPSBOVUxMOworCQlpZiAobGFzdExpbmsgPT0gTlVMTCkKKwkJICAgIHR5cGUtPm1lbWJlclR5cGVzID0gbGluazsKKwkJZWxzZQorCQkgICAgbGFzdExpbmstPm5leHQgPSBsaW5rOworCQlsYXN0TGluayA9IGxpbms7CisJCS8qCisJCSogQ3JlYXRlIGEgcmVmZXJlbmNlIGl0ZW0uCisJCSovCisJCXJlZiA9IHhtbFNjaGVtYU5ld1FOYW1lUmVmKGN0eHQsIFhNTF9TQ0hFTUFfVFlQRV9TSU1QTEUsCisJCSAgICBsb2NhbE5hbWUsIG5zTmFtZSk7CisJCWlmIChyZWYgPT0gTlVMTCkgeworCQkgICAgRlJFRV9BTkRfTlVMTCh0bXApCisJCSAgICByZXR1cm4gKC0xKTsKKwkJfQorCQkvKgorCQkqIEFzc2lnbiB0aGUgcmVmZXJlbmNlIHRvIHRoZSBsaW5rLCBpdCB3aWxsIGJlIHJlc29sdmVkCisJCSogbGF0ZXIgZHVyaW5nIGZpeHVwIG9mIHRoZSB1bmlvbiBzaW1wbGUgdHlwZS4KKwkJKi8KKwkJbGluay0+dHlwZSA9ICh4bWxTY2hlbWFUeXBlUHRyKSByZWY7CisJICAgIH0KKwkgICAgRlJFRV9BTkRfTlVMTCh0bXApCisJICAgIGN1ciA9IGVuZDsKKwl9IHdoaWxlICgqY3VyICE9IDApOworCisgICAgfQorICAgIC8qCisgICAgKiBBbmQgbm93IGZvciB0aGUgY2hpbGRyZW4uLi4KKyAgICAqLworICAgIGNoaWxkID0gbm9kZS0+Y2hpbGRyZW47CisgICAgaWYgKElTX1NDSEVNQShjaGlsZCwgImFubm90YXRpb24iKSkgeworCS8qCisJKiBBZGQgdGhlIGFubm90YXRpb24gdG8gdGhlIHNpbXBsZSB0eXBlIGFuY2VzdG9yLgorCSovCisJeG1sU2NoZW1hQWRkQW5ub3RhdGlvbigoeG1sU2NoZW1hQW5ub3RJdGVtUHRyKSB0eXBlLAorCSAgICB4bWxTY2hlbWFQYXJzZUFubm90YXRpb24oY3R4dCwgY2hpbGQsIDEpKTsKKyAgICAgICAgY2hpbGQgPSBjaGlsZC0+bmV4dDsKKyAgICB9CisgICAgaWYgKElTX1NDSEVNQShjaGlsZCwgInNpbXBsZVR5cGUiKSkgeworCXhtbFNjaGVtYVR5cGVQdHIgc3VidHlwZSwgbGFzdCA9IE5VTEw7CisKKwkvKgorCSogQW5jaG9yIHRoZSBtZW1iZXIgdHlwZXMgaW4gdGhlICJzdWJ0eXBlcyIgZmllbGQgb2YgdGhlCisJKiBzaW1wbGUgdHlwZS4KKwkqLworCXdoaWxlIChJU19TQ0hFTUEoY2hpbGQsICJzaW1wbGVUeXBlIikpIHsKKwkgICAgc3VidHlwZSA9ICh4bWxTY2hlbWFUeXBlUHRyKQorCQl4bWxTY2hlbWFQYXJzZVNpbXBsZVR5cGUoY3R4dCwgc2NoZW1hLCBjaGlsZCwgMCk7CisJICAgIGlmIChzdWJ0eXBlICE9IE5VTEwpIHsKKwkJaWYgKGxhc3QgPT0gTlVMTCkgeworCQkgICAgdHlwZS0+c3VidHlwZXMgPSBzdWJ0eXBlOworCQkgICAgbGFzdCA9IHN1YnR5cGU7CisJCX0gZWxzZSB7CisJCSAgICBsYXN0LT5uZXh0ID0gc3VidHlwZTsKKwkJICAgIGxhc3QgPSBzdWJ0eXBlOworCQl9CisJCWxhc3QtPm5leHQgPSBOVUxMOworCSAgICB9CisJICAgIGNoaWxkID0gY2hpbGQtPm5leHQ7CisJfQorICAgIH0KKyAgICBpZiAoY2hpbGQgIT0gTlVMTCkgeworCXhtbFNjaGVtYVBDb250ZW50RXJyKGN0eHQsCisJICAgIFhNTF9TQ0hFTUFQX1M0U19FTEVNX05PVF9BTExPV0VELAorCSAgICBOVUxMLCBub2RlLCBjaGlsZCwgTlVMTCwgIihhbm5vdGF0aW9uPywgc2ltcGxlVHlwZSopIik7CisgICAgfQorICAgIGlmICgoYXR0ciA9PSBOVUxMKSAmJiAodHlwZS0+c3VidHlwZXMgPT0gTlVMTCkpIHsKKwkgLyoKKwkqIHNyYy11bmlvbi1tZW1iZXJUeXBlcy1vci1zaW1wbGVUeXBlcworCSogRWl0aGVyIHRoZSBtZW1iZXJUeXBlcyBbYXR0cmlidXRlXSBvZiB0aGUgPHVuaW9uPiBlbGVtZW50IG11c3QKKwkqIGJlIG5vbi1lbXB0eSBvciB0aGVyZSBtdXN0IGJlIGF0IGxlYXN0IG9uZSBzaW1wbGVUeXBlIFtjaGlsZF0uCisJKi8KKwl4bWxTY2hlbWFQQ3VzdG9tRXJyKGN0eHQsCisJICAgIFhNTF9TQ0hFTUFQX1NSQ19VTklPTl9NRU1CRVJUWVBFU19PUl9TSU1QTEVUWVBFUywKKwkgICAgTlVMTCwgbm9kZSwKKwkgICAgIkVpdGhlciB0aGUgYXR0cmlidXRlICdtZW1iZXJUeXBlcycgb3IgIgorCSAgICAiYXQgbGVhc3Qgb25lIDxzaW1wbGVUeXBlPiBjaGlsZCBtdXN0IGJlIHByZXNlbnQiLCBOVUxMKTsKKyAgICB9CisgICAgcmV0dXJuICgwKTsKK30KKworLyoqCisgKiB4bWxTY2hlbWFQYXJzZUxpc3Q6CisgKiBAY3R4dDogIGEgc2NoZW1hIHZhbGlkYXRpb24gY29udGV4dAorICogQHNjaGVtYTogIHRoZSBzY2hlbWEgYmVpbmcgYnVpbHQKKyAqIEBub2RlOiAgYSBzdWJ0cmVlIGNvbnRhaW5pbmcgWE1MIFNjaGVtYSBpbmZvcm1hdGlvbnMKKyAqCisgKiBwYXJzZSBhIFhNTCBzY2hlbWEgTGlzdCBkZWZpbml0aW9uCisgKiAqV0FSTklORyogdGhpcyBpbnRlcmZhY2UgaXMgaGlnaGx5IHN1YmplY3QgdG8gY2hhbmdlCisgKgorICogUmV0dXJucyAtMSBpbiBjYXNlIG9mIGVycm9yLCAwIGlmIHRoZSBkZWNsYXJhdGlvbiBpcyBpbXByb3BlciBhbmQKKyAqICAgICAgICAgMSBpbiBjYXNlIG9mIHN1Y2Nlc3MuCisgKi8KK3N0YXRpYyB4bWxTY2hlbWFUeXBlUHRyCit4bWxTY2hlbWFQYXJzZUxpc3QoeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBjdHh0LCB4bWxTY2hlbWFQdHIgc2NoZW1hLAorICAgICAgICAgICAgICAgICAgIHhtbE5vZGVQdHIgbm9kZSkKK3sKKyAgICB4bWxTY2hlbWFUeXBlUHRyIHR5cGU7CisgICAgeG1sTm9kZVB0ciBjaGlsZCA9IE5VTEw7CisgICAgeG1sQXR0clB0ciBhdHRyOworCisgICAgaWYgKChjdHh0ID09IE5VTEwpIHx8IChzY2hlbWEgPT0gTlVMTCkgfHwgKG5vZGUgPT0gTlVMTCkpCisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgLyogTm90IGEgY29tcG9uZW50LCBkb24ndCBjcmVhdGUgaXQuICovCisgICAgdHlwZSA9IGN0eHQtPmN0eHRUeXBlOworICAgIC8qCisgICAgKiBNYXJrIHRoZSB0eXBlIGFzIGJlaW5nIG9mIHZhcmlldHkgImxpc3QiLgorICAgICovCisgICAgdHlwZS0+ZmxhZ3MgfD0gWE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX0xJU1Q7CisgICAgLyoKKyAgICAqIFNQRUMgKEJhc2UgdHlwZSkgKDIpICJJZiB0aGUgPGxpc3Q+IG9yIDx1bmlvbj4gYWx0ZXJuYXRpdmUgaXMgY2hvc2VuLAorICAgICogdGhlbiB0aGUgYHNpbXBsZSB1ci10eXBlIGRlZmluaXRpb25gLiIKKyAgICAqLworICAgIHR5cGUtPmJhc2VUeXBlID0geG1sU2NoZW1hR2V0QnVpbHRJblR5cGUoWE1MX1NDSEVNQVNfQU5ZU0lNUExFVFlQRSk7CisgICAgLyoKKyAgICAqIENoZWNrIGZvciBpbGxlZ2FsIGF0dHJpYnV0ZXMuCisgICAgKi8KKyAgICBhdHRyID0gbm9kZS0+cHJvcGVydGllczsKKyAgICB3aGlsZSAoYXR0ciAhPSBOVUxMKSB7CisJaWYgKGF0dHItPm5zID09IE5VTEwpIHsKKwkgICAgaWYgKCgheG1sU3RyRXF1YWwoYXR0ci0+bmFtZSwgQkFEX0NBU1QgImlkIikpICYmCisJCSgheG1sU3RyRXF1YWwoYXR0ci0+bmFtZSwgQkFEX0NBU1QgIml0ZW1UeXBlIikpKSB7CisJCXhtbFNjaGVtYVBJbGxlZ2FsQXR0ckVycihjdHh0LAorCQkgICAgWE1MX1NDSEVNQVBfUzRTX0FUVFJfTk9UX0FMTE9XRUQsIE5VTEwsIGF0dHIpOworCSAgICB9CisJfSBlbHNlIGlmICh4bWxTdHJFcXVhbChhdHRyLT5ucy0+aHJlZiwgeG1sU2NoZW1hTnMpKSB7CisJICAgIHhtbFNjaGVtYVBJbGxlZ2FsQXR0ckVycihjdHh0LAorCQlYTUxfU0NIRU1BUF9TNFNfQVRUUl9OT1RfQUxMT1dFRCwgTlVMTCwgYXR0cik7CisJfQorCWF0dHIgPSBhdHRyLT5uZXh0OworICAgIH0KKworICAgIHhtbFNjaGVtYVBWYWxBdHRySUQoY3R4dCwgbm9kZSwgQkFEX0NBU1QgImlkIik7CisKKyAgICAvKgorICAgICogQXR0cmlidXRlICJpdGVtVHlwZSIuIE5PVEUgdGhhdCB3ZSB3aWxsIHVzZSB0aGUgInJlZiIgYW5kICJyZWZOcyIKKyAgICAqIGZpZWxkcyBmb3IgaG9sZGluZyB0aGUgcmVmZXJlbmNlIHRvIHRoZSBpdGVtVHlwZS4KKyAgICAqCisgICAgKiBSRVZBTVAgVE9ETzogVXNlIHRoZSAiYmFzZSIgYW5kICJiYXNlTnMiIGZpZWxkcywgc2luY2Ugd2Ugd2lsbCByZW1vdmUKKyAgICAqIHRoZSAicmVmIiBmaWVsZHMuCisgICAgKi8KKyAgICB4bWxTY2hlbWFQVmFsQXR0clFOYW1lKGN0eHQsIHNjaGVtYSwgTlVMTCwKKwlub2RlLCAiaXRlbVR5cGUiLCAmKHR5cGUtPmJhc2VOcyksICYodHlwZS0+YmFzZSkpOworICAgIC8qCisgICAgKiBBbmQgbm93IGZvciB0aGUgY2hpbGRyZW4uLi4KKyAgICAqLworICAgIGNoaWxkID0gbm9kZS0+Y2hpbGRyZW47CisgICAgaWYgKElTX1NDSEVNQShjaGlsZCwgImFubm90YXRpb24iKSkgeworCXhtbFNjaGVtYUFkZEFubm90YXRpb24oKHhtbFNjaGVtYUFubm90SXRlbVB0cikgdHlwZSwKKwkgICAgeG1sU2NoZW1hUGFyc2VBbm5vdGF0aW9uKGN0eHQsIGNoaWxkLCAxKSk7CisgICAgICAgIGNoaWxkID0gY2hpbGQtPm5leHQ7CisgICAgfQorICAgIGlmIChJU19TQ0hFTUEoY2hpbGQsICJzaW1wbGVUeXBlIikpIHsKKwkvKgorCSogc3JjLWxpc3QtaXRlbVR5cGUtb3Itc2ltcGxlVHlwZQorCSogRWl0aGVyIHRoZSBpdGVtVHlwZSBbYXR0cmlidXRlXSBvciB0aGUgPHNpbXBsZVR5cGU+IFtjaGlsZF0gb2YKKwkqIHRoZSA8bGlzdD4gZWxlbWVudCBtdXN0IGJlIHByZXNlbnQsIGJ1dCBub3QgYm90aC4KKwkqLworCWlmICh0eXBlLT5iYXNlICE9IE5VTEwpIHsKKwkgICAgeG1sU2NoZW1hUEN1c3RvbUVycihjdHh0LAorCQlYTUxfU0NIRU1BUF9TUkNfU0lNUExFX1RZUEVfMSwKKwkJTlVMTCwgbm9kZSwKKwkJIlRoZSBhdHRyaWJ1dGUgJ2l0ZW1UeXBlJyBhbmQgdGhlIDxzaW1wbGVUeXBlPiBjaGlsZCAiCisJCSJhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIiwgTlVMTCk7CisJfSBlbHNlIHsKKwkgICAgdHlwZS0+c3VidHlwZXMgPSB4bWxTY2hlbWFQYXJzZVNpbXBsZVR5cGUoY3R4dCwgc2NoZW1hLCBjaGlsZCwgMCk7CisJfQorICAgICAgICBjaGlsZCA9IGNoaWxkLT5uZXh0OworICAgIH0gZWxzZSBpZiAodHlwZS0+YmFzZSA9PSBOVUxMKSB7CisJeG1sU2NoZW1hUEN1c3RvbUVycihjdHh0LAorCSAgICBYTUxfU0NIRU1BUF9TUkNfU0lNUExFX1RZUEVfMSwKKwkgICAgTlVMTCwgbm9kZSwKKwkgICAgIkVpdGhlciB0aGUgYXR0cmlidXRlICdpdGVtVHlwZScgb3IgdGhlIDxzaW1wbGVUeXBlPiBjaGlsZCAiCisJICAgICJtdXN0IGJlIHByZXNlbnQiLCBOVUxMKTsKKyAgICB9CisgICAgaWYgKGNoaWxkICE9IE5VTEwpIHsKKwl4bWxTY2hlbWFQQ29udGVudEVycihjdHh0LAorCSAgICBYTUxfU0NIRU1BUF9TNFNfRUxFTV9OT1RfQUxMT1dFRCwKKwkgICAgTlVMTCwgbm9kZSwgY2hpbGQsIE5VTEwsICIoYW5ub3RhdGlvbj8sIHNpbXBsZVR5cGU/KSIpOworICAgIH0KKyAgICBpZiAoKHR5cGUtPmJhc2UgPT0gTlVMTCkgJiYKKwkodHlwZS0+c3VidHlwZXMgPT0gTlVMTCkgJiYKKwkoeG1sU2NoZW1hR2V0UHJvcE5vZGUobm9kZSwgIml0ZW1UeXBlIikgPT0gTlVMTCkpIHsKKwl4bWxTY2hlbWFQQ3VzdG9tRXJyKGN0eHQsCisJICAgIFhNTF9TQ0hFTUFQX1NSQ19TSU1QTEVfVFlQRV8xLAorCSAgICBOVUxMLCBub2RlLAorCSAgICAiRWl0aGVyIHRoZSBhdHRyaWJ1dGUgJ2l0ZW1UeXBlJyBvciB0aGUgPHNpbXBsZVR5cGU+IGNoaWxkICIKKwkgICAgIm11c3QgYmUgcHJlc2VudCIsIE5VTEwpOworICAgIH0KKyAgICByZXR1cm4gKE5VTEwpOworfQorCisvKioKKyAqIHhtbFNjaGVtYVBhcnNlU2ltcGxlVHlwZToKKyAqIEBjdHh0OiAgYSBzY2hlbWEgdmFsaWRhdGlvbiBjb250ZXh0CisgKiBAc2NoZW1hOiAgdGhlIHNjaGVtYSBiZWluZyBidWlsdAorICogQG5vZGU6ICBhIHN1YnRyZWUgY29udGFpbmluZyBYTUwgU2NoZW1hIGluZm9ybWF0aW9ucworICoKKyAqIHBhcnNlIGEgWE1MIHNjaGVtYSBTaW1wbGUgVHlwZSBkZWZpbml0aW9uCisgKiAqV0FSTklORyogdGhpcyBpbnRlcmZhY2UgaXMgaGlnaGx5IHN1YmplY3QgdG8gY2hhbmdlCisgKgorICogUmV0dXJucyAtMSBpbiBjYXNlIG9mIGVycm9yLCAwIGlmIHRoZSBkZWNsYXJhdGlvbiBpcyBpbXByb3BlciBhbmQKKyAqIDEgaW4gY2FzZSBvZiBzdWNjZXNzLgorICovCitzdGF0aWMgeG1sU2NoZW1hVHlwZVB0cgoreG1sU2NoZW1hUGFyc2VTaW1wbGVUeXBlKHhtbFNjaGVtYVBhcnNlckN0eHRQdHIgY3R4dCwgeG1sU2NoZW1hUHRyIHNjaGVtYSwKKyAgICAgICAgICAgICAgICAgICAgICAgICB4bWxOb2RlUHRyIG5vZGUsIGludCB0b3BMZXZlbCkKK3sKKyAgICB4bWxTY2hlbWFUeXBlUHRyIHR5cGUsIG9sZEN0eHRUeXBlOworICAgIHhtbE5vZGVQdHIgY2hpbGQgPSBOVUxMOworICAgIGNvbnN0IHhtbENoYXIgKmF0dHJWYWx1ZSA9IE5VTEw7CisgICAgeG1sQXR0clB0ciBhdHRyOworICAgIGludCBoYXNSZXN0cmljdGlvbiA9IDA7CisKKyAgICBpZiAoKGN0eHQgPT0gTlVMTCkgfHwgKHNjaGVtYSA9PSBOVUxMKSB8fCAobm9kZSA9PSBOVUxMKSkKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKworICAgIGlmICh0b3BMZXZlbCkgeworCWF0dHIgPSB4bWxTY2hlbWFHZXRQcm9wTm9kZShub2RlLCAibmFtZSIpOworCWlmIChhdHRyID09IE5VTEwpIHsKKwkgICAgeG1sU2NoZW1hUE1pc3NpbmdBdHRyRXJyKGN0eHQsCisJCVhNTF9TQ0hFTUFQX1M0U19BVFRSX01JU1NJTkcsCisJCU5VTEwsIG5vZGUsCisJCSJuYW1lIiwgTlVMTCk7CisJICAgIHJldHVybiAoTlVMTCk7CisJfSBlbHNlIHsKKwkgICAgaWYgKHhtbFNjaGVtYVBWYWxBdHRyTm9kZShjdHh0LAorCQlOVUxMLCBhdHRyLAorCQl4bWxTY2hlbWFHZXRCdWlsdEluVHlwZShYTUxfU0NIRU1BU19OQ05BTUUpLCAmYXR0clZhbHVlKSAhPSAwKQorCQlyZXR1cm4gKE5VTEwpOworCSAgICAvKgorCSAgICAqIFNraXAgYnVpbHQtaW4gdHlwZXMuCisJICAgICovCisJICAgIGlmIChjdHh0LT5pc1M0UykgeworCQl4bWxTY2hlbWFUeXBlUHRyIGJpVHlwZTsKKworCQlpZiAoY3R4dC0+aXNSZWRlZmluZSkgeworCQkgICAgLyoKKwkJICAgICogUkVERUZJTkU6IERpc2FsbG93IHJlZGVmaW5pdGlvbiBvZiBidWlsdC1pbi10eXBlcy4KKwkJICAgICogVE9ETzogSXQgc2VlbXMgdGhhdCB0aGUgc3BlYyBkb2VzIG5vdCBzYXkgYW55dGhpbmcKKwkJICAgICogYWJvdXQgdGhpcyBjYXNlLgorCQkgICAgKi8KKwkJICAgIHhtbFNjaGVtYVBDdXN0b21FcnIoY3R4dCwgWE1MX1NDSEVNQVBfU1JDX1JFREVGSU5FLAorCQkJTlVMTCwgbm9kZSwKKwkJCSJSZWRlZmluaXRpb24gb2YgYnVpbHQtaW4gc2ltcGxlIHR5cGVzIGlzIG5vdCAiCisJCQkic3VwcG9ydGVkIiwgTlVMTCk7CisJCSAgICByZXR1cm4oTlVMTCk7CisJCX0KKwkJYmlUeXBlID0geG1sU2NoZW1hR2V0UHJlZGVmaW5lZFR5cGUoYXR0clZhbHVlLCB4bWxTY2hlbWFOcyk7CisJCWlmIChiaVR5cGUgIT0gTlVMTCkKKwkJICAgIHJldHVybiAoYmlUeXBlKTsKKwkgICAgfQorCX0KKyAgICB9CisgICAgLyoKKyAgICAqIFRhcmdldE5hbWVzcGFjZToKKyAgICAqIFNQRUMgIlRoZSBgYWN0dWFsIHZhbHVlYCBvZiB0aGUgdGFyZ2V0TmFtZXNwYWNlIFthdHRyaWJ1dGVdCisgICAgKiBvZiB0aGUgPHNjaGVtYT4gYW5jZXN0b3IgZWxlbWVudCBpbmZvcm1hdGlvbiBpdGVtIGlmIHByZXNlbnQsCisgICAgKiBvdGhlcndpc2UgYGFic2VudGAuCisgICAgKi8KKyAgICBpZiAodG9wTGV2ZWwgPT0gMCkgeworI2lmZGVmIEVOQUJMRV9OQU1FRF9MT0NBTFMKKyAgICAgICAgY2hhciBidWZbNDBdOworI2VuZGlmCisJLyoKKwkqIFBhcnNlIGFzIGxvY2FsIHNpbXBsZSB0eXBlIGRlZmluaXRpb24uCisJKi8KKyNpZmRlZiBFTkFCTEVfTkFNRURfTE9DQUxTCisgICAgICAgIHNucHJpbnRmKGJ1ZiwgMzksICIjU1QlZCIsIGN0eHQtPmNvdW50ZXIrKyArIDEpOworCXR5cGUgPSB4bWxTY2hlbWFBZGRUeXBlKGN0eHQsIHNjaGVtYSwKKwkgICAgWE1MX1NDSEVNQV9UWVBFX1NJTVBMRSwKKwkgICAgeG1sRGljdExvb2t1cChjdHh0LT5kaWN0LCAoY29uc3QgeG1sQ2hhciAqKWJ1ZiwgLTEpLAorCSAgICBjdHh0LT50YXJnZXROYW1lc3BhY2UsIG5vZGUsIDApOworI2Vsc2UKKwl0eXBlID0geG1sU2NoZW1hQWRkVHlwZShjdHh0LCBzY2hlbWEsCisJICAgIFhNTF9TQ0hFTUFfVFlQRV9TSU1QTEUsCisJICAgIE5VTEwsIGN0eHQtPnRhcmdldE5hbWVzcGFjZSwgbm9kZSwgMCk7CisjZW5kaWYKKwlpZiAodHlwZSA9PSBOVUxMKQorCSAgICByZXR1cm4gKE5VTEwpOworCXR5cGUtPnR5cGUgPSBYTUxfU0NIRU1BX1RZUEVfU0lNUExFOworCXR5cGUtPmNvbnRlbnRUeXBlID0gWE1MX1NDSEVNQV9DT05URU5UX1NJTVBMRTsKKwkvKgorCSogQ2hlY2sgZm9yIGlsbGVnYWwgYXR0cmlidXRlcy4KKwkqLworCWF0dHIgPSBub2RlLT5wcm9wZXJ0aWVzOworCXdoaWxlIChhdHRyICE9IE5VTEwpIHsKKwkgICAgaWYgKGF0dHItPm5zID09IE5VTEwpIHsKKwkJaWYgKCF4bWxTdHJFcXVhbChhdHRyLT5uYW1lLCBCQURfQ0FTVCAiaWQiKSkgeworCQkgICAgeG1sU2NoZW1hUElsbGVnYWxBdHRyRXJyKGN0eHQsCisJCQlYTUxfU0NIRU1BUF9TNFNfQVRUUl9OT1RfQUxMT1dFRCwgTlVMTCwgYXR0cik7CisJCX0KKwkgICAgfSBlbHNlIGlmICh4bWxTdHJFcXVhbChhdHRyLT5ucy0+aHJlZiwgeG1sU2NoZW1hTnMpKSB7CisJCSAgICB4bWxTY2hlbWFQSWxsZWdhbEF0dHJFcnIoY3R4dCwKKwkJCVhNTF9TQ0hFTUFQX1M0U19BVFRSX05PVF9BTExPV0VELCBOVUxMLCBhdHRyKTsKKwkgICAgfQorCSAgICBhdHRyID0gYXR0ci0+bmV4dDsKKwl9CisgICAgfSBlbHNlIHsKKwkvKgorCSogUGFyc2UgYXMgZ2xvYmFsIHNpbXBsZSB0eXBlIGRlZmluaXRpb24uCisJKgorCSogTm90ZSB0aGF0IGF0dHJWYWx1ZSBpcyB0aGUgdmFsdWUgb2YgdGhlIGF0dHJpYnV0ZSAibmFtZSIgaGVyZS4KKwkqLworCXR5cGUgPSB4bWxTY2hlbWFBZGRUeXBlKGN0eHQsIHNjaGVtYSwgWE1MX1NDSEVNQV9UWVBFX1NJTVBMRSwKKwkgICAgYXR0clZhbHVlLCBjdHh0LT50YXJnZXROYW1lc3BhY2UsIG5vZGUsIDEpOworCWlmICh0eXBlID09IE5VTEwpCisJICAgIHJldHVybiAoTlVMTCk7CisJdHlwZS0+dHlwZSA9IFhNTF9TQ0hFTUFfVFlQRV9TSU1QTEU7CisJdHlwZS0+Y29udGVudFR5cGUgPSBYTUxfU0NIRU1BX0NPTlRFTlRfU0lNUExFOworCXR5cGUtPmZsYWdzIHw9IFhNTF9TQ0hFTUFTX1RZUEVfR0xPQkFMOworCS8qCisJKiBDaGVjayBmb3IgaWxsZWdhbCBhdHRyaWJ1dGVzLgorCSovCisJYXR0ciA9IG5vZGUtPnByb3BlcnRpZXM7CisJd2hpbGUgKGF0dHIgIT0gTlVMTCkgeworCSAgICBpZiAoYXR0ci0+bnMgPT0gTlVMTCkgeworCQlpZiAoKCF4bWxTdHJFcXVhbChhdHRyLT5uYW1lLCBCQURfQ0FTVCAiaWQiKSkgJiYKKwkJICAgICgheG1sU3RyRXF1YWwoYXR0ci0+bmFtZSwgQkFEX0NBU1QgIm5hbWUiKSkgJiYKKwkJICAgICgheG1sU3RyRXF1YWwoYXR0ci0+bmFtZSwgQkFEX0NBU1QgImZpbmFsIikpKSB7CisJCSAgICB4bWxTY2hlbWFQSWxsZWdhbEF0dHJFcnIoY3R4dCwKKwkJCVhNTF9TQ0hFTUFQX1M0U19BVFRSX05PVF9BTExPV0VELCBOVUxMLCBhdHRyKTsKKwkJfQorCSAgICB9IGVsc2UgaWYgKHhtbFN0ckVxdWFsKGF0dHItPm5zLT5ocmVmLCB4bWxTY2hlbWFOcykpIHsKKwkJeG1sU2NoZW1hUElsbGVnYWxBdHRyRXJyKGN0eHQsCisJCSAgICBYTUxfU0NIRU1BUF9TNFNfQVRUUl9OT1RfQUxMT1dFRCwgTlVMTCwgYXR0cik7CisJICAgIH0KKwkgICAgYXR0ciA9IGF0dHItPm5leHQ7CisJfQorCS8qCisJKiBBdHRyaWJ1dGUgImZpbmFsIi4KKwkqLworCWF0dHIgPSB4bWxTY2hlbWFHZXRQcm9wTm9kZShub2RlLCAiZmluYWwiKTsKKwlpZiAoYXR0ciA9PSBOVUxMKSB7CisJICAgIGlmIChzY2hlbWEtPmZsYWdzICYgWE1MX1NDSEVNQVNfRklOQUxfREVGQVVMVF9SRVNUUklDVElPTikKKwkJdHlwZS0+ZmxhZ3MgfD0gWE1MX1NDSEVNQVNfVFlQRV9GSU5BTF9SRVNUUklDVElPTjsKKwkgICAgaWYgKHNjaGVtYS0+ZmxhZ3MgJiBYTUxfU0NIRU1BU19GSU5BTF9ERUZBVUxUX0xJU1QpCisJCXR5cGUtPmZsYWdzIHw9IFhNTF9TQ0hFTUFTX1RZUEVfRklOQUxfTElTVDsKKwkgICAgaWYgKHNjaGVtYS0+ZmxhZ3MgJiBYTUxfU0NIRU1BU19GSU5BTF9ERUZBVUxUX1VOSU9OKQorCQl0eXBlLT5mbGFncyB8PSBYTUxfU0NIRU1BU19UWVBFX0ZJTkFMX1VOSU9OOworCX0gZWxzZSB7CisJICAgIGF0dHJWYWx1ZSA9IHhtbFNjaGVtYUdldFByb3AoY3R4dCwgbm9kZSwgImZpbmFsIik7CisJICAgIGlmICh4bWxTY2hlbWFQVmFsQXR0ckJsb2NrRmluYWwoYXR0clZhbHVlLCAmKHR5cGUtPmZsYWdzKSwKKwkJLTEsIC0xLCBYTUxfU0NIRU1BU19UWVBFX0ZJTkFMX1JFU1RSSUNUSU9OLCAtMSwKKwkJWE1MX1NDSEVNQVNfVFlQRV9GSU5BTF9MSVNULAorCQlYTUxfU0NIRU1BU19UWVBFX0ZJTkFMX1VOSU9OKSAhPSAwKSB7CisKKwkJeG1sU2NoZW1hUFNpbXBsZVR5cGVFcnIoY3R4dCwKKwkJICAgIFhNTF9TQ0hFTUFQX1M0U19BVFRSX0lOVkFMSURfVkFMVUUsCisJCSAgICBXWFNfQkFTSUNfQ0FTVCB0eXBlLCAoeG1sTm9kZVB0cikgYXR0ciwKKwkJICAgIE5VTEwsICIoI2FsbCB8IExpc3Qgb2YgKGxpc3QgfCB1bmlvbiB8IHJlc3RyaWN0aW9uKSIsCisJCSAgICBhdHRyVmFsdWUsIE5VTEwsIE5VTEwsIE5VTEwpOworCSAgICB9CisJfQorICAgIH0KKyAgICB0eXBlLT50YXJnZXROYW1lc3BhY2UgPSBjdHh0LT50YXJnZXROYW1lc3BhY2U7CisgICAgeG1sU2NoZW1hUFZhbEF0dHJJRChjdHh0LCBub2RlLCBCQURfQ0FTVCAiaWQiKTsKKyAgICAvKgorICAgICogQW5kIG5vdyBmb3IgdGhlIGNoaWxkcmVuLi4uCisgICAgKi8KKyAgICBvbGRDdHh0VHlwZSA9IGN0eHQtPmN0eHRUeXBlOworCisgICAgY3R4dC0+Y3R4dFR5cGUgPSB0eXBlOworCisgICAgY2hpbGQgPSBub2RlLT5jaGlsZHJlbjsKKyAgICBpZiAoSVNfU0NIRU1BKGNoaWxkLCAiYW5ub3RhdGlvbiIpKSB7CisgICAgICAgIHR5cGUtPmFubm90ID0geG1sU2NoZW1hUGFyc2VBbm5vdGF0aW9uKGN0eHQsIGNoaWxkLCAxKTsKKyAgICAgICAgY2hpbGQgPSBjaGlsZC0+bmV4dDsKKyAgICB9CisgICAgaWYgKGNoaWxkID09IE5VTEwpIHsKKwl4bWxTY2hlbWFQQ29udGVudEVycihjdHh0LCBYTUxfU0NIRU1BUF9TNFNfRUxFTV9NSVNTSU5HLAorCSAgICBOVUxMLCBub2RlLCBjaGlsZCwgTlVMTCwKKwkgICAgIihhbm5vdGF0aW9uPywgKHJlc3RyaWN0aW9uIHwgbGlzdCB8IHVuaW9uKSkiKTsKKyAgICB9IGVsc2UgaWYgKElTX1NDSEVNQShjaGlsZCwgInJlc3RyaWN0aW9uIikpIHsKKyAgICAgICAgeG1sU2NoZW1hUGFyc2VSZXN0cmljdGlvbihjdHh0LCBzY2hlbWEsIGNoaWxkLAorCSAgICBYTUxfU0NIRU1BX1RZUEVfU0lNUExFKTsKKwloYXNSZXN0cmljdGlvbiA9IDE7CisgICAgICAgIGNoaWxkID0gY2hpbGQtPm5leHQ7CisgICAgfSBlbHNlIGlmIChJU19TQ0hFTUEoY2hpbGQsICJsaXN0IikpIHsKKyAgICAgICAgeG1sU2NoZW1hUGFyc2VMaXN0KGN0eHQsIHNjaGVtYSwgY2hpbGQpOworICAgICAgICBjaGlsZCA9IGNoaWxkLT5uZXh0OworICAgIH0gZWxzZSBpZiAoSVNfU0NIRU1BKGNoaWxkLCAidW5pb24iKSkgeworICAgICAgICB4bWxTY2hlbWFQYXJzZVVuaW9uKGN0eHQsIHNjaGVtYSwgY2hpbGQpOworICAgICAgICBjaGlsZCA9IGNoaWxkLT5uZXh0OworICAgIH0KKyAgICBpZiAoY2hpbGQgIT0gTlVMTCkgeworCXhtbFNjaGVtYVBDb250ZW50RXJyKGN0eHQsIFhNTF9TQ0hFTUFQX1M0U19FTEVNX05PVF9BTExPV0VELAorCSAgICBOVUxMLCBub2RlLCBjaGlsZCwgTlVMTCwKKwkgICAgIihhbm5vdGF0aW9uPywgKHJlc3RyaWN0aW9uIHwgbGlzdCB8IHVuaW9uKSkiKTsKKyAgICB9CisgICAgLyoKKyAgICAqIFJFREVGSU5FOiBTUEVDIHNyYy1yZWRlZmluZSAoNSkKKyAgICAqICJXaXRoaW4gdGhlIFtjaGlsZHJlbl0sIGVhY2ggPHNpbXBsZVR5cGU+IG11c3QgaGF2ZSBhCisgICAgKiA8cmVzdHJpY3Rpb24+IGFtb25nIGl0cyBbY2hpbGRyZW5dIC4uLiB0aGUgYGFjdHVhbCB2YWx1ZWAgb2Ygd2hvc2UKKyAgICAqIGJhc2UgW2F0dHJpYnV0ZV0gbXVzdCBiZSB0aGUgc2FtZSBhcyB0aGUgYGFjdHVhbCB2YWx1ZWAgb2YgaXRzIG93bgorICAgICogbmFtZSBhdHRyaWJ1dGUgcGx1cyB0YXJnZXQgbmFtZXNwYWNlOyIKKyAgICAqLworICAgIGlmICh0b3BMZXZlbCAmJiBjdHh0LT5pc1JlZGVmaW5lICYmICghIGhhc1Jlc3RyaWN0aW9uKSkgeworCXhtbFNjaGVtYVBDdXN0b21FcnIoY3R4dCwgWE1MX1NDSEVNQVBfU1JDX1JFREVGSU5FLAorCSAgICBOVUxMLCBub2RlLCAiVGhpcyBpcyBhIHJlZGVmaW5pdGlvbiwgdGh1cyB0aGUgIgorCSAgICAiPHNpbXBsZVR5cGU+IG11c3QgaGF2ZSBhIDxyZXN0cmljdGlvbj4gY2hpbGQiLCBOVUxMKTsKKyAgICB9CisKKyAgICBjdHh0LT5jdHh0VHlwZSA9IG9sZEN0eHRUeXBlOworICAgIHJldHVybiAodHlwZSk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hUGFyc2VNb2RlbEdyb3VwRGVmUmVmOgorICogQGN0eHQ6ICB0aGUgcGFyc2VyIGNvbnRleHQKKyAqIEBzY2hlbWE6IHRoZSBzY2hlbWEgYmVpbmcgYnVpbHQKKyAqIEBub2RlOiAgdGhlIG5vZGUKKyAqCisgKiBQYXJzZXMgYSByZWZlcmVuY2UgdG8gYSBtb2RlbCBncm91cCBkZWZpbml0aW9uLgorICoKKyAqIFdlIHdpbGwgcmV0dXJuIGEgcGFydGljbGUgY29tcG9uZW50IHdpdGggYSBxbmFtZS1jb21wb25lbnQgb3IKKyAqIE5VTEwgaW4gY2FzZSBvZiBhbiBlcnJvci4KKyAqLworc3RhdGljIHhtbFNjaGVtYVRyZWVJdGVtUHRyCit4bWxTY2hlbWFQYXJzZU1vZGVsR3JvdXBEZWZSZWYoeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBjdHh0LAorCQkJICAgICAgIHhtbFNjaGVtYVB0ciBzY2hlbWEsCisJCQkgICAgICAgeG1sTm9kZVB0ciBub2RlKQoreworICAgIHhtbFNjaGVtYVBhcnRpY2xlUHRyIGl0ZW07CisgICAgeG1sTm9kZVB0ciBjaGlsZCA9IE5VTEw7CisgICAgeG1sQXR0clB0ciBhdHRyOworICAgIGNvbnN0IHhtbENoYXIgKnJlZiA9IE5VTEwsICpyZWZOcyA9IE5VTEw7CisgICAgaW50IG1pbiwgbWF4OworCisgICAgaWYgKChjdHh0ID09IE5VTEwpIHx8IChzY2hlbWEgPT0gTlVMTCkgfHwgKG5vZGUgPT0gTlVMTCkpCisgICAgICAgIHJldHVybiAoTlVMTCk7CisKKyAgICBhdHRyID0geG1sU2NoZW1hR2V0UHJvcE5vZGUobm9kZSwgInJlZiIpOworICAgIGlmIChhdHRyID09IE5VTEwpIHsKKwl4bWxTY2hlbWFQTWlzc2luZ0F0dHJFcnIoY3R4dCwKKwkgICAgWE1MX1NDSEVNQVBfUzRTX0FUVFJfTUlTU0lORywKKwkgICAgTlVMTCwgbm9kZSwgInJlZiIsIE5VTEwpOworCXJldHVybiAoTlVMTCk7CisgICAgfSBlbHNlIGlmICh4bWxTY2hlbWFQVmFsQXR0ck5vZGVRTmFtZShjdHh0LCBzY2hlbWEsIE5VTEwsCisJYXR0ciwgJnJlZk5zLCAmcmVmKSAhPSAwKSB7CisJcmV0dXJuIChOVUxMKTsKKyAgICB9CisgICAgeG1sU2NoZW1hQ2hlY2tSZWZlcmVuY2UoY3R4dCwgc2NoZW1hLCBub2RlLCBhdHRyLCByZWZOcyk7CisgICAgbWluID0geG1sR2V0TWluT2NjdXJzKGN0eHQsIG5vZGUsIDAsIC0xLCAxLCAieHM6bm9uTmVnYXRpdmVJbnRlZ2VyIik7CisgICAgbWF4ID0geG1sR2V0TWF4T2NjdXJzKGN0eHQsIG5vZGUsIDAsIFVOQk9VTkRFRCwgMSwKKwkiKHhzOm5vbk5lZ2F0aXZlSW50ZWdlciB8IHVuYm91bmRlZCkiKTsKKyAgICAvKgorICAgICogQ2hlY2sgZm9yIGlsbGVnYWwgYXR0cmlidXRlcy4KKyAgICAqLworICAgIGF0dHIgPSBub2RlLT5wcm9wZXJ0aWVzOworICAgIHdoaWxlIChhdHRyICE9IE5VTEwpIHsKKwlpZiAoYXR0ci0+bnMgPT0gTlVMTCkgeworCSAgICBpZiAoKCF4bWxTdHJFcXVhbChhdHRyLT5uYW1lLCBCQURfQ0FTVCAicmVmIikpICYmCisJCSgheG1sU3RyRXF1YWwoYXR0ci0+bmFtZSwgQkFEX0NBU1QgImlkIikpICYmCisJCSgheG1sU3RyRXF1YWwoYXR0ci0+bmFtZSwgQkFEX0NBU1QgIm1pbk9jY3VycyIpKSAmJgorCQkoIXhtbFN0ckVxdWFsKGF0dHItPm5hbWUsIEJBRF9DQVNUICJtYXhPY2N1cnMiKSkpIHsKKwkJeG1sU2NoZW1hUElsbGVnYWxBdHRyRXJyKGN0eHQsCisJCSAgICBYTUxfU0NIRU1BUF9TNFNfQVRUUl9OT1RfQUxMT1dFRCwgTlVMTCwgYXR0cik7CisJICAgIH0KKwl9IGVsc2UgaWYgKHhtbFN0ckVxdWFsKGF0dHItPm5zLT5ocmVmLCB4bWxTY2hlbWFOcykpIHsKKwkgICAgeG1sU2NoZW1hUElsbGVnYWxBdHRyRXJyKGN0eHQsCisJCVhNTF9TQ0hFTUFQX1M0U19BVFRSX05PVF9BTExPV0VELCBOVUxMLCBhdHRyKTsKKwl9CisJYXR0ciA9IGF0dHItPm5leHQ7CisgICAgfQorICAgIHhtbFNjaGVtYVBWYWxBdHRySUQoY3R4dCwgbm9kZSwgQkFEX0NBU1QgImlkIik7CisgICAgaXRlbSA9IHhtbFNjaGVtYUFkZFBhcnRpY2xlKGN0eHQsIG5vZGUsIG1pbiwgbWF4KTsKKyAgICBpZiAoaXRlbSA9PSBOVUxMKQorCXJldHVybiAoTlVMTCk7CisgICAgLyoKKyAgICAqIENyZWF0ZSBhIHFuYW1lLXJlZmVyZW5jZSBhbmQgc2V0IGFzIHRoZSB0ZXJtOyBpdCB3aWxsIGJlIHN1YnN0aXR1dGVkCisgICAgKiBmb3IgdGhlIG1vZGVsIGdyb3VwIGFmdGVyIHRoZSByZWZlcmVuY2UgaGFzIGJlZW4gcmVzb2x2ZWQuCisgICAgKi8KKyAgICBpdGVtLT5jaGlsZHJlbiA9ICh4bWxTY2hlbWFUcmVlSXRlbVB0cikKKwl4bWxTY2hlbWFOZXdRTmFtZVJlZihjdHh0LCBYTUxfU0NIRU1BX1RZUEVfR1JPVVAsIHJlZiwgcmVmTnMpOworICAgIHhtbFNjaGVtYVBDaGVja1BhcnRpY2xlQ29ycmVjdF8yKGN0eHQsIGl0ZW0sIG5vZGUsIG1pbiwgbWF4KTsKKyAgICAvKgorICAgICogQW5kIG5vdyBmb3IgdGhlIGNoaWxkcmVuLi4uCisgICAgKi8KKyAgICBjaGlsZCA9IG5vZGUtPmNoaWxkcmVuOworICAgIC8qIFRPRE86IElzIGFubm90YXRpb24gZXZlbiBhbGxvd2VkIGZvciBhIG1vZGVsIGdyb3VwIHJlZmVyZW5jZT8gKi8KKyAgICBpZiAoSVNfU0NIRU1BKGNoaWxkLCAiYW5ub3RhdGlvbiIpKSB7CisJLyoKKwkqIFRPRE86IFdoYXQgdG8gZG8gZXhhY3RseSB3aXRoIHRoZSBhbm5vdGF0aW9uPworCSovCisJaXRlbS0+YW5ub3QgPSB4bWxTY2hlbWFQYXJzZUFubm90YXRpb24oY3R4dCwgY2hpbGQsIDEpOworCWNoaWxkID0gY2hpbGQtPm5leHQ7CisgICAgfQorICAgIGlmIChjaGlsZCAhPSBOVUxMKSB7CisJeG1sU2NoZW1hUENvbnRlbnRFcnIoY3R4dCwKKwkgICAgWE1MX1NDSEVNQVBfUzRTX0VMRU1fTk9UX0FMTE9XRUQsCisJICAgIE5VTEwsIG5vZGUsIGNoaWxkLCBOVUxMLAorCSAgICAiKGFubm90YXRpb24/KSIpOworICAgIH0KKyAgICAvKgorICAgICogQ29ycmVzcG9uZHMgdG8gbm8gY29tcG9uZW50IGF0IGFsbCBpZiBtaW5PY2N1cnM9PW1heE9jY3Vycz09MC4KKyAgICAqLworICAgIGlmICgobWluID09IDApICYmIChtYXggPT0gMCkpCisJcmV0dXJuIChOVUxMKTsKKworICAgIHJldHVybiAoKHhtbFNjaGVtYVRyZWVJdGVtUHRyKSBpdGVtKTsKK30KKworLyoqCisgKiB4bWxTY2hlbWFQYXJzZU1vZGVsR3JvdXBEZWZpbml0aW9uOgorICogQGN0eHQ6ICBhIHNjaGVtYSB2YWxpZGF0aW9uIGNvbnRleHQKKyAqIEBzY2hlbWE6ICB0aGUgc2NoZW1hIGJlaW5nIGJ1aWx0CisgKiBAbm9kZTogIGEgc3VidHJlZSBjb250YWluaW5nIFhNTCBTY2hlbWEgaW5mb3JtYXRpb25zCisgKgorICogUGFyc2VzIGEgWE1MIHNjaGVtYSBtb2RlbCBncm91cCBkZWZpbml0aW9uLgorICoKKyAqIE5vdGUgdGhhdCB0aGUgY29udHJhaW50IHNyYy1yZWRlZmluZSAoNi4yKSBjYW4ndCBiZSBhcHBsaWVkIHVudGlsCisgKiByZWZlcmVuY2VzIGhhdmUgYmVlbiByZXNvbHZlZC4gU28gd2Ugd2lsbCBkbyB0aGlzIGF0IHRoZQorICogY29tcG9uZW50IGZpeHVwIGxldmVsLgorICoKKyAqICpXQVJOSU5HKiB0aGlzIGludGVyZmFjZSBpcyBoaWdobHkgc3ViamVjdCB0byBjaGFuZ2UKKyAqCisgKiBSZXR1cm5zIC0xIGluIGNhc2Ugb2YgZXJyb3IsIDAgaWYgdGhlIGRlY2xhcmF0aW9uIGlzIGltcHJvcGVyIGFuZAorICogICAgICAgICAxIGluIGNhc2Ugb2Ygc3VjY2Vzcy4KKyAqLworc3RhdGljIHhtbFNjaGVtYU1vZGVsR3JvdXBEZWZQdHIKK3htbFNjaGVtYVBhcnNlTW9kZWxHcm91cERlZmluaXRpb24oeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBjdHh0LAorCQkJCSAgIHhtbFNjaGVtYVB0ciBzY2hlbWEsCisJCQkJICAgeG1sTm9kZVB0ciBub2RlKQoreworICAgIHhtbFNjaGVtYU1vZGVsR3JvdXBEZWZQdHIgaXRlbTsKKyAgICB4bWxOb2RlUHRyIGNoaWxkID0gTlVMTDsKKyAgICB4bWxBdHRyUHRyIGF0dHI7CisgICAgY29uc3QgeG1sQ2hhciAqbmFtZTsKKworICAgIGlmICgoY3R4dCA9PSBOVUxMKSB8fCAoc2NoZW1hID09IE5VTEwpIHx8IChub2RlID09IE5VTEwpKQorICAgICAgICByZXR1cm4gKE5VTEwpOworCisgICAgYXR0ciA9IHhtbFNjaGVtYUdldFByb3BOb2RlKG5vZGUsICJuYW1lIik7CisgICAgaWYgKGF0dHIgPT0gTlVMTCkgeworCXhtbFNjaGVtYVBNaXNzaW5nQXR0ckVycihjdHh0LAorCSAgICBYTUxfU0NIRU1BUF9TNFNfQVRUUl9NSVNTSU5HLAorCSAgICBOVUxMLCBub2RlLAorCSAgICAibmFtZSIsIE5VTEwpOworCXJldHVybiAoTlVMTCk7CisgICAgfSBlbHNlIGlmICh4bWxTY2hlbWFQVmFsQXR0ck5vZGUoY3R4dCwgTlVMTCwgYXR0ciwKKwl4bWxTY2hlbWFHZXRCdWlsdEluVHlwZShYTUxfU0NIRU1BU19OQ05BTUUpLCAmbmFtZSkgIT0gMCkgeworCXJldHVybiAoTlVMTCk7CisgICAgfQorICAgIGl0ZW0gPSB4bWxTY2hlbWFBZGRNb2RlbEdyb3VwRGVmaW5pdGlvbihjdHh0LCBzY2hlbWEsIG5hbWUsCisJY3R4dC0+dGFyZ2V0TmFtZXNwYWNlLCBub2RlKTsKKyAgICBpZiAoaXRlbSA9PSBOVUxMKQorCXJldHVybiAoTlVMTCk7CisgICAgLyoKKyAgICAqIENoZWNrIGZvciBpbGxlZ2FsIGF0dHJpYnV0ZXMuCisgICAgKi8KKyAgICBhdHRyID0gbm9kZS0+cHJvcGVydGllczsKKyAgICB3aGlsZSAoYXR0ciAhPSBOVUxMKSB7CisJaWYgKGF0dHItPm5zID09IE5VTEwpIHsKKwkgICAgaWYgKCgheG1sU3RyRXF1YWwoYXR0ci0+bmFtZSwgQkFEX0NBU1QgIm5hbWUiKSkgJiYKKwkJKCF4bWxTdHJFcXVhbChhdHRyLT5uYW1lLCBCQURfQ0FTVCAiaWQiKSkpIHsKKwkJeG1sU2NoZW1hUElsbGVnYWxBdHRyRXJyKGN0eHQsCisJCSAgICBYTUxfU0NIRU1BUF9TNFNfQVRUUl9OT1RfQUxMT1dFRCwgTlVMTCwgYXR0cik7CisJICAgIH0KKwl9IGVsc2UgaWYgKHhtbFN0ckVxdWFsKGF0dHItPm5zLT5ocmVmLCB4bWxTY2hlbWFOcykpIHsKKwkgICAgeG1sU2NoZW1hUElsbGVnYWxBdHRyRXJyKGN0eHQsCisJCVhNTF9TQ0hFTUFQX1M0U19BVFRSX05PVF9BTExPV0VELCBOVUxMLCBhdHRyKTsKKwl9CisJYXR0ciA9IGF0dHItPm5leHQ7CisgICAgfQorICAgIHhtbFNjaGVtYVBWYWxBdHRySUQoY3R4dCwgbm9kZSwgQkFEX0NBU1QgImlkIik7CisgICAgLyoKKyAgICAqIEFuZCBub3cgZm9yIHRoZSBjaGlsZHJlbi4uLgorICAgICovCisgICAgY2hpbGQgPSBub2RlLT5jaGlsZHJlbjsKKyAgICBpZiAoSVNfU0NIRU1BKGNoaWxkLCAiYW5ub3RhdGlvbiIpKSB7CisJaXRlbS0+YW5ub3QgPSB4bWxTY2hlbWFQYXJzZUFubm90YXRpb24oY3R4dCwgY2hpbGQsIDEpOworCWNoaWxkID0gY2hpbGQtPm5leHQ7CisgICAgfQorICAgIGlmIChJU19TQ0hFTUEoY2hpbGQsICJhbGwiKSkgeworCWl0ZW0tPmNoaWxkcmVuID0geG1sU2NoZW1hUGFyc2VNb2RlbEdyb3VwKGN0eHQsIHNjaGVtYSwgY2hpbGQsCisJICAgIFhNTF9TQ0hFTUFfVFlQRV9BTEwsIDApOworCWNoaWxkID0gY2hpbGQtPm5leHQ7CisgICAgfSBlbHNlIGlmIChJU19TQ0hFTUEoY2hpbGQsICJjaG9pY2UiKSkgeworCWl0ZW0tPmNoaWxkcmVuID0geG1sU2NoZW1hUGFyc2VNb2RlbEdyb3VwKGN0eHQsIHNjaGVtYSwgY2hpbGQsCisJICAgIFhNTF9TQ0hFTUFfVFlQRV9DSE9JQ0UsIDApOworCWNoaWxkID0gY2hpbGQtPm5leHQ7CisgICAgfSBlbHNlIGlmIChJU19TQ0hFTUEoY2hpbGQsICJzZXF1ZW5jZSIpKSB7CisJaXRlbS0+Y2hpbGRyZW4gPSB4bWxTY2hlbWFQYXJzZU1vZGVsR3JvdXAoY3R4dCwgc2NoZW1hLCBjaGlsZCwKKwkgICAgWE1MX1NDSEVNQV9UWVBFX1NFUVVFTkNFLCAwKTsKKwljaGlsZCA9IGNoaWxkLT5uZXh0OworICAgIH0KKworCisKKyAgICBpZiAoY2hpbGQgIT0gTlVMTCkgeworCXhtbFNjaGVtYVBDb250ZW50RXJyKGN0eHQsCisJICAgIFhNTF9TQ0hFTUFQX1M0U19FTEVNX05PVF9BTExPV0VELAorCSAgICBOVUxMLCBub2RlLCBjaGlsZCwgTlVMTCwKKwkgICAgIihhbm5vdGF0aW9uPywgKGFsbCB8IGNob2ljZSB8IHNlcXVlbmNlKT8pIik7CisgICAgfQorICAgIHJldHVybiAoaXRlbSk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hQ2xlYW51cERvYzoKKyAqIEBjdHh0OiAgYSBzY2hlbWEgdmFsaWRhdGlvbiBjb250ZXh0CisgKiBAbm9kZTogIHRoZSByb290IG9mIHRoZSBkb2N1bWVudC4KKyAqCisgKiByZW1vdmVzIHVud2FudGVkIG5vZGVzIGluIGEgc2NoZW1hcyBkb2N1bWVudCB0cmVlCisgKi8KK3N0YXRpYyB2b2lkCit4bWxTY2hlbWFDbGVhbnVwRG9jKHhtbFNjaGVtYVBhcnNlckN0eHRQdHIgY3R4dCwgeG1sTm9kZVB0ciByb290KQoreworICAgIHhtbE5vZGVQdHIgZGVsZXRlLCBjdXI7CisKKyAgICBpZiAoKGN0eHQgPT0gTlVMTCkgfHwgKHJvb3QgPT0gTlVMTCkpIHJldHVybjsKKworICAgIC8qCisgICAgICogUmVtb3ZlIGFsbCB0aGUgYmxhbmsgdGV4dCBub2RlcworICAgICAqLworICAgIGRlbGV0ZSA9IE5VTEw7CisgICAgY3VyID0gcm9vdDsKKyAgICB3aGlsZSAoY3VyICE9IE5VTEwpIHsKKyAgICAgICAgaWYgKGRlbGV0ZSAhPSBOVUxMKSB7CisgICAgICAgICAgICB4bWxVbmxpbmtOb2RlKGRlbGV0ZSk7CisgICAgICAgICAgICB4bWxGcmVlTm9kZShkZWxldGUpOworICAgICAgICAgICAgZGVsZXRlID0gTlVMTDsKKyAgICAgICAgfQorICAgICAgICBpZiAoY3VyLT50eXBlID09IFhNTF9URVhUX05PREUpIHsKKyAgICAgICAgICAgIGlmIChJU19CTEFOS19OT0RFKGN1cikpIHsKKyAgICAgICAgICAgICAgICBpZiAoeG1sTm9kZUdldFNwYWNlUHJlc2VydmUoY3VyKSAhPSAxKSB7CisgICAgICAgICAgICAgICAgICAgIGRlbGV0ZSA9IGN1cjsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0gZWxzZSBpZiAoKGN1ci0+dHlwZSAhPSBYTUxfRUxFTUVOVF9OT0RFKSAmJgorICAgICAgICAgICAgICAgICAgIChjdXItPnR5cGUgIT0gWE1MX0NEQVRBX1NFQ1RJT05fTk9ERSkpIHsKKyAgICAgICAgICAgIGRlbGV0ZSA9IGN1cjsKKyAgICAgICAgICAgIGdvdG8gc2tpcF9jaGlsZHJlbjsKKyAgICAgICAgfQorCisgICAgICAgIC8qCisgICAgICAgICAqIFNraXAgdG8gbmV4dCBub2RlCisgICAgICAgICAqLworICAgICAgICBpZiAoY3VyLT5jaGlsZHJlbiAhPSBOVUxMKSB7CisgICAgICAgICAgICBpZiAoKGN1ci0+Y2hpbGRyZW4tPnR5cGUgIT0gWE1MX0VOVElUWV9ERUNMKSAmJgorICAgICAgICAgICAgICAgIChjdXItPmNoaWxkcmVuLT50eXBlICE9IFhNTF9FTlRJVFlfUkVGX05PREUpICYmCisgICAgICAgICAgICAgICAgKGN1ci0+Y2hpbGRyZW4tPnR5cGUgIT0gWE1MX0VOVElUWV9OT0RFKSkgeworICAgICAgICAgICAgICAgIGN1ciA9IGN1ci0+Y2hpbGRyZW47CisgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgIHNraXBfY2hpbGRyZW46CisgICAgICAgIGlmIChjdXItPm5leHQgIT0gTlVMTCkgeworICAgICAgICAgICAgY3VyID0gY3VyLT5uZXh0OworICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIH0KKworICAgICAgICBkbyB7CisgICAgICAgICAgICBjdXIgPSBjdXItPnBhcmVudDsKKyAgICAgICAgICAgIGlmIChjdXIgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGlmIChjdXIgPT0gcm9vdCkgeworICAgICAgICAgICAgICAgIGN1ciA9IE5VTEw7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAoY3VyLT5uZXh0ICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICBjdXIgPSBjdXItPm5leHQ7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgIH0gd2hpbGUgKGN1ciAhPSBOVUxMKTsKKyAgICB9CisgICAgaWYgKGRlbGV0ZSAhPSBOVUxMKSB7CisgICAgICAgIHhtbFVubGlua05vZGUoZGVsZXRlKTsKKyAgICAgICAgeG1sRnJlZU5vZGUoZGVsZXRlKTsKKyAgICAgICAgZGVsZXRlID0gTlVMTDsKKyAgICB9Cit9CisKKworc3RhdGljIHZvaWQKK3htbFNjaGVtYUNsZWFyU2NoZW1hRGVmYXVsdHMoeG1sU2NoZW1hUHRyIHNjaGVtYSkKK3sKKyAgICBpZiAoc2NoZW1hLT5mbGFncyAmIFhNTF9TQ0hFTUFTX1FVQUxJRl9FTEVNKQorCXNjaGVtYS0+ZmxhZ3MgXj0gWE1MX1NDSEVNQVNfUVVBTElGX0VMRU07CisKKyAgICBpZiAoc2NoZW1hLT5mbGFncyAmIFhNTF9TQ0hFTUFTX1FVQUxJRl9BVFRSKQorCXNjaGVtYS0+ZmxhZ3MgXj0gWE1MX1NDSEVNQVNfUVVBTElGX0FUVFI7CisKKyAgICBpZiAoc2NoZW1hLT5mbGFncyAmIFhNTF9TQ0hFTUFTX0ZJTkFMX0RFRkFVTFRfRVhURU5TSU9OKQorCXNjaGVtYS0+ZmxhZ3MgXj0gWE1MX1NDSEVNQVNfRklOQUxfREVGQVVMVF9FWFRFTlNJT047CisgICAgaWYgKHNjaGVtYS0+ZmxhZ3MgJiBYTUxfU0NIRU1BU19GSU5BTF9ERUZBVUxUX1JFU1RSSUNUSU9OKQorCXNjaGVtYS0+ZmxhZ3MgXj0gWE1MX1NDSEVNQVNfRklOQUxfREVGQVVMVF9SRVNUUklDVElPTjsKKyAgICBpZiAoc2NoZW1hLT5mbGFncyAmIFhNTF9TQ0hFTUFTX0ZJTkFMX0RFRkFVTFRfTElTVCkKKwlzY2hlbWEtPmZsYWdzIF49IFhNTF9TQ0hFTUFTX0ZJTkFMX0RFRkFVTFRfTElTVDsKKyAgICBpZiAoc2NoZW1hLT5mbGFncyAmIFhNTF9TQ0hFTUFTX0ZJTkFMX0RFRkFVTFRfVU5JT04pCisJc2NoZW1hLT5mbGFncyBePSBYTUxfU0NIRU1BU19GSU5BTF9ERUZBVUxUX1VOSU9OOworCisgICAgaWYgKHNjaGVtYS0+ZmxhZ3MgJiBYTUxfU0NIRU1BU19CTE9DS19ERUZBVUxUX0VYVEVOU0lPTikKKwlzY2hlbWEtPmZsYWdzIF49IFhNTF9TQ0hFTUFTX0JMT0NLX0RFRkFVTFRfRVhURU5TSU9OOworICAgIGlmIChzY2hlbWEtPmZsYWdzICYgWE1MX1NDSEVNQVNfQkxPQ0tfREVGQVVMVF9SRVNUUklDVElPTikKKwlzY2hlbWEtPmZsYWdzIF49IFhNTF9TQ0hFTUFTX0JMT0NLX0RFRkFVTFRfUkVTVFJJQ1RJT047CisgICAgaWYgKHNjaGVtYS0+ZmxhZ3MgJiBYTUxfU0NIRU1BU19CTE9DS19ERUZBVUxUX1NVQlNUSVRVVElPTikKKwlzY2hlbWEtPmZsYWdzIF49IFhNTF9TQ0hFTUFTX0JMT0NLX0RFRkFVTFRfU1VCU1RJVFVUSU9OOworfQorCitzdGF0aWMgaW50Cit4bWxTY2hlbWFQYXJzZVNjaGVtYUVsZW1lbnQoeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBjdHh0LAorCQkJICAgICB4bWxTY2hlbWFQdHIgc2NoZW1hLAorCQkJICAgICB4bWxOb2RlUHRyIG5vZGUpCit7CisgICAgeG1sQXR0clB0ciBhdHRyOworICAgIGNvbnN0IHhtbENoYXIgKnZhbDsKKyAgICBpbnQgcmVzID0gMCwgb2xkRXJycyA9IGN0eHQtPm5iZXJyb3JzOworCisgICAgLyoKKyAgICAqIFRob3NlIGZsYWdzIHNob3VsZCBiZSBtb3ZlZCB0byB0aGUgcGFyc2VyIGNvbnRleHQgZmxhZ3MsCisgICAgKiBzaW5jZSB0aGV5IGFyZSBub3QgdmlzaWJsZSBhdCB0aGUgY29tcG9uZW50IGxldmVsLiBJLmUuCisgICAgKiB0aGV5IGFyZSB1c2VkIGlmIHByb2Nlc3Npbmcgc2NoZW1hICpkb2N1bWVudHMqIG9ubHkuCisgICAgKi8KKyAgICByZXMgPSB4bWxTY2hlbWFQVmFsQXR0cklEKGN0eHQsIG5vZGUsIEJBRF9DQVNUICJpZCIpOworICAgIEhGQUlMVVJFOworCisgICAgLyoKKyAgICAqIFNpbmNlIHRoZSB2ZXJzaW9uIGlzIG9mIHR5cGUgeHM6dG9rZW4sIHdlIHdvbid0IGJvdGhlciB0bworICAgICogY2hlY2sgaXQuCisgICAgKi8KKyAgICAvKiBSRU1PVkVEOgorICAgIGF0dHIgPSB4bWxTY2hlbWFHZXRQcm9wTm9kZShub2RlLCAidmVyc2lvbiIpOworICAgIGlmIChhdHRyICE9IE5VTEwpIHsKKwlyZXMgPSB4bWxTY2hlbWFQVmFsQXR0ck5vZGUoY3R4dCwgTlVMTCwgTlVMTCwgYXR0ciwKKwkgICAgeG1sU2NoZW1hR2V0QnVpbHRJblR5cGUoWE1MX1NDSEVNQVNfVE9LRU4pLCAmdmFsKTsKKwlIRkFJTFVSRTsKKyAgICB9CisgICAgKi8KKyAgICBhdHRyID0geG1sU2NoZW1hR2V0UHJvcE5vZGUobm9kZSwgInRhcmdldE5hbWVzcGFjZSIpOworICAgIGlmIChhdHRyICE9IE5VTEwpIHsKKwlyZXMgPSB4bWxTY2hlbWFQVmFsQXR0ck5vZGUoY3R4dCwgTlVMTCwgYXR0ciwKKwkgICAgeG1sU2NoZW1hR2V0QnVpbHRJblR5cGUoWE1MX1NDSEVNQVNfQU5ZVVJJKSwgTlVMTCk7CisJSEZBSUxVUkU7CisJaWYgKHJlcyAhPSAwKSB7CisJICAgIGN0eHQtPnN0b3AgPSBYTUxfU0NIRU1BUF9TNFNfQVRUUl9JTlZBTElEX1ZBTFVFOworCSAgICBnb3RvIGV4aXQ7CisJfQorICAgIH0KKyAgICBhdHRyID0geG1sU2NoZW1hR2V0UHJvcE5vZGUobm9kZSwgImVsZW1lbnRGb3JtRGVmYXVsdCIpOworICAgIGlmIChhdHRyICE9IE5VTEwpIHsKKwl2YWwgPSB4bWxTY2hlbWFHZXROb2RlQ29udGVudChjdHh0LCAoeG1sTm9kZVB0cikgYXR0cik7CisJcmVzID0geG1sU2NoZW1hUFZhbEF0dHJGb3JtRGVmYXVsdCh2YWwsICZzY2hlbWEtPmZsYWdzLAorCSAgICBYTUxfU0NIRU1BU19RVUFMSUZfRUxFTSk7CisJSEZBSUxVUkU7CisJaWYgKHJlcyAhPSAwKSB7CisJICAgIHhtbFNjaGVtYVBTaW1wbGVUeXBlRXJyKGN0eHQsCisJCVhNTF9TQ0hFTUFQX0VMRU1GT1JNREVGQVVMVF9WQUxVRSwKKwkJTlVMTCwgKHhtbE5vZGVQdHIpIGF0dHIsIE5VTEwsCisJCSIocXVhbGlmaWVkIHwgdW5xdWFsaWZpZWQpIiwgdmFsLCBOVUxMLCBOVUxMLCBOVUxMKTsKKwl9CisgICAgfQorICAgIGF0dHIgPSB4bWxTY2hlbWFHZXRQcm9wTm9kZShub2RlLCAiYXR0cmlidXRlRm9ybURlZmF1bHQiKTsKKyAgICBpZiAoYXR0ciAhPSBOVUxMKSB7CisJdmFsID0geG1sU2NoZW1hR2V0Tm9kZUNvbnRlbnQoY3R4dCwgKHhtbE5vZGVQdHIpIGF0dHIpOworCXJlcyA9IHhtbFNjaGVtYVBWYWxBdHRyRm9ybURlZmF1bHQodmFsLCAmc2NoZW1hLT5mbGFncywKKwkgICAgWE1MX1NDSEVNQVNfUVVBTElGX0FUVFIpOworCUhGQUlMVVJFOworCWlmIChyZXMgIT0gMCkgeworCSAgICB4bWxTY2hlbWFQU2ltcGxlVHlwZUVycihjdHh0LAorCQlYTUxfU0NIRU1BUF9BVFRSRk9STURFRkFVTFRfVkFMVUUsCisJCU5VTEwsICh4bWxOb2RlUHRyKSBhdHRyLCBOVUxMLAorCQkiKHF1YWxpZmllZCB8IHVucXVhbGlmaWVkKSIsIHZhbCwgTlVMTCwgTlVMTCwgTlVMTCk7CisJfQorICAgIH0KKyAgICBhdHRyID0geG1sU2NoZW1hR2V0UHJvcE5vZGUobm9kZSwgImZpbmFsRGVmYXVsdCIpOworICAgIGlmIChhdHRyICE9IE5VTEwpIHsKKwl2YWwgPSB4bWxTY2hlbWFHZXROb2RlQ29udGVudChjdHh0LCAoeG1sTm9kZVB0cikgYXR0cik7CisJcmVzID0geG1sU2NoZW1hUFZhbEF0dHJCbG9ja0ZpbmFsKHZhbCwgJihzY2hlbWEtPmZsYWdzKSwgLTEsCisJICAgIFhNTF9TQ0hFTUFTX0ZJTkFMX0RFRkFVTFRfRVhURU5TSU9OLAorCSAgICBYTUxfU0NIRU1BU19GSU5BTF9ERUZBVUxUX1JFU1RSSUNUSU9OLAorCSAgICAtMSwKKwkgICAgWE1MX1NDSEVNQVNfRklOQUxfREVGQVVMVF9MSVNULAorCSAgICBYTUxfU0NIRU1BU19GSU5BTF9ERUZBVUxUX1VOSU9OKTsKKwlIRkFJTFVSRTsKKwlpZiAocmVzICE9IDApIHsKKwkgICAgeG1sU2NoZW1hUFNpbXBsZVR5cGVFcnIoY3R4dCwKKwkJWE1MX1NDSEVNQVBfUzRTX0FUVFJfSU5WQUxJRF9WQUxVRSwKKwkJTlVMTCwgKHhtbE5vZGVQdHIpIGF0dHIsIE5VTEwsCisJCSIoI2FsbCB8IExpc3Qgb2YgKGV4dGVuc2lvbiB8IHJlc3RyaWN0aW9uIHwgbGlzdCB8IHVuaW9uKSkiLAorCQl2YWwsIE5VTEwsIE5VTEwsIE5VTEwpOworCX0KKyAgICB9CisgICAgYXR0ciA9IHhtbFNjaGVtYUdldFByb3BOb2RlKG5vZGUsICJibG9ja0RlZmF1bHQiKTsKKyAgICBpZiAoYXR0ciAhPSBOVUxMKSB7CisJdmFsID0geG1sU2NoZW1hR2V0Tm9kZUNvbnRlbnQoY3R4dCwgKHhtbE5vZGVQdHIpIGF0dHIpOworCXJlcyA9IHhtbFNjaGVtYVBWYWxBdHRyQmxvY2tGaW5hbCh2YWwsICYoc2NoZW1hLT5mbGFncyksIC0xLAorCSAgICBYTUxfU0NIRU1BU19CTE9DS19ERUZBVUxUX0VYVEVOU0lPTiwKKwkgICAgWE1MX1NDSEVNQVNfQkxPQ0tfREVGQVVMVF9SRVNUUklDVElPTiwKKwkgICAgWE1MX1NDSEVNQVNfQkxPQ0tfREVGQVVMVF9TVUJTVElUVVRJT04sIC0xLCAtMSk7CisJSEZBSUxVUkU7CisJaWYgKHJlcyAhPSAwKSB7CisJICAgIHhtbFNjaGVtYVBTaW1wbGVUeXBlRXJyKGN0eHQsCisJCVhNTF9TQ0hFTUFQX1M0U19BVFRSX0lOVkFMSURfVkFMVUUsCisJCU5VTEwsICh4bWxOb2RlUHRyKSBhdHRyLCBOVUxMLAorCQkiKCNhbGwgfCBMaXN0IG9mIChleHRlbnNpb24gfCByZXN0cmljdGlvbiB8IHN1YnN0aXR1dGlvbikpIiwKKwkJdmFsLCBOVUxMLCBOVUxMLCBOVUxMKTsKKwl9CisgICAgfQorCitleGl0OgorICAgIGlmIChvbGRFcnJzICE9IGN0eHQtPm5iZXJyb3JzKQorCXJlcyA9IGN0eHQtPmVycjsKKyAgICByZXR1cm4ocmVzKTsKK2V4aXRfZmFpbHVyZToKKyAgICByZXR1cm4oLTEpOworfQorCisvKioKKyAqIHhtbFNjaGVtYVBhcnNlU2NoZW1hVG9wTGV2ZWw6CisgKiBAY3R4dDogIGEgc2NoZW1hIHZhbGlkYXRpb24gY29udGV4dAorICogQHNjaGVtYTogIHRoZSBzY2hlbWFzCisgKiBAbm9kZXM6ICB0aGUgbGlzdCBvZiB0b3AgbGV2ZWwgbm9kZXMKKyAqCisgKiBSZXR1cm5zIHRoZSBpbnRlcm5hbCBYTUwgU2NoZW1hIHN0cnVjdHVyZSBidWlsdCBmcm9tIHRoZSByZXNvdXJjZSBvcgorICogICAgICAgICBOVUxMIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworc3RhdGljIGludAoreG1sU2NoZW1hUGFyc2VTY2hlbWFUb3BMZXZlbCh4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIGN0eHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFNjaGVtYVB0ciBzY2hlbWEsIHhtbE5vZGVQdHIgbm9kZXMpCit7CisgICAgeG1sTm9kZVB0ciBjaGlsZDsKKyAgICB4bWxTY2hlbWFBbm5vdFB0ciBhbm5vdDsKKyAgICBpbnQgcmVzID0gMCwgb2xkRXJycywgdG1wT2xkRXJyczsKKworICAgIGlmICgoY3R4dCA9PSBOVUxMKSB8fCAoc2NoZW1hID09IE5VTEwpIHx8IChub2RlcyA9PSBOVUxMKSkKKyAgICAgICAgcmV0dXJuKC0xKTsKKworICAgIG9sZEVycnMgPSBjdHh0LT5uYmVycm9yczsKKyAgICBjaGlsZCA9IG5vZGVzOworICAgIHdoaWxlICgoSVNfU0NIRU1BKGNoaWxkLCAiaW5jbHVkZSIpKSB8fAorCSAgIChJU19TQ0hFTUEoY2hpbGQsICJpbXBvcnQiKSkgfHwKKwkgICAoSVNfU0NIRU1BKGNoaWxkLCAicmVkZWZpbmUiKSkgfHwKKwkgICAoSVNfU0NIRU1BKGNoaWxkLCAiYW5ub3RhdGlvbiIpKSkgeworCWlmIChJU19TQ0hFTUEoY2hpbGQsICJhbm5vdGF0aW9uIikpIHsKKwkgICAgYW5ub3QgPSB4bWxTY2hlbWFQYXJzZUFubm90YXRpb24oY3R4dCwgY2hpbGQsIDEpOworCSAgICBpZiAoc2NoZW1hLT5hbm5vdCA9PSBOVUxMKQorCQlzY2hlbWEtPmFubm90ID0gYW5ub3Q7CisJICAgIGVsc2UKKwkJeG1sU2NoZW1hRnJlZUFubm90KGFubm90KTsKKwl9IGVsc2UgaWYgKElTX1NDSEVNQShjaGlsZCwgImltcG9ydCIpKSB7CisJICAgIHRtcE9sZEVycnMgPSBjdHh0LT5uYmVycm9yczsKKwkgICAgcmVzID0geG1sU2NoZW1hUGFyc2VJbXBvcnQoY3R4dCwgc2NoZW1hLCBjaGlsZCk7CisJICAgIEhGQUlMVVJFOworCSAgICBIU1RPUChjdHh0KTsKKwkgICAgaWYgKHRtcE9sZEVycnMgIT0gY3R4dC0+bmJlcnJvcnMpCisJCWdvdG8gZXhpdDsKKwl9IGVsc2UgaWYgKElTX1NDSEVNQShjaGlsZCwgImluY2x1ZGUiKSkgeworCSAgICB0bXBPbGRFcnJzID0gY3R4dC0+bmJlcnJvcnM7CisJICAgIHJlcyA9IHhtbFNjaGVtYVBhcnNlSW5jbHVkZShjdHh0LCBzY2hlbWEsIGNoaWxkKTsKKwkgICAgSEZBSUxVUkU7CisJICAgIEhTVE9QKGN0eHQpOworCSAgICBpZiAodG1wT2xkRXJycyAhPSBjdHh0LT5uYmVycm9ycykKKwkJZ290byBleGl0OworCX0gZWxzZSBpZiAoSVNfU0NIRU1BKGNoaWxkLCAicmVkZWZpbmUiKSkgeworCSAgICB0bXBPbGRFcnJzID0gY3R4dC0+bmJlcnJvcnM7CisJICAgIHJlcyA9IHhtbFNjaGVtYVBhcnNlUmVkZWZpbmUoY3R4dCwgc2NoZW1hLCBjaGlsZCk7CisJICAgIEhGQUlMVVJFOworCSAgICBIU1RPUChjdHh0KTsKKwkgICAgaWYgKHRtcE9sZEVycnMgIT0gY3R4dC0+bmJlcnJvcnMpCisJCWdvdG8gZXhpdDsKKwl9CisJY2hpbGQgPSBjaGlsZC0+bmV4dDsKKyAgICB9CisgICAgLyoKKyAgICAqIFVSR0VOVCBUT0RPOiBDaGFuZ2UgdGhlIGZ1bmN0aW9ucyB0byByZXR1cm4gaW50IHJlc3VsdHMuCisgICAgKiBXZSBuZWVkIGVzcGVjaWFsbHkgdG8gY2F0Y2ggaW50ZXJuYWwgZXJyb3JzLgorICAgICovCisgICAgd2hpbGUgKGNoaWxkICE9IE5VTEwpIHsKKwlpZiAoSVNfU0NIRU1BKGNoaWxkLCAiY29tcGxleFR5cGUiKSkgeworCSAgICB4bWxTY2hlbWFQYXJzZUNvbXBsZXhUeXBlKGN0eHQsIHNjaGVtYSwgY2hpbGQsIDEpOworCSAgICBjaGlsZCA9IGNoaWxkLT5uZXh0OworCX0gZWxzZSBpZiAoSVNfU0NIRU1BKGNoaWxkLCAic2ltcGxlVHlwZSIpKSB7CisJICAgIHhtbFNjaGVtYVBhcnNlU2ltcGxlVHlwZShjdHh0LCBzY2hlbWEsIGNoaWxkLCAxKTsKKwkgICAgY2hpbGQgPSBjaGlsZC0+bmV4dDsKKwl9IGVsc2UgaWYgKElTX1NDSEVNQShjaGlsZCwgImVsZW1lbnQiKSkgeworCSAgICB4bWxTY2hlbWFQYXJzZUVsZW1lbnQoY3R4dCwgc2NoZW1hLCBjaGlsZCwgTlVMTCwgMSk7CisJICAgIGNoaWxkID0gY2hpbGQtPm5leHQ7CisJfSBlbHNlIGlmIChJU19TQ0hFTUEoY2hpbGQsICJhdHRyaWJ1dGUiKSkgeworCSAgICB4bWxTY2hlbWFQYXJzZUdsb2JhbEF0dHJpYnV0ZShjdHh0LCBzY2hlbWEsIGNoaWxkKTsKKwkgICAgY2hpbGQgPSBjaGlsZC0+bmV4dDsKKwl9IGVsc2UgaWYgKElTX1NDSEVNQShjaGlsZCwgImF0dHJpYnV0ZUdyb3VwIikpIHsKKwkgICAgeG1sU2NoZW1hUGFyc2VBdHRyaWJ1dGVHcm91cERlZmluaXRpb24oY3R4dCwgc2NoZW1hLCBjaGlsZCk7CisJICAgIGNoaWxkID0gY2hpbGQtPm5leHQ7CisJfSBlbHNlIGlmIChJU19TQ0hFTUEoY2hpbGQsICJncm91cCIpKSB7CisJICAgIHhtbFNjaGVtYVBhcnNlTW9kZWxHcm91cERlZmluaXRpb24oY3R4dCwgc2NoZW1hLCBjaGlsZCk7CisJICAgIGNoaWxkID0gY2hpbGQtPm5leHQ7CisJfSBlbHNlIGlmIChJU19TQ0hFTUEoY2hpbGQsICJub3RhdGlvbiIpKSB7CisJICAgIHhtbFNjaGVtYVBhcnNlTm90YXRpb24oY3R4dCwgc2NoZW1hLCBjaGlsZCk7CisJICAgIGNoaWxkID0gY2hpbGQtPm5leHQ7CisJfSBlbHNlIHsKKwkgICAgeG1sU2NoZW1hUENvbnRlbnRFcnIoY3R4dCwKKwkJWE1MX1NDSEVNQVBfUzRTX0VMRU1fTk9UX0FMTE9XRUQsCisJCU5VTEwsIGNoaWxkLT5wYXJlbnQsIGNoaWxkLAorCQlOVUxMLCAiKChpbmNsdWRlIHwgaW1wb3J0IHwgcmVkZWZpbmUgfCBhbm5vdGF0aW9uKSosICIKKwkJIigoKHNpbXBsZVR5cGUgfCBjb21wbGV4VHlwZSB8IGdyb3VwIHwgYXR0cmlidXRlR3JvdXApICIKKwkJInwgZWxlbWVudCB8IGF0dHJpYnV0ZSB8IG5vdGF0aW9uKSwgYW5ub3RhdGlvbiopKikiKTsKKwkgICAgY2hpbGQgPSBjaGlsZC0+bmV4dDsKKwl9CisJd2hpbGUgKElTX1NDSEVNQShjaGlsZCwgImFubm90YXRpb24iKSkgeworCSAgICAvKgorCSAgICAqIFRPRE86IFdlIHNob3VsZCBhZGQgYWxsIGFubm90YXRpb25zLgorCSAgICAqLworCSAgICBhbm5vdCA9IHhtbFNjaGVtYVBhcnNlQW5ub3RhdGlvbihjdHh0LCBjaGlsZCwgMSk7CisJICAgIGlmIChzY2hlbWEtPmFubm90ID09IE5VTEwpCisJCXNjaGVtYS0+YW5ub3QgPSBhbm5vdDsKKwkgICAgZWxzZQorCQl4bWxTY2hlbWFGcmVlQW5ub3QoYW5ub3QpOworCSAgICBjaGlsZCA9IGNoaWxkLT5uZXh0OworCX0KKyAgICB9CitleGl0OgorICAgIGN0eHQtPmN0eHRUeXBlID0gTlVMTDsKKyAgICBpZiAob2xkRXJycyAhPSBjdHh0LT5uYmVycm9ycykKKwlyZXMgPSBjdHh0LT5lcnI7CisgICAgcmV0dXJuKHJlcyk7CitleGl0X2ZhaWx1cmU6CisgICAgcmV0dXJuKC0xKTsKK30KKworc3RhdGljIHhtbFNjaGVtYVNjaGVtYVJlbGF0aW9uUHRyCit4bWxTY2hlbWFTY2hlbWFSZWxhdGlvbkNyZWF0ZSh2b2lkKQoreworICAgIHhtbFNjaGVtYVNjaGVtYVJlbGF0aW9uUHRyIHJldDsKKworICAgIHJldCA9ICh4bWxTY2hlbWFTY2hlbWFSZWxhdGlvblB0cikKKwl4bWxNYWxsb2Moc2l6ZW9mKHhtbFNjaGVtYVNjaGVtYVJlbGF0aW9uKSk7CisgICAgaWYgKHJldCA9PSBOVUxMKSB7CisJeG1sU2NoZW1hUEVyck1lbW9yeShOVUxMLCAiYWxsb2NhdGluZyBzY2hlbWEgcmVsYXRpb24iLCBOVUxMKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIG1lbXNldChyZXQsIDAsIHNpemVvZih4bWxTY2hlbWFTY2hlbWFSZWxhdGlvbikpOworICAgIHJldHVybihyZXQpOworfQorCisjaWYgMAorc3RhdGljIHZvaWQKK3htbFNjaGVtYVNjaGVtYVJlbGF0aW9uRnJlZSh4bWxTY2hlbWFTY2hlbWFSZWxhdGlvblB0ciByZWwpCit7CisgICAgeG1sRnJlZShyZWwpOworfQorI2VuZGlmCisKK3N0YXRpYyB2b2lkCit4bWxTY2hlbWFSZWRlZkxpc3RGcmVlKHhtbFNjaGVtYVJlZGVmUHRyIHJlZGVmKQoreworICAgIHhtbFNjaGVtYVJlZGVmUHRyIHByZXY7CisKKyAgICB3aGlsZSAocmVkZWYgIT0gTlVMTCkgeworCXByZXYgPSByZWRlZjsKKwlyZWRlZiA9IHJlZGVmLT5uZXh0OworCXhtbEZyZWUocHJldik7CisgICAgfQorfQorCitzdGF0aWMgdm9pZAoreG1sU2NoZW1hQ29uc3RydWN0aW9uQ3R4dEZyZWUoeG1sU2NoZW1hQ29uc3RydWN0aW9uQ3R4dFB0ciBjb24pCit7CisgICAgLyoKKyAgICAqIEFmdGVyIHRoZSBjb25zdHJ1Y3Rpb24gY29udGV4dCBoYXMgYmVlbiBmcmVlZCwgdGhlcmUgd2lsbCBiZQorICAgICogbm8gc2NoZW1hIGdyYXBoIGF2YWlsYWJsZSBhbnkgbW9yZS4gT25seSB0aGUgc2NoZW1hIGJ1Y2tldHMKKyAgICAqIHdpbGwgc3RheSBhbGl2ZSwgd2hpY2ggYXJlIHB1dCBpbnRvIHRoZSAic2NoZW1hc0ltcG9ydHMiIGFuZAorICAgICogImluY2x1ZGVzIiBzbG90cyBvZiB0aGUgeG1sU2NoZW1hLgorICAgICovCisgICAgaWYgKGNvbi0+YnVja2V0cyAhPSBOVUxMKQorCXhtbFNjaGVtYUl0ZW1MaXN0RnJlZShjb24tPmJ1Y2tldHMpOworICAgIGlmIChjb24tPnBlbmRpbmcgIT0gTlVMTCkKKwl4bWxTY2hlbWFJdGVtTGlzdEZyZWUoY29uLT5wZW5kaW5nKTsKKyAgICBpZiAoY29uLT5zdWJzdEdyb3VwcyAhPSBOVUxMKQorCXhtbEhhc2hGcmVlKGNvbi0+c3Vic3RHcm91cHMsCisJICAgICh4bWxIYXNoRGVhbGxvY2F0b3IpIHhtbFNjaGVtYVN1YnN0R3JvdXBGcmVlKTsKKyAgICBpZiAoY29uLT5yZWRlZnMgIT0gTlVMTCkKKwl4bWxTY2hlbWFSZWRlZkxpc3RGcmVlKGNvbi0+cmVkZWZzKTsKKyAgICBpZiAoY29uLT5kaWN0ICE9IE5VTEwpCisJeG1sRGljdEZyZWUoY29uLT5kaWN0KTsKKyAgICB4bWxGcmVlKGNvbik7Cit9CisKK3N0YXRpYyB4bWxTY2hlbWFDb25zdHJ1Y3Rpb25DdHh0UHRyCit4bWxTY2hlbWFDb25zdHJ1Y3Rpb25DdHh0Q3JlYXRlKHhtbERpY3RQdHIgZGljdCkKK3sKKyAgICB4bWxTY2hlbWFDb25zdHJ1Y3Rpb25DdHh0UHRyIHJldDsKKworICAgIHJldCA9ICh4bWxTY2hlbWFDb25zdHJ1Y3Rpb25DdHh0UHRyKQorCXhtbE1hbGxvYyhzaXplb2YoeG1sU2NoZW1hQ29uc3RydWN0aW9uQ3R4dCkpOworICAgIGlmIChyZXQgPT0gTlVMTCkgeworICAgICAgICB4bWxTY2hlbWFQRXJyTWVtb3J5KE5VTEwsCisJICAgICJhbGxvY2F0aW5nIHNjaGVtYSBjb25zdHJ1Y3Rpb24gY29udGV4dCIsIE5VTEwpOworICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIH0KKyAgICBtZW1zZXQocmV0LCAwLCBzaXplb2YoeG1sU2NoZW1hQ29uc3RydWN0aW9uQ3R4dCkpOworCisgICAgcmV0LT5idWNrZXRzID0geG1sU2NoZW1hSXRlbUxpc3RDcmVhdGUoKTsKKyAgICBpZiAocmV0LT5idWNrZXRzID09IE5VTEwpIHsKKwl4bWxTY2hlbWFQRXJyTWVtb3J5KE5VTEwsCisJICAgICJhbGxvY2F0aW5nIGxpc3Qgb2Ygc2NoZW1hIGJ1Y2tldHMiLCBOVUxMKTsKKwl4bWxGcmVlKHJldCk7CisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgfQorICAgIHJldC0+cGVuZGluZyA9IHhtbFNjaGVtYUl0ZW1MaXN0Q3JlYXRlKCk7CisgICAgaWYgKHJldC0+cGVuZGluZyA9PSBOVUxMKSB7CisJeG1sU2NoZW1hUEVyck1lbW9yeShOVUxMLAorCSAgICAiYWxsb2NhdGluZyBsaXN0IG9mIHBlbmRpbmcgZ2xvYmFsIGNvbXBvbmVudHMiLCBOVUxMKTsKKwl4bWxTY2hlbWFDb25zdHJ1Y3Rpb25DdHh0RnJlZShyZXQpOworICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIH0KKyAgICByZXQtPmRpY3QgPSBkaWN0OworICAgIHhtbERpY3RSZWZlcmVuY2UoZGljdCk7CisgICAgcmV0dXJuKHJldCk7Cit9CisKK3N0YXRpYyB4bWxTY2hlbWFQYXJzZXJDdHh0UHRyCit4bWxTY2hlbWFQYXJzZXJDdHh0Q3JlYXRlKHZvaWQpCit7CisgICAgeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciByZXQ7CisKKyAgICByZXQgPSAoeG1sU2NoZW1hUGFyc2VyQ3R4dFB0cikgeG1sTWFsbG9jKHNpemVvZih4bWxTY2hlbWFQYXJzZXJDdHh0KSk7CisgICAgaWYgKHJldCA9PSBOVUxMKSB7CisgICAgICAgIHhtbFNjaGVtYVBFcnJNZW1vcnkoTlVMTCwgImFsbG9jYXRpbmcgc2NoZW1hIHBhcnNlciBjb250ZXh0IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICB9CisgICAgbWVtc2V0KHJldCwgMCwgc2l6ZW9mKHhtbFNjaGVtYVBhcnNlckN0eHQpKTsKKyAgICByZXQtPnR5cGUgPSBYTUxfU0NIRU1BX0NUWFRfUEFSU0VSOworICAgIHJldC0+YXR0clByb2hpYnMgPSB4bWxTY2hlbWFJdGVtTGlzdENyZWF0ZSgpOworICAgIGlmIChyZXQtPmF0dHJQcm9oaWJzID09IE5VTEwpIHsKKwl4bWxGcmVlKHJldCk7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxTY2hlbWFOZXdQYXJzZXJDdHh0VXNlRGljdDoKKyAqIEBVUkw6ICB0aGUgbG9jYXRpb24gb2YgdGhlIHNjaGVtYQorICogQGRpY3Q6IHRoZSBkaWN0aW9uYXJ5IHRvIGJlIHVzZWQKKyAqCisgKiBDcmVhdGUgYW4gWE1MIFNjaGVtYXMgcGFyc2UgY29udGV4dCBmb3IgdGhhdCBmaWxlL3Jlc291cmNlIGV4cGVjdGVkCisgKiB0byBjb250YWluIGFuIFhNTCBTY2hlbWFzIGZpbGUuCisgKgorICogUmV0dXJucyB0aGUgcGFyc2VyIGNvbnRleHQgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3N0YXRpYyB4bWxTY2hlbWFQYXJzZXJDdHh0UHRyCit4bWxTY2hlbWFOZXdQYXJzZXJDdHh0VXNlRGljdChjb25zdCBjaGFyICpVUkwsIHhtbERpY3RQdHIgZGljdCkKK3sKKyAgICB4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIHJldDsKKworICAgIHJldCA9IHhtbFNjaGVtYVBhcnNlckN0eHRDcmVhdGUoKTsKKyAgICBpZiAocmV0ID09IE5VTEwpCisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgcmV0LT5kaWN0ID0gZGljdDsKKyAgICB4bWxEaWN0UmVmZXJlbmNlKGRpY3QpOworICAgIGlmIChVUkwgIT0gTlVMTCkKKwlyZXQtPlVSTCA9IHhtbERpY3RMb29rdXAoZGljdCwgKGNvbnN0IHhtbENoYXIgKikgVVJMLCAtMSk7CisgICAgcmV0dXJuIChyZXQpOworfQorCitzdGF0aWMgaW50Cit4bWxTY2hlbWFDcmVhdGVQQ3R4dE9uVkN0eHQoeG1sU2NoZW1hVmFsaWRDdHh0UHRyIHZjdHh0KQoreworICAgIGlmICh2Y3R4dC0+cGN0eHQgPT0gTlVMTCkgeworICAgICAgICBpZiAodmN0eHQtPnNjaGVtYSAhPSBOVUxMKQorCSAgICB2Y3R4dC0+cGN0eHQgPQorCQl4bWxTY2hlbWFOZXdQYXJzZXJDdHh0VXNlRGljdCgiKiIsIHZjdHh0LT5zY2hlbWEtPmRpY3QpOworCWVsc2UKKwkgICAgdmN0eHQtPnBjdHh0ID0geG1sU2NoZW1hTmV3UGFyc2VyQ3R4dCgiKiIpOworCWlmICh2Y3R4dC0+cGN0eHQgPT0gTlVMTCkgeworCSAgICBWRVJST1JfSU5UKCJ4bWxTY2hlbWFDcmVhdGVQQ3R4dE9uVkN0eHQiLAorCQkiZmFpbGVkIHRvIGNyZWF0ZSBhIHRlbXAuIHBhcnNlciBjb250ZXh0Iik7CisJICAgIHJldHVybiAoLTEpOworCX0KKwkvKiBUT0RPOiBQYXNzIHVzZXIgZGF0YS4gKi8KKwl4bWxTY2hlbWFTZXRQYXJzZXJFcnJvcnModmN0eHQtPnBjdHh0LCB2Y3R4dC0+ZXJyb3IsCisJICAgIHZjdHh0LT53YXJuaW5nLCB2Y3R4dC0+ZXJyQ3R4dCk7CisJeG1sU2NoZW1hU2V0UGFyc2VyU3RydWN0dXJlZEVycm9ycyh2Y3R4dC0+cGN0eHQsIHZjdHh0LT5zZXJyb3IsCisJICAgIHZjdHh0LT5lcnJDdHh0KTsKKyAgICB9CisgICAgcmV0dXJuICgwKTsKK30KKworLyoqCisgKiB4bWxTY2hlbWFHZXRTY2hlbWFCdWNrZXQ6CisgKiBAcGN0eHQ6IHRoZSBzY2hlbWEgcGFyc2VyIGNvbnRleHQKKyAqIEBzY2hlbWFMb2NhdGlvbjogdGhlIFVSSSBvZiB0aGUgc2NoZW1hIGRvY3VtZW50CisgKgorICogUmV0dXJucyBhIHNjaGVtYSBidWNrZXQgaWYgaXQgd2FzIGFscmVhZHkgcGFyc2VkLgorICoKKyAqIFJldHVybnMgYSBzY2hlbWEgYnVja2V0IGlmIGl0IHdhcyBhbHJlYWR5IHBhcnNlZCBmcm9tCisgKiAgICAgICAgIEBzY2hlbWFMb2NhdGlvbiwgTlVMTCBvdGhlcndpc2UuCisgKi8KK3N0YXRpYyB4bWxTY2hlbWFCdWNrZXRQdHIKK3htbFNjaGVtYUdldFNjaGVtYUJ1Y2tldCh4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIHBjdHh0LAorCQkJICAgIGNvbnN0IHhtbENoYXIgKnNjaGVtYUxvY2F0aW9uKQoreworICAgIHhtbFNjaGVtYUJ1Y2tldFB0ciBjdXI7CisgICAgeG1sU2NoZW1hSXRlbUxpc3RQdHIgbGlzdDsKKworICAgIGxpc3QgPSBwY3R4dC0+Y29uc3RydWN0b3ItPmJ1Y2tldHM7CisgICAgaWYgKGxpc3QtPm5iSXRlbXMgPT0gMCkKKwlyZXR1cm4oTlVMTCk7CisgICAgZWxzZSB7CisJaW50IGk7CisJZm9yIChpID0gMDsgaSA8IGxpc3QtPm5iSXRlbXM7IGkrKykgeworCSAgICBjdXIgPSAoeG1sU2NoZW1hQnVja2V0UHRyKSBsaXN0LT5pdGVtc1tpXTsKKwkgICAgLyogUG9pbnRlciBjb21wYXJpc29uISAqLworCSAgICBpZiAoY3VyLT5zY2hlbWFMb2NhdGlvbiA9PSBzY2hlbWFMb2NhdGlvbikKKwkJcmV0dXJuKGN1cik7CisJfQorICAgIH0KKyAgICByZXR1cm4oTlVMTCk7Cit9CisKK3N0YXRpYyB4bWxTY2hlbWFCdWNrZXRQdHIKK3htbFNjaGVtYUdldENoYW1lbGVvblNjaGVtYUJ1Y2tldCh4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIHBjdHh0LAorCQkJCSAgICAgY29uc3QgeG1sQ2hhciAqc2NoZW1hTG9jYXRpb24sCisJCQkJICAgICBjb25zdCB4bWxDaGFyICp0YXJnZXROYW1lc3BhY2UpCit7CisgICAgeG1sU2NoZW1hQnVja2V0UHRyIGN1cjsKKyAgICB4bWxTY2hlbWFJdGVtTGlzdFB0ciBsaXN0OworCisgICAgbGlzdCA9IHBjdHh0LT5jb25zdHJ1Y3Rvci0+YnVja2V0czsKKyAgICBpZiAobGlzdC0+bmJJdGVtcyA9PSAwKQorCXJldHVybihOVUxMKTsKKyAgICBlbHNlIHsKKwlpbnQgaTsKKwlmb3IgKGkgPSAwOyBpIDwgbGlzdC0+bmJJdGVtczsgaSsrKSB7CisJICAgIGN1ciA9ICh4bWxTY2hlbWFCdWNrZXRQdHIpIGxpc3QtPml0ZW1zW2ldOworCSAgICAvKiBQb2ludGVyIGNvbXBhcmlzb24hICovCisJICAgIGlmICgoY3VyLT5vcmlnVGFyZ2V0TmFtZXNwYWNlID09IE5VTEwpICYmCisJCShjdXItPnNjaGVtYUxvY2F0aW9uID09IHNjaGVtYUxvY2F0aW9uKSAmJgorCQkoY3VyLT50YXJnZXROYW1lc3BhY2UgPT0gdGFyZ2V0TmFtZXNwYWNlKSkKKwkJcmV0dXJuKGN1cik7CisJfQorICAgIH0KKyAgICByZXR1cm4oTlVMTCk7Cit9CisKKworI2RlZmluZSBJU19CQURfU0NIRU1BX0RPQyhiKSBcCisgICAgKCgoYiktPmRvYyA9PSBOVUxMKSAmJiAoKGIpLT5zY2hlbWFMb2NhdGlvbiAhPSBOVUxMKSkKKworc3RhdGljIHhtbFNjaGVtYUJ1Y2tldFB0cgoreG1sU2NoZW1hR2V0U2NoZW1hQnVja2V0QnlUTlMoeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBwY3R4dCwKKwkJCQkgY29uc3QgeG1sQ2hhciAqdGFyZ2V0TmFtZXNwYWNlLAorCQkJCSBpbnQgaW1wb3J0ZWQpCit7CisgICAgeG1sU2NoZW1hQnVja2V0UHRyIGN1cjsKKyAgICB4bWxTY2hlbWFJdGVtTGlzdFB0ciBsaXN0OworCisgICAgbGlzdCA9IHBjdHh0LT5jb25zdHJ1Y3Rvci0+YnVja2V0czsKKyAgICBpZiAobGlzdC0+bmJJdGVtcyA9PSAwKQorCXJldHVybihOVUxMKTsKKyAgICBlbHNlIHsKKwlpbnQgaTsKKwlmb3IgKGkgPSAwOyBpIDwgbGlzdC0+bmJJdGVtczsgaSsrKSB7CisJICAgIGN1ciA9ICh4bWxTY2hlbWFCdWNrZXRQdHIpIGxpc3QtPml0ZW1zW2ldOworCSAgICBpZiAoKCEgSVNfQkFEX1NDSEVNQV9ET0MoY3VyKSkgJiYKKwkJKGN1ci0+b3JpZ1RhcmdldE5hbWVzcGFjZSA9PSB0YXJnZXROYW1lc3BhY2UpICYmCisJCSgoaW1wb3J0ZWQgJiYgY3VyLT5pbXBvcnRlZCkgfHwKKwkJICgoIWltcG9ydGVkKSAmJiAoIWN1ci0+aW1wb3J0ZWQpKSkpCisJCXJldHVybihjdXIpOworCX0KKyAgICB9CisgICAgcmV0dXJuKE5VTEwpOworfQorCitzdGF0aWMgaW50Cit4bWxTY2hlbWFQYXJzZU5ld0RvY1dpdGhDb250ZXh0KHhtbFNjaGVtYVBhcnNlckN0eHRQdHIgcGN0eHQsCisJCSAgICAgeG1sU2NoZW1hUHRyIHNjaGVtYSwKKwkJICAgICB4bWxTY2hlbWFCdWNrZXRQdHIgYnVja2V0KQoreworICAgIGludCBvbGRGbGFnczsKKyAgICB4bWxEb2NQdHIgb2xkRG9jOworICAgIHhtbE5vZGVQdHIgbm9kZTsKKyAgICBpbnQgcmV0LCBvbGRFcnJzOworICAgIHhtbFNjaGVtYUJ1Y2tldFB0ciBvbGRidWNrZXQgPSBwY3R4dC0+Y29uc3RydWN0b3ItPmJ1Y2tldDsKKworICAgIC8qCisgICAgKiBTYXZlIG9sZCB2YWx1ZXM7IHJlc2V0IHRoZSAqbWFpbiogc2NoZW1hLgorICAgICogVVJHRU5UIFRPRE86IFRoaXMgaXMgbm90IGdvb2Q7IG1vdmUgdGhlIHBlci1kb2N1bWVudCBpbmZvcm1hdGlvbgorICAgICogdG8gdGhlIHBhcnNlci4gR2V0IHJpZCBvZiBwYXNzaW5nIHRoZSBtYWluIHNjaGVtYSB0byB0aGUKKyAgICAqIHBhcnNpbmcgZnVuY3Rpb25zLgorICAgICovCisgICAgb2xkRmxhZ3MgPSBzY2hlbWEtPmZsYWdzOworICAgIG9sZERvYyA9IHNjaGVtYS0+ZG9jOworICAgIGlmIChzY2hlbWEtPmZsYWdzICE9IDApCisJeG1sU2NoZW1hQ2xlYXJTY2hlbWFEZWZhdWx0cyhzY2hlbWEpOworICAgIHNjaGVtYS0+ZG9jID0gYnVja2V0LT5kb2M7CisgICAgcGN0eHQtPnNjaGVtYSA9IHNjaGVtYTsKKyAgICAvKgorICAgICogS2VlcCB0aGUgY3VycmVudCB0YXJnZXQgbmFtZXNwYWNlIG9uIHRoZSBwYXJzZXIgKm5vdCogb24gdGhlCisgICAgKiBtYWluIHNjaGVtYS4KKyAgICAqLworICAgIHBjdHh0LT50YXJnZXROYW1lc3BhY2UgPSBidWNrZXQtPnRhcmdldE5hbWVzcGFjZTsKKyAgICBXWFNfQ09OU1RSVUNUT1IocGN0eHQpLT5idWNrZXQgPSBidWNrZXQ7CisKKyAgICBpZiAoKGJ1Y2tldC0+dGFyZ2V0TmFtZXNwYWNlICE9IE5VTEwpICYmCisJeG1sU3RyRXF1YWwoYnVja2V0LT50YXJnZXROYW1lc3BhY2UsIHhtbFNjaGVtYU5zKSkgeworCS8qCisJKiBXZSBhcmUgcGFyc2luZyB0aGUgc2NoZW1hIGZvciBzY2hlbWFzIQorCSovCisJcGN0eHQtPmlzUzRTID0gMTsKKyAgICB9CisgICAgLyogTWFyayBpdCBhcyBwYXJzZWQsIGV2ZW4gaWYgcGFyc2luZyBmYWlscy4gKi8KKyAgICBidWNrZXQtPnBhcnNlZCsrOworICAgIC8qIENvbXBpbGUgdGhlIHNjaGVtYSBkb2MuICovCisgICAgbm9kZSA9IHhtbERvY0dldFJvb3RFbGVtZW50KGJ1Y2tldC0+ZG9jKTsKKyAgICByZXQgPSB4bWxTY2hlbWFQYXJzZVNjaGVtYUVsZW1lbnQocGN0eHQsIHNjaGVtYSwgbm9kZSk7CisgICAgaWYgKHJldCAhPSAwKQorCWdvdG8gZXhpdDsKKyAgICAvKiBBbiBlbXB0eSBzY2hlbWE7IGp1c3QgZ2V0IG91dC4gKi8KKyAgICBpZiAobm9kZS0+Y2hpbGRyZW4gPT0gTlVMTCkKKwlnb3RvIGV4aXQ7CisgICAgb2xkRXJycyA9IHBjdHh0LT5uYmVycm9yczsKKyAgICByZXQgPSB4bWxTY2hlbWFQYXJzZVNjaGVtYVRvcExldmVsKHBjdHh0LCBzY2hlbWEsIG5vZGUtPmNoaWxkcmVuKTsKKyAgICBpZiAocmV0ICE9IDApCisJZ290byBleGl0OworICAgIC8qCisgICAgKiBUT0RPOiBOb3QgbmljZSwgYnV0IEknbSBub3QgMTAwJSBzdXJlIHdlIHdpbGwgZ2V0IGFsd2F5cyBhbiBlcnJvcgorICAgICogYXMgYSByZXN1bHQgb2YgdGhlIG9ib3ZlIGZ1bmN0aW9uczsgc28gYmV0dGVyIHJlbHkgb24gcGN0eHQtPmVycgorICAgICogYXMgd2VsbC4KKyAgICAqLworICAgIGlmICgocmV0ID09IDApICYmIChvbGRFcnJzICE9IHBjdHh0LT5uYmVycm9ycykpIHsKKwlyZXQgPSBwY3R4dC0+ZXJyOworCWdvdG8gZXhpdDsKKyAgICB9CisKK2V4aXQ6CisgICAgV1hTX0NPTlNUUlVDVE9SKHBjdHh0KS0+YnVja2V0ID0gb2xkYnVja2V0OworICAgIC8qIFJlc3RvcmUgc2NoZW1hIHZhbHVlcy4gKi8KKyAgICBzY2hlbWEtPmRvYyA9IG9sZERvYzsKKyAgICBzY2hlbWEtPmZsYWdzID0gb2xkRmxhZ3M7CisgICAgcmV0dXJuKHJldCk7Cit9CisKK3N0YXRpYyBpbnQKK3htbFNjaGVtYVBhcnNlTmV3RG9jKHhtbFNjaGVtYVBhcnNlckN0eHRQdHIgcGN0eHQsCisJCSAgICAgeG1sU2NoZW1hUHRyIHNjaGVtYSwKKwkJICAgICB4bWxTY2hlbWFCdWNrZXRQdHIgYnVja2V0KQoreworICAgIHhtbFNjaGVtYVBhcnNlckN0eHRQdHIgbmV3cGN0eHQ7CisgICAgaW50IHJlcyA9IDA7CisKKyAgICBpZiAoYnVja2V0ID09IE5VTEwpCisJcmV0dXJuKDApOworICAgIGlmIChidWNrZXQtPnBhcnNlZCkgeworCVBFUlJPUl9JTlQoInhtbFNjaGVtYVBhcnNlTmV3RG9jIiwKKwkgICAgInJlcGFyc2luZyBhIHNjaGVtYSBkb2MiKTsKKwlyZXR1cm4oLTEpOworICAgIH0KKyAgICBpZiAoYnVja2V0LT5kb2MgPT0gTlVMTCkgeworCVBFUlJPUl9JTlQoInhtbFNjaGVtYVBhcnNlTmV3RG9jIiwKKwkgICAgInBhcnNpbmcgYSBzY2hlbWEgZG9jLCBidXQgdGhlcmUncyBubyBkb2MiKTsKKwlyZXR1cm4oLTEpOworICAgIH0KKyAgICBpZiAocGN0eHQtPmNvbnN0cnVjdG9yID09IE5VTEwpIHsKKwlQRVJST1JfSU5UKCJ4bWxTY2hlbWFQYXJzZU5ld0RvYyIsCisJICAgICJubyBjb25zdHJ1Y3RvciIpOworCXJldHVybigtMSk7CisgICAgfQorICAgIC8qIENyZWF0ZSBhbmQgaW5pdCB0aGUgdGVtcG9yYXJ5IHBhcnNlciBjb250ZXh0LiAqLworICAgIG5ld3BjdHh0ID0geG1sU2NoZW1hTmV3UGFyc2VyQ3R4dFVzZURpY3QoCisJKGNvbnN0IGNoYXIgKikgYnVja2V0LT5zY2hlbWFMb2NhdGlvbiwgcGN0eHQtPmRpY3QpOworICAgIGlmIChuZXdwY3R4dCA9PSBOVUxMKQorCXJldHVybigtMSk7CisgICAgbmV3cGN0eHQtPmNvbnN0cnVjdG9yID0gcGN0eHQtPmNvbnN0cnVjdG9yOworICAgIC8qCisgICAgKiBUT0RPOiBDYW4gd2UgYXZvaWQgdGhhdCB0aGUgcGFyc2VyIGtub3dzIGFib3V0IHRoZSBtYWluIHNjaGVtYT8KKyAgICAqIEl0IHdvdWxkIGJlIGJldHRlciBpZiBoZSBrbm93cyBhYm91dCB0aGUgY3VycmVudCBzY2hlbWEgYnVja2V0CisgICAgKiBvbmx5LgorICAgICovCisgICAgbmV3cGN0eHQtPnNjaGVtYSA9IHNjaGVtYTsKKyAgICB4bWxTY2hlbWFTZXRQYXJzZXJFcnJvcnMobmV3cGN0eHQsIHBjdHh0LT5lcnJvciwgcGN0eHQtPndhcm5pbmcsCisJcGN0eHQtPmVyckN0eHQpOworICAgIHhtbFNjaGVtYVNldFBhcnNlclN0cnVjdHVyZWRFcnJvcnMobmV3cGN0eHQsIHBjdHh0LT5zZXJyb3IsCisJcGN0eHQtPmVyckN0eHQpOworICAgIG5ld3BjdHh0LT5jb3VudGVyID0gcGN0eHQtPmNvdW50ZXI7CisKKworICAgIHJlcyA9IHhtbFNjaGVtYVBhcnNlTmV3RG9jV2l0aENvbnRleHQobmV3cGN0eHQsIHNjaGVtYSwgYnVja2V0KTsKKworICAgIC8qIENoYW5uZWwgYmFjayBlcnJvcnMgYW5kIGNsZWFudXAgdGhlIHRlbXBvcmFyeSBwYXJzZXIgY29udGV4dC4gKi8KKyAgICBpZiAocmVzICE9IDApCisJcGN0eHQtPmVyciA9IHJlczsKKyAgICBwY3R4dC0+bmJlcnJvcnMgKz0gbmV3cGN0eHQtPm5iZXJyb3JzOworICAgIHBjdHh0LT5jb3VudGVyID0gbmV3cGN0eHQtPmNvdW50ZXI7CisgICAgbmV3cGN0eHQtPmNvbnN0cnVjdG9yID0gTlVMTDsKKyAgICAvKiBGcmVlIHRoZSBwYXJzZXIgY29udGV4dC4gKi8KKyAgICB4bWxTY2hlbWFGcmVlUGFyc2VyQ3R4dChuZXdwY3R4dCk7CisgICAgcmV0dXJuKHJlcyk7Cit9CisKK3N0YXRpYyB2b2lkCit4bWxTY2hlbWFTY2hlbWFSZWxhdGlvbkFkZENoaWxkKHhtbFNjaGVtYUJ1Y2tldFB0ciBidWNrZXQsCisJCQkJeG1sU2NoZW1hU2NoZW1hUmVsYXRpb25QdHIgcmVsKQoreworICAgIHhtbFNjaGVtYVNjaGVtYVJlbGF0aW9uUHRyIGN1ciA9IGJ1Y2tldC0+cmVsYXRpb25zOworCisgICAgaWYgKGN1ciA9PSBOVUxMKSB7CisJYnVja2V0LT5yZWxhdGlvbnMgPSByZWw7CisJcmV0dXJuOworICAgIH0KKyAgICB3aGlsZSAoY3VyLT5uZXh0ICE9IE5VTEwpCisJY3VyID0gY3VyLT5uZXh0OworICAgIGN1ci0+bmV4dCA9IHJlbDsKK30KKworCitzdGF0aWMgY29uc3QgeG1sQ2hhciAqCit4bWxTY2hlbWFCdWlsZEFic29sdXRlVVJJKHhtbERpY3RQdHIgZGljdCwgY29uc3QgeG1sQ2hhciogbG9jYXRpb24sCisJCQkgIHhtbE5vZGVQdHIgY3R4dE5vZGUpCit7CisgICAgLyoKKyAgICAqIEJ1aWxkIGFuIGFic29sdWUgbG9jYXRpb24gVVJJLgorICAgICovCisgICAgaWYgKGxvY2F0aW9uICE9IE5VTEwpIHsKKwlpZiAoY3R4dE5vZGUgPT0gTlVMTCkKKwkgICAgcmV0dXJuKGxvY2F0aW9uKTsKKwllbHNlIHsKKwkgICAgeG1sQ2hhciAqYmFzZSwgKlVSSTsKKwkgICAgY29uc3QgeG1sQ2hhciAqcmV0ID0gTlVMTDsKKworCSAgICBiYXNlID0geG1sTm9kZUdldEJhc2UoY3R4dE5vZGUtPmRvYywgY3R4dE5vZGUpOworCSAgICBpZiAoYmFzZSA9PSBOVUxMKSB7CisJCVVSSSA9IHhtbEJ1aWxkVVJJKGxvY2F0aW9uLCBjdHh0Tm9kZS0+ZG9jLT5VUkwpOworCSAgICB9IGVsc2UgeworCQlVUkkgPSB4bWxCdWlsZFVSSShsb2NhdGlvbiwgYmFzZSk7CisJCXhtbEZyZWUoYmFzZSk7CisJICAgIH0KKwkgICAgaWYgKFVSSSAhPSBOVUxMKSB7CisJCXJldCA9IHhtbERpY3RMb29rdXAoZGljdCwgVVJJLCAtMSk7CisJCXhtbEZyZWUoVVJJKTsKKwkJcmV0dXJuKHJldCk7CisJICAgIH0KKwl9CisgICAgfQorICAgIHJldHVybihOVUxMKTsKK30KKworCisKKy8qKgorICogeG1sU2NoZW1hQWRkU2NoZW1hRG9jOgorICogQHBjdHh0OiAgYSBzY2hlbWEgdmFsaWRhdGlvbiBjb250ZXh0CisgKiBAc2NoZW1hOiAgdGhlIHNjaGVtYSBiZWluZyBidWlsdAorICogQG5vZGU6ICBhIHN1YnRyZWUgY29udGFpbmluZyBYTUwgU2NoZW1hIGluZm9ybWF0aW9ucworICoKKyAqIFBhcnNlIGFuIGluY2x1ZGVkIChhbmQgdG8tYmUtcmVkZWZpbmVkKSBYTUwgc2NoZW1hIGRvY3VtZW50LgorICoKKyAqIFJldHVybnMgMCBvbiBzdWNjZXNzLCBhIHBvc2l0aXZlIGVycm9yIGNvZGUgb24gZXJyb3JzIGFuZAorICogICAgICAgICAtMSBpbiBjYXNlIG9mIGFuIGludGVybmFsIG9yIEFQSSBlcnJvci4KKyAqLworCitzdGF0aWMgaW50Cit4bWxTY2hlbWFBZGRTY2hlbWFEb2MoeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBwY3R4dCwKKwkJaW50IHR5cGUsIC8qIGltcG9ydCBvciBpbmNsdWRlIG9yIHJlZGVmaW5lICovCisJCWNvbnN0IHhtbENoYXIgKnNjaGVtYUxvY2F0aW9uLAorCQl4bWxEb2NQdHIgc2NoZW1hRG9jLAorCQljb25zdCBjaGFyICpzY2hlbWFCdWZmZXIsCisJCWludCBzY2hlbWFCdWZmZXJMZW4sCisJCXhtbE5vZGVQdHIgaW52b2tpbmdOb2RlLAorCQljb25zdCB4bWxDaGFyICpzb3VyY2VUYXJnZXROYW1lc3BhY2UsCisJCWNvbnN0IHhtbENoYXIgKmltcG9ydE5hbWVzcGFjZSwKKwkJeG1sU2NoZW1hQnVja2V0UHRyICpidWNrZXQpCit7CisgICAgY29uc3QgeG1sQ2hhciAqdGFyZ2V0TmFtZXNwYWNlID0gTlVMTDsKKyAgICB4bWxTY2hlbWFTY2hlbWFSZWxhdGlvblB0ciByZWxhdGlvbiA9IE5VTEw7CisgICAgeG1sRG9jUHRyIGRvYyA9IE5VTEw7CisgICAgaW50IHJlcyA9IDAsIGVyciA9IDAsIGxvY2F0ZWQgPSAwLCBwcmVzZXJ2ZURvYyA9IDA7CisgICAgeG1sU2NoZW1hQnVja2V0UHRyIGJrdCA9IE5VTEw7CisKKyAgICBpZiAoYnVja2V0ICE9IE5VTEwpCisJKmJ1Y2tldCA9IE5VTEw7CisKKyAgICBzd2l0Y2ggKHR5cGUpIHsKKwljYXNlIFhNTF9TQ0hFTUFfU0NIRU1BX0lNUE9SVDoKKwljYXNlIFhNTF9TQ0hFTUFfU0NIRU1BX01BSU46CisJICAgIGVyciA9IFhNTF9TQ0hFTUFQX1NSQ19JTVBPUlQ7CisJICAgIGJyZWFrOworCWNhc2UgWE1MX1NDSEVNQV9TQ0hFTUFfSU5DTFVERToKKwkgICAgZXJyID0gWE1MX1NDSEVNQVBfU1JDX0lOQ0xVREU7CisJICAgIGJyZWFrOworCWNhc2UgWE1MX1NDSEVNQV9TQ0hFTUFfUkVERUZJTkU6CisJICAgIGVyciA9IFhNTF9TQ0hFTUFQX1NSQ19SRURFRklORTsKKwkgICAgYnJlYWs7CisgICAgfQorCisKKyAgICAvKiBTcGVjaWFsIGhhbmRsaW5nIGZvciB0aGUgbWFpbiBzY2hlbWE6CisgICAgKiBza2lwIHRoZSBsb2NhdGlvbiBhbmQgcmVsYXRpb24gbG9naWMgYW5kIGp1c3QgcGFyc2UgdGhlIGRvYy4KKyAgICAqIFdlIG5lZWQganVzdCBhIGJ1Y2tldCB0byBiZSByZXR1cm5lZCBpbiB0aGlzIGNhc2UuCisgICAgKi8KKyAgICBpZiAoKHR5cGUgPT0gWE1MX1NDSEVNQV9TQ0hFTUFfTUFJTikgfHwgKCEgV1hTX0hBU19CVUNLRVRTKHBjdHh0KSkpCisJZ290byBkb2NfbG9hZDsKKworICAgIC8qIE5vdGUgdGhhdCB3ZSBleHBlY3QgdGhlIGxvY2F0aW9uIHRvIGJlIGFuIGFic3VsdXRlIFVSSS4gKi8KKyAgICBpZiAoc2NoZW1hTG9jYXRpb24gIT0gTlVMTCkgeworCWJrdCA9IHhtbFNjaGVtYUdldFNjaGVtYUJ1Y2tldChwY3R4dCwgc2NoZW1hTG9jYXRpb24pOworCWlmICgoYmt0ICE9IE5VTEwpICYmCisJICAgIChwY3R4dC0+Y29uc3RydWN0b3ItPmJ1Y2tldCA9PSBia3QpKSB7CisJICAgIC8qIFJlcG9ydCBzZWxmLWltcG9ydHMvaW5jbHVzaW9ucy9yZWRlZmluaXRpb25zLiAqLworCisJICAgIHhtbFNjaGVtYUN1c3RvbUVycihBQ1RYVF9DQVNUIHBjdHh0LCBlcnIsCisJCWludm9raW5nTm9kZSwgTlVMTCwKKwkJIlRoZSBzY2hlbWEgbXVzdCBub3QgaW1wb3J0L2luY2x1ZGUvcmVkZWZpbmUgaXRzZWxmIiwKKwkJTlVMTCwgTlVMTCk7CisJICAgIGdvdG8gZXhpdDsKKwl9CisgICAgfQorICAgIC8qCisgICAgKiBDcmVhdGUgYSByZWxhdGlvbiBmb3IgdGhlIGdyYXBoIG9mIHNjaGVtYXMuCisgICAgKi8KKyAgICByZWxhdGlvbiA9IHhtbFNjaGVtYVNjaGVtYVJlbGF0aW9uQ3JlYXRlKCk7CisgICAgaWYgKHJlbGF0aW9uID09IE5VTEwpCisJcmV0dXJuKC0xKTsKKyAgICB4bWxTY2hlbWFTY2hlbWFSZWxhdGlvbkFkZENoaWxkKHBjdHh0LT5jb25zdHJ1Y3Rvci0+YnVja2V0LAorCXJlbGF0aW9uKTsKKyAgICByZWxhdGlvbi0+dHlwZSA9IHR5cGU7CisKKyAgICAvKgorICAgICogU2F2ZSB0aGUgbmFtZXNwYWNlIGltcG9ydCBpbmZvcm1hdGlvbi4KKyAgICAqLworICAgIGlmIChXWFNfSVNfQlVDS0VUX0lNUE1BSU4odHlwZSkpIHsKKwlyZWxhdGlvbi0+aW1wb3J0TmFtZXNwYWNlID0gaW1wb3J0TmFtZXNwYWNlOworCWlmIChzY2hlbWFMb2NhdGlvbiA9PSBOVUxMKSB7CisJICAgIC8qCisJICAgICogTm8gbG9jYXRpb247IHRoaXMgaXMganVzdCBhbiBpbXBvcnQgb2YgdGhlIG5hbWVzcGFjZS4KKwkgICAgKiBOb3RlIHRoYXQgd2UgZG9uJ3QgYXNzaWduIGEgYnVja2V0IHRvIHRoZSByZWxhdGlvbgorCSAgICAqIGluIHRoaXMgY2FzZS4KKwkgICAgKi8KKwkgICAgZ290byBleGl0OworCX0KKwl0YXJnZXROYW1lc3BhY2UgPSBpbXBvcnROYW1lc3BhY2U7CisgICAgfQorCisgICAgLyogRGlkIHdlIGFscmVhZHkgZmV0Y2ggdGhlIGRvYz8gKi8KKyAgICBpZiAoYmt0ICE9IE5VTEwpIHsKKwlpZiAoKFdYU19JU19CVUNLRVRfSU1QTUFJTih0eXBlKSkgJiYgKCEgYmt0LT5pbXBvcnRlZCkpIHsKKwkgICAgLyoKKwkgICAgKiBXZSBpbmNsdWRlZC9yZWRlZmluZWQgYW5kIHRoZW4gdHJ5IHRvIGltcG9ydCBhIHNjaGVtYSwKKwkgICAgKiBidXQgdGhlIG5ldyBsb2NhdGlvbiBwcm92aWRlZCBmb3IgaW1wb3J0IHdhcyBkaWZmZXJlbnQuCisJICAgICovCisJICAgIGlmIChzY2hlbWFMb2NhdGlvbiA9PSBOVUxMKQorCQlzY2hlbWFMb2NhdGlvbiA9IEJBRF9DQVNUICJpbl9tZW1vcnlfYnVmZmVyIjsKKwkgICAgaWYgKCF4bWxTdHJFcXVhbChzY2hlbWFMb2NhdGlvbiwKKwkJYmt0LT5zY2hlbWFMb2NhdGlvbikpIHsKKwkJeG1sU2NoZW1hQ3VzdG9tRXJyKEFDVFhUX0NBU1QgcGN0eHQsIGVyciwKKwkJICAgIGludm9raW5nTm9kZSwgTlVMTCwKKwkJICAgICJUaGUgc2NoZW1hIGRvY3VtZW50ICclcycgY2Fubm90IGJlIGltcG9ydGVkLCBzaW5jZSAiCisJCSAgICAiaXQgd2FzIGFscmVhZHkgaW5jbHVkZWQgb3IgcmVkZWZpbmVkIiwKKwkJICAgIHNjaGVtYUxvY2F0aW9uLCBOVUxMKTsKKwkJZ290byBleGl0OworCSAgICB9CisJfSBlbHNlIGlmICgoISBXWFNfSVNfQlVDS0VUX0lNUE1BSU4odHlwZSkpICYmIChia3QtPmltcG9ydGVkKSkgeworCSAgICAvKgorCSAgICAqIFdlIGltcG9ydGVkIGFuZCB0aGVuIHRyeSB0byBpbmNsdWRlL3JlZGVmaW5lIGEgc2NoZW1hLAorCSAgICAqIGJ1dCB0aGUgbmV3IGxvY2F0aW9uIHByb3ZpZGVkIGZvciB0aGUgaW5jbHVkZS9yZWRlZmluZQorCSAgICAqIHdhcyBkaWZmZXJlbnQuCisJICAgICovCisJICAgIGlmIChzY2hlbWFMb2NhdGlvbiA9PSBOVUxMKQorCQlzY2hlbWFMb2NhdGlvbiA9IEJBRF9DQVNUICJpbl9tZW1vcnlfYnVmZmVyIjsKKwkgICAgaWYgKCF4bWxTdHJFcXVhbChzY2hlbWFMb2NhdGlvbiwKKwkJYmt0LT5zY2hlbWFMb2NhdGlvbikpIHsKKwkJeG1sU2NoZW1hQ3VzdG9tRXJyKEFDVFhUX0NBU1QgcGN0eHQsIGVyciwKKwkJICAgIGludm9raW5nTm9kZSwgTlVMTCwKKwkJICAgICJUaGUgc2NoZW1hIGRvY3VtZW50ICclcycgY2Fubm90IGJlIGluY2x1ZGVkIG9yICIKKwkJICAgICJyZWRlZmluZWQsIHNpbmNlIGl0IHdhcyBhbHJlYWR5IGltcG9ydGVkIiwKKwkJICAgIHNjaGVtYUxvY2F0aW9uLCBOVUxMKTsKKwkJZ290byBleGl0OworCSAgICB9CisJfQorICAgIH0KKworICAgIGlmIChXWFNfSVNfQlVDS0VUX0lNUE1BSU4odHlwZSkpIHsKKwkvKgorCSogR2l2ZW4gdGhhdCB0aGUgc2NoZW1hTG9jYXRpb24gW2F0dHJpYnV0ZV0gaXMgb25seSBhIGhpbnQsIGl0IGlzIG9wZW4KKwkqIHRvIGFwcGxpY2F0aW9ucyB0byBpZ25vcmUgYWxsIGJ1dCB0aGUgZmlyc3QgPGltcG9ydD4gZm9yIGEgZ2l2ZW4KKwkqIG5hbWVzcGFjZSwgcmVnYXJkbGVzcyBvZiB0aGUgYGFjdHVhbCB2YWx1ZWAgb2Ygc2NoZW1hTG9jYXRpb24sIGJ1dAorCSogc3VjaCBhIHN0cmF0ZWd5IHJpc2tzIG1pc3NpbmcgdXNlZnVsIGluZm9ybWF0aW9uIHdoZW4gbmV3CisJKiBzY2hlbWFMb2NhdGlvbnMgYXJlIG9mZmVyZWQuCisJKgorCSogV2Ugd2lsbCB1c2UgdGhlIGZpcnN0IDxpbXBvcnQ+IHRoYXQgY29tZXMgd2l0aCBhIGxvY2F0aW9uLgorCSogRnVydGhlciA8aW1wb3J0PnMgKndpdGgqIGEgbG9jYXRpb24sIHdpbGwgcmVzdWx0IGluIGFuIGVycm9yLgorCSogVE9ETzogQmV0dGVyIHdvdWxkIGJlIHRvIGp1c3QgcmVwb3J0IGEgd2FybmluZyBoZXJlLCBidXQKKwkqIHdlJ2xsIHRyeSBpdCB0aGlzIHdheSB1bnRpbCBzb21lb25lIGNvbXBsYWlucy4KKwkqCisJKiBTY2hlbWEgRG9jdW1lbnQgTG9jYXRpb24gU3RyYXRlZ3k6CisJKiAzIEJhc2VkIG9uIHRoZSBuYW1lc3BhY2UgbmFtZSwgaWRlbnRpZnkgYW4gZXhpc3Rpbmcgc2NoZW1hIGRvY3VtZW50LAorCSogZWl0aGVyIGFzIGEgcmVzb3VyY2Ugd2hpY2ggaXMgYW4gWE1MIGRvY3VtZW50IG9yIGEgPHNjaGVtYT4gZWxlbWVudAorCSogaW5mb3JtYXRpb24gaXRlbSwgaW4gc29tZSBsb2NhbCBzY2hlbWEgcmVwb3NpdG9yeTsKKwkqIDUgQXR0ZW1wdCB0byByZXNvbHZlIHRoZSBuYW1lc3BhY2UgbmFtZSB0byBsb2NhdGUgc3VjaCBhIHJlc291cmNlLgorCSoKKwkqIE5PVEU6ICgzKSBhbmQgKDUpIGFyZSBub3Qgc3VwcG9ydGVkLgorCSovCisJaWYgKGJrdCAhPSBOVUxMKSB7CisJICAgIHJlbGF0aW9uLT5idWNrZXQgPSBia3Q7CisJICAgIGdvdG8gZXhpdDsKKwl9CisJYmt0ID0geG1sU2NoZW1hR2V0U2NoZW1hQnVja2V0QnlUTlMocGN0eHQsCisJICAgIGltcG9ydE5hbWVzcGFjZSwgMSk7CisKKwlpZiAoYmt0ICE9IE5VTEwpIHsKKwkgICAgcmVsYXRpb24tPmJ1Y2tldCA9IGJrdDsKKwkgICAgaWYgKGJrdC0+c2NoZW1hTG9jYXRpb24gPT0gTlVMTCkgeworCQkvKiBGaXJzdCBnaXZlbiBsb2NhdGlvbiBvZiB0aGUgc2NoZW1hOyBsb2FkIHRoZSBkb2MuICovCisJCWJrdC0+c2NoZW1hTG9jYXRpb24gPSBzY2hlbWFMb2NhdGlvbjsKKwkgICAgfSBlbHNlIHsKKwkJaWYgKCF4bWxTdHJFcXVhbChzY2hlbWFMb2NhdGlvbiwKKwkJICAgIGJrdC0+c2NoZW1hTG9jYXRpb24pKSB7CisJCSAgICAvKgorCQkgICAgKiBBZGRpdGlvbmFsIGxvY2F0aW9uIGdpdmVuOyBqdXN0IHNraXAgaXQuCisJCSAgICAqIFVSR0VOVCBUT0RPOiBXZSBzaG91bGQgcmVwb3J0IGEgd2FybmluZyBoZXJlLgorCQkgICAgKiByZXMgPSBYTUxfU0NIRU1BUF9TUkNfSU1QT1JUOworCQkgICAgKi8KKwkJICAgIGlmIChzY2hlbWFMb2NhdGlvbiA9PSBOVUxMKQorCQkJc2NoZW1hTG9jYXRpb24gPSBCQURfQ0FTVCAiaW5fbWVtb3J5X2J1ZmZlciI7CisKKwkJICAgIHhtbFNjaGVtYUN1c3RvbVdhcm5pbmcoQUNUWFRfQ0FTVCBwY3R4dCwKKwkJCVhNTF9TQ0hFTUFQX1dBUk5fU0tJUF9TQ0hFTUEsCisJCQlpbnZva2luZ05vZGUsIE5VTEwsCisJCQkiU2tpcHBpbmcgaW1wb3J0IG9mIHNjaGVtYSBsb2NhdGVkIGF0ICclcycgZm9yIHRoZSAiCisJCQkibmFtZXNwYWNlICclcycsIHNpbmNlIHRoaXMgbmFtZXNwYWNlIHdhcyBhbHJlYWR5ICIKKwkJCSJpbXBvcnRlZCB3aXRoIHRoZSBzY2hlbWEgbG9jYXRlZCBhdCAnJXMnIiwKKwkJCXNjaGVtYUxvY2F0aW9uLCBpbXBvcnROYW1lc3BhY2UsIGJrdC0+c2NoZW1hTG9jYXRpb24pOworCQl9CisJCWdvdG8gZXhpdDsKKwkgICAgfQorCX0KKwkvKgorCSogTm8gYnVja2V0ICsgZmlyc3QgbG9jYXRpb246IGxvYWQgdGhlIGRvYyBhbmQgY3JlYXRlIGEKKwkqIGJ1Y2tldC4KKwkqLworICAgIH0gZWxzZSB7CisJLyogPGluY2x1ZGU+IGFuZCA8cmVkZWZpbmU+ICovCisJaWYgKGJrdCAhPSBOVUxMKSB7CisKKwkgICAgaWYgKChia3QtPm9yaWdUYXJnZXROYW1lc3BhY2UgPT0gTlVMTCkgJiYKKwkJKGJrdC0+dGFyZ2V0TmFtZXNwYWNlICE9IHNvdXJjZVRhcmdldE5hbWVzcGFjZSkpIHsKKwkJeG1sU2NoZW1hQnVja2V0UHRyIGNoYW1lbDsKKworCQkvKgorCQkqIENoYW1lbGVvbiBpbmNsdWRlL3JlZGVmaW5lOiBza2lwIGxvYWRpbmcgb25seSBpZiBpdCB3YXMKKwkJKiBhbGVhZHkgYnVpbGQgZm9yIHRoZSB0YXJnZXROYW1lc3BhY2Ugb2YgdGhlIGluY2x1ZGluZworCQkqIHNjaGVtYS4KKwkJKi8KKwkJLyoKKwkJKiBVUkdFTlQgVE9ETzogSWYgdGhlIHNjaGVtYSBpcyBhIGNoYW1lbGVvbi1pbmNsdWRlIHRoZW4gY29weQorCQkqIHRoZSBjb21wb25lbnRzIGludG8gdGhlIGluY2x1ZGluZyBzY2hlbWEgYW5kIG1vZGlmeSB0aGUKKwkJKiB0YXJnZXROYW1lc3BhY2Ugb2YgdGhvc2UgY29tcG9uZW50cywgZG8gbm90aGluZyBvdGhlcndpc2UuCisJCSogTk9URTogVGhpcyBpcyBjdXJyZW50bHkgd29ya2VkLWFyb3VuZCBieSBjb21waWxpbmcgdGhlCisJCSogY2hhbWVsZW9uIGZvciBldmVyeSBkZXN0aW5jdCBpbmNsdWRpbmcgdGFyZ2V0TmFtZXNwYWNlOyB0aHVzCisJCSogbm90IHBlcmZvcm1hbnQgYXQgdGhlIG1vbWVudC4KKwkJKiBUT0RPOiBDaGVjayB3aGVuIHRoZSBuYW1lc3BhY2UgaW4gd2lsZGNhcmRzIGZvciBjaGFtZWxlb25zCisJCSogbmVlZHMgdG8gYmUgY29udmVydGVkOiBiZWZvcmUgd2UgYnVpbHQgd2lsZGNhcmQgaW50ZXJzZWN0aW9ucworCQkqIG9yIGFmdGVyLgorCQkqICAgQW5zd2VyOiBhZnRlciEKKwkJKi8KKwkJY2hhbWVsID0geG1sU2NoZW1hR2V0Q2hhbWVsZW9uU2NoZW1hQnVja2V0KHBjdHh0LAorCQkgICAgc2NoZW1hTG9jYXRpb24sIHNvdXJjZVRhcmdldE5hbWVzcGFjZSk7CisJCWlmIChjaGFtZWwgIT0gTlVMTCkgeworCQkgICAgLyogQSBmaXR0aW5nIGNoYW1lbGVvbiB3YXMgYWxyZWFkeSBwYXJzZWQ7IE5PUC4gKi8KKwkJICAgIHJlbGF0aW9uLT5idWNrZXQgPSBjaGFtZWw7CisJCSAgICBnb3RvIGV4aXQ7CisJCX0KKwkJLyoKKwkJKiBXZSBuZWVkIHRvIHBhcnNlIHRoZSBjaGFtZWxlb24gYWdhaW4gZm9yIGEgZGlmZmVyZW50CisJCSogdGFyZ2V0TmFtZXNwYWNlLgorCQkqIENIQU1FTEVPTiBUT0RPOiBPcHRpbWl6ZSB0aGlzIGJ5IG9ubHkgcGFyc2luZyB0aGUKKwkJKiBjaGFtZWxlb24gb25jZSwgYW5kIHRoZW4gY29weWluZyB0aGUgY29tcG9uZW50cyB0bworCQkqIHRoZSBuZXcgdGFyZ2V0TmFtZXNwYWNlLgorCQkqLworCQlia3QgPSBOVUxMOworCSAgICB9IGVsc2UgeworCQlyZWxhdGlvbi0+YnVja2V0ID0gYmt0OworCQlnb3RvIGV4aXQ7CisJICAgIH0KKwl9CisgICAgfQorICAgIGlmICgoYmt0ICE9IE5VTEwpICYmIChia3QtPmRvYyAhPSBOVUxMKSkgeworCVBFUlJPUl9JTlQoInhtbFNjaGVtYUFkZFNjaGVtYURvYyIsCisJICAgICJ0cnlpbmcgdG8gbG9hZCBhIHNjaGVtYSBkb2MsIGJ1dCBhIGRvYyBpcyBhbHJlYWR5ICIKKwkgICAgImFzc2lnbmVkIHRvIHRoZSBzY2hlbWEgYnVja2V0Iik7CisJZ290byBleGl0X2ZhaWx1cmU7CisgICAgfQorCitkb2NfbG9hZDoKKyAgICAvKgorICAgICogTG9hZCB0aGUgZG9jdW1lbnQuCisgICAgKi8KKyAgICBpZiAoc2NoZW1hRG9jICE9IE5VTEwpIHsKKwlkb2MgPSBzY2hlbWFEb2M7CisJLyogRG9uJyBmcmVlIHRoaXMgb25lLCBzaW5jZSBpdCB3YXMgcHJvdmlkZWQgYnkgdGhlIGNhbGxlci4gKi8KKwlwcmVzZXJ2ZURvYyA9IDE7CisJLyogVE9ETzogRG9lcyB0aGUgY29udGV4dCBvciB0aGUgZG9jIGhvbGQgdGhlIGxvY2F0aW9uPyAqLworCWlmIChzY2hlbWFEb2MtPlVSTCAhPSBOVUxMKQorCSAgICBzY2hlbWFMb2NhdGlvbiA9IHhtbERpY3RMb29rdXAocGN0eHQtPmRpY3QsCisJCXNjaGVtYURvYy0+VVJMLCAtMSk7CisgICAgICAgIGVsc2UKKwkgICAgc2NoZW1hTG9jYXRpb24gPSBCQURfQ0FTVCAiaW5fbWVtb3J5X2J1ZmZlciI7CisgICAgfSBlbHNlIGlmICgoc2NoZW1hTG9jYXRpb24gIT0gTlVMTCkgfHwgKHNjaGVtYUJ1ZmZlciAhPSBOVUxMKSkgeworCXhtbFBhcnNlckN0eHRQdHIgcGFyc2VyQ3R4dDsKKworCXBhcnNlckN0eHQgPSB4bWxOZXdQYXJzZXJDdHh0KCk7CisJaWYgKHBhcnNlckN0eHQgPT0gTlVMTCkgeworCSAgICB4bWxTY2hlbWFQRXJyTWVtb3J5KE5VTEwsICJ4bWxTY2hlbWFHZXREb2MsICIKKwkJImFsbG9jYXRpbmcgYSBwYXJzZXIgY29udGV4dCIsIE5VTEwpOworCSAgICBnb3RvIGV4aXRfZmFpbHVyZTsKKwl9CisJaWYgKChwY3R4dC0+ZGljdCAhPSBOVUxMKSAmJiAocGFyc2VyQ3R4dC0+ZGljdCAhPSBOVUxMKSkgeworCSAgICAvKgorCSAgICAqIFRPRE86IERvIHdlIGhhdmUgdG8gYnVyZGVuIHRoZSBzY2hlbWEgcGFyc2VyIGRpY3Qgd2l0aCBhbGwKKwkgICAgKiB0aGUgY29udGVudCBvZiB0aGUgc2NoZW1hIGRvYz8KKwkgICAgKi8KKwkgICAgeG1sRGljdEZyZWUocGFyc2VyQ3R4dC0+ZGljdCk7CisJICAgIHBhcnNlckN0eHQtPmRpY3QgPSBwY3R4dC0+ZGljdDsKKwkgICAgeG1sRGljdFJlZmVyZW5jZShwYXJzZXJDdHh0LT5kaWN0KTsKKwl9CisJaWYgKHNjaGVtYUxvY2F0aW9uICE9IE5VTEwpIHsKKwkgICAgLyogUGFyc2UgZnJvbSBmaWxlLiAqLworCSAgICBkb2MgPSB4bWxDdHh0UmVhZEZpbGUocGFyc2VyQ3R4dCwgKGNvbnN0IGNoYXIgKikgc2NoZW1hTG9jYXRpb24sCisJCU5VTEwsIFNDSEVNQVNfUEFSU0VfT1BUSU9OUyk7CisJfSBlbHNlIGlmIChzY2hlbWFCdWZmZXIgIT0gTlVMTCkgeworCSAgICAvKiBQYXJzZSBmcm9tIG1lbW9yeSBidWZmZXIuICovCisJICAgIGRvYyA9IHhtbEN0eHRSZWFkTWVtb3J5KHBhcnNlckN0eHQsIHNjaGVtYUJ1ZmZlciwgc2NoZW1hQnVmZmVyTGVuLAorCQlOVUxMLCBOVUxMLCBTQ0hFTUFTX1BBUlNFX09QVElPTlMpOworCSAgICBzY2hlbWFMb2NhdGlvbiA9IEJBRF9DQVNUICJpbl9tZW1vcnlfYnVmZmVyIjsKKwkgICAgaWYgKGRvYyAhPSBOVUxMKQorCQlkb2MtPlVSTCA9IHhtbFN0cmR1cChzY2hlbWFMb2NhdGlvbik7CisJfQorCS8qCisJKiBGb3IgPGltcG9ydD46CisJKiAyLjEgVGhlIHJlZmVyZW50IGlzIChhIGZyYWdtZW50IG9mKSBhIHJlc291cmNlIHdoaWNoIGlzIGFuCisJKiBYTUwgZG9jdW1lbnQgKHNlZSBjbGF1c2UgMS4xKSwgd2hpY2ggaW4gdHVybiBjb3JyZXNwb25kcyB0bworCSogYSA8c2NoZW1hPiBlbGVtZW50IGluZm9ybWF0aW9uIGl0ZW0gaW4gYSB3ZWxsLWZvcm1lZCBpbmZvcm1hdGlvbgorCSogc2V0LCB3aGljaCBpbiB0dXJuIGNvcnJlc3BvbmRzIHRvIGEgdmFsaWQgc2NoZW1hLgorCSogVE9ETzogKDIuMSkgZnJhZ21lbnRzIG9mIFhNTCBkb2N1bWVudHMgYXJlIG5vdCBzdXBwb3J0ZWQuCisJKgorCSogMi4yIFRoZSByZWZlcmVudCBpcyBhIDxzY2hlbWE+IGVsZW1lbnQgaW5mb3JtYXRpb24gaXRlbSBpbgorCSogYSB3ZWxsLWZvcm1lZCBpbmZvcm1hdGlvbiBzZXQsIHdoaWNoIGluIHR1cm4gY29ycmVzcG9uZHMKKwkqIHRvIGEgdmFsaWQgc2NoZW1hLgorCSogVE9ETzogKDIuMikgaXMgbm90IHN1cHBvcnRlZC4KKwkqLworCWlmIChkb2MgPT0gTlVMTCkgeworCSAgICB4bWxFcnJvclB0ciBsZXJyOworCSAgICBsZXJyID0geG1sR2V0TGFzdEVycm9yKCk7CisJICAgIC8qCisJICAgICogQ2hlY2sgaWYgdGhpcyBhIHBhcnNlciBlcnJvciwgb3IgaWYgdGhlIGRvY3VtZW50IGNvdWxkCisJICAgICoganVzdCBub3QgYmUgbG9jYXRlZC4KKwkgICAgKiBUT0RPOiBUcnkgdG8gZmluZCBzcGVjaWZpYyBlcnJvciBjb2RlcyB0byByZWFjdCBvbmx5IG9uCisJICAgICogbG9jYWxpc2F0aW9uIGZhaWx1cmVzLgorCSAgICAqLworCSAgICBpZiAoKGxlcnIgPT0gTlVMTCkgfHwgKGxlcnItPmRvbWFpbiAhPSBYTUxfRlJPTV9JTykpIHsKKwkJLyoKKwkJKiBXZSBhc3N1bWUgYSBwYXJzZXIgZXJyb3IgaGVyZS4KKwkJKi8KKwkJbG9jYXRlZCA9IDE7CisJCS8qIFRPRE86IEVycm9yIGNvZGUgPz8gKi8KKwkJcmVzID0gWE1MX1NDSEVNQVBfU1JDX0lNUE9SVF8yXzE7CisJCXhtbFNjaGVtYUN1c3RvbUVycihBQ1RYVF9DQVNUIHBjdHh0LCByZXMsCisJCSAgICBpbnZva2luZ05vZGUsIE5VTEwsCisJCSAgICAiRmFpbGVkIHRvIHBhcnNlIHRoZSBYTUwgcmVzb3VyY2UgJyVzJyIsCisJCSAgICBzY2hlbWFMb2NhdGlvbiwgTlVMTCk7CisJICAgIH0KKwl9CisJeG1sRnJlZVBhcnNlckN0eHQocGFyc2VyQ3R4dCk7CisJaWYgKChkb2MgPT0gTlVMTCkgJiYgbG9jYXRlZCkKKwkgICAgZ290byBleGl0X2Vycm9yOworICAgIH0gZWxzZSB7CisJeG1sU2NoZW1hUEVycihwY3R4dCwgTlVMTCwKKwkgICAgWE1MX1NDSEVNQVBfTk9USElOR19UT19QQVJTRSwKKwkgICAgIk5vIGluZm9ybWF0aW9uIGZvciBwYXJzaW5nIHdhcyBwcm92aWRlZCB3aXRoIHRoZSAiCisJICAgICJnaXZlbiBzY2hlbWEgcGFyc2VyIGNvbnRleHQuXG4iLAorCSAgICBOVUxMLCBOVUxMKTsKKwlnb3RvIGV4aXRfZmFpbHVyZTsKKyAgICB9CisgICAgLyoKKyAgICAqIFByZXByb2Nlc3MgdGhlIGRvY3VtZW50LgorICAgICovCisgICAgaWYgKGRvYyAhPSBOVUxMKSB7CisJeG1sTm9kZVB0ciBkb2NFbGVtID0gTlVMTDsKKworCWxvY2F0ZWQgPSAxOworCWRvY0VsZW0gPSB4bWxEb2NHZXRSb290RWxlbWVudChkb2MpOworCWlmIChkb2NFbGVtID09IE5VTEwpIHsKKwkgICAgeG1sU2NoZW1hQ3VzdG9tRXJyKEFDVFhUX0NBU1QgcGN0eHQsIFhNTF9TQ0hFTUFQX05PUk9PVCwKKwkJaW52b2tpbmdOb2RlLCBOVUxMLAorCQkiVGhlIGRvY3VtZW50ICclcycgaGFzIG5vIGRvY3VtZW50IGVsZW1lbnQiLAorCQlzY2hlbWFMb2NhdGlvbiwgTlVMTCk7CisJICAgIGdvdG8gZXhpdF9lcnJvcjsKKwl9CisJLyoKKwkqIFJlbW92ZSBhbGwgdGhlIGJsYW5rIHRleHQgbm9kZXMuCisJKi8KKwl4bWxTY2hlbWFDbGVhbnVwRG9jKHBjdHh0LCBkb2NFbGVtKTsKKwkvKgorCSogQ2hlY2sgdGhlIHNjaGVtYSdzIHRvcCBsZXZlbCBlbGVtZW50LgorCSovCisJaWYgKCFJU19TQ0hFTUEoZG9jRWxlbSwgInNjaGVtYSIpKSB7CisJICAgIHhtbFNjaGVtYUN1c3RvbUVycihBQ1RYVF9DQVNUIHBjdHh0LCBYTUxfU0NIRU1BUF9OT1RfU0NIRU1BLAorCQlpbnZva2luZ05vZGUsIE5VTEwsCisJCSJUaGUgWE1MIGRvY3VtZW50ICclcycgaXMgbm90IGEgc2NoZW1hIGRvY3VtZW50IiwKKwkJc2NoZW1hTG9jYXRpb24sIE5VTEwpOworCSAgICBnb3RvIGV4aXRfZXJyb3I7CisJfQorCS8qCisJKiBOb3RlIHRoYXQgd2UgZG9uJ3QgYXBwbHkgYSB0eXBlIGNoZWNrIGZvciB0aGUKKwkqIHRhcmdldE5hbWVzcGFjZSB2YWx1ZSBoZXJlLgorCSovCisJdGFyZ2V0TmFtZXNwYWNlID0geG1sU2NoZW1hR2V0UHJvcChwY3R4dCwgZG9jRWxlbSwKKwkgICAgInRhcmdldE5hbWVzcGFjZSIpOworICAgIH0KKworLyogYWZ0ZXJfZG9jX2xvYWRpbmc6ICovCisgICAgaWYgKChia3QgPT0gTlVMTCkgJiYgbG9jYXRlZCkgeworCS8qIE9ubHkgY3JlYXRlIGEgYnVja2V0IGlmIHRoZSBzY2hlbWEgd2FzIGxvY2F0ZWQuICovCisgICAgICAgIGJrdCA9IHhtbFNjaGVtYUJ1Y2tldENyZWF0ZShwY3R4dCwgdHlwZSwKKwkgICAgdGFyZ2V0TmFtZXNwYWNlKTsKKwlpZiAoYmt0ID09IE5VTEwpCisJICAgIGdvdG8gZXhpdF9mYWlsdXJlOworICAgIH0KKyAgICBpZiAoYmt0ICE9IE5VTEwpIHsKKwlia3QtPnNjaGVtYUxvY2F0aW9uID0gc2NoZW1hTG9jYXRpb247CisJYmt0LT5sb2NhdGVkID0gbG9jYXRlZDsKKwlpZiAoZG9jICE9IE5VTEwpIHsKKwkgICAgYmt0LT5kb2MgPSBkb2M7CisJICAgIGJrdC0+dGFyZ2V0TmFtZXNwYWNlID0gdGFyZ2V0TmFtZXNwYWNlOworCSAgICBia3QtPm9yaWdUYXJnZXROYW1lc3BhY2UgPSB0YXJnZXROYW1lc3BhY2U7CisJICAgIGlmIChwcmVzZXJ2ZURvYykKKwkJYmt0LT5wcmVzZXJ2ZURvYyA9IDE7CisJfQorCWlmIChXWFNfSVNfQlVDS0VUX0lNUE1BSU4odHlwZSkpCisJICAgIGJrdC0+aW1wb3J0ZWQrKzsKKwkgICAgLyoKKwkgICAgKiBBZGQgaXQgdG8gdGhlIGdyYXBoIG9mIHNjaGVtYXMuCisJICAgICovCisJaWYgKHJlbGF0aW9uICE9IE5VTEwpCisJICAgIHJlbGF0aW9uLT5idWNrZXQgPSBia3Q7CisgICAgfQorCitleGl0OgorICAgIC8qCisgICAgKiBSZXR1cm4gdGhlIGJ1Y2tldCBleHBsaWNpdGVseTsgdGhpcyBpcyBuZWVkZWQgZm9yIHRoZQorICAgICogbWFpbiBzY2hlbWEuCisgICAgKi8KKyAgICBpZiAoYnVja2V0ICE9IE5VTEwpCisJKmJ1Y2tldCA9IGJrdDsKKyAgICByZXR1cm4gKDApOworCitleGl0X2Vycm9yOgorICAgIGlmICgoZG9jICE9IE5VTEwpICYmICghIHByZXNlcnZlRG9jKSkgeworCXhtbEZyZWVEb2MoZG9jKTsKKwlpZiAoYmt0ICE9IE5VTEwpCisJICAgIGJrdC0+ZG9jID0gTlVMTDsKKyAgICB9CisgICAgcmV0dXJuKHBjdHh0LT5lcnIpOworCitleGl0X2ZhaWx1cmU6CisgICAgaWYgKChkb2MgIT0gTlVMTCkgJiYgKCEgcHJlc2VydmVEb2MpKSB7CisJeG1sRnJlZURvYyhkb2MpOworCWlmIChia3QgIT0gTlVMTCkKKwkgICAgYmt0LT5kb2MgPSBOVUxMOworICAgIH0KKyAgICByZXR1cm4gKC0xKTsKK30KKworLyoqCisgKiB4bWxTY2hlbWFQYXJzZUltcG9ydDoKKyAqIEBjdHh0OiAgYSBzY2hlbWEgdmFsaWRhdGlvbiBjb250ZXh0CisgKiBAc2NoZW1hOiAgdGhlIHNjaGVtYSBiZWluZyBidWlsdAorICogQG5vZGU6ICBhIHN1YnRyZWUgY29udGFpbmluZyBYTUwgU2NoZW1hIGluZm9ybWF0aW9ucworICoKKyAqIHBhcnNlIGEgWE1MIHNjaGVtYSBJbXBvcnQgZGVmaW5pdGlvbgorICogKldBUk5JTkcqIHRoaXMgaW50ZXJmYWNlIGlzIGhpZ2hseSBzdWJqZWN0IHRvIGNoYW5nZQorICoKKyAqIFJldHVybnMgMCBpbiBjYXNlIG9mIHN1Y2Nlc3MsIGEgcG9zaXRpdmUgZXJyb3IgY29kZSBpZgorICogbm90IHZhbGlkIGFuZCAtMSBpbiBjYXNlIG9mIGFuIGludGVybmFsIGVycm9yLgorICovCitzdGF0aWMgaW50Cit4bWxTY2hlbWFQYXJzZUltcG9ydCh4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIHBjdHh0LCB4bWxTY2hlbWFQdHIgc2NoZW1hLAorICAgICAgICAgICAgICAgICAgICAgeG1sTm9kZVB0ciBub2RlKQoreworICAgIHhtbE5vZGVQdHIgY2hpbGQ7CisgICAgY29uc3QgeG1sQ2hhciAqbmFtZXNwYWNlTmFtZSA9IE5VTEwsICpzY2hlbWFMb2NhdGlvbiA9IE5VTEw7CisgICAgY29uc3QgeG1sQ2hhciAqdGhpc1RhcmdldE5hbWVzcGFjZTsKKyAgICB4bWxBdHRyUHRyIGF0dHI7CisgICAgaW50IHJldCA9IDA7CisgICAgeG1sU2NoZW1hQnVja2V0UHRyIGJ1Y2tldCA9IE5VTEw7CisKKyAgICBpZiAoKHBjdHh0ID09IE5VTEwpIHx8IChzY2hlbWEgPT0gTlVMTCkgfHwgKG5vZGUgPT0gTlVMTCkpCisgICAgICAgIHJldHVybiAoLTEpOworCisgICAgLyoKKyAgICAqIENoZWNrIGZvciBpbGxlZ2FsIGF0dHJpYnV0ZXMuCisgICAgKi8KKyAgICBhdHRyID0gbm9kZS0+cHJvcGVydGllczsKKyAgICB3aGlsZSAoYXR0ciAhPSBOVUxMKSB7CisJaWYgKGF0dHItPm5zID09IE5VTEwpIHsKKwkgICAgaWYgKCgheG1sU3RyRXF1YWwoYXR0ci0+bmFtZSwgQkFEX0NBU1QgImlkIikpICYmCisJCSgheG1sU3RyRXF1YWwoYXR0ci0+bmFtZSwgQkFEX0NBU1QgIm5hbWVzcGFjZSIpKSAmJgorCQkoIXhtbFN0ckVxdWFsKGF0dHItPm5hbWUsIEJBRF9DQVNUICJzY2hlbWFMb2NhdGlvbiIpKSkgeworCQl4bWxTY2hlbWFQSWxsZWdhbEF0dHJFcnIocGN0eHQsCisJCSAgICBYTUxfU0NIRU1BUF9TNFNfQVRUUl9OT1RfQUxMT1dFRCwgTlVMTCwgYXR0cik7CisJICAgIH0KKwl9IGVsc2UgaWYgKHhtbFN0ckVxdWFsKGF0dHItPm5zLT5ocmVmLCB4bWxTY2hlbWFOcykpIHsKKwkgICAgeG1sU2NoZW1hUElsbGVnYWxBdHRyRXJyKHBjdHh0LAorCQlYTUxfU0NIRU1BUF9TNFNfQVRUUl9OT1RfQUxMT1dFRCwgTlVMTCwgYXR0cik7CisJfQorCWF0dHIgPSBhdHRyLT5uZXh0OworICAgIH0KKyAgICAvKgorICAgICogRXh0cmFjdCBhbmQgdmFsaWRhdGUgYXR0cmlidXRlcy4KKyAgICAqLworICAgIGlmICh4bWxTY2hlbWFQVmFsQXR0cihwY3R4dCwgTlVMTCwgbm9kZSwKKwkibmFtZXNwYWNlIiwgeG1sU2NoZW1hR2V0QnVpbHRJblR5cGUoWE1MX1NDSEVNQVNfQU5ZVVJJKSwKKwkmbmFtZXNwYWNlTmFtZSkgIT0gMCkgeworCXhtbFNjaGVtYVBTaW1wbGVUeXBlRXJyKHBjdHh0LAorCSAgICBYTUxfU0NIRU1BUF9TNFNfQVRUUl9JTlZBTElEX1ZBTFVFLAorCSAgICBOVUxMLCBub2RlLAorCSAgICB4bWxTY2hlbWFHZXRCdWlsdEluVHlwZShYTUxfU0NIRU1BU19BTllVUkkpLAorCSAgICBOVUxMLCBuYW1lc3BhY2VOYW1lLCBOVUxMLCBOVUxMLCBOVUxMKTsKKwlyZXR1cm4gKHBjdHh0LT5lcnIpOworICAgIH0KKworICAgIGlmICh4bWxTY2hlbWFQVmFsQXR0cihwY3R4dCwgTlVMTCwgbm9kZSwKKwkic2NoZW1hTG9jYXRpb24iLCB4bWxTY2hlbWFHZXRCdWlsdEluVHlwZShYTUxfU0NIRU1BU19BTllVUkkpLAorCSZzY2hlbWFMb2NhdGlvbikgIT0gMCkgeworCXhtbFNjaGVtYVBTaW1wbGVUeXBlRXJyKHBjdHh0LAorCSAgICBYTUxfU0NIRU1BUF9TNFNfQVRUUl9JTlZBTElEX1ZBTFVFLAorCSAgICBOVUxMLCBub2RlLAorCSAgICB4bWxTY2hlbWFHZXRCdWlsdEluVHlwZShYTUxfU0NIRU1BU19BTllVUkkpLAorCSAgICBOVUxMLCBzY2hlbWFMb2NhdGlvbiwgTlVMTCwgTlVMTCwgTlVMTCk7CisJcmV0dXJuIChwY3R4dC0+ZXJyKTsKKyAgICB9CisgICAgLyoKKyAgICAqIEFuZCBub3cgZm9yIHRoZSBjaGlsZHJlbi4uLgorICAgICovCisgICAgY2hpbGQgPSBub2RlLT5jaGlsZHJlbjsKKyAgICBpZiAoSVNfU0NIRU1BKGNoaWxkLCAiYW5ub3RhdGlvbiIpKSB7CisgICAgICAgIC8qCisgICAgICAgICAqIHRoZSBhbm5vdGF0aW9uIGhlcmUgaXMgc2ltcGx5IGRpc2NhcmRlZCAuLi4KKwkgKiBUT0RPOiByZWFsbHk/CisgICAgICAgICAqLworICAgICAgICBjaGlsZCA9IGNoaWxkLT5uZXh0OworICAgIH0KKyAgICBpZiAoY2hpbGQgIT0gTlVMTCkgeworCXhtbFNjaGVtYVBDb250ZW50RXJyKHBjdHh0LAorCSAgICBYTUxfU0NIRU1BUF9TNFNfRUxFTV9OT1RfQUxMT1dFRCwKKwkgICAgTlVMTCwgbm9kZSwgY2hpbGQsIE5VTEwsCisJICAgICIoYW5ub3RhdGlvbj8pIik7CisgICAgfQorICAgIC8qCisgICAgKiBBcHBseSBhZGRpdGlvbmFsIGNvbnN0cmFpbnRzLgorICAgICoKKyAgICAqIE5vdGUgdGhhdCBpdCBpcyBpbXBvcnRhbnQgdG8gdXNlIHRoZSBvcmlnaW5hbCBAdGFyZ2V0TmFtZXNwYWNlCisgICAgKiAob3Igbm9uZSBhdCBhbGwpLCB0byBydWxlIG91dCBpbXBvcnRzIG9mIHNjaGVtYXMgX3dpdGhfIGEKKyAgICAqIEB0YXJnZXROYW1lc3BhY2UgaWYgdGhlIGltcG9ydGluZyBzY2hlbWEgaXMgYSBjaGFtZWxlb24gc2NoZW1hCisgICAgKiAod2l0aCBubyBAdGFyZ2V0TmFtZXNwYWNlKS4KKyAgICAqLworICAgIHRoaXNUYXJnZXROYW1lc3BhY2UgPSBXWFNfQlVDS0VUKHBjdHh0KS0+b3JpZ1RhcmdldE5hbWVzcGFjZTsKKyAgICBpZiAobmFtZXNwYWNlTmFtZSAhPSBOVUxMKSB7CisJLyoKKwkqIDEuMSBJZiB0aGUgbmFtZXNwYWNlIFthdHRyaWJ1dGVdIGlzIHByZXNlbnQsIHRoZW4gaXRzIGBhY3R1YWwgdmFsdWVgCisJKiBtdXN0IG5vdCBtYXRjaCB0aGUgYGFjdHVhbCB2YWx1ZWAgb2YgdGhlIGVuY2xvc2luZyA8c2NoZW1hPidzCisJKiB0YXJnZXROYW1lc3BhY2UgW2F0dHJpYnV0ZV0uCisJKi8KKwlpZiAoeG1sU3RyRXF1YWwodGhpc1RhcmdldE5hbWVzcGFjZSwgbmFtZXNwYWNlTmFtZSkpIHsKKwkgICAgeG1sU2NoZW1hUEN1c3RvbUVycihwY3R4dCwKKwkJWE1MX1NDSEVNQVBfU1JDX0lNUE9SVF8xXzEsCisJCU5VTEwsIG5vZGUsCisJCSJUaGUgdmFsdWUgb2YgdGhlIGF0dHJpYnV0ZSAnbmFtZXNwYWNlJyBtdXN0IG5vdCBtYXRjaCAiCisJCSJ0aGUgdGFyZ2V0IG5hbWVzcGFjZSAnJXMnIG9mIHRoZSBpbXBvcnRpbmcgc2NoZW1hIiwKKwkJdGhpc1RhcmdldE5hbWVzcGFjZSk7CisJICAgIHJldHVybiAocGN0eHQtPmVycik7CisJfQorICAgIH0gZWxzZSB7CisJLyoKKwkqIDEuMiBJZiB0aGUgbmFtZXNwYWNlIFthdHRyaWJ1dGVdIGlzIG5vdCBwcmVzZW50LCB0aGVuIHRoZSBlbmNsb3NpbmcKKwkqIDxzY2hlbWE+IG11c3QgaGF2ZSBhIHRhcmdldE5hbWVzcGFjZSBbYXR0cmlidXRlXS4KKwkqLworCWlmICh0aGlzVGFyZ2V0TmFtZXNwYWNlID09IE5VTEwpIHsKKwkgICAgeG1sU2NoZW1hUEN1c3RvbUVycihwY3R4dCwKKwkJWE1MX1NDSEVNQVBfU1JDX0lNUE9SVF8xXzIsCisJCU5VTEwsIG5vZGUsCisJCSJUaGUgYXR0cmlidXRlICduYW1lc3BhY2UnIG11c3QgYmUgZXhpc3RlbnQgaWYgIgorCQkidGhlIGltcG9ydGluZyBzY2hlbWEgaGFzIG5vIHRhcmdldCBuYW1lc3BhY2UiLAorCQlOVUxMKTsKKwkgICAgcmV0dXJuIChwY3R4dC0+ZXJyKTsKKwl9CisgICAgfQorICAgIC8qCisgICAgKiBMb2NhdGUgYW5kIGFjcXVpcmUgdGhlIHNjaGVtYSBkb2N1bWVudC4KKyAgICAqLworICAgIGlmIChzY2hlbWFMb2NhdGlvbiAhPSBOVUxMKQorCXNjaGVtYUxvY2F0aW9uID0geG1sU2NoZW1hQnVpbGRBYnNvbHV0ZVVSSShwY3R4dC0+ZGljdCwKKwkgICAgc2NoZW1hTG9jYXRpb24sIG5vZGUpOworICAgIHJldCA9IHhtbFNjaGVtYUFkZFNjaGVtYURvYyhwY3R4dCwgWE1MX1NDSEVNQV9TQ0hFTUFfSU1QT1JULAorCXNjaGVtYUxvY2F0aW9uLCBOVUxMLCBOVUxMLCAwLCBub2RlLCB0aGlzVGFyZ2V0TmFtZXNwYWNlLAorCW5hbWVzcGFjZU5hbWUsICZidWNrZXQpOworCisgICAgaWYgKHJldCAhPSAwKQorCXJldHVybihyZXQpOworCisgICAgLyoKKyAgICAqIEZvciA8aW1wb3J0PjogIkl0IGlzICpub3QqIGFuIGVycm9yIGZvciB0aGUgYXBwbGljYXRpb24KKyAgICAqIHNjaGVtYSByZWZlcmVuY2Ugc3RyYXRlZ3kgdG8gZmFpbC4iCisgICAgKiBTbyBqdXN0IGRvbid0IHBhcnNlIGlmIG5vIHNjaGVtYSBkb2N1bWVudCB3YXMgZm91bmQuCisgICAgKiBOb3RlIHRoYXQgd2Ugd2lsbCBnZXQgbm8gYnVja2V0IGlmIHRoZSBzY2hlbWEgY291bGQgbm90IGJlCisgICAgKiBsb2NhdGVkIG9yIGlmIHRoZXJlIHdhcyBubyBzY2hlbWFMb2NhdGlvbi4KKyAgICAqLworICAgIGlmICgoYnVja2V0ID09IE5VTEwpICYmIChzY2hlbWFMb2NhdGlvbiAhPSBOVUxMKSkgeworCXhtbFNjaGVtYUN1c3RvbVdhcm5pbmcoQUNUWFRfQ0FTVCBwY3R4dCwKKwkgICAgWE1MX1NDSEVNQVBfV0FSTl9VTkxPQ0FURURfU0NIRU1BLAorCSAgICBub2RlLCBOVUxMLAorCSAgICAiRmFpbGVkIHRvIGxvY2F0ZSBhIHNjaGVtYSBhdCBsb2NhdGlvbiAnJXMnLiAiCisJICAgICJTa2lwcGluZyB0aGUgaW1wb3J0Iiwgc2NoZW1hTG9jYXRpb24sIE5VTEwsIE5VTEwpOworICAgIH0KKworICAgIGlmICgoYnVja2V0ICE9IE5VTEwpICYmIENBTl9QQVJTRV9TQ0hFTUEoYnVja2V0KSkgeworCXJldCA9IHhtbFNjaGVtYVBhcnNlTmV3RG9jKHBjdHh0LCBzY2hlbWEsIGJ1Y2tldCk7CisgICAgfQorCisgICAgcmV0dXJuIChyZXQpOworfQorCitzdGF0aWMgaW50Cit4bWxTY2hlbWFQYXJzZUluY2x1ZGVPclJlZGVmaW5lQXR0cnMoeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBwY3R4dCwKKwkJCQkgICAgIHhtbFNjaGVtYVB0ciBzY2hlbWEsCisJCQkJICAgICB4bWxOb2RlUHRyIG5vZGUsCisJCQkJICAgICB4bWxDaGFyICoqc2NoZW1hTG9jYXRpb24sCisJCQkJICAgICBpbnQgdHlwZSkKK3sKKyAgICB4bWxBdHRyUHRyIGF0dHI7CisKKyAgICBpZiAoKHBjdHh0ID09IE5VTEwpIHx8IChzY2hlbWEgPT0gTlVMTCkgfHwgKG5vZGUgPT0gTlVMTCkgfHwKKwkoc2NoZW1hTG9jYXRpb24gPT0gTlVMTCkpCisgICAgICAgIHJldHVybiAoLTEpOworCisgICAgKnNjaGVtYUxvY2F0aW9uID0gTlVMTDsKKyAgICAvKgorICAgICogQ2hlY2sgZm9yIGlsbGVnYWwgYXR0cmlidXRlcy4KKyAgICAqIEFwcGxpZXMgZm9yIGJvdGggPGluY2x1ZGU+IGFuZCA8cmVkZWZpbmU+LgorICAgICovCisgICAgYXR0ciA9IG5vZGUtPnByb3BlcnRpZXM7CisgICAgd2hpbGUgKGF0dHIgIT0gTlVMTCkgeworCWlmIChhdHRyLT5ucyA9PSBOVUxMKSB7CisJICAgIGlmICgoIXhtbFN0ckVxdWFsKGF0dHItPm5hbWUsIEJBRF9DQVNUICJpZCIpKSAmJgorCQkoIXhtbFN0ckVxdWFsKGF0dHItPm5hbWUsIEJBRF9DQVNUICJzY2hlbWFMb2NhdGlvbiIpKSkgeworCQl4bWxTY2hlbWFQSWxsZWdhbEF0dHJFcnIocGN0eHQsCisJCSAgICBYTUxfU0NIRU1BUF9TNFNfQVRUUl9OT1RfQUxMT1dFRCwgTlVMTCwgYXR0cik7CisJICAgIH0KKwl9IGVsc2UgaWYgKHhtbFN0ckVxdWFsKGF0dHItPm5zLT5ocmVmLCB4bWxTY2hlbWFOcykpIHsKKwkgICAgeG1sU2NoZW1hUElsbGVnYWxBdHRyRXJyKHBjdHh0LAorCQlYTUxfU0NIRU1BUF9TNFNfQVRUUl9OT1RfQUxMT1dFRCwgTlVMTCwgYXR0cik7CisJfQorCWF0dHIgPSBhdHRyLT5uZXh0OworICAgIH0KKyAgICB4bWxTY2hlbWFQVmFsQXR0cklEKHBjdHh0LCBub2RlLCBCQURfQ0FTVCAiaWQiKTsKKyAgICAvKgorICAgICogUHJlbGltaW5hcnkgc3RlcCwgZXh0cmFjdCB0aGUgVVJJLVJlZmVyZW5jZSBhbmQgbWFrZSBhbiBVUkkKKyAgICAqIGZyb20gdGhlIGJhc2UuCisgICAgKi8KKyAgICAvKgorICAgICogQXR0cmlidXRlICJzY2hlbWFMb2NhdGlvbiIgaXMgbWFuZGF0b3J5LgorICAgICovCisgICAgYXR0ciA9IHhtbFNjaGVtYUdldFByb3BOb2RlKG5vZGUsICJzY2hlbWFMb2NhdGlvbiIpOworICAgIGlmIChhdHRyICE9IE5VTEwpIHsKKyAgICAgICAgeG1sQ2hhciAqYmFzZSA9IE5VTEw7CisgICAgICAgIHhtbENoYXIgKnVyaSA9IE5VTEw7CisKKwlpZiAoeG1sU2NoZW1hUFZhbEF0dHJOb2RlKHBjdHh0LCBOVUxMLCBhdHRyLAorCSAgICB4bWxTY2hlbWFHZXRCdWlsdEluVHlwZShYTUxfU0NIRU1BU19BTllVUkkpLAorCSAgICAoY29uc3QgeG1sQ2hhciAqKikgc2NoZW1hTG9jYXRpb24pICE9IDApCisJICAgIGdvdG8gZXhpdF9lcnJvcjsKKwliYXNlID0geG1sTm9kZUdldEJhc2Uobm9kZS0+ZG9jLCBub2RlKTsKKwlpZiAoYmFzZSA9PSBOVUxMKSB7CisJICAgIHVyaSA9IHhtbEJ1aWxkVVJJKCpzY2hlbWFMb2NhdGlvbiwgbm9kZS0+ZG9jLT5VUkwpOworCX0gZWxzZSB7CisJICAgIHVyaSA9IHhtbEJ1aWxkVVJJKCpzY2hlbWFMb2NhdGlvbiwgYmFzZSk7CisJICAgIHhtbEZyZWUoYmFzZSk7CisJfQorCWlmICh1cmkgPT0gTlVMTCkgeworCSAgICBQRVJST1JfSU5UKCJ4bWxTY2hlbWFQYXJzZUluY2x1ZGVPclJlZGVmaW5lIiwKKwkJImNvdWxkIG5vdCBidWlsZCBhbiBVUkkgZnJvbSB0aGUgc2NoZW1hTG9jYXRpb24iKQorCSAgICBnb3RvIGV4aXRfZmFpbHVyZTsKKwl9CisJKCpzY2hlbWFMb2NhdGlvbikgPSAoeG1sQ2hhciAqKSB4bWxEaWN0TG9va3VwKHBjdHh0LT5kaWN0LCB1cmksIC0xKTsKKwl4bWxGcmVlKHVyaSk7CisgICAgfSBlbHNlIHsKKwl4bWxTY2hlbWFQTWlzc2luZ0F0dHJFcnIocGN0eHQsCisJICAgIFhNTF9TQ0hFTUFQX1M0U19BVFRSX01JU1NJTkcsCisJICAgIE5VTEwsIG5vZGUsICJzY2hlbWFMb2NhdGlvbiIsIE5VTEwpOworCWdvdG8gZXhpdF9lcnJvcjsKKyAgICB9CisgICAgLyoKKyAgICAqIFJlcG9ydCBzZWxmLWluY2x1c2lvbiBhbmQgc2VsZi1yZWRlZmluaXRpb24uCisgICAgKi8KKyAgICBpZiAoeG1sU3RyRXF1YWwoKnNjaGVtYUxvY2F0aW9uLCBwY3R4dC0+VVJMKSkgeworCWlmICh0eXBlID09IFhNTF9TQ0hFTUFfU0NIRU1BX1JFREVGSU5FKSB7CisJICAgIHhtbFNjaGVtYVBDdXN0b21FcnIocGN0eHQsCisJCVhNTF9TQ0hFTUFQX1NSQ19SRURFRklORSwKKwkJTlVMTCwgbm9kZSwKKwkJIlRoZSBzY2hlbWEgZG9jdW1lbnQgJyVzJyBjYW5ub3QgcmVkZWZpbmUgaXRzZWxmLiIsCisJCSpzY2hlbWFMb2NhdGlvbik7CisJfSBlbHNlIHsKKwkgICAgeG1sU2NoZW1hUEN1c3RvbUVycihwY3R4dCwKKwkJWE1MX1NDSEVNQVBfU1JDX0lOQ0xVREUsCisJCU5VTEwsIG5vZGUsCisJCSJUaGUgc2NoZW1hIGRvY3VtZW50ICclcycgY2Fubm90IGluY2x1ZGUgaXRzZWxmLiIsCisJCSpzY2hlbWFMb2NhdGlvbik7CisJfQorCWdvdG8gZXhpdF9lcnJvcjsKKyAgICB9CisKKyAgICByZXR1cm4oMCk7CitleGl0X2Vycm9yOgorICAgIHJldHVybihwY3R4dC0+ZXJyKTsKK2V4aXRfZmFpbHVyZToKKyAgICByZXR1cm4oLTEpOworfQorCitzdGF0aWMgaW50Cit4bWxTY2hlbWFQYXJzZUluY2x1ZGVPclJlZGVmaW5lKHhtbFNjaGVtYVBhcnNlckN0eHRQdHIgcGN0eHQsCisJCQkJeG1sU2NoZW1hUHRyIHNjaGVtYSwKKwkJCQl4bWxOb2RlUHRyIG5vZGUsCisJCQkJaW50IHR5cGUpCit7CisgICAgeG1sTm9kZVB0ciBjaGlsZCA9IE5VTEw7CisgICAgY29uc3QgeG1sQ2hhciAqc2NoZW1hTG9jYXRpb24gPSBOVUxMOworICAgIGludCByZXMgPSAwOyAvKiBoYXNSZWRlZmluaXRpb25zID0gMCAqLworICAgIGludCBpc0NoYW1lbGVvbiA9IDAsIHdhc0NoYW1lbGVvbiA9IDA7CisgICAgeG1sU2NoZW1hQnVja2V0UHRyIGJ1Y2tldCA9IE5VTEw7CisKKyAgICBpZiAoKHBjdHh0ID09IE5VTEwpIHx8IChzY2hlbWEgPT0gTlVMTCkgfHwgKG5vZGUgPT0gTlVMTCkpCisgICAgICAgIHJldHVybiAoLTEpOworCisgICAgLyoKKyAgICAqIFBhcnNlIGF0dHJpYnV0ZXMuIE5vdGUgdGhhdCB0aGUgcmV0dXJuZWQgc2NoZW1hTG9jYXRpb24gd2lsbAorICAgICogYmUgYWxyZWFkeSBjb252ZXJ0ZWQgdG8gYW4gYWJzb2x1dGUgVVJJLgorICAgICovCisgICAgcmVzID0geG1sU2NoZW1hUGFyc2VJbmNsdWRlT3JSZWRlZmluZUF0dHJzKHBjdHh0LCBzY2hlbWEsCisJbm9kZSwgKHhtbENoYXIgKiopICgmc2NoZW1hTG9jYXRpb24pLCB0eXBlKTsKKyAgICBpZiAocmVzICE9IDApCisJcmV0dXJuKHJlcyk7CisgICAgLyoKKyAgICAqIExvYWQgYW5kIGFkZCB0aGUgc2NoZW1hIGRvY3VtZW50LgorICAgICovCisgICAgcmVzID0geG1sU2NoZW1hQWRkU2NoZW1hRG9jKHBjdHh0LCB0eXBlLCBzY2hlbWFMb2NhdGlvbiwgTlVMTCwKKwlOVUxMLCAwLCBub2RlLCBwY3R4dC0+dGFyZ2V0TmFtZXNwYWNlLCBOVUxMLCAmYnVja2V0KTsKKyAgICBpZiAocmVzICE9IDApCisJcmV0dXJuKHJlcyk7CisgICAgLyoKKyAgICAqIElmIHdlIGdldCBubyBzY2hlbWEgYnVja2V0IGJhY2ssIHRoZW4gdGhpcyBtZWFucyB0aGF0IHRoZSBzY2hlbWEKKyAgICAqIGRvY3VtZW50IGNvdWxkIG5vdCBiZSBsb2NhdGVkIG9yIHdhcyBicm9rZW4gWE1MIG9yIHdhcyBub3QKKyAgICAqIGEgc2NoZW1hIGRvY3VtZW50LgorICAgICovCisgICAgaWYgKChidWNrZXQgPT0gTlVMTCkgfHwgKGJ1Y2tldC0+ZG9jID09IE5VTEwpKSB7CisJaWYgKHR5cGUgPT0gWE1MX1NDSEVNQV9TQ0hFTUFfSU5DTFVERSkgeworCSAgICAvKgorCSAgICAqIFdBUk5JTkcgZm9yIDxpbmNsdWRlPjoKKwkgICAgKiBXZSB3aWxsIHJhaXNlIGFuIGVycm9yIGlmIHRoZSBzY2hlbWEgY2Fubm90IGJlIGxvY2F0ZWQKKwkgICAgKiBmb3IgaW5jbHVzaW9ucywgc2luY2UgdGhlIHRoYXQgd2FzIHRoZSBmZWVkYmFjayBmcm9tIHRoZQorCSAgICAqIHNjaGVtYSBwZW9wbGUuIEkuZS4gdGhlIGZvbGxvd2luZyBzcGVjIHBpZWNlIHdpbGwgKm5vdCogYmUKKwkgICAgKiBzYXRpc2ZpZWQ6CisJICAgICogU1BFQyBzcmMtaW5jbHVkZTogIkl0IGlzIG5vdCBhbiBlcnJvciBmb3IgdGhlIGBhY3R1YWwgdmFsdWVgIG9mIHRoZQorCSAgICAqIHNjaGVtYUxvY2F0aW9uIFthdHRyaWJ1dGVdIHRvIGZhaWwgdG8gcmVzb2x2ZSBpdCBhbGwsIGluIHdoaWNoCisJICAgICogY2FzZSBubyBjb3JyZXNwb25kaW5nIGluY2x1c2lvbiBpcyBwZXJmb3JtZWQuCisJICAgICogU28gZG8gd2UgbmVlZCBhIHdhcm5pbmcgcmVwb3J0IGhlcmU/IgorCSAgICAqLworCSAgICByZXMgPSBYTUxfU0NIRU1BUF9TUkNfSU5DTFVERTsKKwkgICAgeG1sU2NoZW1hQ3VzdG9tRXJyKEFDVFhUX0NBU1QgcGN0eHQsIHJlcywKKwkJbm9kZSwgTlVMTCwKKwkJIkZhaWxlZCB0byBsb2FkIHRoZSBkb2N1bWVudCAnJXMnIGZvciBpbmNsdXNpb24iLAorCQlzY2hlbWFMb2NhdGlvbiwgTlVMTCk7CisJfSBlbHNlIHsKKwkgICAgLyoKKwkgICAgKiBOT1RFOiBUaGlzIHdhcyBjaGFuZ2VkIHRvIHJhaXNlIGFuIGVycm9yIGV2ZW4gaWYgbm8gcmVkZWZpbml0aW9ucworCSAgICAqIGFyZSBzcGVjaWZpZWQuCisJICAgICoKKwkgICAgKiBTUEVDIHNyYy1yZWRlZmluZSAoMSkKKwkgICAgKiAiSWYgdGhlcmUgYXJlIGFueSBlbGVtZW50IGluZm9ybWF0aW9uIGl0ZW1zIGFtb25nIHRoZSBbY2hpbGRyZW5dCisJICAgICogb3RoZXIgdGhhbiA8YW5ub3RhdGlvbj4gdGhlbiB0aGUgYGFjdHVhbCB2YWx1ZWAgb2YgdGhlCisJICAgICogc2NoZW1hTG9jYXRpb24gW2F0dHJpYnV0ZV0gbXVzdCBzdWNjZXNzZnVsbHkgcmVzb2x2ZS4iCisJICAgICogVE9ETzogQXNrIHRoZSBXRyBpZiBhIHRoZSBsb2NhdGlvbiBoYXMgYWx3YXlzIHRvIHJlc29sdmUKKwkgICAgKiBoZXJlIGFzIHdlbGwhCisJICAgICovCisJICAgIHJlcyA9IFhNTF9TQ0hFTUFQX1NSQ19SRURFRklORTsKKwkgICAgeG1sU2NoZW1hQ3VzdG9tRXJyKEFDVFhUX0NBU1QgcGN0eHQsIHJlcywKKwkJbm9kZSwgTlVMTCwKKwkJIkZhaWxlZCB0byBsb2FkIHRoZSBkb2N1bWVudCAnJXMnIGZvciByZWRlZmluaXRpb24iLAorCQlzY2hlbWFMb2NhdGlvbiwgTlVMTCk7CisJfQorICAgIH0gZWxzZSB7CisJLyoKKwkqIENoZWNrIHRhcmdldE5hbWVzcGFjZSBzYW5pdHkgYmVmb3JlIHBhcnNpbmcgdGhlIG5ldyBzY2hlbWEuCisJKiBUT0RPOiBOb3RlIHRoYXQgd2Ugd29uJ3QgY2hlY2sgZnVydGhlciBjb250ZW50IGlmIHRoZQorCSogdGFyZ2V0TmFtZXNwYWNlIHdhcyBiYWQuCisJKi8KKwlpZiAoYnVja2V0LT5vcmlnVGFyZ2V0TmFtZXNwYWNlICE9IE5VTEwpIHsKKwkgICAgLyoKKwkgICAgKiBTUEVDIHNyYy1pbmNsdWRlICgyLjEpCisJICAgICogIlNJSSBoYXMgYSB0YXJnZXROYW1lc3BhY2UgW2F0dHJpYnV0ZV0sIGFuZCBpdHMgYGFjdHVhbAorCSAgICAqIHZhbHVlYCBpcyBpZGVudGljYWwgdG8gdGhlIGBhY3R1YWwgdmFsdWVgIG9mIHRoZSB0YXJnZXROYW1lc3BhY2UKKwkgICAgKiBbYXR0cmlidXRlXSBvZiBTSUknICh3aGljaCBtdXN0IGhhdmUgc3VjaCBhbiBbYXR0cmlidXRlXSkuIgorCSAgICAqLworCSAgICBpZiAocGN0eHQtPnRhcmdldE5hbWVzcGFjZSA9PSBOVUxMKSB7CisJCXhtbFNjaGVtYUN1c3RvbUVycihBQ1RYVF9DQVNUIHBjdHh0LAorCQkgICAgWE1MX1NDSEVNQVBfU1JDX0lOQ0xVREUsCisJCSAgICBub2RlLCBOVUxMLAorCQkgICAgIlRoZSB0YXJnZXQgbmFtZXNwYWNlIG9mIHRoZSBpbmNsdWRlZC9yZWRlZmluZWQgc2NoZW1hICIKKwkJICAgICInJXMnIGhhcyB0byBiZSBhYnNlbnQsIHNpbmNlIHRoZSBpbmNsdWRpbmcvcmVkZWZpbmluZyAiCisJCSAgICAic2NoZW1hIGhhcyBubyB0YXJnZXQgbmFtZXNwYWNlIiwKKwkJICAgIHNjaGVtYUxvY2F0aW9uLCBOVUxMKTsKKwkJZ290byBleGl0X2Vycm9yOworCSAgICB9IGVsc2UgaWYgKCF4bWxTdHJFcXVhbChidWNrZXQtPm9yaWdUYXJnZXROYW1lc3BhY2UsCisJCXBjdHh0LT50YXJnZXROYW1lc3BhY2UpKSB7CisJCS8qIFRPRE86IENoYW5nZSBlcnJvciBmdW5jdGlvbi4gKi8KKwkJeG1sU2NoZW1hUEN1c3RvbUVyckV4dChwY3R4dCwKKwkJICAgIFhNTF9TQ0hFTUFQX1NSQ19JTkNMVURFLAorCQkgICAgTlVMTCwgbm9kZSwKKwkJICAgICJUaGUgdGFyZ2V0IG5hbWVzcGFjZSAnJXMnIG9mIHRoZSBpbmNsdWRlZC9yZWRlZmluZWQgIgorCQkgICAgInNjaGVtYSAnJXMnIGRpZmZlcnMgZnJvbSAnJXMnIG9mIHRoZSAiCisJCSAgICAiaW5jbHVkaW5nL3JlZGVmaW5pbmcgc2NoZW1hIiwKKwkJICAgIGJ1Y2tldC0+b3JpZ1RhcmdldE5hbWVzcGFjZSwgc2NoZW1hTG9jYXRpb24sCisJCSAgICBwY3R4dC0+dGFyZ2V0TmFtZXNwYWNlKTsKKwkJZ290byBleGl0X2Vycm9yOworCSAgICB9CisJfSBlbHNlIGlmIChwY3R4dC0+dGFyZ2V0TmFtZXNwYWNlICE9IE5VTEwpIHsKKwkgICAgLyoKKwkgICAgKiBDaGFtZWxlb25zOiB0aGUgb3JpZ2luYWwgdGFyZ2V0IG5hbWVzcGFjZSB3aWxsCisJICAgICogZGlmZmVyIGZyb20gdGhlIHJlc3VsdGluZyBuYW1lc3BhY2UuCisJICAgICovCisJICAgIGlzQ2hhbWVsZW9uID0gMTsKKwkgICAgaWYgKGJ1Y2tldC0+cGFyc2VkICYmCisJCWJ1Y2tldC0+b3JpZ1RhcmdldE5hbWVzcGFjZSAhPSBOVUxMKSB7CisJCXhtbFNjaGVtYUN1c3RvbUVycihBQ1RYVF9DQVNUIHBjdHh0LAorCQkgICAgWE1MX1NDSEVNQVBfU1JDX0lOQ0xVREUsCisJCSAgICBub2RlLCBOVUxMLAorCQkgICAgIlRoZSB0YXJnZXQgbmFtZXNwYWNlIG9mIHRoZSBpbmNsdWRlZC9yZWRlZmluZWQgc2NoZW1hICIKKwkJICAgICInJXMnIGhhcyB0byBiZSBhYnNlbnQgb3IgdGhlIHNhbWUgYXMgdGhlICIKKwkJICAgICJpbmNsdWRpbmcvcmVkZWZpbmluZyBzY2hlbWEncyB0YXJnZXQgbmFtZXNwYWNlIiwKKwkJICAgIHNjaGVtYUxvY2F0aW9uLCBOVUxMKTsKKwkJZ290byBleGl0X2Vycm9yOworCSAgICB9CisJICAgIGJ1Y2tldC0+dGFyZ2V0TmFtZXNwYWNlID0gcGN0eHQtPnRhcmdldE5hbWVzcGFjZTsKKwl9CisgICAgfQorICAgIC8qCisgICAgKiBQYXJzZSB0aGUgc2NoZW1hLgorICAgICovCisgICAgaWYgKGJ1Y2tldCAmJiAoIWJ1Y2tldC0+cGFyc2VkKSAmJiAoYnVja2V0LT5kb2MgIT0gTlVMTCkpIHsKKwlpZiAoaXNDaGFtZWxlb24pIHsKKwkgICAgLyogVE9ETzogR2V0IHJpZCBvZiB0aGlzIGZsYWcgb24gdGhlIHNjaGVtYSBpdHNlbGYuICovCisJICAgIGlmICgoc2NoZW1hLT5mbGFncyAmIFhNTF9TQ0hFTUFTX0lOQ0xVRElOR19DT05WRVJUX05TKSA9PSAwKSB7CisJCXNjaGVtYS0+ZmxhZ3MgfD0gWE1MX1NDSEVNQVNfSU5DTFVESU5HX0NPTlZFUlRfTlM7CisJICAgIH0gZWxzZQorCQl3YXNDaGFtZWxlb24gPSAxOworCX0KKwl4bWxTY2hlbWFQYXJzZU5ld0RvYyhwY3R4dCwgc2NoZW1hLCBidWNrZXQpOworCS8qIFJlc3RvcmUgY2hhbWVsZW9uIGZsYWcuICovCisJaWYgKGlzQ2hhbWVsZW9uICYmICghd2FzQ2hhbWVsZW9uKSkKKwkgICAgc2NoZW1hLT5mbGFncyBePSBYTUxfU0NIRU1BU19JTkNMVURJTkdfQ09OVkVSVF9OUzsKKyAgICB9CisgICAgLyoKKyAgICAqIEFuZCBub3cgZm9yIHRoZSBjaGlsZHJlbi4uLgorICAgICovCisgICAgY2hpbGQgPSBub2RlLT5jaGlsZHJlbjsKKyAgICBpZiAodHlwZSA9PSBYTUxfU0NIRU1BX1NDSEVNQV9SRURFRklORSkgeworCS8qCisJKiBQYXJzZSAoc2ltcGxlVHlwZSB8IGNvbXBsZXhUeXBlIHwgZ3JvdXAgfCBhdHRyaWJ1dGVHcm91cCkpKgorCSovCisJcGN0eHQtPnJlZGVmaW5lZCA9IGJ1Y2tldDsKKwkvKgorCSogSG93IHRvIHByb2NlZWQgaWYgdGhlIHJlZGVmaW5lZCBzY2hlbWEgd2FzIG5vdCBsb2NhdGVkPworCSovCisJcGN0eHQtPmlzUmVkZWZpbmUgPSAxOworCXdoaWxlIChJU19TQ0hFTUEoY2hpbGQsICJhbm5vdGF0aW9uIikgfHwKKwkgICAgSVNfU0NIRU1BKGNoaWxkLCAic2ltcGxlVHlwZSIpIHx8CisJICAgIElTX1NDSEVNQShjaGlsZCwgImNvbXBsZXhUeXBlIikgfHwKKwkgICAgSVNfU0NIRU1BKGNoaWxkLCAiZ3JvdXAiKSB8fAorCSAgICBJU19TQ0hFTUEoY2hpbGQsICJhdHRyaWJ1dGVHcm91cCIpKSB7CisJICAgIGlmIChJU19TQ0hFTUEoY2hpbGQsICJhbm5vdGF0aW9uIikpIHsKKwkJLyoKKwkJKiBUT0RPOiBkaXNjYXJkIG9yIG5vdD8KKwkJKi8KKwkgICAgfSBlbHNlIGlmIChJU19TQ0hFTUEoY2hpbGQsICJzaW1wbGVUeXBlIikpIHsKKwkJeG1sU2NoZW1hUGFyc2VTaW1wbGVUeXBlKHBjdHh0LCBzY2hlbWEsIGNoaWxkLCAxKTsKKwkgICAgfSBlbHNlIGlmIChJU19TQ0hFTUEoY2hpbGQsICJjb21wbGV4VHlwZSIpKSB7CisJCXhtbFNjaGVtYVBhcnNlQ29tcGxleFR5cGUocGN0eHQsIHNjaGVtYSwgY2hpbGQsIDEpOworCQkvKiBoYXNSZWRlZmluaXRpb25zID0gMTsgKi8KKwkgICAgfSBlbHNlIGlmIChJU19TQ0hFTUEoY2hpbGQsICJncm91cCIpKSB7CisJCS8qIGhhc1JlZGVmaW5pdGlvbnMgPSAxOyAqLworCQl4bWxTY2hlbWFQYXJzZU1vZGVsR3JvdXBEZWZpbml0aW9uKHBjdHh0LAorCQkgICAgc2NoZW1hLCBjaGlsZCk7CisJICAgIH0gZWxzZSBpZiAoSVNfU0NIRU1BKGNoaWxkLCAiYXR0cmlidXRlR3JvdXAiKSkgeworCQkvKiBoYXNSZWRlZmluaXRpb25zID0gMTsgKi8KKwkJeG1sU2NoZW1hUGFyc2VBdHRyaWJ1dGVHcm91cERlZmluaXRpb24ocGN0eHQsIHNjaGVtYSwKKwkJICAgIGNoaWxkKTsKKwkgICAgfQorCSAgICBjaGlsZCA9IGNoaWxkLT5uZXh0OworCX0KKwlwY3R4dC0+cmVkZWZpbmVkID0gTlVMTDsKKwlwY3R4dC0+aXNSZWRlZmluZSA9IDA7CisgICAgfSBlbHNlIHsKKwlpZiAoSVNfU0NIRU1BKGNoaWxkLCAiYW5ub3RhdGlvbiIpKSB7CisJICAgIC8qCisJICAgICogVE9ETzogZGlzY2FyZCBvciBub3Q/CisJICAgICovCisJICAgIGNoaWxkID0gY2hpbGQtPm5leHQ7CisJfQorICAgIH0KKyAgICBpZiAoY2hpbGQgIT0gTlVMTCkgeworCXJlcyA9IFhNTF9TQ0hFTUFQX1M0U19FTEVNX05PVF9BTExPV0VEOworCWlmICh0eXBlID09IFhNTF9TQ0hFTUFfU0NIRU1BX1JFREVGSU5FKSB7CisJICAgIHhtbFNjaGVtYVBDb250ZW50RXJyKHBjdHh0LCByZXMsCisJCU5VTEwsIG5vZGUsIGNoaWxkLCBOVUxMLAorCQkiKGFubm90YXRpb24gfCAoc2ltcGxlVHlwZSB8IGNvbXBsZXhUeXBlIHwgZ3JvdXAgfCBhdHRyaWJ1dGVHcm91cCkpKiIpOworCX0gZWxzZSB7CisJICAgICB4bWxTY2hlbWFQQ29udGVudEVycihwY3R4dCwgcmVzLAorCQlOVUxMLCBub2RlLCBjaGlsZCwgTlVMTCwKKwkJIihhbm5vdGF0aW9uPykiKTsKKwl9CisgICAgfQorICAgIHJldHVybihyZXMpOworCitleGl0X2Vycm9yOgorICAgIHJldHVybihwY3R4dC0+ZXJyKTsKK30KKworc3RhdGljIGludAoreG1sU2NoZW1hUGFyc2VSZWRlZmluZSh4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIHBjdHh0LCB4bWxTY2hlbWFQdHIgc2NoZW1hLAorICAgICAgICAgICAgICAgICAgICAgICB4bWxOb2RlUHRyIG5vZGUpCit7CisgICAgaW50IHJlczsKKyNpZm5kZWYgRU5BQkxFX1JFREVGSU5FCisgICAgVE9ETworICAgIHJldHVybigwKTsKKyNlbmRpZgorICAgIHJlcyA9IHhtbFNjaGVtYVBhcnNlSW5jbHVkZU9yUmVkZWZpbmUocGN0eHQsIHNjaGVtYSwgbm9kZSwKKwlYTUxfU0NIRU1BX1NDSEVNQV9SRURFRklORSk7CisgICAgaWYgKHJlcyAhPSAwKQorCXJldHVybihyZXMpOworICAgIHJldHVybigwKTsKK30KKworc3RhdGljIGludAoreG1sU2NoZW1hUGFyc2VJbmNsdWRlKHhtbFNjaGVtYVBhcnNlckN0eHRQdHIgcGN0eHQsIHhtbFNjaGVtYVB0ciBzY2hlbWEsCisgICAgICAgICAgICAgICAgICAgICAgIHhtbE5vZGVQdHIgbm9kZSkKK3sKKyAgICBpbnQgcmVzOworCisgICAgcmVzID0geG1sU2NoZW1hUGFyc2VJbmNsdWRlT3JSZWRlZmluZShwY3R4dCwgc2NoZW1hLCBub2RlLAorCVhNTF9TQ0hFTUFfU0NIRU1BX0lOQ0xVREUpOworICAgIGlmIChyZXMgIT0gMCkKKwlyZXR1cm4ocmVzKTsKKyAgICByZXR1cm4oMCk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hUGFyc2VNb2RlbEdyb3VwOgorICogQGN0eHQ6ICBhIHNjaGVtYSB2YWxpZGF0aW9uIGNvbnRleHQKKyAqIEBzY2hlbWE6ICB0aGUgc2NoZW1hIGJlaW5nIGJ1aWx0CisgKiBAbm9kZTogIGEgc3VidHJlZSBjb250YWluaW5nIFhNTCBTY2hlbWEgaW5mb3JtYXRpb25zCisgKiBAdHlwZTogdGhlICJjb21wb3NpdG9yIiB0eXBlCisgKiBAcGFydGljbGVOZWVkZWQ6IGlmIGEgYSBtb2RlbCBncm91cCB3aXRoIGEgcGFydGljbGUKKyAqCisgKiBwYXJzZSBhIFhNTCBzY2hlbWEgU2VxdWVuY2UgZGVmaW5pdGlvbi4KKyAqIEFwcGxpZXMgcGFydHMgb2Y6CisgKiAgIFNjaGVtYSBSZXByZXNlbnRhdGlvbiBDb25zdHJhaW50OgorICogICAgIFJlZGVmaW5pdGlvbiBDb25zdHJhaW50cyBhbmQgU2VtYW50aWNzIChzcmMtcmVkZWZpbmUpCisgKiAgICAgKDYuMSksICg2LjEuMSksICg2LjEuMikKKyAqCisgKiAgIFNjaGVtYSBDb21wb25lbnQgQ29uc3RyYWludDoKKyAqICAgICBBbGwgR3JvdXAgTGltaXRlZCAoY29zLWFsbC1saW1pdGVkKSAoMikKKyAqICAgICBUT0RPOiBBY3R1YWxseSB0aGlzIHNob3VsZCBnbyB0byBjb21wb25lbnQtbGV2ZWwgY2hlY2tzLAorICogICAgIGJ1dCBpcyBkb25lIGhlcmUgZHVlIHRvIHBlcmZvcm1hbmNlLiBNb3ZlIGl0IHRvIGFuIG90aGVyIGxheWVyCisgKiAgICAgaXMgc2NoZW1hIGNvbnN0cnVjdGlvbiB2aWEgYW4gQVBJIGlzIGltcGxlbWVudGVkLgorICoKKyAqICpXQVJOSU5HKiB0aGlzIGludGVyZmFjZSBpcyBoaWdobHkgc3ViamVjdCB0byBjaGFuZ2UKKyAqCisgKiBSZXR1cm5zIC0xIGluIGNhc2Ugb2YgZXJyb3IsIDAgaWYgdGhlIGRlY2xhcmF0aW9uIGlzIGltcHJvcGVyIGFuZAorICogICAgICAgICAxIGluIGNhc2Ugb2Ygc3VjY2Vzcy4KKyAqLworc3RhdGljIHhtbFNjaGVtYVRyZWVJdGVtUHRyCit4bWxTY2hlbWFQYXJzZU1vZGVsR3JvdXAoeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBjdHh0LCB4bWxTY2hlbWFQdHIgc2NoZW1hLAorCQkJIHhtbE5vZGVQdHIgbm9kZSwgeG1sU2NoZW1hVHlwZVR5cGUgdHlwZSwKKwkJCSBpbnQgd2l0aFBhcnRpY2xlKQoreworICAgIHhtbFNjaGVtYU1vZGVsR3JvdXBQdHIgaXRlbTsKKyAgICB4bWxTY2hlbWFQYXJ0aWNsZVB0ciBwYXJ0aWNsZSA9IE5VTEw7CisgICAgeG1sTm9kZVB0ciBjaGlsZCA9IE5VTEw7CisgICAgeG1sQXR0clB0ciBhdHRyOworICAgIGludCBtaW4gPSAxLCBtYXggPSAxLCBpc0VsZW1SZWYsIGhhc1JlZnMgPSAwOworCisgICAgaWYgKChjdHh0ID09IE5VTEwpIHx8IChzY2hlbWEgPT0gTlVMTCkgfHwgKG5vZGUgPT0gTlVMTCkpCisgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgLyoKKyAgICAqIENyZWF0ZSBhIG1vZGVsIGdyb3VwIHdpdGggdGhlIGdpdmVuIGNvbXBvc2l0b3IuCisgICAgKi8KKyAgICBpdGVtID0geG1sU2NoZW1hQWRkTW9kZWxHcm91cChjdHh0LCBzY2hlbWEsIHR5cGUsIG5vZGUpOworICAgIGlmIChpdGVtID09IE5VTEwpCisJcmV0dXJuIChOVUxMKTsKKworICAgIGlmICh3aXRoUGFydGljbGUpIHsKKwlpZiAodHlwZSA9PSBYTUxfU0NIRU1BX1RZUEVfQUxMKSB7CisJICAgIG1pbiA9IHhtbEdldE1pbk9jY3VycyhjdHh0LCBub2RlLCAwLCAxLCAxLCAiKDAgfCAxKSIpOworCSAgICBtYXggPSB4bWxHZXRNYXhPY2N1cnMoY3R4dCwgbm9kZSwgMSwgMSwgMSwgIjEiKTsKKwl9IGVsc2UgeworCSAgICAvKiBjaG9pY2UgKyBzZXF1ZW5jZSAqLworCSAgICBtaW4gPSB4bWxHZXRNaW5PY2N1cnMoY3R4dCwgbm9kZSwgMCwgLTEsIDEsICJ4czpub25OZWdhdGl2ZUludGVnZXIiKTsKKwkgICAgbWF4ID0geG1sR2V0TWF4T2NjdXJzKGN0eHQsIG5vZGUsIDAsIFVOQk9VTkRFRCwgMSwKKwkJIih4czpub25OZWdhdGl2ZUludGVnZXIgfCB1bmJvdW5kZWQpIik7CisJfQorCXhtbFNjaGVtYVBDaGVja1BhcnRpY2xlQ29ycmVjdF8yKGN0eHQsIE5VTEwsIG5vZGUsIG1pbiwgbWF4KTsKKwkvKgorCSogQ3JlYXRlIGEgcGFydGljbGUKKwkqLworCXBhcnRpY2xlID0geG1sU2NoZW1hQWRkUGFydGljbGUoY3R4dCwgbm9kZSwgbWluLCBtYXgpOworCWlmIChwYXJ0aWNsZSA9PSBOVUxMKQorCSAgICByZXR1cm4gKE5VTEwpOworCXBhcnRpY2xlLT5jaGlsZHJlbiA9ICh4bWxTY2hlbWFUcmVlSXRlbVB0cikgaXRlbTsKKwkvKgorCSogQ2hlY2sgZm9yIGlsbGVnYWwgYXR0cmlidXRlcy4KKwkqLworCWF0dHIgPSBub2RlLT5wcm9wZXJ0aWVzOworCXdoaWxlIChhdHRyICE9IE5VTEwpIHsKKwkgICAgaWYgKGF0dHItPm5zID09IE5VTEwpIHsKKwkJaWYgKCgheG1sU3RyRXF1YWwoYXR0ci0+bmFtZSwgQkFEX0NBU1QgImlkIikpICYmCisJCSAgICAoIXhtbFN0ckVxdWFsKGF0dHItPm5hbWUsIEJBRF9DQVNUICJtYXhPY2N1cnMiKSkgJiYKKwkJICAgICgheG1sU3RyRXF1YWwoYXR0ci0+bmFtZSwgQkFEX0NBU1QgIm1pbk9jY3VycyIpKSkgeworCQkgICAgeG1sU2NoZW1hUElsbGVnYWxBdHRyRXJyKGN0eHQsCisJCQlYTUxfU0NIRU1BUF9TNFNfQVRUUl9OT1RfQUxMT1dFRCwgTlVMTCwgYXR0cik7CisJCX0KKwkgICAgfSBlbHNlIGlmICh4bWxTdHJFcXVhbChhdHRyLT5ucy0+aHJlZiwgeG1sU2NoZW1hTnMpKSB7CisJCXhtbFNjaGVtYVBJbGxlZ2FsQXR0ckVycihjdHh0LAorCQkgICAgWE1MX1NDSEVNQVBfUzRTX0FUVFJfTk9UX0FMTE9XRUQsIE5VTEwsIGF0dHIpOworCSAgICB9CisJICAgIGF0dHIgPSBhdHRyLT5uZXh0OworCX0KKyAgICB9IGVsc2UgeworCS8qCisJKiBDaGVjayBmb3IgaWxsZWdhbCBhdHRyaWJ1dGVzLgorCSovCisJYXR0ciA9IG5vZGUtPnByb3BlcnRpZXM7CisJd2hpbGUgKGF0dHIgIT0gTlVMTCkgeworCSAgICBpZiAoYXR0ci0+bnMgPT0gTlVMTCkgeworCQlpZiAoIXhtbFN0ckVxdWFsKGF0dHItPm5hbWUsIEJBRF9DQVNUICJpZCIpKSB7CisJCSAgICB4bWxTY2hlbWFQSWxsZWdhbEF0dHJFcnIoY3R4dCwKKwkJCVhNTF9TQ0hFTUFQX1M0U19BVFRSX05PVF9BTExPV0VELCBOVUxMLCBhdHRyKTsKKwkJfQorCSAgICB9IGVsc2UgaWYgKHhtbFN0ckVxdWFsKGF0dHItPm5zLT5ocmVmLCB4bWxTY2hlbWFOcykpIHsKKwkJeG1sU2NoZW1hUElsbGVnYWxBdHRyRXJyKGN0eHQsCisJCSAgICBYTUxfU0NIRU1BUF9TNFNfQVRUUl9OT1RfQUxMT1dFRCwgTlVMTCwgYXR0cik7CisJICAgIH0KKwkgICAgYXR0ciA9IGF0dHItPm5leHQ7CisJfQorICAgIH0KKworICAgIC8qCisgICAgKiBFeHRyYWN0IGFuZCB2YWxpZGF0ZSBhdHRyaWJ1dGVzLgorICAgICovCisgICAgeG1sU2NoZW1hUFZhbEF0dHJJRChjdHh0LCBub2RlLCBCQURfQ0FTVCAiaWQiKTsKKyAgICAvKgorICAgICogQW5kIG5vdyBmb3IgdGhlIGNoaWxkcmVuLi4uCisgICAgKi8KKyAgICBjaGlsZCA9IG5vZGUtPmNoaWxkcmVuOworICAgIGlmIChJU19TQ0hFTUEoY2hpbGQsICJhbm5vdGF0aW9uIikpIHsKKyAgICAgICAgaXRlbS0+YW5ub3QgPSB4bWxTY2hlbWFQYXJzZUFubm90YXRpb24oY3R4dCwgY2hpbGQsIDEpOworICAgICAgICBjaGlsZCA9IGNoaWxkLT5uZXh0OworICAgIH0KKyAgICBpZiAodHlwZSA9PSBYTUxfU0NIRU1BX1RZUEVfQUxMKSB7CisJeG1sU2NoZW1hUGFydGljbGVQdHIgcGFydCwgbGFzdCA9IE5VTEw7CisKKwl3aGlsZSAoSVNfU0NIRU1BKGNoaWxkLCAiZWxlbWVudCIpKSB7CisJICAgIHBhcnQgPSAoeG1sU2NoZW1hUGFydGljbGVQdHIpIHhtbFNjaGVtYVBhcnNlRWxlbWVudChjdHh0LAorCQlzY2hlbWEsIGNoaWxkLCAmaXNFbGVtUmVmLCAwKTsKKwkgICAgLyoKKwkgICAgKiBTUEVDIGNvcy1hbGwtbGltaXRlZCAoMikKKwkgICAgKiAiVGhlIHttYXggb2NjdXJzfSBvZiBhbGwgdGhlIHBhcnRpY2xlcyBpbiB0aGUge3BhcnRpY2xlc30KKwkgICAgKiBvZiB0aGUgKCdhbGwnKSBncm91cCBtdXN0IGJlIDAgb3IgMS4KKwkgICAgKi8KKwkgICAgaWYgKHBhcnQgIT0gTlVMTCkgeworCQlpZiAoaXNFbGVtUmVmKQorCQkgICAgaGFzUmVmcysrOworCQlpZiAocGFydC0+bWluT2NjdXJzID4gMSkgeworCQkgICAgeG1sU2NoZW1hUEN1c3RvbUVycihjdHh0LAorCQkJWE1MX1NDSEVNQVBfQ09TX0FMTF9MSU1JVEVELAorCQkJTlVMTCwgY2hpbGQsCisJCQkiSW52YWxpZCB2YWx1ZSBmb3IgbWluT2NjdXJzIChtdXN0IGJlIDAgb3IgMSkiLAorCQkJTlVMTCk7CisJCSAgICAvKiBSZXNldCB0byAxLiAqLworCQkgICAgcGFydC0+bWluT2NjdXJzID0gMTsKKwkJfQorCQlpZiAocGFydC0+bWF4T2NjdXJzID4gMSkgeworCQkgICAgeG1sU2NoZW1hUEN1c3RvbUVycihjdHh0LAorCQkJWE1MX1NDSEVNQVBfQ09TX0FMTF9MSU1JVEVELAorCQkJTlVMTCwgY2hpbGQsCisJCQkiSW52YWxpZCB2YWx1ZSBmb3IgbWF4T2NjdXJzIChtdXN0IGJlIDAgb3IgMSkiLAorCQkJTlVMTCk7CisJCSAgICAvKiBSZXNldCB0byAxLiAqLworCQkgICAgcGFydC0+bWF4T2NjdXJzID0gMTsKKwkJfQorCQlpZiAobGFzdCA9PSBOVUxMKQorCQkgICAgaXRlbS0+Y2hpbGRyZW4gPSAoeG1sU2NoZW1hVHJlZUl0ZW1QdHIpIHBhcnQ7CisJCWVsc2UKKwkJICAgIGxhc3QtPm5leHQgPSAoeG1sU2NoZW1hVHJlZUl0ZW1QdHIpIHBhcnQ7CisJCWxhc3QgPSBwYXJ0OworCSAgICB9CisJICAgIGNoaWxkID0gY2hpbGQtPm5leHQ7CisJfQorCWlmIChjaGlsZCAhPSBOVUxMKSB7CisJICAgIHhtbFNjaGVtYVBDb250ZW50RXJyKGN0eHQsCisJCVhNTF9TQ0hFTUFQX1M0U19FTEVNX05PVF9BTExPV0VELAorCQlOVUxMLCBub2RlLCBjaGlsZCwgTlVMTCwKKwkJIihhbm5vdGF0aW9uPywgKGFubm90YXRpb24/LCBlbGVtZW50KikiKTsKKwl9CisgICAgfSBlbHNlIHsKKwkvKiBjaG9pY2UgKyBzZXF1ZW5jZSAqLworCXhtbFNjaGVtYVRyZWVJdGVtUHRyIHBhcnQgPSBOVUxMLCBsYXN0ID0gTlVMTDsKKworCXdoaWxlICgoSVNfU0NIRU1BKGNoaWxkLCAiZWxlbWVudCIpKSB8fAorCSAgICAoSVNfU0NIRU1BKGNoaWxkLCAiZ3JvdXAiKSkgfHwKKwkgICAgKElTX1NDSEVNQShjaGlsZCwgImFueSIpKSB8fAorCSAgICAoSVNfU0NIRU1BKGNoaWxkLCAiY2hvaWNlIikpIHx8CisJICAgIChJU19TQ0hFTUEoY2hpbGQsICJzZXF1ZW5jZSIpKSkgeworCisJICAgIGlmIChJU19TQ0hFTUEoY2hpbGQsICJlbGVtZW50IikpIHsKKwkJcGFydCA9ICh4bWxTY2hlbWFUcmVlSXRlbVB0cikKKwkJICAgIHhtbFNjaGVtYVBhcnNlRWxlbWVudChjdHh0LCBzY2hlbWEsIGNoaWxkLCAmaXNFbGVtUmVmLCAwKTsKKwkJaWYgKHBhcnQgJiYgaXNFbGVtUmVmKQorCQkgICAgaGFzUmVmcysrOworCSAgICB9IGVsc2UgaWYgKElTX1NDSEVNQShjaGlsZCwgImdyb3VwIikpIHsKKwkJcGFydCA9CisJCSAgICB4bWxTY2hlbWFQYXJzZU1vZGVsR3JvdXBEZWZSZWYoY3R4dCwgc2NoZW1hLCBjaGlsZCk7CisJCWlmIChwYXJ0ICE9IE5VTEwpCisJCSAgICBoYXNSZWZzKys7CisJCS8qCisJCSogSGFuZGxlIHJlZGVmaW5pdGlvbnMuCisJCSovCisJCWlmIChjdHh0LT5pc1JlZGVmaW5lICYmIGN0eHQtPnJlZGVmICYmCisJCSAgICAoY3R4dC0+cmVkZWYtPml0ZW0tPnR5cGUgPT0gWE1MX1NDSEVNQV9UWVBFX0dST1VQKSAmJgorCQkgICAgcGFydCAmJiBwYXJ0LT5jaGlsZHJlbikKKwkJeworCQkgICAgaWYgKCh4bWxTY2hlbWFHZXRRTmFtZVJlZk5hbWUocGFydC0+Y2hpbGRyZW4pID09CisJCQkgICAgY3R4dC0+cmVkZWYtPnJlZk5hbWUpICYmCisJCQkoeG1sU2NoZW1hR2V0UU5hbWVSZWZUYXJnZXROcyhwYXJ0LT5jaGlsZHJlbikgPT0KKwkJCSAgICBjdHh0LT5yZWRlZi0+cmVmVGFyZ2V0TnMpKQorCQkgICAgeworCQkJLyoKKwkJCSogU1BFQyBzcmMtcmVkZWZpbmU6CisJCQkqICg2LjEpICJJZiBpdCBoYXMgYSA8Z3JvdXA+IGFtb25nIGl0cyBjb250ZW50cyBhdAorCQkJKiBzb21lIGxldmVsIHRoZSBgYWN0dWFsIHZhbHVlYCBvZiB3aG9zZSByZWYKKwkJCSogW2F0dHJpYnV0ZV0gaXMgdGhlIHNhbWUgYXMgdGhlIGBhY3R1YWwgdmFsdWVgIG9mCisJCQkqIGl0cyBvd24gbmFtZSBhdHRyaWJ1dGUgcGx1cyB0YXJnZXQgbmFtZXNwYWNlLCB0aGVuCisJCQkqIGFsbCBvZiB0aGUgZm9sbG93aW5nIG11c3QgYmUgdHJ1ZToiCisJCQkqICg2LjEuMSkgIkl0IG11c3QgaGF2ZSBleGFjdGx5IG9uZSBzdWNoIGdyb3VwLiIKKwkJCSovCisJCQlpZiAoY3R4dC0+cmVkZWZDb3VudGVyICE9IDApIHsKKwkJCSAgICB4bWxDaGFyICpzdHIgPSBOVUxMOworCisJCQkgICAgeG1sU2NoZW1hQ3VzdG9tRXJyKEFDVFhUX0NBU1QgY3R4dCwKKwkJCQlYTUxfU0NIRU1BUF9TUkNfUkVERUZJTkUsIGNoaWxkLCBOVUxMLAorCQkJCSJUaGUgcmVkZWZpbmluZyBtb2RlbCBncm91cCBkZWZpbml0aW9uICIKKwkJCQkiJyVzJyBtdXN0IG5vdCBjb250YWluIG1vcmUgdGhhbiBvbmUgIgorCQkJCSJyZWZlcmVuY2UgdG8gdGhlIHJlZGVmaW5lZCBkZWZpbml0aW9uIiwKKwkJCQl4bWxTY2hlbWFGb3JtYXRRTmFtZSgmc3RyLAorCQkJCSAgICBjdHh0LT5yZWRlZi0+cmVmVGFyZ2V0TnMsCisJCQkJICAgIGN0eHQtPnJlZGVmLT5yZWZOYW1lKSwKKwkJCQlOVUxMKTsKKwkJCSAgICBGUkVFX0FORF9OVUxMKHN0cikKKwkJCSAgICBwYXJ0ID0gTlVMTDsKKwkJCX0gZWxzZSBpZiAoKChXWFNfUEFSVElDTEUocGFydCkpLT5taW5PY2N1cnMgIT0gMSkgfHwKKwkJCSAgICAoKFdYU19QQVJUSUNMRShwYXJ0KSktPm1heE9jY3VycyAhPSAxKSkKKwkJCXsKKwkJCSAgICB4bWxDaGFyICpzdHIgPSBOVUxMOworCQkJICAgIC8qCisJCQkgICAgKiBTUEVDIHNyYy1yZWRlZmluZToKKwkJCSAgICAqICg2LjEuMikgIlRoZSBgYWN0dWFsIHZhbHVlYCBvZiBib3RoIHRoYXQKKwkJCSAgICAqIGdyb3VwJ3MgbWluT2NjdXJzIGFuZCBtYXhPY2N1cnMgW2F0dHJpYnV0ZV0KKwkJCSAgICAqIG11c3QgYmUgMSAob3IgYGFic2VudGApLgorCQkJICAgICovCisJCQkgICAgeG1sU2NoZW1hQ3VzdG9tRXJyKEFDVFhUX0NBU1QgY3R4dCwKKwkJCQlYTUxfU0NIRU1BUF9TUkNfUkVERUZJTkUsIGNoaWxkLCBOVUxMLAorCQkJCSJUaGUgcmVkZWZpbmluZyBtb2RlbCBncm91cCBkZWZpbml0aW9uICIKKwkJCQkiJyVzJyBtdXN0IG5vdCBjb250YWluIGEgcmVmZXJlbmNlIHRvIHRoZSAiCisJCQkJInJlZGVmaW5lZCBkZWZpbml0aW9uIHdpdGggYSAiCisJCQkJIm1heE9jY3Vycy9taW5PY2N1cnMgb3RoZXIgdGhhbiAxIiwKKwkJCQl4bWxTY2hlbWFGb3JtYXRRTmFtZSgmc3RyLAorCQkJCSAgICBjdHh0LT5yZWRlZi0+cmVmVGFyZ2V0TnMsCisJCQkJICAgIGN0eHQtPnJlZGVmLT5yZWZOYW1lKSwKKwkJCQlOVUxMKTsKKwkJCSAgICBGUkVFX0FORF9OVUxMKHN0cikKKwkJCSAgICBwYXJ0ID0gTlVMTDsKKwkJCX0KKwkJCWN0eHQtPnJlZGVmLT5yZWZlcmVuY2UgPSBXWFNfQkFTSUNfQ0FTVCBwYXJ0OworCQkJY3R4dC0+cmVkZWZDb3VudGVyKys7CisJCSAgICB9CisJCX0KKwkgICAgfSBlbHNlIGlmIChJU19TQ0hFTUEoY2hpbGQsICJhbnkiKSkgeworCQlwYXJ0ID0gKHhtbFNjaGVtYVRyZWVJdGVtUHRyKQorCQkgICAgeG1sU2NoZW1hUGFyc2VBbnkoY3R4dCwgc2NoZW1hLCBjaGlsZCk7CisJICAgIH0gZWxzZSBpZiAoSVNfU0NIRU1BKGNoaWxkLCAiY2hvaWNlIikpIHsKKwkJcGFydCA9IHhtbFNjaGVtYVBhcnNlTW9kZWxHcm91cChjdHh0LCBzY2hlbWEsIGNoaWxkLAorCQkgICAgWE1MX1NDSEVNQV9UWVBFX0NIT0lDRSwgMSk7CisJICAgIH0gZWxzZSBpZiAoSVNfU0NIRU1BKGNoaWxkLCAic2VxdWVuY2UiKSkgeworCQlwYXJ0ID0geG1sU2NoZW1hUGFyc2VNb2RlbEdyb3VwKGN0eHQsIHNjaGVtYSwgY2hpbGQsCisJCSAgICBYTUxfU0NIRU1BX1RZUEVfU0VRVUVOQ0UsIDEpOworCSAgICB9CisJICAgIGlmIChwYXJ0ICE9IE5VTEwpIHsKKwkJaWYgKGxhc3QgPT0gTlVMTCkKKwkJICAgIGl0ZW0tPmNoaWxkcmVuID0gcGFydDsKKwkJZWxzZQorCQkgICAgbGFzdC0+bmV4dCA9IHBhcnQ7CisJCWxhc3QgPSBwYXJ0OworCSAgICB9CisJICAgIGNoaWxkID0gY2hpbGQtPm5leHQ7CisJfQorCWlmIChjaGlsZCAhPSBOVUxMKSB7CisJICAgIHhtbFNjaGVtYVBDb250ZW50RXJyKGN0eHQsCisJCVhNTF9TQ0hFTUFQX1M0U19FTEVNX05PVF9BTExPV0VELAorCQlOVUxMLCBub2RlLCBjaGlsZCwgTlVMTCwKKwkJIihhbm5vdGF0aW9uPywgKGVsZW1lbnQgfCBncm91cCB8IGNob2ljZSB8IHNlcXVlbmNlIHwgYW55KSopIik7CisJfQorICAgIH0KKyAgICBpZiAoKG1heCA9PSAwKSAmJiAobWluID09IDApKQorCXJldHVybiAoTlVMTCk7CisgICAgaWYgKGhhc1JlZnMpIHsKKwkvKgorCSogV2UgbmVlZCB0byByZXNvbHZlIHJlZmVyZW5jZXMuCisJKi8KKwlXWFNfQUREX1BFTkRJTkcoY3R4dCwgaXRlbSk7CisgICAgfQorICAgIGlmICh3aXRoUGFydGljbGUpCisJcmV0dXJuICgoeG1sU2NoZW1hVHJlZUl0ZW1QdHIpIHBhcnRpY2xlKTsKKyAgICBlbHNlCisJcmV0dXJuICgoeG1sU2NoZW1hVHJlZUl0ZW1QdHIpIGl0ZW0pOworfQorCisvKioKKyAqIHhtbFNjaGVtYVBhcnNlUmVzdHJpY3Rpb246CisgKiBAY3R4dDogIGEgc2NoZW1hIHZhbGlkYXRpb24gY29udGV4dAorICogQHNjaGVtYTogIHRoZSBzY2hlbWEgYmVpbmcgYnVpbHQKKyAqIEBub2RlOiAgYSBzdWJ0cmVlIGNvbnRhaW5pbmcgWE1MIFNjaGVtYSBpbmZvcm1hdGlvbnMKKyAqCisgKiBwYXJzZSBhIFhNTCBzY2hlbWEgUmVzdHJpY3Rpb24gZGVmaW5pdGlvbgorICogKldBUk5JTkcqIHRoaXMgaW50ZXJmYWNlIGlzIGhpZ2hseSBzdWJqZWN0IHRvIGNoYW5nZQorICoKKyAqIFJldHVybnMgdGhlIHR5cGUgZGVmaW5pdGlvbiBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworc3RhdGljIHhtbFNjaGVtYVR5cGVQdHIKK3htbFNjaGVtYVBhcnNlUmVzdHJpY3Rpb24oeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBjdHh0LCB4bWxTY2hlbWFQdHIgc2NoZW1hLAorICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxOb2RlUHRyIG5vZGUsIHhtbFNjaGVtYVR5cGVUeXBlIHBhcmVudFR5cGUpCit7CisgICAgeG1sU2NoZW1hVHlwZVB0ciB0eXBlOworICAgIHhtbE5vZGVQdHIgY2hpbGQgPSBOVUxMOworICAgIHhtbEF0dHJQdHIgYXR0cjsKKworICAgIGlmICgoY3R4dCA9PSBOVUxMKSB8fCAoc2NoZW1hID09IE5VTEwpIHx8IChub2RlID09IE5VTEwpKQorICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIC8qIE5vdCBhIGNvbXBvbmVudCwgZG9uJ3QgY3JlYXRlIGl0LiAqLworICAgIHR5cGUgPSBjdHh0LT5jdHh0VHlwZTsKKyAgICB0eXBlLT5mbGFncyB8PSBYTUxfU0NIRU1BU19UWVBFX0RFUklWQVRJT05fTUVUSE9EX1JFU1RSSUNUSU9OOworCisgICAgLyoKKyAgICAqIENoZWNrIGZvciBpbGxlZ2FsIGF0dHJpYnV0ZXMuCisgICAgKi8KKyAgICBhdHRyID0gbm9kZS0+cHJvcGVydGllczsKKyAgICB3aGlsZSAoYXR0ciAhPSBOVUxMKSB7CisJaWYgKGF0dHItPm5zID09IE5VTEwpIHsKKwkgICAgaWYgKCgheG1sU3RyRXF1YWwoYXR0ci0+bmFtZSwgQkFEX0NBU1QgImlkIikpICYmCisJCSgheG1sU3RyRXF1YWwoYXR0ci0+bmFtZSwgQkFEX0NBU1QgImJhc2UiKSkpIHsKKwkJeG1sU2NoZW1hUElsbGVnYWxBdHRyRXJyKGN0eHQsCisJCSAgICBYTUxfU0NIRU1BUF9TNFNfQVRUUl9OT1RfQUxMT1dFRCwgTlVMTCwgYXR0cik7CisJICAgIH0KKwl9IGVsc2UgaWYgKHhtbFN0ckVxdWFsKGF0dHItPm5zLT5ocmVmLCB4bWxTY2hlbWFOcykpIHsKKwkgICAgeG1sU2NoZW1hUElsbGVnYWxBdHRyRXJyKGN0eHQsCisJCVhNTF9TQ0hFTUFQX1M0U19BVFRSX05PVF9BTExPV0VELCBOVUxMLCBhdHRyKTsKKwl9CisJYXR0ciA9IGF0dHItPm5leHQ7CisgICAgfQorICAgIC8qCisgICAgKiBFeHRyYWN0IGFuZCB2YWxpZGF0ZSBhdHRyaWJ1dGVzLgorICAgICovCisgICAgeG1sU2NoZW1hUFZhbEF0dHJJRChjdHh0LCBub2RlLCBCQURfQ0FTVCAiaWQiKTsKKyAgICAvKgorICAgICogQXR0cmlidXRlCisgICAgKi8KKyAgICAvKgorICAgICogRXh0cmFjdCB0aGUgYmFzZSB0eXBlLiBUaGUgImJhc2UiIGF0dHJpYnV0ZSBpcyBtYW5kYXRvcnkgaWYgaW5zaWRlCisgICAgKiBhIGNvbXBsZXggdHlwZSBvciBpZiByZWRlZmluaW5nLgorICAgICoKKyAgICAqIFNQRUMgKDEuMikgIi4uLm90aGVyd2lzZSAoPHJlc3RyaWN0aW9uPiBoYXMgbm8gPHNpbXBsZVR5cGU+ICIKKyAgICAqIGFtb25nIGl0cyBbY2hpbGRyZW5dKSwgdGhlIHNpbXBsZSB0eXBlIGRlZmluaXRpb24gd2hpY2ggaXMKKyAgICAqIHRoZSB7Y29udGVudCB0eXBlfSBvZiB0aGUgdHlwZSBkZWZpbml0aW9uIGByZXNvbHZlZGAgdG8gYnkKKyAgICAqIHRoZSBgYWN0dWFsIHZhbHVlYCBvZiB0aGUgYmFzZSBbYXR0cmlidXRlXSIKKyAgICAqLworICAgIGlmICh4bWxTY2hlbWFQVmFsQXR0clFOYW1lKGN0eHQsIHNjaGVtYSwgTlVMTCwgbm9kZSwgImJhc2UiLAorCSYodHlwZS0+YmFzZU5zKSwgJih0eXBlLT5iYXNlKSkgPT0gMCkKKyAgICB7CisJaWYgKCh0eXBlLT5iYXNlID09IE5VTEwpICYmICh0eXBlLT50eXBlID09IFhNTF9TQ0hFTUFfVFlQRV9DT01QTEVYKSkgeworCSAgICB4bWxTY2hlbWFQTWlzc2luZ0F0dHJFcnIoY3R4dCwKKwkJWE1MX1NDSEVNQVBfUzRTX0FUVFJfTUlTU0lORywKKwkJTlVMTCwgbm9kZSwgImJhc2UiLCBOVUxMKTsKKwl9IGVsc2UgaWYgKChjdHh0LT5pc1JlZGVmaW5lKSAmJgorCSAgICAodHlwZS0+ZmxhZ3MgJiBYTUxfU0NIRU1BU19UWVBFX0dMT0JBTCkpCisJeworCSAgICBpZiAodHlwZS0+YmFzZSA9PSBOVUxMKSB7CisJCXhtbFNjaGVtYVBNaXNzaW5nQXR0ckVycihjdHh0LAorCQkgICAgWE1MX1NDSEVNQVBfUzRTX0FUVFJfTUlTU0lORywKKwkJICAgIE5VTEwsIG5vZGUsICJiYXNlIiwgTlVMTCk7CisJICAgIH0gZWxzZSBpZiAoKCEgeG1sU3RyRXF1YWwodHlwZS0+YmFzZSwgdHlwZS0+bmFtZSkpIHx8CisJCSghIHhtbFN0ckVxdWFsKHR5cGUtPmJhc2VOcywgdHlwZS0+dGFyZ2V0TmFtZXNwYWNlKSkpCisJICAgIHsKKwkJeG1sQ2hhciAqc3RyMSA9IE5VTEwsICpzdHIyID0gTlVMTDsKKwkJLyoKKwkJKiBSRURFRklORTogU1BFQyBzcmMtcmVkZWZpbmUgKDUpCisJCSogIldpdGhpbiB0aGUgW2NoaWxkcmVuXSwgZWFjaCA8c2ltcGxlVHlwZT4gbXVzdCBoYXZlIGEKKwkJKiA8cmVzdHJpY3Rpb24+IGFtb25nIGl0cyBbY2hpbGRyZW5dIC4uLiB0aGUgYGFjdHVhbCB2YWx1ZWAgb2YKKwkJKiB3aG9zZSBiYXNlIFthdHRyaWJ1dGVdIG11c3QgYmUgdGhlIHNhbWUgYXMgdGhlIGBhY3R1YWwgdmFsdWVgCisJCSogb2YgaXRzIG93biBuYW1lIGF0dHJpYnV0ZSBwbHVzIHRhcmdldCBuYW1lc3BhY2U7IgorCQkqLworCQl4bWxTY2hlbWFQQ3VzdG9tRXJyRXh0KGN0eHQsIFhNTF9TQ0hFTUFQX1NSQ19SRURFRklORSwKKwkJICAgIE5VTEwsIG5vZGUsICJUaGlzIGlzIGEgcmVkZWZpbml0aW9uLCBidXQgdGhlIFFOYW1lICIKKwkJICAgICJ2YWx1ZSAnJXMnIG9mIHRoZSAnYmFzZScgYXR0cmlidXRlIGRvZXMgbm90IG1hdGNoIHRoZSAiCisJCSAgICAidHlwZSdzIGRlc2lnbmF0aW9uICclcyciLAorCQkgICAgeG1sU2NoZW1hRm9ybWF0UU5hbWUoJnN0cjEsIHR5cGUtPmJhc2VOcywgdHlwZS0+YmFzZSksCisJCSAgICB4bWxTY2hlbWFGb3JtYXRRTmFtZSgmc3RyMiwgdHlwZS0+dGFyZ2V0TmFtZXNwYWNlLAorCQkJdHlwZS0+bmFtZSksIE5VTEwpOworCQlGUkVFX0FORF9OVUxMKHN0cjEpOworCQlGUkVFX0FORF9OVUxMKHN0cjIpOworCQkvKiBBdm9pZCBjb25mdXNpb24gYW5kIGVyYXNlIHRoZSB2YWx1ZXMuICovCisJCXR5cGUtPmJhc2UgPSBOVUxMOworCQl0eXBlLT5iYXNlTnMgPSBOVUxMOworCSAgICB9CisJfQorICAgIH0KKyAgICAvKgorICAgICogQW5kIG5vdyBmb3IgdGhlIGNoaWxkcmVuLi4uCisgICAgKi8KKyAgICBjaGlsZCA9IG5vZGUtPmNoaWxkcmVuOworICAgIGlmIChJU19TQ0hFTUEoY2hpbGQsICJhbm5vdGF0aW9uIikpIHsKKwkvKgorCSogQWRkIHRoZSBhbm5vdGF0aW9uIHRvIHRoZSBzaW1wbGUgdHlwZSBhbmNlc3Rvci4KKwkqLworCXhtbFNjaGVtYUFkZEFubm90YXRpb24oKHhtbFNjaGVtYUFubm90SXRlbVB0cikgdHlwZSwKKwkgICAgeG1sU2NoZW1hUGFyc2VBbm5vdGF0aW9uKGN0eHQsIGNoaWxkLCAxKSk7CisgICAgICAgIGNoaWxkID0gY2hpbGQtPm5leHQ7CisgICAgfQorICAgIGlmIChwYXJlbnRUeXBlID09IFhNTF9TQ0hFTUFfVFlQRV9TSU1QTEUpIHsKKwkvKgorCSogQ29ycmVzcG9uZHMgdG8gPHNpbXBsZVR5cGU+PHJlc3RyaWN0aW9uPjxzaW1wbGVUeXBlPi4KKwkqLworCWlmIChJU19TQ0hFTUEoY2hpbGQsICJzaW1wbGVUeXBlIikpIHsKKwkgICAgaWYgKHR5cGUtPmJhc2UgIT0gTlVMTCkgeworCQkvKgorCQkqIHNyYy1yZXN0cmljdGlvbi1iYXNlLW9yLXNpbXBsZVR5cGUKKwkJKiBFaXRoZXIgdGhlIGJhc2UgW2F0dHJpYnV0ZV0gb3IgdGhlIHNpbXBsZVR5cGUgW2NoaWxkXSBvZiB0aGUKKwkJKiA8cmVzdHJpY3Rpb24+IGVsZW1lbnQgbXVzdCBiZSBwcmVzZW50LCBidXQgbm90IGJvdGguCisJCSovCisJCXhtbFNjaGVtYVBDb250ZW50RXJyKGN0eHQsCisJCSAgICBYTUxfU0NIRU1BUF9TUkNfUkVTVFJJQ1RJT05fQkFTRV9PUl9TSU1QTEVUWVBFLAorCQkgICAgTlVMTCwgbm9kZSwgY2hpbGQsCisJCSAgICAiVGhlIGF0dHJpYnV0ZSAnYmFzZScgYW5kIHRoZSA8c2ltcGxlVHlwZT4gY2hpbGQgYXJlICIKKwkJICAgICJtdXR1YWxseSBleGNsdXNpdmUiLCBOVUxMKTsKKwkgICAgfSBlbHNlIHsKKwkJdHlwZS0+YmFzZVR5cGUgPSAoeG1sU2NoZW1hVHlwZVB0cikKKwkJICAgIHhtbFNjaGVtYVBhcnNlU2ltcGxlVHlwZShjdHh0LCBzY2hlbWEsIGNoaWxkLCAwKTsKKwkgICAgfQorCSAgICBjaGlsZCA9IGNoaWxkLT5uZXh0OworCX0gZWxzZSBpZiAodHlwZS0+YmFzZSA9PSBOVUxMKSB7CisJICAgIHhtbFNjaGVtYVBDb250ZW50RXJyKGN0eHQsCisJCVhNTF9TQ0hFTUFQX1NSQ19SRVNUUklDVElPTl9CQVNFX09SX1NJTVBMRVRZUEUsCisJCU5VTEwsIG5vZGUsIGNoaWxkLAorCQkiRWl0aGVyIHRoZSBhdHRyaWJ1dGUgJ2Jhc2UnIG9yIGEgPHNpbXBsZVR5cGU+IGNoaWxkICIKKwkJIm11c3QgYmUgcHJlc2VudCIsIE5VTEwpOworCX0KKyAgICB9IGVsc2UgaWYgKHBhcmVudFR5cGUgPT0gWE1MX1NDSEVNQV9UWVBFX0NPTVBMRVhfQ09OVEVOVCkgeworCS8qCisJKiBDb3JyZXNwb25kcyB0byA8Y29tcGxleFR5cGU+PGNvbXBsZXhDb250ZW50PjxyZXN0cmljdGlvbj4uLi4KKwkqIGZvbGxvd2VkIGJ5OgorCSoKKwkqIE1vZGVsIGdyb3VwcyA8YWxsPiwgPGNob2ljZT4gYW5kIDxzZXF1ZW5jZT4uCisJKi8KKwlpZiAoSVNfU0NIRU1BKGNoaWxkLCAiYWxsIikpIHsKKwkgICAgdHlwZS0+c3VidHlwZXMgPSAoeG1sU2NoZW1hVHlwZVB0cikKKwkJeG1sU2NoZW1hUGFyc2VNb2RlbEdyb3VwKGN0eHQsIHNjaGVtYSwgY2hpbGQsCisJCSAgICBYTUxfU0NIRU1BX1RZUEVfQUxMLCAxKTsKKwkgICAgY2hpbGQgPSBjaGlsZC0+bmV4dDsKKwl9IGVsc2UgaWYgKElTX1NDSEVNQShjaGlsZCwgImNob2ljZSIpKSB7CisJICAgIHR5cGUtPnN1YnR5cGVzID0gKHhtbFNjaGVtYVR5cGVQdHIpCisJCXhtbFNjaGVtYVBhcnNlTW9kZWxHcm91cChjdHh0LAorCQkgICAgc2NoZW1hLCBjaGlsZCwgWE1MX1NDSEVNQV9UWVBFX0NIT0lDRSwgMSk7CisJICAgIGNoaWxkID0gY2hpbGQtPm5leHQ7CisJfSBlbHNlIGlmIChJU19TQ0hFTUEoY2hpbGQsICJzZXF1ZW5jZSIpKSB7CisJICAgIHR5cGUtPnN1YnR5cGVzID0gKHhtbFNjaGVtYVR5cGVQdHIpCisJCXhtbFNjaGVtYVBhcnNlTW9kZWxHcm91cChjdHh0LCBzY2hlbWEsIGNoaWxkLAorCQkgICAgWE1MX1NDSEVNQV9UWVBFX1NFUVVFTkNFLCAxKTsKKwkgICAgY2hpbGQgPSBjaGlsZC0+bmV4dDsKKwkvKgorCSogTW9kZWwgZ3JvdXAgcmVmZXJlbmNlIDxncm91cD4uCisJKi8KKwl9IGVsc2UgaWYgKElTX1NDSEVNQShjaGlsZCwgImdyb3VwIikpIHsKKwkgICAgdHlwZS0+c3VidHlwZXMgPSAoeG1sU2NoZW1hVHlwZVB0cikKKwkJeG1sU2NoZW1hUGFyc2VNb2RlbEdyb3VwRGVmUmVmKGN0eHQsIHNjaGVtYSwgY2hpbGQpOworCSAgICAvKgorCSAgICAqIE5vdGUgdGhhdCB0aGUgcmVmZXJlbmNlIHdpbGwgYmUgcmVzb2x2ZWQgaW4KKwkgICAgKiB4bWxTY2hlbWFSZXNvbHZlVHlwZVJlZmVyZW5jZXMoKTsKKwkgICAgKi8KKwkgICAgY2hpbGQgPSBjaGlsZC0+bmV4dDsKKwl9CisgICAgfSBlbHNlIGlmIChwYXJlbnRUeXBlID09IFhNTF9TQ0hFTUFfVFlQRV9TSU1QTEVfQ09OVEVOVCkgeworCS8qCisJKiBDb3JyZXNwb25kcyB0byA8Y29tcGxleFR5cGU+PHNpbXBsZUNvbnRlbnQ+PHJlc3RyaWN0aW9uPi4uLgorCSoKKwkqICIxLjEgdGhlIHNpbXBsZSB0eXBlIGRlZmluaXRpb24gY29ycmVzcG9uZGluZyB0byB0aGUgPHNpbXBsZVR5cGU+CisJKiBhbW9uZyB0aGUgW2NoaWxkcmVuXSBvZiA8cmVzdHJpY3Rpb24+IGlmIHRoZXJlIGlzIG9uZTsiCisJKi8KKwlpZiAoSVNfU0NIRU1BKGNoaWxkLCAic2ltcGxlVHlwZSIpKSB7CisJICAgIC8qCisJICAgICogV2Ugd2lsbCBzdG9yZSB0aGUgdG8tYmUtcmVzdHJpY3RlZCBzaW1wbGUgdHlwZSBpbgorCSAgICAqIHR5cGUtPmNvbnRlbnRUeXBlRGVmICp0ZW1wb3JhcmlseSouCisJICAgICovCisJICAgIHR5cGUtPmNvbnRlbnRUeXBlRGVmID0gKHhtbFNjaGVtYVR5cGVQdHIpCisJCXhtbFNjaGVtYVBhcnNlU2ltcGxlVHlwZShjdHh0LCBzY2hlbWEsIGNoaWxkLCAwKTsKKwkgICAgaWYgKCB0eXBlLT5jb250ZW50VHlwZURlZiA9PSBOVUxMKQorCQlyZXR1cm4gKE5VTEwpOworCSAgICBjaGlsZCA9IGNoaWxkLT5uZXh0OworCX0KKyAgICB9CisKKyAgICBpZiAoKHBhcmVudFR5cGUgPT0gWE1MX1NDSEVNQV9UWVBFX1NJTVBMRSkgfHwKKwkocGFyZW50VHlwZSA9PSBYTUxfU0NIRU1BX1RZUEVfU0lNUExFX0NPTlRFTlQpKSB7CisJeG1sU2NoZW1hRmFjZXRQdHIgZmFjZXQsIGxhc3RmYWNldCA9IE5VTEw7CisJLyoKKwkqIENvcnJlc3BvbmRzIHRvIDxjb21wbGV4VHlwZT48c2ltcGxlQ29udGVudD48cmVzdHJpY3Rpb24+Li4uCisJKiA8c2ltcGxlVHlwZT48cmVzdHJpY3Rpb24+Li4uCisJKi8KKworCS8qCisJKiBBZGQgdGhlIGZhY2V0cyB0byB0aGUgc2ltcGxlIHR5cGUgYW5jZXN0b3IuCisJKi8KKwkvKgorCSogVE9ETzogRGF0YXR5cGVzOiA0LjEuMyBDb25zdHJhaW50cyBvbiBYTUwgUmVwcmVzZW50YXRpb24gb2YKKwkqIFNpbXBsZSBUeXBlIERlZmluaXRpb24gU2NoZW1hIFJlcHJlc2VudGF0aW9uIENvbnN0cmFpbnQ6CisJKiAqU2luZ2xlIEZhY2V0IFZhbHVlKgorCSovCisJd2hpbGUgKChJU19TQ0hFTUEoY2hpbGQsICJtaW5JbmNsdXNpdmUiKSkgfHwKKwkgICAgKElTX1NDSEVNQShjaGlsZCwgIm1pbkV4Y2x1c2l2ZSIpKSB8fAorCSAgICAoSVNfU0NIRU1BKGNoaWxkLCAibWF4SW5jbHVzaXZlIikpIHx8CisJICAgIChJU19TQ0hFTUEoY2hpbGQsICJtYXhFeGNsdXNpdmUiKSkgfHwKKwkgICAgKElTX1NDSEVNQShjaGlsZCwgInRvdGFsRGlnaXRzIikpIHx8CisJICAgIChJU19TQ0hFTUEoY2hpbGQsICJmcmFjdGlvbkRpZ2l0cyIpKSB8fAorCSAgICAoSVNfU0NIRU1BKGNoaWxkLCAicGF0dGVybiIpKSB8fAorCSAgICAoSVNfU0NIRU1BKGNoaWxkLCAiZW51bWVyYXRpb24iKSkgfHwKKwkgICAgKElTX1NDSEVNQShjaGlsZCwgIndoaXRlU3BhY2UiKSkgfHwKKwkgICAgKElTX1NDSEVNQShjaGlsZCwgImxlbmd0aCIpKSB8fAorCSAgICAoSVNfU0NIRU1BKGNoaWxkLCAibWF4TGVuZ3RoIikpIHx8CisJICAgIChJU19TQ0hFTUEoY2hpbGQsICJtaW5MZW5ndGgiKSkpIHsKKwkgICAgZmFjZXQgPSB4bWxTY2hlbWFQYXJzZUZhY2V0KGN0eHQsIHNjaGVtYSwgY2hpbGQpOworCSAgICBpZiAoZmFjZXQgIT0gTlVMTCkgeworCQlpZiAobGFzdGZhY2V0ID09IE5VTEwpCisJCSAgICB0eXBlLT5mYWNldHMgPSBmYWNldDsKKwkJZWxzZQorCQkgICAgbGFzdGZhY2V0LT5uZXh0ID0gZmFjZXQ7CisJCWxhc3RmYWNldCA9IGZhY2V0OworCQlsYXN0ZmFjZXQtPm5leHQgPSBOVUxMOworCSAgICB9CisJICAgIGNoaWxkID0gY2hpbGQtPm5leHQ7CisJfQorCS8qCisJKiBDcmVhdGUgbGlua3MgZm9yIGRlcml2YXRpb24gYW5kIHZhbGlkYXRpb24uCisJKi8KKwlpZiAodHlwZS0+ZmFjZXRzICE9IE5VTEwpIHsKKwkgICAgeG1sU2NoZW1hRmFjZXRMaW5rUHRyIGZhY2V0TGluaywgbGFzdEZhY2V0TGluayA9IE5VTEw7CisKKwkgICAgZmFjZXQgPSB0eXBlLT5mYWNldHM7CisJICAgIGRvIHsKKwkJZmFjZXRMaW5rID0gKHhtbFNjaGVtYUZhY2V0TGlua1B0cikKKwkJICAgIHhtbE1hbGxvYyhzaXplb2YoeG1sU2NoZW1hRmFjZXRMaW5rKSk7CisJCWlmIChmYWNldExpbmsgPT0gTlVMTCkgeworCQkgICAgeG1sU2NoZW1hUEVyck1lbW9yeShjdHh0LCAiYWxsb2NhdGluZyBhIGZhY2V0IGxpbmsiLCBOVUxMKTsKKwkJICAgIHhtbEZyZWUoZmFjZXRMaW5rKTsKKwkJICAgIHJldHVybiAoTlVMTCk7CisJCX0KKwkJZmFjZXRMaW5rLT5mYWNldCA9IGZhY2V0OworCQlmYWNldExpbmstPm5leHQgPSBOVUxMOworCQlpZiAobGFzdEZhY2V0TGluayA9PSBOVUxMKQorCQkgICAgdHlwZS0+ZmFjZXRTZXQgPSBmYWNldExpbms7CisJCWVsc2UKKwkJICAgIGxhc3RGYWNldExpbmstPm5leHQgPSBmYWNldExpbms7CisJCWxhc3RGYWNldExpbmsgPSBmYWNldExpbms7CisJCWZhY2V0ID0gZmFjZXQtPm5leHQ7CisJICAgIH0gd2hpbGUgKGZhY2V0ICE9IE5VTEwpOworCX0KKyAgICB9CisgICAgaWYgKHR5cGUtPnR5cGUgPT0gWE1MX1NDSEVNQV9UWVBFX0NPTVBMRVgpIHsKKwkvKgorCSogQXR0cmlidXRlIHVzZXMvZGVjbGFyYXRpb25zLgorCSovCisJaWYgKHhtbFNjaGVtYVBhcnNlTG9jYWxBdHRyaWJ1dGVzKGN0eHQsIHNjaGVtYSwgJmNoaWxkLAorCSAgICAoeG1sU2NoZW1hSXRlbUxpc3RQdHIgKikgJih0eXBlLT5hdHRyVXNlcyksCisJICAgIFhNTF9TQ0hFTUFfVFlQRV9SRVNUUklDVElPTiwgTlVMTCkgPT0gLTEpCisJICAgIHJldHVybihOVUxMKTsKKwkvKgorCSogQXR0cmlidXRlIHdpbGRjYXJkLgorCSovCisJaWYgKElTX1NDSEVNQShjaGlsZCwgImFueUF0dHJpYnV0ZSIpKSB7CisJICAgIHR5cGUtPmF0dHJpYnV0ZVdpbGRjYXJkID0KKwkJeG1sU2NoZW1hUGFyc2VBbnlBdHRyaWJ1dGUoY3R4dCwgc2NoZW1hLCBjaGlsZCk7CisJICAgIGNoaWxkID0gY2hpbGQtPm5leHQ7CisJfQorICAgIH0KKyAgICBpZiAoY2hpbGQgIT0gTlVMTCkgeworCWlmIChwYXJlbnRUeXBlID09IFhNTF9TQ0hFTUFfVFlQRV9DT01QTEVYX0NPTlRFTlQpIHsKKwkgICAgeG1sU2NoZW1hUENvbnRlbnRFcnIoY3R4dCwKKwkJWE1MX1NDSEVNQVBfUzRTX0VMRU1fTk9UX0FMTE9XRUQsCisJCU5VTEwsIG5vZGUsIGNoaWxkLCBOVUxMLAorCQkiYW5ub3RhdGlvbj8sIChncm91cCB8IGFsbCB8IGNob2ljZSB8IHNlcXVlbmNlKT8sICIKKwkJIigoYXR0cmlidXRlIHwgYXR0cmlidXRlR3JvdXApKiwgYW55QXR0cmlidXRlPykpIik7CisJfSBlbHNlIGlmIChwYXJlbnRUeXBlID09IFhNTF9TQ0hFTUFfVFlQRV9TSU1QTEVfQ09OVEVOVCkgeworCSAgICAgeG1sU2NoZW1hUENvbnRlbnRFcnIoY3R4dCwKKwkJWE1MX1NDSEVNQVBfUzRTX0VMRU1fTk9UX0FMTE9XRUQsCisJCU5VTEwsIG5vZGUsIGNoaWxkLCBOVUxMLAorCQkiKGFubm90YXRpb24/LCAoc2ltcGxlVHlwZT8sIChtaW5FeGNsdXNpdmUgfCBtaW5JbmNsdXNpdmUgfCAiCisJCSJtYXhFeGNsdXNpdmUgfCBtYXhJbmNsdXNpdmUgfCB0b3RhbERpZ2l0cyB8IGZyYWN0aW9uRGlnaXRzIHwgIgorCQkibGVuZ3RoIHwgbWluTGVuZ3RoIHwgbWF4TGVuZ3RoIHwgZW51bWVyYXRpb24gfCB3aGl0ZVNwYWNlIHwgIgorCQkicGF0dGVybikqKT8sICgoYXR0cmlidXRlIHwgYXR0cmlidXRlR3JvdXApKiwgYW55QXR0cmlidXRlPykpIik7CisJfSBlbHNlIHsKKwkgICAgLyogU2ltcGxlIHR5cGUgKi8KKwkgICAgeG1sU2NoZW1hUENvbnRlbnRFcnIoY3R4dCwKKwkJWE1MX1NDSEVNQVBfUzRTX0VMRU1fTk9UX0FMTE9XRUQsCisJCU5VTEwsIG5vZGUsIGNoaWxkLCBOVUxMLAorCQkiKGFubm90YXRpb24/LCAoc2ltcGxlVHlwZT8sIChtaW5FeGNsdXNpdmUgfCBtaW5JbmNsdXNpdmUgfCAiCisJCSJtYXhFeGNsdXNpdmUgfCBtYXhJbmNsdXNpdmUgfCB0b3RhbERpZ2l0cyB8IGZyYWN0aW9uRGlnaXRzIHwgIgorCQkibGVuZ3RoIHwgbWluTGVuZ3RoIHwgbWF4TGVuZ3RoIHwgZW51bWVyYXRpb24gfCB3aGl0ZVNwYWNlIHwgIgorCQkicGF0dGVybikqKSkiKTsKKwl9CisgICAgfQorICAgIHJldHVybiAoTlVMTCk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hUGFyc2VFeHRlbnNpb246CisgKiBAY3R4dDogIGEgc2NoZW1hIHZhbGlkYXRpb24gY29udGV4dAorICogQHNjaGVtYTogIHRoZSBzY2hlbWEgYmVpbmcgYnVpbHQKKyAqIEBub2RlOiAgYSBzdWJ0cmVlIGNvbnRhaW5pbmcgWE1MIFNjaGVtYSBpbmZvcm1hdGlvbnMKKyAqCisgKiBQYXJzZXMgYW4gPGV4dGVuc2lvbj4sIHdoaWNoIGlzIGZvdW5kIGluc2lkZSBhCisgKiA8c2ltcGxlQ29udGVudD4gb3IgPGNvbXBsZXhDb250ZW50Pi4KKyAqICpXQVJOSU5HKiB0aGlzIGludGVyZmFjZSBpcyBoaWdobHkgc3ViamVjdCB0byBjaGFuZ2UuCisgKgorICogVE9ETzogUmV0dXJucyB0aGUgdHlwZSBkZWZpbml0aW9uIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcgorICovCitzdGF0aWMgeG1sU2NoZW1hVHlwZVB0cgoreG1sU2NoZW1hUGFyc2VFeHRlbnNpb24oeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBjdHh0LCB4bWxTY2hlbWFQdHIgc2NoZW1hLAorICAgICAgICAgICAgICAgICAgICAgICAgeG1sTm9kZVB0ciBub2RlLCB4bWxTY2hlbWFUeXBlVHlwZSBwYXJlbnRUeXBlKQoreworICAgIHhtbFNjaGVtYVR5cGVQdHIgdHlwZTsKKyAgICB4bWxOb2RlUHRyIGNoaWxkID0gTlVMTDsKKyAgICB4bWxBdHRyUHRyIGF0dHI7CisKKyAgICBpZiAoKGN0eHQgPT0gTlVMTCkgfHwgKHNjaGVtYSA9PSBOVUxMKSB8fCAobm9kZSA9PSBOVUxMKSkKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICAvKiBOb3QgYSBjb21wb25lbnQsIGRvbid0IGNyZWF0ZSBpdC4gKi8KKyAgICB0eXBlID0gY3R4dC0+Y3R4dFR5cGU7CisgICAgdHlwZS0+ZmxhZ3MgfD0gWE1MX1NDSEVNQVNfVFlQRV9ERVJJVkFUSU9OX01FVEhPRF9FWFRFTlNJT047CisKKyAgICAvKgorICAgICogQ2hlY2sgZm9yIGlsbGVnYWwgYXR0cmlidXRlcy4KKyAgICAqLworICAgIGF0dHIgPSBub2RlLT5wcm9wZXJ0aWVzOworICAgIHdoaWxlIChhdHRyICE9IE5VTEwpIHsKKwlpZiAoYXR0ci0+bnMgPT0gTlVMTCkgeworCSAgICBpZiAoKCF4bWxTdHJFcXVhbChhdHRyLT5uYW1lLCBCQURfQ0FTVCAiaWQiKSkgJiYKKwkJKCF4bWxTdHJFcXVhbChhdHRyLT5uYW1lLCBCQURfQ0FTVCAiYmFzZSIpKSkgeworCQl4bWxTY2hlbWFQSWxsZWdhbEF0dHJFcnIoY3R4dCwKKwkJICAgIFhNTF9TQ0hFTUFQX1M0U19BVFRSX05PVF9BTExPV0VELCBOVUxMLCBhdHRyKTsKKwkgICAgfQorCX0gZWxzZSBpZiAoeG1sU3RyRXF1YWwoYXR0ci0+bnMtPmhyZWYsIHhtbFNjaGVtYU5zKSkgeworCSAgICB4bWxTY2hlbWFQSWxsZWdhbEF0dHJFcnIoY3R4dCwKKwkJWE1MX1NDSEVNQVBfUzRTX0FUVFJfTk9UX0FMTE9XRUQsIE5VTEwsIGF0dHIpOworCX0KKwlhdHRyID0gYXR0ci0+bmV4dDsKKyAgICB9CisKKyAgICB4bWxTY2hlbWFQVmFsQXR0cklEKGN0eHQsIG5vZGUsIEJBRF9DQVNUICJpZCIpOworCisgICAgLyoKKyAgICAqIEF0dHJpYnV0ZSAiYmFzZSIgLSBtYW5kYXRvcnkuCisgICAgKi8KKyAgICBpZiAoKHhtbFNjaGVtYVBWYWxBdHRyUU5hbWUoY3R4dCwgc2NoZW1hLCBOVUxMLCBub2RlLAorCSJiYXNlIiwgJih0eXBlLT5iYXNlTnMpLCAmKHR5cGUtPmJhc2UpKSA9PSAwKSAmJgorCSh0eXBlLT5iYXNlID09IE5VTEwpKSB7CisJeG1sU2NoZW1hUE1pc3NpbmdBdHRyRXJyKGN0eHQsCisJICAgIFhNTF9TQ0hFTUFQX1M0U19BVFRSX01JU1NJTkcsCisJICAgIE5VTEwsIG5vZGUsICJiYXNlIiwgTlVMTCk7CisgICAgfQorICAgIC8qCisgICAgKiBBbmQgbm93IGZvciB0aGUgY2hpbGRyZW4uLi4KKyAgICAqLworICAgIGNoaWxkID0gbm9kZS0+Y2hpbGRyZW47CisgICAgaWYgKElTX1NDSEVNQShjaGlsZCwgImFubm90YXRpb24iKSkgeworCS8qCisJKiBBZGQgdGhlIGFubm90YXRpb24gdG8gdGhlIHR5cGUgYW5jZXN0b3IuCisJKi8KKwl4bWxTY2hlbWFBZGRBbm5vdGF0aW9uKCh4bWxTY2hlbWFBbm5vdEl0ZW1QdHIpIHR5cGUsCisJICAgIHhtbFNjaGVtYVBhcnNlQW5ub3RhdGlvbihjdHh0LCBjaGlsZCwgMSkpOworICAgICAgICBjaGlsZCA9IGNoaWxkLT5uZXh0OworICAgIH0KKyAgICBpZiAocGFyZW50VHlwZSA9PSBYTUxfU0NIRU1BX1RZUEVfQ09NUExFWF9DT05URU5UKSB7CisJLyoKKwkqIENvcnJlc3BvbmRzIHRvIDxjb21wbGV4VHlwZT48Y29tcGxleENvbnRlbnQ+PGV4dGVuc2lvbj4uLi4gYW5kOgorCSoKKwkqIE1vZGVsIGdyb3VwcyA8YWxsPiwgPGNob2ljZT4sIDxzZXF1ZW5jZT4gYW5kIDxncm91cD4uCisJKi8KKwlpZiAoSVNfU0NIRU1BKGNoaWxkLCAiYWxsIikpIHsKKwkgICAgdHlwZS0+c3VidHlwZXMgPSAoeG1sU2NoZW1hVHlwZVB0cikKKwkJeG1sU2NoZW1hUGFyc2VNb2RlbEdyb3VwKGN0eHQsIHNjaGVtYSwKKwkJICAgIGNoaWxkLCBYTUxfU0NIRU1BX1RZUEVfQUxMLCAxKTsKKwkgICAgY2hpbGQgPSBjaGlsZC0+bmV4dDsKKwl9IGVsc2UgaWYgKElTX1NDSEVNQShjaGlsZCwgImNob2ljZSIpKSB7CisJICAgIHR5cGUtPnN1YnR5cGVzID0gKHhtbFNjaGVtYVR5cGVQdHIpCisJCXhtbFNjaGVtYVBhcnNlTW9kZWxHcm91cChjdHh0LCBzY2hlbWEsCisJCSAgICBjaGlsZCwgWE1MX1NDSEVNQV9UWVBFX0NIT0lDRSwgMSk7CisJICAgIGNoaWxkID0gY2hpbGQtPm5leHQ7CisJfSBlbHNlIGlmIChJU19TQ0hFTUEoY2hpbGQsICJzZXF1ZW5jZSIpKSB7CisJICAgIHR5cGUtPnN1YnR5cGVzID0gKHhtbFNjaGVtYVR5cGVQdHIpCisJCXhtbFNjaGVtYVBhcnNlTW9kZWxHcm91cChjdHh0LCBzY2hlbWEsCisJCWNoaWxkLCBYTUxfU0NIRU1BX1RZUEVfU0VRVUVOQ0UsIDEpOworCSAgICBjaGlsZCA9IGNoaWxkLT5uZXh0OworCX0gZWxzZSBpZiAoSVNfU0NIRU1BKGNoaWxkLCAiZ3JvdXAiKSkgeworCSAgICB0eXBlLT5zdWJ0eXBlcyA9ICh4bWxTY2hlbWFUeXBlUHRyKQorCQl4bWxTY2hlbWFQYXJzZU1vZGVsR3JvdXBEZWZSZWYoY3R4dCwgc2NoZW1hLCBjaGlsZCk7CisJICAgIC8qCisJICAgICogTm90ZSB0aGF0IHRoZSByZWZlcmVuY2Ugd2lsbCBiZSByZXNvbHZlZCBpbgorCSAgICAqIHhtbFNjaGVtYVJlc29sdmVUeXBlUmVmZXJlbmNlcygpOworCSAgICAqLworCSAgICBjaGlsZCA9IGNoaWxkLT5uZXh0OworCX0KKyAgICB9CisgICAgaWYgKGNoaWxkICE9IE5VTEwpIHsKKwkvKgorCSogQXR0cmlidXRlIHVzZXMvZGVjbGFyYXRpb25zLgorCSovCisJaWYgKHhtbFNjaGVtYVBhcnNlTG9jYWxBdHRyaWJ1dGVzKGN0eHQsIHNjaGVtYSwgJmNoaWxkLAorCSAgICAoeG1sU2NoZW1hSXRlbUxpc3RQdHIgKikgJih0eXBlLT5hdHRyVXNlcyksCisJICAgIFhNTF9TQ0hFTUFfVFlQRV9FWFRFTlNJT04sIE5VTEwpID09IC0xKQorCSAgICByZXR1cm4oTlVMTCk7CisJLyoKKwkqIEF0dHJpYnV0ZSB3aWxkY2FyZC4KKwkqLworCWlmIChJU19TQ0hFTUEoY2hpbGQsICJhbnlBdHRyaWJ1dGUiKSkgeworCSAgICBjdHh0LT5jdHh0VHlwZS0+YXR0cmlidXRlV2lsZGNhcmQgPQorCQl4bWxTY2hlbWFQYXJzZUFueUF0dHJpYnV0ZShjdHh0LCBzY2hlbWEsIGNoaWxkKTsKKwkgICAgY2hpbGQgPSBjaGlsZC0+bmV4dDsKKwl9CisgICAgfQorICAgIGlmIChjaGlsZCAhPSBOVUxMKSB7CisJaWYgKHBhcmVudFR5cGUgPT0gWE1MX1NDSEVNQV9UWVBFX0NPTVBMRVhfQ09OVEVOVCkgeworCSAgICAvKiBDb21wbGV4IGNvbnRlbnQgZXh0ZW5zaW9uLiAqLworCSAgICB4bWxTY2hlbWFQQ29udGVudEVycihjdHh0LAorCQlYTUxfU0NIRU1BUF9TNFNfRUxFTV9OT1RfQUxMT1dFRCwKKwkJTlVMTCwgbm9kZSwgY2hpbGQsIE5VTEwsCisJCSIoYW5ub3RhdGlvbj8sICgoZ3JvdXAgfCBhbGwgfCBjaG9pY2UgfCBzZXF1ZW5jZSk/LCAiCisJCSIoKGF0dHJpYnV0ZSB8IGF0dHJpYnV0ZUdyb3VwKSosIGFueUF0dHJpYnV0ZT8pKSkiKTsKKwl9IGVsc2UgeworCSAgICAvKiBTaW1wbGUgY29udGVudCBleHRlbnNpb24uICovCisJICAgIHhtbFNjaGVtYVBDb250ZW50RXJyKGN0eHQsCisJCVhNTF9TQ0hFTUFQX1M0U19FTEVNX05PVF9BTExPV0VELAorCQlOVUxMLCBub2RlLCBjaGlsZCwgTlVMTCwKKwkJIihhbm5vdGF0aW9uPywgKChhdHRyaWJ1dGUgfCBhdHRyaWJ1dGVHcm91cCkqLCAiCisJCSJhbnlBdHRyaWJ1dGU/KSkiKTsKKwl9CisgICAgfQorICAgIHJldHVybiAoTlVMTCk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hUGFyc2VTaW1wbGVDb250ZW50OgorICogQGN0eHQ6ICBhIHNjaGVtYSB2YWxpZGF0aW9uIGNvbnRleHQKKyAqIEBzY2hlbWE6ICB0aGUgc2NoZW1hIGJlaW5nIGJ1aWx0CisgKiBAbm9kZTogIGEgc3VidHJlZSBjb250YWluaW5nIFhNTCBTY2hlbWEgaW5mb3JtYXRpb25zCisgKgorICogcGFyc2UgYSBYTUwgc2NoZW1hIFNpbXBsZUNvbnRlbnQgZGVmaW5pdGlvbgorICogKldBUk5JTkcqIHRoaXMgaW50ZXJmYWNlIGlzIGhpZ2hseSBzdWJqZWN0IHRvIGNoYW5nZQorICoKKyAqIFJldHVybnMgdGhlIHR5cGUgZGVmaW5pdGlvbiBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworc3RhdGljIGludAoreG1sU2NoZW1hUGFyc2VTaW1wbGVDb250ZW50KHhtbFNjaGVtYVBhcnNlckN0eHRQdHIgY3R4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxTY2hlbWFQdHIgc2NoZW1hLCB4bWxOb2RlUHRyIG5vZGUsCisJCQkgICAgaW50ICpoYXNSZXN0cmljdGlvbk9yRXh0ZW5zaW9uKQoreworICAgIHhtbFNjaGVtYVR5cGVQdHIgdHlwZTsKKyAgICB4bWxOb2RlUHRyIGNoaWxkID0gTlVMTDsKKyAgICB4bWxBdHRyUHRyIGF0dHI7CisKKyAgICBpZiAoKGN0eHQgPT0gTlVMTCkgfHwgKHNjaGVtYSA9PSBOVUxMKSB8fCAobm9kZSA9PSBOVUxMKSB8fAorCShoYXNSZXN0cmljdGlvbk9yRXh0ZW5zaW9uID09IE5VTEwpKQorICAgICAgICByZXR1cm4gKC0xKTsKKyAgICAqaGFzUmVzdHJpY3Rpb25PckV4dGVuc2lvbiA9IDA7CisgICAgLyogTm90IGEgY29tcG9uZW50LCBkb24ndCBjcmVhdGUgaXQuICovCisgICAgdHlwZSA9IGN0eHQtPmN0eHRUeXBlOworICAgIHR5cGUtPmNvbnRlbnRUeXBlID0gWE1MX1NDSEVNQV9DT05URU5UX1NJTVBMRTsKKyAgICAvKgorICAgICogQ2hlY2sgZm9yIGlsbGVnYWwgYXR0cmlidXRlcy4KKyAgICAqLworICAgIGF0dHIgPSBub2RlLT5wcm9wZXJ0aWVzOworICAgIHdoaWxlIChhdHRyICE9IE5VTEwpIHsKKwlpZiAoYXR0ci0+bnMgPT0gTlVMTCkgeworCSAgICBpZiAoKCF4bWxTdHJFcXVhbChhdHRyLT5uYW1lLCBCQURfQ0FTVCAiaWQiKSkpIHsKKwkJeG1sU2NoZW1hUElsbGVnYWxBdHRyRXJyKGN0eHQsCisJCSAgICBYTUxfU0NIRU1BUF9TNFNfQVRUUl9OT1RfQUxMT1dFRCwgTlVMTCwgYXR0cik7CisJICAgIH0KKwl9IGVsc2UgaWYgKHhtbFN0ckVxdWFsKGF0dHItPm5zLT5ocmVmLCB4bWxTY2hlbWFOcykpIHsKKwkgICAgeG1sU2NoZW1hUElsbGVnYWxBdHRyRXJyKGN0eHQsCisJCVhNTF9TQ0hFTUFQX1M0U19BVFRSX05PVF9BTExPV0VELCBOVUxMLCBhdHRyKTsKKwl9CisJYXR0ciA9IGF0dHItPm5leHQ7CisgICAgfQorCisgICAgeG1sU2NoZW1hUFZhbEF0dHJJRChjdHh0LCBub2RlLCBCQURfQ0FTVCAiaWQiKTsKKworICAgIC8qCisgICAgKiBBbmQgbm93IGZvciB0aGUgY2hpbGRyZW4uLi4KKyAgICAqLworICAgIGNoaWxkID0gbm9kZS0+Y2hpbGRyZW47CisgICAgaWYgKElTX1NDSEVNQShjaGlsZCwgImFubm90YXRpb24iKSkgeworCS8qCisJKiBBZGQgdGhlIGFubm90YXRpb24gdG8gdGhlIGNvbXBsZXggdHlwZSBhbmNlc3Rvci4KKwkqLworCXhtbFNjaGVtYUFkZEFubm90YXRpb24oKHhtbFNjaGVtYUFubm90SXRlbVB0cikgdHlwZSwKKwkgICAgeG1sU2NoZW1hUGFyc2VBbm5vdGF0aW9uKGN0eHQsIGNoaWxkLCAxKSk7CisgICAgICAgIGNoaWxkID0gY2hpbGQtPm5leHQ7CisgICAgfQorICAgIGlmIChjaGlsZCA9PSBOVUxMKSB7CisJeG1sU2NoZW1hUENvbnRlbnRFcnIoY3R4dCwKKwkgICAgWE1MX1NDSEVNQVBfUzRTX0VMRU1fTUlTU0lORywKKwkgICAgTlVMTCwgbm9kZSwgTlVMTCwgTlVMTCwKKwkgICAgIihhbm5vdGF0aW9uPywgKHJlc3RyaWN0aW9uIHwgZXh0ZW5zaW9uKSkiKTsKKyAgICB9CisgICAgaWYgKGNoaWxkID09IE5VTEwpIHsKKwl4bWxTY2hlbWFQQ29udGVudEVycihjdHh0LAorCSAgICBYTUxfU0NIRU1BUF9TNFNfRUxFTV9NSVNTSU5HLAorCSAgICBOVUxMLCBub2RlLCBOVUxMLCBOVUxMLAorCSAgICAiKGFubm90YXRpb24/LCAocmVzdHJpY3Rpb24gfCBleHRlbnNpb24pKSIpOworICAgIH0KKyAgICBpZiAoSVNfU0NIRU1BKGNoaWxkLCAicmVzdHJpY3Rpb24iKSkgeworICAgICAgICB4bWxTY2hlbWFQYXJzZVJlc3RyaWN0aW9uKGN0eHQsIHNjaGVtYSwgY2hpbGQsCisJICAgIFhNTF9TQ0hFTUFfVFlQRV9TSU1QTEVfQ09OVEVOVCk7CisJKCpoYXNSZXN0cmljdGlvbk9yRXh0ZW5zaW9uKSA9IDE7CisgICAgICAgIGNoaWxkID0gY2hpbGQtPm5leHQ7CisgICAgfSBlbHNlIGlmIChJU19TQ0hFTUEoY2hpbGQsICJleHRlbnNpb24iKSkgeworICAgICAgICB4bWxTY2hlbWFQYXJzZUV4dGVuc2lvbihjdHh0LCBzY2hlbWEsIGNoaWxkLAorCSAgICBYTUxfU0NIRU1BX1RZUEVfU0lNUExFX0NPTlRFTlQpOworCSgqaGFzUmVzdHJpY3Rpb25PckV4dGVuc2lvbikgPSAxOworICAgICAgICBjaGlsZCA9IGNoaWxkLT5uZXh0OworICAgIH0KKyAgICBpZiAoY2hpbGQgIT0gTlVMTCkgeworCXhtbFNjaGVtYVBDb250ZW50RXJyKGN0eHQsCisJICAgIFhNTF9TQ0hFTUFQX1M0U19FTEVNX05PVF9BTExPV0VELAorCSAgICBOVUxMLCBub2RlLCBjaGlsZCwgTlVMTCwKKwkgICAgIihhbm5vdGF0aW9uPywgKHJlc3RyaWN0aW9uIHwgZXh0ZW5zaW9uKSkiKTsKKyAgICB9CisgICAgcmV0dXJuICgwKTsKK30KKworLyoqCisgKiB4bWxTY2hlbWFQYXJzZUNvbXBsZXhDb250ZW50OgorICogQGN0eHQ6ICBhIHNjaGVtYSB2YWxpZGF0aW9uIGNvbnRleHQKKyAqIEBzY2hlbWE6ICB0aGUgc2NoZW1hIGJlaW5nIGJ1aWx0CisgKiBAbm9kZTogIGEgc3VidHJlZSBjb250YWluaW5nIFhNTCBTY2hlbWEgaW5mb3JtYXRpb25zCisgKgorICogcGFyc2UgYSBYTUwgc2NoZW1hIENvbXBsZXhDb250ZW50IGRlZmluaXRpb24KKyAqICpXQVJOSU5HKiB0aGlzIGludGVyZmFjZSBpcyBoaWdobHkgc3ViamVjdCB0byBjaGFuZ2UKKyAqCisgKiBSZXR1cm5zIHRoZSB0eXBlIGRlZmluaXRpb24gb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3N0YXRpYyBpbnQKK3htbFNjaGVtYVBhcnNlQ29tcGxleENvbnRlbnQoeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBjdHh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxTY2hlbWFQdHIgc2NoZW1hLCB4bWxOb2RlUHRyIG5vZGUsCisJCQkgICAgIGludCAqaGFzUmVzdHJpY3Rpb25PckV4dGVuc2lvbikKK3sKKyAgICB4bWxTY2hlbWFUeXBlUHRyIHR5cGU7CisgICAgeG1sTm9kZVB0ciBjaGlsZCA9IE5VTEw7CisgICAgeG1sQXR0clB0ciBhdHRyOworCisgICAgaWYgKChjdHh0ID09IE5VTEwpIHx8IChzY2hlbWEgPT0gTlVMTCkgfHwgKG5vZGUgPT0gTlVMTCkgfHwKKwkoaGFzUmVzdHJpY3Rpb25PckV4dGVuc2lvbiA9PSBOVUxMKSkKKyAgICAgICAgcmV0dXJuICgtMSk7CisgICAgKmhhc1Jlc3RyaWN0aW9uT3JFeHRlbnNpb24gPSAwOworICAgIC8qIE5vdCBhIGNvbXBvbmVudCwgZG9uJ3QgY3JlYXRlIGl0LiAqLworICAgIHR5cGUgPSBjdHh0LT5jdHh0VHlwZTsKKyAgICAvKgorICAgICogQ2hlY2sgZm9yIGlsbGVnYWwgYXR0cmlidXRlcy4KKyAgICAqLworICAgIGF0dHIgPSBub2RlLT5wcm9wZXJ0aWVzOworICAgIHdoaWxlIChhdHRyICE9IE5VTEwpIHsKKwlpZiAoYXR0ci0+bnMgPT0gTlVMTCkgeworCSAgICBpZiAoKCF4bWxTdHJFcXVhbChhdHRyLT5uYW1lLCBCQURfQ0FTVCAiaWQiKSkgJiYKKwkJKCF4bWxTdHJFcXVhbChhdHRyLT5uYW1lLCBCQURfQ0FTVCAibWl4ZWQiKSkpCisJICAgIHsKKwkJeG1sU2NoZW1hUElsbGVnYWxBdHRyRXJyKGN0eHQsCisJCSAgICBYTUxfU0NIRU1BUF9TNFNfQVRUUl9OT1RfQUxMT1dFRCwgTlVMTCwgYXR0cik7CisJICAgIH0KKwl9IGVsc2UgaWYgKHhtbFN0ckVxdWFsKGF0dHItPm5zLT5ocmVmLCB4bWxTY2hlbWFOcykpIHsKKwkgICAgeG1sU2NoZW1hUElsbGVnYWxBdHRyRXJyKGN0eHQsCisJCVhNTF9TQ0hFTUFQX1M0U19BVFRSX05PVF9BTExPV0VELCBOVUxMLCBhdHRyKTsKKwl9CisJYXR0ciA9IGF0dHItPm5leHQ7CisgICAgfQorCisgICAgeG1sU2NoZW1hUFZhbEF0dHJJRChjdHh0LCBub2RlLCBCQURfQ0FTVCAiaWQiKTsKKworICAgIC8qCisgICAgKiBTZXQgdGhlICdtaXhlZCcgb24gdGhlIGNvbXBsZXggdHlwZSBhbmNlc3Rvci4KKyAgICAqLworICAgIGlmICh4bWxHZXRCb29sZWFuUHJvcChjdHh0LCBub2RlLCAibWl4ZWQiLCAwKSkgIHsKKwlpZiAoKHR5cGUtPmZsYWdzICYgWE1MX1NDSEVNQVNfVFlQRV9NSVhFRCkgPT0gMCkKKwkgICAgdHlwZS0+ZmxhZ3MgfD0gWE1MX1NDSEVNQVNfVFlQRV9NSVhFRDsKKyAgICB9CisgICAgY2hpbGQgPSBub2RlLT5jaGlsZHJlbjsKKyAgICBpZiAoSVNfU0NIRU1BKGNoaWxkLCAiYW5ub3RhdGlvbiIpKSB7CisJLyoKKwkqIEFkZCB0aGUgYW5ub3RhdGlvbiB0byB0aGUgY29tcGxleCB0eXBlIGFuY2VzdG9yLgorCSovCisJeG1sU2NoZW1hQWRkQW5ub3RhdGlvbigoeG1sU2NoZW1hQW5ub3RJdGVtUHRyKSB0eXBlLAorCSAgICB4bWxTY2hlbWFQYXJzZUFubm90YXRpb24oY3R4dCwgY2hpbGQsIDEpKTsKKyAgICAgICAgY2hpbGQgPSBjaGlsZC0+bmV4dDsKKyAgICB9CisgICAgaWYgKGNoaWxkID09IE5VTEwpIHsKKwl4bWxTY2hlbWFQQ29udGVudEVycihjdHh0LAorCSAgICBYTUxfU0NIRU1BUF9TNFNfRUxFTV9NSVNTSU5HLAorCSAgICBOVUxMLCBub2RlLCBOVUxMLAorCSAgICBOVUxMLCAiKGFubm90YXRpb24/LCAocmVzdHJpY3Rpb24gfCBleHRlbnNpb24pKSIpOworICAgIH0KKyAgICBpZiAoY2hpbGQgPT0gTlVMTCkgeworCXhtbFNjaGVtYVBDb250ZW50RXJyKGN0eHQsCisJICAgIFhNTF9TQ0hFTUFQX1M0U19FTEVNX01JU1NJTkcsCisJICAgIE5VTEwsIG5vZGUsIE5VTEwsCisJICAgIE5VTEwsICIoYW5ub3RhdGlvbj8sIChyZXN0cmljdGlvbiB8IGV4dGVuc2lvbikpIik7CisgICAgfQorICAgIGlmIChJU19TQ0hFTUEoY2hpbGQsICJyZXN0cmljdGlvbiIpKSB7CisgICAgICAgIHhtbFNjaGVtYVBhcnNlUmVzdHJpY3Rpb24oY3R4dCwgc2NoZW1hLCBjaGlsZCwKKwkgICAgWE1MX1NDSEVNQV9UWVBFX0NPTVBMRVhfQ09OVEVOVCk7CisJKCpoYXNSZXN0cmljdGlvbk9yRXh0ZW5zaW9uKSA9IDE7CisgICAgICAgIGNoaWxkID0gY2hpbGQtPm5leHQ7CisgICAgfSBlbHNlIGlmIChJU19TQ0hFTUEoY2hpbGQsICJleHRlbnNpb24iKSkgeworICAgICAgICB4bWxTY2hlbWFQYXJzZUV4dGVuc2lvbihjdHh0LCBzY2hlbWEsIGNoaWxkLAorCSAgICBYTUxfU0NIRU1BX1RZUEVfQ09NUExFWF9DT05URU5UKTsKKwkoKmhhc1Jlc3RyaWN0aW9uT3JFeHRlbnNpb24pID0gMTsKKyAgICAgICAgY2hpbGQgPSBjaGlsZC0+bmV4dDsKKyAgICB9CisgICAgaWYgKGNoaWxkICE9IE5VTEwpIHsKKwl4bWxTY2hlbWFQQ29udGVudEVycihjdHh0LAorCSAgICBYTUxfU0NIRU1BUF9TNFNfRUxFTV9OT1RfQUxMT1dFRCwKKwkgICAgTlVMTCwgbm9kZSwgY2hpbGQsCisJICAgIE5VTEwsICIoYW5ub3RhdGlvbj8sIChyZXN0cmljdGlvbiB8IGV4dGVuc2lvbikpIik7CisgICAgfQorICAgIHJldHVybiAoMCk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hUGFyc2VDb21wbGV4VHlwZToKKyAqIEBjdHh0OiAgYSBzY2hlbWEgdmFsaWRhdGlvbiBjb250ZXh0CisgKiBAc2NoZW1hOiAgdGhlIHNjaGVtYSBiZWluZyBidWlsdAorICogQG5vZGU6ICBhIHN1YnRyZWUgY29udGFpbmluZyBYTUwgU2NoZW1hIGluZm9ybWF0aW9ucworICoKKyAqIHBhcnNlIGEgWE1MIHNjaGVtYSBDb21wbGV4IFR5cGUgZGVmaW5pdGlvbgorICogKldBUk5JTkcqIHRoaXMgaW50ZXJmYWNlIGlzIGhpZ2hseSBzdWJqZWN0IHRvIGNoYW5nZQorICoKKyAqIFJldHVybnMgdGhlIHR5cGUgZGVmaW5pdGlvbiBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworc3RhdGljIHhtbFNjaGVtYVR5cGVQdHIKK3htbFNjaGVtYVBhcnNlQ29tcGxleFR5cGUoeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBjdHh0LCB4bWxTY2hlbWFQdHIgc2NoZW1hLAorICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxOb2RlUHRyIG5vZGUsIGludCB0b3BMZXZlbCkKK3sKKyAgICB4bWxTY2hlbWFUeXBlUHRyIHR5cGUsIGN0eHRUeXBlOworICAgIHhtbE5vZGVQdHIgY2hpbGQgPSBOVUxMOworICAgIGNvbnN0IHhtbENoYXIgKm5hbWUgPSBOVUxMOworICAgIHhtbEF0dHJQdHIgYXR0cjsKKyAgICBjb25zdCB4bWxDaGFyICphdHRyVmFsdWU7CisjaWZkZWYgRU5BQkxFX05BTUVEX0xPQ0FMUworICAgIGNoYXIgYnVmWzQwXTsKKyNlbmRpZgorICAgIGludCBmaW5hbCA9IDAsIGJsb2NrID0gMCwgaGFzUmVzdHJpY3Rpb25PckV4dGVuc2lvbiA9IDA7CisKKworICAgIGlmICgoY3R4dCA9PSBOVUxMKSB8fCAoc2NoZW1hID09IE5VTEwpIHx8IChub2RlID09IE5VTEwpKQorICAgICAgICByZXR1cm4gKE5VTEwpOworCisgICAgY3R4dFR5cGUgPSBjdHh0LT5jdHh0VHlwZTsKKworICAgIGlmICh0b3BMZXZlbCkgeworCWF0dHIgPSB4bWxTY2hlbWFHZXRQcm9wTm9kZShub2RlLCAibmFtZSIpOworCWlmIChhdHRyID09IE5VTEwpIHsKKwkgICAgeG1sU2NoZW1hUE1pc3NpbmdBdHRyRXJyKGN0eHQsCisJCVhNTF9TQ0hFTUFQX1M0U19BVFRSX01JU1NJTkcsIE5VTEwsIG5vZGUsICJuYW1lIiwgTlVMTCk7CisJICAgIHJldHVybiAoTlVMTCk7CisJfSBlbHNlIGlmICh4bWxTY2hlbWFQVmFsQXR0ck5vZGUoY3R4dCwgTlVMTCwgYXR0ciwKKwkgICAgeG1sU2NoZW1hR2V0QnVpbHRJblR5cGUoWE1MX1NDSEVNQVNfTkNOQU1FKSwgJm5hbWUpICE9IDApIHsKKwkgICAgcmV0dXJuIChOVUxMKTsKKwl9CisgICAgfQorCisgICAgaWYgKHRvcExldmVsID09IDApIHsKKwkvKgorCSogUGFyc2UgYXMgbG9jYWwgY29tcGxleCB0eXBlIGRlZmluaXRpb24uCisJKi8KKyNpZmRlZiBFTkFCTEVfTkFNRURfTE9DQUxTCisgICAgICAgIHNucHJpbnRmKGJ1ZiwgMzksICIjQ1QlZCIsIGN0eHQtPmNvdW50ZXIrKyArIDEpOworCXR5cGUgPSB4bWxTY2hlbWFBZGRUeXBlKGN0eHQsIHNjaGVtYSwKKwkgICAgWE1MX1NDSEVNQV9UWVBFX0NPTVBMRVgsCisJICAgIHhtbERpY3RMb29rdXAoY3R4dC0+ZGljdCwgKGNvbnN0IHhtbENoYXIgKilidWYsIC0xKSwKKwkgICAgY3R4dC0+dGFyZ2V0TmFtZXNwYWNlLCBub2RlLCAwKTsKKyNlbHNlCisJdHlwZSA9IHhtbFNjaGVtYUFkZFR5cGUoY3R4dCwgc2NoZW1hLAorCSAgICBYTUxfU0NIRU1BX1RZUEVfQ09NUExFWCwKKwkgICAgTlVMTCwgY3R4dC0+dGFyZ2V0TmFtZXNwYWNlLCBub2RlLCAwKTsKKyNlbmRpZgorCWlmICh0eXBlID09IE5VTEwpCisJICAgIHJldHVybiAoTlVMTCk7CisJbmFtZSA9IHR5cGUtPm5hbWU7CisJdHlwZS0+bm9kZSA9IG5vZGU7CisJdHlwZS0+dHlwZSA9IFhNTF9TQ0hFTUFfVFlQRV9DT01QTEVYOworCS8qCisJKiBUT0RPOiBXZSBuZWVkIHRoZSB0YXJnZXQgbmFtZXNwYWNlLgorCSovCisgICAgfSBlbHNlIHsKKwkvKgorCSogUGFyc2UgYXMgZ2xvYmFsIGNvbXBsZXggdHlwZSBkZWZpbml0aW9uLgorCSovCisJdHlwZSA9IHhtbFNjaGVtYUFkZFR5cGUoY3R4dCwgc2NoZW1hLAorCSAgICBYTUxfU0NIRU1BX1RZUEVfQ09NUExFWCwKKwkgICAgbmFtZSwgY3R4dC0+dGFyZ2V0TmFtZXNwYWNlLCBub2RlLCAxKTsKKwlpZiAodHlwZSA9PSBOVUxMKQorCSAgICByZXR1cm4gKE5VTEwpOworCXR5cGUtPm5vZGUgPSBub2RlOworCXR5cGUtPnR5cGUgPSBYTUxfU0NIRU1BX1RZUEVfQ09NUExFWDsKKwl0eXBlLT5mbGFncyB8PSBYTUxfU0NIRU1BU19UWVBFX0dMT0JBTDsKKyAgICB9CisgICAgdHlwZS0+dGFyZ2V0TmFtZXNwYWNlID0gY3R4dC0+dGFyZ2V0TmFtZXNwYWNlOworICAgIC8qCisgICAgKiBIYW5kbGUgYXR0cmlidXRlcy4KKyAgICAqLworICAgIGF0dHIgPSBub2RlLT5wcm9wZXJ0aWVzOworICAgIHdoaWxlIChhdHRyICE9IE5VTEwpIHsKKwlpZiAoYXR0ci0+bnMgPT0gTlVMTCkgeworCSAgICBpZiAoeG1sU3RyRXF1YWwoYXR0ci0+bmFtZSwgQkFEX0NBU1QgImlkIikpIHsKKwkJLyoKKwkJKiBBdHRyaWJ1dGUgImlkIi4KKwkJKi8KKwkJeG1sU2NoZW1hUFZhbEF0dHJJRChjdHh0LCBub2RlLCBCQURfQ0FTVCAiaWQiKTsKKwkgICAgfSBlbHNlIGlmICh4bWxTdHJFcXVhbChhdHRyLT5uYW1lLCBCQURfQ0FTVCAibWl4ZWQiKSkgeworCQkvKgorCQkqIEF0dHJpYnV0ZSAibWl4ZWQiLgorCQkqLworCQlpZiAoeG1sU2NoZW1hUEdldEJvb2xOb2RlVmFsdWUoY3R4dCwKKwkJCU5VTEwsICh4bWxOb2RlUHRyKSBhdHRyKSkKKwkJICAgIHR5cGUtPmZsYWdzIHw9IFhNTF9TQ0hFTUFTX1RZUEVfTUlYRUQ7CisJICAgIH0gZWxzZSBpZiAodG9wTGV2ZWwpIHsKKwkJLyoKKwkJKiBBdHRyaWJ1dGVzIG9mIGdsb2JhbCBjb21wbGV4IHR5cGUgZGVmaW5pdGlvbnMuCisJCSovCisJCWlmICh4bWxTdHJFcXVhbChhdHRyLT5uYW1lLCBCQURfQ0FTVCAibmFtZSIpKSB7CisJCSAgICAvKiBQYXNzLiAqLworCQl9IGVsc2UgaWYgKHhtbFN0ckVxdWFsKGF0dHItPm5hbWUsIEJBRF9DQVNUICJhYnN0cmFjdCIpKSB7CisJCSAgICAvKgorCQkgICAgKiBBdHRyaWJ1dGUgImFic3RyYWN0Ii4KKwkJICAgICovCisJCSAgICBpZiAoeG1sU2NoZW1hUEdldEJvb2xOb2RlVmFsdWUoY3R4dCwKKwkJCSAgICBOVUxMLCAoeG1sTm9kZVB0cikgYXR0cikpCisJCQl0eXBlLT5mbGFncyB8PSBYTUxfU0NIRU1BU19UWVBFX0FCU1RSQUNUOworCQl9IGVsc2UgaWYgKHhtbFN0ckVxdWFsKGF0dHItPm5hbWUsIEJBRF9DQVNUICJmaW5hbCIpKSB7CisJCSAgICAvKgorCQkgICAgKiBBdHRyaWJ1dGUgImZpbmFsIi4KKwkJICAgICovCisJCSAgICBhdHRyVmFsdWUgPSB4bWxTY2hlbWFHZXROb2RlQ29udGVudChjdHh0LAorCQkJKHhtbE5vZGVQdHIpIGF0dHIpOworCQkgICAgaWYgKHhtbFNjaGVtYVBWYWxBdHRyQmxvY2tGaW5hbChhdHRyVmFsdWUsCisJCQkmKHR5cGUtPmZsYWdzKSwKKwkJCS0xLAorCQkJWE1MX1NDSEVNQVNfVFlQRV9GSU5BTF9FWFRFTlNJT04sCisJCQlYTUxfU0NIRU1BU19UWVBFX0ZJTkFMX1JFU1RSSUNUSU9OLAorCQkJLTEsIC0xLCAtMSkgIT0gMCkKKwkJICAgIHsKKwkJCXhtbFNjaGVtYVBTaW1wbGVUeXBlRXJyKGN0eHQsCisJCQkgICAgWE1MX1NDSEVNQVBfUzRTX0FUVFJfSU5WQUxJRF9WQUxVRSwKKwkJCSAgICBOVUxMLCAoeG1sTm9kZVB0cikgYXR0ciwgTlVMTCwKKwkJCSAgICAiKCNhbGwgfCBMaXN0IG9mIChleHRlbnNpb24gfCByZXN0cmljdGlvbikpIiwKKwkJCSAgICBhdHRyVmFsdWUsIE5VTEwsIE5VTEwsIE5VTEwpOworCQkgICAgfSBlbHNlCisJCQlmaW5hbCA9IDE7CisJCX0gZWxzZSBpZiAoeG1sU3RyRXF1YWwoYXR0ci0+bmFtZSwgQkFEX0NBU1QgImJsb2NrIikpIHsKKwkJICAgIC8qCisJCSAgICAqIEF0dHJpYnV0ZSAiYmxvY2siLgorCQkgICAgKi8KKwkJICAgIGF0dHJWYWx1ZSA9IHhtbFNjaGVtYUdldE5vZGVDb250ZW50KGN0eHQsCisJCQkoeG1sTm9kZVB0cikgYXR0cik7CisJCSAgICBpZiAoeG1sU2NoZW1hUFZhbEF0dHJCbG9ja0ZpbmFsKGF0dHJWYWx1ZSwgJih0eXBlLT5mbGFncyksCisJCQktMSwKKwkJCVhNTF9TQ0hFTUFTX1RZUEVfQkxPQ0tfRVhURU5TSU9OLAorCQkJWE1MX1NDSEVNQVNfVFlQRV9CTE9DS19SRVNUUklDVElPTiwKKwkJCS0xLCAtMSwgLTEpICE9IDApIHsKKwkJCXhtbFNjaGVtYVBTaW1wbGVUeXBlRXJyKGN0eHQsCisJCQkgICAgWE1MX1NDSEVNQVBfUzRTX0FUVFJfSU5WQUxJRF9WQUxVRSwKKwkJCSAgICBOVUxMLCAoeG1sTm9kZVB0cikgYXR0ciwgTlVMTCwKKwkJCSAgICAiKCNhbGwgfCBMaXN0IG9mIChleHRlbnNpb24gfCByZXN0cmljdGlvbikpICIsCisJCQkgICAgYXR0clZhbHVlLCBOVUxMLCBOVUxMLCBOVUxMKTsKKwkJICAgIH0gZWxzZQorCQkJYmxvY2sgPSAxOworCQl9IGVsc2UgeworCQkJeG1sU2NoZW1hUElsbGVnYWxBdHRyRXJyKGN0eHQsCisJCQkgICAgWE1MX1NDSEVNQVBfUzRTX0FUVFJfTk9UX0FMTE9XRUQsIE5VTEwsIGF0dHIpOworCQl9CisJICAgIH0gZWxzZSB7CisJCXhtbFNjaGVtYVBJbGxlZ2FsQXR0ckVycihjdHh0LAorCQkgICAgWE1MX1NDSEVNQVBfUzRTX0FUVFJfTk9UX0FMTE9XRUQsIE5VTEwsIGF0dHIpOworCSAgICB9CisJfSBlbHNlIGlmICh4bWxTdHJFcXVhbChhdHRyLT5ucy0+aHJlZiwgeG1sU2NoZW1hTnMpKSB7CisJICAgIHhtbFNjaGVtYVBJbGxlZ2FsQXR0ckVycihjdHh0LAorCQlYTUxfU0NIRU1BUF9TNFNfQVRUUl9OT1RfQUxMT1dFRCwgTlVMTCwgYXR0cik7CisJfQorCWF0dHIgPSBhdHRyLT5uZXh0OworICAgIH0KKyAgICBpZiAoISBibG9jaykgeworCS8qCisJKiBBcHBseSBkZWZhdWx0ICJibG9jayIgdmFsdWVzLgorCSovCisJaWYgKHNjaGVtYS0+ZmxhZ3MgJiBYTUxfU0NIRU1BU19CTE9DS19ERUZBVUxUX1JFU1RSSUNUSU9OKQorCSAgICB0eXBlLT5mbGFncyB8PSBYTUxfU0NIRU1BU19UWVBFX0JMT0NLX1JFU1RSSUNUSU9OOworCWlmIChzY2hlbWEtPmZsYWdzICYgWE1MX1NDSEVNQVNfQkxPQ0tfREVGQVVMVF9FWFRFTlNJT04pCisJICAgIHR5cGUtPmZsYWdzIHw9IFhNTF9TQ0hFTUFTX1RZUEVfQkxPQ0tfRVhURU5TSU9OOworICAgIH0KKyAgICBpZiAoISBmaW5hbCkgeworCS8qCisJKiBBcHBseSBkZWZhdWx0ICJibG9jayIgdmFsdWVzLgorCSovCisJaWYgKHNjaGVtYS0+ZmxhZ3MgJiBYTUxfU0NIRU1BU19GSU5BTF9ERUZBVUxUX1JFU1RSSUNUSU9OKQorCSAgICB0eXBlLT5mbGFncyB8PSBYTUxfU0NIRU1BU19UWVBFX0ZJTkFMX1JFU1RSSUNUSU9OOworCWlmIChzY2hlbWEtPmZsYWdzICYgWE1MX1NDSEVNQVNfRklOQUxfREVGQVVMVF9FWFRFTlNJT04pCisJICAgIHR5cGUtPmZsYWdzIHw9IFhNTF9TQ0hFTUFTX1RZUEVfRklOQUxfRVhURU5TSU9OOworICAgIH0KKyAgICAvKgorICAgICogQW5kIG5vdyBmb3IgdGhlIGNoaWxkcmVuLi4uCisgICAgKi8KKyAgICBjaGlsZCA9IG5vZGUtPmNoaWxkcmVuOworICAgIGlmIChJU19TQ0hFTUEoY2hpbGQsICJhbm5vdGF0aW9uIikpIHsKKyAgICAgICAgdHlwZS0+YW5ub3QgPSB4bWxTY2hlbWFQYXJzZUFubm90YXRpb24oY3R4dCwgY2hpbGQsIDEpOworICAgICAgICBjaGlsZCA9IGNoaWxkLT5uZXh0OworICAgIH0KKyAgICBjdHh0LT5jdHh0VHlwZSA9IHR5cGU7CisgICAgaWYgKElTX1NDSEVNQShjaGlsZCwgInNpbXBsZUNvbnRlbnQiKSkgeworCS8qCisJKiA8Y29tcGxleFR5cGU+PHNpbXBsZUNvbnRlbnQ+Li4uCisJKiAzLjQuMyA6IDIuMgorCSogU3BlY2lmeWluZyBtaXhlZD0ndHJ1ZScgd2hlbiB0aGUgPHNpbXBsZUNvbnRlbnQ+CisJKiBhbHRlcm5hdGl2ZSBpcyBjaG9zZW4gaGFzIG5vIGVmZmVjdAorCSovCisJaWYgKHR5cGUtPmZsYWdzICYgWE1MX1NDSEVNQVNfVFlQRV9NSVhFRCkKKwkgICAgdHlwZS0+ZmxhZ3MgXj0gWE1MX1NDSEVNQVNfVFlQRV9NSVhFRDsKKyAgICAgICAgeG1sU2NoZW1hUGFyc2VTaW1wbGVDb250ZW50KGN0eHQsIHNjaGVtYSwgY2hpbGQsCisJICAgICZoYXNSZXN0cmljdGlvbk9yRXh0ZW5zaW9uKTsKKyAgICAgICAgY2hpbGQgPSBjaGlsZC0+bmV4dDsKKyAgICB9IGVsc2UgaWYgKElTX1NDSEVNQShjaGlsZCwgImNvbXBsZXhDb250ZW50IikpIHsKKwkvKgorCSogPGNvbXBsZXhUeXBlPjxjb21wbGV4Q29udGVudD4uLi4KKwkqLworCXR5cGUtPmNvbnRlbnRUeXBlID0gWE1MX1NDSEVNQV9DT05URU5UX0VNUFRZOworICAgICAgICB4bWxTY2hlbWFQYXJzZUNvbXBsZXhDb250ZW50KGN0eHQsIHNjaGVtYSwgY2hpbGQsCisJICAgICZoYXNSZXN0cmljdGlvbk9yRXh0ZW5zaW9uKTsKKyAgICAgICAgY2hpbGQgPSBjaGlsZC0+bmV4dDsKKyAgICB9IGVsc2UgeworCS8qCisJKiBFLmcgPGNvbXBsZXhUeXBlPjxzZXF1ZW5jZT4uLi4gb3IgPGNvbXBsZXhUeXBlPjxhdHRyaWJ1dGU+Li4uIGV0Yy4KKwkqCisJKiBTUEVDCisJKiAiLi4udGhlIHRoaXJkIGFsdGVybmF0aXZlIChuZWl0aGVyIDxzaW1wbGVDb250ZW50PiBub3IKKwkqIDxjb21wbGV4Q29udGVudD4pIGlzIGNob3Nlbi4gVGhpcyBjYXNlIGlzIHVuZGVyc3Rvb2QgYXMgc2hvcnRoYW5kCisJKiBmb3IgY29tcGxleCBjb250ZW50IHJlc3RyaWN0aW5nIHRoZSBgdXItdHlwZSBkZWZpbml0aW9uYCwgYW5kIHRoZQorCSogZGV0YWlscyBvZiB0aGUgbWFwcGluZ3Mgc2hvdWxkIGJlIG1vZGlmaWVkIGFzIG5lY2Vzc2FyeS4KKwkqLworCXR5cGUtPmJhc2VUeXBlID0geG1sU2NoZW1hR2V0QnVpbHRJblR5cGUoWE1MX1NDSEVNQVNfQU5ZVFlQRSk7CisJdHlwZS0+ZmxhZ3MgfD0gWE1MX1NDSEVNQVNfVFlQRV9ERVJJVkFUSU9OX01FVEhPRF9SRVNUUklDVElPTjsKKwkvKgorCSogUGFyc2UgbW9kZWwgZ3JvdXBzLgorCSovCisgICAgICAgIGlmIChJU19TQ0hFTUEoY2hpbGQsICJhbGwiKSkgeworICAgICAgICAgICAgdHlwZS0+c3VidHlwZXMgPSAoeG1sU2NoZW1hVHlwZVB0cikKKwkJeG1sU2NoZW1hUGFyc2VNb2RlbEdyb3VwKGN0eHQsIHNjaGVtYSwgY2hpbGQsCisJCSAgICBYTUxfU0NIRU1BX1RZUEVfQUxMLCAxKTsKKyAgICAgICAgICAgIGNoaWxkID0gY2hpbGQtPm5leHQ7CisgICAgICAgIH0gZWxzZSBpZiAoSVNfU0NIRU1BKGNoaWxkLCAiY2hvaWNlIikpIHsKKyAgICAgICAgICAgIHR5cGUtPnN1YnR5cGVzID0gKHhtbFNjaGVtYVR5cGVQdHIpCisJCXhtbFNjaGVtYVBhcnNlTW9kZWxHcm91cChjdHh0LCBzY2hlbWEsIGNoaWxkLAorCQkgICAgWE1MX1NDSEVNQV9UWVBFX0NIT0lDRSwgMSk7CisgICAgICAgICAgICBjaGlsZCA9IGNoaWxkLT5uZXh0OworICAgICAgICB9IGVsc2UgaWYgKElTX1NDSEVNQShjaGlsZCwgInNlcXVlbmNlIikpIHsKKyAgICAgICAgICAgIHR5cGUtPnN1YnR5cGVzID0gKHhtbFNjaGVtYVR5cGVQdHIpCisJCXhtbFNjaGVtYVBhcnNlTW9kZWxHcm91cChjdHh0LCBzY2hlbWEsIGNoaWxkLAorCQkgICAgWE1MX1NDSEVNQV9UWVBFX1NFUVVFTkNFLCAxKTsKKyAgICAgICAgICAgIGNoaWxkID0gY2hpbGQtPm5leHQ7CisgICAgICAgIH0gZWxzZSBpZiAoSVNfU0NIRU1BKGNoaWxkLCAiZ3JvdXAiKSkgeworICAgICAgICAgICAgdHlwZS0+c3VidHlwZXMgPSAoeG1sU2NoZW1hVHlwZVB0cikKKwkJeG1sU2NoZW1hUGFyc2VNb2RlbEdyb3VwRGVmUmVmKGN0eHQsIHNjaGVtYSwgY2hpbGQpOworCSAgICAvKgorCSAgICAqIE5vdGUgdGhhdCB0aGUgcmVmZXJlbmNlIHdpbGwgYmUgcmVzb2x2ZWQgaW4KKwkgICAgKiB4bWxTY2hlbWFSZXNvbHZlVHlwZVJlZmVyZW5jZXMoKTsKKwkgICAgKi8KKyAgICAgICAgICAgIGNoaWxkID0gY2hpbGQtPm5leHQ7CisgICAgICAgIH0KKwkvKgorCSogUGFyc2UgYXR0cmlidXRlIGRlY2xzL3JlZnMuCisJKi8KKyAgICAgICAgaWYgKHhtbFNjaGVtYVBhcnNlTG9jYWxBdHRyaWJ1dGVzKGN0eHQsIHNjaGVtYSwgJmNoaWxkLAorCSAgICAoeG1sU2NoZW1hSXRlbUxpc3RQdHIgKikgJih0eXBlLT5hdHRyVXNlcyksCisJICAgIFhNTF9TQ0hFTUFfVFlQRV9SRVNUUklDVElPTiwgTlVMTCkgPT0gLTEpCisJICAgIHJldHVybihOVUxMKTsKKwkvKgorCSogUGFyc2UgYXR0cmlidXRlIHdpbGRjYXJkLgorCSovCisJaWYgKElTX1NDSEVNQShjaGlsZCwgImFueUF0dHJpYnV0ZSIpKSB7CisJICAgIHR5cGUtPmF0dHJpYnV0ZVdpbGRjYXJkID0geG1sU2NoZW1hUGFyc2VBbnlBdHRyaWJ1dGUoY3R4dCwgc2NoZW1hLCBjaGlsZCk7CisJICAgIGNoaWxkID0gY2hpbGQtPm5leHQ7CisJfQorICAgIH0KKyAgICBpZiAoY2hpbGQgIT0gTlVMTCkgeworCXhtbFNjaGVtYVBDb250ZW50RXJyKGN0eHQsCisJICAgIFhNTF9TQ0hFTUFQX1M0U19FTEVNX05PVF9BTExPV0VELAorCSAgICBOVUxMLCBub2RlLCBjaGlsZCwKKwkgICAgTlVMTCwgIihhbm5vdGF0aW9uPywgKHNpbXBsZUNvbnRlbnQgfCBjb21wbGV4Q29udGVudCB8ICIKKwkgICAgIigoZ3JvdXAgfCBhbGwgfCBjaG9pY2UgfCBzZXF1ZW5jZSk/LCAoKGF0dHJpYnV0ZSB8ICIKKwkgICAgImF0dHJpYnV0ZUdyb3VwKSosIGFueUF0dHJpYnV0ZT8pKSkpIik7CisgICAgfQorICAgIC8qCisgICAgKiBSRURFRklORTogU1BFQyBzcmMtcmVkZWZpbmUgKDUpCisgICAgKi8KKyAgICBpZiAodG9wTGV2ZWwgJiYgY3R4dC0+aXNSZWRlZmluZSAmJiAoISBoYXNSZXN0cmljdGlvbk9yRXh0ZW5zaW9uKSkgeworCXhtbFNjaGVtYVBDdXN0b21FcnIoY3R4dCwgWE1MX1NDSEVNQVBfU1JDX1JFREVGSU5FLAorCSAgICBOVUxMLCBub2RlLCAiVGhpcyBpcyBhIHJlZGVmaW5pdGlvbiwgdGh1cyB0aGUgIgorCSAgICAiPGNvbXBsZXhUeXBlPiBtdXN0IGhhdmUgYSA8cmVzdHJpY3Rpb24+IG9yIDxleHRlbnNpb24+ICIKKwkgICAgImdyYW5kLWNoaWxkIiwgTlVMTCk7CisgICAgfQorICAgIGN0eHQtPmN0eHRUeXBlID0gY3R4dFR5cGU7CisgICAgcmV0dXJuICh0eXBlKTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJCVZhbGlkYXRpbmcgdXNpbmcgU2NoZW1hcwkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJCVJlYWRpbmcvV3JpdGluZyBTY2hlbWFzCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmIDAgLyogV2lsbCBiZSBlbmFibGVkIGlmIGl0IGlzIGNsZWFyIHdoYXQgb3B0aW9ucyBhcmUgbmVlZGVkLiAqLworLyoqCisgKiB4bWxTY2hlbWFQYXJzZXJDdHh0U2V0T3B0aW9uczoKKyAqIEBjdHh0OglhIHNjaGVtYSBwYXJzZXIgY29udGV4dAorICogQG9wdGlvbnM6IGEgY29tYmluYXRpb24gb2YgeG1sU2NoZW1hUGFyc2VyT3B0aW9uCisgKgorICogU2V0cyB0aGUgb3B0aW9ucyB0byBiZSB1c2VkIGR1cmluZyB0aGUgcGFyc2UuCisgKgorICogUmV0dXJucyAwIGluIGNhc2Ugb2Ygc3VjY2VzcywgLTEgaW4gY2FzZSBvZiBhbgorICogQVBJIGVycm9yLgorICovCitzdGF0aWMgaW50Cit4bWxTY2hlbWFQYXJzZXJDdHh0U2V0T3B0aW9ucyh4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIGN0eHQsCisJCQkgICAgICBpbnQgb3B0aW9ucykKKworeworICAgIGludCBpOworCisgICAgaWYgKGN0eHQgPT0gTlVMTCkKKwlyZXR1cm4gKC0xKTsKKyAgICAvKgorICAgICogV0FSTklORzogQ2hhbmdlIHRoZSBzdGFydCB2YWx1ZSBpZiBhZGRpbmcgdG8gdGhlCisgICAgKiB4bWxTY2hlbWFQYXJzZU9wdGlvbi4KKyAgICAqLworICAgIGZvciAoaSA9IDE7IGkgPCAoaW50KSBzaXplb2YoaW50KSAqIDg7IGkrKykgeworICAgICAgICBpZiAob3B0aW9ucyAmIDE8PGkpIHsKKwkgICAgcmV0dXJuICgtMSk7CisgICAgICAgIH0KKyAgICB9CisgICAgY3R4dC0+b3B0aW9ucyA9IG9wdGlvbnM7CisgICAgcmV0dXJuICgwKTsKK30KKworLyoqCisgKiB4bWxTY2hlbWFWYWxpZEN0eHRHZXRPcHRpb25zOgorICogQGN0eHQ6IGEgc2NoZW1hIHBhcnNlciBjb250ZXh0CisgKgorICogUmV0dXJucyB0aGUgb3B0aW9uIGNvbWJpbmF0aW9uIG9mIHRoZSBwYXJzZXIgY29udGV4dC4KKyAqLworc3RhdGljIGludAoreG1sU2NoZW1hUGFyc2VyQ3R4dEdldE9wdGlvbnMoeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBjdHh0KQorCit7CisgICAgaWYgKGN0eHQgPT0gTlVMTCkKKwlyZXR1cm4gKC0xKTsKKyAgICBlbHNlCisJcmV0dXJuIChjdHh0LT5vcHRpb25zKTsKK30KKyNlbmRpZgorCisvKioKKyAqIHhtbFNjaGVtYU5ld1BhcnNlckN0eHQ6CisgKiBAVVJMOiAgdGhlIGxvY2F0aW9uIG9mIHRoZSBzY2hlbWEKKyAqCisgKiBDcmVhdGUgYW4gWE1MIFNjaGVtYXMgcGFyc2UgY29udGV4dCBmb3IgdGhhdCBmaWxlL3Jlc291cmNlIGV4cGVjdGVkCisgKiB0byBjb250YWluIGFuIFhNTCBTY2hlbWFzIGZpbGUuCisgKgorICogUmV0dXJucyB0aGUgcGFyc2VyIGNvbnRleHQgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3htbFNjaGVtYVBhcnNlckN0eHRQdHIKK3htbFNjaGVtYU5ld1BhcnNlckN0eHQoY29uc3QgY2hhciAqVVJMKQoreworICAgIHhtbFNjaGVtYVBhcnNlckN0eHRQdHIgcmV0OworCisgICAgaWYgKFVSTCA9PSBOVUxMKQorICAgICAgICByZXR1cm4gKE5VTEwpOworCisgICAgcmV0ID0geG1sU2NoZW1hUGFyc2VyQ3R4dENyZWF0ZSgpOworICAgIGlmIChyZXQgPT0gTlVMTCkKKwlyZXR1cm4oTlVMTCk7CisgICAgcmV0LT5kaWN0ID0geG1sRGljdENyZWF0ZSgpOworICAgIHJldC0+VVJMID0geG1sRGljdExvb2t1cChyZXQtPmRpY3QsIChjb25zdCB4bWxDaGFyICopIFVSTCwgLTEpOworICAgIHJldHVybiAocmV0KTsKK30KKworLyoqCisgKiB4bWxTY2hlbWFOZXdNZW1QYXJzZXJDdHh0OgorICogQGJ1ZmZlcjogIGEgcG9pbnRlciB0byBhIGNoYXIgYXJyYXkgY29udGFpbmluZyB0aGUgc2NoZW1hcworICogQHNpemU6ICB0aGUgc2l6ZSBvZiB0aGUgYXJyYXkKKyAqCisgKiBDcmVhdGUgYW4gWE1MIFNjaGVtYXMgcGFyc2UgY29udGV4dCBmb3IgdGhhdCBtZW1vcnkgYnVmZmVyIGV4cGVjdGVkCisgKiB0byBjb250YWluIGFuIFhNTCBTY2hlbWFzIGZpbGUuCisgKgorICogUmV0dXJucyB0aGUgcGFyc2VyIGNvbnRleHQgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3htbFNjaGVtYVBhcnNlckN0eHRQdHIKK3htbFNjaGVtYU5ld01lbVBhcnNlckN0eHQoY29uc3QgY2hhciAqYnVmZmVyLCBpbnQgc2l6ZSkKK3sKKyAgICB4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIHJldDsKKworICAgIGlmICgoYnVmZmVyID09IE5VTEwpIHx8IChzaXplIDw9IDApKQorICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIHJldCA9IHhtbFNjaGVtYVBhcnNlckN0eHRDcmVhdGUoKTsKKyAgICBpZiAocmV0ID09IE5VTEwpCisJcmV0dXJuKE5VTEwpOworICAgIHJldC0+YnVmZmVyID0gYnVmZmVyOworICAgIHJldC0+c2l6ZSA9IHNpemU7CisgICAgcmV0LT5kaWN0ID0geG1sRGljdENyZWF0ZSgpOworICAgIHJldHVybiAocmV0KTsKK30KKworLyoqCisgKiB4bWxTY2hlbWFOZXdEb2NQYXJzZXJDdHh0OgorICogQGRvYzogIGEgcHJlcGFyc2VkIGRvY3VtZW50IHRyZWUKKyAqCisgKiBDcmVhdGUgYW4gWE1MIFNjaGVtYXMgcGFyc2UgY29udGV4dCBmb3IgdGhhdCBkb2N1bWVudC4KKyAqIE5CLiBUaGUgZG9jdW1lbnQgbWF5IGJlIG1vZGlmaWVkIGR1cmluZyB0aGUgcGFyc2luZyBwcm9jZXNzLgorICoKKyAqIFJldHVybnMgdGhlIHBhcnNlciBjb250ZXh0IG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcgorICovCit4bWxTY2hlbWFQYXJzZXJDdHh0UHRyCit4bWxTY2hlbWFOZXdEb2NQYXJzZXJDdHh0KHhtbERvY1B0ciBkb2MpCit7CisgICAgeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciByZXQ7CisKKyAgICBpZiAoZG9jID09IE5VTEwpCisgICAgICByZXR1cm4gKE5VTEwpOworICAgIHJldCA9IHhtbFNjaGVtYVBhcnNlckN0eHRDcmVhdGUoKTsKKyAgICBpZiAocmV0ID09IE5VTEwpCisJcmV0dXJuKE5VTEwpOworICAgIHJldC0+ZG9jID0gZG9jOworICAgIHJldC0+ZGljdCA9IHhtbERpY3RDcmVhdGUoKTsKKyAgICAvKiBUaGUgYXBwbGljYXRpb24gaGFzIHJlc3BvbnNpYmlsaXR5IGZvciB0aGUgZG9jdW1lbnQgKi8KKyAgICByZXQtPnByZXNlcnZlID0gMTsKKworICAgIHJldHVybiAocmV0KTsKK30KKworLyoqCisgKiB4bWxTY2hlbWFGcmVlUGFyc2VyQ3R4dDoKKyAqIEBjdHh0OiAgdGhlIHNjaGVtYSBwYXJzZXIgY29udGV4dAorICoKKyAqIEZyZWUgdGhlIHJlc291cmNlcyBhc3NvY2lhdGVkIHRvIHRoZSBzY2hlbWEgcGFyc2VyIGNvbnRleHQKKyAqLwordm9pZAoreG1sU2NoZW1hRnJlZVBhcnNlckN0eHQoeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBjdHh0KQoreworICAgIGlmIChjdHh0ID09IE5VTEwpCisgICAgICAgIHJldHVybjsKKyAgICBpZiAoY3R4dC0+ZG9jICE9IE5VTEwgJiYgIWN0eHQtPnByZXNlcnZlKQorICAgICAgICB4bWxGcmVlRG9jKGN0eHQtPmRvYyk7CisgICAgaWYgKGN0eHQtPnZjdHh0ICE9IE5VTEwpIHsKKwl4bWxTY2hlbWFGcmVlVmFsaWRDdHh0KGN0eHQtPnZjdHh0KTsKKyAgICB9CisgICAgaWYgKGN0eHQtPm93bnNDb25zdHJ1Y3RvciAmJiAoY3R4dC0+Y29uc3RydWN0b3IgIT0gTlVMTCkpIHsKKwl4bWxTY2hlbWFDb25zdHJ1Y3Rpb25DdHh0RnJlZShjdHh0LT5jb25zdHJ1Y3Rvcik7CisJY3R4dC0+Y29uc3RydWN0b3IgPSBOVUxMOworCWN0eHQtPm93bnNDb25zdHJ1Y3RvciA9IDA7CisgICAgfQorICAgIGlmIChjdHh0LT5hdHRyUHJvaGlicyAhPSBOVUxMKQorCXhtbFNjaGVtYUl0ZW1MaXN0RnJlZShjdHh0LT5hdHRyUHJvaGlicyk7CisgICAgeG1sRGljdEZyZWUoY3R4dC0+ZGljdCk7CisgICAgeG1sRnJlZShjdHh0KTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJCUJ1aWxkaW5nIHRoZSBjb250ZW50IG1vZGVscwkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqCisgKiB4bWxTY2hlbWFCdWlsZENvbnRlbnRNb2RlbEZvclN1YnN0R3JvdXA6CisgKgorICogUmV0dXJucyAxIGlmIG5pbGxhYmxlLCAwIG90aGVyd2lzZQorICovCitzdGF0aWMgaW50Cit4bWxTY2hlbWFCdWlsZENvbnRlbnRNb2RlbEZvclN1YnN0R3JvdXAoeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBwY3R4dCwKKwl4bWxTY2hlbWFQYXJ0aWNsZVB0ciBwYXJ0aWNsZSwgaW50IGNvdW50ZXIsIHhtbEF1dG9tYXRhU3RhdGVQdHIgZW5kKQoreworICAgIHhtbEF1dG9tYXRhU3RhdGVQdHIgc3RhcnQsIHRtcDsKKyAgICB4bWxTY2hlbWFFbGVtZW50UHRyIGVsZW1EZWNsLCBtZW1iZXI7CisgICAgeG1sU2NoZW1hU3Vic3RHcm91cFB0ciBzdWJzdEdyb3VwOworICAgIGludCBpOworICAgIGludCByZXQgPSAwOworCisgICAgZWxlbURlY2wgPSAoeG1sU2NoZW1hRWxlbWVudFB0cikgcGFydGljbGUtPmNoaWxkcmVuOworICAgIC8qCisgICAgKiBXcmFwIHRoZSBzdWJzdGl0dXRpb24gZ3JvdXAgd2l0aCBhIENIT0lDRS4KKyAgICAqLworICAgIHN0YXJ0ID0gcGN0eHQtPnN0YXRlOworICAgIGlmIChlbmQgPT0gTlVMTCkKKwllbmQgPSB4bWxBdXRvbWF0YU5ld1N0YXRlKHBjdHh0LT5hbSk7CisgICAgc3Vic3RHcm91cCA9IHhtbFNjaGVtYVN1YnN0R3JvdXBHZXQocGN0eHQsIGVsZW1EZWNsKTsKKyAgICBpZiAoc3Vic3RHcm91cCA9PSBOVUxMKSB7CisJeG1sU2NoZW1hUEVycihwY3R4dCwgV1hTX0lURU1fTk9ERShwYXJ0aWNsZSksCisJICAgIFhNTF9TQ0hFTUFQX0lOVEVSTkFMLAorCSAgICAiSW50ZXJuYWwgZXJyb3I6IHhtbFNjaGVtYUJ1aWxkQ29udGVudE1vZGVsRm9yU3Vic3RHcm91cCwgIgorCSAgICAiZGVjbGFyYXRpb24gaXMgbWFya2VkIGhhdmluZyBhIHN1YnN0LiBncm91cCBidXQgbm9uZSAiCisJICAgICJhdmFpbGFibGUuXG4iLCBlbGVtRGVjbC0+bmFtZSwgTlVMTCk7CisJcmV0dXJuKDApOworICAgIH0KKyAgICBpZiAoY291bnRlciA+PSAwKSB7CisJLyoKKwkqIE5PVEUgdGhhdCB3ZSBwdXQgdGhlIGRlY2xhcmF0aW9uIGluLCBldmVuIGlmIGl0J3MgYWJzdHJhY3QuCisJKiBIb3dldmVyLCBhbiBlcnJvciB3aWxsIGJlIHJhaXNlZCBkdXJpbmcgKnZhbGlkYXRpb24qIGlmIGFuIGVsZW1lbnQKKwkqIGluZm9ybWF0aW9uIGl0ZW0gc2hhbGwgYmUgdmFsaWRhdGVkIGFnYWluc3QgYW4gYWJzdHJhY3QgZWxlbWVudAorCSogZGVjbGFyYXRpb24uCisJKi8KKwl0bXAgPSB4bWxBdXRvbWF0YU5ld0NvdW50ZWRUcmFucyhwY3R4dC0+YW0sIHN0YXJ0LCBOVUxMLCBjb3VudGVyKTsKKyAgICAgICAgeG1sQXV0b21hdGFOZXdUcmFuc2l0aW9uMihwY3R4dC0+YW0sIHRtcCwgZW5kLAorCSAgICAgICAgICAgIGVsZW1EZWNsLT5uYW1lLCBlbGVtRGVjbC0+dGFyZ2V0TmFtZXNwYWNlLCBlbGVtRGVjbCk7CisJLyoKKwkqIEFkZCBzdWJzdC4gZ3JvdXAgbWVtYmVycy4KKwkqLworCWZvciAoaSA9IDA7IGkgPCBzdWJzdEdyb3VwLT5tZW1iZXJzLT5uYkl0ZW1zOyBpKyspIHsKKwkgICAgbWVtYmVyID0gKHhtbFNjaGVtYUVsZW1lbnRQdHIpIHN1YnN0R3JvdXAtPm1lbWJlcnMtPml0ZW1zW2ldOworICAgICAgICAgICAgeG1sQXV0b21hdGFOZXdUcmFuc2l0aW9uMihwY3R4dC0+YW0sIHRtcCwgZW5kLAorCQkgICAgICAgICAgICAgICBtZW1iZXItPm5hbWUsIG1lbWJlci0+dGFyZ2V0TmFtZXNwYWNlLCBtZW1iZXIpOworCX0KKyAgICB9IGVsc2UgaWYgKHBhcnRpY2xlLT5tYXhPY2N1cnMgPT0gMSkgeworCS8qCisJKiBOT1RFIHRoYXQgd2UgcHV0IHRoZSBkZWNsYXJhdGlvbiBpbiwgZXZlbiBpZiBpdCdzIGFic3RyYWN0LAorCSovCisJeG1sQXV0b21hdGFOZXdFcHNpbG9uKHBjdHh0LT5hbSwKKwkgICAgeG1sQXV0b21hdGFOZXdUcmFuc2l0aW9uMihwY3R4dC0+YW0sCisJICAgIHN0YXJ0LCBOVUxMLAorCSAgICBlbGVtRGVjbC0+bmFtZSwgZWxlbURlY2wtPnRhcmdldE5hbWVzcGFjZSwgZWxlbURlY2wpLCBlbmQpOworCS8qCisJKiBBZGQgc3Vic3QuIGdyb3VwIG1lbWJlcnMuCisJKi8KKwlmb3IgKGkgPSAwOyBpIDwgc3Vic3RHcm91cC0+bWVtYmVycy0+bmJJdGVtczsgaSsrKSB7CisJICAgIG1lbWJlciA9ICh4bWxTY2hlbWFFbGVtZW50UHRyKSBzdWJzdEdyb3VwLT5tZW1iZXJzLT5pdGVtc1tpXTsKKwkgICAgLyoKKwkgICAgKiBOT1RFOiBUaGlzIGZpeGVzIGJ1ZyAjMzQxMTUwLiB4bWxBdXRvbWF0YU5ld09uY2VUcmFuczIoKQorCSAgICAqICB3YXMgaW5jb3JyZWN0bHkgdXNlZCBpbnN0ZWFkIG9mIHhtbEF1dG9tYXRhTmV3VHJhbnNpdGlvbjIoKQorCSAgICAqICAoc2VlbXMgbGlrZSBhIGNvcHkmcGFzdGUgYnVnIGZyb20gdGhlIFhNTF9TQ0hFTUFfVFlQRV9BTEwKKwkgICAgKiAgc2VjdGlvbiBpbiB4bWxTY2hlbWFCdWlsZEFDb250ZW50TW9kZWwoKSApLgorCSAgICAqIFRPRE86IENoZWNrIGlmIHhtbEF1dG9tYXRhTmV3T25jZVRyYW5zMigpIHdhcyBpbnN0ZWFkCisJICAgICogIGludGVuZGVkIGZvciB0aGUgYWJvdmUgImNvdW50ZXIiIHNlY3Rpb24gb3JpZ2luYWxseS4gSS5lLiwKKwkgICAgKiAgY2hlY2sgeHM6YWxsIHdpdGggc3Vic3QtZ3JvdXBzLgorCSAgICAqCisJICAgICogdG1wID0geG1sQXV0b21hdGFOZXdPbmNlVHJhbnMyKHBjdHh0LT5hbSwgc3RhcnQsIE5VTEwsCisJICAgICoJICAgICAgICAgICAgICAgbWVtYmVyLT5uYW1lLCBtZW1iZXItPnRhcmdldE5hbWVzcGFjZSwKKwkgICAgKgkJICAgICAgIDEsIDEsIG1lbWJlcik7CisJICAgICovCisJICAgIHRtcCA9IHhtbEF1dG9tYXRhTmV3VHJhbnNpdGlvbjIocGN0eHQtPmFtLCBzdGFydCwgTlVMTCwKKwkJbWVtYmVyLT5uYW1lLCBtZW1iZXItPnRhcmdldE5hbWVzcGFjZSwgbWVtYmVyKTsKKwkgICAgeG1sQXV0b21hdGFOZXdFcHNpbG9uKHBjdHh0LT5hbSwgdG1wLCBlbmQpOworCX0KKyAgICB9IGVsc2UgeworCXhtbEF1dG9tYXRhU3RhdGVQdHIgaG9wOworCWludCBtYXhPY2N1cnMgPSBwYXJ0aWNsZS0+bWF4T2NjdXJzID09IFVOQk9VTkRFRCA/CisJICAgIFVOQk9VTkRFRCA6IHBhcnRpY2xlLT5tYXhPY2N1cnMgLSAxOworCWludCBtaW5PY2N1cnMgPSBwYXJ0aWNsZS0+bWluT2NjdXJzIDwgMSA/IDAgOiBwYXJ0aWNsZS0+bWluT2NjdXJzIC0gMTsKKworCWNvdW50ZXIgPQorCSAgICB4bWxBdXRvbWF0YU5ld0NvdW50ZXIocGN0eHQtPmFtLCBtaW5PY2N1cnMsCisJICAgIG1heE9jY3Vycyk7CisJaG9wID0geG1sQXV0b21hdGFOZXdTdGF0ZShwY3R4dC0+YW0pOworCisJeG1sQXV0b21hdGFOZXdFcHNpbG9uKHBjdHh0LT5hbSwKKwkgICAgeG1sQXV0b21hdGFOZXdUcmFuc2l0aW9uMihwY3R4dC0+YW0sCisJICAgIHN0YXJ0LCBOVUxMLAorCSAgICBlbGVtRGVjbC0+bmFtZSwgZWxlbURlY2wtPnRhcmdldE5hbWVzcGFjZSwgZWxlbURlY2wpLAorCSAgICBob3ApOworCS8qCisJICogQWRkIHN1YnN0LiBncm91cCBtZW1iZXJzLgorCSAqLworCWZvciAoaSA9IDA7IGkgPCBzdWJzdEdyb3VwLT5tZW1iZXJzLT5uYkl0ZW1zOyBpKyspIHsKKwkgICAgbWVtYmVyID0gKHhtbFNjaGVtYUVsZW1lbnRQdHIpIHN1YnN0R3JvdXAtPm1lbWJlcnMtPml0ZW1zW2ldOworCSAgICB4bWxBdXRvbWF0YU5ld0Vwc2lsb24ocGN0eHQtPmFtLAorCQl4bWxBdXRvbWF0YU5ld1RyYW5zaXRpb24yKHBjdHh0LT5hbSwKKwkJc3RhcnQsIE5VTEwsCisJCW1lbWJlci0+bmFtZSwgbWVtYmVyLT50YXJnZXROYW1lc3BhY2UsIG1lbWJlciksCisJCWhvcCk7CisJfQorCXhtbEF1dG9tYXRhTmV3Q291bnRlZFRyYW5zKHBjdHh0LT5hbSwgaG9wLCBzdGFydCwgY291bnRlcik7CisJeG1sQXV0b21hdGFOZXdDb3VudGVyVHJhbnMocGN0eHQtPmFtLCBob3AsIGVuZCwgY291bnRlcik7CisgICAgfQorICAgIGlmIChwYXJ0aWNsZS0+bWluT2NjdXJzID09IDApIHsKKwl4bWxBdXRvbWF0YU5ld0Vwc2lsb24ocGN0eHQtPmFtLCBzdGFydCwgZW5kKTsKKyAgICAgICAgcmV0ID0gMTsKKyAgICB9CisgICAgcGN0eHQtPnN0YXRlID0gZW5kOworICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbFNjaGVtYUJ1aWxkQ29udGVudE1vZGVsRm9yRWxlbWVudDoKKyAqCisgKiBSZXR1cm5zIDEgaWYgbmlsbGFibGUsIDAgb3RoZXJ3aXNlCisgKi8KK3N0YXRpYyBpbnQKK3htbFNjaGVtYUJ1aWxkQ29udGVudE1vZGVsRm9yRWxlbWVudCh4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIGN0eHQsCisJCQkJICAgICB4bWxTY2hlbWFQYXJ0aWNsZVB0ciBwYXJ0aWNsZSkKK3sKKyAgICBpbnQgcmV0ID0gMDsKKworICAgIGlmICgoKHhtbFNjaGVtYUVsZW1lbnRQdHIpIHBhcnRpY2xlLT5jaGlsZHJlbiktPmZsYWdzICYKKwlYTUxfU0NIRU1BU19FTEVNX1NVQlNUX0dST1VQX0hFQUQpIHsKKwkvKgorCSogU3Vic3RpdHV0aW9uIGdyb3Vwcy4KKwkqLworCXJldCA9IHhtbFNjaGVtYUJ1aWxkQ29udGVudE1vZGVsRm9yU3Vic3RHcm91cChjdHh0LCBwYXJ0aWNsZSwgLTEsIE5VTEwpOworICAgIH0gZWxzZSB7CisJeG1sU2NoZW1hRWxlbWVudFB0ciBlbGVtRGVjbDsKKwl4bWxBdXRvbWF0YVN0YXRlUHRyIHN0YXJ0OworCisJZWxlbURlY2wgPSAoeG1sU2NoZW1hRWxlbWVudFB0cikgcGFydGljbGUtPmNoaWxkcmVuOworCisJaWYgKGVsZW1EZWNsLT5mbGFncyAmIFhNTF9TQ0hFTUFTX0VMRU1fQUJTVFJBQ1QpCisJICAgIHJldHVybigwKTsKKwlpZiAocGFydGljbGUtPm1heE9jY3VycyA9PSAxKSB7CisJICAgIHN0YXJ0ID0gY3R4dC0+c3RhdGU7CisJICAgIGN0eHQtPnN0YXRlID0geG1sQXV0b21hdGFOZXdUcmFuc2l0aW9uMihjdHh0LT5hbSwgc3RhcnQsIE5VTEwsCisJCSAgICBlbGVtRGVjbC0+bmFtZSwgZWxlbURlY2wtPnRhcmdldE5hbWVzcGFjZSwgZWxlbURlY2wpOworCX0gZWxzZSBpZiAoKHBhcnRpY2xlLT5tYXhPY2N1cnMgPj0gVU5CT1VOREVEKSAmJgorCSAgICAgICAgICAgKHBhcnRpY2xlLT5taW5PY2N1cnMgPCAyKSkgeworCSAgICAvKiBTcGVjaWFsIGNhc2UuICovCisJICAgIHN0YXJ0ID0gY3R4dC0+c3RhdGU7CisJICAgIGN0eHQtPnN0YXRlID0geG1sQXV0b21hdGFOZXdUcmFuc2l0aW9uMihjdHh0LT5hbSwgc3RhcnQsIE5VTEwsCisJCWVsZW1EZWNsLT5uYW1lLCBlbGVtRGVjbC0+dGFyZ2V0TmFtZXNwYWNlLCBlbGVtRGVjbCk7CisJICAgIGN0eHQtPnN0YXRlID0geG1sQXV0b21hdGFOZXdUcmFuc2l0aW9uMihjdHh0LT5hbSwgY3R4dC0+c3RhdGUsIGN0eHQtPnN0YXRlLAorCQllbGVtRGVjbC0+bmFtZSwgZWxlbURlY2wtPnRhcmdldE5hbWVzcGFjZSwgZWxlbURlY2wpOworCX0gZWxzZSB7CisJICAgIGludCBjb3VudGVyOworCSAgICBpbnQgbWF4T2NjdXJzID0gcGFydGljbGUtPm1heE9jY3VycyA9PSBVTkJPVU5ERUQgPworCQkJICAgIFVOQk9VTkRFRCA6IHBhcnRpY2xlLT5tYXhPY2N1cnMgLSAxOworCSAgICBpbnQgbWluT2NjdXJzID0gcGFydGljbGUtPm1pbk9jY3VycyA8IDEgPworCQkJICAgIDAgOiBwYXJ0aWNsZS0+bWluT2NjdXJzIC0gMTsKKworCSAgICBzdGFydCA9IHhtbEF1dG9tYXRhTmV3RXBzaWxvbihjdHh0LT5hbSwgY3R4dC0+c3RhdGUsIE5VTEwpOworCSAgICBjb3VudGVyID0geG1sQXV0b21hdGFOZXdDb3VudGVyKGN0eHQtPmFtLCBtaW5PY2N1cnMsIG1heE9jY3Vycyk7CisJICAgIGN0eHQtPnN0YXRlID0geG1sQXV0b21hdGFOZXdUcmFuc2l0aW9uMihjdHh0LT5hbSwgc3RhcnQsIE5VTEwsCisJCWVsZW1EZWNsLT5uYW1lLCBlbGVtRGVjbC0+dGFyZ2V0TmFtZXNwYWNlLCBlbGVtRGVjbCk7CisJICAgIHhtbEF1dG9tYXRhTmV3Q291bnRlZFRyYW5zKGN0eHQtPmFtLCBjdHh0LT5zdGF0ZSwgc3RhcnQsIGNvdW50ZXIpOworCSAgICBjdHh0LT5zdGF0ZSA9IHhtbEF1dG9tYXRhTmV3Q291bnRlclRyYW5zKGN0eHQtPmFtLCBjdHh0LT5zdGF0ZSwKKwkJTlVMTCwgY291bnRlcik7CisJfQorCWlmIChwYXJ0aWNsZS0+bWluT2NjdXJzID09IDApIHsKKwkgICAgeG1sQXV0b21hdGFOZXdFcHNpbG9uKGN0eHQtPmFtLCBzdGFydCwgY3R4dC0+c3RhdGUpOworICAgICAgICAgICAgcmV0ID0gMTsKKyAgICAgICAgfQorICAgIH0KKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxTY2hlbWFCdWlsZEFDb250ZW50TW9kZWw6CisgKiBAY3R4dDogIHRoZSBzY2hlbWEgcGFyc2VyIGNvbnRleHQKKyAqIEBwYXJ0aWNsZTogIHRoZSBwYXJ0aWNsZSBjb21wb25lbnQKKyAqIEBuYW1lOiAgdGhlIGNvbXBsZXggdHlwZSdzIG5hbWUgd2hvc2UgY29udGVudCBpcyBiZWluZyBidWlsdAorICoKKyAqIENyZWF0ZSB0aGUgYXV0b21hdG9uIGZvciB0aGUge2NvbnRlbnQgdHlwZX0gb2YgYSBjb21wbGV4IHR5cGUuCisgKgorICogUmV0dXJucyAxIGlmIHRoZSBjb250ZW50IGlzIG5pbGxhYmxlLCAwIG90aGVyd2lzZQorICovCitzdGF0aWMgaW50Cit4bWxTY2hlbWFCdWlsZEFDb250ZW50TW9kZWwoeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBwY3R4dCwKKwkJCSAgICB4bWxTY2hlbWFQYXJ0aWNsZVB0ciBwYXJ0aWNsZSkKK3sKKyAgICBpbnQgcmV0ID0gMCwgdG1wMjsKKworICAgIGlmIChwYXJ0aWNsZSA9PSBOVUxMKSB7CisJUEVSUk9SX0lOVCgieG1sU2NoZW1hQnVpbGRBQ29udGVudE1vZGVsIiwgInBhcnRpY2xlIGlzIE5VTEwiKTsKKwlyZXR1cm4oMSk7CisgICAgfQorICAgIGlmIChwYXJ0aWNsZS0+Y2hpbGRyZW4gPT0gTlVMTCkgeworCS8qCisJKiBKdXN0IHJldHVybiBpbiB0aGlzIGNhc2UuIEEgbWlzc2luZyAidGVybSIgb2YgdGhlIHBhcnRpY2xlCisJKiBtaWdodCBhcmlzZSBkdWUgdG8gYW4gaW52YWxpZCAidGVybSIgY29tcG9uZW50LgorCSovCisJcmV0dXJuKDEpOworICAgIH0KKworICAgIHN3aXRjaCAocGFydGljbGUtPmNoaWxkcmVuLT50eXBlKSB7CisJY2FzZSBYTUxfU0NIRU1BX1RZUEVfQU5ZOiB7CisJICAgIHhtbEF1dG9tYXRhU3RhdGVQdHIgc3RhcnQsIGVuZDsKKwkgICAgeG1sU2NoZW1hV2lsZGNhcmRQdHIgd2lsZDsKKwkgICAgeG1sU2NoZW1hV2lsZGNhcmROc1B0ciBuczsKKworCSAgICB3aWxkID0gKHhtbFNjaGVtYVdpbGRjYXJkUHRyKSBwYXJ0aWNsZS0+Y2hpbGRyZW47CisKKwkgICAgc3RhcnQgPSBwY3R4dC0+c3RhdGU7CisJICAgIGVuZCA9IHhtbEF1dG9tYXRhTmV3U3RhdGUocGN0eHQtPmFtKTsKKworCSAgICBpZiAocGFydGljbGUtPm1heE9jY3VycyA9PSAxKSB7CisJCWlmICh3aWxkLT5hbnkgPT0gMSkgeworCQkgICAgLyoKKwkJICAgICogV2UgbmVlZCB0byBhZGQgYm90aCB0cmFuc2l0aW9uczoKKwkJICAgICoKKwkJICAgICogMS4gdGhlIHsiKiIsICIqIn0gZm9yIGVsZW1lbnRzIGluIGEgbmFtZXNwYWNlLgorCQkgICAgKi8KKwkJICAgIHBjdHh0LT5zdGF0ZSA9CisJCQl4bWxBdXRvbWF0YU5ld1RyYW5zaXRpb24yKHBjdHh0LT5hbSwKKwkJCXN0YXJ0LCBOVUxMLCBCQURfQ0FTVCAiKiIsIEJBRF9DQVNUICIqIiwgd2lsZCk7CisJCSAgICB4bWxBdXRvbWF0YU5ld0Vwc2lsb24ocGN0eHQtPmFtLCBwY3R4dC0+c3RhdGUsIGVuZCk7CisJCSAgICAvKgorCQkgICAgKiAyLiB0aGUgeyIqIn0gZm9yIGVsZW1lbnRzIGluIG5vIG5hbWVzcGFjZS4KKwkJICAgICovCisJCSAgICBwY3R4dC0+c3RhdGUgPQorCQkJeG1sQXV0b21hdGFOZXdUcmFuc2l0aW9uMihwY3R4dC0+YW0sCisJCQlzdGFydCwgTlVMTCwgQkFEX0NBU1QgIioiLCBOVUxMLCB3aWxkKTsKKwkJICAgIHhtbEF1dG9tYXRhTmV3RXBzaWxvbihwY3R4dC0+YW0sIHBjdHh0LT5zdGF0ZSwgZW5kKTsKKworCQl9IGVsc2UgaWYgKHdpbGQtPm5zU2V0ICE9IE5VTEwpIHsKKwkJICAgIG5zID0gd2lsZC0+bnNTZXQ7CisJCSAgICBkbyB7CisJCQlwY3R4dC0+c3RhdGUgPSBzdGFydDsKKwkJCXBjdHh0LT5zdGF0ZSA9IHhtbEF1dG9tYXRhTmV3VHJhbnNpdGlvbjIocGN0eHQtPmFtLAorCQkJICAgIHBjdHh0LT5zdGF0ZSwgTlVMTCwgQkFEX0NBU1QgIioiLCBucy0+dmFsdWUsIHdpbGQpOworCQkJeG1sQXV0b21hdGFOZXdFcHNpbG9uKHBjdHh0LT5hbSwgcGN0eHQtPnN0YXRlLCBlbmQpOworCQkJbnMgPSBucy0+bmV4dDsKKwkJICAgIH0gd2hpbGUgKG5zICE9IE5VTEwpOworCisJCX0gZWxzZSBpZiAod2lsZC0+bmVnTnNTZXQgIT0gTlVMTCkgeworCQkgICAgcGN0eHQtPnN0YXRlID0geG1sQXV0b21hdGFOZXdOZWdUcmFucyhwY3R4dC0+YW0sCisJCQlzdGFydCwgZW5kLCBCQURfQ0FTVCAiKiIsIHdpbGQtPm5lZ05zU2V0LT52YWx1ZSwKKwkJCXdpbGQpOworCQl9CisJICAgIH0gZWxzZSB7CisJCWludCBjb3VudGVyOworCQl4bWxBdXRvbWF0YVN0YXRlUHRyIGhvcDsKKwkJaW50IG1heE9jY3VycyA9CisJCSAgICBwYXJ0aWNsZS0+bWF4T2NjdXJzID09IFVOQk9VTkRFRCA/IFVOQk9VTkRFRCA6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFydGljbGUtPm1heE9jY3VycyAtIDE7CisJCWludCBtaW5PY2N1cnMgPQorCQkgICAgcGFydGljbGUtPm1pbk9jY3VycyA8IDEgPyAwIDogcGFydGljbGUtPm1pbk9jY3VycyAtIDE7CisKKwkJY291bnRlciA9IHhtbEF1dG9tYXRhTmV3Q291bnRlcihwY3R4dC0+YW0sIG1pbk9jY3VycywgbWF4T2NjdXJzKTsKKwkJaG9wID0geG1sQXV0b21hdGFOZXdTdGF0ZShwY3R4dC0+YW0pOworCQlpZiAod2lsZC0+YW55ID09IDEpIHsKKwkJICAgIHBjdHh0LT5zdGF0ZSA9CisJCQl4bWxBdXRvbWF0YU5ld1RyYW5zaXRpb24yKHBjdHh0LT5hbSwKKwkJCXN0YXJ0LCBOVUxMLCBCQURfQ0FTVCAiKiIsIEJBRF9DQVNUICIqIiwgd2lsZCk7CisJCSAgICB4bWxBdXRvbWF0YU5ld0Vwc2lsb24ocGN0eHQtPmFtLCBwY3R4dC0+c3RhdGUsIGhvcCk7CisJCSAgICBwY3R4dC0+c3RhdGUgPQorCQkJeG1sQXV0b21hdGFOZXdUcmFuc2l0aW9uMihwY3R4dC0+YW0sCisJCQlzdGFydCwgTlVMTCwgQkFEX0NBU1QgIioiLCBOVUxMLCB3aWxkKTsKKwkJICAgIHhtbEF1dG9tYXRhTmV3RXBzaWxvbihwY3R4dC0+YW0sIHBjdHh0LT5zdGF0ZSwgaG9wKTsKKwkJfSBlbHNlIGlmICh3aWxkLT5uc1NldCAhPSBOVUxMKSB7CisJCSAgICBucyA9IHdpbGQtPm5zU2V0OworCQkgICAgZG8geworCQkJcGN0eHQtPnN0YXRlID0KKwkJCSAgICB4bWxBdXRvbWF0YU5ld1RyYW5zaXRpb24yKHBjdHh0LT5hbSwKKwkJCQlzdGFydCwgTlVMTCwgQkFEX0NBU1QgIioiLCBucy0+dmFsdWUsIHdpbGQpOworCQkJeG1sQXV0b21hdGFOZXdFcHNpbG9uKHBjdHh0LT5hbSwgcGN0eHQtPnN0YXRlLCBob3ApOworCQkJbnMgPSBucy0+bmV4dDsKKwkJICAgIH0gd2hpbGUgKG5zICE9IE5VTEwpOworCisJCX0gZWxzZSBpZiAod2lsZC0+bmVnTnNTZXQgIT0gTlVMTCkgeworCQkgICAgcGN0eHQtPnN0YXRlID0geG1sQXV0b21hdGFOZXdOZWdUcmFucyhwY3R4dC0+YW0sCisJCQlzdGFydCwgaG9wLCBCQURfQ0FTVCAiKiIsIHdpbGQtPm5lZ05zU2V0LT52YWx1ZSwKKwkJCXdpbGQpOworCQl9CisJCXhtbEF1dG9tYXRhTmV3Q291bnRlZFRyYW5zKHBjdHh0LT5hbSwgaG9wLCBzdGFydCwgY291bnRlcik7CisJCXhtbEF1dG9tYXRhTmV3Q291bnRlclRyYW5zKHBjdHh0LT5hbSwgaG9wLCBlbmQsIGNvdW50ZXIpOworCSAgICB9CisJICAgIGlmIChwYXJ0aWNsZS0+bWluT2NjdXJzID09IDApIHsKKwkJeG1sQXV0b21hdGFOZXdFcHNpbG9uKHBjdHh0LT5hbSwgc3RhcnQsIGVuZCk7CisgICAgICAgICAgICAgICAgcmV0ID0gMTsKKwkgICAgfQorCSAgICBwY3R4dC0+c3RhdGUgPSBlbmQ7CisgICAgICAgICAgICBicmVhazsKKwl9CisgICAgICAgIGNhc2UgWE1MX1NDSEVNQV9UWVBFX0VMRU1FTlQ6CisJICAgIHJldCA9IHhtbFNjaGVtYUJ1aWxkQ29udGVudE1vZGVsRm9yRWxlbWVudChwY3R4dCwgcGFydGljbGUpOworCSAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfU0NIRU1BX1RZUEVfU0VRVUVOQ0U6eworICAgICAgICAgICAgeG1sU2NoZW1hVHJlZUl0ZW1QdHIgc3ViOworCisgICAgICAgICAgICByZXQgPSAxOworICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAqIElmIG1heCBhbmQgbWluIG9jY3VyYW5jZXMgYXJlIGRlZmF1bHQgKDEpIHRoZW4KKyAgICAgICAgICAgICAqIHNpbXBseSBpdGVyYXRlIG92ZXIgdGhlIHBhcnRpY2xlcyBvZiB0aGUgPHNlcXVlbmNlPi4KKyAgICAgICAgICAgICAqLworICAgICAgICAgICAgaWYgKChwYXJ0aWNsZS0+bWluT2NjdXJzID09IDEpICYmIChwYXJ0aWNsZS0+bWF4T2NjdXJzID09IDEpKSB7CisgICAgICAgICAgICAgICAgc3ViID0gcGFydGljbGUtPmNoaWxkcmVuLT5jaGlsZHJlbjsKKworICAgICAgICAgICAgICAgIHdoaWxlIChzdWIgIT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICB0bXAyID0geG1sU2NoZW1hQnVpbGRBQ29udGVudE1vZGVsKHBjdHh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh4bWxTY2hlbWFQYXJ0aWNsZVB0cikgc3ViKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHRtcDIgIT0gMSkgcmV0ID0gMDsKKyAgICAgICAgICAgICAgICAgICAgc3ViID0gc3ViLT5uZXh0OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgeG1sQXV0b21hdGFTdGF0ZVB0ciBvbGRzdGF0ZSA9IHBjdHh0LT5zdGF0ZTsKKworICAgICAgICAgICAgICAgIGlmIChwYXJ0aWNsZS0+bWF4T2NjdXJzID49IFVOQk9VTkRFRCkgeworICAgICAgICAgICAgICAgICAgICBpZiAocGFydGljbGUtPm1pbk9jY3VycyA+IDEpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHhtbEF1dG9tYXRhU3RhdGVQdHIgdG1wOworICAgICAgICAgICAgICAgICAgICAgICAgaW50IGNvdW50ZXI7CisKKyAgICAgICAgICAgICAgICAgICAgICAgIHBjdHh0LT5zdGF0ZSA9IHhtbEF1dG9tYXRhTmV3RXBzaWxvbihwY3R4dC0+YW0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2xkc3RhdGUsIE5VTEwpOworICAgICAgICAgICAgICAgICAgICAgICAgb2xkc3RhdGUgPSBwY3R4dC0+c3RhdGU7CisKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvdW50ZXIgPSB4bWxBdXRvbWF0YU5ld0NvdW50ZXIocGN0eHQtPmFtLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnRpY2xlLT5taW5PY2N1cnMgLSAxLCBVTkJPVU5ERUQpOworCisgICAgICAgICAgICAgICAgICAgICAgICBzdWIgPSBwYXJ0aWNsZS0+Y2hpbGRyZW4tPmNoaWxkcmVuOworICAgICAgICAgICAgICAgICAgICAgICAgd2hpbGUgKHN1YiAhPSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG1wMiA9IHhtbFNjaGVtYUJ1aWxkQUNvbnRlbnRNb2RlbChwY3R4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHhtbFNjaGVtYVBhcnRpY2xlUHRyKSBzdWIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0bXAyICE9IDEpIHJldCA9IDA7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3ViID0gc3ViLT5uZXh0OworICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gcGN0eHQtPnN0YXRlOworICAgICAgICAgICAgICAgICAgICAgICAgeG1sQXV0b21hdGFOZXdDb3VudGVkVHJhbnMocGN0eHQtPmFtLCB0bXAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbGRzdGF0ZSwgY291bnRlcik7CisgICAgICAgICAgICAgICAgICAgICAgICBwY3R4dC0+c3RhdGUgPQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbEF1dG9tYXRhTmV3Q291bnRlclRyYW5zKHBjdHh0LT5hbSwgdG1wLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIGNvdW50ZXIpOworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJldCA9PSAxKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbEF1dG9tYXRhTmV3RXBzaWxvbihwY3R4dC0+YW0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbGRzdGF0ZSwgcGN0eHQtPnN0YXRlKTsKKworICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAgcGN0eHQtPnN0YXRlID0geG1sQXV0b21hdGFOZXdFcHNpbG9uKHBjdHh0LT5hbSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbGRzdGF0ZSwgTlVMTCk7CisgICAgICAgICAgICAgICAgICAgICAgICBvbGRzdGF0ZSA9IHBjdHh0LT5zdGF0ZTsKKworICAgICAgICAgICAgICAgICAgICAgICAgc3ViID0gcGFydGljbGUtPmNoaWxkcmVuLT5jaGlsZHJlbjsKKyAgICAgICAgICAgICAgICAgICAgICAgIHdoaWxlIChzdWIgIT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRtcDIgPSB4bWxTY2hlbWFCdWlsZEFDb250ZW50TW9kZWwocGN0eHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHhtbFNjaGVtYVBhcnRpY2xlUHRyKSBzdWIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0bXAyICE9IDEpIHJldCA9IDA7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3ViID0gc3ViLT5uZXh0OworICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgeG1sQXV0b21hdGFOZXdFcHNpbG9uKHBjdHh0LT5hbSwgcGN0eHQtPnN0YXRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9sZHN0YXRlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIC8qCisgICAgICAgICAgICAgICAgICAgICAgICAgKiBlcHNpbG9uIG5lZWRlZCB0byBibG9jayBwcmV2aW91cyB0cmFucyBmcm9tCisgICAgICAgICAgICAgICAgICAgICAgICAgKiBiZWluZyBhbGxvd2VkIHRvIGVudGVyIGJhY2sgZnJvbSBhbm90aGVyCisgICAgICAgICAgICAgICAgICAgICAgICAgKiBjb25zdHJ1Y3QKKyAgICAgICAgICAgICAgICAgICAgICAgICAqLworICAgICAgICAgICAgICAgICAgICAgICAgcGN0eHQtPnN0YXRlID0geG1sQXV0b21hdGFOZXdFcHNpbG9uKHBjdHh0LT5hbSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGN0eHQtPnN0YXRlLCBOVUxMKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwYXJ0aWNsZS0+bWluT2NjdXJzID09IDApIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxBdXRvbWF0YU5ld0Vwc2lsb24ocGN0eHQtPmFtLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbGRzdGF0ZSwgcGN0eHQtPnN0YXRlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXQgPSAxOworICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgocGFydGljbGUtPm1heE9jY3VycyA+IDEpCisgICAgICAgICAgICAgICAgICAgICAgICAgICB8fCAocGFydGljbGUtPm1pbk9jY3VycyA+IDEpKSB7CisgICAgICAgICAgICAgICAgICAgIHhtbEF1dG9tYXRhU3RhdGVQdHIgdG1wOworICAgICAgICAgICAgICAgICAgICBpbnQgY291bnRlcjsKKworICAgICAgICAgICAgICAgICAgICBwY3R4dC0+c3RhdGUgPSB4bWxBdXRvbWF0YU5ld0Vwc2lsb24ocGN0eHQtPmFtLAorICAgICAgICAgICAgICAgICAgICAgICAgb2xkc3RhdGUsIE5VTEwpOworICAgICAgICAgICAgICAgICAgICBvbGRzdGF0ZSA9IHBjdHh0LT5zdGF0ZTsKKworICAgICAgICAgICAgICAgICAgICBjb3VudGVyID0geG1sQXV0b21hdGFOZXdDb3VudGVyKHBjdHh0LT5hbSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHBhcnRpY2xlLT5taW5PY2N1cnMgLSAxLAorICAgICAgICAgICAgICAgICAgICAgICAgcGFydGljbGUtPm1heE9jY3VycyAtIDEpOworCisgICAgICAgICAgICAgICAgICAgIHN1YiA9IHBhcnRpY2xlLT5jaGlsZHJlbi0+Y2hpbGRyZW47CisgICAgICAgICAgICAgICAgICAgIHdoaWxlIChzdWIgIT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICAgICAgdG1wMiA9IHhtbFNjaGVtYUJ1aWxkQUNvbnRlbnRNb2RlbChwY3R4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoeG1sU2NoZW1hUGFydGljbGVQdHIpIHN1Yik7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG1wMiAhPSAxKSByZXQgPSAwOworICAgICAgICAgICAgICAgICAgICAgICAgc3ViID0gc3ViLT5uZXh0OworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIHRtcCA9IHBjdHh0LT5zdGF0ZTsKKyAgICAgICAgICAgICAgICAgICAgeG1sQXV0b21hdGFOZXdDb3VudGVkVHJhbnMocGN0eHQtPmFtLAorICAgICAgICAgICAgICAgICAgICAgICAgdG1wLCBvbGRzdGF0ZSwgY291bnRlcik7CisgICAgICAgICAgICAgICAgICAgIHBjdHh0LT5zdGF0ZSA9CisgICAgICAgICAgICAgICAgICAgICAgICB4bWxBdXRvbWF0YU5ld0NvdW50ZXJUcmFucyhwY3R4dC0+YW0sIHRtcCwgTlVMTCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvdW50ZXIpOworICAgICAgICAgICAgICAgICAgICBpZiAoKHBhcnRpY2xlLT5taW5PY2N1cnMgPT0gMCkgfHwgKHJldCA9PSAxKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgeG1sQXV0b21hdGFOZXdFcHNpbG9uKHBjdHh0LT5hbSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2xkc3RhdGUsIHBjdHh0LT5zdGF0ZSk7CisgICAgICAgICAgICAgICAgICAgICAgICByZXQgPSAxOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgc3ViID0gcGFydGljbGUtPmNoaWxkcmVuLT5jaGlsZHJlbjsKKyAgICAgICAgICAgICAgICAgICAgd2hpbGUgKHN1YiAhPSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgICAgICB0bXAyID0geG1sU2NoZW1hQnVpbGRBQ29udGVudE1vZGVsKHBjdHh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh4bWxTY2hlbWFQYXJ0aWNsZVB0cikgc3ViKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0bXAyICE9IDEpIHJldCA9IDA7CisgICAgICAgICAgICAgICAgICAgICAgICBzdWIgPSBzdWItPm5leHQ7CisgICAgICAgICAgICAgICAgICAgIH0KKworCQkgICAgLyoKKwkJICAgICAqIGVwc2lsb24gbmVlZGVkIHRvIGJsb2NrIHByZXZpb3VzIHRyYW5zIGZyb20KKwkJICAgICAqIGJlaW5nIGFsbG93ZWQgdG8gZW50ZXIgYmFjayBmcm9tIGFub3RoZXIKKwkJICAgICAqIGNvbnN0cnVjdAorCQkgICAgICovCisJCSAgICBwY3R4dC0+c3RhdGUgPSB4bWxBdXRvbWF0YU5ld0Vwc2lsb24ocGN0eHQtPmFtLAorCQkJCQlwY3R4dC0+c3RhdGUsIE5VTEwpOworCisgICAgICAgICAgICAgICAgICAgIGlmIChwYXJ0aWNsZS0+bWluT2NjdXJzID09IDApIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHhtbEF1dG9tYXRhTmV3RXBzaWxvbihwY3R4dC0+YW0sIG9sZHN0YXRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBjdHh0LT5zdGF0ZSk7CisgICAgICAgICAgICAgICAgICAgICAgICByZXQgPSAxOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgY2FzZSBYTUxfU0NIRU1BX1RZUEVfQ0hPSUNFOnsKKyAgICAgICAgICAgIHhtbFNjaGVtYVRyZWVJdGVtUHRyIHN1YjsKKyAgICAgICAgICAgIHhtbEF1dG9tYXRhU3RhdGVQdHIgc3RhcnQsIGVuZDsKKworICAgICAgICAgICAgcmV0ID0gMDsKKyAgICAgICAgICAgIHN0YXJ0ID0gcGN0eHQtPnN0YXRlOworICAgICAgICAgICAgZW5kID0geG1sQXV0b21hdGFOZXdTdGF0ZShwY3R4dC0+YW0pOworCisgICAgICAgICAgICAvKgorICAgICAgICAgICAgICogaXRlcmF0ZSBvdmVyIHRoZSBzdWJ0eXBlcyBhbmQgcmVtZXJnZSB0aGUgZW5kIHdpdGggYW4KKyAgICAgICAgICAgICAqIGVwc2lsb24gdHJhbnNpdGlvbgorICAgICAgICAgICAgICovCisgICAgICAgICAgICBpZiAocGFydGljbGUtPm1heE9jY3VycyA9PSAxKSB7CisgICAgICAgICAgICAgICAgc3ViID0gcGFydGljbGUtPmNoaWxkcmVuLT5jaGlsZHJlbjsKKyAgICAgICAgICAgICAgICB3aGlsZSAoc3ViICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgcGN0eHQtPnN0YXRlID0gc3RhcnQ7CisgICAgICAgICAgICAgICAgICAgIHRtcDIgPSB4bWxTY2hlbWFCdWlsZEFDb250ZW50TW9kZWwocGN0eHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHhtbFNjaGVtYVBhcnRpY2xlUHRyKSBzdWIpOworICAgICAgICAgICAgICAgICAgICBpZiAodG1wMiA9PSAxKSByZXQgPSAxOworICAgICAgICAgICAgICAgICAgICB4bWxBdXRvbWF0YU5ld0Vwc2lsb24ocGN0eHQtPmFtLCBwY3R4dC0+c3RhdGUsIGVuZCk7CisgICAgICAgICAgICAgICAgICAgIHN1YiA9IHN1Yi0+bmV4dDsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIGludCBjb3VudGVyOworICAgICAgICAgICAgICAgIHhtbEF1dG9tYXRhU3RhdGVQdHIgaG9wLCBiYXNlOworICAgICAgICAgICAgICAgIGludCBtYXhPY2N1cnMgPSBwYXJ0aWNsZS0+bWF4T2NjdXJzID09IFVOQk9VTkRFRCA/CisgICAgICAgICAgICAgICAgICAgIFVOQk9VTkRFRCA6IHBhcnRpY2xlLT5tYXhPY2N1cnMgLSAxOworICAgICAgICAgICAgICAgIGludCBtaW5PY2N1cnMgPQorICAgICAgICAgICAgICAgICAgICBwYXJ0aWNsZS0+bWluT2NjdXJzIDwgMSA/IDAgOiBwYXJ0aWNsZS0+bWluT2NjdXJzIC0gMTsKKworICAgICAgICAgICAgICAgIC8qCisgICAgICAgICAgICAgICAgICogdXNlIGEgY291bnRlciB0byBrZWVwIHRyYWNrIG9mIHRoZSBudW1iZXIgb2YgdHJhbnN0aW9ucworICAgICAgICAgICAgICAgICAqIHdoaWNoIHdlbnQgdGhyb3VnaCB0aGUgY2hvaWNlLgorICAgICAgICAgICAgICAgICAqLworICAgICAgICAgICAgICAgIGNvdW50ZXIgPQorICAgICAgICAgICAgICAgICAgICB4bWxBdXRvbWF0YU5ld0NvdW50ZXIocGN0eHQtPmFtLCBtaW5PY2N1cnMsIG1heE9jY3Vycyk7CisgICAgICAgICAgICAgICAgaG9wID0geG1sQXV0b21hdGFOZXdTdGF0ZShwY3R4dC0+YW0pOworICAgICAgICAgICAgICAgIGJhc2UgPSB4bWxBdXRvbWF0YU5ld1N0YXRlKHBjdHh0LT5hbSk7CisKKyAgICAgICAgICAgICAgICBzdWIgPSBwYXJ0aWNsZS0+Y2hpbGRyZW4tPmNoaWxkcmVuOworICAgICAgICAgICAgICAgIHdoaWxlIChzdWIgIT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICBwY3R4dC0+c3RhdGUgPSBiYXNlOworICAgICAgICAgICAgICAgICAgICB0bXAyID0geG1sU2NoZW1hQnVpbGRBQ29udGVudE1vZGVsKHBjdHh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh4bWxTY2hlbWFQYXJ0aWNsZVB0cikgc3ViKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHRtcDIgPT0gMSkgcmV0ID0gMTsKKyAgICAgICAgICAgICAgICAgICAgeG1sQXV0b21hdGFOZXdFcHNpbG9uKHBjdHh0LT5hbSwgcGN0eHQtPnN0YXRlLCBob3ApOworICAgICAgICAgICAgICAgICAgICBzdWIgPSBzdWItPm5leHQ7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHhtbEF1dG9tYXRhTmV3RXBzaWxvbihwY3R4dC0+YW0sIHN0YXJ0LCBiYXNlKTsKKyAgICAgICAgICAgICAgICB4bWxBdXRvbWF0YU5ld0NvdW50ZWRUcmFucyhwY3R4dC0+YW0sIGhvcCwgYmFzZSwgY291bnRlcik7CisgICAgICAgICAgICAgICAgeG1sQXV0b21hdGFOZXdDb3VudGVyVHJhbnMocGN0eHQtPmFtLCBob3AsIGVuZCwgY291bnRlcik7CisgICAgICAgICAgICAgICAgaWYgKHJldCA9PSAxKQorICAgICAgICAgICAgICAgICAgICB4bWxBdXRvbWF0YU5ld0Vwc2lsb24ocGN0eHQtPmFtLCBiYXNlLCBlbmQpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKHBhcnRpY2xlLT5taW5PY2N1cnMgPT0gMCkgeworICAgICAgICAgICAgICAgIHhtbEF1dG9tYXRhTmV3RXBzaWxvbihwY3R4dC0+YW0sIHN0YXJ0LCBlbmQpOworICAgICAgICAgICAgICAgIHJldCA9IDE7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBwY3R4dC0+c3RhdGUgPSBlbmQ7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICBjYXNlIFhNTF9TQ0hFTUFfVFlQRV9BTEw6eworICAgICAgICAgICAgeG1sQXV0b21hdGFTdGF0ZVB0ciBzdGFydCwgdG1wOworICAgICAgICAgICAgeG1sU2NoZW1hUGFydGljbGVQdHIgc3ViOworICAgICAgICAgICAgeG1sU2NoZW1hRWxlbWVudFB0ciBlbGVtRGVjbDsKKworICAgICAgICAgICAgcmV0ID0gMTsKKworICAgICAgICAgICAgc3ViID0gKHhtbFNjaGVtYVBhcnRpY2xlUHRyKSBwYXJ0aWNsZS0+Y2hpbGRyZW4tPmNoaWxkcmVuOworICAgICAgICAgICAgaWYgKHN1YiA9PSBOVUxMKQorICAgICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAgICByZXQgPSAwOworCisgICAgICAgICAgICBzdGFydCA9IHBjdHh0LT5zdGF0ZTsKKyAgICAgICAgICAgIHRtcCA9IHhtbEF1dG9tYXRhTmV3U3RhdGUocGN0eHQtPmFtKTsKKyAgICAgICAgICAgIHhtbEF1dG9tYXRhTmV3RXBzaWxvbihwY3R4dC0+YW0sIHBjdHh0LT5zdGF0ZSwgdG1wKTsKKyAgICAgICAgICAgIHBjdHh0LT5zdGF0ZSA9IHRtcDsKKyAgICAgICAgICAgIHdoaWxlIChzdWIgIT0gTlVMTCkgeworICAgICAgICAgICAgICAgIHBjdHh0LT5zdGF0ZSA9IHRtcDsKKworICAgICAgICAgICAgICAgIGVsZW1EZWNsID0gKHhtbFNjaGVtYUVsZW1lbnRQdHIpIHN1Yi0+Y2hpbGRyZW47CisgICAgICAgICAgICAgICAgaWYgKGVsZW1EZWNsID09IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgUEVSUk9SX0lOVCgieG1sU2NoZW1hQnVpbGRBQ29udGVudE1vZGVsIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICI8ZWxlbWVudD4gcGFydGljbGUgaGFzIG5vIHRlcm0iKTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuKHJldCk7CisgICAgICAgICAgICAgICAgfTsKKyAgICAgICAgICAgICAgICAvKgorICAgICAgICAgICAgICAgICogTk9URTogVGhlIHttYXggb2NjdXJzfSBvZiBhbGwgdGhlIHBhcnRpY2xlcyBpbiB0aGUKKyAgICAgICAgICAgICAgICAqIHtwYXJ0aWNsZXN9IG9mIHRoZSBncm91cCBtdXN0IGJlIDAgb3IgMTsgdGhpcyBpcworICAgICAgICAgICAgICAgICogYWxyZWFkeSBlbnN1cmVkIGR1cmluZyB0aGUgcGFyc2Ugb2YgdGhlIGNvbnRlbnQgb2YKKyAgICAgICAgICAgICAgICAqIDxhbGw+LgorICAgICAgICAgICAgICAgICovCisgICAgICAgICAgICAgICAgaWYgKGVsZW1EZWNsLT5mbGFncyAmIFhNTF9TQ0hFTUFTX0VMRU1fU1VCU1RfR1JPVVBfSEVBRCkgeworICAgICAgICAgICAgICAgICAgICBpbnQgY291bnRlcjsKKworICAgICAgICAgICAgICAgICAgICAvKgorICAgICAgICAgICAgICAgICAgICAgKiBUaGlzIGlzIGFuIGFic3RyYWN0IGdyb3VwLCB3ZSBuZWVkIHRvIHNoYXJlCisgICAgICAgICAgICAgICAgICAgICAqIHRoZSBzYW1lIGNvdW50ZXIgZm9yIGFsbCB0aGUgZWxlbWVudCB0cmFuc2l0aW9ucworICAgICAgICAgICAgICAgICAgICAgKiBkZXJpdmVkIGZyb20gdGhlIGdyb3VwCisgICAgICAgICAgICAgICAgICAgICAqLworICAgICAgICAgICAgICAgICAgICBjb3VudGVyID0geG1sQXV0b21hdGFOZXdDb3VudGVyKHBjdHh0LT5hbSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1Yi0+bWluT2NjdXJzLCBzdWItPm1heE9jY3Vycyk7CisgICAgICAgICAgICAgICAgICAgIHhtbFNjaGVtYUJ1aWxkQ29udGVudE1vZGVsRm9yU3Vic3RHcm91cChwY3R4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1YiwgY291bnRlciwgcGN0eHQtPnN0YXRlKTsKKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICBpZiAoKHN1Yi0+bWluT2NjdXJzID09IDEpICYmCisgICAgICAgICAgICAgICAgICAgICAgICAoc3ViLT5tYXhPY2N1cnMgPT0gMSkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHhtbEF1dG9tYXRhTmV3T25jZVRyYW5zMihwY3R4dC0+YW0sIHBjdHh0LT5zdGF0ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBjdHh0LT5zdGF0ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1EZWNsLT5uYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbURlY2wtPnRhcmdldE5hbWVzcGFjZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEsIDEsIGVsZW1EZWNsKTsKKyAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgoc3ViLT5taW5PY2N1cnMgPT0gMCkgJiYKKyAgICAgICAgICAgICAgICAgICAgICAgIChzdWItPm1heE9jY3VycyA9PSAxKSkgeworCisgICAgICAgICAgICAgICAgICAgICAgICB4bWxBdXRvbWF0YU5ld0NvdW50VHJhbnMyKHBjdHh0LT5hbSwgcGN0eHQtPnN0YXRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBjdHh0LT5zdGF0ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtRGVjbC0+bmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtRGVjbC0+dGFyZ2V0TmFtZXNwYWNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtRGVjbCk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgc3ViID0gKHhtbFNjaGVtYVBhcnRpY2xlUHRyKSBzdWItPm5leHQ7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBwY3R4dC0+c3RhdGUgPQorICAgICAgICAgICAgICAgIHhtbEF1dG9tYXRhTmV3QWxsVHJhbnMocGN0eHQtPmFtLCBwY3R4dC0+c3RhdGUsIE5VTEwsIDApOworICAgICAgICAgICAgaWYgKHBhcnRpY2xlLT5taW5PY2N1cnMgPT0gMCkgeworICAgICAgICAgICAgICAgIHhtbEF1dG9tYXRhTmV3RXBzaWxvbihwY3R4dC0+YW0sIHN0YXJ0LCBwY3R4dC0+c3RhdGUpOworICAgICAgICAgICAgICAgIHJldCA9IDE7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCWNhc2UgWE1MX1NDSEVNQV9UWVBFX0dST1VQOgorCSAgICAvKgorCSAgICAqIElmIHdlIGhpdCBhIG1vZGVsIGdyb3VwIGRlZmluaXRpb24sIHRoZW4gdGhpcyBtZWFucyB0aGF0CisJICAgICogaXQgd2FzIGVtcHR5LCB0aHVzIHdhcyBub3Qgc3Vic3RpdHV0ZWQgZm9yIHRoZSBjb250YWluaW5nCisJICAgICogbW9kZWwgZ3JvdXAuIEp1c3QgZG8gbm90aGluZyBpbiB0aGlzIGNhc2UuCisJICAgICogVE9ETzogQnV0IHRoZSBncm91cCBzaG91bGQgYmUgc3Vic3RpdHV0ZWQgYW5kIG5vdCBvY2N1ciBhdAorCSAgICAqIGFsbCBpbiB0aGUgY29udGVudCBtb2RlbCBhdCB0aGlzIHBvaW50LiBGaXggdGhpcy4KKwkgICAgKi8KKyAgICAgICAgICAgIHJldCA9IDE7CisJICAgIGJyZWFrOworICAgICAgICBkZWZhdWx0OgorCSAgICB4bWxTY2hlbWFJbnRlcm5hbEVycjIoQUNUWFRfQ0FTVCBwY3R4dCwKKwkJInhtbFNjaGVtYUJ1aWxkQUNvbnRlbnRNb2RlbCIsCisJCSJmb3VuZCB1bmV4cGVjdGVkIHRlcm0gb2YgdHlwZSAnJXMnIGluIGNvbnRlbnQgbW9kZWwiLAorCQlXWFNfSVRFTV9UWVBFX05BTUUocGFydGljbGUtPmNoaWxkcmVuKSwgTlVMTCk7CisgICAgICAgICAgICByZXR1cm4ocmV0KTsKKyAgICB9CisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hQnVpbGRDb250ZW50TW9kZWw6CisgKiBAY3R4dDogIHRoZSBzY2hlbWEgcGFyc2VyIGNvbnRleHQKKyAqIEB0eXBlOiAgdGhlIGNvbXBsZXggdHlwZSBkZWZpbml0aW9uCisgKiBAbmFtZTogIHRoZSBlbGVtZW50IG5hbWUKKyAqCisgKiBCdWlsZHMgdGhlIGNvbnRlbnQgbW9kZWwgb2YgdGhlIGNvbXBsZXggdHlwZS4KKyAqLworc3RhdGljIHZvaWQKK3htbFNjaGVtYUJ1aWxkQ29udGVudE1vZGVsKHhtbFNjaGVtYVR5cGVQdHIgdHlwZSwKKwkJCSAgIHhtbFNjaGVtYVBhcnNlckN0eHRQdHIgY3R4dCkKK3sKKyAgICBpZiAoKHR5cGUtPnR5cGUgIT0gWE1MX1NDSEVNQV9UWVBFX0NPTVBMRVgpIHx8CisJKHR5cGUtPmNvbnRNb2RlbCAhPSBOVUxMKSB8fAorCSgodHlwZS0+Y29udGVudFR5cGUgIT0gWE1MX1NDSEVNQV9DT05URU5UX0VMRU1FTlRTKSAmJgorCSh0eXBlLT5jb250ZW50VHlwZSAhPSBYTUxfU0NIRU1BX0NPTlRFTlRfTUlYRUQpKSkKKwlyZXR1cm47CisKKyNpZmRlZiBERUJVR19DT05URU5UCisgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICJCdWlsZGluZyBjb250ZW50IG1vZGVsIGZvciAlc1xuIiwgbmFtZSk7CisjZW5kaWYKKyAgICBjdHh0LT5hbSA9IE5VTEw7CisgICAgY3R4dC0+YW0gPSB4bWxOZXdBdXRvbWF0YSgpOworICAgIGlmIChjdHh0LT5hbSA9PSBOVUxMKSB7CisgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCSAgICAiQ2Fubm90IGNyZWF0ZSBhdXRvbWF0YSBmb3IgY29tcGxleCB0eXBlICVzXG4iLCB0eXBlLT5uYW1lKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBjdHh0LT5zdGF0ZSA9IHhtbEF1dG9tYXRhR2V0SW5pdFN0YXRlKGN0eHQtPmFtKTsKKyAgICAvKgorICAgICogQnVpbGQgdGhlIGF1dG9tYXRvbi4KKyAgICAqLworICAgIHhtbFNjaGVtYUJ1aWxkQUNvbnRlbnRNb2RlbChjdHh0LCBXWFNfVFlQRV9QQVJUSUNMRSh0eXBlKSk7CisgICAgeG1sQXV0b21hdGFTZXRGaW5hbFN0YXRlKGN0eHQtPmFtLCBjdHh0LT5zdGF0ZSk7CisgICAgdHlwZS0+Y29udE1vZGVsID0geG1sQXV0b21hdGFDb21waWxlKGN0eHQtPmFtKTsKKyAgICBpZiAodHlwZS0+Y29udE1vZGVsID09IE5VTEwpIHsKKyAgICAgICAgeG1sU2NoZW1hUEN1c3RvbUVycihjdHh0LAorCSAgICBYTUxfU0NIRU1BUF9JTlRFUk5BTCwKKwkgICAgV1hTX0JBU0lDX0NBU1QgdHlwZSwgdHlwZS0+bm9kZSwKKwkgICAgIkZhaWxlZCB0byBjb21waWxlIHRoZSBjb250ZW50IG1vZGVsIiwgTlVMTCk7CisgICAgfSBlbHNlIGlmICh4bWxSZWdleHBJc0RldGVybWluaXN0KHR5cGUtPmNvbnRNb2RlbCkgIT0gMSkgeworICAgICAgICB4bWxTY2hlbWFQQ3VzdG9tRXJyKGN0eHQsCisJICAgIFhNTF9TQ0hFTUFQX05PVF9ERVRFUk1JTklTVElDLAorCSAgICAvKiBYTUxfU0NIRU1BU19FUlJfTk9UREVURVJNSU5JU1QsICovCisJICAgIFdYU19CQVNJQ19DQVNUIHR5cGUsIHR5cGUtPm5vZGUsCisJICAgICJUaGUgY29udGVudCBtb2RlbCBpcyBub3QgZGV0ZXJtaW5pc3QiLCBOVUxMKTsKKyAgICB9IGVsc2UgeworI2lmZGVmIERFQlVHX0NPTlRFTlRfUkVHRVhQCisgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgIkNvbnRlbnQgbW9kZWwgb2YgJXM6XG4iLCB0eXBlLT5uYW1lKTsKKyAgICAgICAgeG1sUmVnZXhwUHJpbnQoc3RkZXJyLCB0eXBlLT5jb250TW9kZWwpOworI2VuZGlmCisgICAgfQorICAgIGN0eHQtPnN0YXRlID0gTlVMTDsKKyAgICB4bWxGcmVlQXV0b21hdGEoY3R4dC0+YW0pOworICAgIGN0eHQtPmFtID0gTlVMTDsKK30KKworLyoqCisgKiB4bWxTY2hlbWFSZXNvbHZlRWxlbWVudFJlZmVyZW5jZXM6CisgKiBAZWxlbTogIHRoZSBzY2hlbWEgZWxlbWVudCBjb250ZXh0CisgKiBAY3R4dDogIHRoZSBzY2hlbWEgcGFyc2VyIGNvbnRleHQKKyAqCisgKiBSZXNvbHZlcyB0aGUgcmVmZXJlbmNlcyBvZiBhbiBlbGVtZW50IGRlY2xhcmF0aW9uCisgKiBvciBwYXJ0aWNsZSwgd2hpY2ggaGFzIGFuIGVsZW1lbnQgZGVjbGFyYXRpb24gYXMgaXQncworICogdGVybS4KKyAqLworc3RhdGljIHZvaWQKK3htbFNjaGVtYVJlc29sdmVFbGVtZW50UmVmZXJlbmNlcyh4bWxTY2hlbWFFbGVtZW50UHRyIGVsZW1EZWNsLAorCQkJCSAgeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBjdHh0KQoreworICAgIGlmICgoY3R4dCA9PSBOVUxMKSB8fCAoZWxlbURlY2wgPT0gTlVMTCkgfHwKKwkoKGVsZW1EZWNsICE9IE5VTEwpICYmCisJKGVsZW1EZWNsLT5mbGFncyAmIFhNTF9TQ0hFTUFTX0VMRU1fSU5URVJOQUxfUkVTT0xWRUQpKSkKKyAgICAgICAgcmV0dXJuOworICAgIGVsZW1EZWNsLT5mbGFncyB8PSBYTUxfU0NIRU1BU19FTEVNX0lOVEVSTkFMX1JFU09MVkVEOworCisgICAgaWYgKChlbGVtRGVjbC0+c3VidHlwZXMgPT0gTlVMTCkgJiYgKGVsZW1EZWNsLT5uYW1lZFR5cGUgIT0gTlVMTCkpIHsKKwl4bWxTY2hlbWFUeXBlUHRyIHR5cGU7CisKKwkvKiAodHlwZSBkZWZpbml0aW9uKSAuLi4gb3RoZXJ3aXNlIHRoZSB0eXBlIGRlZmluaXRpb24gYHJlc29sdmVkYAorCSogdG8gYnkgdGhlIGBhY3R1YWwgdmFsdWVgIG9mIHRoZSB0eXBlIFthdHRyaWJ1dGVdIC4uLgorCSovCisJdHlwZSA9IHhtbFNjaGVtYUdldFR5cGUoY3R4dC0+c2NoZW1hLCBlbGVtRGVjbC0+bmFtZWRUeXBlLAorCSAgICBlbGVtRGVjbC0+bmFtZWRUeXBlTnMpOworCWlmICh0eXBlID09IE5VTEwpIHsKKwkgICAgeG1sU2NoZW1hUFJlc0NvbXBBdHRyRXJyKGN0eHQsCisJCVhNTF9TQ0hFTUFQX1NSQ19SRVNPTFZFLAorCQlXWFNfQkFTSUNfQ0FTVCBlbGVtRGVjbCwgZWxlbURlY2wtPm5vZGUsCisJCSJ0eXBlIiwgZWxlbURlY2wtPm5hbWVkVHlwZSwgZWxlbURlY2wtPm5hbWVkVHlwZU5zLAorCQlYTUxfU0NIRU1BX1RZUEVfQkFTSUMsICJ0eXBlIGRlZmluaXRpb24iKTsKKwl9IGVsc2UKKwkgICAgZWxlbURlY2wtPnN1YnR5cGVzID0gdHlwZTsKKyAgICB9CisgICAgaWYgKGVsZW1EZWNsLT5zdWJzdEdyb3VwICE9IE5VTEwpIHsKKwl4bWxTY2hlbWFFbGVtZW50UHRyIHN1YnN0SGVhZDsKKworCS8qCisJKiBGSVhNRSBUT0RPOiBEbyB3ZSBuZWVkIGEgbmV3IGZpZWxkIGluIF94bWxTY2hlbWFFbGVtZW50IGZvcgorCSogc3Vic3RpdHV0aW9uR3JvdXA/CisJKi8KKwlzdWJzdEhlYWQgPSB4bWxTY2hlbWFHZXRFbGVtKGN0eHQtPnNjaGVtYSwgZWxlbURlY2wtPnN1YnN0R3JvdXAsCisJICAgIGVsZW1EZWNsLT5zdWJzdEdyb3VwTnMpOworCWlmIChzdWJzdEhlYWQgPT0gTlVMTCkgeworCSAgICB4bWxTY2hlbWFQUmVzQ29tcEF0dHJFcnIoY3R4dCwKKwkJWE1MX1NDSEVNQVBfU1JDX1JFU09MVkUsCisJCVdYU19CQVNJQ19DQVNUIGVsZW1EZWNsLCBOVUxMLAorCQkic3Vic3RpdHV0aW9uR3JvdXAiLCBlbGVtRGVjbC0+c3Vic3RHcm91cCwKKwkJZWxlbURlY2wtPnN1YnN0R3JvdXBOcywgWE1MX1NDSEVNQV9UWVBFX0VMRU1FTlQsIE5VTEwpOworCX0gZWxzZSB7CisJICAgIHhtbFNjaGVtYVJlc29sdmVFbGVtZW50UmVmZXJlbmNlcyhzdWJzdEhlYWQsIGN0eHQpOworCSAgICAvKgorCSAgICAqIFNldCB0aGUgInN1YnN0aXR1dGlvbiBncm91cCBhZmZpbGlhdGlvbiIuCisJICAgICogTk9URSB0aGF0IG5vdyB3ZSB1c2UgdGhlICJyZWZEZWNsIiBmaWVsZCBmb3IgdGhpcy4KKwkgICAgKi8KKwkgICAgV1hTX1NVQlNUX0hFQUQoZWxlbURlY2wpID0gc3Vic3RIZWFkOworCSAgICAvKgorCSAgICAqIFRoZSB0eXBlIGRlZmluaXRpb25zIGlzIHNldCB0bzoKKwkgICAgKiBTUEVDICIuLi50aGUge3R5cGUgZGVmaW5pdGlvbn0gb2YgdGhlIGVsZW1lbnQKKwkgICAgKiBkZWNsYXJhdGlvbiBgcmVzb2x2ZWRgIHRvIGJ5IHRoZSBgYWN0dWFsIHZhbHVlYAorCSAgICAqIG9mIHRoZSBzdWJzdGl0dXRpb25Hcm91cCBbYXR0cmlidXRlXSwgaWYgcHJlc2VudCIKKwkgICAgKi8KKwkgICAgaWYgKGVsZW1EZWNsLT5zdWJ0eXBlcyA9PSBOVUxMKQorCQllbGVtRGVjbC0+c3VidHlwZXMgPSBzdWJzdEhlYWQtPnN1YnR5cGVzOworCX0KKyAgICB9CisgICAgLyoKKyAgICAqIFNQRUMgIlRoZSBkZWZpbml0aW9uIG9mIGFueVR5cGUgc2VydmVzIGFzIHRoZSBkZWZhdWx0IHR5cGUgZGVmaW5pdGlvbgorICAgICogZm9yIGVsZW1lbnQgZGVjbGFyYXRpb25zIHdob3NlIFhNTCByZXByZXNlbnRhdGlvbiBkb2VzIG5vdCBzcGVjaWZ5IG9uZS4iCisgICAgKi8KKyAgICBpZiAoKGVsZW1EZWNsLT5zdWJ0eXBlcyA9PSBOVUxMKSAmJgorCShlbGVtRGVjbC0+bmFtZWRUeXBlID09IE5VTEwpICYmCisJKGVsZW1EZWNsLT5zdWJzdEdyb3VwID09IE5VTEwpKQorCWVsZW1EZWNsLT5zdWJ0eXBlcyA9IHhtbFNjaGVtYUdldEJ1aWx0SW5UeXBlKFhNTF9TQ0hFTUFTX0FOWVRZUEUpOworfQorCisvKioKKyAqIHhtbFNjaGVtYVJlc29sdmVVbmlvbk1lbWJlclR5cGVzOgorICogQGN0eHQ6ICB0aGUgc2NoZW1hIHBhcnNlciBjb250ZXh0CisgKiBAdHlwZTogIHRoZSBzY2hlbWEgc2ltcGxlIHR5cGUgZGVmaW5pdGlvbgorICoKKyAqIENoZWNrcyBhbmQgYnVpbGRzIHRoZSAibWVtYmVyIHR5cGUgZGVmaW5pdGlvbnMiIHByb3BlcnR5IG9mIHRoZSB1bmlvbgorICogc2ltcGxlIHR5cGUuIFRoaXMgaGFuZGxlcyBwYXJ0ICgxKSwgcGFydCAoMikgaXMgZG9uZSBpbgorICogeG1sU2NoZW1hRmluaXNoTWVtYmVyVHlwZURlZmluaXRpb25zUHJvcGVydHkoKQorICoKKyAqIFJldHVybnMgLTEgaW4gY2FzZSBvZiBhbiBpbnRlcm5hbCBlcnJvciwgMCBvdGhlcndpc2UuCisgKi8KK3N0YXRpYyBpbnQKK3htbFNjaGVtYVJlc29sdmVVbmlvbk1lbWJlclR5cGVzKHhtbFNjaGVtYVBhcnNlckN0eHRQdHIgY3R4dCwKKwkJCQkgeG1sU2NoZW1hVHlwZVB0ciB0eXBlKQoreworCisgICAgeG1sU2NoZW1hVHlwZUxpbmtQdHIgbGluaywgbGFzdExpbmssIG5ld0xpbms7CisgICAgeG1sU2NoZW1hVHlwZVB0ciBtZW1iZXJUeXBlOworCisgICAgLyoKKyAgICAqIFNQRUMgKDEpICJJZiB0aGUgPHVuaW9uPiBhbHRlcm5hdGl2ZSBpcyBjaG9zZW4sIHRoZW4gW0RlZmluaXRpb246XQorICAgICogZGVmaW5lIHRoZSBleHBsaWNpdCBtZW1iZXJzIGFzIHRoZSB0eXBlIGRlZmluaXRpb25zIGByZXNvbHZlZGAKKyAgICAqIHRvIGJ5IHRoZSBpdGVtcyBpbiB0aGUgYGFjdHVhbCB2YWx1ZWAgb2YgdGhlIG1lbWJlclR5cGVzIFthdHRyaWJ1dGVdLAorICAgICogaWYgYW55LCBmb2xsb3dlZCBieSB0aGUgdHlwZSBkZWZpbml0aW9ucyBjb3JyZXNwb25kaW5nIHRvIHRoZQorICAgICogPHNpbXBsZVR5cGU+cyBhbW9uZyB0aGUgW2NoaWxkcmVuXSBvZiA8dW5pb24+LCBpZiBhbnkuIgorICAgICovCisgICAgLyoKKyAgICAqIFJlc29sdmUgcmVmZXJlbmNlcy4KKyAgICAqLworICAgIGxpbmsgPSB0eXBlLT5tZW1iZXJUeXBlczsKKyAgICBsYXN0TGluayA9IE5VTEw7CisgICAgd2hpbGUgKGxpbmsgIT0gTlVMTCkgeworCWNvbnN0IHhtbENoYXIgKm5hbWUsICpuc05hbWU7CisKKwluYW1lID0gKCh4bWxTY2hlbWFRTmFtZVJlZlB0cikgbGluay0+dHlwZSktPm5hbWU7CisJbnNOYW1lID0gKCh4bWxTY2hlbWFRTmFtZVJlZlB0cikgbGluay0+dHlwZSktPnRhcmdldE5hbWVzcGFjZTsKKworCW1lbWJlclR5cGUgPSB4bWxTY2hlbWFHZXRUeXBlKGN0eHQtPnNjaGVtYSwgbmFtZSwgbnNOYW1lKTsKKwlpZiAoKG1lbWJlclR5cGUgPT0gTlVMTCkgfHwgKCEgV1hTX0lTX1NJTVBMRShtZW1iZXJUeXBlKSkpIHsKKwkgICAgeG1sU2NoZW1hUFJlc0NvbXBBdHRyRXJyKGN0eHQsIFhNTF9TQ0hFTUFQX1NSQ19SRVNPTFZFLAorCQlXWFNfQkFTSUNfQ0FTVCB0eXBlLCB0eXBlLT5ub2RlLCAibWVtYmVyVHlwZXMiLAorCQluYW1lLCBuc05hbWUsIFhNTF9TQ0hFTUFfVFlQRV9TSU1QTEUsIE5VTEwpOworCSAgICAvKgorCSAgICAqIFJlbW92ZSB0aGUgbWVtYmVyIHR5cGUgbGluay4KKwkgICAgKi8KKwkgICAgaWYgKGxhc3RMaW5rID09IE5VTEwpCisJCXR5cGUtPm1lbWJlclR5cGVzID0gbGluay0+bmV4dDsKKwkgICAgZWxzZQorCQlsYXN0TGluay0+bmV4dCA9IGxpbmstPm5leHQ7CisJICAgIG5ld0xpbmsgPSBsaW5rOworCSAgICBsaW5rID0gbGluay0+bmV4dDsKKwkgICAgeG1sRnJlZShuZXdMaW5rKTsKKwl9IGVsc2UgeworCSAgICBsaW5rLT50eXBlID0gbWVtYmVyVHlwZTsKKwkgICAgbGFzdExpbmsgPSBsaW5rOworCSAgICBsaW5rID0gbGluay0+bmV4dDsKKwl9CisgICAgfQorICAgIC8qCisgICAgKiBBZGQgbG9jYWwgc2ltcGxlIHR5cGVzLAorICAgICovCisgICAgbWVtYmVyVHlwZSA9IHR5cGUtPnN1YnR5cGVzOworICAgIHdoaWxlIChtZW1iZXJUeXBlICE9IE5VTEwpIHsKKwlsaW5rID0gKHhtbFNjaGVtYVR5cGVMaW5rUHRyKSB4bWxNYWxsb2Moc2l6ZW9mKHhtbFNjaGVtYVR5cGVMaW5rKSk7CisJaWYgKGxpbmsgPT0gTlVMTCkgeworCSAgICB4bWxTY2hlbWFQRXJyTWVtb3J5KGN0eHQsICJhbGxvY2F0aW5nIGEgdHlwZSBsaW5rIiwgTlVMTCk7CisJICAgIHJldHVybiAoLTEpOworCX0KKwlsaW5rLT50eXBlID0gbWVtYmVyVHlwZTsKKwlsaW5rLT5uZXh0ID0gTlVMTDsKKwlpZiAobGFzdExpbmsgPT0gTlVMTCkKKwkgICAgdHlwZS0+bWVtYmVyVHlwZXMgPSBsaW5rOworCWVsc2UKKwkgICAgbGFzdExpbmstPm5leHQgPSBsaW5rOworCWxhc3RMaW5rID0gbGluazsKKwltZW1iZXJUeXBlID0gbWVtYmVyVHlwZS0+bmV4dDsKKyAgICB9CisgICAgcmV0dXJuICgwKTsKK30KKworLyoqCisgKiB4bWxTY2hlbWFJc0Rlcml2ZWRGcm9tQnVpbHRJblR5cGU6CisgKiBAY3R4dDogIHRoZSBzY2hlbWEgcGFyc2VyIGNvbnRleHQKKyAqIEB0eXBlOiAgdGhlIHR5cGUgZGVmaW5pdGlvbgorICogQHZhbFR5cGU6IHRoZSB2YWx1ZSB0eXBlCisgKgorICoKKyAqIFJldHVybnMgMSBpZiB0aGUgdHlwZSBoYXMgdGhlIGdpdmVuIHZhbHVlIHR5cGUsIG9yCisgKiBpcyBkZXJpdmVkIGZyb20gc3VjaCBhIHR5cGUuCisgKi8KK3N0YXRpYyBpbnQKK3htbFNjaGVtYUlzRGVyaXZlZEZyb21CdWlsdEluVHlwZSh4bWxTY2hlbWFUeXBlUHRyIHR5cGUsIGludCB2YWxUeXBlKQoreworICAgIGlmICh0eXBlID09IE5VTEwpCisJcmV0dXJuICgwKTsKKyAgICBpZiAoV1hTX0lTX0NPTVBMRVgodHlwZSkpCisJcmV0dXJuICgwKTsKKyAgICBpZiAodHlwZS0+dHlwZSA9PSBYTUxfU0NIRU1BX1RZUEVfQkFTSUMpIHsKKwlpZiAodHlwZS0+YnVpbHRJblR5cGUgPT0gdmFsVHlwZSkKKwkgICAgcmV0dXJuKDEpOworCWlmICgodHlwZS0+YnVpbHRJblR5cGUgPT0gWE1MX1NDSEVNQVNfQU5ZU0lNUExFVFlQRSkgfHwKKwkgICAgKHR5cGUtPmJ1aWx0SW5UeXBlID09IFhNTF9TQ0hFTUFTX0FOWVRZUEUpKQorCSAgICByZXR1cm4gKDApOworCXJldHVybih4bWxTY2hlbWFJc0Rlcml2ZWRGcm9tQnVpbHRJblR5cGUodHlwZS0+c3VidHlwZXMsIHZhbFR5cGUpKTsKKyAgICB9CisgICAgcmV0dXJuKHhtbFNjaGVtYUlzRGVyaXZlZEZyb21CdWlsdEluVHlwZSh0eXBlLT5zdWJ0eXBlcywgdmFsVHlwZSkpOworfQorCisjaWYgMAorLyoqCisgKiB4bWxTY2hlbWFJc0Rlcml2ZWRGcm9tQnVpbHRJblR5cGU6CisgKiBAY3R4dDogIHRoZSBzY2hlbWEgcGFyc2VyIGNvbnRleHQKKyAqIEB0eXBlOiAgdGhlIHR5cGUgZGVmaW5pdGlvbgorICogQHZhbFR5cGU6IHRoZSB2YWx1ZSB0eXBlCisgKgorICoKKyAqIFJldHVybnMgMSBpZiB0aGUgdHlwZSBoYXMgdGhlIGdpdmVuIHZhbHVlIHR5cGUsIG9yCisgKiBpcyBkZXJpdmVkIGZyb20gc3VjaCBhIHR5cGUuCisgKi8KK3N0YXRpYyBpbnQKK3htbFNjaGVtYUlzVXNlckRlcml2ZWRGcm9tQnVpbHRJblR5cGUoeG1sU2NoZW1hVHlwZVB0ciB0eXBlLCBpbnQgdmFsVHlwZSkKK3sKKyAgICBpZiAodHlwZSA9PSBOVUxMKQorCXJldHVybiAoMCk7CisgICAgaWYgKFdYU19JU19DT01QTEVYKHR5cGUpKQorCXJldHVybiAoMCk7CisgICAgaWYgKHR5cGUtPnR5cGUgPT0gWE1MX1NDSEVNQV9UWVBFX0JBU0lDKSB7CisJaWYgKHR5cGUtPmJ1aWx0SW5UeXBlID09IHZhbFR5cGUpCisJICAgIHJldHVybigxKTsKKwlyZXR1cm4gKDApOworICAgIH0gZWxzZQorCXJldHVybih4bWxTY2hlbWFJc0Rlcml2ZWRGcm9tQnVpbHRJblR5cGUodHlwZS0+c3VidHlwZXMsIHZhbFR5cGUpKTsKKworICAgIHJldHVybiAoMCk7Cit9CisKK3N0YXRpYyB4bWxTY2hlbWFUeXBlUHRyCit4bWxTY2hlbWFRdWVyeUJ1aWx0SW5UeXBlKHhtbFNjaGVtYVR5cGVQdHIgdHlwZSkKK3sKKyAgICBpZiAodHlwZSA9PSBOVUxMKQorCXJldHVybiAoTlVMTCk7CisgICAgaWYgKFdYU19JU19DT01QTEVYKHR5cGUpKQorCXJldHVybiAoTlVMTCk7CisgICAgaWYgKHR5cGUtPnR5cGUgPT0gWE1MX1NDSEVNQV9UWVBFX0JBU0lDKQorCXJldHVybih0eXBlKTsKKyAgICByZXR1cm4oeG1sU2NoZW1hUXVlcnlCdWlsdEluVHlwZSh0eXBlLT5zdWJ0eXBlcykpOworfQorI2VuZGlmCisKKy8qKgorICogeG1sU2NoZW1hR2V0UHJpbWl0aXZlVHlwZToKKyAqIEB0eXBlOiAgdGhlIHNpbXBsZVR5cGUgZGVmaW5pdGlvbgorICoKKyAqIFJldHVybnMgdGhlIHByaW1pdGl2ZSB0eXBlIG9mIHRoZSBnaXZlbiB0eXBlIG9yCisgKiBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK3N0YXRpYyB4bWxTY2hlbWFUeXBlUHRyCit4bWxTY2hlbWFHZXRQcmltaXRpdmVUeXBlKHhtbFNjaGVtYVR5cGVQdHIgdHlwZSkKK3sKKworICAgIHdoaWxlICh0eXBlICE9IE5VTEwpIHsKKwkvKgorCSogTm90ZSB0aGF0IGFueVNpbXBsZVR5cGUgaXMgYWN0dWFsbHkgbm90IGEgcHJpbWl0aXZlIHR5cGUKKwkqIGJ1dCB3ZSBuZWVkIHRoYXQgaGVyZS4KKwkqLworCWlmICgodHlwZS0+YnVpbHRJblR5cGUgPT0gWE1MX1NDSEVNQVNfQU5ZU0lNUExFVFlQRSkgfHwKKwkgICAodHlwZS0+ZmxhZ3MgJiBYTUxfU0NIRU1BU19UWVBFX0JVSUxUSU5fUFJJTUlUSVZFKSkKKwkgICAgcmV0dXJuICh0eXBlKTsKKwl0eXBlID0gdHlwZS0+YmFzZVR5cGU7CisgICAgfQorCisgICAgcmV0dXJuIChOVUxMKTsKK30KKworI2lmIDAKKy8qKgorICogeG1sU2NoZW1hR2V0QnVpbHRJblR5cGVBbmNlc3RvcjoKKyAqIEB0eXBlOiAgdGhlIHNpbXBsZVR5cGUgZGVmaW5pdGlvbgorICoKKyAqIFJldHVybnMgdGhlIHByaW1pdGl2ZSB0eXBlIG9mIHRoZSBnaXZlbiB0eXBlIG9yCisgKiBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK3N0YXRpYyB4bWxTY2hlbWFUeXBlUHRyCit4bWxTY2hlbWFHZXRCdWlsdEluVHlwZUFuY2VzdG9yKHhtbFNjaGVtYVR5cGVQdHIgdHlwZSkKK3sKKyAgICBpZiAoV1hTX0lTX0xJU1QodHlwZSkgfHwgV1hTX0lTX1VOSU9OKHR5cGUpKQorCXJldHVybiAoMCk7CisgICAgd2hpbGUgKHR5cGUgIT0gTlVMTCkgeworCWlmICh0eXBlLT50eXBlID09IFhNTF9TQ0hFTUFfVFlQRV9CQVNJQykKKwkgICAgcmV0dXJuICh0eXBlKTsKKwl0eXBlID0gdHlwZS0+YmFzZVR5cGU7CisgICAgfQorCisgICAgcmV0dXJuIChOVUxMKTsKK30KKyNlbmRpZgorCisvKioKKyAqIHhtbFNjaGVtYUNsb25lV2lsZGNhcmROc0NvbnN0cmFpbnRzOgorICogQGN0eHQ6ICB0aGUgc2NoZW1hIHBhcnNlciBjb250ZXh0CisgKiBAZGVzdDogIHRoZSBkZXN0aW5hdGlvbiB3aWxkY2FyZAorICogQHNvdXJjZTogdGhlIHNvdXJjZSB3aWxkY2FyZAorICoKKyAqIENsb25lcyB0aGUgbmFtZXNwYWNlIGNvbnN0cmFpbnRzIG9mIHNvdXJjZQorICogYW5kIGFzc2lnbmVzIHRoZW0gdG8gZGVzdC4KKyAqIFJldHVybnMgLTEgb24gaW50ZXJuYWwgZXJyb3IsIDAgb3RoZXJ3aXNlLgorICovCitzdGF0aWMgaW50Cit4bWxTY2hlbWFDbG9uZVdpbGRjYXJkTnNDb25zdHJhaW50cyh4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIGN0eHQsCisJCQkJICAgIHhtbFNjaGVtYVdpbGRjYXJkUHRyIGRlc3QsCisJCQkJICAgIHhtbFNjaGVtYVdpbGRjYXJkUHRyIHNvdXJjZSkKK3sKKyAgICB4bWxTY2hlbWFXaWxkY2FyZE5zUHRyIGN1ciwgdG1wLCBsYXN0OworCisgICAgaWYgKChzb3VyY2UgPT0gTlVMTCkgfHwgKGRlc3QgPT0gTlVMTCkpCisJcmV0dXJuKC0xKTsKKyAgICBkZXN0LT5hbnkgPSBzb3VyY2UtPmFueTsKKyAgICBjdXIgPSBzb3VyY2UtPm5zU2V0OworICAgIGxhc3QgPSBOVUxMOworICAgIHdoaWxlIChjdXIgIT0gTlVMTCkgeworCXRtcCA9IHhtbFNjaGVtYU5ld1dpbGRjYXJkTnNDb25zdHJhaW50KGN0eHQpOworCWlmICh0bXAgPT0gTlVMTCkKKwkgICAgcmV0dXJuKC0xKTsKKwl0bXAtPnZhbHVlID0gY3VyLT52YWx1ZTsKKwlpZiAobGFzdCA9PSBOVUxMKQorCSAgICBkZXN0LT5uc1NldCA9IHRtcDsKKwllbHNlCisJICAgIGxhc3QtPm5leHQgPSB0bXA7CisJbGFzdCA9IHRtcDsKKwljdXIgPSBjdXItPm5leHQ7CisgICAgfQorICAgIGlmIChkZXN0LT5uZWdOc1NldCAhPSBOVUxMKQorCXhtbFNjaGVtYUZyZWVXaWxkY2FyZE5zU2V0KGRlc3QtPm5lZ05zU2V0KTsKKyAgICBpZiAoc291cmNlLT5uZWdOc1NldCAhPSBOVUxMKSB7CisJZGVzdC0+bmVnTnNTZXQgPSB4bWxTY2hlbWFOZXdXaWxkY2FyZE5zQ29uc3RyYWludChjdHh0KTsKKwlpZiAoZGVzdC0+bmVnTnNTZXQgPT0gTlVMTCkKKwkgICAgcmV0dXJuKC0xKTsKKwlkZXN0LT5uZWdOc1NldC0+dmFsdWUgPSBzb3VyY2UtPm5lZ05zU2V0LT52YWx1ZTsKKyAgICB9IGVsc2UKKwlkZXN0LT5uZWdOc1NldCA9IE5VTEw7CisgICAgcmV0dXJuKDApOworfQorCisvKioKKyAqIHhtbFNjaGVtYVVuaW9uV2lsZGNhcmRzOgorICogQGN0eHQ6ICB0aGUgc2NoZW1hIHBhcnNlciBjb250ZXh0CisgKiBAY29tcGxldGVXaWxkOiAgdGhlIGZpcnN0IHdpbGRjYXJkCisgKiBAY3VyV2lsZDogdGhlIHNlY29uZCB3aWxkY2FyZAorICoKKyAqIFVuaW9ucyB0aGUgbmFtZXNwYWNlIGNvbnN0cmFpbnRzIG9mIHRoZSBnaXZlbiB3aWxkY2FyZHMuCisgKiBAY29tcGxldGVXaWxkIHdpbGwgaG9sZCB0aGUgcmVzdWx0aW5nIHVuaW9uLgorICogUmV0dXJucyBhIHBvc2l0aXZlIGVycm9yIGNvZGUgb24gZmFpbHVyZSwgLTEgaW4gY2FzZSBvZiBhbgorICogaW50ZXJuYWwgZXJyb3IsIDAgb3RoZXJ3aXNlLgorICovCitzdGF0aWMgaW50Cit4bWxTY2hlbWFVbmlvbldpbGRjYXJkcyh4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIGN0eHQsCisJCQkgICAgeG1sU2NoZW1hV2lsZGNhcmRQdHIgY29tcGxldGVXaWxkLAorCQkJICAgIHhtbFNjaGVtYVdpbGRjYXJkUHRyIGN1cldpbGQpCit7CisgICAgeG1sU2NoZW1hV2lsZGNhcmROc1B0ciBjdXIsIGN1ckIsIHRtcDsKKworICAgIC8qCisgICAgKiAxIElmIE8xIGFuZCBPMiBhcmUgdGhlIHNhbWUgdmFsdWUsIHRoZW4gdGhhdCB2YWx1ZSBtdXN0IGJlIHRoZQorICAgICogdmFsdWUuCisgICAgKi8KKyAgICBpZiAoKGNvbXBsZXRlV2lsZC0+YW55ID09IGN1cldpbGQtPmFueSkgJiYKKwkoKGNvbXBsZXRlV2lsZC0+bnNTZXQgPT0gTlVMTCkgPT0gKGN1cldpbGQtPm5zU2V0ID09IE5VTEwpKSAmJgorCSgoY29tcGxldGVXaWxkLT5uZWdOc1NldCA9PSBOVUxMKSA9PSAoY3VyV2lsZC0+bmVnTnNTZXQgPT0gTlVMTCkpKSB7CisKKwlpZiAoKGNvbXBsZXRlV2lsZC0+bmVnTnNTZXQgPT0gTlVMTCkgfHwKKwkgICAgKGNvbXBsZXRlV2lsZC0+bmVnTnNTZXQtPnZhbHVlID09IGN1cldpbGQtPm5lZ05zU2V0LT52YWx1ZSkpIHsKKworCSAgICBpZiAoY29tcGxldGVXaWxkLT5uc1NldCAhPSBOVUxMKSB7CisJCWludCBmb3VuZCA9IDA7CisKKwkJLyoKKwkJKiBDaGVjayBlcXVhbGl0eSBvZiBzZXRzLgorCQkqLworCQljdXIgPSBjb21wbGV0ZVdpbGQtPm5zU2V0OworCQl3aGlsZSAoY3VyICE9IE5VTEwpIHsKKwkJICAgIGZvdW5kID0gMDsKKwkJICAgIGN1ckIgPSBjdXJXaWxkLT5uc1NldDsKKwkJICAgIHdoaWxlIChjdXJCICE9IE5VTEwpIHsKKwkJCWlmIChjdXItPnZhbHVlID09IGN1ckItPnZhbHVlKSB7CisJCQkgICAgZm91bmQgPSAxOworCQkJICAgIGJyZWFrOworCQkJfQorCQkJY3VyQiA9IGN1ckItPm5leHQ7CisJCSAgICB9CisJCSAgICBpZiAoIWZvdW5kKQorCQkJYnJlYWs7CisJCSAgICBjdXIgPSBjdXItPm5leHQ7CisJCX0KKwkJaWYgKGZvdW5kKQorCQkgICAgcmV0dXJuKDApOworCSAgICB9IGVsc2UKKwkJcmV0dXJuKDApOworCX0KKyAgICB9CisgICAgLyoKKyAgICAqIDIgSWYgZWl0aGVyIE8xIG9yIE8yIGlzIGFueSwgdGhlbiBhbnkgbXVzdCBiZSB0aGUgdmFsdWUKKyAgICAqLworICAgIGlmIChjb21wbGV0ZVdpbGQtPmFueSAhPSBjdXJXaWxkLT5hbnkpIHsKKwlpZiAoY29tcGxldGVXaWxkLT5hbnkgPT0gMCkgeworCSAgICBjb21wbGV0ZVdpbGQtPmFueSA9IDE7CisJICAgIGlmIChjb21wbGV0ZVdpbGQtPm5zU2V0ICE9IE5VTEwpIHsKKwkJeG1sU2NoZW1hRnJlZVdpbGRjYXJkTnNTZXQoY29tcGxldGVXaWxkLT5uc1NldCk7CisJCWNvbXBsZXRlV2lsZC0+bnNTZXQgPSBOVUxMOworCSAgICB9CisJICAgIGlmIChjb21wbGV0ZVdpbGQtPm5lZ05zU2V0ICE9IE5VTEwpIHsKKwkJeG1sRnJlZShjb21wbGV0ZVdpbGQtPm5lZ05zU2V0KTsKKwkJY29tcGxldGVXaWxkLT5uZWdOc1NldCA9IE5VTEw7CisJICAgIH0KKwl9CisJcmV0dXJuICgwKTsKKyAgICB9CisgICAgLyoKKyAgICAqIDMgSWYgYm90aCBPMSBhbmQgTzIgYXJlIHNldHMgb2YgKG5hbWVzcGFjZSBuYW1lcyBvciBgYWJzZW50YCksCisgICAgKiB0aGVuIHRoZSB1bmlvbiBvZiB0aG9zZSBzZXRzIG11c3QgYmUgdGhlIHZhbHVlLgorICAgICovCisgICAgaWYgKChjb21wbGV0ZVdpbGQtPm5zU2V0ICE9IE5VTEwpICYmIChjdXJXaWxkLT5uc1NldCAhPSBOVUxMKSkgeworCWludCBmb3VuZDsKKwl4bWxTY2hlbWFXaWxkY2FyZE5zUHRyIHN0YXJ0OworCisJY3VyID0gY3VyV2lsZC0+bnNTZXQ7CisJc3RhcnQgPSBjb21wbGV0ZVdpbGQtPm5zU2V0OworCXdoaWxlIChjdXIgIT0gTlVMTCkgeworCSAgICBmb3VuZCA9IDA7CisJICAgIGN1ckIgPSBzdGFydDsKKwkgICAgd2hpbGUgKGN1ckIgIT0gTlVMTCkgeworCQlpZiAoY3VyLT52YWx1ZSA9PSBjdXJCLT52YWx1ZSkgeworCQkgICAgZm91bmQgPSAxOworCQkgICAgYnJlYWs7CisJCX0KKwkJY3VyQiA9IGN1ckItPm5leHQ7CisJICAgIH0KKwkgICAgaWYgKCFmb3VuZCkgeworCQl0bXAgPSB4bWxTY2hlbWFOZXdXaWxkY2FyZE5zQ29uc3RyYWludChjdHh0KTsKKwkJaWYgKHRtcCA9PSBOVUxMKQorCQkgICAgcmV0dXJuICgtMSk7CisJCXRtcC0+dmFsdWUgPSBjdXItPnZhbHVlOworCQl0bXAtPm5leHQgPSBjb21wbGV0ZVdpbGQtPm5zU2V0OworCQljb21wbGV0ZVdpbGQtPm5zU2V0ID0gdG1wOworCSAgICB9CisJICAgIGN1ciA9IGN1ci0+bmV4dDsKKwl9CisKKwlyZXR1cm4oMCk7CisgICAgfQorICAgIC8qCisgICAgKiA0IElmIHRoZSB0d28gYXJlIG5lZ2F0aW9ucyBvZiBkaWZmZXJlbnQgdmFsdWVzIChuYW1lc3BhY2UgbmFtZXMKKyAgICAqIG9yIGBhYnNlbnRgKSwgdGhlbiBhIHBhaXIgb2Ygbm90IGFuZCBgYWJzZW50YCBtdXN0IGJlIHRoZSB2YWx1ZS4KKyAgICAqLworICAgIGlmICgoY29tcGxldGVXaWxkLT5uZWdOc1NldCAhPSBOVUxMKSAmJgorCShjdXJXaWxkLT5uZWdOc1NldCAhPSBOVUxMKSAmJgorCShjb21wbGV0ZVdpbGQtPm5lZ05zU2V0LT52YWx1ZSAhPSBjdXJXaWxkLT5uZWdOc1NldC0+dmFsdWUpKSB7CisJY29tcGxldGVXaWxkLT5uZWdOc1NldC0+dmFsdWUgPSBOVUxMOworCisJcmV0dXJuKDApOworICAgIH0KKyAgICAvKgorICAgICAqIDUuCisgICAgICovCisgICAgaWYgKCgoY29tcGxldGVXaWxkLT5uZWdOc1NldCAhPSBOVUxMKSAmJgorCShjb21wbGV0ZVdpbGQtPm5lZ05zU2V0LT52YWx1ZSAhPSBOVUxMKSAmJgorCShjdXJXaWxkLT5uc1NldCAhPSBOVUxMKSkgfHwKKwkoKGN1cldpbGQtPm5lZ05zU2V0ICE9IE5VTEwpICYmCisJKGN1cldpbGQtPm5lZ05zU2V0LT52YWx1ZSAhPSBOVUxMKSAmJgorCShjb21wbGV0ZVdpbGQtPm5zU2V0ICE9IE5VTEwpKSkgeworCisJaW50IG5zRm91bmQsIGFic2VudEZvdW5kID0gMDsKKworCWlmIChjb21wbGV0ZVdpbGQtPm5zU2V0ICE9IE5VTEwpIHsKKwkgICAgY3VyID0gY29tcGxldGVXaWxkLT5uc1NldDsKKwkgICAgY3VyQiA9IGN1cldpbGQtPm5lZ05zU2V0OworCX0gZWxzZSB7CisJICAgIGN1ciA9IGN1cldpbGQtPm5zU2V0OworCSAgICBjdXJCID0gY29tcGxldGVXaWxkLT5uZWdOc1NldDsKKwl9CisJbnNGb3VuZCA9IDA7CisJd2hpbGUgKGN1ciAhPSBOVUxMKSB7CisJICAgIGlmIChjdXItPnZhbHVlID09IE5VTEwpCisJCWFic2VudEZvdW5kID0gMTsKKwkgICAgZWxzZSBpZiAoY3VyLT52YWx1ZSA9PSBjdXJCLT52YWx1ZSkKKwkJbnNGb3VuZCA9IDE7CisJICAgIGlmIChuc0ZvdW5kICYmIGFic2VudEZvdW5kKQorCQlicmVhazsKKwkgICAgY3VyID0gY3VyLT5uZXh0OworCX0KKworCWlmIChuc0ZvdW5kICYmIGFic2VudEZvdW5kKSB7CisJICAgIC8qCisJICAgICogNS4xIElmIHRoZSBzZXQgUyBpbmNsdWRlcyBib3RoIHRoZSBuZWdhdGVkIG5hbWVzcGFjZQorCSAgICAqIG5hbWUgYW5kIGBhYnNlbnRgLCB0aGVuIGFueSBtdXN0IGJlIHRoZSB2YWx1ZS4KKwkgICAgKi8KKwkgICAgY29tcGxldGVXaWxkLT5hbnkgPSAxOworCSAgICBpZiAoY29tcGxldGVXaWxkLT5uc1NldCAhPSBOVUxMKSB7CisJCXhtbFNjaGVtYUZyZWVXaWxkY2FyZE5zU2V0KGNvbXBsZXRlV2lsZC0+bnNTZXQpOworCQljb21wbGV0ZVdpbGQtPm5zU2V0ID0gTlVMTDsKKwkgICAgfQorCSAgICBpZiAoY29tcGxldGVXaWxkLT5uZWdOc1NldCAhPSBOVUxMKSB7CisJCXhtbEZyZWUoY29tcGxldGVXaWxkLT5uZWdOc1NldCk7CisJCWNvbXBsZXRlV2lsZC0+bmVnTnNTZXQgPSBOVUxMOworCSAgICB9CisJfSBlbHNlIGlmIChuc0ZvdW5kICYmICghYWJzZW50Rm91bmQpKSB7CisJICAgIC8qCisJICAgICogNS4yIElmIHRoZSBzZXQgUyBpbmNsdWRlcyB0aGUgbmVnYXRlZCBuYW1lc3BhY2UgbmFtZQorCSAgICAqIGJ1dCBub3QgYGFic2VudGAsIHRoZW4gYSBwYWlyIG9mIG5vdCBhbmQgYGFic2VudGAgbXVzdAorCSAgICAqIGJlIHRoZSB2YWx1ZS4KKwkgICAgKi8KKwkgICAgaWYgKGNvbXBsZXRlV2lsZC0+bnNTZXQgIT0gTlVMTCkgeworCQl4bWxTY2hlbWFGcmVlV2lsZGNhcmROc1NldChjb21wbGV0ZVdpbGQtPm5zU2V0KTsKKwkJY29tcGxldGVXaWxkLT5uc1NldCA9IE5VTEw7CisJICAgIH0KKwkgICAgaWYgKGNvbXBsZXRlV2lsZC0+bmVnTnNTZXQgPT0gTlVMTCkgeworCQljb21wbGV0ZVdpbGQtPm5lZ05zU2V0ID0geG1sU2NoZW1hTmV3V2lsZGNhcmROc0NvbnN0cmFpbnQoY3R4dCk7CisJCWlmIChjb21wbGV0ZVdpbGQtPm5lZ05zU2V0ID09IE5VTEwpCisJCSAgICByZXR1cm4gKC0xKTsKKwkgICAgfQorCSAgICBjb21wbGV0ZVdpbGQtPm5lZ05zU2V0LT52YWx1ZSA9IE5VTEw7CisJfSBlbHNlIGlmICgoIW5zRm91bmQpICYmIGFic2VudEZvdW5kKSB7CisJICAgIC8qCisJICAgICogNS4zIElmIHRoZSBzZXQgUyBpbmNsdWRlcyBgYWJzZW50YCBidXQgbm90IHRoZSBuZWdhdGVkCisJICAgICogbmFtZXNwYWNlIG5hbWUsIHRoZW4gdGhlIHVuaW9uIGlzIG5vdCBleHByZXNzaWJsZS4KKwkgICAgKi8KKwkgICAgeG1sU2NoZW1hUEVycihjdHh0LCBjb21wbGV0ZVdpbGQtPm5vZGUsCisJCVhNTF9TQ0hFTUFQX1VOSU9OX05PVF9FWFBSRVNTSUJMRSwKKwkJIlRoZSB1bmlvbiBvZiB0aGUgd2lsY2FyZCBpcyBub3QgZXhwcmVzc2libGUuXG4iLAorCQlOVUxMLCBOVUxMKTsKKwkgICAgcmV0dXJuKFhNTF9TQ0hFTUFQX1VOSU9OX05PVF9FWFBSRVNTSUJMRSk7CisJfSBlbHNlIGlmICgoIW5zRm91bmQpICYmICghYWJzZW50Rm91bmQpKSB7CisJICAgIC8qCisJICAgICogNS40IElmIHRoZSBzZXQgUyBkb2VzIG5vdCBpbmNsdWRlIGVpdGhlciB0aGUgbmVnYXRlZCBuYW1lc3BhY2UKKwkgICAgKiBuYW1lIG9yIGBhYnNlbnRgLCB0aGVuIHdoaWNoZXZlciBvZiBPMSBvciBPMiBpcyBhIHBhaXIgb2Ygbm90CisJICAgICogYW5kIGEgbmFtZXNwYWNlIG5hbWUgbXVzdCBiZSB0aGUgdmFsdWUuCisJICAgICovCisJICAgIGlmIChjb21wbGV0ZVdpbGQtPm5lZ05zU2V0ID09IE5VTEwpIHsKKwkJaWYgKGNvbXBsZXRlV2lsZC0+bnNTZXQgIT0gTlVMTCkgeworCQkgICAgeG1sU2NoZW1hRnJlZVdpbGRjYXJkTnNTZXQoY29tcGxldGVXaWxkLT5uc1NldCk7CisJCSAgICBjb21wbGV0ZVdpbGQtPm5zU2V0ID0gTlVMTDsKKwkJfQorCQljb21wbGV0ZVdpbGQtPm5lZ05zU2V0ID0geG1sU2NoZW1hTmV3V2lsZGNhcmROc0NvbnN0cmFpbnQoY3R4dCk7CisJCWlmIChjb21wbGV0ZVdpbGQtPm5lZ05zU2V0ID09IE5VTEwpCisJCSAgICByZXR1cm4gKC0xKTsKKwkJY29tcGxldGVXaWxkLT5uZWdOc1NldC0+dmFsdWUgPSBjdXJXaWxkLT5uZWdOc1NldC0+dmFsdWU7CisJICAgIH0KKwl9CisJcmV0dXJuICgwKTsKKyAgICB9CisgICAgLyoKKyAgICAgKiA2LgorICAgICAqLworICAgIGlmICgoKGNvbXBsZXRlV2lsZC0+bmVnTnNTZXQgIT0gTlVMTCkgJiYKKwkoY29tcGxldGVXaWxkLT5uZWdOc1NldC0+dmFsdWUgPT0gTlVMTCkgJiYKKwkoY3VyV2lsZC0+bnNTZXQgIT0gTlVMTCkpIHx8CisJKChjdXJXaWxkLT5uZWdOc1NldCAhPSBOVUxMKSAmJgorCShjdXJXaWxkLT5uZWdOc1NldC0+dmFsdWUgPT0gTlVMTCkgJiYKKwkoY29tcGxldGVXaWxkLT5uc1NldCAhPSBOVUxMKSkpIHsKKworCWlmIChjb21wbGV0ZVdpbGQtPm5zU2V0ICE9IE5VTEwpIHsKKwkgICAgY3VyID0gY29tcGxldGVXaWxkLT5uc1NldDsKKwl9IGVsc2UgeworCSAgICBjdXIgPSBjdXJXaWxkLT5uc1NldDsKKwl9CisJd2hpbGUgKGN1ciAhPSBOVUxMKSB7CisJICAgIGlmIChjdXItPnZhbHVlID09IE5VTEwpIHsKKwkJLyoKKwkJKiA2LjEgSWYgdGhlIHNldCBTIGluY2x1ZGVzIGBhYnNlbnRgLCB0aGVuIGFueSBtdXN0IGJlIHRoZQorCQkqIHZhbHVlLgorCQkqLworCQljb21wbGV0ZVdpbGQtPmFueSA9IDE7CisJCWlmIChjb21wbGV0ZVdpbGQtPm5zU2V0ICE9IE5VTEwpIHsKKwkJICAgIHhtbFNjaGVtYUZyZWVXaWxkY2FyZE5zU2V0KGNvbXBsZXRlV2lsZC0+bnNTZXQpOworCQkgICAgY29tcGxldGVXaWxkLT5uc1NldCA9IE5VTEw7CisJCX0KKwkJaWYgKGNvbXBsZXRlV2lsZC0+bmVnTnNTZXQgIT0gTlVMTCkgeworCQkgICAgeG1sRnJlZShjb21wbGV0ZVdpbGQtPm5lZ05zU2V0KTsKKwkJICAgIGNvbXBsZXRlV2lsZC0+bmVnTnNTZXQgPSBOVUxMOworCQl9CisJCXJldHVybiAoMCk7CisJICAgIH0KKwkgICAgY3VyID0gY3VyLT5uZXh0OworCX0KKwlpZiAoY29tcGxldGVXaWxkLT5uZWdOc1NldCA9PSBOVUxMKSB7CisJICAgIC8qCisJICAgICogNi4yIElmIHRoZSBzZXQgUyBkb2VzIG5vdCBpbmNsdWRlIGBhYnNlbnRgLCB0aGVuIGEgcGFpciBvZiBub3QKKwkgICAgKiBhbmQgYGFic2VudGAgbXVzdCBiZSB0aGUgdmFsdWUuCisJICAgICovCisJICAgIGlmIChjb21wbGV0ZVdpbGQtPm5zU2V0ICE9IE5VTEwpIHsKKwkJeG1sU2NoZW1hRnJlZVdpbGRjYXJkTnNTZXQoY29tcGxldGVXaWxkLT5uc1NldCk7CisJCWNvbXBsZXRlV2lsZC0+bnNTZXQgPSBOVUxMOworCSAgICB9CisJICAgIGNvbXBsZXRlV2lsZC0+bmVnTnNTZXQgPSB4bWxTY2hlbWFOZXdXaWxkY2FyZE5zQ29uc3RyYWludChjdHh0KTsKKwkgICAgaWYgKGNvbXBsZXRlV2lsZC0+bmVnTnNTZXQgPT0gTlVMTCkKKwkJcmV0dXJuICgtMSk7CisJICAgIGNvbXBsZXRlV2lsZC0+bmVnTnNTZXQtPnZhbHVlID0gTlVMTDsKKwl9CisJcmV0dXJuICgwKTsKKyAgICB9CisgICAgcmV0dXJuICgwKTsKKworfQorCisvKioKKyAqIHhtbFNjaGVtYUludGVyc2VjdFdpbGRjYXJkczoKKyAqIEBjdHh0OiAgdGhlIHNjaGVtYSBwYXJzZXIgY29udGV4dAorICogQGNvbXBsZXRlV2lsZDogIHRoZSBmaXJzdCB3aWxkY2FyZAorICogQGN1cldpbGQ6IHRoZSBzZWNvbmQgd2lsZGNhcmQKKyAqCisgKiBJbnRlcnNlY3RzIHRoZSBuYW1lc3BhY2UgY29uc3RyYWludHMgb2YgdGhlIGdpdmVuIHdpbGRjYXJkcy4KKyAqIEBjb21wbGV0ZVdpbGQgd2lsbCBob2xkIHRoZSByZXN1bHRpbmcgaW50ZXJzZWN0aW9uLgorICogUmV0dXJucyBhIHBvc2l0aXZlIGVycm9yIGNvZGUgb24gZmFpbHVyZSwgLTEgaW4gY2FzZSBvZiBhbgorICogaW50ZXJuYWwgZXJyb3IsIDAgb3RoZXJ3aXNlLgorICovCitzdGF0aWMgaW50Cit4bWxTY2hlbWFJbnRlcnNlY3RXaWxkY2FyZHMoeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBjdHh0LAorCQkJICAgIHhtbFNjaGVtYVdpbGRjYXJkUHRyIGNvbXBsZXRlV2lsZCwKKwkJCSAgICB4bWxTY2hlbWFXaWxkY2FyZFB0ciBjdXJXaWxkKQoreworICAgIHhtbFNjaGVtYVdpbGRjYXJkTnNQdHIgY3VyLCBjdXJCLCBwcmV2LCAgdG1wOworCisgICAgLyoKKyAgICAqIDEgSWYgTzEgYW5kIE8yIGFyZSB0aGUgc2FtZSB2YWx1ZSwgdGhlbiB0aGF0IHZhbHVlIG11c3QgYmUgdGhlCisgICAgKiB2YWx1ZS4KKyAgICAqLworICAgIGlmICgoY29tcGxldGVXaWxkLT5hbnkgPT0gY3VyV2lsZC0+YW55KSAmJgorCSgoY29tcGxldGVXaWxkLT5uc1NldCA9PSBOVUxMKSA9PSAoY3VyV2lsZC0+bnNTZXQgPT0gTlVMTCkpICYmCisJKChjb21wbGV0ZVdpbGQtPm5lZ05zU2V0ID09IE5VTEwpID09IChjdXJXaWxkLT5uZWdOc1NldCA9PSBOVUxMKSkpIHsKKworCWlmICgoY29tcGxldGVXaWxkLT5uZWdOc1NldCA9PSBOVUxMKSB8fAorCSAgICAoY29tcGxldGVXaWxkLT5uZWdOc1NldC0+dmFsdWUgPT0gY3VyV2lsZC0+bmVnTnNTZXQtPnZhbHVlKSkgeworCisJICAgIGlmIChjb21wbGV0ZVdpbGQtPm5zU2V0ICE9IE5VTEwpIHsKKwkJaW50IGZvdW5kID0gMDsKKworCQkvKgorCQkqIENoZWNrIGVxdWFsaXR5IG9mIHNldHMuCisJCSovCisJCWN1ciA9IGNvbXBsZXRlV2lsZC0+bnNTZXQ7CisJCXdoaWxlIChjdXIgIT0gTlVMTCkgeworCQkgICAgZm91bmQgPSAwOworCQkgICAgY3VyQiA9IGN1cldpbGQtPm5zU2V0OworCQkgICAgd2hpbGUgKGN1ckIgIT0gTlVMTCkgeworCQkJaWYgKGN1ci0+dmFsdWUgPT0gY3VyQi0+dmFsdWUpIHsKKwkJCSAgICBmb3VuZCA9IDE7CisJCQkgICAgYnJlYWs7CisJCQl9CisJCQljdXJCID0gY3VyQi0+bmV4dDsKKwkJICAgIH0KKwkJICAgIGlmICghZm91bmQpCisJCQlicmVhazsKKwkJICAgIGN1ciA9IGN1ci0+bmV4dDsKKwkJfQorCQlpZiAoZm91bmQpCisJCSAgICByZXR1cm4oMCk7CisJICAgIH0gZWxzZQorCQlyZXR1cm4oMCk7CisJfQorICAgIH0KKyAgICAvKgorICAgICogMiBJZiBlaXRoZXIgTzEgb3IgTzIgaXMgYW55LCB0aGVuIHRoZSBvdGhlciBtdXN0IGJlIHRoZSB2YWx1ZS4KKyAgICAqLworICAgIGlmICgoY29tcGxldGVXaWxkLT5hbnkgIT0gY3VyV2lsZC0+YW55KSAmJiAoY29tcGxldGVXaWxkLT5hbnkpKSB7CisJaWYgKHhtbFNjaGVtYUNsb25lV2lsZGNhcmROc0NvbnN0cmFpbnRzKGN0eHQsIGNvbXBsZXRlV2lsZCwgY3VyV2lsZCkgPT0gLTEpCisJICAgIHJldHVybigtMSk7CisJcmV0dXJuKDApOworICAgIH0KKyAgICAvKgorICAgICogMyBJZiBlaXRoZXIgTzEgb3IgTzIgaXMgYSBwYWlyIG9mIG5vdCBhbmQgYSB2YWx1ZSAoYSBuYW1lc3BhY2UKKyAgICAqIG5hbWUgb3IgYGFic2VudGApIGFuZCB0aGUgb3RoZXIgaXMgYSBzZXQgb2YgKG5hbWVzcGFjZSBuYW1lcyBvcgorICAgICogYGFic2VudGApLCB0aGVuIHRoYXQgc2V0LCBtaW51cyB0aGUgbmVnYXRlZCB2YWx1ZSBpZiBpdCB3YXMgaW4KKyAgICAqIHRoZSBzZXQsIG1pbnVzIGBhYnNlbnRgIGlmIGl0IHdhcyBpbiB0aGUgc2V0LCBtdXN0IGJlIHRoZSB2YWx1ZS4KKyAgICAqLworICAgIGlmICgoKGNvbXBsZXRlV2lsZC0+bmVnTnNTZXQgIT0gTlVMTCkgJiYgKGN1cldpbGQtPm5zU2V0ICE9IE5VTEwpKSB8fAorCSgoY3VyV2lsZC0+bmVnTnNTZXQgIT0gTlVMTCkgJiYgKGNvbXBsZXRlV2lsZC0+bnNTZXQgIT0gTlVMTCkpKSB7CisJY29uc3QgeG1sQ2hhciAqbmVnOworCisJaWYgKGNvbXBsZXRlV2lsZC0+bnNTZXQgPT0gTlVMTCkgeworCSAgICBuZWcgPSBjb21wbGV0ZVdpbGQtPm5lZ05zU2V0LT52YWx1ZTsKKwkgICAgaWYgKHhtbFNjaGVtYUNsb25lV2lsZGNhcmROc0NvbnN0cmFpbnRzKGN0eHQsIGNvbXBsZXRlV2lsZCwgY3VyV2lsZCkgPT0gLTEpCisJCXJldHVybigtMSk7CisJfSBlbHNlCisJICAgIG5lZyA9IGN1cldpbGQtPm5lZ05zU2V0LT52YWx1ZTsKKwkvKgorCSogUmVtb3ZlIGFic2VudCBhbmQgbmVnYXRlZC4KKwkqLworCXByZXYgPSBOVUxMOworCWN1ciA9IGNvbXBsZXRlV2lsZC0+bnNTZXQ7CisJd2hpbGUgKGN1ciAhPSBOVUxMKSB7CisJICAgIGlmIChjdXItPnZhbHVlID09IE5VTEwpIHsKKwkJaWYgKHByZXYgPT0gTlVMTCkKKwkJICAgIGNvbXBsZXRlV2lsZC0+bnNTZXQgPSBjdXItPm5leHQ7CisJCWVsc2UKKwkJICAgIHByZXYtPm5leHQgPSBjdXItPm5leHQ7CisJCXhtbEZyZWUoY3VyKTsKKwkJYnJlYWs7CisJICAgIH0KKwkgICAgcHJldiA9IGN1cjsKKwkgICAgY3VyID0gY3VyLT5uZXh0OworCX0KKwlpZiAobmVnICE9IE5VTEwpIHsKKwkgICAgcHJldiA9IE5VTEw7CisJICAgIGN1ciA9IGNvbXBsZXRlV2lsZC0+bnNTZXQ7CisJICAgIHdoaWxlIChjdXIgIT0gTlVMTCkgeworCQlpZiAoY3VyLT52YWx1ZSA9PSBuZWcpIHsKKwkJICAgIGlmIChwcmV2ID09IE5VTEwpCisJCQljb21wbGV0ZVdpbGQtPm5zU2V0ID0gY3VyLT5uZXh0OworCQkgICAgZWxzZQorCQkJcHJldi0+bmV4dCA9IGN1ci0+bmV4dDsKKwkJICAgIHhtbEZyZWUoY3VyKTsKKwkJICAgIGJyZWFrOworCQl9CisJCXByZXYgPSBjdXI7CisJCWN1ciA9IGN1ci0+bmV4dDsKKwkgICAgfQorCX0KKworCXJldHVybigwKTsKKyAgICB9CisgICAgLyoKKyAgICAqIDQgSWYgYm90aCBPMSBhbmQgTzIgYXJlIHNldHMgb2YgKG5hbWVzcGFjZSBuYW1lcyBvciBgYWJzZW50YCksCisgICAgKiB0aGVuIHRoZSBpbnRlcnNlY3Rpb24gb2YgdGhvc2Ugc2V0cyBtdXN0IGJlIHRoZSB2YWx1ZS4KKyAgICAqLworICAgIGlmICgoY29tcGxldGVXaWxkLT5uc1NldCAhPSBOVUxMKSAmJiAoY3VyV2lsZC0+bnNTZXQgIT0gTlVMTCkpIHsKKwlpbnQgZm91bmQ7CisKKwljdXIgPSBjb21wbGV0ZVdpbGQtPm5zU2V0OworCXByZXYgPSBOVUxMOworCXdoaWxlIChjdXIgIT0gTlVMTCkgeworCSAgICBmb3VuZCA9IDA7CisJICAgIGN1ckIgPSBjdXJXaWxkLT5uc1NldDsKKwkgICAgd2hpbGUgKGN1ckIgIT0gTlVMTCkgeworCQlpZiAoY3VyLT52YWx1ZSA9PSBjdXJCLT52YWx1ZSkgeworCQkgICAgZm91bmQgPSAxOworCQkgICAgYnJlYWs7CisJCX0KKwkJY3VyQiA9IGN1ckItPm5leHQ7CisJICAgIH0KKwkgICAgaWYgKCFmb3VuZCkgeworCQlpZiAocHJldiA9PSBOVUxMKQorCQkgICAgY29tcGxldGVXaWxkLT5uc1NldCA9IGN1ci0+bmV4dDsKKwkJZWxzZQorCQkgICAgcHJldi0+bmV4dCA9IGN1ci0+bmV4dDsKKwkJdG1wID0gY3VyLT5uZXh0OworCQl4bWxGcmVlKGN1cik7CisJCWN1ciA9IHRtcDsKKwkJY29udGludWU7CisJICAgIH0KKwkgICAgcHJldiA9IGN1cjsKKwkgICAgY3VyID0gY3VyLT5uZXh0OworCX0KKworCXJldHVybigwKTsKKyAgICB9CisgICAgLyogNSBJZiB0aGUgdHdvIGFyZSBuZWdhdGlvbnMgb2YgZGlmZmVyZW50IG5hbWVzcGFjZSBuYW1lcywKKyAgICAqIHRoZW4gdGhlIGludGVyc2VjdGlvbiBpcyBub3QgZXhwcmVzc2libGUKKyAgICAqLworICAgIGlmICgoY29tcGxldGVXaWxkLT5uZWdOc1NldCAhPSBOVUxMKSAmJgorCShjdXJXaWxkLT5uZWdOc1NldCAhPSBOVUxMKSAmJgorCShjb21wbGV0ZVdpbGQtPm5lZ05zU2V0LT52YWx1ZSAhPSBjdXJXaWxkLT5uZWdOc1NldC0+dmFsdWUpICYmCisJKGNvbXBsZXRlV2lsZC0+bmVnTnNTZXQtPnZhbHVlICE9IE5VTEwpICYmCisJKGN1cldpbGQtPm5lZ05zU2V0LT52YWx1ZSAhPSBOVUxMKSkgeworCisJeG1sU2NoZW1hUEVycihjdHh0LCBjb21wbGV0ZVdpbGQtPm5vZGUsIFhNTF9TQ0hFTUFQX0lOVEVSU0VDVElPTl9OT1RfRVhQUkVTU0lCTEUsCisJICAgICJUaGUgaW50ZXJzZWN0aW9uIG9mIHRoZSB3aWxjYXJkIGlzIG5vdCBleHByZXNzaWJsZS5cbiIsCisJICAgIE5VTEwsIE5VTEwpOworCXJldHVybihYTUxfU0NIRU1BUF9JTlRFUlNFQ1RJT05fTk9UX0VYUFJFU1NJQkxFKTsKKyAgICB9CisgICAgLyoKKyAgICAqIDYgSWYgdGhlIG9uZSBpcyBhIG5lZ2F0aW9uIG9mIGEgbmFtZXNwYWNlIG5hbWUgYW5kIHRoZSBvdGhlcgorICAgICogaXMgYSBuZWdhdGlvbiBvZiBgYWJzZW50YCwgdGhlbiB0aGUgb25lIHdoaWNoIGlzIHRoZSBuZWdhdGlvbgorICAgICogb2YgYSBuYW1lc3BhY2UgbmFtZSBtdXN0IGJlIHRoZSB2YWx1ZS4KKyAgICAqLworICAgIGlmICgoY29tcGxldGVXaWxkLT5uZWdOc1NldCAhPSBOVUxMKSAmJiAoY3VyV2lsZC0+bmVnTnNTZXQgIT0gTlVMTCkgJiYKKwkoY29tcGxldGVXaWxkLT5uZWdOc1NldC0+dmFsdWUgIT0gY3VyV2lsZC0+bmVnTnNTZXQtPnZhbHVlKSAmJgorCShjb21wbGV0ZVdpbGQtPm5lZ05zU2V0LT52YWx1ZSA9PSBOVUxMKSkgeworCWNvbXBsZXRlV2lsZC0+bmVnTnNTZXQtPnZhbHVlID0gIGN1cldpbGQtPm5lZ05zU2V0LT52YWx1ZTsKKyAgICB9CisgICAgcmV0dXJuKDApOworfQorCisvKioKKyAqIHhtbFNjaGVtYUlzV2lsZGNhcmROc0NvbnN0cmFpbnRTdWJzZXQ6CisgKiBAY3R4dDogIHRoZSBzY2hlbWEgcGFyc2VyIGNvbnRleHQKKyAqIEBzdWI6ICB0aGUgZmlyc3Qgd2lsZGNhcmQKKyAqIEBzdXBlcjogdGhlIHNlY29uZCB3aWxkY2FyZAorICoKKyAqIFNjaGVtYSBDb21wb25lbnQgQ29uc3RyYWludDogV2lsZGNhcmQgU3Vic2V0IChjb3MtbnMtc3Vic2V0KQorICoKKyAqIFJldHVybnMgMCBpZiB0aGUgbmFtZXNwYWNlIGNvbnN0cmFpbnQgb2YgQHN1YiBpcyBhbiBpbnRlbnNpb25hbAorICogc3Vic2V0IG9mIEBzdXBlciwgMSBvdGhlcndpc2UuCisgKi8KK3N0YXRpYyBpbnQKK3htbFNjaGVtYUNoZWNrQ09TTlNTdWJzZXQoeG1sU2NoZW1hV2lsZGNhcmRQdHIgc3ViLAorCQkJICB4bWxTY2hlbWFXaWxkY2FyZFB0ciBzdXBlcikKK3sKKyAgICAvKgorICAgICogMSBzdXBlciBtdXN0IGJlIGFueS4KKyAgICAqLworICAgIGlmIChzdXBlci0+YW55KQorCXJldHVybiAoMCk7CisgICAgLyoKKyAgICAqIDIuMSBzdWIgbXVzdCBiZSBhIHBhaXIgb2Ygbm90IGFuZCBhIG5hbWVzcGFjZSBuYW1lIG9yIGBhYnNlbnRgLgorICAgICogMi4yIHN1cGVyIG11c3QgYmUgYSBwYWlyIG9mIG5vdCBhbmQgdGhlIHNhbWUgdmFsdWUuCisgICAgKi8KKyAgICBpZiAoKHN1Yi0+bmVnTnNTZXQgIT0gTlVMTCkgJiYKKwkoc3VwZXItPm5lZ05zU2V0ICE9IE5VTEwpICYmCisJKHN1Yi0+bmVnTnNTZXQtPnZhbHVlID09IHN1cGVyLT5uZWdOc1NldC0+dmFsdWUpKQorCXJldHVybiAoMCk7CisgICAgLyoKKyAgICAqIDMuMSBzdWIgbXVzdCBiZSBhIHNldCB3aG9zZSBtZW1iZXJzIGFyZSBlaXRoZXIgbmFtZXNwYWNlIG5hbWVzIG9yIGBhYnNlbnRgLgorICAgICovCisgICAgaWYgKHN1Yi0+bnNTZXQgIT0gTlVMTCkgeworCS8qCisJKiAzLjIuMSBzdXBlciBtdXN0IGJlIHRoZSBzYW1lIHNldCBvciBhIHN1cGVyc2V0IHRoZXJlb2YuCisJKi8KKwlpZiAoc3VwZXItPm5zU2V0ICE9IE5VTEwpIHsKKwkgICAgeG1sU2NoZW1hV2lsZGNhcmROc1B0ciBjdXIsIGN1ckI7CisJICAgIGludCBmb3VuZCA9IDA7CisKKwkgICAgY3VyID0gc3ViLT5uc1NldDsKKwkgICAgd2hpbGUgKGN1ciAhPSBOVUxMKSB7CisJCWZvdW5kID0gMDsKKwkJY3VyQiA9IHN1cGVyLT5uc1NldDsKKwkJd2hpbGUgKGN1ckIgIT0gTlVMTCkgeworCQkgICAgaWYgKGN1ci0+dmFsdWUgPT0gY3VyQi0+dmFsdWUpIHsKKwkJCWZvdW5kID0gMTsKKwkJCWJyZWFrOworCQkgICAgfQorCQkgICAgY3VyQiA9IGN1ckItPm5leHQ7CisJCX0KKwkJaWYgKCFmb3VuZCkKKwkJICAgIHJldHVybiAoMSk7CisJCWN1ciA9IGN1ci0+bmV4dDsKKwkgICAgfQorCSAgICBpZiAoZm91bmQpCisJCXJldHVybiAoMCk7CisJfSBlbHNlIGlmIChzdXBlci0+bmVnTnNTZXQgIT0gTlVMTCkgeworCSAgICB4bWxTY2hlbWFXaWxkY2FyZE5zUHRyIGN1cjsKKwkgICAgLyoKKwkgICAgKiAzLjIuMiBzdXBlciBtdXN0IGJlIGEgcGFpciBvZiBub3QgYW5kIGEgbmFtZXNwYWNlIG5hbWUgb3IKKwkgICAgKiBgYWJzZW50YCBhbmQgdGhhdCB2YWx1ZSBtdXN0IG5vdCBiZSBpbiBzdWIncyBzZXQuCisJICAgICovCisJICAgIGN1ciA9IHN1Yi0+bnNTZXQ7CisJICAgIHdoaWxlIChjdXIgIT0gTlVMTCkgeworCQlpZiAoY3VyLT52YWx1ZSA9PSBzdXBlci0+bmVnTnNTZXQtPnZhbHVlKQorCQkgICAgcmV0dXJuICgxKTsKKwkJY3VyID0gY3VyLT5uZXh0OworCSAgICB9CisJICAgIHJldHVybiAoMCk7CisJfQorICAgIH0KKyAgICByZXR1cm4gKDEpOworfQorCitzdGF0aWMgaW50Cit4bWxTY2hlbWFHZXRFZmZlY3RpdmVWYWx1ZUNvbnN0cmFpbnQoeG1sU2NoZW1hQXR0cmlidXRlVXNlUHRyIGF0dHJ1c2UsCisJCQkJICAgICBpbnQgKmZpeGVkLAorCQkJCSAgICAgY29uc3QgeG1sQ2hhciAqKnZhbHVlLAorCQkJCSAgICAgeG1sU2NoZW1hVmFsUHRyICp2YWwpCit7CisgICAgKmZpeGVkID0gMDsKKyAgICAqdmFsdWUgPSBOVUxMOworICAgIGlmICh2YWwgIT0gMCkKKwkqdmFsID0gTlVMTDsKKworICAgIGlmIChhdHRydXNlLT5kZWZWYWx1ZSAhPSBOVUxMKSB7CisJKnZhbHVlID0gYXR0cnVzZS0+ZGVmVmFsdWU7CisJaWYgKHZhbCAhPSBOVUxMKQorCSAgICAqdmFsID0gYXR0cnVzZS0+ZGVmVmFsOworCWlmIChhdHRydXNlLT5mbGFncyAmIFhNTF9TQ0hFTUFfQVRUUl9VU0VfRklYRUQpCisJICAgICpmaXhlZCA9IDE7CisJcmV0dXJuKDEpOworICAgIH0gZWxzZSBpZiAoKGF0dHJ1c2UtPmF0dHJEZWNsICE9IE5VTEwpICYmCisJKGF0dHJ1c2UtPmF0dHJEZWNsLT5kZWZWYWx1ZSAhPSBOVUxMKSkgeworCSp2YWx1ZSA9IGF0dHJ1c2UtPmF0dHJEZWNsLT5kZWZWYWx1ZTsKKwlpZiAodmFsICE9IE5VTEwpCisJICAgICp2YWwgPSBhdHRydXNlLT5hdHRyRGVjbC0+ZGVmVmFsOworCWlmIChhdHRydXNlLT5hdHRyRGVjbC0+ZmxhZ3MgJiBYTUxfU0NIRU1BU19BVFRSX0ZJWEVEKQorCSAgICAqZml4ZWQgPSAxOworCXJldHVybigxKTsKKyAgICB9CisgICAgcmV0dXJuKDApOworfQorLyoqCisgKiB4bWxTY2hlbWFDaGVja0NWQ1dpbGRjYXJkTmFtZXNwYWNlOgorICogQHdpbGQ6ICB0aGUgd2lsZGNhcmQKKyAqIEBuczogIHRoZSBuYW1lc3BhY2UKKyAqCisgKiBWYWxpZGF0aW9uIFJ1bGU6IFdpbGRjYXJkIGFsbG93cyBOYW1lc3BhY2UgTmFtZQorICogKGN2Yy13aWxkY2FyZC1uYW1lc3BhY2UpCisgKgorICogUmV0dXJucyAwIGlmIHRoZSBnaXZlbiBuYW1lc3BhY2UgbWF0Y2hlcyB0aGUgd2lsZGNhcmQsCisgKiAxIG90aGVyd2lzZSBhbmQgLTEgb24gQVBJIGVycm9ycy4KKyAqLworc3RhdGljIGludAoreG1sU2NoZW1hQ2hlY2tDVkNXaWxkY2FyZE5hbWVzcGFjZSh4bWxTY2hlbWFXaWxkY2FyZFB0ciB3aWxkLAorCQkJCSAgIGNvbnN0IHhtbENoYXIqIG5zKQoreworICAgIGlmICh3aWxkID09IE5VTEwpCisJcmV0dXJuKC0xKTsKKworICAgIGlmICh3aWxkLT5hbnkpCisJcmV0dXJuKDApOworICAgIGVsc2UgaWYgKHdpbGQtPm5zU2V0ICE9IE5VTEwpIHsKKwl4bWxTY2hlbWFXaWxkY2FyZE5zUHRyIGN1cjsKKworCWN1ciA9IHdpbGQtPm5zU2V0OworCXdoaWxlIChjdXIgIT0gTlVMTCkgeworCSAgICBpZiAoeG1sU3RyRXF1YWwoY3VyLT52YWx1ZSwgbnMpKQorCQlyZXR1cm4oMCk7CisJICAgIGN1ciA9IGN1ci0+bmV4dDsKKwl9CisgICAgfSBlbHNlIGlmICgod2lsZC0+bmVnTnNTZXQgIT0gTlVMTCkgJiYgKG5zICE9IE5VTEwpICYmCisJKCF4bWxTdHJFcXVhbCh3aWxkLT5uZWdOc1NldC0+dmFsdWUsIG5zKSkpCisJcmV0dXJuKDApOworCisgICAgcmV0dXJuKDEpOworfQorCisjZGVmaW5lIFhNTF9TQ0hFTUFfQUNUSU9OX0RFUklWRSAwCisjZGVmaW5lIFhNTF9TQ0hFTUFfQUNUSU9OX1JFREVGSU5FIDEKKworI2RlZmluZSBXWFNfQUNUSU9OX1NUUihhKSBcCisoKGEpID09IFhNTF9TQ0hFTUFfQUNUSU9OX0RFUklWRSkgPyAoY29uc3QgeG1sQ2hhciAqKSAiYmFzZSIgOiAoY29uc3QgeG1sQ2hhciAqKSAicmVkZWZpbmVkIgorCisvKgorKiBTY2hlbWEgQ29tcG9uZW50IENvbnN0cmFpbnQ6CisqICAgRGVyaXZhdGlvbiBWYWxpZCAoUmVzdHJpY3Rpb24sIENvbXBsZXgpCisqICAgZGVyaXZhdGlvbi1vay1yZXN0cmljdGlvbiAoMikgLSAoNCkKKyoKKyogQVRURU5USU9OOgorKiBJbiBYTUwgU2NoZW1hIDEuMSB0aGlzIHdpbGwgYmU6CisqIFZhbGlkYXRpb24gUnVsZToKKyogICAgIENoZWNraW5nIGNvbXBsZXggdHlwZSBzdWJzdW1wdGlvbiAocHJhY3RpY2FsU3Vic3VtcHRpb24pICgxLCAyIGFuZCAzKQorKgorKi8KK3N0YXRpYyBpbnQKK3htbFNjaGVtYUNoZWNrRGVyaXZhdGlvbk9LUmVzdHJpY3Rpb24ydG80KHhtbFNjaGVtYVBhcnNlckN0eHRQdHIgcGN0eHQsCisJCQkJICAgICAgIGludCBhY3Rpb24sCisJCQkJICAgICAgIHhtbFNjaGVtYUJhc2ljSXRlbVB0ciBpdGVtLAorCQkJCSAgICAgICB4bWxTY2hlbWFCYXNpY0l0ZW1QdHIgYmFzZUl0ZW0sCisJCQkJICAgICAgIHhtbFNjaGVtYUl0ZW1MaXN0UHRyIHVzZXMsCisJCQkJICAgICAgIHhtbFNjaGVtYUl0ZW1MaXN0UHRyIGJhc2VVc2VzLAorCQkJCSAgICAgICB4bWxTY2hlbWFXaWxkY2FyZFB0ciB3aWxkLAorCQkJCSAgICAgICB4bWxTY2hlbWFXaWxkY2FyZFB0ciBiYXNlV2lsZCkKK3sKKyAgICB4bWxTY2hlbWFBdHRyaWJ1dGVVc2VQdHIgY3VyID0gTlVMTCwgYmN1cjsKKyAgICBpbnQgaSwgaiwgZm91bmQ7IC8qIGVyciA9IDA7ICovCisgICAgY29uc3QgeG1sQ2hhciAqYkVmZlZhbHVlOworICAgIGludCBlZmZGaXhlZDsKKworICAgIGlmICh1c2VzICE9IE5VTEwpIHsKKwlmb3IgKGkgPSAwOyBpIDwgdXNlcy0+bmJJdGVtczsgaSsrKSB7CisJICAgIGN1ciA9IHVzZXMtPml0ZW1zW2ldOworCSAgICBmb3VuZCA9IDA7CisJICAgIGlmIChiYXNlVXNlcyA9PSBOVUxMKQorCQlnb3RvIG5vdF9mb3VuZDsKKwkgICAgZm9yIChqID0gMDsgaiA8IGJhc2VVc2VzLT5uYkl0ZW1zOyBqKyspIHsKKwkJYmN1ciA9IGJhc2VVc2VzLT5pdGVtc1tqXTsKKwkJaWYgKChXWFNfQVRUUlVTRV9ERUNMX05BTUUoY3VyKSA9PQorCQkJV1hTX0FUVFJVU0VfREVDTF9OQU1FKGJjdXIpKSAmJgorCQkgICAgKFdYU19BVFRSVVNFX0RFQ0xfVE5TKGN1cikgPT0KKwkJCVdYU19BVFRSVVNFX0RFQ0xfVE5TKGJjdXIpKSkKKwkJeworCQkgICAgLyoKKwkJICAgICogKDIuMSkgIklmIHRoZXJlIGlzIGFuIGF0dHJpYnV0ZSB1c2UgaW4gdGhlIHthdHRyaWJ1dGUKKwkJICAgICogdXNlc30gb2YgdGhlIHtiYXNlIHR5cGUgZGVmaW5pdGlvbn0gKGNhbGwgdGhpcyBCKSB3aG9zZQorCQkgICAgKiB7YXR0cmlidXRlIGRlY2xhcmF0aW9ufSBoYXMgdGhlIHNhbWUge25hbWV9IGFuZCB7dGFyZ2V0CisJCSAgICAqIG5hbWVzcGFjZX0sIHRoZW4gIGFsbCBvZiB0aGUgZm9sbG93aW5nIG11c3QgYmUgdHJ1ZToiCisJCSAgICAqLworCQkgICAgZm91bmQgPSAxOworCisJCSAgICBpZiAoKGN1ci0+b2NjdXJzID09IFhNTF9TQ0hFTUFTX0FUVFJfVVNFX09QVElPTkFMKSAmJgorCQkJKGJjdXItPm9jY3VycyA9PSBYTUxfU0NIRU1BU19BVFRSX1VTRV9SRVFVSVJFRCkpCisJCSAgICB7CisJCQl4bWxDaGFyICpzdHIgPSBOVUxMOworCQkJLyoKKwkJCSogKDIuMS4xKSAib25lIG9mIHRoZSBmb2xsb3dpbmcgbXVzdCBiZSB0cnVlOiIKKwkJCSogKDIuMS4xLjEpICJCJ3Mge3JlcXVpcmVkfSBpcyBmYWxzZS4iCisJCQkqICgyLjEuMS4yKSAiUidzIHtyZXF1aXJlZH0gaXMgdHJ1ZS4iCisJCQkqLworCQkJeG1sU2NoZW1hUEF0dHJVc2VFcnI0KHBjdHh0LAorCQkJICAgIFhNTF9TQ0hFTUFQX0RFUklWQVRJT05fT0tfUkVTVFJJQ1RJT05fMl8xXzEsCisJCQkgICAgV1hTX0lURU1fTk9ERShpdGVtKSwgaXRlbSwgY3VyLAorCQkJICAgICJUaGUgJ29wdGlvbmFsJyBhdHRyaWJ1dGUgdXNlIGlzIGluY29uc2lzdGVudCAiCisJCQkgICAgIndpdGggdGhlIGNvcnJlc3BvbmRpbmcgJ3JlcXVpcmVkJyBhdHRyaWJ1dGUgdXNlIG9mICIKKwkJCSAgICAidGhlICVzICVzIiwKKwkJCSAgICBXWFNfQUNUSU9OX1NUUihhY3Rpb24pLAorCQkJICAgIHhtbFNjaGVtYUdldENvbXBvbmVudERlc2lnbmF0aW9uKCZzdHIsIGJhc2VJdGVtKSwKKwkJCSAgICBOVUxMLCBOVUxMKTsKKwkJCUZSRUVfQU5EX05VTEwoc3RyKTsKKwkJCS8qIGVyciA9IHBjdHh0LT5lcnI7ICovCisJCSAgICB9IGVsc2UgaWYgKHhtbFNjaGVtYUNoZWNrQ09TU1REZXJpdmVkT0soQUNUWFRfQ0FTVCBwY3R4dCwKKwkJCVdYU19BVFRSVVNFX1RZUEVERUYoY3VyKSwKKwkJCVdYU19BVFRSVVNFX1RZUEVERUYoYmN1ciksIDApICE9IDApCisJCSAgICB7CisJCQl4bWxDaGFyICpzdHJBID0gTlVMTCwgKnN0ckIgPSBOVUxMLCAqc3RyQyA9IE5VTEw7CisKKwkJCS8qCisJCQkqIFNQRUMgKDIuMS4yKSAiUidzIHthdHRyaWJ1dGUgZGVjbGFyYXRpb259J3MKKwkJCSoge3R5cGUgZGVmaW5pdGlvbn0gbXVzdCBiZSB2YWxpZGx5IGRlcml2ZWQgZnJvbQorCQkJKiBCJ3Mge3R5cGUgZGVmaW5pdGlvbn0gZ2l2ZW4gdGhlIGVtcHR5IHNldCBhcworCQkJKiBkZWZpbmVkIGluIFR5cGUgRGVyaXZhdGlvbiBPSyAoU2ltcGxlKSAoJDMuMTQuNikuIgorCQkJKi8KKwkJCXhtbFNjaGVtYVBBdHRyVXNlRXJyNChwY3R4dCwKKwkJCSAgICBYTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzJfMV8yLAorCQkJICAgIFdYU19JVEVNX05PREUoaXRlbSksIGl0ZW0sIGN1ciwKKwkJCSAgICAiVGhlIGF0dHJpYnV0ZSBkZWNsYXJhdGlvbidzICVzICIKKwkJCSAgICAiaXMgbm90IHZhbGlkbHkgZGVyaXZlZCBmcm9tICIKKwkJCSAgICAidGhlIGNvcnJlc3BvbmRpbmcgJXMgb2YgdGhlICIKKwkJCSAgICAiYXR0cmlidXRlIGRlY2xhcmF0aW9uIGluIHRoZSAlcyAlcyIsCisJCQkgICAgeG1sU2NoZW1hR2V0Q29tcG9uZW50RGVzaWduYXRpb24oJnN0ckEsCisJCQkJV1hTX0FUVFJVU0VfVFlQRURFRihjdXIpKSwKKwkJCSAgICB4bWxTY2hlbWFHZXRDb21wb25lbnREZXNpZ25hdGlvbigmc3RyQiwKKwkJCQlXWFNfQVRUUlVTRV9UWVBFREVGKGJjdXIpKSwKKwkJCSAgICBXWFNfQUNUSU9OX1NUUihhY3Rpb24pLAorCQkJICAgIHhtbFNjaGVtYUdldENvbXBvbmVudERlc2lnbmF0aW9uKCZzdHJDLCBiYXNlSXRlbSkpOworCQkJICAgIC8qIHhtbFNjaGVtYUdldENvbXBvbmVudERlc2lnbmF0aW9uKCZzdHIsIGJhc2VJdGVtKSwgKi8KKwkJCUZSRUVfQU5EX05VTEwoc3RyQSk7CisJCQlGUkVFX0FORF9OVUxMKHN0ckIpOworCQkJRlJFRV9BTkRfTlVMTChzdHJDKTsKKwkJCS8qIGVyciA9IHBjdHh0LT5lcnI7ICovCisJCSAgICB9IGVsc2UgeworCQkJLyoKKwkJCSogMi4xLjMgW0RlZmluaXRpb246XSAgTGV0IHRoZSBlZmZlY3RpdmUgdmFsdWUKKwkJCSogY29uc3RyYWludCBvZiBhbiBhdHRyaWJ1dGUgdXNlIGJlIGl0cyB7dmFsdWUKKwkJCSogY29uc3RyYWludH0sIGlmIHByZXNlbnQsIG90aGVyd2lzZSBpdHMge2F0dHJpYnV0ZQorCQkJKiBkZWNsYXJhdGlvbn0ncyB7dmFsdWUgY29uc3RyYWludH0gLgorCQkJKi8KKwkJCXhtbFNjaGVtYUdldEVmZmVjdGl2ZVZhbHVlQ29uc3RyYWludChiY3VyLAorCQkJICAgICZlZmZGaXhlZCwgJmJFZmZWYWx1ZSwgTlVMTCk7CisJCQkvKgorCQkJKiAyLjEuMyAuLi4gb25lIG9mIHRoZSBmb2xsb3dpbmcgbXVzdCBiZSB0cnVlCisJCQkqCisJCQkqIDIuMS4zLjEgQidzIGBlZmZlY3RpdmUgdmFsdWUgY29uc3RyYWludGAgaXMKKwkJCSogYGFic2VudGAgb3IgZGVmYXVsdC4KKwkJCSovCisJCQlpZiAoKGJFZmZWYWx1ZSAhPSBOVUxMKSAmJgorCQkJICAgIChlZmZGaXhlZCA9PSAxKSkgeworCQkJICAgIGNvbnN0IHhtbENoYXIgKnJFZmZWYWx1ZSA9IE5VTEw7CisKKwkJCSAgICB4bWxTY2hlbWFHZXRFZmZlY3RpdmVWYWx1ZUNvbnN0cmFpbnQoYmN1ciwKKwkJCQkmZWZmRml4ZWQsICZyRWZmVmFsdWUsIE5VTEwpOworCQkJICAgIC8qCisJCQkgICAgKiAyLjEuMy4yIFIncyBgZWZmZWN0aXZlIHZhbHVlIGNvbnN0cmFpbnRgIGlzCisJCQkgICAgKiBmaXhlZCB3aXRoIHRoZSBzYW1lIHN0cmluZyBhcyBCJ3MuCisJCQkgICAgKiBNQVlCRSBUT0RPOiBDb21wYXJlIHRoZSBjb21wdXRlZCB2YWx1ZXMuCisJCQkgICAgKiAgICAgICBIbW0sIGl0IHNheXMgInNhbWUgc3RyaW5nIiBzbworCQkJICAgICogICAgICAgc3RyaW5nLWVxdWFsaXR5IG1pZ2h0IHJlYWxseSBiZSBzdWZmaWNpZW50LgorCQkJICAgICovCisJCQkgICAgaWYgKChlZmZGaXhlZCA9PSAwKSB8fAorCQkJCSghIFdYU19BUkVfREVGQVVMVF9TVFJfRVFVQUwockVmZlZhbHVlLCBiRWZmVmFsdWUpKSkKKwkJCSAgICB7CisJCQkJeG1sQ2hhciAqc3RyID0gTlVMTDsKKworCQkJCXhtbFNjaGVtYVBBdHRyVXNlRXJyNChwY3R4dCwKKwkJCQkgICAgWE1MX1NDSEVNQVBfREVSSVZBVElPTl9PS19SRVNUUklDVElPTl8yXzFfMywKKwkJCQkgICAgV1hTX0lURU1fTk9ERShpdGVtKSwgaXRlbSwgY3VyLAorCQkJCSAgICAiVGhlIGVmZmVjdGl2ZSB2YWx1ZSBjb25zdHJhaW50IG9mIHRoZSAiCisJCQkJICAgICJhdHRyaWJ1dGUgdXNlIGlzIGluY29uc2lzdGVudCB3aXRoICIKKwkJCQkgICAgIml0cyBjb3JyZXNwb25kZW50IGluIHRoZSAlcyAlcyIsCisJCQkJICAgIFdYU19BQ1RJT05fU1RSKGFjdGlvbiksCisJCQkJICAgIHhtbFNjaGVtYUdldENvbXBvbmVudERlc2lnbmF0aW9uKCZzdHIsCisJCQkJCWJhc2VJdGVtKSwKKwkJCQkgICAgTlVMTCwgTlVMTCk7CisJCQkJRlJFRV9BTkRfTlVMTChzdHIpOworCQkJCS8qIGVyciA9IHBjdHh0LT5lcnI7ICovCisJCQkgICAgfQorCQkJfQorCQkgICAgfQorCQkgICAgYnJlYWs7CisJCX0KKwkgICAgfQorbm90X2ZvdW5kOgorCSAgICBpZiAoIWZvdW5kKSB7CisJCS8qCisJCSogKDIuMikgIm90aGVyd2lzZSB0aGUge2Jhc2UgdHlwZSBkZWZpbml0aW9ufSBtdXN0IGhhdmUgYW4KKwkJKiB7YXR0cmlidXRlIHdpbGRjYXJkfSBhbmQgdGhlIHt0YXJnZXQgbmFtZXNwYWNlfSBvZiB0aGUKKwkJKiBSJ3Mge2F0dHJpYnV0ZSBkZWNsYXJhdGlvbn0gbXVzdCBiZSBgdmFsaWRgIHdpdGggcmVzcGVjdAorCQkqIHRvIHRoYXQgd2lsZGNhcmQsIGFzIGRlZmluZWQgaW4gV2lsZGNhcmQgYWxsb3dzIE5hbWVzcGFjZQorCQkqIE5hbWUgKCQzLjEwLjQpLiIKKwkJKi8KKwkJaWYgKChiYXNlV2lsZCA9PSBOVUxMKSB8fAorCQkgICAgKHhtbFNjaGVtYUNoZWNrQ1ZDV2lsZGNhcmROYW1lc3BhY2UoYmFzZVdpbGQsCisJCSAgICAoV1hTX0FUVFJVU0VfREVDTChjdXIpKS0+dGFyZ2V0TmFtZXNwYWNlKSAhPSAwKSkKKwkJeworCQkgICAgeG1sQ2hhciAqc3RyID0gTlVMTDsKKworCQkgICAgeG1sU2NoZW1hUEF0dHJVc2VFcnI0KHBjdHh0LAorCQkJWE1MX1NDSEVNQVBfREVSSVZBVElPTl9PS19SRVNUUklDVElPTl8yXzIsCisJCQlXWFNfSVRFTV9OT0RFKGl0ZW0pLCBpdGVtLCBjdXIsCisJCQkiTmVpdGhlciBhIG1hdGNoaW5nIGF0dHJpYnV0ZSB1c2UsICIKKwkJCSJub3IgYSBtYXRjaGluZyB3aWxkY2FyZCBleGlzdHMgaW4gdGhlICVzICVzIiwKKwkJCVdYU19BQ1RJT05fU1RSKGFjdGlvbiksCisJCQl4bWxTY2hlbWFHZXRDb21wb25lbnREZXNpZ25hdGlvbigmc3RyLCBiYXNlSXRlbSksCisJCQlOVUxMLCBOVUxMKTsKKwkJICAgIEZSRUVfQU5EX05VTEwoc3RyKTsKKwkJICAgIC8qIGVyciA9IHBjdHh0LT5lcnI7ICovCisJCX0KKwkgICAgfQorCX0KKyAgICB9CisgICAgLyoKKyAgICAqIFNQRUMgZGVyaXZhdGlvbi1vay1yZXN0cmljdGlvbiAoMyk6CisgICAgKiAoMykgIkZvciBlYWNoIGF0dHJpYnV0ZSB1c2UgaW4gdGhlIHthdHRyaWJ1dGUgdXNlc30gb2YgdGhlIHtiYXNlIHR5cGUKKyAgICAqIGRlZmluaXRpb259IHdob3NlIHtyZXF1aXJlZH0gaXMgdHJ1ZSwgdGhlcmUgbXVzdCBiZSBhbiBhdHRyaWJ1dGUKKyAgICAqIHVzZSB3aXRoIGFuIHthdHRyaWJ1dGUgZGVjbGFyYXRpb259IHdpdGggdGhlIHNhbWUge25hbWV9IGFuZAorICAgICoge3RhcmdldCBuYW1lc3BhY2V9IGFzIGl0cyB7YXR0cmlidXRlIGRlY2xhcmF0aW9ufSBpbiB0aGUge2F0dHJpYnV0ZQorICAgICogdXNlc30gb2YgdGhlIGNvbXBsZXggdHlwZSBkZWZpbml0aW9uIGl0c2VsZiB3aG9zZSB7cmVxdWlyZWR9IGlzIHRydWUuCisgICAgKi8KKyAgICBpZiAoYmFzZVVzZXMgIT0gTlVMTCkgeworCWZvciAoaiA9IDA7IGogPCBiYXNlVXNlcy0+bmJJdGVtczsgaisrKSB7CisJICAgIGJjdXIgPSBiYXNlVXNlcy0+aXRlbXNbal07CisJICAgIGlmIChiY3VyLT5vY2N1cnMgIT0gWE1MX1NDSEVNQVNfQVRUUl9VU0VfUkVRVUlSRUQpCisJCWNvbnRpbnVlOworCSAgICBmb3VuZCA9IDA7CisJICAgIGlmICh1c2VzICE9IE5VTEwpIHsKKwkJZm9yIChpID0gMDsgaSA8IHVzZXMtPm5iSXRlbXM7IGkrKykgeworCQkgICAgY3VyID0gdXNlcy0+aXRlbXNbaV07CisJCSAgICBpZiAoKFdYU19BVFRSVVNFX0RFQ0xfTkFNRShjdXIpID09CisJCQlXWFNfQVRUUlVTRV9ERUNMX05BTUUoYmN1cikpICYmCisJCQkoV1hTX0FUVFJVU0VfREVDTF9UTlMoY3VyKSA9PQorCQkJV1hTX0FUVFJVU0VfREVDTF9UTlMoYmN1cikpKSB7CisJCQlmb3VuZCA9IDE7CisJCQlicmVhazsKKwkJICAgIH0KKwkJfQorCSAgICB9CisJICAgIGlmICghZm91bmQpIHsKKwkJeG1sQ2hhciAqc3RyQSA9IE5VTEwsICpzdHJCID0gTlVMTDsKKworCQl4bWxTY2hlbWFDdXN0b21FcnI0KEFDVFhUX0NBU1QgcGN0eHQsCisJCSAgICBYTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzMsCisJCSAgICBOVUxMLCBpdGVtLAorCQkgICAgIkEgbWF0Y2hpbmcgYXR0cmlidXRlIHVzZSBmb3IgdGhlICIKKwkJICAgICIncmVxdWlyZWQnICVzIG9mIHRoZSAlcyAlcyBpcyBtaXNzaW5nIiwKKwkJICAgIHhtbFNjaGVtYUdldENvbXBvbmVudERlc2lnbmF0aW9uKCZzdHJBLCBiY3VyKSwKKwkJICAgIFdYU19BQ1RJT05fU1RSKGFjdGlvbiksCisJCSAgICB4bWxTY2hlbWFHZXRDb21wb25lbnREZXNpZ25hdGlvbigmc3RyQiwgYmFzZUl0ZW0pLAorCQkgICAgTlVMTCk7CisJCUZSRUVfQU5EX05VTEwoc3RyQSk7CisJCUZSRUVfQU5EX05VTEwoc3RyQik7CisJICAgIH0KKwl9CisgICAgfQorICAgIC8qCisgICAgKiBkZXJpdmF0aW9uLW9rLXJlc3RyaWN0aW9uICg0KQorICAgICovCisgICAgaWYgKHdpbGQgIT0gTlVMTCkgeworCS8qCisJKiAoNCkgIklmIHRoZXJlIGlzIGFuIHthdHRyaWJ1dGUgd2lsZGNhcmR9LCBhbGwgb2YgdGhlCisJKiBmb2xsb3dpbmcgbXVzdCBiZSB0cnVlOiIKKwkqLworCWlmIChiYXNlV2lsZCA9PSBOVUxMKSB7CisJICAgIHhtbENoYXIgKnN0ciA9IE5VTEw7CisKKwkgICAgLyoKKwkgICAgKiAoNC4xKSAiVGhlIHtiYXNlIHR5cGUgZGVmaW5pdGlvbn0gbXVzdCBhbHNvIGhhdmUgb25lLiIKKwkgICAgKi8KKwkgICAgeG1sU2NoZW1hQ3VzdG9tRXJyNChBQ1RYVF9DQVNUIHBjdHh0LAorCQlYTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzRfMSwKKwkJTlVMTCwgaXRlbSwKKwkJIlRoZSAlcyBoYXMgYW4gYXR0cmlidXRlIHdpbGRjYXJkLCAiCisJCSJidXQgdGhlICVzICVzICclcycgZG9lcyBub3QgaGF2ZSBvbmUiLAorCQlXWFNfSVRFTV9UWVBFX05BTUUoaXRlbSksCisJCVdYU19BQ1RJT05fU1RSKGFjdGlvbiksCisJCVdYU19JVEVNX1RZUEVfTkFNRShiYXNlSXRlbSksCisJCXhtbFNjaGVtYUdldENvbXBvbmVudFFOYW1lKCZzdHIsIGJhc2VJdGVtKSk7CisJICAgIEZSRUVfQU5EX05VTEwoc3RyKTsKKwkgICAgcmV0dXJuKHBjdHh0LT5lcnIpOworCX0gZWxzZSBpZiAoKGJhc2VXaWxkLT5hbnkgPT0gMCkgJiYKKwkJeG1sU2NoZW1hQ2hlY2tDT1NOU1N1YnNldCh3aWxkLCBiYXNlV2lsZCkpCisJeworCSAgICB4bWxDaGFyICpzdHIgPSBOVUxMOworCSAgICAvKgorCSAgICAqICg0LjIpICJUaGUgY29tcGxleCB0eXBlIGRlZmluaXRpb24ncyB7YXR0cmlidXRlIHdpbGRjYXJkfSdzCisJICAgICoge25hbWVzcGFjZSBjb25zdHJhaW50fSBtdXN0IGJlIGEgc3Vic2V0IG9mIHRoZSB7YmFzZSB0eXBlCisJICAgICogZGVmaW5pdGlvbn0ncyB7YXR0cmlidXRlIHdpbGRjYXJkfSdzIHtuYW1lc3BhY2UgY29uc3RyYWludH0sCisJICAgICogYXMgZGVmaW5lZCBieSBXaWxkY2FyZCBTdWJzZXQgKCQzLjEwLjYpLiIKKwkgICAgKi8KKwkgICAgeG1sU2NoZW1hQ3VzdG9tRXJyNChBQ1RYVF9DQVNUIHBjdHh0LAorCQlYTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzRfMiwKKwkJTlVMTCwgaXRlbSwKKwkJIlRoZSBhdHRyaWJ1dGUgd2lsZGNhcmQgaXMgbm90IGEgdmFsaWQgIgorCQkic3Vic2V0IG9mIHRoZSB3aWxkY2FyZCBpbiB0aGUgJXMgJXMgJyVzJyIsCisJCVdYU19BQ1RJT05fU1RSKGFjdGlvbiksCisJCVdYU19JVEVNX1RZUEVfTkFNRShiYXNlSXRlbSksCisJCXhtbFNjaGVtYUdldENvbXBvbmVudFFOYW1lKCZzdHIsIGJhc2VJdGVtKSwKKwkJTlVMTCk7CisJICAgIEZSRUVfQU5EX05VTEwoc3RyKTsKKwkgICAgcmV0dXJuKHBjdHh0LT5lcnIpOworCX0KKwkvKiA0LjMgVW5sZXNzIHRoZSB7YmFzZSB0eXBlIGRlZmluaXRpb259IGlzIHRoZSBgdXItdHlwZQorCSogZGVmaW5pdGlvbmAsIHRoZSBjb21wbGV4IHR5cGUgZGVmaW5pdGlvbidzIHthdHRyaWJ1dGUKKwkqIHdpbGRjYXJkfSdzIHtwcm9jZXNzIGNvbnRlbnRzfSBtdXN0IGJlIGlkZW50aWNhbCB0byBvcgorCSogc3Ryb25nZXIgdGhhbiB0aGUge2Jhc2UgdHlwZSBkZWZpbml0aW9ufSdzIHthdHRyaWJ1dGUKKwkqIHdpbGRjYXJkfSdzIHtwcm9jZXNzIGNvbnRlbnRzfSwgd2hlcmUgc3RyaWN0IGlzIHN0cm9uZ2VyCisJKiB0aGFuIGxheCBpcyBzdHJvbmdlciB0aGFuIHNraXAuCisJKi8KKwlpZiAoKCEgV1hTX0lTX0FOWVRZUEUoYmFzZUl0ZW0pKSAmJgorCSAgICAod2lsZC0+cHJvY2Vzc0NvbnRlbnRzIDwgYmFzZVdpbGQtPnByb2Nlc3NDb250ZW50cykpIHsKKwkgICAgeG1sQ2hhciAqc3RyID0gTlVMTDsKKwkgICAgeG1sU2NoZW1hQ3VzdG9tRXJyNChBQ1RYVF9DQVNUIHBjdHh0LAorCQlYTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzRfMywKKwkJTlVMTCwgYmFzZUl0ZW0sCisJCSJUaGUge3Byb2Nlc3MgY29udGVudHN9IG9mIHRoZSBhdHRyaWJ1dGUgd2lsZGNhcmQgaXMgIgorCQkid2Vha2VyIHRoYW4gdGhlIG9uZSBpbiB0aGUgJXMgJXMgJyVzJyIsCisJCVdYU19BQ1RJT05fU1RSKGFjdGlvbiksCisJCVdYU19JVEVNX1RZUEVfTkFNRShiYXNlSXRlbSksCisJCXhtbFNjaGVtYUdldENvbXBvbmVudFFOYW1lKCZzdHIsIGJhc2VJdGVtKSwKKwkJTlVMTCk7CisJICAgIEZSRUVfQU5EX05VTEwoc3RyKQorCQlyZXR1cm4ocGN0eHQtPmVycik7CisJfQorICAgIH0KKyAgICByZXR1cm4oMCk7Cit9CisKKworc3RhdGljIGludAoreG1sU2NoZW1hRXhwYW5kQXR0cmlidXRlR3JvdXBSZWZzKHhtbFNjaGVtYVBhcnNlckN0eHRQdHIgcGN0eHQsCisJCQkJICB4bWxTY2hlbWFCYXNpY0l0ZW1QdHIgaXRlbSwKKwkJCQkgIHhtbFNjaGVtYVdpbGRjYXJkUHRyICpjb21wbGV0ZVdpbGQsCisJCQkJICB4bWxTY2hlbWFJdGVtTGlzdFB0ciBsaXN0LAorCQkJCSAgeG1sU2NoZW1hSXRlbUxpc3RQdHIgcHJvaGlicyk7CisvKioKKyAqIHhtbFNjaGVtYUZpeHVwVHlwZUF0dHJpYnV0ZVVzZXM6CisgKiBAY3R4dDogIHRoZSBzY2hlbWEgcGFyc2VyIGNvbnRleHQKKyAqIEB0eXBlOiAgdGhlIGNvbXBsZXggdHlwZSBkZWZpbml0aW9uCisgKgorICoKKyAqIEJ1aWxkcyB0aGUgd2lsZGNhcmQgYW5kIHRoZSBhdHRyaWJ1dGUgdXNlcyBvbiB0aGUgZ2l2ZW4gY29tcGxleCB0eXBlLgorICogUmV0dXJucyAtMSBpZiBhbiBpbnRlcm5hbCBlcnJvciBvY2N1cnMsIDAgb3RoZXJ3aXNlLgorICoKKyAqIEFUVEVOVElPTiBUT0RPOiBFeHBlcmltYW50YWxseSB0aGlzIHVzZXMgcG9pbnRlciBjb21wYXJpc29ucyBmb3IKKyAqIHN0cmluZ3MsIHNvIHJlY2hlY2sgdGhpcyBpZiB3ZSBzdGFydCB0byBoYXJkY29kZSBzb21lIHNjaGVtYXRhLCBzaW5jZQorICogdGhleSBtaWdodCBub3QgYmUgaW4gdGhlIHNhbWUgZGljdC4KKyAqIE5PVEU6IEl0IGlzIGFsbG93ZWQgdG8gImV4dGVuZCIgdGhlIHhzOmFueVR5cGUgdHlwZS4KKyAqLworc3RhdGljIGludAoreG1sU2NoZW1hRml4dXBUeXBlQXR0cmlidXRlVXNlcyh4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIHBjdHh0LAorCQkJCSAgeG1sU2NoZW1hVHlwZVB0ciB0eXBlKQoreworICAgIHhtbFNjaGVtYVR5cGVQdHIgYmFzZVR5cGUgPSBOVUxMOworICAgIHhtbFNjaGVtYUF0dHJpYnV0ZVVzZVB0ciB1c2U7CisgICAgeG1sU2NoZW1hSXRlbUxpc3RQdHIgdXNlcywgYmFzZVVzZXMsIHByb2hpYnMgPSBOVUxMOworCisgICAgaWYgKHR5cGUtPmJhc2VUeXBlID09IE5VTEwpIHsKKwlQRVJST1JfSU5UKCJ4bWxTY2hlbWFGaXh1cFR5cGVBdHRyaWJ1dGVVc2VzIiwKKwkgICAgIm5vIGJhc2UgdHlwZSIpOworICAgICAgICByZXR1cm4gKC0xKTsKKyAgICB9CisgICAgYmFzZVR5cGUgPSB0eXBlLT5iYXNlVHlwZTsKKyAgICBpZiAoV1hTX0lTX1RZUEVfTk9UX0ZJWEVEKGJhc2VUeXBlKSkKKwlpZiAoeG1sU2NoZW1hVHlwZUZpeHVwKGJhc2VUeXBlLCBBQ1RYVF9DQVNUIHBjdHh0KSA9PSAtMSkKKwkgICAgcmV0dXJuKC0xKTsKKworICAgIHVzZXMgPSB0eXBlLT5hdHRyVXNlczsKKyAgICBiYXNlVXNlcyA9IGJhc2VUeXBlLT5hdHRyVXNlczsKKyAgICAvKgorICAgICogRXhwYW5kIGF0dHJpYnV0ZSBncm91cCByZWZlcmVuY2VzLiBBbmQgYnVpbGQgdGhlICdjb21wbGV0ZScKKyAgICAqIHdpbGRjYXJkLCBpLmUuIGludGVyc2VjdCBtdWx0aXBsZSB3aWxkY2FyZHMuCisgICAgKiBNb3ZlIGF0dHJpYnV0ZSBwcm9oaWJpdGlvbnMgaW50byBhIHNlcGFyYXRlIGxpc3QuCisgICAgKi8KKyAgICBpZiAodXNlcyAhPSBOVUxMKSB7CisJaWYgKFdYU19JU19SRVNUUklDVElPTih0eXBlKSkgeworCSAgICAvKgorCSAgICAqIFRoaXMgb25lIHdpbGwgdHJhbnNmZXIgYWxsIGF0dHIuIHByb2hpYml0aW9ucworCSAgICAqIGludG8gcGN0eHQtPmF0dHJQcm9oaWJzLgorCSAgICAqLworCSAgICBpZiAoeG1sU2NoZW1hRXhwYW5kQXR0cmlidXRlR3JvdXBSZWZzKHBjdHh0LAorCQlXWFNfQkFTSUNfQ0FTVCB0eXBlLCAmKHR5cGUtPmF0dHJpYnV0ZVdpbGRjYXJkKSwgdXNlcywKKwkJcGN0eHQtPmF0dHJQcm9oaWJzKSA9PSAtMSkKKwkgICAgeworCQlQRVJST1JfSU5UKCJ4bWxTY2hlbWFGaXh1cFR5cGVBdHRyaWJ1dGVVc2VzIiwKKwkJImZhaWxlZCB0byBleHBhbmQgYXR0cmlidXRlcyIpOworCSAgICB9CisJICAgIGlmIChwY3R4dC0+YXR0clByb2hpYnMtPm5iSXRlbXMgIT0gMCkKKwkJcHJvaGlicyA9IHBjdHh0LT5hdHRyUHJvaGliczsKKwl9IGVsc2UgeworCSAgICBpZiAoeG1sU2NoZW1hRXhwYW5kQXR0cmlidXRlR3JvdXBSZWZzKHBjdHh0LAorCQlXWFNfQkFTSUNfQ0FTVCB0eXBlLCAmKHR5cGUtPmF0dHJpYnV0ZVdpbGRjYXJkKSwgdXNlcywKKwkJTlVMTCkgPT0gLTEpCisJICAgIHsKKwkJUEVSUk9SX0lOVCgieG1sU2NoZW1hRml4dXBUeXBlQXR0cmlidXRlVXNlcyIsCisJCSJmYWlsZWQgdG8gZXhwYW5kIGF0dHJpYnV0ZXMiKTsKKwkgICAgfQorCX0KKyAgICB9CisgICAgLyoKKyAgICAqIEluaGVyaXQgdGhlIGF0dHJpYnV0ZSB1c2VzIG9mIHRoZSBiYXNlIHR5cGUuCisgICAgKi8KKyAgICBpZiAoYmFzZVVzZXMgIT0gTlVMTCkgeworCWludCBpLCBqOworCXhtbFNjaGVtYUF0dHJpYnV0ZVVzZVByb2hpYlB0ciBwcm87CisKKwlpZiAoV1hTX0lTX1JFU1RSSUNUSU9OKHR5cGUpKSB7CisJICAgIGludCB1c2VzQ291bnQ7CisJICAgIHhtbFNjaGVtYUF0dHJpYnV0ZVVzZVB0ciB0bXA7CisKKwkgICAgaWYgKHVzZXMgIT0gTlVMTCkKKwkJdXNlc0NvdW50ID0gdXNlcy0+bmJJdGVtczsKKwkgICAgZWxzZQorCQl1c2VzQ291bnQgPSAwOworCisJICAgIC8qIFJlc3RyaWN0aW9uLiAqLworCSAgICBmb3IgKGkgPSAwOyBpIDwgYmFzZVVzZXMtPm5iSXRlbXM7IGkrKykgeworCQl1c2UgPSBiYXNlVXNlcy0+aXRlbXNbaV07CisJCWlmIChwcm9oaWJzKSB7CisJCSAgICAvKgorCQkgICAgKiBGaWx0ZXIgb3V0IHByb2hpYml0ZWQgdXNlcy4KKwkJICAgICovCisJCSAgICBmb3IgKGogPSAwOyBqIDwgcHJvaGlicy0+bmJJdGVtczsgaisrKSB7CisJCQlwcm8gPSBwcm9oaWJzLT5pdGVtc1tqXTsKKwkJCWlmICgoV1hTX0FUVFJVU0VfREVDTF9OQU1FKHVzZSkgPT0gcHJvLT5uYW1lKSAmJgorCQkJICAgIChXWFNfQVRUUlVTRV9ERUNMX1ROUyh1c2UpID09CisJCQkJcHJvLT50YXJnZXROYW1lc3BhY2UpKQorCQkJeworCQkJICAgIGdvdG8gaW5oZXJpdF9uZXh0OworCQkJfQorCQkgICAgfQorCQl9CisJCWlmICh1c2VzQ291bnQpIHsKKwkJICAgIC8qCisJCSAgICAqIEZpbHRlciBvdXQgZXhpc3RpbmcgdXNlcy4KKwkJICAgICovCisJCSAgICBmb3IgKGogPSAwOyBqIDwgdXNlc0NvdW50OyBqKyspIHsKKwkJCXRtcCA9IHVzZXMtPml0ZW1zW2pdOworCQkJaWYgKChXWFNfQVRUUlVTRV9ERUNMX05BTUUodXNlKSA9PQorCQkJCVdYU19BVFRSVVNFX0RFQ0xfTkFNRSh0bXApKSAmJgorCQkJICAgIChXWFNfQVRUUlVTRV9ERUNMX1ROUyh1c2UpID09CisJCQkJV1hTX0FUVFJVU0VfREVDTF9UTlModG1wKSkpCisJCQl7CisJCQkgICAgZ290byBpbmhlcml0X25leHQ7CisJCQl9CisJCSAgICB9CisJCX0KKwkJaWYgKHVzZXMgPT0gTlVMTCkgeworCQkgICAgdHlwZS0+YXR0clVzZXMgPSB4bWxTY2hlbWFJdGVtTGlzdENyZWF0ZSgpOworCQkgICAgaWYgKHR5cGUtPmF0dHJVc2VzID09IE5VTEwpCisJCQlnb3RvIGV4aXRfZmFpbHVyZTsKKwkJICAgIHVzZXMgPSB0eXBlLT5hdHRyVXNlczsKKwkJfQorCQl4bWxTY2hlbWFJdGVtTGlzdEFkZFNpemUodXNlcywgMiwgdXNlKTsKK2luaGVyaXRfbmV4dDoge30KKwkgICAgfQorCX0gZWxzZSB7CisJICAgIC8qIEV4dGVuc2lvbi4gKi8KKwkgICAgZm9yIChpID0gMDsgaSA8IGJhc2VVc2VzLT5uYkl0ZW1zOyBpKyspIHsKKwkJdXNlID0gYmFzZVVzZXMtPml0ZW1zW2ldOworCQlpZiAodXNlcyA9PSBOVUxMKSB7CisJCSAgICB0eXBlLT5hdHRyVXNlcyA9IHhtbFNjaGVtYUl0ZW1MaXN0Q3JlYXRlKCk7CisJCSAgICBpZiAodHlwZS0+YXR0clVzZXMgPT0gTlVMTCkKKwkJCWdvdG8gZXhpdF9mYWlsdXJlOworCQkgICAgdXNlcyA9IHR5cGUtPmF0dHJVc2VzOworCQl9CisJCXhtbFNjaGVtYUl0ZW1MaXN0QWRkU2l6ZSh1c2VzLCBiYXNlVXNlcy0+bmJJdGVtcywgdXNlKTsKKwkgICAgfQorCX0KKyAgICB9CisgICAgLyoKKyAgICAqIFNocmluayBhdHRyLiB1c2VzLgorICAgICovCisgICAgaWYgKHVzZXMpIHsKKwlpZiAodXNlcy0+bmJJdGVtcyA9PSAwKSB7CisJICAgIHhtbFNjaGVtYUl0ZW1MaXN0RnJlZSh1c2VzKTsKKwkgICAgdHlwZS0+YXR0clVzZXMgPSBOVUxMOworCX0KKwkvKgorCSogVE9ETzogV2UgY291bGQgc2hyaW5rIHRoZSBzaXplIG9mIHRoZSBhcnJheQorCSogdG8gZml0IHRoZSBhY3R1YWwgbnVtYmVyIG9mIGl0ZW1zLgorCSovCisgICAgfQorICAgIC8qCisgICAgKiBDb21wdXRlIHRoZSBjb21wbGV0ZSB3aWxkY2FyZC4KKyAgICAqLworICAgIGlmIChXWFNfSVNfRVhURU5TSU9OKHR5cGUpKSB7CisJaWYgKGJhc2VUeXBlLT5hdHRyaWJ1dGVXaWxkY2FyZCAhPSBOVUxMKSB7CisJICAgIC8qCisJICAgICogKDMuMi4yLjEpICJJZiB0aGUgYGJhc2Ugd2lsZGNhcmRgIGlzIG5vbi1gYWJzZW50YCwgdGhlbgorCSAgICAqIHRoZSBhcHByb3ByaWF0ZSBjYXNlIGFtb25nIHRoZSBmb2xsb3dpbmc6IgorCSAgICAqLworCSAgICBpZiAodHlwZS0+YXR0cmlidXRlV2lsZGNhcmQgIT0gTlVMTCkgeworCQkvKgorCQkqIFVuaW9uIHRoZSBjb21wbGV0ZSB3aWxkY2FyZCB3aXRoIHRoZSBiYXNlIHdpbGRjYXJkLgorCQkqIFNQRUMge2F0dHJpYnV0ZSB3aWxkY2FyZH0KKwkJKiAoMy4yLjIuMS4yKSAib3RoZXJ3aXNlIGEgd2lsZGNhcmQgd2hvc2Uge3Byb2Nlc3MgY29udGVudHN9CisJCSogYW5kIHthbm5vdGF0aW9ufSBhcmUgdGhvc2Ugb2YgdGhlIGBjb21wbGV0ZSB3aWxkY2FyZGAsCisJCSogYW5kIHdob3NlIHtuYW1lc3BhY2UgY29uc3RyYWludH0gaXMgdGhlIGludGVuc2lvbmFsIHVuaW9uCisJCSogb2YgdGhlIHtuYW1lc3BhY2UgY29uc3RyYWludH0gb2YgdGhlIGBjb21wbGV0ZSB3aWxkY2FyZGAKKwkJKiBhbmQgb2YgdGhlIGBiYXNlIHdpbGRjYXJkYCwgYXMgZGVmaW5lZCBpbiBBdHRyaWJ1dGUKKwkJKiBXaWxkY2FyZCBVbmlvbiAoJDMuMTAuNikuIgorCQkqLworCQlpZiAoeG1sU2NoZW1hVW5pb25XaWxkY2FyZHMocGN0eHQsIHR5cGUtPmF0dHJpYnV0ZVdpbGRjYXJkLAorCQkgICAgYmFzZVR5cGUtPmF0dHJpYnV0ZVdpbGRjYXJkKSA9PSAtMSkKKwkJICAgIGdvdG8gZXhpdF9mYWlsdXJlOworCSAgICB9IGVsc2UgeworCQkvKgorCQkqICgzLjIuMi4xLjEpICJJZiB0aGUgYGNvbXBsZXRlIHdpbGRjYXJkYCBpcyBgYWJzZW50YCwKKwkJKiB0aGVuIHRoZSBgYmFzZSB3aWxkY2FyZGAuIgorCQkqLworCQl0eXBlLT5hdHRyaWJ1dGVXaWxkY2FyZCA9IGJhc2VUeXBlLT5hdHRyaWJ1dGVXaWxkY2FyZDsKKwkgICAgfQorCX0gZWxzZSB7CisJICAgIC8qCisJICAgICogKDMuMi4yLjIpICJvdGhlcndpc2UgKHRoZSBgYmFzZSB3aWxkY2FyZGAgaXMgYGFic2VudGApIHRoZQorCSAgICAqIGBjb21wbGV0ZSB3aWxkY2FyZGAiCisJICAgICogTk9PUAorCSAgICAqLworCX0KKyAgICB9IGVsc2UgeworCS8qCisJKiBTUEVDIHthdHRyaWJ1dGUgd2lsZGNhcmR9CisJKiAoMy4xKSAiSWYgdGhlIDxyZXN0cmljdGlvbj4gYWx0ZXJuYXRpdmUgaXMgY2hvc2VuLCB0aGVuIHRoZQorCSogYGNvbXBsZXRlIHdpbGRjYXJkYDsiCisJKiBOT09QCisJKi8KKyAgICB9CisKKyAgICByZXR1cm4gKDApOworCitleGl0X2ZhaWx1cmU6CisgICAgcmV0dXJuKC0xKTsKK30KKworLyoqCisgKiB4bWxTY2hlbWFUeXBlRmluYWxDb250YWluczoKKyAqIEBzY2hlbWE6ICB0aGUgc2NoZW1hCisgKiBAdHlwZTogIHRoZSB0eXBlIGRlZmluaXRpb24KKyAqIEBmaW5hbDogdGhlIGZpbmFsCisgKgorICogRXZhbHVhdGVzIGlmIGEgdHlwZSBkZWZpbml0aW9uIGNvbnRhaW5zIHRoZSBnaXZlbiAiZmluYWwiLgorICogVGhpcyBkb2VzIHRha2UgImZpbmFsRGVmYXVsdCIgaW50byBhY2NvdW50IGFzIHdlbGwuCisgKgorICogUmV0dXJucyAxIGlmIHRoZSB0eXBlIGRvZXMgY29udGFpbnQgdGhlIGdpdmVuICJmaW5hbCIsCisgKiAwIG90aGVyd2lzZS4KKyAqLworc3RhdGljIGludAoreG1sU2NoZW1hVHlwZUZpbmFsQ29udGFpbnMoeG1sU2NoZW1hVHlwZVB0ciB0eXBlLCBpbnQgZmluYWwpCit7CisgICAgaWYgKHR5cGUgPT0gTlVMTCkKKwlyZXR1cm4gKDApOworICAgIGlmICh0eXBlLT5mbGFncyAmIGZpbmFsKQorCXJldHVybiAoMSk7CisgICAgZWxzZQorCXJldHVybiAoMCk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hR2V0VW5pb25TaW1wbGVUeXBlTWVtYmVyVHlwZXM6CisgKiBAdHlwZTogIHRoZSBVbmlvbiBTaW1wbGUgVHlwZQorICoKKyAqIFJldHVybnMgYSBsaXN0IG9mIG1lbWJlciB0eXBlcyBvZiBAdHlwZSBpZiBleGlzdGluZywKKyAqIHJldHVybnMgTlVMTCBvdGhlcndpc2UuCisgKi8KK3N0YXRpYyB4bWxTY2hlbWFUeXBlTGlua1B0cgoreG1sU2NoZW1hR2V0VW5pb25TaW1wbGVUeXBlTWVtYmVyVHlwZXMoeG1sU2NoZW1hVHlwZVB0ciB0eXBlKQoreworICAgIHdoaWxlICgodHlwZSAhPSBOVUxMKSAmJiAodHlwZS0+dHlwZSA9PSBYTUxfU0NIRU1BX1RZUEVfU0lNUExFKSkgeworCWlmICh0eXBlLT5tZW1iZXJUeXBlcyAhPSBOVUxMKQorCSAgICByZXR1cm4gKHR5cGUtPm1lbWJlclR5cGVzKTsKKwllbHNlCisJICAgIHR5cGUgPSB0eXBlLT5iYXNlVHlwZTsKKyAgICB9CisgICAgcmV0dXJuIChOVUxMKTsKK30KKworLyoqCisgKiB4bWxTY2hlbWFHZXRQYXJ0aWNsZVRvdGFsUmFuZ2VNaW46CisgKiBAcGFydGljbGU6IHRoZSBwYXJ0aWNsZQorICoKKyAqIFNjaGVtYSBDb21wb25lbnQgQ29uc3RyYWludDogRWZmZWN0aXZlIFRvdGFsIFJhbmdlCisgKiAoYWxsIGFuZCBzZXF1ZW5jZSkgKyAoY2hvaWNlKQorICoKKyAqIFJldHVybnMgdGhlIG1pbmltdW4gRWZmZWN0aXZlIFRvdGFsIFJhbmdlLgorICovCitzdGF0aWMgaW50Cit4bWxTY2hlbWFHZXRQYXJ0aWNsZVRvdGFsUmFuZ2VNaW4oeG1sU2NoZW1hUGFydGljbGVQdHIgcGFydGljbGUpCit7CisgICAgaWYgKChwYXJ0aWNsZS0+Y2hpbGRyZW4gPT0gTlVMTCkgfHwKKwkocGFydGljbGUtPm1pbk9jY3VycyA9PSAwKSkKKwlyZXR1cm4gKDApOworICAgIGlmIChwYXJ0aWNsZS0+Y2hpbGRyZW4tPnR5cGUgPT0gWE1MX1NDSEVNQV9UWVBFX0NIT0lDRSkgeworCWludCBtaW4gPSAtMSwgY3VyOworCXhtbFNjaGVtYVBhcnRpY2xlUHRyIHBhcnQgPQorCSAgICAoeG1sU2NoZW1hUGFydGljbGVQdHIpIHBhcnRpY2xlLT5jaGlsZHJlbi0+Y2hpbGRyZW47CisKKwlpZiAocGFydCA9PSBOVUxMKQorCSAgICByZXR1cm4gKDApOworCXdoaWxlIChwYXJ0ICE9IE5VTEwpIHsKKwkgICAgaWYgKChwYXJ0LT5jaGlsZHJlbi0+dHlwZSA9PSBYTUxfU0NIRU1BX1RZUEVfRUxFTUVOVCkgfHwKKwkJKHBhcnQtPmNoaWxkcmVuLT50eXBlID09IFhNTF9TQ0hFTUFfVFlQRV9BTlkpKQorCQljdXIgPSBwYXJ0LT5taW5PY2N1cnM7CisJICAgIGVsc2UKKwkJY3VyID0geG1sU2NoZW1hR2V0UGFydGljbGVUb3RhbFJhbmdlTWluKHBhcnQpOworCSAgICBpZiAoY3VyID09IDApCisJCXJldHVybiAoMCk7CisJICAgIGlmICgobWluID4gY3VyKSB8fCAobWluID09IC0xKSkKKwkJbWluID0gY3VyOworCSAgICBwYXJ0ID0gKHhtbFNjaGVtYVBhcnRpY2xlUHRyKSBwYXJ0LT5uZXh0OworCX0KKwlyZXR1cm4gKHBhcnRpY2xlLT5taW5PY2N1cnMgKiBtaW4pOworICAgIH0gZWxzZSB7CisJLyogPGFsbD4gYW5kIDxzZXF1ZW5jZT4gKi8KKwlpbnQgc3VtID0gMDsKKwl4bWxTY2hlbWFQYXJ0aWNsZVB0ciBwYXJ0ID0KKwkgICAgKHhtbFNjaGVtYVBhcnRpY2xlUHRyKSBwYXJ0aWNsZS0+Y2hpbGRyZW4tPmNoaWxkcmVuOworCisJaWYgKHBhcnQgPT0gTlVMTCkKKwkgICAgcmV0dXJuICgwKTsKKwlkbyB7CisJICAgIGlmICgocGFydC0+Y2hpbGRyZW4tPnR5cGUgPT0gWE1MX1NDSEVNQV9UWVBFX0VMRU1FTlQpIHx8CisJCShwYXJ0LT5jaGlsZHJlbi0+dHlwZSA9PSBYTUxfU0NIRU1BX1RZUEVfQU5ZKSkKKwkJc3VtICs9IHBhcnQtPm1pbk9jY3VyczsKKwkgICAgZWxzZQorCQlzdW0gKz0geG1sU2NoZW1hR2V0UGFydGljbGVUb3RhbFJhbmdlTWluKHBhcnQpOworCSAgICBwYXJ0ID0gKHhtbFNjaGVtYVBhcnRpY2xlUHRyKSBwYXJ0LT5uZXh0OworCX0gd2hpbGUgKHBhcnQgIT0gTlVMTCk7CisJcmV0dXJuIChwYXJ0aWNsZS0+bWluT2NjdXJzICogc3VtKTsKKyAgICB9Cit9CisKKyNpZiAwCisvKioKKyAqIHhtbFNjaGVtYUdldFBhcnRpY2xlVG90YWxSYW5nZU1heDoKKyAqIEBwYXJ0aWNsZTogdGhlIHBhcnRpY2xlCisgKgorICogU2NoZW1hIENvbXBvbmVudCBDb25zdHJhaW50OiBFZmZlY3RpdmUgVG90YWwgUmFuZ2UKKyAqIChhbGwgYW5kIHNlcXVlbmNlKSArIChjaG9pY2UpCisgKgorICogUmV0dXJucyB0aGUgbWF4aW11bSBFZmZlY3RpdmUgVG90YWwgUmFuZ2UuCisgKi8KK3N0YXRpYyBpbnQKK3htbFNjaGVtYUdldFBhcnRpY2xlVG90YWxSYW5nZU1heCh4bWxTY2hlbWFQYXJ0aWNsZVB0ciBwYXJ0aWNsZSkKK3sKKyAgICBpZiAoKHBhcnRpY2xlLT5jaGlsZHJlbiA9PSBOVUxMKSB8fAorCShwYXJ0aWNsZS0+Y2hpbGRyZW4tPmNoaWxkcmVuID09IE5VTEwpKQorCXJldHVybiAoMCk7CisgICAgaWYgKHBhcnRpY2xlLT5jaGlsZHJlbi0+dHlwZSA9PSBYTUxfU0NIRU1BX1RZUEVfQ0hPSUNFKSB7CisJaW50IG1heCA9IC0xLCBjdXI7CisJeG1sU2NoZW1hUGFydGljbGVQdHIgcGFydCA9CisJICAgICh4bWxTY2hlbWFQYXJ0aWNsZVB0cikgcGFydGljbGUtPmNoaWxkcmVuLT5jaGlsZHJlbjsKKworCWZvciAoOyBwYXJ0ICE9IE5VTEw7IHBhcnQgPSAoeG1sU2NoZW1hUGFydGljbGVQdHIpIHBhcnQtPm5leHQpIHsKKwkgICAgaWYgKHBhcnQtPmNoaWxkcmVuID09IE5VTEwpCisJCWNvbnRpbnVlOworCSAgICBpZiAoKHBhcnQtPmNoaWxkcmVuLT50eXBlID09IFhNTF9TQ0hFTUFfVFlQRV9FTEVNRU5UKSB8fAorCQkocGFydC0+Y2hpbGRyZW4tPnR5cGUgPT0gWE1MX1NDSEVNQV9UWVBFX0FOWSkpCisJCWN1ciA9IHBhcnQtPm1heE9jY3VyczsKKwkgICAgZWxzZQorCQljdXIgPSB4bWxTY2hlbWFHZXRQYXJ0aWNsZVRvdGFsUmFuZ2VNYXgocGFydCk7CisJICAgIGlmIChjdXIgPT0gVU5CT1VOREVEKQorCQlyZXR1cm4gKFVOQk9VTkRFRCk7CisJICAgIGlmICgobWF4IDwgY3VyKSB8fCAobWF4ID09IC0xKSkKKwkJbWF4ID0gY3VyOworCX0KKwkvKiBUT0RPOiBIYW5kbGUgb3ZlcmZsb3dzPyAqLworCXJldHVybiAocGFydGljbGUtPm1heE9jY3VycyAqIG1heCk7CisgICAgfSBlbHNlIHsKKwkvKiA8YWxsPiBhbmQgPHNlcXVlbmNlPiAqLworCWludCBzdW0gPSAwLCBjdXI7CisJeG1sU2NoZW1hUGFydGljbGVQdHIgcGFydCA9CisJICAgICh4bWxTY2hlbWFQYXJ0aWNsZVB0cikgcGFydGljbGUtPmNoaWxkcmVuLT5jaGlsZHJlbjsKKworCWZvciAoOyBwYXJ0ICE9IE5VTEw7IHBhcnQgPSAoeG1sU2NoZW1hUGFydGljbGVQdHIpIHBhcnQtPm5leHQpIHsKKwkgICAgaWYgKHBhcnQtPmNoaWxkcmVuID09IE5VTEwpCisJCWNvbnRpbnVlOworCSAgICBpZiAoKHBhcnQtPmNoaWxkcmVuLT50eXBlID09IFhNTF9TQ0hFTUFfVFlQRV9FTEVNRU5UKSB8fAorCQkocGFydC0+Y2hpbGRyZW4tPnR5cGUgPT0gWE1MX1NDSEVNQV9UWVBFX0FOWSkpCisJCWN1ciA9IHBhcnQtPm1heE9jY3VyczsKKwkgICAgZWxzZQorCQljdXIgPSB4bWxTY2hlbWFHZXRQYXJ0aWNsZVRvdGFsUmFuZ2VNYXgocGFydCk7CisJICAgIGlmIChjdXIgPT0gVU5CT1VOREVEKQorCQlyZXR1cm4gKFVOQk9VTkRFRCk7CisJICAgIGlmICgoY3VyID4gMCkgJiYgKHBhcnRpY2xlLT5tYXhPY2N1cnMgPT0gVU5CT1VOREVEKSkKKwkJcmV0dXJuIChVTkJPVU5ERUQpOworCSAgICBzdW0gKz0gY3VyOworCX0KKwkvKiBUT0RPOiBIYW5kbGUgb3ZlcmZsb3dzPyAqLworCXJldHVybiAocGFydGljbGUtPm1heE9jY3VycyAqIHN1bSk7CisgICAgfQorfQorI2VuZGlmCisKKy8qKgorICogeG1sU2NoZW1hSXNQYXJ0aWNsZUVtcHRpYWJsZToKKyAqIEBwYXJ0aWNsZTogdGhlIHBhcnRpY2xlCisgKgorICogU2NoZW1hIENvbXBvbmVudCBDb25zdHJhaW50OiBQYXJ0aWNsZSBFbXB0aWFibGUKKyAqIENoZWNrcyB3aGV0aGVyIHRoZSBnaXZlbiBwYXJ0aWNsZSBpcyBlbXB0aWFibGUuCisgKgorICogUmV0dXJucyAxIGlmIGVtcHRpYWJsZSwgMCBvdGhlcndpc2UuCisgKi8KK3N0YXRpYyBpbnQKK3htbFNjaGVtYUlzUGFydGljbGVFbXB0aWFibGUoeG1sU2NoZW1hUGFydGljbGVQdHIgcGFydGljbGUpCit7CisgICAgLyoKKyAgICAqIFNQRUMgKDEpICJJdHMge21pbiBvY2N1cnN9IGlzIDAuIgorICAgICovCisgICAgaWYgKChwYXJ0aWNsZSA9PSBOVUxMKSB8fCAocGFydGljbGUtPm1pbk9jY3VycyA9PSAwKSB8fAorCShwYXJ0aWNsZS0+Y2hpbGRyZW4gPT0gTlVMTCkpCisJcmV0dXJuICgxKTsKKyAgICAvKgorICAgICogU1BFQyAoMikgIkl0cyB7dGVybX0gaXMgYSBncm91cCBhbmQgdGhlIG1pbmltdW0gcGFydCBvZiB0aGUKKyAgICAqIGVmZmVjdGl2ZSB0b3RhbCByYW5nZSBvZiB0aGF0IGdyb3VwLCBbLi4uXSBpcyAwLiIKKyAgICAqLworICAgIGlmIChXWFNfSVNfTU9ERUxfR1JPVVAocGFydGljbGUtPmNoaWxkcmVuKSkgeworCWlmICh4bWxTY2hlbWFHZXRQYXJ0aWNsZVRvdGFsUmFuZ2VNaW4ocGFydGljbGUpID09IDApCisJICAgIHJldHVybiAoMSk7CisgICAgfQorICAgIHJldHVybiAoMCk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hQ2hlY2tDT1NTVERlcml2ZWRPSzoKKyAqIEBhY3R4dDogYSBjb250ZXh0CisgKiBAdHlwZTogIHRoZSBkZXJpdmVkIHNpbXBsZSB0eXBlIGRlZmluaXRpb24KKyAqIEBiYXNlVHlwZTogIHRoZSBiYXNlIHR5cGUgZGVmaW5pdGlvbgorICogQHN1YnNldDogdGhlIHN1YnNldCBvZiAoJ3Jlc3RyaWN0aW9uJywgZWN0LikKKyAqCisgKiBTY2hlbWEgQ29tcG9uZW50IENvbnN0cmFpbnQ6CisgKiBUeXBlIERlcml2YXRpb24gT0sgKFNpbXBsZSkgKGNvcy1zdC1kZXJpdmVkLU9LKQorICoKKyAqIENoZWNrcyB3aGV0ZXIgQHR5cGUgY2FuIGJlIHZhbGlkbHkKKyAqIGRlcml2ZWQgZnJvbSBAYmFzZVR5cGUuCisgKgorICogUmV0dXJucyAwIG9uIHN1Y2Nlc3MsIGFuIHBvc2l0aXZlIGVycm9yIGNvZGUgb3RoZXJ3aXNlLgorICovCitzdGF0aWMgaW50Cit4bWxTY2hlbWFDaGVja0NPU1NURGVyaXZlZE9LKHhtbFNjaGVtYUFic3RyYWN0Q3R4dFB0ciBhY3R4dCwKKwkJCSAgICAgeG1sU2NoZW1hVHlwZVB0ciB0eXBlLAorCQkJICAgICB4bWxTY2hlbWFUeXBlUHRyIGJhc2VUeXBlLAorCQkJICAgICBpbnQgc3Vic2V0KQoreworICAgIC8qCisgICAgKiAxIFRoZXkgYXJlIHRoZSBzYW1lIHR5cGUgZGVmaW5pdGlvbi4KKyAgICAqIFRPRE86IFRoZSBpZGVudHkgY2hlY2sgbWlnaHQgaGF2ZSB0byBiZSBtb3JlIGNvbXBsZXggdGhhbiB0aGlzLgorICAgICovCisgICAgaWYgKHR5cGUgPT0gYmFzZVR5cGUpCisJcmV0dXJuICgwKTsKKyAgICAvKgorICAgICogMi4xIHJlc3RyaWN0aW9uIGlzIG5vdCBpbiB0aGUgc3Vic2V0LCBvciBpbiB0aGUge2ZpbmFsfQorICAgICogb2YgaXRzIG93biB7YmFzZSB0eXBlIGRlZmluaXRpb259OworICAgICoKKyAgICAqIE5PVEUgdGhhdCB0aGlzIHdpbGwgYmUgdXNlZCBhbHNvIHZpYSAieHNpOnR5cGUiLgorICAgICoKKyAgICAqIFRPRE86IFJldmlzZSB0aGlzLCBpdCBsb29rcyBzdHJhbmdlLiBIb3cgY2FuIHRoZSAidHlwZSIKKyAgICAqIG5vdCBiZSBmaXhlZCBvciAqaW4qIGZpeGluZz8KKyAgICAqLworICAgIGlmIChXWFNfSVNfVFlQRV9OT1RfRklYRUQodHlwZSkpCisJaWYgKHhtbFNjaGVtYVR5cGVGaXh1cCh0eXBlLCBhY3R4dCkgPT0gLTEpCisJICAgIHJldHVybigtMSk7CisgICAgaWYgKFdYU19JU19UWVBFX05PVF9GSVhFRChiYXNlVHlwZSkpCisJaWYgKHhtbFNjaGVtYVR5cGVGaXh1cChiYXNlVHlwZSwgYWN0eHQpID09IC0xKQorCSAgICByZXR1cm4oLTEpOworICAgIGlmICgoc3Vic2V0ICYgU1VCU0VUX1JFU1RSSUNUSU9OKSB8fAorCSh4bWxTY2hlbWFUeXBlRmluYWxDb250YWlucyh0eXBlLT5iYXNlVHlwZSwKKwkgICAgWE1MX1NDSEVNQVNfVFlQRV9GSU5BTF9SRVNUUklDVElPTikpKSB7CisJcmV0dXJuIChYTUxfU0NIRU1BUF9DT1NfU1RfREVSSVZFRF9PS18yXzEpOworICAgIH0KKyAgICAvKiAyLjIgKi8KKyAgICBpZiAodHlwZS0+YmFzZVR5cGUgPT0gYmFzZVR5cGUpIHsKKwkvKgorCSogMi4yLjEgRCdzIGBiYXNlIHR5cGUgZGVmaW5pdGlvbmAgaXMgQi4KKwkqLworCXJldHVybiAoMCk7CisgICAgfQorICAgIC8qCisgICAgKiAyLjIuMiBEJ3MgYGJhc2UgdHlwZSBkZWZpbml0aW9uYCBpcyBub3QgdGhlIGB1ci10eXBlIGRlZmluaXRpb25gCisgICAgKiBhbmQgaXMgdmFsaWRseSBkZXJpdmVkIGZyb20gQiBnaXZlbiB0aGUgc3Vic2V0LCBhcyBkZWZpbmVkIGJ5IHRoaXMKKyAgICAqIGNvbnN0cmFpbnQuCisgICAgKi8KKyAgICBpZiAoKCEgV1hTX0lTX0FOWVRZUEUodHlwZS0+YmFzZVR5cGUpKSAmJgorCSh4bWxTY2hlbWFDaGVja0NPU1NURGVyaXZlZE9LKGFjdHh0LCB0eXBlLT5iYXNlVHlwZSwKKwkgICAgYmFzZVR5cGUsIHN1YnNldCkgPT0gMCkpIHsKKwlyZXR1cm4gKDApOworICAgIH0KKyAgICAvKgorICAgICogMi4yLjMgRCdzIHt2YXJpZXR5fSBpcyBsaXN0IG9yIHVuaW9uIGFuZCBCIGlzIHRoZSBgc2ltcGxlIHVyLXR5cGUKKyAgICAqIGRlZmluaXRpb25gLgorICAgICovCisgICAgaWYgKFdYU19JU19BTllfU0lNUExFX1RZUEUoYmFzZVR5cGUpICYmCisJKFdYU19JU19MSVNUKHR5cGUpIHx8IFdYU19JU19VTklPTih0eXBlKSkpIHsKKwlyZXR1cm4gKDApOworICAgIH0KKyAgICAvKgorICAgICogMi4yLjQgQidzIHt2YXJpZXR5fSBpcyB1bmlvbiBhbmQgRCBpcyB2YWxpZGx5IGRlcml2ZWQgZnJvbSBhIHR5cGUKKyAgICAqIGRlZmluaXRpb24gaW4gQidzIHttZW1iZXIgdHlwZSBkZWZpbml0aW9uc30gZ2l2ZW4gdGhlIHN1YnNldCwgYXMKKyAgICAqIGRlZmluZWQgYnkgdGhpcyBjb25zdHJhaW50LgorICAgICoKKyAgICAqIE5PVEU6IFRoaXMgc2VlbXMgbm90IHRvIGludm9sdmUgYnVpbHQtaW4gdHlwZXMsIHNpbmNlIHRoZXJlIGlzIG5vCisgICAgKiBidWlsdC1pbiBVbmlvbiBTaW1wbGUgVHlwZS4KKyAgICAqLworICAgIGlmIChXWFNfSVNfVU5JT04oYmFzZVR5cGUpKSB7CisJeG1sU2NoZW1hVHlwZUxpbmtQdHIgY3VyOworCisJY3VyID0gYmFzZVR5cGUtPm1lbWJlclR5cGVzOworCXdoaWxlIChjdXIgIT0gTlVMTCkgeworCSAgICBpZiAoV1hTX0lTX1RZUEVfTk9UX0ZJWEVEKGN1ci0+dHlwZSkpCisJCWlmICh4bWxTY2hlbWFUeXBlRml4dXAoY3VyLT50eXBlLCBhY3R4dCkgPT0gLTEpCisJCSAgICByZXR1cm4oLTEpOworCSAgICBpZiAoeG1sU2NoZW1hQ2hlY2tDT1NTVERlcml2ZWRPSyhhY3R4dCwKKwkJICAgIHR5cGUsIGN1ci0+dHlwZSwgc3Vic2V0KSA9PSAwKQorCSAgICB7CisJCS8qCisJCSogSXQganVzdCBoYXMgdG8gYmUgdmFsaWRseSBkZXJpdmVkIGZyb20gYXQgbGVhc3Qgb25lCisJCSogbWVtYmVyLXR5cGUuCisJCSovCisJCXJldHVybiAoMCk7CisJICAgIH0KKwkgICAgY3VyID0gY3VyLT5uZXh0OworCX0KKyAgICB9CisgICAgcmV0dXJuIChYTUxfU0NIRU1BUF9DT1NfU1RfREVSSVZFRF9PS18yXzIpOworfQorCisvKioKKyAqIHhtbFNjaGVtYUNoZWNrVHlwZURlZkNpcmN1bGFySW50ZXJuYWw6CisgKiBAcGN0eHQ6ICB0aGUgc2NoZW1hIHBhcnNlciBjb250ZXh0CisgKiBAY3R4dFR5cGU6ICB0aGUgdHlwZSBkZWZpbml0aW9uCisgKiBAYW5jZXN0b3I6IGFuIGFuY2VzdG9yIG9mIEBjdHh0VHlwZQorICoKKyAqIENoZWNrcyBzdC1wcm9wcy1jb3JyZWN0ICgyKSArIGN0LXByb3BzLWNvcnJlY3QgKDMpLgorICogQ2lyY3VsYXIgdHlwZSBkZWZpbml0aW9ucyBhcmUgbm90IGFsbG93ZWQuCisgKgorICogUmV0dXJucyBYTUxfU0NIRU1BUF9TVF9QUk9QU19DT1JSRUNUXzIgaWYgdGhlIGdpdmVuIHR5cGUgaXMKKyAqIGNpcmN1bGFyLCAwIG90aGVyd2lzZS4KKyAqLworc3RhdGljIGludAoreG1sU2NoZW1hQ2hlY2tUeXBlRGVmQ2lyY3VsYXJJbnRlcm5hbCh4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIHBjdHh0LAorCQkJICAgeG1sU2NoZW1hVHlwZVB0ciBjdHh0VHlwZSwKKwkJCSAgIHhtbFNjaGVtYVR5cGVQdHIgYW5jZXN0b3IpCit7CisgICAgaW50IHJldDsKKworICAgIGlmICgoYW5jZXN0b3IgPT0gTlVMTCkgfHwgKGFuY2VzdG9yLT50eXBlID09IFhNTF9TQ0hFTUFfVFlQRV9CQVNJQykpCisJcmV0dXJuICgwKTsKKworICAgIGlmIChjdHh0VHlwZSA9PSBhbmNlc3RvcikgeworCXhtbFNjaGVtYVBDdXN0b21FcnIocGN0eHQsCisJICAgIFhNTF9TQ0hFTUFQX1NUX1BST1BTX0NPUlJFQ1RfMiwKKwkgICAgV1hTX0JBU0lDX0NBU1QgY3R4dFR5cGUsIFdYU19JVEVNX05PREUoY3R4dFR5cGUpLAorCSAgICAiVGhlIGRlZmluaXRpb24gaXMgY2lyY3VsYXIiLCBOVUxMKTsKKwlyZXR1cm4gKFhNTF9TQ0hFTUFQX1NUX1BST1BTX0NPUlJFQ1RfMik7CisgICAgfQorICAgIGlmIChhbmNlc3Rvci0+ZmxhZ3MgJiBYTUxfU0NIRU1BU19UWVBFX01BUktFRCkgeworCS8qCisJKiBBdm9pZCBpbmlmaW5pdGUgcmVjdXJzaW9uIG9uIGNpcmN1bGFyIHR5cGVzIG5vdCB5ZXQgY2hlY2tlZC4KKwkqLworCXJldHVybiAoMCk7CisgICAgfQorICAgIGFuY2VzdG9yLT5mbGFncyB8PSBYTUxfU0NIRU1BU19UWVBFX01BUktFRDsKKyAgICByZXQgPSB4bWxTY2hlbWFDaGVja1R5cGVEZWZDaXJjdWxhckludGVybmFsKHBjdHh0LCBjdHh0VHlwZSwKKwlhbmNlc3Rvci0+YmFzZVR5cGUpOworICAgIGFuY2VzdG9yLT5mbGFncyBePSBYTUxfU0NIRU1BU19UWVBFX01BUktFRDsKKyAgICByZXR1cm4gKHJldCk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hQ2hlY2tUeXBlRGVmQ2lyY3VsYXI6CisgKiBAaXRlbTogIHRoZSBjb21wbGV4L3NpbXBsZSB0eXBlIGRlZmluaXRpb24KKyAqIEBjdHh0OiAgdGhlIHBhcnNlciBjb250ZXh0CisgKiBAbmFtZTogIHRoZSBuYW1lCisgKgorICogQ2hlY2tzIGZvciBjaXJjdWxhciB0eXBlIGRlZmluaXRpb25zLgorICovCitzdGF0aWMgdm9pZAoreG1sU2NoZW1hQ2hlY2tUeXBlRGVmQ2lyY3VsYXIoeG1sU2NoZW1hVHlwZVB0ciBpdGVtLAorCQkJICAgICAgeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBjdHh0KQoreworICAgIGlmICgoaXRlbSA9PSBOVUxMKSB8fAorCShpdGVtLT50eXBlID09IFhNTF9TQ0hFTUFfVFlQRV9CQVNJQykgfHwKKwkoaXRlbS0+YmFzZVR5cGUgPT0gTlVMTCkpCisJcmV0dXJuOworICAgIHhtbFNjaGVtYUNoZWNrVHlwZURlZkNpcmN1bGFySW50ZXJuYWwoY3R4dCwgaXRlbSwKKwlpdGVtLT5iYXNlVHlwZSk7Cit9CisKKy8qCisqIFNpbXBsZSBUeXBlIERlZmluaXRpb24gUmVwcmVzZW50YXRpb24gT0sgKHNyYy1zaW1wbGUtdHlwZSkgNAorKgorKiAiNCBDaXJjdWxhciB1bmlvbiB0eXBlIGRlZmluaXRpb24gaXMgZGlzYWxsb3dlZC4gVGhhdCBpcywgaWYgdGhlCisqIDx1bmlvbj4gYWx0ZXJuYXRpdmUgaXMgY2hvc2VuLCB0aGVyZSBtdXN0IG5vdCBiZSBhbnkgZW50cmllcyBpbiB0aGUKKyogbWVtYmVyVHlwZXMgW2F0dHJpYnV0ZV0gYXQgYW55IGRlcHRoIHdoaWNoIHJlc29sdmUgdG8gdGhlIGNvbXBvbmVudAorKiBjb3JyZXNwb25kaW5nIHRvIHRoZSA8c2ltcGxlVHlwZT4uIgorKgorKiBOb3RlIHRoYXQgdGhpcyBzaG91bGQgd29yayBvbiB0aGUgKnJlcHJlc2VudGF0aW9uKiBvZiBhIGNvbXBvbmVudCwKKyogdGh1cyBhc3N1bWVzIGFueSB1bmlvbiB0eXBlcyBpbiB0aGUgbWVtYmVyIHR5cGVzIG5vdCBiZWluZyB5ZXQKKyogc3Vic3RpdHV0ZWQuIEF0IHRoaXMgc3RhZ2Ugd2UgbmVlZCB0aGUgdmFyaWV0eSBvZiB0aGUgdHlwZXMKKyogdG8gYmUgYWxyZWFkeSBjb21wdXRlZC4KKyovCitzdGF0aWMgaW50Cit4bWxTY2hlbWFDaGVja1VuaW9uVHlwZURlZkNpcmN1bGFyUmVjdXIoeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBwY3R4dCwKKwkJCQkJeG1sU2NoZW1hVHlwZVB0ciBjdHhUeXBlLAorCQkJCQl4bWxTY2hlbWFUeXBlTGlua1B0ciBtZW1iZXJzKQoreworICAgIHhtbFNjaGVtYVR5cGVMaW5rUHRyIG1lbWJlcjsKKyAgICB4bWxTY2hlbWFUeXBlUHRyIG1lbWJlclR5cGU7CisKKyAgICBtZW1iZXIgPSBtZW1iZXJzOworICAgIHdoaWxlIChtZW1iZXIgIT0gTlVMTCkgeworCW1lbWJlclR5cGUgPSBtZW1iZXItPnR5cGU7CisJd2hpbGUgKChtZW1iZXJUeXBlICE9IE5VTEwpICYmCisJICAgIChtZW1iZXJUeXBlLT50eXBlICE9IFhNTF9TQ0hFTUFfVFlQRV9CQVNJQykpIHsKKwkgICAgaWYgKG1lbWJlclR5cGUgPT0gY3R4VHlwZSkgeworCQl4bWxTY2hlbWFQQ3VzdG9tRXJyKHBjdHh0LAorCQkgICAgWE1MX1NDSEVNQVBfU1JDX1NJTVBMRV9UWVBFXzQsCisJCSAgICBXWFNfQkFTSUNfQ0FTVCBjdHhUeXBlLCBOVUxMLAorCQkgICAgIlRoZSB1bmlvbiB0eXBlIGRlZmluaXRpb24gaXMgY2lyY3VsYXIiLCBOVUxMKTsKKwkJcmV0dXJuIChYTUxfU0NIRU1BUF9TUkNfU0lNUExFX1RZUEVfNCk7CisJICAgIH0KKwkgICAgaWYgKChXWFNfSVNfVU5JT04obWVtYmVyVHlwZSkpICYmCisJCSgobWVtYmVyVHlwZS0+ZmxhZ3MgJiBYTUxfU0NIRU1BU19UWVBFX01BUktFRCkgPT0gMCkpCisJICAgIHsKKwkJaW50IHJlczsKKwkJbWVtYmVyVHlwZS0+ZmxhZ3MgfD0gWE1MX1NDSEVNQVNfVFlQRV9NQVJLRUQ7CisJCXJlcyA9IHhtbFNjaGVtYUNoZWNrVW5pb25UeXBlRGVmQ2lyY3VsYXJSZWN1cihwY3R4dCwKKwkJICAgIGN0eFR5cGUsCisJCSAgICB4bWxTY2hlbWFHZXRVbmlvblNpbXBsZVR5cGVNZW1iZXJUeXBlcyhtZW1iZXJUeXBlKSk7CisJCW1lbWJlclR5cGUtPmZsYWdzIF49IFhNTF9TQ0hFTUFTX1RZUEVfTUFSS0VEOworCQlpZiAocmVzICE9IDApCisJCSAgICByZXR1cm4ocmVzKTsKKwkgICAgfQorCSAgICBtZW1iZXJUeXBlID0gbWVtYmVyVHlwZS0+YmFzZVR5cGU7CisJfQorCW1lbWJlciA9IG1lbWJlci0+bmV4dDsKKyAgICB9CisgICAgcmV0dXJuKDApOworfQorCitzdGF0aWMgaW50Cit4bWxTY2hlbWFDaGVja1VuaW9uVHlwZURlZkNpcmN1bGFyKHhtbFNjaGVtYVBhcnNlckN0eHRQdHIgcGN0eHQsCisJCQkJICAgeG1sU2NoZW1hVHlwZVB0ciB0eXBlKQoreworICAgIGlmICghIFdYU19JU19VTklPTih0eXBlKSkKKwlyZXR1cm4oMCk7CisgICAgcmV0dXJuKHhtbFNjaGVtYUNoZWNrVW5pb25UeXBlRGVmQ2lyY3VsYXJSZWN1cihwY3R4dCwgdHlwZSwKKwl0eXBlLT5tZW1iZXJUeXBlcykpOworfQorCisvKioKKyAqIHhtbFNjaGVtYVJlc29sdmVUeXBlUmVmZXJlbmNlczoKKyAqIEBpdGVtOiAgdGhlIGNvbXBsZXgvc2ltcGxlIHR5cGUgZGVmaW5pdGlvbgorICogQGN0eHQ6ICB0aGUgcGFyc2VyIGNvbnRleHQKKyAqIEBuYW1lOiAgdGhlIG5hbWUKKyAqCisgKiBSZXNvbHZlc2UgdHlwZSBkZWZpbml0aW9uIHJlZmVyZW5jZXMKKyAqLworc3RhdGljIHZvaWQKK3htbFNjaGVtYVJlc29sdmVUeXBlUmVmZXJlbmNlcyh4bWxTY2hlbWFUeXBlUHRyIHR5cGVEZWYsCisJCQkgeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBjdHh0KQoreworICAgIGlmICh0eXBlRGVmID09IE5VTEwpCisJcmV0dXJuOworCisgICAgLyoKKyAgICAqIFJlc29sdmUgdGhlIGJhc2UgdHlwZS4KKyAgICAqLworICAgIGlmICh0eXBlRGVmLT5iYXNlVHlwZSA9PSBOVUxMKSB7CisJdHlwZURlZi0+YmFzZVR5cGUgPSB4bWxTY2hlbWFHZXRUeXBlKGN0eHQtPnNjaGVtYSwKKwkgICAgdHlwZURlZi0+YmFzZSwgdHlwZURlZi0+YmFzZU5zKTsKKwlpZiAodHlwZURlZi0+YmFzZVR5cGUgPT0gTlVMTCkgeworCSAgICB4bWxTY2hlbWFQUmVzQ29tcEF0dHJFcnIoY3R4dCwKKwkJWE1MX1NDSEVNQVBfU1JDX1JFU09MVkUsCisJCVdYU19CQVNJQ19DQVNUIHR5cGVEZWYsIHR5cGVEZWYtPm5vZGUsCisJCSJiYXNlIiwgdHlwZURlZi0+YmFzZSwgdHlwZURlZi0+YmFzZU5zLAorCQlYTUxfU0NIRU1BX1RZUEVfU0lNUExFLCBOVUxMKTsKKwkgICAgcmV0dXJuOworCX0KKyAgICB9CisgICAgaWYgKFdYU19JU19TSU1QTEUodHlwZURlZikpIHsKKwlpZiAoV1hTX0lTX1VOSU9OKHR5cGVEZWYpKSB7CisJICAgIC8qCisJICAgICogUmVzb2x2ZSB0aGUgbWVtYmVyVHlwZXMuCisJICAgICovCisJICAgIHhtbFNjaGVtYVJlc29sdmVVbmlvbk1lbWJlclR5cGVzKGN0eHQsIHR5cGVEZWYpOworCSAgICByZXR1cm47CisJfSBlbHNlIGlmIChXWFNfSVNfTElTVCh0eXBlRGVmKSkgeworCSAgICAvKgorCSAgICAqIFJlc29sdmUgdGhlIGl0ZW1UeXBlLgorCSAgICAqLworCSAgICBpZiAoKHR5cGVEZWYtPnN1YnR5cGVzID09IE5VTEwpICYmICh0eXBlRGVmLT5iYXNlICE9IE5VTEwpKSB7CisKKwkJdHlwZURlZi0+c3VidHlwZXMgPSB4bWxTY2hlbWFHZXRUeXBlKGN0eHQtPnNjaGVtYSwKKwkJICAgIHR5cGVEZWYtPmJhc2UsIHR5cGVEZWYtPmJhc2VOcyk7CisKKwkJaWYgKCh0eXBlRGVmLT5zdWJ0eXBlcyA9PSBOVUxMKSB8fAorCQkgICAgKCEgV1hTX0lTX1NJTVBMRSh0eXBlRGVmLT5zdWJ0eXBlcykpKQorCQl7CisJCSAgICB0eXBlRGVmLT5zdWJ0eXBlcyA9IE5VTEw7CisJCSAgICB4bWxTY2hlbWFQUmVzQ29tcEF0dHJFcnIoY3R4dCwKKwkJCVhNTF9TQ0hFTUFQX1NSQ19SRVNPTFZFLAorCQkJV1hTX0JBU0lDX0NBU1QgdHlwZURlZiwgdHlwZURlZi0+bm9kZSwKKwkJCSJpdGVtVHlwZSIsIHR5cGVEZWYtPmJhc2UsIHR5cGVEZWYtPmJhc2VOcywKKwkJCVhNTF9TQ0hFTUFfVFlQRV9TSU1QTEUsIE5VTEwpOworCQl9CisJICAgIH0KKwkgICAgcmV0dXJuOworCX0KKyAgICB9CisgICAgLyoKKyAgICAqIFRoZSBiYWxsIG9mIGxldHRlcnMgYmVsb3cgbWVhbnMsIHRoYXQgaWYgd2UgaGF2ZSBhIHBhcnRpY2xlCisgICAgKiB3aGljaCBoYXMgYSBRTmFtZS1oZWxwZXIgY29tcG9uZW50IGFzIGl0cyB7dGVybX0sIHdlIHdhbnQKKyAgICAqIHRvIHJlc29sdmUgaXQuLi4KKyAgICAqLworICAgIGVsc2UgaWYgKChXWFNfVFlQRV9DT05URU5UVFlQRSh0eXBlRGVmKSAhPSBOVUxMKSAmJgorCSgoV1hTX1RZUEVfQ09OVEVOVFRZUEUodHlwZURlZikpLT50eXBlID09CisJICAgIFhNTF9TQ0hFTUFfVFlQRV9QQVJUSUNMRSkgJiYKKwkoV1hTX1RZUEVfUEFSVElDTEVfVEVSTSh0eXBlRGVmKSAhPSBOVUxMKSAmJgorCSgoV1hTX1RZUEVfUEFSVElDTEVfVEVSTSh0eXBlRGVmKSktPnR5cGUgPT0KKwkgICAgWE1MX1NDSEVNQV9FWFRSQV9RTkFNRVJFRikpCisgICAgeworCXhtbFNjaGVtYVFOYW1lUmVmUHRyIHJlZiA9CisJICAgIFdYU19RTkFNRV9DQVNUIFdYU19UWVBFX1BBUlRJQ0xFX1RFUk0odHlwZURlZik7CisJeG1sU2NoZW1hTW9kZWxHcm91cERlZlB0ciBncm91cERlZjsKKworCS8qCisJKiBVUkdFTlQgVE9ETzogVGVzdCB0aGlzLgorCSovCisJV1hTX1RZUEVfUEFSVElDTEVfVEVSTSh0eXBlRGVmKSA9IE5VTEw7CisJLyoKKwkqIFJlc29sdmUgdGhlIE1HIGRlZmluaXRpb24gcmVmZXJlbmNlLgorCSovCisJZ3JvdXBEZWYgPQorCSAgICBXWFNfTU9ERUxfR1JPVVBERUZfQ0FTVCB4bWxTY2hlbWFHZXROYW1lZENvbXBvbmVudChjdHh0LT5zY2hlbWEsCisJCXJlZi0+aXRlbVR5cGUsIHJlZi0+bmFtZSwgcmVmLT50YXJnZXROYW1lc3BhY2UpOworCWlmIChncm91cERlZiA9PSBOVUxMKSB7CisJICAgIHhtbFNjaGVtYVBSZXNDb21wQXR0ckVycihjdHh0LCBYTUxfU0NIRU1BUF9TUkNfUkVTT0xWRSwKKwkJTlVMTCwgV1hTX0lURU1fTk9ERShXWFNfVFlQRV9QQVJUSUNMRSh0eXBlRGVmKSksCisJCSJyZWYiLCByZWYtPm5hbWUsIHJlZi0+dGFyZ2V0TmFtZXNwYWNlLCByZWYtPml0ZW1UeXBlLAorCQlOVUxMKTsKKwkgICAgLyogUmVtb3ZlIHRoZSBwYXJ0aWNsZS4gKi8KKwkgICAgV1hTX1RZUEVfQ09OVEVOVFRZUEUodHlwZURlZikgPSBOVUxMOworCX0gZWxzZSBpZiAoV1hTX01PREVMR1JPVVBERUZfTU9ERUwoZ3JvdXBEZWYpID09IE5VTEwpCisJICAgIC8qIFJlbW92ZSB0aGUgcGFydGljbGUuICovCisJICAgIFdYU19UWVBFX0NPTlRFTlRUWVBFKHR5cGVEZWYpID0gTlVMTDsKKwllbHNlIHsKKwkgICAgLyoKKwkgICAgKiBBc3NpZ24gdGhlIE1HIGRlZmluaXRpb24ncyB7bW9kZWwgZ3JvdXB9IHRvIHRoZQorCSAgICAqIHBhcnRpY2xlJ3Mge3Rlcm19LgorCSAgICAqLworCSAgICBXWFNfVFlQRV9QQVJUSUNMRV9URVJNKHR5cGVEZWYpID0gV1hTX01PREVMR1JPVVBERUZfTU9ERUwoZ3JvdXBEZWYpOworCisJICAgIGlmIChXWFNfTU9ERUxHUk9VUERFRl9NT0RFTChncm91cERlZiktPnR5cGUgPT0gWE1MX1NDSEVNQV9UWVBFX0FMTCkgeworCQkvKgorCQkqIFNQRUMgY29zLWFsbC1saW1pdGVkICgxLjIpCisJCSogIjEuMiB0aGUge3Rlcm19IHByb3BlcnR5IG9mIGEgcGFydGljbGUgd2l0aAorCQkqIHttYXggb2NjdXJzfT0xIHdoaWNoIGlzIHBhcnQgb2YgYSBwYWlyIHdoaWNoIGNvbnN0aXR1dGVzCisJCSogdGhlIHtjb250ZW50IHR5cGV9IG9mIGEgY29tcGxleCB0eXBlIGRlZmluaXRpb24uIgorCQkqLworCQlpZiAoKFdYU19UWVBFX1BBUlRJQ0xFKHR5cGVEZWYpKS0+bWF4T2NjdXJzICE9IDEpIHsKKwkJICAgIHhtbFNjaGVtYUN1c3RvbUVycihBQ1RYVF9DQVNUIGN0eHQsCisJCQkvKiBUT0RPOiBlcnJvciBjb2RlICovCisJCQlYTUxfU0NIRU1BUF9DT1NfQUxMX0xJTUlURUQsCisJCQlXWFNfSVRFTV9OT0RFKFdYU19UWVBFX1BBUlRJQ0xFKHR5cGVEZWYpKSwgTlVMTCwKKwkJCSJUaGUgcGFydGljbGUncyB7bWF4IG9jY3Vyc30gbXVzdCBiZSAxLCBzaW5jZSB0aGUgIgorCQkJInJlZmVyZW5jZSByZXNvbHZlcyB0byBhbiAnYWxsJyBtb2RlbCBncm91cCIsCisJCQlOVUxMLCBOVUxMKTsKKwkJfQorCSAgICB9CisJfQorICAgIH0KK30KKworCisKKy8qKgorICogeG1sU2NoZW1hQ2hlY2tTVFByb3BzQ29ycmVjdDoKKyAqIEBjdHh0OiAgdGhlIHNjaGVtYSBwYXJzZXIgY29udGV4dAorICogQHR5cGU6ICB0aGUgc2ltcGxlIHR5cGUgZGVmaW5pdGlvbgorICoKKyAqIENoZWNrcyBzdC1wcm9wcy1jb3JyZWN0LgorICoKKyAqIFJldHVybnMgMCBpZiB0aGUgcHJvcGVydGllcyBhcmUgY29ycmVjdCwKKyAqIGlmIG5vdCwgYSBwb3NpdGl2ZSBlcnJvciBjb2RlIGFuZCAtMSBvbiBpbnRlcm5hbAorICogZXJyb3JzLgorICovCitzdGF0aWMgaW50Cit4bWxTY2hlbWFDaGVja1NUUHJvcHNDb3JyZWN0KHhtbFNjaGVtYVBhcnNlckN0eHRQdHIgY3R4dCwKKwkJCSAgICAgeG1sU2NoZW1hVHlwZVB0ciB0eXBlKQoreworICAgIHhtbFNjaGVtYVR5cGVQdHIgYmFzZVR5cGUgPSB0eXBlLT5iYXNlVHlwZTsKKyAgICB4bWxDaGFyICpzdHIgPSBOVUxMOworCisgICAgLyogU1RBVEU6IGVycm9yIGZ1bmNzIGNvbnZlcnRlZC4gKi8KKyAgICAvKgorICAgICogU2NoZW1hIENvbXBvbmVudCBDb25zdHJhaW50OiBTaW1wbGUgVHlwZSBEZWZpbml0aW9uIFByb3BlcnRpZXMgQ29ycmVjdAorICAgICoKKyAgICAqIE5PVEU6IFRoaXMgaXMgc29tZWhvdyByZWR1bmRhbnQsIHNpbmNlIHdlIGFjdHVhbGx5IGJ1aWx0IGEgc2ltcGxlIHR5cGUKKyAgICAqIHRvIGhhdmUgYWxsIHRoZSBuZWVkZWQgaW5mb3JtYXRpb247IHRoaXMgYWN0cyBhcyBhbiBzZWxmIHRlc3QuCisgICAgKi8KKyAgICAvKiBCYXNlIHR5cGU6IElmIHRoZSBkYXRhdHlwZSBoYXMgYmVlbiBgZGVyaXZlZGAgYnkgYHJlc3RyaWN0aW9uYAorICAgICogdGhlbiB0aGUgU2ltcGxlIFR5cGUgRGVmaW5pdGlvbiBjb21wb25lbnQgZnJvbSB3aGljaCBpdCBpcyBgZGVyaXZlZGAsCisgICAgKiBvdGhlcndpc2UgdGhlIFNpbXBsZSBUeXBlIERlZmluaXRpb24gZm9yIGFueVNpbXBsZVR5cGUgKCQ0LjEuNikuCisgICAgKi8KKyAgICBpZiAoYmFzZVR5cGUgPT0gTlVMTCkgeworCS8qCisJKiBUT0RPOiBUaGluayBhYm91dDogIm1vZHVsbyB0aGUgaW1wYWN0IG9mIE1pc3NpbmcKKwkqIFN1Yi1jb21wb25lbnRzICgkNS4zKS4iCisJKi8KKwl4bWxTY2hlbWFQQ3VzdG9tRXJyKGN0eHQsCisJICAgIFhNTF9TQ0hFTUFQX1NUX1BST1BTX0NPUlJFQ1RfMSwKKwkgICAgV1hTX0JBU0lDX0NBU1QgdHlwZSwgTlVMTCwKKwkgICAgIk5vIGJhc2UgdHlwZSBleGlzdGVudCIsIE5VTEwpOworCXJldHVybiAoWE1MX1NDSEVNQVBfU1RfUFJPUFNfQ09SUkVDVF8xKTsKKworICAgIH0KKyAgICBpZiAoISBXWFNfSVNfU0lNUExFKGJhc2VUeXBlKSkgeworCXhtbFNjaGVtYVBDdXN0b21FcnIoY3R4dCwKKwkgICAgWE1MX1NDSEVNQVBfU1RfUFJPUFNfQ09SUkVDVF8xLAorCSAgICBXWFNfQkFTSUNfQ0FTVCB0eXBlLCBOVUxMLAorCSAgICAiVGhlIGJhc2UgdHlwZSAnJXMnIGlzIG5vdCBhIHNpbXBsZSB0eXBlIiwKKwkgICAgeG1sU2NoZW1hR2V0Q29tcG9uZW50UU5hbWUoJnN0ciwgYmFzZVR5cGUpKTsKKwlGUkVFX0FORF9OVUxMKHN0cikKKwlyZXR1cm4gKFhNTF9TQ0hFTUFQX1NUX1BST1BTX0NPUlJFQ1RfMSk7CisgICAgfQorICAgIGlmICgoV1hTX0lTX0xJU1QodHlwZSkgfHwgV1hTX0lTX1VOSU9OKHR5cGUpKSAmJgorCShXWFNfSVNfUkVTVFJJQ1RJT04odHlwZSkgPT0gMCkgJiYKKwkoKCEgV1hTX0lTX0FOWV9TSU1QTEVfVFlQRShiYXNlVHlwZSkpICYmCisgICAgICAgICAoYmFzZVR5cGUtPnR5cGUgIT0gWE1MX1NDSEVNQV9UWVBFX1NJTVBMRSkpKSB7CisJeG1sU2NoZW1hUEN1c3RvbUVycihjdHh0LAorCSAgICBYTUxfU0NIRU1BUF9TVF9QUk9QU19DT1JSRUNUXzEsCisJICAgIFdYU19CQVNJQ19DQVNUIHR5cGUsIE5VTEwsCisJICAgICJBIHR5cGUsIGRlcml2ZWQgYnkgbGlzdCBvciB1bmlvbiwgbXVzdCBoYXZlICIKKwkgICAgInRoZSBzaW1wbGUgdXItdHlwZSBkZWZpbml0aW9uIGFzIGJhc2UgdHlwZSwgbm90ICclcyciLAorCSAgICB4bWxTY2hlbWFHZXRDb21wb25lbnRRTmFtZSgmc3RyLCBiYXNlVHlwZSkpOworCUZSRUVfQU5EX05VTEwoc3RyKQorCXJldHVybiAoWE1MX1NDSEVNQVBfU1RfUFJPUFNfQ09SUkVDVF8xKTsKKyAgICB9CisgICAgLyoKKyAgICAqIFZhcmlldHk6IE9uZSBvZiB7YXRvbWljLCBsaXN0LCB1bmlvbn0uCisgICAgKi8KKyAgICBpZiAoKCEgV1hTX0lTX0FUT01JQyh0eXBlKSkgJiYgKCEgV1hTX0lTX1VOSU9OKHR5cGUpKSAmJgorCSghIFdYU19JU19MSVNUKHR5cGUpKSkgeworCXhtbFNjaGVtYVBDdXN0b21FcnIoY3R4dCwKKwkgICAgWE1MX1NDSEVNQVBfU1RfUFJPUFNfQ09SUkVDVF8xLAorCSAgICBXWFNfQkFTSUNfQ0FTVCB0eXBlLCBOVUxMLAorCSAgICAiVGhlIHZhcmlldHkgaXMgYWJzZW50IiwgTlVMTCk7CisJcmV0dXJuIChYTUxfU0NIRU1BUF9TVF9QUk9QU19DT1JSRUNUXzEpOworICAgIH0KKyAgICAvKiBUT0RPOiBGaW5pc2ggdGhpcy4gSG1tLCBpcyB0aGlzIGZpbmlzaGVkPyAqLworCisgICAgLyoKKyAgICAqIDMgVGhlIHtmaW5hbH0gb2YgdGhlIHtiYXNlIHR5cGUgZGVmaW5pdGlvbn0gbXVzdCBub3QgY29udGFpbiByZXN0cmljdGlvbi4KKyAgICAqLworICAgIGlmICh4bWxTY2hlbWFUeXBlRmluYWxDb250YWlucyhiYXNlVHlwZSwKKwlYTUxfU0NIRU1BU19UWVBFX0ZJTkFMX1JFU1RSSUNUSU9OKSkgeworCXhtbFNjaGVtYVBDdXN0b21FcnIoY3R4dCwKKwkgICAgWE1MX1NDSEVNQVBfU1RfUFJPUFNfQ09SUkVDVF8zLAorCSAgICBXWFNfQkFTSUNfQ0FTVCB0eXBlLCBOVUxMLAorCSAgICAiVGhlICdmaW5hbCcgb2YgaXRzIGJhc2UgdHlwZSAnJXMnIG11c3Qgbm90IGNvbnRhaW4gIgorCSAgICAiJ3Jlc3RyaWN0aW9uJyIsCisJICAgIHhtbFNjaGVtYUdldENvbXBvbmVudFFOYW1lKCZzdHIsIGJhc2VUeXBlKSk7CisJRlJFRV9BTkRfTlVMTChzdHIpCisJcmV0dXJuIChYTUxfU0NIRU1BUF9TVF9QUk9QU19DT1JSRUNUXzMpOworICAgIH0KKworICAgIC8qCisgICAgKiAyIEFsbCBzaW1wbGUgdHlwZSBkZWZpbml0aW9ucyBtdXN0IGJlIGRlcml2ZWQgdWx0aW1hdGVseSBmcm9tIHRoZSBgc2ltcGxlCisgICAgKiB1ci10eXBlIGRlZmluaXRpb25gIChzbyBjaXJjdWxhciBkZWZpbml0aW9ucyBhcmUgZGlzYWxsb3dlZCkuIFRoYXQgaXMsIGl0CisgICAgKiBtdXN0IGJlIHBvc3NpYmxlIHRvIHJlYWNoIGEgYnVpbHQtaW4gcHJpbWl0aXZlIGRhdGF0eXBlIG9yIHRoZSBgc2ltcGxlCisgICAgKiB1ci10eXBlIGRlZmluaXRpb25gIGJ5IHJlcGVhdGVkbHkgZm9sbG93aW5nIHRoZSB7YmFzZSB0eXBlIGRlZmluaXRpb259LgorICAgICoKKyAgICAqIE5PVEU6IHRoaXMgaXMgZG9uZSBpbiB4bWxTY2hlbWFDaGVja1R5cGVEZWZDaXJjdWxhcigpLgorICAgICovCisgICAgcmV0dXJuICgwKTsKK30KKworLyoqCisgKiB4bWxTY2hlbWFDaGVja0NPU1NUUmVzdHJpY3RzOgorICogQGN0eHQ6ICB0aGUgc2NoZW1hIHBhcnNlciBjb250ZXh0CisgKiBAdHlwZTogIHRoZSBzaW1wbGUgdHlwZSBkZWZpbml0aW9uCisgKgorICogU2NoZW1hIENvbXBvbmVudCBDb25zdHJhaW50OgorICogRGVyaXZhdGlvbiBWYWxpZCAoUmVzdHJpY3Rpb24sIFNpbXBsZSkgKGNvcy1zdC1yZXN0cmljdHMpCisKKyAqIENoZWNrcyBpZiB0aGUgZ2l2ZW4gQHR5cGUgKHNpbXBsZVR5cGUpIGlzIGRlcml2ZWQgdmFsaWRseSBieSByZXN0cmljdGlvbi4KKyAqIFNUQVRVUzoKKyAqCisgKiBSZXR1cm5zIC0xIG9uIGludGVybmFsIGVycm9ycywgMCBpZiB0aGUgdHlwZSBpcyB2YWxpZGx5IGRlcml2ZWQsCisgKiBhIHBvc2l0aXZlIGVycm9yIGNvZGUgb3RoZXJ3aXNlLgorICovCitzdGF0aWMgaW50Cit4bWxTY2hlbWFDaGVja0NPU1NUUmVzdHJpY3RzKHhtbFNjaGVtYVBhcnNlckN0eHRQdHIgcGN0eHQsCisJCQkgICAgIHhtbFNjaGVtYVR5cGVQdHIgdHlwZSkKK3sKKyAgICB4bWxDaGFyICpzdHIgPSBOVUxMOworCisgICAgaWYgKHR5cGUtPnR5cGUgIT0gWE1MX1NDSEVNQV9UWVBFX1NJTVBMRSkgeworCVBFUlJPUl9JTlQoInhtbFNjaGVtYUNoZWNrQ09TU1RSZXN0cmljdHMiLAorCSAgICAiZ2l2ZW4gdHlwZSBpcyBub3QgYSB1c2VyLWRlcml2ZWQgc2ltcGxlVHlwZSIpOworCXJldHVybiAoLTEpOworICAgIH0KKworICAgIGlmIChXWFNfSVNfQVRPTUlDKHR5cGUpKSB7CisJeG1sU2NoZW1hVHlwZVB0ciBwcmltaXRpdmU7CisJLyoKKwkqIDEuMSBUaGUge2Jhc2UgdHlwZSBkZWZpbml0aW9ufSBtdXN0IGJlIGFuIGF0b21pYyBzaW1wbGUKKwkqIHR5cGUgZGVmaW5pdGlvbiBvciBhIGJ1aWx0LWluIHByaW1pdGl2ZSBkYXRhdHlwZS4KKwkqLworCWlmICghIFdYU19JU19BVE9NSUModHlwZS0+YmFzZVR5cGUpKSB7CisJICAgIHhtbFNjaGVtYVBDdXN0b21FcnIocGN0eHQsCisJCVhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMV8xLAorCQlXWFNfQkFTSUNfQ0FTVCB0eXBlLCBOVUxMLAorCQkiVGhlIGJhc2UgdHlwZSAnJXMnIGlzIG5vdCBhbiBhdG9taWMgc2ltcGxlIHR5cGUiLAorCQl4bWxTY2hlbWFHZXRDb21wb25lbnRRTmFtZSgmc3RyLCB0eXBlLT5iYXNlVHlwZSkpOworCSAgICBGUkVFX0FORF9OVUxMKHN0cikKKwkgICAgcmV0dXJuIChYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzFfMSk7CisJfQorCS8qIDEuMiBUaGUge2ZpbmFsfSBvZiB0aGUge2Jhc2UgdHlwZSBkZWZpbml0aW9ufSBtdXN0IG5vdCBjb250YWluCisJKiByZXN0cmljdGlvbi4KKwkqLworCS8qIE9QVElNSVpFIFRPRE8gOiBUaGlzIGlzIGFscmVhZHkgZG9uZSBpbiB4bWxTY2hlbWFDaGVja1N0UHJvcHNDb3JyZWN0ICovCisJaWYgKHhtbFNjaGVtYVR5cGVGaW5hbENvbnRhaW5zKHR5cGUtPmJhc2VUeXBlLAorCSAgICBYTUxfU0NIRU1BU19UWVBFX0ZJTkFMX1JFU1RSSUNUSU9OKSkgeworCSAgICB4bWxTY2hlbWFQQ3VzdG9tRXJyKHBjdHh0LAorCQlYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzFfMiwKKwkJV1hTX0JBU0lDX0NBU1QgdHlwZSwgTlVMTCwKKwkJIlRoZSBmaW5hbCBvZiBpdHMgYmFzZSB0eXBlICclcycgbXVzdCBub3QgY29udGFpbiAncmVzdHJpY3Rpb24nIiwKKwkJeG1sU2NoZW1hR2V0Q29tcG9uZW50UU5hbWUoJnN0ciwgdHlwZS0+YmFzZVR5cGUpKTsKKwkgICAgRlJFRV9BTkRfTlVMTChzdHIpCisJICAgIHJldHVybiAoWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18xXzIpOworCX0KKworCS8qCisJKiAxLjMuMSBERiBtdXN0IGJlIGFuIGFsbG93ZWQgY29uc3RyYWluaW5nIGZhY2V0IGZvciB0aGUge3ByaW1pdGl2ZQorCSogdHlwZSBkZWZpbml0aW9ufSwgYXMgc3BlY2lmaWVkIGluIHRoZSBhcHByb3ByaWF0ZSBzdWJzZWN0aW9uIG9mIDMuMgorCSogUHJpbWl0aXZlIGRhdGF0eXBlcy4KKwkqLworCWlmICh0eXBlLT5mYWNldHMgIT0gTlVMTCkgeworCSAgICB4bWxTY2hlbWFGYWNldFB0ciBmYWNldDsKKwkgICAgaW50IG9rID0gMTsKKworCSAgICBwcmltaXRpdmUgPSB4bWxTY2hlbWFHZXRQcmltaXRpdmVUeXBlKHR5cGUpOworCSAgICBpZiAocHJpbWl0aXZlID09IE5VTEwpIHsKKwkJUEVSUk9SX0lOVCgieG1sU2NoZW1hQ2hlY2tDT1NTVFJlc3RyaWN0cyIsCisJCSAgICAiZmFpbGVkIHRvIGdldCBwcmltaXRpdmUgdHlwZSIpOworCQlyZXR1cm4gKC0xKTsKKwkgICAgfQorCSAgICBmYWNldCA9IHR5cGUtPmZhY2V0czsKKwkgICAgZG8geworCQlpZiAoeG1sU2NoZW1hSXNCdWlsdEluVHlwZUZhY2V0KHByaW1pdGl2ZSwgZmFjZXQtPnR5cGUpID09IDApIHsKKwkJICAgIG9rID0gMDsKKwkJICAgIHhtbFNjaGVtYVBJbGxlZ2FsRmFjZXRBdG9taWNFcnIocGN0eHQsCisJCQlYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzFfM18xLAorCQkJdHlwZSwgcHJpbWl0aXZlLCBmYWNldCk7CisJCX0KKwkJZmFjZXQgPSBmYWNldC0+bmV4dDsKKwkgICAgfSB3aGlsZSAoZmFjZXQgIT0gTlVMTCk7CisJICAgIGlmIChvayA9PSAwKQorCQlyZXR1cm4gKFhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMV8zXzEpOworCX0KKwkvKgorCSogU1BFQyAoMS4zLjIpICJJZiB0aGVyZSBpcyBhIGZhY2V0IG9mIHRoZSBzYW1lIGtpbmQgaW4gdGhlIHtmYWNldHN9CisJKiBvZiB0aGUge2Jhc2UgdHlwZSBkZWZpbml0aW9ufSAoY2FsbCB0aGlzIEJGKSx0aGVuIHRoZSBERidzIHt2YWx1ZX0KKwkqIG11c3QgYmUgYSB2YWxpZCByZXN0cmljdGlvbiBvZiBCRidzIHt2YWx1ZX0gYXMgZGVmaW5lZCBpbgorCSogW1hNTCBTY2hlbWFzOiBEYXRhdHlwZXNdLiIKKwkqCisJKiBOT1RFICgxLjMuMikgRmFjZXQgZGVyaXZhdGlvbiBjb25zdHJhaW50cyBhcmUgY3VycmVudGx5IGhhbmRsZWQgaW4KKwkqIHhtbFNjaGVtYURlcml2ZUFuZFZhbGlkYXRlRmFjZXRzKCkKKwkqLworICAgIH0gZWxzZSBpZiAoV1hTX0lTX0xJU1QodHlwZSkpIHsKKwl4bWxTY2hlbWFUeXBlUHRyIGl0ZW1UeXBlID0gTlVMTDsKKworCWl0ZW1UeXBlID0gdHlwZS0+c3VidHlwZXM7CisJaWYgKChpdGVtVHlwZSA9PSBOVUxMKSB8fCAoISBXWFNfSVNfU0lNUExFKGl0ZW1UeXBlKSkpIHsKKwkgICAgUEVSUk9SX0lOVCgieG1sU2NoZW1hQ2hlY2tDT1NTVFJlc3RyaWN0cyIsCisJCSJmYWlsZWQgdG8gZXZhbHVhdGUgdGhlIGl0ZW0gdHlwZSIpOworCSAgICByZXR1cm4gKC0xKTsKKwl9CisJaWYgKFdYU19JU19UWVBFX05PVF9GSVhFRChpdGVtVHlwZSkpCisJICAgIHhtbFNjaGVtYVR5cGVGaXh1cChpdGVtVHlwZSwgQUNUWFRfQ0FTVCBwY3R4dCk7CisJLyoKKwkqIDIuMSBUaGUge2l0ZW0gdHlwZSBkZWZpbml0aW9ufSBtdXN0IGhhdmUgYSB7dmFyaWV0eX0gb2YgYXRvbWljIG9yCisJKiB1bmlvbiAoaW4gd2hpY2ggY2FzZSBhbGwgdGhlIHttZW1iZXIgdHlwZSBkZWZpbml0aW9uc30KKwkqIG11c3QgYmUgYXRvbWljKS4KKwkqLworCWlmICgoISBXWFNfSVNfQVRPTUlDKGl0ZW1UeXBlKSkgJiYKKwkgICAgKCEgV1hTX0lTX1VOSU9OKGl0ZW1UeXBlKSkpIHsKKwkgICAgeG1sU2NoZW1hUEN1c3RvbUVycihwY3R4dCwKKwkJWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzEsCisJCVdYU19CQVNJQ19DQVNUIHR5cGUsIE5VTEwsCisJCSJUaGUgaXRlbSB0eXBlICclcycgZG9lcyBub3QgaGF2ZSBhIHZhcmlldHkgb2YgYXRvbWljIG9yIHVuaW9uIiwKKwkJeG1sU2NoZW1hR2V0Q29tcG9uZW50UU5hbWUoJnN0ciwgaXRlbVR5cGUpKTsKKwkgICAgRlJFRV9BTkRfTlVMTChzdHIpCisJICAgIHJldHVybiAoWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzEpOworCX0gZWxzZSBpZiAoV1hTX0lTX1VOSU9OKGl0ZW1UeXBlKSkgeworCSAgICB4bWxTY2hlbWFUeXBlTGlua1B0ciBtZW1iZXI7CisKKwkgICAgbWVtYmVyID0gaXRlbVR5cGUtPm1lbWJlclR5cGVzOworCSAgICB3aGlsZSAobWVtYmVyICE9IE5VTEwpIHsKKwkJaWYgKCEgV1hTX0lTX0FUT01JQyhtZW1iZXItPnR5cGUpKSB7CisJCSAgICB4bWxTY2hlbWFQQ3VzdG9tRXJyKHBjdHh0LAorCQkJWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzEsCisJCQlXWFNfQkFTSUNfQ0FTVCB0eXBlLCBOVUxMLAorCQkJIlRoZSBpdGVtIHR5cGUgaXMgYSB1bmlvbiB0eXBlLCBidXQgdGhlICIKKwkJCSJtZW1iZXIgdHlwZSAnJXMnIG9mIHRoaXMgaXRlbSB0eXBlIGlzIG5vdCBhdG9taWMiLAorCQkJeG1sU2NoZW1hR2V0Q29tcG9uZW50UU5hbWUoJnN0ciwgbWVtYmVyLT50eXBlKSk7CisJCSAgICBGUkVFX0FORF9OVUxMKHN0cikKKwkJICAgIHJldHVybiAoWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzEpOworCQl9CisJCW1lbWJlciA9IG1lbWJlci0+bmV4dDsKKwkgICAgfQorCX0KKworCWlmIChXWFNfSVNfQU5ZX1NJTVBMRV9UWVBFKHR5cGUtPmJhc2VUeXBlKSkgeworCSAgICB4bWxTY2hlbWFGYWNldFB0ciBmYWNldDsKKwkgICAgLyoKKwkgICAgKiBUaGlzIGlzIHRoZSBjYXNlIGlmIHdlIGhhdmU6IDxzaW1wbGVUeXBlPjxsaXN0IC4uCisJICAgICovCisJICAgIC8qCisJICAgICogMi4zLjEKKwkgICAgKiAyLjMuMS4xIFRoZSB7ZmluYWx9IG9mIHRoZSB7aXRlbSB0eXBlIGRlZmluaXRpb259IG11c3Qgbm90CisJICAgICogY29udGFpbiBsaXN0LgorCSAgICAqLworCSAgICBpZiAoeG1sU2NoZW1hVHlwZUZpbmFsQ29udGFpbnMoaXRlbVR5cGUsCisJCVhNTF9TQ0hFTUFTX1RZUEVfRklOQUxfTElTVCkpIHsKKwkJeG1sU2NoZW1hUEN1c3RvbUVycihwY3R4dCwKKwkJICAgIFhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMl8zXzFfMSwKKwkJICAgIFdYU19CQVNJQ19DQVNUIHR5cGUsIE5VTEwsCisJCSAgICAiVGhlIGZpbmFsIG9mIGl0cyBpdGVtIHR5cGUgJyVzJyBtdXN0IG5vdCBjb250YWluICdsaXN0JyIsCisJCSAgICB4bWxTY2hlbWFHZXRDb21wb25lbnRRTmFtZSgmc3RyLCBpdGVtVHlwZSkpOworCQlGUkVFX0FORF9OVUxMKHN0cikKKwkJcmV0dXJuIChYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzJfM18xXzEpOworCSAgICB9CisJICAgIC8qCisJICAgICogMi4zLjEuMiBUaGUge2ZhY2V0c30gbXVzdCBvbmx5IGNvbnRhaW4gdGhlIHdoaXRlU3BhY2UKKwkgICAgKiBmYWNldCBjb21wb25lbnQuCisJICAgICogT1BUSU1JWkUgVE9ETzogdGhlIFM0UyBhbHJlYWR5IGRpc2FsbG93cyBhbnkgZmFjZXQKKwkgICAgKiB0byBiZSBzcGVjaWZpZWQuCisJICAgICovCisJICAgIGlmICh0eXBlLT5mYWNldHMgIT0gTlVMTCkgeworCQlmYWNldCA9IHR5cGUtPmZhY2V0czsKKwkJZG8geworCQkgICAgaWYgKGZhY2V0LT50eXBlICE9IFhNTF9TQ0hFTUFfRkFDRVRfV0hJVEVTUEFDRSkgeworCQkJeG1sU2NoZW1hUElsbGVnYWxGYWNldExpc3RVbmlvbkVycihwY3R4dCwKKwkJCSAgICBYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzJfM18xXzIsCisJCQkgICAgdHlwZSwgZmFjZXQpOworCQkJcmV0dXJuIChYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzJfM18xXzIpOworCQkgICAgfQorCQkgICAgZmFjZXQgPSBmYWNldC0+bmV4dDsKKwkJfSB3aGlsZSAoZmFjZXQgIT0gTlVMTCk7CisJICAgIH0KKwkgICAgLyoKKwkgICAgKiBNQVlCRSBUT0RPOiAoSG1tLCBub3QgcmVhbGx5KSBEYXRhdHlwZXMgc3RhdGVzOgorCSAgICAqIEEgYGxpc3RgIGRhdGF0eXBlIGNhbiBiZSBgZGVyaXZlZGAgZnJvbSBhbiBgYXRvbWljYCBkYXRhdHlwZQorCSAgICAqIHdob3NlIGBsZXhpY2FsIHNwYWNlYCBhbGxvd3Mgc3BhY2UgKHN1Y2ggYXMgc3RyaW5nIG9yIGFueVVSSSlvcgorCSAgICAqIGEgYHVuaW9uYCBkYXRhdHlwZSBhbnkgb2Ygd2hvc2Uge21lbWJlciB0eXBlIGRlZmluaXRpb25zfSdzCisJICAgICogYGxleGljYWwgc3BhY2VgIGFsbG93cyBzcGFjZS4KKwkgICAgKi8KKwl9IGVsc2UgeworCSAgICAvKgorCSAgICAqIFRoaXMgaXMgdGhlIGNhc2UgaWYgd2UgaGF2ZTogPHNpbXBsZVR5cGU+PHJlc3RyaWN0aW9uIC4uLgorCSAgICAqIEkuZS4gdGhlIHZhcmlldHkgb2YgImxpc3QiIGlzIGluaGVyaXRlZC4KKwkgICAgKi8KKwkgICAgLyoKKwkgICAgKiAyLjMuMgorCSAgICAqIDIuMy4yLjEgVGhlIHtiYXNlIHR5cGUgZGVmaW5pdGlvbn0gbXVzdCBoYXZlIGEge3ZhcmlldHl9IG9mIGxpc3QuCisJICAgICovCisJICAgIGlmICghIFdYU19JU19MSVNUKHR5cGUtPmJhc2VUeXBlKSkgeworCQl4bWxTY2hlbWFQQ3VzdG9tRXJyKHBjdHh0LAorCQkgICAgWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzNfMl8xLAorCQkgICAgV1hTX0JBU0lDX0NBU1QgdHlwZSwgTlVMTCwKKwkJICAgICJUaGUgYmFzZSB0eXBlICclcycgbXVzdCBiZSBhIGxpc3QgdHlwZSIsCisJCSAgICB4bWxTY2hlbWFHZXRDb21wb25lbnRRTmFtZSgmc3RyLCB0eXBlLT5iYXNlVHlwZSkpOworCQlGUkVFX0FORF9OVUxMKHN0cikKKwkJcmV0dXJuIChYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzJfM18yXzEpOworCSAgICB9CisJICAgIC8qCisJICAgICogMi4zLjIuMiBUaGUge2ZpbmFsfSBvZiB0aGUge2Jhc2UgdHlwZSBkZWZpbml0aW9ufSBtdXN0IG5vdAorCSAgICAqIGNvbnRhaW4gcmVzdHJpY3Rpb24uCisJICAgICovCisJICAgIGlmICh4bWxTY2hlbWFUeXBlRmluYWxDb250YWlucyh0eXBlLT5iYXNlVHlwZSwKKwkJWE1MX1NDSEVNQVNfVFlQRV9GSU5BTF9SRVNUUklDVElPTikpIHsKKwkJeG1sU2NoZW1hUEN1c3RvbUVycihwY3R4dCwKKwkJICAgIFhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfMl8zXzJfMiwKKwkJICAgIFdYU19CQVNJQ19DQVNUIHR5cGUsIE5VTEwsCisJCSAgICAiVGhlICdmaW5hbCcgb2YgdGhlIGJhc2UgdHlwZSAnJXMnIG11c3Qgbm90IGNvbnRhaW4gJ3Jlc3RyaWN0aW9uJyIsCisJCSAgICB4bWxTY2hlbWFHZXRDb21wb25lbnRRTmFtZSgmc3RyLCB0eXBlLT5iYXNlVHlwZSkpOworCQlGUkVFX0FORF9OVUxMKHN0cikKKwkJcmV0dXJuIChYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzJfM18yXzIpOworCSAgICB9CisJICAgIC8qCisJICAgICogMi4zLjIuMyBUaGUge2l0ZW0gdHlwZSBkZWZpbml0aW9ufSBtdXN0IGJlIHZhbGlkbHkgZGVyaXZlZAorCSAgICAqIGZyb20gdGhlIHtiYXNlIHR5cGUgZGVmaW5pdGlvbn0ncyB7aXRlbSB0eXBlIGRlZmluaXRpb259IGdpdmVuCisJICAgICogdGhlIGVtcHR5IHNldCwgYXMgZGVmaW5lZCBpbiBUeXBlIERlcml2YXRpb24gT0sgKFNpbXBsZSkgKCQzLjE0LjYpLgorCSAgICAqLworCSAgICB7CisJCXhtbFNjaGVtYVR5cGVQdHIgYmFzZUl0ZW1UeXBlOworCisJCWJhc2VJdGVtVHlwZSA9IHR5cGUtPmJhc2VUeXBlLT5zdWJ0eXBlczsKKwkJaWYgKChiYXNlSXRlbVR5cGUgPT0gTlVMTCkgfHwgKCEgV1hTX0lTX1NJTVBMRShiYXNlSXRlbVR5cGUpKSkgeworCQkgICAgUEVSUk9SX0lOVCgieG1sU2NoZW1hQ2hlY2tDT1NTVFJlc3RyaWN0cyIsCisJCQkiZmFpbGVkIHRvIGV2YWwgdGhlIGl0ZW0gdHlwZSBvZiBhIGJhc2UgdHlwZSIpOworCQkgICAgcmV0dXJuICgtMSk7CisJCX0KKwkJaWYgKChpdGVtVHlwZSAhPSBiYXNlSXRlbVR5cGUpICYmCisJCSAgICAoeG1sU2NoZW1hQ2hlY2tDT1NTVERlcml2ZWRPSyhBQ1RYVF9DQVNUIHBjdHh0LCBpdGVtVHlwZSwKKwkJCWJhc2VJdGVtVHlwZSwgMCkgIT0gMCkpIHsKKwkJICAgIHhtbENoYXIgKnN0ckJJVCA9IE5VTEwsICpzdHJCVCA9IE5VTEw7CisJCSAgICB4bWxTY2hlbWFQQ3VzdG9tRXJyRXh0KHBjdHh0LAorCQkJWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzNfMl8zLAorCQkJV1hTX0JBU0lDX0NBU1QgdHlwZSwgTlVMTCwKKwkJCSJUaGUgaXRlbSB0eXBlICclcycgaXMgbm90IHZhbGlkbHkgZGVyaXZlZCBmcm9tICIKKwkJCSJ0aGUgaXRlbSB0eXBlICclcycgb2YgdGhlIGJhc2UgdHlwZSAnJXMnIiwKKwkJCXhtbFNjaGVtYUdldENvbXBvbmVudFFOYW1lKCZzdHIsIGl0ZW1UeXBlKSwKKwkJCXhtbFNjaGVtYUdldENvbXBvbmVudFFOYW1lKCZzdHJCSVQsIGJhc2VJdGVtVHlwZSksCisJCQl4bWxTY2hlbWFHZXRDb21wb25lbnRRTmFtZSgmc3RyQlQsIHR5cGUtPmJhc2VUeXBlKSk7CisKKwkJICAgIEZSRUVfQU5EX05VTEwoc3RyKQorCQkgICAgRlJFRV9BTkRfTlVMTChzdHJCSVQpCisJCSAgICBGUkVFX0FORF9OVUxMKHN0ckJUKQorCQkgICAgcmV0dXJuIChYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzJfM18yXzMpOworCQl9CisJICAgIH0KKworCSAgICBpZiAodHlwZS0+ZmFjZXRzICE9IE5VTEwpIHsKKwkJeG1sU2NoZW1hRmFjZXRQdHIgZmFjZXQ7CisJCWludCBvayA9IDE7CisJCS8qCisJCSogMi4zLjIuNCBPbmx5IGxlbmd0aCwgbWluTGVuZ3RoLCBtYXhMZW5ndGgsIHdoaXRlU3BhY2UsIHBhdHRlcm4KKwkJKiBhbmQgZW51bWVyYXRpb24gZmFjZXQgY29tcG9uZW50cyBhcmUgYWxsb3dlZCBhbW9uZyB0aGUge2ZhY2V0c30uCisJCSovCisJCWZhY2V0ID0gdHlwZS0+ZmFjZXRzOworCQlkbyB7CisJCSAgICBzd2l0Y2ggKGZhY2V0LT50eXBlKSB7CisJCQljYXNlIFhNTF9TQ0hFTUFfRkFDRVRfTEVOR1RIOgorCQkJY2FzZSBYTUxfU0NIRU1BX0ZBQ0VUX01JTkxFTkdUSDoKKwkJCWNhc2UgWE1MX1NDSEVNQV9GQUNFVF9NQVhMRU5HVEg6CisJCQljYXNlIFhNTF9TQ0hFTUFfRkFDRVRfV0hJVEVTUEFDRToKKwkJCSAgICAvKgorCQkJICAgICogVE9ETzogMi41LjEuMiBMaXN0IGRhdGF0eXBlcworCQkJICAgICogVGhlIHZhbHVlIG9mIGB3aGl0ZVNwYWNlYCBpcyBmaXhlZCB0byB0aGUgdmFsdWUgY29sbGFwc2UuCisJCQkgICAgKi8KKwkJCWNhc2UgWE1MX1NDSEVNQV9GQUNFVF9QQVRURVJOOgorCQkJY2FzZSBYTUxfU0NIRU1BX0ZBQ0VUX0VOVU1FUkFUSU9OOgorCQkJICAgIGJyZWFrOworCQkJZGVmYXVsdDogeworCQkJICAgIHhtbFNjaGVtYVBJbGxlZ2FsRmFjZXRMaXN0VW5pb25FcnIocGN0eHQsCisJCQkJWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzNfMl80LAorCQkJCXR5cGUsIGZhY2V0KTsKKwkJCSAgICAvKgorCQkJICAgICogV2UgY291bGQgcmV0dXJuLCBidXQgaXQncyBuaWNlciB0byByZXBvcnQgYWxsCisJCQkgICAgKiBpbnZhbGlkIGZhY2V0cy4KKwkJCSAgICAqLworCQkJICAgIG9rID0gMDsKKwkJCX0KKwkJICAgIH0KKwkJICAgIGZhY2V0ID0gZmFjZXQtPm5leHQ7CisJCX0gd2hpbGUgKGZhY2V0ICE9IE5VTEwpOworCQlpZiAob2sgPT0gMCkKKwkJICAgIHJldHVybiAoWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18yXzNfMl80KTsKKwkJLyoKKwkJKiBTUEVDICgyLjMuMi41KSAoc2FtZSBhcyAxLjMuMikKKwkJKgorCQkqIE5PVEUgKDIuMy4yLjUpIFRoaXMgaXMgY3VycmVudGx5IGRvbmUgaW4KKwkJKiB4bWxTY2hlbWFEZXJpdmVBbmRWYWxpZGF0ZUZhY2V0cygpCisJCSovCisJICAgIH0KKwl9CisgICAgfSBlbHNlIGlmIChXWFNfSVNfVU5JT04odHlwZSkpIHsKKwkvKgorCSogMy4xIFRoZSB7bWVtYmVyIHR5cGUgZGVmaW5pdGlvbnN9IG11c3QgYWxsIGhhdmUge3ZhcmlldHl9IG9mCisJKiBhdG9taWMgb3IgbGlzdC4KKwkqLworCXhtbFNjaGVtYVR5cGVMaW5rUHRyIG1lbWJlcjsKKworCW1lbWJlciA9IHR5cGUtPm1lbWJlclR5cGVzOworCXdoaWxlIChtZW1iZXIgIT0gTlVMTCkgeworCSAgICBpZiAoV1hTX0lTX1RZUEVfTk9UX0ZJWEVEKG1lbWJlci0+dHlwZSkpCisJCXhtbFNjaGVtYVR5cGVGaXh1cChtZW1iZXItPnR5cGUsIEFDVFhUX0NBU1QgcGN0eHQpOworCisJICAgIGlmICgoISBXWFNfSVNfQVRPTUlDKG1lbWJlci0+dHlwZSkpICYmCisJCSghIFdYU19JU19MSVNUKG1lbWJlci0+dHlwZSkpKSB7CisJCXhtbFNjaGVtYVBDdXN0b21FcnIocGN0eHQsCisJCSAgICBYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzNfMSwKKwkJICAgIFdYU19CQVNJQ19DQVNUIHR5cGUsIE5VTEwsCisJCSAgICAiVGhlIG1lbWJlciB0eXBlICclcycgaXMgbmVpdGhlciBhbiBhdG9taWMsIG5vciBhIGxpc3QgdHlwZSIsCisJCSAgICB4bWxTY2hlbWFHZXRDb21wb25lbnRRTmFtZSgmc3RyLCBtZW1iZXItPnR5cGUpKTsKKwkJRlJFRV9BTkRfTlVMTChzdHIpCisJCXJldHVybiAoWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzEpOworCSAgICB9CisJICAgIG1lbWJlciA9IG1lbWJlci0+bmV4dDsKKwl9CisJLyoKKwkqIDMuMy4xIElmIHRoZSB7YmFzZSB0eXBlIGRlZmluaXRpb259IGlzIHRoZSBgc2ltcGxlIHVyLXR5cGUKKwkqIGRlZmluaXRpb25gCisJKi8KKwlpZiAodHlwZS0+YmFzZVR5cGUtPmJ1aWx0SW5UeXBlID09IFhNTF9TQ0hFTUFTX0FOWVNJTVBMRVRZUEUpIHsKKwkgICAgLyoKKwkgICAgKiAzLjMuMS4xIEFsbCBvZiB0aGUge21lbWJlciB0eXBlIGRlZmluaXRpb25zfSBtdXN0IGhhdmUgYQorCSAgICAqIHtmaW5hbH0gd2hpY2ggZG9lcyBub3QgY29udGFpbiB1bmlvbi4KKwkgICAgKi8KKwkgICAgbWVtYmVyID0gdHlwZS0+bWVtYmVyVHlwZXM7CisJICAgIHdoaWxlIChtZW1iZXIgIT0gTlVMTCkgeworCQlpZiAoeG1sU2NoZW1hVHlwZUZpbmFsQ29udGFpbnMobWVtYmVyLT50eXBlLAorCQkgICAgWE1MX1NDSEVNQVNfVFlQRV9GSU5BTF9VTklPTikpIHsKKwkJICAgIHhtbFNjaGVtYVBDdXN0b21FcnIocGN0eHQsCisJCQlYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzNfM18xLAorCQkJV1hTX0JBU0lDX0NBU1QgdHlwZSwgTlVMTCwKKwkJCSJUaGUgJ2ZpbmFsJyBvZiBtZW1iZXIgdHlwZSAnJXMnIGNvbnRhaW5zICd1bmlvbiciLAorCQkJeG1sU2NoZW1hR2V0Q29tcG9uZW50UU5hbWUoJnN0ciwgbWVtYmVyLT50eXBlKSk7CisJCSAgICBGUkVFX0FORF9OVUxMKHN0cikKKwkJICAgIHJldHVybiAoWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzNfMSk7CisJCX0KKwkJbWVtYmVyID0gbWVtYmVyLT5uZXh0OworCSAgICB9CisJICAgIC8qCisJICAgICogMy4zLjEuMiBUaGUge2ZhY2V0c30gbXVzdCBiZSBlbXB0eS4KKwkgICAgKi8KKwkgICAgaWYgKHR5cGUtPmZhY2V0U2V0ICE9IE5VTEwpIHsKKwkJeG1sU2NoZW1hUEN1c3RvbUVycihwY3R4dCwKKwkJICAgIFhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfM18zXzFfMiwKKwkJICAgIFdYU19CQVNJQ19DQVNUIHR5cGUsIE5VTEwsCisJCSAgICAiTm8gZmFjZXRzIGFsbG93ZWQiLCBOVUxMKTsKKwkJcmV0dXJuIChYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzNfM18xXzIpOworCSAgICB9CisJfSBlbHNlIHsKKwkgICAgLyoKKwkgICAgKiAzLjMuMi4xIFRoZSB7YmFzZSB0eXBlIGRlZmluaXRpb259IG11c3QgaGF2ZSBhIHt2YXJpZXR5fSBvZiB1bmlvbi4KKwkgICAgKiBJLmUuIHRoZSB2YXJpZXR5IG9mICJsaXN0IiBpcyBpbmhlcml0ZWQuCisJICAgICovCisJICAgIGlmICghIFdYU19JU19VTklPTih0eXBlLT5iYXNlVHlwZSkpIHsKKwkJeG1sU2NoZW1hUEN1c3RvbUVycihwY3R4dCwKKwkJICAgIFhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfM18zXzJfMSwKKwkJICAgIFdYU19CQVNJQ19DQVNUIHR5cGUsIE5VTEwsCisJCSAgICAiVGhlIGJhc2UgdHlwZSAnJXMnIGlzIG5vdCBhIHVuaW9uIHR5cGUiLAorCQkgICAgeG1sU2NoZW1hR2V0Q29tcG9uZW50UU5hbWUoJnN0ciwgdHlwZS0+YmFzZVR5cGUpKTsKKwkJRlJFRV9BTkRfTlVMTChzdHIpCisJCXJldHVybiAoWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzNfMl8xKTsKKwkgICAgfQorCSAgICAvKgorCSAgICAqIDMuMy4yLjIgVGhlIHtmaW5hbH0gb2YgdGhlIHtiYXNlIHR5cGUgZGVmaW5pdGlvbn0gbXVzdCBub3QgY29udGFpbiByZXN0cmljdGlvbi4KKwkgICAgKi8KKwkgICAgaWYgKHhtbFNjaGVtYVR5cGVGaW5hbENvbnRhaW5zKHR5cGUtPmJhc2VUeXBlLAorCQlYTUxfU0NIRU1BU19UWVBFX0ZJTkFMX1JFU1RSSUNUSU9OKSkgeworCQl4bWxTY2hlbWFQQ3VzdG9tRXJyKHBjdHh0LAorCQkgICAgWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzNfMl8yLAorCQkgICAgV1hTX0JBU0lDX0NBU1QgdHlwZSwgTlVMTCwKKwkJICAgICJUaGUgJ2ZpbmFsJyBvZiBpdHMgYmFzZSB0eXBlICclcycgbXVzdCBub3QgY29udGFpbiAncmVzdHJpY3Rpb24nIiwKKwkJICAgIHhtbFNjaGVtYUdldENvbXBvbmVudFFOYW1lKCZzdHIsIHR5cGUtPmJhc2VUeXBlKSk7CisJCUZSRUVfQU5EX05VTEwoc3RyKQorCQlyZXR1cm4gKFhNTF9TQ0hFTUFQX0NPU19TVF9SRVNUUklDVFNfM18zXzJfMik7CisJICAgIH0KKwkgICAgLyoKKwkgICAgKiAzLjMuMi4zIFRoZSB7bWVtYmVyIHR5cGUgZGVmaW5pdGlvbnN9LCBpbiBvcmRlciwgbXVzdCBiZSB2YWxpZGx5CisJICAgICogZGVyaXZlZCBmcm9tIHRoZSBjb3JyZXNwb25kaW5nIHR5cGUgZGVmaW5pdGlvbnMgaW4gdGhlIHtiYXNlCisJICAgICogdHlwZSBkZWZpbml0aW9ufSdzIHttZW1iZXIgdHlwZSBkZWZpbml0aW9uc30gZ2l2ZW4gdGhlIGVtcHR5IHNldCwKKwkgICAgKiBhcyBkZWZpbmVkIGluIFR5cGUgRGVyaXZhdGlvbiBPSyAoU2ltcGxlKSAoJDMuMTQuNikuCisJICAgICovCisJICAgIHsKKwkJeG1sU2NoZW1hVHlwZUxpbmtQdHIgYmFzZU1lbWJlcjsKKworCQkvKgorCQkqIE9QVElNSVpFOiBpZiB0aGUgdHlwZSBpcyByZXN0cmljdGluZywgaXQgaGFzIG5vIGxvY2FsIGRlZmluZWQKKwkJKiBtZW1iZXIgdHlwZXMgYW5kIGluaGVyaXRzIHRoZSBtZW1iZXIgdHlwZXMgb2YgdGhlIGJhc2UgdHlwZTsKKwkJKiB0aHVzIGEgY2hlY2sgZm9yIGVxdWFsaXR5IGNhbiBiZSBza2lwcGVkLgorCQkqLworCQkvKgorCQkqIEV2ZW4gd29yc2U6IEkgY2Fubm90IHNlZSBhIHNjZW5hcmlvIHdoZXJlIGEgcmVzdHJpY3RpbmcKKwkJKiB1bmlvbiBzaW1wbGUgdHlwZSBjYW4gaGF2ZSBvdGhlciBtZW1iZXIgdHlwZXMgYXMgdGhlIG1lbWJlcgorCQkqIHR5cGVzIG9mIGl0J3MgYmFzZSB0eXBlLiBUaGlzIGNoZWNrIHNlZW1zIG5vdCBuZWNlc3Nhcnkgd2l0aAorCQkqIHJlc3BlY3QgdG8gdGhlIGRlcml2YXRpb24gcHJvY2VzcyBpbiBsaWJ4bWwyLgorCQkqIEJ1dCBuZWNlc3NhcnkgaWYgY29uc3RydWN0aW5nIHR5cGVzIHdpdGggYW4gQVBJLgorCQkqLworCQlpZiAodHlwZS0+bWVtYmVyVHlwZXMgIT0gTlVMTCkgeworCQkgICAgbWVtYmVyID0gdHlwZS0+bWVtYmVyVHlwZXM7CisJCSAgICBiYXNlTWVtYmVyID0geG1sU2NoZW1hR2V0VW5pb25TaW1wbGVUeXBlTWVtYmVyVHlwZXModHlwZS0+YmFzZVR5cGUpOworCQkgICAgaWYgKChtZW1iZXIgPT0gTlVMTCkgJiYgKGJhc2VNZW1iZXIgIT0gTlVMTCkpIHsKKwkJCVBFUlJPUl9JTlQoInhtbFNjaGVtYUNoZWNrQ09TU1RSZXN0cmljdHMiLAorCQkJICAgICJkaWZmZXJlbnQgbnVtYmVyIG9mIG1lbWJlciB0eXBlcyBpbiBiYXNlIik7CisJCSAgICB9CisJCSAgICB3aGlsZSAobWVtYmVyICE9IE5VTEwpIHsKKwkJCWlmIChiYXNlTWVtYmVyID09IE5VTEwpIHsKKwkJCSAgICBQRVJST1JfSU5UKCJ4bWxTY2hlbWFDaGVja0NPU1NUUmVzdHJpY3RzIiwKKwkJCSAgICAiZGlmZmVyZW50IG51bWJlciBvZiBtZW1iZXIgdHlwZXMgaW4gYmFzZSIpOworCQkJfSBlbHNlIGlmICgobWVtYmVyLT50eXBlICE9IGJhc2VNZW1iZXItPnR5cGUpICYmCisJCQkgICAgKHhtbFNjaGVtYUNoZWNrQ09TU1REZXJpdmVkT0soQUNUWFRfQ0FTVCBwY3R4dCwKKwkJCQltZW1iZXItPnR5cGUsIGJhc2VNZW1iZXItPnR5cGUsIDApICE9IDApKSB7CisJCQkgICAgeG1sQ2hhciAqc3RyQk1UID0gTlVMTCwgKnN0ckJUID0gTlVMTDsKKworCQkJICAgIHhtbFNjaGVtYVBDdXN0b21FcnJFeHQocGN0eHQsCisJCQkJWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzNfMl8zLAorCQkJCVdYU19CQVNJQ19DQVNUIHR5cGUsIE5VTEwsCisJCQkJIlRoZSBtZW1iZXIgdHlwZSAlcyBpcyBub3QgdmFsaWRseSAiCisJCQkJImRlcml2ZWQgZnJvbSBpdHMgY29ycmVzcG9uZGluZyBtZW1iZXIgIgorCQkJCSJ0eXBlICVzIG9mIHRoZSBiYXNlIHR5cGUgJXMiLAorCQkJCXhtbFNjaGVtYUdldENvbXBvbmVudFFOYW1lKCZzdHIsIG1lbWJlci0+dHlwZSksCisJCQkJeG1sU2NoZW1hR2V0Q29tcG9uZW50UU5hbWUoJnN0ckJNVCwgYmFzZU1lbWJlci0+dHlwZSksCisJCQkJeG1sU2NoZW1hR2V0Q29tcG9uZW50UU5hbWUoJnN0ckJULCB0eXBlLT5iYXNlVHlwZSkpOworCQkJICAgIEZSRUVfQU5EX05VTEwoc3RyKQorCQkJICAgIEZSRUVfQU5EX05VTEwoc3RyQk1UKQorCQkJICAgIEZSRUVfQU5EX05VTEwoc3RyQlQpCisJCQkgICAgcmV0dXJuIChYTUxfU0NIRU1BUF9DT1NfU1RfUkVTVFJJQ1RTXzNfM18yXzMpOworCQkJfQorCQkJbWVtYmVyID0gbWVtYmVyLT5uZXh0OworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGJhc2VNZW1iZXIgIT0gTlVMTCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYXNlTWVtYmVyID0gYmFzZU1lbWJlci0+bmV4dDsKKwkJICAgIH0KKwkJfQorCSAgICB9CisJICAgIC8qCisJICAgICogMy4zLjIuNCBPbmx5IHBhdHRlcm4gYW5kIGVudW1lcmF0aW9uIGZhY2V0IGNvbXBvbmVudHMgYXJlCisJICAgICogYWxsb3dlZCBhbW9uZyB0aGUge2ZhY2V0c30uCisJICAgICovCisJICAgIGlmICh0eXBlLT5mYWNldHMgIT0gTlVMTCkgeworCQl4bWxTY2hlbWFGYWNldFB0ciBmYWNldDsKKwkJaW50IG9rID0gMTsKKworCQlmYWNldCA9IHR5cGUtPmZhY2V0czsKKwkJZG8geworCQkgICAgaWYgKChmYWNldC0+dHlwZSAhPSBYTUxfU0NIRU1BX0ZBQ0VUX1BBVFRFUk4pICYmCisJCQkoZmFjZXQtPnR5cGUgIT0gWE1MX1NDSEVNQV9GQUNFVF9FTlVNRVJBVElPTikpIHsKKwkJCXhtbFNjaGVtYVBJbGxlZ2FsRmFjZXRMaXN0VW5pb25FcnIocGN0eHQsCisJCQkJWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzNfMl80LAorCQkJCXR5cGUsIGZhY2V0KTsKKwkJCW9rID0gMDsKKwkJICAgIH0KKwkJICAgIGZhY2V0ID0gZmFjZXQtPm5leHQ7CisJCX0gd2hpbGUgKGZhY2V0ICE9IE5VTEwpOworCQlpZiAob2sgPT0gMCkKKwkJICAgIHJldHVybiAoWE1MX1NDSEVNQVBfQ09TX1NUX1JFU1RSSUNUU18zXzNfMl80KTsKKworCSAgICB9CisJICAgIC8qCisJICAgICogU1BFQyAoMy4zLjIuNSkgKHNhbWUgYXMgMS4zLjIpCisJICAgICoKKwkgICAgKiBOT1RFICgzLjMuMi41KSBUaGlzIGlzIGN1cnJlbnRseSBkb25lIGluCisJICAgICogeG1sU2NoZW1hRGVyaXZlQW5kVmFsaWRhdGVGYWNldHMoKQorCSAgICAqLworCX0KKyAgICB9CisKKyAgICByZXR1cm4gKDApOworfQorCisvKioKKyAqIHhtbFNjaGVtYUNoZWNrU1JDU2ltcGxlVHlwZToKKyAqIEBjdHh0OiAgdGhlIHNjaGVtYSBwYXJzZXIgY29udGV4dAorICogQHR5cGU6ICB0aGUgc2ltcGxlIHR5cGUgZGVmaW5pdGlvbgorICoKKyAqIENoZWNrcyBjcmMtc2ltcGxlLXR5cGUgY29uc3RyYWludHMuCisgKgorICogUmV0dXJucyAwIGlmIHRoZSBjb25zdHJhaW50cyBhcmUgc2F0aXNmaWVkLAorICogaWYgbm90IGEgcG9zaXRpdmUgZXJyb3IgY29kZSBhbmQgLTEgb24gaW50ZXJuYWwKKyAqIGVycm9ycy4KKyAqLworI2lmIDAKK3N0YXRpYyBpbnQKK3htbFNjaGVtYUNoZWNrU1JDU2ltcGxlVHlwZSh4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIGN0eHQsCisJCQkgICAgeG1sU2NoZW1hVHlwZVB0ciB0eXBlKQoreworICAgIC8qCisgICAgKiBzcmMtc2ltcGxlLXR5cGUuMSBUaGUgY29ycmVzcG9uZGluZyBzaW1wbGUgdHlwZSBkZWZpbml0aW9uLCBpZiBhbnksCisgICAgKiBtdXN0IHNhdGlzZnkgdGhlIGNvbmRpdGlvbnMgc2V0IG91dCBpbiBDb25zdHJhaW50cyBvbiBTaW1wbGUgVHlwZQorICAgICogRGVmaW5pdGlvbiBTY2hlbWEgQ29tcG9uZW50cyAoJDMuMTQuNikuCisgICAgKi8KKyAgICBpZiAoV1hTX0lTX1JFU1RSSUNUSU9OKHR5cGUpKSB7CisJLyoKKwkqIHNyYy1zaW1wbGUtdHlwZS4yICJJZiB0aGUgPHJlc3RyaWN0aW9uPiBhbHRlcm5hdGl2ZSBpcyBjaG9zZW4sCisJKiBlaXRoZXIgaXQgbXVzdCBoYXZlIGEgYmFzZSBbYXR0cmlidXRlXSBvciBhIDxzaW1wbGVUeXBlPiBhbW9uZyBpdHMKKwkqIFtjaGlsZHJlbl0sIGJ1dCBub3QgYm90aC4iCisJKiBOT1RFOiBUaGlzIGlzIGNoZWNrZWQgaW4gdGhlIHBhcnNlIGZ1bmN0aW9uIG9mIDxyZXN0cmljdGlvbj4uCisJKi8KKwkvKgorCSoKKwkqLworICAgIH0gZWxzZSBpZiAoV1hTX0lTX0xJU1QodHlwZSkpIHsKKwkvKiBzcmMtc2ltcGxlLXR5cGUuMyAiSWYgdGhlIDxsaXN0PiBhbHRlcm5hdGl2ZSBpcyBjaG9zZW4sIGVpdGhlciBpdCBtdXN0IGhhdmUKKwkqIGFuIGl0ZW1UeXBlIFthdHRyaWJ1dGVdIG9yIGEgPHNpbXBsZVR5cGU+IGFtb25nIGl0cyBbY2hpbGRyZW5dLAorCSogYnV0IG5vdCBib3RoLiIKKwkqCisJKiBOT1RFOiBUaGlzIGlzIGNoZWNrZWQgaW4gdGhlIHBhcnNlIGZ1bmN0aW9uIG9mIDxsaXN0Pi4KKwkqLworICAgIH0gZWxzZSBpZiAoV1hTX0lTX1VOSU9OKHR5cGUpKSB7CisJLyoKKwkqIHNyYy1zaW1wbGUtdHlwZS40IGlzIGNoZWNrZWQgaW4geG1sU2NoZW1hQ2hlY2tVbmlvblR5cGVEZWZDaXJjdWxhcigpLgorCSovCisgICAgfQorICAgIHJldHVybiAoMCk7Cit9CisjZW5kaWYKKworc3RhdGljIGludAoreG1sU2NoZW1hQ3JlYXRlVkN0eHRPblBDdHh0KHhtbFNjaGVtYVBhcnNlckN0eHRQdHIgY3R4dCkKK3sKKyAgIGlmIChjdHh0LT52Y3R4dCA9PSBOVUxMKSB7CisJY3R4dC0+dmN0eHQgPSB4bWxTY2hlbWFOZXdWYWxpZEN0eHQoTlVMTCk7CisJaWYgKGN0eHQtPnZjdHh0ID09IE5VTEwpIHsKKwkgICAgeG1sU2NoZW1hUEVycihjdHh0LCBOVUxMLAorCQlYTUxfU0NIRU1BUF9JTlRFUk5BTCwKKwkJIkludGVybmFsIGVycm9yOiB4bWxTY2hlbWFDcmVhdGVWQ3R4dE9uUEN0eHQsICIKKwkJImZhaWxlZCB0byBjcmVhdGUgYSB0ZW1wLiB2YWxpZGF0aW9uIGNvbnRleHQuXG4iLAorCQlOVUxMLCBOVUxMKTsKKwkgICAgcmV0dXJuICgtMSk7CisJfQorCS8qIFRPRE86IFBhc3MgdXNlciBkYXRhLiAqLworCXhtbFNjaGVtYVNldFZhbGlkRXJyb3JzKGN0eHQtPnZjdHh0LAorCSAgICBjdHh0LT5lcnJvciwgY3R4dC0+d2FybmluZywgY3R4dC0+ZXJyQ3R4dCk7CisJeG1sU2NoZW1hU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzKGN0eHQtPnZjdHh0LAorCSAgICBjdHh0LT5zZXJyb3IsIGN0eHQtPmVyckN0eHQpOworICAgIH0KKyAgICByZXR1cm4gKDApOworfQorCitzdGF0aWMgaW50Cit4bWxTY2hlbWFWQ2hlY2tDVkNTaW1wbGVUeXBlKHhtbFNjaGVtYUFic3RyYWN0Q3R4dFB0ciBhY3R4dCwKKwkJCSAgICAgeG1sTm9kZVB0ciBub2RlLAorCQkJICAgICB4bWxTY2hlbWFUeXBlUHRyIHR5cGUsCisJCQkgICAgIGNvbnN0IHhtbENoYXIgKnZhbHVlLAorCQkJICAgICB4bWxTY2hlbWFWYWxQdHIgKnJldFZhbCwKKwkJCSAgICAgaW50IGZpcmVFcnJvcnMsCisJCQkgICAgIGludCBub3JtYWxpemUsCisJCQkgICAgIGludCBpc05vcm1hbGl6ZWQpOworCisvKioKKyAqIHhtbFNjaGVtYVBhcnNlQ2hlY2tDT1NWYWxpZERlZmF1bHQ6CisgKiBAcGN0eHQ6ICB0aGUgc2NoZW1hIHBhcnNlciBjb250ZXh0CisgKiBAdHlwZTogIHRoZSBzaW1wbGUgdHlwZSBkZWZpbml0aW9uCisgKiBAdmFsdWU6IHRoZSBkZWZhdWx0IHZhbHVlCisgKiBAbm9kZTogYW4gb3B0aW9uYWwgbm9kZSAodGhlIGhvbGRlciBvZiB0aGUgdmFsdWUpCisgKgorICogU2NoZW1hIENvbXBvbmVudCBDb25zdHJhaW50OiBFbGVtZW50IERlZmF1bHQgVmFsaWQgKEltbWVkaWF0ZSkKKyAqIChjb3MtdmFsaWQtZGVmYXVsdCkKKyAqIFRoaXMgd2lsbCBiZSB1c2VkIGJ5IHRoZSBwYXJzZXIgb25seS4gRm9yIHRoZSB2YWxpZGF0b3IgdGhlcmUncworICogYW4gb3RoZXIgdmVyc2lvbi4KKyAqCisgKiBSZXR1cm5zIDAgaWYgdGhlIGNvbnN0cmFpbnRzIGFyZSBzYXRpc2ZpZWQsCisgKiBpZiBub3QsIGEgcG9zaXRpdmUgZXJyb3IgY29kZSBhbmQgLTEgb24gaW50ZXJuYWwKKyAqIGVycm9ycy4KKyAqLworc3RhdGljIGludAoreG1sU2NoZW1hUGFyc2VDaGVja0NPU1ZhbGlkRGVmYXVsdCh4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIHBjdHh0LAorCQkJCSAgIHhtbE5vZGVQdHIgbm9kZSwKKwkJCQkgICB4bWxTY2hlbWFUeXBlUHRyIHR5cGUsCisJCQkJICAgY29uc3QgeG1sQ2hhciAqdmFsdWUsCisJCQkJICAgeG1sU2NoZW1hVmFsUHRyICp2YWwpCit7CisgICAgaW50IHJldCA9IDA7CisKKyAgICAvKgorICAgICogY29zLXZhbGlkLWRlZmF1bHQ6CisgICAgKiBTY2hlbWEgQ29tcG9uZW50IENvbnN0cmFpbnQ6IEVsZW1lbnQgRGVmYXVsdCBWYWxpZCAoSW1tZWRpYXRlKQorICAgICogRm9yIGEgc3RyaW5nIHRvIGJlIGEgdmFsaWQgZGVmYXVsdCB3aXRoIHJlc3BlY3QgdG8gYSB0eXBlCisgICAgKiBkZWZpbml0aW9uIHRoZSBhcHByb3ByaWF0ZSBjYXNlIGFtb25nIHRoZSBmb2xsb3dpbmcgbXVzdCBiZSB0cnVlOgorICAgICovCisgICAgaWYgV1hTX0lTX0NPTVBMRVgodHlwZSkgeworCS8qCisJKiBDb21wbGV4IHR5cGUuCisJKgorCSogU1BFQyAoMi4xKSAiaXRzIHtjb250ZW50IHR5cGV9IG11c3QgYmUgYSBzaW1wbGUgdHlwZSBkZWZpbml0aW9uCisJKiBvciBtaXhlZC4iCisJKiBTUEVDICgyLjIuMikgIklmIHRoZSB7Y29udGVudCB0eXBlfSBpcyBtaXhlZCwgdGhlbiB0aGUge2NvbnRlbnQKKwkqIHR5cGV9J3MgcGFydGljbGUgbXVzdCBiZSBgZW1wdGlhYmxlYCBhcyBkZWZpbmVkIGJ5CisJKiBQYXJ0aWNsZSBFbXB0aWFibGUgKCQzLjkuNikuIgorCSovCisJaWYgKCghIFdYU19IQVNfU0lNUExFX0NPTlRFTlQodHlwZSkpICYmCisJICAgICgoISBXWFNfSEFTX01JWEVEX0NPTlRFTlQodHlwZSkpIHx8ICghIFdYU19FTVBUSUFCTEUodHlwZSkpKSkgeworCSAgICAvKiBOT1RFIHRoYXQgdGhpcyBjb3ZlcnMgKDIuMi4yKSBhcyB3ZWxsLiAqLworCSAgICB4bWxTY2hlbWFQQ3VzdG9tRXJyKHBjdHh0LAorCQlYTUxfU0NIRU1BUF9DT1NfVkFMSURfREVGQVVMVF8yXzEsCisJCVdYU19CQVNJQ19DQVNUIHR5cGUsIHR5cGUtPm5vZGUsCisJCSJGb3IgYSBzdHJpbmcgdG8gYmUgYSB2YWxpZCBkZWZhdWx0LCB0aGUgdHlwZSBkZWZpbml0aW9uICIKKwkJIm11c3QgYmUgYSBzaW1wbGUgdHlwZSBvciBhIGNvbXBsZXggdHlwZSB3aXRoIG1peGVkIGNvbnRlbnQgIgorCQkiYW5kIGEgcGFydGljbGUgZW1wdGlhYmxlIiwgTlVMTCk7CisJICAgIHJldHVybihYTUxfU0NIRU1BUF9DT1NfVkFMSURfREVGQVVMVF8yXzEpOworCX0KKyAgICB9CisgICAgLyoKKyAgICAqIDEgSWYgdGhlIHR5cGUgZGVmaW5pdGlvbiBpcyBhIHNpbXBsZSB0eXBlIGRlZmluaXRpb24sIHRoZW4gdGhlIHN0cmluZworICAgICogbXVzdCBiZSBgdmFsaWRgIHdpdGggcmVzcGVjdCB0byB0aGF0IGRlZmluaXRpb24gYXMgZGVmaW5lZCBieSBTdHJpbmcKKyAgICAqIFZhbGlkICgkMy4xNC40KS4KKyAgICAqCisgICAgKiBBTkQKKyAgICAqCisgICAgKiAyLjIuMSBJZiB0aGUge2NvbnRlbnQgdHlwZX0gaXMgYSBzaW1wbGUgdHlwZSBkZWZpbml0aW9uLCB0aGVuIHRoZQorICAgICogc3RyaW5nIG11c3QgYmUgYHZhbGlkYCB3aXRoIHJlc3BlY3QgdG8gdGhhdCBzaW1wbGUgdHlwZSBkZWZpbml0aW9uCisgICAgKiBhcyBkZWZpbmVkIGJ5IFN0cmluZyBWYWxpZCAoJDMuMTQuNCkuCisgICAgKi8KKyAgICBpZiAoV1hTX0lTX1NJTVBMRSh0eXBlKSkKKwlyZXQgPSB4bWxTY2hlbWFWQ2hlY2tDVkNTaW1wbGVUeXBlKEFDVFhUX0NBU1QgcGN0eHQsIG5vZGUsCisJICAgIHR5cGUsIHZhbHVlLCB2YWwsIDEsIDEsIDApOworICAgIGVsc2UgaWYgKFdYU19IQVNfU0lNUExFX0NPTlRFTlQodHlwZSkpCisJcmV0ID0geG1sU2NoZW1hVkNoZWNrQ1ZDU2ltcGxlVHlwZShBQ1RYVF9DQVNUIHBjdHh0LCBub2RlLAorCSAgICB0eXBlLT5jb250ZW50VHlwZURlZiwgdmFsdWUsIHZhbCwgMSwgMSwgMCk7CisgICAgZWxzZQorCXJldHVybiAocmV0KTsKKworICAgIGlmIChyZXQgPCAwKSB7CisJUEVSUk9SX0lOVCgieG1sU2NoZW1hUGFyc2VDaGVja0NPU1ZhbGlkRGVmYXVsdCIsCisJICAgICJjYWxsaW5nIHhtbFNjaGVtYVZDaGVja0NWQ1NpbXBsZVR5cGUoKSIpOworICAgIH0KKworICAgIHJldHVybiAocmV0KTsKK30KKworLyoqCisgKiB4bWxTY2hlbWFDaGVja0NUUHJvcHNDb3JyZWN0OgorICogQGN0eHQ6ICB0aGUgc2NoZW1hIHBhcnNlciBjb250ZXh0CisgKiBAdHlwZTogIHRoZSBjb21wbGV4IHR5cGUgZGVmaW5pdGlvbgorICoKKyAqLig0LjYpIENvbnN0cmFpbnRzIG9uIENvbXBsZXggVHlwZSBEZWZpbml0aW9uIFNjaGVtYSBDb21wb25lbnRzCisgKiBTY2hlbWEgQ29tcG9uZW50IENvbnN0cmFpbnQ6CisgKiBDb21wbGV4IFR5cGUgRGVmaW5pdGlvbiBQcm9wZXJ0aWVzIENvcnJlY3QgKGN0LXByb3BzLWNvcnJlY3QpCisgKiBTVEFUVVM6IChzZWVtcykgY29tcGxldGUKKyAqCisgKiBSZXR1cm5zIDAgaWYgdGhlIGNvbnN0cmFpbnRzIGFyZSBzYXRpc2ZpZWQsIGEgcG9zaXRpdmUKKyAqIGVycm9yIGNvZGUgaWYgbm90IGFuZCAtMSBpZiBhbiBpbnRlcm5hbCBlcnJvciBvY2N1cmVkLgorICovCitzdGF0aWMgaW50Cit4bWxTY2hlbWFDaGVja0NUUHJvcHNDb3JyZWN0KHhtbFNjaGVtYVBhcnNlckN0eHRQdHIgcGN0eHQsCisJCQkgICAgIHhtbFNjaGVtYVR5cGVQdHIgdHlwZSkKK3sKKyAgICAvKgorICAgICogVE9ETzogQ29ycmVjdCB0aGUgZXJyb3IgY29kZTsgWE1MX1NDSEVNQVBfU1JDX0NUXzEgaXMgdXNlZCB0ZW1wb3JhcmlseS4KKyAgICAqCisgICAgKiBTUEVDICgxKSAiVGhlIHZhbHVlcyBvZiB0aGUgcHJvcGVydGllcyBvZiBhIGNvbXBsZXggdHlwZSBkZWZpbml0aW9uIG11c3QKKyAgICAqIGJlIGFzIGRlc2NyaWJlZCBpbiB0aGUgcHJvcGVydHkgdGFibGVhdSBpbiBUaGUgQ29tcGxleCBUeXBlIERlZmluaXRpb24KKyAgICAqIFNjaGVtYSBDb21wb25lbnQgKCQzLjQuMSksIG1vZHVsbyB0aGUgaW1wYWN0IG9mIE1pc3NpbmcKKyAgICAqIFN1Yi1jb21wb25lbnRzICgkNS4zKS4iCisgICAgKi8KKyAgICBpZiAoKHR5cGUtPmJhc2VUeXBlICE9IE5VTEwpICYmCisJKFdYU19JU19TSU1QTEUodHlwZS0+YmFzZVR5cGUpKSAmJgorCShXWFNfSVNfRVhURU5TSU9OKHR5cGUpID09IDApKSB7CisJLyoKKwkqIFNQRUMgKDIpICJJZiB0aGUge2Jhc2UgdHlwZSBkZWZpbml0aW9ufSBpcyBhIHNpbXBsZSB0eXBlIGRlZmluaXRpb24sCisJKiB0aGUge2Rlcml2YXRpb24gbWV0aG9kfSBtdXN0IGJlIGV4dGVuc2lvbi4iCisJKi8KKwl4bWxTY2hlbWFDdXN0b21FcnIoQUNUWFRfQ0FTVCBwY3R4dCwKKwkgICAgWE1MX1NDSEVNQVBfU1JDX0NUXzEsCisJICAgIE5VTEwsIFdYU19CQVNJQ19DQVNUIHR5cGUsCisJICAgICJJZiB0aGUgYmFzZSB0eXBlIGlzIGEgc2ltcGxlIHR5cGUsIHRoZSBkZXJpdmF0aW9uIG1ldGhvZCBtdXN0IGJlICIKKwkgICAgIidleHRlbnNpb24nIiwgTlVMTCwgTlVMTCk7CisJcmV0dXJuIChYTUxfU0NIRU1BUF9TUkNfQ1RfMSk7CisgICAgfQorICAgIC8qCisgICAgKiBTUEVDICgzKSAiQ2lyY3VsYXIgZGVmaW5pdGlvbnMgYXJlIGRpc2FsbG93ZWQsIGV4Y2VwdCBmb3IgdGhlIGB1ci10eXBlCisgICAgKiBkZWZpbml0aW9uYC4gVGhhdCBpcywgaXQgbXVzdCBiZSBwb3NzaWJsZSB0byByZWFjaCB0aGUgYHVyLXR5cGUKKyAgICAqIGRlZmluaXRpb25gIGJ5IHJlcGVhdGVkbHkgZm9sbG93aW5nIHRoZSB7YmFzZSB0eXBlIGRlZmluaXRpb259LiIKKyAgICAqCisgICAgKiBOT1RFICgzKSBpcyBkb25lIGluIHhtbFNjaGVtYUNoZWNrVHlwZURlZkNpcmN1bGFyKCkuCisgICAgKi8KKyAgICAvKgorICAgICogTk9URSB0aGF0ICg0KSBhbmQgKDUpIG5lZWQgdGhlIGZvbGxvd2luZzoKKyAgICAqICAgLSBhdHRyaWJ1dGUgdXNlcyBuZWVkIHRvIGJlIGFscmVhZHkgaW5oZXJpdGVkIChhcHBseSBhdHRyLiBwcm9oaWJpdGlvbnMpCisgICAgKiAgIC0gYXR0cmlidXRlIGdyb3VwIHJlZmVyZW5jZXMgbmVlZCB0byBiZSBleHBhbmRlZCBhbHJlYWR5CisgICAgKiAgIC0gc2ltcGxlIHR5cGVzIG5lZWQgdG8gYmUgdHlwZWZpeGVkIGFscmVhZHkKKyAgICAqLworICAgIGlmICh0eXBlLT5hdHRyVXNlcyAmJgorCSgoKHhtbFNjaGVtYUl0ZW1MaXN0UHRyKSB0eXBlLT5hdHRyVXNlcyktPm5iSXRlbXMgPiAxKSkKKyAgICB7CisJeG1sU2NoZW1hSXRlbUxpc3RQdHIgdXNlcyA9ICh4bWxTY2hlbWFJdGVtTGlzdFB0cikgdHlwZS0+YXR0clVzZXM7CisJeG1sU2NoZW1hQXR0cmlidXRlVXNlUHRyIHVzZSwgdG1wOworCWludCBpLCBqLCBoYXNJZCA9IDA7CisKKwlmb3IgKGkgPSB1c2VzLT5uYkl0ZW1zIC0xOyBpID49IDA7IGktLSkgeworCSAgICB1c2UgPSB1c2VzLT5pdGVtc1tpXTsKKworCSAgICAvKgorCSAgICAqIFNQRUMgY3QtcHJvcHMtY29ycmVjdAorCSAgICAqICg0KSAiVHdvIGRpc3RpbmN0IGF0dHJpYnV0ZSBkZWNsYXJhdGlvbnMgaW4gdGhlCisJICAgICoge2F0dHJpYnV0ZSB1c2VzfSBtdXN0IG5vdCBoYXZlIGlkZW50aWNhbCB7bmFtZX1zIGFuZAorCSAgICAqIHt0YXJnZXQgbmFtZXNwYWNlfXMuIgorCSAgICAqLworCSAgICBpZiAoaSA+IDApIHsKKwkJZm9yIChqID0gaSAtMTsgaiA+PSAwOyBqLS0pIHsKKwkJICAgIHRtcCA9IHVzZXMtPml0ZW1zW2pdOworCQkgICAgaWYgKChXWFNfQVRUUlVTRV9ERUNMX05BTUUodXNlKSA9PQorCQkJV1hTX0FUVFJVU0VfREVDTF9OQU1FKHRtcCkpICYmCisJCQkoV1hTX0FUVFJVU0VfREVDTF9UTlModXNlKSA9PQorCQkJV1hTX0FUVFJVU0VfREVDTF9UTlModG1wKSkpCisJCSAgICB7CisJCQl4bWxDaGFyICpzdHIgPSBOVUxMOworCisJCQl4bWxTY2hlbWFDdXN0b21FcnIoQUNUWFRfQ0FTVCBwY3R4dCwKKwkJCSAgICBYTUxfU0NIRU1BUF9BR19QUk9QU19DT1JSRUNULAorCQkJICAgIE5VTEwsIFdYU19CQVNJQ19DQVNUIHR5cGUsCisJCQkgICAgIkR1cGxpY2F0ZSAlcyIsCisJCQkgICAgeG1sU2NoZW1hR2V0Q29tcG9uZW50RGVzaWduYXRpb24oJnN0ciwgdXNlKSwKKwkJCSAgICBOVUxMKTsKKwkJCUZSRUVfQU5EX05VTEwoc3RyKTsKKwkJCS8qCisJCQkqIFJlbW92ZSB0aGUgZHVwbGljYXRlLgorCQkJKi8KKwkJCWlmICh4bWxTY2hlbWFJdGVtTGlzdFJlbW92ZSh1c2VzLCBpKSA9PSAtMSkKKwkJCSAgICBnb3RvIGV4aXRfZmFpbHVyZTsKKwkJCWdvdG8gbmV4dF91c2U7CisJCSAgICB9CisJCX0KKwkgICAgfQorCSAgICAvKgorCSAgICAqIFNQRUMgY3QtcHJvcHMtY29ycmVjdAorCSAgICAqICg1KSAiVHdvIGRpc3RpbmN0IGF0dHJpYnV0ZSBkZWNsYXJhdGlvbnMgaW4gdGhlCisJICAgICoge2F0dHJpYnV0ZSB1c2VzfSBtdXN0IG5vdCBoYXZlIHt0eXBlIGRlZmluaXRpb259cyB3aGljaAorCSAgICAqIGFyZSBvciBhcmUgZGVyaXZlZCBmcm9tIElELiIKKwkgICAgKi8KKwkgICAgaWYgKFdYU19BVFRSVVNFX1RZUEVERUYodXNlKSAhPSBOVUxMKSB7CisJCWlmICh4bWxTY2hlbWFJc0Rlcml2ZWRGcm9tQnVpbHRJblR5cGUoCisJCSAgICBXWFNfQVRUUlVTRV9UWVBFREVGKHVzZSksIFhNTF9TQ0hFTUFTX0lEKSkKKwkJeworCQkgICAgaWYgKGhhc0lkKSB7CisJCQl4bWxDaGFyICpzdHIgPSBOVUxMOworCisJCQl4bWxTY2hlbWFDdXN0b21FcnIoQUNUWFRfQ0FTVCBwY3R4dCwKKwkJCSAgICBYTUxfU0NIRU1BUF9BR19QUk9QU19DT1JSRUNULAorCQkJICAgIE5VTEwsIFdYU19CQVNJQ19DQVNUIHR5cGUsCisJCQkgICAgIlRoZXJlIG11c3Qgbm90IGV4aXN0IG1vcmUgdGhhbiBvbmUgYXR0cmlidXRlICIKKwkJCSAgICAiZGVjbGFyYXRpb24gb2YgdHlwZSAneHM6SUQnICIKKwkJCSAgICAiKG9yIGRlcml2ZWQgZnJvbSAneHM6SUQnKS4gVGhlICVzIHZpb2xhdGVzIHRoaXMgIgorCQkJICAgICJjb25zdHJhaW50IiwKKwkJCSAgICB4bWxTY2hlbWFHZXRDb21wb25lbnREZXNpZ25hdGlvbigmc3RyLCB1c2UpLAorCQkJICAgIE5VTEwpOworCQkJRlJFRV9BTkRfTlVMTChzdHIpOworCQkJaWYgKHhtbFNjaGVtYUl0ZW1MaXN0UmVtb3ZlKHVzZXMsIGkpID09IC0xKQorCQkJICAgIGdvdG8gZXhpdF9mYWlsdXJlOworCQkgICAgfQorCisJCSAgICBoYXNJZCA9IDE7CisJCX0KKwkgICAgfQorbmV4dF91c2U6IHt9CisJfQorICAgIH0KKyAgICByZXR1cm4gKDApOworZXhpdF9mYWlsdXJlOgorICAgIHJldHVybigtMSk7Cit9CisKK3N0YXRpYyBpbnQKK3htbFNjaGVtYUFyZUVxdWFsVHlwZXMoeG1sU2NoZW1hVHlwZVB0ciB0eXBlQSwKKwkJICAgICAgIHhtbFNjaGVtYVR5cGVQdHIgdHlwZUIpCit7CisgICAgLyoKKyAgICAqIFRPRE86IFRoaXMgc2hvdWxkIGltcGxlbWVudCBjb21wb25lbnQtaWRlbnRpdHkKKyAgICAqIGluIHRoZSBmdXR1cmUuCisgICAgKi8KKyAgICBpZiAoKHR5cGVBID09IE5VTEwpIHx8ICh0eXBlQiA9PSBOVUxMKSkKKwlyZXR1cm4gKDApOworICAgIHJldHVybiAodHlwZUEgPT0gdHlwZUIpOworfQorCisvKioKKyAqIHhtbFNjaGVtYUNoZWNrQ09TQ1REZXJpdmVkT0s6CisgKiBAY3R4dDogIHRoZSBzY2hlbWEgcGFyc2VyIGNvbnRleHQKKyAqIEB0eXBlOiAgdGhlIHRvLWJlIGRlcml2ZWQgY29tcGxleCB0eXBlIGRlZmluaXRpb24KKyAqIEBiYXNlVHlwZTogIHRoZSBiYXNlIGNvbXBsZXggdHlwZSBkZWZpbml0aW9uCisgKiBAc2V0OiB0aGUgZ2l2ZW4gc2V0CisgKgorICogU2NoZW1hIENvbXBvbmVudCBDb25zdHJhaW50OgorICogVHlwZSBEZXJpdmF0aW9uIE9LIChDb21wbGV4KSAoY29zLWN0LWRlcml2ZWQtb2spCisgKgorICogU1RBVFVTOiBjb21wbGV0ZWQKKyAqCisgKiBSZXR1cm5zIDAgaWYgdGhlIGNvbnN0cmFpbnRzIGFyZSBzYXRpc2ZpZWQsIG9yIDEKKyAqIGlmIG5vdC4KKyAqLworc3RhdGljIGludAoreG1sU2NoZW1hQ2hlY2tDT1NDVERlcml2ZWRPSyh4bWxTY2hlbWFBYnN0cmFjdEN0eHRQdHIgYWN0eHQsCisJCQkgICAgIHhtbFNjaGVtYVR5cGVQdHIgdHlwZSwKKwkJCSAgICAgeG1sU2NoZW1hVHlwZVB0ciBiYXNlVHlwZSwKKwkJCSAgICAgaW50IHNldCkKK3sKKyAgICBpbnQgZXF1YWwgPSB4bWxTY2hlbWFBcmVFcXVhbFR5cGVzKHR5cGUsIGJhc2VUeXBlKTsKKyAgICAvKiBUT0RPOiBFcnJvciBjb2Rlcy4gKi8KKyAgICAvKgorICAgICogU1BFQyAiRm9yIGEgY29tcGxleCB0eXBlIGRlZmluaXRpb24gKGNhbGwgaXQgRCwgZm9yIGRlcml2ZWQpCisgICAgKiB0byBiZSB2YWxpZGx5IGRlcml2ZWQgZnJvbSBhIHR5cGUgZGVmaW5pdGlvbiAoY2FsbCB0aGlzCisgICAgKiBCLCBmb3IgYmFzZSkgZ2l2ZW4gYSBzdWJzZXQgb2Yge2V4dGVuc2lvbiwgcmVzdHJpY3Rpb259CisgICAgKiBhbGwgb2YgdGhlIGZvbGxvd2luZyBtdXN0IGJlIHRydWU6IgorICAgICovCisgICAgaWYgKCEgZXF1YWwpIHsKKwkvKgorCSogU1BFQyAoMSkgIklmIEIgYW5kIEQgYXJlIG5vdCB0aGUgc2FtZSB0eXBlIGRlZmluaXRpb24sIHRoZW4gdGhlCisJKiB7ZGVyaXZhdGlvbiBtZXRob2R9IG9mIEQgbXVzdCBub3QgYmUgaW4gdGhlIHN1YnNldC4iCisJKi8KKwlpZiAoKChzZXQgJiBTVUJTRVRfRVhURU5TSU9OKSAmJiAoV1hTX0lTX0VYVEVOU0lPTih0eXBlKSkpIHx8CisJICAgICgoc2V0ICYgU1VCU0VUX1JFU1RSSUNUSU9OKSAmJiAoV1hTX0lTX1JFU1RSSUNUSU9OKHR5cGUpKSkpCisJICAgIHJldHVybiAoMSk7CisgICAgfSBlbHNlIHsKKwkvKgorCSogU1BFQyAoMi4xKSAiQiBhbmQgRCBtdXN0IGJlIHRoZSBzYW1lIHR5cGUgZGVmaW5pdGlvbi4iCisJKi8KKwlyZXR1cm4gKDApOworICAgIH0KKyAgICAvKgorICAgICogU1BFQyAoMi4yKSAiQiBtdXN0IGJlIEQncyB7YmFzZSB0eXBlIGRlZmluaXRpb259LiIKKyAgICAqLworICAgIGlmICh0eXBlLT5iYXNlVHlwZSA9PSBiYXNlVHlwZSkKKwlyZXR1cm4gKDApOworICAgIC8qCisgICAgKiBTUEVDICgyLjMuMSkgIkQncyB7YmFzZSB0eXBlIGRlZmluaXRpb259IG11c3Qgbm90IGJlIHRoZSBgdXItdHlwZQorICAgICogZGVmaW5pdGlvbmAuIgorICAgICovCisgICAgaWYgKFdYU19JU19BTllUWVBFKHR5cGUtPmJhc2VUeXBlKSkKKwlyZXR1cm4gKDEpOworCisgICAgaWYgKFdYU19JU19DT01QTEVYKHR5cGUtPmJhc2VUeXBlKSkgeworCS8qCisJKiBTUEVDICgyLjMuMi4xKSAiSWYgRCdzIHtiYXNlIHR5cGUgZGVmaW5pdGlvbn0gaXMgY29tcGxleCwgdGhlbiBpdAorCSogbXVzdCBiZSB2YWxpZGx5IGRlcml2ZWQgZnJvbSBCIGdpdmVuIHRoZSBzdWJzZXQgYXMgZGVmaW5lZCBieSB0aGlzCisJKiBjb25zdHJhaW50LiIKKwkqLworCXJldHVybiAoeG1sU2NoZW1hQ2hlY2tDT1NDVERlcml2ZWRPSyhhY3R4dCwgdHlwZS0+YmFzZVR5cGUsCisJICAgIGJhc2VUeXBlLCBzZXQpKTsKKyAgICB9IGVsc2UgeworCS8qCisJKiBTUEVDICgyLjMuMi4yKSAiSWYgRCdzIHtiYXNlIHR5cGUgZGVmaW5pdGlvbn0gaXMgc2ltcGxlLCB0aGVuIGl0CisJKiBtdXN0IGJlIHZhbGlkbHkgZGVyaXZlZCBmcm9tIEIgZ2l2ZW4gdGhlIHN1YnNldCBhcyBkZWZpbmVkIGluIFR5cGUKKwkqIERlcml2YXRpb24gT0sgKFNpbXBsZSkgKCQzLjE0LjYpLgorCSovCisJcmV0dXJuICh4bWxTY2hlbWFDaGVja0NPU1NURGVyaXZlZE9LKGFjdHh0LCB0eXBlLT5iYXNlVHlwZSwKKwkgICAgYmFzZVR5cGUsIHNldCkpOworICAgIH0KK30KKworLyoqCisgKiB4bWxTY2hlbWFDaGVja0NPU0Rlcml2ZWRPSzoKKyAqIEB0eXBlOiAgdGhlIGRlcml2ZWQgc2ltcGxlIHR5cGUgZGVmaW5pdGlvbgorICogQGJhc2VUeXBlOiAgdGhlIGJhc2UgdHlwZSBkZWZpbml0aW9uCisgKgorICogQ2FsbHM6CisgKiBUeXBlIERlcml2YXRpb24gT0sgKFNpbXBsZSkgQU5EIFR5cGUgRGVyaXZhdGlvbiBPSyAoQ29tcGxleCkKKyAqCisgKiBDaGVja3Mgd2hldGVyIEB0eXBlIGNhbiBiZSB2YWxpZGx5IGRlcml2ZWQgZnJvbSBAYmFzZVR5cGUuCisgKgorICogUmV0dXJucyAwIG9uIHN1Y2Nlc3MsIGFuIHBvc2l0aXZlIGVycm9yIGNvZGUgb3RoZXJ3aXNlLgorICovCitzdGF0aWMgaW50Cit4bWxTY2hlbWFDaGVja0NPU0Rlcml2ZWRPSyh4bWxTY2hlbWFBYnN0cmFjdEN0eHRQdHIgYWN0eHQsCisJCQkgICB4bWxTY2hlbWFUeXBlUHRyIHR5cGUsCisJCQkgICB4bWxTY2hlbWFUeXBlUHRyIGJhc2VUeXBlLAorCQkJICAgaW50IHNldCkKK3sKKyAgICBpZiAoV1hTX0lTX1NJTVBMRSh0eXBlKSkKKwlyZXR1cm4gKHhtbFNjaGVtYUNoZWNrQ09TU1REZXJpdmVkT0soYWN0eHQsIHR5cGUsIGJhc2VUeXBlLCBzZXQpKTsKKyAgICBlbHNlCisJcmV0dXJuICh4bWxTY2hlbWFDaGVja0NPU0NURGVyaXZlZE9LKGFjdHh0LCB0eXBlLCBiYXNlVHlwZSwgc2V0KSk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hQ2hlY2tDT1NDVEV4dGVuZHM6CisgKiBAY3R4dDogIHRoZSBzY2hlbWEgcGFyc2VyIGNvbnRleHQKKyAqIEB0eXBlOiAgdGhlIGNvbXBsZXggdHlwZSBkZWZpbml0aW9uCisgKgorICogKDMuNC42KSBDb25zdHJhaW50cyBvbiBDb21wbGV4IFR5cGUgRGVmaW5pdGlvbiBTY2hlbWEgQ29tcG9uZW50cworICogU2NoZW1hIENvbXBvbmVudCBDb25zdHJhaW50OgorICogRGVyaXZhdGlvbiBWYWxpZCAoRXh0ZW5zaW9uKSAoY29zLWN0LWV4dGVuZHMpCisgKgorICogU1RBVFVTOgorICogICBtaXNzaW5nOgorICogICAgICgxLjUpCisgKiAgICAgKDEuNC4zLjIuMi4yKSAiUGFydGljbGUgVmFsaWQgKEV4dGVuc2lvbikiCisgKgorICogUmV0dXJucyAwIGlmIHRoZSBjb25zdHJhaW50cyBhcmUgc2F0aXNmaWVkLCBhIHBvc2l0aXZlCisgKiBlcnJvciBjb2RlIGlmIG5vdCBhbmQgLTEgaWYgYW4gaW50ZXJuYWwgZXJyb3Igb2NjdXJlZC4KKyAqLworc3RhdGljIGludAoreG1sU2NoZW1hQ2hlY2tDT1NDVEV4dGVuZHMoeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBjdHh0LAorCQkJICAgeG1sU2NoZW1hVHlwZVB0ciB0eXBlKQoreworICAgIHhtbFNjaGVtYVR5cGVQdHIgYmFzZSA9IHR5cGUtPmJhc2VUeXBlOworICAgIC8qCisgICAgKiBUT0RPOiBDb3JyZWN0IHRoZSBlcnJvciBjb2RlOyBYTUxfU0NIRU1BUF9DT1NfQ1RfRVhURU5EU18xXzEgaXMgdXNlZAorICAgICogdGVtcG9yYXJpbHkgb25seS4KKyAgICAqLworICAgIC8qCisgICAgKiBTUEVDICgxKSAiSWYgdGhlIHtiYXNlIHR5cGUgZGVmaW5pdGlvbn0gaXMgYSBjb21wbGV4IHR5cGUgZGVmaW5pdGlvbiwKKyAgICAqIHRoZW4gYWxsIG9mIHRoZSBmb2xsb3dpbmcgbXVzdCBiZSB0cnVlOiIKKyAgICAqLworICAgIGlmIChXWFNfSVNfQ09NUExFWChiYXNlKSkgeworCS8qCisJKiBTUEVDICgxLjEpICJUaGUge2ZpbmFsfSBvZiB0aGUge2Jhc2UgdHlwZSBkZWZpbml0aW9ufSBtdXN0IG5vdAorCSogY29udGFpbiBleHRlbnNpb24uIgorCSovCisJaWYgKGJhc2UtPmZsYWdzICYgWE1MX1NDSEVNQVNfVFlQRV9GSU5BTF9FWFRFTlNJT04pIHsKKwkgICAgeG1sU2NoZW1hUEN1c3RvbUVycihjdHh0LAorCQlYTUxfU0NIRU1BUF9DT1NfQ1RfRVhURU5EU18xXzEsCisJCVdYU19CQVNJQ19DQVNUIHR5cGUsIE5VTEwsCisJCSJUaGUgJ2ZpbmFsJyBvZiB0aGUgYmFzZSB0eXBlIGRlZmluaXRpb24gIgorCQkiY29udGFpbnMgJ2V4dGVuc2lvbiciLCBOVUxMKTsKKwkgICAgcmV0dXJuIChYTUxfU0NIRU1BUF9DT1NfQ1RfRVhURU5EU18xXzEpOworCX0KKworCS8qCisJKiBBVFRFTlRJT046IFRoZSBjb25zdHJhaW5zICgxLjIpIGFuZCAoMS4zKSBhcmUgbm90IGFwcGxpZWQsCisJKiBzaW5jZSB0aGV5IGFyZSBhdXRvbWF0aWNhbGx5IHNhdGlzZmllZCB0aHJvdWdoIHRoZQorCSogaW5oZXJpdGluZyBtZWNoYW5pc20uCisJKiBOb3RlIHRoYXQgZXZlbiBpZiByZWRlZmluaW5nIGNvbXBvbmVudHMsIHRoZSBpbmhlcml0aW5nIG1lY2hhbmlzbQorCSogaXMgdXNlZC4KKwkqLworI2lmIDAKKwkvKgorCSogU1BFQyAoMS4yKSAiSXRzIHthdHRyaWJ1dGUgdXNlc30gbXVzdCBiZSBhIHN1YnNldCBvZiB0aGUge2F0dHJpYnV0ZQorCSogdXNlc30KKwkqIG9mIHRoZSBjb21wbGV4IHR5cGUgZGVmaW5pdGlvbiBpdHNlbGYsIHRoYXQgaXMsIGZvciBldmVyeSBhdHRyaWJ1dGUKKwkqIHVzZSBpbiB0aGUge2F0dHJpYnV0ZSB1c2VzfSBvZiB0aGUge2Jhc2UgdHlwZSBkZWZpbml0aW9ufSwgdGhlcmUKKwkqIG11c3QgYmUgYW4gYXR0cmlidXRlIHVzZSBpbiB0aGUge2F0dHJpYnV0ZSB1c2VzfSBvZiB0aGUgY29tcGxleAorCSogdHlwZSBkZWZpbml0aW9uIGl0c2VsZiB3aG9zZSB7YXR0cmlidXRlIGRlY2xhcmF0aW9ufSBoYXMgdGhlIHNhbWUKKwkqIHtuYW1lfSwge3RhcmdldCBuYW1lc3BhY2V9IGFuZCB7dHlwZSBkZWZpbml0aW9ufSBhcyBpdHMgYXR0cmlidXRlCisJKiBkZWNsYXJhdGlvbiIKKwkqLworCWlmIChiYXNlLT5hdHRyVXNlcyAhPSBOVUxMKSB7CisJICAgIGludCBpLCBqLCBmb3VuZDsKKwkgICAgeG1sU2NoZW1hQXR0cmlidXRlVXNlUHRyIHVzZSwgYnVzZTsKKworCSAgICBmb3IgKGkgPSAwOyBpIDwgKFdYU19MSVNUX0NBU1QgYmFzZS0+YXR0clVzZXMpLT5uYkl0ZW1zOyBpICsrKSB7CisJCWJ1c2UgPSAoV1hTX0xJU1RfQ0FTVCBiYXNlLT5hdHRyVXNlcyktPml0ZW1zW2ldOworCQlmb3VuZCA9IDA7CisJCWlmICh0eXBlLT5hdHRyVXNlcyAhPSBOVUxMKSB7CisJCSAgICB1c2UgPSAoV1hTX0xJU1RfQ0FTVCB0eXBlLT5hdHRyVXNlcyktPml0ZW1zW2pdOworCQkgICAgZm9yIChqID0gMDsgaiA8IChXWFNfTElTVF9DQVNUIHR5cGUtPmF0dHJVc2VzKS0+bmJJdGVtczsgaiArKykKKwkJICAgIHsKKwkJCWlmICgoV1hTX0FUVFJVU0VfREVDTF9OQU1FKHVzZSkgPT0KKwkJCQlXWFNfQVRUUlVTRV9ERUNMX05BTUUoYnVzZSkpICYmCisJCQkgICAgKFdYU19BVFRSVVNFX0RFQ0xfVE5TKHVzZSkgPT0KKwkJCQlXWFNfQVRUUlVTRV9ERUNMX1ROUyhidXNlKSkgJiYKKwkJCSAgICAoV1hTX0FUVFJVU0VfVFlQRURFRih1c2UpID09CisJCQkJV1hTX0FUVFJVU0VfVFlQRURFRihidXNlKSkKKwkJCXsKKwkJCSAgICBmb3VuZCA9IDE7CisJCQkgICAgYnJlYWs7CisJCQl9CisJCSAgICB9CisJCX0KKwkJaWYgKCEgZm91bmQpIHsKKwkJICAgIHhtbENoYXIgKnN0ciA9IE5VTEw7CisKKwkJICAgIHhtbFNjaGVtYUN1c3RvbUVycihBQ1RYVF9DQVNUIGN0eHQsCisJCQlYTUxfU0NIRU1BUF9DT1NfQ1RfRVhURU5EU18xXzIsCisJCQlOVUxMLCBXWFNfQkFTSUNfQ0FTVCB0eXBlLAorCQkJLyoKKwkJCSogVE9ETzogVGhlIHJlcG9ydCBkb2VzIG5vdCBpbmRpY2F0ZSB0aGF0IGFsc28gdGhlCisJCQkqIHR5cGUgbmVlZHMgdG8gYmUgdGhlIHNhbWUuCisJCQkqLworCQkJIlRoaXMgdHlwZSBpcyBtaXNzaW5nIGEgbWF0Y2hpbmcgY29ycmVzcG9uZGVudCAiCisJCQkiZm9yIGl0cyB7YmFzZSB0eXBlfSdzICVzIGluIGl0cyB7YXR0cmlidXRlIHVzZXN9IiwKKwkJCXhtbFNjaGVtYUdldENvbXBvbmVudERlc2lnbmF0aW9uKCZzdHIsCisJCQkgICAgYnVzZS0+Y2hpbGRyZW4pLAorCQkJTlVMTCk7CisJCSAgICBGUkVFX0FORF9OVUxMKHN0cikKKwkJfQorCSAgICB9CisJfQorCS8qCisJKiBTUEVDICgxLjMpICJJZiBpdCBoYXMgYW4ge2F0dHJpYnV0ZSB3aWxkY2FyZH0sIHRoZSBjb21wbGV4IHR5cGUKKwkqIGRlZmluaXRpb24gbXVzdCBhbHNvIGhhdmUgb25lLCBhbmQgdGhlIGJhc2UgdHlwZSBkZWZpbml0aW9uJ3MKKwkqIHthdHRyaWJ1dGUgIHdpbGRjYXJkfSdzIHtuYW1lc3BhY2UgY29uc3RyYWludH0gbXVzdCBiZSBhIHN1YnNldAorCSogb2YgdGhlIGNvbXBsZXggIHR5cGUgZGVmaW5pdGlvbidzIHthdHRyaWJ1dGUgd2lsZGNhcmR9J3Mge25hbWVzcGFjZQorCSogY29uc3RyYWludH0sIGFzIGRlZmluZWQgYnkgV2lsZGNhcmQgU3Vic2V0ICgkMy4xMC42KS4iCisJKi8KKworCS8qCisJKiBNQVlCRSBUT0RPOiBFbmFibGUgaWYgZXZlciBuZWVkZWQuIEJ1dCB0aGlzIHdpbGwgYmUgbmVlZGVkIG9ubHkKKwkqIGlmIGNyZWF0ZWQgdGhlIHR5cGUgdmlhIGEgc2NoZW1hIGNvbnN0cnVjdGlvbiBBUEkuCisJKi8KKwlpZiAoYmFzZS0+YXR0cmlidXRlV2lsZGNhcmQgIT0gTlVMTCkgeworCSAgICBpZiAodHlwZS0+YXR0cmlidXRlV2lsY2FyZCA9PSBOVUxMKSB7CisJCXhtbENoYXIgKnN0ciA9IE5VTEw7CisKKwkJeG1sU2NoZW1hQ3VzdG9tRXJyKEFDVFhUX0NBU1QgcGN0eHQsCisJCSAgICBYTUxfU0NIRU1BUF9DT1NfQ1RfRVhURU5EU18xXzMsCisJCSAgICBOVUxMLCB0eXBlLAorCQkgICAgIlRoZSBiYXNlICVzIGhhcyBhbiBhdHRyaWJ1dGUgd2lsZGNhcmQsICIKKwkJICAgICJidXQgdGhpcyB0eXBlIGlzIG1pc3NpbmcgYW4gYXR0cmlidXRlIHdpbGRjYXJkIiwKKwkJICAgIHhtbFNjaGVtYUdldENvbXBvbmVudERlc2lnbmF0aW9uKCZzdHIsIGJhc2UpKTsKKwkJRlJFRV9BTkRfTlVMTChzdHIpCisKKwkgICAgfSBlbHNlIGlmICh4bWxTY2hlbWFDaGVja0NPU05TU3Vic2V0KAorCQliYXNlLT5hdHRyaWJ1dGVXaWxkY2FyZCwgdHlwZS0+YXR0cmlidXRlV2lsZGNhcmQpKQorCSAgICB7CisJCXhtbENoYXIgKnN0ciA9IE5VTEw7CisKKwkJeG1sU2NoZW1hQ3VzdG9tRXJyKEFDVFhUX0NBU1QgcGN0eHQsCisJCSAgICBYTUxfU0NIRU1BUF9DT1NfQ1RfRVhURU5EU18xXzMsCisJCSAgICBOVUxMLCB0eXBlLAorCQkgICAgIlRoZSBhdHRyaWJ1dGUgd2lsZGNhcmQgaXMgbm90IGEgdmFsaWQgIgorCQkgICAgInN1cGVyc2V0IG9mIHRoZSBvbmUgaW4gdGhlIGJhc2UgJXMiLAorCQkgICAgeG1sU2NoZW1hR2V0Q29tcG9uZW50RGVzaWduYXRpb24oJnN0ciwgYmFzZSkpOworCQlGUkVFX0FORF9OVUxMKHN0cikKKwkgICAgfQorCX0KKyNlbmRpZgorCS8qCisJKiBTUEVDICgxLjQpICJPbmUgb2YgdGhlIGZvbGxvd2luZyBtdXN0IGJlIHRydWU6IgorCSovCisJaWYgKCh0eXBlLT5jb250ZW50VHlwZURlZiAhPSBOVUxMKSAmJgorCSAgICAodHlwZS0+Y29udGVudFR5cGVEZWYgPT0gYmFzZS0+Y29udGVudFR5cGVEZWYpKSB7CisJICAgIC8qCisJICAgICogU1BFQyAoMS40LjEpICJUaGUge2NvbnRlbnQgdHlwZX0gb2YgdGhlIHtiYXNlIHR5cGUgZGVmaW5pdGlvbn0KKwkgICAgKiBhbmQgdGhlIHtjb250ZW50IHR5cGV9IG9mIHRoZSBjb21wbGV4IHR5cGUgZGVmaW5pdGlvbiBpdHNlbGYKKwkgICAgKiBtdXN0IGJlIHRoZSBzYW1lIHNpbXBsZSB0eXBlIGRlZmluaXRpb24iCisJICAgICogUEFTUworCSAgICAqLworCX0gZWxzZSBpZiAoKHR5cGUtPmNvbnRlbnRUeXBlID09IFhNTF9TQ0hFTUFfQ09OVEVOVF9FTVBUWSkgJiYKKwkgICAgKGJhc2UtPmNvbnRlbnRUeXBlID09IFhNTF9TQ0hFTUFfQ09OVEVOVF9FTVBUWSkgKSB7CisJICAgIC8qCisJICAgICogU1BFQyAoMS40LjIpICJUaGUge2NvbnRlbnQgdHlwZX0gb2YgYm90aCB0aGUge2Jhc2UgdHlwZQorCSAgICAqIGRlZmluaXRpb259IGFuZCB0aGUgY29tcGxleCB0eXBlIGRlZmluaXRpb24gaXRzZWxmIG11c3QKKwkgICAgKiBiZSBlbXB0eS4iCisJICAgICogUEFTUworCSAgICAqLworCX0gZWxzZSB7CisJICAgIC8qCisJICAgICogU1BFQyAoMS40LjMpICJBbGwgb2YgdGhlIGZvbGxvd2luZyBtdXN0IGJlIHRydWU6IgorCSAgICAqLworCSAgICBpZiAodHlwZS0+c3VidHlwZXMgPT0gTlVMTCkgeworCQkvKgorCQkqIFNQRUMgMS40LjMuMSBUaGUge2NvbnRlbnQgdHlwZX0gb2YgdGhlIGNvbXBsZXggdHlwZQorCQkqIGRlZmluaXRpb24gaXRzZWxmIG11c3Qgc3BlY2lmeSBhIHBhcnRpY2xlLgorCQkqLworCQl4bWxTY2hlbWFQQ3VzdG9tRXJyKGN0eHQsCisJCSAgICBYTUxfU0NIRU1BUF9DT1NfQ1RfRVhURU5EU18xXzEsCisJCSAgICBXWFNfQkFTSUNfQ0FTVCB0eXBlLCBOVUxMLAorCQkgICAgIlRoZSBjb250ZW50IHR5cGUgbXVzdCBzcGVjaWZ5IGEgcGFydGljbGUiLCBOVUxMKTsKKwkJcmV0dXJuIChYTUxfU0NIRU1BUF9DT1NfQ1RfRVhURU5EU18xXzEpOworCSAgICB9CisJICAgIC8qCisJICAgICogU1BFQyAoMS40LjMuMikgIk9uZSBvZiB0aGUgZm9sbG93aW5nIG11c3QgYmUgdHJ1ZToiCisJICAgICovCisJICAgIGlmIChiYXNlLT5jb250ZW50VHlwZSA9PSBYTUxfU0NIRU1BX0NPTlRFTlRfRU1QVFkpIHsKKwkJLyoKKwkJKiBTUEVDICgxLjQuMy4yLjEpICJUaGUge2NvbnRlbnQgdHlwZX0gb2YgdGhlIHtiYXNlIHR5cGUKKwkJKiBkZWZpbml0aW9ufSBtdXN0IGJlIGVtcHR5LgorCQkqIFBBU1MKKwkJKi8KKwkgICAgfSBlbHNlIHsKKwkJLyoKKwkJKiBTUEVDICgxLjQuMy4yLjIpICJBbGwgb2YgdGhlIGZvbGxvd2luZyBtdXN0IGJlIHRydWU6IgorCQkqLworCQlpZiAoKHR5cGUtPmNvbnRlbnRUeXBlICE9IGJhc2UtPmNvbnRlbnRUeXBlKSB8fAorCQkgICAgKCh0eXBlLT5jb250ZW50VHlwZSAhPSBYTUxfU0NIRU1BX0NPTlRFTlRfTUlYRUQpICYmCisJCSAgICAodHlwZS0+Y29udGVudFR5cGUgIT0gWE1MX1NDSEVNQV9DT05URU5UX0VMRU1FTlRTKSkpIHsKKwkJICAgIC8qCisJCSAgICAqIFNQRUMgKDEuNC4zLjIuMi4xKSAiQm90aCB7Y29udGVudCB0eXBlfXMgbXVzdCBiZSBtaXhlZAorCQkgICAgKiBvciBib3RoIG11c3QgYmUgZWxlbWVudC1vbmx5LiIKKwkJICAgICovCisJCSAgICB4bWxTY2hlbWFQQ3VzdG9tRXJyKGN0eHQsCisJCQlYTUxfU0NIRU1BUF9DT1NfQ1RfRVhURU5EU18xXzEsCisJCQlXWFNfQkFTSUNfQ0FTVCB0eXBlLCBOVUxMLAorCQkJIlRoZSBjb250ZW50IHR5cGUgb2YgYm90aCwgdGhlIHR5cGUgYW5kIGl0cyBiYXNlICIKKwkJCSJ0eXBlLCBtdXN0IGVpdGhlciAnbWl4ZWQnIG9yICdlbGVtZW50LW9ubHknIiwgTlVMTCk7CisJCSAgICByZXR1cm4gKFhNTF9TQ0hFTUFQX0NPU19DVF9FWFRFTkRTXzFfMSk7CisJCX0KKwkJLyoKKwkJKiBVUkdFTlQgVE9ETyBTUEVDICgxLjQuMy4yLjIuMikgIlRoZSBwYXJ0aWNsZSBvZiB0aGUKKwkJKiBjb21wbGV4IHR5cGUgZGVmaW5pdGlvbiBtdXN0IGJlIGEgYHZhbGlkIGV4dGVuc2lvbmAKKwkJKiBvZiB0aGUge2Jhc2UgdHlwZSBkZWZpbml0aW9ufSdzIHBhcnRpY2xlLCBhcyBkZWZpbmVkCisJCSogaW4gUGFydGljbGUgVmFsaWQgKEV4dGVuc2lvbikgKCQzLjkuNikuIgorCQkqCisJCSogTk9URSB0aGF0IHdlIHdvbid0IGNoZWNrICJQYXJ0aWNsZSBWYWxpZCAoRXh0ZW5zaW9uKSIsCisJCSogc2luY2UgaXQgaXMgZW5zdXJlZCBieSB0aGUgZGVyaXZhdGlvbiBwcm9jZXNzIGluCisJCSogeG1sU2NoZW1hVHlwZUZpeHVwKCkuIFdlIG5lZWQgdG8gaW1wbGVtZW50IHRoaXMgd2hlbiBoZWFkaW5nCisJCSogZm9yIGEgY29uc3RydWN0aW9uIEFQSQorCQkqIFRPRE86ICEhIFRoaXMgaXMgbmVlZGVkIHRvIGJlIGNoZWNrZWQgaWYgcmVkZWZpbmluZyBhIHR5cGUgISEKKwkJKi8KKwkgICAgfQorCSAgICAvKgorCSAgICAqIFVSR0VOVCBUT0RPICgxLjUpCisJICAgICovCisJfQorICAgIH0gZWxzZSB7CisJLyoKKwkqIFNQRUMgKDIpICJJZiB0aGUge2Jhc2UgdHlwZSBkZWZpbml0aW9ufSBpcyBhIHNpbXBsZSB0eXBlIGRlZmluaXRpb24sCisJKiB0aGVuIGFsbCBvZiB0aGUgZm9sbG93aW5nIG11c3QgYmUgdHJ1ZToiCisJKi8KKwlpZiAodHlwZS0+Y29udGVudFR5cGVEZWYgIT0gYmFzZSkgeworCSAgICAvKgorCSAgICAqIFNQRUMgKDIuMSkgIlRoZSB7Y29udGVudCB0eXBlfSBtdXN0IGJlIHRoZSBzYW1lIHNpbXBsZSB0eXBlCisJICAgICogZGVmaW5pdGlvbi4iCisJICAgICovCisJICAgIHhtbFNjaGVtYVBDdXN0b21FcnIoY3R4dCwKKwkJWE1MX1NDSEVNQVBfQ09TX0NUX0VYVEVORFNfMV8xLAorCQlXWFNfQkFTSUNfQ0FTVCB0eXBlLCBOVUxMLAorCQkiVGhlIGNvbnRlbnQgdHlwZSBtdXN0IGJlIHRoZSBzaW1wbGUgYmFzZSB0eXBlIiwgTlVMTCk7CisJICAgIHJldHVybiAoWE1MX1NDSEVNQVBfQ09TX0NUX0VYVEVORFNfMV8xKTsKKwl9CisJaWYgKGJhc2UtPmZsYWdzICYgWE1MX1NDSEVNQVNfVFlQRV9GSU5BTF9FWFRFTlNJT04pIHsKKwkgICAgLyoKKwkgICAgKiBTUEVDICgyLjIpICJUaGUge2ZpbmFsfSBvZiB0aGUge2Jhc2UgdHlwZSBkZWZpbml0aW9ufSBtdXN0IG5vdAorCSAgICAqIGNvbnRhaW4gZXh0ZW5zaW9uIgorCSAgICAqIE5PVEUgdGhhdCB0aGlzIGlzIHRoZSBzYW1lIGFzICgxLjEpLgorCSAgICAqLworCSAgICB4bWxTY2hlbWFQQ3VzdG9tRXJyKGN0eHQsCisJCVhNTF9TQ0hFTUFQX0NPU19DVF9FWFRFTkRTXzFfMSwKKwkJV1hTX0JBU0lDX0NBU1QgdHlwZSwgTlVMTCwKKwkJIlRoZSAnZmluYWwnIG9mIHRoZSBiYXNlIHR5cGUgZGVmaW5pdGlvbiAiCisJCSJjb250YWlucyAnZXh0ZW5zaW9uJyIsIE5VTEwpOworCSAgICByZXR1cm4gKFhNTF9TQ0hFTUFQX0NPU19DVF9FWFRFTkRTXzFfMSk7CisJfQorICAgIH0KKyAgICByZXR1cm4gKDApOworfQorCisvKioKKyAqIHhtbFNjaGVtYUNoZWNrRGVyaXZhdGlvbk9LUmVzdHJpY3Rpb246CisgKiBAY3R4dDogIHRoZSBzY2hlbWEgcGFyc2VyIGNvbnRleHQKKyAqIEB0eXBlOiAgdGhlIGNvbXBsZXggdHlwZSBkZWZpbml0aW9uCisgKgorICogKDMuNC42KSBDb25zdHJhaW50cyBvbiBDb21wbGV4IFR5cGUgRGVmaW5pdGlvbiBTY2hlbWEgQ29tcG9uZW50cworICogU2NoZW1hIENvbXBvbmVudCBDb25zdHJhaW50OgorICogRGVyaXZhdGlvbiBWYWxpZCAoUmVzdHJpY3Rpb24sIENvbXBsZXgpIChkZXJpdmF0aW9uLW9rLXJlc3RyaWN0aW9uKQorICoKKyAqIFNUQVRVUzoKKyAqICAgbWlzc2luZzoKKyAqICAgICAoNS40LjIpID8/PworICoKKyAqIEFUVEVOVElPTjoKKyAqIEluIFhNTCBTY2hlbWEgMS4xIHRoaXMgd2lsbCBiZToKKyAqIFZhbGlkYXRpb24gUnVsZTogQ2hlY2tpbmcgY29tcGxleCB0eXBlIHN1YnN1bXB0aW9uCisgKgorICogUmV0dXJucyAwIGlmIHRoZSBjb25zdHJhaW50cyBhcmUgc2F0aXNmaWVkLCBhIHBvc2l0aXZlCisgKiBlcnJvciBjb2RlIGlmIG5vdCBhbmQgLTEgaWYgYW4gaW50ZXJuYWwgZXJyb3Igb2NjdXJlZC4KKyAqLworc3RhdGljIGludAoreG1sU2NoZW1hQ2hlY2tEZXJpdmF0aW9uT0tSZXN0cmljdGlvbih4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIGN0eHQsCisJCQkJICAgICAgeG1sU2NoZW1hVHlwZVB0ciB0eXBlKQoreworICAgIHhtbFNjaGVtYVR5cGVQdHIgYmFzZTsKKworICAgIC8qCisgICAgKiBUT0RPOiBDb3JyZWN0IHRoZSBlcnJvciBjb2RlOyBYTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzEgaXMgdXNlZAorICAgICogdGVtcG9yYXJpbHkgb25seS4KKyAgICAqLworICAgIGJhc2UgPSB0eXBlLT5iYXNlVHlwZTsKKyAgICBpZiAoISBXWFNfSVNfQ09NUExFWChiYXNlKSkgeworCXhtbFNjaGVtYUN1c3RvbUVycihBQ1RYVF9DQVNUIGN0eHQsCisJICAgIFhNTF9TQ0hFTUFQX0RFUklWQVRJT05fT0tfUkVTVFJJQ1RJT05fMSwKKwkgICAgdHlwZS0+bm9kZSwgV1hTX0JBU0lDX0NBU1QgdHlwZSwKKwkgICAgIlRoZSBiYXNlIHR5cGUgbXVzdCBiZSBhIGNvbXBsZXggdHlwZSIsIE5VTEwsIE5VTEwpOworCXJldHVybihjdHh0LT5lcnIpOworICAgIH0KKyAgICBpZiAoYmFzZS0+ZmxhZ3MgJiBYTUxfU0NIRU1BU19UWVBFX0ZJTkFMX1JFU1RSSUNUSU9OKSB7CisJLyoKKwkqIFNQRUMgKDEpICJUaGUge2Jhc2UgdHlwZSBkZWZpbml0aW9ufSBtdXN0IGJlIGEgY29tcGxleCB0eXBlCisJKiBkZWZpbml0aW9uIHdob3NlIHtmaW5hbH0gZG9lcyBub3QgY29udGFpbiByZXN0cmljdGlvbi4iCisJKi8KKwl4bWxTY2hlbWFDdXN0b21FcnIoQUNUWFRfQ0FTVCBjdHh0LAorCSAgICBYTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzEsCisJICAgIHR5cGUtPm5vZGUsIFdYU19CQVNJQ19DQVNUIHR5cGUsCisJICAgICJUaGUgJ2ZpbmFsJyBvZiB0aGUgYmFzZSB0eXBlIGRlZmluaXRpb24gIgorCSAgICAiY29udGFpbnMgJ3Jlc3RyaWN0aW9uJyIsIE5VTEwsIE5VTEwpOworCXJldHVybiAoY3R4dC0+ZXJyKTsKKyAgICB9CisgICAgLyoKKyAgICAqIFNQRUMgKDIpLCAoMykgYW5kICg0KQorICAgICogVGhvc2UgYXJlIGhhbmRsZWQgaW4gYSBzZXBhcmF0ZSBmdW5jdGlvbiwgc2luY2UgdGhlCisgICAgKiBzYW1lIGNvbnN0cmFpbnRzIGFyZSBuZWVkZWQgZm9yIHJlZGVmaW5pdGlvbiBvZgorICAgICogYXR0cmlidXRlIGdyb3VwcyBhcyB3ZWxsLgorICAgICovCisgICAgaWYgKHhtbFNjaGVtYUNoZWNrRGVyaXZhdGlvbk9LUmVzdHJpY3Rpb24ydG80KGN0eHQsCisJWE1MX1NDSEVNQV9BQ1RJT05fREVSSVZFLAorCVdYU19CQVNJQ19DQVNUIHR5cGUsIFdYU19CQVNJQ19DQVNUIGJhc2UsCisJdHlwZS0+YXR0clVzZXMsIGJhc2UtPmF0dHJVc2VzLAorCXR5cGUtPmF0dHJpYnV0ZVdpbGRjYXJkLAorCWJhc2UtPmF0dHJpYnV0ZVdpbGRjYXJkKSA9PSAtMSkKKyAgICB7CisJcmV0dXJuKC0xKTsKKyAgICB9CisgICAgLyoKKyAgICAqIFNQRUMgKDUpICJPbmUgb2YgdGhlIGZvbGxvd2luZyBtdXN0IGJlIHRydWU6IgorICAgICovCisgICAgaWYgKGJhc2UtPmJ1aWx0SW5UeXBlID09IFhNTF9TQ0hFTUFTX0FOWVRZUEUpIHsKKwkvKgorCSogU1BFQyAoNS4xKSAiVGhlIHtiYXNlIHR5cGUgZGVmaW5pdGlvbn0gbXVzdCBiZSB0aGUKKwkqIGB1ci10eXBlIGRlZmluaXRpb25gLiIKKwkqIFBBU1MKKwkqLworICAgIH0gZWxzZSBpZiAoKHR5cGUtPmNvbnRlbnRUeXBlID09IFhNTF9TQ0hFTUFfQ09OVEVOVF9TSU1QTEUpIHx8CisJICAgICh0eXBlLT5jb250ZW50VHlwZSA9PSBYTUxfU0NIRU1BX0NPTlRFTlRfQkFTSUMpKSB7CisJLyoKKwkqIFNQRUMgKDUuMi4xKSAiVGhlIHtjb250ZW50IHR5cGV9IG9mIHRoZSBjb21wbGV4IHR5cGUgZGVmaW5pdGlvbgorCSogbXVzdCBiZSBhIHNpbXBsZSB0eXBlIGRlZmluaXRpb24iCisJKgorCSogU1BFQyAoNS4yLjIpICJPbmUgb2YgdGhlIGZvbGxvd2luZyBtdXN0IGJlIHRydWU6IgorCSovCisJaWYgKChiYXNlLT5jb250ZW50VHlwZSA9PSBYTUxfU0NIRU1BX0NPTlRFTlRfU0lNUExFKSB8fAorCSAgICAoYmFzZS0+Y29udGVudFR5cGUgPT0gWE1MX1NDSEVNQV9DT05URU5UX0JBU0lDKSkKKwl7CisJICAgIGludCBlcnI7CisJICAgIC8qCisJICAgICogU1BFQyAoNS4yLjIuMSkgIlRoZSB7Y29udGVudCB0eXBlfSBvZiB0aGUge2Jhc2UgdHlwZQorCSAgICAqIGRlZmluaXRpb259IG11c3QgYmUgYSBzaW1wbGUgdHlwZSBkZWZpbml0aW9uIGZyb20gd2hpY2gKKwkgICAgKiB0aGUge2NvbnRlbnQgdHlwZX0gaXMgdmFsaWRseSBkZXJpdmVkIGdpdmVuIHRoZSBlbXB0eQorCSAgICAqIHNldCBhcyBkZWZpbmVkIGluIFR5cGUgRGVyaXZhdGlvbiBPSyAoU2ltcGxlKSAoJDMuMTQuNikuIgorCSAgICAqCisJICAgICogQVRURU5USU9OIFRPRE86IFRoaXMgc2VlbXMgbm90IG5lZWRlZCBpZiB0aGUgdHlwZSBpbXBsaWNpdGVseQorCSAgICAqIGRlcml2ZWQgZnJvbSB0aGUgYmFzZSB0eXBlLgorCSAgICAqCisJICAgICovCisJICAgIGVyciA9IHhtbFNjaGVtYUNoZWNrQ09TU1REZXJpdmVkT0soQUNUWFRfQ0FTVCBjdHh0LAorCQl0eXBlLT5jb250ZW50VHlwZURlZiwgYmFzZS0+Y29udGVudFR5cGVEZWYsIDApOworCSAgICBpZiAoZXJyICE9IDApIHsKKwkJeG1sQ2hhciAqc3RyQSA9IE5VTEwsICpzdHJCID0gTlVMTDsKKworCQlpZiAoZXJyID09IC0xKQorCQkgICAgcmV0dXJuKC0xKTsKKwkJeG1sU2NoZW1hQ3VzdG9tRXJyKEFDVFhUX0NBU1QgY3R4dCwKKwkJICAgIFhNTF9TQ0hFTUFQX0RFUklWQVRJT05fT0tfUkVTVFJJQ1RJT05fMSwKKwkJICAgIE5VTEwsIFdYU19CQVNJQ19DQVNUIHR5cGUsCisJCSAgICAiVGhlIHtjb250ZW50IHR5cGV9ICVzIGlzIG5vdCB2YWxpZGx5IGRlcml2ZWQgZnJvbSB0aGUgIgorCQkgICAgImJhc2UgdHlwZSdzIHtjb250ZW50IHR5cGV9ICVzIiwKKwkJICAgIHhtbFNjaGVtYUdldENvbXBvbmVudERlc2lnbmF0aW9uKCZzdHJBLAorCQkJdHlwZS0+Y29udGVudFR5cGVEZWYpLAorCQkgICAgeG1sU2NoZW1hR2V0Q29tcG9uZW50RGVzaWduYXRpb24oJnN0ckIsCisJCQliYXNlLT5jb250ZW50VHlwZURlZikpOworCQlGUkVFX0FORF9OVUxMKHN0ckEpOworCQlGUkVFX0FORF9OVUxMKHN0ckIpOworCQlyZXR1cm4oY3R4dC0+ZXJyKTsKKwkgICAgfQorCX0gZWxzZSBpZiAoKGJhc2UtPmNvbnRlbnRUeXBlID09IFhNTF9TQ0hFTUFfQ09OVEVOVF9NSVhFRCkgJiYKKwkgICAgKHhtbFNjaGVtYUlzUGFydGljbGVFbXB0aWFibGUoCisJCSh4bWxTY2hlbWFQYXJ0aWNsZVB0cikgYmFzZS0+c3VidHlwZXMpKSkgeworCSAgICAvKgorCSAgICAqIFNQRUMgKDUuMi4yLjIpICJUaGUge2Jhc2UgdHlwZSBkZWZpbml0aW9ufSBtdXN0IGJlIG1peGVkCisJICAgICogYW5kIGhhdmUgYSBwYXJ0aWNsZSB3aGljaCBpcyBgZW1wdGlhYmxlYCBhcyBkZWZpbmVkIGluCisJICAgICogUGFydGljbGUgRW1wdGlhYmxlICgkMy45LjYpLiIKKwkgICAgKiBQQVNTCisJICAgICovCisJfSBlbHNlIHsKKwkgICAgeG1sU2NoZW1hUEN1c3RvbUVycihjdHh0LAorCQlYTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzEsCisJCVdYU19CQVNJQ19DQVNUIHR5cGUsIE5VTEwsCisJCSJUaGUgY29udGVudCB0eXBlIG9mIHRoZSBiYXNlIHR5cGUgbXVzdCBiZSBlaXRoZXIgIgorCQkiYSBzaW1wbGUgdHlwZSBvciAnbWl4ZWQnIGFuZCBhbiBlbXB0aWFibGUgcGFydGljbGUiLCBOVUxMKTsKKwkgICAgcmV0dXJuIChjdHh0LT5lcnIpOworCX0KKyAgICB9IGVsc2UgaWYgKHR5cGUtPmNvbnRlbnRUeXBlID09IFhNTF9TQ0hFTUFfQ09OVEVOVF9FTVBUWSkgeworCS8qCisJKiBTUEVDICg1LjMuMSkgIlRoZSB7Y29udGVudCB0eXBlfSBvZiB0aGUgY29tcGxleCB0eXBlIGl0c2VsZiBtdXN0CisJKiBiZSBlbXB0eSIKKwkqLworCWlmIChiYXNlLT5jb250ZW50VHlwZSA9PSBYTUxfU0NIRU1BX0NPTlRFTlRfRU1QVFkpIHsKKwkgICAgLyoKKwkgICAgKiBTUEVDICg1LjMuMi4xKSAiVGhlIHtjb250ZW50IHR5cGV9IG9mIHRoZSB7YmFzZSB0eXBlCisJICAgICogZGVmaW5pdGlvbn0gbXVzdCBhbHNvIGJlIGVtcHR5LiIKKwkgICAgKiBQQVNTCisJICAgICovCisJfSBlbHNlIGlmICgoKGJhc2UtPmNvbnRlbnRUeXBlID09IFhNTF9TQ0hFTUFfQ09OVEVOVF9FTEVNRU5UUykgfHwKKwkgICAgKGJhc2UtPmNvbnRlbnRUeXBlID09IFhNTF9TQ0hFTUFfQ09OVEVOVF9NSVhFRCkpICYmCisJICAgIHhtbFNjaGVtYUlzUGFydGljbGVFbXB0aWFibGUoCisJCSh4bWxTY2hlbWFQYXJ0aWNsZVB0cikgYmFzZS0+c3VidHlwZXMpKSB7CisJICAgIC8qCisJICAgICogU1BFQyAoNS4zLjIuMikgIlRoZSB7Y29udGVudCB0eXBlfSBvZiB0aGUge2Jhc2UgdHlwZQorCSAgICAqIGRlZmluaXRpb259IG11c3QgYmUgZWxlbWVudE9ubHkgb3IgbWl4ZWQgYW5kIGhhdmUgYSBwYXJ0aWNsZQorCSAgICAqIHdoaWNoIGlzIGBlbXB0aWFibGVgIGFzIGRlZmluZWQgaW4gUGFydGljbGUgRW1wdGlhYmxlICgkMy45LjYpLiIKKwkgICAgKiBQQVNTCisJICAgICovCisJfSBlbHNlIHsKKwkgICAgeG1sU2NoZW1hUEN1c3RvbUVycihjdHh0LAorCQlYTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzEsCisJCVdYU19CQVNJQ19DQVNUIHR5cGUsIE5VTEwsCisJCSJUaGUgY29udGVudCB0eXBlIG9mIHRoZSBiYXNlIHR5cGUgbXVzdCBiZSBlaXRoZXIgIgorCQkiZW1wdHkgb3IgJ21peGVkJyAob3IgJ2VsZW1lbnRzLW9ubHknKSBhbmQgYW4gZW1wdGlhYmxlICIKKwkJInBhcnRpY2xlIiwgTlVMTCk7CisJICAgIHJldHVybiAoY3R4dC0+ZXJyKTsKKwl9CisgICAgfSBlbHNlIGlmICgodHlwZS0+Y29udGVudFR5cGUgPT0gWE1MX1NDSEVNQV9DT05URU5UX0VMRU1FTlRTKSB8fAorCVdYU19IQVNfTUlYRURfQ09OVEVOVCh0eXBlKSkgeworCS8qCisJKiBTUEVDICg1LjQuMS4xKSAiVGhlIHtjb250ZW50IHR5cGV9IG9mIHRoZSBjb21wbGV4IHR5cGUgZGVmaW5pdGlvbgorCSogaXRzZWxmIG11c3QgYmUgZWxlbWVudC1vbmx5IgorCSovCisJaWYgKFdYU19IQVNfTUlYRURfQ09OVEVOVCh0eXBlKSAmJiAoISBXWFNfSEFTX01JWEVEX0NPTlRFTlQoYmFzZSkpKSB7CisJICAgIC8qCisJICAgICogU1BFQyAoNS40LjEuMikgIlRoZSB7Y29udGVudCB0eXBlfSBvZiB0aGUgY29tcGxleCB0eXBlCisJICAgICogZGVmaW5pdGlvbiBpdHNlbGYgYW5kIG9mIHRoZSB7YmFzZSB0eXBlIGRlZmluaXRpb259IG11c3QgYmUKKwkgICAgKiBtaXhlZCIKKwkgICAgKi8KKwkgICAgeG1sU2NoZW1hUEN1c3RvbUVycihjdHh0LAorCQlYTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzEsCisJCVdYU19CQVNJQ19DQVNUIHR5cGUsIE5VTEwsCisJCSJJZiB0aGUgY29udGVudCB0eXBlIGlzICdtaXhlZCcsIHRoZW4gdGhlIGNvbnRlbnQgdHlwZSBvZiB0aGUgIgorCQkiYmFzZSB0eXBlIG11c3QgYWxzbyBiZSAnbWl4ZWQnIiwgTlVMTCk7CisJICAgIHJldHVybiAoY3R4dC0+ZXJyKTsKKwl9CisJLyoKKwkqIFNQRUMgKDUuNC4yKSAiVGhlIHBhcnRpY2xlIG9mIHRoZSBjb21wbGV4IHR5cGUgZGVmaW5pdGlvbiBpdHNlbGYKKwkqIG11c3QgYmUgYSBgdmFsaWQgcmVzdHJpY3Rpb25gIG9mIHRoZSBwYXJ0aWNsZSBvZiB0aGUge2NvbnRlbnQKKwkqIHR5cGV9IG9mIHRoZSB7YmFzZSB0eXBlIGRlZmluaXRpb259IGFzIGRlZmluZWQgaW4gUGFydGljbGUgVmFsaWQKKwkqIChSZXN0cmljdGlvbikgKCQzLjkuNikuCisJKgorCSogVVJHRU5UIFRPRE86ICg1LjQuMikKKwkqLworICAgIH0gZWxzZSB7CisJeG1sU2NoZW1hUEN1c3RvbUVycihjdHh0LAorCSAgICBYTUxfU0NIRU1BUF9ERVJJVkFUSU9OX09LX1JFU1RSSUNUSU9OXzEsCisJICAgIFdYU19CQVNJQ19DQVNUIHR5cGUsIE5VTEwsCisJICAgICJUaGUgdHlwZSBpcyBub3QgYSB2YWxpZCByZXN0cmljdGlvbiBvZiBpdHMgYmFzZSB0eXBlIiwgTlVMTCk7CisJcmV0dXJuIChjdHh0LT5lcnIpOworICAgIH0KKyAgICByZXR1cm4gKDApOworfQorCisvKioKKyAqIHhtbFNjaGVtYUNoZWNrQ1RDb21wb25lbnQ6CisgKiBAY3R4dDogIHRoZSBzY2hlbWEgcGFyc2VyIGNvbnRleHQKKyAqIEB0eXBlOiAgdGhlIGNvbXBsZXggdHlwZSBkZWZpbml0aW9uCisgKgorICogKDMuNC42KSBDb25zdHJhaW50cyBvbiBDb21wbGV4IFR5cGUgRGVmaW5pdGlvbiBTY2hlbWEgQ29tcG9uZW50cworICoKKyAqIFJldHVybnMgMCBpZiB0aGUgY29uc3RyYWludHMgYXJlIHNhdGlzZmllZCwgYSBwb3NpdGl2ZQorICogZXJyb3IgY29kZSBpZiBub3QgYW5kIC0xIGlmIGFuIGludGVybmFsIGVycm9yIG9jY3VyZWQuCisgKi8KK3N0YXRpYyBpbnQKK3htbFNjaGVtYUNoZWNrQ1RDb21wb25lbnQoeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBjdHh0LAorCQkJICB4bWxTY2hlbWFUeXBlUHRyIHR5cGUpCit7CisgICAgaW50IHJldDsKKyAgICAvKgorICAgICogQ29tcGxleCBUeXBlIERlZmluaXRpb24gUHJvcGVydGllcyBDb3JyZWN0CisgICAgKi8KKyAgICByZXQgPSB4bWxTY2hlbWFDaGVja0NUUHJvcHNDb3JyZWN0KGN0eHQsIHR5cGUpOworICAgIGlmIChyZXQgIT0gMCkKKwlyZXR1cm4gKHJldCk7CisgICAgaWYgKFdYU19JU19FWFRFTlNJT04odHlwZSkpCisJcmV0ID0geG1sU2NoZW1hQ2hlY2tDT1NDVEV4dGVuZHMoY3R4dCwgdHlwZSk7CisgICAgZWxzZQorCXJldCA9IHhtbFNjaGVtYUNoZWNrRGVyaXZhdGlvbk9LUmVzdHJpY3Rpb24oY3R4dCwgdHlwZSk7CisgICAgcmV0dXJuIChyZXQpOworfQorCisvKioKKyAqIHhtbFNjaGVtYUNoZWNrU1JDQ1Q6CisgKiBAY3R4dDogIHRoZSBzY2hlbWEgcGFyc2VyIGNvbnRleHQKKyAqIEB0eXBlOiAgdGhlIGNvbXBsZXggdHlwZSBkZWZpbml0aW9uCisgKgorICogKDMuNC4zKSBDb25zdHJhaW50cyBvbiBYTUwgUmVwcmVzZW50YXRpb25zIG9mIENvbXBsZXggVHlwZSBEZWZpbml0aW9uczoKKyAqIFNjaGVtYSBSZXByZXNlbnRhdGlvbiBDb25zdHJhaW50OgorICogQ29tcGxleCBUeXBlIERlZmluaXRpb24gUmVwcmVzZW50YXRpb24gT0sgKHNyYy1jdCkKKyAqCisgKiBSZXR1cm5zIDAgaWYgdGhlIGNvbnN0cmFpbnRzIGFyZSBzYXRpc2ZpZWQsIGEgcG9zaXRpdmUKKyAqIGVycm9yIGNvZGUgaWYgbm90IGFuZCAtMSBpZiBhbiBpbnRlcm5hbCBlcnJvciBvY2N1cmVkLgorICovCitzdGF0aWMgaW50Cit4bWxTY2hlbWFDaGVja1NSQ0NUKHhtbFNjaGVtYVBhcnNlckN0eHRQdHIgY3R4dCwKKwkJICAgIHhtbFNjaGVtYVR5cGVQdHIgdHlwZSkKK3sKKyAgICB4bWxTY2hlbWFUeXBlUHRyIGJhc2U7CisgICAgaW50IHJldCA9IDA7CisKKyAgICAvKgorICAgICogVE9ETzogQWRqdXN0IHRoZSBlcnJvciBjb2RlcyBoZXJlLCBhcyBJIHVzZWQKKyAgICAqIFhNTF9TQ0hFTUFQX1NSQ19DVF8xIG9ubHkgeWV0LgorICAgICovCisgICAgYmFzZSA9IHR5cGUtPmJhc2VUeXBlOworICAgIGlmICghIFdYU19IQVNfU0lNUExFX0NPTlRFTlQodHlwZSkpIHsKKwkvKgorCSogMSBJZiB0aGUgPGNvbXBsZXhDb250ZW50PiBhbHRlcm5hdGl2ZSBpcyBjaG9zZW4sIHRoZSB0eXBlIGRlZmluaXRpb24KKwkqIGByZXNvbHZlZGAgdG8gYnkgdGhlIGBhY3R1YWwgdmFsdWVgIG9mIHRoZSBiYXNlIFthdHRyaWJ1dGVdCisJKiBtdXN0IGJlIGEgY29tcGxleCB0eXBlIGRlZmluaXRpb247CisJKi8KKwlpZiAoISBXWFNfSVNfQ09NUExFWChiYXNlKSkgeworCSAgICB4bWxDaGFyICpzdHIgPSBOVUxMOworCSAgICB4bWxTY2hlbWFQQ3VzdG9tRXJyKGN0eHQsCisJCVhNTF9TQ0hFTUFQX1NSQ19DVF8xLAorCQlXWFNfQkFTSUNfQ0FTVCB0eXBlLCB0eXBlLT5ub2RlLAorCQkiSWYgdXNpbmcgPGNvbXBsZXhDb250ZW50PiwgdGhlIGJhc2UgdHlwZSBpcyBleHBlY3RlZCB0byBiZSAiCisJCSJhIGNvbXBsZXggdHlwZS4gVGhlIGJhc2UgdHlwZSAnJXMnIGlzIGEgc2ltcGxlIHR5cGUiLAorCQl4bWxTY2hlbWFGb3JtYXRRTmFtZSgmc3RyLCBiYXNlLT50YXJnZXROYW1lc3BhY2UsCisJCWJhc2UtPm5hbWUpKTsKKwkgICAgRlJFRV9BTkRfTlVMTChzdHIpCisJICAgIHJldHVybiAoWE1MX1NDSEVNQVBfU1JDX0NUXzEpOworCX0KKyAgICB9IGVsc2UgeworCS8qCisJKiBTUEVDCisJKiAyIElmIHRoZSA8c2ltcGxlQ29udGVudD4gYWx0ZXJuYXRpdmUgaXMgY2hvc2VuLCBhbGwgb2YgdGhlCisJKiBmb2xsb3dpbmcgbXVzdCBiZSB0cnVlOgorCSogMi4xIFRoZSB0eXBlIGRlZmluaXRpb24gYHJlc29sdmVkYCB0byBieSB0aGUgYGFjdHVhbCB2YWx1ZWAgb2YgdGhlCisJKiBiYXNlIFthdHRyaWJ1dGVdIG11c3QgYmUgb25lIG9mIHRoZSBmb2xsb3dpbmc6CisJKi8KKwlpZiAoV1hTX0lTX1NJTVBMRShiYXNlKSkgeworCSAgICBpZiAoV1hTX0lTX0VYVEVOU0lPTih0eXBlKSA9PSAwKSB7CisJCXhtbENoYXIgKnN0ciA9IE5VTEw7CisJCS8qCisJCSogMi4xLjMgb25seSBpZiB0aGUgPGV4dGVuc2lvbj4gYWx0ZXJuYXRpdmUgaXMgYWxzbworCQkqIGNob3NlbiwgYSBzaW1wbGUgdHlwZSBkZWZpbml0aW9uLgorCQkqLworCQkvKiBUT0RPOiBDaGFuZ2UgZXJyb3IgY29kZSB0byAuLi5fU1JDX0NUXzJfMV8zLiAqLworCQl4bWxTY2hlbWFQQ3VzdG9tRXJyKGN0eHQsCisJCSAgICBYTUxfU0NIRU1BUF9TUkNfQ1RfMSwKKwkJICAgIFdYU19CQVNJQ19DQVNUIHR5cGUsIE5VTEwsCisJCSAgICAiSWYgdXNpbmcgPHNpbXBsZUNvbnRlbnQ+IGFuZCA8cmVzdHJpY3Rpb24+LCB0aGUgYmFzZSAiCisJCSAgICAidHlwZSBtdXN0IGJlIGEgY29tcGxleCB0eXBlLiBUaGUgYmFzZSB0eXBlICclcycgaXMgIgorCQkgICAgImEgc2ltcGxlIHR5cGUiLAorCQkgICAgeG1sU2NoZW1hRm9ybWF0UU5hbWUoJnN0ciwgYmFzZS0+dGFyZ2V0TmFtZXNwYWNlLAorCQkJYmFzZS0+bmFtZSkpOworCQlGUkVFX0FORF9OVUxMKHN0cikKKwkJcmV0dXJuIChYTUxfU0NIRU1BUF9TUkNfQ1RfMSk7CisJICAgIH0KKwl9IGVsc2UgeworCSAgICAvKiBCYXNlIHR5cGUgaXMgYSBjb21wbGV4IHR5cGUuICovCisJICAgIGlmICgoYmFzZS0+Y29udGVudFR5cGUgPT0gWE1MX1NDSEVNQV9DT05URU5UX1NJTVBMRSkgfHwKKwkJKGJhc2UtPmNvbnRlbnRUeXBlID09IFhNTF9TQ0hFTUFfQ09OVEVOVF9CQVNJQykpIHsKKwkJLyoKKwkJKiAyLjEuMSBhIGNvbXBsZXggdHlwZSBkZWZpbml0aW9uIHdob3NlIHtjb250ZW50IHR5cGV9IGlzIGEKKwkJKiBzaW1wbGUgdHlwZSBkZWZpbml0aW9uOworCQkqIFBBU1MKKwkJKi8KKwkJaWYgKGJhc2UtPmNvbnRlbnRUeXBlRGVmID09IE5VTEwpIHsKKwkJICAgIHhtbFNjaGVtYVBDdXN0b21FcnIoY3R4dCwgWE1MX1NDSEVNQVBfSU5URVJOQUwsCisJCQlXWFNfQkFTSUNfQ0FTVCB0eXBlLCBOVUxMLAorCQkJIkludGVybmFsIGVycm9yOiB4bWxTY2hlbWFDaGVja1NSQ0NULCAiCisJCQkiJyVzJywgYmFzZSB0eXBlIGhhcyBubyBjb250ZW50IHR5cGUiLAorCQkJdHlwZS0+bmFtZSk7CisJCSAgICByZXR1cm4gKC0xKTsKKwkJfQorCSAgICB9IGVsc2UgaWYgKChiYXNlLT5jb250ZW50VHlwZSA9PSBYTUxfU0NIRU1BX0NPTlRFTlRfTUlYRUQpICYmCisJCShXWFNfSVNfUkVTVFJJQ1RJT04odHlwZSkpKSB7CisKKwkJLyoKKwkJKiAyLjEuMiBvbmx5IGlmIHRoZSA8cmVzdHJpY3Rpb24+IGFsdGVybmF0aXZlIGlzIGFsc28KKwkJKiBjaG9zZW4sIGEgY29tcGxleCB0eXBlIGRlZmluaXRpb24gd2hvc2Uge2NvbnRlbnQgdHlwZX0KKwkJKiBpcyBtaXhlZCBhbmQgYSBwYXJ0aWNsZSBlbXB0aWFibGUuCisJCSovCisJCWlmICghIHhtbFNjaGVtYUlzUGFydGljbGVFbXB0aWFibGUoCisJCSAgICAoeG1sU2NoZW1hUGFydGljbGVQdHIpIGJhc2UtPnN1YnR5cGVzKSkgeworCQkgICAgcmV0ID0gWE1MX1NDSEVNQVBfU1JDX0NUXzE7CisJCX0gZWxzZQorCQkgICAgLyoKKwkJICAgICogQXR0ZW50aW9uOiBhdCB0aGlzIHBvaW50IHRoZSA8c2ltcGxlVHlwZT4gY2hpbGQgaXMgaW4KKwkJICAgICogLT5jb250ZW50VHlwZURlZiAocHV0IHRoZXJlIGR1cmluZyBwYXJzaW5nKS4KKwkJICAgICovCisJCSAgICBpZiAodHlwZS0+Y29udGVudFR5cGVEZWYgPT0gTlVMTCkgeworCQkgICAgeG1sQ2hhciAqc3RyID0gTlVMTDsKKwkJICAgIC8qCisJCSAgICAqIDIuMiBJZiBjbGF1c2UgMi4xLjIgYWJvdmUgaXMgc2F0aXNmaWVkLCB0aGVuIHRoZXJlCisJCSAgICAqIG11c3QgYmUgYSA8c2ltcGxlVHlwZT4gYW1vbmcgdGhlIFtjaGlsZHJlbl0gb2YKKwkJICAgICogPHJlc3RyaWN0aW9uPi4KKwkJICAgICovCisJCSAgICAvKiBUT0RPOiBDaGFuZ2UgZXJyb3IgY29kZSB0byAuLi5fU1JDX0NUXzJfMi4gKi8KKwkJICAgIHhtbFNjaGVtYVBDdXN0b21FcnIoY3R4dCwKKwkJCVhNTF9TQ0hFTUFQX1NSQ19DVF8xLAorCQkJV1hTX0JBU0lDX0NBU1QgdHlwZSwgTlVMTCwKKwkJCSJBIDxzaW1wbGVUeXBlPiBpcyBleHBlY3RlZCBhbW9uZyB0aGUgY2hpbGRyZW4gIgorCQkJIm9mIDxyZXN0cmljdGlvbj4sIGlmIDxzaW1wbGVDb250ZW50PiBpcyB1c2VkIGFuZCAiCisJCQkidGhlIGJhc2UgdHlwZSAnJXMnIGlzIGEgY29tcGxleCB0eXBlIiwKKwkJCXhtbFNjaGVtYUZvcm1hdFFOYW1lKCZzdHIsIGJhc2UtPnRhcmdldE5hbWVzcGFjZSwKKwkJCWJhc2UtPm5hbWUpKTsKKwkJICAgIEZSRUVfQU5EX05VTEwoc3RyKQorCQkgICAgcmV0dXJuIChYTUxfU0NIRU1BUF9TUkNfQ1RfMSk7CisJCX0KKwkgICAgfSBlbHNlIHsKKwkJcmV0ID0gWE1MX1NDSEVNQVBfU1JDX0NUXzE7CisJICAgIH0KKwl9CisJaWYgKHJldCA+IDApIHsKKwkgICAgeG1sQ2hhciAqc3RyID0gTlVMTDsKKwkgICAgaWYgKFdYU19JU19SRVNUUklDVElPTih0eXBlKSkgeworCQl4bWxTY2hlbWFQQ3VzdG9tRXJyKGN0eHQsCisJCSAgICBYTUxfU0NIRU1BUF9TUkNfQ1RfMSwKKwkJICAgIFdYU19CQVNJQ19DQVNUIHR5cGUsIE5VTEwsCisJCSAgICAiSWYgPHNpbXBsZUNvbnRlbnQ+IGFuZCA8cmVzdHJpY3Rpb24+IGlzIHVzZWQsIHRoZSAiCisJCSAgICAiYmFzZSB0eXBlIG11c3QgYmUgYSBzaW1wbGUgdHlwZSBvciBhIGNvbXBsZXggdHlwZSB3aXRoICIKKwkJICAgICJtaXhlZCBjb250ZW50IGFuZCBwYXJ0aWNsZSBlbXB0aWFibGUuIFRoZSBiYXNlIHR5cGUgIgorCQkgICAgIiclcycgaXMgbm9uZSBvZiB0aG9zZSIsCisJCSAgICB4bWxTY2hlbWFGb3JtYXRRTmFtZSgmc3RyLCBiYXNlLT50YXJnZXROYW1lc3BhY2UsCisJCSAgICBiYXNlLT5uYW1lKSk7CisJICAgIH0gZWxzZSB7CisJCXhtbFNjaGVtYVBDdXN0b21FcnIoY3R4dCwKKwkJICAgIFhNTF9TQ0hFTUFQX1NSQ19DVF8xLAorCQkgICAgV1hTX0JBU0lDX0NBU1QgdHlwZSwgTlVMTCwKKwkJICAgICJJZiA8c2ltcGxlQ29udGVudD4gYW5kIDxleHRlbnNpb24+IGlzIHVzZWQsIHRoZSAiCisJCSAgICAiYmFzZSB0eXBlIG11c3QgYmUgYSBzaW1wbGUgdHlwZS4gVGhlIGJhc2UgdHlwZSAnJXMnICIKKwkJICAgICJpcyBhIGNvbXBsZXggdHlwZSIsCisJCSAgICB4bWxTY2hlbWFGb3JtYXRRTmFtZSgmc3RyLCBiYXNlLT50YXJnZXROYW1lc3BhY2UsCisJCSAgICBiYXNlLT5uYW1lKSk7CisJICAgIH0KKwkgICAgRlJFRV9BTkRfTlVMTChzdHIpCisJfQorICAgIH0KKyAgICAvKgorICAgICogU1BFQyAoMykgIlRoZSBjb3JyZXNwb25kaW5nIGNvbXBsZXggdHlwZSBkZWZpbml0aW9uIGNvbXBvbmVudCBtdXN0CisgICAgKiBzYXRpc2Z5IHRoZSBjb25kaXRpb25zIHNldCBvdXQgaW4gQ29uc3RyYWludHMgb24gQ29tcGxleCBUeXBlCisgICAgKiBEZWZpbml0aW9uIFNjaGVtYSBDb21wb25lbnRzICgkMy40LjYpOyIKKyAgICAqIE5PVEUgKDMpIHdpbGwgYmUgZG9uZSBpbiB4bWxTY2hlbWFUeXBlRml4dXAoKS4KKyAgICAqLworICAgIC8qCisgICAgKiBTUEVDICg0KSBJZiBjbGF1c2UgMi4yLjEgb3IgY2xhdXNlIDIuMi4yIGluIHRoZSBjb3JyZXNwb25kZW5jZSBzcGVjaWZpY2F0aW9uCisgICAgKiBhYm92ZSBmb3Ige2F0dHJpYnV0ZSB3aWxkY2FyZH0gaXMgc2F0aXNmaWVkLCB0aGUgaW50ZW5zaW9uYWwKKyAgICAqIGludGVyc2VjdGlvbiBtdXN0IGJlIGV4cHJlc3NpYmxlLCBhcyBkZWZpbmVkIGluIEF0dHJpYnV0ZSBXaWxkY2FyZAorICAgICogSW50ZXJzZWN0aW9uICgkMy4xMC42KS4KKyAgICAqIE5PVEUgKDQpIGlzIGRvbmUgaW4geG1sU2NoZW1hRml4dXBUeXBlQXR0cmlidXRlVXNlcygpLgorICAgICovCisgICAgcmV0dXJuIChyZXQpOworfQorCisjaWZkZWYgRU5BQkxFX1BBUlRJQ0xFX1JFU1RSSUNUSU9OCisvKioKKyAqIHhtbFNjaGVtYUNoZWNrUGFydGljbGVSYW5nZU9LOgorICogQGN0eHQ6ICB0aGUgc2NoZW1hIHBhcnNlciBjb250ZXh0CisgKiBAdHlwZTogIHRoZSBjb21wbGV4IHR5cGUgZGVmaW5pdGlvbgorICoKKyAqICgzLjkuNikgQ29uc3RyYWludHMgb24gUGFydGljbGUgU2NoZW1hIENvbXBvbmVudHMKKyAqIFNjaGVtYSBDb21wb25lbnQgQ29uc3RyYWludDoKKyAqIE9jY3VycmVuY2UgUmFuZ2UgT0sgKHJhbmdlLW9rKQorICoKKyAqIFNUQVRVUzogY29tcGxldGUKKyAqCisgKiBSZXR1cm5zIDAgaWYgdGhlIGNvbnN0cmFpbnRzIGFyZSBzYXRpc2ZpZWQsIGEgcG9zaXRpdmUKKyAqIGVycm9yIGNvZGUgaWYgbm90IGFuZCAtMSBpZiBhbiBpbnRlcm5hbCBlcnJvciBvY2N1cmVkLgorICovCitzdGF0aWMgaW50Cit4bWxTY2hlbWFDaGVja1BhcnRpY2xlUmFuZ2VPSyhpbnQgcm1pbiwgaW50IHJtYXgsCisJCQkgICAgICBpbnQgYm1pbiwgaW50IGJtYXgpCit7CisgICAgaWYgKHJtaW4gPCBibWluKQorCXJldHVybiAoMSk7CisgICAgaWYgKChibWF4ICE9IFVOQk9VTkRFRCkgJiYKKwkocm1heCA+IGJtYXgpKQorCXJldHVybiAoMSk7CisgICAgcmV0dXJuICgwKTsKK30KKworLyoqCisgKiB4bWxTY2hlbWFDaGVja1JDYXNlTmFtZUFuZFR5cGVPSzoKKyAqIEBjdHh0OiAgdGhlIHNjaGVtYSBwYXJzZXIgY29udGV4dAorICogQHI6IHRoZSByZXN0cmljdGluZyBlbGVtZW50IGRlY2xhcmF0aW9uIHBhcnRpY2xlCisgKiBAYjogdGhlIGJhc2UgZWxlbWVudCBkZWNsYXJhdGlvbiBwYXJ0aWNsZQorICoKKyAqICgzLjkuNikgQ29uc3RyYWludHMgb24gUGFydGljbGUgU2NoZW1hIENvbXBvbmVudHMKKyAqIFNjaGVtYSBDb21wb25lbnQgQ29uc3RyYWludDoKKyAqIFBhcnRpY2xlIFJlc3RyaWN0aW9uIE9LIChFbHQ6RWx0IC0tIE5hbWVBbmRUeXBlT0spCisgKiAocmNhc2UtTmFtZUFuZFR5cGVPSykKKyAqCisgKiBTVEFUVVM6CisgKiAgIE1JU1NJTkcgKDMuMi4zKQorICogICBDTEFSSUZZOiAoMy4yLjIpCisgKgorICogUmV0dXJucyAwIGlmIHRoZSBjb25zdHJhaW50cyBhcmUgc2F0aXNmaWVkLCBhIHBvc2l0aXZlCisgKiBlcnJvciBjb2RlIGlmIG5vdCBhbmQgLTEgaWYgYW4gaW50ZXJuYWwgZXJyb3Igb2NjdXJlZC4KKyAqLworc3RhdGljIGludAoreG1sU2NoZW1hQ2hlY2tSQ2FzZU5hbWVBbmRUeXBlT0soeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBjdHh0LAorCQkJCSB4bWxTY2hlbWFQYXJ0aWNsZVB0ciByLAorCQkJCSB4bWxTY2hlbWFQYXJ0aWNsZVB0ciBiKQoreworICAgIHhtbFNjaGVtYUVsZW1lbnRQdHIgZWxlbVIsIGVsZW1COworCisgICAgLyogVE9ETzogRXJyb3IgY29kZXMgKHJjYXNlLU5hbWVBbmRUeXBlT0spLiAqLworICAgIGVsZW1SID0gKHhtbFNjaGVtYUVsZW1lbnRQdHIpIHItPmNoaWxkcmVuOworICAgIGVsZW1CID0gKHhtbFNjaGVtYUVsZW1lbnRQdHIpIGItPmNoaWxkcmVuOworICAgIC8qCisgICAgKiBTUEVDICgxKSAiVGhlIGRlY2xhcmF0aW9ucycge25hbWV9cyBhbmQge3RhcmdldCBuYW1lc3BhY2V9cyBhcmUKKyAgICAqIHRoZSBzYW1lLiIKKyAgICAqLworICAgIGlmICgoZWxlbVIgIT0gZWxlbUIpICYmCisJKCghIHhtbFN0ckVxdWFsKGVsZW1SLT5uYW1lLCBlbGVtQi0+bmFtZSkpIHx8CisJKCEgeG1sU3RyRXF1YWwoZWxlbVItPnRhcmdldE5hbWVzcGFjZSwgZWxlbUItPnRhcmdldE5hbWVzcGFjZSkpKSkKKwlyZXR1cm4gKDEpOworICAgIC8qCisgICAgKiBTUEVDICgyKSAiUidzIG9jY3VycmVuY2UgcmFuZ2UgaXMgYSB2YWxpZCByZXN0cmljdGlvbiBvZiBCJ3MKKyAgICAqIG9jY3VycmVuY2UgcmFuZ2UgYXMgZGVmaW5lZCBieSBPY2N1cnJlbmNlIFJhbmdlIE9LICgkMy45LjYpLiIKKyAgICAqLworICAgIGlmICh4bWxTY2hlbWFDaGVja1BhcnRpY2xlUmFuZ2VPSyhyLT5taW5PY2N1cnMsIHItPm1heE9jY3VycywKKwkgICAgYi0+bWluT2NjdXJzLCBiLT5tYXhPY2N1cnMpICE9IDApCisJcmV0dXJuICgxKTsKKyAgICAvKgorICAgICogU1BFQyAoMy4xKSAiQm90aCBCJ3MgZGVjbGFyYXRpb24ncyB7c2NvcGV9IGFuZCBSJ3MgZGVjbGFyYXRpb24ncworICAgICoge3Njb3BlfSBhcmUgZ2xvYmFsLiIKKyAgICAqLworICAgIGlmIChlbGVtUiA9PSBlbGVtQikKKwlyZXR1cm4gKDApOworICAgIC8qCisgICAgKiBTUEVDICgzLjIuMSkgIkVpdGhlciBCJ3Mge25pbGxhYmxlfSBpcyB0cnVlIG9yIFIncyB7bmlsbGFibGV9IGlzIGZhbHNlLiIKKyAgICAqLworICAgIGlmICgoKGVsZW1CLT5mbGFncyAmIFhNTF9TQ0hFTUFTX0VMRU1fTklMTEFCTEUpID09IDApICYmCisJKGVsZW1SLT5mbGFncyAmIFhNTF9TQ0hFTUFTX0VMRU1fTklMTEFCTEUpKQorCSByZXR1cm4gKDEpOworICAgIC8qCisgICAgKiBTUEVDICgzLjIuMikgImVpdGhlciBCJ3MgZGVjbGFyYXRpb24ncyB7dmFsdWUgY29uc3RyYWludH0gaXMgYWJzZW50LAorICAgICogb3IgaXMgbm90IGZpeGVkLCBvciBSJ3MgZGVjbGFyYXRpb24ncyB7dmFsdWUgY29uc3RyYWludH0gaXMgZml4ZWQKKyAgICAqIHdpdGggdGhlIHNhbWUgdmFsdWUuIgorICAgICovCisgICAgaWYgKChlbGVtQi0+dmFsdWUgIT0gTlVMTCkgJiYgKGVsZW1CLT5mbGFncyAmIFhNTF9TQ0hFTUFTX0VMRU1fRklYRUQpICYmCisJKChlbGVtUi0+dmFsdWUgPT0gTlVMTCkgfHwKKwkgKChlbGVtUi0+ZmxhZ3MgJiBYTUxfU0NIRU1BU19FTEVNX0ZJWEVEKSA9PSAwKSB8fAorCSAvKiBUT0RPOiBFcXVhbGl0eSBvZiB0aGUgaW5pdGlhbCB2YWx1ZSBvciBub3JtYWxpemVkIG9yIGNhbm9uaWNhbD8gKi8KKwkgKCEgeG1sU3RyRXF1YWwoZWxlbVItPnZhbHVlLCBlbGVtQi0+dmFsdWUpKSkpCisJIHJldHVybiAoMSk7CisgICAgLyoKKyAgICAqIFRPRE86IFNQRUMgKDMuMi4zKSAiUidzIGRlY2xhcmF0aW9uJ3Mge2lkZW50aXR5LWNvbnN0cmFpbnQKKyAgICAqIGRlZmluaXRpb25zfSBpcyBhIHN1YnNldCBvZiBCJ3MgZGVjbGFyYXRpb24ncyB7aWRlbnRpdHktY29uc3RyYWludAorICAgICogZGVmaW5pdGlvbnN9LCBpZiBhbnkuIgorICAgICovCisgICAgaWYgKGVsZW1CLT5pZGNzICE9IE5VTEwpIHsKKwkvKiBUT0RPICovCisgICAgfQorICAgIC8qCisgICAgKiBTUEVDICgzLjIuNCkgIlIncyBkZWNsYXJhdGlvbidzIHtkaXNhbGxvd2VkIHN1YnN0aXR1dGlvbnN9IGlzIGEKKyAgICAqIHN1cGVyc2V0IG9mIEIncyBkZWNsYXJhdGlvbidzIHtkaXNhbGxvd2VkIHN1YnN0aXR1dGlvbnN9LiIKKyAgICAqLworICAgIGlmICgoKGVsZW1CLT5mbGFncyAmIFhNTF9TQ0hFTUFTX0VMRU1fQkxPQ0tfRVhURU5TSU9OKSAmJgorCSAoKGVsZW1SLT5mbGFncyAmIFhNTF9TQ0hFTUFTX0VMRU1fQkxPQ0tfRVhURU5TSU9OKSA9PSAwKSkgfHwKKwkoKGVsZW1CLT5mbGFncyAmIFhNTF9TQ0hFTUFTX0VMRU1fQkxPQ0tfUkVTVFJJQ1RJT04pICYmCisJICgoZWxlbVItPmZsYWdzICYgWE1MX1NDSEVNQVNfRUxFTV9CTE9DS19SRVNUUklDVElPTikgPT0gMCkpIHx8CisJKChlbGVtQi0+ZmxhZ3MgJiBYTUxfU0NIRU1BU19FTEVNX0JMT0NLX1NVQlNUSVRVVElPTikgJiYKKwkgKChlbGVtUi0+ZmxhZ3MgJiBYTUxfU0NIRU1BU19FTEVNX0JMT0NLX1NVQlNUSVRVVElPTikgPT0gMCkpKQorCSByZXR1cm4gKDEpOworICAgIC8qCisgICAgKiBTUEVDICgzLjIuNSkgIlIncyB7dHlwZSBkZWZpbml0aW9ufSBpcyB2YWxpZGx5IGRlcml2ZWQgZ2l2ZW4KKyAgICAqIHtleHRlbnNpb24sIGxpc3QsIHVuaW9ufSBmcm9tIEIncyB7dHlwZSBkZWZpbml0aW9ufSIKKyAgICAqCisgICAgKiBCQURTUEVDIFRPRE86IFdoYXQncyB0aGUgcG9pbnQgb2YgYWRkaW5nICJsaXN0IiBhbmQgInVuaW9uIiB0byB0aGUKKyAgICAqIHNldCwgaWYgdGhlIGNvcnJlc3BvbmRpbmcgY29uc3RyYWludHMgaGFuZGxlICJyZXN0cmljdGlvbiIgYW5kCisgICAgKiAiZXh0ZW5zaW9uIiBvbmx5PworICAgICoKKyAgICAqLworICAgIHsKKwlpbnQgc2V0ID0gMDsKKworCXNldCB8PSBTVUJTRVRfRVhURU5TSU9OOworCXNldCB8PSBTVUJTRVRfTElTVDsKKwlzZXQgfD0gU1VCU0VUX1VOSU9OOworCWlmICh4bWxTY2hlbWFDaGVja0NPU0Rlcml2ZWRPSyhBQ1RYVF9DQVNUIGN0eHQsIGVsZW1SLT5zdWJ0eXBlcywKKwkgICAgZWxlbUItPnN1YnR5cGVzLCBzZXQpICE9IDApCisJICAgIHJldHVybiAoMSk7CisgICAgfQorICAgIHJldHVybiAoMCk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hQ2hlY2tSQ2FzZU5TQ29tcGF0OgorICogQGN0eHQ6ICB0aGUgc2NoZW1hIHBhcnNlciBjb250ZXh0CisgKiBAcjogdGhlIHJlc3RyaWN0aW5nIGVsZW1lbnQgZGVjbGFyYXRpb24gcGFydGljbGUKKyAqIEBiOiB0aGUgYmFzZSB3aWxkY2FyZCBwYXJ0aWNsZQorICoKKyAqICgzLjkuNikgQ29uc3RyYWludHMgb24gUGFydGljbGUgU2NoZW1hIENvbXBvbmVudHMKKyAqIFNjaGVtYSBDb21wb25lbnQgQ29uc3RyYWludDoKKyAqIFBhcnRpY2xlIERlcml2YXRpb24gT0sgKEVsdDpBbnkgLS0gTlNDb21wYXQpCisgKiAocmNhc2UtTlNDb21wYXQpCisgKgorICogU1RBVFVTOiBjb21wbGV0ZQorICoKKyAqIFJldHVybnMgMCBpZiB0aGUgY29uc3RyYWludHMgYXJlIHNhdGlzZmllZCwgYSBwb3NpdGl2ZQorICogZXJyb3IgY29kZSBpZiBub3QgYW5kIC0xIGlmIGFuIGludGVybmFsIGVycm9yIG9jY3VyZWQuCisgKi8KK3N0YXRpYyBpbnQKK3htbFNjaGVtYUNoZWNrUkNhc2VOU0NvbXBhdCh4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIGN0eHQsCisJCQkgICAgeG1sU2NoZW1hUGFydGljbGVQdHIgciwKKwkJCSAgICB4bWxTY2hlbWFQYXJ0aWNsZVB0ciBiKQoreworICAgIC8qIFRPRE86RXJyb3IgY29kZXMgKHJjYXNlLU5TQ29tcGF0KS4gKi8KKyAgICAvKgorICAgICogU1BFQyAiRm9yIGFuIGVsZW1lbnQgZGVjbGFyYXRpb24gcGFydGljbGUgdG8gYmUgYSBgdmFsaWQgcmVzdHJpY3Rpb25gCisgICAgKiBvZiBhIHdpbGRjYXJkIHBhcnRpY2xlIGFsbCBvZiB0aGUgZm9sbG93aW5nIG11c3QgYmUgdHJ1ZToiCisgICAgKgorICAgICogU1BFQyAoMSkgIlRoZSBlbGVtZW50IGRlY2xhcmF0aW9uJ3Mge3RhcmdldCBuYW1lc3BhY2V9IGlzIGB2YWxpZGAKKyAgICAqIHdpdGggcmVzcGVjdCB0byB0aGUgd2lsZGNhcmQncyB7bmFtZXNwYWNlIGNvbnN0cmFpbnR9IGFzIGRlZmluZWQgYnkKKyAgICAqIFdpbGRjYXJkIGFsbG93cyBOYW1lc3BhY2UgTmFtZSAoJDMuMTAuNCkuIgorICAgICovCisgICAgaWYgKHhtbFNjaGVtYUNoZWNrQ1ZDV2lsZGNhcmROYW1lc3BhY2UoKHhtbFNjaGVtYVdpbGRjYXJkUHRyKSBiLT5jaGlsZHJlbiwKKwkoKHhtbFNjaGVtYUVsZW1lbnRQdHIpIHItPmNoaWxkcmVuKS0+dGFyZ2V0TmFtZXNwYWNlKSAhPSAwKQorCXJldHVybiAoMSk7CisgICAgLyoKKyAgICAqIFNQRUMgKDIpICJSJ3Mgb2NjdXJyZW5jZSByYW5nZSBpcyBhIHZhbGlkIHJlc3RyaWN0aW9uIG9mIEIncworICAgICogb2NjdXJyZW5jZSByYW5nZSBhcyBkZWZpbmVkIGJ5IE9jY3VycmVuY2UgUmFuZ2UgT0sgKCQzLjkuNikuIgorICAgICovCisgICAgaWYgKHhtbFNjaGVtYUNoZWNrUGFydGljbGVSYW5nZU9LKHItPm1pbk9jY3Vycywgci0+bWF4T2NjdXJzLAorCSAgICBiLT5taW5PY2N1cnMsIGItPm1heE9jY3VycykgIT0gMCkKKwlyZXR1cm4gKDEpOworCisgICAgcmV0dXJuICgwKTsKK30KKworLyoqCisgKiB4bWxTY2hlbWFDaGVja1JDYXNlUmVjdXJzZUFzSWZHcm91cDoKKyAqIEBjdHh0OiAgdGhlIHNjaGVtYSBwYXJzZXIgY29udGV4dAorICogQHI6IHRoZSByZXN0cmljdGluZyBlbGVtZW50IGRlY2xhcmF0aW9uIHBhcnRpY2xlCisgKiBAYjogdGhlIGJhc2UgbW9kZWwgZ3JvdXAgcGFydGljbGUKKyAqCisgKiAoMy45LjYpIENvbnN0cmFpbnRzIG9uIFBhcnRpY2xlIFNjaGVtYSBDb21wb25lbnRzCisgKiBTY2hlbWEgQ29tcG9uZW50IENvbnN0cmFpbnQ6CisgKiBQYXJ0aWNsZSBEZXJpdmF0aW9uIE9LIChFbHQ6QWxsL0Nob2ljZS9TZXF1ZW5jZSAtLSBSZWN1cnNlQXNJZkdyb3VwKQorICogKHJjYXNlLVJlY3Vyc2VBc0lmR3JvdXApCisgKgorICogU1RBVFVTOiBUT0RPCisgKgorICogUmV0dXJucyAwIGlmIHRoZSBjb25zdHJhaW50cyBhcmUgc2F0aXNmaWVkLCBhIHBvc2l0aXZlCisgKiBlcnJvciBjb2RlIGlmIG5vdCBhbmQgLTEgaWYgYW4gaW50ZXJuYWwgZXJyb3Igb2NjdXJlZC4KKyAqLworc3RhdGljIGludAoreG1sU2NoZW1hQ2hlY2tSQ2FzZVJlY3Vyc2VBc0lmR3JvdXAoeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBjdHh0LAorCQkJCSAgICB4bWxTY2hlbWFQYXJ0aWNsZVB0ciByLAorCQkJCSAgICB4bWxTY2hlbWFQYXJ0aWNsZVB0ciBiKQoreworICAgIC8qIFRPRE86IEVycm9yIGNvZGVzIChyY2FzZS1SZWN1cnNlQXNJZkdyb3VwKS4gKi8KKyAgICBUT0RPCisgICAgcmV0dXJuICgwKTsKK30KKworLyoqCisgKiB4bWxTY2hlbWFDaGVja1JDYXNlTlNTdWJzZXQ6CisgKiBAY3R4dDogIHRoZSBzY2hlbWEgcGFyc2VyIGNvbnRleHQKKyAqIEByOiB0aGUgcmVzdHJpY3Rpbmcgd2lsZGNhcmQgcGFydGljbGUKKyAqIEBiOiB0aGUgYmFzZSB3aWxkY2FyZCBwYXJ0aWNsZQorICoKKyAqICgzLjkuNikgQ29uc3RyYWludHMgb24gUGFydGljbGUgU2NoZW1hIENvbXBvbmVudHMKKyAqIFNjaGVtYSBDb21wb25lbnQgQ29uc3RyYWludDoKKyAqIFBhcnRpY2xlIERlcml2YXRpb24gT0sgKEFueTpBbnkgLS0gTlNTdWJzZXQpCisgKiAocmNhc2UtTlNTdWJzZXQpCisgKgorICogU1RBVFVTOiBjb21wbGV0ZQorICoKKyAqIFJldHVybnMgMCBpZiB0aGUgY29uc3RyYWludHMgYXJlIHNhdGlzZmllZCwgYSBwb3NpdGl2ZQorICogZXJyb3IgY29kZSBpZiBub3QgYW5kIC0xIGlmIGFuIGludGVybmFsIGVycm9yIG9jY3VyZWQuCisgKi8KK3N0YXRpYyBpbnQKK3htbFNjaGVtYUNoZWNrUkNhc2VOU1N1YnNldCh4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIGN0eHQsCisJCQkJICAgIHhtbFNjaGVtYVBhcnRpY2xlUHRyIHIsCisJCQkJICAgIHhtbFNjaGVtYVBhcnRpY2xlUHRyIGIsCisJCQkJICAgIGludCBpc0FueVR5cGVCYXNlKQoreworICAgIC8qIFRPRE86IEVycm9yIGNvZGVzIChyY2FzZS1OU1N1YnNldCkuICovCisgICAgLyoKKyAgICAqIFNQRUMgKDEpICJSJ3Mgb2NjdXJyZW5jZSByYW5nZSBpcyBhIHZhbGlkIHJlc3RyaWN0aW9uIG9mIEIncworICAgICogb2NjdXJyZW5jZSByYW5nZSBhcyBkZWZpbmVkIGJ5IE9jY3VycmVuY2UgUmFuZ2UgT0sgKCQzLjkuNikuIgorICAgICovCisgICAgaWYgKHhtbFNjaGVtYUNoZWNrUGFydGljbGVSYW5nZU9LKHItPm1pbk9jY3Vycywgci0+bWF4T2NjdXJzLAorCSAgICBiLT5taW5PY2N1cnMsIGItPm1heE9jY3VycykpCisJcmV0dXJuICgxKTsKKyAgICAvKgorICAgICogU1BFQyAoMikgIlIncyB7bmFtZXNwYWNlIGNvbnN0cmFpbnR9IG11c3QgYmUgYW4gaW50ZW5zaW9uYWwgc3Vic2V0CisgICAgKiBvZiBCJ3Mge25hbWVzcGFjZSBjb25zdHJhaW50fSBhcyBkZWZpbmVkIGJ5IFdpbGRjYXJkIFN1YnNldCAoJDMuMTAuNikuIgorICAgICovCisgICAgaWYgKHhtbFNjaGVtYUNoZWNrQ09TTlNTdWJzZXQoKHhtbFNjaGVtYVdpbGRjYXJkUHRyKSByLT5jaGlsZHJlbiwKKwkoeG1sU2NoZW1hV2lsZGNhcmRQdHIpIGItPmNoaWxkcmVuKSkKKwlyZXR1cm4gKDEpOworICAgIC8qCisgICAgKiBTUEVDICgzKSAiVW5sZXNzIEIgaXMgdGhlIGNvbnRlbnQgbW9kZWwgd2lsZGNhcmQgb2YgdGhlIGB1ci10eXBlCisgICAgKiBkZWZpbml0aW9uYCwgUidzIHtwcm9jZXNzIGNvbnRlbnRzfSBtdXN0IGJlIGlkZW50aWNhbCB0byBvciBzdHJvbmdlcgorICAgICogdGhhbiBCJ3Mge3Byb2Nlc3MgY29udGVudHN9LCB3aGVyZSBzdHJpY3QgaXMgc3Ryb25nZXIgdGhhbiBsYXggaXMKKyAgICAqIHN0cm9uZ2VyIHRoYW4gc2tpcC4iCisgICAgKi8KKyAgICBpZiAoISBpc0FueVR5cGVCYXNlKSB7CisJaWYgKCAoKHhtbFNjaGVtYVdpbGRjYXJkUHRyKSByLT5jaGlsZHJlbiktPnByb2Nlc3NDb250ZW50cyA8CisJICAgICgoeG1sU2NoZW1hV2lsZGNhcmRQdHIpIGItPmNoaWxkcmVuKS0+cHJvY2Vzc0NvbnRlbnRzKQorCSAgICByZXR1cm4gKDEpOworICAgIH0KKworICAgIHJldHVybiAoMCk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hQ2hlY2tDT1NQYXJ0aWNsZVJlc3RyaWN0OgorICogQGN0eHQ6ICB0aGUgc2NoZW1hIHBhcnNlciBjb250ZXh0CisgKiBAdHlwZTogIHRoZSBjb21wbGV4IHR5cGUgZGVmaW5pdGlvbgorICoKKyAqICgzLjkuNikgQ29uc3RyYWludHMgb24gUGFydGljbGUgU2NoZW1hIENvbXBvbmVudHMKKyAqIFNjaGVtYSBDb21wb25lbnQgQ29uc3RyYWludDoKKyAqIFBhcnRpY2xlIFZhbGlkIChSZXN0cmljdGlvbikgKGNvcy1wYXJ0aWNsZS1yZXN0cmljdCkKKyAqCisgKiBTVEFUVVM6IFRPRE8KKyAqCisgKiBSZXR1cm5zIDAgaWYgdGhlIGNvbnN0cmFpbnRzIGFyZSBzYXRpc2ZpZWQsIGEgcG9zaXRpdmUKKyAqIGVycm9yIGNvZGUgaWYgbm90IGFuZCAtMSBpZiBhbiBpbnRlcm5hbCBlcnJvciBvY2N1cmVkLgorICovCitzdGF0aWMgaW50Cit4bWxTY2hlbWFDaGVja0NPU1BhcnRpY2xlUmVzdHJpY3QoeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBjdHh0LAorCQkJCSAgeG1sU2NoZW1hUGFydGljbGVQdHIgciwKKwkJCQkgIHhtbFNjaGVtYVBhcnRpY2xlUHRyIGIpCit7CisgICAgaW50IHJldCA9IDA7CisKKyAgICAvKnBhcnQgPSBXWFNfVFlQRV9QQVJUSUNMRSh0eXBlKTsKKyAgICBiYXNlUGFydCA9IFdYU19UWVBFX1BBUlRJQ0xFKGJhc2UpOworICAgICovCisKKyAgICBUT0RPCisKKyAgICAvKgorICAgICogU1BFQyAoMSkgIlRoZXkgYXJlIHRoZSBzYW1lIHBhcnRpY2xlLiIKKyAgICAqLworICAgIGlmIChyID09IGIpCisJcmV0dXJuICgwKTsKKworCisgICAgcmV0dXJuICgwKTsKK30KKworI2lmIDAKKy8qKgorICogeG1sU2NoZW1hQ2hlY2tSQ2FzZU5TUmVjdXJzZUNoZWNrQ2FyZGluYWxpdHk6CisgKiBAY3R4dDogIHRoZSBzY2hlbWEgcGFyc2VyIGNvbnRleHQKKyAqIEByOiB0aGUgbW9kZWwgZ3JvdXAgcGFydGljbGUKKyAqIEBiOiB0aGUgYmFzZSB3aWxkY2FyZCBwYXJ0aWNsZQorICoKKyAqICgzLjkuNikgQ29uc3RyYWludHMgb24gUGFydGljbGUgU2NoZW1hIENvbXBvbmVudHMKKyAqIFNjaGVtYSBDb21wb25lbnQgQ29uc3RyYWludDoKKyAqIFBhcnRpY2xlIERlcml2YXRpb24gT0sgKEFsbC9DaG9pY2UvU2VxdWVuY2U6QW55IC0tCisgKiAgICAgICAgICAgICAgICAgICAgICAgICBOU1JlY3Vyc2VDaGVja0NhcmRpbmFsaXR5KQorICogKHJjYXNlLU5TUmVjdXJzZUNoZWNrQ2FyZGluYWxpdHkpCisgKgorICogU1RBVFVTOiBUT0RPOiBzdWJzdC1ncm91cHMKKyAqCisgKiBSZXR1cm5zIDAgaWYgdGhlIGNvbnN0cmFpbnRzIGFyZSBzYXRpc2ZpZWQsIGEgcG9zaXRpdmUKKyAqIGVycm9yIGNvZGUgaWYgbm90IGFuZCAtMSBpZiBhbiBpbnRlcm5hbCBlcnJvciBvY2N1cmVkLgorICovCitzdGF0aWMgaW50Cit4bWxTY2hlbWFDaGVja1JDYXNlTlNSZWN1cnNlQ2hlY2tDYXJkaW5hbGl0eSh4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIGN0eHQsCisJCQkJCSAgICAgeG1sU2NoZW1hUGFydGljbGVQdHIgciwKKwkJCQkJICAgICB4bWxTY2hlbWFQYXJ0aWNsZVB0ciBiKQoreworICAgIHhtbFNjaGVtYVBhcnRpY2xlUHRyIHBhcnQ7CisgICAgLyogVE9ETzogRXJyb3IgY29kZXMgKHJjYXNlLU5TUmVjdXJzZUNoZWNrQ2FyZGluYWxpdHkpLiAqLworICAgIGlmICgoci0+Y2hpbGRyZW4gPT0gTlVMTCkgfHwgKHItPmNoaWxkcmVuLT5jaGlsZHJlbiA9PSBOVUxMKSkKKwlyZXR1cm4gKC0xKTsKKyAgICAvKgorICAgICogU1BFQyAiRm9yIGEgZ3JvdXAgcGFydGljbGUgdG8gYmUgYSBgdmFsaWQgcmVzdHJpY3Rpb25gIG9mIGEKKyAgICAqIHdpbGRjYXJkIHBhcnRpY2xlLi4uIgorICAgICoKKyAgICAqIFNQRUMgKDEpICJFdmVyeSBtZW1iZXIgb2YgdGhlIHtwYXJ0aWNsZXN9IG9mIHRoZSBncm91cCBpcyBhIGB2YWxpZAorICAgICogcmVzdHJpY3Rpb25gIG9mIHRoZSB3aWxkY2FyZCBhcyBkZWZpbmVkIGJ5CisgICAgKiBQYXJ0aWNsZSBWYWxpZCAoUmVzdHJpY3Rpb24pICgkMy45LjYpLiIKKyAgICAqLworICAgIHBhcnQgPSAoeG1sU2NoZW1hUGFydGljbGVQdHIpIHItPmNoaWxkcmVuLT5jaGlsZHJlbjsKKyAgICBkbyB7CisJaWYgKHhtbFNjaGVtYUNoZWNrQ09TUGFydGljbGVSZXN0cmljdChjdHh0LCBwYXJ0LCBiKSkKKwkgICAgcmV0dXJuICgxKTsKKwlwYXJ0ID0gKHhtbFNjaGVtYVBhcnRpY2xlUHRyKSBwYXJ0LT5uZXh0OworICAgIH0gd2hpbGUgKHBhcnQgIT0gTlVMTCk7CisgICAgLyoKKyAgICAqIFNQRUMgKDIpICJUaGUgZWZmZWN0aXZlIHRvdGFsIHJhbmdlIG9mIHRoZSBncm91cCBbLi4uXSBpcyBhCisgICAgKiB2YWxpZCByZXN0cmljdGlvbiBvZiBCJ3Mgb2NjdXJyZW5jZSByYW5nZSBhcyBkZWZpbmVkIGJ5CisgICAgKiBPY2N1cnJlbmNlIFJhbmdlIE9LICgkMy45LjYpLiIKKyAgICAqLworICAgIGlmICh4bWxTY2hlbWFDaGVja1BhcnRpY2xlUmFuZ2VPSygKKwkgICAgeG1sU2NoZW1hR2V0UGFydGljbGVUb3RhbFJhbmdlTWluKHIpLAorCSAgICB4bWxTY2hlbWFHZXRQYXJ0aWNsZVRvdGFsUmFuZ2VNYXgociksCisJICAgIGItPm1pbk9jY3VycywgYi0+bWF4T2NjdXJzKSAhPSAwKQorCXJldHVybiAoMSk7CisgICAgcmV0dXJuICgwKTsKK30KKyNlbmRpZgorCisvKioKKyAqIHhtbFNjaGVtYUNoZWNrUkNhc2VSZWN1cnNlOgorICogQGN0eHQ6ICB0aGUgc2NoZW1hIHBhcnNlciBjb250ZXh0CisgKiBAcjogdGhlIDxhbGw+IG9yIDxzZXF1ZW5jZT4gbW9kZWwgZ3JvdXAgcGFydGljbGUKKyAqIEBiOiB0aGUgYmFzZSA8YWxsPiBvciA8c2VxdWVuY2U+IG1vZGVsIGdyb3VwIHBhcnRpY2xlCisgKgorICogKDMuOS42KSBDb25zdHJhaW50cyBvbiBQYXJ0aWNsZSBTY2hlbWEgQ29tcG9uZW50cworICogU2NoZW1hIENvbXBvbmVudCBDb25zdHJhaW50OgorICogUGFydGljbGUgRGVyaXZhdGlvbiBPSyAoQWxsOkFsbCxTZXF1ZW5jZTpTZXF1ZW5jZSAtLQorICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVjdXJzZSkKKyAqIChyY2FzZS1SZWN1cnNlKQorICoKKyAqIFNUQVRVUzogID8KKyAqIFRPRE86IHN1YnN0LWdyb3VwcworICoKKyAqIFJldHVybnMgMCBpZiB0aGUgY29uc3RyYWludHMgYXJlIHNhdGlzZmllZCwgYSBwb3NpdGl2ZQorICogZXJyb3IgY29kZSBpZiBub3QgYW5kIC0xIGlmIGFuIGludGVybmFsIGVycm9yIG9jY3VyZWQuCisgKi8KK3N0YXRpYyBpbnQKK3htbFNjaGVtYUNoZWNrUkNhc2VSZWN1cnNlKHhtbFNjaGVtYVBhcnNlckN0eHRQdHIgY3R4dCwKKwkJCSAgIHhtbFNjaGVtYVBhcnRpY2xlUHRyIHIsCisJCQkgICB4bWxTY2hlbWFQYXJ0aWNsZVB0ciBiKQoreworICAgIC8qIHhtbFNjaGVtYVBhcnRpY2xlUHRyIHBhcnQ7ICovCisgICAgLyogVE9ETzogRXJyb3IgY29kZXMgKHJjYXNlLVJlY3Vyc2UpLiAqLworICAgIGlmICgoci0+Y2hpbGRyZW4gPT0gTlVMTCkgfHwgKGItPmNoaWxkcmVuID09IE5VTEwpIHx8CisJKHItPmNoaWxkcmVuLT50eXBlICE9IGItPmNoaWxkcmVuLT50eXBlKSkKKwlyZXR1cm4gKC0xKTsKKyAgICAvKgorICAgICogU1BFQyAiRm9yIGFuIGFsbCBvciBzZXF1ZW5jZSBncm91cCBwYXJ0aWNsZSB0byBiZSBhIGB2YWxpZAorICAgICogcmVzdHJpY3Rpb25gIG9mIGFub3RoZXIgZ3JvdXAgcGFydGljbGUgd2l0aCB0aGUgc2FtZSB7Y29tcG9zaXRvcn0uLi4iCisgICAgKgorICAgICogU1BFQyAoMSkgIlIncyBvY2N1cnJlbmNlIHJhbmdlIGlzIGEgdmFsaWQgcmVzdHJpY3Rpb24gb2YgQidzCisgICAgKiBvY2N1cnJlbmNlIHJhbmdlIGFzIGRlZmluZWQgYnkgT2NjdXJyZW5jZSBSYW5nZSBPSyAoJDMuOS42KS4iCisgICAgKi8KKyAgICBpZiAoeG1sU2NoZW1hQ2hlY2tQYXJ0aWNsZVJhbmdlT0soci0+bWluT2NjdXJzLCByLT5tYXhPY2N1cnMsCisJICAgIGItPm1pbk9jY3VycywgYi0+bWF4T2NjdXJzKSkKKwlyZXR1cm4gKDEpOworCisKKyAgICByZXR1cm4gKDApOworfQorCisjZW5kaWYKKworI2RlZmluZSBGQUNFVF9SRVNUUl9NVVRVQUxfRVJSKGZhYzEsIGZhYzIpIFwKKyAgICB4bWxTY2hlbWFQQ3VzdG9tRXJyRXh0KHBjdHh0LCAgICAgIFwKKwlYTUxfU0NIRU1BUF9JTlZBTElEX0ZBQ0VUX1ZBTFVFLCBcCisJV1hTX0JBU0lDX0NBU1QgZmFjMSwgZmFjMS0+bm9kZSwgXAorCSJJdCBpcyBhbiBlcnJvciBmb3IgYm90aCAnJXMnIGFuZCAnJXMnIHRvIGJlIHNwZWNpZmllZCBvbiB0aGUgIlwKKwkic2FtZSB0eXBlIGRlZmluaXRpb24iLCBcCisJQkFEX0NBU1QgeG1sU2NoZW1hRmFjZXRUeXBlVG9TdHJpbmcoZmFjMS0+dHlwZSksIFwKKwlCQURfQ0FTVCB4bWxTY2hlbWFGYWNldFR5cGVUb1N0cmluZyhmYWMyLT50eXBlKSwgTlVMTCk7CisKKyNkZWZpbmUgRkFDRVRfUkVTVFJfRVJSKGZhYzEsIG1zZykgXAorICAgIHhtbFNjaGVtYVBDdXN0b21FcnIocGN0eHQsICAgICAgXAorCVhNTF9TQ0hFTUFQX0lOVkFMSURfRkFDRVRfVkFMVUUsIFwKKwlXWFNfQkFTSUNfQ0FTVCBmYWMxLCBmYWMxLT5ub2RlLCBcCisJbXNnLCBOVUxMKTsKKworI2RlZmluZSBGQUNFVF9SRVNUUl9GSVhFRF9FUlIoZmFjKSBcCisgICAgeG1sU2NoZW1hUEN1c3RvbUVycihwY3R4dCwgXAorCVhNTF9TQ0hFTUFQX0lOVkFMSURfRkFDRVRfVkFMVUUsIFwKKwlXWFNfQkFTSUNfQ0FTVCBmYWMsIGZhYy0+bm9kZSwgXAorCSJUaGUgYmFzZSB0eXBlJ3MgZmFjZXQgaXMgJ2ZpeGVkJywgdGh1cyB0aGUgdmFsdWUgbXVzdCBub3QgIiBcCisJImRpZmZlciIsIE5VTEwpOworCitzdGF0aWMgdm9pZAoreG1sU2NoZW1hRGVyaXZlRmFjZXRFcnIoeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBwY3R4dCwKKwkJCXhtbFNjaGVtYUZhY2V0UHRyIGZhY2V0MSwKKwkJCXhtbFNjaGVtYUZhY2V0UHRyIGZhY2V0MiwKKwkJCWludCBsZXNzR3JlYXRlciwKKwkJCWludCBvckVxdWFsLAorCQkJaW50IG9mQmFzZSkKK3sKKyAgICB4bWxDaGFyICptc2cgPSBOVUxMOworCisgICAgbXNnID0geG1sU3RyZHVwKEJBRF9DQVNUICInIik7CisgICAgbXNnID0geG1sU3RyY2F0KG1zZywgeG1sU2NoZW1hRmFjZXRUeXBlVG9TdHJpbmcoZmFjZXQxLT50eXBlKSk7CisgICAgbXNnID0geG1sU3RyY2F0KG1zZywgQkFEX0NBU1QgIicgaGFzIHRvIGJlIik7CisgICAgaWYgKGxlc3NHcmVhdGVyID09IDApCisJbXNnID0geG1sU3RyY2F0KG1zZywgQkFEX0NBU1QgIiBlcXVhbCB0byIpOworICAgIGlmIChsZXNzR3JlYXRlciA9PSAxKQorCW1zZyA9IHhtbFN0cmNhdChtc2csIEJBRF9DQVNUICIgZ3JlYXRlciB0aGFuIik7CisgICAgZWxzZQorCW1zZyA9IHhtbFN0cmNhdChtc2csIEJBRF9DQVNUICIgbGVzcyB0aGFuIik7CisKKyAgICBpZiAob3JFcXVhbCkKKwltc2cgPSB4bWxTdHJjYXQobXNnLCBCQURfQ0FTVCAiIG9yIGVxdWFsIHRvIik7CisgICAgbXNnID0geG1sU3RyY2F0KG1zZywgQkFEX0NBU1QgIiAnIik7CisgICAgbXNnID0geG1sU3RyY2F0KG1zZywgeG1sU2NoZW1hRmFjZXRUeXBlVG9TdHJpbmcoZmFjZXQyLT50eXBlKSk7CisgICAgaWYgKG9mQmFzZSkKKwltc2cgPSB4bWxTdHJjYXQobXNnLCBCQURfQ0FTVCAiJyBvZiB0aGUgYmFzZSB0eXBlIik7CisgICAgZWxzZQorCW1zZyA9IHhtbFN0cmNhdChtc2csIEJBRF9DQVNUICInIik7CisKKyAgICB4bWxTY2hlbWFQQ3VzdG9tRXJyKHBjdHh0LAorCVhNTF9TQ0hFTUFQX0lOVkFMSURfRkFDRVRfVkFMVUUsCisJV1hTX0JBU0lDX0NBU1QgZmFjZXQxLCBOVUxMLAorCShjb25zdCBjaGFyICopIG1zZywgTlVMTCk7CisKKyAgICBpZiAobXNnICE9IE5VTEwpCisJeG1sRnJlZShtc2cpOworfQorCisvKgorKiB4bWxTY2hlbWFEZXJpdmVBbmRWYWxpZGF0ZUZhY2V0czoKKyoKKyogU2NoZW1hIENvbXBvbmVudCBDb25zdHJhaW50OiBTaW1wbGUgVHlwZSBSZXN0cmljdGlvbiAoRmFjZXRzKQorKiAoc3QtcmVzdHJpY3QtZmFjZXRzKQorKi8KK3N0YXRpYyBpbnQKK3htbFNjaGVtYURlcml2ZUFuZFZhbGlkYXRlRmFjZXRzKHhtbFNjaGVtYVBhcnNlckN0eHRQdHIgcGN0eHQsCisJCQkJIHhtbFNjaGVtYVR5cGVQdHIgdHlwZSkKK3sKKyAgICB4bWxTY2hlbWFUeXBlUHRyIGJhc2UgPSB0eXBlLT5iYXNlVHlwZTsKKyAgICB4bWxTY2hlbWFGYWNldExpbmtQdHIgbGluaywgY3VyLCBsYXN0ID0gTlVMTDsKKyAgICB4bWxTY2hlbWFGYWNldFB0ciBmYWNldCwgYmZhY2V0LAorCWZsZW5ndGggPSBOVUxMLCBmdG90ZGlnID0gTlVMTCwgZmZyYWNkaWcgPSBOVUxMLAorCWZtYXhsZW4gPSBOVUxMLCBmbWlubGVuID0gTlVMTCwgLyogZmFjZXRzIG9mIHRoZSBjdXJyZW50IHR5cGUgKi8KKwlmbWluaW5jID0gTlVMTCwgZm1heGluYyA9IE5VTEwsCisJZm1pbmV4YyA9IE5VTEwsIGZtYXhleGMgPSBOVUxMLAorCWJmbGVuZ3RoID0gTlVMTCwgYmZ0b3RkaWcgPSBOVUxMLCBiZmZyYWNkaWcgPSBOVUxMLAorCWJmbWF4bGVuID0gTlVMTCwgYmZtaW5sZW4gPSBOVUxMLCAvKiBmYWNldHMgb2YgdGhlIGJhc2UgdHlwZSAqLworCWJmbWluaW5jID0gTlVMTCwgYmZtYXhpbmMgPSBOVUxMLAorCWJmbWluZXhjID0gTlVMTCwgYmZtYXhleGMgPSBOVUxMOworICAgIGludCByZXM7IC8qIGVyciA9IDAsIGZpeGVkRXJyOyAqLworCisgICAgLyoKKyAgICAqIFNQRUMgc3QtcmVzdHJpY3QtZmFjZXRzIDE6CisgICAgKiAiVGhlIHt2YXJpZXR5fSBvZiBSIGlzIHRoZSBzYW1lIGFzIHRoYXQgb2YgQi4iCisgICAgKi8KKyAgICAvKgorICAgICogU1BFQyBzdC1yZXN0cmljdC1mYWNldHMgMjoKKyAgICAqICJJZiB7dmFyaWV0eX0gaXMgYXRvbWljLCB0aGUge3ByaW1pdGl2ZSB0eXBlIGRlZmluaXRpb259CisgICAgKiBvZiBSIGlzIHRoZSBzYW1lIGFzIHRoYXQgb2YgQi4iCisgICAgKgorICAgICogTk9URTogd2UgbGVhdmUgMSAmIDIgb3V0IGZvciBub3csIHNpbmNlIHRoaXMgd2lsbCBiZQorICAgICogc2F0aXNmaWVkIGJ5IHRoZSBkZXJpdmF0aW9uIHByb2Nlc3MuCisgICAgKiBDT05TVFJVQ1RJT04gVE9ETzogTWF5YmUgbmVlZGVkIGlmIHVzaW5nIGEgY29uc3RydWN0aW9uIEFQSS4KKyAgICAqLworICAgIC8qCisgICAgKiBTUEVDIHN0LXJlc3RyaWN0LWZhY2V0cyAzOgorICAgICogIlRoZSB7ZmFjZXRzfSBvZiBSIGFyZSB0aGUgdW5pb24gb2YgUyBhbmQgdGhlIHtmYWNldHN9CisgICAgKiBvZiBCLCBlbGltaW5hdGluZyBkdXBsaWNhdGVzLiBUbyBlbGltaW5hdGUgZHVwbGljYXRlcywKKyAgICAqIHdoZW4gYSBmYWNldCBvZiB0aGUgc2FtZSBraW5kIG9jY3VycyBpbiBib3RoIFMgYW5kIHRoZQorICAgICoge2ZhY2V0c30gb2YgQiwgdGhlIG9uZSBpbiB0aGUge2ZhY2V0c30gb2YgQiBpcyBub3QKKyAgICAqIGluY2x1ZGVkLCB3aXRoIHRoZSBleGNlcHRpb24gb2YgZW51bWVyYXRpb24gYW5kIHBhdHRlcm4KKyAgICAqIGZhY2V0cywgZm9yIHdoaWNoIG11bHRpcGxlIG9jY3VycmVuY2VzIHdpdGggZGlzdGluY3QgdmFsdWVzCisgICAgKiBhcmUgYWxsb3dlZC4iCisgICAgKi8KKworICAgIGlmICgodHlwZS0+ZmFjZXRTZXQgPT0gTlVMTCkgJiYgKGJhc2UtPmZhY2V0U2V0ID09IE5VTEwpKQorCXJldHVybiAoMCk7CisKKyAgICBsYXN0ID0gdHlwZS0+ZmFjZXRTZXQ7CisgICAgaWYgKGxhc3QgIT0gTlVMTCkKKwl3aGlsZSAobGFzdC0+bmV4dCAhPSBOVUxMKQorCSAgICBsYXN0ID0gbGFzdC0+bmV4dDsKKworICAgIGZvciAoY3VyID0gdHlwZS0+ZmFjZXRTZXQ7IGN1ciAhPSBOVUxMOyBjdXIgPSBjdXItPm5leHQpIHsKKwlmYWNldCA9IGN1ci0+ZmFjZXQ7CisJc3dpdGNoIChmYWNldC0+dHlwZSkgeworCSAgICBjYXNlIFhNTF9TQ0hFTUFfRkFDRVRfTEVOR1RIOgorCQlmbGVuZ3RoID0gZmFjZXQ7IGJyZWFrOworCSAgICBjYXNlIFhNTF9TQ0hFTUFfRkFDRVRfTUlOTEVOR1RIOgorCQlmbWlubGVuID0gZmFjZXQ7IGJyZWFrOworCSAgICBjYXNlIFhNTF9TQ0hFTUFfRkFDRVRfTUlOSU5DTFVTSVZFOgorCQlmbWluaW5jID0gZmFjZXQ7IGJyZWFrOworCSAgICBjYXNlIFhNTF9TQ0hFTUFfRkFDRVRfTUlORVhDTFVTSVZFOgorCQlmbWluZXhjID0gZmFjZXQ7IGJyZWFrOworCSAgICBjYXNlIFhNTF9TQ0hFTUFfRkFDRVRfTUFYTEVOR1RIOgorCQlmbWF4bGVuID0gZmFjZXQ7IGJyZWFrOworCSAgICBjYXNlIFhNTF9TQ0hFTUFfRkFDRVRfTUFYSU5DTFVTSVZFOgorCQlmbWF4aW5jID0gZmFjZXQ7IGJyZWFrOworCSAgICBjYXNlIFhNTF9TQ0hFTUFfRkFDRVRfTUFYRVhDTFVTSVZFOgorCQlmbWF4ZXhjID0gZmFjZXQ7IGJyZWFrOworCSAgICBjYXNlIFhNTF9TQ0hFTUFfRkFDRVRfVE9UQUxESUdJVFM6CisJCWZ0b3RkaWcgPSBmYWNldDsgYnJlYWs7CisJICAgIGNhc2UgWE1MX1NDSEVNQV9GQUNFVF9GUkFDVElPTkRJR0lUUzoKKwkJZmZyYWNkaWcgPSBmYWNldDsgYnJlYWs7CisJICAgIGRlZmF1bHQ6CisJCWJyZWFrOworCX0KKyAgICB9CisgICAgZm9yIChjdXIgPSBiYXNlLT5mYWNldFNldDsgY3VyICE9IE5VTEw7IGN1ciA9IGN1ci0+bmV4dCkgeworCWZhY2V0ID0gY3VyLT5mYWNldDsKKwlzd2l0Y2ggKGZhY2V0LT50eXBlKSB7CisJICAgIGNhc2UgWE1MX1NDSEVNQV9GQUNFVF9MRU5HVEg6CisJCWJmbGVuZ3RoID0gZmFjZXQ7IGJyZWFrOworCSAgICBjYXNlIFhNTF9TQ0hFTUFfRkFDRVRfTUlOTEVOR1RIOgorCQliZm1pbmxlbiA9IGZhY2V0OyBicmVhazsKKwkgICAgY2FzZSBYTUxfU0NIRU1BX0ZBQ0VUX01JTklOQ0xVU0lWRToKKwkJYmZtaW5pbmMgPSBmYWNldDsgYnJlYWs7CisJICAgIGNhc2UgWE1MX1NDSEVNQV9GQUNFVF9NSU5FWENMVVNJVkU6CisJCWJmbWluZXhjID0gZmFjZXQ7IGJyZWFrOworCSAgICBjYXNlIFhNTF9TQ0hFTUFfRkFDRVRfTUFYTEVOR1RIOgorCQliZm1heGxlbiA9IGZhY2V0OyBicmVhazsKKwkgICAgY2FzZSBYTUxfU0NIRU1BX0ZBQ0VUX01BWElOQ0xVU0lWRToKKwkJYmZtYXhpbmMgPSBmYWNldDsgYnJlYWs7CisJICAgIGNhc2UgWE1MX1NDSEVNQV9GQUNFVF9NQVhFWENMVVNJVkU6CisJCWJmbWF4ZXhjID0gZmFjZXQ7IGJyZWFrOworCSAgICBjYXNlIFhNTF9TQ0hFTUFfRkFDRVRfVE9UQUxESUdJVFM6CisJCWJmdG90ZGlnID0gZmFjZXQ7IGJyZWFrOworCSAgICBjYXNlIFhNTF9TQ0hFTUFfRkFDRVRfRlJBQ1RJT05ESUdJVFM6CisJCWJmZnJhY2RpZyA9IGZhY2V0OyBicmVhazsKKwkgICAgZGVmYXVsdDoKKwkJYnJlYWs7CisJfQorICAgIH0KKyAgICAvKgorICAgICogbGVuZ3RoIGFuZCBtaW5MZW5ndGggb3IgbWF4TGVuZ3RoICgyLjIpICsgKDMuMikKKyAgICAqLworICAgIGlmIChmbGVuZ3RoICYmIChmbWlubGVuIHx8IGZtYXhsZW4pKSB7CisJRkFDRVRfUkVTVFJfRVJSKGZsZW5ndGgsICJJdCBpcyBhbiBlcnJvciBmb3IgYm90aCAnbGVuZ3RoJyBhbmQgIgorCSAgICAiZWl0aGVyIG9mICdtaW5MZW5ndGgnIG9yICdtYXhMZW5ndGgnIHRvIGJlIHNwZWNpZmllZCBvbiAiCisJICAgICJ0aGUgc2FtZSB0eXBlIGRlZmluaXRpb24iKQorICAgIH0KKyAgICAvKgorICAgICogTXV0dWFsIGV4Y2x1c2lvbnMgaW4gdGhlIHNhbWUgZGVyaXZhdGlvbiBzdGVwLgorICAgICovCisgICAgaWYgKChmbWF4aW5jKSAmJiAoZm1heGV4YykpIHsKKwkvKgorCSogU0NDICJtYXhJbmNsdXNpdmUgYW5kIG1heEV4Y2x1c2l2ZSIKKwkqLworCUZBQ0VUX1JFU1RSX01VVFVBTF9FUlIoZm1heGluYywgZm1heGV4YykKKyAgICB9CisgICAgaWYgKChmbWluaW5jKSAmJiAoZm1pbmV4YykpIHsKKwkvKgorCSogU0NDICJtaW5JbmNsdXNpdmUgYW5kIG1pbkV4Y2x1c2l2ZSIKKwkqLworCUZBQ0VUX1JFU1RSX01VVFVBTF9FUlIoZm1pbmluYywgZm1pbmV4YykKKyAgICB9CisKKyAgICBpZiAoZmxlbmd0aCAmJiBiZmxlbmd0aCkgeworCS8qCisJKiBTQ0MgImxlbmd0aCB2YWxpZCByZXN0cmljdGlvbiIKKwkqIFRoZSB2YWx1ZXMgaGF2ZSB0byBiZSBlcXVhbC4KKwkqLworCXJlcyA9IHhtbFNjaGVtYUNvbXBhcmVWYWx1ZXMoZmxlbmd0aC0+dmFsLCBiZmxlbmd0aC0+dmFsKTsKKwlpZiAocmVzID09IC0yKQorCSAgICBnb3RvIGludGVybmFsX2Vycm9yOworCWlmIChyZXMgIT0gMCkKKwkgICAgeG1sU2NoZW1hRGVyaXZlRmFjZXRFcnIocGN0eHQsIGZsZW5ndGgsIGJmbGVuZ3RoLCAwLCAwLCAxKTsKKwlpZiAoKHJlcyAhPSAwKSAmJiAoYmZsZW5ndGgtPmZpeGVkKSkgeworCSAgICBGQUNFVF9SRVNUUl9GSVhFRF9FUlIoZmxlbmd0aCkKKwl9CisKKyAgICB9CisgICAgaWYgKGZtaW5sZW4gJiYgYmZtaW5sZW4pIHsKKwkvKgorCSogU0NDICJtaW5MZW5ndGggdmFsaWQgcmVzdHJpY3Rpb24iCisJKiBtaW5MZW5ndGggPj0gQkFTRSBtaW5MZW5ndGgKKwkqLworCXJlcyA9IHhtbFNjaGVtYUNvbXBhcmVWYWx1ZXMoZm1pbmxlbi0+dmFsLCBiZm1pbmxlbi0+dmFsKTsKKwlpZiAocmVzID09IC0yKQorCSAgICBnb3RvIGludGVybmFsX2Vycm9yOworCWlmIChyZXMgPT0gLTEpCisJICAgIHhtbFNjaGVtYURlcml2ZUZhY2V0RXJyKHBjdHh0LCBmbWlubGVuLCBiZm1pbmxlbiwgMSwgMSwgMSk7CisJaWYgKChyZXMgIT0gMCkgJiYgKGJmbWlubGVuLT5maXhlZCkpIHsKKwkgICAgRkFDRVRfUkVTVFJfRklYRURfRVJSKGZtaW5sZW4pCisJfQorICAgIH0KKyAgICBpZiAoZm1heGxlbiAmJiBiZm1heGxlbikgeworCS8qCisJKiBTQ0MgIm1heExlbmd0aCB2YWxpZCByZXN0cmljdGlvbiIKKwkqIG1heExlbmd0aCA8PSBCQVNFIG1pbkxlbmd0aAorCSovCisJcmVzID0geG1sU2NoZW1hQ29tcGFyZVZhbHVlcyhmbWF4bGVuLT52YWwsIGJmbWF4bGVuLT52YWwpOworCWlmIChyZXMgPT0gLTIpCisJICAgIGdvdG8gaW50ZXJuYWxfZXJyb3I7CisJaWYgKHJlcyA9PSAxKQorCSAgICB4bWxTY2hlbWFEZXJpdmVGYWNldEVycihwY3R4dCwgZm1heGxlbiwgYmZtYXhsZW4sIC0xLCAxLCAxKTsKKwlpZiAoKHJlcyAhPSAwKSAmJiAoYmZtYXhsZW4tPmZpeGVkKSkgeworCSAgICBGQUNFVF9SRVNUUl9GSVhFRF9FUlIoZm1heGxlbikKKwl9CisgICAgfQorICAgIC8qCisgICAgKiBTQ0MgImxlbmd0aCBhbmQgbWluTGVuZ3RoIG9yIG1heExlbmd0aCIKKyAgICAqLworICAgIGlmICghIGZsZW5ndGgpCisJZmxlbmd0aCA9IGJmbGVuZ3RoOworICAgIGlmIChmbGVuZ3RoKSB7CisJaWYgKCEgZm1pbmxlbikKKwkgICAgZm1pbmxlbiA9IGJmbWlubGVuOworCWlmIChmbWlubGVuKSB7CisJICAgIC8qICgxLjEpIGxlbmd0aCA+PSBtaW5MZW5ndGggKi8KKwkgICAgcmVzID0geG1sU2NoZW1hQ29tcGFyZVZhbHVlcyhmbGVuZ3RoLT52YWwsIGZtaW5sZW4tPnZhbCk7CisJICAgIGlmIChyZXMgPT0gLTIpCisJCWdvdG8gaW50ZXJuYWxfZXJyb3I7CisJICAgIGlmIChyZXMgPT0gLTEpCisJCXhtbFNjaGVtYURlcml2ZUZhY2V0RXJyKHBjdHh0LCBmbGVuZ3RoLCBmbWlubGVuLCAxLCAxLCAwKTsKKwl9CisJaWYgKCEgZm1heGxlbikKKwkgICAgZm1heGxlbiA9IGJmbWF4bGVuOworCWlmIChmbWF4bGVuKSB7CisJICAgIC8qICgyLjEpIGxlbmd0aCA8PSBtYXhMZW5ndGggKi8KKwkgICAgcmVzID0geG1sU2NoZW1hQ29tcGFyZVZhbHVlcyhmbGVuZ3RoLT52YWwsIGZtYXhsZW4tPnZhbCk7CisJICAgIGlmIChyZXMgPT0gLTIpCisJCWdvdG8gaW50ZXJuYWxfZXJyb3I7CisJICAgIGlmIChyZXMgPT0gMSkKKwkJeG1sU2NoZW1hRGVyaXZlRmFjZXRFcnIocGN0eHQsIGZsZW5ndGgsIGZtYXhsZW4sIC0xLCAxLCAwKTsKKwl9CisgICAgfQorICAgIGlmIChmbWF4aW5jKSB7CisJLyoKKwkqICJtYXhJbmNsdXNpdmUiCisJKi8KKwlpZiAoZm1pbmluYykgeworCSAgICAvKiBTQ0MgIm1heEluY2x1c2l2ZSA+PSBtaW5JbmNsdXNpdmUiICovCisJICAgIHJlcyA9IHhtbFNjaGVtYUNvbXBhcmVWYWx1ZXMoZm1heGluYy0+dmFsLCBmbWluaW5jLT52YWwpOworCSAgICBpZiAocmVzID09IC0yKQorCQlnb3RvIGludGVybmFsX2Vycm9yOworCSAgICBpZiAocmVzID09IC0xKSB7CisJCXhtbFNjaGVtYURlcml2ZUZhY2V0RXJyKHBjdHh0LCBmbWF4aW5jLCBmbWluaW5jLCAxLCAxLCAwKTsKKwkgICAgfQorCX0KKwkvKgorCSogU0NDICJtYXhJbmNsdXNpdmUgdmFsaWQgcmVzdHJpY3Rpb24iCisJKi8KKwlpZiAoYmZtYXhpbmMpIHsKKwkgICAgLyogbWF4SW5jbHVzaXZlIDw9IEJBU0UgbWF4SW5jbHVzaXZlICovCisJICAgIHJlcyA9IHhtbFNjaGVtYUNvbXBhcmVWYWx1ZXMoZm1heGluYy0+dmFsLCBiZm1heGluYy0+dmFsKTsKKwkgICAgaWYgKHJlcyA9PSAtMikKKwkJZ290byBpbnRlcm5hbF9lcnJvcjsKKwkgICAgaWYgKHJlcyA9PSAxKQorCQl4bWxTY2hlbWFEZXJpdmVGYWNldEVycihwY3R4dCwgZm1heGluYywgYmZtYXhpbmMsIC0xLCAxLCAxKTsKKwkgICAgaWYgKChyZXMgIT0gMCkgJiYgKGJmbWF4aW5jLT5maXhlZCkpIHsKKwkJRkFDRVRfUkVTVFJfRklYRURfRVJSKGZtYXhpbmMpCisJICAgIH0KKwl9CisJaWYgKGJmbWF4ZXhjKSB7CisJICAgIC8qIG1heEluY2x1c2l2ZSA8IEJBU0UgbWF4RXhjbHVzaXZlICovCisJICAgIHJlcyA9IHhtbFNjaGVtYUNvbXBhcmVWYWx1ZXMoZm1heGluYy0+dmFsLCBiZm1heGV4Yy0+dmFsKTsKKwkgICAgaWYgKHJlcyA9PSAtMikKKwkJZ290byBpbnRlcm5hbF9lcnJvcjsKKwkgICAgaWYgKHJlcyAhPSAtMSkgeworCQl4bWxTY2hlbWFEZXJpdmVGYWNldEVycihwY3R4dCwgZm1heGluYywgYmZtYXhleGMsIC0xLCAwLCAxKTsKKwkgICAgfQorCX0KKwlpZiAoYmZtaW5pbmMpIHsKKwkgICAgLyogbWF4SW5jbHVzaXZlID49IEJBU0UgbWluSW5jbHVzaXZlICovCisJICAgIHJlcyA9IHhtbFNjaGVtYUNvbXBhcmVWYWx1ZXMoZm1heGluYy0+dmFsLCBiZm1pbmluYy0+dmFsKTsKKwkgICAgaWYgKHJlcyA9PSAtMikKKwkJZ290byBpbnRlcm5hbF9lcnJvcjsKKwkgICAgaWYgKHJlcyA9PSAtMSkgeworCQl4bWxTY2hlbWFEZXJpdmVGYWNldEVycihwY3R4dCwgZm1heGluYywgYmZtaW5pbmMsIDEsIDEsIDEpOworCSAgICB9CisJfQorCWlmIChiZm1pbmV4YykgeworCSAgICAvKiBtYXhJbmNsdXNpdmUgPiBCQVNFIG1pbkV4Y2x1c2l2ZSAqLworCSAgICByZXMgPSB4bWxTY2hlbWFDb21wYXJlVmFsdWVzKGZtYXhpbmMtPnZhbCwgYmZtaW5leGMtPnZhbCk7CisJICAgIGlmIChyZXMgPT0gLTIpCisJCWdvdG8gaW50ZXJuYWxfZXJyb3I7CisJICAgIGlmIChyZXMgIT0gMSkgeworCQl4bWxTY2hlbWFEZXJpdmVGYWNldEVycihwY3R4dCwgZm1heGluYywgYmZtaW5leGMsIDEsIDAsIDEpOworCSAgICB9CisJfQorICAgIH0KKyAgICBpZiAoZm1heGV4YykgeworCS8qCisJKiAibWF4RXhjbHVzaXZlID49IG1pbkV4Y2x1c2l2ZSIKKwkqLworCWlmIChmbWluZXhjKSB7CisJICAgIHJlcyA9IHhtbFNjaGVtYUNvbXBhcmVWYWx1ZXMoZm1heGV4Yy0+dmFsLCBmbWluZXhjLT52YWwpOworCSAgICBpZiAocmVzID09IC0yKQorCQlnb3RvIGludGVybmFsX2Vycm9yOworCSAgICBpZiAocmVzID09IC0xKSB7CisJCXhtbFNjaGVtYURlcml2ZUZhY2V0RXJyKHBjdHh0LCBmbWF4ZXhjLCBmbWluZXhjLCAxLCAxLCAwKTsKKwkgICAgfQorCX0KKwkvKgorCSogIm1heEV4Y2x1c2l2ZSB2YWxpZCByZXN0cmljdGlvbiIKKwkqLworCWlmIChiZm1heGV4YykgeworCSAgICAvKiBtYXhFeGNsdXNpdmUgPD0gQkFTRSBtYXhFeGNsdXNpdmUgKi8KKwkgICAgcmVzID0geG1sU2NoZW1hQ29tcGFyZVZhbHVlcyhmbWF4ZXhjLT52YWwsIGJmbWF4ZXhjLT52YWwpOworCSAgICBpZiAocmVzID09IC0yKQorCQlnb3RvIGludGVybmFsX2Vycm9yOworCSAgICBpZiAocmVzID09IDEpIHsKKwkJeG1sU2NoZW1hRGVyaXZlRmFjZXRFcnIocGN0eHQsIGZtYXhleGMsIGJmbWF4ZXhjLCAtMSwgMSwgMSk7CisJICAgIH0KKwkgICAgaWYgKChyZXMgIT0gMCkgJiYgKGJmbWF4ZXhjLT5maXhlZCkpIHsKKwkJRkFDRVRfUkVTVFJfRklYRURfRVJSKGZtYXhleGMpCisJICAgIH0KKwl9CisJaWYgKGJmbWF4aW5jKSB7CisJICAgIC8qIG1heEV4Y2x1c2l2ZSA8PSBCQVNFIG1heEluY2x1c2l2ZSAqLworCSAgICByZXMgPSB4bWxTY2hlbWFDb21wYXJlVmFsdWVzKGZtYXhleGMtPnZhbCwgYmZtYXhpbmMtPnZhbCk7CisJICAgIGlmIChyZXMgPT0gLTIpCisJCWdvdG8gaW50ZXJuYWxfZXJyb3I7CisJICAgIGlmIChyZXMgPT0gMSkgeworCQl4bWxTY2hlbWFEZXJpdmVGYWNldEVycihwY3R4dCwgZm1heGV4YywgYmZtYXhpbmMsIC0xLCAxLCAxKTsKKwkgICAgfQorCX0KKwlpZiAoYmZtaW5pbmMpIHsKKwkgICAgLyogbWF4RXhjbHVzaXZlID4gQkFTRSBtaW5JbmNsdXNpdmUgKi8KKwkgICAgcmVzID0geG1sU2NoZW1hQ29tcGFyZVZhbHVlcyhmbWF4ZXhjLT52YWwsIGJmbWluaW5jLT52YWwpOworCSAgICBpZiAocmVzID09IC0yKQorCQlnb3RvIGludGVybmFsX2Vycm9yOworCSAgICBpZiAocmVzICE9IDEpIHsKKwkJeG1sU2NoZW1hRGVyaXZlRmFjZXRFcnIocGN0eHQsIGZtYXhleGMsIGJmbWluaW5jLCAxLCAwLCAxKTsKKwkgICAgfQorCX0KKwlpZiAoYmZtaW5leGMpIHsKKwkgICAgLyogbWF4RXhjbHVzaXZlID4gQkFTRSBtaW5FeGNsdXNpdmUgKi8KKwkgICAgcmVzID0geG1sU2NoZW1hQ29tcGFyZVZhbHVlcyhmbWF4ZXhjLT52YWwsIGJmbWluZXhjLT52YWwpOworCSAgICBpZiAocmVzID09IC0yKQorCQlnb3RvIGludGVybmFsX2Vycm9yOworCSAgICBpZiAocmVzICE9IDEpIHsKKwkJeG1sU2NoZW1hRGVyaXZlRmFjZXRFcnIocGN0eHQsIGZtYXhleGMsIGJmbWluZXhjLCAxLCAwLCAxKTsKKwkgICAgfQorCX0KKyAgICB9CisgICAgaWYgKGZtaW5leGMpIHsKKwkvKgorCSogIm1pbkV4Y2x1c2l2ZSA8IG1heEluY2x1c2l2ZSIKKwkqLworCWlmIChmbWF4aW5jKSB7CisJICAgIHJlcyA9IHhtbFNjaGVtYUNvbXBhcmVWYWx1ZXMoZm1pbmV4Yy0+dmFsLCBmbWF4aW5jLT52YWwpOworCSAgICBpZiAocmVzID09IC0yKQorCQlnb3RvIGludGVybmFsX2Vycm9yOworCSAgICBpZiAocmVzICE9IC0xKSB7CisJCXhtbFNjaGVtYURlcml2ZUZhY2V0RXJyKHBjdHh0LCBmbWluZXhjLCBmbWF4aW5jLCAtMSwgMCwgMCk7CisJICAgIH0KKwl9CisJLyoKKwkqICJtaW5FeGNsdXNpdmUgdmFsaWQgcmVzdHJpY3Rpb24iCisJKi8KKwlpZiAoYmZtaW5leGMpIHsKKwkgICAgLyogbWluRXhjbHVzaXZlID49IEJBU0UgbWluRXhjbHVzaXZlICovCisJICAgIHJlcyA9IHhtbFNjaGVtYUNvbXBhcmVWYWx1ZXMoZm1pbmV4Yy0+dmFsLCBiZm1pbmV4Yy0+dmFsKTsKKwkgICAgaWYgKHJlcyA9PSAtMikKKwkJZ290byBpbnRlcm5hbF9lcnJvcjsKKwkgICAgaWYgKHJlcyA9PSAtMSkgeworCQl4bWxTY2hlbWFEZXJpdmVGYWNldEVycihwY3R4dCwgZm1pbmV4YywgYmZtaW5leGMsIDEsIDEsIDEpOworCSAgICB9CisJICAgIGlmICgocmVzICE9IDApICYmIChiZm1pbmV4Yy0+Zml4ZWQpKSB7CisJCUZBQ0VUX1JFU1RSX0ZJWEVEX0VSUihmbWluZXhjKQorCSAgICB9CisJfQorCWlmIChiZm1heGluYykgeworCSAgICAvKiBtaW5FeGNsdXNpdmUgPD0gQkFTRSBtYXhJbmNsdXNpdmUgKi8KKwkgICAgcmVzID0geG1sU2NoZW1hQ29tcGFyZVZhbHVlcyhmbWluZXhjLT52YWwsIGJmbWF4aW5jLT52YWwpOworCSAgICBpZiAocmVzID09IC0yKQorCQlnb3RvIGludGVybmFsX2Vycm9yOworCSAgICBpZiAocmVzID09IDEpIHsKKwkJeG1sU2NoZW1hRGVyaXZlRmFjZXRFcnIocGN0eHQsIGZtaW5leGMsIGJmbWF4aW5jLCAtMSwgMSwgMSk7CisJICAgIH0KKwl9CisJaWYgKGJmbWluaW5jKSB7CisJICAgIC8qIG1pbkV4Y2x1c2l2ZSA+PSBCQVNFIG1pbkluY2x1c2l2ZSAqLworCSAgICByZXMgPSB4bWxTY2hlbWFDb21wYXJlVmFsdWVzKGZtaW5leGMtPnZhbCwgYmZtaW5pbmMtPnZhbCk7CisJICAgIGlmIChyZXMgPT0gLTIpCisJCWdvdG8gaW50ZXJuYWxfZXJyb3I7CisJICAgIGlmIChyZXMgPT0gLTEpIHsKKwkJeG1sU2NoZW1hRGVyaXZlRmFjZXRFcnIocGN0eHQsIGZtaW5leGMsIGJmbWluaW5jLCAxLCAxLCAxKTsKKwkgICAgfQorCX0KKwlpZiAoYmZtYXhleGMpIHsKKwkgICAgLyogbWluRXhjbHVzaXZlIDwgQkFTRSBtYXhFeGNsdXNpdmUgKi8KKwkgICAgcmVzID0geG1sU2NoZW1hQ29tcGFyZVZhbHVlcyhmbWluZXhjLT52YWwsIGJmbWF4ZXhjLT52YWwpOworCSAgICBpZiAocmVzID09IC0yKQorCQlnb3RvIGludGVybmFsX2Vycm9yOworCSAgICBpZiAocmVzICE9IC0xKSB7CisJCXhtbFNjaGVtYURlcml2ZUZhY2V0RXJyKHBjdHh0LCBmbWluZXhjLCBiZm1heGV4YywgLTEsIDAsIDEpOworCSAgICB9CisJfQorICAgIH0KKyAgICBpZiAoZm1pbmluYykgeworCS8qCisJKiAibWluSW5jbHVzaXZlIDwgbWF4RXhjbHVzaXZlIgorCSovCisJaWYgKGZtYXhleGMpIHsKKwkgICAgcmVzID0geG1sU2NoZW1hQ29tcGFyZVZhbHVlcyhmbWluaW5jLT52YWwsIGZtYXhleGMtPnZhbCk7CisJICAgIGlmIChyZXMgPT0gLTIpCisJCWdvdG8gaW50ZXJuYWxfZXJyb3I7CisJICAgIGlmIChyZXMgIT0gLTEpIHsKKwkJeG1sU2NoZW1hRGVyaXZlRmFjZXRFcnIocGN0eHQsIGZtaW5pbmMsIGZtYXhleGMsIC0xLCAwLCAwKTsKKwkgICAgfQorCX0KKwkvKgorCSogIm1pbkV4Y2x1c2l2ZSB2YWxpZCByZXN0cmljdGlvbiIKKwkqLworCWlmIChiZm1pbmluYykgeworCSAgICAvKiBtaW5JbmNsdXNpdmUgPj0gQkFTRSBtaW5JbmNsdXNpdmUgKi8KKwkgICAgcmVzID0geG1sU2NoZW1hQ29tcGFyZVZhbHVlcyhmbWluaW5jLT52YWwsIGJmbWluaW5jLT52YWwpOworCSAgICBpZiAocmVzID09IC0yKQorCQlnb3RvIGludGVybmFsX2Vycm9yOworCSAgICBpZiAocmVzID09IC0xKSB7CisJCXhtbFNjaGVtYURlcml2ZUZhY2V0RXJyKHBjdHh0LCBmbWluaW5jLCBiZm1pbmluYywgMSwgMSwgMSk7CisJICAgIH0KKwkgICAgaWYgKChyZXMgIT0gMCkgJiYgKGJmbWluaW5jLT5maXhlZCkpIHsKKwkJRkFDRVRfUkVTVFJfRklYRURfRVJSKGZtaW5pbmMpCisJICAgIH0KKwl9CisJaWYgKGJmbWF4aW5jKSB7CisJICAgIC8qIG1pbkluY2x1c2l2ZSA8PSBCQVNFIG1heEluY2x1c2l2ZSAqLworCSAgICByZXMgPSB4bWxTY2hlbWFDb21wYXJlVmFsdWVzKGZtaW5pbmMtPnZhbCwgYmZtYXhpbmMtPnZhbCk7CisJICAgIGlmIChyZXMgPT0gLTIpCisJCWdvdG8gaW50ZXJuYWxfZXJyb3I7CisJICAgIGlmIChyZXMgPT0gMSkgeworCQl4bWxTY2hlbWFEZXJpdmVGYWNldEVycihwY3R4dCwgZm1pbmluYywgYmZtYXhpbmMsIC0xLCAxLCAxKTsKKwkgICAgfQorCX0KKwlpZiAoYmZtaW5leGMpIHsKKwkgICAgLyogbWluSW5jbHVzaXZlID4gQkFTRSBtaW5FeGNsdXNpdmUgKi8KKwkgICAgcmVzID0geG1sU2NoZW1hQ29tcGFyZVZhbHVlcyhmbWluaW5jLT52YWwsIGJmbWluZXhjLT52YWwpOworCSAgICBpZiAocmVzID09IC0yKQorCQlnb3RvIGludGVybmFsX2Vycm9yOworCSAgICBpZiAocmVzICE9IDEpCisJCXhtbFNjaGVtYURlcml2ZUZhY2V0RXJyKHBjdHh0LCBmbWluaW5jLCBiZm1pbmV4YywgMSwgMCwgMSk7CisJfQorCWlmIChiZm1heGV4YykgeworCSAgICAvKiBtaW5JbmNsdXNpdmUgPCBCQVNFIG1heEV4Y2x1c2l2ZSAqLworCSAgICByZXMgPSB4bWxTY2hlbWFDb21wYXJlVmFsdWVzKGZtaW5pbmMtPnZhbCwgYmZtYXhleGMtPnZhbCk7CisJICAgIGlmIChyZXMgPT0gLTIpCisJCWdvdG8gaW50ZXJuYWxfZXJyb3I7CisJICAgIGlmIChyZXMgIT0gLTEpCisJCXhtbFNjaGVtYURlcml2ZUZhY2V0RXJyKHBjdHh0LCBmbWluaW5jLCBiZm1heGV4YywgLTEsIDAsIDEpOworCX0KKyAgICB9CisgICAgaWYgKGZ0b3RkaWcgJiYgYmZ0b3RkaWcpIHsKKwkvKgorCSogU0NDICIgdG90YWxEaWdpdHMgdmFsaWQgcmVzdHJpY3Rpb24iCisJKiB0b3RhbERpZ2l0cyA8PSBCQVNFIHRvdGFsRGlnaXRzCisJKi8KKwlyZXMgPSB4bWxTY2hlbWFDb21wYXJlVmFsdWVzKGZ0b3RkaWctPnZhbCwgYmZ0b3RkaWctPnZhbCk7CisJaWYgKHJlcyA9PSAtMikKKwkgICAgZ290byBpbnRlcm5hbF9lcnJvcjsKKwlpZiAocmVzID09IDEpCisJICAgIHhtbFNjaGVtYURlcml2ZUZhY2V0RXJyKHBjdHh0LCBmdG90ZGlnLCBiZnRvdGRpZywKKwkgICAgLTEsIDEsIDEpOworCWlmICgocmVzICE9IDApICYmIChiZnRvdGRpZy0+Zml4ZWQpKSB7CisJICAgIEZBQ0VUX1JFU1RSX0ZJWEVEX0VSUihmdG90ZGlnKQorCX0KKyAgICB9CisgICAgaWYgKGZmcmFjZGlnICYmIGJmZnJhY2RpZykgeworCS8qCisJKiBTQ0MgICJmcmFjdGlvbkRpZ2l0cyB2YWxpZCByZXN0cmljdGlvbiIKKwkqIGZyYWN0aW9uRGlnaXRzIDw9IEJBU0UgZnJhY3Rpb25EaWdpdHMKKwkqLworCXJlcyA9IHhtbFNjaGVtYUNvbXBhcmVWYWx1ZXMoZmZyYWNkaWctPnZhbCwgYmZmcmFjZGlnLT52YWwpOworCWlmIChyZXMgPT0gLTIpCisJICAgIGdvdG8gaW50ZXJuYWxfZXJyb3I7CisJaWYgKHJlcyA9PSAxKQorCSAgICB4bWxTY2hlbWFEZXJpdmVGYWNldEVycihwY3R4dCwgZmZyYWNkaWcsIGJmZnJhY2RpZywKKwkgICAgLTEsIDEsIDEpOworCWlmICgocmVzICE9IDApICYmIChiZmZyYWNkaWctPmZpeGVkKSkgeworCSAgICBGQUNFVF9SRVNUUl9GSVhFRF9FUlIoZmZyYWNkaWcpCisJfQorICAgIH0KKyAgICAvKgorICAgICogU0NDICJmcmFjdGlvbkRpZ2l0cyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gdG90YWxEaWdpdHMiCisgICAgKi8KKyAgICBpZiAoISBmdG90ZGlnKQorCWZ0b3RkaWcgPSBiZnRvdGRpZzsKKyAgICBpZiAoISBmZnJhY2RpZykKKwlmZnJhY2RpZyA9IGJmZnJhY2RpZzsKKyAgICBpZiAoZnRvdGRpZyAmJiBmZnJhY2RpZykgeworCXJlcyA9IHhtbFNjaGVtYUNvbXBhcmVWYWx1ZXMoZmZyYWNkaWctPnZhbCwgZnRvdGRpZy0+dmFsKTsKKwlpZiAocmVzID09IC0yKQorCSAgICBnb3RvIGludGVybmFsX2Vycm9yOworCWlmIChyZXMgPT0gMSkKKwkgICAgeG1sU2NoZW1hRGVyaXZlRmFjZXRFcnIocGN0eHQsIGZmcmFjZGlnLCBmdG90ZGlnLAorCQktMSwgMSwgMCk7CisgICAgfQorICAgIC8qCisgICAgKiAqRW51bWVyYXRpb25zKiB3b24nIGJlIGFkZGVkIGhlcmUsIHNpbmNlIG9ubHkgdGhlIGZpcnN0IHNldAorICAgICogb2YgZW51bWVyYXRpb25zIGluIHRoZSBhbmNlc3Rvci1vci1zZWxmIGF4aXMgaXMgdXNlZAorICAgICogZm9yIHZhbGlkYXRpb24sIHBsdXMgd2UgbmVlZCB0byB1c2UgdGhlIGJhc2UgdHlwZSBvZiB0aG9zZQorICAgICogZW51bWVyYXRpb25zIGZvciB3aGl0ZXNwYWNlLgorICAgICoKKyAgICAqICpQYXR0ZXJucyo6IHdvbid0IGJlIGFkZCBoZXJlLCBzaW5jZSB0aGV5IGFyZSBPUmVkIGF0CisgICAgKiB0eXBlIGxldmVsIGFuZCBBTkRlZCBhdCBhbmNlc3RvciBsZXZlbC4gVGhpcyB3aWxsCisgICAgKiBoYXBwZWQgZHVyaW5nIHZhbGlkYXRpb24gYnkgd2Fsa2luZyB0aGUgYmFzZSBheGlzCisgICAgKiBvZiB0aGUgdHlwZS4KKyAgICAqLworICAgIGZvciAoY3VyID0gYmFzZS0+ZmFjZXRTZXQ7IGN1ciAhPSBOVUxMOyBjdXIgPSBjdXItPm5leHQpIHsKKwliZmFjZXQgPSBjdXItPmZhY2V0OworCS8qCisJKiBTcGVjaWFsIGhhbmRsaW5nIG9mIGVudW1lcmF0aW9ucyBhbmQgcGF0dGVybnMuCisJKiBUT0RPOiBobW0sIHRoZXkgc2hvdWxkIG5vdCBhcHBlYXIgaW4gdGhlIHNldCwgc28gcmVtb3ZlIHRoaXMuCisJKi8KKwlpZiAoKGJmYWNldC0+dHlwZSA9PSBYTUxfU0NIRU1BX0ZBQ0VUX1BBVFRFUk4pIHx8CisJICAgIChiZmFjZXQtPnR5cGUgPT0gWE1MX1NDSEVNQV9GQUNFVF9FTlVNRVJBVElPTikpCisJICAgIGNvbnRpbnVlOworCS8qCisJKiBTZWFyY2ggZm9yIGEgZHVwbGljYXRlIGZhY2V0IGluIHRoZSBjdXJyZW50IHR5cGUuCisJKi8KKwlsaW5rID0gdHlwZS0+ZmFjZXRTZXQ7CisJLyogZXJyID0gMDsgKi8KKwkvKiBmaXhlZEVyciA9IDA7ICovCisJd2hpbGUgKGxpbmsgIT0gTlVMTCkgeworCSAgICBmYWNldCA9IGxpbmstPmZhY2V0OworCSAgICBpZiAoZmFjZXQtPnR5cGUgPT0gYmZhY2V0LT50eXBlKSB7CisJCXN3aXRjaCAoZmFjZXQtPnR5cGUpIHsKKwkJICAgIGNhc2UgWE1MX1NDSEVNQV9GQUNFVF9XSElURVNQQUNFOgorCQkJLyoKKwkJCSogVGhlIHdoaXRlc3BhY2UgbXVzdCBiZSBzdHJvbmdlci4KKwkJCSovCisJCQlpZiAoZmFjZXQtPndoaXRlc3BhY2UgPCBiZmFjZXQtPndoaXRlc3BhY2UpIHsKKwkJCSAgICBGQUNFVF9SRVNUUl9FUlIoZmFjZXQsCisJCQkJIlRoZSAnd2hpdGVzcGFjZScgdmFsdWUgaGFzIHRvIGJlIGVxdWFsIHRvICIKKwkJCQkib3Igc3Ryb25nZXIgdGhhbiB0aGUgJ3doaXRlc3BhY2UnIHZhbHVlIG9mICIKKwkJCQkidGhlIGJhc2UgdHlwZSIpCisJCQl9CisJCQlpZiAoKGJmYWNldC0+Zml4ZWQpICYmCisJCQkgICAgKGZhY2V0LT53aGl0ZXNwYWNlICE9IGJmYWNldC0+d2hpdGVzcGFjZSkpIHsKKwkJCSAgICBGQUNFVF9SRVNUUl9GSVhFRF9FUlIoZmFjZXQpCisJCQl9CisJCQlicmVhazsKKwkJICAgIGRlZmF1bHQ6CisJCQlicmVhazsKKwkJfQorCQkvKiBEdXBsaWNhdGUgZm91bmQuICovCisJCWJyZWFrOworCSAgICB9CisJICAgIGxpbmsgPSBsaW5rLT5uZXh0OworCX0KKwkvKgorCSogSWYgbm8gZHVwbGljYXRlIHdhcyBmb3VuZDogYWRkIHRoZSBiYXNlIHR5cGVzJ3MgZmFjZXQKKwkqIHRvIHRoZSBzZXQuCisJKi8KKwlpZiAobGluayA9PSBOVUxMKSB7CisJICAgIGxpbmsgPSAoeG1sU2NoZW1hRmFjZXRMaW5rUHRyKQorCQl4bWxNYWxsb2Moc2l6ZW9mKHhtbFNjaGVtYUZhY2V0TGluaykpOworCSAgICBpZiAobGluayA9PSBOVUxMKSB7CisJCXhtbFNjaGVtYVBFcnJNZW1vcnkocGN0eHQsCisJCSAgICAiZGVyaXZpbmcgZmFjZXRzLCBjcmVhdGluZyBhIGZhY2V0IGxpbmsiLCBOVUxMKTsKKwkJcmV0dXJuICgtMSk7CisJICAgIH0KKwkgICAgbGluay0+ZmFjZXQgPSBjdXItPmZhY2V0OworCSAgICBsaW5rLT5uZXh0ID0gTlVMTDsKKwkgICAgaWYgKGxhc3QgPT0gTlVMTCkKKwkJdHlwZS0+ZmFjZXRTZXQgPSBsaW5rOworCSAgICBlbHNlCisJCWxhc3QtPm5leHQgPSBsaW5rOworCSAgICBsYXN0ID0gbGluazsKKwl9CisKKyAgICB9CisKKyAgICByZXR1cm4gKDApOworaW50ZXJuYWxfZXJyb3I6CisgICAgUEVSUk9SX0lOVCgieG1sU2NoZW1hRGVyaXZlQW5kVmFsaWRhdGVGYWNldHMiLAorCSJhbiBlcnJvciBvY2N1cmVkIik7CisgICAgcmV0dXJuICgtMSk7Cit9CisKK3N0YXRpYyBpbnQKK3htbFNjaGVtYUZpbmlzaE1lbWJlclR5cGVEZWZpbml0aW9uc1Byb3BlcnR5KHhtbFNjaGVtYVBhcnNlckN0eHRQdHIgcGN0eHQsCisJCQkJCSAgICAgeG1sU2NoZW1hVHlwZVB0ciB0eXBlKQoreworICAgIHhtbFNjaGVtYVR5cGVMaW5rUHRyIGxpbmssIGxhc3RMaW5rLCBwcmV2TGluaywgc3ViTGluaywgbmV3TGluazsKKyAgICAvKgorICAgICogVGhlIGFjdHVhbCB2YWx1ZSBpcyB0aGVuIGZvcm1lZCBieSByZXBsYWNpbmcgYW55IHVuaW9uIHR5cGUKKyAgICAqIGRlZmluaXRpb24gaW4gdGhlIGBleHBsaWNpdCBtZW1iZXJzYCB3aXRoIHRoZSBtZW1iZXJzIG9mIHRoZWlyCisgICAgKiB7bWVtYmVyIHR5cGUgZGVmaW5pdGlvbnN9LCBpbiBvcmRlci4KKyAgICAqCisgICAgKiBUT0RPOiBUaGVyZSdzIGEgYnVnIGVudHJ5IGF0CisgICAgKiAiaHR0cDovL2xpc3RzLnczLm9yZy9BcmNoaXZlcy9QdWJsaWMvd3d3LXhtbC1zY2hlbWEtY29tbWVudHMvMjAwNUp1bFNlcC8wMjg3Lmh0bWwiCisgICAgKiB3aGljaCBpbmRpY2F0ZXMgdGhhdCB3ZSdsbCBrZWVwIHRoZSB1bmlvbiB0eXBlcyB0aGUgZnV0dXJlLgorICAgICovCisgICAgbGluayA9IHR5cGUtPm1lbWJlclR5cGVzOworICAgIHdoaWxlIChsaW5rICE9IE5VTEwpIHsKKworCWlmIChXWFNfSVNfVFlQRV9OT1RfRklYRUQobGluay0+dHlwZSkpCisJICAgIHhtbFNjaGVtYVR5cGVGaXh1cChsaW5rLT50eXBlLCBBQ1RYVF9DQVNUIHBjdHh0KTsKKworCWlmIChXWFNfSVNfVU5JT04obGluay0+dHlwZSkpIHsKKwkgICAgc3ViTGluayA9IHhtbFNjaGVtYUdldFVuaW9uU2ltcGxlVHlwZU1lbWJlclR5cGVzKGxpbmstPnR5cGUpOworCSAgICBpZiAoc3ViTGluayAhPSBOVUxMKSB7CisJCWxpbmstPnR5cGUgPSBzdWJMaW5rLT50eXBlOworCQlpZiAoc3ViTGluay0+bmV4dCAhPSBOVUxMKSB7CisJCSAgICBsYXN0TGluayA9IGxpbmstPm5leHQ7CisJCSAgICBzdWJMaW5rID0gc3ViTGluay0+bmV4dDsKKwkJICAgIHByZXZMaW5rID0gbGluazsKKwkJICAgIHdoaWxlIChzdWJMaW5rICE9IE5VTEwpIHsKKwkJCW5ld0xpbmsgPSAoeG1sU2NoZW1hVHlwZUxpbmtQdHIpCisJCQkgICAgeG1sTWFsbG9jKHNpemVvZih4bWxTY2hlbWFUeXBlTGluaykpOworCQkJaWYgKG5ld0xpbmsgPT0gTlVMTCkgeworCQkJICAgIHhtbFNjaGVtYVBFcnJNZW1vcnkocGN0eHQsICJhbGxvY2F0aW5nIGEgdHlwZSBsaW5rIiwKKwkJCQlOVUxMKTsKKwkJCSAgICByZXR1cm4gKC0xKTsKKwkJCX0KKwkJCW5ld0xpbmstPnR5cGUgPSBzdWJMaW5rLT50eXBlOworCQkJcHJldkxpbmstPm5leHQgPSBuZXdMaW5rOworCQkJcHJldkxpbmsgPSBuZXdMaW5rOworCQkJbmV3TGluay0+bmV4dCA9IGxhc3RMaW5rOworCisJCQlzdWJMaW5rID0gc3ViTGluay0+bmV4dDsKKwkJICAgIH0KKwkJfQorCSAgICB9CisJfQorCWxpbmsgPSBsaW5rLT5uZXh0OworICAgIH0KKyAgICByZXR1cm4gKDApOworfQorCitzdGF0aWMgdm9pZAoreG1sU2NoZW1hVHlwZUZpeHVwT3B0aW1GYWNldHMoeG1sU2NoZW1hVHlwZVB0ciB0eXBlKQoreworICAgIGludCBoYXMgPSAwLCBuZWVkVmFsID0gMCwgbm9ybVZhbCA9IDA7CisKKyAgICBoYXMJPSAodHlwZS0+YmFzZVR5cGUtPmZsYWdzICYgWE1MX1NDSEVNQVNfVFlQRV9IQVNfRkFDRVRTKSA/IDEgOiAwOworICAgIGlmIChoYXMpIHsKKwluZWVkVmFsID0gKHR5cGUtPmJhc2VUeXBlLT5mbGFncyAmCisJICAgIFhNTF9TQ0hFTUFTX1RZUEVfRkFDRVRTTkVFRFZBTFVFKSA/IDEgOiAwOworCW5vcm1WYWwgPSAodHlwZS0+YmFzZVR5cGUtPmZsYWdzICYKKwkgICAgWE1MX1NDSEVNQVNfVFlQRV9OT1JNVkFMVUVORUVERUQpID8gMSA6IDA7CisgICAgfQorICAgIGlmICh0eXBlLT5mYWNldHMgIT0gTlVMTCkgeworCXhtbFNjaGVtYUZhY2V0UHRyIGZhYzsKKworCWZvciAoZmFjID0gdHlwZS0+ZmFjZXRzOyBmYWMgIT0gTlVMTDsgZmFjID0gZmFjLT5uZXh0KSB7CisJICAgIHN3aXRjaCAoZmFjLT50eXBlKSB7CisJCWNhc2UgWE1MX1NDSEVNQV9GQUNFVF9XSElURVNQQUNFOgorCQkgICAgYnJlYWs7CisJCWNhc2UgWE1MX1NDSEVNQV9GQUNFVF9QQVRURVJOOgorCQkgICAgbm9ybVZhbCA9IDE7CisJCSAgICBoYXMgPSAxOworCQkgICAgYnJlYWs7CisJCWNhc2UgWE1MX1NDSEVNQV9GQUNFVF9FTlVNRVJBVElPTjoKKwkJICAgIG5lZWRWYWwgPSAxOworCQkgICAgbm9ybVZhbCA9IDE7CisJCSAgICBoYXMgPSAxOworCQkgICAgYnJlYWs7CisJCWRlZmF1bHQ6CisJCSAgICBoYXMgPSAxOworCQkgICAgYnJlYWs7CisJICAgIH0KKwl9CisgICAgfQorICAgIGlmIChub3JtVmFsKQorCXR5cGUtPmZsYWdzIHw9IFhNTF9TQ0hFTUFTX1RZUEVfTk9STVZBTFVFTkVFREVEOworICAgIGlmIChuZWVkVmFsKQorCXR5cGUtPmZsYWdzIHw9IFhNTF9TQ0hFTUFTX1RZUEVfRkFDRVRTTkVFRFZBTFVFOworICAgIGlmIChoYXMpCisJdHlwZS0+ZmxhZ3MgfD0gWE1MX1NDSEVNQVNfVFlQRV9IQVNfRkFDRVRTOworCisgICAgaWYgKGhhcyAmJiAoISBuZWVkVmFsKSAmJiBXWFNfSVNfQVRPTUlDKHR5cGUpKSB7CisJeG1sU2NoZW1hVHlwZVB0ciBwcmltID0geG1sU2NoZW1hR2V0UHJpbWl0aXZlVHlwZSh0eXBlKTsKKwkvKgorCSogT1BUSU1JWkUgVkFMIFRPRE86IFNvbWUgZmFjZXRzIG5lZWQgYSBjb21wdXRlZCB2YWx1ZS4KKwkqLworCWlmICgocHJpbS0+YnVpbHRJblR5cGUgIT0gWE1MX1NDSEVNQVNfQU5ZU0lNUExFVFlQRSkgJiYKKwkgICAgKHByaW0tPmJ1aWx0SW5UeXBlICE9IFhNTF9TQ0hFTUFTX1NUUklORykpIHsKKwkgICAgdHlwZS0+ZmxhZ3MgfD0gWE1MX1NDSEVNQVNfVFlQRV9GQUNFVFNORUVEVkFMVUU7CisJfQorICAgIH0KK30KKworc3RhdGljIGludAoreG1sU2NoZW1hVHlwZUZpeHVwV2hpdGVzcGFjZSh4bWxTY2hlbWFUeXBlUHRyIHR5cGUpCit7CisKKworICAgIC8qCisgICAgKiBFdmFsdWF0ZSB0aGUgd2hpdGVzcGFjZS1mYWNldCB2YWx1ZS4KKyAgICAqLworICAgIGlmIChXWFNfSVNfTElTVCh0eXBlKSkgeworCXR5cGUtPmZsYWdzIHw9IFhNTF9TQ0hFTUFTX1RZUEVfV0hJVEVTUEFDRV9DT0xMQVBTRTsKKwlyZXR1cm4gKDApOworICAgIH0gZWxzZSBpZiAoV1hTX0lTX1VOSU9OKHR5cGUpKQorCXJldHVybiAoMCk7CisKKyAgICBpZiAodHlwZS0+ZmFjZXRTZXQgIT0gTlVMTCkgeworCXhtbFNjaGVtYUZhY2V0TGlua1B0ciBsaW47CisKKwlmb3IgKGxpbiA9IHR5cGUtPmZhY2V0U2V0OyBsaW4gIT0gTlVMTDsgbGluID0gbGluLT5uZXh0KSB7CisJICAgIGlmIChsaW4tPmZhY2V0LT50eXBlID09IFhNTF9TQ0hFTUFfRkFDRVRfV0hJVEVTUEFDRSkgeworCQlzd2l0Y2ggKGxpbi0+ZmFjZXQtPndoaXRlc3BhY2UpIHsKKwkJY2FzZSBYTUxfU0NIRU1BU19GQUNFVF9QUkVTRVJWRToKKwkJICAgIHR5cGUtPmZsYWdzIHw9IFhNTF9TQ0hFTUFTX1RZUEVfV0hJVEVTUEFDRV9QUkVTRVJWRTsKKwkJICAgIGJyZWFrOworCQljYXNlIFhNTF9TQ0hFTUFTX0ZBQ0VUX1JFUExBQ0U6CisJCSAgICB0eXBlLT5mbGFncyB8PSBYTUxfU0NIRU1BU19UWVBFX1dISVRFU1BBQ0VfUkVQTEFDRTsKKwkJICAgIGJyZWFrOworCQljYXNlIFhNTF9TQ0hFTUFTX0ZBQ0VUX0NPTExBUFNFOgorCQkgICAgdHlwZS0+ZmxhZ3MgfD0gWE1MX1NDSEVNQVNfVFlQRV9XSElURVNQQUNFX0NPTExBUFNFOworCQkgICAgYnJlYWs7CisJCWRlZmF1bHQ6CisJCSAgICByZXR1cm4gKC0xKTsKKwkJfQorCQlyZXR1cm4gKDApOworCSAgICB9CisJfQorICAgIH0KKyAgICAvKgorICAgICogRm9yIGFsbCBgYXRvbWljYCBkYXRhdHlwZXMgb3RoZXIgdGhhbiBzdHJpbmcgKGFuZCB0eXBlcyBgZGVyaXZlZGAKKyAgICAqIGJ5IGByZXN0cmljdGlvbmAgZnJvbSBpdCkgdGhlIHZhbHVlIG9mIHdoaXRlU3BhY2UgaXMgZml4ZWQgdG8KKyAgICAqIGNvbGxhcHNlCisgICAgKi8KKyAgICB7CisJeG1sU2NoZW1hVHlwZVB0ciBhbmM7CisKKwlmb3IgKGFuYyA9IHR5cGUtPmJhc2VUeXBlOyBhbmMgIT0gTlVMTCAmJgorCQlhbmMtPmJ1aWx0SW5UeXBlICE9IFhNTF9TQ0hFTUFTX0FOWVRZUEU7CisJCWFuYyA9IGFuYy0+YmFzZVR5cGUpIHsKKworCSAgICBpZiAoYW5jLT50eXBlID09IFhNTF9TQ0hFTUFfVFlQRV9CQVNJQykgeworCQlpZiAoYW5jLT5idWlsdEluVHlwZSA9PSBYTUxfU0NIRU1BU19OT1JNU1RSSU5HKSB7CisJCSAgICB0eXBlLT5mbGFncyB8PSBYTUxfU0NIRU1BU19UWVBFX1dISVRFU1BBQ0VfUkVQTEFDRTsKKworCQl9IGVsc2UgaWYgKChhbmMtPmJ1aWx0SW5UeXBlID09IFhNTF9TQ0hFTUFTX1NUUklORykgfHwKKwkJICAgIChhbmMtPmJ1aWx0SW5UeXBlID09IFhNTF9TQ0hFTUFTX0FOWVNJTVBMRVRZUEUpKSB7CisJCSAgICB0eXBlLT5mbGFncyB8PSBYTUxfU0NIRU1BU19UWVBFX1dISVRFU1BBQ0VfUFJFU0VSVkU7CisKKwkJfSBlbHNlCisJCSAgICB0eXBlLT5mbGFncyB8PSBYTUxfU0NIRU1BU19UWVBFX1dISVRFU1BBQ0VfQ09MTEFQU0U7CisJCWJyZWFrOworCSAgICB9CisJfQorICAgIH0KKyAgICByZXR1cm4gKDApOworfQorCitzdGF0aWMgaW50Cit4bWxTY2hlbWFGaXh1cFNpbXBsZVR5cGVTdGFnZU9uZSh4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIHBjdHh0LAorCQkJICB4bWxTY2hlbWFUeXBlUHRyIHR5cGUpCit7CisgICAgaWYgKHR5cGUtPnR5cGUgIT0gWE1MX1NDSEVNQV9UWVBFX1NJTVBMRSkKKwlyZXR1cm4oMCk7CisgICAgaWYgKCEgV1hTX0lTX1RZUEVfTk9UX0ZJWEVEXzEodHlwZSkpCisJcmV0dXJuKDApOworICAgIHR5cGUtPmZsYWdzIHw9IFhNTF9TQ0hFTUFTX1RZUEVfRklYVVBfMTsKKworICAgIGlmIChXWFNfSVNfTElTVCh0eXBlKSkgeworCS8qCisJKiBDb3JyZXNwb25kcyB0byA8c2ltcGxlVHlwZT48bGlzdD4uLi4KKwkqLworCWlmICh0eXBlLT5zdWJ0eXBlcyA9PSBOVUxMKSB7CisJICAgIC8qCisJICAgICogVGhpcyBvbmUgaXMgcmVhbGx5IG5lZWRlZCwgc28gZ2V0IG91dC4KKwkgICAgKi8KKwkgICAgUEVSUk9SX0lOVCgieG1sU2NoZW1hRml4dXBTaW1wbGVUeXBlU3RhZ2VPbmUiLAorCQkibGlzdCB0eXBlIGhhcyBubyBpdGVtLXR5cGUgYXNzaWduZWQiKTsKKwkgICAgcmV0dXJuKC0xKTsKKwl9CisgICAgfSBlbHNlIGlmIChXWFNfSVNfVU5JT04odHlwZSkpIHsKKwkvKgorCSogQ29ycmVzcG9uZHMgdG8gPHNpbXBsZVR5cGU+PHVuaW9uPi4uLgorCSovCisJaWYgKHR5cGUtPm1lbWJlclR5cGVzID09IE5VTEwpIHsKKwkgICAgLyoKKwkgICAgKiBUaGlzIG9uZSBpcyByZWFsbHkgbmVlZGVkLCBzbyBnZXQgb3V0LgorCSAgICAqLworCSAgICBQRVJST1JfSU5UKCJ4bWxTY2hlbWFGaXh1cFNpbXBsZVR5cGVTdGFnZU9uZSIsCisJCSJ1bmlvbiB0eXBlIGhhcyBubyBtZW1iZXItdHlwZXMgYXNzaWduZWQiKTsKKwkgICAgcmV0dXJuKC0xKTsKKwl9CisgICAgfSBlbHNlIHsKKwkvKgorCSogQ29ycmVzcG9uZHMgdG8gPHNpbXBsZVR5cGU+PHJlc3RyaWN0aW9uPi4uLgorCSovCisJaWYgKHR5cGUtPmJhc2VUeXBlID09IE5VTEwpIHsKKwkgICAgUEVSUk9SX0lOVCgieG1sU2NoZW1hRml4dXBTaW1wbGVUeXBlU3RhZ2VPbmUiLAorCQkidHlwZSBoYXMgbm8gYmFzZS10eXBlIGFzc2lnbmVkIik7CisJICAgIHJldHVybigtMSk7CisJfQorCWlmIChXWFNfSVNfVFlQRV9OT1RfRklYRURfMSh0eXBlLT5iYXNlVHlwZSkpCisJICAgIGlmICh4bWxTY2hlbWFGaXh1cFNpbXBsZVR5cGVTdGFnZU9uZShwY3R4dCwgdHlwZS0+YmFzZVR5cGUpID09IC0xKQorCQlyZXR1cm4oLTEpOworCS8qCisJKiBWYXJpZXR5CisJKiBJZiB0aGUgPHJlc3RyaWN0aW9uPiBhbHRlcm5hdGl2ZSBpcyBjaG9zZW4sIHRoZW4gdGhlCisJKiB7dmFyaWV0eX0gb2YgdGhlIHtiYXNlIHR5cGUgZGVmaW5pdGlvbn0uCisJKi8KKwlpZiAoV1hTX0lTX0FUT01JQyh0eXBlLT5iYXNlVHlwZSkpCisJICAgIHR5cGUtPmZsYWdzIHw9IFhNTF9TQ0hFTUFTX1RZUEVfVkFSSUVUWV9BVE9NSUM7CisJZWxzZSBpZiAoV1hTX0lTX0xJU1QodHlwZS0+YmFzZVR5cGUpKSB7CisJICAgIHR5cGUtPmZsYWdzIHw9IFhNTF9TQ0hFTUFTX1RZUEVfVkFSSUVUWV9MSVNUOworCSAgICAvKgorCSAgICAqIEluaGVyaXQgdGhlIGl0ZW1UeXBlLgorCSAgICAqLworCSAgICB0eXBlLT5zdWJ0eXBlcyA9IHR5cGUtPmJhc2VUeXBlLT5zdWJ0eXBlczsKKwl9IGVsc2UgaWYgKFdYU19JU19VTklPTih0eXBlLT5iYXNlVHlwZSkpIHsKKwkgICAgdHlwZS0+ZmxhZ3MgfD0gWE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX1VOSU9OOworCSAgICAvKgorCSAgICAqIE5PVEUgdGhhdCB3ZSB3b24ndCBhc3NpZ24gdGhlIG1lbWJlclR5cGVzIG9mIHRoZSBiYXNlLAorCSAgICAqIHNpbmNlIHRoaXMgd2lsbCBtYWtlIHRyb3VibGUgd2hlbiBmcmVlaW5nIHRoZW07IHdlIHdpbGwKKwkgICAgKiB1c2UgYSBsb29rdXAgZnVuY3Rpb24gdG8gYWNjZXNzIHRoZW0gaW5zdGVhZC4KKwkgICAgKi8KKwl9CisgICAgfQorICAgIHJldHVybigwKTsKK30KKworI2lmZGVmIERFQlVHX1RZUEUKK3N0YXRpYyB2b2lkCit4bWxTY2hlbWFEZWJ1Z0ZpeGVkVHlwZSh4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIHBjdHh0LAorCQkgICAgICAgeG1sU2NoZW1hVHlwZVB0ciB0eXBlKQoreworICAgIGlmICh0eXBlLT5ub2RlICE9IE5VTEwpIHsKKyAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAiVHlwZSBvZiAlcyA6ICVzOiVkIDoiLCBuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgdHlwZS0+bm9kZS0+ZG9jLT5VUkwsCisgICAgICAgICAgICAgICAgICAgICAgICB4bWxHZXRMaW5lTm8odHlwZS0+bm9kZSkpOworICAgIH0gZWxzZSB7CisgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCAiVHlwZSBvZiAlcyA6IiwgbmFtZSk7CisgICAgfQorICAgIGlmICgoV1hTX0lTX1NJTVBMRSh0eXBlKSkgfHwgKFdYU19JU19DT01QTEVYKHR5cGUpKSkgeworCXN3aXRjaCAodHlwZS0+Y29udGVudFR5cGUpIHsKKwkgICAgY2FzZSBYTUxfU0NIRU1BX0NPTlRFTlRfU0lNUExFOgorCQl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgInNpbXBsZVxuIik7CisJCWJyZWFrOworCSAgICBjYXNlIFhNTF9TQ0hFTUFfQ09OVEVOVF9FTEVNRU5UUzoKKwkJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICJlbGVtZW50c1xuIik7CisJCWJyZWFrOworCSAgICBjYXNlIFhNTF9TQ0hFTUFfQ09OVEVOVF9VTktOT1dOOgorCQl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgInVua25vd24gISEhXG4iKTsKKwkJYnJlYWs7CisJICAgIGNhc2UgWE1MX1NDSEVNQV9DT05URU5UX0VNUFRZOgorCQl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgImVtcHR5XG4iKTsKKwkJYnJlYWs7CisJICAgIGNhc2UgWE1MX1NDSEVNQV9DT05URU5UX01JWEVEOgorCQlpZiAoeG1sU2NoZW1hSXNQYXJ0aWNsZUVtcHRpYWJsZSgoeG1sU2NoZW1hUGFydGljbGVQdHIpCisJCSAgICB0eXBlLT5zdWJ0eXBlcykpCisJCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJCSJtaXhlZCBhcyBlbXB0aWFibGUgcGFydGljbGVcbiIpOworCQllbHNlCisJCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgIm1peGVkXG4iKTsKKwkJYnJlYWs7CisJCS8qIFJlbW92ZWQsIHNpbmNlIG5vdCB1c2VkLiAqLworCQkvKgorCQljYXNlIFhNTF9TQ0hFTUFfQ09OVEVOVF9NSVhFRF9PUl9FTEVNRU5UUzoKKwkJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICJtaXhlZCBvciBlbGVtc1xuIik7CisJCWJyZWFrOworCQkqLworCSAgICBjYXNlIFhNTF9TQ0hFTUFfQ09OVEVOVF9CQVNJQzoKKwkJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICJiYXNpY1xuIik7CisJCWJyZWFrOworCSAgICBkZWZhdWx0OgorCQl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJICAgICJub3QgcmVnaXN0ZXJlZCAhISFcbiIpOworCQlicmVhazsKKwl9CisgICAgfQorfQorI2VuZGlmCisKKy8qCisqIDMuMTQuNiBDb25zdHJhaW50cyBvbiBTaW1wbGUgVHlwZSBEZWZpbml0aW9uIFNjaGVtYSBDb21wb25lbnRzCisqLworc3RhdGljIGludAoreG1sU2NoZW1hRml4dXBTaW1wbGVUeXBlU3RhZ2VUd28oeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBwY3R4dCwKKwkJCQkgeG1sU2NoZW1hVHlwZVB0ciB0eXBlKQoreworICAgIGludCByZXMsIG9sZGVycnMgPSBwY3R4dC0+bmJlcnJvcnM7CisKKyAgICBpZiAodHlwZS0+dHlwZSAhPSBYTUxfU0NIRU1BX1RZUEVfU0lNUExFKQorCXJldHVybigtMSk7CisKKyAgICBpZiAoISBXWFNfSVNfVFlQRV9OT1RfRklYRUQodHlwZSkpCisJcmV0dXJuKDApOworCisgICAgdHlwZS0+ZmxhZ3MgfD0gWE1MX1NDSEVNQVNfVFlQRV9JTlRFUk5BTF9SRVNPTFZFRDsKKyAgICB0eXBlLT5jb250ZW50VHlwZSA9IFhNTF9TQ0hFTUFfQ09OVEVOVF9TSU1QTEU7CisKKyAgICBpZiAodHlwZS0+YmFzZVR5cGUgPT0gTlVMTCkgeworCVBFUlJPUl9JTlQoInhtbFNjaGVtYUZpeHVwU2ltcGxlVHlwZVN0YWdlVHdvIiwKKwkgICAgIm1pc3NpbmcgYmFzZVR5cGUiKTsKKwlnb3RvIGV4aXRfZmFpbHVyZTsKKyAgICB9CisgICAgaWYgKFdYU19JU19UWVBFX05PVF9GSVhFRCh0eXBlLT5iYXNlVHlwZSkpCisJeG1sU2NoZW1hVHlwZUZpeHVwKHR5cGUtPmJhc2VUeXBlLCBBQ1RYVF9DQVNUIHBjdHh0KTsKKyAgICAvKgorICAgICogSWYgYSBtZW1iZXIgdHlwZSBvZiBhIHVuaW9uIGlzIGEgdW5pb24gaXRzZWxmLCB3ZSBuZWVkIHRvIHN1YnN0aXR1dGUKKyAgICAqIHRoYXQgbWVtYmVyIHR5cGUgZm9yIGl0cyBtZW1iZXIgdHlwZXMuCisgICAgKiBOT1RFIHRoYXQgdGhpcyBtaWdodCBjaGFuZ2UgaW4gV1hTIDEuMTsgaS5lLiB3ZSB3aWxsIGtlZXAgdGhlIHVuaW9uCisgICAgKiB0eXBlcyBpbiBXWFMgMS4xLgorICAgICovCisgICAgaWYgKCh0eXBlLT5tZW1iZXJUeXBlcyAhPSBOVUxMKSAmJgorCSh4bWxTY2hlbWFGaW5pc2hNZW1iZXJUeXBlRGVmaW5pdGlvbnNQcm9wZXJ0eShwY3R4dCwgdHlwZSkgPT0gLTEpKQorCXJldHVybigtMSk7CisgICAgLyoKKyAgICAqIFNQRUMgc3JjLXNpbXBsZS10eXBlIDEKKyAgICAqICJUaGUgY29ycmVzcG9uZGluZyBzaW1wbGUgdHlwZSBkZWZpbml0aW9uLCBpZiBhbnksIG11c3Qgc2F0aXNmeQorICAgICogdGhlIGNvbmRpdGlvbnMgc2V0IG91dCBpbiBDb25zdHJhaW50cyBvbiBTaW1wbGUgVHlwZSBEZWZpbml0aW9uCisgICAgKiBTY2hlbWEgQ29tcG9uZW50cyAoJDMuMTQuNikuIgorICAgICovCisgICAgLyoKKyAgICAqIFNjaGVtYSBDb21wb25lbnQgQ29uc3RyYWludDogU2ltcGxlIFR5cGUgRGVmaW5pdGlvbiBQcm9wZXJ0aWVzIENvcnJlY3QKKyAgICAqIChzdC1wcm9wcy1jb3JyZWN0KQorICAgICovCisgICAgcmVzID0geG1sU2NoZW1hQ2hlY2tTVFByb3BzQ29ycmVjdChwY3R4dCwgdHlwZSk7CisgICAgSEZBSUxVUkUgSEVSUk9SCisgICAgLyoKKyAgICAqIFNjaGVtYSBDb21wb25lbnQgQ29uc3RyYWludDogRGVyaXZhdGlvbiBWYWxpZCAoUmVzdHJpY3Rpb24sIFNpbXBsZSkKKyAgICAqIChjb3Mtc3QtcmVzdHJpY3RzKQorICAgICovCisgICAgcmVzID0geG1sU2NoZW1hQ2hlY2tDT1NTVFJlc3RyaWN0cyhwY3R4dCwgdHlwZSk7CisgICAgSEZBSUxVUkUgSEVSUk9SCisgICAgLyoKKyAgICAqIFRPRE86IFJlbW92ZWQgdGhlIGVycm9yIHJlcG9ydCwgc2luY2UgaXQgZ290IGFubm95aW5nIHRvIGdldCBhbgorICAgICogZXh0cmEgZXJyb3IgcmVwb3J0LCBpZiBhbnl0aGluZyBmYWlsZWQgdW50aWwgbm93LgorICAgICogRW5hYmxlIHRoaXMgaWYgbmVlZGVkLgorICAgICoKKyAgICAqIHhtbFNjaGVtYVBFcnIoY3R4dCwgdHlwZS0+bm9kZSwKKyAgICAqICAgIFhNTF9TQ0hFTUFQX1NSQ19TSU1QTEVfVFlQRV8xLAorICAgICogICAgIlNpbXBsZSB0eXBlICclcycgZG9lcyBub3Qgc2F0aXNmeSB0aGUgY29uc3RyYWludHMgIgorICAgICogICAgIm9uIHNpbXBsZSB0eXBlIGRlZmluaXRpb25zLlxuIiwKKyAgICAqICAgIHR5cGUtPm5hbWUsIE5VTEwpOworICAgICovCisgICAgLyoKKyAgICAqIFNjaGVtYSBDb21wb25lbnQgQ29uc3RyYWludDogU2ltcGxlIFR5cGUgUmVzdHJpY3Rpb24gKEZhY2V0cykKKyAgICAqIChzdC1yZXN0cmljdC1mYWNldHMpCisgICAgKi8KKyAgICByZXMgPSB4bWxTY2hlbWFDaGVja0ZhY2V0VmFsdWVzKHR5cGUsIHBjdHh0KTsKKyAgICBIRkFJTFVSRSBIRVJST1IKKyAgICBpZiAoKHR5cGUtPmZhY2V0U2V0ICE9IE5VTEwpIHx8CisJKHR5cGUtPmJhc2VUeXBlLT5mYWNldFNldCAhPSBOVUxMKSkgeworCXJlcyA9IHhtbFNjaGVtYURlcml2ZUFuZFZhbGlkYXRlRmFjZXRzKHBjdHh0LCB0eXBlKTsKKwlIRkFJTFVSRSBIRVJST1IKKyAgICB9CisgICAgLyoKKyAgICAqIFdoaXRlc3BhY2UgdmFsdWUuCisgICAgKi8KKyAgICByZXMgPSB4bWxTY2hlbWFUeXBlRml4dXBXaGl0ZXNwYWNlKHR5cGUpOworICAgIEhGQUlMVVJFIEhFUlJPUgorICAgIHhtbFNjaGVtYVR5cGVGaXh1cE9wdGltRmFjZXRzKHR5cGUpOworCitleGl0X2Vycm9yOgorI2lmZGVmIERFQlVHX1RZUEUKKyAgICB4bWxTY2hlbWFEZWJ1Z0ZpeGVkVHlwZShwY3R4dCwgdHlwZSk7CisjZW5kaWYKKyAgICBpZiAob2xkZXJycyAhPSBwY3R4dC0+bmJlcnJvcnMpCisJcmV0dXJuKHBjdHh0LT5lcnIpOworICAgIHJldHVybigwKTsKKworZXhpdF9mYWlsdXJlOgorI2lmZGVmIERFQlVHX1RZUEUKKyAgICB4bWxTY2hlbWFEZWJ1Z0ZpeGVkVHlwZShwY3R4dCwgdHlwZSk7CisjZW5kaWYKKyAgICByZXR1cm4oLTEpOworfQorCitzdGF0aWMgaW50Cit4bWxTY2hlbWFGaXh1cENvbXBsZXhUeXBlKHhtbFNjaGVtYVBhcnNlckN0eHRQdHIgcGN0eHQsCisJCQkgIHhtbFNjaGVtYVR5cGVQdHIgdHlwZSkKK3sKKyAgICBpbnQgcmVzID0gMCwgb2xkZXJycyA9IHBjdHh0LT5uYmVycm9yczsKKyAgICB4bWxTY2hlbWFUeXBlUHRyIGJhc2VUeXBlID0gdHlwZS0+YmFzZVR5cGU7CisKKyAgICBpZiAoISBXWFNfSVNfVFlQRV9OT1RfRklYRUQodHlwZSkpCisJcmV0dXJuKDApOworICAgIHR5cGUtPmZsYWdzIHw9IFhNTF9TQ0hFTUFTX1RZUEVfSU5URVJOQUxfUkVTT0xWRUQ7CisgICAgaWYgKGJhc2VUeXBlID09IE5VTEwpIHsKKwlQRVJST1JfSU5UKCJ4bWxTY2hlbWFGaXh1cENvbXBsZXhUeXBlIiwKKwkgICAgIm1pc3NpbmcgYmFzZVR5cGUiKTsKKwlnb3RvIGV4aXRfZmFpbHVyZTsKKyAgICB9CisgICAgLyoKKyAgICAqIEZpeHVwIHRoZSBiYXNlIHR5cGUuCisgICAgKi8KKyAgICBpZiAoV1hTX0lTX1RZUEVfTk9UX0ZJWEVEKGJhc2VUeXBlKSkKKwl4bWxTY2hlbWFUeXBlRml4dXAoYmFzZVR5cGUsIEFDVFhUX0NBU1QgcGN0eHQpOworICAgIGlmIChiYXNlVHlwZS0+ZmxhZ3MgJiBYTUxfU0NIRU1BU19UWVBFX0lOVEVSTkFMX0lOVkFMSUQpIHsKKwkvKgorCSogU2tpcCBmaXh1cCBpZiB0aGUgYmFzZSB0eXBlIGlzIGludmFsaWQuCisJKiBUT0RPOiBHZW5lcmF0ZSBhIHdhcm5pbmchCisJKi8KKwlyZXR1cm4oMCk7CisgICAgfQorICAgIC8qCisgICAgKiBUaGlzIGJhc2ljYWxseSBjaGVja3MgaWYgdGhlIGJhc2UgdHlwZSBjYW4gYmUgZGVyaXZlZC4KKyAgICAqLworICAgIHJlcyA9IHhtbFNjaGVtYUNoZWNrU1JDQ1QocGN0eHQsIHR5cGUpOworICAgIEhGQUlMVVJFIEhFUlJPUgorICAgIC8qCisgICAgKiBGaXh1cCB0aGUgY29udGVudCB0eXBlLgorICAgICovCisgICAgaWYgKHR5cGUtPmNvbnRlbnRUeXBlID09IFhNTF9TQ0hFTUFfQ09OVEVOVF9TSU1QTEUpIHsKKwkvKgorCSogQ29ycmVzcG9uZHMgdG8gPGNvbXBsZXhUeXBlPjxzaW1wbGVDb250ZW50Pi4uLgorCSovCisJaWYgKChXWFNfSVNfQ09NUExFWChiYXNlVHlwZSkpICYmCisJICAgIChiYXNlVHlwZS0+Y29udGVudFR5cGVEZWYgIT0gTlVMTCkgJiYKKwkgICAgKFdYU19JU19SRVNUUklDVElPTih0eXBlKSkpIHsKKwkgICAgeG1sU2NoZW1hVHlwZVB0ciBjb250ZW50QmFzZSwgY29udGVudDsKKyNpZmRlZiBFTkFCTEVfTkFNRURfTE9DQUxTCisJICAgIGNoYXIgYnVmWzMwXTsKKwkgICAgY29uc3QgeG1sQ2hhciAqdG1wbmFtZTsKKyNlbmRpZgorCSAgICAvKgorCSAgICAqIFNQRUMgKDEpIElmIDxyZXN0cmljdGlvbj4gKyBiYXNlIHR5cGUgaXMgPGNvbXBsZXhUeXBlPiwKKwkgICAgKiAid2hvc2Ugb3duIHtjb250ZW50IHR5cGV9IGlzIGEgc2ltcGxlIHR5cGUuLi4iCisJICAgICovCisJICAgIGlmICh0eXBlLT5jb250ZW50VHlwZURlZiAhPSBOVUxMKSB7CisJCS8qCisJCSogU1BFQyAoMS4xKSAidGhlIHNpbXBsZSB0eXBlIGRlZmluaXRpb24gY29ycmVzcG9uZGluZyB0byB0aGUKKwkJKiA8c2ltcGxlVHlwZT4gYW1vbmcgdGhlIFtjaGlsZHJlbl0gb2YgPHJlc3RyaWN0aW9uPiBpZiB0aGVyZQorCQkqIGlzIG9uZTsiCisJCSogTm90ZSB0aGF0IHRoaXMgIjxzaW1wbGVUeXBlPiBhbW9uZyB0aGUgW2NoaWxkcmVuXSIgd2FzIHB1dAorCQkqIGludG8gLT5jb250ZW50VHlwZURlZiBkdXJpbmcgcGFyc2luZy4KKwkJKi8KKwkJY29udGVudEJhc2UgPSB0eXBlLT5jb250ZW50VHlwZURlZjsKKwkJdHlwZS0+Y29udGVudFR5cGVEZWYgPSBOVUxMOworCSAgICB9IGVsc2UgeworCQkvKgorCQkqICgxLjIpICIuLi5vdGhlcndpc2UgKDxyZXN0cmljdGlvbj4gaGFzIG5vIDxzaW1wbGVUeXBlPgorCQkqIGFtb25nIGl0cyBbY2hpbGRyZW5dKSwgdGhlIHNpbXBsZSB0eXBlIGRlZmluaXRpb24gd2hpY2gKKwkJKiBpcyB0aGUge2NvbnRlbnQgdHlwZX0gb2YgdGhlIC4uLiBiYXNlIHR5cGUuIgorCQkqLworCQljb250ZW50QmFzZSA9IGJhc2VUeXBlLT5jb250ZW50VHlwZURlZjsKKwkgICAgfQorCSAgICAvKgorCSAgICAqIFNQRUMKKwkgICAgKiAiLi4uIGEgc2ltcGxlIHR5cGUgZGVmaW5pdGlvbiB3aGljaCByZXN0cmljdHMgdGhlIHNpbXBsZQorCSAgICAqIHR5cGUgZGVmaW5pdGlvbiBpZGVudGlmaWVkIGluIGNsYXVzZSAxLjEgb3IgY2xhdXNlIDEuMgorCSAgICAqIHdpdGggYSBzZXQgb2YgZmFjZXQgY29tcG9uZW50cyIKKwkgICAgKgorCSAgICAqIENyZWF0ZSB0aGUgYW5vbnltb3VzIHNpbXBsZSB0eXBlLCB3aGljaCB3aWxsIGJlIHRoZSBjb250ZW50CisJICAgICogdHlwZSBvZiB0aGUgY29tcGxleCB0eXBlLgorCSAgICAqLworI2lmZGVmIEVOQUJMRV9OQU1FRF9MT0NBTFMKKwkgICAgc25wcmludGYoYnVmLCAyOSwgIiNzY1NUJWQiLCArKyhwY3R4dC0+Y291bnRlcikpOworCSAgICB0bXBuYW1lID0geG1sRGljdExvb2t1cChwY3R4dC0+ZGljdCwgQkFEX0NBU1QgYnVmLCAtMSk7CisJICAgIGNvbnRlbnQgPSB4bWxTY2hlbWFBZGRUeXBlKHBjdHh0LCBwY3R4dC0+c2NoZW1hLAorCQlYTUxfU0NIRU1BX1RZUEVfU0lNUExFLCB0bXBuYW1lLCB0eXBlLT50YXJnZXROYW1lc3BhY2UsCisJCXR5cGUtPm5vZGUsIDApOworI2Vsc2UKKwkgICAgY29udGVudCA9IHhtbFNjaGVtYUFkZFR5cGUocGN0eHQsIHBjdHh0LT5zY2hlbWEsCisJCVhNTF9TQ0hFTUFfVFlQRV9TSU1QTEUsIE5VTEwsIHR5cGUtPnRhcmdldE5hbWVzcGFjZSwKKwkJdHlwZS0+bm9kZSwgMCk7CisjZW5kaWYKKwkgICAgaWYgKGNvbnRlbnQgPT0gTlVMTCkKKwkJZ290byBleGl0X2ZhaWx1cmU7CisJICAgIC8qCisJICAgICogV2Ugd2lsbCB1c2UgdGhlIHNhbWUgbm9kZSBhcyBmb3IgdGhlIDxjb21wbGV4VHlwZT4KKwkgICAgKiB0byBoYXZlIGl0IHNvbWVob3cgYW5jaG9yZWQgaW4gdGhlIHNjaGVtYSBkb2MuCisJICAgICovCisJICAgIGNvbnRlbnQtPnR5cGUgPSBYTUxfU0NIRU1BX1RZUEVfU0lNUExFOworCSAgICBjb250ZW50LT5iYXNlVHlwZSA9IGNvbnRlbnRCYXNlOworCSAgICAvKgorCSAgICAqIE1vdmUgdGhlIGZhY2V0cywgcHJldmlvdXNseSBhbmNob3JlZCBvbiB0aGUKKwkgICAgKiBjb21wbGV4VHlwZSBkdXJpbmcgcGFyc2luZy4KKwkgICAgKi8KKwkgICAgY29udGVudC0+ZmFjZXRzID0gdHlwZS0+ZmFjZXRzOworCSAgICB0eXBlLT5mYWNldHMgPSBOVUxMOworCSAgICBjb250ZW50LT5mYWNldFNldCA9IHR5cGUtPmZhY2V0U2V0OworCSAgICB0eXBlLT5mYWNldFNldCA9IE5VTEw7CisKKwkgICAgdHlwZS0+Y29udGVudFR5cGVEZWYgPSBjb250ZW50OworCSAgICBpZiAoV1hTX0lTX1RZUEVfTk9UX0ZJWEVEKGNvbnRlbnRCYXNlKSkKKwkJeG1sU2NoZW1hVHlwZUZpeHVwKGNvbnRlbnRCYXNlLCBBQ1RYVF9DQVNUIHBjdHh0KTsKKwkgICAgLyoKKwkgICAgKiBGaXh1cCB0aGUgbmV3bHkgY3JlYXRlZCB0eXBlLiBXZSBkb24ndCBuZWVkIHRvIGNoZWNrCisJICAgICogZm9yIGNpcmN1bGFyaXR5IGhlcmUuCisJICAgICovCisJICAgIHJlcyA9IHhtbFNjaGVtYUZpeHVwU2ltcGxlVHlwZVN0YWdlT25lKHBjdHh0LCBjb250ZW50KTsKKwkgICAgSEZBSUxVUkUgSEVSUk9SCisJICAgIHJlcyA9IHhtbFNjaGVtYUZpeHVwU2ltcGxlVHlwZVN0YWdlVHdvKHBjdHh0LCBjb250ZW50KTsKKwkgICAgSEZBSUxVUkUgSEVSUk9SCisKKwl9IGVsc2UgaWYgKChXWFNfSVNfQ09NUExFWChiYXNlVHlwZSkpICYmCisJICAgIChiYXNlVHlwZS0+Y29udGVudFR5cGUgPT0gWE1MX1NDSEVNQV9DT05URU5UX01JWEVEKSAmJgorCSAgICAoV1hTX0lTX1JFU1RSSUNUSU9OKHR5cGUpKSkgeworCSAgICAvKgorCSAgICAqIFNQRUMgKDIpIElmIDxyZXN0cmljdGlvbj4gKyBiYXNlIGlzIGEgbWl4ZWQgPGNvbXBsZXhUeXBlPiB3aXRoCisJICAgICogYW4gZW1wdGlhYmxlIHBhcnRpY2xlLCB0aGVuIGEgc2ltcGxlIHR5cGUgZGVmaW5pdGlvbiB3aGljaAorCSAgICAqIHJlc3RyaWN0cyB0aGUgPHJlc3RyaWN0aW9uPidzIDxzaW1wbGVUeXBlPiBjaGlsZC4KKwkgICAgKi8KKwkgICAgaWYgKCh0eXBlLT5jb250ZW50VHlwZURlZiA9PSBOVUxMKSB8fAorCQkodHlwZS0+Y29udGVudFR5cGVEZWYtPmJhc2VUeXBlID09IE5VTEwpKSB7CisJCS8qCisJCSogVE9ETzogQ2hlY2sgaWYgdGhpcyBldmVyIGhhcHBlbnMuCisJCSovCisJCXhtbFNjaGVtYVBDdXN0b21FcnIocGN0eHQsCisJCSAgICBYTUxfU0NIRU1BUF9JTlRFUk5BTCwKKwkJICAgIFdYU19CQVNJQ19DQVNUIHR5cGUsIE5VTEwsCisJCSAgICAiSW50ZXJuYWwgZXJyb3I6IHhtbFNjaGVtYVR5cGVGaXh1cCwgIgorCQkgICAgImNvbXBsZXggdHlwZSAnJXMnOiB0aGUgPHNpbXBsZUNvbnRlbnQ+PHJlc3RyaWN0aW9uPiAiCisJCSAgICAiaXMgbWlzc2luZyBhIDxzaW1wbGVUeXBlPiBjaGlsZCwgYnV0IHdhcyBub3QgY2F0Y2hlZCAiCisJCSAgICAiYnkgeG1sU2NoZW1hQ2hlY2tTUkNDVCgpIiwgdHlwZS0+bmFtZSk7CisJCWdvdG8gZXhpdF9mYWlsdXJlOworCSAgICB9CisJfSBlbHNlIGlmICgoV1hTX0lTX0NPTVBMRVgoYmFzZVR5cGUpKSAmJiBXWFNfSVNfRVhURU5TSU9OKHR5cGUpKSB7CisJICAgIC8qCisJICAgICogU1BFQyAoMykgSWYgPGV4dGVuc2lvbj4gKyBiYXNlIGlzIDxjb21wbGV4VHlwZT4gd2l0aAorCSAgICAqIDxzaW1wbGVUeXBlPiBjb250ZW50LCAiLi4udGhlbiB0aGUge2NvbnRlbnQgdHlwZX0gb2YgdGhhdAorCSAgICAqIGNvbXBsZXggdHlwZSBkZWZpbml0aW9uIgorCSAgICAqLworCSAgICBpZiAoYmFzZVR5cGUtPmNvbnRlbnRUeXBlRGVmID09IE5VTEwpIHsKKwkJLyoKKwkJKiBUT0RPOiBDaGVjayBpZiB0aGlzIGV2ZXIgaGFwcGVucy4geG1sU2NoZW1hQ2hlY2tTUkNDVAorCQkqIHNob3VsZCBoYXZlIGNhdGNoZWQgdGhpcyBhbHJlYWR5LgorCQkqLworCQl4bWxTY2hlbWFQQ3VzdG9tRXJyKHBjdHh0LAorCQkgICAgWE1MX1NDSEVNQVBfSU5URVJOQUwsCisJCSAgICBXWFNfQkFTSUNfQ0FTVCB0eXBlLCBOVUxMLAorCQkgICAgIkludGVybmFsIGVycm9yOiB4bWxTY2hlbWFUeXBlRml4dXAsICIKKwkJICAgICJjb21wbGV4IHR5cGUgJyVzJzogdGhlIDxleHRlbnNpb24+ZWQgYmFzZSB0eXBlIGlzICIKKwkJICAgICJhIGNvbXBsZXggdHlwZSB3aXRoIG5vIHNpbXBsZSBjb250ZW50IHR5cGUiLAorCQkgICAgdHlwZS0+bmFtZSk7CisJCWdvdG8gZXhpdF9mYWlsdXJlOworCSAgICB9CisJICAgIHR5cGUtPmNvbnRlbnRUeXBlRGVmID0gYmFzZVR5cGUtPmNvbnRlbnRUeXBlRGVmOworCX0gZWxzZSBpZiAoKFdYU19JU19TSU1QTEUoYmFzZVR5cGUpKSAmJiBXWFNfSVNfRVhURU5TSU9OKHR5cGUpKSB7CisJICAgIC8qCisJICAgICogU1BFQyAoNCkgPGV4dGVuc2lvbj4gKyBiYXNlIGlzIDxzaW1wbGVUeXBlPgorCSAgICAqICIuLi4gdGhlbiB0aGF0IHNpbXBsZSB0eXBlIGRlZmluaXRpb24iCisJICAgICovCisJICAgIHR5cGUtPmNvbnRlbnRUeXBlRGVmID0gYmFzZVR5cGU7CisJfSBlbHNlIHsKKwkgICAgLyoKKwkgICAgKiBUT0RPOiBDaGVjayBpZiB0aGlzIGV2ZXIgaGFwcGVucy4KKwkgICAgKi8KKwkgICAgeG1sU2NoZW1hUEN1c3RvbUVycihwY3R4dCwKKwkJWE1MX1NDSEVNQVBfSU5URVJOQUwsCisJCVdYU19CQVNJQ19DQVNUIHR5cGUsIE5VTEwsCisJCSJJbnRlcm5hbCBlcnJvcjogeG1sU2NoZW1hVHlwZUZpeHVwLCAiCisJCSJjb21wbGV4IHR5cGUgJyVzJyB3aXRoIDxzaW1wbGVDb250ZW50PjogdW5oYW5kbGVkICIKKwkJImRlcml2YXRpb24gY2FzZSIsIHR5cGUtPm5hbWUpOworCSAgICBnb3RvIGV4aXRfZmFpbHVyZTsKKwl9CisgICAgfSBlbHNlIHsKKwlpbnQgZHVtbXlTZXF1ZW5jZSA9IDA7CisJeG1sU2NoZW1hUGFydGljbGVQdHIgcGFydGljbGUgPQorCSAgICAoeG1sU2NoZW1hUGFydGljbGVQdHIpIHR5cGUtPnN1YnR5cGVzOworCS8qCisJKiBDb3JyZXNwb25kcyB0byA8Y29tcGxleFR5cGU+PGNvbXBsZXhDb250ZW50Pi4uLgorCSoKKwkqIE5PVEUgdGhhdCB0aGUgZWZmZWN0aXZlIG1peGVkIHdhcyBhbHJlYWR5IHNldCBkdXJpbmcgcGFyc2luZyBvZgorCSogPGNvbXBsZXhUeXBlPiBhbmQgPGNvbXBsZXhDb250ZW50PjsgaXRzIGZsYWcgdmFsdWUgaXMKKwkqIFhNTF9TQ0hFTUFTX1RZUEVfTUlYRUQuCisJKgorCSogQ29tcHV0ZSB0aGUgImVmZmVjdGl2ZSBjb250ZW50IjoKKwkqICgyLjEuMSkgKyAoMi4xLjIpICsgKDIuMS4zKQorCSovCisJaWYgKChwYXJ0aWNsZSA9PSBOVUxMKSB8fAorCSAgICAoKHBhcnRpY2xlLT50eXBlID09IFhNTF9TQ0hFTUFfVFlQRV9QQVJUSUNMRSkgJiYKKwkgICAgKChwYXJ0aWNsZS0+Y2hpbGRyZW4tPnR5cGUgPT0gWE1MX1NDSEVNQV9UWVBFX0FMTCkgfHwKKwkgICAgKHBhcnRpY2xlLT5jaGlsZHJlbi0+dHlwZSA9PSBYTUxfU0NIRU1BX1RZUEVfU0VRVUVOQ0UpIHx8CisJICAgICgocGFydGljbGUtPmNoaWxkcmVuLT50eXBlID09IFhNTF9TQ0hFTUFfVFlQRV9DSE9JQ0UpICYmCisJICAgIChwYXJ0aWNsZS0+bWluT2NjdXJzID09IDApKSkgJiYKKwkgICAgKCAoKHhtbFNjaGVtYVRyZWVJdGVtUHRyKSBwYXJ0aWNsZS0+Y2hpbGRyZW4pLT5jaGlsZHJlbiA9PSBOVUxMKSkpIHsKKwkgICAgaWYgKHR5cGUtPmZsYWdzICYgWE1MX1NDSEVNQVNfVFlQRV9NSVhFRCkgeworCQkvKgorCQkqIFNQRUMgKDIuMS40KSAiSWYgdGhlIGBlZmZlY3RpdmUgbWl4ZWRgIGlzIHRydWUsIHRoZW4KKwkJKiBhIHBhcnRpY2xlIHdob3NlIHByb3BlcnRpZXMgYXJlIGFzIGZvbGxvd3M6Li4uIgorCQkqCisJCSogRW1wdHkgc2VxdWVuY2UgbW9kZWwgZ3JvdXAgd2l0aAorCQkqIG1pbk9jY3Vycy9tYXhPY2N1cnMgPSAxIChpLmUuIGEgInBhcnRpY2xlIGVtcHRpYWJsZSIpLgorCQkqIE5PVEUgdGhhdCB3ZSBzaWxsIGFzc2lnbiBpdCB0aGUgPGNvbXBsZXhUeXBlPiBub2RlIHRvCisJCSogc29tZWhvdyBhbmNob3IgaXQgaW4gdGhlIGRvYy4KKwkJKi8KKwkJaWYgKChwYXJ0aWNsZSA9PSBOVUxMKSB8fAorCQkgICAgKHBhcnRpY2xlLT5jaGlsZHJlbi0+dHlwZSAhPSBYTUxfU0NIRU1BX1RZUEVfU0VRVUVOQ0UpKSB7CisJCSAgICAvKgorCQkgICAgKiBDcmVhdGUgdGhlIHBhcnRpY2xlLgorCQkgICAgKi8KKwkJICAgIHBhcnRpY2xlID0geG1sU2NoZW1hQWRkUGFydGljbGUocGN0eHQsCisJCQl0eXBlLT5ub2RlLCAxLCAxKTsKKwkJICAgIGlmIChwYXJ0aWNsZSA9PSBOVUxMKQorCQkJZ290byBleGl0X2ZhaWx1cmU7CisJCSAgICAvKgorCQkgICAgKiBDcmVhdGUgdGhlIG1vZGVsIGdyb3VwLgorCQkgICAgKi8gLyogVVJHRU5UIFRPRE86IGF2b2lkIGFkZGluZyB0byBwZW5kaW5nIGl0ZW1zLiAqLworCQkgICAgcGFydGljbGUtPmNoaWxkcmVuID0gKHhtbFNjaGVtYVRyZWVJdGVtUHRyKQorCQkJeG1sU2NoZW1hQWRkTW9kZWxHcm91cChwY3R4dCwgcGN0eHQtPnNjaGVtYSwKKwkJCVhNTF9TQ0hFTUFfVFlQRV9TRVFVRU5DRSwgdHlwZS0+bm9kZSk7CisJCSAgICBpZiAocGFydGljbGUtPmNoaWxkcmVuID09IE5VTEwpCisJCQlnb3RvIGV4aXRfZmFpbHVyZTsKKworCQkgICAgdHlwZS0+c3VidHlwZXMgPSAoeG1sU2NoZW1hVHlwZVB0cikgcGFydGljbGU7CisJCX0KKwkJZHVtbXlTZXF1ZW5jZSA9IDE7CisJCXR5cGUtPmNvbnRlbnRUeXBlID0gWE1MX1NDSEVNQV9DT05URU5UX0VMRU1FTlRTOworCSAgICB9IGVsc2UgeworCQkvKgorCQkqIFNQRUMgKDIuMS41KSAib3RoZXJ3aXNlIGVtcHR5IgorCQkqLworCQl0eXBlLT5jb250ZW50VHlwZSA9IFhNTF9TQ0hFTUFfQ09OVEVOVF9FTVBUWTsKKwkgICAgfQorCX0gZWxzZSB7CisJICAgIC8qCisJICAgICogU1BFQyAoMi4yKSAib3RoZXJ3aXNlIHRoZSBwYXJ0aWNsZSBjb3JyZXNwb25kaW5nIHRvIHRoZQorCSAgICAqIDxhbGw+LCA8Y2hvaWNlPiwgPGdyb3VwPiBvciA8c2VxdWVuY2U+IGFtb25nIHRoZQorCSAgICAqIFtjaGlsZHJlbl0uIgorCSAgICAqLworCSAgICB0eXBlLT5jb250ZW50VHlwZSA9IFhNTF9TQ0hFTUFfQ09OVEVOVF9FTEVNRU5UUzsKKwl9CisJLyoKKwkqIENvbXB1dGUgdGhlICJjb250ZW50IHR5cGUiLgorCSovCisJaWYgKFdYU19JU19SRVNUUklDVElPTih0eXBlKSkgeworCSAgICAvKgorCSAgICAqIFNQRUMgKDMuMSkgIklmIDxyZXN0cmljdGlvbj4uLi4iCisJICAgICogKDMuMS4xKSArICgzLjEuMikgKi8KKwkgICAgaWYgKHR5cGUtPmNvbnRlbnRUeXBlICE9IFhNTF9TQ0hFTUFfQ09OVEVOVF9FTVBUWSkgeworCQlpZiAodHlwZS0+ZmxhZ3MgJiBYTUxfU0NIRU1BU19UWVBFX01JWEVEKQorCQkgICAgdHlwZS0+Y29udGVudFR5cGUgPSBYTUxfU0NIRU1BX0NPTlRFTlRfTUlYRUQ7CisJICAgIH0KKwl9IGVsc2UgeworCSAgICAvKgorCSAgICAqIFNQRUMgKDMuMikgIklmIDxleHRlbnNpb24+Li4uIgorCSAgICAqLworCSAgICBpZiAodHlwZS0+Y29udGVudFR5cGUgPT0gWE1MX1NDSEVNQV9DT05URU5UX0VNUFRZKSB7CisJCS8qCisJCSogU1BFQyAoMy4yLjEpCisJCSogIklmIHRoZSBgZWZmZWN0aXZlIGNvbnRlbnRgIGlzIGVtcHR5LCB0aGVuIHRoZQorCQkqICB7Y29udGVudCB0eXBlfSBvZiB0aGUgWy4uLl0gYmFzZSAuLi4iCisJCSovCisJCXR5cGUtPmNvbnRlbnRUeXBlID0gYmFzZVR5cGUtPmNvbnRlbnRUeXBlOworCQl0eXBlLT5zdWJ0eXBlcyA9IGJhc2VUeXBlLT5zdWJ0eXBlczsKKwkJLyoKKwkJKiBGaXhlcyBidWcgIzM0NzMxNjoKKwkJKiBUaGlzIGlzIHRoZSBjYXNlIHdoZW4gdGhlIGJhc2UgdHlwZSBoYXMgYSBzaW1wbGUKKwkJKiB0eXBlIGRlZmluaXRpb24gYXMgY29udGVudC4KKwkJKi8KKwkJdHlwZS0+Y29udGVudFR5cGVEZWYgPSBiYXNlVHlwZS0+Y29udGVudFR5cGVEZWY7CisJCS8qCisJCSogTk9URSB0aGF0IHRoZSBlZmZlY3RpdmUgbWl4ZWQgaXMgaWdub3JlZCBoZXJlLgorCQkqLworCSAgICB9IGVsc2UgaWYgKGJhc2VUeXBlLT5jb250ZW50VHlwZSA9PSBYTUxfU0NIRU1BX0NPTlRFTlRfRU1QVFkpIHsKKwkJLyoKKwkJKiBTUEVDICgzLjIuMikKKwkJKi8KKwkJaWYgKHR5cGUtPmZsYWdzICYgWE1MX1NDSEVNQVNfVFlQRV9NSVhFRCkKKwkJICAgIHR5cGUtPmNvbnRlbnRUeXBlID0gWE1MX1NDSEVNQV9DT05URU5UX01JWEVEOworCSAgICB9IGVsc2UgeworCQkvKgorCQkqIFNQRUMgKDMuMi4zKQorCQkqLworCQlpZiAodHlwZS0+ZmxhZ3MgJiBYTUxfU0NIRU1BU19UWVBFX01JWEVEKQorCQkgICAgdHlwZS0+Y29udGVudFR5cGUgPSBYTUxfU0NIRU1BX0NPTlRFTlRfTUlYRUQ7CisJCSAgICAvKgorCQkgICAgKiAiQSBtb2RlbCBncm91cCB3aG9zZSB7Y29tcG9zaXRvcn0gaXMgc2VxdWVuY2UgYW5kIHdob3NlCisJCSAgICAqIHtwYXJ0aWNsZXN9IGFyZS4uLiIKKwkJICAgICovCisJCWlmICgoV1hTX1RZUEVfUEFSVElDTEUodHlwZSkgIT0gTlVMTCkgJiYKKwkJICAgIChXWFNfVFlQRV9QQVJUSUNMRV9URVJNKHR5cGUpICE9IE5VTEwpICYmCisJCSAgICAoKFdYU19UWVBFX1BBUlRJQ0xFX1RFUk0odHlwZSkpLT50eXBlID09CisJCQlYTUxfU0NIRU1BX1RZUEVfQUxMKSkKKwkJeworCQkgICAgLyoKKwkJICAgICogU1BFQyBjb3MtYWxsLWxpbWl0ZWQgKDEpCisJCSAgICAqLworCQkgICAgeG1sU2NoZW1hQ3VzdG9tRXJyKEFDVFhUX0NBU1QgcGN0eHQsCisJCQkvKiBUT0RPOiBlcnJvciBjb2RlICovCisJCQlYTUxfU0NIRU1BUF9DT1NfQUxMX0xJTUlURUQsCisJCQlXWFNfSVRFTV9OT0RFKHR5cGUpLCBOVUxMLAorCQkJIlRoZSB0eXBlIGhhcyBhbiAnYWxsJyBtb2RlbCBncm91cCBpbiBpdHMgIgorCQkJIntjb250ZW50IHR5cGV9IGFuZCB0aHVzIGNhbm5vdCBiZSBkZXJpdmVkIGZyb20gIgorCQkJImEgbm9uLWVtcHR5IHR5cGUsIHNpbmNlIHRoaXMgd291bGQgcHJvZHVjZSBhICIKKwkJCSInc2VxdWVuY2UnIG1vZGVsIGdyb3VwIGNvbnRhaW5pbmcgdGhlICdhbGwnICIKKwkJCSJtb2RlbCBncm91cDsgJ2FsbCcgbW9kZWwgZ3JvdXBzIGFyZSBub3QgIgorCQkJImFsbG93ZWQgdG8gYXBwZWFyIGluc2lkZSBvdGhlciBtb2RlbCBncm91cHMiLAorCQkJTlVMTCwgTlVMTCk7CisKKwkJfSBlbHNlIGlmICgoV1hTX1RZUEVfUEFSVElDTEUoYmFzZVR5cGUpICE9IE5VTEwpICYmCisJCSAgICAoV1hTX1RZUEVfUEFSVElDTEVfVEVSTShiYXNlVHlwZSkgIT0gTlVMTCkgJiYKKwkJICAgICgoV1hTX1RZUEVfUEFSVElDTEVfVEVSTShiYXNlVHlwZSkpLT50eXBlID09CisJCQlYTUxfU0NIRU1BX1RZUEVfQUxMKSkKKwkJeworCQkgICAgLyoKKwkJICAgICogU1BFQyBjb3MtYWxsLWxpbWl0ZWQgKDEpCisJCSAgICAqLworCQkgICAgeG1sU2NoZW1hQ3VzdG9tRXJyKEFDVFhUX0NBU1QgcGN0eHQsCisJCQkvKiBUT0RPOiBlcnJvciBjb2RlICovCisJCQlYTUxfU0NIRU1BUF9DT1NfQUxMX0xJTUlURUQsCisJCQlXWFNfSVRFTV9OT0RFKHR5cGUpLCBOVUxMLAorCQkJIkEgdHlwZSBjYW5ub3QgYmUgZGVyaXZlZCBieSBleHRlbnNpb24gZnJvbSBhIHR5cGUgIgorCQkJIndoaWNoIGhhcyBhbiAnYWxsJyBtb2RlbCBncm91cCBpbiBpdHMgIgorCQkJIntjb250ZW50IHR5cGV9LCBzaW5jZSB0aGlzIHdvdWxkIHByb2R1Y2UgYSAiCisJCQkiJ3NlcXVlbmNlJyBtb2RlbCBncm91cCBjb250YWluaW5nIHRoZSAnYWxsJyAiCisJCQkibW9kZWwgZ3JvdXA7ICdhbGwnIG1vZGVsIGdyb3VwcyBhcmUgbm90ICIKKwkJCSJhbGxvd2VkIHRvIGFwcGVhciBpbnNpZGUgb3RoZXIgbW9kZWwgZ3JvdXBzIiwKKwkJCU5VTEwsIE5VTEwpOworCisJCX0gZWxzZSBpZiAoISBkdW1teVNlcXVlbmNlKSB7CisJCSAgICB4bWxTY2hlbWFUcmVlSXRlbVB0ciBlZmZlY3RpdmVDb250ZW50ID0KKwkJCSh4bWxTY2hlbWFUcmVlSXRlbVB0cikgdHlwZS0+c3VidHlwZXM7CisJCSAgICAvKgorCQkgICAgKiBDcmVhdGUgdGhlIHBhcnRpY2xlLgorCQkgICAgKi8KKwkJICAgIHBhcnRpY2xlID0geG1sU2NoZW1hQWRkUGFydGljbGUocGN0eHQsCisJCQl0eXBlLT5ub2RlLCAxLCAxKTsKKwkJICAgIGlmIChwYXJ0aWNsZSA9PSBOVUxMKQorCQkJZ290byBleGl0X2ZhaWx1cmU7CisJCSAgICAvKgorCQkgICAgKiBDcmVhdGUgdGhlICJzZXF1ZW5jZSIgbW9kZWwgZ3JvdXAuCisJCSAgICAqLworCQkgICAgcGFydGljbGUtPmNoaWxkcmVuID0gKHhtbFNjaGVtYVRyZWVJdGVtUHRyKQorCQkJeG1sU2NoZW1hQWRkTW9kZWxHcm91cChwY3R4dCwgcGN0eHQtPnNjaGVtYSwKKwkJCVhNTF9TQ0hFTUFfVFlQRV9TRVFVRU5DRSwgdHlwZS0+bm9kZSk7CisJCSAgICBpZiAocGFydGljbGUtPmNoaWxkcmVuID09IE5VTEwpCisJCQlnb3RvIGV4aXRfZmFpbHVyZTsKKwkJICAgIFdYU19UWVBFX0NPTlRFTlRUWVBFKHR5cGUpID0gKHhtbFNjaGVtYVR5cGVQdHIpIHBhcnRpY2xlOworCQkgICAgLyoKKwkJICAgICogU1BFQyAidGhlIHBhcnRpY2xlIG9mIHRoZSB7Y29udGVudCB0eXBlfSBvZgorCQkgICAgKiB0aGUgLi4uIGJhc2UgLi4uIgorCQkgICAgKiBDcmVhdGUgYSBkdXBsaWNhdGUgb2YgdGhlIGJhc2UgdHlwZSdzIHBhcnRpY2xlCisJCSAgICAqIGFuZCBhc3NpZ24gaXRzICJ0ZXJtIiB0byBpdC4KKwkJICAgICovCisJCSAgICBwYXJ0aWNsZS0+Y2hpbGRyZW4tPmNoaWxkcmVuID0KKwkJCSh4bWxTY2hlbWFUcmVlSXRlbVB0cikgeG1sU2NoZW1hQWRkUGFydGljbGUocGN0eHQsCisJCQl0eXBlLT5ub2RlLAorCQkJKCh4bWxTY2hlbWFQYXJ0aWNsZVB0cikgYmFzZVR5cGUtPnN1YnR5cGVzKS0+bWluT2NjdXJzLAorCQkJKCh4bWxTY2hlbWFQYXJ0aWNsZVB0cikgYmFzZVR5cGUtPnN1YnR5cGVzKS0+bWF4T2NjdXJzKTsKKwkJICAgIGlmIChwYXJ0aWNsZS0+Y2hpbGRyZW4tPmNoaWxkcmVuID09IE5VTEwpCisJCQlnb3RvIGV4aXRfZmFpbHVyZTsKKwkJICAgIHBhcnRpY2xlID0gKHhtbFNjaGVtYVBhcnRpY2xlUHRyKQorCQkJcGFydGljbGUtPmNoaWxkcmVuLT5jaGlsZHJlbjsKKwkJICAgIHBhcnRpY2xlLT5jaGlsZHJlbiA9CisJCQkoKHhtbFNjaGVtYVBhcnRpY2xlUHRyKSBiYXNlVHlwZS0+c3VidHlwZXMpLT5jaGlsZHJlbjsKKwkJICAgIC8qCisJCSAgICAqIFNQRUMgImZvbGxvd2VkIGJ5IHRoZSBgZWZmZWN0aXZlIGNvbnRlbnRgLiIKKwkJICAgICovCisJCSAgICBwYXJ0aWNsZS0+bmV4dCA9IGVmZmVjdGl2ZUNvbnRlbnQ7CisJCSAgICAvKgorCQkgICAgKiBUaGlzIGFsbCB3aWxsIHJlc3VsdCBpbjoKKwkJICAgICogbmV3LXBhcnRpY2xlCisJCSAgICAqICAgLS0+IG5ldy1zZXF1ZW5jZSgKKwkJICAgICogICAgICAgICBuZXctcGFydGljbGUKKwkJICAgICogICAgICAgICAgIC0tPiBiYXNlLW1vZGVsLAorCQkgICAgKiAgICAgICAgIHRoaXMtcGFydGljbGUKKwkJICAgICoJICAgICAgICAtLT4gdGhpcy1tb2RlbAorCQkgICAgKgkgICAgKQorCQkgICAgKi8KKwkJfSBlbHNlIHsKKwkJICAgIC8qCisJCSAgICAqIFRoaXMgaXMgdGhlIGNhc2Ugd2hlbiB0aGVyZSBpcyBhbHJlYWR5IGFuIGVtcHR5CisJCSAgICAqIDxzZXF1ZW5jZT4gd2l0aCBtaW5PY2N1cnM9PW1heE9jY3Vycz09MS4KKwkJICAgICogSnVzdCBhZGQgdGhlIGJhc2UgdHlwZXMncyBjb250ZW50IHR5cGUuCisJCSAgICAqIE5PVEUgdGhhdCwgYWx0aG91Z2ggd2UgbWlzcyB0byBhZGQgYW4gaW50ZXJtZWRpYXRlCisJCSAgICAqIDxzZXF1ZW5jZT4sIHRoaXMgc2hvdWxkIHByb2R1Y2Ugbm8gZGlmZmVyZW5jZSB0bworCQkgICAgKiBuZWl0aGVyIHRoZSByZWdleCBjb21waWxhdGlvbiBvZiB0aGUgY29udGVudCBtb2RlbCwKKwkJICAgICogbm9yIHRvIHRoZSBjb21wbGV4IHR5cGUgY29udHJhaW50cy4KKwkJICAgICovCisJCSAgICBwYXJ0aWNsZS0+Y2hpbGRyZW4tPmNoaWxkcmVuID0KKwkJCSh4bWxTY2hlbWFUcmVlSXRlbVB0cikgYmFzZVR5cGUtPnN1YnR5cGVzOworCQl9CisJICAgIH0KKwl9CisgICAgfQorICAgIC8qCisgICAgKiBOb3cgZml4dXAgYXR0cmlidXRlIHVzZXM6CisgICAgKiAgIC0gZXhwYW5kIGF0dHIuIGdyb3VwIHJlZmVyZW5jZXMKKyAgICAqICAgICAtIGludGVyc2VjdCBhdHRyaWJ1dGUgd2lsZGNhcmRzCisgICAgKiAgIC0gaW5oZXJpdCBhdHRyaWJ1dGUgdXNlcyBvZiB0aGUgYmFzZSB0eXBlCisgICAgKiAgIC0gaW5oZXJpdCBvciB1bmlvbiBhdHRyLiB3aWxkY2FyZHMgaWYgZXh0ZW5kaW5nCisgICAgKiAgIC0gYXBwbHkgYXR0ci4gdXNlIHByb2hpYml0aW9ucyBpZiByZXN0cmljdGluZworICAgICovCisgICAgcmVzID0geG1sU2NoZW1hRml4dXBUeXBlQXR0cmlidXRlVXNlcyhwY3R4dCwgdHlwZSk7CisgICAgSEZBSUxVUkUgSEVSUk9SCisgICAgLyoKKyAgICAqIEFwcGx5IHRoZSBjb21wbGV4IHR5cGUgY29tcG9uZW50IGNvbnN0cmFpbnRzOyB0aGlzIHdpbGwgbm90CisgICAgKiBjaGVjayBhdHRyaWJ1dGVzLCBzaW5jZSB0aGlzIGlzIGRvbmUgaW4KKyAgICAqIHhtbFNjaGVtYUZpeHVwVHlwZUF0dHJpYnV0ZVVzZXMoKS4KKyAgICAqLworICAgIHJlcyA9IHhtbFNjaGVtYUNoZWNrQ1RDb21wb25lbnQocGN0eHQsIHR5cGUpOworICAgIEhGQUlMVVJFIEhFUlJPUgorCisjaWZkZWYgREVCVUdfVFlQRQorICAgIHhtbFNjaGVtYURlYnVnRml4ZWRUeXBlKHBjdHh0LCB0eXBlKTsKKyNlbmRpZgorICAgIGlmIChvbGRlcnJzICE9IHBjdHh0LT5uYmVycm9ycykKKwlyZXR1cm4ocGN0eHQtPmVycik7CisgICAgZWxzZQorCXJldHVybigwKTsKKworZXhpdF9lcnJvcjoKKyAgICB0eXBlLT5mbGFncyB8PSBYTUxfU0NIRU1BU19UWVBFX0lOVEVSTkFMX0lOVkFMSUQ7CisjaWZkZWYgREVCVUdfVFlQRQorICAgIHhtbFNjaGVtYURlYnVnRml4ZWRUeXBlKHBjdHh0LCB0eXBlKTsKKyNlbmRpZgorICAgIHJldHVybihwY3R4dC0+ZXJyKTsKKworZXhpdF9mYWlsdXJlOgorICAgIHR5cGUtPmZsYWdzIHw9IFhNTF9TQ0hFTUFTX1RZUEVfSU5URVJOQUxfSU5WQUxJRDsKKyNpZmRlZiBERUJVR19UWVBFCisgICAgeG1sU2NoZW1hRGVidWdGaXhlZFR5cGUocGN0eHQsIHR5cGUpOworI2VuZGlmCisgICAgcmV0dXJuKC0xKTsKK30KKworCisvKioKKyAqIHhtbFNjaGVtYVR5cGVGaXh1cDoKKyAqIEB0eXBlRGVjbDogIHRoZSBzY2hlbWEgdHlwZSBkZWZpbml0aW9uCisgKiBAY3R4dDogIHRoZSBzY2hlbWEgcGFyc2VyIGNvbnRleHQKKyAqCisgKiBGaXhlcyB0aGUgY29udGVudCBtb2RlbCBvZiB0aGUgdHlwZS4KKyAqIFVSR0VOVCBUT0RPOiBXZSBuZWVkIGFuIGludCByZXN1bHQhCisgKi8KK3N0YXRpYyBpbnQKK3htbFNjaGVtYVR5cGVGaXh1cCh4bWxTY2hlbWFUeXBlUHRyIHR5cGUsCisgICAgICAgICAgICAgICAgICAgeG1sU2NoZW1hQWJzdHJhY3RDdHh0UHRyIGFjdHh0KQoreworICAgIGlmICh0eXBlID09IE5VTEwpCisgICAgICAgIHJldHVybigwKTsKKyAgICBpZiAoYWN0eHQtPnR5cGUgIT0gWE1MX1NDSEVNQV9DVFhUX1BBUlNFUikgeworCUFFUlJPUl9JTlQoInhtbFNjaGVtYVR5cGVGaXh1cCIsCisJICAgICJ0aGlzIGZ1bmN0aW9uIG5lZWRzIGEgcGFyc2VyIGNvbnRleHQiKTsKKwlyZXR1cm4oLTEpOworICAgIH0KKyAgICBpZiAoISBXWFNfSVNfVFlQRV9OT1RfRklYRUQodHlwZSkpCisJcmV0dXJuKDApOworICAgIGlmICh0eXBlLT50eXBlID09IFhNTF9TQ0hFTUFfVFlQRV9DT01QTEVYKQorCXJldHVybih4bWxTY2hlbWFGaXh1cENvbXBsZXhUeXBlKFBDVFhUX0NBU1QgYWN0eHQsIHR5cGUpKTsKKyAgICBlbHNlIGlmICh0eXBlLT50eXBlID09IFhNTF9TQ0hFTUFfVFlQRV9TSU1QTEUpCisJcmV0dXJuKHhtbFNjaGVtYUZpeHVwU2ltcGxlVHlwZVN0YWdlVHdvKFBDVFhUX0NBU1QgYWN0eHQsIHR5cGUpKTsKKyAgICByZXR1cm4oMCk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hQ2hlY2tGYWNldDoKKyAqIEBmYWNldDogIHRoZSBmYWNldAorICogQHR5cGVEZWNsOiAgdGhlIHNjaGVtYSB0eXBlIGRlZmluaXRpb24KKyAqIEBwY3R4dDogIHRoZSBzY2hlbWEgcGFyc2VyIGNvbnRleHQgb3IgTlVMTAorICogQG5hbWU6IHRoZSBvcHRpb25hbCBuYW1lIG9mIHRoZSB0eXBlCisgKgorICogQ2hlY2tzIGFuZCBjb21wdXRlcyB0aGUgdmFsdWVzIG9mIGZhY2V0cy4KKyAqCisgKiBSZXR1cm5zIDAgaWYgdmFsaWQsIGEgcG9zaXRpdmUgZXJyb3IgY29kZSBpZiBub3QgdmFsaWQgYW5kCisgKiAgICAgICAgIC0xIGluIGNhc2Ugb2YgYW4gaW50ZXJuYWwgb3IgQVBJIGVycm9yLgorICovCitpbnQKK3htbFNjaGVtYUNoZWNrRmFjZXQoeG1sU2NoZW1hRmFjZXRQdHIgZmFjZXQsCisgICAgICAgICAgICAgICAgICAgIHhtbFNjaGVtYVR5cGVQdHIgdHlwZURlY2wsCisgICAgICAgICAgICAgICAgICAgIHhtbFNjaGVtYVBhcnNlckN0eHRQdHIgcGN0eHQsCisJCSAgICBjb25zdCB4bWxDaGFyICogbmFtZSBBVFRSSUJVVEVfVU5VU0VEKQoreworICAgIGludCByZXQgPSAwLCBjdHh0R2l2ZW47CisKKyAgICBpZiAoKGZhY2V0ID09IE5VTEwpIHx8ICh0eXBlRGVjbCA9PSBOVUxMKSkKKyAgICAgICAgcmV0dXJuKC0xKTsKKyAgICAvKgorICAgICogVE9ETzogd2lsbCB0aGUgcGFyc2VyIGNvbnRleHQgYmUgZ2l2ZW4gaWYgdXNlZCBmcm9tCisgICAgKiB0aGUgcmVsYXhORyBtb2R1bGU/CisgICAgKi8KKyAgICBpZiAocGN0eHQgPT0gTlVMTCkKKwljdHh0R2l2ZW4gPSAwOworICAgIGVsc2UKKwljdHh0R2l2ZW4gPSAxOworCisgICAgc3dpdGNoIChmYWNldC0+dHlwZSkgeworICAgICAgICBjYXNlIFhNTF9TQ0hFTUFfRkFDRVRfTUlOSU5DTFVTSVZFOgorICAgICAgICBjYXNlIFhNTF9TQ0hFTUFfRkFDRVRfTUlORVhDTFVTSVZFOgorICAgICAgICBjYXNlIFhNTF9TQ0hFTUFfRkFDRVRfTUFYSU5DTFVTSVZFOgorICAgICAgICBjYXNlIFhNTF9TQ0hFTUFfRkFDRVRfTUFYRVhDTFVTSVZFOgorCWNhc2UgWE1MX1NDSEVNQV9GQUNFVF9FTlVNRVJBVElPTjogeworICAgICAgICAgICAgICAgIC8qCisgICAgICAgICAgICAgICAgICogT2theSB3ZSBuZWVkIHRvIHZhbGlkYXRlIHRoZSB2YWx1ZQorICAgICAgICAgICAgICAgICAqIGF0IHRoYXQgcG9pbnQuCisgICAgICAgICAgICAgICAgICovCisJCXhtbFNjaGVtYVR5cGVQdHIgYmFzZTsKKworCQkvKiA0LjMuNS41IENvbnN0cmFpbnRzIG9uIGVudW1lcmF0aW9uIFNjaGVtYSBDb21wb25lbnRzCisJCSogU2NoZW1hIENvbXBvbmVudCBDb25zdHJhaW50OiBlbnVtZXJhdGlvbiB2YWxpZCByZXN0cmljdGlvbgorCQkqIEl0IGlzIGFuIGBlcnJvcmAgaWYgYW55IG1lbWJlciBvZiB7dmFsdWV9IGlzIG5vdCBpbiB0aGUKKwkJKiBgdmFsdWUgc3BhY2VgIG9mIHtiYXNlIHR5cGUgZGVmaW5pdGlvbn0uCisJCSoKKwkJKiBtaW5JbmNsdXNpdmUsIG1heEluY2x1c2l2ZSwgbWluRXhjbHVzaXZlLCBtYXhFeGNsdXNpdmU6CisJCSogVGhlIHZhbHVlIGBtdXN0YCBiZSBpbiB0aGUKKwkJKiBgdmFsdWUgc3BhY2VgIG9mIHRoZSBgYmFzZSB0eXBlYC4KKwkJKi8KKwkJLyoKKwkJKiBUaGlzIGZ1bmN0aW9uIGlzIGludGVuZGVkIHRvIGRlbGl2ZXIgYSBjb21waWxlZCB2YWx1ZQorCQkqIG9uIHRoZSBmYWNldC4gSW4gdGhpcyBpbXBsZW1lbnRhdGlvbiBvZiBYTUwgU2NoZW1hdGEgdGhlCisJCSogdHlwZSBob2xkaW5nIGEgZmFjZXQsIHdvbid0IGJlIGEgYnVpbHQtaW4gdHlwZS4KKwkJKiBUaHVzIHRvIGVuc3VyZSB0aGF0IG90aGVyIEFQSQorCQkqIGNhbGxzIChyZWxheG5nKSBkbyB3b3JrLCBpZiB0aGUgZ2l2ZW4gdHlwZSBpcyBhIGJ1aWx0LWluCisJCSogdHlwZSwgd2Ugd2lsbCBhc3N1bWUgdGhhdCB0aGUgZ2l2ZW4gYnVpbHQtaW4gdHlwZSAqaXMKKwkJKiBhbHJlYWR5KiB0aGUgYmFzZSB0eXBlLgorCQkqLworCQlpZiAodHlwZURlY2wtPnR5cGUgIT0gWE1MX1NDSEVNQV9UWVBFX0JBU0lDKSB7CisJCSAgICBiYXNlID0gdHlwZURlY2wtPmJhc2VUeXBlOworCQkgICAgaWYgKGJhc2UgPT0gTlVMTCkgeworCQkJUEVSUk9SX0lOVCgieG1sU2NoZW1hQ2hlY2tGYWNldCIsCisJCQkgICAgImEgdHlwZSB1c2VyIGRlcml2ZWQgdHlwZSBoYXMgbm8gYmFzZSB0eXBlIik7CisJCQlyZXR1cm4gKC0xKTsKKwkJICAgIH0KKwkJfSBlbHNlCisJCSAgICBiYXNlID0gdHlwZURlY2w7CisKKwkJaWYgKCEgY3R4dEdpdmVuKSB7CisJCSAgICAvKgorCQkgICAgKiBBIGNvbnRleHQgaXMgbmVlZGVkIGlmIGNhbGxlZCBmcm9tIFJlbGF4TkcuCisJCSAgICAqLworCQkgICAgcGN0eHQgPSB4bWxTY2hlbWFOZXdQYXJzZXJDdHh0KCIqIik7CisJCSAgICBpZiAocGN0eHQgPT0gTlVMTCkKKwkJCXJldHVybiAoLTEpOworCQl9CisJCS8qCisJCSogTk9URTogVGhpcyBjYWxsIGRvZXMgbm90IGNoZWNrIHRoZSBjb250ZW50IG5vZGVzLAorCQkqIHNpbmNlIHRoZXkgYXJlIG5vdCBhdmFpbGFibGU6CisJCSogZmFjZXQtPm5vZGUgaXMganVzdCB0aGUgbm9kZSBob2xkaW5nIHRoZSBmYWNldAorCQkqIGRlZmluaXRpb24sICpub3QqIHRoZSBhdHRyaWJ1dGUgaG9sZGluZyB0aGUgKnZhbHVlKgorCQkqIG9mIHRoZSBmYWNldC4KKwkJKi8KKwkJcmV0ID0geG1sU2NoZW1hVkNoZWNrQ1ZDU2ltcGxlVHlwZSgKKwkJICAgIEFDVFhUX0NBU1QgcGN0eHQsIGZhY2V0LT5ub2RlLCBiYXNlLAorCQkgICAgZmFjZXQtPnZhbHVlLCAmKGZhY2V0LT52YWwpLCAxLCAxLCAwKTsKKyAgICAgICAgICAgICAgICBpZiAocmV0ICE9IDApIHsKKwkJICAgIGlmIChyZXQgPCAwKSB7CisJCQkvKiBObyBlcnJvciBtZXNzYWdlIGZvciBSZWxheE5HLiAqLworCQkJaWYgKGN0eHRHaXZlbikgeworCQkJICAgIHhtbFNjaGVtYUN1c3RvbUVycihBQ1RYVF9DQVNUIHBjdHh0LAorCQkJCVhNTF9TQ0hFTUFQX0lOVEVSTkFMLCBmYWNldC0+bm9kZSwgTlVMTCwKKwkJCQkiSW50ZXJuYWwgZXJyb3I6IHhtbFNjaGVtYUNoZWNrRmFjZXQsICIKKwkJCQkiZmFpbGVkIHRvIHZhbGlkYXRlIHRoZSB2YWx1ZSAnJXMnIG9mIHRoZSAiCisJCQkJImZhY2V0ICclcycgYWdhaW5zdCB0aGUgYmFzZSB0eXBlIiwKKwkJCQlmYWNldC0+dmFsdWUsIHhtbFNjaGVtYUZhY2V0VHlwZVRvU3RyaW5nKGZhY2V0LT50eXBlKSk7CisJCQl9CisJCQlnb3RvIGludGVybmFsX2Vycm9yOworCQkgICAgfQorCQkgICAgcmV0ID0gWE1MX1NDSEVNQVBfSU5WQUxJRF9GQUNFVF9WQUxVRTsKKwkJICAgIC8qIE5vIGVycm9yIG1lc3NhZ2UgZm9yIFJlbGF4TkcuICovCisJCSAgICBpZiAoY3R4dEdpdmVuKSB7CisJCQl4bWxDaGFyICpzdHIgPSBOVUxMOworCisJCQl4bWxTY2hlbWFDdXN0b21FcnIoQUNUWFRfQ0FTVCBwY3R4dCwKKwkJCSAgICByZXQsIGZhY2V0LT5ub2RlLCBXWFNfQkFTSUNfQ0FTVCBmYWNldCwKKwkJCSAgICAiVGhlIHZhbHVlICclcycgb2YgdGhlIGZhY2V0IGRvZXMgbm90IHZhbGlkYXRlICIKKwkJCSAgICAiYWdhaW5zdCB0aGUgYmFzZSB0eXBlICclcyciLAorCQkJICAgIGZhY2V0LT52YWx1ZSwKKwkJCSAgICB4bWxTY2hlbWFGb3JtYXRRTmFtZSgmc3RyLAorCQkJCWJhc2UtPnRhcmdldE5hbWVzcGFjZSwgYmFzZS0+bmFtZSkpOworCQkJRlJFRV9BTkRfTlVMTChzdHIpOworCQkgICAgfQorCQkgICAgZ290byBleGl0OworICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZmFjZXQtPnZhbCA9PSBOVUxMKSB7CisJCSAgICBpZiAoY3R4dEdpdmVuKSB7CisJCQlQRVJST1JfSU5UKCJ4bWxTY2hlbWFDaGVja0ZhY2V0IiwKKwkJCSAgICAidmFsdWUgd2FzIG5vdCBjb21wdXRlZCIpOworCQkgICAgfQorCQkgICAgVE9ETworCQl9CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgIGNhc2UgWE1MX1NDSEVNQV9GQUNFVF9QQVRURVJOOgorICAgICAgICAgICAgZmFjZXQtPnJlZ2V4cCA9IHhtbFJlZ2V4cENvbXBpbGUoZmFjZXQtPnZhbHVlKTsKKyAgICAgICAgICAgIGlmIChmYWNldC0+cmVnZXhwID09IE5VTEwpIHsKKwkJcmV0ID0gWE1MX1NDSEVNQVBfUkVHRVhQX0lOVkFMSUQ7CisJCS8qIE5vIGVycm9yIG1lc3NhZ2UgZm9yIFJlbGF4TkcuICovCisJCWlmIChjdHh0R2l2ZW4pIHsKKwkJICAgIHhtbFNjaGVtYUN1c3RvbUVycihBQ1RYVF9DQVNUIHBjdHh0LAorCQkJcmV0LCBmYWNldC0+bm9kZSwgV1hTX0JBU0lDX0NBU1QgdHlwZURlY2wsCisJCQkiVGhlIHZhbHVlICclcycgb2YgdGhlIGZhY2V0ICdwYXR0ZXJuJyBpcyBub3QgYSAiCisJCQkidmFsaWQgcmVndWxhciBleHByZXNzaW9uIiwKKwkJCWZhY2V0LT52YWx1ZSwgTlVMTCk7CisJCX0KKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9TQ0hFTUFfRkFDRVRfVE9UQUxESUdJVFM6CisgICAgICAgIGNhc2UgWE1MX1NDSEVNQV9GQUNFVF9GUkFDVElPTkRJR0lUUzoKKyAgICAgICAgY2FzZSBYTUxfU0NIRU1BX0ZBQ0VUX0xFTkdUSDoKKyAgICAgICAgY2FzZSBYTUxfU0NIRU1BX0ZBQ0VUX01BWExFTkdUSDoKKyAgICAgICAgY2FzZSBYTUxfU0NIRU1BX0ZBQ0VUX01JTkxFTkdUSDoKKworCSAgICBpZiAoZmFjZXQtPnR5cGUgPT0gWE1MX1NDSEVNQV9GQUNFVF9UT1RBTERJR0lUUykgeworCQlyZXQgPSB4bWxTY2hlbWFWYWxpZGF0ZVByZWRlZmluZWRUeXBlKAorCQkgICAgeG1sU2NoZW1hR2V0QnVpbHRJblR5cGUoWE1MX1NDSEVNQVNfUElOVEVHRVIpLAorCQkgICAgZmFjZXQtPnZhbHVlLCAmKGZhY2V0LT52YWwpKTsKKwkgICAgfSBlbHNlIHsKKwkJcmV0ID0geG1sU2NoZW1hVmFsaWRhdGVQcmVkZWZpbmVkVHlwZSgKKwkJICAgIHhtbFNjaGVtYUdldEJ1aWx0SW5UeXBlKFhNTF9TQ0hFTUFTX05OSU5URUdFUiksCisJCSAgICBmYWNldC0+dmFsdWUsICYoZmFjZXQtPnZhbCkpOworCSAgICB9CisJICAgIGlmIChyZXQgIT0gMCkgeworCQlpZiAocmV0IDwgMCkgeworCQkgICAgLyogTm8gZXJyb3IgbWVzc2FnZSBmb3IgUmVsYXhORy4gKi8KKwkJICAgIGlmIChjdHh0R2l2ZW4pIHsKKwkJCVBFUlJPUl9JTlQoInhtbFNjaGVtYUNoZWNrRmFjZXQiLAorCQkJICAgICJ2YWxpZGF0aW5nIGZhY2V0IHZhbHVlIik7CisJCSAgICB9CisJCSAgICBnb3RvIGludGVybmFsX2Vycm9yOworCQl9CisJCXJldCA9IFhNTF9TQ0hFTUFQX0lOVkFMSURfRkFDRVRfVkFMVUU7CisJCS8qIE5vIGVycm9yIG1lc3NhZ2UgZm9yIFJlbGF4TkcuICovCisJCWlmIChjdHh0R2l2ZW4pIHsKKwkJICAgIC8qIGVycm9yIGNvZGUgKi8KKwkJICAgIHhtbFNjaGVtYUN1c3RvbUVycjQoQUNUWFRfQ0FTVCBwY3R4dCwKKwkJCXJldCwgZmFjZXQtPm5vZGUsIFdYU19CQVNJQ19DQVNUIHR5cGVEZWNsLAorCQkJIlRoZSB2YWx1ZSAnJXMnIG9mIHRoZSBmYWNldCAnJXMnIGlzIG5vdCBhIHZhbGlkICclcyciLAorCQkJZmFjZXQtPnZhbHVlLAorCQkJeG1sU2NoZW1hRmFjZXRUeXBlVG9TdHJpbmcoZmFjZXQtPnR5cGUpLAorCQkJKGZhY2V0LT50eXBlICE9IFhNTF9TQ0hFTUFfRkFDRVRfVE9UQUxESUdJVFMpID8KKwkJCSAgICBCQURfQ0FTVCAibm9uTmVnYXRpdmVJbnRlZ2VyIiA6CisJCQkgICAgQkFEX0NBU1QgInBvc2l0aXZlSW50ZWdlciIsCisJCQlOVUxMKTsKKwkJfQorCSAgICB9CisJICAgIGJyZWFrOworCisgICAgICAgIGNhc2UgWE1MX1NDSEVNQV9GQUNFVF9XSElURVNQQUNFOnsKKyAgICAgICAgICAgICAgICBpZiAoeG1sU3RyRXF1YWwoZmFjZXQtPnZhbHVlLCBCQURfQ0FTVCAicHJlc2VydmUiKSkgeworICAgICAgICAgICAgICAgICAgICBmYWNldC0+d2hpdGVzcGFjZSA9IFhNTF9TQ0hFTUFTX0ZBQ0VUX1BSRVNFUlZFOworICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoeG1sU3RyRXF1YWwoZmFjZXQtPnZhbHVlLCBCQURfQ0FTVCAicmVwbGFjZSIpKSB7CisgICAgICAgICAgICAgICAgICAgIGZhY2V0LT53aGl0ZXNwYWNlID0gWE1MX1NDSEVNQVNfRkFDRVRfUkVQTEFDRTsKKyAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHhtbFN0ckVxdWFsKGZhY2V0LT52YWx1ZSwgQkFEX0NBU1QgImNvbGxhcHNlIikpIHsKKyAgICAgICAgICAgICAgICAgICAgZmFjZXQtPndoaXRlc3BhY2UgPSBYTUxfU0NIRU1BU19GQUNFVF9DT0xMQVBTRTsKKyAgICAgICAgICAgICAgICB9IGVsc2UgeworCQkgICAgcmV0ID0gWE1MX1NDSEVNQVBfSU5WQUxJRF9GQUNFVF9WQUxVRTsKKyAgICAgICAgICAgICAgICAgICAgLyogTm8gZXJyb3IgbWVzc2FnZSBmb3IgUmVsYXhORy4gKi8KKwkJICAgIGlmIChjdHh0R2l2ZW4pIHsKKwkJCS8qIGVycm9yIHdhcyBwcmV2aW91c2x5OiBYTUxfU0NIRU1BUF9JTlZBTElEX1dISVRFX1NQQUNFICovCisJCQl4bWxTY2hlbWFDdXN0b21FcnIoQUNUWFRfQ0FTVCBwY3R4dCwKKwkJCSAgICByZXQsIGZhY2V0LT5ub2RlLCBXWFNfQkFTSUNfQ0FTVCB0eXBlRGVjbCwKKwkJCSAgICAiVGhlIHZhbHVlICclcycgb2YgdGhlIGZhY2V0ICd3aGl0ZXNwYWNlJyBpcyBub3QgIgorCQkJICAgICJ2YWxpZCIsIGZhY2V0LT52YWx1ZSwgTlVMTCk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBicmVhazsKKyAgICB9CitleGl0OgorICAgIGlmICgoISBjdHh0R2l2ZW4pICYmIChwY3R4dCAhPSBOVUxMKSkKKwl4bWxTY2hlbWFGcmVlUGFyc2VyQ3R4dChwY3R4dCk7CisgICAgcmV0dXJuIChyZXQpOworaW50ZXJuYWxfZXJyb3I6CisgICAgaWYgKCghIGN0eHRHaXZlbikgJiYgKHBjdHh0ICE9IE5VTEwpKQorCXhtbFNjaGVtYUZyZWVQYXJzZXJDdHh0KHBjdHh0KTsKKyAgICByZXR1cm4gKC0xKTsKK30KKworLyoqCisgKiB4bWxTY2hlbWFDaGVja0ZhY2V0VmFsdWVzOgorICogQHR5cGVEZWNsOiAgdGhlIHNjaGVtYSB0eXBlIGRlZmluaXRpb24KKyAqIEBjdHh0OiAgdGhlIHNjaGVtYSBwYXJzZXIgY29udGV4dAorICoKKyAqIENoZWNrcyB0aGUgZGVmYXVsdCB2YWx1ZXMgdHlwZXMsIGVzcGVjaWFsbHkgZm9yIGZhY2V0cworICovCitzdGF0aWMgaW50Cit4bWxTY2hlbWFDaGVja0ZhY2V0VmFsdWVzKHhtbFNjaGVtYVR5cGVQdHIgdHlwZURlY2wsCisJCQkgIHhtbFNjaGVtYVBhcnNlckN0eHRQdHIgcGN0eHQpCit7CisgICAgaW50IHJlcywgb2xkZXJycyA9IHBjdHh0LT5uYmVycm9yczsKKyAgICBjb25zdCB4bWxDaGFyICpuYW1lID0gdHlwZURlY2wtPm5hbWU7CisgICAgLyoKKyAgICAqIE5PVEU6IEl0IGlzIGludGVuZGVkIHRvIHVzZSB0aGUgZmFjZXRzIGxpc3QsIGluc3RlYWQKKyAgICAqIG9mIGZhY2V0U2V0LgorICAgICovCisgICAgaWYgKHR5cGVEZWNsLT5mYWNldHMgIT0gTlVMTCkgeworCXhtbFNjaGVtYUZhY2V0UHRyIGZhY2V0ID0gdHlwZURlY2wtPmZhY2V0czsKKworCS8qCisJKiBUZW1wb3JhcmlseSBhc3NpZ24gdGhlICJzY2hlbWEiIHRvIHRoZSB2YWxpZGF0aW9uIGNvbnRleHQKKwkqIG9mIHRoZSBwYXJzZXIgY29udGV4dC4gVGhpcyBpcyBuZWVkZWQgZm9yIE5PVEFUSU9OIHZhbGlkYXRpb24uCisJKi8KKwlpZiAocGN0eHQtPnZjdHh0ID09IE5VTEwpIHsKKwkgICAgaWYgKHhtbFNjaGVtYUNyZWF0ZVZDdHh0T25QQ3R4dChwY3R4dCkgPT0gLTEpCisJCXJldHVybigtMSk7CisJfQorCXBjdHh0LT52Y3R4dC0+c2NoZW1hID0gcGN0eHQtPnNjaGVtYTsKKwl3aGlsZSAoZmFjZXQgIT0gTlVMTCkgeworCSAgICByZXMgPSB4bWxTY2hlbWFDaGVja0ZhY2V0KGZhY2V0LCB0eXBlRGVjbCwgcGN0eHQsIG5hbWUpOworCSAgICBIRkFJTFVSRQorCSAgICBmYWNldCA9IGZhY2V0LT5uZXh0OworCX0KKwlwY3R4dC0+dmN0eHQtPnNjaGVtYSA9IE5VTEw7CisgICAgfQorICAgIGlmIChvbGRlcnJzICE9IHBjdHh0LT5uYmVycm9ycykKKwlyZXR1cm4ocGN0eHQtPmVycik7CisgICAgcmV0dXJuKDApOworZXhpdF9mYWlsdXJlOgorICAgIHJldHVybigtMSk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hR2V0Q2lyY01vZGVsR3JEZWZSZWY6CisgKiBAY3R4dE1Hcm91cDogdGhlIHNlYXJjaGVkIG1vZGVsIGdyb3VwCisgKiBAc2VsZk1Hcm91cDogdGhlIHNlY29uZCBzZWFyY2hlZCBtb2RlbCBncm91cAorICogQHBhcnRpY2xlOiB0aGUgZmlyc3QgcGFydGljbGUKKyAqCisgKiBUaGlzIG9uZSBpcyBpbnRlbmRlZCB0byBiZSB1c2VkIGJ5CisgKiB4bWxTY2hlbWFDaGVja0dyb3VwRGVmQ2lyY3VsYXIgb25seS4KKyAqCisgKiBSZXR1cm5zIHRoZSBwYXJ0aWNsZSB3aXRoIHRoZSBjaXJjdWxhciBtb2RlbCBncm91cCBkZWZpbml0aW9uIHJlZmVyZW5jZSwKKyAqIG90aGVyd2lzZSBOVUxMLgorICovCitzdGF0aWMgeG1sU2NoZW1hVHJlZUl0ZW1QdHIKK3htbFNjaGVtYUdldENpcmNNb2RlbEdyRGVmUmVmKHhtbFNjaGVtYU1vZGVsR3JvdXBEZWZQdHIgZ3JvdXBEZWYsCisJCQkgICAgICB4bWxTY2hlbWFUcmVlSXRlbVB0ciBwYXJ0aWNsZSkKK3sKKyAgICB4bWxTY2hlbWFUcmVlSXRlbVB0ciBjaXJjID0gTlVMTDsKKyAgICB4bWxTY2hlbWFUcmVlSXRlbVB0ciB0ZXJtOworICAgIHhtbFNjaGVtYU1vZGVsR3JvdXBEZWZQdHIgZ2RlZjsKKworICAgIGZvciAoOyBwYXJ0aWNsZSAhPSBOVUxMOyBwYXJ0aWNsZSA9IHBhcnRpY2xlLT5uZXh0KSB7CisJdGVybSA9IHBhcnRpY2xlLT5jaGlsZHJlbjsKKwlpZiAodGVybSA9PSBOVUxMKQorCSAgICBjb250aW51ZTsKKwlzd2l0Y2ggKHRlcm0tPnR5cGUpIHsKKwkgICAgY2FzZSBYTUxfU0NIRU1BX1RZUEVfR1JPVVA6CisJCWdkZWYgPSAoeG1sU2NoZW1hTW9kZWxHcm91cERlZlB0cikgdGVybTsKKwkJaWYgKGdkZWYgPT0gZ3JvdXBEZWYpCisJCSAgICByZXR1cm4gKHBhcnRpY2xlKTsKKwkJLyoKKwkJKiBNYXJrIHRoaXMgbW9kZWwgZ3JvdXAgZGVmaW5pdGlvbiB0byBhdm9pZCBpbmZpbml0ZQorCQkqIHJlY3Vyc2lvbiBvbiBjaXJjdWxhciByZWZlcmVuY2VzIG5vdCB5ZXQgZXhhbWluZWQuCisJCSovCisJCWlmIChnZGVmLT5mbGFncyAmIFhNTF9TQ0hFTUFfTU9ERUxfR1JPVVBfREVGX01BUktFRCkKKwkJICAgIGNvbnRpbnVlOworCQlpZiAoZ2RlZi0+Y2hpbGRyZW4gIT0gTlVMTCkgeworCQkgICAgZ2RlZi0+ZmxhZ3MgfD0gWE1MX1NDSEVNQV9NT0RFTF9HUk9VUF9ERUZfTUFSS0VEOworCQkgICAgY2lyYyA9IHhtbFNjaGVtYUdldENpcmNNb2RlbEdyRGVmUmVmKGdyb3VwRGVmLAorCQkJZ2RlZi0+Y2hpbGRyZW4tPmNoaWxkcmVuKTsKKwkJICAgIGdkZWYtPmZsYWdzIF49IFhNTF9TQ0hFTUFfTU9ERUxfR1JPVVBfREVGX01BUktFRDsKKwkJICAgIGlmIChjaXJjICE9IE5VTEwpCisJCQlyZXR1cm4gKGNpcmMpOworCQl9CisJCWJyZWFrOworCSAgICBjYXNlIFhNTF9TQ0hFTUFfVFlQRV9TRVFVRU5DRToKKwkgICAgY2FzZSBYTUxfU0NIRU1BX1RZUEVfQ0hPSUNFOgorCSAgICBjYXNlIFhNTF9TQ0hFTUFfVFlQRV9BTEw6CisJCWNpcmMgPSB4bWxTY2hlbWFHZXRDaXJjTW9kZWxHckRlZlJlZihncm91cERlZiwgdGVybS0+Y2hpbGRyZW4pOworCQlpZiAoY2lyYyAhPSBOVUxMKQorCQkgICAgcmV0dXJuIChjaXJjKTsKKwkJYnJlYWs7CisJICAgIGRlZmF1bHQ6CisJCWJyZWFrOworCX0KKyAgICB9CisgICAgcmV0dXJuIChOVUxMKTsKK30KKworLyoqCisgKiB4bWxTY2hlbWFDaGVja0dyb3VwRGVmQ2lyY3VsYXI6CisgKiBAaXRlbTogIHRoZSBtb2RlbCBncm91cCBkZWZpbml0aW9uCisgKiBAY3R4dDogIHRoZSBwYXJzZXIgY29udGV4dAorICogQG5hbWU6ICB0aGUgbmFtZQorICoKKyAqIENoZWNrcyBmb3IgY2lyY3VsYXIgcmVmZXJlbmNlcyB0byBtb2RlbCBncm91cCBkZWZpbml0aW9ucy4KKyAqLworc3RhdGljIHZvaWQKK3htbFNjaGVtYUNoZWNrR3JvdXBEZWZDaXJjdWxhcih4bWxTY2hlbWFNb2RlbEdyb3VwRGVmUHRyIGl0ZW0sCisJCQkgICAgICAgeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBjdHh0KQoreworICAgIC8qCisgICAgKiBTY2hlbWEgQ29tcG9uZW50IENvbnN0cmFpbnQ6IE1vZGVsIEdyb3VwIENvcnJlY3QKKyAgICAqIDIgQ2lyY3VsYXIgZ3JvdXBzIGFyZSBkaXNhbGxvd2VkLiBUaGF0IGlzLCB3aXRoaW4gdGhlIHtwYXJ0aWNsZXN9CisgICAgKiBvZiBhIGdyb3VwIHRoZXJlIG11c3Qgbm90IGJlIGF0IGFueSBkZXB0aCBhIHBhcnRpY2xlIHdob3NlIHt0ZXJtfQorICAgICogaXMgdGhlIGdyb3VwIGl0c2VsZi4KKyAgICAqLworICAgIGlmICgoaXRlbSA9PSBOVUxMKSB8fAorCShpdGVtLT50eXBlICE9IFhNTF9TQ0hFTUFfVFlQRV9HUk9VUCkgfHwKKwkoaXRlbS0+Y2hpbGRyZW4gPT0gTlVMTCkpCisJcmV0dXJuOworICAgIHsKKwl4bWxTY2hlbWFUcmVlSXRlbVB0ciBjaXJjOworCisJY2lyYyA9IHhtbFNjaGVtYUdldENpcmNNb2RlbEdyRGVmUmVmKGl0ZW0sIGl0ZW0tPmNoaWxkcmVuLT5jaGlsZHJlbik7CisJaWYgKGNpcmMgIT0gTlVMTCkgeworCSAgICB4bWxDaGFyICpzdHIgPSBOVUxMOworCSAgICAvKgorCSAgICAqIFRPRE86IFRoZSBlcnJvciByZXBvcnQgaXMgbm90IGFkZXF1YXRlOiB0aGlzIGNvbnN0cmFpbnQKKwkgICAgKiBpcyBkZWZpbmVkIGZvciBtb2RlbCBncm91cHMgYnV0IG5vdCBkZWZpbml0aW9ucywgYnV0IHNpbmNlCisJICAgICogdGhlcmUgY2Fubm90IGJlIGFueSBjaXJjdWxhciBtb2RlbCBncm91cHMgd2l0aG91dCBhIG1vZGVsIGdyb3VwCisJICAgICogZGVmaW5pdGlvbiAoaWYgbm90IHVzaW5nIGEgY29uc3RydWN0aW9uIEFQSSksIHdlIGNoZWNrIHRob3NlCisJICAgICogZGVmaW50aW9ucyBvbmx5LgorCSAgICAqLworCSAgICB4bWxTY2hlbWFQQ3VzdG9tRXJyKGN0eHQsCisJCVhNTF9TQ0hFTUFQX01HX1BST1BTX0NPUlJFQ1RfMiwKKwkJTlVMTCwgV1hTX0lURU1fTk9ERShjaXJjKSwKKwkJIkNpcmN1bGFyIHJlZmVyZW5jZSB0byB0aGUgbW9kZWwgZ3JvdXAgZGVmaW5pdGlvbiAnJXMnICIKKwkJImRlZmluZWQiLCB4bWxTY2hlbWFGb3JtYXRRTmFtZSgmc3RyLAorCQkgICAgaXRlbS0+dGFyZ2V0TmFtZXNwYWNlLCBpdGVtLT5uYW1lKSk7CisJICAgIEZSRUVfQU5EX05VTEwoc3RyKQorCSAgICAvKgorCSAgICAqIE5PVEU6IFdlIHdpbGwgY3V0IHRoZSByZWZlcmVuY2UgdG8gYXZvaWQgZnVydGhlcgorCSAgICAqIGNvbmZ1c2lvbiBvZiB0aGUgcHJvY2Vzc29yLiBUaGlzIGlzIGEgZmF0YWwgZXJyb3IuCisJICAgICovCisJICAgIGNpcmMtPmNoaWxkcmVuID0gTlVMTDsKKwl9CisgICAgfQorfQorCisvKioKKyAqIHhtbFNjaGVtYU1vZGVsR3JvdXBUb01vZGVsR3JvdXBEZWZGaXh1cDoKKyAqIEBjdHh0OiAgdGhlIHBhcnNlciBjb250ZXh0CisgKiBAbWc6ICB0aGUgbW9kZWwgZ3JvdXAKKyAqCisgKiBBc3NpZ25zIHRoZSBtb2RlbCBncm91cCBvZiBtb2RlbCBncm91cCBkZWZpbml0aW9ucyB0byB0aGUgInRlcm0iCisgKiBvZiB0aGUgcmVmZXJlbmNpbmcgcGFydGljbGUuCisgKiBJbiB4bWxTY2hlbWFSZXNvbHZlTW9kZWxHcm91cFBhcnRpY2xlUmVmZXJlbmNlcyB0aGUgbW9kZWwgZ3JvdXAKKyAqIGRlZmluaXRpb25zIHdlcmUgYXNzaWduZWQgdG8gdGhlICJ0ZXJtIiwgc2luY2UgbmVlZGVkIGZvciB0aGUKKyAqIGNpcmN1bGFyaXR5IGNoZWNrLgorICoKKyAqIFNjaGVtYSBDb21wb25lbnQgQ29uc3RyYWludDoKKyAqICAgICBBbGwgR3JvdXAgTGltaXRlZCAoY29zLWFsbC1saW1pdGVkKSAoMS4yKQorICovCitzdGF0aWMgdm9pZAoreG1sU2NoZW1hTW9kZWxHcm91cFRvTW9kZWxHcm91cERlZkZpeHVwKAorICAgIHhtbFNjaGVtYVBhcnNlckN0eHRQdHIgY3R4dCBBVFRSSUJVVEVfVU5VU0VELAorICAgIHhtbFNjaGVtYU1vZGVsR3JvdXBQdHIgbWcpCit7CisgICAgeG1sU2NoZW1hUGFydGljbGVQdHIgcGFydGljbGUgPSBXWFNfTU9ERUxHUk9VUF9QQVJUSUNMRShtZyk7CisKKyAgICB3aGlsZSAocGFydGljbGUgIT0gTlVMTCkgeworCWlmICgoV1hTX1BBUlRJQ0xFX1RFUk0ocGFydGljbGUpID09IE5VTEwpIHx8CisJICAgICgoV1hTX1BBUlRJQ0xFX1RFUk0ocGFydGljbGUpKS0+dHlwZSAhPQorCQlYTUxfU0NIRU1BX1RZUEVfR1JPVVApKQorCXsKKwkgICAgcGFydGljbGUgPSBXWFNfUFRDX0NBU1QgcGFydGljbGUtPm5leHQ7CisJICAgIGNvbnRpbnVlOworCX0KKwlpZiAoV1hTX01PREVMR1JPVVBERUZfTU9ERUwoV1hTX1BBUlRJQ0xFX1RFUk0ocGFydGljbGUpKSA9PSBOVUxMKSB7CisJICAgIC8qCisJICAgICogVE9ETzogUmVtb3ZlIHRoZSBwYXJ0aWNsZS4KKwkgICAgKi8KKwkgICAgV1hTX1BBUlRJQ0xFX1RFUk0ocGFydGljbGUpID0gTlVMTDsKKwkgICAgcGFydGljbGUgPSBXWFNfUFRDX0NBU1QgcGFydGljbGUtPm5leHQ7CisJICAgIGNvbnRpbnVlOworCX0KKwkvKgorCSogQXNzaWduIHRoZSBtb2RlbCBncm91cCB0byB0aGUge3Rlcm19IG9mIHRoZSBwYXJ0aWNsZS4KKwkqLworCVdYU19QQVJUSUNMRV9URVJNKHBhcnRpY2xlKSA9CisJICAgIFdYU19UUkVFX0NBU1QgV1hTX01PREVMR1JPVVBERUZfTU9ERUwoV1hTX1BBUlRJQ0xFX1RFUk0ocGFydGljbGUpKTsKKworCXBhcnRpY2xlID0gV1hTX1BUQ19DQVNUIHBhcnRpY2xlLT5uZXh0OworICAgIH0KK30KKworLyoqCisgKiB4bWxTY2hlbWFDaGVja0F0dHJHcm91cENpcmN1bGFyUmVjdXI6CisgKiBAY3R4dEdyOiB0aGUgc2VhcmNoZWQgYXR0cmlidXRlIGdyb3VwCisgKiBAYXR0cjogdGhlIGN1cnJlbnQgYXR0cmlidXRlIGxpc3QgdG8gYmUgcHJvY2Vzc2VkCisgKgorICogVGhpcyBvbmUgaXMgaW50ZW5kZWQgdG8gYmUgdXNlZCBieQorICogeG1sU2NoZW1hQ2hlY2tBdHRyR3JvdXBDaXJjdWxhciBvbmx5LgorICoKKyAqIFJldHVybnMgdGhlIGNpcmN1bGFyIGF0dHJpYnV0ZSBncm91IHJlZmVyZW5jZSwgb3RoZXJ3aXNlIE5VTEwuCisgKi8KK3N0YXRpYyB4bWxTY2hlbWFRTmFtZVJlZlB0cgoreG1sU2NoZW1hQ2hlY2tBdHRyR3JvdXBDaXJjdWxhclJlY3VyKHhtbFNjaGVtYUF0dHJpYnV0ZUdyb3VwUHRyIGN0eHRHciwKKwkJCQkgICAgIHhtbFNjaGVtYUl0ZW1MaXN0UHRyIGxpc3QpCit7CisgICAgeG1sU2NoZW1hQXR0cmlidXRlR3JvdXBQdHIgZ3I7CisgICAgeG1sU2NoZW1hUU5hbWVSZWZQdHIgcmVmLCBjaXJjOworICAgIGludCBpOworICAgIC8qCisgICAgKiBXZSB3aWxsIHNlYXJjaCBmb3IgYW4gYXR0cmlidXRlIGdyb3VwIHJlZmVyZW5jZSB3aGljaAorICAgICogcmVmZXJlbmNlcyB0aGUgY29udGV4dCBhdHRyaWJ1dGUgZ3JvdXAuCisgICAgKi8KKyAgICBmb3IgKGkgPSAwOyBpIDwgbGlzdC0+bmJJdGVtczsgaSsrKSB7CisJcmVmID0gbGlzdC0+aXRlbXNbaV07CisJaWYgKChyZWYtPnR5cGUgPT0gWE1MX1NDSEVNQV9FWFRSQV9RTkFNRVJFRikgJiYKKwkgICAgKHJlZi0+aXRlbVR5cGUgPT0gWE1MX1NDSEVNQV9UWVBFX0FUVFJJQlVURUdST1VQKSAmJgorCSAgICAocmVmLT5pdGVtICE9IE5VTEwpKQorCXsKKwkgICAgZ3IgPSBXWFNfQVRUUl9HUk9VUF9DQVNUIHJlZi0+aXRlbTsKKwkgICAgaWYgKGdyID09IGN0eHRHcikKKwkJcmV0dXJuKHJlZik7CisJICAgIGlmIChnci0+ZmxhZ3MgJiBYTUxfU0NIRU1BU19BVFRSR1JPVVBfTUFSS0VEKQorCQljb250aW51ZTsKKwkgICAgLyoKKwkgICAgKiBNYXJrIGFzIHZpc2l0ZWQgdG8gYXZvaWQgaW5maW5pdGUgcmVjdXJzaW9uIG9uCisJICAgICogY2lyY3VsYXIgcmVmZXJlbmNlcyBub3QgeWV0IGV4YW1pbmVkLgorCSAgICAqLworCSAgICBpZiAoKGdyLT5hdHRyVXNlcykgJiYKKwkJKGdyLT5mbGFncyAmIFhNTF9TQ0hFTUFTX0FUVFJHUk9VUF9IQVNfUkVGUykpCisJICAgIHsKKwkJZ3ItPmZsYWdzIHw9IFhNTF9TQ0hFTUFTX0FUVFJHUk9VUF9NQVJLRUQ7CisJCWNpcmMgPSB4bWxTY2hlbWFDaGVja0F0dHJHcm91cENpcmN1bGFyUmVjdXIoY3R4dEdyLAorCQkgICAgKHhtbFNjaGVtYUl0ZW1MaXN0UHRyKSBnci0+YXR0clVzZXMpOworCQlnci0+ZmxhZ3MgXj0gWE1MX1NDSEVNQVNfQVRUUkdST1VQX01BUktFRDsKKwkJaWYgKGNpcmMgIT0gTlVMTCkKKwkJICAgIHJldHVybiAoY2lyYyk7CisJICAgIH0KKworCX0KKyAgICB9CisgICAgcmV0dXJuIChOVUxMKTsKK30KKworLyoqCisgKiB4bWxTY2hlbWFDaGVja0F0dHJHcm91cENpcmN1bGFyOgorICogYXR0ckdyOiAgdGhlIGF0dHJpYnV0ZSBncm91cCBkZWZpbml0aW9uCisgKiBAY3R4dDogIHRoZSBwYXJzZXIgY29udGV4dAorICogQG5hbWU6ICB0aGUgbmFtZQorICoKKyAqIENoZWNrcyBmb3IgY2lyY3VsYXIgcmVmZXJlbmNlcyBvZiBhdHRyaWJ1dGUgZ3JvdXBzLgorICovCitzdGF0aWMgaW50Cit4bWxTY2hlbWFDaGVja0F0dHJHcm91cENpcmN1bGFyKHhtbFNjaGVtYUF0dHJpYnV0ZUdyb3VwUHRyIGF0dHJHciwKKwkJCQl4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIGN0eHQpCit7CisgICAgLyoKKyAgICAqIFNjaGVtYSBSZXByZXNlbnRhdGlvbiBDb25zdHJhaW50OgorICAgICogQXR0cmlidXRlIEdyb3VwIERlZmluaXRpb24gUmVwcmVzZW50YXRpb24gT0sKKyAgICAqIDMgQ2lyY3VsYXIgZ3JvdXAgcmVmZXJlbmNlIGlzIGRpc2FsbG93ZWQgb3V0c2lkZSA8cmVkZWZpbmU+LgorICAgICogVGhhdCBpcywgdW5sZXNzIHRoaXMgZWxlbWVudCBpbmZvcm1hdGlvbiBpdGVtJ3MgcGFyZW50IGlzCisgICAgKiA8cmVkZWZpbmU+LCB0aGVuIGFtb25nIHRoZSBbY2hpbGRyZW5dLCBpZiBhbnksIHRoZXJlIG11c3QKKyAgICAqIG5vdCBiZSBhbiA8YXR0cmlidXRlR3JvdXA+IHdpdGggcmVmIFthdHRyaWJ1dGVdIHdoaWNoIHJlc29sdmVzCisgICAgKiB0byB0aGUgY29tcG9uZW50IGNvcnJlc3BvbmRpbmcgdG8gdGhpcyA8YXR0cmlidXRlR3JvdXA+LiBJbmRpcmVjdAorICAgICogY2lyY3VsYXJpdHkgaXMgYWxzbyBydWxlZCBvdXQuIFRoYXQgaXMsIHdoZW4gUU5hbWUgcmVzb2x1dGlvbgorICAgICogKFNjaGVtYSBEb2N1bWVudCkgKCQzLjE1LjMpIGlzIGFwcGxpZWQgdG8gYSBgUU5hbWVgIGFyaXNpbmcgZnJvbQorICAgICogYW55IDxhdHRyaWJ1dGVHcm91cD5zIHdpdGggYSByZWYgW2F0dHJpYnV0ZV0gYW1vbmcgdGhlIFtjaGlsZHJlbl0sCisgICAgKiBpdCBtdXN0IG5vdCBiZSB0aGUgY2FzZSB0aGF0IGEgYFFOYW1lYCBpcyBlbmNvdW50ZXJlZCBhdCBhbnkgZGVwdGgKKyAgICAqIHdoaWNoIHJlc29sdmVzIHRvIHRoZSBjb21wb25lbnQgY29ycmVzcG9uZGluZyB0byB0aGlzIDxhdHRyaWJ1dGVHcm91cD4uCisgICAgKi8KKyAgICBpZiAoYXR0ckdyLT5hdHRyVXNlcyA9PSBOVUxMKQorCXJldHVybigwKTsKKyAgICBlbHNlIGlmICgoYXR0ckdyLT5mbGFncyAmIFhNTF9TQ0hFTUFTX0FUVFJHUk9VUF9IQVNfUkVGUykgPT0gMCkKKwlyZXR1cm4oMCk7CisgICAgZWxzZSB7CisJeG1sU2NoZW1hUU5hbWVSZWZQdHIgY2lyYzsKKworCWNpcmMgPSB4bWxTY2hlbWFDaGVja0F0dHJHcm91cENpcmN1bGFyUmVjdXIoYXR0ckdyLAorCSAgICAoeG1sU2NoZW1hSXRlbUxpc3RQdHIpIGF0dHJHci0+YXR0clVzZXMpOworCWlmIChjaXJjICE9IE5VTEwpIHsKKwkgICAgeG1sQ2hhciAqc3RyID0gTlVMTDsKKwkgICAgLyoKKwkgICAgKiBUT0RPOiBSZXBvcnQgdGhlIHJlZmVyZW5jZWQgYXR0ciBncm91cCBhcyBRTmFtZS4KKwkgICAgKi8KKwkgICAgeG1sU2NoZW1hUEN1c3RvbUVycihjdHh0LAorCQlYTUxfU0NIRU1BUF9TUkNfQVRUUklCVVRFX0dST1VQXzMsCisJCU5VTEwsIFdYU19JVEVNX05PREUoV1hTX0JBU0lDX0NBU1QgY2lyYyksCisJCSJDaXJjdWxhciByZWZlcmVuY2UgdG8gdGhlIGF0dHJpYnV0ZSBncm91cCAnJXMnICIKKwkJImRlZmluZWQiLCB4bWxTY2hlbWFHZXRDb21wb25lbnRRTmFtZSgmc3RyLCBhdHRyR3IpKTsKKwkgICAgRlJFRV9BTkRfTlVMTChzdHIpOworCSAgICAvKgorCSAgICAqIE5PVEU6IFdlIHdpbGwgY3V0IHRoZSByZWZlcmVuY2UgdG8gYXZvaWQgZnVydGhlcgorCSAgICAqIGNvbmZ1c2lvbiBvZiB0aGUgcHJvY2Vzc29yLgorCSAgICAqIEJBRFNQRUMgVE9ETzogVGhlIHNwZWMgc2hvdWxkIGRlZmluZSBob3cgdG8gcHJvY2VzcyBpbiB0aGlzIGNhc2UuCisJICAgICovCisJICAgIGNpcmMtPml0ZW0gPSBOVUxMOworCSAgICByZXR1cm4oY3R4dC0+ZXJyKTsKKwl9CisgICAgfQorICAgIHJldHVybigwKTsKK30KKworc3RhdGljIGludAoreG1sU2NoZW1hQXR0cmlidXRlR3JvdXBFeHBhbmRSZWZzKHhtbFNjaGVtYVBhcnNlckN0eHRQdHIgcGN0eHQsCisJCQkJICB4bWxTY2hlbWFBdHRyaWJ1dGVHcm91cFB0ciBhdHRyR3IpOworCisvKioKKyAqIHhtbFNjaGVtYUV4cGFuZEF0dHJpYnV0ZUdyb3VwUmVmczoKKyAqIEBwY3R4dDogdGhlIHBhcnNlciBjb250ZXh0CisgKiBAbm9kZTogdGhlIG5vZGUgb2YgdGhlIGNvbXBvbmVudCBob2xkaW5nIHRoZSBhdHRyaWJ1dGUgdXNlcworICogQGNvbXBsZXRlV2lsZDogdGhlIGludGVyc2VjdGVkIHdpbGRjYXJkIHRvIGJlIHJldHVybmVkCisgKiBAbGlzdDogdGhlIGF0dHJpYnV0ZSB1c2VzCisgKgorICogU3Vic3RpdHV0ZXMgY29udGFpbmVkIGF0dHJpYnV0ZSBncm91cCByZWZlcmVuY2VzCisgKiBmb3IgdGhlaXIgYXR0cmlidXRlIHVzZXMuIFdpbGNhcmRzIGFyZSBpbnRlcnNlY3RlZC4KKyAqIEF0dHJpYnV0ZSB1c2UgcHJvaGliaXRpb25zIGFyZSByZW1vdmVkIGZyb20gdGhlIGxpc3QKKyAqIGFuZCByZXR1cm5lZCB2aWEgdGhlIEBwcm9oaWJzIGxpc3QuCisgKiBQb2ludGxlc3NuZXNzIG9mIGF0dHIuIHByb2hpYnMsIGlmIGEgbWF0Y2hpbmcgYXR0ci4gZGVjbAorICogaXMgZXhpc3RlbnQgYSB3ZWxsLCBhcmUgY2hlY2tlZC4KKyAqLworc3RhdGljIGludAoreG1sU2NoZW1hRXhwYW5kQXR0cmlidXRlR3JvdXBSZWZzKHhtbFNjaGVtYVBhcnNlckN0eHRQdHIgcGN0eHQsCisJCQkJICB4bWxTY2hlbWFCYXNpY0l0ZW1QdHIgaXRlbSwKKwkJCQkgIHhtbFNjaGVtYVdpbGRjYXJkUHRyICpjb21wbGV0ZVdpbGQsCisJCQkJICB4bWxTY2hlbWFJdGVtTGlzdFB0ciBsaXN0LAorCQkJCSAgeG1sU2NoZW1hSXRlbUxpc3RQdHIgcHJvaGlicykKK3sKKyAgICB4bWxTY2hlbWFBdHRyaWJ1dGVHcm91cFB0ciBncjsKKyAgICB4bWxTY2hlbWFBdHRyaWJ1dGVVc2VQdHIgdXNlOworICAgIHhtbFNjaGVtYUl0ZW1MaXN0UHRyIHN1Ymxpc3Q7CisgICAgaW50IGksIGo7CisgICAgaW50IGNyZWF0ZWQgPSAoKmNvbXBsZXRlV2lsZCA9PSBOVUxMKSA/IDAgOiAxOworCisgICAgaWYgKHByb2hpYnMpCisJcHJvaGlicy0+bmJJdGVtcyA9IDA7CisKKyAgICBmb3IgKGkgPSAwOyBpIDwgbGlzdC0+bmJJdGVtczsgaSsrKSB7CisJdXNlID0gbGlzdC0+aXRlbXNbaV07CisKKwlpZiAodXNlLT50eXBlID09IFhNTF9TQ0hFTUFfRVhUUkFfQVRUUl9VU0VfUFJPSElCKSB7CisJICAgIGlmIChwcm9oaWJzID09IE5VTEwpIHsKKwkJUEVSUk9SX0lOVCgieG1sU2NoZW1hRXhwYW5kQXR0cmlidXRlR3JvdXBSZWZzIiwKKwkJICAgICJ1bmV4cGVjdGVkIGF0dHIgcHJvaGliaXRpb24gZm91bmQiKTsKKwkJcmV0dXJuKC0xKTsKKwkgICAgfQorCSAgICAvKgorCSAgICAqIFJlbW92ZSBmcm9tIGF0dHJpYnV0ZSB1c2VzLgorCSAgICAqLworCSAgICBpZiAoeG1sU2NoZW1hSXRlbUxpc3RSZW1vdmUobGlzdCwgaSkgPT0gLTEpCisJCXJldHVybigtMSk7CisJICAgIGktLTsKKwkgICAgLyoKKwkgICAgKiBOb3RlIHRoYXQgZHVwbGljYXRlIHByb2hpYml0aW9ucyB3ZXJlIGFscmVhZHkKKwkgICAgKiBoYW5kbGVkIGF0IHBhcnNpbmcgdGltZS4KKwkgICAgKi8KKwkgICAgLyoKKwkgICAgKiBBZGQgdG8gbGlzdCBvZiBwcm9oaWJpdGlvbnMuCisJICAgICovCisJICAgIHhtbFNjaGVtYUl0ZW1MaXN0QWRkU2l6ZShwcm9oaWJzLCAyLCB1c2UpOworCSAgICBjb250aW51ZTsKKwl9CisJaWYgKCh1c2UtPnR5cGUgPT0gWE1MX1NDSEVNQV9FWFRSQV9RTkFNRVJFRikgJiYKKwkgICAgKChXWFNfUU5BTUVfQ0FTVCB1c2UpLT5pdGVtVHlwZSA9PSBYTUxfU0NIRU1BX1RZUEVfQVRUUklCVVRFR1JPVVApKQorCXsKKwkgICAgaWYgKChXWFNfUU5BTUVfQ0FTVCB1c2UpLT5pdGVtID09IE5VTEwpCisJCXJldHVybigtMSk7CisJICAgIGdyID0gV1hTX0FUVFJfR1JPVVBfQ0FTVCAoV1hTX1FOQU1FX0NBU1QgdXNlKS0+aXRlbTsKKwkgICAgLyoKKwkgICAgKiBFeHBhbmQgdGhlIHJlZmVyZW5jZWQgYXR0ci4gZ3JvdXAuCisJICAgICogVE9ETzogcmVtb3ZlIHRoaXMsIHRoaXMgaXMgZG9uZSBpbiBhIHByZXZpb3VzIHN0ZXAsIHNvCisJICAgICogYWxyZWFkeSBkb25lIGhlcmUuCisJICAgICovCisJICAgIGlmICgoZ3ItPmZsYWdzICYgWE1MX1NDSEVNQVNfQVRUUkdST1VQX1dJTERDQVJEX0JVSUxERUQpID09IDApIHsKKwkJaWYgKHhtbFNjaGVtYUF0dHJpYnV0ZUdyb3VwRXhwYW5kUmVmcyhwY3R4dCwgZ3IpID09IC0xKQorCQkgICAgcmV0dXJuKC0xKTsKKwkgICAgfQorCSAgICAvKgorCSAgICAqIEJ1aWxkIHRoZSAnY29tcGxldGUnIHdpbGRjYXJkOyBpLmUuIGludGVyc2VjdCBtdWx0aXBsZQorCSAgICAqIHdpbGRjYXJkcy4KKwkgICAgKi8KKwkgICAgaWYgKGdyLT5hdHRyaWJ1dGVXaWxkY2FyZCAhPSBOVUxMKSB7CisJCWlmICgqY29tcGxldGVXaWxkID09IE5VTEwpIHsKKwkJICAgICpjb21wbGV0ZVdpbGQgPSBnci0+YXR0cmlidXRlV2lsZGNhcmQ7CisJCX0gZWxzZSB7CisJCSAgICBpZiAoISBjcmVhdGVkKSB7CisJCQl4bWxTY2hlbWFXaWxkY2FyZFB0ciB0bXBXaWxkOworCisJCQkgLyoKKwkJCSogQ29weSB0aGUgZmlyc3QgZW5jb3VudGVyZWQgd2lsZGNhcmQgYXMgY29udGV4dCwKKwkJCSogZXhjZXB0IGZvciB0aGUgYW5ub3RhdGlvbi4KKwkJCSoKKwkJCSogQWx0aG91Z2ggdGhlIGNvbXBsZXRlIHdpbGRjYXJkIG1pZ2h0IG5vdCBjb3JyZXNwb25kCisJCQkqIHRvIGFueSBub2RlIGluIHRoZSBzY2hlbWEsIHdlIHdpbGwgYW5jaG9yIGl0IG9uCisJCQkqIHRoZSBub2RlIG9mIHRoZSBvd25lciBjb21wb25lbnQuCisJCQkqLworCQkJdG1wV2lsZCA9ICB4bWxTY2hlbWFBZGRXaWxkY2FyZChwY3R4dCwgcGN0eHQtPnNjaGVtYSwKKwkJCSAgICBYTUxfU0NIRU1BX1RZUEVfQU5ZX0FUVFJJQlVURSwKKwkJCSAgICBXWFNfSVRFTV9OT0RFKGl0ZW0pKTsKKwkJCWlmICh0bXBXaWxkID09IE5VTEwpCisJCQkgICAgcmV0dXJuKC0xKTsKKwkJCWlmICh4bWxTY2hlbWFDbG9uZVdpbGRjYXJkTnNDb25zdHJhaW50cyhwY3R4dCwKKwkJCSAgICB0bXBXaWxkLCAqY29tcGxldGVXaWxkKSA9PSAtMSkKKwkJCSAgICByZXR1cm4gKC0xKTsKKwkJCXRtcFdpbGQtPnByb2Nlc3NDb250ZW50cyA9ICgqY29tcGxldGVXaWxkKS0+cHJvY2Vzc0NvbnRlbnRzOworCQkJKmNvbXBsZXRlV2lsZCA9IHRtcFdpbGQ7CisJCQljcmVhdGVkID0gMTsKKwkJICAgIH0KKworCQkgICAgaWYgKHhtbFNjaGVtYUludGVyc2VjdFdpbGRjYXJkcyhwY3R4dCwgKmNvbXBsZXRlV2lsZCwKKwkJCWdyLT5hdHRyaWJ1dGVXaWxkY2FyZCkgPT0gLTEpCisJCQlyZXR1cm4oLTEpOworCQl9CisJICAgIH0KKwkgICAgLyoKKwkgICAgKiBKdXN0IHJlbW92ZSB0aGUgcmVmZXJlbmNlIGlmIHRoZSByZWZlcmVuY2VkIGdyb3VwIGRvZXMgbm90CisJICAgICogY29udGFpbiBhbnkgYXR0cmlidXRlIHVzZXMuCisJICAgICovCisJICAgIHN1Ymxpc3QgPSAoKHhtbFNjaGVtYUl0ZW1MaXN0UHRyKSBnci0+YXR0clVzZXMpOworCSAgICBpZiAoKHN1Ymxpc3QgPT0gTlVMTCkgfHwgc3VibGlzdC0+bmJJdGVtcyA9PSAwKSB7CisJCWlmICh4bWxTY2hlbWFJdGVtTGlzdFJlbW92ZShsaXN0LCBpKSA9PSAtMSkKKwkJICAgIHJldHVybigtMSk7CisJCWktLTsKKwkJY29udGludWU7CisJICAgIH0KKwkgICAgLyoKKwkgICAgKiBBZGQgdGhlIGF0dHJpYnV0ZSB1c2VzLgorCSAgICAqLworCSAgICBsaXN0LT5pdGVtc1tpXSA9IHN1Ymxpc3QtPml0ZW1zWzBdOworCSAgICBpZiAoc3VibGlzdC0+bmJJdGVtcyAhPSAxKSB7CisJCWZvciAoaiA9IDE7IGogPCBzdWJsaXN0LT5uYkl0ZW1zOyBqKyspIHsKKwkJICAgIGkrKzsKKwkJICAgIGlmICh4bWxTY2hlbWFJdGVtTGlzdEluc2VydChsaXN0LAorCQkJICAgIHN1Ymxpc3QtPml0ZW1zW2pdLCBpKSA9PSAtMSkKKwkJCXJldHVybigtMSk7CisJCX0KKwkgICAgfQorCX0KKworICAgIH0KKyAgICAvKgorICAgICogSGFuZGxlIHBvaW50bGVzcyBwcm9oaWJpdGlvbnMgb2YgZGVjbGFyZWQgYXR0cmlidXRlcy4KKyAgICAqLworICAgIGlmIChwcm9oaWJzICYmIChwcm9oaWJzLT5uYkl0ZW1zICE9IDApICYmIChsaXN0LT5uYkl0ZW1zICE9IDApKSB7CisJeG1sU2NoZW1hQXR0cmlidXRlVXNlUHJvaGliUHRyIHByb2hpYjsKKworCWZvciAoaSA9IHByb2hpYnMtPm5iSXRlbXMgLTE7IGkgPj0gMDsgaS0tKSB7CisJICAgIHByb2hpYiA9IHByb2hpYnMtPml0ZW1zW2ldOworCSAgICBmb3IgKGogPSAwOyBqIDwgbGlzdC0+bmJJdGVtczsgaisrKSB7CisJCXVzZSA9IGxpc3QtPml0ZW1zW2pdOworCisJCWlmICgocHJvaGliLT5uYW1lID09IFdYU19BVFRSVVNFX0RFQ0xfTkFNRSh1c2UpKSAmJgorCQkgICAgKHByb2hpYi0+dGFyZ2V0TmFtZXNwYWNlID09IFdYU19BVFRSVVNFX0RFQ0xfVE5TKHVzZSkpKQorCQl7CisJCSAgICB4bWxDaGFyICpzdHIgPSBOVUxMOworCisJCSAgICB4bWxTY2hlbWFDdXN0b21XYXJuaW5nKEFDVFhUX0NBU1QgcGN0eHQsCisJCQlYTUxfU0NIRU1BUF9XQVJOX0FUVFJfUE9JTlRMRVNTX1BST0gsCisJCQlwcm9oaWItPm5vZGUsIE5VTEwsCisJCQkiU2tpcHBpbmcgcG9pbnRsZXNzIGF0dHJpYnV0ZSB1c2UgcHJvaGliaXRpb24gIgorCQkJIiclcycsIHNpbmNlIGEgY29ycmVzcG9uZGluZyBhdHRyaWJ1dGUgdXNlICIKKwkJCSJleGlzdHMgYWxyZWFkeSBpbiB0aGUgdHlwZSBkZWZpbml0aW9uIiwKKwkJCXhtbFNjaGVtYUZvcm1hdFFOYW1lKCZzdHIsCisJCQkgICAgcHJvaGliLT50YXJnZXROYW1lc3BhY2UsIHByb2hpYi0+bmFtZSksCisJCQlOVUxMLCBOVUxMKTsKKwkJICAgIEZSRUVfQU5EX05VTEwoc3RyKTsKKwkJICAgIC8qCisJCSAgICAqIFJlbW92ZSB0aGUgcHJvaGliaXRpb24uCisJCSAgICAqLworCQkgICAgaWYgKHhtbFNjaGVtYUl0ZW1MaXN0UmVtb3ZlKHByb2hpYnMsIGkpID09IC0xKQorCQkJcmV0dXJuKC0xKTsKKwkJICAgIGJyZWFrOworCQl9CisJICAgIH0KKwl9CisgICAgfQorICAgIHJldHVybigwKTsKK30KKworLyoqCisgKiB4bWxTY2hlbWFBdHRyaWJ1dGVHcm91cEV4cGFuZFJlZnM6CisgKiBAcGN0eHQ6ICB0aGUgcGFyc2VyIGNvbnRleHQKKyAqIEBhdHRyR3I6ICB0aGUgYXR0cmlidXRlIGdyb3VwIGRlZmluaXRpb24KKyAqCisgKiBDb21wdXRhdGlvbiBvZjoKKyAqIHthdHRyaWJ1dGUgdXNlc30gcHJvcGVydHkKKyAqIHthdHRyaWJ1dGUgd2lsZGNhcmR9IHByb3BlcnR5CisgKgorICogU3Vic3RpdHV0ZXMgY29udGFpbmVkIGF0dHJpYnV0ZSBncm91cCByZWZlcmVuY2VzCisgKiBmb3IgdGhlaXIgYXR0cmlidXRlIHVzZXMuIFdpbGNhcmRzIGFyZSBpbnRlcnNlY3RlZC4KKyAqLworc3RhdGljIGludAoreG1sU2NoZW1hQXR0cmlidXRlR3JvdXBFeHBhbmRSZWZzKHhtbFNjaGVtYVBhcnNlckN0eHRQdHIgcGN0eHQsCisJCQkJICB4bWxTY2hlbWFBdHRyaWJ1dGVHcm91cFB0ciBhdHRyR3IpCit7CisgICAgaWYgKChhdHRyR3ItPmF0dHJVc2VzID09IE5VTEwpIHx8CisJKGF0dHJHci0+ZmxhZ3MgJiBYTUxfU0NIRU1BU19BVFRSR1JPVVBfV0lMRENBUkRfQlVJTERFRCkpCisJcmV0dXJuKDApOworCisgICAgYXR0ckdyLT5mbGFncyB8PSBYTUxfU0NIRU1BU19BVFRSR1JPVVBfV0lMRENBUkRfQlVJTERFRDsKKyAgICBpZiAoeG1sU2NoZW1hRXhwYW5kQXR0cmlidXRlR3JvdXBSZWZzKHBjdHh0LCBXWFNfQkFTSUNfQ0FTVCBhdHRyR3IsCisJJihhdHRyR3ItPmF0dHJpYnV0ZVdpbGRjYXJkKSwgYXR0ckdyLT5hdHRyVXNlcywgTlVMTCkgPT0gLTEpCisJcmV0dXJuKC0xKTsKKyAgICByZXR1cm4oMCk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hQXR0cmlidXRlR3JvdXBFeHBhbmRSZWZzOgorICogQHBjdHh0OiAgdGhlIHBhcnNlciBjb250ZXh0CisgKiBAYXR0ckdyOiAgdGhlIGF0dHJpYnV0ZSBncm91cCBkZWZpbml0aW9uCisgKgorICogU3Vic3RpdHV0ZXMgY29udGFpbmVkIGF0dHJpYnV0ZSBncm91cCByZWZlcmVuY2VzCisgKiBmb3IgdGhlaXIgYXR0cmlidXRlIHVzZXMuIFdpbGNhcmRzIGFyZSBpbnRlcnNlY3RlZC4KKyAqCisgKiBTY2hlbWEgQ29tcG9uZW50IENvbnN0cmFpbnQ6CisgKiAgICBBdHRyaWJ1dGUgR3JvdXAgRGVmaW5pdGlvbiBQcm9wZXJ0aWVzIENvcnJlY3QgKGFnLXByb3BzLWNvcnJlY3QpCisgKi8KK3N0YXRpYyBpbnQKK3htbFNjaGVtYUNoZWNrQUdQcm9wc0NvcnJlY3QoeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBwY3R4dCwKKwkJCQkgIHhtbFNjaGVtYUF0dHJpYnV0ZUdyb3VwUHRyIGF0dHJHcikKK3sKKyAgICAvKgorICAgICogU1BFQyBhZy1wcm9wcy1jb3JyZWN0CisgICAgKiAoMSkgIlRoZSB2YWx1ZXMgb2YgdGhlIHByb3BlcnRpZXMgb2YgYW4gYXR0cmlidXRlIGdyb3VwIGRlZmluaXRpb24KKyAgICAqIG11c3QgYmUgYXMgZGVzY3JpYmVkIGluIHRoZSBwcm9wZXJ0eSB0YWJsZWF1IGluIFRoZSBBdHRyaWJ1dGUKKyAgICAqIEdyb3VwIERlZmluaXRpb24gU2NoZW1hIENvbXBvbmVudCAoJDMuNi4xKSwgbW9kdWxvIHRoZSBpbXBhY3Qgb2YKKyAgICAqIE1pc3NpbmcgU3ViLWNvbXBvbmVudHMgKCQ1LjMpOyIKKyAgICAqLworCisgICAgaWYgKChhdHRyR3ItPmF0dHJVc2VzICE9IE5VTEwpICYmCisJKFdYU19MSVNUX0NBU1QgYXR0ckdyLT5hdHRyVXNlcyktPm5iSXRlbXMgPiAxKQorICAgIHsKKwl4bWxTY2hlbWFJdGVtTGlzdFB0ciB1c2VzID0gV1hTX0xJU1RfQ0FTVCBhdHRyR3ItPmF0dHJVc2VzOworCXhtbFNjaGVtYUF0dHJpYnV0ZVVzZVB0ciB1c2UsIHRtcDsKKwlpbnQgaSwgaiwgaGFzSWQgPSAwOworCisJZm9yIChpID0gdXNlcy0+bmJJdGVtcyAtMTsgaSA+PSAwOyBpLS0pIHsKKwkgICAgdXNlID0gdXNlcy0+aXRlbXNbaV07CisJICAgIC8qCisJICAgICogU1BFQyBhZy1wcm9wcy1jb3JyZWN0CisJICAgICogKDIpICJUd28gZGlzdGluY3QgbWVtYmVycyBvZiB0aGUge2F0dHJpYnV0ZSB1c2VzfSBtdXN0IG5vdCBoYXZlCisJICAgICoge2F0dHJpYnV0ZSBkZWNsYXJhdGlvbn1zIGJvdGggb2Ygd2hvc2Uge25hbWV9cyBtYXRjaCBhbmQgd2hvc2UKKwkgICAgKiB7dGFyZ2V0IG5hbWVzcGFjZX1zIGFyZSBpZGVudGljYWwuIgorCSAgICAqLworCSAgICBpZiAoaSA+IDApIHsKKwkJZm9yIChqID0gaSAtMTsgaiA+PSAwOyBqLS0pIHsKKwkJICAgIHRtcCA9IHVzZXMtPml0ZW1zW2pdOworCQkgICAgaWYgKChXWFNfQVRUUlVTRV9ERUNMX05BTUUodXNlKSA9PQorCQkJV1hTX0FUVFJVU0VfREVDTF9OQU1FKHRtcCkpICYmCisJCQkoV1hTX0FUVFJVU0VfREVDTF9UTlModXNlKSA9PQorCQkJV1hTX0FUVFJVU0VfREVDTF9UTlModG1wKSkpCisJCSAgICB7CisJCQl4bWxDaGFyICpzdHIgPSBOVUxMOworCisJCQl4bWxTY2hlbWFDdXN0b21FcnIoQUNUWFRfQ0FTVCBwY3R4dCwKKwkJCSAgICBYTUxfU0NIRU1BUF9BR19QUk9QU19DT1JSRUNULAorCQkJICAgIGF0dHJHci0+bm9kZSwgV1hTX0JBU0lDX0NBU1QgYXR0ckdyLAorCQkJICAgICJEdXBsaWNhdGUgJXMiLAorCQkJICAgIHhtbFNjaGVtYUdldENvbXBvbmVudERlc2lnbmF0aW9uKCZzdHIsIHVzZSksCisJCQkgICAgTlVMTCk7CisJCQlGUkVFX0FORF9OVUxMKHN0cik7CisJCQkvKgorCQkJKiBSZW1vdmUgdGhlIGR1cGxpY2F0ZS4KKwkJCSovCisJCQlpZiAoeG1sU2NoZW1hSXRlbUxpc3RSZW1vdmUodXNlcywgaSkgPT0gLTEpCisJCQkgICAgcmV0dXJuKC0xKTsKKwkJCWdvdG8gbmV4dF91c2U7CisJCSAgICB9CisJCX0KKwkgICAgfQorCSAgICAvKgorCSAgICAqIFNQRUMgYWctcHJvcHMtY29ycmVjdAorCSAgICAqICgzKSAiVHdvIGRpc3RpbmN0IG1lbWJlcnMgb2YgdGhlIHthdHRyaWJ1dGUgdXNlc30gbXVzdCBub3QgaGF2ZQorCSAgICAqIHthdHRyaWJ1dGUgZGVjbGFyYXRpb259cyBib3RoIG9mIHdob3NlIHt0eXBlIGRlZmluaXRpb259cyBhcmUgb3IKKwkgICAgKiBhcmUgZGVyaXZlZCBmcm9tIElELiIKKwkgICAgKiBUT0RPOiBEb2VzICdkZXJpdmVkJyBpbmNsdWRlIG1lbWJlci10eXBlcyBvZiB1bmlvbnM/CisJICAgICovCisJICAgIGlmIChXWFNfQVRUUlVTRV9UWVBFREVGKHVzZSkgIT0gTlVMTCkgeworCQlpZiAoeG1sU2NoZW1hSXNEZXJpdmVkRnJvbUJ1aWx0SW5UeXBlKAorCQkgICAgV1hTX0FUVFJVU0VfVFlQRURFRih1c2UpLCBYTUxfU0NIRU1BU19JRCkpCisJCXsKKwkJICAgIGlmIChoYXNJZCkgeworCQkJeG1sQ2hhciAqc3RyID0gTlVMTDsKKworCQkJeG1sU2NoZW1hQ3VzdG9tRXJyKEFDVFhUX0NBU1QgcGN0eHQsCisJCQkgICAgWE1MX1NDSEVNQVBfQUdfUFJPUFNfQ09SUkVDVCwKKwkJCSAgICBhdHRyR3ItPm5vZGUsIFdYU19CQVNJQ19DQVNUIGF0dHJHciwKKwkJCSAgICAiVGhlcmUgbXVzdCBub3QgZXhpc3QgbW9yZSB0aGFuIG9uZSBhdHRyaWJ1dGUgIgorCQkJICAgICJkZWNsYXJhdGlvbiBvZiB0eXBlICd4czpJRCcgIgorCQkJICAgICIob3IgZGVyaXZlZCBmcm9tICd4czpJRCcpLiBUaGUgJXMgdmlvbGF0ZXMgdGhpcyAiCisJCQkgICAgImNvbnN0cmFpbnQiLAorCQkJICAgIHhtbFNjaGVtYUdldENvbXBvbmVudERlc2lnbmF0aW9uKCZzdHIsIHVzZSksCisJCQkgICAgTlVMTCk7CisJCQlGUkVFX0FORF9OVUxMKHN0cik7CisJCQlpZiAoeG1sU2NoZW1hSXRlbUxpc3RSZW1vdmUodXNlcywgaSkgPT0gLTEpCisJCQkgICAgcmV0dXJuKC0xKTsKKwkJICAgIH0KKwkJICAgIGhhc0lkID0gMTsKKwkJfQorCSAgICB9CituZXh0X3VzZToge30KKwl9CisgICAgfQorICAgIHJldHVybigwKTsKK30KKworLyoqCisgKiB4bWxTY2hlbWFSZXNvbHZlQXR0ckdyb3VwUmVmZXJlbmNlczoKKyAqIEBhdHRyZ3JwRGVjbDogIHRoZSBzY2hlbWEgYXR0cmlidXRlIGRlZmluaXRpb24KKyAqIEBjdHh0OiAgdGhlIHNjaGVtYSBwYXJzZXIgY29udGV4dAorICogQG5hbWU6ICB0aGUgYXR0cmlidXRlIG5hbWUKKyAqCisgKiBSZXNvbHZlcyByZWZlcmVuY2VzIHRvIGF0dHJpYnV0ZSBncm91cCBkZWZpbml0aW9ucy4KKyAqLworc3RhdGljIGludAoreG1sU2NoZW1hUmVzb2x2ZUF0dHJHcm91cFJlZmVyZW5jZXMoeG1sU2NoZW1hUU5hbWVSZWZQdHIgcmVmLAorCQkJCSAgICB4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIGN0eHQpCit7CisgICAgeG1sU2NoZW1hQXR0cmlidXRlR3JvdXBQdHIgZ3JvdXA7CisKKyAgICBpZiAocmVmLT5pdGVtICE9IE5VTEwpCisgICAgICAgIHJldHVybigwKTsKKyAgICBncm91cCA9IHhtbFNjaGVtYUdldEF0dHJpYnV0ZUdyb3VwKGN0eHQtPnNjaGVtYSwKKwlyZWYtPm5hbWUsCisJcmVmLT50YXJnZXROYW1lc3BhY2UpOworICAgIGlmIChncm91cCA9PSBOVUxMKSB7CisJeG1sU2NoZW1hUFJlc0NvbXBBdHRyRXJyKGN0eHQsCisJICAgIFhNTF9TQ0hFTUFQX1NSQ19SRVNPTFZFLAorCSAgICBOVUxMLCByZWYtPm5vZGUsCisJICAgICJyZWYiLCByZWYtPm5hbWUsIHJlZi0+dGFyZ2V0TmFtZXNwYWNlLAorCSAgICByZWYtPml0ZW1UeXBlLCBOVUxMKTsKKwlyZXR1cm4oY3R4dC0+ZXJyKTsKKyAgICB9CisgICAgcmVmLT5pdGVtID0gV1hTX0JBU0lDX0NBU1QgZ3JvdXA7CisgICAgcmV0dXJuKDApOworfQorCisvKioKKyAqIHhtbFNjaGVtYUNoZWNrQXR0clByb3BzQ29ycmVjdDoKKyAqIEBpdGVtOiAgYW4gc2NoZW1hIGF0dHJpYnV0ZSBkZWNsYXJhdGlvbi91c2UKKyAqIEBjdHh0OiAgYSBzY2hlbWEgcGFyc2VyIGNvbnRleHQKKyAqIEBuYW1lOiAgdGhlIG5hbWUgb2YgdGhlIGF0dHJpYnV0ZQorICoKKyAqCisgKiBTY2hlbWEgQ29tcG9uZW50IENvbnN0cmFpbnQ6CisgKiAgICBBdHRyaWJ1dGUgRGVjbGFyYXRpb24gUHJvcGVydGllcyBDb3JyZWN0IChhLXByb3BzLWNvcnJlY3QpCisgKgorICogVmFsaWRhdGVzIHRoZSB2YWx1ZSBjb25zdHJhaW50cyBvZiBhbiBhdHRyaWJ1dGUgZGVjbGFyYXRpb24vdXNlLgorICogTk9URSB0aGF0IHRoaXMgbmVlZHMgdGhlIHNpbWxlIHR5cGUgZGVmaW5pdGlvbnMgdG8gYmUgYWxyZWFkeQorICogICBidWlsZGVkIGFuZCBjaGVja2VkLgorICovCitzdGF0aWMgaW50Cit4bWxTY2hlbWFDaGVja0F0dHJQcm9wc0NvcnJlY3QoeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBwY3R4dCwKKwkJCSAgICAgICB4bWxTY2hlbWFBdHRyaWJ1dGVQdHIgYXR0cikKK3sKKworICAgIC8qCisgICAgKiBTUEVDIGEtcHJvcHMtY29ycmVjdCAoMSkKKyAgICAqICJUaGUgdmFsdWVzIG9mIHRoZSBwcm9wZXJ0aWVzIG9mIGFuIGF0dHJpYnV0ZSBkZWNsYXJhdGlvbiBtdXN0CisgICAgKiBiZSBhcyBkZXNjcmliZWQgaW4gdGhlIHByb3BlcnR5IHRhYmxlYXUgaW4gVGhlIEF0dHJpYnV0ZQorICAgICogRGVjbGFyYXRpb24gU2NoZW1hIENvbXBvbmVudCAoJDMuMi4xKSwgbW9kdWxvIHRoZSBpbXBhY3Qgb2YKKyAgICAqIE1pc3NpbmcgU3ViLWNvbXBvbmVudHMgKCQ1LjMpLiIKKyAgICAqLworCisgICAgaWYgKFdYU19BVFRSX1RZUEVERUYoYXR0cikgPT0gTlVMTCkKKwlyZXR1cm4oMCk7CisKKyAgICBpZiAoYXR0ci0+ZGVmVmFsdWUgIT0gTlVMTCkgeworCWludCByZXQ7CisKKwkvKgorCSogU1BFQyBhLXByb3BzLWNvcnJlY3QgKDMpCisJKiAiSWYgdGhlIHt0eXBlIGRlZmluaXRpb259IGlzIG9yIGlzIGRlcml2ZWQgZnJvbSBJRCB0aGVuIHRoZXJlCisJKiBtdXN0IG5vdCBiZSBhIHt2YWx1ZSBjb25zdHJhaW50fS4iCisJKi8KKwlpZiAoeG1sU2NoZW1hSXNEZXJpdmVkRnJvbUJ1aWx0SW5UeXBlKAorCSAgICBXWFNfQVRUUl9UWVBFREVGKGF0dHIpLCBYTUxfU0NIRU1BU19JRCkpCisJeworCSAgICB4bWxTY2hlbWFDdXN0b21FcnIoQUNUWFRfQ0FTVCBwY3R4dCwKKwkJWE1MX1NDSEVNQVBfQV9QUk9QU19DT1JSRUNUXzMsCisJCU5VTEwsIFdYU19CQVNJQ19DQVNUIGF0dHIsCisJCSJWYWx1ZSBjb25zdHJhaW50cyBhcmUgbm90IGFsbG93ZWQgaWYgdGhlIHR5cGUgZGVmaW5pdGlvbiAiCisJCSJpcyBvciBpcyBkZXJpdmVkIGZyb20geHM6SUQiLAorCQlOVUxMLCBOVUxMKTsKKwkgICAgcmV0dXJuKHBjdHh0LT5lcnIpOworCX0KKwkvKgorCSogU1BFQyBhLXByb3BzLWNvcnJlY3QgKDIpCisJKiAiaWYgdGhlcmUgaXMgYSB7dmFsdWUgY29uc3RyYWludH0sIHRoZSBjYW5vbmljYWwgbGV4aWNhbAorCSogcmVwcmVzZW50YXRpb24gb2YgaXRzIHZhbHVlIG11c3QgYmUgYHZhbGlkYCB3aXRoIHJlc3BlY3QKKwkqIHRvIHRoZSB7dHlwZSBkZWZpbml0aW9ufSBhcyBkZWZpbmVkIGluIFN0cmluZyBWYWxpZCAoJDMuMTQuNCkuIgorCSogVE9ETzogRG9uJ3QgY2FyZSBhYm91dCB0aGUgKmNhbm9uaWNhbCogc3R1ZmYgaGVyZSwgdGhpcyByZXF1aXJlbWVudAorCSogd2lsbCBiZSByZW1vdmVkIGluIFdYUyAxLjEgYW55d2F5LgorCSovCisJcmV0ID0geG1sU2NoZW1hVkNoZWNrQ1ZDU2ltcGxlVHlwZShBQ1RYVF9DQVNUIHBjdHh0LAorCSAgICBhdHRyLT5ub2RlLCBXWFNfQVRUUl9UWVBFREVGKGF0dHIpLAorCSAgICBhdHRyLT5kZWZWYWx1ZSwgJihhdHRyLT5kZWZWYWwpLAorCSAgICAxLCAxLCAwKTsKKwlpZiAocmV0ICE9IDApIHsKKwkgICAgaWYgKHJldCA8IDApIHsKKwkJUEVSUk9SX0lOVCgieG1sU2NoZW1hQ2hlY2tBdHRyUHJvcHNDb3JyZWN0IiwKKwkJICAgICJjYWxsaW5nIHhtbFNjaGVtYVZDaGVja0NWQ1NpbXBsZVR5cGUoKSIpOworCQlyZXR1cm4oLTEpOworCSAgICB9CisJICAgIHhtbFNjaGVtYUN1c3RvbUVycihBQ1RYVF9DQVNUIHBjdHh0LAorCQlYTUxfU0NIRU1BUF9BX1BST1BTX0NPUlJFQ1RfMiwKKwkJTlVMTCwgV1hTX0JBU0lDX0NBU1QgYXR0ciwKKwkJIlRoZSB2YWx1ZSBvZiB0aGUgdmFsdWUgY29uc3RyYWludCBpcyBub3QgdmFsaWQiLAorCQlOVUxMLCBOVUxMKTsKKwkgICAgcmV0dXJuKHBjdHh0LT5lcnIpOworCX0KKyAgICB9CisKKyAgICByZXR1cm4oMCk7Cit9CisKK3N0YXRpYyB4bWxTY2hlbWFFbGVtZW50UHRyCit4bWxTY2hlbWFDaGVja1N1YnN0R3JvdXBDaXJjdWxhcih4bWxTY2hlbWFFbGVtZW50UHRyIGVsZW1EZWNsLAorCQkJCSB4bWxTY2hlbWFFbGVtZW50UHRyIGFuY2VzdG9yKQoreworICAgIHhtbFNjaGVtYUVsZW1lbnRQdHIgcmV0OworCisgICAgaWYgKFdYU19TVUJTVF9IRUFEKGFuY2VzdG9yKSA9PSBOVUxMKQorCXJldHVybiAoTlVMTCk7CisgICAgaWYgKFdYU19TVUJTVF9IRUFEKGFuY2VzdG9yKSA9PSBlbGVtRGVjbCkKKwlyZXR1cm4gKGFuY2VzdG9yKTsKKworICAgIGlmIChXWFNfU1VCU1RfSEVBRChhbmNlc3RvciktPmZsYWdzICYgWE1MX1NDSEVNQVNfRUxFTV9DSVJDVUxBUikKKwlyZXR1cm4gKE5VTEwpOworICAgIFdYU19TVUJTVF9IRUFEKGFuY2VzdG9yKS0+ZmxhZ3MgfD0gWE1MX1NDSEVNQVNfRUxFTV9DSVJDVUxBUjsKKyAgICByZXQgPSB4bWxTY2hlbWFDaGVja1N1YnN0R3JvdXBDaXJjdWxhcihlbGVtRGVjbCwKKwlXWFNfU1VCU1RfSEVBRChhbmNlc3RvcikpOworICAgIFdYU19TVUJTVF9IRUFEKGFuY2VzdG9yKS0+ZmxhZ3MgXj0gWE1MX1NDSEVNQVNfRUxFTV9DSVJDVUxBUjsKKworICAgIHJldHVybiAocmV0KTsKK30KKworLyoqCisgKiB4bWxTY2hlbWFDaGVja0VsZW1Qcm9wc0NvcnJlY3Q6CisgKiBAY3R4dDogIGEgc2NoZW1hIHBhcnNlciBjb250ZXh0CisgKiBAZGVjbDogdGhlIGVsZW1lbnQgZGVjbGFyYXRpb24KKyAqIEBuYW1lOiAgdGhlIG5hbWUgb2YgdGhlIGF0dHJpYnV0ZQorICoKKyAqIFNjaGVtYSBDb21wb25lbnQgQ29uc3RyYWludDoKKyAqIEVsZW1lbnQgRGVjbGFyYXRpb24gUHJvcGVydGllcyBDb3JyZWN0IChlLXByb3BzLWNvcnJlY3QpCisgKgorICogU1RBVFVTOgorICogICBtaXNzaW5nOiAoNikKKyAqLworc3RhdGljIGludAoreG1sU2NoZW1hQ2hlY2tFbGVtUHJvcHNDb3JyZWN0KHhtbFNjaGVtYVBhcnNlckN0eHRQdHIgcGN0eHQsCisJCQkgICAgICAgeG1sU2NoZW1hRWxlbWVudFB0ciBlbGVtRGVjbCkKK3sKKyAgICBpbnQgcmV0ID0gMDsKKyAgICB4bWxTY2hlbWFUeXBlUHRyIHR5cGVEZWYgPSBXWFNfRUxFTV9UWVBFREVGKGVsZW1EZWNsKTsKKyAgICAvKgorICAgICogU1BFQyAoMSkgIlRoZSB2YWx1ZXMgb2YgdGhlIHByb3BlcnRpZXMgb2YgYW4gZWxlbWVudCBkZWNsYXJhdGlvbgorICAgICogbXVzdCBiZSBhcyBkZXNjcmliZWQgaW4gdGhlIHByb3BlcnR5IHRhYmxlYXUgaW4gVGhlIEVsZW1lbnQKKyAgICAqIERlY2xhcmF0aW9uIFNjaGVtYSBDb21wb25lbnQgKCQzLjMuMSksIG1vZHVsbyB0aGUgaW1wYWN0IG9mIE1pc3NpbmcKKyAgICAqIFN1Yi1jb21wb25lbnRzICgkNS4zKS4iCisgICAgKi8KKyAgICBpZiAoV1hTX1NVQlNUX0hFQUQoZWxlbURlY2wpICE9IE5VTEwpIHsKKwl4bWxTY2hlbWFFbGVtZW50UHRyIGhlYWQgPSBXWFNfU1VCU1RfSEVBRChlbGVtRGVjbCksIGNpcmM7CisKKwl4bWxTY2hlbWFDaGVja0VsZW1lbnREZWNsQ29tcG9uZW50KGhlYWQsIHBjdHh0KTsKKwkvKgorCSogU1BFQyAoMykgIklmIHRoZXJlIGlzIGEgbm9uLWBhYnNlbnRgIHtzdWJzdGl0dXRpb24gZ3JvdXAKKwkqIGFmZmlsaWF0aW9ufSwgdGhlbiB7c2NvcGV9IG11c3QgYmUgZ2xvYmFsLiIKKwkqLworCWlmICgoZWxlbURlY2wtPmZsYWdzICYgWE1MX1NDSEVNQVNfRUxFTV9HTE9CQUwpID09IDApIHsKKwkgICAgeG1sU2NoZW1hUEN1c3RvbUVycihwY3R4dCwKKwkJWE1MX1NDSEVNQVBfRV9QUk9QU19DT1JSRUNUXzMsCisJCVdYU19CQVNJQ19DQVNUIGVsZW1EZWNsLCBOVUxMLAorCQkiT25seSBnbG9iYWwgZWxlbWVudCBkZWNsYXJhdGlvbnMgY2FuIGhhdmUgYSAiCisJCSJzdWJzdGl0dXRpb24gZ3JvdXAgYWZmaWxpYXRpb24iLCBOVUxMKTsKKwkgICAgcmV0ID0gWE1MX1NDSEVNQVBfRV9QUk9QU19DT1JSRUNUXzM7CisJfQorCS8qCisJKiBUT0RPOiBTUEVDICg2KSAiQ2lyY3VsYXIgc3Vic3RpdHV0aW9uIGdyb3VwcyBhcmUgZGlzYWxsb3dlZC4KKwkqIFRoYXQgaXMsIGl0IG11c3Qgbm90IGJlIHBvc3NpYmxlIHRvIHJldHVybiB0byBhbiBlbGVtZW50IGRlY2xhcmF0aW9uCisJKiBieSByZXBlYXRlZGx5IGZvbGxvd2luZyB0aGUge3N1YnN0aXR1dGlvbiBncm91cCBhZmZpbGlhdGlvbn0KKwkqIHByb3BlcnR5LiIKKwkqLworCWlmIChoZWFkID09IGVsZW1EZWNsKQorCSAgICBjaXJjID0gaGVhZDsKKwllbHNlIGlmIChXWFNfU1VCU1RfSEVBRChoZWFkKSAhPSBOVUxMKQorCSAgICBjaXJjID0geG1sU2NoZW1hQ2hlY2tTdWJzdEdyb3VwQ2lyY3VsYXIoaGVhZCwgaGVhZCk7CisJZWxzZQorCSAgICBjaXJjID0gTlVMTDsKKwlpZiAoY2lyYyAhPSBOVUxMKSB7CisJICAgIHhtbENoYXIgKnN0ckEgPSBOVUxMLCAqc3RyQiA9IE5VTEw7CisKKwkgICAgeG1sU2NoZW1hUEN1c3RvbUVyckV4dChwY3R4dCwKKwkJWE1MX1NDSEVNQVBfRV9QUk9QU19DT1JSRUNUXzYsCisJCVdYU19CQVNJQ19DQVNUIGNpcmMsIE5VTEwsCisJCSJUaGUgZWxlbWVudCBkZWNsYXJhdGlvbiAnJXMnIGRlZmluZXMgYSBjaXJjdWxhciAiCisJCSJzdWJzdGl0dXRpb24gZ3JvdXAgdG8gZWxlbWVudCBkZWNsYXJhdGlvbiAnJXMnIiwKKwkJeG1sU2NoZW1hR2V0Q29tcG9uZW50UU5hbWUoJnN0ckEsIGNpcmMpLAorCQl4bWxTY2hlbWFHZXRDb21wb25lbnRRTmFtZSgmc3RyQiwgaGVhZCksCisJCU5VTEwpOworCSAgICBGUkVFX0FORF9OVUxMKHN0ckEpCisJICAgIEZSRUVfQU5EX05VTEwoc3RyQikKKwkgICAgcmV0ID0gWE1MX1NDSEVNQVBfRV9QUk9QU19DT1JSRUNUXzY7CisJfQorCS8qCisJKiBTUEVDICg0KSAiSWYgdGhlcmUgaXMgYSB7c3Vic3RpdHV0aW9uIGdyb3VwIGFmZmlsaWF0aW9ufSwKKwkqIHRoZSB7dHlwZSBkZWZpbml0aW9ufQorCSogb2YgdGhlIGVsZW1lbnQgZGVjbGFyYXRpb24gbXVzdCBiZSB2YWxpZGx5IGRlcml2ZWQgZnJvbSB0aGUge3R5cGUKKwkqIGRlZmluaXRpb259IG9mIHRoZSB7c3Vic3RpdHV0aW9uIGdyb3VwIGFmZmlsaWF0aW9ufSwgZ2l2ZW4gdGhlIHZhbHVlCisJKiBvZiB0aGUge3N1YnN0aXR1dGlvbiBncm91cCBleGNsdXNpb25zfSBvZiB0aGUge3N1YnN0aXR1dGlvbiBncm91cAorCSogYWZmaWxpYXRpb259LCBhcyBkZWZpbmVkIGluIFR5cGUgRGVyaXZhdGlvbiBPSyAoQ29tcGxleCkgKCQzLjQuNikKKwkqIChpZiB0aGUge3R5cGUgZGVmaW5pdGlvbn0gaXMgY29tcGxleCkgb3IgYXMgZGVmaW5lZCBpbgorCSogVHlwZSBEZXJpdmF0aW9uIE9LIChTaW1wbGUpICgkMy4xNC42KSAoaWYgdGhlIHt0eXBlIGRlZmluaXRpb259IGlzCisJKiBzaW1wbGUpLiIKKwkqCisJKiBOT1RFOiB7c3Vic3RpdHV0aW9uIGdyb3VwIGV4Y2x1c2lvbnN9IG1lYW5zIHRoZSB2YWx1ZXMgb2YgdGhlCisJKiBhdHRyaWJ1dGUgImZpbmFsIi4KKwkqLworCisJaWYgKHR5cGVEZWYgIT0gV1hTX0VMRU1fVFlQRURFRihXWFNfU1VCU1RfSEVBRChlbGVtRGVjbCkpKSB7CisJICAgIGludCBzZXQgPSAwOworCisJICAgIGlmIChoZWFkLT5mbGFncyAmIFhNTF9TQ0hFTUFTX0VMRU1fRklOQUxfRVhURU5TSU9OKQorCQlzZXQgfD0gU1VCU0VUX0VYVEVOU0lPTjsKKwkgICAgaWYgKGhlYWQtPmZsYWdzICYgWE1MX1NDSEVNQVNfRUxFTV9GSU5BTF9SRVNUUklDVElPTikKKwkJc2V0IHw9IFNVQlNFVF9SRVNUUklDVElPTjsKKworCSAgICBpZiAoeG1sU2NoZW1hQ2hlY2tDT1NEZXJpdmVkT0soQUNUWFRfQ0FTVCBwY3R4dCwgdHlwZURlZiwKKwkJV1hTX0VMRU1fVFlQRURFRihoZWFkKSwgc2V0KSAhPSAwKSB7CisJCXhtbENoYXIgKnN0ckEgPSBOVUxMLCAqc3RyQiA9IE5VTEwsICpzdHJDID0gTlVMTDsKKworCQlyZXQgPSBYTUxfU0NIRU1BUF9FX1BST1BTX0NPUlJFQ1RfNDsKKwkJeG1sU2NoZW1hUEN1c3RvbUVyckV4dChwY3R4dCwKKwkJICAgIFhNTF9TQ0hFTUFQX0VfUFJPUFNfQ09SUkVDVF80LAorCQkgICAgV1hTX0JBU0lDX0NBU1QgZWxlbURlY2wsIE5VTEwsCisJCSAgICAiVGhlIHR5cGUgZGVmaW5pdGlvbiAnJXMnIHdhcyAiCisJCSAgICAiZWl0aGVyIHJlamVjdGVkIGJ5IHRoZSBzdWJzdGl0dXRpb24gZ3JvdXAgIgorCQkgICAgImFmZmlsaWF0aW9uICclcycsIG9yIG5vdCB2YWxpZGx5IGRlcml2ZWQgZnJvbSBpdHMgdHlwZSAiCisJCSAgICAiZGVmaW5pdGlvbiAnJXMnIiwKKwkJICAgIHhtbFNjaGVtYUdldENvbXBvbmVudFFOYW1lKCZzdHJBLCB0eXBlRGVmKSwKKwkJICAgIHhtbFNjaGVtYUdldENvbXBvbmVudFFOYW1lKCZzdHJCLCBoZWFkKSwKKwkJICAgIHhtbFNjaGVtYUdldENvbXBvbmVudFFOYW1lKCZzdHJDLCBXWFNfRUxFTV9UWVBFREVGKGhlYWQpKSk7CisJCUZSRUVfQU5EX05VTEwoc3RyQSkKKwkJRlJFRV9BTkRfTlVMTChzdHJCKQorCQlGUkVFX0FORF9OVUxMKHN0ckMpCisJICAgIH0KKwl9CisgICAgfQorICAgIC8qCisgICAgKiBTUEVDICg1KSAiSWYgdGhlIHt0eXBlIGRlZmluaXRpb259IG9yIHt0eXBlIGRlZmluaXRpb259J3MKKyAgICAqIHtjb250ZW50IHR5cGV9CisgICAgKiBpcyBvciBpcyBkZXJpdmVkIGZyb20gSUQgdGhlbiB0aGVyZSBtdXN0IG5vdCBiZSBhIHt2YWx1ZSBjb25zdHJhaW50fS4KKyAgICAqIE5vdGU6IFRoZSB1c2Ugb2YgSUQgYXMgYSB0eXBlIGRlZmluaXRpb24gZm9yIGVsZW1lbnRzIGdvZXMgYmV5b25kCisgICAgKiBYTUwgMS4wLCBhbmQgc2hvdWxkIGJlIGF2b2lkZWQgaWYgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgaXMgZGVzaXJlZCIKKyAgICAqLworICAgIGlmICgoZWxlbURlY2wtPnZhbHVlICE9IE5VTEwpICYmCisJKChXWFNfSVNfU0lNUExFKHR5cGVEZWYpICYmCisJICB4bWxTY2hlbWFJc0Rlcml2ZWRGcm9tQnVpbHRJblR5cGUodHlwZURlZiwgWE1MX1NDSEVNQVNfSUQpKSB8fAorCSAoV1hTX0lTX0NPTVBMRVgodHlwZURlZikgJiYKKwkgIFdYU19IQVNfU0lNUExFX0NPTlRFTlQodHlwZURlZikgJiYKKwkgIHhtbFNjaGVtYUlzRGVyaXZlZEZyb21CdWlsdEluVHlwZSh0eXBlRGVmLT5jb250ZW50VHlwZURlZiwKKwkgICAgWE1MX1NDSEVNQVNfSUQpKSkpIHsKKworCXJldCA9IFhNTF9TQ0hFTUFQX0VfUFJPUFNfQ09SUkVDVF81OworCXhtbFNjaGVtYVBDdXN0b21FcnIocGN0eHQsCisJICAgIFhNTF9TQ0hFTUFQX0VfUFJPUFNfQ09SUkVDVF81LAorCSAgICBXWFNfQkFTSUNfQ0FTVCBlbGVtRGVjbCwgTlVMTCwKKwkgICAgIlRoZSB0eXBlIGRlZmluaXRpb24gKG9yIHR5cGUgZGVmaW5pdGlvbidzIGNvbnRlbnQgdHlwZSkgaXMgb3IgIgorCSAgICAiaXMgZGVyaXZlZCBmcm9tIElEOyB2YWx1ZSBjb25zdHJhaW50cyBhcmUgbm90IGFsbG93ZWQgaW4gIgorCSAgICAiY29uanVuY3Rpb24gd2l0aCBzdWNoIGEgdHlwZSBkZWZpbml0aW9uIiwgTlVMTCk7CisgICAgfSBlbHNlIGlmIChlbGVtRGVjbC0+dmFsdWUgIT0gTlVMTCkgeworCWludCB2Y3JldDsKKwl4bWxOb2RlUHRyIG5vZGUgPSBOVUxMOworCisJLyoKKwkqIFNQRUMgKDIpICJJZiB0aGVyZSBpcyBhIHt2YWx1ZSBjb25zdHJhaW50fSwgdGhlIGNhbm9uaWNhbCBsZXhpY2FsCisJKiByZXByZXNlbnRhdGlvbiBvZiBpdHMgdmFsdWUgbXVzdCBiZSBgdmFsaWRgIHdpdGggcmVzcGVjdCB0byB0aGUKKwkqIHt0eXBlIGRlZmluaXRpb259IGFzIGRlZmluZWQgaW4gRWxlbWVudCBEZWZhdWx0IFZhbGlkIChJbW1lZGlhdGUpCisJKiAoJDMuMy42KS4iCisJKi8KKwlpZiAodHlwZURlZiA9PSBOVUxMKSB7CisJICAgIHhtbFNjaGVtYVBFcnIocGN0eHQsIGVsZW1EZWNsLT5ub2RlLAorCQlYTUxfU0NIRU1BUF9JTlRFUk5BTCwKKwkJIkludGVybmFsIGVycm9yOiB4bWxTY2hlbWFDaGVja0VsZW1Qcm9wc0NvcnJlY3QsICIKKwkJInR5cGUgaXMgbWlzc2luZy4uLiBza2lwcGluZyB2YWxpZGF0aW9uIG9mICIKKwkJInRoZSB2YWx1ZSBjb25zdHJhaW50IiwgTlVMTCwgTlVMTCk7CisJICAgIHJldHVybiAoLTEpOworCX0KKwlpZiAoZWxlbURlY2wtPm5vZGUgIT0gTlVMTCkgeworCSAgICBpZiAoZWxlbURlY2wtPmZsYWdzICYgWE1MX1NDSEVNQVNfRUxFTV9GSVhFRCkKKwkJbm9kZSA9ICh4bWxOb2RlUHRyKSB4bWxIYXNQcm9wKGVsZW1EZWNsLT5ub2RlLAorCQkgICAgQkFEX0NBU1QgImZpeGVkIik7CisJICAgIGVsc2UKKwkJbm9kZSA9ICh4bWxOb2RlUHRyKSB4bWxIYXNQcm9wKGVsZW1EZWNsLT5ub2RlLAorCQkgICAgQkFEX0NBU1QgImRlZmF1bHQiKTsKKwl9CisJdmNyZXQgPSB4bWxTY2hlbWFQYXJzZUNoZWNrQ09TVmFsaWREZWZhdWx0KHBjdHh0LCBub2RlLAorCSAgICB0eXBlRGVmLCBlbGVtRGVjbC0+dmFsdWUsICYoZWxlbURlY2wtPmRlZlZhbCkpOworCWlmICh2Y3JldCAhPSAwKSB7CisJICAgIGlmICh2Y3JldCA8IDApIHsKKwkJUEVSUk9SX0lOVCgieG1sU2NoZW1hRWxlbUNoZWNrVmFsQ29uc3RyIiwKKwkJICAgICJmYWlsZWQgdG8gdmFsaWRhdGUgdGhlIHZhbHVlIGNvbnN0cmFpbnQgb2YgYW4gIgorCQkgICAgImVsZW1lbnQgZGVjbGFyYXRpb24iKTsKKwkJcmV0dXJuICgtMSk7CisJICAgIH0KKwkgICAgcmV0dXJuICh2Y3JldCk7CisJfQorICAgIH0KKworICAgIHJldHVybiAocmV0KTsKK30KKworLyoqCisgKiB4bWxTY2hlbWFDaGVja0VsZW1TdWJzdEdyb3VwOgorICogQGN0eHQ6ICBhIHNjaGVtYSBwYXJzZXIgY29udGV4dAorICogQGRlY2w6IHRoZSBlbGVtZW50IGRlY2xhcmF0aW9uCisgKiBAbmFtZTogIHRoZSBuYW1lIG9mIHRoZSBhdHRyaWJ1dGUKKyAqCisgKiBTY2hlbWEgQ29tcG9uZW50IENvbnN0cmFpbnQ6CisgKiBTdWJzdGl0dXRpb24gR3JvdXAgKGNvcy1lcXVpdi1jbGFzcykKKyAqCisgKiBJbiBMaWJ4bWwyIHRoZSBzdWJzdC4gZ3JvdXBzIHdpbGwgYmUgcHJlY29tcHV0ZWQsIGluIHRlcm1zIG9mIHRoYXQKKyAqIGEgbGlzdCB3aWxsIGJlIGJ1aWx0IGZvciBlYWNoIHN1YnN0LiBncm91cCBoZWFkLCBob2xkaW5nIGFsbCBkaXJlY3QKKyAqIHJlZmVyZW50cyB0byB0aGlzIGhlYWQuCisgKiBOT1RFIHRoYXQgdGhpcyBmdW5jdGlvbiBuZWVkczoKKyAqICAgMS4gY2lyY3VsYXIgc3Vic3QuIGdyb3VwcyB0byBiZSBjaGVja2VkIGJlZm9yZWhhbmQKKyAqICAgMi4gdGhlIGRlY2xhcmF0aW9uJ3MgdHlwZSB0byBiZSBkZXJpdmVkIGZyb20gdGhlIGhlYWQncyB0eXBlCisgKgorICogU1RBVFVTOgorICoKKyAqLworc3RhdGljIHZvaWQKK3htbFNjaGVtYUNoZWNrRWxlbVN1YnN0R3JvdXAoeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBjdHh0LAorCQkJICAgICB4bWxTY2hlbWFFbGVtZW50UHRyIGVsZW1EZWNsKQoreworICAgIGlmICgoV1hTX1NVQlNUX0hFQUQoZWxlbURlY2wpID09IE5VTEwpIHx8CisJLyogU1BFQyAoMSkgIkl0cyB7YWJzdHJhY3R9IGlzIGZhbHNlLiIgKi8KKwkoZWxlbURlY2wtPmZsYWdzICYgWE1MX1NDSEVNQVNfRUxFTV9BQlNUUkFDVCkpCisJcmV0dXJuOworICAgIHsKKwl4bWxTY2hlbWFFbGVtZW50UHRyIGhlYWQ7CisJeG1sU2NoZW1hVHlwZVB0ciBoZWFkVHlwZSwgdHlwZTsKKwlpbnQgc2V0LCBtZXRoU2V0OworCS8qCisJKiBTUEVDICgyKSAiSXQgaXMgdmFsaWRseSBzdWJzdGl0dXRhYmxlIGZvciBIRUFEIHN1YmplY3QgdG8gSEVBRCdzCisJKiB7ZGlzYWxsb3dlZCBzdWJzdGl0dXRpb25zfSBhcyB0aGUgYmxvY2tpbmcgY29uc3RyYWludCwgYXMgZGVmaW5lZCBpbgorCSogU3Vic3RpdHV0aW9uIEdyb3VwIE9LIChUcmFuc2l0aXZlKSAoJDMuMy42KS4iCisJKi8KKwlmb3IgKGhlYWQgPSBXWFNfU1VCU1RfSEVBRChlbGVtRGVjbCk7IGhlYWQgIT0gTlVMTDsKKwkgICAgaGVhZCA9IFdYU19TVUJTVF9IRUFEKGhlYWQpKSB7CisJICAgIHNldCA9IDA7CisJICAgIG1ldGhTZXQgPSAwOworCSAgICAvKgorCSAgICAqIFRoZSBibG9ja2luZyBjb25zdHJhaW50cy4KKwkgICAgKi8KKwkgICAgaWYgKGhlYWQtPmZsYWdzICYgWE1MX1NDSEVNQVNfRUxFTV9CTE9DS19TVUJTVElUVVRJT04pCisJCWNvbnRpbnVlOworCSAgICBoZWFkVHlwZSA9IGhlYWQtPnN1YnR5cGVzOworCSAgICB0eXBlID0gZWxlbURlY2wtPnN1YnR5cGVzOworCSAgICBpZiAoaGVhZFR5cGUgPT0gdHlwZSkKKwkJZ290byBhZGRfbWVtYmVyOworCSAgICBpZiAoaGVhZC0+ZmxhZ3MgJiBYTUxfU0NIRU1BU19FTEVNX0JMT0NLX1JFU1RSSUNUSU9OKQorCQlzZXQgfD0gWE1MX1NDSEVNQVNfVFlQRV9CTE9DS19SRVNUUklDVElPTjsKKwkgICAgaWYgKGhlYWQtPmZsYWdzICYgWE1MX1NDSEVNQVNfRUxFTV9CTE9DS19FWFRFTlNJT04pCisJCXNldCB8PSBYTUxfU0NIRU1BU19UWVBFX0JMT0NLX0VYVEVOU0lPTjsKKwkgICAgLyoKKwkgICAgKiBTUEVDOiBTdWJzdGl0dXRpb24gR3JvdXAgT0sgKFRyYW5zaXRpdmUpICgyLjMpCisJICAgICogIlRoZSBzZXQgb2YgYWxsIHtkZXJpdmF0aW9uIG1ldGhvZH1zIGludm9sdmVkIGluIHRoZQorCSAgICAqIGRlcml2YXRpb24gb2YgRCdzIHt0eXBlIGRlZmluaXRpb259IGZyb20gQydzIHt0eXBlIGRlZmluaXRpb259CisJICAgICogZG9lcyBub3QgaW50ZXJzZWN0IHdpdGggdGhlIHVuaW9uIG9mIHRoZSBibG9ja2luZyBjb25zdHJhaW50LAorCSAgICAqIEMncyB7cHJvaGliaXRlZCBzdWJzdGl0dXRpb25zfSAoaWYgQyBpcyBjb21wbGV4LCBvdGhlcndpc2UgdGhlCisJICAgICogZW1wdHkgc2V0KSBhbmQgdGhlIHtwcm9oaWJpdGVkIHN1YnN0aXR1dGlvbnN9IChyZXNwZWN0aXZlbHkgdGhlCisJICAgICogZW1wdHkgc2V0KSBvZiBhbnkgaW50ZXJtZWRpYXRlIHt0eXBlIGRlZmluaXRpb259cyBpbiB0aGUKKwkgICAgKiBkZXJpdmF0aW9uIG9mIEQncyB7dHlwZSBkZWZpbml0aW9ufSBmcm9tIEMncyB7dHlwZSBkZWZpbml0aW9ufS4iCisJICAgICovCisJICAgIC8qCisJICAgICogT1BUSU1JWkUgVE9ETzogT3B0aW1pemUgdGhpcyBhIGJpdCwgc2luY2UsIGlmIHRyYXZlcnNpbmcgdGhlCisJICAgICogc3Vic3QuaGVhZCBheGlzLCB0aGUgbWV0aFNldCBkb2VzIG5vdCBuZWVkIHRvIGJlIGNvbXB1dGVkIGZvcgorCSAgICAqIHRoZSBmdWxsIGRlcHRoIG92ZXIgYW5kIG92ZXIuCisJICAgICovCisJICAgIC8qCisJICAgICogVGhlIHNldCBvZiBhbGwge2Rlcml2YXRpb24gbWV0aG9kfXMgaW52b2x2ZWQgaW4gdGhlIGRlcml2YXRpb24KKwkgICAgKi8KKwkgICAgd2hpbGUgKCh0eXBlICE9IE5VTEwpICYmICh0eXBlICE9IGhlYWRUeXBlKSkgeworCQlpZiAoKFdYU19JU19FWFRFTlNJT04odHlwZSkpICYmCisJCSAgICAoKG1ldGhTZXQgJiBYTUxfU0NIRU1BU19UWVBFX0JMT0NLX1JFU1RSSUNUSU9OKSA9PSAwKSkKKwkJICAgIG1ldGhTZXQgfD0gWE1MX1NDSEVNQVNfVFlQRV9CTE9DS19FWFRFTlNJT047CisKKwkJaWYgKFdYU19JU19SRVNUUklDVElPTih0eXBlKSAmJgorCQkgICAgKChtZXRoU2V0ICYgWE1MX1NDSEVNQVNfVFlQRV9CTE9DS19SRVNUUklDVElPTikgPT0gMCkpCisJCSAgICBtZXRoU2V0IHw9IFhNTF9TQ0hFTUFTX1RZUEVfQkxPQ0tfUkVTVFJJQ1RJT047CisKKwkJdHlwZSA9IHR5cGUtPmJhc2VUeXBlOworCSAgICB9CisJICAgIC8qCisJICAgICogVGhlIHtwcm9oaWJpdGVkIHN1YnN0aXR1dGlvbnN9IG9mIGFsbCBpbnRlcm1lZGlhdGUgdHlwZXMgKworCSAgICAqIHRoZSBoZWFkJ3MgdHlwZS4KKwkgICAgKi8KKwkgICAgdHlwZSA9IGVsZW1EZWNsLT5zdWJ0eXBlcy0+YmFzZVR5cGU7CisJICAgIHdoaWxlICh0eXBlICE9IE5VTEwpIHsKKwkJaWYgKFdYU19JU19DT01QTEVYKHR5cGUpKSB7CisJCSAgICBpZiAoKHR5cGUtPmZsYWdzICYKKwkJCSAgICBYTUxfU0NIRU1BU19UWVBFX0JMT0NLX0VYVEVOU0lPTikgJiYKKwkJCSgoc2V0ICYgWE1MX1NDSEVNQVNfVFlQRV9CTE9DS19FWFRFTlNJT04pID09IDApKQorCQkgICAgc2V0IHw9IFhNTF9TQ0hFTUFTX1RZUEVfQkxPQ0tfRVhURU5TSU9OOworCQkgICAgaWYgKCh0eXBlLT5mbGFncyAmCisJCQkgICAgWE1MX1NDSEVNQVNfVFlQRV9CTE9DS19SRVNUUklDVElPTikgJiYKKwkJCSgoc2V0ICYgWE1MX1NDSEVNQVNfVFlQRV9CTE9DS19SRVNUUklDVElPTikgPT0gMCkpCisJCSAgICBzZXQgfD0gWE1MX1NDSEVNQVNfVFlQRV9CTE9DS19SRVNUUklDVElPTjsKKwkJfSBlbHNlCisJCSAgICBicmVhazsKKwkJaWYgKHR5cGUgPT0gaGVhZFR5cGUpCisJCSAgICBicmVhazsKKwkJdHlwZSA9IHR5cGUtPmJhc2VUeXBlOworCSAgICB9CisJICAgIGlmICgoc2V0ICE9IDApICYmCisJCSgoKHNldCAmIFhNTF9TQ0hFTUFTX1RZUEVfQkxPQ0tfRVhURU5TSU9OKSAmJgorCQkobWV0aFNldCAmIFhNTF9TQ0hFTUFTX1RZUEVfQkxPQ0tfRVhURU5TSU9OKSkgfHwKKwkJKChzZXQgJiBYTUxfU0NIRU1BU19UWVBFX0JMT0NLX1JFU1RSSUNUSU9OKSAmJgorCQkobWV0aFNldCAmIFhNTF9TQ0hFTUFTX1RZUEVfQkxPQ0tfUkVTVFJJQ1RJT04pKSkpIHsKKwkJY29udGludWU7CisJICAgIH0KK2FkZF9tZW1iZXI6CisJICAgIHhtbFNjaGVtYUFkZEVsZW1lbnRTdWJzdGl0dXRpb25NZW1iZXIoY3R4dCwgaGVhZCwgZWxlbURlY2wpOworCSAgICBpZiAoKGhlYWQtPmZsYWdzICYgWE1MX1NDSEVNQVNfRUxFTV9TVUJTVF9HUk9VUF9IRUFEKSA9PSAwKQorCQloZWFkLT5mbGFncyB8PSBYTUxfU0NIRU1BU19FTEVNX1NVQlNUX0dST1VQX0hFQUQ7CisJfQorICAgIH0KK30KKworI2lmZGVmIFdYU19FTEVNX0RFQ0xfQ09OU19FTkFCTEVEIC8qIGVuYWJsZSB3aGVuIGZpbmlzaGVkICovCisvKioKKyAqIHhtbFNjaGVtYUNoZWNrRWxlbWVudERlY2xDb21wb25lbnQKKyAqIEBwY3R4dDogdGhlIHNjaGVtYSBwYXJzZXIgY29udGV4dAorICogQGN0eHRDb21wb25lbnQ6IHRoZSBjb250ZXh0IGNvbXBvbmVudCAoYW4gZWxlbWVudCBkZWNsYXJhdGlvbikKKyAqIEBjdHh0UGFydGljbGU6IHRoZSBmaXJzdCBwYXJ0aWNsZSBvZiB0aGUgY29udGV4dCBjb21wb25lbnQKKyAqIEBzZWFyY2hQYXJ0aWNsZTogdGhlIGVsZW1lbnQgZGVjbGFyYXRpb24gcGFydGljbGUgdG8gYmUgYW5hbHlzZWQKKyAqCisgKiBTY2hlbWEgQ29tcG9uZW50IENvbnN0cmFpbnQ6IEVsZW1lbnQgRGVjbGFyYXRpb25zIENvbnNpc3RlbnQKKyAqLworc3RhdGljIGludAoreG1sU2NoZW1hQ2hlY2tFbGVtZW50RGVjbENvbnNpc3RlbnQoeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBwY3R4dCwKKwkJCQkgICAgeG1sU2NoZW1hQmFzaWNJdGVtUHRyIGN0eHRDb21wb25lbnQsCisJCQkJICAgIHhtbFNjaGVtYVBhcnRpY2xlUHRyIGN0eHRQYXJ0aWNsZSwKKwkJCQkgICAgeG1sU2NoZW1hUGFydGljbGVQdHIgc2VhcmNoUGFydGljbGUsCisJCQkJICAgIHhtbFNjaGVtYVBhcnRpY2xlUHRyIGN1clBhcnRpY2xlLAorCQkJCSAgICBpbnQgc2VhcmNoKQoreworICAgIHJldHVybigwKTsKKworICAgIGludCByZXQgPSAwOworICAgIHhtbFNjaGVtYVBhcnRpY2xlUHRyIGN1ciA9IGN1clBhcnRpY2xlOworICAgIGlmIChjdXJQYXJ0aWNsZSA9PSBOVUxMKSB7CisJcmV0dXJuKDApOworICAgIH0KKyAgICBpZiAoV1hTX1BBUlRJQ0xFX1RFUk0oY3VyUGFydGljbGUpID09IE5VTEwpIHsKKwkvKgorCSogSnVzdCByZXR1cm4gaW4gdGhpcyBjYXNlLiBBIG1pc3NpbmcgInRlcm0iIG9mIHRoZSBwYXJ0aWNsZQorCSogbWlnaHQgYXJpc2UgZHVlIHRvIGFuIGludmFsaWQgInRlcm0iIGNvbXBvbmVudC4KKwkqLworCXJldHVybigwKTsKKyAgICB9CisgICAgd2hpbGUgKGN1ciAhPSBOVUxMKSB7CisJc3dpdGNoIChXWFNfUEFSVElDTEVfVEVSTShjdXIpLT50eXBlKSB7CisJICAgIGNhc2UgWE1MX1NDSEVNQV9UWVBFX0FOWToKKwkJYnJlYWs7CisJICAgIGNhc2UgWE1MX1NDSEVNQV9UWVBFX0VMRU1FTlQ6CisJCWlmIChzZWFyY2ggPT0gMCkgeworCQkgICAgcmV0ID0geG1sU2NoZW1hQ2hlY2tFbGVtZW50RGVjbENvbnNpc3RlbnQocGN0eHQsCisJCQljdHh0Q29tcG9uZW50LCBjdHh0UGFydGljbGUsIGN1ciwgY3R4dFBhcnRpY2xlLCAxKTsKKwkJICAgIGlmIChyZXQgIT0gMCkKKwkJCXJldHVybihyZXQpOworCQl9IGVsc2UgeworCQkgICAgeG1sU2NoZW1hRWxlbWVudFB0ciBlbGVtID0KKwkJCVdYU19FTEVNX0NBU1QoV1hTX1BBUlRJQ0xFX1RFUk0oY3VyKSk7CisJCSAgICAvKgorCQkgICAgKiBTUEVDIEVsZW1lbnQgRGVjbGFyYXRpb25zIENvbnNpc3RlbnQ6CisJCSAgICAqICJJZiB0aGUge3BhcnRpY2xlc30gY29udGFpbnMsIGVpdGhlciBkaXJlY3RseSwKKwkJICAgICogaW5kaXJlY3RseSAodGhhdCBpcywgd2l0aGluIHRoZSB7cGFydGljbGVzfSBvZiBhCisJCSAgICAqIGNvbnRhaW5lZCBtb2RlbCBncm91cCwgcmVjdXJzaXZlbHkpIG9yIGBpbXBsaWNpdGx5YAorCQkgICAgKiB0d28gb3IgbW9yZSBlbGVtZW50IGRlY2xhcmF0aW9uIHBhcnRpY2xlcyB3aXRoCisJCSAgICAqIHRoZSBzYW1lIHtuYW1lfSBhbmQge3RhcmdldCBuYW1lc3BhY2V9LCB0aGVuCisJCSAgICAqIGFsbCB0aGVpciB0eXBlIGRlZmluaXRpb25zIG11c3QgYmUgdGhlIHNhbWUKKwkJICAgICogdG9wLWxldmVsIGRlZmluaXRpb24gWy4uLl0iCisJCSAgICAqLworCQkgICAgaWYgKHhtbFN0ckVxdWFsKFdYU19QQVJUSUNMRV9URVJNX0FTX0VMRU0oY3VyKS0+bmFtZSwKKwkJCSAgICBXWFNfUEFSVElDTEVfVEVSTV9BU19FTEVNKHNlYXJjaFBhcnRpY2xlKS0+bmFtZSkgJiYKKwkJCXhtbFN0ckVxdWFsKFdYU19QQVJUSUNMRV9URVJNX0FTX0VMRU0oY3VyKS0+dGFyZ2V0TmFtZXNwYWNlLAorCQkJICAgIFdYU19QQVJUSUNMRV9URVJNX0FTX0VMRU0oc2VhcmNoUGFydGljbGUpLT50YXJnZXROYW1lc3BhY2UpKQorCQkgICAgeworCQkJeG1sQ2hhciAqc3RyQSA9IE5VTEwsICpzdHJCID0gTlVMTDsKKworCQkJeG1sU2NoZW1hQ3VzdG9tRXJyKEFDVFhUX0NBU1QgcGN0eHQsCisJCQkgICAgLyogVE9ETzogZXJyb3IgY29kZSAqLworCQkJICAgIFhNTF9TQ0hFTUFQX0NPU19OT05BTUJJRywKKwkJCSAgICBXWFNfSVRFTV9OT0RFKGN1ciksIE5VTEwsCisJCQkgICAgIkluIHRoZSBjb250ZW50IG1vZGVsIG9mICVzLCB0aGVyZSBhcmUgbXVsdGlwbGUgIgorCQkJICAgICJlbGVtZW50IGRlY2xhcmF0aW9ucyBmb3IgJyVzJyB3aXRoIGRpZmZlcmVudCAiCisJCQkgICAgInR5cGUgZGVmaW5pdGlvbnMiLAorCQkJICAgIHhtbFNjaGVtYUdldENvbXBvbmVudERlc2lnbmF0aW9uKCZzdHJBLAorCQkJCWN0eHRDb21wb25lbnQpLAorCQkJICAgIHhtbFNjaGVtYUZvcm1hdFFOYW1lKCZzdHJCLAorCQkJCVdYU19QQVJUSUNMRV9URVJNX0FTX0VMRU0oY3VyKS0+dGFyZ2V0TmFtZXNwYWNlLAorCQkJCVdYU19QQVJUSUNMRV9URVJNX0FTX0VMRU0oY3VyKS0+bmFtZSkpOworCQkJRlJFRV9BTkRfTlVMTChzdHJBKTsKKwkJCUZSRUVfQU5EX05VTEwoc3RyQik7CisJCQlyZXR1cm4oWE1MX1NDSEVNQVBfQ09TX05PTkFNQklHKTsKKwkJICAgIH0KKwkJfQorCQlicmVhazsKKwkgICAgY2FzZSBYTUxfU0NIRU1BX1RZUEVfU0VRVUVOQ0U6IHsKKwkJYnJlYWs7CisJCX0KKwkgICAgY2FzZSBYTUxfU0NIRU1BX1RZUEVfQ0hPSUNFOnsKKwkJLyoKKwkJeG1sU2NoZW1hVHJlZUl0ZW1QdHIgc3ViOworCisJCXN1YiA9IFdYU19QQVJUSUNMRV9URVJNKHBhcnRpY2xlKS0+Y2hpbGRyZW47ICAoeG1sU2NoZW1hUGFydGljbGVQdHIpCisJCXdoaWxlIChzdWIgIT0gTlVMTCkgeworCQkgICAgcmV0ID0geG1sU2NoZW1hQ2hlY2tFbGVtZW50RGVjbENvbnNpc3RlbnQocGN0eHQsIGN0eHRDb21wb25lbnQsCisJCQljdHh0UGFydGljbGUsIGN0eHRFbGVtKTsKKwkJICAgIGlmIChyZXQgIT0gMCkKKwkJCXJldHVybihyZXQpOworCQkgICAgc3ViID0gc3ViLT5uZXh0OworCQl9CisJCSovCisJCWJyZWFrOworCQl9CisJICAgIGNhc2UgWE1MX1NDSEVNQV9UWVBFX0FMTDoKKwkJYnJlYWs7CisJICAgIGNhc2UgWE1MX1NDSEVNQV9UWVBFX0dST1VQOgorCQlicmVhazsKKwkgICAgZGVmYXVsdDoKKwkJeG1sU2NoZW1hSW50ZXJuYWxFcnIyKEFDVFhUX0NBU1QgcGN0eHQsCisJCSAgICAieG1sU2NoZW1hQ2hlY2tFbGVtZW50RGVjbENvbnNpc3RlbnQiLAorCQkgICAgImZvdW5kIHVuZXhwZWN0ZWQgdGVybSBvZiB0eXBlICclcycgaW4gY29udGVudCBtb2RlbCIsCisJCSAgICBXWFNfSVRFTV9UWVBFX05BTUUoV1hTX1BBUlRJQ0xFX1RFUk0oY3VyKSksIE5VTEwpOworCQlyZXR1cm4oLTEpOworCX0KKwljdXIgPSAoeG1sU2NoZW1hUGFydGljbGVQdHIpIGN1ci0+bmV4dDsKKyAgICB9CisKK2V4aXQ6CisgICAgcmV0dXJuKHJldCk7Cit9CisjZW5kaWYKKworLyoqCisgKiB4bWxTY2hlbWFDaGVja0VsZW1lbnREZWNsQ29tcG9uZW50CisgKiBAaXRlbTogIGFuIHNjaGVtYSBlbGVtZW50IGRlY2xhcmF0aW9uL3BhcnRpY2xlCisgKiBAY3R4dDogIGEgc2NoZW1hIHBhcnNlciBjb250ZXh0CisgKiBAbmFtZTogIHRoZSBuYW1lIG9mIHRoZSBhdHRyaWJ1dGUKKyAqCisgKiBWYWxpZGF0ZXMgdGhlIHZhbHVlIGNvbnN0cmFpbnRzIG9mIGFuIGVsZW1lbnQgZGVjbGFyYXRpb24uCisgKiBBZGRzIHN1YnN0aXR1dGlvbiBncm91cCBtZW1iZXJzLgorICovCitzdGF0aWMgdm9pZAoreG1sU2NoZW1hQ2hlY2tFbGVtZW50RGVjbENvbXBvbmVudCh4bWxTY2hlbWFFbGVtZW50UHRyIGVsZW1EZWNsLAorCQkJCSAgIHhtbFNjaGVtYVBhcnNlckN0eHRQdHIgY3R4dCkKK3sKKyAgICBpZiAoZWxlbURlY2wgPT0gTlVMTCkKKwlyZXR1cm47CisgICAgaWYgKGVsZW1EZWNsLT5mbGFncyAmIFhNTF9TQ0hFTUFTX0VMRU1fSU5URVJOQUxfQ0hFQ0tFRCkKKwlyZXR1cm47CisgICAgZWxlbURlY2wtPmZsYWdzIHw9IFhNTF9TQ0hFTUFTX0VMRU1fSU5URVJOQUxfQ0hFQ0tFRDsKKyAgICBpZiAoeG1sU2NoZW1hQ2hlY2tFbGVtUHJvcHNDb3JyZWN0KGN0eHQsIGVsZW1EZWNsKSA9PSAwKSB7CisJLyoKKwkqIEFkZHMgc3Vic3RpdHV0aW9uIGdyb3VwIG1lbWJlcnMuCisJKi8KKwl4bWxTY2hlbWFDaGVja0VsZW1TdWJzdEdyb3VwKGN0eHQsIGVsZW1EZWNsKTsKKyAgICB9Cit9CisKKy8qKgorICogeG1sU2NoZW1hUmVzb2x2ZU1vZGVsR3JvdXBQYXJ0aWNsZVJlZmVyZW5jZXM6CisgKiBAcGFydGljbGU6ICBhIHBhcnRpY2xlIGNvbXBvbmVudAorICogQGN0eHQ6ICBhIHBhcnNlciBjb250ZXh0CisgKgorICogUmVzb2x2ZXMgcmVmZXJlbmNlcyBvZiBhIG1vZGVsIGdyb3VwJ3Mge3BhcnRpY2xlc30gdG8KKyAqIG1vZGVsIGdyb3VwIGRlZmluaXRpb25zIGFuZCB0byBlbGVtZW50IGRlY2xhcmF0aW9ucy4KKyAqLworc3RhdGljIHZvaWQKK3htbFNjaGVtYVJlc29sdmVNb2RlbEdyb3VwUGFydGljbGVSZWZlcmVuY2VzKAorICAgIHhtbFNjaGVtYVBhcnNlckN0eHRQdHIgY3R4dCwKKyAgICB4bWxTY2hlbWFNb2RlbEdyb3VwUHRyIG1nKQoreworICAgIHhtbFNjaGVtYVBhcnRpY2xlUHRyIHBhcnRpY2xlID0gV1hTX01PREVMR1JPVVBfUEFSVElDTEUobWcpOworICAgIHhtbFNjaGVtYVFOYW1lUmVmUHRyIHJlZjsKKyAgICB4bWxTY2hlbWFCYXNpY0l0ZW1QdHIgcmVmSXRlbTsKKworICAgIC8qCisgICAgKiBVUkdFTlQgVE9ETzogVGVzdCB0aGlzLgorICAgICovCisgICAgd2hpbGUgKHBhcnRpY2xlICE9IE5VTEwpIHsKKwlpZiAoKFdYU19QQVJUSUNMRV9URVJNKHBhcnRpY2xlKSA9PSBOVUxMKSB8fAorCSAgICAoKFdYU19QQVJUSUNMRV9URVJNKHBhcnRpY2xlKSktPnR5cGUgIT0KKwkJWE1MX1NDSEVNQV9FWFRSQV9RTkFNRVJFRikpCisJeworCSAgICBnb3RvIG5leHRfcGFydGljbGU7CisJfQorCXJlZiA9IFdYU19RTkFNRV9DQVNUIFdYU19QQVJUSUNMRV9URVJNKHBhcnRpY2xlKTsKKwkvKgorCSogUmVzb2x2ZSB0aGUgcmVmZXJlbmNlLgorCSogTlVMTCB0aGUge3Rlcm19IGJ5IGRlZmF1bHQuCisJKi8KKwlwYXJ0aWNsZS0+Y2hpbGRyZW4gPSBOVUxMOworCisJcmVmSXRlbSA9IHhtbFNjaGVtYUdldE5hbWVkQ29tcG9uZW50KGN0eHQtPnNjaGVtYSwKKwkgICAgcmVmLT5pdGVtVHlwZSwgcmVmLT5uYW1lLCByZWYtPnRhcmdldE5hbWVzcGFjZSk7CisJaWYgKHJlZkl0ZW0gPT0gTlVMTCkgeworCSAgICB4bWxTY2hlbWFQUmVzQ29tcEF0dHJFcnIoY3R4dCwgWE1MX1NDSEVNQVBfU1JDX1JFU09MVkUsCisJCU5VTEwsIFdYU19JVEVNX05PREUocGFydGljbGUpLCAicmVmIiwgcmVmLT5uYW1lLAorCQlyZWYtPnRhcmdldE5hbWVzcGFjZSwgcmVmLT5pdGVtVHlwZSwgTlVMTCk7CisJICAgIC8qIFRPRE86IHJlbW92ZSB0aGUgcGFydGljbGUuICovCisJICAgIGdvdG8gbmV4dF9wYXJ0aWNsZTsKKwl9CisJaWYgKHJlZkl0ZW0tPnR5cGUgPT0gWE1MX1NDSEVNQV9UWVBFX0dST1VQKSB7CisJICAgIGlmIChXWFNfTU9ERUxHUk9VUERFRl9NT0RFTChyZWZJdGVtKSA9PSBOVUxMKQorCQkvKiBUT0RPOiByZW1vdmUgdGhlIHBhcnRpY2xlLiAqLworCQlnb3RvIG5leHRfcGFydGljbGU7CisJICAgIC8qCisJICAgICogTk9URSB0aGF0IHdlIHdpbGwgYXNzaWduIHRoZSBtb2RlbCBncm91cCBkZWZpbml0aW9uCisJICAgICogaXRzZWxmIHRvIHRoZSAidGVybSIgb2YgdGhlIHBhcnRpY2xlLiBUaGlzIHdpbGwgZWFzZQorCSAgICAqIHRoZSBjaGVjayBmb3IgY2lyY3VsYXIgbW9kZWwgZ3JvdXAgZGVmaW5pdGlvbnMuIEFmdGVyCisJICAgICogdGhhdCB0aGUgInRlcm0iIHdpbGwgYmUgYXNzaWduZWQgdGhlIG1vZGVsIGdyb3VwIG9mIHRoZQorCSAgICAqIG1vZGVsIGdyb3VwIGRlZmluaXRpb24uCisJICAgICovCisJICAgIGlmICgoV1hTX01PREVMR1JPVVBERUZfTU9ERUwocmVmSXRlbSkpLT50eXBlID09CisJCSAgICBYTUxfU0NIRU1BX1RZUEVfQUxMKSB7CisJCS8qCisJCSogU1BFQyBjb3MtYWxsLWxpbWl0ZWQgKDEpCisJCSogU1BFQyBjb3MtYWxsLWxpbWl0ZWQgKDEuMikKKwkJKiAiSXQgYXBwZWFycyBvbmx5IGFzIHRoZSB2YWx1ZSBvZiBvbmUgb3IgYm90aCBvZiB0aGUKKwkJKiBmb2xsb3dpbmcgcHJvcGVydGllczoiCisJCSogKDEuMSkgInRoZSB7bW9kZWwgZ3JvdXB9IHByb3BlcnR5IG9mIGEgbW9kZWwgZ3JvdXAKKwkJKiAgICAgICAgZGVmaW5pdGlvbi4iCisJCSogKDEuMikgInRoZSB7dGVybX0gcHJvcGVydHkgb2YgYSBwYXJ0aWNsZSBbLi4uIG9mXSB0aGUgIgorCQkqIHtjb250ZW50IHR5cGV9IG9mIGEgY29tcGxleCB0eXBlIGRlZmluaXRpb24uIgorCQkqLworCQl4bWxTY2hlbWFDdXN0b21FcnIoQUNUWFRfQ0FTVCBjdHh0LAorCQkgICAgLyogVE9ETzogZXJyb3IgY29kZSAqLworCQkgICAgWE1MX1NDSEVNQVBfQ09TX0FMTF9MSU1JVEVELAorCQkgICAgV1hTX0lURU1fTk9ERShwYXJ0aWNsZSksIE5VTEwsCisJCSAgICAiQSBtb2RlbCBncm91cCBkZWZpbml0aW9uIGlzIHJlZmVyZW5jZWQsIGJ1dCAiCisJCSAgICAiaXQgY29udGFpbnMgYW4gJ2FsbCcgbW9kZWwgZ3JvdXAsIHdoaWNoICIKKwkJICAgICJjYW5ub3QgYmUgY29udGFpbmVkIGJ5IG1vZGVsIGdyb3VwcyIsCisJCSAgICBOVUxMLCBOVUxMKTsKKwkJLyogVE9ETzogcmVtb3ZlIHRoZSBwYXJ0aWNsZS4gKi8KKwkJZ290byBuZXh0X3BhcnRpY2xlOworCSAgICB9CisJICAgIHBhcnRpY2xlLT5jaGlsZHJlbiA9ICh4bWxTY2hlbWFUcmVlSXRlbVB0cikgcmVmSXRlbTsKKwl9IGVsc2UgeworCSAgICAvKgorCSAgICAqIFRPRE86IEFyZSByZWZlcmVuY2VkIGVsZW1lbnQgZGVjbGFyYXRpb25zIHRoZSBvbmx5CisJICAgICogb3RoZXIgY29tcG9uZW50cyB3ZSBleHBlY3QgaGVyZT8KKwkgICAgKi8KKwkgICAgcGFydGljbGUtPmNoaWxkcmVuID0gKHhtbFNjaGVtYVRyZWVJdGVtUHRyKSByZWZJdGVtOworCX0KK25leHRfcGFydGljbGU6CisJcGFydGljbGUgPSBXWFNfUFRDX0NBU1QgcGFydGljbGUtPm5leHQ7CisgICAgfQorfQorCitzdGF0aWMgaW50Cit4bWxTY2hlbWFBcmVWYWx1ZXNFcXVhbCh4bWxTY2hlbWFWYWxQdHIgeCwKKwkJICAgICAgIHhtbFNjaGVtYVZhbFB0ciB5KQoreworICAgIHhtbFNjaGVtYVR5cGVQdHIgdHgsIHR5LCBwdHgsIHB0eTsKKyAgICBpbnQgcmV0OworCisgICAgd2hpbGUgKHggIT0gTlVMTCkgeworCS8qIFNhbWUgdHlwZXMuICovCisJdHggPSB4bWxTY2hlbWFHZXRCdWlsdEluVHlwZSh4bWxTY2hlbWFHZXRWYWxUeXBlKHgpKTsKKwl0eSA9IHhtbFNjaGVtYUdldEJ1aWx0SW5UeXBlKHhtbFNjaGVtYUdldFZhbFR5cGUoeSkpOworCXB0eCA9IHhtbFNjaGVtYUdldFByaW1pdGl2ZVR5cGUodHgpOworCXB0eSA9IHhtbFNjaGVtYUdldFByaW1pdGl2ZVR5cGUodHkpOworCS8qCisJKiAoMSkgaWYgYSBkYXRhdHlwZSBUJyBpcyBgZGVyaXZlZGAgYnkgYHJlc3RyaWN0aW9uYCBmcm9tIGFuCisJKiBhdG9taWMgZGF0YXR5cGUgVCB0aGVuIHRoZSBgdmFsdWUgc3BhY2VgIG9mIFQnIGlzIGEgc3Vic2V0IG9mCisJKiB0aGUgYHZhbHVlIHNwYWNlYCBvZiBULiAqLworCS8qCisJKiAoMikgaWYgZGF0YXR5cGVzIFQnIGFuZCBUJycgYXJlIGBkZXJpdmVkYCBieSBgcmVzdHJpY3Rpb25gCisJKiBmcm9tIGEgY29tbW9uIGF0b21pYyBhbmNlc3RvciBUIHRoZW4gdGhlIGB2YWx1ZSBzcGFjZWBzIG9mIFQnCisJKiBhbmQgVCcnIG1heSBvdmVybGFwLgorCSovCisJaWYgKHB0eCAhPSBwdHkpCisJICAgIHJldHVybigwKTsKKwkvKgorCSogV2UgYXNzdW1lIGNvbXB1dGVkIHZhbHVlcyB0byBiZSBub3JtYWxpemVkLCBzbyBkbyBhIGZhc3QKKwkqIHN0cmluZyBjb21wYXJpc29uIGZvciBzdHJpbmcgYmFzZWQgdHlwZXMuCisJKi8KKwlpZiAoKHB0eC0+YnVpbHRJblR5cGUgPT0gWE1MX1NDSEVNQVNfU1RSSU5HKSB8fAorCSAgICBXWFNfSVNfQU5ZX1NJTVBMRV9UWVBFKHB0eCkpIHsKKwkgICAgaWYgKCEgeG1sU3RyRXF1YWwoCisJCXhtbFNjaGVtYVZhbHVlR2V0QXNTdHJpbmcoeCksCisJCXhtbFNjaGVtYVZhbHVlR2V0QXNTdHJpbmcoeSkpKQorCQlyZXR1cm4gKDApOworCX0gZWxzZSB7CisJICAgIHJldCA9IHhtbFNjaGVtYUNvbXBhcmVWYWx1ZXNXaHRzcCgKKwkJeCwgWE1MX1NDSEVNQV9XSElURVNQQUNFX1BSRVNFUlZFLAorCQl5LCBYTUxfU0NIRU1BX1dISVRFU1BBQ0VfUFJFU0VSVkUpOworCSAgICBpZiAocmV0ID09IC0yKQorCQlyZXR1cm4oLTEpOworCSAgICBpZiAocmV0ICE9IDApCisJCXJldHVybigwKTsKKwl9CisJLyoKKwkqIExpc3RzLgorCSovCisJeCA9IHhtbFNjaGVtYVZhbHVlR2V0TmV4dCh4KTsKKwlpZiAoeCAhPSBOVUxMKSB7CisJICAgIHkgPSB4bWxTY2hlbWFWYWx1ZUdldE5leHQoeSk7CisJICAgIGlmICh5ID09IE5VTEwpCisJCXJldHVybiAoMCk7CisJfSBlbHNlIGlmICh4bWxTY2hlbWFWYWx1ZUdldE5leHQoeSkgIT0gTlVMTCkKKwkgICAgcmV0dXJuICgwKTsKKwllbHNlCisJICAgIHJldHVybiAoMSk7CisgICAgfQorICAgIHJldHVybiAoMCk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hUmVzb2x2ZUF0dHJVc2VSZWZlcmVuY2VzOgorICogQGl0ZW06ICBhbiBhdHRyaWJ1dGUgdXNlCisgKiBAY3R4dDogIGEgcGFyc2VyIGNvbnRleHQKKyAqCisgKiBSZXNvbHZlcyB0aGUgcmVmZXJlbmNlZCBhdHRyaWJ1dGUgZGVjbGFyYXRpb24uCisgKi8KK3N0YXRpYyBpbnQKK3htbFNjaGVtYVJlc29sdmVBdHRyVXNlUmVmZXJlbmNlcyh4bWxTY2hlbWFBdHRyaWJ1dGVVc2VQdHIgYXVzZSwKKwkJCQkgIHhtbFNjaGVtYVBhcnNlckN0eHRQdHIgY3R4dCkKK3sKKyAgICBpZiAoKGN0eHQgPT0gTlVMTCkgfHwgKGF1c2UgPT0gTlVMTCkpCisJcmV0dXJuKC0xKTsKKyAgICBpZiAoKGF1c2UtPmF0dHJEZWNsID09IE5VTEwpIHx8CisJKGF1c2UtPmF0dHJEZWNsLT50eXBlICE9IFhNTF9TQ0hFTUFfRVhUUkFfUU5BTUVSRUYpKQorCXJldHVybigwKTsKKworICAgIHsKKwl4bWxTY2hlbWFRTmFtZVJlZlB0ciByZWYgPSBXWFNfUU5BTUVfQ0FTVCBhdXNlLT5hdHRyRGVjbDsKKworCS8qCisJKiBUT0RPOiBFdmFsdWF0ZSwgd2hhdCBlcnJvcnMgY291bGQgb2NjdXIgaWYgdGhlIGRlY2xhcmF0aW9uIGlzIG5vdAorCSogZm91bmQuCisJKi8KKwlhdXNlLT5hdHRyRGVjbCA9IHhtbFNjaGVtYUdldEF0dHJpYnV0ZURlY2woY3R4dC0+c2NoZW1hLAorCSAgICByZWYtPm5hbWUsIHJlZi0+dGFyZ2V0TmFtZXNwYWNlKTsKKyAgICAgICAgaWYgKGF1c2UtPmF0dHJEZWNsID09IE5VTEwpIHsKKwkgICAgeG1sU2NoZW1hUFJlc0NvbXBBdHRyRXJyKGN0eHQsCisJCVhNTF9TQ0hFTUFQX1NSQ19SRVNPTFZFLAorCQlXWFNfQkFTSUNfQ0FTVCBhdXNlLCBhdXNlLT5ub2RlLAorCQkicmVmIiwgcmVmLT5uYW1lLCByZWYtPnRhcmdldE5hbWVzcGFjZSwKKwkJWE1MX1NDSEVNQV9UWVBFX0FUVFJJQlVURSwgTlVMTCk7CisgICAgICAgICAgICByZXR1cm4oY3R4dC0+ZXJyKTs7CisgICAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuKDApOworfQorCisvKioKKyAqIHhtbFNjaGVtYUNoZWNrQXR0clVzZVByb3BzQ29ycmVjdDoKKyAqIEBjdHh0OiAgYSBwYXJzZXIgY29udGV4dAorICogQHVzZTogIGFuIGF0dHJpYnV0ZSB1c2UKKyAqCisgKiBTY2hlbWEgQ29tcG9uZW50IENvbnN0cmFpbnQ6CisgKiBBdHRyaWJ1dGUgVXNlIENvcnJlY3QgKGF1LXByb3BzLWNvcnJlY3QpCisgKgorICovCitzdGF0aWMgaW50Cit4bWxTY2hlbWFDaGVja0F0dHJVc2VQcm9wc0NvcnJlY3QoeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBjdHh0LAorCQkJICAgICB4bWxTY2hlbWFBdHRyaWJ1dGVVc2VQdHIgdXNlKQoreworICAgIGlmICgoY3R4dCA9PSBOVUxMKSB8fCAodXNlID09IE5VTEwpKQorCXJldHVybigtMSk7CisgICAgaWYgKCh1c2UtPmRlZlZhbHVlID09IE5VTEwpIHx8IChXWFNfQVRUUlVTRV9ERUNMKHVzZSkgPT0gTlVMTCkgfHwKKwkoKFdYU19BVFRSVVNFX0RFQ0wodXNlKSktPnR5cGUgIT0gWE1MX1NDSEVNQV9UWVBFX0FUVFJJQlVURSkpCisJcmV0dXJuKDApOworCisgICAgLyoKKyAgICAqIFNQRUMgYXUtcHJvcHMtY29ycmVjdCAoMSkKKyAgICAqICJUaGUgdmFsdWVzIG9mIHRoZSBwcm9wZXJ0aWVzIG9mIGFuIGF0dHJpYnV0ZSB1c2UgbXVzdCBiZSBhcworICAgICogZGVzY3JpYmVkIGluIHRoZSBwcm9wZXJ0eSB0YWJsZWF1IGluIFRoZSBBdHRyaWJ1dGUgVXNlIFNjaGVtYQorICAgICogQ29tcG9uZW50ICgkMy41LjEpLCBtb2R1bG8gdGhlIGltcGFjdCBvZiBNaXNzaW5nCisgICAgKiBTdWItY29tcG9uZW50cyAoJDUuMykuIgorICAgICovCisKKyAgICBpZiAoKChXWFNfQVRUUlVTRV9ERUNMKHVzZSkpLT5kZWZWYWx1ZSAhPSBOVUxMKSAmJgorCSgoV1hTX0FUVFJVU0VfREVDTCh1c2UpKS0+ZmxhZ3MgJiBYTUxfU0NIRU1BU19BVFRSX0ZJWEVEKSAmJgorICAgICAgICAoKHVzZS0+ZmxhZ3MgJiBYTUxfU0NIRU1BX0FUVFJfVVNFX0ZJWEVEKSA9PSAwKSkKKyAgICB7CisJeG1sU2NoZW1hUEN1c3RvbUVycihjdHh0LAorCSAgICBYTUxfU0NIRU1BUF9BVV9QUk9QU19DT1JSRUNUXzIsCisJICAgIFdYU19CQVNJQ19DQVNUIHVzZSwgTlVMTCwKKwkgICAgIlRoZSBhdHRyaWJ1dGUgZGVjbGFyYXRpb24gaGFzIGEgJ2ZpeGVkJyB2YWx1ZSBjb25zdHJhaW50ICIKKwkgICAgIiwgdGh1cyB0aGUgYXR0cmlidXRlIHVzZSBtdXN0IGFsc28gaGF2ZSBhICdmaXhlZCcgdmFsdWUgIgorCSAgICAiY29uc3RyYWludCIsCisJICAgIE5VTEwpOworCXJldHVybihjdHh0LT5lcnIpOworICAgIH0KKyAgICAvKgorICAgICogQ29tcHV0ZSBhbmQgY2hlY2sgdGhlIHZhbHVlIGNvbnN0cmFpbnQncyB2YWx1ZS4KKyAgICAqLworICAgIGlmICgodXNlLT5kZWZWYWwgIT0gTlVMTCkgJiYgKFdYU19BVFRSVVNFX1RZUEVERUYodXNlKSAhPSBOVUxMKSkgeworCWludCByZXQ7CisJLyoKKwkqIFRPRE86IFRoZSBzcGVjIHNlZW1zIHRvIGJlIG1pc3NpbmcgYSBjaGVjayBvZiB0aGUKKwkqIHZhbHVlIGNvbnN0cmFpbnQgb2YgdGhlIGF0dHJpYnV0ZSB1c2UuIFdlIHdpbGwgZG8gaXQgaGVyZS4KKwkqLworCS8qCisJKiBTUEVDIGEtcHJvcHMtY29ycmVjdCAoMykKKwkqLworCWlmICh4bWxTY2hlbWFJc0Rlcml2ZWRGcm9tQnVpbHRJblR5cGUoCisJICAgIFdYU19BVFRSVVNFX1RZUEVERUYodXNlKSwgWE1MX1NDSEVNQVNfSUQpKQorCXsKKwkgICAgeG1sU2NoZW1hQ3VzdG9tRXJyKEFDVFhUX0NBU1QgY3R4dCwKKwkJWE1MX1NDSEVNQVBfQVVfUFJPUFNfQ09SUkVDVCwKKwkJTlVMTCwgV1hTX0JBU0lDX0NBU1QgdXNlLAorCQkiVmFsdWUgY29uc3RyYWludHMgYXJlIG5vdCBhbGxvd2VkIGlmIHRoZSB0eXBlIGRlZmluaXRpb24gIgorCQkiaXMgb3IgaXMgZGVyaXZlZCBmcm9tIHhzOklEIiwKKwkJTlVMTCwgTlVMTCk7CisJICAgIHJldHVybihjdHh0LT5lcnIpOworCX0KKworCXJldCA9IHhtbFNjaGVtYVZDaGVja0NWQ1NpbXBsZVR5cGUoQUNUWFRfQ0FTVCBjdHh0LAorCSAgICB1c2UtPm5vZGUsIFdYU19BVFRSVVNFX1RZUEVERUYodXNlKSwKKwkgICAgdXNlLT5kZWZWYWx1ZSwgJih1c2UtPmRlZlZhbCksCisJICAgIDEsIDEsIDApOworCWlmIChyZXQgIT0gMCkgeworCSAgICBpZiAocmV0IDwgMCkgeworCQlQRVJST1JfSU5UMigieG1sU2NoZW1hQ2hlY2tBdHRyVXNlUHJvcHNDb3JyZWN0IiwKKwkJICAgICJjYWxsaW5nIHhtbFNjaGVtYVZDaGVja0NWQ1NpbXBsZVR5cGUoKSIpOworCQlyZXR1cm4oLTEpOworCSAgICB9CisJICAgIHhtbFNjaGVtYUN1c3RvbUVycihBQ1RYVF9DQVNUIGN0eHQsCisJCVhNTF9TQ0hFTUFQX0FVX1BST1BTX0NPUlJFQ1QsCisJCU5VTEwsIFdYU19CQVNJQ19DQVNUIHVzZSwKKwkJIlRoZSB2YWx1ZSBvZiB0aGUgdmFsdWUgY29uc3RyYWludCBpcyBub3QgdmFsaWQiLAorCQlOVUxMLCBOVUxMKTsKKwkgICAgcmV0dXJuKGN0eHQtPmVycik7CisJfQorICAgIH0KKyAgICAvKgorICAgICogU1BFQyBhdS1wcm9wcy1jb3JyZWN0ICgyKQorICAgICogIklmIHRoZSB7YXR0cmlidXRlIGRlY2xhcmF0aW9ufSBoYXMgYSBmaXhlZAorICAgICoge3ZhbHVlIGNvbnN0cmFpbnR9LCB0aGVuIGlmIHRoZSBhdHRyaWJ1dGUgdXNlIGl0c2VsZiBoYXMgYQorICAgICoge3ZhbHVlIGNvbnN0cmFpbnR9LCBpdCBtdXN0IGFsc28gYmUgZml4ZWQgYW5kIGl0cyB2YWx1ZSBtdXN0IG1hdGNoCisgICAgKiB0aGF0IG9mIHRoZSB7YXR0cmlidXRlIGRlY2xhcmF0aW9ufSdzIHt2YWx1ZSBjb25zdHJhaW50fS4iCisgICAgKi8KKyAgICBpZiAoKChXWFNfQVRUUlVTRV9ERUNMKHVzZSkpLT5kZWZWYWwgIT0gTlVMTCkgJiYKKwkoKChXWFNfQVRUUlVTRV9ERUNMKHVzZSkpLT5mbGFncyAmIFhNTF9TQ0hFTUFfQVRUUl9VU0VfRklYRUQpID09IDApKQorICAgIHsKKwlpZiAoISB4bWxTY2hlbWFBcmVWYWx1ZXNFcXVhbCh1c2UtPmRlZlZhbCwKKwkJKFdYU19BVFRSVVNFX0RFQ0wodXNlKSktPmRlZlZhbCkpCisJeworCSAgICB4bWxTY2hlbWFQQ3VzdG9tRXJyKGN0eHQsCisJCVhNTF9TQ0hFTUFQX0FVX1BST1BTX0NPUlJFQ1RfMiwKKwkJV1hTX0JBU0lDX0NBU1QgdXNlLCBOVUxMLAorCQkiVGhlICdmaXhlZCcgdmFsdWUgY29uc3RyYWludCBvZiB0aGUgYXR0cmlidXRlIHVzZSAiCisJCSJtdXN0IG1hdGNoIHRoZSBhdHRyaWJ1dGUgZGVjbGFyYXRpb24ncyB2YWx1ZSAiCisJCSJjb25zdHJhaW50ICclcyciLAorCQkoV1hTX0FUVFJVU0VfREVDTCh1c2UpKS0+ZGVmVmFsdWUpOworCX0KKwlyZXR1cm4oY3R4dC0+ZXJyKTsKKyAgICB9CisgICAgcmV0dXJuKDApOworfQorCisKKworCisvKioKKyAqIHhtbFNjaGVtYVJlc29sdmVBdHRyVHlwZVJlZmVyZW5jZXM6CisgKiBAaXRlbTogIGFuIGF0dHJpYnV0ZSBkZWNsYXJhdGlvbgorICogQGN0eHQ6ICBhIHBhcnNlciBjb250ZXh0CisgKgorICogUmVzb2x2ZXMgdGhlIHJlZmVyZW5jZWQgdHlwZSBkZWZpbml0aW9uIGNvbXBvbmVudC4KKyAqLworc3RhdGljIGludAoreG1sU2NoZW1hUmVzb2x2ZUF0dHJUeXBlUmVmZXJlbmNlcyh4bWxTY2hlbWFBdHRyaWJ1dGVQdHIgaXRlbSwKKwkJCQkgICB4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIGN0eHQpCit7CisgICAgLyoKKyAgICAqIFRoZSBzaW1wbGUgdHlwZSBkZWZpbml0aW9uIGNvcnJlc3BvbmRpbmcgdG8gdGhlIDxzaW1wbGVUeXBlPiBlbGVtZW50CisgICAgKiBpbmZvcm1hdGlvbiBpdGVtIGluIHRoZSBbY2hpbGRyZW5dLCBpZiBwcmVzZW50LCBvdGhlcndpc2UgdGhlIHNpbXBsZQorICAgICogdHlwZSBkZWZpbml0aW9uIGByZXNvbHZlZGAgdG8gYnkgdGhlIGBhY3R1YWwgdmFsdWVgIG9mIHRoZSB0eXBlCisgICAgKiBbYXR0cmlidXRlXSwgaWYgcHJlc2VudCwgb3RoZXJ3aXNlIHRoZSBgc2ltcGxlIHVyLXR5cGUgZGVmaW5pdGlvbmAuCisgICAgKi8KKyAgICBpZiAoaXRlbS0+ZmxhZ3MgJiBYTUxfU0NIRU1BU19BVFRSX0lOVEVSTkFMX1JFU09MVkVEKQorCXJldHVybigwKTsKKyAgICBpdGVtLT5mbGFncyB8PSBYTUxfU0NIRU1BU19BVFRSX0lOVEVSTkFMX1JFU09MVkVEOworICAgIGlmIChpdGVtLT5zdWJ0eXBlcyAhPSBOVUxMKQorICAgICAgICByZXR1cm4oMCk7CisgICAgaWYgKGl0ZW0tPnR5cGVOYW1lICE9IE5VTEwpIHsKKyAgICAgICAgeG1sU2NoZW1hVHlwZVB0ciB0eXBlOworCisJdHlwZSA9IHhtbFNjaGVtYUdldFR5cGUoY3R4dC0+c2NoZW1hLCBpdGVtLT50eXBlTmFtZSwKKwkgICAgaXRlbS0+dHlwZU5zKTsKKwlpZiAoKHR5cGUgPT0gTlVMTCkgfHwgKCEgV1hTX0lTX1NJTVBMRSh0eXBlKSkpIHsKKwkgICAgeG1sU2NoZW1hUFJlc0NvbXBBdHRyRXJyKGN0eHQsCisJCVhNTF9TQ0hFTUFQX1NSQ19SRVNPTFZFLAorCQlXWFNfQkFTSUNfQ0FTVCBpdGVtLCBpdGVtLT5ub2RlLAorCQkidHlwZSIsIGl0ZW0tPnR5cGVOYW1lLCBpdGVtLT50eXBlTnMsCisJCVhNTF9TQ0hFTUFfVFlQRV9TSU1QTEUsIE5VTEwpOworCSAgICByZXR1cm4oY3R4dC0+ZXJyKTsKKwl9IGVsc2UKKwkgICAgaXRlbS0+c3VidHlwZXMgPSB0eXBlOworCisgICAgfSBlbHNlIHsKKwkvKgorCSogVGhlIHR5cGUgZGVmYXVsdHMgdG8gdGhlIHhzOmFueVNpbXBsZVR5cGUuCisJKi8KKwlpdGVtLT5zdWJ0eXBlcyA9IHhtbFNjaGVtYUdldEJ1aWx0SW5UeXBlKFhNTF9TQ0hFTUFTX0FOWVNJTVBMRVRZUEUpOworICAgIH0KKyAgICByZXR1cm4oMCk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hUmVzb2x2ZUlEQ0tleVJlZmVyZW5jZXM6CisgKiBAaWRjOiAgdGhlIGlkZW50aXR5LWNvbnN0cmFpbnQgZGVmaW5pdGlvbgorICogQGN0eHQ6ICB0aGUgc2NoZW1hIHBhcnNlciBjb250ZXh0CisgKiBAbmFtZTogIHRoZSBhdHRyaWJ1dGUgbmFtZQorICoKKyAqIFJlc29sdmUga2V5UmVmIHJlZmVyZW5jZXMgdG8ga2V5L3VuaXF1ZSBJRENzLgorICogU2NoZW1hIENvbXBvbmVudCBDb25zdHJhaW50OgorICogICBJZGVudGl0eS1jb25zdHJhaW50IERlZmluaXRpb24gUHJvcGVydGllcyBDb3JyZWN0IChjLXByb3BzLWNvcnJlY3QpCisgKi8KK3N0YXRpYyBpbnQKK3htbFNjaGVtYVJlc29sdmVJRENLZXlSZWZlcmVuY2VzKHhtbFNjaGVtYUlEQ1B0ciBpZGMsCisJCQkgIHhtbFNjaGVtYVBhcnNlckN0eHRQdHIgcGN0eHQpCit7CisgICAgaWYgKGlkYy0+dHlwZSAhPSBYTUxfU0NIRU1BX1RZUEVfSURDX0tFWVJFRikKKyAgICAgICAgcmV0dXJuKDApOworICAgIGlmIChpZGMtPnJlZi0+bmFtZSAhPSBOVUxMKSB7CisJaWRjLT5yZWYtPml0ZW0gPSAoeG1sU2NoZW1hQmFzaWNJdGVtUHRyKQorCSAgICB4bWxTY2hlbWFHZXRJREMocGN0eHQtPnNjaGVtYSwgaWRjLT5yZWYtPm5hbWUsCisJCWlkYy0+cmVmLT50YXJnZXROYW1lc3BhY2UpOworICAgICAgICBpZiAoaWRjLT5yZWYtPml0ZW0gPT0gTlVMTCkgeworCSAgICAvKgorCSAgICAqIFRPRE86IEl0IGlzIGFjdHVhbGx5IG5vdCBhbiBlcnJvciB0byBmYWlsIHRvIHJlc29sdmUKKwkgICAgKiBhdCB0aGlzIHN0YWdlLiBCVVQgd2UgbmVlZCB0byBiZSB0aGF0IHN0cmljdCEKKwkgICAgKi8KKwkgICAgeG1sU2NoZW1hUFJlc0NvbXBBdHRyRXJyKHBjdHh0LAorCQlYTUxfU0NIRU1BUF9TUkNfUkVTT0xWRSwKKwkJV1hTX0JBU0lDX0NBU1QgaWRjLCBpZGMtPm5vZGUsCisJCSJyZWZlciIsIGlkYy0+cmVmLT5uYW1lLAorCQlpZGMtPnJlZi0+dGFyZ2V0TmFtZXNwYWNlLAorCQlYTUxfU0NIRU1BX1RZUEVfSURDX0tFWSwgTlVMTCk7CisgICAgICAgICAgICByZXR1cm4ocGN0eHQtPmVycik7CisJfSBlbHNlIGlmIChpZGMtPnJlZi0+aXRlbS0+dHlwZSA9PSBYTUxfU0NIRU1BX1RZUEVfSURDX0tFWVJFRikgeworCSAgICAvKgorCSAgICAqIFNQRUMgYy1wcm9wcy1jb3JyZWN0ICgxKQorCSAgICAqLworCSAgICB4bWxTY2hlbWFDdXN0b21FcnIoQUNUWFRfQ0FTVCBwY3R4dCwKKwkJWE1MX1NDSEVNQVBfQ19QUk9QU19DT1JSRUNULAorCQlOVUxMLCBXWFNfQkFTSUNfQ0FTVCBpZGMsCisJCSJUaGUga2V5cmVmIHJlZmVyZW5jZXMgYSBrZXlyZWYiLAorCQlOVUxMLCBOVUxMKTsKKwkgICAgaWRjLT5yZWYtPml0ZW0gPSBOVUxMOworCSAgICByZXR1cm4ocGN0eHQtPmVycik7CisJfSBlbHNlIHsKKwkgICAgaWYgKGlkYy0+bmJGaWVsZHMgIT0KKwkJKCh4bWxTY2hlbWFJRENQdHIpIGlkYy0+cmVmLT5pdGVtKS0+bmJGaWVsZHMpIHsKKwkJeG1sQ2hhciAqc3RyID0gTlVMTDsKKwkJeG1sU2NoZW1hSURDUHRyIHJlZmVyOworCisJCXJlZmVyID0gKHhtbFNjaGVtYUlEQ1B0cikgaWRjLT5yZWYtPml0ZW07CisJCS8qCisJCSogU1BFQyBjLXByb3BzLWNvcnJlY3QoMikKKwkJKiAiSWYgdGhlIHtpZGVudGl0eS1jb25zdHJhaW50IGNhdGVnb3J5fSBpcyBrZXlyZWYsCisJCSogdGhlIGNhcmRpbmFsaXR5IG9mIHRoZSB7ZmllbGRzfSBtdXN0IGVxdWFsIHRoYXQgb2YKKwkJKiB0aGUge2ZpZWxkc30gb2YgdGhlIHtyZWZlcmVuY2VkIGtleX0uCisJCSovCisJCXhtbFNjaGVtYUN1c3RvbUVycihBQ1RYVF9DQVNUIHBjdHh0LAorCQkgICAgWE1MX1NDSEVNQVBfQ19QUk9QU19DT1JSRUNULAorCQkgICAgTlVMTCwgV1hTX0JBU0lDX0NBU1QgaWRjLAorCQkgICAgIlRoZSBjYXJkaW5hbGl0eSBvZiB0aGUga2V5cmVmIGRpZmZlcnMgZnJvbSB0aGUgIgorCQkgICAgImNhcmRpbmFsaXR5IG9mIHRoZSByZWZlcmVuY2VkIGtleS91bmlxdWUgJyVzJyIsCisJCSAgICB4bWxTY2hlbWFGb3JtYXRRTmFtZSgmc3RyLCByZWZlci0+dGFyZ2V0TmFtZXNwYWNlLAorCQkJcmVmZXItPm5hbWUpLAorCQkgICAgTlVMTCk7CisJCUZSRUVfQU5EX05VTEwoc3RyKQorCQlyZXR1cm4ocGN0eHQtPmVycik7CisJICAgIH0KKwl9CisgICAgfQorICAgIHJldHVybigwKTsKK30KKworc3RhdGljIGludAoreG1sU2NoZW1hUmVzb2x2ZUF0dHJVc2VQcm9oaWJSZWZlcmVuY2VzKHhtbFNjaGVtYUF0dHJpYnV0ZVVzZVByb2hpYlB0ciBwcm9oaWIsCisJCQkJICAgICAgIHhtbFNjaGVtYVBhcnNlckN0eHRQdHIgcGN0eHQpCit7CisgICAgaWYgKHhtbFNjaGVtYUdldEF0dHJpYnV0ZURlY2wocGN0eHQtPnNjaGVtYSwgcHJvaGliLT5uYW1lLAorCXByb2hpYi0+dGFyZ2V0TmFtZXNwYWNlKSA9PSBOVUxMKSB7CisKKwl4bWxTY2hlbWFQUmVzQ29tcEF0dHJFcnIocGN0eHQsCisJICAgIFhNTF9TQ0hFTUFQX1NSQ19SRVNPTFZFLAorCSAgICBOVUxMLCBwcm9oaWItPm5vZGUsCisJICAgICJyZWYiLCBwcm9oaWItPm5hbWUsIHByb2hpYi0+dGFyZ2V0TmFtZXNwYWNlLAorCSAgICBYTUxfU0NIRU1BX1RZUEVfQVRUUklCVVRFLCBOVUxMKTsKKwlyZXR1cm4oWE1MX1NDSEVNQVBfU1JDX1JFU09MVkUpOworICAgIH0KKyAgICByZXR1cm4oMCk7Cit9CisKKyNkZWZpbmUgV1hTX1JFREVGSU5FRF9UWVBFKGMpIFwKKygoKHhtbFNjaGVtYVR5cGVQdHIpIGl0ZW0pLT5mbGFncyAmIFhNTF9TQ0hFTUFTX1RZUEVfUkVERUZJTkVEKQorCisjZGVmaW5lIFdYU19SRURFRklORURfTU9ERUxfR1JPVVBfREVGKGMpIFwKKygoKHhtbFNjaGVtYU1vZGVsR3JvdXBEZWZQdHIpIGl0ZW0pLT5mbGFncyAmIFhNTF9TQ0hFTUFfTU9ERUxfR1JPVVBfREVGX1JFREVGSU5FRCkKKworI2RlZmluZSBXWFNfUkVERUZJTkVEX0FUVFJfR1JPVVAoYykgXAorKCgoeG1sU2NoZW1hQXR0cmlidXRlR3JvdXBQdHIpIGl0ZW0pLT5mbGFncyAmIFhNTF9TQ0hFTUFTX0FUVFJHUk9VUF9SRURFRklORUQpCisKK3N0YXRpYyBpbnQKK3htbFNjaGVtYUNoZWNrU1JDUmVkZWZpbmVGaXJzdCh4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIHBjdHh0KQoreworICAgIGludCBlcnIgPSAwOworICAgIHhtbFNjaGVtYVJlZGVmUHRyIHJlZGVmID0gV1hTX0NPTlNUUlVDVE9SKHBjdHh0KS0+cmVkZWZzOworICAgIHhtbFNjaGVtYUJhc2ljSXRlbVB0ciBwcmV2LCBpdGVtOworICAgIGludCB3YXNSZWRlZmluZWQ7CisKKyAgICBpZiAocmVkZWYgPT0gTlVMTCkKKwlyZXR1cm4oMCk7CisKKyAgICBkbyB7CisJaXRlbSA9IHJlZGVmLT5pdGVtOworCS8qCisJKiBGaXJzdCB0cnkgdG8gbG9jYXRlIHRoZSByZWRlZmluZWQgY29tcG9uZW50IGluIHRoZQorCSogc2NoZW1hIGdyYXBoIHN0YXJ0aW5nIHdpdGggdGhlIHJlZGVmaW5lZCBzY2hlbWEuCisJKiBOT1RFOiBBY2NvcmRpbmcgdG8gdGhpcyBzY2hlbWEgYnVnIGVudHJ5OgorCSogICBodHRwOi8vbGlzdHMudzMub3JnL0FyY2hpdmVzL1B1YmxpYy93d3cteG1sLXNjaGVtYS1jb21tZW50cy8yMDA1T2N0RGVjLzAwMTkuaHRtbAorCSogICBpdCdzIG5vdCBjbGVhciBpZiB0aGUgcmVmZXJlbmNlZCBjb21wb25lbnQgbmVlZHMgdG8gb3JpZ2luYXRlCisJKiAgIGZyb20gdGhlIDxyZWRlZmluZT5kIHNjaGVtYSBfZG9jdW1lbnRfIG9yIHRoZSBzY2hlbWE7IHRoZSBsYXR0ZXIKKwkqICAgd291bGQgaW5jbHVkZSBhbGwgaW1wb3J0ZWQgYW5kIGluY2x1ZGVkIHN1Yi1zY2hlbWFzIG9mIHRoZQorCSogICA8cmVkZWZpbmU+ZCBzY2hlbWEuIEN1cnJlbmx0eSB3ZSBsYXR0ZXIgYXBwcm9hY2ggaXMgdXNlZC4KKwkqICAgU1VQUExFTUVOVDogSXQgc2VlbXMgdGhhdCB0aGUgV0cgbW92ZXMgdG93YXJkcyB0aGUgbGF0dGVyCisJKiAgIGFwcHJvYWNoLCBzbyB3ZSBhcmUgZG9pbmcgaXQgcmlnaHQuCisJKgorCSovCisJcHJldiA9IHhtbFNjaGVtYUZpbmRSZWRlZkNvbXBJbkdyYXBoKAorCSAgICByZWRlZi0+dGFyZ2V0QnVja2V0LCBpdGVtLT50eXBlLAorCSAgICByZWRlZi0+cmVmTmFtZSwgcmVkZWYtPnJlZlRhcmdldE5zKTsKKwlpZiAocHJldiA9PSBOVUxMKSB7CisJICAgIHhtbENoYXIgKnN0ciA9IE5VTEw7CisJICAgIHhtbE5vZGVQdHIgbm9kZTsKKworCSAgICAvKgorCSAgICAqIFNQRUMgc3JjLXJlZGVmaW5lOgorCSAgICAqICg2LjIuMSkgIlRoZSBgYWN0dWFsIHZhbHVlYCBvZiBpdHMgb3duIG5hbWUgYXR0cmlidXRlIHBsdXMKKwkgICAgKiB0YXJnZXQgbmFtZXNwYWNlIG11c3Qgc3VjY2Vzc2Z1bGx5IGByZXNvbHZlYCB0byBhIG1vZGVsCisJICAgICogZ3JvdXAgZGVmaW5pdGlvbiBpbiBJLiIKKwkgICAgKiAoNy4yLjEpICJUaGUgYGFjdHVhbCB2YWx1ZWAgb2YgaXRzIG93biBuYW1lIGF0dHJpYnV0ZSBwbHVzCisJICAgICogdGFyZ2V0IG5hbWVzcGFjZSBtdXN0IHN1Y2Nlc3NmdWxseSBgcmVzb2x2ZWAgdG8gYW4gYXR0cmlidXRlCisJICAgICogZ3JvdXAgZGVmaW5pdGlvbiBpbiBJLiIKKworCSAgICAqCisJICAgICogTm90ZSB0aGF0LCBpZiB3ZSBhcmUgcmVkZWZpbmluZyB3aXRoIHRoZSB1c2Ugb2YgcmVmZXJlbmNlcworCSAgICAqIHRvIGNvbXBvbmVudHMsIHRoZSBzcGVjIGFzc3VtZXMgdGhlIHNyYy1yZXNvbHZlIHRvIGJlIHVzZWQ7CisJICAgICogYnV0IHRoaXMgd29uJ3QgYXNzdXJlIHRoYXQgd2Ugc2VhcmNoIG9ubHkgKmluc2lkZSogdGhlCisJICAgICogcmVkZWZpbmVkIHNjaGVtYS4KKwkgICAgKi8KKwkgICAgaWYgKHJlZGVmLT5yZWZlcmVuY2UpCisJCW5vZGUgPSBXWFNfSVRFTV9OT0RFKHJlZGVmLT5yZWZlcmVuY2UpOworCSAgICBlbHNlCisJCW5vZGUgPSBXWFNfSVRFTV9OT0RFKGl0ZW0pOworCSAgICB4bWxTY2hlbWFDdXN0b21FcnIoQUNUWFRfQ0FTVCBwY3R4dCwKKwkJLyoKKwkJKiBUT0RPOiBlcnJvciBjb2RlLgorCQkqIFByb2JhYmx5IFhNTF9TQ0hFTUFQX1NSQ19SRVNPTFZFLCBpZiB0aGlzIGlzIHVzaW5nIHRoZQorCQkqIHJlZmVyZW5jZSBraW5kLgorCQkqLworCQlYTUxfU0NIRU1BUF9TUkNfUkVERUZJTkUsIG5vZGUsIE5VTEwsCisJCSJUaGUgJXMgJyVzJyB0byBiZSByZWRlZmluZWQgY291bGQgbm90IGJlIGZvdW5kIGluICIKKwkJInRoZSByZWRlZmluZWQgc2NoZW1hIiwKKwkJV1hTX0lURU1fVFlQRV9OQU1FKGl0ZW0pLAorCQl4bWxTY2hlbWFGb3JtYXRRTmFtZSgmc3RyLCByZWRlZi0+cmVmVGFyZ2V0TnMsCisJCSAgICByZWRlZi0+cmVmTmFtZSkpOworCSAgICBGUkVFX0FORF9OVUxMKHN0cik7CisJICAgIGVyciA9IHBjdHh0LT5lcnI7CisJICAgIHJlZGVmID0gcmVkZWYtPm5leHQ7CisJICAgIGNvbnRpbnVlOworCX0KKwkvKgorCSogVE9ETzogT2J0YWluaW5nIGFuZCBzZXR0aW5nIHRoZSByZWRlZmluaXRpb24gc3RhdGUgaXMgcmVhbGx5CisJKiBjbHVtc3kuCisJKi8KKwl3YXNSZWRlZmluZWQgPSAwOworCXN3aXRjaCAoaXRlbS0+dHlwZSkgeworCSAgICBjYXNlIFhNTF9TQ0hFTUFfVFlQRV9DT01QTEVYOgorCSAgICBjYXNlIFhNTF9TQ0hFTUFfVFlQRV9TSU1QTEU6CisJCWlmICgoV1hTX1RZUEVfQ0FTVCBwcmV2KS0+ZmxhZ3MgJgorCQkgICAgWE1MX1NDSEVNQVNfVFlQRV9SRURFRklORUQpCisJCXsKKwkJICAgIHdhc1JlZGVmaW5lZCA9IDE7CisJCSAgICBicmVhazsKKwkJfQorCQkvKiBNYXJrIGl0IGFzIHJlZGVmaW5lZC4gKi8KKwkJKFdYU19UWVBFX0NBU1QgcHJldiktPmZsYWdzIHw9IFhNTF9TQ0hFTUFTX1RZUEVfUkVERUZJTkVEOworCQkvKgorCQkqIEFzc2lnbiB0aGUgcmVkZWZpbmVkIHR5cGUgdG8gdGhlCisJCSogYmFzZSB0eXBlIG9mIHRoZSByZWRlZmluaW5nIHR5cGUuCisJCSogVE9ETzogSG93CisJCSovCisJCSgoeG1sU2NoZW1hVHlwZVB0cikgaXRlbSktPmJhc2VUeXBlID0KKwkJICAgICh4bWxTY2hlbWFUeXBlUHRyKSBwcmV2OworCQlicmVhazsKKwkgICAgY2FzZSBYTUxfU0NIRU1BX1RZUEVfR1JPVVA6CisJCWlmICgoV1hTX01PREVMX0dST1VQREVGX0NBU1QgcHJldiktPmZsYWdzICYKKwkJICAgIFhNTF9TQ0hFTUFfTU9ERUxfR1JPVVBfREVGX1JFREVGSU5FRCkKKwkJeworCQkgICAgd2FzUmVkZWZpbmVkID0gMTsKKwkJICAgIGJyZWFrOworCQl9CisJCS8qIE1hcmsgaXQgYXMgcmVkZWZpbmVkLiAqLworCQkoV1hTX01PREVMX0dST1VQREVGX0NBU1QgcHJldiktPmZsYWdzIHw9CisJCSAgICBYTUxfU0NIRU1BX01PREVMX0dST1VQX0RFRl9SRURFRklORUQ7CisJCWlmIChyZWRlZi0+cmVmZXJlbmNlICE9IE5VTEwpIHsKKwkJICAgIC8qCisJCSAgICAqIE92ZXJ3cml0ZSB0aGUgUU5hbWUtcmVmZXJlbmNlIHdpdGggdGhlCisJCSAgICAqIHJlZmVyZW5jZWQgbW9kZWwgZ3JvdXAgZGVmLgorCQkgICAgKi8KKwkJICAgIChXWFNfUFRDX0NBU1QgcmVkZWYtPnJlZmVyZW5jZSktPmNoaWxkcmVuID0KKwkJCVdYU19UUkVFX0NBU1QgcHJldjsKKwkJfQorCQlyZWRlZi0+dGFyZ2V0ID0gcHJldjsKKwkJYnJlYWs7CisJICAgIGNhc2UgWE1MX1NDSEVNQV9UWVBFX0FUVFJJQlVURUdST1VQOgorCQlpZiAoKFdYU19BVFRSX0dST1VQX0NBU1QgcHJldiktPmZsYWdzICYKKwkJICAgIFhNTF9TQ0hFTUFTX0FUVFJHUk9VUF9SRURFRklORUQpCisJCXsKKwkJICAgIHdhc1JlZGVmaW5lZCA9IDE7CisJCSAgICBicmVhazsKKwkJfQorCQkoV1hTX0FUVFJfR1JPVVBfQ0FTVCBwcmV2KS0+ZmxhZ3MgfD0KKwkJICAgIFhNTF9TQ0hFTUFTX0FUVFJHUk9VUF9SRURFRklORUQ7CisJCWlmIChyZWRlZi0+cmVmZXJlbmNlICE9IE5VTEwpIHsKKwkJICAgIC8qCisJCSAgICAqIEFzc2lnbiB0aGUgcmVkZWZpbmVkIGF0dHJpYnV0ZSBncm91cCB0byB0aGUKKwkJICAgICogUU5hbWUtcmVmZXJlbmNlIGNvbXBvbmVudC4KKwkJICAgICogVGhpcyBpcyB0aGUgZWFzeSBjYXNlLCBzaW5jZSB3ZSB3aWxsIGp1c3QKKwkJICAgICogZXhwYW5kIHRoZSByZWRlZmluZWQgZ3JvdXAuCisJCSAgICAqLworCQkgICAgKFdYU19RTkFNRV9DQVNUIHJlZGVmLT5yZWZlcmVuY2UpLT5pdGVtID0gcHJldjsKKwkJICAgIHJlZGVmLT50YXJnZXQgPSBOVUxMOworCQl9IGVsc2UgeworCQkgICAgLyoKKwkJICAgICogVGhpcyBpcyB0aGUgY29tcGxpY2F0ZWQgY2FzZTogd2UgbmVlZAorCQkgICAgKiB0byBhcHBseSBzcmMtcmVkZWZpbmUgKDcuMi4yKSBhdCBhIGxhdGVyCisJCSAgICAqIHN0YWdlLCBpLmUuIHdoZW4gYXR0cmlidXRlIGdyb3VwIHJlZmVyZW5jZXMKKwkJICAgICogaGF2ZSBiZWVkIGV4cGFuZGVkIGFuZCBzaW1wbGUgdHlwZXMgaGF2ZQorCQkgICAgKiBiZWVkIGZpeGVkLgorCQkgICAgKi8KKwkJICAgIHJlZGVmLT50YXJnZXQgPSBwcmV2OworCQl9CisJCWJyZWFrOworCSAgICBkZWZhdWx0OgorCQlQRVJST1JfSU5UKCJ4bWxTY2hlbWFSZXNvbHZlUmVkZWZSZWZlcmVuY2VzIiwKKwkJICAgICJVbmV4cGVjdGVkIHJlZGVmaW5lZCBjb21wb25lbnQgdHlwZSIpOworCQlyZXR1cm4oLTEpOworCX0KKwlpZiAod2FzUmVkZWZpbmVkKSB7CisJICAgIHhtbENoYXIgKnN0ciA9IE5VTEw7CisJICAgIHhtbE5vZGVQdHIgbm9kZTsKKworCSAgICBpZiAocmVkZWYtPnJlZmVyZW5jZSkKKwkJbm9kZSA9IFdYU19JVEVNX05PREUocmVkZWYtPnJlZmVyZW5jZSk7CisJICAgIGVsc2UKKwkJbm9kZSA9IFdYU19JVEVNX05PREUocmVkZWYtPml0ZW0pOworCisJICAgIHhtbFNjaGVtYUN1c3RvbUVycihBQ1RYVF9DQVNUIHBjdHh0LAorCQkvKiBUT0RPOiBlcnJvciBjb2RlLiAqLworCQlYTUxfU0NIRU1BUF9TUkNfUkVERUZJTkUsCisJCW5vZGUsIE5VTEwsCisJCSJUaGUgcmVmZXJlbmNlZCAlcyB3YXMgYWxyZWFkeSByZWRlZmluZWQuIE11bHRpcGxlICIKKwkJInJlZGVmaW5pdGlvbiBvZiB0aGUgc2FtZSBjb21wb25lbnQgaXMgbm90IHN1cHBvcnRlZCIsCisJCXhtbFNjaGVtYUdldENvbXBvbmVudERlc2lnbmF0aW9uKCZzdHIsIHByZXYpLAorCQlOVUxMKTsKKwkgICAgRlJFRV9BTkRfTlVMTChzdHIpCisJICAgIGVyciA9IHBjdHh0LT5lcnI7CisJICAgIHJlZGVmID0gcmVkZWYtPm5leHQ7CisJICAgIGNvbnRpbnVlOworCX0KKwlyZWRlZiA9IHJlZGVmLT5uZXh0OworICAgIH0gd2hpbGUgKHJlZGVmICE9IE5VTEwpOworCisgICAgcmV0dXJuKGVycik7Cit9CisKK3N0YXRpYyBpbnQKK3htbFNjaGVtYUNoZWNrU1JDUmVkZWZpbmVTZWNvbmQoeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBwY3R4dCkKK3sKKyAgICBpbnQgZXJyID0gMDsKKyAgICB4bWxTY2hlbWFSZWRlZlB0ciByZWRlZiA9IFdYU19DT05TVFJVQ1RPUihwY3R4dCktPnJlZGVmczsKKyAgICB4bWxTY2hlbWFCYXNpY0l0ZW1QdHIgaXRlbTsKKworICAgIGlmIChyZWRlZiA9PSBOVUxMKQorCXJldHVybigwKTsKKworICAgIGRvIHsKKwlpZiAocmVkZWYtPnRhcmdldCA9PSBOVUxMKSB7CisJICAgIHJlZGVmID0gcmVkZWYtPm5leHQ7CisJICAgIGNvbnRpbnVlOworCX0KKwlpdGVtID0gcmVkZWYtPml0ZW07CisKKwlzd2l0Y2ggKGl0ZW0tPnR5cGUpIHsKKwkgICAgY2FzZSBYTUxfU0NIRU1BX1RZUEVfU0lNUExFOgorCSAgICBjYXNlIFhNTF9TQ0hFTUFfVFlQRV9DT01QTEVYOgorCQkvKgorCQkqIFNpbmNlIHRoZSBzcGVjIHdhbnRzIHRoZSB7bmFtZX0gb2YgdGhlIHJlZGVmaW5lZAorCQkqIHR5cGUgdG8gYmUgJ2Fic2VudCcsIHdlJ2xsIE5VTEwgaXQuCisJCSovCisJCShXWFNfVFlQRV9DQVNUIHJlZGVmLT50YXJnZXQpLT5uYW1lID0gTlVMTDsKKworCQkvKgorCQkqIFRPRE86IFNlZW1zIGxpa2UgdGhlcmUncyBub3RoaW5nIG1vcmUgdG8gZG8uIFRoZSBub3JtYWwKKwkJKiBpbmhlcml0YW5jZSBtZWNoYW5pc20gaXMgdXNlZC4gQnV0IG5vdCAxMDAlIHN1cmUuCisJCSovCisJCWJyZWFrOworCSAgICBjYXNlIFhNTF9TQ0hFTUFfVFlQRV9HUk9VUDoKKwkJLyoKKwkJKiBVUkdFTlQgVE9ETzoKKwkJKiBTUEVDIHNyYy1yZWRlZmluZToKKwkJKiAoNi4yLjIpICJUaGUge21vZGVsIGdyb3VwfSBvZiB0aGUgbW9kZWwgZ3JvdXAgZGVmaW5pdGlvbgorCQkqIHdoaWNoIGNvcnJlc3BvbmRzIHRvIGl0IHBlciBYTUwgUmVwcmVzZW50YXRpb24gb2YgTW9kZWwKKwkJKiBHcm91cCBEZWZpbml0aW9uIFNjaGVtYSBDb21wb25lbnRzICgkMy43LjIpIG11c3QgYmUgYQorCQkqIGB2YWxpZCByZXN0cmljdGlvbmAgb2YgdGhlIHttb2RlbCBncm91cH0gb2YgdGhhdCBtb2RlbAorCQkqIGdyb3VwIGRlZmluaXRpb24gaW4gSSwgYXMgZGVmaW5lZCBpbiBQYXJ0aWNsZSBWYWxpZAorCQkqIChSZXN0cmljdGlvbikgKCQzLjkuNikuIgorCQkqLworCQlicmVhazsKKwkgICAgY2FzZSBYTUxfU0NIRU1BX1RZUEVfQVRUUklCVVRFR1JPVVA6CisJCS8qCisJCSogU1BFQyBzcmMtcmVkZWZpbmU6CisJCSogKDcuMi4yKSAiVGhlIHthdHRyaWJ1dGUgdXNlc30gYW5kIHthdHRyaWJ1dGUgd2lsZGNhcmR9IG9mCisJCSogdGhlIGF0dHJpYnV0ZSBncm91cCBkZWZpbml0aW9uIHdoaWNoIGNvcnJlc3BvbmRzIHRvIGl0CisJCSogcGVyIFhNTCBSZXByZXNlbnRhdGlvbiBvZiBBdHRyaWJ1dGUgR3JvdXAgRGVmaW5pdGlvbiBTY2hlbWEKKwkJKiBDb21wb25lbnRzICgkMy42LjIpIG11c3QgYmUgYHZhbGlkIHJlc3RyaWN0aW9uc2Agb2YgdGhlCisJCSoge2F0dHJpYnV0ZSB1c2VzfSBhbmQge2F0dHJpYnV0ZSB3aWxkY2FyZH0gb2YgdGhhdCBhdHRyaWJ1dGUKKwkJKiBncm91cCBkZWZpbml0aW9uIGluIEksIGFzIGRlZmluZWQgaW4gY2xhdXNlIDIsIGNsYXVzZSAzIGFuZAorCQkqIGNsYXVzZSA0IG9mIERlcml2YXRpb24gVmFsaWQgKFJlc3RyaWN0aW9uLCBDb21wbGV4KQorCQkqICgkMy40LjYpICh3aGVyZSByZWZlcmVuY2VzIHRvIHRoZSBiYXNlIHR5cGUgZGVmaW5pdGlvbiBhcmUKKwkJKiB1bmRlcnN0b29kIGFzIHJlZmVyZW5jZXMgdG8gdGhlIGF0dHJpYnV0ZSBncm91cCBkZWZpbml0aW9uCisJCSogaW4gSSkuIgorCQkqLworCQllcnIgPSB4bWxTY2hlbWFDaGVja0Rlcml2YXRpb25PS1Jlc3RyaWN0aW9uMnRvNChwY3R4dCwKKwkJICAgIFhNTF9TQ0hFTUFfQUNUSU9OX1JFREVGSU5FLAorCQkgICAgaXRlbSwgcmVkZWYtPnRhcmdldCwKKwkJICAgIChXWFNfQVRUUl9HUk9VUF9DQVNUIGl0ZW0pLT5hdHRyVXNlcywKKwkJICAgIChXWFNfQVRUUl9HUk9VUF9DQVNUIHJlZGVmLT50YXJnZXQpLT5hdHRyVXNlcywKKwkJICAgIChXWFNfQVRUUl9HUk9VUF9DQVNUIGl0ZW0pLT5hdHRyaWJ1dGVXaWxkY2FyZCwKKwkJICAgIChXWFNfQVRUUl9HUk9VUF9DQVNUIHJlZGVmLT50YXJnZXQpLT5hdHRyaWJ1dGVXaWxkY2FyZCk7CisJCWlmIChlcnIgPT0gLTEpCisJCSAgICByZXR1cm4oLTEpOworCQlicmVhazsKKwkgICAgZGVmYXVsdDoKKwkJYnJlYWs7CisJfQorCXJlZGVmID0gcmVkZWYtPm5leHQ7CisgICAgfSB3aGlsZSAocmVkZWYgIT0gTlVMTCk7CisgICAgcmV0dXJuKDApOworfQorCisKK3N0YXRpYyBpbnQKK3htbFNjaGVtYUFkZENvbXBvbmVudHMoeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBwY3R4dCwKKwkJICAgICAgIHhtbFNjaGVtYUJ1Y2tldFB0ciBidWNrZXQpCit7CisgICAgeG1sU2NoZW1hQmFzaWNJdGVtUHRyIGl0ZW07CisgICAgaW50IGVycjsKKyAgICB4bWxIYXNoVGFibGVQdHIgKnRhYmxlOworICAgIGNvbnN0IHhtbENoYXIgKm5hbWU7CisgICAgaW50IGk7CisKKyNkZWZpbmUgV1hTX0dFVF9HTE9CQUxfSEFTSChjLCBzbG90KSB7IFwKKyAgICBpZiAoV1hTX0lTX0JVQ0tFVF9JTVBNQUlOKChjKS0+dHlwZSkpIFwKKwl0YWJsZSA9ICYoV1hTX0lNUEJVQ0tFVCgoYykpLT5zY2hlbWEtPnNsb3QpOyBcCisgICAgZWxzZSBcCisJdGFibGUgPSAmKFdYU19JTkNCVUNLRVQoKGMpKS0+b3duZXJJbXBvcnQtPnNjaGVtYS0+c2xvdCk7IH0KKworICAgIC8qCisgICAgKiBBZGQgZ2xvYmFsIGNvbXBvbmVudHMgdG8gdGhlIHNjaGVtYSdzIGhhc2ggdGFibGVzLgorICAgICogVGhpcyBpcyB0aGUgcGxhY2Ugd2hlcmUgZHVwbGljYXRlIGNvbXBvbmVudHMgd2lsbCBiZQorICAgICogZGV0ZWN0ZWQuCisgICAgKiBUT0RPOiBJIHRoaW5rIG5vcm1hbGx5IHdlIHNob3VsZCBzdXBwb3J0IGltcG9ydHMgb2YgdGhlCisgICAgKiAgIHNhbWUgbmFtZXNwYWNlIGZyb20gbXVsdGlwbGUgbG9jYXRpb25zLiBXZSBkb24ndCBkbyBjdXJyZW50bHksCisgICAgKiAgIGJ1dCBpZiB3ZSBkbyB0aGVuIGFjY29yZGluZyB0bzoKKyAgICAqICAgaHR0cDovL3d3dy53My5vcmcvQnVncy9QdWJsaWMvc2hvd19idWcuY2dpP2lkPTIyMjQKKyAgICAqICAgd2Ugd291bGQgbmVlZCwgaWYgaW1wb3J0ZWQgZGlyZWN0bHksIHRvIGltcG9ydCByZWRlZmluZWQKKyAgICAqICAgY29tcG9uZW50cyBhcyB3ZWxsIHRvIGJlIGFibGUgdG8gY2F0Y2ggY2xhc2hpbmcgY29tcG9uZW50cy4KKyAgICAqICAgKEkgaG9wZSBJJ2xsIHN0aWxsIGtub3cgd2hhdCB0aGlzIG1lYW5zIGFmdGVyIHNvbWUgbW9udGhzIDotKCkKKyAgICAqLworICAgIGlmIChidWNrZXQgPT0gTlVMTCkKKwlyZXR1cm4oLTEpOworICAgIGlmIChidWNrZXQtPmZsYWdzICYgWE1MX1NDSEVNQV9CVUNLRVRfQ09NUFNfQURERUQpCisJcmV0dXJuKDApOworICAgIGJ1Y2tldC0+ZmxhZ3MgfD0gWE1MX1NDSEVNQV9CVUNLRVRfQ09NUFNfQURERUQ7CisKKyAgICBmb3IgKGkgPSAwOyBpIDwgYnVja2V0LT5nbG9iYWxzLT5uYkl0ZW1zOyBpKyspIHsKKwlpdGVtID0gYnVja2V0LT5nbG9iYWxzLT5pdGVtc1tpXTsKKwl0YWJsZSA9IE5VTEw7CisJc3dpdGNoIChpdGVtLT50eXBlKSB7CisJICAgIGNhc2UgWE1MX1NDSEVNQV9UWVBFX0NPTVBMRVg6CisJICAgIGNhc2UgWE1MX1NDSEVNQV9UWVBFX1NJTVBMRToKKwkJaWYgKFdYU19SRURFRklORURfVFlQRShpdGVtKSkKKwkJICAgIGNvbnRpbnVlOworCQluYW1lID0gKFdYU19UWVBFX0NBU1QgaXRlbSktPm5hbWU7CisJCVdYU19HRVRfR0xPQkFMX0hBU0goYnVja2V0LCB0eXBlRGVjbCkKKwkJYnJlYWs7CisJICAgIGNhc2UgWE1MX1NDSEVNQV9UWVBFX0VMRU1FTlQ6CisJCW5hbWUgPSAoV1hTX0VMRU1fQ0FTVCBpdGVtKS0+bmFtZTsKKwkJV1hTX0dFVF9HTE9CQUxfSEFTSChidWNrZXQsIGVsZW1EZWNsKQorCQlicmVhazsKKwkgICAgY2FzZSBYTUxfU0NIRU1BX1RZUEVfQVRUUklCVVRFOgorCQluYW1lID0gKFdYU19BVFRSX0NBU1QgaXRlbSktPm5hbWU7CisJCVdYU19HRVRfR0xPQkFMX0hBU0goYnVja2V0LCBhdHRyRGVjbCkKKwkJYnJlYWs7CisJICAgIGNhc2UgWE1MX1NDSEVNQV9UWVBFX0dST1VQOgorCQlpZiAoV1hTX1JFREVGSU5FRF9NT0RFTF9HUk9VUF9ERUYoaXRlbSkpCisJCSAgICBjb250aW51ZTsKKwkJbmFtZSA9IChXWFNfTU9ERUxfR1JPVVBERUZfQ0FTVCBpdGVtKS0+bmFtZTsKKwkJV1hTX0dFVF9HTE9CQUxfSEFTSChidWNrZXQsIGdyb3VwRGVjbCkKKwkJYnJlYWs7CisJICAgIGNhc2UgWE1MX1NDSEVNQV9UWVBFX0FUVFJJQlVURUdST1VQOgorCQlpZiAoV1hTX1JFREVGSU5FRF9BVFRSX0dST1VQKGl0ZW0pKQorCQkgICAgY29udGludWU7CisJCW5hbWUgPSAoV1hTX0FUVFJfR1JPVVBfQ0FTVCBpdGVtKS0+bmFtZTsKKwkJV1hTX0dFVF9HTE9CQUxfSEFTSChidWNrZXQsIGF0dHJncnBEZWNsKQorCQlicmVhazsKKwkgICAgY2FzZSBYTUxfU0NIRU1BX1RZUEVfSURDX0tFWToKKwkgICAgY2FzZSBYTUxfU0NIRU1BX1RZUEVfSURDX1VOSVFVRToKKwkgICAgY2FzZSBYTUxfU0NIRU1BX1RZUEVfSURDX0tFWVJFRjoKKwkJbmFtZSA9IChXWFNfSURDX0NBU1QgaXRlbSktPm5hbWU7CisJCVdYU19HRVRfR0xPQkFMX0hBU0goYnVja2V0LCBpZGNEZWYpCisJCWJyZWFrOworCSAgICBjYXNlIFhNTF9TQ0hFTUFfVFlQRV9OT1RBVElPTjoKKwkJbmFtZSA9ICgoeG1sU2NoZW1hTm90YXRpb25QdHIpIGl0ZW0pLT5uYW1lOworCQlXWFNfR0VUX0dMT0JBTF9IQVNIKGJ1Y2tldCwgbm90YURlY2wpCisJCWJyZWFrOworCSAgICBkZWZhdWx0OgorCQlQRVJST1JfSU5UKCJ4bWxTY2hlbWFBZGRDb21wb25lbnRzIiwKKwkJICAgICJVbmV4cGVjdGVkIGdsb2JhbCBjb21wb25lbnQgdHlwZSIpOworCQljb250aW51ZTsKKwl9CisJaWYgKCp0YWJsZSA9PSBOVUxMKSB7CisJICAgICp0YWJsZSA9IHhtbEhhc2hDcmVhdGVEaWN0KDEwLCBwY3R4dC0+ZGljdCk7CisJICAgIGlmICgqdGFibGUgPT0gTlVMTCkgeworCQlQRVJST1JfSU5UKCJ4bWxTY2hlbWFBZGRDb21wb25lbnRzIiwKKwkJICAgICJmYWlsZWQgdG8gY3JlYXRlIGEgY29tcG9uZW50IGhhc2ggdGFibGUiKTsKKwkJcmV0dXJuKC0xKTsKKwkgICAgfQorCX0KKwllcnIgPSB4bWxIYXNoQWRkRW50cnkoKnRhYmxlLCBuYW1lLCBpdGVtKTsKKwlpZiAoZXJyICE9IDApIHsKKwkgICAgeG1sQ2hhciAqc3RyID0gTlVMTDsKKworCSAgICB4bWxTY2hlbWFDdXN0b21FcnIoQUNUWFRfQ0FTVCBwY3R4dCwKKwkJWE1MX1NDSEVNQVBfUkVERUZJTkVEX1RZUEUsCisJCVdYU19JVEVNX05PREUoaXRlbSksCisJCVdYU19CQVNJQ19DQVNUIGl0ZW0sCisJCSJBIGdsb2JhbCAlcyAnJXMnIGRvZXMgYWxyZWFkeSBleGlzdCIsCisJCVdYU19JVEVNX1RZUEVfTkFNRShpdGVtKSwKKwkJeG1sU2NoZW1hR2V0Q29tcG9uZW50UU5hbWUoJnN0ciwgaXRlbSkpOworCSAgICBGUkVFX0FORF9OVUxMKHN0cik7CisJfQorICAgIH0KKyAgICAvKgorICAgICogUHJvY2VzcyBpbXBvcnRlZC9pbmNsdWRlZCBzY2hlbWFzLgorICAgICovCisgICAgaWYgKGJ1Y2tldC0+cmVsYXRpb25zICE9IE5VTEwpIHsKKwl4bWxTY2hlbWFTY2hlbWFSZWxhdGlvblB0ciByZWwgPSBidWNrZXQtPnJlbGF0aW9uczsKKwlkbyB7CisJICAgIGlmICgocmVsLT5idWNrZXQgIT0gTlVMTCkgJiYKKwkJKChyZWwtPmJ1Y2tldC0+ZmxhZ3MgJiBYTUxfU0NIRU1BX0JVQ0tFVF9DT01QU19BRERFRCkgPT0gMCkpIHsKKwkJaWYgKHhtbFNjaGVtYUFkZENvbXBvbmVudHMocGN0eHQsIHJlbC0+YnVja2V0KSA9PSAtMSkKKwkJICAgIHJldHVybigtMSk7CisJICAgIH0KKwkgICAgcmVsID0gcmVsLT5uZXh0OworCX0gd2hpbGUgKHJlbCAhPSBOVUxMKTsKKyAgICB9CisgICAgcmV0dXJuKDApOworfQorCitzdGF0aWMgaW50Cit4bWxTY2hlbWFGaXh1cENvbXBvbmVudHMoeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBwY3R4dCwKKwkJCSB4bWxTY2hlbWFCdWNrZXRQdHIgcm9vdEJ1Y2tldCkKK3sKKyAgICB4bWxTY2hlbWFDb25zdHJ1Y3Rpb25DdHh0UHRyIGNvbiA9IHBjdHh0LT5jb25zdHJ1Y3RvcjsKKyAgICB4bWxTY2hlbWFUcmVlSXRlbVB0ciBpdGVtLCAqaXRlbXM7CisgICAgaW50IG5iSXRlbXMsIGksIHJldCA9IDA7CisgICAgeG1sU2NoZW1hQnVja2V0UHRyIG9sZGJ1Y2tldCA9IGNvbi0+YnVja2V0OworICAgIHhtbFNjaGVtYUVsZW1lbnRQdHIgZWxlbURlY2w7CisKKyNkZWZpbmUgRklYSEZBSUxVUkUgaWYgKHBjdHh0LT5lcnIgPT0gWE1MX1NDSEVNQVBfSU5URVJOQUwpIGdvdG8gZXhpdF9mYWlsdXJlOworCisgICAgaWYgKChjb24tPnBlbmRpbmcgPT0gTlVMTCkgfHwKKwkoY29uLT5wZW5kaW5nLT5uYkl0ZW1zID09IDApKQorCXJldHVybigwKTsKKworICAgIC8qCisgICAgKiBTaW5jZSB4bWxTY2hlbWFGaXh1cENvbXBsZXhUeXBlKCkgd2lsbCBjcmVhdGUgbmV3IHBhcnRpY2xlcworICAgICogKGxvY2FsIGNvbXBvbmVudHMpLCBhbmQgdGhvc2UgcGFydGljbGUgY29tcG9uZW50cyBuZWVkIGEgYnVja2V0CisgICAgKiBvbiB0aGUgY29uc3RydWN0b3IsIHdlJ2xsIGFzc3VyZSBoZXJlIHRoYXQgdGhlIGNvbnN0cnVjdG9yIGhhcworICAgICogYSBidWNrZXQuCisgICAgKiBUT0RPOiBUaGluayBhYm91dCBzdG9yaW5nIGxvY2FscyBfb25seV8gb24gdGhlIG1haW4gYnVja2V0LgorICAgICovCisgICAgaWYgKGNvbi0+YnVja2V0ID09IE5VTEwpCisJY29uLT5idWNrZXQgPSByb290QnVja2V0OworCisgICAgLyogVE9ETzoKKyAgICAqIFNQRUMgKHNyYy1yZWRlZmluZSk6CisgICAgKiAoNi4yKSAiSWYgaXQgaGFzIG5vIHN1Y2ggc2VsZi1yZWZlcmVuY2UsIHRoZW4gYWxsIG9mIHRoZQorICAgICogZm9sbG93aW5nIG11c3QgYmUgdHJ1ZToiCisKKyAgICAqICg2LjIuMikgVGhlIHttb2RlbCBncm91cH0gb2YgdGhlIG1vZGVsIGdyb3VwIGRlZmluaXRpb24gd2hpY2gKKyAgICAqIGNvcnJlc3BvbmRzIHRvIGl0IHBlciBYTUwgUmVwcmVzZW50YXRpb24gb2YgTW9kZWwgR3JvdXAKKyAgICAqIERlZmluaXRpb24gU2NoZW1hIENvbXBvbmVudHMgKCQzLjcuMikgbXVzdCBiZSBhIGB2YWxpZAorICAgICogcmVzdHJpY3Rpb25gIG9mIHRoZSB7bW9kZWwgZ3JvdXB9IG9mIHRoYXQgbW9kZWwgZ3JvdXAgZGVmaW5pdGlvbgorICAgICogaW4gSSwgYXMgZGVmaW5lZCBpbiBQYXJ0aWNsZSBWYWxpZCAoUmVzdHJpY3Rpb24pICgkMy45LjYpLiIKKyAgICAqLworICAgIHhtbFNjaGVtYUNoZWNrU1JDUmVkZWZpbmVGaXJzdChwY3R4dCk7CisKKyAgICAvKgorICAgICogQWRkIGdsb2JhbCBjb21wb25lbnRzIHRvIHRoZSBzY2hlbWF0YSdzIGhhc2ggdGFibGVzLgorICAgICovCisgICAgeG1sU2NoZW1hQWRkQ29tcG9uZW50cyhwY3R4dCwgcm9vdEJ1Y2tldCk7CisKKyAgICBwY3R4dC0+Y3R4dFR5cGUgPSBOVUxMOworICAgIGl0ZW1zID0gKHhtbFNjaGVtYVRyZWVJdGVtUHRyICopIGNvbi0+cGVuZGluZy0+aXRlbXM7CisgICAgbmJJdGVtcyA9IGNvbi0+cGVuZGluZy0+bmJJdGVtczsKKyAgICAvKgorICAgICogTm93IHRoYXQgd2UgaGF2ZSBwYXJzZWQgKmFsbCogdGhlIHNjaGVtYSBkb2N1bWVudChzKSBhbmQgY29udmVydGVkCisgICAgKiB0aGVtIHRvIHNjaGVtYSBjb21wb25lbnRzLCB3ZSBjYW4gcmVzb2x2ZSByZWZlcmVuY2VzLCBhcHBseSBjb21wb25lbnQKKyAgICAqIGNvbnN0cmFpbnRzLCBjcmVhdGUgdGhlIEZTQSBmcm9tIHRoZSBjb250ZW50IG1vZGVsLCBldGMuCisgICAgKi8KKyAgICAvKgorICAgICogUmVzb2x2ZSByZWZlcmVuY2VzIG9mLi4KKyAgICAqCisgICAgKiAxLiBlbGVtZW50IGRlY2xhcmF0aW9uczoKKyAgICAqICAgLSB0aGUgdHlwZSBkZWZpbml0aW9uCisgICAgKiAgIC0gdGhlIHN1YnN0aXR1dGlvbiBncm91cCBhZmZpbGlhdGlvbgorICAgICogMi4gc2ltcGxlL2NvbXBsZXggdHlwZXM6CisgICAgKiAgIC0gdGhlIGJhc2UgdHlwZSBkZWZpbml0aW9uCisgICAgKiAgIC0gdGhlIG1lbWJlclR5cGVzIG9mIHVuaW9uIHR5cGVzCisgICAgKiAgIC0gdGhlIGl0ZW1UeXBlIG9mIGxpc3QgdHlwZXMKKyAgICAqIDMuIGF0dHJpYnV0ZXMgZGVjbGFyYXRpb25zIGFuZCBhdHRyaWJ1dGUgdXNlczoKKyAgICAqICAgLSB0aGUgdHlwZSBkZWZpbml0aW9uCisgICAgKiAgIC0gaWYgYW4gYXR0cmlidXRlIHVzZSwgdGhlbiB0aGUgYXR0cmlidXRlIGRlY2xhcmF0aW9uCisgICAgKiA0LiBhdHRyaWJ1dGUgZ3JvdXAgcmVmZXJlbmNlczoKKyAgICAqICAgLSB0aGUgYXR0cmlidXRlIGdyb3VwIGRlZmluaXRpb24KKyAgICAqIDUuIHBhcnRpY2xlczoKKyAgICAqICAgLSB0aGUgdGVybSBvZiB0aGUgcGFydGljbGUgKGUuZy4gYSBtb2RlbCBncm91cCkKKyAgICAqIDYuIElEQyBrZXktcmVmZXJlbmNlczoKKyAgICAqICAgLSB0aGUgcmVmZXJlbmNlZCBJREMgJ2tleScgb3IgJ3VuaXF1ZScgZGVmaW5pdGlvbgorICAgICogNy4gQXR0cmlidXRlIHByb2hpYml0aW9ucyB3aGljaCBoYWQgYSAicmVmIiBhdHRyaWJ1dGUuCisgICAgKi8KKyAgICBmb3IgKGkgPSAwOyBpIDwgbmJJdGVtczsgaSsrKSB7CisJaXRlbSA9IGl0ZW1zW2ldOworCXN3aXRjaCAoaXRlbS0+dHlwZSkgeworCSAgICBjYXNlIFhNTF9TQ0hFTUFfVFlQRV9FTEVNRU5UOgorCQl4bWxTY2hlbWFSZXNvbHZlRWxlbWVudFJlZmVyZW5jZXMoCisJCSAgICAoeG1sU2NoZW1hRWxlbWVudFB0cikgaXRlbSwgcGN0eHQpOworCQlGSVhIRkFJTFVSRTsKKwkJYnJlYWs7CisJICAgIGNhc2UgWE1MX1NDSEVNQV9UWVBFX0NPTVBMRVg6CisJICAgIGNhc2UgWE1MX1NDSEVNQV9UWVBFX1NJTVBMRToKKwkJeG1sU2NoZW1hUmVzb2x2ZVR5cGVSZWZlcmVuY2VzKAorCQkgICAgKHhtbFNjaGVtYVR5cGVQdHIpIGl0ZW0sIHBjdHh0KTsKKwkJRklYSEZBSUxVUkU7CisJCWJyZWFrOworCSAgICBjYXNlIFhNTF9TQ0hFTUFfVFlQRV9BVFRSSUJVVEU6CisJCXhtbFNjaGVtYVJlc29sdmVBdHRyVHlwZVJlZmVyZW5jZXMoCisJCSAgICAoeG1sU2NoZW1hQXR0cmlidXRlUHRyKSBpdGVtLCBwY3R4dCk7CisJCUZJWEhGQUlMVVJFOworCQlicmVhazsKKwkgICAgY2FzZSBYTUxfU0NIRU1BX1RZUEVfQVRUUklCVVRFX1VTRToKKwkJeG1sU2NoZW1hUmVzb2x2ZUF0dHJVc2VSZWZlcmVuY2VzKAorCQkgICAgKHhtbFNjaGVtYUF0dHJpYnV0ZVVzZVB0cikgaXRlbSwgcGN0eHQpOworCQlGSVhIRkFJTFVSRTsKKwkJYnJlYWs7CisJICAgIGNhc2UgWE1MX1NDSEVNQV9FWFRSQV9RTkFNRVJFRjoKKwkJaWYgKChXWFNfUU5BTUVfQ0FTVCBpdGVtKS0+aXRlbVR5cGUgPT0KKwkJICAgIFhNTF9TQ0hFTUFfVFlQRV9BVFRSSUJVVEVHUk9VUCkKKwkJeworCQkgICAgeG1sU2NoZW1hUmVzb2x2ZUF0dHJHcm91cFJlZmVyZW5jZXMoCisJCQlXWFNfUU5BTUVfQ0FTVCBpdGVtLCBwY3R4dCk7CisJCX0KKwkJRklYSEZBSUxVUkU7CisJCWJyZWFrOworCSAgICBjYXNlIFhNTF9TQ0hFTUFfVFlQRV9TRVFVRU5DRToKKwkgICAgY2FzZSBYTUxfU0NIRU1BX1RZUEVfQ0hPSUNFOgorCSAgICBjYXNlIFhNTF9TQ0hFTUFfVFlQRV9BTEw6CisJCXhtbFNjaGVtYVJlc29sdmVNb2RlbEdyb3VwUGFydGljbGVSZWZlcmVuY2VzKHBjdHh0LAorCQkgICAgV1hTX01PREVMX0dST1VQX0NBU1QgaXRlbSk7CisJCUZJWEhGQUlMVVJFOworCQlicmVhazsKKwkgICAgY2FzZSBYTUxfU0NIRU1BX1RZUEVfSURDX0tFWToKKwkgICAgY2FzZSBYTUxfU0NIRU1BX1RZUEVfSURDX1VOSVFVRToKKwkgICAgY2FzZSBYTUxfU0NIRU1BX1RZUEVfSURDX0tFWVJFRjoKKwkJeG1sU2NoZW1hUmVzb2x2ZUlEQ0tleVJlZmVyZW5jZXMoCisJCSAgICAoeG1sU2NoZW1hSURDUHRyKSBpdGVtLCBwY3R4dCk7CisJCUZJWEhGQUlMVVJFOworCQlicmVhazsKKwkgICAgY2FzZSBYTUxfU0NIRU1BX0VYVFJBX0FUVFJfVVNFX1BST0hJQjoKKwkJLyoKKwkJKiBIYW5kbGUgYXR0cmlidWUgcHJvaGliaXRpb24gd2hpY2ggaGFkIGEKKwkJKiAicmVmIiBhdHRyaWJ1dGUuCisJCSovCisJCXhtbFNjaGVtYVJlc29sdmVBdHRyVXNlUHJvaGliUmVmZXJlbmNlcygKKwkJICAgIFdYU19BVFRSX1BST0hJQl9DQVNUIGl0ZW0sIHBjdHh0KTsKKwkJRklYSEZBSUxVUkU7CisJCWJyZWFrOworCSAgICBkZWZhdWx0OgorCQlicmVhazsKKwl9CisgICAgfQorICAgIGlmIChwY3R4dC0+bmJlcnJvcnMgIT0gMCkKKwlnb3RvIGV4aXRfZXJyb3I7CisKKyAgICAvKgorICAgICogTm93IHRoYXQgYWxsIHJlZmVyZW5jZXMgYXJlIHJlc29sdmVkIHdlCisgICAgKiBjYW4gY2hlY2sgZm9yIGNpcmN1bGFyaXR5IG9mLi4uCisgICAgKiAxLiB0aGUgYmFzZSBheGlzIG9mIHR5cGUgZGVmaW5pdGlvbnMKKyAgICAqIDIuIG5lc3RlZCBtb2RlbCBncm91cCBkZWZpbml0aW9ucworICAgICogMy4gbmVzdGVkIGF0dHJpYnV0ZSBncm91cCBkZWZpbml0aW9ucworICAgICogVE9ETzogY2hlY2sgZm9yIGNpcmN1YWwgc3Vic3RpdHV0aW9uIGdyb3Vwcy4KKyAgICAqLworICAgIGZvciAoaSA9IDA7IGkgPCBuYkl0ZW1zOyBpKyspIHsKKwlpdGVtID0gaXRlbXNbaV07CisJLyoKKwkqIExldCdzIGJldHRlciBzdG9wIG9uIHRoZSBmaXJzdCBlcnJvciBoZXJlLgorCSovCisJc3dpdGNoIChpdGVtLT50eXBlKSB7CisJICAgIGNhc2UgWE1MX1NDSEVNQV9UWVBFX0NPTVBMRVg6CisJICAgIGNhc2UgWE1MX1NDSEVNQV9UWVBFX1NJTVBMRToKKwkJeG1sU2NoZW1hQ2hlY2tUeXBlRGVmQ2lyY3VsYXIoCisJCSAgICAoeG1sU2NoZW1hVHlwZVB0cikgaXRlbSwgcGN0eHQpOworCQlGSVhIRkFJTFVSRTsKKwkJaWYgKHBjdHh0LT5uYmVycm9ycyAhPSAwKQorCQkgICAgZ290byBleGl0X2Vycm9yOworCQlicmVhazsKKwkgICAgY2FzZSBYTUxfU0NIRU1BX1RZUEVfR1JPVVA6CisJCXhtbFNjaGVtYUNoZWNrR3JvdXBEZWZDaXJjdWxhcigKKwkJICAgICh4bWxTY2hlbWFNb2RlbEdyb3VwRGVmUHRyKSBpdGVtLCBwY3R4dCk7CisJCUZJWEhGQUlMVVJFOworCQlpZiAocGN0eHQtPm5iZXJyb3JzICE9IDApCisJCSAgICBnb3RvIGV4aXRfZXJyb3I7CisJCWJyZWFrOworCSAgICBjYXNlIFhNTF9TQ0hFTUFfVFlQRV9BVFRSSUJVVEVHUk9VUDoKKwkJeG1sU2NoZW1hQ2hlY2tBdHRyR3JvdXBDaXJjdWxhcigKKwkJICAgICh4bWxTY2hlbWFBdHRyaWJ1dGVHcm91cFB0cikgaXRlbSwgcGN0eHQpOworCQlGSVhIRkFJTFVSRTsKKwkJaWYgKHBjdHh0LT5uYmVycm9ycyAhPSAwKQorCQkgICAgZ290byBleGl0X2Vycm9yOworCQlicmVhazsKKwkgICAgZGVmYXVsdDoKKwkJYnJlYWs7CisJfQorICAgIH0KKyAgICBpZiAocGN0eHQtPm5iZXJyb3JzICE9IDApCisJZ290byBleGl0X2Vycm9yOworICAgIC8qCisgICAgKiBNb2RlbCBncm91cCBkZWZpbml0aW9uIHJlZmVyZW5jZXM6CisgICAgKiBTdWNoIGEgcmVmZXJlbmNlIGlzIHJlZmxlY3RlZCBieSBhIHBhcnRpY2xlIGF0IHRoZSBjb21wb25lbnQKKyAgICAqIGxldmVsLiBVbnRpbCBub3cgdGhlICd0ZXJtJyBvZiBzdWNoIHBhcnRpY2xlcyBwb2ludGVkCisgICAgKiB0byB0aGUgbW9kZWwgZ3JvdXAgZGVmaW5pdGlvbjsgdGhpcyB3YXMgZG9uZSwgaW4gb3JkZXIgdG8KKyAgICAqIGVhc2UgY2lyY3VsYXJpdHkgY2hlY2tzLiBOb3cgd2UgbmVlZCB0byBzZXQgdGhlICd0ZXJtJyBvZgorICAgICogc3VjaCBwYXJ0aWNsZXMgdG8gdGhlIG1vZGVsIGdyb3VwIG9mIHRoZSBtb2RlbCBncm91cCBkZWZpbml0aW9uLgorICAgICovCisgICAgZm9yIChpID0gMDsgaSA8IG5iSXRlbXM7IGkrKykgeworCWl0ZW0gPSBpdGVtc1tpXTsKKwlzd2l0Y2ggKGl0ZW0tPnR5cGUpIHsKKwkgICAgY2FzZSBYTUxfU0NIRU1BX1RZUEVfU0VRVUVOQ0U6CisJICAgIGNhc2UgWE1MX1NDSEVNQV9UWVBFX0NIT0lDRToKKwkJeG1sU2NoZW1hTW9kZWxHcm91cFRvTW9kZWxHcm91cERlZkZpeHVwKHBjdHh0LAorCQkgICAgV1hTX01PREVMX0dST1VQX0NBU1QgaXRlbSk7CisJCWJyZWFrOworCSAgICBkZWZhdWx0OgorCQlicmVhazsKKwl9CisgICAgfQorICAgIGlmIChwY3R4dC0+bmJlcnJvcnMgIT0gMCkKKwlnb3RvIGV4aXRfZXJyb3I7CisgICAgLyoKKyAgICAqIEV4cGFuZCBhdHRyaWJ1dGUgZ3JvdXAgcmVmZXJlbmNlcyBvZiBhdHRyaWJ1dGUgZ3JvdXAgZGVmaW5pdGlvbnMuCisgICAgKi8KKyAgICBmb3IgKGkgPSAwOyBpIDwgbmJJdGVtczsgaSsrKSB7CisJaXRlbSA9IGl0ZW1zW2ldOworCXN3aXRjaCAoaXRlbS0+dHlwZSkgeworICAgICAgICAgICAgY2FzZSBYTUxfU0NIRU1BX1RZUEVfQVRUUklCVVRFR1JPVVA6CisJCWlmICgoISBXWFNfQVRUUl9HUk9VUF9FWFBBTkRFRChpdGVtKSkgJiYKKwkJICAgIFdYU19BVFRSX0dST1VQX0hBU19SRUZTKGl0ZW0pKQorCQl7CisJCSAgICB4bWxTY2hlbWFBdHRyaWJ1dGVHcm91cEV4cGFuZFJlZnMocGN0eHQsCisJCQlXWFNfQVRUUl9HUk9VUF9DQVNUIGl0ZW0pOworCQkgICAgRklYSEZBSUxVUkU7CisJCX0KKwkJYnJlYWs7CisJICAgIGRlZmF1bHQ6CisJCWJyZWFrOworCX0KKyAgICB9CisgICAgaWYgKHBjdHh0LT5uYmVycm9ycyAhPSAwKQorCWdvdG8gZXhpdF9lcnJvcjsKKyAgICAvKgorICAgICogRmlyc3QgY29tcHV0ZSB0aGUgdmFyaWV0eSBvZiBzaW1wbGUgdHlwZXMuIFRoaXMgaXMgbmVlZGVkIGFzCisgICAgKiBhIHNlcGVyYXRlIHN0ZXAsIHNpbmNlIG90aGVyd2lzZSB3ZSB3b24ndCBiZSBhYmxlIHRvIGRldGVjdAorICAgICogY2lyY3VsYXIgdW5pb24gdHlwZXMgaW4gYWxsIGNhc2VzLgorICAgICovCisgICAgZm9yIChpID0gMDsgaSA8IG5iSXRlbXM7IGkrKykgeworCWl0ZW0gPSBpdGVtc1tpXTsKKwlzd2l0Y2ggKGl0ZW0tPnR5cGUpIHsKKyAgICAgICAgICAgIGNhc2UgWE1MX1NDSEVNQV9UWVBFX1NJTVBMRToKKwkJaWYgKFdYU19JU19UWVBFX05PVF9GSVhFRF8xKCh4bWxTY2hlbWFUeXBlUHRyKSBpdGVtKSkgeworCQkgICAgeG1sU2NoZW1hRml4dXBTaW1wbGVUeXBlU3RhZ2VPbmUocGN0eHQsCisJCQkoeG1sU2NoZW1hVHlwZVB0cikgaXRlbSk7CisJCSAgICBGSVhIRkFJTFVSRTsKKwkJfQorCQlicmVhazsKKwkgICAgZGVmYXVsdDoKKwkJYnJlYWs7CisJfQorICAgIH0KKyAgICBpZiAocGN0eHQtPm5iZXJyb3JzICE9IDApCisJZ290byBleGl0X2Vycm9yOworICAgIC8qCisgICAgKiBEZXRlY3QgY2lyY3VsYXIgdW5pb24gdHlwZXMuIE5vdGUgdGhhdCB0aGlzIG5lZWRzIHRoZSB2YXJpZXR5IHRvCisgICAgKiBiZSBhbHJlYWR5IGNvbXB1dGVkLgorICAgICovCisgICAgZm9yIChpID0gMDsgaSA8IG5iSXRlbXM7IGkrKykgeworCWl0ZW0gPSBpdGVtc1tpXTsKKwlzd2l0Y2ggKGl0ZW0tPnR5cGUpIHsKKyAgICAgICAgICAgIGNhc2UgWE1MX1NDSEVNQV9UWVBFX1NJTVBMRToKKwkJaWYgKCgoeG1sU2NoZW1hVHlwZVB0cikgaXRlbSktPm1lbWJlclR5cGVzICE9IE5VTEwpIHsKKwkJICAgIHhtbFNjaGVtYUNoZWNrVW5pb25UeXBlRGVmQ2lyY3VsYXIocGN0eHQsCisJCQkoeG1sU2NoZW1hVHlwZVB0cikgaXRlbSk7CisJCSAgICBGSVhIRkFJTFVSRTsKKwkJfQorCQlicmVhazsKKwkgICAgZGVmYXVsdDoKKwkJYnJlYWs7CisJfQorICAgIH0KKyAgICBpZiAocGN0eHQtPm5iZXJyb3JzICE9IDApCisJZ290byBleGl0X2Vycm9yOworCisgICAgLyoKKyAgICAqIERvIHRoZSBjb21wbGV0ZSB0eXBlIGZpeHVwIGZvciBzaW1wbGUgdHlwZXMuCisgICAgKi8KKyAgICBmb3IgKGkgPSAwOyBpIDwgbmJJdGVtczsgaSsrKSB7CisJaXRlbSA9IGl0ZW1zW2ldOworCXN3aXRjaCAoaXRlbS0+dHlwZSkgeworICAgICAgICAgICAgY2FzZSBYTUxfU0NIRU1BX1RZUEVfU0lNUExFOgorCQlpZiAoV1hTX0lTX1RZUEVfTk9UX0ZJWEVEKFdYU19UWVBFX0NBU1QgaXRlbSkpIHsKKwkJICAgIHhtbFNjaGVtYUZpeHVwU2ltcGxlVHlwZVN0YWdlVHdvKHBjdHh0LCBXWFNfVFlQRV9DQVNUIGl0ZW0pOworCQkgICAgRklYSEZBSUxVUkU7CisJCX0KKwkJYnJlYWs7CisJICAgIGRlZmF1bHQ6CisJCWJyZWFrOworCX0KKyAgICB9CisgICAgaWYgKHBjdHh0LT5uYmVycm9ycyAhPSAwKQorCWdvdG8gZXhpdF9lcnJvcjsKKyAgICAvKgorICAgICogQXQgdGhpcyBwb2ludCB3ZSBuZWVkIGJ1aWxkIGFuZCBjaGVjayBhbGwgc2ltcGxlIHR5cGVzLgorICAgICovCisgICAgLyoKKyAgICAqIEFwcGx5IGNvbnRyYWludHMgZm9yIGF0dHJpYnV0ZSBkZWNsYXJhdGlvbnMuCisgICAgKi8KKyAgICBmb3IgKGkgPSAwOyBpIDwgbmJJdGVtczsgaSsrKSB7CisJaXRlbSA9IGl0ZW1zW2ldOworCXN3aXRjaCAoaXRlbS0+dHlwZSkgeworCSAgICBjYXNlIFhNTF9TQ0hFTUFfVFlQRV9BVFRSSUJVVEU6CisJCXhtbFNjaGVtYUNoZWNrQXR0clByb3BzQ29ycmVjdChwY3R4dCwgV1hTX0FUVFJfQ0FTVCBpdGVtKTsKKwkJRklYSEZBSUxVUkU7CisJCWJyZWFrOworCSAgICBkZWZhdWx0OgorCQlicmVhazsKKwl9CisgICAgfQorICAgIGlmIChwY3R4dC0+bmJlcnJvcnMgIT0gMCkKKwlnb3RvIGV4aXRfZXJyb3I7CisgICAgLyoKKyAgICAqIEFwcGx5IGNvbnN0cmFpbnRzIGZvciBhdHRyaWJ1dGUgdXNlcy4KKyAgICAqLworICAgIGZvciAoaSA9IDA7IGkgPCBuYkl0ZW1zOyBpKyspIHsKKwlpdGVtID0gaXRlbXNbaV07CisJc3dpdGNoIChpdGVtLT50eXBlKSB7CisJICAgIGNhc2UgWE1MX1NDSEVNQV9UWVBFX0FUVFJJQlVURV9VU0U6CisJCWlmICgoKHhtbFNjaGVtYUF0dHJpYnV0ZVVzZVB0cilpdGVtKS0+ZGVmVmFsdWUgIT0gTlVMTCkgeworCQkgICAgeG1sU2NoZW1hQ2hlY2tBdHRyVXNlUHJvcHNDb3JyZWN0KHBjdHh0LAorCQkJV1hTX0FUVFJfVVNFX0NBU1QgaXRlbSk7CisJCSAgICBGSVhIRkFJTFVSRTsKKwkJfQorCQlicmVhazsKKwkgICAgZGVmYXVsdDoKKwkJYnJlYWs7CisJfQorICAgIH0KKyAgICBpZiAocGN0eHQtPm5iZXJyb3JzICE9IDApCisJZ290byBleGl0X2Vycm9yOworCisgICAgLyoKKyAgICAqIEFwcGx5IGNvbnN0cmFpbnRzIGZvciBhdHRyaWJ1dGUgZ3JvdXAgZGVmaW5pdGlvbnMuCisgICAgKi8KKyAgICBmb3IgKGkgPSAwOyBpIDwgbmJJdGVtczsgaSsrKSB7CisJaXRlbSA9IGl0ZW1zW2ldOworCXN3aXRjaCAoaXRlbS0+dHlwZSkgeworCWNhc2UgWE1MX1NDSEVNQV9UWVBFX0FUVFJJQlVURUdST1VQOgorCSAgICBpZiAoKCAoV1hTX0FUVFJfR1JPVVBfQ0FTVCBpdGVtKS0+YXR0clVzZXMgIT0gTlVMTCkgJiYKKwkJKCAoV1hTX0xJU1RfQ0FTVCAoV1hTX0FUVFJfR1JPVVBfQ0FTVCBpdGVtKS0+YXR0clVzZXMpLT5uYkl0ZW1zID4gMSkpCisJICAgIHsKKwkJeG1sU2NoZW1hQ2hlY2tBR1Byb3BzQ29ycmVjdChwY3R4dCwgV1hTX0FUVFJfR1JPVVBfQ0FTVCBpdGVtKTsKKwkJRklYSEZBSUxVUkU7CisJICAgIH0KKwkgICAgYnJlYWs7CisJZGVmYXVsdDoKKwkgICAgYnJlYWs7CisJfQorICAgIH0KKyAgICBpZiAocGN0eHQtPm5iZXJyb3JzICE9IDApCisJZ290byBleGl0X2Vycm9yOworCisgICAgLyoKKyAgICAqIEFwcGx5IGNvbnN0cmFpbnRzIGZvciByZWRlZmluaXRpb25zLgorICAgICovCisgICAgaWYgKFdYU19DT05TVFJVQ1RPUihwY3R4dCktPnJlZGVmcyAhPSBOVUxMKQorCXhtbFNjaGVtYUNoZWNrU1JDUmVkZWZpbmVTZWNvbmQocGN0eHQpOworICAgIGlmIChwY3R4dC0+bmJlcnJvcnMgIT0gMCkKKwlnb3RvIGV4aXRfZXJyb3I7CisKKyAgICAvKgorICAgICogQ29tcGxleCB0eXBlcyBhcmUgYnVpbGRlZCBhbmQgY2hlY2tlZC4KKyAgICAqLworICAgIGZvciAoaSA9IDA7IGkgPCBuYkl0ZW1zOyBpKyspIHsKKwlpdGVtID0gY29uLT5wZW5kaW5nLT5pdGVtc1tpXTsKKwlzd2l0Y2ggKGl0ZW0tPnR5cGUpIHsKKwkgICAgY2FzZSBYTUxfU0NIRU1BX1RZUEVfQ09NUExFWDoKKwkJaWYgKFdYU19JU19UWVBFX05PVF9GSVhFRChXWFNfVFlQRV9DQVNUIGl0ZW0pKSB7CisJCSAgICB4bWxTY2hlbWFGaXh1cENvbXBsZXhUeXBlKHBjdHh0LCBXWFNfVFlQRV9DQVNUIGl0ZW0pOworCQkgICAgRklYSEZBSUxVUkU7CisJCX0KKwkJYnJlYWs7CisJICAgIGRlZmF1bHQ6CisJCWJyZWFrOworCX0KKyAgICB9CisgICAgaWYgKHBjdHh0LT5uYmVycm9ycyAhPSAwKQorCWdvdG8gZXhpdF9lcnJvcjsKKworICAgIC8qCisgICAgKiBUaGUgbGlzdCBjb3VsZCBoYXZlIGNoYW5nZWQsIHNpbmNlIHhtbFNjaGVtYUZpeHVwQ29tcGxleFR5cGUoKQorICAgICogd2lsbCBjcmVhdGUgcGFydGljbGVzIGFuZCBtb2RlbCBncm91cHMgaW4gc29tZSBjYXNlcy4KKyAgICAqLworICAgIGl0ZW1zID0gKHhtbFNjaGVtYVRyZWVJdGVtUHRyICopIGNvbi0+cGVuZGluZy0+aXRlbXM7CisgICAgbmJJdGVtcyA9IGNvbi0+cGVuZGluZy0+bmJJdGVtczsKKworICAgIC8qCisgICAgKiBBcHBseSBzb21lIGNvbnN0cmFpbnRzIGZvciBlbGVtZW50IGRlY2xhcmF0aW9ucy4KKyAgICAqLworICAgIGZvciAoaSA9IDA7IGkgPCBuYkl0ZW1zOyBpKyspIHsKKwlpdGVtID0gaXRlbXNbaV07CisJc3dpdGNoIChpdGVtLT50eXBlKSB7CisJICAgIGNhc2UgWE1MX1NDSEVNQV9UWVBFX0VMRU1FTlQ6CisJCWVsZW1EZWNsID0gKHhtbFNjaGVtYUVsZW1lbnRQdHIpIGl0ZW07CisKKwkJaWYgKChlbGVtRGVjbC0+ZmxhZ3MgJiBYTUxfU0NIRU1BU19FTEVNX0lOVEVSTkFMX0NIRUNLRUQpID09IDApCisJCXsKKwkJICAgIHhtbFNjaGVtYUNoZWNrRWxlbWVudERlY2xDb21wb25lbnQoCisJCQkoeG1sU2NoZW1hRWxlbWVudFB0cikgZWxlbURlY2wsIHBjdHh0KTsKKwkJICAgIEZJWEhGQUlMVVJFOworCQl9CisKKyNpZmRlZiBXWFNfRUxFTV9ERUNMX0NPTlNfRU5BQkxFRAorCQkvKgorCQkqIFNjaGVtYSBDb21wb25lbnQgQ29uc3RyYWludDogRWxlbWVudCBEZWNsYXJhdGlvbnMgQ29uc2lzdGVudAorCQkqIEFwcGx5IHRoaXMgY29uc3RyYWludCB0byBsb2NhbCB0eXBlcyBvZiBlbGVtZW50IGRlY2xhcmF0aW9ucy4KKwkJKi8KKwkJaWYgKChXWFNfRUxFTV9UWVBFREVGKGVsZW1EZWNsKSAhPSBOVUxMKSAmJgorCQkgICAgKFdYU19JU19DT01QTEVYKFdYU19FTEVNX1RZUEVERUYoZWxlbURlY2wpKSkgJiYKKwkJICAgIChXWFNfVFlQRV9JU19MT0NBTChXWFNfRUxFTV9UWVBFREVGKGVsZW1EZWNsKSkpKQorCQl7CisJCSAgICB4bWxTY2hlbWFDaGVja0VsZW1lbnREZWNsQ29uc2lzdGVudChwY3R4dCwKKwkJCVdYU19CQVNJQ19DQVNUIGVsZW1EZWNsLAorCQkJV1hTX1RZUEVfUEFSVElDTEUoV1hTX0VMRU1fVFlQRURFRihlbGVtRGVjbCkpLAorCQkJTlVMTCwgTlVMTCwgMCk7CisJCX0KKyNlbmRpZgorCQlicmVhazsKKwkgICAgZGVmYXVsdDoKKwkJYnJlYWs7CisJfQorICAgIH0KKyAgICBpZiAocGN0eHQtPm5iZXJyb3JzICE9IDApCisJZ290byBleGl0X2Vycm9yOworCisgICAgLyoKKyAgICAqIEZpbmFsbHkgd2UgY2FuIGJ1aWxkIHRoZSBhdXRvbWF0b24gZnJvbSB0aGUgY29udGVudCBtb2RlbCBvZgorICAgICogY29tcGxleCB0eXBlcy4KKyAgICAqLworCisgICAgZm9yIChpID0gMDsgaSA8IG5iSXRlbXM7IGkrKykgeworCWl0ZW0gPSBpdGVtc1tpXTsKKwlzd2l0Y2ggKGl0ZW0tPnR5cGUpIHsKKwkgICAgY2FzZSBYTUxfU0NIRU1BX1RZUEVfQ09NUExFWDoKKwkJeG1sU2NoZW1hQnVpbGRDb250ZW50TW9kZWwoKHhtbFNjaGVtYVR5cGVQdHIpIGl0ZW0sIHBjdHh0KTsKKwkJLyogRklYSEZBSUxVUkU7ICovCisJCWJyZWFrOworCSAgICBkZWZhdWx0OgorCQlicmVhazsKKwl9CisgICAgfQorICAgIGlmIChwY3R4dC0+bmJlcnJvcnMgIT0gMCkKKwlnb3RvIGV4aXRfZXJyb3I7CisgICAgLyoKKyAgICAqIFVSR0VOVCBUT0RPOiBjb3MtZWxlbWVudC1jb25zaXN0ZW50CisgICAgKi8KKyAgICBnb3RvIGV4aXQ7CisKK2V4aXRfZXJyb3I6CisgICAgcmV0ID0gcGN0eHQtPmVycjsKKyAgICBnb3RvIGV4aXQ7CisKK2V4aXRfZmFpbHVyZToKKyAgICByZXQgPSAtMTsKKworZXhpdDoKKyAgICAvKgorICAgICogUmVzZXQgdGhlIGNvbnN0cnVjdG9yLiBUaGlzIGlzIG5lZWRlZCBmb3IgWFNJIGFjcXVpc2l0aW9uLCBzaW5jZQorICAgICogdGhvc2UgaXRlbXMgd2lsbCBiZSBwcm9jZXNzZWQgb3ZlciBhbmQgb3ZlciBhZ2FpbiBmb3IgZXZlcnkgWFNJCisgICAgKiBpZiBub3QgY2xlYXJlZCBoZXJlLgorICAgICovCisgICAgY29uLT5idWNrZXQgPSBvbGRidWNrZXQ7CisgICAgY29uLT5wZW5kaW5nLT5uYkl0ZW1zID0gMDsKKyAgICBpZiAoY29uLT5zdWJzdEdyb3VwcyAhPSBOVUxMKSB7CisJeG1sSGFzaEZyZWUoY29uLT5zdWJzdEdyb3VwcywKKwkgICAgKHhtbEhhc2hEZWFsbG9jYXRvcikgeG1sU2NoZW1hU3Vic3RHcm91cEZyZWUpOworCWNvbi0+c3Vic3RHcm91cHMgPSBOVUxMOworICAgIH0KKyAgICBpZiAoY29uLT5yZWRlZnMgIT0gTlVMTCkgeworCXhtbFNjaGVtYVJlZGVmTGlzdEZyZWUoY29uLT5yZWRlZnMpOworCWNvbi0+cmVkZWZzID0gTlVMTDsKKyAgICB9CisgICAgcmV0dXJuKHJldCk7Cit9CisvKioKKyAqIHhtbFNjaGVtYVBhcnNlOgorICogQGN0eHQ6ICBhIHNjaGVtYSB2YWxpZGF0aW9uIGNvbnRleHQKKyAqCisgKiBwYXJzZSBhIHNjaGVtYSBkZWZpbml0aW9uIHJlc291cmNlIGFuZCBidWlsZCBhbiBpbnRlcm5hbAorICogWE1MIFNoZW1hIHN0cnV0dXJlIHdoaWNoIGNhbiBiZSB1c2VkIHRvIHZhbGlkYXRlIGluc3RhbmNlcy4KKyAqCisgKiBSZXR1cm5zIHRoZSBpbnRlcm5hbCBYTUwgU2NoZW1hIHN0cnVjdHVyZSBidWlsdCBmcm9tIHRoZSByZXNvdXJjZSBvcgorICogICAgICAgICBOVUxMIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworeG1sU2NoZW1hUHRyCit4bWxTY2hlbWFQYXJzZSh4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIGN0eHQpCit7CisgICAgeG1sU2NoZW1hUHRyIG1haW5TY2hlbWEgPSBOVUxMOworICAgIHhtbFNjaGVtYUJ1Y2tldFB0ciBidWNrZXQgPSBOVUxMOworICAgIGludCByZXM7CisKKyAgICAvKgorICAgICogVGhpcyBvbmUgaXMgdXNlZCBpZiB0aGUgc2NoZW1hIHRvIGJlIHBhcnNlZCB3YXMgc3BlY2lmaWVkIHZpYQorICAgICogdGhlIEFQSTsgaS5lLiBub3QgYXV0b21hdGljYWxseSBieSB0aGUgdmFsaWRhdGVkIGluc3RhbmNlIGRvY3VtZW50LgorICAgICovCisKKyAgICB4bWxTY2hlbWFJbml0VHlwZXMoKTsKKworICAgIGlmIChjdHh0ID09IE5VTEwpCisgICAgICAgIHJldHVybiAoTlVMTCk7CisKKyAgICAvKiBUT0RPOiBJbml0IHRoZSBjb250ZXh0LiBJcyB0aGlzIGFsbCB3ZSBuZWVkPyovCisgICAgY3R4dC0+bmJlcnJvcnMgPSAwOworICAgIGN0eHQtPmVyciA9IDA7CisgICAgY3R4dC0+Y291bnRlciA9IDA7CisKKyAgICAvKiBDcmVhdGUgdGhlICptYWluKiBzY2hlbWEuICovCisgICAgbWFpblNjaGVtYSA9IHhtbFNjaGVtYU5ld1NjaGVtYShjdHh0KTsKKyAgICBpZiAobWFpblNjaGVtYSA9PSBOVUxMKQorCWdvdG8gZXhpdF9mYWlsdXJlOworICAgIC8qCisgICAgKiBDcmVhdGUgdGhlIHNjaGVtYSBjb25zdHJ1Y3Rvci4KKyAgICAqLworICAgIGlmIChjdHh0LT5jb25zdHJ1Y3RvciA9PSBOVUxMKSB7CisJY3R4dC0+Y29uc3RydWN0b3IgPSB4bWxTY2hlbWFDb25zdHJ1Y3Rpb25DdHh0Q3JlYXRlKGN0eHQtPmRpY3QpOworCWlmIChjdHh0LT5jb25zdHJ1Y3RvciA9PSBOVUxMKQorCSAgICByZXR1cm4oTlVMTCk7CisJLyogVGFrZSBvd25lcnNoaXAgb2YgdGhlIGNvbnN0cnVjdG9yIHRvIGJlIGFibGUgdG8gZnJlZSBpdC4gKi8KKwljdHh0LT5vd25zQ29uc3RydWN0b3IgPSAxOworICAgIH0KKyAgICBjdHh0LT5jb25zdHJ1Y3Rvci0+bWFpblNjaGVtYSA9IG1haW5TY2hlbWE7CisgICAgLyoKKyAgICAqIExvY2F0ZSBhbmQgYWRkIHRoZSBzY2hlbWEgZG9jdW1lbnQuCisgICAgKi8KKyAgICByZXMgPSB4bWxTY2hlbWFBZGRTY2hlbWFEb2MoY3R4dCwgWE1MX1NDSEVNQV9TQ0hFTUFfTUFJTiwKKwljdHh0LT5VUkwsIGN0eHQtPmRvYywgY3R4dC0+YnVmZmVyLCBjdHh0LT5zaXplLCBOVUxMLAorCU5VTEwsIE5VTEwsICZidWNrZXQpOworICAgIGlmIChyZXMgPT0gLTEpCisJZ290byBleGl0X2ZhaWx1cmU7CisgICAgaWYgKHJlcyAhPSAwKQorCWdvdG8gZXhpdDsKKworICAgIGlmIChidWNrZXQgPT0gTlVMTCkgeworCS8qIFRPRE86IEVycm9yIGNvZGUsIGFjdHVhbGx5IHdlIGZhaWxlZCB0byAqbG9jYXRlKiB0aGUgc2NoZW1hLiAqLworCWlmIChjdHh0LT5VUkwpCisJICAgIHhtbFNjaGVtYUN1c3RvbUVycihBQ1RYVF9DQVNUIGN0eHQsIFhNTF9TQ0hFTUFQX0ZBSUxFRF9MT0FELAorCQlOVUxMLCBOVUxMLAorCQkiRmFpbGVkIHRvIGxvY2F0ZSB0aGUgbWFpbiBzY2hlbWEgcmVzb3VyY2UgYXQgJyVzJyIsCisJCWN0eHQtPlVSTCwgTlVMTCk7CisJZWxzZQorCSAgICB4bWxTY2hlbWFDdXN0b21FcnIoQUNUWFRfQ0FTVCBjdHh0LCBYTUxfU0NIRU1BUF9GQUlMRURfTE9BRCwKKwkJTlVMTCwgTlVMTCwKKwkJIkZhaWxlZCB0byBsb2NhdGUgdGhlIG1haW4gc2NoZW1hIHJlc291cmNlIiwKKwkJICAgIE5VTEwsIE5VTEwpOworCWdvdG8gZXhpdDsKKyAgICB9CisgICAgLyogVGhlbiBkbyB0aGUgcGFyc2luZyBmb3IgZ29vZC4gKi8KKyAgICBpZiAoeG1sU2NoZW1hUGFyc2VOZXdEb2NXaXRoQ29udGV4dChjdHh0LCBtYWluU2NoZW1hLCBidWNrZXQpID09IC0xKQorCWdvdG8gZXhpdF9mYWlsdXJlOworICAgIGlmIChjdHh0LT5uYmVycm9ycyAhPSAwKQorCWdvdG8gZXhpdDsKKworICAgIG1haW5TY2hlbWEtPmRvYyA9IGJ1Y2tldC0+ZG9jOworICAgIG1haW5TY2hlbWEtPnByZXNlcnZlID0gY3R4dC0+cHJlc2VydmU7CisKKyAgICBjdHh0LT5zY2hlbWEgPSBtYWluU2NoZW1hOworCisgICAgaWYgKHhtbFNjaGVtYUZpeHVwQ29tcG9uZW50cyhjdHh0LCBXWFNfQ09OU1RSVUNUT1IoY3R4dCktPm1haW5CdWNrZXQpID09IC0xKQorCWdvdG8gZXhpdF9mYWlsdXJlOworCisgICAgLyoKKyAgICAqIFRPRE86IFRoaXMgaXMgbm90IG5pY2UsIHNpbmNlIHdlIGNhbm5vdCBkaXN0aW5ndWlzaCBmcm9tIHRoZQorICAgICogcmVzdWx0IGlmIHRoZXJlIHdhcyBhbiBpbnRlcm5hbCBlcnJvciBvciBub3QuCisgICAgKi8KK2V4aXQ6CisgICAgaWYgKGN0eHQtPm5iZXJyb3JzICE9IDApIHsKKwlpZiAobWFpblNjaGVtYSkgeworCSAgICB4bWxTY2hlbWFGcmVlKG1haW5TY2hlbWEpOworCSAgICBtYWluU2NoZW1hID0gTlVMTDsKKwl9CisJaWYgKGN0eHQtPmNvbnN0cnVjdG9yKSB7CisJICAgIHhtbFNjaGVtYUNvbnN0cnVjdGlvbkN0eHRGcmVlKGN0eHQtPmNvbnN0cnVjdG9yKTsKKwkgICAgY3R4dC0+Y29uc3RydWN0b3IgPSBOVUxMOworCSAgICBjdHh0LT5vd25zQ29uc3RydWN0b3IgPSAwOworCX0KKyAgICB9CisgICAgY3R4dC0+c2NoZW1hID0gTlVMTDsKKyAgICByZXR1cm4obWFpblNjaGVtYSk7CitleGl0X2ZhaWx1cmU6CisgICAgLyoKKyAgICAqIFF1aXRlIHZlcmJvc2UsIGJ1dCBzaG91bGQgY2F0Y2ggaW50ZXJuYWwgZXJyb3JzLCB3aGljaCB3ZXJlCisgICAgKiBub3QgY29tbXVuaXRhdGVkLgorICAgICovCisgICAgaWYgKG1haW5TY2hlbWEpIHsKKyAgICAgICAgeG1sU2NoZW1hRnJlZShtYWluU2NoZW1hKTsKKwltYWluU2NoZW1hID0gTlVMTDsKKyAgICB9CisgICAgaWYgKGN0eHQtPmNvbnN0cnVjdG9yKSB7CisJeG1sU2NoZW1hQ29uc3RydWN0aW9uQ3R4dEZyZWUoY3R4dC0+Y29uc3RydWN0b3IpOworCWN0eHQtPmNvbnN0cnVjdG9yID0gTlVMTDsKKwljdHh0LT5vd25zQ29uc3RydWN0b3IgPSAwOworICAgIH0KKyAgICBQRVJST1JfSU5UMigieG1sU2NoZW1hUGFyc2UiLAorCSJBbiBpbnRlcm5hbCBlcnJvciBvY2N1cmVkIik7CisgICAgY3R4dC0+c2NoZW1hID0gTlVMTDsKKyAgICByZXR1cm4oTlVMTCk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hU2V0UGFyc2VyRXJyb3JzOgorICogQGN0eHQ6ICBhIHNjaGVtYSB2YWxpZGF0aW9uIGNvbnRleHQKKyAqIEBlcnI6ICB0aGUgZXJyb3IgY2FsbGJhY2sKKyAqIEB3YXJuOiAgdGhlIHdhcm5pbmcgY2FsbGJhY2sKKyAqIEBjdHg6ICBjb250ZXh0dWFsIGRhdGEgZm9yIHRoZSBjYWxsYmFja3MKKyAqCisgKiBTZXQgdGhlIGNhbGxiYWNrIGZ1bmN0aW9ucyB1c2VkIHRvIGhhbmRsZSBlcnJvcnMgZm9yIGEgdmFsaWRhdGlvbiBjb250ZXh0CisgKi8KK3ZvaWQKK3htbFNjaGVtYVNldFBhcnNlckVycm9ycyh4bWxTY2hlbWFQYXJzZXJDdHh0UHRyIGN0eHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgeG1sU2NoZW1hVmFsaWRpdHlFcnJvckZ1bmMgZXJyLAorICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFNjaGVtYVZhbGlkaXR5V2FybmluZ0Z1bmMgd2Fybiwgdm9pZCAqY3R4KQoreworICAgIGlmIChjdHh0ID09IE5VTEwpCisgICAgICAgIHJldHVybjsKKyAgICBjdHh0LT5lcnJvciA9IGVycjsKKyAgICBjdHh0LT53YXJuaW5nID0gd2FybjsKKyAgICBjdHh0LT5lcnJDdHh0ID0gY3R4OworICAgIGlmIChjdHh0LT52Y3R4dCAhPSBOVUxMKQorCXhtbFNjaGVtYVNldFZhbGlkRXJyb3JzKGN0eHQtPnZjdHh0LCBlcnIsIHdhcm4sIGN0eCk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hU2V0UGFyc2VyU3RydWN0dXJlZEVycm9yczoKKyAqIEBjdHh0OiAgYSBzY2hlbWEgcGFyc2VyIGNvbnRleHQKKyAqIEBzZXJyb3I6ICB0aGUgc3RydWN0dXJlZCBlcnJvciBmdW5jdGlvbgorICogQGN0eDogdGhlIGZ1bmN0aW9ucyBjb250ZXh0CisgKgorICogU2V0IHRoZSBzdHJ1Y3R1cmVkIGVycm9yIGNhbGxiYWNrCisgKi8KK3ZvaWQKK3htbFNjaGVtYVNldFBhcnNlclN0cnVjdHVyZWRFcnJvcnMoeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBjdHh0LAorCQkJCSAgIHhtbFN0cnVjdHVyZWRFcnJvckZ1bmMgc2Vycm9yLAorCQkJCSAgIHZvaWQgKmN0eCkKK3sKKyAgICBpZiAoY3R4dCA9PSBOVUxMKQorCXJldHVybjsKKyAgICBjdHh0LT5zZXJyb3IgPSBzZXJyb3I7CisgICAgY3R4dC0+ZXJyQ3R4dCA9IGN0eDsKKyAgICBpZiAoY3R4dC0+dmN0eHQgIT0gTlVMTCkKKwl4bWxTY2hlbWFTZXRWYWxpZFN0cnVjdHVyZWRFcnJvcnMoY3R4dC0+dmN0eHQsIHNlcnJvciwgY3R4KTsKK30KKworLyoqCisgKiB4bWxTY2hlbWFHZXRQYXJzZXJFcnJvcnM6CisgKiBAY3R4dDogIGEgWE1sLVNjaGVtYSBwYXJzZXIgY29udGV4dAorICogQGVycjogdGhlIGVycm9yIGNhbGxiYWNrIHJlc3VsdAorICogQHdhcm46IHRoZSB3YXJuaW5nIGNhbGxiYWNrIHJlc3VsdAorICogQGN0eDogY29udGV4dHVhbCBkYXRhIGZvciB0aGUgY2FsbGJhY2tzIHJlc3VsdAorICoKKyAqIEdldCB0aGUgY2FsbGJhY2sgaW5mb3JtYXRpb24gdXNlZCB0byBoYW5kbGUgZXJyb3JzIGZvciBhIHBhcnNlciBjb250ZXh0CisgKgorICogUmV0dXJucyAtMSBpbiBjYXNlIG9mIGZhaWx1cmUsIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sU2NoZW1hR2V0UGFyc2VyRXJyb3JzKHhtbFNjaGVtYVBhcnNlckN0eHRQdHIgY3R4dCwKKwkJCSB4bWxTY2hlbWFWYWxpZGl0eUVycm9yRnVuYyAqIGVyciwKKwkJCSB4bWxTY2hlbWFWYWxpZGl0eVdhcm5pbmdGdW5jICogd2Fybiwgdm9pZCAqKmN0eCkKK3sKKwlpZiAoY3R4dCA9PSBOVUxMKQorCQlyZXR1cm4oLTEpOworCWlmIChlcnIgIT0gTlVMTCkKKwkJKmVyciA9IGN0eHQtPmVycm9yOworCWlmICh3YXJuICE9IE5VTEwpCisJCSp3YXJuID0gY3R4dC0+d2FybmluZzsKKwlpZiAoY3R4ICE9IE5VTEwpCisJCSpjdHggPSBjdHh0LT5lcnJDdHh0OworCXJldHVybigwKTsKK30KKworLyoqCisgKiB4bWxTY2hlbWFGYWNldFR5cGVUb1N0cmluZzoKKyAqIEB0eXBlOiAgdGhlIGZhY2V0IHR5cGUKKyAqCisgKiBDb252ZXJ0IHRoZSB4bWxTY2hlbWFUeXBlVHlwZSB0byBhIGNoYXIgc3RyaW5nLgorICoKKyAqIFJldHVybnMgdGhlIGNoYXIgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBmYWNldCB0eXBlIGlmIHRoZQorICogICAgIHR5cGUgaXMgYSBmYWNldCBhbmQgYW4gIkludGVybmFsIEVycm9yIiBzdHJpbmcgb3RoZXJ3aXNlLgorICovCitzdGF0aWMgY29uc3QgeG1sQ2hhciAqCit4bWxTY2hlbWFGYWNldFR5cGVUb1N0cmluZyh4bWxTY2hlbWFUeXBlVHlwZSB0eXBlKQoreworICAgIHN3aXRjaCAodHlwZSkgeworICAgICAgICBjYXNlIFhNTF9TQ0hFTUFfRkFDRVRfUEFUVEVSTjoKKyAgICAgICAgICAgIHJldHVybiAoQkFEX0NBU1QgInBhdHRlcm4iKTsKKyAgICAgICAgY2FzZSBYTUxfU0NIRU1BX0ZBQ0VUX01BWEVYQ0xVU0lWRToKKyAgICAgICAgICAgIHJldHVybiAoQkFEX0NBU1QgIm1heEV4Y2x1c2l2ZSIpOworICAgICAgICBjYXNlIFhNTF9TQ0hFTUFfRkFDRVRfTUFYSU5DTFVTSVZFOgorICAgICAgICAgICAgcmV0dXJuIChCQURfQ0FTVCAibWF4SW5jbHVzaXZlIik7CisgICAgICAgIGNhc2UgWE1MX1NDSEVNQV9GQUNFVF9NSU5FWENMVVNJVkU6CisgICAgICAgICAgICByZXR1cm4gKEJBRF9DQVNUICJtaW5FeGNsdXNpdmUiKTsKKyAgICAgICAgY2FzZSBYTUxfU0NIRU1BX0ZBQ0VUX01JTklOQ0xVU0lWRToKKyAgICAgICAgICAgIHJldHVybiAoQkFEX0NBU1QgIm1pbkluY2x1c2l2ZSIpOworICAgICAgICBjYXNlIFhNTF9TQ0hFTUFfRkFDRVRfV0hJVEVTUEFDRToKKyAgICAgICAgICAgIHJldHVybiAoQkFEX0NBU1QgIndoaXRlU3BhY2UiKTsKKyAgICAgICAgY2FzZSBYTUxfU0NIRU1BX0ZBQ0VUX0VOVU1FUkFUSU9OOgorICAgICAgICAgICAgcmV0dXJuIChCQURfQ0FTVCAiZW51bWVyYXRpb24iKTsKKyAgICAgICAgY2FzZSBYTUxfU0NIRU1BX0ZBQ0VUX0xFTkdUSDoKKyAgICAgICAgICAgIHJldHVybiAoQkFEX0NBU1QgImxlbmd0aCIpOworICAgICAgICBjYXNlIFhNTF9TQ0hFTUFfRkFDRVRfTUFYTEVOR1RIOgorICAgICAgICAgICAgcmV0dXJuIChCQURfQ0FTVCAibWF4TGVuZ3RoIik7CisgICAgICAgIGNhc2UgWE1MX1NDSEVNQV9GQUNFVF9NSU5MRU5HVEg6CisgICAgICAgICAgICByZXR1cm4gKEJBRF9DQVNUICJtaW5MZW5ndGgiKTsKKyAgICAgICAgY2FzZSBYTUxfU0NIRU1BX0ZBQ0VUX1RPVEFMRElHSVRTOgorICAgICAgICAgICAgcmV0dXJuIChCQURfQ0FTVCAidG90YWxEaWdpdHMiKTsKKyAgICAgICAgY2FzZSBYTUxfU0NIRU1BX0ZBQ0VUX0ZSQUNUSU9ORElHSVRTOgorICAgICAgICAgICAgcmV0dXJuIChCQURfQ0FTVCAiZnJhY3Rpb25EaWdpdHMiKTsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIGJyZWFrOworICAgIH0KKyAgICByZXR1cm4gKEJBRF9DQVNUICJJbnRlcm5hbCBFcnJvciIpOworfQorCitzdGF0aWMgeG1sU2NoZW1hV2hpdGVzcGFjZVZhbHVlVHlwZQoreG1sU2NoZW1hR2V0V2hpdGVTcGFjZUZhY2V0VmFsdWUoeG1sU2NoZW1hVHlwZVB0ciB0eXBlKQoreworICAgIC8qCisgICAgKiBUaGUgbm9ybWFsaXphdGlvbiB0eXBlIGNhbiBiZSBjaGFuZ2VkIG9ubHkgZm9yIHR5cGVzIHdoaWNoIGFyZSBkZXJpdmVkCisgICAgKiBmcm9tIHhzZDpzdHJpbmcuCisgICAgKi8KKyAgICBpZiAodHlwZS0+dHlwZSA9PSBYTUxfU0NIRU1BX1RZUEVfQkFTSUMpIHsKKwkvKgorCSogTm90ZSB0aGF0IHdlIGFzc3VtZSBhIHdoaXRlc3BhY2Ugb2YgcHJlc2VydmUgZm9yIGFueVNpbXBsZVR5cGUuCisJKi8KKwlpZiAoKHR5cGUtPmJ1aWx0SW5UeXBlID09IFhNTF9TQ0hFTUFTX1NUUklORykgfHwKKwkgICAgKHR5cGUtPmJ1aWx0SW5UeXBlID09IFhNTF9TQ0hFTUFTX0FOWVNJTVBMRVRZUEUpKQorCSAgICByZXR1cm4oWE1MX1NDSEVNQV9XSElURVNQQUNFX1BSRVNFUlZFKTsKKwllbHNlIGlmICh0eXBlLT5idWlsdEluVHlwZSA9PSBYTUxfU0NIRU1BU19OT1JNU1RSSU5HKQorCSAgICByZXR1cm4oWE1MX1NDSEVNQV9XSElURVNQQUNFX1JFUExBQ0UpOworCWVsc2UgeworCSAgICAvKgorCSAgICAqIEZvciBhbGwgYGF0b21pY2AgZGF0YXR5cGVzIG90aGVyIHRoYW4gc3RyaW5nIChhbmQgdHlwZXMgYGRlcml2ZWRgCisJICAgICogYnkgYHJlc3RyaWN0aW9uYCBmcm9tIGl0KSB0aGUgdmFsdWUgb2Ygd2hpdGVTcGFjZSBpcyBmaXhlZCB0bworCSAgICAqIGNvbGxhcHNlCisJICAgICogTm90ZSB0aGF0IHRoaXMgaW5jbHVkZXMgYnVpbHQtaW4gbGlzdCBkYXRhdHlwZXMuCisJICAgICovCisJICAgIHJldHVybihYTUxfU0NIRU1BX1dISVRFU1BBQ0VfQ09MTEFQU0UpOworCX0KKyAgICB9IGVsc2UgaWYgKFdYU19JU19MSVNUKHR5cGUpKSB7CisJLyoKKwkqIEZvciBsaXN0IHR5cGVzIHRoZSBmYWNldCAid2hpdGVTcGFjZSIgaXMgZml4ZWQgdG8gImNvbGxhcHNlIi4KKwkqLworCXJldHVybiAoWE1MX1NDSEVNQV9XSElURVNQQUNFX0NPTExBUFNFKTsKKyAgICB9IGVsc2UgaWYgKFdYU19JU19VTklPTih0eXBlKSkgeworCXJldHVybiAoWE1MX1NDSEVNQV9XSElURVNQQUNFX1VOS05PV04pOworICAgIH0gZWxzZSBpZiAoV1hTX0lTX0FUT01JQyh0eXBlKSkgeworCWlmICh0eXBlLT5mbGFncyAmIFhNTF9TQ0hFTUFTX1RZUEVfV0hJVEVTUEFDRV9QUkVTRVJWRSkKKwkgICAgcmV0dXJuIChYTUxfU0NIRU1BX1dISVRFU1BBQ0VfUFJFU0VSVkUpOworCWVsc2UgaWYgKHR5cGUtPmZsYWdzICYgWE1MX1NDSEVNQVNfVFlQRV9XSElURVNQQUNFX1JFUExBQ0UpCisJICAgIHJldHVybiAoWE1MX1NDSEVNQV9XSElURVNQQUNFX1JFUExBQ0UpOworCWVsc2UKKwkgICAgcmV0dXJuIChYTUxfU0NIRU1BX1dISVRFU1BBQ0VfQ09MTEFQU0UpOworICAgIH0KKyAgICByZXR1cm4gKC0xKTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJCVNpbXBsZSB0eXBlIHZhbGlkYXRpb24JCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCQlET00gVmFsaWRhdGlvbiBjb2RlCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqCisgKiB4bWxTY2hlbWFBc3NlbWJsZUJ5TG9jYXRpb246CisgKiBAcGN0eHQ6ICBhIHNjaGVtYSBwYXJzZXIgY29udGV4dAorICogQHZjdHh0OiAgYSBzY2hlbWEgdmFsaWRhdGlvbiBjb250ZXh0CisgKiBAc2NoZW1hOiB0aGUgZXhpc3Rpbmcgc2NoZW1hCisgKiBAbm9kZTogdGhlIG5vZGUgdGhhdCBmaXJlZCB0aGUgYXNzZW1ibGluZworICogQG5zTmFtZTogdGhlIG5hbWVzcGFjZSBuYW1lIG9mIHRoZSBuZXcgc2NoZW1hCisgKiBAbG9jYXRpb246IHRoZSBsb2NhdGlvbiBvZiB0aGUgc2NoZW1hCisgKgorICogRXhwYW5kcyBhbiBleGlzdGluZyBzY2hlbWEgYnkgYW4gYWRkaXRpb25hbCBzY2hlbWEuCisgKgorICogUmV0dXJucyAwIGlmIHRoZSBuZXcgc2NoZW1hIGlzIGNvcnJlY3QsIGEgcG9zaXRpdmUgZXJyb3IgY29kZQorICogbnVtYmVyIG90aGVyd2lzZSBhbmQgLTEgaW4gY2FzZSBvZiBhbiBpbnRlcm5hbCBvciBBUEkgZXJyb3IuCisgKi8KK3N0YXRpYyBpbnQKK3htbFNjaGVtYUFzc2VtYmxlQnlMb2NhdGlvbih4bWxTY2hlbWFWYWxpZEN0eHRQdHIgdmN0eHQsCisJCQkgICAgeG1sU2NoZW1hUHRyIHNjaGVtYSwKKwkJCSAgICB4bWxOb2RlUHRyIG5vZGUsCisJCQkgICAgY29uc3QgeG1sQ2hhciAqbnNOYW1lLAorCQkJICAgIGNvbnN0IHhtbENoYXIgKmxvY2F0aW9uKQoreworICAgIGludCByZXQgPSAwOworICAgIHhtbFNjaGVtYVBhcnNlckN0eHRQdHIgcGN0eHQ7CisgICAgeG1sU2NoZW1hQnVja2V0UHRyIGJ1Y2tldCA9IE5VTEw7CisKKyAgICBpZiAoKHZjdHh0ID09IE5VTEwpIHx8IChzY2hlbWEgPT0gTlVMTCkpCisJcmV0dXJuICgtMSk7CisKKyAgICBpZiAodmN0eHQtPnBjdHh0ID09IE5VTEwpIHsKKwlWRVJST1JfSU5UKCJ4bWxTY2hlbWFBc3NlbWJsZUJ5TG9jYXRpb24iLAorCSAgICAibm8gcGFyc2VyIGNvbnRleHQgYXZhaWxhYmxlIik7CisJcmV0dXJuKC0xKTsKKyAgICB9CisgICAgcGN0eHQgPSB2Y3R4dC0+cGN0eHQ7CisgICAgaWYgKHBjdHh0LT5jb25zdHJ1Y3RvciA9PSBOVUxMKSB7CisJUEVSUk9SX0lOVCgieG1sU2NoZW1hQXNzZW1ibGVCeUxvY2F0aW9uIiwKKwkgICAgIm5vIGNvbnN0cnVjdG9yIik7CisJcmV0dXJuKC0xKTsKKyAgICB9CisgICAgLyoKKyAgICAqIEFjcXVpcmUgdGhlIHNjaGVtYSBkb2N1bWVudC4KKyAgICAqLworICAgIGxvY2F0aW9uID0geG1sU2NoZW1hQnVpbGRBYnNvbHV0ZVVSSShwY3R4dC0+ZGljdCwKKwlsb2NhdGlvbiwgbm9kZSk7CisgICAgLyoKKyAgICAqIE5vdGUgdGhhdCB3ZSBwYXNzIFhNTF9TQ0hFTUFfU0NIRU1BX0lNUE9SVCBoZXJlOworICAgICogdGhlIHByb2Nlc3Mgd2lsbCBhdXRvbWF0aWNhbGx5IGNoYW5nZSB0aGlzIHRvCisgICAgKiBYTUxfU0NIRU1BX1NDSEVNQV9NQUlOIGlmIGl0IGlzIHRoZSBmaXJzdCBzY2hlbWEgZG9jdW1lbnQuCisgICAgKi8KKyAgICByZXQgPSB4bWxTY2hlbWFBZGRTY2hlbWFEb2MocGN0eHQsIFhNTF9TQ0hFTUFfU0NIRU1BX0lNUE9SVCwKKwlsb2NhdGlvbiwgTlVMTCwgTlVMTCwgMCwgbm9kZSwgTlVMTCwgbnNOYW1lLAorCSZidWNrZXQpOworICAgIGlmIChyZXQgIT0gMCkKKwlyZXR1cm4ocmV0KTsKKyAgICBpZiAoYnVja2V0ID09IE5VTEwpIHsKKwkvKgorCSogR2VuZXJhdGUgYSB3YXJuaW5nIHRoYXQgdGhlIGRvY3VtZW50IGNvdWxkIG5vdCBiZSBsb2NhdGVkLgorCSovCisJeG1sU2NoZW1hQ3VzdG9tV2FybmluZyhBQ1RYVF9DQVNUIHZjdHh0LCBYTUxfU0NIRU1BVl9NSVNDLAorCSAgICBub2RlLCBOVUxMLAorCSAgICAiVGhlIGRvY3VtZW50IGF0IGxvY2F0aW9uICclcycgY291bGQgbm90IGJlIGFjcXVpcmVkIiwKKwkgICAgbG9jYXRpb24sIE5VTEwsIE5VTEwpOworCXJldHVybihyZXQpOworICAgIH0KKyAgICAvKgorICAgICogVGhlIGZpcnN0IGxvY2F0ZWQgc2NoZW1hIHdpbGwgYmUgaGFuZGxlZCBhcyBpZiBhbGwgb3RoZXIKKyAgICAqIHNjaGVtYXMgaW1wb3J0ZWQgYnkgWFNJIHdlcmUgaW1wb3J0ZWQgYnkgdGhpcyBmaXJzdCBzY2hlbWEuCisgICAgKi8KKyAgICBpZiAoKGJ1Y2tldCAhPSBOVUxMKSAmJgorCShXWFNfQ09OU1RSVUNUT1IocGN0eHQpLT5idWNrZXQgPT0gTlVMTCkpCisJV1hTX0NPTlNUUlVDVE9SKHBjdHh0KS0+YnVja2V0ID0gYnVja2V0OworICAgIC8qCisgICAgKiBUT0RPOiBJcyB0aGlzIGhhbmRsZWQgbGlrZSBhbiBpbXBvcnQ/IEkuZS4gaXMgaXQgbm90IGFuIGVycm9yCisgICAgKiBpZiB0aGUgc2NoZW1hIGNhbm5vdCBiZSBsb2NhdGVkPworICAgICovCisgICAgaWYgKChidWNrZXQgPT0gTlVMTCkgfHwgKCEgQ0FOX1BBUlNFX1NDSEVNQShidWNrZXQpKSkKKwlyZXR1cm4oMCk7CisgICAgLyoKKyAgICAqIFdlIHdpbGwgcmV1c2UgdGhlIHBhcnNlciBjb250ZXh0IGZvciBldmVyeSBzY2hlbWEgaW1wb3J0ZWQKKyAgICAqIGRpcmVjdGx5IHZpYSBYU0kuIFNvIHJlc2V0IHRoZSBjb250ZXh0LgorICAgICovCisgICAgcGN0eHQtPm5iZXJyb3JzID0gMDsKKyAgICBwY3R4dC0+ZXJyID0gMDsKKyAgICBwY3R4dC0+ZG9jID0gYnVja2V0LT5kb2M7CisKKyAgICByZXQgPSB4bWxTY2hlbWFQYXJzZU5ld0RvY1dpdGhDb250ZXh0KHBjdHh0LCBzY2hlbWEsIGJ1Y2tldCk7CisgICAgaWYgKHJldCA9PSAtMSkgeworCXBjdHh0LT5kb2MgPSBOVUxMOworCWdvdG8gZXhpdF9mYWlsdXJlOworICAgIH0KKyAgICAvKiBQYXJhbm9pZCBlcnJvciBjaGFubmVsbGluZy4gKi8KKyAgICBpZiAoKHJldCA9PSAwKSAmJiAocGN0eHQtPm5iZXJyb3JzICE9IDApKQorCXJldCA9IHBjdHh0LT5lcnI7CisgICAgaWYgKHBjdHh0LT5uYmVycm9ycyA9PSAwKSB7CisJLyoKKwkqIE9ubHkgYm90aGVyIHRvIGZpeHVwIHBlbmRpbmcgY29tcG9uZW50cywgaWYgdGhlcmUgd2FzCisJKiBubyBlcnJvciB5ZXQuCisJKiBGb3IgZXZlcnkgWFNJIGFjcXVpcmVkIHNjaGVtYSAoYW5kIGl0cyBzdWItc2NoZW1hdGEpIHdlIHdpbGwKKwkqIGZpeHVwIHRoZSBjb21wb25lbnRzLgorCSovCisJeG1sU2NoZW1hRml4dXBDb21wb25lbnRzKHBjdHh0LCBidWNrZXQpOworCXJldCA9IHBjdHh0LT5lcnI7CisJLyoKKwkqIE5vdCBuaWNlLCBidXQgd2UgbmVlZCBzb21laG93IHRvIGNoYW5uZWwgdGhlIHNjaGVtYSBwYXJzZXIKKwkqIGVycm9yIHRvIHRoZSB2YWxpZGF0aW9uIGNvbnRleHQuCisJKi8KKwlpZiAoKHJldCAhPSAwKSAmJiAodmN0eHQtPmVyciA9PSAwKSkKKwkgICAgdmN0eHQtPmVyciA9IHJldDsKKwl2Y3R4dC0+bmJlcnJvcnMgKz0gcGN0eHQtPm5iZXJyb3JzOworICAgIH0gZWxzZSB7CisJLyogQWRkIHRvIHZhbGlkYXRpb24gZXJyb3Igc3VtLiAqLworCXZjdHh0LT5uYmVycm9ycyArPSBwY3R4dC0+bmJlcnJvcnM7CisgICAgfQorICAgIHBjdHh0LT5kb2MgPSBOVUxMOworICAgIHJldHVybihyZXQpOworZXhpdF9mYWlsdXJlOgorICAgIHBjdHh0LT5kb2MgPSBOVUxMOworICAgIHJldHVybiAoLTEpOworfQorCitzdGF0aWMgeG1sU2NoZW1hQXR0ckluZm9QdHIKK3htbFNjaGVtYUdldE1ldGFBdHRySW5mbyh4bWxTY2hlbWFWYWxpZEN0eHRQdHIgdmN0eHQsCisJCQkgaW50IG1ldGFUeXBlKQoreworICAgIGlmICh2Y3R4dC0+bmJBdHRySW5mb3MgPT0gMCkKKwlyZXR1cm4gKE5VTEwpOworICAgIHsKKwlpbnQgaTsKKwl4bWxTY2hlbWFBdHRySW5mb1B0ciBpYXR0cjsKKworCWZvciAoaSA9IDA7IGkgPCB2Y3R4dC0+bmJBdHRySW5mb3M7IGkrKykgeworCSAgICBpYXR0ciA9IHZjdHh0LT5hdHRySW5mb3NbaV07CisJICAgIGlmIChpYXR0ci0+bWV0YVR5cGUgPT0gbWV0YVR5cGUpCisJCXJldHVybiAoaWF0dHIpOworCX0KKworICAgIH0KKyAgICByZXR1cm4gKE5VTEwpOworfQorCisvKioKKyAqIHhtbFNjaGVtYUFzc2VtYmxlQnlYU0k6CisgKiBAdmN0eHQ6ICBhIHNjaGVtYSB2YWxpZGF0aW9uIGNvbnRleHQKKyAqCisgKiBFeHBhbmRzIGFuIGV4aXN0aW5nIHNjaGVtYSBieSBhbiBhZGRpdGlvbmFsIHNjaGVtYSB1c2luZworICogdGhlIHhzaTpzY2hlbWFMb2NhdGlvbiBvciB4c2k6bm9OYW1lc3BhY2VTY2hlbWFMb2NhdGlvbiBhdHRyaWJ1dGUKKyAqIG9mIGFuIGluc3RhbmNlLiBJZiB4c2k6bm9OYW1lc3BhY2VTY2hlbWFMb2NhdGlvbiBpcyB1c2VkLCBAbm9OYW1lc3BhY2UKKyAqIG11c3QgYmUgc2V0IHRvIDEuCisgKgorICogUmV0dXJucyAwIGlmIHRoZSBuZXcgc2NoZW1hIGlzIGNvcnJlY3QsIGEgcG9zaXRpdmUgZXJyb3IgY29kZQorICogbnVtYmVyIG90aGVyd2lzZSBhbmQgLTEgaW4gY2FzZSBvZiBhbiBpbnRlcm5hbCBvciBBUEkgZXJyb3IuCisgKi8KK3N0YXRpYyBpbnQKK3htbFNjaGVtYUFzc2VtYmxlQnlYU0koeG1sU2NoZW1hVmFsaWRDdHh0UHRyIHZjdHh0KQoreworICAgIGNvbnN0IHhtbENoYXIgKmN1ciwgKmVuZDsKKyAgICBjb25zdCB4bWxDaGFyICpuc25hbWUgPSBOVUxMLCAqbG9jYXRpb247CisgICAgaW50IGNvdW50ID0gMDsKKyAgICBpbnQgcmV0ID0gMDsKKyAgICB4bWxTY2hlbWFBdHRySW5mb1B0ciBpYXR0cjsKKworICAgIC8qCisgICAgKiBQYXJzZSB0aGUgdmFsdWU7IHdlIHdpbGwgYXNzdW1lIGFuIGV2ZW4gbnVtYmVyIG9mIHZhbHVlcworICAgICogdG8gYmUgZ2l2ZW4gKHRoaXMgaXMgaG93IFhlcmNlcyBhbmQgWFNWIHdvcmspLgorICAgICoKKyAgICAqIFVSR0VOVCBUT0RPOiAhISBUaGlzIG5lZWRzIHRvIHdvcmsgZm9yIGJvdGgKKyAgICAqIEBub05hbWVzcGFjZVNjaGVtYUxvY2F0aW9uIEFORCBAc2NoZW1hTG9jYXRpb24gb24gdGhlIHNhbWUKKyAgICAqIGVsZW1lbnQgISEKKyAgICAqLworICAgIGlhdHRyID0geG1sU2NoZW1hR2V0TWV0YUF0dHJJbmZvKHZjdHh0LAorCVhNTF9TQ0hFTUFfQVRUUl9JTkZPX01FVEFfWFNJX1NDSEVNQV9MT0MpOworICAgIGlmIChpYXR0ciA9PSBOVUxMKQorCWlhdHRyID0geG1sU2NoZW1hR2V0TWV0YUF0dHJJbmZvKHZjdHh0LAorCVhNTF9TQ0hFTUFfQVRUUl9JTkZPX01FVEFfWFNJX05PX05TX1NDSEVNQV9MT0MpOworICAgIGlmIChpYXR0ciA9PSBOVUxMKQorCXJldHVybiAoMCk7CisgICAgY3VyID0gaWF0dHItPnZhbHVlOworICAgIGRvIHsKKwkvKgorCSogVE9ETzogTW92ZSB0aGUgc3RyaW5nIHBhcnNpbmcgbWVjaGFuaXNtIGF3YXkgZnJvbSBoZXJlLgorCSovCisJaWYgKGlhdHRyLT5tZXRhVHlwZSA9PSBYTUxfU0NIRU1BX0FUVFJfSU5GT19NRVRBX1hTSV9TQ0hFTUFfTE9DKSB7CisJICAgIC8qCisJICAgICogR2V0IHRoZSBuYW1lc3BhY2UgbmFtZS4KKwkgICAgKi8KKwkgICAgd2hpbGUgKElTX0JMQU5LX0NIKCpjdXIpKQorCQljdXIrKzsKKwkgICAgZW5kID0gY3VyOworCSAgICB3aGlsZSAoKCplbmQgIT0gMCkgJiYgKCEoSVNfQkxBTktfQ0goKmVuZCkpKSkKKwkJZW5kKys7CisJICAgIGlmIChlbmQgPT0gY3VyKQorCQlicmVhazsKKwkgICAgY291bnQrKzsgLyogVE9ETzogRG9uJ3QgdXNlIHRoZSBzY2hlbWEncyBkaWN0LiAqLworCSAgICBuc25hbWUgPSB4bWxEaWN0TG9va3VwKHZjdHh0LT5zY2hlbWEtPmRpY3QsIGN1ciwgZW5kIC0gY3VyKTsKKwkgICAgY3VyID0gZW5kOworCX0KKwkvKgorCSogR2V0IHRoZSBVUkkuCisJKi8KKwl3aGlsZSAoSVNfQkxBTktfQ0goKmN1cikpCisJICAgIGN1cisrOworCWVuZCA9IGN1cjsKKwl3aGlsZSAoKCplbmQgIT0gMCkgJiYgKCEoSVNfQkxBTktfQ0goKmVuZCkpKSkKKwkgICAgZW5kKys7CisJaWYgKGVuZCA9PSBjdXIpIHsKKwkgICAgaWYgKGlhdHRyLT5tZXRhVHlwZSA9PQorCQlYTUxfU0NIRU1BX0FUVFJfSU5GT19NRVRBX1hTSV9TQ0hFTUFfTE9DKQorCSAgICB7CisJCS8qCisJCSogSWYgdXNpbmcgQHNjaGVtYUxvY2F0aW9uIHRoZW4gdHVwbGVzIGFyZSBleHBlY3RlZC4KKwkJKiBJLmUuIHRoZSBuYW1lc3BhY2UgbmFtZSAqYW5kKiB0aGUgZG9jdW1lbnQncyBVUkkuCisJCSovCisJCXhtbFNjaGVtYUN1c3RvbVdhcm5pbmcoQUNUWFRfQ0FTVCB2Y3R4dCwgWE1MX1NDSEVNQVZfTUlTQywKKwkJICAgIGlhdHRyLT5ub2RlLCBOVUxMLAorCQkgICAgIlRoZSB2YWx1ZSBtdXN0IGNvbnNpc3Qgb2YgdHVwbGVzOiB0aGUgdGFyZ2V0IG5hbWVzcGFjZSAiCisJCSAgICAibmFtZSBhbmQgdGhlIGRvY3VtZW50J3MgVVJJIiwgTlVMTCwgTlVMTCwgTlVMTCk7CisJICAgIH0KKwkgICAgYnJlYWs7CisJfQorCWNvdW50Kys7IC8qIFRPRE86IERvbid0IHVzZSB0aGUgc2NoZW1hJ3MgZGljdC4gKi8KKwlsb2NhdGlvbiA9IHhtbERpY3RMb29rdXAodmN0eHQtPnNjaGVtYS0+ZGljdCwgY3VyLCBlbmQgLSBjdXIpOworCWN1ciA9IGVuZDsKKwlyZXQgPSB4bWxTY2hlbWFBc3NlbWJsZUJ5TG9jYXRpb24odmN0eHQsIHZjdHh0LT5zY2hlbWEsCisJICAgIGlhdHRyLT5ub2RlLCBuc25hbWUsIGxvY2F0aW9uKTsKKwlpZiAocmV0ID09IC0xKSB7CisJICAgIFZFUlJPUl9JTlQoInhtbFNjaGVtYUFzc2VtYmxlQnlYU0kiLAorCQkiYXNzZW1ibGluZyBzY2hlbWF0YSIpOworCSAgICByZXR1cm4gKC0xKTsKKwl9CisgICAgfSB3aGlsZSAoKmN1ciAhPSAwKTsKKyAgICByZXR1cm4gKHJldCk7Cit9CisKK3N0YXRpYyBjb25zdCB4bWxDaGFyICoKK3htbFNjaGVtYUxvb2t1cE5hbWVzcGFjZSh4bWxTY2hlbWFWYWxpZEN0eHRQdHIgdmN0eHQsCisJCQkgY29uc3QgeG1sQ2hhciAqcHJlZml4KQoreworICAgIGlmICh2Y3R4dC0+c2F4ICE9IE5VTEwpIHsKKwlpbnQgaSwgajsKKwl4bWxTY2hlbWFOb2RlSW5mb1B0ciBpbm9kZTsKKworCWZvciAoaSA9IHZjdHh0LT5kZXB0aDsgaSA+PSAwOyBpLS0pIHsKKwkgICAgaWYgKHZjdHh0LT5lbGVtSW5mb3NbaV0tPm5iTnNCaW5kaW5ncyAhPSAwKSB7CisJCWlub2RlID0gdmN0eHQtPmVsZW1JbmZvc1tpXTsKKwkJZm9yIChqID0gMDsgaiA8IGlub2RlLT5uYk5zQmluZGluZ3MgKiAyOyBqICs9IDIpIHsKKwkJICAgIGlmICgoKHByZWZpeCA9PSBOVUxMKSAmJgorCQkJICAgIChpbm9kZS0+bnNCaW5kaW5nc1tqXSA9PSBOVUxMKSkgfHwKKwkJCSgocHJlZml4ICE9IE5VTEwpICYmIHhtbFN0ckVxdWFsKHByZWZpeCwKKwkJCSAgICBpbm9kZS0+bnNCaW5kaW5nc1tqXSkpKSB7CisKKwkJCS8qCisJCQkqIE5vdGUgdGhhdCB0aGUgbmFtZXNwYWNlIGJpbmRpbmdzIGFyZSBhbHJlYWR5CisJCQkqIGluIGEgc3RyaW5nIGRpY3QuCisJCQkqLworCQkJcmV0dXJuIChpbm9kZS0+bnNCaW5kaW5nc1tqKzFdKTsKKwkJICAgIH0KKwkJfQorCSAgICB9CisJfQorCXJldHVybiAoTlVMTCk7CisjaWZkZWYgTElCWE1MX1JFQURFUl9FTkFCTEVECisgICAgfSBlbHNlIGlmICh2Y3R4dC0+cmVhZGVyICE9IE5VTEwpIHsKKwl4bWxDaGFyICpuc05hbWU7CisKKwluc05hbWUgPSB4bWxUZXh0UmVhZGVyTG9va3VwTmFtZXNwYWNlKHZjdHh0LT5yZWFkZXIsIHByZWZpeCk7CisJaWYgKG5zTmFtZSAhPSBOVUxMKSB7CisJICAgIGNvbnN0IHhtbENoYXIgKnJldDsKKworCSAgICByZXQgPSB4bWxEaWN0TG9va3VwKHZjdHh0LT5kaWN0LCBuc05hbWUsIC0xKTsKKwkgICAgeG1sRnJlZShuc05hbWUpOworCSAgICByZXR1cm4gKHJldCk7CisJfSBlbHNlCisJICAgIHJldHVybiAoTlVMTCk7CisjZW5kaWYKKyAgICB9IGVsc2UgeworCXhtbE5zUHRyIG5zOworCisJaWYgKCh2Y3R4dC0+aW5vZGUtPm5vZGUgPT0gTlVMTCkgfHwKKwkgICAgKHZjdHh0LT5pbm9kZS0+bm9kZS0+ZG9jID09IE5VTEwpKSB7CisJICAgIFZFUlJPUl9JTlQoInhtbFNjaGVtYUxvb2t1cE5hbWVzcGFjZSIsCisJCSJubyBub2RlIG9yIG5vZGUncyBkb2MgYXZhbGlhYmxlIik7CisJICAgIHJldHVybiAoTlVMTCk7CisJfQorCW5zID0geG1sU2VhcmNoTnModmN0eHQtPmlub2RlLT5ub2RlLT5kb2MsCisJICAgIHZjdHh0LT5pbm9kZS0+bm9kZSwgcHJlZml4KTsKKwlpZiAobnMgIT0gTlVMTCkKKwkgICAgcmV0dXJuIChucy0+aHJlZik7CisJcmV0dXJuIChOVUxMKTsKKyAgICB9Cit9CisKKy8qCisqIFRoaXMgb25lIHdvcmtzIG9uIHRoZSBzY2hlbWEgb2YgdGhlIHZhbGlkYXRpb24gY29udGV4dC4KKyovCitzdGF0aWMgaW50Cit4bWxTY2hlbWFWYWxpZGF0ZU5vdGF0aW9uKHhtbFNjaGVtYVZhbGlkQ3R4dFB0ciB2Y3R4dCwKKwkJCSAgeG1sU2NoZW1hUHRyIHNjaGVtYSwKKwkJCSAgeG1sTm9kZVB0ciBub2RlLAorCQkJICBjb25zdCB4bWxDaGFyICp2YWx1ZSwKKwkJCSAgeG1sU2NoZW1hVmFsUHRyICp2YWwsCisJCQkgIGludCB2YWxOZWVkZWQpCit7CisgICAgaW50IHJldDsKKworICAgIGlmICh2Y3R4dCAmJiAodmN0eHQtPnNjaGVtYSA9PSBOVUxMKSkgeworCVZFUlJPUl9JTlQoInhtbFNjaGVtYVZhbGlkYXRlTm90YXRpb24iLAorCSAgICAiYSBzY2hlbWEgaXMgbmVlZGVkIG9uIHRoZSB2YWxpZGF0aW9uIGNvbnRleHQiKTsKKwlyZXR1cm4gKC0xKTsKKyAgICB9CisgICAgcmV0ID0geG1sVmFsaWRhdGVRTmFtZSh2YWx1ZSwgMSk7CisgICAgaWYgKHJldCAhPSAwKQorCXJldHVybiAocmV0KTsKKyAgICB7CisJeG1sQ2hhciAqbG9jYWxOYW1lID0gTlVMTDsKKwl4bWxDaGFyICpwcmVmaXggPSBOVUxMOworCisJbG9jYWxOYW1lID0geG1sU3BsaXRRTmFtZTIodmFsdWUsICZwcmVmaXgpOworCWlmIChwcmVmaXggIT0gTlVMTCkgeworCSAgICBjb25zdCB4bWxDaGFyICpuc05hbWUgPSBOVUxMOworCisJICAgIGlmICh2Y3R4dCAhPSBOVUxMKQorCQluc05hbWUgPSB4bWxTY2hlbWFMb29rdXBOYW1lc3BhY2UodmN0eHQsIEJBRF9DQVNUIHByZWZpeCk7CisJICAgIGVsc2UgaWYgKG5vZGUgIT0gTlVMTCkgeworCQl4bWxOc1B0ciBucyA9IHhtbFNlYXJjaE5zKG5vZGUtPmRvYywgbm9kZSwgcHJlZml4KTsKKwkJaWYgKG5zICE9IE5VTEwpCisJCSAgICBuc05hbWUgPSBucy0+aHJlZjsKKwkgICAgfSBlbHNlIHsKKwkJeG1sRnJlZShwcmVmaXgpOworCQl4bWxGcmVlKGxvY2FsTmFtZSk7CisJCXJldHVybiAoMSk7CisJICAgIH0KKwkgICAgaWYgKG5zTmFtZSA9PSBOVUxMKSB7CisJCXhtbEZyZWUocHJlZml4KTsKKwkJeG1sRnJlZShsb2NhbE5hbWUpOworCQlyZXR1cm4gKDEpOworCSAgICB9CisJICAgIGlmICh4bWxTY2hlbWFHZXROb3RhdGlvbihzY2hlbWEsIGxvY2FsTmFtZSwgbnNOYW1lKSAhPSBOVUxMKSB7CisJCWlmICgodmFsTmVlZGVkKSAmJiAodmFsICE9IE5VTEwpKSB7CisJCSAgICAoKnZhbCkgPSB4bWxTY2hlbWFOZXdOT1RBVElPTlZhbHVlKHhtbFN0cmR1cChsb2NhbE5hbWUpLAorCQkJCQkJICAgICAgIHhtbFN0cmR1cChuc05hbWUpKTsKKwkJICAgIGlmICgqdmFsID09IE5VTEwpCisJCQlyZXQgPSAtMTsKKwkJfQorCSAgICB9IGVsc2UKKwkJcmV0ID0gMTsKKwkgICAgeG1sRnJlZShwcmVmaXgpOworCSAgICB4bWxGcmVlKGxvY2FsTmFtZSk7CisJfSBlbHNlIHsKKwkgICAgaWYgKHhtbFNjaGVtYUdldE5vdGF0aW9uKHNjaGVtYSwgdmFsdWUsIE5VTEwpICE9IE5VTEwpIHsKKwkJaWYgKHZhbE5lZWRlZCAmJiAodmFsICE9IE5VTEwpKSB7CisJCSAgICAoKnZhbCkgPSB4bWxTY2hlbWFOZXdOT1RBVElPTlZhbHVlKAorCQkJQkFEX0NBU1QgeG1sU3RyZHVwKHZhbHVlKSwgTlVMTCk7CisJCSAgICBpZiAoKnZhbCA9PSBOVUxMKQorCQkJcmV0ID0gLTE7CisJCX0KKwkgICAgfSBlbHNlCisJCXJldHVybiAoMSk7CisJfQorICAgIH0KKyAgICByZXR1cm4gKHJldCk7Cit9CisKK3N0YXRpYyBpbnQKK3htbFNjaGVtYVZBZGROb2RlUU5hbWUoeG1sU2NoZW1hVmFsaWRDdHh0UHRyIHZjdHh0LAorCQkgICAgICAgY29uc3QgeG1sQ2hhciogbG5hbWUsCisJCSAgICAgICBjb25zdCB4bWxDaGFyKiBuc25hbWUpCit7CisgICAgaW50IGk7CisKKyAgICBsbmFtZSA9IHhtbERpY3RMb29rdXAodmN0eHQtPmRpY3QsIGxuYW1lLCAtMSk7CisgICAgaWYgKGxuYW1lID09IE5VTEwpCisJcmV0dXJuKC0xKTsKKyAgICBpZiAobnNuYW1lICE9IE5VTEwpIHsKKwluc25hbWUgPSB4bWxEaWN0TG9va3VwKHZjdHh0LT5kaWN0LCBuc25hbWUsIC0xKTsKKwlpZiAobnNuYW1lID09IE5VTEwpCisJICAgIHJldHVybigtMSk7CisgICAgfQorICAgIGZvciAoaSA9IDA7IGkgPCB2Y3R4dC0+bm9kZVFOYW1lcy0+bmJJdGVtczsgaSArPSAyKSB7CisJaWYgKCh2Y3R4dC0+bm9kZVFOYW1lcy0+aXRlbXMgW2ldID09IGxuYW1lKSAmJgorCSAgICAodmN0eHQtPm5vZGVRTmFtZXMtPml0ZW1zW2kgKzFdID09IG5zbmFtZSkpCisJICAgIC8qIEFscmVhZHkgdGhlcmUgKi8KKwkgICAgcmV0dXJuKGkpOworICAgIH0KKyAgICAvKiBBZGQgbmV3IGVudHJ5LiAqLworICAgIGkgPSB2Y3R4dC0+bm9kZVFOYW1lcy0+bmJJdGVtczsKKyAgICB4bWxTY2hlbWFJdGVtTGlzdEFkZCh2Y3R4dC0+bm9kZVFOYW1lcywgKHZvaWQgKikgbG5hbWUpOworICAgIHhtbFNjaGVtYUl0ZW1MaXN0QWRkKHZjdHh0LT5ub2RlUU5hbWVzLCAodm9pZCAqKSBuc25hbWUpOworICAgIHJldHVybihpKTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKiAgVmFsaWRhdGlvbiBvZiBpZGVudGl0eS1jb25zdHJhaW50cyAoSURDKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKgorICogeG1sU2NoZW1hQXVnbWVudElEQzoKKyAqIEBpZGNEZWY6IHRoZSBJREMgZGVmaW5pdGlvbgorICoKKyAqIENyZWF0ZXMgYW4gYXVnbWVudGVkIElEQyBkZWZpbml0aW9uIGl0ZW0uCisgKgorICogUmV0dXJucyB0aGUgaXRlbSwgb3IgTlVMTCBvbiBpbnRlcm5hbCBlcnJvcnMuCisgKi8KK3N0YXRpYyB2b2lkCit4bWxTY2hlbWFBdWdtZW50SURDKHhtbFNjaGVtYUlEQ1B0ciBpZGNEZWYsCisJCSAgICB4bWxTY2hlbWFWYWxpZEN0eHRQdHIgdmN0eHQpCit7CisgICAgeG1sU2NoZW1hSURDQXVnUHRyIGFpZGM7CisKKyAgICBhaWRjID0gKHhtbFNjaGVtYUlEQ0F1Z1B0cikgeG1sTWFsbG9jKHNpemVvZih4bWxTY2hlbWFJRENBdWcpKTsKKyAgICBpZiAoYWlkYyA9PSBOVUxMKSB7CisJeG1sU2NoZW1hVkVyck1lbW9yeSh2Y3R4dCwKKwkgICAgInhtbFNjaGVtYUF1Z21lbnRJREM6IGFsbG9jYXRpbmcgYW4gYXVnbWVudGVkIElEQyBkZWZpbml0aW9uIiwKKwkgICAgTlVMTCk7CisJcmV0dXJuOworICAgIH0KKyAgICBhaWRjLT5rZXlyZWZEZXB0aCA9IC0xOworICAgIGFpZGMtPmRlZiA9IGlkY0RlZjsKKyAgICBhaWRjLT5uZXh0ID0gTlVMTDsKKyAgICBpZiAodmN0eHQtPmFpZGNzID09IE5VTEwpCisJdmN0eHQtPmFpZGNzID0gYWlkYzsKKyAgICBlbHNlIHsKKwlhaWRjLT5uZXh0ID0gdmN0eHQtPmFpZGNzOworCXZjdHh0LT5haWRjcyA9IGFpZGM7CisgICAgfQorICAgIC8qCisgICAgKiBTYXZlIGlmIHdlIGhhdmUga2V5cmVmcyBhdCBhbGwuCisgICAgKi8KKyAgICBpZiAoKHZjdHh0LT5oYXNLZXlyZWZzID09IDApICYmCisJKGlkY0RlZi0+dHlwZSA9PSBYTUxfU0NIRU1BX1RZUEVfSURDX0tFWVJFRikpCisJdmN0eHQtPmhhc0tleXJlZnMgPSAxOworfQorCisvKioKKyAqIHhtbFNjaGVtYUF1Z21lbnRJbXBvcnRlZElEQzoKKyAqIEBpbXBvcnRlZDogdGhlIGltcG9ydGVkIHNjaGVtYQorICoKKyAqIENyZWF0ZXMgYW4gYXVnbWVudGVkIElEQyBkZWZpbml0aW9uIGZvciB0aGUgaW1wb3J0ZWQgc2NoZW1hLgorICovCitzdGF0aWMgdm9pZAoreG1sU2NoZW1hQXVnbWVudEltcG9ydGVkSURDKHhtbFNjaGVtYUltcG9ydFB0ciBpbXBvcnRlZCwgeG1sU2NoZW1hVmFsaWRDdHh0UHRyIHZjdHh0KSB7CisgICAgaWYgKGltcG9ydGVkLT5zY2hlbWEtPmlkY0RlZiAhPSBOVUxMKSB7CisJICAgIHhtbEhhc2hTY2FuKGltcG9ydGVkLT5zY2hlbWEtPmlkY0RlZiAsCisJICAgICh4bWxIYXNoU2Nhbm5lcikgeG1sU2NoZW1hQXVnbWVudElEQywgdmN0eHQpOworICAgIH0KK30KKworLyoqCisgKiB4bWxTY2hlbWFJRENOZXdCaW5kaW5nOgorICogQGlkY0RlZjogdGhlIElEQyBkZWZpbml0aW9uIG9mIHRoaXMgYmluZGluZworICoKKyAqIENyZWF0ZXMgYSBuZXcgSURDIGJpbmRpbmcuCisgKgorICogUmV0dXJucyB0aGUgbmV3IElEQyBiaW5kaW5nLCBOVUxMIG9uIGludGVybmFsIGVycm9ycy4KKyAqLworc3RhdGljIHhtbFNjaGVtYVBTVklJRENCaW5kaW5nUHRyCit4bWxTY2hlbWFJRENOZXdCaW5kaW5nKHhtbFNjaGVtYUlEQ1B0ciBpZGNEZWYpCit7CisgICAgeG1sU2NoZW1hUFNWSUlEQ0JpbmRpbmdQdHIgcmV0OworCisgICAgcmV0ID0gKHhtbFNjaGVtYVBTVklJRENCaW5kaW5nUHRyKSB4bWxNYWxsb2MoCisJICAgIHNpemVvZih4bWxTY2hlbWFQU1ZJSURDQmluZGluZykpOworICAgIGlmIChyZXQgPT0gTlVMTCkgeworCXhtbFNjaGVtYVZFcnJNZW1vcnkoTlVMTCwKKwkgICAgImFsbG9jYXRpbmcgYSBQU1ZJIElEQyBiaW5kaW5nIGl0ZW0iLCBOVUxMKTsKKwlyZXR1cm4gKE5VTEwpOworICAgIH0KKyAgICBtZW1zZXQocmV0LCAwLCBzaXplb2YoeG1sU2NoZW1hUFNWSUlEQ0JpbmRpbmcpKTsKKyAgICByZXQtPmRlZmluaXRpb24gPSBpZGNEZWY7CisgICAgcmV0dXJuIChyZXQpOworfQorCisvKioKKyAqIHhtbFNjaGVtYUlEQ1N0b3JlTm9kZVRhYmxlSXRlbToKKyAqIEB2Y3R4dDogdGhlIFdYUyB2YWxpZGF0aW9uIGNvbnRleHQKKyAqIEBpdGVtOiB0aGUgSURDIG5vZGUgdGFibGUgaXRlbQorICoKKyAqIFRoZSB2YWxpZGF0aW9uIGNvbnRleHQgaXMgdXNlZCB0byBzdG9yZSBJREMgbm9kZSB0YWJsZSBpdGVtcy4KKyAqIFRoZXkgYXJlIHN0b3JlZCB0byBhdm9pZCBjb3B5aW5nIHRoZW0gaWYgSURDIG5vZGUtdGFibGVzIGFyZSBtZXJnZWQKKyAqIHdpdGggY29ycmVzcG9uZGluZyBwYXJlbnQgSURDIG5vZGUtdGFibGVzIChidWJibGluZykuCisgKgorICogUmV0dXJucyAwIGlmIHN1Y2NlZWRlZCwgLTEgb24gaW50ZXJuYWwgZXJyb3JzLgorICovCitzdGF0aWMgaW50Cit4bWxTY2hlbWFJRENTdG9yZU5vZGVUYWJsZUl0ZW0oeG1sU2NoZW1hVmFsaWRDdHh0UHRyIHZjdHh0LAorCQkJICAgICAgIHhtbFNjaGVtYVBTVklJRENOb2RlUHRyIGl0ZW0pCit7CisgICAgLyoKKyAgICAqIEFkZCB0byBnb2JhbCBsaXN0LgorICAgICovCisgICAgaWYgKHZjdHh0LT5pZGNOb2RlcyA9PSBOVUxMKSB7CisJdmN0eHQtPmlkY05vZGVzID0gKHhtbFNjaGVtYVBTVklJRENOb2RlUHRyICopCisJICAgIHhtbE1hbGxvYygyMCAqIHNpemVvZih4bWxTY2hlbWFQU1ZJSURDTm9kZVB0cikpOworCWlmICh2Y3R4dC0+aWRjTm9kZXMgPT0gTlVMTCkgeworCSAgICB4bWxTY2hlbWFWRXJyTWVtb3J5KHZjdHh0LAorCQkiYWxsb2NhdGluZyB0aGUgSURDIG5vZGUgdGFibGUgaXRlbSBsaXN0IiwgTlVMTCk7CisJICAgIHJldHVybiAoLTEpOworCX0KKwl2Y3R4dC0+c2l6ZUlkY05vZGVzID0gMjA7CisgICAgfSBlbHNlIGlmICh2Y3R4dC0+c2l6ZUlkY05vZGVzIDw9IHZjdHh0LT5uYklkY05vZGVzKSB7CisJdmN0eHQtPnNpemVJZGNOb2RlcyAqPSAyOworCXZjdHh0LT5pZGNOb2RlcyA9ICh4bWxTY2hlbWFQU1ZJSURDTm9kZVB0ciAqKQorCSAgICB4bWxSZWFsbG9jKHZjdHh0LT5pZGNOb2RlcywgdmN0eHQtPnNpemVJZGNOb2RlcyAqCisJICAgIHNpemVvZih4bWxTY2hlbWFQU1ZJSURDTm9kZVB0cikpOworCWlmICh2Y3R4dC0+aWRjTm9kZXMgPT0gTlVMTCkgeworCSAgICB4bWxTY2hlbWFWRXJyTWVtb3J5KHZjdHh0LAorCQkicmUtYWxsb2NhdGluZyB0aGUgSURDIG5vZGUgdGFibGUgaXRlbSBsaXN0IiwgTlVMTCk7CisJICAgIHJldHVybiAoLTEpOworCX0KKyAgICB9CisgICAgdmN0eHQtPmlkY05vZGVzW3ZjdHh0LT5uYklkY05vZGVzKytdID0gaXRlbTsKKworICAgIHJldHVybiAoMCk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hSURDU3RvcmVLZXk6CisgKiBAdmN0eHQ6IHRoZSBXWFMgdmFsaWRhdGlvbiBjb250ZXh0CisgKiBAaXRlbTogdGhlIElEQyBrZXkKKyAqCisgKiBUaGUgdmFsaWRhdGlvbiBjb250ZXh0IGlzIHVzZWQgdG8gc3RvcmUgYW4gSURDIGtleS4KKyAqCisgKiBSZXR1cm5zIDAgaWYgc3VjY2VlZGVkLCAtMSBvbiBpbnRlcm5hbCBlcnJvcnMuCisgKi8KK3N0YXRpYyBpbnQKK3htbFNjaGVtYUlEQ1N0b3JlS2V5KHhtbFNjaGVtYVZhbGlkQ3R4dFB0ciB2Y3R4dCwKKwkJICAgICB4bWxTY2hlbWFQU1ZJSURDS2V5UHRyIGtleSkKK3sKKyAgICAvKgorICAgICogQWRkIHRvIGdvYmFsIGxpc3QuCisgICAgKi8KKyAgICBpZiAodmN0eHQtPmlkY0tleXMgPT0gTlVMTCkgeworCXZjdHh0LT5pZGNLZXlzID0gKHhtbFNjaGVtYVBTVklJRENLZXlQdHIgKikKKwkgICAgeG1sTWFsbG9jKDQwICogc2l6ZW9mKHhtbFNjaGVtYVBTVklJRENLZXlQdHIpKTsKKwlpZiAodmN0eHQtPmlkY0tleXMgPT0gTlVMTCkgeworCSAgICB4bWxTY2hlbWFWRXJyTWVtb3J5KHZjdHh0LAorCQkiYWxsb2NhdGluZyB0aGUgSURDIGtleSBzdG9yYWdlIGxpc3QiLCBOVUxMKTsKKwkgICAgcmV0dXJuICgtMSk7CisJfQorCXZjdHh0LT5zaXplSWRjS2V5cyA9IDQwOworICAgIH0gZWxzZSBpZiAodmN0eHQtPnNpemVJZGNLZXlzIDw9IHZjdHh0LT5uYklkY0tleXMpIHsKKwl2Y3R4dC0+c2l6ZUlkY0tleXMgKj0gMjsKKwl2Y3R4dC0+aWRjS2V5cyA9ICh4bWxTY2hlbWFQU1ZJSURDS2V5UHRyICopCisJICAgIHhtbFJlYWxsb2ModmN0eHQtPmlkY0tleXMsIHZjdHh0LT5zaXplSWRjS2V5cyAqCisJICAgIHNpemVvZih4bWxTY2hlbWFQU1ZJSURDS2V5UHRyKSk7CisJaWYgKHZjdHh0LT5pZGNLZXlzID09IE5VTEwpIHsKKwkgICAgeG1sU2NoZW1hVkVyck1lbW9yeSh2Y3R4dCwKKwkJInJlLWFsbG9jYXRpbmcgdGhlIElEQyBrZXkgc3RvcmFnZSBsaXN0IiwgTlVMTCk7CisJICAgIHJldHVybiAoLTEpOworCX0KKyAgICB9CisgICAgdmN0eHQtPmlkY0tleXNbdmN0eHQtPm5iSWRjS2V5cysrXSA9IGtleTsKKworICAgIHJldHVybiAoMCk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hSURDQXBwZW5kTm9kZVRhYmxlSXRlbToKKyAqIEBiaW5kOiB0aGUgSURDIGJpbmRpbmcKKyAqIEBudEl0ZW06IHRoZSBub2RlLXRhYmxlIGl0ZW0KKyAqCisgKiBBcHBlbmRzIHRoZSBJREMgbm9kZS10YWJsZSBpdGVtIHRvIHRoZSBiaW5kaW5nLgorICoKKyAqIFJldHVybnMgMCBvbiBzdWNjZXNzIGFuZCAtMSBvbiBpbnRlcm5hbCBlcnJvcnMuCisgKi8KK3N0YXRpYyBpbnQKK3htbFNjaGVtYUlEQ0FwcGVuZE5vZGVUYWJsZUl0ZW0oeG1sU2NoZW1hUFNWSUlEQ0JpbmRpbmdQdHIgYmluZCwKKwkJCQl4bWxTY2hlbWFQU1ZJSURDTm9kZVB0ciBudEl0ZW0pCit7CisgICAgaWYgKGJpbmQtPm5vZGVUYWJsZSA9PSBOVUxMKSB7CisJYmluZC0+c2l6ZU5vZGVzID0gMTA7CisJYmluZC0+bm9kZVRhYmxlID0gKHhtbFNjaGVtYVBTVklJRENOb2RlUHRyICopCisJICAgIHhtbE1hbGxvYygxMCAqIHNpemVvZih4bWxTY2hlbWFQU1ZJSURDTm9kZVB0cikpOworCWlmIChiaW5kLT5ub2RlVGFibGUgPT0gTlVMTCkgeworCSAgICB4bWxTY2hlbWFWRXJyTWVtb3J5KE5VTEwsCisJCSJhbGxvY2F0aW5nIGFuIGFycmF5IG9mIElEQyBub2RlLXRhYmxlIGl0ZW1zIiwgTlVMTCk7CisJICAgIHJldHVybigtMSk7CisJfQorICAgIH0gZWxzZSBpZiAoYmluZC0+c2l6ZU5vZGVzIDw9IGJpbmQtPm5iTm9kZXMpIHsKKwliaW5kLT5zaXplTm9kZXMgKj0gMjsKKwliaW5kLT5ub2RlVGFibGUgPSAoeG1sU2NoZW1hUFNWSUlEQ05vZGVQdHIgKikKKwkgICAgeG1sUmVhbGxvYyhiaW5kLT5ub2RlVGFibGUsIGJpbmQtPnNpemVOb2RlcyAqCisJCXNpemVvZih4bWxTY2hlbWFQU1ZJSURDTm9kZVB0cikpOworCWlmIChiaW5kLT5ub2RlVGFibGUgPT0gTlVMTCkgeworCSAgICB4bWxTY2hlbWFWRXJyTWVtb3J5KE5VTEwsCisJCSJyZS1hbGxvY2F0aW5nIGFuIGFycmF5IG9mIElEQyBub2RlLXRhYmxlIGl0ZW1zIiwgTlVMTCk7CisJICAgIHJldHVybigtMSk7CisJfQorICAgIH0KKyAgICBiaW5kLT5ub2RlVGFibGVbYmluZC0+bmJOb2RlcysrXSA9IG50SXRlbTsKKyAgICByZXR1cm4oMCk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hSURDQWNxdWlyZUJpbmRpbmc6CisgKiBAdmN0eHQ6IHRoZSBXWFMgdmFsaWRhdGlvbiBjb250ZXh0CisgKiBAbWF0Y2hlcjogdGhlIElEQyBtYXRjaGVyCisgKgorICogTG9va3MgdXAgYW4gUFNWSSBJREMgYmluZGluZywgZm9yIHRoZSBJREMgZGVmaW5pdGlvbiBhbmQKKyAqIG9mIHRoZSBnaXZlbiBtYXRjaGVyLiBJZiBub25lIGZvdW5kLCBhIG5ldyBvbmUgaXMgY3JlYXRlZAorICogYW5kIGFkZGVkIHRvIHRoZSBJREMgdGFibGUuCisgKgorICogUmV0dXJucyBhbiBJREMgYmluZGluZyBvciBOVUxMIG9uIGludGVybmFsIGVycm9ycy4KKyAqLworc3RhdGljIHhtbFNjaGVtYVBTVklJRENCaW5kaW5nUHRyCit4bWxTY2hlbWFJRENBY3F1aXJlQmluZGluZyh4bWxTY2hlbWFWYWxpZEN0eHRQdHIgdmN0eHQsCisJCQkgIHhtbFNjaGVtYUlEQ01hdGNoZXJQdHIgbWF0Y2hlcikKK3sKKyAgICB4bWxTY2hlbWFOb2RlSW5mb1B0ciBpZWxlbTsKKworICAgIGllbGVtID0gdmN0eHQtPmVsZW1JbmZvc1ttYXRjaGVyLT5kZXB0aF07CisKKyAgICBpZiAoaWVsZW0tPmlkY1RhYmxlID09IE5VTEwpIHsKKwlpZWxlbS0+aWRjVGFibGUgPSB4bWxTY2hlbWFJRENOZXdCaW5kaW5nKG1hdGNoZXItPmFpZGMtPmRlZik7CisJaWYgKGllbGVtLT5pZGNUYWJsZSA9PSBOVUxMKQorCSAgICByZXR1cm4gKE5VTEwpOworCXJldHVybihpZWxlbS0+aWRjVGFibGUpOworICAgIH0gZWxzZSB7CisJeG1sU2NoZW1hUFNWSUlEQ0JpbmRpbmdQdHIgYmluZCA9IE5VTEw7CisKKwliaW5kID0gaWVsZW0tPmlkY1RhYmxlOworCWRvIHsKKwkgICAgaWYgKGJpbmQtPmRlZmluaXRpb24gPT0gbWF0Y2hlci0+YWlkYy0+ZGVmKQorCQlyZXR1cm4oYmluZCk7CisJICAgIGlmIChiaW5kLT5uZXh0ID09IE5VTEwpIHsKKwkJYmluZC0+bmV4dCA9IHhtbFNjaGVtYUlEQ05ld0JpbmRpbmcobWF0Y2hlci0+YWlkYy0+ZGVmKTsKKwkJaWYgKGJpbmQtPm5leHQgPT0gTlVMTCkKKwkJICAgIHJldHVybiAoTlVMTCk7CisJCXJldHVybihiaW5kLT5uZXh0KTsKKwkgICAgfQorCSAgICBiaW5kID0gYmluZC0+bmV4dDsKKwl9IHdoaWxlIChiaW5kICE9IE5VTEwpOworICAgIH0KKyAgICByZXR1cm4gKE5VTEwpOworfQorCitzdGF0aWMgeG1sU2NoZW1hSXRlbUxpc3RQdHIKK3htbFNjaGVtYUlEQ0FjcXVpcmVUYXJnZXRMaXN0KHhtbFNjaGVtYVZhbGlkQ3R4dFB0ciB2Y3R4dCBBVFRSSUJVVEVfVU5VU0VELAorCQkJICAgICB4bWxTY2hlbWFJRENNYXRjaGVyUHRyIG1hdGNoZXIpCit7CisgICAgaWYgKG1hdGNoZXItPnRhcmdldHMgPT0gTlVMTCkKKwltYXRjaGVyLT50YXJnZXRzID0geG1sU2NoZW1hSXRlbUxpc3RDcmVhdGUoKTsKKyAgICByZXR1cm4obWF0Y2hlci0+dGFyZ2V0cyk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hSURDRnJlZUtleToKKyAqIEBrZXk6IHRoZSBJREMga2V5CisgKgorICogRnJlZXMgYW4gSURDIGtleSB0b2dldGhlciB3aXRoIGl0cyBjb21waWxlZCB2YWx1ZS4KKyAqLworc3RhdGljIHZvaWQKK3htbFNjaGVtYUlEQ0ZyZWVLZXkoeG1sU2NoZW1hUFNWSUlEQ0tleVB0ciBrZXkpCit7CisgICAgaWYgKGtleS0+dmFsICE9IE5VTEwpCisJeG1sU2NoZW1hRnJlZVZhbHVlKGtleS0+dmFsKTsKKyAgICB4bWxGcmVlKGtleSk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hSURDRnJlZUJpbmRpbmc6CisgKgorICogRnJlZXMgYW4gSURDIGJpbmRpbmcuIE5vdGUgdGhhdCB0aGUgbm9kZSB0YWJsZS1pdGVtcworICogYXJlIG5vdCBmcmVlZC4KKyAqLworc3RhdGljIHZvaWQKK3htbFNjaGVtYUlEQ0ZyZWVCaW5kaW5nKHhtbFNjaGVtYVBTVklJRENCaW5kaW5nUHRyIGJpbmQpCit7CisgICAgaWYgKGJpbmQtPm5vZGVUYWJsZSAhPSBOVUxMKQorCXhtbEZyZWUoYmluZC0+bm9kZVRhYmxlKTsKKyAgICBpZiAoYmluZC0+ZHVwbHMgIT0gTlVMTCkKKwl4bWxTY2hlbWFJdGVtTGlzdEZyZWUoYmluZC0+ZHVwbHMpOworICAgIHhtbEZyZWUoYmluZCk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hSURDRnJlZUlEQ1RhYmxlOgorICogQGJpbmQ6IHRoZSBmaXJzdCBJREMgYmluZGluZyBpbiB0aGUgbGlzdAorICoKKyAqIEZyZWVzIGFuIElEQyB0YWJsZSwgaS5lLiBhbGwgdGhlIElEQyBiaW5kaW5ncyBpbiB0aGUgbGlzdC4KKyAqLworc3RhdGljIHZvaWQKK3htbFNjaGVtYUlEQ0ZyZWVJRENUYWJsZSh4bWxTY2hlbWFQU1ZJSURDQmluZGluZ1B0ciBiaW5kKQoreworICAgIHhtbFNjaGVtYVBTVklJRENCaW5kaW5nUHRyIHByZXY7CisKKyAgICB3aGlsZSAoYmluZCAhPSBOVUxMKSB7CisJcHJldiA9IGJpbmQ7CisJYmluZCA9IGJpbmQtPm5leHQ7CisJeG1sU2NoZW1hSURDRnJlZUJpbmRpbmcocHJldik7CisgICAgfQorfQorCisvKioKKyAqIHhtbFNjaGVtYUlEQ0ZyZWVNYXRjaGVyTGlzdDoKKyAqIEBtYXRjaGVyOiB0aGUgZmlyc3QgSURDIG1hdGNoZXIgaW4gdGhlIGxpc3QKKyAqCisgKiBGcmVlcyBhIGxpc3Qgb2YgSURDIG1hdGNoZXJzLgorICovCitzdGF0aWMgdm9pZAoreG1sU2NoZW1hSURDRnJlZU1hdGNoZXJMaXN0KHhtbFNjaGVtYUlEQ01hdGNoZXJQdHIgbWF0Y2hlcikKK3sKKyAgICB4bWxTY2hlbWFJRENNYXRjaGVyUHRyIG5leHQ7CisKKyAgICB3aGlsZSAobWF0Y2hlciAhPSBOVUxMKSB7CisJbmV4dCA9IG1hdGNoZXItPm5leHQ7CisJaWYgKG1hdGNoZXItPmtleVNlcXMgIT0gTlVMTCkgeworCSAgICBpbnQgaTsKKwkgICAgZm9yIChpID0gMDsgaSA8IG1hdGNoZXItPnNpemVLZXlTZXFzOyBpKyspCisJCWlmIChtYXRjaGVyLT5rZXlTZXFzW2ldICE9IE5VTEwpCisJCSAgICB4bWxGcmVlKG1hdGNoZXItPmtleVNlcXNbaV0pOworCSAgICB4bWxGcmVlKG1hdGNoZXItPmtleVNlcXMpOworCX0KKwlpZiAobWF0Y2hlci0+dGFyZ2V0cyAhPSBOVUxMKSB7CisJICAgIGlmIChtYXRjaGVyLT5pZGNUeXBlID09IFhNTF9TQ0hFTUFfVFlQRV9JRENfS0VZUkVGKSB7CisJCWludCBpOworCQl4bWxTY2hlbWFQU1ZJSURDTm9kZVB0ciBpZGNOb2RlOworCQkvKgorCQkqIE5vZGUtdGFibGUgaXRlbXMgZm9yIGtleXJlZnMgYXJlIG5vdCBzdG9yZWQgZ2xvYmFsbHkKKwkJKiB0byB0aGUgdmFsaWRhdGlvbiBjb250ZXh0LCBzaW5jZSB0aGV5IGFyZSBub3QgYnViYmxlZC4KKwkJKiBXZSBuZWVkIHRvIGZyZWUgdGhlbSBoZXJlLgorCQkqLworCQlmb3IgKGkgPSAwOyBpIDwgbWF0Y2hlci0+dGFyZ2V0cy0+bmJJdGVtczsgaSsrKSB7CisJCSAgICBpZGNOb2RlID0KKwkJCSh4bWxTY2hlbWFQU1ZJSURDTm9kZVB0cikgbWF0Y2hlci0+dGFyZ2V0cy0+aXRlbXNbaV07CisJCSAgICB4bWxGcmVlKGlkY05vZGUtPmtleXMpOworCQkgICAgeG1sRnJlZShpZGNOb2RlKTsKKwkJfQorCSAgICB9CisJICAgIHhtbFNjaGVtYUl0ZW1MaXN0RnJlZShtYXRjaGVyLT50YXJnZXRzKTsKKwl9CisJeG1sRnJlZShtYXRjaGVyKTsKKwltYXRjaGVyID0gbmV4dDsKKyAgICB9Cit9CisKKy8qKgorICogeG1sU2NoZW1hSURDUmVsZWFzZU1hdGNoZXJMaXN0OgorICogQHZjdHh0OiB0aGUgV1hTIHZhbGlkYXRpb24gY29udGV4dAorICogQG1hdGNoZXI6IHRoZSBmaXJzdCBJREMgbWF0Y2hlciBpbiB0aGUgbGlzdAorICoKKyAqIENhY2hlcyBhIGxpc3Qgb2YgSURDIG1hdGNoZXJzIGZvciByZXVzZS4KKyAqLworc3RhdGljIHZvaWQKK3htbFNjaGVtYUlEQ1JlbGVhc2VNYXRjaGVyTGlzdCh4bWxTY2hlbWFWYWxpZEN0eHRQdHIgdmN0eHQsCisJCQkgICAgICAgeG1sU2NoZW1hSURDTWF0Y2hlclB0ciBtYXRjaGVyKQoreworICAgIHhtbFNjaGVtYUlEQ01hdGNoZXJQdHIgbmV4dDsKKworICAgIHdoaWxlIChtYXRjaGVyICE9IE5VTEwpIHsKKwluZXh0ID0gbWF0Y2hlci0+bmV4dDsKKwlpZiAobWF0Y2hlci0+a2V5U2VxcyAhPSBOVUxMKSB7CisJICAgIGludCBpOworCSAgICAvKgorCSAgICAqIERvbid0IGZyZWUgdGhlIGFycmF5LCBidXQgb25seSB0aGUgY29udGVudC4KKwkgICAgKi8KKwkgICAgZm9yIChpID0gMDsgaSA8IG1hdGNoZXItPnNpemVLZXlTZXFzOyBpKyspCisJCWlmIChtYXRjaGVyLT5rZXlTZXFzW2ldICE9IE5VTEwpIHsKKwkJICAgIHhtbEZyZWUobWF0Y2hlci0+a2V5U2Vxc1tpXSk7CisJCSAgICBtYXRjaGVyLT5rZXlTZXFzW2ldID0gTlVMTDsKKwkJfQorCX0KKwlpZiAobWF0Y2hlci0+dGFyZ2V0cykgeworCSAgICBpZiAobWF0Y2hlci0+aWRjVHlwZSA9PSBYTUxfU0NIRU1BX1RZUEVfSURDX0tFWVJFRikgeworCQlpbnQgaTsKKwkJeG1sU2NoZW1hUFNWSUlEQ05vZGVQdHIgaWRjTm9kZTsKKwkJLyoKKwkJKiBOb2RlLXRhYmxlIGl0ZW1zIGZvciBrZXlyZWZzIGFyZSBub3Qgc3RvcmVkIGdsb2JhbGx5CisJCSogdG8gdGhlIHZhbGlkYXRpb24gY29udGV4dCwgc2luY2UgdGhleSBhcmUgbm90IGJ1YmJsZWQuCisJCSogV2UgbmVlZCB0byBmcmVlIHRoZW0gaGVyZS4KKwkJKi8KKwkJZm9yIChpID0gMDsgaSA8IG1hdGNoZXItPnRhcmdldHMtPm5iSXRlbXM7IGkrKykgeworCQkgICAgaWRjTm9kZSA9CisJCQkoeG1sU2NoZW1hUFNWSUlEQ05vZGVQdHIpIG1hdGNoZXItPnRhcmdldHMtPml0ZW1zW2ldOworCQkgICAgeG1sRnJlZShpZGNOb2RlLT5rZXlzKTsKKwkJICAgIHhtbEZyZWUoaWRjTm9kZSk7CisJCX0KKwkgICAgfQorCSAgICB4bWxTY2hlbWFJdGVtTGlzdEZyZWUobWF0Y2hlci0+dGFyZ2V0cyk7CisJICAgIG1hdGNoZXItPnRhcmdldHMgPSBOVUxMOworCX0KKwltYXRjaGVyLT5uZXh0ID0gTlVMTDsKKwkvKgorCSogQ2FjaGUgdGhlIG1hdGNoZXIuCisJKi8KKwlpZiAodmN0eHQtPmlkY01hdGNoZXJDYWNoZSAhPSBOVUxMKQorCSAgICBtYXRjaGVyLT5uZXh0Q2FjaGVkID0gdmN0eHQtPmlkY01hdGNoZXJDYWNoZTsKKwl2Y3R4dC0+aWRjTWF0Y2hlckNhY2hlID0gbWF0Y2hlcjsKKworCW1hdGNoZXIgPSBuZXh0OworICAgIH0KK30KKworLyoqCisgKiB4bWxTY2hlbWFJRENBZGRTdGF0ZU9iamVjdDoKKyAqIEB2Y3R4dDogdGhlIFdYUyB2YWxpZGF0aW9uIGNvbnRleHQKKyAqIEBtYXRjaGVyOiB0aGUgSURDIG1hdGNoZXIKKyAqIEBzZWw6IHRoZSBYUGF0aCBpbmZvcm1hdGlvbgorICogQHBhcmVudDogdGhlIHBhcmVudCAic2VsZWN0b3IiIHN0YXRlIG9iamVjdCBpZiBhbnkKKyAqIEB0eXBlOiAic2VsZWN0b3IiIG9yICJmaWVsZCIKKyAqCisgKiBDcmVhdGVzL3JldXNlcyBhbmQgYWN0aXZhdGVzIHN0YXRlIG9iamVjdHMgZm9yIHRoZSBnaXZlbgorICogWFBhdGggaW5mb3JtYXRpb247IGlmIHRoZSBYUGF0aCBleHByZXNzaW9uIGNvbnNpc3RzIG9mIHVuaW9ucywKKyAqIG11bHRpcGxlIHN0YXRlIG9iamVjdHMgYXJlIGNyZWF0ZWQgZm9yIGV2ZXJ5IHVuaW9uZWQgZXhwcmVzc2lvbi4KKyAqCisgKiBSZXR1cm5zIDAgb24gc3VjY2VzcyBhbmQgLTEgb24gaW50ZXJuYWwgZXJyb3JzLgorICovCitzdGF0aWMgaW50Cit4bWxTY2hlbWFJRENBZGRTdGF0ZU9iamVjdCh4bWxTY2hlbWFWYWxpZEN0eHRQdHIgdmN0eHQsCisJCQl4bWxTY2hlbWFJRENNYXRjaGVyUHRyIG1hdGNoZXIsCisJCQl4bWxTY2hlbWFJRENTZWxlY3RQdHIgc2VsLAorCQkJaW50IHR5cGUpCit7CisgICAgeG1sU2NoZW1hSURDU3RhdGVPYmpQdHIgc3RvOworCisgICAgLyoKKyAgICAqIFJldXNlIHRoZSBzdGF0ZSBvYmplY3RzIGZyb20gdGhlIHBvb2wuCisgICAgKi8KKyAgICBpZiAodmN0eHQtPnhwYXRoU3RhdGVQb29sICE9IE5VTEwpIHsKKwlzdG8gPSB2Y3R4dC0+eHBhdGhTdGF0ZVBvb2w7CisJdmN0eHQtPnhwYXRoU3RhdGVQb29sID0gc3RvLT5uZXh0OworCXN0by0+bmV4dCA9IE5VTEw7CisgICAgfSBlbHNlIHsKKwkvKgorCSogQ3JlYXRlIGEgbmV3IHN0YXRlIG9iamVjdC4KKwkqLworCXN0byA9ICh4bWxTY2hlbWFJRENTdGF0ZU9ialB0cikgeG1sTWFsbG9jKHNpemVvZih4bWxTY2hlbWFJRENTdGF0ZU9iaikpOworCWlmIChzdG8gPT0gTlVMTCkgeworCSAgICB4bWxTY2hlbWFWRXJyTWVtb3J5KE5VTEwsCisJCSJhbGxvY2F0aW5nIGFuIElEQyBzdGF0ZSBvYmplY3QiLCBOVUxMKTsKKwkgICAgcmV0dXJuICgtMSk7CisJfQorCW1lbXNldChzdG8sIDAsIHNpemVvZih4bWxTY2hlbWFJRENTdGF0ZU9iaikpOworICAgIH0KKyAgICAvKgorICAgICogQWRkIHRvIGdsb2JhbCBsaXN0LgorICAgICovCisgICAgaWYgKHZjdHh0LT54cGF0aFN0YXRlcyAhPSBOVUxMKQorCXN0by0+bmV4dCA9IHZjdHh0LT54cGF0aFN0YXRlczsKKyAgICB2Y3R4dC0+eHBhdGhTdGF0ZXMgPSBzdG87CisKKyAgICAvKgorICAgICogRnJlZSB0aGUgb2xkIHhwYXRoIHZhbGlkYXRpb24gY29udGV4dC4KKyAgICAqLworICAgIGlmIChzdG8tPnhwYXRoQ3R4dCAhPSBOVUxMKQorCXhtbEZyZWVTdHJlYW1DdHh0KCh4bWxTdHJlYW1DdHh0UHRyKSBzdG8tPnhwYXRoQ3R4dCk7CisKKyAgICAvKgorICAgICogQ3JlYXRlIGEgbmV3IFhQYXRoIChwYXR0ZXJuKSB2YWxpZGF0aW9uIGNvbnRleHQuCisgICAgKi8KKyAgICBzdG8tPnhwYXRoQ3R4dCA9ICh2b2lkICopIHhtbFBhdHRlcm5HZXRTdHJlYW1DdHh0KAorCSh4bWxQYXR0ZXJuUHRyKSBzZWwtPnhwYXRoQ29tcCk7CisgICAgaWYgKHN0by0+eHBhdGhDdHh0ID09IE5VTEwpIHsKKwlWRVJST1JfSU5UKCJ4bWxTY2hlbWFJRENBZGRTdGF0ZU9iamVjdCIsCisJICAgICJmYWlsZWQgdG8gY3JlYXRlIGFuIFhQYXRoIHZhbGlkYXRpb24gY29udGV4dCIpOworCXJldHVybiAoLTEpOworICAgIH0KKyAgICBzdG8tPnR5cGUgPSB0eXBlOworICAgIHN0by0+ZGVwdGggPSB2Y3R4dC0+ZGVwdGg7CisgICAgc3RvLT5tYXRjaGVyID0gbWF0Y2hlcjsKKyAgICBzdG8tPnNlbCA9IHNlbDsKKyAgICBzdG8tPm5iSGlzdG9yeSA9IDA7CisKKyNpZmRlZiBERUJVR19JREMKKyAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgIklEQzogICBTVE8gcHVzaCAnJXMnXG4iLAorCXN0by0+c2VsLT54cGF0aCk7CisjZW5kaWYKKyAgICByZXR1cm4gKDApOworfQorCisvKioKKyAqIHhtbFNjaGVtYVhQYXRoRXZhbHVhdGU6CisgKiBAdmN0eHQ6IHRoZSBXWFMgdmFsaWRhdGlvbiBjb250ZXh0CisgKiBAbm9kZVR5cGU6IHRoZSBub2RlVHlwZSBvZiB0aGUgY3VycmVudCBub2RlCisgKgorICogRXZhbHVhdGVzIGFsbCBhY3RpdmUgWFBhdGggc3RhdGUgb2JqZWN0cy4KKyAqCisgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgSUMgImZpZWxkIiBzdGF0ZSBvYmplY3RzIHdoaWNoIHJlc29sdmVkIHRvCisgKiB0aGlzIG5vZGUsIDAgaWYgbm9uZSByZXNvbHZlZCBhbmQgLTEgb24gaW50ZXJuYWwgZXJyb3JzLgorICovCitzdGF0aWMgaW50Cit4bWxTY2hlbWFYUGF0aEV2YWx1YXRlKHhtbFNjaGVtYVZhbGlkQ3R4dFB0ciB2Y3R4dCwKKwkJICAgICAgIHhtbEVsZW1lbnRUeXBlIG5vZGVUeXBlKQoreworICAgIHhtbFNjaGVtYUlEQ1N0YXRlT2JqUHRyIHN0bywgaGVhZCA9IE5VTEwsIGZpcnN0OworICAgIGludCByZXMsIHJlc29sdmVkID0gMCwgZGVwdGggPSB2Y3R4dC0+ZGVwdGg7CisKKyAgICBpZiAodmN0eHQtPnhwYXRoU3RhdGVzID09IE5VTEwpCisJcmV0dXJuICgwKTsKKworICAgIGlmIChub2RlVHlwZSA9PSBYTUxfQVRUUklCVVRFX05PREUpCisJZGVwdGgrKzsKKyNpZmRlZiBERUJVR19JREMKKyAgICB7CisJeG1sQ2hhciAqc3RyID0gTlVMTDsKKwl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkgICAgIklEQzogRVZBTCBvbiAlcywgZGVwdGggJWQsIHR5cGUgJWRcbiIsCisJICAgIHhtbFNjaGVtYUZvcm1hdFFOYW1lKCZzdHIsIHZjdHh0LT5pbm9kZS0+bnNOYW1lLAorCQl2Y3R4dC0+aW5vZGUtPmxvY2FsTmFtZSksIGRlcHRoLCBub2RlVHlwZSk7CisJRlJFRV9BTkRfTlVMTChzdHIpCisgICAgfQorI2VuZGlmCisgICAgLyoKKyAgICAqIFByb2Nlc3MgYWxsIGFjdGl2ZSBYUGF0aCBzdGF0ZSBvYmplY3RzLgorICAgICovCisgICAgZmlyc3QgPSB2Y3R4dC0+eHBhdGhTdGF0ZXM7CisgICAgc3RvID0gZmlyc3Q7CisgICAgd2hpbGUgKHN0byAhPSBoZWFkKSB7CisjaWZkZWYgREVCVUdfSURDCisJaWYgKHN0by0+dHlwZSA9PSBYUEFUSF9TVEFURV9PQkpfVFlQRV9JRENfU0VMRUNUT1IpCisJICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCAiSURDOiAgIFsnJXMnXSBzZWxlY3RvciAnJXMnXG4iLAorCQlzdG8tPm1hdGNoZXItPmFpZGMtPmRlZi0+bmFtZSwgc3RvLT5zZWwtPnhwYXRoKTsKKwllbHNlCisJICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCAiSURDOiAgIFsnJXMnXSBmaWVsZCAnJXMnXG4iLAorCQlzdG8tPm1hdGNoZXItPmFpZGMtPmRlZi0+bmFtZSwgc3RvLT5zZWwtPnhwYXRoKTsKKyNlbmRpZgorCWlmIChub2RlVHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFKQorCSAgICByZXMgPSB4bWxTdHJlYW1QdXNoKCh4bWxTdHJlYW1DdHh0UHRyKSBzdG8tPnhwYXRoQ3R4dCwKKwkJdmN0eHQtPmlub2RlLT5sb2NhbE5hbWUsIHZjdHh0LT5pbm9kZS0+bnNOYW1lKTsKKwllbHNlCisJICAgIHJlcyA9IHhtbFN0cmVhbVB1c2hBdHRyKCh4bWxTdHJlYW1DdHh0UHRyKSBzdG8tPnhwYXRoQ3R4dCwKKwkJdmN0eHQtPmlub2RlLT5sb2NhbE5hbWUsIHZjdHh0LT5pbm9kZS0+bnNOYW1lKTsKKworCWlmIChyZXMgPT0gLTEpIHsKKwkgICAgVkVSUk9SX0lOVCgieG1sU2NoZW1hWFBhdGhFdmFsdWF0ZSIsCisJCSJjYWxsaW5nIHhtbFN0cmVhbVB1c2goKSIpOworCSAgICByZXR1cm4gKC0xKTsKKwl9CisJaWYgKHJlcyA9PSAwKQorCSAgICBnb3RvIG5leHRfc3RvOworCS8qCisJKiBGdWxsIG1hdGNoLgorCSovCisjaWZkZWYgREVCVUdfSURDCisJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICJJREM6ICAgICAiCisJICAgICJNQVRDSFxuIik7CisjZW5kaWYKKwkvKgorCSogUmVnaXN0ZXIgYSBtYXRjaCBpbiB0aGUgc3RhdGUgb2JqZWN0IGhpc3RvcnkuCisJKi8KKwlpZiAoc3RvLT5oaXN0b3J5ID09IE5VTEwpIHsKKwkgICAgc3RvLT5oaXN0b3J5ID0gKGludCAqKSB4bWxNYWxsb2MoNSAqIHNpemVvZihpbnQpKTsKKwkgICAgaWYgKHN0by0+aGlzdG9yeSA9PSBOVUxMKSB7CisJCXhtbFNjaGVtYVZFcnJNZW1vcnkoTlVMTCwKKwkJICAgICJhbGxvY2F0aW5nIHRoZSBzdGF0ZSBvYmplY3QgaGlzdG9yeSIsIE5VTEwpOworCQlyZXR1cm4oLTEpOworCSAgICB9CisJICAgIHN0by0+c2l6ZUhpc3RvcnkgPSA1OworCX0gZWxzZSBpZiAoc3RvLT5zaXplSGlzdG9yeSA8PSBzdG8tPm5iSGlzdG9yeSkgeworCSAgICBzdG8tPnNpemVIaXN0b3J5ICo9IDI7CisJICAgIHN0by0+aGlzdG9yeSA9IChpbnQgKikgeG1sUmVhbGxvYyhzdG8tPmhpc3RvcnksCisJCXN0by0+c2l6ZUhpc3RvcnkgKiBzaXplb2YoaW50KSk7CisJICAgIGlmIChzdG8tPmhpc3RvcnkgPT0gTlVMTCkgeworCQl4bWxTY2hlbWFWRXJyTWVtb3J5KE5VTEwsCisJCSAgICAicmUtYWxsb2NhdGluZyB0aGUgc3RhdGUgb2JqZWN0IGhpc3RvcnkiLCBOVUxMKTsKKwkJcmV0dXJuKC0xKTsKKwkgICAgfQorCX0KKwlzdG8tPmhpc3Rvcnlbc3RvLT5uYkhpc3RvcnkrK10gPSBkZXB0aDsKKworI2lmZGVmIERFQlVHX0lEQworCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCAiSURDOiAgICAgICBwdXNoIG1hdGNoICclZCdcbiIsCisJICAgIHZjdHh0LT5kZXB0aCk7CisjZW5kaWYKKworCWlmIChzdG8tPnR5cGUgPT0gWFBBVEhfU1RBVEVfT0JKX1RZUEVfSURDX1NFTEVDVE9SKSB7CisJICAgIHhtbFNjaGVtYUlEQ1NlbGVjdFB0ciBzZWw7CisJICAgIC8qCisJICAgICogQWN0aXZhdGUgc3RhdGUgb2JqZWN0cyBmb3IgdGhlIElEQyBmaWVsZHMgb2YKKwkgICAgKiB0aGUgSURDIHNlbGVjdG9yLgorCSAgICAqLworI2lmZGVmIERFQlVHX0lEQworCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgIklEQzogICAgICIKKwkJImFjdGl2YXRpbmcgZmllbGQgc3RhdGVzXG4iKTsKKyNlbmRpZgorCSAgICBzZWwgPSBzdG8tPm1hdGNoZXItPmFpZGMtPmRlZi0+ZmllbGRzOworCSAgICB3aGlsZSAoc2VsICE9IE5VTEwpIHsKKwkJaWYgKHhtbFNjaGVtYUlEQ0FkZFN0YXRlT2JqZWN0KHZjdHh0LCBzdG8tPm1hdGNoZXIsCisJCSAgICBzZWwsIFhQQVRIX1NUQVRFX09CSl9UWVBFX0lEQ19GSUVMRCkgPT0gLTEpCisJCSAgICByZXR1cm4gKC0xKTsKKwkJc2VsID0gc2VsLT5uZXh0OworCSAgICB9CisJfSBlbHNlIGlmIChzdG8tPnR5cGUgPT0gWFBBVEhfU1RBVEVfT0JKX1RZUEVfSURDX0ZJRUxEKSB7CisJICAgIC8qCisJICAgICogQW4gSURDIGtleSBub2RlIHdhcyBmb3VuZCBieSB0aGUgSURDIGZpZWxkLgorCSAgICAqLworI2lmZGVmIERFQlVHX0lEQworCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJIklEQzogICAgIGtleSBmb3VuZFxuIik7CisjZW5kaWYKKwkgICAgLyoKKwkgICAgKiBOb3RpZnkgdGhhdCB0aGUgY2hhcmFjdGVyIHZhbHVlIG9mIHRoaXMgbm9kZSBpcworCSAgICAqIG5lZWRlZC4KKwkgICAgKi8KKwkgICAgaWYgKHJlc29sdmVkID09IDApIHsKKwkJaWYgKCh2Y3R4dC0+aW5vZGUtPmZsYWdzICYKKwkJICAgIFhNTF9TQ0hFTUFfTk9ERV9JTkZPX1ZBTFVFX05FRURFRCkgPT0gMCkKKwkJdmN0eHQtPmlub2RlLT5mbGFncyB8PSBYTUxfU0NIRU1BX05PREVfSU5GT19WQUxVRV9ORUVERUQ7CisJICAgIH0KKwkgICAgcmVzb2x2ZWQrKzsKKwl9CituZXh0X3N0bzoKKwlpZiAoc3RvLT5uZXh0ID09IE5VTEwpIHsKKwkgICAgLyoKKwkgICAgKiBFdmFsdWF0ZSBmaWVsZCBzdGF0ZSBvYmplY3RzIGNyZWF0ZWQgb24gdGhpcyBub2RlIGFzIHdlbGwuCisJICAgICovCisJICAgIGhlYWQgPSBmaXJzdDsKKwkgICAgc3RvID0gdmN0eHQtPnhwYXRoU3RhdGVzOworCX0gZWxzZQorCSAgICBzdG8gPSBzdG8tPm5leHQ7CisgICAgfQorICAgIHJldHVybiAocmVzb2x2ZWQpOworfQorCitzdGF0aWMgY29uc3QgeG1sQ2hhciAqCit4bWxTY2hlbWFGb3JtYXRJRENLZXlTZXF1ZW5jZSh4bWxTY2hlbWFWYWxpZEN0eHRQdHIgdmN0eHQsCisJCQkgICAgICB4bWxDaGFyICoqYnVmLAorCQkJICAgICAgeG1sU2NoZW1hUFNWSUlEQ0tleVB0ciAqc2VxLAorCQkJICAgICAgaW50IGNvdW50KQoreworICAgIGludCBpLCByZXM7CisgICAgeG1sQ2hhciAqdmFsdWUgPSBOVUxMOworCisgICAgKmJ1ZiA9IHhtbFN0cmR1cChCQURfQ0FTVCAiWyIpOworICAgIGZvciAoaSA9IDA7IGkgPCBjb3VudDsgaSsrKSB7CisJKmJ1ZiA9IHhtbFN0cmNhdCgqYnVmLCBCQURfQ0FTVCAiJyIpOworCXJlcyA9IHhtbFNjaGVtYUdldENhbm9uVmFsdWVXaHRzcEV4dChzZXFbaV0tPnZhbCwKKwkgICAgeG1sU2NoZW1hR2V0V2hpdGVTcGFjZUZhY2V0VmFsdWUoc2VxW2ldLT50eXBlKSwKKwkgICAgJnZhbHVlKTsKKwlpZiAocmVzID09IDApCisJICAgICpidWYgPSB4bWxTdHJjYXQoKmJ1ZiwgQkFEX0NBU1QgdmFsdWUpOworCWVsc2UgeworCSAgICBWRVJST1JfSU5UKCJ4bWxTY2hlbWFGb3JtYXRJRENLZXlTZXF1ZW5jZSIsCisJCSJmYWlsZWQgdG8gY29tcHV0ZSBhIGNhbm9uaWNhbCB2YWx1ZSIpOworCSAgICAqYnVmID0geG1sU3RyY2F0KCpidWYsIEJBRF9DQVNUICI/Pz8iKTsKKwl9CisJaWYgKGkgPCBjb3VudCAtMSkKKwkgICAgKmJ1ZiA9IHhtbFN0cmNhdCgqYnVmLCBCQURfQ0FTVCAiJywgIik7CisJZWxzZQorCSAgICAqYnVmID0geG1sU3RyY2F0KCpidWYsIEJBRF9DQVNUICInIik7CisJaWYgKHZhbHVlICE9IE5VTEwpIHsKKwkgICAgeG1sRnJlZSh2YWx1ZSk7CisJICAgIHZhbHVlID0gTlVMTDsKKwl9CisgICAgfQorICAgICpidWYgPSB4bWxTdHJjYXQoKmJ1ZiwgQkFEX0NBU1QgIl0iKTsKKworICAgIHJldHVybiAoQkFEX0NBU1QgKmJ1Zik7Cit9CisKKy8qKgorICogeG1sU2NoZW1hWFBhdGhQb3A6CisgKiBAdmN0eHQ6IHRoZSBXWFMgdmFsaWRhdGlvbiBjb250ZXh0CisgKgorICogUG9wcyBhbGwgWFBhdGggc3RhdGVzLgorICoKKyAqIFJldHVybnMgMCBvbiBzdWNjZXNzIGFuZCAtMSBvbiBpbnRlcm5hbCBlcnJvcnMuCisgKi8KK3N0YXRpYyBpbnQKK3htbFNjaGVtYVhQYXRoUG9wKHhtbFNjaGVtYVZhbGlkQ3R4dFB0ciB2Y3R4dCkKK3sKKyAgICB4bWxTY2hlbWFJRENTdGF0ZU9ialB0ciBzdG87CisgICAgaW50IHJlczsKKworICAgIGlmICh2Y3R4dC0+eHBhdGhTdGF0ZXMgPT0gTlVMTCkKKwlyZXR1cm4oMCk7CisgICAgc3RvID0gdmN0eHQtPnhwYXRoU3RhdGVzOworICAgIGRvIHsKKwlyZXMgPSB4bWxTdHJlYW1Qb3AoKHhtbFN0cmVhbUN0eHRQdHIpIHN0by0+eHBhdGhDdHh0KTsKKwlpZiAocmVzID09IC0xKQorCSAgICByZXR1cm4gKC0xKTsKKwlzdG8gPSBzdG8tPm5leHQ7CisgICAgfSB3aGlsZSAoc3RvICE9IE5VTEwpOworICAgIHJldHVybigwKTsKK30KKworLyoqCisgKiB4bWxTY2hlbWFYUGF0aFByb2Nlc3NIaXN0b3J5OgorICogQHZjdHh0OiB0aGUgV1hTIHZhbGlkYXRpb24gY29udGV4dAorICogQHR5cGU6IHRoZSBzaW1wbGUvY29tcGxleCB0eXBlIG9mIHRoZSBjdXJyZW50IG5vZGUgaWYgYW55IGF0IGFsbAorICogQHZhbDogdGhlIHByZWNvbXBpbGVkIHZhbHVlCisgKgorICogUHJvY2Vzc2VzIGFuZCBwb3BzIHRoZSBoaXN0b3J5IGl0ZW1zIG9mIHRoZSBJREMgc3RhdGUgb2JqZWN0cy4KKyAqIElEQyBrZXktc2VxdWVuY2VzIGFyZSB2YWxpZGF0ZWQvY3JlYXRlZCBvbiBJREMgYmluZGluZ3MuCisgKgorICogUmV0dXJucyAwIG9uIHN1Y2Nlc3MgYW5kIC0xIG9uIGludGVybmFsIGVycm9ycy4KKyAqLworc3RhdGljIGludAoreG1sU2NoZW1hWFBhdGhQcm9jZXNzSGlzdG9yeSh4bWxTY2hlbWFWYWxpZEN0eHRQdHIgdmN0eHQsCisJCQkgICAgIGludCBkZXB0aCkKK3sKKyAgICB4bWxTY2hlbWFJRENTdGF0ZU9ialB0ciBzdG8sIG5leHRzdG87CisgICAgaW50IHJlcywgbWF0Y2hEZXB0aDsKKyAgICB4bWxTY2hlbWFQU1ZJSURDS2V5UHRyIGtleSA9IE5VTEw7CisgICAgeG1sU2NoZW1hVHlwZVB0ciB0eXBlID0gdmN0eHQtPmlub2RlLT50eXBlRGVmLCBzaW1wbGVUeXBlID0gTlVMTDsKKworICAgIGlmICh2Y3R4dC0+eHBhdGhTdGF0ZXMgPT0gTlVMTCkKKwlyZXR1cm4gKDApOworICAgIHN0byA9IHZjdHh0LT54cGF0aFN0YXRlczsKKworI2lmZGVmIERFQlVHX0lEQworICAgIHsKKwl4bWxDaGFyICpzdHIgPSBOVUxMOworCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCSAgICAiSURDOiBCQUNLIG9uICVzLCBkZXB0aCAlZFxuIiwKKwkgICAgeG1sU2NoZW1hRm9ybWF0UU5hbWUoJnN0ciwgdmN0eHQtPmlub2RlLT5uc05hbWUsCisJCXZjdHh0LT5pbm9kZS0+bG9jYWxOYW1lKSwgdmN0eHQtPmRlcHRoKTsKKwlGUkVFX0FORF9OVUxMKHN0cikKKyAgICB9CisjZW5kaWYKKyAgICAvKgorICAgICogRXZhbHVhdGUgdGhlIHN0YXRlIG9iamVjdHMuCisgICAgKi8KKyAgICB3aGlsZSAoc3RvICE9IE5VTEwpIHsKKwlyZXMgPSB4bWxTdHJlYW1Qb3AoKHhtbFN0cmVhbUN0eHRQdHIpIHN0by0+eHBhdGhDdHh0KTsKKwlpZiAocmVzID09IC0xKSB7CisJICAgIFZFUlJPUl9JTlQoInhtbFNjaGVtYVhQYXRoUHJvY2Vzc0hpc3RvcnkiLAorCQkiY2FsbGluZyB4bWxTdHJlYW1Qb3AoKSIpOworCSAgICByZXR1cm4gKC0xKTsKKwl9CisjaWZkZWYgREVCVUdfSURDCisJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICJJREM6ICAgc3RyZWFtIHBvcCAnJXMnXG4iLAorCSAgICBzdG8tPnNlbC0+eHBhdGgpOworI2VuZGlmCisJaWYgKHN0by0+bmJIaXN0b3J5ID09IDApCisJICAgIGdvdG8gZGVyZWdpc3Rlcl9jaGVjazsKKworCW1hdGNoRGVwdGggPSBzdG8tPmhpc3Rvcnlbc3RvLT5uYkhpc3RvcnkgLTFdOworCisJLyoKKwkqIE9ubHkgbWF0Y2hlcyBhdCB0aGUgY3VycmVudCBkZXB0aCBhcmUgb2YgaW50ZXJlc3QuCisJKi8KKwlpZiAobWF0Y2hEZXB0aCAhPSBkZXB0aCkgeworCSAgICBzdG8gPSBzdG8tPm5leHQ7CisJICAgIGNvbnRpbnVlOworCX0KKwlpZiAoc3RvLT50eXBlID09IFhQQVRIX1NUQVRFX09CSl9UWVBFX0lEQ19GSUVMRCkgeworCSAgICAvKgorCSAgICAqIE5PVEU6IEFjY29yZGluZyB0bworCSAgICAqICAgaHR0cDovL3d3dy53My5vcmcvQnVncy9QdWJsaWMvc2hvd19idWcuY2dpP2lkPTIxOTgKKwkgICAgKiAgIC4uLiB0aGUgc2ltcGxlLWNvbnRlbnQgb2YgY29tcGxleCB0eXBlcyBpcyBhbHNvIGFsbG93ZWQuCisJICAgICovCisKKwkgICAgaWYgKFdYU19JU19DT01QTEVYKHR5cGUpKSB7CisJCWlmIChXWFNfSEFTX1NJTVBMRV9DT05URU5UKHR5cGUpKSB7CisJCSAgICAvKgorCQkgICAgKiBTYW5pdHkgY2hlY2sgZm9yIGNvbXBsZXggdHlwZXMgd2l0aCBzaW1wbGUgY29udGVudC4KKwkJICAgICovCisJCSAgICBzaW1wbGVUeXBlID0gdHlwZS0+Y29udGVudFR5cGVEZWY7CisJCSAgICBpZiAoc2ltcGxlVHlwZSA9PSBOVUxMKSB7CisJCQlWRVJST1JfSU5UKCJ4bWxTY2hlbWFYUGF0aFByb2Nlc3NIaXN0b3J5IiwKKwkJCSAgICAiZmllbGQgcmVzb2x2ZXMgdG8gYSBDVCB3aXRoIHNpbXBsZSBjb250ZW50ICIKKwkJCSAgICAiYnV0IHRoZSBDVCBpcyBtaXNzaW5nIHRoZSBTVCBkZWZpbml0aW9uIik7CisJCQlyZXR1cm4gKC0xKTsKKwkJICAgIH0KKwkJfSBlbHNlCisJCSAgICBzaW1wbGVUeXBlID0gTlVMTDsKKwkgICAgfSBlbHNlCisJCXNpbXBsZVR5cGUgPSB0eXBlOworCSAgICBpZiAoc2ltcGxlVHlwZSA9PSBOVUxMKSB7CisJCXhtbENoYXIgKnN0ciA9IE5VTEw7CisKKwkJLyoKKwkJKiBOb3QgcXVhbGlmaWVkIGlmIHRoZSBmaWVsZCByZXNvbHZlcyB0byBhIG5vZGUgb2Ygbm9uCisJCSogc2ltcGxlIHR5cGUuCisJCSovCisJCXhtbFNjaGVtYUN1c3RvbUVycihBQ1RYVF9DQVNUIHZjdHh0LAorCQkgICAgWE1MX1NDSEVNQVZfQ1ZDX0lEQywgTlVMTCwKKwkJICAgIFdYU19CQVNJQ19DQVNUIHN0by0+bWF0Y2hlci0+YWlkYy0+ZGVmLAorCQkgICAgIlRoZSBYUGF0aCAnJXMnIG9mIGEgZmllbGQgb2YgJXMgZG9lcyBldmFsdWF0ZSB0byBhIG5vZGUgb2YgIgorCQkgICAgIm5vbi1zaW1wbGUgdHlwZSIsCisJCSAgICBzdG8tPnNlbC0+eHBhdGgsCisJCSAgICB4bWxTY2hlbWFHZXRJRENEZXNpZ25hdGlvbigmc3RyLCBzdG8tPm1hdGNoZXItPmFpZGMtPmRlZikpOworCQlGUkVFX0FORF9OVUxMKHN0cik7CisJCXN0by0+bmJIaXN0b3J5LS07CisJCWdvdG8gZGVyZWdpc3Rlcl9jaGVjazsKKwkgICAgfQorCisJICAgIGlmICgoa2V5ID09IE5VTEwpICYmICh2Y3R4dC0+aW5vZGUtPnZhbCA9PSBOVUxMKSkgeworCQkvKgorCQkqIEZhaWxlZCB0byBwcm92aWRlIHRoZSBub3JtYWxpemVkIHZhbHVlOyBtYXliZQorCQkqIHRoZSB2YWx1ZSB3YXMgaW52YWxpZC4KKwkJKi8KKwkJVkVSUk9SKFhNTF9TQ0hFTUFWX0NWQ19JREMsCisJCSAgICBXWFNfQkFTSUNfQ0FTVCBzdG8tPm1hdGNoZXItPmFpZGMtPmRlZiwKKwkJICAgICJXYXJuaW5nOiBObyBwcmVjb21wdXRlZCB2YWx1ZSBhdmFpbGFibGUsIHRoZSB2YWx1ZSAiCisJCSAgICAid2FzIGVpdGhlciBpbnZhbGlkIG9yIHNvbWV0aGluZyBzdHJhbmdlIGhhcHBlbmQiKTsKKwkJc3RvLT5uYkhpc3RvcnktLTsKKwkJZ290byBkZXJlZ2lzdGVyX2NoZWNrOworCSAgICB9IGVsc2UgeworCQl4bWxTY2hlbWFJRENNYXRjaGVyUHRyIG1hdGNoZXIgPSBzdG8tPm1hdGNoZXI7CisJCXhtbFNjaGVtYVBTVklJRENLZXlQdHIgKmtleVNlcTsKKwkJaW50IHBvcywgaWR4OworCisJCS8qCisJCSogVGhlIGtleSB3aWxsIGJlIGFuY2hvcmVkIG9uIHRoZSBtYXRjaGVyJ3MgbGlzdCBvZgorCQkqIGtleS1zZXF1ZW5jZXMuIFRoZSBwb3NpdGlvbiBpbiB0aGlzIGxpc3QgaXMgZGV0ZXJtaW5lZAorCQkqIGJ5IHRoZSB0YXJnZXQgbm9kZSdzIGRlcHRoIHJlbGF0aXZlIHRvIHRoZSBtYXRjaGVyJ3MKKwkJKiBkZXB0aCBvZiBjcmVhdGlvbiAoaS5lLiB0aGUgZGVwdGggb2YgdGhlIHNjb3BlIGVsZW1lbnQpLgorCQkqCisJCSogRWxlbWVudCAgICAgICAgRGVwdGggICAgUG9zICAgTGlzdC1lbnRyaWVzCisJCSogPHNjb3BlPiAgICAgICAgICAwICAgICAgICAgICAgICBOVUxMCisJCSogICA8YmFyPiAgICAgICAgICAxICAgICAgICAgICAgICBOVUxMCisJCSogICAgIDx0YXJnZXQvPiAgICAyICAgICAgIDIgICAgICB0YXJnZXQKKwkJKiAgIDxiYXI+CisgICAgICAgICAgICAgICAgKiA8L3Njb3BlPgorCQkqCisJCSogVGhlIHNpemUgb2YgdGhlIGxpc3QgaXMgb25seSBkZXBlbmRhbnQgb24gdGhlIGRlcHRoIG9mCisJCSogdGhlIHRyZWUuCisJCSogQW4gZW50cnkgd2lsbCBiZSBOVUxMZWQgaW4gc2VsZWN0b3JfbGVhdmUsIGkuZS4gd2hlbgorCQkqIHdlIGhpdCB0aGUgdGFyZ2V0J3MKKwkJKi8KKwkJcG9zID0gc3RvLT5kZXB0aCAtIG1hdGNoZXItPmRlcHRoOworCQlpZHggPSBzdG8tPnNlbC0+aW5kZXg7CisKKwkJLyoKKwkJKiBDcmVhdGUvZ3JvdyB0aGUgYXJyYXkgb2Yga2V5LXNlcXVlbmNlcy4KKwkJKi8KKwkJaWYgKG1hdGNoZXItPmtleVNlcXMgPT0gTlVMTCkgeworCQkgICAgaWYgKHBvcyA+IDkpCisJCQltYXRjaGVyLT5zaXplS2V5U2VxcyA9IHBvcyAqIDI7CisJCSAgICBlbHNlCisJCQltYXRjaGVyLT5zaXplS2V5U2VxcyA9IDEwOworCQkgICAgbWF0Y2hlci0+a2V5U2VxcyA9ICh4bWxTY2hlbWFQU1ZJSURDS2V5UHRyICoqKQorCQkJeG1sTWFsbG9jKG1hdGNoZXItPnNpemVLZXlTZXFzICoKKwkJCXNpemVvZih4bWxTY2hlbWFQU1ZJSURDS2V5UHRyICopKTsKKwkJICAgIGlmIChtYXRjaGVyLT5rZXlTZXFzID09IE5VTEwpIHsKKwkJCXhtbFNjaGVtYVZFcnJNZW1vcnkoTlVMTCwKKwkJCSAgICAiYWxsb2NhdGluZyBhbiBhcnJheSBvZiBrZXktc2VxdWVuY2VzIiwKKwkJCSAgICBOVUxMKTsKKwkJCXJldHVybigtMSk7CisJCSAgICB9CisJCSAgICBtZW1zZXQobWF0Y2hlci0+a2V5U2VxcywgMCwKKwkJCW1hdGNoZXItPnNpemVLZXlTZXFzICoKKwkJCXNpemVvZih4bWxTY2hlbWFQU1ZJSURDS2V5UHRyICopKTsKKwkJfSBlbHNlIGlmIChwb3MgPj0gbWF0Y2hlci0+c2l6ZUtleVNlcXMpIHsKKwkJICAgIGludCBpID0gbWF0Y2hlci0+c2l6ZUtleVNlcXM7CisKKwkJICAgIG1hdGNoZXItPnNpemVLZXlTZXFzICo9IDI7CisJCSAgICBtYXRjaGVyLT5rZXlTZXFzID0gKHhtbFNjaGVtYVBTVklJRENLZXlQdHIgKiopCisJCQl4bWxSZWFsbG9jKG1hdGNoZXItPmtleVNlcXMsCisJCQltYXRjaGVyLT5zaXplS2V5U2VxcyAqCisJCQlzaXplb2YoeG1sU2NoZW1hUFNWSUlEQ0tleVB0ciAqKSk7CisJCSAgICBpZiAobWF0Y2hlci0+a2V5U2VxcyA9PSBOVUxMKSB7CisJCQl4bWxTY2hlbWFWRXJyTWVtb3J5KE5VTEwsCisJCQkgICAgInJlYWxsb2NhdGluZyBhbiBhcnJheSBvZiBrZXktc2VxdWVuY2VzIiwKKwkJCSAgICBOVUxMKTsKKwkJCXJldHVybiAoLTEpOworCQkgICAgfQorCQkgICAgLyoKKwkJICAgICogVGhlIGFycmF5IG5lZWRzIHRvIGJlIE5VTExlZC4KKwkJICAgICogVE9ETzogVXNlIG1lbXNldD8KKwkJICAgICovCisJCSAgICBmb3IgKDsgaSA8IG1hdGNoZXItPnNpemVLZXlTZXFzOyBpKyspCisJCQltYXRjaGVyLT5rZXlTZXFzW2ldID0gTlVMTDsKKwkJfQorCisJCS8qCisJCSogR2V0L2NyZWF0ZSB0aGUga2V5LXNlcXVlbmNlLgorCQkqLworCQlrZXlTZXEgPSBtYXRjaGVyLT5rZXlTZXFzW3Bvc107CisJCWlmIChrZXlTZXEgPT0gTlVMTCkgeworCQkgICAgZ290byBjcmVhdGVfc2VxdWVuY2U7CisJCX0gZWxzZSBpZiAoa2V5U2VxW2lkeF0gIT0gTlVMTCkgeworCQkgICAgeG1sQ2hhciAqc3RyID0gTlVMTDsKKwkJICAgIC8qCisJCSAgICAqIGN2Yy1pZGVudGl0eS1jb25zdHJhaW50OgorCQkgICAgKiAzIEZvciBlYWNoIG5vZGUgaW4gdGhlIGB0YXJnZXQgbm9kZSBzZXRgIGFsbAorCQkgICAgKiBvZiB0aGUge2ZpZWxkc30sIHdpdGggdGhhdCBub2RlIGFzIHRoZSBjb250ZXh0CisJCSAgICAqIG5vZGUsIGV2YWx1YXRlIHRvIGVpdGhlciBhbiBlbXB0eSBub2RlLXNldCBvcgorCQkgICAgKiBhIG5vZGUtc2V0IHdpdGggZXhhY3RseSBvbmUgbWVtYmVyLCB3aGljaCBtdXN0CisJCSAgICAqIGhhdmUgYSBzaW1wbGUgdHlwZS4KKwkJICAgICoKKwkJICAgICogVGhlIGtleSB3YXMgYWxyZWFkeSBzZXQ7IHJlcG9ydCBhbiBlcnJvci4KKwkJICAgICovCisJCSAgICB4bWxTY2hlbWFDdXN0b21FcnIoQUNUWFRfQ0FTVCB2Y3R4dCwKKwkJCVhNTF9TQ0hFTUFWX0NWQ19JREMsIE5VTEwsCisJCQlXWFNfQkFTSUNfQ0FTVCBtYXRjaGVyLT5haWRjLT5kZWYsCisJCQkiVGhlIFhQYXRoICclcycgb2YgYSBmaWVsZCBvZiAlcyBldmFsdWF0ZXMgdG8gYSAiCisJCQkibm9kZS1zZXQgd2l0aCBtb3JlIHRoYW4gb25lIG1lbWJlciIsCisJCQlzdG8tPnNlbC0+eHBhdGgsCisJCQl4bWxTY2hlbWFHZXRJRENEZXNpZ25hdGlvbigmc3RyLCBtYXRjaGVyLT5haWRjLT5kZWYpKTsKKwkJICAgIEZSRUVfQU5EX05VTEwoc3RyKTsKKwkJICAgIHN0by0+bmJIaXN0b3J5LS07CisJCSAgICBnb3RvIGRlcmVnaXN0ZXJfY2hlY2s7CisJCX0gZWxzZQorCQkgICAgZ290byBjcmVhdGVfa2V5OworCitjcmVhdGVfc2VxdWVuY2U6CisJCS8qCisJCSogQ3JlYXRlIGEga2V5LXNlcXVlbmNlLgorCQkqLworCQlrZXlTZXEgPSAoeG1sU2NoZW1hUFNWSUlEQ0tleVB0ciAqKSB4bWxNYWxsb2MoCisJCSAgICBtYXRjaGVyLT5haWRjLT5kZWYtPm5iRmllbGRzICoKKwkJICAgIHNpemVvZih4bWxTY2hlbWFQU1ZJSURDS2V5UHRyKSk7CisJCWlmIChrZXlTZXEgPT0gTlVMTCkgeworCQkgICAgeG1sU2NoZW1hVkVyck1lbW9yeShOVUxMLAorCQkJImFsbG9jYXRpbmcgYW4gSURDIGtleS1zZXF1ZW5jZSIsIE5VTEwpOworCQkgICAgcmV0dXJuKC0xKTsKKwkJfQorCQltZW1zZXQoa2V5U2VxLCAwLCBtYXRjaGVyLT5haWRjLT5kZWYtPm5iRmllbGRzICoKKwkJICAgIHNpemVvZih4bWxTY2hlbWFQU1ZJSURDS2V5UHRyKSk7CisJCW1hdGNoZXItPmtleVNlcXNbcG9zXSA9IGtleVNlcTsKK2NyZWF0ZV9rZXk6CisJCS8qCisJCSogQ3JlYXRlIGEga2V5IG9uY2UgcGVyIG5vZGUgb25seS4KKwkJKi8KKwkJaWYgKGtleSA9PSBOVUxMKSB7CisJCSAgICBrZXkgPSAoeG1sU2NoZW1hUFNWSUlEQ0tleVB0cikgeG1sTWFsbG9jKAorCQkJc2l6ZW9mKHhtbFNjaGVtYVBTVklJRENLZXkpKTsKKwkJICAgIGlmIChrZXkgPT0gTlVMTCkgeworCQkJeG1sU2NoZW1hVkVyck1lbW9yeShOVUxMLAorCQkJICAgICJhbGxvY2F0aW5nIGEgSURDIGtleSIsIE5VTEwpOworCQkJeG1sRnJlZShrZXlTZXEpOworCQkJbWF0Y2hlci0+a2V5U2Vxc1twb3NdID0gTlVMTDsKKwkJCXJldHVybigtMSk7CisJCSAgICB9CisJCSAgICAvKgorCQkgICAgKiBDb25zdW1lIHRoZSBjb21waWxlZCB2YWx1ZS4KKwkJICAgICovCisJCSAgICBrZXktPnR5cGUgPSBzaW1wbGVUeXBlOworCQkgICAga2V5LT52YWwgPSB2Y3R4dC0+aW5vZGUtPnZhbDsKKwkJICAgIHZjdHh0LT5pbm9kZS0+dmFsID0gTlVMTDsKKwkJICAgIC8qCisJCSAgICAqIFN0b3JlIHRoZSBrZXkgaW4gYSBnbG9iYWwgbGlzdC4KKwkJICAgICovCisJCSAgICBpZiAoeG1sU2NoZW1hSURDU3RvcmVLZXkodmN0eHQsIGtleSkgPT0gLTEpIHsKKwkJCXhtbFNjaGVtYUlEQ0ZyZWVLZXkoa2V5KTsKKwkJCXJldHVybiAoLTEpOworCQkgICAgfQorCQl9CisJCWtleVNlcVtpZHhdID0ga2V5OworCSAgICB9CisJfSBlbHNlIGlmIChzdG8tPnR5cGUgPT0gWFBBVEhfU1RBVEVfT0JKX1RZUEVfSURDX1NFTEVDVE9SKSB7CisKKwkgICAgeG1sU2NoZW1hUFNWSUlEQ0tleVB0ciAqKmtleVNlcSA9IE5VTEw7CisJICAgIC8qIHhtbFNjaGVtYVBTVklJRENCaW5kaW5nUHRyIGJpbmQ7ICovCisJICAgIHhtbFNjaGVtYVBTVklJRENOb2RlUHRyIG50SXRlbTsKKwkgICAgeG1sU2NoZW1hSURDTWF0Y2hlclB0ciBtYXRjaGVyOworCSAgICB4bWxTY2hlbWFJRENQdHIgaWRjOworCSAgICB4bWxTY2hlbWFJdGVtTGlzdFB0ciB0YXJnZXRzOworCSAgICBpbnQgcG9zLCBpLCBqLCBuYktleXM7CisJICAgIC8qCisJICAgICogSGVyZSB3ZSBoYXZlIHRoZSBmb2xsb3dpbmcgc2NlbmFyaW86CisJICAgICogQW4gSURDICdzZWxlY3Rvcicgc3RhdGUgb2JqZWN0IHJlc29sdmVkIHRvIGEgdGFyZ2V0IG5vZGUsCisJICAgICogZHVyaW5nIHRoZSB0aW1lIHRoaXMgdGFyZ2V0IG5vZGUgd2FzIGluIHRoZQorCSAgICAqIGFuY2VzdG9yLW9yLXNlbGYgYXhpcywgdGhlICdmaWVsZCcgc3RhdGUgb2JqZWN0KHMpIGxvb2tlZAorCSAgICAqIG91dCBmb3IgbWF0Y2hpbmcgbm9kZXMgdG8gY3JlYXRlIGEga2V5LXNlcXVlbmNlIGZvciB0aGlzCisJICAgICogdGFyZ2V0IG5vZGUuIE5vdyB3ZSBhcmUgYmFjayB0byB0aGlzIHRhcmdldCBub2RlIGFuZCBuZWVkCisJICAgICogdG8gcHV0IHRoZSBrZXktc2VxdWVuY2UsIHRvZ2V0aGVyIHdpdGggdGhlIHRhcmdldCBub2RlCisJICAgICogaXRzZWxmLCBpbnRvIHRoZSBub2RlLXRhYmxlIG9mIHRoZSBjb3JyZXNwb25kaW5nIElEQworCSAgICAqIGJpbmRpbmcuCisJICAgICovCisJICAgIG1hdGNoZXIgPSBzdG8tPm1hdGNoZXI7CisJICAgIGlkYyA9IG1hdGNoZXItPmFpZGMtPmRlZjsKKwkgICAgbmJLZXlzID0gaWRjLT5uYkZpZWxkczsKKwkgICAgcG9zID0gZGVwdGggLSBtYXRjaGVyLT5kZXB0aDsKKwkgICAgLyoKKwkgICAgKiBDaGVjayBpZiB0aGUgbWF0Y2hlciBoYXMgYW55IGtleS1zZXF1ZW5jZXMgYXQgYWxsLCBwbHVzCisJICAgICogaWYgaXQgaGFzIGEga2V5LXNlcXVlbmNlIGZvciB0aGUgY3VycmVudCB0YXJnZXQgbm9kZS4KKwkgICAgKi8KKwkgICAgaWYgKChtYXRjaGVyLT5rZXlTZXFzID09IE5VTEwpIHx8CisJCShtYXRjaGVyLT5zaXplS2V5U2VxcyA8PSBwb3MpKSB7CisJCWlmIChpZGMtPnR5cGUgPT0gWE1MX1NDSEVNQV9UWVBFX0lEQ19LRVkpCisJCSAgICBnb3RvIHNlbGVjdG9yX2tleV9lcnJvcjsKKwkJZWxzZQorCQkgICAgZ290byBzZWxlY3Rvcl9sZWF2ZTsKKwkgICAgfQorCisJICAgIGtleVNlcSA9ICYobWF0Y2hlci0+a2V5U2Vxc1twb3NdKTsKKwkgICAgaWYgKCprZXlTZXEgPT0gTlVMTCkgeworCQlpZiAoaWRjLT50eXBlID09IFhNTF9TQ0hFTUFfVFlQRV9JRENfS0VZKQorCQkgICAgZ290byBzZWxlY3Rvcl9rZXlfZXJyb3I7CisJCWVsc2UKKwkJICAgIGdvdG8gc2VsZWN0b3JfbGVhdmU7CisJICAgIH0KKworCSAgICBmb3IgKGkgPSAwOyBpIDwgbmJLZXlzOyBpKyspIHsKKwkJaWYgKCgqa2V5U2VxKVtpXSA9PSBOVUxMKSB7CisJCSAgICAvKgorCQkgICAgKiBOb3QgcXVhbGlmaWVkLCBpZiBub3QgYWxsIGZpZWxkcyBkaWQgcmVzb2x2ZS4KKwkJICAgICovCisJCSAgICBpZiAoaWRjLT50eXBlID09IFhNTF9TQ0hFTUFfVFlQRV9JRENfS0VZKSB7CisJCQkvKgorCQkJKiBBbGwgZmllbGRzIG9mIGEgImtleSIgSURDIG11c3QgcmVzb2x2ZS4KKwkJCSovCisJCQlnb3RvIHNlbGVjdG9yX2tleV9lcnJvcjsKKwkJICAgIH0KKwkJICAgIGdvdG8gc2VsZWN0b3JfbGVhdmU7CisJCX0KKwkgICAgfQorCSAgICAvKgorCSAgICAqIEFsbCBmaWVsZHMgZGlkIHJlc29sdmUuCisJICAgICovCisKKwkgICAgLyoKKwkgICAgKiA0LjEgSWYgdGhlIHtpZGVudGl0eS1jb25zdHJhaW50IGNhdGVnb3J5fSBpcyB1bmlxdWUoL2tleSksCisJICAgICogdGhlbiBubyB0d28gbWVtYmVycyBvZiB0aGUgYHF1YWxpZmllZCBub2RlIHNldGAgaGF2ZQorCSAgICAqIGBrZXktc2VxdWVuY2VzYCB3aG9zZSBtZW1iZXJzIGFyZSBwYWlyd2lzZSBlcXVhbCwgYXMKKwkgICAgKiBkZWZpbmVkIGJ5IEVxdWFsIGluIFtYTUwgU2NoZW1hczogRGF0YXR5cGVzXS4KKwkgICAgKgorCSAgICAqIEdldCB0aGUgSURDIGJpbmRpbmcgZnJvbSB0aGUgbWF0Y2hlciBhbmQgY2hlY2sgZm9yCisJICAgICogZHVwbGljYXRlIGtleS1zZXF1ZW5jZXMuCisJICAgICovCisjaWYgMAorCSAgICBiaW5kID0geG1sU2NoZW1hSURDQWNxdWlyZUJpbmRpbmcodmN0eHQsIG1hdGNoZXIpOworI2VuZGlmCisJICAgIHRhcmdldHMgPSB4bWxTY2hlbWFJRENBY3F1aXJlVGFyZ2V0TGlzdCh2Y3R4dCwgbWF0Y2hlcik7CisJICAgIGlmICgoaWRjLT50eXBlICE9IFhNTF9TQ0hFTUFfVFlQRV9JRENfS0VZUkVGKSAmJgorCQkodGFyZ2V0cy0+bmJJdGVtcyAhPSAwKSkgeworCQl4bWxTY2hlbWFQU1ZJSURDS2V5UHRyIGNrZXksIGJrZXksICpia2V5U2VxOworCisJCWkgPSAwOworCQlyZXMgPSAwOworCQkvKgorCQkqIENvbXBhcmUgdGhlIGtleS1zZXF1ZW5jZXMsIGtleSBieSBrZXkuCisJCSovCisJCWRvIHsKKwkJICAgIGJrZXlTZXEgPQorCQkJKCh4bWxTY2hlbWFQU1ZJSURDTm9kZVB0cikgdGFyZ2V0cy0+aXRlbXNbaV0pLT5rZXlzOworCQkgICAgZm9yIChqID0gMDsgaiA8IG5iS2V5czsgaisrKSB7CisJCQlja2V5ID0gKCprZXlTZXEpW2pdOworCQkJYmtleSA9IGJrZXlTZXFbal07CisJCQlyZXMgPSB4bWxTY2hlbWFBcmVWYWx1ZXNFcXVhbChja2V5LT52YWwsIGJrZXktPnZhbCk7CisJCQlpZiAocmVzID09IC0xKSB7CisJCQkgICAgcmV0dXJuICgtMSk7CisJCQl9IGVsc2UgaWYgKHJlcyA9PSAwKSB7CisJCQkgICAgLyoKKwkJCSAgICAqIE9uZSBvZiB0aGUga2V5cyBkaWZmZXJzLCBzbyB0aGUga2V5LXNlcXVlbmNlCisJCQkgICAgKiB3b24ndCBiZSBlcXVhbDsgZ2V0IG91dC4KKwkJCSAgICAqLworCQkJICAgIGJyZWFrOworCQkJfQorCQkgICAgfQorCQkgICAgaWYgKHJlcyA9PSAxKSB7CisJCQkvKgorCQkJKiBEdXBsaWNhdGUga2V5LXNlcXVlbmNlIGZvdW5kLgorCQkJKi8KKwkJCWJyZWFrOworCQkgICAgfQorCQkgICAgaSsrOworCQl9IHdoaWxlIChpIDwgdGFyZ2V0cy0+bmJJdGVtcyk7CisJCWlmIChpICE9IHRhcmdldHMtPm5iSXRlbXMpIHsKKwkJICAgIHhtbENoYXIgKnN0ciA9IE5VTEwsICpzdHJCID0gTlVMTDsKKwkJICAgIC8qCisJCSAgICAqIFRPRE86IFRyeSB0byByZXBvcnQgdGhlIGtleS1zZXF1ZW5jZS4KKwkJICAgICovCisJCSAgICB4bWxTY2hlbWFDdXN0b21FcnIoQUNUWFRfQ0FTVCB2Y3R4dCwKKwkJCVhNTF9TQ0hFTUFWX0NWQ19JREMsIE5VTEwsCisJCQlXWFNfQkFTSUNfQ0FTVCBpZGMsCisJCQkiRHVwbGljYXRlIGtleS1zZXF1ZW5jZSAlcyBpbiAlcyIsCisJCQl4bWxTY2hlbWFGb3JtYXRJRENLZXlTZXF1ZW5jZSh2Y3R4dCwgJnN0ciwKKwkJCSAgICAoKmtleVNlcSksIG5iS2V5cyksCisJCQl4bWxTY2hlbWFHZXRJRENEZXNpZ25hdGlvbigmc3RyQiwgaWRjKSk7CisJCSAgICBGUkVFX0FORF9OVUxMKHN0cik7CisJCSAgICBGUkVFX0FORF9OVUxMKHN0ckIpOworCQkgICAgZ290byBzZWxlY3Rvcl9sZWF2ZTsKKwkJfQorCSAgICB9CisJICAgIC8qCisJICAgICogQWRkIGEgbm9kZS10YWJsZSBpdGVtIHRvIHRoZSBJREMgYmluZGluZy4KKwkgICAgKi8KKwkgICAgbnRJdGVtID0gKHhtbFNjaGVtYVBTVklJRENOb2RlUHRyKSB4bWxNYWxsb2MoCisJCXNpemVvZih4bWxTY2hlbWFQU1ZJSURDTm9kZSkpOworCSAgICBpZiAobnRJdGVtID09IE5VTEwpIHsKKwkJeG1sU2NoZW1hVkVyck1lbW9yeShOVUxMLAorCQkgICAgImFsbG9jYXRpbmcgYW4gSURDIG5vZGUtdGFibGUgaXRlbSIsIE5VTEwpOworCQl4bWxGcmVlKCprZXlTZXEpOworCQkqa2V5U2VxID0gTlVMTDsKKwkJcmV0dXJuKC0xKTsKKwkgICAgfQorCSAgICBtZW1zZXQobnRJdGVtLCAwLCBzaXplb2YoeG1sU2NoZW1hUFNWSUlEQ05vZGUpKTsKKworCSAgICAvKgorCSAgICAqIFN0b3JlIHRoZSBub2RlLXRhYmxlIGl0ZW0gaW4gYSBnbG9iYWwgbGlzdC4KKwkgICAgKi8KKwkgICAgaWYgKGlkYy0+dHlwZSAhPSBYTUxfU0NIRU1BX1RZUEVfSURDX0tFWVJFRikgeworCQlpZiAoeG1sU2NoZW1hSURDU3RvcmVOb2RlVGFibGVJdGVtKHZjdHh0LCBudEl0ZW0pID09IC0xKSB7CisJCSAgICB4bWxGcmVlKG50SXRlbSk7CisJCSAgICB4bWxGcmVlKCprZXlTZXEpOworCQkgICAgKmtleVNlcSA9IE5VTEw7CisJCSAgICByZXR1cm4gKC0xKTsKKwkJfQorCQludEl0ZW0tPm5vZGVRTmFtZUlEID0gLTE7CisJICAgIH0gZWxzZSB7CisJCS8qCisJCSogU2F2ZSBhIGNhY2hlZCBRTmFtZSBmb3IgdGhpcyBub2RlIG9uIHRoZSBJREMgbm9kZSwgdG8gYmUKKwkJKiBhYmxlIHRvIHJlcG9ydCBpdCwgZXZlbiBpZiB0aGUgbm9kZSBpcyBub3Qgc2F2ZWQuCisJCSovCisJCW50SXRlbS0+bm9kZVFOYW1lSUQgPSB4bWxTY2hlbWFWQWRkTm9kZVFOYW1lKHZjdHh0LAorCQkgICAgdmN0eHQtPmlub2RlLT5sb2NhbE5hbWUsIHZjdHh0LT5pbm9kZS0+bnNOYW1lKTsKKwkJaWYgKG50SXRlbS0+bm9kZVFOYW1lSUQgPT0gLTEpIHsKKwkJICAgIHhtbEZyZWUobnRJdGVtKTsKKwkJICAgIHhtbEZyZWUoKmtleVNlcSk7CisJCSAgICAqa2V5U2VxID0gTlVMTDsKKwkJICAgIHJldHVybiAoLTEpOworCQl9CisJICAgIH0KKwkgICAgLyoKKwkgICAgKiBJbml0IHRoZSBub2RlLXRhYmxlIGl0ZW06IFNhdmUgdGhlIG5vZGUsIHBvc2l0aW9uIGFuZAorCSAgICAqIGNvbnN1bWUgdGhlIGtleS1zZXF1ZW5jZS4KKwkgICAgKi8KKwkgICAgbnRJdGVtLT5ub2RlID0gdmN0eHQtPm5vZGU7CisJICAgIG50SXRlbS0+bm9kZUxpbmUgPSB2Y3R4dC0+aW5vZGUtPm5vZGVMaW5lOworCSAgICBudEl0ZW0tPmtleXMgPSAqa2V5U2VxOworCSAgICAqa2V5U2VxID0gTlVMTDsKKyNpZiAwCisJICAgIGlmICh4bWxTY2hlbWFJRENBcHBlbmROb2RlVGFibGVJdGVtKGJpbmQsIG50SXRlbSkgPT0gLTEpCisjZW5kaWYKKwkgICAgaWYgKHhtbFNjaGVtYUl0ZW1MaXN0QWRkKHRhcmdldHMsIG50SXRlbSkgPT0gLTEpIHsKKwkJaWYgKGlkYy0+dHlwZSA9PSBYTUxfU0NIRU1BX1RZUEVfSURDX0tFWVJFRikgeworCQkgICAgLyoKKwkJICAgICogRnJlZSB0aGUgaXRlbSwgc2luY2Uga2V5cmVmIGl0ZW1zIHdvbid0IGJlCisJCSAgICAqIHB1dCBvbiBhIGdsb2JhbCBsaXN0LgorCQkgICAgKi8KKwkJICAgIHhtbEZyZWUobnRJdGVtLT5rZXlzKTsKKwkJICAgIHhtbEZyZWUobnRJdGVtKTsKKwkJfQorCQlyZXR1cm4gKC0xKTsKKwkgICAgfQorCisJICAgIGdvdG8gc2VsZWN0b3JfbGVhdmU7CitzZWxlY3Rvcl9rZXlfZXJyb3I6CisJICAgIHsKKwkJeG1sQ2hhciAqc3RyID0gTlVMTDsKKwkJLyoKKwkJKiA0LjIuMSAoS0VZKSBUaGUgYHRhcmdldCBub2RlIHNldGAgYW5kIHRoZQorCQkqIGBxdWFsaWZpZWQgbm9kZSBzZXRgIGFyZSBlcXVhbCwgdGhhdCBpcywgZXZlcnkKKwkJKiBtZW1iZXIgb2YgdGhlIGB0YXJnZXQgbm9kZSBzZXRgIGlzIGFsc28gYSBtZW1iZXIKKwkJKiBvZiB0aGUgYHF1YWxpZmllZCBub2RlIHNldGAgYW5kIHZpY2UgdmVyc2EuCisJCSovCisJCXhtbFNjaGVtYUN1c3RvbUVycihBQ1RYVF9DQVNUIHZjdHh0LAorCQkgICAgWE1MX1NDSEVNQVZfQ1ZDX0lEQywgTlVMTCwKKwkJICAgIFdYU19CQVNJQ19DQVNUIGlkYywKKwkJICAgICJOb3QgYWxsIGZpZWxkcyBvZiAlcyBldmFsdWF0ZSB0byBhIG5vZGUiLAorCQkgICAgeG1sU2NoZW1hR2V0SURDRGVzaWduYXRpb24oJnN0ciwgaWRjKSwgTlVMTCk7CisJCUZSRUVfQU5EX05VTEwoc3RyKTsKKwkgICAgfQorc2VsZWN0b3JfbGVhdmU6CisJICAgIC8qCisJICAgICogRnJlZSB0aGUga2V5LXNlcXVlbmNlIGlmIG5vdCBhZGRlZCB0byB0aGUgSURDIHRhYmxlLgorCSAgICAqLworCSAgICBpZiAoKGtleVNlcSAhPSBOVUxMKSAmJiAoKmtleVNlcSAhPSBOVUxMKSkgeworCQl4bWxGcmVlKCprZXlTZXEpOworCQkqa2V5U2VxID0gTlVMTDsKKwkgICAgfQorCX0gLyogaWYgc2VsZWN0b3IgKi8KKworCXN0by0+bmJIaXN0b3J5LS07CisKK2RlcmVnaXN0ZXJfY2hlY2s6CisJLyoKKwkqIERlcmVnaXN0ZXIgc3RhdGUgb2JqZWN0cyBpZiB0aGV5IHJlYWNoIHRoZSBkZXB0aCBvZiBjcmVhdGlvbi4KKwkqLworCWlmICgoc3RvLT5uYkhpc3RvcnkgPT0gMCkgJiYgKHN0by0+ZGVwdGggPT0gZGVwdGgpKSB7CisjaWZkZWYgREVCVUdfSURDCisJICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCAiSURDOiAgIFNUTyBwb3AgJyVzJ1xuIiwKKwkJc3RvLT5zZWwtPnhwYXRoKTsKKyNlbmRpZgorCSAgICBpZiAodmN0eHQtPnhwYXRoU3RhdGVzICE9IHN0bykgeworCQlWRVJST1JfSU5UKCJ4bWxTY2hlbWFYUGF0aFByb2Nlc3NIaXN0b3J5IiwKKwkJICAgICJUaGUgc3RhdGUgb2JqZWN0IHRvIGJlIHJlbW92ZWQgaXMgbm90IHRoZSBmaXJzdCAiCisJCSAgICAiaW4gdGhlIGxpc3QiKTsKKwkgICAgfQorCSAgICBuZXh0c3RvID0gc3RvLT5uZXh0OworCSAgICAvKgorCSAgICAqIFVubGluayBmcm9tIHRoZSBsaXN0IG9mIGFjdGl2ZSBYUGF0aCBzdGF0ZSBvYmplY3RzLgorCSAgICAqLworCSAgICB2Y3R4dC0+eHBhdGhTdGF0ZXMgPSBzdG8tPm5leHQ7CisJICAgIHN0by0+bmV4dCA9IHZjdHh0LT54cGF0aFN0YXRlUG9vbDsKKwkgICAgLyoKKwkgICAgKiBMaW5rIGl0IHRvIHRoZSBwb29sIG9mIHJldXNhYmxlIHN0YXRlIG9iamVjdHMuCisJICAgICovCisJICAgIHZjdHh0LT54cGF0aFN0YXRlUG9vbCA9IHN0bzsKKwkgICAgc3RvID0gbmV4dHN0bzsKKwl9IGVsc2UKKwkgICAgc3RvID0gc3RvLT5uZXh0OworICAgIH0gLyogd2hpbGUgKHN0byAhPSBOVUxMKSAqLworICAgIHJldHVybiAoMCk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hSURDUmVnaXN0ZXJNYXRjaGVyczoKKyAqIEB2Y3R4dDogdGhlIFdYUyB2YWxpZGF0aW9uIGNvbnRleHQKKyAqIEBlbGVtRGVjbDogdGhlIGVsZW1lbnQgZGVjbGFyYXRpb24KKyAqCisgKiBDcmVhdGVzIGhlbHBlciBvYmplY3RzIHRvIGV2YWx1YXRlIElEQyBzZWxlY3RvcnMvZmllbGRzCisgKiBzdWNjZXNzaXZlbHkuCisgKgorICogUmV0dXJucyAwIGlmIE9LIGFuZCAtMSBvbiBpbnRlcm5hbCBlcnJvcnMuCisgKi8KK3N0YXRpYyBpbnQKK3htbFNjaGVtYUlEQ1JlZ2lzdGVyTWF0Y2hlcnMoeG1sU2NoZW1hVmFsaWRDdHh0UHRyIHZjdHh0LAorCQkJICAgICB4bWxTY2hlbWFFbGVtZW50UHRyIGVsZW1EZWNsKQoreworICAgIHhtbFNjaGVtYUlEQ01hdGNoZXJQdHIgbWF0Y2hlciwgbGFzdCA9IE5VTEw7CisgICAgeG1sU2NoZW1hSURDUHRyIGlkYywgcmVmSWRjOworICAgIHhtbFNjaGVtYUlEQ0F1Z1B0ciBhaWRjOworCisgICAgaWRjID0gKHhtbFNjaGVtYUlEQ1B0cikgZWxlbURlY2wtPmlkY3M7CisgICAgaWYgKGlkYyA9PSBOVUxMKQorCXJldHVybiAoMCk7CisKKyNpZmRlZiBERUJVR19JREMKKyAgICB7CisJeG1sQ2hhciAqc3RyID0gTlVMTDsKKwl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkgICAgIklEQzogUkVHSVNURVIgb24gJXMsIGRlcHRoICVkXG4iLAorCSAgICAoY2hhciAqKSB4bWxTY2hlbWFGb3JtYXRRTmFtZSgmc3RyLCB2Y3R4dC0+aW5vZGUtPm5zTmFtZSwKKwkJdmN0eHQtPmlub2RlLT5sb2NhbE5hbWUpLCB2Y3R4dC0+ZGVwdGgpOworCUZSRUVfQU5EX05VTEwoc3RyKQorICAgIH0KKyNlbmRpZgorICAgIGlmICh2Y3R4dC0+aW5vZGUtPmlkY01hdGNoZXJzICE9IE5VTEwpIHsKKwlWRVJST1JfSU5UKCJ4bWxTY2hlbWFJRENSZWdpc3Rlck1hdGNoZXJzIiwKKwkgICAgIlRoZSBjaGFpbiBvZiBJREMgbWF0Y2hlcnMgaXMgZXhwZWN0ZWQgdG8gYmUgZW1wdHkiKTsKKwlyZXR1cm4gKC0xKTsKKyAgICB9CisgICAgZG8geworCWlmIChpZGMtPnR5cGUgPT0gWE1MX1NDSEVNQV9UWVBFX0lEQ19LRVlSRUYpIHsKKwkgICAgLyoKKwkgICAgKiBTaW5jZSBJRENzIGJ1YmJsZXMgYXJlIGV4cGVuc2l2ZSB3ZSBuZWVkIHRvIGtub3cgdGhlCisJICAgICogZGVwdGggYXQgd2hpY2ggdGhlIGJ1YmJsZXMgc2hvdWxkIHN0b3A7IHRoaXMgd2lsbCBiZQorCSAgICAqIHRoZSBkZXB0aCBvZiB0aGUgdG9wLW1vc3Qga2V5cmVmIElEQy4gSWYgbm8ga2V5cmVmCisJICAgICogcmVmZXJlbmNlcyBhIGtleS91bmlxdWUgSURDLCB0aGUga2V5cmVmRGVwdGggd2lsbAorCSAgICAqIGJlIC0xLCBpbmRpY2F0aW5nIHRoYXQgbm8gYnViYmxlcyBhcmUgbmVlZGVkLgorCSAgICAqLworCSAgICByZWZJZGMgPSAoeG1sU2NoZW1hSURDUHRyKSBpZGMtPnJlZi0+aXRlbTsKKwkgICAgaWYgKHJlZklkYyAhPSBOVUxMKSB7CisJCS8qCisJCSogUmVtZW1iZXIgdGhhdCB3ZSBoYXZlIGtleXJlZnMgb24gdGhpcyBub2RlLgorCQkqLworCQl2Y3R4dC0+aW5vZGUtPmhhc0tleXJlZnMgPSAxOworCQkvKgorCQkqIExvb2t1cCB0aGUgcmVmZXJlbmNlZCBhdWdtZW50ZWQgSURDIGluZm8uCisJCSovCisJCWFpZGMgPSB2Y3R4dC0+YWlkY3M7CisJCXdoaWxlIChhaWRjICE9IE5VTEwpIHsKKwkJICAgIGlmIChhaWRjLT5kZWYgPT0gcmVmSWRjKQorCQkJYnJlYWs7CisJCSAgICBhaWRjID0gYWlkYy0+bmV4dDsKKwkJfQorCQlpZiAoYWlkYyA9PSBOVUxMKSB7CisJCSAgICBWRVJST1JfSU5UKCJ4bWxTY2hlbWFJRENSZWdpc3Rlck1hdGNoZXJzIiwKKwkJCSJDb3VsZCBub3QgZmluZCBhbiBhdWdtZW50ZWQgSURDIGl0ZW0gZm9yIGFuIElEQyAiCisJCQkiZGVmaW5pdGlvbiIpOworCQkgICAgcmV0dXJuICgtMSk7CisJCX0KKwkJaWYgKChhaWRjLT5rZXlyZWZEZXB0aCA9PSAtMSkgfHwKKwkJICAgICh2Y3R4dC0+ZGVwdGggPCBhaWRjLT5rZXlyZWZEZXB0aCkpCisJCSAgICBhaWRjLT5rZXlyZWZEZXB0aCA9IHZjdHh0LT5kZXB0aDsKKwkgICAgfQorCX0KKwkvKgorCSogTG9va3VwIHRoZSBhdWdtZW50ZWQgSURDIGl0ZW0gZm9yIHRoZSBJREMgZGVmaW5pdGlvbi4KKwkqLworCWFpZGMgPSB2Y3R4dC0+YWlkY3M7CisJd2hpbGUgKGFpZGMgIT0gTlVMTCkgeworCSAgICBpZiAoYWlkYy0+ZGVmID09IGlkYykKKwkJYnJlYWs7CisJICAgIGFpZGMgPSBhaWRjLT5uZXh0OworCX0KKwlpZiAoYWlkYyA9PSBOVUxMKSB7CisJICAgIFZFUlJPUl9JTlQoInhtbFNjaGVtYUlEQ1JlZ2lzdGVyTWF0Y2hlcnMiLAorCQkiQ291bGQgbm90IGZpbmQgYW4gYXVnbWVudGVkIElEQyBpdGVtIGZvciBhbiBJREMgZGVmaW5pdGlvbiIpOworCSAgICByZXR1cm4gKC0xKTsKKwl9CisJLyoKKwkqIENyZWF0ZSBhbiBJREMgbWF0Y2hlciBmb3IgZXZlcnkgSURDIGRlZmluaXRpb24uCisJKi8KKwlpZiAodmN0eHQtPmlkY01hdGNoZXJDYWNoZSAhPSBOVUxMKSB7CisJICAgIC8qCisJICAgICogUmV1c2UgYSBjYWNoZWQgbWF0Y2hlci4KKwkgICAgKi8KKwkgICAgbWF0Y2hlciA9IHZjdHh0LT5pZGNNYXRjaGVyQ2FjaGU7CisJICAgIHZjdHh0LT5pZGNNYXRjaGVyQ2FjaGUgPSBtYXRjaGVyLT5uZXh0Q2FjaGVkOworCSAgICBtYXRjaGVyLT5uZXh0Q2FjaGVkID0gTlVMTDsKKwl9IGVsc2UgeworCSAgICBtYXRjaGVyID0gKHhtbFNjaGVtYUlEQ01hdGNoZXJQdHIpCisJCXhtbE1hbGxvYyhzaXplb2YoeG1sU2NoZW1hSURDTWF0Y2hlcikpOworCSAgICBpZiAobWF0Y2hlciA9PSBOVUxMKSB7CisJCXhtbFNjaGVtYVZFcnJNZW1vcnkodmN0eHQsCisJCSAgICAiYWxsb2NhdGluZyBhbiBJREMgbWF0Y2hlciIsIE5VTEwpOworCQlyZXR1cm4gKC0xKTsKKwkgICAgfQorCSAgICBtZW1zZXQobWF0Y2hlciwgMCwgc2l6ZW9mKHhtbFNjaGVtYUlEQ01hdGNoZXIpKTsKKwl9CisJaWYgKGxhc3QgPT0gTlVMTCkKKwkgICAgdmN0eHQtPmlub2RlLT5pZGNNYXRjaGVycyA9IG1hdGNoZXI7CisJZWxzZQorCSAgICBsYXN0LT5uZXh0ID0gbWF0Y2hlcjsKKwlsYXN0ID0gbWF0Y2hlcjsKKworCW1hdGNoZXItPnR5cGUgPSBJRENfTUFUQ0hFUjsKKwltYXRjaGVyLT5kZXB0aCA9IHZjdHh0LT5kZXB0aDsKKwltYXRjaGVyLT5haWRjID0gYWlkYzsKKwltYXRjaGVyLT5pZGNUeXBlID0gYWlkYy0+ZGVmLT50eXBlOworI2lmZGVmIERFQlVHX0lEQworCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCAiSURDOiAgIHJlZ2lzdGVyIG1hdGNoZXJcbiIpOworI2VuZGlmCisJLyoKKwkqIEluaXQgdGhlIGF1dG9tYXRvbiBzdGF0ZSBvYmplY3QuCisJKi8KKwlpZiAoeG1sU2NoZW1hSURDQWRkU3RhdGVPYmplY3QodmN0eHQsIG1hdGNoZXIsCisJICAgIGlkYy0+c2VsZWN0b3IsIFhQQVRIX1NUQVRFX09CSl9UWVBFX0lEQ19TRUxFQ1RPUikgPT0gLTEpCisJICAgIHJldHVybiAoLTEpOworCisJaWRjID0gaWRjLT5uZXh0OworICAgIH0gd2hpbGUgKGlkYyAhPSBOVUxMKTsKKyAgICByZXR1cm4gKDApOworfQorCitzdGF0aWMgaW50Cit4bWxTY2hlbWFJRENGaWxsTm9kZVRhYmxlcyh4bWxTY2hlbWFWYWxpZEN0eHRQdHIgdmN0eHQsCisJCQkgICB4bWxTY2hlbWFOb2RlSW5mb1B0ciBpZWxlbSkKK3sKKyAgICB4bWxTY2hlbWFQU1ZJSURDQmluZGluZ1B0ciBiaW5kOworICAgIGludCByZXMsIGksIGosIGssIG5iVGFyZ2V0cywgbmJGaWVsZHMsIG5iRHVwbHMsIG5iTm9kZVRhYmxlOworICAgIHhtbFNjaGVtYVBTVklJRENLZXlQdHIgKmtleXMsICpudGtleXM7CisgICAgeG1sU2NoZW1hUFNWSUlEQ05vZGVQdHIgKnRhcmdldHMsICpkdXBsczsKKworICAgIHhtbFNjaGVtYUlEQ01hdGNoZXJQdHIgbWF0Y2hlciA9IGllbGVtLT5pZGNNYXRjaGVyczsKKyAgICAvKiB2Y3R4dC0+Y3JlYXRlSURDTm9kZVRhYmxlcyAqLworICAgIHdoaWxlIChtYXRjaGVyICE9IE5VTEwpIHsKKwkvKgorCSogU2tpcCBrZXlyZWYgSURDcyBhbmQgZW1wdHkgSURDIHRhcmdldC1saXN0cy4KKwkqLworCWlmICgobWF0Y2hlci0+YWlkYy0+ZGVmLT50eXBlID09IFhNTF9TQ0hFTUFfVFlQRV9JRENfS0VZUkVGKSB8fAorCSAgICBXWFNfSUxJU1RfSVNfRU1QVFkobWF0Y2hlci0+dGFyZ2V0cykpCisJeworCSAgICBtYXRjaGVyID0gbWF0Y2hlci0+bmV4dDsKKwkgICAgY29udGludWU7CisJfQorCS8qCisJKiBJZiB3ZSBfd2FudF8gdGhlIElEQyBub2RlLXRhYmxlIHRvIGJlIGNyZWF0ZWQgaW4gYW55IGNhc2UKKwkqIHRoZW4gZG8gc28uIE90aGVyd2lzZSBjcmVhdGUgdGhlbSBvbmx5IGlmIGtleXJlZnMgbmVlZCB0aGVtLgorCSovCisJaWYgKCghIHZjdHh0LT5jcmVhdGVJRENOb2RlVGFibGVzKSAmJgorCSAgICAoKG1hdGNoZXItPmFpZGMtPmtleXJlZkRlcHRoID09IC0xKSB8fAorCSAgICAgKG1hdGNoZXItPmFpZGMtPmtleXJlZkRlcHRoID4gdmN0eHQtPmRlcHRoKSkpCisJeworCSAgICBtYXRjaGVyID0gbWF0Y2hlci0+bmV4dDsKKwkgICAgY29udGludWU7CisJfQorCS8qCisJKiBHZXQvY3JlYXRlIHRoZSBJREMgYmluZGluZyBvbiB0aGlzIGVsZW1lbnQgZm9yIHRoZSBJREMgZGVmaW5pdGlvbi4KKwkqLworCWJpbmQgPSB4bWxTY2hlbWFJRENBY3F1aXJlQmluZGluZyh2Y3R4dCwgbWF0Y2hlcik7CisKKwlpZiAoISBXWFNfSUxJU1RfSVNfRU1QVFkoYmluZC0+ZHVwbHMpKSB7CisJICAgIGR1cGxzID0gKHhtbFNjaGVtYVBTVklJRENOb2RlUHRyICopIGJpbmQtPmR1cGxzLT5pdGVtczsKKwkgICAgbmJEdXBscyA9IGJpbmQtPmR1cGxzLT5uYkl0ZW1zOworCX0gZWxzZSB7CisJICAgIGR1cGxzID0gTlVMTDsKKwkgICAgbmJEdXBscyA9IDA7CisJfQorCWlmIChiaW5kLT5ub2RlVGFibGUgIT0gTlVMTCkgeworCSAgICBuYk5vZGVUYWJsZSA9IGJpbmQtPm5iTm9kZXM7CisJfSBlbHNlIHsKKwkgICAgbmJOb2RlVGFibGUgPSAwOworCX0KKworCWlmICgobmJOb2RlVGFibGUgPT0gMCkgJiYgKG5iRHVwbHMgPT0gMCkpIHsKKwkgICAgLyoKKwkgICAgKiBUcmFuc2ZlciBhbGwgSURDIHRhcmdldC1ub2RlcyB0byB0aGUgSURDIG5vZGUtdGFibGUuCisJICAgICovCisJICAgIGJpbmQtPm5vZGVUYWJsZSA9CisJCSh4bWxTY2hlbWFQU1ZJSURDTm9kZVB0ciAqKSBtYXRjaGVyLT50YXJnZXRzLT5pdGVtczsKKwkgICAgYmluZC0+c2l6ZU5vZGVzID0gbWF0Y2hlci0+dGFyZ2V0cy0+c2l6ZUl0ZW1zOworCSAgICBiaW5kLT5uYk5vZGVzID0gbWF0Y2hlci0+dGFyZ2V0cy0+bmJJdGVtczsKKworCSAgICBtYXRjaGVyLT50YXJnZXRzLT5pdGVtcyA9IE5VTEw7CisJICAgIG1hdGNoZXItPnRhcmdldHMtPnNpemVJdGVtcyA9IDA7CisJICAgIG1hdGNoZXItPnRhcmdldHMtPm5iSXRlbXMgPSAwOworCX0gZWxzZSB7CisJICAgIC8qCisJICAgICogQ29tcGFyZSB0aGUga2V5LXNlcXVlbmNlcyBhbmQgYWRkIHRvIHRoZSBJREMgbm9kZS10YWJsZS4KKwkgICAgKi8KKwkgICAgbmJUYXJnZXRzID0gbWF0Y2hlci0+dGFyZ2V0cy0+bmJJdGVtczsKKwkgICAgdGFyZ2V0cyA9ICh4bWxTY2hlbWFQU1ZJSURDTm9kZVB0ciAqKSBtYXRjaGVyLT50YXJnZXRzLT5pdGVtczsKKwkgICAgbmJGaWVsZHMgPSBtYXRjaGVyLT5haWRjLT5kZWYtPm5iRmllbGRzOworCSAgICBpID0gMDsKKwkgICAgZG8geworCQlrZXlzID0gdGFyZ2V0c1tpXS0+a2V5czsKKwkJaWYgKG5iRHVwbHMpIHsKKwkJICAgIC8qCisJCSAgICAqIFNlYXJjaCBpbiBhbHJlYWR5IGZvdW5kIGR1cGxpY2F0ZXMgZmlyc3QuCisJCSAgICAqLworCQkgICAgaiA9IDA7CisJCSAgICBkbyB7CisJCQlpZiAobmJGaWVsZHMgPT0gMSkgeworCQkJICAgIHJlcyA9IHhtbFNjaGVtYUFyZVZhbHVlc0VxdWFsKGtleXNbMF0tPnZhbCwKKwkJCQlkdXBsc1tqXS0+a2V5c1swXS0+dmFsKTsKKwkJCSAgICBpZiAocmVzID09IC0xKQorCQkJCWdvdG8gaW50ZXJuYWxfZXJyb3I7CisJCQkgICAgaWYgKHJlcyA9PSAxKSB7CisJCQkJLyoKKwkJCQkqIEVxdWFsIGtleS1zZXF1ZW5jZS4KKwkJCQkqLworCQkJCWdvdG8gbmV4dF90YXJnZXQ7CisJCQkgICAgfQorCQkJfSBlbHNlIHsKKwkJCSAgICByZXMgPSAwOworCQkJICAgIG50a2V5cyA9IGR1cGxzW2pdLT5rZXlzOworCQkJICAgIGZvciAoayA9IDA7IGsgPCBuYkZpZWxkczsgaysrKSB7CisJCQkJcmVzID0geG1sU2NoZW1hQXJlVmFsdWVzRXF1YWwoa2V5c1trXS0+dmFsLAorCQkJCSAgICBudGtleXNba10tPnZhbCk7CisJCQkJaWYgKHJlcyA9PSAtMSkKKwkJCQkgICAgZ290byBpbnRlcm5hbF9lcnJvcjsKKwkJCQlpZiAocmVzID09IDApIHsKKwkJCQkgICAgLyoKKwkJCQkgICAgKiBPbmUgb2YgdGhlIGtleXMgZGlmZmVycy4KKwkJCQkgICAgKi8KKwkJCQkgICAgYnJlYWs7CisJCQkJfQorCQkJICAgIH0KKwkJCSAgICBpZiAocmVzID09IDEpIHsKKwkJCQkvKgorCQkJCSogRXF1YWwga2V5LXNlcXVlbmNlIGZvdW5kLgorCQkJCSovCisJCQkJZ290byBuZXh0X3RhcmdldDsKKwkJCSAgICB9CisJCQl9CisJCQlqKys7CisJCSAgICB9IHdoaWxlIChqIDwgbmJEdXBscyk7CisJCX0KKwkJaWYgKG5iTm9kZVRhYmxlKSB7CisJCSAgICBqID0gMDsKKwkJICAgIGRvIHsKKwkJCWlmIChuYkZpZWxkcyA9PSAxKSB7CisJCQkgICAgcmVzID0geG1sU2NoZW1hQXJlVmFsdWVzRXF1YWwoa2V5c1swXS0+dmFsLAorCQkJCWJpbmQtPm5vZGVUYWJsZVtqXS0+a2V5c1swXS0+dmFsKTsKKwkJCSAgICBpZiAocmVzID09IC0xKQorCQkJCWdvdG8gaW50ZXJuYWxfZXJyb3I7CisJCQkgICAgaWYgKHJlcyA9PSAwKSB7CisJCQkJLyoKKwkJCQkqIFRoZSBrZXktc2VxdWVuY2UgZGlmZmVycy4KKwkJCQkqLworCQkJCWdvdG8gbmV4dF9ub2RlX3RhYmxlX2VudHJ5OworCQkJICAgIH0KKwkJCX0gZWxzZSB7CisJCQkgICAgcmVzID0gMDsKKwkJCSAgICBudGtleXMgPSBiaW5kLT5ub2RlVGFibGVbal0tPmtleXM7CisJCQkgICAgZm9yIChrID0gMDsgayA8IG5iRmllbGRzOyBrKyspIHsKKwkJCQlyZXMgPSB4bWxTY2hlbWFBcmVWYWx1ZXNFcXVhbChrZXlzW2tdLT52YWwsCisJCQkJICAgIG50a2V5c1trXS0+dmFsKTsKKwkJCQlpZiAocmVzID09IC0xKQorCQkJCSAgICBnb3RvIGludGVybmFsX2Vycm9yOworCQkJCWlmIChyZXMgPT0gMCkgeworCQkJCSAgICAvKgorCQkJCSAgICAqIE9uZSBvZiB0aGUga2V5cyBkaWZmZXJzLgorCQkJCSAgICAqLworCQkJCSAgICBnb3RvIG5leHRfbm9kZV90YWJsZV9lbnRyeTsKKwkJCQl9CisJCQkgICAgfQorCQkJfQorCQkJLyoKKwkJCSogQWRkIHRoZSBkdXBsaWNhdGUgdG8gdGhlIGxpc3Qgb2YgZHVwbGljYXRlcy4KKwkJCSovCisJCQlpZiAoYmluZC0+ZHVwbHMgPT0gTlVMTCkgeworCQkJICAgIGJpbmQtPmR1cGxzID0geG1sU2NoZW1hSXRlbUxpc3RDcmVhdGUoKTsKKwkJCSAgICBpZiAoYmluZC0+ZHVwbHMgPT0gTlVMTCkKKwkJCQlnb3RvIGludGVybmFsX2Vycm9yOworCQkJfQorCQkJaWYgKHhtbFNjaGVtYUl0ZW1MaXN0QWRkKGJpbmQtPmR1cGxzLCBiaW5kLT5ub2RlVGFibGVbal0pID09IC0xKQorCQkJICAgIGdvdG8gaW50ZXJuYWxfZXJyb3I7CisJCQkvKgorCQkJKiBSZW1vdmUgdGhlIGR1cGxpY2F0ZSBlbnRyeSBmcm9tIHRoZSBJREMgbm9kZS10YWJsZS4KKwkJCSovCisJCQliaW5kLT5ub2RlVGFibGVbal0gPSBiaW5kLT5ub2RlVGFibGVbYmluZC0+bmJOb2RlcyAtMV07CisJCQliaW5kLT5uYk5vZGVzLS07CisKKwkJCWdvdG8gbmV4dF90YXJnZXQ7CisKK25leHRfbm9kZV90YWJsZV9lbnRyeToKKwkJCWorKzsKKwkJICAgIH0gd2hpbGUgKGogPCBuYk5vZGVUYWJsZSk7CisJCX0KKwkJLyoKKwkJKiBJZiBldmVyeXRoaW5nIGlzIGZpbmUsIHRoZW4gYWRkIHRoZSBJREMgdGFyZ2V0LW5vZGUgdG8KKwkJKiB0aGUgSURDIG5vZGUtdGFibGUuCisJCSovCisJCWlmICh4bWxTY2hlbWFJRENBcHBlbmROb2RlVGFibGVJdGVtKGJpbmQsIHRhcmdldHNbaV0pID09IC0xKQorCQkgICAgZ290byBpbnRlcm5hbF9lcnJvcjsKKworbmV4dF90YXJnZXQ6CisJCWkrKzsKKwkgICAgfSB3aGlsZSAoaSA8IG5iVGFyZ2V0cyk7CisJfQorCW1hdGNoZXIgPSBtYXRjaGVyLT5uZXh0OworICAgIH0KKyAgICByZXR1cm4oMCk7CisKK2ludGVybmFsX2Vycm9yOgorICAgIHJldHVybigtMSk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hQnViYmxlSURDTm9kZVRhYmxlczoKKyAqIEBkZXB0aDogdGhlIGN1cnJlbnQgdHJlZSBkZXB0aAorICoKKyAqIE1lcmdlcyBJREMgYmluZGluZ3Mgb2YgYW4gZWxlbWVudCBhdCBAZGVwdGggaW50byB0aGUgY29ycmVzcG9uZGluZyBJREMKKyAqIGJpbmRpbmdzIG9mIGl0cyBwYXJlbnQgZWxlbWVudC4gSWYgYSBkdXBsaWNhdGUgbm90ZS10YWJsZSBlbnRyeSBpcyBmb3VuZCwKKyAqIGJvdGgsIHRoZSBwYXJlbnQgbm9kZS10YWJsZSBlbnRyeSBhbmQgY2hpbGQgZW50cnkgYXJlIGRpc2NhcmRlZCBmcm9tIHRoZQorICogbm9kZS10YWJsZSBvZiB0aGUgcGFyZW50LgorICoKKyAqIFJldHVybnMgMCBpZiBPSyBhbmQgLTEgb24gaW50ZXJuYWwgZXJyb3JzLgorICovCitzdGF0aWMgaW50Cit4bWxTY2hlbWFCdWJibGVJRENOb2RlVGFibGVzKHhtbFNjaGVtYVZhbGlkQ3R4dFB0ciB2Y3R4dCkKK3sKKyAgICB4bWxTY2hlbWFQU1ZJSURDQmluZGluZ1B0ciBiaW5kOyAvKiBJREMgYmluZGluZ3Mgb2YgdGhlIGN1cnJlbnQgbm9kZS4gKi8KKyAgICB4bWxTY2hlbWFQU1ZJSURDQmluZGluZ1B0ciAqcGFyVGFibGUsIHBhckJpbmQgPSBOVUxMOyAvKiBwYXJlbnQgSURDIGJpbmRpbmdzLiAqLworICAgIHhtbFNjaGVtYVBTVklJRENOb2RlUHRyIG5vZGUsIHBhck5vZGUgPSBOVUxMLCAqZHVwbHMsICpwYXJOb2RlczsgLyogbm9kZS10YWJsZSBlbnRyaWVzLiAqLworICAgIHhtbFNjaGVtYUlEQ0F1Z1B0ciBhaWRjOworICAgIGludCBpLCBqLCBrLCByZXQgPSAwLCBuYkZpZWxkcywgb2xkTnVtLCBvbGREdXBsczsKKworICAgIGJpbmQgPSB2Y3R4dC0+aW5vZGUtPmlkY1RhYmxlOworICAgIGlmIChiaW5kID09IE5VTEwpIHsKKwkvKiBGaW5lLCBubyB0YWJsZSwgbm8gYnViYmxlcy4gKi8KKwlyZXR1cm4gKDApOworICAgIH0KKworICAgIHBhclRhYmxlID0gJih2Y3R4dC0+ZWxlbUluZm9zW3ZjdHh0LT5kZXB0aCAtMV0tPmlkY1RhYmxlKTsKKyAgICAvKgorICAgICogV2FsayBhbGwgYmluZGluZ3M7IGNyZWF0ZSBuZXcgb3IgYWRkIHRvIGV4aXN0aW5nIGJpbmRpbmdzLgorICAgICogUmVtb3ZlIGR1cGxpY2F0ZSBrZXktc2VxdWVuY2VzLgorICAgICovCisgICAgd2hpbGUgKGJpbmQgIT0gTlVMTCkgeworCisJaWYgKChiaW5kLT5uYk5vZGVzID09IDApICYmIFdYU19JTElTVF9JU19FTVBUWShiaW5kLT5kdXBscykpCisJICAgIGdvdG8gbmV4dF9iaW5kaW5nOworCS8qCisJKiBDaGVjayBpZiB0aGUga2V5L3VuaXF1ZSBJREMgdGFibGUgbmVlZHMgdG8gYmUgYnViYmxlZC4KKwkqLworCWlmICghIHZjdHh0LT5jcmVhdGVJRENOb2RlVGFibGVzKSB7CisJICAgIGFpZGMgPSB2Y3R4dC0+YWlkY3M7CisJICAgIGRvIHsKKwkJaWYgKGFpZGMtPmRlZiA9PSBiaW5kLT5kZWZpbml0aW9uKSB7CisJCSAgICBpZiAoKGFpZGMtPmtleXJlZkRlcHRoID09IC0xKSB8fAorCQkJKGFpZGMtPmtleXJlZkRlcHRoID49IHZjdHh0LT5kZXB0aCkpIHsKKwkJCWdvdG8gbmV4dF9iaW5kaW5nOworCQkgICAgfQorCQkgICAgYnJlYWs7CisJCX0KKwkJYWlkYyA9IGFpZGMtPm5leHQ7CisJICAgIH0gd2hpbGUgKGFpZGMgIT0gTlVMTCk7CisJfQorCisJaWYgKHBhclRhYmxlICE9IE5VTEwpCisJICAgIHBhckJpbmQgPSAqcGFyVGFibGU7CisJLyoKKwkqIFNlYXJjaCBhIG1hdGNoaW5nIHBhcmVudCBiaW5kaW5nIGZvciB0aGUKKwkqIElEQyBkZWZpbml0aW9uLgorCSovCisJd2hpbGUgKHBhckJpbmQgIT0gTlVMTCkgeworCSAgICBpZiAocGFyQmluZC0+ZGVmaW5pdGlvbiA9PSBiaW5kLT5kZWZpbml0aW9uKQorCQlicmVhazsKKwkgICAgcGFyQmluZCA9IHBhckJpbmQtPm5leHQ7CisJfQorCisJaWYgKHBhckJpbmQgIT0gTlVMTCkgeworCSAgICAvKgorCSAgICAqIENvbXBhcmUgZXZlcnkgbm9kZS10YWJsZSBlbnRyeSBvZiB0aGUgY2hpbGQgbm9kZSwKKwkgICAgKiBpLmUuIHRoZSBrZXktc2VxdWVuY2Ugd2l0aGluLCAuLi4KKwkgICAgKi8KKwkgICAgb2xkTnVtID0gcGFyQmluZC0+bmJOb2RlczsgLyogU2tpcCBuZXdseSBhZGRlZCBpdGVtcy4gKi8KKworCSAgICBpZiAoISBXWFNfSUxJU1RfSVNfRU1QVFkocGFyQmluZC0+ZHVwbHMpKSB7CisJCW9sZER1cGxzID0gcGFyQmluZC0+ZHVwbHMtPm5iSXRlbXM7CisJCWR1cGxzID0gKHhtbFNjaGVtYVBTVklJRENOb2RlUHRyICopIHBhckJpbmQtPmR1cGxzLT5pdGVtczsKKwkgICAgfSBlbHNlIHsKKwkJZHVwbHMgPSBOVUxMOworCQlvbGREdXBscyA9IDA7CisJICAgIH0KKworCSAgICBwYXJOb2RlcyA9IHBhckJpbmQtPm5vZGVUYWJsZTsKKwkgICAgbmJGaWVsZHMgPSBiaW5kLT5kZWZpbml0aW9uLT5uYkZpZWxkczsKKworCSAgICBmb3IgKGkgPSAwOyBpIDwgYmluZC0+bmJOb2RlczsgaSsrKSB7CisJCW5vZGUgPSBiaW5kLT5ub2RlVGFibGVbaV07CisJCWlmIChub2RlID09IE5VTEwpCisJCSAgICBjb250aW51ZTsKKwkJLyoKKwkJKiAuLi53aXRoIGV2ZXJ5IGtleS1zZXF1ZW5jZSBvZiB0aGUgcGFyZW50IG5vZGUsIGFscmVhZHkKKwkJKiBldmFsdWF0ZWQgdG8gYmUgYSBkdXBsaWNhdGUga2V5LXNlcXVlbmNlLgorCQkqLworCQlpZiAob2xkRHVwbHMpIHsKKwkJICAgIGogPSAwOworCQkgICAgd2hpbGUgKGogPCBvbGREdXBscykgeworCQkJaWYgKG5iRmllbGRzID09IDEpIHsKKwkJCSAgICByZXQgPSB4bWxTY2hlbWFBcmVWYWx1ZXNFcXVhbCgKKwkJCQlub2RlLT5rZXlzWzBdLT52YWwsCisJCQkJZHVwbHNbal0tPmtleXNbMF0tPnZhbCk7CisJCQkgICAgaWYgKHJldCA9PSAtMSkKKwkJCQlnb3RvIGludGVybmFsX2Vycm9yOworCQkJICAgIGlmIChyZXQgPT0gMCkgeworCQkJCWorKzsKKwkJCQljb250aW51ZTsKKwkJCSAgICB9CisJCQl9IGVsc2UgeworCQkJICAgIHBhck5vZGUgPSBkdXBsc1tqXTsKKwkJCSAgICBmb3IgKGsgPSAwOyBrIDwgbmJGaWVsZHM7IGsrKykgeworCQkJCXJldCA9IHhtbFNjaGVtYUFyZVZhbHVlc0VxdWFsKAorCQkJCSAgICBub2RlLT5rZXlzW2tdLT52YWwsCisJCQkJICAgIHBhck5vZGUtPmtleXNba10tPnZhbCk7CisJCQkJaWYgKHJldCA9PSAtMSkKKwkJCQkgICAgZ290byBpbnRlcm5hbF9lcnJvcjsKKwkJCQlpZiAocmV0ID09IDApCisJCQkJICAgIGJyZWFrOworCQkJICAgIH0KKwkJCX0KKwkJCWlmIChyZXQgPT0gMSkKKwkJCSAgICAvKiBEdXBsaWNhdGUgZm91bmQuICovCisJCQkgICAgYnJlYWs7CisJCQlqKys7CisJCSAgICB9CisJCSAgICBpZiAoaiAhPSBvbGREdXBscykgeworCQkJLyogRHVwbGljYXRlIGZvdW5kLiBTa2lwIHRoaXMgZW50cnkuICovCisJCQljb250aW51ZTsKKwkJICAgIH0KKwkJfQorCQkvKgorCQkqIC4uLiBhbmQgd2l0aCBldmVyeSBrZXktc2VxdWVuY2Ugb2YgdGhlIHBhcmVudCBub2RlLgorCQkqLworCQlpZiAob2xkTnVtKSB7CisJCSAgICBqID0gMDsKKwkJICAgIHdoaWxlIChqIDwgb2xkTnVtKSB7CisJCQlwYXJOb2RlID0gcGFyTm9kZXNbal07CisJCQlpZiAobmJGaWVsZHMgPT0gMSkgeworCQkJICAgIHJldCA9IHhtbFNjaGVtYUFyZVZhbHVlc0VxdWFsKAorCQkJCW5vZGUtPmtleXNbMF0tPnZhbCwKKwkJCQlwYXJOb2RlLT5rZXlzWzBdLT52YWwpOworCQkJICAgIGlmIChyZXQgPT0gLTEpCisJCQkJZ290byBpbnRlcm5hbF9lcnJvcjsKKwkJCSAgICBpZiAocmV0ID09IDApIHsKKwkJCQlqKys7CisJCQkJY29udGludWU7CisJCQkgICAgfQorCQkJfSBlbHNlIHsKKwkJCSAgICBmb3IgKGsgPSAwOyBrIDwgbmJGaWVsZHM7IGsrKykgeworCQkJCXJldCA9IHhtbFNjaGVtYUFyZVZhbHVlc0VxdWFsKAorCQkJCSAgICBub2RlLT5rZXlzW2tdLT52YWwsCisJCQkJICAgIHBhck5vZGUtPmtleXNba10tPnZhbCk7CisJCQkJaWYgKHJldCA9PSAtMSkKKwkJCQkgICAgZ290byBpbnRlcm5hbF9lcnJvcjsKKwkJCQlpZiAocmV0ID09IDApCisJCQkJICAgIGJyZWFrOworCQkJICAgIH0KKwkJCX0KKwkJCWlmIChyZXQgPT0gMSkKKwkJCSAgICAvKiBEdXBsaWNhdGUgZm91bmQuICovCisJCQkgICAgYnJlYWs7CisJCQlqKys7CisJCSAgICB9CisJCSAgICBpZiAoaiAhPSBvbGROdW0pIHsKKwkJCS8qCisJCQkqIEhhbmRsZSBkdXBsaWNhdGVzLiBNb3ZlIHRoZSBkdXBsaWNhdGUgaW4KKwkJCSogdGhlIHBhcmVudCdzIG5vZGUtdGFibGUgdG8gdGhlIGxpc3Qgb2YKKwkJCSogZHVwbGljYXRlcy4KKwkJCSovCisJCQlvbGROdW0tLTsKKwkJCXBhckJpbmQtPm5iTm9kZXMtLTsKKwkJCS8qCisJCQkqIE1vdmUgbGFzdCBvbGQgaXRlbSB0byBwb3Mgb2YgZHVwbGljYXRlLgorCQkJKi8KKwkJCXBhck5vZGVzW2pdID0gcGFyTm9kZXNbb2xkTnVtXTsKKworCQkJaWYgKHBhckJpbmQtPm5iTm9kZXMgIT0gb2xkTnVtKSB7CisJCQkgICAgLyoKKwkJCSAgICAqIElmIG5ldyBpdGVtcyBleGlzdCwgbW92ZSBsYXN0IG5ldyBpdGVtIHRvCisJCQkgICAgKiBsYXN0IG9mIG9sZCBpdGVtcy4KKwkJCSAgICAqLworCQkJICAgIHBhck5vZGVzW29sZE51bV0gPQorCQkJCXBhck5vZGVzW3BhckJpbmQtPm5iTm9kZXNdOworCQkJfQorCQkJaWYgKHBhckJpbmQtPmR1cGxzID09IE5VTEwpIHsKKwkJCSAgICBwYXJCaW5kLT5kdXBscyA9IHhtbFNjaGVtYUl0ZW1MaXN0Q3JlYXRlKCk7CisJCQkgICAgaWYgKHBhckJpbmQtPmR1cGxzID09IE5VTEwpCisJCQkJZ290byBpbnRlcm5hbF9lcnJvcjsKKwkJCX0KKwkJCXhtbFNjaGVtYUl0ZW1MaXN0QWRkKHBhckJpbmQtPmR1cGxzLCBwYXJOb2RlKTsKKwkJICAgIH0gZWxzZSB7CisJCQkvKgorCQkJKiBBZGQgdGhlIG5vZGUtdGFibGUgZW50cnkgKG5vZGUgYW5kIGtleS1zZXF1ZW5jZSkgb2YKKwkJCSogdGhlIGNoaWxkIG5vZGUgdG8gdGhlIG5vZGUgdGFibGUgb2YgdGhlIHBhcmVudCBub2RlLgorCQkJKi8KKwkJCWlmIChwYXJCaW5kLT5ub2RlVGFibGUgPT0gTlVMTCkgeworCQkJICAgIHBhckJpbmQtPm5vZGVUYWJsZSA9ICh4bWxTY2hlbWFQU1ZJSURDTm9kZVB0ciAqKQorCQkJCXhtbE1hbGxvYygxMCAqIHNpemVvZih4bWxTY2hlbWFQU1ZJSURDTm9kZVB0cikpOworCQkJICAgIGlmIChwYXJCaW5kLT5ub2RlVGFibGUgPT0gTlVMTCkgeworCQkJCXhtbFNjaGVtYVZFcnJNZW1vcnkoTlVMTCwKKwkJCQkgICAgImFsbG9jYXRpbmcgSURDIGxpc3Qgb2Ygbm9kZS10YWJsZSBpdGVtcyIsIE5VTEwpOworCQkJCWdvdG8gaW50ZXJuYWxfZXJyb3I7CisJCQkgICAgfQorCQkJICAgIHBhckJpbmQtPnNpemVOb2RlcyA9IDE7CisJCQl9IGVsc2UgaWYgKHBhckJpbmQtPm5iTm9kZXMgPj0gcGFyQmluZC0+c2l6ZU5vZGVzKSB7CisJCQkgICAgcGFyQmluZC0+c2l6ZU5vZGVzICo9IDI7CisJCQkgICAgcGFyQmluZC0+bm9kZVRhYmxlID0gKHhtbFNjaGVtYVBTVklJRENOb2RlUHRyICopCisJCQkJeG1sUmVhbGxvYyhwYXJCaW5kLT5ub2RlVGFibGUsIHBhckJpbmQtPnNpemVOb2RlcyAqCisJCQkJc2l6ZW9mKHhtbFNjaGVtYVBTVklJRENOb2RlUHRyKSk7CisJCQkgICAgaWYgKHBhckJpbmQtPm5vZGVUYWJsZSA9PSBOVUxMKSB7CisJCQkJeG1sU2NoZW1hVkVyck1lbW9yeShOVUxMLAorCQkJCSAgICAicmUtYWxsb2NhdGluZyBJREMgbGlzdCBvZiBub2RlLXRhYmxlIGl0ZW1zIiwgTlVMTCk7CisJCQkJZ290byBpbnRlcm5hbF9lcnJvcjsKKwkJCSAgICB9CisJCQl9CisJCQlwYXJOb2RlcyA9IHBhckJpbmQtPm5vZGVUYWJsZTsKKwkJCS8qCisJCQkqIEFwcGVuZCB0aGUgbmV3IG5vZGUtdGFibGUgZW50cnkgdG8gdGhlICduZXcgbm9kZS10YWJsZQorCQkJKiBlbnRyaWVzJyBzZWN0aW9uLgorCQkJKi8KKwkJCXBhck5vZGVzW3BhckJpbmQtPm5iTm9kZXMrK10gPSBub2RlOworCQkgICAgfQorCisJCX0KKworCSAgICB9CisJfSBlbHNlIHsKKwkgICAgLyoKKwkgICAgKiBObyBiaW5kaW5nIGZvciB0aGUgSURDIHdhcyBmb3VuZDogY3JlYXRlIGEgbmV3IG9uZSBhbmQKKwkgICAgKiBjb3B5IGFsbCBub2RlLXRhYmxlcy4KKwkgICAgKi8KKwkgICAgcGFyQmluZCA9IHhtbFNjaGVtYUlEQ05ld0JpbmRpbmcoYmluZC0+ZGVmaW5pdGlvbik7CisJICAgIGlmIChwYXJCaW5kID09IE5VTEwpCisJCWdvdG8gaW50ZXJuYWxfZXJyb3I7CisKKwkgICAgLyoKKwkgICAgKiBUT0RPOiBIbW0sIGhvdyB0byBvcHRpbWl6ZSB0aGUgaW5pdGlhbCBudW1iZXIgb2YKKwkgICAgKiBhbGxvY2F0ZWQgZW50cmllcz8KKwkgICAgKi8KKwkgICAgaWYgKGJpbmQtPm5iTm9kZXMgIT0gMCkgeworCQkvKgorCQkqIEFkZCBhbGwgSURDIG5vZGUtdGFibGUgZW50cmllcy4KKwkJKi8KKwkJaWYgKCEgdmN0eHQtPnBzdmlFeHBvc2VJRENOb2RlVGFibGVzKSB7CisJCSAgICAvKgorCQkgICAgKiBKdXN0IG1vdmUgdGhlIGVudHJpZXMuCisJCSAgICAqIE5PVEU6IHRoaXMgaXMgcXVpdGUgc2F2ZSBoZXJlLCBzaW5jZQorCQkgICAgKiBhbGwgdGhlIGtleXJlZiBsb29rdXBzIGhhdmUgYWxyZWFkeSBiZWVuCisJCSAgICAqIHBlcmZvcm1lZC4KKwkJICAgICovCisJCSAgICBwYXJCaW5kLT5ub2RlVGFibGUgPSBiaW5kLT5ub2RlVGFibGU7CisJCSAgICBiaW5kLT5ub2RlVGFibGUgPSBOVUxMOworCQkgICAgcGFyQmluZC0+c2l6ZU5vZGVzID0gYmluZC0+c2l6ZU5vZGVzOworCQkgICAgYmluZC0+c2l6ZU5vZGVzID0gMDsKKwkJICAgIHBhckJpbmQtPm5iTm9kZXMgPSBiaW5kLT5uYk5vZGVzOworCQkgICAgYmluZC0+bmJOb2RlcyA9IDA7CisJCX0gZWxzZSB7CisJCSAgICAvKgorCQkgICAgKiBDb3B5IHRoZSBlbnRyaWVzLgorCQkgICAgKi8KKwkJICAgIHBhckJpbmQtPm5vZGVUYWJsZSA9ICh4bWxTY2hlbWFQU1ZJSURDTm9kZVB0ciAqKQorCQkJeG1sTWFsbG9jKGJpbmQtPm5iTm9kZXMgKgorCQkJc2l6ZW9mKHhtbFNjaGVtYVBTVklJRENOb2RlUHRyKSk7CisJCSAgICBpZiAocGFyQmluZC0+bm9kZVRhYmxlID09IE5VTEwpIHsKKwkJCXhtbFNjaGVtYVZFcnJNZW1vcnkoTlVMTCwKKwkJCSAgICAiYWxsb2NhdGluZyBhbiBhcnJheSBvZiBJREMgbm9kZS10YWJsZSAiCisJCQkgICAgIml0ZW1zIiwgTlVMTCk7CisJCQl4bWxTY2hlbWFJRENGcmVlQmluZGluZyhwYXJCaW5kKTsKKwkJCWdvdG8gaW50ZXJuYWxfZXJyb3I7CisJCSAgICB9CisJCSAgICBwYXJCaW5kLT5zaXplTm9kZXMgPSBiaW5kLT5uYk5vZGVzOworCQkgICAgcGFyQmluZC0+bmJOb2RlcyA9IGJpbmQtPm5iTm9kZXM7CisJCSAgICBtZW1jcHkocGFyQmluZC0+bm9kZVRhYmxlLCBiaW5kLT5ub2RlVGFibGUsCisJCQliaW5kLT5uYk5vZGVzICogc2l6ZW9mKHhtbFNjaGVtYVBTVklJRENOb2RlUHRyKSk7CisJCX0KKwkgICAgfQorCSAgICBpZiAoYmluZC0+ZHVwbHMpIHsKKwkJLyoKKwkJKiBNb3ZlIHRoZSBkdXBsaWNhdGVzLgorCQkqLworCQlpZiAocGFyQmluZC0+ZHVwbHMgIT0gTlVMTCkKKwkJICAgIHhtbFNjaGVtYUl0ZW1MaXN0RnJlZShwYXJCaW5kLT5kdXBscyk7CisJCXBhckJpbmQtPmR1cGxzID0gYmluZC0+ZHVwbHM7CisJCWJpbmQtPmR1cGxzID0gTlVMTDsKKwkgICAgfQorICAgICAgICAgICAgaWYgKHBhclRhYmxlICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICBpZiAoKnBhclRhYmxlID09IE5VTEwpCisgICAgICAgICAgICAgICAgICAgICpwYXJUYWJsZSA9IHBhckJpbmQ7CisgICAgICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIHBhckJpbmQtPm5leHQgPSAqcGFyVGFibGU7CisgICAgICAgICAgICAgICAgICAgICpwYXJUYWJsZSA9IHBhckJpbmQ7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorCX0KKworbmV4dF9iaW5kaW5nOgorCWJpbmQgPSBiaW5kLT5uZXh0OworICAgIH0KKyAgICByZXR1cm4gKDApOworCitpbnRlcm5hbF9lcnJvcjoKKyAgICByZXR1cm4oLTEpOworfQorCisvKioKKyAqIHhtbFNjaGVtYUNoZWNrQ1ZDSURDS2V5UmVmOgorICogQHZjdHh0OiB0aGUgV1hTIHZhbGlkYXRpb24gY29udGV4dAorICogQGVsZW1EZWNsOiB0aGUgZWxlbWVudCBkZWNsYXJhdGlvbgorICoKKyAqIENoZWNrIHRoZSBjdmMtaWRjLWtleXJlZiBjb25zdHJhaW50cy4KKyAqLworc3RhdGljIGludAoreG1sU2NoZW1hQ2hlY2tDVkNJRENLZXlSZWYoeG1sU2NoZW1hVmFsaWRDdHh0UHRyIHZjdHh0KQoreworICAgIHhtbFNjaGVtYUlEQ01hdGNoZXJQdHIgbWF0Y2hlcjsKKyAgICB4bWxTY2hlbWFQU1ZJSURDQmluZGluZ1B0ciBiaW5kOworCisgICAgbWF0Y2hlciA9IHZjdHh0LT5pbm9kZS0+aWRjTWF0Y2hlcnM7CisgICAgLyoKKyAgICAqIEZpbmQgYSBrZXlyZWYuCisgICAgKi8KKyAgICB3aGlsZSAobWF0Y2hlciAhPSBOVUxMKSB7CisJaWYgKChtYXRjaGVyLT5pZGNUeXBlID09IFhNTF9TQ0hFTUFfVFlQRV9JRENfS0VZUkVGKSAmJgorCSAgICBtYXRjaGVyLT50YXJnZXRzICYmCisJICAgIG1hdGNoZXItPnRhcmdldHMtPm5iSXRlbXMpCisJeworCSAgICBpbnQgaSwgaiwgaywgcmVzLCBuYkZpZWxkcywgaGFzRHVwbHM7CisJICAgIHhtbFNjaGVtYVBTVklJRENLZXlQdHIgKnJlZktleXMsICprZXlzOworCSAgICB4bWxTY2hlbWFQU1ZJSURDTm9kZVB0ciByZWZOb2RlID0gTlVMTDsKKworCSAgICBuYkZpZWxkcyA9IG1hdGNoZXItPmFpZGMtPmRlZi0+bmJGaWVsZHM7CisKKwkgICAgLyoKKwkgICAgKiBGaW5kIHRoZSBJREMgbm9kZS10YWJsZSBmb3IgdGhlIHJlZmVyZW5jZWQgSURDIGtleS91bmlxdWUuCisJICAgICovCisJICAgIGJpbmQgPSB2Y3R4dC0+aW5vZGUtPmlkY1RhYmxlOworCSAgICB3aGlsZSAoYmluZCAhPSBOVUxMKSB7CisJCWlmICgoeG1sU2NoZW1hSURDUHRyKSBtYXRjaGVyLT5haWRjLT5kZWYtPnJlZi0+aXRlbSA9PQorCQkgICAgYmluZC0+ZGVmaW5pdGlvbikKKwkJICAgIGJyZWFrOworCQliaW5kID0gYmluZC0+bmV4dDsKKwkgICAgfQorCSAgICBoYXNEdXBscyA9IChiaW5kICYmIGJpbmQtPmR1cGxzICYmIGJpbmQtPmR1cGxzLT5uYkl0ZW1zKSA/IDEgOiAwOworCSAgICAvKgorCSAgICAqIFNlYXJjaCBmb3IgYSBtYXRjaGluZyBrZXktc2VxdWVuY2VzLgorCSAgICAqLworCSAgICBmb3IgKGkgPSAwOyBpIDwgbWF0Y2hlci0+dGFyZ2V0cy0+bmJJdGVtczsgaSsrKSB7CisJCXJlcyA9IDA7CisJCXJlZk5vZGUgPSBtYXRjaGVyLT50YXJnZXRzLT5pdGVtc1tpXTsKKwkJaWYgKGJpbmQgIT0gTlVMTCkgeworCQkgICAgcmVmS2V5cyA9IHJlZk5vZGUtPmtleXM7CisJCSAgICBmb3IgKGogPSAwOyBqIDwgYmluZC0+bmJOb2RlczsgaisrKSB7CisJCQlrZXlzID0gYmluZC0+bm9kZVRhYmxlW2pdLT5rZXlzOworCQkJZm9yIChrID0gMDsgayA8IG5iRmllbGRzOyBrKyspIHsKKwkJCSAgICByZXMgPSB4bWxTY2hlbWFBcmVWYWx1ZXNFcXVhbChrZXlzW2tdLT52YWwsCisJCQkJcmVmS2V5c1trXS0+dmFsKTsKKwkJCSAgICBpZiAocmVzID09IDApCisJCQkJYnJlYWs7CisJCQkgICAgZWxzZSBpZiAocmVzID09IC0xKSB7CisJCQkJcmV0dXJuICgtMSk7CisJCQkgICAgfQorCQkJfQorCQkJaWYgKHJlcyA9PSAxKSB7CisJCQkgICAgLyoKKwkJCSAgICAqIE1hdGNoIGZvdW5kLgorCQkJICAgICovCisJCQkgICAgYnJlYWs7CisJCQl9CisJCSAgICB9CisJCSAgICBpZiAoKHJlcyA9PSAwKSAmJiBoYXNEdXBscykgeworCQkJLyoKKwkJCSogU2VhcmNoIGluIGR1cGxpY2F0ZXMKKwkJCSovCisJCQlmb3IgKGogPSAwOyBqIDwgYmluZC0+ZHVwbHMtPm5iSXRlbXM7IGorKykgeworCQkJICAgIGtleXMgPSAoKHhtbFNjaGVtYVBTVklJRENOb2RlUHRyKQorCQkJCWJpbmQtPmR1cGxzLT5pdGVtc1tqXSktPmtleXM7CisJCQkgICAgZm9yIChrID0gMDsgayA8IG5iRmllbGRzOyBrKyspIHsKKwkJCQlyZXMgPSB4bWxTY2hlbWFBcmVWYWx1ZXNFcXVhbChrZXlzW2tdLT52YWwsCisJCQkJICAgIHJlZktleXNba10tPnZhbCk7CisJCQkJaWYgKHJlcyA9PSAwKQorCQkJCSAgICBicmVhazsKKwkJCQllbHNlIGlmIChyZXMgPT0gLTEpIHsKKwkJCQkgICAgcmV0dXJuICgtMSk7CisJCQkJfQorCQkJICAgIH0KKwkJCSAgICBpZiAocmVzID09IDEpIHsKKwkJCQkvKgorCQkJCSogTWF0Y2ggaW4gZHVwbGljYXRlcyBmb3VuZC4KKwkJCQkqLworCQkJCXhtbENoYXIgKnN0ciA9IE5VTEwsICpzdHJCID0gTlVMTDsKKwkJCQl4bWxTY2hlbWFLZXlyZWZFcnIodmN0eHQsCisJCQkJICAgIFhNTF9TQ0hFTUFWX0NWQ19JREMsIHJlZk5vZGUsCisJCQkJICAgICh4bWxTY2hlbWFUeXBlUHRyKSBtYXRjaGVyLT5haWRjLT5kZWYsCisJCQkJICAgICJNb3JlIHRoYW4gb25lIG1hdGNoIGZvdW5kIGZvciAiCisJCQkJICAgICJrZXktc2VxdWVuY2UgJXMgb2Yga2V5cmVmICclcyciLAorCQkJCSAgICB4bWxTY2hlbWFGb3JtYXRJRENLZXlTZXF1ZW5jZSh2Y3R4dCwgJnN0ciwKKwkJCQkJcmVmTm9kZS0+a2V5cywgbmJGaWVsZHMpLAorCQkJCSAgICB4bWxTY2hlbWFHZXRDb21wb25lbnRRTmFtZSgmc3RyQiwKKwkJCQkJbWF0Y2hlci0+YWlkYy0+ZGVmKSk7CisJCQkJRlJFRV9BTkRfTlVMTChzdHIpOworCQkJCUZSRUVfQU5EX05VTEwoc3RyQik7CisJCQkJYnJlYWs7CisJCQkgICAgfQorCQkJfQorCQkgICAgfQorCQl9CisKKwkJaWYgKHJlcyA9PSAwKSB7CisJCSAgICB4bWxDaGFyICpzdHIgPSBOVUxMLCAqc3RyQiA9IE5VTEw7CisJCSAgICB4bWxTY2hlbWFLZXlyZWZFcnIodmN0eHQsCisJCQlYTUxfU0NIRU1BVl9DVkNfSURDLCByZWZOb2RlLAorCQkJKHhtbFNjaGVtYVR5cGVQdHIpIG1hdGNoZXItPmFpZGMtPmRlZiwKKwkJCSJObyBtYXRjaCBmb3VuZCBmb3Iga2V5LXNlcXVlbmNlICVzIG9mIGtleXJlZiAnJXMnIiwKKwkJCXhtbFNjaGVtYUZvcm1hdElEQ0tleVNlcXVlbmNlKHZjdHh0LCAmc3RyLAorCQkJICAgIHJlZk5vZGUtPmtleXMsIG5iRmllbGRzKSwKKwkJCXhtbFNjaGVtYUdldENvbXBvbmVudFFOYW1lKCZzdHJCLCBtYXRjaGVyLT5haWRjLT5kZWYpKTsKKwkJICAgIEZSRUVfQU5EX05VTEwoc3RyKTsKKwkJICAgIEZSRUVfQU5EX05VTEwoc3RyQik7CisJCX0KKwkgICAgfQorCX0KKwltYXRjaGVyID0gbWF0Y2hlci0+bmV4dDsKKyAgICB9CisgICAgLyogVE9ETzogUmV0dXJuIGFuIGVycm9yIGlmIGFueSBlcnJvciBlbmNvdW50ZXJlZC4gKi8KKyAgICByZXR1cm4gKDApOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQkJWE1MIFJlYWRlciB2YWxpZGF0aW9uIGNvZGUgICAgICAgICAgICAgICAgICAgICAgKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitzdGF0aWMgeG1sU2NoZW1hQXR0ckluZm9QdHIKK3htbFNjaGVtYUdldEZyZXNoQXR0ckluZm8oeG1sU2NoZW1hVmFsaWRDdHh0UHRyIHZjdHh0KQoreworICAgIHhtbFNjaGVtYUF0dHJJbmZvUHRyIGlhdHRyOworICAgIC8qCisgICAgKiBHcm93L2NyZWF0ZSBsaXN0IG9mIGF0dHJpYnV0ZSBpbmZvcy4KKyAgICAqLworICAgIGlmICh2Y3R4dC0+YXR0ckluZm9zID09IE5VTEwpIHsKKwl2Y3R4dC0+YXR0ckluZm9zID0gKHhtbFNjaGVtYUF0dHJJbmZvUHRyICopCisJICAgIHhtbE1hbGxvYyhzaXplb2YoeG1sU2NoZW1hQXR0ckluZm9QdHIpKTsKKwl2Y3R4dC0+c2l6ZUF0dHJJbmZvcyA9IDE7CisJaWYgKHZjdHh0LT5hdHRySW5mb3MgPT0gTlVMTCkgeworCSAgICB4bWxTY2hlbWFWRXJyTWVtb3J5KHZjdHh0LAorCQkiYWxsb2NhdGluZyBhdHRyaWJ1dGUgaW5mbyBsaXN0IiwgTlVMTCk7CisJICAgIHJldHVybiAoTlVMTCk7CisJfQorICAgIH0gZWxzZSBpZiAodmN0eHQtPnNpemVBdHRySW5mb3MgPD0gdmN0eHQtPm5iQXR0ckluZm9zKSB7CisJdmN0eHQtPnNpemVBdHRySW5mb3MrKzsKKwl2Y3R4dC0+YXR0ckluZm9zID0gKHhtbFNjaGVtYUF0dHJJbmZvUHRyICopCisJICAgIHhtbFJlYWxsb2ModmN0eHQtPmF0dHJJbmZvcywKKwkJdmN0eHQtPnNpemVBdHRySW5mb3MgKiBzaXplb2YoeG1sU2NoZW1hQXR0ckluZm9QdHIpKTsKKwlpZiAodmN0eHQtPmF0dHJJbmZvcyA9PSBOVUxMKSB7CisJICAgIHhtbFNjaGVtYVZFcnJNZW1vcnkodmN0eHQsCisJCSJyZS1hbGxvY2F0aW5nIGF0dHJpYnV0ZSBpbmZvIGxpc3QiLCBOVUxMKTsKKwkgICAgcmV0dXJuIChOVUxMKTsKKwl9CisgICAgfSBlbHNlIHsKKwlpYXR0ciA9IHZjdHh0LT5hdHRySW5mb3NbdmN0eHQtPm5iQXR0ckluZm9zKytdOworCWlmIChpYXR0ci0+bG9jYWxOYW1lICE9IE5VTEwpIHsKKwkgICAgVkVSUk9SX0lOVCgieG1sU2NoZW1hR2V0RnJlc2hBdHRySW5mbyIsCisJCSJhdHRyIGluZm8gbm90IGNsZWFyZWQiKTsKKwkgICAgcmV0dXJuIChOVUxMKTsKKwl9CisJaWF0dHItPm5vZGVUeXBlID0gWE1MX0FUVFJJQlVURV9OT0RFOworCXJldHVybiAoaWF0dHIpOworICAgIH0KKyAgICAvKgorICAgICogQ3JlYXRlIGFuIGF0dHJpYnV0ZSBpbmZvLgorICAgICovCisgICAgaWF0dHIgPSAoeG1sU2NoZW1hQXR0ckluZm9QdHIpCisJeG1sTWFsbG9jKHNpemVvZih4bWxTY2hlbWFBdHRySW5mbykpOworICAgIGlmIChpYXR0ciA9PSBOVUxMKSB7CisJeG1sU2NoZW1hVkVyck1lbW9yeSh2Y3R4dCwgImNyZWF0aW5nIG5ldyBhdHRyaWJ1dGUgaW5mbyIsIE5VTEwpOworCXJldHVybiAoTlVMTCk7CisgICAgfQorICAgIG1lbXNldChpYXR0ciwgMCwgc2l6ZW9mKHhtbFNjaGVtYUF0dHJJbmZvKSk7CisgICAgaWF0dHItPm5vZGVUeXBlID0gWE1MX0FUVFJJQlVURV9OT0RFOworICAgIHZjdHh0LT5hdHRySW5mb3NbdmN0eHQtPm5iQXR0ckluZm9zKytdID0gaWF0dHI7CisKKyAgICByZXR1cm4gKGlhdHRyKTsKK30KKworc3RhdGljIGludAoreG1sU2NoZW1hVmFsaWRhdG9yUHVzaEF0dHJpYnV0ZSh4bWxTY2hlbWFWYWxpZEN0eHRQdHIgdmN0eHQsCisJCQl4bWxOb2RlUHRyIGF0dHJOb2RlLAorCQkJaW50IG5vZGVMaW5lLAorCQkJY29uc3QgeG1sQ2hhciAqbG9jYWxOYW1lLAorCQkJY29uc3QgeG1sQ2hhciAqbnNOYW1lLAorCQkJaW50IG93bmVkTmFtZXMsCisJCQl4bWxDaGFyICp2YWx1ZSwKKwkJCWludCBvd25lZFZhbHVlKQoreworICAgIHhtbFNjaGVtYUF0dHJJbmZvUHRyIGF0dHI7CisKKyAgICBhdHRyID0geG1sU2NoZW1hR2V0RnJlc2hBdHRySW5mbyh2Y3R4dCk7CisgICAgaWYgKGF0dHIgPT0gTlVMTCkgeworCVZFUlJPUl9JTlQoInhtbFNjaGVtYVB1c2hBdHRyaWJ1dGUiLAorCSAgICAiY2FsbGluZyB4bWxTY2hlbWFHZXRGcmVzaEF0dHJJbmZvKCkiKTsKKwlyZXR1cm4gKC0xKTsKKyAgICB9CisgICAgYXR0ci0+bm9kZSA9IGF0dHJOb2RlOworICAgIGF0dHItPm5vZGVMaW5lID0gbm9kZUxpbmU7CisgICAgYXR0ci0+c3RhdGUgPSBYTUxfU0NIRU1BU19BVFRSX1VOS05PV047CisgICAgYXR0ci0+bG9jYWxOYW1lID0gbG9jYWxOYW1lOworICAgIGF0dHItPm5zTmFtZSA9IG5zTmFtZTsKKyAgICBpZiAob3duZWROYW1lcykKKwlhdHRyLT5mbGFncyB8PSBYTUxfU0NIRU1BX05PREVfSU5GT19GTEFHX09XTkVEX05BTUVTOworICAgIC8qCisgICAgKiBFdmFsdWF0ZSBpZiBpdCdzIGFuIFhTSSBhdHRyaWJ1dGUuCisgICAgKi8KKyAgICBpZiAobnNOYW1lICE9IE5VTEwpIHsKKwlpZiAoeG1sU3RyRXF1YWwobG9jYWxOYW1lLCBCQURfQ0FTVCAibmlsIikpIHsKKwkgICAgaWYgKHhtbFN0ckVxdWFsKGF0dHItPm5zTmFtZSwgeG1sU2NoZW1hSW5zdGFuY2VOcykpIHsKKwkJYXR0ci0+bWV0YVR5cGUgPSBYTUxfU0NIRU1BX0FUVFJfSU5GT19NRVRBX1hTSV9OSUw7CisJICAgIH0KKwl9IGVsc2UgaWYgKHhtbFN0ckVxdWFsKGxvY2FsTmFtZSwgQkFEX0NBU1QgInR5cGUiKSkgeworCSAgICBpZiAoeG1sU3RyRXF1YWwoYXR0ci0+bnNOYW1lLCB4bWxTY2hlbWFJbnN0YW5jZU5zKSkgeworCQlhdHRyLT5tZXRhVHlwZSA9IFhNTF9TQ0hFTUFfQVRUUl9JTkZPX01FVEFfWFNJX1RZUEU7CisJICAgIH0KKwl9IGVsc2UgaWYgKHhtbFN0ckVxdWFsKGxvY2FsTmFtZSwgQkFEX0NBU1QgInNjaGVtYUxvY2F0aW9uIikpIHsKKwkgICAgaWYgKHhtbFN0ckVxdWFsKGF0dHItPm5zTmFtZSwgeG1sU2NoZW1hSW5zdGFuY2VOcykpIHsKKwkJYXR0ci0+bWV0YVR5cGUgPSBYTUxfU0NIRU1BX0FUVFJfSU5GT19NRVRBX1hTSV9TQ0hFTUFfTE9DOworCSAgICB9CisJfSBlbHNlIGlmICh4bWxTdHJFcXVhbChsb2NhbE5hbWUsIEJBRF9DQVNUICJub05hbWVzcGFjZVNjaGVtYUxvY2F0aW9uIikpIHsKKwkgICAgaWYgKHhtbFN0ckVxdWFsKGF0dHItPm5zTmFtZSwgeG1sU2NoZW1hSW5zdGFuY2VOcykpIHsKKwkJYXR0ci0+bWV0YVR5cGUgPSBYTUxfU0NIRU1BX0FUVFJfSU5GT19NRVRBX1hTSV9OT19OU19TQ0hFTUFfTE9DOworCSAgICB9CisJfSBlbHNlIGlmICh4bWxTdHJFcXVhbChhdHRyLT5uc05hbWUsIHhtbE5hbWVzcGFjZU5zKSkgeworCSAgICBhdHRyLT5tZXRhVHlwZSA9IFhNTF9TQ0hFTUFfQVRUUl9JTkZPX01FVEFfWE1MTlM7CisJfQorICAgIH0KKyAgICBhdHRyLT52YWx1ZSA9IHZhbHVlOworICAgIGlmIChvd25lZFZhbHVlKQorCWF0dHItPmZsYWdzIHw9IFhNTF9TQ0hFTUFfTk9ERV9JTkZPX0ZMQUdfT1dORURfVkFMVUVTOworICAgIGlmIChhdHRyLT5tZXRhVHlwZSAhPSAwKQorCWF0dHItPnN0YXRlID0gWE1MX1NDSEVNQVNfQVRUUl9NRVRBOworICAgIHJldHVybiAoMCk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hQ2xlYXJFbGVtSW5mbzoKKyAqIEB2Y3R4dDogdGhlIFdYUyB2YWxpZGF0aW9uIGNvbnRleHQKKyAqIEBpZWxlbTogdGhlIGVsZW1lbnQgaW5mb3JtYXRpb24gaXRlbQorICovCitzdGF0aWMgdm9pZAoreG1sU2NoZW1hQ2xlYXJFbGVtSW5mbyh4bWxTY2hlbWFWYWxpZEN0eHRQdHIgdmN0eHQsCisJCSAgICAgICB4bWxTY2hlbWFOb2RlSW5mb1B0ciBpZWxlbSkKK3sKKyAgICBpZWxlbS0+aGFzS2V5cmVmcyA9IDA7CisgICAgaWVsZW0tPmFwcGxpZWRYUGF0aCA9IDA7CisgICAgaWYgKGllbGVtLT5mbGFncyAmIFhNTF9TQ0hFTUFfTk9ERV9JTkZPX0ZMQUdfT1dORURfTkFNRVMpIHsKKwlGUkVFX0FORF9OVUxMKGllbGVtLT5sb2NhbE5hbWUpOworCUZSRUVfQU5EX05VTEwoaWVsZW0tPm5zTmFtZSk7CisgICAgfSBlbHNlIHsKKwlpZWxlbS0+bG9jYWxOYW1lID0gTlVMTDsKKwlpZWxlbS0+bnNOYW1lID0gTlVMTDsKKyAgICB9CisgICAgaWYgKGllbGVtLT5mbGFncyAmIFhNTF9TQ0hFTUFfTk9ERV9JTkZPX0ZMQUdfT1dORURfVkFMVUVTKSB7CisJRlJFRV9BTkRfTlVMTChpZWxlbS0+dmFsdWUpOworICAgIH0gZWxzZSB7CisJaWVsZW0tPnZhbHVlID0gTlVMTDsKKyAgICB9CisgICAgaWYgKGllbGVtLT52YWwgIT0gTlVMTCkgeworCS8qCisJKiBQU1ZJIFRPRE86IEJlIGNhcmVmdWwgbm90IHRvIGZyZWUgaXQgd2hlbiB0aGUgdmFsdWUgaXMKKwkqIGV4cG9zZWQgdmlhIFBTVkkuCisJKi8KKwl4bWxTY2hlbWFGcmVlVmFsdWUoaWVsZW0tPnZhbCk7CisJaWVsZW0tPnZhbCA9IE5VTEw7CisgICAgfQorICAgIGlmIChpZWxlbS0+aWRjTWF0Y2hlcnMgIT0gTlVMTCkgeworCS8qCisJKiBSRVZJU0lUIE9QVElNSVpFIFRPRE86IFVzZSBhIHBvb2wgb2YgSURDIG1hdGNoZXJzLgorCSogICBEb2VzIGl0IHdvcms/CisJKi8KKwl4bWxTY2hlbWFJRENSZWxlYXNlTWF0Y2hlckxpc3QodmN0eHQsIGllbGVtLT5pZGNNYXRjaGVycyk7CisjaWYgMAorCXhtbFNjaGVtYUlEQ0ZyZWVNYXRjaGVyTGlzdChpZWxlbS0+aWRjTWF0Y2hlcnMpOworI2VuZGlmCisJaWVsZW0tPmlkY01hdGNoZXJzID0gTlVMTDsKKyAgICB9CisgICAgaWYgKGllbGVtLT5pZGNUYWJsZSAhPSBOVUxMKSB7CisJLyoKKwkqIE9QVElNSVpFIFRPRE86IFVzZSBhIHBvb2wgb2YgSURDIHRhYmxlcz8/LgorCSovCisJeG1sU2NoZW1hSURDRnJlZUlEQ1RhYmxlKGllbGVtLT5pZGNUYWJsZSk7CisJaWVsZW0tPmlkY1RhYmxlID0gTlVMTDsKKyAgICB9CisgICAgaWYgKGllbGVtLT5yZWdleEN0eHQgIT0gTlVMTCkgeworCXhtbFJlZ0ZyZWVFeGVjQ3R4dChpZWxlbS0+cmVnZXhDdHh0KTsKKwlpZWxlbS0+cmVnZXhDdHh0ID0gTlVMTDsKKyAgICB9CisgICAgaWYgKGllbGVtLT5uc0JpbmRpbmdzICE9IE5VTEwpIHsKKwl4bWxGcmVlKCh4bWxDaGFyICoqKWllbGVtLT5uc0JpbmRpbmdzKTsKKwlpZWxlbS0+bnNCaW5kaW5ncyA9IE5VTEw7CisJaWVsZW0tPm5iTnNCaW5kaW5ncyA9IDA7CisJaWVsZW0tPnNpemVOc0JpbmRpbmdzID0gMDsKKyAgICB9Cit9CisKKy8qKgorICogeG1sU2NoZW1hR2V0RnJlc2hFbGVtSW5mbzoKKyAqIEB2Y3R4dDogdGhlIHNjaGVtYSB2YWxpZGF0aW9uIGNvbnRleHQKKyAqCisgKiBDcmVhdGVzL3JldXNlcyBhbmQgaW5pdGlhbGl6ZXMgdGhlIGVsZW1lbnQgaW5mbyBpdGVtIGZvcgorICogdGhlIGN1cnJlY3QgdHJlZSBkZXB0aC4KKyAqCisgKiBSZXR1cm5zIHRoZSBlbGVtZW50IGluZm8gaXRlbSBvciBOVUxMIG9uIEFQSSBvciBpbnRlcm5hbCBlcnJvcnMuCisgKi8KK3N0YXRpYyB4bWxTY2hlbWFOb2RlSW5mb1B0cgoreG1sU2NoZW1hR2V0RnJlc2hFbGVtSW5mbyh4bWxTY2hlbWFWYWxpZEN0eHRQdHIgdmN0eHQpCit7CisgICAgeG1sU2NoZW1hTm9kZUluZm9QdHIgaW5mbyA9IE5VTEw7CisKKyAgICBpZiAodmN0eHQtPmRlcHRoID4gdmN0eHQtPnNpemVFbGVtSW5mb3MpIHsKKwlWRVJST1JfSU5UKCJ4bWxTY2hlbWFHZXRGcmVzaEVsZW1JbmZvIiwKKwkgICAgImluY29uc2lzdGVudCBkZXB0aCBlbmNvdW50ZXJlZCIpOworCXJldHVybiAoTlVMTCk7CisgICAgfQorICAgIGlmICh2Y3R4dC0+ZWxlbUluZm9zID09IE5VTEwpIHsKKwl2Y3R4dC0+ZWxlbUluZm9zID0gKHhtbFNjaGVtYU5vZGVJbmZvUHRyICopCisJICAgIHhtbE1hbGxvYygxMCAqIHNpemVvZih4bWxTY2hlbWFOb2RlSW5mb1B0cikpOworCWlmICh2Y3R4dC0+ZWxlbUluZm9zID09IE5VTEwpIHsKKwkgICAgeG1sU2NoZW1hVkVyck1lbW9yeSh2Y3R4dCwKKwkJImFsbG9jYXRpbmcgdGhlIGVsZW1lbnQgaW5mbyBhcnJheSIsIE5VTEwpOworCSAgICByZXR1cm4gKE5VTEwpOworCX0KKwltZW1zZXQodmN0eHQtPmVsZW1JbmZvcywgMCwgMTAgKiBzaXplb2YoeG1sU2NoZW1hTm9kZUluZm9QdHIpKTsKKwl2Y3R4dC0+c2l6ZUVsZW1JbmZvcyA9IDEwOworICAgIH0gZWxzZSBpZiAodmN0eHQtPnNpemVFbGVtSW5mb3MgPD0gdmN0eHQtPmRlcHRoKSB7CisJaW50IGkgPSB2Y3R4dC0+c2l6ZUVsZW1JbmZvczsKKworCXZjdHh0LT5zaXplRWxlbUluZm9zICo9IDI7CisJdmN0eHQtPmVsZW1JbmZvcyA9ICh4bWxTY2hlbWFOb2RlSW5mb1B0ciAqKQorCSAgICB4bWxSZWFsbG9jKHZjdHh0LT5lbGVtSW5mb3MsIHZjdHh0LT5zaXplRWxlbUluZm9zICoKKwkgICAgc2l6ZW9mKHhtbFNjaGVtYU5vZGVJbmZvUHRyKSk7CisJaWYgKHZjdHh0LT5lbGVtSW5mb3MgPT0gTlVMTCkgeworCSAgICB4bWxTY2hlbWFWRXJyTWVtb3J5KHZjdHh0LAorCQkicmUtYWxsb2NhdGluZyB0aGUgZWxlbWVudCBpbmZvIGFycmF5IiwgTlVMTCk7CisJICAgIHJldHVybiAoTlVMTCk7CisJfQorCS8qCisJKiBXZSBuZWVkIHRoZSBuZXcgbWVtb3J5IHRvIGJlIE5VTExlZC4KKwkqIFRPRE86IFVzZSBtZW1zZXQgaW5zdGVhZD8KKwkqLworCWZvciAoOyBpIDwgdmN0eHQtPnNpemVFbGVtSW5mb3M7IGkrKykKKwkgICAgdmN0eHQtPmVsZW1JbmZvc1tpXSA9IE5VTEw7CisgICAgfSBlbHNlCisJaW5mbyA9IHZjdHh0LT5lbGVtSW5mb3NbdmN0eHQtPmRlcHRoXTsKKworICAgIGlmIChpbmZvID09IE5VTEwpIHsKKwlpbmZvID0gKHhtbFNjaGVtYU5vZGVJbmZvUHRyKQorCSAgICB4bWxNYWxsb2Moc2l6ZW9mKHhtbFNjaGVtYU5vZGVJbmZvKSk7CisJaWYgKGluZm8gPT0gTlVMTCkgeworCSAgICB4bWxTY2hlbWFWRXJyTWVtb3J5KHZjdHh0LAorCQkiYWxsb2NhdGluZyBhbiBlbGVtZW50IGluZm8iLCBOVUxMKTsKKwkgICAgcmV0dXJuIChOVUxMKTsKKwl9CisJdmN0eHQtPmVsZW1JbmZvc1t2Y3R4dC0+ZGVwdGhdID0gaW5mbzsKKyAgICB9IGVsc2UgeworCWlmIChpbmZvLT5sb2NhbE5hbWUgIT0gTlVMTCkgeworCSAgICBWRVJST1JfSU5UKCJ4bWxTY2hlbWFHZXRGcmVzaEVsZW1JbmZvIiwKKwkJImVsZW0gaW5mbyBoYXMgbm90IGJlZW4gY2xlYXJlZCIpOworCSAgICByZXR1cm4gKE5VTEwpOworCX0KKyAgICB9CisgICAgbWVtc2V0KGluZm8sIDAsIHNpemVvZih4bWxTY2hlbWFOb2RlSW5mbykpOworICAgIGluZm8tPm5vZGVUeXBlID0gWE1MX0VMRU1FTlRfTk9ERTsKKyAgICBpbmZvLT5kZXB0aCA9IHZjdHh0LT5kZXB0aDsKKworICAgIHJldHVybiAoaW5mbyk7Cit9CisKKyNkZWZpbmUgQUNUSVZBVEVfQVRUUklCVVRFKGl0ZW0pIHZjdHh0LT5pbm9kZSA9ICh4bWxTY2hlbWFOb2RlSW5mb1B0cikgaXRlbTsKKyNkZWZpbmUgQUNUSVZBVEVfRUxFTSB2Y3R4dC0+aW5vZGUgPSB2Y3R4dC0+ZWxlbUluZm9zW3ZjdHh0LT5kZXB0aF07CisjZGVmaW5lIEFDVElWQVRFX1BBUkVOVF9FTEVNIHZjdHh0LT5pbm9kZSA9IHZjdHh0LT5lbGVtSW5mb3NbdmN0eHQtPmRlcHRoIC0xXTsKKworc3RhdGljIGludAoreG1sU2NoZW1hVmFsaWRhdGVGYWNldHMoeG1sU2NoZW1hQWJzdHJhY3RDdHh0UHRyIGFjdHh0LAorCQkJeG1sTm9kZVB0ciBub2RlLAorCQkJeG1sU2NoZW1hVHlwZVB0ciB0eXBlLAorCQkJeG1sU2NoZW1hVmFsVHlwZSB2YWxUeXBlLAorCQkJY29uc3QgeG1sQ2hhciAqIHZhbHVlLAorCQkJeG1sU2NoZW1hVmFsUHRyIHZhbCwKKwkJCXVuc2lnbmVkIGxvbmcgbGVuZ3RoLAorCQkJaW50IGZpcmVFcnJvcnMpCit7CisgICAgaW50IHJldCwgZXJyb3IgPSAwOworCisgICAgeG1sU2NoZW1hVHlwZVB0ciB0bXBUeXBlOworICAgIHhtbFNjaGVtYUZhY2V0TGlua1B0ciBmYWNldExpbms7CisgICAgeG1sU2NoZW1hRmFjZXRQdHIgZmFjZXQ7CisgICAgdW5zaWduZWQgbG9uZyBsZW4gPSAwOworICAgIHhtbFNjaGVtYVdoaXRlc3BhY2VWYWx1ZVR5cGUgd3M7CisKKyAgICAvKgorICAgICogSW4gTGlieG1sMiwgZGVyaXZlZCBidWlsdC1pbiB0eXBlcyBoYXZlIGN1cnJlbnRseSBubyBleHBsaWNpdCBmYWNldHMuCisgICAgKi8KKyAgICBpZiAodHlwZS0+dHlwZSA9PSBYTUxfU0NIRU1BX1RZUEVfQkFTSUMpCisJcmV0dXJuICgwKTsKKworICAgIC8qCisgICAgKiBOT1RFOiBEbyBub3QganVtcCBhd2F5LCBpZiB0aGUgZmFjZXRTZXQgb2YgdGhlIGdpdmVuIHR5cGUgaXMKKyAgICAqIGVtcHR5OiB1bnRpbCBub3csICJwYXR0ZXJuIiBhbmQgImVudW1lcmF0aW9uIiBmYWNldHMgb2YgdGhlCisgICAgKiAqYmFzZSB0eXBlcyogbmVlZCB0byBiZSBjaGVja2VkIGFzIHdlbGwuCisgICAgKi8KKyAgICBpZiAodHlwZS0+ZmFjZXRTZXQgPT0gTlVMTCkKKwlnb3RvIHBhdHRlcm5fYW5kX2VudW07CisKKyAgICBpZiAoISBXWFNfSVNfQVRPTUlDKHR5cGUpKSB7CisJaWYgKFdYU19JU19MSVNUKHR5cGUpKQorCSAgICBnb3RvIFdYU19JU19MSVNUOworCWVsc2UKKwkgICAgZ290byBwYXR0ZXJuX2FuZF9lbnVtOworICAgIH0KKyAgICAvKgorICAgICogV2hpdGVzcGFjZSBoYW5kbGluZyBpcyBvbmx5IG9mIGltcG9ydGFuY2UgZm9yIHN0cmluZy1iYXNlZAorICAgICogdHlwZXMuCisgICAgKi8KKyAgICB0bXBUeXBlID0geG1sU2NoZW1hR2V0UHJpbWl0aXZlVHlwZSh0eXBlKTsKKyAgICBpZiAoKHRtcFR5cGUtPmJ1aWx0SW5UeXBlID09IFhNTF9TQ0hFTUFTX1NUUklORykgfHwKKwlXWFNfSVNfQU5ZX1NJTVBMRV9UWVBFKHRtcFR5cGUpKSB7CisJd3MgPSB4bWxTY2hlbWFHZXRXaGl0ZVNwYWNlRmFjZXRWYWx1ZSh0eXBlKTsKKyAgICB9IGVsc2UKKwl3cyA9IFhNTF9TQ0hFTUFfV0hJVEVTUEFDRV9DT0xMQVBTRTsKKyAgICAvKgorICAgICogSWYgdGhlIHZhbHVlIHdhcyBub3QgY29tcHV0ZWQgKGZvciBzdHJpbmcgb3IKKyAgICAqIGFueVNpbXBsZVR5cGUgYmFzZWQgdHlwZXMpLCB0aGVuIHVzZSB0aGUgcHJvdmlkZWQKKyAgICAqIHR5cGUuCisgICAgKi8KKyAgICBpZiAodmFsID09IE5VTEwpCisJdmFsVHlwZSA9IHZhbFR5cGU7CisgICAgZWxzZQorCXZhbFR5cGUgPSB4bWxTY2hlbWFHZXRWYWxUeXBlKHZhbCk7CisKKyAgICByZXQgPSAwOworICAgIGZvciAoZmFjZXRMaW5rID0gdHlwZS0+ZmFjZXRTZXQ7IGZhY2V0TGluayAhPSBOVUxMOworCWZhY2V0TGluayA9IGZhY2V0TGluay0+bmV4dCkgeworCS8qCisJKiBTa2lwIHRoZSBwYXR0ZXJuICJ3aGl0ZVNwYWNlIjogaXQgaXMgdXNlZCB0bworCSogZm9ybWF0IHRoZSBjaGFyYWN0ZXIgY29udGVudCBiZWZvcmVoYW5kLgorCSovCisJc3dpdGNoIChmYWNldExpbmstPmZhY2V0LT50eXBlKSB7CisJICAgIGNhc2UgWE1MX1NDSEVNQV9GQUNFVF9XSElURVNQQUNFOgorCSAgICBjYXNlIFhNTF9TQ0hFTUFfRkFDRVRfUEFUVEVSTjoKKwkgICAgY2FzZSBYTUxfU0NIRU1BX0ZBQ0VUX0VOVU1FUkFUSU9OOgorCQljb250aW51ZTsKKwkgICAgY2FzZSBYTUxfU0NIRU1BX0ZBQ0VUX0xFTkdUSDoKKwkgICAgY2FzZSBYTUxfU0NIRU1BX0ZBQ0VUX01JTkxFTkdUSDoKKwkgICAgY2FzZSBYTUxfU0NIRU1BX0ZBQ0VUX01BWExFTkdUSDoKKwkJcmV0ID0geG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldFdodHNwKGZhY2V0TGluay0+ZmFjZXQsCisJCSAgICB2YWxUeXBlLCB2YWx1ZSwgdmFsLCAmbGVuLCB3cyk7CisJCWJyZWFrOworCSAgICBkZWZhdWx0OgorCQlyZXQgPSB4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0V2h0c3AoZmFjZXRMaW5rLT5mYWNldCwgd3MsCisJCSAgICB2YWxUeXBlLCB2YWx1ZSwgdmFsLCB3cyk7CisJCWJyZWFrOworCX0KKwlpZiAocmV0IDwgMCkgeworCSAgICBBRVJST1JfSU5UKCJ4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0cyIsCisJCSJ2YWxpZGF0aW5nIGFnYWluc3QgYSBhdG9taWMgdHlwZSBmYWNldCIpOworCSAgICByZXR1cm4gKC0xKTsKKwl9IGVsc2UgaWYgKHJldCA+IDApIHsKKwkgICAgaWYgKGZpcmVFcnJvcnMpCisJCXhtbFNjaGVtYUZhY2V0RXJyKGFjdHh0LCByZXQsIG5vZGUsCisJCXZhbHVlLCBsZW4sIHR5cGUsIGZhY2V0TGluay0+ZmFjZXQsIE5VTEwsIE5VTEwsIE5VTEwpOworCSAgICBlbHNlCisJCXJldHVybiAocmV0KTsKKwkgICAgaWYgKGVycm9yID09IDApCisJCWVycm9yID0gcmV0OworCX0KKwlyZXQgPSAwOworICAgIH0KKworV1hTX0lTX0xJU1Q6CisgICAgaWYgKCEgV1hTX0lTX0xJU1QodHlwZSkpCisJZ290byBwYXR0ZXJuX2FuZF9lbnVtOworICAgIC8qCisgICAgKiAibGVuZ3RoIiwgIm1pbkxlbmd0aCIgYW5kICJtYXhMZW5ndGgiIG9mIGxpc3QgdHlwZXMuCisgICAgKi8KKyAgICByZXQgPSAwOworICAgIGZvciAoZmFjZXRMaW5rID0gdHlwZS0+ZmFjZXRTZXQ7IGZhY2V0TGluayAhPSBOVUxMOworCWZhY2V0TGluayA9IGZhY2V0TGluay0+bmV4dCkgeworCisJc3dpdGNoIChmYWNldExpbmstPmZhY2V0LT50eXBlKSB7CisJICAgIGNhc2UgWE1MX1NDSEVNQV9GQUNFVF9MRU5HVEg6CisJICAgIGNhc2UgWE1MX1NDSEVNQV9GQUNFVF9NSU5MRU5HVEg6CisJICAgIGNhc2UgWE1MX1NDSEVNQV9GQUNFVF9NQVhMRU5HVEg6CisJCXJldCA9IHhtbFNjaGVtYVZhbGlkYXRlTGlzdFNpbXBsZVR5cGVGYWNldChmYWNldExpbmstPmZhY2V0LAorCQkgICAgdmFsdWUsIGxlbmd0aCwgTlVMTCk7CisJCWJyZWFrOworCSAgICBkZWZhdWx0OgorCQljb250aW51ZTsKKwl9CisJaWYgKHJldCA8IDApIHsKKwkgICAgQUVSUk9SX0lOVCgieG1sU2NoZW1hVmFsaWRhdGVGYWNldHMiLAorCQkidmFsaWRhdGluZyBhZ2FpbnN0IGEgbGlzdCB0eXBlIGZhY2V0Iik7CisJICAgIHJldHVybiAoLTEpOworCX0gZWxzZSBpZiAocmV0ID4gMCkgeworCSAgICBpZiAoZmlyZUVycm9ycykKKwkJeG1sU2NoZW1hRmFjZXRFcnIoYWN0eHQsIHJldCwgbm9kZSwKKwkJdmFsdWUsIGxlbmd0aCwgdHlwZSwgZmFjZXRMaW5rLT5mYWNldCwgTlVMTCwgTlVMTCwgTlVMTCk7CisJICAgIGVsc2UKKwkJcmV0dXJuIChyZXQpOworCSAgICBpZiAoZXJyb3IgPT0gMCkKKwkJZXJyb3IgPSByZXQ7CisJfQorCXJldCA9IDA7CisgICAgfQorCitwYXR0ZXJuX2FuZF9lbnVtOgorICAgIGlmIChlcnJvciA+PSAwKSB7CisJaW50IGZvdW5kID0gMDsKKwkvKgorCSogUHJvY2VzcyBlbnVtZXJhdGlvbnMuIEZhY2V0IHZhbHVlcyBhcmUgaW4gdGhlIHZhbHVlIHNwYWNlCisJKiBvZiB0aGUgZGVmaW5pbmcgdHlwZSdzIGJhc2UgdHlwZS4gVGhpcyBzZWVtcyB0byBiZSBhIGJ1ZyBpbiB0aGUKKwkqIFhNTCBTY2hlbWEgMS4wIHNwZWMuIFVzZSB0aGUgd2hpdGVzcGFjZSB0eXBlIG9mIHRoZSBiYXNlIHR5cGUuCisJKiBPbmx5IHRoZSBmaXJzdCBzZXQgb2YgZW51bWVyYXRpb25zIGluIHRoZSBhbmNlc3Rvci1vci1zZWxmIGF4aXMKKwkqIGlzIHVzZWQgZm9yIHZhbGlkYXRpb24uCisJKi8KKwlyZXQgPSAwOworCXRtcFR5cGUgPSB0eXBlOworCWRvIHsKKwkgICAgZm9yIChmYWNldCA9IHRtcFR5cGUtPmZhY2V0czsgZmFjZXQgIT0gTlVMTDsgZmFjZXQgPSBmYWNldC0+bmV4dCkgeworCQlpZiAoZmFjZXQtPnR5cGUgIT0gWE1MX1NDSEVNQV9GQUNFVF9FTlVNRVJBVElPTikKKwkJICAgIGNvbnRpbnVlOworCQlmb3VuZCA9IDE7CisJCXJldCA9IHhtbFNjaGVtYUFyZVZhbHVlc0VxdWFsKGZhY2V0LT52YWwsIHZhbCk7CisJCWlmIChyZXQgPT0gMSkKKwkJICAgIGJyZWFrOworCQllbHNlIGlmIChyZXQgPCAwKSB7CisJCSAgICBBRVJST1JfSU5UKCJ4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0cyIsCisJCQkidmFsaWRhdGluZyBhZ2FpbnN0IGFuIGVudW1lcmF0aW9uIGZhY2V0Iik7CisJCSAgICByZXR1cm4gKC0xKTsKKwkJfQorCSAgICB9CisJICAgIGlmIChyZXQgIT0gMCkKKwkJYnJlYWs7CisJICAgIC8qCisJICAgICogQnJlYWsgb24gdGhlIGZpcnN0IHNldCBvZiBlbnVtZXJhdGlvbnMuIEFueSBhZGRpdGlvbmFsCisJICAgICogIGVudW1lcmF0aW9ucyB3aGljaCBtaWdodCBiZSBleGlzdGVudCBvbiB0aGUgYW5jZXN0b3JzCisJICAgICogIG9mIHRoZSBjdXJyZW50IHR5cGUgYXJlIHJlc3RyaWN0ZWQgYnkgdGhpcyBzZXQ7IHRodXMKKwkgICAgKiAgKm11c3QqICpub3QqIGJlIHRha2VuIGludG8gYWNjb3VudC4KKwkgICAgKi8KKwkgICAgaWYgKGZvdW5kKQorCQlicmVhazsKKwkgICAgdG1wVHlwZSA9IHRtcFR5cGUtPmJhc2VUeXBlOworCX0gd2hpbGUgKCh0bXBUeXBlICE9IE5VTEwpICYmCisJICAgICh0bXBUeXBlLT50eXBlICE9IFhNTF9TQ0hFTUFfVFlQRV9CQVNJQykpOworCWlmIChmb3VuZCAmJiAocmV0ID09IDApKSB7CisJICAgIHJldCA9IFhNTF9TQ0hFTUFWX0NWQ19FTlVNRVJBVElPTl9WQUxJRDsKKwkgICAgaWYgKGZpcmVFcnJvcnMpIHsKKwkJeG1sU2NoZW1hRmFjZXRFcnIoYWN0eHQsIHJldCwgbm9kZSwKKwkJICAgIHZhbHVlLCAwLCB0eXBlLCBOVUxMLCBOVUxMLCBOVUxMLCBOVUxMKTsKKwkgICAgfSBlbHNlCisJCXJldHVybiAocmV0KTsKKwkgICAgaWYgKGVycm9yID09IDApCisJCWVycm9yID0gcmV0OworCX0KKyAgICB9CisKKyAgICBpZiAoZXJyb3IgPj0gMCkgeworCWludCBmb3VuZDsKKwkvKgorCSogUHJvY2VzcyBwYXR0ZXJzLiBQYXR0ZXJuIGZhY2V0cyBhcmUgT1JlZCBhdCB0eXBlIGxldmVsCisJKiBhbmQgQU5EZWQgaWYgZGVyaXZlZC4gV2FsayB0aGUgYmFzZSB0eXBlIGF4aXMuCisJKi8KKwl0bXBUeXBlID0gdHlwZTsKKwlmYWNldCA9IE5VTEw7CisJZG8geworCSAgICBmb3VuZCA9IDA7CisJICAgIGZvciAoZmFjZXRMaW5rID0gdG1wVHlwZS0+ZmFjZXRTZXQ7IGZhY2V0TGluayAhPSBOVUxMOworCQlmYWNldExpbmsgPSBmYWNldExpbmstPm5leHQpIHsKKwkJaWYgKGZhY2V0TGluay0+ZmFjZXQtPnR5cGUgIT0gWE1MX1NDSEVNQV9GQUNFVF9QQVRURVJOKQorCQkgICAgY29udGludWU7CisJCWZvdW5kID0gMTsKKwkJLyoKKwkJKiBOT1RFIHRoYXQgZm9yIHBhdHRlcm5zLCBAdmFsdWUgbmVlZHMgdG8gYmUgdGhlCisJCSogbm9ybWFsaXplZCB2YXVsZS4KKwkJKi8KKwkJcmV0ID0geG1sUmVnZXhwRXhlYyhmYWNldExpbmstPmZhY2V0LT5yZWdleHAsIHZhbHVlKTsKKwkJaWYgKHJldCA9PSAxKQorCQkgICAgYnJlYWs7CisJCWVsc2UgaWYgKHJldCA8IDApIHsKKwkJICAgIEFFUlJPUl9JTlQoInhtbFNjaGVtYVZhbGlkYXRlRmFjZXRzIiwKKwkJCSJ2YWxpZGF0aW5nIGFnYWluc3QgYSBwYXR0ZXJuIGZhY2V0Iik7CisJCSAgICByZXR1cm4gKC0xKTsKKwkJfSBlbHNlIHsKKwkJICAgIC8qCisJCSAgICAqIFNhdmUgdGhlIGxhc3Qgbm9uLXZhbGlkYXRpbmcgZmFjZXQuCisJCSAgICAqLworCQkgICAgZmFjZXQgPSBmYWNldExpbmstPmZhY2V0OworCQl9CisJICAgIH0KKwkgICAgaWYgKGZvdW5kICYmIChyZXQgIT0gMSkpIHsKKwkJcmV0ID0gWE1MX1NDSEVNQVZfQ1ZDX1BBVFRFUk5fVkFMSUQ7CisJCWlmIChmaXJlRXJyb3JzKSB7CisJCSAgICB4bWxTY2hlbWFGYWNldEVycihhY3R4dCwgcmV0LCBub2RlLAorCQkJdmFsdWUsIDAsIHR5cGUsIGZhY2V0LCBOVUxMLCBOVUxMLCBOVUxMKTsKKwkJfSBlbHNlCisJCSAgICByZXR1cm4gKHJldCk7CisJCWlmIChlcnJvciA9PSAwKQorCQkgICAgZXJyb3IgPSByZXQ7CisJCWJyZWFrOworCSAgICB9CisJICAgIHRtcFR5cGUgPSB0bXBUeXBlLT5iYXNlVHlwZTsKKwl9IHdoaWxlICgodG1wVHlwZSAhPSBOVUxMKSAmJiAodG1wVHlwZS0+dHlwZSAhPSBYTUxfU0NIRU1BX1RZUEVfQkFTSUMpKTsKKyAgICB9CisKKyAgICByZXR1cm4gKGVycm9yKTsKK30KKworc3RhdGljIHhtbENoYXIgKgoreG1sU2NoZW1hTm9ybWFsaXplVmFsdWUoeG1sU2NoZW1hVHlwZVB0ciB0eXBlLAorCQkJY29uc3QgeG1sQ2hhciAqdmFsdWUpCit7CisgICAgc3dpdGNoICh4bWxTY2hlbWFHZXRXaGl0ZVNwYWNlRmFjZXRWYWx1ZSh0eXBlKSkgeworCWNhc2UgWE1MX1NDSEVNQV9XSElURVNQQUNFX0NPTExBUFNFOgorCSAgICByZXR1cm4gKHhtbFNjaGVtYUNvbGxhcHNlU3RyaW5nKHZhbHVlKSk7CisJY2FzZSBYTUxfU0NIRU1BX1dISVRFU1BBQ0VfUkVQTEFDRToKKwkgICAgcmV0dXJuICh4bWxTY2hlbWFXaGl0ZVNwYWNlUmVwbGFjZSh2YWx1ZSkpOworCWRlZmF1bHQ6CisJICAgIHJldHVybiAoTlVMTCk7CisgICAgfQorfQorCitzdGF0aWMgaW50Cit4bWxTY2hlbWFWYWxpZGF0ZVFOYW1lKHhtbFNjaGVtYVZhbGlkQ3R4dFB0ciB2Y3R4dCwKKwkJICAgICAgIGNvbnN0IHhtbENoYXIgKnZhbHVlLAorCQkgICAgICAgeG1sU2NoZW1hVmFsUHRyICp2YWwsCisJCSAgICAgICBpbnQgdmFsTmVlZGVkKQoreworICAgIGludCByZXQ7CisgICAgY29uc3QgeG1sQ2hhciAqbnNOYW1lOworICAgIHhtbENoYXIgKmxvY2FsLCAqcHJlZml4ID0gTlVMTDsKKworICAgIHJldCA9IHhtbFZhbGlkYXRlUU5hbWUodmFsdWUsIDEpOworICAgIGlmIChyZXQgIT0gMCkgeworCWlmIChyZXQgPT0gLTEpIHsKKwkgICAgVkVSUk9SX0lOVCgieG1sU2NoZW1hVmFsaWRhdGVRTmFtZSIsCisJCSJjYWxsaW5nIHhtbFZhbGlkYXRlUU5hbWUoKSIpOworCSAgICByZXR1cm4gKC0xKTsKKwl9CisJcmV0dXJuKCBYTUxfU0NIRU1BVl9DVkNfREFUQVRZUEVfVkFMSURfMV8yXzEpOworICAgIH0KKyAgICAvKgorICAgICogTk9URTogeG1sU3BsaXRRTmFtZTIgd2lsbCBhbHdheXMgcmV0dXJuIGEgZHVwbGljYXRlZAorICAgICogc3RyaW5ncy4KKyAgICAqLworICAgIGxvY2FsID0geG1sU3BsaXRRTmFtZTIodmFsdWUsICZwcmVmaXgpOworICAgIGlmIChsb2NhbCA9PSBOVUxMKQorCWxvY2FsID0geG1sU3RyZHVwKHZhbHVlKTsKKyAgICAvKgorICAgICogT1BUSU1JWkUgVE9ETzogVXNlIGZsYWdzIGZvcjoKKyAgICAqICAtIGlzIHRoZXJlIGFueSBuYW1lc3BhY2UgYmluZGluZz8KKyAgICAqICAtIGlzIHRoZXJlIGEgZGVmYXVsdCBuYW1lc3BhY2U/CisgICAgKi8KKyAgICBuc05hbWUgPSB4bWxTY2hlbWFMb29rdXBOYW1lc3BhY2UodmN0eHQsIHByZWZpeCk7CisKKyAgICBpZiAocHJlZml4ICE9IE5VTEwpIHsKKwl4bWxGcmVlKHByZWZpeCk7CisJLyoKKwkqIEEgbmFtZXNwYWNlIG11c3QgYmUgZm91bmQgaWYgdGhlIHByZWZpeCBpcworCSogTk9UIE5VTEwuCisJKi8KKwlpZiAobnNOYW1lID09IE5VTEwpIHsKKwkgICAgcmV0ID0gWE1MX1NDSEVNQVZfQ1ZDX0RBVEFUWVBFX1ZBTElEXzFfMl8xOworCSAgICB4bWxTY2hlbWFDdXN0b21FcnIoQUNUWFRfQ0FTVCB2Y3R4dCwgcmV0LCBOVUxMLAorCQlXWFNfQkFTSUNfQ0FTVCB4bWxTY2hlbWFHZXRCdWlsdEluVHlwZShYTUxfU0NIRU1BU19RTkFNRSksCisJCSJUaGUgUU5hbWUgdmFsdWUgJyVzJyBoYXMgbm8gIgorCQkiY29ycmVzcG9uZGluZyBuYW1lc3BhY2UgZGVjbGFyYXRpb24gaW4gIgorCQkic2NvcGUiLCB2YWx1ZSwgTlVMTCk7CisJICAgIGlmIChsb2NhbCAhPSBOVUxMKQorCQl4bWxGcmVlKGxvY2FsKTsKKwkgICAgcmV0dXJuIChyZXQpOworCX0KKyAgICB9CisgICAgaWYgKHZhbE5lZWRlZCAmJiB2YWwpIHsKKwlpZiAobnNOYW1lICE9IE5VTEwpCisJICAgICp2YWwgPSB4bWxTY2hlbWFOZXdRTmFtZVZhbHVlKAorCQlCQURfQ0FTVCB4bWxTdHJkdXAobnNOYW1lKSwgQkFEX0NBU1QgbG9jYWwpOworCWVsc2UKKwkgICAgKnZhbCA9IHhtbFNjaGVtYU5ld1FOYW1lVmFsdWUoTlVMTCwKKwkJQkFEX0NBU1QgbG9jYWwpOworICAgIH0gZWxzZQorCXhtbEZyZWUobG9jYWwpOworICAgIHJldHVybiAoMCk7Cit9CisKKy8qCisqIGN2Yy1zaW1wbGUtdHlwZQorKi8KK3N0YXRpYyBpbnQKK3htbFNjaGVtYVZDaGVja0NWQ1NpbXBsZVR5cGUoeG1sU2NoZW1hQWJzdHJhY3RDdHh0UHRyIGFjdHh0LAorCQkJICAgICB4bWxOb2RlUHRyIG5vZGUsCisJCQkgICAgIHhtbFNjaGVtYVR5cGVQdHIgdHlwZSwKKwkJCSAgICAgY29uc3QgeG1sQ2hhciAqdmFsdWUsCisJCQkgICAgIHhtbFNjaGVtYVZhbFB0ciAqcmV0VmFsLAorCQkJICAgICBpbnQgZmlyZUVycm9ycywKKwkJCSAgICAgaW50IG5vcm1hbGl6ZSwKKwkJCSAgICAgaW50IGlzTm9ybWFsaXplZCkKK3sKKyAgICBpbnQgcmV0ID0gMCwgdmFsTmVlZGVkID0gKHJldFZhbCkgPyAxIDogMDsKKyAgICB4bWxTY2hlbWFWYWxQdHIgdmFsID0gTlVMTDsKKyAgICAvKiB4bWxTY2hlbWFXaGl0ZXNwYWNlVmFsdWVUeXBlIHdzOyAqLworICAgIHhtbENoYXIgKm5vcm1WYWx1ZSA9IE5VTEw7CisKKyNkZWZpbmUgTk9STUFMSVpFKGF0eXBlKSBcCisgICAgaWYgKCghIGlzTm9ybWFsaXplZCkgJiYgXAorICAgIChub3JtYWxpemUgfHwgKHR5cGUtPmZsYWdzICYgWE1MX1NDSEVNQVNfVFlQRV9OT1JNVkFMVUVORUVERUQpKSkgeyBcCisJbm9ybVZhbHVlID0geG1sU2NoZW1hTm9ybWFsaXplVmFsdWUoYXR5cGUsIHZhbHVlKTsgXAorCWlmIChub3JtVmFsdWUgIT0gTlVMTCkgXAorCSAgICB2YWx1ZSA9IG5vcm1WYWx1ZTsgXAorCWlzTm9ybWFsaXplZCA9IDE7IFwKKyAgICB9CisKKyAgICBpZiAoKHJldFZhbCAhPSBOVUxMKSAmJiAoKnJldFZhbCAhPSBOVUxMKSkgeworCXhtbFNjaGVtYUZyZWVWYWx1ZSgqcmV0VmFsKTsKKwkqcmV0VmFsID0gTlVMTDsKKyAgICB9CisgICAgLyoKKyAgICAqIDMuMTQuNCBTaW1wbGUgVHlwZSBEZWZpbml0aW9uIFZhbGlkYXRpb24gUnVsZXMKKyAgICAqIFZhbGlkYXRpb24gUnVsZTogU3RyaW5nIFZhbGlkCisgICAgKi8KKyAgICAvKgorICAgICogMSBJdCBpcyBzY2hlbWEtdmFsaWQgd2l0aCByZXNwZWN0IHRvIHRoYXQgZGVmaW5pdGlvbiBhcyBkZWZpbmVkCisgICAgKiBieSBEYXRhdHlwZSBWYWxpZCBpbiBbWE1MIFNjaGVtYXM6IERhdGF0eXBlc10uCisgICAgKi8KKyAgICAvKgorICAgICogMi4xIElmIFRoZSBkZWZpbml0aW9uIGlzIEVOVElUWSBvciBpcyB2YWxpZGx5IGRlcml2ZWQgZnJvbSBFTlRJVFkgZ2l2ZW4KKyAgICAqIHRoZSBlbXB0eSBzZXQsIGFzIGRlZmluZWQgaW4gVHlwZSBEZXJpdmF0aW9uIE9LIChTaW1wbGUpICgkMy4xNC42KSwgdGhlbgorICAgICogdGhlIHN0cmluZyBtdXN0IGJlIGEgYGRlY2xhcmVkIGVudGl0eSBuYW1lYC4KKyAgICAqLworICAgIC8qCisgICAgKiAyLjIgSWYgVGhlIGRlZmluaXRpb24gaXMgRU5USVRJRVMgb3IgaXMgdmFsaWRseSBkZXJpdmVkIGZyb20gRU5USVRJRVMKKyAgICAqIGdpdmVuIHRoZSBlbXB0eSBzZXQsIGFzIGRlZmluZWQgaW4gVHlwZSBEZXJpdmF0aW9uIE9LIChTaW1wbGUpICgkMy4xNC42KSwKKyAgICAqIHRoZW4gZXZlcnkgd2hpdGVzcGFjZS1kZWxpbWl0ZWQgc3Vic3RyaW5nIG9mIHRoZSBzdHJpbmcgbXVzdCBiZSBhIGBkZWNsYXJlZAorICAgICogZW50aXR5IG5hbWVgLgorICAgICovCisgICAgLyoKKyAgICAqIDIuMyBvdGhlcndpc2Ugbm8gZnVydGhlciBjb25kaXRpb24gYXBwbGllcy4KKyAgICAqLworICAgIGlmICgoISB2YWxOZWVkZWQpICYmICh0eXBlLT5mbGFncyAmIFhNTF9TQ0hFTUFTX1RZUEVfRkFDRVRTTkVFRFZBTFVFKSkKKwl2YWxOZWVkZWQgPSAxOworICAgIGlmICh2YWx1ZSA9PSBOVUxMKQorCXZhbHVlID0gQkFEX0NBU1QgIiI7CisgICAgaWYgKFdYU19JU19BTllfU0lNUExFX1RZUEUodHlwZSkgfHwgV1hTX0lTX0FUT01JQyh0eXBlKSkgeworCXhtbFNjaGVtYVR5cGVQdHIgYmlUeXBlOyAvKiBUaGUgYnVpbHQtaW4gdHlwZS4gKi8KKwkvKgorCSogU1BFQyAoMS4yLjEpICJpZiB7dmFyaWV0eX0gaXMgYGF0b21pY2AgdGhlbiB0aGUgc3RyaW5nIG11c3QgYG1hdGNoYAorCSogYSBsaXRlcmFsIGluIHRoZSBgbGV4aWNhbCBzcGFjZWAgb2Yge2Jhc2UgdHlwZSBkZWZpbml0aW9ufSIKKwkqLworCS8qCisJKiBXaGl0ZXNwYWNlLW5vcm1hbGl6ZS4KKwkqLworCU5PUk1BTElaRSh0eXBlKTsKKwlpZiAodHlwZS0+dHlwZSAhPSBYTUxfU0NIRU1BX1RZUEVfQkFTSUMpIHsKKwkgICAgLyoKKwkgICAgKiBHZXQgdGhlIGJ1aWx0LWluIHR5cGUuCisJICAgICovCisJICAgIGJpVHlwZSA9IHR5cGUtPmJhc2VUeXBlOworCSAgICB3aGlsZSAoKGJpVHlwZSAhPSBOVUxMKSAmJgorCQkoYmlUeXBlLT50eXBlICE9IFhNTF9TQ0hFTUFfVFlQRV9CQVNJQykpCisJCWJpVHlwZSA9IGJpVHlwZS0+YmFzZVR5cGU7CisKKwkgICAgaWYgKGJpVHlwZSA9PSBOVUxMKSB7CisJCUFFUlJPUl9JTlQoInhtbFNjaGVtYVZDaGVja0NWQ1NpbXBsZVR5cGUiLAorCQkgICAgImNvdWxkIG5vdCBnZXQgdGhlIGJ1aWx0LWluIHR5cGUiKTsKKwkJZ290byBpbnRlcm5hbF9lcnJvcjsKKwkgICAgfQorCX0gZWxzZQorCSAgICBiaVR5cGUgPSB0eXBlOworCS8qCisJKiBOT1RBVElPTnMgbmVlZCB0byBiZSBwcm9jZXNzZWQgaGVyZSwgc2luY2UgdGhleSBuZWVkCisJKiB0byBsb29rdXAgaW4gdGhlIGhhc2h0YWJsZSBvZiBOT1RBVElPTiBkZWNsYXJhdGlvbnMgb2YgdGhlIHNjaGVtYS4KKwkqLworCWlmIChhY3R4dC0+dHlwZSA9PSBYTUxfU0NIRU1BX0NUWFRfVkFMSURBVE9SKSB7CisJICAgIHN3aXRjaCAoYmlUeXBlLT5idWlsdEluVHlwZSkgeworCQljYXNlIFhNTF9TQ0hFTUFTX05PVEFUSU9OOgorCQkgICAgcmV0ID0geG1sU2NoZW1hVmFsaWRhdGVOb3RhdGlvbigKKwkJCSh4bWxTY2hlbWFWYWxpZEN0eHRQdHIpIGFjdHh0LAorCQkJKCh4bWxTY2hlbWFWYWxpZEN0eHRQdHIpIGFjdHh0KS0+c2NoZW1hLAorCQkJTlVMTCwgdmFsdWUsICZ2YWwsIHZhbE5lZWRlZCk7CisJCSAgICBicmVhazsKKwkJY2FzZSBYTUxfU0NIRU1BU19RTkFNRToKKwkJICAgIHJldCA9IHhtbFNjaGVtYVZhbGlkYXRlUU5hbWUoKHhtbFNjaGVtYVZhbGlkQ3R4dFB0cikgYWN0eHQsCisJCQl2YWx1ZSwgJnZhbCwgdmFsTmVlZGVkKTsKKwkJICAgIGJyZWFrOworCQlkZWZhdWx0OgorCQkgICAgLyogd3MgPSB4bWxTY2hlbWFHZXRXaGl0ZVNwYWNlRmFjZXRWYWx1ZSh0eXBlKTsgKi8KKwkJICAgIGlmICh2YWxOZWVkZWQpCisJCQlyZXQgPSB4bWxTY2hlbWFWYWxQcmVkZWZUeXBlTm9kZU5vTm9ybShiaVR5cGUsCisJCQkgICAgdmFsdWUsICZ2YWwsIG5vZGUpOworCQkgICAgZWxzZQorCQkJcmV0ID0geG1sU2NoZW1hVmFsUHJlZGVmVHlwZU5vZGVOb05vcm0oYmlUeXBlLAorCQkJICAgIHZhbHVlLCBOVUxMLCBub2RlKTsKKwkJICAgIGJyZWFrOworCSAgICB9CisJfSBlbHNlIGlmIChhY3R4dC0+dHlwZSA9PSBYTUxfU0NIRU1BX0NUWFRfUEFSU0VSKSB7CisJICAgIHN3aXRjaCAoYmlUeXBlLT5idWlsdEluVHlwZSkgeworCQljYXNlIFhNTF9TQ0hFTUFTX05PVEFUSU9OOgorCQkgICAgcmV0ID0geG1sU2NoZW1hVmFsaWRhdGVOb3RhdGlvbihOVUxMLAorCQkJKCh4bWxTY2hlbWFQYXJzZXJDdHh0UHRyKSBhY3R4dCktPnNjaGVtYSwgbm9kZSwKKwkJCXZhbHVlLCAmdmFsLCB2YWxOZWVkZWQpOworCQkgICAgYnJlYWs7CisJCWRlZmF1bHQ6CisJCSAgICAvKiB3cyA9IHhtbFNjaGVtYUdldFdoaXRlU3BhY2VGYWNldFZhbHVlKHR5cGUpOyAqLworCQkgICAgaWYgKHZhbE5lZWRlZCkKKwkJCXJldCA9IHhtbFNjaGVtYVZhbFByZWRlZlR5cGVOb2RlTm9Ob3JtKGJpVHlwZSwKKwkJCSAgICB2YWx1ZSwgJnZhbCwgbm9kZSk7CisJCSAgICBlbHNlCisJCQlyZXQgPSB4bWxTY2hlbWFWYWxQcmVkZWZUeXBlTm9kZU5vTm9ybShiaVR5cGUsCisJCQkgICAgdmFsdWUsIE5VTEwsIG5vZGUpOworCQkgICAgYnJlYWs7CisJICAgIH0KKwl9IGVsc2UgeworCSAgICAvKgorCSAgICAqIFZhbGlkYXRpb24gdmlhIGEgcHVibGljIEFQSSBpcyBub3QgaW1wbGVtZW50ZWQgeWV0LgorCSAgICAqLworCSAgICBUT0RPCisJICAgIGdvdG8gaW50ZXJuYWxfZXJyb3I7CisJfQorCWlmIChyZXQgIT0gMCkgeworCSAgICBpZiAocmV0IDwgMCkgeworCQlBRVJST1JfSU5UKCJ4bWxTY2hlbWFWQ2hlY2tDVkNTaW1wbGVUeXBlIiwKKwkJICAgICJ2YWxpZGF0aW5nIGFnYWluc3QgYSBidWlsdC1pbiB0eXBlIik7CisJCWdvdG8gaW50ZXJuYWxfZXJyb3I7CisJICAgIH0KKwkgICAgaWYgKFdYU19JU19MSVNUKHR5cGUpKQorCQlyZXQgPSBYTUxfU0NIRU1BVl9DVkNfREFUQVRZUEVfVkFMSURfMV8yXzI7CisJICAgIGVsc2UKKwkJcmV0ID0gWE1MX1NDSEVNQVZfQ1ZDX0RBVEFUWVBFX1ZBTElEXzFfMl8xOworCX0KKwlpZiAoKHJldCA9PSAwKSAmJiAodHlwZS0+ZmxhZ3MgJiBYTUxfU0NIRU1BU19UWVBFX0hBU19GQUNFVFMpKSB7CisJICAgIC8qCisJICAgICogQ2hlY2sgZmFjZXRzLgorCSAgICAqLworCSAgICByZXQgPSB4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0cyhhY3R4dCwgbm9kZSwgdHlwZSwKKwkJKHhtbFNjaGVtYVZhbFR5cGUpIGJpVHlwZS0+YnVpbHRJblR5cGUsIHZhbHVlLCB2YWwsCisJCTAsIGZpcmVFcnJvcnMpOworCSAgICBpZiAocmV0ICE9IDApIHsKKwkJaWYgKHJldCA8IDApIHsKKwkJICAgIEFFUlJPUl9JTlQoInhtbFNjaGVtYVZDaGVja0NWQ1NpbXBsZVR5cGUiLAorCQkJInZhbGlkYXRpbmcgZmFjZXRzIG9mIGF0b21pYyBzaW1wbGUgdHlwZSIpOworCQkgICAgZ290byBpbnRlcm5hbF9lcnJvcjsKKwkJfQorCQlpZiAoV1hTX0lTX0xJU1QodHlwZSkpCisJCSAgICByZXQgPSBYTUxfU0NIRU1BVl9DVkNfREFUQVRZUEVfVkFMSURfMV8yXzI7CisJCWVsc2UKKwkJICAgIHJldCA9IFhNTF9TQ0hFTUFWX0NWQ19EQVRBVFlQRV9WQUxJRF8xXzJfMTsKKwkgICAgfQorCX0KKwlpZiAoZmlyZUVycm9ycyAmJiAocmV0ID4gMCkpCisJICAgIHhtbFNjaGVtYVNpbXBsZVR5cGVFcnIoYWN0eHQsIHJldCwgbm9kZSwgdmFsdWUsIHR5cGUsIDEpOworICAgIH0gZWxzZSBpZiAoV1hTX0lTX0xJU1QodHlwZSkpIHsKKworCXhtbFNjaGVtYVR5cGVQdHIgaXRlbVR5cGU7CisJY29uc3QgeG1sQ2hhciAqY3VyLCAqZW5kOworCXhtbENoYXIgKnRtcFZhbHVlID0gTlVMTDsKKwl1bnNpZ25lZCBsb25nIGxlbiA9IDA7CisJeG1sU2NoZW1hVmFsUHRyIHByZXZWYWwgPSBOVUxMLCBjdXJWYWwgPSBOVUxMOworCS8qIDEuMi4yIGlmIHt2YXJpZXR5fSBpcyBgbGlzdGAgdGhlbiB0aGUgc3RyaW5nIG11c3QgYmUgYSBzZXF1ZW5jZQorCSogb2Ygd2hpdGUgc3BhY2Ugc2VwYXJhdGVkIHRva2VucywgZWFjaCBvZiB3aGljaCBgbWF0Y2hgZXMgYSBsaXRlcmFsCisJKiBpbiB0aGUgYGxleGljYWwgc3BhY2VgIG9mIHtpdGVtIHR5cGUgZGVmaW5pdGlvbn0KKwkqLworCS8qCisJKiBOb3RlIHRoYXQgWE1MX1NDSEVNQVNfVFlQRV9OT1JNVkFMVUVORUVERUQgd2lsbCBiZSBzZXQgaWYKKwkqIHRoZSBsaXN0IHR5cGUgaGFzIGFuIGVudW0gb3IgcGF0dGVybiBmYWNldC4KKwkqLworCU5PUk1BTElaRSh0eXBlKTsKKwkvKgorCSogVkFMIFRPRE86IE9wdGltaXplIHZhbGlkYXRpb24gb2YgZW1wdHkgdmFsdWVzLgorCSogVkFMIFRPRE86IFdlIGRvIG5vdCBoYXZlIGNvbXB1dGVkIHZhbHVlcyBmb3IgbGlzdHMuCisJKi8KKwlpdGVtVHlwZSA9IFdYU19MSVNUX0lURU1UWVBFKHR5cGUpOworCWN1ciA9IHZhbHVlOworCWRvIHsKKwkgICAgd2hpbGUgKElTX0JMQU5LX0NIKCpjdXIpKQorCQljdXIrKzsKKwkgICAgZW5kID0gY3VyOworCSAgICB3aGlsZSAoKCplbmQgIT0gMCkgJiYgKCEoSVNfQkxBTktfQ0goKmVuZCkpKSkKKwkJZW5kKys7CisJICAgIGlmIChlbmQgPT0gY3VyKQorCQlicmVhazsKKwkgICAgdG1wVmFsdWUgPSB4bWxTdHJuZHVwKGN1ciwgZW5kIC0gY3VyKTsKKwkgICAgbGVuKys7CisKKwkgICAgaWYgKHZhbE5lZWRlZCkKKwkJcmV0ID0geG1sU2NoZW1hVkNoZWNrQ1ZDU2ltcGxlVHlwZShhY3R4dCwgbm9kZSwgaXRlbVR5cGUsCisJCSAgICB0bXBWYWx1ZSwgJmN1clZhbCwgZmlyZUVycm9ycywgMCwgMSk7CisJICAgIGVsc2UKKwkJcmV0ID0geG1sU2NoZW1hVkNoZWNrQ1ZDU2ltcGxlVHlwZShhY3R4dCwgbm9kZSwgaXRlbVR5cGUsCisJCSAgICB0bXBWYWx1ZSwgTlVMTCwgZmlyZUVycm9ycywgMCwgMSk7CisJICAgIEZSRUVfQU5EX05VTEwodG1wVmFsdWUpOworCSAgICBpZiAoY3VyVmFsICE9IE5VTEwpIHsKKwkJLyoKKwkJKiBBZGQgdG8gbGlzdCBvZiBjb21wdXRlZCB2YWx1ZXMuCisJCSovCisJCWlmICh2YWwgPT0gTlVMTCkKKwkJICAgIHZhbCA9IGN1clZhbDsKKwkJZWxzZQorCQkgICAgeG1sU2NoZW1hVmFsdWVBcHBlbmQocHJldlZhbCwgY3VyVmFsKTsKKwkJcHJldlZhbCA9IGN1clZhbDsKKwkJY3VyVmFsID0gTlVMTDsKKwkgICAgfQorCSAgICBpZiAocmV0ICE9IDApIHsKKwkJaWYgKHJldCA8IDApIHsKKwkJICAgIEFFUlJPUl9JTlQoInhtbFNjaGVtYVZDaGVja0NWQ1NpbXBsZVR5cGUiLAorCQkJInZhbGlkYXRpbmcgYW4gaXRlbSBvZiBsaXN0IHNpbXBsZSB0eXBlIik7CisJCSAgICBnb3RvIGludGVybmFsX2Vycm9yOworCQl9CisJCXJldCA9IFhNTF9TQ0hFTUFWX0NWQ19EQVRBVFlQRV9WQUxJRF8xXzJfMjsKKwkJYnJlYWs7CisJICAgIH0KKwkgICAgY3VyID0gZW5kOworCX0gd2hpbGUgKCpjdXIgIT0gMCk7CisJRlJFRV9BTkRfTlVMTCh0bXBWYWx1ZSk7CisJaWYgKChyZXQgPT0gMCkgJiYgKHR5cGUtPmZsYWdzICYgWE1MX1NDSEVNQVNfVFlQRV9IQVNfRkFDRVRTKSkgeworCSAgICAvKgorCSAgICAqIEFwcGx5IGZhY2V0cyAocGF0dGVybiwgZW51bWVyYXRpb24pLgorCSAgICAqLworCSAgICByZXQgPSB4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0cyhhY3R4dCwgbm9kZSwgdHlwZSwKKwkJWE1MX1NDSEVNQVNfVU5LTk9XTiwgdmFsdWUsIHZhbCwKKwkJbGVuLCBmaXJlRXJyb3JzKTsKKwkgICAgaWYgKHJldCAhPSAwKSB7CisJCWlmIChyZXQgPCAwKSB7CisJCSAgICBBRVJST1JfSU5UKCJ4bWxTY2hlbWFWQ2hlY2tDVkNTaW1wbGVUeXBlIiwKKwkJCSJ2YWxpZGF0aW5nIGZhY2V0cyBvZiBsaXN0IHNpbXBsZSB0eXBlIik7CisJCSAgICBnb3RvIGludGVybmFsX2Vycm9yOworCQl9CisJCXJldCA9IFhNTF9TQ0hFTUFWX0NWQ19EQVRBVFlQRV9WQUxJRF8xXzJfMjsKKwkgICAgfQorCX0KKwlpZiAoZmlyZUVycm9ycyAmJiAocmV0ID4gMCkpIHsKKwkgICAgLyoKKwkgICAgKiBSZXBvcnQgdGhlIG5vcm1hbGl6ZWQgdmFsdWUuCisJICAgICovCisJICAgIG5vcm1hbGl6ZSA9IDE7CisJICAgIE5PUk1BTElaRSh0eXBlKTsKKwkgICAgeG1sU2NoZW1hU2ltcGxlVHlwZUVycihhY3R4dCwgcmV0LCBub2RlLCB2YWx1ZSwgdHlwZSwgMSk7CisJfQorICAgIH0gZWxzZSBpZiAoV1hTX0lTX1VOSU9OKHR5cGUpKSB7CisJeG1sU2NoZW1hVHlwZUxpbmtQdHIgbWVtYmVyTGluazsKKwkvKgorCSogVE9ETzogRm9yIGFsbCBkYXRhdHlwZXMgYGRlcml2ZWRgIGJ5IGB1bmlvbmAgIHdoaXRlU3BhY2UgZG9lcworCSogbm90IGFwcGx5IGRpcmVjdGx5OyBob3dldmVyLCB0aGUgbm9ybWFsaXphdGlvbiBiZWhhdmlvciBvZiBgdW5pb25gCisJKiB0eXBlcyBpcyBjb250cm9sbGVkIGJ5IHRoZSB2YWx1ZSBvZiB3aGl0ZVNwYWNlIG9uIHRoYXQgb25lIG9mIHRoZQorCSogYG1lbWJlclR5cGVzYCBhZ2FpbnN0IHdoaWNoIHRoZSBgdW5pb25gIGlzIHN1Y2Nlc3NmdWxseSB2YWxpZGF0ZWQuCisJKgorCSogVGhpcyBtZWFucyB0aGF0IHRoZSB2YWx1ZSBpcyBub3JtYWxpemVkIGJ5IHRoZSBmaXJzdCB2YWxpZGF0aW5nCisJKiBtZW1iZXIgdHlwZSwgdGhlbiB0aGUgZmFjZXRzIG9mIHRoZSB1bmlvbiB0eXBlIGFyZSBhcHBsaWVkLiBUaGlzCisJKiBuZWVkcyBjaGFuZ2luZyBvZiB0aGUgdmFsdWUhCisJKi8KKworCS8qCisJKiAxLjIuMyBpZiB7dmFyaWV0eX0gaXMgYHVuaW9uYCB0aGVuIHRoZSBzdHJpbmcgbXVzdCBgbWF0Y2hgIGEKKwkqIGxpdGVyYWwgaW4gdGhlIGBsZXhpY2FsIHNwYWNlYCBvZiBhdCBsZWFzdCBvbmUgbWVtYmVyIG9mCisJKiB7bWVtYmVyIHR5cGUgZGVmaW5pdGlvbnN9CisJKi8KKwltZW1iZXJMaW5rID0geG1sU2NoZW1hR2V0VW5pb25TaW1wbGVUeXBlTWVtYmVyVHlwZXModHlwZSk7CisJaWYgKG1lbWJlckxpbmsgPT0gTlVMTCkgeworCSAgICBBRVJST1JfSU5UKCJ4bWxTY2hlbWFWQ2hlY2tDVkNTaW1wbGVUeXBlIiwKKwkJInVuaW9uIHNpbXBsZSB0eXBlIGhhcyBubyBtZW1iZXIgdHlwZXMiKTsKKwkgICAgZ290byBpbnRlcm5hbF9lcnJvcjsKKwl9CisJLyoKKwkqIEFsd2F5cyBub3JtYWxpemUgdW5pb24gdHlwZSB2YWx1ZXMsIHNpbmNlIHdlIGN1cnJlbnRseQorCSogY2Fubm90IHN0b3JlIHRoZSB3aGl0ZXNwYWNlIGluZm9ybWF0aW9uIHdpdGggdGhlIHZhbHVlCisJKiBpdHNlbGY7IG90aGVyd2lzZSBhIGxhdGVyIHZhbHVlLWNvbXBhcmlzb24gd291bGQgYmUKKwkqIG5vdCBwb3NzaWJsZS4KKwkqLworCXdoaWxlIChtZW1iZXJMaW5rICE9IE5VTEwpIHsKKwkgICAgaWYgKHZhbE5lZWRlZCkKKwkJcmV0ID0geG1sU2NoZW1hVkNoZWNrQ1ZDU2ltcGxlVHlwZShhY3R4dCwgbm9kZSwKKwkJICAgIG1lbWJlckxpbmstPnR5cGUsIHZhbHVlLCAmdmFsLCAwLCAxLCAwKTsKKwkgICAgZWxzZQorCQlyZXQgPSB4bWxTY2hlbWFWQ2hlY2tDVkNTaW1wbGVUeXBlKGFjdHh0LCBub2RlLAorCQkgICAgbWVtYmVyTGluay0+dHlwZSwgdmFsdWUsIE5VTEwsIDAsIDEsIDApOworCSAgICBpZiAocmV0IDw9IDApCisJCWJyZWFrOworCSAgICBtZW1iZXJMaW5rID0gbWVtYmVyTGluay0+bmV4dDsKKwl9CisJaWYgKHJldCAhPSAwKSB7CisJICAgIGlmIChyZXQgPCAwKSB7CisJCUFFUlJPUl9JTlQoInhtbFNjaGVtYVZDaGVja0NWQ1NpbXBsZVR5cGUiLAorCQkgICAgInZhbGlkYXRpbmcgbWVtYmVycyBvZiB1bmlvbiBzaW1wbGUgdHlwZSIpOworCQlnb3RvIGludGVybmFsX2Vycm9yOworCSAgICB9CisJICAgIHJldCA9IFhNTF9TQ0hFTUFWX0NWQ19EQVRBVFlQRV9WQUxJRF8xXzJfMzsKKwl9CisJLyoKKwkqIEFwcGx5IGZhY2V0cyAocGF0dGVybiwgZW51bWVyYXRpb24pLgorCSovCisJaWYgKChyZXQgPT0gMCkgJiYgKHR5cGUtPmZsYWdzICYgWE1MX1NDSEVNQVNfVFlQRV9IQVNfRkFDRVRTKSkgeworCSAgICAvKgorCSAgICAqIFRoZSBub3JtYWxpemF0aW9uIGJlaGF2aW9yIG9mIGB1bmlvbmAgdHlwZXMgaXMgY29udHJvbGxlZCBieQorCSAgICAqIHRoZSB2YWx1ZSBvZiB3aGl0ZVNwYWNlIG9uIHRoYXQgb25lIG9mIHRoZSBgbWVtYmVyVHlwZXNgCisJICAgICogYWdhaW5zdCB3aGljaCB0aGUgYHVuaW9uYCBpcyBzdWNjZXNzZnVsbHkgdmFsaWRhdGVkLgorCSAgICAqLworCSAgICBOT1JNQUxJWkUobWVtYmVyTGluay0+dHlwZSk7CisJICAgIHJldCA9IHhtbFNjaGVtYVZhbGlkYXRlRmFjZXRzKGFjdHh0LCBub2RlLCB0eXBlLAorCQlYTUxfU0NIRU1BU19VTktOT1dOLCB2YWx1ZSwgdmFsLAorCQkwLCBmaXJlRXJyb3JzKTsKKwkgICAgaWYgKHJldCAhPSAwKSB7CisJCWlmIChyZXQgPCAwKSB7CisJCSAgICBBRVJST1JfSU5UKCJ4bWxTY2hlbWFWQ2hlY2tDVkNTaW1wbGVUeXBlIiwKKwkJCSJ2YWxpZGF0aW5nIGZhY2V0cyBvZiB1bmlvbiBzaW1wbGUgdHlwZSIpOworCQkgICAgZ290byBpbnRlcm5hbF9lcnJvcjsKKwkJfQorCQlyZXQgPSBYTUxfU0NIRU1BVl9DVkNfREFUQVRZUEVfVkFMSURfMV8yXzM7CisJICAgIH0KKwl9CisJaWYgKGZpcmVFcnJvcnMgJiYgKHJldCA+IDApKQorCSAgICB4bWxTY2hlbWFTaW1wbGVUeXBlRXJyKGFjdHh0LCByZXQsIG5vZGUsIHZhbHVlLCB0eXBlLCAxKTsKKyAgICB9CisKKyAgICBpZiAobm9ybVZhbHVlICE9IE5VTEwpCisJeG1sRnJlZShub3JtVmFsdWUpOworICAgIGlmIChyZXQgPT0gMCkgeworCWlmIChyZXRWYWwgIT0gTlVMTCkKKwkgICAgKnJldFZhbCA9IHZhbDsKKwllbHNlIGlmICh2YWwgIT0gTlVMTCkKKwkgICAgeG1sU2NoZW1hRnJlZVZhbHVlKHZhbCk7CisgICAgfSBlbHNlIGlmICh2YWwgIT0gTlVMTCkKKwl4bWxTY2hlbWFGcmVlVmFsdWUodmFsKTsKKyAgICByZXR1cm4gKHJldCk7CitpbnRlcm5hbF9lcnJvcjoKKyAgICBpZiAobm9ybVZhbHVlICE9IE5VTEwpCisJeG1sRnJlZShub3JtVmFsdWUpOworICAgIGlmICh2YWwgIT0gTlVMTCkKKwl4bWxTY2hlbWFGcmVlVmFsdWUodmFsKTsKKyAgICByZXR1cm4gKC0xKTsKK30KKworc3RhdGljIGludAoreG1sU2NoZW1hVkV4cGFuZFFOYW1lKHhtbFNjaGVtYVZhbGlkQ3R4dFB0ciB2Y3R4dCwKKwkJCSAgIGNvbnN0IHhtbENoYXIgKnZhbHVlLAorCQkJICAgY29uc3QgeG1sQ2hhciAqKm5zTmFtZSwKKwkJCSAgIGNvbnN0IHhtbENoYXIgKipsb2NhbE5hbWUpCit7CisgICAgaW50IHJldCA9IDA7CisKKyAgICBpZiAoKG5zTmFtZSA9PSBOVUxMKSB8fCAobG9jYWxOYW1lID09IE5VTEwpKQorCXJldHVybiAoLTEpOworICAgICpuc05hbWUgPSBOVUxMOworICAgICpsb2NhbE5hbWUgPSBOVUxMOworCisgICAgcmV0ID0geG1sVmFsaWRhdGVRTmFtZSh2YWx1ZSwgMSk7CisgICAgaWYgKHJldCA9PSAtMSkKKwlyZXR1cm4gKC0xKTsKKyAgICBpZiAocmV0ID4gMCkgeworCXhtbFNjaGVtYVNpbXBsZVR5cGVFcnIoQUNUWFRfQ0FTVCB2Y3R4dCwKKwkgICAgWE1MX1NDSEVNQVZfQ1ZDX0RBVEFUWVBFX1ZBTElEXzFfMl8xLCBOVUxMLAorCSAgICB2YWx1ZSwgeG1sU2NoZW1hR2V0QnVpbHRJblR5cGUoWE1MX1NDSEVNQVNfUU5BTUUpLCAxKTsKKwlyZXR1cm4gKDEpOworICAgIH0KKyAgICB7CisJeG1sQ2hhciAqbG9jYWwgPSBOVUxMOworCXhtbENoYXIgKnByZWZpeDsKKworCS8qCisJKiBOT1RFOiB4bWxTcGxpdFFOYW1lMiB3aWxsIHJldHVybiBhIGR1cGxpY2F0ZWQKKwkqIHN0cmluZy4KKwkqLworCWxvY2FsID0geG1sU3BsaXRRTmFtZTIodmFsdWUsICZwcmVmaXgpOworCWlmIChsb2NhbCA9PSBOVUxMKQorCSAgICAqbG9jYWxOYW1lID0geG1sRGljdExvb2t1cCh2Y3R4dC0+ZGljdCwgdmFsdWUsIC0xKTsKKwllbHNlIHsKKwkgICAgKmxvY2FsTmFtZSA9IHhtbERpY3RMb29rdXAodmN0eHQtPmRpY3QsIGxvY2FsLCAtMSk7CisJICAgIHhtbEZyZWUobG9jYWwpOworCX0KKworCSpuc05hbWUgPSB4bWxTY2hlbWFMb29rdXBOYW1lc3BhY2UodmN0eHQsIHByZWZpeCk7CisKKwlpZiAocHJlZml4ICE9IE5VTEwpIHsKKwkgICAgeG1sRnJlZShwcmVmaXgpOworCSAgICAvKgorCSAgICAqIEEgbmFtZXNwYWNlIG11c3QgYmUgZm91bmQgaWYgdGhlIHByZWZpeCBpcyBOT1QgTlVMTC4KKwkgICAgKi8KKwkgICAgaWYgKCpuc05hbWUgPT0gTlVMTCkgeworCQl4bWxTY2hlbWFDdXN0b21FcnIoQUNUWFRfQ0FTVCB2Y3R4dCwKKwkJICAgIFhNTF9TQ0hFTUFWX0NWQ19EQVRBVFlQRV9WQUxJRF8xXzJfMSwgTlVMTCwKKwkJICAgIFdYU19CQVNJQ19DQVNUIHhtbFNjaGVtYUdldEJ1aWx0SW5UeXBlKFhNTF9TQ0hFTUFTX1FOQU1FKSwKKwkJICAgICJUaGUgUU5hbWUgdmFsdWUgJyVzJyBoYXMgbm8gIgorCQkgICAgImNvcnJlc3BvbmRpbmcgbmFtZXNwYWNlIGRlY2xhcmF0aW9uIGluIHNjb3BlIiwKKwkJICAgIHZhbHVlLCBOVUxMKTsKKwkJcmV0dXJuICgyKTsKKwkgICAgfQorCX0KKyAgICB9CisgICAgcmV0dXJuICgwKTsKK30KKworc3RhdGljIGludAoreG1sU2NoZW1hUHJvY2Vzc1hTSVR5cGUoeG1sU2NoZW1hVmFsaWRDdHh0UHRyIHZjdHh0LAorCQkJeG1sU2NoZW1hQXR0ckluZm9QdHIgaWF0dHIsCisJCQl4bWxTY2hlbWFUeXBlUHRyICpsb2NhbFR5cGUsCisJCQl4bWxTY2hlbWFFbGVtZW50UHRyIGVsZW1EZWNsKQoreworICAgIGludCByZXQgPSAwOworICAgIC8qCisgICAgKiBjdmMtZWx0ICgzLjMuNCkgOiAoNCkKKyAgICAqIEFORAorICAgICogU2NoZW1hLVZhbGlkaXR5IEFzc2Vzc21lbnQgKEVsZW1lbnQpIChjdmMtYXNzZXNzLWVsdCkKKyAgICAqICAgKDEuMi4xLjIuMSkgLSAoMS4yLjEuMi40KQorICAgICogSGFuZGxlICd4c2k6dHlwZScuCisgICAgKi8KKyAgICBpZiAobG9jYWxUeXBlID09IE5VTEwpCisJcmV0dXJuICgtMSk7CisgICAgKmxvY2FsVHlwZSA9IE5VTEw7CisgICAgaWYgKGlhdHRyID09IE5VTEwpCisJcmV0dXJuICgwKTsKKyAgICBlbHNlIHsKKwljb25zdCB4bWxDaGFyICpuc05hbWUgPSBOVUxMLCAqbG9jYWwgPSBOVUxMOworCS8qCisJKiBUT0RPOiBXZSBzaG91bGQgcmVwb3J0IGEgKndhcm5pbmcqIHRoYXQgdGhlIHR5cGUgd2FzIG92ZXJyaWRlbgorCSogYnkgdGhlIGluc3RhbmNlLgorCSovCisJQUNUSVZBVEVfQVRUUklCVVRFKGlhdHRyKTsKKwkvKgorCSogKGN2Yy1lbHQpICgzLjMuNCkgOiAoNC4xKQorCSogKGN2Yy1hc3Nlc3MtZWx0KSAoMS4yLjEuMi4yKQorCSovCisJcmV0ID0geG1sU2NoZW1hVkV4cGFuZFFOYW1lKHZjdHh0LCBpYXR0ci0+dmFsdWUsCisJICAgICZuc05hbWUsICZsb2NhbCk7CisJaWYgKHJldCAhPSAwKSB7CisJICAgIGlmIChyZXQgPCAwKSB7CisJCVZFUlJPUl9JTlQoInhtbFNjaGVtYVZhbGlkYXRlRWxlbWVudEJ5RGVjbGFyYXRpb24iLAorCQkgICAgImNhbGxpbmcgeG1sU2NoZW1hUU5hbWVFeHBhbmQoKSB0byB2YWxpZGF0ZSB0aGUgIgorCQkgICAgImF0dHJpYnV0ZSAneHNpOnR5cGUnIik7CisJCWdvdG8gaW50ZXJuYWxfZXJyb3I7CisJICAgIH0KKwkgICAgZ290byBleGl0OworCX0KKwkvKgorCSogKGN2Yy1lbHQpICgzLjMuNCkgOiAoNC4yKQorCSogKGN2Yy1hc3Nlc3MtZWx0KSAoMS4yLjEuMi4zKQorCSovCisJKmxvY2FsVHlwZSA9IHhtbFNjaGVtYUdldFR5cGUodmN0eHQtPnNjaGVtYSwgbG9jYWwsIG5zTmFtZSk7CisJaWYgKCpsb2NhbFR5cGUgPT0gTlVMTCkgeworCSAgICB4bWxDaGFyICpzdHIgPSBOVUxMOworCisJICAgIHhtbFNjaGVtYUN1c3RvbUVycihBQ1RYVF9DQVNUIHZjdHh0LAorCQlYTUxfU0NIRU1BVl9DVkNfRUxUXzRfMiwgTlVMTCwKKwkJV1hTX0JBU0lDX0NBU1QgeG1sU2NoZW1hR2V0QnVpbHRJblR5cGUoWE1MX1NDSEVNQVNfUU5BTUUpLAorCQkiVGhlIFFOYW1lIHZhbHVlICclcycgb2YgdGhlIHhzaTp0eXBlIGF0dHJpYnV0ZSBkb2VzIG5vdCAiCisJCSJyZXNvbHZlIHRvIGEgdHlwZSBkZWZpbml0aW9uIiwKKwkJeG1sU2NoZW1hRm9ybWF0UU5hbWUoJnN0ciwgbnNOYW1lLCBsb2NhbCksIE5VTEwpOworCSAgICBGUkVFX0FORF9OVUxMKHN0cik7CisJICAgIHJldCA9IHZjdHh0LT5lcnI7CisJICAgIGdvdG8gZXhpdDsKKwl9CisJaWYgKGVsZW1EZWNsICE9IE5VTEwpIHsKKwkgICAgaW50IHNldCA9IDA7CisKKwkgICAgLyoKKwkgICAgKiBTUEVDIGN2Yy1lbHQgKDMuMy40KSA6ICg0LjMpIChUeXBlIERlcml2YXRpb24gT0spCisJICAgICogIlRoZSBgbG9jYWwgdHlwZSBkZWZpbml0aW9uYCBtdXN0IGJlIHZhbGlkbHkKKwkgICAgKiBkZXJpdmVkIGZyb20gdGhlIHt0eXBlIGRlZmluaXRpb259IGdpdmVuIHRoZSB1bmlvbiBvZgorCSAgICAqIHRoZSB7ZGlzYWxsb3dlZCBzdWJzdGl0dXRpb25zfSBhbmQgdGhlIHt0eXBlIGRlZmluaXRpb259J3MKKwkgICAgKiB7cHJvaGliaXRlZCBzdWJzdGl0dXRpb25zfSwgYXMgZGVmaW5lZCBpbgorCSAgICAqIFR5cGUgRGVyaXZhdGlvbiBPSyAoQ29tcGxleCkgKCQzLjQuNikKKwkgICAgKiAoaWYgaXQgaXMgYSBjb21wbGV4IHR5cGUgZGVmaW5pdGlvbiksCisJICAgICogb3IgZ2l2ZW4ge2Rpc2FsbG93ZWQgc3Vic3RpdHV0aW9uc30gYXMgZGVmaW5lZCBpbiBUeXBlCisJICAgICogRGVyaXZhdGlvbiBPSyAoU2ltcGxlKSAoJDMuMTQuNikgKGlmIGl0IGlzIGEgc2ltcGxlIHR5cGUKKwkgICAgKiBkZWZpbml0aW9uKS4iCisJICAgICoKKwkgICAgKiB7ZGlzYWxsb3dlZCBzdWJzdGl0dXRpb25zfTogdGhlICJibG9jayIgb24gdGhlIGVsZW1lbnQgZGVjbC4KKwkgICAgKiB7cHJvaGliaXRlZCBzdWJzdGl0dXRpb25zfTogdGhlICJibG9jayIgb24gdGhlIHR5cGUgZGVmLgorCSAgICAqLworCSAgICAvKgorCSAgICAqIE9QVElNSVpFIFRPRE86IFdlIGNvdWxkIG1hcCB0eXBlcyBhbHJlYWR5IGV2YWx1YXRlZAorCSAgICAqIHRvIGJlIHZhbGlkbHkgZGVyaXZlZCBmcm9tIG90aGVyIHR5cGVzIHRvIGF2b2lkIGNoZWNraW5nCisJICAgICogdGhpcyBvdmVyIGFuZCBvdmVyIGZvciB0aGUgc2FtZSB0eXBlcy4KKwkgICAgKi8KKwkgICAgaWYgKChlbGVtRGVjbC0+ZmxhZ3MgJiBYTUxfU0NIRU1BU19FTEVNX0JMT0NLX0VYVEVOU0lPTikgfHwKKwkJKGVsZW1EZWNsLT5zdWJ0eXBlcy0+ZmxhZ3MgJgorCQkgICAgWE1MX1NDSEVNQVNfVFlQRV9CTE9DS19FWFRFTlNJT04pKQorCQlzZXQgfD0gU1VCU0VUX0VYVEVOU0lPTjsKKworCSAgICBpZiAoKGVsZW1EZWNsLT5mbGFncyAmIFhNTF9TQ0hFTUFTX0VMRU1fQkxPQ0tfUkVTVFJJQ1RJT04pIHx8CisJCShlbGVtRGVjbC0+c3VidHlwZXMtPmZsYWdzICYKKwkJICAgIFhNTF9TQ0hFTUFTX1RZUEVfQkxPQ0tfUkVTVFJJQ1RJT04pKQorCQlzZXQgfD0gU1VCU0VUX1JFU1RSSUNUSU9OOworCisJICAgIC8qCisJICAgICogUkVNT1ZFRCBhbmQgQ0hBTkdFRCBzaW5jZSB0aGlzIHByb2R1Y2VkIGEgcGFyc2VyIGNvbnRleHQKKwkgICAgKiB3aGljaCBhZGRzIHRvIHRoZSBzdHJpbmcgZGljdCBvZiB0aGUgc2NoZW1hLiBTbyB0aGlzIHdvdWxkCisJICAgICogY2hhbmdlIHRoZSBzY2hlbWEgYW5kIHdlIGRvbid0IHdhbnQgdGhpcy4gV2UgZG9uJ3QgbmVlZAorCSAgICAqIHRoZSBwYXJzZXIgY29udGV4dCBhbnltb3JlLgorCSAgICAqCisJICAgICogaWYgKCh2Y3R4dC0+cGN0eHQgPT0gTlVMTCkgJiYKKwkgICAgKgkoeG1sU2NoZW1hQ3JlYXRlUEN0eHRPblZDdHh0KHZjdHh0KSA9PSAtMSkpCisJICAgICoJICAgIHJldHVybiAoLTEpOworCSAgICAqLworCisJICAgIGlmICh4bWxTY2hlbWFDaGVja0NPU0Rlcml2ZWRPSyhBQ1RYVF9DQVNUIHZjdHh0LCAqbG9jYWxUeXBlLAorCQllbGVtRGVjbC0+c3VidHlwZXMsIHNldCkgIT0gMCkgeworCQl4bWxDaGFyICpzdHIgPSBOVUxMOworCisJCXhtbFNjaGVtYUN1c3RvbUVycihBQ1RYVF9DQVNUIHZjdHh0LAorCQkgICAgWE1MX1NDSEVNQVZfQ1ZDX0VMVF80XzMsIE5VTEwsIE5VTEwsCisJCSAgICAiVGhlIHR5cGUgZGVmaW5pdGlvbiAnJXMnLCBzcGVjaWZpZWQgYnkgeHNpOnR5cGUsIGlzICIKKwkJICAgICJibG9ja2VkIG9yIG5vdCB2YWxpZGx5IGRlcml2ZWQgZnJvbSB0aGUgdHlwZSBkZWZpbml0aW9uICIKKwkJICAgICJvZiB0aGUgZWxlbWVudCBkZWNsYXJhdGlvbiIsCisJCSAgICB4bWxTY2hlbWFGb3JtYXRRTmFtZSgmc3RyLAorCQkJKCpsb2NhbFR5cGUpLT50YXJnZXROYW1lc3BhY2UsCisJCQkoKmxvY2FsVHlwZSktPm5hbWUpLAorCQkgICAgTlVMTCk7CisJCUZSRUVfQU5EX05VTEwoc3RyKTsKKwkJcmV0ID0gdmN0eHQtPmVycjsKKwkJKmxvY2FsVHlwZSA9IE5VTEw7CisJICAgIH0KKwl9CisgICAgfQorZXhpdDoKKyAgICBBQ1RJVkFURV9FTEVNOworICAgIHJldHVybiAocmV0KTsKK2ludGVybmFsX2Vycm9yOgorICAgIEFDVElWQVRFX0VMRU07CisgICAgcmV0dXJuICgtMSk7Cit9CisKK3N0YXRpYyBpbnQKK3htbFNjaGVtYVZhbGlkYXRlRWxlbURlY2woeG1sU2NoZW1hVmFsaWRDdHh0UHRyIHZjdHh0KQoreworICAgIHhtbFNjaGVtYUVsZW1lbnRQdHIgZWxlbURlY2wgPSB2Y3R4dC0+aW5vZGUtPmRlY2w7CisgICAgeG1sU2NoZW1hVHlwZVB0ciBhY3R1YWxUeXBlOworCisgICAgLyoKKyAgICAqIGN2Yy1lbHQgKDMuMy40KSA6IDEKKyAgICAqLworICAgIGlmIChlbGVtRGVjbCA9PSBOVUxMKSB7CisJVkVSUk9SKFhNTF9TQ0hFTUFWX0NWQ19FTFRfMSwgTlVMTCwKKwkgICAgIk5vIG1hdGNoaW5nIGRlY2xhcmF0aW9uIGF2YWlsYWJsZSIpOworICAgICAgICByZXR1cm4gKHZjdHh0LT5lcnIpOworICAgIH0KKyAgICBhY3R1YWxUeXBlID0gV1hTX0VMRU1fVFlQRURFRihlbGVtRGVjbCk7CisgICAgLyoKKyAgICAqIGN2Yy1lbHQgKDMuMy40KSA6IDIKKyAgICAqLworICAgIGlmIChlbGVtRGVjbC0+ZmxhZ3MgJiBYTUxfU0NIRU1BU19FTEVNX0FCU1RSQUNUKSB7CisJVkVSUk9SKFhNTF9TQ0hFTUFWX0NWQ19FTFRfMiwgTlVMTCwKKwkgICAgIlRoZSBlbGVtZW50IGRlY2xhcmF0aW9uIGlzIGFic3RyYWN0Iik7CisgICAgICAgIHJldHVybiAodmN0eHQtPmVycik7CisgICAgfQorICAgIGlmIChhY3R1YWxUeXBlID09IE5VTEwpIHsKKwlWRVJST1IoWE1MX1NDSEVNQVZfQ1ZDX1RZUEVfMSwgTlVMTCwKKwkgICAgIlRoZSB0eXBlIGRlZmluaXRpb24gaXMgYWJzZW50Iik7CisJcmV0dXJuIChYTUxfU0NIRU1BVl9DVkNfVFlQRV8xKTsKKyAgICB9CisgICAgaWYgKHZjdHh0LT5uYkF0dHJJbmZvcyAhPSAwKSB7CisJaW50IHJldDsKKwl4bWxTY2hlbWFBdHRySW5mb1B0ciBpYXR0cjsKKwkvKgorCSogY3ZjLWVsdCAoMy4zLjQpIDogMworCSogSGFuZGxlICd4c2k6bmlsJy4KKwkqLworCWlhdHRyID0geG1sU2NoZW1hR2V0TWV0YUF0dHJJbmZvKHZjdHh0LAorCSAgICBYTUxfU0NIRU1BX0FUVFJfSU5GT19NRVRBX1hTSV9OSUwpOworCWlmIChpYXR0cikgeworCSAgICBBQ1RJVkFURV9BVFRSSUJVVEUoaWF0dHIpOworCSAgICAvKgorCSAgICAqIFZhbGlkYXRlIHRoZSB2YWx1ZS4KKwkgICAgKi8KKwkgICAgcmV0ID0geG1sU2NoZW1hVkNoZWNrQ1ZDU2ltcGxlVHlwZSgKKwkJQUNUWFRfQ0FTVCB2Y3R4dCwgTlVMTCwKKwkJeG1sU2NoZW1hR2V0QnVpbHRJblR5cGUoWE1MX1NDSEVNQVNfQk9PTEVBTiksCisJCWlhdHRyLT52YWx1ZSwgJihpYXR0ci0+dmFsKSwgMSwgMCwgMCk7CisJICAgIEFDVElWQVRFX0VMRU07CisJICAgIGlmIChyZXQgPCAwKSB7CisJCVZFUlJPUl9JTlQoInhtbFNjaGVtYVZhbGlkYXRlRWxlbURlY2wiLAorCQkgICAgImNhbGxpbmcgeG1sU2NoZW1hVkNoZWNrQ1ZDU2ltcGxlVHlwZSgpIHRvICIKKwkJICAgICJ2YWxpZGF0ZSB0aGUgYXR0cmlidXRlICd4c2k6bmlsJyIpOworCQlyZXR1cm4gKC0xKTsKKwkgICAgfQorCSAgICBpZiAocmV0ID09IDApIHsKKwkJaWYgKChlbGVtRGVjbC0+ZmxhZ3MgJiBYTUxfU0NIRU1BU19FTEVNX05JTExBQkxFKSA9PSAwKSB7CisJCSAgICAvKgorCQkgICAgKiBjdmMtZWx0ICgzLjMuNCkgOiAzLjEKKwkJICAgICovCisJCSAgICBWRVJST1IoWE1MX1NDSEVNQVZfQ1ZDX0VMVF8zXzEsIE5VTEwsCisJCQkiVGhlIGVsZW1lbnQgaXMgbm90ICduaWxsYWJsZSciKTsKKwkJICAgIC8qIERvZXMgbm90IHJldHVybiBhbiBlcnJvciBvbiBwdXJwb3NlLiAqLworCQl9IGVsc2UgeworCQkgICAgaWYgKHhtbFNjaGVtYVZhbHVlR2V0QXNCb29sZWFuKGlhdHRyLT52YWwpKSB7CisJCQkvKgorCQkJKiBjdmMtZWx0ICgzLjMuNCkgOiAzLjIuMgorCQkJKi8KKwkJCWlmICgoZWxlbURlY2wtPmZsYWdzICYgWE1MX1NDSEVNQVNfRUxFTV9GSVhFRCkgJiYKKwkJCSAgICAoZWxlbURlY2wtPnZhbHVlICE9IE5VTEwpKSB7CisJCQkgICAgVkVSUk9SKFhNTF9TQ0hFTUFWX0NWQ19FTFRfM18yXzIsIE5VTEwsCisJCQkJIlRoZSBlbGVtZW50IGNhbm5vdCBiZSAnbmlsbGVkJyBiZWNhdXNlICIKKwkJCQkidGhlcmUgaXMgYSBmaXhlZCB2YWx1ZSBjb25zdHJhaW50IGRlZmluZWQgIgorCQkJCSJmb3IgaXQiKTsKKwkJCSAgICAgLyogRG9lcyBub3QgcmV0dXJuIGFuIGVycm9yIG9uIHB1cnBvc2UuICovCisJCQl9IGVsc2UKKwkJCSAgICB2Y3R4dC0+aW5vZGUtPmZsYWdzIHw9CisJCQkJWE1MX1NDSEVNQV9FTEVNX0lORk9fTklMTEVEOworCQkgICAgfQorCQl9CisJICAgIH0KKwl9CisJLyoKKwkqIGN2Yy1lbHQgKDMuMy40KSA6IDQKKwkqIEhhbmRsZSAneHNpOnR5cGUnLgorCSovCisJaWF0dHIgPSB4bWxTY2hlbWFHZXRNZXRhQXR0ckluZm8odmN0eHQsCisJICAgIFhNTF9TQ0hFTUFfQVRUUl9JTkZPX01FVEFfWFNJX1RZUEUpOworCWlmIChpYXR0cikgeworCSAgICB4bWxTY2hlbWFUeXBlUHRyIGxvY2FsVHlwZSA9IE5VTEw7CisKKwkgICAgcmV0ID0geG1sU2NoZW1hUHJvY2Vzc1hTSVR5cGUodmN0eHQsIGlhdHRyLCAmbG9jYWxUeXBlLAorCQllbGVtRGVjbCk7CisJICAgIGlmIChyZXQgIT0gMCkgeworCQlpZiAocmV0ID09IC0xKSB7CisJCSAgICBWRVJST1JfSU5UKCJ4bWxTY2hlbWFWYWxpZGF0ZUVsZW1EZWNsIiwKKwkJCSJjYWxsaW5nIHhtbFNjaGVtYVByb2Nlc3NYU0lUeXBlKCkgdG8gIgorCQkJInByb2Nlc3MgdGhlIGF0dHJpYnV0ZSAneHNpOnR5cGUnIik7CisJCSAgICByZXR1cm4gKC0xKTsKKwkJfQorCQkvKiBEb2VzIG5vdCByZXR1cm4gYW4gZXJyb3Igb24gcHVycG9zZS4gKi8KKwkgICAgfQorCSAgICBpZiAobG9jYWxUeXBlICE9IE5VTEwpIHsKKwkJdmN0eHQtPmlub2RlLT5mbGFncyB8PSBYTUxfU0NIRU1BX0VMRU1fSU5GT19MT0NBTF9UWVBFOworCQlhY3R1YWxUeXBlID0gbG9jYWxUeXBlOworCSAgICB9CisJfQorICAgIH0KKyAgICAvKgorICAgICogSURDOiBSZWdpc3RlciBpZGVudGl0eS1jb25zdHJhaW50IFhQYXRoIG1hdGNoZXJzLgorICAgICovCisgICAgaWYgKChlbGVtRGVjbC0+aWRjcyAhPSBOVUxMKSAmJgorCSh4bWxTY2hlbWFJRENSZWdpc3Rlck1hdGNoZXJzKHZjdHh0LCBlbGVtRGVjbCkgPT0gLTEpKQorCSAgICByZXR1cm4gKC0xKTsKKyAgICAvKgorICAgICogTm8gYWN0dWFsIHR5cGUgZGVmaW5pdGlvbi4KKyAgICAqLworICAgIGlmIChhY3R1YWxUeXBlID09IE5VTEwpIHsKKwlWRVJST1IoWE1MX1NDSEVNQVZfQ1ZDX1RZUEVfMSwgTlVMTCwKKwkgICAgIlRoZSB0eXBlIGRlZmluaXRpb24gaXMgYWJzZW50Iik7CisJcmV0dXJuIChYTUxfU0NIRU1BVl9DVkNfVFlQRV8xKTsKKyAgICB9CisgICAgLyoKKyAgICAqIFJlbWVtYmVyIHRoZSBhY3R1YWwgdHlwZSBkZWZpbml0aW9uLgorICAgICovCisgICAgdmN0eHQtPmlub2RlLT50eXBlRGVmID0gYWN0dWFsVHlwZTsKKworICAgIHJldHVybiAoMCk7Cit9CisKK3N0YXRpYyBpbnQKK3htbFNjaGVtYVZBdHRyaWJ1dGVzU2ltcGxlKHhtbFNjaGVtYVZhbGlkQ3R4dFB0ciB2Y3R4dCkKK3sKKyAgICB4bWxTY2hlbWFBdHRySW5mb1B0ciBpYXR0cjsKKyAgICBpbnQgcmV0ID0gMCwgaTsKKworICAgIC8qCisgICAgKiBTUEVDIGN2Yy10eXBlICgzLjEuMSkKKyAgICAqICJUaGUgYXR0cmlidXRlcyBvZiBtdXN0IGJlIGVtcHR5LCBleGNlcHRpbmcgdGhvc2Ugd2hvc2UgbmFtZXNwYWNlCisgICAgKiBuYW1lIGlzIGlkZW50aWNhbCB0byBodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSBhbmQKKyAgICAqIHdob3NlIGxvY2FsIG5hbWUgaXMgb25lIG9mIHR5cGUsIG5pbCwgc2NoZW1hTG9jYXRpb24gb3IKKyAgICAqIG5vTmFtZXNwYWNlU2NoZW1hTG9jYXRpb24uIgorICAgICovCisgICAgaWYgKHZjdHh0LT5uYkF0dHJJbmZvcyA9PSAwKQorCXJldHVybiAoMCk7CisgICAgZm9yIChpID0gMDsgaSA8IHZjdHh0LT5uYkF0dHJJbmZvczsgaSsrKSB7CisJaWF0dHIgPSB2Y3R4dC0+YXR0ckluZm9zW2ldOworCWlmICghIGlhdHRyLT5tZXRhVHlwZSkgeworCSAgICBBQ1RJVkFURV9BVFRSSUJVVEUoaWF0dHIpCisJICAgIHhtbFNjaGVtYUlsbGVnYWxBdHRyRXJyKEFDVFhUX0NBU1QgdmN0eHQsCisJCVhNTF9TQ0hFTUFWX0NWQ19UWVBFXzNfMV8xLCBpYXR0ciwgTlVMTCk7CisJICAgIHJldCA9IFhNTF9TQ0hFTUFWX0NWQ19UWVBFXzNfMV8xOworICAgICAgICB9CisgICAgfQorICAgIEFDVElWQVRFX0VMRU0KKyAgICByZXR1cm4gKHJldCk7Cit9CisKKy8qCisqIENsZWFudXAgY3VycmVudGx5IHVzZWQgYXR0cmlidXRlIGluZm9zLgorKi8KK3N0YXRpYyB2b2lkCit4bWxTY2hlbWFDbGVhckF0dHJJbmZvcyh4bWxTY2hlbWFWYWxpZEN0eHRQdHIgdmN0eHQpCit7CisgICAgaW50IGk7CisgICAgeG1sU2NoZW1hQXR0ckluZm9QdHIgYXR0cjsKKworICAgIGlmICh2Y3R4dC0+bmJBdHRySW5mb3MgPT0gMCkKKwlyZXR1cm47CisgICAgZm9yIChpID0gMDsgaSA8IHZjdHh0LT5uYkF0dHJJbmZvczsgaSsrKSB7CisJYXR0ciA9IHZjdHh0LT5hdHRySW5mb3NbaV07CisJaWYgKGF0dHItPmZsYWdzICYgWE1MX1NDSEVNQV9OT0RFX0lORk9fRkxBR19PV05FRF9OQU1FUykgeworCSAgICBpZiAoYXR0ci0+bG9jYWxOYW1lICE9IE5VTEwpCisJCXhtbEZyZWUoKHhtbENoYXIgKikgYXR0ci0+bG9jYWxOYW1lKTsKKwkgICAgaWYgKGF0dHItPm5zTmFtZSAhPSBOVUxMKQorCQl4bWxGcmVlKCh4bWxDaGFyICopIGF0dHItPm5zTmFtZSk7CisJfQorCWlmIChhdHRyLT5mbGFncyAmIFhNTF9TQ0hFTUFfTk9ERV9JTkZPX0ZMQUdfT1dORURfVkFMVUVTKSB7CisJICAgIGlmIChhdHRyLT52YWx1ZSAhPSBOVUxMKQorCQl4bWxGcmVlKCh4bWxDaGFyICopIGF0dHItPnZhbHVlKTsKKwl9CisJaWYgKGF0dHItPnZhbCAhPSBOVUxMKSB7CisJICAgIHhtbFNjaGVtYUZyZWVWYWx1ZShhdHRyLT52YWwpOworCSAgICBhdHRyLT52YWwgPSBOVUxMOworCX0KKwltZW1zZXQoYXR0ciwgMCwgc2l6ZW9mKHhtbFNjaGVtYUF0dHJJbmZvKSk7CisgICAgfQorICAgIHZjdHh0LT5uYkF0dHJJbmZvcyA9IDA7Cit9CisKKy8qCisqIDMuNC40IENvbXBsZXggVHlwZSBEZWZpbml0aW9uIFZhbGlkYXRpb24gUnVsZXMKKyogICBFbGVtZW50IExvY2FsbHkgVmFsaWQgKENvbXBsZXggVHlwZSkgKGN2Yy1jb21wbGV4LXR5cGUpCisqIDMuMi40IEF0dHJpYnV0ZSBEZWNsYXJhdGlvbiBWYWxpZGF0aW9uIFJ1bGVzCisqICAgVmFsaWRhdGlvbiBSdWxlOiBBdHRyaWJ1dGUgTG9jYWxseSBWYWxpZCAoY3ZjLWF0dHJpYnV0ZSkKKyogICBBdHRyaWJ1dGUgTG9jYWxseSBWYWxpZCAoVXNlKSAoY3ZjLWF1KQorKgorKiBPbmx5ICJhc3Nlc3NlZCIgYXR0cmlidXRlIGluZm9ybWF0aW9uIGl0ZW1zIHdpbGwgYmUgdmlzaWJsZSB0bworKiBJRENzLiBJLmUuIG5vdCAibGF4IiAod2l0aG91dCBkZWNsYXJhdGlvbikgYW5kICJza2lwIiB3aWxkIGF0dHJpYnV0ZXMuCisqLworc3RhdGljIGludAoreG1sU2NoZW1hVkF0dHJpYnV0ZXNDb21wbGV4KHhtbFNjaGVtYVZhbGlkQ3R4dFB0ciB2Y3R4dCkKK3sKKyAgICB4bWxTY2hlbWFUeXBlUHRyIHR5cGUgPSB2Y3R4dC0+aW5vZGUtPnR5cGVEZWY7CisgICAgeG1sU2NoZW1hSXRlbUxpc3RQdHIgYXR0clVzZUxpc3Q7CisgICAgeG1sU2NoZW1hQXR0cmlidXRlVXNlUHRyIGF0dHJVc2UgPSBOVUxMOworICAgIHhtbFNjaGVtYUF0dHJpYnV0ZVB0ciBhdHRyRGVjbCA9IE5VTEw7CisgICAgeG1sU2NoZW1hQXR0ckluZm9QdHIgaWF0dHIsIHRtcGlhdHRyOworICAgIGludCBpLCBqLCBmb3VuZCwgbmJBdHRycywgbmJVc2VzOworICAgIGludCB4cGF0aFJlcyA9IDAsIHJlcywgd2lsZElEcyA9IDAsIGZpeGVkOworICAgIHhtbE5vZGVQdHIgZGVmQXR0ck93bmVyRWxlbSA9IE5VTEw7CisKKyAgICAvKgorICAgICogU1BFQyAoY3ZjLWF0dHJpYnV0ZSkKKyAgICAqICgxKSAiVGhlIGRlY2xhcmF0aW9uIG11c3Qgbm90IGJlIGBhYnNlbnRgIChzZWUgTWlzc2luZworICAgICogU3ViLWNvbXBvbmVudHMgKCQ1LjMpIGZvciBob3cgdGhpcyBjYW4gZmFpbCB0byBiZQorICAgICogdGhlIGNhc2UpLiIKKyAgICAqICgyKSAiSXRzIHt0eXBlIGRlZmluaXRpb259IG11c3Qgbm90IGJlIGFic2VudC4iCisgICAgKgorICAgICogTk9URSAoMSkgKyAoMik6IFRoaXMgaXMgbm90IGhhbmRsZWQgaGVyZSwgc2luY2Ugd2UgY3VycmVudGx5IGRvIG5vdAorICAgICogYWxsb3cgdmFsaWRhdGlvbiBhZ2FpbnN0IHNjaGVtYXMgd2hpY2ggaGF2ZSBtaXNzaW5nIHN1Yi1jb21wb25lbnRzLgorICAgICoKKyAgICAqIFNQRUMgKGN2Yy1jb21wbGV4LXR5cGUpCisgICAgKiAoMykgIkZvciBlYWNoIGF0dHJpYnV0ZSBpbmZvcm1hdGlvbiBpdGVtIGluIHRoZSBlbGVtZW50IGluZm9ybWF0aW9uCisgICAgKiBpdGVtJ3MgW2F0dHJpYnV0ZXNdIGV4Y2VwdGluZyB0aG9zZSB3aG9zZSBbbmFtZXNwYWNlIG5hbWVdIGlzCisgICAgKiBpZGVudGljYWwgdG8gaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UgYW5kIHdob3NlCisgICAgKiBbbG9jYWwgbmFtZV0gaXMgb25lIG9mIHR5cGUsIG5pbCwgc2NoZW1hTG9jYXRpb24gb3IKKyAgICAqIG5vTmFtZXNwYWNlU2NoZW1hTG9jYXRpb24sIHRoZSBhcHByb3ByaWF0ZSBjYXNlIGFtb25nIHRoZSBmb2xsb3dpbmcKKyAgICAqIG11c3QgYmUgdHJ1ZToKKyAgICAqCisgICAgKi8KKyAgICBhdHRyVXNlTGlzdCA9ICh4bWxTY2hlbWFJdGVtTGlzdFB0cikgdHlwZS0+YXR0clVzZXM7CisgICAgLyoKKyAgICAqIEBuYkF0dHJzIGlzIHRoZSBudW1iZXIgb2YgYXR0cmlidXRlcyBwcmVzZW50IGluIHRoZSBpbnN0YW5jZS4KKyAgICAqLworICAgIG5iQXR0cnMgPSB2Y3R4dC0+bmJBdHRySW5mb3M7CisgICAgaWYgKGF0dHJVc2VMaXN0ICE9IE5VTEwpCisJbmJVc2VzID0gYXR0clVzZUxpc3QtPm5iSXRlbXM7CisgICAgZWxzZQorCW5iVXNlcyA9IDA7CisgICAgZm9yIChpID0gMDsgaSA8IG5iVXNlczsgaSsrKSB7CisgICAgICAgIGZvdW5kID0gMDsKKwlhdHRyVXNlID0gYXR0clVzZUxpc3QtPml0ZW1zW2ldOworCWF0dHJEZWNsID0gV1hTX0FUVFJVU0VfREVDTChhdHRyVXNlKTsKKyAgICAgICAgZm9yIChqID0gMDsgaiA8IG5iQXR0cnM7IGorKykgeworCSAgICBpYXR0ciA9IHZjdHh0LT5hdHRySW5mb3Nbal07CisJICAgIC8qCisJICAgICogU1BFQyAoY3ZjLWNvbXBsZXgtdHlwZSkgKDMpCisJICAgICogU2tpcCBtZXRhIGF0dHJpYnV0ZXMuCisJICAgICovCisJICAgIGlmIChpYXR0ci0+bWV0YVR5cGUpCisJCWNvbnRpbnVlOworCSAgICBpZiAoaWF0dHItPmxvY2FsTmFtZVswXSAhPSBhdHRyRGVjbC0+bmFtZVswXSkKKwkJY29udGludWU7CisJICAgIGlmICgheG1sU3RyRXF1YWwoaWF0dHItPmxvY2FsTmFtZSwgYXR0ckRlY2wtPm5hbWUpKQorCQljb250aW51ZTsKKwkgICAgaWYgKCF4bWxTdHJFcXVhbChpYXR0ci0+bnNOYW1lLCBhdHRyRGVjbC0+dGFyZ2V0TmFtZXNwYWNlKSkKKwkJY29udGludWU7CisJICAgIGZvdW5kID0gMTsKKwkgICAgLyoKKwkgICAgKiBTUEVDIChjdmMtY29tcGxleC10eXBlKQorCSAgICAqICgzLjEpICJJZiB0aGVyZSBpcyBhbW9uZyB0aGUge2F0dHJpYnV0ZSB1c2VzfSBhbiBhdHRyaWJ1dGUKKwkgICAgKiB1c2Ugd2l0aCBhbiB7YXR0cmlidXRlIGRlY2xhcmF0aW9ufSB3aG9zZSB7bmFtZX0gbWF0Y2hlcworCSAgICAqIHRoZSBhdHRyaWJ1dGUgaW5mb3JtYXRpb24gaXRlbSdzIFtsb2NhbCBuYW1lXSBhbmQgd2hvc2UKKwkgICAgKiB7dGFyZ2V0IG5hbWVzcGFjZX0gaXMgaWRlbnRpY2FsIHRvIHRoZSBhdHRyaWJ1dGUgaW5mb3JtYXRpb24KKwkgICAgKiBpdGVtJ3MgW25hbWVzcGFjZSBuYW1lXSAod2hlcmUgYW4gYGFic2VudGAge3RhcmdldCBuYW1lc3BhY2V9CisJICAgICogaXMgdGFrZW4gdG8gYmUgaWRlbnRpY2FsIHRvIGEgW25hbWVzcGFjZSBuYW1lXSB3aXRoIG5vIHZhbHVlKSwKKwkgICAgKiB0aGVuIHRoZSBhdHRyaWJ1dGUgaW5mb3JtYXRpb24gbXVzdCBiZSBgdmFsaWRgIHdpdGggcmVzcGVjdAorCSAgICAqIHRvIHRoYXQgYXR0cmlidXRlIHVzZSBhcyBwZXIgQXR0cmlidXRlIExvY2FsbHkgVmFsaWQgKFVzZSkKKwkgICAgKiAoJDMuNS40KS4gSW4gdGhpcyBjYXNlIHRoZSB7YXR0cmlidXRlIGRlY2xhcmF0aW9ufSBvZiB0aGF0CisJICAgICogYXR0cmlidXRlIHVzZSBpcyB0aGUgYGNvbnRleHQtZGV0ZXJtaW5lZCBkZWNsYXJhdGlvbmAgZm9yIHRoZQorCSAgICAqIGF0dHJpYnV0ZSBpbmZvcm1hdGlvbiBpdGVtIHdpdGggcmVzcGVjdCB0byBTY2hlbWEtVmFsaWRpdHkKKwkgICAgKiBBc3Nlc3NtZW50IChBdHRyaWJ1dGUpICgkMy4yLjQpIGFuZAorCSAgICAqIEFzc2Vzc21lbnQgT3V0Y29tZSAoQXR0cmlidXRlKSAoJDMuMi41KS4KKwkgICAgKi8KKwkgICAgaWF0dHItPnN0YXRlID0gWE1MX1NDSEVNQVNfQVRUUl9BU1NFU1NFRDsKKwkgICAgaWF0dHItPnVzZSA9IGF0dHJVc2U7CisJICAgIC8qCisJICAgICogQ29udGV4dC1kZXRlcm1pbmVkIGRlY2xhcmF0aW9uLgorCSAgICAqLworCSAgICBpYXR0ci0+ZGVjbCA9IGF0dHJEZWNsOworCSAgICBpYXR0ci0+dHlwZURlZiA9IGF0dHJEZWNsLT5zdWJ0eXBlczsKKwkgICAgYnJlYWs7CisJfQorCisJaWYgKGZvdW5kKQorCSAgICBjb250aW51ZTsKKworCWlmIChhdHRyVXNlLT5vY2N1cnMgPT0gWE1MX1NDSEVNQVNfQVRUUl9VU0VfUkVRVUlSRUQpIHsKKwkgICAgLyoKKwkgICAgKiBIYW5kbGUgbm9uLWV4aXN0ZW50LCByZXF1aXJlZCBhdHRyaWJ1dGVzLgorCSAgICAqCisJICAgICogU1BFQyAoY3ZjLWNvbXBsZXgtdHlwZSkKKwkgICAgKiAoNCkgIlRoZSB7YXR0cmlidXRlIGRlY2xhcmF0aW9ufSBvZiBlYWNoIGF0dHJpYnV0ZSB1c2UgaW4KKwkgICAgKiB0aGUge2F0dHJpYnV0ZSB1c2VzfSB3aG9zZSB7cmVxdWlyZWR9IGlzIHRydWUgbWF0Y2hlcyBvbmUKKwkgICAgKiBvZiB0aGUgYXR0cmlidXRlIGluZm9ybWF0aW9uIGl0ZW1zIGluIHRoZSBlbGVtZW50IGluZm9ybWF0aW9uCisJICAgICogaXRlbSdzIFthdHRyaWJ1dGVzXSBhcyBwZXIgY2xhdXNlIDMuMSBhYm92ZS4iCisJICAgICovCisJICAgIHRtcGlhdHRyID0geG1sU2NoZW1hR2V0RnJlc2hBdHRySW5mbyh2Y3R4dCk7CisJICAgIGlmICh0bXBpYXR0ciA9PSBOVUxMKSB7CisJCVZFUlJPUl9JTlQoCisJCSAgICAieG1sU2NoZW1hVkF0dHJpYnV0ZXNDb21wbGV4IiwKKwkJICAgICJjYWxsaW5nIHhtbFNjaGVtYUdldEZyZXNoQXR0ckluZm8oKSIpOworCQlyZXR1cm4gKC0xKTsKKwkgICAgfQorCSAgICB0bXBpYXR0ci0+c3RhdGUgPSBYTUxfU0NIRU1BU19BVFRSX0VSUl9NSVNTSU5HOworCSAgICB0bXBpYXR0ci0+dXNlID0gYXR0clVzZTsKKwkgICAgdG1waWF0dHItPmRlY2wgPSBhdHRyRGVjbDsKKwl9IGVsc2UgaWYgKChhdHRyVXNlLT5vY2N1cnMgPT0gWE1MX1NDSEVNQVNfQVRUUl9VU0VfT1BUSU9OQUwpICYmCisJICAgICgoYXR0clVzZS0+ZGVmVmFsdWUgIT0gTlVMTCkgfHwKKwkgICAgIChhdHRyRGVjbC0+ZGVmVmFsdWUgIT0gTlVMTCkpKSB7CisJICAgIC8qCisJICAgICogSGFuZGxlIG5vbi1leGlzdGVudCwgb3B0aW9uYWwsIGRlZmF1bHQvZml4ZWQgYXR0cmlidXRlcy4KKwkgICAgKi8KKwkgICAgdG1waWF0dHIgPSB4bWxTY2hlbWFHZXRGcmVzaEF0dHJJbmZvKHZjdHh0KTsKKwkgICAgaWYgKHRtcGlhdHRyID09IE5VTEwpIHsKKwkJVkVSUk9SX0lOVCgKKwkJICAgICJ4bWxTY2hlbWFWQXR0cmlidXRlc0NvbXBsZXgiLAorCQkgICAgImNhbGxpbmcgeG1sU2NoZW1hR2V0RnJlc2hBdHRySW5mbygpIik7CisJCXJldHVybiAoLTEpOworCSAgICB9CisJICAgIHRtcGlhdHRyLT5zdGF0ZSA9IFhNTF9TQ0hFTUFTX0FUVFJfREVGQVVMVDsKKwkgICAgdG1waWF0dHItPnVzZSA9IGF0dHJVc2U7CisJICAgIHRtcGlhdHRyLT5kZWNsID0gYXR0ckRlY2w7CisJICAgIHRtcGlhdHRyLT50eXBlRGVmID0gYXR0ckRlY2wtPnN1YnR5cGVzOworCSAgICB0bXBpYXR0ci0+bG9jYWxOYW1lID0gYXR0ckRlY2wtPm5hbWU7CisJICAgIHRtcGlhdHRyLT5uc05hbWUgPSBhdHRyRGVjbC0+dGFyZ2V0TmFtZXNwYWNlOworCX0KKyAgICB9CisKKyAgICBpZiAodmN0eHQtPm5iQXR0ckluZm9zID09IDApCisJcmV0dXJuICgwKTsKKyAgICAvKgorICAgICogVmFsaWRhdGUgYWdhaW5zdCB0aGUgd2lsZGNhcmQuCisgICAgKi8KKyAgICBpZiAodHlwZS0+YXR0cmlidXRlV2lsZGNhcmQgIT0gTlVMTCkgeworCS8qCisJKiBTUEVDIChjdmMtY29tcGxleC10eXBlKQorCSogKDMuMi4xKSAiVGhlcmUgbXVzdCBiZSBhbiB7YXR0cmlidXRlIHdpbGRjYXJkfS4iCisJKi8KKwlmb3IgKGkgPSAwOyBpIDwgbmJBdHRyczsgaSsrKSB7CisJICAgIGlhdHRyID0gdmN0eHQtPmF0dHJJbmZvc1tpXTsKKwkgICAgLyoKKwkgICAgKiBTUEVDIChjdmMtY29tcGxleC10eXBlKSAoMykKKwkgICAgKiBTa2lwIG1ldGEgYXR0cmlidXRlcy4KKwkgICAgKi8KKwkgICAgaWYgKGlhdHRyLT5zdGF0ZSAhPSBYTUxfU0NIRU1BU19BVFRSX1VOS05PV04pCisJCWNvbnRpbnVlOworCSAgICAvKgorCSAgICAqIFNQRUMgKGN2Yy1jb21wbGV4LXR5cGUpCisJICAgICogKDMuMi4yKSAiVGhlIGF0dHJpYnV0ZSBpbmZvcm1hdGlvbiBpdGVtIG11c3QgYmUgYHZhbGlkYCB3aXRoCisJICAgICogcmVzcGVjdCB0byBpdCBhcyBkZWZpbmVkIGluIEl0ZW0gVmFsaWQgKFdpbGRjYXJkKSAoJDMuMTAuNCkuIgorCSAgICAqCisJICAgICogU1BFQyBJdGVtIFZhbGlkIChXaWxkY2FyZCkgKGN2Yy13aWxkY2FyZCkKKwkgICAgKiAiLi4uIGl0cyBbbmFtZXNwYWNlIG5hbWVdIG11c3QgYmUgYHZhbGlkYCB3aXRoIHJlc3BlY3QgdG8KKwkgICAgKiB0aGUgd2lsZGNhcmQgY29uc3RyYWludCwgYXMgZGVmaW5lZCBpbiBXaWxkY2FyZCBhbGxvd3MKKwkgICAgKiBOYW1lc3BhY2UgTmFtZSAoJDMuMTAuNCkuIgorCSAgICAqLworCSAgICBpZiAoeG1sU2NoZW1hQ2hlY2tDVkNXaWxkY2FyZE5hbWVzcGFjZSh0eXBlLT5hdHRyaWJ1dGVXaWxkY2FyZCwKKwkJICAgIGlhdHRyLT5uc05hbWUpID09IDApIHsKKwkJLyoKKwkJKiBIYW5kbGUgcHJvY2Vzc0NvbnRlbnRzLgorCQkqCisJCSogU1BFQyAoY3ZjLXdpbGRjYXJkKToKKwkJKiBwcm9jZXNzQ29udGVudHMgfCBjb250ZXh0LWRldGVybWluZWQgZGVjbGFyYXRpb246CisJCSogInN0cmljdCIgICAgICAgICAgIm11c3RGaW5kIgorCQkqICJsYXgiICAgICAgICAgICAgICJub25lIgorCQkqICJza2lwIiAgICAgICAgICAgICJza2lwIgorCQkqLworCQlpZiAodHlwZS0+YXR0cmlidXRlV2lsZGNhcmQtPnByb2Nlc3NDb250ZW50cyA9PQorCQkgICAgWE1MX1NDSEVNQVNfQU5ZX1NLSVApIHsKKwkJICAgICAvKgorCQkgICAgKiBjb250ZXh0LWRldGVybWluZWQgZGVjbGFyYXRpb24gPSAic2tpcCIKKwkJICAgICoKKwkJICAgICogU1BFQyBQU1ZJIEFzc2Vzc21lbnQgT3V0Y29tZSAoQXR0cmlidXRlKQorCQkgICAgKiBbdmFsaWRpdHldID0gIm5vdEtub3duIgorCQkgICAgKiBbdmFsaWRhdGlvbiBhdHRlbXB0ZWRdID0gIm5vbmUiCisJCSAgICAqLworCQkgICAgaWF0dHItPnN0YXRlID0gWE1MX1NDSEVNQVNfQVRUUl9XSUxEX1NLSVA7CisJCSAgICBjb250aW51ZTsKKwkJfQorCQkvKgorCQkqIEZpbmQgYW4gYXR0cmlidXRlIGRlY2xhcmF0aW9uLgorCQkqLworCQlpYXR0ci0+ZGVjbCA9IHhtbFNjaGVtYUdldEF0dHJpYnV0ZURlY2wodmN0eHQtPnNjaGVtYSwKKwkJICAgIGlhdHRyLT5sb2NhbE5hbWUsIGlhdHRyLT5uc05hbWUpOworCQlpZiAoaWF0dHItPmRlY2wgIT0gTlVMTCkgeworCQkgICAgaWF0dHItPnN0YXRlID0gWE1MX1NDSEVNQVNfQVRUUl9BU1NFU1NFRDsKKwkJICAgIC8qCisJCSAgICAqIFNQRUMgKGN2Yy1jb21wbGV4LXR5cGUpCisJCSAgICAqICg1KSAiTGV0IFtEZWZpbml0aW9uOl0gIHRoZSB3aWxkIElEcyBiZSB0aGUgc2V0IG9mCisJCSAgICAqIGFsbCBhdHRyaWJ1dGUgaW5mb3JtYXRpb24gaXRlbSB0byB3aGljaCBjbGF1c2UgMy4yCisJCSAgICAqIGFwcGxpZWQgYW5kIHdob3NlIGB2YWxpZGF0aW9uYCByZXN1bHRlZCBpbiBhCisJCSAgICAqIGBjb250ZXh0LWRldGVybWluZWQgZGVjbGFyYXRpb25gIG9mIG11c3RGaW5kIG9yIG5vCisJCSAgICAqIGBjb250ZXh0LWRldGVybWluZWQgZGVjbGFyYXRpb25gIGF0IGFsbCwgYW5kIHdob3NlCisJCSAgICAqIFtsb2NhbCBuYW1lXSBhbmQgW25hbWVzcGFjZSBuYW1lXSByZXNvbHZlIChhcworCQkgICAgKiBkZWZpbmVkIGJ5IFFOYW1lIHJlc29sdXRpb24gKEluc3RhbmNlKSAoJDMuMTUuNCkpIHRvCisJCSAgICAqIGFuIGF0dHJpYnV0ZSBkZWNsYXJhdGlvbiB3aG9zZSB7dHlwZSBkZWZpbml0aW9ufSBpcworCQkgICAgKiBvciBpcyBkZXJpdmVkIGZyb20gSUQuIFRoZW4gYWxsIG9mIHRoZSBmb2xsb3dpbmcKKwkJICAgICogbXVzdCBiZSB0cnVlOiIKKwkJICAgICovCisJCSAgICBpYXR0ci0+dHlwZURlZiA9IFdYU19BVFRSX1RZUEVERUYoaWF0dHItPmRlY2wpOworCQkgICAgaWYgKHhtbFNjaGVtYUlzRGVyaXZlZEZyb21CdWlsdEluVHlwZSgKKwkJCWlhdHRyLT50eXBlRGVmLCBYTUxfU0NIRU1BU19JRCkpIHsKKwkJCS8qCisJCQkqIFNQRUMgKDUuMSkgIlRoZXJlIG11c3QgYmUgbm8gbW9yZSB0aGFuIG9uZQorCQkJKiBpdGVtIGluIGB3aWxkIElEc2AuIgorCQkJKi8KKwkJCWlmICh3aWxkSURzICE9IDApIHsKKwkJCSAgICAvKiBWQUwgVE9ETyAqLworCQkJICAgIGlhdHRyLT5zdGF0ZSA9IFhNTF9TQ0hFTUFTX0FUVFJfRVJSX1dJTERfRFVQTElDQVRFX0lEOworCQkJICAgIFRPRE8KKwkJCSAgICBjb250aW51ZTsKKwkJCX0KKwkJCXdpbGRJRHMrKzsKKwkJCS8qCisJCQkqIFNQRUMgKGN2Yy1jb21wbGV4LXR5cGUpCisJCQkqICg1LjIpICJJZiBgd2lsZCBJRHNgIGlzIG5vbi1lbXB0eSwgdGhlcmUgbXVzdCBub3QKKwkJCSogYmUgYW55IGF0dHJpYnV0ZSB1c2VzIGFtb25nIHRoZSB7YXR0cmlidXRlIHVzZXN9CisJCQkqIHdob3NlIHthdHRyaWJ1dGUgZGVjbGFyYXRpb259J3Mge3R5cGUgZGVmaW5pdGlvbn0KKwkJCSogaXMgb3IgaXMgZGVyaXZlZCBmcm9tIElELiIKKwkJCSovCisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoYXR0clVzZUxpc3QgIT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoaiA9IDA7IGogPCBhdHRyVXNlTGlzdC0+bmJJdGVtczsgaisrKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh4bWxTY2hlbWFJc0Rlcml2ZWRGcm9tQnVpbHRJblR5cGUoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXWFNfQVRUUlVTRV9UWVBFREVGKGF0dHJVc2VMaXN0LT5pdGVtc1tqXSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfU0NIRU1BU19JRCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIFVSR0VOVCBWQUwgVE9ETzogaW1wbGVtZW50ICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWF0dHItPnN0YXRlID0gWE1MX1NDSEVNQVNfQVRUUl9FUlJfV0lMRF9BTkRfVVNFX0lEOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVE9ETworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICB9CisJCSAgICB9CisJCX0gZWxzZSBpZiAodHlwZS0+YXR0cmlidXRlV2lsZGNhcmQtPnByb2Nlc3NDb250ZW50cyA9PQorCQkgICAgWE1MX1NDSEVNQVNfQU5ZX0xBWCkgeworCQkgICAgaWF0dHItPnN0YXRlID0gWE1MX1NDSEVNQVNfQVRUUl9XSUxEX0xBWF9OT19ERUNMOworCQkgICAgLyoKKwkJICAgICogU1BFQyBQU1ZJIEFzc2Vzc21lbnQgT3V0Y29tZSAoQXR0cmlidXRlKQorCQkgICAgKiBbdmFsaWRpdHldID0gIm5vdEtub3duIgorCQkgICAgKiBbdmFsaWRhdGlvbiBhdHRlbXB0ZWRdID0gIm5vbmUiCisJCSAgICAqLworCQl9IGVsc2UgeworCQkgICAgaWF0dHItPnN0YXRlID0gWE1MX1NDSEVNQVNfQVRUUl9FUlJfV0lMRF9TVFJJQ1RfTk9fREVDTDsKKwkJfQorCSAgICB9CisJfQorICAgIH0KKworICAgIGlmICh2Y3R4dC0+bmJBdHRySW5mb3MgPT0gMCkKKwlyZXR1cm4gKDApOworCisgICAgLyoKKyAgICAqIEdldCB0aGUgb3duZXIgZWxlbWVudDsgbmVlZGVkIGZvciBjcmVhdGlvbiBvZiBkZWZhdWx0IGF0dHJpYnV0ZXMuCisgICAgKiBUaGlzIGZpeGVzIGJ1ZyAjMzQxMzM3LCByZXBvcnRlZCBieSBEYXZpZCBHcm9obWFubi4KKyAgICAqLworICAgIGlmICh2Y3R4dC0+b3B0aW9ucyAmIFhNTF9TQ0hFTUFfVkFMX1ZDX0lfQ1JFQVRFKSB7CisJeG1sU2NoZW1hTm9kZUluZm9QdHIgaWVsZW0gPSB2Y3R4dC0+ZWxlbUluZm9zW3ZjdHh0LT5kZXB0aF07CisJaWYgKGllbGVtICYmIGllbGVtLT5ub2RlICYmIGllbGVtLT5ub2RlLT5kb2MpCisJICAgIGRlZkF0dHJPd25lckVsZW0gPSBpZWxlbS0+bm9kZTsKKyAgICB9CisgICAgLyoKKyAgICAqIFZhbGlkYXRlIHZhbHVlcywgY3JlYXRlIGRlZmF1bHQgYXR0cmlidXRlcywgZXZhbHVhdGUgSURDcy4KKyAgICAqLworICAgIGZvciAoaSA9IDA7IGkgPCB2Y3R4dC0+bmJBdHRySW5mb3M7IGkrKykgeworCWlhdHRyID0gdmN0eHQtPmF0dHJJbmZvc1tpXTsKKwkvKgorCSogVkFMIFRPRE86IE5vdGUgdGhhdCB3ZSB3b24ndCB0cnkgdG8gcmVzb2x2ZSBJRENzIHRvCisJKiAibGF4IiBhbmQgInNraXAiIHZhbGlkYXRlZCBhdHRyaWJ1dGVzLiBDaGVjayB3aGF0IHRvCisJKiBkbyBpbiB0aGlzIGNhc2UuCisJKi8KKwlpZiAoKGlhdHRyLT5zdGF0ZSAhPSBYTUxfU0NIRU1BU19BVFRSX0FTU0VTU0VEKSAmJgorCSAgICAoaWF0dHItPnN0YXRlICE9IFhNTF9TQ0hFTUFTX0FUVFJfREVGQVVMVCkpCisJICAgIGNvbnRpbnVlOworCS8qCisJKiBWQUwgVE9ETzogV2hhdCB0byBkbyBpZiB0aGUgdHlwZSBkZWZpbml0aW9uIGlzIG1pc3Npbmc/CisJKi8KKwlpZiAoaWF0dHItPnR5cGVEZWYgPT0gTlVMTCkgeworCSAgICBpYXR0ci0+c3RhdGUgPSBYTUxfU0NIRU1BU19BVFRSX0VSUl9OT19UWVBFOworCSAgICBjb250aW51ZTsKKwl9CisKKwlBQ1RJVkFURV9BVFRSSUJVVEUoaWF0dHIpOworCWZpeGVkID0gMDsKKwl4cGF0aFJlcyA9IDA7CisKKwlpZiAodmN0eHQtPnhwYXRoU3RhdGVzICE9IE5VTEwpIHsKKwkgICAgLyoKKwkgICAgKiBFdmFsdWF0ZSBJRENzLgorCSAgICAqLworCSAgICB4cGF0aFJlcyA9IHhtbFNjaGVtYVhQYXRoRXZhbHVhdGUodmN0eHQsCisJCVhNTF9BVFRSSUJVVEVfTk9ERSk7CisJICAgIGlmICh4cGF0aFJlcyA9PSAtMSkgeworCQlWRVJST1JfSU5UKCJ4bWxTY2hlbWFWQXR0cmlidXRlc0NvbXBsZXgiLAorCQkgICAgImNhbGxpbmcgeG1sU2NoZW1hWFBhdGhFdmFsdWF0ZSgpIik7CisJCWdvdG8gaW50ZXJuYWxfZXJyb3I7CisJICAgIH0KKwl9CisKKwlpZiAoaWF0dHItPnN0YXRlID09IFhNTF9TQ0hFTUFTX0FUVFJfREVGQVVMVCkgeworCSAgICAvKgorCSAgICAqIERlZmF1bHQvZml4ZWQgYXR0cmlidXRlcy4KKwkgICAgKiBXZSBuZWVkIHRoZSB2YWx1ZSBvbmx5IGlmIHdlIG5lZWQgdG8gcmVzb2x2ZSBJRENzIG9yCisJICAgICogd2lsbCBjcmVhdGUgZGVmYXVsdCBhdHRyaWJ1dGVzLgorCSAgICAqLworCSAgICBpZiAoKHhwYXRoUmVzKSB8fCAoZGVmQXR0ck93bmVyRWxlbSkpIHsKKwkJaWYgKGlhdHRyLT51c2UtPmRlZlZhbHVlICE9IE5VTEwpIHsKKwkJICAgIGlhdHRyLT52YWx1ZSA9ICh4bWxDaGFyICopIGlhdHRyLT51c2UtPmRlZlZhbHVlOworCQkgICAgaWF0dHItPnZhbCA9IGlhdHRyLT51c2UtPmRlZlZhbDsKKwkJfSBlbHNlIHsKKwkJICAgIGlhdHRyLT52YWx1ZSA9ICh4bWxDaGFyICopIGlhdHRyLT5kZWNsLT5kZWZWYWx1ZTsKKwkJICAgIGlhdHRyLT52YWwgPSBpYXR0ci0+ZGVjbC0+ZGVmVmFsOworCQl9CisJCS8qCisJCSogSURDcyB3aWxsIGNvbnN1bWUgdGhlIHByZWNvbXB1dGVkIGRlZmF1bHQgdmFsdWUsCisJCSogc28gd2UgbmVlZCB0byBjbG9uZSBpdC4KKwkJKi8KKwkJaWYgKGlhdHRyLT52YWwgPT0gTlVMTCkgeworCQkgICAgVkVSUk9SX0lOVCgieG1sU2NoZW1hVkF0dHJpYnV0ZXNDb21wbGV4IiwKKwkJCSJkZWZhdWx0L2ZpeGVkIHZhbHVlIG9uIGFuIGF0dHJpYnV0ZSB1c2Ugd2FzICIKKwkJCSJub3QgcHJlY29tcHV0ZWQiKTsKKwkJICAgIGdvdG8gaW50ZXJuYWxfZXJyb3I7CisJCX0KKwkJaWF0dHItPnZhbCA9IHhtbFNjaGVtYUNvcHlWYWx1ZShpYXR0ci0+dmFsKTsKKwkJaWYgKGlhdHRyLT52YWwgPT0gTlVMTCkgeworCQkgICAgVkVSUk9SX0lOVCgieG1sU2NoZW1hVkF0dHJpYnV0ZXNDb21wbGV4IiwKKwkJCSJjYWxsaW5nIHhtbFNjaGVtYUNvcHlWYWx1ZSgpIik7CisJCSAgICBnb3RvIGludGVybmFsX2Vycm9yOworCQl9CisJICAgIH0KKwkgICAgLyoKKwkgICAgKiBQU1ZJOiBBZGQgdGhlIGRlZmF1bHQgYXR0cmlidXRlIHRvIHRoZSBjdXJyZW50IGVsZW1lbnQuCisJICAgICogVkFMIFRPRE86IFNob3VsZCB3ZSB1c2UgdGhlICpub3JtYWxpemVkKiB2YWx1ZT8gVGhpcyBjdXJyZW50bHkKKwkgICAgKiAgIHVzZXMgdGhlICppbml0aWFsKiB2YWx1ZS4KKwkgICAgKi8KKworCSAgICBpZiAoZGVmQXR0ck93bmVyRWxlbSkgeworCQl4bWxDaGFyICpub3JtVmFsdWU7CisJCWNvbnN0IHhtbENoYXIgKnZhbHVlOworCisJCXZhbHVlID0gaWF0dHItPnZhbHVlOworCQkvKgorCQkqIE5vcm1hbGl6ZSB0aGUgdmFsdWUuCisJCSovCisJCW5vcm1WYWx1ZSA9IHhtbFNjaGVtYU5vcm1hbGl6ZVZhbHVlKGlhdHRyLT50eXBlRGVmLAorCQkgICAgaWF0dHItPnZhbHVlKTsKKwkJaWYgKG5vcm1WYWx1ZSAhPSBOVUxMKQorCQkgICAgdmFsdWUgPSBCQURfQ0FTVCBub3JtVmFsdWU7CisKKwkJaWYgKGlhdHRyLT5uc05hbWUgPT0gTlVMTCkgeworCQkgICAgaWYgKHhtbE5ld1Byb3AoZGVmQXR0ck93bmVyRWxlbSwKKwkJCWlhdHRyLT5sb2NhbE5hbWUsIHZhbHVlKSA9PSBOVUxMKSB7CisJCQlWRVJST1JfSU5UKCJ4bWxTY2hlbWFWQXR0cmlidXRlc0NvbXBsZXgiLAorCQkJICAgICJjYWxsbGluZyB4bWxOZXdQcm9wKCkiKTsKKwkJCWlmIChub3JtVmFsdWUgIT0gTlVMTCkKKwkJCSAgICB4bWxGcmVlKG5vcm1WYWx1ZSk7CisJCQlnb3RvIGludGVybmFsX2Vycm9yOworCQkgICAgfQorCQl9IGVsc2UgeworCQkgICAgeG1sTnNQdHIgbnM7CisKKwkJICAgIG5zID0geG1sU2VhcmNoTnNCeUhyZWYoZGVmQXR0ck93bmVyRWxlbS0+ZG9jLAorCQkJZGVmQXR0ck93bmVyRWxlbSwgaWF0dHItPm5zTmFtZSk7CisJCSAgICBpZiAobnMgPT0gTlVMTCkgeworCQkJeG1sQ2hhciBwcmVmaXhbMTJdOworCQkJaW50IGNvdW50ZXIgPSAwOworCisJCQkvKgorCQkJKiBDcmVhdGUgYSBuYW1lc3BhY2UgZGVjbGFyYXRpb24gb24gdGhlIHZhbGlkYXRpb24KKwkJCSogcm9vdCBub2RlIGlmIG5vIG5hbWVzcGFjZSBkZWNsYXJhdGlvbiBpcyBpbiBzY29wZS4KKwkJCSovCisJCQlkbyB7CisJCQkgICAgc25wcmludGYoKGNoYXIgKikgcHJlZml4LCAxMiwgInAlZCIsIGNvdW50ZXIrKyk7CisJCQkgICAgbnMgPSB4bWxTZWFyY2hOcyhkZWZBdHRyT3duZXJFbGVtLT5kb2MsCisJCQkJZGVmQXR0ck93bmVyRWxlbSwgQkFEX0NBU1QgcHJlZml4KTsKKwkJCSAgICBpZiAoY291bnRlciA+IDEwMDApIHsKKwkJCQlWRVJST1JfSU5UKAorCQkJCSAgICAieG1sU2NoZW1hVkF0dHJpYnV0ZXNDb21wbGV4IiwKKwkJCQkgICAgImNvdWxkIG5vdCBjb21wdXRlIGEgbnMgcHJlZml4IGZvciBhICIKKwkJCQkgICAgImRlZmF1bHQvZml4ZWQgYXR0cmlidXRlIik7CisJCQkJaWYgKG5vcm1WYWx1ZSAhPSBOVUxMKQorCQkJCSAgICB4bWxGcmVlKG5vcm1WYWx1ZSk7CisJCQkJZ290byBpbnRlcm5hbF9lcnJvcjsKKwkJCSAgICB9CisJCQl9IHdoaWxlIChucyAhPSBOVUxMKTsKKwkJCW5zID0geG1sTmV3TnModmN0eHQtPnZhbGlkYXRpb25Sb290LAorCQkJICAgIGlhdHRyLT5uc05hbWUsIEJBRF9DQVNUIHByZWZpeCk7CisJCSAgICB9CisJCSAgICAvKgorCQkgICAgKiBUT0RPOgorCQkgICAgKiBodHRwOi8vbGlzdHMudzMub3JnL0FyY2hpdmVzL1B1YmxpYy93d3cteG1sLXNjaGVtYS1jb21tZW50cy8yMDA1SnVsU2VwLzA0MDYuaHRtbAorCQkgICAgKiBJZiB3ZSBoYXZlIFFOYW1lczogZG8gd2UgbmVlZCB0byBlbnN1cmUgdGhlcmUncyBhCisJCSAgICAqIHByZWZpeCBkZWZpbmVkIGZvciB0aGUgUU5hbWU/CisJCSAgICAqLworCQkgICAgeG1sTmV3TnNQcm9wKGRlZkF0dHJPd25lckVsZW0sIG5zLCBpYXR0ci0+bG9jYWxOYW1lLCB2YWx1ZSk7CisJCX0KKwkJaWYgKG5vcm1WYWx1ZSAhPSBOVUxMKQorCQkgICAgeG1sRnJlZShub3JtVmFsdWUpOworCSAgICB9CisJICAgIC8qCisJICAgICogR28gZGlyZWN0bHkgdG8gSURDIGV2YWx1YXRpb24uCisJICAgICovCisJICAgIGdvdG8gZXZhbF9pZGNzOworCX0KKwkvKgorCSogVmFsaWRhdGUgdGhlIHZhbHVlLgorCSovCisJaWYgKHZjdHh0LT52YWx1ZSAhPSBOVUxMKSB7CisJICAgIC8qCisJICAgICogRnJlZSBsYXN0IGNvbXB1dGVkIHZhbHVlOyBqdXN0IGZvciBzYWZldHkgcmVhc29ucy4KKwkgICAgKi8KKwkgICAgeG1sU2NoZW1hRnJlZVZhbHVlKHZjdHh0LT52YWx1ZSk7CisJICAgIHZjdHh0LT52YWx1ZSA9IE5VTEw7CisJfQorCS8qCisJKiBOb3RlIHRoYXQgdGhlIGF0dHJpYnV0ZSAqdXNlKiBjYW4gYmUgdW5hdmFpbGFibGUsIGlmCisJKiB0aGUgYXR0cmlidXRlIHdhcyBhIHdpbGQgYXR0cmlidXRlLgorCSovCisJaWYgKChpYXR0ci0+ZGVjbC0+ZmxhZ3MgJiBYTUxfU0NIRU1BU19BVFRSX0ZJWEVEKSB8fAorCSAgICAoKGlhdHRyLT51c2UgIT0gTlVMTCkgJiYKKwkgICAgIChpYXR0ci0+dXNlLT5mbGFncyAmIFhNTF9TQ0hFTUFTX0FUVFJfRklYRUQpKSkKKwkgICAgZml4ZWQgPSAxOworCWVsc2UKKwkgICAgZml4ZWQgPSAwOworCS8qCisJKiBTUEVDIChjdmMtYXR0cmlidXRlKQorCSogKDMpICJUaGUgaXRlbSdzIGBub3JtYWxpemVkIHZhbHVlYCBtdXN0IGJlIGxvY2FsbHkgYHZhbGlkYAorCSogd2l0aCByZXNwZWN0IHRvIHRoYXQge3R5cGUgZGVmaW5pdGlvbn0gYXMgcGVyCisJKiBTdHJpbmcgVmFsaWQgKCQzLjE0LjQpLiIKKwkqCisJKiBWQUwgVE9ETzogRG8gd2UgYWxyZWFkeSBoYXZlIHRoZQorCSogIm5vcm1hbGl6ZWQgYXR0cmlidXRlIHZhbHVlIiBoZXJlPworCSovCisJaWYgKHhwYXRoUmVzIHx8IGZpeGVkKSB7CisJICAgIGlhdHRyLT5mbGFncyB8PSBYTUxfU0NIRU1BX05PREVfSU5GT19WQUxVRV9ORUVERUQ7CisJICAgIC8qCisJICAgICogUmVxdWVzdCBhIGNvbXB1dGVkIHZhbHVlLgorCSAgICAqLworCSAgICByZXMgPSB4bWxTY2hlbWFWQ2hlY2tDVkNTaW1wbGVUeXBlKAorCQlBQ1RYVF9DQVNUIHZjdHh0LAorCQlpYXR0ci0+bm9kZSwgaWF0dHItPnR5cGVEZWYsIGlhdHRyLT52YWx1ZSwgJihpYXR0ci0+dmFsKSwKKwkJMSwgMSwgMCk7CisJfSBlbHNlIHsKKwkgICAgcmVzID0geG1sU2NoZW1hVkNoZWNrQ1ZDU2ltcGxlVHlwZSgKKwkJQUNUWFRfQ0FTVCB2Y3R4dCwKKwkJaWF0dHItPm5vZGUsIGlhdHRyLT50eXBlRGVmLCBpYXR0ci0+dmFsdWUsIE5VTEwsCisJCTEsIDAsIDApOworCX0KKworCWlmIChyZXMgIT0gMCkgeworCSAgICBpZiAocmVzID09IC0xKSB7CisJCVZFUlJPUl9JTlQoInhtbFNjaGVtYVZBdHRyaWJ1dGVzQ29tcGxleCIsCisJCSAgICAiY2FsbGluZyB4bWxTY2hlbWFTdHJlYW1WYWxpZGF0ZVNpbXBsZVR5cGVWYWx1ZSgpIik7CisJCWdvdG8gaW50ZXJuYWxfZXJyb3I7CisJICAgIH0KKwkgICAgaWF0dHItPnN0YXRlID0gWE1MX1NDSEVNQVNfQVRUUl9JTlZBTElEX1ZBTFVFOworCSAgICAvKgorCSAgICAqIFNQRUMgUFNWSSBBc3Nlc3NtZW50IE91dGNvbWUgKEF0dHJpYnV0ZSkKKwkgICAgKiBbdmFsaWRpdHldID0gImludmFsaWQiCisJICAgICovCisJICAgIGdvdG8gZXZhbF9pZGNzOworCX0KKworCWlmIChmaXhlZCkgeworCSAgICAvKgorCSAgICAqIFNQRUMgQXR0cmlidXRlIExvY2FsbHkgVmFsaWQgKFVzZSkgKGN2Yy1hdSkKKwkgICAgKiAiRm9yIGFuIGF0dHJpYnV0ZSBpbmZvcm1hdGlvbiBpdGVtIHRvIGJlIGB2YWxpZGAKKwkgICAgKiB3aXRoIHJlc3BlY3QgdG8gYW4gYXR0cmlidXRlIHVzZSBpdHMgKm5vcm1hbGl6ZWQqCisJICAgICogdmFsdWUgbXVzdCBtYXRjaCB0aGUgKmNhbm9uaWNhbCogbGV4aWNhbAorCSAgICAqIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBhdHRyaWJ1dGUgdXNlJ3Mge3ZhbHVlCisJICAgICogY29uc3RyYWludH12YWx1ZSwgaWYgaXQgaXMgcHJlc2VudCBhbmQgZml4ZWQuIgorCSAgICAqCisJICAgICogVkFMIFRPRE86IFRoZSByZXF1aXJlbWVudCBmb3IgdGhlICpjYW5vbmljYWwqIHZhbHVlCisJICAgICogd2lsbCBiZSByZW1vdmVkIGluIFhNTCBTY2hlbWEgMS4xLgorCSAgICAqLworCSAgICAvKgorCSAgICAqIFNQRUMgQXR0cmlidXRlIExvY2FsbHkgVmFsaWQgKGN2Yy1hdHRyaWJ1dGUpCisJICAgICogKDQpICJUaGUgaXRlbSdzICphY3R1YWwqIHZhbHVlIG11c3QgbWF0Y2ggdGhlICp2YWx1ZSogb2YKKwkgICAgKiB0aGUge3ZhbHVlIGNvbnN0cmFpbnR9LCBpZiBpdCBpcyBwcmVzZW50IGFuZCBmaXhlZC4iCisJICAgICovCisJICAgIGlmIChpYXR0ci0+dmFsID09IE5VTEwpIHsKKwkJLyogVkFMIFRPRE86IEEgdmFsdWUgd2FzIG5vdCBwcmVjb21wdXRlZC4gKi8KKwkJVE9ETworCQlnb3RvIGV2YWxfaWRjczsKKwkgICAgfQorCSAgICBpZiAoKGlhdHRyLT51c2UgIT0gTlVMTCkgJiYKKwkJKGlhdHRyLT51c2UtPmRlZlZhbHVlICE9IE5VTEwpKSB7CisJCWlmIChpYXR0ci0+dXNlLT5kZWZWYWwgPT0gTlVMTCkgeworCQkgICAgLyogVkFMIFRPRE86IEEgZGVmYXVsdCB2YWx1ZSB3YXMgbm90IHByZWNvbXB1dGVkLiAqLworCQkgICAgVE9ETworCQkgICAgZ290byBldmFsX2lkY3M7CisJCX0KKwkJaWF0dHItPnZjVmFsdWUgPSBpYXR0ci0+dXNlLT5kZWZWYWx1ZTsKKwkJLyoKKwkJaWYgKHhtbFNjaGVtYUNvbXBhcmVWYWx1ZXNXaHRzcChhdHRyLT52YWwsCisJCSAgICAoeG1sU2NoZW1hV2hpdGVzcGFjZVZhbHVlVHlwZSkgd3MsCisJCSAgICBhdHRyLT51c2UtPmRlZlZhbCwKKwkJICAgICh4bWxTY2hlbWFXaGl0ZXNwYWNlVmFsdWVUeXBlKSB3cykgIT0gMCkgeworCQkqLworCQlpZiAoISB4bWxTY2hlbWFBcmVWYWx1ZXNFcXVhbChpYXR0ci0+dmFsLCBpYXR0ci0+dXNlLT5kZWZWYWwpKQorCQkgICAgaWF0dHItPnN0YXRlID0gWE1MX1NDSEVNQVNfQVRUUl9FUlJfRklYRURfVkFMVUU7CisJICAgIH0gZWxzZSB7CisJCWlmIChpYXR0ci0+ZGVjbC0+ZGVmVmFsID09IE5VTEwpIHsKKwkJICAgIC8qIFZBTCBUT0RPOiBBIGRlZmF1bHQgdmFsdWUgd2FzIG5vdCBwcmVjb21wdXRlZC4gKi8KKwkJICAgIFRPRE8KKwkJICAgIGdvdG8gZXZhbF9pZGNzOworCQl9CisJCWlhdHRyLT52Y1ZhbHVlID0gaWF0dHItPmRlY2wtPmRlZlZhbHVlOworCQkvKgorCQlpZiAoeG1sU2NoZW1hQ29tcGFyZVZhbHVlc1dodHNwKGF0dHItPnZhbCwKKwkJICAgICh4bWxTY2hlbWFXaGl0ZXNwYWNlVmFsdWVUeXBlKSB3cywKKwkJICAgIGF0dHJEZWNsLT5kZWZWYWwsCisJCSAgICAoeG1sU2NoZW1hV2hpdGVzcGFjZVZhbHVlVHlwZSkgd3MpICE9IDApIHsKKwkJKi8KKwkJaWYgKCEgeG1sU2NoZW1hQXJlVmFsdWVzRXF1YWwoaWF0dHItPnZhbCwgaWF0dHItPmRlY2wtPmRlZlZhbCkpCisJCSAgICBpYXR0ci0+c3RhdGUgPSBYTUxfU0NIRU1BU19BVFRSX0VSUl9GSVhFRF9WQUxVRTsKKwkgICAgfQorCSAgICAvKgorCSAgICAqIFt2YWxpZGl0eV0gPSAidmFsaWQiCisJICAgICovCisJfQorZXZhbF9pZGNzOgorCS8qCisJKiBFdmFsdWF0ZSBJRENzLgorCSovCisJaWYgKHhwYXRoUmVzKSB7CisJICAgIGlmICh4bWxTY2hlbWFYUGF0aFByb2Nlc3NIaXN0b3J5KHZjdHh0LAorCQl2Y3R4dC0+ZGVwdGggKzEpID09IC0xKSB7CisJCVZFUlJPUl9JTlQoInhtbFNjaGVtYVZBdHRyaWJ1dGVzQ29tcGxleCIsCisJCSAgICAiY2FsbGluZyB4bWxTY2hlbWFYUGF0aEV2YWx1YXRlKCkiKTsKKwkJZ290byBpbnRlcm5hbF9lcnJvcjsKKwkgICAgfQorCX0gZWxzZSBpZiAodmN0eHQtPnhwYXRoU3RhdGVzICE9IE5VTEwpCisJICAgIHhtbFNjaGVtYVhQYXRoUG9wKHZjdHh0KTsKKyAgICB9CisKKyAgICAvKgorICAgICogUmVwb3J0IGVycm9ycy4KKyAgICAqLworICAgIGZvciAoaSA9IDA7IGkgPCB2Y3R4dC0+bmJBdHRySW5mb3M7IGkrKykgeworCWlhdHRyID0gdmN0eHQtPmF0dHJJbmZvc1tpXTsKKwlpZiAoKGlhdHRyLT5zdGF0ZSA9PSBYTUxfU0NIRU1BU19BVFRSX01FVEEpIHx8CisJICAgIChpYXR0ci0+c3RhdGUgPT0gWE1MX1NDSEVNQVNfQVRUUl9BU1NFU1NFRCkgfHwKKwkgICAgKGlhdHRyLT5zdGF0ZSA9PSBYTUxfU0NIRU1BU19BVFRSX1dJTERfU0tJUCkgfHwKKwkgICAgKGlhdHRyLT5zdGF0ZSA9PSBYTUxfU0NIRU1BU19BVFRSX1dJTERfTEFYX05PX0RFQ0wpKQorCSAgICBjb250aW51ZTsKKwlBQ1RJVkFURV9BVFRSSUJVVEUoaWF0dHIpOworCXN3aXRjaCAoaWF0dHItPnN0YXRlKSB7CisJICAgIGNhc2UgWE1MX1NDSEVNQVNfQVRUUl9FUlJfTUlTU0lORzogeworCQkgICAgeG1sQ2hhciAqc3RyID0gTlVMTDsKKwkJICAgIEFDVElWQVRFX0VMRU07CisJCSAgICB4bWxTY2hlbWFDdXN0b21FcnIoQUNUWFRfQ0FTVCB2Y3R4dCwKKwkJCVhNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfNCwgTlVMTCwgTlVMTCwKKwkJCSJUaGUgYXR0cmlidXRlICclcycgaXMgcmVxdWlyZWQgYnV0IG1pc3NpbmciLAorCQkJeG1sU2NoZW1hRm9ybWF0UU5hbWUoJnN0ciwKKwkJCSAgICBpYXR0ci0+ZGVjbC0+dGFyZ2V0TmFtZXNwYWNlLAorCQkJICAgIGlhdHRyLT5kZWNsLT5uYW1lKSwKKwkJCU5VTEwpOworCQkgICAgRlJFRV9BTkRfTlVMTChzdHIpCisJCSAgICBicmVhazsKKwkJfQorCSAgICBjYXNlIFhNTF9TQ0hFTUFTX0FUVFJfRVJSX05PX1RZUEU6CisJCVZFUlJPUihYTUxfU0NIRU1BVl9DVkNfQVRUUklCVVRFXzIsIE5VTEwsCisJCSAgICAiVGhlIHR5cGUgZGVmaW5pdGlvbiBpcyBhYnNlbnQiKTsKKwkJYnJlYWs7CisJICAgIGNhc2UgWE1MX1NDSEVNQVNfQVRUUl9FUlJfRklYRURfVkFMVUU6CisJCXhtbFNjaGVtYUN1c3RvbUVycihBQ1RYVF9DQVNUIHZjdHh0LAorCQkgICAgWE1MX1NDSEVNQVZfQ1ZDX0FVLCBOVUxMLCBOVUxMLAorCQkgICAgIlRoZSB2YWx1ZSAnJXMnIGRvZXMgbm90IG1hdGNoIHRoZSBmaXhlZCAiCisJCSAgICAidmFsdWUgY29uc3RyYWludCAnJXMnIiwKKwkJICAgIGlhdHRyLT52YWx1ZSwgaWF0dHItPnZjVmFsdWUpOworCQlicmVhazsKKwkgICAgY2FzZSBYTUxfU0NIRU1BU19BVFRSX0VSUl9XSUxEX1NUUklDVF9OT19ERUNMOgorCQlWRVJST1IoWE1MX1NDSEVNQVZfQ1ZDX1dJTERDQVJELCBOVUxMLAorCQkgICAgIk5vIG1hdGNoaW5nIGdsb2JhbCBhdHRyaWJ1dGUgZGVjbGFyYXRpb24gYXZhaWxhYmxlLCBidXQgIgorCQkgICAgImRlbWFuZGVkIGJ5IHRoZSBzdHJpY3Qgd2lsZGNhcmQiKTsKKwkJYnJlYWs7CisJICAgIGNhc2UgWE1MX1NDSEVNQVNfQVRUUl9VTktOT1dOOgorCQlpZiAoaWF0dHItPm1ldGFUeXBlKQorCQkgICAgYnJlYWs7CisJCS8qCisJCSogTUFZQkUgVkFMIFRPRE86IE9uZSBtaWdodCByZXBvcnQgZGlmZmVyZW50IGVycm9yIG1lc3NhZ2VzCisJCSogZm9yIHRoZSBmb2xsb3dpbmcgZXJyb3JzLgorCQkqLworCQlpZiAodHlwZS0+YXR0cmlidXRlV2lsZGNhcmQgPT0gTlVMTCkgeworCQkgICAgeG1sU2NoZW1hSWxsZWdhbEF0dHJFcnIoQUNUWFRfQ0FTVCB2Y3R4dCwKKwkJCVhNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfM18yXzEsIGlhdHRyLCBOVUxMKTsKKwkJfSBlbHNlIHsKKwkJICAgIHhtbFNjaGVtYUlsbGVnYWxBdHRyRXJyKEFDVFhUX0NBU1QgdmN0eHQsCisJCQlYTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzNfMl8yLCBpYXR0ciwgTlVMTCk7CisJCX0KKwkJYnJlYWs7CisJICAgIGRlZmF1bHQ6CisJCWJyZWFrOworCX0KKyAgICB9CisKKyAgICBBQ1RJVkFURV9FTEVNOworICAgIHJldHVybiAoMCk7CitpbnRlcm5hbF9lcnJvcjoKKyAgICBBQ1RJVkFURV9FTEVNOworICAgIHJldHVybiAoLTEpOworfQorCitzdGF0aWMgaW50Cit4bWxTY2hlbWFWYWxpZGF0ZUVsZW1XaWxkY2FyZCh4bWxTY2hlbWFWYWxpZEN0eHRQdHIgdmN0eHQsCisJCQkgICAgICBpbnQgKnNraXApCit7CisgICAgeG1sU2NoZW1hV2lsZGNhcmRQdHIgd2lsZCA9ICh4bWxTY2hlbWFXaWxkY2FyZFB0cikgdmN0eHQtPmlub2RlLT5kZWNsOworICAgIC8qCisgICAgKiBUaGUgbmFtZXNwYWNlIG9mIHRoZSBlbGVtZW50IHdhcyBhbHJlYWR5IGlkZW50aWZpZWQgdG8gYmUKKyAgICAqIG1hdGNoaW5nIHRoZSB3aWxkY2FyZC4KKyAgICAqLworICAgIGlmICgoc2tpcCA9PSBOVUxMKSB8fCAod2lsZCA9PSBOVUxMKSB8fAorCSh3aWxkLT50eXBlICE9IFhNTF9TQ0hFTUFfVFlQRV9BTlkpKSB7CisJVkVSUk9SX0lOVCgieG1sU2NoZW1hVmFsaWRhdGVFbGVtV2lsZGNhcmQiLAorCSAgICAiYmFkIGFyZ3VtZW50cyIpOworCXJldHVybiAoLTEpOworICAgIH0KKyAgICAqc2tpcCA9IDA7CisgICAgaWYgKHdpbGQtPnByb2Nlc3NDb250ZW50cyA9PSBYTUxfU0NIRU1BU19BTllfU0tJUCkgeworCS8qCisJKiBVUkdFTlQgVkFMIFRPRE86IEVpdGhlciB3ZSBuZWVkIHRvIHBvc2l0aW9uIHRoZSBzdHJlYW0gdG8gdGhlCisJKiBuZXh0IHNpYmxpbmcsIG9yIHdhbGsgdGhlIHdob2xlIHN1YnRyZWUuCisJKi8KKwkqc2tpcCA9IDE7CisJcmV0dXJuICgwKTsKKyAgICB9CisgICAgeworCXhtbFNjaGVtYUVsZW1lbnRQdHIgZGVjbCA9IE5VTEw7CisKKwlkZWNsID0geG1sU2NoZW1hR2V0RWxlbSh2Y3R4dC0+c2NoZW1hLAorCSAgICB2Y3R4dC0+aW5vZGUtPmxvY2FsTmFtZSwgdmN0eHQtPmlub2RlLT5uc05hbWUpOworCWlmIChkZWNsICE9IE5VTEwpIHsKKwkgICAgdmN0eHQtPmlub2RlLT5kZWNsID0gZGVjbDsKKwkgICAgcmV0dXJuICgwKTsKKwl9CisgICAgfQorICAgIGlmICh3aWxkLT5wcm9jZXNzQ29udGVudHMgPT0gWE1MX1NDSEVNQVNfQU5ZX1NUUklDVCkgeworCS8qIFZBTCBUT0RPOiBDaGFuZ2UgdG8gcHJvcGVyIGVycm9yIGNvZGUuICovCisJVkVSUk9SKFhNTF9TQ0hFTUFWX0NWQ19FTFRfMSwgTlVMTCwgLyogV1hTX0JBU0lDX0NBU1Qgd2lsZCAqLworCSAgICAiTm8gbWF0Y2hpbmcgZ2xvYmFsIGVsZW1lbnQgZGVjbGFyYXRpb24gYXZhaWxhYmxlLCBidXQgIgorCSAgICAiZGVtYW5kZWQgYnkgdGhlIHN0cmljdCB3aWxkY2FyZCIpOworCXJldHVybiAodmN0eHQtPmVycik7CisgICAgfQorICAgIGlmICh2Y3R4dC0+bmJBdHRySW5mb3MgIT0gMCkgeworCXhtbFNjaGVtYUF0dHJJbmZvUHRyIGlhdHRyOworCS8qCisJKiBTUEVDIFZhbGlkYXRpb24gUnVsZTogU2NoZW1hLVZhbGlkaXR5IEFzc2Vzc21lbnQgKEVsZW1lbnQpCisJKiAoMS4yLjEuMi4xKSAtICgxLjIuMS4yLjMgKQorCSoKKwkqIFVzZSB0aGUgeHNpOnR5cGUgYXR0cmlidXRlIGZvciB0aGUgdHlwZSBkZWZpbml0aW9uLgorCSovCisJaWF0dHIgPSB4bWxTY2hlbWFHZXRNZXRhQXR0ckluZm8odmN0eHQsCisJICAgIFhNTF9TQ0hFTUFfQVRUUl9JTkZPX01FVEFfWFNJX1RZUEUpOworCWlmIChpYXR0ciAhPSBOVUxMKSB7CisJICAgIGlmICh4bWxTY2hlbWFQcm9jZXNzWFNJVHlwZSh2Y3R4dCwgaWF0dHIsCisJCSYodmN0eHQtPmlub2RlLT50eXBlRGVmKSwgTlVMTCkgPT0gLTEpIHsKKwkJVkVSUk9SX0lOVCgieG1sU2NoZW1hVmFsaWRhdGVFbGVtV2lsZGNhcmQiLAorCQkgICAgImNhbGxpbmcgeG1sU2NoZW1hUHJvY2Vzc1hTSVR5cGUoKSB0byAiCisJCSAgICAicHJvY2VzcyB0aGUgYXR0cmlidXRlICd4c2k6bmlsJyIpOworCQlyZXR1cm4gKC0xKTsKKwkgICAgfQorCSAgICAvKgorCSAgICAqIERvbid0IHJldHVybiBhbiBlcnJvciBvbiBwdXJwb3NlLgorCSAgICAqLworCSAgICByZXR1cm4gKDApOworCX0KKyAgICB9CisgICAgLyoKKyAgICAqIFNQRUMgVmFsaWRhdGlvbiBSdWxlOiBTY2hlbWEtVmFsaWRpdHkgQXNzZXNzbWVudCAoRWxlbWVudCkKKyAgICAqCisgICAgKiBGYWxsYmFjayB0byAiYW55VHlwZSIuCisgICAgKi8KKyAgICB2Y3R4dC0+aW5vZGUtPnR5cGVEZWYgPQorCXhtbFNjaGVtYUdldEJ1aWx0SW5UeXBlKFhNTF9TQ0hFTUFTX0FOWVRZUEUpOworICAgIHJldHVybiAoMCk7Cit9CisKKy8qCisqIHhtbFNjaGVtYUNoZWNrQ09TVmFsaWREZWZhdWx0OgorKgorKiBUaGlzIHdpbGwgYmUgY2FsbGVkIGlmOiBub3QgbmlsbGVkLCBubyBjb250ZW50IGFuZCBhIGRlZmF1bHQvZml4ZWQKKyogdmFsdWUgaXMgcHJvdmlkZWQuCisqLworCitzdGF0aWMgaW50Cit4bWxTY2hlbWFDaGVja0NPU1ZhbGlkRGVmYXVsdCh4bWxTY2hlbWFWYWxpZEN0eHRQdHIgdmN0eHQsCisJCQkgICAgICBjb25zdCB4bWxDaGFyICp2YWx1ZSwKKwkJCSAgICAgIHhtbFNjaGVtYVZhbFB0ciAqdmFsKQoreworICAgIGludCByZXQgPSAwOworICAgIHhtbFNjaGVtYU5vZGVJbmZvUHRyIGlub2RlID0gdmN0eHQtPmlub2RlOworCisgICAgLyoKKyAgICAqIGNvcy12YWxpZC1kZWZhdWx0OgorICAgICogU2NoZW1hIENvbXBvbmVudCBDb25zdHJhaW50OiBFbGVtZW50IERlZmF1bHQgVmFsaWQgKEltbWVkaWF0ZSkKKyAgICAqIEZvciBhIHN0cmluZyB0byBiZSBhIHZhbGlkIGRlZmF1bHQgd2l0aCByZXNwZWN0IHRvIGEgdHlwZQorICAgICogZGVmaW5pdGlvbiB0aGUgYXBwcm9wcmlhdGUgY2FzZSBhbW9uZyB0aGUgZm9sbG93aW5nIG11c3QgYmUgdHJ1ZToKKyAgICAqLworICAgIGlmIFdYU19JU19DT01QTEVYKGlub2RlLT50eXBlRGVmKSB7CisJLyoKKwkqIENvbXBsZXggdHlwZS4KKwkqCisJKiBTUEVDICgyLjEpICJpdHMge2NvbnRlbnQgdHlwZX0gbXVzdCBiZSBhIHNpbXBsZSB0eXBlIGRlZmluaXRpb24KKwkqIG9yIG1peGVkLiIKKwkqIFNQRUMgKDIuMi4yKSAiSWYgdGhlIHtjb250ZW50IHR5cGV9IGlzIG1peGVkLCB0aGVuIHRoZSB7Y29udGVudAorCSogdHlwZX0ncyBwYXJ0aWNsZSBtdXN0IGJlIGBlbXB0aWFibGVgIGFzIGRlZmluZWQgYnkKKwkqIFBhcnRpY2xlIEVtcHRpYWJsZSAoJDMuOS42KS4iCisJKi8KKwlpZiAoKCEgV1hTX0hBU19TSU1QTEVfQ09OVEVOVChpbm9kZS0+dHlwZURlZikpICYmCisJICAgICgoISBXWFNfSEFTX01JWEVEX0NPTlRFTlQoaW5vZGUtPnR5cGVEZWYpKSB8fAorCSAgICAgKCEgV1hTX0VNUFRJQUJMRShpbm9kZS0+dHlwZURlZikpKSkgeworCSAgICByZXQgPSBYTUxfU0NIRU1BUF9DT1NfVkFMSURfREVGQVVMVF8yXzE7CisJICAgIC8qIE5PVEUgdGhhdCB0aGlzIGNvdmVycyAoMi4yLjIpIGFzIHdlbGwuICovCisJICAgIFZFUlJPUihyZXQsIE5VTEwsCisJCSJGb3IgYSBzdHJpbmcgdG8gYmUgYSB2YWxpZCBkZWZhdWx0LCB0aGUgdHlwZSBkZWZpbml0aW9uICIKKwkJIm11c3QgYmUgYSBzaW1wbGUgdHlwZSBvciBhIGNvbXBsZXggdHlwZSB3aXRoIHNpbXBsZSBjb250ZW50ICIKKwkJIm9yIG1peGVkIGNvbnRlbnQgYW5kIGEgcGFydGljbGUgZW1wdGlhYmxlIik7CisJICAgIHJldHVybihyZXQpOworCX0KKyAgICB9CisgICAgLyoKKyAgICAqIDEgSWYgdGhlIHR5cGUgZGVmaW5pdGlvbiBpcyBhIHNpbXBsZSB0eXBlIGRlZmluaXRpb24sIHRoZW4gdGhlIHN0cmluZworICAgICogbXVzdCBiZSBgdmFsaWRgIHdpdGggcmVzcGVjdCB0byB0aGF0IGRlZmluaXRpb24gYXMgZGVmaW5lZCBieSBTdHJpbmcKKyAgICAqIFZhbGlkICgkMy4xNC40KS4KKyAgICAqCisgICAgKiBBTkQKKyAgICAqCisgICAgKiAyLjIuMSBJZiB0aGUge2NvbnRlbnQgdHlwZX0gaXMgYSBzaW1wbGUgdHlwZSBkZWZpbml0aW9uLCB0aGVuIHRoZQorICAgICogc3RyaW5nIG11c3QgYmUgYHZhbGlkYCB3aXRoIHJlc3BlY3QgdG8gdGhhdCBzaW1wbGUgdHlwZSBkZWZpbml0aW9uCisgICAgKiBhcyBkZWZpbmVkIGJ5IFN0cmluZyBWYWxpZCAoJDMuMTQuNCkuCisgICAgKi8KKyAgICBpZiAoV1hTX0lTX1NJTVBMRShpbm9kZS0+dHlwZURlZikpIHsKKworCXJldCA9IHhtbFNjaGVtYVZDaGVja0NWQ1NpbXBsZVR5cGUoQUNUWFRfQ0FTVCB2Y3R4dCwKKwkgICAgTlVMTCwgaW5vZGUtPnR5cGVEZWYsIHZhbHVlLCB2YWwsIDEsIDEsIDApOworCisgICAgfSBlbHNlIGlmIChXWFNfSEFTX1NJTVBMRV9DT05URU5UKGlub2RlLT50eXBlRGVmKSkgeworCisJcmV0ID0geG1sU2NoZW1hVkNoZWNrQ1ZDU2ltcGxlVHlwZShBQ1RYVF9DQVNUIHZjdHh0LAorCSAgICBOVUxMLCBpbm9kZS0+dHlwZURlZi0+Y29udGVudFR5cGVEZWYsIHZhbHVlLCB2YWwsIDEsIDEsIDApOworICAgIH0KKyAgICBpZiAocmV0IDwgMCkgeworCVZFUlJPUl9JTlQoInhtbFNjaGVtYUNoZWNrQ09TVmFsaWREZWZhdWx0IiwKKwkgICAgImNhbGxpbmcgeG1sU2NoZW1hVkNoZWNrQ1ZDU2ltcGxlVHlwZSgpIik7CisgICAgfQorICAgIHJldHVybiAocmV0KTsKK30KKworc3RhdGljIHZvaWQKK3htbFNjaGVtYVZDb250ZW50TW9kZWxDYWxsYmFjayh4bWxTY2hlbWFWYWxpZEN0eHRQdHIgdmN0eHQgQVRUUklCVVRFX1VOVVNFRCwKKwkJCSAgICAgICBjb25zdCB4bWxDaGFyICogbmFtZSBBVFRSSUJVVEVfVU5VU0VELAorCQkJICAgICAgIHhtbFNjaGVtYUVsZW1lbnRQdHIgaXRlbSwKKwkJCSAgICAgICB4bWxTY2hlbWFOb2RlSW5mb1B0ciBpbm9kZSkKK3sKKyAgICBpbm9kZS0+ZGVjbCA9IGl0ZW07CisjaWZkZWYgREVCVUdfQ09OVEVOVAorICAgIHsKKwl4bWxDaGFyICpzdHIgPSBOVUxMOworCisJaWYgKGl0ZW0tPnR5cGUgPT0gWE1MX1NDSEVNQV9UWVBFX0VMRU1FTlQpIHsKKwkgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSJBVVRPTUFUT04gY2FsbGJhY2sgZm9yICclcycgW2RlY2xhcmF0aW9uXVxuIiwKKwkJeG1sU2NoZW1hRm9ybWF0UU5hbWUoJnN0ciwKKwkJaW5vZGUtPmxvY2FsTmFtZSwgaW5vZGUtPm5zTmFtZSkpOworCX0gZWxzZSB7CisJICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkgICAgIkFVVE9NQVRPTiBjYWxsYmFjayBmb3IgJyVzJyBbd2lsZGNhcmRdXG4iLAorCQkgICAgeG1sU2NoZW1hRm9ybWF0UU5hbWUoJnN0ciwKKwkJICAgIGlub2RlLT5sb2NhbE5hbWUsIGlub2RlLT5uc05hbWUpKTsKKworCX0KKwlGUkVFX0FORF9OVUxMKHN0cikKKyAgICB9CisjZW5kaWYKK30KKworc3RhdGljIGludAoreG1sU2NoZW1hVmFsaWRhdG9yUHVzaEVsZW0oeG1sU2NoZW1hVmFsaWRDdHh0UHRyIHZjdHh0KQoreworICAgIHZjdHh0LT5pbm9kZSA9IHhtbFNjaGVtYUdldEZyZXNoRWxlbUluZm8odmN0eHQpOworICAgIGlmICh2Y3R4dC0+aW5vZGUgPT0gTlVMTCkgeworCVZFUlJPUl9JTlQoInhtbFNjaGVtYVZhbGlkYXRvclB1c2hFbGVtIiwKKwkgICAgImNhbGxpbmcgeG1sU2NoZW1hR2V0RnJlc2hFbGVtSW5mbygpIik7CisJcmV0dXJuICgtMSk7CisgICAgfQorICAgIHZjdHh0LT5uYkF0dHJJbmZvcyA9IDA7CisgICAgcmV0dXJuICgwKTsKK30KKworc3RhdGljIGludAoreG1sU2NoZW1hVkNoZWNrSU5vZGVEYXRhVHlwZSh4bWxTY2hlbWFWYWxpZEN0eHRQdHIgdmN0eHQsCisJCQkgICAgIHhtbFNjaGVtYU5vZGVJbmZvUHRyIGlub2RlLAorCQkJICAgICB4bWxTY2hlbWFUeXBlUHRyIHR5cGUsCisJCQkgICAgIGNvbnN0IHhtbENoYXIgKnZhbHVlKQoreworICAgIGlmIChpbm9kZS0+ZmxhZ3MgJiBYTUxfU0NIRU1BX05PREVfSU5GT19WQUxVRV9ORUVERUQpCisJcmV0dXJuICh4bWxTY2hlbWFWQ2hlY2tDVkNTaW1wbGVUeXBlKAorCSAgICBBQ1RYVF9DQVNUIHZjdHh0LCBOVUxMLAorCSAgICB0eXBlLCB2YWx1ZSwgJihpbm9kZS0+dmFsKSwgMSwgMSwgMCkpOworICAgIGVsc2UKKwlyZXR1cm4gKHhtbFNjaGVtYVZDaGVja0NWQ1NpbXBsZVR5cGUoCisJICAgIEFDVFhUX0NBU1QgdmN0eHQsIE5VTEwsCisJICAgIHR5cGUsIHZhbHVlLCBOVUxMLCAxLCAwLCAwKSk7Cit9CisKKworCisvKgorKiBQcm9jZXNzIEVORCBvZiBlbGVtZW50LgorKi8KK3N0YXRpYyBpbnQKK3htbFNjaGVtYVZhbGlkYXRvclBvcEVsZW0oeG1sU2NoZW1hVmFsaWRDdHh0UHRyIHZjdHh0KQoreworICAgIGludCByZXQgPSAwOworICAgIHhtbFNjaGVtYU5vZGVJbmZvUHRyIGlub2RlID0gdmN0eHQtPmlub2RlOworCisgICAgaWYgKHZjdHh0LT5uYkF0dHJJbmZvcyAhPSAwKQorCXhtbFNjaGVtYUNsZWFyQXR0ckluZm9zKHZjdHh0KTsKKyAgICBpZiAoaW5vZGUtPmZsYWdzICYgWE1MX1NDSEVNQV9OT0RFX0lORk9fRVJSX05PVF9FWFBFQ1RFRCkgeworCS8qCisJKiBUaGlzIGVsZW1lbnQgd2FzIG5vdCBleHBlY3RlZDsKKwkqIHdlIHdpbGwgbm90IHZhbGlkYXRlIGNoaWxkIGVsZW1lbnRzIG9mIGJyb2tlbiBwYXJlbnRzLgorCSogU2tpcCB2YWxpZGF0aW9uIG9mIGFsbCBjb250ZW50IG9mIHRoZSBwYXJlbnQuCisJKi8KKwl2Y3R4dC0+c2tpcERlcHRoID0gdmN0eHQtPmRlcHRoIC0xOworCWdvdG8gZW5kX2VsZW07CisgICAgfQorICAgIGlmICgoaW5vZGUtPnR5cGVEZWYgPT0gTlVMTCkgfHwKKwkoaW5vZGUtPmZsYWdzICYgWE1MX1NDSEVNQV9OT0RFX0lORk9fRVJSX0JBRF9UWVBFKSkgeworCS8qCisJKiAxLiB0aGUgdHlwZSBkZWZpbml0aW9uIG1pZ2h0IGJlIG1pc3NpbmcgaWYgdGhlIGVsZW1lbnQgd2FzCisJKiAgICBlcnJvciBwcm9uZQorCSogMi4gaXQgbWlnaHQgYmUgYWJzdHJhY3QuCisJKi8KKwlnb3RvIGVuZF9lbGVtOworICAgIH0KKyAgICAvKgorICAgICogQ2hlY2sgdGhlIGNvbnRlbnQgbW9kZWwuCisgICAgKi8KKyAgICBpZiAoKGlub2RlLT50eXBlRGVmLT5jb250ZW50VHlwZSA9PSBYTUxfU0NIRU1BX0NPTlRFTlRfTUlYRUQpIHx8CisJKGlub2RlLT50eXBlRGVmLT5jb250ZW50VHlwZSA9PSBYTUxfU0NIRU1BX0NPTlRFTlRfRUxFTUVOVFMpKSB7CisKKwkvKgorCSogV29ya2Fyb3VuZCBmb3IgImFueVR5cGUiLgorCSovCisJaWYgKGlub2RlLT50eXBlRGVmLT5idWlsdEluVHlwZSA9PSBYTUxfU0NIRU1BU19BTllUWVBFKQorCSAgICBnb3RvIGNoYXJhY3Rlcl9jb250ZW50OworCisJaWYgKChpbm9kZS0+ZmxhZ3MgJiBYTUxfU0NIRU1BX0VMRU1fSU5GT19FUlJfQkFEX0NPTlRFTlQpID09IDApIHsKKwkgICAgeG1sQ2hhciAqdmFsdWVzWzEwXTsKKwkgICAgaW50IHRlcm1pbmFsLCBuYnZhbCA9IDEwLCBuYm5lZzsKKworCSAgICBpZiAoaW5vZGUtPnJlZ2V4Q3R4dCA9PSBOVUxMKSB7CisJCS8qCisJCSogQ3JlYXRlIHRoZSByZWdleCBjb250ZXh0LgorCQkqLworCQlpbm9kZS0+cmVnZXhDdHh0ID0KKwkJICAgIHhtbFJlZ05ld0V4ZWNDdHh0KGlub2RlLT50eXBlRGVmLT5jb250TW9kZWwsCisJCSAgICAoeG1sUmVnRXhlY0NhbGxiYWNrcykgeG1sU2NoZW1hVkNvbnRlbnRNb2RlbENhbGxiYWNrLAorCQkgICAgdmN0eHQpOworCQlpZiAoaW5vZGUtPnJlZ2V4Q3R4dCA9PSBOVUxMKSB7CisJCSAgICBWRVJST1JfSU5UKCJ4bWxTY2hlbWFWYWxpZGF0b3JQb3BFbGVtIiwKKwkJCSJmYWlsZWQgdG8gY3JlYXRlIGEgcmVnZXggY29udGV4dCIpOworCQkgICAgZ290byBpbnRlcm5hbF9lcnJvcjsKKwkJfQorI2lmZGVmIERFQlVHX0FVVE9NQVRBCisJCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkgICAgIkFVVE9NQVRPTiBjcmVhdGUgb24gJyVzJ1xuIiwgaW5vZGUtPmxvY2FsTmFtZSk7CisjZW5kaWYKKwkgICAgfQorCisJICAgIC8qCisJICAgICAqIERvIG5vdCBjaGVjayBmdXJ0aGVyIGNvbnRlbnQgaWYgdGhlIG5vZGUgaGFzIGJlZW4gbmlsbGVkCisJICAgICAqLworCSAgICBpZiAoSU5PREVfTklMTEVEKGlub2RlKSkgeworCQlyZXQgPSAwOworI2lmZGVmIERFQlVHX0FVVE9NQVRBCisJCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkgICAgIkFVVE9NQVRPTiBzdWNjZWVkZWQgb24gbmlsbGVkICclcydcbiIsCisJCSAgICBpbm9kZS0+bG9jYWxOYW1lKTsKKyNlbmRpZgorICAgICAgICAgICAgICAgIGdvdG8gc2tpcF9uaWxsZWQ7CisJICAgIH0KKworCSAgICAvKgorCSAgICAqIEdldCBob2xkIG9mIHRoZSBzdGlsbCBleHBlY3RlZCBjb250ZW50LCBzaW5jZSBhIGZ1cnRoZXIKKwkgICAgKiBjYWxsIHRvIHhtbFJlZ0V4ZWNQdXNoU3RyaW5nKCkgd2lsbCBsb29zZSB0aGlzIGluZm9ybWF0aW9uLgorCSAgICAqLworCSAgICB4bWxSZWdFeGVjTmV4dFZhbHVlcyhpbm9kZS0+cmVnZXhDdHh0LAorCQkmbmJ2YWwsICZuYm5lZywgJnZhbHVlc1swXSwgJnRlcm1pbmFsKTsKKwkgICAgcmV0ID0geG1sUmVnRXhlY1B1c2hTdHJpbmcoaW5vZGUtPnJlZ2V4Q3R4dCwgTlVMTCwgTlVMTCk7CisJICAgIGlmICgocmV0PDApIHx8ICgocmV0PT0wKSAmJiAoIUlOT0RFX05JTExFRChpbm9kZSkpKSkgeworCQkvKgorCQkqIFN0aWxsIG1pc3Npbmcgc29tZXRoaW5nLgorCQkqLworCQlyZXQgPSAxOworCQlpbm9kZS0+ZmxhZ3MgfD0KKwkJICAgIFhNTF9TQ0hFTUFfRUxFTV9JTkZPX0VSUl9CQURfQ09OVEVOVDsKKwkJeG1sU2NoZW1hQ29tcGxleFR5cGVFcnIoQUNUWFRfQ0FTVCB2Y3R4dCwKKwkJICAgIFhNTF9TQ0hFTUFWX0VMRU1FTlRfQ09OVEVOVCwgTlVMTCwgTlVMTCwKKwkJICAgICJNaXNzaW5nIGNoaWxkIGVsZW1lbnQocykiLAorCQkgICAgbmJ2YWwsIG5ibmVnLCB2YWx1ZXMpOworI2lmZGVmIERFQlVHX0FVVE9NQVRBCisJCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkgICAgIkFVVE9NQVRPTiBtaXNzaW5nIEVSUk9SIG9uICclcydcbiIsCisJCSAgICBpbm9kZS0+bG9jYWxOYW1lKTsKKyNlbmRpZgorCSAgICB9IGVsc2UgeworCQkvKgorCQkqIENvbnRlbnQgbW9kZWwgaXMgc2F0aXNmaWVkLgorCQkqLworCQlyZXQgPSAwOworI2lmZGVmIERFQlVHX0FVVE9NQVRBCisJCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkgICAgIkFVVE9NQVRPTiBzdWNjZWVkZWQgb24gJyVzJ1xuIiwKKwkJICAgIGlub2RlLT5sb2NhbE5hbWUpOworI2VuZGlmCisJICAgIH0KKworCX0KKyAgICB9CisKK3NraXBfbmlsbGVkOgorCisgICAgaWYgKGlub2RlLT50eXBlRGVmLT5jb250ZW50VHlwZSA9PSBYTUxfU0NIRU1BX0NPTlRFTlRfRUxFTUVOVFMpCisJZ290byBlbmRfZWxlbTsKKworY2hhcmFjdGVyX2NvbnRlbnQ6CisKKyAgICBpZiAodmN0eHQtPnZhbHVlICE9IE5VTEwpIHsKKwl4bWxTY2hlbWFGcmVlVmFsdWUodmN0eHQtPnZhbHVlKTsKKwl2Y3R4dC0+dmFsdWUgPSBOVUxMOworICAgIH0KKyAgICAvKgorICAgICogQ2hlY2sgY2hhcmFjdGVyIGNvbnRlbnQuCisgICAgKi8KKyAgICBpZiAoaW5vZGUtPmRlY2wgPT0gTlVMTCkgeworCS8qCisJKiBTcGVlZHVwIGlmIG5vIGRlY2xhcmF0aW9uIGV4aXN0cy4KKwkqLworCWlmIChXWFNfSVNfU0lNUExFKGlub2RlLT50eXBlRGVmKSkgeworCSAgICByZXQgPSB4bWxTY2hlbWFWQ2hlY2tJTm9kZURhdGFUeXBlKHZjdHh0LAorCQlpbm9kZSwgaW5vZGUtPnR5cGVEZWYsIGlub2RlLT52YWx1ZSk7CisJfSBlbHNlIGlmIChXWFNfSEFTX1NJTVBMRV9DT05URU5UKGlub2RlLT50eXBlRGVmKSkgeworCSAgICByZXQgPSB4bWxTY2hlbWFWQ2hlY2tJTm9kZURhdGFUeXBlKHZjdHh0LAorCQlpbm9kZSwgaW5vZGUtPnR5cGVEZWYtPmNvbnRlbnRUeXBlRGVmLAorCQlpbm9kZS0+dmFsdWUpOworCX0KKwlpZiAocmV0IDwgMCkgeworCSAgICBWRVJST1JfSU5UKCJ4bWxTY2hlbWFWYWxpZGF0b3JQb3BFbGVtIiwKKwkJImNhbGxpbmcgeG1sU2NoZW1hVkNoZWNrQ1ZDU2ltcGxlVHlwZSgpIik7CisJICAgIGdvdG8gaW50ZXJuYWxfZXJyb3I7CisJfQorCWdvdG8gZW5kX2VsZW07CisgICAgfQorICAgIC8qCisgICAgKiBjdmMtZWx0ICgzLjMuNCkgOiA1CisgICAgKiBUaGUgYXBwcm9wcmlhdGUgY2FzZSBhbW9uZyB0aGUgZm9sbG93aW5nIG11c3QgYmUgdHJ1ZToKKyAgICAqLworICAgIC8qCisgICAgKiBjdmMtZWx0ICgzLjMuNCkgOiA1LjEKKyAgICAqIElmIHRoZSBkZWNsYXJhdGlvbiBoYXMgYSB7dmFsdWUgY29uc3RyYWludH0sCisgICAgKiB0aGUgaXRlbSBoYXMgbmVpdGhlciBlbGVtZW50IG5vciBjaGFyYWN0ZXIgW2NoaWxkcmVuXSBhbmQKKyAgICAqIGNsYXVzZSAzLjIgaGFzIG5vdCBhcHBsaWVkLCB0aGVuIGFsbCBvZiB0aGUgZm9sbG93aW5nIG11c3QgYmUgdHJ1ZToKKyAgICAqLworICAgIGlmICgoaW5vZGUtPmRlY2wtPnZhbHVlICE9IE5VTEwpICYmCisJKGlub2RlLT5mbGFncyAmIFhNTF9TQ0hFTUFfRUxFTV9JTkZPX0VNUFRZKSAmJgorCSghIElOT0RFX05JTExFRChpbm9kZSkpKSB7CisJLyoKKwkqIGN2Yy1lbHQgKDMuMy40KSA6IDUuMS4xCisJKiBJZiB0aGUgYGFjdHVhbCB0eXBlIGRlZmluaXRpb25gIGlzIGEgYGxvY2FsIHR5cGUgZGVmaW5pdGlvbmAKKwkqIHRoZW4gdGhlIGNhbm9uaWNhbCBsZXhpY2FsIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB7dmFsdWUgY29uc3RyYWludH0KKwkqIHZhbHVlIG11c3QgYmUgYSB2YWxpZCBkZWZhdWx0IGZvciB0aGUgYGFjdHVhbCB0eXBlIGRlZmluaXRpb25gIGFzCisJKiBkZWZpbmVkIGluIEVsZW1lbnQgRGVmYXVsdCBWYWxpZCAoSW1tZWRpYXRlKSAoJDMuMy42KS4KKwkqLworCS8qCisJKiBOT1RFOiAnbG9jYWwnIGFib3ZlIG1lYW5zIHR5cGVzIGFjcXVpcmVkIGJ5IHhzaTp0eXBlLgorCSogTk9URTogQWx0aG91Z2ggdGhlICpjYW5vbmljYWwqIHZhbHVlIGlzIHN0YXRlZCwgaXQgaXMgbm90CisJKiByZWxldmFudCBpZiBjYW5vbmljYWwgb3Igbm90LiBBZGRpdGlvbmFsbHkgWE1MIFNjaGVtYSAxLjEKKwkqIHdpbGwgcmVtb3ZlZCB0aGlzIHJlcXVpcmVtZW50IGFzIHdlbGwuCisJKi8KKwlpZiAoaW5vZGUtPmZsYWdzICYgWE1MX1NDSEVNQV9FTEVNX0lORk9fTE9DQUxfVFlQRSkgeworCisJICAgIHJldCA9IHhtbFNjaGVtYUNoZWNrQ09TVmFsaWREZWZhdWx0KHZjdHh0LAorCQlpbm9kZS0+ZGVjbC0+dmFsdWUsICYoaW5vZGUtPnZhbCkpOworCSAgICBpZiAocmV0ICE9IDApIHsKKwkJaWYgKHJldCA8IDApIHsKKwkJICAgIFZFUlJPUl9JTlQoInhtbFNjaGVtYVZhbGlkYXRvclBvcEVsZW0iLAorCQkJImNhbGxpbmcgeG1sU2NoZW1hQ2hlY2tDT1NWYWxpZERlZmF1bHQoKSIpOworCQkgICAgZ290byBpbnRlcm5hbF9lcnJvcjsKKwkJfQorCQlnb3RvIGVuZF9lbGVtOworCSAgICB9CisJICAgIC8qCisJICAgICogU3RvcCBoZXJlLCB0byBhdm9pZCByZWR1bmRhbnQgdmFsaWRhdGlvbiBvZiB0aGUgdmFsdWUKKwkgICAgKiAoc2VlIGZvbGxvd2luZykuCisJICAgICovCisJICAgIGdvdG8gZGVmYXVsdF9wc3ZpOworCX0KKwkvKgorCSogY3ZjLWVsdCAoMy4zLjQpIDogNS4xLjIKKwkqIFRoZSBlbGVtZW50IGluZm9ybWF0aW9uIGl0ZW0gd2l0aCB0aGUgY2Fub25pY2FsIGxleGljYWwKKwkqIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB7dmFsdWUgY29uc3RyYWludH0gdmFsdWUgdXNlZCBhcyBpdHMKKwkqIGBub3JtYWxpemVkIHZhbHVlYCBtdXN0IGJlIGB2YWxpZGAgd2l0aCByZXNwZWN0IHRvIHRoZQorCSogYGFjdHVhbCB0eXBlIGRlZmluaXRpb25gIGFzIGRlZmluZWQgYnkgRWxlbWVudCBMb2NhbGx5IFZhbGlkIChUeXBlKQorCSogKCQzLjMuNCkuCisJKi8KKwlpZiAoV1hTX0lTX1NJTVBMRShpbm9kZS0+dHlwZURlZikpIHsKKwkgICAgcmV0ID0geG1sU2NoZW1hVkNoZWNrSU5vZGVEYXRhVHlwZSh2Y3R4dCwKKwkJaW5vZGUsIGlub2RlLT50eXBlRGVmLCBpbm9kZS0+ZGVjbC0+dmFsdWUpOworCX0gZWxzZSBpZiAoV1hTX0hBU19TSU1QTEVfQ09OVEVOVChpbm9kZS0+dHlwZURlZikpIHsKKwkgICAgcmV0ID0geG1sU2NoZW1hVkNoZWNrSU5vZGVEYXRhVHlwZSh2Y3R4dCwKKwkJaW5vZGUsIGlub2RlLT50eXBlRGVmLT5jb250ZW50VHlwZURlZiwKKwkJaW5vZGUtPmRlY2wtPnZhbHVlKTsKKwl9CisJaWYgKHJldCAhPSAwKSB7CisJICAgIGlmIChyZXQgPCAwKSB7CisJCVZFUlJPUl9JTlQoInhtbFNjaGVtYVZhbGlkYXRvclBvcEVsZW0iLAorCQkgICAgImNhbGxpbmcgeG1sU2NoZW1hVkNoZWNrQ1ZDU2ltcGxlVHlwZSgpIik7CisJCWdvdG8gaW50ZXJuYWxfZXJyb3I7CisJICAgIH0KKwkgICAgZ290byBlbmRfZWxlbTsKKwl9CisKK2RlZmF1bHRfcHN2aToKKwkvKgorCSogUFNWSTogQ3JlYXRlIGEgdGV4dCBub2RlIG9uIHRoZSBpbnN0YW5jZSBlbGVtZW50LgorCSovCisJaWYgKCh2Y3R4dC0+b3B0aW9ucyAmIFhNTF9TQ0hFTUFfVkFMX1ZDX0lfQ1JFQVRFKSAmJgorCSAgICAoaW5vZGUtPm5vZGUgIT0gTlVMTCkpIHsKKwkgICAgeG1sTm9kZVB0ciB0ZXh0Q2hpbGQ7CisJICAgIHhtbENoYXIgKm5vcm1WYWx1ZTsKKwkgICAgLyoKKwkgICAgKiBWQUwgVE9ETzogTm9ybWFsaXplIHRoZSB2YWx1ZS4KKwkgICAgKi8KKwkgICAgbm9ybVZhbHVlID0geG1sU2NoZW1hTm9ybWFsaXplVmFsdWUoaW5vZGUtPnR5cGVEZWYsCisJCWlub2RlLT5kZWNsLT52YWx1ZSk7CisJICAgIGlmIChub3JtVmFsdWUgIT0gTlVMTCkgeworCQl0ZXh0Q2hpbGQgPSB4bWxOZXdUZXh0KEJBRF9DQVNUIG5vcm1WYWx1ZSk7CisJCXhtbEZyZWUobm9ybVZhbHVlKTsKKwkgICAgfSBlbHNlCisJCXRleHRDaGlsZCA9IHhtbE5ld1RleHQoaW5vZGUtPmRlY2wtPnZhbHVlKTsKKwkgICAgaWYgKHRleHRDaGlsZCA9PSBOVUxMKSB7CisJCVZFUlJPUl9JTlQoInhtbFNjaGVtYVZhbGlkYXRvclBvcEVsZW0iLAorCQkgICAgImNhbGxpbmcgeG1sTmV3VGV4dCgpIik7CisJCWdvdG8gaW50ZXJuYWxfZXJyb3I7CisJICAgIH0gZWxzZQorCQl4bWxBZGRDaGlsZChpbm9kZS0+bm9kZSwgdGV4dENoaWxkKTsKKwl9CisKKyAgICB9IGVsc2UgaWYgKCEgSU5PREVfTklMTEVEKGlub2RlKSkgeworCS8qCisJKiA1LjIuMSBUaGUgZWxlbWVudCBpbmZvcm1hdGlvbiBpdGVtIG11c3QgYmUgYHZhbGlkYCB3aXRoIHJlc3BlY3QKKwkqIHRvIHRoZSBgYWN0dWFsIHR5cGUgZGVmaW5pdGlvbmAgYXMgZGVmaW5lZCBieSBFbGVtZW50IExvY2FsbHkKKwkqIFZhbGlkIChUeXBlKSAoJDMuMy40KS4KKwkqLworCWlmIChXWFNfSVNfU0lNUExFKGlub2RlLT50eXBlRGVmKSkgeworCSAgICAgLyoKKwkgICAgKiBTUEVDIChjdmMtdHlwZSkgKDMuMSkKKwkgICAgKiAiSWYgdGhlIHR5cGUgZGVmaW5pdGlvbiBpcyBhIHNpbXBsZSB0eXBlIGRlZmluaXRpb24sIC4uLiIKKwkgICAgKiAoMy4xLjMpICJJZiBjbGF1c2UgMy4yIG9mIEVsZW1lbnQgTG9jYWxseSBWYWxpZAorCSAgICAqIChFbGVtZW50KSAoJDMuMy40KSBkaWQgbm90IGFwcGx5LCB0aGVuIHRoZSBgbm9ybWFsaXplZCB2YWx1ZWAKKwkgICAgKiBtdXN0IGJlIGB2YWxpZGAgd2l0aCByZXNwZWN0IHRvIHRoZSB0eXBlIGRlZmluaXRpb24gYXMgZGVmaW5lZAorCSAgICAqIGJ5IFN0cmluZyBWYWxpZCAoJDMuMTQuNCkuCisJICAgICovCisJICAgIHJldCA9IHhtbFNjaGVtYVZDaGVja0lOb2RlRGF0YVR5cGUodmN0eHQsCisJCSAgICBpbm9kZSwgaW5vZGUtPnR5cGVEZWYsIGlub2RlLT52YWx1ZSk7CisJfSBlbHNlIGlmIChXWFNfSEFTX1NJTVBMRV9DT05URU5UKGlub2RlLT50eXBlRGVmKSkgeworCSAgICAvKgorCSAgICAqIFNQRUMgKGN2Yy10eXBlKSAoMy4yKSAiSWYgdGhlIHR5cGUgZGVmaW5pdGlvbiBpcyBhIGNvbXBsZXggdHlwZQorCSAgICAqIGRlZmluaXRpb24sIHRoZW4gdGhlIGVsZW1lbnQgaW5mb3JtYXRpb24gaXRlbSBtdXN0IGJlCisJICAgICogYHZhbGlkYCB3aXRoIHJlc3BlY3QgdG8gdGhlIHR5cGUgZGVmaW5pdGlvbiBhcyBwZXIKKwkgICAgKiBFbGVtZW50IExvY2FsbHkgVmFsaWQgKENvbXBsZXggVHlwZSkgKCQzLjQuNCk7IgorCSAgICAqCisJICAgICogU1BFQyAoY3ZjLWNvbXBsZXgtdHlwZSkgKDIuMikKKwkgICAgKiAiSWYgdGhlIHtjb250ZW50IHR5cGV9IGlzIGEgc2ltcGxlIHR5cGUgZGVmaW5pdGlvbiwgLi4uCisJICAgICogdGhlIGBub3JtYWxpemVkIHZhbHVlYCBvZiB0aGUgZWxlbWVudCBpbmZvcm1hdGlvbiBpdGVtIGlzCisJICAgICogYHZhbGlkYCB3aXRoIHJlc3BlY3QgdG8gdGhhdCBzaW1wbGUgdHlwZSBkZWZpbml0aW9uIGFzCisJICAgICogZGVmaW5lZCBieSBTdHJpbmcgVmFsaWQgKCQzLjE0LjQpLiIKKwkgICAgKi8KKwkgICAgcmV0ID0geG1sU2NoZW1hVkNoZWNrSU5vZGVEYXRhVHlwZSh2Y3R4dCwKKwkJaW5vZGUsIGlub2RlLT50eXBlRGVmLT5jb250ZW50VHlwZURlZiwgaW5vZGUtPnZhbHVlKTsKKwl9CisJaWYgKHJldCAhPSAwKSB7CisJICAgIGlmIChyZXQgPCAwKSB7CisJCVZFUlJPUl9JTlQoInhtbFNjaGVtYVZhbGlkYXRvclBvcEVsZW0iLAorCQkgICAgImNhbGxpbmcgeG1sU2NoZW1hVkNoZWNrQ1ZDU2ltcGxlVHlwZSgpIik7CisJCWdvdG8gaW50ZXJuYWxfZXJyb3I7CisJICAgIH0KKwkgICAgZ290byBlbmRfZWxlbTsKKwl9CisJLyoKKwkqIDUuMi4yIElmIHRoZXJlIGlzIGEgZml4ZWQge3ZhbHVlIGNvbnN0cmFpbnR9IGFuZCBjbGF1c2UgMy4yIGhhcworCSogbm90IGFwcGxpZWQsIGFsbCBvZiB0aGUgZm9sbG93aW5nIG11c3QgYmUgdHJ1ZToKKwkqLworCWlmICgoaW5vZGUtPmRlY2wtPnZhbHVlICE9IE5VTEwpICYmCisJICAgIChpbm9kZS0+ZGVjbC0+ZmxhZ3MgJiBYTUxfU0NIRU1BU19FTEVNX0ZJWEVEKSkgeworCisJICAgIC8qCisJICAgICogVE9ETzogV2Ugd2lsbCBuZWVkIGEgY29tcHV0ZWQgdmFsdWUsIHdoZW4gY29tcGFyaXNvbiBpcworCSAgICAqIGRvbmUgb24gY29tcHV0ZWQgdmFsdWVzLgorCSAgICAqLworCSAgICAvKgorCSAgICAqIDUuMi4yLjEgVGhlIGVsZW1lbnQgaW5mb3JtYXRpb24gaXRlbSBtdXN0IGhhdmUgbm8gZWxlbWVudAorCSAgICAqIGluZm9ybWF0aW9uIGl0ZW0gW2NoaWxkcmVuXS4KKwkgICAgKi8KKwkgICAgaWYgKGlub2RlLT5mbGFncyAmCisJCSAgICBYTUxfU0NIRU1BX0VMRU1fSU5GT19IQVNfRUxFTV9DT05URU5UKSB7CisJCXJldCA9IFhNTF9TQ0hFTUFWX0NWQ19FTFRfNV8yXzJfMTsKKwkJVkVSUk9SKHJldCwgTlVMTCwKKwkJICAgICJUaGUgY29udGVudCBtdXN0IG5vdCBjb250YWludCBlbGVtZW50IG5vZGVzIHNpbmNlICIKKwkJICAgICJ0aGVyZSBpcyBhIGZpeGVkIHZhbHVlIGNvbnN0cmFpbnQiKTsKKwkJZ290byBlbmRfZWxlbTsKKwkgICAgfSBlbHNlIHsKKwkJLyoKKwkJKiA1LjIuMi4yIFRoZSBhcHByb3ByaWF0ZSBjYXNlIGFtb25nIHRoZSBmb2xsb3dpbmcgbXVzdAorCQkqIGJlIHRydWU6CisJCSovCisJCWlmIChXWFNfSEFTX01JWEVEX0NPTlRFTlQoaW5vZGUtPnR5cGVEZWYpKSB7CisJCSAgICAvKgorCQkgICAgKiA1LjIuMi4yLjEgSWYgdGhlIHtjb250ZW50IHR5cGV9IG9mIHRoZSBgYWN0dWFsIHR5cGUKKwkJICAgICogZGVmaW5pdGlvbmAgaXMgbWl4ZWQsIHRoZW4gdGhlICppbml0aWFsIHZhbHVlKiBvZiB0aGUKKwkJICAgICogaXRlbSBtdXN0IG1hdGNoIHRoZSBjYW5vbmljYWwgbGV4aWNhbCByZXByZXNlbnRhdGlvbgorCQkgICAgKiBvZiB0aGUge3ZhbHVlIGNvbnN0cmFpbnR9IHZhbHVlLgorCQkgICAgKgorCQkgICAgKiAuLi4gdGhlICppbml0aWFsIHZhbHVlKiBvZiBhbiBlbGVtZW50IGluZm9ybWF0aW9uCisJCSAgICAqIGl0ZW0gaXMgdGhlIHN0cmluZyBjb21wb3NlZCBvZiwgaW4gb3JkZXIsIHRoZQorCQkgICAgKiBbY2hhcmFjdGVyIGNvZGVdIG9mIGVhY2ggY2hhcmFjdGVyIGluZm9ybWF0aW9uIGl0ZW0gaW4KKwkJICAgICogdGhlIFtjaGlsZHJlbl0gb2YgdGhhdCBlbGVtZW50IGluZm9ybWF0aW9uIGl0ZW0uCisJCSAgICAqLworCQkgICAgaWYgKCEgeG1sU3RyRXF1YWwoaW5vZGUtPnZhbHVlLCBpbm9kZS0+ZGVjbC0+dmFsdWUpKXsKKwkJCS8qCisJCQkqIFZBTCBUT0RPOiBSZXBvcnQgaW52YWxpZCAmIGV4cGVjdGVkIHZhbHVlcyBhcyB3ZWxsLgorCQkJKiBWQUwgVE9ETzogSW1wbGVtZW50IHRoZSBjYW5vbmljYWwgc3R1ZmYuCisJCQkqLworCQkJcmV0ID0gWE1MX1NDSEVNQVZfQ1ZDX0VMVF81XzJfMl8yXzE7CisJCQl4bWxTY2hlbWFDdXN0b21FcnIoQUNUWFRfQ0FTVCB2Y3R4dCwKKwkJCSAgICByZXQsIE5VTEwsIE5VTEwsCisJCQkgICAgIlRoZSBpbml0aWFsIHZhbHVlICclcycgZG9lcyBub3QgbWF0Y2ggdGhlIGZpeGVkICIKKwkJCSAgICAidmFsdWUgY29uc3RyYWludCAnJXMnIiwKKwkJCSAgICBpbm9kZS0+dmFsdWUsIGlub2RlLT5kZWNsLT52YWx1ZSk7CisJCQlnb3RvIGVuZF9lbGVtOworCQkgICAgfQorCQl9IGVsc2UgaWYgKFdYU19IQVNfU0lNUExFX0NPTlRFTlQoaW5vZGUtPnR5cGVEZWYpKSB7CisJCSAgICAvKgorCQkgICAgKiA1LjIuMi4yLjIgSWYgdGhlIHtjb250ZW50IHR5cGV9IG9mIHRoZSBgYWN0dWFsIHR5cGUKKwkJICAgICogZGVmaW5pdGlvbmAgaXMgYSBzaW1wbGUgdHlwZSBkZWZpbml0aW9uLCB0aGVuIHRoZQorCQkgICAgKiAqYWN0dWFsIHZhbHVlKiBvZiB0aGUgaXRlbSBtdXN0IG1hdGNoIHRoZSBjYW5vbmljYWwKKwkJICAgICogbGV4aWNhbCByZXByZXNlbnRhdGlvbiBvZiB0aGUge3ZhbHVlIGNvbnN0cmFpbnR9IHZhbHVlLgorCQkgICAgKi8KKwkJICAgIC8qCisJCSAgICAqIFZBTCBUT0RPOiAqYWN0dWFsIHZhbHVlKiBpcyB0aGUgbm9ybWFsaXplZCB2YWx1ZSwgaW1wbC4KKwkJICAgICogICAgICAgICAgIHRoaXMuCisJCSAgICAqIFZBTCBUT0RPOiBSZXBvcnQgaW52YWxpZCAmIGV4cGVjdGVkIHZhbHVlcyBhcyB3ZWxsLgorCQkgICAgKiBWQUwgVE9ETzogSW1wbGVtZW50IGEgY29tcGFyaXNvbiB3aXRoIHRoZSBjb21wdXRlZCB2YWx1ZXMuCisJCSAgICAqLworCQkgICAgaWYgKCEgeG1sU3RyRXF1YWwoaW5vZGUtPnZhbHVlLAorCQkJICAgIGlub2RlLT5kZWNsLT52YWx1ZSkpIHsKKwkJCXJldCA9IFhNTF9TQ0hFTUFWX0NWQ19FTFRfNV8yXzJfMl8yOworCQkJeG1sU2NoZW1hQ3VzdG9tRXJyKEFDVFhUX0NBU1QgdmN0eHQsCisJCQkgICAgcmV0LCBOVUxMLCBOVUxMLAorCQkJICAgICJUaGUgYWN0dWFsIHZhbHVlICclcycgZG9lcyBub3QgbWF0Y2ggdGhlIGZpeGVkICIKKwkJCSAgICAidmFsdWUgY29uc3RyYWludCAnJXMnIiwKKwkJCSAgICBpbm9kZS0+dmFsdWUsCisJCQkgICAgaW5vZGUtPmRlY2wtPnZhbHVlKTsKKwkJCWdvdG8gZW5kX2VsZW07CisJCSAgICB9CisJCX0KKwkgICAgfQorCX0KKyAgICB9CisKK2VuZF9lbGVtOgorICAgIGlmICh2Y3R4dC0+ZGVwdGggPCAwKSB7CisJLyogVE9ETzogcmFpc2UgZXJyb3I/ICovCisJcmV0dXJuICgwKTsKKyAgICB9CisgICAgaWYgKHZjdHh0LT5kZXB0aCA9PSB2Y3R4dC0+c2tpcERlcHRoKQorCXZjdHh0LT5za2lwRGVwdGggPSAtMTsKKyAgICAvKgorICAgICogRXZhbHVhdGUgdGhlIGhpc3Rvcnkgb2YgWFBhdGggc3RhdGUgb2JqZWN0cy4KKyAgICAqLworICAgIGlmIChpbm9kZS0+YXBwbGllZFhQYXRoICYmCisJKHhtbFNjaGVtYVhQYXRoUHJvY2Vzc0hpc3RvcnkodmN0eHQsIHZjdHh0LT5kZXB0aCkgPT0gLTEpKQorCWdvdG8gaW50ZXJuYWxfZXJyb3I7CisgICAgLyoKKyAgICAqIE1BWUJFIFRPRE86CisgICAgKiBTUEVDICg2KSAiVGhlIGVsZW1lbnQgaW5mb3JtYXRpb24gaXRlbSBtdXN0IGJlIGB2YWxpZGAgd2l0aAorICAgICogcmVzcGVjdCB0byBlYWNoIG9mIHRoZSB7aWRlbnRpdHktY29uc3RyYWludCBkZWZpbml0aW9uc30gYXMgcGVyCisgICAgKiBJZGVudGl0eS1jb25zdHJhaW50IFNhdGlzZmllZCAoJDMuMTEuNCkuIgorICAgICovCisgICAgLyoKKyAgICAqIFBTVkkgVE9ETzogSWYgd2UgZXhwb3NlIElEQyBub2RlLXRhYmxlcyB2aWEgUFNWSSB0aGVuIHRoZSB0YWJsZXMKKyAgICAqICAgbmVlZCB0byBiZSBidWlsdCBpbiBhbnkgY2FzZS4KKyAgICAqICAgV2Ugd2lsbCBjdXJyZW50bHkgYnVpbGQgSURDIG5vZGUtdGFibGVzIGFuZCBidWJibGUgdGhlbSBvbmx5IGlmCisgICAgKiAgIGtleXJlZnMgZG8gZXhpc3QuCisgICAgKi8KKworICAgIC8qCisgICAgKiBBZGQgdGhlIGN1cnJlbnQgSURDIHRhcmdldC1ub2RlcyB0byB0aGUgSURDIG5vZGUtdGFibGVzLgorICAgICovCisgICAgaWYgKChpbm9kZS0+aWRjTWF0Y2hlcnMgIT0gTlVMTCkgJiYKKwkodmN0eHQtPmhhc0tleXJlZnMgfHwgdmN0eHQtPmNyZWF0ZUlEQ05vZGVUYWJsZXMpKQorICAgIHsKKwlpZiAoeG1sU2NoZW1hSURDRmlsbE5vZGVUYWJsZXModmN0eHQsIGlub2RlKSA9PSAtMSkKKwkgICAgZ290byBpbnRlcm5hbF9lcnJvcjsKKyAgICB9CisgICAgLyoKKyAgICAqIFZhbGlkYXRlIElEQyBrZXlyZWZzLgorICAgICovCisgICAgaWYgKHZjdHh0LT5pbm9kZS0+aGFzS2V5cmVmcykKKwlpZiAoeG1sU2NoZW1hQ2hlY2tDVkNJRENLZXlSZWYodmN0eHQpID09IC0xKQorCSAgICBnb3RvIGludGVybmFsX2Vycm9yOworICAgIC8qCisgICAgKiBNZXJnZS9mcmVlIHRoZSBJREMgdGFibGUuCisgICAgKi8KKyAgICBpZiAoaW5vZGUtPmlkY1RhYmxlICE9IE5VTEwpIHsKKyNpZmRlZiBERUJVR19JRENfTk9ERV9UQUJMRQorCXhtbFNjaGVtYURlYnVnRHVtcElEQ1RhYmxlKHN0ZG91dCwKKwkgICAgaW5vZGUtPm5zTmFtZSwKKwkgICAgaW5vZGUtPmxvY2FsTmFtZSwKKwkgICAgaW5vZGUtPmlkY1RhYmxlKTsKKyNlbmRpZgorCWlmICgodmN0eHQtPmRlcHRoID4gMCkgJiYKKwkgICAgKHZjdHh0LT5oYXNLZXlyZWZzIHx8IHZjdHh0LT5jcmVhdGVJRENOb2RlVGFibGVzKSkKKwl7CisJICAgIC8qCisJICAgICogTWVyZ2UgdGhlIElEQyBub2RlIHRhYmxlIHdpdGggdGhlIHRhYmxlIG9mIHRoZSBwYXJlbnQgbm9kZS4KKwkgICAgKi8KKwkgICAgaWYgKHhtbFNjaGVtYUJ1YmJsZUlEQ05vZGVUYWJsZXModmN0eHQpID09IC0xKQorCQlnb3RvIGludGVybmFsX2Vycm9yOworCX0KKyAgICB9CisgICAgLyoKKyAgICAqIENsZWFyIHRoZSBjdXJyZW50IGllbGVtLgorICAgICogVkFMIFRPRE86IERvbid0IGZyZWUgdGhlIFBTVkkgSURDIHRhYmxlcyBpZiB0aGV5IGFyZQorICAgICogcmVxdWVzdGVkIGZvciB0aGUgUFNWSS4KKyAgICAqLworICAgIHhtbFNjaGVtYUNsZWFyRWxlbUluZm8odmN0eHQsIGlub2RlKTsKKyAgICAvKgorICAgICogU2tpcCBmdXJ0aGVyIHByb2Nlc3NpbmcgaWYgd2UgYXJlIG9uIHRoZSB2YWxpZGF0aW9uIHJvb3QuCisgICAgKi8KKyAgICBpZiAodmN0eHQtPmRlcHRoID09IDApIHsKKwl2Y3R4dC0+ZGVwdGgtLTsKKwl2Y3R4dC0+aW5vZGUgPSBOVUxMOworCXJldHVybiAoMCk7CisgICAgfQorICAgIC8qCisgICAgKiBSZXNldCB0aGUga2V5cmVmRGVwdGggaWYgbmVlZGVkLgorICAgICovCisgICAgaWYgKHZjdHh0LT5haWRjcyAhPSBOVUxMKSB7CisJeG1sU2NoZW1hSURDQXVnUHRyIGFpZGMgPSB2Y3R4dC0+YWlkY3M7CisJZG8geworCSAgICBpZiAoYWlkYy0+a2V5cmVmRGVwdGggPT0gdmN0eHQtPmRlcHRoKSB7CisJCS8qCisJCSogQSAna2V5cmVmRGVwdGgnIG9mIGEga2V5L3VuaXF1ZSBJREMgbWF0Y2hlcyB0aGUgY3VycmVudAorCQkqIGRlcHRoLCB0aGlzIG1lYW5zIHRoYXQgd2UgYXJlIGxlYXZpbmcgdGhlIHNjb3BlIG9mIHRoZQorCQkqIHRvcC1tb3N0IGtleXJlZiBJREMgd2hpY2ggcmVmZXJzIHRvIHRoaXMgSURDLgorCQkqLworCQlhaWRjLT5rZXlyZWZEZXB0aCA9IC0xOworCSAgICB9CisJICAgIGFpZGMgPSBhaWRjLT5uZXh0OworCX0gd2hpbGUgKGFpZGMgIT0gTlVMTCk7CisgICAgfQorICAgIHZjdHh0LT5kZXB0aC0tOworICAgIHZjdHh0LT5pbm9kZSA9IHZjdHh0LT5lbGVtSW5mb3NbdmN0eHQtPmRlcHRoXTsKKyAgICAvKgorICAgICogVkFMIFRPRE86IDcgSWYgdGhlIGVsZW1lbnQgaW5mb3JtYXRpb24gaXRlbSBpcyB0aGUgYHZhbGlkYXRpb24gcm9vdGAsIGl0IG11c3QgYmUKKyAgICAqIGB2YWxpZGAgcGVyIFZhbGlkYXRpb24gUm9vdCBWYWxpZCAoSUQvSURSRUYpICgkMy4zLjQpLgorICAgICovCisgICAgcmV0dXJuIChyZXQpOworCitpbnRlcm5hbF9lcnJvcjoKKyAgICB2Y3R4dC0+ZXJyID0gLTE7CisgICAgcmV0dXJuICgtMSk7Cit9CisKKy8qCisqIDMuNC40IENvbXBsZXggVHlwZSBEZWZpbml0aW9uIFZhbGlkYXRpb24gUnVsZXMKKyogVmFsaWRhdGlvbiBSdWxlOiBFbGVtZW50IExvY2FsbHkgVmFsaWQgKENvbXBsZXggVHlwZSkgKGN2Yy1jb21wbGV4LXR5cGUpCisqLworc3RhdGljIGludAoreG1sU2NoZW1hVmFsaWRhdGVDaGlsZEVsZW0oeG1sU2NoZW1hVmFsaWRDdHh0UHRyIHZjdHh0KQoreworICAgIHhtbFNjaGVtYU5vZGVJbmZvUHRyIHBpZWxlbTsKKyAgICB4bWxTY2hlbWFUeXBlUHRyIHB0eXBlOworICAgIGludCByZXQgPSAwOworCisgICAgaWYgKHZjdHh0LT5kZXB0aCA8PSAwKSB7CisJVkVSUk9SX0lOVCgieG1sU2NoZW1hVmFsaWRhdGVDaGlsZEVsZW0iLAorCSAgICAibm90IGludGVuZGVkIGZvciB0aGUgdmFsaWRhdGlvbiByb290Iik7CisJcmV0dXJuICgtMSk7CisgICAgfQorICAgIHBpZWxlbSA9IHZjdHh0LT5lbGVtSW5mb3NbdmN0eHQtPmRlcHRoIC0xXTsKKyAgICBpZiAocGllbGVtLT5mbGFncyAmIFhNTF9TQ0hFTUFfRUxFTV9JTkZPX0VNUFRZKQorCXBpZWxlbS0+ZmxhZ3MgXj0gWE1MX1NDSEVNQV9FTEVNX0lORk9fRU1QVFk7CisgICAgLyoKKyAgICAqIEhhbmRsZSAnbmlsbGVkJyBlbGVtZW50cy4KKyAgICAqLworICAgIGlmIChJTk9ERV9OSUxMRUQocGllbGVtKSkgeworCS8qCisJKiBTUEVDIChjdmMtZWx0KSAoMy4zLjQpIDogKDMuMi4xKQorCSovCisJQUNUSVZBVEVfUEFSRU5UX0VMRU07CisJcmV0ID0gWE1MX1NDSEVNQVZfQ1ZDX0VMVF8zXzJfMTsKKwlWRVJST1IocmV0LCBOVUxMLAorCSAgICAiTmVpdGhlciBjaGFyYWN0ZXIgbm9yIGVsZW1lbnQgY29udGVudCBpcyBhbGxvd2VkLCAiCisJICAgICJiZWNhdXNlIHRoZSBlbGVtZW50IHdhcyAnbmlsbGVkJyIpOworCUFDVElWQVRFX0VMRU07CisJZ290byB1bmV4cGVjdGVkX2VsZW07CisgICAgfQorCisgICAgcHR5cGUgPSBwaWVsZW0tPnR5cGVEZWY7CisKKyAgICBpZiAocHR5cGUtPmJ1aWx0SW5UeXBlID09IFhNTF9TQ0hFTUFTX0FOWVRZUEUpIHsKKwkvKgorCSogV29ya2Fyb3VuZCBmb3IgImFueVR5cGUiOiB3ZSBoYXZlIGN1cnJlbnRseSBubyBjb250ZW50IG1vZGVsCisJKiBhc3NpZ25lZCBmb3IgImFueVR5cGUiLCBzbyBoYW5kbGUgaXQgZXhwbGljaXRlbHkuCisJKiAiYW55VHlwZSIgaGFzIGFuIHVuYm91bmRlZCwgbGF4ICJhbnkiIHdpbGRjYXJkLgorCSovCisJdmN0eHQtPmlub2RlLT5kZWNsID0geG1sU2NoZW1hR2V0RWxlbSh2Y3R4dC0+c2NoZW1hLAorCSAgICB2Y3R4dC0+aW5vZGUtPmxvY2FsTmFtZSwKKwkgICAgdmN0eHQtPmlub2RlLT5uc05hbWUpOworCisJaWYgKHZjdHh0LT5pbm9kZS0+ZGVjbCA9PSBOVUxMKSB7CisJICAgIHhtbFNjaGVtYUF0dHJJbmZvUHRyIGlhdHRyOworCSAgICAvKgorCSAgICAqIFByb2Nlc3MgInhzaTp0eXBlIi4KKwkgICAgKiBTUEVDIChjdmMtYXNzZXNzLWVsdCkgKDEuMi4xLjIuMSkgLSAoMS4yLjEuMi4zKQorCSAgICAqLworCSAgICBpYXR0ciA9IHhtbFNjaGVtYUdldE1ldGFBdHRySW5mbyh2Y3R4dCwKKwkJWE1MX1NDSEVNQV9BVFRSX0lORk9fTUVUQV9YU0lfVFlQRSk7CisJICAgIGlmIChpYXR0ciAhPSBOVUxMKSB7CisJCXJldCA9IHhtbFNjaGVtYVByb2Nlc3NYU0lUeXBlKHZjdHh0LCBpYXR0ciwKKwkJICAgICYodmN0eHQtPmlub2RlLT50eXBlRGVmKSwgTlVMTCk7CisJCWlmIChyZXQgIT0gMCkgeworCQkgICAgaWYgKHJldCA9PSAtMSkgeworCQkJVkVSUk9SX0lOVCgieG1sU2NoZW1hVmFsaWRhdGVDaGlsZEVsZW0iLAorCQkJICAgICJjYWxsaW5nIHhtbFNjaGVtYVByb2Nlc3NYU0lUeXBlKCkgdG8gIgorCQkJICAgICJwcm9jZXNzIHRoZSBhdHRyaWJ1dGUgJ3hzaTpuaWwnIik7CisJCQlyZXR1cm4gKC0xKTsKKwkJICAgIH0KKwkJICAgIHJldHVybiAocmV0KTsKKwkJfQorCSAgICB9IGVsc2UgeworCQkgLyoKKwkJICogRmFsbGJhY2sgdG8gImFueVR5cGUiLgorCQkgKgorCQkgKiBTUEVDIChjdmMtYXNzZXNzLWVsdCkKKwkJICogIklmIHRoZSBpdGVtIGNhbm5vdCBiZSBgc3RyaWN0bHkgYXNzZXNzZWRgLCBbLi4uXQorCQkgKiBhbiBlbGVtZW50IGluZm9ybWF0aW9uIGl0ZW0ncyBzY2hlbWEgdmFsaWRpdHkgbWF5IGJlIGxheGx5CisJCSAqIGFzc2Vzc2VkIGlmIGl0cyBgY29udGV4dC1kZXRlcm1pbmVkIGRlY2xhcmF0aW9uYCBpcyBub3QKKwkJICogc2tpcCBieSBgdmFsaWRhdGluZ2Agd2l0aCByZXNwZWN0IHRvIHRoZSBgdXItdHlwZQorCQkgKiBkZWZpbml0aW9uYCBhcyBwZXIgRWxlbWVudCBMb2NhbGx5IFZhbGlkIChUeXBlKSAoJDMuMy40KS4iCisJCSovCisJCXZjdHh0LT5pbm9kZS0+dHlwZURlZiA9CisJCSAgICB4bWxTY2hlbWFHZXRCdWlsdEluVHlwZShYTUxfU0NIRU1BU19BTllUWVBFKTsKKwkgICAgfQorCX0KKwlyZXR1cm4gKDApOworICAgIH0KKworICAgIHN3aXRjaCAocHR5cGUtPmNvbnRlbnRUeXBlKSB7CisJY2FzZSBYTUxfU0NIRU1BX0NPTlRFTlRfRU1QVFk6CisJICAgIC8qCisJICAgICogU1BFQyAoMi4xKSAiSWYgdGhlIHtjb250ZW50IHR5cGV9IGlzIGVtcHR5LCB0aGVuIHRoZQorCSAgICAqIGVsZW1lbnQgaW5mb3JtYXRpb24gaXRlbSBoYXMgbm8gY2hhcmFjdGVyIG9yIGVsZW1lbnQKKwkgICAgKiBpbmZvcm1hdGlvbiBpdGVtIFtjaGlsZHJlbl0uIgorCSAgICAqLworCSAgICBBQ1RJVkFURV9QQVJFTlRfRUxFTQorCSAgICByZXQgPSBYTUxfU0NIRU1BVl9DVkNfQ09NUExFWF9UWVBFXzJfMTsKKwkgICAgVkVSUk9SKHJldCwgTlVMTCwKKwkJIkVsZW1lbnQgY29udGVudCBpcyBub3QgYWxsb3dlZCwgIgorCQkiYmVjYXVzZSB0aGUgY29udGVudCB0eXBlIGlzIGVtcHR5Iik7CisJICAgIEFDVElWQVRFX0VMRU0KKwkgICAgZ290byB1bmV4cGVjdGVkX2VsZW07CisJICAgIGJyZWFrOworCisJY2FzZSBYTUxfU0NIRU1BX0NPTlRFTlRfTUlYRUQ6CisgICAgICAgIGNhc2UgWE1MX1NDSEVNQV9DT05URU5UX0VMRU1FTlRTOiB7CisJICAgIHhtbFJlZ0V4ZWNDdHh0UHRyIHJlZ2V4Q3R4dDsKKwkgICAgeG1sQ2hhciAqdmFsdWVzWzEwXTsKKwkgICAgaW50IHRlcm1pbmFsLCBuYnZhbCA9IDEwLCBuYm5lZzsKKworCSAgICAvKiBWQUwgVE9ETzogT3B0aW1pemVkICJhbnlUeXBlIiB2YWxpZGF0aW9uLiovCisKKwkgICAgaWYgKHB0eXBlLT5jb250TW9kZWwgPT0gTlVMTCkgeworCQlWRVJST1JfSU5UKCJ4bWxTY2hlbWFWYWxpZGF0ZUNoaWxkRWxlbSIsCisJCSAgICAidHlwZSBoYXMgZWxlbSBjb250ZW50IGJ1dCBubyBjb250ZW50IG1vZGVsIik7CisJCXJldHVybiAoLTEpOworCSAgICB9CisJICAgIC8qCisJICAgICogU2FmZXR5IGJlbGYgZm9yIGV2YWx1YXRpb24gaWYgdGhlIGNvbnQuIG1vZGVsIHdhcyBhbHJlYWR5CisJICAgICogZXhhbWluZWQgdG8gYmUgaW52YWxpZC4KKwkgICAgKi8KKwkgICAgaWYgKHBpZWxlbS0+ZmxhZ3MgJiBYTUxfU0NIRU1BX0VMRU1fSU5GT19FUlJfQkFEX0NPTlRFTlQpIHsKKwkJVkVSUk9SX0lOVCgieG1sU2NoZW1hVmFsaWRhdGVDaGlsZEVsZW0iLAorCQkgICAgInZhbGlkYXRpbmcgZWxlbSwgYnV0IGVsZW0gY29udGVudCBpcyBhbHJlYWR5IGludmFsaWQiKTsKKwkJcmV0dXJuICgtMSk7CisJICAgIH0KKworCSAgICByZWdleEN0eHQgPSBwaWVsZW0tPnJlZ2V4Q3R4dDsKKwkgICAgaWYgKHJlZ2V4Q3R4dCA9PSBOVUxMKSB7CisJCS8qCisJCSogQ3JlYXRlIHRoZSByZWdleCBjb250ZXh0LgorCQkqLworCQlyZWdleEN0eHQgPSB4bWxSZWdOZXdFeGVjQ3R4dChwdHlwZS0+Y29udE1vZGVsLAorCQkgICAgKHhtbFJlZ0V4ZWNDYWxsYmFja3MpIHhtbFNjaGVtYVZDb250ZW50TW9kZWxDYWxsYmFjaywKKwkJICAgIHZjdHh0KTsKKwkJaWYgKHJlZ2V4Q3R4dCA9PSBOVUxMKSB7CisJCSAgICBWRVJST1JfSU5UKCJ4bWxTY2hlbWFWYWxpZGF0ZUNoaWxkRWxlbSIsCisJCQkiZmFpbGVkIHRvIGNyZWF0ZSBhIHJlZ2V4IGNvbnRleHQiKTsKKwkJICAgIHJldHVybiAoLTEpOworCQl9CisJCXBpZWxlbS0+cmVnZXhDdHh0ID0gcmVnZXhDdHh0OworI2lmZGVmIERFQlVHX0FVVE9NQVRBCisJCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCAiQVVUT01BVEEgY3JlYXRlIG9uICclcydcbiIsCisJCSAgICBwaWVsZW0tPmxvY2FsTmFtZSk7CisjZW5kaWYKKwkgICAgfQorCisJICAgIC8qCisJICAgICogU1BFQyAoMi40KSAiSWYgdGhlIHtjb250ZW50IHR5cGV9IGlzIGVsZW1lbnQtb25seSBvciBtaXhlZCwKKwkgICAgKiB0aGVuIHRoZSBzZXF1ZW5jZSBvZiB0aGUgZWxlbWVudCBpbmZvcm1hdGlvbiBpdGVtJ3MKKwkgICAgKiBlbGVtZW50IGluZm9ybWF0aW9uIGl0ZW0gW2NoaWxkcmVuXSwgaWYgYW55LCB0YWtlbiBpbgorCSAgICAqIG9yZGVyLCBpcyBgdmFsaWRgIHdpdGggcmVzcGVjdCB0byB0aGUge2NvbnRlbnQgdHlwZX0ncworCSAgICAqIHBhcnRpY2xlLCBhcyBkZWZpbmVkIGluIEVsZW1lbnQgU2VxdWVuY2UgTG9jYWxseSBWYWxpZAorCSAgICAqIChQYXJ0aWNsZSkgKCQzLjkuNCkuIgorCSAgICAqLworCSAgICByZXQgPSB4bWxSZWdFeGVjUHVzaFN0cmluZzIocmVnZXhDdHh0LAorCQl2Y3R4dC0+aW5vZGUtPmxvY2FsTmFtZSwKKwkJdmN0eHQtPmlub2RlLT5uc05hbWUsCisJCXZjdHh0LT5pbm9kZSk7CisjaWZkZWYgREVCVUdfQVVUT01BVEEKKwkgICAgaWYgKHJldCA8IDApCisJCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkiQVVUT01BVE9OIHB1c2ggRVJST1IgZm9yICclcycgb24gJyVzJ1xuIiwKKwkJdmN0eHQtPmlub2RlLT5sb2NhbE5hbWUsIHBpZWxlbS0+bG9jYWxOYW1lKTsKKwkgICAgZWxzZQorCQl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJIkFVVE9NQVRPTiBwdXNoIE9LIGZvciAnJXMnIG9uICclcydcbiIsCisJCXZjdHh0LT5pbm9kZS0+bG9jYWxOYW1lLCBwaWVsZW0tPmxvY2FsTmFtZSk7CisjZW5kaWYKKwkgICAgaWYgKHZjdHh0LT5lcnIgPT0gWE1MX1NDSEVNQVZfSU5URVJOQUwpIHsKKwkJVkVSUk9SX0lOVCgieG1sU2NoZW1hVmFsaWRhdGVDaGlsZEVsZW0iLAorCQkgICAgImNhbGxpbmcgeG1sUmVnRXhlY1B1c2hTdHJpbmcyKCkiKTsKKwkJcmV0dXJuICgtMSk7CisJICAgIH0KKwkgICAgaWYgKHJldCA8IDApIHsKKwkJeG1sUmVnRXhlY0VyckluZm8ocmVnZXhDdHh0LCBOVUxMLCAmbmJ2YWwsICZuYm5lZywKKwkJICAgICZ2YWx1ZXNbMF0sICZ0ZXJtaW5hbCk7CisJCXhtbFNjaGVtYUNvbXBsZXhUeXBlRXJyKEFDVFhUX0NBU1QgdmN0eHQsCisJCSAgICBYTUxfU0NIRU1BVl9FTEVNRU5UX0NPTlRFTlQsIE5VTEwsTlVMTCwKKwkJICAgICJUaGlzIGVsZW1lbnQgaXMgbm90IGV4cGVjdGVkIiwKKwkJICAgIG5idmFsLCBuYm5lZywgdmFsdWVzKTsKKwkJcmV0ID0gdmN0eHQtPmVycjsKKwkJZ290byB1bmV4cGVjdGVkX2VsZW07CisJICAgIH0gZWxzZQorCQlyZXQgPSAwOworCX0KKwkgICAgYnJlYWs7CisJY2FzZSBYTUxfU0NIRU1BX0NPTlRFTlRfU0lNUExFOgorCWNhc2UgWE1MX1NDSEVNQV9DT05URU5UX0JBU0lDOgorCSAgICBBQ1RJVkFURV9QQVJFTlRfRUxFTQorCSAgICBpZiAoV1hTX0lTX0NPTVBMRVgocHR5cGUpKSB7CisJCS8qCisJCSogU1BFQyAoY3ZjLWNvbXBsZXgtdHlwZSkgKDIuMikKKwkJKiAiSWYgdGhlIHtjb250ZW50IHR5cGV9IGlzIGEgc2ltcGxlIHR5cGUgZGVmaW5pdGlvbiwgdGhlbgorCQkqIHRoZSBlbGVtZW50IGluZm9ybWF0aW9uIGl0ZW0gaGFzIG5vIGVsZW1lbnQgaW5mb3JtYXRpb24KKwkJKiBpdGVtIFtjaGlsZHJlbl0sIC4uLiIKKwkJKi8KKwkJcmV0ID0gWE1MX1NDSEVNQVZfQ1ZDX0NPTVBMRVhfVFlQRV8yXzI7CisJCVZFUlJPUihyZXQsIE5VTEwsICJFbGVtZW50IGNvbnRlbnQgaXMgbm90IGFsbG93ZWQsICIKKwkJICAgICJiZWNhdXNlIHRoZSBjb250ZW50IHR5cGUgaXMgYSBzaW1wbGUgdHlwZSBkZWZpbml0aW9uIik7CisJICAgIH0gZWxzZSB7CisJCS8qCisJCSogU1BFQyAoY3ZjLXR5cGUpICgzLjEuMikgIlRoZSBlbGVtZW50IGluZm9ybWF0aW9uIGl0ZW0gbXVzdAorCQkqIGhhdmUgbm8gZWxlbWVudCBpbmZvcm1hdGlvbiBpdGVtIFtjaGlsZHJlbl0uIgorCQkqLworCQlyZXQgPSBYTUxfU0NIRU1BVl9DVkNfVFlQRV8zXzFfMjsKKwkJVkVSUk9SKHJldCwgTlVMTCwgIkVsZW1lbnQgY29udGVudCBpcyBub3QgYWxsb3dlZCwgIgorCQkgICAgImJlY2F1c2UgdGhlIHR5cGUgZGVmaW5pdGlvbiBpcyBzaW1wbGUiKTsKKwkgICAgfQorCSAgICBBQ1RJVkFURV9FTEVNCisJICAgIHJldCA9IHZjdHh0LT5lcnI7CisJICAgIGdvdG8gdW5leHBlY3RlZF9lbGVtOworCSAgICBicmVhazsKKworCWRlZmF1bHQ6CisJICAgIGJyZWFrOworICAgIH0KKyAgICByZXR1cm4gKHJldCk7Cit1bmV4cGVjdGVkX2VsZW06CisgICAgLyoKKyAgICAqIFBvcCB0aGlzIGVsZW1lbnQgYW5kIHNldCB0aGUgc2tpcERlcHRoIHRvIHNraXAKKyAgICAqIGFsbCBmdXJ0aGVyIGNvbnRlbnQgb2YgdGhlIHBhcmVudCBlbGVtZW50LgorICAgICovCisgICAgdmN0eHQtPnNraXBEZXB0aCA9IHZjdHh0LT5kZXB0aDsKKyAgICB2Y3R4dC0+aW5vZGUtPmZsYWdzIHw9IFhNTF9TQ0hFTUFfTk9ERV9JTkZPX0VSUl9OT1RfRVhQRUNURUQ7CisgICAgcGllbGVtLT5mbGFncyB8PSBYTUxfU0NIRU1BX0VMRU1fSU5GT19FUlJfQkFEX0NPTlRFTlQ7CisgICAgcmV0dXJuIChyZXQpOworfQorCisjZGVmaW5lIFhNTF9TQ0hFTUFfUFVTSF9URVhUX1BFUlNJU1QgMQorI2RlZmluZSBYTUxfU0NIRU1BX1BVU0hfVEVYVF9DUkVBVEVEIDIKKyNkZWZpbmUgWE1MX1NDSEVNQV9QVVNIX1RFWFRfVk9MQVRJTEUgMworCitzdGF0aWMgaW50Cit4bWxTY2hlbWFWUHVzaFRleHQoeG1sU2NoZW1hVmFsaWRDdHh0UHRyIHZjdHh0LAorCQkgIGludCBub2RlVHlwZSwgY29uc3QgeG1sQ2hhciAqdmFsdWUsIGludCBsZW4sCisJCSAgaW50IG1vZGUsIGludCAqY29uc3VtZWQpCit7CisgICAgLyoKKyAgICAqIFVuZm9ydHVuYXRlbHkgd2UgaGF2ZSB0byBkdXBsaWNhdGUgdGhlIHRleHQgc29tZXRpbWVzLgorICAgICogT1BUSU1JWkU6IE1heWJlIHdlIGNvdWxkIHNraXAgaXQsIGlmOgorICAgICogICAxLiBjb250ZW50IHR5cGUgaXMgc2ltcGxlCisgICAgKiAgIDIuIHdoaXRlc3BhY2UgaXMgImNvbGxhcHNlIgorICAgICogICAzLiBpdCBjb25zaXN0cyBvZiB3aGl0ZXNwYWNlIG9ubHkKKyAgICAqCisgICAgKiBQcm9jZXNzIGNoYXJhY3RlciBjb250ZW50LgorICAgICovCisgICAgaWYgKGNvbnN1bWVkICE9IE5VTEwpCisJKmNvbnN1bWVkID0gMDsKKyAgICBpZiAoSU5PREVfTklMTEVEKHZjdHh0LT5pbm9kZSkpIHsKKwkvKgorCSogU1BFQyBjdmMtZWx0ICgzLjMuNCAtIDMuMi4xKQorCSogIlRoZSBlbGVtZW50IGluZm9ybWF0aW9uIGl0ZW0gbXVzdCBoYXZlIG5vIGNoYXJhY3RlciBvcgorCSogZWxlbWVudCBpbmZvcm1hdGlvbiBpdGVtIFtjaGlsZHJlbl0uIgorCSovCisJVkVSUk9SKFhNTF9TQ0hFTUFWX0NWQ19FTFRfM18yXzEsIE5VTEwsCisJICAgICJOZWl0aGVyIGNoYXJhY3RlciBub3IgZWxlbWVudCBjb250ZW50IGlzIGFsbG93ZWQgIgorCSAgICAiYmVjYXVzZSB0aGUgZWxlbWVudCBpcyAnbmlsbGVkJyIpOworCXJldHVybiAodmN0eHQtPmVycik7CisgICAgfQorICAgIC8qCisgICAgKiBTUEVDICgyLjEpICJJZiB0aGUge2NvbnRlbnQgdHlwZX0gaXMgZW1wdHksIHRoZW4gdGhlCisgICAgKiBlbGVtZW50IGluZm9ybWF0aW9uIGl0ZW0gaGFzIG5vIGNoYXJhY3RlciBvciBlbGVtZW50CisgICAgKiBpbmZvcm1hdGlvbiBpdGVtIFtjaGlsZHJlbl0uIgorICAgICovCisgICAgaWYgKHZjdHh0LT5pbm9kZS0+dHlwZURlZi0+Y29udGVudFR5cGUgPT0KKwkgICAgWE1MX1NDSEVNQV9DT05URU5UX0VNUFRZKSB7CisJVkVSUk9SKFhNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfMl8xLCBOVUxMLAorCSAgICAiQ2hhcmFjdGVyIGNvbnRlbnQgaXMgbm90IGFsbG93ZWQsICIKKwkgICAgImJlY2F1c2UgdGhlIGNvbnRlbnQgdHlwZSBpcyBlbXB0eSIpOworCXJldHVybiAodmN0eHQtPmVycik7CisgICAgfQorCisgICAgaWYgKHZjdHh0LT5pbm9kZS0+dHlwZURlZi0+Y29udGVudFR5cGUgPT0KKwkgICAgWE1MX1NDSEVNQV9DT05URU5UX0VMRU1FTlRTKSB7CisJaWYgKChub2RlVHlwZSAhPSBYTUxfVEVYVF9OT0RFKSB8fAorCSAgICAoISB4bWxTY2hlbWFJc0JsYW5rKCh4bWxDaGFyICopIHZhbHVlLCBsZW4pKSkgeworCSAgICAvKgorCSAgICAqIFNQRUMgY3ZjLWNvbXBsZXgtdHlwZSAoMi4zKQorCSAgICAqICJJZiB0aGUge2NvbnRlbnQgdHlwZX0gaXMgZWxlbWVudC1vbmx5LCB0aGVuIHRoZQorCSAgICAqIGVsZW1lbnQgaW5mb3JtYXRpb24gaXRlbSBoYXMgbm8gY2hhcmFjdGVyIGluZm9ybWF0aW9uCisJICAgICogaXRlbSBbY2hpbGRyZW5dIG90aGVyIHRoYW4gdGhvc2Ugd2hvc2UgW2NoYXJhY3RlcgorCSAgICAqIGNvZGVdIGlzIGRlZmluZWQgYXMgYSB3aGl0ZSBzcGFjZSBpbiBbWE1MIDEuMCAoU2Vjb25kCisJICAgICogRWRpdGlvbildLiIKKwkgICAgKi8KKwkgICAgVkVSUk9SKFhNTF9TQ0hFTUFWX0NWQ19DT01QTEVYX1RZUEVfMl8zLCBOVUxMLAorCQkiQ2hhcmFjdGVyIGNvbnRlbnQgb3RoZXIgdGhhbiB3aGl0ZXNwYWNlIGlzIG5vdCBhbGxvd2VkICIKKwkJImJlY2F1c2UgdGhlIGNvbnRlbnQgdHlwZSBpcyAnZWxlbWVudC1vbmx5JyIpOworCSAgICByZXR1cm4gKHZjdHh0LT5lcnIpOworCX0KKwlyZXR1cm4gKDApOworICAgIH0KKworICAgIGlmICgodmFsdWUgPT0gTlVMTCkgfHwgKHZhbHVlWzBdID09IDApKQorCXJldHVybiAoMCk7CisgICAgLyoKKyAgICAqIFNhdmUgdGhlIHZhbHVlLgorICAgICogTk9URSB0aGF0IGV2ZW4gaWYgdGhlIGNvbnRlbnQgdHlwZSBpcyAqbWl4ZWQqLCB3ZSBuZWVkIHRoZQorICAgICogKmluaXRpYWwgdmFsdWUqIGZvciBkZWZhdWx0L2ZpeGVkIHZhbHVlIGNvbnN0cmFpbnRzLgorICAgICovCisgICAgaWYgKCh2Y3R4dC0+aW5vZGUtPnR5cGVEZWYtPmNvbnRlbnRUeXBlID09IFhNTF9TQ0hFTUFfQ09OVEVOVF9NSVhFRCkgJiYKKwkoKHZjdHh0LT5pbm9kZS0+ZGVjbCA9PSBOVUxMKSB8fAorCSh2Y3R4dC0+aW5vZGUtPmRlY2wtPnZhbHVlID09IE5VTEwpKSkKKwlyZXR1cm4gKDApOworCisgICAgaWYgKHZjdHh0LT5pbm9kZS0+dmFsdWUgPT0gTlVMTCkgeworCS8qCisJKiBTZXQgdGhlIHZhbHVlLgorCSovCisJc3dpdGNoIChtb2RlKSB7CisJICAgIGNhc2UgWE1MX1NDSEVNQV9QVVNIX1RFWFRfUEVSU0lTVDoKKwkJLyoKKwkJKiBXaGVuIHdvcmtpbmcgb24gYSB0cmVlLgorCQkqLworCQl2Y3R4dC0+aW5vZGUtPnZhbHVlID0gdmFsdWU7CisJCWJyZWFrOworCSAgICBjYXNlIFhNTF9TQ0hFTUFfUFVTSF9URVhUX0NSRUFURUQ6CisJCS8qCisJCSogV2hlbiB3b3JraW5nIHdpdGggdGhlIHJlYWRlci4KKwkJKiBUaGUgdmFsdWUgd2lsbCBiZSBmcmVlZCBieSB0aGUgZWxlbWVudCBpbmZvLgorCQkqLworCQl2Y3R4dC0+aW5vZGUtPnZhbHVlID0gdmFsdWU7CisJCWlmIChjb25zdW1lZCAhPSBOVUxMKQorCQkgICAgKmNvbnN1bWVkID0gMTsKKwkJdmN0eHQtPmlub2RlLT5mbGFncyB8PQorCQkgICAgWE1MX1NDSEVNQV9OT0RFX0lORk9fRkxBR19PV05FRF9WQUxVRVM7CisJCWJyZWFrOworCSAgICBjYXNlIFhNTF9TQ0hFTUFfUFVTSF9URVhUX1ZPTEFUSUxFOgorCQkvKgorCQkqIFdoZW4gd29ya2luZyB3aXRoIFNBWC4KKwkJKiBUaGUgdmFsdWUgd2lsbCBiZSBmcmVlZCBieSB0aGUgZWxlbWVudCBpbmZvLgorCQkqLworCQlpZiAobGVuICE9IC0xKQorCQkgICAgdmN0eHQtPmlub2RlLT52YWx1ZSA9IEJBRF9DQVNUIHhtbFN0cm5kdXAodmFsdWUsIGxlbik7CisJCWVsc2UKKwkJICAgIHZjdHh0LT5pbm9kZS0+dmFsdWUgPSBCQURfQ0FTVCB4bWxTdHJkdXAodmFsdWUpOworCQl2Y3R4dC0+aW5vZGUtPmZsYWdzIHw9CisJCSAgICBYTUxfU0NIRU1BX05PREVfSU5GT19GTEFHX09XTkVEX1ZBTFVFUzsKKwkJYnJlYWs7CisJICAgIGRlZmF1bHQ6CisJCWJyZWFrOworCX0KKyAgICB9IGVsc2UgeworCWlmIChsZW4gPCAwKQorCSAgICBsZW4gPSB4bWxTdHJsZW4odmFsdWUpOworCS8qCisJKiBDb25jYXQgdGhlIHZhbHVlLgorCSovCisJaWYgKHZjdHh0LT5pbm9kZS0+ZmxhZ3MgJiBYTUxfU0NIRU1BX05PREVfSU5GT19GTEFHX09XTkVEX1ZBTFVFUykgeworCSAgICB2Y3R4dC0+aW5vZGUtPnZhbHVlID0gQkFEX0NBU1QgeG1sU3RybmNhdCgKKwkJKHhtbENoYXIgKikgdmN0eHQtPmlub2RlLT52YWx1ZSwgdmFsdWUsIGxlbik7CisJfSBlbHNlIHsKKwkgICAgdmN0eHQtPmlub2RlLT52YWx1ZSA9CisJCUJBRF9DQVNUIHhtbFN0cm5jYXROZXcodmN0eHQtPmlub2RlLT52YWx1ZSwgdmFsdWUsIGxlbik7CisJICAgIHZjdHh0LT5pbm9kZS0+ZmxhZ3MgfD0gWE1MX1NDSEVNQV9OT0RFX0lORk9fRkxBR19PV05FRF9WQUxVRVM7CisJfQorICAgIH0KKworICAgIHJldHVybiAoMCk7Cit9CisKK3N0YXRpYyBpbnQKK3htbFNjaGVtYVZhbGlkYXRlRWxlbSh4bWxTY2hlbWFWYWxpZEN0eHRQdHIgdmN0eHQpCit7CisgICAgaW50IHJldCA9IDA7CisKKyAgICBpZiAoKHZjdHh0LT5za2lwRGVwdGggIT0gLTEpICYmCisJKHZjdHh0LT5kZXB0aCA+PSB2Y3R4dC0+c2tpcERlcHRoKSkgeworCVZFUlJPUl9JTlQoInhtbFNjaGVtYVZhbGlkYXRlRWxlbSIsCisJICAgICJpbiBza2lwLXN0YXRlIik7CisJZ290byBpbnRlcm5hbF9lcnJvcjsKKyAgICB9CisgICAgaWYgKHZjdHh0LT54c2lBc3NlbWJsZSkgeworCS8qCisJKiBXZSB3aWxsIHN0b3AgdmFsaWRhdGlvbiBpZiB0aGVyZSB3YXMgYW4gZXJyb3IgZHVyaW5nCisJKiBkeW5hbWljIHNjaGVtYSBjb25zdHJ1Y3Rpb24uCisJKiBOb3RlIHRoYXQgd2Ugc2ltcGx5IHNldCBAc2tpcERlcHRoIHRvIDAsIHRoaXMgY291bGQKKwkqIG1lYW4gdGhhdCBhIHN0cmVhbWluZyBkb2N1bWVudCB2aWEgU0FYIHdvdWxkIGJlCisJKiBzdGlsbCByZWFkIHRvIHRoZSBlbmQgYnV0IGl0IHdvbid0IGJlIHZhbGlkYXRlZCBhbnkgbW9yZS4KKwkqIFRPRE86IElmIHdlIGFyZSBzdXJlIGhvdyB0byBzdG9wIHRoZSB2YWxpZGF0aW9uIGF0IG9uY2UKKwkqICAgZm9yIGFsbCBpbnB1dCBzY2VuYXJpb3MsIHRoZW4gdGhpcyBzaG91bGQgYmUgY2hhbmdlZCB0bworCSogICBpbnN0YW50bHkgc3RvcCB0aGUgdmFsaWRhdGlvbi4KKwkqLworCXJldCA9IHhtbFNjaGVtYUFzc2VtYmxlQnlYU0kodmN0eHQpOworCWlmIChyZXQgIT0gMCkgeworCSAgICBpZiAocmV0ID09IC0xKQorCQlnb3RvIGludGVybmFsX2Vycm9yOworCSAgICB2Y3R4dC0+c2tpcERlcHRoID0gMDsKKwkgICAgcmV0dXJuKHJldCk7CisJfQorICAgICAgICAvKgorICAgICAgICAgKiBBdWdtZW50IHRoZSBJREMgZGVmaW5pdGlvbnMgZm9yIHRoZSBtYWluIHNjaGVtYSBhbmQgYWxsIGltcG9ydGVkIG9uZXMKKyAgICAgICAgICogTk9URTogbWFpbiBzY2hlbWEgaXMgdGhlIGZpcnN0IGluIHRoZSBpbXBvcnRlZCBsaXN0CisgICAgICAgICAqLworICAgICAgICB4bWxIYXNoU2Nhbih2Y3R4dC0+c2NoZW1hLT5zY2hlbWFzSW1wb3J0cywoeG1sSGFzaFNjYW5uZXIpeG1sU2NoZW1hQXVnbWVudEltcG9ydGVkSURDLCB2Y3R4dCk7CisgICAgfQorICAgIGlmICh2Y3R4dC0+ZGVwdGggPiAwKSB7CisJLyoKKwkqIFZhbGlkYXRlIHRoaXMgZWxlbWVudCBhZ2FpbnN0IHRoZSBjb250ZW50IG1vZGVsCisJKiBvZiB0aGUgcGFyZW50LgorCSovCisJcmV0ID0geG1sU2NoZW1hVmFsaWRhdGVDaGlsZEVsZW0odmN0eHQpOworCWlmIChyZXQgIT0gMCkgeworCSAgICBpZiAocmV0IDwgMCkgeworCQlWRVJST1JfSU5UKCJ4bWxTY2hlbWFWYWxpZGF0ZUVsZW0iLAorCQkgICAgImNhbGxpbmcgeG1sU2NoZW1hU3RyZWFtVmFsaWRhdGVDaGlsZEVsZW1lbnQoKSIpOworCQlnb3RvIGludGVybmFsX2Vycm9yOworCSAgICB9CisJICAgIGdvdG8gZXhpdDsKKwl9CisJaWYgKHZjdHh0LT5kZXB0aCA9PSB2Y3R4dC0+c2tpcERlcHRoKQorCSAgICBnb3RvIGV4aXQ7CisJaWYgKCh2Y3R4dC0+aW5vZGUtPmRlY2wgPT0gTlVMTCkgJiYKKwkgICAgKHZjdHh0LT5pbm9kZS0+dHlwZURlZiA9PSBOVUxMKSkgeworCSAgICBWRVJST1JfSU5UKCJ4bWxTY2hlbWFWYWxpZGF0ZUVsZW0iLAorCQkidGhlIGNoaWxkIGVsZW1lbnQgd2FzIHZhbGlkIGJ1dCBuZWl0aGVyIHRoZSAiCisJCSJkZWNsYXJhdGlvbiBub3IgdGhlIHR5cGUgd2FzIHNldCIpOworCSAgICBnb3RvIGludGVybmFsX2Vycm9yOworCX0KKyAgICB9IGVsc2UgeworCS8qCisJKiBHZXQgdGhlIGRlY2xhcmF0aW9uIG9mIHRoZSB2YWxpZGF0aW9uIHJvb3QuCisJKi8KKwl2Y3R4dC0+aW5vZGUtPmRlY2wgPSB4bWxTY2hlbWFHZXRFbGVtKHZjdHh0LT5zY2hlbWEsCisJICAgIHZjdHh0LT5pbm9kZS0+bG9jYWxOYW1lLAorCSAgICB2Y3R4dC0+aW5vZGUtPm5zTmFtZSk7CisJaWYgKHZjdHh0LT5pbm9kZS0+ZGVjbCA9PSBOVUxMKSB7CisJICAgIHJldCA9IFhNTF9TQ0hFTUFWX0NWQ19FTFRfMTsKKwkgICAgVkVSUk9SKHJldCwgTlVMTCwKKwkJIk5vIG1hdGNoaW5nIGdsb2JhbCBkZWNsYXJhdGlvbiBhdmFpbGFibGUgIgorCQkiZm9yIHRoZSB2YWxpZGF0aW9uIHJvb3QiKTsKKwkgICAgZ290byBleGl0OworCX0KKyAgICB9CisKKyAgICBpZiAodmN0eHQtPmlub2RlLT5kZWNsID09IE5VTEwpCisJZ290byB0eXBlX3ZhbGlkYXRpb247CisKKyAgICBpZiAodmN0eHQtPmlub2RlLT5kZWNsLT50eXBlID09IFhNTF9TQ0hFTUFfVFlQRV9BTlkpIHsKKwlpbnQgc2tpcDsKKwkvKgorCSogV2lsZGNhcmRzLgorCSovCisJcmV0ID0geG1sU2NoZW1hVmFsaWRhdGVFbGVtV2lsZGNhcmQodmN0eHQsICZza2lwKTsKKwlpZiAocmV0ICE9IDApIHsKKwkgICAgaWYgKHJldCA8IDApIHsKKwkJVkVSUk9SX0lOVCgieG1sU2NoZW1hVmFsaWRhdGVFbGVtIiwKKwkJICAgICJjYWxsaW5nIHhtbFNjaGVtYVZhbGlkYXRlRWxlbVdpbGRjYXJkKCkiKTsKKwkJZ290byBpbnRlcm5hbF9lcnJvcjsKKwkgICAgfQorCSAgICBnb3RvIGV4aXQ7CisJfQorCWlmIChza2lwKSB7CisJICAgIHZjdHh0LT5za2lwRGVwdGggPSB2Y3R4dC0+ZGVwdGg7CisJICAgIGdvdG8gZXhpdDsKKwl9CisJLyoKKwkqIFRoZSBkZWNsYXJhdGlvbiBtaWdodCBiZSBzZXQgYnkgdGhlIHdpbGRjYXJkIHZhbGlkYXRpb24sCisJKiB3aGVuIHRoZSBwcm9jZXNzQ29udGVudHMgaXMgImxheCIgb3IgInN0cmljdCIuCisJKi8KKwlpZiAodmN0eHQtPmlub2RlLT5kZWNsLT50eXBlICE9IFhNTF9TQ0hFTUFfVFlQRV9FTEVNRU5UKSB7CisJICAgIC8qCisJICAgICogQ2xlYXIgdGhlICJkZWNsIiBmaWVsZCB0byBub3QgY29uZnVzZSBmdXJ0aGVyIHByb2Nlc3NpbmcuCisJICAgICovCisJICAgIHZjdHh0LT5pbm9kZS0+ZGVjbCA9IE5VTEw7CisJICAgIGdvdG8gdHlwZV92YWxpZGF0aW9uOworCX0KKyAgICB9CisgICAgLyoKKyAgICAqIFZhbGlkYXRlIGFnYWluc3QgdGhlIGRlY2xhcmF0aW9uLgorICAgICovCisgICAgcmV0ID0geG1sU2NoZW1hVmFsaWRhdGVFbGVtRGVjbCh2Y3R4dCk7CisgICAgaWYgKHJldCAhPSAwKSB7CisJaWYgKHJldCA8IDApIHsKKwkgICAgVkVSUk9SX0lOVCgieG1sU2NoZW1hVmFsaWRhdGVFbGVtIiwKKwkJImNhbGxpbmcgeG1sU2NoZW1hVmFsaWRhdGVFbGVtRGVjbCgpIik7CisJICAgIGdvdG8gaW50ZXJuYWxfZXJyb3I7CisJfQorCWdvdG8gZXhpdDsKKyAgICB9CisgICAgLyoKKyAgICAqIFZhbGlkYXRlIGFnYWluc3QgdGhlIHR5cGUgZGVmaW5pdGlvbi4KKyAgICAqLwordHlwZV92YWxpZGF0aW9uOgorCisgICAgaWYgKHZjdHh0LT5pbm9kZS0+dHlwZURlZiA9PSBOVUxMKSB7CisJdmN0eHQtPmlub2RlLT5mbGFncyB8PSBYTUxfU0NIRU1BX05PREVfSU5GT19FUlJfQkFEX1RZUEU7CisJcmV0ID0gWE1MX1NDSEVNQVZfQ1ZDX1RZUEVfMTsKKwlWRVJST1IocmV0LCBOVUxMLAorCSAgICAiVGhlIHR5cGUgZGVmaW5pdGlvbiBpcyBhYnNlbnQiKTsKKwlnb3RvIGV4aXQ7CisgICAgfQorICAgIGlmICh2Y3R4dC0+aW5vZGUtPnR5cGVEZWYtPmZsYWdzICYgWE1MX1NDSEVNQVNfVFlQRV9BQlNUUkFDVCkgeworCXZjdHh0LT5pbm9kZS0+ZmxhZ3MgfD0gWE1MX1NDSEVNQV9OT0RFX0lORk9fRVJSX0JBRF9UWVBFOworCXJldCA9IFhNTF9TQ0hFTUFWX0NWQ19UWVBFXzI7CisJICAgIFZFUlJPUihyZXQsIE5VTEwsCisJICAgICJUaGUgdHlwZSBkZWZpbml0aW9uIGlzIGFic3RyYWN0Iik7CisJZ290byBleGl0OworICAgIH0KKyAgICAvKgorICAgICogRXZhbHVhdGUgSURDcy4gRG8gaXQgaGVyZSwgc2luY2UgbmV3IElEQyBtYXRjaGVycyBhcmUgcmVnaXN0ZXJlZAorICAgICogZHVyaW5nIHZhbGlkYXRpb24gYWdhaW5zdCB0aGUgZGVjbGFyYXRpb24uIFRoaXMgbXVzdCBiZSBkb25lCisgICAgKiBfYmVmb3JlXyBhdHRyaWJ1dGUgdmFsaWRhdGlvbi4KKyAgICAqLworICAgIGlmICh2Y3R4dC0+eHBhdGhTdGF0ZXMgIT0gTlVMTCkgeworCXJldCA9IHhtbFNjaGVtYVhQYXRoRXZhbHVhdGUodmN0eHQsIFhNTF9FTEVNRU5UX05PREUpOworCXZjdHh0LT5pbm9kZS0+YXBwbGllZFhQYXRoID0gMTsKKwlpZiAocmV0ID09IC0xKSB7CisJICAgIFZFUlJPUl9JTlQoInhtbFNjaGVtYVZhbGlkYXRlRWxlbSIsCisJCSJjYWxsaW5nIHhtbFNjaGVtYVhQYXRoRXZhbHVhdGUoKSIpOworCSAgICBnb3RvIGludGVybmFsX2Vycm9yOworCX0KKyAgICB9CisgICAgLyoKKyAgICAqIFZhbGlkYXRlIGF0dHJpYnV0ZXMuCisgICAgKi8KKyAgICBpZiAoV1hTX0lTX0NPTVBMRVgodmN0eHQtPmlub2RlLT50eXBlRGVmKSkgeworCWlmICgodmN0eHQtPm5iQXR0ckluZm9zICE9IDApIHx8CisJICAgICh2Y3R4dC0+aW5vZGUtPnR5cGVEZWYtPmF0dHJVc2VzICE9IE5VTEwpKSB7CisKKwkgICAgcmV0ID0geG1sU2NoZW1hVkF0dHJpYnV0ZXNDb21wbGV4KHZjdHh0KTsKKwl9CisgICAgfSBlbHNlIGlmICh2Y3R4dC0+bmJBdHRySW5mb3MgIT0gMCkgeworCisJcmV0ID0geG1sU2NoZW1hVkF0dHJpYnV0ZXNTaW1wbGUodmN0eHQpOworICAgIH0KKyAgICAvKgorICAgICogQ2xlYXIgcmVnaXN0ZXJlZCBhdHRyaWJ1dGVzLgorICAgICovCisgICAgaWYgKHZjdHh0LT5uYkF0dHJJbmZvcyAhPSAwKQorCXhtbFNjaGVtYUNsZWFyQXR0ckluZm9zKHZjdHh0KTsKKyAgICBpZiAocmV0ID09IC0xKSB7CisJVkVSUk9SX0lOVCgieG1sU2NoZW1hVmFsaWRhdGVFbGVtIiwKKwkgICAgImNhbGxpbmcgYXR0cmlidXRlcyB2YWxpZGF0aW9uIik7CisJZ290byBpbnRlcm5hbF9lcnJvcjsKKyAgICB9CisgICAgLyoKKyAgICAqIERvbid0IHJldHVybiBhbiBlcnJvciBpZiBhdHRyaWJ1dGVzIGFyZSBpbnZhbGlkIG9uIHB1cnBvc2UuCisgICAgKi8KKyAgICByZXQgPSAwOworCitleGl0OgorICAgIGlmIChyZXQgIT0gMCkKKwl2Y3R4dC0+c2tpcERlcHRoID0gdmN0eHQtPmRlcHRoOworICAgIHJldHVybiAocmV0KTsKK2ludGVybmFsX2Vycm9yOgorICAgIHJldHVybiAoLTEpOworfQorCisjaWZkZWYgWE1MX1NDSEVNQV9SRUFERVJfRU5BQkxFRAorc3RhdGljIGludAoreG1sU2NoZW1hVlJlYWRlcldhbGsoeG1sU2NoZW1hVmFsaWRDdHh0UHRyIHZjdHh0KQoreworICAgIGNvbnN0IGludCBXSFRTUCA9IDEzLCBTSUdOX1dIVFNQID0gMTQsIEVORF9FTEVNID0gMTU7CisgICAgaW50IGRlcHRoLCBub2RlVHlwZSwgcmV0ID0gMCwgY29uc3VtZWQ7CisgICAgeG1sU2NoZW1hTm9kZUluZm9QdHIgaWVsZW07CisKKyAgICB2Y3R4dC0+ZGVwdGggPSAtMTsKKyAgICByZXQgPSB4bWxUZXh0UmVhZGVyUmVhZCh2Y3R4dC0+cmVhZGVyKTsKKyAgICAvKgorICAgICogTW92ZSB0byB0aGUgZG9jdW1lbnQgZWxlbWVudC4KKyAgICAqLworICAgIHdoaWxlIChyZXQgPT0gMSkgeworCW5vZGVUeXBlID0geG1sVGV4dFJlYWRlck5vZGVUeXBlKHZjdHh0LT5yZWFkZXIpOworCWlmIChub2RlVHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFKQorCSAgICBnb3RvIHJvb3RfZm91bmQ7CisJcmV0ID0geG1sVGV4dFJlYWRlclJlYWQodmN0eHQtPnJlYWRlcik7CisgICAgfQorICAgIGdvdG8gZXhpdDsKKworcm9vdF9mb3VuZDoKKworICAgIGRvIHsKKwlkZXB0aCA9IHhtbFRleHRSZWFkZXJEZXB0aCh2Y3R4dC0+cmVhZGVyKTsKKwlub2RlVHlwZSA9IHhtbFRleHRSZWFkZXJOb2RlVHlwZSh2Y3R4dC0+cmVhZGVyKTsKKworCWlmIChub2RlVHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFKSB7CisKKwkgICAgdmN0eHQtPmRlcHRoKys7CisJICAgIGlmICh4bWxTY2hlbWFWYWxpZGF0b3JQdXNoRWxlbSh2Y3R4dCkgPT0gLTEpIHsKKwkJVkVSUk9SX0lOVCgieG1sU2NoZW1hVlJlYWRlcldhbGsiLAorCQkgICAgImNhbGxpbmcgeG1sU2NoZW1hVmFsaWRhdG9yUHVzaEVsZW0oKSIpOworCQlnb3RvIGludGVybmFsX2Vycm9yOworCSAgICB9CisJICAgIGllbGVtID0gdmN0eHQtPmlub2RlOworCSAgICBpZWxlbS0+bG9jYWxOYW1lID0geG1sVGV4dFJlYWRlckxvY2FsTmFtZSh2Y3R4dC0+cmVhZGVyKTsKKwkgICAgaWVsZW0tPm5zTmFtZSA9IHhtbFRleHRSZWFkZXJOYW1lc3BhY2VVcmkodmN0eHQtPnJlYWRlcik7CisJICAgIGllbGVtLT5mbGFncyB8PSBYTUxfU0NIRU1BX05PREVfSU5GT19GTEFHX09XTkVEX05BTUVTOworCSAgICAvKgorCSAgICAqIElzIHRoZSBlbGVtZW50IGVtcHR5PworCSAgICAqLworCSAgICByZXQgPSB4bWxUZXh0UmVhZGVySXNFbXB0eUVsZW1lbnQodmN0eHQtPnJlYWRlcik7CisJICAgIGlmIChyZXQgPT0gLTEpIHsKKwkJVkVSUk9SX0lOVCgieG1sU2NoZW1hVlJlYWRlcldhbGsiLAorCQkgICAgImNhbGxpbmcgeG1sVGV4dFJlYWRlcklzRW1wdHlFbGVtZW50KCkiKTsKKwkJZ290byBpbnRlcm5hbF9lcnJvcjsKKwkgICAgfQorCSAgICBpZiAocmV0KSB7CisJCWllbGVtLT5mbGFncyB8PSBYTUxfU0NIRU1BX0VMRU1fSU5GT19FTVBUWTsKKwkgICAgfQorCSAgICAvKgorCSAgICAqIFJlZ2lzdGVyIGF0dHJpYnV0ZXMuCisJICAgICovCisJICAgIHZjdHh0LT5uYkF0dHJJbmZvcyA9IDA7CisJICAgIHJldCA9IHhtbFRleHRSZWFkZXJNb3ZlVG9GaXJzdEF0dHJpYnV0ZSh2Y3R4dC0+cmVhZGVyKTsKKwkgICAgaWYgKHJldCA9PSAtMSkgeworCQlWRVJST1JfSU5UKCJ4bWxTY2hlbWFWUmVhZGVyV2FsayIsCisJCSAgICAiY2FsbGluZyB4bWxUZXh0UmVhZGVyTW92ZVRvRmlyc3RBdHRyaWJ1dGUoKSIpOworCQlnb3RvIGludGVybmFsX2Vycm9yOworCSAgICB9CisJICAgIGlmIChyZXQgPT0gMSkgeworCQlkbyB7CisJCSAgICAvKgorCQkgICAgKiBWQUwgVE9ETzogSG93IGRvIHdlIGtub3cgdGhhdCB0aGUgcmVhZGVyIHdvcmtzIG9uIGEKKwkJICAgICogbm9kZSB0cmVlLCB0byBiZSBhYmxlIHRvIHBhc3MgYSBub2RlIGhlcmU/CisJCSAgICAqLworCQkgICAgaWYgKHhtbFNjaGVtYVZhbGlkYXRvclB1c2hBdHRyaWJ1dGUodmN0eHQsIE5VTEwsCisJCQkoY29uc3QgeG1sQ2hhciAqKSB4bWxUZXh0UmVhZGVyTG9jYWxOYW1lKHZjdHh0LT5yZWFkZXIpLAorCQkJeG1sVGV4dFJlYWRlck5hbWVzcGFjZVVyaSh2Y3R4dC0+cmVhZGVyKSwgMSwKKwkJCXhtbFRleHRSZWFkZXJWYWx1ZSh2Y3R4dC0+cmVhZGVyKSwgMSkgPT0gLTEpIHsKKworCQkJVkVSUk9SX0lOVCgieG1sU2NoZW1hVlJlYWRlcldhbGsiLAorCQkJICAgICJjYWxsaW5nIHhtbFNjaGVtYVZhbGlkYXRvclB1c2hBdHRyaWJ1dGUoKSIpOworCQkJZ290byBpbnRlcm5hbF9lcnJvcjsKKwkJICAgIH0KKwkJICAgIHJldCA9IHhtbFRleHRSZWFkZXJNb3ZlVG9OZXh0QXR0cmlidXRlKHZjdHh0LT5yZWFkZXIpOworCQkgICAgaWYgKHJldCA9PSAtMSkgeworCQkJVkVSUk9SX0lOVCgieG1sU2NoZW1hVlJlYWRlcldhbGsiLAorCQkJICAgICJjYWxsaW5nIHhtbFRleHRSZWFkZXJNb3ZlVG9GaXJzdEF0dHJpYnV0ZSgpIik7CisJCQlnb3RvIGludGVybmFsX2Vycm9yOworCQkgICAgfQorCQl9IHdoaWxlIChyZXQgPT0gMSk7CisJCS8qCisJCSogQmFjayB0byBlbGVtZW50IHBvc2l0aW9uLgorCQkqLworCQlyZXQgPSB4bWxUZXh0UmVhZGVyTW92ZVRvRWxlbWVudCh2Y3R4dC0+cmVhZGVyKTsKKwkJaWYgKHJldCA9PSAtMSkgeworCQkgICAgVkVSUk9SX0lOVCgieG1sU2NoZW1hVlJlYWRlcldhbGsiLAorCQkJImNhbGxpbmcgeG1sVGV4dFJlYWRlck1vdmVUb0VsZW1lbnQoKSIpOworCQkgICAgZ290byBpbnRlcm5hbF9lcnJvcjsKKwkJfQorCSAgICB9CisJICAgIC8qCisJICAgICogVmFsaWRhdGUgdGhlIGVsZW1lbnQuCisJICAgICovCisJICAgIHJldD0geG1sU2NoZW1hVmFsaWRhdGVFbGVtKHZjdHh0KTsKKwkgICAgaWYgKHJldCAhPSAwKSB7CisJCWlmIChyZXQgPT0gLTEpIHsKKwkJICAgIFZFUlJPUl9JTlQoInhtbFNjaGVtYVZSZWFkZXJXYWxrIiwKKwkJCSJjYWxsaW5nIHhtbFNjaGVtYVZhbGlkYXRlRWxlbSgpIik7CisJCSAgICBnb3RvIGludGVybmFsX2Vycm9yOworCQl9CisJCWdvdG8gZXhpdDsKKwkgICAgfQorCSAgICBpZiAodmN0eHQtPmRlcHRoID09IHZjdHh0LT5za2lwRGVwdGgpIHsKKwkJaW50IGN1ckRlcHRoOworCQkvKgorCQkqIFNraXAgYWxsIGNvbnRlbnQuCisJCSovCisJCWlmICgoaWVsZW0tPmZsYWdzICYgWE1MX1NDSEVNQV9FTEVNX0lORk9fRU1QVFkpID09IDApIHsKKwkJICAgIHJldCA9IHhtbFRleHRSZWFkZXJSZWFkKHZjdHh0LT5yZWFkZXIpOworCQkgICAgY3VyRGVwdGggPSB4bWxUZXh0UmVhZGVyRGVwdGgodmN0eHQtPnJlYWRlcik7CisJCSAgICB3aGlsZSAoKHJldCA9PSAxKSAmJiAoY3VyRGVwdGggIT0gZGVwdGgpKSB7CisJCQlyZXQgPSB4bWxUZXh0UmVhZGVyUmVhZCh2Y3R4dC0+cmVhZGVyKTsKKwkJCWN1ckRlcHRoID0geG1sVGV4dFJlYWRlckRlcHRoKHZjdHh0LT5yZWFkZXIpOworCQkgICAgfQorCQkgICAgaWYgKHJldCA8IDApIHsKKwkJCS8qCisJCQkqIFZBTCBUT0RPOiBBIHJlYWRlciBlcnJvciBvY2N1cmVkOyB3aGF0IHRvIGRvIGhlcmU/CisJCQkqLworCQkJcmV0ID0gMTsKKwkJCWdvdG8gZXhpdDsKKwkJICAgIH0KKwkJfQorCQlnb3RvIGxlYXZlX2VsZW07CisJICAgIH0KKwkgICAgLyoKKwkgICAgKiBSRUFERVIgVkFMIFRPRE86IElzIGFuIEVORF9FTEVNIHJlYWxseSBuZXZlciBjYWxsZWQKKwkgICAgKiBpZiB0aGUgZWxlbSBpcyBlbXB0eT8KKwkgICAgKi8KKwkgICAgaWYgKGllbGVtLT5mbGFncyAmIFhNTF9TQ0hFTUFfRUxFTV9JTkZPX0VNUFRZKQorCQlnb3RvIGxlYXZlX2VsZW07CisJfSBlbHNlIGlmIChub2RlVHlwZSA9PSBFTkRfRUxFTSkgeworCSAgICAvKgorCSAgICAqIFByb2Nlc3MgRU5EIG9mIGVsZW1lbnQuCisJICAgICovCitsZWF2ZV9lbGVtOgorCSAgICByZXQgPSB4bWxTY2hlbWFWYWxpZGF0b3JQb3BFbGVtKHZjdHh0KTsKKwkgICAgaWYgKHJldCAhPSAwKSB7CisJCWlmIChyZXQgPCAwKSB7CisJCSAgICBWRVJST1JfSU5UKCJ4bWxTY2hlbWFWUmVhZGVyV2FsayIsCisJCQkiY2FsbGluZyB4bWxTY2hlbWFWYWxpZGF0b3JQb3BFbGVtKCkiKTsKKwkJICAgIGdvdG8gaW50ZXJuYWxfZXJyb3I7CisJCX0KKwkJZ290byBleGl0OworCSAgICB9CisJICAgIGlmICh2Y3R4dC0+ZGVwdGggPj0gMCkKKwkJaWVsZW0gPSB2Y3R4dC0+aW5vZGU7CisJICAgIGVsc2UKKwkJaWVsZW0gPSBOVUxMOworCX0gZWxzZSBpZiAoKG5vZGVUeXBlID09IFhNTF9URVhUX05PREUpIHx8CisJICAgIChub2RlVHlwZSA9PSBYTUxfQ0RBVEFfU0VDVElPTl9OT0RFKSB8fAorCSAgICAobm9kZVR5cGUgPT0gV0hUU1ApIHx8CisJICAgIChub2RlVHlwZSA9PSBTSUdOX1dIVFNQKSkgeworCSAgICAvKgorCSAgICAqIFByb2Nlc3MgY2hhcmFjdGVyIGNvbnRlbnQuCisJICAgICovCisJICAgIHhtbENoYXIgKnZhbHVlOworCisJICAgIGlmICgobm9kZVR5cGUgPT0gV0hUU1ApIHx8IChub2RlVHlwZSA9PSBTSUdOX1dIVFNQKSkKKwkJbm9kZVR5cGUgPSBYTUxfVEVYVF9OT0RFOworCisJICAgIHZhbHVlID0geG1sVGV4dFJlYWRlclZhbHVlKHZjdHh0LT5yZWFkZXIpOworCSAgICByZXQgPSB4bWxTY2hlbWFWUHVzaFRleHQodmN0eHQsIG5vZGVUeXBlLCBCQURfQ0FTVCB2YWx1ZSwKKwkJLTEsIFhNTF9TQ0hFTUFfUFVTSF9URVhUX0NSRUFURUQsICZjb25zdW1lZCk7CisJICAgIGlmICghIGNvbnN1bWVkKQorCQl4bWxGcmVlKHZhbHVlKTsKKwkgICAgaWYgKHJldCA9PSAtMSkgeworCQlWRVJST1JfSU5UKCJ4bWxTY2hlbWFWUmVhZGVyV2FsayIsCisJCSAgICAiY2FsbGluZyB4bWxTY2hlbWFWUHVzaFRleHQoKSIpOworCQlnb3RvIGludGVybmFsX2Vycm9yOworCSAgICB9CisJfSBlbHNlIGlmICgobm9kZVR5cGUgPT0gWE1MX0VOVElUWV9OT0RFKSB8fAorCSAgICAobm9kZVR5cGUgPT0gWE1MX0VOVElUWV9SRUZfTk9ERSkpIHsKKwkgICAgLyoKKwkgICAgKiBWQUwgVE9ETzogV2hhdCB0byBkbyB3aXRoIGVudGl0aWVzPworCSAgICAqLworCSAgICBUT0RPCisJfQorCS8qCisJKiBSZWFkIG5leHQgbm9kZS4KKwkqLworCXJldCA9IHhtbFRleHRSZWFkZXJSZWFkKHZjdHh0LT5yZWFkZXIpOworICAgIH0gd2hpbGUgKHJldCA9PSAxKTsKKworZXhpdDoKKyAgICByZXR1cm4gKHJldCk7CitpbnRlcm5hbF9lcnJvcjoKKyAgICByZXR1cm4gKC0xKTsKK30KKyNlbmRpZgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQkJU0FYIHZhbGlkYXRpb24gaGFuZGxlcnMJCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKgorKiBQcm9jZXNzIHRleHQgY29udGVudC4KKyovCitzdGF0aWMgdm9pZAoreG1sU2NoZW1hU0FYSGFuZGxlVGV4dCh2b2lkICpjdHgsCisJCSAgICAgICBjb25zdCB4bWxDaGFyICogY2gsCisJCSAgICAgICBpbnQgbGVuKQoreworICAgIHhtbFNjaGVtYVZhbGlkQ3R4dFB0ciB2Y3R4dCA9ICh4bWxTY2hlbWFWYWxpZEN0eHRQdHIpIGN0eDsKKworICAgIGlmICh2Y3R4dC0+ZGVwdGggPCAwKQorCXJldHVybjsKKyAgICBpZiAoKHZjdHh0LT5za2lwRGVwdGggIT0gLTEpICYmICh2Y3R4dC0+ZGVwdGggPj0gdmN0eHQtPnNraXBEZXB0aCkpCisJcmV0dXJuOworICAgIGlmICh2Y3R4dC0+aW5vZGUtPmZsYWdzICYgWE1MX1NDSEVNQV9FTEVNX0lORk9fRU1QVFkpCisJdmN0eHQtPmlub2RlLT5mbGFncyBePSBYTUxfU0NIRU1BX0VMRU1fSU5GT19FTVBUWTsKKyAgICBpZiAoeG1sU2NoZW1hVlB1c2hUZXh0KHZjdHh0LCBYTUxfVEVYVF9OT0RFLCBjaCwgbGVuLAorCVhNTF9TQ0hFTUFfUFVTSF9URVhUX1ZPTEFUSUxFLCBOVUxMKSA9PSAtMSkgeworCVZFUlJPUl9JTlQoInhtbFNjaGVtYVNBWEhhbmRsZUNEYXRhU2VjdGlvbiIsCisJICAgICJjYWxsaW5nIHhtbFNjaGVtYVZQdXNoVGV4dCgpIik7CisJdmN0eHQtPmVyciA9IC0xOworCXhtbFN0b3BQYXJzZXIodmN0eHQtPnBhcnNlckN0eHQpOworICAgIH0KK30KKworLyoKKyogUHJvY2VzcyBDREFUQSBjb250ZW50LgorKi8KK3N0YXRpYyB2b2lkCit4bWxTY2hlbWFTQVhIYW5kbGVDRGF0YVNlY3Rpb24odm9pZCAqY3R4LAorCQkJICAgICBjb25zdCB4bWxDaGFyICogY2gsCisJCQkgICAgIGludCBsZW4pCit7CisgICAgeG1sU2NoZW1hVmFsaWRDdHh0UHRyIHZjdHh0ID0gKHhtbFNjaGVtYVZhbGlkQ3R4dFB0cikgY3R4OworCisgICAgaWYgKHZjdHh0LT5kZXB0aCA8IDApCisJcmV0dXJuOworICAgIGlmICgodmN0eHQtPnNraXBEZXB0aCAhPSAtMSkgJiYgKHZjdHh0LT5kZXB0aCA+PSB2Y3R4dC0+c2tpcERlcHRoKSkKKwlyZXR1cm47CisgICAgaWYgKHZjdHh0LT5pbm9kZS0+ZmxhZ3MgJiBYTUxfU0NIRU1BX0VMRU1fSU5GT19FTVBUWSkKKwl2Y3R4dC0+aW5vZGUtPmZsYWdzIF49IFhNTF9TQ0hFTUFfRUxFTV9JTkZPX0VNUFRZOworICAgIGlmICh4bWxTY2hlbWFWUHVzaFRleHQodmN0eHQsIFhNTF9DREFUQV9TRUNUSU9OX05PREUsIGNoLCBsZW4sCisJWE1MX1NDSEVNQV9QVVNIX1RFWFRfVk9MQVRJTEUsIE5VTEwpID09IC0xKSB7CisJVkVSUk9SX0lOVCgieG1sU2NoZW1hU0FYSGFuZGxlQ0RhdGFTZWN0aW9uIiwKKwkgICAgImNhbGxpbmcgeG1sU2NoZW1hVlB1c2hUZXh0KCkiKTsKKwl2Y3R4dC0+ZXJyID0gLTE7CisJeG1sU3RvcFBhcnNlcih2Y3R4dC0+cGFyc2VyQ3R4dCk7CisgICAgfQorfQorCitzdGF0aWMgdm9pZAoreG1sU2NoZW1hU0FYSGFuZGxlUmVmZXJlbmNlKHZvaWQgKmN0eCBBVFRSSUJVVEVfVU5VU0VELAorCQkJICAgIGNvbnN0IHhtbENoYXIgKiBuYW1lIEFUVFJJQlVURV9VTlVTRUQpCit7CisgICAgeG1sU2NoZW1hVmFsaWRDdHh0UHRyIHZjdHh0ID0gKHhtbFNjaGVtYVZhbGlkQ3R4dFB0cikgY3R4OworCisgICAgaWYgKHZjdHh0LT5kZXB0aCA8IDApCisJcmV0dXJuOworICAgIGlmICgodmN0eHQtPnNraXBEZXB0aCAhPSAtMSkgJiYgKHZjdHh0LT5kZXB0aCA+PSB2Y3R4dC0+c2tpcERlcHRoKSkKKwlyZXR1cm47CisgICAgLyogU0FYIFZBTCBUT0RPOiBXaGF0IHRvIGRvIGhlcmU/ICovCisgICAgVE9ETworfQorCitzdGF0aWMgdm9pZAoreG1sU2NoZW1hU0FYSGFuZGxlU3RhcnRFbGVtZW50TnModm9pZCAqY3R4LAorCQkJCSBjb25zdCB4bWxDaGFyICogbG9jYWxuYW1lLAorCQkJCSBjb25zdCB4bWxDaGFyICogcHJlZml4IEFUVFJJQlVURV9VTlVTRUQsCisJCQkJIGNvbnN0IHhtbENoYXIgKiBVUkksCisJCQkJIGludCBuYl9uYW1lc3BhY2VzLAorCQkJCSBjb25zdCB4bWxDaGFyICoqIG5hbWVzcGFjZXMsCisJCQkJIGludCBuYl9hdHRyaWJ1dGVzLAorCQkJCSBpbnQgbmJfZGVmYXVsdGVkIEFUVFJJQlVURV9VTlVTRUQsCisJCQkJIGNvbnN0IHhtbENoYXIgKiogYXR0cmlidXRlcykKK3sKKyAgICB4bWxTY2hlbWFWYWxpZEN0eHRQdHIgdmN0eHQgPSAoeG1sU2NoZW1hVmFsaWRDdHh0UHRyKSBjdHg7CisgICAgaW50IHJldDsKKyAgICB4bWxTY2hlbWFOb2RlSW5mb1B0ciBpZWxlbTsKKyAgICBpbnQgaSwgajsKKworICAgIC8qCisgICAgKiBTQVggVkFMIFRPRE86IFdoYXQgdG8gZG8gd2l0aCBuYl9kZWZhdWx0ZWQ/CisgICAgKi8KKyAgICAvKgorICAgICogU2tpcCBlbGVtZW50cyBpZiBpbnNpZGUgYSAic2tpcCIgd2lsZGNhcmQgb3IgaW52YWxpZC4KKyAgICAqLworICAgIHZjdHh0LT5kZXB0aCsrOworICAgIGlmICgodmN0eHQtPnNraXBEZXB0aCAhPSAtMSkgJiYgKHZjdHh0LT5kZXB0aCA+PSB2Y3R4dC0+c2tpcERlcHRoKSkKKwlyZXR1cm47CisgICAgLyoKKyAgICAqIFB1c2ggdGhlIGVsZW1lbnQuCisgICAgKi8KKyAgICBpZiAoeG1sU2NoZW1hVmFsaWRhdG9yUHVzaEVsZW0odmN0eHQpID09IC0xKSB7CisJVkVSUk9SX0lOVCgieG1sU2NoZW1hU0FYSGFuZGxlU3RhcnRFbGVtZW50TnMiLAorCSAgICAiY2FsbGluZyB4bWxTY2hlbWFWYWxpZGF0b3JQdXNoRWxlbSgpIik7CisJZ290byBpbnRlcm5hbF9lcnJvcjsKKyAgICB9CisgICAgaWVsZW0gPSB2Y3R4dC0+aW5vZGU7CisgICAgLyoKKyAgICAqIFRPRE86IElzIHRoaXMgT0s/CisgICAgKi8KKyAgICBpZWxlbS0+bm9kZUxpbmUgPSB4bWxTQVgyR2V0TGluZU51bWJlcih2Y3R4dC0+cGFyc2VyQ3R4dCk7CisgICAgaWVsZW0tPmxvY2FsTmFtZSA9IGxvY2FsbmFtZTsKKyAgICBpZWxlbS0+bnNOYW1lID0gVVJJOworICAgIGllbGVtLT5mbGFncyB8PSBYTUxfU0NIRU1BX0VMRU1fSU5GT19FTVBUWTsKKyAgICAvKgorICAgICogUmVnaXN0ZXIgbmFtZXNwYWNlcyBvbiB0aGUgZWxlbSBpbmZvLgorICAgICovCisgICAgaWYgKG5iX25hbWVzcGFjZXMgIT0gMCkgeworCS8qCisJKiBBbHRob3VnaCB0aGUgcGFyc2VyIGJ1aWxkcyBpdHMgb3duIG5hbWVzcGFjZSBsaXN0LAorCSogd2UgaGF2ZSBubyBhY2Nlc3MgdG8gaXQsIHNvIHdlJ2xsIHVzZSBhbiBvd24gb25lLgorCSovCisgICAgICAgIGZvciAoaSA9IDAsIGogPSAwOyBpIDwgbmJfbmFtZXNwYWNlczsgaSsrLCBqICs9IDIpIHsKKwkgICAgLyoKKwkgICAgKiBTdG9yZSBwcmVmaXggYW5kIG5hbWVzcGFjZSBuYW1lLgorCSAgICAqLworCSAgICBpZiAoaWVsZW0tPm5zQmluZGluZ3MgPT0gTlVMTCkgeworCQlpZWxlbS0+bnNCaW5kaW5ncyA9CisJCSAgICAoY29uc3QgeG1sQ2hhciAqKikgeG1sTWFsbG9jKDEwICoKKwkJCXNpemVvZihjb25zdCB4bWxDaGFyICopKTsKKwkJaWYgKGllbGVtLT5uc0JpbmRpbmdzID09IE5VTEwpIHsKKwkJICAgIHhtbFNjaGVtYVZFcnJNZW1vcnkodmN0eHQsCisJCQkiYWxsb2NhdGluZyBuYW1lc3BhY2UgYmluZGluZ3MgZm9yIFNBWCB2YWxpZGF0aW9uIiwKKwkJCU5VTEwpOworCQkgICAgZ290byBpbnRlcm5hbF9lcnJvcjsKKwkJfQorCQlpZWxlbS0+bmJOc0JpbmRpbmdzID0gMDsKKwkJaWVsZW0tPnNpemVOc0JpbmRpbmdzID0gNTsKKwkgICAgfSBlbHNlIGlmIChpZWxlbS0+c2l6ZU5zQmluZGluZ3MgPD0gaWVsZW0tPm5iTnNCaW5kaW5ncykgeworCQlpZWxlbS0+c2l6ZU5zQmluZGluZ3MgKj0gMjsKKwkJaWVsZW0tPm5zQmluZGluZ3MgPQorCQkgICAgKGNvbnN0IHhtbENoYXIgKiopIHhtbFJlYWxsb2MoCisJCQkodm9pZCAqKSBpZWxlbS0+bnNCaW5kaW5ncywKKwkJCWllbGVtLT5zaXplTnNCaW5kaW5ncyAqIDIgKiBzaXplb2YoY29uc3QgeG1sQ2hhciAqKSk7CisJCWlmIChpZWxlbS0+bnNCaW5kaW5ncyA9PSBOVUxMKSB7CisJCSAgICB4bWxTY2hlbWFWRXJyTWVtb3J5KHZjdHh0LAorCQkJInJlLWFsbG9jYXRpbmcgbmFtZXNwYWNlIGJpbmRpbmdzIGZvciBTQVggdmFsaWRhdGlvbiIsCisJCQlOVUxMKTsKKwkJICAgIGdvdG8gaW50ZXJuYWxfZXJyb3I7CisJCX0KKwkgICAgfQorCisJICAgIGllbGVtLT5uc0JpbmRpbmdzW2llbGVtLT5uYk5zQmluZGluZ3MgKiAyXSA9IG5hbWVzcGFjZXNbal07CisJICAgIGlmIChuYW1lc3BhY2VzW2orMV1bMF0gPT0gMCkgeworCQkvKgorCQkqIEhhbmRsZSB4bWxucz0iIi4KKwkJKi8KKwkJaWVsZW0tPm5zQmluZGluZ3NbaWVsZW0tPm5iTnNCaW5kaW5ncyAqIDIgKyAxXSA9IE5VTEw7CisJICAgIH0gZWxzZQorCQlpZWxlbS0+bnNCaW5kaW5nc1tpZWxlbS0+bmJOc0JpbmRpbmdzICogMiArIDFdID0KKwkJICAgIG5hbWVzcGFjZXNbaisxXTsKKwkgICAgaWVsZW0tPm5iTnNCaW5kaW5ncysrOworCX0KKyAgICB9CisgICAgLyoKKyAgICAqIFJlZ2lzdGVyIGF0dHJpYnV0ZXMuCisgICAgKiBTQVggVkFMIFRPRE86IFdlIGFyZSBub3QgYWRkaW5nIG5hbWVzcGFjZSBkZWNsYXJhdGlvbgorICAgICogYXR0cmlidXRlcyB5ZXQuCisgICAgKi8KKyAgICBpZiAobmJfYXR0cmlidXRlcyAhPSAwKSB7CisJeG1sQ2hhciAqdmFsdWU7CisKKyAgICAgICAgZm9yIChqID0gMCwgaSA9IDA7IGkgPCBuYl9hdHRyaWJ1dGVzOyBpKyssIGogKz0gNSkgeworCSAgICAvKgorCSAgICAqIER1cGxpY2F0ZSB0aGUgdmFsdWUuCisJICAgICovCisJICAgIHZhbHVlID0geG1sU3RybmR1cChhdHRyaWJ1dGVzW2orM10sCisJCWF0dHJpYnV0ZXNbais0XSAtIGF0dHJpYnV0ZXNbaiszXSk7CisJICAgIC8qCisJICAgICogVE9ETzogU2V0IHRoZSBub2RlIGxpbmUuCisJICAgICovCisJICAgIHJldCA9IHhtbFNjaGVtYVZhbGlkYXRvclB1c2hBdHRyaWJ1dGUodmN0eHQsCisJCU5VTEwsIGllbGVtLT5ub2RlTGluZSwgYXR0cmlidXRlc1tqXSwgYXR0cmlidXRlc1tqKzJdLCAwLAorCQl2YWx1ZSwgMSk7CisJICAgIGlmIChyZXQgPT0gLTEpIHsKKwkJVkVSUk9SX0lOVCgieG1sU2NoZW1hU0FYSGFuZGxlU3RhcnRFbGVtZW50TnMiLAorCQkgICAgImNhbGxpbmcgeG1sU2NoZW1hVmFsaWRhdG9yUHVzaEF0dHJpYnV0ZSgpIik7CisJCWdvdG8gaW50ZXJuYWxfZXJyb3I7CisJICAgIH0KKwl9CisgICAgfQorICAgIC8qCisgICAgKiBWYWxpZGF0ZSB0aGUgZWxlbWVudC4KKyAgICAqLworICAgIHJldCA9IHhtbFNjaGVtYVZhbGlkYXRlRWxlbSh2Y3R4dCk7CisgICAgaWYgKHJldCAhPSAwKSB7CisJaWYgKHJldCA9PSAtMSkgeworCSAgICBWRVJST1JfSU5UKCJ4bWxTY2hlbWFTQVhIYW5kbGVTdGFydEVsZW1lbnROcyIsCisJCSJjYWxsaW5nIHhtbFNjaGVtYVZhbGlkYXRlRWxlbSgpIik7CisJICAgIGdvdG8gaW50ZXJuYWxfZXJyb3I7CisJfQorCWdvdG8gZXhpdDsKKyAgICB9CisKK2V4aXQ6CisgICAgcmV0dXJuOworaW50ZXJuYWxfZXJyb3I6CisgICAgdmN0eHQtPmVyciA9IC0xOworICAgIHhtbFN0b3BQYXJzZXIodmN0eHQtPnBhcnNlckN0eHQpOworICAgIHJldHVybjsKK30KKworc3RhdGljIHZvaWQKK3htbFNjaGVtYVNBWEhhbmRsZUVuZEVsZW1lbnROcyh2b2lkICpjdHgsCisJCQkgICAgICAgY29uc3QgeG1sQ2hhciAqIGxvY2FsbmFtZSBBVFRSSUJVVEVfVU5VU0VELAorCQkJICAgICAgIGNvbnN0IHhtbENoYXIgKiBwcmVmaXggQVRUUklCVVRFX1VOVVNFRCwKKwkJCSAgICAgICBjb25zdCB4bWxDaGFyICogVVJJIEFUVFJJQlVURV9VTlVTRUQpCit7CisgICAgeG1sU2NoZW1hVmFsaWRDdHh0UHRyIHZjdHh0ID0gKHhtbFNjaGVtYVZhbGlkQ3R4dFB0cikgY3R4OworICAgIGludCByZXM7CisKKyAgICAvKgorICAgICogU2tpcCBlbGVtZW50cyBpZiBpbnNpZGUgYSAic2tpcCIgd2lsZGNhcmQgb3IgaWYgaW52YWxpZC4KKyAgICAqLworICAgIGlmICh2Y3R4dC0+c2tpcERlcHRoICE9IC0xKSB7CisJaWYgKHZjdHh0LT5kZXB0aCA+IHZjdHh0LT5za2lwRGVwdGgpIHsKKwkgICAgdmN0eHQtPmRlcHRoLS07CisJICAgIHJldHVybjsKKwl9IGVsc2UKKwkgICAgdmN0eHQtPnNraXBEZXB0aCA9IC0xOworICAgIH0KKyAgICAvKgorICAgICogU0FYIFZBTCBUT0RPOiBKdXN0IGEgdGVtcG9yYXJ5IGNoZWNrLgorICAgICovCisgICAgaWYgKCgheG1sU3RyRXF1YWwodmN0eHQtPmlub2RlLT5sb2NhbE5hbWUsIGxvY2FsbmFtZSkpIHx8CisJKCF4bWxTdHJFcXVhbCh2Y3R4dC0+aW5vZGUtPm5zTmFtZSwgVVJJKSkpIHsKKwlWRVJST1JfSU5UKCJ4bWxTY2hlbWFTQVhIYW5kbGVFbmRFbGVtZW50TnMiLAorCSAgICAiZWxlbSBwb3AgbWlzbWF0Y2giKTsKKyAgICB9CisgICAgcmVzID0geG1sU2NoZW1hVmFsaWRhdG9yUG9wRWxlbSh2Y3R4dCk7CisgICAgaWYgKHJlcyAhPSAwKSB7CisJaWYgKHJlcyA8IDApIHsKKwkgICAgVkVSUk9SX0lOVCgieG1sU2NoZW1hU0FYSGFuZGxlRW5kRWxlbWVudE5zIiwKKwkJImNhbGxpbmcgeG1sU2NoZW1hVmFsaWRhdG9yUG9wRWxlbSgpIik7CisJICAgIGdvdG8gaW50ZXJuYWxfZXJyb3I7CisJfQorCWdvdG8gZXhpdDsKKyAgICB9CitleGl0OgorICAgIHJldHVybjsKK2ludGVybmFsX2Vycm9yOgorICAgIHZjdHh0LT5lcnIgPSAtMTsKKyAgICB4bWxTdG9wUGFyc2VyKHZjdHh0LT5wYXJzZXJDdHh0KTsKKyAgICByZXR1cm47Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCQlWYWxpZGF0aW9uIGludGVyZmFjZXMJCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioKKyAqIHhtbFNjaGVtYU5ld1ZhbGlkQ3R4dDoKKyAqIEBzY2hlbWE6ICBhIHByZWNvbXBpbGVkIFhNTCBTY2hlbWFzCisgKgorICogQ3JlYXRlIGFuIFhNTCBTY2hlbWFzIHZhbGlkYXRpb24gY29udGV4dCBiYXNlZCBvbiB0aGUgZ2l2ZW4gc2NoZW1hLgorICoKKyAqIFJldHVybnMgdGhlIHZhbGlkYXRpb24gY29udGV4dCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworeG1sU2NoZW1hVmFsaWRDdHh0UHRyCit4bWxTY2hlbWFOZXdWYWxpZEN0eHQoeG1sU2NoZW1hUHRyIHNjaGVtYSkKK3sKKyAgICB4bWxTY2hlbWFWYWxpZEN0eHRQdHIgcmV0OworCisgICAgcmV0ID0gKHhtbFNjaGVtYVZhbGlkQ3R4dFB0cikgeG1sTWFsbG9jKHNpemVvZih4bWxTY2hlbWFWYWxpZEN0eHQpKTsKKyAgICBpZiAocmV0ID09IE5VTEwpIHsKKyAgICAgICAgeG1sU2NoZW1hVkVyck1lbW9yeShOVUxMLCAiYWxsb2NhdGluZyB2YWxpZGF0aW9uIGNvbnRleHQiLCBOVUxMKTsKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICB9CisgICAgbWVtc2V0KHJldCwgMCwgc2l6ZW9mKHhtbFNjaGVtYVZhbGlkQ3R4dCkpOworICAgIHJldC0+dHlwZSA9IFhNTF9TQ0hFTUFfQ1RYVF9WQUxJREFUT1I7CisgICAgcmV0LT5kaWN0ID0geG1sRGljdENyZWF0ZSgpOworICAgIHJldC0+bm9kZVFOYW1lcyA9IHhtbFNjaGVtYUl0ZW1MaXN0Q3JlYXRlKCk7CisgICAgcmV0LT5zY2hlbWEgPSBzY2hlbWE7CisgICAgcmV0dXJuIChyZXQpOworfQorCisvKioKKyAqIHhtbFNjaGVtYVZhbGlkYXRlU2V0RmlsZW5hbWU6CisgKiBAdmN0eHQ6IHRoZSBzY2hlbWEgdmFsaWRhdGlvbiBjb250ZXh0CisgKiBAZmlsZW5hbWU6IHRoZSBmaWxlIG5hbWUKKyAqCisgKiBXb3JrYXJvdW5kIHRvIHByb3ZpZGUgZmlsZSBlcnJvciByZXBvcnRpbmcgaW5mb3JtYXRpb24gd2hlbiB0aGlzIGlzCisgKiBub3QgcHJvdmlkZWQgYnkgY3VycmVudCBBUElzCisgKi8KK3ZvaWQKK3htbFNjaGVtYVZhbGlkYXRlU2V0RmlsZW5hbWUoeG1sU2NoZW1hVmFsaWRDdHh0UHRyIHZjdHh0LCBjb25zdCBjaGFyICpmaWxlbmFtZSkgeworICAgIGlmICh2Y3R4dCA9PSBOVUxMKQorICAgICAgICByZXR1cm47CisgICAgaWYgKHZjdHh0LT5maWxlbmFtZSAhPSBOVUxMKQorICAgICAgICB4bWxGcmVlKHZjdHh0LT5maWxlbmFtZSk7CisgICAgaWYgKGZpbGVuYW1lICE9IE5VTEwpCisgICAgICAgIHZjdHh0LT5maWxlbmFtZSA9IChjaGFyICopIHhtbFN0cmR1cCgoY29uc3QgeG1sQ2hhciAqKSBmaWxlbmFtZSk7CisgICAgZWxzZQorICAgICAgICB2Y3R4dC0+ZmlsZW5hbWUgPSBOVUxMOworfQorCisvKioKKyAqIHhtbFNjaGVtYUNsZWFyVmFsaWRDdHh0OgorICogQHZjdHh0OiB0aGUgc2NoZW1hIHZhbGlkYXRpb24gY29udGV4dAorICoKKyAqIEZyZWUgdGhlIHJlc291cmNlcyBhc3NvY2lhdGVkIHRvIHRoZSBzY2hlbWEgdmFsaWRhdGlvbiBjb250ZXh0OworICogbGVhdmVzIHNvbWUgZmllbGRzIGFsaXZlIGludGVuZGVkIGZvciByZXVzZSBvZiB0aGUgY29udGV4dC4KKyAqLworc3RhdGljIHZvaWQKK3htbFNjaGVtYUNsZWFyVmFsaWRDdHh0KHhtbFNjaGVtYVZhbGlkQ3R4dFB0ciB2Y3R4dCkKK3sKKyAgICBpZiAodmN0eHQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuOworCisgICAgLyoKKyAgICAqIFRPRE86IFNob3VsZCB3ZSBjbGVhciB0aGUgZmxhZ3M/CisgICAgKiAgIE1pZ2h0IGJlIHByb2JsZW1hdGljIGlmIG9uZSByZXVzZXMgdGhlIGNvbnRleHQKKyAgICAqICAgYW5kIGFzc3VtZXMgdGhhdCB0aGUgb3B0aW9ucyByZW1haW4gdGhlIHNhbWUuCisgICAgKi8KKyAgICB2Y3R4dC0+ZmxhZ3MgPSAwOworICAgIHZjdHh0LT52YWxpZGF0aW9uUm9vdCA9IE5VTEw7CisgICAgdmN0eHQtPmRvYyA9IE5VTEw7CisjaWZkZWYgTElCWE1MX1JFQURFUl9FTkFCTEVECisgICAgdmN0eHQtPnJlYWRlciA9IE5VTEw7CisjZW5kaWYKKyAgICB2Y3R4dC0+aGFzS2V5cmVmcyA9IDA7CisKKyAgICBpZiAodmN0eHQtPnZhbHVlICE9IE5VTEwpIHsKKyAgICAgICAgeG1sU2NoZW1hRnJlZVZhbHVlKHZjdHh0LT52YWx1ZSk7CisJdmN0eHQtPnZhbHVlID0gTlVMTDsKKyAgICB9CisgICAgLyoKKyAgICAqIEF1Z21lbnRlZCBJREMgaW5mb3JtYXRpb24uCisgICAgKi8KKyAgICBpZiAodmN0eHQtPmFpZGNzICE9IE5VTEwpIHsKKwl4bWxTY2hlbWFJRENBdWdQdHIgY3VyID0gdmN0eHQtPmFpZGNzLCBuZXh0OworCWRvIHsKKwkgICAgbmV4dCA9IGN1ci0+bmV4dDsKKwkgICAgeG1sRnJlZShjdXIpOworCSAgICBjdXIgPSBuZXh0OworCX0gd2hpbGUgKGN1ciAhPSBOVUxMKTsKKwl2Y3R4dC0+YWlkY3MgPSBOVUxMOworICAgIH0KKyAgICBpZiAodmN0eHQtPmlkY01hdGNoZXJDYWNoZSAhPSBOVUxMKSB7CisJeG1sU2NoZW1hSURDTWF0Y2hlclB0ciBtYXRjaGVyID0gdmN0eHQtPmlkY01hdGNoZXJDYWNoZSwgdG1wOworCisJd2hpbGUgKG1hdGNoZXIpIHsKKwkgICAgdG1wID0gbWF0Y2hlcjsKKwkgICAgbWF0Y2hlciA9IG1hdGNoZXItPm5leHRDYWNoZWQ7CisJICAgIHhtbFNjaGVtYUlEQ0ZyZWVNYXRjaGVyTGlzdCh0bXApOworCX0KKwl2Y3R4dC0+aWRjTWF0Y2hlckNhY2hlID0gTlVMTDsKKyAgICB9CisKKworICAgIGlmICh2Y3R4dC0+aWRjTm9kZXMgIT0gTlVMTCkgeworCWludCBpOworCXhtbFNjaGVtYVBTVklJRENOb2RlUHRyIGl0ZW07CisKKwlmb3IgKGkgPSAwOyBpIDwgdmN0eHQtPm5iSWRjTm9kZXM7IGkrKykgeworCSAgICBpdGVtID0gdmN0eHQtPmlkY05vZGVzW2ldOworCSAgICB4bWxGcmVlKGl0ZW0tPmtleXMpOworCSAgICB4bWxGcmVlKGl0ZW0pOworCX0KKwl4bWxGcmVlKHZjdHh0LT5pZGNOb2Rlcyk7CisJdmN0eHQtPmlkY05vZGVzID0gTlVMTDsKKwl2Y3R4dC0+bmJJZGNOb2RlcyA9IDA7CisJdmN0eHQtPnNpemVJZGNOb2RlcyA9IDA7CisgICAgfQorICAgIC8qCisgICAgKiBOb3RlIHRoYXQgd2Ugd29uJ3QgZGVsZXRlIHRoZSBYUGF0aCBzdGF0ZSBwb29sIGhlcmUuCisgICAgKi8KKyAgICBpZiAodmN0eHQtPnhwYXRoU3RhdGVzICE9IE5VTEwpIHsKKwl4bWxTY2hlbWFGcmVlSURDU3RhdGVPYmpMaXN0KHZjdHh0LT54cGF0aFN0YXRlcyk7CisJdmN0eHQtPnhwYXRoU3RhdGVzID0gTlVMTDsKKyAgICB9CisgICAgLyoKKyAgICAqIEF0dHJpYnV0ZSBpbmZvLgorICAgICovCisgICAgaWYgKHZjdHh0LT5uYkF0dHJJbmZvcyAhPSAwKSB7CisJeG1sU2NoZW1hQ2xlYXJBdHRySW5mb3ModmN0eHQpOworICAgIH0KKyAgICAvKgorICAgICogRWxlbWVudCBpbmZvLgorICAgICovCisgICAgaWYgKHZjdHh0LT5lbGVtSW5mb3MgIT0gTlVMTCkgeworCWludCBpOworCXhtbFNjaGVtYU5vZGVJbmZvUHRyIGVpOworCisJZm9yIChpID0gMDsgaSA8IHZjdHh0LT5zaXplRWxlbUluZm9zOyBpKyspIHsKKwkgICAgZWkgPSB2Y3R4dC0+ZWxlbUluZm9zW2ldOworCSAgICBpZiAoZWkgPT0gTlVMTCkKKwkJYnJlYWs7CisJICAgIHhtbFNjaGVtYUNsZWFyRWxlbUluZm8odmN0eHQsIGVpKTsKKwl9CisgICAgfQorICAgIHhtbFNjaGVtYUl0ZW1MaXN0Q2xlYXIodmN0eHQtPm5vZGVRTmFtZXMpOworICAgIC8qIFJlY3JlYXRlIHRoZSBkaWN0LiAqLworICAgIHhtbERpY3RGcmVlKHZjdHh0LT5kaWN0KTsKKyAgICAvKgorICAgICogVE9ETzogSXMgaXMgc2F2ZSB0byByZWNyZWF0ZSBpdD8gRG8gd2UgaGF2ZSBhIHNjZW5hcmlvCisgICAgKiB3aGVyZSB0aGUgdXNlciBwcm92aWRlcyB0aGUgZGljdD8KKyAgICAqLworICAgIHZjdHh0LT5kaWN0ID0geG1sRGljdENyZWF0ZSgpOworCisgICAgaWYgKHZjdHh0LT5maWxlbmFtZSAhPSBOVUxMKSB7CisgICAgICAgIHhtbEZyZWUodmN0eHQtPmZpbGVuYW1lKTsKKwl2Y3R4dC0+ZmlsZW5hbWUgPSBOVUxMOworICAgIH0KK30KKworLyoqCisgKiB4bWxTY2hlbWFGcmVlVmFsaWRDdHh0OgorICogQGN0eHQ6ICB0aGUgc2NoZW1hIHZhbGlkYXRpb24gY29udGV4dAorICoKKyAqIEZyZWUgdGhlIHJlc291cmNlcyBhc3NvY2lhdGVkIHRvIHRoZSBzY2hlbWEgdmFsaWRhdGlvbiBjb250ZXh0CisgKi8KK3ZvaWQKK3htbFNjaGVtYUZyZWVWYWxpZEN0eHQoeG1sU2NoZW1hVmFsaWRDdHh0UHRyIGN0eHQpCit7CisgICAgaWYgKGN0eHQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuOworICAgIGlmIChjdHh0LT52YWx1ZSAhPSBOVUxMKQorICAgICAgICB4bWxTY2hlbWFGcmVlVmFsdWUoY3R4dC0+dmFsdWUpOworICAgIGlmIChjdHh0LT5wY3R4dCAhPSBOVUxMKQorCXhtbFNjaGVtYUZyZWVQYXJzZXJDdHh0KGN0eHQtPnBjdHh0KTsKKyAgICBpZiAoY3R4dC0+aWRjTm9kZXMgIT0gTlVMTCkgeworCWludCBpOworCXhtbFNjaGVtYVBTVklJRENOb2RlUHRyIGl0ZW07CisKKwlmb3IgKGkgPSAwOyBpIDwgY3R4dC0+bmJJZGNOb2RlczsgaSsrKSB7CisJICAgIGl0ZW0gPSBjdHh0LT5pZGNOb2Rlc1tpXTsKKwkgICAgeG1sRnJlZShpdGVtLT5rZXlzKTsKKwkgICAgeG1sRnJlZShpdGVtKTsKKwl9CisJeG1sRnJlZShjdHh0LT5pZGNOb2Rlcyk7CisgICAgfQorICAgIGlmIChjdHh0LT5pZGNLZXlzICE9IE5VTEwpIHsKKwlpbnQgaTsKKwlmb3IgKGkgPSAwOyBpIDwgY3R4dC0+bmJJZGNLZXlzOyBpKyspCisJICAgIHhtbFNjaGVtYUlEQ0ZyZWVLZXkoY3R4dC0+aWRjS2V5c1tpXSk7CisJeG1sRnJlZShjdHh0LT5pZGNLZXlzKTsKKyAgICB9CisKKyAgICBpZiAoY3R4dC0+eHBhdGhTdGF0ZXMgIT0gTlVMTCkgeworCXhtbFNjaGVtYUZyZWVJRENTdGF0ZU9iakxpc3QoY3R4dC0+eHBhdGhTdGF0ZXMpOworCWN0eHQtPnhwYXRoU3RhdGVzID0gTlVMTDsKKyAgICB9CisgICAgaWYgKGN0eHQtPnhwYXRoU3RhdGVQb29sICE9IE5VTEwpIHsKKwl4bWxTY2hlbWFGcmVlSURDU3RhdGVPYmpMaXN0KGN0eHQtPnhwYXRoU3RhdGVQb29sKTsKKwljdHh0LT54cGF0aFN0YXRlUG9vbCA9IE5VTEw7CisgICAgfQorCisgICAgLyoKKyAgICAqIEF1Z21lbnRlZCBJREMgaW5mb3JtYXRpb24uCisgICAgKi8KKyAgICBpZiAoY3R4dC0+YWlkY3MgIT0gTlVMTCkgeworCXhtbFNjaGVtYUlEQ0F1Z1B0ciBjdXIgPSBjdHh0LT5haWRjcywgbmV4dDsKKwlkbyB7CisJICAgIG5leHQgPSBjdXItPm5leHQ7CisJICAgIHhtbEZyZWUoY3VyKTsKKwkgICAgY3VyID0gbmV4dDsKKwl9IHdoaWxlIChjdXIgIT0gTlVMTCk7CisgICAgfQorICAgIGlmIChjdHh0LT5hdHRySW5mb3MgIT0gTlVMTCkgeworCWludCBpOworCXhtbFNjaGVtYUF0dHJJbmZvUHRyIGF0dHI7CisKKwkvKiBKdXN0IGEgcGFyYW5vaWQgY2FsbCB0byB0aGUgY2xlYW51cC4gKi8KKwlpZiAoY3R4dC0+bmJBdHRySW5mb3MgIT0gMCkKKwkgICAgeG1sU2NoZW1hQ2xlYXJBdHRySW5mb3MoY3R4dCk7CisJZm9yIChpID0gMDsgaSA8IGN0eHQtPnNpemVBdHRySW5mb3M7IGkrKykgeworCSAgICBhdHRyID0gY3R4dC0+YXR0ckluZm9zW2ldOworCSAgICB4bWxGcmVlKGF0dHIpOworCX0KKwl4bWxGcmVlKGN0eHQtPmF0dHJJbmZvcyk7CisgICAgfQorICAgIGlmIChjdHh0LT5lbGVtSW5mb3MgIT0gTlVMTCkgeworCWludCBpOworCXhtbFNjaGVtYU5vZGVJbmZvUHRyIGVpOworCisJZm9yIChpID0gMDsgaSA8IGN0eHQtPnNpemVFbGVtSW5mb3M7IGkrKykgeworCSAgICBlaSA9IGN0eHQtPmVsZW1JbmZvc1tpXTsKKwkgICAgaWYgKGVpID09IE5VTEwpCisJCWJyZWFrOworCSAgICB4bWxTY2hlbWFDbGVhckVsZW1JbmZvKGN0eHQsIGVpKTsKKwkgICAgeG1sRnJlZShlaSk7CisJfQorCXhtbEZyZWUoY3R4dC0+ZWxlbUluZm9zKTsKKyAgICB9CisgICAgaWYgKGN0eHQtPm5vZGVRTmFtZXMgIT0gTlVMTCkKKwl4bWxTY2hlbWFJdGVtTGlzdEZyZWUoY3R4dC0+bm9kZVFOYW1lcyk7CisgICAgaWYgKGN0eHQtPmRpY3QgIT0gTlVMTCkKKwl4bWxEaWN0RnJlZShjdHh0LT5kaWN0KTsKKyAgICBpZiAoY3R4dC0+ZmlsZW5hbWUgIT0gTlVMTCkKKwl4bWxGcmVlKGN0eHQtPmZpbGVuYW1lKTsKKyAgICB4bWxGcmVlKGN0eHQpOworfQorCisvKioKKyAqIHhtbFNjaGVtYUlzVmFsaWQ6CisgKiBAY3R4dDogdGhlIHNjaGVtYSB2YWxpZGF0aW9uIGNvbnRleHQKKyAqCisgKiBDaGVjayBpZiBhbnkgZXJyb3Igd2FzIGRldGVjdGVkIGR1cmluZyB2YWxpZGF0aW9uLgorICoKKyAqIFJldHVybnMgMSBpZiB2YWxpZCBzbyBmYXIsIDAgaWYgZXJyb3JzIHdlcmUgZGV0ZWN0ZWQsIGFuZCAtMSBpbiBjYXNlCisgKiAgICAgICAgIG9mIGludGVybmFsIGVycm9yLgorICovCitpbnQKK3htbFNjaGVtYUlzVmFsaWQoeG1sU2NoZW1hVmFsaWRDdHh0UHRyIGN0eHQpCit7CisgICAgaWYgKGN0eHQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuKC0xKTsKKyAgICByZXR1cm4oY3R4dC0+ZXJyID09IDApOworfQorCisvKioKKyAqIHhtbFNjaGVtYVNldFZhbGlkRXJyb3JzOgorICogQGN0eHQ6ICBhIHNjaGVtYSB2YWxpZGF0aW9uIGNvbnRleHQKKyAqIEBlcnI6ICB0aGUgZXJyb3IgZnVuY3Rpb24KKyAqIEB3YXJuOiB0aGUgd2FybmluZyBmdW5jdGlvbgorICogQGN0eDogdGhlIGZ1bmN0aW9ucyBjb250ZXh0CisgKgorICogU2V0IHRoZSBlcnJvciBhbmQgd2FybmluZyBjYWxsYmFjayBpbmZvcm1hdGlvbnMKKyAqLwordm9pZAoreG1sU2NoZW1hU2V0VmFsaWRFcnJvcnMoeG1sU2NoZW1hVmFsaWRDdHh0UHRyIGN0eHQsCisgICAgICAgICAgICAgICAgICAgICAgICB4bWxTY2hlbWFWYWxpZGl0eUVycm9yRnVuYyBlcnIsCisgICAgICAgICAgICAgICAgICAgICAgICB4bWxTY2hlbWFWYWxpZGl0eVdhcm5pbmdGdW5jIHdhcm4sIHZvaWQgKmN0eCkKK3sKKyAgICBpZiAoY3R4dCA9PSBOVUxMKQorICAgICAgICByZXR1cm47CisgICAgY3R4dC0+ZXJyb3IgPSBlcnI7CisgICAgY3R4dC0+d2FybmluZyA9IHdhcm47CisgICAgY3R4dC0+ZXJyQ3R4dCA9IGN0eDsKKyAgICBpZiAoY3R4dC0+cGN0eHQgIT0gTlVMTCkKKwl4bWxTY2hlbWFTZXRQYXJzZXJFcnJvcnMoY3R4dC0+cGN0eHQsIGVyciwgd2FybiwgY3R4KTsKK30KKworLyoqCisgKiB4bWxTY2hlbWFTZXRWYWxpZFN0cnVjdHVyZWRFcnJvcnM6CisgKiBAY3R4dDogIGEgc2NoZW1hIHZhbGlkYXRpb24gY29udGV4dAorICogQHNlcnJvcjogIHRoZSBzdHJ1Y3R1cmVkIGVycm9yIGZ1bmN0aW9uCisgKiBAY3R4OiB0aGUgZnVuY3Rpb25zIGNvbnRleHQKKyAqCisgKiBTZXQgdGhlIHN0cnVjdHVyZWQgZXJyb3IgY2FsbGJhY2sKKyAqLwordm9pZAoreG1sU2NoZW1hU2V0VmFsaWRTdHJ1Y3R1cmVkRXJyb3JzKHhtbFNjaGVtYVZhbGlkQ3R4dFB0ciBjdHh0LAorCQkJCSAgeG1sU3RydWN0dXJlZEVycm9yRnVuYyBzZXJyb3IsIHZvaWQgKmN0eCkKK3sKKyAgICBpZiAoY3R4dCA9PSBOVUxMKQorICAgICAgICByZXR1cm47CisJY3R4dC0+c2Vycm9yID0gc2Vycm9yOworICAgIGN0eHQtPmVycm9yID0gTlVMTDsKKyAgICBjdHh0LT53YXJuaW5nID0gTlVMTDsKKyAgICBjdHh0LT5lcnJDdHh0ID0gY3R4OworICAgIGlmIChjdHh0LT5wY3R4dCAhPSBOVUxMKQorCXhtbFNjaGVtYVNldFBhcnNlclN0cnVjdHVyZWRFcnJvcnMoY3R4dC0+cGN0eHQsIHNlcnJvciwgY3R4KTsKK30KKworLyoqCisgKiB4bWxTY2hlbWFHZXRWYWxpZEVycm9yczoKKyAqIEBjdHh0OiBhIFhNTC1TY2hlbWEgdmFsaWRhdGlvbiBjb250ZXh0CisgKiBAZXJyOiB0aGUgZXJyb3IgZnVuY3Rpb24gcmVzdWx0CisgKiBAd2FybjogdGhlIHdhcm5pbmcgZnVuY3Rpb24gcmVzdWx0CisgKiBAY3R4OiB0aGUgZnVuY3Rpb25zIGNvbnRleHQgcmVzdWx0CisgKgorICogR2V0IHRoZSBlcnJvciBhbmQgd2FybmluZyBjYWxsYmFjayBpbmZvcm1hdGlvbnMKKyAqCisgKiBSZXR1cm5zIC0xIGluIGNhc2Ugb2YgZXJyb3IgYW5kIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sU2NoZW1hR2V0VmFsaWRFcnJvcnMoeG1sU2NoZW1hVmFsaWRDdHh0UHRyIGN0eHQsCisJCQl4bWxTY2hlbWFWYWxpZGl0eUVycm9yRnVuYyAqIGVyciwKKwkJCXhtbFNjaGVtYVZhbGlkaXR5V2FybmluZ0Z1bmMgKiB3YXJuLCB2b2lkICoqY3R4KQoreworCWlmIChjdHh0ID09IE5VTEwpCisJCXJldHVybiAoLTEpOworCWlmIChlcnIgIT0gTlVMTCkKKwkJKmVyciA9IGN0eHQtPmVycm9yOworCWlmICh3YXJuICE9IE5VTEwpCisJCSp3YXJuID0gY3R4dC0+d2FybmluZzsKKwlpZiAoY3R4ICE9IE5VTEwpCisJCSpjdHggPSBjdHh0LT5lcnJDdHh0OworCXJldHVybiAoMCk7Cit9CisKKworLyoqCisgKiB4bWxTY2hlbWFTZXRWYWxpZE9wdGlvbnM6CisgKiBAY3R4dDoJYSBzY2hlbWEgdmFsaWRhdGlvbiBjb250ZXh0CisgKiBAb3B0aW9uczogYSBjb21iaW5hdGlvbiBvZiB4bWxTY2hlbWFWYWxpZE9wdGlvbgorICoKKyAqIFNldHMgdGhlIG9wdGlvbnMgdG8gYmUgdXNlZCBkdXJpbmcgdGhlIHZhbGlkYXRpb24uCisgKgorICogUmV0dXJucyAwIGluIGNhc2Ugb2Ygc3VjY2VzcywgLTEgaW4gY2FzZSBvZiBhbgorICogQVBJIGVycm9yLgorICovCitpbnQKK3htbFNjaGVtYVNldFZhbGlkT3B0aW9ucyh4bWxTY2hlbWFWYWxpZEN0eHRQdHIgY3R4dCwKKwkJCSBpbnQgb3B0aW9ucykKKworeworICAgIGludCBpOworCisgICAgaWYgKGN0eHQgPT0gTlVMTCkKKwlyZXR1cm4gKC0xKTsKKyAgICAvKgorICAgICogV0FSTklORzogQ2hhbmdlIHRoZSBzdGFydCB2YWx1ZSBpZiBhZGRpbmcgdG8gdGhlCisgICAgKiB4bWxTY2hlbWFWYWxpZE9wdGlvbi4KKyAgICAqIFRPRE86IElzIHRoZXJlIGFuIG90aGVyLCBtb3JlIGVhc3kgdG8gbWFpbnRhaW4sCisgICAgKiB3YXk/CisgICAgKi8KKyAgICBmb3IgKGkgPSAxOyBpIDwgKGludCkgc2l6ZW9mKGludCkgKiA4OyBpKyspIHsKKyAgICAgICAgaWYgKG9wdGlvbnMgJiAxPDxpKQorCSAgICByZXR1cm4gKC0xKTsKKyAgICB9CisgICAgY3R4dC0+b3B0aW9ucyA9IG9wdGlvbnM7CisgICAgcmV0dXJuICgwKTsKK30KKworLyoqCisgKiB4bWxTY2hlbWFWYWxpZEN0eHRHZXRPcHRpb25zOgorICogQGN0eHQ6IGEgc2NoZW1hIHZhbGlkYXRpb24gY29udGV4dAorICoKKyAqIEdldCB0aGUgdmFsaWRhdGlvbiBjb250ZXh0IG9wdGlvbnMuCisgKgorICogUmV0dXJucyB0aGUgb3B0aW9uIGNvbWJpbmF0aW9uIG9yIC0xIG9uIGVycm9yLgorICovCitpbnQKK3htbFNjaGVtYVZhbGlkQ3R4dEdldE9wdGlvbnMoeG1sU2NoZW1hVmFsaWRDdHh0UHRyIGN0eHQpCisKK3sKKyAgICBpZiAoY3R4dCA9PSBOVUxMKQorCXJldHVybiAoLTEpOworICAgIGVsc2UKKwlyZXR1cm4gKGN0eHQtPm9wdGlvbnMpOworfQorCitzdGF0aWMgaW50Cit4bWxTY2hlbWFWRG9jV2Fsayh4bWxTY2hlbWFWYWxpZEN0eHRQdHIgdmN0eHQpCit7CisgICAgeG1sQXR0clB0ciBhdHRyOworICAgIGludCByZXQgPSAwOworICAgIHhtbFNjaGVtYU5vZGVJbmZvUHRyIGllbGVtID0gTlVMTDsKKyAgICB4bWxOb2RlUHRyIG5vZGUsIHZhbFJvb3Q7CisgICAgY29uc3QgeG1sQ2hhciAqbnNOYW1lOworCisgICAgLyogRE9DIFZBTCBUT0RPOiBNb3ZlIHRoaXMgdG8gdGhlIHN0YXJ0IGZ1bmN0aW9uLiAqLworICAgIGlmICh2Y3R4dC0+dmFsaWRhdGlvblJvb3QgIT0gTlVMTCkKKyAgICAgICAgdmFsUm9vdCA9IHZjdHh0LT52YWxpZGF0aW9uUm9vdDsKKyAgICBlbHNlCisJdmFsUm9vdCA9IHhtbERvY0dldFJvb3RFbGVtZW50KHZjdHh0LT5kb2MpOworICAgIGlmICh2YWxSb290ID09IE5VTEwpIHsKKwkvKiBWQUwgVE9ETzogRXJyb3IgY29kZT8gKi8KKwlWRVJST1IoMSwgTlVMTCwgIlRoZSBkb2N1bWVudCBoYXMgbm8gZG9jdW1lbnQgZWxlbWVudCIpOworCXJldHVybiAoMSk7CisgICAgfQorICAgIHZjdHh0LT5kZXB0aCA9IC0xOworICAgIHZjdHh0LT52YWxpZGF0aW9uUm9vdCA9IHZhbFJvb3Q7CisgICAgbm9kZSA9IHZhbFJvb3Q7CisgICAgd2hpbGUgKG5vZGUgIT0gTlVMTCkgeworCWlmICgodmN0eHQtPnNraXBEZXB0aCAhPSAtMSkgJiYgKHZjdHh0LT5kZXB0aCA+PSB2Y3R4dC0+c2tpcERlcHRoKSkKKwkgICAgZ290byBuZXh0X3NpYmxpbmc7CisJaWYgKG5vZGUtPnR5cGUgPT0gWE1MX0VMRU1FTlRfTk9ERSkgeworCisJICAgIC8qCisJICAgICogSW5pdCB0aGUgbm9kZS1pbmZvLgorCSAgICAqLworCSAgICB2Y3R4dC0+ZGVwdGgrKzsKKwkgICAgaWYgKHhtbFNjaGVtYVZhbGlkYXRvclB1c2hFbGVtKHZjdHh0KSA9PSAtMSkKKwkJZ290byBpbnRlcm5hbF9lcnJvcjsKKwkgICAgaWVsZW0gPSB2Y3R4dC0+aW5vZGU7CisJICAgIGllbGVtLT5ub2RlID0gbm9kZTsKKwkgICAgaWVsZW0tPm5vZGVMaW5lID0gbm9kZS0+bGluZTsKKwkgICAgaWVsZW0tPmxvY2FsTmFtZSA9IG5vZGUtPm5hbWU7CisJICAgIGlmIChub2RlLT5ucyAhPSBOVUxMKQorCQlpZWxlbS0+bnNOYW1lID0gbm9kZS0+bnMtPmhyZWY7CisJICAgIGllbGVtLT5mbGFncyB8PSBYTUxfU0NIRU1BX0VMRU1fSU5GT19FTVBUWTsKKwkgICAgLyoKKwkgICAgKiBSZWdpc3RlciBhdHRyaWJ1dGVzLgorCSAgICAqIERPQyBWQUwgVE9ETzogV2UgZG8gbm90IHJlZ2lzdGVyIG5hbWVzcGFjZSBkZWNsYXJhdGlvbgorCSAgICAqIGF0dHJpYnV0ZXMgeWV0LgorCSAgICAqLworCSAgICB2Y3R4dC0+bmJBdHRySW5mb3MgPSAwOworCSAgICBpZiAobm9kZS0+cHJvcGVydGllcyAhPSBOVUxMKSB7CisJCWF0dHIgPSBub2RlLT5wcm9wZXJ0aWVzOworCQlkbyB7CisJCSAgICBpZiAoYXR0ci0+bnMgIT0gTlVMTCkKKwkJCW5zTmFtZSA9IGF0dHItPm5zLT5ocmVmOworCQkgICAgZWxzZQorCQkJbnNOYW1lID0gTlVMTDsKKwkJICAgIHJldCA9IHhtbFNjaGVtYVZhbGlkYXRvclB1c2hBdHRyaWJ1dGUodmN0eHQsCisJCQkoeG1sTm9kZVB0cikgYXR0ciwKKwkJCS8qCisJCQkqIE5vdGUgdGhhdCB3ZSBnaXZlIGl0IHRoZSBsaW5lIG51bWJlciBvZiB0aGUKKwkJCSogcGFyZW50IGVsZW1lbnQuCisJCQkqLworCQkJaWVsZW0tPm5vZGVMaW5lLAorCQkJYXR0ci0+bmFtZSwgbnNOYW1lLCAwLAorCQkJeG1sTm9kZUxpc3RHZXRTdHJpbmcoYXR0ci0+ZG9jLCBhdHRyLT5jaGlsZHJlbiwgMSksIDEpOworCQkgICAgaWYgKHJldCA9PSAtMSkgeworCQkJVkVSUk9SX0lOVCgieG1sU2NoZW1hRG9jV2FsayIsCisJCQkgICAgImNhbGxpbmcgeG1sU2NoZW1hVmFsaWRhdG9yUHVzaEF0dHJpYnV0ZSgpIik7CisJCQlnb3RvIGludGVybmFsX2Vycm9yOworCQkgICAgfQorCQkgICAgYXR0ciA9IGF0dHItPm5leHQ7CisJCX0gd2hpbGUgKGF0dHIpOworCSAgICB9CisJICAgIC8qCisJICAgICogVmFsaWRhdGUgdGhlIGVsZW1lbnQuCisJICAgICovCisJICAgIHJldCA9IHhtbFNjaGVtYVZhbGlkYXRlRWxlbSh2Y3R4dCk7CisJICAgIGlmIChyZXQgIT0gMCkgeworCQlpZiAocmV0ID09IC0xKSB7CisJCSAgICBWRVJST1JfSU5UKCJ4bWxTY2hlbWFEb2NXYWxrIiwKKwkJCSJjYWxsaW5nIHhtbFNjaGVtYVZhbGlkYXRlRWxlbSgpIik7CisJCSAgICBnb3RvIGludGVybmFsX2Vycm9yOworCQl9CisJCS8qCisJCSogRG9uJ3Qgc3RvcCB2YWxpZGF0aW9uOyBqdXN0IHNraXAgdGhlIGNvbnRlbnQKKwkJKiBvZiB0aGlzIGVsZW1lbnQuCisJCSovCisJCWdvdG8gbGVhdmVfbm9kZTsKKwkgICAgfQorCSAgICBpZiAoKHZjdHh0LT5za2lwRGVwdGggIT0gLTEpICYmCisJCSh2Y3R4dC0+ZGVwdGggPj0gdmN0eHQtPnNraXBEZXB0aCkpCisJCWdvdG8gbGVhdmVfbm9kZTsKKwl9IGVsc2UgaWYgKChub2RlLT50eXBlID09IFhNTF9URVhUX05PREUpIHx8CisJICAgIChub2RlLT50eXBlID09IFhNTF9DREFUQV9TRUNUSU9OX05PREUpKSB7CisJICAgIC8qCisJICAgICogUHJvY2VzcyBjaGFyYWN0ZXIgY29udGVudC4KKwkgICAgKi8KKwkgICAgaWYgKChpZWxlbSAhPSBOVUxMKSAmJiAoaWVsZW0tPmZsYWdzICYgWE1MX1NDSEVNQV9FTEVNX0lORk9fRU1QVFkpKQorCQlpZWxlbS0+ZmxhZ3MgXj0gWE1MX1NDSEVNQV9FTEVNX0lORk9fRU1QVFk7CisJICAgIHJldCA9IHhtbFNjaGVtYVZQdXNoVGV4dCh2Y3R4dCwgbm9kZS0+dHlwZSwgbm9kZS0+Y29udGVudCwKKwkJLTEsIFhNTF9TQ0hFTUFfUFVTSF9URVhUX1BFUlNJU1QsIE5VTEwpOworCSAgICBpZiAocmV0IDwgMCkgeworCQlWRVJST1JfSU5UKCJ4bWxTY2hlbWFWRG9jV2FsayIsCisJCSAgICAiY2FsbGluZyB4bWxTY2hlbWFWUHVzaFRleHQoKSIpOworCQlnb3RvIGludGVybmFsX2Vycm9yOworCSAgICB9CisJICAgIC8qCisJICAgICogRE9DIFZBTCBUT0RPOiBTaG91bGQgd2Ugc2tpcCBmdXJ0aGVyIHZhbGlkYXRpb24gb2YgdGhlCisJICAgICogZWxlbWVudCBjb250ZW50IGhlcmU/CisJICAgICovCisJfSBlbHNlIGlmICgobm9kZS0+dHlwZSA9PSBYTUxfRU5USVRZX05PREUpIHx8CisJICAgIChub2RlLT50eXBlID09IFhNTF9FTlRJVFlfUkVGX05PREUpKSB7CisJICAgIC8qCisJICAgICogRE9DIFZBTCBUT0RPOiBXaGF0IHRvIGRvIHdpdGggZW50aXRpZXM/CisJICAgICovCisJICAgIFZFUlJPUl9JTlQoInhtbFNjaGVtYVZEb2NXYWxrIiwKKwkJInRoZXJlIGlzIGF0IGxlYXN0IG9uZSBlbnRpdHkgcmVmZXJlbmNlIGluIHRoZSBub2RlLXRyZWUgIgorCQkiY3VycmVudGx5IGJlaW5nIHZhbGlkYXRlZC4gUHJvY2Vzc2luZyBvZiBlbnRpdGllcyB3aXRoICIKKwkJInRoaXMgWE1MIFNjaGVtYSBwcm9jZXNzb3IgaXMgbm90IHN1cHBvcnRlZCAoeWV0KS4gUGxlYXNlICIKKwkJInN1YnN0aXR1dGUgZW50aXRpZXMgYmVmb3JlIHZhbGlkYXRpb24uIik7CisJICAgIGdvdG8gaW50ZXJuYWxfZXJyb3I7CisJfSBlbHNlIHsKKwkgICAgZ290byBsZWF2ZV9ub2RlOworCSAgICAvKgorCSAgICAqIERPQyBWQUwgVE9ETzogWEluY2x1ZGUgbm9kZXMsIGV0Yy4KKwkgICAgKi8KKwl9CisJLyoKKwkqIFdhbGsgdGhlIGRvYy4KKwkqLworCWlmIChub2RlLT5jaGlsZHJlbiAhPSBOVUxMKSB7CisJICAgIG5vZGUgPSBub2RlLT5jaGlsZHJlbjsKKwkgICAgY29udGludWU7CisJfQorbGVhdmVfbm9kZToKKwlpZiAobm9kZS0+dHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFKSB7CisJICAgIC8qCisJICAgICogTGVhdmluZyB0aGUgc2NvcGUgb2YgYW4gZWxlbWVudC4KKwkgICAgKi8KKwkgICAgaWYgKG5vZGUgIT0gdmN0eHQtPmlub2RlLT5ub2RlKSB7CisJCVZFUlJPUl9JTlQoInhtbFNjaGVtYVZEb2NXYWxrIiwKKwkJICAgICJlbGVtZW50IHBvc2l0aW9uIG1pc21hdGNoIik7CisJCWdvdG8gaW50ZXJuYWxfZXJyb3I7CisJICAgIH0KKwkgICAgcmV0ID0geG1sU2NoZW1hVmFsaWRhdG9yUG9wRWxlbSh2Y3R4dCk7CisJICAgIGlmIChyZXQgIT0gMCkgeworCQlpZiAocmV0IDwgMCkgeworCQkgICAgVkVSUk9SX0lOVCgieG1sU2NoZW1hVkRvY1dhbGsiLAorCQkJImNhbGxpbmcgeG1sU2NoZW1hVmFsaWRhdG9yUG9wRWxlbSgpIik7CisJCSAgICBnb3RvIGludGVybmFsX2Vycm9yOworCQl9CisJICAgIH0KKwkgICAgaWYgKG5vZGUgPT0gdmFsUm9vdCkKKwkJZ290byBleGl0OworCX0KK25leHRfc2libGluZzoKKwlpZiAobm9kZS0+bmV4dCAhPSBOVUxMKQorCSAgICBub2RlID0gbm9kZS0+bmV4dDsKKwllbHNlIHsKKwkgICAgbm9kZSA9IG5vZGUtPnBhcmVudDsKKwkgICAgZ290byBsZWF2ZV9ub2RlOworCX0KKyAgICB9CisKK2V4aXQ6CisgICAgcmV0dXJuIChyZXQpOworaW50ZXJuYWxfZXJyb3I6CisgICAgcmV0dXJuICgtMSk7Cit9CisKK3N0YXRpYyBpbnQKK3htbFNjaGVtYVByZVJ1bih4bWxTY2hlbWFWYWxpZEN0eHRQdHIgdmN0eHQpIHsKKyAgICAvKgorICAgICogU29tZSBpbml0aWFsaXphdGlvbi4KKyAgICAqLworICAgIHZjdHh0LT5lcnIgPSAwOworICAgIHZjdHh0LT5uYmVycm9ycyA9IDA7CisgICAgdmN0eHQtPmRlcHRoID0gLTE7CisgICAgdmN0eHQtPnNraXBEZXB0aCA9IC0xOworICAgIHZjdHh0LT54c2lBc3NlbWJsZSA9IDA7CisgICAgdmN0eHQtPmhhc0tleXJlZnMgPSAwOworI2lmZGVmIEVOQUJMRV9JRENfTk9ERV9UQUJMRVNfVEVTVAorICAgIHZjdHh0LT5jcmVhdGVJRENOb2RlVGFibGVzID0gMTsKKyNlbHNlCisgICAgdmN0eHQtPmNyZWF0ZUlEQ05vZGVUYWJsZXMgPSAwOworI2VuZGlmCisgICAgLyoKKyAgICAqIENyZWF0ZSBhIHNjaGVtYSArIHBhcnNlciBpZiBuZWNlc3NhcnkuCisgICAgKi8KKyAgICBpZiAodmN0eHQtPnNjaGVtYSA9PSBOVUxMKSB7CisJeG1sU2NoZW1hUGFyc2VyQ3R4dFB0ciBwY3R4dDsKKworCXZjdHh0LT54c2lBc3NlbWJsZSA9IDE7CisJLyoKKwkqIElmIG5vdCBzY2hlbWEgd2FzIGdpdmVuIHRoZW4gd2Ugd2lsbCBjcmVhdGUgYSBzY2hlbWEKKwkqIGR5bmFtaWNhbGx5IHVzaW5nIFhTSSBzY2hlbWEgbG9jYXRpb25zLgorCSoKKwkqIENyZWF0ZSB0aGUgc2NoZW1hIHBhcnNlciBjb250ZXh0LgorCSovCisJaWYgKCh2Y3R4dC0+cGN0eHQgPT0gTlVMTCkgJiYKKwkgICAoeG1sU2NoZW1hQ3JlYXRlUEN0eHRPblZDdHh0KHZjdHh0KSA9PSAtMSkpCisJICAgcmV0dXJuICgtMSk7CisJcGN0eHQgPSB2Y3R4dC0+cGN0eHQ7CisJcGN0eHQtPnhzaUFzc2VtYmxlID0gMTsKKwkvKgorCSogQ3JlYXRlIHRoZSBzY2hlbWEuCisJKi8KKwl2Y3R4dC0+c2NoZW1hID0geG1sU2NoZW1hTmV3U2NoZW1hKHBjdHh0KTsKKwlpZiAodmN0eHQtPnNjaGVtYSA9PSBOVUxMKQorCSAgICByZXR1cm4gKC0xKTsKKwkvKgorCSogQ3JlYXRlIHRoZSBzY2hlbWEgY29uc3RydWN0aW9uIGNvbnRleHQuCisJKi8KKwlwY3R4dC0+Y29uc3RydWN0b3IgPSB4bWxTY2hlbWFDb25zdHJ1Y3Rpb25DdHh0Q3JlYXRlKHBjdHh0LT5kaWN0KTsKKwlpZiAocGN0eHQtPmNvbnN0cnVjdG9yID09IE5VTEwpCisJICAgIHJldHVybigtMSk7CisJcGN0eHQtPmNvbnN0cnVjdG9yLT5tYWluU2NoZW1hID0gdmN0eHQtPnNjaGVtYTsKKwkvKgorCSogVGFrZSBvd25lcnNoaXAgb2YgdGhlIGNvbnN0cnVjdG9yIHRvIGJlIGFibGUgdG8gZnJlZSBpdC4KKwkqLworCXBjdHh0LT5vd25zQ29uc3RydWN0b3IgPSAxOworICAgIH0KKyAgICAvKgorICAgICogQXVnbWVudCB0aGUgSURDIGRlZmluaXRpb25zIGZvciB0aGUgbWFpbiBzY2hlbWEgYW5kIGFsbCBpbXBvcnRlZCBvbmVzCisgICAgKiBOT1RFOiBtYWluIHNjaGVtYSBpZiB0aGUgZmlyc3QgaW4gdGhlIGltcG9ydGVkIGxpc3QKKyAgICAqLworICAgIHhtbEhhc2hTY2FuKHZjdHh0LT5zY2hlbWEtPnNjaGVtYXNJbXBvcnRzLCh4bWxIYXNoU2Nhbm5lcil4bWxTY2hlbWFBdWdtZW50SW1wb3J0ZWRJREMsIHZjdHh0KTsKKworICAgIHJldHVybigwKTsKK30KKworc3RhdGljIHZvaWQKK3htbFNjaGVtYVBvc3RSdW4oeG1sU2NoZW1hVmFsaWRDdHh0UHRyIHZjdHh0KSB7CisgICAgaWYgKHZjdHh0LT54c2lBc3NlbWJsZSkgeworCWlmICh2Y3R4dC0+c2NoZW1hICE9IE5VTEwpIHsKKwkgICAgeG1sU2NoZW1hRnJlZSh2Y3R4dC0+c2NoZW1hKTsKKwkgICAgdmN0eHQtPnNjaGVtYSA9IE5VTEw7CisJfQorICAgIH0KKyAgICB4bWxTY2hlbWFDbGVhclZhbGlkQ3R4dCh2Y3R4dCk7Cit9CisKK3N0YXRpYyBpbnQKK3htbFNjaGVtYVZTdGFydCh4bWxTY2hlbWFWYWxpZEN0eHRQdHIgdmN0eHQpCit7CisgICAgaW50IHJldCA9IDA7CisKKyAgICBpZiAoeG1sU2NoZW1hUHJlUnVuKHZjdHh0KSA8IDApCisgICAgICAgIHJldHVybigtMSk7CisKKyAgICBpZiAodmN0eHQtPmRvYyAhPSBOVUxMKSB7CisJLyoKKwkgKiBUcmVlIHZhbGlkYXRpb24uCisJICovCisJcmV0ID0geG1sU2NoZW1hVkRvY1dhbGsodmN0eHQpOworI2lmZGVmIExJQlhNTF9SRUFERVJfRU5BQkxFRAorICAgIH0gZWxzZSBpZiAodmN0eHQtPnJlYWRlciAhPSBOVUxMKSB7CisJLyoKKwkgKiBYTUwgUmVhZGVyIHZhbGlkYXRpb24uCisJICovCisjaWZkZWYgWE1MX1NDSEVNQV9SRUFERVJfRU5BQkxFRAorCXJldCA9IHhtbFNjaGVtYVZSZWFkZXJXYWxrKHZjdHh0KTsKKyNlbmRpZgorI2VuZGlmCisgICAgfSBlbHNlIGlmICgodmN0eHQtPnNheCAhPSBOVUxMKSAmJiAodmN0eHQtPnBhcnNlckN0eHQgIT0gTlVMTCkpIHsKKwkvKgorCSAqIFNBWCB2YWxpZGF0aW9uLgorCSAqLworCXJldCA9IHhtbFBhcnNlRG9jdW1lbnQodmN0eHQtPnBhcnNlckN0eHQpOworICAgIH0gZWxzZSB7CisJVkVSUk9SX0lOVCgieG1sU2NoZW1hVlN0YXJ0IiwKKwkgICAgIm5vIGluc3RhbmNlIHRvIHZhbGlkYXRlIik7CisJcmV0ID0gLTE7CisgICAgfQorCisgICAgeG1sU2NoZW1hUG9zdFJ1bih2Y3R4dCk7CisgICAgaWYgKHJldCA9PSAwKQorCXJldCA9IHZjdHh0LT5lcnI7CisgICAgcmV0dXJuIChyZXQpOworfQorCisvKioKKyAqIHhtbFNjaGVtYVZhbGlkYXRlT25lRWxlbWVudDoKKyAqIEBjdHh0OiAgYSBzY2hlbWEgdmFsaWRhdGlvbiBjb250ZXh0CisgKiBAZWxlbTogIGFuIGVsZW1lbnQgbm9kZQorICoKKyAqIFZhbGlkYXRlIGEgYnJhbmNoIG9mIGEgdHJlZSwgc3RhcnRpbmcgd2l0aCB0aGUgZ2l2ZW4gQGVsZW0uCisgKgorICogUmV0dXJucyAwIGlmIHRoZSBlbGVtZW50IGFuZCBpdHMgc3VidHJlZSBpcyB2YWxpZCwgYSBwb3NpdGl2ZSBlcnJvcgorICogY29kZSBudW1iZXIgb3RoZXJ3aXNlIGFuZCAtMSBpbiBjYXNlIG9mIGFuIGludGVybmFsIG9yIEFQSSBlcnJvci4KKyAqLworaW50Cit4bWxTY2hlbWFWYWxpZGF0ZU9uZUVsZW1lbnQoeG1sU2NoZW1hVmFsaWRDdHh0UHRyIGN0eHQsIHhtbE5vZGVQdHIgZWxlbSkKK3sKKyAgICBpZiAoKGN0eHQgPT0gTlVMTCkgfHwgKGVsZW0gPT0gTlVMTCkgfHwgKGVsZW0tPnR5cGUgIT0gWE1MX0VMRU1FTlRfTk9ERSkpCisJcmV0dXJuICgtMSk7CisKKyAgICBpZiAoY3R4dC0+c2NoZW1hID09IE5VTEwpCisJcmV0dXJuICgtMSk7CisKKyAgICBjdHh0LT5kb2MgPSBlbGVtLT5kb2M7CisgICAgY3R4dC0+bm9kZSA9IGVsZW07CisgICAgY3R4dC0+dmFsaWRhdGlvblJvb3QgPSBlbGVtOworICAgIHJldHVybih4bWxTY2hlbWFWU3RhcnQoY3R4dCkpOworfQorCisvKioKKyAqIHhtbFNjaGVtYVZhbGlkYXRlRG9jOgorICogQGN0eHQ6ICBhIHNjaGVtYSB2YWxpZGF0aW9uIGNvbnRleHQKKyAqIEBkb2M6ICBhIHBhcnNlZCBkb2N1bWVudCB0cmVlCisgKgorICogVmFsaWRhdGUgYSBkb2N1bWVudCB0cmVlIGluIG1lbW9yeS4KKyAqCisgKiBSZXR1cm5zIDAgaWYgdGhlIGRvY3VtZW50IGlzIHNjaGVtYXMgdmFsaWQsIGEgcG9zaXRpdmUgZXJyb3IgY29kZQorICogICAgIG51bWJlciBvdGhlcndpc2UgYW5kIC0xIGluIGNhc2Ugb2YgaW50ZXJuYWwgb3IgQVBJIGVycm9yLgorICovCitpbnQKK3htbFNjaGVtYVZhbGlkYXRlRG9jKHhtbFNjaGVtYVZhbGlkQ3R4dFB0ciBjdHh0LCB4bWxEb2NQdHIgZG9jKQoreworICAgIGlmICgoY3R4dCA9PSBOVUxMKSB8fCAoZG9jID09IE5VTEwpKQorICAgICAgICByZXR1cm4gKC0xKTsKKworICAgIGN0eHQtPmRvYyA9IGRvYzsKKyAgICBjdHh0LT5ub2RlID0geG1sRG9jR2V0Um9vdEVsZW1lbnQoZG9jKTsKKyAgICBpZiAoY3R4dC0+bm9kZSA9PSBOVUxMKSB7CisgICAgICAgIHhtbFNjaGVtYUN1c3RvbUVycihBQ1RYVF9DQVNUIGN0eHQsCisJICAgIFhNTF9TQ0hFTUFWX0RPQ1VNRU5UX0VMRU1FTlRfTUlTU0lORywKKwkgICAgKHhtbE5vZGVQdHIpIGRvYywgTlVMTCwKKwkgICAgIlRoZSBkb2N1bWVudCBoYXMgbm8gZG9jdW1lbnQgZWxlbWVudCIsIE5VTEwsIE5VTEwpOworICAgICAgICByZXR1cm4gKGN0eHQtPmVycik7CisgICAgfQorICAgIGN0eHQtPnZhbGlkYXRpb25Sb290ID0gY3R4dC0+bm9kZTsKKyAgICByZXR1cm4gKHhtbFNjaGVtYVZTdGFydChjdHh0KSk7Cit9CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJRnVuY3Rpb24gYW5kIGRhdGEgZm9yIFNBWCBzdHJlYW1pbmcgQVBJCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwordHlwZWRlZiBzdHJ1Y3QgX3htbFNjaGVtYVNwbGl0U0FYRGF0YSB4bWxTY2hlbWFTcGxpdFNBWERhdGE7Cit0eXBlZGVmIHhtbFNjaGVtYVNwbGl0U0FYRGF0YSAqeG1sU2NoZW1hU3BsaXRTQVhEYXRhUHRyOworCitzdHJ1Y3QgX3htbFNjaGVtYVNwbGl0U0FYRGF0YSB7CisgICAgeG1sU0FYSGFuZGxlclB0ciAgICAgIHVzZXJfc2F4OworICAgIHZvaWQgICAgICAgICAgICAgICAgICp1c2VyX2RhdGE7CisgICAgeG1sU2NoZW1hVmFsaWRDdHh0UHRyIGN0eHQ7CisgICAgeG1sU0FYSGFuZGxlclB0ciAgICAgIHNjaGVtYXNfc2F4OworfTsKKworI2RlZmluZSBYTUxfU0FYX1BMVUdfTUFHSUMgMHhkYzQzYmEyMQorCitzdHJ1Y3QgX3htbFNjaGVtYVNBWFBsdWcgeworICAgIHVuc2lnbmVkIGludCBtYWdpYzsKKworICAgIC8qIHRoZSBvcmlnaW5hbCBjYWxsYmFja3MgaW5mb3JtYXRpb25zICovCisgICAgeG1sU0FYSGFuZGxlclB0ciAgICAgKnVzZXJfc2F4X3B0cjsKKyAgICB4bWxTQVhIYW5kbGVyUHRyICAgICAgdXNlcl9zYXg7CisgICAgdm9pZCAgICAgICAgICAgICAgICAqKnVzZXJfZGF0YV9wdHI7CisgICAgdm9pZCAgICAgICAgICAgICAgICAgKnVzZXJfZGF0YTsKKworICAgIC8qIHRoZSBibG9jayBwbHVnZ2VkIGJhY2sgYW5kIHZhbGlkYXRpb24gaW5mb3JtYXRpb25zICovCisgICAgeG1sU0FYSGFuZGxlciAgICAgICAgIHNjaGVtYXNfc2F4OworICAgIHhtbFNjaGVtYVZhbGlkQ3R4dFB0ciBjdHh0OworfTsKKworLyogQWxsIHRob3NlIGZ1bmN0aW9ucyBqdXN0IGJvdW5jZXMgdG8gdGhlIHVzZXIgcHJvdmlkZWQgU0FYIGhhbmRsZXJzICovCitzdGF0aWMgdm9pZAoraW50ZXJuYWxTdWJzZXRTcGxpdCh2b2lkICpjdHgsIGNvbnN0IHhtbENoYXIgKm5hbWUsCisJICAgICAgIGNvbnN0IHhtbENoYXIgKkV4dGVybmFsSUQsIGNvbnN0IHhtbENoYXIgKlN5c3RlbUlEKQoreworICAgIHhtbFNjaGVtYVNBWFBsdWdQdHIgY3R4dCA9ICh4bWxTY2hlbWFTQVhQbHVnUHRyKSBjdHg7CisgICAgaWYgKChjdHh0ICE9IE5VTEwpICYmIChjdHh0LT51c2VyX3NheCAhPSBOVUxMKSAmJgorICAgICAgICAoY3R4dC0+dXNlcl9zYXgtPmludGVybmFsU3Vic2V0ICE9IE5VTEwpKQorCWN0eHQtPnVzZXJfc2F4LT5pbnRlcm5hbFN1YnNldChjdHh0LT51c2VyX2RhdGEsIG5hbWUsIEV4dGVybmFsSUQsCisJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN5c3RlbUlEKTsKK30KKworc3RhdGljIGludAoraXNTdGFuZGFsb25lU3BsaXQodm9pZCAqY3R4KQoreworICAgIHhtbFNjaGVtYVNBWFBsdWdQdHIgY3R4dCA9ICh4bWxTY2hlbWFTQVhQbHVnUHRyKSBjdHg7CisgICAgaWYgKChjdHh0ICE9IE5VTEwpICYmIChjdHh0LT51c2VyX3NheCAhPSBOVUxMKSAmJgorICAgICAgICAoY3R4dC0+dXNlcl9zYXgtPmlzU3RhbmRhbG9uZSAhPSBOVUxMKSkKKwlyZXR1cm4oY3R4dC0+dXNlcl9zYXgtPmlzU3RhbmRhbG9uZShjdHh0LT51c2VyX2RhdGEpKTsKKyAgICByZXR1cm4oMCk7Cit9CisKK3N0YXRpYyBpbnQKK2hhc0ludGVybmFsU3Vic2V0U3BsaXQodm9pZCAqY3R4KQoreworICAgIHhtbFNjaGVtYVNBWFBsdWdQdHIgY3R4dCA9ICh4bWxTY2hlbWFTQVhQbHVnUHRyKSBjdHg7CisgICAgaWYgKChjdHh0ICE9IE5VTEwpICYmIChjdHh0LT51c2VyX3NheCAhPSBOVUxMKSAmJgorICAgICAgICAoY3R4dC0+dXNlcl9zYXgtPmhhc0ludGVybmFsU3Vic2V0ICE9IE5VTEwpKQorCXJldHVybihjdHh0LT51c2VyX3NheC0+aGFzSW50ZXJuYWxTdWJzZXQoY3R4dC0+dXNlcl9kYXRhKSk7CisgICAgcmV0dXJuKDApOworfQorCitzdGF0aWMgaW50CitoYXNFeHRlcm5hbFN1YnNldFNwbGl0KHZvaWQgKmN0eCkKK3sKKyAgICB4bWxTY2hlbWFTQVhQbHVnUHRyIGN0eHQgPSAoeG1sU2NoZW1hU0FYUGx1Z1B0cikgY3R4OworICAgIGlmICgoY3R4dCAhPSBOVUxMKSAmJiAoY3R4dC0+dXNlcl9zYXggIT0gTlVMTCkgJiYKKyAgICAgICAgKGN0eHQtPnVzZXJfc2F4LT5oYXNFeHRlcm5hbFN1YnNldCAhPSBOVUxMKSkKKwlyZXR1cm4oY3R4dC0+dXNlcl9zYXgtPmhhc0V4dGVybmFsU3Vic2V0KGN0eHQtPnVzZXJfZGF0YSkpOworICAgIHJldHVybigwKTsKK30KKworc3RhdGljIHZvaWQKK2V4dGVybmFsU3Vic2V0U3BsaXQodm9pZCAqY3R4LCBjb25zdCB4bWxDaGFyICpuYW1lLAorCSAgICAgICBjb25zdCB4bWxDaGFyICpFeHRlcm5hbElELCBjb25zdCB4bWxDaGFyICpTeXN0ZW1JRCkKK3sKKyAgICB4bWxTY2hlbWFTQVhQbHVnUHRyIGN0eHQgPSAoeG1sU2NoZW1hU0FYUGx1Z1B0cikgY3R4OworICAgIGlmICgoY3R4dCAhPSBOVUxMKSAmJiAoY3R4dC0+dXNlcl9zYXggIT0gTlVMTCkgJiYKKyAgICAgICAgKGN0eHQtPnVzZXJfc2F4LT5leHRlcm5hbFN1YnNldCAhPSBOVUxMKSkKKwljdHh0LT51c2VyX3NheC0+ZXh0ZXJuYWxTdWJzZXQoY3R4dC0+dXNlcl9kYXRhLCBuYW1lLCBFeHRlcm5hbElELAorCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTeXN0ZW1JRCk7Cit9CisKK3N0YXRpYyB4bWxQYXJzZXJJbnB1dFB0cgorcmVzb2x2ZUVudGl0eVNwbGl0KHZvaWQgKmN0eCwgY29uc3QgeG1sQ2hhciAqcHVibGljSWQsIGNvbnN0IHhtbENoYXIgKnN5c3RlbUlkKQoreworICAgIHhtbFNjaGVtYVNBWFBsdWdQdHIgY3R4dCA9ICh4bWxTY2hlbWFTQVhQbHVnUHRyKSBjdHg7CisgICAgaWYgKChjdHh0ICE9IE5VTEwpICYmIChjdHh0LT51c2VyX3NheCAhPSBOVUxMKSAmJgorICAgICAgICAoY3R4dC0+dXNlcl9zYXgtPnJlc29sdmVFbnRpdHkgIT0gTlVMTCkpCisJcmV0dXJuKGN0eHQtPnVzZXJfc2F4LT5yZXNvbHZlRW50aXR5KGN0eHQtPnVzZXJfZGF0YSwgcHVibGljSWQsCisJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3RlbUlkKSk7CisgICAgcmV0dXJuKE5VTEwpOworfQorCitzdGF0aWMgeG1sRW50aXR5UHRyCitnZXRFbnRpdHlTcGxpdCh2b2lkICpjdHgsIGNvbnN0IHhtbENoYXIgKm5hbWUpCit7CisgICAgeG1sU2NoZW1hU0FYUGx1Z1B0ciBjdHh0ID0gKHhtbFNjaGVtYVNBWFBsdWdQdHIpIGN0eDsKKyAgICBpZiAoKGN0eHQgIT0gTlVMTCkgJiYgKGN0eHQtPnVzZXJfc2F4ICE9IE5VTEwpICYmCisgICAgICAgIChjdHh0LT51c2VyX3NheC0+Z2V0RW50aXR5ICE9IE5VTEwpKQorCXJldHVybihjdHh0LT51c2VyX3NheC0+Z2V0RW50aXR5KGN0eHQtPnVzZXJfZGF0YSwgbmFtZSkpOworICAgIHJldHVybihOVUxMKTsKK30KKworc3RhdGljIHhtbEVudGl0eVB0cgorZ2V0UGFyYW1ldGVyRW50aXR5U3BsaXQodm9pZCAqY3R4LCBjb25zdCB4bWxDaGFyICpuYW1lKQoreworICAgIHhtbFNjaGVtYVNBWFBsdWdQdHIgY3R4dCA9ICh4bWxTY2hlbWFTQVhQbHVnUHRyKSBjdHg7CisgICAgaWYgKChjdHh0ICE9IE5VTEwpICYmIChjdHh0LT51c2VyX3NheCAhPSBOVUxMKSAmJgorICAgICAgICAoY3R4dC0+dXNlcl9zYXgtPmdldFBhcmFtZXRlckVudGl0eSAhPSBOVUxMKSkKKwlyZXR1cm4oY3R4dC0+dXNlcl9zYXgtPmdldFBhcmFtZXRlckVudGl0eShjdHh0LT51c2VyX2RhdGEsIG5hbWUpKTsKKyAgICByZXR1cm4oTlVMTCk7Cit9CisKKworc3RhdGljIHZvaWQKK2VudGl0eURlY2xTcGxpdCh2b2lkICpjdHgsIGNvbnN0IHhtbENoYXIgKm5hbWUsIGludCB0eXBlLAorICAgICAgICAgIGNvbnN0IHhtbENoYXIgKnB1YmxpY0lkLCBjb25zdCB4bWxDaGFyICpzeXN0ZW1JZCwgeG1sQ2hhciAqY29udGVudCkKK3sKKyAgICB4bWxTY2hlbWFTQVhQbHVnUHRyIGN0eHQgPSAoeG1sU2NoZW1hU0FYUGx1Z1B0cikgY3R4OworICAgIGlmICgoY3R4dCAhPSBOVUxMKSAmJiAoY3R4dC0+dXNlcl9zYXggIT0gTlVMTCkgJiYKKyAgICAgICAgKGN0eHQtPnVzZXJfc2F4LT5lbnRpdHlEZWNsICE9IE5VTEwpKQorCWN0eHQtPnVzZXJfc2F4LT5lbnRpdHlEZWNsKGN0eHQtPnVzZXJfZGF0YSwgbmFtZSwgdHlwZSwgcHVibGljSWQsCisJICAgICAgICAgICAgICAgICAgICAgICAgICAgc3lzdGVtSWQsIGNvbnRlbnQpOworfQorCitzdGF0aWMgdm9pZAorYXR0cmlidXRlRGVjbFNwbGl0KHZvaWQgKmN0eCwgY29uc3QgeG1sQ2hhciAqIGVsZW0sCisgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIG5hbWUsIGludCB0eXBlLCBpbnQgZGVmLAorICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBkZWZhdWx0VmFsdWUsIHhtbEVudW1lcmF0aW9uUHRyIHRyZWUpCit7CisgICAgeG1sU2NoZW1hU0FYUGx1Z1B0ciBjdHh0ID0gKHhtbFNjaGVtYVNBWFBsdWdQdHIpIGN0eDsKKyAgICBpZiAoKGN0eHQgIT0gTlVMTCkgJiYgKGN0eHQtPnVzZXJfc2F4ICE9IE5VTEwpICYmCisgICAgICAgIChjdHh0LT51c2VyX3NheC0+YXR0cmlidXRlRGVjbCAhPSBOVUxMKSkgeworCWN0eHQtPnVzZXJfc2F4LT5hdHRyaWJ1dGVEZWNsKGN0eHQtPnVzZXJfZGF0YSwgZWxlbSwgbmFtZSwgdHlwZSwKKwkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWYsIGRlZmF1bHRWYWx1ZSwgdHJlZSk7CisgICAgfSBlbHNlIHsKKwl4bWxGcmVlRW51bWVyYXRpb24odHJlZSk7CisgICAgfQorfQorCitzdGF0aWMgdm9pZAorZWxlbWVudERlY2xTcGxpdCh2b2lkICpjdHgsIGNvbnN0IHhtbENoYXIgKm5hbWUsIGludCB0eXBlLAorCSAgICB4bWxFbGVtZW50Q29udGVudFB0ciBjb250ZW50KQoreworICAgIHhtbFNjaGVtYVNBWFBsdWdQdHIgY3R4dCA9ICh4bWxTY2hlbWFTQVhQbHVnUHRyKSBjdHg7CisgICAgaWYgKChjdHh0ICE9IE5VTEwpICYmIChjdHh0LT51c2VyX3NheCAhPSBOVUxMKSAmJgorICAgICAgICAoY3R4dC0+dXNlcl9zYXgtPmVsZW1lbnREZWNsICE9IE5VTEwpKQorCWN0eHQtPnVzZXJfc2F4LT5lbGVtZW50RGVjbChjdHh0LT51c2VyX2RhdGEsIG5hbWUsIHR5cGUsIGNvbnRlbnQpOworfQorCitzdGF0aWMgdm9pZAorbm90YXRpb25EZWNsU3BsaXQodm9pZCAqY3R4LCBjb25zdCB4bWxDaGFyICpuYW1lLAorCSAgICAgY29uc3QgeG1sQ2hhciAqcHVibGljSWQsIGNvbnN0IHhtbENoYXIgKnN5c3RlbUlkKQoreworICAgIHhtbFNjaGVtYVNBWFBsdWdQdHIgY3R4dCA9ICh4bWxTY2hlbWFTQVhQbHVnUHRyKSBjdHg7CisgICAgaWYgKChjdHh0ICE9IE5VTEwpICYmIChjdHh0LT51c2VyX3NheCAhPSBOVUxMKSAmJgorICAgICAgICAoY3R4dC0+dXNlcl9zYXgtPm5vdGF0aW9uRGVjbCAhPSBOVUxMKSkKKwljdHh0LT51c2VyX3NheC0+bm90YXRpb25EZWNsKGN0eHQtPnVzZXJfZGF0YSwgbmFtZSwgcHVibGljSWQsCisJICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzeXN0ZW1JZCk7Cit9CisKK3N0YXRpYyB2b2lkCit1bnBhcnNlZEVudGl0eURlY2xTcGxpdCh2b2lkICpjdHgsIGNvbnN0IHhtbENoYXIgKm5hbWUsCisJCSAgIGNvbnN0IHhtbENoYXIgKnB1YmxpY0lkLCBjb25zdCB4bWxDaGFyICpzeXN0ZW1JZCwKKwkJICAgY29uc3QgeG1sQ2hhciAqbm90YXRpb25OYW1lKQoreworICAgIHhtbFNjaGVtYVNBWFBsdWdQdHIgY3R4dCA9ICh4bWxTY2hlbWFTQVhQbHVnUHRyKSBjdHg7CisgICAgaWYgKChjdHh0ICE9IE5VTEwpICYmIChjdHh0LT51c2VyX3NheCAhPSBOVUxMKSAmJgorICAgICAgICAoY3R4dC0+dXNlcl9zYXgtPnVucGFyc2VkRW50aXR5RGVjbCAhPSBOVUxMKSkKKwljdHh0LT51c2VyX3NheC0+dW5wYXJzZWRFbnRpdHlEZWNsKGN0eHQtPnVzZXJfZGF0YSwgbmFtZSwgcHVibGljSWQsCisJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzeXN0ZW1JZCwgbm90YXRpb25OYW1lKTsKK30KKworc3RhdGljIHZvaWQKK3NldERvY3VtZW50TG9jYXRvclNwbGl0KHZvaWQgKmN0eCwgeG1sU0FYTG9jYXRvclB0ciBsb2MpCit7CisgICAgeG1sU2NoZW1hU0FYUGx1Z1B0ciBjdHh0ID0gKHhtbFNjaGVtYVNBWFBsdWdQdHIpIGN0eDsKKyAgICBpZiAoKGN0eHQgIT0gTlVMTCkgJiYgKGN0eHQtPnVzZXJfc2F4ICE9IE5VTEwpICYmCisgICAgICAgIChjdHh0LT51c2VyX3NheC0+c2V0RG9jdW1lbnRMb2NhdG9yICE9IE5VTEwpKQorCWN0eHQtPnVzZXJfc2F4LT5zZXREb2N1bWVudExvY2F0b3IoY3R4dC0+dXNlcl9kYXRhLCBsb2MpOworfQorCitzdGF0aWMgdm9pZAorc3RhcnREb2N1bWVudFNwbGl0KHZvaWQgKmN0eCkKK3sKKyAgICB4bWxTY2hlbWFTQVhQbHVnUHRyIGN0eHQgPSAoeG1sU2NoZW1hU0FYUGx1Z1B0cikgY3R4OworICAgIGlmICgoY3R4dCAhPSBOVUxMKSAmJiAoY3R4dC0+dXNlcl9zYXggIT0gTlVMTCkgJiYKKyAgICAgICAgKGN0eHQtPnVzZXJfc2F4LT5zdGFydERvY3VtZW50ICE9IE5VTEwpKQorCWN0eHQtPnVzZXJfc2F4LT5zdGFydERvY3VtZW50KGN0eHQtPnVzZXJfZGF0YSk7Cit9CisKK3N0YXRpYyB2b2lkCitlbmREb2N1bWVudFNwbGl0KHZvaWQgKmN0eCkKK3sKKyAgICB4bWxTY2hlbWFTQVhQbHVnUHRyIGN0eHQgPSAoeG1sU2NoZW1hU0FYUGx1Z1B0cikgY3R4OworICAgIGlmICgoY3R4dCAhPSBOVUxMKSAmJiAoY3R4dC0+dXNlcl9zYXggIT0gTlVMTCkgJiYKKyAgICAgICAgKGN0eHQtPnVzZXJfc2F4LT5lbmREb2N1bWVudCAhPSBOVUxMKSkKKwljdHh0LT51c2VyX3NheC0+ZW5kRG9jdW1lbnQoY3R4dC0+dXNlcl9kYXRhKTsKK30KKworc3RhdGljIHZvaWQKK3Byb2Nlc3NpbmdJbnN0cnVjdGlvblNwbGl0KHZvaWQgKmN0eCwgY29uc3QgeG1sQ2hhciAqdGFyZ2V0LAorICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKmRhdGEpCit7CisgICAgeG1sU2NoZW1hU0FYUGx1Z1B0ciBjdHh0ID0gKHhtbFNjaGVtYVNBWFBsdWdQdHIpIGN0eDsKKyAgICBpZiAoKGN0eHQgIT0gTlVMTCkgJiYgKGN0eHQtPnVzZXJfc2F4ICE9IE5VTEwpICYmCisgICAgICAgIChjdHh0LT51c2VyX3NheC0+cHJvY2Vzc2luZ0luc3RydWN0aW9uICE9IE5VTEwpKQorCWN0eHQtPnVzZXJfc2F4LT5wcm9jZXNzaW5nSW5zdHJ1Y3Rpb24oY3R4dC0+dXNlcl9kYXRhLCB0YXJnZXQsIGRhdGEpOworfQorCitzdGF0aWMgdm9pZAorY29tbWVudFNwbGl0KHZvaWQgKmN0eCwgY29uc3QgeG1sQ2hhciAqdmFsdWUpCit7CisgICAgeG1sU2NoZW1hU0FYUGx1Z1B0ciBjdHh0ID0gKHhtbFNjaGVtYVNBWFBsdWdQdHIpIGN0eDsKKyAgICBpZiAoKGN0eHQgIT0gTlVMTCkgJiYgKGN0eHQtPnVzZXJfc2F4ICE9IE5VTEwpICYmCisgICAgICAgIChjdHh0LT51c2VyX3NheC0+Y29tbWVudCAhPSBOVUxMKSkKKwljdHh0LT51c2VyX3NheC0+Y29tbWVudChjdHh0LT51c2VyX2RhdGEsIHZhbHVlKTsKK30KKworLyoKKyAqIFZhcmFyZ3MgZXJyb3IgY2FsbGJhY2tzIHRvIHRoZSB1c2VyIGFwcGxpY2F0aW9uLCBoYXJkZXIgLi4uCisgKi8KKworc3RhdGljIHZvaWQgWE1MQ0RFQ0wKK3dhcm5pbmdTcGxpdCh2b2lkICpjdHgsIGNvbnN0IGNoYXIgKm1zZyBBVFRSSUJVVEVfVU5VU0VELCAuLi4pIHsKKyAgICB4bWxTY2hlbWFTQVhQbHVnUHRyIGN0eHQgPSAoeG1sU2NoZW1hU0FYUGx1Z1B0cikgY3R4OworICAgIGlmICgoY3R4dCAhPSBOVUxMKSAmJiAoY3R4dC0+dXNlcl9zYXggIT0gTlVMTCkgJiYKKyAgICAgICAgKGN0eHQtPnVzZXJfc2F4LT53YXJuaW5nICE9IE5VTEwpKSB7CisJVE9ETworICAgIH0KK30KK3N0YXRpYyB2b2lkIFhNTENERUNMCitlcnJvclNwbGl0KHZvaWQgKmN0eCwgY29uc3QgY2hhciAqbXNnIEFUVFJJQlVURV9VTlVTRUQsIC4uLikgeworICAgIHhtbFNjaGVtYVNBWFBsdWdQdHIgY3R4dCA9ICh4bWxTY2hlbWFTQVhQbHVnUHRyKSBjdHg7CisgICAgaWYgKChjdHh0ICE9IE5VTEwpICYmIChjdHh0LT51c2VyX3NheCAhPSBOVUxMKSAmJgorICAgICAgICAoY3R4dC0+dXNlcl9zYXgtPmVycm9yICE9IE5VTEwpKSB7CisJVE9ETworICAgIH0KK30KK3N0YXRpYyB2b2lkIFhNTENERUNMCitmYXRhbEVycm9yU3BsaXQodm9pZCAqY3R4LCBjb25zdCBjaGFyICptc2cgQVRUUklCVVRFX1VOVVNFRCwgLi4uKSB7CisgICAgeG1sU2NoZW1hU0FYUGx1Z1B0ciBjdHh0ID0gKHhtbFNjaGVtYVNBWFBsdWdQdHIpIGN0eDsKKyAgICBpZiAoKGN0eHQgIT0gTlVMTCkgJiYgKGN0eHQtPnVzZXJfc2F4ICE9IE5VTEwpICYmCisgICAgICAgIChjdHh0LT51c2VyX3NheC0+ZmF0YWxFcnJvciAhPSBOVUxMKSkgeworCVRPRE8KKyAgICB9Cit9CisKKy8qCisgKiBUaG9zZSBhcmUgZnVuY3Rpb24gd2hlcmUgYm90aCB0aGUgdXNlciBoYW5kbGVyIGFuZCB0aGUgc2NoZW1hcyBoYW5kbGVyCisgKiBuZWVkIHRvIGJlIGNhbGxlZC4KKyAqLworc3RhdGljIHZvaWQKK2NoYXJhY3RlcnNTcGxpdCh2b2lkICpjdHgsIGNvbnN0IHhtbENoYXIgKmNoLCBpbnQgbGVuKQoreworICAgIHhtbFNjaGVtYVNBWFBsdWdQdHIgY3R4dCA9ICh4bWxTY2hlbWFTQVhQbHVnUHRyKSBjdHg7CisgICAgaWYgKGN0eHQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuOworICAgIGlmICgoY3R4dC0+dXNlcl9zYXggIT0gTlVMTCkgJiYgKGN0eHQtPnVzZXJfc2F4LT5jaGFyYWN0ZXJzICE9IE5VTEwpKQorCWN0eHQtPnVzZXJfc2F4LT5jaGFyYWN0ZXJzKGN0eHQtPnVzZXJfZGF0YSwgY2gsIGxlbik7CisgICAgaWYgKGN0eHQtPmN0eHQgIT0gTlVMTCkKKwl4bWxTY2hlbWFTQVhIYW5kbGVUZXh0KGN0eHQtPmN0eHQsIGNoLCBsZW4pOworfQorCitzdGF0aWMgdm9pZAoraWdub3JhYmxlV2hpdGVzcGFjZVNwbGl0KHZvaWQgKmN0eCwgY29uc3QgeG1sQ2hhciAqY2gsIGludCBsZW4pCit7CisgICAgeG1sU2NoZW1hU0FYUGx1Z1B0ciBjdHh0ID0gKHhtbFNjaGVtYVNBWFBsdWdQdHIpIGN0eDsKKyAgICBpZiAoY3R4dCA9PSBOVUxMKQorICAgICAgICByZXR1cm47CisgICAgaWYgKChjdHh0LT51c2VyX3NheCAhPSBOVUxMKSAmJgorICAgICAgICAoY3R4dC0+dXNlcl9zYXgtPmlnbm9yYWJsZVdoaXRlc3BhY2UgIT0gTlVMTCkpCisJY3R4dC0+dXNlcl9zYXgtPmlnbm9yYWJsZVdoaXRlc3BhY2UoY3R4dC0+dXNlcl9kYXRhLCBjaCwgbGVuKTsKKyAgICBpZiAoY3R4dC0+Y3R4dCAhPSBOVUxMKQorCXhtbFNjaGVtYVNBWEhhbmRsZVRleHQoY3R4dC0+Y3R4dCwgY2gsIGxlbik7Cit9CisKK3N0YXRpYyB2b2lkCitjZGF0YUJsb2NrU3BsaXQodm9pZCAqY3R4LCBjb25zdCB4bWxDaGFyICp2YWx1ZSwgaW50IGxlbikKK3sKKyAgICB4bWxTY2hlbWFTQVhQbHVnUHRyIGN0eHQgPSAoeG1sU2NoZW1hU0FYUGx1Z1B0cikgY3R4OworICAgIGlmIChjdHh0ID09IE5VTEwpCisgICAgICAgIHJldHVybjsKKyAgICBpZiAoKGN0eHQtPnVzZXJfc2F4ICE9IE5VTEwpICYmCisgICAgICAgIChjdHh0LT51c2VyX3NheC0+Y2RhdGFCbG9jayAhPSBOVUxMKSkKKwljdHh0LT51c2VyX3NheC0+Y2RhdGFCbG9jayhjdHh0LT51c2VyX2RhdGEsIHZhbHVlLCBsZW4pOworICAgIGlmIChjdHh0LT5jdHh0ICE9IE5VTEwpCisJeG1sU2NoZW1hU0FYSGFuZGxlQ0RhdGFTZWN0aW9uKGN0eHQtPmN0eHQsIHZhbHVlLCBsZW4pOworfQorCitzdGF0aWMgdm9pZAorcmVmZXJlbmNlU3BsaXQodm9pZCAqY3R4LCBjb25zdCB4bWxDaGFyICpuYW1lKQoreworICAgIHhtbFNjaGVtYVNBWFBsdWdQdHIgY3R4dCA9ICh4bWxTY2hlbWFTQVhQbHVnUHRyKSBjdHg7CisgICAgaWYgKGN0eHQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuOworICAgIGlmICgoY3R4dCAhPSBOVUxMKSAmJiAoY3R4dC0+dXNlcl9zYXggIT0gTlVMTCkgJiYKKyAgICAgICAgKGN0eHQtPnVzZXJfc2F4LT5yZWZlcmVuY2UgIT0gTlVMTCkpCisJY3R4dC0+dXNlcl9zYXgtPnJlZmVyZW5jZShjdHh0LT51c2VyX2RhdGEsIG5hbWUpOworICAgIGlmIChjdHh0LT5jdHh0ICE9IE5VTEwpCisgICAgICAgIHhtbFNjaGVtYVNBWEhhbmRsZVJlZmVyZW5jZShjdHh0LT51c2VyX2RhdGEsIG5hbWUpOworfQorCitzdGF0aWMgdm9pZAorc3RhcnRFbGVtZW50TnNTcGxpdCh2b2lkICpjdHgsIGNvbnN0IHhtbENoYXIgKiBsb2NhbG5hbWUsCisJCSAgICBjb25zdCB4bWxDaGFyICogcHJlZml4LCBjb25zdCB4bWxDaGFyICogVVJJLAorCQkgICAgaW50IG5iX25hbWVzcGFjZXMsIGNvbnN0IHhtbENoYXIgKiogbmFtZXNwYWNlcywKKwkJICAgIGludCBuYl9hdHRyaWJ1dGVzLCBpbnQgbmJfZGVmYXVsdGVkLAorCQkgICAgY29uc3QgeG1sQ2hhciAqKiBhdHRyaWJ1dGVzKSB7CisgICAgeG1sU2NoZW1hU0FYUGx1Z1B0ciBjdHh0ID0gKHhtbFNjaGVtYVNBWFBsdWdQdHIpIGN0eDsKKyAgICBpZiAoY3R4dCA9PSBOVUxMKQorICAgICAgICByZXR1cm47CisgICAgaWYgKChjdHh0LT51c2VyX3NheCAhPSBOVUxMKSAmJgorICAgICAgICAoY3R4dC0+dXNlcl9zYXgtPnN0YXJ0RWxlbWVudE5zICE9IE5VTEwpKQorCWN0eHQtPnVzZXJfc2F4LT5zdGFydEVsZW1lbnROcyhjdHh0LT51c2VyX2RhdGEsIGxvY2FsbmFtZSwgcHJlZml4LAorCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVUkksIG5iX25hbWVzcGFjZXMsIG5hbWVzcGFjZXMsCisJCQkJICAgICAgIG5iX2F0dHJpYnV0ZXMsIG5iX2RlZmF1bHRlZCwKKwkJCQkgICAgICAgYXR0cmlidXRlcyk7CisgICAgaWYgKGN0eHQtPmN0eHQgIT0gTlVMTCkKKwl4bWxTY2hlbWFTQVhIYW5kbGVTdGFydEVsZW1lbnROcyhjdHh0LT5jdHh0LCBsb2NhbG5hbWUsIHByZWZpeCwKKwkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVUkksIG5iX25hbWVzcGFjZXMsIG5hbWVzcGFjZXMsCisJCQkJCSBuYl9hdHRyaWJ1dGVzLCBuYl9kZWZhdWx0ZWQsCisJCQkJCSBhdHRyaWJ1dGVzKTsKK30KKworc3RhdGljIHZvaWQKK2VuZEVsZW1lbnROc1NwbGl0KHZvaWQgKmN0eCwgY29uc3QgeG1sQ2hhciAqIGxvY2FsbmFtZSwKKwkJICAgIGNvbnN0IHhtbENoYXIgKiBwcmVmaXgsIGNvbnN0IHhtbENoYXIgKiBVUkkpIHsKKyAgICB4bWxTY2hlbWFTQVhQbHVnUHRyIGN0eHQgPSAoeG1sU2NoZW1hU0FYUGx1Z1B0cikgY3R4OworICAgIGlmIChjdHh0ID09IE5VTEwpCisgICAgICAgIHJldHVybjsKKyAgICBpZiAoKGN0eHQtPnVzZXJfc2F4ICE9IE5VTEwpICYmCisgICAgICAgIChjdHh0LT51c2VyX3NheC0+ZW5kRWxlbWVudE5zICE9IE5VTEwpKQorCWN0eHQtPnVzZXJfc2F4LT5lbmRFbGVtZW50TnMoY3R4dC0+dXNlcl9kYXRhLCBsb2NhbG5hbWUsIHByZWZpeCwgVVJJKTsKKyAgICBpZiAoY3R4dC0+Y3R4dCAhPSBOVUxMKQorCXhtbFNjaGVtYVNBWEhhbmRsZUVuZEVsZW1lbnROcyhjdHh0LT5jdHh0LCBsb2NhbG5hbWUsIHByZWZpeCwgVVJJKTsKK30KKworLyoqCisgKiB4bWxTY2hlbWFTQVhQbHVnOgorICogQGN0eHQ6ICBhIHNjaGVtYSB2YWxpZGF0aW9uIGNvbnRleHQKKyAqIEBzYXg6ICBhIHBvaW50ZXIgdG8gdGhlIG9yaWdpbmFsIHhtbFNBWEhhbmRsZXJQdHIKKyAqIEB1c2VyX2RhdGE6ICBhIHBvaW50ZXIgdG8gdGhlIG9yaWdpbmFsIFNBWCB1c2VyIGRhdGEgcG9pbnRlcgorICoKKyAqIFBsdWcgYSBTQVggYmFzZWQgdmFsaWRhdGlvbiBsYXllciBpbiBhIFNBWCBwYXJzaW5nIGV2ZW50IGZsb3cuCisgKiBUaGUgb3JpZ2luYWwgQHNheHB0ciBhbmQgQGRhdGFwdHIgZGF0YSBhcmUgcmVwbGFjZWQgYnkgbmV3IHBvaW50ZXJzCisgKiBidXQgdGhlIGNhbGxzIHRvIHRoZSBvcmlnaW5hbCB3aWxsIGJlIG1haW50YWluZWQuCisgKgorICogUmV0dXJucyBhIHBvaW50ZXIgdG8gYSBkYXRhIHN0cnVjdHVyZSBuZWVkZWQgdG8gdW5wbHVnIHRoZSB2YWxpZGF0aW9uIGxheWVyCisgKiAgICAgICAgIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcnMuCisgKi8KK3htbFNjaGVtYVNBWFBsdWdQdHIKK3htbFNjaGVtYVNBWFBsdWcoeG1sU2NoZW1hVmFsaWRDdHh0UHRyIGN0eHQsCisJCSB4bWxTQVhIYW5kbGVyUHRyICpzYXgsIHZvaWQgKip1c2VyX2RhdGEpCit7CisgICAgeG1sU2NoZW1hU0FYUGx1Z1B0ciByZXQ7CisgICAgeG1sU0FYSGFuZGxlclB0ciBvbGRfc2F4OworCisgICAgaWYgKChjdHh0ID09IE5VTEwpIHx8IChzYXggPT0gTlVMTCkgfHwgKHVzZXJfZGF0YSA9PSBOVUxMKSkKKyAgICAgICAgcmV0dXJuKE5VTEwpOworCisgICAgLyoKKyAgICAgKiBXZSBvbmx5IGFsbG93IHRvIHBsdWcgaW50byBTQVgyIGV2ZW50IHN0cmVhbXMKKyAgICAgKi8KKyAgICBvbGRfc2F4ID0gKnNheDsKKyAgICBpZiAoKG9sZF9zYXggIT0gTlVMTCkgJiYgKG9sZF9zYXgtPmluaXRpYWxpemVkICE9IFhNTF9TQVgyX01BR0lDKSkKKyAgICAgICAgcmV0dXJuKE5VTEwpOworICAgIGlmICgob2xkX3NheCAhPSBOVUxMKSAmJgorICAgICAgICAob2xkX3NheC0+c3RhcnRFbGVtZW50TnMgPT0gTlVMTCkgJiYgKG9sZF9zYXgtPmVuZEVsZW1lbnROcyA9PSBOVUxMKSAmJgorICAgICAgICAoKG9sZF9zYXgtPnN0YXJ0RWxlbWVudCAhPSBOVUxMKSB8fCAob2xkX3NheC0+ZW5kRWxlbWVudCAhPSBOVUxMKSkpCisgICAgICAgIHJldHVybihOVUxMKTsKKworICAgIC8qCisgICAgICogZXZlcnl0aGluZyBzZWVtcyByaWdodCBhbGxvY2F0ZSB0aGUgbG9jYWwgZGF0YSBuZWVkZWQgZm9yIHRoYXQgbGF5ZXIKKyAgICAgKi8KKyAgICByZXQgPSAoeG1sU2NoZW1hU0FYUGx1Z1B0cikgeG1sTWFsbG9jKHNpemVvZih4bWxTY2hlbWFTQVhQbHVnU3RydWN0KSk7CisgICAgaWYgKHJldCA9PSBOVUxMKSB7CisgICAgICAgIHJldHVybihOVUxMKTsKKyAgICB9CisgICAgbWVtc2V0KHJldCwgMCwgc2l6ZW9mKHhtbFNjaGVtYVNBWFBsdWdTdHJ1Y3QpKTsKKyAgICByZXQtPm1hZ2ljID0gWE1MX1NBWF9QTFVHX01BR0lDOworICAgIHJldC0+c2NoZW1hc19zYXguaW5pdGlhbGl6ZWQgPSBYTUxfU0FYMl9NQUdJQzsKKyAgICByZXQtPmN0eHQgPSBjdHh0OworICAgIHJldC0+dXNlcl9zYXhfcHRyID0gc2F4OworICAgIHJldC0+dXNlcl9zYXggPSBvbGRfc2F4OworICAgIGlmIChvbGRfc2F4ID09IE5VTEwpIHsKKyAgICAgICAgLyoKKwkgKiBnbyBkaXJlY3QsIG5vIG5lZWQgZm9yIHRoZSBzcGxpdCBibG9jayBhbmQgZnVuY3Rpb25zLgorCSAqLworCXJldC0+c2NoZW1hc19zYXguc3RhcnRFbGVtZW50TnMgPSB4bWxTY2hlbWFTQVhIYW5kbGVTdGFydEVsZW1lbnROczsKKwlyZXQtPnNjaGVtYXNfc2F4LmVuZEVsZW1lbnROcyA9IHhtbFNjaGVtYVNBWEhhbmRsZUVuZEVsZW1lbnROczsKKwkvKgorCSAqIE5vdGUgdGhhdCB3ZSB1c2UgdGhlIHNhbWUgdGV4dC1mdW5jdGlvbiBmb3IgYm90aCwgdG8gcHJldmVudAorCSAqIHRoZSBwYXJzZXIgZnJvbSB0ZXN0aW5nIGZvciBpZ25vcmFibGUgd2hpdGVzcGFjZS4KKwkgKi8KKwlyZXQtPnNjaGVtYXNfc2F4Lmlnbm9yYWJsZVdoaXRlc3BhY2UgPSB4bWxTY2hlbWFTQVhIYW5kbGVUZXh0OworCXJldC0+c2NoZW1hc19zYXguY2hhcmFjdGVycyA9IHhtbFNjaGVtYVNBWEhhbmRsZVRleHQ7CisKKwlyZXQtPnNjaGVtYXNfc2F4LmNkYXRhQmxvY2sgPSB4bWxTY2hlbWFTQVhIYW5kbGVDRGF0YVNlY3Rpb247CisJcmV0LT5zY2hlbWFzX3NheC5yZWZlcmVuY2UgPSB4bWxTY2hlbWFTQVhIYW5kbGVSZWZlcmVuY2U7CisKKwlyZXQtPnVzZXJfZGF0YSA9IGN0eHQ7CisJKnVzZXJfZGF0YSA9IGN0eHQ7CisgICAgfSBlbHNlIHsKKyAgICAgICAvKgorICAgICAgICAqIGZvciBlYWNoIGNhbGxiYWNrIHVudXNlZCBieSBTY2hlbWFzIGluaXRpYWxpemUgaXQgdG8gdGhlIFNwbGl0CisJKiByb3V0aW5lIG9ubHkgaWYgbm9uIE5VTEwgaW4gdGhlIHVzZXIgYmxvY2ssIHRoaXMgY2FuIHNwZWVkIHVwCisJKiB0aGluZ3MgYXQgdGhlIFNBWCBsZXZlbC4KKwkqLworICAgICAgICBpZiAob2xkX3NheC0+aW50ZXJuYWxTdWJzZXQgIT0gTlVMTCkKKyAgICAgICAgICAgIHJldC0+c2NoZW1hc19zYXguaW50ZXJuYWxTdWJzZXQgPSBpbnRlcm5hbFN1YnNldFNwbGl0OworICAgICAgICBpZiAob2xkX3NheC0+aXNTdGFuZGFsb25lICE9IE5VTEwpCisgICAgICAgICAgICByZXQtPnNjaGVtYXNfc2F4LmlzU3RhbmRhbG9uZSA9IGlzU3RhbmRhbG9uZVNwbGl0OworICAgICAgICBpZiAob2xkX3NheC0+aGFzSW50ZXJuYWxTdWJzZXQgIT0gTlVMTCkKKyAgICAgICAgICAgIHJldC0+c2NoZW1hc19zYXguaGFzSW50ZXJuYWxTdWJzZXQgPSBoYXNJbnRlcm5hbFN1YnNldFNwbGl0OworICAgICAgICBpZiAob2xkX3NheC0+aGFzRXh0ZXJuYWxTdWJzZXQgIT0gTlVMTCkKKyAgICAgICAgICAgIHJldC0+c2NoZW1hc19zYXguaGFzRXh0ZXJuYWxTdWJzZXQgPSBoYXNFeHRlcm5hbFN1YnNldFNwbGl0OworICAgICAgICBpZiAob2xkX3NheC0+cmVzb2x2ZUVudGl0eSAhPSBOVUxMKQorICAgICAgICAgICAgcmV0LT5zY2hlbWFzX3NheC5yZXNvbHZlRW50aXR5ID0gcmVzb2x2ZUVudGl0eVNwbGl0OworICAgICAgICBpZiAob2xkX3NheC0+Z2V0RW50aXR5ICE9IE5VTEwpCisgICAgICAgICAgICByZXQtPnNjaGVtYXNfc2F4LmdldEVudGl0eSA9IGdldEVudGl0eVNwbGl0OworICAgICAgICBpZiAob2xkX3NheC0+ZW50aXR5RGVjbCAhPSBOVUxMKQorICAgICAgICAgICAgcmV0LT5zY2hlbWFzX3NheC5lbnRpdHlEZWNsID0gZW50aXR5RGVjbFNwbGl0OworICAgICAgICBpZiAob2xkX3NheC0+bm90YXRpb25EZWNsICE9IE5VTEwpCisgICAgICAgICAgICByZXQtPnNjaGVtYXNfc2F4Lm5vdGF0aW9uRGVjbCA9IG5vdGF0aW9uRGVjbFNwbGl0OworICAgICAgICBpZiAob2xkX3NheC0+YXR0cmlidXRlRGVjbCAhPSBOVUxMKQorICAgICAgICAgICAgcmV0LT5zY2hlbWFzX3NheC5hdHRyaWJ1dGVEZWNsID0gYXR0cmlidXRlRGVjbFNwbGl0OworICAgICAgICBpZiAob2xkX3NheC0+ZWxlbWVudERlY2wgIT0gTlVMTCkKKyAgICAgICAgICAgIHJldC0+c2NoZW1hc19zYXguZWxlbWVudERlY2wgPSBlbGVtZW50RGVjbFNwbGl0OworICAgICAgICBpZiAob2xkX3NheC0+dW5wYXJzZWRFbnRpdHlEZWNsICE9IE5VTEwpCisgICAgICAgICAgICByZXQtPnNjaGVtYXNfc2F4LnVucGFyc2VkRW50aXR5RGVjbCA9IHVucGFyc2VkRW50aXR5RGVjbFNwbGl0OworICAgICAgICBpZiAob2xkX3NheC0+c2V0RG9jdW1lbnRMb2NhdG9yICE9IE5VTEwpCisgICAgICAgICAgICByZXQtPnNjaGVtYXNfc2F4LnNldERvY3VtZW50TG9jYXRvciA9IHNldERvY3VtZW50TG9jYXRvclNwbGl0OworICAgICAgICBpZiAob2xkX3NheC0+c3RhcnREb2N1bWVudCAhPSBOVUxMKQorICAgICAgICAgICAgcmV0LT5zY2hlbWFzX3NheC5zdGFydERvY3VtZW50ID0gc3RhcnREb2N1bWVudFNwbGl0OworICAgICAgICBpZiAob2xkX3NheC0+ZW5kRG9jdW1lbnQgIT0gTlVMTCkKKyAgICAgICAgICAgIHJldC0+c2NoZW1hc19zYXguZW5kRG9jdW1lbnQgPSBlbmREb2N1bWVudFNwbGl0OworICAgICAgICBpZiAob2xkX3NheC0+cHJvY2Vzc2luZ0luc3RydWN0aW9uICE9IE5VTEwpCisgICAgICAgICAgICByZXQtPnNjaGVtYXNfc2F4LnByb2Nlc3NpbmdJbnN0cnVjdGlvbiA9IHByb2Nlc3NpbmdJbnN0cnVjdGlvblNwbGl0OworICAgICAgICBpZiAob2xkX3NheC0+Y29tbWVudCAhPSBOVUxMKQorICAgICAgICAgICAgcmV0LT5zY2hlbWFzX3NheC5jb21tZW50ID0gY29tbWVudFNwbGl0OworICAgICAgICBpZiAob2xkX3NheC0+d2FybmluZyAhPSBOVUxMKQorICAgICAgICAgICAgcmV0LT5zY2hlbWFzX3NheC53YXJuaW5nID0gd2FybmluZ1NwbGl0OworICAgICAgICBpZiAob2xkX3NheC0+ZXJyb3IgIT0gTlVMTCkKKyAgICAgICAgICAgIHJldC0+c2NoZW1hc19zYXguZXJyb3IgPSBlcnJvclNwbGl0OworICAgICAgICBpZiAob2xkX3NheC0+ZmF0YWxFcnJvciAhPSBOVUxMKQorICAgICAgICAgICAgcmV0LT5zY2hlbWFzX3NheC5mYXRhbEVycm9yID0gZmF0YWxFcnJvclNwbGl0OworICAgICAgICBpZiAob2xkX3NheC0+Z2V0UGFyYW1ldGVyRW50aXR5ICE9IE5VTEwpCisgICAgICAgICAgICByZXQtPnNjaGVtYXNfc2F4LmdldFBhcmFtZXRlckVudGl0eSA9IGdldFBhcmFtZXRlckVudGl0eVNwbGl0OworICAgICAgICBpZiAob2xkX3NheC0+ZXh0ZXJuYWxTdWJzZXQgIT0gTlVMTCkKKyAgICAgICAgICAgIHJldC0+c2NoZW1hc19zYXguZXh0ZXJuYWxTdWJzZXQgPSBleHRlcm5hbFN1YnNldFNwbGl0OworCisJLyoKKwkgKiB0aGUgNiBzY2hlbWFzIGNhbGxiYWNrIGhhdmUgdG8gZ28gdG8gdGhlIHNwbGl0dGVyIGZ1bmN0aW9ucworCSAqIE5vdGUgdGhhdCB3ZSB1c2UgdGhlIHNhbWUgdGV4dC1mdW5jdGlvbiBmb3IgaWdub3JhYmxlV2hpdGVzcGFjZQorCSAqIGlmIHBvc3NpYmxlLCB0byBwcmV2ZW50IHRoZSBwYXJzZXIgZnJvbSB0ZXN0aW5nIGZvciBpZ25vcmFibGUKKwkgKiB3aGl0ZXNwYWNlLgorCSAqLworICAgICAgICByZXQtPnNjaGVtYXNfc2F4LmNoYXJhY3RlcnMgPSBjaGFyYWN0ZXJzU3BsaXQ7CisJaWYgKChvbGRfc2F4LT5pZ25vcmFibGVXaGl0ZXNwYWNlICE9IE5VTEwpICYmCisJICAgIChvbGRfc2F4LT5pZ25vcmFibGVXaGl0ZXNwYWNlICE9IG9sZF9zYXgtPmNoYXJhY3RlcnMpKQorCSAgICByZXQtPnNjaGVtYXNfc2F4Lmlnbm9yYWJsZVdoaXRlc3BhY2UgPSBpZ25vcmFibGVXaGl0ZXNwYWNlU3BsaXQ7CisJZWxzZQorCSAgICByZXQtPnNjaGVtYXNfc2F4Lmlnbm9yYWJsZVdoaXRlc3BhY2UgPSBjaGFyYWN0ZXJzU3BsaXQ7CisgICAgICAgIHJldC0+c2NoZW1hc19zYXguY2RhdGFCbG9jayA9IGNkYXRhQmxvY2tTcGxpdDsKKyAgICAgICAgcmV0LT5zY2hlbWFzX3NheC5yZWZlcmVuY2UgPSByZWZlcmVuY2VTcGxpdDsKKyAgICAgICAgcmV0LT5zY2hlbWFzX3NheC5zdGFydEVsZW1lbnROcyA9IHN0YXJ0RWxlbWVudE5zU3BsaXQ7CisgICAgICAgIHJldC0+c2NoZW1hc19zYXguZW5kRWxlbWVudE5zID0gZW5kRWxlbWVudE5zU3BsaXQ7CisKKwlyZXQtPnVzZXJfZGF0YV9wdHIgPSB1c2VyX2RhdGE7CisJcmV0LT51c2VyX2RhdGEgPSAqdXNlcl9kYXRhOworCSp1c2VyX2RhdGEgPSByZXQ7CisgICAgfQorCisgICAgLyoKKyAgICAgKiBwbHVnIHRoZSBwb2ludGVycyBiYWNrLgorICAgICAqLworICAgICpzYXggPSAmKHJldC0+c2NoZW1hc19zYXgpOworICAgIGN0eHQtPnNheCA9ICpzYXg7CisgICAgY3R4dC0+ZmxhZ3MgfD0gWE1MX1NDSEVNQV9WQUxJRF9DVFhUX0ZMQUdfU1RSRUFNOworICAgIHhtbFNjaGVtYVByZVJ1bihjdHh0KTsKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxTY2hlbWFTQVhVbnBsdWc6CisgKiBAcGx1ZzogIGEgZGF0YSBzdHJ1Y3R1cmUgcmV0dXJuZWQgYnkgeG1sU2NoZW1hU0FYUGx1ZworICoKKyAqIFVucGx1ZyBhIFNBWCBiYXNlZCB2YWxpZGF0aW9uIGxheWVyIGluIGEgU0FYIHBhcnNpbmcgZXZlbnQgZmxvdy4KKyAqIFRoZSBvcmlnaW5hbCBwb2ludGVycyB1c2VkIGluIHRoZSBjYWxsIGFyZSByZXN0b3JlZC4KKyAqCisgKiBSZXR1cm5zIDAgaW4gY2FzZSBvZiBzdWNjZXNzIGFuZCAtMSBpbiBjYXNlIG9mIGZhaWx1cmUuCisgKi8KK2ludAoreG1sU2NoZW1hU0FYVW5wbHVnKHhtbFNjaGVtYVNBWFBsdWdQdHIgcGx1ZykKK3sKKyAgICB4bWxTQVhIYW5kbGVyUHRyICpzYXg7CisgICAgdm9pZCAqKnVzZXJfZGF0YTsKKworICAgIGlmICgocGx1ZyA9PSBOVUxMKSB8fCAocGx1Zy0+bWFnaWMgIT0gWE1MX1NBWF9QTFVHX01BR0lDKSkKKyAgICAgICAgcmV0dXJuKC0xKTsKKyAgICBwbHVnLT5tYWdpYyA9IDA7CisKKyAgICB4bWxTY2hlbWFQb3N0UnVuKHBsdWctPmN0eHQpOworICAgIC8qIHJlc3RvcmUgdGhlIGRhdGEgKi8KKyAgICBzYXggPSBwbHVnLT51c2VyX3NheF9wdHI7CisgICAgKnNheCA9IHBsdWctPnVzZXJfc2F4OworICAgIGlmIChwbHVnLT51c2VyX3NheCAhPSBOVUxMKSB7CisJdXNlcl9kYXRhID0gcGx1Zy0+dXNlcl9kYXRhX3B0cjsKKwkqdXNlcl9kYXRhID0gcGx1Zy0+dXNlcl9kYXRhOworICAgIH0KKworICAgIC8qIGZyZWUgYW5kIHJldHVybiAqLworICAgIHhtbEZyZWUocGx1Zyk7CisgICAgcmV0dXJuKDApOworfQorCisvKioKKyAqIHhtbFNjaGVtYVZhbGlkYXRlU2V0TG9jYXRvcjoKKyAqIEB2Y3R4dDogYSBzY2hlbWEgdmFsaWRhdGlvbiBjb250ZXh0CisgKiBAZjogdGhlIGxvY2F0b3IgZnVuY3Rpb24gcG9pbnRlcgorICogQGN0eHQ6IHRoZSBsb2NhdG9yIGNvbnRleHQKKyAqCisgKiBBbGxvd3MgdG8gc2V0IGEgbG9jYXRvciBmdW5jdGlvbiB0byB0aGUgdmFsaWRhdGlvbiBjb250ZXh0LAorICogd2hpY2ggd2lsbCBiZSB1c2VkIHRvIHByb3ZpZGUgZmlsZSBhbmQgbGluZSBpbmZvcm1hdGlvbiBzaW5jZQorICogdGhvc2UgYXJlIG5vdCBwcm92aWRlZCBhcyBwYXJ0IG9mIHRoZSBTQVggdmFsaWRhdGlvbiBmbG93CisgKiBTZXR0aW5nIEBmIHRvIE5VTEwgZGlzYWJsZSB0aGUgbG9jYXRvci4KKyAqLworCit2b2lkCit4bWxTY2hlbWFWYWxpZGF0ZVNldExvY2F0b3IoeG1sU2NoZW1hVmFsaWRDdHh0UHRyIHZjdHh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFNjaGVtYVZhbGlkaXR5TG9jYXRvckZ1bmMgZiwKKwkJCSAgICB2b2lkICpjdHh0KQoreworICAgIGlmICh2Y3R4dCA9PSBOVUxMKSByZXR1cm47CisgICAgdmN0eHQtPmxvY0Z1bmMgPSBmOworICAgIHZjdHh0LT5sb2NDdHh0ID0gY3R4dDsKK30KKworLyoqCisgKiB4bWxTY2hlbWFWYWxpZGF0ZVN0cmVhbUxvY2F0b3I6CisgKiBAY3R4OiB0aGUgeG1sVGV4dFJlYWRlclB0ciB1c2VkCisgKiBAZmlsZTogcmV0dXJuZWQgZmlsZSBpbmZvcm1hdGlvbgorICogQGxpbmU6IHJldHVybmVkIGxpbmUgaW5mb3JtYXRpb24KKyAqCisgKiBJbnRlcm5hbCBsb2NhdG9yIGZ1bmN0aW9uIGZvciB0aGUgcmVhZGVycworICoKKyAqIFJldHVybnMgMCBpbiBjYXNlIHRoZSBTY2hlbWEgdmFsaWRhdGlvbiBjb3VsZCBiZSAoZGVzKWFjdGl2YXRlZCBhbmQKKyAqICAgICAgICAgLTEgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworc3RhdGljIGludAoreG1sU2NoZW1hVmFsaWRhdGVTdHJlYW1Mb2NhdG9yKHZvaWQgKmN0eCwgY29uc3QgY2hhciAqKmZpbGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyAqbGluZSkgeworICAgIHhtbFBhcnNlckN0eHRQdHIgY3R4dDsKKworICAgIGlmICgoY3R4ID09IE5VTEwpIHx8ICgoZmlsZSA9PSBOVUxMKSAmJiAobGluZSA9PSBOVUxMKSkpCisgICAgICAgIHJldHVybigtMSk7CisKKyAgICBpZiAoZmlsZSAhPSBOVUxMKQorICAgICAgICAqZmlsZSA9IE5VTEw7CisgICAgaWYgKGxpbmUgIT0gTlVMTCkKKyAgICAgICAgKmxpbmUgPSAwOworCisgICAgY3R4dCA9ICh4bWxQYXJzZXJDdHh0UHRyKSBjdHg7CisgICAgaWYgKGN0eHQtPmlucHV0ICE9IE5VTEwpIHsKKyAgICAgICBpZiAoZmlsZSAhPSBOVUxMKQorICAgICAgICAgICAqZmlsZSA9IGN0eHQtPmlucHV0LT5maWxlbmFtZTsKKyAgICAgICBpZiAobGluZSAhPSBOVUxMKQorICAgICAgICAgICAqbGluZSA9IGN0eHQtPmlucHV0LT5saW5lOworICAgICAgIHJldHVybigwKTsKKyAgICB9CisgICAgcmV0dXJuKC0xKTsKK30KKworLyoqCisgKiB4bWxTY2hlbWFWYWxpZGF0ZVN0cmVhbToKKyAqIEBjdHh0OiAgYSBzY2hlbWEgdmFsaWRhdGlvbiBjb250ZXh0CisgKiBAaW5wdXQ6ICB0aGUgaW5wdXQgdG8gdXNlIGZvciByZWFkaW5nIHRoZSBkYXRhCisgKiBAZW5jOiAgYW4gb3B0aW9uYWwgZW5jb2RpbmcgaW5mb3JtYXRpb24KKyAqIEBzYXg6ICBhIFNBWCBoYW5kbGVyIGZvciB0aGUgcmVzdWx0aW5nIGV2ZW50cworICogQHVzZXJfZGF0YTogIHRoZSBjb250ZXh0IHRvIHByb3ZpZGUgdG8gdGhlIFNBWCBoYW5kbGVyLgorICoKKyAqIFZhbGlkYXRlIGFuIGlucHV0IGJhc2VkIG9uIGEgZmxvdyBvZiBTQVggZXZlbnQgZnJvbSB0aGUgcGFyc2VyCisgKiBhbmQgZm9yd2FyZCB0aGUgZXZlbnRzIHRvIHRoZSBAc2F4IGhhbmRsZXIgd2l0aCB0aGUgcHJvdmlkZWQgQHVzZXJfZGF0YQorICogdGhlIHVzZXIgcHJvdmlkZWQgQHNheCBoYW5kbGVyIG11c3QgYmUgYSBTQVgyIG9uZS4KKyAqCisgKiBSZXR1cm5zIDAgaWYgdGhlIGRvY3VtZW50IGlzIHNjaGVtYXMgdmFsaWQsIGEgcG9zaXRpdmUgZXJyb3IgY29kZQorICogICAgIG51bWJlciBvdGhlcndpc2UgYW5kIC0xIGluIGNhc2Ugb2YgaW50ZXJuYWwgb3IgQVBJIGVycm9yLgorICovCitpbnQKK3htbFNjaGVtYVZhbGlkYXRlU3RyZWFtKHhtbFNjaGVtYVZhbGlkQ3R4dFB0ciBjdHh0LAorICAgICAgICAgICAgICAgICAgICAgICAgeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIgaW5wdXQsIHhtbENoYXJFbmNvZGluZyBlbmMsCisgICAgICAgICAgICAgICAgICAgICAgICB4bWxTQVhIYW5kbGVyUHRyIHNheCwgdm9pZCAqdXNlcl9kYXRhKQoreworICAgIHhtbFNjaGVtYVNBWFBsdWdQdHIgcGx1ZyA9IE5VTEw7CisgICAgeG1sU0FYSGFuZGxlclB0ciBvbGRfc2F4ID0gTlVMTDsKKyAgICB4bWxQYXJzZXJDdHh0UHRyIHBjdHh0ID0gTlVMTDsKKyAgICB4bWxQYXJzZXJJbnB1dFB0ciBpbnB1dFN0cmVhbSA9IE5VTEw7CisgICAgaW50IHJldDsKKworICAgIGlmICgoY3R4dCA9PSBOVUxMKSB8fCAoaW5wdXQgPT0gTlVMTCkpCisgICAgICAgIHJldHVybiAoLTEpOworCisgICAgLyoKKyAgICAgKiBwcmVwYXJlIHRoZSBwYXJzZXIKKyAgICAgKi8KKyAgICBwY3R4dCA9IHhtbE5ld1BhcnNlckN0eHQoKTsKKyAgICBpZiAocGN0eHQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuICgtMSk7CisgICAgb2xkX3NheCA9IHBjdHh0LT5zYXg7CisgICAgcGN0eHQtPnNheCA9IHNheDsKKyAgICBwY3R4dC0+dXNlckRhdGEgPSB1c2VyX2RhdGE7CisjaWYgMAorICAgIGlmIChvcHRpb25zKQorICAgICAgICB4bWxDdHh0VXNlT3B0aW9ucyhwY3R4dCwgb3B0aW9ucyk7CisjZW5kaWYKKyAgICBwY3R4dC0+bGluZW51bWJlcnMgPSAxOworICAgIHhtbFNjaGVtYVZhbGlkYXRlU2V0TG9jYXRvcihjdHh0LCB4bWxTY2hlbWFWYWxpZGF0ZVN0cmVhbUxvY2F0b3IsIHBjdHh0KTsKKworICAgIGlucHV0U3RyZWFtID0geG1sTmV3SU9JbnB1dFN0cmVhbShwY3R4dCwgaW5wdXQsIGVuYyk7OworICAgIGlmIChpbnB1dFN0cmVhbSA9PSBOVUxMKSB7CisgICAgICAgIHJldCA9IC0xOworCWdvdG8gZG9uZTsKKyAgICB9CisgICAgaW5wdXRQdXNoKHBjdHh0LCBpbnB1dFN0cmVhbSk7CisgICAgY3R4dC0+cGFyc2VyQ3R4dCA9IHBjdHh0OworICAgIGN0eHQtPmlucHV0ID0gaW5wdXQ7CisKKyAgICAvKgorICAgICAqIFBsdWcgdGhlIHZhbGlkYXRpb24gYW5kIGxhdW5jaCB0aGUgcGFyc2luZworICAgICAqLworICAgIHBsdWcgPSB4bWxTY2hlbWFTQVhQbHVnKGN0eHQsICYocGN0eHQtPnNheCksICYocGN0eHQtPnVzZXJEYXRhKSk7CisgICAgaWYgKHBsdWcgPT0gTlVMTCkgeworICAgICAgICByZXQgPSAtMTsKKwlnb3RvIGRvbmU7CisgICAgfQorICAgIGN0eHQtPmlucHV0ID0gaW5wdXQ7CisgICAgY3R4dC0+ZW5jID0gZW5jOworICAgIGN0eHQtPnNheCA9IHBjdHh0LT5zYXg7CisgICAgY3R4dC0+ZmxhZ3MgfD0gWE1MX1NDSEVNQV9WQUxJRF9DVFhUX0ZMQUdfU1RSRUFNOworICAgIHJldCA9IHhtbFNjaGVtYVZTdGFydChjdHh0KTsKKworICAgIGlmICgocmV0ID09IDApICYmICghIGN0eHQtPnBhcnNlckN0eHQtPndlbGxGb3JtZWQpKSB7CisJcmV0ID0gY3R4dC0+cGFyc2VyQ3R4dC0+ZXJyTm87CisJaWYgKHJldCA9PSAwKQorCSAgICByZXQgPSAxOworICAgIH0KKworZG9uZToKKyAgICBjdHh0LT5wYXJzZXJDdHh0ID0gTlVMTDsKKyAgICBjdHh0LT5zYXggPSBOVUxMOworICAgIGN0eHQtPmlucHV0ID0gTlVMTDsKKyAgICBpZiAocGx1ZyAhPSBOVUxMKSB7CisgICAgICAgIHhtbFNjaGVtYVNBWFVucGx1ZyhwbHVnKTsKKyAgICB9CisgICAgLyogY2xlYW51cCAqLworICAgIGlmIChwY3R4dCAhPSBOVUxMKSB7CisJcGN0eHQtPnNheCA9IG9sZF9zYXg7CisJeG1sRnJlZVBhcnNlckN0eHQocGN0eHQpOworICAgIH0KKyAgICByZXR1cm4gKHJldCk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hVmFsaWRhdGVGaWxlOgorICogQGN0eHQ6IGEgc2NoZW1hIHZhbGlkYXRpb24gY29udGV4dAorICogQGZpbGVuYW1lOiB0aGUgVVJJIG9mIHRoZSBpbnN0YW5jZQorICogQG9wdGlvbnM6IGEgZnV0dXJlIHNldCBvZiBvcHRpb25zLCBjdXJyZW50bHkgdW51c2VkCisgKgorICogRG8gYSBzY2hlbWFzIHZhbGlkYXRpb24gb2YgdGhlIGdpdmVuIHJlc291cmNlLCBpdCB3aWxsIHVzZSB0aGUKKyAqIFNBWCBzdHJlYW1hYmxlIHZhbGlkYXRpb24gaW50ZXJuYWxseS4KKyAqCisgKiBSZXR1cm5zIDAgaWYgdGhlIGRvY3VtZW50IGlzIHZhbGlkLCBhIHBvc2l0aXZlIGVycm9yIGNvZGUKKyAqICAgICBudW1iZXIgb3RoZXJ3aXNlIGFuZCAtMSBpbiBjYXNlIG9mIGFuIGludGVybmFsIG9yIEFQSSBlcnJvci4KKyAqLworaW50Cit4bWxTY2hlbWFWYWxpZGF0ZUZpbGUoeG1sU2NoZW1hVmFsaWRDdHh0UHRyIGN0eHQsCisgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqIGZpbGVuYW1lLAorCQkgICAgICBpbnQgb3B0aW9ucyBBVFRSSUJVVEVfVU5VU0VEKQoreworICAgIGludCByZXQ7CisgICAgeG1sUGFyc2VySW5wdXRCdWZmZXJQdHIgaW5wdXQ7CisKKyAgICBpZiAoKGN0eHQgPT0gTlVMTCkgfHwgKGZpbGVuYW1lID09IE5VTEwpKQorICAgICAgICByZXR1cm4gKC0xKTsKKworICAgIGlucHV0ID0geG1sUGFyc2VySW5wdXRCdWZmZXJDcmVhdGVGaWxlbmFtZShmaWxlbmFtZSwKKwlYTUxfQ0hBUl9FTkNPRElOR19OT05FKTsKKyAgICBpZiAoaW5wdXQgPT0gTlVMTCkKKwlyZXR1cm4gKC0xKTsKKyAgICByZXQgPSB4bWxTY2hlbWFWYWxpZGF0ZVN0cmVhbShjdHh0LCBpbnB1dCwgWE1MX0NIQVJfRU5DT0RJTkdfTk9ORSwKKwlOVUxMLCBOVUxMKTsKKyAgICByZXR1cm4gKHJldCk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hVmFsaWRDdHh0R2V0UGFyc2VyQ3R4dDoKKyAqIEBjdHh0OiBhIHNjaGVtYSB2YWxpZGF0aW9uIGNvbnRleHQKKyAqCisgKiBhbGxvdyBhY2Nlc3MgdG8gdGhlIHBhcnNlciBjb250ZXh0IG9mIHRoZSBzY2hlbWEgdmFsaWRhdGlvbiBjb250ZXh0CisgKgorICogUmV0dXJucyB0aGUgcGFyc2VyIGNvbnRleHQgb2YgdGhlIHNjaGVtYSB2YWxpZGF0aW9uIGNvbnRleHQgb3IgTlVMTAorICogICAgICAgICBpbiBjYXNlIG9mIGVycm9yLgorICovCit4bWxQYXJzZXJDdHh0UHRyCit4bWxTY2hlbWFWYWxpZEN0eHRHZXRQYXJzZXJDdHh0KHhtbFNjaGVtYVZhbGlkQ3R4dFB0ciBjdHh0KQoreworICAgIGlmIChjdHh0ID09IE5VTEwpCisgICAgICAgIHJldHVybihOVUxMKTsKKyAgICByZXR1cm4gKGN0eHQtPnBhcnNlckN0eHQpOworfQorCisjZGVmaW5lIGJvdHRvbV94bWxzY2hlbWFzCisjaW5jbHVkZSAiZWxmZ2NjaGFjay5oIgorI2VuZGlmIC8qIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQgKi8KZGlmZiAtLWdpdCBhL2xpYnhtbDIveG1sc2NoZW1hc3R5cGVzLmMgYi9saWJ4bWwyL3htbHNjaGVtYXN0eXBlcy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZmNjRmNTAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3htbHNjaGVtYXN0eXBlcy5jCkBAIC0wLDAgKzEsNjEzOSBAQAorLyoKKyAqIHNjaGVtYXN0eXBlcy5jIDogaW1wbGVtZW50YXRpb24gb2YgdGhlIFhNTCBTY2hlbWEgRGF0YXR5cGVzCisgKiAgICAgICAgICAgICBkZWZpbml0aW9uIGFuZCB2YWxpZGl0eSBjaGVja2luZworICoKKyAqIFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyAqCisgKiBEYW5pZWwgVmVpbGxhcmQgPHZlaWxsYXJkQHJlZGhhdC5jb20+CisgKi8KKworI2RlZmluZSBJTl9MSUJYTUwKKyNpbmNsdWRlICJsaWJ4bWwuaCIKKworI2lmZGVmIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQKKworI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGxpYnhtbC94bWxtZW1vcnkuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvcGFyc2VyLmg+CisjaW5jbHVkZSA8bGlieG1sL3BhcnNlckludGVybmFscy5oPgorI2luY2x1ZGUgPGxpYnhtbC9oYXNoLmg+CisjaW5jbHVkZSA8bGlieG1sL3ZhbGlkLmg+CisjaW5jbHVkZSA8bGlieG1sL3hwYXRoLmg+CisjaW5jbHVkZSA8bGlieG1sL3VyaS5oPgorCisjaW5jbHVkZSA8bGlieG1sL3htbHNjaGVtYXMuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvc2NoZW1hc0ludGVybmFscy5oPgorI2luY2x1ZGUgPGxpYnhtbC94bWxzY2hlbWFzdHlwZXMuaD4KKworI2lmZGVmIEhBVkVfTUFUSF9ICisjaW5jbHVkZSA8bWF0aC5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9GTE9BVF9ICisjaW5jbHVkZSA8ZmxvYXQuaD4KKyNlbmRpZgorCisjZGVmaW5lIERFQlVHCisKKyNpZm5kZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQKK2V4dGVybiBkb3VibGUgeG1sWFBhdGhOQU47CitleHRlcm4gZG91YmxlIHhtbFhQYXRoUElORjsKK2V4dGVybiBkb3VibGUgeG1sWFBhdGhOSU5GOworI2VuZGlmCisKKyNkZWZpbmUgVE9ETwkJCQkJCQkJXAorICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAkJCQlcCisJICAgICJVbmltcGxlbWVudGVkIGJsb2NrIGF0ICVzOiVkXG4iLAkJCQlcCisgICAgICAgICAgICBfX0ZJTEVfXywgX19MSU5FX18pOworCisjZGVmaW5lIFhNTF9TQ0hFTUFTX05BTUVTUEFDRV9OQU1FIFwKKyAgICAoY29uc3QgeG1sQ2hhciAqKSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIKKworI2RlZmluZSBJU19XU1BfUkVQTEFDRV9DSChjKQkoKCgoYykgPT0gMHg5KSB8fCAoKGMpID09IDB4YSkpIHx8IFwKKwkJCQkgKChjKSA9PSAweGQpKQorCisjZGVmaW5lIElTX1dTUF9TUEFDRV9DSChjKQkoKGMpID09IDB4MjApCisKKyNkZWZpbmUgSVNfV1NQX0JMQU5LX0NIKGMpIElTX0JMQU5LX0NIKGMpCisKKy8qIERhdGUgdmFsdWUgKi8KK3R5cGVkZWYgc3RydWN0IF94bWxTY2hlbWFWYWxEYXRlIHhtbFNjaGVtYVZhbERhdGU7Cit0eXBlZGVmIHhtbFNjaGVtYVZhbERhdGUgKnhtbFNjaGVtYVZhbERhdGVQdHI7CitzdHJ1Y3QgX3htbFNjaGVtYVZhbERhdGUgeworICAgIGxvbmcJCXllYXI7CisgICAgdW5zaWduZWQgaW50CW1vbgk6NDsJLyogMSA8PSAgbW9uICAgIDw9IDEyICAgKi8KKyAgICB1bnNpZ25lZCBpbnQJZGF5CTo1OwkvKiAxIDw9ICBkYXkgICAgPD0gMzEgICAqLworICAgIHVuc2lnbmVkIGludAlob3VyCTo1OwkvKiAwIDw9ICBob3VyICAgPD0gMjMgICAqLworICAgIHVuc2lnbmVkIGludAltaW4JOjY7CS8qIDAgPD0gIG1pbiAgICA8PSA1OQkqLworICAgIGRvdWJsZQkJc2VjOworICAgIHVuc2lnbmVkIGludAl0el9mbGFnCToxOwkvKiBpcyB0em8gZXhwbGljaXRlbHkgc2V0PyAqLworICAgIHNpZ25lZCBpbnQJCXR6bwk6MTI7CS8qIC0xNDQwIDw9IHR6byA8PSAxNDQwOworCQkJCQkgICBjdXJyZW50bHkgb25seSAtODQwIHRvICs4NDAgYXJlIG5lZWRlZCAqLworfTsKKworLyogRHVyYXRpb24gdmFsdWUgKi8KK3R5cGVkZWYgc3RydWN0IF94bWxTY2hlbWFWYWxEdXJhdGlvbiB4bWxTY2hlbWFWYWxEdXJhdGlvbjsKK3R5cGVkZWYgeG1sU2NoZW1hVmFsRHVyYXRpb24gKnhtbFNjaGVtYVZhbER1cmF0aW9uUHRyOworc3RydWN0IF94bWxTY2hlbWFWYWxEdXJhdGlvbiB7CisgICAgbG9uZwkgICAgICAgIG1vbjsJCS8qIG1vbiBzdG9yZXMgeWVhcnMgYWxzbyAqLworICAgIGxvbmcJZGF5OworICAgIGRvdWJsZQkJc2VjOyAgICAgICAgICAgIC8qIHNlYyBzdG9yZXMgbWluIGFuZCBob3VyIGFsc28gKi8KK307CisKK3R5cGVkZWYgc3RydWN0IF94bWxTY2hlbWFWYWxEZWNpbWFsIHhtbFNjaGVtYVZhbERlY2ltYWw7Cit0eXBlZGVmIHhtbFNjaGVtYVZhbERlY2ltYWwgKnhtbFNjaGVtYVZhbERlY2ltYWxQdHI7CitzdHJ1Y3QgX3htbFNjaGVtYVZhbERlY2ltYWwgeworICAgIC8qIHdvdWxkIHVzZSBsb25nIGxvbmcgYnV0IG5vdCBwb3J0YWJsZSAqLworICAgIHVuc2lnbmVkIGxvbmcgbG87CisgICAgdW5zaWduZWQgbG9uZyBtaTsKKyAgICB1bnNpZ25lZCBsb25nIGhpOworICAgIHVuc2lnbmVkIGludCBleHRyYTsKKyAgICB1bnNpZ25lZCBpbnQgc2lnbjoxOworICAgIHVuc2lnbmVkIGludCBmcmFjOjc7CisgICAgdW5zaWduZWQgaW50IHRvdGFsOjg7Cit9OworCit0eXBlZGVmIHN0cnVjdCBfeG1sU2NoZW1hVmFsUU5hbWUgeG1sU2NoZW1hVmFsUU5hbWU7Cit0eXBlZGVmIHhtbFNjaGVtYVZhbFFOYW1lICp4bWxTY2hlbWFWYWxRTmFtZVB0cjsKK3N0cnVjdCBfeG1sU2NoZW1hVmFsUU5hbWUgeworICAgIHhtbENoYXIgKm5hbWU7CisgICAgeG1sQ2hhciAqdXJpOworfTsKKwordHlwZWRlZiBzdHJ1Y3QgX3htbFNjaGVtYVZhbEhleCB4bWxTY2hlbWFWYWxIZXg7Cit0eXBlZGVmIHhtbFNjaGVtYVZhbEhleCAqeG1sU2NoZW1hVmFsSGV4UHRyOworc3RydWN0IF94bWxTY2hlbWFWYWxIZXggeworICAgIHhtbENoYXIgICAgICpzdHI7CisgICAgdW5zaWduZWQgaW50IHRvdGFsOworfTsKKwordHlwZWRlZiBzdHJ1Y3QgX3htbFNjaGVtYVZhbEJhc2U2NCB4bWxTY2hlbWFWYWxCYXNlNjQ7Cit0eXBlZGVmIHhtbFNjaGVtYVZhbEJhc2U2NCAqeG1sU2NoZW1hVmFsQmFzZTY0UHRyOworc3RydWN0IF94bWxTY2hlbWFWYWxCYXNlNjQgeworICAgIHhtbENoYXIgICAgICpzdHI7CisgICAgdW5zaWduZWQgaW50IHRvdGFsOworfTsKKworc3RydWN0IF94bWxTY2hlbWFWYWwgeworICAgIHhtbFNjaGVtYVZhbFR5cGUgdHlwZTsKKyAgICBzdHJ1Y3QgX3htbFNjaGVtYVZhbCAqbmV4dDsKKyAgICB1bmlvbiB7CisJeG1sU2NoZW1hVmFsRGVjaW1hbCAgICAgZGVjaW1hbDsKKyAgICAgICAgeG1sU2NoZW1hVmFsRGF0ZSAgICAgICAgZGF0ZTsKKyAgICAgICAgeG1sU2NoZW1hVmFsRHVyYXRpb24gICAgZHVyOworCXhtbFNjaGVtYVZhbFFOYW1lCXFuYW1lOworCXhtbFNjaGVtYVZhbEhleAkJaGV4OworCXhtbFNjaGVtYVZhbEJhc2U2NAliYXNlNjQ7CisJZmxvYXQJCQlmOworCWRvdWJsZQkJCWQ7CisJaW50CQkJYjsKKwl4bWxDaGFyICAgICAgICAgICAgICAgICpzdHI7CisgICAgfSB2YWx1ZTsKK307CisKK3N0YXRpYyBpbnQgeG1sU2NoZW1hVHlwZXNJbml0aWFsaXplZCA9IDA7CitzdGF0aWMgeG1sSGFzaFRhYmxlUHRyIHhtbFNjaGVtYVR5cGVzQmFuayA9IE5VTEw7CisKKy8qCisgKiBCYXNpYyB0eXBlcworICovCitzdGF0aWMgeG1sU2NoZW1hVHlwZVB0ciB4bWxTY2hlbWFUeXBlU3RyaW5nRGVmID0gTlVMTDsKK3N0YXRpYyB4bWxTY2hlbWFUeXBlUHRyIHhtbFNjaGVtYVR5cGVBbnlUeXBlRGVmID0gTlVMTDsKK3N0YXRpYyB4bWxTY2hlbWFUeXBlUHRyIHhtbFNjaGVtYVR5cGVBbnlTaW1wbGVUeXBlRGVmID0gTlVMTDsKK3N0YXRpYyB4bWxTY2hlbWFUeXBlUHRyIHhtbFNjaGVtYVR5cGVEZWNpbWFsRGVmID0gTlVMTDsKK3N0YXRpYyB4bWxTY2hlbWFUeXBlUHRyIHhtbFNjaGVtYVR5cGVEYXRldGltZURlZiA9IE5VTEw7CitzdGF0aWMgeG1sU2NoZW1hVHlwZVB0ciB4bWxTY2hlbWFUeXBlRGF0ZURlZiA9IE5VTEw7CitzdGF0aWMgeG1sU2NoZW1hVHlwZVB0ciB4bWxTY2hlbWFUeXBlVGltZURlZiA9IE5VTEw7CitzdGF0aWMgeG1sU2NoZW1hVHlwZVB0ciB4bWxTY2hlbWFUeXBlR1llYXJEZWYgPSBOVUxMOworc3RhdGljIHhtbFNjaGVtYVR5cGVQdHIgeG1sU2NoZW1hVHlwZUdZZWFyTW9udGhEZWYgPSBOVUxMOworc3RhdGljIHhtbFNjaGVtYVR5cGVQdHIgeG1sU2NoZW1hVHlwZUdEYXlEZWYgPSBOVUxMOworc3RhdGljIHhtbFNjaGVtYVR5cGVQdHIgeG1sU2NoZW1hVHlwZUdNb250aERheURlZiA9IE5VTEw7CitzdGF0aWMgeG1sU2NoZW1hVHlwZVB0ciB4bWxTY2hlbWFUeXBlR01vbnRoRGVmID0gTlVMTDsKK3N0YXRpYyB4bWxTY2hlbWFUeXBlUHRyIHhtbFNjaGVtYVR5cGVEdXJhdGlvbkRlZiA9IE5VTEw7CitzdGF0aWMgeG1sU2NoZW1hVHlwZVB0ciB4bWxTY2hlbWFUeXBlRmxvYXREZWYgPSBOVUxMOworc3RhdGljIHhtbFNjaGVtYVR5cGVQdHIgeG1sU2NoZW1hVHlwZUJvb2xlYW5EZWYgPSBOVUxMOworc3RhdGljIHhtbFNjaGVtYVR5cGVQdHIgeG1sU2NoZW1hVHlwZURvdWJsZURlZiA9IE5VTEw7CitzdGF0aWMgeG1sU2NoZW1hVHlwZVB0ciB4bWxTY2hlbWFUeXBlSGV4QmluYXJ5RGVmID0gTlVMTDsKK3N0YXRpYyB4bWxTY2hlbWFUeXBlUHRyIHhtbFNjaGVtYVR5cGVCYXNlNjRCaW5hcnlEZWYgPSBOVUxMOworc3RhdGljIHhtbFNjaGVtYVR5cGVQdHIgeG1sU2NoZW1hVHlwZUFueVVSSURlZiA9IE5VTEw7CisKKy8qCisgKiBEZXJpdmVkIHR5cGVzCisgKi8KK3N0YXRpYyB4bWxTY2hlbWFUeXBlUHRyIHhtbFNjaGVtYVR5cGVQb3NpdGl2ZUludGVnZXJEZWYgPSBOVUxMOworc3RhdGljIHhtbFNjaGVtYVR5cGVQdHIgeG1sU2NoZW1hVHlwZU5vblBvc2l0aXZlSW50ZWdlckRlZiA9IE5VTEw7CitzdGF0aWMgeG1sU2NoZW1hVHlwZVB0ciB4bWxTY2hlbWFUeXBlTmVnYXRpdmVJbnRlZ2VyRGVmID0gTlVMTDsKK3N0YXRpYyB4bWxTY2hlbWFUeXBlUHRyIHhtbFNjaGVtYVR5cGVOb25OZWdhdGl2ZUludGVnZXJEZWYgPSBOVUxMOworc3RhdGljIHhtbFNjaGVtYVR5cGVQdHIgeG1sU2NoZW1hVHlwZUludGVnZXJEZWYgPSBOVUxMOworc3RhdGljIHhtbFNjaGVtYVR5cGVQdHIgeG1sU2NoZW1hVHlwZUxvbmdEZWYgPSBOVUxMOworc3RhdGljIHhtbFNjaGVtYVR5cGVQdHIgeG1sU2NoZW1hVHlwZUludERlZiA9IE5VTEw7CitzdGF0aWMgeG1sU2NoZW1hVHlwZVB0ciB4bWxTY2hlbWFUeXBlU2hvcnREZWYgPSBOVUxMOworc3RhdGljIHhtbFNjaGVtYVR5cGVQdHIgeG1sU2NoZW1hVHlwZUJ5dGVEZWYgPSBOVUxMOworc3RhdGljIHhtbFNjaGVtYVR5cGVQdHIgeG1sU2NoZW1hVHlwZVVuc2lnbmVkTG9uZ0RlZiA9IE5VTEw7CitzdGF0aWMgeG1sU2NoZW1hVHlwZVB0ciB4bWxTY2hlbWFUeXBlVW5zaWduZWRJbnREZWYgPSBOVUxMOworc3RhdGljIHhtbFNjaGVtYVR5cGVQdHIgeG1sU2NoZW1hVHlwZVVuc2lnbmVkU2hvcnREZWYgPSBOVUxMOworc3RhdGljIHhtbFNjaGVtYVR5cGVQdHIgeG1sU2NoZW1hVHlwZVVuc2lnbmVkQnl0ZURlZiA9IE5VTEw7CitzdGF0aWMgeG1sU2NoZW1hVHlwZVB0ciB4bWxTY2hlbWFUeXBlTm9ybVN0cmluZ0RlZiA9IE5VTEw7CitzdGF0aWMgeG1sU2NoZW1hVHlwZVB0ciB4bWxTY2hlbWFUeXBlVG9rZW5EZWYgPSBOVUxMOworc3RhdGljIHhtbFNjaGVtYVR5cGVQdHIgeG1sU2NoZW1hVHlwZUxhbmd1YWdlRGVmID0gTlVMTDsKK3N0YXRpYyB4bWxTY2hlbWFUeXBlUHRyIHhtbFNjaGVtYVR5cGVOYW1lRGVmID0gTlVMTDsKK3N0YXRpYyB4bWxTY2hlbWFUeXBlUHRyIHhtbFNjaGVtYVR5cGVRTmFtZURlZiA9IE5VTEw7CitzdGF0aWMgeG1sU2NoZW1hVHlwZVB0ciB4bWxTY2hlbWFUeXBlTkNOYW1lRGVmID0gTlVMTDsKK3N0YXRpYyB4bWxTY2hlbWFUeXBlUHRyIHhtbFNjaGVtYVR5cGVJZERlZiA9IE5VTEw7CitzdGF0aWMgeG1sU2NoZW1hVHlwZVB0ciB4bWxTY2hlbWFUeXBlSWRyZWZEZWYgPSBOVUxMOworc3RhdGljIHhtbFNjaGVtYVR5cGVQdHIgeG1sU2NoZW1hVHlwZUlkcmVmc0RlZiA9IE5VTEw7CitzdGF0aWMgeG1sU2NoZW1hVHlwZVB0ciB4bWxTY2hlbWFUeXBlRW50aXR5RGVmID0gTlVMTDsKK3N0YXRpYyB4bWxTY2hlbWFUeXBlUHRyIHhtbFNjaGVtYVR5cGVFbnRpdGllc0RlZiA9IE5VTEw7CitzdGF0aWMgeG1sU2NoZW1hVHlwZVB0ciB4bWxTY2hlbWFUeXBlTm90YXRpb25EZWYgPSBOVUxMOworc3RhdGljIHhtbFNjaGVtYVR5cGVQdHIgeG1sU2NoZW1hVHlwZU5tdG9rZW5EZWYgPSBOVUxMOworc3RhdGljIHhtbFNjaGVtYVR5cGVQdHIgeG1sU2NoZW1hVHlwZU5tdG9rZW5zRGVmID0gTlVMTDsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJCURhdGF0eXBlIGVycm9yIGhhbmRsZXJzCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qKgorICogeG1sU2NoZW1hVHlwZUVyck1lbW9yeToKKyAqIEBleHRyYTogIGV4dHJhIGluZm9ybWF0aW9ucworICoKKyAqIEhhbmRsZSBhbiBvdXQgb2YgbWVtb3J5IGNvbmRpdGlvbgorICovCitzdGF0aWMgdm9pZAoreG1sU2NoZW1hVHlwZUVyck1lbW9yeSh4bWxOb2RlUHRyIG5vZGUsIGNvbnN0IGNoYXIgKmV4dHJhKQoreworICAgIF9feG1sU2ltcGxlRXJyb3IoWE1MX0ZST01fREFUQVRZUEUsIFhNTF9FUlJfTk9fTUVNT1JZLCBub2RlLCBOVUxMLCBleHRyYSk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCQlCYXNlIHR5cGVzIHN1cHBvcnQJCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioKKyAqIHhtbFNjaGVtYU5ld1ZhbHVlOgorICogQHR5cGU6ICB0aGUgdmFsdWUgdHlwZQorICoKKyAqIEFsbG9jYXRlIGEgbmV3IHNpbXBsZSB0eXBlIHZhbHVlCisgKgorICogUmV0dXJucyBhIHBvaW50ZXIgdG8gdGhlIG5ldyB2YWx1ZSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworc3RhdGljIHhtbFNjaGVtYVZhbFB0cgoreG1sU2NoZW1hTmV3VmFsdWUoeG1sU2NoZW1hVmFsVHlwZSB0eXBlKSB7CisgICAgeG1sU2NoZW1hVmFsUHRyIHZhbHVlOworCisgICAgdmFsdWUgPSAoeG1sU2NoZW1hVmFsUHRyKSB4bWxNYWxsb2Moc2l6ZW9mKHhtbFNjaGVtYVZhbCkpOworICAgIGlmICh2YWx1ZSA9PSBOVUxMKSB7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBtZW1zZXQodmFsdWUsIDAsIHNpemVvZih4bWxTY2hlbWFWYWwpKTsKKyAgICB2YWx1ZS0+dHlwZSA9IHR5cGU7CisgICAgcmV0dXJuKHZhbHVlKTsKK30KKworc3RhdGljIHhtbFNjaGVtYUZhY2V0UHRyCit4bWxTY2hlbWFOZXdNaW5MZW5ndGhGYWNldChpbnQgdmFsdWUpCit7CisgICAgeG1sU2NoZW1hRmFjZXRQdHIgcmV0OworCisgICAgcmV0ID0geG1sU2NoZW1hTmV3RmFjZXQoKTsKKyAgICBpZiAocmV0ID09IE5VTEwpIHsKKyAgICAgICAgcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICByZXQtPnR5cGUgPSBYTUxfU0NIRU1BX0ZBQ0VUX01JTkxFTkdUSDsKKyAgICByZXQtPnZhbCA9IHhtbFNjaGVtYU5ld1ZhbHVlKFhNTF9TQ0hFTUFTX05OSU5URUdFUik7CisgICAgaWYgKHJldC0+dmFsID09IE5VTEwpIHsKKyAgICAgICAgeG1sRnJlZShyZXQpOworCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgcmV0LT52YWwtPnZhbHVlLmRlY2ltYWwubG8gPSB2YWx1ZTsKKyAgICByZXR1cm4gKHJldCk7Cit9CisKKy8qCisgKiB4bWxTY2hlbWFJbml0QmFzaWNUeXBlOgorICogQG5hbWU6ICB0aGUgdHlwZSBuYW1lCisgKiBAdHlwZTogIHRoZSB2YWx1ZSB0eXBlIGFzc29jaWF0ZWQKKyAqCisgKiBJbml0aWFsaXplIG9uZSBwcmltaXRpdmUgYnVpbHQtaW4gdHlwZQorICovCitzdGF0aWMgeG1sU2NoZW1hVHlwZVB0cgoreG1sU2NoZW1hSW5pdEJhc2ljVHlwZShjb25zdCBjaGFyICpuYW1lLCB4bWxTY2hlbWFWYWxUeXBlIHR5cGUsCisJCSAgICAgICB4bWxTY2hlbWFUeXBlUHRyIGJhc2VUeXBlKSB7CisgICAgeG1sU2NoZW1hVHlwZVB0ciByZXQ7CisKKyAgICByZXQgPSAoeG1sU2NoZW1hVHlwZVB0cikgeG1sTWFsbG9jKHNpemVvZih4bWxTY2hlbWFUeXBlKSk7CisgICAgaWYgKHJldCA9PSBOVUxMKSB7CisgICAgICAgIHhtbFNjaGVtYVR5cGVFcnJNZW1vcnkoTlVMTCwgImNvdWxkIG5vdCBpbml0aWFsaXplIGJhc2ljIHR5cGVzIik7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBtZW1zZXQocmV0LCAwLCBzaXplb2YoeG1sU2NoZW1hVHlwZSkpOworICAgIHJldC0+bmFtZSA9IChjb25zdCB4bWxDaGFyICopbmFtZTsKKyAgICByZXQtPnRhcmdldE5hbWVzcGFjZSA9IFhNTF9TQ0hFTUFTX05BTUVTUEFDRV9OQU1FOworICAgIHJldC0+dHlwZSA9IFhNTF9TQ0hFTUFfVFlQRV9CQVNJQzsKKyAgICByZXQtPmJhc2VUeXBlID0gYmFzZVR5cGU7CisgICAgcmV0LT5jb250ZW50VHlwZSA9IFhNTF9TQ0hFTUFfQ09OVEVOVF9CQVNJQzsKKyAgICAvKgorICAgICogUHJpbWl0aXZlIHR5cGVzLgorICAgICovCisgICAgc3dpdGNoICh0eXBlKSB7CisJY2FzZSBYTUxfU0NIRU1BU19TVFJJTkc6CisJY2FzZSBYTUxfU0NIRU1BU19ERUNJTUFMOgorCWNhc2UgWE1MX1NDSEVNQVNfREFURToKKwljYXNlIFhNTF9TQ0hFTUFTX0RBVEVUSU1FOgorCWNhc2UgWE1MX1NDSEVNQVNfVElNRToKKwljYXNlIFhNTF9TQ0hFTUFTX0dZRUFSOgorCWNhc2UgWE1MX1NDSEVNQVNfR1lFQVJNT05USDoKKwljYXNlIFhNTF9TQ0hFTUFTX0dNT05USDoKKwljYXNlIFhNTF9TQ0hFTUFTX0dNT05USERBWToKKwljYXNlIFhNTF9TQ0hFTUFTX0dEQVk6CisJY2FzZSBYTUxfU0NIRU1BU19EVVJBVElPTjoKKwljYXNlIFhNTF9TQ0hFTUFTX0ZMT0FUOgorCWNhc2UgWE1MX1NDSEVNQVNfRE9VQkxFOgorCWNhc2UgWE1MX1NDSEVNQVNfQk9PTEVBTjoKKwljYXNlIFhNTF9TQ0hFTUFTX0FOWVVSSToKKwljYXNlIFhNTF9TQ0hFTUFTX0hFWEJJTkFSWToKKwljYXNlIFhNTF9TQ0hFTUFTX0JBU0U2NEJJTkFSWToKKwljYXNlIFhNTF9TQ0hFTUFTX1FOQU1FOgorCWNhc2UgWE1MX1NDSEVNQVNfTk9UQVRJT046CisJICAgIHJldC0+ZmxhZ3MgfD0gWE1MX1NDSEVNQVNfVFlQRV9CVUlMVElOX1BSSU1JVElWRTsKKwkgICAgYnJlYWs7CisJZGVmYXVsdDoKKwkgICAgYnJlYWs7CisgICAgfQorICAgIC8qCisgICAgKiBTZXQgdmFyaWV0eS4KKyAgICAqLworICAgIHN3aXRjaCAodHlwZSkgeworCWNhc2UgWE1MX1NDSEVNQVNfQU5ZVFlQRToKKwljYXNlIFhNTF9TQ0hFTUFTX0FOWVNJTVBMRVRZUEU6CisJICAgIGJyZWFrOworCWNhc2UgWE1MX1NDSEVNQVNfSURSRUZTOgorCWNhc2UgWE1MX1NDSEVNQVNfTk1UT0tFTlM6CisJY2FzZSBYTUxfU0NIRU1BU19FTlRJVElFUzoKKwkgICAgcmV0LT5mbGFncyB8PSBYTUxfU0NIRU1BU19UWVBFX1ZBUklFVFlfTElTVDsKKwkgICAgcmV0LT5mYWNldHMgPSB4bWxTY2hlbWFOZXdNaW5MZW5ndGhGYWNldCgxKTsKKwkgICAgcmV0LT5mbGFncyB8PSBYTUxfU0NIRU1BU19UWVBFX0hBU19GQUNFVFM7CisJICAgIGJyZWFrOworCWRlZmF1bHQ6CisJICAgIHJldC0+ZmxhZ3MgfD0gWE1MX1NDSEVNQVNfVFlQRV9WQVJJRVRZX0FUT01JQzsKKwkgICAgYnJlYWs7CisgICAgfQorICAgIHhtbEhhc2hBZGRFbnRyeTIoeG1sU2NoZW1hVHlwZXNCYW5rLCByZXQtPm5hbWUsCisJICAgICAgICAgICAgIFhNTF9TQ0hFTUFTX05BTUVTUEFDRV9OQU1FLCByZXQpOworICAgIHJldC0+YnVpbHRJblR5cGUgPSB0eXBlOworICAgIHJldHVybihyZXQpOworfQorCisvKgorKiBXQVJOSU5HOiBUaG9zZSB0eXBlIHJlc2lkZSBub3JtYWxseSBpbiB4bWxzY2hlbWFzLmMgYnV0IGFyZQorKiByZWRlZmluZWQgaGVyZSBsb2NhbGx5IGluIG9kZXIgb2YgYmVpbmcgYWJsZSB0byB1c2UgdGhlbSBmb3IgeHM6YW55VHlwZS0KKyogVE9ETzogUmVtb3ZlIHRob3NlIGRlZmluaXRpb24gaWYgd2UgbW92ZSB0aGUgdHlwZXMgdG8gYSBoZWFkZXIgZmlsZS4KKyogVE9ETzogQWx3YXlzIGtlZXAgdGhvc2Ugc3RydWN0cyB1cC10by1kYXRlIHdpdGggdGhlIG9yaWdpbmFscy4KKyovCisjZGVmaW5lIFVOQk9VTkRFRCAoMSA8PCAzMCkKKwordHlwZWRlZiBzdHJ1Y3QgX3htbFNjaGVtYVRyZWVJdGVtIHhtbFNjaGVtYVRyZWVJdGVtOwordHlwZWRlZiB4bWxTY2hlbWFUcmVlSXRlbSAqeG1sU2NoZW1hVHJlZUl0ZW1QdHI7CitzdHJ1Y3QgX3htbFNjaGVtYVRyZWVJdGVtIHsKKyAgICB4bWxTY2hlbWFUeXBlVHlwZSB0eXBlOworICAgIHhtbFNjaGVtYUFubm90UHRyIGFubm90OworICAgIHhtbFNjaGVtYVRyZWVJdGVtUHRyIG5leHQ7CisgICAgeG1sU2NoZW1hVHJlZUl0ZW1QdHIgY2hpbGRyZW47Cit9OworCit0eXBlZGVmIHN0cnVjdCBfeG1sU2NoZW1hUGFydGljbGUgeG1sU2NoZW1hUGFydGljbGU7Cit0eXBlZGVmIHhtbFNjaGVtYVBhcnRpY2xlICp4bWxTY2hlbWFQYXJ0aWNsZVB0cjsKK3N0cnVjdCBfeG1sU2NoZW1hUGFydGljbGUgeworICAgIHhtbFNjaGVtYVR5cGVUeXBlIHR5cGU7CisgICAgeG1sU2NoZW1hQW5ub3RQdHIgYW5ub3Q7CisgICAgeG1sU2NoZW1hVHJlZUl0ZW1QdHIgbmV4dDsKKyAgICB4bWxTY2hlbWFUcmVlSXRlbVB0ciBjaGlsZHJlbjsKKyAgICBpbnQgbWluT2NjdXJzOworICAgIGludCBtYXhPY2N1cnM7CisgICAgeG1sTm9kZVB0ciBub2RlOworfTsKKwordHlwZWRlZiBzdHJ1Y3QgX3htbFNjaGVtYU1vZGVsR3JvdXAgeG1sU2NoZW1hTW9kZWxHcm91cDsKK3R5cGVkZWYgeG1sU2NoZW1hTW9kZWxHcm91cCAqeG1sU2NoZW1hTW9kZWxHcm91cFB0cjsKK3N0cnVjdCBfeG1sU2NoZW1hTW9kZWxHcm91cCB7CisgICAgeG1sU2NoZW1hVHlwZVR5cGUgdHlwZTsKKyAgICB4bWxTY2hlbWFBbm5vdFB0ciBhbm5vdDsKKyAgICB4bWxTY2hlbWFUcmVlSXRlbVB0ciBuZXh0OworICAgIHhtbFNjaGVtYVRyZWVJdGVtUHRyIGNoaWxkcmVuOworICAgIHhtbE5vZGVQdHIgbm9kZTsKK307CisKK3N0YXRpYyB4bWxTY2hlbWFQYXJ0aWNsZVB0cgoreG1sU2NoZW1hQWRkUGFydGljbGUodm9pZCkKK3sKKyAgICB4bWxTY2hlbWFQYXJ0aWNsZVB0ciByZXQgPSBOVUxMOworCisgICAgcmV0ID0gKHhtbFNjaGVtYVBhcnRpY2xlUHRyKQorCXhtbE1hbGxvYyhzaXplb2YoeG1sU2NoZW1hUGFydGljbGUpKTsKKyAgICBpZiAocmV0ID09IE5VTEwpIHsKKwl4bWxTY2hlbWFUeXBlRXJyTWVtb3J5KE5VTEwsICJhbGxvY2F0aW5nIHBhcnRpY2xlIGNvbXBvbmVudCIpOworCXJldHVybiAoTlVMTCk7CisgICAgfQorICAgIG1lbXNldChyZXQsIDAsIHNpemVvZih4bWxTY2hlbWFQYXJ0aWNsZSkpOworICAgIHJldC0+dHlwZSA9IFhNTF9TQ0hFTUFfVFlQRV9QQVJUSUNMRTsKKyAgICByZXQtPm1pbk9jY3VycyA9IDE7CisgICAgcmV0LT5tYXhPY2N1cnMgPSAxOworICAgIHJldHVybiAocmV0KTsKK30KKworLyoKKyAqIHhtbFNjaGVtYUluaXRUeXBlczoKKyAqCisgKiBJbml0aWFsaXplIHRoZSBkZWZhdWx0IFhNTCBTY2hlbWFzIHR5cGUgbGlicmFyeQorICovCit2b2lkCit4bWxTY2hlbWFJbml0VHlwZXModm9pZCkKK3sKKyAgICBpZiAoeG1sU2NoZW1hVHlwZXNJbml0aWFsaXplZCAhPSAwKQorICAgICAgICByZXR1cm47CisgICAgeG1sU2NoZW1hVHlwZXNCYW5rID0geG1sSGFzaENyZWF0ZSg0MCk7CisKKworICAgIC8qCisgICAgKiAzLjQuNyBCdWlsdC1pbiBDb21wbGV4IFR5cGUgRGVmaW5pdGlvbgorICAgICovCisgICAgeG1sU2NoZW1hVHlwZUFueVR5cGVEZWYgPSB4bWxTY2hlbWFJbml0QmFzaWNUeXBlKCJhbnlUeXBlIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWE1MX1NDSEVNQVNfQU5ZVFlQRSwKKwkJCQkJCSAgICAgTlVMTCk7CisgICAgeG1sU2NoZW1hVHlwZUFueVR5cGVEZWYtPmJhc2VUeXBlID0geG1sU2NoZW1hVHlwZUFueVR5cGVEZWY7CisgICAgeG1sU2NoZW1hVHlwZUFueVR5cGVEZWYtPmNvbnRlbnRUeXBlID0gWE1MX1NDSEVNQV9DT05URU5UX01JWEVEOworICAgIC8qCisgICAgKiBJbml0IHRoZSBjb250ZW50IHR5cGUuCisgICAgKi8KKyAgICB4bWxTY2hlbWFUeXBlQW55VHlwZURlZi0+Y29udGVudFR5cGUgPSBYTUxfU0NIRU1BX0NPTlRFTlRfTUlYRUQ7CisgICAgeworCXhtbFNjaGVtYVBhcnRpY2xlUHRyIHBhcnRpY2xlOworCXhtbFNjaGVtYU1vZGVsR3JvdXBQdHIgc2VxdWVuY2U7CisJeG1sU2NoZW1hV2lsZGNhcmRQdHIgd2lsZDsKKwkvKiBGaXJzdCBwYXJ0aWNsZS4gKi8KKwlwYXJ0aWNsZSA9IHhtbFNjaGVtYUFkZFBhcnRpY2xlKCk7CisJaWYgKHBhcnRpY2xlID09IE5VTEwpCisJICAgIHJldHVybjsKKwl4bWxTY2hlbWFUeXBlQW55VHlwZURlZi0+c3VidHlwZXMgPSAoeG1sU2NoZW1hVHlwZVB0cikgcGFydGljbGU7CisJLyogU2VxdWVuY2UgbW9kZWwgZ3JvdXAuICovCisJc2VxdWVuY2UgPSAoeG1sU2NoZW1hTW9kZWxHcm91cFB0cikKKwkgICAgeG1sTWFsbG9jKHNpemVvZih4bWxTY2hlbWFNb2RlbEdyb3VwKSk7CisJaWYgKHNlcXVlbmNlID09IE5VTEwpIHsKKwkgICAgeG1sU2NoZW1hVHlwZUVyck1lbW9yeShOVUxMLCAiYWxsb2NhdGluZyBtb2RlbCBncm91cCBjb21wb25lbnQiKTsKKwkgICAgcmV0dXJuOworCX0KKwltZW1zZXQoc2VxdWVuY2UsIDAsIHNpemVvZih4bWxTY2hlbWFNb2RlbEdyb3VwKSk7CisJc2VxdWVuY2UtPnR5cGUgPSBYTUxfU0NIRU1BX1RZUEVfU0VRVUVOQ0U7CisJcGFydGljbGUtPmNoaWxkcmVuID0gKHhtbFNjaGVtYVRyZWVJdGVtUHRyKSBzZXF1ZW5jZTsKKwkvKiBTZWNvbmQgcGFydGljbGUuICovCisJcGFydGljbGUgPSB4bWxTY2hlbWFBZGRQYXJ0aWNsZSgpOworCWlmIChwYXJ0aWNsZSA9PSBOVUxMKQorCSAgICByZXR1cm47CisJcGFydGljbGUtPm1pbk9jY3VycyA9IDA7CisJcGFydGljbGUtPm1heE9jY3VycyA9IFVOQk9VTkRFRDsKKwlzZXF1ZW5jZS0+Y2hpbGRyZW4gPSAoeG1sU2NoZW1hVHJlZUl0ZW1QdHIpIHBhcnRpY2xlOworCS8qIFRoZSB3aWxkY2FyZCAqLworCXdpbGQgPSAoeG1sU2NoZW1hV2lsZGNhcmRQdHIpIHhtbE1hbGxvYyhzaXplb2YoeG1sU2NoZW1hV2lsZGNhcmQpKTsKKwlpZiAod2lsZCA9PSBOVUxMKSB7CisJICAgIHhtbFNjaGVtYVR5cGVFcnJNZW1vcnkoTlVMTCwgImFsbG9jYXRpbmcgd2lsZGNhcmQgY29tcG9uZW50Iik7CisJICAgIHJldHVybjsKKwl9CisJbWVtc2V0KHdpbGQsIDAsIHNpemVvZih4bWxTY2hlbWFXaWxkY2FyZCkpOworCXdpbGQtPnR5cGUgPSBYTUxfU0NIRU1BX1RZUEVfQU5ZOworCXdpbGQtPmFueSA9IDE7CisJd2lsZC0+cHJvY2Vzc0NvbnRlbnRzID0gWE1MX1NDSEVNQVNfQU5ZX0xBWDsKKwlwYXJ0aWNsZS0+Y2hpbGRyZW4gPSAoeG1sU2NoZW1hVHJlZUl0ZW1QdHIpIHdpbGQ7CisJLyoKKwkqIENyZWF0ZSB0aGUgYXR0cmlidXRlIHdpbGRjYXJkLgorCSovCisJd2lsZCA9ICh4bWxTY2hlbWFXaWxkY2FyZFB0cikgeG1sTWFsbG9jKHNpemVvZih4bWxTY2hlbWFXaWxkY2FyZCkpOworCWlmICh3aWxkID09IE5VTEwpIHsKKwkgICAgeG1sU2NoZW1hVHlwZUVyck1lbW9yeShOVUxMLCAiY291bGQgbm90IGNyZWF0ZSBhbiBhdHRyaWJ1dGUgIgorCQkid2lsZGNhcmQgb24gYW55VHlwZSIpOworCSAgICByZXR1cm47CisJfQorCW1lbXNldCh3aWxkLCAwLCBzaXplb2YoeG1sU2NoZW1hV2lsZGNhcmQpKTsKKwl3aWxkLT5hbnkgPSAxOworCXdpbGQtPnByb2Nlc3NDb250ZW50cyA9IFhNTF9TQ0hFTUFTX0FOWV9MQVg7CisJeG1sU2NoZW1hVHlwZUFueVR5cGVEZWYtPmF0dHJpYnV0ZVdpbGRjYXJkID0gd2lsZDsKKyAgICB9CisgICAgeG1sU2NoZW1hVHlwZUFueVNpbXBsZVR5cGVEZWYgPSB4bWxTY2hlbWFJbml0QmFzaWNUeXBlKCJhbnlTaW1wbGVUeXBlIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWE1MX1NDSEVNQVNfQU5ZU0lNUExFVFlQRSwKKwkJCQkJCQkgICB4bWxTY2hlbWFUeXBlQW55VHlwZURlZik7CisgICAgLyoKKyAgICAqIHByaW1pdGl2ZSBkYXRhdHlwZXMKKyAgICAqLworICAgIHhtbFNjaGVtYVR5cGVTdHJpbmdEZWYgPSB4bWxTY2hlbWFJbml0QmFzaWNUeXBlKCJzdHJpbmciLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhNTF9TQ0hFTUFTX1NUUklORywKKwkJCQkJCSAgICB4bWxTY2hlbWFUeXBlQW55U2ltcGxlVHlwZURlZik7CisgICAgeG1sU2NoZW1hVHlwZURlY2ltYWxEZWYgPSB4bWxTY2hlbWFJbml0QmFzaWNUeXBlKCJkZWNpbWFsIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWE1MX1NDSEVNQVNfREVDSU1BTCwKKwkJCQkJCSAgICAgeG1sU2NoZW1hVHlwZUFueVNpbXBsZVR5cGVEZWYpOworICAgIHhtbFNjaGVtYVR5cGVEYXRlRGVmID0geG1sU2NoZW1hSW5pdEJhc2ljVHlwZSgiZGF0ZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhNTF9TQ0hFTUFTX0RBVEUsCisJCQkJCQkgIHhtbFNjaGVtYVR5cGVBbnlTaW1wbGVUeXBlRGVmKTsKKyAgICB4bWxTY2hlbWFUeXBlRGF0ZXRpbWVEZWYgPSB4bWxTY2hlbWFJbml0QmFzaWNUeXBlKCJkYXRlVGltZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfU0NIRU1BU19EQVRFVElNRSwKKwkJCQkJCSAgICAgIHhtbFNjaGVtYVR5cGVBbnlTaW1wbGVUeXBlRGVmKTsKKyAgICB4bWxTY2hlbWFUeXBlVGltZURlZiA9IHhtbFNjaGVtYUluaXRCYXNpY1R5cGUoInRpbWUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfU0NIRU1BU19USU1FLAorCQkJCQkJICB4bWxTY2hlbWFUeXBlQW55U2ltcGxlVHlwZURlZik7CisgICAgeG1sU2NoZW1hVHlwZUdZZWFyRGVmID0geG1sU2NoZW1hSW5pdEJhc2ljVHlwZSgiZ1llYXIiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWE1MX1NDSEVNQVNfR1lFQVIsCisJCQkJCQkgICB4bWxTY2hlbWFUeXBlQW55U2ltcGxlVHlwZURlZik7CisgICAgeG1sU2NoZW1hVHlwZUdZZWFyTW9udGhEZWYgPSB4bWxTY2hlbWFJbml0QmFzaWNUeXBlKCJnWWVhck1vbnRoIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWE1MX1NDSEVNQVNfR1lFQVJNT05USCwKKwkJCQkJCQl4bWxTY2hlbWFUeXBlQW55U2ltcGxlVHlwZURlZik7CisgICAgeG1sU2NoZW1hVHlwZUdNb250aERlZiA9IHhtbFNjaGVtYUluaXRCYXNpY1R5cGUoImdNb250aCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWE1MX1NDSEVNQVNfR01PTlRILAorCQkJCQkJICAgIHhtbFNjaGVtYVR5cGVBbnlTaW1wbGVUeXBlRGVmKTsKKyAgICB4bWxTY2hlbWFUeXBlR01vbnRoRGF5RGVmID0geG1sU2NoZW1hSW5pdEJhc2ljVHlwZSgiZ01vbnRoRGF5IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfU0NIRU1BU19HTU9OVEhEQVksCisJCQkJCQkgICAgICAgeG1sU2NoZW1hVHlwZUFueVNpbXBsZVR5cGVEZWYpOworICAgIHhtbFNjaGVtYVR5cGVHRGF5RGVmID0geG1sU2NoZW1hSW5pdEJhc2ljVHlwZSgiZ0RheSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhNTF9TQ0hFTUFTX0dEQVksCisJCQkJCQkgIHhtbFNjaGVtYVR5cGVBbnlTaW1wbGVUeXBlRGVmKTsKKyAgICB4bWxTY2hlbWFUeXBlRHVyYXRpb25EZWYgPSB4bWxTY2hlbWFJbml0QmFzaWNUeXBlKCJkdXJhdGlvbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfU0NIRU1BU19EVVJBVElPTiwKKwkJCQkJCSAgICAgIHhtbFNjaGVtYVR5cGVBbnlTaW1wbGVUeXBlRGVmKTsKKyAgICB4bWxTY2hlbWFUeXBlRmxvYXREZWYgPSB4bWxTY2hlbWFJbml0QmFzaWNUeXBlKCJmbG9hdCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfU0NIRU1BU19GTE9BVCwKKwkJCQkJCSAgIHhtbFNjaGVtYVR5cGVBbnlTaW1wbGVUeXBlRGVmKTsKKyAgICB4bWxTY2hlbWFUeXBlRG91YmxlRGVmID0geG1sU2NoZW1hSW5pdEJhc2ljVHlwZSgiZG91YmxlIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfU0NIRU1BU19ET1VCTEUsCisJCQkJCQkgICAgeG1sU2NoZW1hVHlwZUFueVNpbXBsZVR5cGVEZWYpOworICAgIHhtbFNjaGVtYVR5cGVCb29sZWFuRGVmID0geG1sU2NoZW1hSW5pdEJhc2ljVHlwZSgiYm9vbGVhbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhNTF9TQ0hFTUFTX0JPT0xFQU4sCisJCQkJCQkgICAgIHhtbFNjaGVtYVR5cGVBbnlTaW1wbGVUeXBlRGVmKTsKKyAgICB4bWxTY2hlbWFUeXBlQW55VVJJRGVmID0geG1sU2NoZW1hSW5pdEJhc2ljVHlwZSgiYW55VVJJIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfU0NIRU1BU19BTllVUkksCisJCQkJCQkgICAgeG1sU2NoZW1hVHlwZUFueVNpbXBsZVR5cGVEZWYpOworICAgIHhtbFNjaGVtYVR5cGVIZXhCaW5hcnlEZWYgPSB4bWxTY2hlbWFJbml0QmFzaWNUeXBlKCJoZXhCaW5hcnkiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfU0NIRU1BU19IRVhCSU5BUlksCisJCQkJCQkgICAgIHhtbFNjaGVtYVR5cGVBbnlTaW1wbGVUeXBlRGVmKTsKKyAgICB4bWxTY2hlbWFUeXBlQmFzZTY0QmluYXJ5RGVmCisgICAgICAgID0geG1sU2NoZW1hSW5pdEJhc2ljVHlwZSgiYmFzZTY0QmluYXJ5IiwgWE1MX1NDSEVNQVNfQkFTRTY0QklOQVJZLAorCXhtbFNjaGVtYVR5cGVBbnlTaW1wbGVUeXBlRGVmKTsKKyAgICB4bWxTY2hlbWFUeXBlTm90YXRpb25EZWYgPSB4bWxTY2hlbWFJbml0QmFzaWNUeXBlKCJOT1RBVElPTiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWE1MX1NDSEVNQVNfTk9UQVRJT04sCisJCQkJCQkgICAgeG1sU2NoZW1hVHlwZUFueVNpbXBsZVR5cGVEZWYpOworICAgIHhtbFNjaGVtYVR5cGVRTmFtZURlZiA9IHhtbFNjaGVtYUluaXRCYXNpY1R5cGUoIlFOYW1lIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhNTF9TQ0hFTUFTX1FOQU1FLAorCQkJCQkJICAgeG1sU2NoZW1hVHlwZUFueVNpbXBsZVR5cGVEZWYpOworCisgICAgLyoKKyAgICAgKiBkZXJpdmVkIGRhdGF0eXBlcworICAgICAqLworICAgIHhtbFNjaGVtYVR5cGVJbnRlZ2VyRGVmID0geG1sU2NoZW1hSW5pdEJhc2ljVHlwZSgiaW50ZWdlciIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhNTF9TQ0hFTUFTX0lOVEVHRVIsCisJCQkJCQkgICAgIHhtbFNjaGVtYVR5cGVEZWNpbWFsRGVmKTsKKyAgICB4bWxTY2hlbWFUeXBlTm9uUG9zaXRpdmVJbnRlZ2VyRGVmID0KKyAgICAgICAgeG1sU2NoZW1hSW5pdEJhc2ljVHlwZSgibm9uUG9zaXRpdmVJbnRlZ2VyIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfU0NIRU1BU19OUElOVEVHRVIsCisJCQkgICAgICAgeG1sU2NoZW1hVHlwZUludGVnZXJEZWYpOworICAgIHhtbFNjaGVtYVR5cGVOZWdhdGl2ZUludGVnZXJEZWYgPQorICAgICAgICB4bWxTY2hlbWFJbml0QmFzaWNUeXBlKCJuZWdhdGl2ZUludGVnZXIiLCBYTUxfU0NIRU1BU19OSU5URUdFUiwKKwl4bWxTY2hlbWFUeXBlTm9uUG9zaXRpdmVJbnRlZ2VyRGVmKTsKKyAgICB4bWxTY2hlbWFUeXBlTG9uZ0RlZiA9CisgICAgICAgIHhtbFNjaGVtYUluaXRCYXNpY1R5cGUoImxvbmciLCBYTUxfU0NIRU1BU19MT05HLAorCXhtbFNjaGVtYVR5cGVJbnRlZ2VyRGVmKTsKKyAgICB4bWxTY2hlbWFUeXBlSW50RGVmID0geG1sU2NoZW1hSW5pdEJhc2ljVHlwZSgiaW50IiwgWE1MX1NDSEVNQVNfSU5ULAorCXhtbFNjaGVtYVR5cGVMb25nRGVmKTsKKyAgICB4bWxTY2hlbWFUeXBlU2hvcnREZWYgPSB4bWxTY2hlbWFJbml0QmFzaWNUeXBlKCJzaG9ydCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfU0NIRU1BU19TSE9SVCwKKwkJCQkJCSAgIHhtbFNjaGVtYVR5cGVJbnREZWYpOworICAgIHhtbFNjaGVtYVR5cGVCeXRlRGVmID0geG1sU2NoZW1hSW5pdEJhc2ljVHlwZSgiYnl0ZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhNTF9TQ0hFTUFTX0JZVEUsCisJCQkJCQkgIHhtbFNjaGVtYVR5cGVTaG9ydERlZik7CisgICAgeG1sU2NoZW1hVHlwZU5vbk5lZ2F0aXZlSW50ZWdlckRlZiA9CisgICAgICAgIHhtbFNjaGVtYUluaXRCYXNpY1R5cGUoIm5vbk5lZ2F0aXZlSW50ZWdlciIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWE1MX1NDSEVNQVNfTk5JTlRFR0VSLAorCQkJICAgICAgIHhtbFNjaGVtYVR5cGVJbnRlZ2VyRGVmKTsKKyAgICB4bWxTY2hlbWFUeXBlVW5zaWduZWRMb25nRGVmID0KKyAgICAgICAgeG1sU2NoZW1hSW5pdEJhc2ljVHlwZSgidW5zaWduZWRMb25nIiwgWE1MX1NDSEVNQVNfVUxPTkcsCisJeG1sU2NoZW1hVHlwZU5vbk5lZ2F0aXZlSW50ZWdlckRlZik7CisgICAgeG1sU2NoZW1hVHlwZVVuc2lnbmVkSW50RGVmID0KKyAgICAgICAgeG1sU2NoZW1hSW5pdEJhc2ljVHlwZSgidW5zaWduZWRJbnQiLCBYTUxfU0NIRU1BU19VSU5ULAorCXhtbFNjaGVtYVR5cGVVbnNpZ25lZExvbmdEZWYpOworICAgIHhtbFNjaGVtYVR5cGVVbnNpZ25lZFNob3J0RGVmID0KKyAgICAgICAgeG1sU2NoZW1hSW5pdEJhc2ljVHlwZSgidW5zaWduZWRTaG9ydCIsIFhNTF9TQ0hFTUFTX1VTSE9SVCwKKwl4bWxTY2hlbWFUeXBlVW5zaWduZWRJbnREZWYpOworICAgIHhtbFNjaGVtYVR5cGVVbnNpZ25lZEJ5dGVEZWYgPQorICAgICAgICB4bWxTY2hlbWFJbml0QmFzaWNUeXBlKCJ1bnNpZ25lZEJ5dGUiLCBYTUxfU0NIRU1BU19VQllURSwKKwl4bWxTY2hlbWFUeXBlVW5zaWduZWRTaG9ydERlZik7CisgICAgeG1sU2NoZW1hVHlwZVBvc2l0aXZlSW50ZWdlckRlZiA9CisgICAgICAgIHhtbFNjaGVtYUluaXRCYXNpY1R5cGUoInBvc2l0aXZlSW50ZWdlciIsIFhNTF9TQ0hFTUFTX1BJTlRFR0VSLAorCXhtbFNjaGVtYVR5cGVOb25OZWdhdGl2ZUludGVnZXJEZWYpOworICAgIHhtbFNjaGVtYVR5cGVOb3JtU3RyaW5nRGVmID0geG1sU2NoZW1hSW5pdEJhc2ljVHlwZSgibm9ybWFsaXplZFN0cmluZyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhNTF9TQ0hFTUFTX05PUk1TVFJJTkcsCisJCQkJCQkJeG1sU2NoZW1hVHlwZVN0cmluZ0RlZik7CisgICAgeG1sU2NoZW1hVHlwZVRva2VuRGVmID0geG1sU2NoZW1hSW5pdEJhc2ljVHlwZSgidG9rZW4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWE1MX1NDSEVNQVNfVE9LRU4sCisJCQkJCQkgICB4bWxTY2hlbWFUeXBlTm9ybVN0cmluZ0RlZik7CisgICAgeG1sU2NoZW1hVHlwZUxhbmd1YWdlRGVmID0geG1sU2NoZW1hSW5pdEJhc2ljVHlwZSgibGFuZ3VhZ2UiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWE1MX1NDSEVNQVNfTEFOR1VBR0UsCisJCQkJCQkgICAgICB4bWxTY2hlbWFUeXBlVG9rZW5EZWYpOworICAgIHhtbFNjaGVtYVR5cGVOYW1lRGVmID0geG1sU2NoZW1hSW5pdEJhc2ljVHlwZSgiTmFtZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhNTF9TQ0hFTUFTX05BTUUsCisJCQkJCQkgIHhtbFNjaGVtYVR5cGVUb2tlbkRlZik7CisgICAgeG1sU2NoZW1hVHlwZU5tdG9rZW5EZWYgPSB4bWxTY2hlbWFJbml0QmFzaWNUeXBlKCJOTVRPS0VOIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWE1MX1NDSEVNQVNfTk1UT0tFTiwKKwkJCQkJCSAgICAgeG1sU2NoZW1hVHlwZVRva2VuRGVmKTsKKyAgICB4bWxTY2hlbWFUeXBlTkNOYW1lRGVmID0geG1sU2NoZW1hSW5pdEJhc2ljVHlwZSgiTkNOYW1lIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfU0NIRU1BU19OQ05BTUUsCisJCQkJCQkgICAgeG1sU2NoZW1hVHlwZU5hbWVEZWYpOworICAgIHhtbFNjaGVtYVR5cGVJZERlZiA9IHhtbFNjaGVtYUluaXRCYXNpY1R5cGUoIklEIiwgWE1MX1NDSEVNQVNfSUQsCisJCQkJCQkgICAgeG1sU2NoZW1hVHlwZU5DTmFtZURlZik7CisgICAgeG1sU2NoZW1hVHlwZUlkcmVmRGVmID0geG1sU2NoZW1hSW5pdEJhc2ljVHlwZSgiSURSRUYiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWE1MX1NDSEVNQVNfSURSRUYsCisJCQkJCQkgICB4bWxTY2hlbWFUeXBlTkNOYW1lRGVmKTsKKyAgICB4bWxTY2hlbWFUeXBlRW50aXR5RGVmID0geG1sU2NoZW1hSW5pdEJhc2ljVHlwZSgiRU5USVRZIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfU0NIRU1BU19FTlRJVFksCisJCQkJCQkgICAgeG1sU2NoZW1hVHlwZU5DTmFtZURlZik7CisgICAgLyoKKyAgICAqIERlcml2ZWQgbGlzdCB0eXBlcy4KKyAgICAqLworICAgIC8qIEVOVElUSUVTICovCisgICAgeG1sU2NoZW1hVHlwZUVudGl0aWVzRGVmID0geG1sU2NoZW1hSW5pdEJhc2ljVHlwZSgiRU5USVRJRVMiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWE1MX1NDSEVNQVNfRU5USVRJRVMsCisJCQkJCQkgICAgICB4bWxTY2hlbWFUeXBlQW55U2ltcGxlVHlwZURlZik7CisgICAgeG1sU2NoZW1hVHlwZUVudGl0aWVzRGVmLT5zdWJ0eXBlcyA9IHhtbFNjaGVtYVR5cGVFbnRpdHlEZWY7CisgICAgLyogSURSRUZTICovCisgICAgeG1sU2NoZW1hVHlwZUlkcmVmc0RlZiA9IHhtbFNjaGVtYUluaXRCYXNpY1R5cGUoIklEUkVGUyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWE1MX1NDSEVNQVNfSURSRUZTLAorCQkJCQkJICAgIHhtbFNjaGVtYVR5cGVBbnlTaW1wbGVUeXBlRGVmKTsKKyAgICB4bWxTY2hlbWFUeXBlSWRyZWZzRGVmLT5zdWJ0eXBlcyA9IHhtbFNjaGVtYVR5cGVJZHJlZkRlZjsKKworICAgIC8qIE5NVE9LRU5TICovCisgICAgeG1sU2NoZW1hVHlwZU5tdG9rZW5zRGVmID0geG1sU2NoZW1hSW5pdEJhc2ljVHlwZSgiTk1UT0tFTlMiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWE1MX1NDSEVNQVNfTk1UT0tFTlMsCisJCQkJCQkgICAgICB4bWxTY2hlbWFUeXBlQW55U2ltcGxlVHlwZURlZik7CisgICAgeG1sU2NoZW1hVHlwZU5tdG9rZW5zRGVmLT5zdWJ0eXBlcyA9IHhtbFNjaGVtYVR5cGVObXRva2VuRGVmOworCisgICAgeG1sU2NoZW1hVHlwZXNJbml0aWFsaXplZCA9IDE7Cit9CisKKy8qKgorICogeG1sU2NoZW1hQ2xlYW51cFR5cGVzOgorICoKKyAqIENsZWFudXAgdGhlIGRlZmF1bHQgWE1MIFNjaGVtYXMgdHlwZSBsaWJyYXJ5CisgKi8KK3ZvaWQKK3htbFNjaGVtYUNsZWFudXBUeXBlcyh2b2lkKSB7CisgICAgaWYgKHhtbFNjaGVtYVR5cGVzSW5pdGlhbGl6ZWQgPT0gMCkKKwlyZXR1cm47CisgICAgLyoKKyAgICAqIEZyZWUgeHM6YW55VHlwZS4KKyAgICAqLworICAgIHsKKwl4bWxTY2hlbWFQYXJ0aWNsZVB0ciBwYXJ0aWNsZTsKKwkvKiBBdHRyaWJ1dGUgd2lsZGNhcmQuICovCisJeG1sU2NoZW1hRnJlZVdpbGRjYXJkKHhtbFNjaGVtYVR5cGVBbnlUeXBlRGVmLT5hdHRyaWJ1dGVXaWxkY2FyZCk7CisJLyogQ29udGVudCB0eXBlLiAqLworCXBhcnRpY2xlID0gKHhtbFNjaGVtYVBhcnRpY2xlUHRyKSB4bWxTY2hlbWFUeXBlQW55VHlwZURlZi0+c3VidHlwZXM7CisJLyogV2lsZGNhcmQuICovCisJeG1sU2NoZW1hRnJlZVdpbGRjYXJkKCh4bWxTY2hlbWFXaWxkY2FyZFB0cikKKwkgICAgcGFydGljbGUtPmNoaWxkcmVuLT5jaGlsZHJlbi0+Y2hpbGRyZW4pOworCXhtbEZyZWUoKHhtbFNjaGVtYVBhcnRpY2xlUHRyKSBwYXJ0aWNsZS0+Y2hpbGRyZW4tPmNoaWxkcmVuKTsKKwkvKiBTZXF1ZW5jZSBtb2RlbCBncm91cC4gKi8KKwl4bWxGcmVlKCh4bWxTY2hlbWFNb2RlbEdyb3VwUHRyKSBwYXJ0aWNsZS0+Y2hpbGRyZW4pOworCXhtbEZyZWUoKHhtbFNjaGVtYVBhcnRpY2xlUHRyKSBwYXJ0aWNsZSk7CisJeG1sU2NoZW1hVHlwZUFueVR5cGVEZWYtPnN1YnR5cGVzID0gTlVMTDsKKyAgICB9CisgICAgeG1sSGFzaEZyZWUoeG1sU2NoZW1hVHlwZXNCYW5rLCAoeG1sSGFzaERlYWxsb2NhdG9yKSB4bWxTY2hlbWFGcmVlVHlwZSk7CisgICAgeG1sU2NoZW1hVHlwZXNJbml0aWFsaXplZCA9IDA7Cit9CisKKy8qKgorICogeG1sU2NoZW1hSXNCdWlsdEluVHlwZUZhY2V0OgorICogQHR5cGU6IHRoZSBidWlsdC1pbiB0eXBlCisgKiBAZmFjZXRUeXBlOiAgdGhlIGZhY2V0IHR5cGUKKyAqCisgKiBFdmFsdWF0ZXMgaWYgYSBzcGVjaWZpYyBmYWNldCBjYW4gYmUKKyAqIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBhIHR5cGUuCisgKgorICogUmV0dXJucyAxIGlmIHRoZSBmYWNldCBjYW4gYmUgdXNlZCB3aXRoIHRoZSBnaXZlbiBidWlsdC1pbiB0eXBlLAorICogMCBvdGhlcndpc2UgYW5kIC0xIGluIGNhc2UgdGhlIHR5cGUgaXMgbm90IGEgYnVpbHQtaW4gdHlwZS4KKyAqLworaW50Cit4bWxTY2hlbWFJc0J1aWx0SW5UeXBlRmFjZXQoeG1sU2NoZW1hVHlwZVB0ciB0eXBlLCBpbnQgZmFjZXRUeXBlKQoreworICAgIGlmICh0eXBlID09IE5VTEwpCisJcmV0dXJuICgtMSk7CisgICAgaWYgKHR5cGUtPnR5cGUgIT0gWE1MX1NDSEVNQV9UWVBFX0JBU0lDKQorCXJldHVybiAoLTEpOworICAgIHN3aXRjaCAodHlwZS0+YnVpbHRJblR5cGUpIHsKKwljYXNlIFhNTF9TQ0hFTUFTX0JPT0xFQU46CisJICAgIGlmICgoZmFjZXRUeXBlID09IFhNTF9TQ0hFTUFfRkFDRVRfUEFUVEVSTikgfHwKKwkJKGZhY2V0VHlwZSA9PSBYTUxfU0NIRU1BX0ZBQ0VUX1dISVRFU1BBQ0UpKQorCQlyZXR1cm4gKDEpOworCSAgICBlbHNlCisJCXJldHVybiAoMCk7CisJY2FzZSBYTUxfU0NIRU1BU19TVFJJTkc6CisJY2FzZSBYTUxfU0NIRU1BU19OT1RBVElPTjoKKwljYXNlIFhNTF9TQ0hFTUFTX1FOQU1FOgorCWNhc2UgWE1MX1NDSEVNQVNfQU5ZVVJJOgorCWNhc2UgWE1MX1NDSEVNQVNfQkFTRTY0QklOQVJZOgorCWNhc2UgWE1MX1NDSEVNQVNfSEVYQklOQVJZOgorCSAgICBpZiAoKGZhY2V0VHlwZSA9PSBYTUxfU0NIRU1BX0ZBQ0VUX0xFTkdUSCkgfHwKKwkJKGZhY2V0VHlwZSA9PSBYTUxfU0NIRU1BX0ZBQ0VUX01JTkxFTkdUSCkgfHwKKwkJKGZhY2V0VHlwZSA9PSBYTUxfU0NIRU1BX0ZBQ0VUX01BWExFTkdUSCkgfHwKKwkJKGZhY2V0VHlwZSA9PSBYTUxfU0NIRU1BX0ZBQ0VUX1BBVFRFUk4pIHx8CisJCShmYWNldFR5cGUgPT0gWE1MX1NDSEVNQV9GQUNFVF9FTlVNRVJBVElPTikgfHwKKwkJKGZhY2V0VHlwZSA9PSBYTUxfU0NIRU1BX0ZBQ0VUX1dISVRFU1BBQ0UpKQorCQlyZXR1cm4gKDEpOworCSAgICBlbHNlCisJCXJldHVybiAoMCk7CisJY2FzZSBYTUxfU0NIRU1BU19ERUNJTUFMOgorCSAgICBpZiAoKGZhY2V0VHlwZSA9PSBYTUxfU0NIRU1BX0ZBQ0VUX1RPVEFMRElHSVRTKSB8fAorCQkoZmFjZXRUeXBlID09IFhNTF9TQ0hFTUFfRkFDRVRfRlJBQ1RJT05ESUdJVFMpIHx8CisJCShmYWNldFR5cGUgPT0gWE1MX1NDSEVNQV9GQUNFVF9QQVRURVJOKSB8fAorCQkoZmFjZXRUeXBlID09IFhNTF9TQ0hFTUFfRkFDRVRfV0hJVEVTUEFDRSkgfHwKKwkJKGZhY2V0VHlwZSA9PSBYTUxfU0NIRU1BX0ZBQ0VUX0VOVU1FUkFUSU9OKSB8fAorCQkoZmFjZXRUeXBlID09IFhNTF9TQ0hFTUFfRkFDRVRfTUFYSU5DTFVTSVZFKSB8fAorCQkoZmFjZXRUeXBlID09IFhNTF9TQ0hFTUFfRkFDRVRfTUFYRVhDTFVTSVZFKSB8fAorCQkoZmFjZXRUeXBlID09IFhNTF9TQ0hFTUFfRkFDRVRfTUlOSU5DTFVTSVZFKSB8fAorCQkoZmFjZXRUeXBlID09IFhNTF9TQ0hFTUFfRkFDRVRfTUlORVhDTFVTSVZFKSkKKwkJcmV0dXJuICgxKTsKKwkgICAgZWxzZQorCQlyZXR1cm4gKDApOworCWNhc2UgWE1MX1NDSEVNQVNfVElNRToKKwljYXNlIFhNTF9TQ0hFTUFTX0dEQVk6CisJY2FzZSBYTUxfU0NIRU1BU19HTU9OVEg6CisJY2FzZSBYTUxfU0NIRU1BU19HTU9OVEhEQVk6CisJY2FzZSBYTUxfU0NIRU1BU19HWUVBUjoKKwljYXNlIFhNTF9TQ0hFTUFTX0dZRUFSTU9OVEg6CisJY2FzZSBYTUxfU0NIRU1BU19EQVRFOgorCWNhc2UgWE1MX1NDSEVNQVNfREFURVRJTUU6CisJY2FzZSBYTUxfU0NIRU1BU19EVVJBVElPTjoKKwljYXNlIFhNTF9TQ0hFTUFTX0ZMT0FUOgorCWNhc2UgWE1MX1NDSEVNQVNfRE9VQkxFOgorCSAgICBpZiAoKGZhY2V0VHlwZSA9PSBYTUxfU0NIRU1BX0ZBQ0VUX1BBVFRFUk4pIHx8CisJCShmYWNldFR5cGUgPT0gWE1MX1NDSEVNQV9GQUNFVF9FTlVNRVJBVElPTikgfHwKKwkJKGZhY2V0VHlwZSA9PSBYTUxfU0NIRU1BX0ZBQ0VUX1dISVRFU1BBQ0UpIHx8CisJCShmYWNldFR5cGUgPT0gWE1MX1NDSEVNQV9GQUNFVF9NQVhJTkNMVVNJVkUpIHx8CisJCShmYWNldFR5cGUgPT0gWE1MX1NDSEVNQV9GQUNFVF9NQVhFWENMVVNJVkUpIHx8CisJCShmYWNldFR5cGUgPT0gWE1MX1NDSEVNQV9GQUNFVF9NSU5JTkNMVVNJVkUpIHx8CisJCShmYWNldFR5cGUgPT0gWE1MX1NDSEVNQV9GQUNFVF9NSU5FWENMVVNJVkUpKQorCQlyZXR1cm4gKDEpOworCSAgICBlbHNlCisJCXJldHVybiAoMCk7CisJZGVmYXVsdDoKKwkgICAgYnJlYWs7CisgICAgfQorICAgIHJldHVybiAoMCk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hR2V0QnVpbHRJblR5cGU6CisgKiBAdHlwZTogIHRoZSB0eXBlIG9mIHRoZSBidWlsdCBpbiB0eXBlCisgKgorICogR2l2ZXMgeW91IHRoZSB0eXBlIHN0cnVjdCBmb3IgYSBidWlsdC1pbgorICogdHlwZSBieSBpdHMgdHlwZSBpZC4KKyAqCisgKiBSZXR1cm5zIHRoZSB0eXBlIGlmIGZvdW5kLCBOVUxMIG90aGVyd2lzZS4KKyAqLworeG1sU2NoZW1hVHlwZVB0cgoreG1sU2NoZW1hR2V0QnVpbHRJblR5cGUoeG1sU2NoZW1hVmFsVHlwZSB0eXBlKQoreworICAgIGlmICh4bWxTY2hlbWFUeXBlc0luaXRpYWxpemVkID09IDApCisJeG1sU2NoZW1hSW5pdFR5cGVzKCk7CisgICAgc3dpdGNoICh0eXBlKSB7CisKKwljYXNlIFhNTF9TQ0hFTUFTX0FOWVNJTVBMRVRZUEU6CisJICAgIHJldHVybiAoeG1sU2NoZW1hVHlwZUFueVNpbXBsZVR5cGVEZWYpOworCWNhc2UgWE1MX1NDSEVNQVNfU1RSSU5HOgorCSAgICByZXR1cm4gKHhtbFNjaGVtYVR5cGVTdHJpbmdEZWYpOworCWNhc2UgWE1MX1NDSEVNQVNfTk9STVNUUklORzoKKwkgICAgcmV0dXJuICh4bWxTY2hlbWFUeXBlTm9ybVN0cmluZ0RlZik7CisJY2FzZSBYTUxfU0NIRU1BU19ERUNJTUFMOgorCSAgICByZXR1cm4gKHhtbFNjaGVtYVR5cGVEZWNpbWFsRGVmKTsKKwljYXNlIFhNTF9TQ0hFTUFTX1RJTUU6CisJICAgIHJldHVybiAoeG1sU2NoZW1hVHlwZVRpbWVEZWYpOworCWNhc2UgWE1MX1NDSEVNQVNfR0RBWToKKwkgICAgcmV0dXJuICh4bWxTY2hlbWFUeXBlR0RheURlZik7CisJY2FzZSBYTUxfU0NIRU1BU19HTU9OVEg6CisJICAgIHJldHVybiAoeG1sU2NoZW1hVHlwZUdNb250aERlZik7CisJY2FzZSBYTUxfU0NIRU1BU19HTU9OVEhEQVk6CisJICAgIHJldHVybiAoeG1sU2NoZW1hVHlwZUdNb250aERheURlZik7CisJY2FzZSBYTUxfU0NIRU1BU19HWUVBUjoKKwkgICAgcmV0dXJuICh4bWxTY2hlbWFUeXBlR1llYXJEZWYpOworCWNhc2UgWE1MX1NDSEVNQVNfR1lFQVJNT05USDoKKwkgICAgcmV0dXJuICh4bWxTY2hlbWFUeXBlR1llYXJNb250aERlZik7CisJY2FzZSBYTUxfU0NIRU1BU19EQVRFOgorCSAgICByZXR1cm4gKHhtbFNjaGVtYVR5cGVEYXRlRGVmKTsKKwljYXNlIFhNTF9TQ0hFTUFTX0RBVEVUSU1FOgorCSAgICByZXR1cm4gKHhtbFNjaGVtYVR5cGVEYXRldGltZURlZik7CisJY2FzZSBYTUxfU0NIRU1BU19EVVJBVElPTjoKKwkgICAgcmV0dXJuICh4bWxTY2hlbWFUeXBlRHVyYXRpb25EZWYpOworCWNhc2UgWE1MX1NDSEVNQVNfRkxPQVQ6CisJICAgIHJldHVybiAoeG1sU2NoZW1hVHlwZUZsb2F0RGVmKTsKKwljYXNlIFhNTF9TQ0hFTUFTX0RPVUJMRToKKwkgICAgcmV0dXJuICh4bWxTY2hlbWFUeXBlRG91YmxlRGVmKTsKKwljYXNlIFhNTF9TQ0hFTUFTX0JPT0xFQU46CisJICAgIHJldHVybiAoeG1sU2NoZW1hVHlwZUJvb2xlYW5EZWYpOworCWNhc2UgWE1MX1NDSEVNQVNfVE9LRU46CisJICAgIHJldHVybiAoeG1sU2NoZW1hVHlwZVRva2VuRGVmKTsKKwljYXNlIFhNTF9TQ0hFTUFTX0xBTkdVQUdFOgorCSAgICByZXR1cm4gKHhtbFNjaGVtYVR5cGVMYW5ndWFnZURlZik7CisJY2FzZSBYTUxfU0NIRU1BU19OTVRPS0VOOgorCSAgICByZXR1cm4gKHhtbFNjaGVtYVR5cGVObXRva2VuRGVmKTsKKwljYXNlIFhNTF9TQ0hFTUFTX05NVE9LRU5TOgorCSAgICByZXR1cm4gKHhtbFNjaGVtYVR5cGVObXRva2Vuc0RlZik7CisJY2FzZSBYTUxfU0NIRU1BU19OQU1FOgorCSAgICByZXR1cm4gKHhtbFNjaGVtYVR5cGVOYW1lRGVmKTsKKwljYXNlIFhNTF9TQ0hFTUFTX1FOQU1FOgorCSAgICByZXR1cm4gKHhtbFNjaGVtYVR5cGVRTmFtZURlZik7CisJY2FzZSBYTUxfU0NIRU1BU19OQ05BTUU6CisJICAgIHJldHVybiAoeG1sU2NoZW1hVHlwZU5DTmFtZURlZik7CisJY2FzZSBYTUxfU0NIRU1BU19JRDoKKwkgICAgcmV0dXJuICh4bWxTY2hlbWFUeXBlSWREZWYpOworCWNhc2UgWE1MX1NDSEVNQVNfSURSRUY6CisJICAgIHJldHVybiAoeG1sU2NoZW1hVHlwZUlkcmVmRGVmKTsKKwljYXNlIFhNTF9TQ0hFTUFTX0lEUkVGUzoKKwkgICAgcmV0dXJuICh4bWxTY2hlbWFUeXBlSWRyZWZzRGVmKTsKKwljYXNlIFhNTF9TQ0hFTUFTX0VOVElUWToKKwkgICAgcmV0dXJuICh4bWxTY2hlbWFUeXBlRW50aXR5RGVmKTsKKwljYXNlIFhNTF9TQ0hFTUFTX0VOVElUSUVTOgorCSAgICByZXR1cm4gKHhtbFNjaGVtYVR5cGVFbnRpdGllc0RlZik7CisJY2FzZSBYTUxfU0NIRU1BU19OT1RBVElPTjoKKwkgICAgcmV0dXJuICh4bWxTY2hlbWFUeXBlTm90YXRpb25EZWYpOworCWNhc2UgWE1MX1NDSEVNQVNfQU5ZVVJJOgorCSAgICByZXR1cm4gKHhtbFNjaGVtYVR5cGVBbnlVUklEZWYpOworCWNhc2UgWE1MX1NDSEVNQVNfSU5URUdFUjoKKwkgICAgcmV0dXJuICh4bWxTY2hlbWFUeXBlSW50ZWdlckRlZik7CisJY2FzZSBYTUxfU0NIRU1BU19OUElOVEVHRVI6CisJICAgIHJldHVybiAoeG1sU2NoZW1hVHlwZU5vblBvc2l0aXZlSW50ZWdlckRlZik7CisJY2FzZSBYTUxfU0NIRU1BU19OSU5URUdFUjoKKwkgICAgcmV0dXJuICh4bWxTY2hlbWFUeXBlTmVnYXRpdmVJbnRlZ2VyRGVmKTsKKwljYXNlIFhNTF9TQ0hFTUFTX05OSU5URUdFUjoKKwkgICAgcmV0dXJuICh4bWxTY2hlbWFUeXBlTm9uTmVnYXRpdmVJbnRlZ2VyRGVmKTsKKwljYXNlIFhNTF9TQ0hFTUFTX1BJTlRFR0VSOgorCSAgICByZXR1cm4gKHhtbFNjaGVtYVR5cGVQb3NpdGl2ZUludGVnZXJEZWYpOworCWNhc2UgWE1MX1NDSEVNQVNfSU5UOgorCSAgICByZXR1cm4gKHhtbFNjaGVtYVR5cGVJbnREZWYpOworCWNhc2UgWE1MX1NDSEVNQVNfVUlOVDoKKwkgICAgcmV0dXJuICh4bWxTY2hlbWFUeXBlVW5zaWduZWRJbnREZWYpOworCWNhc2UgWE1MX1NDSEVNQVNfTE9ORzoKKwkgICAgcmV0dXJuICh4bWxTY2hlbWFUeXBlTG9uZ0RlZik7CisJY2FzZSBYTUxfU0NIRU1BU19VTE9ORzoKKwkgICAgcmV0dXJuICh4bWxTY2hlbWFUeXBlVW5zaWduZWRMb25nRGVmKTsKKwljYXNlIFhNTF9TQ0hFTUFTX1NIT1JUOgorCSAgICByZXR1cm4gKHhtbFNjaGVtYVR5cGVTaG9ydERlZik7CisJY2FzZSBYTUxfU0NIRU1BU19VU0hPUlQ6CisJICAgIHJldHVybiAoeG1sU2NoZW1hVHlwZVVuc2lnbmVkU2hvcnREZWYpOworCWNhc2UgWE1MX1NDSEVNQVNfQllURToKKwkgICAgcmV0dXJuICh4bWxTY2hlbWFUeXBlQnl0ZURlZik7CisJY2FzZSBYTUxfU0NIRU1BU19VQllURToKKwkgICAgcmV0dXJuICh4bWxTY2hlbWFUeXBlVW5zaWduZWRCeXRlRGVmKTsKKwljYXNlIFhNTF9TQ0hFTUFTX0hFWEJJTkFSWToKKwkgICAgcmV0dXJuICh4bWxTY2hlbWFUeXBlSGV4QmluYXJ5RGVmKTsKKwljYXNlIFhNTF9TQ0hFTUFTX0JBU0U2NEJJTkFSWToKKwkgICAgcmV0dXJuICh4bWxTY2hlbWFUeXBlQmFzZTY0QmluYXJ5RGVmKTsKKwljYXNlIFhNTF9TQ0hFTUFTX0FOWVRZUEU6CisJICAgIHJldHVybiAoeG1sU2NoZW1hVHlwZUFueVR5cGVEZWYpOworCWRlZmF1bHQ6CisJICAgIHJldHVybiAoTlVMTCk7CisgICAgfQorfQorCisvKioKKyAqIHhtbFNjaGVtYVZhbHVlQXBwZW5kOgorICogQHByZXY6IHRoZSB2YWx1ZQorICogQGN1cjogdGhlIHZhbHVlIHRvIGJlIGFwcGVuZGVkCisgKgorICogQXBwZW5kcyBhIG5leHQgc2libGluZyB0byBhIGxpc3Qgb2YgY29tcHV0ZWQgdmFsdWVzLgorICoKKyAqIFJldHVybnMgMCBpZiBzdWNjZWVkZWQgYW5kIC0xIG9uIEFQSSBlcnJvcnMuCisgKi8KK2ludAoreG1sU2NoZW1hVmFsdWVBcHBlbmQoeG1sU2NoZW1hVmFsUHRyIHByZXYsIHhtbFNjaGVtYVZhbFB0ciBjdXIpIHsKKworICAgIGlmICgocHJldiA9PSBOVUxMKSB8fCAoY3VyID09IE5VTEwpKQorCXJldHVybiAoLTEpOworICAgIHByZXYtPm5leHQgPSBjdXI7CisgICAgcmV0dXJuICgwKTsKK30KKworLyoqCisgKiB4bWxTY2hlbWFWYWx1ZUdldE5leHQ6CisgKiBAY3VyOiB0aGUgdmFsdWUKKyAqCisgKiBBY2Nlc3NvciBmb3IgdGhlIG5leHQgc2libGluZyBvZiBhIGxpc3Qgb2YgY29tcHV0ZWQgdmFsdWVzLgorICoKKyAqIFJldHVybnMgdGhlIG5leHQgdmFsdWUgb3IgTlVMTCBpZiB0aGVyZSB3YXMgbm9uZSwgb3Igb24KKyAqICAgICAgICAgQVBJIGVycm9ycy4KKyAqLworeG1sU2NoZW1hVmFsUHRyCit4bWxTY2hlbWFWYWx1ZUdldE5leHQoeG1sU2NoZW1hVmFsUHRyIGN1cikgeworCisgICAgaWYgKGN1ciA9PSBOVUxMKQorCXJldHVybiAoTlVMTCk7CisgICAgcmV0dXJuIChjdXItPm5leHQpOworfQorCisvKioKKyAqIHhtbFNjaGVtYVZhbHVlR2V0QXNTdHJpbmc6CisgKiBAdmFsOiB0aGUgdmFsdWUKKyAqCisgKiBBY2Nlc3NvciBmb3IgdGhlIHN0cmluZyB2YWx1ZSBvZiBhIGNvbXB1dGVkIHZhbHVlLgorICoKKyAqIFJldHVybnMgdGhlIHN0cmluZyB2YWx1ZSBvciBOVUxMIGlmIHRoZXJlIHdhcyBub25lLCBvciBvbgorICogICAgICAgICBBUEkgZXJyb3JzLgorICovCitjb25zdCB4bWxDaGFyICoKK3htbFNjaGVtYVZhbHVlR2V0QXNTdHJpbmcoeG1sU2NoZW1hVmFsUHRyIHZhbCkKK3sKKyAgICBpZiAodmFsID09IE5VTEwpCisJcmV0dXJuIChOVUxMKTsKKyAgICBzd2l0Y2ggKHZhbC0+dHlwZSkgeworCWNhc2UgWE1MX1NDSEVNQVNfU1RSSU5HOgorCWNhc2UgWE1MX1NDSEVNQVNfTk9STVNUUklORzoKKwljYXNlIFhNTF9TQ0hFTUFTX0FOWVNJTVBMRVRZUEU6CisJY2FzZSBYTUxfU0NIRU1BU19UT0tFTjoKKyAgICAgICAgY2FzZSBYTUxfU0NIRU1BU19MQU5HVUFHRToKKyAgICAgICAgY2FzZSBYTUxfU0NIRU1BU19OTVRPS0VOOgorICAgICAgICBjYXNlIFhNTF9TQ0hFTUFTX05BTUU6CisgICAgICAgIGNhc2UgWE1MX1NDSEVNQVNfTkNOQU1FOgorICAgICAgICBjYXNlIFhNTF9TQ0hFTUFTX0lEOgorICAgICAgICBjYXNlIFhNTF9TQ0hFTUFTX0lEUkVGOgorICAgICAgICBjYXNlIFhNTF9TQ0hFTUFTX0VOVElUWToKKyAgICAgICAgY2FzZSBYTUxfU0NIRU1BU19BTllVUkk6CisJICAgIHJldHVybiAoQkFEX0NBU1QgdmFsLT52YWx1ZS5zdHIpOworCWRlZmF1bHQ6CisJICAgIGJyZWFrOworICAgIH0KKyAgICByZXR1cm4gKE5VTEwpOworfQorCisvKioKKyAqIHhtbFNjaGVtYVZhbHVlR2V0QXNCb29sZWFuOgorICogQHZhbDogdGhlIHZhbHVlCisgKgorICogQWNjZXNzb3IgZm9yIHRoZSBib29sZWFuIHZhbHVlIG9mIGEgY29tcHV0ZWQgdmFsdWUuCisgKgorICogUmV0dXJucyAxIGlmIHRydWUgYW5kIDAgaWYgZmFsc2UsIG9yIGluIGNhc2Ugb2YgYW4gZXJyb3IuIEhtbS4KKyAqLworaW50Cit4bWxTY2hlbWFWYWx1ZUdldEFzQm9vbGVhbih4bWxTY2hlbWFWYWxQdHIgdmFsKQoreworICAgIGlmICgodmFsID09IE5VTEwpIHx8ICh2YWwtPnR5cGUgIT0gWE1MX1NDSEVNQVNfQk9PTEVBTikpCisJcmV0dXJuICgwKTsKKyAgICByZXR1cm4gKHZhbC0+dmFsdWUuYik7Cit9CisKKy8qKgorICogeG1sU2NoZW1hTmV3U3RyaW5nVmFsdWU6CisgKiBAdHlwZTogIHRoZSB2YWx1ZSB0eXBlCisgKiBAdmFsdWU6ICB0aGUgdmFsdWUKKyAqCisgKiBBbGxvY2F0ZSBhIG5ldyBzaW1wbGUgdHlwZSB2YWx1ZS4gVGhlIHR5cGUgY2FuIGJlCisgKiBvZiBYTUxfU0NIRU1BU19TVFJJTkcuCisgKiBXQVJOSU5HOiBUaGlzIG9uZSBpcyBpbnRlbmRlZCB0byBiZSBleHBhbmRlZCBmb3Igb3RoZXIKKyAqIHN0cmluZyBiYXNlZCB0eXBlcy4gV2UgbmVlZCB0aGlzIGZvciBhbnlTaW1wbGVUeXBlIGFzIHdlbGwuCisgKiBUaGUgZ2l2ZW4gdmFsdWUgaXMgY29uc3VtZWQgYW5kIGZyZWVkIHdpdGggdGhlIHN0cnVjdC4KKyAqCisgKiBSZXR1cm5zIGEgcG9pbnRlciB0byB0aGUgbmV3IHZhbHVlIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcgorICovCit4bWxTY2hlbWFWYWxQdHIKK3htbFNjaGVtYU5ld1N0cmluZ1ZhbHVlKHhtbFNjaGVtYVZhbFR5cGUgdHlwZSwKKwkJCWNvbnN0IHhtbENoYXIgKnZhbHVlKQoreworICAgIHhtbFNjaGVtYVZhbFB0ciB2YWw7CisKKyAgICBpZiAodHlwZSAhPSBYTUxfU0NIRU1BU19TVFJJTkcpCisJcmV0dXJuKE5VTEwpOworICAgIHZhbCA9ICh4bWxTY2hlbWFWYWxQdHIpIHhtbE1hbGxvYyhzaXplb2YoeG1sU2NoZW1hVmFsKSk7CisgICAgaWYgKHZhbCA9PSBOVUxMKSB7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBtZW1zZXQodmFsLCAwLCBzaXplb2YoeG1sU2NoZW1hVmFsKSk7CisgICAgdmFsLT50eXBlID0gdHlwZTsKKyAgICB2YWwtPnZhbHVlLnN0ciA9ICh4bWxDaGFyICopIHZhbHVlOworICAgIHJldHVybih2YWwpOworfQorCisvKioKKyAqIHhtbFNjaGVtYU5ld05PVEFUSU9OVmFsdWU6CisgKiBAbmFtZTogIHRoZSBub3RhdGlvbiBuYW1lCisgKiBAbnM6IHRoZSBub3RhdGlvbiBuYW1lc3BhY2UgbmFtZSBvciBOVUxMCisgKgorICogQWxsb2NhdGUgYSBuZXcgTk9UQVRJT04gdmFsdWUuCisgKiBUaGUgZ2l2ZW4gdmFsdWVzIGFyZSBjb25zdW1lZCBhbmQgZnJlZWQgd2l0aCB0aGUgc3RydWN0LgorICoKKyAqIFJldHVybnMgYSBwb2ludGVyIHRvIHRoZSBuZXcgdmFsdWUgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3htbFNjaGVtYVZhbFB0cgoreG1sU2NoZW1hTmV3Tk9UQVRJT05WYWx1ZShjb25zdCB4bWxDaGFyICpuYW1lLAorCQkJICBjb25zdCB4bWxDaGFyICpucykKK3sKKyAgICB4bWxTY2hlbWFWYWxQdHIgdmFsOworCisgICAgdmFsID0geG1sU2NoZW1hTmV3VmFsdWUoWE1MX1NDSEVNQVNfTk9UQVRJT04pOworICAgIGlmICh2YWwgPT0gTlVMTCkKKwlyZXR1cm4gKE5VTEwpOworCisgICAgdmFsLT52YWx1ZS5xbmFtZS5uYW1lID0gKHhtbENoYXIgKiluYW1lOworICAgIGlmIChucyAhPSBOVUxMKQorCXZhbC0+dmFsdWUucW5hbWUudXJpID0gKHhtbENoYXIgKiluczsKKyAgICByZXR1cm4odmFsKTsKK30KKworLyoqCisgKiB4bWxTY2hlbWFOZXdRTmFtZVZhbHVlOgorICogQG5hbWVzcGFjZU5hbWU6IHRoZSBuYW1lc3BhY2UgbmFtZQorICogQGxvY2FsTmFtZTogdGhlIGxvY2FsIG5hbWUKKyAqCisgKiBBbGxvY2F0ZSBhIG5ldyBRTmFtZSB2YWx1ZS4KKyAqIFRoZSBnaXZlbiB2YWx1ZXMgYXJlIGNvbnN1bWVkIGFuZCBmcmVlZCB3aXRoIHRoZSBzdHJ1Y3QuCisgKgorICogUmV0dXJucyBhIHBvaW50ZXIgdG8gdGhlIG5ldyB2YWx1ZSBvciBOVUxMIGluIGNhc2Ugb2YgYW4gZXJyb3IuCisgKi8KK3htbFNjaGVtYVZhbFB0cgoreG1sU2NoZW1hTmV3UU5hbWVWYWx1ZShjb25zdCB4bWxDaGFyICpuYW1lc3BhY2VOYW1lLAorCQkgICAgICAgY29uc3QgeG1sQ2hhciAqbG9jYWxOYW1lKQoreworICAgIHhtbFNjaGVtYVZhbFB0ciB2YWw7CisKKyAgICB2YWwgPSB4bWxTY2hlbWFOZXdWYWx1ZShYTUxfU0NIRU1BU19RTkFNRSk7CisgICAgaWYgKHZhbCA9PSBOVUxMKQorCXJldHVybiAoTlVMTCk7CisKKyAgICB2YWwtPnZhbHVlLnFuYW1lLm5hbWUgPSAoeG1sQ2hhciAqKSBsb2NhbE5hbWU7CisgICAgdmFsLT52YWx1ZS5xbmFtZS51cmkgPSAoeG1sQ2hhciAqKSBuYW1lc3BhY2VOYW1lOworICAgIHJldHVybih2YWwpOworfQorCisvKioKKyAqIHhtbFNjaGVtYUZyZWVWYWx1ZToKKyAqIEB2YWx1ZTogIHRoZSB2YWx1ZSB0byBmcmVlCisgKgorICogQ2xlYW51cCB0aGUgZGVmYXVsdCBYTUwgU2NoZW1hcyB0eXBlIGxpYnJhcnkKKyAqLwordm9pZAoreG1sU2NoZW1hRnJlZVZhbHVlKHhtbFNjaGVtYVZhbFB0ciB2YWx1ZSkgeworICAgIHhtbFNjaGVtYVZhbFB0ciBwcmV2OworCisgICAgd2hpbGUgKHZhbHVlICE9IE5VTEwpIHsKKwlzd2l0Y2ggKHZhbHVlLT50eXBlKSB7CisJICAgIGNhc2UgWE1MX1NDSEVNQVNfU1RSSU5HOgorCSAgICBjYXNlIFhNTF9TQ0hFTUFTX05PUk1TVFJJTkc6CisJICAgIGNhc2UgWE1MX1NDSEVNQVNfVE9LRU46CisJICAgIGNhc2UgWE1MX1NDSEVNQVNfTEFOR1VBR0U6CisJICAgIGNhc2UgWE1MX1NDSEVNQVNfTk1UT0tFTjoKKwkgICAgY2FzZSBYTUxfU0NIRU1BU19OTVRPS0VOUzoKKwkgICAgY2FzZSBYTUxfU0NIRU1BU19OQU1FOgorCSAgICBjYXNlIFhNTF9TQ0hFTUFTX05DTkFNRToKKwkgICAgY2FzZSBYTUxfU0NIRU1BU19JRDoKKwkgICAgY2FzZSBYTUxfU0NIRU1BU19JRFJFRjoKKwkgICAgY2FzZSBYTUxfU0NIRU1BU19JRFJFRlM6CisJICAgIGNhc2UgWE1MX1NDSEVNQVNfRU5USVRZOgorCSAgICBjYXNlIFhNTF9TQ0hFTUFTX0VOVElUSUVTOgorCSAgICBjYXNlIFhNTF9TQ0hFTUFTX0FOWVVSSToKKwkgICAgY2FzZSBYTUxfU0NIRU1BU19BTllTSU1QTEVUWVBFOgorCQlpZiAodmFsdWUtPnZhbHVlLnN0ciAhPSBOVUxMKQorCQkgICAgeG1sRnJlZSh2YWx1ZS0+dmFsdWUuc3RyKTsKKwkJYnJlYWs7CisJICAgIGNhc2UgWE1MX1NDSEVNQVNfTk9UQVRJT046CisJICAgIGNhc2UgWE1MX1NDSEVNQVNfUU5BTUU6CisJCWlmICh2YWx1ZS0+dmFsdWUucW5hbWUudXJpICE9IE5VTEwpCisJCSAgICB4bWxGcmVlKHZhbHVlLT52YWx1ZS5xbmFtZS51cmkpOworCQlpZiAodmFsdWUtPnZhbHVlLnFuYW1lLm5hbWUgIT0gTlVMTCkKKwkJICAgIHhtbEZyZWUodmFsdWUtPnZhbHVlLnFuYW1lLm5hbWUpOworCQlicmVhazsKKwkgICAgY2FzZSBYTUxfU0NIRU1BU19IRVhCSU5BUlk6CisJCWlmICh2YWx1ZS0+dmFsdWUuaGV4LnN0ciAhPSBOVUxMKQorCQkgICAgeG1sRnJlZSh2YWx1ZS0+dmFsdWUuaGV4LnN0cik7CisJCWJyZWFrOworCSAgICBjYXNlIFhNTF9TQ0hFTUFTX0JBU0U2NEJJTkFSWToKKwkJaWYgKHZhbHVlLT52YWx1ZS5iYXNlNjQuc3RyICE9IE5VTEwpCisJCSAgICB4bWxGcmVlKHZhbHVlLT52YWx1ZS5iYXNlNjQuc3RyKTsKKwkJYnJlYWs7CisJICAgIGRlZmF1bHQ6CisJCWJyZWFrOworCX0KKwlwcmV2ID0gdmFsdWU7CisJdmFsdWUgPSB2YWx1ZS0+bmV4dDsKKwl4bWxGcmVlKHByZXYpOworICAgIH0KK30KKworLyoqCisgKiB4bWxTY2hlbWFHZXRQcmVkZWZpbmVkVHlwZToKKyAqIEBuYW1lOiB0aGUgdHlwZSBuYW1lCisgKiBAbnM6ICB0aGUgVVJJIG9mIHRoZSBuYW1lc3BhY2UgdXN1YWxseSAiaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiCisgKgorICogTG9va3VwIGEgdHlwZSBpbiB0aGUgZGVmYXVsdCBYTUwgU2NoZW1hcyB0eXBlIGxpYnJhcnkKKyAqCisgKiBSZXR1cm5zIHRoZSB0eXBlIGlmIGZvdW5kLCBOVUxMIG90aGVyd2lzZQorICovCit4bWxTY2hlbWFUeXBlUHRyCit4bWxTY2hlbWFHZXRQcmVkZWZpbmVkVHlwZShjb25zdCB4bWxDaGFyICpuYW1lLCBjb25zdCB4bWxDaGFyICpucykgeworICAgIGlmICh4bWxTY2hlbWFUeXBlc0luaXRpYWxpemVkID09IDApCisJeG1sU2NoZW1hSW5pdFR5cGVzKCk7CisgICAgaWYgKG5hbWUgPT0gTlVMTCkKKwlyZXR1cm4oTlVMTCk7CisgICAgcmV0dXJuKCh4bWxTY2hlbWFUeXBlUHRyKSB4bWxIYXNoTG9va3VwMih4bWxTY2hlbWFUeXBlc0JhbmssIG5hbWUsIG5zKSk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hR2V0QnVpbHRJbkxpc3RTaW1wbGVUeXBlSXRlbVR5cGU6CisgKiBAdHlwZTogdGhlIGJ1aWx0LWluIHNpbXBsZSB0eXBlLgorICoKKyAqIExvb2t1cCBmdW5jdGlvbgorICoKKyAqIFJldHVybnMgdGhlIGl0ZW0gdHlwZSBvZiBAdHlwZSBhcyBkZWZpbmVkIGJ5IHRoZSBidWlsdC1pbiBkYXRhdHlwZQorICogaGllcmFyY2h5IG9mIFhNTCBTY2hlbWEgUGFydCAyOiBEYXRhdHlwZXMsIG9yIE5VTEwgaW4gY2FzZSBvZiBhbiBlcnJvci4KKyAqLworeG1sU2NoZW1hVHlwZVB0cgoreG1sU2NoZW1hR2V0QnVpbHRJbkxpc3RTaW1wbGVUeXBlSXRlbVR5cGUoeG1sU2NoZW1hVHlwZVB0ciB0eXBlKQoreworICAgIGlmICgodHlwZSA9PSBOVUxMKSB8fCAodHlwZS0+dHlwZSAhPSBYTUxfU0NIRU1BX1RZUEVfQkFTSUMpKQorCXJldHVybiAoTlVMTCk7CisgICAgc3dpdGNoICh0eXBlLT5idWlsdEluVHlwZSkgeworCWNhc2UgWE1MX1NDSEVNQVNfTk1UT0tFTlM6CisJICAgIHJldHVybiAoeG1sU2NoZW1hVHlwZU5tdG9rZW5EZWYgKTsKKwljYXNlIFhNTF9TQ0hFTUFTX0lEUkVGUzoKKwkgICAgcmV0dXJuICh4bWxTY2hlbWFUeXBlSWRyZWZEZWYpOworCWNhc2UgWE1MX1NDSEVNQVNfRU5USVRJRVM6CisJICAgIHJldHVybiAoeG1sU2NoZW1hVHlwZUVudGl0eURlZik7CisJZGVmYXVsdDoKKwkgICAgcmV0dXJuIChOVUxMKTsKKyAgICB9Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJKgorICoJCUNvbnZlbmllbmNlIG1hY3JvcyBhbmQgZnVuY3Rpb25zCQkqCisgKgkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNkZWZpbmUgSVNfVFpPX0NIQVIoYykJCQkJCQlcCisJKChjID09IDApIHx8IChjID09ICdaJykgfHwgKGMgPT0gJysnKSB8fCAoYyA9PSAnLScpKQorCisjZGVmaW5lIFZBTElEX1lFQVIoeXIpICAgICAgICAgICh5ciAhPSAwKQorI2RlZmluZSBWQUxJRF9NT05USChtb24pICAgICAgICAoKG1vbiA+PSAxKSAmJiAobW9uIDw9IDEyKSkKKy8qIFZBTElEX0RBWSBzaG91bGQgb25seSBiZSB1c2VkIHdoZW4gbW9udGggaXMgdW5rbm93biAqLworI2RlZmluZSBWQUxJRF9EQVkoZGF5KSAgICAgICAgICAoKGRheSA+PSAxKSAmJiAoZGF5IDw9IDMxKSkKKyNkZWZpbmUgVkFMSURfSE9VUihocikgICAgICAgICAgKChociA+PSAwKSAmJiAoaHIgPD0gMjMpKQorI2RlZmluZSBWQUxJRF9NSU4obWluKSAgICAgICAgICAoKG1pbiA+PSAwKSAmJiAobWluIDw9IDU5KSkKKyNkZWZpbmUgVkFMSURfU0VDKHNlYykgICAgICAgICAgKChzZWMgPj0gMCkgJiYgKHNlYyA8IDYwKSkKKyNkZWZpbmUgVkFMSURfVFpPKHR6bykgICAgICAgICAgKCh0em8gPiAtODQwKSAmJiAodHpvIDwgODQwKSkKKyNkZWZpbmUgSVNfTEVBUCh5KQkJCQkJCVwKKwkoKCh5ICUgNCA9PSAwKSAmJiAoeSAlIDEwMCAhPSAwKSkgfHwgKHkgJSA0MDAgPT0gMCkpCisKK3N0YXRpYyBjb25zdCB1bnNpZ25lZCBpbnQgZGF5c0luTW9udGhbMTJdID0KKwl7IDMxLCAyOCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMSwgMzAsIDMxLCAzMCwgMzEgfTsKK3N0YXRpYyBjb25zdCB1bnNpZ25lZCBpbnQgZGF5c0luTW9udGhMZWFwWzEyXSA9CisJeyAzMSwgMjksIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzEsIDMwLCAzMSwgMzAsIDMxIH07CisKKyNkZWZpbmUgTUFYX0RBWUlOTU9OVEgoeXIsbW9uKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIChJU19MRUFQKHlyKSA/IGRheXNJbk1vbnRoTGVhcFttb24gLSAxXSA6IGRheXNJbk1vbnRoW21vbiAtIDFdKQorCisjZGVmaW5lIFZBTElEX01EQVkoZHQpCQkJCQkJXAorCShJU19MRUFQKGR0LT55ZWFyKSA/CQkJCSAgICAgICAgXAorCSAgICAoZHQtPmRheSA8PSBkYXlzSW5Nb250aExlYXBbZHQtPm1vbiAtIDFdKSA6CSAgICAgICAgXAorCSAgICAoZHQtPmRheSA8PSBkYXlzSW5Nb250aFtkdC0+bW9uIC0gMV0pKQorCisjZGVmaW5lIFZBTElEX0RBVEUoZHQpCQkJCQkJXAorCShWQUxJRF9ZRUFSKGR0LT55ZWFyKSAmJiBWQUxJRF9NT05USChkdC0+bW9uKSAmJiBWQUxJRF9NREFZKGR0KSkKKworI2RlZmluZSBWQUxJRF9USU1FKGR0KQkJCQkJCVwKKwkoVkFMSURfSE9VUihkdC0+aG91cikgJiYgVkFMSURfTUlOKGR0LT5taW4pICYmCQlcCisJIFZBTElEX1NFQyhkdC0+c2VjKSAmJiBWQUxJRF9UWk8oZHQtPnR6bykpCisKKyNkZWZpbmUgVkFMSURfREFURVRJTUUoZHQpCQkJCQlcCisJKFZBTElEX0RBVEUoZHQpICYmIFZBTElEX1RJTUUoZHQpKQorCisjZGVmaW5lIFNFQ1NfUEVSX01JTiAgICAgICAgICAgICg2MCkKKyNkZWZpbmUgU0VDU19QRVJfSE9VUiAgICAgICAgICAgKDYwICogU0VDU19QRVJfTUlOKQorI2RlZmluZSBTRUNTX1BFUl9EQVkgICAgICAgICAgICAoMjQgKiBTRUNTX1BFUl9IT1VSKQorCitzdGF0aWMgY29uc3QgbG9uZyBkYXlJblllYXJCeU1vbnRoWzEyXSA9CisJeyAwLCAzMSwgNTksIDkwLCAxMjAsIDE1MSwgMTgxLCAyMTIsIDI0MywgMjczLCAzMDQsIDMzNCB9Oworc3RhdGljIGNvbnN0IGxvbmcgZGF5SW5MZWFwWWVhckJ5TW9udGhbMTJdID0KKwl7IDAsIDMxLCA2MCwgOTEsIDEyMSwgMTUyLCAxODIsIDIxMywgMjQ0LCAyNzQsIDMwNSwgMzM1IH07CisKKyNkZWZpbmUgREFZX0lOX1lFQVIoZGF5LCBtb250aCwgeWVhcikJCQkJXAorICAgICAgICAoKElTX0xFQVAoeWVhcikgPwkJCQkJXAorICAgICAgICAgICAgICAgIGRheUluTGVhcFllYXJCeU1vbnRoW21vbnRoIC0gMV0gOgkJXAorICAgICAgICAgICAgICAgIGRheUluWWVhckJ5TW9udGhbbW9udGggLSAxXSkgKyBkYXkpCisKKyNpZmRlZiBERUJVRworI2RlZmluZSBERUJVR19EQVRFKGR0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAidHlwZT0lbyAlMDRsZC0lMDJ1LSUwMnVUJTAydTolMDJ1OiUwM2YiLCAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBkdC0+dHlwZSxkdC0+dmFsdWUuZGF0ZS55ZWFyLGR0LT52YWx1ZS5kYXRlLm1vbiwgICAgICAgICAgICAgICAgXAorICAgICAgICBkdC0+dmFsdWUuZGF0ZS5kYXksZHQtPnZhbHVlLmRhdGUuaG91cixkdC0+dmFsdWUuZGF0ZS5taW4sICAgICAgXAorICAgICAgICBkdC0+dmFsdWUuZGF0ZS5zZWMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGlmIChkdC0+dmFsdWUuZGF0ZS50el9mbGFnKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBpZiAoZHQtPnZhbHVlLmRhdGUudHpvICE9IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICIlKzA1ZFxuIixkdC0+dmFsdWUuZGF0ZS50em8pOyAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBlbHNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICJaXG4iKTsgICAgICAgICAgICAgXAorICAgIGVsc2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwiXG4iKQorI2Vsc2UKKyNkZWZpbmUgREVCVUdfREFURShkdCkKKyNlbmRpZgorCisvKioKKyAqIF94bWxTY2hlbWFQYXJzZUdZZWFyOgorICogQGR0OiAgcG9pbnRlciB0byBhIGRhdGUgc3RydWN0dXJlCisgKiBAc3RyOiBwb2ludGVyIHRvIHRoZSBzdHJpbmcgdG8gYW5hbHl6ZQorICoKKyAqIFBhcnNlcyBhIHhzOmdZZWFyIHdpdGhvdXQgdGltZSB6b25lIGFuZCBmaWxscyBpbiB0aGUgYXBwcm9wcmlhdGUKKyAqIGZpZWxkIG9mIHRoZSBAZHQgc3RydWN0dXJlLiBAc3RyIGlzIHVwZGF0ZWQgdG8gcG9pbnQganVzdCBhZnRlciB0aGUKKyAqIHhzOmdZZWFyLiBJdCBpcyBzdXBwb3NlZCB0aGF0IEBkdC0+eWVhciBpcyBiaWcgZW5vdWdoIHRvIGNvbnRhaW4KKyAqIHRoZSB5ZWFyLgorICoKKyAqIFJldHVybnMgMCBvciB0aGUgZXJyb3IgY29kZQorICovCitzdGF0aWMgaW50CitfeG1sU2NoZW1hUGFyc2VHWWVhciAoeG1sU2NoZW1hVmFsRGF0ZVB0ciBkdCwgY29uc3QgeG1sQ2hhciAqKnN0cikgeworICAgIGNvbnN0IHhtbENoYXIgKmN1ciA9ICpzdHIsICpmaXJzdENoYXI7CisgICAgaW50IGlzbmVnID0gMCwgZGlnY250ID0gMDsKKworICAgIGlmICgoKCpjdXIgPCAnMCcpIHx8ICgqY3VyID4gJzknKSkgJiYKKwkoKmN1ciAhPSAnLScpICYmICgqY3VyICE9ICcrJykpCisJcmV0dXJuIC0xOworCisgICAgaWYgKCpjdXIgPT0gJy0nKSB7CisJaXNuZWcgPSAxOworCWN1cisrOworICAgIH0KKworICAgIGZpcnN0Q2hhciA9IGN1cjsKKworICAgIHdoaWxlICgoKmN1ciA+PSAnMCcpICYmICgqY3VyIDw9ICc5JykpIHsKKwlkdC0+eWVhciA9IGR0LT55ZWFyICogMTAgKyAoKmN1ciAtICcwJyk7CisJY3VyKys7CisJZGlnY250Kys7CisgICAgfQorCisgICAgLyogeWVhciBtdXN0IGJlIGF0IGxlYXN0IDQgZGlnaXRzIChDQ1lZKTsgb3ZlciA0CisgICAgICogZGlnaXRzIGNhbm5vdCBoYXZlIGEgbGVhZGluZyB6ZXJvLiAqLworICAgIGlmICgoZGlnY250IDwgNCkgfHwgKChkaWdjbnQgPiA0KSAmJiAoKmZpcnN0Q2hhciA9PSAnMCcpKSkKKwlyZXR1cm4gMTsKKworICAgIGlmIChpc25lZykKKwlkdC0+eWVhciA9IC0gZHQtPnllYXI7CisKKyAgICBpZiAoIVZBTElEX1lFQVIoZHQtPnllYXIpKQorCXJldHVybiAyOworCisgICAgKnN0ciA9IGN1cjsKKyAgICByZXR1cm4gMDsKK30KKworLyoqCisgKiBQQVJTRV8yX0RJR0lUUzoKKyAqIEBudW06ICB0aGUgaW50ZWdlciB0byBmaWxsIGluCisgKiBAY3VyOiAgYW4gI3htbENoYXIgKgorICogQGludmFsaWQ6IGFuIGludGVnZXIKKyAqCisgKiBQYXJzZXMgYSAyLWRpZ2l0cyBpbnRlZ2VyIGFuZCB1cGRhdGVzIEBudW0gd2l0aCB0aGUgdmFsdWUuIEBjdXIgaXMKKyAqIHVwZGF0ZWQgdG8gcG9pbnQganVzdCBhZnRlciB0aGUgaW50ZWdlci4KKyAqIEluIGNhc2Ugb2YgZXJyb3IsIEBpbnZhbGlkIGlzIHNldCB0byAlVFJVRSwgdmFsdWVzIG9mIEBudW0gYW5kCisgKiBAY3VyIGFyZSB1bmRlZmluZWQuCisgKi8KKyNkZWZpbmUgUEFSU0VfMl9ESUdJVFMobnVtLCBjdXIsIGludmFsaWQpCQkJXAorCWlmICgoY3VyWzBdIDwgJzAnKSB8fCAoY3VyWzBdID4gJzknKSB8fAkJCVwKKwkgICAgKGN1clsxXSA8ICcwJykgfHwgKGN1clsxXSA+ICc5JykpCQkJXAorCSAgICBpbnZhbGlkID0gMTsJCQkJCVwKKwllbHNlCQkJCQkJCVwKKwkgICAgbnVtID0gKGN1clswXSAtICcwJykgKiAxMCArIChjdXJbMV0gLSAnMCcpOwkJXAorCWN1ciArPSAyOworCisvKioKKyAqIFBBUlNFX0ZMT0FUOgorICogQG51bTogIHRoZSBkb3VibGUgdG8gZmlsbCBpbgorICogQGN1cjogIGFuICN4bWxDaGFyICoKKyAqIEBpbnZhbGlkOiBhbiBpbnRlZ2VyCisgKgorICogUGFyc2VzIGEgZmxvYXQgYW5kIHVwZGF0ZXMgQG51bSB3aXRoIHRoZSB2YWx1ZS4gQGN1ciBpcworICogdXBkYXRlZCB0byBwb2ludCBqdXN0IGFmdGVyIHRoZSBmbG9hdC4gVGhlIGZsb2F0IG11c3QgaGF2ZSBhCisgKiAyLWRpZ2l0cyBpbnRlZ2VyIHBhcnQgYW5kIG1heSBvciBtYXkgbm90IGhhdmUgYSBkZWNpbWFsIHBhcnQuCisgKiBJbiBjYXNlIG9mIGVycm9yLCBAaW52YWxpZCBpcyBzZXQgdG8gJVRSVUUsIHZhbHVlcyBvZiBAbnVtIGFuZAorICogQGN1ciBhcmUgdW5kZWZpbmVkLgorICovCisjZGVmaW5lIFBBUlNFX0ZMT0FUKG51bSwgY3VyLCBpbnZhbGlkKQkJCQlcCisJUEFSU0VfMl9ESUdJVFMobnVtLCBjdXIsIGludmFsaWQpOwkJCVwKKwlpZiAoIWludmFsaWQgJiYgKCpjdXIgPT0gJy4nKSkgewkJCVwKKwkgICAgZG91YmxlIG11bHQgPSAxOwkJCQkgICAgICAgIFwKKwkgICAgY3VyKys7CQkJCQkJXAorCSAgICBpZiAoKCpjdXIgPCAnMCcpIHx8ICgqY3VyID4gJzknKSkJCQlcCisJCWludmFsaWQgPSAxOwkJCQkJXAorCSAgICB3aGlsZSAoKCpjdXIgPj0gJzAnKSAmJiAoKmN1ciA8PSAnOScpKSB7CQlcCisJCW11bHQgLz0gMTA7CQkJCQlcCisJCW51bSArPSAoKmN1ciAtICcwJykgKiBtdWx0OwkJCVwKKwkJY3VyKys7CQkJCQkJXAorCSAgICB9CQkJCQkJCVwKKwl9CisKKy8qKgorICogX3htbFNjaGVtYVBhcnNlR01vbnRoOgorICogQGR0OiAgcG9pbnRlciB0byBhIGRhdGUgc3RydWN0dXJlCisgKiBAc3RyOiBwb2ludGVyIHRvIHRoZSBzdHJpbmcgdG8gYW5hbHl6ZQorICoKKyAqIFBhcnNlcyBhIHhzOmdNb250aCB3aXRob3V0IHRpbWUgem9uZSBhbmQgZmlsbHMgaW4gdGhlIGFwcHJvcHJpYXRlCisgKiBmaWVsZCBvZiB0aGUgQGR0IHN0cnVjdHVyZS4gQHN0ciBpcyB1cGRhdGVkIHRvIHBvaW50IGp1c3QgYWZ0ZXIgdGhlCisgKiB4czpnTW9udGguCisgKgorICogUmV0dXJucyAwIG9yIHRoZSBlcnJvciBjb2RlCisgKi8KK3N0YXRpYyBpbnQKK194bWxTY2hlbWFQYXJzZUdNb250aCAoeG1sU2NoZW1hVmFsRGF0ZVB0ciBkdCwgY29uc3QgeG1sQ2hhciAqKnN0cikgeworICAgIGNvbnN0IHhtbENoYXIgKmN1ciA9ICpzdHI7CisgICAgaW50IHJldCA9IDA7CisgICAgdW5zaWduZWQgaW50IHZhbHVlID0gMDsKKworICAgIFBBUlNFXzJfRElHSVRTKHZhbHVlLCBjdXIsIHJldCk7CisgICAgaWYgKHJldCAhPSAwKQorCXJldHVybiByZXQ7CisKKyAgICBpZiAoIVZBTElEX01PTlRIKHZhbHVlKSkKKwlyZXR1cm4gMjsKKworICAgIGR0LT5tb24gPSB2YWx1ZTsKKworICAgICpzdHIgPSBjdXI7CisgICAgcmV0dXJuIDA7Cit9CisKKy8qKgorICogX3htbFNjaGVtYVBhcnNlR0RheToKKyAqIEBkdDogIHBvaW50ZXIgdG8gYSBkYXRlIHN0cnVjdHVyZQorICogQHN0cjogcG9pbnRlciB0byB0aGUgc3RyaW5nIHRvIGFuYWx5emUKKyAqCisgKiBQYXJzZXMgYSB4czpnRGF5IHdpdGhvdXQgdGltZSB6b25lIGFuZCBmaWxscyBpbiB0aGUgYXBwcm9wcmlhdGUKKyAqIGZpZWxkIG9mIHRoZSBAZHQgc3RydWN0dXJlLiBAc3RyIGlzIHVwZGF0ZWQgdG8gcG9pbnQganVzdCBhZnRlciB0aGUKKyAqIHhzOmdEYXkuCisgKgorICogUmV0dXJucyAwIG9yIHRoZSBlcnJvciBjb2RlCisgKi8KK3N0YXRpYyBpbnQKK194bWxTY2hlbWFQYXJzZUdEYXkgKHhtbFNjaGVtYVZhbERhdGVQdHIgZHQsIGNvbnN0IHhtbENoYXIgKipzdHIpIHsKKyAgICBjb25zdCB4bWxDaGFyICpjdXIgPSAqc3RyOworICAgIGludCByZXQgPSAwOworICAgIHVuc2lnbmVkIGludCB2YWx1ZSA9IDA7CisKKyAgICBQQVJTRV8yX0RJR0lUUyh2YWx1ZSwgY3VyLCByZXQpOworICAgIGlmIChyZXQgIT0gMCkKKwlyZXR1cm4gcmV0OworCisgICAgaWYgKCFWQUxJRF9EQVkodmFsdWUpKQorCXJldHVybiAyOworCisgICAgZHQtPmRheSA9IHZhbHVlOworICAgICpzdHIgPSBjdXI7CisgICAgcmV0dXJuIDA7Cit9CisKKy8qKgorICogX3htbFNjaGVtYVBhcnNlVGltZToKKyAqIEBkdDogIHBvaW50ZXIgdG8gYSBkYXRlIHN0cnVjdHVyZQorICogQHN0cjogcG9pbnRlciB0byB0aGUgc3RyaW5nIHRvIGFuYWx5emUKKyAqCisgKiBQYXJzZXMgYSB4czp0aW1lIHdpdGhvdXQgdGltZSB6b25lIGFuZCBmaWxscyBpbiB0aGUgYXBwcm9wcmlhdGUKKyAqIGZpZWxkcyBvZiB0aGUgQGR0IHN0cnVjdHVyZS4gQHN0ciBpcyB1cGRhdGVkIHRvIHBvaW50IGp1c3QgYWZ0ZXIgdGhlCisgKiB4czp0aW1lLgorICogSW4gY2FzZSBvZiBlcnJvciwgdmFsdWVzIG9mIEBkdCBmaWVsZHMgYXJlIHVuZGVmaW5lZC4KKyAqCisgKiBSZXR1cm5zIDAgb3IgdGhlIGVycm9yIGNvZGUKKyAqLworc3RhdGljIGludAorX3htbFNjaGVtYVBhcnNlVGltZSAoeG1sU2NoZW1hVmFsRGF0ZVB0ciBkdCwgY29uc3QgeG1sQ2hhciAqKnN0cikgeworICAgIGNvbnN0IHhtbENoYXIgKmN1ciA9ICpzdHI7CisgICAgaW50IHJldCA9IDA7CisgICAgaW50IHZhbHVlID0gMDsKKworICAgIFBBUlNFXzJfRElHSVRTKHZhbHVlLCBjdXIsIHJldCk7CisgICAgaWYgKHJldCAhPSAwKQorCXJldHVybiByZXQ7CisgICAgaWYgKCpjdXIgIT0gJzonKQorCXJldHVybiAxOworICAgIGlmICghVkFMSURfSE9VUih2YWx1ZSkpCisJcmV0dXJuIDI7CisgICAgY3VyKys7CisKKyAgICAvKiB0aGUgJzonIGluc3VyZXMgdGhpcyBzdHJpbmcgaXMgeHM6dGltZSAqLworICAgIGR0LT5ob3VyID0gdmFsdWU7CisKKyAgICBQQVJTRV8yX0RJR0lUUyh2YWx1ZSwgY3VyLCByZXQpOworICAgIGlmIChyZXQgIT0gMCkKKwlyZXR1cm4gcmV0OworICAgIGlmICghVkFMSURfTUlOKHZhbHVlKSkKKwlyZXR1cm4gMjsKKyAgICBkdC0+bWluID0gdmFsdWU7CisKKyAgICBpZiAoKmN1ciAhPSAnOicpCisJcmV0dXJuIDE7CisgICAgY3VyKys7CisKKyAgICBQQVJTRV9GTE9BVChkdC0+c2VjLCBjdXIsIHJldCk7CisgICAgaWYgKHJldCAhPSAwKQorCXJldHVybiByZXQ7CisKKyAgICBpZiAoKCFWQUxJRF9TRUMoZHQtPnNlYykpIHx8ICghVkFMSURfVFpPKGR0LT50em8pKSkKKwlyZXR1cm4gMjsKKworICAgICpzdHIgPSBjdXI7CisgICAgcmV0dXJuIDA7Cit9CisKKy8qKgorICogX3htbFNjaGVtYVBhcnNlVGltZVpvbmU6CisgKiBAZHQ6ICBwb2ludGVyIHRvIGEgZGF0ZSBzdHJ1Y3R1cmUKKyAqIEBzdHI6IHBvaW50ZXIgdG8gdGhlIHN0cmluZyB0byBhbmFseXplCisgKgorICogUGFyc2VzIGEgdGltZSB6b25lIHdpdGhvdXQgdGltZSB6b25lIGFuZCBmaWxscyBpbiB0aGUgYXBwcm9wcmlhdGUKKyAqIGZpZWxkIG9mIHRoZSBAZHQgc3RydWN0dXJlLiBAc3RyIGlzIHVwZGF0ZWQgdG8gcG9pbnQganVzdCBhZnRlciB0aGUKKyAqIHRpbWUgem9uZS4KKyAqCisgKiBSZXR1cm5zIDAgb3IgdGhlIGVycm9yIGNvZGUKKyAqLworc3RhdGljIGludAorX3htbFNjaGVtYVBhcnNlVGltZVpvbmUgKHhtbFNjaGVtYVZhbERhdGVQdHIgZHQsIGNvbnN0IHhtbENoYXIgKipzdHIpIHsKKyAgICBjb25zdCB4bWxDaGFyICpjdXI7CisgICAgaW50IHJldCA9IDA7CisKKyAgICBpZiAoc3RyID09IE5VTEwpCisJcmV0dXJuIC0xOworICAgIGN1ciA9ICpzdHI7CisKKyAgICBzd2l0Y2ggKCpjdXIpIHsKKyAgICBjYXNlIDA6CisJZHQtPnR6X2ZsYWcgPSAwOworCWR0LT50em8gPSAwOworCWJyZWFrOworCisgICAgY2FzZSAnWic6CisJZHQtPnR6X2ZsYWcgPSAxOworCWR0LT50em8gPSAwOworCWN1cisrOworCWJyZWFrOworCisgICAgY2FzZSAnKyc6CisgICAgY2FzZSAnLSc6IHsKKwlpbnQgaXNuZWcgPSAwLCB0bXAgPSAwOworCWlzbmVnID0gKCpjdXIgPT0gJy0nKTsKKworCWN1cisrOworCisJUEFSU0VfMl9ESUdJVFModG1wLCBjdXIsIHJldCk7CisJaWYgKHJldCAhPSAwKQorCSAgICByZXR1cm4gcmV0OworCWlmICghVkFMSURfSE9VUih0bXApKQorCSAgICByZXR1cm4gMjsKKworCWlmICgqY3VyICE9ICc6JykKKwkgICAgcmV0dXJuIDE7CisJY3VyKys7CisKKwlkdC0+dHpvID0gdG1wICogNjA7CisKKwlQQVJTRV8yX0RJR0lUUyh0bXAsIGN1ciwgcmV0KTsKKwlpZiAocmV0ICE9IDApCisJICAgIHJldHVybiByZXQ7CisJaWYgKCFWQUxJRF9NSU4odG1wKSkKKwkgICAgcmV0dXJuIDI7CisKKwlkdC0+dHpvICs9IHRtcDsKKwlpZiAoaXNuZWcpCisJICAgIGR0LT50em8gPSAtIGR0LT50em87CisKKwlpZiAoIVZBTElEX1RaTyhkdC0+dHpvKSkKKwkgICAgcmV0dXJuIDI7CisKKwlkdC0+dHpfZmxhZyA9IDE7CisJYnJlYWs7CisgICAgICB9CisgICAgZGVmYXVsdDoKKwlyZXR1cm4gMTsKKyAgICB9CisKKyAgICAqc3RyID0gY3VyOworICAgIHJldHVybiAwOworfQorCisvKioKKyAqIF94bWxTY2hlbWFCYXNlNjREZWNvZGU6CisgKiBAY2g6IGEgY2hhcmFjdGVyCisgKgorICogQ29udmVydHMgYSBiYXNlNjQgZW5jb2RlZCBjaGFyYWN0ZXIgdG8gaXRzIGJhc2UgNjQgdmFsdWUuCisgKgorICogUmV0dXJucyAwLTYzICh2YWx1ZSksIDY0IChwYWQpLCBvciAtMSAobm90IHJlY29nbml6ZWQpCisgKi8KK3N0YXRpYyBpbnQKK194bWxTY2hlbWFCYXNlNjREZWNvZGUgKGNvbnN0IHhtbENoYXIgY2gpIHsKKyAgICBpZiAoKCdBJyA8PSBjaCkgJiYgKGNoIDw9ICdaJykpIHJldHVybiBjaCAtICdBJzsKKyAgICBpZiAoKCdhJyA8PSBjaCkgJiYgKGNoIDw9ICd6JykpIHJldHVybiBjaCAtICdhJyArIDI2OworICAgIGlmICgoJzAnIDw9IGNoKSAmJiAoY2ggPD0gJzknKSkgcmV0dXJuIGNoIC0gJzAnICsgNTI7CisgICAgaWYgKCcrJyA9PSBjaCkgcmV0dXJuIDYyOworICAgIGlmICgnLycgPT0gY2gpIHJldHVybiA2MzsKKyAgICBpZiAoJz0nID09IGNoKSByZXR1cm4gNjQ7CisgICAgcmV0dXJuIC0xOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCSoKKyAqCVhNTCBTY2hlbWEgRGF0ZXMvVGltZXMgRGF0YXR5cGVzIEhhbmRsaW5nCQkqCisgKgkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKgorICogUEFSU0VfRElHSVRTOgorICogQG51bTogIHRoZSBpbnRlZ2VyIHRvIGZpbGwgaW4KKyAqIEBjdXI6ICBhbiAjeG1sQ2hhciAqCisgKiBAbnVtX3R5cGU6IGFuIGludGVnZXIgZmxhZworICoKKyAqIFBhcnNlcyBhIGRpZ2l0cyBpbnRlZ2VyIGFuZCB1cGRhdGVzIEBudW0gd2l0aCB0aGUgdmFsdWUuIEBjdXIgaXMKKyAqIHVwZGF0ZWQgdG8gcG9pbnQganVzdCBhZnRlciB0aGUgaW50ZWdlci4KKyAqIEluIGNhc2Ugb2YgZXJyb3IsIEBudW1fdHlwZSBpcyBzZXQgdG8gLTEsIHZhbHVlcyBvZiBAbnVtIGFuZAorICogQGN1ciBhcmUgdW5kZWZpbmVkLgorICovCisjZGVmaW5lIFBBUlNFX0RJR0lUUyhudW0sIGN1ciwgbnVtX3R5cGUpCSAgICAgICAgICAgICAgICBcCisJaWYgKCgqY3VyIDwgJzAnKSB8fCAoKmN1ciA+ICc5JykpCQkJXAorCSAgICBudW1fdHlwZSA9IC0xOwkJCQkJXAorICAgICAgICBlbHNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKwkgICAgd2hpbGUgKCgqY3VyID49ICcwJykgJiYgKCpjdXIgPD0gJzknKSkgewkJXAorCSAgICAgICAgbnVtID0gbnVtICogMTAgKyAoKmN1ciAtICcwJyk7CQkgICAgICAgIFwKKwkgICAgICAgIGN1cisrOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIH0KKworLyoqCisgKiBQQVJTRV9OVU06CisgKiBAbnVtOiAgdGhlIGRvdWJsZSB0byBmaWxsIGluCisgKiBAY3VyOiAgYW4gI3htbENoYXIgKgorICogQG51bV90eXBlOiBhbiBpbnRlZ2VyIGZsYWcKKyAqCisgKiBQYXJzZXMgYSBmbG9hdCBvciBpbnRlZ2VyIGFuZCB1cGRhdGVzIEBudW0gd2l0aCB0aGUgdmFsdWUuIEBjdXIgaXMKKyAqIHVwZGF0ZWQgdG8gcG9pbnQganVzdCBhZnRlciB0aGUgbnVtYmVyLiBJZiB0aGUgbnVtYmVyIGlzIGEgZmxvYXQsCisgKiB0aGVuIGl0IG11c3QgaGF2ZSBhbiBpbnRlZ2VyIHBhcnQgYW5kIGEgZGVjaW1hbCBwYXJ0OyBAbnVtX3R5cGUgd2lsbAorICogYmUgc2V0IHRvIDEuIElmIHRoZXJlIGlzIG5vIGRlY2ltYWwgcGFydCwgQG51bV90eXBlIGlzIHNldCB0byB6ZXJvLgorICogSW4gY2FzZSBvZiBlcnJvciwgQG51bV90eXBlIGlzIHNldCB0byAtMSwgdmFsdWVzIG9mIEBudW0gYW5kCisgKiBAY3VyIGFyZSB1bmRlZmluZWQuCisgKi8KKyNkZWZpbmUgUEFSU0VfTlVNKG51bSwgY3VyLCBudW1fdHlwZSkJCQkJXAorICAgICAgICBudW0gPSAwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKwlQQVJTRV9ESUdJVFMobnVtLCBjdXIsIG51bV90eXBlKTsJICAgICAgICAgICAgICAgIFwKKwlpZiAoIW51bV90eXBlICYmICgqY3VyID09ICcuJykpIHsJCQlcCisJICAgIGRvdWJsZSBtdWx0ID0gMTsJCQkJICAgICAgICBcCisJICAgIGN1cisrOwkJCQkJCVwKKwkgICAgaWYgKCgqY3VyIDwgJzAnKSB8fCAoKmN1ciA+ICc5JykpCQkJXAorCQludW1fdHlwZSA9IC0xOwkJCQkJXAorICAgICAgICAgICAgZWxzZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICBudW1fdHlwZSA9IDE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisJICAgIHdoaWxlICgoKmN1ciA+PSAnMCcpICYmICgqY3VyIDw9ICc5JykpIHsJCVwKKwkJbXVsdCAvPSAxMDsJCQkJCVwKKwkJbnVtICs9ICgqY3VyIC0gJzAnKSAqIG11bHQ7CQkJXAorCQljdXIrKzsJCQkJCQlcCisJICAgIH0JCQkJCQkJXAorCX0KKworLyoqCisgKiB4bWxTY2hlbWFWYWxpZGF0ZURhdGVzOgorICogQHR5cGU6IHRoZSBleHBlY3RlZCB0eXBlIG9yIFhNTF9TQ0hFTUFTX1VOS05PV04KKyAqIEBkYXRlVGltZTogIHN0cmluZyB0byBhbmFseXplCisgKiBAdmFsOiAgdGhlIHJldHVybiBjb21wdXRlZCB2YWx1ZQorICoKKyAqIENoZWNrIHRoYXQgQGRhdGVUaW1lIGNvbmZvcm1zIHRvIHRoZSBsZXhpY2FsIHNwYWNlIG9mIG9uZSBvZiB0aGUgZGF0ZSB0eXBlcy4KKyAqIGlmIHRydWUgYSB2YWx1ZSBpcyBjb21wdXRlZCBhbmQgcmV0dXJuZWQgaW4gQHZhbC4KKyAqCisgKiBSZXR1cm5zIDAgaWYgdGhpcyB2YWxpZGF0ZXMsIGEgcG9zaXRpdmUgZXJyb3IgY29kZSBudW1iZXIgb3RoZXJ3aXNlCisgKiAgICAgICAgIGFuZCAtMSBpbiBjYXNlIG9mIGludGVybmFsIG9yIEFQSSBlcnJvci4KKyAqLworc3RhdGljIGludAoreG1sU2NoZW1hVmFsaWRhdGVEYXRlcyAoeG1sU2NoZW1hVmFsVHlwZSB0eXBlLAorCSAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICpkYXRlVGltZSwgeG1sU2NoZW1hVmFsUHRyICp2YWwsCisJCQlpbnQgY29sbGFwc2UpIHsKKyAgICB4bWxTY2hlbWFWYWxQdHIgZHQ7CisgICAgaW50IHJldDsKKyAgICBjb25zdCB4bWxDaGFyICpjdXIgPSBkYXRlVGltZTsKKworI2RlZmluZSBSRVRVUk5fVFlQRV9JRl9WQUxJRCh0KQkJCQkJXAorICAgIGlmIChJU19UWk9fQ0hBUigqY3VyKSkgewkJCQkJXAorCXJldCA9IF94bWxTY2hlbWFQYXJzZVRpbWVab25lKCYoZHQtPnZhbHVlLmRhdGUpLCAmY3VyKTsJXAorCWlmIChyZXQgPT0gMCkgewkJCQkJCVwKKwkgICAgaWYgKCpjdXIgIT0gMCkJCQkJCVwKKwkJZ290byBlcnJvcjsJCQkJCVwKKwkgICAgZHQtPnR5cGUgPSB0OwkJCQkJXAorCSAgICBnb3RvIGRvbmU7CQkJCQkJXAorCX0JCQkJCQkJXAorICAgIH0KKworICAgIGlmIChkYXRlVGltZSA9PSBOVUxMKQorCXJldHVybiAtMTsKKworICAgIGlmIChjb2xsYXBzZSkKKwl3aGlsZSBJU19XU1BfQkxBTktfQ0goKmN1cikgY3VyKys7CisKKyAgICBpZiAoKCpjdXIgIT0gJy0nKSAmJiAoKmN1ciA8ICcwJykgJiYgKCpjdXIgPiAnOScpKQorCXJldHVybiAxOworCisgICAgZHQgPSB4bWxTY2hlbWFOZXdWYWx1ZShYTUxfU0NIRU1BU19VTktOT1dOKTsKKyAgICBpZiAoZHQgPT0gTlVMTCkKKwlyZXR1cm4gLTE7CisKKyAgICBpZiAoKGN1clswXSA9PSAnLScpICYmIChjdXJbMV0gPT0gJy0nKSkgeworCS8qCisJICogSXQncyBhbiBpbmNvbXBsZXRlIGRhdGUgKHhzOmdNb250aERheSwgeHM6Z01vbnRoIG9yCisJICogeHM6Z0RheSkKKwkgKi8KKwljdXIgKz0gMjsKKworCS8qIGlzIGl0IGFuIHhzOmdEYXk/ICovCisJaWYgKCpjdXIgPT0gJy0nKSB7CisJICAgIGlmICh0eXBlID09IFhNTF9TQ0hFTUFTX0dNT05USCkKKwkJZ290byBlcnJvcjsKKwkgICsrY3VyOworCSAgICByZXQgPSBfeG1sU2NoZW1hUGFyc2VHRGF5KCYoZHQtPnZhbHVlLmRhdGUpLCAmY3VyKTsKKwkgICAgaWYgKHJldCAhPSAwKQorCQlnb3RvIGVycm9yOworCisJICAgIFJFVFVSTl9UWVBFX0lGX1ZBTElEKFhNTF9TQ0hFTUFTX0dEQVkpOworCisJICAgIGdvdG8gZXJyb3I7CisJfQorCisJLyoKKwkgKiBpdCBzaG91bGQgYmUgYW4geHM6Z01vbnRoRGF5IG9yIHhzOmdNb250aAorCSAqLworCXJldCA9IF94bWxTY2hlbWFQYXJzZUdNb250aCgmKGR0LT52YWx1ZS5kYXRlKSwgJmN1cik7CisJaWYgKHJldCAhPSAwKQorCSAgICBnb3RvIGVycm9yOworCisgICAgICAgIC8qCisgICAgICAgICAqIGEgJy0nIGNoYXIgY291bGQgaW5kaWNhdGUgdGhpcyB0eXBlIGlzIHhzOmdNb250aERheSBvcgorICAgICAgICAgKiBhIG5lZ2F0aXZlIHRpbWUgem9uZSBvZmZzZXQuIENoZWNrIGZvciB4czpnTW9udGhEYXkgZmlyc3QuCisgICAgICAgICAqIEFsc28gdGhlIGZpcnN0IHRocmVlIGNoYXIncyBvZiBhIG5lZ2F0aXZlIHR6byAoLU1NOlNTKSBjYW4KKyAgICAgICAgICogYXBwZWFyIHRvIGJlIGEgdmFsaWQgZGF5OyBzbyBldmVuIGlmIHRoZSBkYXkgcG9ydGlvbgorICAgICAgICAgKiBvZiB0aGUgeHM6Z01vbnRoRGF5IHZlcmlmaWVzLCB3ZSBtdXN0IGluc3VyZSBpdCB3YXMgbm90CisgICAgICAgICAqIGEgdHpvLgorICAgICAgICAgKi8KKyAgICAgICAgaWYgKCpjdXIgPT0gJy0nKSB7CisgICAgICAgICAgICBjb25zdCB4bWxDaGFyICpyZXduZCA9IGN1cjsKKyAgICAgICAgICAgIGN1cisrOworCisJICAgIHJldCA9IF94bWxTY2hlbWFQYXJzZUdEYXkoJihkdC0+dmFsdWUuZGF0ZSksICZjdXIpOworICAgICAgICAgICAgaWYgKChyZXQgPT0gMCkgJiYgKCgqY3VyID09IDApIHx8ICgqY3VyICE9ICc6JykpKSB7CisKKyAgICAgICAgICAgICAgICAvKgorICAgICAgICAgICAgICAgICAqIHdlIGNhbiB1c2UgdGhlIFZBTElEX01EQVkgbWFjcm8gdG8gdmFsaWRhdGUgdGhlIG1vbnRoCisgICAgICAgICAgICAgICAgICogYW5kIGRheSBiZWNhdXNlIHRoZSBsZWFwIHllYXIgdGVzdCB3aWxsIGZsYWcgeWVhciB6ZXJvCisgICAgICAgICAgICAgICAgICogYXMgYSBsZWFwIHllYXIgKGV2ZW4gdGhvdWdoIHplcm8gaXMgYW4gaW52YWxpZCB5ZWFyKS4KKwkJICogRlVUVVJFIFRPRE86IFplcm8gd2lsbCBiZWNvbWUgdmFsaWQgaW4gWE1MIFNjaGVtYSAxLjEKKwkJICogcHJvYmFibHkuCisgICAgICAgICAgICAgICAgICovCisgICAgICAgICAgICAgICAgaWYgKFZBTElEX01EQVkoKCYoZHQtPnZhbHVlLmRhdGUpKSkpIHsKKworCSAgICAgICAgICAgIFJFVFVSTl9UWVBFX0lGX1ZBTElEKFhNTF9TQ0hFTUFTX0dNT05USERBWSk7CisKKyAgICAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIC8qCisgICAgICAgICAgICAgKiBub3QgeHM6Z01vbnRoRGF5IHNvIHJld2luZCBhbmQgY2hlY2sgaWYganVzdCB4czpnTW9udGgKKyAgICAgICAgICAgICAqIHdpdGggYW4gb3B0aW9uYWwgdGltZSB6b25lLgorICAgICAgICAgICAgICovCisgICAgICAgICAgICBjdXIgPSByZXduZDsKKyAgICAgICAgfQorCisJUkVUVVJOX1RZUEVfSUZfVkFMSUQoWE1MX1NDSEVNQVNfR01PTlRIKTsKKworCWdvdG8gZXJyb3I7CisgICAgfQorCisgICAgLyoKKyAgICAgKiBJdCdzIGEgcmlnaHQtdHJ1bmNhdGVkIGRhdGUgb3IgYW4geHM6dGltZS4KKyAgICAgKiBUcnkgdG8gcGFyc2UgYW4geHM6dGltZSB0aGVuIGZhbGxiYWNrIG9uIHJpZ2h0LXRydW5jYXRlZCBkYXRlcy4KKyAgICAgKi8KKyAgICBpZiAoKCpjdXIgPj0gJzAnKSAmJiAoKmN1ciA8PSAnOScpKSB7CisJcmV0ID0gX3htbFNjaGVtYVBhcnNlVGltZSgmKGR0LT52YWx1ZS5kYXRlKSwgJmN1cik7CisJaWYgKHJldCA9PSAwKSB7CisJICAgIC8qIGl0J3MgYW4geHM6dGltZSAqLworCSAgICBSRVRVUk5fVFlQRV9JRl9WQUxJRChYTUxfU0NIRU1BU19USU1FKTsKKwl9CisgICAgfQorCisgICAgLyogZmFsbGJhY2sgb24gZGF0ZSBwYXJzaW5nICovCisgICAgY3VyID0gZGF0ZVRpbWU7CisKKyAgICByZXQgPSBfeG1sU2NoZW1hUGFyc2VHWWVhcigmKGR0LT52YWx1ZS5kYXRlKSwgJmN1cik7CisgICAgaWYgKHJldCAhPSAwKQorCWdvdG8gZXJyb3I7CisKKyAgICAvKiBpcyBpdCBhbiB4czpnWWVhcj8gKi8KKyAgICBSRVRVUk5fVFlQRV9JRl9WQUxJRChYTUxfU0NIRU1BU19HWUVBUik7CisKKyAgICBpZiAoKmN1ciAhPSAnLScpCisJZ290byBlcnJvcjsKKyAgICBjdXIrKzsKKworICAgIHJldCA9IF94bWxTY2hlbWFQYXJzZUdNb250aCgmKGR0LT52YWx1ZS5kYXRlKSwgJmN1cik7CisgICAgaWYgKHJldCAhPSAwKQorCWdvdG8gZXJyb3I7CisKKyAgICAvKiBpcyBpdCBhbiB4czpnWWVhck1vbnRoPyAqLworICAgIFJFVFVSTl9UWVBFX0lGX1ZBTElEKFhNTF9TQ0hFTUFTX0dZRUFSTU9OVEgpOworCisgICAgaWYgKCpjdXIgIT0gJy0nKQorCWdvdG8gZXJyb3I7CisgICAgY3VyKys7CisKKyAgICByZXQgPSBfeG1sU2NoZW1hUGFyc2VHRGF5KCYoZHQtPnZhbHVlLmRhdGUpLCAmY3VyKTsKKyAgICBpZiAoKHJldCAhPSAwKSB8fCAhVkFMSURfREFURSgoJihkdC0+dmFsdWUuZGF0ZSkpKSkKKwlnb3RvIGVycm9yOworCisgICAgLyogaXMgaXQgYW4geHM6ZGF0ZT8gKi8KKyAgICBSRVRVUk5fVFlQRV9JRl9WQUxJRChYTUxfU0NIRU1BU19EQVRFKTsKKworICAgIGlmICgqY3VyICE9ICdUJykKKwlnb3RvIGVycm9yOworICAgIGN1cisrOworCisgICAgLyogaXQgc2hvdWxkIGJlIGFuIHhzOmRhdGVUaW1lICovCisgICAgcmV0ID0gX3htbFNjaGVtYVBhcnNlVGltZSgmKGR0LT52YWx1ZS5kYXRlKSwgJmN1cik7CisgICAgaWYgKHJldCAhPSAwKQorCWdvdG8gZXJyb3I7CisKKyAgICByZXQgPSBfeG1sU2NoZW1hUGFyc2VUaW1lWm9uZSgmKGR0LT52YWx1ZS5kYXRlKSwgJmN1cik7CisgICAgaWYgKGNvbGxhcHNlKQorCXdoaWxlIElTX1dTUF9CTEFOS19DSCgqY3VyKSBjdXIrKzsKKyAgICBpZiAoKHJldCAhPSAwKSB8fCAoKmN1ciAhPSAwKSB8fCAoIShWQUxJRF9EQVRFVElNRSgoJihkdC0+dmFsdWUuZGF0ZSkpKSkpKQorCWdvdG8gZXJyb3I7CisKKworICAgIGR0LT50eXBlID0gWE1MX1NDSEVNQVNfREFURVRJTUU7CisKK2RvbmU6CisjaWYgMQorICAgIGlmICgodHlwZSAhPSBYTUxfU0NIRU1BU19VTktOT1dOKSAmJiAodHlwZSAhPSBkdC0+dHlwZSkpCisgICAgICAgIGdvdG8gZXJyb3I7CisjZWxzZQorICAgIC8qCisgICAgICogaW5zdXJlIHRoZSBwYXJzZWQgdHlwZSBpcyBlcXVhbCB0byBvciBsZXNzIHNpZ25pZmljYW50IChyaWdodAorICAgICAqIHRydW5jYXRlZCkgdGhhbiB0aGUgZGVzaXJlZCB0eXBlLgorICAgICAqLworICAgIGlmICgodHlwZSAhPSBYTUxfU0NIRU1BU19VTktOT1dOKSAmJiAodHlwZSAhPSBkdC0+dHlwZSkpIHsKKworICAgICAgICAvKiB0aW1lIG9ubHkgbWF0Y2hlcyB0aW1lICovCisgICAgICAgIGlmICgodHlwZSA9PSBYTUxfU0NIRU1BU19USU1FKSAmJiAoZHQtPnR5cGUgPT0gWE1MX1NDSEVNQVNfVElNRSkpCisgICAgICAgICAgICBnb3RvIGVycm9yOworCisgICAgICAgIGlmICgodHlwZSA9PSBYTUxfU0NIRU1BU19EQVRFVElNRSkgJiYKKyAgICAgICAgICAgICgoZHQtPnR5cGUgIT0gWE1MX1NDSEVNQVNfREFURSkgfHwKKyAgICAgICAgICAgICAoZHQtPnR5cGUgIT0gWE1MX1NDSEVNQVNfR1lFQVJNT05USCkgfHwKKyAgICAgICAgICAgICAoZHQtPnR5cGUgIT0gWE1MX1NDSEVNQVNfR1lFQVIpKSkKKyAgICAgICAgICAgIGdvdG8gZXJyb3I7CisKKyAgICAgICAgaWYgKCh0eXBlID09IFhNTF9TQ0hFTUFTX0RBVEUpICYmCisgICAgICAgICAgICAoKGR0LT50eXBlICE9IFhNTF9TQ0hFTUFTX0dZRUFSKSB8fAorICAgICAgICAgICAgIChkdC0+dHlwZSAhPSBYTUxfU0NIRU1BU19HWUVBUk1PTlRIKSkpCisgICAgICAgICAgICBnb3RvIGVycm9yOworCisgICAgICAgIGlmICgodHlwZSA9PSBYTUxfU0NIRU1BU19HWUVBUk1PTlRIKSAmJiAoZHQtPnR5cGUgIT0gWE1MX1NDSEVNQVNfR1lFQVIpKQorICAgICAgICAgICAgZ290byBlcnJvcjsKKworICAgICAgICBpZiAoKHR5cGUgPT0gWE1MX1NDSEVNQVNfR01PTlRIREFZKSAmJiAoZHQtPnR5cGUgIT0gWE1MX1NDSEVNQVNfR01PTlRIKSkKKyAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgfQorI2VuZGlmCisKKyAgICBpZiAodmFsICE9IE5VTEwpCisgICAgICAgICp2YWwgPSBkdDsKKyAgICBlbHNlCisJeG1sU2NoZW1hRnJlZVZhbHVlKGR0KTsKKworICAgIHJldHVybiAwOworCitlcnJvcjoKKyAgICBpZiAoZHQgIT0gTlVMTCkKKwl4bWxTY2hlbWFGcmVlVmFsdWUoZHQpOworICAgIHJldHVybiAxOworfQorCisvKioKKyAqIHhtbFNjaGVtYVZhbGlkYXRlRHVyYXRpb246CisgKiBAdHlwZTogdGhlIHByZWRlZmluZWQgdHlwZQorICogQGR1cmF0aW9uOiAgc3RyaW5nIHRvIGFuYWx5emUKKyAqIEB2YWw6ICB0aGUgcmV0dXJuIGNvbXB1dGVkIHZhbHVlCisgKgorICogQ2hlY2sgdGhhdCBAZHVyYXRpb24gY29uZm9ybXMgdG8gdGhlIGxleGljYWwgc3BhY2Ugb2YgdGhlIGR1cmF0aW9uIHR5cGUuCisgKiBpZiB0cnVlIGEgdmFsdWUgaXMgY29tcHV0ZWQgYW5kIHJldHVybmVkIGluIEB2YWwuCisgKgorICogUmV0dXJucyAwIGlmIHRoaXMgdmFsaWRhdGVzLCBhIHBvc2l0aXZlIGVycm9yIGNvZGUgbnVtYmVyIG90aGVyd2lzZQorICogICAgICAgICBhbmQgLTEgaW4gY2FzZSBvZiBpbnRlcm5hbCBvciBBUEkgZXJyb3IuCisgKi8KK3N0YXRpYyBpbnQKK3htbFNjaGVtYVZhbGlkYXRlRHVyYXRpb24gKHhtbFNjaGVtYVR5cGVQdHIgdHlwZSBBVFRSSUJVVEVfVU5VU0VELAorCSAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICpkdXJhdGlvbiwgeG1sU2NoZW1hVmFsUHRyICp2YWwsCisJCQkgICBpbnQgY29sbGFwc2UpIHsKKyAgICBjb25zdCB4bWxDaGFyICAqY3VyID0gZHVyYXRpb247CisgICAgeG1sU2NoZW1hVmFsUHRyIGR1cjsKKyAgICBpbnQgaXNuZWcgPSAwOworICAgIHVuc2lnbmVkIGludCBzZXEgPSAwOworICAgIGRvdWJsZSAgICAgICAgIG51bTsKKyAgICBpbnQgICAgICAgICAgICBudW1fdHlwZSA9IDA7ICAvKiAtMSA9IGludmFsaWQsIDAgPSBpbnQsIDEgPSBmbG9hdGluZyAqLworICAgIGNvbnN0IHhtbENoYXIgIGRlc2lnW10gID0geydZJywgJ00nLCAnRCcsICdIJywgJ00nLCAnUyd9OworICAgIGNvbnN0IGRvdWJsZSAgIG11bHRpW10gID0geyAwLjAsIDAuMCwgODY0MDAuMCwgMzYwMC4wLCA2MC4wLCAxLjAsIDAuMH07CisKKyAgICBpZiAoZHVyYXRpb24gPT0gTlVMTCkKKwlyZXR1cm4gLTE7CisKKyAgICBpZiAoY29sbGFwc2UpCisJd2hpbGUgSVNfV1NQX0JMQU5LX0NIKCpjdXIpIGN1cisrOworCisgICAgaWYgKCpjdXIgPT0gJy0nKSB7CisgICAgICAgIGlzbmVnID0gMTsKKyAgICAgICAgY3VyKys7CisgICAgfQorCisgICAgLyogZHVyYXRpb24gbXVzdCBzdGFydCB3aXRoICdQJyAoYWZ0ZXIgc2lnbikgKi8KKyAgICBpZiAoKmN1cisrICE9ICdQJykKKwlyZXR1cm4gMTsKKworICAgIGlmICgqY3VyID09IDApCisJcmV0dXJuIDE7CisKKyAgICBkdXIgPSB4bWxTY2hlbWFOZXdWYWx1ZShYTUxfU0NIRU1BU19EVVJBVElPTik7CisgICAgaWYgKGR1ciA9PSBOVUxMKQorCXJldHVybiAtMTsKKworICAgIHdoaWxlICgqY3VyICE9IDApIHsKKworICAgICAgICAvKiBpbnB1dCBzdHJpbmcgc2hvdWxkIGJlIGVtcHR5IG9yIGludmFsaWQgZGF0ZS90aW1lIGl0ZW0gKi8KKyAgICAgICAgaWYgKHNlcSA+PSBzaXplb2YoZGVzaWcpKQorICAgICAgICAgICAgZ290byBlcnJvcjsKKworICAgICAgICAvKiBUIGRlc2lnbmF0b3IgbXVzdCBiZSBwcmVzZW50IGZvciB0aW1lIGl0ZW1zICovCisgICAgICAgIGlmICgqY3VyID09ICdUJykgeworICAgICAgICAgICAgaWYgKHNlcSA8PSAzKSB7CisgICAgICAgICAgICAgICAgc2VxID0gMzsKKyAgICAgICAgICAgICAgICBjdXIrKzsKKyAgICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAgIHJldHVybiAxOworICAgICAgICB9IGVsc2UgaWYgKHNlcSA9PSAzKQorICAgICAgICAgICAgZ290byBlcnJvcjsKKworICAgICAgICAvKiBwYXJzZSB0aGUgbnVtYmVyIHBvcnRpb24gb2YgdGhlIGl0ZW0gKi8KKyAgICAgICAgUEFSU0VfTlVNKG51bSwgY3VyLCBudW1fdHlwZSk7CisKKyAgICAgICAgaWYgKChudW1fdHlwZSA9PSAtMSkgfHwgKCpjdXIgPT0gMCkpCisgICAgICAgICAgICBnb3RvIGVycm9yOworCisgICAgICAgIC8qIHVwZGF0ZSBkdXJhdGlvbiBiYXNlZCBvbiBpdGVtIHR5cGUgKi8KKyAgICAgICAgd2hpbGUgKHNlcSA8IHNpemVvZihkZXNpZykpIHsKKyAgICAgICAgICAgIGlmICgqY3VyID09IGRlc2lnW3NlcV0pIHsKKworICAgICAgICAgICAgICAgIC8qIHZlcmlmeSBudW1lcmljIHR5cGU7IG9ubHkgc2Vjb25kcyBjYW4gYmUgZmxvYXQgKi8KKyAgICAgICAgICAgICAgICBpZiAoKG51bV90eXBlICE9IDApICYmIChzZXEgPCAoc2l6ZW9mKGRlc2lnKS0xKSkpCisgICAgICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisKKyAgICAgICAgICAgICAgICBzd2l0Y2ggKHNlcSkgeworICAgICAgICAgICAgICAgICAgICBjYXNlIDA6CisgICAgICAgICAgICAgICAgICAgICAgICBkdXItPnZhbHVlLmR1ci5tb24gPSAobG9uZyludW0gKiAxMjsKKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICBjYXNlIDE6CisgICAgICAgICAgICAgICAgICAgICAgICBkdXItPnZhbHVlLmR1ci5tb24gKz0gKGxvbmcpbnVtOworICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgICAgICAgICAgICAvKiBjb252ZXJ0IHRvIHNlY29uZHMgdXNpbmcgbXVsdGlwbGllciAqLworICAgICAgICAgICAgICAgICAgICAgICAgZHVyLT52YWx1ZS5kdXIuc2VjICs9IG51bSAqIG11bHRpW3NlcV07CisgICAgICAgICAgICAgICAgICAgICAgICBzZXErKzsKKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGJyZWFrOyAgICAgICAgICAvKiBleGl0IGxvb3AgKi8KKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIC8qIG5vIGRhdGUgZGVzaWduYXRvcnMgZm91bmQ/ICovCisgICAgICAgICAgICBpZiAoKCsrc2VxID09IDMpIHx8IChzZXEgPT0gNikpCisgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgfQorCWN1cisrOworCWlmIChjb2xsYXBzZSkKKwkgICAgd2hpbGUgSVNfV1NQX0JMQU5LX0NIKCpjdXIpIGN1cisrOworICAgIH0KKworICAgIGlmIChpc25lZykgeworICAgICAgICBkdXItPnZhbHVlLmR1ci5tb24gPSAtZHVyLT52YWx1ZS5kdXIubW9uOworICAgICAgICBkdXItPnZhbHVlLmR1ci5kYXkgPSAtZHVyLT52YWx1ZS5kdXIuZGF5OworICAgICAgICBkdXItPnZhbHVlLmR1ci5zZWMgPSAtZHVyLT52YWx1ZS5kdXIuc2VjOworICAgIH0KKworICAgIGlmICh2YWwgIT0gTlVMTCkKKyAgICAgICAgKnZhbCA9IGR1cjsKKyAgICBlbHNlCisJeG1sU2NoZW1hRnJlZVZhbHVlKGR1cik7CisKKyAgICByZXR1cm4gMDsKKworZXJyb3I6CisgICAgaWYgKGR1ciAhPSBOVUxMKQorCXhtbFNjaGVtYUZyZWVWYWx1ZShkdXIpOworICAgIHJldHVybiAxOworfQorCisvKioKKyAqIHhtbFNjaGVtYVN0cmlwOgorICogQHZhbHVlOiBhIHZhbHVlCisgKgorICogUmVtb3ZlcyB0aGUgbGVhZGluZyBhbmQgZW5kaW5nIHNwYWNlcyBvZiBhIHN0cmluZworICoKKyAqIFJldHVybnMgdGhlIG5ldyBzdHJpbmcgb3IgTlVMTCBpZiBubyBjaGFuZ2Ugd2FzIHJlcXVpcmVkLgorICovCitzdGF0aWMgeG1sQ2hhciAqCit4bWxTY2hlbWFTdHJpcChjb25zdCB4bWxDaGFyICp2YWx1ZSkgeworICAgIGNvbnN0IHhtbENoYXIgKnN0YXJ0ID0gdmFsdWUsICplbmQsICpmOworCisgICAgaWYgKHZhbHVlID09IE5VTEwpIHJldHVybihOVUxMKTsKKyAgICB3aGlsZSAoKCpzdGFydCAhPSAwKSAmJiAoSVNfQkxBTktfQ0goKnN0YXJ0KSkpIHN0YXJ0Kys7CisgICAgZW5kID0gc3RhcnQ7CisgICAgd2hpbGUgKCplbmQgIT0gMCkgZW5kKys7CisgICAgZiA9IGVuZDsKKyAgICBlbmQtLTsKKyAgICB3aGlsZSAoKGVuZCA+IHN0YXJ0KSAmJiAoSVNfQkxBTktfQ0goKmVuZCkpKSBlbmQtLTsKKyAgICBlbmQrKzsKKyAgICBpZiAoKHN0YXJ0ID09IHZhbHVlKSAmJiAoZiA9PSBlbmQpKSByZXR1cm4oTlVMTCk7CisgICAgcmV0dXJuKHhtbFN0cm5kdXAoc3RhcnQsIGVuZCAtIHN0YXJ0KSk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hV2hpdGVTcGFjZVJlcGxhY2U6CisgKiBAdmFsdWU6IGEgdmFsdWUKKyAqCisgKiBSZXBsYWNlcyAweGQsIDB4OSBhbmQgMHhhIHdpdGggYSBzcGFjZS4KKyAqCisgKiBSZXR1cm5zIHRoZSBuZXcgc3RyaW5nIG9yIE5VTEwgaWYgbm8gY2hhbmdlIHdhcyByZXF1aXJlZC4KKyAqLworeG1sQ2hhciAqCit4bWxTY2hlbWFXaGl0ZVNwYWNlUmVwbGFjZShjb25zdCB4bWxDaGFyICp2YWx1ZSkgeworICAgIGNvbnN0IHhtbENoYXIgKmN1ciA9IHZhbHVlOworICAgIHhtbENoYXIgKnJldCA9IE5VTEwsICptY3VyOworCisgICAgaWYgKHZhbHVlID09IE5VTEwpCisJcmV0dXJuKE5VTEwpOworCisgICAgd2hpbGUgKCgqY3VyICE9IDApICYmCisJKCgoKmN1cikgIT0gMHhkKSAmJiAoKCpjdXIpICE9IDB4OSkgJiYgKCgqY3VyKSAhPSAweGEpKSkgeworCWN1cisrOworICAgIH0KKyAgICBpZiAoKmN1ciA9PSAwKQorCXJldHVybiAoTlVMTCk7CisgICAgcmV0ID0geG1sU3RyZHVwKHZhbHVlKTsKKyAgICAvKiBUT0RPIEZJWE1FOiBJIGd1ZXNzIGdjYyB3aWxsIGJhcmsgYXQgdGhpcy4gKi8KKyAgICBtY3VyID0gKHhtbENoYXIgKikgIChyZXQgKyAoY3VyIC0gdmFsdWUpKTsKKyAgICBkbyB7CisJaWYgKCAoKCptY3VyKSA9PSAweGQpIHx8ICgoKm1jdXIpID09IDB4OSkgfHwgKCgqbWN1cikgPT0gMHhhKSApCisJICAgICptY3VyID0gJyAnOworCW1jdXIrKzsKKyAgICB9IHdoaWxlICgqbWN1ciAhPSAwKTsKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxTY2hlbWFDb2xsYXBzZVN0cmluZzoKKyAqIEB2YWx1ZTogYSB2YWx1ZQorICoKKyAqIFJlbW92ZXMgYW5kIG5vcm1hbGl6ZSB3aGl0ZSBzcGFjZXMgaW4gdGhlIHN0cmluZworICoKKyAqIFJldHVybnMgdGhlIG5ldyBzdHJpbmcgb3IgTlVMTCBpZiBubyBjaGFuZ2Ugd2FzIHJlcXVpcmVkLgorICovCit4bWxDaGFyICoKK3htbFNjaGVtYUNvbGxhcHNlU3RyaW5nKGNvbnN0IHhtbENoYXIgKnZhbHVlKSB7CisgICAgY29uc3QgeG1sQ2hhciAqc3RhcnQgPSB2YWx1ZSwgKmVuZCwgKmY7CisgICAgeG1sQ2hhciAqZzsKKyAgICBpbnQgY29sID0gMDsKKworICAgIGlmICh2YWx1ZSA9PSBOVUxMKSByZXR1cm4oTlVMTCk7CisgICAgd2hpbGUgKCgqc3RhcnQgIT0gMCkgJiYgKElTX0JMQU5LX0NIKCpzdGFydCkpKSBzdGFydCsrOworICAgIGVuZCA9IHN0YXJ0OworICAgIHdoaWxlICgqZW5kICE9IDApIHsKKwlpZiAoKCplbmQgPT0gJyAnKSAmJiAoSVNfQkxBTktfQ0goZW5kWzFdKSkpIHsKKwkgICAgY29sID0gZW5kIC0gc3RhcnQ7CisJICAgIGJyZWFrOworCX0gZWxzZSBpZiAoKCplbmQgPT0gMHhhKSB8fCAoKmVuZCA9PSAweDkpIHx8ICgqZW5kID09IDB4ZCkpIHsKKwkgICAgY29sID0gZW5kIC0gc3RhcnQ7CisJICAgIGJyZWFrOworCX0KKwllbmQrKzsKKyAgICB9CisgICAgaWYgKGNvbCA9PSAwKSB7CisJZiA9IGVuZDsKKwllbmQtLTsKKwl3aGlsZSAoKGVuZCA+IHN0YXJ0KSAmJiAoSVNfQkxBTktfQ0goKmVuZCkpKSBlbmQtLTsKKwllbmQrKzsKKwlpZiAoKHN0YXJ0ID09IHZhbHVlKSAmJiAoZiA9PSBlbmQpKSByZXR1cm4oTlVMTCk7CisJcmV0dXJuKHhtbFN0cm5kdXAoc3RhcnQsIGVuZCAtIHN0YXJ0KSk7CisgICAgfQorICAgIHN0YXJ0ID0geG1sU3RyZHVwKHN0YXJ0KTsKKyAgICBpZiAoc3RhcnQgPT0gTlVMTCkgcmV0dXJuKE5VTEwpOworICAgIGcgPSAoeG1sQ2hhciAqKSAoc3RhcnQgKyBjb2wpOworICAgIGVuZCA9IGc7CisgICAgd2hpbGUgKCplbmQgIT0gMCkgeworCWlmIChJU19CTEFOS19DSCgqZW5kKSkgeworCSAgICBlbmQrKzsKKwkgICAgd2hpbGUgKElTX0JMQU5LX0NIKCplbmQpKSBlbmQrKzsKKwkgICAgaWYgKCplbmQgIT0gMCkKKwkJKmcrKyA9ICcgJzsKKwl9IGVsc2UKKwkgICAgKmcrKyA9ICplbmQrKzsKKyAgICB9CisgICAgKmcgPSAwOworICAgIHJldHVybigoeG1sQ2hhciAqKSBzdGFydCk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hVmFsQXRvbWljTGlzdE5vZGU6CisgKiBAdHlwZTogdGhlIHByZWRlZmluZWQgYXRvbWljIHR5cGUgZm9yIGEgdG9rZW4gaW4gdGhlIGxpc3QKKyAqIEB2YWx1ZTogdGhlIGxpc3QgdmFsdWUgdG8gY2hlY2sKKyAqIEByZXQ6ICB0aGUgcmV0dXJuIGNvbXB1dGVkIHZhbHVlCisgKiBAbm9kZTogIHRoZSBub2RlIGNvbnRhaW5pbmcgdGhlIHZhbHVlCisgKgorICogQ2hlY2sgdGhhdCBhIHZhbHVlIGNvbmZvcm1zIHRvIHRoZSBsZXhpY2FsIHNwYWNlIG9mIHRoZSBwcmVkZWZpbmVkCisgKiBsaXN0IHR5cGUuIGlmIHRydWUgYSB2YWx1ZSBpcyBjb21wdXRlZCBhbmQgcmV0dXJuZWQgaW4gQHJldC4KKyAqCisgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgaXRlbXMgaWYgdGhpcyB2YWxpZGF0ZXMsIGEgbmVnYXRpdmUgZXJyb3IgY29kZQorICogICAgICAgICBudW1iZXIgb3RoZXJ3aXNlCisgKi8KK3N0YXRpYyBpbnQKK3htbFNjaGVtYVZhbEF0b21pY0xpc3ROb2RlKHhtbFNjaGVtYVR5cGVQdHIgdHlwZSwgY29uc3QgeG1sQ2hhciAqdmFsdWUsCisJICAgICAgICAgICAgICAgICAgIHhtbFNjaGVtYVZhbFB0ciAqcmV0LCB4bWxOb2RlUHRyIG5vZGUpIHsKKyAgICB4bWxDaGFyICp2YWwsICpjdXIsICplbmR2YWw7CisgICAgaW50IG5iX3ZhbHVlcyA9IDA7CisgICAgaW50IHRtcCA9IDA7CisKKyAgICBpZiAodmFsdWUgPT0gTlVMTCkgeworCXJldHVybigtMSk7CisgICAgfQorICAgIHZhbCA9IHhtbFN0cmR1cCh2YWx1ZSk7CisgICAgaWYgKHZhbCA9PSBOVUxMKSB7CisJcmV0dXJuKC0xKTsKKyAgICB9CisgICAgaWYgKHJldCAhPSBOVUxMKSB7CisgICAgICAgICpyZXQgPSBOVUxMOworICAgIH0KKyAgICBjdXIgPSB2YWw7CisgICAgLyoKKyAgICAgKiBTcGxpdCB0aGUgbGlzdAorICAgICAqLworICAgIHdoaWxlIChJU19CTEFOS19DSCgqY3VyKSkgKmN1cisrID0gMDsKKyAgICB3aGlsZSAoKmN1ciAhPSAwKSB7CisJaWYgKElTX0JMQU5LX0NIKCpjdXIpKSB7CisJICAgICpjdXIgPSAwOworCSAgICBjdXIrKzsKKwkgICAgd2hpbGUgKElTX0JMQU5LX0NIKCpjdXIpKSAqY3VyKysgPSAwOworCX0gZWxzZSB7CisJICAgIG5iX3ZhbHVlcysrOworCSAgICBjdXIrKzsKKwkgICAgd2hpbGUgKCgqY3VyICE9IDApICYmICghSVNfQkxBTktfQ0goKmN1cikpKSBjdXIrKzsKKwl9CisgICAgfQorICAgIGlmIChuYl92YWx1ZXMgPT0gMCkgeworCXhtbEZyZWUodmFsKTsKKwlyZXR1cm4obmJfdmFsdWVzKTsKKyAgICB9CisgICAgZW5kdmFsID0gY3VyOworICAgIGN1ciA9IHZhbDsKKyAgICB3aGlsZSAoKCpjdXIgPT0gMCkgJiYgKGN1ciAhPSBlbmR2YWwpKSBjdXIrKzsKKyAgICB3aGlsZSAoY3VyICE9IGVuZHZhbCkgeworCXRtcCA9IHhtbFNjaGVtYVZhbFByZWRlZlR5cGVOb2RlKHR5cGUsIGN1ciwgTlVMTCwgbm9kZSk7CisJaWYgKHRtcCAhPSAwKQorCSAgICBicmVhazsKKwl3aGlsZSAoKmN1ciAhPSAwKSBjdXIrKzsKKwl3aGlsZSAoKCpjdXIgPT0gMCkgJiYgKGN1ciAhPSBlbmR2YWwpKSBjdXIrKzsKKyAgICB9CisgICAgLyogVE9ETyB3aGF0IHJldHVybiB2YWx1ZSA/IGMuZi4gYnVnICMxNTg2MjgKKyAgICBpZiAocmV0ICE9IE5VTEwpIHsKKwlUT0RPCisgICAgfSAqLworICAgIHhtbEZyZWUodmFsKTsKKyAgICBpZiAodG1wID09IDApCisJcmV0dXJuKG5iX3ZhbHVlcyk7CisgICAgcmV0dXJuKC0xKTsKK30KKworLyoqCisgKiB4bWxTY2hlbWFQYXJzZVVJbnQ6CisgKiBAc3RyOiBwb2ludGVyIHRvIHRoZSBzdHJpbmcgUi9XCisgKiBAbGxvOiBwb2ludGVyIHRvIHRoZSBsb3cgcmVzdWx0CisgKiBAbG1pOiBwb2ludGVyIHRvIHRoZSBtaWQgcmVzdWx0CisgKiBAbGhpOiBwb2ludGVyIHRvIHRoZSBoaWdoIHJlc3VsdAorICoKKyAqIFBhcnNlIGFuIHVuc2lnbmVkIGxvbmcgaW50byAzIGZpZWxkcy4KKyAqCisgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2Ygc2lnbmlmaWNhbnQgZGlnaXRzIGluIHRoZSBudW1iZXIgb3IKKyAqIC0xIGlmIG92ZXJmbG93IG9mIHRoZSBjYXBhY2l0eSBhbmQgLTIgaWYgaXQncyBub3QgYSBudW1iZXIuCisgKi8KK3N0YXRpYyBpbnQKK3htbFNjaGVtYVBhcnNlVUludChjb25zdCB4bWxDaGFyICoqc3RyLCB1bnNpZ25lZCBsb25nICpsbG8sCisgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyAqbG1pLCB1bnNpZ25lZCBsb25nICpsaGkpIHsKKyAgICB1bnNpZ25lZCBsb25nIGxvID0gMCwgbWkgPSAwLCBoaSA9IDA7CisgICAgY29uc3QgeG1sQ2hhciAqdG1wLCAqY3VyID0gKnN0cjsKKyAgICBpbnQgcmV0ID0gMCwgaSA9IDA7CisKKyAgICBpZiAoISgoKmN1ciA+PSAnMCcpICYmICgqY3VyIDw9ICc5JykpKQorICAgICAgICByZXR1cm4oLTIpOworCisgICAgd2hpbGUgKCpjdXIgPT0gJzAnKSB7ICAgICAgICAvKiBpZ25vcmUgbGVhZGluZyB6ZXJvZXMgKi8KKyAgICAgICAgY3VyKys7CisgICAgfQorICAgIHRtcCA9IGN1cjsKKyAgICB3aGlsZSAoKCp0bXAgIT0gMCkgJiYgKCp0bXAgPj0gJzAnKSAmJiAoKnRtcCA8PSAnOScpKSB7CisgICAgICAgIGkrKzt0bXArKztyZXQrKzsKKyAgICB9CisgICAgaWYgKGkgPiAyNCkgeworICAgICAgICAqc3RyID0gdG1wOworICAgICAgICByZXR1cm4oLTEpOworICAgIH0KKyAgICB3aGlsZSAoaSA+IDE2KSB7CisgICAgICAgIGhpID0gaGkgKiAxMCArICgqY3VyKysgLSAnMCcpOworICAgICAgICBpLS07CisgICAgfQorICAgIHdoaWxlIChpID4gOCkgeworICAgICAgICBtaSA9IG1pICogMTAgKyAoKmN1cisrIC0gJzAnKTsKKyAgICAgICAgaS0tOworICAgIH0KKyAgICB3aGlsZSAoaSA+IDApIHsKKyAgICAgICAgbG8gPSBsbyAqIDEwICsgKCpjdXIrKyAtICcwJyk7CisgICAgICAgIGktLTsKKyAgICB9CisKKyAgICAqc3RyID0gY3VyOworICAgICpsbG8gPSBsbzsKKyAgICAqbG1pID0gbWk7CisgICAgKmxoaSA9IGhpOworICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbFNjaGVtYVZhbEF0b21pY1R5cGU6CisgKiBAdHlwZTogdGhlIHByZWRlZmluZWQgdHlwZQorICogQHZhbHVlOiB0aGUgdmFsdWUgdG8gY2hlY2sKKyAqIEB2YWw6ICB0aGUgcmV0dXJuIGNvbXB1dGVkIHZhbHVlCisgKiBAbm9kZTogIHRoZSBub2RlIGNvbnRhaW5pbmcgdGhlIHZhbHVlCisgKiBmbGFnczogIGZsYWdzIHRvIGNvbnRyb2wgdGhlIHZsaWRhdGlvbgorICoKKyAqIENoZWNrIHRoYXQgYSB2YWx1ZSBjb25mb3JtcyB0byB0aGUgbGV4aWNhbCBzcGFjZSBvZiB0aGUgYXRvbWljIHR5cGUuCisgKiBpZiB0cnVlIGEgdmFsdWUgaXMgY29tcHV0ZWQgYW5kIHJldHVybmVkIGluIEB2YWwuCisgKiBUaGlzIGNoZWNrcyB0aGUgdmFsdWUgc3BhY2UgZm9yIGxpc3QgdHlwZXMgYXMgd2VsbCAoSURSRUZTLCBOTVRPS0VOUykuCisgKgorICogUmV0dXJucyAwIGlmIHRoaXMgdmFsaWRhdGVzLCBhIHBvc2l0aXZlIGVycm9yIGNvZGUgbnVtYmVyIG90aGVyd2lzZQorICogICAgICAgICBhbmQgLTEgaW4gY2FzZSBvZiBpbnRlcm5hbCBvciBBUEkgZXJyb3IuCisgKi8KK3N0YXRpYyBpbnQKK3htbFNjaGVtYVZhbEF0b21pY1R5cGUoeG1sU2NoZW1hVHlwZVB0ciB0eXBlLCBjb25zdCB4bWxDaGFyICogdmFsdWUsCisgICAgICAgICAgICAgICAgICAgICAgIHhtbFNjaGVtYVZhbFB0ciAqIHZhbCwgeG1sTm9kZVB0ciBub2RlLCBpbnQgZmxhZ3MsCisJCSAgICAgICB4bWxTY2hlbWFXaGl0ZXNwYWNlVmFsdWVUeXBlIHdzLAorCQkgICAgICAgaW50IG5vcm1PblRoZUZseSwgaW50IGFwcGx5Tm9ybSwgaW50IGNyZWF0ZVN0cmluZ1ZhbHVlKQoreworICAgIHhtbFNjaGVtYVZhbFB0ciB2OworICAgIHhtbENoYXIgKm5vcm0gPSBOVUxMOworICAgIGludCByZXQgPSAwOworCisgICAgaWYgKHhtbFNjaGVtYVR5cGVzSW5pdGlhbGl6ZWQgPT0gMCkKKyAgICAgICAgeG1sU2NoZW1hSW5pdFR5cGVzKCk7CisgICAgaWYgKHR5cGUgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuICgtMSk7CisKKyAgICAvKgorICAgICAqIHZhbGlkYXRpbmcgYSBub24gZXhpc3RhbnQgdGV4dCBub2RlIGlzIHNpbWlsYXIgdG8gdmFsaWRhdGluZworICAgICAqIGFuIGVtcHR5IG9uZS4KKyAgICAgKi8KKyAgICBpZiAodmFsdWUgPT0gTlVMTCkKKyAgICAgICAgdmFsdWUgPSBCQURfQ0FTVCAiIjsKKworICAgIGlmICh2YWwgIT0gTlVMTCkKKyAgICAgICAgKnZhbCA9IE5VTEw7CisgICAgaWYgKChmbGFncyA9PSAwKSAmJiAodmFsdWUgIT0gTlVMTCkpIHsKKworICAgICAgICBpZiAoKHR5cGUtPmJ1aWx0SW5UeXBlICE9IFhNTF9TQ0hFTUFTX1NUUklORykgJiYKKwkgICh0eXBlLT5idWlsdEluVHlwZSAhPSBYTUxfU0NIRU1BU19BTllUWVBFKSAmJgorCSAgKHR5cGUtPmJ1aWx0SW5UeXBlICE9IFhNTF9TQ0hFTUFTX0FOWVNJTVBMRVRZUEUpKSB7CisJICAgIGlmICh0eXBlLT5idWlsdEluVHlwZSA9PSBYTUxfU0NIRU1BU19OT1JNU1RSSU5HKQorCQlub3JtID0geG1sU2NoZW1hV2hpdGVTcGFjZVJlcGxhY2UodmFsdWUpOworICAgICAgICAgICAgZWxzZQorCQlub3JtID0geG1sU2NoZW1hQ29sbGFwc2VTdHJpbmcodmFsdWUpOworICAgICAgICAgICAgaWYgKG5vcm0gIT0gTlVMTCkKKyAgICAgICAgICAgICAgICB2YWx1ZSA9IG5vcm07CisgICAgICAgIH0KKyAgICB9CisKKyAgICBzd2l0Y2ggKHR5cGUtPmJ1aWx0SW5UeXBlKSB7CisgICAgICAgIGNhc2UgWE1MX1NDSEVNQVNfVU5LTk9XTjoKKyAgICAgICAgICAgIGdvdG8gZXJyb3I7CisJY2FzZSBYTUxfU0NIRU1BU19BTllUWVBFOgorCWNhc2UgWE1MX1NDSEVNQVNfQU5ZU0lNUExFVFlQRToKKwkgICAgaWYgKChjcmVhdGVTdHJpbmdWYWx1ZSkgJiYgKHZhbCAhPSBOVUxMKSkgeworCQl2ID0geG1sU2NoZW1hTmV3VmFsdWUoWE1MX1NDSEVNQVNfQU5ZU0lNUExFVFlQRSk7CisJCWlmICh2ICE9IE5VTEwpIHsKKwkJICAgIHYtPnZhbHVlLnN0ciA9IHhtbFN0cmR1cCh2YWx1ZSk7CisJCSAgICAqdmFsID0gdjsKKwkJfSBlbHNlIHsKKwkJICAgIGdvdG8gZXJyb3I7CisJCX0KKwkgICAgfQorCSAgICBnb3RvIHJldHVybjA7CisgICAgICAgIGNhc2UgWE1MX1NDSEVNQVNfU1RSSU5HOgorCSAgICBpZiAoISBub3JtT25UaGVGbHkpIHsKKwkJY29uc3QgeG1sQ2hhciAqY3VyID0gdmFsdWU7CisKKwkJaWYgKHdzID09IFhNTF9TQ0hFTUFfV0hJVEVTUEFDRV9SRVBMQUNFKSB7CisJCSAgICB3aGlsZSAoKmN1ciAhPSAwKSB7CisJCQlpZiAoKCpjdXIgPT0gMHhkKSB8fCAoKmN1ciA9PSAweGEpIHx8ICgqY3VyID09IDB4OSkpIHsKKwkJCSAgICBnb3RvIHJldHVybjE7CisJCQl9IGVsc2UgeworCQkJICAgIGN1cisrOworCQkJfQorCQkgICAgfQorCQl9IGVsc2UgaWYgKHdzID09IFhNTF9TQ0hFTUFfV0hJVEVTUEFDRV9DT0xMQVBTRSkgeworCQkgICAgd2hpbGUgKCpjdXIgIT0gMCkgeworCQkJaWYgKCgqY3VyID09IDB4ZCkgfHwgKCpjdXIgPT0gMHhhKSB8fCAoKmN1ciA9PSAweDkpKSB7CisJCQkgICAgZ290byByZXR1cm4xOworCQkJfSBlbHNlIGlmIElTX1dTUF9TUEFDRV9DSCgqY3VyKSB7CisJCQkgICAgY3VyKys7CisJCQkgICAgaWYgSVNfV1NQX1NQQUNFX0NIKCpjdXIpCisJCQkJZ290byByZXR1cm4xOworCQkJfSBlbHNlIHsKKwkJCSAgICBjdXIrKzsKKwkJCX0KKwkJICAgIH0KKwkJfQorCSAgICB9CisJICAgIGlmIChjcmVhdGVTdHJpbmdWYWx1ZSAmJiAodmFsICE9IE5VTEwpKSB7CisJCWlmIChhcHBseU5vcm0pIHsKKwkJICAgIGlmICh3cyA9PSBYTUxfU0NIRU1BX1dISVRFU1BBQ0VfQ09MTEFQU0UpCisJCQlub3JtID0geG1sU2NoZW1hQ29sbGFwc2VTdHJpbmcodmFsdWUpOworCQkgICAgZWxzZSBpZiAod3MgPT0gWE1MX1NDSEVNQV9XSElURVNQQUNFX1JFUExBQ0UpCisJCQlub3JtID0geG1sU2NoZW1hV2hpdGVTcGFjZVJlcGxhY2UodmFsdWUpOworCQkgICAgaWYgKG5vcm0gIT0gTlVMTCkKKwkJCXZhbHVlID0gbm9ybTsKKwkJfQorCQl2ID0geG1sU2NoZW1hTmV3VmFsdWUoWE1MX1NDSEVNQVNfU1RSSU5HKTsKKwkJaWYgKHYgIT0gTlVMTCkgeworCQkgICAgdi0+dmFsdWUuc3RyID0geG1sU3RyZHVwKHZhbHVlKTsKKwkJICAgICp2YWwgPSB2OworCQl9IGVsc2UgeworCQkgICAgZ290byBlcnJvcjsKKwkJfQorCSAgICB9CisgICAgICAgICAgICBnb3RvIHJldHVybjA7CisgICAgICAgIGNhc2UgWE1MX1NDSEVNQVNfTk9STVNUUklORzp7CisJCWlmIChub3JtT25UaGVGbHkpIHsKKwkJICAgIGlmIChhcHBseU5vcm0pIHsKKwkJCWlmICh3cyA9PSBYTUxfU0NIRU1BX1dISVRFU1BBQ0VfQ09MTEFQU0UpCisJCQkgICAgbm9ybSA9IHhtbFNjaGVtYUNvbGxhcHNlU3RyaW5nKHZhbHVlKTsKKwkJCWVsc2UKKwkJCSAgICBub3JtID0geG1sU2NoZW1hV2hpdGVTcGFjZVJlcGxhY2UodmFsdWUpOworCQkJaWYgKG5vcm0gIT0gTlVMTCkKKwkJCSAgICB2YWx1ZSA9IG5vcm07CisJCSAgICB9CisJCX0gZWxzZSB7CisJCSAgICBjb25zdCB4bWxDaGFyICpjdXIgPSB2YWx1ZTsKKwkJICAgIHdoaWxlICgqY3VyICE9IDApIHsKKwkJCWlmICgoKmN1ciA9PSAweGQpIHx8ICgqY3VyID09IDB4YSkgfHwgKCpjdXIgPT0gMHg5KSkgeworCQkJICAgIGdvdG8gcmV0dXJuMTsKKwkJCX0gZWxzZSB7CisJCQkgICAgY3VyKys7CisJCQl9CisJCSAgICB9CisJCX0KKyAgICAgICAgICAgICAgICBpZiAodmFsICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgdiA9IHhtbFNjaGVtYU5ld1ZhbHVlKFhNTF9TQ0hFTUFTX05PUk1TVFJJTkcpOworICAgICAgICAgICAgICAgICAgICBpZiAodiAhPSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgICAgICB2LT52YWx1ZS5zdHIgPSB4bWxTdHJkdXAodmFsdWUpOworICAgICAgICAgICAgICAgICAgICAgICAgKnZhbCA9IHY7CisgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGdvdG8gcmV0dXJuMDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgY2FzZSBYTUxfU0NIRU1BU19ERUNJTUFMOnsKKyAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICpjdXIgPSB2YWx1ZTsKKyAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgbGVuLCBuZWcsIGludGVnLCBoYXNMZWFkaW5nWmVyb2VzOworCQl4bWxDaGFyIGN2YWxbMjVdOworCQl4bWxDaGFyICpjcHRyID0gY3ZhbDsKKworICAgICAgICAgICAgICAgIGlmICgoY3VyID09IE5VTEwpIHx8ICgqY3VyID09IDApKQorICAgICAgICAgICAgICAgICAgICBnb3RvIHJldHVybjE7CisKKwkJLyoKKwkJKiB4czpkZWNpbWFsIGhhcyBhIHdoaXRlc3BhY2UtZmFjZXQgdmFsdWUgb2YgJ2NvbGxhcHNlJy4KKwkJKi8KKwkJaWYgKG5vcm1PblRoZUZseSkKKwkJICAgIHdoaWxlIElTX1dTUF9CTEFOS19DSCgqY3VyKSBjdXIrKzsKKworCQkvKgorCQkqIEZpcnN0IHdlIGhhbmRsZSBhbiBvcHRpb25hbCBzaWduLgorCQkqLworCQluZWcgPSAwOworICAgICAgICAgICAgICAgIGlmICgqY3VyID09ICctJykgeworCQkgICAgbmVnID0gMTsKKyAgICAgICAgICAgICAgICAgICAgY3VyKys7CisJCX0gZWxzZSBpZiAoKmN1ciA9PSAnKycpCisgICAgICAgICAgICAgICAgICAgIGN1cisrOworCQkvKgorCQkqIERpc2FsbG93OiAiIiwgIi0iLCAiLSAiCisJCSovCisJCWlmICgqY3VyID09IDApCisJCSAgICBnb3RvIHJldHVybjE7CisJCS8qCisJCSAqIE5leHQgd2UgInByZS1wYXJzZSIgdGhlIG51bWJlciwgaW4gcHJlcGFyYXRpb24gZm9yIGNhbGxpbmcKKwkJICogdGhlIGNvbW1vbiByb3V0aW5lIHhtbFNjaGVtYVBhcnNlVUludC4gIFdlIGdldCByaWQgb2YgYW55CisJCSAqIGxlYWRpbmcgemVyb2VzIChiZWNhdXNlIHdlIGhhdmUgcmVzZXJ2ZWQgb25seSAyNSBjaGFycyksCisJCSAqIGFuZCBub3RlIHRoZSBwb3NpdGlvbiBvZiBhIGRlY2ltYWwgcG9pbnQuCisJCSAqLworCQlsZW4gPSAwOworCQlpbnRlZyA9IH4wdTsKKwkJaGFzTGVhZGluZ1plcm9lcyA9IDA7CisJCS8qCisJCSogU2tpcCBsZWFkaW5nIHplcm9lcy4KKwkJKi8KKwkJd2hpbGUgKCpjdXIgPT0gJzAnKSB7CisJCSAgICBjdXIrKzsKKwkJICAgIGhhc0xlYWRpbmdaZXJvZXMgPSAxOworCQl9CisJCWlmICgqY3VyICE9IDApIHsKKwkJICAgIGRvIHsKKwkJCWlmICgoKmN1ciA+PSAnMCcpICYmICgqY3VyIDw9ICc5JykpIHsKKwkJCSAgICAqY3B0cisrID0gKmN1cisrOworCQkJICAgIGxlbisrOworCQkJfSBlbHNlIGlmICgqY3VyID09ICcuJykgeworCQkJICAgIGN1cisrOworCQkJICAgIGludGVnID0gbGVuOworCQkJICAgIGRvIHsKKwkJCQlpZiAoKCpjdXIgPj0gJzAnKSAmJiAoKmN1ciA8PSAnOScpKSB7CisJCQkJICAgICpjcHRyKysgPSAqY3VyKys7CisJCQkJICAgIGxlbisrOworCQkJCX0gZWxzZQorCQkJCSAgICBicmVhazsKKwkJCSAgICB9IHdoaWxlIChsZW4gPCAyNCk7CisJCQkgICAgLyoKKwkJCSAgICAqIERpc2FsbG93ICIuIiBidXQgYWxsb3cgIjAwLiIKKwkJCSAgICAqLworCQkJICAgIGlmICgobGVuID09IDApICYmICghaGFzTGVhZGluZ1plcm9lcykpCisJCQkJZ290byByZXR1cm4xOworCQkJICAgIGJyZWFrOworCQkJfSBlbHNlCisJCQkgICAgYnJlYWs7CisJCSAgICB9IHdoaWxlIChsZW4gPCAyNCk7CisJCX0KKwkJaWYgKG5vcm1PblRoZUZseSkKKwkJICAgIHdoaWxlIElTX1dTUF9CTEFOS19DSCgqY3VyKSBjdXIrKzsKKwkJaWYgKCpjdXIgIT0gMCkKKwkJICAgIGdvdG8gcmV0dXJuMTsgLyogZXJyb3IgaWYgYW55IGV4dHJhbmVvdXMgY2hhcnMgKi8KKyAgICAgICAgICAgICAgICBpZiAodmFsICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgdiA9IHhtbFNjaGVtYU5ld1ZhbHVlKFhNTF9TQ0hFTUFTX0RFQ0lNQUwpOworICAgICAgICAgICAgICAgICAgICBpZiAodiAhPSBOVUxMKSB7CisJCQkvKgorCQkJKiBOb3cgZXZhbHVhdGUgdGhlIHNpZ25pZmljYW50IGRpZ2l0cyBvZiB0aGUgbnVtYmVyCisJCQkqLworCQkJaWYgKGxlbiAhPSAwKSB7CisKKwkJCSAgICBpZiAoaW50ZWcgIT0gfjB1KSB7CisJCQkJLyoKKwkJCQkqIEdldCByaWQgb2YgdHJhaWxpbmcgemVyb2VzIGluIHRoZQorCQkJCSogZnJhY3Rpb25hbCBwYXJ0LgorCQkJCSovCisJCQkJd2hpbGUgKChsZW4gIT0gaW50ZWcpICYmICgqKGNwdHItMSkgPT0gJzAnKSkgeworCQkJCSAgICBjcHRyLS07CisJCQkJICAgIGxlbi0tOworCQkJCX0KKwkJCSAgICB9CisJCQkgICAgLyoKKwkJCSAgICAqIFRlcm1pbmF0ZSB0aGUgKHByZXBhcnNlZCkgc3RyaW5nLgorCQkJICAgICovCisJCQkgICAgaWYgKGxlbiAhPSAwKSB7CisJCQkJKmNwdHIgPSAwOworCQkJCWNwdHIgPSBjdmFsOworCisJCQkJeG1sU2NoZW1hUGFyc2VVSW50KChjb25zdCB4bWxDaGFyICoqKSZjcHRyLAorCQkJCSAgICAmdi0+dmFsdWUuZGVjaW1hbC5sbywKKwkJCQkgICAgJnYtPnZhbHVlLmRlY2ltYWwubWksCisJCQkJICAgICZ2LT52YWx1ZS5kZWNpbWFsLmhpKTsKKwkJCSAgICB9CisJCQl9CisJCQkvKgorCQkJKiBTZXQgdGhlIHRvdGFsIGRpZ2l0cyB0byAxIGlmIGEgemVybyB2YWx1ZS4KKwkJCSovCisgICAgICAgICAgICAgICAgICAgICAgICB2LT52YWx1ZS5kZWNpbWFsLnNpZ24gPSBuZWc7CisJCQlpZiAobGVuID09IDApIHsKKwkJCSAgICAvKiBTcGVlZHVwIGZvciB6ZXJvIHZhbHVlcy4gKi8KKwkJCSAgICB2LT52YWx1ZS5kZWNpbWFsLnRvdGFsID0gMTsKKwkJCX0gZWxzZSB7CisJCQkgICAgdi0+dmFsdWUuZGVjaW1hbC50b3RhbCA9IGxlbjsKKwkJCSAgICBpZiAoaW50ZWcgPT0gfjB1KQorCQkJCXYtPnZhbHVlLmRlY2ltYWwuZnJhYyA9IDA7CisJCQkgICAgZWxzZQorCQkJCXYtPnZhbHVlLmRlY2ltYWwuZnJhYyA9IGxlbiAtIGludGVnOworCQkJfQorICAgICAgICAgICAgICAgICAgICAgICAgKnZhbCA9IHY7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgZ290byByZXR1cm4wOworICAgICAgICAgICAgfQorICAgICAgICBjYXNlIFhNTF9TQ0hFTUFTX1RJTUU6CisgICAgICAgIGNhc2UgWE1MX1NDSEVNQVNfR0RBWToKKyAgICAgICAgY2FzZSBYTUxfU0NIRU1BU19HTU9OVEg6CisgICAgICAgIGNhc2UgWE1MX1NDSEVNQVNfR01PTlRIREFZOgorICAgICAgICBjYXNlIFhNTF9TQ0hFTUFTX0dZRUFSOgorICAgICAgICBjYXNlIFhNTF9TQ0hFTUFTX0dZRUFSTU9OVEg6CisgICAgICAgIGNhc2UgWE1MX1NDSEVNQVNfREFURToKKyAgICAgICAgY2FzZSBYTUxfU0NIRU1BU19EQVRFVElNRToKKyAgICAgICAgICAgIHJldCA9IHhtbFNjaGVtYVZhbGlkYXRlRGF0ZXModHlwZS0+YnVpbHRJblR5cGUsIHZhbHVlLCB2YWwsCisJCW5vcm1PblRoZUZseSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfU0NIRU1BU19EVVJBVElPTjoKKyAgICAgICAgICAgIHJldCA9IHhtbFNjaGVtYVZhbGlkYXRlRHVyYXRpb24odHlwZSwgdmFsdWUsIHZhbCwKKwkJbm9ybU9uVGhlRmx5KTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9TQ0hFTUFTX0ZMT0FUOgorICAgICAgICBjYXNlIFhNTF9TQ0hFTUFTX0RPVUJMRTogeworICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKmN1ciA9IHZhbHVlOworICAgICAgICAgICAgICAgIGludCBuZWcgPSAwOworICAgICAgICAgICAgICAgIGludCBkaWdpdHNfYmVmb3JlID0gMDsKKyAgICAgICAgICAgICAgICBpbnQgZGlnaXRzX2FmdGVyID0gMDsKKworCQlpZiAobm9ybU9uVGhlRmx5KQorCQkgICAgd2hpbGUgSVNfV1NQX0JMQU5LX0NIKCpjdXIpIGN1cisrOworCisgICAgICAgICAgICAgICAgaWYgKChjdXJbMF0gPT0gJ04nKSAmJiAoY3VyWzFdID09ICdhJykgJiYgKGN1clsyXSA9PSAnTicpKSB7CisgICAgICAgICAgICAgICAgICAgIGN1ciArPSAzOworICAgICAgICAgICAgICAgICAgICBpZiAoKmN1ciAhPSAwKQorICAgICAgICAgICAgICAgICAgICAgICAgZ290byByZXR1cm4xOworICAgICAgICAgICAgICAgICAgICBpZiAodmFsICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0eXBlID09IHhtbFNjaGVtYVR5cGVGbG9hdERlZikgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHYgPSB4bWxTY2hlbWFOZXdWYWx1ZShYTUxfU0NIRU1BU19GTE9BVCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHYgIT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2LT52YWx1ZS5mID0gKGZsb2F0KSB4bWxYUGF0aE5BTjsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxTY2hlbWFGcmVlVmFsdWUodik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ID0geG1sU2NoZW1hTmV3VmFsdWUoWE1MX1NDSEVNQVNfRE9VQkxFKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodiAhPSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHYtPnZhbHVlLmQgPSB4bWxYUGF0aE5BTjsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxTY2hlbWFGcmVlVmFsdWUodik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgKnZhbCA9IHY7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgZ290byByZXR1cm4wOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBpZiAoKmN1ciA9PSAnLScpIHsKKyAgICAgICAgICAgICAgICAgICAgbmVnID0gMTsKKyAgICAgICAgICAgICAgICAgICAgY3VyKys7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGlmICgoY3VyWzBdID09ICdJJykgJiYgKGN1clsxXSA9PSAnTicpICYmIChjdXJbMl0gPT0gJ0YnKSkgeworICAgICAgICAgICAgICAgICAgICBjdXIgKz0gMzsKKyAgICAgICAgICAgICAgICAgICAgaWYgKCpjdXIgIT0gMCkKKyAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gcmV0dXJuMTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHZhbCAhPSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAodHlwZSA9PSB4bWxTY2hlbWFUeXBlRmxvYXREZWYpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ID0geG1sU2NoZW1hTmV3VmFsdWUoWE1MX1NDSEVNQVNfRkxPQVQpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG5lZykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHYtPnZhbHVlLmYgPSAoZmxvYXQpIHhtbFhQYXRoTklORjsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdi0+dmFsdWUuZiA9IChmbG9hdCkgeG1sWFBhdGhQSU5GOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFNjaGVtYUZyZWVWYWx1ZSh2KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHYgPSB4bWxTY2hlbWFOZXdWYWx1ZShYTUxfU0NIRU1BU19ET1VCTEUpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG5lZykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHYtPnZhbHVlLmQgPSB4bWxYUGF0aE5JTkY7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHYtPnZhbHVlLmQgPSB4bWxYUGF0aFBJTkY7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sU2NoZW1hRnJlZVZhbHVlKHYpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgICp2YWwgPSB2OworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIGdvdG8gcmV0dXJuMDsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgaWYgKChuZWcgPT0gMCkgJiYgKCpjdXIgPT0gJysnKSkKKyAgICAgICAgICAgICAgICAgICAgY3VyKys7CisgICAgICAgICAgICAgICAgaWYgKChjdXJbMF0gPT0gMCkgfHwgKGN1clswXSA9PSAnKycpIHx8IChjdXJbMF0gPT0gJy0nKSkKKyAgICAgICAgICAgICAgICAgICAgZ290byByZXR1cm4xOworICAgICAgICAgICAgICAgIHdoaWxlICgoKmN1ciA+PSAnMCcpICYmICgqY3VyIDw9ICc5JykpIHsKKyAgICAgICAgICAgICAgICAgICAgY3VyKys7CisgICAgICAgICAgICAgICAgICAgIGRpZ2l0c19iZWZvcmUrKzsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgaWYgKCpjdXIgPT0gJy4nKSB7CisgICAgICAgICAgICAgICAgICAgIGN1cisrOworICAgICAgICAgICAgICAgICAgICB3aGlsZSAoKCpjdXIgPj0gJzAnKSAmJiAoKmN1ciA8PSAnOScpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBjdXIrKzsKKyAgICAgICAgICAgICAgICAgICAgICAgIGRpZ2l0c19hZnRlcisrOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGlmICgoZGlnaXRzX2JlZm9yZSA9PSAwKSAmJiAoZGlnaXRzX2FmdGVyID09IDApKQorICAgICAgICAgICAgICAgICAgICBnb3RvIHJldHVybjE7CisgICAgICAgICAgICAgICAgaWYgKCgqY3VyID09ICdlJykgfHwgKCpjdXIgPT0gJ0UnKSkgeworICAgICAgICAgICAgICAgICAgICBjdXIrKzsKKyAgICAgICAgICAgICAgICAgICAgaWYgKCgqY3VyID09ICctJykgfHwgKCpjdXIgPT0gJysnKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGN1cisrOworICAgICAgICAgICAgICAgICAgICB3aGlsZSAoKCpjdXIgPj0gJzAnKSAmJiAoKmN1ciA8PSAnOScpKQorICAgICAgICAgICAgICAgICAgICAgICAgY3VyKys7CisgICAgICAgICAgICAgICAgfQorCQlpZiAobm9ybU9uVGhlRmx5KQorCQkgICAgd2hpbGUgSVNfV1NQX0JMQU5LX0NIKCpjdXIpIGN1cisrOworCisgICAgICAgICAgICAgICAgaWYgKCpjdXIgIT0gMCkKKyAgICAgICAgICAgICAgICAgICAgZ290byByZXR1cm4xOworICAgICAgICAgICAgICAgIGlmICh2YWwgIT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICBpZiAodHlwZSA9PSB4bWxTY2hlbWFUeXBlRmxvYXREZWYpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHYgPSB4bWxTY2hlbWFOZXdWYWx1ZShYTUxfU0NIRU1BU19GTE9BVCk7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAodiAhPSBOVUxMKSB7CisJCQkgICAgLyoKKwkJCSAgICAqIFRPRE86IHNzY2FuZiBzZWVtcyBub3QgdG8gZ2l2ZSB0aGUgY29ycmVjdAorCQkJICAgICogdmFsdWUgZm9yIGV4dHJlbWVseSBoaWdoL2xvdyB2YWx1ZXMuCisJCQkgICAgKiBFLmcuICIxRS0xNDkiIHJlc3VsdHMgaW4gemVyby4KKwkJCSAgICAqLworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzc2NhbmYoKGNvbnN0IGNoYXIgKikgdmFsdWUsICIlZiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmKHYtPnZhbHVlLmYpKSA9PSAxKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICp2YWwgPSB2OworICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFNjaGVtYUZyZWVWYWx1ZSh2KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ290byByZXR1cm4xOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHYgPSB4bWxTY2hlbWFOZXdWYWx1ZShYTUxfU0NIRU1BU19ET1VCTEUpOworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHYgIT0gTlVMTCkgeworCQkJICAgIC8qCisJCQkgICAgKiBUT0RPOiBzc2NhbmYgc2VlbXMgbm90IHRvIGdpdmUgdGhlIGNvcnJlY3QKKwkJCSAgICAqIHZhbHVlIGZvciBleHRyZW1lbHkgaGlnaC9sb3cgdmFsdWVzLgorCQkJICAgICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHNzY2FuZigoY29uc3QgY2hhciAqKSB2YWx1ZSwgIiVsZiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmKHYtPnZhbHVlLmQpKSA9PSAxKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICp2YWwgPSB2OworICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFNjaGVtYUZyZWVWYWx1ZSh2KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ290byByZXR1cm4xOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBnb3RvIHJldHVybjA7CisgICAgICAgICAgICB9CisgICAgICAgIGNhc2UgWE1MX1NDSEVNQVNfQk9PTEVBTjp7CisgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqY3VyID0gdmFsdWU7CisKKwkJaWYgKG5vcm1PblRoZUZseSkgeworCQkgICAgd2hpbGUgSVNfV1NQX0JMQU5LX0NIKCpjdXIpIGN1cisrOworCQkgICAgaWYgKCpjdXIgPT0gJzAnKSB7CisJCQlyZXQgPSAwOworCQkJY3VyKys7CisJCSAgICB9IGVsc2UgaWYgKCpjdXIgPT0gJzEnKSB7CisJCQlyZXQgPSAxOworCQkJY3VyKys7CisJCSAgICB9IGVsc2UgaWYgKCpjdXIgPT0gJ3QnKSB7CisJCQljdXIrKzsKKwkJCWlmICgoKmN1cisrID09ICdyJykgJiYgKCpjdXIrKyA9PSAndScpICYmCisJCQkgICAgKCpjdXIrKyA9PSAnZScpKSB7CisJCQkgICAgcmV0ID0gMTsKKwkJCX0gZWxzZQorCQkJICAgIGdvdG8gcmV0dXJuMTsKKwkJICAgIH0gZWxzZSBpZiAoKmN1ciA9PSAnZicpIHsKKwkJCWN1cisrOworCQkJaWYgKCgqY3VyKysgPT0gJ2EnKSAmJiAoKmN1cisrID09ICdsJykgJiYKKwkJCSAgICAoKmN1cisrID09ICdzJykgJiYgKCpjdXIrKyA9PSAnZScpKSB7CisJCQkgICAgcmV0ID0gMDsKKwkJCX0gZWxzZQorCQkJICAgIGdvdG8gcmV0dXJuMTsKKwkJICAgIH0gZWxzZQorCQkJZ290byByZXR1cm4xOworCQkgICAgaWYgKCpjdXIgIT0gMCkgeworCQkJd2hpbGUgSVNfV1NQX0JMQU5LX0NIKCpjdXIpIGN1cisrOworCQkJaWYgKCpjdXIgIT0gMCkKKwkJCSAgICBnb3RvIHJldHVybjE7CisJCSAgICB9CisJCX0gZWxzZSB7CisJCSAgICBpZiAoKGN1clswXSA9PSAnMCcpICYmIChjdXJbMV0gPT0gMCkpCisJCQlyZXQgPSAwOworCQkgICAgZWxzZSBpZiAoKGN1clswXSA9PSAnMScpICYmIChjdXJbMV0gPT0gMCkpCisJCQlyZXQgPSAxOworCQkgICAgZWxzZSBpZiAoKGN1clswXSA9PSAndCcpICYmIChjdXJbMV0gPT0gJ3InKQorCQkJJiYgKGN1clsyXSA9PSAndScpICYmIChjdXJbM10gPT0gJ2UnKQorCQkJJiYgKGN1cls0XSA9PSAwKSkKKwkJCXJldCA9IDE7CisJCSAgICBlbHNlIGlmICgoY3VyWzBdID09ICdmJykgJiYgKGN1clsxXSA9PSAnYScpCisJCQkmJiAoY3VyWzJdID09ICdsJykgJiYgKGN1clszXSA9PSAncycpCisJCQkmJiAoY3VyWzRdID09ICdlJykgJiYgKGN1cls1XSA9PSAwKSkKKwkJCXJldCA9IDA7CisJCSAgICBlbHNlCisJCQlnb3RvIHJldHVybjE7CisJCX0KKyAgICAgICAgICAgICAgICBpZiAodmFsICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgdiA9IHhtbFNjaGVtYU5ld1ZhbHVlKFhNTF9TQ0hFTUFTX0JPT0xFQU4pOworICAgICAgICAgICAgICAgICAgICBpZiAodiAhPSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgICAgICB2LT52YWx1ZS5iID0gcmV0OworICAgICAgICAgICAgICAgICAgICAgICAgKnZhbCA9IHY7CisgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGdvdG8gcmV0dXJuMDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgY2FzZSBYTUxfU0NIRU1BU19UT0tFTjp7CisgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqY3VyID0gdmFsdWU7CisKKwkJaWYgKCEgbm9ybU9uVGhlRmx5KSB7CisJCSAgICB3aGlsZSAoKmN1ciAhPSAwKSB7CisJCQlpZiAoKCpjdXIgPT0gMHhkKSB8fCAoKmN1ciA9PSAweGEpIHx8ICgqY3VyID09IDB4OSkpIHsKKwkJCSAgICBnb3RvIHJldHVybjE7CisJCQl9IGVsc2UgaWYgKCpjdXIgPT0gJyAnKSB7CisJCQkgICAgY3VyKys7CisJCQkgICAgaWYgKCpjdXIgPT0gMCkKKwkJCQlnb3RvIHJldHVybjE7CisJCQkgICAgaWYgKCpjdXIgPT0gJyAnKQorCQkJCWdvdG8gcmV0dXJuMTsKKwkJCX0gZWxzZSB7CisJCQkgICAgY3VyKys7CisJCQl9CisJCSAgICB9CisJCX0KKyAgICAgICAgICAgICAgICBpZiAodmFsICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgdiA9IHhtbFNjaGVtYU5ld1ZhbHVlKFhNTF9TQ0hFTUFTX1RPS0VOKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHYgIT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICAgICAgdi0+dmFsdWUuc3RyID0geG1sU3RyZHVwKHZhbHVlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICp2YWwgPSB2OworICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBnb3RvIHJldHVybjA7CisgICAgICAgICAgICB9CisgICAgICAgIGNhc2UgWE1MX1NDSEVNQVNfTEFOR1VBR0U6CisJICAgIGlmIChub3JtT25UaGVGbHkpIHsKKwkJbm9ybSA9IHhtbFNjaGVtYUNvbGxhcHNlU3RyaW5nKHZhbHVlKTsKKwkJaWYgKG5vcm0gIT0gTlVMTCkKKwkJICAgIHZhbHVlID0gbm9ybTsKKwkgICAgfQorICAgICAgICAgICAgaWYgKHhtbENoZWNrTGFuZ3VhZ2VJRCh2YWx1ZSkgPT0gMSkgeworICAgICAgICAgICAgICAgIGlmICh2YWwgIT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICB2ID0geG1sU2NoZW1hTmV3VmFsdWUoWE1MX1NDSEVNQVNfTEFOR1VBR0UpOworICAgICAgICAgICAgICAgICAgICBpZiAodiAhPSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgICAgICB2LT52YWx1ZS5zdHIgPSB4bWxTdHJkdXAodmFsdWUpOworICAgICAgICAgICAgICAgICAgICAgICAgKnZhbCA9IHY7CisgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGdvdG8gcmV0dXJuMDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGdvdG8gcmV0dXJuMTsKKyAgICAgICAgY2FzZSBYTUxfU0NIRU1BU19OTVRPS0VOOgorICAgICAgICAgICAgaWYgKHhtbFZhbGlkYXRlTk1Ub2tlbih2YWx1ZSwgMSkgPT0gMCkgeworICAgICAgICAgICAgICAgIGlmICh2YWwgIT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICB2ID0geG1sU2NoZW1hTmV3VmFsdWUoWE1MX1NDSEVNQVNfTk1UT0tFTik7CisgICAgICAgICAgICAgICAgICAgIGlmICh2ICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHYtPnZhbHVlLnN0ciA9IHhtbFN0cmR1cCh2YWx1ZSk7CisgICAgICAgICAgICAgICAgICAgICAgICAqdmFsID0gdjsKKyAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgZ290byByZXR1cm4wOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZ290byByZXR1cm4xOworICAgICAgICBjYXNlIFhNTF9TQ0hFTUFTX05NVE9LRU5TOgorICAgICAgICAgICAgcmV0ID0geG1sU2NoZW1hVmFsQXRvbWljTGlzdE5vZGUoeG1sU2NoZW1hVHlwZU5tdG9rZW5EZWYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSwgdmFsLCBub2RlKTsKKyAgICAgICAgICAgIGlmIChyZXQgPiAwKQorICAgICAgICAgICAgICAgIHJldCA9IDA7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgcmV0ID0gMTsKKyAgICAgICAgICAgIGdvdG8gZG9uZTsKKyAgICAgICAgY2FzZSBYTUxfU0NIRU1BU19OQU1FOgorICAgICAgICAgICAgcmV0ID0geG1sVmFsaWRhdGVOYW1lKHZhbHVlLCAxKTsKKyAgICAgICAgICAgIGlmICgocmV0ID09IDApICYmICh2YWwgIT0gTlVMTCkgJiYgKHZhbHVlICE9IE5VTEwpKSB7CisJCXYgPSB4bWxTY2hlbWFOZXdWYWx1ZShYTUxfU0NIRU1BU19OQU1FKTsKKwkJaWYgKHYgIT0gTlVMTCkgeworCQkgICAgIGNvbnN0IHhtbENoYXIgKnN0YXJ0ID0gdmFsdWUsICplbmQ7CisJCSAgICAgd2hpbGUgKElTX0JMQU5LX0NIKCpzdGFydCkpIHN0YXJ0Kys7CisJCSAgICAgZW5kID0gc3RhcnQ7CisJCSAgICAgd2hpbGUgKCgqZW5kICE9IDApICYmICghSVNfQkxBTktfQ0goKmVuZCkpKSBlbmQrKzsKKwkJICAgICB2LT52YWx1ZS5zdHIgPSB4bWxTdHJuZHVwKHN0YXJ0LCBlbmQgLSBzdGFydCk7CisJCSAgICAqdmFsID0gdjsKKwkJfSBlbHNlIHsKKwkJICAgIGdvdG8gZXJyb3I7CisJCX0KKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGdvdG8gZG9uZTsKKyAgICAgICAgY2FzZSBYTUxfU0NIRU1BU19RTkFNRTp7CisgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqdXJpID0gTlVMTDsKKyAgICAgICAgICAgICAgICB4bWxDaGFyICpsb2NhbCA9IE5VTEw7CisKKyAgICAgICAgICAgICAgICByZXQgPSB4bWxWYWxpZGF0ZVFOYW1lKHZhbHVlLCAxKTsKKwkJaWYgKHJldCAhPSAwKQorCQkgICAgZ290byBkb25lOworICAgICAgICAgICAgICAgIGlmIChub2RlICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgeG1sQ2hhciAqcHJlZml4OworCQkgICAgeG1sTnNQdHIgbnM7CisKKyAgICAgICAgICAgICAgICAgICAgbG9jYWwgPSB4bWxTcGxpdFFOYW1lMih2YWx1ZSwgJnByZWZpeCk7CisJCSAgICBucyA9IHhtbFNlYXJjaE5zKG5vZGUtPmRvYywgbm9kZSwgcHJlZml4KTsKKwkJICAgIGlmICgobnMgPT0gTlVMTCkgJiYgKHByZWZpeCAhPSBOVUxMKSkgeworCQkJeG1sRnJlZShwcmVmaXgpOworCQkJaWYgKGxvY2FsICE9IE5VTEwpCisJCQkgICAgeG1sRnJlZShsb2NhbCk7CisJCQlnb3RvIHJldHVybjE7CisJCSAgICB9CisJCSAgICBpZiAobnMgIT0gTlVMTCkKKwkJCXVyaSA9IG5zLT5ocmVmOworICAgICAgICAgICAgICAgICAgICBpZiAocHJlZml4ICE9IE5VTEwpCisgICAgICAgICAgICAgICAgICAgICAgICB4bWxGcmVlKHByZWZpeCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGlmICh2YWwgIT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICB2ID0geG1sU2NoZW1hTmV3VmFsdWUoWE1MX1NDSEVNQVNfUU5BTUUpOworICAgICAgICAgICAgICAgICAgICBpZiAodiA9PSBOVUxMKSB7CisJCQlpZiAobG9jYWwgIT0gTlVMTCkKKwkJCSAgICB4bWxGcmVlKGxvY2FsKTsKKwkJCWdvdG8gZXJyb3I7CisJCSAgICB9CisJCSAgICBpZiAobG9jYWwgIT0gTlVMTCkKKwkJCXYtPnZhbHVlLnFuYW1lLm5hbWUgPSBsb2NhbDsKKwkJICAgIGVsc2UKKwkJCXYtPnZhbHVlLnFuYW1lLm5hbWUgPSB4bWxTdHJkdXAodmFsdWUpOworCQkgICAgaWYgKHVyaSAhPSBOVUxMKQorCQkJdi0+dmFsdWUucW5hbWUudXJpID0geG1sU3RyZHVwKHVyaSk7CisJCSAgICAqdmFsID0gdjsKKyAgICAgICAgICAgICAgICB9IGVsc2UKKwkJICAgIGlmIChsb2NhbCAhPSBOVUxMKQorCQkJeG1sRnJlZShsb2NhbCk7CisgICAgICAgICAgICAgICAgZ290byBkb25lOworICAgICAgICAgICAgfQorICAgICAgICBjYXNlIFhNTF9TQ0hFTUFTX05DTkFNRToKKyAgICAgICAgICAgIHJldCA9IHhtbFZhbGlkYXRlTkNOYW1lKHZhbHVlLCAxKTsKKyAgICAgICAgICAgIGlmICgocmV0ID09IDApICYmICh2YWwgIT0gTlVMTCkpIHsKKyAgICAgICAgICAgICAgICB2ID0geG1sU2NoZW1hTmV3VmFsdWUoWE1MX1NDSEVNQVNfTkNOQU1FKTsKKyAgICAgICAgICAgICAgICBpZiAodiAhPSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgIHYtPnZhbHVlLnN0ciA9IHhtbFN0cmR1cCh2YWx1ZSk7CisgICAgICAgICAgICAgICAgICAgICp2YWwgPSB2OworICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgICAgZ290byBkb25lOworICAgICAgICBjYXNlIFhNTF9TQ0hFTUFTX0lEOgorICAgICAgICAgICAgcmV0ID0geG1sVmFsaWRhdGVOQ05hbWUodmFsdWUsIDEpOworICAgICAgICAgICAgaWYgKChyZXQgPT0gMCkgJiYgKHZhbCAhPSBOVUxMKSkgeworICAgICAgICAgICAgICAgIHYgPSB4bWxTY2hlbWFOZXdWYWx1ZShYTUxfU0NIRU1BU19JRCk7CisgICAgICAgICAgICAgICAgaWYgKHYgIT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICB2LT52YWx1ZS5zdHIgPSB4bWxTdHJkdXAodmFsdWUpOworICAgICAgICAgICAgICAgICAgICAqdmFsID0gdjsKKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmICgocmV0ID09IDApICYmIChub2RlICE9IE5VTEwpICYmCisgICAgICAgICAgICAgICAgKG5vZGUtPnR5cGUgPT0gWE1MX0FUVFJJQlVURV9OT0RFKSkgeworICAgICAgICAgICAgICAgIHhtbEF0dHJQdHIgYXR0ciA9ICh4bWxBdHRyUHRyKSBub2RlOworCisgICAgICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAgICAgKiBOT1RFOiB0aGUgSURuZXNzIG1pZ2h0IGhhdmUgYWxyZWFkeSBiZSBkZWNsYXJlZCBpbiB0aGUgRFRECisgICAgICAgICAgICAgICAgICovCisgICAgICAgICAgICAgICAgaWYgKGF0dHItPmF0eXBlICE9IFhNTF9BVFRSSUJVVEVfSUQpIHsKKyAgICAgICAgICAgICAgICAgICAgeG1sSURQdHIgcmVzOworICAgICAgICAgICAgICAgICAgICB4bWxDaGFyICpzdHJpcDsKKworICAgICAgICAgICAgICAgICAgICBzdHJpcCA9IHhtbFNjaGVtYVN0cmlwKHZhbHVlKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHN0cmlwICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJlcyA9IHhtbEFkZElEKE5VTEwsIG5vZGUtPmRvYywgc3RyaXAsIGF0dHIpOworICAgICAgICAgICAgICAgICAgICAgICAgeG1sRnJlZShzdHJpcCk7CisgICAgICAgICAgICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAgcmVzID0geG1sQWRkSUQoTlVMTCwgbm9kZS0+ZG9jLCB2YWx1ZSwgYXR0cik7CisgICAgICAgICAgICAgICAgICAgIGlmIChyZXMgPT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICAgICAgcmV0ID0gMjsKKyAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGF0dHItPmF0eXBlID0gWE1MX0FUVFJJQlVURV9JRDsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGdvdG8gZG9uZTsKKyAgICAgICAgY2FzZSBYTUxfU0NIRU1BU19JRFJFRjoKKyAgICAgICAgICAgIHJldCA9IHhtbFZhbGlkYXRlTkNOYW1lKHZhbHVlLCAxKTsKKyAgICAgICAgICAgIGlmICgocmV0ID09IDApICYmICh2YWwgIT0gTlVMTCkpIHsKKwkJdiA9IHhtbFNjaGVtYU5ld1ZhbHVlKFhNTF9TQ0hFTUFTX0lEUkVGKTsKKwkJaWYgKHYgPT0gTlVMTCkKKwkJICAgIGdvdG8gZXJyb3I7CisJCXYtPnZhbHVlLnN0ciA9IHhtbFN0cmR1cCh2YWx1ZSk7CisJCSp2YWwgPSB2OworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKChyZXQgPT0gMCkgJiYgKG5vZGUgIT0gTlVMTCkgJiYKKyAgICAgICAgICAgICAgICAobm9kZS0+dHlwZSA9PSBYTUxfQVRUUklCVVRFX05PREUpKSB7CisgICAgICAgICAgICAgICAgeG1sQXR0clB0ciBhdHRyID0gKHhtbEF0dHJQdHIpIG5vZGU7CisgICAgICAgICAgICAgICAgeG1sQ2hhciAqc3RyaXA7CisKKyAgICAgICAgICAgICAgICBzdHJpcCA9IHhtbFNjaGVtYVN0cmlwKHZhbHVlKTsKKyAgICAgICAgICAgICAgICBpZiAoc3RyaXAgIT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICB4bWxBZGRSZWYoTlVMTCwgbm9kZS0+ZG9jLCBzdHJpcCwgYXR0cik7CisgICAgICAgICAgICAgICAgICAgIHhtbEZyZWUoc3RyaXApOworICAgICAgICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAgICAgICB4bWxBZGRSZWYoTlVMTCwgbm9kZS0+ZG9jLCB2YWx1ZSwgYXR0cik7CisgICAgICAgICAgICAgICAgYXR0ci0+YXR5cGUgPSBYTUxfQVRUUklCVVRFX0lEUkVGOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZ290byBkb25lOworICAgICAgICBjYXNlIFhNTF9TQ0hFTUFTX0lEUkVGUzoKKyAgICAgICAgICAgIHJldCA9IHhtbFNjaGVtYVZhbEF0b21pY0xpc3ROb2RlKHhtbFNjaGVtYVR5cGVJZHJlZkRlZiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlLCB2YWwsIG5vZGUpOworICAgICAgICAgICAgaWYgKHJldCA8IDApCisgICAgICAgICAgICAgICAgcmV0ID0gMjsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICByZXQgPSAwOworICAgICAgICAgICAgaWYgKChyZXQgPT0gMCkgJiYgKG5vZGUgIT0gTlVMTCkgJiYKKyAgICAgICAgICAgICAgICAobm9kZS0+dHlwZSA9PSBYTUxfQVRUUklCVVRFX05PREUpKSB7CisgICAgICAgICAgICAgICAgeG1sQXR0clB0ciBhdHRyID0gKHhtbEF0dHJQdHIpIG5vZGU7CisKKyAgICAgICAgICAgICAgICBhdHRyLT5hdHlwZSA9IFhNTF9BVFRSSUJVVEVfSURSRUZTOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZ290byBkb25lOworICAgICAgICBjYXNlIFhNTF9TQ0hFTUFTX0VOVElUWTp7CisgICAgICAgICAgICAgICAgeG1sQ2hhciAqc3RyaXA7CisKKyAgICAgICAgICAgICAgICByZXQgPSB4bWxWYWxpZGF0ZU5DTmFtZSh2YWx1ZSwgMSk7CisgICAgICAgICAgICAgICAgaWYgKChub2RlID09IE5VTEwpIHx8IChub2RlLT5kb2MgPT0gTlVMTCkpCisgICAgICAgICAgICAgICAgICAgIHJldCA9IDM7CisgICAgICAgICAgICAgICAgaWYgKHJldCA9PSAwKSB7CisgICAgICAgICAgICAgICAgICAgIHhtbEVudGl0eVB0ciBlbnQ7CisKKyAgICAgICAgICAgICAgICAgICAgc3RyaXAgPSB4bWxTY2hlbWFTdHJpcCh2YWx1ZSk7CisgICAgICAgICAgICAgICAgICAgIGlmIChzdHJpcCAhPSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBlbnQgPSB4bWxHZXREb2NFbnRpdHkobm9kZS0+ZG9jLCBzdHJpcCk7CisgICAgICAgICAgICAgICAgICAgICAgICB4bWxGcmVlKHN0cmlwKTsKKyAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGVudCA9IHhtbEdldERvY0VudGl0eShub2RlLT5kb2MsIHZhbHVlKTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBpZiAoKGVudCA9PSBOVUxMKSB8fAorICAgICAgICAgICAgICAgICAgICAgICAgKGVudC0+ZXR5cGUgIT0KKyAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfRVhURVJOQUxfR0VORVJBTF9VTlBBUlNFRF9FTlRJVFkpKQorICAgICAgICAgICAgICAgICAgICAgICAgcmV0ID0gNDsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgaWYgKChyZXQgPT0gMCkgJiYgKHZhbCAhPSBOVUxMKSkgeworICAgICAgICAgICAgICAgICAgICBUT0RPOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBpZiAoKHJldCA9PSAwKSAmJiAobm9kZSAhPSBOVUxMKSAmJgorICAgICAgICAgICAgICAgICAgICAobm9kZS0+dHlwZSA9PSBYTUxfQVRUUklCVVRFX05PREUpKSB7CisgICAgICAgICAgICAgICAgICAgIHhtbEF0dHJQdHIgYXR0ciA9ICh4bWxBdHRyUHRyKSBub2RlOworCisgICAgICAgICAgICAgICAgICAgIGF0dHItPmF0eXBlID0gWE1MX0FUVFJJQlVURV9FTlRJVFk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGdvdG8gZG9uZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgY2FzZSBYTUxfU0NIRU1BU19FTlRJVElFUzoKKyAgICAgICAgICAgIGlmICgobm9kZSA9PSBOVUxMKSB8fCAobm9kZS0+ZG9jID09IE5VTEwpKQorICAgICAgICAgICAgICAgIGdvdG8gcmV0dXJuMzsKKyAgICAgICAgICAgIHJldCA9IHhtbFNjaGVtYVZhbEF0b21pY0xpc3ROb2RlKHhtbFNjaGVtYVR5cGVFbnRpdHlEZWYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSwgdmFsLCBub2RlKTsKKyAgICAgICAgICAgIGlmIChyZXQgPD0gMCkKKyAgICAgICAgICAgICAgICByZXQgPSAxOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHJldCA9IDA7CisgICAgICAgICAgICBpZiAoKHJldCA9PSAwKSAmJiAobm9kZSAhPSBOVUxMKSAmJgorICAgICAgICAgICAgICAgIChub2RlLT50eXBlID09IFhNTF9BVFRSSUJVVEVfTk9ERSkpIHsKKyAgICAgICAgICAgICAgICB4bWxBdHRyUHRyIGF0dHIgPSAoeG1sQXR0clB0cikgbm9kZTsKKworICAgICAgICAgICAgICAgIGF0dHItPmF0eXBlID0gWE1MX0FUVFJJQlVURV9FTlRJVElFUzsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGdvdG8gZG9uZTsKKyAgICAgICAgY2FzZSBYTUxfU0NIRU1BU19OT1RBVElPTjp7CisgICAgICAgICAgICAgICAgeG1sQ2hhciAqdXJpID0gTlVMTDsKKyAgICAgICAgICAgICAgICB4bWxDaGFyICpsb2NhbCA9IE5VTEw7CisKKyAgICAgICAgICAgICAgICByZXQgPSB4bWxWYWxpZGF0ZVFOYW1lKHZhbHVlLCAxKTsKKyAgICAgICAgICAgICAgICBpZiAoKHJldCA9PSAwKSAmJiAobm9kZSAhPSBOVUxMKSkgeworICAgICAgICAgICAgICAgICAgICB4bWxDaGFyICpwcmVmaXg7CisKKyAgICAgICAgICAgICAgICAgICAgbG9jYWwgPSB4bWxTcGxpdFFOYW1lMih2YWx1ZSwgJnByZWZpeCk7CisgICAgICAgICAgICAgICAgICAgIGlmIChwcmVmaXggIT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICAgICAgeG1sTnNQdHIgbnM7CisKKyAgICAgICAgICAgICAgICAgICAgICAgIG5zID0geG1sU2VhcmNoTnMobm9kZS0+ZG9jLCBub2RlLCBwcmVmaXgpOworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG5zID09IE5VTEwpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0ID0gMTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKHZhbCAhPSBOVUxMKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVyaSA9IHhtbFN0cmR1cChucy0+aHJlZik7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgaWYgKChsb2NhbCAhPSBOVUxMKSAmJiAoKHZhbCA9PSBOVUxMKSB8fCAocmV0ICE9IDApKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHhtbEZyZWUobG9jYWwpOworICAgICAgICAgICAgICAgICAgICBpZiAocHJlZml4ICE9IE5VTEwpCisgICAgICAgICAgICAgICAgICAgICAgICB4bWxGcmVlKHByZWZpeCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGlmICgobm9kZSA9PSBOVUxMKSB8fCAobm9kZS0+ZG9jID09IE5VTEwpKQorICAgICAgICAgICAgICAgICAgICByZXQgPSAzOworICAgICAgICAgICAgICAgIGlmIChyZXQgPT0gMCkgeworICAgICAgICAgICAgICAgICAgICByZXQgPSB4bWxWYWxpZGF0ZU5vdGF0aW9uVXNlKE5VTEwsIG5vZGUtPmRvYywgdmFsdWUpOworICAgICAgICAgICAgICAgICAgICBpZiAocmV0ID09IDEpCisgICAgICAgICAgICAgICAgICAgICAgICByZXQgPSAwOworICAgICAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgICAgICByZXQgPSAxOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBpZiAoKHJldCA9PSAwKSAmJiAodmFsICE9IE5VTEwpKSB7CisgICAgICAgICAgICAgICAgICAgIHYgPSB4bWxTY2hlbWFOZXdWYWx1ZShYTUxfU0NIRU1BU19OT1RBVElPTik7CisgICAgICAgICAgICAgICAgICAgIGlmICh2ICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChsb2NhbCAhPSBOVUxMKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHYtPnZhbHVlLnFuYW1lLm5hbWUgPSBsb2NhbDsKKyAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2LT52YWx1ZS5xbmFtZS5uYW1lID0geG1sU3RyZHVwKHZhbHVlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh1cmkgIT0gTlVMTCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2LT52YWx1ZS5xbmFtZS51cmkgPSB1cmk7CisKKyAgICAgICAgICAgICAgICAgICAgICAgICp2YWwgPSB2OworICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGxvY2FsICE9IE5VTEwpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sRnJlZShsb2NhbCk7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAodXJpICE9IE5VTEwpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sRnJlZSh1cmkpOworICAgICAgICAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBnb3RvIGRvbmU7CisgICAgICAgICAgICB9CisgICAgICAgIGNhc2UgWE1MX1NDSEVNQVNfQU5ZVVJJOnsKKyAgICAgICAgICAgICAgICBpZiAoKnZhbHVlICE9IDApIHsKKwkJICAgIHhtbFVSSVB0ciB1cmk7CisJCSAgICB4bWxDaGFyICp0bXB2YWwsICpjdXI7CisJCSAgICBpZiAobm9ybU9uVGhlRmx5KSB7CisJCQlub3JtID0geG1sU2NoZW1hQ29sbGFwc2VTdHJpbmcodmFsdWUpOworCQkJaWYgKG5vcm0gIT0gTlVMTCkKKwkJCSAgICB2YWx1ZSA9IG5vcm07CisJCSAgICB9CisJCSAgICB0bXB2YWwgPSB4bWxTdHJkdXAodmFsdWUpOworCQkgICAgZm9yIChjdXIgPSB0bXB2YWw7ICpjdXI7ICsrY3VyKSB7CisJCQlpZiAoKmN1ciA8IDMyIHx8ICpjdXIgPj0gMTI3IHx8ICpjdXIgPT0gJyAnIHx8CisJCQkgICAgKmN1ciA9PSAnPCcgfHwgKmN1ciA9PSAnPicgfHwgKmN1ciA9PSAnIicgfHwKKwkJCSAgICAqY3VyID09ICd7JyB8fCAqY3VyID09ICd9JyB8fCAqY3VyID09ICd8JyB8fAorCQkJICAgICpjdXIgPT0gJ1xcJyB8fCAqY3VyID09ICdeJyB8fCAqY3VyID09ICdgJyB8fAorCQkJICAgICpjdXIgPT0gJ1wnJykKKwkJCSAgICAqY3VyID0gJ18nOworCQkgICAgfQorICAgICAgICAgICAgICAgICAgICB1cmkgPSB4bWxQYXJzZVVSSSgoY29uc3QgY2hhciAqKSB0bXB2YWwpOworCQkgICAgeG1sRnJlZSh0bXB2YWwpOworICAgICAgICAgICAgICAgICAgICBpZiAodXJpID09IE5VTEwpCisgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIHJldHVybjE7CisgICAgICAgICAgICAgICAgICAgIHhtbEZyZWVVUkkodXJpKTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBpZiAodmFsICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgdiA9IHhtbFNjaGVtYU5ld1ZhbHVlKFhNTF9TQ0hFTUFTX0FOWVVSSSk7CisgICAgICAgICAgICAgICAgICAgIGlmICh2ID09IE5VTEwpCisgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgICAgICAgICB2LT52YWx1ZS5zdHIgPSB4bWxTdHJkdXAodmFsdWUpOworICAgICAgICAgICAgICAgICAgICAqdmFsID0gdjsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgZ290byByZXR1cm4wOworICAgICAgICAgICAgfQorICAgICAgICBjYXNlIFhNTF9TQ0hFTUFTX0hFWEJJTkFSWTp7CisgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqY3VyID0gdmFsdWUsICpzdGFydDsKKyAgICAgICAgICAgICAgICB4bWxDaGFyICpiYXNlOworICAgICAgICAgICAgICAgIGludCB0b3RhbCwgaSA9IDA7CisKKyAgICAgICAgICAgICAgICBpZiAoY3VyID09IE5VTEwpCisgICAgICAgICAgICAgICAgICAgIGdvdG8gcmV0dXJuMTsKKworCQlpZiAobm9ybU9uVGhlRmx5KQorCQkgICAgd2hpbGUgSVNfV1NQX0JMQU5LX0NIKCpjdXIpIGN1cisrOworCisJCXN0YXJ0ID0gY3VyOworICAgICAgICAgICAgICAgIHdoaWxlICgoKCpjdXIgPj0gJzAnKSAmJiAoKmN1ciA8PSAnOScpKSB8fAorICAgICAgICAgICAgICAgICAgICAgICAoKCpjdXIgPj0gJ0EnKSAmJiAoKmN1ciA8PSAnRicpKSB8fAorICAgICAgICAgICAgICAgICAgICAgICAoKCpjdXIgPj0gJ2EnKSAmJiAoKmN1ciA8PSAnZicpKSkgeworICAgICAgICAgICAgICAgICAgICBpKys7CisgICAgICAgICAgICAgICAgICAgIGN1cisrOworICAgICAgICAgICAgICAgIH0KKwkJaWYgKG5vcm1PblRoZUZseSkKKwkJICAgIHdoaWxlIElTX1dTUF9CTEFOS19DSCgqY3VyKSBjdXIrKzsKKworICAgICAgICAgICAgICAgIGlmICgqY3VyICE9IDApCisgICAgICAgICAgICAgICAgICAgIGdvdG8gcmV0dXJuMTsKKyAgICAgICAgICAgICAgICBpZiAoKGkgJSAyKSAhPSAwKQorICAgICAgICAgICAgICAgICAgICBnb3RvIHJldHVybjE7CisKKyAgICAgICAgICAgICAgICBpZiAodmFsICE9IE5VTEwpIHsKKworICAgICAgICAgICAgICAgICAgICB2ID0geG1sU2NoZW1hTmV3VmFsdWUoWE1MX1NDSEVNQVNfSEVYQklOQVJZKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHYgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisJCSAgICAvKgorCQkgICAgKiBDb3B5IG9ubHkgdGhlIG5vcm1hbGl6ZWQgcGllY2UuCisJCSAgICAqIENSSVRJQ0FMIFRPRE86IENoZWNrIHRoaXMuCisJCSAgICAqLworICAgICAgICAgICAgICAgICAgICBjdXIgPSB4bWxTdHJuZHVwKHN0YXJ0LCBpKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGN1ciA9PSBOVUxMKSB7CisJCSAgICAgICAgeG1sU2NoZW1hVHlwZUVyck1lbW9yeShub2RlLCAiYWxsb2NhdGluZyBoZXhiaW4gZGF0YSIpOworICAgICAgICAgICAgICAgICAgICAgICAgeG1sRnJlZSh2KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gcmV0dXJuMTsKKyAgICAgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgICAgIHRvdGFsID0gaSAvIDI7ICAgICAgLyogbnVtYmVyIG9mIG9jdGV0cyAqLworCisgICAgICAgICAgICAgICAgICAgIGJhc2UgPSAoeG1sQ2hhciAqKSBjdXI7CisgICAgICAgICAgICAgICAgICAgIHdoaWxlIChpLS0gPiAwKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKmJhc2UgPj0gJ2EnKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICpiYXNlID0gKmJhc2UgLSAoJ2EnIC0gJ0EnKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGJhc2UrKzsKKyAgICAgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgICAgIHYtPnZhbHVlLmhleC5zdHIgPSAoeG1sQ2hhciAqKSBjdXI7CisgICAgICAgICAgICAgICAgICAgIHYtPnZhbHVlLmhleC50b3RhbCA9IHRvdGFsOworICAgICAgICAgICAgICAgICAgICAqdmFsID0gdjsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgZ290byByZXR1cm4wOworICAgICAgICAgICAgfQorICAgICAgICBjYXNlIFhNTF9TQ0hFTUFTX0JBU0U2NEJJTkFSWTp7CisgICAgICAgICAgICAgICAgLyogSVNTVUU6CisgICAgICAgICAgICAgICAgICoKKyAgICAgICAgICAgICAgICAgKiBJZ25vcmUgYWxsIHN0cmF5IGNoYXJhY3RlcnM/ICh5ZXMsIGN1cnJlbnRseSkKKyAgICAgICAgICAgICAgICAgKiBXb3JyeSBhYm91dCBsb25nIGxpbmVzPyAobm8sIGN1cnJlbnRseSkKKyAgICAgICAgICAgICAgICAgKgorICAgICAgICAgICAgICAgICAqIHJmYzIwNDUudHh0OgorICAgICAgICAgICAgICAgICAqCisgICAgICAgICAgICAgICAgICogIlRoZSBlbmNvZGVkIG91dHB1dCBzdHJlYW0gbXVzdCBiZSByZXByZXNlbnRlZCBpbiBsaW5lcyBvZgorICAgICAgICAgICAgICAgICAqIG5vIG1vcmUgdGhhbiA3NiBjaGFyYWN0ZXJzIGVhY2guICBBbGwgbGluZSBicmVha3Mgb3Igb3RoZXIKKyAgICAgICAgICAgICAgICAgKiBjaGFyYWN0ZXJzIG5vdCBmb3VuZCBpbiBUYWJsZSAxIG11c3QgYmUgaWdub3JlZCBieSBkZWNvZGluZworICAgICAgICAgICAgICAgICAqIHNvZnR3YXJlLiAgSW4gYmFzZTY0IGRhdGEsIGNoYXJhY3RlcnMgb3RoZXIgdGhhbiB0aG9zZSBpbgorICAgICAgICAgICAgICAgICAqIFRhYmxlIDEsIGxpbmUgYnJlYWtzLCBhbmQgb3RoZXIgd2hpdGUgc3BhY2UgcHJvYmFibHkKKyAgICAgICAgICAgICAgICAgKiBpbmRpY2F0ZSBhIHRyYW5zbWlzc2lvbiBlcnJvciwgYWJvdXQgd2hpY2ggYSB3YXJuaW5nCisgICAgICAgICAgICAgICAgICogbWVzc2FnZSBvciBldmVuIGEgbWVzc2FnZSByZWplY3Rpb24gbWlnaHQgYmUgYXBwcm9wcmlhdGUKKyAgICAgICAgICAgICAgICAgKiB1bmRlciBzb21lIGNpcmN1bXN0YW5jZXMuIiAqLworICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKmN1ciA9IHZhbHVlOworICAgICAgICAgICAgICAgIHhtbENoYXIgKmJhc2U7CisgICAgICAgICAgICAgICAgaW50IHRvdGFsLCBpID0gMCwgcGFkID0gMDsKKworICAgICAgICAgICAgICAgIGlmIChjdXIgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICAgICAgZ290byByZXR1cm4xOworCisgICAgICAgICAgICAgICAgZm9yICg7ICpjdXI7ICsrY3VyKSB7CisgICAgICAgICAgICAgICAgICAgIGludCBkZWNjOworCisgICAgICAgICAgICAgICAgICAgIGRlY2MgPSBfeG1sU2NoZW1hQmFzZTY0RGVjb2RlKCpjdXIpOworICAgICAgICAgICAgICAgICAgICBpZiAoZGVjYyA8IDApIDsKKyAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoZGVjYyA8IDY0KQorICAgICAgICAgICAgICAgICAgICAgICAgaSsrOworICAgICAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgZm9yICg7ICpjdXI7ICsrY3VyKSB7CisgICAgICAgICAgICAgICAgICAgIGludCBkZWNjOworCisgICAgICAgICAgICAgICAgICAgIGRlY2MgPSBfeG1sU2NoZW1hQmFzZTY0RGVjb2RlKCpjdXIpOworICAgICAgICAgICAgICAgICAgICBpZiAoZGVjYyA8IDApIDsKKyAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoZGVjYyA8IDY0KQorICAgICAgICAgICAgICAgICAgICAgICAgZ290byByZXR1cm4xOworICAgICAgICAgICAgICAgICAgICBpZiAoZGVjYyA9PSA2NCkKKyAgICAgICAgICAgICAgICAgICAgICAgIHBhZCsrOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIC8qIHJmYzIwNDUudHh0OiAiU3BlY2lhbCBwcm9jZXNzaW5nIGlzIHBlcmZvcm1lZCBpZiBmZXdlciB0aGFuCisgICAgICAgICAgICAgICAgICogMjQgYml0cyBhcmUgYXZhaWxhYmxlIGF0IHRoZSBlbmQgb2YgdGhlIGRhdGEgYmVpbmcgZW5jb2RlZC4KKyAgICAgICAgICAgICAgICAgKiBBIGZ1bGwgZW5jb2RpbmcgcXVhbnR1bSBpcyBhbHdheXMgY29tcGxldGVkIGF0IHRoZSBlbmQgb2YgYQorICAgICAgICAgICAgICAgICAqIGJvZHkuICBXaGVuIGZld2VyIHRoYW4gMjQgaW5wdXQgYml0cyBhcmUgYXZhaWxhYmxlIGluIGFuCisgICAgICAgICAgICAgICAgICogaW5wdXQgZ3JvdXAsIHplcm8gYml0cyBhcmUgYWRkZWQgKG9uIHRoZSByaWdodCkgdG8gZm9ybSBhbgorICAgICAgICAgICAgICAgICAqIGludGVncmFsIG51bWJlciBvZiA2LWJpdCBncm91cHMuICBQYWRkaW5nIGF0IHRoZSBlbmQgb2YgdGhlCisgICAgICAgICAgICAgICAgICogZGF0YSBpcyBwZXJmb3JtZWQgdXNpbmcgdGhlICI9IiBjaGFyYWN0ZXIuICBTaW5jZSBhbGwKKyAgICAgICAgICAgICAgICAgKiBiYXNlNjQgaW5wdXQgaXMgYW4gaW50ZWdyYWwgbnVtYmVyIG9mIG9jdGV0cywgb25seSB0aGUKKyAgICAgICAgICAgICAgICAgKiBmb2xsb3dpbmcgY2FzZXMgY2FuIGFyaXNlOiAoMSkgdGhlIGZpbmFsIHF1YW50dW0gb2YKKyAgICAgICAgICAgICAgICAgKiBlbmNvZGluZyBpbnB1dCBpcyBhbiBpbnRlZ3JhbCBtdWx0aXBsZSBvZiAyNCBiaXRzOyBoZXJlLAorICAgICAgICAgICAgICAgICAqIHRoZSBmaW5hbCB1bml0IG9mIGVuY29kZWQgb3V0cHV0IHdpbGwgYmUgYW4gaW50ZWdyYWwKKyAgICAgICAgICAgICAgICAgKiBtdWx0aXBsZSBvZmluZGVudDogU3RhbmRhcmQgaW5wdXQ6NzAxOiBXYXJuaW5nOm9sZCBzdHlsZQorCQkgKiBhc3NpZ25tZW50IGFtYmlndWl0eSBpbiAiPSoiLiAgQXNzdW1pbmcgIj0gKiIgNCBjaGFyYWN0ZXJzCisJCSAqIHdpdGggbm8gIj0iIHBhZGRpbmcsICgyKSB0aGUgZmluYWwKKyAgICAgICAgICAgICAgICAgKiBxdWFudHVtIG9mIGVuY29kaW5nIGlucHV0IGlzIGV4YWN0bHkgOCBiaXRzOyBoZXJlLCB0aGUKKyAgICAgICAgICAgICAgICAgKiBmaW5hbCB1bml0IG9mIGVuY29kZWQgb3V0cHV0IHdpbGwgYmUgdHdvIGNoYXJhY3RlcnMKKyAgICAgICAgICAgICAgICAgKiBmb2xsb3dlZCBieSB0d28gIj0iIHBhZGRpbmcgY2hhcmFjdGVycywgb3IgKDMpIHRoZSBmaW5hbAorICAgICAgICAgICAgICAgICAqIHF1YW50dW0gb2YgZW5jb2RpbmcgaW5wdXQgaXMgZXhhY3RseSAxNiBiaXRzOyBoZXJlLCB0aGUKKyAgICAgICAgICAgICAgICAgKiBmaW5hbCB1bml0IG9mIGVuY29kZWQgb3V0cHV0IHdpbGwgYmUgdGhyZWUgY2hhcmFjdGVycworICAgICAgICAgICAgICAgICAqIGZvbGxvd2VkIGJ5IG9uZSAiPSIgcGFkZGluZyBjaGFyYWN0ZXIuIiAqLworCisgICAgICAgICAgICAgICAgdG90YWwgPSAzICogKGkgLyA0KTsKKyAgICAgICAgICAgICAgICBpZiAocGFkID09IDApIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGkgJSA0ICE9IDApCisgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIHJldHVybjE7CisgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChwYWQgPT0gMSkgeworICAgICAgICAgICAgICAgICAgICBpbnQgZGVjYzsKKworICAgICAgICAgICAgICAgICAgICBpZiAoaSAlIDQgIT0gMykKKyAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gcmV0dXJuMTsKKyAgICAgICAgICAgICAgICAgICAgZm9yIChkZWNjID0gX3htbFNjaGVtYUJhc2U2NERlY29kZSgqY3VyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAoZGVjYyA8IDApIHx8IChkZWNjID4gNjMpOworICAgICAgICAgICAgICAgICAgICAgICAgIGRlY2MgPSBfeG1sU2NoZW1hQmFzZTY0RGVjb2RlKCpjdXIpKQorICAgICAgICAgICAgICAgICAgICAgICAgLS1jdXI7CisgICAgICAgICAgICAgICAgICAgIC8qIDE2Yml0cyBpbiAyNGJpdHMgbWVhbnMgMiBwYWQgYml0czogbm5ubm5uIG5ubW1tbSBtbW1tMDAqLworICAgICAgICAgICAgICAgICAgICAvKiAwMDExMTEwMCAtPiAweDNjICovCisgICAgICAgICAgICAgICAgICAgIGlmIChkZWNjICYgfjB4M2MpCisgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIHJldHVybjE7CisgICAgICAgICAgICAgICAgICAgIHRvdGFsICs9IDI7CisgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChwYWQgPT0gMikgeworICAgICAgICAgICAgICAgICAgICBpbnQgZGVjYzsKKworICAgICAgICAgICAgICAgICAgICBpZiAoaSAlIDQgIT0gMikKKyAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gcmV0dXJuMTsKKyAgICAgICAgICAgICAgICAgICAgZm9yIChkZWNjID0gX3htbFNjaGVtYUJhc2U2NERlY29kZSgqY3VyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAoZGVjYyA8IDApIHx8IChkZWNjID4gNjMpOworICAgICAgICAgICAgICAgICAgICAgICAgIGRlY2MgPSBfeG1sU2NoZW1hQmFzZTY0RGVjb2RlKCpjdXIpKQorICAgICAgICAgICAgICAgICAgICAgICAgLS1jdXI7CisgICAgICAgICAgICAgICAgICAgIC8qIDhiaXRzIGluIDEyYml0cyBtZWFucyA0IHBhZCBiaXRzOiBubm5ubm4gbm4wMDAwICovCisgICAgICAgICAgICAgICAgICAgIC8qIDAwMTEwMDAwIC0+IDB4MzAgKi8KKyAgICAgICAgICAgICAgICAgICAgaWYgKGRlY2MgJiB+MHgzMCkKKyAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gcmV0dXJuMTsKKyAgICAgICAgICAgICAgICAgICAgdG90YWwgKz0gMTsKKyAgICAgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgICAgICAgICAgZ290byByZXR1cm4xOworCisgICAgICAgICAgICAgICAgaWYgKHZhbCAhPSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgIHYgPSB4bWxTY2hlbWFOZXdWYWx1ZShYTUxfU0NIRU1BU19CQVNFNjRCSU5BUlkpOworICAgICAgICAgICAgICAgICAgICBpZiAodiA9PSBOVUxMKQorICAgICAgICAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgICAgICAgICAgYmFzZSA9CisgICAgICAgICAgICAgICAgICAgICAgICAoeG1sQ2hhciAqKSB4bWxNYWxsb2NBdG9taWMoKGkgKyBwYWQgKyAxKSAqCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKHhtbENoYXIpKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGJhc2UgPT0gTlVMTCkgeworCQkgICAgICAgIHhtbFNjaGVtYVR5cGVFcnJNZW1vcnkobm9kZSwgImFsbG9jYXRpbmcgYmFzZTY0IGRhdGEiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHhtbEZyZWUodik7CisgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIHJldHVybjE7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgdi0+dmFsdWUuYmFzZTY0LnN0ciA9IGJhc2U7CisgICAgICAgICAgICAgICAgICAgIGZvciAoY3VyID0gdmFsdWU7ICpjdXI7ICsrY3VyKQorICAgICAgICAgICAgICAgICAgICAgICAgaWYgKF94bWxTY2hlbWFCYXNlNjREZWNvZGUoKmN1cikgPj0gMCkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICpiYXNlID0gKmN1cjsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICArK2Jhc2U7CisgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICpiYXNlID0gMDsKKyAgICAgICAgICAgICAgICAgICAgdi0+dmFsdWUuYmFzZTY0LnRvdGFsID0gdG90YWw7CisgICAgICAgICAgICAgICAgICAgICp2YWwgPSB2OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBnb3RvIHJldHVybjA7CisgICAgICAgICAgICB9CisgICAgICAgIGNhc2UgWE1MX1NDSEVNQVNfSU5URUdFUjoKKyAgICAgICAgY2FzZSBYTUxfU0NIRU1BU19QSU5URUdFUjoKKyAgICAgICAgY2FzZSBYTUxfU0NIRU1BU19OUElOVEVHRVI6CisgICAgICAgIGNhc2UgWE1MX1NDSEVNQVNfTklOVEVHRVI6CisgICAgICAgIGNhc2UgWE1MX1NDSEVNQVNfTk5JTlRFR0VSOnsKKyAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICpjdXIgPSB2YWx1ZTsKKyAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGxvLCBtaSwgaGk7CisgICAgICAgICAgICAgICAgaW50IHNpZ24gPSAwOworCisgICAgICAgICAgICAgICAgaWYgKGN1ciA9PSBOVUxMKQorICAgICAgICAgICAgICAgICAgICBnb3RvIHJldHVybjE7CisJCWlmIChub3JtT25UaGVGbHkpCisJCSAgICB3aGlsZSBJU19XU1BfQkxBTktfQ0goKmN1cikgY3VyKys7CisgICAgICAgICAgICAgICAgaWYgKCpjdXIgPT0gJy0nKSB7CisgICAgICAgICAgICAgICAgICAgIHNpZ24gPSAxOworICAgICAgICAgICAgICAgICAgICBjdXIrKzsKKyAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCpjdXIgPT0gJysnKQorICAgICAgICAgICAgICAgICAgICBjdXIrKzsKKyAgICAgICAgICAgICAgICByZXQgPSB4bWxTY2hlbWFQYXJzZVVJbnQoJmN1ciwgJmxvLCAmbWksICZoaSk7CisgICAgICAgICAgICAgICAgaWYgKHJldCA8IDApCisgICAgICAgICAgICAgICAgICAgIGdvdG8gcmV0dXJuMTsKKwkJaWYgKG5vcm1PblRoZUZseSkKKwkJICAgIHdoaWxlIElTX1dTUF9CTEFOS19DSCgqY3VyKSBjdXIrKzsKKyAgICAgICAgICAgICAgICBpZiAoKmN1ciAhPSAwKQorICAgICAgICAgICAgICAgICAgICBnb3RvIHJldHVybjE7CisgICAgICAgICAgICAgICAgaWYgKHR5cGUtPmJ1aWx0SW5UeXBlID09IFhNTF9TQ0hFTUFTX05QSU5URUdFUikgeworICAgICAgICAgICAgICAgICAgICBpZiAoKHNpZ24gPT0gMCkgJiYKKyAgICAgICAgICAgICAgICAgICAgICAgICgoaGkgIT0gMCkgfHwgKG1pICE9IDApIHx8IChsbyAhPSAwKSkpCisgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIHJldHVybjE7CisgICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlLT5idWlsdEluVHlwZSA9PSBYTUxfU0NIRU1BU19QSU5URUdFUikgeworICAgICAgICAgICAgICAgICAgICBpZiAoc2lnbiA9PSAxKQorICAgICAgICAgICAgICAgICAgICAgICAgZ290byByZXR1cm4xOworICAgICAgICAgICAgICAgICAgICBpZiAoKGhpID09IDApICYmIChtaSA9PSAwKSAmJiAobG8gPT0gMCkpCisgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIHJldHVybjE7CisgICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlLT5idWlsdEluVHlwZSA9PSBYTUxfU0NIRU1BU19OSU5URUdFUikgeworICAgICAgICAgICAgICAgICAgICBpZiAoc2lnbiA9PSAwKQorICAgICAgICAgICAgICAgICAgICAgICAgZ290byByZXR1cm4xOworICAgICAgICAgICAgICAgICAgICBpZiAoKGhpID09IDApICYmIChtaSA9PSAwKSAmJiAobG8gPT0gMCkpCisgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIHJldHVybjE7CisgICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlLT5idWlsdEluVHlwZSA9PSBYTUxfU0NIRU1BU19OTklOVEVHRVIpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKChzaWduID09IDEpICYmCisgICAgICAgICAgICAgICAgICAgICAgICAoKGhpICE9IDApIHx8IChtaSAhPSAwKSB8fCAobG8gIT0gMCkpKQorICAgICAgICAgICAgICAgICAgICAgICAgZ290byByZXR1cm4xOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBpZiAodmFsICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgdiA9IHhtbFNjaGVtYU5ld1ZhbHVlKHR5cGUtPmJ1aWx0SW5UeXBlKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHYgIT0gTlVMTCkgeworCQkJaWYgKHJldCA9PSAwKQorCQkJICAgIHJldCsrOworICAgICAgICAgICAgICAgICAgICAgICAgdi0+dmFsdWUuZGVjaW1hbC5sbyA9IGxvOworICAgICAgICAgICAgICAgICAgICAgICAgdi0+dmFsdWUuZGVjaW1hbC5taSA9IG1pOworICAgICAgICAgICAgICAgICAgICAgICAgdi0+dmFsdWUuZGVjaW1hbC5oaSA9IGhpOworICAgICAgICAgICAgICAgICAgICAgICAgdi0+dmFsdWUuZGVjaW1hbC5zaWduID0gc2lnbjsKKyAgICAgICAgICAgICAgICAgICAgICAgIHYtPnZhbHVlLmRlY2ltYWwuZnJhYyA9IDA7CisgICAgICAgICAgICAgICAgICAgICAgICB2LT52YWx1ZS5kZWNpbWFsLnRvdGFsID0gcmV0OworICAgICAgICAgICAgICAgICAgICAgICAgKnZhbCA9IHY7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgZ290byByZXR1cm4wOworICAgICAgICAgICAgfQorICAgICAgICBjYXNlIFhNTF9TQ0hFTUFTX0xPTkc6CisgICAgICAgIGNhc2UgWE1MX1NDSEVNQVNfQllURToKKyAgICAgICAgY2FzZSBYTUxfU0NIRU1BU19TSE9SVDoKKyAgICAgICAgY2FzZSBYTUxfU0NIRU1BU19JTlQ6eworICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKmN1ciA9IHZhbHVlOworICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgbG8sIG1pLCBoaTsKKyAgICAgICAgICAgICAgICBpbnQgc2lnbiA9IDA7CisKKyAgICAgICAgICAgICAgICBpZiAoY3VyID09IE5VTEwpCisgICAgICAgICAgICAgICAgICAgIGdvdG8gcmV0dXJuMTsKKyAgICAgICAgICAgICAgICBpZiAoKmN1ciA9PSAnLScpIHsKKyAgICAgICAgICAgICAgICAgICAgc2lnbiA9IDE7CisgICAgICAgICAgICAgICAgICAgIGN1cisrOworICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoKmN1ciA9PSAnKycpCisgICAgICAgICAgICAgICAgICAgIGN1cisrOworICAgICAgICAgICAgICAgIHJldCA9IHhtbFNjaGVtYVBhcnNlVUludCgmY3VyLCAmbG8sICZtaSwgJmhpKTsKKyAgICAgICAgICAgICAgICBpZiAocmV0IDwgMCkKKyAgICAgICAgICAgICAgICAgICAgZ290byByZXR1cm4xOworICAgICAgICAgICAgICAgIGlmICgqY3VyICE9IDApCisgICAgICAgICAgICAgICAgICAgIGdvdG8gcmV0dXJuMTsKKyAgICAgICAgICAgICAgICBpZiAodHlwZS0+YnVpbHRJblR5cGUgPT0gWE1MX1NDSEVNQVNfTE9ORykgeworICAgICAgICAgICAgICAgICAgICBpZiAoaGkgPj0gOTIyKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaGkgPiA5MjIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ290byByZXR1cm4xOworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1pID49IDMzNzIwMzY4KSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1pID4gMzM3MjAzNjgpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gcmV0dXJuMTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKHNpZ24gPT0gMCkgJiYgKGxvID4gNTQ3NzU4MDcpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIHJldHVybjE7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKChzaWduID09IDEpICYmIChsbyA+IDU0Nzc1ODA4KSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ290byByZXR1cm4xOworICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlLT5idWlsdEluVHlwZSA9PSBYTUxfU0NIRU1BU19JTlQpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGhpICE9IDApCisgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIHJldHVybjE7CisgICAgICAgICAgICAgICAgICAgIGlmIChtaSA+PSAyMSkgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1pID4gMjEpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ290byByZXR1cm4xOworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKChzaWduID09IDApICYmIChsbyA+IDQ3NDgzNjQ3KSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIHJldHVybjE7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKHNpZ24gPT0gMSkgJiYgKGxvID4gNDc0ODM2NDgpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gcmV0dXJuMTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZS0+YnVpbHRJblR5cGUgPT0gWE1MX1NDSEVNQVNfU0hPUlQpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKChtaSAhPSAwKSB8fCAoaGkgIT0gMCkpCisgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIHJldHVybjE7CisgICAgICAgICAgICAgICAgICAgIGlmICgoc2lnbiA9PSAxKSAmJiAobG8gPiAzMjc2OCkpCisgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIHJldHVybjE7CisgICAgICAgICAgICAgICAgICAgIGlmICgoc2lnbiA9PSAwKSAmJiAobG8gPiAzMjc2NykpCisgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIHJldHVybjE7CisgICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlLT5idWlsdEluVHlwZSA9PSBYTUxfU0NIRU1BU19CWVRFKSB7CisgICAgICAgICAgICAgICAgICAgIGlmICgobWkgIT0gMCkgfHwgKGhpICE9IDApKQorICAgICAgICAgICAgICAgICAgICAgICAgZ290byByZXR1cm4xOworICAgICAgICAgICAgICAgICAgICBpZiAoKHNpZ24gPT0gMSkgJiYgKGxvID4gMTI4KSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gcmV0dXJuMTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKChzaWduID09IDApICYmIChsbyA+IDEyNykpCisgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIHJldHVybjE7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGlmICh2YWwgIT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICB2ID0geG1sU2NoZW1hTmV3VmFsdWUodHlwZS0+YnVpbHRJblR5cGUpOworICAgICAgICAgICAgICAgICAgICBpZiAodiAhPSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgICAgICB2LT52YWx1ZS5kZWNpbWFsLmxvID0gbG87CisgICAgICAgICAgICAgICAgICAgICAgICB2LT52YWx1ZS5kZWNpbWFsLm1pID0gbWk7CisgICAgICAgICAgICAgICAgICAgICAgICB2LT52YWx1ZS5kZWNpbWFsLmhpID0gaGk7CisgICAgICAgICAgICAgICAgICAgICAgICB2LT52YWx1ZS5kZWNpbWFsLnNpZ24gPSBzaWduOworICAgICAgICAgICAgICAgICAgICAgICAgdi0+dmFsdWUuZGVjaW1hbC5mcmFjID0gMDsKKyAgICAgICAgICAgICAgICAgICAgICAgIHYtPnZhbHVlLmRlY2ltYWwudG90YWwgPSByZXQ7CisgICAgICAgICAgICAgICAgICAgICAgICAqdmFsID0gdjsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBnb3RvIHJldHVybjA7CisgICAgICAgICAgICB9CisgICAgICAgIGNhc2UgWE1MX1NDSEVNQVNfVUlOVDoKKyAgICAgICAgY2FzZSBYTUxfU0NIRU1BU19VTE9ORzoKKyAgICAgICAgY2FzZSBYTUxfU0NIRU1BU19VU0hPUlQ6CisgICAgICAgIGNhc2UgWE1MX1NDSEVNQVNfVUJZVEU6eworICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKmN1ciA9IHZhbHVlOworICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgbG8sIG1pLCBoaTsKKworICAgICAgICAgICAgICAgIGlmIChjdXIgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICAgICAgZ290byByZXR1cm4xOworICAgICAgICAgICAgICAgIHJldCA9IHhtbFNjaGVtYVBhcnNlVUludCgmY3VyLCAmbG8sICZtaSwgJmhpKTsKKyAgICAgICAgICAgICAgICBpZiAocmV0IDwgMCkKKyAgICAgICAgICAgICAgICAgICAgZ290byByZXR1cm4xOworICAgICAgICAgICAgICAgIGlmICgqY3VyICE9IDApCisgICAgICAgICAgICAgICAgICAgIGdvdG8gcmV0dXJuMTsKKyAgICAgICAgICAgICAgICBpZiAodHlwZS0+YnVpbHRJblR5cGUgPT0gWE1MX1NDSEVNQVNfVUxPTkcpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGhpID49IDE4NDQpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChoaSA+IDE4NDQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ290byByZXR1cm4xOworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1pID49IDY3NDQwNzM3KSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1pID4gNjc0NDA3MzcpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gcmV0dXJuMTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobG8gPiA5NTUxNjE1KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIHJldHVybjE7CisgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGUtPmJ1aWx0SW5UeXBlID09IFhNTF9TQ0hFTUFTX1VJTlQpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGhpICE9IDApCisgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIHJldHVybjE7CisgICAgICAgICAgICAgICAgICAgIGlmIChtaSA+PSA0MikgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1pID4gNDIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ290byByZXR1cm4xOworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGxvID4gOTQ5NjcyOTUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ290byByZXR1cm4xOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlLT5idWlsdEluVHlwZSA9PSBYTUxfU0NIRU1BU19VU0hPUlQpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKChtaSAhPSAwKSB8fCAoaGkgIT0gMCkpCisgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIHJldHVybjE7CisgICAgICAgICAgICAgICAgICAgIGlmIChsbyA+IDY1NTM1KQorICAgICAgICAgICAgICAgICAgICAgICAgZ290byByZXR1cm4xOworICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZS0+YnVpbHRJblR5cGUgPT0gWE1MX1NDSEVNQVNfVUJZVEUpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKChtaSAhPSAwKSB8fCAoaGkgIT0gMCkpCisgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIHJldHVybjE7CisgICAgICAgICAgICAgICAgICAgIGlmIChsbyA+IDI1NSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gcmV0dXJuMTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgaWYgKHZhbCAhPSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgIHYgPSB4bWxTY2hlbWFOZXdWYWx1ZSh0eXBlLT5idWlsdEluVHlwZSk7CisgICAgICAgICAgICAgICAgICAgIGlmICh2ICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHYtPnZhbHVlLmRlY2ltYWwubG8gPSBsbzsKKyAgICAgICAgICAgICAgICAgICAgICAgIHYtPnZhbHVlLmRlY2ltYWwubWkgPSBtaTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHYtPnZhbHVlLmRlY2ltYWwuaGkgPSBoaTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHYtPnZhbHVlLmRlY2ltYWwuc2lnbiA9IDA7CisgICAgICAgICAgICAgICAgICAgICAgICB2LT52YWx1ZS5kZWNpbWFsLmZyYWMgPSAwOworICAgICAgICAgICAgICAgICAgICAgICAgdi0+dmFsdWUuZGVjaW1hbC50b3RhbCA9IHJldDsKKyAgICAgICAgICAgICAgICAgICAgICAgICp2YWwgPSB2OworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGdvdG8gcmV0dXJuMDsKKyAgICAgICAgICAgIH0KKyAgICB9CisKKyAgZG9uZToKKyAgICBpZiAobm9ybSAhPSBOVUxMKQorICAgICAgICB4bWxGcmVlKG5vcm0pOworICAgIHJldHVybiAocmV0KTsKKyAgcmV0dXJuMzoKKyAgICBpZiAobm9ybSAhPSBOVUxMKQorICAgICAgICB4bWxGcmVlKG5vcm0pOworICAgIHJldHVybiAoMyk7CisgIHJldHVybjE6CisgICAgaWYgKG5vcm0gIT0gTlVMTCkKKyAgICAgICAgeG1sRnJlZShub3JtKTsKKyAgICByZXR1cm4gKDEpOworICByZXR1cm4wOgorICAgIGlmIChub3JtICE9IE5VTEwpCisgICAgICAgIHhtbEZyZWUobm9ybSk7CisgICAgcmV0dXJuICgwKTsKKyAgZXJyb3I6CisgICAgaWYgKG5vcm0gIT0gTlVMTCkKKyAgICAgICAgeG1sRnJlZShub3JtKTsKKyAgICByZXR1cm4gKC0xKTsKK30KKworLyoqCisgKiB4bWxTY2hlbWFWYWxQcmVkZWZUeXBlTm9kZToKKyAqIEB0eXBlOiB0aGUgcHJlZGVmaW5lZCB0eXBlCisgKiBAdmFsdWU6IHRoZSB2YWx1ZSB0byBjaGVjaworICogQHZhbDogIHRoZSByZXR1cm4gY29tcHV0ZWQgdmFsdWUKKyAqIEBub2RlOiAgdGhlIG5vZGUgY29udGFpbmluZyB0aGUgdmFsdWUKKyAqCisgKiBDaGVjayB0aGF0IGEgdmFsdWUgY29uZm9ybXMgdG8gdGhlIGxleGljYWwgc3BhY2Ugb2YgdGhlIHByZWRlZmluZWQgdHlwZS4KKyAqIGlmIHRydWUgYSB2YWx1ZSBpcyBjb21wdXRlZCBhbmQgcmV0dXJuZWQgaW4gQHZhbC4KKyAqCisgKiBSZXR1cm5zIDAgaWYgdGhpcyB2YWxpZGF0ZXMsIGEgcG9zaXRpdmUgZXJyb3IgY29kZSBudW1iZXIgb3RoZXJ3aXNlCisgKiAgICAgICAgIGFuZCAtMSBpbiBjYXNlIG9mIGludGVybmFsIG9yIEFQSSBlcnJvci4KKyAqLworaW50Cit4bWxTY2hlbWFWYWxQcmVkZWZUeXBlTm9kZSh4bWxTY2hlbWFUeXBlUHRyIHR5cGUsIGNvbnN0IHhtbENoYXIgKnZhbHVlLAorCSAgICAgICAgICAgICAgICAgICB4bWxTY2hlbWFWYWxQdHIgKnZhbCwgeG1sTm9kZVB0ciBub2RlKSB7CisgICAgcmV0dXJuKHhtbFNjaGVtYVZhbEF0b21pY1R5cGUodHlwZSwgdmFsdWUsIHZhbCwgbm9kZSwgMCwKKwlYTUxfU0NIRU1BX1dISVRFU1BBQ0VfVU5LTk9XTiwgMSwgMSwgMCkpOworfQorCisvKioKKyAqIHhtbFNjaGVtYVZhbFByZWRlZlR5cGVOb2RlTm9Ob3JtOgorICogQHR5cGU6IHRoZSBwcmVkZWZpbmVkIHR5cGUKKyAqIEB2YWx1ZTogdGhlIHZhbHVlIHRvIGNoZWNrCisgKiBAdmFsOiAgdGhlIHJldHVybiBjb21wdXRlZCB2YWx1ZQorICogQG5vZGU6ICB0aGUgbm9kZSBjb250YWluaW5nIHRoZSB2YWx1ZQorICoKKyAqIENoZWNrIHRoYXQgYSB2YWx1ZSBjb25mb3JtcyB0byB0aGUgbGV4aWNhbCBzcGFjZSBvZiB0aGUgcHJlZGVmaW5lZCB0eXBlLgorICogaWYgdHJ1ZSBhIHZhbHVlIGlzIGNvbXB1dGVkIGFuZCByZXR1cm5lZCBpbiBAdmFsLgorICogVGhpcyBvbmUgZG9lcyBhcHBseSBhbnkgbm9ybWFsaXphdGlvbiB0byB0aGUgdmFsdWUuCisgKgorICogUmV0dXJucyAwIGlmIHRoaXMgdmFsaWRhdGVzLCBhIHBvc2l0aXZlIGVycm9yIGNvZGUgbnVtYmVyIG90aGVyd2lzZQorICogICAgICAgICBhbmQgLTEgaW4gY2FzZSBvZiBpbnRlcm5hbCBvciBBUEkgZXJyb3IuCisgKi8KK2ludAoreG1sU2NoZW1hVmFsUHJlZGVmVHlwZU5vZGVOb05vcm0oeG1sU2NoZW1hVHlwZVB0ciB0eXBlLCBjb25zdCB4bWxDaGFyICp2YWx1ZSwKKwkJCQkgeG1sU2NoZW1hVmFsUHRyICp2YWwsIHhtbE5vZGVQdHIgbm9kZSkgeworICAgIHJldHVybih4bWxTY2hlbWFWYWxBdG9taWNUeXBlKHR5cGUsIHZhbHVlLCB2YWwsIG5vZGUsIDEsCisJWE1MX1NDSEVNQV9XSElURVNQQUNFX1VOS05PV04sIDEsIDAsIDEpKTsKK30KKworLyoqCisgKiB4bWxTY2hlbWFWYWxpZGF0ZVByZWRlZmluZWRUeXBlOgorICogQHR5cGU6IHRoZSBwcmVkZWZpbmVkIHR5cGUKKyAqIEB2YWx1ZTogdGhlIHZhbHVlIHRvIGNoZWNrCisgKiBAdmFsOiAgdGhlIHJldHVybiBjb21wdXRlZCB2YWx1ZQorICoKKyAqIENoZWNrIHRoYXQgYSB2YWx1ZSBjb25mb3JtcyB0byB0aGUgbGV4aWNhbCBzcGFjZSBvZiB0aGUgcHJlZGVmaW5lZCB0eXBlLgorICogaWYgdHJ1ZSBhIHZhbHVlIGlzIGNvbXB1dGVkIGFuZCByZXR1cm5lZCBpbiBAdmFsLgorICoKKyAqIFJldHVybnMgMCBpZiB0aGlzIHZhbGlkYXRlcywgYSBwb3NpdGl2ZSBlcnJvciBjb2RlIG51bWJlciBvdGhlcndpc2UKKyAqICAgICAgICAgYW5kIC0xIGluIGNhc2Ugb2YgaW50ZXJuYWwgb3IgQVBJIGVycm9yLgorICovCitpbnQKK3htbFNjaGVtYVZhbGlkYXRlUHJlZGVmaW5lZFR5cGUoeG1sU2NoZW1hVHlwZVB0ciB0eXBlLCBjb25zdCB4bWxDaGFyICp2YWx1ZSwKKwkgICAgICAgICAgICAgICAgICAgICAgICB4bWxTY2hlbWFWYWxQdHIgKnZhbCkgeworICAgIHJldHVybih4bWxTY2hlbWFWYWxQcmVkZWZUeXBlTm9kZSh0eXBlLCB2YWx1ZSwgdmFsLCBOVUxMKSk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hQ29tcGFyZURlY2ltYWxzOgorICogQHg6ICBhIGZpcnN0IGRlY2ltYWwgdmFsdWUKKyAqIEB5OiAgYSBzZWNvbmQgZGVjaW1hbCB2YWx1ZQorICoKKyAqIENvbXBhcmUgMiBkZWNpbWFscworICoKKyAqIFJldHVybnMgLTEgaWYgeCA8IHksIDAgaWYgeCA9PSB5LCAxIGlmIHggPiB5IGFuZCAtMiBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3N0YXRpYyBpbnQKK3htbFNjaGVtYUNvbXBhcmVEZWNpbWFscyh4bWxTY2hlbWFWYWxQdHIgeCwgeG1sU2NoZW1hVmFsUHRyIHkpCit7CisgICAgeG1sU2NoZW1hVmFsUHRyIHN3cDsKKyAgICBpbnQgb3JkZXIgPSAxLCBpbnRlZ3gsIGludGVneSwgZGxlbjsKKyAgICB1bnNpZ25lZCBsb25nIGhpLCBtaSwgbG87CisKKyAgICAvKgorICAgICAqIEZpcnN0IHRlc3Q6IElmIHggaXMgLXZlIGFuZCBub3QgemVybworICAgICAqLworICAgIGlmICgoeC0+dmFsdWUuZGVjaW1hbC5zaWduKSAmJgorCSgoeC0+dmFsdWUuZGVjaW1hbC5sbyAhPSAwKSB8fAorCSAoeC0+dmFsdWUuZGVjaW1hbC5taSAhPSAwKSB8fAorCSAoeC0+dmFsdWUuZGVjaW1hbC5oaSAhPSAwKSkpIHsKKwkvKgorCSAqIFRoZW4gaWYgeSBpcyAtdmUgYW5kIG5vdCB6ZXJvIHJldmVyc2UgdGhlIGNvbXBhcmUKKwkgKi8KKwlpZiAoKHktPnZhbHVlLmRlY2ltYWwuc2lnbikgJiYKKwkgICAgKCh5LT52YWx1ZS5kZWNpbWFsLmxvICE9IDApIHx8CisJICAgICAoeS0+dmFsdWUuZGVjaW1hbC5taSAhPSAwKSB8fAorCSAgICAgKHktPnZhbHVlLmRlY2ltYWwuaGkgIT0gMCkpKQorCSAgICBvcmRlciA9IC0xOworCS8qCisJICogT3RoZXJ3aXNlICh5ID49IDApIHdlIGhhdmUgdGhlIGFuc3dlcgorCSAqLworCWVsc2UKKwkgICAgcmV0dXJuICgtMSk7CisgICAgLyoKKyAgICAgKiBJZiB4IGlzIG5vdCAtdmUgYW5kIHkgaXMgLXZlIHdlIGhhdmUgdGhlIGFuc3dlcgorICAgICAqLworICAgIH0gZWxzZSBpZiAoKHktPnZhbHVlLmRlY2ltYWwuc2lnbikgJiYKKwkgICAgICAgKCh5LT52YWx1ZS5kZWNpbWFsLmxvICE9IDApIHx8CisJCSh5LT52YWx1ZS5kZWNpbWFsLm1pICE9IDApIHx8CisJCSh5LT52YWx1ZS5kZWNpbWFsLmhpICE9IDApKSkgeworICAgICAgICByZXR1cm4gKDEpOworICAgIH0KKyAgICAvKgorICAgICAqIElmIGl0J3Mgbm90IHNpbXBseSBkZXRlcm1pbmVkIGJ5IGEgZGlmZmVyZW5jZSBpbiBzaWduLAorICAgICAqIHRoZW4gd2UgbmVlZCB0byBjb21wYXJlIHRoZSBhY3R1YWwgdmFsdWVzIG9mIHRoZSB0d28gbnVtcy4KKyAgICAgKiBUbyBkbyB0aGlzLCB3ZSBzdGFydCBieSBsb29raW5nIGF0IHRoZSBpbnRlZ3JhbCBwYXJ0cy4KKyAgICAgKiBJZiB0aGUgbnVtYmVyIG9mIGludGVncmFsIGRpZ2l0cyBkaWZmZXIsIHRoZW4gd2UgaGF2ZSBvdXIKKyAgICAgKiBhbnN3ZXIuCisgICAgICovCisgICAgaW50ZWd4ID0geC0+dmFsdWUuZGVjaW1hbC50b3RhbCAtIHgtPnZhbHVlLmRlY2ltYWwuZnJhYzsKKyAgICBpbnRlZ3kgPSB5LT52YWx1ZS5kZWNpbWFsLnRvdGFsIC0geS0+dmFsdWUuZGVjaW1hbC5mcmFjOworICAgIC8qCisgICAgKiBOT1RFOiBXZSBjaGFuZ2VkIHRoZSAidG90YWwiIGZvciB2YWx1ZXMgbGlrZSAiMC4xIgorICAgICogICAob3IgIi0wLjEiIG9yICIuMSIpIHRvIGJlIDEsIHdoaWNoIHdhcyAyIHByZXZpb3VzbHkuCisgICAgKiAgIFRoZXJlZm9yZSB0aGUgc3BlY2lhbCBjYXNlLCB3aGVuIHN1Y2ggdmFsdWVzIGFyZQorICAgICogICBjb21wYXJlZCB3aXRoIDAsIG5lZWRzIHRvIGJlIGhhbmRsZWQgc2VwYXJhdGVseTsKKyAgICAqICAgb3RoZXJ3aXNlIGEgemVybyB3b3VsZCBiZSByZWNvZ25pemVkIGluY29ycmVjdGx5IGFzCisgICAgKiAgIGdyZWF0ZXIgdGhhbiB0aG9zZSB2YWx1ZXMuIFRoaXMgaGFzIHRoZSBuaWNlIHNpZGUgZWZmZWN0CisgICAgKiAgIHRoYXQgd2UgZ2FpbiBhbiBvdmVyYWxsIG9wdGltaXplZCBjb21wYXJpc29uIHdpdGggemVyb2VzLgorICAgICogTm90ZSB0aGF0IGEgIjAiIGhhcyBhICJ0b3RhbCIgb2YgMSBhbHJlYWR5LgorICAgICovCisgICAgaWYgKGludGVneCA9PSAxKSB7CisJaWYgKHgtPnZhbHVlLmRlY2ltYWwubG8gPT0gMCkgeworCSAgICBpZiAoaW50ZWd5ICE9IDEpCisJCXJldHVybiAtb3JkZXI7CisJICAgIGVsc2UgaWYgKHktPnZhbHVlLmRlY2ltYWwubG8gIT0gMCkKKwkJcmV0dXJuIC1vcmRlcjsKKwkgICAgZWxzZQorCQlyZXR1cm4oMCk7CisJfQorICAgIH0KKyAgICBpZiAoaW50ZWd5ID09IDEpIHsKKwlpZiAoeS0+dmFsdWUuZGVjaW1hbC5sbyA9PSAwKSB7CisJICAgIGlmIChpbnRlZ3ggIT0gMSkKKwkJcmV0dXJuIG9yZGVyOworCSAgICBlbHNlIGlmICh4LT52YWx1ZS5kZWNpbWFsLmxvICE9IDApCisJCXJldHVybiBvcmRlcjsKKwkgICAgZWxzZQorCQlyZXR1cm4oMCk7CisJfQorICAgIH0KKworICAgIGlmIChpbnRlZ3ggPiBpbnRlZ3kpCisJcmV0dXJuIG9yZGVyOworICAgIGVsc2UgaWYgKGludGVneSA+IGludGVneCkKKwlyZXR1cm4gLW9yZGVyOworCisgICAgLyoKKyAgICAgKiBJZiB0aGUgbnVtYmVyIG9mIGludGVncmFsIGRpZ2l0cyBpcyB0aGUgc2FtZSBmb3IgYm90aCBudW1iZXJzLAorICAgICAqIHRoZW4gdGhpbmdzIGdldCBhIGxpdHRsZSBtb3JlIGNvbXBsaWNhdGVkLiAgV2UgbmVlZCB0byAibm9ybWFsaXplIgorICAgICAqIHRoZSBudW1iZXJzIGluIG9yZGVyIHRvIHByb3Blcmx5IGNvbXBhcmUgdGhlbS4gIFRvIGRvIHRoaXMsIHdlCisgICAgICogbG9vayBhdCB0aGUgdG90YWwgbGVuZ3RoIG9mIGVhY2ggbnVtYmVyIChsZW5ndGggPT4gbnVtYmVyIG9mCisgICAgICogc2lnbmlmaWNhbnQgZGlnaXRzKSwgYW5kIGRpdmlkZSB0aGUgInNob3J0ZXIiIGJ5IDEwIChkZWNyZWFzaW5nCisgICAgICogdGhlIGxlbmd0aCkgdW50aWwgdGhleSBhcmUgb2YgZXF1YWwgbGVuZ3RoLgorICAgICAqLworICAgIGRsZW4gPSB4LT52YWx1ZS5kZWNpbWFsLnRvdGFsIC0geS0+dmFsdWUuZGVjaW1hbC50b3RhbDsKKyAgICBpZiAoZGxlbiA8IDApIHsJLyogeSBoYXMgbW9yZSBkaWdpdHMgdGhhbiB4ICovCisJc3dwID0geDsKKwloaSA9IHktPnZhbHVlLmRlY2ltYWwuaGk7CisJbWkgPSB5LT52YWx1ZS5kZWNpbWFsLm1pOworCWxvID0geS0+dmFsdWUuZGVjaW1hbC5sbzsKKwlkbGVuID0gLWRsZW47CisJb3JkZXIgPSAtb3JkZXI7CisgICAgfSBlbHNlIHsJCS8qIHggaGFzIG1vcmUgZGlnaXRzIHRoYW4geSAqLworCXN3cCA9IHk7CisJaGkgPSB4LT52YWx1ZS5kZWNpbWFsLmhpOworCW1pID0geC0+dmFsdWUuZGVjaW1hbC5taTsKKwlsbyA9IHgtPnZhbHVlLmRlY2ltYWwubG87CisgICAgfQorICAgIHdoaWxlIChkbGVuID4gOCkgewkvKiBpbiBlZmZlY3QsIHJpZ2h0IHNoaWZ0IGJ5IDEwKio4ICovCisJbG8gPSBtaTsKKwltaSA9IGhpOworCWhpID0gMDsKKwlkbGVuIC09IDg7CisgICAgfQorICAgIHdoaWxlIChkbGVuID4gMCkgeworCXVuc2lnbmVkIGxvbmcgcmVtMSwgcmVtMjsKKwlyZW0xID0gKGhpICUgMTApICogMTAwMDAwMDAwTDsKKwloaSA9IGhpIC8gMTA7CisJcmVtMiA9IChtaSAlIDEwKSAqIDEwMDAwMDAwMEw7CisJbWkgPSAobWkgKyByZW0xKSAvIDEwOworCWxvID0gKGxvICsgcmVtMikgLyAxMDsKKwlkbGVuLS07CisgICAgfQorICAgIGlmIChoaSA+IHN3cC0+dmFsdWUuZGVjaW1hbC5oaSkgeworCXJldHVybiBvcmRlcjsKKyAgICB9IGVsc2UgaWYgKGhpID09IHN3cC0+dmFsdWUuZGVjaW1hbC5oaSkgeworCWlmIChtaSA+IHN3cC0+dmFsdWUuZGVjaW1hbC5taSkgeworCSAgICByZXR1cm4gb3JkZXI7CisJfSBlbHNlIGlmIChtaSA9PSBzd3AtPnZhbHVlLmRlY2ltYWwubWkpIHsKKwkgICAgaWYgKGxvID4gc3dwLT52YWx1ZS5kZWNpbWFsLmxvKSB7CisJCXJldHVybiBvcmRlcjsKKwkgICAgfSBlbHNlIGlmIChsbyA9PSBzd3AtPnZhbHVlLmRlY2ltYWwubG8pIHsKKwkJaWYgKHgtPnZhbHVlLmRlY2ltYWwudG90YWwgPT0geS0+dmFsdWUuZGVjaW1hbC50b3RhbCkgeworCQkgICAgcmV0dXJuIDA7CisJCX0gZWxzZSB7CisJCSAgICByZXR1cm4gb3JkZXI7CisJCX0KKwkgICAgfQorCX0KKyAgICB9CisgICAgcmV0dXJuIC1vcmRlcjsKK30KKworLyoqCisgKiB4bWxTY2hlbWFDb21wYXJlRHVyYXRpb25zOgorICogQHg6ICBhIGZpcnN0IGR1cmF0aW9uIHZhbHVlCisgKiBAeTogIGEgc2Vjb25kIGR1cmF0aW9uIHZhbHVlCisgKgorICogQ29tcGFyZSAyIGR1cmF0aW9ucworICoKKyAqIFJldHVybnMgLTEgaWYgeCA8IHksIDAgaWYgeCA9PSB5LCAxIGlmIHggPiB5LCAyIGlmIHggPD4geSwgYW5kIC0yIGluCisgKiBjYXNlIG9mIGVycm9yCisgKi8KK3N0YXRpYyBpbnQKK3htbFNjaGVtYUNvbXBhcmVEdXJhdGlvbnMoeG1sU2NoZW1hVmFsUHRyIHgsIHhtbFNjaGVtYVZhbFB0ciB5KQoreworICAgIGxvbmcgY2FycnksIG1vbiwgZGF5OworICAgIGRvdWJsZSBzZWM7CisgICAgaW50IGludmVydCA9IDE7CisgICAgbG9uZyB4bW9uLCB4ZGF5LCBteWVhciwgbWluZGF5LCBtYXhkYXk7CisgICAgc3RhdGljIGNvbnN0IGxvbmcgZGF5UmFuZ2UgWzJdWzEyXSA9IHsKKyAgICAgICAgeyAwLCAyOCwgNTksIDg5LCAxMjAsIDE1MCwgMTgxLCAyMTIsIDI0MiwgMjczLCAzMDMsIDMzNCwgfSwKKyAgICAgICAgeyAwLCAzMSwgNjIsIDkyLCAxMjMsIDE1MywgMTg0LCAyMTUsIDI0NSwgMjc2LCAzMDYsIDMzN30gfTsKKworICAgIGlmICgoeCA9PSBOVUxMKSB8fCAoeSA9PSBOVUxMKSkKKyAgICAgICAgcmV0dXJuIC0yOworCisgICAgLyogbW9udGhzICovCisgICAgbW9uID0geC0+dmFsdWUuZHVyLm1vbiAtIHktPnZhbHVlLmR1ci5tb247CisKKyAgICAvKiBzZWNvbmRzICovCisgICAgc2VjID0geC0+dmFsdWUuZHVyLnNlYyAtIHktPnZhbHVlLmR1ci5zZWM7CisgICAgY2FycnkgPSAobG9uZykoc2VjIC8gU0VDU19QRVJfREFZKTsKKyAgICBzZWMgLT0gKChkb3VibGUpY2FycnkpICogU0VDU19QRVJfREFZOworCisgICAgLyogZGF5cyAqLworICAgIGRheSA9IHgtPnZhbHVlLmR1ci5kYXkgLSB5LT52YWx1ZS5kdXIuZGF5ICsgY2Fycnk7CisKKyAgICAvKiBlYXN5IHRlc3QgKi8KKyAgICBpZiAobW9uID09IDApIHsKKyAgICAgICAgaWYgKGRheSA9PSAwKQorICAgICAgICAgICAgaWYgKHNlYyA9PSAwLjApCisgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgICAgICBlbHNlIGlmIChzZWMgPCAwLjApCisgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHJldHVybiAxOworICAgICAgICBlbHNlIGlmIChkYXkgPCAwKQorICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICBlbHNlCisgICAgICAgICAgICByZXR1cm4gMTsKKyAgICB9CisKKyAgICBpZiAobW9uID4gMCkgeworICAgICAgICBpZiAoKGRheSA+PSAwKSAmJiAoc2VjID49IDAuMCkpCisgICAgICAgICAgICByZXR1cm4gMTsKKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICB4bW9uID0gbW9uOworICAgICAgICAgICAgeGRheSA9IC1kYXk7CisgICAgICAgIH0KKyAgICB9IGVsc2UgaWYgKChkYXkgPD0gMCkgJiYgKHNlYyA8PSAwLjApKSB7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9IGVsc2UgeworCWludmVydCA9IC0xOworICAgICAgICB4bW9uID0gLW1vbjsKKyAgICAgICAgeGRheSA9IGRheTsKKyAgICB9CisKKyAgICBteWVhciA9IHhtb24gLyAxMjsKKyAgICBpZiAobXllYXIgPT0gMCkgeworCW1pbmRheSA9IDA7CisJbWF4ZGF5ID0gMDsKKyAgICB9IGVsc2UgeworCW1heGRheSA9IDM2NiAqICgobXllYXIgKyAzKSAvIDQpICsKKwkgICAgICAgICAzNjUgKiAoKG15ZWFyIC0gMSkgJSA0KTsKKwltaW5kYXkgPSBtYXhkYXkgLSAxOworICAgIH0KKworICAgIHhtb24gPSB4bW9uICUgMTI7CisgICAgbWluZGF5ICs9IGRheVJhbmdlWzBdW3htb25dOworICAgIG1heGRheSArPSBkYXlSYW5nZVsxXVt4bW9uXTsKKworICAgIGlmICgobWF4ZGF5ID09IG1pbmRheSkgJiYgKG1heGRheSA9PSB4ZGF5KSkKKwlyZXR1cm4oMCk7IC8qIGNhbiB0aGlzIHJlYWxseSBoYXBwZW4gPyAqLworICAgIGlmIChtYXhkYXkgPCB4ZGF5KQorICAgICAgICByZXR1cm4oLWludmVydCk7CisgICAgaWYgKG1pbmRheSA+IHhkYXkpCisgICAgICAgIHJldHVybihpbnZlcnQpOworCisgICAgLyogaW5kZXRlcm1pbmF0ZSAqLworICAgIHJldHVybiAyOworfQorCisvKgorICogbWFjcm9zIGZvciBhZGRpbmcgZGF0ZS90aW1lcyBhbmQgZHVyYXRpb25zCisgKi8KKyNkZWZpbmUgRlFVT1RJRU5UKGEsYikgICAgICAgICAgICAgICAgICAoZmxvb3IoKChkb3VibGUpYS8oZG91YmxlKWIpKSkKKyNkZWZpbmUgTU9EVUxPKGEsYikgICAgICAgICAgICAgICAgICAgICAoYSAtIEZRVU9USUVOVChhLGIpICogYikKKyNkZWZpbmUgRlFVT1RJRU5UX1JBTkdFKGEsbG93LGhpZ2gpICAgICAoRlFVT1RJRU5UKChhLWxvdyksKGhpZ2gtbG93KSkpCisjZGVmaW5lIE1PRFVMT19SQU5HRShhLGxvdyxoaWdoKSAgICAgICAgKChNT0RVTE8oKGEtbG93KSwoaGlnaC1sb3cpKSkrbG93KQorCisvKioKKyAqIHhtbFNjaGVtYUR1cFZhbDoKKyAqIEB2OiB0aGUgI3htbFNjaGVtYVZhbFB0ciB2YWx1ZSB0byBkdXBsaWNhdGUKKyAqCisgKiBNYWtlcyBhIGNvcHkgb2YgQHYuIFRoZSBjYWxsaW5nIHByb2dyYW0gaXMgcmVzcG9uc2libGUgZm9yIGZyZWVpbmcKKyAqIHRoZSByZXR1cm5lZCB2YWx1ZS4KKyAqCisgKiByZXR1cm5zIGEgcG9pbnRlciB0byBhIGR1cGxpY2F0ZWQgI3htbFNjaGVtYVZhbFB0ciBvciBOVUxMIGlmIGVycm9yLgorICovCitzdGF0aWMgeG1sU2NoZW1hVmFsUHRyCit4bWxTY2hlbWFEdXBWYWwgKHhtbFNjaGVtYVZhbFB0ciB2KQoreworICAgIHhtbFNjaGVtYVZhbFB0ciByZXQgPSB4bWxTY2hlbWFOZXdWYWx1ZSh2LT50eXBlKTsKKyAgICBpZiAocmV0ID09IE5VTEwpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgbWVtY3B5KHJldCwgdiwgc2l6ZW9mKHhtbFNjaGVtYVZhbCkpOworICAgIHJldC0+bmV4dCA9IE5VTEw7CisgICAgcmV0dXJuIHJldDsKK30KKworLyoqCisgKiB4bWxTY2hlbWFDb3B5VmFsdWU6CisgKiBAdmFsOiAgdGhlIHByZWNvbXB1dGVkIHZhbHVlIHRvIGJlIGNvcGllZAorICoKKyAqIENvcGllcyB0aGUgcHJlY29tcHV0ZWQgdmFsdWUuIFRoaXMgZHVwbGljYXRlcyBhbnkgc3RyaW5nIHdpdGhpbi4KKyAqCisgKiBSZXR1cm5zIHRoZSBjb3B5IG9yIE5VTEwgaWYgYSBjb3B5IGZvciBhIGRhdGEtdHlwZSBpcyBub3QgaW1wbGVtZW50ZWQuCisgKi8KK3htbFNjaGVtYVZhbFB0cgoreG1sU2NoZW1hQ29weVZhbHVlKHhtbFNjaGVtYVZhbFB0ciB2YWwpCit7CisgICAgeG1sU2NoZW1hVmFsUHRyIHJldCA9IE5VTEwsIHByZXYgPSBOVUxMLCBjdXI7CisKKyAgICAvKgorICAgICogQ29weSB0aGUgc3RyaW5nIHZhbHVlcy4KKyAgICAqLworICAgIHdoaWxlICh2YWwgIT0gTlVMTCkgeworCXN3aXRjaCAodmFsLT50eXBlKSB7CisJICAgIGNhc2UgWE1MX1NDSEVNQVNfQU5ZVFlQRToKKwkgICAgY2FzZSBYTUxfU0NIRU1BU19JRFJFRlM6CisJICAgIGNhc2UgWE1MX1NDSEVNQVNfRU5USVRJRVM6CisJICAgIGNhc2UgWE1MX1NDSEVNQVNfTk1UT0tFTlM6CisJCXhtbFNjaGVtYUZyZWVWYWx1ZShyZXQpOworCQlyZXR1cm4gKE5VTEwpOworCSAgICBjYXNlIFhNTF9TQ0hFTUFTX0FOWVNJTVBMRVRZUEU6CisJICAgIGNhc2UgWE1MX1NDSEVNQVNfU1RSSU5HOgorCSAgICBjYXNlIFhNTF9TQ0hFTUFTX05PUk1TVFJJTkc6CisJICAgIGNhc2UgWE1MX1NDSEVNQVNfVE9LRU46CisJICAgIGNhc2UgWE1MX1NDSEVNQVNfTEFOR1VBR0U6CisJICAgIGNhc2UgWE1MX1NDSEVNQVNfTkFNRToKKwkgICAgY2FzZSBYTUxfU0NIRU1BU19OQ05BTUU6CisJICAgIGNhc2UgWE1MX1NDSEVNQVNfSUQ6CisJICAgIGNhc2UgWE1MX1NDSEVNQVNfSURSRUY6CisJICAgIGNhc2UgWE1MX1NDSEVNQVNfRU5USVRZOgorCSAgICBjYXNlIFhNTF9TQ0hFTUFTX05NVE9LRU46CisJICAgIGNhc2UgWE1MX1NDSEVNQVNfQU5ZVVJJOgorCQljdXIgPSB4bWxTY2hlbWFEdXBWYWwodmFsKTsKKwkJaWYgKHZhbC0+dmFsdWUuc3RyICE9IE5VTEwpCisJCSAgICBjdXItPnZhbHVlLnN0ciA9IHhtbFN0cmR1cChCQURfQ0FTVCB2YWwtPnZhbHVlLnN0cik7CisJCWJyZWFrOworCSAgICBjYXNlIFhNTF9TQ0hFTUFTX1FOQU1FOgorCSAgICBjYXNlIFhNTF9TQ0hFTUFTX05PVEFUSU9OOgorCQljdXIgPSB4bWxTY2hlbWFEdXBWYWwodmFsKTsKKwkJaWYgKHZhbC0+dmFsdWUucW5hbWUubmFtZSAhPSBOVUxMKQorCQkgICAgY3VyLT52YWx1ZS5xbmFtZS5uYW1lID0KKyAgICAgICAgICAgICAgICAgICAgeG1sU3RyZHVwKEJBRF9DQVNUIHZhbC0+dmFsdWUucW5hbWUubmFtZSk7CisJCWlmICh2YWwtPnZhbHVlLnFuYW1lLnVyaSAhPSBOVUxMKQorCQkgICAgY3VyLT52YWx1ZS5xbmFtZS51cmkgPQorICAgICAgICAgICAgICAgICAgICB4bWxTdHJkdXAoQkFEX0NBU1QgdmFsLT52YWx1ZS5xbmFtZS51cmkpOworCQlicmVhazsKKwkgICAgY2FzZSBYTUxfU0NIRU1BU19IRVhCSU5BUlk6CisJCWN1ciA9IHhtbFNjaGVtYUR1cFZhbCh2YWwpOworCQlpZiAodmFsLT52YWx1ZS5oZXguc3RyICE9IE5VTEwpCisJCSAgICBjdXItPnZhbHVlLmhleC5zdHIgPSB4bWxTdHJkdXAoQkFEX0NBU1QgdmFsLT52YWx1ZS5oZXguc3RyKTsKKwkJYnJlYWs7CisJICAgIGNhc2UgWE1MX1NDSEVNQVNfQkFTRTY0QklOQVJZOgorCQljdXIgPSB4bWxTY2hlbWFEdXBWYWwodmFsKTsKKwkJaWYgKHZhbC0+dmFsdWUuYmFzZTY0LnN0ciAhPSBOVUxMKQorCQkgICAgY3VyLT52YWx1ZS5iYXNlNjQuc3RyID0KKyAgICAgICAgICAgICAgICAgICAgeG1sU3RyZHVwKEJBRF9DQVNUIHZhbC0+dmFsdWUuYmFzZTY0LnN0cik7CisJCWJyZWFrOworCSAgICBkZWZhdWx0OgorCQljdXIgPSB4bWxTY2hlbWFEdXBWYWwodmFsKTsKKwkJYnJlYWs7CisJfQorCWlmIChyZXQgPT0gTlVMTCkKKwkgICAgcmV0ID0gY3VyOworCWVsc2UKKwkgICAgcHJldi0+bmV4dCA9IGN1cjsKKwlwcmV2ID0gY3VyOworCXZhbCA9IHZhbC0+bmV4dDsKKyAgICB9CisgICAgcmV0dXJuIChyZXQpOworfQorCisvKioKKyAqIF94bWxTY2hlbWFEYXRlQWRkOgorICogQGR0OiBhbiAjeG1sU2NoZW1hVmFsUHRyCisgKiBAZHVyOiBhbiAjeG1sU2NoZW1hVmFsUHRyIG9mIHR5cGUgI1hTX0RVUkFUSU9OCisgKgorICogQ29tcHV0ZSBhIG5ldyBkYXRlL3RpbWUgZnJvbSBAZHQgYW5kIEBkdXIuIFRoaXMgZnVuY3Rpb24gYXNzdW1lcyBAZHQKKyAqIGlzIGVpdGhlciAjWE1MX1NDSEVNQVNfREFURVRJTUUsICNYTUxfU0NIRU1BU19EQVRFLCAjWE1MX1NDSEVNQVNfR1lFQVJNT05USCwKKyAqIG9yICNYTUxfU0NIRU1BU19HWUVBUi4gVGhlIHJldHVybmVkICN4bWxTY2hlbWFWYWwgaXMgdGhlIHNhbWUgdHlwZSBhcworICogQGR0LiBUaGUgY2FsbGluZyBwcm9ncmFtIGlzIHJlc3BvbnNpYmxlIGZvciBmcmVlaW5nIHRoZSByZXR1cm5lZCB2YWx1ZS4KKyAqCisgKiBSZXR1cm5zIGEgcG9pbnRlciB0byBhIG5ldyAjeG1sU2NoZW1hVmFsIG9yIE5VTEwgaWYgZXJyb3IuCisgKi8KK3N0YXRpYyB4bWxTY2hlbWFWYWxQdHIKK194bWxTY2hlbWFEYXRlQWRkICh4bWxTY2hlbWFWYWxQdHIgZHQsIHhtbFNjaGVtYVZhbFB0ciBkdXIpCit7CisgICAgeG1sU2NoZW1hVmFsUHRyIHJldCwgdG1wOworICAgIGxvbmcgY2FycnksIHRlbXBkYXlzLCB0ZW1wOworICAgIHhtbFNjaGVtYVZhbERhdGVQdHIgciwgZDsKKyAgICB4bWxTY2hlbWFWYWxEdXJhdGlvblB0ciB1OworCisgICAgaWYgKChkdCA9PSBOVUxMKSB8fCAoZHVyID09IE5VTEwpKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIHJldCA9IHhtbFNjaGVtYU5ld1ZhbHVlKGR0LT50eXBlKTsKKyAgICBpZiAocmV0ID09IE5VTEwpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgLyogbWFrZSBhIGNvcHkgc28gd2UgZG9uJ3QgYWx0ZXIgdGhlIG9yaWdpbmFsIHZhbHVlICovCisgICAgdG1wID0geG1sU2NoZW1hRHVwVmFsKGR0KTsKKyAgICBpZiAodG1wID09IE5VTEwpIHsKKyAgICAgICAgeG1sU2NoZW1hRnJlZVZhbHVlKHJldCk7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKworICAgIHIgPSAmKHJldC0+dmFsdWUuZGF0ZSk7CisgICAgZCA9ICYodG1wLT52YWx1ZS5kYXRlKTsKKyAgICB1ID0gJihkdXItPnZhbHVlLmR1cik7CisKKyAgICAvKiBub3JtYWxpemF0aW9uICovCisgICAgaWYgKGQtPm1vbiA9PSAwKQorICAgICAgICBkLT5tb24gPSAxOworCisgICAgLyogbm9ybWFsaXplIGZvciB0aW1lIHpvbmUgb2Zmc2V0ICovCisgICAgdS0+c2VjIC09IChkLT50em8gKiA2MCk7CisgICAgZC0+dHpvID0gMDsKKworICAgIC8qIG5vcm1hbGl6YXRpb24gKi8KKyAgICBpZiAoZC0+ZGF5ID09IDApCisgICAgICAgIGQtPmRheSA9IDE7CisKKyAgICAvKiBtb250aCAqLworICAgIGNhcnJ5ICA9IGQtPm1vbiArIHUtPm1vbjsKKyAgICByLT5tb24gPSAodW5zaWduZWQgaW50KSBNT0RVTE9fUkFOR0UoY2FycnksIDEsIDEzKTsKKyAgICBjYXJyeSAgPSAobG9uZykgRlFVT1RJRU5UX1JBTkdFKGNhcnJ5LCAxLCAxMyk7CisKKyAgICAvKiB5ZWFyIChtYXkgYmUgbW9kaWZpZWQgbGF0ZXIpICovCisgICAgci0+eWVhciA9IGQtPnllYXIgKyBjYXJyeTsKKyAgICBpZiAoci0+eWVhciA9PSAwKSB7CisgICAgICAgIGlmIChkLT55ZWFyID4gMCkKKyAgICAgICAgICAgIHItPnllYXItLTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgci0+eWVhcisrOworICAgIH0KKworICAgIC8qIHRpbWUgem9uZSAqLworICAgIHItPnR6byAgICAgPSBkLT50em87CisgICAgci0+dHpfZmxhZyA9IGQtPnR6X2ZsYWc7CisKKyAgICAvKiBzZWNvbmRzICovCisgICAgci0+c2VjID0gZC0+c2VjICsgdS0+c2VjOworICAgIGNhcnJ5ICA9IChsb25nKSBGUVVPVElFTlQoKGxvbmcpci0+c2VjLCA2MCk7CisgICAgaWYgKHItPnNlYyAhPSAwLjApIHsKKyAgICAgICAgci0+c2VjID0gTU9EVUxPKHItPnNlYywgNjAuMCk7CisgICAgfQorCisgICAgLyogbWludXRlICovCisgICAgY2FycnkgKz0gZC0+bWluOworICAgIHItPm1pbiA9ICh1bnNpZ25lZCBpbnQpIE1PRFVMTyhjYXJyeSwgNjApOworICAgIGNhcnJ5ICA9IChsb25nKSBGUVVPVElFTlQoY2FycnksIDYwKTsKKworICAgIC8qIGhvdXJzICovCisgICAgY2FycnkgICs9IGQtPmhvdXI7CisgICAgci0+aG91ciA9ICh1bnNpZ25lZCBpbnQpIE1PRFVMTyhjYXJyeSwgMjQpOworICAgIGNhcnJ5ICAgPSAobG9uZylGUVVPVElFTlQoY2FycnksIDI0KTsKKworICAgIC8qCisgICAgICogZGF5cworICAgICAqIE5vdGUgd2UgdXNlIHRlbXBkYXlzIGJlY2F1c2UgdGhlIHRlbXBvcmFyeSB2YWx1ZXMgbWF5IG5lZWQgbW9yZQorICAgICAqIHRoYW4gNSBiaXRzCisgICAgICovCisgICAgaWYgKChWQUxJRF9ZRUFSKHItPnllYXIpKSAmJiAoVkFMSURfTU9OVEgoci0+bW9uKSkgJiYKKyAgICAgICAgICAgICAgICAgIChkLT5kYXkgPiBNQVhfREFZSU5NT05USChyLT55ZWFyLCByLT5tb24pKSkKKyAgICAgICAgdGVtcGRheXMgPSBNQVhfREFZSU5NT05USChyLT55ZWFyLCByLT5tb24pOworICAgIGVsc2UgaWYgKGQtPmRheSA8IDEpCisgICAgICAgIHRlbXBkYXlzID0gMTsKKyAgICBlbHNlCisgICAgICAgIHRlbXBkYXlzID0gZC0+ZGF5OworCisgICAgdGVtcGRheXMgKz0gdS0+ZGF5ICsgY2Fycnk7CisKKyAgICB3aGlsZSAoMSkgeworICAgICAgICBpZiAodGVtcGRheXMgPCAxKSB7CisgICAgICAgICAgICBsb25nIHRtb24gPSAobG9uZykgTU9EVUxPX1JBTkdFKChpbnQpci0+bW9uLTEsIDEsIDEzKTsKKyAgICAgICAgICAgIGxvbmcgdHlyICA9IHItPnllYXIgKyAobG9uZylGUVVPVElFTlRfUkFOR0UoKGludClyLT5tb24tMSwgMSwgMTMpOworICAgICAgICAgICAgaWYgKHR5ciA9PSAwKQorICAgICAgICAgICAgICAgIHR5ci0tOworCSAgICAvKgorCSAgICAgKiBDb3Zlcml0eSBkZXRlY3RlZCBhbiBvdmVycnVuIGluIGRheXNJbk1vbnRoCisJICAgICAqIG9mIHNpemUgMTIgYXQgcG9zaXRpb24gMTIgd2l0aCBpbmRleCB2YXJpYWJsZSAiKChyKS0+bW9uIC0gMSkiCisJICAgICAqLworCSAgICBpZiAodG1vbiA8IDEpCisJICAgICAgICB0bW9uID0gMTsKKwkgICAgaWYgKHRtb24gPiAxMikKKwkgICAgICAgIHRtb24gPSAxMjsKKyAgICAgICAgICAgIHRlbXBkYXlzICs9IE1BWF9EQVlJTk1PTlRIKHR5ciwgdG1vbik7CisgICAgICAgICAgICBjYXJyeSA9IC0xOworICAgICAgICB9IGVsc2UgaWYgKFZBTElEX1lFQVIoci0+eWVhcikgJiYgVkFMSURfTU9OVEgoci0+bW9uKSAmJgorICAgICAgICAgICAgICAgICAgIHRlbXBkYXlzID4gKGxvbmcpIE1BWF9EQVlJTk1PTlRIKHItPnllYXIsIHItPm1vbikpIHsKKyAgICAgICAgICAgIHRlbXBkYXlzID0gdGVtcGRheXMgLSBNQVhfREFZSU5NT05USChyLT55ZWFyLCByLT5tb24pOworICAgICAgICAgICAgY2FycnkgPSAxOworICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIHRlbXAgPSByLT5tb24gKyBjYXJyeTsKKyAgICAgICAgci0+bW9uID0gKHVuc2lnbmVkIGludCkgTU9EVUxPX1JBTkdFKHRlbXAsIDEsIDEzKTsKKyAgICAgICAgci0+eWVhciA9IHItPnllYXIgKyAodW5zaWduZWQgaW50KSBGUVVPVElFTlRfUkFOR0UodGVtcCwgMSwgMTMpOworICAgICAgICBpZiAoci0+eWVhciA9PSAwKSB7CisgICAgICAgICAgICBpZiAodGVtcCA8IDEpCisgICAgICAgICAgICAgICAgci0+eWVhci0tOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHItPnllYXIrKzsKKwl9CisgICAgfQorCisgICAgci0+ZGF5ID0gdGVtcGRheXM7CisKKyAgICAvKgorICAgICAqIGFkanVzdCB0aGUgZGF0ZS90aW1lIHR5cGUgdG8gdGhlIGRhdGUgdmFsdWVzCisgICAgICovCisgICAgaWYgKHJldC0+dHlwZSAhPSBYTUxfU0NIRU1BU19EQVRFVElNRSkgeworICAgICAgICBpZiAoKHItPmhvdXIpIHx8IChyLT5taW4pIHx8IChyLT5zZWMpKQorICAgICAgICAgICAgcmV0LT50eXBlID0gWE1MX1NDSEVNQVNfREFURVRJTUU7CisgICAgICAgIGVsc2UgaWYgKHJldC0+dHlwZSAhPSBYTUxfU0NIRU1BU19EQVRFKSB7CisgICAgICAgICAgICBpZiAoKHItPm1vbiAhPSAxKSAmJiAoci0+ZGF5ICE9IDEpKQorICAgICAgICAgICAgICAgIHJldC0+dHlwZSA9IFhNTF9TQ0hFTUFTX0RBVEU7CisgICAgICAgICAgICBlbHNlIGlmICgocmV0LT50eXBlICE9IFhNTF9TQ0hFTUFTX0dZRUFSTU9OVEgpICYmIChyLT5tb24gIT0gMSkpCisgICAgICAgICAgICAgICAgcmV0LT50eXBlID0gWE1MX1NDSEVNQVNfR1lFQVJNT05USDsKKyAgICAgICAgfQorICAgIH0KKworICAgIHhtbFNjaGVtYUZyZWVWYWx1ZSh0bXApOworCisgICAgcmV0dXJuIHJldDsKK30KKworLyoqCisgKiB4bWxTY2hlbWFEYXRlTm9ybWFsaXplOgorICogQGR0OiBhbiAjeG1sU2NoZW1hVmFsUHRyIG9mIGEgZGF0ZS90aW1lIHR5cGUgdmFsdWUuCisgKiBAb2Zmc2V0OiBudW1iZXIgb2Ygc2Vjb25kcyB0byBhZGp1c3QgQGR0IGJ5LgorICoKKyAqIE5vcm1hbGl6ZSBAZHQgdG8gR01UIHRpbWUuIFRoZSBAb2Zmc2V0IHBhcmFtZXRlciBpcyBzdWJ0cmFjdGVkIGZyb20KKyAqIHRoZSByZXR1cm4gdmFsdWUgaXMgYSB0aW1lLXpvbmUgb2Zmc2V0IGlzIHByZXNlbnQgb24gQGR0LgorICoKKyAqIFJldHVybnMgYSBub3JtYWxpemVkIGNvcHkgb2YgQGR0IG9yIE5VTEwgaWYgZXJyb3IuCisgKi8KK3N0YXRpYyB4bWxTY2hlbWFWYWxQdHIKK3htbFNjaGVtYURhdGVOb3JtYWxpemUgKHhtbFNjaGVtYVZhbFB0ciBkdCwgZG91YmxlIG9mZnNldCkKK3sKKyAgICB4bWxTY2hlbWFWYWxQdHIgZHVyLCByZXQ7CisKKyAgICBpZiAoZHQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBpZiAoKChkdC0+dHlwZSAhPSBYTUxfU0NIRU1BU19USU1FKSAmJgorICAgICAgICAgKGR0LT50eXBlICE9IFhNTF9TQ0hFTUFTX0RBVEVUSU1FKSAmJgorCSAoZHQtPnR5cGUgIT0gWE1MX1NDSEVNQVNfREFURSkpIHx8IChkdC0+dmFsdWUuZGF0ZS50em8gPT0gMCkpCisgICAgICAgIHJldHVybiB4bWxTY2hlbWFEdXBWYWwoZHQpOworCisgICAgZHVyID0geG1sU2NoZW1hTmV3VmFsdWUoWE1MX1NDSEVNQVNfRFVSQVRJT04pOworICAgIGlmIChkdXIgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBkdXItPnZhbHVlLmRhdGUuc2VjIC09IG9mZnNldDsKKworICAgIHJldCA9IF94bWxTY2hlbWFEYXRlQWRkKGR0LCBkdXIpOworICAgIGlmIChyZXQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICB4bWxTY2hlbWFGcmVlVmFsdWUoZHVyKTsKKworICAgIC8qIHJldC0+dmFsdWUuZGF0ZS50em8gPSAwOyAqLworICAgIHJldHVybiByZXQ7Cit9CisKKy8qKgorICogX3htbFNjaGVtYURhdGVDYXN0WU1Ub0RheXM6CisgKiBAZHQ6IGFuICN4bWxTY2hlbWFWYWxQdHIKKyAqCisgKiBDb252ZXJ0IG1vbiBhbmQgeWVhciBvZiBAZHQgdG8gdG90YWwgbnVtYmVyIG9mIGRheXMuIFRha2UgdGhlCisgKiBudW1iZXIgb2YgeWVhcnMgc2luY2UgKG9yIGJlZm9yZSkgMSBBRCBhbmQgYWRkIHRoZSBudW1iZXIgb2YgbGVhcAorICogeWVhcnMuIFRoaXMgaXMgYSBmdW5jdGlvbiAgYmVjYXVzZSBuZWdhdGl2ZQorICogeWVhcnMgbXVzdCBiZSBoYW5kbGVkIGEgbGl0dGxlIGRpZmZlcmVudGx5IGFuZCB0aGVyZSBpcyBubyB6ZXJvIHllYXIuCisgKgorICogUmV0dXJucyBudW1iZXIgb2YgZGF5cy4KKyAqLworc3RhdGljIGxvbmcKK194bWxTY2hlbWFEYXRlQ2FzdFlNVG9EYXlzIChjb25zdCB4bWxTY2hlbWFWYWxQdHIgZHQpCit7CisgICAgbG9uZyByZXQ7CisgICAgaW50IG1vbjsKKworICAgIG1vbiA9IGR0LT52YWx1ZS5kYXRlLm1vbjsKKyAgICBpZiAobW9uIDw9IDApIG1vbiA9IDE7IC8qIG5vcm1hbGl6YXRpb24gKi8KKworICAgIGlmIChkdC0+dmFsdWUuZGF0ZS55ZWFyIDw9IDApCisgICAgICAgIHJldCA9IChkdC0+dmFsdWUuZGF0ZS55ZWFyICogMzY1KSArCisgICAgICAgICAgICAgICgoKGR0LT52YWx1ZS5kYXRlLnllYXIrMSkvNCktKChkdC0+dmFsdWUuZGF0ZS55ZWFyKzEpLzEwMCkrCisgICAgICAgICAgICAgICAoKGR0LT52YWx1ZS5kYXRlLnllYXIrMSkvNDAwKSkgKworICAgICAgICAgICAgICBEQVlfSU5fWUVBUigwLCBtb24sIGR0LT52YWx1ZS5kYXRlLnllYXIpOworICAgIGVsc2UKKyAgICAgICAgcmV0ID0gKChkdC0+dmFsdWUuZGF0ZS55ZWFyLTEpICogMzY1KSArCisgICAgICAgICAgICAgICgoKGR0LT52YWx1ZS5kYXRlLnllYXItMSkvNCktKChkdC0+dmFsdWUuZGF0ZS55ZWFyLTEpLzEwMCkrCisgICAgICAgICAgICAgICAoKGR0LT52YWx1ZS5kYXRlLnllYXItMSkvNDAwKSkgKworICAgICAgICAgICAgICBEQVlfSU5fWUVBUigwLCBtb24sIGR0LT52YWx1ZS5kYXRlLnllYXIpOworCisgICAgcmV0dXJuIHJldDsKK30KKworLyoqCisgKiBUSU1FX1RPX05VTUJFUjoKKyAqIEBkdDogIGFuICN4bWxTY2hlbWFWYWxQdHIKKyAqCisgKiBDYWxjdWxhdGVzIHRoZSBudW1iZXIgb2Ygc2Vjb25kcyBpbiB0aGUgdGltZSBwb3J0aW9uIG9mIEBkdC4KKyAqCisgKiBSZXR1cm5zIHNlY29uZHMuCisgKi8KKyNkZWZpbmUgVElNRV9UT19OVU1CRVIoZHQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICgoZG91YmxlKSgoZHQtPnZhbHVlLmRhdGUuaG91ciAqIFNFQ1NfUEVSX0hPVVIpICsgICBcCisgICAgICAgICAgICAgIChkdC0+dmFsdWUuZGF0ZS5taW4gKiBTRUNTX1BFUl9NSU4pICsJXAorICAgICAgICAgICAgICAoZHQtPnZhbHVlLmRhdGUudHpvICogU0VDU19QRVJfTUlOKSkgKwlcCisgICAgICAgICAgICAgICBkdC0+dmFsdWUuZGF0ZS5zZWMpCisKKy8qKgorICogeG1sU2NoZW1hQ29tcGFyZURhdGVzOgorICogQHg6ICBhIGZpcnN0IGRhdGUvdGltZSB2YWx1ZQorICogQHk6ICBhIHNlY29uZCBkYXRlL3RpbWUgdmFsdWUKKyAqCisgKiBDb21wYXJlIDIgZGF0ZS90aW1lcworICoKKyAqIFJldHVybnMgLTEgaWYgeCA8IHksIDAgaWYgeCA9PSB5LCAxIGlmIHggPiB5LCAyIGlmIHggPD4geSwgYW5kIC0yIGluCisgKiBjYXNlIG9mIGVycm9yCisgKi8KK3N0YXRpYyBpbnQKK3htbFNjaGVtYUNvbXBhcmVEYXRlcyAoeG1sU2NoZW1hVmFsUHRyIHgsIHhtbFNjaGVtYVZhbFB0ciB5KQoreworICAgIHVuc2lnbmVkIGNoYXIgeG1hc2ssIHltYXNrLCB4b3JfbWFzaywgYW5kX21hc2s7CisgICAgeG1sU2NoZW1hVmFsUHRyIHAxLCBwMiwgcTEsIHEyOworICAgIGxvbmcgcDFkLCBwMmQsIHExZCwgcTJkOworCisgICAgaWYgKCh4ID09IE5VTEwpIHx8ICh5ID09IE5VTEwpKQorICAgICAgICByZXR1cm4gLTI7CisKKyAgICBpZiAoeC0+dmFsdWUuZGF0ZS50el9mbGFnKSB7CisKKyAgICAgICAgaWYgKCF5LT52YWx1ZS5kYXRlLnR6X2ZsYWcpIHsKKyAgICAgICAgICAgIHAxID0geG1sU2NoZW1hRGF0ZU5vcm1hbGl6ZSh4LCAwKTsKKyAgICAgICAgICAgIHAxZCA9IF94bWxTY2hlbWFEYXRlQ2FzdFlNVG9EYXlzKHAxKSArIHAxLT52YWx1ZS5kYXRlLmRheTsKKyAgICAgICAgICAgIC8qIG5vcm1hbGl6ZSB5ICsgMTQ6MDAgKi8KKyAgICAgICAgICAgIHExID0geG1sU2NoZW1hRGF0ZU5vcm1hbGl6ZSh5LCAoMTQgKiBTRUNTX1BFUl9IT1VSKSk7CisKKyAgICAgICAgICAgIHExZCA9IF94bWxTY2hlbWFEYXRlQ2FzdFlNVG9EYXlzKHExKSArIHExLT52YWx1ZS5kYXRlLmRheTsKKyAgICAgICAgICAgIGlmIChwMWQgPCBxMWQpIHsKKwkJeG1sU2NoZW1hRnJlZVZhbHVlKHAxKTsKKwkJeG1sU2NoZW1hRnJlZVZhbHVlKHExKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisJICAgIH0gZWxzZSBpZiAocDFkID09IHExZCkgeworICAgICAgICAgICAgICAgIGRvdWJsZSBzZWM7CisKKyAgICAgICAgICAgICAgICBzZWMgPSBUSU1FX1RPX05VTUJFUihwMSkgLSBUSU1FX1RPX05VTUJFUihxMSk7CisgICAgICAgICAgICAgICAgaWYgKHNlYyA8IDAuMCkgeworCQkgICAgeG1sU2NoZW1hRnJlZVZhbHVlKHAxKTsKKwkJICAgIHhtbFNjaGVtYUZyZWVWYWx1ZShxMSk7CisgICAgICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKwkJfSBlbHNlIHsKKwkJICAgIGludCByZXQgPSAwOworICAgICAgICAgICAgICAgICAgICAvKiBub3JtYWxpemUgeSAtIDE0OjAwICovCisgICAgICAgICAgICAgICAgICAgIHEyID0geG1sU2NoZW1hRGF0ZU5vcm1hbGl6ZSh5LCAtKDE0ICogU0VDU19QRVJfSE9VUikpOworICAgICAgICAgICAgICAgICAgICBxMmQgPSBfeG1sU2NoZW1hRGF0ZUNhc3RZTVRvRGF5cyhxMikgKyBxMi0+dmFsdWUuZGF0ZS5kYXk7CisgICAgICAgICAgICAgICAgICAgIGlmIChwMWQgPiBxMmQpCisgICAgICAgICAgICAgICAgICAgICAgICByZXQgPSAxOworICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChwMWQgPT0gcTJkKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBzZWMgPSBUSU1FX1RPX05VTUJFUihwMSkgLSBUSU1FX1RPX05VTUJFUihxMik7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc2VjID4gMC4wKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldCA9IDE7CisgICAgICAgICAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0ID0gMjsgLyogaW5kZXRlcm1pbmF0ZSAqLworICAgICAgICAgICAgICAgICAgICB9CisJCSAgICB4bWxTY2hlbWFGcmVlVmFsdWUocDEpOworCQkgICAgeG1sU2NoZW1hRnJlZVZhbHVlKHExKTsKKwkJICAgIHhtbFNjaGVtYUZyZWVWYWx1ZShxMik7CisJCSAgICBpZiAocmV0ICE9IDApCisJCSAgICAgICAgcmV0dXJuKHJldCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSBlbHNlIHsKKwkJeG1sU2NoZW1hRnJlZVZhbHVlKHAxKTsKKwkJeG1sU2NoZW1hRnJlZVZhbHVlKHExKTsKKwkgICAgfQorICAgICAgICB9CisgICAgfSBlbHNlIGlmICh5LT52YWx1ZS5kYXRlLnR6X2ZsYWcpIHsKKyAgICAgICAgcTEgPSB4bWxTY2hlbWFEYXRlTm9ybWFsaXplKHksIDApOworICAgICAgICBxMWQgPSBfeG1sU2NoZW1hRGF0ZUNhc3RZTVRvRGF5cyhxMSkgKyBxMS0+dmFsdWUuZGF0ZS5kYXk7CisKKyAgICAgICAgLyogbm9ybWFsaXplIHggLSAxNDowMCAqLworICAgICAgICBwMSA9IHhtbFNjaGVtYURhdGVOb3JtYWxpemUoeCwgLSgxNCAqIFNFQ1NfUEVSX0hPVVIpKTsKKyAgICAgICAgcDFkID0gX3htbFNjaGVtYURhdGVDYXN0WU1Ub0RheXMocDEpICsgcDEtPnZhbHVlLmRhdGUuZGF5OworCisgICAgICAgIGlmIChwMWQgPCBxMWQpIHsKKwkgICAgeG1sU2NoZW1hRnJlZVZhbHVlKHAxKTsKKwkgICAgeG1sU2NoZW1hRnJlZVZhbHVlKHExKTsKKyAgICAgICAgICAgIHJldHVybiAtMTsKKwl9IGVsc2UgaWYgKHAxZCA9PSBxMWQpIHsKKyAgICAgICAgICAgIGRvdWJsZSBzZWM7CisKKyAgICAgICAgICAgIHNlYyA9IFRJTUVfVE9fTlVNQkVSKHAxKSAtIFRJTUVfVE9fTlVNQkVSKHExKTsKKyAgICAgICAgICAgIGlmIChzZWMgPCAwLjApIHsKKwkJeG1sU2NoZW1hRnJlZVZhbHVlKHAxKTsKKwkJeG1sU2NoZW1hRnJlZVZhbHVlKHExKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisJICAgIH0gZWxzZSB7CisJICAgICAgICBpbnQgcmV0ID0gMDsKKyAgICAgICAgICAgICAgICAvKiBub3JtYWxpemUgeCArIDE0OjAwICovCisgICAgICAgICAgICAgICAgcDIgPSB4bWxTY2hlbWFEYXRlTm9ybWFsaXplKHgsICgxNCAqIFNFQ1NfUEVSX0hPVVIpKTsKKyAgICAgICAgICAgICAgICBwMmQgPSBfeG1sU2NoZW1hRGF0ZUNhc3RZTVRvRGF5cyhwMikgKyBwMi0+dmFsdWUuZGF0ZS5kYXk7CisKKyAgICAgICAgICAgICAgICBpZiAocDJkID4gcTFkKSB7CisgICAgICAgICAgICAgICAgICAgIHJldCA9IDE7CisJCX0gZWxzZSBpZiAocDJkID09IHExZCkgeworICAgICAgICAgICAgICAgICAgICBzZWMgPSBUSU1FX1RPX05VTUJFUihwMikgLSBUSU1FX1RPX05VTUJFUihxMSk7CisgICAgICAgICAgICAgICAgICAgIGlmIChzZWMgPiAwLjApCisgICAgICAgICAgICAgICAgICAgICAgICByZXQgPSAxOworICAgICAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgICAgICByZXQgPSAyOyAvKiBpbmRldGVybWluYXRlICovCisgICAgICAgICAgICAgICAgfQorCQl4bWxTY2hlbWFGcmVlVmFsdWUocDEpOworCQl4bWxTY2hlbWFGcmVlVmFsdWUocTEpOworCQl4bWxTY2hlbWFGcmVlVmFsdWUocDIpOworCQlpZiAocmV0ICE9IDApCisJCSAgICByZXR1cm4ocmV0KTsKKyAgICAgICAgICAgIH0KKwl9IGVsc2UgeworCSAgICB4bWxTY2hlbWFGcmVlVmFsdWUocDEpOworCSAgICB4bWxTY2hlbWFGcmVlVmFsdWUocTEpOworICAgICAgICB9CisgICAgfQorCisgICAgLyoKKyAgICAgKiBpZiB0aGUgc2FtZSB0eXBlIHRoZW4gY2FsY3VsYXRlIHRoZSBkaWZmZXJlbmNlCisgICAgICovCisgICAgaWYgKHgtPnR5cGUgPT0geS0+dHlwZSkgeworICAgICAgICBpbnQgcmV0ID0gMDsKKyAgICAgICAgcTEgPSB4bWxTY2hlbWFEYXRlTm9ybWFsaXplKHksIDApOworICAgICAgICBxMWQgPSBfeG1sU2NoZW1hRGF0ZUNhc3RZTVRvRGF5cyhxMSkgKyBxMS0+dmFsdWUuZGF0ZS5kYXk7CisKKyAgICAgICAgcDEgPSB4bWxTY2hlbWFEYXRlTm9ybWFsaXplKHgsIDApOworICAgICAgICBwMWQgPSBfeG1sU2NoZW1hRGF0ZUNhc3RZTVRvRGF5cyhwMSkgKyBwMS0+dmFsdWUuZGF0ZS5kYXk7CisKKyAgICAgICAgaWYgKHAxZCA8IHExZCkgeworICAgICAgICAgICAgcmV0ID0gLTE7CisJfSBlbHNlIGlmIChwMWQgPiBxMWQpIHsKKyAgICAgICAgICAgIHJldCA9IDE7CisJfSBlbHNlIHsKKyAgICAgICAgICAgIGRvdWJsZSBzZWM7CisKKyAgICAgICAgICAgIHNlYyA9IFRJTUVfVE9fTlVNQkVSKHAxKSAtIFRJTUVfVE9fTlVNQkVSKHExKTsKKyAgICAgICAgICAgIGlmIChzZWMgPCAwLjApCisgICAgICAgICAgICAgICAgcmV0ID0gLTE7CisgICAgICAgICAgICBlbHNlIGlmIChzZWMgPiAwLjApCisgICAgICAgICAgICAgICAgcmV0ID0gMTsKKworICAgICAgICB9CisJeG1sU2NoZW1hRnJlZVZhbHVlKHAxKTsKKwl4bWxTY2hlbWFGcmVlVmFsdWUocTEpOworICAgICAgICByZXR1cm4ocmV0KTsKKyAgICB9CisKKyAgICBzd2l0Y2ggKHgtPnR5cGUpIHsKKyAgICAgICAgY2FzZSBYTUxfU0NIRU1BU19EQVRFVElNRToKKyAgICAgICAgICAgIHhtYXNrID0gMHhmOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1NDSEVNQVNfREFURToKKyAgICAgICAgICAgIHhtYXNrID0gMHg3OworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1NDSEVNQVNfR1lFQVI6CisgICAgICAgICAgICB4bWFzayA9IDB4MTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9TQ0hFTUFTX0dNT05USDoKKyAgICAgICAgICAgIHhtYXNrID0gMHgyOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1NDSEVNQVNfR0RBWToKKyAgICAgICAgICAgIHhtYXNrID0gMHgzOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1NDSEVNQVNfR1lFQVJNT05USDoKKyAgICAgICAgICAgIHhtYXNrID0gMHgzOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1NDSEVNQVNfR01PTlRIREFZOgorICAgICAgICAgICAgeG1hc2sgPSAweDY7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfU0NIRU1BU19USU1FOgorICAgICAgICAgICAgeG1hc2sgPSAweDg7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIHhtYXNrID0gMDsKKyAgICAgICAgICAgIGJyZWFrOworICAgIH0KKworICAgIHN3aXRjaCAoeS0+dHlwZSkgeworICAgICAgICBjYXNlIFhNTF9TQ0hFTUFTX0RBVEVUSU1FOgorICAgICAgICAgICAgeW1hc2sgPSAweGY7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfU0NIRU1BU19EQVRFOgorICAgICAgICAgICAgeW1hc2sgPSAweDc7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfU0NIRU1BU19HWUVBUjoKKyAgICAgICAgICAgIHltYXNrID0gMHgxOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1NDSEVNQVNfR01PTlRIOgorICAgICAgICAgICAgeW1hc2sgPSAweDI7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfU0NIRU1BU19HREFZOgorICAgICAgICAgICAgeW1hc2sgPSAweDM7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfU0NIRU1BU19HWUVBUk1PTlRIOgorICAgICAgICAgICAgeW1hc2sgPSAweDM7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfU0NIRU1BU19HTU9OVEhEQVk6CisgICAgICAgICAgICB5bWFzayA9IDB4NjsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9TQ0hFTUFTX1RJTUU6CisgICAgICAgICAgICB5bWFzayA9IDB4ODsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgeW1hc2sgPSAwOworICAgICAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgeG9yX21hc2sgPSB4bWFzayBeIHltYXNrOyAgICAgICAgICAgLyogbWFyayB0eXBlIGRpZmZlcmVuY2VzICovCisgICAgYW5kX21hc2sgPSB4bWFzayAmIHltYXNrOyAgICAgICAgICAgLyogbWFyayBmaWVsZCBzcGVjaWZpY2F0aW9uICovCisKKyAgICAvKiB5ZWFyICovCisgICAgaWYgKHhvcl9tYXNrICYgMSkKKyAgICAgICAgcmV0dXJuIDI7IC8qIGluZGV0ZXJtaW5hdGUgKi8KKyAgICBlbHNlIGlmIChhbmRfbWFzayAmIDEpIHsKKyAgICAgICAgaWYgKHgtPnZhbHVlLmRhdGUueWVhciA8IHktPnZhbHVlLmRhdGUueWVhcikKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgZWxzZSBpZiAoeC0+dmFsdWUuZGF0ZS55ZWFyID4geS0+dmFsdWUuZGF0ZS55ZWFyKQorICAgICAgICAgICAgcmV0dXJuIDE7CisgICAgfQorCisgICAgLyogbW9udGggKi8KKyAgICBpZiAoeG9yX21hc2sgJiAyKQorICAgICAgICByZXR1cm4gMjsgLyogaW5kZXRlcm1pbmF0ZSAqLworICAgIGVsc2UgaWYgKGFuZF9tYXNrICYgMikgeworICAgICAgICBpZiAoeC0+dmFsdWUuZGF0ZS5tb24gPCB5LT52YWx1ZS5kYXRlLm1vbikKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgZWxzZSBpZiAoeC0+dmFsdWUuZGF0ZS5tb24gPiB5LT52YWx1ZS5kYXRlLm1vbikKKyAgICAgICAgICAgIHJldHVybiAxOworICAgIH0KKworICAgIC8qIGRheSAqLworICAgIGlmICh4b3JfbWFzayAmIDQpCisgICAgICAgIHJldHVybiAyOyAvKiBpbmRldGVybWluYXRlICovCisgICAgZWxzZSBpZiAoYW5kX21hc2sgJiA0KSB7CisgICAgICAgIGlmICh4LT52YWx1ZS5kYXRlLmRheSA8IHktPnZhbHVlLmRhdGUuZGF5KQorICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICBlbHNlIGlmICh4LT52YWx1ZS5kYXRlLmRheSA+IHktPnZhbHVlLmRhdGUuZGF5KQorICAgICAgICAgICAgcmV0dXJuIDE7CisgICAgfQorCisgICAgLyogdGltZSAqLworICAgIGlmICh4b3JfbWFzayAmIDgpCisgICAgICAgIHJldHVybiAyOyAvKiBpbmRldGVybWluYXRlICovCisgICAgZWxzZSBpZiAoYW5kX21hc2sgJiA4KSB7CisgICAgICAgIGlmICh4LT52YWx1ZS5kYXRlLmhvdXIgPCB5LT52YWx1ZS5kYXRlLmhvdXIpCisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIGVsc2UgaWYgKHgtPnZhbHVlLmRhdGUuaG91ciA+IHktPnZhbHVlLmRhdGUuaG91cikKKyAgICAgICAgICAgIHJldHVybiAxOworICAgICAgICBlbHNlIGlmICh4LT52YWx1ZS5kYXRlLm1pbiA8IHktPnZhbHVlLmRhdGUubWluKQorICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICBlbHNlIGlmICh4LT52YWx1ZS5kYXRlLm1pbiA+IHktPnZhbHVlLmRhdGUubWluKQorICAgICAgICAgICAgcmV0dXJuIDE7CisgICAgICAgIGVsc2UgaWYgKHgtPnZhbHVlLmRhdGUuc2VjIDwgeS0+dmFsdWUuZGF0ZS5zZWMpCisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIGVsc2UgaWYgKHgtPnZhbHVlLmRhdGUuc2VjID4geS0+dmFsdWUuZGF0ZS5zZWMpCisgICAgICAgICAgICByZXR1cm4gMTsKKyAgICB9CisKKyAgICByZXR1cm4gMDsKK30KKworLyoqCisgKiB4bWxTY2hlbWFDb21wYXJlUHJlc2VydmVSZXBsYWNlU3RyaW5nczoKKyAqIEB4OiAgYSBmaXJzdCBzdHJpbmcgdmFsdWUKKyAqIEB5OiAgYSBzZWNvbmQgc3RyaW5nIHZhbHVlCisgKiBAaW52ZXJ0OiBpbnZlcnRzIHRoZSByZXN1bHQgaWYgeCA8IHkgb3IgeCA+IHkuCisgKgorICogQ29tcGFyZSAyIHN0cmluZyBmb3IgdGhlaXIgbm9ybWFsaXplZCB2YWx1ZXMuCisgKiBAeCBpcyBhIHN0cmluZyB3aXRoIHdoaXRlc3BhY2Ugb2YgInByZXNlcnZlIiwgQHkgaXMKKyAqIGEgc3RyaW5nIHdpdGggYSB3aGl0ZXNwYWNlIG9mICJyZXBsYWNlIi4gSS5lLiBAeCBjb3VsZAorICogYmUgYW4gInhzZDpzdHJpbmciIGFuZCBAeSBhbiAieHNkOm5vcm1hbGl6ZWRTdHJpbmciLgorICoKKyAqIFJldHVybnMgLTEgaWYgeCA8IHksIDAgaWYgeCA9PSB5LCAxIGlmIHggPiB5LCBhbmQgLTIgaW4KKyAqIGNhc2Ugb2YgZXJyb3IKKyAqLworc3RhdGljIGludAoreG1sU2NoZW1hQ29tcGFyZVByZXNlcnZlUmVwbGFjZVN0cmluZ3MoY29uc3QgeG1sQ2hhciAqeCwKKwkJCQkgICAgICAgY29uc3QgeG1sQ2hhciAqeSwKKwkJCQkgICAgICAgaW50IGludmVydCkKK3sKKyAgICBpbnQgdG1wOworCisgICAgd2hpbGUgKCgqeCAhPSAwKSAmJiAoKnkgIT0gMCkpIHsKKwlpZiAoSVNfV1NQX1JFUExBQ0VfQ0goKnkpKSB7CisJICAgIGlmICghIElTX1dTUF9TUEFDRV9DSCgqeCkpIHsKKwkJaWYgKCgqeCAtIDB4MjApIDwgMCkgeworCQkgICAgaWYgKGludmVydCkKKwkJCXJldHVybigxKTsKKwkJICAgIGVsc2UKKwkJCXJldHVybigtMSk7CisJCX0gZWxzZSB7CisJCSAgICBpZiAoaW52ZXJ0KQorCQkJcmV0dXJuKC0xKTsKKwkJICAgIGVsc2UKKwkJCXJldHVybigxKTsKKwkJfQorCSAgICB9CisJfSBlbHNlIHsKKwkgICAgdG1wID0gKnggLSAqeTsKKwkgICAgaWYgKHRtcCA8IDApIHsKKwkJaWYgKGludmVydCkKKwkJICAgIHJldHVybigxKTsKKwkJZWxzZQorCQkgICAgcmV0dXJuKC0xKTsKKwkgICAgfQorCSAgICBpZiAodG1wID4gMCkgeworCQlpZiAoaW52ZXJ0KQorCQkgICAgcmV0dXJuKC0xKTsKKwkJZWxzZQorCQkgICAgcmV0dXJuKDEpOworCSAgICB9CisJfQorCXgrKzsKKwl5Kys7CisgICAgfQorICAgIGlmICgqeCAhPSAwKSB7CisJaWYgKGludmVydCkKKwkgICAgcmV0dXJuKC0xKTsKKwllbHNlCisJICAgIHJldHVybigxKTsKKyAgICB9CisgICAgaWYgKCp5ICE9IDApIHsKKwlpZiAoaW52ZXJ0KQorCSAgICByZXR1cm4oMSk7CisJZWxzZQorCSAgICByZXR1cm4oLTEpOworICAgIH0KKyAgICByZXR1cm4oMCk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hQ29tcGFyZVByZXNlcnZlQ29sbGFwc2VTdHJpbmdzOgorICogQHg6ICBhIGZpcnN0IHN0cmluZyB2YWx1ZQorICogQHk6ICBhIHNlY29uZCBzdHJpbmcgdmFsdWUKKyAqCisgKiBDb21wYXJlIDIgc3RyaW5nIGZvciB0aGVpciBub3JtYWxpemVkIHZhbHVlcy4KKyAqIEB4IGlzIGEgc3RyaW5nIHdpdGggd2hpdGVzcGFjZSBvZiAicHJlc2VydmUiLCBAeSBpcworICogYSBzdHJpbmcgd2l0aCBhIHdoaXRlc3BhY2Ugb2YgImNvbGxhcHNlIi4gSS5lLiBAeCBjb3VsZAorICogYmUgYW4gInhzZDpzdHJpbmciIGFuZCBAeSBhbiAieHNkOm5vcm1hbGl6ZWRTdHJpbmciLgorICoKKyAqIFJldHVybnMgLTEgaWYgeCA8IHksIDAgaWYgeCA9PSB5LCAxIGlmIHggPiB5LCBhbmQgLTIgaW4KKyAqIGNhc2Ugb2YgZXJyb3IKKyAqLworc3RhdGljIGludAoreG1sU2NoZW1hQ29tcGFyZVByZXNlcnZlQ29sbGFwc2VTdHJpbmdzKGNvbnN0IHhtbENoYXIgKngsCisJCQkJICAgICAgICBjb25zdCB4bWxDaGFyICp5LAorCQkJCQlpbnQgaW52ZXJ0KQoreworICAgIGludCB0bXA7CisKKyAgICAvKgorICAgICogU2tpcCBsZWFkaW5nIGJsYW5rIGNoYXJzIG9mIHRoZSBjb2xsYXBzZWQgc3RyaW5nLgorICAgICovCisgICAgd2hpbGUgSVNfV1NQX0JMQU5LX0NIKCp5KQorCXkrKzsKKworICAgIHdoaWxlICgoKnggIT0gMCkgJiYgKCp5ICE9IDApKSB7CisJaWYgSVNfV1NQX0JMQU5LX0NIKCp5KSB7CisJICAgIGlmICghIElTX1dTUF9TUEFDRV9DSCgqeCkpIHsKKwkJLyoKKwkJKiBUaGUgeXYgY2hhcmFjdGVyIHdvdWxkIGhhdmUgYmVlbiByZXBsYWNlZCB0byAweDIwLgorCQkqLworCQlpZiAoKCp4IC0gMHgyMCkgPCAwKSB7CisJCSAgICBpZiAoaW52ZXJ0KQorCQkJcmV0dXJuKDEpOworCQkgICAgZWxzZQorCQkJcmV0dXJuKC0xKTsKKwkJfSBlbHNlIHsKKwkJICAgIGlmIChpbnZlcnQpCisJCQlyZXR1cm4oLTEpOworCQkgICAgZWxzZQorCQkJcmV0dXJuKDEpOworCQl9CisJICAgIH0KKwkgICAgeCsrOworCSAgICB5Kys7CisJICAgIC8qCisJICAgICogU2tpcCBjb250aWd1b3VzIGJsYW5rIGNoYXJzIG9mIHRoZSBjb2xsYXBzZWQgc3RyaW5nLgorCSAgICAqLworCSAgICB3aGlsZSBJU19XU1BfQkxBTktfQ0goKnkpCisJCXkrKzsKKwl9IGVsc2UgeworCSAgICB0bXAgPSAqeCsrIC0gKnkrKzsKKwkgICAgaWYgKHRtcCA8IDApIHsKKwkJaWYgKGludmVydCkKKwkJICAgIHJldHVybigxKTsKKwkJZWxzZQorCQkgICAgcmV0dXJuKC0xKTsKKwkgICAgfQorCSAgICBpZiAodG1wID4gMCkgeworCQlpZiAoaW52ZXJ0KQorCQkgICAgcmV0dXJuKC0xKTsKKwkJZWxzZQorCQkgICAgcmV0dXJuKDEpOworCSAgICB9CisJfQorICAgIH0KKyAgICBpZiAoKnggIT0gMCkgeworCSBpZiAoaW52ZXJ0KQorCSAgICAgcmV0dXJuKC0xKTsKKwkgZWxzZQorCSAgICAgcmV0dXJuKDEpOworICAgIH0KKyAgICBpZiAoKnkgIT0gMCkgeworCS8qCisJKiBTa2lwIHRyYWlsaW5nIGJsYW5rIGNoYXJzIG9mIHRoZSBjb2xsYXBzZWQgc3RyaW5nLgorCSovCisJd2hpbGUgSVNfV1NQX0JMQU5LX0NIKCp5KQorCSAgICB5Kys7CisJaWYgKCp5ICE9IDApIHsKKwkgICAgaWYgKGludmVydCkKKwkJcmV0dXJuKDEpOworCSAgICBlbHNlCisJCXJldHVybigtMSk7CisJfQorICAgIH0KKyAgICByZXR1cm4oMCk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hQ29tcGFyZVByZXNlcnZlQ29sbGFwc2VTdHJpbmdzOgorICogQHg6ICBhIGZpcnN0IHN0cmluZyB2YWx1ZQorICogQHk6ICBhIHNlY29uZCBzdHJpbmcgdmFsdWUKKyAqCisgKiBDb21wYXJlIDIgc3RyaW5nIGZvciB0aGVpciBub3JtYWxpemVkIHZhbHVlcy4KKyAqIEB4IGlzIGEgc3RyaW5nIHdpdGggd2hpdGVzcGFjZSBvZiAicHJlc2VydmUiLCBAeSBpcworICogYSBzdHJpbmcgd2l0aCBhIHdoaXRlc3BhY2Ugb2YgImNvbGxhcHNlIi4gSS5lLiBAeCBjb3VsZAorICogYmUgYW4gInhzZDpzdHJpbmciIGFuZCBAeSBhbiAieHNkOm5vcm1hbGl6ZWRTdHJpbmciLgorICoKKyAqIFJldHVybnMgLTEgaWYgeCA8IHksIDAgaWYgeCA9PSB5LCAxIGlmIHggPiB5LCBhbmQgLTIgaW4KKyAqIGNhc2Ugb2YgZXJyb3IKKyAqLworc3RhdGljIGludAoreG1sU2NoZW1hQ29tcGFyZVJlcGxhY2VDb2xsYXBzZVN0cmluZ3MoY29uc3QgeG1sQ2hhciAqeCwKKwkJCQkgICAgICAgY29uc3QgeG1sQ2hhciAqeSwKKwkJCQkgICAgICAgaW50IGludmVydCkKK3sKKyAgICBpbnQgdG1wOworCisgICAgLyoKKyAgICAqIFNraXAgbGVhZGluZyBibGFuayBjaGFycyBvZiB0aGUgY29sbGFwc2VkIHN0cmluZy4KKyAgICAqLworICAgIHdoaWxlIElTX1dTUF9CTEFOS19DSCgqeSkKKwl5Kys7CisKKyAgICB3aGlsZSAoKCp4ICE9IDApICYmICgqeSAhPSAwKSkgeworCWlmIElTX1dTUF9CTEFOS19DSCgqeSkgeworCSAgICBpZiAoISBJU19XU1BfQkxBTktfQ0goKngpKSB7CisJCS8qCisJCSogVGhlIHl2IGNoYXJhY3RlciB3b3VsZCBoYXZlIGJlZW4gcmVwbGFjZWQgdG8gMHgyMC4KKwkJKi8KKwkJaWYgKCgqeCAtIDB4MjApIDwgMCkgeworCQkgICAgaWYgKGludmVydCkKKwkJCXJldHVybigxKTsKKwkJICAgIGVsc2UKKwkJCXJldHVybigtMSk7CisJCX0gZWxzZSB7CisJCSAgICBpZiAoaW52ZXJ0KQorCQkJcmV0dXJuKC0xKTsKKwkJICAgIGVsc2UKKwkJCXJldHVybigxKTsKKwkJfQorCSAgICB9CisJICAgIHgrKzsKKwkgICAgeSsrOworCSAgICAvKgorCSAgICAqIFNraXAgY29udGlndW91cyBibGFuayBjaGFycyBvZiB0aGUgY29sbGFwc2VkIHN0cmluZy4KKwkgICAgKi8KKwkgICAgd2hpbGUgSVNfV1NQX0JMQU5LX0NIKCp5KQorCQl5Kys7CisJfSBlbHNlIHsKKwkgICAgaWYgSVNfV1NQX0JMQU5LX0NIKCp4KSB7CisJCS8qCisJCSogVGhlIHh2IGNoYXJhY3RlciB3b3VsZCBoYXZlIGJlZW4gcmVwbGFjZWQgdG8gMHgyMC4KKwkJKi8KKwkJaWYgKCgweDIwIC0gKnkpIDwgMCkgeworCQkgICAgaWYgKGludmVydCkKKwkJCXJldHVybigxKTsKKwkJICAgIGVsc2UKKwkJCXJldHVybigtMSk7CisJCX0gZWxzZSB7CisJCSAgICBpZiAoaW52ZXJ0KQorCQkJcmV0dXJuKC0xKTsKKwkJICAgIGVsc2UKKwkJCXJldHVybigxKTsKKwkJfQorCSAgICB9CisJICAgIHRtcCA9ICp4KysgLSAqeSsrOworCSAgICBpZiAodG1wIDwgMCkKKwkJcmV0dXJuKC0xKTsKKwkgICAgaWYgKHRtcCA+IDApCisJCXJldHVybigxKTsKKwl9CisgICAgfQorICAgIGlmICgqeCAhPSAwKSB7CisJIGlmIChpbnZlcnQpCisJICAgICByZXR1cm4oLTEpOworCSBlbHNlCisJICAgICByZXR1cm4oMSk7CisgICAgfQorICAgIGlmICgqeSAhPSAwKSB7CisJLyoKKwkqIFNraXAgdHJhaWxpbmcgYmxhbmsgY2hhcnMgb2YgdGhlIGNvbGxhcHNlZCBzdHJpbmcuCisJKi8KKwl3aGlsZSBJU19XU1BfQkxBTktfQ0goKnkpCisJICAgIHkrKzsKKwlpZiAoKnkgIT0gMCkgeworCSAgICBpZiAoaW52ZXJ0KQorCQlyZXR1cm4oMSk7CisJICAgIGVsc2UKKwkJcmV0dXJuKC0xKTsKKwl9CisgICAgfQorICAgIHJldHVybigwKTsKK30KKworCisvKioKKyAqIHhtbFNjaGVtYUNvbXBhcmVSZXBsYWNlZFN0cmluZ3M6CisgKiBAeDogIGEgZmlyc3Qgc3RyaW5nIHZhbHVlCisgKiBAeTogIGEgc2Vjb25kIHN0cmluZyB2YWx1ZQorICoKKyAqIENvbXBhcmUgMiBzdHJpbmcgZm9yIHRoZWlyIG5vcm1hbGl6ZWQgdmFsdWVzLgorICoKKyAqIFJldHVybnMgLTEgaWYgeCA8IHksIDAgaWYgeCA9PSB5LCAxIGlmIHggPiB5LCBhbmQgLTIgaW4KKyAqIGNhc2Ugb2YgZXJyb3IKKyAqLworc3RhdGljIGludAoreG1sU2NoZW1hQ29tcGFyZVJlcGxhY2VkU3RyaW5ncyhjb25zdCB4bWxDaGFyICp4LAorCQkJCWNvbnN0IHhtbENoYXIgKnkpCit7CisgICAgaW50IHRtcDsKKworICAgIHdoaWxlICgoKnggIT0gMCkgJiYgKCp5ICE9IDApKSB7CisJaWYgSVNfV1NQX0JMQU5LX0NIKCp5KSB7CisJICAgIGlmICghIElTX1dTUF9CTEFOS19DSCgqeCkpIHsKKwkJaWYgKCgqeCAtIDB4MjApIDwgMCkKKwkJICAgIHJldHVybigtMSk7CisJCWVsc2UKKwkJICAgIHJldHVybigxKTsKKwkgICAgfQorCX0gZWxzZSB7CisJICAgIGlmIElTX1dTUF9CTEFOS19DSCgqeCkgeworCQlpZiAoKDB4MjAgLSAqeSkgPCAwKQorCQkgICAgcmV0dXJuKC0xKTsKKwkJZWxzZQorCQkgICAgcmV0dXJuKDEpOworCSAgICB9CisJICAgIHRtcCA9ICp4IC0gKnk7CisJICAgIGlmICh0bXAgPCAwKQorCQlyZXR1cm4oLTEpOworCSAgICBpZiAodG1wID4gMCkKKwkJcmV0dXJuKDEpOworCX0KKwl4Kys7CisJeSsrOworICAgIH0KKyAgICBpZiAoKnggIT0gMCkKKyAgICAgICAgcmV0dXJuKDEpOworICAgIGlmICgqeSAhPSAwKQorICAgICAgICByZXR1cm4oLTEpOworICAgIHJldHVybigwKTsKK30KKworLyoqCisgKiB4bWxTY2hlbWFDb21wYXJlTm9ybVN0cmluZ3M6CisgKiBAeDogIGEgZmlyc3Qgc3RyaW5nIHZhbHVlCisgKiBAeTogIGEgc2Vjb25kIHN0cmluZyB2YWx1ZQorICoKKyAqIENvbXBhcmUgMiBzdHJpbmcgZm9yIHRoZWlyIG5vcm1hbGl6ZWQgdmFsdWVzLgorICoKKyAqIFJldHVybnMgLTEgaWYgeCA8IHksIDAgaWYgeCA9PSB5LCAxIGlmIHggPiB5LCBhbmQgLTIgaW4KKyAqIGNhc2Ugb2YgZXJyb3IKKyAqLworc3RhdGljIGludAoreG1sU2NoZW1hQ29tcGFyZU5vcm1TdHJpbmdzKGNvbnN0IHhtbENoYXIgKngsCisJCQkgICAgY29uc3QgeG1sQ2hhciAqeSkgeworICAgIGludCB0bXA7CisKKyAgICB3aGlsZSAoSVNfQkxBTktfQ0goKngpKSB4Kys7CisgICAgd2hpbGUgKElTX0JMQU5LX0NIKCp5KSkgeSsrOworICAgIHdoaWxlICgoKnggIT0gMCkgJiYgKCp5ICE9IDApKSB7CisJaWYgKElTX0JMQU5LX0NIKCp4KSkgeworCSAgICBpZiAoIUlTX0JMQU5LX0NIKCp5KSkgeworCQl0bXAgPSAqeCAtICp5OworCQlyZXR1cm4odG1wKTsKKwkgICAgfQorCSAgICB3aGlsZSAoSVNfQkxBTktfQ0goKngpKSB4Kys7CisJICAgIHdoaWxlIChJU19CTEFOS19DSCgqeSkpIHkrKzsKKwl9IGVsc2UgeworCSAgICB0bXAgPSAqeCsrIC0gKnkrKzsKKwkgICAgaWYgKHRtcCA8IDApCisJCXJldHVybigtMSk7CisJICAgIGlmICh0bXAgPiAwKQorCQlyZXR1cm4oMSk7CisJfQorICAgIH0KKyAgICBpZiAoKnggIT0gMCkgeworCXdoaWxlIChJU19CTEFOS19DSCgqeCkpIHgrKzsKKwlpZiAoKnggIT0gMCkKKwkgICAgcmV0dXJuKDEpOworICAgIH0KKyAgICBpZiAoKnkgIT0gMCkgeworCXdoaWxlIChJU19CTEFOS19DSCgqeSkpIHkrKzsKKwlpZiAoKnkgIT0gMCkKKwkgICAgcmV0dXJuKC0xKTsKKyAgICB9CisgICAgcmV0dXJuKDApOworfQorCisvKioKKyAqIHhtbFNjaGVtYUNvbXBhcmVGbG9hdHM6CisgKiBAeDogIGEgZmlyc3QgZmxvYXQgb3IgZG91YmxlIHZhbHVlCisgKiBAeTogIGEgc2Vjb25kIGZsb2F0IG9yIGRvdWJsZSB2YWx1ZQorICoKKyAqIENvbXBhcmUgMiB2YWx1ZXMKKyAqCisgKiBSZXR1cm5zIC0xIGlmIHggPCB5LCAwIGlmIHggPT0geSwgMSBpZiB4ID4geSwgMiBpZiB4IDw+IHksIGFuZCAtMiBpbgorICogY2FzZSBvZiBlcnJvcgorICovCitzdGF0aWMgaW50Cit4bWxTY2hlbWFDb21wYXJlRmxvYXRzKHhtbFNjaGVtYVZhbFB0ciB4LCB4bWxTY2hlbWFWYWxQdHIgeSkgeworICAgIGRvdWJsZSBkMSwgZDI7CisKKyAgICBpZiAoKHggPT0gTlVMTCkgfHwgKHkgPT0gTlVMTCkpCisJcmV0dXJuKC0yKTsKKworICAgIC8qCisgICAgICogQ2FzdCBldmVyeXRoaW5nIHRvIGRvdWJsZXMuCisgICAgICovCisgICAgaWYgKHgtPnR5cGUgPT0gWE1MX1NDSEVNQVNfRE9VQkxFKQorCWQxID0geC0+dmFsdWUuZDsKKyAgICBlbHNlIGlmICh4LT50eXBlID09IFhNTF9TQ0hFTUFTX0ZMT0FUKQorCWQxID0geC0+dmFsdWUuZjsKKyAgICBlbHNlCisJcmV0dXJuKC0yKTsKKworICAgIGlmICh5LT50eXBlID09IFhNTF9TQ0hFTUFTX0RPVUJMRSkKKwlkMiA9IHktPnZhbHVlLmQ7CisgICAgZWxzZSBpZiAoeS0+dHlwZSA9PSBYTUxfU0NIRU1BU19GTE9BVCkKKwlkMiA9IHktPnZhbHVlLmY7CisgICAgZWxzZQorCXJldHVybigtMik7CisKKyAgICAvKgorICAgICAqIENoZWNrIGZvciBzcGVjaWFsIGNhc2VzLgorICAgICAqLworICAgIGlmICh4bWxYUGF0aElzTmFOKGQxKSkgeworCWlmICh4bWxYUGF0aElzTmFOKGQyKSkKKwkgICAgcmV0dXJuKDApOworCXJldHVybigxKTsKKyAgICB9CisgICAgaWYgKHhtbFhQYXRoSXNOYU4oZDIpKQorCXJldHVybigtMSk7CisgICAgaWYgKGQxID09IHhtbFhQYXRoUElORikgeworCWlmIChkMiA9PSB4bWxYUGF0aFBJTkYpCisJICAgIHJldHVybigwKTsKKyAgICAgICAgcmV0dXJuKDEpOworICAgIH0KKyAgICBpZiAoZDIgPT0geG1sWFBhdGhQSU5GKQorICAgICAgICByZXR1cm4oLTEpOworICAgIGlmIChkMSA9PSB4bWxYUGF0aE5JTkYpIHsKKwlpZiAoZDIgPT0geG1sWFBhdGhOSU5GKQorCSAgICByZXR1cm4oMCk7CisgICAgICAgIHJldHVybigtMSk7CisgICAgfQorICAgIGlmIChkMiA9PSB4bWxYUGF0aE5JTkYpCisgICAgICAgIHJldHVybigxKTsKKworICAgIC8qCisgICAgICogYmFzaWMgdGVzdHMsIHRoZSBsYXN0IG9uZSB3ZSBzaG91bGQgaGF2ZSBlcXVhbGl0eSwgYnV0CisgICAgICogcG9ydGFiaWxpdHkgaXMgbW9yZSBpbXBvcnRhbnQgdGhhbiBzcGVlZCBhbmQgaGFuZGxpbmcKKyAgICAgKiBOYU4gb3IgSW5mIGluIGEgcG9ydGFibGUgd2F5IGlzIGFsd2F5cyBhIGNoYWxsZW5nZSwgc28gLi4uCisgICAgICovCisgICAgaWYgKGQxIDwgZDIpCisJcmV0dXJuKC0xKTsKKyAgICBpZiAoZDEgPiBkMikKKwlyZXR1cm4oMSk7CisgICAgaWYgKGQxID09IGQyKQorCXJldHVybigwKTsKKyAgICByZXR1cm4oMik7Cit9CisKKy8qKgorICogeG1sU2NoZW1hQ29tcGFyZVZhbHVlczoKKyAqIEB4OiAgYSBmaXJzdCB2YWx1ZQorICogQHh2YWx1ZTogdGhlIGZpcnN0IHZhbHVlIGFzIGEgc3RyaW5nIChvcHRpb25hbCkKKyAqIEB4d3RzcDogdGhlIHdoaXRlc3BhY2UgdHlwZQorICogQHk6ICBhIHNlY29uZCB2YWx1ZQorICogQHh2YWx1ZTogdGhlIHNlY29uZCB2YWx1ZSBhcyBhIHN0cmluZyAob3B0aW9uYWwpCisgKiBAeXd0c3A6IHRoZSB3aGl0ZXNwYWNlIHR5cGUKKyAqCisgKiBDb21wYXJlIDIgdmFsdWVzCisgKgorICogUmV0dXJucyAtMSBpZiB4IDwgeSwgMCBpZiB4ID09IHksIDEgaWYgeCA+IHksIDIgaWYgeCA8PiB5LCAzIGlmIG5vdAorICogY29tcGFyYWJsZSBhbmQgLTIgaW4gY2FzZSBvZiBlcnJvcgorICovCitzdGF0aWMgaW50Cit4bWxTY2hlbWFDb21wYXJlVmFsdWVzSW50ZXJuYWwoeG1sU2NoZW1hVmFsVHlwZSB4dHlwZSwKKwkJCSAgICAgICB4bWxTY2hlbWFWYWxQdHIgeCwKKwkJCSAgICAgICBjb25zdCB4bWxDaGFyICp4dmFsdWUsCisJCQkgICAgICAgeG1sU2NoZW1hV2hpdGVzcGFjZVZhbHVlVHlwZSB4d3MsCisJCQkgICAgICAgeG1sU2NoZW1hVmFsVHlwZSB5dHlwZSwKKwkJCSAgICAgICB4bWxTY2hlbWFWYWxQdHIgeSwKKwkJCSAgICAgICBjb25zdCB4bWxDaGFyICp5dmFsdWUsCisJCQkgICAgICAgeG1sU2NoZW1hV2hpdGVzcGFjZVZhbHVlVHlwZSB5d3MpCit7CisgICAgc3dpdGNoICh4dHlwZSkgeworCWNhc2UgWE1MX1NDSEVNQVNfVU5LTk9XTjoKKwljYXNlIFhNTF9TQ0hFTUFTX0FOWVRZUEU6CisJICAgIHJldHVybigtMik7CisgICAgICAgIGNhc2UgWE1MX1NDSEVNQVNfSU5URUdFUjoKKyAgICAgICAgY2FzZSBYTUxfU0NIRU1BU19OUElOVEVHRVI6CisgICAgICAgIGNhc2UgWE1MX1NDSEVNQVNfTklOVEVHRVI6CisgICAgICAgIGNhc2UgWE1MX1NDSEVNQVNfTk5JTlRFR0VSOgorICAgICAgICBjYXNlIFhNTF9TQ0hFTUFTX1BJTlRFR0VSOgorICAgICAgICBjYXNlIFhNTF9TQ0hFTUFTX0lOVDoKKyAgICAgICAgY2FzZSBYTUxfU0NIRU1BU19VSU5UOgorICAgICAgICBjYXNlIFhNTF9TQ0hFTUFTX0xPTkc6CisgICAgICAgIGNhc2UgWE1MX1NDSEVNQVNfVUxPTkc6CisgICAgICAgIGNhc2UgWE1MX1NDSEVNQVNfU0hPUlQ6CisgICAgICAgIGNhc2UgWE1MX1NDSEVNQVNfVVNIT1JUOgorICAgICAgICBjYXNlIFhNTF9TQ0hFTUFTX0JZVEU6CisgICAgICAgIGNhc2UgWE1MX1NDSEVNQVNfVUJZVEU6CisJY2FzZSBYTUxfU0NIRU1BU19ERUNJTUFMOgorCSAgICBpZiAoKHggPT0gTlVMTCkgfHwgKHkgPT0gTlVMTCkpCisJCXJldHVybigtMik7CisJICAgIGlmICh5dHlwZSA9PSB4dHlwZSkKKwkJcmV0dXJuKHhtbFNjaGVtYUNvbXBhcmVEZWNpbWFscyh4LCB5KSk7CisJICAgIGlmICgoeXR5cGUgPT0gWE1MX1NDSEVNQVNfREVDSU1BTCkgfHwKKwkJKHl0eXBlID09IFhNTF9TQ0hFTUFTX0lOVEVHRVIpIHx8CisJCSh5dHlwZSA9PSBYTUxfU0NIRU1BU19OUElOVEVHRVIpIHx8CisJCSh5dHlwZSA9PSBYTUxfU0NIRU1BU19OSU5URUdFUikgfHwKKwkJKHl0eXBlID09IFhNTF9TQ0hFTUFTX05OSU5URUdFUikgfHwKKwkJKHl0eXBlID09IFhNTF9TQ0hFTUFTX1BJTlRFR0VSKSB8fAorCQkoeXR5cGUgPT0gWE1MX1NDSEVNQVNfSU5UKSB8fAorCQkoeXR5cGUgPT0gWE1MX1NDSEVNQVNfVUlOVCkgfHwKKwkJKHl0eXBlID09IFhNTF9TQ0hFTUFTX0xPTkcpIHx8CisJCSh5dHlwZSA9PSBYTUxfU0NIRU1BU19VTE9ORykgfHwKKwkJKHl0eXBlID09IFhNTF9TQ0hFTUFTX1NIT1JUKSB8fAorCQkoeXR5cGUgPT0gWE1MX1NDSEVNQVNfVVNIT1JUKSB8fAorCQkoeXR5cGUgPT0gWE1MX1NDSEVNQVNfQllURSkgfHwKKwkJKHl0eXBlID09IFhNTF9TQ0hFTUFTX1VCWVRFKSkKKwkJcmV0dXJuKHhtbFNjaGVtYUNvbXBhcmVEZWNpbWFscyh4LCB5KSk7CisJICAgIHJldHVybigtMik7CisgICAgICAgIGNhc2UgWE1MX1NDSEVNQVNfRFVSQVRJT046CisJICAgIGlmICgoeCA9PSBOVUxMKSB8fCAoeSA9PSBOVUxMKSkKKwkJcmV0dXJuKC0yKTsKKwkgICAgaWYgKHl0eXBlID09IFhNTF9TQ0hFTUFTX0RVUkFUSU9OKQorICAgICAgICAgICAgICAgIHJldHVybih4bWxTY2hlbWFDb21wYXJlRHVyYXRpb25zKHgsIHkpKTsKKyAgICAgICAgICAgIHJldHVybigtMik7CisgICAgICAgIGNhc2UgWE1MX1NDSEVNQVNfVElNRToKKyAgICAgICAgY2FzZSBYTUxfU0NIRU1BU19HREFZOgorICAgICAgICBjYXNlIFhNTF9TQ0hFTUFTX0dNT05USDoKKyAgICAgICAgY2FzZSBYTUxfU0NIRU1BU19HTU9OVEhEQVk6CisgICAgICAgIGNhc2UgWE1MX1NDSEVNQVNfR1lFQVI6CisgICAgICAgIGNhc2UgWE1MX1NDSEVNQVNfR1lFQVJNT05USDoKKyAgICAgICAgY2FzZSBYTUxfU0NIRU1BU19EQVRFOgorICAgICAgICBjYXNlIFhNTF9TQ0hFTUFTX0RBVEVUSU1FOgorCSAgICBpZiAoKHggPT0gTlVMTCkgfHwgKHkgPT0gTlVMTCkpCisJCXJldHVybigtMik7CisgICAgICAgICAgICBpZiAoKHl0eXBlID09IFhNTF9TQ0hFTUFTX0RBVEVUSU1FKSAgfHwKKyAgICAgICAgICAgICAgICAoeXR5cGUgPT0gWE1MX1NDSEVNQVNfVElNRSkgICAgICB8fAorICAgICAgICAgICAgICAgICh5dHlwZSA9PSBYTUxfU0NIRU1BU19HREFZKSAgICAgIHx8CisgICAgICAgICAgICAgICAgKHl0eXBlID09IFhNTF9TQ0hFTUFTX0dNT05USCkgICAgfHwKKyAgICAgICAgICAgICAgICAoeXR5cGUgPT0gWE1MX1NDSEVNQVNfR01PTlRIREFZKSB8fAorICAgICAgICAgICAgICAgICh5dHlwZSA9PSBYTUxfU0NIRU1BU19HWUVBUikgICAgIHx8CisgICAgICAgICAgICAgICAgKHl0eXBlID09IFhNTF9TQ0hFTUFTX0RBVEUpICAgICAgfHwKKyAgICAgICAgICAgICAgICAoeXR5cGUgPT0gWE1MX1NDSEVNQVNfR1lFQVJNT05USCkpCisgICAgICAgICAgICAgICAgcmV0dXJuICh4bWxTY2hlbWFDb21wYXJlRGF0ZXMoeCwgeSkpOworICAgICAgICAgICAgcmV0dXJuICgtMik7CisJLyoKKwkqIE5vdGUgdGhhdCB3ZSB3aWxsIHN1cHBvcnQgY29tcGFyaXNvbiBvZiBzdHJpbmcgdHlwZXMgYWdhaW5zdAorCSogYW55U2ltcGxlVHlwZSBhcyB3ZWxsLgorCSovCisJY2FzZSBYTUxfU0NIRU1BU19BTllTSU1QTEVUWVBFOgorCWNhc2UgWE1MX1NDSEVNQVNfU1RSSU5HOgorICAgICAgICBjYXNlIFhNTF9TQ0hFTUFTX05PUk1TVFJJTkc6CisgICAgICAgIGNhc2UgWE1MX1NDSEVNQVNfVE9LRU46CisgICAgICAgIGNhc2UgWE1MX1NDSEVNQVNfTEFOR1VBR0U6CisgICAgICAgIGNhc2UgWE1MX1NDSEVNQVNfTk1UT0tFTjoKKyAgICAgICAgY2FzZSBYTUxfU0NIRU1BU19OQU1FOgorICAgICAgICBjYXNlIFhNTF9TQ0hFTUFTX05DTkFNRToKKyAgICAgICAgY2FzZSBYTUxfU0NIRU1BU19JRDoKKyAgICAgICAgY2FzZSBYTUxfU0NIRU1BU19JRFJFRjoKKyAgICAgICAgY2FzZSBYTUxfU0NIRU1BU19FTlRJVFk6CisgICAgICAgIGNhc2UgWE1MX1NDSEVNQVNfQU5ZVVJJOgorCXsKKwkgICAgY29uc3QgeG1sQ2hhciAqeHYsICp5djsKKworCSAgICBpZiAoeCA9PSBOVUxMKQorCQl4diA9IHh2YWx1ZTsKKwkgICAgZWxzZQorCQl4diA9IHgtPnZhbHVlLnN0cjsKKwkgICAgaWYgKHkgPT0gTlVMTCkKKwkJeXYgPSB5dmFsdWU7CisJICAgIGVsc2UKKwkJeXYgPSB5LT52YWx1ZS5zdHI7CisJICAgIC8qCisJICAgICogVE9ETzogQ29tcGFyZSB0aG9zZSBhZ2FpbnN0IFFOYW1lLgorCSAgICAqLworCSAgICBpZiAoeXR5cGUgPT0gWE1MX1NDSEVNQVNfUU5BTUUpIHsKKwkJVE9ETworCQlpZiAoeSA9PSBOVUxMKQorCQkgICAgcmV0dXJuKC0yKTsKKwkJcmV0dXJuICgtMik7CisJICAgIH0KKyAgICAgICAgICAgIGlmICgoeXR5cGUgPT0gWE1MX1NDSEVNQVNfQU5ZU0lNUExFVFlQRSkgfHwKKwkJKHl0eXBlID09IFhNTF9TQ0hFTUFTX1NUUklORykgfHwKKwkJKHl0eXBlID09IFhNTF9TQ0hFTUFTX05PUk1TVFJJTkcpIHx8CisgICAgICAgICAgICAgICAgKHl0eXBlID09IFhNTF9TQ0hFTUFTX1RPS0VOKSB8fAorICAgICAgICAgICAgICAgICh5dHlwZSA9PSBYTUxfU0NIRU1BU19MQU5HVUFHRSkgfHwKKyAgICAgICAgICAgICAgICAoeXR5cGUgPT0gWE1MX1NDSEVNQVNfTk1UT0tFTikgfHwKKyAgICAgICAgICAgICAgICAoeXR5cGUgPT0gWE1MX1NDSEVNQVNfTkFNRSkgfHwKKyAgICAgICAgICAgICAgICAoeXR5cGUgPT0gWE1MX1NDSEVNQVNfTkNOQU1FKSB8fAorICAgICAgICAgICAgICAgICh5dHlwZSA9PSBYTUxfU0NIRU1BU19JRCkgfHwKKyAgICAgICAgICAgICAgICAoeXR5cGUgPT0gWE1MX1NDSEVNQVNfSURSRUYpIHx8CisgICAgICAgICAgICAgICAgKHl0eXBlID09IFhNTF9TQ0hFTUFTX0VOVElUWSkgfHwKKyAgICAgICAgICAgICAgICAoeXR5cGUgPT0gWE1MX1NDSEVNQVNfQU5ZVVJJKSkgeworCisJCWlmICh4d3MgPT0gWE1MX1NDSEVNQV9XSElURVNQQUNFX1BSRVNFUlZFKSB7CisKKwkJICAgIGlmICh5d3MgPT0gWE1MX1NDSEVNQV9XSElURVNQQUNFX1BSRVNFUlZFKSB7CisJCQkvKiBUT0RPOiBXaGF0IGFib3V0IHggPCB5IG9yIHggPiB5LiAqLworCQkJaWYgKHhtbFN0ckVxdWFsKHh2LCB5dikpCisJCQkgICAgcmV0dXJuICgwKTsKKwkJCWVsc2UKKwkJCSAgICByZXR1cm4gKDIpOworCQkgICAgfSBlbHNlIGlmICh5d3MgPT0gWE1MX1NDSEVNQV9XSElURVNQQUNFX1JFUExBQ0UpCisJCQlyZXR1cm4gKHhtbFNjaGVtYUNvbXBhcmVQcmVzZXJ2ZVJlcGxhY2VTdHJpbmdzKHh2LCB5diwgMCkpOworCQkgICAgZWxzZSBpZiAoeXdzID09IFhNTF9TQ0hFTUFfV0hJVEVTUEFDRV9DT0xMQVBTRSkKKwkJCXJldHVybiAoeG1sU2NoZW1hQ29tcGFyZVByZXNlcnZlQ29sbGFwc2VTdHJpbmdzKHh2LCB5diwgMCkpOworCisJCX0gZWxzZSBpZiAoeHdzID09IFhNTF9TQ0hFTUFfV0hJVEVTUEFDRV9SRVBMQUNFKSB7CisKKwkJICAgIGlmICh5d3MgPT0gWE1MX1NDSEVNQV9XSElURVNQQUNFX1BSRVNFUlZFKQorCQkJcmV0dXJuICh4bWxTY2hlbWFDb21wYXJlUHJlc2VydmVSZXBsYWNlU3RyaW5ncyh5diwgeHYsIDEpKTsKKwkJICAgIGlmICh5d3MgPT0gWE1MX1NDSEVNQV9XSElURVNQQUNFX1JFUExBQ0UpCisJCQlyZXR1cm4gKHhtbFNjaGVtYUNvbXBhcmVSZXBsYWNlZFN0cmluZ3MoeHYsIHl2KSk7CisJCSAgICBpZiAoeXdzID09IFhNTF9TQ0hFTUFfV0hJVEVTUEFDRV9DT0xMQVBTRSkKKwkJCXJldHVybiAoeG1sU2NoZW1hQ29tcGFyZVJlcGxhY2VDb2xsYXBzZVN0cmluZ3MoeHYsIHl2LCAwKSk7CisKKwkJfSBlbHNlIGlmICh4d3MgPT0gWE1MX1NDSEVNQV9XSElURVNQQUNFX0NPTExBUFNFKSB7CisKKwkJICAgIGlmICh5d3MgPT0gWE1MX1NDSEVNQV9XSElURVNQQUNFX1BSRVNFUlZFKQorCQkJcmV0dXJuICh4bWxTY2hlbWFDb21wYXJlUHJlc2VydmVDb2xsYXBzZVN0cmluZ3MoeXYsIHh2LCAxKSk7CisJCSAgICBpZiAoeXdzID09IFhNTF9TQ0hFTUFfV0hJVEVTUEFDRV9SRVBMQUNFKQorCQkJcmV0dXJuICh4bWxTY2hlbWFDb21wYXJlUmVwbGFjZUNvbGxhcHNlU3RyaW5ncyh5diwgeHYsIDEpKTsKKwkJICAgIGlmICh5d3MgPT0gWE1MX1NDSEVNQV9XSElURVNQQUNFX0NPTExBUFNFKQorCQkJcmV0dXJuICh4bWxTY2hlbWFDb21wYXJlTm9ybVN0cmluZ3MoeHYsIHl2KSk7CisJCX0gZWxzZQorCQkgICAgcmV0dXJuICgtMik7CisKKwkgICAgfQorICAgICAgICAgICAgcmV0dXJuICgtMik7CisJfQorICAgICAgICBjYXNlIFhNTF9TQ0hFTUFTX1FOQU1FOgorCWNhc2UgWE1MX1NDSEVNQVNfTk9UQVRJT046CisJICAgIGlmICgoeCA9PSBOVUxMKSB8fCAoeSA9PSBOVUxMKSkKKwkJcmV0dXJuKC0yKTsKKyAgICAgICAgICAgIGlmICgoeXR5cGUgPT0gWE1MX1NDSEVNQVNfUU5BTUUpIHx8CisJCSh5dHlwZSA9PSBYTUxfU0NIRU1BU19OT1RBVElPTikpIHsKKwkJaWYgKCh4bWxTdHJFcXVhbCh4LT52YWx1ZS5xbmFtZS5uYW1lLCB5LT52YWx1ZS5xbmFtZS5uYW1lKSkgJiYKKwkJICAgICh4bWxTdHJFcXVhbCh4LT52YWx1ZS5xbmFtZS51cmksIHktPnZhbHVlLnFuYW1lLnVyaSkpKQorCQkgICAgcmV0dXJuKDApOworCQlyZXR1cm4oMik7CisJICAgIH0KKwkgICAgcmV0dXJuICgtMik7CisgICAgICAgIGNhc2UgWE1MX1NDSEVNQVNfRkxPQVQ6CisgICAgICAgIGNhc2UgWE1MX1NDSEVNQVNfRE9VQkxFOgorCSAgICBpZiAoKHggPT0gTlVMTCkgfHwgKHkgPT0gTlVMTCkpCisJCXJldHVybigtMik7CisgICAgICAgICAgICBpZiAoKHl0eXBlID09IFhNTF9TQ0hFTUFTX0ZMT0FUKSB8fAorICAgICAgICAgICAgICAgICh5dHlwZSA9PSBYTUxfU0NIRU1BU19ET1VCTEUpKQorICAgICAgICAgICAgICAgIHJldHVybiAoeG1sU2NoZW1hQ29tcGFyZUZsb2F0cyh4LCB5KSk7CisgICAgICAgICAgICByZXR1cm4gKC0yKTsKKyAgICAgICAgY2FzZSBYTUxfU0NIRU1BU19CT09MRUFOOgorCSAgICBpZiAoKHggPT0gTlVMTCkgfHwgKHkgPT0gTlVMTCkpCisJCXJldHVybigtMik7CisgICAgICAgICAgICBpZiAoeXR5cGUgPT0gWE1MX1NDSEVNQVNfQk9PTEVBTikgeworCQlpZiAoeC0+dmFsdWUuYiA9PSB5LT52YWx1ZS5iKQorCQkgICAgcmV0dXJuKDApOworCQlpZiAoeC0+dmFsdWUuYiA9PSAwKQorCQkgICAgcmV0dXJuKC0xKTsKKwkJcmV0dXJuKDEpOworCSAgICB9CisJICAgIHJldHVybiAoLTIpOworICAgICAgICBjYXNlIFhNTF9TQ0hFTUFTX0hFWEJJTkFSWToKKwkgICAgaWYgKCh4ID09IE5VTEwpIHx8ICh5ID09IE5VTEwpKQorCQlyZXR1cm4oLTIpOworICAgICAgICAgICAgaWYgKHl0eXBlID09IFhNTF9TQ0hFTUFTX0hFWEJJTkFSWSkgeworCSAgICAgICAgaWYgKHgtPnZhbHVlLmhleC50b3RhbCA9PSB5LT52YWx1ZS5oZXgudG90YWwpIHsKKwkJICAgIGludCByZXQgPSB4bWxTdHJjbXAoeC0+dmFsdWUuaGV4LnN0ciwgeS0+dmFsdWUuaGV4LnN0cik7CisJCSAgICBpZiAocmV0ID4gMCkKKwkJCXJldHVybigxKTsKKwkJICAgIGVsc2UgaWYgKHJldCA9PSAwKQorCQkJcmV0dXJuKDApOworCQl9CisJCWVsc2UgaWYgKHgtPnZhbHVlLmhleC50b3RhbCA+IHktPnZhbHVlLmhleC50b3RhbCkKKwkJICAgIHJldHVybigxKTsKKworCQlyZXR1cm4oLTEpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgcmV0dXJuICgtMik7CisgICAgICAgIGNhc2UgWE1MX1NDSEVNQVNfQkFTRTY0QklOQVJZOgorCSAgICBpZiAoKHggPT0gTlVMTCkgfHwgKHkgPT0gTlVMTCkpCisJCXJldHVybigtMik7CisgICAgICAgICAgICBpZiAoeXR5cGUgPT0gWE1MX1NDSEVNQVNfQkFTRTY0QklOQVJZKSB7CisgICAgICAgICAgICAgICAgaWYgKHgtPnZhbHVlLmJhc2U2NC50b3RhbCA9PSB5LT52YWx1ZS5iYXNlNjQudG90YWwpIHsKKyAgICAgICAgICAgICAgICAgICAgaW50IHJldCA9IHhtbFN0cmNtcCh4LT52YWx1ZS5iYXNlNjQuc3RyLAorCQkgICAgICAgICAgICAgICAgICAgICAgICB5LT52YWx1ZS5iYXNlNjQuc3RyKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHJldCA+IDApCisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4oMSk7CisgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKHJldCA9PSAwKQorICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuKDApOworCQkgICAgZWxzZQorCQkgICAgICAgIHJldHVybigtMSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGVsc2UgaWYgKHgtPnZhbHVlLmJhc2U2NC50b3RhbCA+IHktPnZhbHVlLmJhc2U2NC50b3RhbCkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuKDEpOworICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuKC0xKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHJldHVybiAoLTIpOworICAgICAgICBjYXNlIFhNTF9TQ0hFTUFTX0lEUkVGUzoKKyAgICAgICAgY2FzZSBYTUxfU0NIRU1BU19FTlRJVElFUzoKKyAgICAgICAgY2FzZSBYTUxfU0NIRU1BU19OTVRPS0VOUzoKKwkgICAgVE9ETworCSAgICBicmVhazsKKyAgICB9CisgICAgcmV0dXJuIC0yOworfQorCisvKioKKyAqIHhtbFNjaGVtYUNvbXBhcmVWYWx1ZXM6CisgKiBAeDogIGEgZmlyc3QgdmFsdWUKKyAqIEB5OiAgYSBzZWNvbmQgdmFsdWUKKyAqCisgKiBDb21wYXJlIDIgdmFsdWVzCisgKgorICogUmV0dXJucyAtMSBpZiB4IDwgeSwgMCBpZiB4ID09IHksIDEgaWYgeCA+IHksIDIgaWYgeCA8PiB5LCBhbmQgLTIgaW4KKyAqIGNhc2Ugb2YgZXJyb3IKKyAqLworaW50Cit4bWxTY2hlbWFDb21wYXJlVmFsdWVzKHhtbFNjaGVtYVZhbFB0ciB4LCB4bWxTY2hlbWFWYWxQdHIgeSkgeworICAgIHhtbFNjaGVtYVdoaXRlc3BhY2VWYWx1ZVR5cGUgeHdzLCB5d3M7CisKKyAgICBpZiAoKHggPT0gTlVMTCkgfHwgKHkgPT0gTlVMTCkpCisgICAgICAgIHJldHVybigtMik7CisgICAgaWYgKHgtPnR5cGUgPT0gWE1MX1NDSEVNQVNfU1RSSU5HKQorCXh3cyA9IFhNTF9TQ0hFTUFfV0hJVEVTUEFDRV9QUkVTRVJWRTsKKyAgICBlbHNlIGlmICh4LT50eXBlID09IFhNTF9TQ0hFTUFTX05PUk1TVFJJTkcpCisgICAgICAgIHh3cyA9IFhNTF9TQ0hFTUFfV0hJVEVTUEFDRV9SRVBMQUNFOworICAgIGVsc2UKKyAgICAgICAgeHdzID0gWE1MX1NDSEVNQV9XSElURVNQQUNFX0NPTExBUFNFOworCisgICAgaWYgKHktPnR5cGUgPT0gWE1MX1NDSEVNQVNfU1RSSU5HKQorCXl3cyA9IFhNTF9TQ0hFTUFfV0hJVEVTUEFDRV9QUkVTRVJWRTsKKyAgICBlbHNlIGlmICh5LT50eXBlID09IFhNTF9TQ0hFTUFTX05PUk1TVFJJTkcpCisgICAgICAgIHl3cyA9IFhNTF9TQ0hFTUFfV0hJVEVTUEFDRV9SRVBMQUNFOworICAgIGVsc2UKKyAgICAgICAgeXdzID0gWE1MX1NDSEVNQV9XSElURVNQQUNFX0NPTExBUFNFOworCisgICAgcmV0dXJuKHhtbFNjaGVtYUNvbXBhcmVWYWx1ZXNJbnRlcm5hbCh4LT50eXBlLCB4LCBOVUxMLCB4d3MsIHktPnR5cGUsCisJeSwgTlVMTCwgeXdzKSk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hQ29tcGFyZVZhbHVlc1dodHNwOgorICogQHg6ICBhIGZpcnN0IHZhbHVlCisgKiBAeHdzOiB0aGUgd2hpdGVzcGFjZSB2YWx1ZSBvZiB4CisgKiBAeTogIGEgc2Vjb25kIHZhbHVlCisgKiBAeXdzOiB0aGUgd2hpdGVzcGFjZSB2YWx1ZSBvZiB5CisgKgorICogQ29tcGFyZSAyIHZhbHVlcworICoKKyAqIFJldHVybnMgLTEgaWYgeCA8IHksIDAgaWYgeCA9PSB5LCAxIGlmIHggPiB5LCAyIGlmIHggPD4geSwgYW5kIC0yIGluCisgKiBjYXNlIG9mIGVycm9yCisgKi8KK2ludAoreG1sU2NoZW1hQ29tcGFyZVZhbHVlc1dodHNwKHhtbFNjaGVtYVZhbFB0ciB4LAorCQkJICAgIHhtbFNjaGVtYVdoaXRlc3BhY2VWYWx1ZVR5cGUgeHdzLAorCQkJICAgIHhtbFNjaGVtYVZhbFB0ciB5LAorCQkJICAgIHhtbFNjaGVtYVdoaXRlc3BhY2VWYWx1ZVR5cGUgeXdzKQoreworICAgIGlmICgoeCA9PSBOVUxMKSB8fCAoeSA9PSBOVUxMKSkKKwlyZXR1cm4oLTIpOworICAgIHJldHVybih4bWxTY2hlbWFDb21wYXJlVmFsdWVzSW50ZXJuYWwoeC0+dHlwZSwgeCwgTlVMTCwgeHdzLCB5LT50eXBlLAorCXksIE5VTEwsIHl3cykpOworfQorCisvKioKKyAqIHhtbFNjaGVtYUNvbXBhcmVWYWx1ZXNXaHRzcEV4dDoKKyAqIEB4OiAgYSBmaXJzdCB2YWx1ZQorICogQHh3czogdGhlIHdoaXRlc3BhY2UgdmFsdWUgb2YgeAorICogQHk6ICBhIHNlY29uZCB2YWx1ZQorICogQHl3czogdGhlIHdoaXRlc3BhY2UgdmFsdWUgb2YgeQorICoKKyAqIENvbXBhcmUgMiB2YWx1ZXMKKyAqCisgKiBSZXR1cm5zIC0xIGlmIHggPCB5LCAwIGlmIHggPT0geSwgMSBpZiB4ID4geSwgMiBpZiB4IDw+IHksIGFuZCAtMiBpbgorICogY2FzZSBvZiBlcnJvcgorICovCitzdGF0aWMgaW50Cit4bWxTY2hlbWFDb21wYXJlVmFsdWVzV2h0c3BFeHQoeG1sU2NoZW1hVmFsVHlwZSB4dHlwZSwKKwkJCSAgICAgICB4bWxTY2hlbWFWYWxQdHIgeCwKKwkJCSAgICAgICBjb25zdCB4bWxDaGFyICp4dmFsdWUsCisJCQkgICAgICAgeG1sU2NoZW1hV2hpdGVzcGFjZVZhbHVlVHlwZSB4d3MsCisJCQkgICAgICAgeG1sU2NoZW1hVmFsVHlwZSB5dHlwZSwKKwkJCSAgICAgICB4bWxTY2hlbWFWYWxQdHIgeSwKKwkJCSAgICAgICBjb25zdCB4bWxDaGFyICp5dmFsdWUsCisJCQkgICAgICAgeG1sU2NoZW1hV2hpdGVzcGFjZVZhbHVlVHlwZSB5d3MpCit7CisgICAgcmV0dXJuKHhtbFNjaGVtYUNvbXBhcmVWYWx1ZXNJbnRlcm5hbCh4dHlwZSwgeCwgeHZhbHVlLCB4d3MsIHl0eXBlLCB5LAorCXl2YWx1ZSwgeXdzKSk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hTm9ybUxlbjoKKyAqIEB2YWx1ZTogIGEgc3RyaW5nCisgKgorICogQ29tcHV0ZXMgdGhlIFVURjggbGVuZ3RoIG9mIHRoZSBub3JtYWxpemVkIHZhbHVlIG9mIHRoZSBzdHJpbmcKKyAqCisgKiBSZXR1cm5zIHRoZSBsZW5ndGggb3IgLTEgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworc3RhdGljIGludAoreG1sU2NoZW1hTm9ybUxlbihjb25zdCB4bWxDaGFyICp2YWx1ZSkgeworICAgIGNvbnN0IHhtbENoYXIgKnV0ZjsKKyAgICBpbnQgcmV0ID0gMDsKKworICAgIGlmICh2YWx1ZSA9PSBOVUxMKQorCXJldHVybigtMSk7CisgICAgdXRmID0gdmFsdWU7CisgICAgd2hpbGUgKElTX0JMQU5LX0NIKCp1dGYpKSB1dGYrKzsKKyAgICB3aGlsZSAoKnV0ZiAhPSAwKSB7CisJaWYgKHV0ZlswXSAmIDB4ODApIHsKKwkgICAgaWYgKCh1dGZbMV0gJiAweGMwKSAhPSAweDgwKQorCQlyZXR1cm4oLTEpOworCSAgICBpZiAoKHV0ZlswXSAmIDB4ZTApID09IDB4ZTApIHsKKwkJaWYgKCh1dGZbMl0gJiAweGMwKSAhPSAweDgwKQorCQkgICAgcmV0dXJuKC0xKTsKKwkJaWYgKCh1dGZbMF0gJiAweGYwKSA9PSAweGYwKSB7CisJCSAgICBpZiAoKHV0ZlswXSAmIDB4ZjgpICE9IDB4ZjAgfHwgKHV0ZlszXSAmIDB4YzApICE9IDB4ODApCisJCQlyZXR1cm4oLTEpOworCQkgICAgdXRmICs9IDQ7CisJCX0gZWxzZSB7CisJCSAgICB1dGYgKz0gMzsKKwkJfQorCSAgICB9IGVsc2UgeworCQl1dGYgKz0gMjsKKwkgICAgfQorCX0gZWxzZSBpZiAoSVNfQkxBTktfQ0goKnV0ZikpIHsKKwkgICAgd2hpbGUgKElTX0JMQU5LX0NIKCp1dGYpKSB1dGYrKzsKKwkgICAgaWYgKCp1dGYgPT0gMCkKKwkJYnJlYWs7CisJfSBlbHNlIHsKKwkgICAgdXRmKys7CisJfQorCXJldCsrOworICAgIH0KKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxTY2hlbWFHZXRGYWNldFZhbHVlQXNVTG9uZzoKKyAqIEBmYWNldDogYW4gc2NoZW1hcyB0eXBlIGZhY2V0CisgKgorICogRXh0cmFjdCB0aGUgdmFsdWUgb2YgYSBmYWNldAorICoKKyAqIFJldHVybnMgdGhlIHZhbHVlIGFzIGEgbG9uZworICovCit1bnNpZ25lZCBsb25nCit4bWxTY2hlbWFHZXRGYWNldFZhbHVlQXNVTG9uZyh4bWxTY2hlbWFGYWNldFB0ciBmYWNldCkKK3sKKyAgICAvKgorICAgICogVE9ETzogQ2hlY2sgaWYgdGhpcyBpcyBhIGRlY2ltYWwuCisgICAgKi8KKyAgICBpZiAoZmFjZXQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgcmV0dXJuICgodW5zaWduZWQgbG9uZykgZmFjZXQtPnZhbC0+dmFsdWUuZGVjaW1hbC5sbyk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hVmFsaWRhdGVMaXN0U2ltcGxlVHlwZUZhY2V0OgorICogQGZhY2V0OiAgdGhlIGZhY2V0IHRvIGNoZWNrCisgKiBAdmFsdWU6ICB0aGUgbGV4aWNhbCByZXByIG9mIHRoZSB2YWx1ZSB0byB2YWxpZGF0ZQorICogQGFjdHVhbExlbjogIHRoZSBudW1iZXIgb2YgbGlzdCBpdGVtcworICogQGV4cGVjdGVkTGVuOiB0aGUgcmVzdWx0aW5nIGV4cGVjdGVkIG51bWJlciBvZiBsaXN0IGl0ZW1zCisgKgorICogQ2hlY2tzIHRoZSB2YWx1ZSBvZiBhIGxpc3Qgc2ltcGxlIHR5cGUgYWdhaW5zdCBhIGZhY2V0LgorICoKKyAqIFJldHVybnMgMCBpZiB0aGUgdmFsdWUgaXMgdmFsaWQsIGEgcG9zaXRpdmUgZXJyb3IgY29kZQorICogbnVtYmVyIG90aGVyd2lzZSBhbmQgLTEgaW4gY2FzZSBvZiBhbiBpbnRlcm5hbCBlcnJvci4KKyAqLworaW50Cit4bWxTY2hlbWFWYWxpZGF0ZUxpc3RTaW1wbGVUeXBlRmFjZXQoeG1sU2NoZW1hRmFjZXRQdHIgZmFjZXQsCisJCQkJICAgICBjb25zdCB4bWxDaGFyICp2YWx1ZSwKKwkJCQkgICAgIHVuc2lnbmVkIGxvbmcgYWN0dWFsTGVuLAorCQkJCSAgICAgdW5zaWduZWQgbG9uZyAqZXhwZWN0ZWRMZW4pCit7CisgICAgaWYgKGZhY2V0ID09IE5VTEwpCisgICAgICAgIHJldHVybigtMSk7CisgICAgLyoKKyAgICAqIFRPRE86IENoZWNrIGlmIHRoaXMgd2lsbCB3b3JrIHdpdGggbGFyZ2UgbnVtYmVycy4KKyAgICAqIChjb21wYXJlIHZhbHVlLmRlY2ltYWwubWkgYW5kIHZhbHVlLmRlY2ltYWwuaGkgYXMgd2VsbD8pLgorICAgICovCisgICAgaWYgKGZhY2V0LT50eXBlID09IFhNTF9TQ0hFTUFfRkFDRVRfTEVOR1RIKSB7CisJaWYgKGFjdHVhbExlbiAhPSBmYWNldC0+dmFsLT52YWx1ZS5kZWNpbWFsLmxvKSB7CisJICAgIGlmIChleHBlY3RlZExlbiAhPSBOVUxMKQorCQkqZXhwZWN0ZWRMZW4gPSBmYWNldC0+dmFsLT52YWx1ZS5kZWNpbWFsLmxvOworCSAgICByZXR1cm4gKFhNTF9TQ0hFTUFWX0NWQ19MRU5HVEhfVkFMSUQpOworCX0KKyAgICB9IGVsc2UgaWYgKGZhY2V0LT50eXBlID09IFhNTF9TQ0hFTUFfRkFDRVRfTUlOTEVOR1RIKSB7CisJaWYgKGFjdHVhbExlbiA8IGZhY2V0LT52YWwtPnZhbHVlLmRlY2ltYWwubG8pIHsKKwkgICAgaWYgKGV4cGVjdGVkTGVuICE9IE5VTEwpCisJCSpleHBlY3RlZExlbiA9IGZhY2V0LT52YWwtPnZhbHVlLmRlY2ltYWwubG87CisJICAgIHJldHVybiAoWE1MX1NDSEVNQVZfQ1ZDX01JTkxFTkdUSF9WQUxJRCk7CisJfQorICAgIH0gZWxzZSBpZiAoZmFjZXQtPnR5cGUgPT0gWE1MX1NDSEVNQV9GQUNFVF9NQVhMRU5HVEgpIHsKKwlpZiAoYWN0dWFsTGVuID4gZmFjZXQtPnZhbC0+dmFsdWUuZGVjaW1hbC5sbykgeworCSAgICBpZiAoZXhwZWN0ZWRMZW4gIT0gTlVMTCkKKwkJKmV4cGVjdGVkTGVuID0gZmFjZXQtPnZhbC0+dmFsdWUuZGVjaW1hbC5sbzsKKwkgICAgcmV0dXJuIChYTUxfU0NIRU1BVl9DVkNfTUFYTEVOR1RIX1ZBTElEKTsKKwl9CisgICAgfSBlbHNlCisJLyoKKwkqIE5PVEU6IFRoYXQgd2UgY2FuIHBhc3MgTlVMTCBhcyB4bWxTY2hlbWFWYWxQdHIgdG8KKwkqIHhtbFNjaGVtYVZhbGlkYXRlRmFjZXQsIHNpbmNlIHRoZSByZW1haW5pbmcgZmFjZXQgdHlwZXMKKwkqIGFyZTogWE1MX1NDSEVNQV9GQUNFVF9QQVRURVJOLCBYTUxfU0NIRU1BX0ZBQ0VUX0VOVU1FUkFUSU9OLgorCSovCisJcmV0dXJuKHhtbFNjaGVtYVZhbGlkYXRlRmFjZXQoTlVMTCwgZmFjZXQsIHZhbHVlLCBOVUxMKSk7CisgICAgcmV0dXJuICgwKTsKK30KKworLyoqCisgKiB4bWxTY2hlbWFWYWxpZGF0ZUxlbmd0aEZhY2V0OgorICogQHR5cGU6ICB0aGUgYnVpbHQtaW4gdHlwZQorICogQGZhY2V0OiAgdGhlIGZhY2V0IHRvIGNoZWNrCisgKiBAdmFsdWU6ICB0aGUgbGV4aWNhbCByZXByLiBvZiB0aGUgdmFsdWUgdG8gYmUgdmFsaWRhdGVkCisgKiBAdmFsOiAgdGhlIHByZWNvbXB1dGVkIHZhbHVlCisgKiBAd3M6IHRoZSB3aGl0ZXNwYWNlIHR5cGUgb2YgdGhlIHZhbHVlCisgKiBAbGVuZ3RoOiB0aGUgYWN0dWFsIGxlbmd0aCBvZiB0aGUgdmFsdWUKKyAqCisgKiBDaGVja2EgYSB2YWx1ZSBhZ2FpbnN0IGEgImxlbmd0aCIsICJtaW5MZW5ndGgiIGFuZCAibWF4TGVuZ3RoIgorICogZmFjZXQ7IHNldHMgQGxlbmd0aCB0byB0aGUgY29tcHV0ZWQgbGVuZ3RoIG9mIEB2YWx1ZS4KKyAqCisgKiBSZXR1cm5zIDAgaWYgdGhlIHZhbHVlIGlzIHZhbGlkLCBhIHBvc2l0aXZlIGVycm9yIGNvZGUKKyAqIG90aGVyd2lzZSBhbmQgLTEgaW4gY2FzZSBvZiBhbiBpbnRlcm5hbCBvciBBUEkgZXJyb3IuCisgKi8KK3N0YXRpYyBpbnQKK3htbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXRJbnRlcm5hbCh4bWxTY2hlbWFGYWNldFB0ciBmYWNldCwKKwkJCQkgICAgIHhtbFNjaGVtYVZhbFR5cGUgdmFsVHlwZSwKKwkJCQkgICAgIGNvbnN0IHhtbENoYXIgKnZhbHVlLAorCQkJCSAgICAgeG1sU2NoZW1hVmFsUHRyIHZhbCwKKwkJCQkgICAgIHVuc2lnbmVkIGxvbmcgKmxlbmd0aCwKKwkJCQkgICAgIHhtbFNjaGVtYVdoaXRlc3BhY2VWYWx1ZVR5cGUgd3MpCit7CisgICAgdW5zaWduZWQgaW50IGxlbiA9IDA7CisKKyAgICBpZiAoKGxlbmd0aCA9PSBOVUxMKSB8fCAoZmFjZXQgPT0gTlVMTCkpCisgICAgICAgIHJldHVybiAoLTEpOworICAgICpsZW5ndGggPSAwOworICAgIGlmICgoZmFjZXQtPnR5cGUgIT0gWE1MX1NDSEVNQV9GQUNFVF9MRU5HVEgpICYmCisJKGZhY2V0LT50eXBlICE9IFhNTF9TQ0hFTUFfRkFDRVRfTUFYTEVOR1RIKSAmJgorCShmYWNldC0+dHlwZSAhPSBYTUxfU0NIRU1BX0ZBQ0VUX01JTkxFTkdUSCkpCisJcmV0dXJuICgtMSk7CisKKyAgICAvKgorICAgICogVE9ETzogbGVuZ3RoLCBtYXhMZW5ndGggYW5kIG1pbkxlbmd0aCBtdXN0IGJlIG9mIHR5cGUKKyAgICAqIG5vbk5lZ2F0aXZlSW50ZWdlciBvbmx5LiBDaGVjayBpZiBkZWNpbWFsIGlzIHVzZWQgc29tZWhvdy4KKyAgICAqLworICAgIGlmICgoZmFjZXQtPnZhbCA9PSBOVUxMKSB8fAorCSgoZmFjZXQtPnZhbC0+dHlwZSAhPSBYTUxfU0NIRU1BU19ERUNJTUFMKSAmJgorCSAoZmFjZXQtPnZhbC0+dHlwZSAhPSBYTUxfU0NIRU1BU19OTklOVEVHRVIpKSB8fAorCShmYWNldC0+dmFsLT52YWx1ZS5kZWNpbWFsLmZyYWMgIT0gMCkpIHsKKwlyZXR1cm4oLTEpOworICAgIH0KKyAgICBpZiAoKHZhbCAhPSBOVUxMKSAmJiAodmFsLT50eXBlID09IFhNTF9TQ0hFTUFTX0hFWEJJTkFSWSkpCisJbGVuID0gdmFsLT52YWx1ZS5oZXgudG90YWw7CisgICAgZWxzZSBpZiAoKHZhbCAhPSBOVUxMKSAmJiAodmFsLT50eXBlID09IFhNTF9TQ0hFTUFTX0JBU0U2NEJJTkFSWSkpCisJbGVuID0gdmFsLT52YWx1ZS5iYXNlNjQudG90YWw7CisgICAgZWxzZSB7CisJc3dpdGNoICh2YWxUeXBlKSB7CisJICAgIGNhc2UgWE1MX1NDSEVNQVNfU1RSSU5HOgorCSAgICBjYXNlIFhNTF9TQ0hFTUFTX05PUk1TVFJJTkc6CisJCWlmICh3cyA9PSBYTUxfU0NIRU1BX1dISVRFU1BBQ0VfVU5LTk9XTikgeworCQkgICAgLyoKKwkJICAgICogVGhpcyBpcyB0byBlbnN1cmUgQVBJIGNvbXBhdGliaWxpdHkgd2l0aCB0aGUgb2xkCisJCSAgICAqIHhtbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXQoKS4gQW55d2F5LCB0aGlzIHdhcyBhbmQKKwkJICAgICogaXMgbm90IHRoZSBjb3JyZWN0IGhhbmRsaW5nLgorCQkgICAgKiBUT0RPOiBHZXQgcmlkIG9mIHRoaXMgY2FzZSBzb21laG93LgorCQkgICAgKi8KKwkJICAgIGlmICh2YWxUeXBlID09IFhNTF9TQ0hFTUFTX1NUUklORykKKwkJCWxlbiA9IHhtbFVURjhTdHJsZW4odmFsdWUpOworCQkgICAgZWxzZQorCQkJbGVuID0geG1sU2NoZW1hTm9ybUxlbih2YWx1ZSk7CisJCX0gZWxzZSBpZiAodmFsdWUgIT0gTlVMTCkgeworCQkgICAgaWYgKHdzID09IFhNTF9TQ0hFTUFfV0hJVEVTUEFDRV9DT0xMQVBTRSkKKwkJCWxlbiA9IHhtbFNjaGVtYU5vcm1MZW4odmFsdWUpOworCQkgICAgZWxzZQorCQkgICAgLyoKKwkJICAgICogU2hvdWxkIGJlIE9LIGZvciAicHJlc2VydmUiIGFzIHdlbGwuCisJCSAgICAqLworCQkgICAgbGVuID0geG1sVVRGOFN0cmxlbih2YWx1ZSk7CisJCX0KKwkJYnJlYWs7CisJICAgIGNhc2UgWE1MX1NDSEVNQVNfSURSRUY6CisJICAgIGNhc2UgWE1MX1NDSEVNQVNfVE9LRU46CisJICAgIGNhc2UgWE1MX1NDSEVNQVNfTEFOR1VBR0U6CisJICAgIGNhc2UgWE1MX1NDSEVNQVNfTk1UT0tFTjoKKwkgICAgY2FzZSBYTUxfU0NIRU1BU19OQU1FOgorCSAgICBjYXNlIFhNTF9TQ0hFTUFTX05DTkFNRToKKwkgICAgY2FzZSBYTUxfU0NIRU1BU19JRDoKKwkJLyoKKwkJKiBGSVhNRTogV2hhdCBleGFjdGx5IHRvIGRvIHdpdGggYW55VVJJPworCQkqLworCSAgICBjYXNlIFhNTF9TQ0hFTUFTX0FOWVVSSToKKwkJaWYgKHZhbHVlICE9IE5VTEwpCisJCSAgICBsZW4gPSB4bWxTY2hlbWFOb3JtTGVuKHZhbHVlKTsKKwkJYnJlYWs7CisJICAgIGNhc2UgWE1MX1NDSEVNQVNfUU5BTUU6CisJICAgIGNhc2UgWE1MX1NDSEVNQVNfTk9UQVRJT046CisJCS8qCisJCSogRm9yIFFOYW1lIGFuZCBOT1RBVElPTiwgdGhvc2UgZmFjZXRzIGFyZQorCQkqIGRlcHJlY2F0ZWQgYW5kIHNob3VsZCBiZSBpZ25vcmVkLgorCQkqLworCQlyZXR1cm4gKDApOworCSAgICBkZWZhdWx0OgorCQlUT0RPCisJfQorICAgIH0KKyAgICAqbGVuZ3RoID0gKHVuc2lnbmVkIGxvbmcpIGxlbjsKKyAgICAvKgorICAgICogVE9ETzogUmV0dXJuIHRoZSB3aG9sZSBleHBlY3RlZCB2YWx1ZSwgaS5lLiAibG8iLCAibWkiIGFuZCAiaGkiLgorICAgICovCisgICAgaWYgKGZhY2V0LT50eXBlID09IFhNTF9TQ0hFTUFfRkFDRVRfTEVOR1RIKSB7CisJaWYgKGxlbiAhPSBmYWNldC0+dmFsLT52YWx1ZS5kZWNpbWFsLmxvKQorCSAgICByZXR1cm4oWE1MX1NDSEVNQVZfQ1ZDX0xFTkdUSF9WQUxJRCk7CisgICAgfSBlbHNlIGlmIChmYWNldC0+dHlwZSA9PSBYTUxfU0NIRU1BX0ZBQ0VUX01JTkxFTkdUSCkgeworCWlmIChsZW4gPCBmYWNldC0+dmFsLT52YWx1ZS5kZWNpbWFsLmxvKQorCSAgICByZXR1cm4oWE1MX1NDSEVNQVZfQ1ZDX01JTkxFTkdUSF9WQUxJRCk7CisgICAgfSBlbHNlIHsKKwlpZiAobGVuID4gZmFjZXQtPnZhbC0+dmFsdWUuZGVjaW1hbC5sbykKKwkgICAgcmV0dXJuKFhNTF9TQ0hFTUFWX0NWQ19NQVhMRU5HVEhfVkFMSUQpOworICAgIH0KKworICAgIHJldHVybiAoMCk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldDoKKyAqIEB0eXBlOiAgdGhlIGJ1aWx0LWluIHR5cGUKKyAqIEBmYWNldDogIHRoZSBmYWNldCB0byBjaGVjaworICogQHZhbHVlOiAgdGhlIGxleGljYWwgcmVwci4gb2YgdGhlIHZhbHVlIHRvIGJlIHZhbGlkYXRlZAorICogQHZhbDogIHRoZSBwcmVjb21wdXRlZCB2YWx1ZQorICogQGxlbmd0aDogdGhlIGFjdHVhbCBsZW5ndGggb2YgdGhlIHZhbHVlCisgKgorICogQ2hlY2thIGEgdmFsdWUgYWdhaW5zdCBhICJsZW5ndGgiLCAibWluTGVuZ3RoIiBhbmQgIm1heExlbmd0aCIKKyAqIGZhY2V0OyBzZXRzIEBsZW5ndGggdG8gdGhlIGNvbXB1dGVkIGxlbmd0aCBvZiBAdmFsdWUuCisgKgorICogUmV0dXJucyAwIGlmIHRoZSB2YWx1ZSBpcyB2YWxpZCwgYSBwb3NpdGl2ZSBlcnJvciBjb2RlCisgKiBvdGhlcndpc2UgYW5kIC0xIGluIGNhc2Ugb2YgYW4gaW50ZXJuYWwgb3IgQVBJIGVycm9yLgorICovCitpbnQKK3htbFNjaGVtYVZhbGlkYXRlTGVuZ3RoRmFjZXQoeG1sU2NoZW1hVHlwZVB0ciB0eXBlLAorCQkJICAgICB4bWxTY2hlbWFGYWNldFB0ciBmYWNldCwKKwkJCSAgICAgY29uc3QgeG1sQ2hhciAqdmFsdWUsCisJCQkgICAgIHhtbFNjaGVtYVZhbFB0ciB2YWwsCisJCQkgICAgIHVuc2lnbmVkIGxvbmcgKmxlbmd0aCkKK3sKKyAgICBpZiAodHlwZSA9PSBOVUxMKQorICAgICAgICByZXR1cm4oLTEpOworICAgIHJldHVybiAoeG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldEludGVybmFsKGZhY2V0LAorCXR5cGUtPmJ1aWx0SW5UeXBlLCB2YWx1ZSwgdmFsLCBsZW5ndGgsCisJWE1MX1NDSEVNQV9XSElURVNQQUNFX1VOS05PV04pKTsKK30KKworLyoqCisgKiB4bWxTY2hlbWFWYWxpZGF0ZUxlbmd0aEZhY2V0V2h0c3A6CisgKiBAZmFjZXQ6ICB0aGUgZmFjZXQgdG8gY2hlY2sKKyAqIEB2YWxUeXBlOiAgdGhlIGJ1aWx0LWluIHR5cGUKKyAqIEB2YWx1ZTogIHRoZSBsZXhpY2FsIHJlcHIuIG9mIHRoZSB2YWx1ZSB0byBiZSB2YWxpZGF0ZWQKKyAqIEB2YWw6ICB0aGUgcHJlY29tcHV0ZWQgdmFsdWUKKyAqIEB3czogdGhlIHdoaXRlc3BhY2UgdHlwZSBvZiB0aGUgdmFsdWUKKyAqIEBsZW5ndGg6IHRoZSBhY3R1YWwgbGVuZ3RoIG9mIHRoZSB2YWx1ZQorICoKKyAqIENoZWNrYSBhIHZhbHVlIGFnYWluc3QgYSAibGVuZ3RoIiwgIm1pbkxlbmd0aCIgYW5kICJtYXhMZW5ndGgiCisgKiBmYWNldDsgc2V0cyBAbGVuZ3RoIHRvIHRoZSBjb21wdXRlZCBsZW5ndGggb2YgQHZhbHVlLgorICoKKyAqIFJldHVybnMgMCBpZiB0aGUgdmFsdWUgaXMgdmFsaWQsIGEgcG9zaXRpdmUgZXJyb3IgY29kZQorICogb3RoZXJ3aXNlIGFuZCAtMSBpbiBjYXNlIG9mIGFuIGludGVybmFsIG9yIEFQSSBlcnJvci4KKyAqLworaW50Cit4bWxTY2hlbWFWYWxpZGF0ZUxlbmd0aEZhY2V0V2h0c3AoeG1sU2NoZW1hRmFjZXRQdHIgZmFjZXQsCisJCQkJICB4bWxTY2hlbWFWYWxUeXBlIHZhbFR5cGUsCisJCQkJICBjb25zdCB4bWxDaGFyICp2YWx1ZSwKKwkJCQkgIHhtbFNjaGVtYVZhbFB0ciB2YWwsCisJCQkJICB1bnNpZ25lZCBsb25nICpsZW5ndGgsCisJCQkJICB4bWxTY2hlbWFXaGl0ZXNwYWNlVmFsdWVUeXBlIHdzKQoreworICAgIHJldHVybiAoeG1sU2NoZW1hVmFsaWRhdGVMZW5ndGhGYWNldEludGVybmFsKGZhY2V0LCB2YWxUeXBlLCB2YWx1ZSwgdmFsLAorCWxlbmd0aCwgd3MpKTsKK30KKworLyoqCisgKiB4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0SW50ZXJuYWw6CisgKiBAZmFjZXQ6ICB0aGUgZmFjZXQgdG8gY2hlY2sKKyAqIEBmd3M6IHRoZSB3aGl0ZXNwYWNlIHR5cGUgb2YgdGhlIGZhY2V0J3MgdmFsdWUKKyAqIEB2YWxUeXBlOiB0aGUgYnVpbHQtaW4gdHlwZSBvZiB0aGUgdmFsdWUKKyAqIEB2YWx1ZTogIHRoZSBsZXhpY2FsIHJlcHIgb2YgdGhlIHZhbHVlIHRvIHZhbGlkYXRlCisgKiBAdmFsOiAgdGhlIHByZWNvbXB1dGVkIHZhbHVlCisgKiBAd3M6IHRoZSB3aGl0ZXNwYWNlIHR5cGUgb2YgdGhlIHZhbHVlCisgKgorICogQ2hlY2sgYSB2YWx1ZSBhZ2FpbnN0IGEgZmFjZXQgY29uZGl0aW9uCisgKgorICogUmV0dXJucyAwIGlmIHRoZSBlbGVtZW50IGlzIHNjaGVtYXMgdmFsaWQsIGEgcG9zaXRpdmUgZXJyb3IgY29kZQorICogICAgIG51bWJlciBvdGhlcndpc2UgYW5kIC0xIGluIGNhc2Ugb2YgaW50ZXJuYWwgb3IgQVBJIGVycm9yLgorICovCitzdGF0aWMgaW50Cit4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0SW50ZXJuYWwoeG1sU2NoZW1hRmFjZXRQdHIgZmFjZXQsCisJCQkgICAgICAgeG1sU2NoZW1hV2hpdGVzcGFjZVZhbHVlVHlwZSBmd3MsCisJCQkgICAgICAgeG1sU2NoZW1hVmFsVHlwZSB2YWxUeXBlLAorCQkJICAgICAgIGNvbnN0IHhtbENoYXIgKnZhbHVlLAorCQkJICAgICAgIHhtbFNjaGVtYVZhbFB0ciB2YWwsCisJCQkgICAgICAgeG1sU2NoZW1hV2hpdGVzcGFjZVZhbHVlVHlwZSB3cykKK3sKKyAgICBpbnQgcmV0OworCisgICAgaWYgKGZhY2V0ID09IE5VTEwpCisJcmV0dXJuKC0xKTsKKworICAgIHN3aXRjaCAoZmFjZXQtPnR5cGUpIHsKKwljYXNlIFhNTF9TQ0hFTUFfRkFDRVRfUEFUVEVSTjoKKwkgICAgLyoKKwkgICAgKiBOT1RFIHRoYXQgZm9yIHBhdHRlcm5zLCB0aGUgQHZhbHVlIG5lZWRzIHRvIGJlIHRoZSBub3JtYWxpemVkCisJICAgICogdmFsdWUsICpub3QqIHRoZSBsZXhpY2FsIGluaXRpYWwgdmFsdWUgb3IgdGhlIGNhbm9uaWNhbCB2YWx1ZS4KKwkgICAgKi8KKwkgICAgaWYgKHZhbHVlID09IE5VTEwpCisJCXJldHVybigtMSk7CisJICAgIHJldCA9IHhtbFJlZ2V4cEV4ZWMoZmFjZXQtPnJlZ2V4cCwgdmFsdWUpOworCSAgICBpZiAocmV0ID09IDEpCisJCXJldHVybigwKTsKKwkgICAgaWYgKHJldCA9PSAwKQorCQlyZXR1cm4oWE1MX1NDSEVNQVZfQ1ZDX1BBVFRFUk5fVkFMSUQpOworCSAgICByZXR1cm4ocmV0KTsKKwljYXNlIFhNTF9TQ0hFTUFfRkFDRVRfTUFYRVhDTFVTSVZFOgorCSAgICByZXQgPSB4bWxTY2hlbWFDb21wYXJlVmFsdWVzKHZhbCwgZmFjZXQtPnZhbCk7CisJICAgIGlmIChyZXQgPT0gLTIpCisJCXJldHVybigtMSk7CisJICAgIGlmIChyZXQgPT0gLTEpCisJCXJldHVybigwKTsKKwkgICAgcmV0dXJuKFhNTF9TQ0hFTUFWX0NWQ19NQVhFWENMVVNJVkVfVkFMSUQpOworCWNhc2UgWE1MX1NDSEVNQV9GQUNFVF9NQVhJTkNMVVNJVkU6CisJICAgIHJldCA9IHhtbFNjaGVtYUNvbXBhcmVWYWx1ZXModmFsLCBmYWNldC0+dmFsKTsKKwkgICAgaWYgKHJldCA9PSAtMikKKwkJcmV0dXJuKC0xKTsKKwkgICAgaWYgKChyZXQgPT0gLTEpIHx8IChyZXQgPT0gMCkpCisJCXJldHVybigwKTsKKwkgICAgcmV0dXJuKFhNTF9TQ0hFTUFWX0NWQ19NQVhJTkNMVVNJVkVfVkFMSUQpOworCWNhc2UgWE1MX1NDSEVNQV9GQUNFVF9NSU5FWENMVVNJVkU6CisJICAgIHJldCA9IHhtbFNjaGVtYUNvbXBhcmVWYWx1ZXModmFsLCBmYWNldC0+dmFsKTsKKwkgICAgaWYgKHJldCA9PSAtMikKKwkJcmV0dXJuKC0xKTsKKwkgICAgaWYgKHJldCA9PSAxKQorCQlyZXR1cm4oMCk7CisJICAgIHJldHVybihYTUxfU0NIRU1BVl9DVkNfTUlORVhDTFVTSVZFX1ZBTElEKTsKKwljYXNlIFhNTF9TQ0hFTUFfRkFDRVRfTUlOSU5DTFVTSVZFOgorCSAgICByZXQgPSB4bWxTY2hlbWFDb21wYXJlVmFsdWVzKHZhbCwgZmFjZXQtPnZhbCk7CisJICAgIGlmIChyZXQgPT0gLTIpCisJCXJldHVybigtMSk7CisJICAgIGlmICgocmV0ID09IDEpIHx8IChyZXQgPT0gMCkpCisJCXJldHVybigwKTsKKwkgICAgcmV0dXJuKFhNTF9TQ0hFTUFWX0NWQ19NSU5JTkNMVVNJVkVfVkFMSUQpOworCWNhc2UgWE1MX1NDSEVNQV9GQUNFVF9XSElURVNQQUNFOgorCSAgICAvKiBUT0RPIHdoaXRlc3BhY2VzICovCisJICAgIC8qCisJICAgICogTk9URTogV2hpdGVzcGFjZSBzaG91bGQgYmUgaGFuZGxlZCB0byBub3JtYWxpemUKKwkgICAgKiB0aGUgdmFsdWUgdG8gYmUgdmFsaWRhdGVkIGFnYWluc3QgYSB0aGUgZmFjZXRzOworCSAgICAqIG5vdCB0byBub3JtYWxpemUgdGhlIHZhbHVlIGluLWJldHdlZW4uCisJICAgICovCisJICAgIHJldHVybigwKTsKKwljYXNlICBYTUxfU0NIRU1BX0ZBQ0VUX0VOVU1FUkFUSU9OOgorCSAgICBpZiAod3MgPT0gWE1MX1NDSEVNQV9XSElURVNQQUNFX1VOS05PV04pIHsKKwkJLyoKKwkJKiBUaGlzIGlzIHRvIGVuc3VyZSBBUEkgY29tcGF0aWJpbGl0eSB3aXRoIHRoZSBvbGQKKwkJKiB4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0KCkuCisJCSogVE9ETzogR2V0IHJpZCBvZiB0aGlzIGNhc2UuCisJCSovCisJCWlmICgoZmFjZXQtPnZhbHVlICE9IE5VTEwpICYmCisJCSAgICAoeG1sU3RyRXF1YWwoZmFjZXQtPnZhbHVlLCB2YWx1ZSkpKQorCQkgICAgcmV0dXJuKDApOworCSAgICB9IGVsc2UgeworCQlyZXQgPSB4bWxTY2hlbWFDb21wYXJlVmFsdWVzV2h0c3BFeHQoZmFjZXQtPnZhbC0+dHlwZSwKKwkJICAgIGZhY2V0LT52YWwsIGZhY2V0LT52YWx1ZSwgZndzLCB2YWxUeXBlLCB2YWwsCisJCSAgICB2YWx1ZSwgd3MpOworCQlpZiAocmV0ID09IC0yKQorCQkgICAgcmV0dXJuKC0xKTsKKwkJaWYgKHJldCA9PSAwKQorCQkgICAgcmV0dXJuKDApOworCSAgICB9CisJICAgIHJldHVybihYTUxfU0NIRU1BVl9DVkNfRU5VTUVSQVRJT05fVkFMSUQpOworCWNhc2UgWE1MX1NDSEVNQV9GQUNFVF9MRU5HVEg6CisJICAgIC8qCisJICAgICogU1BFQyAoMS4zKSAiaWYge3ByaW1pdGl2ZSB0eXBlIGRlZmluaXRpb259IGlzIFFOYW1lIG9yIE5PVEFUSU9OLAorCSAgICAqIHRoZW4gYW55IHt2YWx1ZX0gaXMgZmFjZXQtdmFsaWQuIgorCSAgICAqLworCSAgICBpZiAoKHZhbFR5cGUgPT0gWE1MX1NDSEVNQVNfUU5BTUUpIHx8CisJCSh2YWxUeXBlID09IFhNTF9TQ0hFTUFTX05PVEFUSU9OKSkKKwkJcmV0dXJuICgwKTsKKwkgICAgLyogTm8gYnJlYWsgb24gcHVycG9zZS4gKi8KKwljYXNlIFhNTF9TQ0hFTUFfRkFDRVRfTUFYTEVOR1RIOgorCWNhc2UgWE1MX1NDSEVNQV9GQUNFVF9NSU5MRU5HVEg6IHsKKwkgICAgdW5zaWduZWQgaW50IGxlbiA9IDA7CisKKwkgICAgaWYgKCh2YWxUeXBlID09IFhNTF9TQ0hFTUFTX1FOQU1FKSB8fAorCQkodmFsVHlwZSA9PSBYTUxfU0NIRU1BU19OT1RBVElPTikpCisJCXJldHVybiAoMCk7CisJICAgIC8qCisJICAgICogVE9ETzogbGVuZ3RoLCBtYXhMZW5ndGggYW5kIG1pbkxlbmd0aCBtdXN0IGJlIG9mIHR5cGUKKwkgICAgKiBub25OZWdhdGl2ZUludGVnZXIgb25seS4gQ2hlY2sgaWYgZGVjaW1hbCBpcyB1c2VkIHNvbWVob3cuCisJICAgICovCisJICAgIGlmICgoZmFjZXQtPnZhbCA9PSBOVUxMKSB8fAorCQkoKGZhY2V0LT52YWwtPnR5cGUgIT0gWE1MX1NDSEVNQVNfREVDSU1BTCkgJiYKKwkJIChmYWNldC0+dmFsLT50eXBlICE9IFhNTF9TQ0hFTUFTX05OSU5URUdFUikpIHx8CisJCShmYWNldC0+dmFsLT52YWx1ZS5kZWNpbWFsLmZyYWMgIT0gMCkpIHsKKwkJcmV0dXJuKC0xKTsKKwkgICAgfQorCSAgICBpZiAoKHZhbCAhPSBOVUxMKSAmJiAodmFsLT50eXBlID09IFhNTF9TQ0hFTUFTX0hFWEJJTkFSWSkpCisJCWxlbiA9IHZhbC0+dmFsdWUuaGV4LnRvdGFsOworCSAgICBlbHNlIGlmICgodmFsICE9IE5VTEwpICYmICh2YWwtPnR5cGUgPT0gWE1MX1NDSEVNQVNfQkFTRTY0QklOQVJZKSkKKwkJbGVuID0gdmFsLT52YWx1ZS5iYXNlNjQudG90YWw7CisJICAgIGVsc2UgeworCQlzd2l0Y2ggKHZhbFR5cGUpIHsKKwkJICAgIGNhc2UgWE1MX1NDSEVNQVNfU1RSSU5HOgorCQkgICAgY2FzZSBYTUxfU0NIRU1BU19OT1JNU1RSSU5HOgorCQkJaWYgKHdzID09IFhNTF9TQ0hFTUFfV0hJVEVTUEFDRV9VTktOT1dOKSB7CisJCQkgICAgLyoKKwkJCSAgICAqIFRoaXMgaXMgdG8gZW5zdXJlIEFQSSBjb21wYXRpYmlsaXR5IHdpdGggdGhlIG9sZAorCQkJICAgICogeG1sU2NoZW1hVmFsaWRhdGVGYWNldCgpLiBBbnl3YXksIHRoaXMgd2FzIGFuZAorCQkJICAgICogaXMgbm90IHRoZSBjb3JyZWN0IGhhbmRsaW5nLgorCQkJICAgICogVE9ETzogR2V0IHJpZCBvZiB0aGlzIGNhc2Ugc29tZWhvdy4KKwkJCSAgICAqLworCQkJICAgIGlmICh2YWxUeXBlID09IFhNTF9TQ0hFTUFTX1NUUklORykKKwkJCQlsZW4gPSB4bWxVVEY4U3RybGVuKHZhbHVlKTsKKwkJCSAgICBlbHNlCisJCQkJbGVuID0geG1sU2NoZW1hTm9ybUxlbih2YWx1ZSk7CisJCQl9IGVsc2UgaWYgKHZhbHVlICE9IE5VTEwpIHsKKwkJCSAgICBpZiAod3MgPT0gWE1MX1NDSEVNQV9XSElURVNQQUNFX0NPTExBUFNFKQorCQkJCWxlbiA9IHhtbFNjaGVtYU5vcm1MZW4odmFsdWUpOworCQkJICAgIGVsc2UKKwkJCQkvKgorCQkJCSogU2hvdWxkIGJlIE9LIGZvciAicHJlc2VydmUiIGFzIHdlbGwuCisJCQkJKi8KKwkJCQlsZW4gPSB4bWxVVEY4U3RybGVuKHZhbHVlKTsKKwkJCX0KKwkJCWJyZWFrOworCQkgICAgY2FzZSBYTUxfU0NIRU1BU19JRFJFRjoKKwkJICAgIGNhc2UgWE1MX1NDSEVNQVNfVE9LRU46CisJCSAgICBjYXNlIFhNTF9TQ0hFTUFTX0xBTkdVQUdFOgorCQkgICAgY2FzZSBYTUxfU0NIRU1BU19OTVRPS0VOOgorCQkgICAgY2FzZSBYTUxfU0NIRU1BU19OQU1FOgorCQkgICAgY2FzZSBYTUxfU0NIRU1BU19OQ05BTUU6CisJCSAgICBjYXNlIFhNTF9TQ0hFTUFTX0lEOgorCQkgICAgY2FzZSBYTUxfU0NIRU1BU19BTllVUkk6CisJCQlpZiAodmFsdWUgIT0gTlVMTCkKKwkJCSAgICBsZW4gPSB4bWxTY2hlbWFOb3JtTGVuKHZhbHVlKTsKKwkJCWJyZWFrOworCQkgICAgZGVmYXVsdDoKKwkJICAgICAgICBUT0RPCisJCX0KKwkgICAgfQorCSAgICBpZiAoZmFjZXQtPnR5cGUgPT0gWE1MX1NDSEVNQV9GQUNFVF9MRU5HVEgpIHsKKwkJaWYgKGxlbiAhPSBmYWNldC0+dmFsLT52YWx1ZS5kZWNpbWFsLmxvKQorCQkgICAgcmV0dXJuKFhNTF9TQ0hFTUFWX0NWQ19MRU5HVEhfVkFMSUQpOworCSAgICB9IGVsc2UgaWYgKGZhY2V0LT50eXBlID09IFhNTF9TQ0hFTUFfRkFDRVRfTUlOTEVOR1RIKSB7CisJCWlmIChsZW4gPCBmYWNldC0+dmFsLT52YWx1ZS5kZWNpbWFsLmxvKQorCQkgICAgcmV0dXJuKFhNTF9TQ0hFTUFWX0NWQ19NSU5MRU5HVEhfVkFMSUQpOworCSAgICB9IGVsc2UgeworCQlpZiAobGVuID4gZmFjZXQtPnZhbC0+dmFsdWUuZGVjaW1hbC5sbykKKwkJICAgIHJldHVybihYTUxfU0NIRU1BVl9DVkNfTUFYTEVOR1RIX1ZBTElEKTsKKwkgICAgfQorCSAgICBicmVhazsKKwl9CisJY2FzZSBYTUxfU0NIRU1BX0ZBQ0VUX1RPVEFMRElHSVRTOgorCWNhc2UgWE1MX1NDSEVNQV9GQUNFVF9GUkFDVElPTkRJR0lUUzoKKworCSAgICBpZiAoKGZhY2V0LT52YWwgPT0gTlVMTCkgfHwKKwkJKChmYWNldC0+dmFsLT50eXBlICE9IFhNTF9TQ0hFTUFTX1BJTlRFR0VSKSAmJgorCQkgKGZhY2V0LT52YWwtPnR5cGUgIT0gWE1MX1NDSEVNQVNfTk5JTlRFR0VSKSkgfHwKKwkJKGZhY2V0LT52YWwtPnZhbHVlLmRlY2ltYWwuZnJhYyAhPSAwKSkgeworCQlyZXR1cm4oLTEpOworCSAgICB9CisJICAgIGlmICgodmFsID09IE5VTEwpIHx8CisJCSgodmFsLT50eXBlICE9IFhNTF9TQ0hFTUFTX0RFQ0lNQUwpICYmCisJCSAodmFsLT50eXBlICE9IFhNTF9TQ0hFTUFTX0lOVEVHRVIpICYmCisJCSAodmFsLT50eXBlICE9IFhNTF9TQ0hFTUFTX05QSU5URUdFUikgJiYKKwkJICh2YWwtPnR5cGUgIT0gWE1MX1NDSEVNQVNfTklOVEVHRVIpICYmCisJCSAodmFsLT50eXBlICE9IFhNTF9TQ0hFTUFTX05OSU5URUdFUikgJiYKKwkJICh2YWwtPnR5cGUgIT0gWE1MX1NDSEVNQVNfUElOVEVHRVIpICYmCisJCSAodmFsLT50eXBlICE9IFhNTF9TQ0hFTUFTX0lOVCkgJiYKKwkJICh2YWwtPnR5cGUgIT0gWE1MX1NDSEVNQVNfVUlOVCkgJiYKKwkJICh2YWwtPnR5cGUgIT0gWE1MX1NDSEVNQVNfTE9ORykgJiYKKwkJICh2YWwtPnR5cGUgIT0gWE1MX1NDSEVNQVNfVUxPTkcpICYmCisJCSAodmFsLT50eXBlICE9IFhNTF9TQ0hFTUFTX1NIT1JUKSAmJgorCQkgKHZhbC0+dHlwZSAhPSBYTUxfU0NIRU1BU19VU0hPUlQpICYmCisJCSAodmFsLT50eXBlICE9IFhNTF9TQ0hFTUFTX0JZVEUpICYmCisJCSAodmFsLT50eXBlICE9IFhNTF9TQ0hFTUFTX1VCWVRFKSkpIHsKKwkJcmV0dXJuKC0xKTsKKwkgICAgfQorCSAgICBpZiAoZmFjZXQtPnR5cGUgPT0gWE1MX1NDSEVNQV9GQUNFVF9UT1RBTERJR0lUUykgeworCSAgICAgICAgaWYgKHZhbC0+dmFsdWUuZGVjaW1hbC50b3RhbCA+IGZhY2V0LT52YWwtPnZhbHVlLmRlY2ltYWwubG8pCisJICAgICAgICAgICAgcmV0dXJuKFhNTF9TQ0hFTUFWX0NWQ19UT1RBTERJR0lUU19WQUxJRCk7CisKKwkgICAgfSBlbHNlIGlmIChmYWNldC0+dHlwZSA9PSBYTUxfU0NIRU1BX0ZBQ0VUX0ZSQUNUSU9ORElHSVRTKSB7CisJICAgICAgICBpZiAodmFsLT52YWx1ZS5kZWNpbWFsLmZyYWMgPiBmYWNldC0+dmFsLT52YWx1ZS5kZWNpbWFsLmxvKQorCQkgICAgcmV0dXJuKFhNTF9TQ0hFTUFWX0NWQ19GUkFDVElPTkRJR0lUU19WQUxJRCk7CisJICAgIH0KKwkgICAgYnJlYWs7CisJZGVmYXVsdDoKKwkgICAgVE9ETworICAgIH0KKyAgICByZXR1cm4oMCk7CisKK30KKworLyoqCisgKiB4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0OgorICogQGJhc2U6ICB0aGUgYmFzZSB0eXBlCisgKiBAZmFjZXQ6ICB0aGUgZmFjZXQgdG8gY2hlY2sKKyAqIEB2YWx1ZTogIHRoZSBsZXhpY2FsIHJlcHIgb2YgdGhlIHZhbHVlIHRvIHZhbGlkYXRlCisgKiBAdmFsOiAgdGhlIHByZWNvbXB1dGVkIHZhbHVlCisgKgorICogQ2hlY2sgYSB2YWx1ZSBhZ2FpbnN0IGEgZmFjZXQgY29uZGl0aW9uCisgKgorICogUmV0dXJucyAwIGlmIHRoZSBlbGVtZW50IGlzIHNjaGVtYXMgdmFsaWQsIGEgcG9zaXRpdmUgZXJyb3IgY29kZQorICogICAgIG51bWJlciBvdGhlcndpc2UgYW5kIC0xIGluIGNhc2Ugb2YgaW50ZXJuYWwgb3IgQVBJIGVycm9yLgorICovCitpbnQKK3htbFNjaGVtYVZhbGlkYXRlRmFjZXQoeG1sU2NoZW1hVHlwZVB0ciBiYXNlLAorCSAgICAgICAgICAgICAgIHhtbFNjaGVtYUZhY2V0UHRyIGZhY2V0LAorCSAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKnZhbHVlLAorCQkgICAgICAgeG1sU2NoZW1hVmFsUHRyIHZhbCkKK3sKKyAgICAvKgorICAgICogVGhpcyB0cmllcyB0byBlbnN1cmUgQVBJIGNvbXBhdGliaWxpdHkgcmVnYXJkaW5nIHRoZSBvbGQKKyAgICAqIHhtbFNjaGVtYVZhbGlkYXRlRmFjZXQoKSBhbmQgdGhlIG5ldyB4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0SW50ZXJuYWwoKSBhbmQKKyAgICAqIHhtbFNjaGVtYVZhbGlkYXRlRmFjZXRXaHRzcCgpLgorICAgICovCisgICAgaWYgKHZhbCAhPSBOVUxMKQorCXJldHVybih4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0SW50ZXJuYWwoZmFjZXQsCisJICAgIFhNTF9TQ0hFTUFfV0hJVEVTUEFDRV9VTktOT1dOLCB2YWwtPnR5cGUsIHZhbHVlLCB2YWwsCisJICAgIFhNTF9TQ0hFTUFfV0hJVEVTUEFDRV9VTktOT1dOKSk7CisgICAgZWxzZSBpZiAoYmFzZSAhPSBOVUxMKQorCXJldHVybih4bWxTY2hlbWFWYWxpZGF0ZUZhY2V0SW50ZXJuYWwoZmFjZXQsCisJICAgIFhNTF9TQ0hFTUFfV0hJVEVTUEFDRV9VTktOT1dOLCBiYXNlLT5idWlsdEluVHlwZSwgdmFsdWUsIHZhbCwKKwkgICAgWE1MX1NDSEVNQV9XSElURVNQQUNFX1VOS05PV04pKTsKKyAgICByZXR1cm4oLTEpOworfQorCisvKioKKyAqIHhtbFNjaGVtYVZhbGlkYXRlRmFjZXRXaHRzcDoKKyAqIEBmYWNldDogIHRoZSBmYWNldCB0byBjaGVjaworICogQGZ3czogdGhlIHdoaXRlc3BhY2UgdHlwZSBvZiB0aGUgZmFjZXQncyB2YWx1ZQorICogQHZhbFR5cGU6IHRoZSBidWlsdC1pbiB0eXBlIG9mIHRoZSB2YWx1ZQorICogQHZhbHVlOiAgdGhlIGxleGljYWwgKG9yIG5vcm1hbGl6ZWQgZm9yIHBhdHRlcm4pIHJlcHIgb2YgdGhlIHZhbHVlIHRvIHZhbGlkYXRlCisgKiBAdmFsOiAgdGhlIHByZWNvbXB1dGVkIHZhbHVlCisgKiBAd3M6IHRoZSB3aGl0ZXNwYWNlIHR5cGUgb2YgdGhlIHZhbHVlCisgKgorICogQ2hlY2sgYSB2YWx1ZSBhZ2FpbnN0IGEgZmFjZXQgY29uZGl0aW9uLiBUaGlzIHRha2VzIHZhbHVlIG5vcm1hbGl6YXRpb24KKyAqIGFjY29yZGluZyB0byB0aGUgc3BlY2lmaWVkIHdoaXRlc3BhY2UgdHlwZXMgaW50byBhY2NvdW50LgorICogTm90ZSB0aGF0IEB2YWx1ZSBuZWVkcyB0byBiZSB0aGUgKm5vcm1hbGl6ZWQqIHZhbHVlIGlmIHRoZSBmYWNldAorICogaXMgb2YgdHlwZSAicGF0dGVybiIuCisgKgorICogUmV0dXJucyAwIGlmIHRoZSBlbGVtZW50IGlzIHNjaGVtYXMgdmFsaWQsIGEgcG9zaXRpdmUgZXJyb3IgY29kZQorICogICAgIG51bWJlciBvdGhlcndpc2UgYW5kIC0xIGluIGNhc2Ugb2YgaW50ZXJuYWwgb3IgQVBJIGVycm9yLgorICovCitpbnQKK3htbFNjaGVtYVZhbGlkYXRlRmFjZXRXaHRzcCh4bWxTY2hlbWFGYWNldFB0ciBmYWNldCwKKwkJCSAgICB4bWxTY2hlbWFXaGl0ZXNwYWNlVmFsdWVUeXBlIGZ3cywKKwkJCSAgICB4bWxTY2hlbWFWYWxUeXBlIHZhbFR5cGUsCisJCQkgICAgY29uc3QgeG1sQ2hhciAqdmFsdWUsCisJCQkgICAgeG1sU2NoZW1hVmFsUHRyIHZhbCwKKwkJCSAgICB4bWxTY2hlbWFXaGl0ZXNwYWNlVmFsdWVUeXBlIHdzKQoreworICAgICByZXR1cm4oeG1sU2NoZW1hVmFsaWRhdGVGYWNldEludGVybmFsKGZhY2V0LCBmd3MsIHZhbFR5cGUsCisJIHZhbHVlLCB2YWwsIHdzKSk7Cit9CisKKyNpZiAwCisjaWZuZGVmIERCTF9ESUcKKyNkZWZpbmUgREJMX0RJRyAxNgorI2VuZGlmCisjaWZuZGVmIERCTF9FUFNJTE9OCisjZGVmaW5lIERCTF9FUFNJTE9OIDFFLTkKKyNlbmRpZgorCisjZGVmaW5lIElOVEVHRVJfRElHSVRTIERCTF9ESUcKKyNkZWZpbmUgRlJBQ1RJT05fRElHSVRTIChEQkxfRElHICsgMSkKKyNkZWZpbmUgRVhQT05FTlRfRElHSVRTICgzICsgMikKKworLyoqCisgKiB4bWxYUGF0aEZvcm1hdE51bWJlcjoKKyAqIEBudW1iZXI6ICAgICBudW1iZXIgdG8gZm9ybWF0CisgKiBAYnVmZmVyOiAgICAgb3V0cHV0IGJ1ZmZlcgorICogQGJ1ZmZlcnNpemU6IHNpemUgb2Ygb3V0cHV0IGJ1ZmZlcgorICoKKyAqIENvbnZlcnQgdGhlIG51bWJlciBpbnRvIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uLgorICovCitzdGF0aWMgdm9pZAoreG1sU2NoZW1hRm9ybWF0RmxvYXQoZG91YmxlIG51bWJlciwgY2hhciBidWZmZXJbXSwgaW50IGJ1ZmZlcnNpemUpCit7CisgICAgc3dpdGNoICh4bWxYUGF0aElzSW5mKG51bWJlcikpIHsKKyAgICBjYXNlIDE6CisJaWYgKGJ1ZmZlcnNpemUgPiAoaW50KXNpemVvZigiSU5GIikpCisJICAgIHNucHJpbnRmKGJ1ZmZlciwgYnVmZmVyc2l6ZSwgIklORiIpOworCWJyZWFrOworICAgIGNhc2UgLTE6CisJaWYgKGJ1ZmZlcnNpemUgPiAoaW50KXNpemVvZigiLUlORiIpKQorCSAgICBzbnByaW50ZihidWZmZXIsIGJ1ZmZlcnNpemUsICItSU5GIik7CisJYnJlYWs7CisgICAgZGVmYXVsdDoKKwlpZiAoeG1sWFBhdGhJc05hTihudW1iZXIpKSB7CisJICAgIGlmIChidWZmZXJzaXplID4gKGludClzaXplb2YoIk5hTiIpKQorCQlzbnByaW50ZihidWZmZXIsIGJ1ZmZlcnNpemUsICJOYU4iKTsKKwl9IGVsc2UgaWYgKG51bWJlciA9PSAwKSB7CisJICAgIHNucHJpbnRmKGJ1ZmZlciwgYnVmZmVyc2l6ZSwgIjAuMEUwIik7CisJfSBlbHNlIHsKKwkgICAgLyogMyBpcyBzaWduLCBkZWNpbWFsIHBvaW50LCBhbmQgdGVybWluYXRpbmcgemVybyAqLworCSAgICBjaGFyIHdvcmtbREJMX0RJRyArIEVYUE9ORU5UX0RJR0lUUyArIDNdOworCSAgICBpbnQgaW50ZWdlcl9wbGFjZSwgZnJhY3Rpb25fcGxhY2U7CisJICAgIGNoYXIgKnB0cjsKKwkgICAgY2hhciAqYWZ0ZXJfZnJhY3Rpb247CisJICAgIGRvdWJsZSBhYnNvbHV0ZV92YWx1ZTsKKwkgICAgaW50IHNpemU7CisKKwkgICAgYWJzb2x1dGVfdmFsdWUgPSBmYWJzKG51bWJlcik7CisKKwkgICAgLyoKKwkgICAgICogUmVzdWx0IGlzIGluIHdvcmssIGFuZCBhZnRlcl9mcmFjdGlvbiBwb2ludHMKKwkgICAgICoganVzdCBwYXN0IHRoZSBmcmFjdGlvbmFsIHBhcnQuCisJICAgICAqIFVzZSBzY2llbnRpZmljIG5vdGF0aW9uCisJICAgICovCisJICAgIGludGVnZXJfcGxhY2UgPSBEQkxfRElHICsgRVhQT05FTlRfRElHSVRTICsgMTsKKwkgICAgZnJhY3Rpb25fcGxhY2UgPSBEQkxfRElHIC0gMTsKKwkgICAgc25wcmludGYod29yaywgc2l6ZW9mKHdvcmspLCIlKi4qZSIsCisJCWludGVnZXJfcGxhY2UsIGZyYWN0aW9uX3BsYWNlLCBudW1iZXIpOworCSAgICBhZnRlcl9mcmFjdGlvbiA9IHN0cmNocih3b3JrICsgREJMX0RJRywgJ2UnKTsKKwkgICAgLyogUmVtb3ZlIGZyYWN0aW9uYWwgdHJhaWxpbmcgemVyb2VzICovCisJICAgIHB0ciA9IGFmdGVyX2ZyYWN0aW9uOworCSAgICB3aGlsZSAoKigtLXB0cikgPT0gJzAnKQorCQk7CisJICAgIGlmICgqcHRyICE9ICcuJykKKwkgICAgICAgIHB0cisrOworCSAgICB3aGlsZSAoKCpwdHIrKyA9ICphZnRlcl9mcmFjdGlvbisrKSAhPSAwKTsKKworCSAgICAvKiBGaW5hbGx5IGNvcHkgcmVzdWx0IGJhY2sgdG8gY2FsbGVyICovCisJICAgIHNpemUgPSBzdHJsZW4od29yaykgKyAxOworCSAgICBpZiAoc2l6ZSA+IGJ1ZmZlcnNpemUpIHsKKwkJd29ya1tidWZmZXJzaXplIC0gMV0gPSAwOworCQlzaXplID0gYnVmZmVyc2l6ZTsKKwkgICAgfQorCSAgICBtZW1tb3ZlKGJ1ZmZlciwgd29yaywgc2l6ZSk7CisJfQorCWJyZWFrOworICAgIH0KK30KKyNlbmRpZgorCisvKioKKyAqIHhtbFNjaGVtYUdldENhbm9uVmFsdWU6CisgKiBAdmFsOiB0aGUgcHJlY29tcHV0ZWQgdmFsdWUKKyAqIEByZXRWYWx1ZTogdGhlIHJldHVybmVkIHZhbHVlCisgKgorICogR2V0IHRoZSBjYW5vbmljYWwgbGV4aWNhbCByZXByZXNlbnRhdGlvbiBvZiB0aGUgdmFsdWUuCisgKiBUaGUgY2FsbGVyIGhhcyB0byBGUkVFIHRoZSByZXR1cm5lZCByZXRWYWx1ZS4KKyAqCisgKiBXQVJOSU5HOiBTb21lIHZhbHVlIHR5cGVzIGFyZSBub3Qgc3VwcG9ydGVkIHlldCwgcmVzdWx0aW5nCisgKiBpbiBhIEByZXRWYWx1ZSBvZiAiPz8/Ii4KKyAqCisgKiBUT0RPOiBYTUwgU2NoZW1hIDEuMCBkb2VzIG5vdCBkZWZpbmUgY2Fub25pY2FsIHJlcHJlc2VudGF0aW9ucworICogZm9yOiBkdXJhdGlvbiwgZ1llYXJNb250aCwgZ1llYXIsIGdNb250aERheSwgZ01vbnRoLCBnRGF5LAorICogYW55VVJJLCBRTmFtZSwgTk9UQVRJT04uIFRoaXMgd2lsbCBiZSBmaXhlZCBpbiBYTUwgU2NoZW1hIDEuMS4KKyAqCisgKgorICogUmV0dXJucyAwIGlmIHRoZSB2YWx1ZSBjb3VsZCBiZSBidWlsdCwgMSBpZiB0aGUgdmFsdWUgdHlwZSBpcworICogbm90IHN1cHBvcnRlZCB5ZXQgYW5kIC0xIGluIGNhc2Ugb2YgQVBJIGVycm9ycy4KKyAqLworaW50Cit4bWxTY2hlbWFHZXRDYW5vblZhbHVlKHhtbFNjaGVtYVZhbFB0ciB2YWwsIGNvbnN0IHhtbENoYXIgKipyZXRWYWx1ZSkKK3sKKyAgICBpZiAoKHJldFZhbHVlID09IE5VTEwpIHx8ICh2YWwgPT0gTlVMTCkpCisJcmV0dXJuICgtMSk7CisgICAgKnJldFZhbHVlID0gTlVMTDsKKyAgICBzd2l0Y2ggKHZhbC0+dHlwZSkgeworCWNhc2UgWE1MX1NDSEVNQVNfU1RSSU5HOgorCSAgICBpZiAodmFsLT52YWx1ZS5zdHIgPT0gTlVMTCkKKwkJKnJldFZhbHVlID0gQkFEX0NBU1QgeG1sU3RyZHVwKEJBRF9DQVNUICIiKTsKKwkgICAgZWxzZQorCQkqcmV0VmFsdWUgPQorCQkgICAgQkFEX0NBU1QgeG1sU3RyZHVwKChjb25zdCB4bWxDaGFyICopIHZhbC0+dmFsdWUuc3RyKTsKKwkgICAgYnJlYWs7CisJY2FzZSBYTUxfU0NIRU1BU19OT1JNU1RSSU5HOgorCSAgICBpZiAodmFsLT52YWx1ZS5zdHIgPT0gTlVMTCkKKwkJKnJldFZhbHVlID0gQkFEX0NBU1QgeG1sU3RyZHVwKEJBRF9DQVNUICIiKTsKKwkgICAgZWxzZSB7CisJCSpyZXRWYWx1ZSA9IHhtbFNjaGVtYVdoaXRlU3BhY2VSZXBsYWNlKAorCQkgICAgKGNvbnN0IHhtbENoYXIgKikgdmFsLT52YWx1ZS5zdHIpOworCQlpZiAoKCpyZXRWYWx1ZSkgPT0gTlVMTCkKKwkJICAgICpyZXRWYWx1ZSA9IEJBRF9DQVNUIHhtbFN0cmR1cCgKKwkJCShjb25zdCB4bWxDaGFyICopIHZhbC0+dmFsdWUuc3RyKTsKKwkgICAgfQorCSAgICBicmVhazsKKwljYXNlIFhNTF9TQ0hFTUFTX1RPS0VOOgorCWNhc2UgWE1MX1NDSEVNQVNfTEFOR1VBR0U6CisJY2FzZSBYTUxfU0NIRU1BU19OTVRPS0VOOgorCWNhc2UgWE1MX1NDSEVNQVNfTkFNRToKKwljYXNlIFhNTF9TQ0hFTUFTX05DTkFNRToKKwljYXNlIFhNTF9TQ0hFTUFTX0lEOgorCWNhc2UgWE1MX1NDSEVNQVNfSURSRUY6CisJY2FzZSBYTUxfU0NIRU1BU19FTlRJVFk6CisJY2FzZSBYTUxfU0NIRU1BU19OT1RBVElPTjogLyogVW5jbGVhciAqLworCWNhc2UgWE1MX1NDSEVNQVNfQU5ZVVJJOiAgIC8qIFVuY2xlYXIgKi8KKwkgICAgaWYgKHZhbC0+dmFsdWUuc3RyID09IE5VTEwpCisJCXJldHVybiAoLTEpOworCSAgICAqcmV0VmFsdWUgPQorCQlCQURfQ0FTVCB4bWxTY2hlbWFDb2xsYXBzZVN0cmluZyhCQURfQ0FTVCB2YWwtPnZhbHVlLnN0cik7CisJICAgIGlmICgqcmV0VmFsdWUgPT0gTlVMTCkKKwkJKnJldFZhbHVlID0KKwkJICAgIEJBRF9DQVNUIHhtbFN0cmR1cCgoY29uc3QgeG1sQ2hhciAqKSB2YWwtPnZhbHVlLnN0cik7CisJICAgIGJyZWFrOworCWNhc2UgWE1MX1NDSEVNQVNfUU5BTUU6CisJICAgIC8qIFRPRE86IFVuY2xlYXIgaW4gWE1MIFNjaGVtYSAxLjAuICovCisJICAgIGlmICh2YWwtPnZhbHVlLnFuYW1lLnVyaSA9PSBOVUxMKSB7CisJCSpyZXRWYWx1ZSA9IEJBRF9DQVNUIHhtbFN0cmR1cChCQURfQ0FTVCB2YWwtPnZhbHVlLnFuYW1lLm5hbWUpOworCQlyZXR1cm4gKDApOworCSAgICB9IGVsc2UgeworCQkqcmV0VmFsdWUgPSBCQURfQ0FTVCB4bWxTdHJkdXAoQkFEX0NBU1QgInsiKTsKKwkJKnJldFZhbHVlID0gQkFEX0NBU1QgeG1sU3RyY2F0KCh4bWxDaGFyICopICgqcmV0VmFsdWUpLAorCQkgICAgQkFEX0NBU1QgdmFsLT52YWx1ZS5xbmFtZS51cmkpOworCQkqcmV0VmFsdWUgPSBCQURfQ0FTVCB4bWxTdHJjYXQoKHhtbENoYXIgKikgKCpyZXRWYWx1ZSksCisJCSAgICBCQURfQ0FTVCAifSIpOworCQkqcmV0VmFsdWUgPSBCQURfQ0FTVCB4bWxTdHJjYXQoKHhtbENoYXIgKikgKCpyZXRWYWx1ZSksCisJCSAgICBCQURfQ0FTVCB2YWwtPnZhbHVlLnFuYW1lLnVyaSk7CisJICAgIH0KKwkgICAgYnJlYWs7CisJY2FzZSBYTUxfU0NIRU1BU19ERUNJTUFMOgorCSAgICAvKgorCSAgICAqIFRPRE86IExvb2tvdXQgZm9yIGEgbW9yZSBzaW1wbGUgaW1wbGVtZW50YXRpb24uCisJICAgICovCisJICAgIGlmICgodmFsLT52YWx1ZS5kZWNpbWFsLnRvdGFsID09IDEpICYmCisJCSh2YWwtPnZhbHVlLmRlY2ltYWwubG8gPT0gMCkpIHsKKwkJKnJldFZhbHVlID0geG1sU3RyZHVwKEJBRF9DQVNUICIwLjAiKTsKKwkgICAgfSBlbHNlIHsKKwkJeG1sU2NoZW1hVmFsRGVjaW1hbCBkZWMgPSB2YWwtPnZhbHVlLmRlY2ltYWw7CisJCWludCBidWZzaXplOworCQljaGFyICpidWYgPSBOVUxMLCAqb2ZmczsKKworCQkvKiBBZGQgcm9vbSBmb3IgdGhlIGRlY2ltYWwgcG9pbnQgYXMgd2VsbC4gKi8KKwkJYnVmc2l6ZSA9IGRlYy50b3RhbCArIDI7CisJCWlmIChkZWMuc2lnbikKKwkJICAgIGJ1ZnNpemUrKzsKKwkJLyogQWRkIHJvb20gZm9yIGxlYWRpbmcvdHJhaWxpbmcgemVyby4gKi8KKwkJaWYgKChkZWMuZnJhYyA9PSAwKSB8fCAoZGVjLmZyYWMgPT0gZGVjLnRvdGFsKSkKKwkJICAgIGJ1ZnNpemUrKzsKKwkJYnVmID0geG1sTWFsbG9jKGJ1ZnNpemUpOworCQlpZiAoYnVmID09IE5VTEwpCisJCSAgICByZXR1cm4oLTEpOworCQlvZmZzID0gYnVmOworCQlpZiAoZGVjLnNpZ24pCisJCSAgICAqb2ZmcysrID0gJy0nOworCQlpZiAoZGVjLmZyYWMgPT0gZGVjLnRvdGFsKSB7CisJCSAgICAqb2ZmcysrID0gJzAnOworCQkgICAgKm9mZnMrKyA9ICcuJzsKKwkJfQorCQlpZiAoZGVjLmhpICE9IDApCisJCSAgICBzbnByaW50ZihvZmZzLCBidWZzaXplIC0gKG9mZnMgLSBidWYpLAorCQkJIiVsdSVsdSVsdSIsIGRlYy5oaSwgZGVjLm1pLCBkZWMubG8pOworCQllbHNlIGlmIChkZWMubWkgIT0gMCkKKwkJICAgIHNucHJpbnRmKG9mZnMsIGJ1ZnNpemUgLSAob2ZmcyAtIGJ1ZiksCisJCQkiJWx1JWx1IiwgZGVjLm1pLCBkZWMubG8pOworCQllbHNlCisJCSAgICBzbnByaW50ZihvZmZzLCBidWZzaXplIC0gKG9mZnMgLSBidWYpLAorCQkJIiVsdSIsIGRlYy5sbyk7CisKKwkJaWYgKGRlYy5mcmFjICE9IDApIHsKKwkJICAgIGlmIChkZWMuZnJhYyAhPSBkZWMudG90YWwpIHsKKwkJCWludCBkaWZmID0gZGVjLnRvdGFsIC0gZGVjLmZyYWM7CisJCQkvKgorCQkJKiBJbnNlcnQgdGhlIGRlY2ltYWwgcG9pbnQuCisJCQkqLworCQkJbWVtbW92ZShvZmZzICsgZGlmZiArIDEsIG9mZnMgKyBkaWZmLCBkZWMuZnJhYyArMSk7CisJCQlvZmZzW2RpZmZdID0gJy4nOworCQkgICAgfSBlbHNlIHsKKwkJCXVuc2lnbmVkIGludCBpID0gMDsKKwkJCS8qCisJCQkqIEluc2VydCBtaXNzaW5nIHplcm9lcyBiZWhpbmQgdGhlIGRlY2ltYWwgcG9pbnQuCisJCQkqLworCQkJd2hpbGUgKCoob2ZmcyArIGkpICE9IDApCisJCQkgICAgaSsrOworCQkJaWYgKGkgPCBkZWMudG90YWwpIHsKKwkJCSAgICBtZW1tb3ZlKG9mZnMgKyAoZGVjLnRvdGFsIC0gaSksIG9mZnMsIGkgKzEpOworCQkJICAgIG1lbXNldChvZmZzLCAnMCcsIGRlYy50b3RhbCAtIGkpOworCQkJfQorCQkgICAgfQorCQl9IGVsc2UgeworCQkgICAgLyoKKwkJICAgICogQXBwZW5kIGRlY2ltYWwgcG9pbnQgYW5kIHplcm8uCisJCSAgICAqLworCQkgICAgb2ZmcyA9IGJ1ZiArIGJ1ZnNpemUgLSAxOworCQkgICAgKm9mZnMtLSA9IDA7CisJCSAgICAqb2Zmcy0tID0gJzAnOworCQkgICAgKm9mZnMtLSA9ICcuJzsKKwkJfQorCQkqcmV0VmFsdWUgPSBCQURfQ0FTVCBidWY7CisJICAgIH0KKwkgICAgYnJlYWs7CisJY2FzZSBYTUxfU0NIRU1BU19JTlRFR0VSOgorICAgICAgICBjYXNlIFhNTF9TQ0hFTUFTX1BJTlRFR0VSOgorICAgICAgICBjYXNlIFhNTF9TQ0hFTUFTX05QSU5URUdFUjoKKyAgICAgICAgY2FzZSBYTUxfU0NIRU1BU19OSU5URUdFUjoKKyAgICAgICAgY2FzZSBYTUxfU0NIRU1BU19OTklOVEVHRVI6CisJY2FzZSBYTUxfU0NIRU1BU19MT05HOgorICAgICAgICBjYXNlIFhNTF9TQ0hFTUFTX0JZVEU6CisgICAgICAgIGNhc2UgWE1MX1NDSEVNQVNfU0hPUlQ6CisgICAgICAgIGNhc2UgWE1MX1NDSEVNQVNfSU5UOgorCWNhc2UgWE1MX1NDSEVNQVNfVUlOVDoKKyAgICAgICAgY2FzZSBYTUxfU0NIRU1BU19VTE9ORzoKKyAgICAgICAgY2FzZSBYTUxfU0NIRU1BU19VU0hPUlQ6CisgICAgICAgIGNhc2UgWE1MX1NDSEVNQVNfVUJZVEU6CisJICAgIGlmICgodmFsLT52YWx1ZS5kZWNpbWFsLnRvdGFsID09IDEpICYmCisJCSh2YWwtPnZhbHVlLmRlY2ltYWwubG8gPT0gMCkpCisJCSpyZXRWYWx1ZSA9IHhtbFN0cmR1cChCQURfQ0FTVCAiMCIpOworCSAgICBlbHNlIHsKKwkJeG1sU2NoZW1hVmFsRGVjaW1hbCBkZWMgPSB2YWwtPnZhbHVlLmRlY2ltYWw7CisJCWludCBidWZzaXplID0gZGVjLnRvdGFsICsgMTsKKworCQkvKiBBZGQgcm9vbSBmb3IgdGhlIGRlY2ltYWwgcG9pbnQgYXMgd2VsbC4gKi8KKwkJaWYgKGRlYy5zaWduKQorCQkgICAgYnVmc2l6ZSsrOworCQkqcmV0VmFsdWUgPSB4bWxNYWxsb2MoYnVmc2l6ZSk7CisJCWlmICgqcmV0VmFsdWUgPT0gTlVMTCkKKwkJICAgIHJldHVybigtMSk7CisJCWlmIChkZWMuaGkgIT0gMCkgeworCQkgICAgaWYgKGRlYy5zaWduKQorCQkJc25wcmludGYoKGNoYXIgKikgKnJldFZhbHVlLCBidWZzaXplLAorCQkJICAgICItJWx1JWx1JWx1IiwgZGVjLmhpLCBkZWMubWksIGRlYy5sbyk7CisJCSAgICBlbHNlCisJCQlzbnByaW50ZigoY2hhciAqKSAqcmV0VmFsdWUsIGJ1ZnNpemUsCisJCQkgICAgIiVsdSVsdSVsdSIsIGRlYy5oaSwgZGVjLm1pLCBkZWMubG8pOworCQl9IGVsc2UgaWYgKGRlYy5taSAhPSAwKSB7CisJCSAgICBpZiAoZGVjLnNpZ24pCisJCQlzbnByaW50ZigoY2hhciAqKSAqcmV0VmFsdWUsIGJ1ZnNpemUsCisJCQkgICAgIi0lbHUlbHUiLCBkZWMubWksIGRlYy5sbyk7CisJCSAgICBlbHNlCisJCQlzbnByaW50ZigoY2hhciAqKSAqcmV0VmFsdWUsIGJ1ZnNpemUsCisJCQkgICAgIiVsdSVsdSIsIGRlYy5taSwgZGVjLmxvKTsKKwkJfSBlbHNlIHsKKwkJICAgIGlmIChkZWMuc2lnbikKKwkJCXNucHJpbnRmKChjaGFyICopICpyZXRWYWx1ZSwgYnVmc2l6ZSwgIi0lbHUiLCBkZWMubG8pOworCQkgICAgZWxzZQorCQkJc25wcmludGYoKGNoYXIgKikgKnJldFZhbHVlLCBidWZzaXplLCAiJWx1IiwgZGVjLmxvKTsKKwkJfQorCSAgICB9CisJICAgIGJyZWFrOworCWNhc2UgWE1MX1NDSEVNQVNfQk9PTEVBTjoKKwkgICAgaWYgKHZhbC0+dmFsdWUuYikKKwkJKnJldFZhbHVlID0gQkFEX0NBU1QgeG1sU3RyZHVwKEJBRF9DQVNUICJ0cnVlIik7CisJICAgIGVsc2UKKwkJKnJldFZhbHVlID0gQkFEX0NBU1QgeG1sU3RyZHVwKEJBRF9DQVNUICJmYWxzZSIpOworCSAgICBicmVhazsKKwljYXNlIFhNTF9TQ0hFTUFTX0RVUkFUSU9OOiB7CisJCWNoYXIgYnVmWzEwMF07CisJCXVuc2lnbmVkIGxvbmcgeWVhcjsKKwkJdW5zaWduZWQgbG9uZyBtb24sIGRheSwgaG91ciA9IDAsIG1pbiA9IDA7CisJCWRvdWJsZSBzZWMgPSAwLCBsZWZ0OworCisJCS8qIFRPRE86IFVuY2xlYXIgaW4gWE1MIFNjaGVtYSAxLjAgKi8KKwkJLyoKKwkJKiBUT0RPOiBUaGlzIHJlc3VsdHMgaW4gYSBub3JtYWxpemVkIG91dHB1dCBvZiB0aGUgdmFsdWUKKwkJKiAtIHdoaWNoIGlzIE5PVCBjb25mb3JtYW50IHRvIHRoZSBzcGVjIC0KKwkJKiBzaW5jZSB0aGUgZXhhY3QgdmFsdWVzIG9mIGVhY2ggcHJvcGVydHkgYXJlIG5vdAorCQkqIHJlY292ZXJhYmxlLiBUaGluayBhYm91dCBleHRlbmRpbmcgdGhlIHN0cnVjdHVyZSB0bworCQkqIHByb3ZpZGUgYSBmaWVsZCBmb3IgZXZlcnkgcHJvcGVydHkuCisJCSovCisJCXllYXIgPSAodW5zaWduZWQgbG9uZykgRlFVT1RJRU5UKGxhYnModmFsLT52YWx1ZS5kdXIubW9uKSwgMTIpOworCQltb24gPSBsYWJzKHZhbC0+dmFsdWUuZHVyLm1vbikgLSAxMiAqIHllYXI7CisKKwkJZGF5ID0gKHVuc2lnbmVkIGxvbmcpIEZRVU9USUVOVChmYWJzKHZhbC0+dmFsdWUuZHVyLnNlYyksIDg2NDAwKTsKKwkJbGVmdCA9IGZhYnModmFsLT52YWx1ZS5kdXIuc2VjKSAtIGRheSAqIDg2NDAwOworCQlpZiAobGVmdCA+IDApIHsKKwkJICAgIGhvdXIgPSAodW5zaWduZWQgbG9uZykgRlFVT1RJRU5UKGxlZnQsIDM2MDApOworCQkgICAgbGVmdCA9IGxlZnQgLSAoaG91ciAqIDM2MDApOworCQkgICAgaWYgKGxlZnQgPiAwKSB7CisJCQltaW4gPSAodW5zaWduZWQgbG9uZykgRlFVT1RJRU5UKGxlZnQsIDYwKTsKKwkJCXNlYyA9IGxlZnQgLSAobWluICogNjApOworCQkgICAgfQorCQl9CisJCWlmICgodmFsLT52YWx1ZS5kdXIubW9uIDwgMCkgfHwgKHZhbC0+dmFsdWUuZHVyLnNlYyA8IDApKQorCQkgICAgc25wcmludGYoYnVmLCAxMDAsICJQJWx1WSVsdU0lbHVEVCVsdUglbHVNJS4xNGdTIiwKKwkJCXllYXIsIG1vbiwgZGF5LCBob3VyLCBtaW4sIHNlYyk7CisJCWVsc2UKKwkJICAgIHNucHJpbnRmKGJ1ZiwgMTAwLCAiLVAlbHVZJWx1TSVsdURUJWx1SCVsdU0lLjE0Z1MiLAorCQkJeWVhciwgbW9uLCBkYXksIGhvdXIsIG1pbiwgc2VjKTsKKwkJKnJldFZhbHVlID0gQkFEX0NBU1QgeG1sU3RyZHVwKEJBRF9DQVNUIGJ1Zik7CisJICAgIH0KKwkgICAgYnJlYWs7CisJY2FzZSBYTUxfU0NIRU1BU19HWUVBUjogeworCQljaGFyIGJ1ZlszMF07CisJCS8qIFRPRE86IFVuY2xlYXIgaW4gWE1MIFNjaGVtYSAxLjAgKi8KKwkJLyogVE9ETzogV2hhdCB0byBkbyB3aXRoIHRoZSB0aW1lem9uZT8gKi8KKwkJc25wcmludGYoYnVmLCAzMCwgIiUwNGxkIiwgdmFsLT52YWx1ZS5kYXRlLnllYXIpOworCQkqcmV0VmFsdWUgPSBCQURfQ0FTVCB4bWxTdHJkdXAoQkFEX0NBU1QgYnVmKTsKKwkgICAgfQorCSAgICBicmVhazsKKwljYXNlIFhNTF9TQ0hFTUFTX0dNT05USDogeworCQkvKiBUT0RPOiBVbmNsZWFyIGluIFhNTCBTY2hlbWEgMS4wICovCisJCS8qIFRPRE86IFdoYXQgdG8gZG8gd2l0aCB0aGUgdGltZXpvbmU/ICovCisJCSpyZXRWYWx1ZSA9IHhtbE1hbGxvYyg2KTsKKwkJaWYgKCpyZXRWYWx1ZSA9PSBOVUxMKQorCQkgICAgcmV0dXJuKC0xKTsKKwkJc25wcmludGYoKGNoYXIgKikgKnJldFZhbHVlLCA2LCAiLS0lMDJ1IiwKKwkJICAgIHZhbC0+dmFsdWUuZGF0ZS5tb24pOworCSAgICB9CisJICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9TQ0hFTUFTX0dEQVk6IHsKKwkJLyogVE9ETzogVW5jbGVhciBpbiBYTUwgU2NoZW1hIDEuMCAqLworCQkvKiBUT0RPOiBXaGF0IHRvIGRvIHdpdGggdGhlIHRpbWV6b25lPyAqLworCQkqcmV0VmFsdWUgPSB4bWxNYWxsb2MoNik7CisJCWlmICgqcmV0VmFsdWUgPT0gTlVMTCkKKwkJICAgIHJldHVybigtMSk7CisJCXNucHJpbnRmKChjaGFyICopICpyZXRWYWx1ZSwgNiwgIi0tLSUwMnUiLAorCQkgICAgdmFsLT52YWx1ZS5kYXRlLmRheSk7CisJICAgIH0KKwkgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1NDSEVNQVNfR01PTlRIREFZOiB7CisJCS8qIFRPRE86IFVuY2xlYXIgaW4gWE1MIFNjaGVtYSAxLjAgKi8KKwkJLyogVE9ETzogV2hhdCB0byBkbyB3aXRoIHRoZSB0aW1lem9uZT8gKi8KKwkJKnJldFZhbHVlID0geG1sTWFsbG9jKDgpOworCQlpZiAoKnJldFZhbHVlID09IE5VTEwpCisJCSAgICByZXR1cm4oLTEpOworCQlzbnByaW50ZigoY2hhciAqKSAqcmV0VmFsdWUsIDgsICItLSUwMnUtJTAydSIsCisJCSAgICB2YWwtPnZhbHVlLmRhdGUubW9uLCB2YWwtPnZhbHVlLmRhdGUuZGF5KTsKKwkgICAgfQorCSAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfU0NIRU1BU19HWUVBUk1PTlRIOiB7CisJCWNoYXIgYnVmWzM1XTsKKwkJLyogVE9ETzogVW5jbGVhciBpbiBYTUwgU2NoZW1hIDEuMCAqLworCQkvKiBUT0RPOiBXaGF0IHRvIGRvIHdpdGggdGhlIHRpbWV6b25lPyAqLworCQlpZiAodmFsLT52YWx1ZS5kYXRlLnllYXIgPCAwKQorCQkgICAgc25wcmludGYoYnVmLCAzNSwgIi0lMDRsZC0lMDJ1IiwKKwkJCWxhYnModmFsLT52YWx1ZS5kYXRlLnllYXIpLAorCQkJdmFsLT52YWx1ZS5kYXRlLm1vbik7CisJCWVsc2UKKwkJICAgIHNucHJpbnRmKGJ1ZiwgMzUsICIlMDRsZC0lMDJ1IiwKKwkJCXZhbC0+dmFsdWUuZGF0ZS55ZWFyLCB2YWwtPnZhbHVlLmRhdGUubW9uKTsKKwkJKnJldFZhbHVlID0gQkFEX0NBU1QgeG1sU3RyZHVwKEJBRF9DQVNUIGJ1Zik7CisJICAgIH0KKwkgICAgYnJlYWs7CisJY2FzZSBYTUxfU0NIRU1BU19USU1FOgorCSAgICB7CisJCWNoYXIgYnVmWzMwXTsKKworCQlpZiAodmFsLT52YWx1ZS5kYXRlLnR6X2ZsYWcpIHsKKwkJICAgIHhtbFNjaGVtYVZhbFB0ciBub3JtOworCisJCSAgICBub3JtID0geG1sU2NoZW1hRGF0ZU5vcm1hbGl6ZSh2YWwsIDApOworCQkgICAgaWYgKG5vcm0gPT0gTlVMTCkKKwkJCXJldHVybiAoLTEpOworCQkgICAgLyoKKwkJICAgICogVE9ETzogQ2hlY2sgaWYgIiUuMTRnIiBpcyBwb3J0YWJsZS4KKwkJICAgICovCisJCSAgICBzbnByaW50ZihidWYsIDMwLAorCQkJIiUwMnU6JTAydTolMDIuMTRnWiIsCisJCQlub3JtLT52YWx1ZS5kYXRlLmhvdXIsCisJCQlub3JtLT52YWx1ZS5kYXRlLm1pbiwKKwkJCW5vcm0tPnZhbHVlLmRhdGUuc2VjKTsKKwkJICAgIHhtbFNjaGVtYUZyZWVWYWx1ZShub3JtKTsKKwkJfSBlbHNlIHsKKwkJICAgIHNucHJpbnRmKGJ1ZiwgMzAsCisJCQkiJTAydTolMDJ1OiUwMi4xNGciLAorCQkJdmFsLT52YWx1ZS5kYXRlLmhvdXIsCisJCQl2YWwtPnZhbHVlLmRhdGUubWluLAorCQkJdmFsLT52YWx1ZS5kYXRlLnNlYyk7CisJCX0KKwkJKnJldFZhbHVlID0gQkFEX0NBU1QgeG1sU3RyZHVwKEJBRF9DQVNUIGJ1Zik7CisJICAgIH0KKwkgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1NDSEVNQVNfREFURToKKwkgICAgeworCQljaGFyIGJ1ZlszMF07CisKKwkJaWYgKHZhbC0+dmFsdWUuZGF0ZS50el9mbGFnKSB7CisJCSAgICB4bWxTY2hlbWFWYWxQdHIgbm9ybTsKKworCQkgICAgbm9ybSA9IHhtbFNjaGVtYURhdGVOb3JtYWxpemUodmFsLCAwKTsKKwkJICAgIGlmIChub3JtID09IE5VTEwpCisJCQlyZXR1cm4gKC0xKTsKKwkJICAgIC8qCisJCSAgICAqIFRPRE86IEFwcGVuZCB0aGUgY2Fub25pY2FsIHZhbHVlIG9mIHRoZQorCQkgICAgKiByZWNvdmVyYWJsZSB0aW1lem9uZSBhbmQgbm90ICJaIi4KKwkJICAgICovCisJCSAgICBzbnByaW50ZihidWYsIDMwLAorCQkJIiUwNGxkOiUwMnU6JTAydVoiLAorCQkJbm9ybS0+dmFsdWUuZGF0ZS55ZWFyLCBub3JtLT52YWx1ZS5kYXRlLm1vbiwKKwkJCW5vcm0tPnZhbHVlLmRhdGUuZGF5KTsKKwkJICAgIHhtbFNjaGVtYUZyZWVWYWx1ZShub3JtKTsKKwkJfSBlbHNlIHsKKwkJICAgIHNucHJpbnRmKGJ1ZiwgMzAsCisJCQkiJTA0bGQ6JTAydTolMDJ1IiwKKwkJCXZhbC0+dmFsdWUuZGF0ZS55ZWFyLCB2YWwtPnZhbHVlLmRhdGUubW9uLAorCQkJdmFsLT52YWx1ZS5kYXRlLmRheSk7CisJCX0KKwkJKnJldFZhbHVlID0gQkFEX0NBU1QgeG1sU3RyZHVwKEJBRF9DQVNUIGJ1Zik7CisJICAgIH0KKwkgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX1NDSEVNQVNfREFURVRJTUU6CisJICAgIHsKKwkJY2hhciBidWZbNTBdOworCisJCWlmICh2YWwtPnZhbHVlLmRhdGUudHpfZmxhZykgeworCQkgICAgeG1sU2NoZW1hVmFsUHRyIG5vcm07CisKKwkJICAgIG5vcm0gPSB4bWxTY2hlbWFEYXRlTm9ybWFsaXplKHZhbCwgMCk7CisJCSAgICBpZiAobm9ybSA9PSBOVUxMKQorCQkJcmV0dXJuICgtMSk7CisJCSAgICAvKgorCQkgICAgKiBUT0RPOiBDaGVjayBpZiAiJS4xNGciIGlzIHBvcnRhYmxlLgorCQkgICAgKi8KKwkJICAgIHNucHJpbnRmKGJ1ZiwgNTAsCisJCQkiJTA0bGQ6JTAydTolMDJ1VCUwMnU6JTAydTolMDIuMTRnWiIsCisJCQlub3JtLT52YWx1ZS5kYXRlLnllYXIsIG5vcm0tPnZhbHVlLmRhdGUubW9uLAorCQkJbm9ybS0+dmFsdWUuZGF0ZS5kYXksIG5vcm0tPnZhbHVlLmRhdGUuaG91ciwKKwkJCW5vcm0tPnZhbHVlLmRhdGUubWluLCBub3JtLT52YWx1ZS5kYXRlLnNlYyk7CisJCSAgICB4bWxTY2hlbWFGcmVlVmFsdWUobm9ybSk7CisJCX0gZWxzZSB7CisJCSAgICBzbnByaW50ZihidWYsIDUwLAorCQkJIiUwNGxkOiUwMnU6JTAydVQlMDJ1OiUwMnU6JTAyLjE0ZyIsCisJCQl2YWwtPnZhbHVlLmRhdGUueWVhciwgdmFsLT52YWx1ZS5kYXRlLm1vbiwKKwkJCXZhbC0+dmFsdWUuZGF0ZS5kYXksIHZhbC0+dmFsdWUuZGF0ZS5ob3VyLAorCQkJdmFsLT52YWx1ZS5kYXRlLm1pbiwgdmFsLT52YWx1ZS5kYXRlLnNlYyk7CisJCX0KKwkJKnJldFZhbHVlID0gQkFEX0NBU1QgeG1sU3RyZHVwKEJBRF9DQVNUIGJ1Zik7CisJICAgIH0KKwkgICAgYnJlYWs7CisJY2FzZSBYTUxfU0NIRU1BU19IRVhCSU5BUlk6CisJICAgICpyZXRWYWx1ZSA9IEJBRF9DQVNUIHhtbFN0cmR1cChCQURfQ0FTVCB2YWwtPnZhbHVlLmhleC5zdHIpOworCSAgICBicmVhazsKKwljYXNlIFhNTF9TQ0hFTUFTX0JBU0U2NEJJTkFSWToKKwkgICAgLyoKKwkgICAgKiBUT0RPOiBJcyB0aGUgZm9sbG93aW5nIHNwZWMgcGllY2UgaW1wbGVtZW50ZWQ/OgorCSAgICAqIFNQRUM6ICJOb3RlOiBGb3Igc29tZSB2YWx1ZXMgdGhlIGNhbm9uaWNhbCBmb3JtIGRlZmluZWQKKwkgICAgKiBhYm92ZSBkb2VzIG5vdCBjb25mb3JtIHRvIFtSRkMgMjA0NV0sIHdoaWNoIHJlcXVpcmVzIGJyZWFraW5nCisJICAgICogd2l0aCBsaW5lZmVlZHMgYXQgYXBwcm9wcmlhdGUgaW50ZXJ2YWxzLiIKKwkgICAgKi8KKwkgICAgKnJldFZhbHVlID0gQkFEX0NBU1QgeG1sU3RyZHVwKEJBRF9DQVNUIHZhbC0+dmFsdWUuYmFzZTY0LnN0cik7CisJICAgIGJyZWFrOworCWNhc2UgWE1MX1NDSEVNQVNfRkxPQVQ6IHsKKwkJY2hhciBidWZbMzBdOworCQkvKgorCQkqIHxtfCA8IDE2Nzc3MjE2LCAtMTQ5IDw9IGUgPD0gMTA0LgorCQkqIFRPRE86IEhhbmRsZSwgTmFOLCBJTkYsIC1JTkYuIFRoZSBmb3JtYXQgaXMgbm90CisJCSogeWV0IGNvbmZvcm1hbnQuIFRoZSBjIHR5cGUgZmxvYXQgZG9lcyBub3QgY292ZXIKKwkJKiB0aGUgd2hvbGUgcmFuZ2UuCisJCSovCisJCXNucHJpbnRmKGJ1ZiwgMzAsICIlMDEuMTRlIiwgdmFsLT52YWx1ZS5mKTsKKwkJKnJldFZhbHVlID0gQkFEX0NBU1QgeG1sU3RyZHVwKEJBRF9DQVNUIGJ1Zik7CisJICAgIH0KKwkgICAgYnJlYWs7CisJY2FzZSBYTUxfU0NIRU1BU19ET1VCTEU6IHsKKwkJY2hhciBidWZbNDBdOworCQkvKiB8bXwgPCA5MDA3MTk5MjU0NzQwOTkyLCAtMTA3NSA8PSBlIDw9IDk3MCAqLworCQkvKgorCQkqIFRPRE86IEhhbmRsZSwgTmFOLCBJTkYsIC1JTkYuIFRoZSBmb3JtYXQgaXMgbm90CisJCSogeWV0IGNvbmZvcm1hbnQuIFRoZSBjIHR5cGUgZmxvYXQgZG9lcyBub3QgY292ZXIKKwkJKiB0aGUgd2hvbGUgcmFuZ2UuCisJCSovCisJCXNucHJpbnRmKGJ1ZiwgNDAsICIlMDEuMTRlIiwgdmFsLT52YWx1ZS5kKTsKKwkJKnJldFZhbHVlID0gQkFEX0NBU1QgeG1sU3RyZHVwKEJBRF9DQVNUIGJ1Zik7CisJICAgIH0KKwkgICAgYnJlYWs7CisJZGVmYXVsdDoKKwkgICAgKnJldFZhbHVlID0gQkFEX0NBU1QgeG1sU3RyZHVwKEJBRF9DQVNUICI/Pz8iKTsKKwkgICAgcmV0dXJuICgxKTsKKyAgICB9CisgICAgaWYgKCpyZXRWYWx1ZSA9PSBOVUxMKQorCXJldHVybigtMSk7CisgICAgcmV0dXJuICgwKTsKK30KKworLyoqCisgKiB4bWxTY2hlbWFHZXRDYW5vblZhbHVlV2h0c3A6CisgKiBAdmFsOiB0aGUgcHJlY29tcHV0ZWQgdmFsdWUKKyAqIEByZXRWYWx1ZTogdGhlIHJldHVybmVkIHZhbHVlCisgKiBAd3M6IHRoZSB3aGl0ZXNwYWNlIHR5cGUgb2YgdGhlIHZhbHVlCisgKgorICogR2V0IHRoZSBjYW5vbmljYWwgcmVwcmVzZW50YXRpb24gb2YgdGhlIHZhbHVlLgorICogVGhlIGNhbGxlciBoYXMgdG8gZnJlZSB0aGUgcmV0dXJuZWQgQHJldFZhbHVlLgorICoKKyAqIFJldHVybnMgMCBpZiB0aGUgdmFsdWUgY291bGQgYmUgYnVpbHQsIDEgaWYgdGhlIHZhbHVlIHR5cGUgaXMKKyAqIG5vdCBzdXBwb3J0ZWQgeWV0IGFuZCAtMSBpbiBjYXNlIG9mIEFQSSBlcnJvcnMuCisgKi8KK2ludAoreG1sU2NoZW1hR2V0Q2Fub25WYWx1ZVdodHNwKHhtbFNjaGVtYVZhbFB0ciB2YWwsCisJCQkgICAgY29uc3QgeG1sQ2hhciAqKnJldFZhbHVlLAorCQkJICAgIHhtbFNjaGVtYVdoaXRlc3BhY2VWYWx1ZVR5cGUgd3MpCit7CisgICAgaWYgKChyZXRWYWx1ZSA9PSBOVUxMKSB8fCAodmFsID09IE5VTEwpKQorCXJldHVybiAoLTEpOworICAgIGlmICgod3MgPT0gWE1MX1NDSEVNQV9XSElURVNQQUNFX1VOS05PV04pIHx8CisJKHdzID4gWE1MX1NDSEVNQV9XSElURVNQQUNFX0NPTExBUFNFKSkKKwlyZXR1cm4gKC0xKTsKKworICAgICpyZXRWYWx1ZSA9IE5VTEw7CisgICAgc3dpdGNoICh2YWwtPnR5cGUpIHsKKwljYXNlIFhNTF9TQ0hFTUFTX1NUUklORzoKKwkgICAgaWYgKHZhbC0+dmFsdWUuc3RyID09IE5VTEwpCisJCSpyZXRWYWx1ZSA9IEJBRF9DQVNUIHhtbFN0cmR1cChCQURfQ0FTVCAiIik7CisJICAgIGVsc2UgaWYgKHdzID09IFhNTF9TQ0hFTUFfV0hJVEVTUEFDRV9DT0xMQVBTRSkKKwkJKnJldFZhbHVlID0geG1sU2NoZW1hQ29sbGFwc2VTdHJpbmcodmFsLT52YWx1ZS5zdHIpOworCSAgICBlbHNlIGlmICh3cyA9PSBYTUxfU0NIRU1BX1dISVRFU1BBQ0VfUkVQTEFDRSkKKwkJKnJldFZhbHVlID0geG1sU2NoZW1hV2hpdGVTcGFjZVJlcGxhY2UodmFsLT52YWx1ZS5zdHIpOworCSAgICBpZiAoKCpyZXRWYWx1ZSkgPT0gTlVMTCkKKwkJKnJldFZhbHVlID0gQkFEX0NBU1QgeG1sU3RyZHVwKHZhbC0+dmFsdWUuc3RyKTsKKwkgICAgYnJlYWs7CisJY2FzZSBYTUxfU0NIRU1BU19OT1JNU1RSSU5HOgorCSAgICBpZiAodmFsLT52YWx1ZS5zdHIgPT0gTlVMTCkKKwkJKnJldFZhbHVlID0gQkFEX0NBU1QgeG1sU3RyZHVwKEJBRF9DQVNUICIiKTsKKwkgICAgZWxzZSB7CisJCWlmICh3cyA9PSBYTUxfU0NIRU1BX1dISVRFU1BBQ0VfQ09MTEFQU0UpCisJCSAgICAqcmV0VmFsdWUgPSB4bWxTY2hlbWFDb2xsYXBzZVN0cmluZyh2YWwtPnZhbHVlLnN0cik7CisJCWVsc2UKKwkJICAgICpyZXRWYWx1ZSA9IHhtbFNjaGVtYVdoaXRlU3BhY2VSZXBsYWNlKHZhbC0+dmFsdWUuc3RyKTsKKwkJaWYgKCgqcmV0VmFsdWUpID09IE5VTEwpCisJCSAgICAqcmV0VmFsdWUgPSBCQURfQ0FTVCB4bWxTdHJkdXAodmFsLT52YWx1ZS5zdHIpOworCSAgICB9CisJICAgIGJyZWFrOworCWRlZmF1bHQ6CisJICAgIHJldHVybiAoeG1sU2NoZW1hR2V0Q2Fub25WYWx1ZSh2YWwsIHJldFZhbHVlKSk7CisgICAgfQorICAgIHJldHVybiAoMCk7Cit9CisKKy8qKgorICogeG1sU2NoZW1hR2V0VmFsVHlwZToKKyAqIEB2YWw6IGEgc2NoZW1hcyB2YWx1ZQorICoKKyAqIEFjY2Vzc29yIGZvciB0aGUgdHlwZSBvZiBhIHZhbHVlCisgKgorICogUmV0dXJucyB0aGUgeG1sU2NoZW1hVmFsVHlwZSBvZiB0aGUgdmFsdWUKKyAqLworeG1sU2NoZW1hVmFsVHlwZQoreG1sU2NoZW1hR2V0VmFsVHlwZSh4bWxTY2hlbWFWYWxQdHIgdmFsKQoreworICAgIGlmICh2YWwgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuKFhNTF9TQ0hFTUFTX1VOS05PV04pOworICAgIHJldHVybiAodmFsLT50eXBlKTsKK30KKworI2RlZmluZSBib3R0b21feG1sc2NoZW1hc3R5cGVzCisjaW5jbHVkZSAiZWxmZ2NjaGFjay5oIgorI2VuZGlmIC8qIExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQgKi8KZGlmZiAtLWdpdCBhL2xpYnhtbDIveG1sc3RyaW5nLmMgYi9saWJ4bWwyL3htbHN0cmluZy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEzNzIyMGQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3htbHN0cmluZy5jCkBAIC0wLDAgKzEsOTg0IEBACisvKgorICogc3RyaW5nLmMgOiBhbiBYTUwgc3RyaW5nIHV0aWxpdGllcyBtb2R1bGUKKyAqCisgKiBUaGlzIG1vZHVsZSBwcm92aWRlcyB2YXJpb3VzIHV0aWxpdHkgZnVuY3Rpb25zIGZvciBtYW5pcHVsYXRpbmcKKyAqIHRoZSB4bWxDaGFyKiB0eXBlLiBBbGwgZnVuY3Rpb25zIG5hbWVkIHhtbFN0ciogaGF2ZSBiZWVuIG1vdmVkIGhlcmUKKyAqIGZyb20gdGhlIHBhcnNlci5jIGZpbGUgKHRoZWlyIG9yaWdpbmFsIGhvbWUpLgorICoKKyAqIFNlZSBDb3B5cmlnaHQgZm9yIHRoZSBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZS4KKyAqCisgKiBVVEY4IHN0cmluZyByb3V0aW5lcyBmcm9tOgorICogV2lsbGlhbSBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CisgKgorICogZGFuaWVsQHZlaWxsYXJkLmNvbQorICovCisKKyNkZWZpbmUgSU5fTElCWE1MCisjaW5jbHVkZSAibGlieG1sLmgiCisKKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxsaWJ4bWwveG1sbWVtb3J5Lmg+CisjaW5jbHVkZSA8bGlieG1sL3BhcnNlckludGVybmFscy5oPgorI2luY2x1ZGUgPGxpYnhtbC94bWxzdHJpbmcuaD4KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgorICogICAgICAgICAgICAgICAgQ29tbW9kaXR5IGZ1bmN0aW9ucyB0byBoYW5kbGUgeG1sQ2hhcnMgICAgICAgICAgICAgICAgKgorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqCisgKiB4bWxTdHJuZHVwOgorICogQGN1cjogIHRoZSBpbnB1dCB4bWxDaGFyICoKKyAqIEBsZW46ICB0aGUgbGVuIG9mIEBjdXIKKyAqCisgKiBhIHN0cm5kdXAgZm9yIGFycmF5IG9mIHhtbENoYXIncworICoKKyAqIFJldHVybnMgYSBuZXcgeG1sQ2hhciAqIG9yIE5VTEwKKyAqLworeG1sQ2hhciAqCit4bWxTdHJuZHVwKGNvbnN0IHhtbENoYXIgKmN1ciwgaW50IGxlbikgeworICAgIHhtbENoYXIgKnJldDsKKworICAgIGlmICgoY3VyID09IE5VTEwpIHx8IChsZW4gPCAwKSkgcmV0dXJuKE5VTEwpOworICAgIHJldCA9ICh4bWxDaGFyICopIHhtbE1hbGxvY0F0b21pYygobGVuICsgMSkgKiBzaXplb2YoeG1sQ2hhcikpOworICAgIGlmIChyZXQgPT0gTlVMTCkgeworICAgICAgICB4bWxFcnJNZW1vcnkoTlVMTCwgTlVMTCk7CisgICAgICAgIHJldHVybihOVUxMKTsKKyAgICB9CisgICAgbWVtY3B5KHJldCwgY3VyLCBsZW4gKiBzaXplb2YoeG1sQ2hhcikpOworICAgIHJldFtsZW5dID0gMDsKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxTdHJkdXA6CisgKiBAY3VyOiAgdGhlIGlucHV0IHhtbENoYXIgKgorICoKKyAqIGEgc3RyZHVwIGZvciBhcnJheSBvZiB4bWxDaGFyJ3MuIFNpbmNlIHRoZXkgYXJlIHN1cHBvc2VkIHRvIGJlCisgKiBlbmNvZGVkIGluIFVURi04IG9yIGFuIGVuY29kaW5nIHdpdGggOGJpdCBiYXNlZCBjaGFycywgd2UgYXNzdW1lCisgKiBhIHRlcm1pbmF0aW9uIG1hcmsgb2YgJzAnLgorICoKKyAqIFJldHVybnMgYSBuZXcgeG1sQ2hhciAqIG9yIE5VTEwKKyAqLworeG1sQ2hhciAqCit4bWxTdHJkdXAoY29uc3QgeG1sQ2hhciAqY3VyKSB7CisgICAgY29uc3QgeG1sQ2hhciAqcCA9IGN1cjsKKworICAgIGlmIChjdXIgPT0gTlVMTCkgcmV0dXJuKE5VTEwpOworICAgIHdoaWxlICgqcCAhPSAwKSBwKys7IC8qIG5vbiBpbnB1dCBjb25zdW1pbmcgKi8KKyAgICByZXR1cm4oeG1sU3RybmR1cChjdXIsIHAgLSBjdXIpKTsKK30KKworLyoqCisgKiB4bWxDaGFyU3RybmR1cDoKKyAqIEBjdXI6ICB0aGUgaW5wdXQgY2hhciAqCisgKiBAbGVuOiAgdGhlIGxlbiBvZiBAY3VyCisgKgorICogYSBzdHJuZHVwIGZvciBjaGFyJ3MgdG8geG1sQ2hhcidzCisgKgorICogUmV0dXJucyBhIG5ldyB4bWxDaGFyICogb3IgTlVMTAorICovCisKK3htbENoYXIgKgoreG1sQ2hhclN0cm5kdXAoY29uc3QgY2hhciAqY3VyLCBpbnQgbGVuKSB7CisgICAgaW50IGk7CisgICAgeG1sQ2hhciAqcmV0OworCisgICAgaWYgKChjdXIgPT0gTlVMTCkgfHwgKGxlbiA8IDApKSByZXR1cm4oTlVMTCk7CisgICAgcmV0ID0gKHhtbENoYXIgKikgeG1sTWFsbG9jQXRvbWljKChsZW4gKyAxKSAqIHNpemVvZih4bWxDaGFyKSk7CisgICAgaWYgKHJldCA9PSBOVUxMKSB7CisgICAgICAgIHhtbEVyck1lbW9yeShOVUxMLCBOVUxMKTsKKyAgICAgICAgcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBmb3IgKGkgPSAwO2kgPCBsZW47aSsrKSB7CisgICAgICAgIHJldFtpXSA9ICh4bWxDaGFyKSBjdXJbaV07CisgICAgICAgIGlmIChyZXRbaV0gPT0gMCkgcmV0dXJuKHJldCk7CisgICAgfQorICAgIHJldFtsZW5dID0gMDsKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxDaGFyU3RyZHVwOgorICogQGN1cjogIHRoZSBpbnB1dCBjaGFyICoKKyAqCisgKiBhIHN0cmR1cCBmb3IgY2hhcidzIHRvIHhtbENoYXIncworICoKKyAqIFJldHVybnMgYSBuZXcgeG1sQ2hhciAqIG9yIE5VTEwKKyAqLworCit4bWxDaGFyICoKK3htbENoYXJTdHJkdXAoY29uc3QgY2hhciAqY3VyKSB7CisgICAgY29uc3QgY2hhciAqcCA9IGN1cjsKKworICAgIGlmIChjdXIgPT0gTlVMTCkgcmV0dXJuKE5VTEwpOworICAgIHdoaWxlICgqcCAhPSAnXDAnKSBwKys7IC8qIG5vbiBpbnB1dCBjb25zdW1pbmcgKi8KKyAgICByZXR1cm4oeG1sQ2hhclN0cm5kdXAoY3VyLCBwIC0gY3VyKSk7Cit9CisKKy8qKgorICogeG1sU3RyY21wOgorICogQHN0cjE6ICB0aGUgZmlyc3QgeG1sQ2hhciAqCisgKiBAc3RyMjogIHRoZSBzZWNvbmQgeG1sQ2hhciAqCisgKgorICogYSBzdHJjbXAgZm9yIHhtbENoYXIncworICoKKyAqIFJldHVybnMgdGhlIGludGVnZXIgcmVzdWx0IG9mIHRoZSBjb21wYXJpc29uCisgKi8KKworaW50Cit4bWxTdHJjbXAoY29uc3QgeG1sQ2hhciAqc3RyMSwgY29uc3QgeG1sQ2hhciAqc3RyMikgeworICAgIHJlZ2lzdGVyIGludCB0bXA7CisKKyAgICBpZiAoc3RyMSA9PSBzdHIyKSByZXR1cm4oMCk7CisgICAgaWYgKHN0cjEgPT0gTlVMTCkgcmV0dXJuKC0xKTsKKyAgICBpZiAoc3RyMiA9PSBOVUxMKSByZXR1cm4oMSk7CisgICAgZG8geworICAgICAgICB0bXAgPSAqc3RyMSsrIC0gKnN0cjI7CisgICAgICAgIGlmICh0bXAgIT0gMCkgcmV0dXJuKHRtcCk7CisgICAgfSB3aGlsZSAoKnN0cjIrKyAhPSAwKTsKKyAgICByZXR1cm4gMDsKK30KKworLyoqCisgKiB4bWxTdHJFcXVhbDoKKyAqIEBzdHIxOiAgdGhlIGZpcnN0IHhtbENoYXIgKgorICogQHN0cjI6ICB0aGUgc2Vjb25kIHhtbENoYXIgKgorICoKKyAqIENoZWNrIGlmIGJvdGggc3RyaW5ncyBhcmUgZXF1YWwgb2YgaGF2ZSBzYW1lIGNvbnRlbnQuCisgKiBTaG91bGQgYmUgYSBiaXQgbW9yZSByZWFkYWJsZSBhbmQgZmFzdGVyIHRoYW4geG1sU3RyY21wKCkKKyAqCisgKiBSZXR1cm5zIDEgaWYgdGhleSBhcmUgZXF1YWwsIDAgaWYgdGhleSBhcmUgZGlmZmVyZW50CisgKi8KKworaW50Cit4bWxTdHJFcXVhbChjb25zdCB4bWxDaGFyICpzdHIxLCBjb25zdCB4bWxDaGFyICpzdHIyKSB7CisgICAgaWYgKHN0cjEgPT0gc3RyMikgcmV0dXJuKDEpOworICAgIGlmIChzdHIxID09IE5VTEwpIHJldHVybigwKTsKKyAgICBpZiAoc3RyMiA9PSBOVUxMKSByZXR1cm4oMCk7CisgICAgZG8geworICAgICAgICBpZiAoKnN0cjErKyAhPSAqc3RyMikgcmV0dXJuKDApOworICAgIH0gd2hpbGUgKCpzdHIyKyspOworICAgIHJldHVybigxKTsKK30KKworLyoqCisgKiB4bWxTdHJRRXF1YWw6CisgKiBAcHJlZjogIHRoZSBwcmVmaXggb2YgdGhlIFFOYW1lCisgKiBAbmFtZTogIHRoZSBsb2NhbG5hbWUgb2YgdGhlIFFOYW1lCisgKiBAc3RyOiAgdGhlIHNlY29uZCB4bWxDaGFyICoKKyAqCisgKiBDaGVjayBpZiBhIFFOYW1lIGlzIEVxdWFsIHRvIGEgZ2l2ZW4gc3RyaW5nCisgKgorICogUmV0dXJucyAxIGlmIHRoZXkgYXJlIGVxdWFsLCAwIGlmIHRoZXkgYXJlIGRpZmZlcmVudAorICovCisKK2ludAoreG1sU3RyUUVxdWFsKGNvbnN0IHhtbENoYXIgKnByZWYsIGNvbnN0IHhtbENoYXIgKm5hbWUsIGNvbnN0IHhtbENoYXIgKnN0cikgeworICAgIGlmIChwcmVmID09IE5VTEwpIHJldHVybih4bWxTdHJFcXVhbChuYW1lLCBzdHIpKTsKKyAgICBpZiAobmFtZSA9PSBOVUxMKSByZXR1cm4oMCk7CisgICAgaWYgKHN0ciA9PSBOVUxMKSByZXR1cm4oMCk7CisKKyAgICBkbyB7CisgICAgICAgIGlmICgqcHJlZisrICE9ICpzdHIpIHJldHVybigwKTsKKyAgICB9IHdoaWxlICgoKnN0cisrKSAmJiAoKnByZWYpKTsKKyAgICBpZiAoKnN0cisrICE9ICc6JykgcmV0dXJuKDApOworICAgIGRvIHsKKyAgICAgICAgaWYgKCpuYW1lKysgIT0gKnN0cikgcmV0dXJuKDApOworICAgIH0gd2hpbGUgKCpzdHIrKyk7CisgICAgcmV0dXJuKDEpOworfQorCisvKioKKyAqIHhtbFN0cm5jbXA6CisgKiBAc3RyMTogIHRoZSBmaXJzdCB4bWxDaGFyICoKKyAqIEBzdHIyOiAgdGhlIHNlY29uZCB4bWxDaGFyICoKKyAqIEBsZW46ICB0aGUgbWF4IGNvbXBhcmlzb24gbGVuZ3RoCisgKgorICogYSBzdHJuY21wIGZvciB4bWxDaGFyJ3MKKyAqCisgKiBSZXR1cm5zIHRoZSBpbnRlZ2VyIHJlc3VsdCBvZiB0aGUgY29tcGFyaXNvbgorICovCisKK2ludAoreG1sU3RybmNtcChjb25zdCB4bWxDaGFyICpzdHIxLCBjb25zdCB4bWxDaGFyICpzdHIyLCBpbnQgbGVuKSB7CisgICAgcmVnaXN0ZXIgaW50IHRtcDsKKworICAgIGlmIChsZW4gPD0gMCkgcmV0dXJuKDApOworICAgIGlmIChzdHIxID09IHN0cjIpIHJldHVybigwKTsKKyAgICBpZiAoc3RyMSA9PSBOVUxMKSByZXR1cm4oLTEpOworICAgIGlmIChzdHIyID09IE5VTEwpIHJldHVybigxKTsKKyNpZmRlZiBfX0dOVUNfXworICAgIHRtcCA9IHN0cm5jbXAoKGNvbnN0IGNoYXIgKilzdHIxLCAoY29uc3QgY2hhciAqKXN0cjIsIGxlbik7CisgICAgcmV0dXJuIHRtcDsKKyNlbHNlCisgICAgZG8geworICAgICAgICB0bXAgPSAqc3RyMSsrIC0gKnN0cjI7CisgICAgICAgIGlmICh0bXAgIT0gMCB8fCAtLWxlbiA9PSAwKSByZXR1cm4odG1wKTsKKyAgICB9IHdoaWxlICgqc3RyMisrICE9IDApOworICAgIHJldHVybiAwOworI2VuZGlmCit9CisKK3N0YXRpYyBjb25zdCB4bWxDaGFyIGNhc2VtYXBbMjU2XSA9IHsKKyAgICAweDAwLDB4MDEsMHgwMiwweDAzLDB4MDQsMHgwNSwweDA2LDB4MDcsCisgICAgMHgwOCwweDA5LDB4MEEsMHgwQiwweDBDLDB4MEQsMHgwRSwweDBGLAorICAgIDB4MTAsMHgxMSwweDEyLDB4MTMsMHgxNCwweDE1LDB4MTYsMHgxNywKKyAgICAweDE4LDB4MTksMHgxQSwweDFCLDB4MUMsMHgxRCwweDFFLDB4MUYsCisgICAgMHgyMCwweDIxLDB4MjIsMHgyMywweDI0LDB4MjUsMHgyNiwweDI3LAorICAgIDB4MjgsMHgyOSwweDJBLDB4MkIsMHgyQywweDJELDB4MkUsMHgyRiwKKyAgICAweDMwLDB4MzEsMHgzMiwweDMzLDB4MzQsMHgzNSwweDM2LDB4MzcsCisgICAgMHgzOCwweDM5LDB4M0EsMHgzQiwweDNDLDB4M0QsMHgzRSwweDNGLAorICAgIDB4NDAsMHg2MSwweDYyLDB4NjMsMHg2NCwweDY1LDB4NjYsMHg2NywKKyAgICAweDY4LDB4NjksMHg2QSwweDZCLDB4NkMsMHg2RCwweDZFLDB4NkYsCisgICAgMHg3MCwweDcxLDB4NzIsMHg3MywweDc0LDB4NzUsMHg3NiwweDc3LAorICAgIDB4NzgsMHg3OSwweDdBLDB4N0IsMHg1QywweDVELDB4NUUsMHg1RiwKKyAgICAweDYwLDB4NjEsMHg2MiwweDYzLDB4NjQsMHg2NSwweDY2LDB4NjcsCisgICAgMHg2OCwweDY5LDB4NkEsMHg2QiwweDZDLDB4NkQsMHg2RSwweDZGLAorICAgIDB4NzAsMHg3MSwweDcyLDB4NzMsMHg3NCwweDc1LDB4NzYsMHg3NywKKyAgICAweDc4LDB4NzksMHg3QSwweDdCLDB4N0MsMHg3RCwweDdFLDB4N0YsCisgICAgMHg4MCwweDgxLDB4ODIsMHg4MywweDg0LDB4ODUsMHg4NiwweDg3LAorICAgIDB4ODgsMHg4OSwweDhBLDB4OEIsMHg4QywweDhELDB4OEUsMHg4RiwKKyAgICAweDkwLDB4OTEsMHg5MiwweDkzLDB4OTQsMHg5NSwweDk2LDB4OTcsCisgICAgMHg5OCwweDk5LDB4OUEsMHg5QiwweDlDLDB4OUQsMHg5RSwweDlGLAorICAgIDB4QTAsMHhBMSwweEEyLDB4QTMsMHhBNCwweEE1LDB4QTYsMHhBNywKKyAgICAweEE4LDB4QTksMHhBQSwweEFCLDB4QUMsMHhBRCwweEFFLDB4QUYsCisgICAgMHhCMCwweEIxLDB4QjIsMHhCMywweEI0LDB4QjUsMHhCNiwweEI3LAorICAgIDB4QjgsMHhCOSwweEJBLDB4QkIsMHhCQywweEJELDB4QkUsMHhCRiwKKyAgICAweEMwLDB4QzEsMHhDMiwweEMzLDB4QzQsMHhDNSwweEM2LDB4QzcsCisgICAgMHhDOCwweEM5LDB4Q0EsMHhDQiwweENDLDB4Q0QsMHhDRSwweENGLAorICAgIDB4RDAsMHhEMSwweEQyLDB4RDMsMHhENCwweEQ1LDB4RDYsMHhENywKKyAgICAweEQ4LDB4RDksMHhEQSwweERCLDB4REMsMHhERCwweERFLDB4REYsCisgICAgMHhFMCwweEUxLDB4RTIsMHhFMywweEU0LDB4RTUsMHhFNiwweEU3LAorICAgIDB4RTgsMHhFOSwweEVBLDB4RUIsMHhFQywweEVELDB4RUUsMHhFRiwKKyAgICAweEYwLDB4RjEsMHhGMiwweEYzLDB4RjQsMHhGNSwweEY2LDB4RjcsCisgICAgMHhGOCwweEY5LDB4RkEsMHhGQiwweEZDLDB4RkQsMHhGRSwweEZGCit9OworCisvKioKKyAqIHhtbFN0cmNhc2VjbXA6CisgKiBAc3RyMTogIHRoZSBmaXJzdCB4bWxDaGFyICoKKyAqIEBzdHIyOiAgdGhlIHNlY29uZCB4bWxDaGFyICoKKyAqCisgKiBhIHN0cmNhc2VjbXAgZm9yIHhtbENoYXIncworICoKKyAqIFJldHVybnMgdGhlIGludGVnZXIgcmVzdWx0IG9mIHRoZSBjb21wYXJpc29uCisgKi8KKworaW50Cit4bWxTdHJjYXNlY21wKGNvbnN0IHhtbENoYXIgKnN0cjEsIGNvbnN0IHhtbENoYXIgKnN0cjIpIHsKKyAgICByZWdpc3RlciBpbnQgdG1wOworCisgICAgaWYgKHN0cjEgPT0gc3RyMikgcmV0dXJuKDApOworICAgIGlmIChzdHIxID09IE5VTEwpIHJldHVybigtMSk7CisgICAgaWYgKHN0cjIgPT0gTlVMTCkgcmV0dXJuKDEpOworICAgIGRvIHsKKyAgICAgICAgdG1wID0gY2FzZW1hcFsqc3RyMSsrXSAtIGNhc2VtYXBbKnN0cjJdOworICAgICAgICBpZiAodG1wICE9IDApIHJldHVybih0bXApOworICAgIH0gd2hpbGUgKCpzdHIyKysgIT0gMCk7CisgICAgcmV0dXJuIDA7Cit9CisKKy8qKgorICogeG1sU3RybmNhc2VjbXA6CisgKiBAc3RyMTogIHRoZSBmaXJzdCB4bWxDaGFyICoKKyAqIEBzdHIyOiAgdGhlIHNlY29uZCB4bWxDaGFyICoKKyAqIEBsZW46ICB0aGUgbWF4IGNvbXBhcmlzb24gbGVuZ3RoCisgKgorICogYSBzdHJuY2FzZWNtcCBmb3IgeG1sQ2hhcidzCisgKgorICogUmV0dXJucyB0aGUgaW50ZWdlciByZXN1bHQgb2YgdGhlIGNvbXBhcmlzb24KKyAqLworCitpbnQKK3htbFN0cm5jYXNlY21wKGNvbnN0IHhtbENoYXIgKnN0cjEsIGNvbnN0IHhtbENoYXIgKnN0cjIsIGludCBsZW4pIHsKKyAgICByZWdpc3RlciBpbnQgdG1wOworCisgICAgaWYgKGxlbiA8PSAwKSByZXR1cm4oMCk7CisgICAgaWYgKHN0cjEgPT0gc3RyMikgcmV0dXJuKDApOworICAgIGlmIChzdHIxID09IE5VTEwpIHJldHVybigtMSk7CisgICAgaWYgKHN0cjIgPT0gTlVMTCkgcmV0dXJuKDEpOworICAgIGRvIHsKKyAgICAgICAgdG1wID0gY2FzZW1hcFsqc3RyMSsrXSAtIGNhc2VtYXBbKnN0cjJdOworICAgICAgICBpZiAodG1wICE9IDAgfHwgLS1sZW4gPT0gMCkgcmV0dXJuKHRtcCk7CisgICAgfSB3aGlsZSAoKnN0cjIrKyAhPSAwKTsKKyAgICByZXR1cm4gMDsKK30KKworLyoqCisgKiB4bWxTdHJjaHI6CisgKiBAc3RyOiAgdGhlIHhtbENoYXIgKiBhcnJheQorICogQHZhbDogIHRoZSB4bWxDaGFyIHRvIHNlYXJjaAorICoKKyAqIGEgc3RyY2hyIGZvciB4bWxDaGFyJ3MKKyAqCisgKiBSZXR1cm5zIHRoZSB4bWxDaGFyICogZm9yIHRoZSBmaXJzdCBvY2N1cnJlbmNlIG9yIE5VTEwuCisgKi8KKworY29uc3QgeG1sQ2hhciAqCit4bWxTdHJjaHIoY29uc3QgeG1sQ2hhciAqc3RyLCB4bWxDaGFyIHZhbCkgeworICAgIGlmIChzdHIgPT0gTlVMTCkgcmV0dXJuKE5VTEwpOworICAgIHdoaWxlICgqc3RyICE9IDApIHsgLyogbm9uIGlucHV0IGNvbnN1bWluZyAqLworICAgICAgICBpZiAoKnN0ciA9PSB2YWwpIHJldHVybigoeG1sQ2hhciAqKSBzdHIpOworICAgICAgICBzdHIrKzsKKyAgICB9CisgICAgcmV0dXJuKE5VTEwpOworfQorCisvKioKKyAqIHhtbFN0cnN0cjoKKyAqIEBzdHI6ICB0aGUgeG1sQ2hhciAqIGFycmF5IChoYXlzdGFjaykKKyAqIEB2YWw6ICB0aGUgeG1sQ2hhciB0byBzZWFyY2ggKG5lZWRsZSkKKyAqCisgKiBhIHN0cnN0ciBmb3IgeG1sQ2hhcidzCisgKgorICogUmV0dXJucyB0aGUgeG1sQ2hhciAqIGZvciB0aGUgZmlyc3Qgb2NjdXJyZW5jZSBvciBOVUxMLgorICovCisKK2NvbnN0IHhtbENoYXIgKgoreG1sU3Ryc3RyKGNvbnN0IHhtbENoYXIgKnN0ciwgY29uc3QgeG1sQ2hhciAqdmFsKSB7CisgICAgaW50IG47CisKKyAgICBpZiAoc3RyID09IE5VTEwpIHJldHVybihOVUxMKTsKKyAgICBpZiAodmFsID09IE5VTEwpIHJldHVybihOVUxMKTsKKyAgICBuID0geG1sU3RybGVuKHZhbCk7CisKKyAgICBpZiAobiA9PSAwKSByZXR1cm4oc3RyKTsKKyAgICB3aGlsZSAoKnN0ciAhPSAwKSB7IC8qIG5vbiBpbnB1dCBjb25zdW1pbmcgKi8KKyAgICAgICAgaWYgKCpzdHIgPT0gKnZhbCkgeworICAgICAgICAgICAgaWYgKCF4bWxTdHJuY21wKHN0ciwgdmFsLCBuKSkgcmV0dXJuKChjb25zdCB4bWxDaGFyICopIHN0cik7CisgICAgICAgIH0KKyAgICAgICAgc3RyKys7CisgICAgfQorICAgIHJldHVybihOVUxMKTsKK30KKworLyoqCisgKiB4bWxTdHJjYXNlc3RyOgorICogQHN0cjogIHRoZSB4bWxDaGFyICogYXJyYXkgKGhheXN0YWNrKQorICogQHZhbDogIHRoZSB4bWxDaGFyIHRvIHNlYXJjaCAobmVlZGxlKQorICoKKyAqIGEgY2FzZS1pZ25vcmluZyBzdHJzdHIgZm9yIHhtbENoYXIncworICoKKyAqIFJldHVybnMgdGhlIHhtbENoYXIgKiBmb3IgdGhlIGZpcnN0IG9jY3VycmVuY2Ugb3IgTlVMTC4KKyAqLworCitjb25zdCB4bWxDaGFyICoKK3htbFN0cmNhc2VzdHIoY29uc3QgeG1sQ2hhciAqc3RyLCBjb25zdCB4bWxDaGFyICp2YWwpIHsKKyAgICBpbnQgbjsKKworICAgIGlmIChzdHIgPT0gTlVMTCkgcmV0dXJuKE5VTEwpOworICAgIGlmICh2YWwgPT0gTlVMTCkgcmV0dXJuKE5VTEwpOworICAgIG4gPSB4bWxTdHJsZW4odmFsKTsKKworICAgIGlmIChuID09IDApIHJldHVybihzdHIpOworICAgIHdoaWxlICgqc3RyICE9IDApIHsgLyogbm9uIGlucHV0IGNvbnN1bWluZyAqLworICAgICAgICBpZiAoY2FzZW1hcFsqc3RyXSA9PSBjYXNlbWFwWyp2YWxdKQorICAgICAgICAgICAgaWYgKCF4bWxTdHJuY2FzZWNtcChzdHIsIHZhbCwgbikpIHJldHVybihzdHIpOworICAgICAgICBzdHIrKzsKKyAgICB9CisgICAgcmV0dXJuKE5VTEwpOworfQorCisvKioKKyAqIHhtbFN0cnN1YjoKKyAqIEBzdHI6ICB0aGUgeG1sQ2hhciAqIGFycmF5IChoYXlzdGFjaykKKyAqIEBzdGFydDogIHRoZSBpbmRleCBvZiB0aGUgZmlyc3QgY2hhciAoemVybyBiYXNlZCkKKyAqIEBsZW46ICB0aGUgbGVuZ3RoIG9mIHRoZSBzdWJzdHJpbmcKKyAqCisgKiBFeHRyYWN0IGEgc3Vic3RyaW5nIG9mIGEgZ2l2ZW4gc3RyaW5nCisgKgorICogUmV0dXJucyB0aGUgeG1sQ2hhciAqIGZvciB0aGUgZmlyc3Qgb2NjdXJyZW5jZSBvciBOVUxMLgorICovCisKK3htbENoYXIgKgoreG1sU3Ryc3ViKGNvbnN0IHhtbENoYXIgKnN0ciwgaW50IHN0YXJ0LCBpbnQgbGVuKSB7CisgICAgaW50IGk7CisKKyAgICBpZiAoc3RyID09IE5VTEwpIHJldHVybihOVUxMKTsKKyAgICBpZiAoc3RhcnQgPCAwKSByZXR1cm4oTlVMTCk7CisgICAgaWYgKGxlbiA8IDApIHJldHVybihOVUxMKTsKKworICAgIGZvciAoaSA9IDA7aSA8IHN0YXJ0O2krKykgeworICAgICAgICBpZiAoKnN0ciA9PSAwKSByZXR1cm4oTlVMTCk7CisgICAgICAgIHN0cisrOworICAgIH0KKyAgICBpZiAoKnN0ciA9PSAwKSByZXR1cm4oTlVMTCk7CisgICAgcmV0dXJuKHhtbFN0cm5kdXAoc3RyLCBsZW4pKTsKK30KKworLyoqCisgKiB4bWxTdHJsZW46CisgKiBAc3RyOiAgdGhlIHhtbENoYXIgKiBhcnJheQorICoKKyAqIGxlbmd0aCBvZiBhIHhtbENoYXIncyBzdHJpbmcKKyAqCisgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgeG1sQ2hhciBjb250YWluZWQgaW4gdGhlIEFSUkFZLgorICovCisKK2ludAoreG1sU3RybGVuKGNvbnN0IHhtbENoYXIgKnN0cikgeworICAgIGludCBsZW4gPSAwOworCisgICAgaWYgKHN0ciA9PSBOVUxMKSByZXR1cm4oMCk7CisgICAgd2hpbGUgKCpzdHIgIT0gMCkgeyAvKiBub24gaW5wdXQgY29uc3VtaW5nICovCisgICAgICAgIHN0cisrOworICAgICAgICBsZW4rKzsKKyAgICB9CisgICAgcmV0dXJuKGxlbik7Cit9CisKKy8qKgorICogeG1sU3RybmNhdDoKKyAqIEBjdXI6ICB0aGUgb3JpZ2luYWwgeG1sQ2hhciAqIGFycmF5CisgKiBAYWRkOiAgdGhlIHhtbENoYXIgKiBhcnJheSBhZGRlZAorICogQGxlbjogIHRoZSBsZW5ndGggb2YgQGFkZAorICoKKyAqIGEgc3RybmNhdCBmb3IgYXJyYXkgb2YgeG1sQ2hhcidzLCBpdCB3aWxsIGV4dGVuZCBAY3VyIHdpdGggdGhlIGxlbgorICogZmlyc3QgYnl0ZXMgb2YgQGFkZC4gTm90ZSB0aGF0IGlmIEBsZW4gPCAwIHRoZW4gdGhpcyBpcyBhbiBBUEkgZXJyb3IKKyAqIGFuZCBOVUxMIHdpbGwgYmUgcmV0dXJuZWQuCisgKgorICogUmV0dXJucyBhIG5ldyB4bWxDaGFyICosIHRoZSBvcmlnaW5hbCBAY3VyIGlzIHJlYWxsb2NhdGVkIGlmIG5lZWRlZAorICogYW5kIHNob3VsZCBub3QgYmUgZnJlZWQKKyAqLworCit4bWxDaGFyICoKK3htbFN0cm5jYXQoeG1sQ2hhciAqY3VyLCBjb25zdCB4bWxDaGFyICphZGQsIGludCBsZW4pIHsKKyAgICBpbnQgc2l6ZTsKKyAgICB4bWxDaGFyICpyZXQ7CisKKyAgICBpZiAoKGFkZCA9PSBOVUxMKSB8fCAobGVuID09IDApKQorICAgICAgICByZXR1cm4oY3VyKTsKKyAgICBpZiAobGVuIDwgMCkKKwlyZXR1cm4oTlVMTCk7CisgICAgaWYgKGN1ciA9PSBOVUxMKQorICAgICAgICByZXR1cm4oeG1sU3RybmR1cChhZGQsIGxlbikpOworCisgICAgc2l6ZSA9IHhtbFN0cmxlbihjdXIpOworICAgIHJldCA9ICh4bWxDaGFyICopIHhtbFJlYWxsb2MoY3VyLCAoc2l6ZSArIGxlbiArIDEpICogc2l6ZW9mKHhtbENoYXIpKTsKKyAgICBpZiAocmV0ID09IE5VTEwpIHsKKyAgICAgICAgeG1sRXJyTWVtb3J5KE5VTEwsIE5VTEwpOworICAgICAgICByZXR1cm4oY3VyKTsKKyAgICB9CisgICAgbWVtY3B5KCZyZXRbc2l6ZV0sIGFkZCwgbGVuICogc2l6ZW9mKHhtbENoYXIpKTsKKyAgICByZXRbc2l6ZSArIGxlbl0gPSAwOworICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbFN0cm5jYXROZXc6CisgKiBAc3RyMTogIGZpcnN0IHhtbENoYXIgc3RyaW5nCisgKiBAc3RyMjogIHNlY29uZCB4bWxDaGFyIHN0cmluZworICogQGxlbjogIHRoZSBsZW4gb2YgQHN0cjIgb3IgPCAwCisgKgorICogc2FtZSBhcyB4bWxTdHJuY2F0LCBidXQgY3JlYXRlcyBhIG5ldyBzdHJpbmcuICBUaGUgb3JpZ2luYWwKKyAqIHR3byBzdHJpbmdzIGFyZSBub3QgZnJlZWQuIElmIEBsZW4gaXMgPCAwIHRoZW4gdGhlIGxlbmd0aAorICogd2lsbCBiZSBjYWxjdWxhdGVkIGF1dG9tYXRpY2FsbHkuCisgKgorICogUmV0dXJucyBhIG5ldyB4bWxDaGFyICogb3IgTlVMTAorICovCit4bWxDaGFyICoKK3htbFN0cm5jYXROZXcoY29uc3QgeG1sQ2hhciAqc3RyMSwgY29uc3QgeG1sQ2hhciAqc3RyMiwgaW50IGxlbikgeworICAgIGludCBzaXplOworICAgIHhtbENoYXIgKnJldDsKKworICAgIGlmIChsZW4gPCAwKQorICAgICAgICBsZW4gPSB4bWxTdHJsZW4oc3RyMik7CisgICAgaWYgKChzdHIyID09IE5VTEwpIHx8IChsZW4gPT0gMCkpCisgICAgICAgIHJldHVybih4bWxTdHJkdXAoc3RyMSkpOworICAgIGlmIChzdHIxID09IE5VTEwpCisgICAgICAgIHJldHVybih4bWxTdHJuZHVwKHN0cjIsIGxlbikpOworCisgICAgc2l6ZSA9IHhtbFN0cmxlbihzdHIxKTsKKyAgICByZXQgPSAoeG1sQ2hhciAqKSB4bWxNYWxsb2MoKHNpemUgKyBsZW4gKyAxKSAqIHNpemVvZih4bWxDaGFyKSk7CisgICAgaWYgKHJldCA9PSBOVUxMKSB7CisgICAgICAgIHhtbEVyck1lbW9yeShOVUxMLCBOVUxMKTsKKyAgICAgICAgcmV0dXJuKHhtbFN0cm5kdXAoc3RyMSwgc2l6ZSkpOworICAgIH0KKyAgICBtZW1jcHkocmV0LCBzdHIxLCBzaXplICogc2l6ZW9mKHhtbENoYXIpKTsKKyAgICBtZW1jcHkoJnJldFtzaXplXSwgc3RyMiwgbGVuICogc2l6ZW9mKHhtbENoYXIpKTsKKyAgICByZXRbc2l6ZSArIGxlbl0gPSAwOworICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbFN0cmNhdDoKKyAqIEBjdXI6ICB0aGUgb3JpZ2luYWwgeG1sQ2hhciAqIGFycmF5CisgKiBAYWRkOiAgdGhlIHhtbENoYXIgKiBhcnJheSBhZGRlZAorICoKKyAqIGEgc3RyY2F0IGZvciBhcnJheSBvZiB4bWxDaGFyJ3MuIFNpbmNlIHRoZXkgYXJlIHN1cHBvc2VkIHRvIGJlCisgKiBlbmNvZGVkIGluIFVURi04IG9yIGFuIGVuY29kaW5nIHdpdGggOGJpdCBiYXNlZCBjaGFycywgd2UgYXNzdW1lCisgKiBhIHRlcm1pbmF0aW9uIG1hcmsgb2YgJzAnLgorICoKKyAqIFJldHVybnMgYSBuZXcgeG1sQ2hhciAqIGNvbnRhaW5pbmcgdGhlIGNvbmNhdGVuYXRlZCBzdHJpbmcuCisgKi8KK3htbENoYXIgKgoreG1sU3RyY2F0KHhtbENoYXIgKmN1ciwgY29uc3QgeG1sQ2hhciAqYWRkKSB7CisgICAgY29uc3QgeG1sQ2hhciAqcCA9IGFkZDsKKworICAgIGlmIChhZGQgPT0gTlVMTCkgcmV0dXJuKGN1cik7CisgICAgaWYgKGN1ciA9PSBOVUxMKQorICAgICAgICByZXR1cm4oeG1sU3RyZHVwKGFkZCkpOworCisgICAgd2hpbGUgKCpwICE9IDApIHArKzsgLyogbm9uIGlucHV0IGNvbnN1bWluZyAqLworICAgIHJldHVybih4bWxTdHJuY2F0KGN1ciwgYWRkLCBwIC0gYWRkKSk7Cit9CisKKy8qKgorICogeG1sU3RyUHJpbnRmOgorICogQGJ1ZjogICB0aGUgcmVzdWx0IGJ1ZmZlci4KKyAqIEBsZW46ICAgdGhlIHJlc3VsdCBidWZmZXIgbGVuZ3RoLgorICogQG1zZzogICB0aGUgbWVzc2FnZSB3aXRoIHByaW50ZiBmb3JtYXR0aW5nLgorICogQC4uLjogICBleHRyYSBwYXJhbWV0ZXJzIGZvciB0aGUgbWVzc2FnZS4KKyAqCisgKiBGb3JtYXRzIEBtc2cgYW5kIHBsYWNlcyByZXN1bHQgaW50byBAYnVmLgorICoKKyAqIFJldHVybnMgdGhlIG51bWJlciBvZiBjaGFyYWN0ZXJzIHdyaXR0ZW4gdG8gQGJ1ZiBvciAtMSBpZiBhbiBlcnJvciBvY2N1cnMuCisgKi8KK2ludCBYTUxDREVDTAoreG1sU3RyUHJpbnRmKHhtbENoYXIgKmJ1ZiwgaW50IGxlbiwgY29uc3QgeG1sQ2hhciAqbXNnLCAuLi4pIHsKKyAgICB2YV9saXN0IGFyZ3M7CisgICAgaW50IHJldDsKKworICAgIGlmKChidWYgPT0gTlVMTCkgfHwgKG1zZyA9PSBOVUxMKSkgeworICAgICAgICByZXR1cm4oLTEpOworICAgIH0KKworICAgIHZhX3N0YXJ0KGFyZ3MsIG1zZyk7CisgICAgcmV0ID0gdnNucHJpbnRmKChjaGFyICopIGJ1ZiwgbGVuLCAoY29uc3QgY2hhciAqKSBtc2csIGFyZ3MpOworICAgIHZhX2VuZChhcmdzKTsKKyAgICBidWZbbGVuIC0gMV0gPSAwOyAvKiBiZSBzYWZlICEgKi8KKworICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbFN0clZQcmludGY6CisgKiBAYnVmOiAgIHRoZSByZXN1bHQgYnVmZmVyLgorICogQGxlbjogICB0aGUgcmVzdWx0IGJ1ZmZlciBsZW5ndGguCisgKiBAbXNnOiAgIHRoZSBtZXNzYWdlIHdpdGggcHJpbnRmIGZvcm1hdHRpbmcuCisgKiBAYXA6ICAgIGV4dHJhIHBhcmFtZXRlcnMgZm9yIHRoZSBtZXNzYWdlLgorICoKKyAqIEZvcm1hdHMgQG1zZyBhbmQgcGxhY2VzIHJlc3VsdCBpbnRvIEBidWYuCisgKgorICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIGNoYXJhY3RlcnMgd3JpdHRlbiB0byBAYnVmIG9yIC0xIGlmIGFuIGVycm9yIG9jY3Vycy4KKyAqLworaW50Cit4bWxTdHJWUHJpbnRmKHhtbENoYXIgKmJ1ZiwgaW50IGxlbiwgY29uc3QgeG1sQ2hhciAqbXNnLCB2YV9saXN0IGFwKSB7CisgICAgaW50IHJldDsKKworICAgIGlmKChidWYgPT0gTlVMTCkgfHwgKG1zZyA9PSBOVUxMKSkgeworICAgICAgICByZXR1cm4oLTEpOworICAgIH0KKworICAgIHJldCA9IHZzbnByaW50ZigoY2hhciAqKSBidWYsIGxlbiwgKGNvbnN0IGNoYXIgKikgbXNnLCBhcCk7CisgICAgYnVmW2xlbiAtIDFdID0gMDsgLyogYmUgc2FmZSAhICovCisKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgorICogICAgICAgICAgICAgIEdlbmVyaWMgVVRGOCBoYW5kbGluZyByb3V0aW5lcyAgICAgICAgICAgICAgICAgICAgICAgICAgKgorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgorICogRnJvbSByZmMyMDQ0OiBlbmNvZGluZyBvZiB0aGUgVW5pY29kZSB2YWx1ZXMgb24gVVRGLTg6ICAgICAgICAgICAgICAgKgorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgorICogVUNTLTQgcmFuZ2UgKGhleC4pICAgICAgICAgICBVVEYtOCBvY3RldCBzZXF1ZW5jZSAoYmluYXJ5KSAgICAgICAgICAgKgorICogMDAwMCAwMDAwLTAwMDAgMDA3RiAgIDB4eHh4eHh4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgorICogMDAwMCAwMDgwLTAwMDAgMDdGRiAgIDExMHh4eHh4IDEweHh4eHh4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgorICogMDAwMCAwODAwLTAwMDAgRkZGRiAgIDExMTB4eHh4IDEweHh4eHh4IDEweHh4eHh4ICAgICAgICAgICAgICAgICAgICAgKgorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgorICogSSBob3BlIHdlIHdvbid0IHVzZSB2YWx1ZXMgPiAweEZGRkYgYW55dGltZSBzb29uICEgICAgICAgICAgICAgICAgICAgKgorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworCisvKioKKyAqIHhtbFVURjhTaXplOgorICogQHV0ZjogcG9pbnRlciB0byB0aGUgVVRGOCBjaGFyYWN0ZXIKKyAqCisgKiBjYWxjdWxhdGVzIHRoZSBpbnRlcm5hbCBzaXplIG9mIGEgVVRGOCBjaGFyYWN0ZXIKKyAqCisgKiByZXR1cm5zIHRoZSBudW1iZXJzIG9mIGJ5dGVzIGluIHRoZSBjaGFyYWN0ZXIsIC0xIG9uIGZvcm1hdCBlcnJvcgorICovCitpbnQKK3htbFVURjhTaXplKGNvbnN0IHhtbENoYXIgKnV0ZikgeworICAgIHhtbENoYXIgbWFzazsKKyAgICBpbnQgbGVuOworCisgICAgaWYgKHV0ZiA9PSBOVUxMKQorICAgICAgICByZXR1cm4gLTE7CisgICAgaWYgKCp1dGYgPCAweDgwKQorICAgICAgICByZXR1cm4gMTsKKyAgICAvKiBjaGVjayB2YWxpZCBVVEY4IGNoYXJhY3RlciAqLworICAgIGlmICghKCp1dGYgJiAweDQwKSkKKyAgICAgICAgcmV0dXJuIC0xOworICAgIC8qIGRldGVybWluZSBudW1iZXIgb2YgYnl0ZXMgaW4gY2hhciAqLworICAgIGxlbiA9IDI7CisgICAgZm9yIChtYXNrPTB4MjA7IG1hc2sgIT0gMDsgbWFzaz4+PTEpIHsKKyAgICAgICAgaWYgKCEoKnV0ZiAmIG1hc2spKQorICAgICAgICAgICAgcmV0dXJuIGxlbjsKKyAgICAgICAgbGVuKys7CisgICAgfQorICAgIHJldHVybiAtMTsKK30KKworLyoqCisgKiB4bWxVVEY4Q2hhcmNtcDoKKyAqIEB1dGYxOiBwb2ludGVyIHRvIGZpcnN0IFVURjggY2hhcgorICogQHV0ZjI6IHBvaW50ZXIgdG8gc2Vjb25kIFVURjggY2hhcgorICoKKyAqIGNvbXBhcmVzIHRoZSB0d28gVUNTNCB2YWx1ZXMKKyAqCisgKiByZXR1cm5zIHJlc3VsdCBvZiB0aGUgY29tcGFyZSBhcyB3aXRoIHhtbFN0cm5jbXAKKyAqLworaW50Cit4bWxVVEY4Q2hhcmNtcChjb25zdCB4bWxDaGFyICp1dGYxLCBjb25zdCB4bWxDaGFyICp1dGYyKSB7CisKKyAgICBpZiAodXRmMSA9PSBOVUxMICkgeworICAgICAgICBpZiAodXRmMiA9PSBOVUxMKQorICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisgICAgcmV0dXJuIHhtbFN0cm5jbXAodXRmMSwgdXRmMiwgeG1sVVRGOFNpemUodXRmMSkpOworfQorCisvKioKKyAqIHhtbFVURjhTdHJsZW46CisgKiBAdXRmOiAgYSBzZXF1ZW5jZSBvZiBVVEYtOCBlbmNvZGVkIGJ5dGVzCisgKgorICogY29tcHV0ZSB0aGUgbGVuZ3RoIG9mIGFuIFVURjggc3RyaW5nLCBpdCBkb2Vzbid0IGRvIGEgZnVsbCBVVEY4CisgKiBjaGVja2luZyBvZiB0aGUgY29udGVudCBvZiB0aGUgc3RyaW5nLgorICoKKyAqIFJldHVybnMgdGhlIG51bWJlciBvZiBjaGFyYWN0ZXJzIGluIHRoZSBzdHJpbmcgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcgorICovCitpbnQKK3htbFVURjhTdHJsZW4oY29uc3QgeG1sQ2hhciAqdXRmKSB7CisgICAgaW50IHJldCA9IDA7CisKKyAgICBpZiAodXRmID09IE5VTEwpCisgICAgICAgIHJldHVybigtMSk7CisKKyAgICB3aGlsZSAoKnV0ZiAhPSAwKSB7CisgICAgICAgIGlmICh1dGZbMF0gJiAweDgwKSB7CisgICAgICAgICAgICBpZiAoKHV0ZlsxXSAmIDB4YzApICE9IDB4ODApCisgICAgICAgICAgICAgICAgcmV0dXJuKC0xKTsKKyAgICAgICAgICAgIGlmICgodXRmWzBdICYgMHhlMCkgPT0gMHhlMCkgeworICAgICAgICAgICAgICAgIGlmICgodXRmWzJdICYgMHhjMCkgIT0gMHg4MCkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuKC0xKTsKKyAgICAgICAgICAgICAgICBpZiAoKHV0ZlswXSAmIDB4ZjApID09IDB4ZjApIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKCh1dGZbMF0gJiAweGY4KSAhPSAweGYwIHx8ICh1dGZbM10gJiAweGMwKSAhPSAweDgwKQorICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuKC0xKTsKKyAgICAgICAgICAgICAgICAgICAgdXRmICs9IDQ7CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgdXRmICs9IDM7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICB1dGYgKz0gMjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHV0ZisrOworICAgICAgICB9CisgICAgICAgIHJldCsrOworICAgIH0KKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxHZXRVVEY4Q2hhcjoKKyAqIEB1dGY6ICBhIHNlcXVlbmNlIG9mIFVURi04IGVuY29kZWQgYnl0ZXMKKyAqIEBsZW46ICBhIHBvaW50ZXIgdG8gdGhlIG1pbmltdW0gbnVtYmVyIG9mIGJ5dGVzIHByZXNlbnQgaW4KKyAqICAgICAgICB0aGUgc2VxdWVuY2UuICBUaGlzIGlzIHVzZWQgdG8gYXNzdXJlIHRoZSBuZXh0IGNoYXJhY3RlcgorICogICAgICAgIGlzIGNvbXBsZXRlbHkgY29udGFpbmVkIHdpdGhpbiB0aGUgc2VxdWVuY2UuCisgKgorICogUmVhZCB0aGUgZmlyc3QgVVRGOCBjaGFyYWN0ZXIgZnJvbSBAdXRmCisgKgorICogUmV0dXJucyB0aGUgY2hhciB2YWx1ZSBvciAtMSBpbiBjYXNlIG9mIGVycm9yLCBhbmQgc2V0cyAqbGVuIHRvCisgKiAgICAgICAgdGhlIGFjdHVhbCBudW1iZXIgb2YgYnl0ZXMgY29uc3VtZWQgKDAgaW4gY2FzZSBvZiBlcnJvcikKKyAqLworaW50Cit4bWxHZXRVVEY4Q2hhcihjb25zdCB1bnNpZ25lZCBjaGFyICp1dGYsIGludCAqbGVuKSB7CisgICAgdW5zaWduZWQgaW50IGM7CisKKyAgICBpZiAodXRmID09IE5VTEwpCisgICAgICAgIGdvdG8gZXJyb3I7CisgICAgaWYgKGxlbiA9PSBOVUxMKQorICAgICAgICBnb3RvIGVycm9yOworICAgIGlmICgqbGVuIDwgMSkKKyAgICAgICAgZ290byBlcnJvcjsKKworICAgIGMgPSB1dGZbMF07CisgICAgaWYgKGMgJiAweDgwKSB7CisgICAgICAgIGlmICgqbGVuIDwgMikKKyAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgIGlmICgodXRmWzFdICYgMHhjMCkgIT0gMHg4MCkKKyAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgIGlmICgoYyAmIDB4ZTApID09IDB4ZTApIHsKKyAgICAgICAgICAgIGlmICgqbGVuIDwgMykKKyAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgaWYgKCh1dGZbMl0gJiAweGMwKSAhPSAweDgwKQorICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICBpZiAoKGMgJiAweGYwKSA9PSAweGYwKSB7CisgICAgICAgICAgICAgICAgaWYgKCpsZW4gPCA0KQorICAgICAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgICAgIGlmICgoYyAmIDB4ZjgpICE9IDB4ZjAgfHwgKHV0ZlszXSAmIDB4YzApICE9IDB4ODApCisgICAgICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICAgICAgKmxlbiA9IDQ7CisgICAgICAgICAgICAgICAgLyogNC1ieXRlIGNvZGUgKi8KKyAgICAgICAgICAgICAgICBjID0gKHV0ZlswXSAmIDB4NykgPDwgMTg7CisgICAgICAgICAgICAgICAgYyB8PSAodXRmWzFdICYgMHgzZikgPDwgMTI7CisgICAgICAgICAgICAgICAgYyB8PSAodXRmWzJdICYgMHgzZikgPDwgNjsKKyAgICAgICAgICAgICAgICBjIHw9IHV0ZlszXSAmIDB4M2Y7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAvKiAzLWJ5dGUgY29kZSAqLworICAgICAgICAgICAgICAgICpsZW4gPSAzOworICAgICAgICAgICAgICAgIGMgPSAodXRmWzBdICYgMHhmKSA8PCAxMjsKKyAgICAgICAgICAgICAgICBjIHw9ICh1dGZbMV0gJiAweDNmKSA8PCA2OworICAgICAgICAgICAgICAgIGMgfD0gdXRmWzJdICYgMHgzZjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAvKiAyLWJ5dGUgY29kZSAqLworICAgICAgICAgICAgKmxlbiA9IDI7CisgICAgICAgICAgICBjID0gKHV0ZlswXSAmIDB4MWYpIDw8IDY7CisgICAgICAgICAgICBjIHw9IHV0ZlsxXSAmIDB4M2Y7CisgICAgICAgIH0KKyAgICB9IGVsc2UgeworICAgICAgICAvKiAxLWJ5dGUgY29kZSAqLworICAgICAgICAqbGVuID0gMTsKKyAgICB9CisgICAgcmV0dXJuKGMpOworCitlcnJvcjoKKyAgICBpZiAobGVuICE9IE5VTEwpCisJKmxlbiA9IDA7CisgICAgcmV0dXJuKC0xKTsKK30KKworLyoqCisgKiB4bWxDaGVja1VURjg6CisgKiBAdXRmOiBQb2ludGVyIHRvIHB1dGF0aXZlIFVURi04IGVuY29kZWQgc3RyaW5nLgorICoKKyAqIENoZWNrcyBAdXRmIGZvciBiZWluZyB2YWxpZCBVVEYtOC4gQHV0ZiBpcyBhc3N1bWVkIHRvIGJlCisgKiBudWxsLXRlcm1pbmF0ZWQuIFRoaXMgZnVuY3Rpb24gaXMgbm90IHN1cGVyLXN0cmljdCwgYXMgaXQgd2lsbAorICogYWxsb3cgbG9uZ2VyIFVURi04IHNlcXVlbmNlcyB0aGFuIG5lY2Vzc2FyeS4gTm90ZSB0aGF0IEphdmEgaXMKKyAqIGNhcGFibGUgb2YgcHJvZHVjaW5nIHRoZXNlIHNlcXVlbmNlcyBpZiBwcm92b2tlZC4gQWxzbyBub3RlLCB0aGlzCisgKiByb3V0aW5lIGNoZWNrcyBmb3IgdGhlIDQtYnl0ZSBtYXhpbXVtIHNpemUsIGJ1dCBkb2VzIG5vdCBjaGVjayBmb3IKKyAqIDB4MTBmZmZmIG1heGltdW0gdmFsdWUuCisgKgorICogUmV0dXJuIHZhbHVlOiB0cnVlIGlmIEB1dGYgaXMgdmFsaWQuCisgKiovCitpbnQKK3htbENoZWNrVVRGOChjb25zdCB1bnNpZ25lZCBjaGFyICp1dGYpCit7CisgICAgaW50IGl4OworICAgIHVuc2lnbmVkIGNoYXIgYzsKKworICAgIGlmICh1dGYgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuKDApOworICAgIC8qCisgICAgICogdXRmIGlzIGEgc3RyaW5nIG9mIDEsIDIsIDMgb3IgNCBieXRlcy4gIFRoZSB2YWxpZCBzdHJpbmdzCisgICAgICogYXJlIGFzIGZvbGxvd3MgKGluICJiaXQgZm9ybWF0Iik6CisgICAgICogICAgMHh4eHh4eHggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkIDEtYnl0ZQorICAgICAqICAgIDExMHh4eHh4IDEweHh4eHh4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZCAyLWJ5dGUKKyAgICAgKiAgICAxMTEweHh4eCAxMHh4eHh4eCAxMHh4eHh4eCAgICAgICAgICAgICAgICAgICAgdmFsaWQgMy1ieXRlCisgICAgICogICAgMTExMTB4eHggMTB4eHh4eHggMTB4eHh4eHggMTB4eHh4eHggICAgICAgICAgIHZhbGlkIDQtYnl0ZQorICAgICAqLworICAgIGZvciAoaXggPSAwOyAoYyA9IHV0ZltpeF0pOykgeyAgICAgIC8qIHN0cmluZyBpcyAwLXRlcm1pbmF0ZWQgKi8KKyAgICAgICAgaWYgKChjICYgMHg4MCkgPT0gMHgwMCkgewkvKiAxLWJ5dGUgY29kZSwgc3RhcnRzIHdpdGggMTAgKi8KKyAgICAgICAgICAgIGl4Kys7CisJfSBlbHNlIGlmICgoYyAmIDB4ZTApID09IDB4YzApIHsvKiAyLWJ5dGUgY29kZSwgc3RhcnRzIHdpdGggMTEwICovCisJICAgIGlmICgodXRmW2l4KzFdICYgMHhjMCApICE9IDB4ODApCisJICAgICAgICByZXR1cm4gMDsKKwkgICAgaXggKz0gMjsKKwl9IGVsc2UgaWYgKChjICYgMHhmMCkgPT0gMHhlMCkgey8qIDMtYnl0ZSBjb2RlLCBzdGFydHMgd2l0aCAxMTEwICovCisJICAgIGlmICgoKHV0ZltpeCsxXSAmIDB4YzApICE9IDB4ODApIHx8CisJICAgICAgICAoKHV0ZltpeCsyXSAmIDB4YzApICE9IDB4ODApKQorCQkgICAgcmV0dXJuIDA7CisJICAgIGl4ICs9IDM7CisJfSBlbHNlIGlmICgoYyAmIDB4ZjgpID09IDB4ZjApIHsvKiA0LWJ5dGUgY29kZSwgc3RhcnRzIHdpdGggMTExMTAgKi8KKwkgICAgaWYgKCgodXRmW2l4KzFdICYgMHhjMCkgIT0gMHg4MCkgfHwKKwkgICAgICAgICgodXRmW2l4KzJdICYgMHhjMCkgIT0gMHg4MCkgfHwKKwkJKCh1dGZbaXgrM10gJiAweGMwKSAhPSAweDgwKSkKKwkJICAgIHJldHVybiAwOworCSAgICBpeCArPSA0OworCX0gZWxzZQkJCQkvKiB1bmtub3duIGVuY29kaW5nICovCisJICAgIHJldHVybiAwOworICAgICAgfQorICAgICAgcmV0dXJuKDEpOworfQorCisvKioKKyAqIHhtbFVURjhTdHJzaXplOgorICogQHV0ZjogIGEgc2VxdWVuY2Ugb2YgVVRGLTggZW5jb2RlZCBieXRlcworICogQGxlbjogIHRoZSBudW1iZXIgb2YgY2hhcmFjdGVycyBpbiB0aGUgYXJyYXkKKyAqCisgKiBzdG9yYWdlIHNpemUgb2YgYW4gVVRGOCBzdHJpbmcKKyAqIHRoZSBiZWhhdmlvdXIgaXMgbm90IGdhcmFudGVlZCBpZiB0aGUgaW5wdXQgc3RyaW5nIGlzIG5vdCBVVEYtOAorICoKKyAqIFJldHVybnMgdGhlIHN0b3JhZ2Ugc2l6ZSBvZgorICogdGhlIGZpcnN0ICdsZW4nIGNoYXJhY3RlcnMgb2YgQVJSQVkKKyAqLworCitpbnQKK3htbFVURjhTdHJzaXplKGNvbnN0IHhtbENoYXIgKnV0ZiwgaW50IGxlbikgeworICAgIGNvbnN0IHhtbENoYXIgICAqcHRyPXV0ZjsKKyAgICB4bWxDaGFyICAgICAgICAgY2g7CisKKyAgICBpZiAodXRmID09IE5VTEwpCisgICAgICAgIHJldHVybigwKTsKKworICAgIGlmIChsZW4gPD0gMCkKKyAgICAgICAgcmV0dXJuKDApOworCisgICAgd2hpbGUgKCBsZW4tLSA+IDApIHsKKyAgICAgICAgaWYgKCAhKnB0ciApCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgaWYgKCAoY2ggPSAqcHRyKyspICYgMHg4MCkKKyAgICAgICAgICAgIHdoaWxlICgoY2g8PD0xKSAmIDB4ODAgKSB7CisgICAgICAgICAgICAgICAgcHRyKys7CisJCWlmICgqcHRyID09IDApIGJyZWFrOworCSAgICB9CisgICAgfQorICAgIHJldHVybiAocHRyIC0gdXRmKTsKK30KKworCisvKioKKyAqIHhtbFVURjhTdHJuZHVwOgorICogQHV0ZjogIHRoZSBpbnB1dCBVVEY4ICoKKyAqIEBsZW46ICB0aGUgbGVuIG9mIEB1dGYgKGluIGNoYXJzKQorICoKKyAqIGEgc3RybmR1cCBmb3IgYXJyYXkgb2YgVVRGOCdzCisgKgorICogUmV0dXJucyBhIG5ldyBVVEY4ICogb3IgTlVMTAorICovCit4bWxDaGFyICoKK3htbFVURjhTdHJuZHVwKGNvbnN0IHhtbENoYXIgKnV0ZiwgaW50IGxlbikgeworICAgIHhtbENoYXIgKnJldDsKKyAgICBpbnQgaTsKKworICAgIGlmICgodXRmID09IE5VTEwpIHx8IChsZW4gPCAwKSkgcmV0dXJuKE5VTEwpOworICAgIGkgPSB4bWxVVEY4U3Ryc2l6ZSh1dGYsIGxlbik7CisgICAgcmV0ID0gKHhtbENoYXIgKikgeG1sTWFsbG9jQXRvbWljKChpICsgMSkgKiBzaXplb2YoeG1sQ2hhcikpOworICAgIGlmIChyZXQgPT0gTlVMTCkgeworICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKyAgICAgICAgICAgICAgICAibWFsbG9jIG9mICVsZCBieXRlIGZhaWxlZFxuIiwKKyAgICAgICAgICAgICAgICAobGVuICsgMSkgKiAobG9uZylzaXplb2YoeG1sQ2hhcikpOworICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgfQorICAgIG1lbWNweShyZXQsIHV0ZiwgaSAqIHNpemVvZih4bWxDaGFyKSk7CisgICAgcmV0W2ldID0gMDsKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxVVEY4U3RycG9zOgorICogQHV0ZjogIHRoZSBpbnB1dCBVVEY4ICoKKyAqIEBwb3M6ICB0aGUgcG9zaXRpb24gb2YgdGhlIGRlc2lyZWQgVVRGOCBjaGFyIChpbiBjaGFycykKKyAqCisgKiBhIGZ1bmN0aW9uIHRvIHByb3ZpZGUgdGhlIGVxdWl2YWxlbnQgb2YgZmV0Y2hpbmcgYQorICogY2hhcmFjdGVyIGZyb20gYSBzdHJpbmcgYXJyYXkKKyAqCisgKiBSZXR1cm5zIGEgcG9pbnRlciB0byB0aGUgVVRGOCBjaGFyYWN0ZXIgb3IgTlVMTAorICovCitjb25zdCB4bWxDaGFyICoKK3htbFVURjhTdHJwb3MoY29uc3QgeG1sQ2hhciAqdXRmLCBpbnQgcG9zKSB7CisgICAgeG1sQ2hhciBjaDsKKworICAgIGlmICh1dGYgPT0gTlVMTCkgcmV0dXJuKE5VTEwpOworICAgIGlmIChwb3MgPCAwKQorICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgd2hpbGUgKHBvcy0tKSB7CisgICAgICAgIGlmICgoY2g9KnV0ZisrKSA9PSAwKSByZXR1cm4oTlVMTCk7CisgICAgICAgIGlmICggY2ggJiAweDgwICkgeworICAgICAgICAgICAgLyogaWYgbm90IHNpbXBsZSBhc2NpaSwgdmVyaWZ5IHByb3BlciBmb3JtYXQgKi8KKyAgICAgICAgICAgIGlmICggKGNoICYgMHhjMCkgIT0gMHhjMCApCisgICAgICAgICAgICAgICAgcmV0dXJuKE5VTEwpOworICAgICAgICAgICAgLyogdGhlbiBza2lwIG92ZXIgcmVtYWluaW5nIGJ5dGVzIGZvciB0aGlzIGNoYXIgKi8KKyAgICAgICAgICAgIHdoaWxlICggKGNoIDw8PSAxKSAmIDB4ODAgKQorICAgICAgICAgICAgICAgIGlmICggKCp1dGYrKyAmIDB4YzApICE9IDB4ODAgKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuKCh4bWxDaGFyICopdXRmKTsKK30KKworLyoqCisgKiB4bWxVVEY4U3RybG9jOgorICogQHV0ZjogIHRoZSBpbnB1dCBVVEY4ICoKKyAqIEB1dGZjaGFyOiAgdGhlIFVURjggY2hhcmFjdGVyIHRvIGJlIGZvdW5kCisgKgorICogYSBmdW5jdGlvbiB0byBwcm92aWRlIHRoZSByZWxhdGl2ZSBsb2NhdGlvbiBvZiBhIFVURjggY2hhcgorICoKKyAqIFJldHVybnMgdGhlIHJlbGF0aXZlIGNoYXJhY3RlciBwb3NpdGlvbiBvZiB0aGUgZGVzaXJlZCBjaGFyCisgKiBvciAtMSBpZiBub3QgZm91bmQKKyAqLworaW50Cit4bWxVVEY4U3RybG9jKGNvbnN0IHhtbENoYXIgKnV0ZiwgY29uc3QgeG1sQ2hhciAqdXRmY2hhcikgeworICAgIGludCBpLCBzaXplOworICAgIHhtbENoYXIgY2g7CisKKyAgICBpZiAodXRmPT1OVUxMIHx8IHV0ZmNoYXI9PU5VTEwpIHJldHVybiAtMTsKKyAgICBzaXplID0geG1sVVRGOFN0cnNpemUodXRmY2hhciwgMSk7CisgICAgICAgIGZvcihpPTA7IChjaD0qdXRmKSAhPSAwOyBpKyspIHsKKyAgICAgICAgICAgIGlmICh4bWxTdHJuY21wKHV0ZiwgdXRmY2hhciwgc2l6ZSk9PTApCisgICAgICAgICAgICAgICAgcmV0dXJuKGkpOworICAgICAgICAgICAgdXRmKys7CisgICAgICAgICAgICBpZiAoIGNoICYgMHg4MCApIHsKKyAgICAgICAgICAgICAgICAvKiBpZiBub3Qgc2ltcGxlIGFzY2lpLCB2ZXJpZnkgcHJvcGVyIGZvcm1hdCAqLworICAgICAgICAgICAgICAgIGlmICggKGNoICYgMHhjMCkgIT0gMHhjMCApCisgICAgICAgICAgICAgICAgICAgIHJldHVybigtMSk7CisgICAgICAgICAgICAgICAgLyogdGhlbiBza2lwIG92ZXIgcmVtYWluaW5nIGJ5dGVzIGZvciB0aGlzIGNoYXIgKi8KKyAgICAgICAgICAgICAgICB3aGlsZSAoIChjaCA8PD0gMSkgJiAweDgwICkKKyAgICAgICAgICAgICAgICAgICAgaWYgKCAoKnV0ZisrICYgMHhjMCkgIT0gMHg4MCApCisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4oLTEpOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICByZXR1cm4oLTEpOworfQorLyoqCisgKiB4bWxVVEY4U3Ryc3ViOgorICogQHV0ZjogIGEgc2VxdWVuY2Ugb2YgVVRGLTggZW5jb2RlZCBieXRlcworICogQHN0YXJ0OiByZWxhdGl2ZSBwb3Mgb2YgZmlyc3QgY2hhcgorICogQGxlbjogICB0b3RhbCBudW1iZXIgdG8gY29weQorICoKKyAqIENyZWF0ZSBhIHN1YnN0cmluZyBmcm9tIGEgZ2l2ZW4gVVRGLTggc3RyaW5nCisgKiBOb3RlOiAgcG9zaXRpb25zIGFyZSBnaXZlbiBpbiB1bml0cyBvZiBVVEYtOCBjaGFycworICoKKyAqIFJldHVybnMgYSBwb2ludGVyIHRvIGEgbmV3bHkgY3JlYXRlZCBzdHJpbmcKKyAqIG9yIE5VTEwgaWYgYW55IHByb2JsZW0KKyAqLworCit4bWxDaGFyICoKK3htbFVURjhTdHJzdWIoY29uc3QgeG1sQ2hhciAqdXRmLCBpbnQgc3RhcnQsIGludCBsZW4pIHsKKyAgICBpbnQgICAgICAgICAgICBpOworICAgIHhtbENoYXIgY2g7CisKKyAgICBpZiAodXRmID09IE5VTEwpIHJldHVybihOVUxMKTsKKyAgICBpZiAoc3RhcnQgPCAwKSByZXR1cm4oTlVMTCk7CisgICAgaWYgKGxlbiA8IDApIHJldHVybihOVUxMKTsKKworICAgIC8qCisgICAgICogU2tpcCBvdmVyIGFueSBsZWFkaW5nIGNoYXJzCisgICAgICovCisgICAgZm9yIChpID0gMDtpIDwgc3RhcnQ7aSsrKSB7CisgICAgICAgIGlmICgoY2g9KnV0ZisrKSA9PSAwKSByZXR1cm4oTlVMTCk7CisgICAgICAgIGlmICggY2ggJiAweDgwICkgeworICAgICAgICAgICAgLyogaWYgbm90IHNpbXBsZSBhc2NpaSwgdmVyaWZ5IHByb3BlciBmb3JtYXQgKi8KKyAgICAgICAgICAgIGlmICggKGNoICYgMHhjMCkgIT0gMHhjMCApCisgICAgICAgICAgICAgICAgcmV0dXJuKE5VTEwpOworICAgICAgICAgICAgLyogdGhlbiBza2lwIG92ZXIgcmVtYWluaW5nIGJ5dGVzIGZvciB0aGlzIGNoYXIgKi8KKyAgICAgICAgICAgIHdoaWxlICggKGNoIDw8PSAxKSAmIDB4ODAgKQorICAgICAgICAgICAgICAgIGlmICggKCp1dGYrKyAmIDB4YzApICE9IDB4ODAgKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICByZXR1cm4oeG1sVVRGOFN0cm5kdXAodXRmLCBsZW4pKTsKK30KKworI2RlZmluZSBib3R0b21feG1sc3RyaW5nCisjaW5jbHVkZSAiZWxmZ2NjaGFjay5oIgpkaWZmIC0tZ2l0IGEvbGlieG1sMi94bWx1bmljb2RlLmMgYi9saWJ4bWwyL3htbHVuaWNvZGUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZTZlOWE0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi94bWx1bmljb2RlLmMKQEAgLTAsMCArMSwzMTc5IEBACisvKgorICogeG1sdW5pY29kZS5jOiB0aGlzIG1vZHVsZSBpbXBsZW1lbnRzIHRoZSBVbmljb2RlIGNoYXJhY3RlciBBUElzCisgKgorICogVGhpcyBmaWxlIGlzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGZyb20gdGhlCisgKiBVQ1MgZGVzY3JpcHRpb24gZmlsZXMgb2YgdGhlIFVuaWNvZGUgQ2hhcmFjdGVyIERhdGFiYXNlCisgKiBodHRwOi8vd3d3LnVuaWNvZGUub3JnL1B1YmxpYy80LjAtVXBkYXRlMS9VQ0QtNC4wLjEuaHRtbAorICogdXNpbmcgdGhlIGdlblVuaWNvZGUucHkgUHl0aG9uIHNjcmlwdC4KKyAqCisgKiBHZW5lcmF0aW9uIGRhdGU6IE1vbiBNYXIgMjcgMTE6MDk6NTIgMjAwNgorICogU291cmNlczogQmxvY2tzLTQuMC4xLnR4dCBVbmljb2RlRGF0YS00LjAuMS50eHQKKyAqIERhbmllbCBWZWlsbGFyZCA8dmVpbGxhcmRAcmVkaGF0LmNvbT4KKyAqLworCisjZGVmaW5lIElOX0xJQlhNTAorI2luY2x1ZGUgImxpYnhtbC5oIgorCisjaWZkZWYgTElCWE1MX1VOSUNPREVfRU5BQkxFRAorCisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8bGlieG1sL3htbHZlcnNpb24uaD4KKyNpbmNsdWRlIDxsaWJ4bWwveG1sdW5pY29kZS5oPgorI2luY2x1ZGUgPGxpYnhtbC9jaHZhbGlkLmg+CisKK3R5cGVkZWYgaW50ICh4bWxJbnRGdW5jKShpbnQpOwkvKiBqdXN0IHRvIGtlZXAgb25lJ3MgbWluZCB1bnR3aXN0ZWQgKi8KKwordHlwZWRlZiBzdHJ1Y3QgeworICAgIGNvbnN0IGNoYXIgKnJhbmdlbmFtZTsKKyAgICB4bWxJbnRGdW5jICpmdW5jOworfSB4bWxVbmljb2RlUmFuZ2U7CisKK3R5cGVkZWYgc3RydWN0IHsKKyAgICB4bWxVbmljb2RlUmFuZ2UgKnRhYmxlOworICAgIGludAkJICAgIG51bWVudHJpZXM7Cit9IHhtbFVuaWNvZGVOYW1lVGFibGU7CisKKworc3RhdGljIHhtbEludEZ1bmMgKnhtbFVuaWNvZGVMb29rdXAoeG1sVW5pY29kZU5hbWVUYWJsZSAqdHB0ciwgY29uc3QgY2hhciAqdG5hbWUpOworCitzdGF0aWMgeG1sVW5pY29kZVJhbmdlIHhtbFVuaWNvZGVCbG9ja3NbXSA9IHsKKyAgeyJBZWdlYW5OdW1iZXJzIiwgeG1sVUNTSXNBZWdlYW5OdW1iZXJzfSwKKyAgeyJBbHBoYWJldGljUHJlc2VudGF0aW9uRm9ybXMiLCB4bWxVQ1NJc0FscGhhYmV0aWNQcmVzZW50YXRpb25Gb3Jtc30sCisgIHsiQXJhYmljIiwgeG1sVUNTSXNBcmFiaWN9LAorICB7IkFyYWJpY1ByZXNlbnRhdGlvbkZvcm1zLUEiLCB4bWxVQ1NJc0FyYWJpY1ByZXNlbnRhdGlvbkZvcm1zQX0sCisgIHsiQXJhYmljUHJlc2VudGF0aW9uRm9ybXMtQiIsIHhtbFVDU0lzQXJhYmljUHJlc2VudGF0aW9uRm9ybXNCfSwKKyAgeyJBcm1lbmlhbiIsIHhtbFVDU0lzQXJtZW5pYW59LAorICB7IkFycm93cyIsIHhtbFVDU0lzQXJyb3dzfSwKKyAgeyJCYXNpY0xhdGluIiwgeG1sVUNTSXNCYXNpY0xhdGlufSwKKyAgeyJCZW5nYWxpIiwgeG1sVUNTSXNCZW5nYWxpfSwKKyAgeyJCbG9ja0VsZW1lbnRzIiwgeG1sVUNTSXNCbG9ja0VsZW1lbnRzfSwKKyAgeyJCb3BvbW9mbyIsIHhtbFVDU0lzQm9wb21vZm99LAorICB7IkJvcG9tb2ZvRXh0ZW5kZWQiLCB4bWxVQ1NJc0JvcG9tb2ZvRXh0ZW5kZWR9LAorICB7IkJveERyYXdpbmciLCB4bWxVQ1NJc0JveERyYXdpbmd9LAorICB7IkJyYWlsbGVQYXR0ZXJucyIsIHhtbFVDU0lzQnJhaWxsZVBhdHRlcm5zfSwKKyAgeyJCdWhpZCIsIHhtbFVDU0lzQnVoaWR9LAorICB7IkJ5emFudGluZU11c2ljYWxTeW1ib2xzIiwgeG1sVUNTSXNCeXphbnRpbmVNdXNpY2FsU3ltYm9sc30sCisgIHsiQ0pLQ29tcGF0aWJpbGl0eSIsIHhtbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eX0sCisgIHsiQ0pLQ29tcGF0aWJpbGl0eUZvcm1zIiwgeG1sVUNTSXNDSktDb21wYXRpYmlsaXR5Rm9ybXN9LAorICB7IkNKS0NvbXBhdGliaWxpdHlJZGVvZ3JhcGhzIiwgeG1sVUNTSXNDSktDb21wYXRpYmlsaXR5SWRlb2dyYXBoc30sCisgIHsiQ0pLQ29tcGF0aWJpbGl0eUlkZW9ncmFwaHNTdXBwbGVtZW50IiwgeG1sVUNTSXNDSktDb21wYXRpYmlsaXR5SWRlb2dyYXBoc1N1cHBsZW1lbnR9LAorICB7IkNKS1JhZGljYWxzU3VwcGxlbWVudCIsIHhtbFVDU0lzQ0pLUmFkaWNhbHNTdXBwbGVtZW50fSwKKyAgeyJDSktTeW1ib2xzYW5kUHVuY3R1YXRpb24iLCB4bWxVQ1NJc0NKS1N5bWJvbHNhbmRQdW5jdHVhdGlvbn0sCisgIHsiQ0pLVW5pZmllZElkZW9ncmFwaHMiLCB4bWxVQ1NJc0NKS1VuaWZpZWRJZGVvZ3JhcGhzfSwKKyAgeyJDSktVbmlmaWVkSWRlb2dyYXBoc0V4dGVuc2lvbkEiLCB4bWxVQ1NJc0NKS1VuaWZpZWRJZGVvZ3JhcGhzRXh0ZW5zaW9uQX0sCisgIHsiQ0pLVW5pZmllZElkZW9ncmFwaHNFeHRlbnNpb25CIiwgeG1sVUNTSXNDSktVbmlmaWVkSWRlb2dyYXBoc0V4dGVuc2lvbkJ9LAorICB7IkNoZXJva2VlIiwgeG1sVUNTSXNDaGVyb2tlZX0sCisgIHsiQ29tYmluaW5nRGlhY3JpdGljYWxNYXJrcyIsIHhtbFVDU0lzQ29tYmluaW5nRGlhY3JpdGljYWxNYXJrc30sCisgIHsiQ29tYmluaW5nRGlhY3JpdGljYWxNYXJrc2ZvclN5bWJvbHMiLCB4bWxVQ1NJc0NvbWJpbmluZ0RpYWNyaXRpY2FsTWFya3Nmb3JTeW1ib2xzfSwKKyAgeyJDb21iaW5pbmdIYWxmTWFya3MiLCB4bWxVQ1NJc0NvbWJpbmluZ0hhbGZNYXJrc30sCisgIHsiQ29tYmluaW5nTWFya3Nmb3JTeW1ib2xzIiwgeG1sVUNTSXNDb21iaW5pbmdNYXJrc2ZvclN5bWJvbHN9LAorICB7IkNvbnRyb2xQaWN0dXJlcyIsIHhtbFVDU0lzQ29udHJvbFBpY3R1cmVzfSwKKyAgeyJDdXJyZW5jeVN5bWJvbHMiLCB4bWxVQ1NJc0N1cnJlbmN5U3ltYm9sc30sCisgIHsiQ3lwcmlvdFN5bGxhYmFyeSIsIHhtbFVDU0lzQ3lwcmlvdFN5bGxhYmFyeX0sCisgIHsiQ3lyaWxsaWMiLCB4bWxVQ1NJc0N5cmlsbGljfSwKKyAgeyJDeXJpbGxpY1N1cHBsZW1lbnQiLCB4bWxVQ1NJc0N5cmlsbGljU3VwcGxlbWVudH0sCisgIHsiRGVzZXJldCIsIHhtbFVDU0lzRGVzZXJldH0sCisgIHsiRGV2YW5hZ2FyaSIsIHhtbFVDU0lzRGV2YW5hZ2FyaX0sCisgIHsiRGluZ2JhdHMiLCB4bWxVQ1NJc0RpbmdiYXRzfSwKKyAgeyJFbmNsb3NlZEFscGhhbnVtZXJpY3MiLCB4bWxVQ1NJc0VuY2xvc2VkQWxwaGFudW1lcmljc30sCisgIHsiRW5jbG9zZWRDSktMZXR0ZXJzYW5kTW9udGhzIiwgeG1sVUNTSXNFbmNsb3NlZENKS0xldHRlcnNhbmRNb250aHN9LAorICB7IkV0aGlvcGljIiwgeG1sVUNTSXNFdGhpb3BpY30sCisgIHsiR2VuZXJhbFB1bmN0dWF0aW9uIiwgeG1sVUNTSXNHZW5lcmFsUHVuY3R1YXRpb259LAorICB7Ikdlb21ldHJpY1NoYXBlcyIsIHhtbFVDU0lzR2VvbWV0cmljU2hhcGVzfSwKKyAgeyJHZW9yZ2lhbiIsIHhtbFVDU0lzR2VvcmdpYW59LAorICB7IkdvdGhpYyIsIHhtbFVDU0lzR290aGljfSwKKyAgeyJHcmVlayIsIHhtbFVDU0lzR3JlZWt9LAorICB7IkdyZWVrRXh0ZW5kZWQiLCB4bWxVQ1NJc0dyZWVrRXh0ZW5kZWR9LAorICB7IkdyZWVrYW5kQ29wdGljIiwgeG1sVUNTSXNHcmVla2FuZENvcHRpY30sCisgIHsiR3VqYXJhdGkiLCB4bWxVQ1NJc0d1amFyYXRpfSwKKyAgeyJHdXJtdWtoaSIsIHhtbFVDU0lzR3VybXVraGl9LAorICB7IkhhbGZ3aWR0aGFuZEZ1bGx3aWR0aEZvcm1zIiwgeG1sVUNTSXNIYWxmd2lkdGhhbmRGdWxsd2lkdGhGb3Jtc30sCisgIHsiSGFuZ3VsQ29tcGF0aWJpbGl0eUphbW8iLCB4bWxVQ1NJc0hhbmd1bENvbXBhdGliaWxpdHlKYW1vfSwKKyAgeyJIYW5ndWxKYW1vIiwgeG1sVUNTSXNIYW5ndWxKYW1vfSwKKyAgeyJIYW5ndWxTeWxsYWJsZXMiLCB4bWxVQ1NJc0hhbmd1bFN5bGxhYmxlc30sCisgIHsiSGFudW5vbyIsIHhtbFVDU0lzSGFudW5vb30sCisgIHsiSGVicmV3IiwgeG1sVUNTSXNIZWJyZXd9LAorICB7IkhpZ2hQcml2YXRlVXNlU3Vycm9nYXRlcyIsIHhtbFVDU0lzSGlnaFByaXZhdGVVc2VTdXJyb2dhdGVzfSwKKyAgeyJIaWdoU3Vycm9nYXRlcyIsIHhtbFVDU0lzSGlnaFN1cnJvZ2F0ZXN9LAorICB7IkhpcmFnYW5hIiwgeG1sVUNTSXNIaXJhZ2FuYX0sCisgIHsiSVBBRXh0ZW5zaW9ucyIsIHhtbFVDU0lzSVBBRXh0ZW5zaW9uc30sCisgIHsiSWRlb2dyYXBoaWNEZXNjcmlwdGlvbkNoYXJhY3RlcnMiLCB4bWxVQ1NJc0lkZW9ncmFwaGljRGVzY3JpcHRpb25DaGFyYWN0ZXJzfSwKKyAgeyJLYW5idW4iLCB4bWxVQ1NJc0thbmJ1bn0sCisgIHsiS2FuZ3hpUmFkaWNhbHMiLCB4bWxVQ1NJc0thbmd4aVJhZGljYWxzfSwKKyAgeyJLYW5uYWRhIiwgeG1sVUNTSXNLYW5uYWRhfSwKKyAgeyJLYXRha2FuYSIsIHhtbFVDU0lzS2F0YWthbmF9LAorICB7IkthdGFrYW5hUGhvbmV0aWNFeHRlbnNpb25zIiwgeG1sVUNTSXNLYXRha2FuYVBob25ldGljRXh0ZW5zaW9uc30sCisgIHsiS2htZXIiLCB4bWxVQ1NJc0tobWVyfSwKKyAgeyJLaG1lclN5bWJvbHMiLCB4bWxVQ1NJc0tobWVyU3ltYm9sc30sCisgIHsiTGFvIiwgeG1sVUNTSXNMYW99LAorICB7IkxhdGluLTFTdXBwbGVtZW50IiwgeG1sVUNTSXNMYXRpbjFTdXBwbGVtZW50fSwKKyAgeyJMYXRpbkV4dGVuZGVkLUEiLCB4bWxVQ1NJc0xhdGluRXh0ZW5kZWRBfSwKKyAgeyJMYXRpbkV4dGVuZGVkLUIiLCB4bWxVQ1NJc0xhdGluRXh0ZW5kZWRCfSwKKyAgeyJMYXRpbkV4dGVuZGVkQWRkaXRpb25hbCIsIHhtbFVDU0lzTGF0aW5FeHRlbmRlZEFkZGl0aW9uYWx9LAorICB7IkxldHRlcmxpa2VTeW1ib2xzIiwgeG1sVUNTSXNMZXR0ZXJsaWtlU3ltYm9sc30sCisgIHsiTGltYnUiLCB4bWxVQ1NJc0xpbWJ1fSwKKyAgeyJMaW5lYXJCSWRlb2dyYW1zIiwgeG1sVUNTSXNMaW5lYXJCSWRlb2dyYW1zfSwKKyAgeyJMaW5lYXJCU3lsbGFiYXJ5IiwgeG1sVUNTSXNMaW5lYXJCU3lsbGFiYXJ5fSwKKyAgeyJMb3dTdXJyb2dhdGVzIiwgeG1sVUNTSXNMb3dTdXJyb2dhdGVzfSwKKyAgeyJNYWxheWFsYW0iLCB4bWxVQ1NJc01hbGF5YWxhbX0sCisgIHsiTWF0aGVtYXRpY2FsQWxwaGFudW1lcmljU3ltYm9scyIsIHhtbFVDU0lzTWF0aGVtYXRpY2FsQWxwaGFudW1lcmljU3ltYm9sc30sCisgIHsiTWF0aGVtYXRpY2FsT3BlcmF0b3JzIiwgeG1sVUNTSXNNYXRoZW1hdGljYWxPcGVyYXRvcnN9LAorICB7Ik1pc2NlbGxhbmVvdXNNYXRoZW1hdGljYWxTeW1ib2xzLUEiLCB4bWxVQ1NJc01pc2NlbGxhbmVvdXNNYXRoZW1hdGljYWxTeW1ib2xzQX0sCisgIHsiTWlzY2VsbGFuZW91c01hdGhlbWF0aWNhbFN5bWJvbHMtQiIsIHhtbFVDU0lzTWlzY2VsbGFuZW91c01hdGhlbWF0aWNhbFN5bWJvbHNCfSwKKyAgeyJNaXNjZWxsYW5lb3VzU3ltYm9scyIsIHhtbFVDU0lzTWlzY2VsbGFuZW91c1N5bWJvbHN9LAorICB7Ik1pc2NlbGxhbmVvdXNTeW1ib2xzYW5kQXJyb3dzIiwgeG1sVUNTSXNNaXNjZWxsYW5lb3VzU3ltYm9sc2FuZEFycm93c30sCisgIHsiTWlzY2VsbGFuZW91c1RlY2huaWNhbCIsIHhtbFVDU0lzTWlzY2VsbGFuZW91c1RlY2huaWNhbH0sCisgIHsiTW9uZ29saWFuIiwgeG1sVUNTSXNNb25nb2xpYW59LAorICB7Ik11c2ljYWxTeW1ib2xzIiwgeG1sVUNTSXNNdXNpY2FsU3ltYm9sc30sCisgIHsiTXlhbm1hciIsIHhtbFVDU0lzTXlhbm1hcn0sCisgIHsiTnVtYmVyRm9ybXMiLCB4bWxVQ1NJc051bWJlckZvcm1zfSwKKyAgeyJPZ2hhbSIsIHhtbFVDU0lzT2doYW19LAorICB7Ik9sZEl0YWxpYyIsIHhtbFVDU0lzT2xkSXRhbGljfSwKKyAgeyJPcHRpY2FsQ2hhcmFjdGVyUmVjb2duaXRpb24iLCB4bWxVQ1NJc09wdGljYWxDaGFyYWN0ZXJSZWNvZ25pdGlvbn0sCisgIHsiT3JpeWEiLCB4bWxVQ1NJc09yaXlhfSwKKyAgeyJPc21hbnlhIiwgeG1sVUNTSXNPc21hbnlhfSwKKyAgeyJQaG9uZXRpY0V4dGVuc2lvbnMiLCB4bWxVQ1NJc1Bob25ldGljRXh0ZW5zaW9uc30sCisgIHsiUHJpdmF0ZVVzZSIsIHhtbFVDU0lzUHJpdmF0ZVVzZX0sCisgIHsiUHJpdmF0ZVVzZUFyZWEiLCB4bWxVQ1NJc1ByaXZhdGVVc2VBcmVhfSwKKyAgeyJSdW5pYyIsIHhtbFVDU0lzUnVuaWN9LAorICB7IlNoYXZpYW4iLCB4bWxVQ1NJc1NoYXZpYW59LAorICB7IlNpbmhhbGEiLCB4bWxVQ1NJc1NpbmhhbGF9LAorICB7IlNtYWxsRm9ybVZhcmlhbnRzIiwgeG1sVUNTSXNTbWFsbEZvcm1WYXJpYW50c30sCisgIHsiU3BhY2luZ01vZGlmaWVyTGV0dGVycyIsIHhtbFVDU0lzU3BhY2luZ01vZGlmaWVyTGV0dGVyc30sCisgIHsiU3BlY2lhbHMiLCB4bWxVQ1NJc1NwZWNpYWxzfSwKKyAgeyJTdXBlcnNjcmlwdHNhbmRTdWJzY3JpcHRzIiwgeG1sVUNTSXNTdXBlcnNjcmlwdHNhbmRTdWJzY3JpcHRzfSwKKyAgeyJTdXBwbGVtZW50YWxBcnJvd3MtQSIsIHhtbFVDU0lzU3VwcGxlbWVudGFsQXJyb3dzQX0sCisgIHsiU3VwcGxlbWVudGFsQXJyb3dzLUIiLCB4bWxVQ1NJc1N1cHBsZW1lbnRhbEFycm93c0J9LAorICB7IlN1cHBsZW1lbnRhbE1hdGhlbWF0aWNhbE9wZXJhdG9ycyIsIHhtbFVDU0lzU3VwcGxlbWVudGFsTWF0aGVtYXRpY2FsT3BlcmF0b3JzfSwKKyAgeyJTdXBwbGVtZW50YXJ5UHJpdmF0ZVVzZUFyZWEtQSIsIHhtbFVDU0lzU3VwcGxlbWVudGFyeVByaXZhdGVVc2VBcmVhQX0sCisgIHsiU3VwcGxlbWVudGFyeVByaXZhdGVVc2VBcmVhLUIiLCB4bWxVQ1NJc1N1cHBsZW1lbnRhcnlQcml2YXRlVXNlQXJlYUJ9LAorICB7IlN5cmlhYyIsIHhtbFVDU0lzU3lyaWFjfSwKKyAgeyJUYWdhbG9nIiwgeG1sVUNTSXNUYWdhbG9nfSwKKyAgeyJUYWdiYW53YSIsIHhtbFVDU0lzVGFnYmFud2F9LAorICB7IlRhZ3MiLCB4bWxVQ1NJc1RhZ3N9LAorICB7IlRhaUxlIiwgeG1sVUNTSXNUYWlMZX0sCisgIHsiVGFpWHVhbkppbmdTeW1ib2xzIiwgeG1sVUNTSXNUYWlYdWFuSmluZ1N5bWJvbHN9LAorICB7IlRhbWlsIiwgeG1sVUNTSXNUYW1pbH0sCisgIHsiVGVsdWd1IiwgeG1sVUNTSXNUZWx1Z3V9LAorICB7IlRoYWFuYSIsIHhtbFVDU0lzVGhhYW5hfSwKKyAgeyJUaGFpIiwgeG1sVUNTSXNUaGFpfSwKKyAgeyJUaWJldGFuIiwgeG1sVUNTSXNUaWJldGFufSwKKyAgeyJVZ2FyaXRpYyIsIHhtbFVDU0lzVWdhcml0aWN9LAorICB7IlVuaWZpZWRDYW5hZGlhbkFib3JpZ2luYWxTeWxsYWJpY3MiLCB4bWxVQ1NJc1VuaWZpZWRDYW5hZGlhbkFib3JpZ2luYWxTeWxsYWJpY3N9LAorICB7IlZhcmlhdGlvblNlbGVjdG9ycyIsIHhtbFVDU0lzVmFyaWF0aW9uU2VsZWN0b3JzfSwKKyAgeyJWYXJpYXRpb25TZWxlY3RvcnNTdXBwbGVtZW50IiwgeG1sVUNTSXNWYXJpYXRpb25TZWxlY3RvcnNTdXBwbGVtZW50fSwKKyAgeyJZaVJhZGljYWxzIiwgeG1sVUNTSXNZaVJhZGljYWxzfSwKKyAgeyJZaVN5bGxhYmxlcyIsIHhtbFVDU0lzWWlTeWxsYWJsZXN9LAorICB7IllpamluZ0hleGFncmFtU3ltYm9scyIsIHhtbFVDU0lzWWlqaW5nSGV4YWdyYW1TeW1ib2xzfX07CisKK3N0YXRpYyB4bWxVbmljb2RlUmFuZ2UgeG1sVW5pY29kZUNhdHNbXSA9IHsKKyAgeyJDIiwgeG1sVUNTSXNDYXRDfSwKKyAgeyJDYyIsIHhtbFVDU0lzQ2F0Q2N9LAorICB7IkNmIiwgeG1sVUNTSXNDYXRDZn0sCisgIHsiQ28iLCB4bWxVQ1NJc0NhdENvfSwKKyAgeyJDcyIsIHhtbFVDU0lzQ2F0Q3N9LAorICB7IkwiLCB4bWxVQ1NJc0NhdEx9LAorICB7IkxsIiwgeG1sVUNTSXNDYXRMbH0sCisgIHsiTG0iLCB4bWxVQ1NJc0NhdExtfSwKKyAgeyJMbyIsIHhtbFVDU0lzQ2F0TG99LAorICB7Ikx0IiwgeG1sVUNTSXNDYXRMdH0sCisgIHsiTHUiLCB4bWxVQ1NJc0NhdEx1fSwKKyAgeyJNIiwgeG1sVUNTSXNDYXRNfSwKKyAgeyJNYyIsIHhtbFVDU0lzQ2F0TWN9LAorICB7Ik1lIiwgeG1sVUNTSXNDYXRNZX0sCisgIHsiTW4iLCB4bWxVQ1NJc0NhdE1ufSwKKyAgeyJOIiwgeG1sVUNTSXNDYXROfSwKKyAgeyJOZCIsIHhtbFVDU0lzQ2F0TmR9LAorICB7Ik5sIiwgeG1sVUNTSXNDYXRObH0sCisgIHsiTm8iLCB4bWxVQ1NJc0NhdE5vfSwKKyAgeyJQIiwgeG1sVUNTSXNDYXRQfSwKKyAgeyJQYyIsIHhtbFVDU0lzQ2F0UGN9LAorICB7IlBkIiwgeG1sVUNTSXNDYXRQZH0sCisgIHsiUGUiLCB4bWxVQ1NJc0NhdFBlfSwKKyAgeyJQZiIsIHhtbFVDU0lzQ2F0UGZ9LAorICB7IlBpIiwgeG1sVUNTSXNDYXRQaX0sCisgIHsiUG8iLCB4bWxVQ1NJc0NhdFBvfSwKKyAgeyJQcyIsIHhtbFVDU0lzQ2F0UHN9LAorICB7IlMiLCB4bWxVQ1NJc0NhdFN9LAorICB7IlNjIiwgeG1sVUNTSXNDYXRTY30sCisgIHsiU2siLCB4bWxVQ1NJc0NhdFNrfSwKKyAgeyJTbSIsIHhtbFVDU0lzQ2F0U219LAorICB7IlNvIiwgeG1sVUNTSXNDYXRTb30sCisgIHsiWiIsIHhtbFVDU0lzQ2F0Wn0sCisgIHsiWmwiLCB4bWxVQ1NJc0NhdFpsfSwKKyAgeyJacCIsIHhtbFVDU0lzQ2F0WnB9LAorICB7IlpzIiwgeG1sVUNTSXNDYXRac319OworCitzdGF0aWMgY29uc3QgeG1sQ2hTUmFuZ2UgeG1sQ1NbXSA9IHt7MHgwLCAweDFmfSwgezB4N2YsIDB4OWZ9LAorICAgIHsweGFkLCAweGFkfSwgezB4NjAwLCAweDYwM30sIHsweDZkZCwgMHg2ZGR9LCB7MHg3MGYsIDB4NzBmfSwKKyAgICB7MHgxN2I0LCAweDE3YjV9LCB7MHgyMDBiLCAweDIwMGZ9LCB7MHgyMDJhLCAweDIwMmV9LCB7MHgyMDYwLCAweDIwNjN9LAorICAgIHsweDIwNmEsIDB4MjA2Zn0sIHsweGQ4MDAsIDB4ZDgwMH0sIHsweGRiN2YsIDB4ZGI4MH0sIHsweGRiZmYsIDB4ZGMwMH0sCisgICAgezB4ZGZmZiwgMHhlMDAwfSwgezB4ZjhmZiwgMHhmOGZmfSwgezB4ZmVmZiwgMHhmZWZmfSwgezB4ZmZmOSwgMHhmZmZifSB9Oworc3RhdGljIGNvbnN0IHhtbENoTFJhbmdlIHhtbENMW10gPSB7ezB4MWQxNzMsIDB4MWQxN2F9LCB7MHhlMDAwMSwgMHhlMDAwMX0sCisgICAgezB4ZTAwMjAsIDB4ZTAwN2Z9LCB7MHhmMDAwMCwgMHhmMDAwMH0sIHsweGZmZmZkLCAweGZmZmZkfSwKKyAgICB7MHgxMDAwMDAsIDB4MTAwMDAwfSwgezB4MTBmZmZkLCAweDEwZmZmZH0gfTsKK3N0YXRpYyB4bWxDaFJhbmdlR3JvdXAgeG1sQ0cgPSB7MTgsNyx4bWxDUyx4bWxDTH07CisKK3N0YXRpYyBjb25zdCB4bWxDaFNSYW5nZSB4bWxDZlNbXSA9IHt7MHhhZCwgMHhhZH0sIHsweDYwMCwgMHg2MDN9LAorICAgIHsweDZkZCwgMHg2ZGR9LCB7MHg3MGYsIDB4NzBmfSwgezB4MTdiNCwgMHgxN2I1fSwgezB4MjAwYiwgMHgyMDBmfSwKKyAgICB7MHgyMDJhLCAweDIwMmV9LCB7MHgyMDYwLCAweDIwNjN9LCB7MHgyMDZhLCAweDIwNmZ9LCB7MHhmZWZmLCAweGZlZmZ9LAorICAgIHsweGZmZjksIDB4ZmZmYn0gfTsKK3N0YXRpYyBjb25zdCB4bWxDaExSYW5nZSB4bWxDZkxbXSA9IHt7MHgxZDE3MywgMHgxZDE3YX0sIHsweGUwMDAxLCAweGUwMDAxfSwKKyAgICB7MHhlMDAyMCwgMHhlMDA3Zn0gfTsKK3N0YXRpYyB4bWxDaFJhbmdlR3JvdXAgeG1sQ2ZHID0gezExLDMseG1sQ2ZTLHhtbENmTH07CisKK3N0YXRpYyBjb25zdCB4bWxDaFNSYW5nZSB4bWxMU1tdID0ge3sweDQxLCAweDVhfSwgezB4NjEsIDB4N2F9LAorICAgIHsweGFhLCAweGFhfSwgezB4YjUsIDB4YjV9LCB7MHhiYSwgMHhiYX0sIHsweGMwLCAweGQ2fSwgezB4ZDgsIDB4ZjZ9LAorICAgIHsweGY4LCAweDIzNn0sIHsweDI1MCwgMHgyYzF9LCB7MHgyYzYsIDB4MmQxfSwgezB4MmUwLCAweDJlNH0sCisgICAgezB4MmVlLCAweDJlZX0sIHsweDM3YSwgMHgzN2F9LCB7MHgzODYsIDB4Mzg2fSwgezB4Mzg4LCAweDM4YX0sCisgICAgezB4MzhjLCAweDM4Y30sIHsweDM4ZSwgMHgzYTF9LCB7MHgzYTMsIDB4M2NlfSwgezB4M2QwLCAweDNmNX0sCisgICAgezB4M2Y3LCAweDNmYn0sIHsweDQwMCwgMHg0ODF9LCB7MHg0OGEsIDB4NGNlfSwgezB4NGQwLCAweDRmNX0sCisgICAgezB4NGY4LCAweDRmOX0sIHsweDUwMCwgMHg1MGZ9LCB7MHg1MzEsIDB4NTU2fSwgezB4NTU5LCAweDU1OX0sCisgICAgezB4NTYxLCAweDU4N30sIHsweDVkMCwgMHg1ZWF9LCB7MHg1ZjAsIDB4NWYyfSwgezB4NjIxLCAweDYzYX0sCisgICAgezB4NjQwLCAweDY0YX0sIHsweDY2ZSwgMHg2NmZ9LCB7MHg2NzEsIDB4NmQzfSwgezB4NmQ1LCAweDZkNX0sCisgICAgezB4NmU1LCAweDZlNn0sIHsweDZlZSwgMHg2ZWZ9LCB7MHg2ZmEsIDB4NmZjfSwgezB4NmZmLCAweDZmZn0sCisgICAgezB4NzEwLCAweDcxMH0sIHsweDcxMiwgMHg3MmZ9LCB7MHg3NGQsIDB4NzRmfSwgezB4NzgwLCAweDdhNX0sCisgICAgezB4N2IxLCAweDdiMX0sIHsweDkwNCwgMHg5Mzl9LCB7MHg5M2QsIDB4OTNkfSwgezB4OTUwLCAweDk1MH0sCisgICAgezB4OTU4LCAweDk2MX0sIHsweDk4NSwgMHg5OGN9LCB7MHg5OGYsIDB4OTkwfSwgezB4OTkzLCAweDlhOH0sCisgICAgezB4OWFhLCAweDliMH0sIHsweDliMiwgMHg5YjJ9LCB7MHg5YjYsIDB4OWI5fSwgezB4OWJkLCAweDliZH0sCisgICAgezB4OWRjLCAweDlkZH0sIHsweDlkZiwgMHg5ZTF9LCB7MHg5ZjAsIDB4OWYxfSwgezB4YTA1LCAweGEwYX0sCisgICAgezB4YTBmLCAweGExMH0sIHsweGExMywgMHhhMjh9LCB7MHhhMmEsIDB4YTMwfSwgezB4YTMyLCAweGEzM30sCisgICAgezB4YTM1LCAweGEzNn0sIHsweGEzOCwgMHhhMzl9LCB7MHhhNTksIDB4YTVjfSwgezB4YTVlLCAweGE1ZX0sCisgICAgezB4YTcyLCAweGE3NH0sIHsweGE4NSwgMHhhOGR9LCB7MHhhOGYsIDB4YTkxfSwgezB4YTkzLCAweGFhOH0sCisgICAgezB4YWFhLCAweGFiMH0sIHsweGFiMiwgMHhhYjN9LCB7MHhhYjUsIDB4YWI5fSwgezB4YWJkLCAweGFiZH0sCisgICAgezB4YWQwLCAweGFkMH0sIHsweGFlMCwgMHhhZTF9LCB7MHhiMDUsIDB4YjBjfSwgezB4YjBmLCAweGIxMH0sCisgICAgezB4YjEzLCAweGIyOH0sIHsweGIyYSwgMHhiMzB9LCB7MHhiMzIsIDB4YjMzfSwgezB4YjM1LCAweGIzOX0sCisgICAgezB4YjNkLCAweGIzZH0sIHsweGI1YywgMHhiNWR9LCB7MHhiNWYsIDB4YjYxfSwgezB4YjcxLCAweGI3MX0sCisgICAgezB4YjgzLCAweGI4M30sIHsweGI4NSwgMHhiOGF9LCB7MHhiOGUsIDB4YjkwfSwgezB4YjkyLCAweGI5NX0sCisgICAgezB4Yjk5LCAweGI5YX0sIHsweGI5YywgMHhiOWN9LCB7MHhiOWUsIDB4YjlmfSwgezB4YmEzLCAweGJhNH0sCisgICAgezB4YmE4LCAweGJhYX0sIHsweGJhZSwgMHhiYjV9LCB7MHhiYjcsIDB4YmI5fSwgezB4YzA1LCAweGMwY30sCisgICAgezB4YzBlLCAweGMxMH0sIHsweGMxMiwgMHhjMjh9LCB7MHhjMmEsIDB4YzMzfSwgezB4YzM1LCAweGMzOX0sCisgICAgezB4YzYwLCAweGM2MX0sIHsweGM4NSwgMHhjOGN9LCB7MHhjOGUsIDB4YzkwfSwgezB4YzkyLCAweGNhOH0sCisgICAgezB4Y2FhLCAweGNiM30sIHsweGNiNSwgMHhjYjl9LCB7MHhjYmQsIDB4Y2JkfSwgezB4Y2RlLCAweGNkZX0sCisgICAgezB4Y2UwLCAweGNlMX0sIHsweGQwNSwgMHhkMGN9LCB7MHhkMGUsIDB4ZDEwfSwgezB4ZDEyLCAweGQyOH0sCisgICAgezB4ZDJhLCAweGQzOX0sIHsweGQ2MCwgMHhkNjF9LCB7MHhkODUsIDB4ZDk2fSwgezB4ZDlhLCAweGRiMX0sCisgICAgezB4ZGIzLCAweGRiYn0sIHsweGRiZCwgMHhkYmR9LCB7MHhkYzAsIDB4ZGM2fSwgezB4ZTAxLCAweGUzMH0sCisgICAgezB4ZTMyLCAweGUzM30sIHsweGU0MCwgMHhlNDZ9LCB7MHhlODEsIDB4ZTgyfSwgezB4ZTg0LCAweGU4NH0sCisgICAgezB4ZTg3LCAweGU4OH0sIHsweGU4YSwgMHhlOGF9LCB7MHhlOGQsIDB4ZThkfSwgezB4ZTk0LCAweGU5N30sCisgICAgezB4ZTk5LCAweGU5Zn0sIHsweGVhMSwgMHhlYTN9LCB7MHhlYTUsIDB4ZWE1fSwgezB4ZWE3LCAweGVhN30sCisgICAgezB4ZWFhLCAweGVhYn0sIHsweGVhZCwgMHhlYjB9LCB7MHhlYjIsIDB4ZWIzfSwgezB4ZWJkLCAweGViZH0sCisgICAgezB4ZWMwLCAweGVjNH0sIHsweGVjNiwgMHhlYzZ9LCB7MHhlZGMsIDB4ZWRkfSwgezB4ZjAwLCAweGYwMH0sCisgICAgezB4ZjQwLCAweGY0N30sIHsweGY0OSwgMHhmNmF9LCB7MHhmODgsIDB4ZjhifSwgezB4MTAwMCwgMHgxMDIxfSwKKyAgICB7MHgxMDIzLCAweDEwMjd9LCB7MHgxMDI5LCAweDEwMmF9LCB7MHgxMDUwLCAweDEwNTV9LCB7MHgxMGEwLCAweDEwYzV9LAorICAgIHsweDEwZDAsIDB4MTBmOH0sIHsweDExMDAsIDB4MTE1OX0sIHsweDExNWYsIDB4MTFhMn0sIHsweDExYTgsIDB4MTFmOX0sCisgICAgezB4MTIwMCwgMHgxMjA2fSwgezB4MTIwOCwgMHgxMjQ2fSwgezB4MTI0OCwgMHgxMjQ4fSwgezB4MTI0YSwgMHgxMjRkfSwKKyAgICB7MHgxMjUwLCAweDEyNTZ9LCB7MHgxMjU4LCAweDEyNTh9LCB7MHgxMjVhLCAweDEyNWR9LCB7MHgxMjYwLCAweDEyODZ9LAorICAgIHsweDEyODgsIDB4MTI4OH0sIHsweDEyOGEsIDB4MTI4ZH0sIHsweDEyOTAsIDB4MTJhZX0sIHsweDEyYjAsIDB4MTJiMH0sCisgICAgezB4MTJiMiwgMHgxMmI1fSwgezB4MTJiOCwgMHgxMmJlfSwgezB4MTJjMCwgMHgxMmMwfSwgezB4MTJjMiwgMHgxMmM1fSwKKyAgICB7MHgxMmM4LCAweDEyY2V9LCB7MHgxMmQwLCAweDEyZDZ9LCB7MHgxMmQ4LCAweDEyZWV9LCB7MHgxMmYwLCAweDEzMGV9LAorICAgIHsweDEzMTAsIDB4MTMxMH0sIHsweDEzMTIsIDB4MTMxNX0sIHsweDEzMTgsIDB4MTMxZX0sIHsweDEzMjAsIDB4MTM0Nn0sCisgICAgezB4MTM0OCwgMHgxMzVhfSwgezB4MTNhMCwgMHgxM2Y0fSwgezB4MTQwMSwgMHgxNjZjfSwgezB4MTY2ZiwgMHgxNjc2fSwKKyAgICB7MHgxNjgxLCAweDE2OWF9LCB7MHgxNmEwLCAweDE2ZWF9LCB7MHgxNzAwLCAweDE3MGN9LCB7MHgxNzBlLCAweDE3MTF9LAorICAgIHsweDE3MjAsIDB4MTczMX0sIHsweDE3NDAsIDB4MTc1MX0sIHsweDE3NjAsIDB4MTc2Y30sIHsweDE3NmUsIDB4MTc3MH0sCisgICAgezB4MTc4MCwgMHgxN2IzfSwgezB4MTdkNywgMHgxN2Q3fSwgezB4MTdkYywgMHgxN2RjfSwgezB4MTgyMCwgMHgxODc3fSwKKyAgICB7MHgxODgwLCAweDE4YTh9LCB7MHgxOTAwLCAweDE5MWN9LCB7MHgxOTUwLCAweDE5NmR9LCB7MHgxOTcwLCAweDE5NzR9LAorICAgIHsweDFkMDAsIDB4MWQ2Yn0sIHsweDFlMDAsIDB4MWU5Yn0sIHsweDFlYTAsIDB4MWVmOX0sIHsweDFmMDAsIDB4MWYxNX0sCisgICAgezB4MWYxOCwgMHgxZjFkfSwgezB4MWYyMCwgMHgxZjQ1fSwgezB4MWY0OCwgMHgxZjRkfSwgezB4MWY1MCwgMHgxZjU3fSwKKyAgICB7MHgxZjU5LCAweDFmNTl9LCB7MHgxZjViLCAweDFmNWJ9LCB7MHgxZjVkLCAweDFmNWR9LCB7MHgxZjVmLCAweDFmN2R9LAorICAgIHsweDFmODAsIDB4MWZiNH0sIHsweDFmYjYsIDB4MWZiY30sIHsweDFmYmUsIDB4MWZiZX0sIHsweDFmYzIsIDB4MWZjNH0sCisgICAgezB4MWZjNiwgMHgxZmNjfSwgezB4MWZkMCwgMHgxZmQzfSwgezB4MWZkNiwgMHgxZmRifSwgezB4MWZlMCwgMHgxZmVjfSwKKyAgICB7MHgxZmYyLCAweDFmZjR9LCB7MHgxZmY2LCAweDFmZmN9LCB7MHgyMDcxLCAweDIwNzF9LCB7MHgyMDdmLCAweDIwN2Z9LAorICAgIHsweDIxMDIsIDB4MjEwMn0sIHsweDIxMDcsIDB4MjEwN30sIHsweDIxMGEsIDB4MjExM30sIHsweDIxMTUsIDB4MjExNX0sCisgICAgezB4MjExOSwgMHgyMTFkfSwgezB4MjEyNCwgMHgyMTI0fSwgezB4MjEyNiwgMHgyMTI2fSwgezB4MjEyOCwgMHgyMTI4fSwKKyAgICB7MHgyMTJhLCAweDIxMmR9LCB7MHgyMTJmLCAweDIxMzF9LCB7MHgyMTMzLCAweDIxMzl9LCB7MHgyMTNkLCAweDIxM2Z9LAorICAgIHsweDIxNDUsIDB4MjE0OX0sIHsweDMwMDUsIDB4MzAwNn0sIHsweDMwMzEsIDB4MzAzNX0sIHsweDMwM2IsIDB4MzAzY30sCisgICAgezB4MzA0MSwgMHgzMDk2fSwgezB4MzA5ZCwgMHgzMDlmfSwgezB4MzBhMSwgMHgzMGZhfSwgezB4MzBmYywgMHgzMGZmfSwKKyAgICB7MHgzMTA1LCAweDMxMmN9LCB7MHgzMTMxLCAweDMxOGV9LCB7MHgzMWEwLCAweDMxYjd9LCB7MHgzMWYwLCAweDMxZmZ9LAorICAgIHsweDM0MDAsIDB4MzQwMH0sIHsweDRkYjUsIDB4NGRiNX0sIHsweDRlMDAsIDB4NGUwMH0sIHsweDlmYTUsIDB4OWZhNX0sCisgICAgezB4YTAwMCwgMHhhNDhjfSwgezB4YWMwMCwgMHhhYzAwfSwgezB4ZDdhMywgMHhkN2EzfSwgezB4ZjkwMCwgMHhmYTJkfSwKKyAgICB7MHhmYTMwLCAweGZhNmF9LCB7MHhmYjAwLCAweGZiMDZ9LCB7MHhmYjEzLCAweGZiMTd9LCB7MHhmYjFkLCAweGZiMWR9LAorICAgIHsweGZiMWYsIDB4ZmIyOH0sIHsweGZiMmEsIDB4ZmIzNn0sIHsweGZiMzgsIDB4ZmIzY30sIHsweGZiM2UsIDB4ZmIzZX0sCisgICAgezB4ZmI0MCwgMHhmYjQxfSwgezB4ZmI0MywgMHhmYjQ0fSwgezB4ZmI0NiwgMHhmYmIxfSwgezB4ZmJkMywgMHhmZDNkfSwKKyAgICB7MHhmZDUwLCAweGZkOGZ9LCB7MHhmZDkyLCAweGZkYzd9LCB7MHhmZGYwLCAweGZkZmJ9LCB7MHhmZTcwLCAweGZlNzR9LAorICAgIHsweGZlNzYsIDB4ZmVmY30sIHsweGZmMjEsIDB4ZmYzYX0sIHsweGZmNDEsIDB4ZmY1YX0sIHsweGZmNjYsIDB4ZmZiZX0sCisgICAgezB4ZmZjMiwgMHhmZmM3fSwgezB4ZmZjYSwgMHhmZmNmfSwgezB4ZmZkMiwgMHhmZmQ3fSwgezB4ZmZkYSwgMHhmZmRjfSB9Oworc3RhdGljIGNvbnN0IHhtbENoTFJhbmdlIHhtbExMW10gPSB7ezB4MTAwMDAsIDB4MTAwMGJ9LCB7MHgxMDAwZCwgMHgxMDAyNn0sCisgICAgezB4MTAwMjgsIDB4MTAwM2F9LCB7MHgxMDAzYywgMHgxMDAzZH0sIHsweDEwMDNmLCAweDEwMDRkfSwKKyAgICB7MHgxMDA1MCwgMHgxMDA1ZH0sIHsweDEwMDgwLCAweDEwMGZhfSwgezB4MTAzMDAsIDB4MTAzMWV9LAorICAgIHsweDEwMzMwLCAweDEwMzQ5fSwgezB4MTAzODAsIDB4MTAzOWR9LCB7MHgxMDQwMCwgMHgxMDQ5ZH0sCisgICAgezB4MTA4MDAsIDB4MTA4MDV9LCB7MHgxMDgwOCwgMHgxMDgwOH0sIHsweDEwODBhLCAweDEwODM1fSwKKyAgICB7MHgxMDgzNywgMHgxMDgzOH0sIHsweDEwODNjLCAweDEwODNjfSwgezB4MTA4M2YsIDB4MTA4M2Z9LAorICAgIHsweDFkNDAwLCAweDFkNDU0fSwgezB4MWQ0NTYsIDB4MWQ0OWN9LCB7MHgxZDQ5ZSwgMHgxZDQ5Zn0sCisgICAgezB4MWQ0YTIsIDB4MWQ0YTJ9LCB7MHgxZDRhNSwgMHgxZDRhNn0sIHsweDFkNGE5LCAweDFkNGFjfSwKKyAgICB7MHgxZDRhZSwgMHgxZDRiOX0sIHsweDFkNGJiLCAweDFkNGJifSwgezB4MWQ0YmQsIDB4MWQ0YzN9LAorICAgIHsweDFkNGM1LCAweDFkNTA1fSwgezB4MWQ1MDcsIDB4MWQ1MGF9LCB7MHgxZDUwZCwgMHgxZDUxNH0sCisgICAgezB4MWQ1MTYsIDB4MWQ1MWN9LCB7MHgxZDUxZSwgMHgxZDUzOX0sIHsweDFkNTNiLCAweDFkNTNlfSwKKyAgICB7MHgxZDU0MCwgMHgxZDU0NH0sIHsweDFkNTQ2LCAweDFkNTQ2fSwgezB4MWQ1NGEsIDB4MWQ1NTB9LAorICAgIHsweDFkNTUyLCAweDFkNmEzfSwgezB4MWQ2YTgsIDB4MWQ2YzB9LCB7MHgxZDZjMiwgMHgxZDZkYX0sCisgICAgezB4MWQ2ZGMsIDB4MWQ2ZmF9LCB7MHgxZDZmYywgMHgxZDcxNH0sIHsweDFkNzE2LCAweDFkNzM0fSwKKyAgICB7MHgxZDczNiwgMHgxZDc0ZX0sIHsweDFkNzUwLCAweDFkNzZlfSwgezB4MWQ3NzAsIDB4MWQ3ODh9LAorICAgIHsweDFkNzhhLCAweDFkN2E4fSwgezB4MWQ3YWEsIDB4MWQ3YzJ9LCB7MHgxZDdjNCwgMHgxZDdjOX0sCisgICAgezB4MjAwMDAsIDB4MjAwMDB9LCB7MHgyYTZkNiwgMHgyYTZkNn0sIHsweDJmODAwLCAweDJmYTFkfSB9Oworc3RhdGljIHhtbENoUmFuZ2VHcm91cCB4bWxMRyA9IHsyNzksNTAseG1sTFMseG1sTEx9OworCitzdGF0aWMgY29uc3QgeG1sQ2hTUmFuZ2UgeG1sTGxTW10gPSB7ezB4NjEsIDB4N2F9LCB7MHhhYSwgMHhhYX0sCisgICAgezB4YjUsIDB4YjV9LCB7MHhiYSwgMHhiYX0sIHsweGRmLCAweGY2fSwgezB4ZjgsIDB4ZmZ9LCB7MHgxMDEsIDB4MTAxfSwKKyAgICB7MHgxMDMsIDB4MTAzfSwgezB4MTA1LCAweDEwNX0sIHsweDEwNywgMHgxMDd9LCB7MHgxMDksIDB4MTA5fSwKKyAgICB7MHgxMGIsIDB4MTBifSwgezB4MTBkLCAweDEwZH0sIHsweDEwZiwgMHgxMGZ9LCB7MHgxMTEsIDB4MTExfSwKKyAgICB7MHgxMTMsIDB4MTEzfSwgezB4MTE1LCAweDExNX0sIHsweDExNywgMHgxMTd9LCB7MHgxMTksIDB4MTE5fSwKKyAgICB7MHgxMWIsIDB4MTFifSwgezB4MTFkLCAweDExZH0sIHsweDExZiwgMHgxMWZ9LCB7MHgxMjEsIDB4MTIxfSwKKyAgICB7MHgxMjMsIDB4MTIzfSwgezB4MTI1LCAweDEyNX0sIHsweDEyNywgMHgxMjd9LCB7MHgxMjksIDB4MTI5fSwKKyAgICB7MHgxMmIsIDB4MTJifSwgezB4MTJkLCAweDEyZH0sIHsweDEyZiwgMHgxMmZ9LCB7MHgxMzEsIDB4MTMxfSwKKyAgICB7MHgxMzMsIDB4MTMzfSwgezB4MTM1LCAweDEzNX0sIHsweDEzNywgMHgxMzh9LCB7MHgxM2EsIDB4MTNhfSwKKyAgICB7MHgxM2MsIDB4MTNjfSwgezB4MTNlLCAweDEzZX0sIHsweDE0MCwgMHgxNDB9LCB7MHgxNDIsIDB4MTQyfSwKKyAgICB7MHgxNDQsIDB4MTQ0fSwgezB4MTQ2LCAweDE0Nn0sIHsweDE0OCwgMHgxNDl9LCB7MHgxNGIsIDB4MTRifSwKKyAgICB7MHgxNGQsIDB4MTRkfSwgezB4MTRmLCAweDE0Zn0sIHsweDE1MSwgMHgxNTF9LCB7MHgxNTMsIDB4MTUzfSwKKyAgICB7MHgxNTUsIDB4MTU1fSwgezB4MTU3LCAweDE1N30sIHsweDE1OSwgMHgxNTl9LCB7MHgxNWIsIDB4MTVifSwKKyAgICB7MHgxNWQsIDB4MTVkfSwgezB4MTVmLCAweDE1Zn0sIHsweDE2MSwgMHgxNjF9LCB7MHgxNjMsIDB4MTYzfSwKKyAgICB7MHgxNjUsIDB4MTY1fSwgezB4MTY3LCAweDE2N30sIHsweDE2OSwgMHgxNjl9LCB7MHgxNmIsIDB4MTZifSwKKyAgICB7MHgxNmQsIDB4MTZkfSwgezB4MTZmLCAweDE2Zn0sIHsweDE3MSwgMHgxNzF9LCB7MHgxNzMsIDB4MTczfSwKKyAgICB7MHgxNzUsIDB4MTc1fSwgezB4MTc3LCAweDE3N30sIHsweDE3YSwgMHgxN2F9LCB7MHgxN2MsIDB4MTdjfSwKKyAgICB7MHgxN2UsIDB4MTgwfSwgezB4MTgzLCAweDE4M30sIHsweDE4NSwgMHgxODV9LCB7MHgxODgsIDB4MTg4fSwKKyAgICB7MHgxOGMsIDB4MThkfSwgezB4MTkyLCAweDE5Mn0sIHsweDE5NSwgMHgxOTV9LCB7MHgxOTksIDB4MTlifSwKKyAgICB7MHgxOWUsIDB4MTllfSwgezB4MWExLCAweDFhMX0sIHsweDFhMywgMHgxYTN9LCB7MHgxYTUsIDB4MWE1fSwKKyAgICB7MHgxYTgsIDB4MWE4fSwgezB4MWFhLCAweDFhYn0sIHsweDFhZCwgMHgxYWR9LCB7MHgxYjAsIDB4MWIwfSwKKyAgICB7MHgxYjQsIDB4MWI0fSwgezB4MWI2LCAweDFiNn0sIHsweDFiOSwgMHgxYmF9LCB7MHgxYmQsIDB4MWJmfSwKKyAgICB7MHgxYzYsIDB4MWM2fSwgezB4MWM5LCAweDFjOX0sIHsweDFjYywgMHgxY2N9LCB7MHgxY2UsIDB4MWNlfSwKKyAgICB7MHgxZDAsIDB4MWQwfSwgezB4MWQyLCAweDFkMn0sIHsweDFkNCwgMHgxZDR9LCB7MHgxZDYsIDB4MWQ2fSwKKyAgICB7MHgxZDgsIDB4MWQ4fSwgezB4MWRhLCAweDFkYX0sIHsweDFkYywgMHgxZGR9LCB7MHgxZGYsIDB4MWRmfSwKKyAgICB7MHgxZTEsIDB4MWUxfSwgezB4MWUzLCAweDFlM30sIHsweDFlNSwgMHgxZTV9LCB7MHgxZTcsIDB4MWU3fSwKKyAgICB7MHgxZTksIDB4MWU5fSwgezB4MWViLCAweDFlYn0sIHsweDFlZCwgMHgxZWR9LCB7MHgxZWYsIDB4MWYwfSwKKyAgICB7MHgxZjMsIDB4MWYzfSwgezB4MWY1LCAweDFmNX0sIHsweDFmOSwgMHgxZjl9LCB7MHgxZmIsIDB4MWZifSwKKyAgICB7MHgxZmQsIDB4MWZkfSwgezB4MWZmLCAweDFmZn0sIHsweDIwMSwgMHgyMDF9LCB7MHgyMDMsIDB4MjAzfSwKKyAgICB7MHgyMDUsIDB4MjA1fSwgezB4MjA3LCAweDIwN30sIHsweDIwOSwgMHgyMDl9LCB7MHgyMGIsIDB4MjBifSwKKyAgICB7MHgyMGQsIDB4MjBkfSwgezB4MjBmLCAweDIwZn0sIHsweDIxMSwgMHgyMTF9LCB7MHgyMTMsIDB4MjEzfSwKKyAgICB7MHgyMTUsIDB4MjE1fSwgezB4MjE3LCAweDIxN30sIHsweDIxOSwgMHgyMTl9LCB7MHgyMWIsIDB4MjFifSwKKyAgICB7MHgyMWQsIDB4MjFkfSwgezB4MjFmLCAweDIxZn0sIHsweDIyMSwgMHgyMjF9LCB7MHgyMjMsIDB4MjIzfSwKKyAgICB7MHgyMjUsIDB4MjI1fSwgezB4MjI3LCAweDIyN30sIHsweDIyOSwgMHgyMjl9LCB7MHgyMmIsIDB4MjJifSwKKyAgICB7MHgyMmQsIDB4MjJkfSwgezB4MjJmLCAweDIyZn0sIHsweDIzMSwgMHgyMzF9LCB7MHgyMzMsIDB4MjM2fSwKKyAgICB7MHgyNTAsIDB4MmFmfSwgezB4MzkwLCAweDM5MH0sIHsweDNhYywgMHgzY2V9LCB7MHgzZDAsIDB4M2QxfSwKKyAgICB7MHgzZDUsIDB4M2Q3fSwgezB4M2Q5LCAweDNkOX0sIHsweDNkYiwgMHgzZGJ9LCB7MHgzZGQsIDB4M2RkfSwKKyAgICB7MHgzZGYsIDB4M2RmfSwgezB4M2UxLCAweDNlMX0sIHsweDNlMywgMHgzZTN9LCB7MHgzZTUsIDB4M2U1fSwKKyAgICB7MHgzZTcsIDB4M2U3fSwgezB4M2U5LCAweDNlOX0sIHsweDNlYiwgMHgzZWJ9LCB7MHgzZWQsIDB4M2VkfSwKKyAgICB7MHgzZWYsIDB4M2YzfSwgezB4M2Y1LCAweDNmNX0sIHsweDNmOCwgMHgzZjh9LCB7MHgzZmIsIDB4M2ZifSwKKyAgICB7MHg0MzAsIDB4NDVmfSwgezB4NDYxLCAweDQ2MX0sIHsweDQ2MywgMHg0NjN9LCB7MHg0NjUsIDB4NDY1fSwKKyAgICB7MHg0NjcsIDB4NDY3fSwgezB4NDY5LCAweDQ2OX0sIHsweDQ2YiwgMHg0NmJ9LCB7MHg0NmQsIDB4NDZkfSwKKyAgICB7MHg0NmYsIDB4NDZmfSwgezB4NDcxLCAweDQ3MX0sIHsweDQ3MywgMHg0NzN9LCB7MHg0NzUsIDB4NDc1fSwKKyAgICB7MHg0NzcsIDB4NDc3fSwgezB4NDc5LCAweDQ3OX0sIHsweDQ3YiwgMHg0N2J9LCB7MHg0N2QsIDB4NDdkfSwKKyAgICB7MHg0N2YsIDB4NDdmfSwgezB4NDgxLCAweDQ4MX0sIHsweDQ4YiwgMHg0OGJ9LCB7MHg0OGQsIDB4NDhkfSwKKyAgICB7MHg0OGYsIDB4NDhmfSwgezB4NDkxLCAweDQ5MX0sIHsweDQ5MywgMHg0OTN9LCB7MHg0OTUsIDB4NDk1fSwKKyAgICB7MHg0OTcsIDB4NDk3fSwgezB4NDk5LCAweDQ5OX0sIHsweDQ5YiwgMHg0OWJ9LCB7MHg0OWQsIDB4NDlkfSwKKyAgICB7MHg0OWYsIDB4NDlmfSwgezB4NGExLCAweDRhMX0sIHsweDRhMywgMHg0YTN9LCB7MHg0YTUsIDB4NGE1fSwKKyAgICB7MHg0YTcsIDB4NGE3fSwgezB4NGE5LCAweDRhOX0sIHsweDRhYiwgMHg0YWJ9LCB7MHg0YWQsIDB4NGFkfSwKKyAgICB7MHg0YWYsIDB4NGFmfSwgezB4NGIxLCAweDRiMX0sIHsweDRiMywgMHg0YjN9LCB7MHg0YjUsIDB4NGI1fSwKKyAgICB7MHg0YjcsIDB4NGI3fSwgezB4NGI5LCAweDRiOX0sIHsweDRiYiwgMHg0YmJ9LCB7MHg0YmQsIDB4NGJkfSwKKyAgICB7MHg0YmYsIDB4NGJmfSwgezB4NGMyLCAweDRjMn0sIHsweDRjNCwgMHg0YzR9LCB7MHg0YzYsIDB4NGM2fSwKKyAgICB7MHg0YzgsIDB4NGM4fSwgezB4NGNhLCAweDRjYX0sIHsweDRjYywgMHg0Y2N9LCB7MHg0Y2UsIDB4NGNlfSwKKyAgICB7MHg0ZDEsIDB4NGQxfSwgezB4NGQzLCAweDRkM30sIHsweDRkNSwgMHg0ZDV9LCB7MHg0ZDcsIDB4NGQ3fSwKKyAgICB7MHg0ZDksIDB4NGQ5fSwgezB4NGRiLCAweDRkYn0sIHsweDRkZCwgMHg0ZGR9LCB7MHg0ZGYsIDB4NGRmfSwKKyAgICB7MHg0ZTEsIDB4NGUxfSwgezB4NGUzLCAweDRlM30sIHsweDRlNSwgMHg0ZTV9LCB7MHg0ZTcsIDB4NGU3fSwKKyAgICB7MHg0ZTksIDB4NGU5fSwgezB4NGViLCAweDRlYn0sIHsweDRlZCwgMHg0ZWR9LCB7MHg0ZWYsIDB4NGVmfSwKKyAgICB7MHg0ZjEsIDB4NGYxfSwgezB4NGYzLCAweDRmM30sIHsweDRmNSwgMHg0ZjV9LCB7MHg0ZjksIDB4NGY5fSwKKyAgICB7MHg1MDEsIDB4NTAxfSwgezB4NTAzLCAweDUwM30sIHsweDUwNSwgMHg1MDV9LCB7MHg1MDcsIDB4NTA3fSwKKyAgICB7MHg1MDksIDB4NTA5fSwgezB4NTBiLCAweDUwYn0sIHsweDUwZCwgMHg1MGR9LCB7MHg1MGYsIDB4NTBmfSwKKyAgICB7MHg1NjEsIDB4NTg3fSwgezB4MWQwMCwgMHgxZDJifSwgezB4MWQ2MiwgMHgxZDZifSwgezB4MWUwMSwgMHgxZTAxfSwKKyAgICB7MHgxZTAzLCAweDFlMDN9LCB7MHgxZTA1LCAweDFlMDV9LCB7MHgxZTA3LCAweDFlMDd9LCB7MHgxZTA5LCAweDFlMDl9LAorICAgIHsweDFlMGIsIDB4MWUwYn0sIHsweDFlMGQsIDB4MWUwZH0sIHsweDFlMGYsIDB4MWUwZn0sIHsweDFlMTEsIDB4MWUxMX0sCisgICAgezB4MWUxMywgMHgxZTEzfSwgezB4MWUxNSwgMHgxZTE1fSwgezB4MWUxNywgMHgxZTE3fSwgezB4MWUxOSwgMHgxZTE5fSwKKyAgICB7MHgxZTFiLCAweDFlMWJ9LCB7MHgxZTFkLCAweDFlMWR9LCB7MHgxZTFmLCAweDFlMWZ9LCB7MHgxZTIxLCAweDFlMjF9LAorICAgIHsweDFlMjMsIDB4MWUyM30sIHsweDFlMjUsIDB4MWUyNX0sIHsweDFlMjcsIDB4MWUyN30sIHsweDFlMjksIDB4MWUyOX0sCisgICAgezB4MWUyYiwgMHgxZTJifSwgezB4MWUyZCwgMHgxZTJkfSwgezB4MWUyZiwgMHgxZTJmfSwgezB4MWUzMSwgMHgxZTMxfSwKKyAgICB7MHgxZTMzLCAweDFlMzN9LCB7MHgxZTM1LCAweDFlMzV9LCB7MHgxZTM3LCAweDFlMzd9LCB7MHgxZTM5LCAweDFlMzl9LAorICAgIHsweDFlM2IsIDB4MWUzYn0sIHsweDFlM2QsIDB4MWUzZH0sIHsweDFlM2YsIDB4MWUzZn0sIHsweDFlNDEsIDB4MWU0MX0sCisgICAgezB4MWU0MywgMHgxZTQzfSwgezB4MWU0NSwgMHgxZTQ1fSwgezB4MWU0NywgMHgxZTQ3fSwgezB4MWU0OSwgMHgxZTQ5fSwKKyAgICB7MHgxZTRiLCAweDFlNGJ9LCB7MHgxZTRkLCAweDFlNGR9LCB7MHgxZTRmLCAweDFlNGZ9LCB7MHgxZTUxLCAweDFlNTF9LAorICAgIHsweDFlNTMsIDB4MWU1M30sIHsweDFlNTUsIDB4MWU1NX0sIHsweDFlNTcsIDB4MWU1N30sIHsweDFlNTksIDB4MWU1OX0sCisgICAgezB4MWU1YiwgMHgxZTVifSwgezB4MWU1ZCwgMHgxZTVkfSwgezB4MWU1ZiwgMHgxZTVmfSwgezB4MWU2MSwgMHgxZTYxfSwKKyAgICB7MHgxZTYzLCAweDFlNjN9LCB7MHgxZTY1LCAweDFlNjV9LCB7MHgxZTY3LCAweDFlNjd9LCB7MHgxZTY5LCAweDFlNjl9LAorICAgIHsweDFlNmIsIDB4MWU2Yn0sIHsweDFlNmQsIDB4MWU2ZH0sIHsweDFlNmYsIDB4MWU2Zn0sIHsweDFlNzEsIDB4MWU3MX0sCisgICAgezB4MWU3MywgMHgxZTczfSwgezB4MWU3NSwgMHgxZTc1fSwgezB4MWU3NywgMHgxZTc3fSwgezB4MWU3OSwgMHgxZTc5fSwKKyAgICB7MHgxZTdiLCAweDFlN2J9LCB7MHgxZTdkLCAweDFlN2R9LCB7MHgxZTdmLCAweDFlN2Z9LCB7MHgxZTgxLCAweDFlODF9LAorICAgIHsweDFlODMsIDB4MWU4M30sIHsweDFlODUsIDB4MWU4NX0sIHsweDFlODcsIDB4MWU4N30sIHsweDFlODksIDB4MWU4OX0sCisgICAgezB4MWU4YiwgMHgxZThifSwgezB4MWU4ZCwgMHgxZThkfSwgezB4MWU4ZiwgMHgxZThmfSwgezB4MWU5MSwgMHgxZTkxfSwKKyAgICB7MHgxZTkzLCAweDFlOTN9LCB7MHgxZTk1LCAweDFlOWJ9LCB7MHgxZWExLCAweDFlYTF9LCB7MHgxZWEzLCAweDFlYTN9LAorICAgIHsweDFlYTUsIDB4MWVhNX0sIHsweDFlYTcsIDB4MWVhN30sIHsweDFlYTksIDB4MWVhOX0sIHsweDFlYWIsIDB4MWVhYn0sCisgICAgezB4MWVhZCwgMHgxZWFkfSwgezB4MWVhZiwgMHgxZWFmfSwgezB4MWViMSwgMHgxZWIxfSwgezB4MWViMywgMHgxZWIzfSwKKyAgICB7MHgxZWI1LCAweDFlYjV9LCB7MHgxZWI3LCAweDFlYjd9LCB7MHgxZWI5LCAweDFlYjl9LCB7MHgxZWJiLCAweDFlYmJ9LAorICAgIHsweDFlYmQsIDB4MWViZH0sIHsweDFlYmYsIDB4MWViZn0sIHsweDFlYzEsIDB4MWVjMX0sIHsweDFlYzMsIDB4MWVjM30sCisgICAgezB4MWVjNSwgMHgxZWM1fSwgezB4MWVjNywgMHgxZWM3fSwgezB4MWVjOSwgMHgxZWM5fSwgezB4MWVjYiwgMHgxZWNifSwKKyAgICB7MHgxZWNkLCAweDFlY2R9LCB7MHgxZWNmLCAweDFlY2Z9LCB7MHgxZWQxLCAweDFlZDF9LCB7MHgxZWQzLCAweDFlZDN9LAorICAgIHsweDFlZDUsIDB4MWVkNX0sIHsweDFlZDcsIDB4MWVkN30sIHsweDFlZDksIDB4MWVkOX0sIHsweDFlZGIsIDB4MWVkYn0sCisgICAgezB4MWVkZCwgMHgxZWRkfSwgezB4MWVkZiwgMHgxZWRmfSwgezB4MWVlMSwgMHgxZWUxfSwgezB4MWVlMywgMHgxZWUzfSwKKyAgICB7MHgxZWU1LCAweDFlZTV9LCB7MHgxZWU3LCAweDFlZTd9LCB7MHgxZWU5LCAweDFlZTl9LCB7MHgxZWViLCAweDFlZWJ9LAorICAgIHsweDFlZWQsIDB4MWVlZH0sIHsweDFlZWYsIDB4MWVlZn0sIHsweDFlZjEsIDB4MWVmMX0sIHsweDFlZjMsIDB4MWVmM30sCisgICAgezB4MWVmNSwgMHgxZWY1fSwgezB4MWVmNywgMHgxZWY3fSwgezB4MWVmOSwgMHgxZWY5fSwgezB4MWYwMCwgMHgxZjA3fSwKKyAgICB7MHgxZjEwLCAweDFmMTV9LCB7MHgxZjIwLCAweDFmMjd9LCB7MHgxZjMwLCAweDFmMzd9LCB7MHgxZjQwLCAweDFmNDV9LAorICAgIHsweDFmNTAsIDB4MWY1N30sIHsweDFmNjAsIDB4MWY2N30sIHsweDFmNzAsIDB4MWY3ZH0sIHsweDFmODAsIDB4MWY4N30sCisgICAgezB4MWY5MCwgMHgxZjk3fSwgezB4MWZhMCwgMHgxZmE3fSwgezB4MWZiMCwgMHgxZmI0fSwgezB4MWZiNiwgMHgxZmI3fSwKKyAgICB7MHgxZmJlLCAweDFmYmV9LCB7MHgxZmMyLCAweDFmYzR9LCB7MHgxZmM2LCAweDFmYzd9LCB7MHgxZmQwLCAweDFmZDN9LAorICAgIHsweDFmZDYsIDB4MWZkN30sIHsweDFmZTAsIDB4MWZlN30sIHsweDFmZjIsIDB4MWZmNH0sIHsweDFmZjYsIDB4MWZmN30sCisgICAgezB4MjA3MSwgMHgyMDcxfSwgezB4MjA3ZiwgMHgyMDdmfSwgezB4MjEwYSwgMHgyMTBhfSwgezB4MjEwZSwgMHgyMTBmfSwKKyAgICB7MHgyMTEzLCAweDIxMTN9LCB7MHgyMTJmLCAweDIxMmZ9LCB7MHgyMTM0LCAweDIxMzR9LCB7MHgyMTM5LCAweDIxMzl9LAorICAgIHsweDIxM2QsIDB4MjEzZH0sIHsweDIxNDYsIDB4MjE0OX0sIHsweGZiMDAsIDB4ZmIwNn0sIHsweGZiMTMsIDB4ZmIxN30sCisgICAgezB4ZmY0MSwgMHhmZjVhfSB9Oworc3RhdGljIGNvbnN0IHhtbENoTFJhbmdlIHhtbExsTFtdID0ge3sweDEwNDI4LCAweDEwNDRmfSwgezB4MWQ0MWEsIDB4MWQ0MzN9LAorICAgIHsweDFkNDRlLCAweDFkNDU0fSwgezB4MWQ0NTYsIDB4MWQ0Njd9LCB7MHgxZDQ4MiwgMHgxZDQ5Yn0sCisgICAgezB4MWQ0YjYsIDB4MWQ0Yjl9LCB7MHgxZDRiYiwgMHgxZDRiYn0sIHsweDFkNGJkLCAweDFkNGMzfSwKKyAgICB7MHgxZDRjNSwgMHgxZDRjZn0sIHsweDFkNGVhLCAweDFkNTAzfSwgezB4MWQ1MWUsIDB4MWQ1Mzd9LAorICAgIHsweDFkNTUyLCAweDFkNTZifSwgezB4MWQ1ODYsIDB4MWQ1OWZ9LCB7MHgxZDViYSwgMHgxZDVkM30sCisgICAgezB4MWQ1ZWUsIDB4MWQ2MDd9LCB7MHgxZDYyMiwgMHgxZDYzYn0sIHsweDFkNjU2LCAweDFkNjZmfSwKKyAgICB7MHgxZDY4YSwgMHgxZDZhM30sIHsweDFkNmMyLCAweDFkNmRhfSwgezB4MWQ2ZGMsIDB4MWQ2ZTF9LAorICAgIHsweDFkNmZjLCAweDFkNzE0fSwgezB4MWQ3MTYsIDB4MWQ3MWJ9LCB7MHgxZDczNiwgMHgxZDc0ZX0sCisgICAgezB4MWQ3NTAsIDB4MWQ3NTV9LCB7MHgxZDc3MCwgMHgxZDc4OH0sIHsweDFkNzhhLCAweDFkNzhmfSwKKyAgICB7MHgxZDdhYSwgMHgxZDdjMn0sIHsweDFkN2M0LCAweDFkN2M5fSB9Oworc3RhdGljIHhtbENoUmFuZ2VHcm91cCB4bWxMbEcgPSB7Mzk2LDI4LHhtbExsUyx4bWxMbEx9OworCitzdGF0aWMgY29uc3QgeG1sQ2hTUmFuZ2UgeG1sTG1TW10gPSB7ezB4MmIwLCAweDJjMX0sIHsweDJjNiwgMHgyZDF9LAorICAgIHsweDJlMCwgMHgyZTR9LCB7MHgyZWUsIDB4MmVlfSwgezB4MzdhLCAweDM3YX0sIHsweDU1OSwgMHg1NTl9LAorICAgIHsweDY0MCwgMHg2NDB9LCB7MHg2ZTUsIDB4NmU2fSwgezB4ZTQ2LCAweGU0Nn0sIHsweGVjNiwgMHhlYzZ9LAorICAgIHsweDE3ZDcsIDB4MTdkN30sIHsweDE4NDMsIDB4MTg0M30sIHsweDFkMmMsIDB4MWQ2MX0sIHsweDMwMDUsIDB4MzAwNX0sCisgICAgezB4MzAzMSwgMHgzMDM1fSwgezB4MzAzYiwgMHgzMDNifSwgezB4MzA5ZCwgMHgzMDllfSwgezB4MzBmYywgMHgzMGZlfSwKKyAgICB7MHhmZjcwLCAweGZmNzB9LCB7MHhmZjllLCAweGZmOWZ9IH07CitzdGF0aWMgeG1sQ2hSYW5nZUdyb3VwIHhtbExtRyA9IHsyMCwwLHhtbExtUyxOVUxMfTsKKworc3RhdGljIGNvbnN0IHhtbENoU1JhbmdlIHhtbExvU1tdID0ge3sweDFiYiwgMHgxYmJ9LCB7MHgxYzAsIDB4MWMzfSwKKyAgICB7MHg1ZDAsIDB4NWVhfSwgezB4NWYwLCAweDVmMn0sIHsweDYyMSwgMHg2M2F9LCB7MHg2NDEsIDB4NjRhfSwKKyAgICB7MHg2NmUsIDB4NjZmfSwgezB4NjcxLCAweDZkM30sIHsweDZkNSwgMHg2ZDV9LCB7MHg2ZWUsIDB4NmVmfSwKKyAgICB7MHg2ZmEsIDB4NmZjfSwgezB4NmZmLCAweDZmZn0sIHsweDcxMCwgMHg3MTB9LCB7MHg3MTIsIDB4NzJmfSwKKyAgICB7MHg3NGQsIDB4NzRmfSwgezB4NzgwLCAweDdhNX0sIHsweDdiMSwgMHg3YjF9LCB7MHg5MDQsIDB4OTM5fSwKKyAgICB7MHg5M2QsIDB4OTNkfSwgezB4OTUwLCAweDk1MH0sIHsweDk1OCwgMHg5NjF9LCB7MHg5ODUsIDB4OThjfSwKKyAgICB7MHg5OGYsIDB4OTkwfSwgezB4OTkzLCAweDlhOH0sIHsweDlhYSwgMHg5YjB9LCB7MHg5YjIsIDB4OWIyfSwKKyAgICB7MHg5YjYsIDB4OWI5fSwgezB4OWJkLCAweDliZH0sIHsweDlkYywgMHg5ZGR9LCB7MHg5ZGYsIDB4OWUxfSwKKyAgICB7MHg5ZjAsIDB4OWYxfSwgezB4YTA1LCAweGEwYX0sIHsweGEwZiwgMHhhMTB9LCB7MHhhMTMsIDB4YTI4fSwKKyAgICB7MHhhMmEsIDB4YTMwfSwgezB4YTMyLCAweGEzM30sIHsweGEzNSwgMHhhMzZ9LCB7MHhhMzgsIDB4YTM5fSwKKyAgICB7MHhhNTksIDB4YTVjfSwgezB4YTVlLCAweGE1ZX0sIHsweGE3MiwgMHhhNzR9LCB7MHhhODUsIDB4YThkfSwKKyAgICB7MHhhOGYsIDB4YTkxfSwgezB4YTkzLCAweGFhOH0sIHsweGFhYSwgMHhhYjB9LCB7MHhhYjIsIDB4YWIzfSwKKyAgICB7MHhhYjUsIDB4YWI5fSwgezB4YWJkLCAweGFiZH0sIHsweGFkMCwgMHhhZDB9LCB7MHhhZTAsIDB4YWUxfSwKKyAgICB7MHhiMDUsIDB4YjBjfSwgezB4YjBmLCAweGIxMH0sIHsweGIxMywgMHhiMjh9LCB7MHhiMmEsIDB4YjMwfSwKKyAgICB7MHhiMzIsIDB4YjMzfSwgezB4YjM1LCAweGIzOX0sIHsweGIzZCwgMHhiM2R9LCB7MHhiNWMsIDB4YjVkfSwKKyAgICB7MHhiNWYsIDB4YjYxfSwgezB4YjcxLCAweGI3MX0sIHsweGI4MywgMHhiODN9LCB7MHhiODUsIDB4YjhhfSwKKyAgICB7MHhiOGUsIDB4YjkwfSwgezB4YjkyLCAweGI5NX0sIHsweGI5OSwgMHhiOWF9LCB7MHhiOWMsIDB4YjljfSwKKyAgICB7MHhiOWUsIDB4YjlmfSwgezB4YmEzLCAweGJhNH0sIHsweGJhOCwgMHhiYWF9LCB7MHhiYWUsIDB4YmI1fSwKKyAgICB7MHhiYjcsIDB4YmI5fSwgezB4YzA1LCAweGMwY30sIHsweGMwZSwgMHhjMTB9LCB7MHhjMTIsIDB4YzI4fSwKKyAgICB7MHhjMmEsIDB4YzMzfSwgezB4YzM1LCAweGMzOX0sIHsweGM2MCwgMHhjNjF9LCB7MHhjODUsIDB4YzhjfSwKKyAgICB7MHhjOGUsIDB4YzkwfSwgezB4YzkyLCAweGNhOH0sIHsweGNhYSwgMHhjYjN9LCB7MHhjYjUsIDB4Y2I5fSwKKyAgICB7MHhjYmQsIDB4Y2JkfSwgezB4Y2RlLCAweGNkZX0sIHsweGNlMCwgMHhjZTF9LCB7MHhkMDUsIDB4ZDBjfSwKKyAgICB7MHhkMGUsIDB4ZDEwfSwgezB4ZDEyLCAweGQyOH0sIHsweGQyYSwgMHhkMzl9LCB7MHhkNjAsIDB4ZDYxfSwKKyAgICB7MHhkODUsIDB4ZDk2fSwgezB4ZDlhLCAweGRiMX0sIHsweGRiMywgMHhkYmJ9LCB7MHhkYmQsIDB4ZGJkfSwKKyAgICB7MHhkYzAsIDB4ZGM2fSwgezB4ZTAxLCAweGUzMH0sIHsweGUzMiwgMHhlMzN9LCB7MHhlNDAsIDB4ZTQ1fSwKKyAgICB7MHhlODEsIDB4ZTgyfSwgezB4ZTg0LCAweGU4NH0sIHsweGU4NywgMHhlODh9LCB7MHhlOGEsIDB4ZThhfSwKKyAgICB7MHhlOGQsIDB4ZThkfSwgezB4ZTk0LCAweGU5N30sIHsweGU5OSwgMHhlOWZ9LCB7MHhlYTEsIDB4ZWEzfSwKKyAgICB7MHhlYTUsIDB4ZWE1fSwgezB4ZWE3LCAweGVhN30sIHsweGVhYSwgMHhlYWJ9LCB7MHhlYWQsIDB4ZWIwfSwKKyAgICB7MHhlYjIsIDB4ZWIzfSwgezB4ZWJkLCAweGViZH0sIHsweGVjMCwgMHhlYzR9LCB7MHhlZGMsIDB4ZWRkfSwKKyAgICB7MHhmMDAsIDB4ZjAwfSwgezB4ZjQwLCAweGY0N30sIHsweGY0OSwgMHhmNmF9LCB7MHhmODgsIDB4ZjhifSwKKyAgICB7MHgxMDAwLCAweDEwMjF9LCB7MHgxMDIzLCAweDEwMjd9LCB7MHgxMDI5LCAweDEwMmF9LCB7MHgxMDUwLCAweDEwNTV9LAorICAgIHsweDEwZDAsIDB4MTBmOH0sIHsweDExMDAsIDB4MTE1OX0sIHsweDExNWYsIDB4MTFhMn0sIHsweDExYTgsIDB4MTFmOX0sCisgICAgezB4MTIwMCwgMHgxMjA2fSwgezB4MTIwOCwgMHgxMjQ2fSwgezB4MTI0OCwgMHgxMjQ4fSwgezB4MTI0YSwgMHgxMjRkfSwKKyAgICB7MHgxMjUwLCAweDEyNTZ9LCB7MHgxMjU4LCAweDEyNTh9LCB7MHgxMjVhLCAweDEyNWR9LCB7MHgxMjYwLCAweDEyODZ9LAorICAgIHsweDEyODgsIDB4MTI4OH0sIHsweDEyOGEsIDB4MTI4ZH0sIHsweDEyOTAsIDB4MTJhZX0sIHsweDEyYjAsIDB4MTJiMH0sCisgICAgezB4MTJiMiwgMHgxMmI1fSwgezB4MTJiOCwgMHgxMmJlfSwgezB4MTJjMCwgMHgxMmMwfSwgezB4MTJjMiwgMHgxMmM1fSwKKyAgICB7MHgxMmM4LCAweDEyY2V9LCB7MHgxMmQwLCAweDEyZDZ9LCB7MHgxMmQ4LCAweDEyZWV9LCB7MHgxMmYwLCAweDEzMGV9LAorICAgIHsweDEzMTAsIDB4MTMxMH0sIHsweDEzMTIsIDB4MTMxNX0sIHsweDEzMTgsIDB4MTMxZX0sIHsweDEzMjAsIDB4MTM0Nn0sCisgICAgezB4MTM0OCwgMHgxMzVhfSwgezB4MTNhMCwgMHgxM2Y0fSwgezB4MTQwMSwgMHgxNjZjfSwgezB4MTY2ZiwgMHgxNjc2fSwKKyAgICB7MHgxNjgxLCAweDE2OWF9LCB7MHgxNmEwLCAweDE2ZWF9LCB7MHgxNzAwLCAweDE3MGN9LCB7MHgxNzBlLCAweDE3MTF9LAorICAgIHsweDE3MjAsIDB4MTczMX0sIHsweDE3NDAsIDB4MTc1MX0sIHsweDE3NjAsIDB4MTc2Y30sIHsweDE3NmUsIDB4MTc3MH0sCisgICAgezB4MTc4MCwgMHgxN2IzfSwgezB4MTdkYywgMHgxN2RjfSwgezB4MTgyMCwgMHgxODQyfSwgezB4MTg0NCwgMHgxODc3fSwKKyAgICB7MHgxODgwLCAweDE4YTh9LCB7MHgxOTAwLCAweDE5MWN9LCB7MHgxOTUwLCAweDE5NmR9LCB7MHgxOTcwLCAweDE5NzR9LAorICAgIHsweDIxMzUsIDB4MjEzOH0sIHsweDMwMDYsIDB4MzAwNn0sIHsweDMwM2MsIDB4MzAzY30sIHsweDMwNDEsIDB4MzA5Nn0sCisgICAgezB4MzA5ZiwgMHgzMDlmfSwgezB4MzBhMSwgMHgzMGZhfSwgezB4MzBmZiwgMHgzMGZmfSwgezB4MzEwNSwgMHgzMTJjfSwKKyAgICB7MHgzMTMxLCAweDMxOGV9LCB7MHgzMWEwLCAweDMxYjd9LCB7MHgzMWYwLCAweDMxZmZ9LCB7MHgzNDAwLCAweDM0MDB9LAorICAgIHsweDRkYjUsIDB4NGRiNX0sIHsweDRlMDAsIDB4NGUwMH0sIHsweDlmYTUsIDB4OWZhNX0sIHsweGEwMDAsIDB4YTQ4Y30sCisgICAgezB4YWMwMCwgMHhhYzAwfSwgezB4ZDdhMywgMHhkN2EzfSwgezB4ZjkwMCwgMHhmYTJkfSwgezB4ZmEzMCwgMHhmYTZhfSwKKyAgICB7MHhmYjFkLCAweGZiMWR9LCB7MHhmYjFmLCAweGZiMjh9LCB7MHhmYjJhLCAweGZiMzZ9LCB7MHhmYjM4LCAweGZiM2N9LAorICAgIHsweGZiM2UsIDB4ZmIzZX0sIHsweGZiNDAsIDB4ZmI0MX0sIHsweGZiNDMsIDB4ZmI0NH0sIHsweGZiNDYsIDB4ZmJiMX0sCisgICAgezB4ZmJkMywgMHhmZDNkfSwgezB4ZmQ1MCwgMHhmZDhmfSwgezB4ZmQ5MiwgMHhmZGM3fSwgezB4ZmRmMCwgMHhmZGZifSwKKyAgICB7MHhmZTcwLCAweGZlNzR9LCB7MHhmZTc2LCAweGZlZmN9LCB7MHhmZjY2LCAweGZmNmZ9LCB7MHhmZjcxLCAweGZmOWR9LAorICAgIHsweGZmYTAsIDB4ZmZiZX0sIHsweGZmYzIsIDB4ZmZjN30sIHsweGZmY2EsIDB4ZmZjZn0sIHsweGZmZDIsIDB4ZmZkN30sCisgICAgezB4ZmZkYSwgMHhmZmRjfSB9Oworc3RhdGljIGNvbnN0IHhtbENoTFJhbmdlIHhtbExvTFtdID0ge3sweDEwMDAwLCAweDEwMDBifSwgezB4MTAwMGQsIDB4MTAwMjZ9LAorICAgIHsweDEwMDI4LCAweDEwMDNhfSwgezB4MTAwM2MsIDB4MTAwM2R9LCB7MHgxMDAzZiwgMHgxMDA0ZH0sCisgICAgezB4MTAwNTAsIDB4MTAwNWR9LCB7MHgxMDA4MCwgMHgxMDBmYX0sIHsweDEwMzAwLCAweDEwMzFlfSwKKyAgICB7MHgxMDMzMCwgMHgxMDM0OX0sIHsweDEwMzgwLCAweDEwMzlkfSwgezB4MTA0NTAsIDB4MTA0OWR9LAorICAgIHsweDEwODAwLCAweDEwODA1fSwgezB4MTA4MDgsIDB4MTA4MDh9LCB7MHgxMDgwYSwgMHgxMDgzNX0sCisgICAgezB4MTA4MzcsIDB4MTA4Mzh9LCB7MHgxMDgzYywgMHgxMDgzY30sIHsweDEwODNmLCAweDEwODNmfSwKKyAgICB7MHgyMDAwMCwgMHgyMDAwMH0sIHsweDJhNmQ2LCAweDJhNmQ2fSwgezB4MmY4MDAsIDB4MmZhMWR9IH07CitzdGF0aWMgeG1sQ2hSYW5nZUdyb3VwIHhtbExvRyA9IHsyMTEsMjAseG1sTG9TLHhtbExvTH07CisKK3N0YXRpYyBjb25zdCB4bWxDaFNSYW5nZSB4bWxMdFNbXSA9IHt7MHgxYzUsIDB4MWM1fSwgezB4MWM4LCAweDFjOH0sCisgICAgezB4MWNiLCAweDFjYn0sIHsweDFmMiwgMHgxZjJ9LCB7MHgxZjg4LCAweDFmOGZ9LCB7MHgxZjk4LCAweDFmOWZ9LAorICAgIHsweDFmYTgsIDB4MWZhZn0sIHsweDFmYmMsIDB4MWZiY30sIHsweDFmY2MsIDB4MWZjY30sIHsweDFmZmMsIDB4MWZmY30gfTsKK3N0YXRpYyB4bWxDaFJhbmdlR3JvdXAgeG1sTHRHID0gezEwLDAseG1sTHRTLE5VTEx9OworCitzdGF0aWMgY29uc3QgeG1sQ2hTUmFuZ2UgeG1sTHVTW10gPSB7ezB4NDEsIDB4NWF9LCB7MHhjMCwgMHhkNn0sCisgICAgezB4ZDgsIDB4ZGV9LCB7MHgxMDAsIDB4MTAwfSwgezB4MTAyLCAweDEwMn0sIHsweDEwNCwgMHgxMDR9LAorICAgIHsweDEwNiwgMHgxMDZ9LCB7MHgxMDgsIDB4MTA4fSwgezB4MTBhLCAweDEwYX0sIHsweDEwYywgMHgxMGN9LAorICAgIHsweDEwZSwgMHgxMGV9LCB7MHgxMTAsIDB4MTEwfSwgezB4MTEyLCAweDExMn0sIHsweDExNCwgMHgxMTR9LAorICAgIHsweDExNiwgMHgxMTZ9LCB7MHgxMTgsIDB4MTE4fSwgezB4MTFhLCAweDExYX0sIHsweDExYywgMHgxMWN9LAorICAgIHsweDExZSwgMHgxMWV9LCB7MHgxMjAsIDB4MTIwfSwgezB4MTIyLCAweDEyMn0sIHsweDEyNCwgMHgxMjR9LAorICAgIHsweDEyNiwgMHgxMjZ9LCB7MHgxMjgsIDB4MTI4fSwgezB4MTJhLCAweDEyYX0sIHsweDEyYywgMHgxMmN9LAorICAgIHsweDEyZSwgMHgxMmV9LCB7MHgxMzAsIDB4MTMwfSwgezB4MTMyLCAweDEzMn0sIHsweDEzNCwgMHgxMzR9LAorICAgIHsweDEzNiwgMHgxMzZ9LCB7MHgxMzksIDB4MTM5fSwgezB4MTNiLCAweDEzYn0sIHsweDEzZCwgMHgxM2R9LAorICAgIHsweDEzZiwgMHgxM2Z9LCB7MHgxNDEsIDB4MTQxfSwgezB4MTQzLCAweDE0M30sIHsweDE0NSwgMHgxNDV9LAorICAgIHsweDE0NywgMHgxNDd9LCB7MHgxNGEsIDB4MTRhfSwgezB4MTRjLCAweDE0Y30sIHsweDE0ZSwgMHgxNGV9LAorICAgIHsweDE1MCwgMHgxNTB9LCB7MHgxNTIsIDB4MTUyfSwgezB4MTU0LCAweDE1NH0sIHsweDE1NiwgMHgxNTZ9LAorICAgIHsweDE1OCwgMHgxNTh9LCB7MHgxNWEsIDB4MTVhfSwgezB4MTVjLCAweDE1Y30sIHsweDE1ZSwgMHgxNWV9LAorICAgIHsweDE2MCwgMHgxNjB9LCB7MHgxNjIsIDB4MTYyfSwgezB4MTY0LCAweDE2NH0sIHsweDE2NiwgMHgxNjZ9LAorICAgIHsweDE2OCwgMHgxNjh9LCB7MHgxNmEsIDB4MTZhfSwgezB4MTZjLCAweDE2Y30sIHsweDE2ZSwgMHgxNmV9LAorICAgIHsweDE3MCwgMHgxNzB9LCB7MHgxNzIsIDB4MTcyfSwgezB4MTc0LCAweDE3NH0sIHsweDE3NiwgMHgxNzZ9LAorICAgIHsweDE3OCwgMHgxNzl9LCB7MHgxN2IsIDB4MTdifSwgezB4MTdkLCAweDE3ZH0sIHsweDE4MSwgMHgxODJ9LAorICAgIHsweDE4NCwgMHgxODR9LCB7MHgxODYsIDB4MTg3fSwgezB4MTg5LCAweDE4Yn0sIHsweDE4ZSwgMHgxOTF9LAorICAgIHsweDE5MywgMHgxOTR9LCB7MHgxOTYsIDB4MTk4fSwgezB4MTljLCAweDE5ZH0sIHsweDE5ZiwgMHgxYTB9LAorICAgIHsweDFhMiwgMHgxYTJ9LCB7MHgxYTQsIDB4MWE0fSwgezB4MWE2LCAweDFhN30sIHsweDFhOSwgMHgxYTl9LAorICAgIHsweDFhYywgMHgxYWN9LCB7MHgxYWUsIDB4MWFmfSwgezB4MWIxLCAweDFiM30sIHsweDFiNSwgMHgxYjV9LAorICAgIHsweDFiNywgMHgxYjh9LCB7MHgxYmMsIDB4MWJjfSwgezB4MWM0LCAweDFjNH0sIHsweDFjNywgMHgxYzd9LAorICAgIHsweDFjYSwgMHgxY2F9LCB7MHgxY2QsIDB4MWNkfSwgezB4MWNmLCAweDFjZn0sIHsweDFkMSwgMHgxZDF9LAorICAgIHsweDFkMywgMHgxZDN9LCB7MHgxZDUsIDB4MWQ1fSwgezB4MWQ3LCAweDFkN30sIHsweDFkOSwgMHgxZDl9LAorICAgIHsweDFkYiwgMHgxZGJ9LCB7MHgxZGUsIDB4MWRlfSwgezB4MWUwLCAweDFlMH0sIHsweDFlMiwgMHgxZTJ9LAorICAgIHsweDFlNCwgMHgxZTR9LCB7MHgxZTYsIDB4MWU2fSwgezB4MWU4LCAweDFlOH0sIHsweDFlYSwgMHgxZWF9LAorICAgIHsweDFlYywgMHgxZWN9LCB7MHgxZWUsIDB4MWVlfSwgezB4MWYxLCAweDFmMX0sIHsweDFmNCwgMHgxZjR9LAorICAgIHsweDFmNiwgMHgxZjh9LCB7MHgxZmEsIDB4MWZhfSwgezB4MWZjLCAweDFmY30sIHsweDFmZSwgMHgxZmV9LAorICAgIHsweDIwMCwgMHgyMDB9LCB7MHgyMDIsIDB4MjAyfSwgezB4MjA0LCAweDIwNH0sIHsweDIwNiwgMHgyMDZ9LAorICAgIHsweDIwOCwgMHgyMDh9LCB7MHgyMGEsIDB4MjBhfSwgezB4MjBjLCAweDIwY30sIHsweDIwZSwgMHgyMGV9LAorICAgIHsweDIxMCwgMHgyMTB9LCB7MHgyMTIsIDB4MjEyfSwgezB4MjE0LCAweDIxNH0sIHsweDIxNiwgMHgyMTZ9LAorICAgIHsweDIxOCwgMHgyMTh9LCB7MHgyMWEsIDB4MjFhfSwgezB4MjFjLCAweDIxY30sIHsweDIxZSwgMHgyMWV9LAorICAgIHsweDIyMCwgMHgyMjB9LCB7MHgyMjIsIDB4MjIyfSwgezB4MjI0LCAweDIyNH0sIHsweDIyNiwgMHgyMjZ9LAorICAgIHsweDIyOCwgMHgyMjh9LCB7MHgyMmEsIDB4MjJhfSwgezB4MjJjLCAweDIyY30sIHsweDIyZSwgMHgyMmV9LAorICAgIHsweDIzMCwgMHgyMzB9LCB7MHgyMzIsIDB4MjMyfSwgezB4Mzg2LCAweDM4Nn0sIHsweDM4OCwgMHgzOGF9LAorICAgIHsweDM4YywgMHgzOGN9LCB7MHgzOGUsIDB4MzhmfSwgezB4MzkxLCAweDNhMX0sIHsweDNhMywgMHgzYWJ9LAorICAgIHsweDNkMiwgMHgzZDR9LCB7MHgzZDgsIDB4M2Q4fSwgezB4M2RhLCAweDNkYX0sIHsweDNkYywgMHgzZGN9LAorICAgIHsweDNkZSwgMHgzZGV9LCB7MHgzZTAsIDB4M2UwfSwgezB4M2UyLCAweDNlMn0sIHsweDNlNCwgMHgzZTR9LAorICAgIHsweDNlNiwgMHgzZTZ9LCB7MHgzZTgsIDB4M2U4fSwgezB4M2VhLCAweDNlYX0sIHsweDNlYywgMHgzZWN9LAorICAgIHsweDNlZSwgMHgzZWV9LCB7MHgzZjQsIDB4M2Y0fSwgezB4M2Y3LCAweDNmN30sIHsweDNmOSwgMHgzZmF9LAorICAgIHsweDQwMCwgMHg0MmZ9LCB7MHg0NjAsIDB4NDYwfSwgezB4NDYyLCAweDQ2Mn0sIHsweDQ2NCwgMHg0NjR9LAorICAgIHsweDQ2NiwgMHg0NjZ9LCB7MHg0NjgsIDB4NDY4fSwgezB4NDZhLCAweDQ2YX0sIHsweDQ2YywgMHg0NmN9LAorICAgIHsweDQ2ZSwgMHg0NmV9LCB7MHg0NzAsIDB4NDcwfSwgezB4NDcyLCAweDQ3Mn0sIHsweDQ3NCwgMHg0NzR9LAorICAgIHsweDQ3NiwgMHg0NzZ9LCB7MHg0NzgsIDB4NDc4fSwgezB4NDdhLCAweDQ3YX0sIHsweDQ3YywgMHg0N2N9LAorICAgIHsweDQ3ZSwgMHg0N2V9LCB7MHg0ODAsIDB4NDgwfSwgezB4NDhhLCAweDQ4YX0sIHsweDQ4YywgMHg0OGN9LAorICAgIHsweDQ4ZSwgMHg0OGV9LCB7MHg0OTAsIDB4NDkwfSwgezB4NDkyLCAweDQ5Mn0sIHsweDQ5NCwgMHg0OTR9LAorICAgIHsweDQ5NiwgMHg0OTZ9LCB7MHg0OTgsIDB4NDk4fSwgezB4NDlhLCAweDQ5YX0sIHsweDQ5YywgMHg0OWN9LAorICAgIHsweDQ5ZSwgMHg0OWV9LCB7MHg0YTAsIDB4NGEwfSwgezB4NGEyLCAweDRhMn0sIHsweDRhNCwgMHg0YTR9LAorICAgIHsweDRhNiwgMHg0YTZ9LCB7MHg0YTgsIDB4NGE4fSwgezB4NGFhLCAweDRhYX0sIHsweDRhYywgMHg0YWN9LAorICAgIHsweDRhZSwgMHg0YWV9LCB7MHg0YjAsIDB4NGIwfSwgezB4NGIyLCAweDRiMn0sIHsweDRiNCwgMHg0YjR9LAorICAgIHsweDRiNiwgMHg0YjZ9LCB7MHg0YjgsIDB4NGI4fSwgezB4NGJhLCAweDRiYX0sIHsweDRiYywgMHg0YmN9LAorICAgIHsweDRiZSwgMHg0YmV9LCB7MHg0YzAsIDB4NGMxfSwgezB4NGMzLCAweDRjM30sIHsweDRjNSwgMHg0YzV9LAorICAgIHsweDRjNywgMHg0Yzd9LCB7MHg0YzksIDB4NGM5fSwgezB4NGNiLCAweDRjYn0sIHsweDRjZCwgMHg0Y2R9LAorICAgIHsweDRkMCwgMHg0ZDB9LCB7MHg0ZDIsIDB4NGQyfSwgezB4NGQ0LCAweDRkNH0sIHsweDRkNiwgMHg0ZDZ9LAorICAgIHsweDRkOCwgMHg0ZDh9LCB7MHg0ZGEsIDB4NGRhfSwgezB4NGRjLCAweDRkY30sIHsweDRkZSwgMHg0ZGV9LAorICAgIHsweDRlMCwgMHg0ZTB9LCB7MHg0ZTIsIDB4NGUyfSwgezB4NGU0LCAweDRlNH0sIHsweDRlNiwgMHg0ZTZ9LAorICAgIHsweDRlOCwgMHg0ZTh9LCB7MHg0ZWEsIDB4NGVhfSwgezB4NGVjLCAweDRlY30sIHsweDRlZSwgMHg0ZWV9LAorICAgIHsweDRmMCwgMHg0ZjB9LCB7MHg0ZjIsIDB4NGYyfSwgezB4NGY0LCAweDRmNH0sIHsweDRmOCwgMHg0Zjh9LAorICAgIHsweDUwMCwgMHg1MDB9LCB7MHg1MDIsIDB4NTAyfSwgezB4NTA0LCAweDUwNH0sIHsweDUwNiwgMHg1MDZ9LAorICAgIHsweDUwOCwgMHg1MDh9LCB7MHg1MGEsIDB4NTBhfSwgezB4NTBjLCAweDUwY30sIHsweDUwZSwgMHg1MGV9LAorICAgIHsweDUzMSwgMHg1NTZ9LCB7MHgxMGEwLCAweDEwYzV9LCB7MHgxZTAwLCAweDFlMDB9LCB7MHgxZTAyLCAweDFlMDJ9LAorICAgIHsweDFlMDQsIDB4MWUwNH0sIHsweDFlMDYsIDB4MWUwNn0sIHsweDFlMDgsIDB4MWUwOH0sIHsweDFlMGEsIDB4MWUwYX0sCisgICAgezB4MWUwYywgMHgxZTBjfSwgezB4MWUwZSwgMHgxZTBlfSwgezB4MWUxMCwgMHgxZTEwfSwgezB4MWUxMiwgMHgxZTEyfSwKKyAgICB7MHgxZTE0LCAweDFlMTR9LCB7MHgxZTE2LCAweDFlMTZ9LCB7MHgxZTE4LCAweDFlMTh9LCB7MHgxZTFhLCAweDFlMWF9LAorICAgIHsweDFlMWMsIDB4MWUxY30sIHsweDFlMWUsIDB4MWUxZX0sIHsweDFlMjAsIDB4MWUyMH0sIHsweDFlMjIsIDB4MWUyMn0sCisgICAgezB4MWUyNCwgMHgxZTI0fSwgezB4MWUyNiwgMHgxZTI2fSwgezB4MWUyOCwgMHgxZTI4fSwgezB4MWUyYSwgMHgxZTJhfSwKKyAgICB7MHgxZTJjLCAweDFlMmN9LCB7MHgxZTJlLCAweDFlMmV9LCB7MHgxZTMwLCAweDFlMzB9LCB7MHgxZTMyLCAweDFlMzJ9LAorICAgIHsweDFlMzQsIDB4MWUzNH0sIHsweDFlMzYsIDB4MWUzNn0sIHsweDFlMzgsIDB4MWUzOH0sIHsweDFlM2EsIDB4MWUzYX0sCisgICAgezB4MWUzYywgMHgxZTNjfSwgezB4MWUzZSwgMHgxZTNlfSwgezB4MWU0MCwgMHgxZTQwfSwgezB4MWU0MiwgMHgxZTQyfSwKKyAgICB7MHgxZTQ0LCAweDFlNDR9LCB7MHgxZTQ2LCAweDFlNDZ9LCB7MHgxZTQ4LCAweDFlNDh9LCB7MHgxZTRhLCAweDFlNGF9LAorICAgIHsweDFlNGMsIDB4MWU0Y30sIHsweDFlNGUsIDB4MWU0ZX0sIHsweDFlNTAsIDB4MWU1MH0sIHsweDFlNTIsIDB4MWU1Mn0sCisgICAgezB4MWU1NCwgMHgxZTU0fSwgezB4MWU1NiwgMHgxZTU2fSwgezB4MWU1OCwgMHgxZTU4fSwgezB4MWU1YSwgMHgxZTVhfSwKKyAgICB7MHgxZTVjLCAweDFlNWN9LCB7MHgxZTVlLCAweDFlNWV9LCB7MHgxZTYwLCAweDFlNjB9LCB7MHgxZTYyLCAweDFlNjJ9LAorICAgIHsweDFlNjQsIDB4MWU2NH0sIHsweDFlNjYsIDB4MWU2Nn0sIHsweDFlNjgsIDB4MWU2OH0sIHsweDFlNmEsIDB4MWU2YX0sCisgICAgezB4MWU2YywgMHgxZTZjfSwgezB4MWU2ZSwgMHgxZTZlfSwgezB4MWU3MCwgMHgxZTcwfSwgezB4MWU3MiwgMHgxZTcyfSwKKyAgICB7MHgxZTc0LCAweDFlNzR9LCB7MHgxZTc2LCAweDFlNzZ9LCB7MHgxZTc4LCAweDFlNzh9LCB7MHgxZTdhLCAweDFlN2F9LAorICAgIHsweDFlN2MsIDB4MWU3Y30sIHsweDFlN2UsIDB4MWU3ZX0sIHsweDFlODAsIDB4MWU4MH0sIHsweDFlODIsIDB4MWU4Mn0sCisgICAgezB4MWU4NCwgMHgxZTg0fSwgezB4MWU4NiwgMHgxZTg2fSwgezB4MWU4OCwgMHgxZTg4fSwgezB4MWU4YSwgMHgxZThhfSwKKyAgICB7MHgxZThjLCAweDFlOGN9LCB7MHgxZThlLCAweDFlOGV9LCB7MHgxZTkwLCAweDFlOTB9LCB7MHgxZTkyLCAweDFlOTJ9LAorICAgIHsweDFlOTQsIDB4MWU5NH0sIHsweDFlYTAsIDB4MWVhMH0sIHsweDFlYTIsIDB4MWVhMn0sIHsweDFlYTQsIDB4MWVhNH0sCisgICAgezB4MWVhNiwgMHgxZWE2fSwgezB4MWVhOCwgMHgxZWE4fSwgezB4MWVhYSwgMHgxZWFhfSwgezB4MWVhYywgMHgxZWFjfSwKKyAgICB7MHgxZWFlLCAweDFlYWV9LCB7MHgxZWIwLCAweDFlYjB9LCB7MHgxZWIyLCAweDFlYjJ9LCB7MHgxZWI0LCAweDFlYjR9LAorICAgIHsweDFlYjYsIDB4MWViNn0sIHsweDFlYjgsIDB4MWViOH0sIHsweDFlYmEsIDB4MWViYX0sIHsweDFlYmMsIDB4MWViY30sCisgICAgezB4MWViZSwgMHgxZWJlfSwgezB4MWVjMCwgMHgxZWMwfSwgezB4MWVjMiwgMHgxZWMyfSwgezB4MWVjNCwgMHgxZWM0fSwKKyAgICB7MHgxZWM2LCAweDFlYzZ9LCB7MHgxZWM4LCAweDFlYzh9LCB7MHgxZWNhLCAweDFlY2F9LCB7MHgxZWNjLCAweDFlY2N9LAorICAgIHsweDFlY2UsIDB4MWVjZX0sIHsweDFlZDAsIDB4MWVkMH0sIHsweDFlZDIsIDB4MWVkMn0sIHsweDFlZDQsIDB4MWVkNH0sCisgICAgezB4MWVkNiwgMHgxZWQ2fSwgezB4MWVkOCwgMHgxZWQ4fSwgezB4MWVkYSwgMHgxZWRhfSwgezB4MWVkYywgMHgxZWRjfSwKKyAgICB7MHgxZWRlLCAweDFlZGV9LCB7MHgxZWUwLCAweDFlZTB9LCB7MHgxZWUyLCAweDFlZTJ9LCB7MHgxZWU0LCAweDFlZTR9LAorICAgIHsweDFlZTYsIDB4MWVlNn0sIHsweDFlZTgsIDB4MWVlOH0sIHsweDFlZWEsIDB4MWVlYX0sIHsweDFlZWMsIDB4MWVlY30sCisgICAgezB4MWVlZSwgMHgxZWVlfSwgezB4MWVmMCwgMHgxZWYwfSwgezB4MWVmMiwgMHgxZWYyfSwgezB4MWVmNCwgMHgxZWY0fSwKKyAgICB7MHgxZWY2LCAweDFlZjZ9LCB7MHgxZWY4LCAweDFlZjh9LCB7MHgxZjA4LCAweDFmMGZ9LCB7MHgxZjE4LCAweDFmMWR9LAorICAgIHsweDFmMjgsIDB4MWYyZn0sIHsweDFmMzgsIDB4MWYzZn0sIHsweDFmNDgsIDB4MWY0ZH0sIHsweDFmNTksIDB4MWY1OX0sCisgICAgezB4MWY1YiwgMHgxZjVifSwgezB4MWY1ZCwgMHgxZjVkfSwgezB4MWY1ZiwgMHgxZjVmfSwgezB4MWY2OCwgMHgxZjZmfSwKKyAgICB7MHgxZmI4LCAweDFmYmJ9LCB7MHgxZmM4LCAweDFmY2J9LCB7MHgxZmQ4LCAweDFmZGJ9LCB7MHgxZmU4LCAweDFmZWN9LAorICAgIHsweDFmZjgsIDB4MWZmYn0sIHsweDIxMDIsIDB4MjEwMn0sIHsweDIxMDcsIDB4MjEwN30sIHsweDIxMGIsIDB4MjEwZH0sCisgICAgezB4MjExMCwgMHgyMTEyfSwgezB4MjExNSwgMHgyMTE1fSwgezB4MjExOSwgMHgyMTFkfSwgezB4MjEyNCwgMHgyMTI0fSwKKyAgICB7MHgyMTI2LCAweDIxMjZ9LCB7MHgyMTI4LCAweDIxMjh9LCB7MHgyMTJhLCAweDIxMmR9LCB7MHgyMTMwLCAweDIxMzF9LAorICAgIHsweDIxMzMsIDB4MjEzM30sIHsweDIxM2UsIDB4MjEzZn0sIHsweDIxNDUsIDB4MjE0NX0sIHsweGZmMjEsIDB4ZmYzYX0gfTsKK3N0YXRpYyBjb25zdCB4bWxDaExSYW5nZSB4bWxMdUxbXSA9IHt7MHgxMDQwMCwgMHgxMDQyN30sIHsweDFkNDAwLCAweDFkNDE5fSwKKyAgICB7MHgxZDQzNCwgMHgxZDQ0ZH0sIHsweDFkNDY4LCAweDFkNDgxfSwgezB4MWQ0OWMsIDB4MWQ0OWN9LAorICAgIHsweDFkNDllLCAweDFkNDlmfSwgezB4MWQ0YTIsIDB4MWQ0YTJ9LCB7MHgxZDRhNSwgMHgxZDRhNn0sCisgICAgezB4MWQ0YTksIDB4MWQ0YWN9LCB7MHgxZDRhZSwgMHgxZDRiNX0sIHsweDFkNGQwLCAweDFkNGU5fSwKKyAgICB7MHgxZDUwNCwgMHgxZDUwNX0sIHsweDFkNTA3LCAweDFkNTBhfSwgezB4MWQ1MGQsIDB4MWQ1MTR9LAorICAgIHsweDFkNTE2LCAweDFkNTFjfSwgezB4MWQ1MzgsIDB4MWQ1Mzl9LCB7MHgxZDUzYiwgMHgxZDUzZX0sCisgICAgezB4MWQ1NDAsIDB4MWQ1NDR9LCB7MHgxZDU0NiwgMHgxZDU0Nn0sIHsweDFkNTRhLCAweDFkNTUwfSwKKyAgICB7MHgxZDU2YywgMHgxZDU4NX0sIHsweDFkNWEwLCAweDFkNWI5fSwgezB4MWQ1ZDQsIDB4MWQ1ZWR9LAorICAgIHsweDFkNjA4LCAweDFkNjIxfSwgezB4MWQ2M2MsIDB4MWQ2NTV9LCB7MHgxZDY3MCwgMHgxZDY4OX0sCisgICAgezB4MWQ2YTgsIDB4MWQ2YzB9LCB7MHgxZDZlMiwgMHgxZDZmYX0sIHsweDFkNzFjLCAweDFkNzM0fSwKKyAgICB7MHgxZDc1NiwgMHgxZDc2ZX0sIHsweDFkNzkwLCAweDFkN2E4fSB9Oworc3RhdGljIHhtbENoUmFuZ2VHcm91cCB4bWxMdUcgPSB7MzkwLDMxLHhtbEx1Uyx4bWxMdUx9OworCitzdGF0aWMgY29uc3QgeG1sQ2hTUmFuZ2UgeG1sTVNbXSA9IHt7MHgzMDAsIDB4MzU3fSwgezB4MzVkLCAweDM2Zn0sCisgICAgezB4NDgzLCAweDQ4Nn0sIHsweDQ4OCwgMHg0ODl9LCB7MHg1OTEsIDB4NWExfSwgezB4NWEzLCAweDViOX0sCisgICAgezB4NWJiLCAweDViZH0sIHsweDViZiwgMHg1YmZ9LCB7MHg1YzEsIDB4NWMyfSwgezB4NWM0LCAweDVjNH0sCisgICAgezB4NjEwLCAweDYxNX0sIHsweDY0YiwgMHg2NTh9LCB7MHg2NzAsIDB4NjcwfSwgezB4NmQ2LCAweDZkY30sCisgICAgezB4NmRlLCAweDZlNH0sIHsweDZlNywgMHg2ZTh9LCB7MHg2ZWEsIDB4NmVkfSwgezB4NzExLCAweDcxMX0sCisgICAgezB4NzMwLCAweDc0YX0sIHsweDdhNiwgMHg3YjB9LCB7MHg5MDEsIDB4OTAzfSwgezB4OTNjLCAweDkzY30sCisgICAgezB4OTNlLCAweDk0ZH0sIHsweDk1MSwgMHg5NTR9LCB7MHg5NjIsIDB4OTYzfSwgezB4OTgxLCAweDk4M30sCisgICAgezB4OWJjLCAweDliY30sIHsweDliZSwgMHg5YzR9LCB7MHg5YzcsIDB4OWM4fSwgezB4OWNiLCAweDljZH0sCisgICAgezB4OWQ3LCAweDlkN30sIHsweDllMiwgMHg5ZTN9LCB7MHhhMDEsIDB4YTAzfSwgezB4YTNjLCAweGEzY30sCisgICAgezB4YTNlLCAweGE0Mn0sIHsweGE0NywgMHhhNDh9LCB7MHhhNGIsIDB4YTRkfSwgezB4YTcwLCAweGE3MX0sCisgICAgezB4YTgxLCAweGE4M30sIHsweGFiYywgMHhhYmN9LCB7MHhhYmUsIDB4YWM1fSwgezB4YWM3LCAweGFjOX0sCisgICAgezB4YWNiLCAweGFjZH0sIHsweGFlMiwgMHhhZTN9LCB7MHhiMDEsIDB4YjAzfSwgezB4YjNjLCAweGIzY30sCisgICAgezB4YjNlLCAweGI0M30sIHsweGI0NywgMHhiNDh9LCB7MHhiNGIsIDB4YjRkfSwgezB4YjU2LCAweGI1N30sCisgICAgezB4YjgyLCAweGI4Mn0sIHsweGJiZSwgMHhiYzJ9LCB7MHhiYzYsIDB4YmM4fSwgezB4YmNhLCAweGJjZH0sCisgICAgezB4YmQ3LCAweGJkN30sIHsweGMwMSwgMHhjMDN9LCB7MHhjM2UsIDB4YzQ0fSwgezB4YzQ2LCAweGM0OH0sCisgICAgezB4YzRhLCAweGM0ZH0sIHsweGM1NSwgMHhjNTZ9LCB7MHhjODIsIDB4YzgzfSwgezB4Y2JjLCAweGNiY30sCisgICAgezB4Y2JlLCAweGNjNH0sIHsweGNjNiwgMHhjYzh9LCB7MHhjY2EsIDB4Y2NkfSwgezB4Y2Q1LCAweGNkNn0sCisgICAgezB4ZDAyLCAweGQwM30sIHsweGQzZSwgMHhkNDN9LCB7MHhkNDYsIDB4ZDQ4fSwgezB4ZDRhLCAweGQ0ZH0sCisgICAgezB4ZDU3LCAweGQ1N30sIHsweGQ4MiwgMHhkODN9LCB7MHhkY2EsIDB4ZGNhfSwgezB4ZGNmLCAweGRkNH0sCisgICAgezB4ZGQ2LCAweGRkNn0sIHsweGRkOCwgMHhkZGZ9LCB7MHhkZjIsIDB4ZGYzfSwgezB4ZTMxLCAweGUzMX0sCisgICAgezB4ZTM0LCAweGUzYX0sIHsweGU0NywgMHhlNGV9LCB7MHhlYjEsIDB4ZWIxfSwgezB4ZWI0LCAweGViOX0sCisgICAgezB4ZWJiLCAweGViY30sIHsweGVjOCwgMHhlY2R9LCB7MHhmMTgsIDB4ZjE5fSwgezB4ZjM1LCAweGYzNX0sCisgICAgezB4ZjM3LCAweGYzN30sIHsweGYzOSwgMHhmMzl9LCB7MHhmM2UsIDB4ZjNmfSwgezB4ZjcxLCAweGY4NH0sCisgICAgezB4Zjg2LCAweGY4N30sIHsweGY5MCwgMHhmOTd9LCB7MHhmOTksIDB4ZmJjfSwgezB4ZmM2LCAweGZjNn0sCisgICAgezB4MTAyYywgMHgxMDMyfSwgezB4MTAzNiwgMHgxMDM5fSwgezB4MTA1NiwgMHgxMDU5fSwgezB4MTcxMiwgMHgxNzE0fSwKKyAgICB7MHgxNzMyLCAweDE3MzR9LCB7MHgxNzUyLCAweDE3NTN9LCB7MHgxNzcyLCAweDE3NzN9LCB7MHgxN2I2LCAweDE3ZDN9LAorICAgIHsweDE3ZGQsIDB4MTdkZH0sIHsweDE4MGIsIDB4MTgwZH0sIHsweDE4YTksIDB4MThhOX0sIHsweDE5MjAsIDB4MTkyYn0sCisgICAgezB4MTkzMCwgMHgxOTNifSwgezB4MjBkMCwgMHgyMGVhfSwgezB4MzAyYSwgMHgzMDJmfSwgezB4MzA5OSwgMHgzMDlhfSwKKyAgICB7MHhmYjFlLCAweGZiMWV9LCB7MHhmZTAwLCAweGZlMGZ9LCB7MHhmZTIwLCAweGZlMjN9IH07CitzdGF0aWMgY29uc3QgeG1sQ2hMUmFuZ2UgeG1sTUxbXSA9IHt7MHgxZDE2NSwgMHgxZDE2OX0sIHsweDFkMTZkLCAweDFkMTcyfSwKKyAgICB7MHgxZDE3YiwgMHgxZDE4Mn0sIHsweDFkMTg1LCAweDFkMThifSwgezB4MWQxYWEsIDB4MWQxYWR9LAorICAgIHsweGUwMTAwLCAweGUwMWVmfSB9Oworc3RhdGljIHhtbENoUmFuZ2VHcm91cCB4bWxNRyA9IHsxMTMsNix4bWxNUyx4bWxNTH07CisKK3N0YXRpYyBjb25zdCB4bWxDaFNSYW5nZSB4bWxNY1NbXSA9IHt7MHg5MDMsIDB4OTAzfSwgezB4OTNlLCAweDk0MH0sCisgICAgezB4OTQ5LCAweDk0Y30sIHsweDk4MiwgMHg5ODN9LCB7MHg5YmUsIDB4OWMwfSwgezB4OWM3LCAweDljOH0sCisgICAgezB4OWNiLCAweDljY30sIHsweDlkNywgMHg5ZDd9LCB7MHhhMDMsIDB4YTAzfSwgezB4YTNlLCAweGE0MH0sCisgICAgezB4YTgzLCAweGE4M30sIHsweGFiZSwgMHhhYzB9LCB7MHhhYzksIDB4YWM5fSwgezB4YWNiLCAweGFjY30sCisgICAgezB4YjAyLCAweGIwM30sIHsweGIzZSwgMHhiM2V9LCB7MHhiNDAsIDB4YjQwfSwgezB4YjQ3LCAweGI0OH0sCisgICAgezB4YjRiLCAweGI0Y30sIHsweGI1NywgMHhiNTd9LCB7MHhiYmUsIDB4YmJmfSwgezB4YmMxLCAweGJjMn0sCisgICAgezB4YmM2LCAweGJjOH0sIHsweGJjYSwgMHhiY2N9LCB7MHhiZDcsIDB4YmQ3fSwgezB4YzAxLCAweGMwM30sCisgICAgezB4YzQxLCAweGM0NH0sIHsweGM4MiwgMHhjODN9LCB7MHhjYmUsIDB4Y2JlfSwgezB4Y2MwLCAweGNjNH0sCisgICAgezB4Y2M3LCAweGNjOH0sIHsweGNjYSwgMHhjY2J9LCB7MHhjZDUsIDB4Y2Q2fSwgezB4ZDAyLCAweGQwM30sCisgICAgezB4ZDNlLCAweGQ0MH0sIHsweGQ0NiwgMHhkNDh9LCB7MHhkNGEsIDB4ZDRjfSwgezB4ZDU3LCAweGQ1N30sCisgICAgezB4ZDgyLCAweGQ4M30sIHsweGRjZiwgMHhkZDF9LCB7MHhkZDgsIDB4ZGRmfSwgezB4ZGYyLCAweGRmM30sCisgICAgezB4ZjNlLCAweGYzZn0sIHsweGY3ZiwgMHhmN2Z9LCB7MHgxMDJjLCAweDEwMmN9LCB7MHgxMDMxLCAweDEwMzF9LAorICAgIHsweDEwMzgsIDB4MTAzOH0sIHsweDEwNTYsIDB4MTA1N30sIHsweDE3YjYsIDB4MTdiNn0sIHsweDE3YmUsIDB4MTdjNX0sCisgICAgezB4MTdjNywgMHgxN2M4fSwgezB4MTkyMywgMHgxOTI2fSwgezB4MTkyOSwgMHgxOTJifSwgezB4MTkzMCwgMHgxOTMxfSwKKyAgICB7MHgxOTMzLCAweDE5Mzh9IH07CitzdGF0aWMgY29uc3QgeG1sQ2hMUmFuZ2UgeG1sTWNMW10gPSB7ezB4MWQxNjUsIDB4MWQxNjZ9LCB7MHgxZDE2ZCwgMHgxZDE3Mn0gfTsKK3N0YXRpYyB4bWxDaFJhbmdlR3JvdXAgeG1sTWNHID0gezU1LDIseG1sTWNTLHhtbE1jTH07CisKK3N0YXRpYyBjb25zdCB4bWxDaFNSYW5nZSB4bWxNblNbXSA9IHt7MHgzMDAsIDB4MzU3fSwgezB4MzVkLCAweDM2Zn0sCisgICAgezB4NDgzLCAweDQ4Nn0sIHsweDU5MSwgMHg1YTF9LCB7MHg1YTMsIDB4NWI5fSwgezB4NWJiLCAweDViZH0sCisgICAgezB4NWJmLCAweDViZn0sIHsweDVjMSwgMHg1YzJ9LCB7MHg1YzQsIDB4NWM0fSwgezB4NjEwLCAweDYxNX0sCisgICAgezB4NjRiLCAweDY1OH0sIHsweDY3MCwgMHg2NzB9LCB7MHg2ZDYsIDB4NmRjfSwgezB4NmRmLCAweDZlNH0sCisgICAgezB4NmU3LCAweDZlOH0sIHsweDZlYSwgMHg2ZWR9LCB7MHg3MTEsIDB4NzExfSwgezB4NzMwLCAweDc0YX0sCisgICAgezB4N2E2LCAweDdiMH0sIHsweDkwMSwgMHg5MDJ9LCB7MHg5M2MsIDB4OTNjfSwgezB4OTQxLCAweDk0OH0sCisgICAgezB4OTRkLCAweDk0ZH0sIHsweDk1MSwgMHg5NTR9LCB7MHg5NjIsIDB4OTYzfSwgezB4OTgxLCAweDk4MX0sCisgICAgezB4OWJjLCAweDliY30sIHsweDljMSwgMHg5YzR9LCB7MHg5Y2QsIDB4OWNkfSwgezB4OWUyLCAweDllM30sCisgICAgezB4YTAxLCAweGEwMn0sIHsweGEzYywgMHhhM2N9LCB7MHhhNDEsIDB4YTQyfSwgezB4YTQ3LCAweGE0OH0sCisgICAgezB4YTRiLCAweGE0ZH0sIHsweGE3MCwgMHhhNzF9LCB7MHhhODEsIDB4YTgyfSwgezB4YWJjLCAweGFiY30sCisgICAgezB4YWMxLCAweGFjNX0sIHsweGFjNywgMHhhYzh9LCB7MHhhY2QsIDB4YWNkfSwgezB4YWUyLCAweGFlM30sCisgICAgezB4YjAxLCAweGIwMX0sIHsweGIzYywgMHhiM2N9LCB7MHhiM2YsIDB4YjNmfSwgezB4YjQxLCAweGI0M30sCisgICAgezB4YjRkLCAweGI0ZH0sIHsweGI1NiwgMHhiNTZ9LCB7MHhiODIsIDB4YjgyfSwgezB4YmMwLCAweGJjMH0sCisgICAgezB4YmNkLCAweGJjZH0sIHsweGMzZSwgMHhjNDB9LCB7MHhjNDYsIDB4YzQ4fSwgezB4YzRhLCAweGM0ZH0sCisgICAgezB4YzU1LCAweGM1Nn0sIHsweGNiYywgMHhjYmN9LCB7MHhjYmYsIDB4Y2JmfSwgezB4Y2M2LCAweGNjNn0sCisgICAgezB4Y2NjLCAweGNjZH0sIHsweGQ0MSwgMHhkNDN9LCB7MHhkNGQsIDB4ZDRkfSwgezB4ZGNhLCAweGRjYX0sCisgICAgezB4ZGQyLCAweGRkNH0sIHsweGRkNiwgMHhkZDZ9LCB7MHhlMzEsIDB4ZTMxfSwgezB4ZTM0LCAweGUzYX0sCisgICAgezB4ZTQ3LCAweGU0ZX0sIHsweGViMSwgMHhlYjF9LCB7MHhlYjQsIDB4ZWI5fSwgezB4ZWJiLCAweGViY30sCisgICAgezB4ZWM4LCAweGVjZH0sIHsweGYxOCwgMHhmMTl9LCB7MHhmMzUsIDB4ZjM1fSwgezB4ZjM3LCAweGYzN30sCisgICAgezB4ZjM5LCAweGYzOX0sIHsweGY3MSwgMHhmN2V9LCB7MHhmODAsIDB4Zjg0fSwgezB4Zjg2LCAweGY4N30sCisgICAgezB4ZjkwLCAweGY5N30sIHsweGY5OSwgMHhmYmN9LCB7MHhmYzYsIDB4ZmM2fSwgezB4MTAyZCwgMHgxMDMwfSwKKyAgICB7MHgxMDMyLCAweDEwMzJ9LCB7MHgxMDM2LCAweDEwMzd9LCB7MHgxMDM5LCAweDEwMzl9LCB7MHgxMDU4LCAweDEwNTl9LAorICAgIHsweDE3MTIsIDB4MTcxNH0sIHsweDE3MzIsIDB4MTczNH0sIHsweDE3NTIsIDB4MTc1M30sIHsweDE3NzIsIDB4MTc3M30sCisgICAgezB4MTdiNywgMHgxN2JkfSwgezB4MTdjNiwgMHgxN2M2fSwgezB4MTdjOSwgMHgxN2QzfSwgezB4MTdkZCwgMHgxN2RkfSwKKyAgICB7MHgxODBiLCAweDE4MGR9LCB7MHgxOGE5LCAweDE4YTl9LCB7MHgxOTIwLCAweDE5MjJ9LCB7MHgxOTI3LCAweDE5Mjh9LAorICAgIHsweDE5MzIsIDB4MTkzMn0sIHsweDE5MzksIDB4MTkzYn0sIHsweDIwZDAsIDB4MjBkY30sIHsweDIwZTEsIDB4MjBlMX0sCisgICAgezB4MjBlNSwgMHgyMGVhfSwgezB4MzAyYSwgMHgzMDJmfSwgezB4MzA5OSwgMHgzMDlhfSwgezB4ZmIxZSwgMHhmYjFlfSwKKyAgICB7MHhmZTAwLCAweGZlMGZ9LCB7MHhmZTIwLCAweGZlMjN9IH07CitzdGF0aWMgY29uc3QgeG1sQ2hMUmFuZ2UgeG1sTW5MW10gPSB7ezB4MWQxNjcsIDB4MWQxNjl9LCB7MHgxZDE3YiwgMHgxZDE4Mn0sCisgICAgezB4MWQxODUsIDB4MWQxOGJ9LCB7MHgxZDFhYSwgMHgxZDFhZH0sIHsweGUwMTAwLCAweGUwMWVmfSB9Oworc3RhdGljIHhtbENoUmFuZ2VHcm91cCB4bWxNbkcgPSB7MTA4LDUseG1sTW5TLHhtbE1uTH07CisKK3N0YXRpYyBjb25zdCB4bWxDaFNSYW5nZSB4bWxOU1tdID0ge3sweDMwLCAweDM5fSwgezB4YjIsIDB4YjN9LAorICAgIHsweGI5LCAweGI5fSwgezB4YmMsIDB4YmV9LCB7MHg2NjAsIDB4NjY5fSwgezB4NmYwLCAweDZmOX0sCisgICAgezB4OTY2LCAweDk2Zn0sIHsweDllNiwgMHg5ZWZ9LCB7MHg5ZjQsIDB4OWY5fSwgezB4YTY2LCAweGE2Zn0sCisgICAgezB4YWU2LCAweGFlZn0sIHsweGI2NiwgMHhiNmZ9LCB7MHhiZTcsIDB4YmYyfSwgezB4YzY2LCAweGM2Zn0sCisgICAgezB4Y2U2LCAweGNlZn0sIHsweGQ2NiwgMHhkNmZ9LCB7MHhlNTAsIDB4ZTU5fSwgezB4ZWQwLCAweGVkOX0sCisgICAgezB4ZjIwLCAweGYzM30sIHsweDEwNDAsIDB4MTA0OX0sIHsweDEzNjksIDB4MTM3Y30sIHsweDE2ZWUsIDB4MTZmMH0sCisgICAgezB4MTdlMCwgMHgxN2U5fSwgezB4MTdmMCwgMHgxN2Y5fSwgezB4MTgxMCwgMHgxODE5fSwgezB4MTk0NiwgMHgxOTRmfSwKKyAgICB7MHgyMDcwLCAweDIwNzB9LCB7MHgyMDc0LCAweDIwNzl9LCB7MHgyMDgwLCAweDIwODl9LCB7MHgyMTUzLCAweDIxODN9LAorICAgIHsweDI0NjAsIDB4MjQ5Yn0sIHsweDI0ZWEsIDB4MjRmZn0sIHsweDI3NzYsIDB4Mjc5M30sIHsweDMwMDcsIDB4MzAwN30sCisgICAgezB4MzAyMSwgMHgzMDI5fSwgezB4MzAzOCwgMHgzMDNhfSwgezB4MzE5MiwgMHgzMTk1fSwgezB4MzIyMCwgMHgzMjI5fSwKKyAgICB7MHgzMjUxLCAweDMyNWZ9LCB7MHgzMjgwLCAweDMyODl9LCB7MHgzMmIxLCAweDMyYmZ9LCB7MHhmZjEwLCAweGZmMTl9IH07CitzdGF0aWMgY29uc3QgeG1sQ2hMUmFuZ2UgeG1sTkxbXSA9IHt7MHgxMDEwNywgMHgxMDEzM30sIHsweDEwMzIwLCAweDEwMzIzfSwKKyAgICB7MHgxMDM0YSwgMHgxMDM0YX0sIHsweDEwNGEwLCAweDEwNGE5fSwgezB4MWQ3Y2UsIDB4MWQ3ZmZ9IH07CitzdGF0aWMgeG1sQ2hSYW5nZUdyb3VwIHhtbE5HID0gezQyLDUseG1sTlMseG1sTkx9OworCitzdGF0aWMgY29uc3QgeG1sQ2hTUmFuZ2UgeG1sTmRTW10gPSB7ezB4MzAsIDB4Mzl9LCB7MHg2NjAsIDB4NjY5fSwKKyAgICB7MHg2ZjAsIDB4NmY5fSwgezB4OTY2LCAweDk2Zn0sIHsweDllNiwgMHg5ZWZ9LCB7MHhhNjYsIDB4YTZmfSwKKyAgICB7MHhhZTYsIDB4YWVmfSwgezB4YjY2LCAweGI2Zn0sIHsweGJlNywgMHhiZWZ9LCB7MHhjNjYsIDB4YzZmfSwKKyAgICB7MHhjZTYsIDB4Y2VmfSwgezB4ZDY2LCAweGQ2Zn0sIHsweGU1MCwgMHhlNTl9LCB7MHhlZDAsIDB4ZWQ5fSwKKyAgICB7MHhmMjAsIDB4ZjI5fSwgezB4MTA0MCwgMHgxMDQ5fSwgezB4MTM2OSwgMHgxMzcxfSwgezB4MTdlMCwgMHgxN2U5fSwKKyAgICB7MHgxODEwLCAweDE4MTl9LCB7MHgxOTQ2LCAweDE5NGZ9LCB7MHhmZjEwLCAweGZmMTl9IH07CitzdGF0aWMgY29uc3QgeG1sQ2hMUmFuZ2UgeG1sTmRMW10gPSB7ezB4MTA0YTAsIDB4MTA0YTl9LCB7MHgxZDdjZSwgMHgxZDdmZn0gfTsKK3N0YXRpYyB4bWxDaFJhbmdlR3JvdXAgeG1sTmRHID0gezIxLDIseG1sTmRTLHhtbE5kTH07CisKK3N0YXRpYyBjb25zdCB4bWxDaFNSYW5nZSB4bWxOb1NbXSA9IHt7MHhiMiwgMHhiM30sIHsweGI5LCAweGI5fSwKKyAgICB7MHhiYywgMHhiZX0sIHsweDlmNCwgMHg5Zjl9LCB7MHhiZjAsIDB4YmYyfSwgezB4ZjJhLCAweGYzM30sCisgICAgezB4MTM3MiwgMHgxMzdjfSwgezB4MTdmMCwgMHgxN2Y5fSwgezB4MjA3MCwgMHgyMDcwfSwgezB4MjA3NCwgMHgyMDc5fSwKKyAgICB7MHgyMDgwLCAweDIwODl9LCB7MHgyMTUzLCAweDIxNWZ9LCB7MHgyNDYwLCAweDI0OWJ9LCB7MHgyNGVhLCAweDI0ZmZ9LAorICAgIHsweDI3NzYsIDB4Mjc5M30sIHsweDMxOTIsIDB4MzE5NX0sIHsweDMyMjAsIDB4MzIyOX0sIHsweDMyNTEsIDB4MzI1Zn0sCisgICAgezB4MzI4MCwgMHgzMjg5fSwgezB4MzJiMSwgMHgzMmJmfSB9Oworc3RhdGljIGNvbnN0IHhtbENoTFJhbmdlIHhtbE5vTFtdID0ge3sweDEwMTA3LCAweDEwMTMzfSwgezB4MTAzMjAsIDB4MTAzMjN9IH07CitzdGF0aWMgeG1sQ2hSYW5nZUdyb3VwIHhtbE5vRyA9IHsyMCwyLHhtbE5vUyx4bWxOb0x9OworCitzdGF0aWMgY29uc3QgeG1sQ2hTUmFuZ2UgeG1sUFNbXSA9IHt7MHgyMSwgMHgyM30sIHsweDI1LCAweDJhfSwKKyAgICB7MHgyYywgMHgyZn0sIHsweDNhLCAweDNifSwgezB4M2YsIDB4NDB9LCB7MHg1YiwgMHg1ZH0sIHsweDVmLCAweDVmfSwKKyAgICB7MHg3YiwgMHg3Yn0sIHsweDdkLCAweDdkfSwgezB4YTEsIDB4YTF9LCB7MHhhYiwgMHhhYn0sIHsweGI3LCAweGI3fSwKKyAgICB7MHhiYiwgMHhiYn0sIHsweGJmLCAweGJmfSwgezB4MzdlLCAweDM3ZX0sIHsweDM4NywgMHgzODd9LAorICAgIHsweDU1YSwgMHg1NWZ9LCB7MHg1ODksIDB4NThhfSwgezB4NWJlLCAweDViZX0sIHsweDVjMCwgMHg1YzB9LAorICAgIHsweDVjMywgMHg1YzN9LCB7MHg1ZjMsIDB4NWY0fSwgezB4NjBjLCAweDYwZH0sIHsweDYxYiwgMHg2MWJ9LAorICAgIHsweDYxZiwgMHg2MWZ9LCB7MHg2NmEsIDB4NjZkfSwgezB4NmQ0LCAweDZkNH0sIHsweDcwMCwgMHg3MGR9LAorICAgIHsweDk2NCwgMHg5NjV9LCB7MHg5NzAsIDB4OTcwfSwgezB4ZGY0LCAweGRmNH0sIHsweGU0ZiwgMHhlNGZ9LAorICAgIHsweGU1YSwgMHhlNWJ9LCB7MHhmMDQsIDB4ZjEyfSwgezB4ZjNhLCAweGYzZH0sIHsweGY4NSwgMHhmODV9LAorICAgIHsweDEwNGEsIDB4MTA0Zn0sIHsweDEwZmIsIDB4MTBmYn0sIHsweDEzNjEsIDB4MTM2OH0sIHsweDE2NmQsIDB4MTY2ZX0sCisgICAgezB4MTY5YiwgMHgxNjljfSwgezB4MTZlYiwgMHgxNmVkfSwgezB4MTczNSwgMHgxNzM2fSwgezB4MTdkNCwgMHgxN2Q2fSwKKyAgICB7MHgxN2Q4LCAweDE3ZGF9LCB7MHgxODAwLCAweDE4MGF9LCB7MHgxOTQ0LCAweDE5NDV9LCB7MHgyMDEwLCAweDIwMjd9LAorICAgIHsweDIwMzAsIDB4MjA0M30sIHsweDIwNDUsIDB4MjA1MX0sIHsweDIwNTMsIDB4MjA1NH0sIHsweDIwNTcsIDB4MjA1N30sCisgICAgezB4MjA3ZCwgMHgyMDdlfSwgezB4MjA4ZCwgMHgyMDhlfSwgezB4MjMyOSwgMHgyMzJhfSwgezB4MjNiNCwgMHgyM2I2fSwKKyAgICB7MHgyNzY4LCAweDI3NzV9LCB7MHgyN2U2LCAweDI3ZWJ9LCB7MHgyOTgzLCAweDI5OTh9LCB7MHgyOWQ4LCAweDI5ZGJ9LAorICAgIHsweDI5ZmMsIDB4MjlmZH0sIHsweDMwMDEsIDB4MzAwM30sIHsweDMwMDgsIDB4MzAxMX0sIHsweDMwMTQsIDB4MzAxZn0sCisgICAgezB4MzAzMCwgMHgzMDMwfSwgezB4MzAzZCwgMHgzMDNkfSwgezB4MzBhMCwgMHgzMGEwfSwgezB4MzBmYiwgMHgzMGZifSwKKyAgICB7MHhmZDNlLCAweGZkM2Z9LCB7MHhmZTMwLCAweGZlNTJ9LCB7MHhmZTU0LCAweGZlNjF9LCB7MHhmZTYzLCAweGZlNjN9LAorICAgIHsweGZlNjgsIDB4ZmU2OH0sIHsweGZlNmEsIDB4ZmU2Yn0sIHsweGZmMDEsIDB4ZmYwM30sIHsweGZmMDUsIDB4ZmYwYX0sCisgICAgezB4ZmYwYywgMHhmZjBmfSwgezB4ZmYxYSwgMHhmZjFifSwgezB4ZmYxZiwgMHhmZjIwfSwgezB4ZmYzYiwgMHhmZjNkfSwKKyAgICB7MHhmZjNmLCAweGZmM2Z9LCB7MHhmZjViLCAweGZmNWJ9LCB7MHhmZjVkLCAweGZmNWR9LCB7MHhmZjVmLCAweGZmNjV9IH07CitzdGF0aWMgY29uc3QgeG1sQ2hMUmFuZ2UgeG1sUExbXSA9IHt7MHgxMDEwMCwgMHgxMDEwMX0sIHsweDEwMzlmLCAweDEwMzlmfSB9Oworc3RhdGljIHhtbENoUmFuZ2VHcm91cCB4bWxQRyA9IHs4NCwyLHhtbFBTLHhtbFBMfTsKKworc3RhdGljIGNvbnN0IHhtbENoU1JhbmdlIHhtbFBkU1tdID0ge3sweDJkLCAweDJkfSwgezB4NThhLCAweDU4YX0sCisgICAgezB4MTgwNiwgMHgxODA2fSwgezB4MjAxMCwgMHgyMDE1fSwgezB4MzAxYywgMHgzMDFjfSwgezB4MzAzMCwgMHgzMDMwfSwKKyAgICB7MHgzMGEwLCAweDMwYTB9LCB7MHhmZTMxLCAweGZlMzJ9LCB7MHhmZTU4LCAweGZlNTh9LCB7MHhmZTYzLCAweGZlNjN9LAorICAgIHsweGZmMGQsIDB4ZmYwZH0gfTsKK3N0YXRpYyB4bWxDaFJhbmdlR3JvdXAgeG1sUGRHID0gezExLDAseG1sUGRTLE5VTEx9OworCitzdGF0aWMgY29uc3QgeG1sQ2hTUmFuZ2UgeG1sUGVTW10gPSB7ezB4MjksIDB4Mjl9LCB7MHg1ZCwgMHg1ZH0sCisgICAgezB4N2QsIDB4N2R9LCB7MHhmM2IsIDB4ZjNifSwgezB4ZjNkLCAweGYzZH0sIHsweDE2OWMsIDB4MTY5Y30sCisgICAgezB4MjA0NiwgMHgyMDQ2fSwgezB4MjA3ZSwgMHgyMDdlfSwgezB4MjA4ZSwgMHgyMDhlfSwgezB4MjMyYSwgMHgyMzJhfSwKKyAgICB7MHgyM2I1LCAweDIzYjV9LCB7MHgyNzY5LCAweDI3Njl9LCB7MHgyNzZiLCAweDI3NmJ9LCB7MHgyNzZkLCAweDI3NmR9LAorICAgIHsweDI3NmYsIDB4Mjc2Zn0sIHsweDI3NzEsIDB4Mjc3MX0sIHsweDI3NzMsIDB4Mjc3M30sIHsweDI3NzUsIDB4Mjc3NX0sCisgICAgezB4MjdlNywgMHgyN2U3fSwgezB4MjdlOSwgMHgyN2U5fSwgezB4MjdlYiwgMHgyN2VifSwgezB4Mjk4NCwgMHgyOTg0fSwKKyAgICB7MHgyOTg2LCAweDI5ODZ9LCB7MHgyOTg4LCAweDI5ODh9LCB7MHgyOThhLCAweDI5OGF9LCB7MHgyOThjLCAweDI5OGN9LAorICAgIHsweDI5OGUsIDB4Mjk4ZX0sIHsweDI5OTAsIDB4Mjk5MH0sIHsweDI5OTIsIDB4Mjk5Mn0sIHsweDI5OTQsIDB4Mjk5NH0sCisgICAgezB4Mjk5NiwgMHgyOTk2fSwgezB4Mjk5OCwgMHgyOTk4fSwgezB4MjlkOSwgMHgyOWQ5fSwgezB4MjlkYiwgMHgyOWRifSwKKyAgICB7MHgyOWZkLCAweDI5ZmR9LCB7MHgzMDA5LCAweDMwMDl9LCB7MHgzMDBiLCAweDMwMGJ9LCB7MHgzMDBkLCAweDMwMGR9LAorICAgIHsweDMwMGYsIDB4MzAwZn0sIHsweDMwMTEsIDB4MzAxMX0sIHsweDMwMTUsIDB4MzAxNX0sIHsweDMwMTcsIDB4MzAxN30sCisgICAgezB4MzAxOSwgMHgzMDE5fSwgezB4MzAxYiwgMHgzMDFifSwgezB4MzAxZSwgMHgzMDFmfSwgezB4ZmQzZiwgMHhmZDNmfSwKKyAgICB7MHhmZTM2LCAweGZlMzZ9LCB7MHhmZTM4LCAweGZlMzh9LCB7MHhmZTNhLCAweGZlM2F9LCB7MHhmZTNjLCAweGZlM2N9LAorICAgIHsweGZlM2UsIDB4ZmUzZX0sIHsweGZlNDAsIDB4ZmU0MH0sIHsweGZlNDIsIDB4ZmU0Mn0sIHsweGZlNDQsIDB4ZmU0NH0sCisgICAgezB4ZmU0OCwgMHhmZTQ4fSwgezB4ZmU1YSwgMHhmZTVhfSwgezB4ZmU1YywgMHhmZTVjfSwgezB4ZmU1ZSwgMHhmZTVlfSwKKyAgICB7MHhmZjA5LCAweGZmMDl9LCB7MHhmZjNkLCAweGZmM2R9LCB7MHhmZjVkLCAweGZmNWR9LCB7MHhmZjYwLCAweGZmNjB9LAorICAgIHsweGZmNjMsIDB4ZmY2M30gfTsKK3N0YXRpYyB4bWxDaFJhbmdlR3JvdXAgeG1sUGVHID0gezYzLDAseG1sUGVTLE5VTEx9OworCitzdGF0aWMgY29uc3QgeG1sQ2hTUmFuZ2UgeG1sUG9TW10gPSB7ezB4MjEsIDB4MjN9LCB7MHgyNSwgMHgyN30sCisgICAgezB4MmEsIDB4MmF9LCB7MHgyYywgMHgyY30sIHsweDJlLCAweDJmfSwgezB4M2EsIDB4M2J9LCB7MHgzZiwgMHg0MH0sCisgICAgezB4NWMsIDB4NWN9LCB7MHhhMSwgMHhhMX0sIHsweGI3LCAweGI3fSwgezB4YmYsIDB4YmZ9LCB7MHgzN2UsIDB4MzdlfSwKKyAgICB7MHgzODcsIDB4Mzg3fSwgezB4NTVhLCAweDU1Zn0sIHsweDU4OSwgMHg1ODl9LCB7MHg1YmUsIDB4NWJlfSwKKyAgICB7MHg1YzAsIDB4NWMwfSwgezB4NWMzLCAweDVjM30sIHsweDVmMywgMHg1ZjR9LCB7MHg2MGMsIDB4NjBkfSwKKyAgICB7MHg2MWIsIDB4NjFifSwgezB4NjFmLCAweDYxZn0sIHsweDY2YSwgMHg2NmR9LCB7MHg2ZDQsIDB4NmQ0fSwKKyAgICB7MHg3MDAsIDB4NzBkfSwgezB4OTY0LCAweDk2NX0sIHsweDk3MCwgMHg5NzB9LCB7MHhkZjQsIDB4ZGY0fSwKKyAgICB7MHhlNGYsIDB4ZTRmfSwgezB4ZTVhLCAweGU1Yn0sIHsweGYwNCwgMHhmMTJ9LCB7MHhmODUsIDB4Zjg1fSwKKyAgICB7MHgxMDRhLCAweDEwNGZ9LCB7MHgxMGZiLCAweDEwZmJ9LCB7MHgxMzYxLCAweDEzNjh9LCB7MHgxNjZkLCAweDE2NmV9LAorICAgIHsweDE2ZWIsIDB4MTZlZH0sIHsweDE3MzUsIDB4MTczNn0sIHsweDE3ZDQsIDB4MTdkNn0sIHsweDE3ZDgsIDB4MTdkYX0sCisgICAgezB4MTgwMCwgMHgxODA1fSwgezB4MTgwNywgMHgxODBhfSwgezB4MTk0NCwgMHgxOTQ1fSwgezB4MjAxNiwgMHgyMDE3fSwKKyAgICB7MHgyMDIwLCAweDIwMjd9LCB7MHgyMDMwLCAweDIwMzh9LCB7MHgyMDNiLCAweDIwM2V9LCB7MHgyMDQxLCAweDIwNDN9LAorICAgIHsweDIwNDcsIDB4MjA1MX0sIHsweDIwNTMsIDB4MjA1M30sIHsweDIwNTcsIDB4MjA1N30sIHsweDIzYjYsIDB4MjNiNn0sCisgICAgezB4MzAwMSwgMHgzMDAzfSwgezB4MzAzZCwgMHgzMDNkfSwgezB4ZmUzMCwgMHhmZTMwfSwgezB4ZmU0NSwgMHhmZTQ2fSwKKyAgICB7MHhmZTQ5LCAweGZlNGN9LCB7MHhmZTUwLCAweGZlNTJ9LCB7MHhmZTU0LCAweGZlNTd9LCB7MHhmZTVmLCAweGZlNjF9LAorICAgIHsweGZlNjgsIDB4ZmU2OH0sIHsweGZlNmEsIDB4ZmU2Yn0sIHsweGZmMDEsIDB4ZmYwM30sIHsweGZmMDUsIDB4ZmYwN30sCisgICAgezB4ZmYwYSwgMHhmZjBhfSwgezB4ZmYwYywgMHhmZjBjfSwgezB4ZmYwZSwgMHhmZjBmfSwgezB4ZmYxYSwgMHhmZjFifSwKKyAgICB7MHhmZjFmLCAweGZmMjB9LCB7MHhmZjNjLCAweGZmM2N9LCB7MHhmZjYxLCAweGZmNjF9LCB7MHhmZjY0LCAweGZmNjR9IH07CitzdGF0aWMgY29uc3QgeG1sQ2hMUmFuZ2UgeG1sUG9MW10gPSB7ezB4MTAxMDAsIDB4MTAxMDF9LCB7MHgxMDM5ZiwgMHgxMDM5Zn0gfTsKK3N0YXRpYyB4bWxDaFJhbmdlR3JvdXAgeG1sUG9HID0gezcyLDIseG1sUG9TLHhtbFBvTH07CisKK3N0YXRpYyBjb25zdCB4bWxDaFNSYW5nZSB4bWxQc1NbXSA9IHt7MHgyOCwgMHgyOH0sIHsweDViLCAweDVifSwKKyAgICB7MHg3YiwgMHg3Yn0sIHsweGYzYSwgMHhmM2F9LCB7MHhmM2MsIDB4ZjNjfSwgezB4MTY5YiwgMHgxNjlifSwKKyAgICB7MHgyMDFhLCAweDIwMWF9LCB7MHgyMDFlLCAweDIwMWV9LCB7MHgyMDQ1LCAweDIwNDV9LCB7MHgyMDdkLCAweDIwN2R9LAorICAgIHsweDIwOGQsIDB4MjA4ZH0sIHsweDIzMjksIDB4MjMyOX0sIHsweDIzYjQsIDB4MjNiNH0sIHsweDI3NjgsIDB4Mjc2OH0sCisgICAgezB4Mjc2YSwgMHgyNzZhfSwgezB4Mjc2YywgMHgyNzZjfSwgezB4Mjc2ZSwgMHgyNzZlfSwgezB4Mjc3MCwgMHgyNzcwfSwKKyAgICB7MHgyNzcyLCAweDI3NzJ9LCB7MHgyNzc0LCAweDI3NzR9LCB7MHgyN2U2LCAweDI3ZTZ9LCB7MHgyN2U4LCAweDI3ZTh9LAorICAgIHsweDI3ZWEsIDB4MjdlYX0sIHsweDI5ODMsIDB4Mjk4M30sIHsweDI5ODUsIDB4Mjk4NX0sIHsweDI5ODcsIDB4Mjk4N30sCisgICAgezB4Mjk4OSwgMHgyOTg5fSwgezB4Mjk4YiwgMHgyOThifSwgezB4Mjk4ZCwgMHgyOThkfSwgezB4Mjk4ZiwgMHgyOThmfSwKKyAgICB7MHgyOTkxLCAweDI5OTF9LCB7MHgyOTkzLCAweDI5OTN9LCB7MHgyOTk1LCAweDI5OTV9LCB7MHgyOTk3LCAweDI5OTd9LAorICAgIHsweDI5ZDgsIDB4MjlkOH0sIHsweDI5ZGEsIDB4MjlkYX0sIHsweDI5ZmMsIDB4MjlmY30sIHsweDMwMDgsIDB4MzAwOH0sCisgICAgezB4MzAwYSwgMHgzMDBhfSwgezB4MzAwYywgMHgzMDBjfSwgezB4MzAwZSwgMHgzMDBlfSwgezB4MzAxMCwgMHgzMDEwfSwKKyAgICB7MHgzMDE0LCAweDMwMTR9LCB7MHgzMDE2LCAweDMwMTZ9LCB7MHgzMDE4LCAweDMwMTh9LCB7MHgzMDFhLCAweDMwMWF9LAorICAgIHsweDMwMWQsIDB4MzAxZH0sIHsweGZkM2UsIDB4ZmQzZX0sIHsweGZlMzUsIDB4ZmUzNX0sIHsweGZlMzcsIDB4ZmUzN30sCisgICAgezB4ZmUzOSwgMHhmZTM5fSwgezB4ZmUzYiwgMHhmZTNifSwgezB4ZmUzZCwgMHhmZTNkfSwgezB4ZmUzZiwgMHhmZTNmfSwKKyAgICB7MHhmZTQxLCAweGZlNDF9LCB7MHhmZTQzLCAweGZlNDN9LCB7MHhmZTQ3LCAweGZlNDd9LCB7MHhmZTU5LCAweGZlNTl9LAorICAgIHsweGZlNWIsIDB4ZmU1Yn0sIHsweGZlNWQsIDB4ZmU1ZH0sIHsweGZmMDgsIDB4ZmYwOH0sIHsweGZmM2IsIDB4ZmYzYn0sCisgICAgezB4ZmY1YiwgMHhmZjVifSwgezB4ZmY1ZiwgMHhmZjVmfSwgezB4ZmY2MiwgMHhmZjYyfSB9Oworc3RhdGljIHhtbENoUmFuZ2VHcm91cCB4bWxQc0cgPSB7NjUsMCx4bWxQc1MsTlVMTH07CisKK3N0YXRpYyBjb25zdCB4bWxDaFNSYW5nZSB4bWxTU1tdID0ge3sweDI0LCAweDI0fSwgezB4MmIsIDB4MmJ9LAorICAgIHsweDNjLCAweDNlfSwgezB4NWUsIDB4NWV9LCB7MHg2MCwgMHg2MH0sIHsweDdjLCAweDdjfSwgezB4N2UsIDB4N2V9LAorICAgIHsweGEyLCAweGE5fSwgezB4YWMsIDB4YWN9LCB7MHhhZSwgMHhiMX0sIHsweGI0LCAweGI0fSwgezB4YjYsIDB4YjZ9LAorICAgIHsweGI4LCAweGI4fSwgezB4ZDcsIDB4ZDd9LCB7MHhmNywgMHhmN30sIHsweDJjMiwgMHgyYzV9LAorICAgIHsweDJkMiwgMHgyZGZ9LCB7MHgyZTUsIDB4MmVkfSwgezB4MmVmLCAweDJmZn0sIHsweDM3NCwgMHgzNzV9LAorICAgIHsweDM4NCwgMHgzODV9LCB7MHgzZjYsIDB4M2Y2fSwgezB4NDgyLCAweDQ4Mn0sIHsweDYwZSwgMHg2MGZ9LAorICAgIHsweDZlOSwgMHg2ZTl9LCB7MHg2ZmQsIDB4NmZlfSwgezB4OWYyLCAweDlmM30sIHsweDlmYSwgMHg5ZmF9LAorICAgIHsweGFmMSwgMHhhZjF9LCB7MHhiNzAsIDB4YjcwfSwgezB4YmYzLCAweGJmYX0sIHsweGUzZiwgMHhlM2Z9LAorICAgIHsweGYwMSwgMHhmMDN9LCB7MHhmMTMsIDB4ZjE3fSwgezB4ZjFhLCAweGYxZn0sIHsweGYzNCwgMHhmMzR9LAorICAgIHsweGYzNiwgMHhmMzZ9LCB7MHhmMzgsIDB4ZjM4fSwgezB4ZmJlLCAweGZjNX0sIHsweGZjNywgMHhmY2N9LAorICAgIHsweGZjZiwgMHhmY2Z9LCB7MHgxN2RiLCAweDE3ZGJ9LCB7MHgxOTQwLCAweDE5NDB9LCB7MHgxOWUwLCAweDE5ZmZ9LAorICAgIHsweDFmYmQsIDB4MWZiZH0sIHsweDFmYmYsIDB4MWZjMX0sIHsweDFmY2QsIDB4MWZjZn0sIHsweDFmZGQsIDB4MWZkZn0sCisgICAgezB4MWZlZCwgMHgxZmVmfSwgezB4MWZmZCwgMHgxZmZlfSwgezB4MjA0NCwgMHgyMDQ0fSwgezB4MjA1MiwgMHgyMDUyfSwKKyAgICB7MHgyMDdhLCAweDIwN2N9LCB7MHgyMDhhLCAweDIwOGN9LCB7MHgyMGEwLCAweDIwYjF9LCB7MHgyMTAwLCAweDIxMDF9LAorICAgIHsweDIxMDMsIDB4MjEwNn0sIHsweDIxMDgsIDB4MjEwOX0sIHsweDIxMTQsIDB4MjExNH0sIHsweDIxMTYsIDB4MjExOH0sCisgICAgezB4MjExZSwgMHgyMTIzfSwgezB4MjEyNSwgMHgyMTI1fSwgezB4MjEyNywgMHgyMTI3fSwgezB4MjEyOSwgMHgyMTI5fSwKKyAgICB7MHgyMTJlLCAweDIxMmV9LCB7MHgyMTMyLCAweDIxMzJ9LCB7MHgyMTNhLCAweDIxM2J9LCB7MHgyMTQwLCAweDIxNDR9LAorICAgIHsweDIxNGEsIDB4MjE0Yn0sIHsweDIxOTAsIDB4MjMyOH0sIHsweDIzMmIsIDB4MjNiM30sIHsweDIzYjcsIDB4MjNkMH0sCisgICAgezB4MjQwMCwgMHgyNDI2fSwgezB4MjQ0MCwgMHgyNDRhfSwgezB4MjQ5YywgMHgyNGU5fSwgezB4MjUwMCwgMHgyNjE3fSwKKyAgICB7MHgyNjE5LCAweDI2N2R9LCB7MHgyNjgwLCAweDI2OTF9LCB7MHgyNmEwLCAweDI2YTF9LCB7MHgyNzAxLCAweDI3MDR9LAorICAgIHsweDI3MDYsIDB4MjcwOX0sIHsweDI3MGMsIDB4MjcyN30sIHsweDI3MjksIDB4Mjc0Yn0sIHsweDI3NGQsIDB4Mjc0ZH0sCisgICAgezB4Mjc0ZiwgMHgyNzUyfSwgezB4Mjc1NiwgMHgyNzU2fSwgezB4Mjc1OCwgMHgyNzVlfSwgezB4Mjc2MSwgMHgyNzY3fSwKKyAgICB7MHgyNzk0LCAweDI3OTR9LCB7MHgyNzk4LCAweDI3YWZ9LCB7MHgyN2IxLCAweDI3YmV9LCB7MHgyN2QwLCAweDI3ZTV9LAorICAgIHsweDI3ZjAsIDB4Mjk4Mn0sIHsweDI5OTksIDB4MjlkN30sIHsweDI5ZGMsIDB4MjlmYn0sIHsweDI5ZmUsIDB4MmIwZH0sCisgICAgezB4MmU4MCwgMHgyZTk5fSwgezB4MmU5YiwgMHgyZWYzfSwgezB4MmYwMCwgMHgyZmQ1fSwgezB4MmZmMCwgMHgyZmZifSwKKyAgICB7MHgzMDA0LCAweDMwMDR9LCB7MHgzMDEyLCAweDMwMTN9LCB7MHgzMDIwLCAweDMwMjB9LCB7MHgzMDM2LCAweDMwMzd9LAorICAgIHsweDMwM2UsIDB4MzAzZn0sIHsweDMwOWIsIDB4MzA5Y30sIHsweDMxOTAsIDB4MzE5MX0sIHsweDMxOTYsIDB4MzE5Zn0sCisgICAgezB4MzIwMCwgMHgzMjFlfSwgezB4MzIyYSwgMHgzMjQzfSwgezB4MzI1MCwgMHgzMjUwfSwgezB4MzI2MCwgMHgzMjdkfSwKKyAgICB7MHgzMjdmLCAweDMyN2Z9LCB7MHgzMjhhLCAweDMyYjB9LCB7MHgzMmMwLCAweDMyZmV9LCB7MHgzMzAwLCAweDMzZmZ9LAorICAgIHsweDRkYzAsIDB4NGRmZn0sIHsweGE0OTAsIDB4YTRjNn0sIHsweGZiMjksIDB4ZmIyOX0sIHsweGZkZmMsIDB4ZmRmZH0sCisgICAgezB4ZmU2MiwgMHhmZTYyfSwgezB4ZmU2NCwgMHhmZTY2fSwgezB4ZmU2OSwgMHhmZTY5fSwgezB4ZmYwNCwgMHhmZjA0fSwKKyAgICB7MHhmZjBiLCAweGZmMGJ9LCB7MHhmZjFjLCAweGZmMWV9LCB7MHhmZjNlLCAweGZmM2V9LCB7MHhmZjQwLCAweGZmNDB9LAorICAgIHsweGZmNWMsIDB4ZmY1Y30sIHsweGZmNWUsIDB4ZmY1ZX0sIHsweGZmZTAsIDB4ZmZlNn0sIHsweGZmZTgsIDB4ZmZlZX0sCisgICAgezB4ZmZmYywgMHhmZmZkfSB9Oworc3RhdGljIGNvbnN0IHhtbENoTFJhbmdlIHhtbFNMW10gPSB7ezB4MTAxMDIsIDB4MTAxMDJ9LCB7MHgxMDEzNywgMHgxMDEzZn0sCisgICAgezB4MWQwMDAsIDB4MWQwZjV9LCB7MHgxZDEwMCwgMHgxZDEyNn0sIHsweDFkMTJhLCAweDFkMTY0fSwKKyAgICB7MHgxZDE2YSwgMHgxZDE2Y30sIHsweDFkMTgzLCAweDFkMTg0fSwgezB4MWQxOGMsIDB4MWQxYTl9LAorICAgIHsweDFkMWFlLCAweDFkMWRkfSwgezB4MWQzMDAsIDB4MWQzNTZ9LCB7MHgxZDZjMSwgMHgxZDZjMX0sCisgICAgezB4MWQ2ZGIsIDB4MWQ2ZGJ9LCB7MHgxZDZmYiwgMHgxZDZmYn0sIHsweDFkNzE1LCAweDFkNzE1fSwKKyAgICB7MHgxZDczNSwgMHgxZDczNX0sIHsweDFkNzRmLCAweDFkNzRmfSwgezB4MWQ3NmYsIDB4MWQ3NmZ9LAorICAgIHsweDFkNzg5LCAweDFkNzg5fSwgezB4MWQ3YTksIDB4MWQ3YTl9LCB7MHgxZDdjMywgMHgxZDdjM30gfTsKK3N0YXRpYyB4bWxDaFJhbmdlR3JvdXAgeG1sU0cgPSB7MTMzLDIwLHhtbFNTLHhtbFNMfTsKKworc3RhdGljIGNvbnN0IHhtbENoU1JhbmdlIHhtbFNjU1tdID0ge3sweDI0LCAweDI0fSwgezB4YTIsIDB4YTV9LAorICAgIHsweDlmMiwgMHg5ZjN9LCB7MHhhZjEsIDB4YWYxfSwgezB4YmY5LCAweGJmOX0sIHsweGUzZiwgMHhlM2Z9LAorICAgIHsweDE3ZGIsIDB4MTdkYn0sIHsweDIwYTAsIDB4MjBiMX0sIHsweGZkZmMsIDB4ZmRmY30sIHsweGZlNjksIDB4ZmU2OX0sCisgICAgezB4ZmYwNCwgMHhmZjA0fSwgezB4ZmZlMCwgMHhmZmUxfSwgezB4ZmZlNSwgMHhmZmU2fSB9Oworc3RhdGljIHhtbENoUmFuZ2VHcm91cCB4bWxTY0cgPSB7MTMsMCx4bWxTY1MsTlVMTH07CisKK3N0YXRpYyBjb25zdCB4bWxDaFNSYW5nZSB4bWxTa1NbXSA9IHt7MHg1ZSwgMHg1ZX0sIHsweDYwLCAweDYwfSwKKyAgICB7MHhhOCwgMHhhOH0sIHsweGFmLCAweGFmfSwgezB4YjQsIDB4YjR9LCB7MHhiOCwgMHhiOH0sIHsweDJjMiwgMHgyYzV9LAorICAgIHsweDJkMiwgMHgyZGZ9LCB7MHgyZTUsIDB4MmVkfSwgezB4MmVmLCAweDJmZn0sIHsweDM3NCwgMHgzNzV9LAorICAgIHsweDM4NCwgMHgzODV9LCB7MHgxZmJkLCAweDFmYmR9LCB7MHgxZmJmLCAweDFmYzF9LCB7MHgxZmNkLCAweDFmY2Z9LAorICAgIHsweDFmZGQsIDB4MWZkZn0sIHsweDFmZWQsIDB4MWZlZn0sIHsweDFmZmQsIDB4MWZmZX0sIHsweDMwOWIsIDB4MzA5Y30sCisgICAgezB4ZmYzZSwgMHhmZjNlfSwgezB4ZmY0MCwgMHhmZjQwfSwgezB4ZmZlMywgMHhmZmUzfSB9Oworc3RhdGljIHhtbENoUmFuZ2VHcm91cCB4bWxTa0cgPSB7MjIsMCx4bWxTa1MsTlVMTH07CisKK3N0YXRpYyBjb25zdCB4bWxDaFNSYW5nZSB4bWxTbVNbXSA9IHt7MHgyYiwgMHgyYn0sIHsweDNjLCAweDNlfSwKKyAgICB7MHg3YywgMHg3Y30sIHsweDdlLCAweDdlfSwgezB4YWMsIDB4YWN9LCB7MHhiMSwgMHhiMX0sIHsweGQ3LCAweGQ3fSwKKyAgICB7MHhmNywgMHhmN30sIHsweDNmNiwgMHgzZjZ9LCB7MHgyMDQ0LCAweDIwNDR9LCB7MHgyMDUyLCAweDIwNTJ9LAorICAgIHsweDIwN2EsIDB4MjA3Y30sIHsweDIwOGEsIDB4MjA4Y30sIHsweDIxNDAsIDB4MjE0NH0sIHsweDIxNGIsIDB4MjE0Yn0sCisgICAgezB4MjE5MCwgMHgyMTk0fSwgezB4MjE5YSwgMHgyMTlifSwgezB4MjFhMCwgMHgyMWEwfSwgezB4MjFhMywgMHgyMWEzfSwKKyAgICB7MHgyMWE2LCAweDIxYTZ9LCB7MHgyMWFlLCAweDIxYWV9LCB7MHgyMWNlLCAweDIxY2Z9LCB7MHgyMWQyLCAweDIxZDJ9LAorICAgIHsweDIxZDQsIDB4MjFkNH0sIHsweDIxZjQsIDB4MjJmZn0sIHsweDIzMDgsIDB4MjMwYn0sIHsweDIzMjAsIDB4MjMyMX0sCisgICAgezB4MjM3YywgMHgyMzdjfSwgezB4MjM5YiwgMHgyM2IzfSwgezB4MjViNywgMHgyNWI3fSwgezB4MjVjMSwgMHgyNWMxfSwKKyAgICB7MHgyNWY4LCAweDI1ZmZ9LCB7MHgyNjZmLCAweDI2NmZ9LCB7MHgyN2QwLCAweDI3ZTV9LCB7MHgyN2YwLCAweDI3ZmZ9LAorICAgIHsweDI5MDAsIDB4Mjk4Mn0sIHsweDI5OTksIDB4MjlkN30sIHsweDI5ZGMsIDB4MjlmYn0sIHsweDI5ZmUsIDB4MmFmZn0sCisgICAgezB4ZmIyOSwgMHhmYjI5fSwgezB4ZmU2MiwgMHhmZTYyfSwgezB4ZmU2NCwgMHhmZTY2fSwgezB4ZmYwYiwgMHhmZjBifSwKKyAgICB7MHhmZjFjLCAweGZmMWV9LCB7MHhmZjVjLCAweGZmNWN9LCB7MHhmZjVlLCAweGZmNWV9LCB7MHhmZmUyLCAweGZmZTJ9LAorICAgIHsweGZmZTksIDB4ZmZlY30gfTsKK3N0YXRpYyBjb25zdCB4bWxDaExSYW5nZSB4bWxTbUxbXSA9IHt7MHgxZDZjMSwgMHgxZDZjMX0sIHsweDFkNmRiLCAweDFkNmRifSwKKyAgICB7MHgxZDZmYiwgMHgxZDZmYn0sIHsweDFkNzE1LCAweDFkNzE1fSwgezB4MWQ3MzUsIDB4MWQ3MzV9LAorICAgIHsweDFkNzRmLCAweDFkNzRmfSwgezB4MWQ3NmYsIDB4MWQ3NmZ9LCB7MHgxZDc4OSwgMHgxZDc4OX0sCisgICAgezB4MWQ3YTksIDB4MWQ3YTl9LCB7MHgxZDdjMywgMHgxZDdjM30gfTsKK3N0YXRpYyB4bWxDaFJhbmdlR3JvdXAgeG1sU21HID0gezQ4LDEwLHhtbFNtUyx4bWxTbUx9OworCitzdGF0aWMgY29uc3QgeG1sQ2hTUmFuZ2UgeG1sU29TW10gPSB7ezB4YTYsIDB4YTd9LCB7MHhhOSwgMHhhOX0sCisgICAgezB4YWUsIDB4YWV9LCB7MHhiMCwgMHhiMH0sIHsweGI2LCAweGI2fSwgezB4NDgyLCAweDQ4Mn0sCisgICAgezB4NjBlLCAweDYwZn0sIHsweDZlOSwgMHg2ZTl9LCB7MHg2ZmQsIDB4NmZlfSwgezB4OWZhLCAweDlmYX0sCisgICAgezB4YjcwLCAweGI3MH0sIHsweGJmMywgMHhiZjh9LCB7MHhiZmEsIDB4YmZhfSwgezB4ZjAxLCAweGYwM30sCisgICAgezB4ZjEzLCAweGYxN30sIHsweGYxYSwgMHhmMWZ9LCB7MHhmMzQsIDB4ZjM0fSwgezB4ZjM2LCAweGYzNn0sCisgICAgezB4ZjM4LCAweGYzOH0sIHsweGZiZSwgMHhmYzV9LCB7MHhmYzcsIDB4ZmNjfSwgezB4ZmNmLCAweGZjZn0sCisgICAgezB4MTk0MCwgMHgxOTQwfSwgezB4MTllMCwgMHgxOWZmfSwgezB4MjEwMCwgMHgyMTAxfSwgezB4MjEwMywgMHgyMTA2fSwKKyAgICB7MHgyMTA4LCAweDIxMDl9LCB7MHgyMTE0LCAweDIxMTR9LCB7MHgyMTE2LCAweDIxMTh9LCB7MHgyMTFlLCAweDIxMjN9LAorICAgIHsweDIxMjUsIDB4MjEyNX0sIHsweDIxMjcsIDB4MjEyN30sIHsweDIxMjksIDB4MjEyOX0sIHsweDIxMmUsIDB4MjEyZX0sCisgICAgezB4MjEzMiwgMHgyMTMyfSwgezB4MjEzYSwgMHgyMTNifSwgezB4MjE0YSwgMHgyMTRhfSwgezB4MjE5NSwgMHgyMTk5fSwKKyAgICB7MHgyMTljLCAweDIxOWZ9LCB7MHgyMWExLCAweDIxYTJ9LCB7MHgyMWE0LCAweDIxYTV9LCB7MHgyMWE3LCAweDIxYWR9LAorICAgIHsweDIxYWYsIDB4MjFjZH0sIHsweDIxZDAsIDB4MjFkMX0sIHsweDIxZDMsIDB4MjFkM30sIHsweDIxZDUsIDB4MjFmM30sCisgICAgezB4MjMwMCwgMHgyMzA3fSwgezB4MjMwYywgMHgyMzFmfSwgezB4MjMyMiwgMHgyMzI4fSwgezB4MjMyYiwgMHgyMzdifSwKKyAgICB7MHgyMzdkLCAweDIzOWF9LCB7MHgyM2I3LCAweDIzZDB9LCB7MHgyNDAwLCAweDI0MjZ9LCB7MHgyNDQwLCAweDI0NGF9LAorICAgIHsweDI0OWMsIDB4MjRlOX0sIHsweDI1MDAsIDB4MjViNn0sIHsweDI1YjgsIDB4MjVjMH0sIHsweDI1YzIsIDB4MjVmN30sCisgICAgezB4MjYwMCwgMHgyNjE3fSwgezB4MjYxOSwgMHgyNjZlfSwgezB4MjY3MCwgMHgyNjdkfSwgezB4MjY4MCwgMHgyNjkxfSwKKyAgICB7MHgyNmEwLCAweDI2YTF9LCB7MHgyNzAxLCAweDI3MDR9LCB7MHgyNzA2LCAweDI3MDl9LCB7MHgyNzBjLCAweDI3Mjd9LAorICAgIHsweDI3MjksIDB4Mjc0Yn0sIHsweDI3NGQsIDB4Mjc0ZH0sIHsweDI3NGYsIDB4Mjc1Mn0sIHsweDI3NTYsIDB4Mjc1Nn0sCisgICAgezB4Mjc1OCwgMHgyNzVlfSwgezB4Mjc2MSwgMHgyNzY3fSwgezB4Mjc5NCwgMHgyNzk0fSwgezB4Mjc5OCwgMHgyN2FmfSwKKyAgICB7MHgyN2IxLCAweDI3YmV9LCB7MHgyODAwLCAweDI4ZmZ9LCB7MHgyYjAwLCAweDJiMGR9LCB7MHgyZTgwLCAweDJlOTl9LAorICAgIHsweDJlOWIsIDB4MmVmM30sIHsweDJmMDAsIDB4MmZkNX0sIHsweDJmZjAsIDB4MmZmYn0sIHsweDMwMDQsIDB4MzAwNH0sCisgICAgezB4MzAxMiwgMHgzMDEzfSwgezB4MzAyMCwgMHgzMDIwfSwgezB4MzAzNiwgMHgzMDM3fSwgezB4MzAzZSwgMHgzMDNmfSwKKyAgICB7MHgzMTkwLCAweDMxOTF9LCB7MHgzMTk2LCAweDMxOWZ9LCB7MHgzMjAwLCAweDMyMWV9LCB7MHgzMjJhLCAweDMyNDN9LAorICAgIHsweDMyNTAsIDB4MzI1MH0sIHsweDMyNjAsIDB4MzI3ZH0sIHsweDMyN2YsIDB4MzI3Zn0sIHsweDMyOGEsIDB4MzJiMH0sCisgICAgezB4MzJjMCwgMHgzMmZlfSwgezB4MzMwMCwgMHgzM2ZmfSwgezB4NGRjMCwgMHg0ZGZmfSwgezB4YTQ5MCwgMHhhNGM2fSwKKyAgICB7MHhmZGZkLCAweGZkZmR9LCB7MHhmZmU0LCAweGZmZTR9LCB7MHhmZmU4LCAweGZmZTh9LCB7MHhmZmVkLCAweGZmZWV9LAorICAgIHsweGZmZmMsIDB4ZmZmZH0gfTsKK3N0YXRpYyBjb25zdCB4bWxDaExSYW5nZSB4bWxTb0xbXSA9IHt7MHgxMDEwMiwgMHgxMDEwMn0sIHsweDEwMTM3LCAweDEwMTNmfSwKKyAgICB7MHgxZDAwMCwgMHgxZDBmNX0sIHsweDFkMTAwLCAweDFkMTI2fSwgezB4MWQxMmEsIDB4MWQxNjR9LAorICAgIHsweDFkMTZhLCAweDFkMTZjfSwgezB4MWQxODMsIDB4MWQxODR9LCB7MHgxZDE4YywgMHgxZDFhOX0sCisgICAgezB4MWQxYWUsIDB4MWQxZGR9LCB7MHgxZDMwMCwgMHgxZDM1Nn0gfTsKK3N0YXRpYyB4bWxDaFJhbmdlR3JvdXAgeG1sU29HID0gezEwMywxMCx4bWxTb1MseG1sU29MfTsKKworc3RhdGljIGNvbnN0IHhtbENoU1JhbmdlIHhtbFpTW10gPSB7ezB4MjAsIDB4MjB9LCB7MHhhMCwgMHhhMH0sCisgICAgezB4MTY4MCwgMHgxNjgwfSwgezB4MTgwZSwgMHgxODBlfSwgezB4MjAwMCwgMHgyMDBhfSwgezB4MjAyOCwgMHgyMDI5fSwKKyAgICB7MHgyMDJmLCAweDIwMmZ9LCB7MHgyMDVmLCAweDIwNWZ9LCB7MHgzMDAwLCAweDMwMDB9IH07CitzdGF0aWMgeG1sQ2hSYW5nZUdyb3VwIHhtbFpHID0gezksMCx4bWxaUyxOVUxMfTsKKworc3RhdGljIHhtbFVuaWNvZGVOYW1lVGFibGUgeG1sVW5pY29kZUJsb2NrVGJsID0ge3htbFVuaWNvZGVCbG9ja3MsIDEyOH07CitzdGF0aWMgeG1sVW5pY29kZU5hbWVUYWJsZSB4bWxVbmljb2RlQ2F0VGJsID0ge3htbFVuaWNvZGVDYXRzLCAzNn07CisKKy8qKgorICogeG1sVW5pY29kZUxvb2t1cDoKKyAqIEB0cHRyOiBwb2ludGVyIHRvIHRoZSBuYW1lIHRhYmxlCisgKiBAbmFtZTogbmFtZSB0byBiZSBmb3VuZAorICoKKyAqIGJpbmFyeSB0YWJsZSBsb29rdXAgZm9yIHVzZXItc3VwcGxpZWQgbmFtZQorICoKKyAqIFJldHVybnMgcG9pbnRlciB0byByYW5nZSBmdW5jdGlvbiBpZiBmb3VuZCwgb3RoZXJ3aXNlIE5VTEwKKyAqLworc3RhdGljIHhtbEludEZ1bmMKKyp4bWxVbmljb2RlTG9va3VwKHhtbFVuaWNvZGVOYW1lVGFibGUgKnRwdHIsIGNvbnN0IGNoYXIgKnRuYW1lKSB7CisgICAgaW50IGxvdywgaGlnaCwgbWlkLCBjbXA7CisgICAgeG1sVW5pY29kZVJhbmdlICpzcHRyOworCisgICAgaWYgKCh0cHRyID09IE5VTEwpIHx8ICh0bmFtZSA9PSBOVUxMKSkgcmV0dXJuKE5VTEwpOworCisgICAgbG93ID0gMDsKKyAgICBoaWdoID0gdHB0ci0+bnVtZW50cmllcyAtIDE7CisgICAgc3B0ciA9IHRwdHItPnRhYmxlOworICAgIHdoaWxlIChsb3cgPD0gaGlnaCkgeworCW1pZCA9IChsb3cgKyBoaWdoKSAvIDI7CisJaWYgKChjbXA9c3RyY21wKHRuYW1lLCBzcHRyW21pZF0ucmFuZ2VuYW1lKSkgPT0gMCkKKwkgICAgcmV0dXJuIChzcHRyW21pZF0uZnVuYyk7CisJaWYgKGNtcCA8IDApCisJICAgIGhpZ2ggPSBtaWQgLSAxOworCWVsc2UKKwkgICAgbG93ID0gbWlkICsgMTsKKyAgICB9CisgICAgcmV0dXJuIChOVUxMKTsKK30KKworLyoqCisgKiB4bWxVQ1NJc0FlZ2Vhbk51bWJlcnM6CisgKiBAY29kZTogVUNTIGNvZGUgcG9pbnQKKyAqCisgKiBDaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBBZWdlYW5OdW1iZXJzIFVDUyBCbG9jaworICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNBZWdlYW5OdW1iZXJzKGludCBjb2RlKSB7CisgICAgcmV0dXJuKCgoY29kZSA+PSAweDEwMTAwKSAmJiAoY29kZSA8PSAweDEwMTNGKSkpOworfQorCisvKioKKyAqIHhtbFVDU0lzQWxwaGFiZXRpY1ByZXNlbnRhdGlvbkZvcm1zOgorICogQGNvZGU6IFVDUyBjb2RlIHBvaW50CisgKgorICogQ2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgQWxwaGFiZXRpY1ByZXNlbnRhdGlvbkZvcm1zIFVDUyBCbG9jaworICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNBbHBoYWJldGljUHJlc2VudGF0aW9uRm9ybXMoaW50IGNvZGUpIHsKKyAgICByZXR1cm4oKChjb2RlID49IDB4RkIwMCkgJiYgKGNvZGUgPD0gMHhGQjRGKSkpOworfQorCisvKioKKyAqIHhtbFVDU0lzQXJhYmljOgorICogQGNvZGU6IFVDUyBjb2RlIHBvaW50CisgKgorICogQ2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgQXJhYmljIFVDUyBCbG9jaworICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNBcmFiaWMoaW50IGNvZGUpIHsKKyAgICByZXR1cm4oKChjb2RlID49IDB4MDYwMCkgJiYgKGNvZGUgPD0gMHgwNkZGKSkpOworfQorCisvKioKKyAqIHhtbFVDU0lzQXJhYmljUHJlc2VudGF0aW9uRm9ybXNBOgorICogQGNvZGU6IFVDUyBjb2RlIHBvaW50CisgKgorICogQ2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgQXJhYmljUHJlc2VudGF0aW9uRm9ybXMtQSBVQ1MgQmxvY2sKKyAqCisgKiBSZXR1cm5zIDEgaWYgdHJ1ZSAwIG90aGVyd2lzZQorICovCitpbnQKK3htbFVDU0lzQXJhYmljUHJlc2VudGF0aW9uRm9ybXNBKGludCBjb2RlKSB7CisgICAgcmV0dXJuKCgoY29kZSA+PSAweEZCNTApICYmIChjb2RlIDw9IDB4RkRGRikpKTsKK30KKworLyoqCisgKiB4bWxVQ1NJc0FyYWJpY1ByZXNlbnRhdGlvbkZvcm1zQjoKKyAqIEBjb2RlOiBVQ1MgY29kZSBwb2ludAorICoKKyAqIENoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEFyYWJpY1ByZXNlbnRhdGlvbkZvcm1zLUIgVUNTIEJsb2NrCisgKgorICogUmV0dXJucyAxIGlmIHRydWUgMCBvdGhlcndpc2UKKyAqLworaW50Cit4bWxVQ1NJc0FyYWJpY1ByZXNlbnRhdGlvbkZvcm1zQihpbnQgY29kZSkgeworICAgIHJldHVybigoKGNvZGUgPj0gMHhGRTcwKSAmJiAoY29kZSA8PSAweEZFRkYpKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNBcm1lbmlhbjoKKyAqIEBjb2RlOiBVQ1MgY29kZSBwb2ludAorICoKKyAqIENoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEFybWVuaWFuIFVDUyBCbG9jaworICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNBcm1lbmlhbihpbnQgY29kZSkgeworICAgIHJldHVybigoKGNvZGUgPj0gMHgwNTMwKSAmJiAoY29kZSA8PSAweDA1OEYpKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNBcnJvd3M6CisgKiBAY29kZTogVUNTIGNvZGUgcG9pbnQKKyAqCisgKiBDaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBBcnJvd3MgVUNTIEJsb2NrCisgKgorICogUmV0dXJucyAxIGlmIHRydWUgMCBvdGhlcndpc2UKKyAqLworaW50Cit4bWxVQ1NJc0Fycm93cyhpbnQgY29kZSkgeworICAgIHJldHVybigoKGNvZGUgPj0gMHgyMTkwKSAmJiAoY29kZSA8PSAweDIxRkYpKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNCYXNpY0xhdGluOgorICogQGNvZGU6IFVDUyBjb2RlIHBvaW50CisgKgorICogQ2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgQmFzaWNMYXRpbiBVQ1MgQmxvY2sKKyAqCisgKiBSZXR1cm5zIDEgaWYgdHJ1ZSAwIG90aGVyd2lzZQorICovCitpbnQKK3htbFVDU0lzQmFzaWNMYXRpbihpbnQgY29kZSkgeworICAgIHJldHVybigoKGNvZGUgPj0gMHgwMDAwKSAmJiAoY29kZSA8PSAweDAwN0YpKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNCZW5nYWxpOgorICogQGNvZGU6IFVDUyBjb2RlIHBvaW50CisgKgorICogQ2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgQmVuZ2FsaSBVQ1MgQmxvY2sKKyAqCisgKiBSZXR1cm5zIDEgaWYgdHJ1ZSAwIG90aGVyd2lzZQorICovCitpbnQKK3htbFVDU0lzQmVuZ2FsaShpbnQgY29kZSkgeworICAgIHJldHVybigoKGNvZGUgPj0gMHgwOTgwKSAmJiAoY29kZSA8PSAweDA5RkYpKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNCbG9ja0VsZW1lbnRzOgorICogQGNvZGU6IFVDUyBjb2RlIHBvaW50CisgKgorICogQ2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgQmxvY2tFbGVtZW50cyBVQ1MgQmxvY2sKKyAqCisgKiBSZXR1cm5zIDEgaWYgdHJ1ZSAwIG90aGVyd2lzZQorICovCitpbnQKK3htbFVDU0lzQmxvY2tFbGVtZW50cyhpbnQgY29kZSkgeworICAgIHJldHVybigoKGNvZGUgPj0gMHgyNTgwKSAmJiAoY29kZSA8PSAweDI1OUYpKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNCb3BvbW9mbzoKKyAqIEBjb2RlOiBVQ1MgY29kZSBwb2ludAorICoKKyAqIENoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEJvcG9tb2ZvIFVDUyBCbG9jaworICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNCb3BvbW9mbyhpbnQgY29kZSkgeworICAgIHJldHVybigoKGNvZGUgPj0gMHgzMTAwKSAmJiAoY29kZSA8PSAweDMxMkYpKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNCb3BvbW9mb0V4dGVuZGVkOgorICogQGNvZGU6IFVDUyBjb2RlIHBvaW50CisgKgorICogQ2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgQm9wb21vZm9FeHRlbmRlZCBVQ1MgQmxvY2sKKyAqCisgKiBSZXR1cm5zIDEgaWYgdHJ1ZSAwIG90aGVyd2lzZQorICovCitpbnQKK3htbFVDU0lzQm9wb21vZm9FeHRlbmRlZChpbnQgY29kZSkgeworICAgIHJldHVybigoKGNvZGUgPj0gMHgzMUEwKSAmJiAoY29kZSA8PSAweDMxQkYpKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNCb3hEcmF3aW5nOgorICogQGNvZGU6IFVDUyBjb2RlIHBvaW50CisgKgorICogQ2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgQm94RHJhd2luZyBVQ1MgQmxvY2sKKyAqCisgKiBSZXR1cm5zIDEgaWYgdHJ1ZSAwIG90aGVyd2lzZQorICovCitpbnQKK3htbFVDU0lzQm94RHJhd2luZyhpbnQgY29kZSkgeworICAgIHJldHVybigoKGNvZGUgPj0gMHgyNTAwKSAmJiAoY29kZSA8PSAweDI1N0YpKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNCcmFpbGxlUGF0dGVybnM6CisgKiBAY29kZTogVUNTIGNvZGUgcG9pbnQKKyAqCisgKiBDaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBCcmFpbGxlUGF0dGVybnMgVUNTIEJsb2NrCisgKgorICogUmV0dXJucyAxIGlmIHRydWUgMCBvdGhlcndpc2UKKyAqLworaW50Cit4bWxVQ1NJc0JyYWlsbGVQYXR0ZXJucyhpbnQgY29kZSkgeworICAgIHJldHVybigoKGNvZGUgPj0gMHgyODAwKSAmJiAoY29kZSA8PSAweDI4RkYpKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNCdWhpZDoKKyAqIEBjb2RlOiBVQ1MgY29kZSBwb2ludAorICoKKyAqIENoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEJ1aGlkIFVDUyBCbG9jaworICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNCdWhpZChpbnQgY29kZSkgeworICAgIHJldHVybigoKGNvZGUgPj0gMHgxNzQwKSAmJiAoY29kZSA8PSAweDE3NUYpKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNCeXphbnRpbmVNdXNpY2FsU3ltYm9sczoKKyAqIEBjb2RlOiBVQ1MgY29kZSBwb2ludAorICoKKyAqIENoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEJ5emFudGluZU11c2ljYWxTeW1ib2xzIFVDUyBCbG9jaworICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNCeXphbnRpbmVNdXNpY2FsU3ltYm9scyhpbnQgY29kZSkgeworICAgIHJldHVybigoKGNvZGUgPj0gMHgxRDAwMCkgJiYgKGNvZGUgPD0gMHgxRDBGRikpKTsKK30KKworLyoqCisgKiB4bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHk6CisgKiBAY29kZTogVUNTIGNvZGUgcG9pbnQKKyAqCisgKiBDaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBDSktDb21wYXRpYmlsaXR5IFVDUyBCbG9jaworICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNDSktDb21wYXRpYmlsaXR5KGludCBjb2RlKSB7CisgICAgcmV0dXJuKCgoY29kZSA+PSAweDMzMDApICYmIChjb2RlIDw9IDB4MzNGRikpKTsKK30KKworLyoqCisgKiB4bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHlGb3JtczoKKyAqIEBjb2RlOiBVQ1MgY29kZSBwb2ludAorICoKKyAqIENoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIENKS0NvbXBhdGliaWxpdHlGb3JtcyBVQ1MgQmxvY2sKKyAqCisgKiBSZXR1cm5zIDEgaWYgdHJ1ZSAwIG90aGVyd2lzZQorICovCitpbnQKK3htbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eUZvcm1zKGludCBjb2RlKSB7CisgICAgcmV0dXJuKCgoY29kZSA+PSAweEZFMzApICYmIChjb2RlIDw9IDB4RkU0RikpKTsKK30KKworLyoqCisgKiB4bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHlJZGVvZ3JhcGhzOgorICogQGNvZGU6IFVDUyBjb2RlIHBvaW50CisgKgorICogQ2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgQ0pLQ29tcGF0aWJpbGl0eUlkZW9ncmFwaHMgVUNTIEJsb2NrCisgKgorICogUmV0dXJucyAxIGlmIHRydWUgMCBvdGhlcndpc2UKKyAqLworaW50Cit4bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHlJZGVvZ3JhcGhzKGludCBjb2RlKSB7CisgICAgcmV0dXJuKCgoY29kZSA+PSAweEY5MDApICYmIChjb2RlIDw9IDB4RkFGRikpKTsKK30KKworLyoqCisgKiB4bWxVQ1NJc0NKS0NvbXBhdGliaWxpdHlJZGVvZ3JhcGhzU3VwcGxlbWVudDoKKyAqIEBjb2RlOiBVQ1MgY29kZSBwb2ludAorICoKKyAqIENoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIENKS0NvbXBhdGliaWxpdHlJZGVvZ3JhcGhzU3VwcGxlbWVudCBVQ1MgQmxvY2sKKyAqCisgKiBSZXR1cm5zIDEgaWYgdHJ1ZSAwIG90aGVyd2lzZQorICovCitpbnQKK3htbFVDU0lzQ0pLQ29tcGF0aWJpbGl0eUlkZW9ncmFwaHNTdXBwbGVtZW50KGludCBjb2RlKSB7CisgICAgcmV0dXJuKCgoY29kZSA+PSAweDJGODAwKSAmJiAoY29kZSA8PSAweDJGQTFGKSkpOworfQorCisvKioKKyAqIHhtbFVDU0lzQ0pLUmFkaWNhbHNTdXBwbGVtZW50OgorICogQGNvZGU6IFVDUyBjb2RlIHBvaW50CisgKgorICogQ2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgQ0pLUmFkaWNhbHNTdXBwbGVtZW50IFVDUyBCbG9jaworICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNDSktSYWRpY2Fsc1N1cHBsZW1lbnQoaW50IGNvZGUpIHsKKyAgICByZXR1cm4oKChjb2RlID49IDB4MkU4MCkgJiYgKGNvZGUgPD0gMHgyRUZGKSkpOworfQorCisvKioKKyAqIHhtbFVDU0lzQ0pLU3ltYm9sc2FuZFB1bmN0dWF0aW9uOgorICogQGNvZGU6IFVDUyBjb2RlIHBvaW50CisgKgorICogQ2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgQ0pLU3ltYm9sc2FuZFB1bmN0dWF0aW9uIFVDUyBCbG9jaworICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNDSktTeW1ib2xzYW5kUHVuY3R1YXRpb24oaW50IGNvZGUpIHsKKyAgICByZXR1cm4oKChjb2RlID49IDB4MzAwMCkgJiYgKGNvZGUgPD0gMHgzMDNGKSkpOworfQorCisvKioKKyAqIHhtbFVDU0lzQ0pLVW5pZmllZElkZW9ncmFwaHM6CisgKiBAY29kZTogVUNTIGNvZGUgcG9pbnQKKyAqCisgKiBDaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBDSktVbmlmaWVkSWRlb2dyYXBocyBVQ1MgQmxvY2sKKyAqCisgKiBSZXR1cm5zIDEgaWYgdHJ1ZSAwIG90aGVyd2lzZQorICovCitpbnQKK3htbFVDU0lzQ0pLVW5pZmllZElkZW9ncmFwaHMoaW50IGNvZGUpIHsKKyAgICByZXR1cm4oKChjb2RlID49IDB4NEUwMCkgJiYgKGNvZGUgPD0gMHg5RkZGKSkpOworfQorCisvKioKKyAqIHhtbFVDU0lzQ0pLVW5pZmllZElkZW9ncmFwaHNFeHRlbnNpb25BOgorICogQGNvZGU6IFVDUyBjb2RlIHBvaW50CisgKgorICogQ2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgQ0pLVW5pZmllZElkZW9ncmFwaHNFeHRlbnNpb25BIFVDUyBCbG9jaworICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNDSktVbmlmaWVkSWRlb2dyYXBoc0V4dGVuc2lvbkEoaW50IGNvZGUpIHsKKyAgICByZXR1cm4oKChjb2RlID49IDB4MzQwMCkgJiYgKGNvZGUgPD0gMHg0REJGKSkpOworfQorCisvKioKKyAqIHhtbFVDU0lzQ0pLVW5pZmllZElkZW9ncmFwaHNFeHRlbnNpb25COgorICogQGNvZGU6IFVDUyBjb2RlIHBvaW50CisgKgorICogQ2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgQ0pLVW5pZmllZElkZW9ncmFwaHNFeHRlbnNpb25CIFVDUyBCbG9jaworICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNDSktVbmlmaWVkSWRlb2dyYXBoc0V4dGVuc2lvbkIoaW50IGNvZGUpIHsKKyAgICByZXR1cm4oKChjb2RlID49IDB4MjAwMDApICYmIChjb2RlIDw9IDB4MkE2REYpKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNDaGVyb2tlZToKKyAqIEBjb2RlOiBVQ1MgY29kZSBwb2ludAorICoKKyAqIENoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIENoZXJva2VlIFVDUyBCbG9jaworICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNDaGVyb2tlZShpbnQgY29kZSkgeworICAgIHJldHVybigoKGNvZGUgPj0gMHgxM0EwKSAmJiAoY29kZSA8PSAweDEzRkYpKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNDb21iaW5pbmdEaWFjcml0aWNhbE1hcmtzOgorICogQGNvZGU6IFVDUyBjb2RlIHBvaW50CisgKgorICogQ2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgQ29tYmluaW5nRGlhY3JpdGljYWxNYXJrcyBVQ1MgQmxvY2sKKyAqCisgKiBSZXR1cm5zIDEgaWYgdHJ1ZSAwIG90aGVyd2lzZQorICovCitpbnQKK3htbFVDU0lzQ29tYmluaW5nRGlhY3JpdGljYWxNYXJrcyhpbnQgY29kZSkgeworICAgIHJldHVybigoKGNvZGUgPj0gMHgwMzAwKSAmJiAoY29kZSA8PSAweDAzNkYpKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNDb21iaW5pbmdEaWFjcml0aWNhbE1hcmtzZm9yU3ltYm9sczoKKyAqIEBjb2RlOiBVQ1MgY29kZSBwb2ludAorICoKKyAqIENoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIENvbWJpbmluZ0RpYWNyaXRpY2FsTWFya3Nmb3JTeW1ib2xzIFVDUyBCbG9jaworICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNDb21iaW5pbmdEaWFjcml0aWNhbE1hcmtzZm9yU3ltYm9scyhpbnQgY29kZSkgeworICAgIHJldHVybigoKGNvZGUgPj0gMHgyMEQwKSAmJiAoY29kZSA8PSAweDIwRkYpKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNDb21iaW5pbmdIYWxmTWFya3M6CisgKiBAY29kZTogVUNTIGNvZGUgcG9pbnQKKyAqCisgKiBDaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBDb21iaW5pbmdIYWxmTWFya3MgVUNTIEJsb2NrCisgKgorICogUmV0dXJucyAxIGlmIHRydWUgMCBvdGhlcndpc2UKKyAqLworaW50Cit4bWxVQ1NJc0NvbWJpbmluZ0hhbGZNYXJrcyhpbnQgY29kZSkgeworICAgIHJldHVybigoKGNvZGUgPj0gMHhGRTIwKSAmJiAoY29kZSA8PSAweEZFMkYpKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNDb21iaW5pbmdNYXJrc2ZvclN5bWJvbHM6CisgKiBAY29kZTogVUNTIGNvZGUgcG9pbnQKKyAqCisgKiBDaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBDb21iaW5pbmdNYXJrc2ZvclN5bWJvbHMgVUNTIEJsb2NrCisgKgorICogUmV0dXJucyAxIGlmIHRydWUgMCBvdGhlcndpc2UKKyAqLworaW50Cit4bWxVQ1NJc0NvbWJpbmluZ01hcmtzZm9yU3ltYm9scyhpbnQgY29kZSkgeworICAgIHJldHVybigoKGNvZGUgPj0gMHgyMEQwKSAmJiAoY29kZSA8PSAweDIwRkYpKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNDb250cm9sUGljdHVyZXM6CisgKiBAY29kZTogVUNTIGNvZGUgcG9pbnQKKyAqCisgKiBDaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBDb250cm9sUGljdHVyZXMgVUNTIEJsb2NrCisgKgorICogUmV0dXJucyAxIGlmIHRydWUgMCBvdGhlcndpc2UKKyAqLworaW50Cit4bWxVQ1NJc0NvbnRyb2xQaWN0dXJlcyhpbnQgY29kZSkgeworICAgIHJldHVybigoKGNvZGUgPj0gMHgyNDAwKSAmJiAoY29kZSA8PSAweDI0M0YpKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNDdXJyZW5jeVN5bWJvbHM6CisgKiBAY29kZTogVUNTIGNvZGUgcG9pbnQKKyAqCisgKiBDaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBDdXJyZW5jeVN5bWJvbHMgVUNTIEJsb2NrCisgKgorICogUmV0dXJucyAxIGlmIHRydWUgMCBvdGhlcndpc2UKKyAqLworaW50Cit4bWxVQ1NJc0N1cnJlbmN5U3ltYm9scyhpbnQgY29kZSkgeworICAgIHJldHVybigoKGNvZGUgPj0gMHgyMEEwKSAmJiAoY29kZSA8PSAweDIwQ0YpKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNDeXByaW90U3lsbGFiYXJ5OgorICogQGNvZGU6IFVDUyBjb2RlIHBvaW50CisgKgorICogQ2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgQ3lwcmlvdFN5bGxhYmFyeSBVQ1MgQmxvY2sKKyAqCisgKiBSZXR1cm5zIDEgaWYgdHJ1ZSAwIG90aGVyd2lzZQorICovCitpbnQKK3htbFVDU0lzQ3lwcmlvdFN5bGxhYmFyeShpbnQgY29kZSkgeworICAgIHJldHVybigoKGNvZGUgPj0gMHgxMDgwMCkgJiYgKGNvZGUgPD0gMHgxMDgzRikpKTsKK30KKworLyoqCisgKiB4bWxVQ1NJc0N5cmlsbGljOgorICogQGNvZGU6IFVDUyBjb2RlIHBvaW50CisgKgorICogQ2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgQ3lyaWxsaWMgVUNTIEJsb2NrCisgKgorICogUmV0dXJucyAxIGlmIHRydWUgMCBvdGhlcndpc2UKKyAqLworaW50Cit4bWxVQ1NJc0N5cmlsbGljKGludCBjb2RlKSB7CisgICAgcmV0dXJuKCgoY29kZSA+PSAweDA0MDApICYmIChjb2RlIDw9IDB4MDRGRikpKTsKK30KKworLyoqCisgKiB4bWxVQ1NJc0N5cmlsbGljU3VwcGxlbWVudDoKKyAqIEBjb2RlOiBVQ1MgY29kZSBwb2ludAorICoKKyAqIENoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEN5cmlsbGljU3VwcGxlbWVudCBVQ1MgQmxvY2sKKyAqCisgKiBSZXR1cm5zIDEgaWYgdHJ1ZSAwIG90aGVyd2lzZQorICovCitpbnQKK3htbFVDU0lzQ3lyaWxsaWNTdXBwbGVtZW50KGludCBjb2RlKSB7CisgICAgcmV0dXJuKCgoY29kZSA+PSAweDA1MDApICYmIChjb2RlIDw9IDB4MDUyRikpKTsKK30KKworLyoqCisgKiB4bWxVQ1NJc0Rlc2VyZXQ6CisgKiBAY29kZTogVUNTIGNvZGUgcG9pbnQKKyAqCisgKiBDaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBEZXNlcmV0IFVDUyBCbG9jaworICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNEZXNlcmV0KGludCBjb2RlKSB7CisgICAgcmV0dXJuKCgoY29kZSA+PSAweDEwNDAwKSAmJiAoY29kZSA8PSAweDEwNDRGKSkpOworfQorCisvKioKKyAqIHhtbFVDU0lzRGV2YW5hZ2FyaToKKyAqIEBjb2RlOiBVQ1MgY29kZSBwb2ludAorICoKKyAqIENoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIERldmFuYWdhcmkgVUNTIEJsb2NrCisgKgorICogUmV0dXJucyAxIGlmIHRydWUgMCBvdGhlcndpc2UKKyAqLworaW50Cit4bWxVQ1NJc0RldmFuYWdhcmkoaW50IGNvZGUpIHsKKyAgICByZXR1cm4oKChjb2RlID49IDB4MDkwMCkgJiYgKGNvZGUgPD0gMHgwOTdGKSkpOworfQorCisvKioKKyAqIHhtbFVDU0lzRGluZ2JhdHM6CisgKiBAY29kZTogVUNTIGNvZGUgcG9pbnQKKyAqCisgKiBDaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBEaW5nYmF0cyBVQ1MgQmxvY2sKKyAqCisgKiBSZXR1cm5zIDEgaWYgdHJ1ZSAwIG90aGVyd2lzZQorICovCitpbnQKK3htbFVDU0lzRGluZ2JhdHMoaW50IGNvZGUpIHsKKyAgICByZXR1cm4oKChjb2RlID49IDB4MjcwMCkgJiYgKGNvZGUgPD0gMHgyN0JGKSkpOworfQorCisvKioKKyAqIHhtbFVDU0lzRW5jbG9zZWRBbHBoYW51bWVyaWNzOgorICogQGNvZGU6IFVDUyBjb2RlIHBvaW50CisgKgorICogQ2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgRW5jbG9zZWRBbHBoYW51bWVyaWNzIFVDUyBCbG9jaworICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNFbmNsb3NlZEFscGhhbnVtZXJpY3MoaW50IGNvZGUpIHsKKyAgICByZXR1cm4oKChjb2RlID49IDB4MjQ2MCkgJiYgKGNvZGUgPD0gMHgyNEZGKSkpOworfQorCisvKioKKyAqIHhtbFVDU0lzRW5jbG9zZWRDSktMZXR0ZXJzYW5kTW9udGhzOgorICogQGNvZGU6IFVDUyBjb2RlIHBvaW50CisgKgorICogQ2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgRW5jbG9zZWRDSktMZXR0ZXJzYW5kTW9udGhzIFVDUyBCbG9jaworICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNFbmNsb3NlZENKS0xldHRlcnNhbmRNb250aHMoaW50IGNvZGUpIHsKKyAgICByZXR1cm4oKChjb2RlID49IDB4MzIwMCkgJiYgKGNvZGUgPD0gMHgzMkZGKSkpOworfQorCisvKioKKyAqIHhtbFVDU0lzRXRoaW9waWM6CisgKiBAY29kZTogVUNTIGNvZGUgcG9pbnQKKyAqCisgKiBDaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBFdGhpb3BpYyBVQ1MgQmxvY2sKKyAqCisgKiBSZXR1cm5zIDEgaWYgdHJ1ZSAwIG90aGVyd2lzZQorICovCitpbnQKK3htbFVDU0lzRXRoaW9waWMoaW50IGNvZGUpIHsKKyAgICByZXR1cm4oKChjb2RlID49IDB4MTIwMCkgJiYgKGNvZGUgPD0gMHgxMzdGKSkpOworfQorCisvKioKKyAqIHhtbFVDU0lzR2VuZXJhbFB1bmN0dWF0aW9uOgorICogQGNvZGU6IFVDUyBjb2RlIHBvaW50CisgKgorICogQ2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgR2VuZXJhbFB1bmN0dWF0aW9uIFVDUyBCbG9jaworICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNHZW5lcmFsUHVuY3R1YXRpb24oaW50IGNvZGUpIHsKKyAgICByZXR1cm4oKChjb2RlID49IDB4MjAwMCkgJiYgKGNvZGUgPD0gMHgyMDZGKSkpOworfQorCisvKioKKyAqIHhtbFVDU0lzR2VvbWV0cmljU2hhcGVzOgorICogQGNvZGU6IFVDUyBjb2RlIHBvaW50CisgKgorICogQ2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgR2VvbWV0cmljU2hhcGVzIFVDUyBCbG9jaworICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNHZW9tZXRyaWNTaGFwZXMoaW50IGNvZGUpIHsKKyAgICByZXR1cm4oKChjb2RlID49IDB4MjVBMCkgJiYgKGNvZGUgPD0gMHgyNUZGKSkpOworfQorCisvKioKKyAqIHhtbFVDU0lzR2VvcmdpYW46CisgKiBAY29kZTogVUNTIGNvZGUgcG9pbnQKKyAqCisgKiBDaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBHZW9yZ2lhbiBVQ1MgQmxvY2sKKyAqCisgKiBSZXR1cm5zIDEgaWYgdHJ1ZSAwIG90aGVyd2lzZQorICovCitpbnQKK3htbFVDU0lzR2VvcmdpYW4oaW50IGNvZGUpIHsKKyAgICByZXR1cm4oKChjb2RlID49IDB4MTBBMCkgJiYgKGNvZGUgPD0gMHgxMEZGKSkpOworfQorCisvKioKKyAqIHhtbFVDU0lzR290aGljOgorICogQGNvZGU6IFVDUyBjb2RlIHBvaW50CisgKgorICogQ2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgR290aGljIFVDUyBCbG9jaworICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNHb3RoaWMoaW50IGNvZGUpIHsKKyAgICByZXR1cm4oKChjb2RlID49IDB4MTAzMzApICYmIChjb2RlIDw9IDB4MTAzNEYpKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNHcmVlazoKKyAqIEBjb2RlOiBVQ1MgY29kZSBwb2ludAorICoKKyAqIENoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEdyZWVrIFVDUyBCbG9jaworICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNHcmVlayhpbnQgY29kZSkgeworICAgIHJldHVybigoKGNvZGUgPj0gMHgwMzcwKSAmJiAoY29kZSA8PSAweDAzRkYpKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNHcmVla0V4dGVuZGVkOgorICogQGNvZGU6IFVDUyBjb2RlIHBvaW50CisgKgorICogQ2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgR3JlZWtFeHRlbmRlZCBVQ1MgQmxvY2sKKyAqCisgKiBSZXR1cm5zIDEgaWYgdHJ1ZSAwIG90aGVyd2lzZQorICovCitpbnQKK3htbFVDU0lzR3JlZWtFeHRlbmRlZChpbnQgY29kZSkgeworICAgIHJldHVybigoKGNvZGUgPj0gMHgxRjAwKSAmJiAoY29kZSA8PSAweDFGRkYpKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNHcmVla2FuZENvcHRpYzoKKyAqIEBjb2RlOiBVQ1MgY29kZSBwb2ludAorICoKKyAqIENoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEdyZWVrYW5kQ29wdGljIFVDUyBCbG9jaworICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNHcmVla2FuZENvcHRpYyhpbnQgY29kZSkgeworICAgIHJldHVybigoKGNvZGUgPj0gMHgwMzcwKSAmJiAoY29kZSA8PSAweDAzRkYpKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNHdWphcmF0aToKKyAqIEBjb2RlOiBVQ1MgY29kZSBwb2ludAorICoKKyAqIENoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEd1amFyYXRpIFVDUyBCbG9jaworICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNHdWphcmF0aShpbnQgY29kZSkgeworICAgIHJldHVybigoKGNvZGUgPj0gMHgwQTgwKSAmJiAoY29kZSA8PSAweDBBRkYpKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNHdXJtdWtoaToKKyAqIEBjb2RlOiBVQ1MgY29kZSBwb2ludAorICoKKyAqIENoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEd1cm11a2hpIFVDUyBCbG9jaworICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNHdXJtdWtoaShpbnQgY29kZSkgeworICAgIHJldHVybigoKGNvZGUgPj0gMHgwQTAwKSAmJiAoY29kZSA8PSAweDBBN0YpKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNIYWxmd2lkdGhhbmRGdWxsd2lkdGhGb3JtczoKKyAqIEBjb2RlOiBVQ1MgY29kZSBwb2ludAorICoKKyAqIENoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEhhbGZ3aWR0aGFuZEZ1bGx3aWR0aEZvcm1zIFVDUyBCbG9jaworICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNIYWxmd2lkdGhhbmRGdWxsd2lkdGhGb3JtcyhpbnQgY29kZSkgeworICAgIHJldHVybigoKGNvZGUgPj0gMHhGRjAwKSAmJiAoY29kZSA8PSAweEZGRUYpKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNIYW5ndWxDb21wYXRpYmlsaXR5SmFtbzoKKyAqIEBjb2RlOiBVQ1MgY29kZSBwb2ludAorICoKKyAqIENoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEhhbmd1bENvbXBhdGliaWxpdHlKYW1vIFVDUyBCbG9jaworICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNIYW5ndWxDb21wYXRpYmlsaXR5SmFtbyhpbnQgY29kZSkgeworICAgIHJldHVybigoKGNvZGUgPj0gMHgzMTMwKSAmJiAoY29kZSA8PSAweDMxOEYpKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNIYW5ndWxKYW1vOgorICogQGNvZGU6IFVDUyBjb2RlIHBvaW50CisgKgorICogQ2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgSGFuZ3VsSmFtbyBVQ1MgQmxvY2sKKyAqCisgKiBSZXR1cm5zIDEgaWYgdHJ1ZSAwIG90aGVyd2lzZQorICovCitpbnQKK3htbFVDU0lzSGFuZ3VsSmFtbyhpbnQgY29kZSkgeworICAgIHJldHVybigoKGNvZGUgPj0gMHgxMTAwKSAmJiAoY29kZSA8PSAweDExRkYpKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNIYW5ndWxTeWxsYWJsZXM6CisgKiBAY29kZTogVUNTIGNvZGUgcG9pbnQKKyAqCisgKiBDaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBIYW5ndWxTeWxsYWJsZXMgVUNTIEJsb2NrCisgKgorICogUmV0dXJucyAxIGlmIHRydWUgMCBvdGhlcndpc2UKKyAqLworaW50Cit4bWxVQ1NJc0hhbmd1bFN5bGxhYmxlcyhpbnQgY29kZSkgeworICAgIHJldHVybigoKGNvZGUgPj0gMHhBQzAwKSAmJiAoY29kZSA8PSAweEQ3QUYpKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNIYW51bm9vOgorICogQGNvZGU6IFVDUyBjb2RlIHBvaW50CisgKgorICogQ2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgSGFudW5vbyBVQ1MgQmxvY2sKKyAqCisgKiBSZXR1cm5zIDEgaWYgdHJ1ZSAwIG90aGVyd2lzZQorICovCitpbnQKK3htbFVDU0lzSGFudW5vbyhpbnQgY29kZSkgeworICAgIHJldHVybigoKGNvZGUgPj0gMHgxNzIwKSAmJiAoY29kZSA8PSAweDE3M0YpKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNIZWJyZXc6CisgKiBAY29kZTogVUNTIGNvZGUgcG9pbnQKKyAqCisgKiBDaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBIZWJyZXcgVUNTIEJsb2NrCisgKgorICogUmV0dXJucyAxIGlmIHRydWUgMCBvdGhlcndpc2UKKyAqLworaW50Cit4bWxVQ1NJc0hlYnJldyhpbnQgY29kZSkgeworICAgIHJldHVybigoKGNvZGUgPj0gMHgwNTkwKSAmJiAoY29kZSA8PSAweDA1RkYpKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNIaWdoUHJpdmF0ZVVzZVN1cnJvZ2F0ZXM6CisgKiBAY29kZTogVUNTIGNvZGUgcG9pbnQKKyAqCisgKiBDaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBIaWdoUHJpdmF0ZVVzZVN1cnJvZ2F0ZXMgVUNTIEJsb2NrCisgKgorICogUmV0dXJucyAxIGlmIHRydWUgMCBvdGhlcndpc2UKKyAqLworaW50Cit4bWxVQ1NJc0hpZ2hQcml2YXRlVXNlU3Vycm9nYXRlcyhpbnQgY29kZSkgeworICAgIHJldHVybigoKGNvZGUgPj0gMHhEQjgwKSAmJiAoY29kZSA8PSAweERCRkYpKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNIaWdoU3Vycm9nYXRlczoKKyAqIEBjb2RlOiBVQ1MgY29kZSBwb2ludAorICoKKyAqIENoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEhpZ2hTdXJyb2dhdGVzIFVDUyBCbG9jaworICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNIaWdoU3Vycm9nYXRlcyhpbnQgY29kZSkgeworICAgIHJldHVybigoKGNvZGUgPj0gMHhEODAwKSAmJiAoY29kZSA8PSAweERCN0YpKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNIaXJhZ2FuYToKKyAqIEBjb2RlOiBVQ1MgY29kZSBwb2ludAorICoKKyAqIENoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEhpcmFnYW5hIFVDUyBCbG9jaworICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNIaXJhZ2FuYShpbnQgY29kZSkgeworICAgIHJldHVybigoKGNvZGUgPj0gMHgzMDQwKSAmJiAoY29kZSA8PSAweDMwOUYpKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNJUEFFeHRlbnNpb25zOgorICogQGNvZGU6IFVDUyBjb2RlIHBvaW50CisgKgorICogQ2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgSVBBRXh0ZW5zaW9ucyBVQ1MgQmxvY2sKKyAqCisgKiBSZXR1cm5zIDEgaWYgdHJ1ZSAwIG90aGVyd2lzZQorICovCitpbnQKK3htbFVDU0lzSVBBRXh0ZW5zaW9ucyhpbnQgY29kZSkgeworICAgIHJldHVybigoKGNvZGUgPj0gMHgwMjUwKSAmJiAoY29kZSA8PSAweDAyQUYpKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNJZGVvZ3JhcGhpY0Rlc2NyaXB0aW9uQ2hhcmFjdGVyczoKKyAqIEBjb2RlOiBVQ1MgY29kZSBwb2ludAorICoKKyAqIENoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIElkZW9ncmFwaGljRGVzY3JpcHRpb25DaGFyYWN0ZXJzIFVDUyBCbG9jaworICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNJZGVvZ3JhcGhpY0Rlc2NyaXB0aW9uQ2hhcmFjdGVycyhpbnQgY29kZSkgeworICAgIHJldHVybigoKGNvZGUgPj0gMHgyRkYwKSAmJiAoY29kZSA8PSAweDJGRkYpKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNLYW5idW46CisgKiBAY29kZTogVUNTIGNvZGUgcG9pbnQKKyAqCisgKiBDaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBLYW5idW4gVUNTIEJsb2NrCisgKgorICogUmV0dXJucyAxIGlmIHRydWUgMCBvdGhlcndpc2UKKyAqLworaW50Cit4bWxVQ1NJc0thbmJ1bihpbnQgY29kZSkgeworICAgIHJldHVybigoKGNvZGUgPj0gMHgzMTkwKSAmJiAoY29kZSA8PSAweDMxOUYpKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNLYW5neGlSYWRpY2FsczoKKyAqIEBjb2RlOiBVQ1MgY29kZSBwb2ludAorICoKKyAqIENoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEthbmd4aVJhZGljYWxzIFVDUyBCbG9jaworICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNLYW5neGlSYWRpY2FscyhpbnQgY29kZSkgeworICAgIHJldHVybigoKGNvZGUgPj0gMHgyRjAwKSAmJiAoY29kZSA8PSAweDJGREYpKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNLYW5uYWRhOgorICogQGNvZGU6IFVDUyBjb2RlIHBvaW50CisgKgorICogQ2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgS2FubmFkYSBVQ1MgQmxvY2sKKyAqCisgKiBSZXR1cm5zIDEgaWYgdHJ1ZSAwIG90aGVyd2lzZQorICovCitpbnQKK3htbFVDU0lzS2FubmFkYShpbnQgY29kZSkgeworICAgIHJldHVybigoKGNvZGUgPj0gMHgwQzgwKSAmJiAoY29kZSA8PSAweDBDRkYpKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNLYXRha2FuYToKKyAqIEBjb2RlOiBVQ1MgY29kZSBwb2ludAorICoKKyAqIENoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEthdGFrYW5hIFVDUyBCbG9jaworICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNLYXRha2FuYShpbnQgY29kZSkgeworICAgIHJldHVybigoKGNvZGUgPj0gMHgzMEEwKSAmJiAoY29kZSA8PSAweDMwRkYpKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNLYXRha2FuYVBob25ldGljRXh0ZW5zaW9uczoKKyAqIEBjb2RlOiBVQ1MgY29kZSBwb2ludAorICoKKyAqIENoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEthdGFrYW5hUGhvbmV0aWNFeHRlbnNpb25zIFVDUyBCbG9jaworICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNLYXRha2FuYVBob25ldGljRXh0ZW5zaW9ucyhpbnQgY29kZSkgeworICAgIHJldHVybigoKGNvZGUgPj0gMHgzMUYwKSAmJiAoY29kZSA8PSAweDMxRkYpKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNLaG1lcjoKKyAqIEBjb2RlOiBVQ1MgY29kZSBwb2ludAorICoKKyAqIENoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEtobWVyIFVDUyBCbG9jaworICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNLaG1lcihpbnQgY29kZSkgeworICAgIHJldHVybigoKGNvZGUgPj0gMHgxNzgwKSAmJiAoY29kZSA8PSAweDE3RkYpKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNLaG1lclN5bWJvbHM6CisgKiBAY29kZTogVUNTIGNvZGUgcG9pbnQKKyAqCisgKiBDaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBLaG1lclN5bWJvbHMgVUNTIEJsb2NrCisgKgorICogUmV0dXJucyAxIGlmIHRydWUgMCBvdGhlcndpc2UKKyAqLworaW50Cit4bWxVQ1NJc0tobWVyU3ltYm9scyhpbnQgY29kZSkgeworICAgIHJldHVybigoKGNvZGUgPj0gMHgxOUUwKSAmJiAoY29kZSA8PSAweDE5RkYpKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNMYW86CisgKiBAY29kZTogVUNTIGNvZGUgcG9pbnQKKyAqCisgKiBDaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBMYW8gVUNTIEJsb2NrCisgKgorICogUmV0dXJucyAxIGlmIHRydWUgMCBvdGhlcndpc2UKKyAqLworaW50Cit4bWxVQ1NJc0xhbyhpbnQgY29kZSkgeworICAgIHJldHVybigoKGNvZGUgPj0gMHgwRTgwKSAmJiAoY29kZSA8PSAweDBFRkYpKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNMYXRpbjFTdXBwbGVtZW50OgorICogQGNvZGU6IFVDUyBjb2RlIHBvaW50CisgKgorICogQ2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgTGF0aW4tMVN1cHBsZW1lbnQgVUNTIEJsb2NrCisgKgorICogUmV0dXJucyAxIGlmIHRydWUgMCBvdGhlcndpc2UKKyAqLworaW50Cit4bWxVQ1NJc0xhdGluMVN1cHBsZW1lbnQoaW50IGNvZGUpIHsKKyAgICByZXR1cm4oKChjb2RlID49IDB4MDA4MCkgJiYgKGNvZGUgPD0gMHgwMEZGKSkpOworfQorCisvKioKKyAqIHhtbFVDU0lzTGF0aW5FeHRlbmRlZEE6CisgKiBAY29kZTogVUNTIGNvZGUgcG9pbnQKKyAqCisgKiBDaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBMYXRpbkV4dGVuZGVkLUEgVUNTIEJsb2NrCisgKgorICogUmV0dXJucyAxIGlmIHRydWUgMCBvdGhlcndpc2UKKyAqLworaW50Cit4bWxVQ1NJc0xhdGluRXh0ZW5kZWRBKGludCBjb2RlKSB7CisgICAgcmV0dXJuKCgoY29kZSA+PSAweDAxMDApICYmIChjb2RlIDw9IDB4MDE3RikpKTsKK30KKworLyoqCisgKiB4bWxVQ1NJc0xhdGluRXh0ZW5kZWRCOgorICogQGNvZGU6IFVDUyBjb2RlIHBvaW50CisgKgorICogQ2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgTGF0aW5FeHRlbmRlZC1CIFVDUyBCbG9jaworICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNMYXRpbkV4dGVuZGVkQihpbnQgY29kZSkgeworICAgIHJldHVybigoKGNvZGUgPj0gMHgwMTgwKSAmJiAoY29kZSA8PSAweDAyNEYpKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNMYXRpbkV4dGVuZGVkQWRkaXRpb25hbDoKKyAqIEBjb2RlOiBVQ1MgY29kZSBwb2ludAorICoKKyAqIENoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIExhdGluRXh0ZW5kZWRBZGRpdGlvbmFsIFVDUyBCbG9jaworICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNMYXRpbkV4dGVuZGVkQWRkaXRpb25hbChpbnQgY29kZSkgeworICAgIHJldHVybigoKGNvZGUgPj0gMHgxRTAwKSAmJiAoY29kZSA8PSAweDFFRkYpKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNMZXR0ZXJsaWtlU3ltYm9sczoKKyAqIEBjb2RlOiBVQ1MgY29kZSBwb2ludAorICoKKyAqIENoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIExldHRlcmxpa2VTeW1ib2xzIFVDUyBCbG9jaworICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNMZXR0ZXJsaWtlU3ltYm9scyhpbnQgY29kZSkgeworICAgIHJldHVybigoKGNvZGUgPj0gMHgyMTAwKSAmJiAoY29kZSA8PSAweDIxNEYpKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNMaW1idToKKyAqIEBjb2RlOiBVQ1MgY29kZSBwb2ludAorICoKKyAqIENoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIExpbWJ1IFVDUyBCbG9jaworICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNMaW1idShpbnQgY29kZSkgeworICAgIHJldHVybigoKGNvZGUgPj0gMHgxOTAwKSAmJiAoY29kZSA8PSAweDE5NEYpKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNMaW5lYXJCSWRlb2dyYW1zOgorICogQGNvZGU6IFVDUyBjb2RlIHBvaW50CisgKgorICogQ2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgTGluZWFyQklkZW9ncmFtcyBVQ1MgQmxvY2sKKyAqCisgKiBSZXR1cm5zIDEgaWYgdHJ1ZSAwIG90aGVyd2lzZQorICovCitpbnQKK3htbFVDU0lzTGluZWFyQklkZW9ncmFtcyhpbnQgY29kZSkgeworICAgIHJldHVybigoKGNvZGUgPj0gMHgxMDA4MCkgJiYgKGNvZGUgPD0gMHgxMDBGRikpKTsKK30KKworLyoqCisgKiB4bWxVQ1NJc0xpbmVhckJTeWxsYWJhcnk6CisgKiBAY29kZTogVUNTIGNvZGUgcG9pbnQKKyAqCisgKiBDaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBMaW5lYXJCU3lsbGFiYXJ5IFVDUyBCbG9jaworICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNMaW5lYXJCU3lsbGFiYXJ5KGludCBjb2RlKSB7CisgICAgcmV0dXJuKCgoY29kZSA+PSAweDEwMDAwKSAmJiAoY29kZSA8PSAweDEwMDdGKSkpOworfQorCisvKioKKyAqIHhtbFVDU0lzTG93U3Vycm9nYXRlczoKKyAqIEBjb2RlOiBVQ1MgY29kZSBwb2ludAorICoKKyAqIENoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIExvd1N1cnJvZ2F0ZXMgVUNTIEJsb2NrCisgKgorICogUmV0dXJucyAxIGlmIHRydWUgMCBvdGhlcndpc2UKKyAqLworaW50Cit4bWxVQ1NJc0xvd1N1cnJvZ2F0ZXMoaW50IGNvZGUpIHsKKyAgICByZXR1cm4oKChjb2RlID49IDB4REMwMCkgJiYgKGNvZGUgPD0gMHhERkZGKSkpOworfQorCisvKioKKyAqIHhtbFVDU0lzTWFsYXlhbGFtOgorICogQGNvZGU6IFVDUyBjb2RlIHBvaW50CisgKgorICogQ2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgTWFsYXlhbGFtIFVDUyBCbG9jaworICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNNYWxheWFsYW0oaW50IGNvZGUpIHsKKyAgICByZXR1cm4oKChjb2RlID49IDB4MEQwMCkgJiYgKGNvZGUgPD0gMHgwRDdGKSkpOworfQorCisvKioKKyAqIHhtbFVDU0lzTWF0aGVtYXRpY2FsQWxwaGFudW1lcmljU3ltYm9sczoKKyAqIEBjb2RlOiBVQ1MgY29kZSBwb2ludAorICoKKyAqIENoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIE1hdGhlbWF0aWNhbEFscGhhbnVtZXJpY1N5bWJvbHMgVUNTIEJsb2NrCisgKgorICogUmV0dXJucyAxIGlmIHRydWUgMCBvdGhlcndpc2UKKyAqLworaW50Cit4bWxVQ1NJc01hdGhlbWF0aWNhbEFscGhhbnVtZXJpY1N5bWJvbHMoaW50IGNvZGUpIHsKKyAgICByZXR1cm4oKChjb2RlID49IDB4MUQ0MDApICYmIChjb2RlIDw9IDB4MUQ3RkYpKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNNYXRoZW1hdGljYWxPcGVyYXRvcnM6CisgKiBAY29kZTogVUNTIGNvZGUgcG9pbnQKKyAqCisgKiBDaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBNYXRoZW1hdGljYWxPcGVyYXRvcnMgVUNTIEJsb2NrCisgKgorICogUmV0dXJucyAxIGlmIHRydWUgMCBvdGhlcndpc2UKKyAqLworaW50Cit4bWxVQ1NJc01hdGhlbWF0aWNhbE9wZXJhdG9ycyhpbnQgY29kZSkgeworICAgIHJldHVybigoKGNvZGUgPj0gMHgyMjAwKSAmJiAoY29kZSA8PSAweDIyRkYpKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNNaXNjZWxsYW5lb3VzTWF0aGVtYXRpY2FsU3ltYm9sc0E6CisgKiBAY29kZTogVUNTIGNvZGUgcG9pbnQKKyAqCisgKiBDaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBNaXNjZWxsYW5lb3VzTWF0aGVtYXRpY2FsU3ltYm9scy1BIFVDUyBCbG9jaworICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNNaXNjZWxsYW5lb3VzTWF0aGVtYXRpY2FsU3ltYm9sc0EoaW50IGNvZGUpIHsKKyAgICByZXR1cm4oKChjb2RlID49IDB4MjdDMCkgJiYgKGNvZGUgPD0gMHgyN0VGKSkpOworfQorCisvKioKKyAqIHhtbFVDU0lzTWlzY2VsbGFuZW91c01hdGhlbWF0aWNhbFN5bWJvbHNCOgorICogQGNvZGU6IFVDUyBjb2RlIHBvaW50CisgKgorICogQ2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgTWlzY2VsbGFuZW91c01hdGhlbWF0aWNhbFN5bWJvbHMtQiBVQ1MgQmxvY2sKKyAqCisgKiBSZXR1cm5zIDEgaWYgdHJ1ZSAwIG90aGVyd2lzZQorICovCitpbnQKK3htbFVDU0lzTWlzY2VsbGFuZW91c01hdGhlbWF0aWNhbFN5bWJvbHNCKGludCBjb2RlKSB7CisgICAgcmV0dXJuKCgoY29kZSA+PSAweDI5ODApICYmIChjb2RlIDw9IDB4MjlGRikpKTsKK30KKworLyoqCisgKiB4bWxVQ1NJc01pc2NlbGxhbmVvdXNTeW1ib2xzOgorICogQGNvZGU6IFVDUyBjb2RlIHBvaW50CisgKgorICogQ2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgTWlzY2VsbGFuZW91c1N5bWJvbHMgVUNTIEJsb2NrCisgKgorICogUmV0dXJucyAxIGlmIHRydWUgMCBvdGhlcndpc2UKKyAqLworaW50Cit4bWxVQ1NJc01pc2NlbGxhbmVvdXNTeW1ib2xzKGludCBjb2RlKSB7CisgICAgcmV0dXJuKCgoY29kZSA+PSAweDI2MDApICYmIChjb2RlIDw9IDB4MjZGRikpKTsKK30KKworLyoqCisgKiB4bWxVQ1NJc01pc2NlbGxhbmVvdXNTeW1ib2xzYW5kQXJyb3dzOgorICogQGNvZGU6IFVDUyBjb2RlIHBvaW50CisgKgorICogQ2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgTWlzY2VsbGFuZW91c1N5bWJvbHNhbmRBcnJvd3MgVUNTIEJsb2NrCisgKgorICogUmV0dXJucyAxIGlmIHRydWUgMCBvdGhlcndpc2UKKyAqLworaW50Cit4bWxVQ1NJc01pc2NlbGxhbmVvdXNTeW1ib2xzYW5kQXJyb3dzKGludCBjb2RlKSB7CisgICAgcmV0dXJuKCgoY29kZSA+PSAweDJCMDApICYmIChjb2RlIDw9IDB4MkJGRikpKTsKK30KKworLyoqCisgKiB4bWxVQ1NJc01pc2NlbGxhbmVvdXNUZWNobmljYWw6CisgKiBAY29kZTogVUNTIGNvZGUgcG9pbnQKKyAqCisgKiBDaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBNaXNjZWxsYW5lb3VzVGVjaG5pY2FsIFVDUyBCbG9jaworICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNNaXNjZWxsYW5lb3VzVGVjaG5pY2FsKGludCBjb2RlKSB7CisgICAgcmV0dXJuKCgoY29kZSA+PSAweDIzMDApICYmIChjb2RlIDw9IDB4MjNGRikpKTsKK30KKworLyoqCisgKiB4bWxVQ1NJc01vbmdvbGlhbjoKKyAqIEBjb2RlOiBVQ1MgY29kZSBwb2ludAorICoKKyAqIENoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIE1vbmdvbGlhbiBVQ1MgQmxvY2sKKyAqCisgKiBSZXR1cm5zIDEgaWYgdHJ1ZSAwIG90aGVyd2lzZQorICovCitpbnQKK3htbFVDU0lzTW9uZ29saWFuKGludCBjb2RlKSB7CisgICAgcmV0dXJuKCgoY29kZSA+PSAweDE4MDApICYmIChjb2RlIDw9IDB4MThBRikpKTsKK30KKworLyoqCisgKiB4bWxVQ1NJc011c2ljYWxTeW1ib2xzOgorICogQGNvZGU6IFVDUyBjb2RlIHBvaW50CisgKgorICogQ2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgTXVzaWNhbFN5bWJvbHMgVUNTIEJsb2NrCisgKgorICogUmV0dXJucyAxIGlmIHRydWUgMCBvdGhlcndpc2UKKyAqLworaW50Cit4bWxVQ1NJc011c2ljYWxTeW1ib2xzKGludCBjb2RlKSB7CisgICAgcmV0dXJuKCgoY29kZSA+PSAweDFEMTAwKSAmJiAoY29kZSA8PSAweDFEMUZGKSkpOworfQorCisvKioKKyAqIHhtbFVDU0lzTXlhbm1hcjoKKyAqIEBjb2RlOiBVQ1MgY29kZSBwb2ludAorICoKKyAqIENoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIE15YW5tYXIgVUNTIEJsb2NrCisgKgorICogUmV0dXJucyAxIGlmIHRydWUgMCBvdGhlcndpc2UKKyAqLworaW50Cit4bWxVQ1NJc015YW5tYXIoaW50IGNvZGUpIHsKKyAgICByZXR1cm4oKChjb2RlID49IDB4MTAwMCkgJiYgKGNvZGUgPD0gMHgxMDlGKSkpOworfQorCisvKioKKyAqIHhtbFVDU0lzTnVtYmVyRm9ybXM6CisgKiBAY29kZTogVUNTIGNvZGUgcG9pbnQKKyAqCisgKiBDaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBOdW1iZXJGb3JtcyBVQ1MgQmxvY2sKKyAqCisgKiBSZXR1cm5zIDEgaWYgdHJ1ZSAwIG90aGVyd2lzZQorICovCitpbnQKK3htbFVDU0lzTnVtYmVyRm9ybXMoaW50IGNvZGUpIHsKKyAgICByZXR1cm4oKChjb2RlID49IDB4MjE1MCkgJiYgKGNvZGUgPD0gMHgyMThGKSkpOworfQorCisvKioKKyAqIHhtbFVDU0lzT2doYW06CisgKiBAY29kZTogVUNTIGNvZGUgcG9pbnQKKyAqCisgKiBDaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBPZ2hhbSBVQ1MgQmxvY2sKKyAqCisgKiBSZXR1cm5zIDEgaWYgdHJ1ZSAwIG90aGVyd2lzZQorICovCitpbnQKK3htbFVDU0lzT2doYW0oaW50IGNvZGUpIHsKKyAgICByZXR1cm4oKChjb2RlID49IDB4MTY4MCkgJiYgKGNvZGUgPD0gMHgxNjlGKSkpOworfQorCisvKioKKyAqIHhtbFVDU0lzT2xkSXRhbGljOgorICogQGNvZGU6IFVDUyBjb2RlIHBvaW50CisgKgorICogQ2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgT2xkSXRhbGljIFVDUyBCbG9jaworICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNPbGRJdGFsaWMoaW50IGNvZGUpIHsKKyAgICByZXR1cm4oKChjb2RlID49IDB4MTAzMDApICYmIChjb2RlIDw9IDB4MTAzMkYpKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNPcHRpY2FsQ2hhcmFjdGVyUmVjb2duaXRpb246CisgKiBAY29kZTogVUNTIGNvZGUgcG9pbnQKKyAqCisgKiBDaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBPcHRpY2FsQ2hhcmFjdGVyUmVjb2duaXRpb24gVUNTIEJsb2NrCisgKgorICogUmV0dXJucyAxIGlmIHRydWUgMCBvdGhlcndpc2UKKyAqLworaW50Cit4bWxVQ1NJc09wdGljYWxDaGFyYWN0ZXJSZWNvZ25pdGlvbihpbnQgY29kZSkgeworICAgIHJldHVybigoKGNvZGUgPj0gMHgyNDQwKSAmJiAoY29kZSA8PSAweDI0NUYpKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNPcml5YToKKyAqIEBjb2RlOiBVQ1MgY29kZSBwb2ludAorICoKKyAqIENoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIE9yaXlhIFVDUyBCbG9jaworICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNPcml5YShpbnQgY29kZSkgeworICAgIHJldHVybigoKGNvZGUgPj0gMHgwQjAwKSAmJiAoY29kZSA8PSAweDBCN0YpKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNPc21hbnlhOgorICogQGNvZGU6IFVDUyBjb2RlIHBvaW50CisgKgorICogQ2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgT3NtYW55YSBVQ1MgQmxvY2sKKyAqCisgKiBSZXR1cm5zIDEgaWYgdHJ1ZSAwIG90aGVyd2lzZQorICovCitpbnQKK3htbFVDU0lzT3NtYW55YShpbnQgY29kZSkgeworICAgIHJldHVybigoKGNvZGUgPj0gMHgxMDQ4MCkgJiYgKGNvZGUgPD0gMHgxMDRBRikpKTsKK30KKworLyoqCisgKiB4bWxVQ1NJc1Bob25ldGljRXh0ZW5zaW9uczoKKyAqIEBjb2RlOiBVQ1MgY29kZSBwb2ludAorICoKKyAqIENoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFBob25ldGljRXh0ZW5zaW9ucyBVQ1MgQmxvY2sKKyAqCisgKiBSZXR1cm5zIDEgaWYgdHJ1ZSAwIG90aGVyd2lzZQorICovCitpbnQKK3htbFVDU0lzUGhvbmV0aWNFeHRlbnNpb25zKGludCBjb2RlKSB7CisgICAgcmV0dXJuKCgoY29kZSA+PSAweDFEMDApICYmIChjb2RlIDw9IDB4MUQ3RikpKTsKK30KKworLyoqCisgKiB4bWxVQ1NJc1ByaXZhdGVVc2U6CisgKiBAY29kZTogVUNTIGNvZGUgcG9pbnQKKyAqCisgKiBDaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBQcml2YXRlVXNlIFVDUyBCbG9jaworICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNQcml2YXRlVXNlKGludCBjb2RlKSB7CisgICAgcmV0dXJuKCgoY29kZSA+PSAweEUwMDApICYmIChjb2RlIDw9IDB4RjhGRikpIHx8CisgICAgICAgICAgICgoY29kZSA+PSAweEYwMDAwKSAmJiAoY29kZSA8PSAweEZGRkZGKSkgfHwKKyAgICAgICAgICAgKChjb2RlID49IDB4MTAwMDAwKSAmJiAoY29kZSA8PSAweDEwRkZGRikpKTsKK30KKworLyoqCisgKiB4bWxVQ1NJc1ByaXZhdGVVc2VBcmVhOgorICogQGNvZGU6IFVDUyBjb2RlIHBvaW50CisgKgorICogQ2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgUHJpdmF0ZVVzZUFyZWEgVUNTIEJsb2NrCisgKgorICogUmV0dXJucyAxIGlmIHRydWUgMCBvdGhlcndpc2UKKyAqLworaW50Cit4bWxVQ1NJc1ByaXZhdGVVc2VBcmVhKGludCBjb2RlKSB7CisgICAgcmV0dXJuKCgoY29kZSA+PSAweEUwMDApICYmIChjb2RlIDw9IDB4RjhGRikpKTsKK30KKworLyoqCisgKiB4bWxVQ1NJc1J1bmljOgorICogQGNvZGU6IFVDUyBjb2RlIHBvaW50CisgKgorICogQ2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgUnVuaWMgVUNTIEJsb2NrCisgKgorICogUmV0dXJucyAxIGlmIHRydWUgMCBvdGhlcndpc2UKKyAqLworaW50Cit4bWxVQ1NJc1J1bmljKGludCBjb2RlKSB7CisgICAgcmV0dXJuKCgoY29kZSA+PSAweDE2QTApICYmIChjb2RlIDw9IDB4MTZGRikpKTsKK30KKworLyoqCisgKiB4bWxVQ1NJc1NoYXZpYW46CisgKiBAY29kZTogVUNTIGNvZGUgcG9pbnQKKyAqCisgKiBDaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBTaGF2aWFuIFVDUyBCbG9jaworICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNTaGF2aWFuKGludCBjb2RlKSB7CisgICAgcmV0dXJuKCgoY29kZSA+PSAweDEwNDUwKSAmJiAoY29kZSA8PSAweDEwNDdGKSkpOworfQorCisvKioKKyAqIHhtbFVDU0lzU2luaGFsYToKKyAqIEBjb2RlOiBVQ1MgY29kZSBwb2ludAorICoKKyAqIENoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFNpbmhhbGEgVUNTIEJsb2NrCisgKgorICogUmV0dXJucyAxIGlmIHRydWUgMCBvdGhlcndpc2UKKyAqLworaW50Cit4bWxVQ1NJc1NpbmhhbGEoaW50IGNvZGUpIHsKKyAgICByZXR1cm4oKChjb2RlID49IDB4MEQ4MCkgJiYgKGNvZGUgPD0gMHgwREZGKSkpOworfQorCisvKioKKyAqIHhtbFVDU0lzU21hbGxGb3JtVmFyaWFudHM6CisgKiBAY29kZTogVUNTIGNvZGUgcG9pbnQKKyAqCisgKiBDaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBTbWFsbEZvcm1WYXJpYW50cyBVQ1MgQmxvY2sKKyAqCisgKiBSZXR1cm5zIDEgaWYgdHJ1ZSAwIG90aGVyd2lzZQorICovCitpbnQKK3htbFVDU0lzU21hbGxGb3JtVmFyaWFudHMoaW50IGNvZGUpIHsKKyAgICByZXR1cm4oKChjb2RlID49IDB4RkU1MCkgJiYgKGNvZGUgPD0gMHhGRTZGKSkpOworfQorCisvKioKKyAqIHhtbFVDU0lzU3BhY2luZ01vZGlmaWVyTGV0dGVyczoKKyAqIEBjb2RlOiBVQ1MgY29kZSBwb2ludAorICoKKyAqIENoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFNwYWNpbmdNb2RpZmllckxldHRlcnMgVUNTIEJsb2NrCisgKgorICogUmV0dXJucyAxIGlmIHRydWUgMCBvdGhlcndpc2UKKyAqLworaW50Cit4bWxVQ1NJc1NwYWNpbmdNb2RpZmllckxldHRlcnMoaW50IGNvZGUpIHsKKyAgICByZXR1cm4oKChjb2RlID49IDB4MDJCMCkgJiYgKGNvZGUgPD0gMHgwMkZGKSkpOworfQorCisvKioKKyAqIHhtbFVDU0lzU3BlY2lhbHM6CisgKiBAY29kZTogVUNTIGNvZGUgcG9pbnQKKyAqCisgKiBDaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBTcGVjaWFscyBVQ1MgQmxvY2sKKyAqCisgKiBSZXR1cm5zIDEgaWYgdHJ1ZSAwIG90aGVyd2lzZQorICovCitpbnQKK3htbFVDU0lzU3BlY2lhbHMoaW50IGNvZGUpIHsKKyAgICByZXR1cm4oKChjb2RlID49IDB4RkZGMCkgJiYgKGNvZGUgPD0gMHhGRkZGKSkpOworfQorCisvKioKKyAqIHhtbFVDU0lzU3VwZXJzY3JpcHRzYW5kU3Vic2NyaXB0czoKKyAqIEBjb2RlOiBVQ1MgY29kZSBwb2ludAorICoKKyAqIENoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFN1cGVyc2NyaXB0c2FuZFN1YnNjcmlwdHMgVUNTIEJsb2NrCisgKgorICogUmV0dXJucyAxIGlmIHRydWUgMCBvdGhlcndpc2UKKyAqLworaW50Cit4bWxVQ1NJc1N1cGVyc2NyaXB0c2FuZFN1YnNjcmlwdHMoaW50IGNvZGUpIHsKKyAgICByZXR1cm4oKChjb2RlID49IDB4MjA3MCkgJiYgKGNvZGUgPD0gMHgyMDlGKSkpOworfQorCisvKioKKyAqIHhtbFVDU0lzU3VwcGxlbWVudGFsQXJyb3dzQToKKyAqIEBjb2RlOiBVQ1MgY29kZSBwb2ludAorICoKKyAqIENoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFN1cHBsZW1lbnRhbEFycm93cy1BIFVDUyBCbG9jaworICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNTdXBwbGVtZW50YWxBcnJvd3NBKGludCBjb2RlKSB7CisgICAgcmV0dXJuKCgoY29kZSA+PSAweDI3RjApICYmIChjb2RlIDw9IDB4MjdGRikpKTsKK30KKworLyoqCisgKiB4bWxVQ1NJc1N1cHBsZW1lbnRhbEFycm93c0I6CisgKiBAY29kZTogVUNTIGNvZGUgcG9pbnQKKyAqCisgKiBDaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBTdXBwbGVtZW50YWxBcnJvd3MtQiBVQ1MgQmxvY2sKKyAqCisgKiBSZXR1cm5zIDEgaWYgdHJ1ZSAwIG90aGVyd2lzZQorICovCitpbnQKK3htbFVDU0lzU3VwcGxlbWVudGFsQXJyb3dzQihpbnQgY29kZSkgeworICAgIHJldHVybigoKGNvZGUgPj0gMHgyOTAwKSAmJiAoY29kZSA8PSAweDI5N0YpKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNTdXBwbGVtZW50YWxNYXRoZW1hdGljYWxPcGVyYXRvcnM6CisgKiBAY29kZTogVUNTIGNvZGUgcG9pbnQKKyAqCisgKiBDaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBTdXBwbGVtZW50YWxNYXRoZW1hdGljYWxPcGVyYXRvcnMgVUNTIEJsb2NrCisgKgorICogUmV0dXJucyAxIGlmIHRydWUgMCBvdGhlcndpc2UKKyAqLworaW50Cit4bWxVQ1NJc1N1cHBsZW1lbnRhbE1hdGhlbWF0aWNhbE9wZXJhdG9ycyhpbnQgY29kZSkgeworICAgIHJldHVybigoKGNvZGUgPj0gMHgyQTAwKSAmJiAoY29kZSA8PSAweDJBRkYpKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNTdXBwbGVtZW50YXJ5UHJpdmF0ZVVzZUFyZWFBOgorICogQGNvZGU6IFVDUyBjb2RlIHBvaW50CisgKgorICogQ2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgU3VwcGxlbWVudGFyeVByaXZhdGVVc2VBcmVhLUEgVUNTIEJsb2NrCisgKgorICogUmV0dXJucyAxIGlmIHRydWUgMCBvdGhlcndpc2UKKyAqLworaW50Cit4bWxVQ1NJc1N1cHBsZW1lbnRhcnlQcml2YXRlVXNlQXJlYUEoaW50IGNvZGUpIHsKKyAgICByZXR1cm4oKChjb2RlID49IDB4RjAwMDApICYmIChjb2RlIDw9IDB4RkZGRkYpKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNTdXBwbGVtZW50YXJ5UHJpdmF0ZVVzZUFyZWFCOgorICogQGNvZGU6IFVDUyBjb2RlIHBvaW50CisgKgorICogQ2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgU3VwcGxlbWVudGFyeVByaXZhdGVVc2VBcmVhLUIgVUNTIEJsb2NrCisgKgorICogUmV0dXJucyAxIGlmIHRydWUgMCBvdGhlcndpc2UKKyAqLworaW50Cit4bWxVQ1NJc1N1cHBsZW1lbnRhcnlQcml2YXRlVXNlQXJlYUIoaW50IGNvZGUpIHsKKyAgICByZXR1cm4oKChjb2RlID49IDB4MTAwMDAwKSAmJiAoY29kZSA8PSAweDEwRkZGRikpKTsKK30KKworLyoqCisgKiB4bWxVQ1NJc1N5cmlhYzoKKyAqIEBjb2RlOiBVQ1MgY29kZSBwb2ludAorICoKKyAqIENoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFN5cmlhYyBVQ1MgQmxvY2sKKyAqCisgKiBSZXR1cm5zIDEgaWYgdHJ1ZSAwIG90aGVyd2lzZQorICovCitpbnQKK3htbFVDU0lzU3lyaWFjKGludCBjb2RlKSB7CisgICAgcmV0dXJuKCgoY29kZSA+PSAweDA3MDApICYmIChjb2RlIDw9IDB4MDc0RikpKTsKK30KKworLyoqCisgKiB4bWxVQ1NJc1RhZ2Fsb2c6CisgKiBAY29kZTogVUNTIGNvZGUgcG9pbnQKKyAqCisgKiBDaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBUYWdhbG9nIFVDUyBCbG9jaworICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNUYWdhbG9nKGludCBjb2RlKSB7CisgICAgcmV0dXJuKCgoY29kZSA+PSAweDE3MDApICYmIChjb2RlIDw9IDB4MTcxRikpKTsKK30KKworLyoqCisgKiB4bWxVQ1NJc1RhZ2JhbndhOgorICogQGNvZGU6IFVDUyBjb2RlIHBvaW50CisgKgorICogQ2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgVGFnYmFud2EgVUNTIEJsb2NrCisgKgorICogUmV0dXJucyAxIGlmIHRydWUgMCBvdGhlcndpc2UKKyAqLworaW50Cit4bWxVQ1NJc1RhZ2JhbndhKGludCBjb2RlKSB7CisgICAgcmV0dXJuKCgoY29kZSA+PSAweDE3NjApICYmIChjb2RlIDw9IDB4MTc3RikpKTsKK30KKworLyoqCisgKiB4bWxVQ1NJc1RhZ3M6CisgKiBAY29kZTogVUNTIGNvZGUgcG9pbnQKKyAqCisgKiBDaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBUYWdzIFVDUyBCbG9jaworICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNUYWdzKGludCBjb2RlKSB7CisgICAgcmV0dXJuKCgoY29kZSA+PSAweEUwMDAwKSAmJiAoY29kZSA8PSAweEUwMDdGKSkpOworfQorCisvKioKKyAqIHhtbFVDU0lzVGFpTGU6CisgKiBAY29kZTogVUNTIGNvZGUgcG9pbnQKKyAqCisgKiBDaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBUYWlMZSBVQ1MgQmxvY2sKKyAqCisgKiBSZXR1cm5zIDEgaWYgdHJ1ZSAwIG90aGVyd2lzZQorICovCitpbnQKK3htbFVDU0lzVGFpTGUoaW50IGNvZGUpIHsKKyAgICByZXR1cm4oKChjb2RlID49IDB4MTk1MCkgJiYgKGNvZGUgPD0gMHgxOTdGKSkpOworfQorCisvKioKKyAqIHhtbFVDU0lzVGFpWHVhbkppbmdTeW1ib2xzOgorICogQGNvZGU6IFVDUyBjb2RlIHBvaW50CisgKgorICogQ2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgVGFpWHVhbkppbmdTeW1ib2xzIFVDUyBCbG9jaworICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNUYWlYdWFuSmluZ1N5bWJvbHMoaW50IGNvZGUpIHsKKyAgICByZXR1cm4oKChjb2RlID49IDB4MUQzMDApICYmIChjb2RlIDw9IDB4MUQzNUYpKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNUYW1pbDoKKyAqIEBjb2RlOiBVQ1MgY29kZSBwb2ludAorICoKKyAqIENoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFRhbWlsIFVDUyBCbG9jaworICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNUYW1pbChpbnQgY29kZSkgeworICAgIHJldHVybigoKGNvZGUgPj0gMHgwQjgwKSAmJiAoY29kZSA8PSAweDBCRkYpKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNUZWx1Z3U6CisgKiBAY29kZTogVUNTIGNvZGUgcG9pbnQKKyAqCisgKiBDaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBUZWx1Z3UgVUNTIEJsb2NrCisgKgorICogUmV0dXJucyAxIGlmIHRydWUgMCBvdGhlcndpc2UKKyAqLworaW50Cit4bWxVQ1NJc1RlbHVndShpbnQgY29kZSkgeworICAgIHJldHVybigoKGNvZGUgPj0gMHgwQzAwKSAmJiAoY29kZSA8PSAweDBDN0YpKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNUaGFhbmE6CisgKiBAY29kZTogVUNTIGNvZGUgcG9pbnQKKyAqCisgKiBDaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBUaGFhbmEgVUNTIEJsb2NrCisgKgorICogUmV0dXJucyAxIGlmIHRydWUgMCBvdGhlcndpc2UKKyAqLworaW50Cit4bWxVQ1NJc1RoYWFuYShpbnQgY29kZSkgeworICAgIHJldHVybigoKGNvZGUgPj0gMHgwNzgwKSAmJiAoY29kZSA8PSAweDA3QkYpKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNUaGFpOgorICogQGNvZGU6IFVDUyBjb2RlIHBvaW50CisgKgorICogQ2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgVGhhaSBVQ1MgQmxvY2sKKyAqCisgKiBSZXR1cm5zIDEgaWYgdHJ1ZSAwIG90aGVyd2lzZQorICovCitpbnQKK3htbFVDU0lzVGhhaShpbnQgY29kZSkgeworICAgIHJldHVybigoKGNvZGUgPj0gMHgwRTAwKSAmJiAoY29kZSA8PSAweDBFN0YpKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNUaWJldGFuOgorICogQGNvZGU6IFVDUyBjb2RlIHBvaW50CisgKgorICogQ2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgVGliZXRhbiBVQ1MgQmxvY2sKKyAqCisgKiBSZXR1cm5zIDEgaWYgdHJ1ZSAwIG90aGVyd2lzZQorICovCitpbnQKK3htbFVDU0lzVGliZXRhbihpbnQgY29kZSkgeworICAgIHJldHVybigoKGNvZGUgPj0gMHgwRjAwKSAmJiAoY29kZSA8PSAweDBGRkYpKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNVZ2FyaXRpYzoKKyAqIEBjb2RlOiBVQ1MgY29kZSBwb2ludAorICoKKyAqIENoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFVnYXJpdGljIFVDUyBCbG9jaworICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNVZ2FyaXRpYyhpbnQgY29kZSkgeworICAgIHJldHVybigoKGNvZGUgPj0gMHgxMDM4MCkgJiYgKGNvZGUgPD0gMHgxMDM5RikpKTsKK30KKworLyoqCisgKiB4bWxVQ1NJc1VuaWZpZWRDYW5hZGlhbkFib3JpZ2luYWxTeWxsYWJpY3M6CisgKiBAY29kZTogVUNTIGNvZGUgcG9pbnQKKyAqCisgKiBDaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBVbmlmaWVkQ2FuYWRpYW5BYm9yaWdpbmFsU3lsbGFiaWNzIFVDUyBCbG9jaworICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNVbmlmaWVkQ2FuYWRpYW5BYm9yaWdpbmFsU3lsbGFiaWNzKGludCBjb2RlKSB7CisgICAgcmV0dXJuKCgoY29kZSA+PSAweDE0MDApICYmIChjb2RlIDw9IDB4MTY3RikpKTsKK30KKworLyoqCisgKiB4bWxVQ1NJc1ZhcmlhdGlvblNlbGVjdG9yczoKKyAqIEBjb2RlOiBVQ1MgY29kZSBwb2ludAorICoKKyAqIENoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFZhcmlhdGlvblNlbGVjdG9ycyBVQ1MgQmxvY2sKKyAqCisgKiBSZXR1cm5zIDEgaWYgdHJ1ZSAwIG90aGVyd2lzZQorICovCitpbnQKK3htbFVDU0lzVmFyaWF0aW9uU2VsZWN0b3JzKGludCBjb2RlKSB7CisgICAgcmV0dXJuKCgoY29kZSA+PSAweEZFMDApICYmIChjb2RlIDw9IDB4RkUwRikpKTsKK30KKworLyoqCisgKiB4bWxVQ1NJc1ZhcmlhdGlvblNlbGVjdG9yc1N1cHBsZW1lbnQ6CisgKiBAY29kZTogVUNTIGNvZGUgcG9pbnQKKyAqCisgKiBDaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBWYXJpYXRpb25TZWxlY3RvcnNTdXBwbGVtZW50IFVDUyBCbG9jaworICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNWYXJpYXRpb25TZWxlY3RvcnNTdXBwbGVtZW50KGludCBjb2RlKSB7CisgICAgcmV0dXJuKCgoY29kZSA+PSAweEUwMTAwKSAmJiAoY29kZSA8PSAweEUwMUVGKSkpOworfQorCisvKioKKyAqIHhtbFVDU0lzWWlSYWRpY2FsczoKKyAqIEBjb2RlOiBVQ1MgY29kZSBwb2ludAorICoKKyAqIENoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFlpUmFkaWNhbHMgVUNTIEJsb2NrCisgKgorICogUmV0dXJucyAxIGlmIHRydWUgMCBvdGhlcndpc2UKKyAqLworaW50Cit4bWxVQ1NJc1lpUmFkaWNhbHMoaW50IGNvZGUpIHsKKyAgICByZXR1cm4oKChjb2RlID49IDB4QTQ5MCkgJiYgKGNvZGUgPD0gMHhBNENGKSkpOworfQorCisvKioKKyAqIHhtbFVDU0lzWWlTeWxsYWJsZXM6CisgKiBAY29kZTogVUNTIGNvZGUgcG9pbnQKKyAqCisgKiBDaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBZaVN5bGxhYmxlcyBVQ1MgQmxvY2sKKyAqCisgKiBSZXR1cm5zIDEgaWYgdHJ1ZSAwIG90aGVyd2lzZQorICovCitpbnQKK3htbFVDU0lzWWlTeWxsYWJsZXMoaW50IGNvZGUpIHsKKyAgICByZXR1cm4oKChjb2RlID49IDB4QTAwMCkgJiYgKGNvZGUgPD0gMHhBNDhGKSkpOworfQorCisvKioKKyAqIHhtbFVDU0lzWWlqaW5nSGV4YWdyYW1TeW1ib2xzOgorICogQGNvZGU6IFVDUyBjb2RlIHBvaW50CisgKgorICogQ2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgWWlqaW5nSGV4YWdyYW1TeW1ib2xzIFVDUyBCbG9jaworICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNZaWppbmdIZXhhZ3JhbVN5bWJvbHMoaW50IGNvZGUpIHsKKyAgICByZXR1cm4oKChjb2RlID49IDB4NERDMCkgJiYgKGNvZGUgPD0gMHg0REZGKSkpOworfQorCisvKioKKyAqIHhtbFVDU0lzQmxvY2s6CisgKiBAY29kZTogVUNTIGNvZGUgcG9pbnQKKyAqIEBibG9jazogVUNTIGJsb2NrIG5hbWUKKyAqCisgKiBDaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiB0aGUgVUNTIEJsb2NrCisgKgorICogUmV0dXJucyAxIGlmIHRydWUsIDAgaWYgZmFsc2UgYW5kIC0xIG9uIHVua25vd24gYmxvY2sKKyAqLworaW50Cit4bWxVQ1NJc0Jsb2NrKGludCBjb2RlLCBjb25zdCBjaGFyICpibG9jaykgeworICAgIHhtbEludEZ1bmMgKmZ1bmM7CisKKyAgICBmdW5jID0geG1sVW5pY29kZUxvb2t1cCgmeG1sVW5pY29kZUJsb2NrVGJsLCBibG9jayk7CisgICAgaWYgKGZ1bmMgPT0gTlVMTCkKKwlyZXR1cm4gKC0xKTsKKyAgICByZXR1cm4gKGZ1bmMoY29kZSkpOworfQorCisvKioKKyAqIHhtbFVDU0lzQ2F0QzoKKyAqIEBjb2RlOiBVQ1MgY29kZSBwb2ludAorICoKKyAqIENoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEMgVUNTIENhdGVnb3J5CisgKgorICogUmV0dXJucyAxIGlmIHRydWUgMCBvdGhlcndpc2UKKyAqLworaW50Cit4bWxVQ1NJc0NhdEMoaW50IGNvZGUpIHsKKyAgICByZXR1cm4oeG1sQ2hhckluUmFuZ2UoKHVuc2lnbmVkIGludCljb2RlLCAmeG1sQ0cpKTsKK30KKworLyoqCisgKiB4bWxVQ1NJc0NhdENjOgorICogQGNvZGU6IFVDUyBjb2RlIHBvaW50CisgKgorICogQ2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgQ2MgVUNTIENhdGVnb3J5CisgKgorICogUmV0dXJucyAxIGlmIHRydWUgMCBvdGhlcndpc2UKKyAqLworaW50Cit4bWxVQ1NJc0NhdENjKGludCBjb2RlKSB7CisgICAgcmV0dXJuKCgoY29kZSA+PSAweDApICYmIChjb2RlIDw9IDB4MWYpKSB8fAorICAgICAgICAgICAoKGNvZGUgPj0gMHg3ZikgJiYgKGNvZGUgPD0gMHg5ZikpKTsKK30KKworLyoqCisgKiB4bWxVQ1NJc0NhdENmOgorICogQGNvZGU6IFVDUyBjb2RlIHBvaW50CisgKgorICogQ2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgQ2YgVUNTIENhdGVnb3J5CisgKgorICogUmV0dXJucyAxIGlmIHRydWUgMCBvdGhlcndpc2UKKyAqLworaW50Cit4bWxVQ1NJc0NhdENmKGludCBjb2RlKSB7CisgICAgcmV0dXJuKHhtbENoYXJJblJhbmdlKCh1bnNpZ25lZCBpbnQpY29kZSwgJnhtbENmRykpOworfQorCisvKioKKyAqIHhtbFVDU0lzQ2F0Q286CisgKiBAY29kZTogVUNTIGNvZGUgcG9pbnQKKyAqCisgKiBDaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBDbyBVQ1MgQ2F0ZWdvcnkKKyAqCisgKiBSZXR1cm5zIDEgaWYgdHJ1ZSAwIG90aGVyd2lzZQorICovCitpbnQKK3htbFVDU0lzQ2F0Q28oaW50IGNvZGUpIHsKKyAgICByZXR1cm4oKGNvZGUgPT0gMHhlMDAwKSB8fAorICAgICAgICAgICAoY29kZSA9PSAweGY4ZmYpIHx8CisgICAgICAgICAgIChjb2RlID09IDB4ZjAwMDApIHx8CisgICAgICAgICAgIChjb2RlID09IDB4ZmZmZmQpIHx8CisgICAgICAgICAgIChjb2RlID09IDB4MTAwMDAwKSB8fAorICAgICAgICAgICAoY29kZSA9PSAweDEwZmZmZCkpOworfQorCisvKioKKyAqIHhtbFVDU0lzQ2F0Q3M6CisgKiBAY29kZTogVUNTIGNvZGUgcG9pbnQKKyAqCisgKiBDaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBDcyBVQ1MgQ2F0ZWdvcnkKKyAqCisgKiBSZXR1cm5zIDEgaWYgdHJ1ZSAwIG90aGVyd2lzZQorICovCitpbnQKK3htbFVDU0lzQ2F0Q3MoaW50IGNvZGUpIHsKKyAgICByZXR1cm4oKGNvZGUgPT0gMHhkODAwKSB8fAorICAgICAgICAgICAoKGNvZGUgPj0gMHhkYjdmKSAmJiAoY29kZSA8PSAweGRiODApKSB8fAorICAgICAgICAgICAoKGNvZGUgPj0gMHhkYmZmKSAmJiAoY29kZSA8PSAweGRjMDApKSB8fAorICAgICAgICAgICAoY29kZSA9PSAweGRmZmYpKTsKK30KKworLyoqCisgKiB4bWxVQ1NJc0NhdEw6CisgKiBAY29kZTogVUNTIGNvZGUgcG9pbnQKKyAqCisgKiBDaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBMIFVDUyBDYXRlZ29yeQorICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNDYXRMKGludCBjb2RlKSB7CisgICAgcmV0dXJuKHhtbENoYXJJblJhbmdlKCh1bnNpZ25lZCBpbnQpY29kZSwgJnhtbExHKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNDYXRMbDoKKyAqIEBjb2RlOiBVQ1MgY29kZSBwb2ludAorICoKKyAqIENoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIExsIFVDUyBDYXRlZ29yeQorICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNDYXRMbChpbnQgY29kZSkgeworICAgIHJldHVybih4bWxDaGFySW5SYW5nZSgodW5zaWduZWQgaW50KWNvZGUsICZ4bWxMbEcpKTsKK30KKworLyoqCisgKiB4bWxVQ1NJc0NhdExtOgorICogQGNvZGU6IFVDUyBjb2RlIHBvaW50CisgKgorICogQ2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgTG0gVUNTIENhdGVnb3J5CisgKgorICogUmV0dXJucyAxIGlmIHRydWUgMCBvdGhlcndpc2UKKyAqLworaW50Cit4bWxVQ1NJc0NhdExtKGludCBjb2RlKSB7CisgICAgcmV0dXJuKHhtbENoYXJJblJhbmdlKCh1bnNpZ25lZCBpbnQpY29kZSwgJnhtbExtRykpOworfQorCisvKioKKyAqIHhtbFVDU0lzQ2F0TG86CisgKiBAY29kZTogVUNTIGNvZGUgcG9pbnQKKyAqCisgKiBDaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBMbyBVQ1MgQ2F0ZWdvcnkKKyAqCisgKiBSZXR1cm5zIDEgaWYgdHJ1ZSAwIG90aGVyd2lzZQorICovCitpbnQKK3htbFVDU0lzQ2F0TG8oaW50IGNvZGUpIHsKKyAgICByZXR1cm4oeG1sQ2hhckluUmFuZ2UoKHVuc2lnbmVkIGludCljb2RlLCAmeG1sTG9HKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNDYXRMdDoKKyAqIEBjb2RlOiBVQ1MgY29kZSBwb2ludAorICoKKyAqIENoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIEx0IFVDUyBDYXRlZ29yeQorICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNDYXRMdChpbnQgY29kZSkgeworICAgIHJldHVybih4bWxDaGFySW5SYW5nZSgodW5zaWduZWQgaW50KWNvZGUsICZ4bWxMdEcpKTsKK30KKworLyoqCisgKiB4bWxVQ1NJc0NhdEx1OgorICogQGNvZGU6IFVDUyBjb2RlIHBvaW50CisgKgorICogQ2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgTHUgVUNTIENhdGVnb3J5CisgKgorICogUmV0dXJucyAxIGlmIHRydWUgMCBvdGhlcndpc2UKKyAqLworaW50Cit4bWxVQ1NJc0NhdEx1KGludCBjb2RlKSB7CisgICAgcmV0dXJuKHhtbENoYXJJblJhbmdlKCh1bnNpZ25lZCBpbnQpY29kZSwgJnhtbEx1RykpOworfQorCisvKioKKyAqIHhtbFVDU0lzQ2F0TToKKyAqIEBjb2RlOiBVQ1MgY29kZSBwb2ludAorICoKKyAqIENoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIE0gVUNTIENhdGVnb3J5CisgKgorICogUmV0dXJucyAxIGlmIHRydWUgMCBvdGhlcndpc2UKKyAqLworaW50Cit4bWxVQ1NJc0NhdE0oaW50IGNvZGUpIHsKKyAgICByZXR1cm4oeG1sQ2hhckluUmFuZ2UoKHVuc2lnbmVkIGludCljb2RlLCAmeG1sTUcpKTsKK30KKworLyoqCisgKiB4bWxVQ1NJc0NhdE1jOgorICogQGNvZGU6IFVDUyBjb2RlIHBvaW50CisgKgorICogQ2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgTWMgVUNTIENhdGVnb3J5CisgKgorICogUmV0dXJucyAxIGlmIHRydWUgMCBvdGhlcndpc2UKKyAqLworaW50Cit4bWxVQ1NJc0NhdE1jKGludCBjb2RlKSB7CisgICAgcmV0dXJuKHhtbENoYXJJblJhbmdlKCh1bnNpZ25lZCBpbnQpY29kZSwgJnhtbE1jRykpOworfQorCisvKioKKyAqIHhtbFVDU0lzQ2F0TWU6CisgKiBAY29kZTogVUNTIGNvZGUgcG9pbnQKKyAqCisgKiBDaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBNZSBVQ1MgQ2F0ZWdvcnkKKyAqCisgKiBSZXR1cm5zIDEgaWYgdHJ1ZSAwIG90aGVyd2lzZQorICovCitpbnQKK3htbFVDU0lzQ2F0TWUoaW50IGNvZGUpIHsKKyAgICByZXR1cm4oKChjb2RlID49IDB4NDg4KSAmJiAoY29kZSA8PSAweDQ4OSkpIHx8CisgICAgICAgICAgIChjb2RlID09IDB4NmRlKSB8fAorICAgICAgICAgICAoKGNvZGUgPj0gMHgyMGRkKSAmJiAoY29kZSA8PSAweDIwZTApKSB8fAorICAgICAgICAgICAoKGNvZGUgPj0gMHgyMGUyKSAmJiAoY29kZSA8PSAweDIwZTQpKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNDYXRNbjoKKyAqIEBjb2RlOiBVQ1MgY29kZSBwb2ludAorICoKKyAqIENoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIE1uIFVDUyBDYXRlZ29yeQorICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNDYXRNbihpbnQgY29kZSkgeworICAgIHJldHVybih4bWxDaGFySW5SYW5nZSgodW5zaWduZWQgaW50KWNvZGUsICZ4bWxNbkcpKTsKK30KKworLyoqCisgKiB4bWxVQ1NJc0NhdE46CisgKiBAY29kZTogVUNTIGNvZGUgcG9pbnQKKyAqCisgKiBDaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBOIFVDUyBDYXRlZ29yeQorICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNDYXROKGludCBjb2RlKSB7CisgICAgcmV0dXJuKHhtbENoYXJJblJhbmdlKCh1bnNpZ25lZCBpbnQpY29kZSwgJnhtbE5HKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNDYXROZDoKKyAqIEBjb2RlOiBVQ1MgY29kZSBwb2ludAorICoKKyAqIENoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIE5kIFVDUyBDYXRlZ29yeQorICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNDYXROZChpbnQgY29kZSkgeworICAgIHJldHVybih4bWxDaGFySW5SYW5nZSgodW5zaWduZWQgaW50KWNvZGUsICZ4bWxOZEcpKTsKK30KKworLyoqCisgKiB4bWxVQ1NJc0NhdE5sOgorICogQGNvZGU6IFVDUyBjb2RlIHBvaW50CisgKgorICogQ2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgTmwgVUNTIENhdGVnb3J5CisgKgorICogUmV0dXJucyAxIGlmIHRydWUgMCBvdGhlcndpc2UKKyAqLworaW50Cit4bWxVQ1NJc0NhdE5sKGludCBjb2RlKSB7CisgICAgcmV0dXJuKCgoY29kZSA+PSAweDE2ZWUpICYmIChjb2RlIDw9IDB4MTZmMCkpIHx8CisgICAgICAgICAgICgoY29kZSA+PSAweDIxNjApICYmIChjb2RlIDw9IDB4MjE4MykpIHx8CisgICAgICAgICAgIChjb2RlID09IDB4MzAwNykgfHwKKyAgICAgICAgICAgKChjb2RlID49IDB4MzAyMSkgJiYgKGNvZGUgPD0gMHgzMDI5KSkgfHwKKyAgICAgICAgICAgKChjb2RlID49IDB4MzAzOCkgJiYgKGNvZGUgPD0gMHgzMDNhKSkgfHwKKyAgICAgICAgICAgKGNvZGUgPT0gMHgxMDM0YSkpOworfQorCisvKioKKyAqIHhtbFVDU0lzQ2F0Tm86CisgKiBAY29kZTogVUNTIGNvZGUgcG9pbnQKKyAqCisgKiBDaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBObyBVQ1MgQ2F0ZWdvcnkKKyAqCisgKiBSZXR1cm5zIDEgaWYgdHJ1ZSAwIG90aGVyd2lzZQorICovCitpbnQKK3htbFVDU0lzQ2F0Tm8oaW50IGNvZGUpIHsKKyAgICByZXR1cm4oeG1sQ2hhckluUmFuZ2UoKHVuc2lnbmVkIGludCljb2RlLCAmeG1sTm9HKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNDYXRQOgorICogQGNvZGU6IFVDUyBjb2RlIHBvaW50CisgKgorICogQ2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgUCBVQ1MgQ2F0ZWdvcnkKKyAqCisgKiBSZXR1cm5zIDEgaWYgdHJ1ZSAwIG90aGVyd2lzZQorICovCitpbnQKK3htbFVDU0lzQ2F0UChpbnQgY29kZSkgeworICAgIHJldHVybih4bWxDaGFySW5SYW5nZSgodW5zaWduZWQgaW50KWNvZGUsICZ4bWxQRykpOworfQorCisvKioKKyAqIHhtbFVDU0lzQ2F0UGM6CisgKiBAY29kZTogVUNTIGNvZGUgcG9pbnQKKyAqCisgKiBDaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBQYyBVQ1MgQ2F0ZWdvcnkKKyAqCisgKiBSZXR1cm5zIDEgaWYgdHJ1ZSAwIG90aGVyd2lzZQorICovCitpbnQKK3htbFVDU0lzQ2F0UGMoaW50IGNvZGUpIHsKKyAgICByZXR1cm4oKGNvZGUgPT0gMHg1ZikgfHwKKyAgICAgICAgICAgKChjb2RlID49IDB4MjAzZikgJiYgKGNvZGUgPD0gMHgyMDQwKSkgfHwKKyAgICAgICAgICAgKGNvZGUgPT0gMHgyMDU0KSB8fAorICAgICAgICAgICAoY29kZSA9PSAweDMwZmIpIHx8CisgICAgICAgICAgICgoY29kZSA+PSAweGZlMzMpICYmIChjb2RlIDw9IDB4ZmUzNCkpIHx8CisgICAgICAgICAgICgoY29kZSA+PSAweGZlNGQpICYmIChjb2RlIDw9IDB4ZmU0ZikpIHx8CisgICAgICAgICAgIChjb2RlID09IDB4ZmYzZikgfHwKKyAgICAgICAgICAgKGNvZGUgPT0gMHhmZjY1KSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNDYXRQZDoKKyAqIEBjb2RlOiBVQ1MgY29kZSBwb2ludAorICoKKyAqIENoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFBkIFVDUyBDYXRlZ29yeQorICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNDYXRQZChpbnQgY29kZSkgeworICAgIHJldHVybih4bWxDaGFySW5SYW5nZSgodW5zaWduZWQgaW50KWNvZGUsICZ4bWxQZEcpKTsKK30KKworLyoqCisgKiB4bWxVQ1NJc0NhdFBlOgorICogQGNvZGU6IFVDUyBjb2RlIHBvaW50CisgKgorICogQ2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgUGUgVUNTIENhdGVnb3J5CisgKgorICogUmV0dXJucyAxIGlmIHRydWUgMCBvdGhlcndpc2UKKyAqLworaW50Cit4bWxVQ1NJc0NhdFBlKGludCBjb2RlKSB7CisgICAgcmV0dXJuKHhtbENoYXJJblJhbmdlKCh1bnNpZ25lZCBpbnQpY29kZSwgJnhtbFBlRykpOworfQorCisvKioKKyAqIHhtbFVDU0lzQ2F0UGY6CisgKiBAY29kZTogVUNTIGNvZGUgcG9pbnQKKyAqCisgKiBDaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBQZiBVQ1MgQ2F0ZWdvcnkKKyAqCisgKiBSZXR1cm5zIDEgaWYgdHJ1ZSAwIG90aGVyd2lzZQorICovCitpbnQKK3htbFVDU0lzQ2F0UGYoaW50IGNvZGUpIHsKKyAgICByZXR1cm4oKGNvZGUgPT0gMHhiYikgfHwKKyAgICAgICAgICAgKGNvZGUgPT0gMHgyMDE5KSB8fAorICAgICAgICAgICAoY29kZSA9PSAweDIwMWQpIHx8CisgICAgICAgICAgIChjb2RlID09IDB4MjAzYSkpOworfQorCisvKioKKyAqIHhtbFVDU0lzQ2F0UGk6CisgKiBAY29kZTogVUNTIGNvZGUgcG9pbnQKKyAqCisgKiBDaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBQaSBVQ1MgQ2F0ZWdvcnkKKyAqCisgKiBSZXR1cm5zIDEgaWYgdHJ1ZSAwIG90aGVyd2lzZQorICovCitpbnQKK3htbFVDU0lzQ2F0UGkoaW50IGNvZGUpIHsKKyAgICByZXR1cm4oKGNvZGUgPT0gMHhhYikgfHwKKyAgICAgICAgICAgKGNvZGUgPT0gMHgyMDE4KSB8fAorICAgICAgICAgICAoKGNvZGUgPj0gMHgyMDFiKSAmJiAoY29kZSA8PSAweDIwMWMpKSB8fAorICAgICAgICAgICAoY29kZSA9PSAweDIwMWYpIHx8CisgICAgICAgICAgIChjb2RlID09IDB4MjAzOSkpOworfQorCisvKioKKyAqIHhtbFVDU0lzQ2F0UG86CisgKiBAY29kZTogVUNTIGNvZGUgcG9pbnQKKyAqCisgKiBDaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBQbyBVQ1MgQ2F0ZWdvcnkKKyAqCisgKiBSZXR1cm5zIDEgaWYgdHJ1ZSAwIG90aGVyd2lzZQorICovCitpbnQKK3htbFVDU0lzQ2F0UG8oaW50IGNvZGUpIHsKKyAgICByZXR1cm4oeG1sQ2hhckluUmFuZ2UoKHVuc2lnbmVkIGludCljb2RlLCAmeG1sUG9HKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNDYXRQczoKKyAqIEBjb2RlOiBVQ1MgY29kZSBwb2ludAorICoKKyAqIENoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFBzIFVDUyBDYXRlZ29yeQorICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNDYXRQcyhpbnQgY29kZSkgeworICAgIHJldHVybih4bWxDaGFySW5SYW5nZSgodW5zaWduZWQgaW50KWNvZGUsICZ4bWxQc0cpKTsKK30KKworLyoqCisgKiB4bWxVQ1NJc0NhdFM6CisgKiBAY29kZTogVUNTIGNvZGUgcG9pbnQKKyAqCisgKiBDaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBTIFVDUyBDYXRlZ29yeQorICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNDYXRTKGludCBjb2RlKSB7CisgICAgcmV0dXJuKHhtbENoYXJJblJhbmdlKCh1bnNpZ25lZCBpbnQpY29kZSwgJnhtbFNHKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNDYXRTYzoKKyAqIEBjb2RlOiBVQ1MgY29kZSBwb2ludAorICoKKyAqIENoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFNjIFVDUyBDYXRlZ29yeQorICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNDYXRTYyhpbnQgY29kZSkgeworICAgIHJldHVybih4bWxDaGFySW5SYW5nZSgodW5zaWduZWQgaW50KWNvZGUsICZ4bWxTY0cpKTsKK30KKworLyoqCisgKiB4bWxVQ1NJc0NhdFNrOgorICogQGNvZGU6IFVDUyBjb2RlIHBvaW50CisgKgorICogQ2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgU2sgVUNTIENhdGVnb3J5CisgKgorICogUmV0dXJucyAxIGlmIHRydWUgMCBvdGhlcndpc2UKKyAqLworaW50Cit4bWxVQ1NJc0NhdFNrKGludCBjb2RlKSB7CisgICAgcmV0dXJuKHhtbENoYXJJblJhbmdlKCh1bnNpZ25lZCBpbnQpY29kZSwgJnhtbFNrRykpOworfQorCisvKioKKyAqIHhtbFVDU0lzQ2F0U206CisgKiBAY29kZTogVUNTIGNvZGUgcG9pbnQKKyAqCisgKiBDaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBTbSBVQ1MgQ2F0ZWdvcnkKKyAqCisgKiBSZXR1cm5zIDEgaWYgdHJ1ZSAwIG90aGVyd2lzZQorICovCitpbnQKK3htbFVDU0lzQ2F0U20oaW50IGNvZGUpIHsKKyAgICByZXR1cm4oeG1sQ2hhckluUmFuZ2UoKHVuc2lnbmVkIGludCljb2RlLCAmeG1sU21HKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNDYXRTbzoKKyAqIEBjb2RlOiBVQ1MgY29kZSBwb2ludAorICoKKyAqIENoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFNvIFVDUyBDYXRlZ29yeQorICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNDYXRTbyhpbnQgY29kZSkgeworICAgIHJldHVybih4bWxDaGFySW5SYW5nZSgodW5zaWduZWQgaW50KWNvZGUsICZ4bWxTb0cpKTsKK30KKworLyoqCisgKiB4bWxVQ1NJc0NhdFo6CisgKiBAY29kZTogVUNTIGNvZGUgcG9pbnQKKyAqCisgKiBDaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBaIFVDUyBDYXRlZ29yeQorICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNDYXRaKGludCBjb2RlKSB7CisgICAgcmV0dXJuKHhtbENoYXJJblJhbmdlKCh1bnNpZ25lZCBpbnQpY29kZSwgJnhtbFpHKSk7Cit9CisKKy8qKgorICogeG1sVUNTSXNDYXRabDoKKyAqIEBjb2RlOiBVQ1MgY29kZSBwb2ludAorICoKKyAqIENoZWNrIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBpcyBwYXJ0IG9mIFpsIFVDUyBDYXRlZ29yeQorICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sVUNTSXNDYXRabChpbnQgY29kZSkgeworICAgIHJldHVybigoY29kZSA9PSAweDIwMjgpKTsKK30KKworLyoqCisgKiB4bWxVQ1NJc0NhdFpwOgorICogQGNvZGU6IFVDUyBjb2RlIHBvaW50CisgKgorICogQ2hlY2sgd2hldGhlciB0aGUgY2hhcmFjdGVyIGlzIHBhcnQgb2YgWnAgVUNTIENhdGVnb3J5CisgKgorICogUmV0dXJucyAxIGlmIHRydWUgMCBvdGhlcndpc2UKKyAqLworaW50Cit4bWxVQ1NJc0NhdFpwKGludCBjb2RlKSB7CisgICAgcmV0dXJuKChjb2RlID09IDB4MjAyOSkpOworfQorCisvKioKKyAqIHhtbFVDU0lzQ2F0WnM6CisgKiBAY29kZTogVUNTIGNvZGUgcG9pbnQKKyAqCisgKiBDaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiBacyBVQ1MgQ2F0ZWdvcnkKKyAqCisgKiBSZXR1cm5zIDEgaWYgdHJ1ZSAwIG90aGVyd2lzZQorICovCitpbnQKK3htbFVDU0lzQ2F0WnMoaW50IGNvZGUpIHsKKyAgICByZXR1cm4oKGNvZGUgPT0gMHgyMCkgfHwKKyAgICAgICAgICAgKGNvZGUgPT0gMHhhMCkgfHwKKyAgICAgICAgICAgKGNvZGUgPT0gMHgxNjgwKSB8fAorICAgICAgICAgICAoY29kZSA9PSAweDE4MGUpIHx8CisgICAgICAgICAgICgoY29kZSA+PSAweDIwMDApICYmIChjb2RlIDw9IDB4MjAwYSkpIHx8CisgICAgICAgICAgIChjb2RlID09IDB4MjAyZikgfHwKKyAgICAgICAgICAgKGNvZGUgPT0gMHgyMDVmKSB8fAorICAgICAgICAgICAoY29kZSA9PSAweDMwMDApKTsKK30KKworLyoqCisgKiB4bWxVQ1NJc0NhdDoKKyAqIEBjb2RlOiBVQ1MgY29kZSBwb2ludAorICogQGNhdDogVUNTIENhdGVnb3J5IG5hbWUKKyAqCisgKiBDaGVjayB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgaXMgcGFydCBvZiB0aGUgVUNTIENhdGVnb3J5CisgKgorICogUmV0dXJucyAxIGlmIHRydWUsIDAgaWYgZmFsc2UgYW5kIC0xIG9uIHVua25vd24gY2F0ZWdvcnkKKyAqLworaW50Cit4bWxVQ1NJc0NhdChpbnQgY29kZSwgY29uc3QgY2hhciAqY2F0KSB7CisgICAgeG1sSW50RnVuYyAqZnVuYzsKKworICAgIGZ1bmMgPSB4bWxVbmljb2RlTG9va3VwKCZ4bWxVbmljb2RlQ2F0VGJsLCBjYXQpOworICAgIGlmIChmdW5jID09IE5VTEwpCisJcmV0dXJuICgtMSk7CisgICAgcmV0dXJuIChmdW5jKGNvZGUpKTsKK30KKworI2RlZmluZSBib3R0b21feG1sdW5pY29kZQorI2luY2x1ZGUgImVsZmdjY2hhY2suaCIKKyNlbmRpZiAvKiBMSUJYTUxfVU5JQ09ERV9FTkFCTEVEICovCmRpZmYgLS1naXQgYS9saWJ4bWwyL3htbHdyaXRlci5jIGIvbGlieG1sMi94bWx3cml0ZXIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYWMyMGFjCi0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi94bWx3cml0ZXIuYwpAQCAtMCwwICsxLDQ3NDMgQEAKKworLyoKKyAqIHhtbHdyaXRlci5jOiBYTUwgdGV4dCB3cml0ZXIgaW1wbGVtZW50YXRpb24KKyAqCisgKiBGb3IgbGljZW5zZSBhbmQgZGlzY2xhaW1lciBzZWUgdGhlIGxpY2Vuc2UgYW5kIGRpc2NsYWltZXIgb2YKKyAqIGxpYnhtbDIuCisgKgorICogYWxmcmVkQG1pY2thdXRzY2guZGUKKyAqLworCisjZGVmaW5lIElOX0xJQlhNTAorI2luY2x1ZGUgImxpYnhtbC5oIgorI2luY2x1ZGUgPHN0cmluZy5oPgorCisjaW5jbHVkZSA8bGlieG1sL3htbG1lbW9yeS5oPgorI2luY2x1ZGUgPGxpYnhtbC9wYXJzZXIuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvdXJpLmg+CisjaW5jbHVkZSA8bGlieG1sL0hUTUx0cmVlLmg+CisKKyNpZmRlZiBMSUJYTUxfV1JJVEVSX0VOQUJMRUQKKworI2luY2x1ZGUgPGxpYnhtbC94bWx3cml0ZXIuaD4KKworI2luY2x1ZGUgImJ1Zi5oIgorI2luY2x1ZGUgImVuYy5oIgorI2luY2x1ZGUgInNhdmUuaCIKKworI2RlZmluZSBCNjRMSU5FTEVOIDcyCisjZGVmaW5lIEI2NENSTEYgIlxyXG4iCisKKy8qCisgKiBUaGUgZm9sbG93aW5nIFZBX0NPUFkgd2FzIGNvZGVkIGZvbGxvd2luZyBhbiBleGFtcGxlIGluCisgKiB0aGUgU2FtYmEgcHJvamVjdC4gIEl0IG1heSBub3QgYmUgc3VmZmljaWVudCBmb3Igc29tZQorICogZXNvdGVyaWMgaW1wbGVtZW50YXRpb25zIG9mIHZhX2xpc3QgYnV0IChob3BlZnVsbHkpIHdpbGwKKyAqIGJlIHN1ZmZpY2llbnQgZm9yIGxpYnhtbDIuCisgKi8KKyNpZm5kZWYgVkFfQ09QWQorICAjaWZkZWYgSEFWRV9WQV9DT1BZCisgICAgI2RlZmluZSBWQV9DT1BZKGRlc3QsIHNyYykgdmFfY29weShkZXN0LCBzcmMpCisgICNlbHNlCisgICAgI2lmZGVmIEhBVkVfX19WQV9DT1BZCisgICAgICAjZGVmaW5lIFZBX0NPUFkoZGVzdCxzcmMpIF9fdmFfY29weShkZXN0LCBzcmMpCisgICAgI2Vsc2UKKyAgICAgICNpZm5kZWYgVkFfTElTVF9JU19BUlJBWQorICAgICAgICAjZGVmaW5lIFZBX0NPUFkoZGVzdCxzcmMpIChkZXN0KSA9IChzcmMpCisgICAgICAjZWxzZQorICAgICAgICAjaW5jbHVkZSA8c3RyaW5nLmg+CisgICAgICAgICNkZWZpbmUgVkFfQ09QWShkZXN0LHNyYykgbWVtY3B5KChjaGFyICopKGRlc3QpLChjaGFyICopKHNyYyksc2l6ZW9mKHZhX2xpc3QpKQorICAgICAgI2VuZGlmCisgICAgI2VuZGlmCisgICNlbmRpZgorI2VuZGlmCisKKy8qCisgKiBUeXBlcyBhcmUga2VwdCBwcml2YXRlCisgKi8KK3R5cGVkZWYgZW51bSB7CisgICAgWE1MX1RFWFRXUklURVJfTk9ORSA9IDAsCisgICAgWE1MX1RFWFRXUklURVJfTkFNRSwKKyAgICBYTUxfVEVYVFdSSVRFUl9BVFRSSUJVVEUsCisgICAgWE1MX1RFWFRXUklURVJfVEVYVCwKKyAgICBYTUxfVEVYVFdSSVRFUl9QSSwKKyAgICBYTUxfVEVYVFdSSVRFUl9QSV9URVhULAorICAgIFhNTF9URVhUV1JJVEVSX0NEQVRBLAorICAgIFhNTF9URVhUV1JJVEVSX0RURCwKKyAgICBYTUxfVEVYVFdSSVRFUl9EVERfVEVYVCwKKyAgICBYTUxfVEVYVFdSSVRFUl9EVERfRUxFTSwKKyAgICBYTUxfVEVYVFdSSVRFUl9EVERfRUxFTV9URVhULAorICAgIFhNTF9URVhUV1JJVEVSX0RURF9BVFRMLAorICAgIFhNTF9URVhUV1JJVEVSX0RURF9BVFRMX1RFWFQsCisgICAgWE1MX1RFWFRXUklURVJfRFREX0VOVFksICAgIC8qIGVudGl0eSAqLworICAgIFhNTF9URVhUV1JJVEVSX0RURF9FTlRZX1RFWFQsCisgICAgWE1MX1RFWFRXUklURVJfRFREX1BFTlQsICAgIC8qIHBhcmFtZXRlciBlbnRpdHkgKi8KKyAgICBYTUxfVEVYVFdSSVRFUl9DT01NRU5UCit9IHhtbFRleHRXcml0ZXJTdGF0ZTsKKwordHlwZWRlZiBzdHJ1Y3QgX3htbFRleHRXcml0ZXJTdGFja0VudHJ5IHhtbFRleHRXcml0ZXJTdGFja0VudHJ5OworCitzdHJ1Y3QgX3htbFRleHRXcml0ZXJTdGFja0VudHJ5IHsKKyAgICB4bWxDaGFyICpuYW1lOworICAgIHhtbFRleHRXcml0ZXJTdGF0ZSBzdGF0ZTsKK307CisKK3R5cGVkZWYgc3RydWN0IF94bWxUZXh0V3JpdGVyTnNTdGFja0VudHJ5IHhtbFRleHRXcml0ZXJOc1N0YWNrRW50cnk7CitzdHJ1Y3QgX3htbFRleHRXcml0ZXJOc1N0YWNrRW50cnkgeworICAgIHhtbENoYXIgKnByZWZpeDsKKyAgICB4bWxDaGFyICp1cmk7CisgICAgeG1sTGlua1B0ciBlbGVtOworfTsKKworc3RydWN0IF94bWxUZXh0V3JpdGVyIHsKKyAgICB4bWxPdXRwdXRCdWZmZXJQdHIgb3V0OyAgICAgLyogb3V0cHV0IGJ1ZmZlciAqLworICAgIHhtbExpc3RQdHIgbm9kZXM7ICAgICAgICAgICAvKiBlbGVtZW50IG5hbWUgc3RhY2sgKi8KKyAgICB4bWxMaXN0UHRyIG5zc3RhY2s7ICAgICAgICAgLyogbmFtZSBzcGFjZXMgc3RhY2sgKi8KKyAgICBpbnQgbGV2ZWw7CisgICAgaW50IGluZGVudDsgICAgICAgICAgICAgICAgIC8qIGVuYWJsZSBpbmRlbnQgKi8KKyAgICBpbnQgZG9pbmRlbnQ7ICAgICAgICAgICAgICAgLyogaW50ZXJuYWwgaW5kZW50IGZsYWcgKi8KKyAgICB4bWxDaGFyICppY2hhcjsgICAgICAgICAgICAgLyogaW5kZW50IGNoYXJhY3RlciAqLworICAgIGNoYXIgcWNoYXI7ICAgICAgICAgICAgICAgICAvKiBjaGFyYWN0ZXIgdXNlZCBmb3IgcXVvdGluZyBhdHRyaWJ1dGUgdmFsdWVzICovCisgICAgeG1sUGFyc2VyQ3R4dFB0ciBjdHh0OworICAgIGludCBub19kb2NfZnJlZTsKKyAgICB4bWxEb2NQdHIgZG9jOworfTsKKworc3RhdGljIHZvaWQgeG1sRnJlZVRleHRXcml0ZXJTdGFja0VudHJ5KHhtbExpbmtQdHIgbGspOworc3RhdGljIGludCB4bWxDbXBUZXh0V3JpdGVyU3RhY2tFbnRyeShjb25zdCB2b2lkICpkYXRhMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgdm9pZCAqZGF0YTEpOworc3RhdGljIGludCB4bWxUZXh0V3JpdGVyT3V0cHV0TlNEZWNsKHhtbFRleHRXcml0ZXJQdHIgd3JpdGVyKTsKK3N0YXRpYyB2b2lkIHhtbEZyZWVUZXh0V3JpdGVyTnNTdGFja0VudHJ5KHhtbExpbmtQdHIgbGspOworc3RhdGljIGludCB4bWxDbXBUZXh0V3JpdGVyTnNTdGFja0VudHJ5KGNvbnN0IHZvaWQgKmRhdGEwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZvaWQgKmRhdGExKTsKK3N0YXRpYyBpbnQgeG1sVGV4dFdyaXRlcldyaXRlRG9jQ2FsbGJhY2sodm9pZCAqY29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIHN0ciwgaW50IGxlbik7CitzdGF0aWMgaW50IHhtbFRleHRXcml0ZXJDbG9zZURvY0NhbGxiYWNrKHZvaWQgKmNvbnRleHQpOworCitzdGF0aWMgeG1sQ2hhciAqeG1sVGV4dFdyaXRlclZTcHJpbnRmKGNvbnN0IGNoYXIgKmZvcm1hdCwgdmFfbGlzdCBhcmdwdHIpOworc3RhdGljIGludCB4bWxPdXRwdXRCdWZmZXJXcml0ZUJhc2U2NCh4bWxPdXRwdXRCdWZmZXJQdHIgb3V0LCBpbnQgbGVuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpkYXRhKTsKK3N0YXRpYyB2b2lkIHhtbFRleHRXcml0ZXJTdGFydERvY3VtZW50Q2FsbGJhY2sodm9pZCAqY3R4KTsKK3N0YXRpYyBpbnQgeG1sVGV4dFdyaXRlcldyaXRlSW5kZW50KHhtbFRleHRXcml0ZXJQdHIgd3JpdGVyKTsKK3N0YXRpYyBpbnQKKyAgeG1sVGV4dFdyaXRlckhhbmRsZVN0YXRlRGVwZW5kZW5jaWVzKHhtbFRleHRXcml0ZXJQdHIgd3JpdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sVGV4dFdyaXRlclN0YWNrRW50cnkgKiBwKTsKKworLyoqCisgKiB4bWxXcml0ZXJFcnJNc2c6CisgKiBAY3R4dDogIGEgd3JpdGVyIGNvbnRleHQKKyAqIEBlcnJvcjogIHRoZSBlcnJvciBudW1iZXIKKyAqIEBtc2c6ICB0aGUgZXJyb3IgbWVzc2FnZQorICoKKyAqIEhhbmRsZSBhIHdyaXRlciBlcnJvcgorICovCitzdGF0aWMgdm9pZAoreG1sV3JpdGVyRXJyTXNnKHhtbFRleHRXcml0ZXJQdHIgY3R4dCwgeG1sUGFyc2VyRXJyb3JzIGVycm9yLAorICAgICAgICAgICAgICAgY29uc3QgY2hhciAqbXNnKQoreworICAgIGlmIChjdHh0ICE9IE5VTEwpIHsKKwlfX3htbFJhaXNlRXJyb3IoTlVMTCwgTlVMTCwgTlVMTCwgY3R4dC0+Y3R4dCwKKwkgICAgICAgICAgICBOVUxMLCBYTUxfRlJPTV9XUklURVIsIGVycm9yLCBYTUxfRVJSX0ZBVEFMLAorCQkgICAgTlVMTCwgMCwgTlVMTCwgTlVMTCwgTlVMTCwgMCwgMCwgIiVzIiwgbXNnKTsKKyAgICB9IGVsc2UgeworCV9feG1sUmFpc2VFcnJvcihOVUxMLCBOVUxMLCBOVUxMLCBOVUxMLCBOVUxMLCBYTUxfRlJPTV9XUklURVIsIGVycm9yLAorICAgICAgICAgICAgICAgICAgICBYTUxfRVJSX0ZBVEFMLCBOVUxMLCAwLCBOVUxMLCBOVUxMLCBOVUxMLCAwLCAwLCAiJXMiLCBtc2cpOworICAgIH0KK30KKworLyoqCisgKiB4bWxXcml0ZXJFcnJNc2dJbnQ6CisgKiBAY3R4dDogIGEgd3JpdGVyIGNvbnRleHQKKyAqIEBlcnJvcjogIHRoZSBlcnJvciBudW1iZXIKKyAqIEBtc2c6ICB0aGUgZXJyb3IgbWVzc2FnZQorICogQHZhbDogIGFuIGludAorICoKKyAqIEhhbmRsZSBhIHdyaXRlciBlcnJvcgorICovCitzdGF0aWMgdm9pZAoreG1sV3JpdGVyRXJyTXNnSW50KHhtbFRleHRXcml0ZXJQdHIgY3R4dCwgeG1sUGFyc2VyRXJyb3JzIGVycm9yLAorICAgICAgICAgICAgICAgY29uc3QgY2hhciAqbXNnLCBpbnQgdmFsKQoreworICAgIGlmIChjdHh0ICE9IE5VTEwpIHsKKwlfX3htbFJhaXNlRXJyb3IoTlVMTCwgTlVMTCwgTlVMTCwgY3R4dC0+Y3R4dCwKKwkgICAgICAgICAgICBOVUxMLCBYTUxfRlJPTV9XUklURVIsIGVycm9yLCBYTUxfRVJSX0ZBVEFMLAorCQkgICAgTlVMTCwgMCwgTlVMTCwgTlVMTCwgTlVMTCwgdmFsLCAwLCBtc2csIHZhbCk7CisgICAgfSBlbHNlIHsKKwlfX3htbFJhaXNlRXJyb3IoTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwgWE1MX0ZST01fV1JJVEVSLCBlcnJvciwKKyAgICAgICAgICAgICAgICAgICAgWE1MX0VSUl9GQVRBTCwgTlVMTCwgMCwgTlVMTCwgTlVMTCwgTlVMTCwgdmFsLCAwLCBtc2csIHZhbCk7CisgICAgfQorfQorCisvKioKKyAqIHhtbE5ld1RleHRXcml0ZXI6CisgKiBAb3V0OiAgYW4geG1sT3V0cHV0QnVmZmVyUHRyCisgKgorICogQ3JlYXRlIGEgbmV3IHhtbE5ld1RleHRXcml0ZXIgc3RydWN0dXJlIHVzaW5nIGFuIHhtbE91dHB1dEJ1ZmZlclB0cgorICogTk9URTogdGhlIEBvdXQgcGFyYW1ldGVyIHdpbGwgYmUgZGVhbGxvY2F0ZWQgd2hlbiB0aGUgd3JpdGVyIGlzIGNsb3NlZAorICogICAgICAgKGlmIHRoZSBjYWxsIHN1Y2NlZWQuKQorICoKKyAqIFJldHVybnMgdGhlIG5ldyB4bWxUZXh0V3JpdGVyUHRyIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcgorICovCit4bWxUZXh0V3JpdGVyUHRyCit4bWxOZXdUZXh0V3JpdGVyKHhtbE91dHB1dEJ1ZmZlclB0ciBvdXQpCit7CisgICAgeG1sVGV4dFdyaXRlclB0ciByZXQ7CisKKyAgICByZXQgPSAoeG1sVGV4dFdyaXRlclB0cikgeG1sTWFsbG9jKHNpemVvZih4bWxUZXh0V3JpdGVyKSk7CisgICAgaWYgKHJldCA9PSBOVUxMKSB7CisgICAgICAgIHhtbFdyaXRlckVyck1zZyhOVUxMLCBYTUxfRVJSX05PX01FTU9SWSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4bWxOZXdUZXh0V3JpdGVyIDogb3V0IG9mIG1lbW9yeSFcbiIpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgICAgbWVtc2V0KHJldCwgMCwgKHNpemVfdCkgc2l6ZW9mKHhtbFRleHRXcml0ZXIpKTsKKworICAgIHJldC0+bm9kZXMgPSB4bWxMaXN0Q3JlYXRlKCh4bWxMaXN0RGVhbGxvY2F0b3IpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sRnJlZVRleHRXcml0ZXJTdGFja0VudHJ5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh4bWxMaXN0RGF0YUNvbXBhcmUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sQ21wVGV4dFdyaXRlclN0YWNrRW50cnkpOworICAgIGlmIChyZXQtPm5vZGVzID09IE5VTEwpIHsKKyAgICAgICAgeG1sV3JpdGVyRXJyTXNnKE5VTEwsIFhNTF9FUlJfTk9fTUVNT1JZLAorICAgICAgICAgICAgICAgICAgICAgICAgInhtbE5ld1RleHRXcml0ZXIgOiBvdXQgb2YgbWVtb3J5IVxuIik7CisgICAgICAgIHhtbEZyZWUocmV0KTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCisgICAgcmV0LT5uc3N0YWNrID0geG1sTGlzdENyZWF0ZSgoeG1sTGlzdERlYWxsb2NhdG9yKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sRnJlZVRleHRXcml0ZXJOc1N0YWNrRW50cnksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoeG1sTGlzdERhdGFDb21wYXJlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sQ21wVGV4dFdyaXRlck5zU3RhY2tFbnRyeSk7CisgICAgaWYgKHJldC0+bnNzdGFjayA9PSBOVUxMKSB7CisgICAgICAgIHhtbFdyaXRlckVyck1zZyhOVUxMLCBYTUxfRVJSX05PX01FTU9SWSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4bWxOZXdUZXh0V3JpdGVyIDogb3V0IG9mIG1lbW9yeSFcbiIpOworICAgICAgICB4bWxMaXN0RGVsZXRlKHJldC0+bm9kZXMpOworICAgICAgICB4bWxGcmVlKHJldCk7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKworICAgIHJldC0+b3V0ID0gb3V0OworICAgIHJldC0+aWNoYXIgPSB4bWxTdHJkdXAoQkFEX0NBU1QgIiAiKTsKKyAgICByZXQtPnFjaGFyID0gJyInOworCisgICAgaWYgKCFyZXQtPmljaGFyKSB7CisgICAgICAgIHhtbExpc3REZWxldGUocmV0LT5ub2Rlcyk7CisgICAgICAgIHhtbExpc3REZWxldGUocmV0LT5uc3N0YWNrKTsKKyAgICAgICAgeG1sRnJlZShyZXQpOworICAgICAgICB4bWxXcml0ZXJFcnJNc2coTlVMTCwgWE1MX0VSUl9OT19NRU1PUlksCisgICAgICAgICAgICAgICAgICAgICAgICAieG1sTmV3VGV4dFdyaXRlciA6IG91dCBvZiBtZW1vcnkhXG4iKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCisgICAgcmV0LT5kb2MgPSB4bWxOZXdEb2MoTlVMTCk7CisKKyAgICByZXQtPm5vX2RvY19mcmVlID0gMDsKKworICAgIHJldHVybiByZXQ7Cit9CisKKy8qKgorICogeG1sTmV3VGV4dFdyaXRlckZpbGVuYW1lOgorICogQHVyaTogIHRoZSBVUkkgb2YgdGhlIHJlc291cmNlIGZvciB0aGUgb3V0cHV0CisgKiBAY29tcHJlc3Npb246ICBjb21wcmVzcyB0aGUgb3V0cHV0PworICoKKyAqIENyZWF0ZSBhIG5ldyB4bWxOZXdUZXh0V3JpdGVyIHN0cnVjdHVyZSB3aXRoIEB1cmkgYXMgb3V0cHV0CisgKgorICogUmV0dXJucyB0aGUgbmV3IHhtbFRleHRXcml0ZXJQdHIgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3htbFRleHRXcml0ZXJQdHIKK3htbE5ld1RleHRXcml0ZXJGaWxlbmFtZShjb25zdCBjaGFyICp1cmksIGludCBjb21wcmVzc2lvbikKK3sKKyAgICB4bWxUZXh0V3JpdGVyUHRyIHJldDsKKyAgICB4bWxPdXRwdXRCdWZmZXJQdHIgb3V0OworCisgICAgb3V0ID0geG1sT3V0cHV0QnVmZmVyQ3JlYXRlRmlsZW5hbWUodXJpLCBOVUxMLCBjb21wcmVzc2lvbik7CisgICAgaWYgKG91dCA9PSBOVUxMKSB7CisgICAgICAgIHhtbFdyaXRlckVyck1zZyhOVUxMLCBYTUxfSU9fRUlPLAorICAgICAgICAgICAgICAgICAgICAgICAgInhtbE5ld1RleHRXcml0ZXJGaWxlbmFtZSA6IGNhbm5vdCBvcGVuIHVyaVxuIik7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKworICAgIHJldCA9IHhtbE5ld1RleHRXcml0ZXIob3V0KTsKKyAgICBpZiAocmV0ID09IE5VTEwpIHsKKyAgICAgICAgeG1sV3JpdGVyRXJyTXNnKE5VTEwsIFhNTF9FUlJfTk9fTUVNT1JZLAorICAgICAgICAgICAgICAgICAgICAgICAgInhtbE5ld1RleHRXcml0ZXJGaWxlbmFtZSA6IG91dCBvZiBtZW1vcnkhXG4iKTsKKyAgICAgICAgeG1sT3V0cHV0QnVmZmVyQ2xvc2Uob3V0KTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCisgICAgcmV0LT5pbmRlbnQgPSAwOworICAgIHJldC0+ZG9pbmRlbnQgPSAwOworICAgIHJldHVybiByZXQ7Cit9CisKKy8qKgorICogeG1sTmV3VGV4dFdyaXRlck1lbW9yeToKKyAqIEBidWY6ICB4bWxCdWZmZXJQdHIKKyAqIEBjb21wcmVzc2lvbjogIGNvbXByZXNzIHRoZSBvdXRwdXQ/CisgKgorICogQ3JlYXRlIGEgbmV3IHhtbE5ld1RleHRXcml0ZXIgc3RydWN0dXJlIHdpdGggQGJ1ZiBhcyBvdXRwdXQKKyAqIFRPRE86IGhhbmRsZSBjb21wcmVzc2lvbgorICoKKyAqIFJldHVybnMgdGhlIG5ldyB4bWxUZXh0V3JpdGVyUHRyIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcgorICovCit4bWxUZXh0V3JpdGVyUHRyCit4bWxOZXdUZXh0V3JpdGVyTWVtb3J5KHhtbEJ1ZmZlclB0ciBidWYsIGludCBjb21wcmVzc2lvbiBBVFRSSUJVVEVfVU5VU0VEKQoreworICAgIHhtbFRleHRXcml0ZXJQdHIgcmV0OworICAgIHhtbE91dHB1dEJ1ZmZlclB0ciBvdXQ7CisKKy8qOjp0b2RvIGhhbmRsZSBjb21wcmVzc2lvbiAqLworICAgIG91dCA9IHhtbE91dHB1dEJ1ZmZlckNyZWF0ZUJ1ZmZlcihidWYsIE5VTEwpOworCisgICAgaWYgKG91dCA9PSBOVUxMKSB7CisgICAgICAgIHhtbFdyaXRlckVyck1zZyhOVUxMLCBYTUxfRVJSX05PX01FTU9SWSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4bWxOZXdUZXh0V3JpdGVyTWVtb3J5IDogb3V0IG9mIG1lbW9yeSFcbiIpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKKyAgICByZXQgPSB4bWxOZXdUZXh0V3JpdGVyKG91dCk7CisgICAgaWYgKHJldCA9PSBOVUxMKSB7CisgICAgICAgIHhtbFdyaXRlckVyck1zZyhOVUxMLCBYTUxfRVJSX05PX01FTU9SWSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4bWxOZXdUZXh0V3JpdGVyTWVtb3J5IDogb3V0IG9mIG1lbW9yeSFcbiIpOworICAgICAgICB4bWxPdXRwdXRCdWZmZXJDbG9zZShvdXQpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKKyAgICByZXR1cm4gcmV0OworfQorCisvKioKKyAqIHhtbE5ld1RleHRXcml0ZXJQdXNoUGFyc2VyOgorICogQGN0eHQ6IHhtbFBhcnNlckN0eHRQdHIgdG8gaG9sZCB0aGUgbmV3IFhNTCBkb2N1bWVudCB0cmVlCisgKiBAY29tcHJlc3Npb246ICBjb21wcmVzcyB0aGUgb3V0cHV0PworICoKKyAqIENyZWF0ZSBhIG5ldyB4bWxOZXdUZXh0V3JpdGVyIHN0cnVjdHVyZSB3aXRoIEBjdHh0IGFzIG91dHB1dAorICogTk9URTogdGhlIEBjdHh0IGNvbnRleHQgd2lsbCBiZSBmcmVlZCB3aXRoIHRoZSByZXN1bHRpbmcgd3JpdGVyCisgKiAgICAgICAoaWYgdGhlIGNhbGwgc3VjY2VlZHMpLgorICogVE9ETzogaGFuZGxlIGNvbXByZXNzaW9uCisgKgorICogUmV0dXJucyB0aGUgbmV3IHhtbFRleHRXcml0ZXJQdHIgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3htbFRleHRXcml0ZXJQdHIKK3htbE5ld1RleHRXcml0ZXJQdXNoUGFyc2VyKHhtbFBhcnNlckN0eHRQdHIgY3R4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBjb21wcmVzc2lvbiBBVFRSSUJVVEVfVU5VU0VEKQoreworICAgIHhtbFRleHRXcml0ZXJQdHIgcmV0OworICAgIHhtbE91dHB1dEJ1ZmZlclB0ciBvdXQ7CisKKyAgICBpZiAoY3R4dCA9PSBOVUxMKSB7CisgICAgICAgIHhtbFdyaXRlckVyck1zZyhOVUxMLCBYTUxfRVJSX0lOVEVSTkFMX0VSUk9SLAorICAgICAgICAgICAgICAgICAgICAgICAgInhtbE5ld1RleHRXcml0ZXJQdXNoUGFyc2VyIDogaW52YWxpZCBjb250ZXh0IVxuIik7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKworICAgIG91dCA9IHhtbE91dHB1dEJ1ZmZlckNyZWF0ZUlPKCh4bWxPdXRwdXRXcml0ZUNhbGxiYWNrKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFRleHRXcml0ZXJXcml0ZURvY0NhbGxiYWNrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh4bWxPdXRwdXRDbG9zZUNhbGxiYWNrKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFRleHRXcml0ZXJDbG9zZURvY0NhbGxiYWNrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2b2lkICopIGN0eHQsIE5VTEwpOworICAgIGlmIChvdXQgPT0gTlVMTCkgeworICAgICAgICB4bWxXcml0ZXJFcnJNc2coTlVMTCwgWE1MX0VSUl9JTlRFUk5BTF9FUlJPUiwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4bWxOZXdUZXh0V3JpdGVyUHVzaFBhcnNlciA6IGVycm9yIGF0IHhtbE91dHB1dEJ1ZmZlckNyZWF0ZUlPIVxuIik7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKworICAgIHJldCA9IHhtbE5ld1RleHRXcml0ZXIob3V0KTsKKyAgICBpZiAocmV0ID09IE5VTEwpIHsKKyAgICAgICAgeG1sV3JpdGVyRXJyTXNnKE5VTEwsIFhNTF9FUlJfSU5URVJOQUxfRVJST1IsCisgICAgICAgICAgICAgICAgICAgICAgICAieG1sTmV3VGV4dFdyaXRlclB1c2hQYXJzZXIgOiBlcnJvciBhdCB4bWxOZXdUZXh0V3JpdGVyIVxuIik7CisgICAgICAgIHhtbE91dHB1dEJ1ZmZlckNsb3NlKG91dCk7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKworICAgIHJldC0+Y3R4dCA9IGN0eHQ7CisKKyAgICByZXR1cm4gcmV0OworfQorCisvKioKKyAqIHhtbE5ld1RleHRXcml0ZXJEb2M6CisgKiBAZG9jOiBhZGRyZXNzIG9mIGEgeG1sRG9jUHRyIHRvIGhvbGQgdGhlIG5ldyBYTUwgZG9jdW1lbnQgdHJlZQorICogQGNvbXByZXNzaW9uOiAgY29tcHJlc3MgdGhlIG91dHB1dD8KKyAqCisgKiBDcmVhdGUgYSBuZXcgeG1sTmV3VGV4dFdyaXRlciBzdHJ1Y3R1cmUgd2l0aCBAKmRvYyBhcyBvdXRwdXQKKyAqCisgKiBSZXR1cm5zIHRoZSBuZXcgeG1sVGV4dFdyaXRlclB0ciBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworeG1sVGV4dFdyaXRlclB0cgoreG1sTmV3VGV4dFdyaXRlckRvYyh4bWxEb2NQdHIgKiBkb2MsIGludCBjb21wcmVzc2lvbikKK3sKKyAgICB4bWxUZXh0V3JpdGVyUHRyIHJldDsKKyAgICB4bWxTQVhIYW5kbGVyIHNheEhhbmRsZXI7CisgICAgeG1sUGFyc2VyQ3R4dFB0ciBjdHh0OworCisgICAgbWVtc2V0KCZzYXhIYW5kbGVyLCAnXDAnLCBzaXplb2Yoc2F4SGFuZGxlcikpOworICAgIHhtbFNBWDJJbml0RGVmYXVsdFNBWEhhbmRsZXIoJnNheEhhbmRsZXIsIDEpOworICAgIHNheEhhbmRsZXIuc3RhcnREb2N1bWVudCA9IHhtbFRleHRXcml0ZXJTdGFydERvY3VtZW50Q2FsbGJhY2s7CisgICAgc2F4SGFuZGxlci5zdGFydEVsZW1lbnQgPSB4bWxTQVgyU3RhcnRFbGVtZW50OworICAgIHNheEhhbmRsZXIuZW5kRWxlbWVudCA9IHhtbFNBWDJFbmRFbGVtZW50OworCisgICAgY3R4dCA9IHhtbENyZWF0ZVB1c2hQYXJzZXJDdHh0KCZzYXhIYW5kbGVyLCBOVUxMLCBOVUxMLCAwLCBOVUxMKTsKKyAgICBpZiAoY3R4dCA9PSBOVUxMKSB7CisgICAgICAgIHhtbFdyaXRlckVyck1zZyhOVUxMLCBYTUxfRVJSX0lOVEVSTkFMX0VSUk9SLAorICAgICAgICAgICAgICAgICJ4bWxOZXdUZXh0V3JpdGVyRG9jIDogZXJyb3IgYXQgeG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQhXG4iKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIC8qCisgICAgICogRm9yIHNvbWUgcmVhc29uIHRoaXMgc2VlbXMgdG8gY29tcGxldGVseSBicmVhayBpZiBub2RlIG5hbWVzCisgICAgICogYXJlIGludGVybmVkLgorICAgICAqLworICAgIGN0eHQtPmRpY3ROYW1lcyA9IDA7CisKKyAgICBjdHh0LT5teURvYyA9IHhtbE5ld0RvYyhCQURfQ0FTVCBYTUxfREVGQVVMVF9WRVJTSU9OKTsKKyAgICBpZiAoY3R4dC0+bXlEb2MgPT0gTlVMTCkgeworICAgICAgICB4bWxGcmVlUGFyc2VyQ3R4dChjdHh0KTsKKyAgICAgICAgeG1sV3JpdGVyRXJyTXNnKE5VTEwsIFhNTF9FUlJfSU5URVJOQUxfRVJST1IsCisgICAgICAgICAgICAgICAgICAgICAgICAieG1sTmV3VGV4dFdyaXRlckRvYyA6IGVycm9yIGF0IHhtbE5ld0RvYyFcbiIpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKKyAgICByZXQgPSB4bWxOZXdUZXh0V3JpdGVyUHVzaFBhcnNlcihjdHh0LCBjb21wcmVzc2lvbik7CisgICAgaWYgKHJldCA9PSBOVUxMKSB7CisgICAgICAgIHhtbEZyZWVEb2MoY3R4dC0+bXlEb2MpOworICAgICAgICB4bWxGcmVlUGFyc2VyQ3R4dChjdHh0KTsKKyAgICAgICAgeG1sV3JpdGVyRXJyTXNnKE5VTEwsIFhNTF9FUlJfSU5URVJOQUxfRVJST1IsCisgICAgICAgICAgICAgICAgInhtbE5ld1RleHRXcml0ZXJEb2MgOiBlcnJvciBhdCB4bWxOZXdUZXh0V3JpdGVyUHVzaFBhcnNlciFcbiIpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKKyAgICB4bWxTZXREb2NDb21wcmVzc01vZGUoY3R4dC0+bXlEb2MsIGNvbXByZXNzaW9uKTsKKworICAgIGlmIChkb2MgIT0gTlVMTCkgeworICAgICAgICAqZG9jID0gY3R4dC0+bXlEb2M7CisJcmV0LT5ub19kb2NfZnJlZSA9IDE7CisgICAgfQorCisgICAgcmV0dXJuIHJldDsKK30KKworLyoqCisgKiB4bWxOZXdUZXh0V3JpdGVyVHJlZToKKyAqIEBkb2M6IHhtbERvY1B0cgorICogQG5vZGU6IHhtbE5vZGVQdHIgb3IgTlVMTCBmb3IgZG9jLT5jaGlsZHJlbgorICogQGNvbXByZXNzaW9uOiAgY29tcHJlc3MgdGhlIG91dHB1dD8KKyAqCisgKiBDcmVhdGUgYSBuZXcgeG1sTmV3VGV4dFdyaXRlciBzdHJ1Y3R1cmUgd2l0aCBAZG9jIGFzIG91dHB1dAorICogc3RhcnRpbmcgYXQgQG5vZGUKKyAqCisgKiBSZXR1cm5zIHRoZSBuZXcgeG1sVGV4dFdyaXRlclB0ciBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworeG1sVGV4dFdyaXRlclB0cgoreG1sTmV3VGV4dFdyaXRlclRyZWUoeG1sRG9jUHRyIGRvYywgeG1sTm9kZVB0ciBub2RlLCBpbnQgY29tcHJlc3Npb24pCit7CisgICAgeG1sVGV4dFdyaXRlclB0ciByZXQ7CisgICAgeG1sU0FYSGFuZGxlciBzYXhIYW5kbGVyOworICAgIHhtbFBhcnNlckN0eHRQdHIgY3R4dDsKKworICAgIGlmIChkb2MgPT0gTlVMTCkgeworICAgICAgICB4bWxXcml0ZXJFcnJNc2coTlVMTCwgWE1MX0VSUl9JTlRFUk5BTF9FUlJPUiwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4bWxOZXdUZXh0V3JpdGVyVHJlZSA6IGludmFsaWQgZG9jdW1lbnQgdHJlZSFcbiIpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKKyAgICBtZW1zZXQoJnNheEhhbmRsZXIsICdcMCcsIHNpemVvZihzYXhIYW5kbGVyKSk7CisgICAgeG1sU0FYMkluaXREZWZhdWx0U0FYSGFuZGxlcigmc2F4SGFuZGxlciwgMSk7CisgICAgc2F4SGFuZGxlci5zdGFydERvY3VtZW50ID0geG1sVGV4dFdyaXRlclN0YXJ0RG9jdW1lbnRDYWxsYmFjazsKKyAgICBzYXhIYW5kbGVyLnN0YXJ0RWxlbWVudCA9IHhtbFNBWDJTdGFydEVsZW1lbnQ7CisgICAgc2F4SGFuZGxlci5lbmRFbGVtZW50ID0geG1sU0FYMkVuZEVsZW1lbnQ7CisKKyAgICBjdHh0ID0geG1sQ3JlYXRlUHVzaFBhcnNlckN0eHQoJnNheEhhbmRsZXIsIE5VTEwsIE5VTEwsIDAsIE5VTEwpOworICAgIGlmIChjdHh0ID09IE5VTEwpIHsKKyAgICAgICAgeG1sV3JpdGVyRXJyTXNnKE5VTEwsIFhNTF9FUlJfSU5URVJOQUxfRVJST1IsCisgICAgICAgICAgICAgICAgICAgICAgICAieG1sTmV3VGV4dFdyaXRlckRvYyA6IGVycm9yIGF0IHhtbENyZWF0ZVB1c2hQYXJzZXJDdHh0IVxuIik7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICAvKgorICAgICAqIEZvciBzb21lIHJlYXNvbiB0aGlzIHNlZW1zIHRvIGNvbXBsZXRlbHkgYnJlYWsgaWYgbm9kZSBuYW1lcworICAgICAqIGFyZSBpbnRlcm5lZC4KKyAgICAgKi8KKyAgICBjdHh0LT5kaWN0TmFtZXMgPSAwOworCisgICAgcmV0ID0geG1sTmV3VGV4dFdyaXRlclB1c2hQYXJzZXIoY3R4dCwgY29tcHJlc3Npb24pOworICAgIGlmIChyZXQgPT0gTlVMTCkgeworICAgICAgICB4bWxGcmVlUGFyc2VyQ3R4dChjdHh0KTsKKyAgICAgICAgeG1sV3JpdGVyRXJyTXNnKE5VTEwsIFhNTF9FUlJfSU5URVJOQUxfRVJST1IsCisgICAgICAgICAgICAgICAgICAgICAgICAieG1sTmV3VGV4dFdyaXRlckRvYyA6IGVycm9yIGF0IHhtbE5ld1RleHRXcml0ZXJQdXNoUGFyc2VyIVxuIik7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKworICAgIGN0eHQtPm15RG9jID0gZG9jOworICAgIGN0eHQtPm5vZGUgPSBub2RlOworICAgIHJldC0+bm9fZG9jX2ZyZWUgPSAxOworCisgICAgeG1sU2V0RG9jQ29tcHJlc3NNb2RlKGRvYywgY29tcHJlc3Npb24pOworCisgICAgcmV0dXJuIHJldDsKK30KKworLyoqCisgKiB4bWxGcmVlVGV4dFdyaXRlcjoKKyAqIEB3cml0ZXI6ICB0aGUgeG1sVGV4dFdyaXRlclB0cgorICoKKyAqIERlYWxsb2NhdGUgYWxsIHRoZSByZXNvdXJjZXMgYXNzb2NpYXRlZCB0byB0aGUgd3JpdGVyCisgKi8KK3ZvaWQKK3htbEZyZWVUZXh0V3JpdGVyKHhtbFRleHRXcml0ZXJQdHIgd3JpdGVyKQoreworICAgIGlmICh3cml0ZXIgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKHdyaXRlci0+b3V0ICE9IE5VTEwpCisgICAgICAgIHhtbE91dHB1dEJ1ZmZlckNsb3NlKHdyaXRlci0+b3V0KTsKKworICAgIGlmICh3cml0ZXItPm5vZGVzICE9IE5VTEwpCisgICAgICAgIHhtbExpc3REZWxldGUod3JpdGVyLT5ub2Rlcyk7CisKKyAgICBpZiAod3JpdGVyLT5uc3N0YWNrICE9IE5VTEwpCisgICAgICAgIHhtbExpc3REZWxldGUod3JpdGVyLT5uc3N0YWNrKTsKKworICAgIGlmICh3cml0ZXItPmN0eHQgIT0gTlVMTCkgeworICAgICAgICBpZiAoKHdyaXRlci0+Y3R4dC0+bXlEb2MgIT0gTlVMTCkgJiYgKHdyaXRlci0+bm9fZG9jX2ZyZWUgPT0gMCkpIHsKKwkgICAgeG1sRnJlZURvYyh3cml0ZXItPmN0eHQtPm15RG9jKTsKKwkgICAgd3JpdGVyLT5jdHh0LT5teURvYyA9IE5VTEw7CisJfQorICAgICAgICB4bWxGcmVlUGFyc2VyQ3R4dCh3cml0ZXItPmN0eHQpOworICAgIH0KKworICAgIGlmICh3cml0ZXItPmRvYyAhPSBOVUxMKQorICAgICAgICB4bWxGcmVlRG9jKHdyaXRlci0+ZG9jKTsKKworICAgIGlmICh3cml0ZXItPmljaGFyICE9IE5VTEwpCisgICAgICAgIHhtbEZyZWUod3JpdGVyLT5pY2hhcik7CisgICAgeG1sRnJlZSh3cml0ZXIpOworfQorCisvKioKKyAqIHhtbFRleHRXcml0ZXJTdGFydERvY3VtZW50OgorICogQHdyaXRlcjogIHRoZSB4bWxUZXh0V3JpdGVyUHRyCisgKiBAdmVyc2lvbjogIHRoZSB4bWwgdmVyc2lvbiAoIjEuMCIpIG9yIE5VTEwgZm9yIGRlZmF1bHQgKCIxLjAiKQorICogQGVuY29kaW5nOiAgdGhlIGVuY29kaW5nIG9yIE5VTEwgZm9yIGRlZmF1bHQKKyAqIEBzdGFuZGFsb25lOiAieWVzIiBvciAibm8iIG9yIE5VTEwgZm9yIGRlZmF1bHQKKyAqCisgKiBTdGFydCBhIG5ldyB4bWwgZG9jdW1lbnQKKyAqCisgKiBSZXR1cm5zIHRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcgorICovCitpbnQKK3htbFRleHRXcml0ZXJTdGFydERvY3VtZW50KHhtbFRleHRXcml0ZXJQdHIgd3JpdGVyLCBjb25zdCBjaGFyICp2ZXJzaW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZW5jb2RpbmcsIGNvbnN0IGNoYXIgKnN0YW5kYWxvbmUpCit7CisgICAgaW50IGNvdW50OworICAgIGludCBzdW07CisgICAgeG1sTGlua1B0ciBsazsKKyAgICB4bWxDaGFyRW5jb2RpbmdIYW5kbGVyUHRyIGVuY29kZXI7CisKKyAgICBpZiAoKHdyaXRlciA9PSBOVUxMKSB8fCAod3JpdGVyLT5vdXQgPT0gTlVMTCkpIHsKKyAgICAgICAgeG1sV3JpdGVyRXJyTXNnKHdyaXRlciwgWE1MX0VSUl9JTlRFUk5BTF9FUlJPUiwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4bWxUZXh0V3JpdGVyU3RhcnREb2N1bWVudCA6IGludmFsaWQgd3JpdGVyIVxuIik7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisKKyAgICBsayA9IHhtbExpc3RGcm9udCh3cml0ZXItPm5vZGVzKTsKKyAgICBpZiAoKGxrICE9IE5VTEwpICYmICh4bWxMaW5rR2V0RGF0YShsaykgIT0gTlVMTCkpIHsKKyAgICAgICAgeG1sV3JpdGVyRXJyTXNnKHdyaXRlciwgWE1MX0VSUl9JTlRFUk5BTF9FUlJPUiwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4bWxUZXh0V3JpdGVyU3RhcnREb2N1bWVudCA6IG5vdCBhbGxvd2VkIGluIHRoaXMgY29udGV4dCFcbiIpOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorCisgICAgZW5jb2RlciA9IE5VTEw7CisgICAgaWYgKGVuY29kaW5nICE9IE5VTEwpIHsKKyAgICAgICAgZW5jb2RlciA9IHhtbEZpbmRDaGFyRW5jb2RpbmdIYW5kbGVyKGVuY29kaW5nKTsKKyAgICAgICAgaWYgKGVuY29kZXIgPT0gTlVMTCkgeworICAgICAgICAgICAgeG1sV3JpdGVyRXJyTXNnKHdyaXRlciwgWE1MX0VSUl9OT19NRU1PUlksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgInhtbFRleHRXcml0ZXJTdGFydERvY3VtZW50IDogb3V0IG9mIG1lbW9yeSFcbiIpOworICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICB9CisgICAgfQorCisgICAgd3JpdGVyLT5vdXQtPmVuY29kZXIgPSBlbmNvZGVyOworICAgIGlmIChlbmNvZGVyICE9IE5VTEwpIHsKKwlpZiAod3JpdGVyLT5vdXQtPmNvbnYgPT0gTlVMTCkgeworCSAgICB3cml0ZXItPm91dC0+Y29udiA9IHhtbEJ1ZkNyZWF0ZVNpemUoNDAwMCk7CisJfQorICAgICAgICB4bWxDaGFyRW5jT3V0cHV0KHdyaXRlci0+b3V0LCAxKTsKKyAgICAgICAgaWYgKCh3cml0ZXItPmRvYyAhPSBOVUxMKSAmJiAod3JpdGVyLT5kb2MtPmVuY29kaW5nID09IE5VTEwpKQorICAgICAgICAgICAgd3JpdGVyLT5kb2MtPmVuY29kaW5nID0geG1sU3RyZHVwKCh4bWxDaGFyICopd3JpdGVyLT5vdXQtPmVuY29kZXItPm5hbWUpOworICAgIH0gZWxzZQorICAgICAgICB3cml0ZXItPm91dC0+Y29udiA9IE5VTEw7CisKKyAgICBzdW0gPSAwOworICAgIGNvdW50ID0geG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcod3JpdGVyLT5vdXQsICI8P3htbCB2ZXJzaW9uPSIpOworICAgIGlmIChjb3VudCA8IDApCisgICAgICAgIHJldHVybiAtMTsKKyAgICBzdW0gKz0gY291bnQ7CisgICAgY291bnQgPSB4bWxPdXRwdXRCdWZmZXJXcml0ZSh3cml0ZXItPm91dCwgMSwgJndyaXRlci0+cWNoYXIpOworICAgIGlmIChjb3VudCA8IDApCisgICAgICAgIHJldHVybiAtMTsKKyAgICBzdW0gKz0gY291bnQ7CisgICAgaWYgKHZlcnNpb24gIT0gMCkKKyAgICAgICAgY291bnQgPSB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyh3cml0ZXItPm91dCwgdmVyc2lvbik7CisgICAgZWxzZQorICAgICAgICBjb3VudCA9IHhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nKHdyaXRlci0+b3V0LCAiMS4wIik7CisgICAgaWYgKGNvdW50IDwgMCkKKyAgICAgICAgcmV0dXJuIC0xOworICAgIHN1bSArPSBjb3VudDsKKyAgICBjb3VudCA9IHhtbE91dHB1dEJ1ZmZlcldyaXRlKHdyaXRlci0+b3V0LCAxLCAmd3JpdGVyLT5xY2hhcik7CisgICAgaWYgKGNvdW50IDwgMCkKKyAgICAgICAgcmV0dXJuIC0xOworICAgIHN1bSArPSBjb3VudDsKKyAgICBpZiAod3JpdGVyLT5vdXQtPmVuY29kZXIgIT0gMCkgeworICAgICAgICBjb3VudCA9IHhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nKHdyaXRlci0+b3V0LCAiIGVuY29kaW5nPSIpOworICAgICAgICBpZiAoY291bnQgPCAwKQorICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICBzdW0gKz0gY291bnQ7CisgICAgICAgIGNvdW50ID0geG1sT3V0cHV0QnVmZmVyV3JpdGUod3JpdGVyLT5vdXQsIDEsICZ3cml0ZXItPnFjaGFyKTsKKyAgICAgICAgaWYgKGNvdW50IDwgMCkKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgc3VtICs9IGNvdW50OworICAgICAgICBjb3VudCA9CisgICAgICAgICAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyh3cml0ZXItPm91dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdyaXRlci0+b3V0LT5lbmNvZGVyLT5uYW1lKTsKKyAgICAgICAgaWYgKGNvdW50IDwgMCkKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgc3VtICs9IGNvdW50OworICAgICAgICBjb3VudCA9IHhtbE91dHB1dEJ1ZmZlcldyaXRlKHdyaXRlci0+b3V0LCAxLCAmd3JpdGVyLT5xY2hhcik7CisgICAgICAgIGlmIChjb3VudCA8IDApCisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIHN1bSArPSBjb3VudDsKKyAgICB9CisKKyAgICBpZiAoc3RhbmRhbG9uZSAhPSAwKSB7CisgICAgICAgIGNvdW50ID0geG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcod3JpdGVyLT5vdXQsICIgc3RhbmRhbG9uZT0iKTsKKyAgICAgICAgaWYgKGNvdW50IDwgMCkKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgc3VtICs9IGNvdW50OworICAgICAgICBjb3VudCA9IHhtbE91dHB1dEJ1ZmZlcldyaXRlKHdyaXRlci0+b3V0LCAxLCAmd3JpdGVyLT5xY2hhcik7CisgICAgICAgIGlmIChjb3VudCA8IDApCisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIHN1bSArPSBjb3VudDsKKyAgICAgICAgY291bnQgPSB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyh3cml0ZXItPm91dCwgc3RhbmRhbG9uZSk7CisgICAgICAgIGlmIChjb3VudCA8IDApCisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIHN1bSArPSBjb3VudDsKKyAgICAgICAgY291bnQgPSB4bWxPdXRwdXRCdWZmZXJXcml0ZSh3cml0ZXItPm91dCwgMSwgJndyaXRlci0+cWNoYXIpOworICAgICAgICBpZiAoY291bnQgPCAwKQorICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICBzdW0gKz0gY291bnQ7CisgICAgfQorCisgICAgY291bnQgPSB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyh3cml0ZXItPm91dCwgIj8+XG4iKTsKKyAgICBpZiAoY291bnQgPCAwKQorICAgICAgICByZXR1cm4gLTE7CisgICAgc3VtICs9IGNvdW50OworCisgICAgcmV0dXJuIHN1bTsKK30KKworLyoqCisgKiB4bWxUZXh0V3JpdGVyRW5kRG9jdW1lbnQ6CisgKiBAd3JpdGVyOiAgdGhlIHhtbFRleHRXcml0ZXJQdHIKKyAqCisgKiBFbmQgYW4geG1sIGRvY3VtZW50LiBBbGwgb3BlbiBlbGVtZW50cyBhcmUgY2xvc2VkLCBhbmQKKyAqIHRoZSBjb250ZW50IGlzIGZsdXNoZWQgdG8gdGhlIG91dHB1dC4KKyAqCisgKiBSZXR1cm5zIHRoZSBieXRlcyB3cml0dGVuIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworaW50Cit4bWxUZXh0V3JpdGVyRW5kRG9jdW1lbnQoeG1sVGV4dFdyaXRlclB0ciB3cml0ZXIpCit7CisgICAgaW50IGNvdW50OworICAgIGludCBzdW07CisgICAgeG1sTGlua1B0ciBsazsKKyAgICB4bWxUZXh0V3JpdGVyU3RhY2tFbnRyeSAqcDsKKworICAgIGlmICh3cml0ZXIgPT0gTlVMTCkgeworICAgICAgICB4bWxXcml0ZXJFcnJNc2cod3JpdGVyLCBYTUxfRVJSX0lOVEVSTkFMX0VSUk9SLAorICAgICAgICAgICAgICAgICAgICAgICAgInhtbFRleHRXcml0ZXJFbmREb2N1bWVudCA6IGludmFsaWQgd3JpdGVyIVxuIik7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisKKyAgICBzdW0gPSAwOworICAgIHdoaWxlICgobGsgPSB4bWxMaXN0RnJvbnQod3JpdGVyLT5ub2RlcykpICE9IE5VTEwpIHsKKyAgICAgICAgcCA9ICh4bWxUZXh0V3JpdGVyU3RhY2tFbnRyeSAqKSB4bWxMaW5rR2V0RGF0YShsayk7CisgICAgICAgIGlmIChwID09IDApCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgc3dpdGNoIChwLT5zdGF0ZSkgeworICAgICAgICAgICAgY2FzZSBYTUxfVEVYVFdSSVRFUl9OQU1FOgorICAgICAgICAgICAgY2FzZSBYTUxfVEVYVFdSSVRFUl9BVFRSSUJVVEU6CisgICAgICAgICAgICBjYXNlIFhNTF9URVhUV1JJVEVSX1RFWFQ6CisgICAgICAgICAgICAgICAgY291bnQgPSB4bWxUZXh0V3JpdGVyRW5kRWxlbWVudCh3cml0ZXIpOworICAgICAgICAgICAgICAgIGlmIChjb3VudCA8IDApCisgICAgICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgICAgICBzdW0gKz0gY291bnQ7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIFhNTF9URVhUV1JJVEVSX1BJOgorICAgICAgICAgICAgY2FzZSBYTUxfVEVYVFdSSVRFUl9QSV9URVhUOgorICAgICAgICAgICAgICAgIGNvdW50ID0geG1sVGV4dFdyaXRlckVuZFBJKHdyaXRlcik7CisgICAgICAgICAgICAgICAgaWYgKGNvdW50IDwgMCkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgICAgIHN1bSArPSBjb3VudDsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgWE1MX1RFWFRXUklURVJfQ0RBVEE6CisgICAgICAgICAgICAgICAgY291bnQgPSB4bWxUZXh0V3JpdGVyRW5kQ0RBVEEod3JpdGVyKTsKKyAgICAgICAgICAgICAgICBpZiAoY291bnQgPCAwKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICAgICAgc3VtICs9IGNvdW50OworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBYTUxfVEVYVFdSSVRFUl9EVEQ6CisgICAgICAgICAgICBjYXNlIFhNTF9URVhUV1JJVEVSX0RURF9URVhUOgorICAgICAgICAgICAgY2FzZSBYTUxfVEVYVFdSSVRFUl9EVERfRUxFTToKKyAgICAgICAgICAgIGNhc2UgWE1MX1RFWFRXUklURVJfRFREX0VMRU1fVEVYVDoKKyAgICAgICAgICAgIGNhc2UgWE1MX1RFWFRXUklURVJfRFREX0FUVEw6CisgICAgICAgICAgICBjYXNlIFhNTF9URVhUV1JJVEVSX0RURF9BVFRMX1RFWFQ6CisgICAgICAgICAgICBjYXNlIFhNTF9URVhUV1JJVEVSX0RURF9FTlRZOgorICAgICAgICAgICAgY2FzZSBYTUxfVEVYVFdSSVRFUl9EVERfRU5UWV9URVhUOgorICAgICAgICAgICAgY2FzZSBYTUxfVEVYVFdSSVRFUl9EVERfUEVOVDoKKyAgICAgICAgICAgICAgICBjb3VudCA9IHhtbFRleHRXcml0ZXJFbmREVEQod3JpdGVyKTsKKyAgICAgICAgICAgICAgICBpZiAoY291bnQgPCAwKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICAgICAgc3VtICs9IGNvdW50OworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBYTUxfVEVYVFdSSVRFUl9DT01NRU5UOgorICAgICAgICAgICAgICAgIGNvdW50ID0geG1sVGV4dFdyaXRlckVuZENvbW1lbnQod3JpdGVyKTsKKyAgICAgICAgICAgICAgICBpZiAoY291bnQgPCAwKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICAgICAgc3VtICs9IGNvdW50OworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgIH0KKworICAgIGlmICghd3JpdGVyLT5pbmRlbnQpIHsKKyAgICAgICAgY291bnQgPSB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyh3cml0ZXItPm91dCwgIlxuIik7CisgICAgICAgIGlmIChjb3VudCA8IDApCisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIHN1bSArPSBjb3VudDsKKyAgICB9CisKKyAgICBzdW0gKz0geG1sVGV4dFdyaXRlckZsdXNoKHdyaXRlcik7CisKKyAgICByZXR1cm4gc3VtOworfQorCisvKioKKyAqIHhtbFRleHRXcml0ZXJTdGFydENvbW1lbnQ6CisgKiBAd3JpdGVyOiAgdGhlIHhtbFRleHRXcml0ZXJQdHIKKyAqCisgKiBTdGFydCBhbiB4bWwgY29tbWVudC4KKyAqCisgKiBSZXR1cm5zIHRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcgorICovCitpbnQKK3htbFRleHRXcml0ZXJTdGFydENvbW1lbnQoeG1sVGV4dFdyaXRlclB0ciB3cml0ZXIpCit7CisgICAgaW50IGNvdW50OworICAgIGludCBzdW07CisgICAgeG1sTGlua1B0ciBsazsKKyAgICB4bWxUZXh0V3JpdGVyU3RhY2tFbnRyeSAqcDsKKworICAgIGlmICh3cml0ZXIgPT0gTlVMTCkgeworICAgICAgICB4bWxXcml0ZXJFcnJNc2cod3JpdGVyLCBYTUxfRVJSX0lOVEVSTkFMX0VSUk9SLAorICAgICAgICAgICAgICAgICAgICAgICAgInhtbFRleHRXcml0ZXJTdGFydENvbW1lbnQgOiBpbnZhbGlkIHdyaXRlciFcbiIpOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorCisgICAgc3VtID0gMDsKKyAgICBsayA9IHhtbExpc3RGcm9udCh3cml0ZXItPm5vZGVzKTsKKyAgICBpZiAobGsgIT0gMCkgeworICAgICAgICBwID0gKHhtbFRleHRXcml0ZXJTdGFja0VudHJ5ICopIHhtbExpbmtHZXREYXRhKGxrKTsKKyAgICAgICAgaWYgKHAgIT0gMCkgeworICAgICAgICAgICAgc3dpdGNoIChwLT5zdGF0ZSkgeworICAgICAgICAgICAgICAgIGNhc2UgWE1MX1RFWFRXUklURVJfVEVYVDoKKyAgICAgICAgICAgICAgICBjYXNlIFhNTF9URVhUV1JJVEVSX05PTkU6CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIGNhc2UgWE1MX1RFWFRXUklURVJfTkFNRToKKyAgICAgICAgICAgICAgICAgICAgLyogT3V0cHV0IG5hbWVzcGFjZSBkZWNsYXJhdGlvbnMgKi8KKyAgICAgICAgICAgICAgICAgICAgY291bnQgPSB4bWxUZXh0V3JpdGVyT3V0cHV0TlNEZWNsKHdyaXRlcik7CisgICAgICAgICAgICAgICAgICAgIGlmIChjb3VudCA8IDApCisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICAgICAgICAgIHN1bSArPSBjb3VudDsKKyAgICAgICAgICAgICAgICAgICAgY291bnQgPSB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyh3cml0ZXItPm91dCwgIj4iKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGNvdW50IDwgMCkKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgICAgICAgICAgc3VtICs9IGNvdW50OworICAgICAgICAgICAgICAgICAgICBpZiAod3JpdGVyLT5pbmRlbnQpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvdW50ID0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyh3cml0ZXItPm91dCwgIlxuIik7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY291bnQgPCAwKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHN1bSArPSBjb3VudDsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBwLT5zdGF0ZSA9IFhNTF9URVhUV1JJVEVSX1RFWFQ7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKworICAgIHAgPSAoeG1sVGV4dFdyaXRlclN0YWNrRW50cnkgKikKKyAgICAgICAgeG1sTWFsbG9jKHNpemVvZih4bWxUZXh0V3JpdGVyU3RhY2tFbnRyeSkpOworICAgIGlmIChwID09IDApIHsKKyAgICAgICAgeG1sV3JpdGVyRXJyTXNnKHdyaXRlciwgWE1MX0VSUl9OT19NRU1PUlksCisgICAgICAgICAgICAgICAgICAgICAgICAieG1sVGV4dFdyaXRlclN0YXJ0RWxlbWVudCA6IG91dCBvZiBtZW1vcnkhXG4iKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKworICAgIHAtPm5hbWUgPSBOVUxMOworICAgIHAtPnN0YXRlID0gWE1MX1RFWFRXUklURVJfQ09NTUVOVDsKKworICAgIHhtbExpc3RQdXNoRnJvbnQod3JpdGVyLT5ub2RlcywgcCk7CisKKyAgICBpZiAod3JpdGVyLT5pbmRlbnQpIHsKKyAgICAgICAgY291bnQgPSB4bWxUZXh0V3JpdGVyV3JpdGVJbmRlbnQod3JpdGVyKTsKKyAgICAgICAgaWYgKGNvdW50IDwgMCkKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgc3VtICs9IGNvdW50OworICAgIH0KKworICAgIGNvdW50ID0geG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcod3JpdGVyLT5vdXQsICI8IS0tIik7CisgICAgaWYgKGNvdW50IDwgMCkKKyAgICAgICAgcmV0dXJuIC0xOworICAgIHN1bSArPSBjb3VudDsKKworICAgIHJldHVybiBzdW07Cit9CisKKy8qKgorICogeG1sVGV4dFdyaXRlckVuZENvbW1lbnQ6CisgKiBAd3JpdGVyOiAgdGhlIHhtbFRleHRXcml0ZXJQdHIKKyAqCisgKiBFbmQgdGhlIGN1cnJlbnQgeG1sIGNvbWVudC4KKyAqCisgKiBSZXR1cm5zIHRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcgorICovCitpbnQKK3htbFRleHRXcml0ZXJFbmRDb21tZW50KHhtbFRleHRXcml0ZXJQdHIgd3JpdGVyKQoreworICAgIGludCBjb3VudDsKKyAgICBpbnQgc3VtOworICAgIHhtbExpbmtQdHIgbGs7CisgICAgeG1sVGV4dFdyaXRlclN0YWNrRW50cnkgKnA7CisKKyAgICBpZiAod3JpdGVyID09IE5VTEwpIHsKKyAgICAgICAgeG1sV3JpdGVyRXJyTXNnKHdyaXRlciwgWE1MX0VSUl9JTlRFUk5BTF9FUlJPUiwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4bWxUZXh0V3JpdGVyRW5kQ29tbWVudCA6IGludmFsaWQgd3JpdGVyIVxuIik7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisKKyAgICBsayA9IHhtbExpc3RGcm9udCh3cml0ZXItPm5vZGVzKTsKKyAgICBpZiAobGsgPT0gMCkgeworICAgICAgICB4bWxXcml0ZXJFcnJNc2cod3JpdGVyLCBYTUxfRVJSX0lOVEVSTkFMX0VSUk9SLAorICAgICAgICAgICAgICAgICAgICAgICAgInhtbFRleHRXcml0ZXJFbmRDb21tZW50IDogbm90IGFsbG93ZWQgaW4gdGhpcyBjb250ZXh0IVxuIik7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisKKyAgICBwID0gKHhtbFRleHRXcml0ZXJTdGFja0VudHJ5ICopIHhtbExpbmtHZXREYXRhKGxrKTsKKyAgICBpZiAocCA9PSAwKQorICAgICAgICByZXR1cm4gLTE7CisKKyAgICBzdW0gPSAwOworICAgIHN3aXRjaCAocC0+c3RhdGUpIHsKKyAgICAgICAgY2FzZSBYTUxfVEVYVFdSSVRFUl9DT01NRU5UOgorICAgICAgICAgICAgY291bnQgPSB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyh3cml0ZXItPm91dCwgIi0tPiIpOworICAgICAgICAgICAgaWYgKGNvdW50IDwgMCkKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICBzdW0gKz0gY291bnQ7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisKKyAgICBpZiAod3JpdGVyLT5pbmRlbnQpIHsKKyAgICAgICAgY291bnQgPSB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyh3cml0ZXItPm91dCwgIlxuIik7CisgICAgICAgIGlmIChjb3VudCA8IDApCisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIHN1bSArPSBjb3VudDsKKyAgICB9CisKKyAgICB4bWxMaXN0UG9wRnJvbnQod3JpdGVyLT5ub2Rlcyk7CisgICAgcmV0dXJuIHN1bTsKK30KKworLyoqCisgKiB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRDb21tZW50OgorICogQHdyaXRlcjogIHRoZSB4bWxUZXh0V3JpdGVyUHRyCisgKiBAZm9ybWF0OiAgZm9ybWF0IHN0cmluZyAoc2VlIHByaW50ZikKKyAqIEAuLi46ICBleHRyYSBwYXJhbWV0ZXJzIGZvciB0aGUgZm9ybWF0CisgKgorICogV3JpdGUgYW4geG1sIGNvbW1lbnQuCisgKgorICogUmV0dXJucyB0aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworaW50IFhNTENERUNMCit4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRDb21tZW50KHhtbFRleHRXcml0ZXJQdHIgd3JpdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpmb3JtYXQsIC4uLikKK3sKKyAgICBpbnQgcmM7CisgICAgdmFfbGlzdCBhcDsKKworICAgIHZhX3N0YXJ0KGFwLCBmb3JtYXQpOworCisgICAgcmMgPSB4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0Q29tbWVudCh3cml0ZXIsIGZvcm1hdCwgYXApOworCisgICAgdmFfZW5kKGFwKTsKKyAgICByZXR1cm4gcmM7Cit9CisKKy8qKgorICogeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdENvbW1lbnQ6CisgKiBAd3JpdGVyOiAgdGhlIHhtbFRleHRXcml0ZXJQdHIKKyAqIEBmb3JtYXQ6ICBmb3JtYXQgc3RyaW5nIChzZWUgcHJpbnRmKQorICogQGFyZ3B0cjogIHBvaW50ZXIgdG8gdGhlIGZpcnN0IG1lbWJlciBvZiB0aGUgdmFyaWFibGUgYXJndW1lbnQgbGlzdC4KKyAqCisgKiBXcml0ZSBhbiB4bWwgY29tbWVudC4KKyAqCisgKiBSZXR1cm5zIHRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcgorICovCitpbnQKK3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRDb21tZW50KHhtbFRleHRXcml0ZXJQdHIgd3JpdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZm9ybWF0LCB2YV9saXN0IGFyZ3B0cikKK3sKKyAgICBpbnQgcmM7CisgICAgeG1sQ2hhciAqYnVmOworCisgICAgaWYgKHdyaXRlciA9PSBOVUxMKSB7CisgICAgICAgIHhtbFdyaXRlckVyck1zZyh3cml0ZXIsIFhNTF9FUlJfSU5URVJOQUxfRVJST1IsCisgICAgICAgICAgICAgICAgICAgICAgICAieG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdENvbW1lbnQgOiBpbnZhbGlkIHdyaXRlciFcbiIpOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorCisgICAgYnVmID0geG1sVGV4dFdyaXRlclZTcHJpbnRmKGZvcm1hdCwgYXJncHRyKTsKKyAgICBpZiAoYnVmID09IE5VTEwpCisgICAgICAgIHJldHVybiAtMTsKKworICAgIHJjID0geG1sVGV4dFdyaXRlcldyaXRlQ29tbWVudCh3cml0ZXIsIGJ1Zik7CisKKyAgICB4bWxGcmVlKGJ1Zik7CisgICAgcmV0dXJuIHJjOworfQorCisvKioKKyAqIHhtbFRleHRXcml0ZXJXcml0ZUNvbW1lbnQ6CisgKiBAd3JpdGVyOiAgdGhlIHhtbFRleHRXcml0ZXJQdHIKKyAqIEBjb250ZW50OiAgY29tbWVudCBzdHJpbmcKKyAqCisgKiBXcml0ZSBhbiB4bWwgY29tbWVudC4KKyAqCisgKiBSZXR1cm5zIHRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcgorICovCitpbnQKK3htbFRleHRXcml0ZXJXcml0ZUNvbW1lbnQoeG1sVGV4dFdyaXRlclB0ciB3cml0ZXIsIGNvbnN0IHhtbENoYXIgKiBjb250ZW50KQoreworICAgIGludCBjb3VudDsKKyAgICBpbnQgc3VtOworCisgICAgc3VtID0gMDsKKyAgICBjb3VudCA9IHhtbFRleHRXcml0ZXJTdGFydENvbW1lbnQod3JpdGVyKTsKKyAgICBpZiAoY291bnQgPCAwKQorICAgICAgICByZXR1cm4gLTE7CisgICAgc3VtICs9IGNvdW50OworICAgIGNvdW50ID0geG1sVGV4dFdyaXRlcldyaXRlU3RyaW5nKHdyaXRlciwgY29udGVudCk7CisgICAgaWYgKGNvdW50IDwgMCkKKyAgICAgICAgcmV0dXJuIC0xOworICAgIHN1bSArPSBjb3VudDsKKyAgICBjb3VudCA9IHhtbFRleHRXcml0ZXJFbmRDb21tZW50KHdyaXRlcik7CisgICAgaWYgKGNvdW50IDwgMCkKKyAgICAgICAgcmV0dXJuIC0xOworICAgIHN1bSArPSBjb3VudDsKKworICAgIHJldHVybiBzdW07Cit9CisKKy8qKgorICogeG1sVGV4dFdyaXRlclN0YXJ0RWxlbWVudDoKKyAqIEB3cml0ZXI6ICB0aGUgeG1sVGV4dFdyaXRlclB0cgorICogQG5hbWU6ICBlbGVtZW50IG5hbWUKKyAqCisgKiBTdGFydCBhbiB4bWwgZWxlbWVudC4KKyAqCisgKiBSZXR1cm5zIHRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcgorICovCitpbnQKK3htbFRleHRXcml0ZXJTdGFydEVsZW1lbnQoeG1sVGV4dFdyaXRlclB0ciB3cml0ZXIsIGNvbnN0IHhtbENoYXIgKiBuYW1lKQoreworICAgIGludCBjb3VudDsKKyAgICBpbnQgc3VtOworICAgIHhtbExpbmtQdHIgbGs7CisgICAgeG1sVGV4dFdyaXRlclN0YWNrRW50cnkgKnA7CisKKyAgICBpZiAoKHdyaXRlciA9PSBOVUxMKSB8fCAobmFtZSA9PSBOVUxMKSB8fCAoKm5hbWUgPT0gJ1wwJykpCisgICAgICAgIHJldHVybiAtMTsKKworICAgIHN1bSA9IDA7CisgICAgbGsgPSB4bWxMaXN0RnJvbnQod3JpdGVyLT5ub2Rlcyk7CisgICAgaWYgKGxrICE9IDApIHsKKyAgICAgICAgcCA9ICh4bWxUZXh0V3JpdGVyU3RhY2tFbnRyeSAqKSB4bWxMaW5rR2V0RGF0YShsayk7CisgICAgICAgIGlmIChwICE9IDApIHsKKyAgICAgICAgICAgIHN3aXRjaCAocC0+c3RhdGUpIHsKKyAgICAgICAgICAgICAgICBjYXNlIFhNTF9URVhUV1JJVEVSX1BJOgorICAgICAgICAgICAgICAgIGNhc2UgWE1MX1RFWFRXUklURVJfUElfVEVYVDoKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgICAgIGNhc2UgWE1MX1RFWFRXUklURVJfTk9ORToKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisJCQkJY2FzZSBYTUxfVEVYVFdSSVRFUl9BVFRSSUJVVEU6CisJCQkJCWNvdW50ID0geG1sVGV4dFdyaXRlckVuZEF0dHJpYnV0ZSh3cml0ZXIpOworCQkJCQlpZiAoY291bnQgPCAwKQorCQkJCQkJcmV0dXJuIC0xOworCQkJCQlzdW0gKz0gY291bnQ7CisJCQkJCS8qIGZhbGx0aHJvdWdoICovCisgICAgICAgICAgICAgICAgY2FzZSBYTUxfVEVYVFdSSVRFUl9OQU1FOgorICAgICAgICAgICAgICAgICAgICAvKiBPdXRwdXQgbmFtZXNwYWNlIGRlY2xhcmF0aW9ucyAqLworICAgICAgICAgICAgICAgICAgICBjb3VudCA9IHhtbFRleHRXcml0ZXJPdXRwdXROU0RlY2wod3JpdGVyKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGNvdW50IDwgMCkKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgICAgICAgICAgc3VtICs9IGNvdW50OworICAgICAgICAgICAgICAgICAgICBjb3VudCA9IHhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nKHdyaXRlci0+b3V0LCAiPiIpOworICAgICAgICAgICAgICAgICAgICBpZiAoY291bnQgPCAwKQorICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgICAgICAgICBzdW0gKz0gY291bnQ7CisgICAgICAgICAgICAgICAgICAgIGlmICh3cml0ZXItPmluZGVudCkKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvdW50ID0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyh3cml0ZXItPm91dCwgIlxuIik7CisgICAgICAgICAgICAgICAgICAgIHAtPnN0YXRlID0gWE1MX1RFWFRXUklURVJfVEVYVDsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisKKyAgICBwID0gKHhtbFRleHRXcml0ZXJTdGFja0VudHJ5ICopCisgICAgICAgIHhtbE1hbGxvYyhzaXplb2YoeG1sVGV4dFdyaXRlclN0YWNrRW50cnkpKTsKKyAgICBpZiAocCA9PSAwKSB7CisgICAgICAgIHhtbFdyaXRlckVyck1zZyh3cml0ZXIsIFhNTF9FUlJfTk9fTUVNT1JZLAorICAgICAgICAgICAgICAgICAgICAgICAgInhtbFRleHRXcml0ZXJTdGFydEVsZW1lbnQgOiBvdXQgb2YgbWVtb3J5IVxuIik7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisKKyAgICBwLT5uYW1lID0geG1sU3RyZHVwKG5hbWUpOworICAgIGlmIChwLT5uYW1lID09IDApIHsKKyAgICAgICAgeG1sV3JpdGVyRXJyTXNnKHdyaXRlciwgWE1MX0VSUl9OT19NRU1PUlksCisgICAgICAgICAgICAgICAgICAgICAgICAieG1sVGV4dFdyaXRlclN0YXJ0RWxlbWVudCA6IG91dCBvZiBtZW1vcnkhXG4iKTsKKyAgICAgICAgeG1sRnJlZShwKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKyAgICBwLT5zdGF0ZSA9IFhNTF9URVhUV1JJVEVSX05BTUU7CisKKyAgICB4bWxMaXN0UHVzaEZyb250KHdyaXRlci0+bm9kZXMsIHApOworCisgICAgaWYgKHdyaXRlci0+aW5kZW50KSB7CisgICAgICAgIGNvdW50ID0geG1sVGV4dFdyaXRlcldyaXRlSW5kZW50KHdyaXRlcik7CisgICAgICAgIHN1bSArPSBjb3VudDsKKyAgICB9CisKKyAgICBjb3VudCA9IHhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nKHdyaXRlci0+b3V0LCAiPCIpOworICAgIGlmIChjb3VudCA8IDApCisgICAgICAgIHJldHVybiAtMTsKKyAgICBzdW0gKz0gY291bnQ7CisgICAgY291bnQgPQorICAgICAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyh3cml0ZXItPm91dCwgKGNvbnN0IGNoYXIgKikgcC0+bmFtZSk7CisgICAgaWYgKGNvdW50IDwgMCkKKyAgICAgICAgcmV0dXJuIC0xOworICAgIHN1bSArPSBjb3VudDsKKworICAgIHJldHVybiBzdW07Cit9CisKKy8qKgorICogeG1sVGV4dFdyaXRlclN0YXJ0RWxlbWVudE5TOgorICogQHdyaXRlcjogIHRoZSB4bWxUZXh0V3JpdGVyUHRyCisgKiBAcHJlZml4OiAgbmFtZXNwYWNlIHByZWZpeCBvciBOVUxMCisgKiBAbmFtZTogIGVsZW1lbnQgbG9jYWwgbmFtZQorICogQG5hbWVzcGFjZVVSSTogIG5hbWVzcGFjZSBVUkkgb3IgTlVMTAorICoKKyAqIFN0YXJ0IGFuIHhtbCBlbGVtZW50IHdpdGggbmFtZXNwYWNlIHN1cHBvcnQuCisgKgorICogUmV0dXJucyB0aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworaW50Cit4bWxUZXh0V3JpdGVyU3RhcnRFbGVtZW50TlMoeG1sVGV4dFdyaXRlclB0ciB3cml0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIHByZWZpeCwgY29uc3QgeG1sQ2hhciAqIG5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIG5hbWVzcGFjZVVSSSkKK3sKKyAgICBpbnQgY291bnQ7CisgICAgaW50IHN1bTsKKyAgICB4bWxDaGFyICpidWY7CisKKyAgICBpZiAoKHdyaXRlciA9PSBOVUxMKSB8fCAobmFtZSA9PSBOVUxMKSB8fCAoKm5hbWUgPT0gJ1wwJykpCisgICAgICAgIHJldHVybiAtMTsKKworICAgIGJ1ZiA9IE5VTEw7CisgICAgaWYgKHByZWZpeCAhPSAwKSB7CisgICAgICAgIGJ1ZiA9IHhtbFN0cmR1cChwcmVmaXgpOworICAgICAgICBidWYgPSB4bWxTdHJjYXQoYnVmLCBCQURfQ0FTVCAiOiIpOworICAgIH0KKyAgICBidWYgPSB4bWxTdHJjYXQoYnVmLCBuYW1lKTsKKworICAgIHN1bSA9IDA7CisgICAgY291bnQgPSB4bWxUZXh0V3JpdGVyU3RhcnRFbGVtZW50KHdyaXRlciwgYnVmKTsKKyAgICB4bWxGcmVlKGJ1Zik7CisgICAgaWYgKGNvdW50IDwgMCkKKyAgICAgICAgcmV0dXJuIC0xOworICAgIHN1bSArPSBjb3VudDsKKworICAgIGlmIChuYW1lc3BhY2VVUkkgIT0gMCkgeworICAgICAgICB4bWxUZXh0V3JpdGVyTnNTdGFja0VudHJ5ICpwID0gKHhtbFRleHRXcml0ZXJOc1N0YWNrRW50cnkgKikKKyAgICAgICAgeG1sTWFsbG9jKHNpemVvZih4bWxUZXh0V3JpdGVyTnNTdGFja0VudHJ5KSk7CisgICAgICAgIGlmIChwID09IDApIHsKKyAgICAgICAgICAgIHhtbFdyaXRlckVyck1zZyh3cml0ZXIsIFhNTF9FUlJfTk9fTUVNT1JZLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ4bWxUZXh0V3JpdGVyU3RhcnRFbGVtZW50TlMgOiBvdXQgb2YgbWVtb3J5IVxuIik7CisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIH0KKworICAgICAgICBidWYgPSB4bWxTdHJkdXAoQkFEX0NBU1QgInhtbG5zIik7CisgICAgICAgIGlmIChwcmVmaXggIT0gMCkgeworICAgICAgICAgICAgYnVmID0geG1sU3RyY2F0KGJ1ZiwgQkFEX0NBU1QgIjoiKTsKKyAgICAgICAgICAgIGJ1ZiA9IHhtbFN0cmNhdChidWYsIHByZWZpeCk7CisgICAgICAgIH0KKworICAgICAgICBwLT5wcmVmaXggPSBidWY7CisgICAgICAgIHAtPnVyaSA9IHhtbFN0cmR1cChuYW1lc3BhY2VVUkkpOworICAgICAgICBpZiAocC0+dXJpID09IDApIHsKKyAgICAgICAgICAgIHhtbFdyaXRlckVyck1zZyh3cml0ZXIsIFhNTF9FUlJfTk9fTUVNT1JZLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ4bWxUZXh0V3JpdGVyU3RhcnRFbGVtZW50TlMgOiBvdXQgb2YgbWVtb3J5IVxuIik7CisgICAgICAgICAgICB4bWxGcmVlKHApOworICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICB9CisgICAgICAgIHAtPmVsZW0gPSB4bWxMaXN0RnJvbnQod3JpdGVyLT5ub2Rlcyk7CisKKyAgICAgICAgeG1sTGlzdFB1c2hGcm9udCh3cml0ZXItPm5zc3RhY2ssIHApOworICAgIH0KKworICAgIHJldHVybiBzdW07Cit9CisKKy8qKgorICogeG1sVGV4dFdyaXRlckVuZEVsZW1lbnQ6CisgKiBAd3JpdGVyOiAgdGhlIHhtbFRleHRXcml0ZXJQdHIKKyAqCisgKiBFbmQgdGhlIGN1cnJlbnQgeG1sIGVsZW1lbnQuCisgKgorICogUmV0dXJucyB0aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworaW50Cit4bWxUZXh0V3JpdGVyRW5kRWxlbWVudCh4bWxUZXh0V3JpdGVyUHRyIHdyaXRlcikKK3sKKyAgICBpbnQgY291bnQ7CisgICAgaW50IHN1bTsKKyAgICB4bWxMaW5rUHRyIGxrOworICAgIHhtbFRleHRXcml0ZXJTdGFja0VudHJ5ICpwOworCisgICAgaWYgKHdyaXRlciA9PSBOVUxMKQorICAgICAgICByZXR1cm4gLTE7CisKKyAgICBsayA9IHhtbExpc3RGcm9udCh3cml0ZXItPm5vZGVzKTsKKyAgICBpZiAobGsgPT0gMCkgeworICAgICAgICB4bWxMaXN0RGVsZXRlKHdyaXRlci0+bnNzdGFjayk7CisgICAgICAgIHdyaXRlci0+bnNzdGFjayA9IE5VTEw7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisKKyAgICBwID0gKHhtbFRleHRXcml0ZXJTdGFja0VudHJ5ICopIHhtbExpbmtHZXREYXRhKGxrKTsKKyAgICBpZiAocCA9PSAwKSB7CisgICAgICAgIHhtbExpc3REZWxldGUod3JpdGVyLT5uc3N0YWNrKTsKKyAgICAgICAgd3JpdGVyLT5uc3N0YWNrID0gTlVMTDsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKworICAgIHN1bSA9IDA7CisgICAgc3dpdGNoIChwLT5zdGF0ZSkgeworICAgICAgICBjYXNlIFhNTF9URVhUV1JJVEVSX0FUVFJJQlVURToKKyAgICAgICAgICAgIGNvdW50ID0geG1sVGV4dFdyaXRlckVuZEF0dHJpYnV0ZSh3cml0ZXIpOworICAgICAgICAgICAgaWYgKGNvdW50IDwgMCkgeworICAgICAgICAgICAgICAgIHhtbExpc3REZWxldGUod3JpdGVyLT5uc3N0YWNrKTsKKyAgICAgICAgICAgICAgICB3cml0ZXItPm5zc3RhY2sgPSBOVUxMOworICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHN1bSArPSBjb3VudDsKKyAgICAgICAgICAgIC8qIGZhbGx0aHJvdWdoICovCisgICAgICAgIGNhc2UgWE1MX1RFWFRXUklURVJfTkFNRToKKyAgICAgICAgICAgIC8qIE91dHB1dCBuYW1lc3BhY2UgZGVjbGFyYXRpb25zICovCisgICAgICAgICAgICBjb3VudCA9IHhtbFRleHRXcml0ZXJPdXRwdXROU0RlY2wod3JpdGVyKTsKKyAgICAgICAgICAgIGlmIChjb3VudCA8IDApCisgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgc3VtICs9IGNvdW50OworCisgICAgICAgICAgICBpZiAod3JpdGVyLT5pbmRlbnQpIC8qIG5leHQgZWxlbWVudCBuZWVkcyBpbmRlbnQgKi8KKyAgICAgICAgICAgICAgICB3cml0ZXItPmRvaW5kZW50ID0gMTsKKyAgICAgICAgICAgIGNvdW50ID0geG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcod3JpdGVyLT5vdXQsICIvPiIpOworICAgICAgICAgICAgaWYgKGNvdW50IDwgMCkKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICBzdW0gKz0gY291bnQ7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYTUxfVEVYVFdSSVRFUl9URVhUOgorICAgICAgICAgICAgaWYgKCh3cml0ZXItPmluZGVudCkgJiYgKHdyaXRlci0+ZG9pbmRlbnQpKSB7CisgICAgICAgICAgICAgICAgY291bnQgPSB4bWxUZXh0V3JpdGVyV3JpdGVJbmRlbnQod3JpdGVyKTsKKyAgICAgICAgICAgICAgICBzdW0gKz0gY291bnQ7CisgICAgICAgICAgICAgICAgd3JpdGVyLT5kb2luZGVudCA9IDE7CisgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgICAgICB3cml0ZXItPmRvaW5kZW50ID0gMTsKKyAgICAgICAgICAgIGNvdW50ID0geG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcod3JpdGVyLT5vdXQsICI8LyIpOworICAgICAgICAgICAgaWYgKGNvdW50IDwgMCkKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICBzdW0gKz0gY291bnQ7CisgICAgICAgICAgICBjb3VudCA9IHhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nKHdyaXRlci0+b3V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29uc3QgY2hhciAqKSBwLT5uYW1lKTsKKyAgICAgICAgICAgIGlmIChjb3VudCA8IDApCisgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgc3VtICs9IGNvdW50OworICAgICAgICAgICAgY291bnQgPSB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyh3cml0ZXItPm91dCwgIj4iKTsKKyAgICAgICAgICAgIGlmIChjb3VudCA8IDApCisgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgc3VtICs9IGNvdW50OworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgfQorCisgICAgaWYgKHdyaXRlci0+aW5kZW50KSB7CisgICAgICAgIGNvdW50ID0geG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcod3JpdGVyLT5vdXQsICJcbiIpOworICAgICAgICBzdW0gKz0gY291bnQ7CisgICAgfQorCisgICAgeG1sTGlzdFBvcEZyb250KHdyaXRlci0+bm9kZXMpOworICAgIHJldHVybiBzdW07Cit9CisKKy8qKgorICogeG1sVGV4dFdyaXRlckZ1bGxFbmRFbGVtZW50OgorICogQHdyaXRlcjogIHRoZSB4bWxUZXh0V3JpdGVyUHRyCisgKgorICogRW5kIHRoZSBjdXJyZW50IHhtbCBlbGVtZW50LiBXcml0ZXMgYW4gZW5kIHRhZyBldmVuIGlmIHRoZSBlbGVtZW50IGlzIGVtcHR5CisgKgorICogUmV0dXJucyB0aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworaW50Cit4bWxUZXh0V3JpdGVyRnVsbEVuZEVsZW1lbnQoeG1sVGV4dFdyaXRlclB0ciB3cml0ZXIpCit7CisgICAgaW50IGNvdW50OworICAgIGludCBzdW07CisgICAgeG1sTGlua1B0ciBsazsKKyAgICB4bWxUZXh0V3JpdGVyU3RhY2tFbnRyeSAqcDsKKworICAgIGlmICh3cml0ZXIgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIC0xOworCisgICAgbGsgPSB4bWxMaXN0RnJvbnQod3JpdGVyLT5ub2Rlcyk7CisgICAgaWYgKGxrID09IDApCisgICAgICAgIHJldHVybiAtMTsKKworICAgIHAgPSAoeG1sVGV4dFdyaXRlclN0YWNrRW50cnkgKikgeG1sTGlua0dldERhdGEobGspOworICAgIGlmIChwID09IDApCisgICAgICAgIHJldHVybiAtMTsKKworICAgIHN1bSA9IDA7CisgICAgc3dpdGNoIChwLT5zdGF0ZSkgeworICAgICAgICBjYXNlIFhNTF9URVhUV1JJVEVSX0FUVFJJQlVURToKKyAgICAgICAgICAgIGNvdW50ID0geG1sVGV4dFdyaXRlckVuZEF0dHJpYnV0ZSh3cml0ZXIpOworICAgICAgICAgICAgaWYgKGNvdW50IDwgMCkKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICBzdW0gKz0gY291bnQ7CisgICAgICAgICAgICAvKiBmYWxsdGhyb3VnaCAqLworICAgICAgICBjYXNlIFhNTF9URVhUV1JJVEVSX05BTUU6CisgICAgICAgICAgICAvKiBPdXRwdXQgbmFtZXNwYWNlIGRlY2xhcmF0aW9ucyAqLworICAgICAgICAgICAgY291bnQgPSB4bWxUZXh0V3JpdGVyT3V0cHV0TlNEZWNsKHdyaXRlcik7CisgICAgICAgICAgICBpZiAoY291bnQgPCAwKQorICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgIHN1bSArPSBjb3VudDsKKworICAgICAgICAgICAgY291bnQgPSB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyh3cml0ZXItPm91dCwgIj4iKTsKKyAgICAgICAgICAgIGlmIChjb3VudCA8IDApCisgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgc3VtICs9IGNvdW50OworICAgICAgICAgICAgaWYgKHdyaXRlci0+aW5kZW50KQorICAgICAgICAgICAgICAgIHdyaXRlci0+ZG9pbmRlbnQgPSAwOworICAgICAgICAgICAgLyogZmFsbHRocm91Z2ggKi8KKyAgICAgICAgY2FzZSBYTUxfVEVYVFdSSVRFUl9URVhUOgorICAgICAgICAgICAgaWYgKCh3cml0ZXItPmluZGVudCkgJiYgKHdyaXRlci0+ZG9pbmRlbnQpKSB7CisgICAgICAgICAgICAgICAgY291bnQgPSB4bWxUZXh0V3JpdGVyV3JpdGVJbmRlbnQod3JpdGVyKTsKKyAgICAgICAgICAgICAgICBzdW0gKz0gY291bnQ7CisgICAgICAgICAgICAgICAgd3JpdGVyLT5kb2luZGVudCA9IDE7CisgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgICAgICB3cml0ZXItPmRvaW5kZW50ID0gMTsKKyAgICAgICAgICAgIGNvdW50ID0geG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcod3JpdGVyLT5vdXQsICI8LyIpOworICAgICAgICAgICAgaWYgKGNvdW50IDwgMCkKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICBzdW0gKz0gY291bnQ7CisgICAgICAgICAgICBjb3VudCA9IHhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nKHdyaXRlci0+b3V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29uc3QgY2hhciAqKSBwLT5uYW1lKTsKKyAgICAgICAgICAgIGlmIChjb3VudCA8IDApCisgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgc3VtICs9IGNvdW50OworICAgICAgICAgICAgY291bnQgPSB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyh3cml0ZXItPm91dCwgIj4iKTsKKyAgICAgICAgICAgIGlmIChjb3VudCA8IDApCisgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgc3VtICs9IGNvdW50OworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgfQorCisgICAgaWYgKHdyaXRlci0+aW5kZW50KSB7CisgICAgICAgIGNvdW50ID0geG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcod3JpdGVyLT5vdXQsICJcbiIpOworICAgICAgICBzdW0gKz0gY291bnQ7CisgICAgfQorCisgICAgeG1sTGlzdFBvcEZyb250KHdyaXRlci0+bm9kZXMpOworICAgIHJldHVybiBzdW07Cit9CisKKy8qKgorICogeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0UmF3OgorICogQHdyaXRlcjogIHRoZSB4bWxUZXh0V3JpdGVyUHRyCisgKiBAZm9ybWF0OiAgZm9ybWF0IHN0cmluZyAoc2VlIHByaW50ZikKKyAqIEAuLi46ICBleHRyYSBwYXJhbWV0ZXJzIGZvciB0aGUgZm9ybWF0CisgKgorICogV3JpdGUgYSBmb3JtYXR0ZWQgcmF3IHhtbCB0ZXh0LgorICoKKyAqIFJldHVybnMgdGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK2ludCBYTUxDREVDTAoreG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0UmF3KHhtbFRleHRXcml0ZXJQdHIgd3JpdGVyLCBjb25zdCBjaGFyICpmb3JtYXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uKQoreworICAgIGludCByYzsKKyAgICB2YV9saXN0IGFwOworCisgICAgdmFfc3RhcnQoYXAsIGZvcm1hdCk7CisKKyAgICByYyA9IHhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRSYXcod3JpdGVyLCBmb3JtYXQsIGFwKTsKKworICAgIHZhX2VuZChhcCk7CisgICAgcmV0dXJuIHJjOworfQorCisvKioKKyAqIHhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRSYXc6CisgKiBAd3JpdGVyOiAgdGhlIHhtbFRleHRXcml0ZXJQdHIKKyAqIEBmb3JtYXQ6ICBmb3JtYXQgc3RyaW5nIChzZWUgcHJpbnRmKQorICogQGFyZ3B0cjogIHBvaW50ZXIgdG8gdGhlIGZpcnN0IG1lbWJlciBvZiB0aGUgdmFyaWFibGUgYXJndW1lbnQgbGlzdC4KKyAqCisgKiBXcml0ZSBhIGZvcm1hdHRlZCByYXcgeG1sIHRleHQuCisgKgorICogUmV0dXJucyB0aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworaW50Cit4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0UmF3KHhtbFRleHRXcml0ZXJQdHIgd3JpdGVyLCBjb25zdCBjaGFyICpmb3JtYXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhX2xpc3QgYXJncHRyKQoreworICAgIGludCByYzsKKyAgICB4bWxDaGFyICpidWY7CisKKyAgICBpZiAod3JpdGVyID09IE5VTEwpCisgICAgICAgIHJldHVybiAtMTsKKworICAgIGJ1ZiA9IHhtbFRleHRXcml0ZXJWU3ByaW50Zihmb3JtYXQsIGFyZ3B0cik7CisgICAgaWYgKGJ1ZiA9PSBOVUxMKQorICAgICAgICByZXR1cm4gLTE7CisKKyAgICByYyA9IHhtbFRleHRXcml0ZXJXcml0ZVJhdyh3cml0ZXIsIGJ1Zik7CisKKyAgICB4bWxGcmVlKGJ1Zik7CisgICAgcmV0dXJuIHJjOworfQorCisvKioKKyAqIHhtbFRleHRXcml0ZXJXcml0ZVJhd0xlbjoKKyAqIEB3cml0ZXI6ICB0aGUgeG1sVGV4dFdyaXRlclB0cgorICogQGNvbnRlbnQ6ICB0ZXh0IHN0cmluZworICogQGxlbjogIGxlbmd0aCBvZiB0aGUgdGV4dCBzdHJpbmcKKyAqCisgKiBXcml0ZSBhbiB4bWwgdGV4dC4KKyAqIFRPRE86IHdoYXQgYWJvdXQgZW50aXRpZXMgYW5kIHNwZWNpYWwgY2hhcnM/PworICoKKyAqIFJldHVybnMgdGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK2ludAoreG1sVGV4dFdyaXRlcldyaXRlUmF3TGVuKHhtbFRleHRXcml0ZXJQdHIgd3JpdGVyLCBjb25zdCB4bWxDaGFyICogY29udGVudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbGVuKQoreworICAgIGludCBjb3VudDsKKyAgICBpbnQgc3VtOworICAgIHhtbExpbmtQdHIgbGs7CisgICAgeG1sVGV4dFdyaXRlclN0YWNrRW50cnkgKnA7CisKKyAgICBpZiAod3JpdGVyID09IE5VTEwpIHsKKyAgICAgICAgeG1sV3JpdGVyRXJyTXNnKHdyaXRlciwgWE1MX0VSUl9JTlRFUk5BTF9FUlJPUiwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4bWxUZXh0V3JpdGVyV3JpdGVSYXdMZW4gOiBpbnZhbGlkIHdyaXRlciFcbiIpOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorCisgICAgaWYgKChjb250ZW50ID09IE5VTEwpIHx8IChsZW4gPCAwKSkgeworICAgICAgICB4bWxXcml0ZXJFcnJNc2cod3JpdGVyLCBYTUxfRVJSX0lOVEVSTkFMX0VSUk9SLAorICAgICAgICAgICAgICAgICAgICAgICAgInhtbFRleHRXcml0ZXJXcml0ZVJhd0xlbiA6IGludmFsaWQgY29udGVudCFcbiIpOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorCisgICAgc3VtID0gMDsKKyAgICBsayA9IHhtbExpc3RGcm9udCh3cml0ZXItPm5vZGVzKTsKKyAgICBpZiAobGsgIT0gMCkgeworICAgICAgICBwID0gKHhtbFRleHRXcml0ZXJTdGFja0VudHJ5ICopIHhtbExpbmtHZXREYXRhKGxrKTsKKyAgICAgICAgY291bnQgPSB4bWxUZXh0V3JpdGVySGFuZGxlU3RhdGVEZXBlbmRlbmNpZXMod3JpdGVyLCBwKTsKKyAgICAgICAgaWYgKGNvdW50IDwgMCkKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgc3VtICs9IGNvdW50OworICAgIH0KKworICAgIGlmICh3cml0ZXItPmluZGVudCkKKyAgICAgICAgd3JpdGVyLT5kb2luZGVudCA9IDA7CisKKyAgICBpZiAoY29udGVudCAhPSBOVUxMKSB7CisgICAgICAgIGNvdW50ID0KKyAgICAgICAgICAgIHhtbE91dHB1dEJ1ZmZlcldyaXRlKHdyaXRlci0+b3V0LCBsZW4sIChjb25zdCBjaGFyICopIGNvbnRlbnQpOworICAgICAgICBpZiAoY291bnQgPCAwKQorICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICBzdW0gKz0gY291bnQ7CisgICAgfQorCisgICAgcmV0dXJuIHN1bTsKK30KKworLyoqCisgKiB4bWxUZXh0V3JpdGVyV3JpdGVSYXc6CisgKiBAd3JpdGVyOiAgdGhlIHhtbFRleHRXcml0ZXJQdHIKKyAqIEBjb250ZW50OiAgdGV4dCBzdHJpbmcKKyAqCisgKiBXcml0ZSBhIHJhdyB4bWwgdGV4dC4KKyAqCisgKiBSZXR1cm5zIHRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcgorICovCitpbnQKK3htbFRleHRXcml0ZXJXcml0ZVJhdyh4bWxUZXh0V3JpdGVyUHRyIHdyaXRlciwgY29uc3QgeG1sQ2hhciAqIGNvbnRlbnQpCit7CisgICAgcmV0dXJuIHhtbFRleHRXcml0ZXJXcml0ZVJhd0xlbih3cml0ZXIsIGNvbnRlbnQsIHhtbFN0cmxlbihjb250ZW50KSk7Cit9CisKKy8qKgorICogeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0U3RyaW5nOgorICogQHdyaXRlcjogIHRoZSB4bWxUZXh0V3JpdGVyUHRyCisgKiBAZm9ybWF0OiAgZm9ybWF0IHN0cmluZyAoc2VlIHByaW50ZikKKyAqIEAuLi46ICBleHRyYSBwYXJhbWV0ZXJzIGZvciB0aGUgZm9ybWF0CisgKgorICogV3JpdGUgYSBmb3JtYXR0ZWQgeG1sIHRleHQuCisgKgorICogUmV0dXJucyB0aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworaW50IFhNTENERUNMCit4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRTdHJpbmcoeG1sVGV4dFdyaXRlclB0ciB3cml0ZXIsIGNvbnN0IGNoYXIgKmZvcm1hdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi4pCit7CisgICAgaW50IHJjOworICAgIHZhX2xpc3QgYXA7CisKKyAgICBpZiAoKHdyaXRlciA9PSBOVUxMKSB8fCAoZm9ybWF0ID09IE5VTEwpKQorICAgICAgICByZXR1cm4gLTE7CisKKyAgICB2YV9zdGFydChhcCwgZm9ybWF0KTsKKworICAgIHJjID0geG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdFN0cmluZyh3cml0ZXIsIGZvcm1hdCwgYXApOworCisgICAgdmFfZW5kKGFwKTsKKyAgICByZXR1cm4gcmM7Cit9CisKKy8qKgorICogeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdFN0cmluZzoKKyAqIEB3cml0ZXI6ICB0aGUgeG1sVGV4dFdyaXRlclB0cgorICogQGZvcm1hdDogIGZvcm1hdCBzdHJpbmcgKHNlZSBwcmludGYpCisgKiBAYXJncHRyOiAgcG9pbnRlciB0byB0aGUgZmlyc3QgbWVtYmVyIG9mIHRoZSB2YXJpYWJsZSBhcmd1bWVudCBsaXN0LgorICoKKyAqIFdyaXRlIGEgZm9ybWF0dGVkIHhtbCB0ZXh0LgorICoKKyAqIFJldHVybnMgdGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK2ludAoreG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdFN0cmluZyh4bWxUZXh0V3JpdGVyUHRyIHdyaXRlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZm9ybWF0LCB2YV9saXN0IGFyZ3B0cikKK3sKKyAgICBpbnQgcmM7CisgICAgeG1sQ2hhciAqYnVmOworCisgICAgaWYgKCh3cml0ZXIgPT0gTlVMTCkgfHwgKGZvcm1hdCA9PSBOVUxMKSkKKyAgICAgICAgcmV0dXJuIC0xOworCisgICAgYnVmID0geG1sVGV4dFdyaXRlclZTcHJpbnRmKGZvcm1hdCwgYXJncHRyKTsKKyAgICBpZiAoYnVmID09IE5VTEwpCisgICAgICAgIHJldHVybiAtMTsKKworICAgIHJjID0geG1sVGV4dFdyaXRlcldyaXRlU3RyaW5nKHdyaXRlciwgYnVmKTsKKworICAgIHhtbEZyZWUoYnVmKTsKKyAgICByZXR1cm4gcmM7Cit9CisKKy8qKgorICogeG1sVGV4dFdyaXRlcldyaXRlU3RyaW5nOgorICogQHdyaXRlcjogIHRoZSB4bWxUZXh0V3JpdGVyUHRyCisgKiBAY29udGVudDogIHRleHQgc3RyaW5nCisgKgorICogV3JpdGUgYW4geG1sIHRleHQuCisgKgorICogUmV0dXJucyB0aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworaW50Cit4bWxUZXh0V3JpdGVyV3JpdGVTdHJpbmcoeG1sVGV4dFdyaXRlclB0ciB3cml0ZXIsIGNvbnN0IHhtbENoYXIgKiBjb250ZW50KQoreworICAgIGludCBjb3VudDsKKyAgICBpbnQgc3VtOworICAgIHhtbExpbmtQdHIgbGs7CisgICAgeG1sVGV4dFdyaXRlclN0YWNrRW50cnkgKnA7CisgICAgeG1sQ2hhciAqYnVmOworCisgICAgaWYgKCh3cml0ZXIgPT0gTlVMTCkgfHwgKGNvbnRlbnQgPT0gTlVMTCkpCisgICAgICAgIHJldHVybiAtMTsKKworICAgIHN1bSA9IDA7CisgICAgYnVmID0gKHhtbENoYXIgKikgY29udGVudDsKKyAgICBsayA9IHhtbExpc3RGcm9udCh3cml0ZXItPm5vZGVzKTsKKyAgICBpZiAobGsgIT0gMCkgeworICAgICAgICBwID0gKHhtbFRleHRXcml0ZXJTdGFja0VudHJ5ICopIHhtbExpbmtHZXREYXRhKGxrKTsKKyAgICAgICAgaWYgKHAgIT0gMCkgeworICAgICAgICAgICAgc3dpdGNoIChwLT5zdGF0ZSkgeworICAgICAgICAgICAgICAgIGNhc2UgWE1MX1RFWFRXUklURVJfTkFNRToKKyAgICAgICAgICAgICAgICBjYXNlIFhNTF9URVhUV1JJVEVSX1RFWFQ6CisjaWYgMAorICAgICAgICAgICAgICAgICAgICBidWYgPSBOVUxMOworCQkgICAgeG1sT3V0cHV0QnVmZmVyV3JpdGVFc2NhcGUod3JpdGVyLT5vdXQsIGNvbnRlbnQsIE5VTEwpOworI2VuZGlmCisgICAgICAgICAgICAgICAgICAgIGJ1ZiA9IHhtbEVuY29kZVNwZWNpYWxDaGFycyhOVUxMLCBjb250ZW50KTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgY2FzZSBYTUxfVEVYVFdSSVRFUl9BVFRSSUJVVEU6CisgICAgICAgICAgICAgICAgICAgIGJ1ZiA9IE5VTEw7CisgICAgICAgICAgICAgICAgICAgIHhtbEJ1ZkF0dHJTZXJpYWxpemVUeHRDb250ZW50KHdyaXRlci0+b3V0LT5idWZmZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdyaXRlci0+ZG9jLCBOVUxMLCBjb250ZW50KTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisJCWRlZmF1bHQ6CisJCSAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKworICAgIGlmIChidWYgIT0gTlVMTCkgeworICAgICAgICBjb3VudCA9IHhtbFRleHRXcml0ZXJXcml0ZVJhdyh3cml0ZXIsIGJ1Zik7CisKKyAgICAgICAgaWYgKGJ1ZiAhPSBjb250ZW50KSAgICAgLyogYnVmIHdhcyBhbGxvY2F0ZWQgYnkgdXMsIHNvIGZyZWUgaXQgKi8KKyAgICAgICAgICAgIHhtbEZyZWUoYnVmKTsKKworICAgICAgICBpZiAoY291bnQgPCAwKQorICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICBzdW0gKz0gY291bnQ7CisgICAgfQorCisgICAgcmV0dXJuIHN1bTsKK30KKworLyoqCisgKiB4bWxPdXRwdXRCdWZmZXJXcml0ZUJhc2U2NDoKKyAqIEBvdXQ6IHRoZSB4bWxPdXRwdXRCdWZmZXJQdHIKKyAqIEBkYXRhOiAgIGJpbmFyeSBkYXRhCisgKiBAbGVuOiAgdGhlIG51bWJlciBvZiBieXRlcyB0byBlbmNvZGUKKyAqCisgKiBXcml0ZSBiYXNlNjQgZW5jb2RlZCBkYXRhIHRvIGFuIHhtbE91dHB1dEJ1ZmZlci4KKyAqIEFkYXB0ZWQgZnJvbSBKb2huIFdhbGtlcidzIGJhc2U2NC5jIChodHRwOi8vd3d3LmZvdXJtaWxhYi5jaC8pLgorICoKKyAqIFJldHVybnMgdGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3N0YXRpYyBpbnQKK3htbE91dHB1dEJ1ZmZlcldyaXRlQmFzZTY0KHhtbE91dHB1dEJ1ZmZlclB0ciBvdXQsIGludCBsZW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpkYXRhKQoreworICAgIHN0YXRpYyB1bnNpZ25lZCBjaGFyIGR0YWJsZVs2NF0gPQorICAgICAgICAgICAgeydBJywnQicsJ0MnLCdEJywnRScsJ0YnLCdHJywnSCcsJ0knLCdKJywnSycsJ0wnLCdNJywKKwkgICAgICdOJywnTycsJ1AnLCdRJywnUicsJ1MnLCdUJywnVScsJ1YnLCdXJywnWCcsJ1knLCdaJywKKwkgICAgICdhJywnYicsJ2MnLCdkJywnZScsJ2YnLCdnJywnaCcsJ2knLCdqJywnaycsJ2wnLCdtJywKKwkgICAgICduJywnbycsJ3AnLCdxJywncicsJ3MnLCd0JywndScsJ3YnLCd3JywneCcsJ3knLCd6JywKKwkgICAgICcwJywnMScsJzInLCczJywnNCcsJzUnLCc2JywnNycsJzgnLCc5JywnKycsJy8nfTsKKworICAgIGludCBpOworICAgIGludCBsaW5lbGVuOworICAgIGludCBjb3VudDsKKyAgICBpbnQgc3VtOworCisgICAgaWYgKChvdXQgPT0gTlVMTCkgfHwgKGxlbiA8IDApIHx8IChkYXRhID09IE5VTEwpKQorICAgICAgICByZXR1cm4oLTEpOworCisgICAgbGluZWxlbiA9IDA7CisgICAgc3VtID0gMDsKKworICAgIGkgPSAwOworICAgIHdoaWxlICgxKSB7CisgICAgICAgIHVuc2lnbmVkIGNoYXIgaWdyb3VwWzNdOworICAgICAgICB1bnNpZ25lZCBjaGFyIG9ncm91cFs0XTsKKyAgICAgICAgaW50IGM7CisgICAgICAgIGludCBuOworCisgICAgICAgIGlncm91cFswXSA9IGlncm91cFsxXSA9IGlncm91cFsyXSA9IDA7CisgICAgICAgIGZvciAobiA9IDA7IG4gPCAzICYmIGkgPCBsZW47IG4rKywgaSsrKSB7CisgICAgICAgICAgICBjID0gZGF0YVtpXTsKKyAgICAgICAgICAgIGlncm91cFtuXSA9ICh1bnNpZ25lZCBjaGFyKSBjOworICAgICAgICB9CisKKyAgICAgICAgaWYgKG4gPiAwKSB7CisgICAgICAgICAgICBvZ3JvdXBbMF0gPSBkdGFibGVbaWdyb3VwWzBdID4+IDJdOworICAgICAgICAgICAgb2dyb3VwWzFdID0gZHRhYmxlWygoaWdyb3VwWzBdICYgMykgPDwgNCkgfCAoaWdyb3VwWzFdID4+IDQpXTsKKyAgICAgICAgICAgIG9ncm91cFsyXSA9CisgICAgICAgICAgICAgICAgZHRhYmxlWygoaWdyb3VwWzFdICYgMHhGKSA8PCAyKSB8IChpZ3JvdXBbMl0gPj4gNildOworICAgICAgICAgICAgb2dyb3VwWzNdID0gZHRhYmxlW2lncm91cFsyXSAmIDB4M0ZdOworCisgICAgICAgICAgICBpZiAobiA8IDMpIHsKKyAgICAgICAgICAgICAgICBvZ3JvdXBbM10gPSAnPSc7CisgICAgICAgICAgICAgICAgaWYgKG4gPCAyKSB7CisgICAgICAgICAgICAgICAgICAgIG9ncm91cFsyXSA9ICc9JzsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGlmIChsaW5lbGVuID49IEI2NExJTkVMRU4pIHsKKyAgICAgICAgICAgICAgICBjb3VudCA9IHhtbE91dHB1dEJ1ZmZlcldyaXRlKG91dCwgMiwgQjY0Q1JMRik7CisgICAgICAgICAgICAgICAgaWYgKGNvdW50ID09IC0xKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICAgICAgc3VtICs9IGNvdW50OworICAgICAgICAgICAgICAgIGxpbmVsZW4gPSAwOworICAgICAgICAgICAgfQorICAgICAgICAgICAgY291bnQgPSB4bWxPdXRwdXRCdWZmZXJXcml0ZShvdXQsIDQsIChjb25zdCBjaGFyICopIG9ncm91cCk7CisgICAgICAgICAgICBpZiAoY291bnQgPT0gLTEpCisgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgc3VtICs9IGNvdW50OworCisgICAgICAgICAgICBsaW5lbGVuICs9IDQ7CisgICAgICAgIH0KKworICAgICAgICBpZiAoaSA+PSBsZW4pCisgICAgICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICByZXR1cm4gc3VtOworfQorCisvKioKKyAqIHhtbFRleHRXcml0ZXJXcml0ZUJhc2U2NDoKKyAqIEB3cml0ZXI6IHRoZSB4bWxUZXh0V3JpdGVyUHRyCisgKiBAZGF0YTogICBiaW5hcnkgZGF0YQorICogQHN0YXJ0OiAgdGhlIHBvc2l0aW9uIHdpdGhpbiB0aGUgZGF0YSBvZiB0aGUgZmlyc3QgYnl0ZSB0byBlbmNvZGUKKyAqIEBsZW46ICB0aGUgbnVtYmVyIG9mIGJ5dGVzIHRvIGVuY29kZQorICoKKyAqIFdyaXRlIGFuIGJhc2U2NCBlbmNvZGVkIHhtbCB0ZXh0LgorICoKKyAqIFJldHVybnMgdGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK2ludAoreG1sVGV4dFdyaXRlcldyaXRlQmFzZTY0KHhtbFRleHRXcml0ZXJQdHIgd3JpdGVyLCBjb25zdCBjaGFyICpkYXRhLAorICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzdGFydCwgaW50IGxlbikKK3sKKyAgICBpbnQgY291bnQ7CisgICAgaW50IHN1bTsKKyAgICB4bWxMaW5rUHRyIGxrOworICAgIHhtbFRleHRXcml0ZXJTdGFja0VudHJ5ICpwOworCisgICAgaWYgKCh3cml0ZXIgPT0gTlVMTCkgfHwgKGRhdGEgPT0gTlVMTCkgfHwgKHN0YXJ0IDwgMCkgfHwgKGxlbiA8IDApKQorICAgICAgICByZXR1cm4gLTE7CisKKyAgICBzdW0gPSAwOworICAgIGxrID0geG1sTGlzdEZyb250KHdyaXRlci0+bm9kZXMpOworICAgIGlmIChsayAhPSAwKSB7CisgICAgICAgIHAgPSAoeG1sVGV4dFdyaXRlclN0YWNrRW50cnkgKikgeG1sTGlua0dldERhdGEobGspOworICAgICAgICBpZiAocCAhPSAwKSB7CisgICAgICAgICAgICBjb3VudCA9IHhtbFRleHRXcml0ZXJIYW5kbGVTdGF0ZURlcGVuZGVuY2llcyh3cml0ZXIsIHApOworICAgICAgICAgICAgaWYgKGNvdW50IDwgMCkKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICBzdW0gKz0gY291bnQ7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBpZiAod3JpdGVyLT5pbmRlbnQpCisgICAgICAgIHdyaXRlci0+ZG9pbmRlbnQgPSAwOworCisgICAgY291bnQgPQorICAgICAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZUJhc2U2NCh3cml0ZXItPm91dCwgbGVuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodW5zaWduZWQgY2hhciAqKSBkYXRhICsgc3RhcnQpOworICAgIGlmIChjb3VudCA8IDApCisgICAgICAgIHJldHVybiAtMTsKKyAgICBzdW0gKz0gY291bnQ7CisKKyAgICByZXR1cm4gc3VtOworfQorCisvKioKKyAqIHhtbE91dHB1dEJ1ZmZlcldyaXRlQmluSGV4OgorICogQG91dDogdGhlIHhtbE91dHB1dEJ1ZmZlclB0cgorICogQGRhdGE6ICAgYmluYXJ5IGRhdGEKKyAqIEBsZW46ICB0aGUgbnVtYmVyIG9mIGJ5dGVzIHRvIGVuY29kZQorICoKKyAqIFdyaXRlIGhxeCBlbmNvZGVkIGRhdGEgdG8gYW4geG1sT3V0cHV0QnVmZmVyLgorICogOjp0b2RvCisgKgorICogUmV0dXJucyB0aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpCisgKiBvciAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3N0YXRpYyBpbnQKK3htbE91dHB1dEJ1ZmZlcldyaXRlQmluSGV4KHhtbE91dHB1dEJ1ZmZlclB0ciBvdXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbGVuLCBjb25zdCB1bnNpZ25lZCBjaGFyICpkYXRhKQoreworICAgIGludCBjb3VudDsKKyAgICBpbnQgc3VtOworICAgIHN0YXRpYyBjaGFyIGhleFsxNl0gPQorCXsnMCcsJzEnLCcyJywnMycsJzQnLCc1JywnNicsJzcnLCc4JywnOScsJ0EnLCdCJywnQycsJ0QnLCdFJywnRid9OworICAgIGludCBpOworCisgICAgaWYgKChvdXQgPT0gTlVMTCkgfHwgKGRhdGEgPT0gTlVMTCkgfHwgKGxlbiA8IDApKSB7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisKKyAgICBzdW0gPSAwOworICAgIGZvciAoaSA9IDA7IGkgPCBsZW47IGkrKykgeworICAgICAgICBjb3VudCA9CisgICAgICAgICAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZShvdXQsIDEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29uc3QgY2hhciAqKSAmaGV4W2RhdGFbaV0gPj4gNF0pOworICAgICAgICBpZiAoY291bnQgPT0gLTEpCisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIHN1bSArPSBjb3VudDsKKyAgICAgICAgY291bnQgPQorICAgICAgICAgICAgeG1sT3V0cHV0QnVmZmVyV3JpdGUob3V0LCAxLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0IGNoYXIgKikgJmhleFtkYXRhW2ldICYgMHhGXSk7CisgICAgICAgIGlmIChjb3VudCA9PSAtMSkKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgc3VtICs9IGNvdW50OworICAgIH0KKworICAgIHJldHVybiBzdW07Cit9CisKKy8qKgorICogeG1sVGV4dFdyaXRlcldyaXRlQmluSGV4OgorICogQHdyaXRlcjogdGhlIHhtbFRleHRXcml0ZXJQdHIKKyAqIEBkYXRhOiAgIGJpbmFyeSBkYXRhCisgKiBAc3RhcnQ6ICB0aGUgcG9zaXRpb24gd2l0aGluIHRoZSBkYXRhIG9mIHRoZSBmaXJzdCBieXRlIHRvIGVuY29kZQorICogQGxlbjogIHRoZSBudW1iZXIgb2YgYnl0ZXMgdG8gZW5jb2RlCisgKgorICogV3JpdGUgYSBCaW5IZXggZW5jb2RlZCB4bWwgdGV4dC4KKyAqCisgKiBSZXR1cm5zIHRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcgorICovCitpbnQKK3htbFRleHRXcml0ZXJXcml0ZUJpbkhleCh4bWxUZXh0V3JpdGVyUHRyIHdyaXRlciwgY29uc3QgY2hhciAqZGF0YSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3RhcnQsIGludCBsZW4pCit7CisgICAgaW50IGNvdW50OworICAgIGludCBzdW07CisgICAgeG1sTGlua1B0ciBsazsKKyAgICB4bWxUZXh0V3JpdGVyU3RhY2tFbnRyeSAqcDsKKworICAgIGlmICgod3JpdGVyID09IE5VTEwpIHx8IChkYXRhID09IE5VTEwpIHx8IChzdGFydCA8IDApIHx8IChsZW4gPCAwKSkKKyAgICAgICAgcmV0dXJuIC0xOworCisgICAgc3VtID0gMDsKKyAgICBsayA9IHhtbExpc3RGcm9udCh3cml0ZXItPm5vZGVzKTsKKyAgICBpZiAobGsgIT0gMCkgeworICAgICAgICBwID0gKHhtbFRleHRXcml0ZXJTdGFja0VudHJ5ICopIHhtbExpbmtHZXREYXRhKGxrKTsKKyAgICAgICAgaWYgKHAgIT0gMCkgeworICAgICAgICAgICAgY291bnQgPSB4bWxUZXh0V3JpdGVySGFuZGxlU3RhdGVEZXBlbmRlbmNpZXMod3JpdGVyLCBwKTsKKyAgICAgICAgICAgIGlmIChjb3VudCA8IDApCisgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgc3VtICs9IGNvdW50OworICAgICAgICB9CisgICAgfQorCisgICAgaWYgKHdyaXRlci0+aW5kZW50KQorICAgICAgICB3cml0ZXItPmRvaW5kZW50ID0gMDsKKworICAgIGNvdW50ID0KKyAgICAgICAgeG1sT3V0cHV0QnVmZmVyV3JpdGVCaW5IZXgod3JpdGVyLT5vdXQsIGxlbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHVuc2lnbmVkIGNoYXIgKikgZGF0YSArIHN0YXJ0KTsKKyAgICBpZiAoY291bnQgPCAwKQorICAgICAgICByZXR1cm4gLTE7CisgICAgc3VtICs9IGNvdW50OworCisgICAgcmV0dXJuIHN1bTsKK30KKworLyoqCisgKiB4bWxUZXh0V3JpdGVyU3RhcnRBdHRyaWJ1dGU6CisgKiBAd3JpdGVyOiAgdGhlIHhtbFRleHRXcml0ZXJQdHIKKyAqIEBuYW1lOiAgZWxlbWVudCBuYW1lCisgKgorICogU3RhcnQgYW4geG1sIGF0dHJpYnV0ZS4KKyAqCisgKiBSZXR1cm5zIHRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcgorICovCitpbnQKK3htbFRleHRXcml0ZXJTdGFydEF0dHJpYnV0ZSh4bWxUZXh0V3JpdGVyUHRyIHdyaXRlciwgY29uc3QgeG1sQ2hhciAqIG5hbWUpCit7CisgICAgaW50IGNvdW50OworICAgIGludCBzdW07CisgICAgeG1sTGlua1B0ciBsazsKKyAgICB4bWxUZXh0V3JpdGVyU3RhY2tFbnRyeSAqcDsKKworICAgIGlmICgod3JpdGVyID09IE5VTEwpIHx8IChuYW1lID09IE5VTEwpIHx8ICgqbmFtZSA9PSAnXDAnKSkKKyAgICAgICAgcmV0dXJuIC0xOworCisgICAgc3VtID0gMDsKKyAgICBsayA9IHhtbExpc3RGcm9udCh3cml0ZXItPm5vZGVzKTsKKyAgICBpZiAobGsgPT0gMCkKKyAgICAgICAgcmV0dXJuIC0xOworCisgICAgcCA9ICh4bWxUZXh0V3JpdGVyU3RhY2tFbnRyeSAqKSB4bWxMaW5rR2V0RGF0YShsayk7CisgICAgaWYgKHAgPT0gMCkKKyAgICAgICAgcmV0dXJuIC0xOworCisgICAgc3dpdGNoIChwLT5zdGF0ZSkgeworICAgICAgICBjYXNlIFhNTF9URVhUV1JJVEVSX0FUVFJJQlVURToKKyAgICAgICAgICAgIGNvdW50ID0geG1sVGV4dFdyaXRlckVuZEF0dHJpYnV0ZSh3cml0ZXIpOworICAgICAgICAgICAgaWYgKGNvdW50IDwgMCkKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICBzdW0gKz0gY291bnQ7CisgICAgICAgICAgICAvKiBmYWxsdGhyb3VnaCAqLworICAgICAgICBjYXNlIFhNTF9URVhUV1JJVEVSX05BTUU6CisgICAgICAgICAgICBjb3VudCA9IHhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nKHdyaXRlci0+b3V0LCAiICIpOworICAgICAgICAgICAgaWYgKGNvdW50IDwgMCkKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICBzdW0gKz0gY291bnQ7CisgICAgICAgICAgICBjb3VudCA9CisgICAgICAgICAgICAgICAgeG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcod3JpdGVyLT5vdXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0IGNoYXIgKikgbmFtZSk7CisgICAgICAgICAgICBpZiAoY291bnQgPCAwKQorICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgIHN1bSArPSBjb3VudDsKKyAgICAgICAgICAgIGNvdW50ID0geG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcod3JpdGVyLT5vdXQsICI9Iik7CisgICAgICAgICAgICBpZiAoY291bnQgPCAwKQorICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgIHN1bSArPSBjb3VudDsKKyAgICAgICAgICAgIGNvdW50ID0geG1sT3V0cHV0QnVmZmVyV3JpdGUod3JpdGVyLT5vdXQsIDEsICZ3cml0ZXItPnFjaGFyKTsKKyAgICAgICAgICAgIGlmIChjb3VudCA8IDApCisgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgc3VtICs9IGNvdW50OworICAgICAgICAgICAgcC0+c3RhdGUgPSBYTUxfVEVYVFdSSVRFUl9BVFRSSUJVVEU7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisKKyAgICByZXR1cm4gc3VtOworfQorCisvKioKKyAqIHhtbFRleHRXcml0ZXJTdGFydEF0dHJpYnV0ZU5TOgorICogQHdyaXRlcjogIHRoZSB4bWxUZXh0V3JpdGVyUHRyCisgKiBAcHJlZml4OiAgbmFtZXNwYWNlIHByZWZpeCBvciBOVUxMCisgKiBAbmFtZTogIGVsZW1lbnQgbG9jYWwgbmFtZQorICogQG5hbWVzcGFjZVVSSTogIG5hbWVzcGFjZSBVUkkgb3IgTlVMTAorICoKKyAqIFN0YXJ0IGFuIHhtbCBhdHRyaWJ1dGUgd2l0aCBuYW1lc3BhY2Ugc3VwcG9ydC4KKyAqCisgKiBSZXR1cm5zIHRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcgorICovCitpbnQKK3htbFRleHRXcml0ZXJTdGFydEF0dHJpYnV0ZU5TKHhtbFRleHRXcml0ZXJQdHIgd3JpdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIHByZWZpeCwgY29uc3QgeG1sQ2hhciAqIG5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogbmFtZXNwYWNlVVJJKQoreworICAgIGludCBjb3VudDsKKyAgICBpbnQgc3VtOworICAgIHhtbENoYXIgKmJ1ZjsKKyAgICB4bWxUZXh0V3JpdGVyTnNTdGFja0VudHJ5ICpwOworCisgICAgaWYgKCh3cml0ZXIgPT0gTlVMTCkgfHwgKG5hbWUgPT0gTlVMTCkgfHwgKCpuYW1lID09ICdcMCcpKQorICAgICAgICByZXR1cm4gLTE7CisKKyAgICAvKiBIYW5kbGUgbmFtZXNwYWNlIGZpcnN0IGluIGNhc2Ugb2YgZXJyb3IgKi8KKyAgICBpZiAobmFtZXNwYWNlVVJJICE9IDApIHsKKyAgICAgICAgeG1sVGV4dFdyaXRlck5zU3RhY2tFbnRyeSBuc2VudHJ5LCAqY3VybnM7CisKKyAgICAgICAgYnVmID0geG1sU3RyZHVwKEJBRF9DQVNUICJ4bWxucyIpOworICAgICAgICBpZiAocHJlZml4ICE9IDApIHsKKyAgICAgICAgICAgIGJ1ZiA9IHhtbFN0cmNhdChidWYsIEJBRF9DQVNUICI6Iik7CisgICAgICAgICAgICBidWYgPSB4bWxTdHJjYXQoYnVmLCBwcmVmaXgpOworICAgICAgICB9CisKKyAgICAgICAgbnNlbnRyeS5wcmVmaXggPSBidWY7CisgICAgICAgIG5zZW50cnkudXJpID0gKHhtbENoYXIgKiluYW1lc3BhY2VVUkk7CisgICAgICAgIG5zZW50cnkuZWxlbSA9IHhtbExpc3RGcm9udCh3cml0ZXItPm5vZGVzKTsKKworICAgICAgICBjdXJucyA9ICh4bWxUZXh0V3JpdGVyTnNTdGFja0VudHJ5ICopeG1sTGlzdFNlYXJjaCh3cml0ZXItPm5zc3RhY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2b2lkICopJm5zZW50cnkpOworICAgICAgICBpZiAoKGN1cm5zICE9IE5VTEwpKSB7CisgICAgICAgICAgICB4bWxGcmVlKGJ1Zik7CisgICAgICAgICAgICBpZiAoeG1sU3RyY21wKGN1cm5zLT51cmksIG5hbWVzcGFjZVVSSSkgPT0gMCkgeworICAgICAgICAgICAgICAgIC8qIE5hbWVzcGFjZSBhbHJlYWR5IGRlZmluZWQgb24gZWxlbWVudCBza2lwICovCisgICAgICAgICAgICAgICAgYnVmID0gTlVMTDsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgLyogUHJlZml4IG1pc21hdGNoIHNvIGVycm9yIG91dCAqLworICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIC8qIERvIG5vdCBhZGQgbmFtZXNwYWNlIGRlY2wgdG8gbGlzdCAtIGl0IGlzIGFscmVhZHkgdGhlcmUgKi8KKyAgICAgICAgaWYgKGJ1ZiAhPSBOVUxMKSB7CisgICAgICAgICAgICBwID0gKHhtbFRleHRXcml0ZXJOc1N0YWNrRW50cnkgKikKKyAgICAgICAgICAgICAgICB4bWxNYWxsb2Moc2l6ZW9mKHhtbFRleHRXcml0ZXJOc1N0YWNrRW50cnkpKTsKKyAgICAgICAgICAgIGlmIChwID09IDApIHsKKyAgICAgICAgICAgICAgICB4bWxXcml0ZXJFcnJNc2cod3JpdGVyLCBYTUxfRVJSX05PX01FTU9SWSwKKwkJCQkJCQkJICAgICAgICAieG1sVGV4dFdyaXRlclN0YXJ0QXR0cmlidXRlTlMgOiBvdXQgb2YgbWVtb3J5IVxuIik7CisgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBwLT5wcmVmaXggPSBidWY7CisgICAgICAgICAgICBwLT51cmkgPSB4bWxTdHJkdXAobmFtZXNwYWNlVVJJKTsKKyAgICAgICAgICAgIGlmIChwLT51cmkgPT0gMCkgeworICAgICAgICAgICAgICAgIHhtbFdyaXRlckVyck1zZyh3cml0ZXIsIFhNTF9FUlJfTk9fTUVNT1JZLAorICAgICAgICAgICAgICAgICAgICAgICAgInhtbFRleHRXcml0ZXJTdGFydEF0dHJpYnV0ZU5TIDogb3V0IG9mIG1lbW9yeSFcbiIpOworICAgICAgICAgICAgICAgIHhtbEZyZWUocCk7CisgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgfQorICAgICAgICAgICAgcC0+ZWxlbSA9IHhtbExpc3RGcm9udCh3cml0ZXItPm5vZGVzKTsKKworICAgICAgICAgICAgeG1sTGlzdFB1c2hGcm9udCh3cml0ZXItPm5zc3RhY2ssIHApOworICAgICAgICB9CisgICAgfQorCisgICAgYnVmID0gTlVMTDsKKyAgICBpZiAocHJlZml4ICE9IDApIHsKKyAgICAgICAgYnVmID0geG1sU3RyZHVwKHByZWZpeCk7CisgICAgICAgIGJ1ZiA9IHhtbFN0cmNhdChidWYsIEJBRF9DQVNUICI6Iik7CisgICAgfQorICAgIGJ1ZiA9IHhtbFN0cmNhdChidWYsIG5hbWUpOworCisgICAgc3VtID0gMDsKKyAgICBjb3VudCA9IHhtbFRleHRXcml0ZXJTdGFydEF0dHJpYnV0ZSh3cml0ZXIsIGJ1Zik7CisgICAgeG1sRnJlZShidWYpOworICAgIGlmIChjb3VudCA8IDApCisgICAgICAgIHJldHVybiAtMTsKKyAgICBzdW0gKz0gY291bnQ7CisKKyAgICByZXR1cm4gc3VtOworfQorCisvKioKKyAqIHhtbFRleHRXcml0ZXJFbmRBdHRyaWJ1dGU6CisgKiBAd3JpdGVyOiAgdGhlIHhtbFRleHRXcml0ZXJQdHIKKyAqCisgKiBFbmQgdGhlIGN1cnJlbnQgeG1sIGVsZW1lbnQuCisgKgorICogUmV0dXJucyB0aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworaW50Cit4bWxUZXh0V3JpdGVyRW5kQXR0cmlidXRlKHhtbFRleHRXcml0ZXJQdHIgd3JpdGVyKQoreworICAgIGludCBjb3VudDsKKyAgICBpbnQgc3VtOworICAgIHhtbExpbmtQdHIgbGs7CisgICAgeG1sVGV4dFdyaXRlclN0YWNrRW50cnkgKnA7CisKKyAgICBpZiAod3JpdGVyID09IE5VTEwpCisgICAgICAgIHJldHVybiAtMTsKKworICAgIGxrID0geG1sTGlzdEZyb250KHdyaXRlci0+bm9kZXMpOworICAgIGlmIChsayA9PSAwKSB7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisKKyAgICBwID0gKHhtbFRleHRXcml0ZXJTdGFja0VudHJ5ICopIHhtbExpbmtHZXREYXRhKGxrKTsKKyAgICBpZiAocCA9PSAwKSB7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisKKyAgICBzdW0gPSAwOworICAgIHN3aXRjaCAocC0+c3RhdGUpIHsKKyAgICAgICAgY2FzZSBYTUxfVEVYVFdSSVRFUl9BVFRSSUJVVEU6CisgICAgICAgICAgICBwLT5zdGF0ZSA9IFhNTF9URVhUV1JJVEVSX05BTUU7CisKKyAgICAgICAgICAgIGNvdW50ID0geG1sT3V0cHV0QnVmZmVyV3JpdGUod3JpdGVyLT5vdXQsIDEsICZ3cml0ZXItPnFjaGFyKTsKKyAgICAgICAgICAgIGlmIChjb3VudCA8IDApIHsKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBzdW0gKz0gY291bnQ7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisKKyAgICByZXR1cm4gc3VtOworfQorCisvKioKKyAqIHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdEF0dHJpYnV0ZToKKyAqIEB3cml0ZXI6ICB0aGUgeG1sVGV4dFdyaXRlclB0cgorICogQG5hbWU6ICBhdHRyaWJ1dGUgbmFtZQorICogQGZvcm1hdDogIGZvcm1hdCBzdHJpbmcgKHNlZSBwcmludGYpCisgKiBALi4uOiAgZXh0cmEgcGFyYW1ldGVycyBmb3IgdGhlIGZvcm1hdAorICoKKyAqIFdyaXRlIGEgZm9ybWF0dGVkIHhtbCBhdHRyaWJ1dGUuCisgKgorICogUmV0dXJucyB0aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworaW50IFhNTENERUNMCit4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRBdHRyaWJ1dGUoeG1sVGV4dFdyaXRlclB0ciB3cml0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIG5hbWUsIGNvbnN0IGNoYXIgKmZvcm1hdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi4pCit7CisgICAgaW50IHJjOworICAgIHZhX2xpc3QgYXA7CisKKyAgICB2YV9zdGFydChhcCwgZm9ybWF0KTsKKworICAgIHJjID0geG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEF0dHJpYnV0ZSh3cml0ZXIsIG5hbWUsIGZvcm1hdCwgYXApOworCisgICAgdmFfZW5kKGFwKTsKKyAgICByZXR1cm4gcmM7Cit9CisKKy8qKgorICogeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEF0dHJpYnV0ZToKKyAqIEB3cml0ZXI6ICB0aGUgeG1sVGV4dFdyaXRlclB0cgorICogQG5hbWU6ICBhdHRyaWJ1dGUgbmFtZQorICogQGZvcm1hdDogIGZvcm1hdCBzdHJpbmcgKHNlZSBwcmludGYpCisgKiBAYXJncHRyOiAgcG9pbnRlciB0byB0aGUgZmlyc3QgbWVtYmVyIG9mIHRoZSB2YXJpYWJsZSBhcmd1bWVudCBsaXN0LgorICoKKyAqIFdyaXRlIGEgZm9ybWF0dGVkIHhtbCBhdHRyaWJ1dGUuCisgKgorICogUmV0dXJucyB0aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworaW50Cit4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0QXR0cmlidXRlKHhtbFRleHRXcml0ZXJQdHIgd3JpdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZm9ybWF0LCB2YV9saXN0IGFyZ3B0cikKK3sKKyAgICBpbnQgcmM7CisgICAgeG1sQ2hhciAqYnVmOworCisgICAgaWYgKHdyaXRlciA9PSBOVUxMKQorICAgICAgICByZXR1cm4gLTE7CisKKyAgICBidWYgPSB4bWxUZXh0V3JpdGVyVlNwcmludGYoZm9ybWF0LCBhcmdwdHIpOworICAgIGlmIChidWYgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIC0xOworCisgICAgcmMgPSB4bWxUZXh0V3JpdGVyV3JpdGVBdHRyaWJ1dGUod3JpdGVyLCBuYW1lLCBidWYpOworCisgICAgeG1sRnJlZShidWYpOworICAgIHJldHVybiByYzsKK30KKworLyoqCisgKiB4bWxUZXh0V3JpdGVyV3JpdGVBdHRyaWJ1dGU6CisgKiBAd3JpdGVyOiAgdGhlIHhtbFRleHRXcml0ZXJQdHIKKyAqIEBuYW1lOiAgYXR0cmlidXRlIG5hbWUKKyAqIEBjb250ZW50OiAgYXR0cmlidXRlIGNvbnRlbnQKKyAqCisgKiBXcml0ZSBhbiB4bWwgYXR0cmlidXRlLgorICoKKyAqIFJldHVybnMgdGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK2ludAoreG1sVGV4dFdyaXRlcldyaXRlQXR0cmlidXRlKHhtbFRleHRXcml0ZXJQdHIgd3JpdGVyLCBjb25zdCB4bWxDaGFyICogbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogY29udGVudCkKK3sKKyAgICBpbnQgY291bnQ7CisgICAgaW50IHN1bTsKKworICAgIHN1bSA9IDA7CisgICAgY291bnQgPSB4bWxUZXh0V3JpdGVyU3RhcnRBdHRyaWJ1dGUod3JpdGVyLCBuYW1lKTsKKyAgICBpZiAoY291bnQgPCAwKQorICAgICAgICByZXR1cm4gLTE7CisgICAgc3VtICs9IGNvdW50OworICAgIGNvdW50ID0geG1sVGV4dFdyaXRlcldyaXRlU3RyaW5nKHdyaXRlciwgY29udGVudCk7CisgICAgaWYgKGNvdW50IDwgMCkKKyAgICAgICAgcmV0dXJuIC0xOworICAgIHN1bSArPSBjb3VudDsKKyAgICBjb3VudCA9IHhtbFRleHRXcml0ZXJFbmRBdHRyaWJ1dGUod3JpdGVyKTsKKyAgICBpZiAoY291bnQgPCAwKQorICAgICAgICByZXR1cm4gLTE7CisgICAgc3VtICs9IGNvdW50OworCisgICAgcmV0dXJuIHN1bTsKK30KKworLyoqCisgKiB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRBdHRyaWJ1dGVOUzoKKyAqIEB3cml0ZXI6ICB0aGUgeG1sVGV4dFdyaXRlclB0cgorICogQHByZWZpeDogIG5hbWVzcGFjZSBwcmVmaXgKKyAqIEBuYW1lOiAgYXR0cmlidXRlIGxvY2FsIG5hbWUKKyAqIEBuYW1lc3BhY2VVUkk6ICBuYW1lc3BhY2UgVVJJCisgKiBAZm9ybWF0OiAgZm9ybWF0IHN0cmluZyAoc2VlIHByaW50ZikKKyAqIEAuLi46ICBleHRyYSBwYXJhbWV0ZXJzIGZvciB0aGUgZm9ybWF0CisgKgorICogV3JpdGUgYSBmb3JtYXR0ZWQgeG1sIGF0dHJpYnV0ZS53aXRoIG5hbWVzcGFjZSBzdXBwb3J0CisgKgorICogUmV0dXJucyB0aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworaW50IFhNTENERUNMCit4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRBdHRyaWJ1dGVOUyh4bWxUZXh0V3JpdGVyUHRyIHdyaXRlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBwcmVmaXgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBuYW1lc3BhY2VVUkksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpmb3JtYXQsIC4uLikKK3sKKyAgICBpbnQgcmM7CisgICAgdmFfbGlzdCBhcDsKKworICAgIHZhX3N0YXJ0KGFwLCBmb3JtYXQpOworCisgICAgcmMgPSB4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0QXR0cmlidXRlTlMod3JpdGVyLCBwcmVmaXgsIG5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZXNwYWNlVVJJLCBmb3JtYXQsIGFwKTsKKworICAgIHZhX2VuZChhcCk7CisgICAgcmV0dXJuIHJjOworfQorCisvKioKKyAqIHhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRBdHRyaWJ1dGVOUzoKKyAqIEB3cml0ZXI6ICB0aGUgeG1sVGV4dFdyaXRlclB0cgorICogQHByZWZpeDogIG5hbWVzcGFjZSBwcmVmaXgKKyAqIEBuYW1lOiAgYXR0cmlidXRlIGxvY2FsIG5hbWUKKyAqIEBuYW1lc3BhY2VVUkk6ICBuYW1lc3BhY2UgVVJJCisgKiBAZm9ybWF0OiAgZm9ybWF0IHN0cmluZyAoc2VlIHByaW50ZikKKyAqIEBhcmdwdHI6ICBwb2ludGVyIHRvIHRoZSBmaXJzdCBtZW1iZXIgb2YgdGhlIHZhcmlhYmxlIGFyZ3VtZW50IGxpc3QuCisgKgorICogV3JpdGUgYSBmb3JtYXR0ZWQgeG1sIGF0dHJpYnV0ZS53aXRoIG5hbWVzcGFjZSBzdXBwb3J0CisgKgorICogUmV0dXJucyB0aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworaW50Cit4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0QXR0cmlidXRlTlMoeG1sVGV4dFdyaXRlclB0ciB3cml0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIHByZWZpeCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogbmFtZXNwYWNlVVJJLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmZvcm1hdCwgdmFfbGlzdCBhcmdwdHIpCit7CisgICAgaW50IHJjOworICAgIHhtbENoYXIgKmJ1ZjsKKworICAgIGlmICh3cml0ZXIgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIC0xOworCisgICAgYnVmID0geG1sVGV4dFdyaXRlclZTcHJpbnRmKGZvcm1hdCwgYXJncHRyKTsKKyAgICBpZiAoYnVmID09IE5VTEwpCisgICAgICAgIHJldHVybiAtMTsKKworICAgIHJjID0geG1sVGV4dFdyaXRlcldyaXRlQXR0cmlidXRlTlMod3JpdGVyLCBwcmVmaXgsIG5hbWUsIG5hbWVzcGFjZVVSSSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1Zik7CisKKyAgICB4bWxGcmVlKGJ1Zik7CisgICAgcmV0dXJuIHJjOworfQorCisvKioKKyAqIHhtbFRleHRXcml0ZXJXcml0ZUF0dHJpYnV0ZU5TOgorICogQHdyaXRlcjogIHRoZSB4bWxUZXh0V3JpdGVyUHRyCisgKiBAcHJlZml4OiAgbmFtZXNwYWNlIHByZWZpeAorICogQG5hbWU6ICBhdHRyaWJ1dGUgbG9jYWwgbmFtZQorICogQG5hbWVzcGFjZVVSSTogIG5hbWVzcGFjZSBVUkkKKyAqIEBjb250ZW50OiAgYXR0cmlidXRlIGNvbnRlbnQKKyAqCisgKiBXcml0ZSBhbiB4bWwgYXR0cmlidXRlLgorICoKKyAqIFJldHVybnMgdGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK2ludAoreG1sVGV4dFdyaXRlcldyaXRlQXR0cmlidXRlTlMoeG1sVGV4dFdyaXRlclB0ciB3cml0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogcHJlZml4LCBjb25zdCB4bWxDaGFyICogbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBuYW1lc3BhY2VVUkksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogY29udGVudCkKK3sKKyAgICBpbnQgY291bnQ7CisgICAgaW50IHN1bTsKKworICAgIGlmICgod3JpdGVyID09IE5VTEwpIHx8IChuYW1lID09IE5VTEwpIHx8ICgqbmFtZSA9PSAnXDAnKSkKKyAgICAgICAgcmV0dXJuIC0xOworCisgICAgc3VtID0gMDsKKyAgICBjb3VudCA9IHhtbFRleHRXcml0ZXJTdGFydEF0dHJpYnV0ZU5TKHdyaXRlciwgcHJlZml4LCBuYW1lLCBuYW1lc3BhY2VVUkkpOworICAgIGlmIChjb3VudCA8IDApCisgICAgICAgIHJldHVybiAtMTsKKyAgICBzdW0gKz0gY291bnQ7CisgICAgY291bnQgPSB4bWxUZXh0V3JpdGVyV3JpdGVTdHJpbmcod3JpdGVyLCBjb250ZW50KTsKKyAgICBpZiAoY291bnQgPCAwKQorICAgICAgICByZXR1cm4gLTE7CisgICAgc3VtICs9IGNvdW50OworICAgIGNvdW50ID0geG1sVGV4dFdyaXRlckVuZEF0dHJpYnV0ZSh3cml0ZXIpOworICAgIGlmIChjb3VudCA8IDApCisgICAgICAgIHJldHVybiAtMTsKKyAgICBzdW0gKz0gY291bnQ7CisKKyAgICByZXR1cm4gc3VtOworfQorCisvKioKKyAqIHhtbFRleHRXcml0ZXJXcml0ZUZvcm1hdEVsZW1lbnQ6CisgKiBAd3JpdGVyOiAgdGhlIHhtbFRleHRXcml0ZXJQdHIKKyAqIEBuYW1lOiAgZWxlbWVudCBuYW1lCisgKiBAZm9ybWF0OiAgZm9ybWF0IHN0cmluZyAoc2VlIHByaW50ZikKKyAqIEAuLi46ICBleHRyYSBwYXJhbWV0ZXJzIGZvciB0aGUgZm9ybWF0CisgKgorICogV3JpdGUgYSBmb3JtYXR0ZWQgeG1sIGVsZW1lbnQuCisgKgorICogUmV0dXJucyB0aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworaW50IFhNTENERUNMCit4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRFbGVtZW50KHhtbFRleHRXcml0ZXJQdHIgd3JpdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogbmFtZSwgY29uc3QgY2hhciAqZm9ybWF0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi4pCit7CisgICAgaW50IHJjOworICAgIHZhX2xpc3QgYXA7CisKKyAgICB2YV9zdGFydChhcCwgZm9ybWF0KTsKKworICAgIHJjID0geG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEVsZW1lbnQod3JpdGVyLCBuYW1lLCBmb3JtYXQsIGFwKTsKKworICAgIHZhX2VuZChhcCk7CisgICAgcmV0dXJuIHJjOworfQorCisvKioKKyAqIHhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRFbGVtZW50OgorICogQHdyaXRlcjogIHRoZSB4bWxUZXh0V3JpdGVyUHRyCisgKiBAbmFtZTogIGVsZW1lbnQgbmFtZQorICogQGZvcm1hdDogIGZvcm1hdCBzdHJpbmcgKHNlZSBwcmludGYpCisgKiBAYXJncHRyOiAgcG9pbnRlciB0byB0aGUgZmlyc3QgbWVtYmVyIG9mIHRoZSB2YXJpYWJsZSBhcmd1bWVudCBsaXN0LgorICoKKyAqIFdyaXRlIGEgZm9ybWF0dGVkIHhtbCBlbGVtZW50LgorICoKKyAqIFJldHVybnMgdGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK2ludAoreG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEVsZW1lbnQoeG1sVGV4dFdyaXRlclB0ciB3cml0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogbmFtZSwgY29uc3QgY2hhciAqZm9ybWF0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFfbGlzdCBhcmdwdHIpCit7CisgICAgaW50IHJjOworICAgIHhtbENoYXIgKmJ1ZjsKKworICAgIGlmICh3cml0ZXIgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIC0xOworCisgICAgYnVmID0geG1sVGV4dFdyaXRlclZTcHJpbnRmKGZvcm1hdCwgYXJncHRyKTsKKyAgICBpZiAoYnVmID09IE5VTEwpCisgICAgICAgIHJldHVybiAtMTsKKworICAgIHJjID0geG1sVGV4dFdyaXRlcldyaXRlRWxlbWVudCh3cml0ZXIsIG5hbWUsIGJ1Zik7CisKKyAgICB4bWxGcmVlKGJ1Zik7CisgICAgcmV0dXJuIHJjOworfQorCisvKioKKyAqIHhtbFRleHRXcml0ZXJXcml0ZUVsZW1lbnQ6CisgKiBAd3JpdGVyOiAgdGhlIHhtbFRleHRXcml0ZXJQdHIKKyAqIEBuYW1lOiAgZWxlbWVudCBuYW1lCisgKiBAY29udGVudDogIGVsZW1lbnQgY29udGVudAorICoKKyAqIFdyaXRlIGFuIHhtbCBlbGVtZW50LgorICoKKyAqIFJldHVybnMgdGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK2ludAoreG1sVGV4dFdyaXRlcldyaXRlRWxlbWVudCh4bWxUZXh0V3JpdGVyUHRyIHdyaXRlciwgY29uc3QgeG1sQ2hhciAqIG5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBjb250ZW50KQoreworICAgIGludCBjb3VudDsKKyAgICBpbnQgc3VtOworCisgICAgc3VtID0gMDsKKyAgICBjb3VudCA9IHhtbFRleHRXcml0ZXJTdGFydEVsZW1lbnQod3JpdGVyLCBuYW1lKTsKKyAgICBpZiAoY291bnQgPT0gLTEpCisgICAgICAgIHJldHVybiAtMTsKKyAgICBzdW0gKz0gY291bnQ7CisgICAgaWYgKGNvbnRlbnQgIT0gTlVMTCkgeworCWNvdW50ID0geG1sVGV4dFdyaXRlcldyaXRlU3RyaW5nKHdyaXRlciwgY29udGVudCk7CisJaWYgKGNvdW50ID09IC0xKQorCSAgICByZXR1cm4gLTE7CisJc3VtICs9IGNvdW50OworICAgIH0KKyAgICBjb3VudCA9IHhtbFRleHRXcml0ZXJFbmRFbGVtZW50KHdyaXRlcik7CisgICAgaWYgKGNvdW50ID09IC0xKQorICAgICAgICByZXR1cm4gLTE7CisgICAgc3VtICs9IGNvdW50OworCisgICAgcmV0dXJuIHN1bTsKK30KKworLyoqCisgKiB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRFbGVtZW50TlM6CisgKiBAd3JpdGVyOiAgdGhlIHhtbFRleHRXcml0ZXJQdHIKKyAqIEBwcmVmaXg6ICBuYW1lc3BhY2UgcHJlZml4CisgKiBAbmFtZTogIGVsZW1lbnQgbG9jYWwgbmFtZQorICogQG5hbWVzcGFjZVVSSTogIG5hbWVzcGFjZSBVUkkKKyAqIEBmb3JtYXQ6ICBmb3JtYXQgc3RyaW5nIChzZWUgcHJpbnRmKQorICogQC4uLjogIGV4dHJhIHBhcmFtZXRlcnMgZm9yIHRoZSBmb3JtYXQKKyAqCisgKiBXcml0ZSBhIGZvcm1hdHRlZCB4bWwgZWxlbWVudCB3aXRoIG5hbWVzcGFjZSBzdXBwb3J0LgorICoKKyAqIFJldHVybnMgdGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK2ludCBYTUxDREVDTAoreG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RWxlbWVudE5TKHhtbFRleHRXcml0ZXJQdHIgd3JpdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBwcmVmaXgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIG5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIG5hbWVzcGFjZVVSSSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpmb3JtYXQsIC4uLikKK3sKKyAgICBpbnQgcmM7CisgICAgdmFfbGlzdCBhcDsKKworICAgIHZhX3N0YXJ0KGFwLCBmb3JtYXQpOworCisgICAgcmMgPSB4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RWxlbWVudE5TKHdyaXRlciwgcHJlZml4LCBuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lc3BhY2VVUkksIGZvcm1hdCwgYXApOworCisgICAgdmFfZW5kKGFwKTsKKyAgICByZXR1cm4gcmM7Cit9CisKKy8qKgorICogeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdEVsZW1lbnROUzoKKyAqIEB3cml0ZXI6ICB0aGUgeG1sVGV4dFdyaXRlclB0cgorICogQHByZWZpeDogIG5hbWVzcGFjZSBwcmVmaXgKKyAqIEBuYW1lOiAgZWxlbWVudCBsb2NhbCBuYW1lCisgKiBAbmFtZXNwYWNlVVJJOiAgbmFtZXNwYWNlIFVSSQorICogQGZvcm1hdDogIGZvcm1hdCBzdHJpbmcgKHNlZSBwcmludGYpCisgKiBAYXJncHRyOiAgcG9pbnRlciB0byB0aGUgZmlyc3QgbWVtYmVyIG9mIHRoZSB2YXJpYWJsZSBhcmd1bWVudCBsaXN0LgorICoKKyAqIFdyaXRlIGEgZm9ybWF0dGVkIHhtbCBlbGVtZW50IHdpdGggbmFtZXNwYWNlIHN1cHBvcnQuCisgKgorICogUmV0dXJucyB0aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworaW50Cit4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RWxlbWVudE5TKHhtbFRleHRXcml0ZXJQdHIgd3JpdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogcHJlZml4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIG5hbWVzcGFjZVVSSSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZm9ybWF0LCB2YV9saXN0IGFyZ3B0cikKK3sKKyAgICBpbnQgcmM7CisgICAgeG1sQ2hhciAqYnVmOworCisgICAgaWYgKHdyaXRlciA9PSBOVUxMKQorICAgICAgICByZXR1cm4gLTE7CisKKyAgICBidWYgPSB4bWxUZXh0V3JpdGVyVlNwcmludGYoZm9ybWF0LCBhcmdwdHIpOworICAgIGlmIChidWYgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIC0xOworCisgICAgcmMgPSB4bWxUZXh0V3JpdGVyV3JpdGVFbGVtZW50TlMod3JpdGVyLCBwcmVmaXgsIG5hbWUsIG5hbWVzcGFjZVVSSSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWYpOworCisgICAgeG1sRnJlZShidWYpOworICAgIHJldHVybiByYzsKK30KKworLyoqCisgKiB4bWxUZXh0V3JpdGVyV3JpdGVFbGVtZW50TlM6CisgKiBAd3JpdGVyOiAgdGhlIHhtbFRleHRXcml0ZXJQdHIKKyAqIEBwcmVmaXg6ICBuYW1lc3BhY2UgcHJlZml4CisgKiBAbmFtZTogIGVsZW1lbnQgbG9jYWwgbmFtZQorICogQG5hbWVzcGFjZVVSSTogIG5hbWVzcGFjZSBVUkkKKyAqIEBjb250ZW50OiAgZWxlbWVudCBjb250ZW50CisgKgorICogV3JpdGUgYW4geG1sIGVsZW1lbnQgd2l0aCBuYW1lc3BhY2Ugc3VwcG9ydC4KKyAqCisgKiBSZXR1cm5zIHRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcgorICovCitpbnQKK3htbFRleHRXcml0ZXJXcml0ZUVsZW1lbnROUyh4bWxUZXh0V3JpdGVyUHRyIHdyaXRlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogcHJlZml4LCBjb25zdCB4bWxDaGFyICogbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogbmFtZXNwYWNlVVJJLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBjb250ZW50KQoreworICAgIGludCBjb3VudDsKKyAgICBpbnQgc3VtOworCisgICAgaWYgKCh3cml0ZXIgPT0gTlVMTCkgfHwgKG5hbWUgPT0gTlVMTCkgfHwgKCpuYW1lID09ICdcMCcpKQorICAgICAgICByZXR1cm4gLTE7CisKKyAgICBzdW0gPSAwOworICAgIGNvdW50ID0KKyAgICAgICAgeG1sVGV4dFdyaXRlclN0YXJ0RWxlbWVudE5TKHdyaXRlciwgcHJlZml4LCBuYW1lLCBuYW1lc3BhY2VVUkkpOworICAgIGlmIChjb3VudCA8IDApCisgICAgICAgIHJldHVybiAtMTsKKyAgICBzdW0gKz0gY291bnQ7CisgICAgY291bnQgPSB4bWxUZXh0V3JpdGVyV3JpdGVTdHJpbmcod3JpdGVyLCBjb250ZW50KTsKKyAgICBpZiAoY291bnQgPT0gLTEpCisgICAgICAgIHJldHVybiAtMTsKKyAgICBzdW0gKz0gY291bnQ7CisgICAgY291bnQgPSB4bWxUZXh0V3JpdGVyRW5kRWxlbWVudCh3cml0ZXIpOworICAgIGlmIChjb3VudCA9PSAtMSkKKyAgICAgICAgcmV0dXJuIC0xOworICAgIHN1bSArPSBjb3VudDsKKworICAgIHJldHVybiBzdW07Cit9CisKKy8qKgorICogeG1sVGV4dFdyaXRlclN0YXJ0UEk6CisgKiBAd3JpdGVyOiAgdGhlIHhtbFRleHRXcml0ZXJQdHIKKyAqIEB0YXJnZXQ6ICBQSSB0YXJnZXQKKyAqCisgKiBTdGFydCBhbiB4bWwgUEkuCisgKgorICogUmV0dXJucyB0aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworaW50Cit4bWxUZXh0V3JpdGVyU3RhcnRQSSh4bWxUZXh0V3JpdGVyUHRyIHdyaXRlciwgY29uc3QgeG1sQ2hhciAqIHRhcmdldCkKK3sKKyAgICBpbnQgY291bnQ7CisgICAgaW50IHN1bTsKKyAgICB4bWxMaW5rUHRyIGxrOworICAgIHhtbFRleHRXcml0ZXJTdGFja0VudHJ5ICpwOworCisgICAgaWYgKCh3cml0ZXIgPT0gTlVMTCkgfHwgKHRhcmdldCA9PSBOVUxMKSB8fCAoKnRhcmdldCA9PSAnXDAnKSkKKyAgICAgICAgcmV0dXJuIC0xOworCisgICAgaWYgKHhtbFN0cmNhc2VjbXAodGFyZ2V0LCAoY29uc3QgeG1sQ2hhciAqKSAieG1sIikgPT0gMCkgeworICAgICAgICB4bWxXcml0ZXJFcnJNc2cod3JpdGVyLCBYTUxfRVJSX0lOVEVSTkFMX0VSUk9SLAorICAgICAgICAgICAgICAgICAgICAgICAgInhtbFRleHRXcml0ZXJTdGFydFBJIDogdGFyZ2V0IG5hbWUgW1h4XVtNbV1bTGxdIGlzIHJlc2VydmVkIGZvciB4bWwgc3RhbmRhcmRpemF0aW9uIVxuIik7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisKKyAgICBzdW0gPSAwOworICAgIGxrID0geG1sTGlzdEZyb250KHdyaXRlci0+bm9kZXMpOworICAgIGlmIChsayAhPSAwKSB7CisgICAgICAgIHAgPSAoeG1sVGV4dFdyaXRlclN0YWNrRW50cnkgKikgeG1sTGlua0dldERhdGEobGspOworICAgICAgICBpZiAocCAhPSAwKSB7CisgICAgICAgICAgICBzd2l0Y2ggKHAtPnN0YXRlKSB7CisgICAgICAgICAgICAgICAgY2FzZSBYTUxfVEVYVFdSSVRFUl9BVFRSSUJVVEU6CisgICAgICAgICAgICAgICAgICAgIGNvdW50ID0geG1sVGV4dFdyaXRlckVuZEF0dHJpYnV0ZSh3cml0ZXIpOworICAgICAgICAgICAgICAgICAgICBpZiAoY291bnQgPCAwKQorICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgICAgICAgICBzdW0gKz0gY291bnQ7CisgICAgICAgICAgICAgICAgICAgIC8qIGZhbGx0aHJvdWdoICovCisgICAgICAgICAgICAgICAgY2FzZSBYTUxfVEVYVFdSSVRFUl9OQU1FOgorICAgICAgICAgICAgICAgICAgICAvKiBPdXRwdXQgbmFtZXNwYWNlIGRlY2xhcmF0aW9ucyAqLworICAgICAgICAgICAgICAgICAgICBjb3VudCA9IHhtbFRleHRXcml0ZXJPdXRwdXROU0RlY2wod3JpdGVyKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGNvdW50IDwgMCkKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgICAgICAgICAgc3VtICs9IGNvdW50OworICAgICAgICAgICAgICAgICAgICBjb3VudCA9IHhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nKHdyaXRlci0+b3V0LCAiPiIpOworICAgICAgICAgICAgICAgICAgICBpZiAoY291bnQgPCAwKQorICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgICAgICAgICBzdW0gKz0gY291bnQ7CisgICAgICAgICAgICAgICAgICAgIHAtPnN0YXRlID0gWE1MX1RFWFRXUklURVJfVEVYVDsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgY2FzZSBYTUxfVEVYVFdSSVRFUl9OT05FOgorICAgICAgICAgICAgICAgIGNhc2UgWE1MX1RFWFRXUklURVJfVEVYVDoKKyAgICAgICAgICAgICAgICBjYXNlIFhNTF9URVhUV1JJVEVSX0RURDoKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgY2FzZSBYTUxfVEVYVFdSSVRFUl9QSToKKyAgICAgICAgICAgICAgICBjYXNlIFhNTF9URVhUV1JJVEVSX1BJX1RFWFQ6CisgICAgICAgICAgICAgICAgICAgIHhtbFdyaXRlckVyck1zZyh3cml0ZXIsIFhNTF9FUlJfSU5URVJOQUxfRVJST1IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAieG1sVGV4dFdyaXRlclN0YXJ0UEkgOiBuZXN0ZWQgUEkhXG4iKTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKworICAgIHAgPSAoeG1sVGV4dFdyaXRlclN0YWNrRW50cnkgKikKKyAgICAgICAgeG1sTWFsbG9jKHNpemVvZih4bWxUZXh0V3JpdGVyU3RhY2tFbnRyeSkpOworICAgIGlmIChwID09IDApIHsKKyAgICAgICAgeG1sV3JpdGVyRXJyTXNnKHdyaXRlciwgWE1MX0VSUl9OT19NRU1PUlksCisgICAgICAgICAgICAgICAgICAgICAgICAieG1sVGV4dFdyaXRlclN0YXJ0UEkgOiBvdXQgb2YgbWVtb3J5IVxuIik7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisKKyAgICBwLT5uYW1lID0geG1sU3RyZHVwKHRhcmdldCk7CisgICAgaWYgKHAtPm5hbWUgPT0gMCkgeworICAgICAgICB4bWxXcml0ZXJFcnJNc2cod3JpdGVyLCBYTUxfRVJSX05PX01FTU9SWSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4bWxUZXh0V3JpdGVyU3RhcnRQSSA6IG91dCBvZiBtZW1vcnkhXG4iKTsKKyAgICAgICAgeG1sRnJlZShwKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKyAgICBwLT5zdGF0ZSA9IFhNTF9URVhUV1JJVEVSX1BJOworCisgICAgeG1sTGlzdFB1c2hGcm9udCh3cml0ZXItPm5vZGVzLCBwKTsKKworICAgIGNvdW50ID0geG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcod3JpdGVyLT5vdXQsICI8PyIpOworICAgIGlmIChjb3VudCA8IDApCisgICAgICAgIHJldHVybiAtMTsKKyAgICBzdW0gKz0gY291bnQ7CisgICAgY291bnQgPQorICAgICAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyh3cml0ZXItPm91dCwgKGNvbnN0IGNoYXIgKikgcC0+bmFtZSk7CisgICAgaWYgKGNvdW50IDwgMCkKKyAgICAgICAgcmV0dXJuIC0xOworICAgIHN1bSArPSBjb3VudDsKKworICAgIHJldHVybiBzdW07Cit9CisKKy8qKgorICogeG1sVGV4dFdyaXRlckVuZFBJOgorICogQHdyaXRlcjogIHRoZSB4bWxUZXh0V3JpdGVyUHRyCisgKgorICogRW5kIHRoZSBjdXJyZW50IHhtbCBQSS4KKyAqCisgKiBSZXR1cm5zIHRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcgorICovCitpbnQKK3htbFRleHRXcml0ZXJFbmRQSSh4bWxUZXh0V3JpdGVyUHRyIHdyaXRlcikKK3sKKyAgICBpbnQgY291bnQ7CisgICAgaW50IHN1bTsKKyAgICB4bWxMaW5rUHRyIGxrOworICAgIHhtbFRleHRXcml0ZXJTdGFja0VudHJ5ICpwOworCisgICAgaWYgKHdyaXRlciA9PSBOVUxMKQorICAgICAgICByZXR1cm4gLTE7CisKKyAgICBsayA9IHhtbExpc3RGcm9udCh3cml0ZXItPm5vZGVzKTsKKyAgICBpZiAobGsgPT0gMCkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBwID0gKHhtbFRleHRXcml0ZXJTdGFja0VudHJ5ICopIHhtbExpbmtHZXREYXRhKGxrKTsKKyAgICBpZiAocCA9PSAwKQorICAgICAgICByZXR1cm4gMDsKKworICAgIHN1bSA9IDA7CisgICAgc3dpdGNoIChwLT5zdGF0ZSkgeworICAgICAgICBjYXNlIFhNTF9URVhUV1JJVEVSX1BJOgorICAgICAgICBjYXNlIFhNTF9URVhUV1JJVEVSX1BJX1RFWFQ6CisgICAgICAgICAgICBjb3VudCA9IHhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nKHdyaXRlci0+b3V0LCAiPz4iKTsKKyAgICAgICAgICAgIGlmIChjb3VudCA8IDApCisgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgc3VtICs9IGNvdW50OworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgfQorCisgICAgaWYgKHdyaXRlci0+aW5kZW50KSB7CisgICAgICAgIGNvdW50ID0geG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcod3JpdGVyLT5vdXQsICJcbiIpOworCWlmIChjb3VudCA8IDApCisJcmV0dXJuIC0xOworICAgICAgICBzdW0gKz0gY291bnQ7CisgICAgfQorCisgICAgeG1sTGlzdFBvcEZyb250KHdyaXRlci0+bm9kZXMpOworICAgIHJldHVybiBzdW07Cit9CisKKy8qKgorICogeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0UEk6CisgKiBAd3JpdGVyOiAgdGhlIHhtbFRleHRXcml0ZXJQdHIKKyAqIEB0YXJnZXQ6ICBQSSB0YXJnZXQKKyAqIEBmb3JtYXQ6ICBmb3JtYXQgc3RyaW5nIChzZWUgcHJpbnRmKQorICogQC4uLjogIGV4dHJhIHBhcmFtZXRlcnMgZm9yIHRoZSBmb3JtYXQKKyAqCisgKiBXcml0ZSBhIGZvcm1hdHRlZCBQSS4KKyAqCisgKiBSZXR1cm5zIHRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcgorICovCitpbnQgWE1MQ0RFQ0wKK3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdFBJKHhtbFRleHRXcml0ZXJQdHIgd3JpdGVyLCBjb25zdCB4bWxDaGFyICogdGFyZ2V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZm9ybWF0LCAuLi4pCit7CisgICAgaW50IHJjOworICAgIHZhX2xpc3QgYXA7CisKKyAgICB2YV9zdGFydChhcCwgZm9ybWF0KTsKKworICAgIHJjID0geG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdFBJKHdyaXRlciwgdGFyZ2V0LCBmb3JtYXQsIGFwKTsKKworICAgIHZhX2VuZChhcCk7CisgICAgcmV0dXJuIHJjOworfQorCisvKioKKyAqIHhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRQSToKKyAqIEB3cml0ZXI6ICB0aGUgeG1sVGV4dFdyaXRlclB0cgorICogQHRhcmdldDogIFBJIHRhcmdldAorICogQGZvcm1hdDogIGZvcm1hdCBzdHJpbmcgKHNlZSBwcmludGYpCisgKiBAYXJncHRyOiAgcG9pbnRlciB0byB0aGUgZmlyc3QgbWVtYmVyIG9mIHRoZSB2YXJpYWJsZSBhcmd1bWVudCBsaXN0LgorICoKKyAqIFdyaXRlIGEgZm9ybWF0dGVkIHhtbCBQSS4KKyAqCisgKiBSZXR1cm5zIHRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcgorICovCitpbnQKK3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXRQSSh4bWxUZXh0V3JpdGVyUHRyIHdyaXRlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogdGFyZ2V0LCBjb25zdCBjaGFyICpmb3JtYXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFfbGlzdCBhcmdwdHIpCit7CisgICAgaW50IHJjOworICAgIHhtbENoYXIgKmJ1ZjsKKworICAgIGlmICh3cml0ZXIgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIC0xOworCisgICAgYnVmID0geG1sVGV4dFdyaXRlclZTcHJpbnRmKGZvcm1hdCwgYXJncHRyKTsKKyAgICBpZiAoYnVmID09IE5VTEwpCisgICAgICAgIHJldHVybiAtMTsKKworICAgIHJjID0geG1sVGV4dFdyaXRlcldyaXRlUEkod3JpdGVyLCB0YXJnZXQsIGJ1Zik7CisKKyAgICB4bWxGcmVlKGJ1Zik7CisgICAgcmV0dXJuIHJjOworfQorCisvKioKKyAqIHhtbFRleHRXcml0ZXJXcml0ZVBJOgorICogQHdyaXRlcjogIHRoZSB4bWxUZXh0V3JpdGVyUHRyCisgKiBAdGFyZ2V0OiAgUEkgdGFyZ2V0CisgKiBAY29udGVudDogIFBJIGNvbnRlbnQKKyAqCisgKiBXcml0ZSBhbiB4bWwgUEkuCisgKgorICogUmV0dXJucyB0aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworaW50Cit4bWxUZXh0V3JpdGVyV3JpdGVQSSh4bWxUZXh0V3JpdGVyUHRyIHdyaXRlciwgY29uc3QgeG1sQ2hhciAqIHRhcmdldCwKKyAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBjb250ZW50KQoreworICAgIGludCBjb3VudDsKKyAgICBpbnQgc3VtOworCisgICAgc3VtID0gMDsKKyAgICBjb3VudCA9IHhtbFRleHRXcml0ZXJTdGFydFBJKHdyaXRlciwgdGFyZ2V0KTsKKyAgICBpZiAoY291bnQgPT0gLTEpCisgICAgICAgIHJldHVybiAtMTsKKyAgICBzdW0gKz0gY291bnQ7CisgICAgaWYgKGNvbnRlbnQgIT0gMCkgeworICAgICAgICBjb3VudCA9IHhtbFRleHRXcml0ZXJXcml0ZVN0cmluZyh3cml0ZXIsIGNvbnRlbnQpOworICAgICAgICBpZiAoY291bnQgPT0gLTEpCisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIHN1bSArPSBjb3VudDsKKyAgICB9CisgICAgY291bnQgPSB4bWxUZXh0V3JpdGVyRW5kUEkod3JpdGVyKTsKKyAgICBpZiAoY291bnQgPT0gLTEpCisgICAgICAgIHJldHVybiAtMTsKKyAgICBzdW0gKz0gY291bnQ7CisKKyAgICByZXR1cm4gc3VtOworfQorCisvKioKKyAqIHhtbFRleHRXcml0ZXJTdGFydENEQVRBOgorICogQHdyaXRlcjogIHRoZSB4bWxUZXh0V3JpdGVyUHRyCisgKgorICogU3RhcnQgYW4geG1sIENEQVRBIHNlY3Rpb24uCisgKgorICogUmV0dXJucyB0aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworaW50Cit4bWxUZXh0V3JpdGVyU3RhcnRDREFUQSh4bWxUZXh0V3JpdGVyUHRyIHdyaXRlcikKK3sKKyAgICBpbnQgY291bnQ7CisgICAgaW50IHN1bTsKKyAgICB4bWxMaW5rUHRyIGxrOworICAgIHhtbFRleHRXcml0ZXJTdGFja0VudHJ5ICpwOworCisgICAgaWYgKHdyaXRlciA9PSBOVUxMKQorICAgICAgICByZXR1cm4gLTE7CisKKyAgICBzdW0gPSAwOworICAgIGxrID0geG1sTGlzdEZyb250KHdyaXRlci0+bm9kZXMpOworICAgIGlmIChsayAhPSAwKSB7CisgICAgICAgIHAgPSAoeG1sVGV4dFdyaXRlclN0YWNrRW50cnkgKikgeG1sTGlua0dldERhdGEobGspOworICAgICAgICBpZiAocCAhPSAwKSB7CisgICAgICAgICAgICBzd2l0Y2ggKHAtPnN0YXRlKSB7CisgICAgICAgICAgICAgICAgY2FzZSBYTUxfVEVYVFdSSVRFUl9OT05FOgorCQljYXNlIFhNTF9URVhUV1JJVEVSX1RFWFQ6CisgICAgICAgICAgICAgICAgY2FzZSBYTUxfVEVYVFdSSVRFUl9QSToKKyAgICAgICAgICAgICAgICBjYXNlIFhNTF9URVhUV1JJVEVSX1BJX1RFWFQ6CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIGNhc2UgWE1MX1RFWFRXUklURVJfQVRUUklCVVRFOgorICAgICAgICAgICAgICAgICAgICBjb3VudCA9IHhtbFRleHRXcml0ZXJFbmRBdHRyaWJ1dGUod3JpdGVyKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGNvdW50IDwgMCkKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgICAgICAgICAgc3VtICs9IGNvdW50OworICAgICAgICAgICAgICAgICAgICAvKiBmYWxsdGhyb3VnaCAqLworICAgICAgICAgICAgICAgIGNhc2UgWE1MX1RFWFRXUklURVJfTkFNRToKKyAgICAgICAgICAgICAgICAgICAgLyogT3V0cHV0IG5hbWVzcGFjZSBkZWNsYXJhdGlvbnMgKi8KKyAgICAgICAgICAgICAgICAgICAgY291bnQgPSB4bWxUZXh0V3JpdGVyT3V0cHV0TlNEZWNsKHdyaXRlcik7CisgICAgICAgICAgICAgICAgICAgIGlmIChjb3VudCA8IDApCisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICAgICAgICAgIHN1bSArPSBjb3VudDsKKyAgICAgICAgICAgICAgICAgICAgY291bnQgPSB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyh3cml0ZXItPm91dCwgIj4iKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGNvdW50IDwgMCkKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgICAgICAgICAgc3VtICs9IGNvdW50OworICAgICAgICAgICAgICAgICAgICBwLT5zdGF0ZSA9IFhNTF9URVhUV1JJVEVSX1RFWFQ7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIGNhc2UgWE1MX1RFWFRXUklURVJfQ0RBVEE6CisgICAgICAgICAgICAgICAgICAgIHhtbFdyaXRlckVyck1zZyh3cml0ZXIsIFhNTF9FUlJfSU5URVJOQUxfRVJST1IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAieG1sVGV4dFdyaXRlclN0YXJ0Q0RBVEEgOiBDREFUQSBub3QgYWxsb3dlZCBpbiB0aGlzIGNvbnRleHQhXG4iKTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKworICAgIHAgPSAoeG1sVGV4dFdyaXRlclN0YWNrRW50cnkgKikKKyAgICAgICAgeG1sTWFsbG9jKHNpemVvZih4bWxUZXh0V3JpdGVyU3RhY2tFbnRyeSkpOworICAgIGlmIChwID09IDApIHsKKyAgICAgICAgeG1sV3JpdGVyRXJyTXNnKHdyaXRlciwgWE1MX0VSUl9OT19NRU1PUlksCisgICAgICAgICAgICAgICAgICAgICAgICAieG1sVGV4dFdyaXRlclN0YXJ0Q0RBVEEgOiBvdXQgb2YgbWVtb3J5IVxuIik7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisKKyAgICBwLT5uYW1lID0gTlVMTDsKKyAgICBwLT5zdGF0ZSA9IFhNTF9URVhUV1JJVEVSX0NEQVRBOworCisgICAgeG1sTGlzdFB1c2hGcm9udCh3cml0ZXItPm5vZGVzLCBwKTsKKworICAgIGNvdW50ID0geG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcod3JpdGVyLT5vdXQsICI8IVtDREFUQVsiKTsKKyAgICBpZiAoY291bnQgPCAwKQorICAgICAgICByZXR1cm4gLTE7CisgICAgc3VtICs9IGNvdW50OworCisgICAgcmV0dXJuIHN1bTsKK30KKworLyoqCisgKiB4bWxUZXh0V3JpdGVyRW5kQ0RBVEE6CisgKiBAd3JpdGVyOiAgdGhlIHhtbFRleHRXcml0ZXJQdHIKKyAqCisgKiBFbmQgYW4geG1sIENEQVRBIHNlY3Rpb24uCisgKgorICogUmV0dXJucyB0aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworaW50Cit4bWxUZXh0V3JpdGVyRW5kQ0RBVEEoeG1sVGV4dFdyaXRlclB0ciB3cml0ZXIpCit7CisgICAgaW50IGNvdW50OworICAgIGludCBzdW07CisgICAgeG1sTGlua1B0ciBsazsKKyAgICB4bWxUZXh0V3JpdGVyU3RhY2tFbnRyeSAqcDsKKworICAgIGlmICh3cml0ZXIgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIC0xOworCisgICAgbGsgPSB4bWxMaXN0RnJvbnQod3JpdGVyLT5ub2Rlcyk7CisgICAgaWYgKGxrID09IDApCisgICAgICAgIHJldHVybiAtMTsKKworICAgIHAgPSAoeG1sVGV4dFdyaXRlclN0YWNrRW50cnkgKikgeG1sTGlua0dldERhdGEobGspOworICAgIGlmIChwID09IDApCisgICAgICAgIHJldHVybiAtMTsKKworICAgIHN1bSA9IDA7CisgICAgc3dpdGNoIChwLT5zdGF0ZSkgeworICAgICAgICBjYXNlIFhNTF9URVhUV1JJVEVSX0NEQVRBOgorICAgICAgICAgICAgY291bnQgPSB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyh3cml0ZXItPm91dCwgIl1dPiIpOworICAgICAgICAgICAgaWYgKGNvdW50IDwgMCkKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICBzdW0gKz0gY291bnQ7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisKKyAgICB4bWxMaXN0UG9wRnJvbnQod3JpdGVyLT5ub2Rlcyk7CisgICAgcmV0dXJuIHN1bTsKK30KKworLyoqCisgKiB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXRDREFUQToKKyAqIEB3cml0ZXI6ICB0aGUgeG1sVGV4dFdyaXRlclB0cgorICogQGZvcm1hdDogIGZvcm1hdCBzdHJpbmcgKHNlZSBwcmludGYpCisgKiBALi4uOiAgZXh0cmEgcGFyYW1ldGVycyBmb3IgdGhlIGZvcm1hdAorICoKKyAqIFdyaXRlIGEgZm9ybWF0dGVkIHhtbCBDREFUQS4KKyAqCisgKiBSZXR1cm5zIHRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcgorICovCitpbnQgWE1MQ0RFQ0wKK3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdENEQVRBKHhtbFRleHRXcml0ZXJQdHIgd3JpdGVyLCBjb25zdCBjaGFyICpmb3JtYXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi4pCit7CisgICAgaW50IHJjOworICAgIHZhX2xpc3QgYXA7CisKKyAgICB2YV9zdGFydChhcCwgZm9ybWF0KTsKKworICAgIHJjID0geG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdENEQVRBKHdyaXRlciwgZm9ybWF0LCBhcCk7CisKKyAgICB2YV9lbmQoYXApOworICAgIHJldHVybiByYzsKK30KKworLyoqCisgKiB4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0Q0RBVEE6CisgKiBAd3JpdGVyOiAgdGhlIHhtbFRleHRXcml0ZXJQdHIKKyAqIEBmb3JtYXQ6ICBmb3JtYXQgc3RyaW5nIChzZWUgcHJpbnRmKQorICogQGFyZ3B0cjogIHBvaW50ZXIgdG8gdGhlIGZpcnN0IG1lbWJlciBvZiB0aGUgdmFyaWFibGUgYXJndW1lbnQgbGlzdC4KKyAqCisgKiBXcml0ZSBhIGZvcm1hdHRlZCB4bWwgQ0RBVEEuCisgKgorICogUmV0dXJucyB0aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworaW50Cit4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0Q0RBVEEoeG1sVGV4dFdyaXRlclB0ciB3cml0ZXIsIGNvbnN0IGNoYXIgKmZvcm1hdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YV9saXN0IGFyZ3B0cikKK3sKKyAgICBpbnQgcmM7CisgICAgeG1sQ2hhciAqYnVmOworCisgICAgaWYgKHdyaXRlciA9PSBOVUxMKQorICAgICAgICByZXR1cm4gLTE7CisKKyAgICBidWYgPSB4bWxUZXh0V3JpdGVyVlNwcmludGYoZm9ybWF0LCBhcmdwdHIpOworICAgIGlmIChidWYgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIC0xOworCisgICAgcmMgPSB4bWxUZXh0V3JpdGVyV3JpdGVDREFUQSh3cml0ZXIsIGJ1Zik7CisKKyAgICB4bWxGcmVlKGJ1Zik7CisgICAgcmV0dXJuIHJjOworfQorCisvKioKKyAqIHhtbFRleHRXcml0ZXJXcml0ZUNEQVRBOgorICogQHdyaXRlcjogIHRoZSB4bWxUZXh0V3JpdGVyUHRyCisgKiBAY29udGVudDogIENEQVRBIGNvbnRlbnQKKyAqCisgKiBXcml0ZSBhbiB4bWwgQ0RBVEEuCisgKgorICogUmV0dXJucyB0aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworaW50Cit4bWxUZXh0V3JpdGVyV3JpdGVDREFUQSh4bWxUZXh0V3JpdGVyUHRyIHdyaXRlciwgY29uc3QgeG1sQ2hhciAqIGNvbnRlbnQpCit7CisgICAgaW50IGNvdW50OworICAgIGludCBzdW07CisKKyAgICBzdW0gPSAwOworICAgIGNvdW50ID0geG1sVGV4dFdyaXRlclN0YXJ0Q0RBVEEod3JpdGVyKTsKKyAgICBpZiAoY291bnQgPT0gLTEpCisgICAgICAgIHJldHVybiAtMTsKKyAgICBzdW0gKz0gY291bnQ7CisgICAgaWYgKGNvbnRlbnQgIT0gMCkgeworICAgICAgICBjb3VudCA9IHhtbFRleHRXcml0ZXJXcml0ZVN0cmluZyh3cml0ZXIsIGNvbnRlbnQpOworICAgICAgICBpZiAoY291bnQgPT0gLTEpCisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIHN1bSArPSBjb3VudDsKKyAgICB9CisgICAgY291bnQgPSB4bWxUZXh0V3JpdGVyRW5kQ0RBVEEod3JpdGVyKTsKKyAgICBpZiAoY291bnQgPT0gLTEpCisgICAgICAgIHJldHVybiAtMTsKKyAgICBzdW0gKz0gY291bnQ7CisKKyAgICByZXR1cm4gc3VtOworfQorCisvKioKKyAqIHhtbFRleHRXcml0ZXJTdGFydERURDoKKyAqIEB3cml0ZXI6ICB0aGUgeG1sVGV4dFdyaXRlclB0cgorICogQG5hbWU6ICB0aGUgbmFtZSBvZiB0aGUgRFRECisgKiBAcHViaWQ6ICB0aGUgcHVibGljIGlkZW50aWZpZXIsIHdoaWNoIGlzIGFuIGFsdGVybmF0aXZlIHRvIHRoZSBzeXN0ZW0gaWRlbnRpZmllcgorICogQHN5c2lkOiAgdGhlIHN5c3RlbSBpZGVudGlmaWVyLCB3aGljaCBpcyB0aGUgVVJJIG9mIHRoZSBEVEQKKyAqCisgKiBTdGFydCBhbiB4bWwgRFRELgorICoKKyAqIFJldHVybnMgdGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK2ludAoreG1sVGV4dFdyaXRlclN0YXJ0RFREKHhtbFRleHRXcml0ZXJQdHIgd3JpdGVyLAorICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBuYW1lLAorICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBwdWJpZCwgY29uc3QgeG1sQ2hhciAqIHN5c2lkKQoreworICAgIGludCBjb3VudDsKKyAgICBpbnQgc3VtOworICAgIHhtbExpbmtQdHIgbGs7CisgICAgeG1sVGV4dFdyaXRlclN0YWNrRW50cnkgKnA7CisKKyAgICBpZiAod3JpdGVyID09IE5VTEwgfHwgbmFtZSA9PSBOVUxMIHx8ICpuYW1lID09ICdcMCcpCisgICAgICAgIHJldHVybiAtMTsKKworICAgIHN1bSA9IDA7CisgICAgbGsgPSB4bWxMaXN0RnJvbnQod3JpdGVyLT5ub2Rlcyk7CisgICAgaWYgKChsayAhPSBOVUxMKSAmJiAoeG1sTGlua0dldERhdGEobGspICE9IE5VTEwpKSB7CisgICAgICAgIHhtbFdyaXRlckVyck1zZyh3cml0ZXIsIFhNTF9FUlJfSU5URVJOQUxfRVJST1IsCisgICAgICAgICAgICAgICAgICAgICAgICAieG1sVGV4dFdyaXRlclN0YXJ0RFREIDogRFREIGFsbG93ZWQgb25seSBpbiBwcm9sb2chXG4iKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKworICAgIHAgPSAoeG1sVGV4dFdyaXRlclN0YWNrRW50cnkgKikKKyAgICAgICAgeG1sTWFsbG9jKHNpemVvZih4bWxUZXh0V3JpdGVyU3RhY2tFbnRyeSkpOworICAgIGlmIChwID09IDApIHsKKyAgICAgICAgeG1sV3JpdGVyRXJyTXNnKHdyaXRlciwgWE1MX0VSUl9OT19NRU1PUlksCisgICAgICAgICAgICAgICAgICAgICAgICAieG1sVGV4dFdyaXRlclN0YXJ0RFREIDogb3V0IG9mIG1lbW9yeSFcbiIpOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorCisgICAgcC0+bmFtZSA9IHhtbFN0cmR1cChuYW1lKTsKKyAgICBpZiAocC0+bmFtZSA9PSAwKSB7CisgICAgICAgIHhtbFdyaXRlckVyck1zZyh3cml0ZXIsIFhNTF9FUlJfTk9fTUVNT1JZLAorICAgICAgICAgICAgICAgICAgICAgICAgInhtbFRleHRXcml0ZXJTdGFydERURCA6IG91dCBvZiBtZW1vcnkhXG4iKTsKKyAgICAgICAgeG1sRnJlZShwKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKyAgICBwLT5zdGF0ZSA9IFhNTF9URVhUV1JJVEVSX0RURDsKKworICAgIHhtbExpc3RQdXNoRnJvbnQod3JpdGVyLT5ub2RlcywgcCk7CisKKyAgICBjb3VudCA9IHhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nKHdyaXRlci0+b3V0LCAiPCFET0NUWVBFICIpOworICAgIGlmIChjb3VudCA8IDApCisgICAgICAgIHJldHVybiAtMTsKKyAgICBzdW0gKz0gY291bnQ7CisgICAgY291bnQgPSB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyh3cml0ZXItPm91dCwgKGNvbnN0IGNoYXIgKikgbmFtZSk7CisgICAgaWYgKGNvdW50IDwgMCkKKyAgICAgICAgcmV0dXJuIC0xOworICAgIHN1bSArPSBjb3VudDsKKworICAgIGlmIChwdWJpZCAhPSAwKSB7CisgICAgICAgIGlmIChzeXNpZCA9PSAwKSB7CisgICAgICAgICAgICB4bWxXcml0ZXJFcnJNc2cod3JpdGVyLCBYTUxfRVJSX0lOVEVSTkFMX0VSUk9SLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ4bWxUZXh0V3JpdGVyU3RhcnREVEQgOiBzeXN0ZW0gaWRlbnRpZmllciBuZWVkZWQhXG4iKTsKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgfQorCisgICAgICAgIGlmICh3cml0ZXItPmluZGVudCkKKyAgICAgICAgICAgIGNvdW50ID0geG1sT3V0cHV0QnVmZmVyV3JpdGUod3JpdGVyLT5vdXQsIDEsICJcbiIpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBjb3VudCA9IHhtbE91dHB1dEJ1ZmZlcldyaXRlKHdyaXRlci0+b3V0LCAxLCAiICIpOworICAgICAgICBpZiAoY291bnQgPCAwKQorICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICBzdW0gKz0gY291bnQ7CisKKyAgICAgICAgY291bnQgPSB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyh3cml0ZXItPm91dCwgIlBVQkxJQyAiKTsKKyAgICAgICAgaWYgKGNvdW50IDwgMCkKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgc3VtICs9IGNvdW50OworCisgICAgICAgIGNvdW50ID0geG1sT3V0cHV0QnVmZmVyV3JpdGUod3JpdGVyLT5vdXQsIDEsICZ3cml0ZXItPnFjaGFyKTsKKyAgICAgICAgaWYgKGNvdW50IDwgMCkKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgc3VtICs9IGNvdW50OworCisgICAgICAgIGNvdW50ID0KKyAgICAgICAgICAgIHhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nKHdyaXRlci0+b3V0LCAoY29uc3QgY2hhciAqKSBwdWJpZCk7CisgICAgICAgIGlmIChjb3VudCA8IDApCisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIHN1bSArPSBjb3VudDsKKworICAgICAgICBjb3VudCA9IHhtbE91dHB1dEJ1ZmZlcldyaXRlKHdyaXRlci0+b3V0LCAxLCAmd3JpdGVyLT5xY2hhcik7CisgICAgICAgIGlmIChjb3VudCA8IDApCisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIHN1bSArPSBjb3VudDsKKyAgICB9CisKKyAgICBpZiAoc3lzaWQgIT0gMCkgeworICAgICAgICBpZiAocHViaWQgPT0gMCkgeworICAgICAgICAgICAgaWYgKHdyaXRlci0+aW5kZW50KQorICAgICAgICAgICAgICAgIGNvdW50ID0geG1sT3V0cHV0QnVmZmVyV3JpdGUod3JpdGVyLT5vdXQsIDEsICJcbiIpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIGNvdW50ID0geG1sT3V0cHV0QnVmZmVyV3JpdGUod3JpdGVyLT5vdXQsIDEsICIgIik7CisgICAgICAgICAgICBpZiAoY291bnQgPCAwKQorICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgIHN1bSArPSBjb3VudDsKKyAgICAgICAgICAgIGNvdW50ID0geG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcod3JpdGVyLT5vdXQsICJTWVNURU0gIik7CisgICAgICAgICAgICBpZiAoY291bnQgPCAwKQorICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgIHN1bSArPSBjb3VudDsKKyAgICAgICAgfSBlbHNlIHsKKwkJCWlmICh3cml0ZXItPmluZGVudCkKKyAgICAgICAgICAgIGNvdW50ID0geG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcod3JpdGVyLT5vdXQsICJcbiAgICAgICAiKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBjb3VudCA9IHhtbE91dHB1dEJ1ZmZlcldyaXRlKHdyaXRlci0+b3V0LCAxLCAiICIpOworICAgICAgICAgICAgaWYgKGNvdW50IDwgMCkKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICBzdW0gKz0gY291bnQ7CisgICAgICAgIH0KKworICAgICAgICBjb3VudCA9IHhtbE91dHB1dEJ1ZmZlcldyaXRlKHdyaXRlci0+b3V0LCAxLCAmd3JpdGVyLT5xY2hhcik7CisgICAgICAgIGlmIChjb3VudCA8IDApCisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIHN1bSArPSBjb3VudDsKKworICAgICAgICBjb3VudCA9CisgICAgICAgICAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyh3cml0ZXItPm91dCwgKGNvbnN0IGNoYXIgKikgc3lzaWQpOworICAgICAgICBpZiAoY291bnQgPCAwKQorICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICBzdW0gKz0gY291bnQ7CisKKyAgICAgICAgY291bnQgPSB4bWxPdXRwdXRCdWZmZXJXcml0ZSh3cml0ZXItPm91dCwgMSwgJndyaXRlci0+cWNoYXIpOworICAgICAgICBpZiAoY291bnQgPCAwKQorICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICBzdW0gKz0gY291bnQ7CisgICAgfQorCisgICAgcmV0dXJuIHN1bTsKK30KKworLyoqCisgKiB4bWxUZXh0V3JpdGVyRW5kRFREOgorICogQHdyaXRlcjogIHRoZSB4bWxUZXh0V3JpdGVyUHRyCisgKgorICogRW5kIGFuIHhtbCBEVEQuCisgKgorICogUmV0dXJucyB0aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworaW50Cit4bWxUZXh0V3JpdGVyRW5kRFREKHhtbFRleHRXcml0ZXJQdHIgd3JpdGVyKQoreworICAgIGludCBsb29wOworICAgIGludCBjb3VudDsKKyAgICBpbnQgc3VtOworICAgIHhtbExpbmtQdHIgbGs7CisgICAgeG1sVGV4dFdyaXRlclN0YWNrRW50cnkgKnA7CisKKyAgICBpZiAod3JpdGVyID09IE5VTEwpCisgICAgICAgIHJldHVybiAtMTsKKworICAgIHN1bSA9IDA7CisgICAgbG9vcCA9IDE7CisgICAgd2hpbGUgKGxvb3ApIHsKKyAgICAgICAgbGsgPSB4bWxMaXN0RnJvbnQod3JpdGVyLT5ub2Rlcyk7CisgICAgICAgIGlmIChsayA9PSBOVUxMKQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIHAgPSAoeG1sVGV4dFdyaXRlclN0YWNrRW50cnkgKikgeG1sTGlua0dldERhdGEobGspOworICAgICAgICBpZiAocCA9PSAwKQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIHN3aXRjaCAocC0+c3RhdGUpIHsKKyAgICAgICAgICAgIGNhc2UgWE1MX1RFWFRXUklURVJfRFREX1RFWFQ6CisgICAgICAgICAgICAgICAgY291bnQgPSB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyh3cml0ZXItPm91dCwgIl0iKTsKKyAgICAgICAgICAgICAgICBpZiAoY291bnQgPCAwKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICAgICAgc3VtICs9IGNvdW50OworICAgICAgICAgICAgICAgIC8qIGZhbGx0aHJvdWdoICovCisgICAgICAgICAgICBjYXNlIFhNTF9URVhUV1JJVEVSX0RURDoKKyAgICAgICAgICAgICAgICBjb3VudCA9IHhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nKHdyaXRlci0+b3V0LCAiPiIpOworCisgICAgICAgICAgICAgICAgaWYgKHdyaXRlci0+aW5kZW50KSB7CisgICAgICAgICAgICAgICAgICAgIGlmIChjb3VudCA8IDApCisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICAgICAgICAgIHN1bSArPSBjb3VudDsKKyAgICAgICAgICAgICAgICAgICAgY291bnQgPSB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyh3cml0ZXItPm91dCwgIlxuIik7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgeG1sTGlzdFBvcEZyb250KHdyaXRlci0+bm9kZXMpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBYTUxfVEVYVFdSSVRFUl9EVERfRUxFTToKKyAgICAgICAgICAgIGNhc2UgWE1MX1RFWFRXUklURVJfRFREX0VMRU1fVEVYVDoKKyAgICAgICAgICAgICAgICBjb3VudCA9IHhtbFRleHRXcml0ZXJFbmREVERFbGVtZW50KHdyaXRlcik7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIFhNTF9URVhUV1JJVEVSX0RURF9BVFRMOgorICAgICAgICAgICAgY2FzZSBYTUxfVEVYVFdSSVRFUl9EVERfQVRUTF9URVhUOgorICAgICAgICAgICAgICAgIGNvdW50ID0geG1sVGV4dFdyaXRlckVuZERUREF0dGxpc3Qod3JpdGVyKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgWE1MX1RFWFRXUklURVJfRFREX0VOVFk6CisgICAgICAgICAgICBjYXNlIFhNTF9URVhUV1JJVEVSX0RURF9QRU5UOgorICAgICAgICAgICAgY2FzZSBYTUxfVEVYVFdSSVRFUl9EVERfRU5UWV9URVhUOgorICAgICAgICAgICAgICAgIGNvdW50ID0geG1sVGV4dFdyaXRlckVuZERUREVudGl0eSh3cml0ZXIpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBYTUxfVEVYVFdSSVRFUl9DT01NRU5UOgorICAgICAgICAgICAgICAgIGNvdW50ID0geG1sVGV4dFdyaXRlckVuZENvbW1lbnQod3JpdGVyKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgICAgbG9vcCA9IDA7CisgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIH0KKworICAgICAgICBpZiAoY291bnQgPCAwKQorICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICBzdW0gKz0gY291bnQ7CisgICAgfQorCisgICAgcmV0dXJuIHN1bTsKK30KKworLyoqCisgKiB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVEQ6CisgKiBAd3JpdGVyOiAgdGhlIHhtbFRleHRXcml0ZXJQdHIKKyAqIEBuYW1lOiAgdGhlIG5hbWUgb2YgdGhlIERURAorICogQHB1YmlkOiAgdGhlIHB1YmxpYyBpZGVudGlmaWVyLCB3aGljaCBpcyBhbiBhbHRlcm5hdGl2ZSB0byB0aGUgc3lzdGVtIGlkZW50aWZpZXIKKyAqIEBzeXNpZDogIHRoZSBzeXN0ZW0gaWRlbnRpZmllciwgd2hpY2ggaXMgdGhlIFVSSSBvZiB0aGUgRFRECisgKiBAZm9ybWF0OiAgZm9ybWF0IHN0cmluZyAoc2VlIHByaW50ZikKKyAqIEAuLi46ICBleHRyYSBwYXJhbWV0ZXJzIGZvciB0aGUgZm9ybWF0CisgKgorICogV3JpdGUgYSBEVEQgd2l0aCBhIGZvcm1hdHRlZCBtYXJrdXAgZGVjbGFyYXRpb25zIHBhcnQuCisgKgorICogUmV0dXJucyB0aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworaW50IFhNTENERUNMCit4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVEQoeG1sVGV4dFdyaXRlclB0ciB3cml0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIG5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIHB1YmlkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBzeXNpZCwgY29uc3QgY2hhciAqZm9ybWF0LCAuLi4pCit7CisgICAgaW50IHJjOworICAgIHZhX2xpc3QgYXA7CisKKyAgICB2YV9zdGFydChhcCwgZm9ybWF0KTsKKworICAgIHJjID0geG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERURCh3cml0ZXIsIG5hbWUsIHB1YmlkLCBzeXNpZCwgZm9ybWF0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcCk7CisKKyAgICB2YV9lbmQoYXApOworICAgIHJldHVybiByYzsKK30KKworLyoqCisgKiB4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFREOgorICogQHdyaXRlcjogIHRoZSB4bWxUZXh0V3JpdGVyUHRyCisgKiBAbmFtZTogIHRoZSBuYW1lIG9mIHRoZSBEVEQKKyAqIEBwdWJpZDogIHRoZSBwdWJsaWMgaWRlbnRpZmllciwgd2hpY2ggaXMgYW4gYWx0ZXJuYXRpdmUgdG8gdGhlIHN5c3RlbSBpZGVudGlmaWVyCisgKiBAc3lzaWQ6ICB0aGUgc3lzdGVtIGlkZW50aWZpZXIsIHdoaWNoIGlzIHRoZSBVUkkgb2YgdGhlIERURAorICogQGZvcm1hdDogIGZvcm1hdCBzdHJpbmcgKHNlZSBwcmludGYpCisgKiBAYXJncHRyOiAgcG9pbnRlciB0byB0aGUgZmlyc3QgbWVtYmVyIG9mIHRoZSB2YXJpYWJsZSBhcmd1bWVudCBsaXN0LgorICoKKyAqIFdyaXRlIGEgRFREIHdpdGggYSBmb3JtYXR0ZWQgbWFya3VwIGRlY2xhcmF0aW9ucyBwYXJ0LgorICoKKyAqIFJldHVybnMgdGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK2ludAoreG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERURCh4bWxUZXh0V3JpdGVyUHRyIHdyaXRlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIG5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBwdWJpZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIHN5c2lkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpmb3JtYXQsIHZhX2xpc3QgYXJncHRyKQoreworICAgIGludCByYzsKKyAgICB4bWxDaGFyICpidWY7CisKKyAgICBpZiAod3JpdGVyID09IE5VTEwpCisgICAgICAgIHJldHVybiAtMTsKKworICAgIGJ1ZiA9IHhtbFRleHRXcml0ZXJWU3ByaW50Zihmb3JtYXQsIGFyZ3B0cik7CisgICAgaWYgKGJ1ZiA9PSBOVUxMKQorICAgICAgICByZXR1cm4gLTE7CisKKyAgICByYyA9IHhtbFRleHRXcml0ZXJXcml0ZURURCh3cml0ZXIsIG5hbWUsIHB1YmlkLCBzeXNpZCwgYnVmKTsKKworICAgIHhtbEZyZWUoYnVmKTsKKyAgICByZXR1cm4gcmM7Cit9CisKKy8qKgorICogeG1sVGV4dFdyaXRlcldyaXRlRFREOgorICogQHdyaXRlcjogIHRoZSB4bWxUZXh0V3JpdGVyUHRyCisgKiBAbmFtZTogIHRoZSBuYW1lIG9mIHRoZSBEVEQKKyAqIEBwdWJpZDogIHRoZSBwdWJsaWMgaWRlbnRpZmllciwgd2hpY2ggaXMgYW4gYWx0ZXJuYXRpdmUgdG8gdGhlIHN5c3RlbSBpZGVudGlmaWVyCisgKiBAc3lzaWQ6ICB0aGUgc3lzdGVtIGlkZW50aWZpZXIsIHdoaWNoIGlzIHRoZSBVUkkgb2YgdGhlIERURAorICogQHN1YnNldDogIHN0cmluZyBjb250ZW50IG9mIHRoZSBEVEQKKyAqCisgKiBXcml0ZSBhIERURC4KKyAqCisgKiBSZXR1cm5zIHRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcgorICovCitpbnQKK3htbFRleHRXcml0ZXJXcml0ZURURCh4bWxUZXh0V3JpdGVyUHRyIHdyaXRlciwKKyAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogcHViaWQsCisgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIHN5c2lkLCBjb25zdCB4bWxDaGFyICogc3Vic2V0KQoreworICAgIGludCBjb3VudDsKKyAgICBpbnQgc3VtOworCisgICAgc3VtID0gMDsKKyAgICBjb3VudCA9IHhtbFRleHRXcml0ZXJTdGFydERURCh3cml0ZXIsIG5hbWUsIHB1YmlkLCBzeXNpZCk7CisgICAgaWYgKGNvdW50ID09IC0xKQorICAgICAgICByZXR1cm4gLTE7CisgICAgc3VtICs9IGNvdW50OworICAgIGlmIChzdWJzZXQgIT0gMCkgeworICAgICAgICBjb3VudCA9IHhtbFRleHRXcml0ZXJXcml0ZVN0cmluZyh3cml0ZXIsIHN1YnNldCk7CisgICAgICAgIGlmIChjb3VudCA9PSAtMSkKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgc3VtICs9IGNvdW50OworICAgIH0KKyAgICBjb3VudCA9IHhtbFRleHRXcml0ZXJFbmREVEQod3JpdGVyKTsKKyAgICBpZiAoY291bnQgPT0gLTEpCisgICAgICAgIHJldHVybiAtMTsKKyAgICBzdW0gKz0gY291bnQ7CisKKyAgICByZXR1cm4gc3VtOworfQorCisvKioKKyAqIHhtbFRleHRXcml0ZXJTdGFydERUREVsZW1lbnQ6CisgKiBAd3JpdGVyOiAgdGhlIHhtbFRleHRXcml0ZXJQdHIKKyAqIEBuYW1lOiAgdGhlIG5hbWUgb2YgdGhlIERURCBlbGVtZW50CisgKgorICogU3RhcnQgYW4geG1sIERURCBlbGVtZW50LgorICoKKyAqIFJldHVybnMgdGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK2ludAoreG1sVGV4dFdyaXRlclN0YXJ0RFRERWxlbWVudCh4bWxUZXh0V3JpdGVyUHRyIHdyaXRlciwgY29uc3QgeG1sQ2hhciAqIG5hbWUpCit7CisgICAgaW50IGNvdW50OworICAgIGludCBzdW07CisgICAgeG1sTGlua1B0ciBsazsKKyAgICB4bWxUZXh0V3JpdGVyU3RhY2tFbnRyeSAqcDsKKworICAgIGlmICh3cml0ZXIgPT0gTlVMTCB8fCBuYW1lID09IE5VTEwgfHwgKm5hbWUgPT0gJ1wwJykKKyAgICAgICAgcmV0dXJuIC0xOworCisgICAgc3VtID0gMDsKKyAgICBsayA9IHhtbExpc3RGcm9udCh3cml0ZXItPm5vZGVzKTsKKyAgICBpZiAobGsgPT0gMCkgeworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorCisgICAgcCA9ICh4bWxUZXh0V3JpdGVyU3RhY2tFbnRyeSAqKSB4bWxMaW5rR2V0RGF0YShsayk7CisgICAgaWYgKHAgIT0gMCkgeworICAgICAgICBzd2l0Y2ggKHAtPnN0YXRlKSB7CisgICAgICAgICAgICBjYXNlIFhNTF9URVhUV1JJVEVSX0RURDoKKyAgICAgICAgICAgICAgICBjb3VudCA9IHhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nKHdyaXRlci0+b3V0LCAiIFsiKTsKKyAgICAgICAgICAgICAgICBpZiAoY291bnQgPCAwKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICAgICAgc3VtICs9IGNvdW50OworICAgICAgICAgICAgICAgIGlmICh3cml0ZXItPmluZGVudCkgeworICAgICAgICAgICAgICAgICAgICBjb3VudCA9IHhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nKHdyaXRlci0+b3V0LCAiXG4iKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGNvdW50IDwgMCkKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgICAgICAgICAgc3VtICs9IGNvdW50OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBwLT5zdGF0ZSA9IFhNTF9URVhUV1JJVEVSX0RURF9URVhUOworICAgICAgICAgICAgICAgIC8qIGZhbGx0aHJvdWdoICovCisgICAgICAgICAgICBjYXNlIFhNTF9URVhUV1JJVEVSX0RURF9URVhUOgorICAgICAgICAgICAgY2FzZSBYTUxfVEVYVFdSSVRFUl9OT05FOgorICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBwID0gKHhtbFRleHRXcml0ZXJTdGFja0VudHJ5ICopCisgICAgICAgIHhtbE1hbGxvYyhzaXplb2YoeG1sVGV4dFdyaXRlclN0YWNrRW50cnkpKTsKKyAgICBpZiAocCA9PSAwKSB7CisgICAgICAgIHhtbFdyaXRlckVyck1zZyh3cml0ZXIsIFhNTF9FUlJfTk9fTUVNT1JZLAorICAgICAgICAgICAgICAgICAgICAgICAgInhtbFRleHRXcml0ZXJTdGFydERUREVsZW1lbnQgOiBvdXQgb2YgbWVtb3J5IVxuIik7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisKKyAgICBwLT5uYW1lID0geG1sU3RyZHVwKG5hbWUpOworICAgIGlmIChwLT5uYW1lID09IDApIHsKKyAgICAgICAgeG1sV3JpdGVyRXJyTXNnKHdyaXRlciwgWE1MX0VSUl9OT19NRU1PUlksCisgICAgICAgICAgICAgICAgICAgICAgICAieG1sVGV4dFdyaXRlclN0YXJ0RFRERWxlbWVudCA6IG91dCBvZiBtZW1vcnkhXG4iKTsKKyAgICAgICAgeG1sRnJlZShwKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKyAgICBwLT5zdGF0ZSA9IFhNTF9URVhUV1JJVEVSX0RURF9FTEVNOworCisgICAgeG1sTGlzdFB1c2hGcm9udCh3cml0ZXItPm5vZGVzLCBwKTsKKworICAgIGlmICh3cml0ZXItPmluZGVudCkgeworICAgICAgICBjb3VudCA9IHhtbFRleHRXcml0ZXJXcml0ZUluZGVudCh3cml0ZXIpOworICAgICAgICBpZiAoY291bnQgPCAwKQorICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICBzdW0gKz0gY291bnQ7CisgICAgfQorCisgICAgY291bnQgPSB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyh3cml0ZXItPm91dCwgIjwhRUxFTUVOVCAiKTsKKyAgICBpZiAoY291bnQgPCAwKQorICAgICAgICByZXR1cm4gLTE7CisgICAgc3VtICs9IGNvdW50OworICAgIGNvdW50ID0geG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcod3JpdGVyLT5vdXQsIChjb25zdCBjaGFyICopIG5hbWUpOworICAgIGlmIChjb3VudCA8IDApCisgICAgICAgIHJldHVybiAtMTsKKyAgICBzdW0gKz0gY291bnQ7CisKKyAgICByZXR1cm4gc3VtOworfQorCisvKioKKyAqIHhtbFRleHRXcml0ZXJFbmREVERFbGVtZW50OgorICogQHdyaXRlcjogIHRoZSB4bWxUZXh0V3JpdGVyUHRyCisgKgorICogRW5kIGFuIHhtbCBEVEQgZWxlbWVudC4KKyAqCisgKiBSZXR1cm5zIHRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcgorICovCitpbnQKK3htbFRleHRXcml0ZXJFbmREVERFbGVtZW50KHhtbFRleHRXcml0ZXJQdHIgd3JpdGVyKQoreworICAgIGludCBjb3VudDsKKyAgICBpbnQgc3VtOworICAgIHhtbExpbmtQdHIgbGs7CisgICAgeG1sVGV4dFdyaXRlclN0YWNrRW50cnkgKnA7CisKKyAgICBpZiAod3JpdGVyID09IE5VTEwpCisgICAgICAgIHJldHVybiAtMTsKKworICAgIHN1bSA9IDA7CisgICAgbGsgPSB4bWxMaXN0RnJvbnQod3JpdGVyLT5ub2Rlcyk7CisgICAgaWYgKGxrID09IDApCisgICAgICAgIHJldHVybiAtMTsKKworICAgIHAgPSAoeG1sVGV4dFdyaXRlclN0YWNrRW50cnkgKikgeG1sTGlua0dldERhdGEobGspOworICAgIGlmIChwID09IDApCisgICAgICAgIHJldHVybiAtMTsKKworICAgIHN3aXRjaCAocC0+c3RhdGUpIHsKKyAgICAgICAgY2FzZSBYTUxfVEVYVFdSSVRFUl9EVERfRUxFTToKKyAgICAgICAgY2FzZSBYTUxfVEVYVFdSSVRFUl9EVERfRUxFTV9URVhUOgorICAgICAgICAgICAgY291bnQgPSB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyh3cml0ZXItPm91dCwgIj4iKTsKKyAgICAgICAgICAgIGlmIChjb3VudCA8IDApCisgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgc3VtICs9IGNvdW50OworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgfQorCisgICAgaWYgKHdyaXRlci0+aW5kZW50KSB7CisgICAgICAgIGNvdW50ID0geG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcod3JpdGVyLT5vdXQsICJcbiIpOworICAgICAgICBpZiAoY291bnQgPCAwKQorICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICBzdW0gKz0gY291bnQ7CisgICAgfQorCisgICAgeG1sTGlzdFBvcEZyb250KHdyaXRlci0+bm9kZXMpOworICAgIHJldHVybiBzdW07Cit9CisKKy8qKgorICogeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFRERWxlbWVudDoKKyAqIEB3cml0ZXI6ICB0aGUgeG1sVGV4dFdyaXRlclB0cgorICogQG5hbWU6ICB0aGUgbmFtZSBvZiB0aGUgRFREIGVsZW1lbnQKKyAqIEBmb3JtYXQ6ICBmb3JtYXQgc3RyaW5nIChzZWUgcHJpbnRmKQorICogQC4uLjogIGV4dHJhIHBhcmFtZXRlcnMgZm9yIHRoZSBmb3JtYXQKKyAqCisgKiBXcml0ZSBhIGZvcm1hdHRlZCBEVEQgZWxlbWVudC4KKyAqCisgKiBSZXR1cm5zIHRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcgorICovCitpbnQgWE1MQ0RFQ0wKK3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdERUREVsZW1lbnQoeG1sVGV4dFdyaXRlclB0ciB3cml0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpmb3JtYXQsIC4uLikKK3sKKyAgICBpbnQgcmM7CisgICAgdmFfbGlzdCBhcDsKKworICAgIHZhX3N0YXJ0KGFwLCBmb3JtYXQpOworCisgICAgcmMgPSB4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFRERWxlbWVudCh3cml0ZXIsIG5hbWUsIGZvcm1hdCwgYXApOworCisgICAgdmFfZW5kKGFwKTsKKyAgICByZXR1cm4gcmM7Cit9CisKKy8qKgorICogeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREVsZW1lbnQ6CisgKiBAd3JpdGVyOiAgdGhlIHhtbFRleHRXcml0ZXJQdHIKKyAqIEBuYW1lOiAgdGhlIG5hbWUgb2YgdGhlIERURCBlbGVtZW50CisgKiBAZm9ybWF0OiAgZm9ybWF0IHN0cmluZyAoc2VlIHByaW50ZikKKyAqIEBhcmdwdHI6ICBwb2ludGVyIHRvIHRoZSBmaXJzdCBtZW1iZXIgb2YgdGhlIHZhcmlhYmxlIGFyZ3VtZW50IGxpc3QuCisgKgorICogV3JpdGUgYSBmb3JtYXR0ZWQgRFREIGVsZW1lbnQuCisgKgorICogUmV0dXJucyB0aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworaW50Cit4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFRERWxlbWVudCh4bWxUZXh0V3JpdGVyUHRyIHdyaXRlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZm9ybWF0LCB2YV9saXN0IGFyZ3B0cikKK3sKKyAgICBpbnQgcmM7CisgICAgeG1sQ2hhciAqYnVmOworCisgICAgaWYgKHdyaXRlciA9PSBOVUxMKQorICAgICAgICByZXR1cm4gLTE7CisKKyAgICBidWYgPSB4bWxUZXh0V3JpdGVyVlNwcmludGYoZm9ybWF0LCBhcmdwdHIpOworICAgIGlmIChidWYgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIC0xOworCisgICAgcmMgPSB4bWxUZXh0V3JpdGVyV3JpdGVEVERFbGVtZW50KHdyaXRlciwgbmFtZSwgYnVmKTsKKworICAgIHhtbEZyZWUoYnVmKTsKKyAgICByZXR1cm4gcmM7Cit9CisKKy8qKgorICogeG1sVGV4dFdyaXRlcldyaXRlRFRERWxlbWVudDoKKyAqIEB3cml0ZXI6ICB0aGUgeG1sVGV4dFdyaXRlclB0cgorICogQG5hbWU6ICB0aGUgbmFtZSBvZiB0aGUgRFREIGVsZW1lbnQKKyAqIEBjb250ZW50OiAgY29udGVudCBvZiB0aGUgZWxlbWVudAorICoKKyAqIFdyaXRlIGEgRFREIGVsZW1lbnQuCisgKgorICogUmV0dXJucyB0aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworaW50Cit4bWxUZXh0V3JpdGVyV3JpdGVEVERFbGVtZW50KHhtbFRleHRXcml0ZXJQdHIgd3JpdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogbmFtZSwgY29uc3QgeG1sQ2hhciAqIGNvbnRlbnQpCit7CisgICAgaW50IGNvdW50OworICAgIGludCBzdW07CisKKyAgICBpZiAoY29udGVudCA9PSBOVUxMKQorICAgICAgICByZXR1cm4gLTE7CisKKyAgICBzdW0gPSAwOworICAgIGNvdW50ID0geG1sVGV4dFdyaXRlclN0YXJ0RFRERWxlbWVudCh3cml0ZXIsIG5hbWUpOworICAgIGlmIChjb3VudCA9PSAtMSkKKyAgICAgICAgcmV0dXJuIC0xOworICAgIHN1bSArPSBjb3VudDsKKworICAgIGNvdW50ID0geG1sVGV4dFdyaXRlcldyaXRlU3RyaW5nKHdyaXRlciwgY29udGVudCk7CisgICAgaWYgKGNvdW50ID09IC0xKQorICAgICAgICByZXR1cm4gLTE7CisgICAgc3VtICs9IGNvdW50OworCisgICAgY291bnQgPSB4bWxUZXh0V3JpdGVyRW5kRFRERWxlbWVudCh3cml0ZXIpOworICAgIGlmIChjb3VudCA9PSAtMSkKKyAgICAgICAgcmV0dXJuIC0xOworICAgIHN1bSArPSBjb3VudDsKKworICAgIHJldHVybiBzdW07Cit9CisKKy8qKgorICogeG1sVGV4dFdyaXRlclN0YXJ0RFREQXR0bGlzdDoKKyAqIEB3cml0ZXI6ICB0aGUgeG1sVGV4dFdyaXRlclB0cgorICogQG5hbWU6ICB0aGUgbmFtZSBvZiB0aGUgRFREIEFUVExJU1QKKyAqCisgKiBTdGFydCBhbiB4bWwgRFREIEFUVExJU1QuCisgKgorICogUmV0dXJucyB0aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworaW50Cit4bWxUZXh0V3JpdGVyU3RhcnREVERBdHRsaXN0KHhtbFRleHRXcml0ZXJQdHIgd3JpdGVyLCBjb25zdCB4bWxDaGFyICogbmFtZSkKK3sKKyAgICBpbnQgY291bnQ7CisgICAgaW50IHN1bTsKKyAgICB4bWxMaW5rUHRyIGxrOworICAgIHhtbFRleHRXcml0ZXJTdGFja0VudHJ5ICpwOworCisgICAgaWYgKHdyaXRlciA9PSBOVUxMIHx8IG5hbWUgPT0gTlVMTCB8fCAqbmFtZSA9PSAnXDAnKQorICAgICAgICByZXR1cm4gLTE7CisKKyAgICBzdW0gPSAwOworICAgIGxrID0geG1sTGlzdEZyb250KHdyaXRlci0+bm9kZXMpOworICAgIGlmIChsayA9PSAwKSB7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisKKyAgICBwID0gKHhtbFRleHRXcml0ZXJTdGFja0VudHJ5ICopIHhtbExpbmtHZXREYXRhKGxrKTsKKyAgICBpZiAocCAhPSAwKSB7CisgICAgICAgIHN3aXRjaCAocC0+c3RhdGUpIHsKKyAgICAgICAgICAgIGNhc2UgWE1MX1RFWFRXUklURVJfRFREOgorICAgICAgICAgICAgICAgIGNvdW50ID0geG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcod3JpdGVyLT5vdXQsICIgWyIpOworICAgICAgICAgICAgICAgIGlmIChjb3VudCA8IDApCisgICAgICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgICAgICBzdW0gKz0gY291bnQ7CisgICAgICAgICAgICAgICAgaWYgKHdyaXRlci0+aW5kZW50KSB7CisgICAgICAgICAgICAgICAgICAgIGNvdW50ID0geG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcod3JpdGVyLT5vdXQsICJcbiIpOworICAgICAgICAgICAgICAgICAgICBpZiAoY291bnQgPCAwKQorICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgICAgICAgICBzdW0gKz0gY291bnQ7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHAtPnN0YXRlID0gWE1MX1RFWFRXUklURVJfRFREX1RFWFQ7CisgICAgICAgICAgICAgICAgLyogZmFsbHRocm91Z2ggKi8KKyAgICAgICAgICAgIGNhc2UgWE1MX1RFWFRXUklURVJfRFREX1RFWFQ6CisgICAgICAgICAgICBjYXNlIFhNTF9URVhUV1JJVEVSX05PTkU6CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgfQorICAgIH0KKworICAgIHAgPSAoeG1sVGV4dFdyaXRlclN0YWNrRW50cnkgKikKKyAgICAgICAgeG1sTWFsbG9jKHNpemVvZih4bWxUZXh0V3JpdGVyU3RhY2tFbnRyeSkpOworICAgIGlmIChwID09IDApIHsKKyAgICAgICAgeG1sV3JpdGVyRXJyTXNnKHdyaXRlciwgWE1MX0VSUl9OT19NRU1PUlksCisgICAgICAgICAgICAgICAgICAgICAgICAieG1sVGV4dFdyaXRlclN0YXJ0RFREQXR0bGlzdCA6IG91dCBvZiBtZW1vcnkhXG4iKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKworICAgIHAtPm5hbWUgPSB4bWxTdHJkdXAobmFtZSk7CisgICAgaWYgKHAtPm5hbWUgPT0gMCkgeworICAgICAgICB4bWxXcml0ZXJFcnJNc2cod3JpdGVyLCBYTUxfRVJSX05PX01FTU9SWSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4bWxUZXh0V3JpdGVyU3RhcnREVERBdHRsaXN0IDogb3V0IG9mIG1lbW9yeSFcbiIpOworICAgICAgICB4bWxGcmVlKHApOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorICAgIHAtPnN0YXRlID0gWE1MX1RFWFRXUklURVJfRFREX0FUVEw7CisKKyAgICB4bWxMaXN0UHVzaEZyb250KHdyaXRlci0+bm9kZXMsIHApOworCisgICAgaWYgKHdyaXRlci0+aW5kZW50KSB7CisgICAgICAgIGNvdW50ID0geG1sVGV4dFdyaXRlcldyaXRlSW5kZW50KHdyaXRlcik7CisgICAgICAgIGlmIChjb3VudCA8IDApCisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIHN1bSArPSBjb3VudDsKKyAgICB9CisKKyAgICBjb3VudCA9IHhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nKHdyaXRlci0+b3V0LCAiPCFBVFRMSVNUICIpOworICAgIGlmIChjb3VudCA8IDApCisgICAgICAgIHJldHVybiAtMTsKKyAgICBzdW0gKz0gY291bnQ7CisgICAgY291bnQgPSB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyh3cml0ZXItPm91dCwgKGNvbnN0IGNoYXIgKikgbmFtZSk7CisgICAgaWYgKGNvdW50IDwgMCkKKyAgICAgICAgcmV0dXJuIC0xOworICAgIHN1bSArPSBjb3VudDsKKworICAgIHJldHVybiBzdW07Cit9CisKKy8qKgorICogeG1sVGV4dFdyaXRlckVuZERUREF0dGxpc3Q6CisgKiBAd3JpdGVyOiAgdGhlIHhtbFRleHRXcml0ZXJQdHIKKyAqCisgKiBFbmQgYW4geG1sIERURCBhdHRyaWJ1dGUgbGlzdC4KKyAqCisgKiBSZXR1cm5zIHRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcgorICovCitpbnQKK3htbFRleHRXcml0ZXJFbmREVERBdHRsaXN0KHhtbFRleHRXcml0ZXJQdHIgd3JpdGVyKQoreworICAgIGludCBjb3VudDsKKyAgICBpbnQgc3VtOworICAgIHhtbExpbmtQdHIgbGs7CisgICAgeG1sVGV4dFdyaXRlclN0YWNrRW50cnkgKnA7CisKKyAgICBpZiAod3JpdGVyID09IE5VTEwpCisgICAgICAgIHJldHVybiAtMTsKKworICAgIHN1bSA9IDA7CisgICAgbGsgPSB4bWxMaXN0RnJvbnQod3JpdGVyLT5ub2Rlcyk7CisgICAgaWYgKGxrID09IDApCisgICAgICAgIHJldHVybiAtMTsKKworICAgIHAgPSAoeG1sVGV4dFdyaXRlclN0YWNrRW50cnkgKikgeG1sTGlua0dldERhdGEobGspOworICAgIGlmIChwID09IDApCisgICAgICAgIHJldHVybiAtMTsKKworICAgIHN3aXRjaCAocC0+c3RhdGUpIHsKKyAgICAgICAgY2FzZSBYTUxfVEVYVFdSSVRFUl9EVERfQVRUTDoKKyAgICAgICAgY2FzZSBYTUxfVEVYVFdSSVRFUl9EVERfQVRUTF9URVhUOgorICAgICAgICAgICAgY291bnQgPSB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyh3cml0ZXItPm91dCwgIj4iKTsKKyAgICAgICAgICAgIGlmIChjb3VudCA8IDApCisgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgc3VtICs9IGNvdW50OworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgfQorCisgICAgaWYgKHdyaXRlci0+aW5kZW50KSB7CisgICAgICAgIGNvdW50ID0geG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcod3JpdGVyLT5vdXQsICJcbiIpOworICAgICAgICBpZiAoY291bnQgPCAwKQorICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICBzdW0gKz0gY291bnQ7CisgICAgfQorCisgICAgeG1sTGlzdFBvcEZyb250KHdyaXRlci0+bm9kZXMpOworICAgIHJldHVybiBzdW07Cit9CisKKy8qKgorICogeG1sVGV4dFdyaXRlcldyaXRlRm9ybWF0RFREQXR0bGlzdDoKKyAqIEB3cml0ZXI6ICB0aGUgeG1sVGV4dFdyaXRlclB0cgorICogQG5hbWU6ICB0aGUgbmFtZSBvZiB0aGUgRFREIEFUVExJU1QKKyAqIEBmb3JtYXQ6ICBmb3JtYXQgc3RyaW5nIChzZWUgcHJpbnRmKQorICogQC4uLjogIGV4dHJhIHBhcmFtZXRlcnMgZm9yIHRoZSBmb3JtYXQKKyAqCisgKiBXcml0ZSBhIGZvcm1hdHRlZCBEVEQgQVRUTElTVC4KKyAqCisgKiBSZXR1cm5zIHRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcgorICovCitpbnQgWE1MQ0RFQ0wKK3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdERUREF0dGxpc3QoeG1sVGV4dFdyaXRlclB0ciB3cml0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpmb3JtYXQsIC4uLikKK3sKKyAgICBpbnQgcmM7CisgICAgdmFfbGlzdCBhcDsKKworICAgIHZhX3N0YXJ0KGFwLCBmb3JtYXQpOworCisgICAgcmMgPSB4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFREQXR0bGlzdCh3cml0ZXIsIG5hbWUsIGZvcm1hdCwgYXApOworCisgICAgdmFfZW5kKGFwKTsKKyAgICByZXR1cm4gcmM7Cit9CisKKy8qKgorICogeG1sVGV4dFdyaXRlcldyaXRlVkZvcm1hdERUREF0dGxpc3Q6CisgKiBAd3JpdGVyOiAgdGhlIHhtbFRleHRXcml0ZXJQdHIKKyAqIEBuYW1lOiAgdGhlIG5hbWUgb2YgdGhlIERURCBBVFRMSVNUCisgKiBAZm9ybWF0OiAgZm9ybWF0IHN0cmluZyAoc2VlIHByaW50ZikKKyAqIEBhcmdwdHI6ICBwb2ludGVyIHRvIHRoZSBmaXJzdCBtZW1iZXIgb2YgdGhlIHZhcmlhYmxlIGFyZ3VtZW50IGxpc3QuCisgKgorICogV3JpdGUgYSBmb3JtYXR0ZWQgRFREIEFUVExJU1QuCisgKgorICogUmV0dXJucyB0aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworaW50Cit4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFREQXR0bGlzdCh4bWxUZXh0V3JpdGVyUHRyIHdyaXRlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZm9ybWF0LCB2YV9saXN0IGFyZ3B0cikKK3sKKyAgICBpbnQgcmM7CisgICAgeG1sQ2hhciAqYnVmOworCisgICAgaWYgKHdyaXRlciA9PSBOVUxMKQorICAgICAgICByZXR1cm4gLTE7CisKKyAgICBidWYgPSB4bWxUZXh0V3JpdGVyVlNwcmludGYoZm9ybWF0LCBhcmdwdHIpOworICAgIGlmIChidWYgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIC0xOworCisgICAgcmMgPSB4bWxUZXh0V3JpdGVyV3JpdGVEVERBdHRsaXN0KHdyaXRlciwgbmFtZSwgYnVmKTsKKworICAgIHhtbEZyZWUoYnVmKTsKKyAgICByZXR1cm4gcmM7Cit9CisKKy8qKgorICogeG1sVGV4dFdyaXRlcldyaXRlRFREQXR0bGlzdDoKKyAqIEB3cml0ZXI6ICB0aGUgeG1sVGV4dFdyaXRlclB0cgorICogQG5hbWU6ICB0aGUgbmFtZSBvZiB0aGUgRFREIEFUVExJU1QKKyAqIEBjb250ZW50OiAgY29udGVudCBvZiB0aGUgQVRUTElTVAorICoKKyAqIFdyaXRlIGEgRFREIEFUVExJU1QuCisgKgorICogUmV0dXJucyB0aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworaW50Cit4bWxUZXh0V3JpdGVyV3JpdGVEVERBdHRsaXN0KHhtbFRleHRXcml0ZXJQdHIgd3JpdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogbmFtZSwgY29uc3QgeG1sQ2hhciAqIGNvbnRlbnQpCit7CisgICAgaW50IGNvdW50OworICAgIGludCBzdW07CisKKyAgICBpZiAoY29udGVudCA9PSBOVUxMKQorICAgICAgICByZXR1cm4gLTE7CisKKyAgICBzdW0gPSAwOworICAgIGNvdW50ID0geG1sVGV4dFdyaXRlclN0YXJ0RFREQXR0bGlzdCh3cml0ZXIsIG5hbWUpOworICAgIGlmIChjb3VudCA9PSAtMSkKKyAgICAgICAgcmV0dXJuIC0xOworICAgIHN1bSArPSBjb3VudDsKKworICAgIGNvdW50ID0geG1sVGV4dFdyaXRlcldyaXRlU3RyaW5nKHdyaXRlciwgY29udGVudCk7CisgICAgaWYgKGNvdW50ID09IC0xKQorICAgICAgICByZXR1cm4gLTE7CisgICAgc3VtICs9IGNvdW50OworCisgICAgY291bnQgPSB4bWxUZXh0V3JpdGVyRW5kRFREQXR0bGlzdCh3cml0ZXIpOworICAgIGlmIChjb3VudCA9PSAtMSkKKyAgICAgICAgcmV0dXJuIC0xOworICAgIHN1bSArPSBjb3VudDsKKworICAgIHJldHVybiBzdW07Cit9CisKKy8qKgorICogeG1sVGV4dFdyaXRlclN0YXJ0RFRERW50aXR5OgorICogQHdyaXRlcjogIHRoZSB4bWxUZXh0V3JpdGVyUHRyCisgKiBAcGU6ICBUUlVFIGlmIHRoaXMgaXMgYSBwYXJhbWV0ZXIgZW50aXR5LCBGQUxTRSBpZiBub3QKKyAqIEBuYW1lOiAgdGhlIG5hbWUgb2YgdGhlIERURCBBVFRMSVNUCisgKgorICogU3RhcnQgYW4geG1sIERURCBBVFRMSVNULgorICoKKyAqIFJldHVybnMgdGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK2ludAoreG1sVGV4dFdyaXRlclN0YXJ0RFRERW50aXR5KHhtbFRleHRXcml0ZXJQdHIgd3JpdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBwZSwgY29uc3QgeG1sQ2hhciAqIG5hbWUpCit7CisgICAgaW50IGNvdW50OworICAgIGludCBzdW07CisgICAgeG1sTGlua1B0ciBsazsKKyAgICB4bWxUZXh0V3JpdGVyU3RhY2tFbnRyeSAqcDsKKworICAgIGlmICh3cml0ZXIgPT0gTlVMTCB8fCBuYW1lID09IE5VTEwgfHwgKm5hbWUgPT0gJ1wwJykKKyAgICAgICAgcmV0dXJuIC0xOworCisgICAgc3VtID0gMDsKKyAgICBsayA9IHhtbExpc3RGcm9udCh3cml0ZXItPm5vZGVzKTsKKyAgICBpZiAobGsgIT0gMCkgeworCisgICAgICAgIHAgPSAoeG1sVGV4dFdyaXRlclN0YWNrRW50cnkgKikgeG1sTGlua0dldERhdGEobGspOworICAgICAgICBpZiAocCAhPSAwKSB7CisgICAgICAgICAgICBzd2l0Y2ggKHAtPnN0YXRlKSB7CisgICAgICAgICAgICAgICAgY2FzZSBYTUxfVEVYVFdSSVRFUl9EVEQ6CisgICAgICAgICAgICAgICAgICAgIGNvdW50ID0geG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcod3JpdGVyLT5vdXQsICIgWyIpOworICAgICAgICAgICAgICAgICAgICBpZiAoY291bnQgPCAwKQorICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgICAgICAgICBzdW0gKz0gY291bnQ7CisgICAgICAgICAgICAgICAgICAgIGlmICh3cml0ZXItPmluZGVudCkgeworICAgICAgICAgICAgICAgICAgICAgICAgY291bnQgPQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nKHdyaXRlci0+b3V0LCAiXG4iKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjb3VudCA8IDApCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgICAgICAgICAgICAgc3VtICs9IGNvdW50OworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIHAtPnN0YXRlID0gWE1MX1RFWFRXUklURVJfRFREX1RFWFQ7CisgICAgICAgICAgICAgICAgICAgIC8qIGZhbGx0aHJvdWdoICovCisgICAgICAgICAgICAgICAgY2FzZSBYTUxfVEVYVFdSSVRFUl9EVERfVEVYVDoKKyAgICAgICAgICAgICAgICBjYXNlIFhNTF9URVhUV1JJVEVSX05PTkU6CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKworICAgIHAgPSAoeG1sVGV4dFdyaXRlclN0YWNrRW50cnkgKikKKyAgICAgICAgeG1sTWFsbG9jKHNpemVvZih4bWxUZXh0V3JpdGVyU3RhY2tFbnRyeSkpOworICAgIGlmIChwID09IDApIHsKKyAgICAgICAgeG1sV3JpdGVyRXJyTXNnKHdyaXRlciwgWE1MX0VSUl9OT19NRU1PUlksCisgICAgICAgICAgICAgICAgICAgICAgICAieG1sVGV4dFdyaXRlclN0YXJ0RFRERWxlbWVudCA6IG91dCBvZiBtZW1vcnkhXG4iKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKworICAgIHAtPm5hbWUgPSB4bWxTdHJkdXAobmFtZSk7CisgICAgaWYgKHAtPm5hbWUgPT0gMCkgeworICAgICAgICB4bWxXcml0ZXJFcnJNc2cod3JpdGVyLCBYTUxfRVJSX05PX01FTU9SWSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ4bWxUZXh0V3JpdGVyU3RhcnREVERFbGVtZW50IDogb3V0IG9mIG1lbW9yeSFcbiIpOworICAgICAgICB4bWxGcmVlKHApOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorCisgICAgaWYgKHBlICE9IDApCisgICAgICAgIHAtPnN0YXRlID0gWE1MX1RFWFRXUklURVJfRFREX1BFTlQ7CisgICAgZWxzZQorICAgICAgICBwLT5zdGF0ZSA9IFhNTF9URVhUV1JJVEVSX0RURF9FTlRZOworCisgICAgeG1sTGlzdFB1c2hGcm9udCh3cml0ZXItPm5vZGVzLCBwKTsKKworICAgIGlmICh3cml0ZXItPmluZGVudCkgeworICAgICAgICBjb3VudCA9IHhtbFRleHRXcml0ZXJXcml0ZUluZGVudCh3cml0ZXIpOworICAgICAgICBpZiAoY291bnQgPCAwKQorICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICBzdW0gKz0gY291bnQ7CisgICAgfQorCisgICAgY291bnQgPSB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyh3cml0ZXItPm91dCwgIjwhRU5USVRZICIpOworICAgIGlmIChjb3VudCA8IDApCisgICAgICAgIHJldHVybiAtMTsKKyAgICBzdW0gKz0gY291bnQ7CisKKyAgICBpZiAocGUgIT0gMCkgeworICAgICAgICBjb3VudCA9IHhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nKHdyaXRlci0+b3V0LCAiJSAiKTsKKyAgICAgICAgaWYgKGNvdW50IDwgMCkKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgc3VtICs9IGNvdW50OworICAgIH0KKworICAgIGNvdW50ID0geG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcod3JpdGVyLT5vdXQsIChjb25zdCBjaGFyICopIG5hbWUpOworICAgIGlmIChjb3VudCA8IDApCisgICAgICAgIHJldHVybiAtMTsKKyAgICBzdW0gKz0gY291bnQ7CisKKyAgICByZXR1cm4gc3VtOworfQorCisvKioKKyAqIHhtbFRleHRXcml0ZXJFbmREVERFbnRpdHk6CisgKiBAd3JpdGVyOiAgdGhlIHhtbFRleHRXcml0ZXJQdHIKKyAqCisgKiBFbmQgYW4geG1sIERURCBlbnRpdHkuCisgKgorICogUmV0dXJucyB0aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworaW50Cit4bWxUZXh0V3JpdGVyRW5kRFRERW50aXR5KHhtbFRleHRXcml0ZXJQdHIgd3JpdGVyKQoreworICAgIGludCBjb3VudDsKKyAgICBpbnQgc3VtOworICAgIHhtbExpbmtQdHIgbGs7CisgICAgeG1sVGV4dFdyaXRlclN0YWNrRW50cnkgKnA7CisKKyAgICBpZiAod3JpdGVyID09IE5VTEwpCisgICAgICAgIHJldHVybiAtMTsKKworICAgIHN1bSA9IDA7CisgICAgbGsgPSB4bWxMaXN0RnJvbnQod3JpdGVyLT5ub2Rlcyk7CisgICAgaWYgKGxrID09IDApCisgICAgICAgIHJldHVybiAtMTsKKworICAgIHAgPSAoeG1sVGV4dFdyaXRlclN0YWNrRW50cnkgKikgeG1sTGlua0dldERhdGEobGspOworICAgIGlmIChwID09IDApCisgICAgICAgIHJldHVybiAtMTsKKworICAgIHN3aXRjaCAocC0+c3RhdGUpIHsKKyAgICAgICAgY2FzZSBYTUxfVEVYVFdSSVRFUl9EVERfRU5UWV9URVhUOgorICAgICAgICAgICAgY291bnQgPSB4bWxPdXRwdXRCdWZmZXJXcml0ZSh3cml0ZXItPm91dCwgMSwgJndyaXRlci0+cWNoYXIpOworICAgICAgICAgICAgaWYgKGNvdW50IDwgMCkKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICBzdW0gKz0gY291bnQ7CisgICAgICAgIGNhc2UgWE1MX1RFWFRXUklURVJfRFREX0VOVFk6CisgICAgICAgIGNhc2UgWE1MX1RFWFRXUklURVJfRFREX1BFTlQ6CisgICAgICAgICAgICBjb3VudCA9IHhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nKHdyaXRlci0+b3V0LCAiPiIpOworICAgICAgICAgICAgaWYgKGNvdW50IDwgMCkKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICBzdW0gKz0gY291bnQ7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisKKyAgICBpZiAod3JpdGVyLT5pbmRlbnQpIHsKKyAgICAgICAgY291bnQgPSB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyh3cml0ZXItPm91dCwgIlxuIik7CisgICAgICAgIGlmIChjb3VudCA8IDApCisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIHN1bSArPSBjb3VudDsKKyAgICB9CisKKyAgICB4bWxMaXN0UG9wRnJvbnQod3JpdGVyLT5ub2Rlcyk7CisgICAgcmV0dXJuIHN1bTsKK30KKworLyoqCisgKiB4bWxUZXh0V3JpdGVyV3JpdGVGb3JtYXREVERJbnRlcm5hbEVudGl0eToKKyAqIEB3cml0ZXI6ICB0aGUgeG1sVGV4dFdyaXRlclB0cgorICogQHBlOiAgVFJVRSBpZiB0aGlzIGlzIGEgcGFyYW1ldGVyIGVudGl0eSwgRkFMU0UgaWYgbm90CisgKiBAbmFtZTogIHRoZSBuYW1lIG9mIHRoZSBEVEQgZW50aXR5CisgKiBAZm9ybWF0OiAgZm9ybWF0IHN0cmluZyAoc2VlIHByaW50ZikKKyAqIEAuLi46ICBleHRyYSBwYXJhbWV0ZXJzIGZvciB0aGUgZm9ybWF0CisgKgorICogV3JpdGUgYSBmb3JtYXR0ZWQgRFREIGludGVybmFsIGVudGl0eS4KKyAqCisgKiBSZXR1cm5zIHRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcgorICovCitpbnQgWE1MQ0RFQ0wKK3htbFRleHRXcml0ZXJXcml0ZUZvcm1hdERUREludGVybmFsRW50aXR5KHhtbFRleHRXcml0ZXJQdHIgd3JpdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIG5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpmb3JtYXQsIC4uLikKK3sKKyAgICBpbnQgcmM7CisgICAgdmFfbGlzdCBhcDsKKworICAgIHZhX3N0YXJ0KGFwLCBmb3JtYXQpOworCisgICAgcmMgPSB4bWxUZXh0V3JpdGVyV3JpdGVWRm9ybWF0RFRESW50ZXJuYWxFbnRpdHkod3JpdGVyLCBwZSwgbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXQsIGFwKTsKKworICAgIHZhX2VuZChhcCk7CisgICAgcmV0dXJuIHJjOworfQorCisvKioKKyAqIHhtbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVERJbnRlcm5hbEVudGl0eToKKyAqIEB3cml0ZXI6ICB0aGUgeG1sVGV4dFdyaXRlclB0cgorICogQHBlOiAgVFJVRSBpZiB0aGlzIGlzIGEgcGFyYW1ldGVyIGVudGl0eSwgRkFMU0UgaWYgbm90CisgKiBAbmFtZTogIHRoZSBuYW1lIG9mIHRoZSBEVEQgZW50aXR5CisgKiBAZm9ybWF0OiAgZm9ybWF0IHN0cmluZyAoc2VlIHByaW50ZikKKyAqIEBhcmdwdHI6ICBwb2ludGVyIHRvIHRoZSBmaXJzdCBtZW1iZXIgb2YgdGhlIHZhcmlhYmxlIGFyZ3VtZW50IGxpc3QuCisgKgorICogV3JpdGUgYSBmb3JtYXR0ZWQgRFREIGludGVybmFsIGVudGl0eS4KKyAqCisgKiBSZXR1cm5zIHRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcgorICovCitpbnQKK3htbFRleHRXcml0ZXJXcml0ZVZGb3JtYXREVERJbnRlcm5hbEVudGl0eSh4bWxUZXh0V3JpdGVyUHRyIHdyaXRlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIG5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZm9ybWF0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhX2xpc3QgYXJncHRyKQoreworICAgIGludCByYzsKKyAgICB4bWxDaGFyICpidWY7CisKKyAgICBpZiAod3JpdGVyID09IE5VTEwpCisgICAgICAgIHJldHVybiAtMTsKKworICAgIGJ1ZiA9IHhtbFRleHRXcml0ZXJWU3ByaW50Zihmb3JtYXQsIGFyZ3B0cik7CisgICAgaWYgKGJ1ZiA9PSBOVUxMKQorICAgICAgICByZXR1cm4gLTE7CisKKyAgICByYyA9IHhtbFRleHRXcml0ZXJXcml0ZURUREludGVybmFsRW50aXR5KHdyaXRlciwgcGUsIG5hbWUsIGJ1Zik7CisKKyAgICB4bWxGcmVlKGJ1Zik7CisgICAgcmV0dXJuIHJjOworfQorCisvKioKKyAqIHhtbFRleHRXcml0ZXJXcml0ZURUREVudGl0eToKKyAqIEB3cml0ZXI6ICB0aGUgeG1sVGV4dFdyaXRlclB0cgorICogQHBlOiAgVFJVRSBpZiB0aGlzIGlzIGEgcGFyYW1ldGVyIGVudGl0eSwgRkFMU0UgaWYgbm90CisgKiBAbmFtZTogIHRoZSBuYW1lIG9mIHRoZSBEVEQgZW50aXR5CisgKiBAcHViaWQ6ICB0aGUgcHVibGljIGlkZW50aWZpZXIsIHdoaWNoIGlzIGFuIGFsdGVybmF0aXZlIHRvIHRoZSBzeXN0ZW0gaWRlbnRpZmllcgorICogQHN5c2lkOiAgdGhlIHN5c3RlbSBpZGVudGlmaWVyLCB3aGljaCBpcyB0aGUgVVJJIG9mIHRoZSBEVEQKKyAqIEBuZGF0YWlkOiAgdGhlIHhtbCBub3RhdGlvbiBuYW1lLgorICogQGNvbnRlbnQ6ICBjb250ZW50IG9mIHRoZSBlbnRpdHkKKyAqCisgKiBXcml0ZSBhIERURCBlbnRpdHkuCisgKgorICogUmV0dXJucyB0aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworaW50Cit4bWxUZXh0V3JpdGVyV3JpdGVEVERFbnRpdHkoeG1sVGV4dFdyaXRlclB0ciB3cml0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBwdWJpZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogc3lzaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIG5kYXRhaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIGNvbnRlbnQpCit7CisgICAgaWYgKChjb250ZW50ID09IE5VTEwpICYmIChwdWJpZCA9PSBOVUxMKSAmJiAoc3lzaWQgPT0gTlVMTCkpCisgICAgICAgIHJldHVybiAtMTsKKyAgICBpZiAoKHBlICE9IDApICYmIChuZGF0YWlkICE9IE5VTEwpKQorICAgICAgICByZXR1cm4gLTE7CisKKyAgICBpZiAoKHB1YmlkID09IE5VTEwpICYmIChzeXNpZCA9PSBOVUxMKSkKKyAgICAgICAgcmV0dXJuIHhtbFRleHRXcml0ZXJXcml0ZURUREludGVybmFsRW50aXR5KHdyaXRlciwgcGUsIG5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50KTsKKworICAgIHJldHVybiB4bWxUZXh0V3JpdGVyV3JpdGVEVERFeHRlcm5hbEVudGl0eSh3cml0ZXIsIHBlLCBuYW1lLCBwdWJpZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3lzaWQsIG5kYXRhaWQpOworfQorCisvKioKKyAqIHhtbFRleHRXcml0ZXJXcml0ZURUREludGVybmFsRW50aXR5OgorICogQHdyaXRlcjogIHRoZSB4bWxUZXh0V3JpdGVyUHRyCisgKiBAcGU6ICBUUlVFIGlmIHRoaXMgaXMgYSBwYXJhbWV0ZXIgZW50aXR5LCBGQUxTRSBpZiBub3QKKyAqIEBuYW1lOiAgdGhlIG5hbWUgb2YgdGhlIERURCBlbnRpdHkKKyAqIEBjb250ZW50OiAgY29udGVudCBvZiB0aGUgZW50aXR5CisgKgorICogV3JpdGUgYSBEVEQgaW50ZXJuYWwgZW50aXR5LgorICoKKyAqIFJldHVybnMgdGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK2ludAoreG1sVGV4dFdyaXRlcldyaXRlRFRESW50ZXJuYWxFbnRpdHkoeG1sVGV4dFdyaXRlclB0ciB3cml0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBjb250ZW50KQoreworICAgIGludCBjb3VudDsKKyAgICBpbnQgc3VtOworCisgICAgaWYgKChuYW1lID09IE5VTEwpIHx8ICgqbmFtZSA9PSAnXDAnKSB8fCAoY29udGVudCA9PSBOVUxMKSkKKyAgICAgICAgcmV0dXJuIC0xOworCisgICAgc3VtID0gMDsKKyAgICBjb3VudCA9IHhtbFRleHRXcml0ZXJTdGFydERUREVudGl0eSh3cml0ZXIsIHBlLCBuYW1lKTsKKyAgICBpZiAoY291bnQgPT0gLTEpCisgICAgICAgIHJldHVybiAtMTsKKyAgICBzdW0gKz0gY291bnQ7CisKKyAgICBjb3VudCA9IHhtbFRleHRXcml0ZXJXcml0ZVN0cmluZyh3cml0ZXIsIGNvbnRlbnQpOworICAgIGlmIChjb3VudCA9PSAtMSkKKyAgICAgICAgcmV0dXJuIC0xOworICAgIHN1bSArPSBjb3VudDsKKworICAgIGNvdW50ID0geG1sVGV4dFdyaXRlckVuZERUREVudGl0eSh3cml0ZXIpOworICAgIGlmIChjb3VudCA9PSAtMSkKKyAgICAgICAgcmV0dXJuIC0xOworICAgIHN1bSArPSBjb3VudDsKKworICAgIHJldHVybiBzdW07Cit9CisKKy8qKgorICogeG1sVGV4dFdyaXRlcldyaXRlRFRERXh0ZXJuYWxFbnRpdHk6CisgKiBAd3JpdGVyOiAgdGhlIHhtbFRleHRXcml0ZXJQdHIKKyAqIEBwZTogIFRSVUUgaWYgdGhpcyBpcyBhIHBhcmFtZXRlciBlbnRpdHksIEZBTFNFIGlmIG5vdAorICogQG5hbWU6ICB0aGUgbmFtZSBvZiB0aGUgRFREIGVudGl0eQorICogQHB1YmlkOiAgdGhlIHB1YmxpYyBpZGVudGlmaWVyLCB3aGljaCBpcyBhbiBhbHRlcm5hdGl2ZSB0byB0aGUgc3lzdGVtIGlkZW50aWZpZXIKKyAqIEBzeXNpZDogIHRoZSBzeXN0ZW0gaWRlbnRpZmllciwgd2hpY2ggaXMgdGhlIFVSSSBvZiB0aGUgRFRECisgKiBAbmRhdGFpZDogIHRoZSB4bWwgbm90YXRpb24gbmFtZS4KKyAqCisgKiBXcml0ZSBhIERURCBleHRlcm5hbCBlbnRpdHkuIFRoZSBlbnRpdHkgbXVzdCBoYXZlIGJlZW4gc3RhcnRlZCB3aXRoIHhtbFRleHRXcml0ZXJTdGFydERUREVudGl0eQorICoKKyAqIFJldHVybnMgdGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK2ludAoreG1sVGV4dFdyaXRlcldyaXRlRFRERXh0ZXJuYWxFbnRpdHkoeG1sVGV4dFdyaXRlclB0ciB3cml0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBwdWJpZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBzeXNpZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBuZGF0YWlkKQoreworICAgIGludCBjb3VudDsKKyAgICBpbnQgc3VtOworCisgICAgaWYgKCgocHViaWQgPT0gTlVMTCkgJiYgKHN5c2lkID09IE5VTEwpKSkKKyAgICAgICAgcmV0dXJuIC0xOworICAgIGlmICgocGUgIT0gMCkgJiYgKG5kYXRhaWQgIT0gTlVMTCkpCisgICAgICAgIHJldHVybiAtMTsKKworICAgIHN1bSA9IDA7CisgICAgY291bnQgPSB4bWxUZXh0V3JpdGVyU3RhcnREVERFbnRpdHkod3JpdGVyLCBwZSwgbmFtZSk7CisgICAgaWYgKGNvdW50ID09IC0xKQorICAgICAgICByZXR1cm4gLTE7CisgICAgc3VtICs9IGNvdW50OworCisgICAgY291bnQgPQorICAgICAgICB4bWxUZXh0V3JpdGVyV3JpdGVEVERFeHRlcm5hbEVudGl0eUNvbnRlbnRzKHdyaXRlciwgcHViaWQsIHN5c2lkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5kYXRhaWQpOworICAgIGlmIChjb3VudCA8IDApCisgICAgICAgIHJldHVybiAtMTsKKyAgICBzdW0gKz0gY291bnQ7CisKKyAgICBjb3VudCA9IHhtbFRleHRXcml0ZXJFbmREVERFbnRpdHkod3JpdGVyKTsKKyAgICBpZiAoY291bnQgPT0gLTEpCisgICAgICAgIHJldHVybiAtMTsKKyAgICBzdW0gKz0gY291bnQ7CisKKyAgICByZXR1cm4gc3VtOworfQorCisvKioKKyAqIHhtbFRleHRXcml0ZXJXcml0ZURUREV4dGVybmFsRW50aXR5Q29udGVudHM6CisgKiBAd3JpdGVyOiAgdGhlIHhtbFRleHRXcml0ZXJQdHIKKyAqIEBwdWJpZDogIHRoZSBwdWJsaWMgaWRlbnRpZmllciwgd2hpY2ggaXMgYW4gYWx0ZXJuYXRpdmUgdG8gdGhlIHN5c3RlbSBpZGVudGlmaWVyCisgKiBAc3lzaWQ6ICB0aGUgc3lzdGVtIGlkZW50aWZpZXIsIHdoaWNoIGlzIHRoZSBVUkkgb2YgdGhlIERURAorICogQG5kYXRhaWQ6ICB0aGUgeG1sIG5vdGF0aW9uIG5hbWUuCisgKgorICogV3JpdGUgdGhlIGNvbnRlbnRzIG9mIGEgRFREIGV4dGVybmFsIGVudGl0eS4KKyAqCisgKiBSZXR1cm5zIHRoZSBieXRlcyB3cml0dGVuIChtYXkgYmUgMCBiZWNhdXNlIG9mIGJ1ZmZlcmluZykgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcgorICovCitpbnQKK3htbFRleHRXcml0ZXJXcml0ZURUREV4dGVybmFsRW50aXR5Q29udGVudHMoeG1sVGV4dFdyaXRlclB0ciB3cml0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBwdWJpZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIHN5c2lkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB4bWxDaGFyICogbmRhdGFpZCkKK3sKKyAgICBpbnQgY291bnQ7CisgICAgaW50IHN1bTsKKyAgICB4bWxMaW5rUHRyIGxrOworICAgIHhtbFRleHRXcml0ZXJTdGFja0VudHJ5ICpwOworCisgICAgaWYgKHdyaXRlciA9PSBOVUxMKSB7CisgICAgICAgIHhtbFdyaXRlckVyck1zZyh3cml0ZXIsIFhNTF9FUlJfSU5URVJOQUxfRVJST1IsCisgICAgICAgICAgICAgICAgICAgICAgICAieG1sVGV4dFdyaXRlcldyaXRlRFRERXh0ZXJuYWxFbnRpdHlDb250ZW50czogeG1sVGV4dFdyaXRlclB0ciBpbnZhbGlkIVxuIik7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisKKyAgICBzdW0gPSAwOworICAgIGxrID0geG1sTGlzdEZyb250KHdyaXRlci0+bm9kZXMpOworICAgIGlmIChsayA9PSAwKSB7CisgICAgICAgIHhtbFdyaXRlckVyck1zZyh3cml0ZXIsIFhNTF9FUlJfSU5URVJOQUxfRVJST1IsCisgICAgICAgICAgICAgICAgICAgICAgICAieG1sVGV4dFdyaXRlcldyaXRlRFRERXh0ZXJuYWxFbnRpdHlDb250ZW50czogeW91IG11c3QgY2FsbCB4bWxUZXh0V3JpdGVyU3RhcnREVERFbnRpdHkgYmVmb3JlIHRoZSBjYWxsIHRvIHRoaXMgZnVuY3Rpb24hXG4iKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKworICAgIHAgPSAoeG1sVGV4dFdyaXRlclN0YWNrRW50cnkgKikgeG1sTGlua0dldERhdGEobGspOworICAgIGlmIChwID09IDApCisgICAgICAgIHJldHVybiAtMTsKKworICAgIHN3aXRjaCAocC0+c3RhdGUpIHsKKyAgICAgICAgY2FzZSBYTUxfVEVYVFdSSVRFUl9EVERfRU5UWToKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhNTF9URVhUV1JJVEVSX0RURF9QRU5UOgorICAgICAgICAgICAgaWYgKG5kYXRhaWQgIT0gTlVMTCkgeworICAgICAgICAgICAgICAgIHhtbFdyaXRlckVyck1zZyh3cml0ZXIsIFhNTF9FUlJfSU5URVJOQUxfRVJST1IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ4bWxUZXh0V3JpdGVyV3JpdGVEVERFeHRlcm5hbEVudGl0eUNvbnRlbnRzOiBub3RhdGlvbiBub3QgYWxsb3dlZCB3aXRoIHBhcmFtZXRlciBlbnRpdGllcyFcbiIpOworICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgeG1sV3JpdGVyRXJyTXNnKHdyaXRlciwgWE1MX0VSUl9JTlRFUk5BTF9FUlJPUiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAieG1sVGV4dFdyaXRlcldyaXRlRFRERXh0ZXJuYWxFbnRpdHlDb250ZW50czogeW91IG11c3QgY2FsbCB4bWxUZXh0V3JpdGVyU3RhcnREVERFbnRpdHkgYmVmb3JlIHRoZSBjYWxsIHRvIHRoaXMgZnVuY3Rpb24hXG4iKTsKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisKKyAgICBpZiAocHViaWQgIT0gMCkgeworICAgICAgICBpZiAoc3lzaWQgPT0gMCkgeworICAgICAgICAgICAgeG1sV3JpdGVyRXJyTXNnKHdyaXRlciwgWE1MX0VSUl9JTlRFUk5BTF9FUlJPUiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAieG1sVGV4dFdyaXRlcldyaXRlRFRERXh0ZXJuYWxFbnRpdHlDb250ZW50czogc3lzdGVtIGlkZW50aWZpZXIgbmVlZGVkIVxuIik7CisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIH0KKworICAgICAgICBjb3VudCA9IHhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nKHdyaXRlci0+b3V0LCAiIFBVQkxJQyAiKTsKKyAgICAgICAgaWYgKGNvdW50IDwgMCkKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgc3VtICs9IGNvdW50OworCisgICAgICAgIGNvdW50ID0geG1sT3V0cHV0QnVmZmVyV3JpdGUod3JpdGVyLT5vdXQsIDEsICZ3cml0ZXItPnFjaGFyKTsKKyAgICAgICAgaWYgKGNvdW50IDwgMCkKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgc3VtICs9IGNvdW50OworCisgICAgICAgIGNvdW50ID0KKyAgICAgICAgICAgIHhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nKHdyaXRlci0+b3V0LCAoY29uc3QgY2hhciAqKSBwdWJpZCk7CisgICAgICAgIGlmIChjb3VudCA8IDApCisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIHN1bSArPSBjb3VudDsKKworICAgICAgICBjb3VudCA9IHhtbE91dHB1dEJ1ZmZlcldyaXRlKHdyaXRlci0+b3V0LCAxLCAmd3JpdGVyLT5xY2hhcik7CisgICAgICAgIGlmIChjb3VudCA8IDApCisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIHN1bSArPSBjb3VudDsKKyAgICB9CisKKyAgICBpZiAoc3lzaWQgIT0gMCkgeworICAgICAgICBpZiAocHViaWQgPT0gMCkgeworICAgICAgICAgICAgY291bnQgPSB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyh3cml0ZXItPm91dCwgIiBTWVNURU0iKTsKKyAgICAgICAgICAgIGlmIChjb3VudCA8IDApCisgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgc3VtICs9IGNvdW50OworICAgICAgICB9CisKKyAgICAgICAgY291bnQgPSB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyh3cml0ZXItPm91dCwgIiAiKTsKKyAgICAgICAgaWYgKGNvdW50IDwgMCkKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgc3VtICs9IGNvdW50OworCisgICAgICAgIGNvdW50ID0geG1sT3V0cHV0QnVmZmVyV3JpdGUod3JpdGVyLT5vdXQsIDEsICZ3cml0ZXItPnFjaGFyKTsKKyAgICAgICAgaWYgKGNvdW50IDwgMCkKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgc3VtICs9IGNvdW50OworCisgICAgICAgIGNvdW50ID0KKyAgICAgICAgICAgIHhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nKHdyaXRlci0+b3V0LCAoY29uc3QgY2hhciAqKSBzeXNpZCk7CisgICAgICAgIGlmIChjb3VudCA8IDApCisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIHN1bSArPSBjb3VudDsKKworICAgICAgICBjb3VudCA9IHhtbE91dHB1dEJ1ZmZlcldyaXRlKHdyaXRlci0+b3V0LCAxLCAmd3JpdGVyLT5xY2hhcik7CisgICAgICAgIGlmIChjb3VudCA8IDApCisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIHN1bSArPSBjb3VudDsKKyAgICB9CisKKyAgICBpZiAobmRhdGFpZCAhPSBOVUxMKSB7CisgICAgICAgIGNvdW50ID0geG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcod3JpdGVyLT5vdXQsICIgTkRBVEEgIik7CisgICAgICAgIGlmIChjb3VudCA8IDApCisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIHN1bSArPSBjb3VudDsKKworICAgICAgICBjb3VudCA9CisgICAgICAgICAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyh3cml0ZXItPm91dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb25zdCBjaGFyICopIG5kYXRhaWQpOworICAgICAgICBpZiAoY291bnQgPCAwKQorICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICBzdW0gKz0gY291bnQ7CisgICAgfQorCisgICAgcmV0dXJuIHN1bTsKK30KKworLyoqCisgKiB4bWxUZXh0V3JpdGVyV3JpdGVEVEROb3RhdGlvbjoKKyAqIEB3cml0ZXI6ICB0aGUgeG1sVGV4dFdyaXRlclB0cgorICogQG5hbWU6ICB0aGUgbmFtZSBvZiB0aGUgeG1sIG5vdGF0aW9uCisgKiBAcHViaWQ6ICB0aGUgcHVibGljIGlkZW50aWZpZXIsIHdoaWNoIGlzIGFuIGFsdGVybmF0aXZlIHRvIHRoZSBzeXN0ZW0gaWRlbnRpZmllcgorICogQHN5c2lkOiAgdGhlIHN5c3RlbSBpZGVudGlmaWVyLCB3aGljaCBpcyB0aGUgVVJJIG9mIHRoZSBEVEQKKyAqCisgKiBXcml0ZSBhIERURCBlbnRpdHkuCisgKgorICogUmV0dXJucyB0aGUgYnl0ZXMgd3JpdHRlbiAobWF5IGJlIDAgYmVjYXVzZSBvZiBidWZmZXJpbmcpIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworaW50Cit4bWxUZXh0V3JpdGVyV3JpdGVEVEROb3RhdGlvbih4bWxUZXh0V3JpdGVyUHRyIHdyaXRlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKiBuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqIHB1YmlkLCBjb25zdCB4bWxDaGFyICogc3lzaWQpCit7CisgICAgaW50IGNvdW50OworICAgIGludCBzdW07CisgICAgeG1sTGlua1B0ciBsazsKKyAgICB4bWxUZXh0V3JpdGVyU3RhY2tFbnRyeSAqcDsKKworICAgIGlmICh3cml0ZXIgPT0gTlVMTCB8fCBuYW1lID09IE5VTEwgfHwgKm5hbWUgPT0gJ1wwJykKKyAgICAgICAgcmV0dXJuIC0xOworCisgICAgc3VtID0gMDsKKyAgICBsayA9IHhtbExpc3RGcm9udCh3cml0ZXItPm5vZGVzKTsKKyAgICBpZiAobGsgPT0gMCkgeworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorCisgICAgcCA9ICh4bWxUZXh0V3JpdGVyU3RhY2tFbnRyeSAqKSB4bWxMaW5rR2V0RGF0YShsayk7CisgICAgaWYgKHAgIT0gMCkgeworICAgICAgICBzd2l0Y2ggKHAtPnN0YXRlKSB7CisgICAgICAgICAgICBjYXNlIFhNTF9URVhUV1JJVEVSX0RURDoKKyAgICAgICAgICAgICAgICBjb3VudCA9IHhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nKHdyaXRlci0+b3V0LCAiIFsiKTsKKyAgICAgICAgICAgICAgICBpZiAoY291bnQgPCAwKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICAgICAgc3VtICs9IGNvdW50OworICAgICAgICAgICAgICAgIGlmICh3cml0ZXItPmluZGVudCkgeworICAgICAgICAgICAgICAgICAgICBjb3VudCA9IHhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nKHdyaXRlci0+b3V0LCAiXG4iKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGNvdW50IDwgMCkKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgICAgICAgICAgc3VtICs9IGNvdW50OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBwLT5zdGF0ZSA9IFhNTF9URVhUV1JJVEVSX0RURF9URVhUOworICAgICAgICAgICAgICAgIC8qIGZhbGx0aHJvdWdoICovCisgICAgICAgICAgICBjYXNlIFhNTF9URVhUV1JJVEVSX0RURF9URVhUOgorICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBpZiAod3JpdGVyLT5pbmRlbnQpIHsKKyAgICAgICAgY291bnQgPSB4bWxUZXh0V3JpdGVyV3JpdGVJbmRlbnQod3JpdGVyKTsKKyAgICAgICAgaWYgKGNvdW50IDwgMCkKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgc3VtICs9IGNvdW50OworICAgIH0KKworICAgIGNvdW50ID0geG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcod3JpdGVyLT5vdXQsICI8IU5PVEFUSU9OICIpOworICAgIGlmIChjb3VudCA8IDApCisgICAgICAgIHJldHVybiAtMTsKKyAgICBzdW0gKz0gY291bnQ7CisgICAgY291bnQgPSB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyh3cml0ZXItPm91dCwgKGNvbnN0IGNoYXIgKikgbmFtZSk7CisgICAgaWYgKGNvdW50IDwgMCkKKyAgICAgICAgcmV0dXJuIC0xOworICAgIHN1bSArPSBjb3VudDsKKworICAgIGlmIChwdWJpZCAhPSAwKSB7CisgICAgICAgIGNvdW50ID0geG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcod3JpdGVyLT5vdXQsICIgUFVCTElDICIpOworICAgICAgICBpZiAoY291bnQgPCAwKQorICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICBzdW0gKz0gY291bnQ7CisgICAgICAgIGNvdW50ID0geG1sT3V0cHV0QnVmZmVyV3JpdGUod3JpdGVyLT5vdXQsIDEsICZ3cml0ZXItPnFjaGFyKTsKKyAgICAgICAgaWYgKGNvdW50IDwgMCkKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgc3VtICs9IGNvdW50OworICAgICAgICBjb3VudCA9CisgICAgICAgICAgICB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyh3cml0ZXItPm91dCwgKGNvbnN0IGNoYXIgKikgcHViaWQpOworICAgICAgICBpZiAoY291bnQgPCAwKQorICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICBzdW0gKz0gY291bnQ7CisgICAgICAgIGNvdW50ID0geG1sT3V0cHV0QnVmZmVyV3JpdGUod3JpdGVyLT5vdXQsIDEsICZ3cml0ZXItPnFjaGFyKTsKKyAgICAgICAgaWYgKGNvdW50IDwgMCkKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgc3VtICs9IGNvdW50OworICAgIH0KKworICAgIGlmIChzeXNpZCAhPSAwKSB7CisgICAgICAgIGlmIChwdWJpZCA9PSAwKSB7CisgICAgICAgICAgICBjb3VudCA9IHhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nKHdyaXRlci0+b3V0LCAiIFNZU1RFTSIpOworICAgICAgICAgICAgaWYgKGNvdW50IDwgMCkKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICBzdW0gKz0gY291bnQ7CisgICAgICAgIH0KKyAgICAgICAgY291bnQgPSB4bWxPdXRwdXRCdWZmZXJXcml0ZVN0cmluZyh3cml0ZXItPm91dCwgIiAiKTsKKyAgICAgICAgaWYgKGNvdW50IDwgMCkKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgc3VtICs9IGNvdW50OworICAgICAgICBjb3VudCA9IHhtbE91dHB1dEJ1ZmZlcldyaXRlKHdyaXRlci0+b3V0LCAxLCAmd3JpdGVyLT5xY2hhcik7CisgICAgICAgIGlmIChjb3VudCA8IDApCisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIHN1bSArPSBjb3VudDsKKyAgICAgICAgY291bnQgPQorICAgICAgICAgICAgeG1sT3V0cHV0QnVmZmVyV3JpdGVTdHJpbmcod3JpdGVyLT5vdXQsIChjb25zdCBjaGFyICopIHN5c2lkKTsKKyAgICAgICAgaWYgKGNvdW50IDwgMCkKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgc3VtICs9IGNvdW50OworICAgICAgICBjb3VudCA9IHhtbE91dHB1dEJ1ZmZlcldyaXRlKHdyaXRlci0+b3V0LCAxLCAmd3JpdGVyLT5xY2hhcik7CisgICAgICAgIGlmIChjb3VudCA8IDApCisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIHN1bSArPSBjb3VudDsKKyAgICB9CisKKyAgICBjb3VudCA9IHhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nKHdyaXRlci0+b3V0LCAiPiIpOworICAgIGlmIChjb3VudCA8IDApCisgICAgICAgIHJldHVybiAtMTsKKyAgICBzdW0gKz0gY291bnQ7CisKKyAgICByZXR1cm4gc3VtOworfQorCisvKioKKyAqIHhtbFRleHRXcml0ZXJGbHVzaDoKKyAqIEB3cml0ZXI6ICB0aGUgeG1sVGV4dFdyaXRlclB0cgorICoKKyAqIEZsdXNoIHRoZSBvdXRwdXQgYnVmZmVyLgorICoKKyAqIFJldHVybnMgdGhlIGJ5dGVzIHdyaXR0ZW4gKG1heSBiZSAwIGJlY2F1c2Ugb2YgYnVmZmVyaW5nKSBvciAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK2ludAoreG1sVGV4dFdyaXRlckZsdXNoKHhtbFRleHRXcml0ZXJQdHIgd3JpdGVyKQoreworICAgIGludCBjb3VudDsKKworICAgIGlmICh3cml0ZXIgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIC0xOworCisgICAgaWYgKHdyaXRlci0+b3V0ID09IE5VTEwpCisgICAgICAgIGNvdW50ID0gMDsKKyAgICBlbHNlCisgICAgICAgIGNvdW50ID0geG1sT3V0cHV0QnVmZmVyRmx1c2god3JpdGVyLT5vdXQpOworCisgICAgcmV0dXJuIGNvdW50OworfQorCisvKioKKyAqIG1pc2MKKyAqLworCisvKioKKyAqIHhtbEZyZWVUZXh0V3JpdGVyU3RhY2tFbnRyeToKKyAqIEBsazogIHRoZSB4bWxMaW5rUHRyCisgKgorICogRnJlZSBjYWxsYmFjayBmb3IgdGhlIHhtbExpc3QuCisgKi8KK3N0YXRpYyB2b2lkCit4bWxGcmVlVGV4dFdyaXRlclN0YWNrRW50cnkoeG1sTGlua1B0ciBsaykKK3sKKyAgICB4bWxUZXh0V3JpdGVyU3RhY2tFbnRyeSAqcDsKKworICAgIHAgPSAoeG1sVGV4dFdyaXRlclN0YWNrRW50cnkgKikgeG1sTGlua0dldERhdGEobGspOworICAgIGlmIChwID09IDApCisgICAgICAgIHJldHVybjsKKworICAgIGlmIChwLT5uYW1lICE9IDApCisgICAgICAgIHhtbEZyZWUocC0+bmFtZSk7CisgICAgeG1sRnJlZShwKTsKK30KKworLyoqCisgKiB4bWxDbXBUZXh0V3JpdGVyU3RhY2tFbnRyeToKKyAqIEBkYXRhMDogIHRoZSBmaXJzdCBkYXRhCisgKiBAZGF0YTE6ICB0aGUgc2Vjb25kIGRhdGEKKyAqCisgKiBDb21wYXJlIGNhbGxiYWNrIGZvciB0aGUgeG1sTGlzdC4KKyAqCisgKiBSZXR1cm5zIC0xLCAwLCAxCisgKi8KK3N0YXRpYyBpbnQKK3htbENtcFRleHRXcml0ZXJTdGFja0VudHJ5KGNvbnN0IHZvaWQgKmRhdGEwLCBjb25zdCB2b2lkICpkYXRhMSkKK3sKKyAgICB4bWxUZXh0V3JpdGVyU3RhY2tFbnRyeSAqcDA7CisgICAgeG1sVGV4dFdyaXRlclN0YWNrRW50cnkgKnAxOworCisgICAgaWYgKGRhdGEwID09IGRhdGExKQorICAgICAgICByZXR1cm4gMDsKKworICAgIGlmIChkYXRhMCA9PSAwKQorICAgICAgICByZXR1cm4gLTE7CisKKyAgICBpZiAoZGF0YTEgPT0gMCkKKyAgICAgICAgcmV0dXJuIDE7CisKKyAgICBwMCA9ICh4bWxUZXh0V3JpdGVyU3RhY2tFbnRyeSAqKSBkYXRhMDsKKyAgICBwMSA9ICh4bWxUZXh0V3JpdGVyU3RhY2tFbnRyeSAqKSBkYXRhMTsKKworICAgIHJldHVybiB4bWxTdHJjbXAocDAtPm5hbWUsIHAxLT5uYW1lKTsKK30KKworLyoqCisgKiBtaXNjCisgKi8KKworLyoqCisgKiB4bWxUZXh0V3JpdGVyT3V0cHV0TlNEZWNsOgorICogQHdyaXRlcjogIHRoZSB4bWxUZXh0V3JpdGVyUHRyCisgKgorICogT3V0cHV0IHRoZSBjdXJyZW50IG5hbWVzcGFjZSBkZWNsYXJhdGlvbnMuCisgKi8KK3N0YXRpYyBpbnQKK3htbFRleHRXcml0ZXJPdXRwdXROU0RlY2woeG1sVGV4dFdyaXRlclB0ciB3cml0ZXIpCit7CisgICAgeG1sTGlua1B0ciBsazsKKyAgICB4bWxUZXh0V3JpdGVyTnNTdGFja0VudHJ5ICpucDsKKyAgICBpbnQgY291bnQ7CisgICAgaW50IHN1bTsKKworICAgIHN1bSA9IDA7CisgICAgd2hpbGUgKCF4bWxMaXN0RW1wdHkod3JpdGVyLT5uc3N0YWNrKSkgeworICAgICAgICB4bWxDaGFyICpuYW1lc3BhY2VVUkkgPSBOVUxMOworICAgICAgICB4bWxDaGFyICpwcmVmaXggPSBOVUxMOworCisgICAgICAgIGxrID0geG1sTGlzdEZyb250KHdyaXRlci0+bnNzdGFjayk7CisgICAgICAgIG5wID0gKHhtbFRleHRXcml0ZXJOc1N0YWNrRW50cnkgKikgeG1sTGlua0dldERhdGEobGspOworCisgICAgICAgIGlmIChucCAhPSAwKSB7CisgICAgICAgICAgICBuYW1lc3BhY2VVUkkgPSB4bWxTdHJkdXAobnAtPnVyaSk7CisgICAgICAgICAgICBwcmVmaXggPSB4bWxTdHJkdXAobnAtPnByZWZpeCk7CisgICAgICAgIH0KKworICAgICAgICB4bWxMaXN0UG9wRnJvbnQod3JpdGVyLT5uc3N0YWNrKTsKKworICAgICAgICBpZiAobnAgIT0gMCkgeworICAgICAgICAgICAgY291bnQgPSB4bWxUZXh0V3JpdGVyV3JpdGVBdHRyaWJ1dGUod3JpdGVyLCBwcmVmaXgsIG5hbWVzcGFjZVVSSSk7CisgICAgICAgICAgICB4bWxGcmVlKG5hbWVzcGFjZVVSSSk7CisgICAgICAgICAgICB4bWxGcmVlKHByZWZpeCk7CisKKyAgICAgICAgICAgIGlmIChjb3VudCA8IDApIHsKKyAgICAgICAgICAgICAgICB4bWxMaXN0RGVsZXRlKHdyaXRlci0+bnNzdGFjayk7CisgICAgICAgICAgICAgICAgd3JpdGVyLT5uc3N0YWNrID0gTlVMTDsKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBzdW0gKz0gY291bnQ7CisgICAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuIHN1bTsKK30KKworLyoqCisgKiB4bWxGcmVlVGV4dFdyaXRlck5zU3RhY2tFbnRyeToKKyAqIEBsazogIHRoZSB4bWxMaW5rUHRyCisgKgorICogRnJlZSBjYWxsYmFjayBmb3IgdGhlIHhtbExpc3QuCisgKi8KK3N0YXRpYyB2b2lkCit4bWxGcmVlVGV4dFdyaXRlck5zU3RhY2tFbnRyeSh4bWxMaW5rUHRyIGxrKQoreworICAgIHhtbFRleHRXcml0ZXJOc1N0YWNrRW50cnkgKnA7CisKKyAgICBwID0gKHhtbFRleHRXcml0ZXJOc1N0YWNrRW50cnkgKikgeG1sTGlua0dldERhdGEobGspOworICAgIGlmIChwID09IDApCisgICAgICAgIHJldHVybjsKKworICAgIGlmIChwLT5wcmVmaXggIT0gMCkKKyAgICAgICAgeG1sRnJlZShwLT5wcmVmaXgpOworICAgIGlmIChwLT51cmkgIT0gMCkKKyAgICAgICAgeG1sRnJlZShwLT51cmkpOworCisgICAgeG1sRnJlZShwKTsKK30KKworLyoqCisgKiB4bWxDbXBUZXh0V3JpdGVyTnNTdGFja0VudHJ5OgorICogQGRhdGEwOiAgdGhlIGZpcnN0IGRhdGEKKyAqIEBkYXRhMTogIHRoZSBzZWNvbmQgZGF0YQorICoKKyAqIENvbXBhcmUgY2FsbGJhY2sgZm9yIHRoZSB4bWxMaXN0LgorICoKKyAqIFJldHVybnMgLTEsIDAsIDEKKyAqLworc3RhdGljIGludAoreG1sQ21wVGV4dFdyaXRlck5zU3RhY2tFbnRyeShjb25zdCB2b2lkICpkYXRhMCwgY29uc3Qgdm9pZCAqZGF0YTEpCit7CisgICAgeG1sVGV4dFdyaXRlck5zU3RhY2tFbnRyeSAqcDA7CisgICAgeG1sVGV4dFdyaXRlck5zU3RhY2tFbnRyeSAqcDE7CisgICAgaW50IHJjOworCisgICAgaWYgKGRhdGEwID09IGRhdGExKQorICAgICAgICByZXR1cm4gMDsKKworICAgIGlmIChkYXRhMCA9PSAwKQorICAgICAgICByZXR1cm4gLTE7CisKKyAgICBpZiAoZGF0YTEgPT0gMCkKKyAgICAgICAgcmV0dXJuIDE7CisKKyAgICBwMCA9ICh4bWxUZXh0V3JpdGVyTnNTdGFja0VudHJ5ICopIGRhdGEwOworICAgIHAxID0gKHhtbFRleHRXcml0ZXJOc1N0YWNrRW50cnkgKikgZGF0YTE7CisKKyAgICByYyA9IHhtbFN0cmNtcChwMC0+cHJlZml4LCBwMS0+cHJlZml4KTsKKworICAgIGlmICgocmMgIT0gMCkgfHwgKHAwLT5lbGVtICE9IHAxLT5lbGVtKSkKKyAgICAgICAgcmMgPSAtMTsKKworICAgIHJldHVybiByYzsKK30KKworLyoqCisgKiB4bWxUZXh0V3JpdGVyV3JpdGVEb2NDYWxsYmFjazoKKyAqIEBjb250ZXh0OiAgdGhlIHhtbEJ1ZmZlclB0cgorICogQHN0cjogIHRoZSBkYXRhIHRvIHdyaXRlCisgKiBAbGVuOiAgdGhlIGxlbmd0aCBvZiB0aGUgZGF0YQorICoKKyAqIFdyaXRlIGNhbGxiYWNrIGZvciB0aGUgeG1sT3V0cHV0QnVmZmVyIHdpdGggdGFyZ2V0IHhtbEJ1ZmZlcgorICoKKyAqIFJldHVybnMgLTEsIDAsIDEKKyAqLworc3RhdGljIGludAoreG1sVGV4dFdyaXRlcldyaXRlRG9jQ2FsbGJhY2sodm9pZCAqY29udGV4dCwgY29uc3QgeG1sQ2hhciAqIHN0ciwgaW50IGxlbikKK3sKKyAgICB4bWxQYXJzZXJDdHh0UHRyIGN0eHQgPSAoeG1sUGFyc2VyQ3R4dFB0cikgY29udGV4dDsKKyAgICBpbnQgcmM7CisKKyAgICBpZiAoKHJjID0geG1sUGFyc2VDaHVuayhjdHh0LCAoY29uc3QgY2hhciAqKSBzdHIsIGxlbiwgMCkpICE9IDApIHsKKyAgICAgICAgeG1sV3JpdGVyRXJyTXNnSW50KE5VTEwsIFhNTF9FUlJfSU5URVJOQUxfRVJST1IsCisgICAgICAgICAgICAgICAgICAgICAgICAieG1sVGV4dFdyaXRlcldyaXRlRG9jQ2FsbGJhY2sgOiBYTUwgZXJyb3IgJWQgIVxuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgIHJjKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKworICAgIHJldHVybiBsZW47Cit9CisKKy8qKgorICogeG1sVGV4dFdyaXRlckNsb3NlRG9jQ2FsbGJhY2s6CisgKiBAY29udGV4dDogIHRoZSB4bWxCdWZmZXJQdHIKKyAqCisgKiBDbG9zZSBjYWxsYmFjayBmb3IgdGhlIHhtbE91dHB1dEJ1ZmZlciB3aXRoIHRhcmdldCB4bWxCdWZmZXIKKyAqCisgKiBSZXR1cm5zIC0xLCAwLCAxCisgKi8KK3N0YXRpYyBpbnQKK3htbFRleHRXcml0ZXJDbG9zZURvY0NhbGxiYWNrKHZvaWQgKmNvbnRleHQpCit7CisgICAgeG1sUGFyc2VyQ3R4dFB0ciBjdHh0ID0gKHhtbFBhcnNlckN0eHRQdHIpIGNvbnRleHQ7CisgICAgaW50IHJjOworCisgICAgaWYgKChyYyA9IHhtbFBhcnNlQ2h1bmsoY3R4dCwgTlVMTCwgMCwgMSkpICE9IDApIHsKKyAgICAgICAgeG1sV3JpdGVyRXJyTXNnSW50KE5VTEwsIFhNTF9FUlJfSU5URVJOQUxfRVJST1IsCisgICAgICAgICAgICAgICAgICAgICAgICAieG1sVGV4dFdyaXRlcldyaXRlRG9jQ2FsbGJhY2sgOiBYTUwgZXJyb3IgJWQgIVxuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgIHJjKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKworICAgIHJldHVybiAwOworfQorCisvKioKKyAqIHhtbFRleHRXcml0ZXJWU3ByaW50ZjoKKyAqIEBmb3JtYXQ6ICBzZWUgcHJpbnRmCisgKiBAYXJncHRyOiAgcG9pbnRlciB0byB0aGUgZmlyc3QgbWVtYmVyIG9mIHRoZSB2YXJpYWJsZSBhcmd1bWVudCBsaXN0LgorICoKKyAqIFV0aWxpdHkgZnVuY3Rpb24gZm9yIGZvcm1hdHRlZCBvdXRwdXQKKyAqCisgKiBSZXR1cm5zIGEgbmV3IHhtbENoYXIgYnVmZmVyIHdpdGggdGhlIGRhdGEgb3IgTlVMTCBvbiBlcnJvci4gVGhpcyBidWZmZXIgbXVzdCBiZSBmcmVlZC4KKyAqLworc3RhdGljIHhtbENoYXIgKgoreG1sVGV4dFdyaXRlclZTcHJpbnRmKGNvbnN0IGNoYXIgKmZvcm1hdCwgdmFfbGlzdCBhcmdwdHIpCit7CisgICAgaW50IHNpemU7CisgICAgaW50IGNvdW50OworICAgIHhtbENoYXIgKmJ1ZjsKKyAgICB2YV9saXN0IGxvY2FyZzsKKworICAgIHNpemUgPSBCVUZTSVo7CisgICAgYnVmID0gKHhtbENoYXIgKikgeG1sTWFsbG9jKHNpemUpOworICAgIGlmIChidWYgPT0gTlVMTCkgeworICAgICAgICB4bWxXcml0ZXJFcnJNc2coTlVMTCwgWE1MX0VSUl9OT19NRU1PUlksCisgICAgICAgICAgICAgICAgICAgICAgICAieG1sVGV4dFdyaXRlclZTcHJpbnRmIDogb3V0IG9mIG1lbW9yeSFcbiIpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKKyAgICBWQV9DT1BZKGxvY2FyZywgYXJncHRyKTsKKyAgICB3aGlsZSAoKChjb3VudCA9IHZzbnByaW50ZigoY2hhciAqKSBidWYsIHNpemUsIGZvcm1hdCwgbG9jYXJnKSkgPCAwKQorICAgICAgICAgICB8fCAoY291bnQgPT0gc2l6ZSAtIDEpIHx8IChjb3VudCA9PSBzaXplKSB8fCAoY291bnQgPiBzaXplKSkgeworCXZhX2VuZChsb2NhcmcpOworICAgICAgICB4bWxGcmVlKGJ1Zik7CisgICAgICAgIHNpemUgKz0gQlVGU0laOworICAgICAgICBidWYgPSAoeG1sQ2hhciAqKSB4bWxNYWxsb2Moc2l6ZSk7CisgICAgICAgIGlmIChidWYgPT0gTlVMTCkgeworICAgICAgICAgICAgeG1sV3JpdGVyRXJyTXNnKE5VTEwsIFhNTF9FUlJfTk9fTUVNT1JZLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ4bWxUZXh0V3JpdGVyVlNwcmludGYgOiBvdXQgb2YgbWVtb3J5IVxuIik7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgfQorCVZBX0NPUFkobG9jYXJnLCBhcmdwdHIpOworICAgIH0KKyAgICB2YV9lbmQobG9jYXJnKTsKKworICAgIHJldHVybiBidWY7Cit9CisKKy8qKgorICogeG1sVGV4dFdyaXRlclN0YXJ0RG9jdW1lbnRDYWxsYmFjazoKKyAqIEBjdHg6IHRoZSB1c2VyIGRhdGEgKFhNTCBwYXJzZXIgY29udGV4dCkKKyAqCisgKiBjYWxsZWQgYXQgdGhlIHN0YXJ0IG9mIGRvY3VtZW50IHByb2Nlc3NpbmcuCisgKi8KK3N0YXRpYyB2b2lkCit4bWxUZXh0V3JpdGVyU3RhcnREb2N1bWVudENhbGxiYWNrKHZvaWQgKmN0eCkKK3sKKyAgICB4bWxQYXJzZXJDdHh0UHRyIGN0eHQgPSAoeG1sUGFyc2VyQ3R4dFB0cikgY3R4OworICAgIHhtbERvY1B0ciBkb2M7CisKKyAgICBpZiAoY3R4dC0+aHRtbCkgeworI2lmZGVmIExJQlhNTF9IVE1MX0VOQUJMRUQKKyAgICAgICAgaWYgKGN0eHQtPm15RG9jID09IE5VTEwpCisgICAgICAgICAgICBjdHh0LT5teURvYyA9IGh0bWxOZXdEb2NOb0R0RChOVUxMLCBOVUxMKTsKKyAgICAgICAgaWYgKGN0eHQtPm15RG9jID09IE5VTEwpIHsKKyAgICAgICAgICAgIGlmICgoY3R4dC0+c2F4ICE9IE5VTEwpICYmIChjdHh0LT5zYXgtPmVycm9yICE9IE5VTEwpKQorICAgICAgICAgICAgICAgIGN0eHQtPnNheC0+ZXJyb3IoY3R4dC0+dXNlckRhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU0FYLnN0YXJ0RG9jdW1lbnQoKTogb3V0IG9mIG1lbW9yeVxuIik7CisgICAgICAgICAgICBjdHh0LT5lcnJObyA9IFhNTF9FUlJfTk9fTUVNT1JZOworICAgICAgICAgICAgY3R4dC0+aW5zdGF0ZSA9IFhNTF9QQVJTRVJfRU9GOworICAgICAgICAgICAgY3R4dC0+ZGlzYWJsZVNBWCA9IDE7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyNlbHNlCisgICAgICAgIHhtbFdyaXRlckVyck1zZyhOVUxMLCBYTUxfRVJSX0lOVEVSTkFMX0VSUk9SLAorICAgICAgICAgICAgICAgICAgICAgICAgImxpYnhtbDIgYnVpbHQgd2l0aG91dCBIVE1MIHN1cHBvcnRcbiIpOworICAgICAgICBjdHh0LT5lcnJObyA9IFhNTF9FUlJfSU5URVJOQUxfRVJST1I7CisgICAgICAgIGN0eHQtPmluc3RhdGUgPSBYTUxfUEFSU0VSX0VPRjsKKyAgICAgICAgY3R4dC0+ZGlzYWJsZVNBWCA9IDE7CisgICAgICAgIHJldHVybjsKKyNlbmRpZgorICAgIH0gZWxzZSB7CisgICAgICAgIGRvYyA9IGN0eHQtPm15RG9jOworICAgICAgICBpZiAoZG9jID09IE5VTEwpCisgICAgICAgICAgICBkb2MgPSBjdHh0LT5teURvYyA9IHhtbE5ld0RvYyhjdHh0LT52ZXJzaW9uKTsKKyAgICAgICAgaWYgKGRvYyAhPSBOVUxMKSB7CisgICAgICAgICAgICBpZiAoZG9jLT5jaGlsZHJlbiA9PSBOVUxMKSB7CisgICAgICAgICAgICAgICAgaWYgKGN0eHQtPmVuY29kaW5nICE9IE5VTEwpCisgICAgICAgICAgICAgICAgICAgIGRvYy0+ZW5jb2RpbmcgPSB4bWxTdHJkdXAoY3R4dC0+ZW5jb2RpbmcpOworICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgZG9jLT5lbmNvZGluZyA9IE5VTEw7CisgICAgICAgICAgICAgICAgZG9jLT5zdGFuZGFsb25lID0gY3R4dC0+c3RhbmRhbG9uZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGlmICgoY3R4dC0+c2F4ICE9IE5VTEwpICYmIChjdHh0LT5zYXgtPmVycm9yICE9IE5VTEwpKQorICAgICAgICAgICAgICAgIGN0eHQtPnNheC0+ZXJyb3IoY3R4dC0+dXNlckRhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU0FYLnN0YXJ0RG9jdW1lbnQoKTogb3V0IG9mIG1lbW9yeVxuIik7CisgICAgICAgICAgICBjdHh0LT5lcnJObyA9IFhNTF9FUlJfTk9fTUVNT1JZOworICAgICAgICAgICAgY3R4dC0+aW5zdGF0ZSA9IFhNTF9QQVJTRVJfRU9GOworICAgICAgICAgICAgY3R4dC0+ZGlzYWJsZVNBWCA9IDE7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICB9CisgICAgaWYgKChjdHh0LT5teURvYyAhPSBOVUxMKSAmJiAoY3R4dC0+bXlEb2MtPlVSTCA9PSBOVUxMKSAmJgorICAgICAgICAoY3R4dC0+aW5wdXQgIT0gTlVMTCkgJiYgKGN0eHQtPmlucHV0LT5maWxlbmFtZSAhPSBOVUxMKSkgeworICAgICAgICBjdHh0LT5teURvYy0+VVJMID0KKyAgICAgICAgICAgIHhtbENhbm9uaWNQYXRoKChjb25zdCB4bWxDaGFyICopIGN0eHQtPmlucHV0LT5maWxlbmFtZSk7CisgICAgICAgIGlmIChjdHh0LT5teURvYy0+VVJMID09IE5VTEwpCisgICAgICAgICAgICBjdHh0LT5teURvYy0+VVJMID0KKyAgICAgICAgICAgICAgICB4bWxTdHJkdXAoKGNvbnN0IHhtbENoYXIgKikgY3R4dC0+aW5wdXQtPmZpbGVuYW1lKTsKKyAgICB9Cit9CisKKy8qKgorICogeG1sVGV4dFdyaXRlclNldEluZGVudDoKKyAqIEB3cml0ZXI6ICB0aGUgeG1sVGV4dFdyaXRlclB0cgorICogQGluZGVudDogIGRvIGluZGVudGF0aW9uPworICoKKyAqIFNldCBpbmRlbnRhdGlvbiBvdXRwdXQuIGluZGVudCA9IDAgZG8gbm90IGluZGVudGF0aW9uLiBpbmRlbnQgPiAwIGRvIGluZGVudGF0aW9uLgorICoKKyAqIFJldHVybnMgLTEgb24gZXJyb3Igb3IgMCBvdGhlcndpc2UuCisgKi8KK2ludAoreG1sVGV4dFdyaXRlclNldEluZGVudCh4bWxUZXh0V3JpdGVyUHRyIHdyaXRlciwgaW50IGluZGVudCkKK3sKKyAgICBpZiAoKHdyaXRlciA9PSBOVUxMKSB8fCAoaW5kZW50IDwgMCkpCisgICAgICAgIHJldHVybiAtMTsKKworICAgIHdyaXRlci0+aW5kZW50ID0gaW5kZW50OworICAgIHdyaXRlci0+ZG9pbmRlbnQgPSAxOworCisgICAgcmV0dXJuIDA7Cit9CisKKy8qKgorICogeG1sVGV4dFdyaXRlclNldEluZGVudFN0cmluZzoKKyAqIEB3cml0ZXI6ICB0aGUgeG1sVGV4dFdyaXRlclB0cgorICogQHN0cjogIHRoZSB4bWxDaGFyIHN0cmluZworICoKKyAqIFNldCBzdHJpbmcgaW5kZW50YXRpb24uCisgKgorICogUmV0dXJucyAtMSBvbiBlcnJvciBvciAwIG90aGVyd2lzZS4KKyAqLworaW50Cit4bWxUZXh0V3JpdGVyU2V0SW5kZW50U3RyaW5nKHhtbFRleHRXcml0ZXJQdHIgd3JpdGVyLCBjb25zdCB4bWxDaGFyICogc3RyKQoreworICAgIGlmICgod3JpdGVyID09IE5VTEwpIHx8ICghc3RyKSkKKyAgICAgICAgcmV0dXJuIC0xOworCisgICAgaWYgKHdyaXRlci0+aWNoYXIgIT0gTlVMTCkKKyAgICAgICAgeG1sRnJlZSh3cml0ZXItPmljaGFyKTsKKyAgICB3cml0ZXItPmljaGFyID0geG1sU3RyZHVwKHN0cik7CisKKyAgICBpZiAoIXdyaXRlci0+aWNoYXIpCisgICAgICAgIHJldHVybiAtMTsKKyAgICBlbHNlCisgICAgICAgIHJldHVybiAwOworfQorCisvKioKKyAqIHhtbFRleHRXcml0ZXJTZXRRdW90ZUNoYXI6CisgKiBAd3JpdGVyOiAgdGhlIHhtbFRleHRXcml0ZXJQdHIKKyAqIEBxdW90ZWNoYXI6ICB0aGUgcXVvdGUgY2hhcmFjdGVyCisgKgorICogU2V0IHRoZSBjaGFyYWN0ZXIgdXNlZCBmb3IgcXVvdGluZyBhdHRyaWJ1dGVzLgorICoKKyAqIFJldHVybnMgLTEgb24gZXJyb3Igb3IgMCBvdGhlcndpc2UuCisgKi8KK2ludAoreG1sVGV4dFdyaXRlclNldFF1b3RlQ2hhcih4bWxUZXh0V3JpdGVyUHRyIHdyaXRlciwgeG1sQ2hhciBxdW90ZWNoYXIpCit7CisgICAgaWYgKCh3cml0ZXIgPT0gTlVMTCkgfHwgKChxdW90ZWNoYXIgIT0gJ1wnJykgJiYgKHF1b3RlY2hhciAhPSAnIicpKSkKKyAgICAgICAgcmV0dXJuIC0xOworCisgICAgd3JpdGVyLT5xY2hhciA9IHF1b3RlY2hhcjsKKworICAgIHJldHVybiAwOworfQorCisvKioKKyAqIHhtbFRleHRXcml0ZXJXcml0ZUluZGVudDoKKyAqIEB3cml0ZXI6ICB0aGUgeG1sVGV4dFdyaXRlclB0cgorICoKKyAqIFdyaXRlIGluZGVudCBzdHJpbmcuCisgKgorICogUmV0dXJucyAtMSBvbiBlcnJvciBvciB0aGUgbnVtYmVyIG9mIHN0cmluZ3Mgd3JpdHRlbi4KKyAqLworc3RhdGljIGludAoreG1sVGV4dFdyaXRlcldyaXRlSW5kZW50KHhtbFRleHRXcml0ZXJQdHIgd3JpdGVyKQoreworICAgIGludCBsa3NpemU7CisgICAgaW50IGk7CisgICAgaW50IHJldDsKKworICAgIGxrc2l6ZSA9IHhtbExpc3RTaXplKHdyaXRlci0+bm9kZXMpOworICAgIGlmIChsa3NpemUgPCAxKQorICAgICAgICByZXR1cm4gKC0xKTsgICAgICAgICAgICAvKiBsaXN0IGlzIGVtcHR5ICovCisgICAgZm9yIChpID0gMDsgaSA8IChsa3NpemUgLSAxKTsgaSsrKSB7CisgICAgICAgIHJldCA9IHhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nKHdyaXRlci0+b3V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29uc3QgY2hhciAqKSB3cml0ZXItPmljaGFyKTsKKyAgICAgICAgaWYgKHJldCA9PSAtMSkKKyAgICAgICAgICAgIHJldHVybiAoLTEpOworICAgIH0KKworICAgIHJldHVybiAobGtzaXplIC0gMSk7Cit9CisKKy8qKgorICogeG1sVGV4dFdyaXRlckhhbmRsZVN0YXRlRGVwZW5kZW5jaWVzOgorICogQHdyaXRlcjogIHRoZSB4bWxUZXh0V3JpdGVyUHRyCisgKiBAcDogIHRoZSB4bWxUZXh0V3JpdGVyU3RhY2tFbnRyeQorICoKKyAqIFdyaXRlIHN0YXRlIGRlcGVuZGVudCBzdHJpbmdzLgorICoKKyAqIFJldHVybnMgLTEgb24gZXJyb3Igb3IgdGhlIG51bWJlciBvZiBjaGFyYWN0ZXJzIHdyaXR0ZW4uCisgKi8KK3N0YXRpYyBpbnQKK3htbFRleHRXcml0ZXJIYW5kbGVTdGF0ZURlcGVuZGVuY2llcyh4bWxUZXh0V3JpdGVyUHRyIHdyaXRlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxUZXh0V3JpdGVyU3RhY2tFbnRyeSAqIHApCit7CisgICAgaW50IGNvdW50OworICAgIGludCBzdW07CisgICAgY2hhciBleHRyYVszXTsKKworICAgIGlmICh3cml0ZXIgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIC0xOworCisgICAgaWYgKHAgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBzdW0gPSAwOworICAgIGV4dHJhWzBdID0gZXh0cmFbMV0gPSBleHRyYVsyXSA9ICdcMCc7CisgICAgaWYgKHAgIT0gMCkgeworICAgICAgICBzdW0gPSAwOworICAgICAgICBzd2l0Y2ggKHAtPnN0YXRlKSB7CisgICAgICAgICAgICBjYXNlIFhNTF9URVhUV1JJVEVSX05BTUU6CisgICAgICAgICAgICAgICAgLyogT3V0cHV0IG5hbWVzcGFjZSBkZWNsYXJhdGlvbnMgKi8KKyAgICAgICAgICAgICAgICBjb3VudCA9IHhtbFRleHRXcml0ZXJPdXRwdXROU0RlY2wod3JpdGVyKTsKKyAgICAgICAgICAgICAgICBpZiAoY291bnQgPCAwKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICAgICAgc3VtICs9IGNvdW50OworICAgICAgICAgICAgICAgIGV4dHJhWzBdID0gJz4nOworICAgICAgICAgICAgICAgIHAtPnN0YXRlID0gWE1MX1RFWFRXUklURVJfVEVYVDsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgWE1MX1RFWFRXUklURVJfUEk6CisgICAgICAgICAgICAgICAgZXh0cmFbMF0gPSAnICc7CisgICAgICAgICAgICAgICAgcC0+c3RhdGUgPSBYTUxfVEVYVFdSSVRFUl9QSV9URVhUOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBYTUxfVEVYVFdSSVRFUl9EVEQ6CisgICAgICAgICAgICAgICAgZXh0cmFbMF0gPSAnICc7CisgICAgICAgICAgICAgICAgZXh0cmFbMV0gPSAnWyc7CisgICAgICAgICAgICAgICAgcC0+c3RhdGUgPSBYTUxfVEVYVFdSSVRFUl9EVERfVEVYVDsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgWE1MX1RFWFRXUklURVJfRFREX0VMRU06CisgICAgICAgICAgICAgICAgZXh0cmFbMF0gPSAnICc7CisgICAgICAgICAgICAgICAgcC0+c3RhdGUgPSBYTUxfVEVYVFdSSVRFUl9EVERfRUxFTV9URVhUOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBYTUxfVEVYVFdSSVRFUl9EVERfQVRUTDoKKyAgICAgICAgICAgICAgICBleHRyYVswXSA9ICcgJzsKKyAgICAgICAgICAgICAgICBwLT5zdGF0ZSA9IFhNTF9URVhUV1JJVEVSX0RURF9BVFRMX1RFWFQ7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIFhNTF9URVhUV1JJVEVSX0RURF9FTlRZOgorICAgICAgICAgICAgY2FzZSBYTUxfVEVYVFdSSVRFUl9EVERfUEVOVDoKKyAgICAgICAgICAgICAgICBleHRyYVswXSA9ICcgJzsKKyAgICAgICAgICAgICAgICBleHRyYVsxXSA9IHdyaXRlci0+cWNoYXI7CisgICAgICAgICAgICAgICAgcC0+c3RhdGUgPSBYTUxfVEVYVFdSSVRFUl9EVERfRU5UWV9URVhUOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgIH0KKworICAgIGlmICgqZXh0cmEgIT0gJ1wwJykgeworICAgICAgICBjb3VudCA9IHhtbE91dHB1dEJ1ZmZlcldyaXRlU3RyaW5nKHdyaXRlci0+b3V0LCBleHRyYSk7CisgICAgICAgIGlmIChjb3VudCA8IDApCisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIHN1bSArPSBjb3VudDsKKyAgICB9CisKKyAgICByZXR1cm4gc3VtOworfQorCisjZGVmaW5lIGJvdHRvbV94bWx3cml0ZXIKKyNpbmNsdWRlICJlbGZnY2NoYWNrLmgiCisjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYnhtbDIveHBhdGguYyBiL2xpYnhtbDIveHBhdGguYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYzQxY2U2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi94cGF0aC5jCkBAIC0wLDAgKzEsMTUzNzcgQEAKKy8qCisgKiB4cGF0aC5jOiBYTUwgUGF0aCBMYW5ndWFnZSBpbXBsZW1lbnRhdGlvbgorICogICAgICAgICAgWFBhdGggaXMgYSBsYW5ndWFnZSBmb3IgYWRkcmVzc2luZyBwYXJ0cyBvZiBhbiBYTUwgZG9jdW1lbnQsCisgKiAgICAgICAgICBkZXNpZ25lZCB0byBiZSB1c2VkIGJ5IGJvdGggWFNMVCBhbmQgWFBvaW50ZXIKKyAqZgorICogUmVmZXJlbmNlOiBXM0MgUmVjb21tZW5kYXRpb24gMTYgTm92ZW1iZXIgMTk5OQorICogICAgIGh0dHA6Ly93d3cudzMub3JnL1RSLzE5OTkvUkVDLXhwYXRoLTE5OTkxMTE2CisgKiBQdWJsaWMgcmVmZXJlbmNlOgorICogICAgIGh0dHA6Ly93d3cudzMub3JnL1RSL3hwYXRoCisgKgorICogU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlCisgKgorICogQXV0aG9yOiBkYW5pZWxAdmVpbGxhcmQuY29tCisgKgorICovCisKKyNkZWZpbmUgSU5fTElCWE1MCisjaW5jbHVkZSAibGlieG1sLmgiCisKKyNpbmNsdWRlIDxzdHJpbmcuaD4KKworI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNlbmRpZgorI2lmZGVmIEhBVkVfTUFUSF9ICisjaW5jbHVkZSA8bWF0aC5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9GTE9BVF9ICisjaW5jbHVkZSA8ZmxvYXQuaD4KKyNlbmRpZgorI2lmZGVmIEhBVkVfQ1RZUEVfSAorI2luY2x1ZGUgPGN0eXBlLmg+CisjZW5kaWYKKyNpZmRlZiBIQVZFX1NJR05BTF9ICisjaW5jbHVkZSA8c2lnbmFsLmg+CisjZW5kaWYKKworI2luY2x1ZGUgPGxpYnhtbC94bWxtZW1vcnkuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvdHJlZS5oPgorI2luY2x1ZGUgPGxpYnhtbC92YWxpZC5oPgorI2luY2x1ZGUgPGxpYnhtbC94cGF0aC5oPgorI2luY2x1ZGUgPGxpYnhtbC94cGF0aEludGVybmFscy5oPgorI2luY2x1ZGUgPGxpYnhtbC9wYXJzZXJJbnRlcm5hbHMuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvaGFzaC5oPgorI2lmZGVmIExJQlhNTF9YUFRSX0VOQUJMRUQKKyNpbmNsdWRlIDxsaWJ4bWwveHBvaW50ZXIuaD4KKyNlbmRpZgorI2lmZGVmIExJQlhNTF9ERUJVR19FTkFCTEVECisjaW5jbHVkZSA8bGlieG1sL2RlYnVnWE1MLmg+CisjZW5kaWYKKyNpbmNsdWRlIDxsaWJ4bWwveG1sZXJyb3IuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvdGhyZWFkcy5oPgorI2luY2x1ZGUgPGxpYnhtbC9nbG9iYWxzLmg+CisjaWZkZWYgTElCWE1MX1BBVFRFUk5fRU5BQkxFRAorI2luY2x1ZGUgPGxpYnhtbC9wYXR0ZXJuLmg+CisjZW5kaWYKKworI2luY2x1ZGUgImJ1Zi5oIgorCisjaWZkZWYgTElCWE1MX1BBVFRFUk5fRU5BQkxFRAorI2RlZmluZSBYUEFUSF9TVFJFQU1JTkcKKyNlbmRpZgorCisjZGVmaW5lIFRPRE8JCQkJCQkJCVwKKyAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwJCQkJXAorCSAgICAiVW5pbXBsZW1lbnRlZCBibG9jayBhdCAlczolZFxuIiwJCQkJXAorICAgICAgICAgICAgX19GSUxFX18sIF9fTElORV9fKTsKKworLyoqCisgKiBXSVRIX1RJTV9TT1JUOgorICoKKyAqIFVzZSB0aGUgVGltc29ydCBhbGdvcml0aG0gcHJvdmlkZWQgaW4gdGltc29ydC5oIHRvIHNvcnQKKyAqIG5vZGVzZXQgYXMgdGhpcyBpcyBhIGdyZWF0IGltcHJvdmVtZW50IG92ZXIgdGhlIG9sZCBTaGVsbCBzb3J0CisgKiB1c2VkIGluIHhtbFhQYXRoTm9kZVNldFNvcnQoKQorICovCisjZGVmaW5lIFdJVEhfVElNX1NPUlQKKworLyoKKyogWFBfT1BUSU1JWkVEX05PTl9FTEVNX0NPTVBBUklTT046CisqIElmIGRlZmluZWQsIHRoaXMgd2lsbCB1c2UgeG1sWFBhdGhDbXBOb2Rlc0V4dCgpIGluc3RlYWQgb2YKKyogeG1sWFBhdGhDbXBOb2RlcygpLiBUaGUgbmV3IGZ1bmN0aW9uIGlzIG9wdGltaXplZCBjb21wYXJpc29uIG9mCisqIG5vbi1lbGVtZW50IG5vZGVzOyBhY3R1YWxseSBpdCB3aWxsIHNwZWVkIHVwIGNvbXBhcmlzb24gb25seSBpZgorKiB4bWxYUGF0aE9yZGVyRG9jRWxlbXMoKSB3YXMgY2FsbGVkIGluIG9yZGVyIHRvIGluZGV4IHRoZSBlbGVtZW50cyBvZgorKiBhIHRyZWUgaW4gZG9jdW1lbnQgb3JkZXI7IExpYnhzbHQgZG9lcyBzdWNoIGFuIGluZGV4aW5nLCB0aHVzIGl0IHdpbGwKKyogYmVuZWZpdCBmcm9tIHRoaXMgb3B0aW1pemF0aW9uLgorKi8KKyNkZWZpbmUgWFBfT1BUSU1JWkVEX05PTl9FTEVNX0NPTVBBUklTT04KKworLyoKKyogWFBfT1BUSU1JWkVEX0ZJTFRFUl9GSVJTVDoKKyogSWYgZGVmaW5lZCwgdGhpcyB3aWxsIG9wdGltaXplIGV4cHJlc3Npb25zIGxpa2UgImtleSgnZm9vJywgJ3ZhbCcpW2JdWzFdIgorKiBpbiBhIHdheSwgdGhhdCBpdCBzdG9wIGV2YWx1YXRpb24gYXQgdGhlIGZpcnN0IG5vZGUuCisqLworI2RlZmluZSBYUF9PUFRJTUlaRURfRklMVEVSX0ZJUlNUCisKKy8qCisqIFhQX0RFQlVHX09CSl9VU0FHRToKKyogSW50ZXJuYWwgZmxhZyB0byBlbmFibGUgdHJhY2tpbmcgb2YgaG93IG11Y2ggWFBhdGggb2JqZWN0cyBoYXZlIGJlZW4KKyogY3JlYXRlZC4KKyovCisvKiAjZGVmaW5lIFhQX0RFQlVHX09CSl9VU0FHRSAqLworCisvKgorICogWFBBVEhfTUFYX1NURVBTOgorICogd2hlbiBjb21waWxpbmcgYW4gWFBhdGggZXhwcmVzc2lvbiB3ZSBhcmJpdHJhcnkgbGltaXQgdGhlIG1heGltdW0KKyAqIG51bWJlciBvZiBzdGVwIG9wZXJhdGlvbiBpbiB0aGUgY29tcGlsZWQgZXhwcmVzc2lvbi4gMTAwMDAwMCBpcworICogYW4gaW5zYW5lbHkgbGFyZ2UgdmFsdWUgd2hpY2ggc2hvdWxkIG5ldmVyIGJlIHJlYWNoZWQgdW5kZXIgbm9ybWFsCisgKiBjaXJjdW1zdGFuY2VzCisgKi8KKyNkZWZpbmUgWFBBVEhfTUFYX1NURVBTIDEwMDAwMDAKKworLyoKKyAqIFhQQVRIX01BWF9TVEFDS19ERVBUSDoKKyAqIHdoZW4gZXZhbHVhdGluZyBhbiBYUGF0aCBleHByZXNzaW9uIHdlIGFyYml0cmFyeSBsaW1pdCB0aGUgbWF4aW11bQorICogbnVtYmVyIG9mIG9iamVjdCBhbGxvd2VkIHRvIGJlIHB1c2hlZCBvbiB0aGUgc3RhY2suIDEwMDAwMDAgaXMKKyAqIGFuIGluc2FuZWx5IGxhcmdlIHZhbHVlIHdoaWNoIHNob3VsZCBuZXZlciBiZSByZWFjaGVkIHVuZGVyIG5vcm1hbAorICogY2lyY3Vtc3RhbmNlcworICovCisjZGVmaW5lIFhQQVRIX01BWF9TVEFDS19ERVBUSCAxMDAwMDAwCisKKy8qCisgKiBYUEFUSF9NQVhfTk9ERVNFVF9MRU5HVEg6CisgKiB3aGVuIGV2YWx1YXRpbmcgYW4gWFBhdGggZXhwcmVzc2lvbiBub2Rlc2V0cyBhcmUgY3JlYXRlZCBhbmQgd2UKKyAqIGFyYml0cmFyeSBsaW1pdCB0aGUgbWF4aW11bSBsZW5ndGggb2YgdGhvc2Ugbm9kZSBzZXQuIDEwMDAwMDAwIGlzCisgKiBhbiBpbnNhbmVseSBsYXJnZSB2YWx1ZSB3aGljaCBzaG91bGQgbmV2ZXIgYmUgcmVhY2hlZCB1bmRlciBub3JtYWwKKyAqIGNpcmN1bXN0YW5jZXMsIG9uZSB3b3VsZCBmaXJzdCBuZWVkIHRvIGNvbnN0cnVjdCBhbiBpbiBtZW1vcnkgdHJlZQorICogd2l0aCBtb3JlIHRoYW4gMTAgbWlsbGlvbnMgbm9kZXMuCisgKi8KKyNkZWZpbmUgWFBBVEhfTUFYX05PREVTRVRfTEVOR1RIIDEwMDAwMDAwCisKKy8qCisgKiBUT0RPOgorICogVGhlcmUgYXJlIGEgZmV3IHNwb3RzIHdoZXJlIHNvbWUgdGVzdHMgYXJlIGRvbmUgd2hpY2ggZGVwZW5kIHVwb24gYXNjaWkKKyAqIGRhdGEuICBUaGVzZSBzaG91bGQgYmUgZW5oYW5jZWQgZm9yIGZ1bGwgVVRGOCBzdXBwb3J0IChzZWUgcGFydGljdWxhcmx5CisgKiBhbnkgdXNlIG9mIHRoZSBtYWNyb3MgSVNfQVNDSUlfQ0hBUkFDVEVSIGFuZCBJU19BU0NJSV9ESUdJVCkKKyAqLworCisjaWZkZWYgWFBfT1BUSU1JWkVEX05PTl9FTEVNX0NPTVBBUklTT04KKy8qKgorICogeG1sWFBhdGhDbXBOb2Rlc0V4dDoKKyAqIEBub2RlMTogIHRoZSBmaXJzdCBub2RlCisgKiBAbm9kZTI6ICB0aGUgc2Vjb25kIG5vZGUKKyAqCisgKiBDb21wYXJlIHR3byBub2RlcyB3LnIudCBkb2N1bWVudCBvcmRlci4KKyAqIFRoaXMgb25lIGlzIG9wdGltaXplZCBmb3IgaGFuZGxpbmcgb2Ygbm9uLWVsZW1lbnQgbm9kZXMuCisgKgorICogUmV0dXJucyAtMiBpbiBjYXNlIG9mIGVycm9yIDEgaWYgZmlyc3QgcG9pbnQgPCBzZWNvbmQgcG9pbnQsIDAgaWYKKyAqICAgICAgICAgaXQncyB0aGUgc2FtZSBub2RlLCAtMSBvdGhlcndpc2UKKyAqLworc3RhdGljIGludAoreG1sWFBhdGhDbXBOb2Rlc0V4dCh4bWxOb2RlUHRyIG5vZGUxLCB4bWxOb2RlUHRyIG5vZGUyKSB7CisgICAgaW50IGRlcHRoMSwgZGVwdGgyOworICAgIGludCBtaXNjID0gMCwgcHJlY2VkZW5jZTEgPSAwLCBwcmVjZWRlbmNlMiA9IDA7CisgICAgeG1sTm9kZVB0ciBtaXNjTm9kZTEgPSBOVUxMLCBtaXNjTm9kZTIgPSBOVUxMOworICAgIHhtbE5vZGVQdHIgY3VyLCByb290OworICAgIGxvbmcgbDEsIGwyOworCisgICAgaWYgKChub2RlMSA9PSBOVUxMKSB8fCAobm9kZTIgPT0gTlVMTCkpCisJcmV0dXJuKC0yKTsKKworICAgIGlmIChub2RlMSA9PSBub2RlMikKKwlyZXR1cm4oMCk7CisKKyAgICAvKgorICAgICAqIGEgY291cGxlIG9mIG9wdGltaXphdGlvbnMgd2hpY2ggd2lsbCBhdm9pZCBjb21wdXRhdGlvbnMgaW4gbW9zdCBjYXNlcworICAgICAqLworICAgIHN3aXRjaCAobm9kZTEtPnR5cGUpIHsKKwljYXNlIFhNTF9FTEVNRU5UX05PREU6CisJICAgIGlmIChub2RlMi0+dHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFKSB7CisJCWlmICgoMCA+IChsb25nKSBub2RlMS0+Y29udGVudCkgJiYgLyogVE9ETzogV291bGQgYSAhPSAwIHN1ZmZpY2UgaGVyZT8gKi8KKwkJICAgICgwID4gKGxvbmcpIG5vZGUyLT5jb250ZW50KSAmJgorCQkgICAgKG5vZGUxLT5kb2MgPT0gbm9kZTItPmRvYykpCisJCXsKKwkJICAgIGwxID0gLSgobG9uZykgbm9kZTEtPmNvbnRlbnQpOworCQkgICAgbDIgPSAtKChsb25nKSBub2RlMi0+Y29udGVudCk7CisJCSAgICBpZiAobDEgPCBsMikKKwkJCXJldHVybigxKTsKKwkJICAgIGlmIChsMSA+IGwyKQorCQkJcmV0dXJuKC0xKTsKKwkJfSBlbHNlCisJCSAgICBnb3RvIHR1cnRsZV9jb21wYXJpc29uOworCSAgICB9CisJICAgIGJyZWFrOworCWNhc2UgWE1MX0FUVFJJQlVURV9OT0RFOgorCSAgICBwcmVjZWRlbmNlMSA9IDE7IC8qIGVsZW1lbnQgaXMgb3duZXIgKi8KKwkgICAgbWlzY05vZGUxID0gbm9kZTE7CisJICAgIG5vZGUxID0gbm9kZTEtPnBhcmVudDsKKwkgICAgbWlzYyA9IDE7CisJICAgIGJyZWFrOworCWNhc2UgWE1MX1RFWFRfTk9ERToKKwljYXNlIFhNTF9DREFUQV9TRUNUSU9OX05PREU6CisJY2FzZSBYTUxfQ09NTUVOVF9OT0RFOgorCWNhc2UgWE1MX1BJX05PREU6IHsKKwkgICAgbWlzY05vZGUxID0gbm9kZTE7CisJICAgIC8qCisJICAgICogRmluZCBuZWFyZXN0IGVsZW1lbnQgbm9kZS4KKwkgICAgKi8KKwkgICAgaWYgKG5vZGUxLT5wcmV2ICE9IE5VTEwpIHsKKwkJZG8geworCQkgICAgbm9kZTEgPSBub2RlMS0+cHJldjsKKwkJICAgIGlmIChub2RlMS0+dHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFKSB7CisJCQlwcmVjZWRlbmNlMSA9IDM7IC8qIGVsZW1lbnQgaW4gcHJldi1zaWJsIGF4aXMgKi8KKwkJCWJyZWFrOworCQkgICAgfQorCQkgICAgaWYgKG5vZGUxLT5wcmV2ID09IE5VTEwpIHsKKwkJCXByZWNlZGVuY2UxID0gMjsgLyogZWxlbWVudCBpcyBwYXJlbnQgKi8KKwkJCS8qCisJCQkqIFVSR0VOVCBUT0RPOiBBcmUgdGhlcmUgYW55IGNhc2VzLCB3aGVyZSB0aGUKKwkJCSogcGFyZW50IG9mIHN1Y2ggYSBub2RlIGlzIG5vdCBhbiBlbGVtZW50IG5vZGU/CisJCQkqLworCQkJbm9kZTEgPSBub2RlMS0+cGFyZW50OworCQkJYnJlYWs7CisJCSAgICB9CisJCX0gd2hpbGUgKDEpOworCSAgICB9IGVsc2UgeworCQlwcmVjZWRlbmNlMSA9IDI7IC8qIGVsZW1lbnQgaXMgcGFyZW50ICovCisJCW5vZGUxID0gbm9kZTEtPnBhcmVudDsKKwkgICAgfQorCSAgICBpZiAoKG5vZGUxID09IE5VTEwpIHx8IChub2RlMS0+dHlwZSAhPSBYTUxfRUxFTUVOVF9OT0RFKSB8fAorCQkoMCA8PSAobG9uZykgbm9kZTEtPmNvbnRlbnQpKSB7CisJCS8qCisJCSogRmFsbGJhY2sgZm9yIHdoYXRldmVyIGNhc2UuCisJCSovCisJCW5vZGUxID0gbWlzY05vZGUxOworCQlwcmVjZWRlbmNlMSA9IDA7CisJICAgIH0gZWxzZQorCQltaXNjID0gMTsKKwl9CisJICAgIGJyZWFrOworCWNhc2UgWE1MX05BTUVTUEFDRV9ERUNMOgorCSAgICAvKgorCSAgICAqIFRPRE86IHdoeSBkbyB3ZSByZXR1cm4gMSBmb3IgbmFtZXNwYWNlIG5vZGVzPworCSAgICAqLworCSAgICByZXR1cm4oMSk7CisJZGVmYXVsdDoKKwkgICAgYnJlYWs7CisgICAgfQorICAgIHN3aXRjaCAobm9kZTItPnR5cGUpIHsKKwljYXNlIFhNTF9FTEVNRU5UX05PREU6CisJICAgIGJyZWFrOworCWNhc2UgWE1MX0FUVFJJQlVURV9OT0RFOgorCSAgICBwcmVjZWRlbmNlMiA9IDE7IC8qIGVsZW1lbnQgaXMgb3duZXIgKi8KKwkgICAgbWlzY05vZGUyID0gbm9kZTI7CisJICAgIG5vZGUyID0gbm9kZTItPnBhcmVudDsKKwkgICAgbWlzYyA9IDE7CisJICAgIGJyZWFrOworCWNhc2UgWE1MX1RFWFRfTk9ERToKKwljYXNlIFhNTF9DREFUQV9TRUNUSU9OX05PREU6CisJY2FzZSBYTUxfQ09NTUVOVF9OT0RFOgorCWNhc2UgWE1MX1BJX05PREU6IHsKKwkgICAgbWlzY05vZGUyID0gbm9kZTI7CisJICAgIGlmIChub2RlMi0+cHJldiAhPSBOVUxMKSB7CisJCWRvIHsKKwkJICAgIG5vZGUyID0gbm9kZTItPnByZXY7CisJCSAgICBpZiAobm9kZTItPnR5cGUgPT0gWE1MX0VMRU1FTlRfTk9ERSkgeworCQkJcHJlY2VkZW5jZTIgPSAzOyAvKiBlbGVtZW50IGluIHByZXYtc2libCBheGlzICovCisJCQlicmVhazsKKwkJICAgIH0KKwkJICAgIGlmIChub2RlMi0+cHJldiA9PSBOVUxMKSB7CisJCQlwcmVjZWRlbmNlMiA9IDI7IC8qIGVsZW1lbnQgaXMgcGFyZW50ICovCisJCQlub2RlMiA9IG5vZGUyLT5wYXJlbnQ7CisJCQlicmVhazsKKwkJICAgIH0KKwkJfSB3aGlsZSAoMSk7CisJICAgIH0gZWxzZSB7CisJCXByZWNlZGVuY2UyID0gMjsgLyogZWxlbWVudCBpcyBwYXJlbnQgKi8KKwkJbm9kZTIgPSBub2RlMi0+cGFyZW50OworCSAgICB9CisJICAgIGlmICgobm9kZTIgPT0gTlVMTCkgfHwgKG5vZGUyLT50eXBlICE9IFhNTF9FTEVNRU5UX05PREUpIHx8CisJCSgwIDw9IChsb25nKSBub2RlMi0+Y29udGVudCkpCisJICAgIHsKKwkJbm9kZTIgPSBtaXNjTm9kZTI7CisJCXByZWNlZGVuY2UyID0gMDsKKwkgICAgfSBlbHNlCisJCW1pc2MgPSAxOworCX0KKwkgICAgYnJlYWs7CisJY2FzZSBYTUxfTkFNRVNQQUNFX0RFQ0w6CisJICAgIHJldHVybigxKTsKKwlkZWZhdWx0OgorCSAgICBicmVhazsKKyAgICB9CisgICAgaWYgKG1pc2MpIHsKKwlpZiAobm9kZTEgPT0gbm9kZTIpIHsKKwkgICAgaWYgKHByZWNlZGVuY2UxID09IHByZWNlZGVuY2UyKSB7CisJCS8qCisJCSogVGhlIHVnbHkgY2FzZTsgYnV0IG5vcm1hbGx5IHRoZXJlIGFyZW4ndCBtYW55CisJCSogYWRqYWNlbnQgbm9uLWVsZW1lbnQgbm9kZXMgYXJvdW5kLgorCQkqLworCQljdXIgPSBtaXNjTm9kZTItPnByZXY7CisJCXdoaWxlIChjdXIgIT0gTlVMTCkgeworCQkgICAgaWYgKGN1ciA9PSBtaXNjTm9kZTEpCisJCQlyZXR1cm4oMSk7CisJCSAgICBpZiAoY3VyLT50eXBlID09IFhNTF9FTEVNRU5UX05PREUpCisJCQlyZXR1cm4oLTEpOworCQkgICAgY3VyID0gY3VyLT5wcmV2OworCQl9CisJCXJldHVybiAoLTEpOworCSAgICB9IGVsc2UgeworCQkvKgorCQkqIEV2YWx1YXRlIGJhc2VkIG9uIGhpZ2hlciBwcmVjZWRlbmNlIHdydCB0byB0aGUgZWxlbWVudC4KKwkJKiBUT0RPOiBUaGlzIGFzc3VtZXMgYXR0cmlidXRlcyBhcmUgc29ydGVkIGJlZm9yZSBjb250ZW50LgorCQkqICAgSXMgdGhpcyAxMDAlIGNvcnJlY3Q/CisJCSovCisJCWlmIChwcmVjZWRlbmNlMSA8IHByZWNlZGVuY2UyKQorCQkgICAgcmV0dXJuKDEpOworCQllbHNlCisJCSAgICByZXR1cm4oLTEpOworCSAgICB9CisJfQorCS8qCisJKiBTcGVjaWFsIGNhc2U6IE9uZSBvZiB0aGUgaGVscGVyLWVsZW1lbnRzIGlzIGNvbnRhaW5lZCBieSB0aGUgb3RoZXIuCisJKiA8Zm9vPgorCSogICA8bm9kZTI+CisJKiAgICAgPG5vZGUxPlRleHQtMShwcmVjZWRlbmNlMSA9PSAyKTwvbm9kZTE+CisJKiAgIDwvbm9kZTI+CisJKiAgIFRleHQtNihwcmVjZWRlbmNlMiA9PSAzKQorCSogPC9mb28+CisJKi8KKwlpZiAoKHByZWNlZGVuY2UyID09IDMpICYmIChwcmVjZWRlbmNlMSA+IDEpKSB7CisJICAgIGN1ciA9IG5vZGUxLT5wYXJlbnQ7CisJICAgIHdoaWxlIChjdXIpIHsKKwkJaWYgKGN1ciA9PSBub2RlMikKKwkJICAgIHJldHVybigxKTsKKwkJY3VyID0gY3VyLT5wYXJlbnQ7CisJICAgIH0KKwl9CisJaWYgKChwcmVjZWRlbmNlMSA9PSAzKSAmJiAocHJlY2VkZW5jZTIgPiAxKSkgeworCSAgICBjdXIgPSBub2RlMi0+cGFyZW50OworCSAgICB3aGlsZSAoY3VyKSB7CisJCWlmIChjdXIgPT0gbm9kZTEpCisJCSAgICByZXR1cm4oLTEpOworCQljdXIgPSBjdXItPnBhcmVudDsKKwkgICAgfQorCX0KKyAgICB9CisKKyAgICAvKgorICAgICAqIFNwZWVkdXAgdXNpbmcgZG9jdW1lbnQgb3JkZXIgaWYgYXZhaWxibGUuCisgICAgICovCisgICAgaWYgKChub2RlMS0+dHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFKSAmJgorCShub2RlMi0+dHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFKSAmJgorCSgwID4gKGxvbmcpIG5vZGUxLT5jb250ZW50KSAmJgorCSgwID4gKGxvbmcpIG5vZGUyLT5jb250ZW50KSAmJgorCShub2RlMS0+ZG9jID09IG5vZGUyLT5kb2MpKSB7CisKKwlsMSA9IC0oKGxvbmcpIG5vZGUxLT5jb250ZW50KTsKKwlsMiA9IC0oKGxvbmcpIG5vZGUyLT5jb250ZW50KTsKKwlpZiAobDEgPCBsMikKKwkgICAgcmV0dXJuKDEpOworCWlmIChsMSA+IGwyKQorCSAgICByZXR1cm4oLTEpOworICAgIH0KKwordHVydGxlX2NvbXBhcmlzb246CisKKyAgICBpZiAobm9kZTEgPT0gbm9kZTItPnByZXYpCisJcmV0dXJuKDEpOworICAgIGlmIChub2RlMSA9PSBub2RlMi0+bmV4dCkKKwlyZXR1cm4oLTEpOworICAgIC8qCisgICAgICogY29tcHV0ZSBkZXB0aCB0byByb290CisgICAgICovCisgICAgZm9yIChkZXB0aDIgPSAwLCBjdXIgPSBub2RlMjtjdXItPnBhcmVudCAhPSBOVUxMO2N1ciA9IGN1ci0+cGFyZW50KSB7CisJaWYgKGN1ciA9PSBub2RlMSkKKwkgICAgcmV0dXJuKDEpOworCWRlcHRoMisrOworICAgIH0KKyAgICByb290ID0gY3VyOworICAgIGZvciAoZGVwdGgxID0gMCwgY3VyID0gbm9kZTE7Y3VyLT5wYXJlbnQgIT0gTlVMTDtjdXIgPSBjdXItPnBhcmVudCkgeworCWlmIChjdXIgPT0gbm9kZTIpCisJICAgIHJldHVybigtMSk7CisJZGVwdGgxKys7CisgICAgfQorICAgIC8qCisgICAgICogRGlzdGluY3QgZG9jdW1lbnQgKG9yIGRpc3RpbmN0IGVudGl0aWVzIDotKCApIGNhc2UuCisgICAgICovCisgICAgaWYgKHJvb3QgIT0gY3VyKSB7CisJcmV0dXJuKC0yKTsKKyAgICB9CisgICAgLyoKKyAgICAgKiBnZXQgdGhlIG5lYXJlc3QgY29tbW9uIGFuY2VzdG9yLgorICAgICAqLworICAgIHdoaWxlIChkZXB0aDEgPiBkZXB0aDIpIHsKKwlkZXB0aDEtLTsKKwlub2RlMSA9IG5vZGUxLT5wYXJlbnQ7CisgICAgfQorICAgIHdoaWxlIChkZXB0aDIgPiBkZXB0aDEpIHsKKwlkZXB0aDItLTsKKwlub2RlMiA9IG5vZGUyLT5wYXJlbnQ7CisgICAgfQorICAgIHdoaWxlIChub2RlMS0+cGFyZW50ICE9IG5vZGUyLT5wYXJlbnQpIHsKKwlub2RlMSA9IG5vZGUxLT5wYXJlbnQ7CisJbm9kZTIgPSBub2RlMi0+cGFyZW50OworCS8qIHNob3VsZCBub3QgaGFwcGVuIGJ1dCBqdXN0IGluIGNhc2UgLi4uICovCisJaWYgKChub2RlMSA9PSBOVUxMKSB8fCAobm9kZTIgPT0gTlVMTCkpCisJICAgIHJldHVybigtMik7CisgICAgfQorICAgIC8qCisgICAgICogRmluZCB3aG8ncyBmaXJzdC4KKyAgICAgKi8KKyAgICBpZiAobm9kZTEgPT0gbm9kZTItPnByZXYpCisJcmV0dXJuKDEpOworICAgIGlmIChub2RlMSA9PSBub2RlMi0+bmV4dCkKKwlyZXR1cm4oLTEpOworICAgIC8qCisgICAgICogU3BlZWR1cCB1c2luZyBkb2N1bWVudCBvcmRlciBpZiBhdmFpbGJsZS4KKyAgICAgKi8KKyAgICBpZiAoKG5vZGUxLT50eXBlID09IFhNTF9FTEVNRU5UX05PREUpICYmCisJKG5vZGUyLT50eXBlID09IFhNTF9FTEVNRU5UX05PREUpICYmCisJKDAgPiAobG9uZykgbm9kZTEtPmNvbnRlbnQpICYmCisJKDAgPiAobG9uZykgbm9kZTItPmNvbnRlbnQpICYmCisJKG5vZGUxLT5kb2MgPT0gbm9kZTItPmRvYykpIHsKKworCWwxID0gLSgobG9uZykgbm9kZTEtPmNvbnRlbnQpOworCWwyID0gLSgobG9uZykgbm9kZTItPmNvbnRlbnQpOworCWlmIChsMSA8IGwyKQorCSAgICByZXR1cm4oMSk7CisJaWYgKGwxID4gbDIpCisJICAgIHJldHVybigtMSk7CisgICAgfQorCisgICAgZm9yIChjdXIgPSBub2RlMS0+bmV4dDtjdXIgIT0gTlVMTDtjdXIgPSBjdXItPm5leHQpCisJaWYgKGN1ciA9PSBub2RlMikKKwkgICAgcmV0dXJuKDEpOworICAgIHJldHVybigtMSk7IC8qIGFzc3VtZSB0aGVyZSBpcyBubyBzaWJsaW5nIGxpc3QgY29ycnVwdGlvbiAqLworfQorI2VuZGlmIC8qIFhQX09QVElNSVpFRF9OT05fRUxFTV9DT01QQVJJU09OICovCisKKy8qCisgKiBXcmFwcGVyIGZvciB0aGUgVGltc29ydCBhcmdvcml0aG0gZnJvbSB0aW1zb3J0LmgKKyAqLworI2lmZGVmIFdJVEhfVElNX1NPUlQKKyNkZWZpbmUgU09SVF9OQU1FIGxpYnhtbF9kb21ub2RlCisjZGVmaW5lIFNPUlRfVFlQRSB4bWxOb2RlUHRyCisvKioKKyAqIHdyYXBfY21wOgorICogQHg6IGEgbm9kZQorICogQHk6IGFub3RoZXIgbm9kZQorICoKKyAqIENvbXBhcmlzb24gZnVuY3Rpb24gZm9yIHRoZSBUaW1zb3J0IGltcGxlbWVudGF0aW9uCisgKgorICogUmV0dXJucyAtMiBpbiBjYXNlIG9mIGVycm9yIC0xIGlmIGZpcnN0IHBvaW50IDwgc2Vjb25kIHBvaW50LCAwIGlmCisgKiAgICAgICAgIGl0J3MgdGhlIHNhbWUgbm9kZSwgKzEgb3RoZXJ3aXNlCisgKi8KK3N0YXRpYworaW50IHdyYXBfY21wKCB4bWxOb2RlUHRyIHgsIHhtbE5vZGVQdHIgeSApOworI2lmZGVmIFhQX09QVElNSVpFRF9OT05fRUxFTV9DT01QQVJJU09OCisgICAgc3RhdGljIGludCB3cmFwX2NtcCggeG1sTm9kZVB0ciB4LCB4bWxOb2RlUHRyIHkgKQorICAgIHsKKyAgICAgICAgaW50IHJlcyA9IHhtbFhQYXRoQ21wTm9kZXNFeHQoeCwgeSk7CisgICAgICAgIHJldHVybiByZXMgPT0gLTIgPyByZXMgOiAtcmVzOworICAgIH0KKyNlbHNlCisgICAgc3RhdGljIGludCB3cmFwX2NtcCggeG1sTm9kZVB0ciB4LCB4bWxOb2RlUHRyIHkgKQorICAgIHsKKyAgICAgICAgaW50IHJlcyA9IHhtbFhQYXRoQ21wTm9kZXMoeCwgeSk7CisgICAgICAgIHJldHVybiByZXMgPT0gLTIgPyByZXMgOiAtcmVzOworICAgIH0KKyNlbmRpZgorI2RlZmluZSBTT1JUX0NNUCh4LCB5KSAgKHdyYXBfY21wKHgsIHkpKQorI2luY2x1ZGUgInRpbXNvcnQuaCIKKyNlbmRpZiAvKiBXSVRIX1RJTV9TT1JUICovCisKKyNpZiBkZWZpbmVkKExJQlhNTF9YUEFUSF9FTkFCTEVEKSB8fCBkZWZpbmVkKExJQlhNTF9TQ0hFTUFTX0VOQUJMRUQpCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCQlGbG9hdGluZyBwb2ludCBzdHVmZgkJCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZm5kZWYgVFJJT19SRVBMQUNFX1NURElPCisjZGVmaW5lIFRSSU9fUFVCTElDIHN0YXRpYworI2VuZGlmCisjaW5jbHVkZSAidHJpb25hbi5jIgorCisvKgorICogVGhlIGxhY2sgb2YgcG9ydGFiaWxpdHkgb2YgdGhpcyBzZWN0aW9uIG9mIHRoZSBsaWJjIGlzIGFubm95aW5nICEKKyAqLworZG91YmxlIHhtbFhQYXRoTkFOID0gMDsKK2RvdWJsZSB4bWxYUGF0aFBJTkYgPSAxOworZG91YmxlIHhtbFhQYXRoTklORiA9IC0xOworc3RhdGljIGRvdWJsZSB4bWxYUGF0aE5aRVJPID0gMDsgLyogbm90IGV4cG9ydGVkIGZyb20gaGVhZGVycyAqLworc3RhdGljIGludCB4bWxYUGF0aEluaXRpYWxpemVkID0gMDsKKworLyoqCisgKiB4bWxYUGF0aEluaXQ6CisgKgorICogSW5pdGlhbGl6ZSB0aGUgWFBhdGggZW52aXJvbm1lbnQKKyAqLwordm9pZAoreG1sWFBhdGhJbml0KHZvaWQpIHsKKyAgICBpZiAoeG1sWFBhdGhJbml0aWFsaXplZCkgcmV0dXJuOworCisgICAgeG1sWFBhdGhQSU5GID0gdHJpb19waW5mKCk7CisgICAgeG1sWFBhdGhOSU5GID0gdHJpb19uaW5mKCk7CisgICAgeG1sWFBhdGhOQU4gPSB0cmlvX25hbigpOworICAgIHhtbFhQYXRoTlpFUk8gPSB0cmlvX256ZXJvKCk7CisKKyAgICB4bWxYUGF0aEluaXRpYWxpemVkID0gMTsKK30KKworLyoqCisgKiB4bWxYUGF0aElzTmFOOgorICogQHZhbDogIGEgZG91YmxlIHZhbHVlCisgKgorICogUHJvdmlkZXMgYSBwb3J0YWJsZSBpc25hbigpIGZ1bmN0aW9uIHRvIGRldGVjdCB3aGV0aGVyIGEgZG91YmxlCisgKiBpcyBhIE5vdGFOdW1iZXIuIEJhc2VkIG9uIHRyaW8gY29kZQorICogaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9jdHJpby8KKyAqCisgKiBSZXR1cm5zIDEgaWYgdGhlIHZhbHVlIGlzIGEgTmFOLCAwIG90aGVyd2lzZQorICovCitpbnQKK3htbFhQYXRoSXNOYU4oZG91YmxlIHZhbCkgeworICAgIHJldHVybih0cmlvX2lzbmFuKHZhbCkpOworfQorCisvKioKKyAqIHhtbFhQYXRoSXNJbmY6CisgKiBAdmFsOiAgYSBkb3VibGUgdmFsdWUKKyAqCisgKiBQcm92aWRlcyBhIHBvcnRhYmxlIGlzaW5mKCkgZnVuY3Rpb24gdG8gZGV0ZWN0IHdoZXRoZXIgYSBkb3VibGUKKyAqIGlzIGEgK0luZmluaXRlIG9yIC1JbmZpbml0ZS4gQmFzZWQgb24gdHJpbyBjb2RlCisgKiBodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2N0cmlvLworICoKKyAqIFJldHVybnMgMSB2aSB0aGUgdmFsdWUgaXMgK0luZmluaXRlLCAtMSBpZiAtSW5maW5pdGUsIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sWFBhdGhJc0luZihkb3VibGUgdmFsKSB7CisgICAgcmV0dXJuKHRyaW9faXNpbmYodmFsKSk7Cit9CisKKyNlbmRpZiAvKiBTQ0hFTUFTIG9yIFhQQVRIICovCisjaWZkZWYgTElCWE1MX1hQQVRIX0VOQUJMRUQKKy8qKgorICogeG1sWFBhdGhHZXRTaWduOgorICogQHZhbDogIGEgZG91YmxlIHZhbHVlCisgKgorICogUHJvdmlkZXMgYSBwb3J0YWJsZSBmdW5jdGlvbiB0byBkZXRlY3QgdGhlIHNpZ24gb2YgYSBkb3VibGUKKyAqIE1vZGlmaWVkIGZyb20gdHJpbyBjb2RlCisgKiBodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2N0cmlvLworICoKKyAqIFJldHVybnMgMSBpZiB0aGUgdmFsdWUgaXMgTmVnYXRpdmUsIDAgaWYgcG9zaXRpdmUKKyAqLworc3RhdGljIGludAoreG1sWFBhdGhHZXRTaWduKGRvdWJsZSB2YWwpIHsKKyAgICByZXR1cm4odHJpb19zaWduYml0KHZhbCkpOworfQorCisKKy8qCisgKiBUT0RPOiB3aGVuIGNvbXBhdGliaWxpdHkgYWxsb3dzIHJlbW92ZSBhbGwgImZha2Ugbm9kZSBsaWJ4c2x0IiBzdHJpbmdzCisgKiAgICAgICB0aGUgdGVzdCBzaG91bGQganVzdCBiZSBuYW1lWzBdID0gJyAnCisgKi8KKyNpZmRlZiBERUJVR19YUEFUSF9FWFBSRVNTSU9OCisjZGVmaW5lIERFQlVHX1NURVAKKyNkZWZpbmUgREVCVUdfRVhQUgorI2RlZmluZSBERUJVR19FVkFMX0NPVU5UUworI2VuZGlmCisKK3N0YXRpYyB4bWxOcyB4bWxYUGF0aFhNTE5hbWVzcGFjZVN0cnVjdCA9IHsKKyAgICBOVUxMLAorICAgIFhNTF9OQU1FU1BBQ0VfREVDTCwKKyAgICBYTUxfWE1MX05BTUVTUEFDRSwKKyAgICBCQURfQ0FTVCAieG1sIiwKKyAgICBOVUxMLAorICAgIE5VTEwKK307CitzdGF0aWMgeG1sTnNQdHIgeG1sWFBhdGhYTUxOYW1lc3BhY2UgPSAmeG1sWFBhdGhYTUxOYW1lc3BhY2VTdHJ1Y3Q7CisjaWZuZGVmIExJQlhNTF9USFJFQURfRU5BQkxFRAorLyoKKyAqIE9wdGltaXplciBpcyBkaXNhYmxlZCBvbmx5IHdoZW4gdGhyZWFkZWQgYXBwcyBhcmUgZGV0ZWN0ZWQgd2hpbGUKKyAqIHRoZSBsaWJyYXJ5IGFpbid0IGNvbXBpbGVkIGZvciB0aHJlYWQgc2FmZXR5LgorICovCitzdGF0aWMgaW50IHhtbFhQYXRoRGlzYWJsZU9wdGltaXplciA9IDA7CisjZW5kaWYKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJCUVycm9yIGhhbmRsaW5nIHJvdXRpbmVzCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqCisgKiBYUF9FUlJPUk5VTEw6CisgKiBAWDogIHRoZSBlcnJvciBjb2RlCisgKgorICogTWFjcm8gdG8gcmFpc2UgYW4gWFBhdGggZXJyb3IgYW5kIHJldHVybiBOVUxMLgorICovCisjZGVmaW5lIFhQX0VSUk9STlVMTChYKQkJCQkJCQlcCisgICAgeyB4bWxYUGF0aEVycihjdHh0LCBYKTsgcmV0dXJuKE5VTEwpOyB9CisKKy8qCisgKiBUaGUgYXJyYXkgeG1sWFBhdGhFcnJvck1lc3NhZ2VzIGNvcnJlc3BvbmRzIHRvIHRoZSBlbnVtIHhtbFhQYXRoRXJyb3IKKyAqLworc3RhdGljIGNvbnN0IGNoYXIgKnhtbFhQYXRoRXJyb3JNZXNzYWdlc1tdID0geworICAgICJPa1xuIiwKKyAgICAiTnVtYmVyIGVuY29kaW5nXG4iLAorICAgICJVbmZpbmlzaGVkIGxpdGVyYWxcbiIsCisgICAgIlN0YXJ0IG9mIGxpdGVyYWxcbiIsCisgICAgIkV4cGVjdGVkICQgZm9yIHZhcmlhYmxlIHJlZmVyZW5jZVxuIiwKKyAgICAiVW5kZWZpbmVkIHZhcmlhYmxlXG4iLAorICAgICJJbnZhbGlkIHByZWRpY2F0ZVxuIiwKKyAgICAiSW52YWxpZCBleHByZXNzaW9uXG4iLAorICAgICJNaXNzaW5nIGNsb3NpbmcgY3VybHkgYnJhY2VcbiIsCisgICAgIlVucmVnaXN0ZXJlZCBmdW5jdGlvblxuIiwKKyAgICAiSW52YWxpZCBvcGVyYW5kXG4iLAorICAgICJJbnZhbGlkIHR5cGVcbiIsCisgICAgIkludmFsaWQgbnVtYmVyIG9mIGFyZ3VtZW50c1xuIiwKKyAgICAiSW52YWxpZCBjb250ZXh0IHNpemVcbiIsCisgICAgIkludmFsaWQgY29udGV4dCBwb3NpdGlvblxuIiwKKyAgICAiTWVtb3J5IGFsbG9jYXRpb24gZXJyb3JcbiIsCisgICAgIlN5bnRheCBlcnJvclxuIiwKKyAgICAiUmVzb3VyY2UgZXJyb3JcbiIsCisgICAgIlN1YiByZXNvdXJjZSBlcnJvclxuIiwKKyAgICAiVW5kZWZpbmVkIG5hbWVzcGFjZSBwcmVmaXhcbiIsCisgICAgIkVuY29kaW5nIGVycm9yXG4iLAorICAgICJDaGFyIG91dCBvZiBYTUwgcmFuZ2VcbiIsCisgICAgIkludmFsaWQgb3IgaW5jb21wbGV0ZSBjb250ZXh0XG4iLAorICAgICJTdGFjayB1c2FnZSBlcnJvclxuIiwKKyAgICAiRm9yYmlkZGVuIHZhcmlhYmxlXG4iLAorICAgICI/PyBVbmtub3duIGVycm9yID8/XG4iCS8qIE11c3QgYmUgbGFzdCBpbiB0aGUgbGlzdCEgKi8KK307CisjZGVmaW5lIE1BWEVSUk5PICgoaW50KShzaXplb2YoeG1sWFBhdGhFcnJvck1lc3NhZ2VzKSAvCVwKKwkJICAgc2l6ZW9mKHhtbFhQYXRoRXJyb3JNZXNzYWdlc1swXSkpIC0gMSkKKy8qKgorICogeG1sWFBhdGhFcnJNZW1vcnk6CisgKiBAY3R4dDogIGFuIFhQYXRoIGNvbnRleHQKKyAqIEBleHRyYTogIGV4dHJhIGluZm9ybWF0aW9ucworICoKKyAqIEhhbmRsZSBhIHJlZGVmaW5pdGlvbiBvZiBhdHRyaWJ1dGUgZXJyb3IKKyAqLworc3RhdGljIHZvaWQKK3htbFhQYXRoRXJyTWVtb3J5KHhtbFhQYXRoQ29udGV4dFB0ciBjdHh0LCBjb25zdCBjaGFyICpleHRyYSkKK3sKKyAgICBpZiAoY3R4dCAhPSBOVUxMKSB7CisgICAgICAgIGlmIChleHRyYSkgeworICAgICAgICAgICAgeG1sQ2hhciBidWZbMjAwXTsKKworICAgICAgICAgICAgeG1sU3RyUHJpbnRmKGJ1ZiwgMjAwLAorICAgICAgICAgICAgICAgICAgICAgICAgIEJBRF9DQVNUICJNZW1vcnkgYWxsb2NhdGlvbiBmYWlsZWQgOiAlc1xuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICBleHRyYSk7CisgICAgICAgICAgICBjdHh0LT5sYXN0RXJyb3IubWVzc2FnZSA9IChjaGFyICopIHhtbFN0cmR1cChidWYpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgY3R4dC0+bGFzdEVycm9yLm1lc3NhZ2UgPSAoY2hhciAqKQorCSAgICAgICB4bWxTdHJkdXAoQkFEX0NBU1QgIk1lbW9yeSBhbGxvY2F0aW9uIGZhaWxlZFxuIik7CisgICAgICAgIH0KKyAgICAgICAgY3R4dC0+bGFzdEVycm9yLmRvbWFpbiA9IFhNTF9GUk9NX1hQQVRIOworICAgICAgICBjdHh0LT5sYXN0RXJyb3IuY29kZSA9IFhNTF9FUlJfTk9fTUVNT1JZOworCWlmIChjdHh0LT5lcnJvciAhPSBOVUxMKQorCSAgICBjdHh0LT5lcnJvcihjdHh0LT51c2VyRGF0YSwgJmN0eHQtPmxhc3RFcnJvcik7CisgICAgfSBlbHNlIHsKKyAgICAgICAgaWYgKGV4dHJhKQorICAgICAgICAgICAgX194bWxSYWlzZUVycm9yKE5VTEwsIE5VTEwsIE5VTEwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgTlVMTCwgWE1MX0ZST01fWFBBVEgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgWE1MX0VSUl9OT19NRU1PUlksIFhNTF9FUlJfRkFUQUwsIE5VTEwsIDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXh0cmEsIE5VTEwsIE5VTEwsIDAsIDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk1lbW9yeSBhbGxvY2F0aW9uIGZhaWxlZCA6ICVzXG4iLCBleHRyYSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIF9feG1sUmFpc2VFcnJvcihOVUxMLCBOVUxMLCBOVUxMLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIE5VTEwsIFhNTF9GUk9NX1hQQVRILAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhNTF9FUlJfTk9fTUVNT1JZLCBYTUxfRVJSX0ZBVEFMLCBOVUxMLCAwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIE5VTEwsIE5VTEwsIDAsIDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk1lbW9yeSBhbGxvY2F0aW9uIGZhaWxlZFxuIik7CisgICAgfQorfQorCisvKioKKyAqIHhtbFhQYXRoUEVyck1lbW9yeToKKyAqIEBjdHh0OiAgYW4gWFBhdGggcGFyc2VyIGNvbnRleHQKKyAqIEBleHRyYTogIGV4dHJhIGluZm9ybWF0aW9ucworICoKKyAqIEhhbmRsZSBhIHJlZGVmaW5pdGlvbiBvZiBhdHRyaWJ1dGUgZXJyb3IKKyAqLworc3RhdGljIHZvaWQKK3htbFhQYXRoUEVyck1lbW9yeSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCwgY29uc3QgY2hhciAqZXh0cmEpCit7CisgICAgaWYgKGN0eHQgPT0gTlVMTCkKKwl4bWxYUGF0aEVyck1lbW9yeShOVUxMLCBleHRyYSk7CisgICAgZWxzZSB7CisJY3R4dC0+ZXJyb3IgPSBYUEFUSF9NRU1PUllfRVJST1I7CisJeG1sWFBhdGhFcnJNZW1vcnkoY3R4dC0+Y29udGV4dCwgZXh0cmEpOworICAgIH0KK30KKworLyoqCisgKiB4bWxYUGF0aEVycjoKKyAqIEBjdHh0OiAgYSBYUGF0aCBwYXJzZXIgY29udGV4dAorICogQGVycm9yOiAgdGhlIGVycm9yIGNvZGUKKyAqCisgKiBIYW5kbGUgYW4gWFBhdGggZXJyb3IKKyAqLwordm9pZAoreG1sWFBhdGhFcnIoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQsIGludCBlcnJvcikKK3sKKyAgICBpZiAoKGVycm9yIDwgMCkgfHwgKGVycm9yID4gTUFYRVJSTk8pKQorCWVycm9yID0gTUFYRVJSTk87CisgICAgaWYgKGN0eHQgPT0gTlVMTCkgeworCV9feG1sUmFpc2VFcnJvcihOVUxMLCBOVUxMLCBOVUxMLAorCQkJTlVMTCwgTlVMTCwgWE1MX0ZST01fWFBBVEgsCisJCQllcnJvciArIFhNTF9YUEFUSF9FWFBSRVNTSU9OX09LIC0gWFBBVEhfRVhQUkVTU0lPTl9PSywKKwkJCVhNTF9FUlJfRVJST1IsIE5VTEwsIDAsCisJCQlOVUxMLCBOVUxMLCBOVUxMLCAwLCAwLAorCQkJIiVzIiwgeG1sWFBhdGhFcnJvck1lc3NhZ2VzW2Vycm9yXSk7CisJcmV0dXJuOworICAgIH0KKyAgICBjdHh0LT5lcnJvciA9IGVycm9yOworICAgIGlmIChjdHh0LT5jb250ZXh0ID09IE5VTEwpIHsKKwlfX3htbFJhaXNlRXJyb3IoTlVMTCwgTlVMTCwgTlVMTCwKKwkJCU5VTEwsIE5VTEwsIFhNTF9GUk9NX1hQQVRILAorCQkJZXJyb3IgKyBYTUxfWFBBVEhfRVhQUkVTU0lPTl9PSyAtIFhQQVRIX0VYUFJFU1NJT05fT0ssCisJCQlYTUxfRVJSX0VSUk9SLCBOVUxMLCAwLAorCQkJKGNvbnN0IGNoYXIgKikgY3R4dC0+YmFzZSwgTlVMTCwgTlVMTCwKKwkJCWN0eHQtPmN1ciAtIGN0eHQtPmJhc2UsIDAsCisJCQkiJXMiLCB4bWxYUGF0aEVycm9yTWVzc2FnZXNbZXJyb3JdKTsKKwlyZXR1cm47CisgICAgfQorCisgICAgLyogY2xlYW51cCBjdXJyZW50IGxhc3QgZXJyb3IgKi8KKyAgICB4bWxSZXNldEVycm9yKCZjdHh0LT5jb250ZXh0LT5sYXN0RXJyb3IpOworCisgICAgY3R4dC0+Y29udGV4dC0+bGFzdEVycm9yLmRvbWFpbiA9IFhNTF9GUk9NX1hQQVRIOworICAgIGN0eHQtPmNvbnRleHQtPmxhc3RFcnJvci5jb2RlID0gZXJyb3IgKyBYTUxfWFBBVEhfRVhQUkVTU0lPTl9PSyAtCisgICAgICAgICAgICAgICAgICAgICAgICAgICBYUEFUSF9FWFBSRVNTSU9OX09LOworICAgIGN0eHQtPmNvbnRleHQtPmxhc3RFcnJvci5sZXZlbCA9IFhNTF9FUlJfRVJST1I7CisgICAgY3R4dC0+Y29udGV4dC0+bGFzdEVycm9yLnN0cjEgPSAoY2hhciAqKSB4bWxTdHJkdXAoY3R4dC0+YmFzZSk7CisgICAgY3R4dC0+Y29udGV4dC0+bGFzdEVycm9yLmludDEgPSBjdHh0LT5jdXIgLSBjdHh0LT5iYXNlOworICAgIGN0eHQtPmNvbnRleHQtPmxhc3RFcnJvci5ub2RlID0gY3R4dC0+Y29udGV4dC0+ZGVidWdOb2RlOworICAgIGlmIChjdHh0LT5jb250ZXh0LT5lcnJvciAhPSBOVUxMKSB7CisJY3R4dC0+Y29udGV4dC0+ZXJyb3IoY3R4dC0+Y29udGV4dC0+dXNlckRhdGEsCisJICAgICAgICAgICAgICAgICAgICAgJmN0eHQtPmNvbnRleHQtPmxhc3RFcnJvcik7CisgICAgfSBlbHNlIHsKKwlfX3htbFJhaXNlRXJyb3IoTlVMTCwgTlVMTCwgTlVMTCwKKwkJCU5VTEwsIGN0eHQtPmNvbnRleHQtPmRlYnVnTm9kZSwgWE1MX0ZST01fWFBBVEgsCisJCQllcnJvciArIFhNTF9YUEFUSF9FWFBSRVNTSU9OX09LIC0gWFBBVEhfRVhQUkVTU0lPTl9PSywKKwkJCVhNTF9FUlJfRVJST1IsIE5VTEwsIDAsCisJCQkoY29uc3QgY2hhciAqKSBjdHh0LT5iYXNlLCBOVUxMLCBOVUxMLAorCQkJY3R4dC0+Y3VyIC0gY3R4dC0+YmFzZSwgMCwKKwkJCSIlcyIsIHhtbFhQYXRoRXJyb3JNZXNzYWdlc1tlcnJvcl0pOworICAgIH0KKworfQorCisvKioKKyAqIHhtbFhQYXRoZXJyb3I6CisgKiBAY3R4dDogIHRoZSBYUGF0aCBQYXJzZXIgY29udGV4dAorICogQGZpbGU6ICB0aGUgZmlsZSBuYW1lCisgKiBAbGluZTogIHRoZSBsaW5lIG51bWJlcgorICogQG5vOiAgdGhlIGVycm9yIG51bWJlcgorICoKKyAqIEZvcm1hdHMgYW4gZXJyb3IgbWVzc2FnZS4KKyAqLwordm9pZAoreG1sWFBhdGhlcnJvcih4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCwgY29uc3QgY2hhciAqZmlsZSBBVFRSSUJVVEVfVU5VU0VELAorICAgICAgICAgICAgICBpbnQgbGluZSBBVFRSSUJVVEVfVU5VU0VELCBpbnQgbm8pIHsKKyAgICB4bWxYUGF0aEVycihjdHh0LCBubyk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCQlVdGlsaXRpZXMJCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqCisgKiB4c2x0UG9pbnRlckxpc3Q6CisgKgorICogUG9pbnRlci1saXN0IGZvciB2YXJpb3VzIHB1cnBvc2VzLgorICovCit0eXBlZGVmIHN0cnVjdCBfeG1sUG9pbnRlckxpc3QgeG1sUG9pbnRlckxpc3Q7Cit0eXBlZGVmIHhtbFBvaW50ZXJMaXN0ICp4bWxQb2ludGVyTGlzdFB0cjsKK3N0cnVjdCBfeG1sUG9pbnRlckxpc3QgeworICAgIHZvaWQgKippdGVtczsKKyAgICBpbnQgbnVtYmVyOworICAgIGludCBzaXplOworfTsKKy8qCisqIFRPRE86IFNpbmNlIHN1Y2ggYSBsaXN0LWhhbmRsaW5nIGlzIHVzZWQgaW4geG1sc2NoZW1hcy5jIGFuZCBsaWJ4c2x0CisqIGFuZCBoZXJlLCB3ZSBzaG91bGQgbWFrZSB0aGUgZnVuY3Rpb25zIHB1YmxpYy4KKyovCitzdGF0aWMgaW50Cit4bWxQb2ludGVyTGlzdEFkZFNpemUoeG1sUG9pbnRlckxpc3RQdHIgbGlzdCwKKwkJICAgICAgIHZvaWQgKml0ZW0sCisJCSAgICAgICBpbnQgaW5pdGlhbFNpemUpCit7CisgICAgaWYgKGxpc3QtPml0ZW1zID09IE5VTEwpIHsKKwlpZiAoaW5pdGlhbFNpemUgPD0gMCkKKwkgICAgaW5pdGlhbFNpemUgPSAxOworCWxpc3QtPml0ZW1zID0gKHZvaWQgKiopIHhtbE1hbGxvYyhpbml0aWFsU2l6ZSAqIHNpemVvZih2b2lkICopKTsKKwlpZiAobGlzdC0+aXRlbXMgPT0gTlVMTCkgeworCSAgICB4bWxYUGF0aEVyck1lbW9yeShOVUxMLAorCQkieG1sUG9pbnRlckxpc3RDcmVhdGU6IGFsbG9jYXRpbmcgaXRlbVxuIik7CisJICAgIHJldHVybigtMSk7CisJfQorCWxpc3QtPm51bWJlciA9IDA7CisJbGlzdC0+c2l6ZSA9IGluaXRpYWxTaXplOworICAgIH0gZWxzZSBpZiAobGlzdC0+c2l6ZSA8PSBsaXN0LT5udW1iZXIpIHsKKyAgICAgICAgaWYgKGxpc3QtPnNpemUgPiA1MDAwMDAwMCkgeworCSAgICB4bWxYUGF0aEVyck1lbW9yeShOVUxMLAorCQkieG1sUG9pbnRlckxpc3RBZGRTaXplOiByZS1hbGxvY2F0aW5nIGl0ZW1cbiIpOworICAgICAgICAgICAgcmV0dXJuKC0xKTsKKyAgICAgICAgfQorCWxpc3QtPnNpemUgKj0gMjsKKwlsaXN0LT5pdGVtcyA9ICh2b2lkICoqKSB4bWxSZWFsbG9jKGxpc3QtPml0ZW1zLAorCSAgICBsaXN0LT5zaXplICogc2l6ZW9mKHZvaWQgKikpOworCWlmIChsaXN0LT5pdGVtcyA9PSBOVUxMKSB7CisJICAgIHhtbFhQYXRoRXJyTWVtb3J5KE5VTEwsCisJCSJ4bWxQb2ludGVyTGlzdEFkZFNpemU6IHJlLWFsbG9jYXRpbmcgaXRlbVxuIik7CisJICAgIGxpc3QtPnNpemUgPSAwOworCSAgICByZXR1cm4oLTEpOworCX0KKyAgICB9CisgICAgbGlzdC0+aXRlbXNbbGlzdC0+bnVtYmVyKytdID0gaXRlbTsKKyAgICByZXR1cm4oMCk7Cit9CisKKy8qKgorICogeHNsdFBvaW50ZXJMaXN0Q3JlYXRlOgorICoKKyAqIENyZWF0ZXMgYW4geHNsdFBvaW50ZXJMaXN0IHN0cnVjdHVyZS4KKyAqCisgKiBSZXR1cm5zIGEgeHNsdFBvaW50ZXJMaXN0IHN0cnVjdHVyZSBvciBOVUxMIGluIGNhc2Ugb2YgYW4gZXJyb3IuCisgKi8KK3N0YXRpYyB4bWxQb2ludGVyTGlzdFB0cgoreG1sUG9pbnRlckxpc3RDcmVhdGUoaW50IGluaXRpYWxTaXplKQoreworICAgIHhtbFBvaW50ZXJMaXN0UHRyIHJldDsKKworICAgIHJldCA9IHhtbE1hbGxvYyhzaXplb2YoeG1sUG9pbnRlckxpc3QpKTsKKyAgICBpZiAocmV0ID09IE5VTEwpIHsKKwl4bWxYUGF0aEVyck1lbW9yeShOVUxMLAorCSAgICAieG1sUG9pbnRlckxpc3RDcmVhdGU6IGFsbG9jYXRpbmcgaXRlbVxuIik7CisJcmV0dXJuIChOVUxMKTsKKyAgICB9CisgICAgbWVtc2V0KHJldCwgMCwgc2l6ZW9mKHhtbFBvaW50ZXJMaXN0KSk7CisgICAgaWYgKGluaXRpYWxTaXplID4gMCkgeworCXhtbFBvaW50ZXJMaXN0QWRkU2l6ZShyZXQsIE5VTEwsIGluaXRpYWxTaXplKTsKKwlyZXQtPm51bWJlciA9IDA7CisgICAgfQorICAgIHJldHVybiAocmV0KTsKK30KKworLyoqCisgKiB4c2x0UG9pbnRlckxpc3RGcmVlOgorICoKKyAqIEZyZWVzIHRoZSB4c2x0UG9pbnRlckxpc3Qgc3RydWN0dXJlLiBUaGlzIGRvZXMgbm90IGZyZWUKKyAqIHRoZSBjb250ZW50IG9mIHRoZSBsaXN0LgorICovCitzdGF0aWMgdm9pZAoreG1sUG9pbnRlckxpc3RGcmVlKHhtbFBvaW50ZXJMaXN0UHRyIGxpc3QpCit7CisgICAgaWYgKGxpc3QgPT0gTlVMTCkKKwlyZXR1cm47CisgICAgaWYgKGxpc3QtPml0ZW1zICE9IE5VTEwpCisJeG1sRnJlZShsaXN0LT5pdGVtcyk7CisgICAgeG1sRnJlZShsaXN0KTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJCVBhcnNlciBUeXBlcwkJCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKgorICogVHlwZXMgYXJlIHByaXZhdGU6CisgKi8KKwordHlwZWRlZiBlbnVtIHsKKyAgICBYUEFUSF9PUF9FTkQ9MCwKKyAgICBYUEFUSF9PUF9BTkQsCisgICAgWFBBVEhfT1BfT1IsCisgICAgWFBBVEhfT1BfRVFVQUwsCisgICAgWFBBVEhfT1BfQ01QLAorICAgIFhQQVRIX09QX1BMVVMsCisgICAgWFBBVEhfT1BfTVVMVCwKKyAgICBYUEFUSF9PUF9VTklPTiwKKyAgICBYUEFUSF9PUF9ST09ULAorICAgIFhQQVRIX09QX05PREUsCisgICAgWFBBVEhfT1BfUkVTRVQsIC8qIDEwICovCisgICAgWFBBVEhfT1BfQ09MTEVDVCwKKyAgICBYUEFUSF9PUF9WQUxVRSwgLyogMTIgKi8KKyAgICBYUEFUSF9PUF9WQVJJQUJMRSwKKyAgICBYUEFUSF9PUF9GVU5DVElPTiwKKyAgICBYUEFUSF9PUF9BUkcsCisgICAgWFBBVEhfT1BfUFJFRElDQVRFLAorICAgIFhQQVRIX09QX0ZJTFRFUiwgLyogMTcgKi8KKyAgICBYUEFUSF9PUF9TT1JUIC8qIDE4ICovCisjaWZkZWYgTElCWE1MX1hQVFJfRU5BQkxFRAorICAgICxYUEFUSF9PUF9SQU5HRVRPCisjZW5kaWYKK30geG1sWFBhdGhPcDsKKwordHlwZWRlZiBlbnVtIHsKKyAgICBBWElTX0FOQ0VTVE9SID0gMSwKKyAgICBBWElTX0FOQ0VTVE9SX09SX1NFTEYsCisgICAgQVhJU19BVFRSSUJVVEUsCisgICAgQVhJU19DSElMRCwKKyAgICBBWElTX0RFU0NFTkRBTlQsCisgICAgQVhJU19ERVNDRU5EQU5UX09SX1NFTEYsCisgICAgQVhJU19GT0xMT1dJTkcsCisgICAgQVhJU19GT0xMT1dJTkdfU0lCTElORywKKyAgICBBWElTX05BTUVTUEFDRSwKKyAgICBBWElTX1BBUkVOVCwKKyAgICBBWElTX1BSRUNFRElORywKKyAgICBBWElTX1BSRUNFRElOR19TSUJMSU5HLAorICAgIEFYSVNfU0VMRgorfSB4bWxYUGF0aEF4aXNWYWw7CisKK3R5cGVkZWYgZW51bSB7CisgICAgTk9ERV9URVNUX05PTkUgPSAwLAorICAgIE5PREVfVEVTVF9UWVBFID0gMSwKKyAgICBOT0RFX1RFU1RfUEkgPSAyLAorICAgIE5PREVfVEVTVF9BTEwgPSAzLAorICAgIE5PREVfVEVTVF9OUyA9IDQsCisgICAgTk9ERV9URVNUX05BTUUgPSA1Cit9IHhtbFhQYXRoVGVzdFZhbDsKKwordHlwZWRlZiBlbnVtIHsKKyAgICBOT0RFX1RZUEVfTk9ERSA9IDAsCisgICAgTk9ERV9UWVBFX0NPTU1FTlQgPSBYTUxfQ09NTUVOVF9OT0RFLAorICAgIE5PREVfVFlQRV9URVhUID0gWE1MX1RFWFRfTk9ERSwKKyAgICBOT0RFX1RZUEVfUEkgPSBYTUxfUElfTk9ERQorfSB4bWxYUGF0aFR5cGVWYWw7CisKK3R5cGVkZWYgc3RydWN0IF94bWxYUGF0aFN0ZXBPcCB4bWxYUGF0aFN0ZXBPcDsKK3R5cGVkZWYgeG1sWFBhdGhTdGVwT3AgKnhtbFhQYXRoU3RlcE9wUHRyOworc3RydWN0IF94bWxYUGF0aFN0ZXBPcCB7CisgICAgeG1sWFBhdGhPcCBvcDsJCS8qIFRoZSBpZGVudGlmaWVyIG9mIHRoZSBvcGVyYXRpb24gKi8KKyAgICBpbnQgY2gxOwkJCS8qIEZpcnN0IGNoaWxkICovCisgICAgaW50IGNoMjsJCQkvKiBTZWNvbmQgY2hpbGQgKi8KKyAgICBpbnQgdmFsdWU7CisgICAgaW50IHZhbHVlMjsKKyAgICBpbnQgdmFsdWUzOworICAgIHZvaWQgKnZhbHVlNDsKKyAgICB2b2lkICp2YWx1ZTU7CisgICAgdm9pZCAqY2FjaGU7CisgICAgdm9pZCAqY2FjaGVVUkk7Cit9OworCitzdHJ1Y3QgX3htbFhQYXRoQ29tcEV4cHIgeworICAgIGludCBuYlN0ZXA7CQkJLyogTnVtYmVyIG9mIHN0ZXBzIGluIHRoaXMgZXhwcmVzc2lvbiAqLworICAgIGludCBtYXhTdGVwOwkJLyogTWF4aW11bSBudW1iZXIgb2Ygc3RlcHMgYWxsb2NhdGVkICovCisgICAgeG1sWFBhdGhTdGVwT3AgKnN0ZXBzOwkvKiBvcHMgZm9yIGNvbXB1dGF0aW9uIG9mIHRoaXMgZXhwcmVzc2lvbiAqLworICAgIGludCBsYXN0OwkJCS8qIGluZGV4IG9mIGxhc3Qgc3RlcCBpbiBleHByZXNzaW9uICovCisgICAgeG1sQ2hhciAqZXhwcjsJCS8qIHRoZSBleHByZXNzaW9uIGJlaW5nIGNvbXB1dGVkICovCisgICAgeG1sRGljdFB0ciBkaWN0OwkJLyogdGhlIGRpY3Rpb25uYXJ5IHRvIHVzZSBpZiBhbnkgKi8KKyNpZmRlZiBERUJVR19FVkFMX0NPVU5UUworICAgIGludCBuYjsKKyAgICB4bWxDaGFyICpzdHJpbmc7CisjZW5kaWYKKyNpZmRlZiBYUEFUSF9TVFJFQU1JTkcKKyAgICB4bWxQYXR0ZXJuUHRyIHN0cmVhbTsKKyNlbmRpZgorfTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJCUZvcndhcmQgZGVjbGFyYXRpb25zCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyB2b2lkCit4bWxYUGF0aEZyZWVWYWx1ZVRyZWUoeG1sTm9kZVNldFB0ciBvYmopOworc3RhdGljIHZvaWQKK3htbFhQYXRoUmVsZWFzZU9iamVjdCh4bWxYUGF0aENvbnRleHRQdHIgY3R4dCwgeG1sWFBhdGhPYmplY3RQdHIgb2JqKTsKK3N0YXRpYyBpbnQKK3htbFhQYXRoQ29tcE9wRXZhbEZpcnN0KHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0LAorICAgICAgICAgICAgICAgICAgICAgICAgeG1sWFBhdGhTdGVwT3BQdHIgb3AsIHhtbE5vZGVQdHIgKmZpcnN0KTsKK3N0YXRpYyBpbnQKK3htbFhQYXRoQ29tcE9wRXZhbFRvQm9vbGVhbih4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCwKKwkJCSAgICB4bWxYUGF0aFN0ZXBPcFB0ciBvcCwKKwkJCSAgICBpbnQgaXNQcmVkaWNhdGUpOworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQkJUGFyc2VyIFR5cGUgZnVuY3Rpb25zCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqCisgKiB4bWxYUGF0aE5ld0NvbXBFeHByOgorICoKKyAqIENyZWF0ZSBhIG5ldyBYcGF0aCBjb21wb25lbnQKKyAqCisgKiBSZXR1cm5zIHRoZSBuZXdseSBhbGxvY2F0ZWQgeG1sWFBhdGhDb21wRXhwclB0ciBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworc3RhdGljIHhtbFhQYXRoQ29tcEV4cHJQdHIKK3htbFhQYXRoTmV3Q29tcEV4cHIodm9pZCkgeworICAgIHhtbFhQYXRoQ29tcEV4cHJQdHIgY3VyOworCisgICAgY3VyID0gKHhtbFhQYXRoQ29tcEV4cHJQdHIpIHhtbE1hbGxvYyhzaXplb2YoeG1sWFBhdGhDb21wRXhwcikpOworICAgIGlmIChjdXIgPT0gTlVMTCkgeworICAgICAgICB4bWxYUGF0aEVyck1lbW9yeShOVUxMLCAiYWxsb2NhdGluZyBjb21wb25lbnRcbiIpOworCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgbWVtc2V0KGN1ciwgMCwgc2l6ZW9mKHhtbFhQYXRoQ29tcEV4cHIpKTsKKyAgICBjdXItPm1heFN0ZXAgPSAxMDsKKyAgICBjdXItPm5iU3RlcCA9IDA7CisgICAgY3VyLT5zdGVwcyA9ICh4bWxYUGF0aFN0ZXBPcCAqKSB4bWxNYWxsb2MoY3VyLT5tYXhTdGVwICoKKwkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZih4bWxYUGF0aFN0ZXBPcCkpOworICAgIGlmIChjdXItPnN0ZXBzID09IE5VTEwpIHsKKyAgICAgICAgeG1sWFBhdGhFcnJNZW1vcnkoTlVMTCwgImFsbG9jYXRpbmcgc3RlcHNcbiIpOworCXhtbEZyZWUoY3VyKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIG1lbXNldChjdXItPnN0ZXBzLCAwLCBjdXItPm1heFN0ZXAgKiBzaXplb2YoeG1sWFBhdGhTdGVwT3ApKTsKKyAgICBjdXItPmxhc3QgPSAtMTsKKyNpZmRlZiBERUJVR19FVkFMX0NPVU5UUworICAgIGN1ci0+bmIgPSAwOworI2VuZGlmCisgICAgcmV0dXJuKGN1cik7Cit9CisKKy8qKgorICogeG1sWFBhdGhGcmVlQ29tcEV4cHI6CisgKiBAY29tcDogIGFuIFhQQVRIIGNvbXAKKyAqCisgKiBGcmVlIHVwIHRoZSBtZW1vcnkgYWxsb2NhdGVkIGJ5IEBjb21wCisgKi8KK3ZvaWQKK3htbFhQYXRoRnJlZUNvbXBFeHByKHhtbFhQYXRoQ29tcEV4cHJQdHIgY29tcCkKK3sKKyAgICB4bWxYUGF0aFN0ZXBPcFB0ciBvcDsKKyAgICBpbnQgaTsKKworICAgIGlmIChjb21wID09IE5VTEwpCisgICAgICAgIHJldHVybjsKKyAgICBpZiAoY29tcC0+ZGljdCA9PSBOVUxMKSB7CisJZm9yIChpID0gMDsgaSA8IGNvbXAtPm5iU3RlcDsgaSsrKSB7CisJICAgIG9wID0gJmNvbXAtPnN0ZXBzW2ldOworCSAgICBpZiAob3AtPnZhbHVlNCAhPSBOVUxMKSB7CisJCWlmIChvcC0+b3AgPT0gWFBBVEhfT1BfVkFMVUUpCisJCSAgICB4bWxYUGF0aEZyZWVPYmplY3Qob3AtPnZhbHVlNCk7CisJCWVsc2UKKwkJICAgIHhtbEZyZWUob3AtPnZhbHVlNCk7CisJICAgIH0KKwkgICAgaWYgKG9wLT52YWx1ZTUgIT0gTlVMTCkKKwkJeG1sRnJlZShvcC0+dmFsdWU1KTsKKwl9CisgICAgfSBlbHNlIHsKKwlmb3IgKGkgPSAwOyBpIDwgY29tcC0+bmJTdGVwOyBpKyspIHsKKwkgICAgb3AgPSAmY29tcC0+c3RlcHNbaV07CisJICAgIGlmIChvcC0+dmFsdWU0ICE9IE5VTEwpIHsKKwkJaWYgKG9wLT5vcCA9PSBYUEFUSF9PUF9WQUxVRSkKKwkJICAgIHhtbFhQYXRoRnJlZU9iamVjdChvcC0+dmFsdWU0KTsKKwkgICAgfQorCX0KKyAgICAgICAgeG1sRGljdEZyZWUoY29tcC0+ZGljdCk7CisgICAgfQorICAgIGlmIChjb21wLT5zdGVwcyAhPSBOVUxMKSB7CisgICAgICAgIHhtbEZyZWUoY29tcC0+c3RlcHMpOworICAgIH0KKyNpZmRlZiBERUJVR19FVkFMX0NPVU5UUworICAgIGlmIChjb21wLT5zdHJpbmcgIT0gTlVMTCkgeworICAgICAgICB4bWxGcmVlKGNvbXAtPnN0cmluZyk7CisgICAgfQorI2VuZGlmCisjaWZkZWYgWFBBVEhfU1RSRUFNSU5HCisgICAgaWYgKGNvbXAtPnN0cmVhbSAhPSBOVUxMKSB7CisgICAgICAgIHhtbEZyZWVQYXR0ZXJuTGlzdChjb21wLT5zdHJlYW0pOworICAgIH0KKyNlbmRpZgorICAgIGlmIChjb21wLT5leHByICE9IE5VTEwpIHsKKyAgICAgICAgeG1sRnJlZShjb21wLT5leHByKTsKKyAgICB9CisKKyAgICB4bWxGcmVlKGNvbXApOworfQorCisvKioKKyAqIHhtbFhQYXRoQ29tcEV4cHJBZGQ6CisgKiBAY29tcDogIHRoZSBjb21waWxlZCBleHByZXNzaW9uCisgKiBAY2gxOiBmaXJzdCBjaGlsZCBpbmRleAorICogQGNoMjogc2Vjb25kIGNoaWxkIGluZGV4CisgKiBAb3A6ICBhbiBvcAorICogQHZhbHVlOiAgdGhlIGZpcnN0IGludCB2YWx1ZQorICogQHZhbHVlMjogIHRoZSBzZWNvbmQgaW50IHZhbHVlCisgKiBAdmFsdWUzOiAgdGhlIHRoaXJkIGludCB2YWx1ZQorICogQHZhbHVlNDogIHRoZSBmaXJzdCBzdHJpbmcgdmFsdWUKKyAqIEB2YWx1ZTU6ICB0aGUgc2Vjb25kIHN0cmluZyB2YWx1ZQorICoKKyAqIEFkZCBhIHN0ZXAgdG8gYW4gWFBhdGggQ29tcGlsZWQgRXhwcmVzc2lvbgorICoKKyAqIFJldHVybnMgLTEgaW4gY2FzZSBvZiBmYWlsdXJlLCB0aGUgaW5kZXggb3RoZXJ3aXNlCisgKi8KK3N0YXRpYyBpbnQKK3htbFhQYXRoQ29tcEV4cHJBZGQoeG1sWFBhdGhDb21wRXhwclB0ciBjb21wLCBpbnQgY2gxLCBpbnQgY2gyLAorICAgeG1sWFBhdGhPcCBvcCwgaW50IHZhbHVlLAorICAgaW50IHZhbHVlMiwgaW50IHZhbHVlMywgdm9pZCAqdmFsdWU0LCB2b2lkICp2YWx1ZTUpIHsKKyAgICBpZiAoY29tcC0+bmJTdGVwID49IGNvbXAtPm1heFN0ZXApIHsKKwl4bWxYUGF0aFN0ZXBPcCAqcmVhbDsKKworICAgICAgICBpZiAoY29tcC0+bWF4U3RlcCA+PSBYUEFUSF9NQVhfU1RFUFMpIHsKKwkgICAgeG1sWFBhdGhFcnJNZW1vcnkoTlVMTCwgImFkZGluZyBzdGVwXG4iKTsKKwkgICAgcmV0dXJuKC0xKTsKKyAgICAgICAgfQorCWNvbXAtPm1heFN0ZXAgKj0gMjsKKwlyZWFsID0gKHhtbFhQYXRoU3RlcE9wICopIHhtbFJlYWxsb2MoY29tcC0+c3RlcHMsCisJCSAgICAgICAgICAgICAgICAgICAgICBjb21wLT5tYXhTdGVwICogc2l6ZW9mKHhtbFhQYXRoU3RlcE9wKSk7CisJaWYgKHJlYWwgPT0gTlVMTCkgeworCSAgICBjb21wLT5tYXhTdGVwIC89IDI7CisJICAgIHhtbFhQYXRoRXJyTWVtb3J5KE5VTEwsICJhZGRpbmcgc3RlcFxuIik7CisJICAgIHJldHVybigtMSk7CisJfQorCWNvbXAtPnN0ZXBzID0gcmVhbDsKKyAgICB9CisgICAgY29tcC0+bGFzdCA9IGNvbXAtPm5iU3RlcDsKKyAgICBjb21wLT5zdGVwc1tjb21wLT5uYlN0ZXBdLmNoMSA9IGNoMTsKKyAgICBjb21wLT5zdGVwc1tjb21wLT5uYlN0ZXBdLmNoMiA9IGNoMjsKKyAgICBjb21wLT5zdGVwc1tjb21wLT5uYlN0ZXBdLm9wID0gb3A7CisgICAgY29tcC0+c3RlcHNbY29tcC0+bmJTdGVwXS52YWx1ZSA9IHZhbHVlOworICAgIGNvbXAtPnN0ZXBzW2NvbXAtPm5iU3RlcF0udmFsdWUyID0gdmFsdWUyOworICAgIGNvbXAtPnN0ZXBzW2NvbXAtPm5iU3RlcF0udmFsdWUzID0gdmFsdWUzOworICAgIGlmICgoY29tcC0+ZGljdCAhPSBOVUxMKSAmJgorICAgICAgICAoKG9wID09IFhQQVRIX09QX0ZVTkNUSU9OKSB8fCAob3AgPT0gWFBBVEhfT1BfVkFSSUFCTEUpIHx8CisJIChvcCA9PSBYUEFUSF9PUF9DT0xMRUNUKSkpIHsKKyAgICAgICAgaWYgKHZhbHVlNCAhPSBOVUxMKSB7CisJICAgIGNvbXAtPnN0ZXBzW2NvbXAtPm5iU3RlcF0udmFsdWU0ID0gKHhtbENoYXIgKikKKwkgICAgICAgICh2b2lkICopeG1sRGljdExvb2t1cChjb21wLT5kaWN0LCB2YWx1ZTQsIC0xKTsKKwkgICAgeG1sRnJlZSh2YWx1ZTQpOworCX0gZWxzZQorCSAgICBjb21wLT5zdGVwc1tjb21wLT5uYlN0ZXBdLnZhbHVlNCA9IE5VTEw7CisgICAgICAgIGlmICh2YWx1ZTUgIT0gTlVMTCkgeworCSAgICBjb21wLT5zdGVwc1tjb21wLT5uYlN0ZXBdLnZhbHVlNSA9ICh4bWxDaGFyICopCisJICAgICAgICAodm9pZCAqKXhtbERpY3RMb29rdXAoY29tcC0+ZGljdCwgdmFsdWU1LCAtMSk7CisJICAgIHhtbEZyZWUodmFsdWU1KTsKKwl9IGVsc2UKKwkgICAgY29tcC0+c3RlcHNbY29tcC0+bmJTdGVwXS52YWx1ZTUgPSBOVUxMOworICAgIH0gZWxzZSB7CisJY29tcC0+c3RlcHNbY29tcC0+bmJTdGVwXS52YWx1ZTQgPSB2YWx1ZTQ7CisJY29tcC0+c3RlcHNbY29tcC0+bmJTdGVwXS52YWx1ZTUgPSB2YWx1ZTU7CisgICAgfQorICAgIGNvbXAtPnN0ZXBzW2NvbXAtPm5iU3RlcF0uY2FjaGUgPSBOVUxMOworICAgIHJldHVybihjb21wLT5uYlN0ZXArKyk7Cit9CisKKy8qKgorICogeG1sWFBhdGhDb21wU3dhcDoKKyAqIEBjb21wOiAgdGhlIGNvbXBpbGVkIGV4cHJlc3Npb24KKyAqIEBvcDogb3BlcmF0aW9uIGluZGV4CisgKgorICogU3dhcHMgMiBvcGVyYXRpb25zIGluIHRoZSBjb21waWxlZCBleHByZXNzaW9uCisgKi8KK3N0YXRpYyB2b2lkCit4bWxYUGF0aENvbXBTd2FwKHhtbFhQYXRoU3RlcE9wUHRyIG9wKSB7CisgICAgaW50IHRtcDsKKworI2lmbmRlZiBMSUJYTUxfVEhSRUFEX0VOQUJMRUQKKyAgICAvKgorICAgICAqIFNpbmNlIHRoaXMgbWFuaXB1bGF0ZXMgcG9zc2libHkgc2hhcmVkIHZhcmlhYmxlcywgdGhpcyBpcworICAgICAqIGRpc2FibGVkIGlmIG9uZSBkZXRlY3RzIHRoYXQgdGhlIGxpYnJhcnkgaXMgdXNlZCBpbiBhIG11bHRpdGhyZWFkZWQKKyAgICAgKiBhcHBsaWNhdGlvbgorICAgICAqLworICAgIGlmICh4bWxYUGF0aERpc2FibGVPcHRpbWl6ZXIpCisJcmV0dXJuOworI2VuZGlmCisKKyAgICB0bXAgPSBvcC0+Y2gxOworICAgIG9wLT5jaDEgPSBvcC0+Y2gyOworICAgIG9wLT5jaDIgPSB0bXA7Cit9CisKKyNkZWZpbmUgUFVTSF9GVUxMX0VYUFIob3AsIG9wMSwgb3AyLCB2YWwsIHZhbDIsIHZhbDMsIHZhbDQsIHZhbDUpCVwKKyAgICB4bWxYUGF0aENvbXBFeHByQWRkKGN0eHQtPmNvbXAsIChvcDEpLCAob3AyKSwJCQlcCisJICAgICAgICAgICAgICAgIChvcCksICh2YWwpLCAodmFsMiksICh2YWwzKSwgKHZhbDQpLCAodmFsNSkpCisjZGVmaW5lIFBVU0hfTE9OR19FWFBSKG9wLCB2YWwsIHZhbDIsIHZhbDMsIHZhbDQsIHZhbDUpCQkJXAorICAgIHhtbFhQYXRoQ29tcEV4cHJBZGQoY3R4dC0+Y29tcCwgY3R4dC0+Y29tcC0+bGFzdCwgLTEsCQlcCisJICAgICAgICAgICAgICAgIChvcCksICh2YWwpLCAodmFsMiksICh2YWwzKSwgKHZhbDQpLCAodmFsNSkpCisKKyNkZWZpbmUgUFVTSF9MRUFWRV9FWFBSKG9wLCB2YWwsIHZhbDIpCQkJCQlcCit4bWxYUGF0aENvbXBFeHByQWRkKGN0eHQtPmNvbXAsIC0xLCAtMSwgKG9wKSwgKHZhbCksICh2YWwyKSwgMCAsTlVMTCAsTlVMTCkKKworI2RlZmluZSBQVVNIX1VOQVJZX0VYUFIob3AsIGNoLCB2YWwsIHZhbDIpCQkJCVwKK3htbFhQYXRoQ29tcEV4cHJBZGQoY3R4dC0+Y29tcCwgKGNoKSwgLTEsIChvcCksICh2YWwpLCAodmFsMiksIDAgLE5VTEwgLE5VTEwpCisKKyNkZWZpbmUgUFVTSF9CSU5BUllfRVhQUihvcCwgY2gxLCBjaDIsIHZhbCwgdmFsMikJCQlcCit4bWxYUGF0aENvbXBFeHByQWRkKGN0eHQtPmNvbXAsIChjaDEpLCAoY2gyKSwgKG9wKSwJCQlcCisJCQkodmFsKSwgKHZhbDIpLCAwICxOVUxMICxOVUxMKQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQlYUGF0aCBvYmplY3QgY2FjaGUgc3RydWN0dXJlcwkJCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qICNkZWZpbmUgWFBfREVGQVVMVF9DQUNIRV9PTiAqLworCisjZGVmaW5lIFhQX0hBU19DQUNIRShjKSAoKGMgIT0gTlVMTCkgJiYgKChjKS0+Y2FjaGUgIT0gTlVMTCkpCisKK3R5cGVkZWYgc3RydWN0IF94bWxYUGF0aENvbnRleHRDYWNoZSB4bWxYUGF0aENvbnRleHRDYWNoZTsKK3R5cGVkZWYgeG1sWFBhdGhDb250ZXh0Q2FjaGUgKnhtbFhQYXRoQ29udGV4dENhY2hlUHRyOworc3RydWN0IF94bWxYUGF0aENvbnRleHRDYWNoZSB7CisgICAgeG1sUG9pbnRlckxpc3RQdHIgbm9kZXNldE9ianM7ICAvKiBjb250YWlucyB4bWxYUGF0aE9iamVjdFB0ciAqLworICAgIHhtbFBvaW50ZXJMaXN0UHRyIHN0cmluZ09ianM7ICAgLyogY29udGFpbnMgeG1sWFBhdGhPYmplY3RQdHIgKi8KKyAgICB4bWxQb2ludGVyTGlzdFB0ciBib29sZWFuT2JqczsgIC8qIGNvbnRhaW5zIHhtbFhQYXRoT2JqZWN0UHRyICovCisgICAgeG1sUG9pbnRlckxpc3RQdHIgbnVtYmVyT2JqczsgICAvKiBjb250YWlucyB4bWxYUGF0aE9iamVjdFB0ciAqLworICAgIHhtbFBvaW50ZXJMaXN0UHRyIG1pc2NPYmpzOyAgICAgLyogY29udGFpbnMgeG1sWFBhdGhPYmplY3RQdHIgKi8KKyAgICBpbnQgbWF4Tm9kZXNldDsKKyAgICBpbnQgbWF4U3RyaW5nOworICAgIGludCBtYXhCb29sZWFuOworICAgIGludCBtYXhOdW1iZXI7CisgICAgaW50IG1heE1pc2M7CisjaWZkZWYgWFBfREVCVUdfT0JKX1VTQUdFCisgICAgaW50IGRiZ0NhY2hlZEFsbDsKKyAgICBpbnQgZGJnQ2FjaGVkTm9kZXNldDsKKyAgICBpbnQgZGJnQ2FjaGVkU3RyaW5nOworICAgIGludCBkYmdDYWNoZWRCb29sOworICAgIGludCBkYmdDYWNoZWROdW1iZXI7CisgICAgaW50IGRiZ0NhY2hlZFBvaW50OworICAgIGludCBkYmdDYWNoZWRSYW5nZTsKKyAgICBpbnQgZGJnQ2FjaGVkTG9jc2V0OworICAgIGludCBkYmdDYWNoZWRVc2VyczsKKyAgICBpbnQgZGJnQ2FjaGVkWFNMVFRyZWU7CisgICAgaW50IGRiZ0NhY2hlZFVuZGVmaW5lZDsKKworCisgICAgaW50IGRiZ1JldXNlZEFsbDsKKyAgICBpbnQgZGJnUmV1c2VkTm9kZXNldDsKKyAgICBpbnQgZGJnUmV1c2VkU3RyaW5nOworICAgIGludCBkYmdSZXVzZWRCb29sOworICAgIGludCBkYmdSZXVzZWROdW1iZXI7CisgICAgaW50IGRiZ1JldXNlZFBvaW50OworICAgIGludCBkYmdSZXVzZWRSYW5nZTsKKyAgICBpbnQgZGJnUmV1c2VkTG9jc2V0OworICAgIGludCBkYmdSZXVzZWRVc2VyczsKKyAgICBpbnQgZGJnUmV1c2VkWFNMVFRyZWU7CisgICAgaW50IGRiZ1JldXNlZFVuZGVmaW5lZDsKKworI2VuZGlmCit9OworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQlEZWJ1Z2dpbmcgcmVsYXRlZCBmdW5jdGlvbnMJCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjZGVmaW5lIFNUUkFOR0UJCQkJCQkJXAorICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAkJCQlcCisJICAgICJJbnRlcm5hbCBlcnJvciBhdCAlczolZFxuIiwJCQkJXAorICAgICAgICAgICAgX19GSUxFX18sIF9fTElORV9fKTsKKworI2lmZGVmIExJQlhNTF9ERUJVR19FTkFCTEVECitzdGF0aWMgdm9pZAoreG1sWFBhdGhEZWJ1Z0R1bXBOb2RlKEZJTEUgKm91dHB1dCwgeG1sTm9kZVB0ciBjdXIsIGludCBkZXB0aCkgeworICAgIGludCBpOworICAgIGNoYXIgc2hpZnRbMTAwXTsKKworICAgIGZvciAoaSA9IDA7KChpIDwgZGVwdGgpICYmIChpIDwgMjUpKTtpKyspCisgICAgICAgIHNoaWZ0WzIgKiBpXSA9IHNoaWZ0WzIgKiBpICsgMV0gPSAnICc7CisgICAgc2hpZnRbMiAqIGldID0gc2hpZnRbMiAqIGkgKyAxXSA9IDA7CisgICAgaWYgKGN1ciA9PSBOVUxMKSB7CisJZnByaW50ZihvdXRwdXQsICIlcyIsIHNoaWZ0KTsKKwlmcHJpbnRmKG91dHB1dCwgIk5vZGUgaXMgTlVMTCAhXG4iKTsKKwlyZXR1cm47CisKKyAgICB9CisKKyAgICBpZiAoKGN1ci0+dHlwZSA9PSBYTUxfRE9DVU1FTlRfTk9ERSkgfHwKKwkgICAgIChjdXItPnR5cGUgPT0gWE1MX0hUTUxfRE9DVU1FTlRfTk9ERSkpIHsKKwlmcHJpbnRmKG91dHB1dCwgIiVzIiwgc2hpZnQpOworCWZwcmludGYob3V0cHV0LCAiIC9cbiIpOworICAgIH0gZWxzZSBpZiAoY3VyLT50eXBlID09IFhNTF9BVFRSSUJVVEVfTk9ERSkKKwl4bWxEZWJ1Z0R1bXBBdHRyKG91dHB1dCwgKHhtbEF0dHJQdHIpY3VyLCBkZXB0aCk7CisgICAgZWxzZQorCXhtbERlYnVnRHVtcE9uZU5vZGUob3V0cHV0LCBjdXIsIGRlcHRoKTsKK30KK3N0YXRpYyB2b2lkCit4bWxYUGF0aERlYnVnRHVtcE5vZGVMaXN0KEZJTEUgKm91dHB1dCwgeG1sTm9kZVB0ciBjdXIsIGludCBkZXB0aCkgeworICAgIHhtbE5vZGVQdHIgdG1wOworICAgIGludCBpOworICAgIGNoYXIgc2hpZnRbMTAwXTsKKworICAgIGZvciAoaSA9IDA7KChpIDwgZGVwdGgpICYmIChpIDwgMjUpKTtpKyspCisgICAgICAgIHNoaWZ0WzIgKiBpXSA9IHNoaWZ0WzIgKiBpICsgMV0gPSAnICc7CisgICAgc2hpZnRbMiAqIGldID0gc2hpZnRbMiAqIGkgKyAxXSA9IDA7CisgICAgaWYgKGN1ciA9PSBOVUxMKSB7CisJZnByaW50ZihvdXRwdXQsICIlcyIsIHNoaWZ0KTsKKwlmcHJpbnRmKG91dHB1dCwgIk5vZGUgaXMgTlVMTCAhXG4iKTsKKwlyZXR1cm47CisKKyAgICB9CisKKyAgICB3aGlsZSAoY3VyICE9IE5VTEwpIHsKKwl0bXAgPSBjdXI7CisJY3VyID0gY3VyLT5uZXh0OworCXhtbERlYnVnRHVtcE9uZU5vZGUob3V0cHV0LCB0bXAsIGRlcHRoKTsKKyAgICB9Cit9CisKK3N0YXRpYyB2b2lkCit4bWxYUGF0aERlYnVnRHVtcE5vZGVTZXQoRklMRSAqb3V0cHV0LCB4bWxOb2RlU2V0UHRyIGN1ciwgaW50IGRlcHRoKSB7CisgICAgaW50IGk7CisgICAgY2hhciBzaGlmdFsxMDBdOworCisgICAgZm9yIChpID0gMDsoKGkgPCBkZXB0aCkgJiYgKGkgPCAyNSkpO2krKykKKyAgICAgICAgc2hpZnRbMiAqIGldID0gc2hpZnRbMiAqIGkgKyAxXSA9ICcgJzsKKyAgICBzaGlmdFsyICogaV0gPSBzaGlmdFsyICogaSArIDFdID0gMDsKKworICAgIGlmIChjdXIgPT0gTlVMTCkgeworCWZwcmludGYob3V0cHV0LCAiJXMiLCBzaGlmdCk7CisJZnByaW50ZihvdXRwdXQsICJOb2RlU2V0IGlzIE5VTEwgIVxuIik7CisJcmV0dXJuOworCisgICAgfQorCisgICAgaWYgKGN1ciAhPSBOVUxMKSB7CisJZnByaW50ZihvdXRwdXQsICJTZXQgY29udGFpbnMgJWQgbm9kZXM6XG4iLCBjdXItPm5vZGVOcik7CisJZm9yIChpID0gMDtpIDwgY3VyLT5ub2RlTnI7aSsrKSB7CisJICAgIGZwcmludGYob3V0cHV0LCAiJXMiLCBzaGlmdCk7CisJICAgIGZwcmludGYob3V0cHV0LCAiJWQiLCBpICsgMSk7CisJICAgIHhtbFhQYXRoRGVidWdEdW1wTm9kZShvdXRwdXQsIGN1ci0+bm9kZVRhYltpXSwgZGVwdGggKyAxKTsKKwl9CisgICAgfQorfQorCitzdGF0aWMgdm9pZAoreG1sWFBhdGhEZWJ1Z0R1bXBWYWx1ZVRyZWUoRklMRSAqb3V0cHV0LCB4bWxOb2RlU2V0UHRyIGN1ciwgaW50IGRlcHRoKSB7CisgICAgaW50IGk7CisgICAgY2hhciBzaGlmdFsxMDBdOworCisgICAgZm9yIChpID0gMDsoKGkgPCBkZXB0aCkgJiYgKGkgPCAyNSkpO2krKykKKyAgICAgICAgc2hpZnRbMiAqIGldID0gc2hpZnRbMiAqIGkgKyAxXSA9ICcgJzsKKyAgICBzaGlmdFsyICogaV0gPSBzaGlmdFsyICogaSArIDFdID0gMDsKKworICAgIGlmICgoY3VyID09IE5VTEwpIHx8IChjdXItPm5vZGVOciA9PSAwKSB8fCAoY3VyLT5ub2RlVGFiWzBdID09IE5VTEwpKSB7CisJZnByaW50ZihvdXRwdXQsICIlcyIsIHNoaWZ0KTsKKwlmcHJpbnRmKG91dHB1dCwgIlZhbHVlIFRyZWUgaXMgTlVMTCAhXG4iKTsKKwlyZXR1cm47CisKKyAgICB9CisKKyAgICBmcHJpbnRmKG91dHB1dCwgIiVzIiwgc2hpZnQpOworICAgIGZwcmludGYob3V0cHV0LCAiJWQiLCBpICsgMSk7CisgICAgeG1sWFBhdGhEZWJ1Z0R1bXBOb2RlTGlzdChvdXRwdXQsIGN1ci0+bm9kZVRhYlswXS0+Y2hpbGRyZW4sIGRlcHRoICsgMSk7Cit9CisjaWYgZGVmaW5lZChMSUJYTUxfWFBUUl9FTkFCTEVEKQorc3RhdGljIHZvaWQKK3htbFhQYXRoRGVidWdEdW1wTG9jYXRpb25TZXQoRklMRSAqb3V0cHV0LCB4bWxMb2NhdGlvblNldFB0ciBjdXIsIGludCBkZXB0aCkgeworICAgIGludCBpOworICAgIGNoYXIgc2hpZnRbMTAwXTsKKworICAgIGZvciAoaSA9IDA7KChpIDwgZGVwdGgpICYmIChpIDwgMjUpKTtpKyspCisgICAgICAgIHNoaWZ0WzIgKiBpXSA9IHNoaWZ0WzIgKiBpICsgMV0gPSAnICc7CisgICAgc2hpZnRbMiAqIGldID0gc2hpZnRbMiAqIGkgKyAxXSA9IDA7CisKKyAgICBpZiAoY3VyID09IE5VTEwpIHsKKwlmcHJpbnRmKG91dHB1dCwgIiVzIiwgc2hpZnQpOworCWZwcmludGYob3V0cHV0LCAiTG9jYXRpb25TZXQgaXMgTlVMTCAhXG4iKTsKKwlyZXR1cm47CisKKyAgICB9CisKKyAgICBmb3IgKGkgPSAwO2kgPCBjdXItPmxvY05yO2krKykgeworCWZwcmludGYob3V0cHV0LCAiJXMiLCBzaGlmdCk7CisgICAgICAgIGZwcmludGYob3V0cHV0LCAiJWQgOiAiLCBpICsgMSk7CisJeG1sWFBhdGhEZWJ1Z0R1bXBPYmplY3Qob3V0cHV0LCBjdXItPmxvY1RhYltpXSwgZGVwdGggKyAxKTsKKyAgICB9Cit9CisjZW5kaWYgLyogTElCWE1MX1hQVFJfRU5BQkxFRCAqLworCisvKioKKyAqIHhtbFhQYXRoRGVidWdEdW1wT2JqZWN0OgorICogQG91dHB1dDogIHRoZSBGSUxFICogdG8gZHVtcCB0aGUgb3V0cHV0CisgKiBAY3VyOiAgdGhlIG9iamVjdCB0byBpbnNwZWN0CisgKiBAZGVwdGg6ICBpbmRlbnRhdGlvbiBsZXZlbAorICoKKyAqIER1bXAgdGhlIGNvbnRlbnQgb2YgdGhlIG9iamVjdCBmb3IgZGVidWdnaW5nIHB1cnBvc2VzCisgKi8KK3ZvaWQKK3htbFhQYXRoRGVidWdEdW1wT2JqZWN0KEZJTEUgKm91dHB1dCwgeG1sWFBhdGhPYmplY3RQdHIgY3VyLCBpbnQgZGVwdGgpIHsKKyAgICBpbnQgaTsKKyAgICBjaGFyIHNoaWZ0WzEwMF07CisKKyAgICBpZiAob3V0cHV0ID09IE5VTEwpIHJldHVybjsKKworICAgIGZvciAoaSA9IDA7KChpIDwgZGVwdGgpICYmIChpIDwgMjUpKTtpKyspCisgICAgICAgIHNoaWZ0WzIgKiBpXSA9IHNoaWZ0WzIgKiBpICsgMV0gPSAnICc7CisgICAgc2hpZnRbMiAqIGldID0gc2hpZnRbMiAqIGkgKyAxXSA9IDA7CisKKworICAgIGZwcmludGYob3V0cHV0LCAiJXMiLCBzaGlmdCk7CisKKyAgICBpZiAoY3VyID09IE5VTEwpIHsKKyAgICAgICAgZnByaW50ZihvdXRwdXQsICJPYmplY3QgaXMgZW1wdHkgKE5VTEwpXG4iKTsKKwlyZXR1cm47CisgICAgfQorICAgIHN3aXRjaChjdXItPnR5cGUpIHsKKyAgICAgICAgY2FzZSBYUEFUSF9VTkRFRklORUQ6CisJICAgIGZwcmludGYob3V0cHV0LCAiT2JqZWN0IGlzIHVuaW5pdGlhbGl6ZWRcbiIpOworCSAgICBicmVhazsKKyAgICAgICAgY2FzZSBYUEFUSF9OT0RFU0VUOgorCSAgICBmcHJpbnRmKG91dHB1dCwgIk9iamVjdCBpcyBhIE5vZGUgU2V0IDpcbiIpOworCSAgICB4bWxYUGF0aERlYnVnRHVtcE5vZGVTZXQob3V0cHV0LCBjdXItPm5vZGVzZXR2YWwsIGRlcHRoKTsKKwkgICAgYnJlYWs7CisJY2FzZSBYUEFUSF9YU0xUX1RSRUU6CisJICAgIGZwcmludGYob3V0cHV0LCAiT2JqZWN0IGlzIGFuIFhTTFQgdmFsdWUgdHJlZSA6XG4iKTsKKwkgICAgeG1sWFBhdGhEZWJ1Z0R1bXBWYWx1ZVRyZWUob3V0cHV0LCBjdXItPm5vZGVzZXR2YWwsIGRlcHRoKTsKKwkgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWFBBVEhfQk9PTEVBTjoKKwkgICAgZnByaW50ZihvdXRwdXQsICJPYmplY3QgaXMgYSBCb29sZWFuIDogIik7CisJICAgIGlmIChjdXItPmJvb2x2YWwpIGZwcmludGYob3V0cHV0LCAidHJ1ZVxuIik7CisJICAgIGVsc2UgZnByaW50ZihvdXRwdXQsICJmYWxzZVxuIik7CisJICAgIGJyZWFrOworICAgICAgICBjYXNlIFhQQVRIX05VTUJFUjoKKwkgICAgc3dpdGNoICh4bWxYUGF0aElzSW5mKGN1ci0+ZmxvYXR2YWwpKSB7CisJICAgIGNhc2UgMToKKwkJZnByaW50ZihvdXRwdXQsICJPYmplY3QgaXMgYSBudW1iZXIgOiBJbmZpbml0eVxuIik7CisJCWJyZWFrOworCSAgICBjYXNlIC0xOgorCQlmcHJpbnRmKG91dHB1dCwgIk9iamVjdCBpcyBhIG51bWJlciA6IC1JbmZpbml0eVxuIik7CisJCWJyZWFrOworCSAgICBkZWZhdWx0OgorCQlpZiAoeG1sWFBhdGhJc05hTihjdXItPmZsb2F0dmFsKSkgeworCQkgICAgZnByaW50ZihvdXRwdXQsICJPYmplY3QgaXMgYSBudW1iZXIgOiBOYU5cbiIpOworCQl9IGVsc2UgaWYgKGN1ci0+ZmxvYXR2YWwgPT0gMCAmJiB4bWxYUGF0aEdldFNpZ24oY3VyLT5mbG9hdHZhbCkgIT0gMCkgeworCQkgICAgZnByaW50ZihvdXRwdXQsICJPYmplY3QgaXMgYSBudW1iZXIgOiAwXG4iKTsKKwkJfSBlbHNlIHsKKwkJICAgIGZwcmludGYob3V0cHV0LCAiT2JqZWN0IGlzIGEgbnVtYmVyIDogJTBnXG4iLCBjdXItPmZsb2F0dmFsKTsKKwkJfQorCSAgICB9CisJICAgIGJyZWFrOworICAgICAgICBjYXNlIFhQQVRIX1NUUklORzoKKwkgICAgZnByaW50ZihvdXRwdXQsICJPYmplY3QgaXMgYSBzdHJpbmcgOiAiKTsKKwkgICAgeG1sRGVidWdEdW1wU3RyaW5nKG91dHB1dCwgY3VyLT5zdHJpbmd2YWwpOworCSAgICBmcHJpbnRmKG91dHB1dCwgIlxuIik7CisJICAgIGJyZWFrOworCWNhc2UgWFBBVEhfUE9JTlQ6CisJICAgIGZwcmludGYob3V0cHV0LCAiT2JqZWN0IGlzIGEgcG9pbnQgOiBpbmRleCAlZCBpbiBub2RlIiwgY3VyLT5pbmRleCk7CisJICAgIHhtbFhQYXRoRGVidWdEdW1wTm9kZShvdXRwdXQsICh4bWxOb2RlUHRyKSBjdXItPnVzZXIsIGRlcHRoICsgMSk7CisJICAgIGZwcmludGYob3V0cHV0LCAiXG4iKTsKKwkgICAgYnJlYWs7CisJY2FzZSBYUEFUSF9SQU5HRToKKwkgICAgaWYgKChjdXItPnVzZXIyID09IE5VTEwpIHx8CisJCSgoY3VyLT51c2VyMiA9PSBjdXItPnVzZXIpICYmIChjdXItPmluZGV4ID09IGN1ci0+aW5kZXgyKSkpIHsKKwkJZnByaW50ZihvdXRwdXQsICJPYmplY3QgaXMgYSBjb2xsYXBzZWQgcmFuZ2UgOlxuIik7CisJCWZwcmludGYob3V0cHV0LCAiJXMiLCBzaGlmdCk7CisJCWlmIChjdXItPmluZGV4ID49IDApCisJCSAgICBmcHJpbnRmKG91dHB1dCwgImluZGV4ICVkIGluICIsIGN1ci0+aW5kZXgpOworCQlmcHJpbnRmKG91dHB1dCwgIm5vZGVcbiIpOworCQl4bWxYUGF0aERlYnVnRHVtcE5vZGUob3V0cHV0LCAoeG1sTm9kZVB0cikgY3VyLT51c2VyLAorCQkJICAgICAgICAgICAgICBkZXB0aCArIDEpOworCSAgICB9IGVsc2UgIHsKKwkJZnByaW50ZihvdXRwdXQsICJPYmplY3QgaXMgYSByYW5nZSA6XG4iKTsKKwkJZnByaW50ZihvdXRwdXQsICIlcyIsIHNoaWZ0KTsKKwkJZnByaW50ZihvdXRwdXQsICJGcm9tICIpOworCQlpZiAoY3VyLT5pbmRleCA+PSAwKQorCQkgICAgZnByaW50ZihvdXRwdXQsICJpbmRleCAlZCBpbiAiLCBjdXItPmluZGV4KTsKKwkJZnByaW50ZihvdXRwdXQsICJub2RlXG4iKTsKKwkJeG1sWFBhdGhEZWJ1Z0R1bXBOb2RlKG91dHB1dCwgKHhtbE5vZGVQdHIpIGN1ci0+dXNlciwKKwkJCSAgICAgICAgICAgICAgZGVwdGggKyAxKTsKKwkJZnByaW50ZihvdXRwdXQsICIlcyIsIHNoaWZ0KTsKKwkJZnByaW50ZihvdXRwdXQsICJUbyAiKTsKKwkJaWYgKGN1ci0+aW5kZXgyID49IDApCisJCSAgICBmcHJpbnRmKG91dHB1dCwgImluZGV4ICVkIGluICIsIGN1ci0+aW5kZXgyKTsKKwkJZnByaW50ZihvdXRwdXQsICJub2RlXG4iKTsKKwkJeG1sWFBhdGhEZWJ1Z0R1bXBOb2RlKG91dHB1dCwgKHhtbE5vZGVQdHIpIGN1ci0+dXNlcjIsCisJCQkgICAgICAgICAgICAgIGRlcHRoICsgMSk7CisJCWZwcmludGYob3V0cHV0LCAiXG4iKTsKKwkgICAgfQorCSAgICBicmVhazsKKwljYXNlIFhQQVRIX0xPQ0FUSU9OU0VUOgorI2lmIGRlZmluZWQoTElCWE1MX1hQVFJfRU5BQkxFRCkKKwkgICAgZnByaW50ZihvdXRwdXQsICJPYmplY3QgaXMgYSBMb2NhdGlvbiBTZXQ6XG4iKTsKKwkgICAgeG1sWFBhdGhEZWJ1Z0R1bXBMb2NhdGlvblNldChvdXRwdXQsCisJCSAgICAoeG1sTG9jYXRpb25TZXRQdHIpIGN1ci0+dXNlciwgZGVwdGgpOworI2VuZGlmCisJICAgIGJyZWFrOworCWNhc2UgWFBBVEhfVVNFUlM6CisJICAgIGZwcmludGYob3V0cHV0LCAiT2JqZWN0IGlzIHVzZXIgZGVmaW5lZFxuIik7CisJICAgIGJyZWFrOworICAgIH0KK30KKworc3RhdGljIHZvaWQKK3htbFhQYXRoRGVidWdEdW1wU3RlcE9wKEZJTEUgKm91dHB1dCwgeG1sWFBhdGhDb21wRXhwclB0ciBjb21wLAorCSAgICAgICAgICAgICAgICAgICAgIHhtbFhQYXRoU3RlcE9wUHRyIG9wLCBpbnQgZGVwdGgpIHsKKyAgICBpbnQgaTsKKyAgICBjaGFyIHNoaWZ0WzEwMF07CisKKyAgICBmb3IgKGkgPSAwOygoaSA8IGRlcHRoKSAmJiAoaSA8IDI1KSk7aSsrKQorICAgICAgICBzaGlmdFsyICogaV0gPSBzaGlmdFsyICogaSArIDFdID0gJyAnOworICAgIHNoaWZ0WzIgKiBpXSA9IHNoaWZ0WzIgKiBpICsgMV0gPSAwOworCisgICAgZnByaW50ZihvdXRwdXQsICIlcyIsIHNoaWZ0KTsKKyAgICBpZiAob3AgPT0gTlVMTCkgeworCWZwcmludGYob3V0cHV0LCAiU3RlcCBpcyBOVUxMXG4iKTsKKwlyZXR1cm47CisgICAgfQorICAgIHN3aXRjaCAob3AtPm9wKSB7CisgICAgICAgIGNhc2UgWFBBVEhfT1BfRU5EOgorCSAgICBmcHJpbnRmKG91dHB1dCwgIkVORCIpOyBicmVhazsKKyAgICAgICAgY2FzZSBYUEFUSF9PUF9BTkQ6CisJICAgIGZwcmludGYob3V0cHV0LCAiQU5EIik7IGJyZWFrOworICAgICAgICBjYXNlIFhQQVRIX09QX09SOgorCSAgICBmcHJpbnRmKG91dHB1dCwgIk9SIik7IGJyZWFrOworICAgICAgICBjYXNlIFhQQVRIX09QX0VRVUFMOgorCSAgICAgaWYgKG9wLT52YWx1ZSkKKwkJIGZwcmludGYob3V0cHV0LCAiRVFVQUwgPSIpOworCSAgICAgZWxzZQorCQkgZnByaW50ZihvdXRwdXQsICJFUVVBTCAhPSIpOworCSAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWFBBVEhfT1BfQ01QOgorCSAgICAgaWYgKG9wLT52YWx1ZSkKKwkJIGZwcmludGYob3V0cHV0LCAiQ01QIDwiKTsKKwkgICAgIGVsc2UKKwkJIGZwcmludGYob3V0cHV0LCAiQ01QID4iKTsKKwkgICAgIGlmICghb3AtPnZhbHVlMikKKwkJIGZwcmludGYob3V0cHV0LCAiPSIpOworCSAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWFBBVEhfT1BfUExVUzoKKwkgICAgIGlmIChvcC0+dmFsdWUgPT0gMCkKKwkJIGZwcmludGYob3V0cHV0LCAiUExVUyAtIik7CisJICAgICBlbHNlIGlmIChvcC0+dmFsdWUgPT0gMSkKKwkJIGZwcmludGYob3V0cHV0LCAiUExVUyArIik7CisJICAgICBlbHNlIGlmIChvcC0+dmFsdWUgPT0gMikKKwkJIGZwcmludGYob3V0cHV0LCAiUExVUyB1bmFyeSAtIik7CisJICAgICBlbHNlIGlmIChvcC0+dmFsdWUgPT0gMykKKwkJIGZwcmludGYob3V0cHV0LCAiUExVUyB1bmFyeSAtIC0iKTsKKwkgICAgIGJyZWFrOworICAgICAgICBjYXNlIFhQQVRIX09QX01VTFQ6CisJICAgICBpZiAob3AtPnZhbHVlID09IDApCisJCSBmcHJpbnRmKG91dHB1dCwgIk1VTFQgKiIpOworCSAgICAgZWxzZSBpZiAob3AtPnZhbHVlID09IDEpCisJCSBmcHJpbnRmKG91dHB1dCwgIk1VTFQgZGl2Iik7CisJICAgICBlbHNlCisJCSBmcHJpbnRmKG91dHB1dCwgIk1VTFQgbW9kIik7CisJICAgICBicmVhazsKKyAgICAgICAgY2FzZSBYUEFUSF9PUF9VTklPTjoKKwkgICAgIGZwcmludGYob3V0cHV0LCAiVU5JT04iKTsgYnJlYWs7CisgICAgICAgIGNhc2UgWFBBVEhfT1BfUk9PVDoKKwkgICAgIGZwcmludGYob3V0cHV0LCAiUk9PVCIpOyBicmVhazsKKyAgICAgICAgY2FzZSBYUEFUSF9PUF9OT0RFOgorCSAgICAgZnByaW50ZihvdXRwdXQsICJOT0RFIik7IGJyZWFrOworICAgICAgICBjYXNlIFhQQVRIX09QX1JFU0VUOgorCSAgICAgZnByaW50ZihvdXRwdXQsICJSRVNFVCIpOyBicmVhazsKKyAgICAgICAgY2FzZSBYUEFUSF9PUF9TT1JUOgorCSAgICAgZnByaW50ZihvdXRwdXQsICJTT1JUIik7IGJyZWFrOworICAgICAgICBjYXNlIFhQQVRIX09QX0NPTExFQ1Q6IHsKKwkgICAgeG1sWFBhdGhBeGlzVmFsIGF4aXMgPSAoeG1sWFBhdGhBeGlzVmFsKW9wLT52YWx1ZTsKKwkgICAgeG1sWFBhdGhUZXN0VmFsIHRlc3QgPSAoeG1sWFBhdGhUZXN0VmFsKW9wLT52YWx1ZTI7CisJICAgIHhtbFhQYXRoVHlwZVZhbCB0eXBlID0gKHhtbFhQYXRoVHlwZVZhbClvcC0+dmFsdWUzOworCSAgICBjb25zdCB4bWxDaGFyICpwcmVmaXggPSBvcC0+dmFsdWU0OworCSAgICBjb25zdCB4bWxDaGFyICpuYW1lID0gb3AtPnZhbHVlNTsKKworCSAgICBmcHJpbnRmKG91dHB1dCwgIkNPTExFQ1QgIik7CisJICAgIHN3aXRjaCAoYXhpcykgeworCQljYXNlIEFYSVNfQU5DRVNUT1I6CisJCSAgICBmcHJpbnRmKG91dHB1dCwgIiAnYW5jZXN0b3JzJyAiKTsgYnJlYWs7CisJCWNhc2UgQVhJU19BTkNFU1RPUl9PUl9TRUxGOgorCQkgICAgZnByaW50ZihvdXRwdXQsICIgJ2FuY2VzdG9ycy1vci1zZWxmJyAiKTsgYnJlYWs7CisJCWNhc2UgQVhJU19BVFRSSUJVVEU6CisJCSAgICBmcHJpbnRmKG91dHB1dCwgIiAnYXR0cmlidXRlcycgIik7IGJyZWFrOworCQljYXNlIEFYSVNfQ0hJTEQ6CisJCSAgICBmcHJpbnRmKG91dHB1dCwgIiAnY2hpbGQnICIpOyBicmVhazsKKwkJY2FzZSBBWElTX0RFU0NFTkRBTlQ6CisJCSAgICBmcHJpbnRmKG91dHB1dCwgIiAnZGVzY2VuZGFudCcgIik7IGJyZWFrOworCQljYXNlIEFYSVNfREVTQ0VOREFOVF9PUl9TRUxGOgorCQkgICAgZnByaW50ZihvdXRwdXQsICIgJ2Rlc2NlbmRhbnQtb3Itc2VsZicgIik7IGJyZWFrOworCQljYXNlIEFYSVNfRk9MTE9XSU5HOgorCQkgICAgZnByaW50ZihvdXRwdXQsICIgJ2ZvbGxvd2luZycgIik7IGJyZWFrOworCQljYXNlIEFYSVNfRk9MTE9XSU5HX1NJQkxJTkc6CisJCSAgICBmcHJpbnRmKG91dHB1dCwgIiAnZm9sbG93aW5nLXNpYmxpbmdzJyAiKTsgYnJlYWs7CisJCWNhc2UgQVhJU19OQU1FU1BBQ0U6CisJCSAgICBmcHJpbnRmKG91dHB1dCwgIiAnbmFtZXNwYWNlJyAiKTsgYnJlYWs7CisJCWNhc2UgQVhJU19QQVJFTlQ6CisJCSAgICBmcHJpbnRmKG91dHB1dCwgIiAncGFyZW50JyAiKTsgYnJlYWs7CisJCWNhc2UgQVhJU19QUkVDRURJTkc6CisJCSAgICBmcHJpbnRmKG91dHB1dCwgIiAncHJlY2VkaW5nJyAiKTsgYnJlYWs7CisJCWNhc2UgQVhJU19QUkVDRURJTkdfU0lCTElORzoKKwkJICAgIGZwcmludGYob3V0cHV0LCAiICdwcmVjZWRpbmctc2libGluZycgIik7IGJyZWFrOworCQljYXNlIEFYSVNfU0VMRjoKKwkJICAgIGZwcmludGYob3V0cHV0LCAiICdzZWxmJyAiKTsgYnJlYWs7CisJICAgIH0KKwkgICAgc3dpdGNoICh0ZXN0KSB7CisgICAgICAgICAgICAgICAgY2FzZSBOT0RFX1RFU1RfTk9ORToKKwkJICAgIGZwcmludGYob3V0cHV0LCAiJ25vbmUnICIpOyBicmVhazsKKyAgICAgICAgICAgICAgICBjYXNlIE5PREVfVEVTVF9UWVBFOgorCQkgICAgZnByaW50ZihvdXRwdXQsICIndHlwZScgIik7IGJyZWFrOworICAgICAgICAgICAgICAgIGNhc2UgTk9ERV9URVNUX1BJOgorCQkgICAgZnByaW50ZihvdXRwdXQsICInUEknICIpOyBicmVhazsKKyAgICAgICAgICAgICAgICBjYXNlIE5PREVfVEVTVF9BTEw6CisJCSAgICBmcHJpbnRmKG91dHB1dCwgIidhbGwnICIpOyBicmVhazsKKyAgICAgICAgICAgICAgICBjYXNlIE5PREVfVEVTVF9OUzoKKwkJICAgIGZwcmludGYob3V0cHV0LCAiJ25hbWVzcGFjZScgIik7IGJyZWFrOworICAgICAgICAgICAgICAgIGNhc2UgTk9ERV9URVNUX05BTUU6CisJCSAgICBmcHJpbnRmKG91dHB1dCwgIiduYW1lJyAiKTsgYnJlYWs7CisJICAgIH0KKwkgICAgc3dpdGNoICh0eXBlKSB7CisgICAgICAgICAgICAgICAgY2FzZSBOT0RFX1RZUEVfTk9ERToKKwkJICAgIGZwcmludGYob3V0cHV0LCAiJ25vZGUnICIpOyBicmVhazsKKyAgICAgICAgICAgICAgICBjYXNlIE5PREVfVFlQRV9DT01NRU5UOgorCQkgICAgZnByaW50ZihvdXRwdXQsICInY29tbWVudCcgIik7IGJyZWFrOworICAgICAgICAgICAgICAgIGNhc2UgTk9ERV9UWVBFX1RFWFQ6CisJCSAgICBmcHJpbnRmKG91dHB1dCwgIid0ZXh0JyAiKTsgYnJlYWs7CisgICAgICAgICAgICAgICAgY2FzZSBOT0RFX1RZUEVfUEk6CisJCSAgICBmcHJpbnRmKG91dHB1dCwgIidQSScgIik7IGJyZWFrOworCSAgICB9CisJICAgIGlmIChwcmVmaXggIT0gTlVMTCkKKwkJZnByaW50ZihvdXRwdXQsICIlczoiLCBwcmVmaXgpOworCSAgICBpZiAobmFtZSAhPSBOVUxMKQorCQlmcHJpbnRmKG91dHB1dCwgIiVzIiwgKGNvbnN0IGNoYXIgKikgbmFtZSk7CisJICAgIGJyZWFrOworCisgICAgICAgIH0KKwljYXNlIFhQQVRIX09QX1ZBTFVFOiB7CisJICAgIHhtbFhQYXRoT2JqZWN0UHRyIG9iamVjdCA9ICh4bWxYUGF0aE9iamVjdFB0cikgb3AtPnZhbHVlNDsKKworCSAgICBmcHJpbnRmKG91dHB1dCwgIkVMRU0gIik7CisJICAgIHhtbFhQYXRoRGVidWdEdW1wT2JqZWN0KG91dHB1dCwgb2JqZWN0LCAwKTsKKwkgICAgZ290byBmaW5pc2g7CisJfQorCWNhc2UgWFBBVEhfT1BfVkFSSUFCTEU6IHsKKwkgICAgY29uc3QgeG1sQ2hhciAqcHJlZml4ID0gb3AtPnZhbHVlNTsKKwkgICAgY29uc3QgeG1sQ2hhciAqbmFtZSA9IG9wLT52YWx1ZTQ7CisKKwkgICAgaWYgKHByZWZpeCAhPSBOVUxMKQorCQlmcHJpbnRmKG91dHB1dCwgIlZBUklBQkxFICVzOiVzIiwgcHJlZml4LCBuYW1lKTsKKwkgICAgZWxzZQorCQlmcHJpbnRmKG91dHB1dCwgIlZBUklBQkxFICVzIiwgbmFtZSk7CisJICAgIGJyZWFrOworCX0KKwljYXNlIFhQQVRIX09QX0ZVTkNUSU9OOiB7CisJICAgIGludCBuYmFyZ3MgPSBvcC0+dmFsdWU7CisJICAgIGNvbnN0IHhtbENoYXIgKnByZWZpeCA9IG9wLT52YWx1ZTU7CisJICAgIGNvbnN0IHhtbENoYXIgKm5hbWUgPSBvcC0+dmFsdWU0OworCisJICAgIGlmIChwcmVmaXggIT0gTlVMTCkKKwkJZnByaW50ZihvdXRwdXQsICJGVU5DVElPTiAlczolcyglZCBhcmdzKSIsCisJCQlwcmVmaXgsIG5hbWUsIG5iYXJncyk7CisJICAgIGVsc2UKKwkJZnByaW50ZihvdXRwdXQsICJGVU5DVElPTiAlcyglZCBhcmdzKSIsIG5hbWUsIG5iYXJncyk7CisJICAgIGJyZWFrOworCX0KKyAgICAgICAgY2FzZSBYUEFUSF9PUF9BUkc6IGZwcmludGYob3V0cHV0LCAiQVJHIik7IGJyZWFrOworICAgICAgICBjYXNlIFhQQVRIX09QX1BSRURJQ0FURTogZnByaW50ZihvdXRwdXQsICJQUkVESUNBVEUiKTsgYnJlYWs7CisgICAgICAgIGNhc2UgWFBBVEhfT1BfRklMVEVSOiBmcHJpbnRmKG91dHB1dCwgIkZJTFRFUiIpOyBicmVhazsKKyNpZmRlZiBMSUJYTUxfWFBUUl9FTkFCTEVECisgICAgICAgIGNhc2UgWFBBVEhfT1BfUkFOR0VUTzogZnByaW50ZihvdXRwdXQsICJSQU5HRVRPIik7IGJyZWFrOworI2VuZGlmCisJZGVmYXVsdDoKKyAgICAgICAgZnByaW50ZihvdXRwdXQsICJVTktOT1dOICVkXG4iLCBvcC0+b3ApOyByZXR1cm47CisgICAgfQorICAgIGZwcmludGYob3V0cHV0LCAiXG4iKTsKK2ZpbmlzaDoKKyAgICBpZiAob3AtPmNoMSA+PSAwKQorCXhtbFhQYXRoRGVidWdEdW1wU3RlcE9wKG91dHB1dCwgY29tcCwgJmNvbXAtPnN0ZXBzW29wLT5jaDFdLCBkZXB0aCArIDEpOworICAgIGlmIChvcC0+Y2gyID49IDApCisJeG1sWFBhdGhEZWJ1Z0R1bXBTdGVwT3Aob3V0cHV0LCBjb21wLCAmY29tcC0+c3RlcHNbb3AtPmNoMl0sIGRlcHRoICsgMSk7Cit9CisKKy8qKgorICogeG1sWFBhdGhEZWJ1Z0R1bXBDb21wRXhwcjoKKyAqIEBvdXRwdXQ6ICB0aGUgRklMRSAqIGZvciB0aGUgb3V0cHV0CisgKiBAY29tcDogIHRoZSBwcmVjb21waWxlZCBYUGF0aCBleHByZXNzaW9uCisgKiBAZGVwdGg6ICB0aGUgaW5kZW50YXRpb24gbGV2ZWwuCisgKgorICogRHVtcHMgdGhlIHRyZWUgb2YgdGhlIGNvbXBpbGVkIFhQYXRoIGV4cHJlc3Npb24uCisgKi8KK3ZvaWQKK3htbFhQYXRoRGVidWdEdW1wQ29tcEV4cHIoRklMRSAqb3V0cHV0LCB4bWxYUGF0aENvbXBFeHByUHRyIGNvbXAsCisJICAgICAgICAgICAgICAgICAgaW50IGRlcHRoKSB7CisgICAgaW50IGk7CisgICAgY2hhciBzaGlmdFsxMDBdOworCisgICAgaWYgKChvdXRwdXQgPT0gTlVMTCkgfHwgKGNvbXAgPT0gTlVMTCkpIHJldHVybjsKKworICAgIGZvciAoaSA9IDA7KChpIDwgZGVwdGgpICYmIChpIDwgMjUpKTtpKyspCisgICAgICAgIHNoaWZ0WzIgKiBpXSA9IHNoaWZ0WzIgKiBpICsgMV0gPSAnICc7CisgICAgc2hpZnRbMiAqIGldID0gc2hpZnRbMiAqIGkgKyAxXSA9IDA7CisKKyAgICBmcHJpbnRmKG91dHB1dCwgIiVzIiwgc2hpZnQpOworCisgICAgZnByaW50ZihvdXRwdXQsICJDb21waWxlZCBFeHByZXNzaW9uIDogJWQgZWxlbWVudHNcbiIsCisJICAgIGNvbXAtPm5iU3RlcCk7CisgICAgaSA9IGNvbXAtPmxhc3Q7CisgICAgeG1sWFBhdGhEZWJ1Z0R1bXBTdGVwT3Aob3V0cHV0LCBjb21wLCAmY29tcC0+c3RlcHNbaV0sIGRlcHRoICsgMSk7Cit9CisKKyNpZmRlZiBYUF9ERUJVR19PQkpfVVNBR0UKKworLyoKKyogWFBhdGggb2JqZWN0IHVzYWdlIHJlbGF0ZWQgZGVidWdnaW5nIHZhcmlhYmxlcy4KKyovCitzdGF0aWMgaW50IHhtbFhQYXRoRGVidWdPYmpDb3VudGVyVW5kZWZpbmVkID0gMDsKK3N0YXRpYyBpbnQgeG1sWFBhdGhEZWJ1Z09iakNvdW50ZXJOb2Rlc2V0ID0gMDsKK3N0YXRpYyBpbnQgeG1sWFBhdGhEZWJ1Z09iakNvdW50ZXJCb29sID0gMDsKK3N0YXRpYyBpbnQgeG1sWFBhdGhEZWJ1Z09iakNvdW50ZXJOdW1iZXIgPSAwOworc3RhdGljIGludCB4bWxYUGF0aERlYnVnT2JqQ291bnRlclN0cmluZyA9IDA7CitzdGF0aWMgaW50IHhtbFhQYXRoRGVidWdPYmpDb3VudGVyUG9pbnQgPSAwOworc3RhdGljIGludCB4bWxYUGF0aERlYnVnT2JqQ291bnRlclJhbmdlID0gMDsKK3N0YXRpYyBpbnQgeG1sWFBhdGhEZWJ1Z09iakNvdW50ZXJMb2NzZXQgPSAwOworc3RhdGljIGludCB4bWxYUGF0aERlYnVnT2JqQ291bnRlclVzZXJzID0gMDsKK3N0YXRpYyBpbnQgeG1sWFBhdGhEZWJ1Z09iakNvdW50ZXJYU0xUVHJlZSA9IDA7CitzdGF0aWMgaW50IHhtbFhQYXRoRGVidWdPYmpDb3VudGVyQWxsID0gMDsKKworc3RhdGljIGludCB4bWxYUGF0aERlYnVnT2JqVG90YWxVbmRlZmluZWQgPSAwOworc3RhdGljIGludCB4bWxYUGF0aERlYnVnT2JqVG90YWxOb2Rlc2V0ID0gMDsKK3N0YXRpYyBpbnQgeG1sWFBhdGhEZWJ1Z09ialRvdGFsQm9vbCA9IDA7CitzdGF0aWMgaW50IHhtbFhQYXRoRGVidWdPYmpUb3RhbE51bWJlciA9IDA7CitzdGF0aWMgaW50IHhtbFhQYXRoRGVidWdPYmpUb3RhbFN0cmluZyA9IDA7CitzdGF0aWMgaW50IHhtbFhQYXRoRGVidWdPYmpUb3RhbFBvaW50ID0gMDsKK3N0YXRpYyBpbnQgeG1sWFBhdGhEZWJ1Z09ialRvdGFsUmFuZ2UgPSAwOworc3RhdGljIGludCB4bWxYUGF0aERlYnVnT2JqVG90YWxMb2NzZXQgPSAwOworc3RhdGljIGludCB4bWxYUGF0aERlYnVnT2JqVG90YWxVc2VycyA9IDA7CitzdGF0aWMgaW50IHhtbFhQYXRoRGVidWdPYmpUb3RhbFhTTFRUcmVlID0gMDsKK3N0YXRpYyBpbnQgeG1sWFBhdGhEZWJ1Z09ialRvdGFsQWxsID0gMDsKKworc3RhdGljIGludCB4bWxYUGF0aERlYnVnT2JqTWF4VW5kZWZpbmVkID0gMDsKK3N0YXRpYyBpbnQgeG1sWFBhdGhEZWJ1Z09iak1heE5vZGVzZXQgPSAwOworc3RhdGljIGludCB4bWxYUGF0aERlYnVnT2JqTWF4Qm9vbCA9IDA7CitzdGF0aWMgaW50IHhtbFhQYXRoRGVidWdPYmpNYXhOdW1iZXIgPSAwOworc3RhdGljIGludCB4bWxYUGF0aERlYnVnT2JqTWF4U3RyaW5nID0gMDsKK3N0YXRpYyBpbnQgeG1sWFBhdGhEZWJ1Z09iak1heFBvaW50ID0gMDsKK3N0YXRpYyBpbnQgeG1sWFBhdGhEZWJ1Z09iak1heFJhbmdlID0gMDsKK3N0YXRpYyBpbnQgeG1sWFBhdGhEZWJ1Z09iak1heExvY3NldCA9IDA7CitzdGF0aWMgaW50IHhtbFhQYXRoRGVidWdPYmpNYXhVc2VycyA9IDA7CitzdGF0aWMgaW50IHhtbFhQYXRoRGVidWdPYmpNYXhYU0xUVHJlZSA9IDA7CitzdGF0aWMgaW50IHhtbFhQYXRoRGVidWdPYmpNYXhBbGwgPSAwOworCisvKiBSRVZJU0lUIFRPRE86IE1ha2UgdGhpcyBzdGF0aWMgd2hlbiBjb21taXR0aW5nICovCitzdGF0aWMgdm9pZAoreG1sWFBhdGhEZWJ1Z09ialVzYWdlUmVzZXQoeG1sWFBhdGhDb250ZXh0UHRyIGN0eHQpCit7CisgICAgaWYgKGN0eHQgIT0gTlVMTCkgeworCWlmIChjdHh0LT5jYWNoZSAhPSBOVUxMKSB7CisJICAgIHhtbFhQYXRoQ29udGV4dENhY2hlUHRyIGNhY2hlID0KKwkJKHhtbFhQYXRoQ29udGV4dENhY2hlUHRyKSBjdHh0LT5jYWNoZTsKKworCSAgICBjYWNoZS0+ZGJnQ2FjaGVkQWxsID0gMDsKKwkgICAgY2FjaGUtPmRiZ0NhY2hlZE5vZGVzZXQgPSAwOworCSAgICBjYWNoZS0+ZGJnQ2FjaGVkU3RyaW5nID0gMDsKKwkgICAgY2FjaGUtPmRiZ0NhY2hlZEJvb2wgPSAwOworCSAgICBjYWNoZS0+ZGJnQ2FjaGVkTnVtYmVyID0gMDsKKwkgICAgY2FjaGUtPmRiZ0NhY2hlZFBvaW50ID0gMDsKKwkgICAgY2FjaGUtPmRiZ0NhY2hlZFJhbmdlID0gMDsKKwkgICAgY2FjaGUtPmRiZ0NhY2hlZExvY3NldCA9IDA7CisJICAgIGNhY2hlLT5kYmdDYWNoZWRVc2VycyA9IDA7CisJICAgIGNhY2hlLT5kYmdDYWNoZWRYU0xUVHJlZSA9IDA7CisJICAgIGNhY2hlLT5kYmdDYWNoZWRVbmRlZmluZWQgPSAwOworCisJICAgIGNhY2hlLT5kYmdSZXVzZWRBbGwgPSAwOworCSAgICBjYWNoZS0+ZGJnUmV1c2VkTm9kZXNldCA9IDA7CisJICAgIGNhY2hlLT5kYmdSZXVzZWRTdHJpbmcgPSAwOworCSAgICBjYWNoZS0+ZGJnUmV1c2VkQm9vbCA9IDA7CisJICAgIGNhY2hlLT5kYmdSZXVzZWROdW1iZXIgPSAwOworCSAgICBjYWNoZS0+ZGJnUmV1c2VkUG9pbnQgPSAwOworCSAgICBjYWNoZS0+ZGJnUmV1c2VkUmFuZ2UgPSAwOworCSAgICBjYWNoZS0+ZGJnUmV1c2VkTG9jc2V0ID0gMDsKKwkgICAgY2FjaGUtPmRiZ1JldXNlZFVzZXJzID0gMDsKKwkgICAgY2FjaGUtPmRiZ1JldXNlZFhTTFRUcmVlID0gMDsKKwkgICAgY2FjaGUtPmRiZ1JldXNlZFVuZGVmaW5lZCA9IDA7CisJfQorICAgIH0KKworICAgIHhtbFhQYXRoRGVidWdPYmpDb3VudGVyVW5kZWZpbmVkID0gMDsKKyAgICB4bWxYUGF0aERlYnVnT2JqQ291bnRlck5vZGVzZXQgPSAwOworICAgIHhtbFhQYXRoRGVidWdPYmpDb3VudGVyQm9vbCA9IDA7CisgICAgeG1sWFBhdGhEZWJ1Z09iakNvdW50ZXJOdW1iZXIgPSAwOworICAgIHhtbFhQYXRoRGVidWdPYmpDb3VudGVyU3RyaW5nID0gMDsKKyAgICB4bWxYUGF0aERlYnVnT2JqQ291bnRlclBvaW50ID0gMDsKKyAgICB4bWxYUGF0aERlYnVnT2JqQ291bnRlclJhbmdlID0gMDsKKyAgICB4bWxYUGF0aERlYnVnT2JqQ291bnRlckxvY3NldCA9IDA7CisgICAgeG1sWFBhdGhEZWJ1Z09iakNvdW50ZXJVc2VycyA9IDA7CisgICAgeG1sWFBhdGhEZWJ1Z09iakNvdW50ZXJYU0xUVHJlZSA9IDA7CisgICAgeG1sWFBhdGhEZWJ1Z09iakNvdW50ZXJBbGwgPSAwOworCisgICAgeG1sWFBhdGhEZWJ1Z09ialRvdGFsVW5kZWZpbmVkID0gMDsKKyAgICB4bWxYUGF0aERlYnVnT2JqVG90YWxOb2Rlc2V0ID0gMDsKKyAgICB4bWxYUGF0aERlYnVnT2JqVG90YWxCb29sID0gMDsKKyAgICB4bWxYUGF0aERlYnVnT2JqVG90YWxOdW1iZXIgPSAwOworICAgIHhtbFhQYXRoRGVidWdPYmpUb3RhbFN0cmluZyA9IDA7CisgICAgeG1sWFBhdGhEZWJ1Z09ialRvdGFsUG9pbnQgPSAwOworICAgIHhtbFhQYXRoRGVidWdPYmpUb3RhbFJhbmdlID0gMDsKKyAgICB4bWxYUGF0aERlYnVnT2JqVG90YWxMb2NzZXQgPSAwOworICAgIHhtbFhQYXRoRGVidWdPYmpUb3RhbFVzZXJzID0gMDsKKyAgICB4bWxYUGF0aERlYnVnT2JqVG90YWxYU0xUVHJlZSA9IDA7CisgICAgeG1sWFBhdGhEZWJ1Z09ialRvdGFsQWxsID0gMDsKKworICAgIHhtbFhQYXRoRGVidWdPYmpNYXhVbmRlZmluZWQgPSAwOworICAgIHhtbFhQYXRoRGVidWdPYmpNYXhOb2Rlc2V0ID0gMDsKKyAgICB4bWxYUGF0aERlYnVnT2JqTWF4Qm9vbCA9IDA7CisgICAgeG1sWFBhdGhEZWJ1Z09iak1heE51bWJlciA9IDA7CisgICAgeG1sWFBhdGhEZWJ1Z09iak1heFN0cmluZyA9IDA7CisgICAgeG1sWFBhdGhEZWJ1Z09iak1heFBvaW50ID0gMDsKKyAgICB4bWxYUGF0aERlYnVnT2JqTWF4UmFuZ2UgPSAwOworICAgIHhtbFhQYXRoRGVidWdPYmpNYXhMb2NzZXQgPSAwOworICAgIHhtbFhQYXRoRGVidWdPYmpNYXhVc2VycyA9IDA7CisgICAgeG1sWFBhdGhEZWJ1Z09iak1heFhTTFRUcmVlID0gMDsKKyAgICB4bWxYUGF0aERlYnVnT2JqTWF4QWxsID0gMDsKKworfQorCitzdGF0aWMgdm9pZAoreG1sWFBhdGhEZWJ1Z09ialVzYWdlUmVxdWVzdGVkKHhtbFhQYXRoQ29udGV4dFB0ciBjdHh0LAorCQkJICAgICAgeG1sWFBhdGhPYmplY3RUeXBlIG9ialR5cGUpCit7CisgICAgaW50IGlzQ2FjaGVkID0gMDsKKworICAgIGlmIChjdHh0ICE9IE5VTEwpIHsKKwlpZiAoY3R4dC0+Y2FjaGUgIT0gTlVMTCkgeworCSAgICB4bWxYUGF0aENvbnRleHRDYWNoZVB0ciBjYWNoZSA9CisJCSh4bWxYUGF0aENvbnRleHRDYWNoZVB0cikgY3R4dC0+Y2FjaGU7CisKKwkgICAgaXNDYWNoZWQgPSAxOworCisJICAgIGNhY2hlLT5kYmdSZXVzZWRBbGwrKzsKKwkgICAgc3dpdGNoIChvYmpUeXBlKSB7CisJCWNhc2UgWFBBVEhfVU5ERUZJTkVEOgorCQkgICAgY2FjaGUtPmRiZ1JldXNlZFVuZGVmaW5lZCsrOworCQkgICAgYnJlYWs7CisJCWNhc2UgWFBBVEhfTk9ERVNFVDoKKwkJICAgIGNhY2hlLT5kYmdSZXVzZWROb2Rlc2V0Kys7CisJCSAgICBicmVhazsKKwkJY2FzZSBYUEFUSF9CT09MRUFOOgorCQkgICAgY2FjaGUtPmRiZ1JldXNlZEJvb2wrKzsKKwkJICAgIGJyZWFrOworCQljYXNlIFhQQVRIX05VTUJFUjoKKwkJICAgIGNhY2hlLT5kYmdSZXVzZWROdW1iZXIrKzsKKwkJICAgIGJyZWFrOworCQljYXNlIFhQQVRIX1NUUklORzoKKwkJICAgIGNhY2hlLT5kYmdSZXVzZWRTdHJpbmcrKzsKKwkJICAgIGJyZWFrOworCQljYXNlIFhQQVRIX1BPSU5UOgorCQkgICAgY2FjaGUtPmRiZ1JldXNlZFBvaW50Kys7CisJCSAgICBicmVhazsKKwkJY2FzZSBYUEFUSF9SQU5HRToKKwkJICAgIGNhY2hlLT5kYmdSZXVzZWRSYW5nZSsrOworCQkgICAgYnJlYWs7CisJCWNhc2UgWFBBVEhfTE9DQVRJT05TRVQ6CisJCSAgICBjYWNoZS0+ZGJnUmV1c2VkTG9jc2V0Kys7CisJCSAgICBicmVhazsKKwkJY2FzZSBYUEFUSF9VU0VSUzoKKwkJICAgIGNhY2hlLT5kYmdSZXVzZWRVc2VycysrOworCQkgICAgYnJlYWs7CisJCWNhc2UgWFBBVEhfWFNMVF9UUkVFOgorCQkgICAgY2FjaGUtPmRiZ1JldXNlZFhTTFRUcmVlKys7CisJCSAgICBicmVhazsKKwkJZGVmYXVsdDoKKwkJICAgIGJyZWFrOworCSAgICB9CisJfQorICAgIH0KKworICAgIHN3aXRjaCAob2JqVHlwZSkgeworCWNhc2UgWFBBVEhfVU5ERUZJTkVEOgorCSAgICBpZiAoISBpc0NhY2hlZCkKKwkJeG1sWFBhdGhEZWJ1Z09ialRvdGFsVW5kZWZpbmVkKys7CisJICAgIHhtbFhQYXRoRGVidWdPYmpDb3VudGVyVW5kZWZpbmVkKys7CisJICAgIGlmICh4bWxYUGF0aERlYnVnT2JqQ291bnRlclVuZGVmaW5lZCA+CisJCXhtbFhQYXRoRGVidWdPYmpNYXhVbmRlZmluZWQpCisJCXhtbFhQYXRoRGVidWdPYmpNYXhVbmRlZmluZWQgPQorCQkgICAgeG1sWFBhdGhEZWJ1Z09iakNvdW50ZXJVbmRlZmluZWQ7CisJICAgIGJyZWFrOworCWNhc2UgWFBBVEhfTk9ERVNFVDoKKwkgICAgaWYgKCEgaXNDYWNoZWQpCisJCXhtbFhQYXRoRGVidWdPYmpUb3RhbE5vZGVzZXQrKzsKKwkgICAgeG1sWFBhdGhEZWJ1Z09iakNvdW50ZXJOb2Rlc2V0Kys7CisJICAgIGlmICh4bWxYUGF0aERlYnVnT2JqQ291bnRlck5vZGVzZXQgPgorCQl4bWxYUGF0aERlYnVnT2JqTWF4Tm9kZXNldCkKKwkJeG1sWFBhdGhEZWJ1Z09iak1heE5vZGVzZXQgPQorCQkgICAgeG1sWFBhdGhEZWJ1Z09iakNvdW50ZXJOb2Rlc2V0OworCSAgICBicmVhazsKKwljYXNlIFhQQVRIX0JPT0xFQU46CisJICAgIGlmICghIGlzQ2FjaGVkKQorCQl4bWxYUGF0aERlYnVnT2JqVG90YWxCb29sKys7CisJICAgIHhtbFhQYXRoRGVidWdPYmpDb3VudGVyQm9vbCsrOworCSAgICBpZiAoeG1sWFBhdGhEZWJ1Z09iakNvdW50ZXJCb29sID4KKwkJeG1sWFBhdGhEZWJ1Z09iak1heEJvb2wpCisJCXhtbFhQYXRoRGVidWdPYmpNYXhCb29sID0KKwkJICAgIHhtbFhQYXRoRGVidWdPYmpDb3VudGVyQm9vbDsKKwkgICAgYnJlYWs7CisJY2FzZSBYUEFUSF9OVU1CRVI6CisJICAgIGlmICghIGlzQ2FjaGVkKQorCQl4bWxYUGF0aERlYnVnT2JqVG90YWxOdW1iZXIrKzsKKwkgICAgeG1sWFBhdGhEZWJ1Z09iakNvdW50ZXJOdW1iZXIrKzsKKwkgICAgaWYgKHhtbFhQYXRoRGVidWdPYmpDb3VudGVyTnVtYmVyID4KKwkJeG1sWFBhdGhEZWJ1Z09iak1heE51bWJlcikKKwkJeG1sWFBhdGhEZWJ1Z09iak1heE51bWJlciA9CisJCSAgICB4bWxYUGF0aERlYnVnT2JqQ291bnRlck51bWJlcjsKKwkgICAgYnJlYWs7CisJY2FzZSBYUEFUSF9TVFJJTkc6CisJICAgIGlmICghIGlzQ2FjaGVkKQorCQl4bWxYUGF0aERlYnVnT2JqVG90YWxTdHJpbmcrKzsKKwkgICAgeG1sWFBhdGhEZWJ1Z09iakNvdW50ZXJTdHJpbmcrKzsKKwkgICAgaWYgKHhtbFhQYXRoRGVidWdPYmpDb3VudGVyU3RyaW5nID4KKwkJeG1sWFBhdGhEZWJ1Z09iak1heFN0cmluZykKKwkJeG1sWFBhdGhEZWJ1Z09iak1heFN0cmluZyA9CisJCSAgICB4bWxYUGF0aERlYnVnT2JqQ291bnRlclN0cmluZzsKKwkgICAgYnJlYWs7CisJY2FzZSBYUEFUSF9QT0lOVDoKKwkgICAgaWYgKCEgaXNDYWNoZWQpCisJCXhtbFhQYXRoRGVidWdPYmpUb3RhbFBvaW50Kys7CisJICAgIHhtbFhQYXRoRGVidWdPYmpDb3VudGVyUG9pbnQrKzsKKwkgICAgaWYgKHhtbFhQYXRoRGVidWdPYmpDb3VudGVyUG9pbnQgPgorCQl4bWxYUGF0aERlYnVnT2JqTWF4UG9pbnQpCisJCXhtbFhQYXRoRGVidWdPYmpNYXhQb2ludCA9CisJCSAgICB4bWxYUGF0aERlYnVnT2JqQ291bnRlclBvaW50OworCSAgICBicmVhazsKKwljYXNlIFhQQVRIX1JBTkdFOgorCSAgICBpZiAoISBpc0NhY2hlZCkKKwkJeG1sWFBhdGhEZWJ1Z09ialRvdGFsUmFuZ2UrKzsKKwkgICAgeG1sWFBhdGhEZWJ1Z09iakNvdW50ZXJSYW5nZSsrOworCSAgICBpZiAoeG1sWFBhdGhEZWJ1Z09iakNvdW50ZXJSYW5nZSA+CisJCXhtbFhQYXRoRGVidWdPYmpNYXhSYW5nZSkKKwkJeG1sWFBhdGhEZWJ1Z09iak1heFJhbmdlID0KKwkJICAgIHhtbFhQYXRoRGVidWdPYmpDb3VudGVyUmFuZ2U7CisJICAgIGJyZWFrOworCWNhc2UgWFBBVEhfTE9DQVRJT05TRVQ6CisJICAgIGlmICghIGlzQ2FjaGVkKQorCQl4bWxYUGF0aERlYnVnT2JqVG90YWxMb2NzZXQrKzsKKwkgICAgeG1sWFBhdGhEZWJ1Z09iakNvdW50ZXJMb2NzZXQrKzsKKwkgICAgaWYgKHhtbFhQYXRoRGVidWdPYmpDb3VudGVyTG9jc2V0ID4KKwkJeG1sWFBhdGhEZWJ1Z09iak1heExvY3NldCkKKwkJeG1sWFBhdGhEZWJ1Z09iak1heExvY3NldCA9CisJCSAgICB4bWxYUGF0aERlYnVnT2JqQ291bnRlckxvY3NldDsKKwkgICAgYnJlYWs7CisJY2FzZSBYUEFUSF9VU0VSUzoKKwkgICAgaWYgKCEgaXNDYWNoZWQpCisJCXhtbFhQYXRoRGVidWdPYmpUb3RhbFVzZXJzKys7CisJICAgIHhtbFhQYXRoRGVidWdPYmpDb3VudGVyVXNlcnMrKzsKKwkgICAgaWYgKHhtbFhQYXRoRGVidWdPYmpDb3VudGVyVXNlcnMgPgorCQl4bWxYUGF0aERlYnVnT2JqTWF4VXNlcnMpCisJCXhtbFhQYXRoRGVidWdPYmpNYXhVc2VycyA9CisJCSAgICB4bWxYUGF0aERlYnVnT2JqQ291bnRlclVzZXJzOworCSAgICBicmVhazsKKwljYXNlIFhQQVRIX1hTTFRfVFJFRToKKwkgICAgaWYgKCEgaXNDYWNoZWQpCisJCXhtbFhQYXRoRGVidWdPYmpUb3RhbFhTTFRUcmVlKys7CisJICAgIHhtbFhQYXRoRGVidWdPYmpDb3VudGVyWFNMVFRyZWUrKzsKKwkgICAgaWYgKHhtbFhQYXRoRGVidWdPYmpDb3VudGVyWFNMVFRyZWUgPgorCQl4bWxYUGF0aERlYnVnT2JqTWF4WFNMVFRyZWUpCisJCXhtbFhQYXRoRGVidWdPYmpNYXhYU0xUVHJlZSA9CisJCSAgICB4bWxYUGF0aERlYnVnT2JqQ291bnRlclhTTFRUcmVlOworCSAgICBicmVhazsKKwlkZWZhdWx0OgorCSAgICBicmVhazsKKyAgICB9CisgICAgaWYgKCEgaXNDYWNoZWQpCisJeG1sWFBhdGhEZWJ1Z09ialRvdGFsQWxsKys7CisgICAgeG1sWFBhdGhEZWJ1Z09iakNvdW50ZXJBbGwrKzsKKyAgICBpZiAoeG1sWFBhdGhEZWJ1Z09iakNvdW50ZXJBbGwgPgorCXhtbFhQYXRoRGVidWdPYmpNYXhBbGwpCisJeG1sWFBhdGhEZWJ1Z09iak1heEFsbCA9CisJICAgIHhtbFhQYXRoRGVidWdPYmpDb3VudGVyQWxsOworfQorCitzdGF0aWMgdm9pZAoreG1sWFBhdGhEZWJ1Z09ialVzYWdlUmVsZWFzZWQoeG1sWFBhdGhDb250ZXh0UHRyIGN0eHQsCisJCQkgICAgICB4bWxYUGF0aE9iamVjdFR5cGUgb2JqVHlwZSkKK3sKKyAgICBpbnQgaXNDYWNoZWQgPSAwOworCisgICAgaWYgKGN0eHQgIT0gTlVMTCkgeworCWlmIChjdHh0LT5jYWNoZSAhPSBOVUxMKSB7CisJICAgIHhtbFhQYXRoQ29udGV4dENhY2hlUHRyIGNhY2hlID0KKwkJKHhtbFhQYXRoQ29udGV4dENhY2hlUHRyKSBjdHh0LT5jYWNoZTsKKworCSAgICBpc0NhY2hlZCA9IDE7CisKKwkgICAgY2FjaGUtPmRiZ0NhY2hlZEFsbCsrOworCSAgICBzd2l0Y2ggKG9ialR5cGUpIHsKKwkJY2FzZSBYUEFUSF9VTkRFRklORUQ6CisJCSAgICBjYWNoZS0+ZGJnQ2FjaGVkVW5kZWZpbmVkKys7CisJCSAgICBicmVhazsKKwkJY2FzZSBYUEFUSF9OT0RFU0VUOgorCQkgICAgY2FjaGUtPmRiZ0NhY2hlZE5vZGVzZXQrKzsKKwkJICAgIGJyZWFrOworCQljYXNlIFhQQVRIX0JPT0xFQU46CisJCSAgICBjYWNoZS0+ZGJnQ2FjaGVkQm9vbCsrOworCQkgICAgYnJlYWs7CisJCWNhc2UgWFBBVEhfTlVNQkVSOgorCQkgICAgY2FjaGUtPmRiZ0NhY2hlZE51bWJlcisrOworCQkgICAgYnJlYWs7CisJCWNhc2UgWFBBVEhfU1RSSU5HOgorCQkgICAgY2FjaGUtPmRiZ0NhY2hlZFN0cmluZysrOworCQkgICAgYnJlYWs7CisJCWNhc2UgWFBBVEhfUE9JTlQ6CisJCSAgICBjYWNoZS0+ZGJnQ2FjaGVkUG9pbnQrKzsKKwkJICAgIGJyZWFrOworCQljYXNlIFhQQVRIX1JBTkdFOgorCQkgICAgY2FjaGUtPmRiZ0NhY2hlZFJhbmdlKys7CisJCSAgICBicmVhazsKKwkJY2FzZSBYUEFUSF9MT0NBVElPTlNFVDoKKwkJICAgIGNhY2hlLT5kYmdDYWNoZWRMb2NzZXQrKzsKKwkJICAgIGJyZWFrOworCQljYXNlIFhQQVRIX1VTRVJTOgorCQkgICAgY2FjaGUtPmRiZ0NhY2hlZFVzZXJzKys7CisJCSAgICBicmVhazsKKwkJY2FzZSBYUEFUSF9YU0xUX1RSRUU6CisJCSAgICBjYWNoZS0+ZGJnQ2FjaGVkWFNMVFRyZWUrKzsKKwkJICAgIGJyZWFrOworCQlkZWZhdWx0OgorCQkgICAgYnJlYWs7CisJICAgIH0KKworCX0KKyAgICB9CisgICAgc3dpdGNoIChvYmpUeXBlKSB7CisJY2FzZSBYUEFUSF9VTkRFRklORUQ6CisJICAgIHhtbFhQYXRoRGVidWdPYmpDb3VudGVyVW5kZWZpbmVkLS07CisJICAgIGJyZWFrOworCWNhc2UgWFBBVEhfTk9ERVNFVDoKKwkgICAgeG1sWFBhdGhEZWJ1Z09iakNvdW50ZXJOb2Rlc2V0LS07CisJICAgIGJyZWFrOworCWNhc2UgWFBBVEhfQk9PTEVBTjoKKwkgICAgeG1sWFBhdGhEZWJ1Z09iakNvdW50ZXJCb29sLS07CisJICAgIGJyZWFrOworCWNhc2UgWFBBVEhfTlVNQkVSOgorCSAgICB4bWxYUGF0aERlYnVnT2JqQ291bnRlck51bWJlci0tOworCSAgICBicmVhazsKKwljYXNlIFhQQVRIX1NUUklORzoKKwkgICAgeG1sWFBhdGhEZWJ1Z09iakNvdW50ZXJTdHJpbmctLTsKKwkgICAgYnJlYWs7CisJY2FzZSBYUEFUSF9QT0lOVDoKKwkgICAgeG1sWFBhdGhEZWJ1Z09iakNvdW50ZXJQb2ludC0tOworCSAgICBicmVhazsKKwljYXNlIFhQQVRIX1JBTkdFOgorCSAgICB4bWxYUGF0aERlYnVnT2JqQ291bnRlclJhbmdlLS07CisJICAgIGJyZWFrOworCWNhc2UgWFBBVEhfTE9DQVRJT05TRVQ6CisJICAgIHhtbFhQYXRoRGVidWdPYmpDb3VudGVyTG9jc2V0LS07CisJICAgIGJyZWFrOworCWNhc2UgWFBBVEhfVVNFUlM6CisJICAgIHhtbFhQYXRoRGVidWdPYmpDb3VudGVyVXNlcnMtLTsKKwkgICAgYnJlYWs7CisJY2FzZSBYUEFUSF9YU0xUX1RSRUU6CisJICAgIHhtbFhQYXRoRGVidWdPYmpDb3VudGVyWFNMVFRyZWUtLTsKKwkgICAgYnJlYWs7CisJZGVmYXVsdDoKKwkgICAgYnJlYWs7CisgICAgfQorICAgIHhtbFhQYXRoRGVidWdPYmpDb3VudGVyQWxsLS07Cit9CisKKy8qIFJFVklTSVQgVE9ETzogTWFrZSB0aGlzIHN0YXRpYyB3aGVuIGNvbW1pdHRpbmcgKi8KK3N0YXRpYyB2b2lkCit4bWxYUGF0aERlYnVnT2JqVXNhZ2VEaXNwbGF5KHhtbFhQYXRoQ29udGV4dFB0ciBjdHh0KQoreworICAgIGludCByZXFBbGwsIHJlcU5vZGVzZXQsIHJlcVN0cmluZywgcmVxQm9vbCwgcmVxTnVtYmVyLAorCXJlcVhTTFRUcmVlLCByZXFVbmRlZmluZWQ7CisgICAgaW50IGNhQWxsID0gMCwgY2FOb2Rlc2V0ID0gMCwgY2FTdHJpbmcgPSAwLCBjYUJvb2wgPSAwLAorCWNhTnVtYmVyID0gMCwgY2FYU0xUVHJlZSA9IDAsIGNhVW5kZWZpbmVkID0gMDsKKyAgICBpbnQgcmVBbGwgPSAwLCByZU5vZGVzZXQgPSAwLCByZVN0cmluZyA9IDAsIHJlQm9vbCA9IDAsCisJcmVOdW1iZXIgPSAwLCByZVhTTFRUcmVlID0gMCwgcmVVbmRlZmluZWQgPSAwOworICAgIGludCBsZWZ0T2JqcyA9IHhtbFhQYXRoRGVidWdPYmpDb3VudGVyQWxsOworCisgICAgcmVxQWxsID0geG1sWFBhdGhEZWJ1Z09ialRvdGFsQWxsOworICAgIHJlcU5vZGVzZXQgPSB4bWxYUGF0aERlYnVnT2JqVG90YWxOb2Rlc2V0OworICAgIHJlcVN0cmluZyA9IHhtbFhQYXRoRGVidWdPYmpUb3RhbFN0cmluZzsKKyAgICByZXFCb29sID0geG1sWFBhdGhEZWJ1Z09ialRvdGFsQm9vbDsKKyAgICByZXFOdW1iZXIgPSB4bWxYUGF0aERlYnVnT2JqVG90YWxOdW1iZXI7CisgICAgcmVxWFNMVFRyZWUgPSB4bWxYUGF0aERlYnVnT2JqVG90YWxYU0xUVHJlZTsKKyAgICByZXFVbmRlZmluZWQgPSB4bWxYUGF0aERlYnVnT2JqVG90YWxVbmRlZmluZWQ7CisKKyAgICBwcmludGYoIiMgWFBhdGggb2JqZWN0IHVzYWdlOlxuIik7CisKKyAgICBpZiAoY3R4dCAhPSBOVUxMKSB7CisJaWYgKGN0eHQtPmNhY2hlICE9IE5VTEwpIHsKKwkgICAgeG1sWFBhdGhDb250ZXh0Q2FjaGVQdHIgY2FjaGUgPQorCQkoeG1sWFBhdGhDb250ZXh0Q2FjaGVQdHIpIGN0eHQtPmNhY2hlOworCisJICAgIHJlQWxsID0gY2FjaGUtPmRiZ1JldXNlZEFsbDsKKwkgICAgcmVxQWxsICs9IHJlQWxsOworCSAgICByZU5vZGVzZXQgPSBjYWNoZS0+ZGJnUmV1c2VkTm9kZXNldDsKKwkgICAgcmVxTm9kZXNldCArPSByZU5vZGVzZXQ7CisJICAgIHJlU3RyaW5nID0gY2FjaGUtPmRiZ1JldXNlZFN0cmluZzsKKwkgICAgcmVxU3RyaW5nICs9IHJlU3RyaW5nOworCSAgICByZUJvb2wgPSBjYWNoZS0+ZGJnUmV1c2VkQm9vbDsKKwkgICAgcmVxQm9vbCArPSByZUJvb2w7CisJICAgIHJlTnVtYmVyID0gY2FjaGUtPmRiZ1JldXNlZE51bWJlcjsKKwkgICAgcmVxTnVtYmVyICs9IHJlTnVtYmVyOworCSAgICByZVhTTFRUcmVlID0gY2FjaGUtPmRiZ1JldXNlZFhTTFRUcmVlOworCSAgICByZXFYU0xUVHJlZSArPSByZVhTTFRUcmVlOworCSAgICByZVVuZGVmaW5lZCA9IGNhY2hlLT5kYmdSZXVzZWRVbmRlZmluZWQ7CisJICAgIHJlcVVuZGVmaW5lZCArPSByZVVuZGVmaW5lZDsKKworCSAgICBjYUFsbCA9IGNhY2hlLT5kYmdDYWNoZWRBbGw7CisJICAgIGNhQm9vbCA9IGNhY2hlLT5kYmdDYWNoZWRCb29sOworCSAgICBjYU5vZGVzZXQgPSBjYWNoZS0+ZGJnQ2FjaGVkTm9kZXNldDsKKwkgICAgY2FTdHJpbmcgPSBjYWNoZS0+ZGJnQ2FjaGVkU3RyaW5nOworCSAgICBjYU51bWJlciA9IGNhY2hlLT5kYmdDYWNoZWROdW1iZXI7CisJICAgIGNhWFNMVFRyZWUgPSBjYWNoZS0+ZGJnQ2FjaGVkWFNMVFRyZWU7CisJICAgIGNhVW5kZWZpbmVkID0gY2FjaGUtPmRiZ0NhY2hlZFVuZGVmaW5lZDsKKworCSAgICBpZiAoY2FjaGUtPm5vZGVzZXRPYmpzKQorCQlsZWZ0T2JqcyAtPSBjYWNoZS0+bm9kZXNldE9ianMtPm51bWJlcjsKKwkgICAgaWYgKGNhY2hlLT5zdHJpbmdPYmpzKQorCQlsZWZ0T2JqcyAtPSBjYWNoZS0+c3RyaW5nT2Jqcy0+bnVtYmVyOworCSAgICBpZiAoY2FjaGUtPmJvb2xlYW5PYmpzKQorCQlsZWZ0T2JqcyAtPSBjYWNoZS0+Ym9vbGVhbk9ianMtPm51bWJlcjsKKwkgICAgaWYgKGNhY2hlLT5udW1iZXJPYmpzKQorCQlsZWZ0T2JqcyAtPSBjYWNoZS0+bnVtYmVyT2Jqcy0+bnVtYmVyOworCSAgICBpZiAoY2FjaGUtPm1pc2NPYmpzKQorCQlsZWZ0T2JqcyAtPSBjYWNoZS0+bWlzY09ianMtPm51bWJlcjsKKwl9CisgICAgfQorCisgICAgcHJpbnRmKCIjIGFsbFxuIik7CisgICAgcHJpbnRmKCIjICAgdG90YWwgIDogJWRcbiIsIHJlcUFsbCk7CisgICAgcHJpbnRmKCIjICAgbGVmdCAgOiAlZFxuIiwgbGVmdE9ianMpOworICAgIHByaW50ZigiIyAgIGNyZWF0ZWQ6ICVkXG4iLCB4bWxYUGF0aERlYnVnT2JqVG90YWxBbGwpOworICAgIHByaW50ZigiIyAgIHJldXNlZCA6ICVkXG4iLCByZUFsbCk7CisgICAgcHJpbnRmKCIjICAgbWF4ICAgIDogJWRcbiIsIHhtbFhQYXRoRGVidWdPYmpNYXhBbGwpOworCisgICAgcHJpbnRmKCIjIG5vZGUtc2V0c1xuIik7CisgICAgcHJpbnRmKCIjICAgdG90YWwgIDogJWRcbiIsIHJlcU5vZGVzZXQpOworICAgIHByaW50ZigiIyAgIGNyZWF0ZWQ6ICVkXG4iLCB4bWxYUGF0aERlYnVnT2JqVG90YWxOb2Rlc2V0KTsKKyAgICBwcmludGYoIiMgICByZXVzZWQgOiAlZFxuIiwgcmVOb2Rlc2V0KTsKKyAgICBwcmludGYoIiMgICBtYXggICAgOiAlZFxuIiwgeG1sWFBhdGhEZWJ1Z09iak1heE5vZGVzZXQpOworCisgICAgcHJpbnRmKCIjIHN0cmluZ3NcbiIpOworICAgIHByaW50ZigiIyAgIHRvdGFsICA6ICVkXG4iLCByZXFTdHJpbmcpOworICAgIHByaW50ZigiIyAgIGNyZWF0ZWQ6ICVkXG4iLCB4bWxYUGF0aERlYnVnT2JqVG90YWxTdHJpbmcpOworICAgIHByaW50ZigiIyAgIHJldXNlZCA6ICVkXG4iLCByZVN0cmluZyk7CisgICAgcHJpbnRmKCIjICAgbWF4ICAgIDogJWRcbiIsIHhtbFhQYXRoRGVidWdPYmpNYXhTdHJpbmcpOworCisgICAgcHJpbnRmKCIjIGJvb2xlYW5zXG4iKTsKKyAgICBwcmludGYoIiMgICB0b3RhbCAgOiAlZFxuIiwgcmVxQm9vbCk7CisgICAgcHJpbnRmKCIjICAgY3JlYXRlZDogJWRcbiIsIHhtbFhQYXRoRGVidWdPYmpUb3RhbEJvb2wpOworICAgIHByaW50ZigiIyAgIHJldXNlZCA6ICVkXG4iLCByZUJvb2wpOworICAgIHByaW50ZigiIyAgIG1heCAgICA6ICVkXG4iLCB4bWxYUGF0aERlYnVnT2JqTWF4Qm9vbCk7CisKKyAgICBwcmludGYoIiMgbnVtYmVyc1xuIik7CisgICAgcHJpbnRmKCIjICAgdG90YWwgIDogJWRcbiIsIHJlcU51bWJlcik7CisgICAgcHJpbnRmKCIjICAgY3JlYXRlZDogJWRcbiIsIHhtbFhQYXRoRGVidWdPYmpUb3RhbE51bWJlcik7CisgICAgcHJpbnRmKCIjICAgcmV1c2VkIDogJWRcbiIsIHJlTnVtYmVyKTsKKyAgICBwcmludGYoIiMgICBtYXggICAgOiAlZFxuIiwgeG1sWFBhdGhEZWJ1Z09iak1heE51bWJlcik7CisKKyAgICBwcmludGYoIiMgWFNMVCByZXN1bHQgdHJlZSBmcmFnbWVudHNcbiIpOworICAgIHByaW50ZigiIyAgIHRvdGFsICA6ICVkXG4iLCByZXFYU0xUVHJlZSk7CisgICAgcHJpbnRmKCIjICAgY3JlYXRlZDogJWRcbiIsIHhtbFhQYXRoRGVidWdPYmpUb3RhbFhTTFRUcmVlKTsKKyAgICBwcmludGYoIiMgICByZXVzZWQgOiAlZFxuIiwgcmVYU0xUVHJlZSk7CisgICAgcHJpbnRmKCIjICAgbWF4ICAgIDogJWRcbiIsIHhtbFhQYXRoRGVidWdPYmpNYXhYU0xUVHJlZSk7CisKKyAgICBwcmludGYoIiMgdW5kZWZpbmVkXG4iKTsKKyAgICBwcmludGYoIiMgICB0b3RhbCAgOiAlZFxuIiwgcmVxVW5kZWZpbmVkKTsKKyAgICBwcmludGYoIiMgICBjcmVhdGVkOiAlZFxuIiwgeG1sWFBhdGhEZWJ1Z09ialRvdGFsVW5kZWZpbmVkKTsKKyAgICBwcmludGYoIiMgICByZXVzZWQgOiAlZFxuIiwgcmVVbmRlZmluZWQpOworICAgIHByaW50ZigiIyAgIG1heCAgICA6ICVkXG4iLCB4bWxYUGF0aERlYnVnT2JqTWF4VW5kZWZpbmVkKTsKKworfQorCisjZW5kaWYgLyogWFBfREVCVUdfT0JKX1VTQUdFICovCisKKyNlbmRpZiAvKiBMSUJYTUxfREVCVUdfRU5BQkxFRCAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQkJWFBhdGggb2JqZWN0IGNhY2hpbmcJCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioKKyAqIHhtbFhQYXRoTmV3Q2FjaGU6CisgKgorICogQ3JlYXRlIGEgbmV3IG9iamVjdCBjYWNoZQorICoKKyAqIFJldHVybnMgdGhlIHhtbFhQYXRoQ2FjaGUganVzdCBhbGxvY2F0ZWQuCisgKi8KK3N0YXRpYyB4bWxYUGF0aENvbnRleHRDYWNoZVB0cgoreG1sWFBhdGhOZXdDYWNoZSh2b2lkKQoreworICAgIHhtbFhQYXRoQ29udGV4dENhY2hlUHRyIHJldDsKKworICAgIHJldCA9ICh4bWxYUGF0aENvbnRleHRDYWNoZVB0cikgeG1sTWFsbG9jKHNpemVvZih4bWxYUGF0aENvbnRleHRDYWNoZSkpOworICAgIGlmIChyZXQgPT0gTlVMTCkgeworICAgICAgICB4bWxYUGF0aEVyck1lbW9yeShOVUxMLCAiY3JlYXRpbmcgb2JqZWN0IGNhY2hlXG4iKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIG1lbXNldChyZXQsIDAgLCAoc2l6ZV90KSBzaXplb2YoeG1sWFBhdGhDb250ZXh0Q2FjaGUpKTsKKyAgICByZXQtPm1heE5vZGVzZXQgPSAxMDA7CisgICAgcmV0LT5tYXhTdHJpbmcgPSAxMDA7CisgICAgcmV0LT5tYXhCb29sZWFuID0gMTAwOworICAgIHJldC0+bWF4TnVtYmVyID0gMTAwOworICAgIHJldC0+bWF4TWlzYyA9IDEwMDsKKyAgICByZXR1cm4ocmV0KTsKK30KKworc3RhdGljIHZvaWQKK3htbFhQYXRoQ2FjaGVGcmVlT2JqZWN0TGlzdCh4bWxQb2ludGVyTGlzdFB0ciBsaXN0KQoreworICAgIGludCBpOworICAgIHhtbFhQYXRoT2JqZWN0UHRyIG9iajsKKworICAgIGlmIChsaXN0ID09IE5VTEwpCisJcmV0dXJuOworCisgICAgZm9yIChpID0gMDsgaSA8IGxpc3QtPm51bWJlcjsgaSsrKSB7CisJb2JqID0gbGlzdC0+aXRlbXNbaV07CisJLyoKKwkqIE5vdGUgdGhhdCBpdCBpcyBhbHJlYWR5IGFzc3VyZWQgdGhhdCB3ZSBkb24ndCBuZWVkIHRvCisJKiBsb29rIG91dCBmb3IgbmFtZXNwYWNlIG5vZGVzIGluIHRoZSBub2RlLXNldC4KKwkqLworCWlmIChvYmotPm5vZGVzZXR2YWwgIT0gTlVMTCkgeworCSAgICBpZiAob2JqLT5ub2Rlc2V0dmFsLT5ub2RlVGFiICE9IE5VTEwpCisJCXhtbEZyZWUob2JqLT5ub2Rlc2V0dmFsLT5ub2RlVGFiKTsKKwkgICAgeG1sRnJlZShvYmotPm5vZGVzZXR2YWwpOworCX0KKwl4bWxGcmVlKG9iaik7CisjaWZkZWYgWFBfREVCVUdfT0JKX1VTQUdFCisJeG1sWFBhdGhEZWJ1Z09iakNvdW50ZXJBbGwtLTsKKyNlbmRpZgorICAgIH0KKyAgICB4bWxQb2ludGVyTGlzdEZyZWUobGlzdCk7Cit9CisKK3N0YXRpYyB2b2lkCit4bWxYUGF0aEZyZWVDYWNoZSh4bWxYUGF0aENvbnRleHRDYWNoZVB0ciBjYWNoZSkKK3sKKyAgICBpZiAoY2FjaGUgPT0gTlVMTCkKKwlyZXR1cm47CisgICAgaWYgKGNhY2hlLT5ub2Rlc2V0T2JqcykKKwl4bWxYUGF0aENhY2hlRnJlZU9iamVjdExpc3QoY2FjaGUtPm5vZGVzZXRPYmpzKTsKKyAgICBpZiAoY2FjaGUtPnN0cmluZ09ianMpCisJeG1sWFBhdGhDYWNoZUZyZWVPYmplY3RMaXN0KGNhY2hlLT5zdHJpbmdPYmpzKTsKKyAgICBpZiAoY2FjaGUtPmJvb2xlYW5PYmpzKQorCXhtbFhQYXRoQ2FjaGVGcmVlT2JqZWN0TGlzdChjYWNoZS0+Ym9vbGVhbk9ianMpOworICAgIGlmIChjYWNoZS0+bnVtYmVyT2JqcykKKwl4bWxYUGF0aENhY2hlRnJlZU9iamVjdExpc3QoY2FjaGUtPm51bWJlck9ianMpOworICAgIGlmIChjYWNoZS0+bWlzY09ianMpCisJeG1sWFBhdGhDYWNoZUZyZWVPYmplY3RMaXN0KGNhY2hlLT5taXNjT2Jqcyk7CisgICAgeG1sRnJlZShjYWNoZSk7Cit9CisKKy8qKgorICogeG1sWFBhdGhDb250ZXh0U2V0Q2FjaGU6CisgKgorICogQGN0eHQ6ICB0aGUgWFBhdGggY29udGV4dAorICogQGFjdGl2ZTogZW5hYmxlcy9kaXNhYmxlcyAoY3JlYXRlcy9mcmVlcykgdGhlIGNhY2hlCisgKiBAdmFsdWU6IGEgdmFsdWUgd2l0aCBzZW1hbnRpY3MgZGVwZW5kYW50IG9uIEBvcHRpb25zCisgKiBAb3B0aW9uczogb3B0aW9ucyAoY3VycmVudGx5IG9ubHkgdGhlIHZhbHVlIDAgaXMgdXNlZCkKKyAqCisgKiBDcmVhdGVzL2ZyZWVzIGFuIG9iamVjdCBjYWNoZSBvbiB0aGUgWFBhdGggY29udGV4dC4KKyAqIElmIGFjdGl2YXRlcyBYUGF0aCBvYmplY3RzICh4bWxYUGF0aE9iamVjdCkgd2lsbCBiZSBjYWNoZWQgaW50ZXJuYWxseQorICogdG8gYmUgcmV1c2VkLgorICogQG9wdGlvbnM6CisgKiAgIDA6IFRoaXMgd2lsbCBzZXQgdGhlIFhQYXRoIG9iamVjdCBjYWNoaW5nOgorICogICAgICBAdmFsdWU6CisgKiAgICAgICAgVGhpcyB3aWxsIHNldCB0aGUgbWF4aW11bSBudW1iZXIgb2YgWFBhdGggb2JqZWN0cworICogICAgICAgIHRvIGJlIGNhY2hlZCBwZXIgc2xvdAorICogICAgICAgIFRoZXJlIGFyZSA1IHNsb3RzIGZvcjogbm9kZS1zZXQsIHN0cmluZywgbnVtYmVyLCBib29sZWFuLCBhbmQKKyAqICAgICAgICBtaXNjIG9iamVjdHMuIFVzZSA8MCBmb3IgdGhlIGRlZmF1bHQgbnVtYmVyICgxMDApLgorICogICBPdGhlciB2YWx1ZXMgZm9yIEBvcHRpb25zIGhhdmUgY3VycmVudGx5IG5vIGVmZmVjdC4KKyAqCisgKiBSZXR1cm5zIDAgaWYgdGhlIHNldHRpbmcgc3VjY2VlZGVkLCBhbmQgLTEgb24gQVBJIG9yIGludGVybmFsIGVycm9ycy4KKyAqLworaW50Cit4bWxYUGF0aENvbnRleHRTZXRDYWNoZSh4bWxYUGF0aENvbnRleHRQdHIgY3R4dCwKKwkJCWludCBhY3RpdmUsCisJCQlpbnQgdmFsdWUsCisJCQlpbnQgb3B0aW9ucykKK3sKKyAgICBpZiAoY3R4dCA9PSBOVUxMKQorCXJldHVybigtMSk7CisgICAgaWYgKGFjdGl2ZSkgeworCXhtbFhQYXRoQ29udGV4dENhY2hlUHRyIGNhY2hlOworCisJaWYgKGN0eHQtPmNhY2hlID09IE5VTEwpIHsKKwkgICAgY3R4dC0+Y2FjaGUgPSB4bWxYUGF0aE5ld0NhY2hlKCk7CisJICAgIGlmIChjdHh0LT5jYWNoZSA9PSBOVUxMKQorCQlyZXR1cm4oLTEpOworCX0KKwljYWNoZSA9ICh4bWxYUGF0aENvbnRleHRDYWNoZVB0cikgY3R4dC0+Y2FjaGU7CisJaWYgKG9wdGlvbnMgPT0gMCkgeworCSAgICBpZiAodmFsdWUgPCAwKQorCQl2YWx1ZSA9IDEwMDsKKwkgICAgY2FjaGUtPm1heE5vZGVzZXQgPSB2YWx1ZTsKKwkgICAgY2FjaGUtPm1heFN0cmluZyA9IHZhbHVlOworCSAgICBjYWNoZS0+bWF4TnVtYmVyID0gdmFsdWU7CisJICAgIGNhY2hlLT5tYXhCb29sZWFuID0gdmFsdWU7CisJICAgIGNhY2hlLT5tYXhNaXNjID0gdmFsdWU7CisJfQorICAgIH0gZWxzZSBpZiAoY3R4dC0+Y2FjaGUgIT0gTlVMTCkgeworCXhtbFhQYXRoRnJlZUNhY2hlKCh4bWxYUGF0aENvbnRleHRDYWNoZVB0cikgY3R4dC0+Y2FjaGUpOworCWN0eHQtPmNhY2hlID0gTlVMTDsKKyAgICB9CisgICAgcmV0dXJuKDApOworfQorCisvKioKKyAqIHhtbFhQYXRoQ2FjaGVXcmFwTm9kZVNldDoKKyAqIEBjdHh0OiB0aGUgWFBhdGggY29udGV4dAorICogQHZhbDogIHRoZSBOb2RlUHRyIHZhbHVlCisgKgorICogVGhpcyBpcyB0aGUgY2FjaGVkIHZlcnNpb24gb2YgeG1sWFBhdGhXcmFwTm9kZVNldCgpLgorICogV3JhcCB0aGUgTm9kZXNldCBAdmFsIGluIGEgbmV3IHhtbFhQYXRoT2JqZWN0UHRyCisgKgorICogUmV0dXJucyB0aGUgY3JlYXRlZCBvciByZXVzZWQgb2JqZWN0LgorICovCitzdGF0aWMgeG1sWFBhdGhPYmplY3RQdHIKK3htbFhQYXRoQ2FjaGVXcmFwTm9kZVNldCh4bWxYUGF0aENvbnRleHRQdHIgY3R4dCwgeG1sTm9kZVNldFB0ciB2YWwpCit7CisgICAgaWYgKChjdHh0ICE9IE5VTEwpICYmIChjdHh0LT5jYWNoZSAhPSBOVUxMKSkgeworCXhtbFhQYXRoQ29udGV4dENhY2hlUHRyIGNhY2hlID0KKwkgICAgKHhtbFhQYXRoQ29udGV4dENhY2hlUHRyKSBjdHh0LT5jYWNoZTsKKworCWlmICgoY2FjaGUtPm1pc2NPYmpzICE9IE5VTEwpICYmCisJICAgIChjYWNoZS0+bWlzY09ianMtPm51bWJlciAhPSAwKSkKKwl7CisJICAgIHhtbFhQYXRoT2JqZWN0UHRyIHJldDsKKworCSAgICByZXQgPSAoeG1sWFBhdGhPYmplY3RQdHIpCisJCWNhY2hlLT5taXNjT2Jqcy0+aXRlbXNbLS1jYWNoZS0+bWlzY09ianMtPm51bWJlcl07CisJICAgIHJldC0+dHlwZSA9IFhQQVRIX05PREVTRVQ7CisJICAgIHJldC0+bm9kZXNldHZhbCA9IHZhbDsKKyNpZmRlZiBYUF9ERUJVR19PQkpfVVNBR0UKKwkgICAgeG1sWFBhdGhEZWJ1Z09ialVzYWdlUmVxdWVzdGVkKGN0eHQsIFhQQVRIX05PREVTRVQpOworI2VuZGlmCisJICAgIHJldHVybihyZXQpOworCX0KKyAgICB9CisKKyAgICByZXR1cm4oeG1sWFBhdGhXcmFwTm9kZVNldCh2YWwpKTsKKworfQorCisvKioKKyAqIHhtbFhQYXRoQ2FjaGVXcmFwU3RyaW5nOgorICogQGN0eHQ6IHRoZSBYUGF0aCBjb250ZXh0CisgKiBAdmFsOiAgdGhlIHhtbENoYXIgKiB2YWx1ZQorICoKKyAqIFRoaXMgaXMgdGhlIGNhY2hlZCB2ZXJzaW9uIG9mIHhtbFhQYXRoV3JhcFN0cmluZygpLgorICogV3JhcHMgdGhlIEB2YWwgc3RyaW5nIGludG8gYW4gWFBhdGggb2JqZWN0LgorICoKKyAqIFJldHVybnMgdGhlIGNyZWF0ZWQgb3IgcmV1c2VkIG9iamVjdC4KKyAqLworc3RhdGljIHhtbFhQYXRoT2JqZWN0UHRyCit4bWxYUGF0aENhY2hlV3JhcFN0cmluZyh4bWxYUGF0aENvbnRleHRQdHIgY3R4dCwgeG1sQ2hhciAqdmFsKQoreworICAgIGlmICgoY3R4dCAhPSBOVUxMKSAmJiAoY3R4dC0+Y2FjaGUgIT0gTlVMTCkpIHsKKwl4bWxYUGF0aENvbnRleHRDYWNoZVB0ciBjYWNoZSA9ICh4bWxYUGF0aENvbnRleHRDYWNoZVB0cikgY3R4dC0+Y2FjaGU7CisKKwlpZiAoKGNhY2hlLT5zdHJpbmdPYmpzICE9IE5VTEwpICYmCisJICAgIChjYWNoZS0+c3RyaW5nT2Jqcy0+bnVtYmVyICE9IDApKQorCXsKKworCSAgICB4bWxYUGF0aE9iamVjdFB0ciByZXQ7CisKKwkgICAgcmV0ID0gKHhtbFhQYXRoT2JqZWN0UHRyKQorCQljYWNoZS0+c3RyaW5nT2Jqcy0+aXRlbXNbLS1jYWNoZS0+c3RyaW5nT2Jqcy0+bnVtYmVyXTsKKwkgICAgcmV0LT50eXBlID0gWFBBVEhfU1RSSU5HOworCSAgICByZXQtPnN0cmluZ3ZhbCA9IHZhbDsKKyNpZmRlZiBYUF9ERUJVR19PQkpfVVNBR0UKKwkgICAgeG1sWFBhdGhEZWJ1Z09ialVzYWdlUmVxdWVzdGVkKGN0eHQsIFhQQVRIX1NUUklORyk7CisjZW5kaWYKKwkgICAgcmV0dXJuKHJldCk7CisJfSBlbHNlIGlmICgoY2FjaGUtPm1pc2NPYmpzICE9IE5VTEwpICYmCisJICAgIChjYWNoZS0+bWlzY09ianMtPm51bWJlciAhPSAwKSkKKwl7CisJICAgIHhtbFhQYXRoT2JqZWN0UHRyIHJldDsKKwkgICAgLyoKKwkgICAgKiBGYWxsYmFjayB0byBtaXNjLWNhY2hlLgorCSAgICAqLworCSAgICByZXQgPSAoeG1sWFBhdGhPYmplY3RQdHIpCisJCWNhY2hlLT5taXNjT2Jqcy0+aXRlbXNbLS1jYWNoZS0+bWlzY09ianMtPm51bWJlcl07CisKKwkgICAgcmV0LT50eXBlID0gWFBBVEhfU1RSSU5HOworCSAgICByZXQtPnN0cmluZ3ZhbCA9IHZhbDsKKyNpZmRlZiBYUF9ERUJVR19PQkpfVVNBR0UKKwkgICAgeG1sWFBhdGhEZWJ1Z09ialVzYWdlUmVxdWVzdGVkKGN0eHQsIFhQQVRIX1NUUklORyk7CisjZW5kaWYKKwkgICAgcmV0dXJuKHJldCk7CisJfQorICAgIH0KKyAgICByZXR1cm4oeG1sWFBhdGhXcmFwU3RyaW5nKHZhbCkpOworfQorCisvKioKKyAqIHhtbFhQYXRoQ2FjaGVOZXdOb2RlU2V0OgorICogQGN0eHQ6IHRoZSBYUGF0aCBjb250ZXh0CisgKiBAdmFsOiAgdGhlIE5vZGVQdHIgdmFsdWUKKyAqCisgKiBUaGlzIGlzIHRoZSBjYWNoZWQgdmVyc2lvbiBvZiB4bWxYUGF0aE5ld05vZGVTZXQoKS4KKyAqIEFjcXVpcmUgYW4geG1sWFBhdGhPYmplY3RQdHIgb2YgdHlwZSBOb2RlU2V0IGFuZCBpbml0aWFsaXplCisgKiBpdCB3aXRoIHRoZSBzaW5nbGUgTm9kZSBAdmFsCisgKgorICogUmV0dXJucyB0aGUgY3JlYXRlZCBvciByZXVzZWQgb2JqZWN0LgorICovCitzdGF0aWMgeG1sWFBhdGhPYmplY3RQdHIKK3htbFhQYXRoQ2FjaGVOZXdOb2RlU2V0KHhtbFhQYXRoQ29udGV4dFB0ciBjdHh0LCB4bWxOb2RlUHRyIHZhbCkKK3sKKyAgICBpZiAoKGN0eHQgIT0gTlVMTCkgJiYgKGN0eHQtPmNhY2hlKSkgeworCXhtbFhQYXRoQ29udGV4dENhY2hlUHRyIGNhY2hlID0gKHhtbFhQYXRoQ29udGV4dENhY2hlUHRyKSBjdHh0LT5jYWNoZTsKKworCWlmICgoY2FjaGUtPm5vZGVzZXRPYmpzICE9IE5VTEwpICYmCisJICAgIChjYWNoZS0+bm9kZXNldE9ianMtPm51bWJlciAhPSAwKSkKKwl7CisJICAgIHhtbFhQYXRoT2JqZWN0UHRyIHJldDsKKwkgICAgLyoKKwkgICAgKiBVc2UgdGhlIG5vZHNldC1jYWNoZS4KKwkgICAgKi8KKwkgICAgcmV0ID0gKHhtbFhQYXRoT2JqZWN0UHRyKQorCQljYWNoZS0+bm9kZXNldE9ianMtPml0ZW1zWy0tY2FjaGUtPm5vZGVzZXRPYmpzLT5udW1iZXJdOworCSAgICByZXQtPnR5cGUgPSBYUEFUSF9OT0RFU0VUOworCSAgICByZXQtPmJvb2x2YWwgPSAwOworCSAgICBpZiAodmFsKSB7CisJCWlmICgocmV0LT5ub2Rlc2V0dmFsLT5ub2RlTWF4ID09IDApIHx8CisJCSAgICAodmFsLT50eXBlID09IFhNTF9OQU1FU1BBQ0VfREVDTCkpCisJCXsKKwkJICAgIHhtbFhQYXRoTm9kZVNldEFkZFVuaXF1ZShyZXQtPm5vZGVzZXR2YWwsIHZhbCk7CisJCX0gZWxzZSB7CisJCSAgICByZXQtPm5vZGVzZXR2YWwtPm5vZGVUYWJbMF0gPSB2YWw7CisJCSAgICByZXQtPm5vZGVzZXR2YWwtPm5vZGVOciA9IDE7CisJCX0KKwkgICAgfQorI2lmZGVmIFhQX0RFQlVHX09CSl9VU0FHRQorCSAgICB4bWxYUGF0aERlYnVnT2JqVXNhZ2VSZXF1ZXN0ZWQoY3R4dCwgWFBBVEhfTk9ERVNFVCk7CisjZW5kaWYKKwkgICAgcmV0dXJuKHJldCk7CisJfSBlbHNlIGlmICgoY2FjaGUtPm1pc2NPYmpzICE9IE5VTEwpICYmCisJICAgIChjYWNoZS0+bWlzY09ianMtPm51bWJlciAhPSAwKSkKKwl7CisJICAgIHhtbFhQYXRoT2JqZWN0UHRyIHJldDsKKwkgICAgLyoKKwkgICAgKiBGYWxsYmFjayB0byBtaXNjLWNhY2hlLgorCSAgICAqLworCisJICAgIHJldCA9ICh4bWxYUGF0aE9iamVjdFB0cikKKwkJY2FjaGUtPm1pc2NPYmpzLT5pdGVtc1stLWNhY2hlLT5taXNjT2Jqcy0+bnVtYmVyXTsKKworCSAgICByZXQtPnR5cGUgPSBYUEFUSF9OT0RFU0VUOworCSAgICByZXQtPmJvb2x2YWwgPSAwOworCSAgICByZXQtPm5vZGVzZXR2YWwgPSB4bWxYUGF0aE5vZGVTZXRDcmVhdGUodmFsKTsKKwkgICAgaWYgKHJldC0+bm9kZXNldHZhbCA9PSBOVUxMKSB7CisJCWN0eHQtPmxhc3RFcnJvci5kb21haW4gPSBYTUxfRlJPTV9YUEFUSDsKKwkJY3R4dC0+bGFzdEVycm9yLmNvZGUgPSBYTUxfRVJSX05PX01FTU9SWTsKKwkJcmV0dXJuKE5VTEwpOworCSAgICB9CisjaWZkZWYgWFBfREVCVUdfT0JKX1VTQUdFCisJICAgIHhtbFhQYXRoRGVidWdPYmpVc2FnZVJlcXVlc3RlZChjdHh0LCBYUEFUSF9OT0RFU0VUKTsKKyNlbmRpZgorCSAgICByZXR1cm4ocmV0KTsKKwl9CisgICAgfQorICAgIHJldHVybih4bWxYUGF0aE5ld05vZGVTZXQodmFsKSk7Cit9CisKKy8qKgorICogeG1sWFBhdGhDYWNoZU5ld0NTdHJpbmc6CisgKiBAY3R4dDogdGhlIFhQYXRoIGNvbnRleHQKKyAqIEB2YWw6ICB0aGUgY2hhciAqIHZhbHVlCisgKgorICogVGhpcyBpcyB0aGUgY2FjaGVkIHZlcnNpb24gb2YgeG1sWFBhdGhOZXdDU3RyaW5nKCkuCisgKiBBY3F1aXJlIGFuIHhtbFhQYXRoT2JqZWN0UHRyIG9mIHR5cGUgc3RyaW5nIGFuZCBvZiB2YWx1ZSBAdmFsCisgKgorICogUmV0dXJucyB0aGUgY3JlYXRlZCBvciByZXVzZWQgb2JqZWN0LgorICovCitzdGF0aWMgeG1sWFBhdGhPYmplY3RQdHIKK3htbFhQYXRoQ2FjaGVOZXdDU3RyaW5nKHhtbFhQYXRoQ29udGV4dFB0ciBjdHh0LCBjb25zdCBjaGFyICp2YWwpCit7CisgICAgaWYgKChjdHh0ICE9IE5VTEwpICYmIChjdHh0LT5jYWNoZSkpIHsKKwl4bWxYUGF0aENvbnRleHRDYWNoZVB0ciBjYWNoZSA9ICh4bWxYUGF0aENvbnRleHRDYWNoZVB0cikgY3R4dC0+Y2FjaGU7CisKKwlpZiAoKGNhY2hlLT5zdHJpbmdPYmpzICE9IE5VTEwpICYmCisJICAgIChjYWNoZS0+c3RyaW5nT2Jqcy0+bnVtYmVyICE9IDApKQorCXsKKwkgICAgeG1sWFBhdGhPYmplY3RQdHIgcmV0OworCisJICAgIHJldCA9ICh4bWxYUGF0aE9iamVjdFB0cikKKwkJY2FjaGUtPnN0cmluZ09ianMtPml0ZW1zWy0tY2FjaGUtPnN0cmluZ09ianMtPm51bWJlcl07CisKKwkgICAgcmV0LT50eXBlID0gWFBBVEhfU1RSSU5HOworCSAgICByZXQtPnN0cmluZ3ZhbCA9IHhtbFN0cmR1cChCQURfQ0FTVCB2YWwpOworI2lmZGVmIFhQX0RFQlVHX09CSl9VU0FHRQorCSAgICB4bWxYUGF0aERlYnVnT2JqVXNhZ2VSZXF1ZXN0ZWQoY3R4dCwgWFBBVEhfU1RSSU5HKTsKKyNlbmRpZgorCSAgICByZXR1cm4ocmV0KTsKKwl9IGVsc2UgaWYgKChjYWNoZS0+bWlzY09ianMgIT0gTlVMTCkgJiYKKwkgICAgKGNhY2hlLT5taXNjT2Jqcy0+bnVtYmVyICE9IDApKQorCXsKKwkgICAgeG1sWFBhdGhPYmplY3RQdHIgcmV0OworCisJICAgIHJldCA9ICh4bWxYUGF0aE9iamVjdFB0cikKKwkJY2FjaGUtPm1pc2NPYmpzLT5pdGVtc1stLWNhY2hlLT5taXNjT2Jqcy0+bnVtYmVyXTsKKworCSAgICByZXQtPnR5cGUgPSBYUEFUSF9TVFJJTkc7CisJICAgIHJldC0+c3RyaW5ndmFsID0geG1sU3RyZHVwKEJBRF9DQVNUIHZhbCk7CisjaWZkZWYgWFBfREVCVUdfT0JKX1VTQUdFCisJICAgIHhtbFhQYXRoRGVidWdPYmpVc2FnZVJlcXVlc3RlZChjdHh0LCBYUEFUSF9TVFJJTkcpOworI2VuZGlmCisJICAgIHJldHVybihyZXQpOworCX0KKyAgICB9CisgICAgcmV0dXJuKHhtbFhQYXRoTmV3Q1N0cmluZyh2YWwpKTsKK30KKworLyoqCisgKiB4bWxYUGF0aENhY2hlTmV3U3RyaW5nOgorICogQGN0eHQ6IHRoZSBYUGF0aCBjb250ZXh0CisgKiBAdmFsOiAgdGhlIHhtbENoYXIgKiB2YWx1ZQorICoKKyAqIFRoaXMgaXMgdGhlIGNhY2hlZCB2ZXJzaW9uIG9mIHhtbFhQYXRoTmV3U3RyaW5nKCkuCisgKiBBY3F1aXJlIGFuIHhtbFhQYXRoT2JqZWN0UHRyIG9mIHR5cGUgc3RyaW5nIGFuZCBvZiB2YWx1ZSBAdmFsCisgKgorICogUmV0dXJucyB0aGUgY3JlYXRlZCBvciByZXVzZWQgb2JqZWN0LgorICovCitzdGF0aWMgeG1sWFBhdGhPYmplY3RQdHIKK3htbFhQYXRoQ2FjaGVOZXdTdHJpbmcoeG1sWFBhdGhDb250ZXh0UHRyIGN0eHQsIGNvbnN0IHhtbENoYXIgKnZhbCkKK3sKKyAgICBpZiAoKGN0eHQgIT0gTlVMTCkgJiYgKGN0eHQtPmNhY2hlKSkgeworCXhtbFhQYXRoQ29udGV4dENhY2hlUHRyIGNhY2hlID0gKHhtbFhQYXRoQ29udGV4dENhY2hlUHRyKSBjdHh0LT5jYWNoZTsKKworCWlmICgoY2FjaGUtPnN0cmluZ09ianMgIT0gTlVMTCkgJiYKKwkgICAgKGNhY2hlLT5zdHJpbmdPYmpzLT5udW1iZXIgIT0gMCkpCisJeworCSAgICB4bWxYUGF0aE9iamVjdFB0ciByZXQ7CisKKwkgICAgcmV0ID0gKHhtbFhQYXRoT2JqZWN0UHRyKQorCQljYWNoZS0+c3RyaW5nT2Jqcy0+aXRlbXNbLS1jYWNoZS0+c3RyaW5nT2Jqcy0+bnVtYmVyXTsKKwkgICAgcmV0LT50eXBlID0gWFBBVEhfU1RSSU5HOworCSAgICBpZiAodmFsICE9IE5VTEwpCisJCXJldC0+c3RyaW5ndmFsID0geG1sU3RyZHVwKHZhbCk7CisJICAgIGVsc2UKKwkJcmV0LT5zdHJpbmd2YWwgPSB4bWxTdHJkdXAoKGNvbnN0IHhtbENoYXIgKikiIik7CisjaWZkZWYgWFBfREVCVUdfT0JKX1VTQUdFCisJICAgIHhtbFhQYXRoRGVidWdPYmpVc2FnZVJlcXVlc3RlZChjdHh0LCBYUEFUSF9TVFJJTkcpOworI2VuZGlmCisJICAgIHJldHVybihyZXQpOworCX0gZWxzZSBpZiAoKGNhY2hlLT5taXNjT2JqcyAhPSBOVUxMKSAmJgorCSAgICAoY2FjaGUtPm1pc2NPYmpzLT5udW1iZXIgIT0gMCkpCisJeworCSAgICB4bWxYUGF0aE9iamVjdFB0ciByZXQ7CisKKwkgICAgcmV0ID0gKHhtbFhQYXRoT2JqZWN0UHRyKQorCQljYWNoZS0+bWlzY09ianMtPml0ZW1zWy0tY2FjaGUtPm1pc2NPYmpzLT5udW1iZXJdOworCisJICAgIHJldC0+dHlwZSA9IFhQQVRIX1NUUklORzsKKwkgICAgaWYgKHZhbCAhPSBOVUxMKQorCQlyZXQtPnN0cmluZ3ZhbCA9IHhtbFN0cmR1cCh2YWwpOworCSAgICBlbHNlCisJCXJldC0+c3RyaW5ndmFsID0geG1sU3RyZHVwKChjb25zdCB4bWxDaGFyICopIiIpOworI2lmZGVmIFhQX0RFQlVHX09CSl9VU0FHRQorCSAgICB4bWxYUGF0aERlYnVnT2JqVXNhZ2VSZXF1ZXN0ZWQoY3R4dCwgWFBBVEhfU1RSSU5HKTsKKyNlbmRpZgorCSAgICByZXR1cm4ocmV0KTsKKwl9CisgICAgfQorICAgIHJldHVybih4bWxYUGF0aE5ld1N0cmluZyh2YWwpKTsKK30KKworLyoqCisgKiB4bWxYUGF0aENhY2hlTmV3Qm9vbGVhbjoKKyAqIEBjdHh0OiB0aGUgWFBhdGggY29udGV4dAorICogQHZhbDogIHRoZSBib29sZWFuIHZhbHVlCisgKgorICogVGhpcyBpcyB0aGUgY2FjaGVkIHZlcnNpb24gb2YgeG1sWFBhdGhOZXdCb29sZWFuKCkuCisgKiBBY3F1aXJlcyBhbiB4bWxYUGF0aE9iamVjdFB0ciBvZiB0eXBlIGJvb2xlYW4gYW5kIG9mIHZhbHVlIEB2YWwKKyAqCisgKiBSZXR1cm5zIHRoZSBjcmVhdGVkIG9yIHJldXNlZCBvYmplY3QuCisgKi8KK3N0YXRpYyB4bWxYUGF0aE9iamVjdFB0cgoreG1sWFBhdGhDYWNoZU5ld0Jvb2xlYW4oeG1sWFBhdGhDb250ZXh0UHRyIGN0eHQsIGludCB2YWwpCit7CisgICAgaWYgKChjdHh0ICE9IE5VTEwpICYmIChjdHh0LT5jYWNoZSkpIHsKKwl4bWxYUGF0aENvbnRleHRDYWNoZVB0ciBjYWNoZSA9ICh4bWxYUGF0aENvbnRleHRDYWNoZVB0cikgY3R4dC0+Y2FjaGU7CisKKwlpZiAoKGNhY2hlLT5ib29sZWFuT2JqcyAhPSBOVUxMKSAmJgorCSAgICAoY2FjaGUtPmJvb2xlYW5PYmpzLT5udW1iZXIgIT0gMCkpCisJeworCSAgICB4bWxYUGF0aE9iamVjdFB0ciByZXQ7CisKKwkgICAgcmV0ID0gKHhtbFhQYXRoT2JqZWN0UHRyKQorCQljYWNoZS0+Ym9vbGVhbk9ianMtPml0ZW1zWy0tY2FjaGUtPmJvb2xlYW5PYmpzLT5udW1iZXJdOworCSAgICByZXQtPnR5cGUgPSBYUEFUSF9CT09MRUFOOworCSAgICByZXQtPmJvb2x2YWwgPSAodmFsICE9IDApOworI2lmZGVmIFhQX0RFQlVHX09CSl9VU0FHRQorCSAgICB4bWxYUGF0aERlYnVnT2JqVXNhZ2VSZXF1ZXN0ZWQoY3R4dCwgWFBBVEhfQk9PTEVBTik7CisjZW5kaWYKKwkgICAgcmV0dXJuKHJldCk7CisJfSBlbHNlIGlmICgoY2FjaGUtPm1pc2NPYmpzICE9IE5VTEwpICYmCisJICAgIChjYWNoZS0+bWlzY09ianMtPm51bWJlciAhPSAwKSkKKwl7CisJICAgIHhtbFhQYXRoT2JqZWN0UHRyIHJldDsKKworCSAgICByZXQgPSAoeG1sWFBhdGhPYmplY3RQdHIpCisJCWNhY2hlLT5taXNjT2Jqcy0+aXRlbXNbLS1jYWNoZS0+bWlzY09ianMtPm51bWJlcl07CisKKwkgICAgcmV0LT50eXBlID0gWFBBVEhfQk9PTEVBTjsKKwkgICAgcmV0LT5ib29sdmFsID0gKHZhbCAhPSAwKTsKKyNpZmRlZiBYUF9ERUJVR19PQkpfVVNBR0UKKwkgICAgeG1sWFBhdGhEZWJ1Z09ialVzYWdlUmVxdWVzdGVkKGN0eHQsIFhQQVRIX0JPT0xFQU4pOworI2VuZGlmCisJICAgIHJldHVybihyZXQpOworCX0KKyAgICB9CisgICAgcmV0dXJuKHhtbFhQYXRoTmV3Qm9vbGVhbih2YWwpKTsKK30KKworLyoqCisgKiB4bWxYUGF0aENhY2hlTmV3RmxvYXQ6CisgKiBAY3R4dDogdGhlIFhQYXRoIGNvbnRleHQKKyAqIEB2YWw6ICB0aGUgZG91YmxlIHZhbHVlCisgKgorICogVGhpcyBpcyB0aGUgY2FjaGVkIHZlcnNpb24gb2YgeG1sWFBhdGhOZXdGbG9hdCgpLgorICogQWNxdWlyZXMgYW4geG1sWFBhdGhPYmplY3RQdHIgb2YgdHlwZSBkb3VibGUgYW5kIG9mIHZhbHVlIEB2YWwKKyAqCisgKiBSZXR1cm5zIHRoZSBjcmVhdGVkIG9yIHJldXNlZCBvYmplY3QuCisgKi8KK3N0YXRpYyB4bWxYUGF0aE9iamVjdFB0cgoreG1sWFBhdGhDYWNoZU5ld0Zsb2F0KHhtbFhQYXRoQ29udGV4dFB0ciBjdHh0LCBkb3VibGUgdmFsKQoreworICAgICBpZiAoKGN0eHQgIT0gTlVMTCkgJiYgKGN0eHQtPmNhY2hlKSkgeworCXhtbFhQYXRoQ29udGV4dENhY2hlUHRyIGNhY2hlID0gKHhtbFhQYXRoQ29udGV4dENhY2hlUHRyKSBjdHh0LT5jYWNoZTsKKworCWlmICgoY2FjaGUtPm51bWJlck9ianMgIT0gTlVMTCkgJiYKKwkgICAgKGNhY2hlLT5udW1iZXJPYmpzLT5udW1iZXIgIT0gMCkpCisJeworCSAgICB4bWxYUGF0aE9iamVjdFB0ciByZXQ7CisKKwkgICAgcmV0ID0gKHhtbFhQYXRoT2JqZWN0UHRyKQorCQljYWNoZS0+bnVtYmVyT2Jqcy0+aXRlbXNbLS1jYWNoZS0+bnVtYmVyT2Jqcy0+bnVtYmVyXTsKKwkgICAgcmV0LT50eXBlID0gWFBBVEhfTlVNQkVSOworCSAgICByZXQtPmZsb2F0dmFsID0gdmFsOworI2lmZGVmIFhQX0RFQlVHX09CSl9VU0FHRQorCSAgICB4bWxYUGF0aERlYnVnT2JqVXNhZ2VSZXF1ZXN0ZWQoY3R4dCwgWFBBVEhfTlVNQkVSKTsKKyNlbmRpZgorCSAgICByZXR1cm4ocmV0KTsKKwl9IGVsc2UgaWYgKChjYWNoZS0+bWlzY09ianMgIT0gTlVMTCkgJiYKKwkgICAgKGNhY2hlLT5taXNjT2Jqcy0+bnVtYmVyICE9IDApKQorCXsKKwkgICAgeG1sWFBhdGhPYmplY3RQdHIgcmV0OworCisJICAgIHJldCA9ICh4bWxYUGF0aE9iamVjdFB0cikKKwkJY2FjaGUtPm1pc2NPYmpzLT5pdGVtc1stLWNhY2hlLT5taXNjT2Jqcy0+bnVtYmVyXTsKKworCSAgICByZXQtPnR5cGUgPSBYUEFUSF9OVU1CRVI7CisJICAgIHJldC0+ZmxvYXR2YWwgPSB2YWw7CisjaWZkZWYgWFBfREVCVUdfT0JKX1VTQUdFCisJICAgIHhtbFhQYXRoRGVidWdPYmpVc2FnZVJlcXVlc3RlZChjdHh0LCBYUEFUSF9OVU1CRVIpOworI2VuZGlmCisJICAgIHJldHVybihyZXQpOworCX0KKyAgICB9CisgICAgcmV0dXJuKHhtbFhQYXRoTmV3RmxvYXQodmFsKSk7Cit9CisKKy8qKgorICogeG1sWFBhdGhDYWNoZUNvbnZlcnRTdHJpbmc6CisgKiBAY3R4dDogdGhlIFhQYXRoIGNvbnRleHQKKyAqIEB2YWw6ICBhbiBYUGF0aCBvYmplY3QKKyAqCisgKiBUaGlzIGlzIHRoZSBjYWNoZWQgdmVyc2lvbiBvZiB4bWxYUGF0aENvbnZlcnRTdHJpbmcoKS4KKyAqIENvbnZlcnRzIGFuIGV4aXN0aW5nIG9iamVjdCB0byBpdHMgc3RyaW5nKCkgZXF1aXZhbGVudAorICoKKyAqIFJldHVybnMgYSBjcmVhdGVkIG9yIHJldXNlZCBvYmplY3QsIHRoZSBvbGQgb25lIGlzIGZyZWVkIChjYWNoZWQpCisgKiAgICAgICAgIChvciB0aGUgb3BlcmF0aW9uIGlzIGRvbmUgZGlyZWN0bHkgb24gQHZhbCkKKyAqLworCitzdGF0aWMgeG1sWFBhdGhPYmplY3RQdHIKK3htbFhQYXRoQ2FjaGVDb252ZXJ0U3RyaW5nKHhtbFhQYXRoQ29udGV4dFB0ciBjdHh0LCB4bWxYUGF0aE9iamVjdFB0ciB2YWwpIHsKKyAgICB4bWxDaGFyICpyZXMgPSBOVUxMOworCisgICAgaWYgKHZhbCA9PSBOVUxMKQorCXJldHVybih4bWxYUGF0aENhY2hlTmV3Q1N0cmluZyhjdHh0LCAiIikpOworCisgICAgc3dpdGNoICh2YWwtPnR5cGUpIHsKKyAgICBjYXNlIFhQQVRIX1VOREVGSU5FRDoKKyNpZmRlZiBERUJVR19FWFBSCisJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICJTVFJJTkc6IHVuZGVmaW5lZFxuIik7CisjZW5kaWYKKwlicmVhazsKKyAgICBjYXNlIFhQQVRIX05PREVTRVQ6CisgICAgY2FzZSBYUEFUSF9YU0xUX1RSRUU6CisJcmVzID0geG1sWFBhdGhDYXN0Tm9kZVNldFRvU3RyaW5nKHZhbC0+bm9kZXNldHZhbCk7CisJYnJlYWs7CisgICAgY2FzZSBYUEFUSF9TVFJJTkc6CisJcmV0dXJuKHZhbCk7CisgICAgY2FzZSBYUEFUSF9CT09MRUFOOgorCXJlcyA9IHhtbFhQYXRoQ2FzdEJvb2xlYW5Ub1N0cmluZyh2YWwtPmJvb2x2YWwpOworCWJyZWFrOworICAgIGNhc2UgWFBBVEhfTlVNQkVSOgorCXJlcyA9IHhtbFhQYXRoQ2FzdE51bWJlclRvU3RyaW5nKHZhbC0+ZmxvYXR2YWwpOworCWJyZWFrOworICAgIGNhc2UgWFBBVEhfVVNFUlM6CisgICAgY2FzZSBYUEFUSF9QT0lOVDoKKyAgICBjYXNlIFhQQVRIX1JBTkdFOgorICAgIGNhc2UgWFBBVEhfTE9DQVRJT05TRVQ6CisJVE9ETzsKKwlicmVhazsKKyAgICB9CisgICAgeG1sWFBhdGhSZWxlYXNlT2JqZWN0KGN0eHQsIHZhbCk7CisgICAgaWYgKHJlcyA9PSBOVUxMKQorCXJldHVybih4bWxYUGF0aENhY2hlTmV3Q1N0cmluZyhjdHh0LCAiIikpOworICAgIHJldHVybih4bWxYUGF0aENhY2hlV3JhcFN0cmluZyhjdHh0LCByZXMpKTsKK30KKworLyoqCisgKiB4bWxYUGF0aENhY2hlT2JqZWN0Q29weToKKyAqIEBjdHh0OiB0aGUgWFBhdGggY29udGV4dAorICogQHZhbDogIHRoZSBvcmlnaW5hbCBvYmplY3QKKyAqCisgKiBUaGlzIGlzIHRoZSBjYWNoZWQgdmVyc2lvbiBvZiB4bWxYUGF0aE9iamVjdENvcHkoKS4KKyAqIEFjcXVpcmUgYSBjb3B5IG9mIGEgZ2l2ZW4gb2JqZWN0CisgKgorICogUmV0dXJucyBhIGNyZWF0ZWQgb3IgcmV1c2VkIGNyZWF0ZWQgb2JqZWN0LgorICovCitzdGF0aWMgeG1sWFBhdGhPYmplY3RQdHIKK3htbFhQYXRoQ2FjaGVPYmplY3RDb3B5KHhtbFhQYXRoQ29udGV4dFB0ciBjdHh0LCB4bWxYUGF0aE9iamVjdFB0ciB2YWwpCit7CisgICAgaWYgKHZhbCA9PSBOVUxMKQorCXJldHVybihOVUxMKTsKKworICAgIGlmIChYUF9IQVNfQ0FDSEUoY3R4dCkpIHsKKwlzd2l0Y2ggKHZhbC0+dHlwZSkgeworCSAgICBjYXNlIFhQQVRIX05PREVTRVQ6CisJCXJldHVybih4bWxYUGF0aENhY2hlV3JhcE5vZGVTZXQoY3R4dCwKKwkJICAgIHhtbFhQYXRoTm9kZVNldE1lcmdlKE5VTEwsIHZhbC0+bm9kZXNldHZhbCkpKTsKKwkgICAgY2FzZSBYUEFUSF9TVFJJTkc6CisJCXJldHVybih4bWxYUGF0aENhY2hlTmV3U3RyaW5nKGN0eHQsIHZhbC0+c3RyaW5ndmFsKSk7CisJICAgIGNhc2UgWFBBVEhfQk9PTEVBTjoKKwkJcmV0dXJuKHhtbFhQYXRoQ2FjaGVOZXdCb29sZWFuKGN0eHQsIHZhbC0+Ym9vbHZhbCkpOworCSAgICBjYXNlIFhQQVRIX05VTUJFUjoKKwkJcmV0dXJuKHhtbFhQYXRoQ2FjaGVOZXdGbG9hdChjdHh0LCB2YWwtPmZsb2F0dmFsKSk7CisJICAgIGRlZmF1bHQ6CisJCWJyZWFrOworCX0KKyAgICB9CisgICAgcmV0dXJuKHhtbFhQYXRoT2JqZWN0Q29weSh2YWwpKTsKK30KKworLyoqCisgKiB4bWxYUGF0aENhY2hlQ29udmVydEJvb2xlYW46CisgKiBAY3R4dDogdGhlIFhQYXRoIGNvbnRleHQKKyAqIEB2YWw6ICBhbiBYUGF0aCBvYmplY3QKKyAqCisgKiBUaGlzIGlzIHRoZSBjYWNoZWQgdmVyc2lvbiBvZiB4bWxYUGF0aENvbnZlcnRCb29sZWFuKCkuCisgKiBDb252ZXJ0cyBhbiBleGlzdGluZyBvYmplY3QgdG8gaXRzIGJvb2xlYW4oKSBlcXVpdmFsZW50CisgKgorICogUmV0dXJucyBhIGNyZWF0ZWQgb3IgcmV1c2VkIG9iamVjdCwgdGhlIG9sZCBvbmUgaXMgZnJlZWQgKG9yIHRoZSBvcGVyYXRpb24KKyAqICAgICAgICAgaXMgZG9uZSBkaXJlY3RseSBvbiBAdmFsKQorICovCitzdGF0aWMgeG1sWFBhdGhPYmplY3RQdHIKK3htbFhQYXRoQ2FjaGVDb252ZXJ0Qm9vbGVhbih4bWxYUGF0aENvbnRleHRQdHIgY3R4dCwgeG1sWFBhdGhPYmplY3RQdHIgdmFsKSB7CisgICAgeG1sWFBhdGhPYmplY3RQdHIgcmV0OworCisgICAgaWYgKHZhbCA9PSBOVUxMKQorCXJldHVybih4bWxYUGF0aENhY2hlTmV3Qm9vbGVhbihjdHh0LCAwKSk7CisgICAgaWYgKHZhbC0+dHlwZSA9PSBYUEFUSF9CT09MRUFOKQorCXJldHVybih2YWwpOworICAgIHJldCA9IHhtbFhQYXRoQ2FjaGVOZXdCb29sZWFuKGN0eHQsIHhtbFhQYXRoQ2FzdFRvQm9vbGVhbih2YWwpKTsKKyAgICB4bWxYUGF0aFJlbGVhc2VPYmplY3QoY3R4dCwgdmFsKTsKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxYUGF0aENhY2hlQ29udmVydE51bWJlcjoKKyAqIEBjdHh0OiB0aGUgWFBhdGggY29udGV4dAorICogQHZhbDogIGFuIFhQYXRoIG9iamVjdAorICoKKyAqIFRoaXMgaXMgdGhlIGNhY2hlZCB2ZXJzaW9uIG9mIHhtbFhQYXRoQ29udmVydE51bWJlcigpLgorICogQ29udmVydHMgYW4gZXhpc3Rpbmcgb2JqZWN0IHRvIGl0cyBudW1iZXIoKSBlcXVpdmFsZW50CisgKgorICogUmV0dXJucyBhIGNyZWF0ZWQgb3IgcmV1c2VkIG9iamVjdCwgdGhlIG9sZCBvbmUgaXMgZnJlZWQgKG9yIHRoZSBvcGVyYXRpb24KKyAqICAgICAgICAgaXMgZG9uZSBkaXJlY3RseSBvbiBAdmFsKQorICovCitzdGF0aWMgeG1sWFBhdGhPYmplY3RQdHIKK3htbFhQYXRoQ2FjaGVDb252ZXJ0TnVtYmVyKHhtbFhQYXRoQ29udGV4dFB0ciBjdHh0LCB4bWxYUGF0aE9iamVjdFB0ciB2YWwpIHsKKyAgICB4bWxYUGF0aE9iamVjdFB0ciByZXQ7CisKKyAgICBpZiAodmFsID09IE5VTEwpCisJcmV0dXJuKHhtbFhQYXRoQ2FjaGVOZXdGbG9hdChjdHh0LCAwLjApKTsKKyAgICBpZiAodmFsLT50eXBlID09IFhQQVRIX05VTUJFUikKKwlyZXR1cm4odmFsKTsKKyAgICByZXQgPSB4bWxYUGF0aENhY2hlTmV3RmxvYXQoY3R4dCwgeG1sWFBhdGhDYXN0VG9OdW1iZXIodmFsKSk7CisgICAgeG1sWFBhdGhSZWxlYXNlT2JqZWN0KGN0eHQsIHZhbCk7CisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCVBhcnNlciBzdGFja3MgcmVsYXRlZCBmdW5jdGlvbnMgYW5kIG1hY3JvcwkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioKKyAqIHhtbFhQYXRoU2V0RnJhbWU6CisgKiBAY3R4dDogYW4gWFBhdGggcGFyc2VyIGNvbnRleHQKKyAqCisgKiBTZXQgdGhlIGNhbGxlZSBldmFsdWF0aW9uIGZyYW1lCisgKgorICogUmV0dXJucyB0aGUgcHJldmlvdXMgZnJhbWUgdmFsdWUgdG8gYmUgcmVzdG9yZWQgb25jZSBkb25lCisgKi8KK3N0YXRpYyBpbnQKK3htbFhQYXRoU2V0RnJhbWUoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQpIHsKKyAgICBpbnQgcmV0OworCisgICAgaWYgKGN0eHQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuKDApOworICAgIHJldCA9IGN0eHQtPnZhbHVlRnJhbWU7CisgICAgY3R4dC0+dmFsdWVGcmFtZSA9IGN0eHQtPnZhbHVlTnI7CisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogeG1sWFBhdGhQb3BGcmFtZToKKyAqIEBjdHh0OiBhbiBYUGF0aCBwYXJzZXIgY29udGV4dAorICogQGZyYW1lOiB0aGUgcHJldmlvdXMgZnJhbWUgdmFsdWUKKyAqCisgKiBSZW1vdmUgdGhlIGNhbGxlZSBldmFsdWF0aW9uIGZyYW1lCisgKi8KK3N0YXRpYyB2b2lkCit4bWxYUGF0aFBvcEZyYW1lKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0LCBpbnQgZnJhbWUpIHsKKyAgICBpZiAoY3R4dCA9PSBOVUxMKQorICAgICAgICByZXR1cm47CisgICAgaWYgKGN0eHQtPnZhbHVlTnIgPCBjdHh0LT52YWx1ZUZyYW1lKSB7CisgICAgICAgIHhtbFhQYXRoZXJyb3IoY3R4dCwgX19GSUxFX18sIF9fTElORV9fLCBYUEFUSF9TVEFDS19FUlJPUik7CisgICAgfQorICAgIGN0eHQtPnZhbHVlRnJhbWUgPSBmcmFtZTsKK30KKworLyoqCisgKiB2YWx1ZVBvcDoKKyAqIEBjdHh0OiBhbiBYUGF0aCBldmFsdWF0aW9uIGNvbnRleHQKKyAqCisgKiBQb3BzIHRoZSB0b3AgWFBhdGggb2JqZWN0IGZyb20gdGhlIHZhbHVlIHN0YWNrCisgKgorICogUmV0dXJucyB0aGUgWFBhdGggb2JqZWN0IGp1c3QgcmVtb3ZlZAorICovCit4bWxYUGF0aE9iamVjdFB0cgordmFsdWVQb3AoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQpCit7CisgICAgeG1sWFBhdGhPYmplY3RQdHIgcmV0OworCisgICAgaWYgKChjdHh0ID09IE5VTEwpIHx8IChjdHh0LT52YWx1ZU5yIDw9IDApKQorICAgICAgICByZXR1cm4gKE5VTEwpOworCisgICAgaWYgKGN0eHQtPnZhbHVlTnIgPD0gY3R4dC0+dmFsdWVGcmFtZSkgeworICAgICAgICB4bWxYUGF0aGVycm9yKGN0eHQsIF9fRklMRV9fLCBfX0xJTkVfXywgWFBBVEhfU1RBQ0tfRVJST1IpOworICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIH0KKworICAgIGN0eHQtPnZhbHVlTnItLTsKKyAgICBpZiAoY3R4dC0+dmFsdWVOciA+IDApCisgICAgICAgIGN0eHQtPnZhbHVlID0gY3R4dC0+dmFsdWVUYWJbY3R4dC0+dmFsdWVOciAtIDFdOworICAgIGVsc2UKKyAgICAgICAgY3R4dC0+dmFsdWUgPSBOVUxMOworICAgIHJldCA9IGN0eHQtPnZhbHVlVGFiW2N0eHQtPnZhbHVlTnJdOworICAgIGN0eHQtPnZhbHVlVGFiW2N0eHQtPnZhbHVlTnJdID0gTlVMTDsKKyAgICByZXR1cm4gKHJldCk7Cit9CisvKioKKyAqIHZhbHVlUHVzaDoKKyAqIEBjdHh0OiAgYW4gWFBhdGggZXZhbHVhdGlvbiBjb250ZXh0CisgKiBAdmFsdWU6ICB0aGUgWFBhdGggb2JqZWN0CisgKgorICogUHVzaGVzIGEgbmV3IFhQYXRoIG9iamVjdCBvbiB0b3Agb2YgdGhlIHZhbHVlIHN0YWNrCisgKgorICogcmV0dXJucyB0aGUgbnVtYmVyIG9mIGl0ZW1zIG9uIHRoZSB2YWx1ZSBzdGFjaworICovCitpbnQKK3ZhbHVlUHVzaCh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCwgeG1sWFBhdGhPYmplY3RQdHIgdmFsdWUpCit7CisgICAgaWYgKChjdHh0ID09IE5VTEwpIHx8ICh2YWx1ZSA9PSBOVUxMKSkgcmV0dXJuKC0xKTsKKyAgICBpZiAoY3R4dC0+dmFsdWVOciA+PSBjdHh0LT52YWx1ZU1heCkgeworICAgICAgICB4bWxYUGF0aE9iamVjdFB0ciAqdG1wOworCisgICAgICAgIGlmIChjdHh0LT52YWx1ZU1heCA+PSBYUEFUSF9NQVhfU1RBQ0tfREVQVEgpIHsKKyAgICAgICAgICAgIHhtbFhQYXRoRXJyTWVtb3J5KE5VTEwsICJYUGF0aCBzdGFjayBkZXB0aCBsaW1pdCByZWFjaGVkXG4iKTsKKyAgICAgICAgICAgIGN0eHQtPmVycm9yID0gWFBBVEhfTUVNT1JZX0VSUk9SOworICAgICAgICAgICAgcmV0dXJuICgwKTsKKyAgICAgICAgfQorICAgICAgICB0bXAgPSAoeG1sWFBhdGhPYmplY3RQdHIgKikgeG1sUmVhbGxvYyhjdHh0LT52YWx1ZVRhYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIgKiBjdHh0LT52YWx1ZU1heCAqCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoY3R4dC0+dmFsdWVUYWJbMF0pKTsKKyAgICAgICAgaWYgKHRtcCA9PSBOVUxMKSB7CisgICAgICAgICAgICB4bWxYUGF0aEVyck1lbW9yeShOVUxMLCAicHVzaGluZyB2YWx1ZVxuIik7CisgICAgICAgICAgICBjdHh0LT5lcnJvciA9IFhQQVRIX01FTU9SWV9FUlJPUjsKKyAgICAgICAgICAgIHJldHVybiAoMCk7CisgICAgICAgIH0KKyAgICAgICAgY3R4dC0+dmFsdWVNYXggKj0gMjsKKwljdHh0LT52YWx1ZVRhYiA9IHRtcDsKKyAgICB9CisgICAgY3R4dC0+dmFsdWVUYWJbY3R4dC0+dmFsdWVOcl0gPSB2YWx1ZTsKKyAgICBjdHh0LT52YWx1ZSA9IHZhbHVlOworICAgIHJldHVybiAoY3R4dC0+dmFsdWVOcisrKTsKK30KKworLyoqCisgKiB4bWxYUGF0aFBvcEJvb2xlYW46CisgKiBAY3R4dDogIGFuIFhQYXRoIHBhcnNlciBjb250ZXh0CisgKgorICogUG9wcyBhIGJvb2xlYW4gZnJvbSB0aGUgc3RhY2ssIGhhbmRsaW5nIGNvbnZlcnNpb24gaWYgbmVlZGVkLgorICogQ2hlY2sgZXJyb3Igd2l0aCAjeG1sWFBhdGhDaGVja0Vycm9yLgorICoKKyAqIFJldHVybnMgdGhlIGJvb2xlYW4KKyAqLworaW50Cit4bWxYUGF0aFBvcEJvb2xlYW4gKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0KSB7CisgICAgeG1sWFBhdGhPYmplY3RQdHIgb2JqOworICAgIGludCByZXQ7CisKKyAgICBvYmogPSB2YWx1ZVBvcChjdHh0KTsKKyAgICBpZiAob2JqID09IE5VTEwpIHsKKwl4bWxYUGF0aFNldEVycm9yKGN0eHQsIFhQQVRIX0lOVkFMSURfT1BFUkFORCk7CisJcmV0dXJuKDApOworICAgIH0KKyAgICBpZiAob2JqLT50eXBlICE9IFhQQVRIX0JPT0xFQU4pCisJcmV0ID0geG1sWFBhdGhDYXN0VG9Cb29sZWFuKG9iaik7CisgICAgZWxzZQorICAgICAgICByZXQgPSBvYmotPmJvb2x2YWw7CisgICAgeG1sWFBhdGhSZWxlYXNlT2JqZWN0KGN0eHQtPmNvbnRleHQsIG9iaik7CisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogeG1sWFBhdGhQb3BOdW1iZXI6CisgKiBAY3R4dDogIGFuIFhQYXRoIHBhcnNlciBjb250ZXh0CisgKgorICogUG9wcyBhIG51bWJlciBmcm9tIHRoZSBzdGFjaywgaGFuZGxpbmcgY29udmVyc2lvbiBpZiBuZWVkZWQuCisgKiBDaGVjayBlcnJvciB3aXRoICN4bWxYUGF0aENoZWNrRXJyb3IuCisgKgorICogUmV0dXJucyB0aGUgbnVtYmVyCisgKi8KK2RvdWJsZQoreG1sWFBhdGhQb3BOdW1iZXIgKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0KSB7CisgICAgeG1sWFBhdGhPYmplY3RQdHIgb2JqOworICAgIGRvdWJsZSByZXQ7CisKKyAgICBvYmogPSB2YWx1ZVBvcChjdHh0KTsKKyAgICBpZiAob2JqID09IE5VTEwpIHsKKwl4bWxYUGF0aFNldEVycm9yKGN0eHQsIFhQQVRIX0lOVkFMSURfT1BFUkFORCk7CisJcmV0dXJuKDApOworICAgIH0KKyAgICBpZiAob2JqLT50eXBlICE9IFhQQVRIX05VTUJFUikKKwlyZXQgPSB4bWxYUGF0aENhc3RUb051bWJlcihvYmopOworICAgIGVsc2UKKyAgICAgICAgcmV0ID0gb2JqLT5mbG9hdHZhbDsKKyAgICB4bWxYUGF0aFJlbGVhc2VPYmplY3QoY3R4dC0+Y29udGV4dCwgb2JqKTsKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxYUGF0aFBvcFN0cmluZzoKKyAqIEBjdHh0OiAgYW4gWFBhdGggcGFyc2VyIGNvbnRleHQKKyAqCisgKiBQb3BzIGEgc3RyaW5nIGZyb20gdGhlIHN0YWNrLCBoYW5kbGluZyBjb252ZXJzaW9uIGlmIG5lZWRlZC4KKyAqIENoZWNrIGVycm9yIHdpdGggI3htbFhQYXRoQ2hlY2tFcnJvci4KKyAqCisgKiBSZXR1cm5zIHRoZSBzdHJpbmcKKyAqLworeG1sQ2hhciAqCit4bWxYUGF0aFBvcFN0cmluZyAoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQpIHsKKyAgICB4bWxYUGF0aE9iamVjdFB0ciBvYmo7CisgICAgeG1sQ2hhciAqIHJldDsKKworICAgIG9iaiA9IHZhbHVlUG9wKGN0eHQpOworICAgIGlmIChvYmogPT0gTlVMTCkgeworCXhtbFhQYXRoU2V0RXJyb3IoY3R4dCwgWFBBVEhfSU5WQUxJRF9PUEVSQU5EKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIHJldCA9IHhtbFhQYXRoQ2FzdFRvU3RyaW5nKG9iaik7CS8qIHRoaXMgZG9lcyByZXF1aXJlZCBzdHJkdXAgKi8KKyAgICAvKiBUT0RPOiBuZWVkcyByZWZhY3RvcmluZyBzb21ld2hlcmUgZWxzZSAqLworICAgIGlmIChvYmotPnN0cmluZ3ZhbCA9PSByZXQpCisJb2JqLT5zdHJpbmd2YWwgPSBOVUxMOworICAgIHhtbFhQYXRoUmVsZWFzZU9iamVjdChjdHh0LT5jb250ZXh0LCBvYmopOworICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbFhQYXRoUG9wTm9kZVNldDoKKyAqIEBjdHh0OiAgYW4gWFBhdGggcGFyc2VyIGNvbnRleHQKKyAqCisgKiBQb3BzIGEgbm9kZS1zZXQgZnJvbSB0aGUgc3RhY2ssIGhhbmRsaW5nIGNvbnZlcnNpb24gaWYgbmVlZGVkLgorICogQ2hlY2sgZXJyb3Igd2l0aCAjeG1sWFBhdGhDaGVja0Vycm9yLgorICoKKyAqIFJldHVybnMgdGhlIG5vZGUtc2V0CisgKi8KK3htbE5vZGVTZXRQdHIKK3htbFhQYXRoUG9wTm9kZVNldCAoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQpIHsKKyAgICB4bWxYUGF0aE9iamVjdFB0ciBvYmo7CisgICAgeG1sTm9kZVNldFB0ciByZXQ7CisKKyAgICBpZiAoY3R4dCA9PSBOVUxMKSByZXR1cm4oTlVMTCk7CisgICAgaWYgKGN0eHQtPnZhbHVlID09IE5VTEwpIHsKKwl4bWxYUGF0aFNldEVycm9yKGN0eHQsIFhQQVRIX0lOVkFMSURfT1BFUkFORCk7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBpZiAoIXhtbFhQYXRoU3RhY2tJc05vZGVTZXQoY3R4dCkpIHsKKwl4bWxYUGF0aFNldFR5cGVFcnJvcihjdHh0KTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIG9iaiA9IHZhbHVlUG9wKGN0eHQpOworICAgIHJldCA9IG9iai0+bm9kZXNldHZhbDsKKyNpZiAwCisgICAgLyogdG8gZml4IG1lbW9yeSBsZWFrIG9mIG5vdCBjbGVhcmluZyBvYmotPnVzZXIgKi8KKyAgICBpZiAob2JqLT5ib29sdmFsICYmIG9iai0+dXNlciAhPSBOVUxMKQorICAgICAgICB4bWxGcmVlTm9kZUxpc3QoKHhtbE5vZGVQdHIpIG9iai0+dXNlcik7CisjZW5kaWYKKyAgICBvYmotPm5vZGVzZXR2YWwgPSBOVUxMOworICAgIHhtbFhQYXRoUmVsZWFzZU9iamVjdChjdHh0LT5jb250ZXh0LCBvYmopOworICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbFhQYXRoUG9wRXh0ZXJuYWw6CisgKiBAY3R4dDogIGFuIFhQYXRoIHBhcnNlciBjb250ZXh0CisgKgorICogUG9wcyBhbiBleHRlcm5hbCBvYmplY3QgZnJvbSB0aGUgc3RhY2ssIGhhbmRsaW5nIGNvbnZlcnNpb24gaWYgbmVlZGVkLgorICogQ2hlY2sgZXJyb3Igd2l0aCAjeG1sWFBhdGhDaGVja0Vycm9yLgorICoKKyAqIFJldHVybnMgdGhlIG9iamVjdAorICovCit2b2lkICoKK3htbFhQYXRoUG9wRXh0ZXJuYWwgKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0KSB7CisgICAgeG1sWFBhdGhPYmplY3RQdHIgb2JqOworICAgIHZvaWQgKiByZXQ7CisKKyAgICBpZiAoKGN0eHQgPT0gTlVMTCkgfHwgKGN0eHQtPnZhbHVlID09IE5VTEwpKSB7CisJeG1sWFBhdGhTZXRFcnJvcihjdHh0LCBYUEFUSF9JTlZBTElEX09QRVJBTkQpOworCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgaWYgKGN0eHQtPnZhbHVlLT50eXBlICE9IFhQQVRIX1VTRVJTKSB7CisJeG1sWFBhdGhTZXRUeXBlRXJyb3IoY3R4dCk7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBvYmogPSB2YWx1ZVBvcChjdHh0KTsKKyAgICByZXQgPSBvYmotPnVzZXI7CisgICAgb2JqLT51c2VyID0gTlVMTDsKKyAgICB4bWxYUGF0aFJlbGVhc2VPYmplY3QoY3R4dC0+Y29udGV4dCwgb2JqKTsKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoKKyAqIE1hY3JvcyBmb3IgYWNjZXNzaW5nIHRoZSBjb250ZW50LiBUaG9zZSBzaG91bGQgYmUgdXNlZCBvbmx5IGJ5IHRoZSBwYXJzZXIsCisgKiBhbmQgbm90IGV4cG9ydGVkLgorICoKKyAqIERpcnR5IG1hY3JvcywgaS5lLiBvbmUgbmVlZCB0byBtYWtlIGFzc3VtcHRpb24gb24gdGhlIGNvbnRleHQgdG8gdXNlIHRoZW0KKyAqCisgKiAgIENVUl9QVFIgcmV0dXJuIHRoZSBjdXJyZW50IHBvaW50ZXIgdG8gdGhlIHhtbENoYXIgdG8gYmUgcGFyc2VkLgorICogICBDVVIgICAgIHJldHVybnMgdGhlIGN1cnJlbnQgeG1sQ2hhciB2YWx1ZSwgaS5lLiBhIDggYml0IHZhbHVlCisgKiAgICAgICAgICAgaW4gSVNPLUxhdGluIG9yIFVURi04LgorICogICAgICAgICAgIFRoaXMgc2hvdWxkIGJlIHVzZWQgaW50ZXJuYWxseSBieSB0aGUgcGFyc2VyCisgKiAgICAgICAgICAgb25seSB0byBjb21wYXJlIHRvIEFTQ0lJIHZhbHVlcyBvdGhlcndpc2UgaXQgd291bGQgYnJlYWsgd2hlbgorICogICAgICAgICAgIHJ1bm5pbmcgd2l0aCBVVEYtOCBlbmNvZGluZy4KKyAqICAgTlhUKG4pICByZXR1cm5zIHRoZSBuJ3RoIG5leHQgeG1sQ2hhci4gU2FtZSBhcyBDVVIgaXMgc2hvdWxkIGJlIHVzZWQgb25seQorICogICAgICAgICAgIHRvIGNvbXBhcmUgb24gQVNDSUkgYmFzZWQgc3Vic3RyaW5nLgorICogICBTS0lQKG4pIFNraXAgbiB4bWxDaGFyLCBhbmQgbXVzdCBhbHNvIGJlIHVzZWQgb25seSB0byBza2lwIEFTQ0lJIGRlZmluZWQKKyAqICAgICAgICAgICBzdHJpbmdzIHdpdGhpbiB0aGUgcGFyc2VyLgorICogICBDVVJSRU5UIFJldHVybnMgdGhlIGN1cnJlbnQgY2hhciB2YWx1ZSwgd2l0aCB0aGUgZnVsbCBkZWNvZGluZyBvZgorICogICAgICAgICAgIFVURi04IGlmIHdlIGFyZSB1c2luZyB0aGlzIG1vZGUuIEl0IHJldHVybnMgYW4gaW50LgorICogICBORVhUICAgIFNraXAgdG8gdGhlIG5leHQgY2hhcmFjdGVyLCB0aGlzIGRvZXMgdGhlIHByb3BlciBkZWNvZGluZworICogICAgICAgICAgIGluIFVURi04IG1vZGUuIEl0IGFsc28gcG9wLXVwIHVuZmluaXNoZWQgZW50aXRpZXMgb24gdGhlIGZseS4KKyAqICAgICAgICAgICBJdCByZXR1cm5zIHRoZSBwb2ludGVyIHRvIHRoZSBjdXJyZW50IHhtbENoYXIuCisgKi8KKworI2RlZmluZSBDVVIgKCpjdHh0LT5jdXIpCisjZGVmaW5lIFNLSVAodmFsKSBjdHh0LT5jdXIgKz0gKHZhbCkKKyNkZWZpbmUgTlhUKHZhbCkgY3R4dC0+Y3VyWyh2YWwpXQorI2RlZmluZSBDVVJfUFRSIGN0eHQtPmN1cgorI2RlZmluZSBDVVJfQ0hBUihsKSB4bWxYUGF0aEN1cnJlbnRDaGFyKGN0eHQsICZsKQorCisjZGVmaW5lIENPUFlfQlVGKGwsYixpLHYpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBpZiAobCA9PSAxKSBiW2krK10gPSAoeG1sQ2hhcikgdjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGVsc2UgaSArPSB4bWxDb3B5Q2hhcihsLCZiW2ldLHYpCisKKyNkZWZpbmUgTkVYVEwobCkgIGN0eHQtPmN1ciArPSBsCisKKyNkZWZpbmUgU0tJUF9CTEFOS1MJCQkJCQkJXAorICAgIHdoaWxlIChJU19CTEFOS19DSCgqKGN0eHQtPmN1cikpKSBORVhUCisKKyNkZWZpbmUgQ1VSUkVOVCAoKmN0eHQtPmN1cikKKyNkZWZpbmUgTkVYVCAoKCpjdHh0LT5jdXIpID8gIGN0eHQtPmN1cisrOiBjdHh0LT5jdXIpCisKKworI2lmbmRlZiBEQkxfRElHCisjZGVmaW5lIERCTF9ESUcgMTYKKyNlbmRpZgorI2lmbmRlZiBEQkxfRVBTSUxPTgorI2RlZmluZSBEQkxfRVBTSUxPTiAxRS05CisjZW5kaWYKKworI2RlZmluZSBVUFBFUl9ET1VCTEUgMUU5CisjZGVmaW5lIExPV0VSX0RPVUJMRSAxRS01CisjZGVmaW5lCUxPV0VSX0RPVUJMRV9FWFAgNQorCisjZGVmaW5lIElOVEVHRVJfRElHSVRTIERCTF9ESUcKKyNkZWZpbmUgRlJBQ1RJT05fRElHSVRTIChEQkxfRElHICsgMSArIChMT1dFUl9ET1VCTEVfRVhQKSkKKyNkZWZpbmUgRVhQT05FTlRfRElHSVRTICgzICsgMikKKworLyoqCisgKiB4bWxYUGF0aEZvcm1hdE51bWJlcjoKKyAqIEBudW1iZXI6ICAgICBudW1iZXIgdG8gZm9ybWF0CisgKiBAYnVmZmVyOiAgICAgb3V0cHV0IGJ1ZmZlcgorICogQGJ1ZmZlcnNpemU6IHNpemUgb2Ygb3V0cHV0IGJ1ZmZlcgorICoKKyAqIENvbnZlcnQgdGhlIG51bWJlciBpbnRvIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uLgorICovCitzdGF0aWMgdm9pZAoreG1sWFBhdGhGb3JtYXROdW1iZXIoZG91YmxlIG51bWJlciwgY2hhciBidWZmZXJbXSwgaW50IGJ1ZmZlcnNpemUpCit7CisgICAgc3dpdGNoICh4bWxYUGF0aElzSW5mKG51bWJlcikpIHsKKyAgICBjYXNlIDE6CisJaWYgKGJ1ZmZlcnNpemUgPiAoaW50KXNpemVvZigiSW5maW5pdHkiKSkKKwkgICAgc25wcmludGYoYnVmZmVyLCBidWZmZXJzaXplLCAiSW5maW5pdHkiKTsKKwlicmVhazsKKyAgICBjYXNlIC0xOgorCWlmIChidWZmZXJzaXplID4gKGludClzaXplb2YoIi1JbmZpbml0eSIpKQorCSAgICBzbnByaW50ZihidWZmZXIsIGJ1ZmZlcnNpemUsICItSW5maW5pdHkiKTsKKwlicmVhazsKKyAgICBkZWZhdWx0OgorCWlmICh4bWxYUGF0aElzTmFOKG51bWJlcikpIHsKKwkgICAgaWYgKGJ1ZmZlcnNpemUgPiAoaW50KXNpemVvZigiTmFOIikpCisJCXNucHJpbnRmKGJ1ZmZlciwgYnVmZmVyc2l6ZSwgIk5hTiIpOworCX0gZWxzZSBpZiAobnVtYmVyID09IDAgJiYgeG1sWFBhdGhHZXRTaWduKG51bWJlcikgIT0gMCkgeworCSAgICBzbnByaW50ZihidWZmZXIsIGJ1ZmZlcnNpemUsICIwIik7CisJfSBlbHNlIGlmIChudW1iZXIgPT0gKChpbnQpIG51bWJlcikpIHsKKwkgICAgY2hhciB3b3JrWzMwXTsKKwkgICAgY2hhciAqcHRyLCAqY3VyOworCSAgICBpbnQgdmFsdWUgPSAoaW50KSBudW1iZXI7CisKKyAgICAgICAgICAgIHB0ciA9ICZidWZmZXJbMF07CisJICAgIGlmICh2YWx1ZSA9PSAwKSB7CisJCSpwdHIrKyA9ICcwJzsKKwkgICAgfSBlbHNlIHsKKwkJc25wcmludGYod29yaywgMjksICIlZCIsIHZhbHVlKTsKKwkJY3VyID0gJndvcmtbMF07CisJCXdoaWxlICgoKmN1cikgJiYgKHB0ciAtIGJ1ZmZlciA8IGJ1ZmZlcnNpemUpKSB7CisJCSAgICAqcHRyKysgPSAqY3VyKys7CisJCX0KKwkgICAgfQorCSAgICBpZiAocHRyIC0gYnVmZmVyIDwgYnVmZmVyc2l6ZSkgeworCQkqcHRyID0gMDsKKwkgICAgfSBlbHNlIGlmIChidWZmZXJzaXplID4gMCkgeworCQlwdHItLTsKKwkJKnB0ciA9IDA7CisJICAgIH0KKwl9IGVsc2UgeworCSAgICAvKgorCSAgICAgIEZvciB0aGUgZGltZW5zaW9uIG9mIHdvcmssCisJICAgICAgICAgIERCTF9ESUcgaXMgbnVtYmVyIG9mIHNpZ25pZmljYW50IGRpZ2l0cworCQkgIEVYUE9ORU5UIGlzIG9ubHkgbmVlZGVkIGZvciAic2NpZW50aWZpYyBub3RhdGlvbiIKKwkgICAgICAgICAgMyBpcyBzaWduLCBkZWNpbWFsIHBvaW50LCBhbmQgdGVybWluYXRpbmcgemVybworCQkgIExPV0VSX0RPVUJMRV9FWFAgaXMgbWF4IG51bWJlciBvZiBsZWFkaW5nIHplcm9lcyBpbiBmcmFjdGlvbgorCSAgICAgIE5vdGUgdGhhdCB0aGlzIGRpbWVuc2lvbiBpcyBzbGlnaHRseSAoYSBmZXcgY2hhcmFjdGVycykKKwkgICAgICBsYXJnZXIgdGhhbiBhY3R1YWxseSBuZWNlc3NhcnkuCisJICAgICovCisJICAgIGNoYXIgd29ya1tEQkxfRElHICsgRVhQT05FTlRfRElHSVRTICsgMyArIExPV0VSX0RPVUJMRV9FWFBdOworCSAgICBpbnQgaW50ZWdlcl9wbGFjZSwgZnJhY3Rpb25fcGxhY2U7CisJICAgIGNoYXIgKnB0cjsKKwkgICAgY2hhciAqYWZ0ZXJfZnJhY3Rpb247CisJICAgIGRvdWJsZSBhYnNvbHV0ZV92YWx1ZTsKKwkgICAgaW50IHNpemU7CisKKwkgICAgYWJzb2x1dGVfdmFsdWUgPSBmYWJzKG51bWJlcik7CisKKwkgICAgLyoKKwkgICAgICogRmlyc3QgY2hvb3NlIGZvcm1hdCAtIHNjaWVudGlmaWMgb3IgcmVndWxhciBmbG9hdGluZyBwb2ludC4KKwkgICAgICogSW4gZWl0aGVyIGNhc2UsIHJlc3VsdCBpcyBpbiB3b3JrLCBhbmQgYWZ0ZXJfZnJhY3Rpb24gcG9pbnRzCisJICAgICAqIGp1c3QgcGFzdCB0aGUgZnJhY3Rpb25hbCBwYXJ0LgorCSAgICAqLworCSAgICBpZiAoICgoYWJzb2x1dGVfdmFsdWUgPiBVUFBFUl9ET1VCTEUpIHx8CisJCSAgKGFic29sdXRlX3ZhbHVlIDwgTE9XRVJfRE9VQkxFKSkgJiYKKwkJIChhYnNvbHV0ZV92YWx1ZSAhPSAwLjApICkgeworCQkvKiBVc2Ugc2NpZW50aWZpYyBub3RhdGlvbiAqLworCQlpbnRlZ2VyX3BsYWNlID0gREJMX0RJRyArIEVYUE9ORU5UX0RJR0lUUyArIDE7CisJCWZyYWN0aW9uX3BsYWNlID0gREJMX0RJRyAtIDE7CisJCXNpemUgPSBzbnByaW50Zih3b3JrLCBzaXplb2Yod29yayksIiUqLiplIiwKKwkJCSBpbnRlZ2VyX3BsYWNlLCBmcmFjdGlvbl9wbGFjZSwgbnVtYmVyKTsKKwkJd2hpbGUgKChzaXplID4gMCkgJiYgKHdvcmtbc2l6ZV0gIT0gJ2UnKSkgc2l6ZS0tOworCisJICAgIH0KKwkgICAgZWxzZSB7CisJCS8qIFVzZSByZWd1bGFyIG5vdGF0aW9uICovCisJCWlmIChhYnNvbHV0ZV92YWx1ZSA+IDAuMCkgeworCQkgICAgaW50ZWdlcl9wbGFjZSA9IChpbnQpbG9nMTAoYWJzb2x1dGVfdmFsdWUpOworCQkgICAgaWYgKGludGVnZXJfcGxhY2UgPiAwKQorCQkgICAgICAgIGZyYWN0aW9uX3BsYWNlID0gREJMX0RJRyAtIGludGVnZXJfcGxhY2UgLSAxOworCQkgICAgZWxzZQorCQkgICAgICAgIGZyYWN0aW9uX3BsYWNlID0gREJMX0RJRyAtIGludGVnZXJfcGxhY2U7CisJCX0gZWxzZSB7CisJCSAgICBmcmFjdGlvbl9wbGFjZSA9IDE7CisJCX0KKwkJc2l6ZSA9IHNucHJpbnRmKHdvcmssIHNpemVvZih3b3JrKSwgIiUwLipmIiwKKwkJCQlmcmFjdGlvbl9wbGFjZSwgbnVtYmVyKTsKKwkgICAgfQorCisJICAgIC8qIFJlbW92ZSBsZWFkaW5nIHNwYWNlcyBzb21ldGltZXMgaW5zZXJ0ZWQgYnkgc25wcmludGYgKi8KKwkgICAgd2hpbGUgKHdvcmtbMF0gPT0gJyAnKSB7CisJICAgICAgICBmb3IgKHB0ciA9ICZ3b3JrWzBdOyhwdHJbMF0gPSBwdHJbMV0pO3B0cisrKTsKKwkJc2l6ZS0tOworCSAgICB9CisKKwkgICAgLyogUmVtb3ZlIGZyYWN0aW9uYWwgdHJhaWxpbmcgemVyb2VzICovCisJICAgIGFmdGVyX2ZyYWN0aW9uID0gd29yayArIHNpemU7CisJICAgIHB0ciA9IGFmdGVyX2ZyYWN0aW9uOworCSAgICB3aGlsZSAoKigtLXB0cikgPT0gJzAnKQorCQk7CisJICAgIGlmICgqcHRyICE9ICcuJykKKwkgICAgICAgIHB0cisrOworCSAgICB3aGlsZSAoKCpwdHIrKyA9ICphZnRlcl9mcmFjdGlvbisrKSAhPSAwKTsKKworCSAgICAvKiBGaW5hbGx5IGNvcHkgcmVzdWx0IGJhY2sgdG8gY2FsbGVyICovCisJICAgIHNpemUgPSBzdHJsZW4od29yaykgKyAxOworCSAgICBpZiAoc2l6ZSA+IGJ1ZmZlcnNpemUpIHsKKwkJd29ya1tidWZmZXJzaXplIC0gMV0gPSAwOworCQlzaXplID0gYnVmZmVyc2l6ZTsKKwkgICAgfQorCSAgICBtZW1tb3ZlKGJ1ZmZlciwgd29yaywgc2l6ZSk7CisJfQorCWJyZWFrOworICAgIH0KK30KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQkJUm91dGluZXMgdG8gaGFuZGxlIE5vZGVTZXRzCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioKKyAqIHhtbFhQYXRoT3JkZXJEb2NFbGVtczoKKyAqIEBkb2M6ICBhbiBpbnB1dCBkb2N1bWVudAorICoKKyAqIENhbGwgdGhpcyByb3V0aW5lIHRvIHNwZWVkIHVwIFhQYXRoIGNvbXB1dGF0aW9uIG9uIHN0YXRpYyBkb2N1bWVudHMuCisgKiBUaGlzIHN0YW1wcyBhbGwgdGhlIGVsZW1lbnQgbm9kZXMgd2l0aCB0aGUgZG9jdW1lbnQgb3JkZXIKKyAqIExpa2UgZm9yIGxpbmUgaW5mb3JtYXRpb24sIHRoZSBvcmRlciBpcyBrZXB0IGluIHRoZSBlbGVtZW50LT5jb250ZW50CisgKiBmaWVsZCwgdGhlIHZhbHVlIHN0b3JlZCBpcyBhY3R1YWxseSAtIHRoZSBub2RlIG51bWJlciAoc3RhcnRpbmcgYXQgLTEpCisgKiB0byBiZSBhYmxlIHRvIGRpZmZlcmVudGlhdGUgZnJvbSBsaW5lIG51bWJlcnMuCisgKgorICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzIGZvdW5kIGluIHRoZSBkb2N1bWVudCBvciAtMSBpbiBjYXNlCisgKiAgICBvZiBlcnJvci4KKyAqLworbG9uZworeG1sWFBhdGhPcmRlckRvY0VsZW1zKHhtbERvY1B0ciBkb2MpIHsKKyAgICBsb25nIGNvdW50ID0gMDsKKyAgICB4bWxOb2RlUHRyIGN1cjsKKworICAgIGlmIChkb2MgPT0gTlVMTCkKKwlyZXR1cm4oLTEpOworICAgIGN1ciA9IGRvYy0+Y2hpbGRyZW47CisgICAgd2hpbGUgKGN1ciAhPSBOVUxMKSB7CisJaWYgKGN1ci0+dHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFKSB7CisJICAgIGN1ci0+Y29udGVudCA9ICh2b2lkICopICgtKCsrY291bnQpKTsKKwkgICAgaWYgKGN1ci0+Y2hpbGRyZW4gIT0gTlVMTCkgeworCQljdXIgPSBjdXItPmNoaWxkcmVuOworCQljb250aW51ZTsKKwkgICAgfQorCX0KKwlpZiAoY3VyLT5uZXh0ICE9IE5VTEwpIHsKKwkgICAgY3VyID0gY3VyLT5uZXh0OworCSAgICBjb250aW51ZTsKKwl9CisJZG8geworCSAgICBjdXIgPSBjdXItPnBhcmVudDsKKwkgICAgaWYgKGN1ciA9PSBOVUxMKQorCQlicmVhazsKKwkgICAgaWYgKGN1ciA9PSAoeG1sTm9kZVB0cikgZG9jKSB7CisJCWN1ciA9IE5VTEw7CisJCWJyZWFrOworCSAgICB9CisJICAgIGlmIChjdXItPm5leHQgIT0gTlVMTCkgeworCQljdXIgPSBjdXItPm5leHQ7CisJCWJyZWFrOworCSAgICB9CisJfSB3aGlsZSAoY3VyICE9IE5VTEwpOworICAgIH0KKyAgICByZXR1cm4oY291bnQpOworfQorCisvKioKKyAqIHhtbFhQYXRoQ21wTm9kZXM6CisgKiBAbm9kZTE6ICB0aGUgZmlyc3Qgbm9kZQorICogQG5vZGUyOiAgdGhlIHNlY29uZCBub2RlCisgKgorICogQ29tcGFyZSB0d28gbm9kZXMgdy5yLnQgZG9jdW1lbnQgb3JkZXIKKyAqCisgKiBSZXR1cm5zIC0yIGluIGNhc2Ugb2YgZXJyb3IgMSBpZiBmaXJzdCBwb2ludCA8IHNlY29uZCBwb2ludCwgMCBpZgorICogICAgICAgICBpdCdzIHRoZSBzYW1lIG5vZGUsIC0xIG90aGVyd2lzZQorICovCitpbnQKK3htbFhQYXRoQ21wTm9kZXMoeG1sTm9kZVB0ciBub2RlMSwgeG1sTm9kZVB0ciBub2RlMikgeworICAgIGludCBkZXB0aDEsIGRlcHRoMjsKKyAgICBpbnQgYXR0cjEgPSAwLCBhdHRyMiA9IDA7CisgICAgeG1sTm9kZVB0ciBhdHRyTm9kZTEgPSBOVUxMLCBhdHRyTm9kZTIgPSBOVUxMOworICAgIHhtbE5vZGVQdHIgY3VyLCByb290OworCisgICAgaWYgKChub2RlMSA9PSBOVUxMKSB8fCAobm9kZTIgPT0gTlVMTCkpCisJcmV0dXJuKC0yKTsKKyAgICAvKgorICAgICAqIGEgY291cGxlIG9mIG9wdGltaXphdGlvbnMgd2hpY2ggd2lsbCBhdm9pZCBjb21wdXRhdGlvbnMgaW4gbW9zdCBjYXNlcworICAgICAqLworICAgIGlmIChub2RlMSA9PSBub2RlMikJCS8qIHRyaXZpYWwgY2FzZSAqLworCXJldHVybigwKTsKKyAgICBpZiAobm9kZTEtPnR5cGUgPT0gWE1MX0FUVFJJQlVURV9OT0RFKSB7CisJYXR0cjEgPSAxOworCWF0dHJOb2RlMSA9IG5vZGUxOworCW5vZGUxID0gbm9kZTEtPnBhcmVudDsKKyAgICB9CisgICAgaWYgKG5vZGUyLT50eXBlID09IFhNTF9BVFRSSUJVVEVfTk9ERSkgeworCWF0dHIyID0gMTsKKwlhdHRyTm9kZTIgPSBub2RlMjsKKwlub2RlMiA9IG5vZGUyLT5wYXJlbnQ7CisgICAgfQorICAgIGlmIChub2RlMSA9PSBub2RlMikgeworCWlmIChhdHRyMSA9PSBhdHRyMikgeworCSAgICAvKiBub3QgcmVxdWlyZWQsIGJ1dCB3ZSBrZWVwIGF0dHJpYnV0ZXMgaW4gb3JkZXIgKi8KKwkgICAgaWYgKGF0dHIxICE9IDApIHsKKwkgICAgICAgIGN1ciA9IGF0dHJOb2RlMi0+cHJldjsKKwkJd2hpbGUgKGN1ciAhPSBOVUxMKSB7CisJCSAgICBpZiAoY3VyID09IGF0dHJOb2RlMSkKKwkJICAgICAgICByZXR1cm4gKDEpOworCQkgICAgY3VyID0gY3VyLT5wcmV2OworCQl9CisJCXJldHVybiAoLTEpOworCSAgICB9CisJICAgIHJldHVybigwKTsKKwl9CisJaWYgKGF0dHIyID09IDEpCisJICAgIHJldHVybigxKTsKKwlyZXR1cm4oLTEpOworICAgIH0KKyAgICBpZiAoKG5vZGUxLT50eXBlID09IFhNTF9OQU1FU1BBQ0VfREVDTCkgfHwKKyAgICAgICAgKG5vZGUyLT50eXBlID09IFhNTF9OQU1FU1BBQ0VfREVDTCkpCisJcmV0dXJuKDEpOworICAgIGlmIChub2RlMSA9PSBub2RlMi0+cHJldikKKwlyZXR1cm4oMSk7CisgICAgaWYgKG5vZGUxID09IG5vZGUyLT5uZXh0KQorCXJldHVybigtMSk7CisKKyAgICAvKgorICAgICAqIFNwZWVkdXAgdXNpbmcgZG9jdW1lbnQgb3JkZXIgaWYgYXZhaWxibGUuCisgICAgICovCisgICAgaWYgKChub2RlMS0+dHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFKSAmJgorCShub2RlMi0+dHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFKSAmJgorCSgwID4gKGxvbmcpIG5vZGUxLT5jb250ZW50KSAmJgorCSgwID4gKGxvbmcpIG5vZGUyLT5jb250ZW50KSAmJgorCShub2RlMS0+ZG9jID09IG5vZGUyLT5kb2MpKSB7CisJbG9uZyBsMSwgbDI7CisKKwlsMSA9IC0oKGxvbmcpIG5vZGUxLT5jb250ZW50KTsKKwlsMiA9IC0oKGxvbmcpIG5vZGUyLT5jb250ZW50KTsKKwlpZiAobDEgPCBsMikKKwkgICAgcmV0dXJuKDEpOworCWlmIChsMSA+IGwyKQorCSAgICByZXR1cm4oLTEpOworICAgIH0KKworICAgIC8qCisgICAgICogY29tcHV0ZSBkZXB0aCB0byByb290CisgICAgICovCisgICAgZm9yIChkZXB0aDIgPSAwLCBjdXIgPSBub2RlMjtjdXItPnBhcmVudCAhPSBOVUxMO2N1ciA9IGN1ci0+cGFyZW50KSB7CisJaWYgKGN1ciA9PSBub2RlMSkKKwkgICAgcmV0dXJuKDEpOworCWRlcHRoMisrOworICAgIH0KKyAgICByb290ID0gY3VyOworICAgIGZvciAoZGVwdGgxID0gMCwgY3VyID0gbm9kZTE7Y3VyLT5wYXJlbnQgIT0gTlVMTDtjdXIgPSBjdXItPnBhcmVudCkgeworCWlmIChjdXIgPT0gbm9kZTIpCisJICAgIHJldHVybigtMSk7CisJZGVwdGgxKys7CisgICAgfQorICAgIC8qCisgICAgICogRGlzdGluY3QgZG9jdW1lbnQgKG9yIGRpc3RpbmN0IGVudGl0aWVzIDotKCApIGNhc2UuCisgICAgICovCisgICAgaWYgKHJvb3QgIT0gY3VyKSB7CisJcmV0dXJuKC0yKTsKKyAgICB9CisgICAgLyoKKyAgICAgKiBnZXQgdGhlIG5lYXJlc3QgY29tbW9uIGFuY2VzdG9yLgorICAgICAqLworICAgIHdoaWxlIChkZXB0aDEgPiBkZXB0aDIpIHsKKwlkZXB0aDEtLTsKKwlub2RlMSA9IG5vZGUxLT5wYXJlbnQ7CisgICAgfQorICAgIHdoaWxlIChkZXB0aDIgPiBkZXB0aDEpIHsKKwlkZXB0aDItLTsKKwlub2RlMiA9IG5vZGUyLT5wYXJlbnQ7CisgICAgfQorICAgIHdoaWxlIChub2RlMS0+cGFyZW50ICE9IG5vZGUyLT5wYXJlbnQpIHsKKwlub2RlMSA9IG5vZGUxLT5wYXJlbnQ7CisJbm9kZTIgPSBub2RlMi0+cGFyZW50OworCS8qIHNob3VsZCBub3QgaGFwcGVuIGJ1dCBqdXN0IGluIGNhc2UgLi4uICovCisJaWYgKChub2RlMSA9PSBOVUxMKSB8fCAobm9kZTIgPT0gTlVMTCkpCisJICAgIHJldHVybigtMik7CisgICAgfQorICAgIC8qCisgICAgICogRmluZCB3aG8ncyBmaXJzdC4KKyAgICAgKi8KKyAgICBpZiAobm9kZTEgPT0gbm9kZTItPnByZXYpCisJcmV0dXJuKDEpOworICAgIGlmIChub2RlMSA9PSBub2RlMi0+bmV4dCkKKwlyZXR1cm4oLTEpOworICAgIC8qCisgICAgICogU3BlZWR1cCB1c2luZyBkb2N1bWVudCBvcmRlciBpZiBhdmFpbGJsZS4KKyAgICAgKi8KKyAgICBpZiAoKG5vZGUxLT50eXBlID09IFhNTF9FTEVNRU5UX05PREUpICYmCisJKG5vZGUyLT50eXBlID09IFhNTF9FTEVNRU5UX05PREUpICYmCisJKDAgPiAobG9uZykgbm9kZTEtPmNvbnRlbnQpICYmCisJKDAgPiAobG9uZykgbm9kZTItPmNvbnRlbnQpICYmCisJKG5vZGUxLT5kb2MgPT0gbm9kZTItPmRvYykpIHsKKwlsb25nIGwxLCBsMjsKKworCWwxID0gLSgobG9uZykgbm9kZTEtPmNvbnRlbnQpOworCWwyID0gLSgobG9uZykgbm9kZTItPmNvbnRlbnQpOworCWlmIChsMSA8IGwyKQorCSAgICByZXR1cm4oMSk7CisJaWYgKGwxID4gbDIpCisJICAgIHJldHVybigtMSk7CisgICAgfQorCisgICAgZm9yIChjdXIgPSBub2RlMS0+bmV4dDtjdXIgIT0gTlVMTDtjdXIgPSBjdXItPm5leHQpCisJaWYgKGN1ciA9PSBub2RlMikKKwkgICAgcmV0dXJuKDEpOworICAgIHJldHVybigtMSk7IC8qIGFzc3VtZSB0aGVyZSBpcyBubyBzaWJsaW5nIGxpc3QgY29ycnVwdGlvbiAqLworfQorCisvKioKKyAqIHhtbFhQYXRoTm9kZVNldFNvcnQ6CisgKiBAc2V0OiAgdGhlIG5vZGUgc2V0CisgKgorICogU29ydCB0aGUgbm9kZSBzZXQgaW4gZG9jdW1lbnQgb3JkZXIKKyAqLwordm9pZAoreG1sWFBhdGhOb2RlU2V0U29ydCh4bWxOb2RlU2V0UHRyIHNldCkgeworI2lmbmRlZiBXSVRIX1RJTV9TT1JUCisgICAgaW50IGksIGosIGluY3IsIGxlbjsKKyAgICB4bWxOb2RlUHRyIHRtcDsKKyNlbmRpZgorCisgICAgaWYgKHNldCA9PSBOVUxMKQorCXJldHVybjsKKworI2lmbmRlZiBXSVRIX1RJTV9TT1JUCisgICAgLyoKKyAgICAgKiBVc2UgdGhlIG9sZCBTaGVsbCdzIHNvcnQgaW1wbGVtZW50YXRpb24gdG8gc29ydCB0aGUgbm9kZS1zZXQKKyAgICAgKiBUaW1zb3J0IG91Z2h0IHRvIGJlIHF1aXRlIGZhc3RlcgorICAgICAqLworICAgIGxlbiA9IHNldC0+bm9kZU5yOworICAgIGZvciAoaW5jciA9IGxlbiAvIDI7IGluY3IgPiAwOyBpbmNyIC89IDIpIHsKKwlmb3IgKGkgPSBpbmNyOyBpIDwgbGVuOyBpKyspIHsKKwkgICAgaiA9IGkgLSBpbmNyOworCSAgICB3aGlsZSAoaiA+PSAwKSB7CisjaWZkZWYgWFBfT1BUSU1JWkVEX05PTl9FTEVNX0NPTVBBUklTT04KKwkJaWYgKHhtbFhQYXRoQ21wTm9kZXNFeHQoc2V0LT5ub2RlVGFiW2pdLAorCQkJc2V0LT5ub2RlVGFiW2ogKyBpbmNyXSkgPT0gLTEpCisjZWxzZQorCQlpZiAoeG1sWFBhdGhDbXBOb2RlcyhzZXQtPm5vZGVUYWJbal0sCisJCQlzZXQtPm5vZGVUYWJbaiArIGluY3JdKSA9PSAtMSkKKyNlbmRpZgorCQl7CisJCSAgICB0bXAgPSBzZXQtPm5vZGVUYWJbal07CisJCSAgICBzZXQtPm5vZGVUYWJbal0gPSBzZXQtPm5vZGVUYWJbaiArIGluY3JdOworCQkgICAgc2V0LT5ub2RlVGFiW2ogKyBpbmNyXSA9IHRtcDsKKwkJICAgIGogLT0gaW5jcjsKKwkJfSBlbHNlCisJCSAgICBicmVhazsKKwkgICAgfQorCX0KKyAgICB9CisjZWxzZSAvKiBXSVRIX1RJTV9TT1JUICovCisgICAgbGlieG1sX2RvbW5vZGVfdGltX3NvcnQoc2V0LT5ub2RlVGFiLCBzZXQtPm5vZGVOcik7CisjZW5kaWYgLyogV0lUSF9USU1fU09SVCAqLworfQorCisjZGVmaW5lIFhNTF9OT0RFU0VUX0RFRkFVTFQJMTAKKy8qKgorICogeG1sWFBhdGhOb2RlU2V0RHVwTnM6CisgKiBAbm9kZTogIHRoZSBwYXJlbnQgbm9kZSBvZiB0aGUgbmFtZXNwYWNlIFhQYXRoIG5vZGUKKyAqIEBuczogIHRoZSBsaWJ4bWwgbmFtZXNwYWNlIGRlY2xhcmF0aW9uIG5vZGUuCisgKgorICogTmFtZXNwYWNlIG5vZGUgaW4gbGlieG1sIGRvbid0IG1hdGNoIHRoZSBYUGF0aCBzZW1hbnRpYy4gSW4gYSBub2RlIHNldAorICogdGhlIG5hbWVzcGFjZSBub2RlcyBhcmUgZHVwbGljYXRlZCBhbmQgdGhlIG5leHQgcG9pbnRlciBpcyBzZXQgdG8gdGhlCisgKiBwYXJlbnQgbm9kZSBpbiB0aGUgWFBhdGggc2VtYW50aWMuCisgKgorICogUmV0dXJucyB0aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QuCisgKi8KK3N0YXRpYyB4bWxOb2RlUHRyCit4bWxYUGF0aE5vZGVTZXREdXBOcyh4bWxOb2RlUHRyIG5vZGUsIHhtbE5zUHRyIG5zKSB7CisgICAgeG1sTnNQdHIgY3VyOworCisgICAgaWYgKChucyA9PSBOVUxMKSB8fCAobnMtPnR5cGUgIT0gWE1MX05BTUVTUEFDRV9ERUNMKSkKKwlyZXR1cm4oTlVMTCk7CisgICAgaWYgKChub2RlID09IE5VTEwpIHx8IChub2RlLT50eXBlID09IFhNTF9OQU1FU1BBQ0VfREVDTCkpCisJcmV0dXJuKCh4bWxOb2RlUHRyKSBucyk7CisKKyAgICAvKgorICAgICAqIEFsbG9jYXRlIGEgbmV3IE5hbWVzcGFjZSBhbmQgZmlsbCB0aGUgZmllbGRzLgorICAgICAqLworICAgIGN1ciA9ICh4bWxOc1B0cikgeG1sTWFsbG9jKHNpemVvZih4bWxOcykpOworICAgIGlmIChjdXIgPT0gTlVMTCkgeworICAgICAgICB4bWxYUGF0aEVyck1lbW9yeShOVUxMLCAiZHVwbGljYXRpbmcgbmFtZXNwYWNlXG4iKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIG1lbXNldChjdXIsIDAsIHNpemVvZih4bWxOcykpOworICAgIGN1ci0+dHlwZSA9IFhNTF9OQU1FU1BBQ0VfREVDTDsKKyAgICBpZiAobnMtPmhyZWYgIT0gTlVMTCkKKwljdXItPmhyZWYgPSB4bWxTdHJkdXAobnMtPmhyZWYpOworICAgIGlmIChucy0+cHJlZml4ICE9IE5VTEwpCisJY3VyLT5wcmVmaXggPSB4bWxTdHJkdXAobnMtPnByZWZpeCk7CisgICAgY3VyLT5uZXh0ID0gKHhtbE5zUHRyKSBub2RlOworICAgIHJldHVybigoeG1sTm9kZVB0cikgY3VyKTsKK30KKworLyoqCisgKiB4bWxYUGF0aE5vZGVTZXRGcmVlTnM6CisgKiBAbnM6ICB0aGUgWFBhdGggbmFtZXNwYWNlIG5vZGUgZm91bmQgaW4gYSBub2Rlc2V0LgorICoKKyAqIE5hbWVzcGFjZSBub2RlcyBpbiBsaWJ4bWwgZG9uJ3QgbWF0Y2ggdGhlIFhQYXRoIHNlbWFudGljLiBJbiBhIG5vZGUgc2V0CisgKiB0aGUgbmFtZXNwYWNlIG5vZGVzIGFyZSBkdXBsaWNhdGVkIGFuZCB0aGUgbmV4dCBwb2ludGVyIGlzIHNldCB0byB0aGUKKyAqIHBhcmVudCBub2RlIGluIHRoZSBYUGF0aCBzZW1hbnRpYy4gQ2hlY2sgaWYgc3VjaCBhIG5vZGUgbmVlZHMgdG8gYmUgZnJlZWQKKyAqLwordm9pZAoreG1sWFBhdGhOb2RlU2V0RnJlZU5zKHhtbE5zUHRyIG5zKSB7CisgICAgaWYgKChucyA9PSBOVUxMKSB8fCAobnMtPnR5cGUgIT0gWE1MX05BTUVTUEFDRV9ERUNMKSkKKwlyZXR1cm47CisKKyAgICBpZiAoKG5zLT5uZXh0ICE9IE5VTEwpICYmIChucy0+bmV4dC0+dHlwZSAhPSBYTUxfTkFNRVNQQUNFX0RFQ0wpKSB7CisJaWYgKG5zLT5ocmVmICE9IE5VTEwpCisJICAgIHhtbEZyZWUoKHhtbENoYXIgKilucy0+aHJlZik7CisJaWYgKG5zLT5wcmVmaXggIT0gTlVMTCkKKwkgICAgeG1sRnJlZSgoeG1sQ2hhciAqKW5zLT5wcmVmaXgpOworCXhtbEZyZWUobnMpOworICAgIH0KK30KKworLyoqCisgKiB4bWxYUGF0aE5vZGVTZXRDcmVhdGU6CisgKiBAdmFsOiAgYW4gaW5pdGlhbCB4bWxOb2RlUHRyLCBvciBOVUxMCisgKgorICogQ3JlYXRlIGEgbmV3IHhtbE5vZGVTZXRQdHIgb2YgdHlwZSBkb3VibGUgYW5kIG9mIHZhbHVlIEB2YWwKKyAqCisgKiBSZXR1cm5zIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdC4KKyAqLworeG1sTm9kZVNldFB0cgoreG1sWFBhdGhOb2RlU2V0Q3JlYXRlKHhtbE5vZGVQdHIgdmFsKSB7CisgICAgeG1sTm9kZVNldFB0ciByZXQ7CisKKyAgICByZXQgPSAoeG1sTm9kZVNldFB0cikgeG1sTWFsbG9jKHNpemVvZih4bWxOb2RlU2V0KSk7CisgICAgaWYgKHJldCA9PSBOVUxMKSB7CisgICAgICAgIHhtbFhQYXRoRXJyTWVtb3J5KE5VTEwsICJjcmVhdGluZyBub2Rlc2V0XG4iKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIG1lbXNldChyZXQsIDAgLCAoc2l6ZV90KSBzaXplb2YoeG1sTm9kZVNldCkpOworICAgIGlmICh2YWwgIT0gTlVMTCkgeworICAgICAgICByZXQtPm5vZGVUYWIgPSAoeG1sTm9kZVB0ciAqKSB4bWxNYWxsb2MoWE1MX05PREVTRVRfREVGQVVMVCAqCisJCQkJCSAgICAgc2l6ZW9mKHhtbE5vZGVQdHIpKTsKKwlpZiAocmV0LT5ub2RlVGFiID09IE5VTEwpIHsKKwkgICAgeG1sWFBhdGhFcnJNZW1vcnkoTlVMTCwgImNyZWF0aW5nIG5vZGVzZXRcbiIpOworCSAgICB4bWxGcmVlKHJldCk7CisJICAgIHJldHVybihOVUxMKTsKKwl9CisJbWVtc2V0KHJldC0+bm9kZVRhYiwgMCAsCisJICAgICAgIFhNTF9OT0RFU0VUX0RFRkFVTFQgKiAoc2l6ZV90KSBzaXplb2YoeG1sTm9kZVB0cikpOworICAgICAgICByZXQtPm5vZGVNYXggPSBYTUxfTk9ERVNFVF9ERUZBVUxUOworCWlmICh2YWwtPnR5cGUgPT0gWE1MX05BTUVTUEFDRV9ERUNMKSB7CisJICAgIHhtbE5zUHRyIG5zID0gKHhtbE5zUHRyKSB2YWw7CisKKwkgICAgcmV0LT5ub2RlVGFiW3JldC0+bm9kZU5yKytdID0KKwkJeG1sWFBhdGhOb2RlU2V0RHVwTnMoKHhtbE5vZGVQdHIpIG5zLT5uZXh0LCBucyk7CisJfSBlbHNlCisJICAgIHJldC0+bm9kZVRhYltyZXQtPm5vZGVOcisrXSA9IHZhbDsKKyAgICB9CisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogeG1sWFBhdGhOb2RlU2V0Q3JlYXRlU2l6ZToKKyAqIEBzaXplOiAgdGhlIGluaXRpYWwgc2l6ZSBvZiB0aGUgc2V0CisgKgorICogQ3JlYXRlIGEgbmV3IHhtbE5vZGVTZXRQdHIgb2YgdHlwZSBkb3VibGUgYW5kIG9mIHZhbHVlIEB2YWwKKyAqCisgKiBSZXR1cm5zIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdC4KKyAqLworc3RhdGljIHhtbE5vZGVTZXRQdHIKK3htbFhQYXRoTm9kZVNldENyZWF0ZVNpemUoaW50IHNpemUpIHsKKyAgICB4bWxOb2RlU2V0UHRyIHJldDsKKworICAgIHJldCA9ICh4bWxOb2RlU2V0UHRyKSB4bWxNYWxsb2Moc2l6ZW9mKHhtbE5vZGVTZXQpKTsKKyAgICBpZiAocmV0ID09IE5VTEwpIHsKKyAgICAgICAgeG1sWFBhdGhFcnJNZW1vcnkoTlVMTCwgImNyZWF0aW5nIG5vZGVzZXRcbiIpOworCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgbWVtc2V0KHJldCwgMCAsIChzaXplX3QpIHNpemVvZih4bWxOb2RlU2V0KSk7CisgICAgaWYgKHNpemUgPCBYTUxfTk9ERVNFVF9ERUZBVUxUKQorCXNpemUgPSBYTUxfTk9ERVNFVF9ERUZBVUxUOworICAgIHJldC0+bm9kZVRhYiA9ICh4bWxOb2RlUHRyICopIHhtbE1hbGxvYyhzaXplICogc2l6ZW9mKHhtbE5vZGVQdHIpKTsKKyAgICBpZiAocmV0LT5ub2RlVGFiID09IE5VTEwpIHsKKwl4bWxYUGF0aEVyck1lbW9yeShOVUxMLCAiY3JlYXRpbmcgbm9kZXNldFxuIik7CisJeG1sRnJlZShyZXQpOworCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgbWVtc2V0KHJldC0+bm9kZVRhYiwgMCAsIHNpemUgKiAoc2l6ZV90KSBzaXplb2YoeG1sTm9kZVB0cikpOworICAgIHJldC0+bm9kZU1heCA9IHNpemU7CisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogeG1sWFBhdGhOb2RlU2V0Q29udGFpbnM6CisgKiBAY3VyOiAgdGhlIG5vZGUtc2V0CisgKiBAdmFsOiAgdGhlIG5vZGUKKyAqCisgKiBjaGVja3Mgd2hldGhlciBAY3VyIGNvbnRhaW5zIEB2YWwKKyAqCisgKiBSZXR1cm5zIHRydWUgKDEpIGlmIEBjdXIgY29udGFpbnMgQHZhbCwgZmFsc2UgKDApIG90aGVyd2lzZQorICovCitpbnQKK3htbFhQYXRoTm9kZVNldENvbnRhaW5zICh4bWxOb2RlU2V0UHRyIGN1ciwgeG1sTm9kZVB0ciB2YWwpIHsKKyAgICBpbnQgaTsKKworICAgIGlmICgoY3VyID09IE5VTEwpIHx8ICh2YWwgPT0gTlVMTCkpIHJldHVybigwKTsKKyAgICBpZiAodmFsLT50eXBlID09IFhNTF9OQU1FU1BBQ0VfREVDTCkgeworCWZvciAoaSA9IDA7IGkgPCBjdXItPm5vZGVOcjsgaSsrKSB7CisJICAgIGlmIChjdXItPm5vZGVUYWJbaV0tPnR5cGUgPT0gWE1MX05BTUVTUEFDRV9ERUNMKSB7CisJCXhtbE5zUHRyIG5zMSwgbnMyOworCisJCW5zMSA9ICh4bWxOc1B0cikgdmFsOworCQluczIgPSAoeG1sTnNQdHIpIGN1ci0+bm9kZVRhYltpXTsKKwkJaWYgKG5zMSA9PSBuczIpCisJCSAgICByZXR1cm4oMSk7CisJCWlmICgobnMxLT5uZXh0ICE9IE5VTEwpICYmIChuczItPm5leHQgPT0gbnMxLT5uZXh0KSAmJgorCSAgICAgICAgICAgICh4bWxTdHJFcXVhbChuczEtPnByZWZpeCwgbnMyLT5wcmVmaXgpKSkKKwkJICAgIHJldHVybigxKTsKKwkgICAgfQorCX0KKyAgICB9IGVsc2UgeworCWZvciAoaSA9IDA7IGkgPCBjdXItPm5vZGVOcjsgaSsrKSB7CisJICAgIGlmIChjdXItPm5vZGVUYWJbaV0gPT0gdmFsKQorCQlyZXR1cm4oMSk7CisJfQorICAgIH0KKyAgICByZXR1cm4oMCk7Cit9CisKKy8qKgorICogeG1sWFBhdGhOb2RlU2V0QWRkTnM6CisgKiBAY3VyOiAgdGhlIGluaXRpYWwgbm9kZSBzZXQKKyAqIEBub2RlOiAgdGhlIGhvc3Rpbmcgbm9kZQorICogQG5zOiAgYSB0aGUgbmFtZXNwYWNlIG5vZGUKKyAqCisgKiBhZGQgYSBuZXcgbmFtZXNwYWNlIG5vZGUgdG8gYW4gZXhpc3RpbmcgTm9kZVNldAorICoKKyAqIFJldHVybnMgMCBpbiBjYXNlIG9mIHN1Y2Nlc3MgYW5kIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworaW50Cit4bWxYUGF0aE5vZGVTZXRBZGROcyh4bWxOb2RlU2V0UHRyIGN1ciwgeG1sTm9kZVB0ciBub2RlLCB4bWxOc1B0ciBucykgeworICAgIGludCBpOworCisKKyAgICBpZiAoKGN1ciA9PSBOVUxMKSB8fCAobnMgPT0gTlVMTCkgfHwgKG5vZGUgPT0gTlVMTCkgfHwKKyAgICAgICAgKG5zLT50eXBlICE9IFhNTF9OQU1FU1BBQ0VfREVDTCkgfHwKKwkobm9kZS0+dHlwZSAhPSBYTUxfRUxFTUVOVF9OT0RFKSkKKwlyZXR1cm4oLTEpOworCisgICAgLyogQEAgd2l0aF9ucyB0byBjaGVjayB3aGV0aGVyIG5hbWVzcGFjZSBub2RlcyBzaG91bGQgYmUgbG9va2VkIGF0IEBAICovCisgICAgLyoKKyAgICAgKiBwcmV2ZW50IGR1cGxpY2F0ZXMKKyAgICAgKi8KKyAgICBmb3IgKGkgPSAwO2kgPCBjdXItPm5vZGVOcjtpKyspIHsKKyAgICAgICAgaWYgKChjdXItPm5vZGVUYWJbaV0gIT0gTlVMTCkgJiYKKwkgICAgKGN1ci0+bm9kZVRhYltpXS0+dHlwZSA9PSBYTUxfTkFNRVNQQUNFX0RFQ0wpICYmCisJICAgICgoKHhtbE5zUHRyKWN1ci0+bm9kZVRhYltpXSktPm5leHQgPT0gKHhtbE5zUHRyKSBub2RlKSAmJgorCSAgICAoeG1sU3RyRXF1YWwobnMtPnByZWZpeCwgKCh4bWxOc1B0ciljdXItPm5vZGVUYWJbaV0pLT5wcmVmaXgpKSkKKwkgICAgcmV0dXJuKDApOworICAgIH0KKworICAgIC8qCisgICAgICogZ3JvdyB0aGUgbm9kZVRhYiBpZiBuZWVkZWQKKyAgICAgKi8KKyAgICBpZiAoY3VyLT5ub2RlTWF4ID09IDApIHsKKyAgICAgICAgY3VyLT5ub2RlVGFiID0gKHhtbE5vZGVQdHIgKikgeG1sTWFsbG9jKFhNTF9OT0RFU0VUX0RFRkFVTFQgKgorCQkJCQkgICAgIHNpemVvZih4bWxOb2RlUHRyKSk7CisJaWYgKGN1ci0+bm9kZVRhYiA9PSBOVUxMKSB7CisJICAgIHhtbFhQYXRoRXJyTWVtb3J5KE5VTEwsICJncm93aW5nIG5vZGVzZXRcbiIpOworCSAgICByZXR1cm4oLTEpOworCX0KKwltZW1zZXQoY3VyLT5ub2RlVGFiLCAwICwKKwkgICAgICAgWE1MX05PREVTRVRfREVGQVVMVCAqIChzaXplX3QpIHNpemVvZih4bWxOb2RlUHRyKSk7CisgICAgICAgIGN1ci0+bm9kZU1heCA9IFhNTF9OT0RFU0VUX0RFRkFVTFQ7CisgICAgfSBlbHNlIGlmIChjdXItPm5vZGVOciA9PSBjdXItPm5vZGVNYXgpIHsKKyAgICAgICAgeG1sTm9kZVB0ciAqdGVtcDsKKworICAgICAgICBpZiAoY3VyLT5ub2RlTWF4ID49IFhQQVRIX01BWF9OT0RFU0VUX0xFTkdUSCkgeworICAgICAgICAgICAgeG1sWFBhdGhFcnJNZW1vcnkoTlVMTCwgImdyb3dpbmcgbm9kZXNldCBoaXQgbGltaXRcbiIpOworICAgICAgICAgICAgcmV0dXJuKC0xKTsKKyAgICAgICAgfQorCXRlbXAgPSAoeG1sTm9kZVB0ciAqKSB4bWxSZWFsbG9jKGN1ci0+bm9kZVRhYiwgY3VyLT5ub2RlTWF4ICogMiAqCisJCQkJICAgICAgc2l6ZW9mKHhtbE5vZGVQdHIpKTsKKwlpZiAodGVtcCA9PSBOVUxMKSB7CisJICAgIHhtbFhQYXRoRXJyTWVtb3J5KE5VTEwsICJncm93aW5nIG5vZGVzZXRcbiIpOworCSAgICByZXR1cm4oLTEpOworCX0KKyAgICAgICAgY3VyLT5ub2RlTWF4ICo9IDI7CisJY3VyLT5ub2RlVGFiID0gdGVtcDsKKyAgICB9CisgICAgY3VyLT5ub2RlVGFiW2N1ci0+bm9kZU5yKytdID0geG1sWFBhdGhOb2RlU2V0RHVwTnMobm9kZSwgbnMpOworICAgIHJldHVybigwKTsKK30KKworLyoqCisgKiB4bWxYUGF0aE5vZGVTZXRBZGQ6CisgKiBAY3VyOiAgdGhlIGluaXRpYWwgbm9kZSBzZXQKKyAqIEB2YWw6ICBhIG5ldyB4bWxOb2RlUHRyCisgKgorICogYWRkIGEgbmV3IHhtbE5vZGVQdHIgdG8gYW4gZXhpc3RpbmcgTm9kZVNldAorICoKKyAqIFJldHVybnMgMCBpbiBjYXNlIG9mIHN1Y2Nlc3MsIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK2ludAoreG1sWFBhdGhOb2RlU2V0QWRkKHhtbE5vZGVTZXRQdHIgY3VyLCB4bWxOb2RlUHRyIHZhbCkgeworICAgIGludCBpOworCisgICAgaWYgKChjdXIgPT0gTlVMTCkgfHwgKHZhbCA9PSBOVUxMKSkgcmV0dXJuKC0xKTsKKworICAgIC8qIEBAIHdpdGhfbnMgdG8gY2hlY2sgd2hldGhlciBuYW1lc3BhY2Ugbm9kZXMgc2hvdWxkIGJlIGxvb2tlZCBhdCBAQCAqLworICAgIC8qCisgICAgICogcHJldmVudCBkdXBsY2F0ZXMKKyAgICAgKi8KKyAgICBmb3IgKGkgPSAwO2kgPCBjdXItPm5vZGVOcjtpKyspCisgICAgICAgIGlmIChjdXItPm5vZGVUYWJbaV0gPT0gdmFsKSByZXR1cm4oMCk7CisKKyAgICAvKgorICAgICAqIGdyb3cgdGhlIG5vZGVUYWIgaWYgbmVlZGVkCisgICAgICovCisgICAgaWYgKGN1ci0+bm9kZU1heCA9PSAwKSB7CisgICAgICAgIGN1ci0+bm9kZVRhYiA9ICh4bWxOb2RlUHRyICopIHhtbE1hbGxvYyhYTUxfTk9ERVNFVF9ERUZBVUxUICoKKwkJCQkJICAgICBzaXplb2YoeG1sTm9kZVB0cikpOworCWlmIChjdXItPm5vZGVUYWIgPT0gTlVMTCkgeworCSAgICB4bWxYUGF0aEVyck1lbW9yeShOVUxMLCAiZ3Jvd2luZyBub2Rlc2V0XG4iKTsKKwkgICAgcmV0dXJuKC0xKTsKKwl9CisJbWVtc2V0KGN1ci0+bm9kZVRhYiwgMCAsCisJICAgICAgIFhNTF9OT0RFU0VUX0RFRkFVTFQgKiAoc2l6ZV90KSBzaXplb2YoeG1sTm9kZVB0cikpOworICAgICAgICBjdXItPm5vZGVNYXggPSBYTUxfTk9ERVNFVF9ERUZBVUxUOworICAgIH0gZWxzZSBpZiAoY3VyLT5ub2RlTnIgPT0gY3VyLT5ub2RlTWF4KSB7CisgICAgICAgIHhtbE5vZGVQdHIgKnRlbXA7CisKKyAgICAgICAgaWYgKGN1ci0+bm9kZU1heCA+PSBYUEFUSF9NQVhfTk9ERVNFVF9MRU5HVEgpIHsKKyAgICAgICAgICAgIHhtbFhQYXRoRXJyTWVtb3J5KE5VTEwsICJncm93aW5nIG5vZGVzZXQgaGl0IGxpbWl0XG4iKTsKKyAgICAgICAgICAgIHJldHVybigtMSk7CisgICAgICAgIH0KKwl0ZW1wID0gKHhtbE5vZGVQdHIgKikgeG1sUmVhbGxvYyhjdXItPm5vZGVUYWIsIGN1ci0+bm9kZU1heCAqIDIgKgorCQkJCSAgICAgIHNpemVvZih4bWxOb2RlUHRyKSk7CisJaWYgKHRlbXAgPT0gTlVMTCkgeworCSAgICB4bWxYUGF0aEVyck1lbW9yeShOVUxMLCAiZ3Jvd2luZyBub2Rlc2V0XG4iKTsKKwkgICAgcmV0dXJuKC0xKTsKKwl9CisgICAgICAgIGN1ci0+bm9kZU1heCAqPSAyOworCWN1ci0+bm9kZVRhYiA9IHRlbXA7CisgICAgfQorICAgIGlmICh2YWwtPnR5cGUgPT0gWE1MX05BTUVTUEFDRV9ERUNMKSB7CisJeG1sTnNQdHIgbnMgPSAoeG1sTnNQdHIpIHZhbDsKKworCWN1ci0+bm9kZVRhYltjdXItPm5vZGVOcisrXSA9CisJICAgIHhtbFhQYXRoTm9kZVNldER1cE5zKCh4bWxOb2RlUHRyKSBucy0+bmV4dCwgbnMpOworICAgIH0gZWxzZQorCWN1ci0+bm9kZVRhYltjdXItPm5vZGVOcisrXSA9IHZhbDsKKyAgICByZXR1cm4oMCk7Cit9CisKKy8qKgorICogeG1sWFBhdGhOb2RlU2V0QWRkVW5pcXVlOgorICogQGN1cjogIHRoZSBpbml0aWFsIG5vZGUgc2V0CisgKiBAdmFsOiAgYSBuZXcgeG1sTm9kZVB0cgorICoKKyAqIGFkZCBhIG5ldyB4bWxOb2RlUHRyIHRvIGFuIGV4aXN0aW5nIE5vZGVTZXQsIG9wdGltaXplZCB2ZXJzaW9uCisgKiB3aGVuIHdlIGFyZSBzdXJlIHRoZSBub2RlIGlzIG5vdCBhbHJlYWR5IGluIHRoZSBzZXQuCisgKgorICogUmV0dXJucyAwIGluIGNhc2Ugb2Ygc3VjY2VzcyBhbmQgLTEgaW4gY2FzZSBvZiBmYWlsdXJlCisgKi8KK2ludAoreG1sWFBhdGhOb2RlU2V0QWRkVW5pcXVlKHhtbE5vZGVTZXRQdHIgY3VyLCB4bWxOb2RlUHRyIHZhbCkgeworICAgIGlmICgoY3VyID09IE5VTEwpIHx8ICh2YWwgPT0gTlVMTCkpIHJldHVybigtMSk7CisKKyAgICAvKiBAQCB3aXRoX25zIHRvIGNoZWNrIHdoZXRoZXIgbmFtZXNwYWNlIG5vZGVzIHNob3VsZCBiZSBsb29rZWQgYXQgQEAgKi8KKyAgICAvKgorICAgICAqIGdyb3cgdGhlIG5vZGVUYWIgaWYgbmVlZGVkCisgICAgICovCisgICAgaWYgKGN1ci0+bm9kZU1heCA9PSAwKSB7CisgICAgICAgIGN1ci0+bm9kZVRhYiA9ICh4bWxOb2RlUHRyICopIHhtbE1hbGxvYyhYTUxfTk9ERVNFVF9ERUZBVUxUICoKKwkJCQkJICAgICBzaXplb2YoeG1sTm9kZVB0cikpOworCWlmIChjdXItPm5vZGVUYWIgPT0gTlVMTCkgeworCSAgICB4bWxYUGF0aEVyck1lbW9yeShOVUxMLCAiZ3Jvd2luZyBub2Rlc2V0XG4iKTsKKwkgICAgcmV0dXJuKC0xKTsKKwl9CisJbWVtc2V0KGN1ci0+bm9kZVRhYiwgMCAsCisJICAgICAgIFhNTF9OT0RFU0VUX0RFRkFVTFQgKiAoc2l6ZV90KSBzaXplb2YoeG1sTm9kZVB0cikpOworICAgICAgICBjdXItPm5vZGVNYXggPSBYTUxfTk9ERVNFVF9ERUZBVUxUOworICAgIH0gZWxzZSBpZiAoY3VyLT5ub2RlTnIgPT0gY3VyLT5ub2RlTWF4KSB7CisgICAgICAgIHhtbE5vZGVQdHIgKnRlbXA7CisKKyAgICAgICAgaWYgKGN1ci0+bm9kZU1heCA+PSBYUEFUSF9NQVhfTk9ERVNFVF9MRU5HVEgpIHsKKyAgICAgICAgICAgIHhtbFhQYXRoRXJyTWVtb3J5KE5VTEwsICJncm93aW5nIG5vZGVzZXQgaGl0IGxpbWl0XG4iKTsKKyAgICAgICAgICAgIHJldHVybigtMSk7CisgICAgICAgIH0KKwl0ZW1wID0gKHhtbE5vZGVQdHIgKikgeG1sUmVhbGxvYyhjdXItPm5vZGVUYWIsIGN1ci0+bm9kZU1heCAqIDIgKgorCQkJCSAgICAgIHNpemVvZih4bWxOb2RlUHRyKSk7CisJaWYgKHRlbXAgPT0gTlVMTCkgeworCSAgICB4bWxYUGF0aEVyck1lbW9yeShOVUxMLCAiZ3Jvd2luZyBub2Rlc2V0XG4iKTsKKwkgICAgcmV0dXJuKC0xKTsKKwl9CisJY3VyLT5ub2RlVGFiID0gdGVtcDsKKyAgICAgICAgY3VyLT5ub2RlTWF4ICo9IDI7CisgICAgfQorICAgIGlmICh2YWwtPnR5cGUgPT0gWE1MX05BTUVTUEFDRV9ERUNMKSB7CisJeG1sTnNQdHIgbnMgPSAoeG1sTnNQdHIpIHZhbDsKKworCWN1ci0+bm9kZVRhYltjdXItPm5vZGVOcisrXSA9CisJICAgIHhtbFhQYXRoTm9kZVNldER1cE5zKCh4bWxOb2RlUHRyKSBucy0+bmV4dCwgbnMpOworICAgIH0gZWxzZQorCWN1ci0+bm9kZVRhYltjdXItPm5vZGVOcisrXSA9IHZhbDsKKyAgICByZXR1cm4oMCk7Cit9CisKKy8qKgorICogeG1sWFBhdGhOb2RlU2V0TWVyZ2U6CisgKiBAdmFsMTogIHRoZSBmaXJzdCBOb2RlU2V0IG9yIE5VTEwKKyAqIEB2YWwyOiAgdGhlIHNlY29uZCBOb2RlU2V0CisgKgorICogTWVyZ2VzIHR3byBub2Rlc2V0cywgYWxsIG5vZGVzIGZyb20gQHZhbDIgYXJlIGFkZGVkIHRvIEB2YWwxCisgKiBpZiBAdmFsMSBpcyBOVUxMLCBhIG5ldyBzZXQgaXMgY3JlYXRlZCBhbmQgY29waWVkIGZyb20gQHZhbDIKKyAqCisgKiBSZXR1cm5zIEB2YWwxIG9uY2UgZXh0ZW5kZWQgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLgorICovCit4bWxOb2RlU2V0UHRyCit4bWxYUGF0aE5vZGVTZXRNZXJnZSh4bWxOb2RlU2V0UHRyIHZhbDEsIHhtbE5vZGVTZXRQdHIgdmFsMikgeworICAgIGludCBpLCBqLCBpbml0TnIsIHNraXA7CisgICAgeG1sTm9kZVB0ciBuMSwgbjI7CisKKyAgICBpZiAodmFsMiA9PSBOVUxMKSByZXR1cm4odmFsMSk7CisgICAgaWYgKHZhbDEgPT0gTlVMTCkgeworCXZhbDEgPSB4bWxYUGF0aE5vZGVTZXRDcmVhdGUoTlVMTCk7CisgICAgaWYgKHZhbDEgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIChOVUxMKTsKKyNpZiAwCisJLyoKKwkqIFRPRE86IFRoZSBvcHRpbWl6YXRpb24gd29uJ3Qgd29yayBpbiBldmVyeSBjYXNlLCBzaW5jZQorCSogIHRob3NlIG5hc3R5IG5hbWVzcGFjZSBub2RlcyBuZWVkIHRvIGJlIGFkZGVkIHdpdGgKKwkqICB4bWxYUGF0aE5vZGVTZXREdXBOcygpIHRvIHRoZSBzZXQ7IHRodXMgYSBwdXJlCisJKiAgbWVtY3B5IGlzIG5vdCBwb3NzaWJsZS4KKwkqICBJZiB0aGVyZSB3YXMgYSBmbGFnIG9uIHRoZSBub2Rlc2V0dmFsLCBpbmRpY2F0aW5nIHRoYXQKKwkqICBzb21lIHRlbXBvcmFyeSBub2RlcyBhcmUgaW4sIHRoYXQgd291bGQgYmUgaGVscGZ1bGwuCisJKi8KKwkvKgorCSogT3B0aW1pemF0aW9uOiBDcmVhdGUgYW4gZXF1YWxseSBzaXplZCBub2RlLXNldAorCSogYW5kIG1lbWNweSB0aGUgY29udGVudC4KKwkqLworCXZhbDEgPSB4bWxYUGF0aE5vZGVTZXRDcmVhdGVTaXplKHZhbDItPm5vZGVOcik7CisJaWYgKHZhbDEgPT0gTlVMTCkKKwkgICAgcmV0dXJuKE5VTEwpOworCWlmICh2YWwyLT5ub2RlTnIgIT0gMCkgeworCSAgICBpZiAodmFsMi0+bm9kZU5yID09IDEpCisJCSoodmFsMS0+bm9kZVRhYikgPSAqKHZhbDItPm5vZGVUYWIpOworCSAgICBlbHNlIHsKKwkJbWVtY3B5KHZhbDEtPm5vZGVUYWIsIHZhbDItPm5vZGVUYWIsCisJCSAgICB2YWwyLT5ub2RlTnIgKiBzaXplb2YoeG1sTm9kZVB0cikpOworCSAgICB9CisJICAgIHZhbDEtPm5vZGVOciA9IHZhbDItPm5vZGVOcjsKKwl9CisJcmV0dXJuKHZhbDEpOworI2VuZGlmCisgICAgfQorCisgICAgLyogQEAgd2l0aF9ucyB0byBjaGVjayB3aGV0aGVyIG5hbWVzcGFjZSBub2RlcyBzaG91bGQgYmUgbG9va2VkIGF0IEBAICovCisgICAgaW5pdE5yID0gdmFsMS0+bm9kZU5yOworCisgICAgZm9yIChpID0gMDtpIDwgdmFsMi0+bm9kZU5yO2krKykgeworCW4yID0gdmFsMi0+bm9kZVRhYltpXTsKKwkvKgorCSAqIGNoZWNrIGFnYWluc3QgZHVwbGljYXRlcworCSAqLworCXNraXAgPSAwOworCWZvciAoaiA9IDA7IGogPCBpbml0TnI7IGorKykgeworCSAgICBuMSA9IHZhbDEtPm5vZGVUYWJbal07CisJICAgIGlmIChuMSA9PSBuMikgeworCQlza2lwID0gMTsKKwkJYnJlYWs7CisJICAgIH0gZWxzZSBpZiAoKG4xLT50eXBlID09IFhNTF9OQU1FU1BBQ0VfREVDTCkgJiYKKwkJICAgICAgIChuMi0+dHlwZSA9PSBYTUxfTkFNRVNQQUNFX0RFQ0wpKSB7CisJCWlmICgoKCh4bWxOc1B0cikgbjEpLT5uZXh0ID09ICgoeG1sTnNQdHIpIG4yKS0+bmV4dCkgJiYKKwkJICAgICh4bWxTdHJFcXVhbCgoKHhtbE5zUHRyKSBuMSktPnByZWZpeCwKKwkJCSgoeG1sTnNQdHIpIG4yKS0+cHJlZml4KSkpCisJCXsKKwkJICAgIHNraXAgPSAxOworCQkgICAgYnJlYWs7CisJCX0KKwkgICAgfQorCX0KKwlpZiAoc2tpcCkKKwkgICAgY29udGludWU7CisKKwkvKgorCSAqIGdyb3cgdGhlIG5vZGVUYWIgaWYgbmVlZGVkCisJICovCisJaWYgKHZhbDEtPm5vZGVNYXggPT0gMCkgeworCSAgICB2YWwxLT5ub2RlVGFiID0gKHhtbE5vZGVQdHIgKikgeG1sTWFsbG9jKFhNTF9OT0RFU0VUX0RFRkFVTFQgKgorCQkJCQkJICAgIHNpemVvZih4bWxOb2RlUHRyKSk7CisJICAgIGlmICh2YWwxLT5ub2RlVGFiID09IE5VTEwpIHsKKwkgICAgICAgIHhtbFhQYXRoRXJyTWVtb3J5KE5VTEwsICJtZXJnaW5nIG5vZGVzZXRcbiIpOworCQlyZXR1cm4oTlVMTCk7CisJICAgIH0KKwkgICAgbWVtc2V0KHZhbDEtPm5vZGVUYWIsIDAgLAorCQkgICBYTUxfTk9ERVNFVF9ERUZBVUxUICogKHNpemVfdCkgc2l6ZW9mKHhtbE5vZGVQdHIpKTsKKwkgICAgdmFsMS0+bm9kZU1heCA9IFhNTF9OT0RFU0VUX0RFRkFVTFQ7CisJfSBlbHNlIGlmICh2YWwxLT5ub2RlTnIgPT0gdmFsMS0+bm9kZU1heCkgeworCSAgICB4bWxOb2RlUHRyICp0ZW1wOworCisgICAgICAgICAgICBpZiAodmFsMS0+bm9kZU1heCA+PSBYUEFUSF9NQVhfTk9ERVNFVF9MRU5HVEgpIHsKKyAgICAgICAgICAgICAgICB4bWxYUGF0aEVyck1lbW9yeShOVUxMLCAibWVyZ2luZyBub2Rlc2V0IGhpdCBsaW1pdFxuIik7CisgICAgICAgICAgICAgICAgcmV0dXJuKE5VTEwpOworICAgICAgICAgICAgfQorCSAgICB0ZW1wID0gKHhtbE5vZGVQdHIgKikgeG1sUmVhbGxvYyh2YWwxLT5ub2RlVGFiLCB2YWwxLT5ub2RlTWF4ICogMiAqCisJCQkJCSAgICAgc2l6ZW9mKHhtbE5vZGVQdHIpKTsKKwkgICAgaWYgKHRlbXAgPT0gTlVMTCkgeworCSAgICAgICAgeG1sWFBhdGhFcnJNZW1vcnkoTlVMTCwgIm1lcmdpbmcgbm9kZXNldFxuIik7CisJCXJldHVybihOVUxMKTsKKwkgICAgfQorCSAgICB2YWwxLT5ub2RlVGFiID0gdGVtcDsKKwkgICAgdmFsMS0+bm9kZU1heCAqPSAyOworCX0KKwlpZiAobjItPnR5cGUgPT0gWE1MX05BTUVTUEFDRV9ERUNMKSB7CisJICAgIHhtbE5zUHRyIG5zID0gKHhtbE5zUHRyKSBuMjsKKworCSAgICB2YWwxLT5ub2RlVGFiW3ZhbDEtPm5vZGVOcisrXSA9CisJCXhtbFhQYXRoTm9kZVNldER1cE5zKCh4bWxOb2RlUHRyKSBucy0+bmV4dCwgbnMpOworCX0gZWxzZQorCSAgICB2YWwxLT5ub2RlVGFiW3ZhbDEtPm5vZGVOcisrXSA9IG4yOworICAgIH0KKworICAgIHJldHVybih2YWwxKTsKK30KKworCisvKioKKyAqIHhtbFhQYXRoTm9kZVNldE1lcmdlQW5kQ2xlYXI6CisgKiBAc2V0MTogIHRoZSBmaXJzdCBOb2RlU2V0IG9yIE5VTEwKKyAqIEBzZXQyOiAgdGhlIHNlY29uZCBOb2RlU2V0CisgKiBAaGFzU2V0Mk5zTm9kZXM6IDEgaWYgc2V0MiBjb250YWlucyBuYW1lc3BhY2VzIG5vZGVzCisgKgorICogTWVyZ2VzIHR3byBub2Rlc2V0cywgYWxsIG5vZGVzIGZyb20gQHNldDIgYXJlIGFkZGVkIHRvIEBzZXQxCisgKiBpZiBAc2V0MSBpcyBOVUxMLCBhIG5ldyBzZXQgaXMgY3JlYXRlZCBhbmQgY29waWVkIGZyb20gQHNldDIuCisgKiBDaGVja3MgZm9yIGR1cGxpY2F0ZSBub2Rlcy4gQ2xlYXJzIHNldDIuCisgKgorICogUmV0dXJucyBAc2V0MSBvbmNlIGV4dGVuZGVkIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworc3RhdGljIHhtbE5vZGVTZXRQdHIKK3htbFhQYXRoTm9kZVNldE1lcmdlQW5kQ2xlYXIoeG1sTm9kZVNldFB0ciBzZXQxLCB4bWxOb2RlU2V0UHRyIHNldDIsCisJCQkgICAgIGludCBoYXNOdWxsRW50cmllcykKK3sKKyAgICBpZiAoKHNldDEgPT0gTlVMTCkgJiYgKGhhc051bGxFbnRyaWVzID09IDApKSB7CisJLyoKKwkqIE5vdGUgdGhhdCBkb2luZyBhIG1lbWNweSBvZiB0aGUgbGlzdCwgbmFtZXNwYWNlIG5vZGVzIGFyZQorCSoganVzdCBhc3NpZ25lZCB0byBzZXQxLCBzaW5jZSBzZXQyIGlzIGNsZWFyZWQgYW55d2F5LgorCSovCisJc2V0MSA9IHhtbFhQYXRoTm9kZVNldENyZWF0ZVNpemUoc2V0Mi0+bm9kZU5yKTsKKwlpZiAoc2V0MSA9PSBOVUxMKQorCSAgICByZXR1cm4oTlVMTCk7CisJaWYgKHNldDItPm5vZGVOciAhPSAwKSB7CisJICAgIG1lbWNweShzZXQxLT5ub2RlVGFiLCBzZXQyLT5ub2RlVGFiLAorCQlzZXQyLT5ub2RlTnIgKiBzaXplb2YoeG1sTm9kZVB0cikpOworCSAgICBzZXQxLT5ub2RlTnIgPSBzZXQyLT5ub2RlTnI7CisJfQorICAgIH0gZWxzZSB7CisJaW50IGksIGosIGluaXROYlNldDE7CisJeG1sTm9kZVB0ciBuMSwgbjI7CisKKwlpZiAoc2V0MSA9PSBOVUxMKQorICAgICAgICAgICAgc2V0MSA9IHhtbFhQYXRoTm9kZVNldENyZWF0ZShOVUxMKTsKKyAgICAgICAgaWYgKHNldDEgPT0gTlVMTCkKKyAgICAgICAgICAgIHJldHVybiAoTlVMTCk7CisKKwlpbml0TmJTZXQxID0gc2V0MS0+bm9kZU5yOworCWZvciAoaSA9IDA7aSA8IHNldDItPm5vZGVOcjtpKyspIHsKKwkgICAgbjIgPSBzZXQyLT5ub2RlVGFiW2ldOworCSAgICAvKgorCSAgICAqIFNraXAgTlVMTGVkIGVudHJpZXMuCisJICAgICovCisJICAgIGlmIChuMiA9PSBOVUxMKQorCQljb250aW51ZTsKKwkgICAgLyoKKwkgICAgKiBTa2lwIGR1cGxpY2F0ZXMuCisJICAgICovCisJICAgIGZvciAoaiA9IDA7IGogPCBpbml0TmJTZXQxOyBqKyspIHsKKwkJbjEgPSBzZXQxLT5ub2RlVGFiW2pdOworCQlpZiAobjEgPT0gbjIpIHsKKwkJICAgIGdvdG8gc2tpcF9ub2RlOworCQl9IGVsc2UgaWYgKChuMS0+dHlwZSA9PSBYTUxfTkFNRVNQQUNFX0RFQ0wpICYmCisJCSAgICAobjItPnR5cGUgPT0gWE1MX05BTUVTUEFDRV9ERUNMKSkKKwkJeworCQkgICAgaWYgKCgoKHhtbE5zUHRyKSBuMSktPm5leHQgPT0gKCh4bWxOc1B0cikgbjIpLT5uZXh0KSAmJgorCQkJKHhtbFN0ckVxdWFsKCgoeG1sTnNQdHIpIG4xKS0+cHJlZml4LAorCQkJKCh4bWxOc1B0cikgbjIpLT5wcmVmaXgpKSkKKwkJICAgIHsKKwkJCS8qCisJCQkqIEZyZWUgdGhlIG5hbWVzcGFjZSBub2RlLgorCQkJKi8KKwkJCXNldDItPm5vZGVUYWJbaV0gPSBOVUxMOworCQkJeG1sWFBhdGhOb2RlU2V0RnJlZU5zKCh4bWxOc1B0cikgbjIpOworCQkJZ290byBza2lwX25vZGU7CisJCSAgICB9CisJCX0KKwkgICAgfQorCSAgICAvKgorCSAgICAqIGdyb3cgdGhlIG5vZGVUYWIgaWYgbmVlZGVkCisJICAgICovCisJICAgIGlmIChzZXQxLT5ub2RlTWF4ID09IDApIHsKKwkJc2V0MS0+bm9kZVRhYiA9ICh4bWxOb2RlUHRyICopIHhtbE1hbGxvYygKKwkJICAgIFhNTF9OT0RFU0VUX0RFRkFVTFQgKiBzaXplb2YoeG1sTm9kZVB0cikpOworCQlpZiAoc2V0MS0+bm9kZVRhYiA9PSBOVUxMKSB7CisJCSAgICB4bWxYUGF0aEVyck1lbW9yeShOVUxMLCAibWVyZ2luZyBub2Rlc2V0XG4iKTsKKwkJICAgIHJldHVybihOVUxMKTsKKwkJfQorCQltZW1zZXQoc2V0MS0+bm9kZVRhYiwgMCwKKwkJICAgIFhNTF9OT0RFU0VUX0RFRkFVTFQgKiAoc2l6ZV90KSBzaXplb2YoeG1sTm9kZVB0cikpOworCQlzZXQxLT5ub2RlTWF4ID0gWE1MX05PREVTRVRfREVGQVVMVDsKKwkgICAgfSBlbHNlIGlmIChzZXQxLT5ub2RlTnIgPj0gc2V0MS0+bm9kZU1heCkgeworCQl4bWxOb2RlUHRyICp0ZW1wOworCisgICAgICAgICAgICAgICAgaWYgKHNldDEtPm5vZGVNYXggPj0gWFBBVEhfTUFYX05PREVTRVRfTEVOR1RIKSB7CisgICAgICAgICAgICAgICAgICAgIHhtbFhQYXRoRXJyTWVtb3J5KE5VTEwsICJtZXJnaW5nIG5vZGVzZXQgaGl0IGxpbWl0XG4iKTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuKE5VTEwpOworICAgICAgICAgICAgICAgIH0KKwkJdGVtcCA9ICh4bWxOb2RlUHRyICopIHhtbFJlYWxsb2MoCisJCSAgICBzZXQxLT5ub2RlVGFiLCBzZXQxLT5ub2RlTWF4ICogMiAqIHNpemVvZih4bWxOb2RlUHRyKSk7CisJCWlmICh0ZW1wID09IE5VTEwpIHsKKwkJICAgIHhtbFhQYXRoRXJyTWVtb3J5KE5VTEwsICJtZXJnaW5nIG5vZGVzZXRcbiIpOworCQkgICAgcmV0dXJuKE5VTEwpOworCQl9CisJCXNldDEtPm5vZGVUYWIgPSB0ZW1wOworCQlzZXQxLT5ub2RlTWF4ICo9IDI7CisJICAgIH0KKwkgICAgaWYgKG4yLT50eXBlID09IFhNTF9OQU1FU1BBQ0VfREVDTCkgeworCQl4bWxOc1B0ciBucyA9ICh4bWxOc1B0cikgbjI7CisKKwkJc2V0MS0+bm9kZVRhYltzZXQxLT5ub2RlTnIrK10gPQorCQkgICAgeG1sWFBhdGhOb2RlU2V0RHVwTnMoKHhtbE5vZGVQdHIpIG5zLT5uZXh0LCBucyk7CisJICAgIH0gZWxzZQorCQlzZXQxLT5ub2RlVGFiW3NldDEtPm5vZGVOcisrXSA9IG4yOworc2tpcF9ub2RlOgorCSAgICB7fQorCX0KKyAgICB9CisgICAgc2V0Mi0+bm9kZU5yID0gMDsKKyAgICByZXR1cm4oc2V0MSk7Cit9CisKKy8qKgorICogeG1sWFBhdGhOb2RlU2V0TWVyZ2VBbmRDbGVhck5vRHVwbHM6CisgKiBAc2V0MTogIHRoZSBmaXJzdCBOb2RlU2V0IG9yIE5VTEwKKyAqIEBzZXQyOiAgdGhlIHNlY29uZCBOb2RlU2V0CisgKiBAaGFzU2V0Mk5zTm9kZXM6IDEgaWYgc2V0MiBjb250YWlucyBuYW1lc3BhY2VzIG5vZGVzCisgKgorICogTWVyZ2VzIHR3byBub2Rlc2V0cywgYWxsIG5vZGVzIGZyb20gQHNldDIgYXJlIGFkZGVkIHRvIEBzZXQxCisgKiBpZiBAc2V0MSBpcyBOVUxMLCBhIG5ldyBzZXQgaXMgY3JlYXRlZCBhbmQgY29waWVkIGZyb20gQHNldDIuCisgKiBEb2Vzbid0IGNoYWNrIGZvciBkdXBsaWNhdGUgbm9kZXMuIENsZWFycyBzZXQyLgorICoKKyAqIFJldHVybnMgQHNldDEgb25jZSBleHRlbmRlZCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK3N0YXRpYyB4bWxOb2RlU2V0UHRyCit4bWxYUGF0aE5vZGVTZXRNZXJnZUFuZENsZWFyTm9EdXBscyh4bWxOb2RlU2V0UHRyIHNldDEsIHhtbE5vZGVTZXRQdHIgc2V0MiwKKwkJCQkgICAgaW50IGhhc051bGxFbnRyaWVzKQoreworICAgIGlmIChzZXQyID09IE5VTEwpCisJcmV0dXJuKHNldDEpOworICAgIGlmICgoc2V0MSA9PSBOVUxMKSAmJiAoaGFzTnVsbEVudHJpZXMgPT0gMCkpIHsKKwkvKgorCSogTm90ZSB0aGF0IGRvaW5nIGEgbWVtY3B5IG9mIHRoZSBsaXN0LCBuYW1lc3BhY2Ugbm9kZXMgYXJlCisJKiBqdXN0IGFzc2lnbmVkIHRvIHNldDEsIHNpbmNlIHNldDIgaXMgY2xlYXJlZCBhbnl3YXkuCisJKi8KKwlzZXQxID0geG1sWFBhdGhOb2RlU2V0Q3JlYXRlU2l6ZShzZXQyLT5ub2RlTnIpOworCWlmIChzZXQxID09IE5VTEwpCisJICAgIHJldHVybihOVUxMKTsKKwlpZiAoc2V0Mi0+bm9kZU5yICE9IDApIHsKKwkgICAgbWVtY3B5KHNldDEtPm5vZGVUYWIsIHNldDItPm5vZGVUYWIsCisJCXNldDItPm5vZGVOciAqIHNpemVvZih4bWxOb2RlUHRyKSk7CisJICAgIHNldDEtPm5vZGVOciA9IHNldDItPm5vZGVOcjsKKwl9CisgICAgfSBlbHNlIHsKKwlpbnQgaTsKKwl4bWxOb2RlUHRyIG4yOworCisJaWYgKHNldDEgPT0gTlVMTCkKKwkgICAgc2V0MSA9IHhtbFhQYXRoTm9kZVNldENyZWF0ZShOVUxMKTsKKyAgICAgICAgaWYgKHNldDEgPT0gTlVMTCkKKyAgICAgICAgICAgIHJldHVybiAoTlVMTCk7CisKKwlmb3IgKGkgPSAwO2kgPCBzZXQyLT5ub2RlTnI7aSsrKSB7CisJICAgIG4yID0gc2V0Mi0+bm9kZVRhYltpXTsKKwkgICAgLyoKKwkgICAgKiBTa2lwIE5VTExlZCBlbnRyaWVzLgorCSAgICAqLworCSAgICBpZiAobjIgPT0gTlVMTCkKKwkJY29udGludWU7CisJICAgIGlmIChzZXQxLT5ub2RlTWF4ID09IDApIHsKKwkJc2V0MS0+bm9kZVRhYiA9ICh4bWxOb2RlUHRyICopIHhtbE1hbGxvYygKKwkJICAgIFhNTF9OT0RFU0VUX0RFRkFVTFQgKiBzaXplb2YoeG1sTm9kZVB0cikpOworCQlpZiAoc2V0MS0+bm9kZVRhYiA9PSBOVUxMKSB7CisJCSAgICB4bWxYUGF0aEVyck1lbW9yeShOVUxMLCAibWVyZ2luZyBub2Rlc2V0XG4iKTsKKwkJICAgIHJldHVybihOVUxMKTsKKwkJfQorCQltZW1zZXQoc2V0MS0+bm9kZVRhYiwgMCwKKwkJICAgIFhNTF9OT0RFU0VUX0RFRkFVTFQgKiAoc2l6ZV90KSBzaXplb2YoeG1sTm9kZVB0cikpOworCQlzZXQxLT5ub2RlTWF4ID0gWE1MX05PREVTRVRfREVGQVVMVDsKKwkgICAgfSBlbHNlIGlmIChzZXQxLT5ub2RlTnIgPj0gc2V0MS0+bm9kZU1heCkgeworCQl4bWxOb2RlUHRyICp0ZW1wOworCisgICAgICAgICAgICAgICAgaWYgKHNldDEtPm5vZGVNYXggPj0gWFBBVEhfTUFYX05PREVTRVRfTEVOR1RIKSB7CisgICAgICAgICAgICAgICAgICAgIHhtbFhQYXRoRXJyTWVtb3J5KE5VTEwsICJtZXJnaW5nIG5vZGVzZXQgaGl0IGxpbWl0XG4iKTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuKE5VTEwpOworICAgICAgICAgICAgICAgIH0KKwkJdGVtcCA9ICh4bWxOb2RlUHRyICopIHhtbFJlYWxsb2MoCisJCSAgICBzZXQxLT5ub2RlVGFiLCBzZXQxLT5ub2RlTWF4ICogMiAqIHNpemVvZih4bWxOb2RlUHRyKSk7CisJCWlmICh0ZW1wID09IE5VTEwpIHsKKwkJICAgIHhtbFhQYXRoRXJyTWVtb3J5KE5VTEwsICJtZXJnaW5nIG5vZGVzZXRcbiIpOworCQkgICAgcmV0dXJuKE5VTEwpOworCQl9CisJCXNldDEtPm5vZGVUYWIgPSB0ZW1wOworCQlzZXQxLT5ub2RlTWF4ICo9IDI7CisJICAgIH0KKwkgICAgc2V0MS0+bm9kZVRhYltzZXQxLT5ub2RlTnIrK10gPSBuMjsKKwl9CisgICAgfQorICAgIHNldDItPm5vZGVOciA9IDA7CisgICAgcmV0dXJuKHNldDEpOworfQorCisvKioKKyAqIHhtbFhQYXRoTm9kZVNldERlbDoKKyAqIEBjdXI6ICB0aGUgaW5pdGlhbCBub2RlIHNldAorICogQHZhbDogIGFuIHhtbE5vZGVQdHIKKyAqCisgKiBSZW1vdmVzIGFuIHhtbE5vZGVQdHIgZnJvbSBhbiBleGlzdGluZyBOb2RlU2V0CisgKi8KK3ZvaWQKK3htbFhQYXRoTm9kZVNldERlbCh4bWxOb2RlU2V0UHRyIGN1ciwgeG1sTm9kZVB0ciB2YWwpIHsKKyAgICBpbnQgaTsKKworICAgIGlmIChjdXIgPT0gTlVMTCkgcmV0dXJuOworICAgIGlmICh2YWwgPT0gTlVMTCkgcmV0dXJuOworCisgICAgLyoKKyAgICAgKiBmaW5kIG5vZGUgaW4gbm9kZVRhYgorICAgICAqLworICAgIGZvciAoaSA9IDA7aSA8IGN1ci0+bm9kZU5yO2krKykKKyAgICAgICAgaWYgKGN1ci0+bm9kZVRhYltpXSA9PSB2YWwpIGJyZWFrOworCisgICAgaWYgKGkgPj0gY3VyLT5ub2RlTnIpIHsJLyogbm90IGZvdW5kICovCisjaWZkZWYgREVCVUcKKyAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJICAgICAgICAieG1sWFBhdGhOb2RlU2V0RGVsOiBOb2RlICVzIHdhc24ndCBmb3VuZCBpbiBOb2RlTGlzdFxuIiwKKwkJdmFsLT5uYW1lKTsKKyNlbmRpZgorICAgICAgICByZXR1cm47CisgICAgfQorICAgIGlmICgoY3VyLT5ub2RlVGFiW2ldICE9IE5VTEwpICYmCisJKGN1ci0+bm9kZVRhYltpXS0+dHlwZSA9PSBYTUxfTkFNRVNQQUNFX0RFQ0wpKQorCXhtbFhQYXRoTm9kZVNldEZyZWVOcygoeG1sTnNQdHIpIGN1ci0+bm9kZVRhYltpXSk7CisgICAgY3VyLT5ub2RlTnItLTsKKyAgICBmb3IgKDtpIDwgY3VyLT5ub2RlTnI7aSsrKQorICAgICAgICBjdXItPm5vZGVUYWJbaV0gPSBjdXItPm5vZGVUYWJbaSArIDFdOworICAgIGN1ci0+bm9kZVRhYltjdXItPm5vZGVOcl0gPSBOVUxMOworfQorCisvKioKKyAqIHhtbFhQYXRoTm9kZVNldFJlbW92ZToKKyAqIEBjdXI6ICB0aGUgaW5pdGlhbCBub2RlIHNldAorICogQHZhbDogIHRoZSBpbmRleCB0byByZW1vdmUKKyAqCisgKiBSZW1vdmVzIGFuIGVudHJ5IGZyb20gYW4gZXhpc3RpbmcgTm9kZVNldCBsaXN0LgorICovCit2b2lkCit4bWxYUGF0aE5vZGVTZXRSZW1vdmUoeG1sTm9kZVNldFB0ciBjdXIsIGludCB2YWwpIHsKKyAgICBpZiAoY3VyID09IE5VTEwpIHJldHVybjsKKyAgICBpZiAodmFsID49IGN1ci0+bm9kZU5yKSByZXR1cm47CisgICAgaWYgKChjdXItPm5vZGVUYWJbdmFsXSAhPSBOVUxMKSAmJgorCShjdXItPm5vZGVUYWJbdmFsXS0+dHlwZSA9PSBYTUxfTkFNRVNQQUNFX0RFQ0wpKQorCXhtbFhQYXRoTm9kZVNldEZyZWVOcygoeG1sTnNQdHIpIGN1ci0+bm9kZVRhYlt2YWxdKTsKKyAgICBjdXItPm5vZGVOci0tOworICAgIGZvciAoO3ZhbCA8IGN1ci0+bm9kZU5yO3ZhbCsrKQorICAgICAgICBjdXItPm5vZGVUYWJbdmFsXSA9IGN1ci0+bm9kZVRhYlt2YWwgKyAxXTsKKyAgICBjdXItPm5vZGVUYWJbY3VyLT5ub2RlTnJdID0gTlVMTDsKK30KKworLyoqCisgKiB4bWxYUGF0aEZyZWVOb2RlU2V0OgorICogQG9iajogIHRoZSB4bWxOb2RlU2V0UHRyIHRvIGZyZWUKKyAqCisgKiBGcmVlIHRoZSBOb2RlU2V0IGNvbXBvdW5kIChub3QgdGhlIGFjdHVhbCBub2RlcyAhKS4KKyAqLwordm9pZAoreG1sWFBhdGhGcmVlTm9kZVNldCh4bWxOb2RlU2V0UHRyIG9iaikgeworICAgIGlmIChvYmogPT0gTlVMTCkgcmV0dXJuOworICAgIGlmIChvYmotPm5vZGVUYWIgIT0gTlVMTCkgeworCWludCBpOworCisJLyogQEAgd2l0aF9ucyB0byBjaGVjayB3aGV0aGVyIG5hbWVzcGFjZSBub2RlcyBzaG91bGQgYmUgbG9va2VkIGF0IEBAICovCisJZm9yIChpID0gMDtpIDwgb2JqLT5ub2RlTnI7aSsrKQorCSAgICBpZiAoKG9iai0+bm9kZVRhYltpXSAhPSBOVUxMKSAmJgorCQkob2JqLT5ub2RlVGFiW2ldLT50eXBlID09IFhNTF9OQU1FU1BBQ0VfREVDTCkpCisJCXhtbFhQYXRoTm9kZVNldEZyZWVOcygoeG1sTnNQdHIpIG9iai0+bm9kZVRhYltpXSk7CisJeG1sRnJlZShvYmotPm5vZGVUYWIpOworICAgIH0KKyAgICB4bWxGcmVlKG9iaik7Cit9CisKKy8qKgorICogeG1sWFBhdGhOb2RlU2V0Q2xlYXI6CisgKiBAc2V0OiAgdGhlIG5vZGUgc2V0IHRvIGNsZWFyCisgKgorICogQ2xlYXJzIHRoZSBsaXN0IGZyb20gYWxsIHRlbXBvcmFyeSBYUGF0aCBvYmplY3RzIChlLmcuIG5hbWVzcGFjZSBub2RlcworICogYXJlIGZlZWQpLCBidXQgZG9lcyAqbm90KiBmcmVlIHRoZSBsaXN0IGl0c2VsZi4gU2V0cyB0aGUgbGVuZ3RoIG9mIHRoZQorICogbGlzdCB0byAwLgorICovCitzdGF0aWMgdm9pZAoreG1sWFBhdGhOb2RlU2V0Q2xlYXIoeG1sTm9kZVNldFB0ciBzZXQsIGludCBoYXNOc05vZGVzKQoreworICAgIGlmICgoc2V0ID09IE5VTEwpIHx8IChzZXQtPm5vZGVOciA8PSAwKSkKKwlyZXR1cm47CisgICAgZWxzZSBpZiAoaGFzTnNOb2RlcykgeworCWludCBpOworCXhtbE5vZGVQdHIgbm9kZTsKKworCWZvciAoaSA9IDA7IGkgPCBzZXQtPm5vZGVOcjsgaSsrKSB7CisJICAgIG5vZGUgPSBzZXQtPm5vZGVUYWJbaV07CisJICAgIGlmICgobm9kZSAhPSBOVUxMKSAmJgorCQkobm9kZS0+dHlwZSA9PSBYTUxfTkFNRVNQQUNFX0RFQ0wpKQorCQl4bWxYUGF0aE5vZGVTZXRGcmVlTnMoKHhtbE5zUHRyKSBub2RlKTsKKwl9CisgICAgfQorICAgIHNldC0+bm9kZU5yID0gMDsKK30KKworLyoqCisgKiB4bWxYUGF0aE5vZGVTZXRDbGVhckZyb21Qb3M6CisgKiBAc2V0OiB0aGUgbm9kZSBzZXQgdG8gYmUgY2xlYXJlZAorICogQHBvczogdGhlIHN0YXJ0IHBvc2l0aW9uIHRvIGNsZWFyIGZyb20KKyAqCisgKiBDbGVhcnMgdGhlIGxpc3QgZnJvbSB0ZW1wb3JhcnkgWFBhdGggb2JqZWN0cyAoZS5nLiBuYW1lc3BhY2Ugbm9kZXMKKyAqIGFyZSBmZWVkKSBzdGFydGluZyB3aXRoIHRoZSBlbnRyeSBhdCBAcG9zLCBidXQgZG9lcyAqbm90KiBmcmVlIHRoZSBsaXN0CisgKiBpdHNlbGYuIFNldHMgdGhlIGxlbmd0aCBvZiB0aGUgbGlzdCB0byBAcG9zLgorICovCitzdGF0aWMgdm9pZAoreG1sWFBhdGhOb2RlU2V0Q2xlYXJGcm9tUG9zKHhtbE5vZGVTZXRQdHIgc2V0LCBpbnQgcG9zLCBpbnQgaGFzTnNOb2RlcykKK3sKKyAgICBpZiAoKHNldCA9PSBOVUxMKSB8fCAoc2V0LT5ub2RlTnIgPD0gMCkgfHwgKHBvcyA+PSBzZXQtPm5vZGVOcikpCisJcmV0dXJuOworICAgIGVsc2UgaWYgKChoYXNOc05vZGVzKSkgeworCWludCBpOworCXhtbE5vZGVQdHIgbm9kZTsKKworCWZvciAoaSA9IHBvczsgaSA8IHNldC0+bm9kZU5yOyBpKyspIHsKKwkgICAgbm9kZSA9IHNldC0+bm9kZVRhYltpXTsKKwkgICAgaWYgKChub2RlICE9IE5VTEwpICYmCisJCShub2RlLT50eXBlID09IFhNTF9OQU1FU1BBQ0VfREVDTCkpCisJCXhtbFhQYXRoTm9kZVNldEZyZWVOcygoeG1sTnNQdHIpIG5vZGUpOworCX0KKyAgICB9CisgICAgc2V0LT5ub2RlTnIgPSBwb3M7Cit9CisKKy8qKgorICogeG1sWFBhdGhGcmVlVmFsdWVUcmVlOgorICogQG9iajogIHRoZSB4bWxOb2RlU2V0UHRyIHRvIGZyZWUKKyAqCisgKiBGcmVlIHRoZSBOb2RlU2V0IGNvbXBvdW5kIGFuZCB0aGUgYWN0dWFsIHRyZWUsIHRoaXMgaXMgZGlmZmVyZW50CisgKiBmcm9tIHhtbFhQYXRoRnJlZU5vZGVTZXQoKQorICovCitzdGF0aWMgdm9pZAoreG1sWFBhdGhGcmVlVmFsdWVUcmVlKHhtbE5vZGVTZXRQdHIgb2JqKSB7CisgICAgaW50IGk7CisKKyAgICBpZiAob2JqID09IE5VTEwpIHJldHVybjsKKworICAgIGlmIChvYmotPm5vZGVUYWIgIT0gTlVMTCkgeworCWZvciAoaSA9IDA7aSA8IG9iai0+bm9kZU5yO2krKykgeworCSAgICBpZiAob2JqLT5ub2RlVGFiW2ldICE9IE5VTEwpIHsKKwkJaWYgKG9iai0+bm9kZVRhYltpXS0+dHlwZSA9PSBYTUxfTkFNRVNQQUNFX0RFQ0wpIHsKKwkJICAgIHhtbFhQYXRoTm9kZVNldEZyZWVOcygoeG1sTnNQdHIpIG9iai0+bm9kZVRhYltpXSk7CisJCX0gZWxzZSB7CisJCSAgICB4bWxGcmVlTm9kZUxpc3Qob2JqLT5ub2RlVGFiW2ldKTsKKwkJfQorCSAgICB9CisJfQorCXhtbEZyZWUob2JqLT5ub2RlVGFiKTsKKyAgICB9CisgICAgeG1sRnJlZShvYmopOworfQorCisjaWYgZGVmaW5lZChERUJVRykgfHwgZGVmaW5lZChERUJVR19TVEVQKQorLyoqCisgKiB4bWxHZW5lcmljRXJyb3JDb250ZXh0Tm9kZVNldDoKKyAqIEBvdXRwdXQ6ICBhIEZJTEUgKiBmb3IgdGhlIG91dHB1dAorICogQG9iajogIHRoZSB4bWxOb2RlU2V0UHRyIHRvIGRpc3BsYXkKKyAqCisgKiBRdWljayBkaXNwbGF5IG9mIGEgTm9kZVNldAorICovCit2b2lkCit4bWxHZW5lcmljRXJyb3JDb250ZXh0Tm9kZVNldChGSUxFICpvdXRwdXQsIHhtbE5vZGVTZXRQdHIgb2JqKSB7CisgICAgaW50IGk7CisKKyAgICBpZiAob3V0cHV0ID09IE5VTEwpIG91dHB1dCA9IHhtbEdlbmVyaWNFcnJvckNvbnRleHQ7CisgICAgaWYgKG9iaiA9PSBOVUxMKSAgeworICAgICAgICBmcHJpbnRmKG91dHB1dCwgIk5vZGVTZXQgPT0gTlVMTCAhXG4iKTsKKwlyZXR1cm47CisgICAgfQorICAgIGlmIChvYmotPm5vZGVOciA9PSAwKSB7CisgICAgICAgIGZwcmludGYob3V0cHV0LCAiTm9kZVNldCBpcyBlbXB0eVxuIik7CisJcmV0dXJuOworICAgIH0KKyAgICBpZiAob2JqLT5ub2RlVGFiID09IE5VTEwpIHsKKwlmcHJpbnRmKG91dHB1dCwgIiBub2RlVGFiID09IE5VTEwgIVxuIik7CisJcmV0dXJuOworICAgIH0KKyAgICBmb3IgKGkgPSAwOyBpIDwgb2JqLT5ub2RlTnI7IGkrKykgeworICAgICAgICBpZiAob2JqLT5ub2RlVGFiW2ldID09IE5VTEwpIHsKKwkgICAgZnByaW50ZihvdXRwdXQsICIgTlVMTCAhXG4iKTsKKwkgICAgcmV0dXJuOworICAgICAgICB9CisJaWYgKChvYmotPm5vZGVUYWJbaV0tPnR5cGUgPT0gWE1MX0RPQ1VNRU5UX05PREUpIHx8CisJICAgIChvYmotPm5vZGVUYWJbaV0tPnR5cGUgPT0gWE1MX0hUTUxfRE9DVU1FTlRfTk9ERSkpCisJICAgIGZwcmludGYob3V0cHV0LCAiIC8iKTsKKwllbHNlIGlmIChvYmotPm5vZGVUYWJbaV0tPm5hbWUgPT0gTlVMTCkKKwkgICAgZnByaW50ZihvdXRwdXQsICIgbm9uYW1lISIpOworCWVsc2UgZnByaW50ZihvdXRwdXQsICIgJXMiLCBvYmotPm5vZGVUYWJbaV0tPm5hbWUpOworICAgIH0KKyAgICBmcHJpbnRmKG91dHB1dCwgIlxuIik7Cit9CisjZW5kaWYKKworLyoqCisgKiB4bWxYUGF0aE5ld05vZGVTZXQ6CisgKiBAdmFsOiAgdGhlIE5vZGVQdHIgdmFsdWUKKyAqCisgKiBDcmVhdGUgYSBuZXcgeG1sWFBhdGhPYmplY3RQdHIgb2YgdHlwZSBOb2RlU2V0IGFuZCBpbml0aWFsaXplCisgKiBpdCB3aXRoIHRoZSBzaW5nbGUgTm9kZSBAdmFsCisgKgorICogUmV0dXJucyB0aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QuCisgKi8KK3htbFhQYXRoT2JqZWN0UHRyCit4bWxYUGF0aE5ld05vZGVTZXQoeG1sTm9kZVB0ciB2YWwpIHsKKyAgICB4bWxYUGF0aE9iamVjdFB0ciByZXQ7CisKKyAgICByZXQgPSAoeG1sWFBhdGhPYmplY3RQdHIpIHhtbE1hbGxvYyhzaXplb2YoeG1sWFBhdGhPYmplY3QpKTsKKyAgICBpZiAocmV0ID09IE5VTEwpIHsKKyAgICAgICAgeG1sWFBhdGhFcnJNZW1vcnkoTlVMTCwgImNyZWF0aW5nIG5vZGVzZXRcbiIpOworCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgbWVtc2V0KHJldCwgMCAsIChzaXplX3QpIHNpemVvZih4bWxYUGF0aE9iamVjdCkpOworICAgIHJldC0+dHlwZSA9IFhQQVRIX05PREVTRVQ7CisgICAgcmV0LT5ib29sdmFsID0gMDsKKyAgICByZXQtPm5vZGVzZXR2YWwgPSB4bWxYUGF0aE5vZGVTZXRDcmVhdGUodmFsKTsKKyAgICAvKiBAQCB3aXRoX25zIHRvIGNoZWNrIHdoZXRoZXIgbmFtZXNwYWNlIG5vZGVzIHNob3VsZCBiZSBsb29rZWQgYXQgQEAgKi8KKyNpZmRlZiBYUF9ERUJVR19PQkpfVVNBR0UKKyAgICB4bWxYUGF0aERlYnVnT2JqVXNhZ2VSZXF1ZXN0ZWQoTlVMTCwgWFBBVEhfTk9ERVNFVCk7CisjZW5kaWYKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxYUGF0aE5ld1ZhbHVlVHJlZToKKyAqIEB2YWw6ICB0aGUgTm9kZVB0ciB2YWx1ZQorICoKKyAqIENyZWF0ZSBhIG5ldyB4bWxYUGF0aE9iamVjdFB0ciBvZiB0eXBlIFZhbHVlIFRyZWUgKFhTTFQpIGFuZCBpbml0aWFsaXplCisgKiBpdCB3aXRoIHRoZSB0cmVlIHJvb3QgQHZhbAorICoKKyAqIFJldHVybnMgdGhlIG5ld2x5IGNyZWF0ZWQgb2JqZWN0LgorICovCit4bWxYUGF0aE9iamVjdFB0cgoreG1sWFBhdGhOZXdWYWx1ZVRyZWUoeG1sTm9kZVB0ciB2YWwpIHsKKyAgICB4bWxYUGF0aE9iamVjdFB0ciByZXQ7CisKKyAgICByZXQgPSAoeG1sWFBhdGhPYmplY3RQdHIpIHhtbE1hbGxvYyhzaXplb2YoeG1sWFBhdGhPYmplY3QpKTsKKyAgICBpZiAocmV0ID09IE5VTEwpIHsKKyAgICAgICAgeG1sWFBhdGhFcnJNZW1vcnkoTlVMTCwgImNyZWF0aW5nIHJlc3VsdCB2YWx1ZSB0cmVlXG4iKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIG1lbXNldChyZXQsIDAgLCAoc2l6ZV90KSBzaXplb2YoeG1sWFBhdGhPYmplY3QpKTsKKyAgICByZXQtPnR5cGUgPSBYUEFUSF9YU0xUX1RSRUU7CisgICAgcmV0LT5ib29sdmFsID0gMTsKKyAgICByZXQtPnVzZXIgPSAodm9pZCAqKSB2YWw7CisgICAgcmV0LT5ub2Rlc2V0dmFsID0geG1sWFBhdGhOb2RlU2V0Q3JlYXRlKHZhbCk7CisjaWZkZWYgWFBfREVCVUdfT0JKX1VTQUdFCisgICAgeG1sWFBhdGhEZWJ1Z09ialVzYWdlUmVxdWVzdGVkKE5VTEwsIFhQQVRIX1hTTFRfVFJFRSk7CisjZW5kaWYKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxYUGF0aE5ld05vZGVTZXRMaXN0OgorICogQHZhbDogIGFuIGV4aXN0aW5nIE5vZGVTZXQKKyAqCisgKiBDcmVhdGUgYSBuZXcgeG1sWFBhdGhPYmplY3RQdHIgb2YgdHlwZSBOb2RlU2V0IGFuZCBpbml0aWFsaXplCisgKiBpdCB3aXRoIHRoZSBOb2Rlc2V0IEB2YWwKKyAqCisgKiBSZXR1cm5zIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdC4KKyAqLworeG1sWFBhdGhPYmplY3RQdHIKK3htbFhQYXRoTmV3Tm9kZVNldExpc3QoeG1sTm9kZVNldFB0ciB2YWwpCit7CisgICAgeG1sWFBhdGhPYmplY3RQdHIgcmV0OworICAgIGludCBpOworCisgICAgaWYgKHZhbCA9PSBOVUxMKQorICAgICAgICByZXQgPSBOVUxMOworICAgIGVsc2UgaWYgKHZhbC0+bm9kZVRhYiA9PSBOVUxMKQorICAgICAgICByZXQgPSB4bWxYUGF0aE5ld05vZGVTZXQoTlVMTCk7CisgICAgZWxzZSB7CisgICAgICAgIHJldCA9IHhtbFhQYXRoTmV3Tm9kZVNldCh2YWwtPm5vZGVUYWJbMF0pOworICAgICAgICBpZiAocmV0KSB7CisgICAgICAgICAgICBmb3IgKGkgPSAxOyBpIDwgdmFsLT5ub2RlTnI7ICsraSkgeworICAgICAgICAgICAgICAgIGlmICh4bWxYUGF0aE5vZGVTZXRBZGRVbmlxdWUocmV0LT5ub2Rlc2V0dmFsLCB2YWwtPm5vZGVUYWJbaV0pCisJCSAgICA8IDApIGJyZWFrOworCSAgICB9CisJfQorICAgIH0KKworICAgIHJldHVybiAocmV0KTsKK30KKworLyoqCisgKiB4bWxYUGF0aFdyYXBOb2RlU2V0OgorICogQHZhbDogIHRoZSBOb2RlUHRyIHZhbHVlCisgKgorICogV3JhcCB0aGUgTm9kZXNldCBAdmFsIGluIGEgbmV3IHhtbFhQYXRoT2JqZWN0UHRyCisgKgorICogUmV0dXJucyB0aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QuCisgKi8KK3htbFhQYXRoT2JqZWN0UHRyCit4bWxYUGF0aFdyYXBOb2RlU2V0KHhtbE5vZGVTZXRQdHIgdmFsKSB7CisgICAgeG1sWFBhdGhPYmplY3RQdHIgcmV0OworCisgICAgcmV0ID0gKHhtbFhQYXRoT2JqZWN0UHRyKSB4bWxNYWxsb2Moc2l6ZW9mKHhtbFhQYXRoT2JqZWN0KSk7CisgICAgaWYgKHJldCA9PSBOVUxMKSB7CisgICAgICAgIHhtbFhQYXRoRXJyTWVtb3J5KE5VTEwsICJjcmVhdGluZyBub2RlIHNldCBvYmplY3RcbiIpOworCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgbWVtc2V0KHJldCwgMCAsIChzaXplX3QpIHNpemVvZih4bWxYUGF0aE9iamVjdCkpOworICAgIHJldC0+dHlwZSA9IFhQQVRIX05PREVTRVQ7CisgICAgcmV0LT5ub2Rlc2V0dmFsID0gdmFsOworI2lmZGVmIFhQX0RFQlVHX09CSl9VU0FHRQorICAgIHhtbFhQYXRoRGVidWdPYmpVc2FnZVJlcXVlc3RlZChOVUxMLCBYUEFUSF9OT0RFU0VUKTsKKyNlbmRpZgorICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbFhQYXRoRnJlZU5vZGVTZXRMaXN0OgorICogQG9iajogIGFuIGV4aXN0aW5nIE5vZGVTZXRMaXN0IG9iamVjdAorICoKKyAqIEZyZWUgdXAgdGhlIHhtbFhQYXRoT2JqZWN0UHRyIEBvYmogYnV0IGRvbid0IGRlYWxsb2NhdGUgdGhlIG9iamVjdHMgaW4KKyAqIHRoZSBsaXN0IGNvbnRyYXJ5IHRvIHhtbFhQYXRoRnJlZU9iamVjdCgpLgorICovCit2b2lkCit4bWxYUGF0aEZyZWVOb2RlU2V0TGlzdCh4bWxYUGF0aE9iamVjdFB0ciBvYmopIHsKKyAgICBpZiAob2JqID09IE5VTEwpIHJldHVybjsKKyNpZmRlZiBYUF9ERUJVR19PQkpfVVNBR0UKKyAgICB4bWxYUGF0aERlYnVnT2JqVXNhZ2VSZWxlYXNlZChOVUxMLCBvYmotPnR5cGUpOworI2VuZGlmCisgICAgeG1sRnJlZShvYmopOworfQorCisvKioKKyAqIHhtbFhQYXRoRGlmZmVyZW5jZToKKyAqIEBub2RlczE6ICBhIG5vZGUtc2V0CisgKiBAbm9kZXMyOiAgYSBub2RlLXNldAorICoKKyAqIEltcGxlbWVudHMgdGhlIEVYU0xUIC0gU2V0cyBkaWZmZXJlbmNlKCkgZnVuY3Rpb246CisgKiAgICBub2RlLXNldCBzZXQ6ZGlmZmVyZW5jZSAobm9kZS1zZXQsIG5vZGUtc2V0KQorICoKKyAqIFJldHVybnMgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgdHdvIG5vZGUgc2V0cywgb3Igbm9kZXMxIGlmCisgKiAgICAgICAgIG5vZGVzMiBpcyBlbXB0eQorICovCit4bWxOb2RlU2V0UHRyCit4bWxYUGF0aERpZmZlcmVuY2UgKHhtbE5vZGVTZXRQdHIgbm9kZXMxLCB4bWxOb2RlU2V0UHRyIG5vZGVzMikgeworICAgIHhtbE5vZGVTZXRQdHIgcmV0OworICAgIGludCBpLCBsMTsKKyAgICB4bWxOb2RlUHRyIGN1cjsKKworICAgIGlmICh4bWxYUGF0aE5vZGVTZXRJc0VtcHR5KG5vZGVzMikpCisJcmV0dXJuKG5vZGVzMSk7CisKKyAgICByZXQgPSB4bWxYUGF0aE5vZGVTZXRDcmVhdGUoTlVMTCk7CisgICAgaWYgKHhtbFhQYXRoTm9kZVNldElzRW1wdHkobm9kZXMxKSkKKwlyZXR1cm4ocmV0KTsKKworICAgIGwxID0geG1sWFBhdGhOb2RlU2V0R2V0TGVuZ3RoKG5vZGVzMSk7CisKKyAgICBmb3IgKGkgPSAwOyBpIDwgbDE7IGkrKykgeworCWN1ciA9IHhtbFhQYXRoTm9kZVNldEl0ZW0obm9kZXMxLCBpKTsKKwlpZiAoIXhtbFhQYXRoTm9kZVNldENvbnRhaW5zKG5vZGVzMiwgY3VyKSkgeworCSAgICBpZiAoeG1sWFBhdGhOb2RlU2V0QWRkVW5pcXVlKHJldCwgY3VyKSA8IDApCisJICAgICAgICBicmVhazsKKwl9CisgICAgfQorICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbFhQYXRoSW50ZXJzZWN0aW9uOgorICogQG5vZGVzMTogIGEgbm9kZS1zZXQKKyAqIEBub2RlczI6ICBhIG5vZGUtc2V0CisgKgorICogSW1wbGVtZW50cyB0aGUgRVhTTFQgLSBTZXRzIGludGVyc2VjdGlvbigpIGZ1bmN0aW9uOgorICogICAgbm9kZS1zZXQgc2V0OmludGVyc2VjdGlvbiAobm9kZS1zZXQsIG5vZGUtc2V0KQorICoKKyAqIFJldHVybnMgYSBub2RlIHNldCBjb21wcmlzaW5nIHRoZSBub2RlcyB0aGF0IGFyZSB3aXRoaW4gYm90aCB0aGUKKyAqICAgICAgICAgbm9kZSBzZXRzIHBhc3NlZCBhcyBhcmd1bWVudHMKKyAqLworeG1sTm9kZVNldFB0cgoreG1sWFBhdGhJbnRlcnNlY3Rpb24gKHhtbE5vZGVTZXRQdHIgbm9kZXMxLCB4bWxOb2RlU2V0UHRyIG5vZGVzMikgeworICAgIHhtbE5vZGVTZXRQdHIgcmV0ID0geG1sWFBhdGhOb2RlU2V0Q3JlYXRlKE5VTEwpOworICAgIGludCBpLCBsMTsKKyAgICB4bWxOb2RlUHRyIGN1cjsKKworICAgIGlmIChyZXQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuKHJldCk7CisgICAgaWYgKHhtbFhQYXRoTm9kZVNldElzRW1wdHkobm9kZXMxKSkKKwlyZXR1cm4ocmV0KTsKKyAgICBpZiAoeG1sWFBhdGhOb2RlU2V0SXNFbXB0eShub2RlczIpKQorCXJldHVybihyZXQpOworCisgICAgbDEgPSB4bWxYUGF0aE5vZGVTZXRHZXRMZW5ndGgobm9kZXMxKTsKKworICAgIGZvciAoaSA9IDA7IGkgPCBsMTsgaSsrKSB7CisJY3VyID0geG1sWFBhdGhOb2RlU2V0SXRlbShub2RlczEsIGkpOworCWlmICh4bWxYUGF0aE5vZGVTZXRDb250YWlucyhub2RlczIsIGN1cikpIHsKKwkgICAgaWYgKHhtbFhQYXRoTm9kZVNldEFkZFVuaXF1ZShyZXQsIGN1cikgPCAwKQorCSAgICAgICAgYnJlYWs7CisJfQorICAgIH0KKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxYUGF0aERpc3RpbmN0U29ydGVkOgorICogQG5vZGVzOiAgYSBub2RlLXNldCwgc29ydGVkIGJ5IGRvY3VtZW50IG9yZGVyCisgKgorICogSW1wbGVtZW50cyB0aGUgRVhTTFQgLSBTZXRzIGRpc3RpbmN0KCkgZnVuY3Rpb246CisgKiAgICBub2RlLXNldCBzZXQ6ZGlzdGluY3QgKG5vZGUtc2V0KQorICoKKyAqIFJldHVybnMgYSBzdWJzZXQgb2YgdGhlIG5vZGVzIGNvbnRhaW5lZCBpbiBAbm9kZXMsIG9yIEBub2RlcyBpZgorICogICAgICAgICBpdCBpcyBlbXB0eQorICovCit4bWxOb2RlU2V0UHRyCit4bWxYUGF0aERpc3RpbmN0U29ydGVkICh4bWxOb2RlU2V0UHRyIG5vZGVzKSB7CisgICAgeG1sTm9kZVNldFB0ciByZXQ7CisgICAgeG1sSGFzaFRhYmxlUHRyIGhhc2g7CisgICAgaW50IGksIGw7CisgICAgeG1sQ2hhciAqIHN0cnZhbDsKKyAgICB4bWxOb2RlUHRyIGN1cjsKKworICAgIGlmICh4bWxYUGF0aE5vZGVTZXRJc0VtcHR5KG5vZGVzKSkKKwlyZXR1cm4obm9kZXMpOworCisgICAgcmV0ID0geG1sWFBhdGhOb2RlU2V0Q3JlYXRlKE5VTEwpOworICAgIGlmIChyZXQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuKHJldCk7CisgICAgbCA9IHhtbFhQYXRoTm9kZVNldEdldExlbmd0aChub2Rlcyk7CisgICAgaGFzaCA9IHhtbEhhc2hDcmVhdGUgKGwpOworICAgIGZvciAoaSA9IDA7IGkgPCBsOyBpKyspIHsKKwljdXIgPSB4bWxYUGF0aE5vZGVTZXRJdGVtKG5vZGVzLCBpKTsKKwlzdHJ2YWwgPSB4bWxYUGF0aENhc3ROb2RlVG9TdHJpbmcoY3VyKTsKKwlpZiAoeG1sSGFzaExvb2t1cChoYXNoLCBzdHJ2YWwpID09IE5VTEwpIHsKKwkgICAgeG1sSGFzaEFkZEVudHJ5KGhhc2gsIHN0cnZhbCwgc3RydmFsKTsKKwkgICAgaWYgKHhtbFhQYXRoTm9kZVNldEFkZFVuaXF1ZShyZXQsIGN1cikgPCAwKQorCSAgICAgICAgYnJlYWs7CisJfSBlbHNlIHsKKwkgICAgeG1sRnJlZShzdHJ2YWwpOworCX0KKyAgICB9CisgICAgeG1sSGFzaEZyZWUoaGFzaCwgKHhtbEhhc2hEZWFsbG9jYXRvcikgeG1sRnJlZSk7CisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogeG1sWFBhdGhEaXN0aW5jdDoKKyAqIEBub2RlczogIGEgbm9kZS1zZXQKKyAqCisgKiBJbXBsZW1lbnRzIHRoZSBFWFNMVCAtIFNldHMgZGlzdGluY3QoKSBmdW5jdGlvbjoKKyAqICAgIG5vZGUtc2V0IHNldDpkaXN0aW5jdCAobm9kZS1zZXQpCisgKiBAbm9kZXMgaXMgc29ydGVkIGJ5IGRvY3VtZW50IG9yZGVyLCB0aGVuICNleHNsU2V0c0Rpc3RpbmN0U29ydGVkCisgKiBpcyBjYWxsZWQgd2l0aCB0aGUgc29ydGVkIG5vZGUtc2V0CisgKgorICogUmV0dXJucyBhIHN1YnNldCBvZiB0aGUgbm9kZXMgY29udGFpbmVkIGluIEBub2Rlcywgb3IgQG5vZGVzIGlmCisgKiAgICAgICAgIGl0IGlzIGVtcHR5CisgKi8KK3htbE5vZGVTZXRQdHIKK3htbFhQYXRoRGlzdGluY3QgKHhtbE5vZGVTZXRQdHIgbm9kZXMpIHsKKyAgICBpZiAoeG1sWFBhdGhOb2RlU2V0SXNFbXB0eShub2RlcykpCisJcmV0dXJuKG5vZGVzKTsKKworICAgIHhtbFhQYXRoTm9kZVNldFNvcnQobm9kZXMpOworICAgIHJldHVybih4bWxYUGF0aERpc3RpbmN0U29ydGVkKG5vZGVzKSk7Cit9CisKKy8qKgorICogeG1sWFBhdGhIYXNTYW1lTm9kZXM6CisgKiBAbm9kZXMxOiAgYSBub2RlLXNldAorICogQG5vZGVzMjogIGEgbm9kZS1zZXQKKyAqCisgKiBJbXBsZW1lbnRzIHRoZSBFWFNMVCAtIFNldHMgaGFzLXNhbWUtbm9kZXMgZnVuY3Rpb246CisgKiAgICBib29sZWFuIHNldDpoYXMtc2FtZS1ub2RlKG5vZGUtc2V0LCBub2RlLXNldCkKKyAqCisgKiBSZXR1cm5zIHRydWUgKDEpIGlmIEBub2RlczEgc2hhcmVzIGFueSBub2RlIHdpdGggQG5vZGVzMiwgZmFsc2UgKDApCisgKiAgICAgICAgIG90aGVyd2lzZQorICovCitpbnQKK3htbFhQYXRoSGFzU2FtZU5vZGVzICh4bWxOb2RlU2V0UHRyIG5vZGVzMSwgeG1sTm9kZVNldFB0ciBub2RlczIpIHsKKyAgICBpbnQgaSwgbDsKKyAgICB4bWxOb2RlUHRyIGN1cjsKKworICAgIGlmICh4bWxYUGF0aE5vZGVTZXRJc0VtcHR5KG5vZGVzMSkgfHwKKwl4bWxYUGF0aE5vZGVTZXRJc0VtcHR5KG5vZGVzMikpCisJcmV0dXJuKDApOworCisgICAgbCA9IHhtbFhQYXRoTm9kZVNldEdldExlbmd0aChub2RlczEpOworICAgIGZvciAoaSA9IDA7IGkgPCBsOyBpKyspIHsKKwljdXIgPSB4bWxYUGF0aE5vZGVTZXRJdGVtKG5vZGVzMSwgaSk7CisJaWYgKHhtbFhQYXRoTm9kZVNldENvbnRhaW5zKG5vZGVzMiwgY3VyKSkKKwkgICAgcmV0dXJuKDEpOworICAgIH0KKyAgICByZXR1cm4oMCk7Cit9CisKKy8qKgorICogeG1sWFBhdGhOb2RlTGVhZGluZ1NvcnRlZDoKKyAqIEBub2RlczogYSBub2RlLXNldCwgc29ydGVkIGJ5IGRvY3VtZW50IG9yZGVyCisgKiBAbm9kZTogYSBub2RlCisgKgorICogSW1wbGVtZW50cyB0aGUgRVhTTFQgLSBTZXRzIGxlYWRpbmcoKSBmdW5jdGlvbjoKKyAqICAgIG5vZGUtc2V0IHNldDpsZWFkaW5nIChub2RlLXNldCwgbm9kZS1zZXQpCisgKgorICogUmV0dXJucyB0aGUgbm9kZXMgaW4gQG5vZGVzIHRoYXQgcHJlY2VkZSBAbm9kZSBpbiBkb2N1bWVudCBvcmRlciwKKyAqICAgICAgICAgQG5vZGVzIGlmIEBub2RlIGlzIE5VTEwgb3IgYW4gZW1wdHkgbm9kZS1zZXQgaWYgQG5vZGVzCisgKiAgICAgICAgIGRvZXNuJ3QgY29udGFpbiBAbm9kZQorICovCit4bWxOb2RlU2V0UHRyCit4bWxYUGF0aE5vZGVMZWFkaW5nU29ydGVkICh4bWxOb2RlU2V0UHRyIG5vZGVzLCB4bWxOb2RlUHRyIG5vZGUpIHsKKyAgICBpbnQgaSwgbDsKKyAgICB4bWxOb2RlUHRyIGN1cjsKKyAgICB4bWxOb2RlU2V0UHRyIHJldDsKKworICAgIGlmIChub2RlID09IE5VTEwpCisJcmV0dXJuKG5vZGVzKTsKKworICAgIHJldCA9IHhtbFhQYXRoTm9kZVNldENyZWF0ZShOVUxMKTsKKyAgICBpZiAocmV0ID09IE5VTEwpCisgICAgICAgIHJldHVybihyZXQpOworICAgIGlmICh4bWxYUGF0aE5vZGVTZXRJc0VtcHR5KG5vZGVzKSB8fAorCSgheG1sWFBhdGhOb2RlU2V0Q29udGFpbnMobm9kZXMsIG5vZGUpKSkKKwlyZXR1cm4ocmV0KTsKKworICAgIGwgPSB4bWxYUGF0aE5vZGVTZXRHZXRMZW5ndGgobm9kZXMpOworICAgIGZvciAoaSA9IDA7IGkgPCBsOyBpKyspIHsKKwljdXIgPSB4bWxYUGF0aE5vZGVTZXRJdGVtKG5vZGVzLCBpKTsKKwlpZiAoY3VyID09IG5vZGUpCisJICAgIGJyZWFrOworCWlmICh4bWxYUGF0aE5vZGVTZXRBZGRVbmlxdWUocmV0LCBjdXIpIDwgMCkKKwkgICAgYnJlYWs7CisgICAgfQorICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbFhQYXRoTm9kZUxlYWRpbmc6CisgKiBAbm9kZXM6ICBhIG5vZGUtc2V0CisgKiBAbm9kZTogIGEgbm9kZQorICoKKyAqIEltcGxlbWVudHMgdGhlIEVYU0xUIC0gU2V0cyBsZWFkaW5nKCkgZnVuY3Rpb246CisgKiAgICBub2RlLXNldCBzZXQ6bGVhZGluZyAobm9kZS1zZXQsIG5vZGUtc2V0KQorICogQG5vZGVzIGlzIHNvcnRlZCBieSBkb2N1bWVudCBvcmRlciwgdGhlbiAjZXhzbFNldHNOb2RlTGVhZGluZ1NvcnRlZAorICogaXMgY2FsbGVkLgorICoKKyAqIFJldHVybnMgdGhlIG5vZGVzIGluIEBub2RlcyB0aGF0IHByZWNlZGUgQG5vZGUgaW4gZG9jdW1lbnQgb3JkZXIsCisgKiAgICAgICAgIEBub2RlcyBpZiBAbm9kZSBpcyBOVUxMIG9yIGFuIGVtcHR5IG5vZGUtc2V0IGlmIEBub2RlcworICogICAgICAgICBkb2Vzbid0IGNvbnRhaW4gQG5vZGUKKyAqLworeG1sTm9kZVNldFB0cgoreG1sWFBhdGhOb2RlTGVhZGluZyAoeG1sTm9kZVNldFB0ciBub2RlcywgeG1sTm9kZVB0ciBub2RlKSB7CisgICAgeG1sWFBhdGhOb2RlU2V0U29ydChub2Rlcyk7CisgICAgcmV0dXJuKHhtbFhQYXRoTm9kZUxlYWRpbmdTb3J0ZWQobm9kZXMsIG5vZGUpKTsKK30KKworLyoqCisgKiB4bWxYUGF0aExlYWRpbmdTb3J0ZWQ6CisgKiBAbm9kZXMxOiAgYSBub2RlLXNldCwgc29ydGVkIGJ5IGRvY3VtZW50IG9yZGVyCisgKiBAbm9kZXMyOiAgYSBub2RlLXNldCwgc29ydGVkIGJ5IGRvY3VtZW50IG9yZGVyCisgKgorICogSW1wbGVtZW50cyB0aGUgRVhTTFQgLSBTZXRzIGxlYWRpbmcoKSBmdW5jdGlvbjoKKyAqICAgIG5vZGUtc2V0IHNldDpsZWFkaW5nIChub2RlLXNldCwgbm9kZS1zZXQpCisgKgorICogUmV0dXJucyB0aGUgbm9kZXMgaW4gQG5vZGVzMSB0aGF0IHByZWNlZGUgdGhlIGZpcnN0IG5vZGUgaW4gQG5vZGVzMgorICogICAgICAgICBpbiBkb2N1bWVudCBvcmRlciwgQG5vZGVzMSBpZiBAbm9kZXMyIGlzIE5VTEwgb3IgZW1wdHkgb3IKKyAqICAgICAgICAgYW4gZW1wdHkgbm9kZS1zZXQgaWYgQG5vZGVzMSBkb2Vzbid0IGNvbnRhaW4gQG5vZGVzMgorICovCit4bWxOb2RlU2V0UHRyCit4bWxYUGF0aExlYWRpbmdTb3J0ZWQgKHhtbE5vZGVTZXRQdHIgbm9kZXMxLCB4bWxOb2RlU2V0UHRyIG5vZGVzMikgeworICAgIGlmICh4bWxYUGF0aE5vZGVTZXRJc0VtcHR5KG5vZGVzMikpCisJcmV0dXJuKG5vZGVzMSk7CisgICAgcmV0dXJuKHhtbFhQYXRoTm9kZUxlYWRpbmdTb3J0ZWQobm9kZXMxLAorCQkJCSAgICAgeG1sWFBhdGhOb2RlU2V0SXRlbShub2RlczIsIDEpKSk7Cit9CisKKy8qKgorICogeG1sWFBhdGhMZWFkaW5nOgorICogQG5vZGVzMTogIGEgbm9kZS1zZXQKKyAqIEBub2RlczI6ICBhIG5vZGUtc2V0CisgKgorICogSW1wbGVtZW50cyB0aGUgRVhTTFQgLSBTZXRzIGxlYWRpbmcoKSBmdW5jdGlvbjoKKyAqICAgIG5vZGUtc2V0IHNldDpsZWFkaW5nIChub2RlLXNldCwgbm9kZS1zZXQpCisgKiBAbm9kZXMxIGFuZCBAbm9kZXMyIGFyZSBzb3J0ZWQgYnkgZG9jdW1lbnQgb3JkZXIsIHRoZW4KKyAqICNleHNsU2V0c0xlYWRpbmdTb3J0ZWQgaXMgY2FsbGVkLgorICoKKyAqIFJldHVybnMgdGhlIG5vZGVzIGluIEBub2RlczEgdGhhdCBwcmVjZWRlIHRoZSBmaXJzdCBub2RlIGluIEBub2RlczIKKyAqICAgICAgICAgaW4gZG9jdW1lbnQgb3JkZXIsIEBub2RlczEgaWYgQG5vZGVzMiBpcyBOVUxMIG9yIGVtcHR5IG9yCisgKiAgICAgICAgIGFuIGVtcHR5IG5vZGUtc2V0IGlmIEBub2RlczEgZG9lc24ndCBjb250YWluIEBub2RlczIKKyAqLworeG1sTm9kZVNldFB0cgoreG1sWFBhdGhMZWFkaW5nICh4bWxOb2RlU2V0UHRyIG5vZGVzMSwgeG1sTm9kZVNldFB0ciBub2RlczIpIHsKKyAgICBpZiAoeG1sWFBhdGhOb2RlU2V0SXNFbXB0eShub2RlczIpKQorCXJldHVybihub2RlczEpOworICAgIGlmICh4bWxYUGF0aE5vZGVTZXRJc0VtcHR5KG5vZGVzMSkpCisJcmV0dXJuKHhtbFhQYXRoTm9kZVNldENyZWF0ZShOVUxMKSk7CisgICAgeG1sWFBhdGhOb2RlU2V0U29ydChub2RlczEpOworICAgIHhtbFhQYXRoTm9kZVNldFNvcnQobm9kZXMyKTsKKyAgICByZXR1cm4oeG1sWFBhdGhOb2RlTGVhZGluZ1NvcnRlZChub2RlczEsCisJCQkJICAgICB4bWxYUGF0aE5vZGVTZXRJdGVtKG5vZGVzMiwgMSkpKTsKK30KKworLyoqCisgKiB4bWxYUGF0aE5vZGVUcmFpbGluZ1NvcnRlZDoKKyAqIEBub2RlczogYSBub2RlLXNldCwgc29ydGVkIGJ5IGRvY3VtZW50IG9yZGVyCisgKiBAbm9kZTogYSBub2RlCisgKgorICogSW1wbGVtZW50cyB0aGUgRVhTTFQgLSBTZXRzIHRyYWlsaW5nKCkgZnVuY3Rpb246CisgKiAgICBub2RlLXNldCBzZXQ6dHJhaWxpbmcgKG5vZGUtc2V0LCBub2RlLXNldCkKKyAqCisgKiBSZXR1cm5zIHRoZSBub2RlcyBpbiBAbm9kZXMgdGhhdCBmb2xsb3cgQG5vZGUgaW4gZG9jdW1lbnQgb3JkZXIsCisgKiAgICAgICAgIEBub2RlcyBpZiBAbm9kZSBpcyBOVUxMIG9yIGFuIGVtcHR5IG5vZGUtc2V0IGlmIEBub2RlcworICogICAgICAgICBkb2Vzbid0IGNvbnRhaW4gQG5vZGUKKyAqLworeG1sTm9kZVNldFB0cgoreG1sWFBhdGhOb2RlVHJhaWxpbmdTb3J0ZWQgKHhtbE5vZGVTZXRQdHIgbm9kZXMsIHhtbE5vZGVQdHIgbm9kZSkgeworICAgIGludCBpLCBsOworICAgIHhtbE5vZGVQdHIgY3VyOworICAgIHhtbE5vZGVTZXRQdHIgcmV0OworCisgICAgaWYgKG5vZGUgPT0gTlVMTCkKKwlyZXR1cm4obm9kZXMpOworCisgICAgcmV0ID0geG1sWFBhdGhOb2RlU2V0Q3JlYXRlKE5VTEwpOworICAgIGlmIChyZXQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuKHJldCk7CisgICAgaWYgKHhtbFhQYXRoTm9kZVNldElzRW1wdHkobm9kZXMpIHx8CisJKCF4bWxYUGF0aE5vZGVTZXRDb250YWlucyhub2Rlcywgbm9kZSkpKQorCXJldHVybihyZXQpOworCisgICAgbCA9IHhtbFhQYXRoTm9kZVNldEdldExlbmd0aChub2Rlcyk7CisgICAgZm9yIChpID0gbCAtIDE7IGkgPj0gMDsgaS0tKSB7CisJY3VyID0geG1sWFBhdGhOb2RlU2V0SXRlbShub2RlcywgaSk7CisJaWYgKGN1ciA9PSBub2RlKQorCSAgICBicmVhazsKKwlpZiAoeG1sWFBhdGhOb2RlU2V0QWRkVW5pcXVlKHJldCwgY3VyKSA8IDApCisJICAgIGJyZWFrOworICAgIH0KKyAgICB4bWxYUGF0aE5vZGVTZXRTb3J0KHJldCk7CS8qIGJ1ZyA0MTM0NTEgKi8KKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxYUGF0aE5vZGVUcmFpbGluZzoKKyAqIEBub2RlczogIGEgbm9kZS1zZXQKKyAqIEBub2RlOiAgYSBub2RlCisgKgorICogSW1wbGVtZW50cyB0aGUgRVhTTFQgLSBTZXRzIHRyYWlsaW5nKCkgZnVuY3Rpb246CisgKiAgICBub2RlLXNldCBzZXQ6dHJhaWxpbmcgKG5vZGUtc2V0LCBub2RlLXNldCkKKyAqIEBub2RlcyBpcyBzb3J0ZWQgYnkgZG9jdW1lbnQgb3JkZXIsIHRoZW4gI3htbFhQYXRoTm9kZVRyYWlsaW5nU29ydGVkCisgKiBpcyBjYWxsZWQuCisgKgorICogUmV0dXJucyB0aGUgbm9kZXMgaW4gQG5vZGVzIHRoYXQgZm9sbG93IEBub2RlIGluIGRvY3VtZW50IG9yZGVyLAorICogICAgICAgICBAbm9kZXMgaWYgQG5vZGUgaXMgTlVMTCBvciBhbiBlbXB0eSBub2RlLXNldCBpZiBAbm9kZXMKKyAqICAgICAgICAgZG9lc24ndCBjb250YWluIEBub2RlCisgKi8KK3htbE5vZGVTZXRQdHIKK3htbFhQYXRoTm9kZVRyYWlsaW5nICh4bWxOb2RlU2V0UHRyIG5vZGVzLCB4bWxOb2RlUHRyIG5vZGUpIHsKKyAgICB4bWxYUGF0aE5vZGVTZXRTb3J0KG5vZGVzKTsKKyAgICByZXR1cm4oeG1sWFBhdGhOb2RlVHJhaWxpbmdTb3J0ZWQobm9kZXMsIG5vZGUpKTsKK30KKworLyoqCisgKiB4bWxYUGF0aFRyYWlsaW5nU29ydGVkOgorICogQG5vZGVzMTogIGEgbm9kZS1zZXQsIHNvcnRlZCBieSBkb2N1bWVudCBvcmRlcgorICogQG5vZGVzMjogIGEgbm9kZS1zZXQsIHNvcnRlZCBieSBkb2N1bWVudCBvcmRlcgorICoKKyAqIEltcGxlbWVudHMgdGhlIEVYU0xUIC0gU2V0cyB0cmFpbGluZygpIGZ1bmN0aW9uOgorICogICAgbm9kZS1zZXQgc2V0OnRyYWlsaW5nIChub2RlLXNldCwgbm9kZS1zZXQpCisgKgorICogUmV0dXJucyB0aGUgbm9kZXMgaW4gQG5vZGVzMSB0aGF0IGZvbGxvdyB0aGUgZmlyc3Qgbm9kZSBpbiBAbm9kZXMyCisgKiAgICAgICAgIGluIGRvY3VtZW50IG9yZGVyLCBAbm9kZXMxIGlmIEBub2RlczIgaXMgTlVMTCBvciBlbXB0eSBvcgorICogICAgICAgICBhbiBlbXB0eSBub2RlLXNldCBpZiBAbm9kZXMxIGRvZXNuJ3QgY29udGFpbiBAbm9kZXMyCisgKi8KK3htbE5vZGVTZXRQdHIKK3htbFhQYXRoVHJhaWxpbmdTb3J0ZWQgKHhtbE5vZGVTZXRQdHIgbm9kZXMxLCB4bWxOb2RlU2V0UHRyIG5vZGVzMikgeworICAgIGlmICh4bWxYUGF0aE5vZGVTZXRJc0VtcHR5KG5vZGVzMikpCisJcmV0dXJuKG5vZGVzMSk7CisgICAgcmV0dXJuKHhtbFhQYXRoTm9kZVRyYWlsaW5nU29ydGVkKG5vZGVzMSwKKwkJCQkgICAgICB4bWxYUGF0aE5vZGVTZXRJdGVtKG5vZGVzMiwgMCkpKTsKK30KKworLyoqCisgKiB4bWxYUGF0aFRyYWlsaW5nOgorICogQG5vZGVzMTogIGEgbm9kZS1zZXQKKyAqIEBub2RlczI6ICBhIG5vZGUtc2V0CisgKgorICogSW1wbGVtZW50cyB0aGUgRVhTTFQgLSBTZXRzIHRyYWlsaW5nKCkgZnVuY3Rpb246CisgKiAgICBub2RlLXNldCBzZXQ6dHJhaWxpbmcgKG5vZGUtc2V0LCBub2RlLXNldCkKKyAqIEBub2RlczEgYW5kIEBub2RlczIgYXJlIHNvcnRlZCBieSBkb2N1bWVudCBvcmRlciwgdGhlbgorICogI3htbFhQYXRoVHJhaWxpbmdTb3J0ZWQgaXMgY2FsbGVkLgorICoKKyAqIFJldHVybnMgdGhlIG5vZGVzIGluIEBub2RlczEgdGhhdCBmb2xsb3cgdGhlIGZpcnN0IG5vZGUgaW4gQG5vZGVzMgorICogICAgICAgICBpbiBkb2N1bWVudCBvcmRlciwgQG5vZGVzMSBpZiBAbm9kZXMyIGlzIE5VTEwgb3IgZW1wdHkgb3IKKyAqICAgICAgICAgYW4gZW1wdHkgbm9kZS1zZXQgaWYgQG5vZGVzMSBkb2Vzbid0IGNvbnRhaW4gQG5vZGVzMgorICovCit4bWxOb2RlU2V0UHRyCit4bWxYUGF0aFRyYWlsaW5nICh4bWxOb2RlU2V0UHRyIG5vZGVzMSwgeG1sTm9kZVNldFB0ciBub2RlczIpIHsKKyAgICBpZiAoeG1sWFBhdGhOb2RlU2V0SXNFbXB0eShub2RlczIpKQorCXJldHVybihub2RlczEpOworICAgIGlmICh4bWxYUGF0aE5vZGVTZXRJc0VtcHR5KG5vZGVzMSkpCisJcmV0dXJuKHhtbFhQYXRoTm9kZVNldENyZWF0ZShOVUxMKSk7CisgICAgeG1sWFBhdGhOb2RlU2V0U29ydChub2RlczEpOworICAgIHhtbFhQYXRoTm9kZVNldFNvcnQobm9kZXMyKTsKKyAgICByZXR1cm4oeG1sWFBhdGhOb2RlVHJhaWxpbmdTb3J0ZWQobm9kZXMxLAorCQkJCSAgICAgIHhtbFhQYXRoTm9kZVNldEl0ZW0obm9kZXMyLCAwKSkpOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQlSb3V0aW5lcyB0byBoYW5kbGUgZXh0cmEgZnVuY3Rpb25zCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioKKyAqIHhtbFhQYXRoUmVnaXN0ZXJGdW5jOgorICogQGN0eHQ6ICB0aGUgWFBhdGggY29udGV4dAorICogQG5hbWU6ICB0aGUgZnVuY3Rpb24gbmFtZQorICogQGY6ICB0aGUgZnVuY3Rpb24gaW1wbGVtZW50YXRpb24gb3IgTlVMTAorICoKKyAqIFJlZ2lzdGVyIGEgbmV3IGZ1bmN0aW9uLiBJZiBAZiBpcyBOVUxMIGl0IHVucmVnaXN0ZXJzIHRoZSBmdW5jdGlvbgorICoKKyAqIFJldHVybnMgMCBpbiBjYXNlIG9mIHN1Y2Nlc3MsIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworaW50Cit4bWxYUGF0aFJlZ2lzdGVyRnVuYyh4bWxYUGF0aENvbnRleHRQdHIgY3R4dCwgY29uc3QgeG1sQ2hhciAqbmFtZSwKKwkJICAgICB4bWxYUGF0aEZ1bmN0aW9uIGYpIHsKKyAgICByZXR1cm4oeG1sWFBhdGhSZWdpc3RlckZ1bmNOUyhjdHh0LCBuYW1lLCBOVUxMLCBmKSk7Cit9CisKKy8qKgorICogeG1sWFBhdGhSZWdpc3RlckZ1bmNOUzoKKyAqIEBjdHh0OiAgdGhlIFhQYXRoIGNvbnRleHQKKyAqIEBuYW1lOiAgdGhlIGZ1bmN0aW9uIG5hbWUKKyAqIEBuc191cmk6ICB0aGUgZnVuY3Rpb24gbmFtZXNwYWNlIFVSSQorICogQGY6ICB0aGUgZnVuY3Rpb24gaW1wbGVtZW50YXRpb24gb3IgTlVMTAorICoKKyAqIFJlZ2lzdGVyIGEgbmV3IGZ1bmN0aW9uLiBJZiBAZiBpcyBOVUxMIGl0IHVucmVnaXN0ZXJzIHRoZSBmdW5jdGlvbgorICoKKyAqIFJldHVybnMgMCBpbiBjYXNlIG9mIHN1Y2Nlc3MsIC0xIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworaW50Cit4bWxYUGF0aFJlZ2lzdGVyRnVuY05TKHhtbFhQYXRoQ29udGV4dFB0ciBjdHh0LCBjb25zdCB4bWxDaGFyICpuYW1lLAorCQkgICAgICAgY29uc3QgeG1sQ2hhciAqbnNfdXJpLCB4bWxYUGF0aEZ1bmN0aW9uIGYpIHsKKyAgICBpZiAoY3R4dCA9PSBOVUxMKQorCXJldHVybigtMSk7CisgICAgaWYgKG5hbWUgPT0gTlVMTCkKKwlyZXR1cm4oLTEpOworCisgICAgaWYgKGN0eHQtPmZ1bmNIYXNoID09IE5VTEwpCisJY3R4dC0+ZnVuY0hhc2ggPSB4bWxIYXNoQ3JlYXRlKDApOworICAgIGlmIChjdHh0LT5mdW5jSGFzaCA9PSBOVUxMKQorCXJldHVybigtMSk7CisgICAgaWYgKGYgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuKHhtbEhhc2hSZW1vdmVFbnRyeTIoY3R4dC0+ZnVuY0hhc2gsIG5hbWUsIG5zX3VyaSwgTlVMTCkpOworICAgIHJldHVybih4bWxIYXNoQWRkRW50cnkyKGN0eHQtPmZ1bmNIYXNoLCBuYW1lLCBuc191cmksIFhNTF9DQVNUX0ZQVFIoZikpKTsKK30KKworLyoqCisgKiB4bWxYUGF0aFJlZ2lzdGVyRnVuY0xvb2t1cDoKKyAqIEBjdHh0OiAgdGhlIFhQYXRoIGNvbnRleHQKKyAqIEBmOiAgdGhlIGxvb2t1cCBmdW5jdGlvbgorICogQGZ1bmNDdHh0OiAgdGhlIGxvb2t1cCBkYXRhCisgKgorICogUmVnaXN0ZXJzIGFuIGV4dGVybmFsIG1lY2hhbmlzbSB0byBkbyBmdW5jdGlvbiBsb29rdXAuCisgKi8KK3ZvaWQKK3htbFhQYXRoUmVnaXN0ZXJGdW5jTG9va3VwICh4bWxYUGF0aENvbnRleHRQdHIgY3R4dCwKKwkJCSAgICB4bWxYUGF0aEZ1bmNMb29rdXBGdW5jIGYsCisJCQkgICAgdm9pZCAqZnVuY0N0eHQpIHsKKyAgICBpZiAoY3R4dCA9PSBOVUxMKQorCXJldHVybjsKKyAgICBjdHh0LT5mdW5jTG9va3VwRnVuYyA9IGY7CisgICAgY3R4dC0+ZnVuY0xvb2t1cERhdGEgPSBmdW5jQ3R4dDsKK30KKworLyoqCisgKiB4bWxYUGF0aEZ1bmN0aW9uTG9va3VwOgorICogQGN0eHQ6ICB0aGUgWFBhdGggY29udGV4dAorICogQG5hbWU6ICB0aGUgZnVuY3Rpb24gbmFtZQorICoKKyAqIFNlYXJjaCBpbiB0aGUgRnVuY3Rpb24gYXJyYXkgb2YgdGhlIGNvbnRleHQgZm9yIHRoZSBnaXZlbgorICogZnVuY3Rpb24uCisgKgorICogUmV0dXJucyB0aGUgeG1sWFBhdGhGdW5jdGlvbiBvciBOVUxMIGlmIG5vdCBmb3VuZAorICovCit4bWxYUGF0aEZ1bmN0aW9uCit4bWxYUGF0aEZ1bmN0aW9uTG9va3VwKHhtbFhQYXRoQ29udGV4dFB0ciBjdHh0LCBjb25zdCB4bWxDaGFyICpuYW1lKSB7CisgICAgaWYgKGN0eHQgPT0gTlVMTCkKKwlyZXR1cm4gKE5VTEwpOworCisgICAgaWYgKGN0eHQtPmZ1bmNMb29rdXBGdW5jICE9IE5VTEwpIHsKKwl4bWxYUGF0aEZ1bmN0aW9uIHJldDsKKwl4bWxYUGF0aEZ1bmNMb29rdXBGdW5jIGY7CisKKwlmID0gY3R4dC0+ZnVuY0xvb2t1cEZ1bmM7CisJcmV0ID0gZihjdHh0LT5mdW5jTG9va3VwRGF0YSwgbmFtZSwgTlVMTCk7CisJaWYgKHJldCAhPSBOVUxMKQorCSAgICByZXR1cm4ocmV0KTsKKyAgICB9CisgICAgcmV0dXJuKHhtbFhQYXRoRnVuY3Rpb25Mb29rdXBOUyhjdHh0LCBuYW1lLCBOVUxMKSk7Cit9CisKKy8qKgorICogeG1sWFBhdGhGdW5jdGlvbkxvb2t1cE5TOgorICogQGN0eHQ6ICB0aGUgWFBhdGggY29udGV4dAorICogQG5hbWU6ICB0aGUgZnVuY3Rpb24gbmFtZQorICogQG5zX3VyaTogIHRoZSBmdW5jdGlvbiBuYW1lc3BhY2UgVVJJCisgKgorICogU2VhcmNoIGluIHRoZSBGdW5jdGlvbiBhcnJheSBvZiB0aGUgY29udGV4dCBmb3IgdGhlIGdpdmVuCisgKiBmdW5jdGlvbi4KKyAqCisgKiBSZXR1cm5zIHRoZSB4bWxYUGF0aEZ1bmN0aW9uIG9yIE5VTEwgaWYgbm90IGZvdW5kCisgKi8KK3htbFhQYXRoRnVuY3Rpb24KK3htbFhQYXRoRnVuY3Rpb25Mb29rdXBOUyh4bWxYUGF0aENvbnRleHRQdHIgY3R4dCwgY29uc3QgeG1sQ2hhciAqbmFtZSwKKwkJCSBjb25zdCB4bWxDaGFyICpuc191cmkpIHsKKyAgICB4bWxYUGF0aEZ1bmN0aW9uIHJldDsKKworICAgIGlmIChjdHh0ID09IE5VTEwpCisJcmV0dXJuKE5VTEwpOworICAgIGlmIChuYW1lID09IE5VTEwpCisJcmV0dXJuKE5VTEwpOworCisgICAgaWYgKGN0eHQtPmZ1bmNMb29rdXBGdW5jICE9IE5VTEwpIHsKKwl4bWxYUGF0aEZ1bmNMb29rdXBGdW5jIGY7CisKKwlmID0gY3R4dC0+ZnVuY0xvb2t1cEZ1bmM7CisJcmV0ID0gZihjdHh0LT5mdW5jTG9va3VwRGF0YSwgbmFtZSwgbnNfdXJpKTsKKwlpZiAocmV0ICE9IE5VTEwpCisJICAgIHJldHVybihyZXQpOworICAgIH0KKworICAgIGlmIChjdHh0LT5mdW5jSGFzaCA9PSBOVUxMKQorCXJldHVybihOVUxMKTsKKworICAgIFhNTF9DQVNUX0ZQVFIocmV0KSA9IHhtbEhhc2hMb29rdXAyKGN0eHQtPmZ1bmNIYXNoLCBuYW1lLCBuc191cmkpOworICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbFhQYXRoUmVnaXN0ZXJlZEZ1bmNzQ2xlYW51cDoKKyAqIEBjdHh0OiAgdGhlIFhQYXRoIGNvbnRleHQKKyAqCisgKiBDbGVhbnVwIHRoZSBYUGF0aCBjb250ZXh0IGRhdGEgYXNzb2NpYXRlZCB0byByZWdpc3RlcmVkIGZ1bmN0aW9ucworICovCit2b2lkCit4bWxYUGF0aFJlZ2lzdGVyZWRGdW5jc0NsZWFudXAoeG1sWFBhdGhDb250ZXh0UHRyIGN0eHQpIHsKKyAgICBpZiAoY3R4dCA9PSBOVUxMKQorCXJldHVybjsKKworICAgIHhtbEhhc2hGcmVlKGN0eHQtPmZ1bmNIYXNoLCBOVUxMKTsKKyAgICBjdHh0LT5mdW5jSGFzaCA9IE5VTEw7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCQlSb3V0aW5lcyB0byBoYW5kbGUgVmFyaWFibGVzCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioKKyAqIHhtbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZToKKyAqIEBjdHh0OiAgdGhlIFhQYXRoIGNvbnRleHQKKyAqIEBuYW1lOiAgdGhlIHZhcmlhYmxlIG5hbWUKKyAqIEB2YWx1ZTogIHRoZSB2YXJpYWJsZSB2YWx1ZSBvciBOVUxMCisgKgorICogUmVnaXN0ZXIgYSBuZXcgdmFyaWFibGUgdmFsdWUuIElmIEB2YWx1ZSBpcyBOVUxMIGl0IHVucmVnaXN0ZXJzCisgKiB0aGUgdmFyaWFibGUKKyAqCisgKiBSZXR1cm5zIDAgaW4gY2FzZSBvZiBzdWNjZXNzLCAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK2ludAoreG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlKHhtbFhQYXRoQ29udGV4dFB0ciBjdHh0LCBjb25zdCB4bWxDaGFyICpuYW1lLAorCQkJIHhtbFhQYXRoT2JqZWN0UHRyIHZhbHVlKSB7CisgICAgcmV0dXJuKHhtbFhQYXRoUmVnaXN0ZXJWYXJpYWJsZU5TKGN0eHQsIG5hbWUsIE5VTEwsIHZhbHVlKSk7Cit9CisKKy8qKgorICogeG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlTlM6CisgKiBAY3R4dDogIHRoZSBYUGF0aCBjb250ZXh0CisgKiBAbmFtZTogIHRoZSB2YXJpYWJsZSBuYW1lCisgKiBAbnNfdXJpOiAgdGhlIHZhcmlhYmxlIG5hbWVzcGFjZSBVUkkKKyAqIEB2YWx1ZTogIHRoZSB2YXJpYWJsZSB2YWx1ZSBvciBOVUxMCisgKgorICogUmVnaXN0ZXIgYSBuZXcgdmFyaWFibGUgdmFsdWUuIElmIEB2YWx1ZSBpcyBOVUxMIGl0IHVucmVnaXN0ZXJzCisgKiB0aGUgdmFyaWFibGUKKyAqCisgKiBSZXR1cm5zIDAgaW4gY2FzZSBvZiBzdWNjZXNzLCAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK2ludAoreG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlTlMoeG1sWFBhdGhDb250ZXh0UHRyIGN0eHQsIGNvbnN0IHhtbENoYXIgKm5hbWUsCisJCQkgICBjb25zdCB4bWxDaGFyICpuc191cmksCisJCQkgICB4bWxYUGF0aE9iamVjdFB0ciB2YWx1ZSkgeworICAgIGlmIChjdHh0ID09IE5VTEwpCisJcmV0dXJuKC0xKTsKKyAgICBpZiAobmFtZSA9PSBOVUxMKQorCXJldHVybigtMSk7CisKKyAgICBpZiAoY3R4dC0+dmFySGFzaCA9PSBOVUxMKQorCWN0eHQtPnZhckhhc2ggPSB4bWxIYXNoQ3JlYXRlKDApOworICAgIGlmIChjdHh0LT52YXJIYXNoID09IE5VTEwpCisJcmV0dXJuKC0xKTsKKyAgICBpZiAodmFsdWUgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuKHhtbEhhc2hSZW1vdmVFbnRyeTIoY3R4dC0+dmFySGFzaCwgbmFtZSwgbnNfdXJpLAorCSAgICAgICAgICAgICAgICAgICAgICAgICAgICh4bWxIYXNoRGVhbGxvY2F0b3IpeG1sWFBhdGhGcmVlT2JqZWN0KSk7CisgICAgcmV0dXJuKHhtbEhhc2hVcGRhdGVFbnRyeTIoY3R4dC0+dmFySGFzaCwgbmFtZSwgbnNfdXJpLAorCQkJICAgICAgICh2b2lkICopIHZhbHVlLAorCQkJICAgICAgICh4bWxIYXNoRGVhbGxvY2F0b3IpeG1sWFBhdGhGcmVlT2JqZWN0KSk7Cit9CisKKy8qKgorICogeG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlTG9va3VwOgorICogQGN0eHQ6ICB0aGUgWFBhdGggY29udGV4dAorICogQGY6ICB0aGUgbG9va3VwIGZ1bmN0aW9uCisgKiBAZGF0YTogIHRoZSBsb29rdXAgZGF0YQorICoKKyAqIHJlZ2lzdGVyIGFuIGV4dGVybmFsIG1lY2hhbmlzbSB0byBkbyB2YXJpYWJsZSBsb29rdXAKKyAqLwordm9pZAoreG1sWFBhdGhSZWdpc3RlclZhcmlhYmxlTG9va3VwKHhtbFhQYXRoQ29udGV4dFB0ciBjdHh0LAorCSB4bWxYUGF0aFZhcmlhYmxlTG9va3VwRnVuYyBmLCB2b2lkICpkYXRhKSB7CisgICAgaWYgKGN0eHQgPT0gTlVMTCkKKwlyZXR1cm47CisgICAgY3R4dC0+dmFyTG9va3VwRnVuYyA9IGY7CisgICAgY3R4dC0+dmFyTG9va3VwRGF0YSA9IGRhdGE7Cit9CisKKy8qKgorICogeG1sWFBhdGhWYXJpYWJsZUxvb2t1cDoKKyAqIEBjdHh0OiAgdGhlIFhQYXRoIGNvbnRleHQKKyAqIEBuYW1lOiAgdGhlIHZhcmlhYmxlIG5hbWUKKyAqCisgKiBTZWFyY2ggaW4gdGhlIFZhcmlhYmxlIGFycmF5IG9mIHRoZSBjb250ZXh0IGZvciB0aGUgZ2l2ZW4KKyAqIHZhcmlhYmxlIHZhbHVlLgorICoKKyAqIFJldHVybnMgYSBjb3B5IG9mIHRoZSB2YWx1ZSBvciBOVUxMIGlmIG5vdCBmb3VuZAorICovCit4bWxYUGF0aE9iamVjdFB0cgoreG1sWFBhdGhWYXJpYWJsZUxvb2t1cCh4bWxYUGF0aENvbnRleHRQdHIgY3R4dCwgY29uc3QgeG1sQ2hhciAqbmFtZSkgeworICAgIGlmIChjdHh0ID09IE5VTEwpCisJcmV0dXJuKE5VTEwpOworCisgICAgaWYgKGN0eHQtPnZhckxvb2t1cEZ1bmMgIT0gTlVMTCkgeworCXhtbFhQYXRoT2JqZWN0UHRyIHJldDsKKworCXJldCA9ICgoeG1sWFBhdGhWYXJpYWJsZUxvb2t1cEZ1bmMpY3R4dC0+dmFyTG9va3VwRnVuYykKKwkgICAgICAgIChjdHh0LT52YXJMb29rdXBEYXRhLCBuYW1lLCBOVUxMKTsKKwlyZXR1cm4ocmV0KTsKKyAgICB9CisgICAgcmV0dXJuKHhtbFhQYXRoVmFyaWFibGVMb29rdXBOUyhjdHh0LCBuYW1lLCBOVUxMKSk7Cit9CisKKy8qKgorICogeG1sWFBhdGhWYXJpYWJsZUxvb2t1cE5TOgorICogQGN0eHQ6ICB0aGUgWFBhdGggY29udGV4dAorICogQG5hbWU6ICB0aGUgdmFyaWFibGUgbmFtZQorICogQG5zX3VyaTogIHRoZSB2YXJpYWJsZSBuYW1lc3BhY2UgVVJJCisgKgorICogU2VhcmNoIGluIHRoZSBWYXJpYWJsZSBhcnJheSBvZiB0aGUgY29udGV4dCBmb3IgdGhlIGdpdmVuCisgKiB2YXJpYWJsZSB2YWx1ZS4KKyAqCisgKiBSZXR1cm5zIHRoZSBhIGNvcHkgb2YgdGhlIHZhbHVlIG9yIE5VTEwgaWYgbm90IGZvdW5kCisgKi8KK3htbFhQYXRoT2JqZWN0UHRyCit4bWxYUGF0aFZhcmlhYmxlTG9va3VwTlMoeG1sWFBhdGhDb250ZXh0UHRyIGN0eHQsIGNvbnN0IHhtbENoYXIgKm5hbWUsCisJCQkgY29uc3QgeG1sQ2hhciAqbnNfdXJpKSB7CisgICAgaWYgKGN0eHQgPT0gTlVMTCkKKwlyZXR1cm4oTlVMTCk7CisKKyAgICBpZiAoY3R4dC0+dmFyTG9va3VwRnVuYyAhPSBOVUxMKSB7CisJeG1sWFBhdGhPYmplY3RQdHIgcmV0OworCisJcmV0ID0gKCh4bWxYUGF0aFZhcmlhYmxlTG9va3VwRnVuYyljdHh0LT52YXJMb29rdXBGdW5jKQorCSAgICAgICAgKGN0eHQtPnZhckxvb2t1cERhdGEsIG5hbWUsIG5zX3VyaSk7CisJaWYgKHJldCAhPSBOVUxMKSByZXR1cm4ocmV0KTsKKyAgICB9CisKKyAgICBpZiAoY3R4dC0+dmFySGFzaCA9PSBOVUxMKQorCXJldHVybihOVUxMKTsKKyAgICBpZiAobmFtZSA9PSBOVUxMKQorCXJldHVybihOVUxMKTsKKworICAgIHJldHVybih4bWxYUGF0aENhY2hlT2JqZWN0Q29weShjdHh0LCAoeG1sWFBhdGhPYmplY3RQdHIpCisJCXhtbEhhc2hMb29rdXAyKGN0eHQtPnZhckhhc2gsIG5hbWUsIG5zX3VyaSkpKTsKK30KKworLyoqCisgKiB4bWxYUGF0aFJlZ2lzdGVyZWRWYXJpYWJsZXNDbGVhbnVwOgorICogQGN0eHQ6ICB0aGUgWFBhdGggY29udGV4dAorICoKKyAqIENsZWFudXAgdGhlIFhQYXRoIGNvbnRleHQgZGF0YSBhc3NvY2lhdGVkIHRvIHJlZ2lzdGVyZWQgdmFyaWFibGVzCisgKi8KK3ZvaWQKK3htbFhQYXRoUmVnaXN0ZXJlZFZhcmlhYmxlc0NsZWFudXAoeG1sWFBhdGhDb250ZXh0UHRyIGN0eHQpIHsKKyAgICBpZiAoY3R4dCA9PSBOVUxMKQorCXJldHVybjsKKworICAgIHhtbEhhc2hGcmVlKGN0eHQtPnZhckhhc2gsICh4bWxIYXNoRGVhbGxvY2F0b3IpeG1sWFBhdGhGcmVlT2JqZWN0KTsKKyAgICBjdHh0LT52YXJIYXNoID0gTlVMTDsKK30KKworLyoqCisgKiB4bWxYUGF0aFJlZ2lzdGVyTnM6CisgKiBAY3R4dDogIHRoZSBYUGF0aCBjb250ZXh0CisgKiBAcHJlZml4OiAgdGhlIG5hbWVzcGFjZSBwcmVmaXggY2Fubm90IGJlIE5VTEwgb3IgZW1wdHkgc3RyaW5nCisgKiBAbnNfdXJpOiAgdGhlIG5hbWVzcGFjZSBuYW1lCisgKgorICogUmVnaXN0ZXIgYSBuZXcgbmFtZXNwYWNlLiBJZiBAbnNfdXJpIGlzIE5VTEwgaXQgdW5yZWdpc3RlcnMKKyAqIHRoZSBuYW1lc3BhY2UKKyAqCisgKiBSZXR1cm5zIDAgaW4gY2FzZSBvZiBzdWNjZXNzLCAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK2ludAoreG1sWFBhdGhSZWdpc3Rlck5zKHhtbFhQYXRoQ29udGV4dFB0ciBjdHh0LCBjb25zdCB4bWxDaGFyICpwcmVmaXgsCisJCQkgICBjb25zdCB4bWxDaGFyICpuc191cmkpIHsKKyAgICBpZiAoY3R4dCA9PSBOVUxMKQorCXJldHVybigtMSk7CisgICAgaWYgKHByZWZpeCA9PSBOVUxMKQorCXJldHVybigtMSk7CisgICAgaWYgKHByZWZpeFswXSA9PSAwKQorCXJldHVybigtMSk7CisKKyAgICBpZiAoY3R4dC0+bnNIYXNoID09IE5VTEwpCisJY3R4dC0+bnNIYXNoID0geG1sSGFzaENyZWF0ZSgxMCk7CisgICAgaWYgKGN0eHQtPm5zSGFzaCA9PSBOVUxMKQorCXJldHVybigtMSk7CisgICAgaWYgKG5zX3VyaSA9PSBOVUxMKQorICAgICAgICByZXR1cm4oeG1sSGFzaFJlbW92ZUVudHJ5KGN0eHQtPm5zSGFzaCwgcHJlZml4LAorCSAgICAgICAgICAgICAgICAgICAgICAgICAgKHhtbEhhc2hEZWFsbG9jYXRvcil4bWxGcmVlKSk7CisgICAgcmV0dXJuKHhtbEhhc2hVcGRhdGVFbnRyeShjdHh0LT5uc0hhc2gsIHByZWZpeCwgKHZvaWQgKikgeG1sU3RyZHVwKG5zX3VyaSksCisJCQkgICAgICAoeG1sSGFzaERlYWxsb2NhdG9yKXhtbEZyZWUpKTsKK30KKworLyoqCisgKiB4bWxYUGF0aE5zTG9va3VwOgorICogQGN0eHQ6ICB0aGUgWFBhdGggY29udGV4dAorICogQHByZWZpeDogIHRoZSBuYW1lc3BhY2UgcHJlZml4IHZhbHVlCisgKgorICogU2VhcmNoIGluIHRoZSBuYW1lc3BhY2UgZGVjbGFyYXRpb24gYXJyYXkgb2YgdGhlIGNvbnRleHQgZm9yIHRoZSBnaXZlbgorICogbmFtZXNwYWNlIG5hbWUgYXNzb2NpYXRlZCB0byB0aGUgZ2l2ZW4gcHJlZml4CisgKgorICogUmV0dXJucyB0aGUgdmFsdWUgb3IgTlVMTCBpZiBub3QgZm91bmQKKyAqLworY29uc3QgeG1sQ2hhciAqCit4bWxYUGF0aE5zTG9va3VwKHhtbFhQYXRoQ29udGV4dFB0ciBjdHh0LCBjb25zdCB4bWxDaGFyICpwcmVmaXgpIHsKKyAgICBpZiAoY3R4dCA9PSBOVUxMKQorCXJldHVybihOVUxMKTsKKyAgICBpZiAocHJlZml4ID09IE5VTEwpCisJcmV0dXJuKE5VTEwpOworCisjaWZkZWYgWE1MX1hNTF9OQU1FU1BBQ0UKKyAgICBpZiAoeG1sU3RyRXF1YWwocHJlZml4LCAoY29uc3QgeG1sQ2hhciAqKSAieG1sIikpCisJcmV0dXJuKFhNTF9YTUxfTkFNRVNQQUNFKTsKKyNlbmRpZgorCisgICAgaWYgKGN0eHQtPm5hbWVzcGFjZXMgIT0gTlVMTCkgeworCWludCBpOworCisJZm9yIChpID0gMDtpIDwgY3R4dC0+bnNOcjtpKyspIHsKKwkgICAgaWYgKChjdHh0LT5uYW1lc3BhY2VzW2ldICE9IE5VTEwpICYmCisJCSh4bWxTdHJFcXVhbChjdHh0LT5uYW1lc3BhY2VzW2ldLT5wcmVmaXgsIHByZWZpeCkpKQorCQlyZXR1cm4oY3R4dC0+bmFtZXNwYWNlc1tpXS0+aHJlZik7CisJfQorICAgIH0KKworICAgIHJldHVybigoY29uc3QgeG1sQ2hhciAqKSB4bWxIYXNoTG9va3VwKGN0eHQtPm5zSGFzaCwgcHJlZml4KSk7Cit9CisKKy8qKgorICogeG1sWFBhdGhSZWdpc3RlcmVkTnNDbGVhbnVwOgorICogQGN0eHQ6ICB0aGUgWFBhdGggY29udGV4dAorICoKKyAqIENsZWFudXAgdGhlIFhQYXRoIGNvbnRleHQgZGF0YSBhc3NvY2lhdGVkIHRvIHJlZ2lzdGVyZWQgdmFyaWFibGVzCisgKi8KK3ZvaWQKK3htbFhQYXRoUmVnaXN0ZXJlZE5zQ2xlYW51cCh4bWxYUGF0aENvbnRleHRQdHIgY3R4dCkgeworICAgIGlmIChjdHh0ID09IE5VTEwpCisJcmV0dXJuOworCisgICAgeG1sSGFzaEZyZWUoY3R4dC0+bnNIYXNoLCAoeG1sSGFzaERlYWxsb2NhdG9yKXhtbEZyZWUpOworICAgIGN0eHQtPm5zSGFzaCA9IE5VTEw7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCQlSb3V0aW5lcyB0byBoYW5kbGUgVmFsdWVzCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKiBBbGxvY2F0aW9ucyBhcmUgdGVycmlibGUsIG9uZSBuZWVkcyB0byBvcHRpbWl6ZSBhbGwgdGhpcyAhISEgKi8KKworLyoqCisgKiB4bWxYUGF0aE5ld0Zsb2F0OgorICogQHZhbDogIHRoZSBkb3VibGUgdmFsdWUKKyAqCisgKiBDcmVhdGUgYSBuZXcgeG1sWFBhdGhPYmplY3RQdHIgb2YgdHlwZSBkb3VibGUgYW5kIG9mIHZhbHVlIEB2YWwKKyAqCisgKiBSZXR1cm5zIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdC4KKyAqLworeG1sWFBhdGhPYmplY3RQdHIKK3htbFhQYXRoTmV3RmxvYXQoZG91YmxlIHZhbCkgeworICAgIHhtbFhQYXRoT2JqZWN0UHRyIHJldDsKKworICAgIHJldCA9ICh4bWxYUGF0aE9iamVjdFB0cikgeG1sTWFsbG9jKHNpemVvZih4bWxYUGF0aE9iamVjdCkpOworICAgIGlmIChyZXQgPT0gTlVMTCkgeworICAgICAgICB4bWxYUGF0aEVyck1lbW9yeShOVUxMLCAiY3JlYXRpbmcgZmxvYXQgb2JqZWN0XG4iKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIG1lbXNldChyZXQsIDAgLCAoc2l6ZV90KSBzaXplb2YoeG1sWFBhdGhPYmplY3QpKTsKKyAgICByZXQtPnR5cGUgPSBYUEFUSF9OVU1CRVI7CisgICAgcmV0LT5mbG9hdHZhbCA9IHZhbDsKKyNpZmRlZiBYUF9ERUJVR19PQkpfVVNBR0UKKyAgICB4bWxYUGF0aERlYnVnT2JqVXNhZ2VSZXF1ZXN0ZWQoTlVMTCwgWFBBVEhfTlVNQkVSKTsKKyNlbmRpZgorICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbFhQYXRoTmV3Qm9vbGVhbjoKKyAqIEB2YWw6ICB0aGUgYm9vbGVhbiB2YWx1ZQorICoKKyAqIENyZWF0ZSBhIG5ldyB4bWxYUGF0aE9iamVjdFB0ciBvZiB0eXBlIGJvb2xlYW4gYW5kIG9mIHZhbHVlIEB2YWwKKyAqCisgKiBSZXR1cm5zIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdC4KKyAqLworeG1sWFBhdGhPYmplY3RQdHIKK3htbFhQYXRoTmV3Qm9vbGVhbihpbnQgdmFsKSB7CisgICAgeG1sWFBhdGhPYmplY3RQdHIgcmV0OworCisgICAgcmV0ID0gKHhtbFhQYXRoT2JqZWN0UHRyKSB4bWxNYWxsb2Moc2l6ZW9mKHhtbFhQYXRoT2JqZWN0KSk7CisgICAgaWYgKHJldCA9PSBOVUxMKSB7CisgICAgICAgIHhtbFhQYXRoRXJyTWVtb3J5KE5VTEwsICJjcmVhdGluZyBib29sZWFuIG9iamVjdFxuIik7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBtZW1zZXQocmV0LCAwICwgKHNpemVfdCkgc2l6ZW9mKHhtbFhQYXRoT2JqZWN0KSk7CisgICAgcmV0LT50eXBlID0gWFBBVEhfQk9PTEVBTjsKKyAgICByZXQtPmJvb2x2YWwgPSAodmFsICE9IDApOworI2lmZGVmIFhQX0RFQlVHX09CSl9VU0FHRQorICAgIHhtbFhQYXRoRGVidWdPYmpVc2FnZVJlcXVlc3RlZChOVUxMLCBYUEFUSF9CT09MRUFOKTsKKyNlbmRpZgorICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbFhQYXRoTmV3U3RyaW5nOgorICogQHZhbDogIHRoZSB4bWxDaGFyICogdmFsdWUKKyAqCisgKiBDcmVhdGUgYSBuZXcgeG1sWFBhdGhPYmplY3RQdHIgb2YgdHlwZSBzdHJpbmcgYW5kIG9mIHZhbHVlIEB2YWwKKyAqCisgKiBSZXR1cm5zIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdC4KKyAqLworeG1sWFBhdGhPYmplY3RQdHIKK3htbFhQYXRoTmV3U3RyaW5nKGNvbnN0IHhtbENoYXIgKnZhbCkgeworICAgIHhtbFhQYXRoT2JqZWN0UHRyIHJldDsKKworICAgIHJldCA9ICh4bWxYUGF0aE9iamVjdFB0cikgeG1sTWFsbG9jKHNpemVvZih4bWxYUGF0aE9iamVjdCkpOworICAgIGlmIChyZXQgPT0gTlVMTCkgeworICAgICAgICB4bWxYUGF0aEVyck1lbW9yeShOVUxMLCAiY3JlYXRpbmcgc3RyaW5nIG9iamVjdFxuIik7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBtZW1zZXQocmV0LCAwICwgKHNpemVfdCkgc2l6ZW9mKHhtbFhQYXRoT2JqZWN0KSk7CisgICAgcmV0LT50eXBlID0gWFBBVEhfU1RSSU5HOworICAgIGlmICh2YWwgIT0gTlVMTCkKKwlyZXQtPnN0cmluZ3ZhbCA9IHhtbFN0cmR1cCh2YWwpOworICAgIGVsc2UKKwlyZXQtPnN0cmluZ3ZhbCA9IHhtbFN0cmR1cCgoY29uc3QgeG1sQ2hhciAqKSIiKTsKKyNpZmRlZiBYUF9ERUJVR19PQkpfVVNBR0UKKyAgICB4bWxYUGF0aERlYnVnT2JqVXNhZ2VSZXF1ZXN0ZWQoTlVMTCwgWFBBVEhfU1RSSU5HKTsKKyNlbmRpZgorICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbFhQYXRoV3JhcFN0cmluZzoKKyAqIEB2YWw6ICB0aGUgeG1sQ2hhciAqIHZhbHVlCisgKgorICogV3JhcHMgdGhlIEB2YWwgc3RyaW5nIGludG8gYW4gWFBhdGggb2JqZWN0LgorICoKKyAqIFJldHVybnMgdGhlIG5ld2x5IGNyZWF0ZWQgb2JqZWN0LgorICovCit4bWxYUGF0aE9iamVjdFB0cgoreG1sWFBhdGhXcmFwU3RyaW5nICh4bWxDaGFyICp2YWwpIHsKKyAgICB4bWxYUGF0aE9iamVjdFB0ciByZXQ7CisKKyAgICByZXQgPSAoeG1sWFBhdGhPYmplY3RQdHIpIHhtbE1hbGxvYyhzaXplb2YoeG1sWFBhdGhPYmplY3QpKTsKKyAgICBpZiAocmV0ID09IE5VTEwpIHsKKyAgICAgICAgeG1sWFBhdGhFcnJNZW1vcnkoTlVMTCwgImNyZWF0aW5nIHN0cmluZyBvYmplY3RcbiIpOworCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgbWVtc2V0KHJldCwgMCAsIChzaXplX3QpIHNpemVvZih4bWxYUGF0aE9iamVjdCkpOworICAgIHJldC0+dHlwZSA9IFhQQVRIX1NUUklORzsKKyAgICByZXQtPnN0cmluZ3ZhbCA9IHZhbDsKKyNpZmRlZiBYUF9ERUJVR19PQkpfVVNBR0UKKyAgICB4bWxYUGF0aERlYnVnT2JqVXNhZ2VSZXF1ZXN0ZWQoTlVMTCwgWFBBVEhfU1RSSU5HKTsKKyNlbmRpZgorICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbFhQYXRoTmV3Q1N0cmluZzoKKyAqIEB2YWw6ICB0aGUgY2hhciAqIHZhbHVlCisgKgorICogQ3JlYXRlIGEgbmV3IHhtbFhQYXRoT2JqZWN0UHRyIG9mIHR5cGUgc3RyaW5nIGFuZCBvZiB2YWx1ZSBAdmFsCisgKgorICogUmV0dXJucyB0aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QuCisgKi8KK3htbFhQYXRoT2JqZWN0UHRyCit4bWxYUGF0aE5ld0NTdHJpbmcoY29uc3QgY2hhciAqdmFsKSB7CisgICAgeG1sWFBhdGhPYmplY3RQdHIgcmV0OworCisgICAgcmV0ID0gKHhtbFhQYXRoT2JqZWN0UHRyKSB4bWxNYWxsb2Moc2l6ZW9mKHhtbFhQYXRoT2JqZWN0KSk7CisgICAgaWYgKHJldCA9PSBOVUxMKSB7CisgICAgICAgIHhtbFhQYXRoRXJyTWVtb3J5KE5VTEwsICJjcmVhdGluZyBzdHJpbmcgb2JqZWN0XG4iKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIG1lbXNldChyZXQsIDAgLCAoc2l6ZV90KSBzaXplb2YoeG1sWFBhdGhPYmplY3QpKTsKKyAgICByZXQtPnR5cGUgPSBYUEFUSF9TVFJJTkc7CisgICAgcmV0LT5zdHJpbmd2YWwgPSB4bWxTdHJkdXAoQkFEX0NBU1QgdmFsKTsKKyNpZmRlZiBYUF9ERUJVR19PQkpfVVNBR0UKKyAgICB4bWxYUGF0aERlYnVnT2JqVXNhZ2VSZXF1ZXN0ZWQoTlVMTCwgWFBBVEhfU1RSSU5HKTsKKyNlbmRpZgorICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbFhQYXRoV3JhcENTdHJpbmc6CisgKiBAdmFsOiAgdGhlIGNoYXIgKiB2YWx1ZQorICoKKyAqIFdyYXBzIGEgc3RyaW5nIGludG8gYW4gWFBhdGggb2JqZWN0LgorICoKKyAqIFJldHVybnMgdGhlIG5ld2x5IGNyZWF0ZWQgb2JqZWN0LgorICovCit4bWxYUGF0aE9iamVjdFB0cgoreG1sWFBhdGhXcmFwQ1N0cmluZyAoY2hhciAqIHZhbCkgeworICAgIHJldHVybih4bWxYUGF0aFdyYXBTdHJpbmcoKHhtbENoYXIgKikodmFsKSkpOworfQorCisvKioKKyAqIHhtbFhQYXRoV3JhcEV4dGVybmFsOgorICogQHZhbDogIHRoZSB1c2VyIGRhdGEKKyAqCisgKiBXcmFwcyB0aGUgQHZhbCBkYXRhIGludG8gYW4gWFBhdGggb2JqZWN0LgorICoKKyAqIFJldHVybnMgdGhlIG5ld2x5IGNyZWF0ZWQgb2JqZWN0LgorICovCit4bWxYUGF0aE9iamVjdFB0cgoreG1sWFBhdGhXcmFwRXh0ZXJuYWwgKHZvaWQgKnZhbCkgeworICAgIHhtbFhQYXRoT2JqZWN0UHRyIHJldDsKKworICAgIHJldCA9ICh4bWxYUGF0aE9iamVjdFB0cikgeG1sTWFsbG9jKHNpemVvZih4bWxYUGF0aE9iamVjdCkpOworICAgIGlmIChyZXQgPT0gTlVMTCkgeworICAgICAgICB4bWxYUGF0aEVyck1lbW9yeShOVUxMLCAiY3JlYXRpbmcgdXNlciBvYmplY3RcbiIpOworCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgbWVtc2V0KHJldCwgMCAsIChzaXplX3QpIHNpemVvZih4bWxYUGF0aE9iamVjdCkpOworICAgIHJldC0+dHlwZSA9IFhQQVRIX1VTRVJTOworICAgIHJldC0+dXNlciA9IHZhbDsKKyNpZmRlZiBYUF9ERUJVR19PQkpfVVNBR0UKKyAgICB4bWxYUGF0aERlYnVnT2JqVXNhZ2VSZXF1ZXN0ZWQoTlVMTCwgWFBBVEhfVVNFUlMpOworI2VuZGlmCisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogeG1sWFBhdGhPYmplY3RDb3B5OgorICogQHZhbDogIHRoZSBvcmlnaW5hbCBvYmplY3QKKyAqCisgKiBhbGxvY2F0ZSBhIG5ldyBjb3B5IG9mIGEgZ2l2ZW4gb2JqZWN0CisgKgorICogUmV0dXJucyB0aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QuCisgKi8KK3htbFhQYXRoT2JqZWN0UHRyCit4bWxYUGF0aE9iamVjdENvcHkoeG1sWFBhdGhPYmplY3RQdHIgdmFsKSB7CisgICAgeG1sWFBhdGhPYmplY3RQdHIgcmV0OworCisgICAgaWYgKHZhbCA9PSBOVUxMKQorCXJldHVybihOVUxMKTsKKworICAgIHJldCA9ICh4bWxYUGF0aE9iamVjdFB0cikgeG1sTWFsbG9jKHNpemVvZih4bWxYUGF0aE9iamVjdCkpOworICAgIGlmIChyZXQgPT0gTlVMTCkgeworICAgICAgICB4bWxYUGF0aEVyck1lbW9yeShOVUxMLCAiY29weWluZyBvYmplY3RcbiIpOworCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgbWVtY3B5KHJldCwgdmFsICwgKHNpemVfdCkgc2l6ZW9mKHhtbFhQYXRoT2JqZWN0KSk7CisjaWZkZWYgWFBfREVCVUdfT0JKX1VTQUdFCisgICAgeG1sWFBhdGhEZWJ1Z09ialVzYWdlUmVxdWVzdGVkKE5VTEwsIHZhbC0+dHlwZSk7CisjZW5kaWYKKyAgICBzd2l0Y2ggKHZhbC0+dHlwZSkgeworCWNhc2UgWFBBVEhfQk9PTEVBTjoKKwljYXNlIFhQQVRIX05VTUJFUjoKKwljYXNlIFhQQVRIX1BPSU5UOgorCWNhc2UgWFBBVEhfUkFOR0U6CisJICAgIGJyZWFrOworCWNhc2UgWFBBVEhfU1RSSU5HOgorCSAgICByZXQtPnN0cmluZ3ZhbCA9IHhtbFN0cmR1cCh2YWwtPnN0cmluZ3ZhbCk7CisJICAgIGJyZWFrOworCWNhc2UgWFBBVEhfWFNMVF9UUkVFOgorI2lmIDAKKy8qCisgIFJlbW92ZWQgMTEgSnVseSAyMDA0IC0gdGhlIGN1cnJlbnQgaGFuZGxpbmcgb2YgeHNsdCB0bXBSVlQgbm9kZXMgbWVhbnMgdGhhdAorICB0aGlzIHByZXZpb3VzIGhhbmRsaW5nIGlzIG5vIGxvbmdlciBjb3JyZWN0LCBhbmQgY2FuIGNhdXNlIHNvbWUgc2VyaW91cworICBwcm9ibGVtcyAocmVmLiBidWcgMTQ1NTQ3KQorKi8KKwkgICAgaWYgKCh2YWwtPm5vZGVzZXR2YWwgIT0gTlVMTCkgJiYKKwkJKHZhbC0+bm9kZXNldHZhbC0+bm9kZVRhYiAhPSBOVUxMKSkgeworCQl4bWxOb2RlUHRyIGN1ciwgdG1wOworCQl4bWxEb2NQdHIgdG9wOworCisJCXJldC0+Ym9vbHZhbCA9IDE7CisJCXRvcCA9ICB4bWxOZXdEb2MoTlVMTCk7CisJCXRvcC0+bmFtZSA9IChjaGFyICopCisJCSAgICB4bWxTdHJkdXAodmFsLT5ub2Rlc2V0dmFsLT5ub2RlVGFiWzBdLT5uYW1lKTsKKwkJcmV0LT51c2VyID0gdG9wOworCQlpZiAodG9wICE9IE5VTEwpIHsKKwkJICAgIHRvcC0+ZG9jID0gdG9wOworCQkgICAgY3VyID0gdmFsLT5ub2Rlc2V0dmFsLT5ub2RlVGFiWzBdLT5jaGlsZHJlbjsKKwkJICAgIHdoaWxlIChjdXIgIT0gTlVMTCkgeworCQkJdG1wID0geG1sRG9jQ29weU5vZGUoY3VyLCB0b3AsIDEpOworCQkJeG1sQWRkQ2hpbGQoKHhtbE5vZGVQdHIpIHRvcCwgdG1wKTsKKwkJCWN1ciA9IGN1ci0+bmV4dDsKKwkJICAgIH0KKwkJfQorCisJCXJldC0+bm9kZXNldHZhbCA9IHhtbFhQYXRoTm9kZVNldENyZWF0ZSgoeG1sTm9kZVB0cikgdG9wKTsKKwkgICAgfSBlbHNlCisJCXJldC0+bm9kZXNldHZhbCA9IHhtbFhQYXRoTm9kZVNldENyZWF0ZShOVUxMKTsKKwkgICAgLyogRGVhbGxvY2F0ZSB0aGUgY29waWVkIHRyZWUgdmFsdWUgKi8KKwkgICAgYnJlYWs7CisjZW5kaWYKKwljYXNlIFhQQVRIX05PREVTRVQ6CisJICAgIHJldC0+bm9kZXNldHZhbCA9IHhtbFhQYXRoTm9kZVNldE1lcmdlKE5VTEwsIHZhbC0+bm9kZXNldHZhbCk7CisJICAgIC8qIERvIG5vdCBkZWFsbG9jYXRlIHRoZSBjb3BpZWQgdHJlZSB2YWx1ZSAqLworCSAgICByZXQtPmJvb2x2YWwgPSAwOworCSAgICBicmVhazsKKwljYXNlIFhQQVRIX0xPQ0FUSU9OU0VUOgorI2lmZGVmIExJQlhNTF9YUFRSX0VOQUJMRUQKKwl7CisJICAgIHhtbExvY2F0aW9uU2V0UHRyIGxvYyA9IHZhbC0+dXNlcjsKKwkgICAgcmV0LT51c2VyID0gKHZvaWQgKikgeG1sWFB0ckxvY2F0aW9uU2V0TWVyZ2UoTlVMTCwgbG9jKTsKKwkgICAgYnJlYWs7CisJfQorI2VuZGlmCisgICAgICAgIGNhc2UgWFBBVEhfVVNFUlM6CisJICAgIHJldC0+dXNlciA9IHZhbC0+dXNlcjsKKwkgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWFBBVEhfVU5ERUZJTkVEOgorCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJICAgICJ4bWxYUGF0aE9iamVjdENvcHk6IHVuc3VwcG9ydGVkIHR5cGUgJWRcbiIsCisJCSAgICB2YWwtPnR5cGUpOworCSAgICBicmVhazsKKyAgICB9CisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogeG1sWFBhdGhGcmVlT2JqZWN0OgorICogQG9iajogIHRoZSBvYmplY3QgdG8gZnJlZQorICoKKyAqIEZyZWUgdXAgYW4geG1sWFBhdGhPYmplY3RQdHIgb2JqZWN0LgorICovCit2b2lkCit4bWxYUGF0aEZyZWVPYmplY3QoeG1sWFBhdGhPYmplY3RQdHIgb2JqKSB7CisgICAgaWYgKG9iaiA9PSBOVUxMKSByZXR1cm47CisgICAgaWYgKChvYmotPnR5cGUgPT0gWFBBVEhfTk9ERVNFVCkgfHwgKG9iai0+dHlwZSA9PSBYUEFUSF9YU0xUX1RSRUUpKSB7CisJaWYgKG9iai0+Ym9vbHZhbCkgeworI2lmIDAKKwkgICAgaWYgKG9iai0+dXNlciAhPSBOVUxMKSB7CisgICAgICAgICAgICAgICAgeG1sWFBhdGhGcmVlTm9kZVNldChvYmotPm5vZGVzZXR2YWwpOworCQl4bWxGcmVlTm9kZUxpc3QoKHhtbE5vZGVQdHIpIG9iai0+dXNlcik7CisJICAgIH0gZWxzZQorI2VuZGlmCisJICAgIG9iai0+dHlwZSA9IFhQQVRIX1hTTFRfVFJFRTsgLyogVE9ETzogSnVzdCBmb3IgZGVidWdnaW5nLiAqLworCSAgICBpZiAob2JqLT5ub2Rlc2V0dmFsICE9IE5VTEwpCisJCXhtbFhQYXRoRnJlZVZhbHVlVHJlZShvYmotPm5vZGVzZXR2YWwpOworCX0gZWxzZSB7CisJICAgIGlmIChvYmotPm5vZGVzZXR2YWwgIT0gTlVMTCkKKwkJeG1sWFBhdGhGcmVlTm9kZVNldChvYmotPm5vZGVzZXR2YWwpOworCX0KKyNpZmRlZiBMSUJYTUxfWFBUUl9FTkFCTEVECisgICAgfSBlbHNlIGlmIChvYmotPnR5cGUgPT0gWFBBVEhfTE9DQVRJT05TRVQpIHsKKwlpZiAob2JqLT51c2VyICE9IE5VTEwpCisJICAgIHhtbFhQdHJGcmVlTG9jYXRpb25TZXQob2JqLT51c2VyKTsKKyNlbmRpZgorICAgIH0gZWxzZSBpZiAob2JqLT50eXBlID09IFhQQVRIX1NUUklORykgeworCWlmIChvYmotPnN0cmluZ3ZhbCAhPSBOVUxMKQorCSAgICB4bWxGcmVlKG9iai0+c3RyaW5ndmFsKTsKKyAgICB9CisjaWZkZWYgWFBfREVCVUdfT0JKX1VTQUdFCisgICAgeG1sWFBhdGhEZWJ1Z09ialVzYWdlUmVsZWFzZWQoTlVMTCwgb2JqLT50eXBlKTsKKyNlbmRpZgorICAgIHhtbEZyZWUob2JqKTsKK30KKworLyoqCisgKiB4bWxYUGF0aFJlbGVhc2VPYmplY3Q6CisgKiBAb2JqOiAgdGhlIHhtbFhQYXRoT2JqZWN0UHRyIHRvIGZyZWUgb3IgdG8gY2FjaGUKKyAqCisgKiBEZXBlbmRpbmcgb24gdGhlIHN0YXRlIG9mIHRoZSBjYWNoZSB0aGlzIGZyZWVzIHRoZSBnaXZlbgorICogWFBhdGggb2JqZWN0IG9yIHN0b3JlcyBpdCBpbiB0aGUgY2FjaGUuCisgKi8KK3N0YXRpYyB2b2lkCit4bWxYUGF0aFJlbGVhc2VPYmplY3QoeG1sWFBhdGhDb250ZXh0UHRyIGN0eHQsIHhtbFhQYXRoT2JqZWN0UHRyIG9iaikKK3sKKyNkZWZpbmUgWFBfQ0FDSEVfQUREKHNsLCBvKSBpZiAoc2wgPT0gTlVMTCkgeyBcCisJc2wgPSB4bWxQb2ludGVyTGlzdENyZWF0ZSgxMCk7IGlmIChzbCA9PSBOVUxMKSBnb3RvIGZyZWVfb2JqOyB9IFwKKyAgICBpZiAoeG1sUG9pbnRlckxpc3RBZGRTaXplKHNsLCBvYmosIDApID09IC0xKSBnb3RvIGZyZWVfb2JqOworCisjZGVmaW5lIFhQX0NBQ0hFX1dBTlRTKHNsLCBuKSAoKHNsID09IE5VTEwpIHx8ICgoc2wpLT5udW1iZXIgPCBuKSkKKworICAgIGlmIChvYmogPT0gTlVMTCkKKwlyZXR1cm47CisgICAgaWYgKChjdHh0ID09IE5VTEwpIHx8IChjdHh0LT5jYWNoZSA9PSBOVUxMKSkgeworCSB4bWxYUGF0aEZyZWVPYmplY3Qob2JqKTsKKyAgICB9IGVsc2UgeworCXhtbFhQYXRoQ29udGV4dENhY2hlUHRyIGNhY2hlID0KKwkgICAgKHhtbFhQYXRoQ29udGV4dENhY2hlUHRyKSBjdHh0LT5jYWNoZTsKKworCXN3aXRjaCAob2JqLT50eXBlKSB7CisJICAgIGNhc2UgWFBBVEhfTk9ERVNFVDoKKwkgICAgY2FzZSBYUEFUSF9YU0xUX1RSRUU6CisJCWlmIChvYmotPm5vZGVzZXR2YWwgIT0gTlVMTCkgeworCQkgICAgaWYgKG9iai0+Ym9vbHZhbCkgeworCQkJLyoKKwkJCSogSXQgbG9va3MgbGlrZSB0aGUgQGJvb2x2YWwgaXMgdXNlZCBmb3IKKwkJCSogZXZhbHVhdGlvbiBpZiB0aGlzIGFuIFhTTFQgUmVzdWx0IFRyZWUgRnJhZ21lbnQuCisJCQkqIFRPRE86IENoZWNrIGlmIHRoaXMgYXNzdW1wdGlvbiBpcyBjb3JyZWN0LgorCQkJKi8KKwkJCW9iai0+dHlwZSA9IFhQQVRIX1hTTFRfVFJFRTsgLyoganVzdCBmb3IgZGVidWdnaW5nICovCisJCQl4bWxYUGF0aEZyZWVWYWx1ZVRyZWUob2JqLT5ub2Rlc2V0dmFsKTsKKwkJCW9iai0+bm9kZXNldHZhbCA9IE5VTEw7CisJCSAgICB9IGVsc2UgaWYgKChvYmotPm5vZGVzZXR2YWwtPm5vZGVNYXggPD0gNDApICYmCisJCQkoWFBfQ0FDSEVfV0FOVFMoY2FjaGUtPm5vZGVzZXRPYmpzLAorCQkJCQljYWNoZS0+bWF4Tm9kZXNldCkpKQorCQkgICAgeworCQkJWFBfQ0FDSEVfQUREKGNhY2hlLT5ub2Rlc2V0T2Jqcywgb2JqKTsKKwkJCWdvdG8gb2JqX2NhY2hlZDsKKwkJICAgIH0gZWxzZSB7CisJCQl4bWxYUGF0aEZyZWVOb2RlU2V0KG9iai0+bm9kZXNldHZhbCk7CisJCQlvYmotPm5vZGVzZXR2YWwgPSBOVUxMOworCQkgICAgfQorCQl9CisJCWJyZWFrOworCSAgICBjYXNlIFhQQVRIX1NUUklORzoKKwkJaWYgKG9iai0+c3RyaW5ndmFsICE9IE5VTEwpCisJCSAgICB4bWxGcmVlKG9iai0+c3RyaW5ndmFsKTsKKworCQlpZiAoWFBfQ0FDSEVfV0FOVFMoY2FjaGUtPnN0cmluZ09ianMsIGNhY2hlLT5tYXhTdHJpbmcpKSB7CisJCSAgICBYUF9DQUNIRV9BREQoY2FjaGUtPnN0cmluZ09ianMsIG9iaik7CisJCSAgICBnb3RvIG9ial9jYWNoZWQ7CisJCX0KKwkJYnJlYWs7CisJICAgIGNhc2UgWFBBVEhfQk9PTEVBTjoKKwkJaWYgKFhQX0NBQ0hFX1dBTlRTKGNhY2hlLT5ib29sZWFuT2JqcywgY2FjaGUtPm1heEJvb2xlYW4pKSB7CisJCSAgICBYUF9DQUNIRV9BREQoY2FjaGUtPmJvb2xlYW5PYmpzLCBvYmopOworCQkgICAgZ290byBvYmpfY2FjaGVkOworCQl9CisJCWJyZWFrOworCSAgICBjYXNlIFhQQVRIX05VTUJFUjoKKwkJaWYgKFhQX0NBQ0hFX1dBTlRTKGNhY2hlLT5udW1iZXJPYmpzLCBjYWNoZS0+bWF4TnVtYmVyKSkgeworCQkgICAgWFBfQ0FDSEVfQUREKGNhY2hlLT5udW1iZXJPYmpzLCBvYmopOworCQkgICAgZ290byBvYmpfY2FjaGVkOworCQl9CisJCWJyZWFrOworI2lmZGVmIExJQlhNTF9YUFRSX0VOQUJMRUQKKwkgICAgY2FzZSBYUEFUSF9MT0NBVElPTlNFVDoKKwkJaWYgKG9iai0+dXNlciAhPSBOVUxMKSB7CisJCSAgICB4bWxYUHRyRnJlZUxvY2F0aW9uU2V0KG9iai0+dXNlcik7CisJCX0KKwkJZ290byBmcmVlX29iajsKKyNlbmRpZgorCSAgICBkZWZhdWx0OgorCQlnb3RvIGZyZWVfb2JqOworCX0KKworCS8qCisJKiBGYWxsYmFjayB0byBhZGRpbmcgdG8gdGhlIG1pc2Mtb2JqZWN0cyBzbG90LgorCSovCisJaWYgKFhQX0NBQ0hFX1dBTlRTKGNhY2hlLT5taXNjT2JqcywgY2FjaGUtPm1heE1pc2MpKSB7CisJICAgIFhQX0NBQ0hFX0FERChjYWNoZS0+bWlzY09ianMsIG9iaik7CisJfSBlbHNlCisJICAgIGdvdG8gZnJlZV9vYmo7CisKK29ial9jYWNoZWQ6CisKKyNpZmRlZiBYUF9ERUJVR19PQkpfVVNBR0UKKwl4bWxYUGF0aERlYnVnT2JqVXNhZ2VSZWxlYXNlZChjdHh0LCBvYmotPnR5cGUpOworI2VuZGlmCisKKwlpZiAob2JqLT5ub2Rlc2V0dmFsICE9IE5VTEwpIHsKKwkgICAgeG1sTm9kZVNldFB0ciB0bXBzZXQgPSBvYmotPm5vZGVzZXR2YWw7CisKKwkgICAgLyoKKwkgICAgKiBUT0RPOiBEdWUgdG8gdGhvc2UgbmFzdHkgbnMtbm9kZXMsIHdlIG5lZWQgdG8gdHJhdmVyc2UKKwkgICAgKiAgdGhlIGxpc3QgYW5kIGZyZWUgdGhlIG5zLW5vZGVzLgorCSAgICAqIFVSR0VOVCBUT0RPOiBDaGVjayBpZiBpdCdzIGFjdHVhbGx5IHNsb3dpbmcgdGhpbmdzIGRvd24uCisJICAgICogIE1heWJlIHdlIHNob3VsZG4ndCB0cnkgdG8gcHJlc2VydmUgdGhlIGxpc3QuCisJICAgICovCisJICAgIGlmICh0bXBzZXQtPm5vZGVOciA+IDEpIHsKKwkJaW50IGk7CisJCXhtbE5vZGVQdHIgbm9kZTsKKworCQlmb3IgKGkgPSAwOyBpIDwgdG1wc2V0LT5ub2RlTnI7IGkrKykgeworCQkgICAgbm9kZSA9IHRtcHNldC0+bm9kZVRhYltpXTsKKwkJICAgIGlmICgobm9kZSAhPSBOVUxMKSAmJgorCQkJKG5vZGUtPnR5cGUgPT0gWE1MX05BTUVTUEFDRV9ERUNMKSkKKwkJICAgIHsKKwkJCXhtbFhQYXRoTm9kZVNldEZyZWVOcygoeG1sTnNQdHIpIG5vZGUpOworCQkgICAgfQorCQl9CisJICAgIH0gZWxzZSBpZiAodG1wc2V0LT5ub2RlTnIgPT0gMSkgeworCQlpZiAoKHRtcHNldC0+bm9kZVRhYlswXSAhPSBOVUxMKSAmJgorCQkgICAgKHRtcHNldC0+bm9kZVRhYlswXS0+dHlwZSA9PSBYTUxfTkFNRVNQQUNFX0RFQ0wpKQorCQkgICAgeG1sWFBhdGhOb2RlU2V0RnJlZU5zKCh4bWxOc1B0cikgdG1wc2V0LT5ub2RlVGFiWzBdKTsKKwkgICAgfQorCSAgICB0bXBzZXQtPm5vZGVOciA9IDA7CisJICAgIG1lbXNldChvYmosIDAsIHNpemVvZih4bWxYUGF0aE9iamVjdCkpOworCSAgICBvYmotPm5vZGVzZXR2YWwgPSB0bXBzZXQ7CisJfSBlbHNlCisJICAgIG1lbXNldChvYmosIDAsIHNpemVvZih4bWxYUGF0aE9iamVjdCkpOworCisJcmV0dXJuOworCitmcmVlX29iajoKKwkvKgorCSogQ2FjaGUgaXMgZnVsbDsgZnJlZSB0aGUgb2JqZWN0LgorCSovCisJaWYgKG9iai0+bm9kZXNldHZhbCAhPSBOVUxMKQorCSAgICB4bWxYUGF0aEZyZWVOb2RlU2V0KG9iai0+bm9kZXNldHZhbCk7CisjaWZkZWYgWFBfREVCVUdfT0JKX1VTQUdFCisJeG1sWFBhdGhEZWJ1Z09ialVzYWdlUmVsZWFzZWQoTlVMTCwgb2JqLT50eXBlKTsKKyNlbmRpZgorCXhtbEZyZWUob2JqKTsKKyAgICB9CisgICAgcmV0dXJuOworfQorCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCQlUeXBlIENhc3RpbmcgUm91dGluZXMJCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioKKyAqIHhtbFhQYXRoQ2FzdEJvb2xlYW5Ub1N0cmluZzoKKyAqIEB2YWw6ICBhIGJvb2xlYW4KKyAqCisgKiBDb252ZXJ0cyBhIGJvb2xlYW4gdG8gaXRzIHN0cmluZyB2YWx1ZS4KKyAqCisgKiBSZXR1cm5zIGEgbmV3bHkgYWxsb2NhdGVkIHN0cmluZy4KKyAqLworeG1sQ2hhciAqCit4bWxYUGF0aENhc3RCb29sZWFuVG9TdHJpbmcgKGludCB2YWwpIHsKKyAgICB4bWxDaGFyICpyZXQ7CisgICAgaWYgKHZhbCkKKwlyZXQgPSB4bWxTdHJkdXAoKGNvbnN0IHhtbENoYXIgKikgInRydWUiKTsKKyAgICBlbHNlCisJcmV0ID0geG1sU3RyZHVwKChjb25zdCB4bWxDaGFyICopICJmYWxzZSIpOworICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbFhQYXRoQ2FzdE51bWJlclRvU3RyaW5nOgorICogQHZhbDogIGEgbnVtYmVyCisgKgorICogQ29udmVydHMgYSBudW1iZXIgdG8gaXRzIHN0cmluZyB2YWx1ZS4KKyAqCisgKiBSZXR1cm5zIGEgbmV3bHkgYWxsb2NhdGVkIHN0cmluZy4KKyAqLworeG1sQ2hhciAqCit4bWxYUGF0aENhc3ROdW1iZXJUb1N0cmluZyAoZG91YmxlIHZhbCkgeworICAgIHhtbENoYXIgKnJldDsKKyAgICBzd2l0Y2ggKHhtbFhQYXRoSXNJbmYodmFsKSkgeworICAgIGNhc2UgMToKKwlyZXQgPSB4bWxTdHJkdXAoKGNvbnN0IHhtbENoYXIgKikgIkluZmluaXR5Iik7CisJYnJlYWs7CisgICAgY2FzZSAtMToKKwlyZXQgPSB4bWxTdHJkdXAoKGNvbnN0IHhtbENoYXIgKikgIi1JbmZpbml0eSIpOworCWJyZWFrOworICAgIGRlZmF1bHQ6CisJaWYgKHhtbFhQYXRoSXNOYU4odmFsKSkgeworCSAgICByZXQgPSB4bWxTdHJkdXAoKGNvbnN0IHhtbENoYXIgKikgIk5hTiIpOworCX0gZWxzZSBpZiAodmFsID09IDAgJiYgeG1sWFBhdGhHZXRTaWduKHZhbCkgIT0gMCkgeworCSAgICByZXQgPSB4bWxTdHJkdXAoKGNvbnN0IHhtbENoYXIgKikgIjAiKTsKKwl9IGVsc2UgeworCSAgICAvKiBjb3VsZCBiZSBpbXByb3ZlZCAqLworCSAgICBjaGFyIGJ1ZlsxMDBdOworCSAgICB4bWxYUGF0aEZvcm1hdE51bWJlcih2YWwsIGJ1ZiwgOTkpOworCSAgICBidWZbOTldID0gMDsKKwkgICAgcmV0ID0geG1sU3RyZHVwKChjb25zdCB4bWxDaGFyICopIGJ1Zik7CisJfQorICAgIH0KKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxYUGF0aENhc3ROb2RlVG9TdHJpbmc6CisgKiBAbm9kZTogIGEgbm9kZQorICoKKyAqIENvbnZlcnRzIGEgbm9kZSB0byBpdHMgc3RyaW5nIHZhbHVlLgorICoKKyAqIFJldHVybnMgYSBuZXdseSBhbGxvY2F0ZWQgc3RyaW5nLgorICovCit4bWxDaGFyICoKK3htbFhQYXRoQ2FzdE5vZGVUb1N0cmluZyAoeG1sTm9kZVB0ciBub2RlKSB7Cit4bWxDaGFyICpyZXQ7CisgICAgaWYgKChyZXQgPSB4bWxOb2RlR2V0Q29udGVudChub2RlKSkgPT0gTlVMTCkKKwlyZXQgPSB4bWxTdHJkdXAoKGNvbnN0IHhtbENoYXIgKikgIiIpOworICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbFhQYXRoQ2FzdE5vZGVTZXRUb1N0cmluZzoKKyAqIEBuczogIGEgbm9kZS1zZXQKKyAqCisgKiBDb252ZXJ0cyBhIG5vZGUtc2V0IHRvIGl0cyBzdHJpbmcgdmFsdWUuCisgKgorICogUmV0dXJucyBhIG5ld2x5IGFsbG9jYXRlZCBzdHJpbmcuCisgKi8KK3htbENoYXIgKgoreG1sWFBhdGhDYXN0Tm9kZVNldFRvU3RyaW5nICh4bWxOb2RlU2V0UHRyIG5zKSB7CisgICAgaWYgKChucyA9PSBOVUxMKSB8fCAobnMtPm5vZGVOciA9PSAwKSB8fCAobnMtPm5vZGVUYWIgPT0gTlVMTCkpCisJcmV0dXJuKHhtbFN0cmR1cCgoY29uc3QgeG1sQ2hhciAqKSAiIikpOworCisgICAgaWYgKG5zLT5ub2RlTnIgPiAxKQorCXhtbFhQYXRoTm9kZVNldFNvcnQobnMpOworICAgIHJldHVybih4bWxYUGF0aENhc3ROb2RlVG9TdHJpbmcobnMtPm5vZGVUYWJbMF0pKTsKK30KKworLyoqCisgKiB4bWxYUGF0aENhc3RUb1N0cmluZzoKKyAqIEB2YWw6ICBhbiBYUGF0aCBvYmplY3QKKyAqCisgKiBDb252ZXJ0cyBhbiBleGlzdGluZyBvYmplY3QgdG8gaXRzIHN0cmluZygpIGVxdWl2YWxlbnQKKyAqCisgKiBSZXR1cm5zIHRoZSBhbGxvY2F0ZWQgc3RyaW5nIHZhbHVlIG9mIHRoZSBvYmplY3QsIE5VTEwgaW4gY2FzZSBvZiBlcnJvci4KKyAqICAgICAgICAgSXQncyB1cCB0byB0aGUgY2FsbGVyIHRvIGZyZWUgdGhlIHN0cmluZyBtZW1vcnkgd2l0aCB4bWxGcmVlKCkuCisgKi8KK3htbENoYXIgKgoreG1sWFBhdGhDYXN0VG9TdHJpbmcoeG1sWFBhdGhPYmplY3RQdHIgdmFsKSB7CisgICAgeG1sQ2hhciAqcmV0ID0gTlVMTDsKKworICAgIGlmICh2YWwgPT0gTlVMTCkKKwlyZXR1cm4oeG1sU3RyZHVwKChjb25zdCB4bWxDaGFyICopICIiKSk7CisgICAgc3dpdGNoICh2YWwtPnR5cGUpIHsKKwljYXNlIFhQQVRIX1VOREVGSU5FRDoKKyNpZmRlZiBERUJVR19FWFBSCisJICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCAiU3RyaW5nOiB1bmRlZmluZWRcbiIpOworI2VuZGlmCisJICAgIHJldCA9IHhtbFN0cmR1cCgoY29uc3QgeG1sQ2hhciAqKSAiIik7CisJICAgIGJyZWFrOworICAgICAgICBjYXNlIFhQQVRIX05PREVTRVQ6CisgICAgICAgIGNhc2UgWFBBVEhfWFNMVF9UUkVFOgorCSAgICByZXQgPSB4bWxYUGF0aENhc3ROb2RlU2V0VG9TdHJpbmcodmFsLT5ub2Rlc2V0dmFsKTsKKwkgICAgYnJlYWs7CisJY2FzZSBYUEFUSF9TVFJJTkc6CisJICAgIHJldHVybih4bWxTdHJkdXAodmFsLT5zdHJpbmd2YWwpKTsKKyAgICAgICAgY2FzZSBYUEFUSF9CT09MRUFOOgorCSAgICByZXQgPSB4bWxYUGF0aENhc3RCb29sZWFuVG9TdHJpbmcodmFsLT5ib29sdmFsKTsKKwkgICAgYnJlYWs7CisJY2FzZSBYUEFUSF9OVU1CRVI6IHsKKwkgICAgcmV0ID0geG1sWFBhdGhDYXN0TnVtYmVyVG9TdHJpbmcodmFsLT5mbG9hdHZhbCk7CisJICAgIGJyZWFrOworCX0KKwljYXNlIFhQQVRIX1VTRVJTOgorCWNhc2UgWFBBVEhfUE9JTlQ6CisJY2FzZSBYUEFUSF9SQU5HRToKKwljYXNlIFhQQVRIX0xPQ0FUSU9OU0VUOgorCSAgICBUT0RPCisJICAgIHJldCA9IHhtbFN0cmR1cCgoY29uc3QgeG1sQ2hhciAqKSAiIik7CisJICAgIGJyZWFrOworICAgIH0KKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxYUGF0aENvbnZlcnRTdHJpbmc6CisgKiBAdmFsOiAgYW4gWFBhdGggb2JqZWN0CisgKgorICogQ29udmVydHMgYW4gZXhpc3Rpbmcgb2JqZWN0IHRvIGl0cyBzdHJpbmcoKSBlcXVpdmFsZW50CisgKgorICogUmV0dXJucyB0aGUgbmV3IG9iamVjdCwgdGhlIG9sZCBvbmUgaXMgZnJlZWQgKG9yIHRoZSBvcGVyYXRpb24KKyAqICAgICAgICAgaXMgZG9uZSBkaXJlY3RseSBvbiBAdmFsKQorICovCit4bWxYUGF0aE9iamVjdFB0cgoreG1sWFBhdGhDb252ZXJ0U3RyaW5nKHhtbFhQYXRoT2JqZWN0UHRyIHZhbCkgeworICAgIHhtbENoYXIgKnJlcyA9IE5VTEw7CisKKyAgICBpZiAodmFsID09IE5VTEwpCisJcmV0dXJuKHhtbFhQYXRoTmV3Q1N0cmluZygiIikpOworCisgICAgc3dpdGNoICh2YWwtPnR5cGUpIHsKKyAgICBjYXNlIFhQQVRIX1VOREVGSU5FRDoKKyNpZmRlZiBERUJVR19FWFBSCisJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICJTVFJJTkc6IHVuZGVmaW5lZFxuIik7CisjZW5kaWYKKwlicmVhazsKKyAgICBjYXNlIFhQQVRIX05PREVTRVQ6CisgICAgY2FzZSBYUEFUSF9YU0xUX1RSRUU6CisJcmVzID0geG1sWFBhdGhDYXN0Tm9kZVNldFRvU3RyaW5nKHZhbC0+bm9kZXNldHZhbCk7CisJYnJlYWs7CisgICAgY2FzZSBYUEFUSF9TVFJJTkc6CisJcmV0dXJuKHZhbCk7CisgICAgY2FzZSBYUEFUSF9CT09MRUFOOgorCXJlcyA9IHhtbFhQYXRoQ2FzdEJvb2xlYW5Ub1N0cmluZyh2YWwtPmJvb2x2YWwpOworCWJyZWFrOworICAgIGNhc2UgWFBBVEhfTlVNQkVSOgorCXJlcyA9IHhtbFhQYXRoQ2FzdE51bWJlclRvU3RyaW5nKHZhbC0+ZmxvYXR2YWwpOworCWJyZWFrOworICAgIGNhc2UgWFBBVEhfVVNFUlM6CisgICAgY2FzZSBYUEFUSF9QT0lOVDoKKyAgICBjYXNlIFhQQVRIX1JBTkdFOgorICAgIGNhc2UgWFBBVEhfTE9DQVRJT05TRVQ6CisJVE9ETzsKKwlicmVhazsKKyAgICB9CisgICAgeG1sWFBhdGhGcmVlT2JqZWN0KHZhbCk7CisgICAgaWYgKHJlcyA9PSBOVUxMKQorCXJldHVybih4bWxYUGF0aE5ld0NTdHJpbmcoIiIpKTsKKyAgICByZXR1cm4oeG1sWFBhdGhXcmFwU3RyaW5nKHJlcykpOworfQorCisvKioKKyAqIHhtbFhQYXRoQ2FzdEJvb2xlYW5Ub051bWJlcjoKKyAqIEB2YWw6ICBhIGJvb2xlYW4KKyAqCisgKiBDb252ZXJ0cyBhIGJvb2xlYW4gdG8gaXRzIG51bWJlciB2YWx1ZQorICoKKyAqIFJldHVybnMgdGhlIG51bWJlciB2YWx1ZQorICovCitkb3VibGUKK3htbFhQYXRoQ2FzdEJvb2xlYW5Ub051bWJlcihpbnQgdmFsKSB7CisgICAgaWYgKHZhbCkKKwlyZXR1cm4oMS4wKTsKKyAgICByZXR1cm4oMC4wKTsKK30KKworLyoqCisgKiB4bWxYUGF0aENhc3RTdHJpbmdUb051bWJlcjoKKyAqIEB2YWw6ICBhIHN0cmluZworICoKKyAqIENvbnZlcnRzIGEgc3RyaW5nIHRvIGl0cyBudW1iZXIgdmFsdWUKKyAqCisgKiBSZXR1cm5zIHRoZSBudW1iZXIgdmFsdWUKKyAqLworZG91YmxlCit4bWxYUGF0aENhc3RTdHJpbmdUb051bWJlcihjb25zdCB4bWxDaGFyICogdmFsKSB7CisgICAgcmV0dXJuKHhtbFhQYXRoU3RyaW5nRXZhbE51bWJlcih2YWwpKTsKK30KKworLyoqCisgKiB4bWxYUGF0aENhc3ROb2RlVG9OdW1iZXI6CisgKiBAbm9kZTogIGEgbm9kZQorICoKKyAqIENvbnZlcnRzIGEgbm9kZSB0byBpdHMgbnVtYmVyIHZhbHVlCisgKgorICogUmV0dXJucyB0aGUgbnVtYmVyIHZhbHVlCisgKi8KK2RvdWJsZQoreG1sWFBhdGhDYXN0Tm9kZVRvTnVtYmVyICh4bWxOb2RlUHRyIG5vZGUpIHsKKyAgICB4bWxDaGFyICpzdHJ2YWw7CisgICAgZG91YmxlIHJldDsKKworICAgIGlmIChub2RlID09IE5VTEwpCisJcmV0dXJuKHhtbFhQYXRoTkFOKTsKKyAgICBzdHJ2YWwgPSB4bWxYUGF0aENhc3ROb2RlVG9TdHJpbmcobm9kZSk7CisgICAgaWYgKHN0cnZhbCA9PSBOVUxMKQorCXJldHVybih4bWxYUGF0aE5BTik7CisgICAgcmV0ID0geG1sWFBhdGhDYXN0U3RyaW5nVG9OdW1iZXIoc3RydmFsKTsKKyAgICB4bWxGcmVlKHN0cnZhbCk7CisKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxYUGF0aENhc3ROb2RlU2V0VG9OdW1iZXI6CisgKiBAbnM6ICBhIG5vZGUtc2V0CisgKgorICogQ29udmVydHMgYSBub2RlLXNldCB0byBpdHMgbnVtYmVyIHZhbHVlCisgKgorICogUmV0dXJucyB0aGUgbnVtYmVyIHZhbHVlCisgKi8KK2RvdWJsZQoreG1sWFBhdGhDYXN0Tm9kZVNldFRvTnVtYmVyICh4bWxOb2RlU2V0UHRyIG5zKSB7CisgICAgeG1sQ2hhciAqc3RyOworICAgIGRvdWJsZSByZXQ7CisKKyAgICBpZiAobnMgPT0gTlVMTCkKKwlyZXR1cm4oeG1sWFBhdGhOQU4pOworICAgIHN0ciA9IHhtbFhQYXRoQ2FzdE5vZGVTZXRUb1N0cmluZyhucyk7CisgICAgcmV0ID0geG1sWFBhdGhDYXN0U3RyaW5nVG9OdW1iZXIoc3RyKTsKKyAgICB4bWxGcmVlKHN0cik7CisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogeG1sWFBhdGhDYXN0VG9OdW1iZXI6CisgKiBAdmFsOiAgYW4gWFBhdGggb2JqZWN0CisgKgorICogQ29udmVydHMgYW4gWFBhdGggb2JqZWN0IHRvIGl0cyBudW1iZXIgdmFsdWUKKyAqCisgKiBSZXR1cm5zIHRoZSBudW1iZXIgdmFsdWUKKyAqLworZG91YmxlCit4bWxYUGF0aENhc3RUb051bWJlcih4bWxYUGF0aE9iamVjdFB0ciB2YWwpIHsKKyAgICBkb3VibGUgcmV0ID0gMC4wOworCisgICAgaWYgKHZhbCA9PSBOVUxMKQorCXJldHVybih4bWxYUGF0aE5BTik7CisgICAgc3dpdGNoICh2YWwtPnR5cGUpIHsKKyAgICBjYXNlIFhQQVRIX1VOREVGSU5FRDoKKyNpZmRlZiBERUdVQl9FWFBSCisJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICJOVU1CRVI6IHVuZGVmaW5lZFxuIik7CisjZW5kaWYKKwlyZXQgPSB4bWxYUGF0aE5BTjsKKwlicmVhazsKKyAgICBjYXNlIFhQQVRIX05PREVTRVQ6CisgICAgY2FzZSBYUEFUSF9YU0xUX1RSRUU6CisJcmV0ID0geG1sWFBhdGhDYXN0Tm9kZVNldFRvTnVtYmVyKHZhbC0+bm9kZXNldHZhbCk7CisJYnJlYWs7CisgICAgY2FzZSBYUEFUSF9TVFJJTkc6CisJcmV0ID0geG1sWFBhdGhDYXN0U3RyaW5nVG9OdW1iZXIodmFsLT5zdHJpbmd2YWwpOworCWJyZWFrOworICAgIGNhc2UgWFBBVEhfTlVNQkVSOgorCXJldCA9IHZhbC0+ZmxvYXR2YWw7CisJYnJlYWs7CisgICAgY2FzZSBYUEFUSF9CT09MRUFOOgorCXJldCA9IHhtbFhQYXRoQ2FzdEJvb2xlYW5Ub051bWJlcih2YWwtPmJvb2x2YWwpOworCWJyZWFrOworICAgIGNhc2UgWFBBVEhfVVNFUlM6CisgICAgY2FzZSBYUEFUSF9QT0lOVDoKKyAgICBjYXNlIFhQQVRIX1JBTkdFOgorICAgIGNhc2UgWFBBVEhfTE9DQVRJT05TRVQ6CisJVE9ETzsKKwlyZXQgPSB4bWxYUGF0aE5BTjsKKwlicmVhazsKKyAgICB9CisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogeG1sWFBhdGhDb252ZXJ0TnVtYmVyOgorICogQHZhbDogIGFuIFhQYXRoIG9iamVjdAorICoKKyAqIENvbnZlcnRzIGFuIGV4aXN0aW5nIG9iamVjdCB0byBpdHMgbnVtYmVyKCkgZXF1aXZhbGVudAorICoKKyAqIFJldHVybnMgdGhlIG5ldyBvYmplY3QsIHRoZSBvbGQgb25lIGlzIGZyZWVkIChvciB0aGUgb3BlcmF0aW9uCisgKiAgICAgICAgIGlzIGRvbmUgZGlyZWN0bHkgb24gQHZhbCkKKyAqLworeG1sWFBhdGhPYmplY3RQdHIKK3htbFhQYXRoQ29udmVydE51bWJlcih4bWxYUGF0aE9iamVjdFB0ciB2YWwpIHsKKyAgICB4bWxYUGF0aE9iamVjdFB0ciByZXQ7CisKKyAgICBpZiAodmFsID09IE5VTEwpCisJcmV0dXJuKHhtbFhQYXRoTmV3RmxvYXQoMC4wKSk7CisgICAgaWYgKHZhbC0+dHlwZSA9PSBYUEFUSF9OVU1CRVIpCisJcmV0dXJuKHZhbCk7CisgICAgcmV0ID0geG1sWFBhdGhOZXdGbG9hdCh4bWxYUGF0aENhc3RUb051bWJlcih2YWwpKTsKKyAgICB4bWxYUGF0aEZyZWVPYmplY3QodmFsKTsKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxYUGF0aENhc3ROdW1iZXJUb0Jvb2xlYW46CisgKiBAdmFsOiAgYSBudW1iZXIKKyAqCisgKiBDb252ZXJ0cyBhIG51bWJlciB0byBpdHMgYm9vbGVhbiB2YWx1ZQorICoKKyAqIFJldHVybnMgdGhlIGJvb2xlYW4gdmFsdWUKKyAqLworaW50Cit4bWxYUGF0aENhc3ROdW1iZXJUb0Jvb2xlYW4gKGRvdWJsZSB2YWwpIHsKKyAgICAgaWYgKHhtbFhQYXRoSXNOYU4odmFsKSB8fCAodmFsID09IDAuMCkpCisJIHJldHVybigwKTsKKyAgICAgcmV0dXJuKDEpOworfQorCisvKioKKyAqIHhtbFhQYXRoQ2FzdFN0cmluZ1RvQm9vbGVhbjoKKyAqIEB2YWw6ICBhIHN0cmluZworICoKKyAqIENvbnZlcnRzIGEgc3RyaW5nIHRvIGl0cyBib29sZWFuIHZhbHVlCisgKgorICogUmV0dXJucyB0aGUgYm9vbGVhbiB2YWx1ZQorICovCitpbnQKK3htbFhQYXRoQ2FzdFN0cmluZ1RvQm9vbGVhbiAoY29uc3QgeG1sQ2hhciAqdmFsKSB7CisgICAgaWYgKCh2YWwgPT0gTlVMTCkgfHwgKHhtbFN0cmxlbih2YWwpID09IDApKQorCXJldHVybigwKTsKKyAgICByZXR1cm4oMSk7Cit9CisKKy8qKgorICogeG1sWFBhdGhDYXN0Tm9kZVNldFRvQm9vbGVhbjoKKyAqIEBuczogIGEgbm9kZS1zZXQKKyAqCisgKiBDb252ZXJ0cyBhIG5vZGUtc2V0IHRvIGl0cyBib29sZWFuIHZhbHVlCisgKgorICogUmV0dXJucyB0aGUgYm9vbGVhbiB2YWx1ZQorICovCitpbnQKK3htbFhQYXRoQ2FzdE5vZGVTZXRUb0Jvb2xlYW4gKHhtbE5vZGVTZXRQdHIgbnMpIHsKKyAgICBpZiAoKG5zID09IE5VTEwpIHx8IChucy0+bm9kZU5yID09IDApKQorCXJldHVybigwKTsKKyAgICByZXR1cm4oMSk7Cit9CisKKy8qKgorICogeG1sWFBhdGhDYXN0VG9Cb29sZWFuOgorICogQHZhbDogIGFuIFhQYXRoIG9iamVjdAorICoKKyAqIENvbnZlcnRzIGFuIFhQYXRoIG9iamVjdCB0byBpdHMgYm9vbGVhbiB2YWx1ZQorICoKKyAqIFJldHVybnMgdGhlIGJvb2xlYW4gdmFsdWUKKyAqLworaW50Cit4bWxYUGF0aENhc3RUb0Jvb2xlYW4gKHhtbFhQYXRoT2JqZWN0UHRyIHZhbCkgeworICAgIGludCByZXQgPSAwOworCisgICAgaWYgKHZhbCA9PSBOVUxMKQorCXJldHVybigwKTsKKyAgICBzd2l0Y2ggKHZhbC0+dHlwZSkgeworICAgIGNhc2UgWFBBVEhfVU5ERUZJTkVEOgorI2lmZGVmIERFQlVHX0VYUFIKKwl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgIkJPT0xFQU46IHVuZGVmaW5lZFxuIik7CisjZW5kaWYKKwlyZXQgPSAwOworCWJyZWFrOworICAgIGNhc2UgWFBBVEhfTk9ERVNFVDoKKyAgICBjYXNlIFhQQVRIX1hTTFRfVFJFRToKKwlyZXQgPSB4bWxYUGF0aENhc3ROb2RlU2V0VG9Cb29sZWFuKHZhbC0+bm9kZXNldHZhbCk7CisJYnJlYWs7CisgICAgY2FzZSBYUEFUSF9TVFJJTkc6CisJcmV0ID0geG1sWFBhdGhDYXN0U3RyaW5nVG9Cb29sZWFuKHZhbC0+c3RyaW5ndmFsKTsKKwlicmVhazsKKyAgICBjYXNlIFhQQVRIX05VTUJFUjoKKwlyZXQgPSB4bWxYUGF0aENhc3ROdW1iZXJUb0Jvb2xlYW4odmFsLT5mbG9hdHZhbCk7CisJYnJlYWs7CisgICAgY2FzZSBYUEFUSF9CT09MRUFOOgorCXJldCA9IHZhbC0+Ym9vbHZhbDsKKwlicmVhazsKKyAgICBjYXNlIFhQQVRIX1VTRVJTOgorICAgIGNhc2UgWFBBVEhfUE9JTlQ6CisgICAgY2FzZSBYUEFUSF9SQU5HRToKKyAgICBjYXNlIFhQQVRIX0xPQ0FUSU9OU0VUOgorCVRPRE87CisJcmV0ID0gMDsKKwlicmVhazsKKyAgICB9CisgICAgcmV0dXJuKHJldCk7Cit9CisKKworLyoqCisgKiB4bWxYUGF0aENvbnZlcnRCb29sZWFuOgorICogQHZhbDogIGFuIFhQYXRoIG9iamVjdAorICoKKyAqIENvbnZlcnRzIGFuIGV4aXN0aW5nIG9iamVjdCB0byBpdHMgYm9vbGVhbigpIGVxdWl2YWxlbnQKKyAqCisgKiBSZXR1cm5zIHRoZSBuZXcgb2JqZWN0LCB0aGUgb2xkIG9uZSBpcyBmcmVlZCAob3IgdGhlIG9wZXJhdGlvbgorICogICAgICAgICBpcyBkb25lIGRpcmVjdGx5IG9uIEB2YWwpCisgKi8KK3htbFhQYXRoT2JqZWN0UHRyCit4bWxYUGF0aENvbnZlcnRCb29sZWFuKHhtbFhQYXRoT2JqZWN0UHRyIHZhbCkgeworICAgIHhtbFhQYXRoT2JqZWN0UHRyIHJldDsKKworICAgIGlmICh2YWwgPT0gTlVMTCkKKwlyZXR1cm4oeG1sWFBhdGhOZXdCb29sZWFuKDApKTsKKyAgICBpZiAodmFsLT50eXBlID09IFhQQVRIX0JPT0xFQU4pCisJcmV0dXJuKHZhbCk7CisgICAgcmV0ID0geG1sWFBhdGhOZXdCb29sZWFuKHhtbFhQYXRoQ2FzdFRvQm9vbGVhbih2YWwpKTsKKyAgICB4bWxYUGF0aEZyZWVPYmplY3QodmFsKTsKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJUm91dGluZXMgdG8gaGFuZGxlIFhQYXRoIGNvbnRleHRzCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioKKyAqIHhtbFhQYXRoTmV3Q29udGV4dDoKKyAqIEBkb2M6ICB0aGUgWE1MIGRvY3VtZW50CisgKgorICogQ3JlYXRlIGEgbmV3IHhtbFhQYXRoQ29udGV4dAorICoKKyAqIFJldHVybnMgdGhlIHhtbFhQYXRoQ29udGV4dCBqdXN0IGFsbG9jYXRlZC4gVGhlIGNhbGxlciB3aWxsIG5lZWQgdG8gZnJlZSBpdC4KKyAqLworeG1sWFBhdGhDb250ZXh0UHRyCit4bWxYUGF0aE5ld0NvbnRleHQoeG1sRG9jUHRyIGRvYykgeworICAgIHhtbFhQYXRoQ29udGV4dFB0ciByZXQ7CisKKyAgICByZXQgPSAoeG1sWFBhdGhDb250ZXh0UHRyKSB4bWxNYWxsb2Moc2l6ZW9mKHhtbFhQYXRoQ29udGV4dCkpOworICAgIGlmIChyZXQgPT0gTlVMTCkgeworICAgICAgICB4bWxYUGF0aEVyck1lbW9yeShOVUxMLCAiY3JlYXRpbmcgY29udGV4dFxuIik7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBtZW1zZXQocmV0LCAwICwgKHNpemVfdCkgc2l6ZW9mKHhtbFhQYXRoQ29udGV4dCkpOworICAgIHJldC0+ZG9jID0gZG9jOworICAgIHJldC0+bm9kZSA9IE5VTEw7CisKKyAgICByZXQtPnZhckhhc2ggPSBOVUxMOworCisgICAgcmV0LT5uYl90eXBlcyA9IDA7CisgICAgcmV0LT5tYXhfdHlwZXMgPSAwOworICAgIHJldC0+dHlwZXMgPSBOVUxMOworCisgICAgcmV0LT5mdW5jSGFzaCA9IHhtbEhhc2hDcmVhdGUoMCk7CisKKyAgICByZXQtPm5iX2F4aXMgPSAwOworICAgIHJldC0+bWF4X2F4aXMgPSAwOworICAgIHJldC0+YXhpcyA9IE5VTEw7CisKKyAgICByZXQtPm5zSGFzaCA9IE5VTEw7CisgICAgcmV0LT51c2VyID0gTlVMTDsKKworICAgIHJldC0+Y29udGV4dFNpemUgPSAtMTsKKyAgICByZXQtPnByb3hpbWl0eVBvc2l0aW9uID0gLTE7CisKKyNpZmRlZiBYUF9ERUZBVUxUX0NBQ0hFX09OCisgICAgaWYgKHhtbFhQYXRoQ29udGV4dFNldENhY2hlKHJldCwgMSwgLTEsIDApID09IC0xKSB7CisJeG1sWFBhdGhGcmVlQ29udGV4dChyZXQpOworCXJldHVybihOVUxMKTsKKyAgICB9CisjZW5kaWYKKworICAgIHhtbFhQYXRoUmVnaXN0ZXJBbGxGdW5jdGlvbnMocmV0KTsKKworICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbFhQYXRoRnJlZUNvbnRleHQ6CisgKiBAY3R4dDogIHRoZSBjb250ZXh0IHRvIGZyZWUKKyAqCisgKiBGcmVlIHVwIGFuIHhtbFhQYXRoQ29udGV4dAorICovCit2b2lkCit4bWxYUGF0aEZyZWVDb250ZXh0KHhtbFhQYXRoQ29udGV4dFB0ciBjdHh0KSB7CisgICAgaWYgKGN0eHQgPT0gTlVMTCkgcmV0dXJuOworCisgICAgaWYgKGN0eHQtPmNhY2hlICE9IE5VTEwpCisJeG1sWFBhdGhGcmVlQ2FjaGUoKHhtbFhQYXRoQ29udGV4dENhY2hlUHRyKSBjdHh0LT5jYWNoZSk7CisgICAgeG1sWFBhdGhSZWdpc3RlcmVkTnNDbGVhbnVwKGN0eHQpOworICAgIHhtbFhQYXRoUmVnaXN0ZXJlZEZ1bmNzQ2xlYW51cChjdHh0KTsKKyAgICB4bWxYUGF0aFJlZ2lzdGVyZWRWYXJpYWJsZXNDbGVhbnVwKGN0eHQpOworICAgIHhtbFJlc2V0RXJyb3IoJmN0eHQtPmxhc3RFcnJvcik7CisgICAgeG1sRnJlZShjdHh0KTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJUm91dGluZXMgdG8gaGFuZGxlIFhQYXRoIHBhcnNlciBjb250ZXh0cwkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjZGVmaW5lIENIRUNLX0NUWFQoY3R4dCkJCQkJCQlcCisgICAgaWYgKGN0eHQgPT0gTlVMTCkgewkJCQkJCVwKKwlfX3htbFJhaXNlRXJyb3IoTlVMTCwgTlVMTCwgTlVMTCwJCQkJXAorCQlOVUxMLCBOVUxMLCBYTUxfRlJPTV9YUEFUSCwJCQkJXAorCQlYTUxfRVJSX0lOVEVSTkFMX0VSUk9SLCBYTUxfRVJSX0ZBVEFMLAkJCVwKKwkJX19GSUxFX18sIF9fTElORV9fLAkJCQkJXAorCQlOVUxMLCBOVUxMLCBOVUxMLCAwLCAwLAkJCQkJXAorCQkiTlVMTCBjb250ZXh0IHBvaW50ZXJcbiIpOwkJCQlcCisJcmV0dXJuKE5VTEwpOwkJCQkJCQlcCisgICAgfQkJCQkJCQkJCVwKKworI2RlZmluZSBDSEVDS19DVFhUX05FRyhjdHh0KQkJCQkJCVwKKyAgICBpZiAoY3R4dCA9PSBOVUxMKSB7CQkJCQkJXAorCV9feG1sUmFpc2VFcnJvcihOVUxMLCBOVUxMLCBOVUxMLAkJCQlcCisJCU5VTEwsIE5VTEwsIFhNTF9GUk9NX1hQQVRILAkJCQlcCisJCVhNTF9FUlJfSU5URVJOQUxfRVJST1IsIFhNTF9FUlJfRkFUQUwsCQkJXAorCQlfX0ZJTEVfXywgX19MSU5FX18sCQkJCQlcCisJCU5VTEwsIE5VTEwsIE5VTEwsIDAsIDAsCQkJCQlcCisJCSJOVUxMIGNvbnRleHQgcG9pbnRlclxuIik7CQkJCVwKKwlyZXR1cm4oLTEpOwkJCQkJCQlcCisgICAgfQkJCQkJCQkJCVwKKworCisjZGVmaW5lIENIRUNLX0NPTlRFWFQoY3R4dCkJCQkJCQlcCisgICAgaWYgKChjdHh0ID09IE5VTEwpIHx8IChjdHh0LT5kb2MgPT0gTlVMTCkgfHwJCQlcCisgICAgICAgIChjdHh0LT5kb2MtPmNoaWxkcmVuID09IE5VTEwpKSB7CQkJCVwKKwl4bWxYUGF0aGVycm9yKGN0eHQsIF9fRklMRV9fLCBfX0xJTkVfXywgWFBBVEhfSU5WQUxJRF9DVFhUKTsJXAorCXJldHVybihOVUxMKTsJCQkJCQkJXAorICAgIH0KKworCisvKioKKyAqIHhtbFhQYXRoTmV3UGFyc2VyQ29udGV4dDoKKyAqIEBzdHI6ICB0aGUgWFBhdGggZXhwcmVzc2lvbgorICogQGN0eHQ6ICB0aGUgWFBhdGggY29udGV4dAorICoKKyAqIENyZWF0ZSBhIG5ldyB4bWxYUGF0aFBhcnNlckNvbnRleHQKKyAqCisgKiBSZXR1cm5zIHRoZSB4bWxYUGF0aFBhcnNlckNvbnRleHQganVzdCBhbGxvY2F0ZWQuCisgKi8KK3htbFhQYXRoUGFyc2VyQ29udGV4dFB0cgoreG1sWFBhdGhOZXdQYXJzZXJDb250ZXh0KGNvbnN0IHhtbENoYXIgKnN0ciwgeG1sWFBhdGhDb250ZXh0UHRyIGN0eHQpIHsKKyAgICB4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgcmV0OworCisgICAgcmV0ID0gKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cikgeG1sTWFsbG9jKHNpemVvZih4bWxYUGF0aFBhcnNlckNvbnRleHQpKTsKKyAgICBpZiAocmV0ID09IE5VTEwpIHsKKyAgICAgICAgeG1sWFBhdGhFcnJNZW1vcnkoY3R4dCwgImNyZWF0aW5nIHBhcnNlciBjb250ZXh0XG4iKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIG1lbXNldChyZXQsIDAgLCAoc2l6ZV90KSBzaXplb2YoeG1sWFBhdGhQYXJzZXJDb250ZXh0KSk7CisgICAgcmV0LT5jdXIgPSByZXQtPmJhc2UgPSBzdHI7CisgICAgcmV0LT5jb250ZXh0ID0gY3R4dDsKKworICAgIHJldC0+Y29tcCA9IHhtbFhQYXRoTmV3Q29tcEV4cHIoKTsKKyAgICBpZiAocmV0LT5jb21wID09IE5VTEwpIHsKKwl4bWxGcmVlKHJldC0+dmFsdWVUYWIpOworCXhtbEZyZWUocmV0KTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIGlmICgoY3R4dCAhPSBOVUxMKSAmJiAoY3R4dC0+ZGljdCAhPSBOVUxMKSkgeworICAgICAgICByZXQtPmNvbXAtPmRpY3QgPSBjdHh0LT5kaWN0OworCXhtbERpY3RSZWZlcmVuY2UocmV0LT5jb21wLT5kaWN0KTsKKyAgICB9CisKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxYUGF0aENvbXBQYXJzZXJDb250ZXh0OgorICogQGNvbXA6ICB0aGUgWFBhdGggY29tcGlsZWQgZXhwcmVzc2lvbgorICogQGN0eHQ6ICB0aGUgWFBhdGggY29udGV4dAorICoKKyAqIENyZWF0ZSBhIG5ldyB4bWxYUGF0aFBhcnNlckNvbnRleHQgd2hlbiBwcm9jZXNzaW5nIGEgY29tcGlsZWQgZXhwcmVzc2lvbgorICoKKyAqIFJldHVybnMgdGhlIHhtbFhQYXRoUGFyc2VyQ29udGV4dCBqdXN0IGFsbG9jYXRlZC4KKyAqLworc3RhdGljIHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0cgoreG1sWFBhdGhDb21wUGFyc2VyQ29udGV4dCh4bWxYUGF0aENvbXBFeHByUHRyIGNvbXAsIHhtbFhQYXRoQ29udGV4dFB0ciBjdHh0KSB7CisgICAgeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIHJldDsKKworICAgIHJldCA9ICh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIpIHhtbE1hbGxvYyhzaXplb2YoeG1sWFBhdGhQYXJzZXJDb250ZXh0KSk7CisgICAgaWYgKHJldCA9PSBOVUxMKSB7CisgICAgICAgIHhtbFhQYXRoRXJyTWVtb3J5KGN0eHQsICJjcmVhdGluZyBldmFsdWF0aW9uIGNvbnRleHRcbiIpOworCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgbWVtc2V0KHJldCwgMCAsIChzaXplX3QpIHNpemVvZih4bWxYUGF0aFBhcnNlckNvbnRleHQpKTsKKworICAgIC8qIEFsbG9jYXRlIHRoZSB2YWx1ZSBzdGFjayAqLworICAgIHJldC0+dmFsdWVUYWIgPSAoeG1sWFBhdGhPYmplY3RQdHIgKikKKyAgICAgICAgICAgICAgICAgICAgIHhtbE1hbGxvYygxMCAqIHNpemVvZih4bWxYUGF0aE9iamVjdFB0cikpOworICAgIGlmIChyZXQtPnZhbHVlVGFiID09IE5VTEwpIHsKKwl4bWxGcmVlKHJldCk7CisJeG1sWFBhdGhFcnJNZW1vcnkoY3R4dCwgImNyZWF0aW5nIGV2YWx1YXRpb24gY29udGV4dFxuIik7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICByZXQtPnZhbHVlTnIgPSAwOworICAgIHJldC0+dmFsdWVNYXggPSAxMDsKKyAgICByZXQtPnZhbHVlID0gTlVMTDsKKyAgICByZXQtPnZhbHVlRnJhbWUgPSAwOworCisgICAgcmV0LT5jb250ZXh0ID0gY3R4dDsKKyAgICByZXQtPmNvbXAgPSBjb21wOworCisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogeG1sWFBhdGhGcmVlUGFyc2VyQ29udGV4dDoKKyAqIEBjdHh0OiAgdGhlIGNvbnRleHQgdG8gZnJlZQorICoKKyAqIEZyZWUgdXAgYW4geG1sWFBhdGhQYXJzZXJDb250ZXh0CisgKi8KK3ZvaWQKK3htbFhQYXRoRnJlZVBhcnNlckNvbnRleHQoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQpIHsKKyAgICBpZiAoY3R4dC0+dmFsdWVUYWIgIT0gTlVMTCkgeworICAgICAgICB4bWxGcmVlKGN0eHQtPnZhbHVlVGFiKTsKKyAgICB9CisgICAgaWYgKGN0eHQtPmNvbXAgIT0gTlVMTCkgeworI2lmZGVmIFhQQVRIX1NUUkVBTUlORworCWlmIChjdHh0LT5jb21wLT5zdHJlYW0gIT0gTlVMTCkgeworCSAgICB4bWxGcmVlUGF0dGVybkxpc3QoY3R4dC0+Y29tcC0+c3RyZWFtKTsKKwkgICAgY3R4dC0+Y29tcC0+c3RyZWFtID0gTlVMTDsKKwl9CisjZW5kaWYKKwl4bWxYUGF0aEZyZWVDb21wRXhwcihjdHh0LT5jb21wKTsKKyAgICB9CisgICAgeG1sRnJlZShjdHh0KTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJVGhlIGltcGxpY2l0IGNvcmUgZnVuY3Rpb24gbGlicmFyeQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqCisgKiB4bWxYUGF0aE5vZGVWYWxIYXNoOgorICogQG5vZGU6ICBhIG5vZGUgcG9pbnRlcgorICoKKyAqIEZ1bmN0aW9uIGNvbXB1dGluZyB0aGUgYmVnaW5uaW5nIG9mIHRoZSBzdHJpbmcgdmFsdWUgb2YgdGhlIG5vZGUsCisgKiB1c2VkIHRvIHNwZWVkIHVwIGNvbXBhcmlzb25zCisgKgorICogUmV0dXJucyBhbiBpbnQgdXNhYmxlIGFzIGEgaGFzaAorICovCitzdGF0aWMgdW5zaWduZWQgaW50Cit4bWxYUGF0aE5vZGVWYWxIYXNoKHhtbE5vZGVQdHIgbm9kZSkgeworICAgIGludCBsZW4gPSAyOworICAgIGNvbnN0IHhtbENoYXIgKiBzdHJpbmcgPSBOVUxMOworICAgIHhtbE5vZGVQdHIgdG1wID0gTlVMTDsKKyAgICB1bnNpZ25lZCBpbnQgcmV0ID0gMDsKKworICAgIGlmIChub2RlID09IE5VTEwpCisJcmV0dXJuKDApOworCisgICAgaWYgKG5vZGUtPnR5cGUgPT0gWE1MX0RPQ1VNRU5UX05PREUpIHsKKwl0bXAgPSB4bWxEb2NHZXRSb290RWxlbWVudCgoeG1sRG9jUHRyKSBub2RlKTsKKwlpZiAodG1wID09IE5VTEwpCisJICAgIG5vZGUgPSBub2RlLT5jaGlsZHJlbjsKKwllbHNlCisJICAgIG5vZGUgPSB0bXA7CisKKwlpZiAobm9kZSA9PSBOVUxMKQorCSAgICByZXR1cm4oMCk7CisgICAgfQorCisgICAgc3dpdGNoIChub2RlLT50eXBlKSB7CisJY2FzZSBYTUxfQ09NTUVOVF9OT0RFOgorCWNhc2UgWE1MX1BJX05PREU6CisJY2FzZSBYTUxfQ0RBVEFfU0VDVElPTl9OT0RFOgorCWNhc2UgWE1MX1RFWFRfTk9ERToKKwkgICAgc3RyaW5nID0gbm9kZS0+Y29udGVudDsKKwkgICAgaWYgKHN0cmluZyA9PSBOVUxMKQorCQlyZXR1cm4oMCk7CisJICAgIGlmIChzdHJpbmdbMF0gPT0gMCkKKwkJcmV0dXJuKDApOworCSAgICByZXR1cm4oKCh1bnNpZ25lZCBpbnQpIHN0cmluZ1swXSkgKworCQkgICAoKCh1bnNpZ25lZCBpbnQpIHN0cmluZ1sxXSkgPDwgOCkpOworCWNhc2UgWE1MX05BTUVTUEFDRV9ERUNMOgorCSAgICBzdHJpbmcgPSAoKHhtbE5zUHRyKW5vZGUpLT5ocmVmOworCSAgICBpZiAoc3RyaW5nID09IE5VTEwpCisJCXJldHVybigwKTsKKwkgICAgaWYgKHN0cmluZ1swXSA9PSAwKQorCQlyZXR1cm4oMCk7CisJICAgIHJldHVybigoKHVuc2lnbmVkIGludCkgc3RyaW5nWzBdKSArCisJCSAgICgoKHVuc2lnbmVkIGludCkgc3RyaW5nWzFdKSA8PCA4KSk7CisJY2FzZSBYTUxfQVRUUklCVVRFX05PREU6CisJICAgIHRtcCA9ICgoeG1sQXR0clB0cikgbm9kZSktPmNoaWxkcmVuOworCSAgICBicmVhazsKKwljYXNlIFhNTF9FTEVNRU5UX05PREU6CisJICAgIHRtcCA9IG5vZGUtPmNoaWxkcmVuOworCSAgICBicmVhazsKKwlkZWZhdWx0OgorCSAgICByZXR1cm4oMCk7CisgICAgfQorICAgIHdoaWxlICh0bXAgIT0gTlVMTCkgeworCXN3aXRjaCAodG1wLT50eXBlKSB7CisJICAgIGNhc2UgWE1MX0NPTU1FTlRfTk9ERToKKwkgICAgY2FzZSBYTUxfUElfTk9ERToKKwkgICAgY2FzZSBYTUxfQ0RBVEFfU0VDVElPTl9OT0RFOgorCSAgICBjYXNlIFhNTF9URVhUX05PREU6CisJCXN0cmluZyA9IHRtcC0+Y29udGVudDsKKwkJYnJlYWs7CisJICAgIGNhc2UgWE1MX05BTUVTUEFDRV9ERUNMOgorCQlzdHJpbmcgPSAoKHhtbE5zUHRyKXRtcCktPmhyZWY7CisJCWJyZWFrOworCSAgICBkZWZhdWx0OgorCQlicmVhazsKKwl9CisJaWYgKChzdHJpbmcgIT0gTlVMTCkgJiYgKHN0cmluZ1swXSAhPSAwKSkgeworCSAgICBpZiAobGVuID09IDEpIHsKKwkJcmV0dXJuKHJldCArICgoKHVuc2lnbmVkIGludCkgc3RyaW5nWzBdKSA8PCA4KSk7CisJICAgIH0KKwkgICAgaWYgKHN0cmluZ1sxXSA9PSAwKSB7CisJCWxlbiA9IDE7CisJCXJldCA9ICh1bnNpZ25lZCBpbnQpIHN0cmluZ1swXTsKKwkgICAgfSBlbHNlIHsKKwkJcmV0dXJuKCgodW5zaWduZWQgaW50KSBzdHJpbmdbMF0pICsKKwkJICAgICAgICgoKHVuc2lnbmVkIGludCkgc3RyaW5nWzFdKSA8PCA4KSk7CisJICAgIH0KKwl9CisJLyoKKwkgKiBTa2lwIHRvIG5leHQgbm9kZQorCSAqLworCWlmICgodG1wLT5jaGlsZHJlbiAhPSBOVUxMKSAmJiAodG1wLT50eXBlICE9IFhNTF9EVERfTk9ERSkpIHsKKwkgICAgaWYgKHRtcC0+Y2hpbGRyZW4tPnR5cGUgIT0gWE1MX0VOVElUWV9ERUNMKSB7CisJCXRtcCA9IHRtcC0+Y2hpbGRyZW47CisJCWNvbnRpbnVlOworCSAgICB9CisJfQorCWlmICh0bXAgPT0gbm9kZSkKKwkgICAgYnJlYWs7CisKKwlpZiAodG1wLT5uZXh0ICE9IE5VTEwpIHsKKwkgICAgdG1wID0gdG1wLT5uZXh0OworCSAgICBjb250aW51ZTsKKwl9CisKKwlkbyB7CisJICAgIHRtcCA9IHRtcC0+cGFyZW50OworCSAgICBpZiAodG1wID09IE5VTEwpCisJCWJyZWFrOworCSAgICBpZiAodG1wID09IG5vZGUpIHsKKwkJdG1wID0gTlVMTDsKKwkJYnJlYWs7CisJICAgIH0KKwkgICAgaWYgKHRtcC0+bmV4dCAhPSBOVUxMKSB7CisJCXRtcCA9IHRtcC0+bmV4dDsKKwkJYnJlYWs7CisJICAgIH0KKwl9IHdoaWxlICh0bXAgIT0gTlVMTCk7CisgICAgfQorICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbFhQYXRoU3RyaW5nSGFzaDoKKyAqIEBzdHJpbmc6ICBhIHN0cmluZworICoKKyAqIEZ1bmN0aW9uIGNvbXB1dGluZyB0aGUgYmVnaW5uaW5nIG9mIHRoZSBzdHJpbmcgdmFsdWUgb2YgdGhlIG5vZGUsCisgKiB1c2VkIHRvIHNwZWVkIHVwIGNvbXBhcmlzb25zCisgKgorICogUmV0dXJucyBhbiBpbnQgdXNhYmxlIGFzIGEgaGFzaAorICovCitzdGF0aWMgdW5zaWduZWQgaW50Cit4bWxYUGF0aFN0cmluZ0hhc2goY29uc3QgeG1sQ2hhciAqIHN0cmluZykgeworICAgIGlmIChzdHJpbmcgPT0gTlVMTCkKKwlyZXR1cm4oKHVuc2lnbmVkIGludCkgMCk7CisgICAgaWYgKHN0cmluZ1swXSA9PSAwKQorCXJldHVybigwKTsKKyAgICByZXR1cm4oKCh1bnNpZ25lZCBpbnQpIHN0cmluZ1swXSkgKworCSAgICgoKHVuc2lnbmVkIGludCkgc3RyaW5nWzFdKSA8PCA4KSk7Cit9CisKKy8qKgorICogeG1sWFBhdGhDb21wYXJlTm9kZVNldEZsb2F0OgorICogQGN0eHQ6ICB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQKKyAqIEBpbmY6ICBsZXNzIHRoYW4gKDEpIG9yIGdyZWF0ZXIgdGhhbiAoMCkKKyAqIEBzdHJpY3Q6ICBpcyB0aGUgY29tcGFyaXNvbiBzdHJpY3QKKyAqIEBhcmc6ICB0aGUgbm9kZSBzZXQKKyAqIEBmOiAgdGhlIHZhbHVlCisgKgorICogSW1wbGVtZW50IHRoZSBjb21wYXJlIG9wZXJhdGlvbiBiZXR3ZWVuIGEgbm9kZXNldCBhbmQgYSBudW1iZXIKKyAqICAgICBAbnMgPCBAdmFsICAgICgxLCAxLCAuLi4KKyAqICAgICBAbnMgPD0gQHZhbCAgICgxLCAwLCAuLi4KKyAqICAgICBAbnMgPiBAdmFsICAgICgwLCAxLCAuLi4KKyAqICAgICBAbnMgPj0gQHZhbCAgICgwLCAwLCAuLi4KKyAqCisgKiBJZiBvbmUgb2JqZWN0IHRvIGJlIGNvbXBhcmVkIGlzIGEgbm9kZS1zZXQgYW5kIHRoZSBvdGhlciBpcyBhIG51bWJlciwKKyAqIHRoZW4gdGhlIGNvbXBhcmlzb24gd2lsbCBiZSB0cnVlIGlmIGFuZCBvbmx5IGlmIHRoZXJlIGlzIGEgbm9kZSBpbiB0aGUKKyAqIG5vZGUtc2V0IHN1Y2ggdGhhdCB0aGUgcmVzdWx0IG9mIHBlcmZvcm1pbmcgdGhlIGNvbXBhcmlzb24gb24gdGhlIG51bWJlcgorICogdG8gYmUgY29tcGFyZWQgYW5kIG9uIHRoZSByZXN1bHQgb2YgY29udmVydGluZyB0aGUgc3RyaW5nLXZhbHVlIG9mIHRoYXQKKyAqIG5vZGUgdG8gYSBudW1iZXIgdXNpbmcgdGhlIG51bWJlciBmdW5jdGlvbiBpcyB0cnVlLgorICoKKyAqIFJldHVybnMgMCBvciAxIGRlcGVuZGluZyBvbiB0aGUgcmVzdWx0cyBvZiB0aGUgdGVzdC4KKyAqLworc3RhdGljIGludAoreG1sWFBhdGhDb21wYXJlTm9kZVNldEZsb2F0KHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0LCBpbnQgaW5mLCBpbnQgc3RyaWN0LAorCSAgICAgICAgICAgICAgICAgICAgeG1sWFBhdGhPYmplY3RQdHIgYXJnLCB4bWxYUGF0aE9iamVjdFB0ciBmKSB7CisgICAgaW50IGksIHJldCA9IDA7CisgICAgeG1sTm9kZVNldFB0ciBuczsKKyAgICB4bWxDaGFyICpzdHIyOworCisgICAgaWYgKChmID09IE5VTEwpIHx8IChhcmcgPT0gTlVMTCkgfHwKKwkoKGFyZy0+dHlwZSAhPSBYUEFUSF9OT0RFU0VUKSAmJiAoYXJnLT50eXBlICE9IFhQQVRIX1hTTFRfVFJFRSkpKSB7CisJeG1sWFBhdGhSZWxlYXNlT2JqZWN0KGN0eHQtPmNvbnRleHQsIGFyZyk7CisJeG1sWFBhdGhSZWxlYXNlT2JqZWN0KGN0eHQtPmNvbnRleHQsIGYpOworICAgICAgICByZXR1cm4oMCk7CisgICAgfQorICAgIG5zID0gYXJnLT5ub2Rlc2V0dmFsOworICAgIGlmIChucyAhPSBOVUxMKSB7CisJZm9yIChpID0gMDtpIDwgbnMtPm5vZGVOcjtpKyspIHsKKwkgICAgIHN0cjIgPSB4bWxYUGF0aENhc3ROb2RlVG9TdHJpbmcobnMtPm5vZGVUYWJbaV0pOworCSAgICAgaWYgKHN0cjIgIT0gTlVMTCkgeworCQkgdmFsdWVQdXNoKGN0eHQsCisJCQkgICB4bWxYUGF0aENhY2hlTmV3U3RyaW5nKGN0eHQtPmNvbnRleHQsIHN0cjIpKTsKKwkJIHhtbEZyZWUoc3RyMik7CisJCSB4bWxYUGF0aE51bWJlckZ1bmN0aW9uKGN0eHQsIDEpOworCQkgdmFsdWVQdXNoKGN0eHQsIHhtbFhQYXRoQ2FjaGVPYmplY3RDb3B5KGN0eHQtPmNvbnRleHQsIGYpKTsKKwkJIHJldCA9IHhtbFhQYXRoQ29tcGFyZVZhbHVlcyhjdHh0LCBpbmYsIHN0cmljdCk7CisJCSBpZiAocmV0KQorCQkgICAgIGJyZWFrOworCSAgICAgfQorCX0KKyAgICB9CisgICAgeG1sWFBhdGhSZWxlYXNlT2JqZWN0KGN0eHQtPmNvbnRleHQsIGFyZyk7CisgICAgeG1sWFBhdGhSZWxlYXNlT2JqZWN0KGN0eHQtPmNvbnRleHQsIGYpOworICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbFhQYXRoQ29tcGFyZU5vZGVTZXRTdHJpbmc6CisgKiBAY3R4dDogIHRoZSBYUGF0aCBQYXJzZXIgY29udGV4dAorICogQGluZjogIGxlc3MgdGhhbiAoMSkgb3IgZ3JlYXRlciB0aGFuICgwKQorICogQHN0cmljdDogIGlzIHRoZSBjb21wYXJpc29uIHN0cmljdAorICogQGFyZzogIHRoZSBub2RlIHNldAorICogQHM6ICB0aGUgdmFsdWUKKyAqCisgKiBJbXBsZW1lbnQgdGhlIGNvbXBhcmUgb3BlcmF0aW9uIGJldHdlZW4gYSBub2Rlc2V0IGFuZCBhIHN0cmluZworICogICAgIEBucyA8IEB2YWwgICAgKDEsIDEsIC4uLgorICogICAgIEBucyA8PSBAdmFsICAgKDEsIDAsIC4uLgorICogICAgIEBucyA+IEB2YWwgICAgKDAsIDEsIC4uLgorICogICAgIEBucyA+PSBAdmFsICAgKDAsIDAsIC4uLgorICoKKyAqIElmIG9uZSBvYmplY3QgdG8gYmUgY29tcGFyZWQgaXMgYSBub2RlLXNldCBhbmQgdGhlIG90aGVyIGlzIGEgc3RyaW5nLAorICogdGhlbiB0aGUgY29tcGFyaXNvbiB3aWxsIGJlIHRydWUgaWYgYW5kIG9ubHkgaWYgdGhlcmUgaXMgYSBub2RlIGluCisgKiB0aGUgbm9kZS1zZXQgc3VjaCB0aGF0IHRoZSByZXN1bHQgb2YgcGVyZm9ybWluZyB0aGUgY29tcGFyaXNvbiBvbiB0aGUKKyAqIHN0cmluZy12YWx1ZSBvZiB0aGUgbm9kZSBhbmQgdGhlIG90aGVyIHN0cmluZyBpcyB0cnVlLgorICoKKyAqIFJldHVybnMgMCBvciAxIGRlcGVuZGluZyBvbiB0aGUgcmVzdWx0cyBvZiB0aGUgdGVzdC4KKyAqLworc3RhdGljIGludAoreG1sWFBhdGhDb21wYXJlTm9kZVNldFN0cmluZyh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCwgaW50IGluZiwgaW50IHN0cmljdCwKKwkgICAgICAgICAgICAgICAgICAgIHhtbFhQYXRoT2JqZWN0UHRyIGFyZywgeG1sWFBhdGhPYmplY3RQdHIgcykgeworICAgIGludCBpLCByZXQgPSAwOworICAgIHhtbE5vZGVTZXRQdHIgbnM7CisgICAgeG1sQ2hhciAqc3RyMjsKKworICAgIGlmICgocyA9PSBOVUxMKSB8fCAoYXJnID09IE5VTEwpIHx8CisJKChhcmctPnR5cGUgIT0gWFBBVEhfTk9ERVNFVCkgJiYgKGFyZy0+dHlwZSAhPSBYUEFUSF9YU0xUX1RSRUUpKSkgeworCXhtbFhQYXRoUmVsZWFzZU9iamVjdChjdHh0LT5jb250ZXh0LCBhcmcpOworCXhtbFhQYXRoUmVsZWFzZU9iamVjdChjdHh0LT5jb250ZXh0LCBzKTsKKyAgICAgICAgcmV0dXJuKDApOworICAgIH0KKyAgICBucyA9IGFyZy0+bm9kZXNldHZhbDsKKyAgICBpZiAobnMgIT0gTlVMTCkgeworCWZvciAoaSA9IDA7aSA8IG5zLT5ub2RlTnI7aSsrKSB7CisJICAgICBzdHIyID0geG1sWFBhdGhDYXN0Tm9kZVRvU3RyaW5nKG5zLT5ub2RlVGFiW2ldKTsKKwkgICAgIGlmIChzdHIyICE9IE5VTEwpIHsKKwkJIHZhbHVlUHVzaChjdHh0LAorCQkJICAgeG1sWFBhdGhDYWNoZU5ld1N0cmluZyhjdHh0LT5jb250ZXh0LCBzdHIyKSk7CisJCSB4bWxGcmVlKHN0cjIpOworCQkgdmFsdWVQdXNoKGN0eHQsIHhtbFhQYXRoQ2FjaGVPYmplY3RDb3B5KGN0eHQtPmNvbnRleHQsIHMpKTsKKwkJIHJldCA9IHhtbFhQYXRoQ29tcGFyZVZhbHVlcyhjdHh0LCBpbmYsIHN0cmljdCk7CisJCSBpZiAocmV0KQorCQkgICAgIGJyZWFrOworCSAgICAgfQorCX0KKyAgICB9CisgICAgeG1sWFBhdGhSZWxlYXNlT2JqZWN0KGN0eHQtPmNvbnRleHQsIGFyZyk7CisgICAgeG1sWFBhdGhSZWxlYXNlT2JqZWN0KGN0eHQtPmNvbnRleHQsIHMpOworICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbFhQYXRoQ29tcGFyZU5vZGVTZXRzOgorICogQGluZjogIGxlc3MgdGhhbiAoMSkgb3IgZ3JlYXRlciB0aGFuICgwKQorICogQHN0cmljdDogIGlzIHRoZSBjb21wYXJpc29uIHN0cmljdAorICogQGFyZzE6ICB0aGUgZmlyc3Qgbm9kZSBzZXQgb2JqZWN0CisgKiBAYXJnMjogIHRoZSBzZWNvbmQgbm9kZSBzZXQgb2JqZWN0CisgKgorICogSW1wbGVtZW50IHRoZSBjb21wYXJlIG9wZXJhdGlvbiBvbiBub2Rlc2V0czoKKyAqCisgKiBJZiBib3RoIG9iamVjdHMgdG8gYmUgY29tcGFyZWQgYXJlIG5vZGUtc2V0cywgdGhlbiB0aGUgY29tcGFyaXNvbgorICogd2lsbCBiZSB0cnVlIGlmIGFuZCBvbmx5IGlmIHRoZXJlIGlzIGEgbm9kZSBpbiB0aGUgZmlyc3Qgbm9kZS1zZXQKKyAqIGFuZCBhIG5vZGUgaW4gdGhlIHNlY29uZCBub2RlLXNldCBzdWNoIHRoYXQgdGhlIHJlc3VsdCBvZiBwZXJmb3JtaW5nCisgKiB0aGUgY29tcGFyaXNvbiBvbiB0aGUgc3RyaW5nLXZhbHVlcyBvZiB0aGUgdHdvIG5vZGVzIGlzIHRydWUuCisgKiAuLi4uCisgKiBXaGVuIG5laXRoZXIgb2JqZWN0IHRvIGJlIGNvbXBhcmVkIGlzIGEgbm9kZS1zZXQgYW5kIHRoZSBvcGVyYXRvcgorICogaXMgPD0sIDwsID49IG9yID4sIHRoZW4gdGhlIG9iamVjdHMgYXJlIGNvbXBhcmVkIGJ5IGNvbnZlcnRpbmcgYm90aAorICogb2JqZWN0cyB0byBudW1iZXJzIGFuZCBjb21wYXJpbmcgdGhlIG51bWJlcnMgYWNjb3JkaW5nIHRvIElFRUUgNzU0LgorICogLi4uLgorICogVGhlIG51bWJlciBmdW5jdGlvbiBjb252ZXJ0cyBpdHMgYXJndW1lbnQgdG8gYSBudW1iZXIgYXMgZm9sbG93czoKKyAqICAtIGEgc3RyaW5nIHRoYXQgY29uc2lzdHMgb2Ygb3B0aW9uYWwgd2hpdGVzcGFjZSBmb2xsb3dlZCBieSBhbgorICogICAgb3B0aW9uYWwgbWludXMgc2lnbiBmb2xsb3dlZCBieSBhIE51bWJlciBmb2xsb3dlZCBieSB3aGl0ZXNwYWNlCisgKiAgICBpcyBjb252ZXJ0ZWQgdG8gdGhlIElFRUUgNzU0IG51bWJlciB0aGF0IGlzIG5lYXJlc3QgKGFjY29yZGluZworICogICAgdG8gdGhlIElFRUUgNzU0IHJvdW5kLXRvLW5lYXJlc3QgcnVsZSkgdG8gdGhlIG1hdGhlbWF0aWNhbCB2YWx1ZQorICogICAgcmVwcmVzZW50ZWQgYnkgdGhlIHN0cmluZzsgYW55IG90aGVyIHN0cmluZyBpcyBjb252ZXJ0ZWQgdG8gTmFOCisgKgorICogQ29uY2x1c2lvbiBhbGwgbm9kZXMgbmVlZCB0byBiZSBjb252ZXJ0ZWQgZmlyc3QgdG8gdGhlaXIgc3RyaW5nIHZhbHVlCisgKiBhbmQgdGhlbiB0aGUgY29tcGFyaXNvbiBtdXN0IGJlIGRvbmUgd2hlbiBwb3NzaWJsZQorICovCitzdGF0aWMgaW50Cit4bWxYUGF0aENvbXBhcmVOb2RlU2V0cyhpbnQgaW5mLCBpbnQgc3RyaWN0LAorCSAgICAgICAgICAgICAgICB4bWxYUGF0aE9iamVjdFB0ciBhcmcxLCB4bWxYUGF0aE9iamVjdFB0ciBhcmcyKSB7CisgICAgaW50IGksIGosIGluaXQgPSAwOworICAgIGRvdWJsZSB2YWwxOworICAgIGRvdWJsZSAqdmFsdWVzMjsKKyAgICBpbnQgcmV0ID0gMDsKKyAgICB4bWxOb2RlU2V0UHRyIG5zMTsKKyAgICB4bWxOb2RlU2V0UHRyIG5zMjsKKworICAgIGlmICgoYXJnMSA9PSBOVUxMKSB8fAorCSgoYXJnMS0+dHlwZSAhPSBYUEFUSF9OT0RFU0VUKSAmJiAoYXJnMS0+dHlwZSAhPSBYUEFUSF9YU0xUX1RSRUUpKSkgeworCXhtbFhQYXRoRnJlZU9iamVjdChhcmcyKTsKKyAgICAgICAgcmV0dXJuKDApOworICAgIH0KKyAgICBpZiAoKGFyZzIgPT0gTlVMTCkgfHwKKwkoKGFyZzItPnR5cGUgIT0gWFBBVEhfTk9ERVNFVCkgJiYgKGFyZzItPnR5cGUgIT0gWFBBVEhfWFNMVF9UUkVFKSkpIHsKKwl4bWxYUGF0aEZyZWVPYmplY3QoYXJnMSk7CisJeG1sWFBhdGhGcmVlT2JqZWN0KGFyZzIpOworICAgICAgICByZXR1cm4oMCk7CisgICAgfQorCisgICAgbnMxID0gYXJnMS0+bm9kZXNldHZhbDsKKyAgICBuczIgPSBhcmcyLT5ub2Rlc2V0dmFsOworCisgICAgaWYgKChuczEgPT0gTlVMTCkgfHwgKG5zMS0+bm9kZU5yIDw9IDApKSB7CisJeG1sWFBhdGhGcmVlT2JqZWN0KGFyZzEpOworCXhtbFhQYXRoRnJlZU9iamVjdChhcmcyKTsKKwlyZXR1cm4oMCk7CisgICAgfQorICAgIGlmICgobnMyID09IE5VTEwpIHx8IChuczItPm5vZGVOciA8PSAwKSkgeworCXhtbFhQYXRoRnJlZU9iamVjdChhcmcxKTsKKwl4bWxYUGF0aEZyZWVPYmplY3QoYXJnMik7CisJcmV0dXJuKDApOworICAgIH0KKworICAgIHZhbHVlczIgPSAoZG91YmxlICopIHhtbE1hbGxvYyhuczItPm5vZGVOciAqIHNpemVvZihkb3VibGUpKTsKKyAgICBpZiAodmFsdWVzMiA9PSBOVUxMKSB7CisgICAgICAgIHhtbFhQYXRoRXJyTWVtb3J5KE5VTEwsICJjb21wYXJpbmcgbm9kZXNldHNcbiIpOworCXhtbFhQYXRoRnJlZU9iamVjdChhcmcxKTsKKwl4bWxYUGF0aEZyZWVPYmplY3QoYXJnMik7CisJcmV0dXJuKDApOworICAgIH0KKyAgICBmb3IgKGkgPSAwO2kgPCBuczEtPm5vZGVOcjtpKyspIHsKKwl2YWwxID0geG1sWFBhdGhDYXN0Tm9kZVRvTnVtYmVyKG5zMS0+bm9kZVRhYltpXSk7CisJaWYgKHhtbFhQYXRoSXNOYU4odmFsMSkpCisJICAgIGNvbnRpbnVlOworCWZvciAoaiA9IDA7aiA8IG5zMi0+bm9kZU5yO2orKykgeworCSAgICBpZiAoaW5pdCA9PSAwKSB7CisJCXZhbHVlczJbal0gPSB4bWxYUGF0aENhc3ROb2RlVG9OdW1iZXIobnMyLT5ub2RlVGFiW2pdKTsKKwkgICAgfQorCSAgICBpZiAoeG1sWFBhdGhJc05hTih2YWx1ZXMyW2pdKSkKKwkJY29udGludWU7CisJICAgIGlmIChpbmYgJiYgc3RyaWN0KQorCQlyZXQgPSAodmFsMSA8IHZhbHVlczJbal0pOworCSAgICBlbHNlIGlmIChpbmYgJiYgIXN0cmljdCkKKwkJcmV0ID0gKHZhbDEgPD0gdmFsdWVzMltqXSk7CisJICAgIGVsc2UgaWYgKCFpbmYgJiYgc3RyaWN0KQorCQlyZXQgPSAodmFsMSA+IHZhbHVlczJbal0pOworCSAgICBlbHNlIGlmICghaW5mICYmICFzdHJpY3QpCisJCXJldCA9ICh2YWwxID49IHZhbHVlczJbal0pOworCSAgICBpZiAocmV0KQorCQlicmVhazsKKwl9CisJaWYgKHJldCkKKwkgICAgYnJlYWs7CisJaW5pdCA9IDE7CisgICAgfQorICAgIHhtbEZyZWUodmFsdWVzMik7CisgICAgeG1sWFBhdGhGcmVlT2JqZWN0KGFyZzEpOworICAgIHhtbFhQYXRoRnJlZU9iamVjdChhcmcyKTsKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxYUGF0aENvbXBhcmVOb2RlU2V0VmFsdWU6CisgKiBAY3R4dDogIHRoZSBYUGF0aCBQYXJzZXIgY29udGV4dAorICogQGluZjogIGxlc3MgdGhhbiAoMSkgb3IgZ3JlYXRlciB0aGFuICgwKQorICogQHN0cmljdDogIGlzIHRoZSBjb21wYXJpc29uIHN0cmljdAorICogQGFyZzogIHRoZSBub2RlIHNldAorICogQHZhbDogIHRoZSB2YWx1ZQorICoKKyAqIEltcGxlbWVudCB0aGUgY29tcGFyZSBvcGVyYXRpb24gYmV0d2VlbiBhIG5vZGVzZXQgYW5kIGEgdmFsdWUKKyAqICAgICBAbnMgPCBAdmFsICAgICgxLCAxLCAuLi4KKyAqICAgICBAbnMgPD0gQHZhbCAgICgxLCAwLCAuLi4KKyAqICAgICBAbnMgPiBAdmFsICAgICgwLCAxLCAuLi4KKyAqICAgICBAbnMgPj0gQHZhbCAgICgwLCAwLCAuLi4KKyAqCisgKiBJZiBvbmUgb2JqZWN0IHRvIGJlIGNvbXBhcmVkIGlzIGEgbm9kZS1zZXQgYW5kIHRoZSBvdGhlciBpcyBhIGJvb2xlYW4sCisgKiB0aGVuIHRoZSBjb21wYXJpc29uIHdpbGwgYmUgdHJ1ZSBpZiBhbmQgb25seSBpZiB0aGUgcmVzdWx0IG9mIHBlcmZvcm1pbmcKKyAqIHRoZSBjb21wYXJpc29uIG9uIHRoZSBib29sZWFuIGFuZCBvbiB0aGUgcmVzdWx0IG9mIGNvbnZlcnRpbmcKKyAqIHRoZSBub2RlLXNldCB0byBhIGJvb2xlYW4gdXNpbmcgdGhlIGJvb2xlYW4gZnVuY3Rpb24gaXMgdHJ1ZS4KKyAqCisgKiBSZXR1cm5zIDAgb3IgMSBkZXBlbmRpbmcgb24gdGhlIHJlc3VsdHMgb2YgdGhlIHRlc3QuCisgKi8KK3N0YXRpYyBpbnQKK3htbFhQYXRoQ29tcGFyZU5vZGVTZXRWYWx1ZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCwgaW50IGluZiwgaW50IHN0cmljdCwKKwkgICAgICAgICAgICAgICAgICAgIHhtbFhQYXRoT2JqZWN0UHRyIGFyZywgeG1sWFBhdGhPYmplY3RQdHIgdmFsKSB7CisgICAgaWYgKCh2YWwgPT0gTlVMTCkgfHwgKGFyZyA9PSBOVUxMKSB8fAorCSgoYXJnLT50eXBlICE9IFhQQVRIX05PREVTRVQpICYmIChhcmctPnR5cGUgIT0gWFBBVEhfWFNMVF9UUkVFKSkpCisgICAgICAgIHJldHVybigwKTsKKworICAgIHN3aXRjaCh2YWwtPnR5cGUpIHsKKyAgICAgICAgY2FzZSBYUEFUSF9OVU1CRVI6CisJICAgIHJldHVybih4bWxYUGF0aENvbXBhcmVOb2RlU2V0RmxvYXQoY3R4dCwgaW5mLCBzdHJpY3QsIGFyZywgdmFsKSk7CisgICAgICAgIGNhc2UgWFBBVEhfTk9ERVNFVDoKKyAgICAgICAgY2FzZSBYUEFUSF9YU0xUX1RSRUU6CisJICAgIHJldHVybih4bWxYUGF0aENvbXBhcmVOb2RlU2V0cyhpbmYsIHN0cmljdCwgYXJnLCB2YWwpKTsKKyAgICAgICAgY2FzZSBYUEFUSF9TVFJJTkc6CisJICAgIHJldHVybih4bWxYUGF0aENvbXBhcmVOb2RlU2V0U3RyaW5nKGN0eHQsIGluZiwgc3RyaWN0LCBhcmcsIHZhbCkpOworICAgICAgICBjYXNlIFhQQVRIX0JPT0xFQU46CisJICAgIHZhbHVlUHVzaChjdHh0LCBhcmcpOworCSAgICB4bWxYUGF0aEJvb2xlYW5GdW5jdGlvbihjdHh0LCAxKTsKKwkgICAgdmFsdWVQdXNoKGN0eHQsIHZhbCk7CisJICAgIHJldHVybih4bWxYUGF0aENvbXBhcmVWYWx1ZXMoY3R4dCwgaW5mLCBzdHJpY3QpKTsKKwlkZWZhdWx0OgorCSAgICBUT0RPCisgICAgfQorICAgIHJldHVybigwKTsKK30KKworLyoqCisgKiB4bWxYUGF0aEVxdWFsTm9kZVNldFN0cmluZzoKKyAqIEBhcmc6ICB0aGUgbm9kZXNldCBvYmplY3QgYXJndW1lbnQKKyAqIEBzdHI6ICB0aGUgc3RyaW5nIHRvIGNvbXBhcmUgdG8uCisgKiBAbmVxOiAgZmxhZyB0byBzaG93IHdoZXRoZXIgZm9yICc9JyAoMCkgb3IgJyE9JyAoMSkKKyAqCisgKiBJbXBsZW1lbnQgdGhlIGVxdWFsIG9wZXJhdGlvbiBvbiBYUGF0aCBvYmplY3RzIGNvbnRlbnQ6IEBhcmcxID09IEBhcmcyCisgKiBJZiBvbmUgb2JqZWN0IHRvIGJlIGNvbXBhcmVkIGlzIGEgbm9kZS1zZXQgYW5kIHRoZSBvdGhlciBpcyBhIHN0cmluZywKKyAqIHRoZW4gdGhlIGNvbXBhcmlzb24gd2lsbCBiZSB0cnVlIGlmIGFuZCBvbmx5IGlmIHRoZXJlIGlzIGEgbm9kZSBpbgorICogdGhlIG5vZGUtc2V0IHN1Y2ggdGhhdCB0aGUgcmVzdWx0IG9mIHBlcmZvcm1pbmcgdGhlIGNvbXBhcmlzb24gb24gdGhlCisgKiBzdHJpbmctdmFsdWUgb2YgdGhlIG5vZGUgYW5kIHRoZSBvdGhlciBzdHJpbmcgaXMgdHJ1ZS4KKyAqCisgKiBSZXR1cm5zIDAgb3IgMSBkZXBlbmRpbmcgb24gdGhlIHJlc3VsdHMgb2YgdGhlIHRlc3QuCisgKi8KK3N0YXRpYyBpbnQKK3htbFhQYXRoRXF1YWxOb2RlU2V0U3RyaW5nKHhtbFhQYXRoT2JqZWN0UHRyIGFyZywgY29uc3QgeG1sQ2hhciAqIHN0ciwgaW50IG5lcSkKK3sKKyAgICBpbnQgaTsKKyAgICB4bWxOb2RlU2V0UHRyIG5zOworICAgIHhtbENoYXIgKnN0cjI7CisgICAgdW5zaWduZWQgaW50IGhhc2g7CisKKyAgICBpZiAoKHN0ciA9PSBOVUxMKSB8fCAoYXJnID09IE5VTEwpIHx8CisgICAgICAgICgoYXJnLT50eXBlICE9IFhQQVRIX05PREVTRVQpICYmIChhcmctPnR5cGUgIT0gWFBBVEhfWFNMVF9UUkVFKSkpCisgICAgICAgIHJldHVybiAoMCk7CisgICAgbnMgPSBhcmctPm5vZGVzZXR2YWw7CisgICAgLyoKKyAgICAgKiBBIE5VTEwgbm9kZXNldCBjb21wYXJlZCB3aXRoIGEgc3RyaW5nIGlzIGFsd2F5cyBmYWxzZQorICAgICAqIChzaW5jZSB0aGVyZSBpcyBubyBub2RlIGVxdWFsLCBhbmQgbm8gbm9kZSBub3QgZXF1YWwpCisgICAgICovCisgICAgaWYgKChucyA9PSBOVUxMKSB8fCAobnMtPm5vZGVOciA8PSAwKSApCisgICAgICAgIHJldHVybiAoMCk7CisgICAgaGFzaCA9IHhtbFhQYXRoU3RyaW5nSGFzaChzdHIpOworICAgIGZvciAoaSA9IDA7IGkgPCBucy0+bm9kZU5yOyBpKyspIHsKKyAgICAgICAgaWYgKHhtbFhQYXRoTm9kZVZhbEhhc2gobnMtPm5vZGVUYWJbaV0pID09IGhhc2gpIHsKKyAgICAgICAgICAgIHN0cjIgPSB4bWxOb2RlR2V0Q29udGVudChucy0+bm9kZVRhYltpXSk7CisgICAgICAgICAgICBpZiAoKHN0cjIgIT0gTlVMTCkgJiYgKHhtbFN0ckVxdWFsKHN0ciwgc3RyMikpKSB7CisgICAgICAgICAgICAgICAgeG1sRnJlZShzdHIyKTsKKwkJaWYgKG5lcSkKKwkJICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAgIHJldHVybiAoMSk7CisJICAgIH0gZWxzZSBpZiAoKHN0cjIgPT0gTlVMTCkgJiYgKHhtbFN0ckVxdWFsKHN0ciwgQkFEX0NBU1QgIiIpKSkgeworCQlpZiAobmVxKQorCQkgICAgY29udGludWU7CisgICAgICAgICAgICAgICAgcmV0dXJuICgxKTsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAobmVxKSB7CisJCWlmIChzdHIyICE9IE5VTEwpCisJCSAgICB4bWxGcmVlKHN0cjIpOworCQlyZXR1cm4gKDEpOworCSAgICB9CisgICAgICAgICAgICBpZiAoc3RyMiAhPSBOVUxMKQorICAgICAgICAgICAgICAgIHhtbEZyZWUoc3RyMik7CisgICAgICAgIH0gZWxzZSBpZiAobmVxKQorCSAgICByZXR1cm4gKDEpOworICAgIH0KKyAgICByZXR1cm4gKDApOworfQorCisvKioKKyAqIHhtbFhQYXRoRXF1YWxOb2RlU2V0RmxvYXQ6CisgKiBAYXJnOiAgdGhlIG5vZGVzZXQgb2JqZWN0IGFyZ3VtZW50CisgKiBAZjogIHRoZSBmbG9hdCB0byBjb21wYXJlIHRvCisgKiBAbmVxOiAgZmxhZyB0byBzaG93IHdoZXRoZXIgdG8gY29tcGFyZSAnPScgKDApIG9yICchPScgKDEpCisgKgorICogSW1wbGVtZW50IHRoZSBlcXVhbCBvcGVyYXRpb24gb24gWFBhdGggb2JqZWN0cyBjb250ZW50OiBAYXJnMSA9PSBAYXJnMgorICogSWYgb25lIG9iamVjdCB0byBiZSBjb21wYXJlZCBpcyBhIG5vZGUtc2V0IGFuZCB0aGUgb3RoZXIgaXMgYSBudW1iZXIsCisgKiB0aGVuIHRoZSBjb21wYXJpc29uIHdpbGwgYmUgdHJ1ZSBpZiBhbmQgb25seSBpZiB0aGVyZSBpcyBhIG5vZGUgaW4KKyAqIHRoZSBub2RlLXNldCBzdWNoIHRoYXQgdGhlIHJlc3VsdCBvZiBwZXJmb3JtaW5nIHRoZSBjb21wYXJpc29uIG9uIHRoZQorICogbnVtYmVyIHRvIGJlIGNvbXBhcmVkIGFuZCBvbiB0aGUgcmVzdWx0IG9mIGNvbnZlcnRpbmcgdGhlIHN0cmluZy12YWx1ZQorICogb2YgdGhhdCBub2RlIHRvIGEgbnVtYmVyIHVzaW5nIHRoZSBudW1iZXIgZnVuY3Rpb24gaXMgdHJ1ZS4KKyAqCisgKiBSZXR1cm5zIDAgb3IgMSBkZXBlbmRpbmcgb24gdGhlIHJlc3VsdHMgb2YgdGhlIHRlc3QuCisgKi8KK3N0YXRpYyBpbnQKK3htbFhQYXRoRXF1YWxOb2RlU2V0RmxvYXQoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQsCisgICAgeG1sWFBhdGhPYmplY3RQdHIgYXJnLCBkb3VibGUgZiwgaW50IG5lcSkgeworICBpbnQgaSwgcmV0PTA7CisgIHhtbE5vZGVTZXRQdHIgbnM7CisgIHhtbENoYXIgKnN0cjI7CisgIHhtbFhQYXRoT2JqZWN0UHRyIHZhbDsKKyAgZG91YmxlIHY7CisKKyAgICBpZiAoKGFyZyA9PSBOVUxMKSB8fAorCSgoYXJnLT50eXBlICE9IFhQQVRIX05PREVTRVQpICYmIChhcmctPnR5cGUgIT0gWFBBVEhfWFNMVF9UUkVFKSkpCisgICAgICAgIHJldHVybigwKTsKKworICAgIG5zID0gYXJnLT5ub2Rlc2V0dmFsOworICAgIGlmIChucyAhPSBOVUxMKSB7CisJZm9yIChpPTA7aTxucy0+bm9kZU5yO2krKykgeworCSAgICBzdHIyID0geG1sWFBhdGhDYXN0Tm9kZVRvU3RyaW5nKG5zLT5ub2RlVGFiW2ldKTsKKwkgICAgaWYgKHN0cjIgIT0gTlVMTCkgeworCQl2YWx1ZVB1c2goY3R4dCwgeG1sWFBhdGhDYWNoZU5ld1N0cmluZyhjdHh0LT5jb250ZXh0LCBzdHIyKSk7CisJCXhtbEZyZWUoc3RyMik7CisJCXhtbFhQYXRoTnVtYmVyRnVuY3Rpb24oY3R4dCwgMSk7CisJCXZhbCA9IHZhbHVlUG9wKGN0eHQpOworCQl2ID0gdmFsLT5mbG9hdHZhbDsKKwkJeG1sWFBhdGhSZWxlYXNlT2JqZWN0KGN0eHQtPmNvbnRleHQsIHZhbCk7CisJCWlmICgheG1sWFBhdGhJc05hTih2KSkgeworCQkgICAgaWYgKCghbmVxKSAmJiAodj09ZikpIHsKKwkJCXJldCA9IDE7CisJCQlicmVhazsKKwkJICAgIH0gZWxzZSBpZiAoKG5lcSkgJiYgKHYhPWYpKSB7CisJCQlyZXQgPSAxOworCQkJYnJlYWs7CisJCSAgICB9CisJCX0gZWxzZSB7CS8qIE5hTiBpcyB1bmVxdWFsIHRvIGFueSB2YWx1ZSAqLworCQkgICAgaWYgKG5lcSkKKwkJCXJldCA9IDE7CisJCX0KKwkgICAgfQorCX0KKyAgICB9CisKKyAgICByZXR1cm4ocmV0KTsKK30KKworCisvKioKKyAqIHhtbFhQYXRoRXF1YWxOb2RlU2V0czoKKyAqIEBhcmcxOiAgZmlyc3Qgbm9kZXNldCBvYmplY3QgYXJndW1lbnQKKyAqIEBhcmcyOiAgc2Vjb25kIG5vZGVzZXQgb2JqZWN0IGFyZ3VtZW50CisgKiBAbmVxOiAgIGZsYWcgdG8gc2hvdyB3aGV0aGVyIHRvIHRlc3QgJz0nICgwKSBvciAnIT0nICgxKQorICoKKyAqIEltcGxlbWVudCB0aGUgZXF1YWwgLyBub3QgZXF1YWwgb3BlcmF0aW9uIG9uIFhQYXRoIG5vZGVzZXRzOgorICogQGFyZzEgPT0gQGFyZzIgIG9yICBAYXJnMSAhPSBAYXJnMgorICogSWYgYm90aCBvYmplY3RzIHRvIGJlIGNvbXBhcmVkIGFyZSBub2RlLXNldHMsIHRoZW4gdGhlIGNvbXBhcmlzb24KKyAqIHdpbGwgYmUgdHJ1ZSBpZiBhbmQgb25seSBpZiB0aGVyZSBpcyBhIG5vZGUgaW4gdGhlIGZpcnN0IG5vZGUtc2V0IGFuZAorICogYSBub2RlIGluIHRoZSBzZWNvbmQgbm9kZS1zZXQgc3VjaCB0aGF0IHRoZSByZXN1bHQgb2YgcGVyZm9ybWluZyB0aGUKKyAqIGNvbXBhcmlzb24gb24gdGhlIHN0cmluZy12YWx1ZXMgb2YgdGhlIHR3byBub2RlcyBpcyB0cnVlLgorICoKKyAqIChuZWVkbGVzcyB0byBzYXksIHRoaXMgaXMgYSBjb3N0bHkgb3BlcmF0aW9uKQorICoKKyAqIFJldHVybnMgMCBvciAxIGRlcGVuZGluZyBvbiB0aGUgcmVzdWx0cyBvZiB0aGUgdGVzdC4KKyAqLworc3RhdGljIGludAoreG1sWFBhdGhFcXVhbE5vZGVTZXRzKHhtbFhQYXRoT2JqZWN0UHRyIGFyZzEsIHhtbFhQYXRoT2JqZWN0UHRyIGFyZzIsIGludCBuZXEpIHsKKyAgICBpbnQgaSwgajsKKyAgICB1bnNpZ25lZCBpbnQgKmhhc2hzMTsKKyAgICB1bnNpZ25lZCBpbnQgKmhhc2hzMjsKKyAgICB4bWxDaGFyICoqdmFsdWVzMTsKKyAgICB4bWxDaGFyICoqdmFsdWVzMjsKKyAgICBpbnQgcmV0ID0gMDsKKyAgICB4bWxOb2RlU2V0UHRyIG5zMTsKKyAgICB4bWxOb2RlU2V0UHRyIG5zMjsKKworICAgIGlmICgoYXJnMSA9PSBOVUxMKSB8fAorCSgoYXJnMS0+dHlwZSAhPSBYUEFUSF9OT0RFU0VUKSAmJiAoYXJnMS0+dHlwZSAhPSBYUEFUSF9YU0xUX1RSRUUpKSkKKyAgICAgICAgcmV0dXJuKDApOworICAgIGlmICgoYXJnMiA9PSBOVUxMKSB8fAorCSgoYXJnMi0+dHlwZSAhPSBYUEFUSF9OT0RFU0VUKSAmJiAoYXJnMi0+dHlwZSAhPSBYUEFUSF9YU0xUX1RSRUUpKSkKKyAgICAgICAgcmV0dXJuKDApOworCisgICAgbnMxID0gYXJnMS0+bm9kZXNldHZhbDsKKyAgICBuczIgPSBhcmcyLT5ub2Rlc2V0dmFsOworCisgICAgaWYgKChuczEgPT0gTlVMTCkgfHwgKG5zMS0+bm9kZU5yIDw9IDApKQorCXJldHVybigwKTsKKyAgICBpZiAoKG5zMiA9PSBOVUxMKSB8fCAobnMyLT5ub2RlTnIgPD0gMCkpCisJcmV0dXJuKDApOworCisgICAgLyoKKyAgICAgKiBmb3IgZXF1YWwsIGNoZWNrIGlmIHRoZXJlIGlzIGEgbm9kZSBwZXJ0YWluaW5nIHRvIGJvdGggc2V0cworICAgICAqLworICAgIGlmIChuZXEgPT0gMCkKKwlmb3IgKGkgPSAwO2kgPCBuczEtPm5vZGVOcjtpKyspCisJICAgIGZvciAoaiA9IDA7aiA8IG5zMi0+bm9kZU5yO2orKykKKwkJaWYgKG5zMS0+bm9kZVRhYltpXSA9PSBuczItPm5vZGVUYWJbal0pCisJCSAgICByZXR1cm4oMSk7CisKKyAgICB2YWx1ZXMxID0gKHhtbENoYXIgKiopIHhtbE1hbGxvYyhuczEtPm5vZGVOciAqIHNpemVvZih4bWxDaGFyICopKTsKKyAgICBpZiAodmFsdWVzMSA9PSBOVUxMKSB7CisgICAgICAgIHhtbFhQYXRoRXJyTWVtb3J5KE5VTEwsICJjb21wYXJpbmcgbm9kZXNldHNcbiIpOworCXJldHVybigwKTsKKyAgICB9CisgICAgaGFzaHMxID0gKHVuc2lnbmVkIGludCAqKSB4bWxNYWxsb2MobnMxLT5ub2RlTnIgKiBzaXplb2YodW5zaWduZWQgaW50KSk7CisgICAgaWYgKGhhc2hzMSA9PSBOVUxMKSB7CisgICAgICAgIHhtbFhQYXRoRXJyTWVtb3J5KE5VTEwsICJjb21wYXJpbmcgbm9kZXNldHNcbiIpOworCXhtbEZyZWUodmFsdWVzMSk7CisJcmV0dXJuKDApOworICAgIH0KKyAgICBtZW1zZXQodmFsdWVzMSwgMCwgbnMxLT5ub2RlTnIgKiBzaXplb2YoeG1sQ2hhciAqKSk7CisgICAgdmFsdWVzMiA9ICh4bWxDaGFyICoqKSB4bWxNYWxsb2MobnMyLT5ub2RlTnIgKiBzaXplb2YoeG1sQ2hhciAqKSk7CisgICAgaWYgKHZhbHVlczIgPT0gTlVMTCkgeworICAgICAgICB4bWxYUGF0aEVyck1lbW9yeShOVUxMLCAiY29tcGFyaW5nIG5vZGVzZXRzXG4iKTsKKwl4bWxGcmVlKGhhc2hzMSk7CisJeG1sRnJlZSh2YWx1ZXMxKTsKKwlyZXR1cm4oMCk7CisgICAgfQorICAgIGhhc2hzMiA9ICh1bnNpZ25lZCBpbnQgKikgeG1sTWFsbG9jKG5zMi0+bm9kZU5yICogc2l6ZW9mKHVuc2lnbmVkIGludCkpOworICAgIGlmIChoYXNoczIgPT0gTlVMTCkgeworICAgICAgICB4bWxYUGF0aEVyck1lbW9yeShOVUxMLCAiY29tcGFyaW5nIG5vZGVzZXRzXG4iKTsKKwl4bWxGcmVlKGhhc2hzMSk7CisJeG1sRnJlZSh2YWx1ZXMxKTsKKwl4bWxGcmVlKHZhbHVlczIpOworCXJldHVybigwKTsKKyAgICB9CisgICAgbWVtc2V0KHZhbHVlczIsIDAsIG5zMi0+bm9kZU5yICogc2l6ZW9mKHhtbENoYXIgKikpOworICAgIGZvciAoaSA9IDA7aSA8IG5zMS0+bm9kZU5yO2krKykgeworCWhhc2hzMVtpXSA9IHhtbFhQYXRoTm9kZVZhbEhhc2gobnMxLT5ub2RlVGFiW2ldKTsKKwlmb3IgKGogPSAwO2ogPCBuczItPm5vZGVOcjtqKyspIHsKKwkgICAgaWYgKGkgPT0gMCkKKwkJaGFzaHMyW2pdID0geG1sWFBhdGhOb2RlVmFsSGFzaChuczItPm5vZGVUYWJbal0pOworCSAgICBpZiAoaGFzaHMxW2ldICE9IGhhc2hzMltqXSkgeworCQlpZiAobmVxKSB7CisJCSAgICByZXQgPSAxOworCQkgICAgYnJlYWs7CisJCX0KKwkgICAgfQorCSAgICBlbHNlIHsKKwkJaWYgKHZhbHVlczFbaV0gPT0gTlVMTCkKKwkJICAgIHZhbHVlczFbaV0gPSB4bWxOb2RlR2V0Q29udGVudChuczEtPm5vZGVUYWJbaV0pOworCQlpZiAodmFsdWVzMltqXSA9PSBOVUxMKQorCQkgICAgdmFsdWVzMltqXSA9IHhtbE5vZGVHZXRDb250ZW50KG5zMi0+bm9kZVRhYltqXSk7CisJCXJldCA9IHhtbFN0ckVxdWFsKHZhbHVlczFbaV0sIHZhbHVlczJbal0pIF4gbmVxOworCQlpZiAocmV0KQorCQkgICAgYnJlYWs7CisJICAgIH0KKwl9CisJaWYgKHJldCkKKwkgICAgYnJlYWs7CisgICAgfQorICAgIGZvciAoaSA9IDA7aSA8IG5zMS0+bm9kZU5yO2krKykKKwlpZiAodmFsdWVzMVtpXSAhPSBOVUxMKQorCSAgICB4bWxGcmVlKHZhbHVlczFbaV0pOworICAgIGZvciAoaiA9IDA7aiA8IG5zMi0+bm9kZU5yO2orKykKKwlpZiAodmFsdWVzMltqXSAhPSBOVUxMKQorCSAgICB4bWxGcmVlKHZhbHVlczJbal0pOworICAgIHhtbEZyZWUodmFsdWVzMSk7CisgICAgeG1sRnJlZSh2YWx1ZXMyKTsKKyAgICB4bWxGcmVlKGhhc2hzMSk7CisgICAgeG1sRnJlZShoYXNoczIpOworICAgIHJldHVybihyZXQpOworfQorCitzdGF0aWMgaW50Cit4bWxYUGF0aEVxdWFsVmFsdWVzQ29tbW9uKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0LAorICB4bWxYUGF0aE9iamVjdFB0ciBhcmcxLCB4bWxYUGF0aE9iamVjdFB0ciBhcmcyKSB7CisgICAgaW50IHJldCA9IDA7CisgICAgLyoKKyAgICAgKkF0IHRoaXMgcG9pbnQgd2UgYXJlIGFzc3VyZWQgbmVpdGhlciBhcmcxIG5vciBhcmcyCisgICAgICppcyBhIG5vZGVzZXQsIHNvIHdlIGNhbiBqdXN0IHBpY2sgdGhlIGFwcHJvcHJpYXRlIHJvdXRpbmUuCisgICAgICovCisgICAgc3dpdGNoIChhcmcxLT50eXBlKSB7CisgICAgICAgIGNhc2UgWFBBVEhfVU5ERUZJTkVEOgorI2lmZGVmIERFQlVHX0VYUFIKKwkgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSAgICAiRXF1YWw6IHVuZGVmaW5lZFxuIik7CisjZW5kaWYKKwkgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWFBBVEhfQk9PTEVBTjoKKwkgICAgc3dpdGNoIChhcmcyLT50eXBlKSB7CisJICAgICAgICBjYXNlIFhQQVRIX1VOREVGSU5FRDoKKyNpZmRlZiBERUJVR19FWFBSCisJCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJCSAgICAiRXF1YWw6IHVuZGVmaW5lZFxuIik7CisjZW5kaWYKKwkJICAgIGJyZWFrOworCQljYXNlIFhQQVRIX0JPT0xFQU46CisjaWZkZWYgREVCVUdfRVhQUgorCQkgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCQkgICAgIkVxdWFsOiAlZCBib29sZWFuICVkIFxuIiwKKwkJCSAgICBhcmcxLT5ib29sdmFsLCBhcmcyLT5ib29sdmFsKTsKKyNlbmRpZgorCQkgICAgcmV0ID0gKGFyZzEtPmJvb2x2YWwgPT0gYXJnMi0+Ym9vbHZhbCk7CisJCSAgICBicmVhazsKKwkJY2FzZSBYUEFUSF9OVU1CRVI6CisJCSAgICByZXQgPSAoYXJnMS0+Ym9vbHZhbCA9PQorCQkJICAgeG1sWFBhdGhDYXN0TnVtYmVyVG9Cb29sZWFuKGFyZzItPmZsb2F0dmFsKSk7CisJCSAgICBicmVhazsKKwkJY2FzZSBYUEFUSF9TVFJJTkc6CisJCSAgICBpZiAoKGFyZzItPnN0cmluZ3ZhbCA9PSBOVUxMKSB8fAorCQkJKGFyZzItPnN0cmluZ3ZhbFswXSA9PSAwKSkgcmV0ID0gMDsKKwkJICAgIGVsc2UKKwkJCXJldCA9IDE7CisJCSAgICByZXQgPSAoYXJnMS0+Ym9vbHZhbCA9PSByZXQpOworCQkgICAgYnJlYWs7CisJCWNhc2UgWFBBVEhfVVNFUlM6CisJCWNhc2UgWFBBVEhfUE9JTlQ6CisJCWNhc2UgWFBBVEhfUkFOR0U6CisJCWNhc2UgWFBBVEhfTE9DQVRJT05TRVQ6CisJCSAgICBUT0RPCisJCSAgICBicmVhazsKKwkJY2FzZSBYUEFUSF9OT0RFU0VUOgorCQljYXNlIFhQQVRIX1hTTFRfVFJFRToKKwkJICAgIGJyZWFrOworCSAgICB9CisJICAgIGJyZWFrOworICAgICAgICBjYXNlIFhQQVRIX05VTUJFUjoKKwkgICAgc3dpdGNoIChhcmcyLT50eXBlKSB7CisJICAgICAgICBjYXNlIFhQQVRIX1VOREVGSU5FRDoKKyNpZmRlZiBERUJVR19FWFBSCisJCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJCSAgICAiRXF1YWw6IHVuZGVmaW5lZFxuIik7CisjZW5kaWYKKwkJICAgIGJyZWFrOworCQljYXNlIFhQQVRIX0JPT0xFQU46CisJCSAgICByZXQgPSAoYXJnMi0+Ym9vbHZhbD09CisJCQkgICB4bWxYUGF0aENhc3ROdW1iZXJUb0Jvb2xlYW4oYXJnMS0+ZmxvYXR2YWwpKTsKKwkJICAgIGJyZWFrOworCQljYXNlIFhQQVRIX1NUUklORzoKKwkJICAgIHZhbHVlUHVzaChjdHh0LCBhcmcyKTsKKwkJICAgIHhtbFhQYXRoTnVtYmVyRnVuY3Rpb24oY3R4dCwgMSk7CisJCSAgICBhcmcyID0gdmFsdWVQb3AoY3R4dCk7CisJCSAgICAvKiBubyBicmVhayBvbiBwdXJwb3NlICovCisJCWNhc2UgWFBBVEhfTlVNQkVSOgorCQkgICAgLyogSGFuZCBjaGVjayBOYU4gYW5kIEluZmluaXR5IGVxdWFsaXRpZXMgKi8KKwkJICAgIGlmICh4bWxYUGF0aElzTmFOKGFyZzEtPmZsb2F0dmFsKSB8fAorCQkJICAgIHhtbFhQYXRoSXNOYU4oYXJnMi0+ZmxvYXR2YWwpKSB7CisJCSAgICAgICAgcmV0ID0gMDsKKwkJICAgIH0gZWxzZSBpZiAoeG1sWFBhdGhJc0luZihhcmcxLT5mbG9hdHZhbCkgPT0gMSkgeworCQkgICAgICAgIGlmICh4bWxYUGF0aElzSW5mKGFyZzItPmZsb2F0dmFsKSA9PSAxKQorCQkJICAgIHJldCA9IDE7CisJCQllbHNlCisJCQkgICAgcmV0ID0gMDsKKwkJICAgIH0gZWxzZSBpZiAoeG1sWFBhdGhJc0luZihhcmcxLT5mbG9hdHZhbCkgPT0gLTEpIHsKKwkJCWlmICh4bWxYUGF0aElzSW5mKGFyZzItPmZsb2F0dmFsKSA9PSAtMSkKKwkJCSAgICByZXQgPSAxOworCQkJZWxzZQorCQkJICAgIHJldCA9IDA7CisJCSAgICB9IGVsc2UgaWYgKHhtbFhQYXRoSXNJbmYoYXJnMi0+ZmxvYXR2YWwpID09IDEpIHsKKwkJCWlmICh4bWxYUGF0aElzSW5mKGFyZzEtPmZsb2F0dmFsKSA9PSAxKQorCQkJICAgIHJldCA9IDE7CisJCQllbHNlCisJCQkgICAgcmV0ID0gMDsKKwkJICAgIH0gZWxzZSBpZiAoeG1sWFBhdGhJc0luZihhcmcyLT5mbG9hdHZhbCkgPT0gLTEpIHsKKwkJCWlmICh4bWxYUGF0aElzSW5mKGFyZzEtPmZsb2F0dmFsKSA9PSAtMSkKKwkJCSAgICByZXQgPSAxOworCQkJZWxzZQorCQkJICAgIHJldCA9IDA7CisJCSAgICB9IGVsc2UgeworCQkgICAgICAgIHJldCA9IChhcmcxLT5mbG9hdHZhbCA9PSBhcmcyLT5mbG9hdHZhbCk7CisJCSAgICB9CisJCSAgICBicmVhazsKKwkJY2FzZSBYUEFUSF9VU0VSUzoKKwkJY2FzZSBYUEFUSF9QT0lOVDoKKwkJY2FzZSBYUEFUSF9SQU5HRToKKwkJY2FzZSBYUEFUSF9MT0NBVElPTlNFVDoKKwkJICAgIFRPRE8KKwkJICAgIGJyZWFrOworCQljYXNlIFhQQVRIX05PREVTRVQ6CisJCWNhc2UgWFBBVEhfWFNMVF9UUkVFOgorCQkgICAgYnJlYWs7CisJICAgIH0KKwkgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWFBBVEhfU1RSSU5HOgorCSAgICBzd2l0Y2ggKGFyZzItPnR5cGUpIHsKKwkgICAgICAgIGNhc2UgWFBBVEhfVU5ERUZJTkVEOgorI2lmZGVmIERFQlVHX0VYUFIKKwkJICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkJICAgICJFcXVhbDogdW5kZWZpbmVkXG4iKTsKKyNlbmRpZgorCQkgICAgYnJlYWs7CisJCWNhc2UgWFBBVEhfQk9PTEVBTjoKKwkJICAgIGlmICgoYXJnMS0+c3RyaW5ndmFsID09IE5VTEwpIHx8CisJCQkoYXJnMS0+c3RyaW5ndmFsWzBdID09IDApKSByZXQgPSAwOworCQkgICAgZWxzZQorCQkJcmV0ID0gMTsKKwkJICAgIHJldCA9IChhcmcyLT5ib29sdmFsID09IHJldCk7CisJCSAgICBicmVhazsKKwkJY2FzZSBYUEFUSF9TVFJJTkc6CisJCSAgICByZXQgPSB4bWxTdHJFcXVhbChhcmcxLT5zdHJpbmd2YWwsIGFyZzItPnN0cmluZ3ZhbCk7CisJCSAgICBicmVhazsKKwkJY2FzZSBYUEFUSF9OVU1CRVI6CisJCSAgICB2YWx1ZVB1c2goY3R4dCwgYXJnMSk7CisJCSAgICB4bWxYUGF0aE51bWJlckZ1bmN0aW9uKGN0eHQsIDEpOworCQkgICAgYXJnMSA9IHZhbHVlUG9wKGN0eHQpOworCQkgICAgLyogSGFuZCBjaGVjayBOYU4gYW5kIEluZmluaXR5IGVxdWFsaXRpZXMgKi8KKwkJICAgIGlmICh4bWxYUGF0aElzTmFOKGFyZzEtPmZsb2F0dmFsKSB8fAorCQkJICAgIHhtbFhQYXRoSXNOYU4oYXJnMi0+ZmxvYXR2YWwpKSB7CisJCSAgICAgICAgcmV0ID0gMDsKKwkJICAgIH0gZWxzZSBpZiAoeG1sWFBhdGhJc0luZihhcmcxLT5mbG9hdHZhbCkgPT0gMSkgeworCQkJaWYgKHhtbFhQYXRoSXNJbmYoYXJnMi0+ZmxvYXR2YWwpID09IDEpCisJCQkgICAgcmV0ID0gMTsKKwkJCWVsc2UKKwkJCSAgICByZXQgPSAwOworCQkgICAgfSBlbHNlIGlmICh4bWxYUGF0aElzSW5mKGFyZzEtPmZsb2F0dmFsKSA9PSAtMSkgeworCQkJaWYgKHhtbFhQYXRoSXNJbmYoYXJnMi0+ZmxvYXR2YWwpID09IC0xKQorCQkJICAgIHJldCA9IDE7CisJCQllbHNlCisJCQkgICAgcmV0ID0gMDsKKwkJICAgIH0gZWxzZSBpZiAoeG1sWFBhdGhJc0luZihhcmcyLT5mbG9hdHZhbCkgPT0gMSkgeworCQkJaWYgKHhtbFhQYXRoSXNJbmYoYXJnMS0+ZmxvYXR2YWwpID09IDEpCisJCQkgICAgcmV0ID0gMTsKKwkJCWVsc2UKKwkJCSAgICByZXQgPSAwOworCQkgICAgfSBlbHNlIGlmICh4bWxYUGF0aElzSW5mKGFyZzItPmZsb2F0dmFsKSA9PSAtMSkgeworCQkJaWYgKHhtbFhQYXRoSXNJbmYoYXJnMS0+ZmxvYXR2YWwpID09IC0xKQorCQkJICAgIHJldCA9IDE7CisJCQllbHNlCisJCQkgICAgcmV0ID0gMDsKKwkJICAgIH0gZWxzZSB7CisJCSAgICAgICAgcmV0ID0gKGFyZzEtPmZsb2F0dmFsID09IGFyZzItPmZsb2F0dmFsKTsKKwkJICAgIH0KKwkJICAgIGJyZWFrOworCQljYXNlIFhQQVRIX1VTRVJTOgorCQljYXNlIFhQQVRIX1BPSU5UOgorCQljYXNlIFhQQVRIX1JBTkdFOgorCQljYXNlIFhQQVRIX0xPQ0FUSU9OU0VUOgorCQkgICAgVE9ETworCQkgICAgYnJlYWs7CisJCWNhc2UgWFBBVEhfTk9ERVNFVDoKKwkJY2FzZSBYUEFUSF9YU0xUX1RSRUU6CisJCSAgICBicmVhazsKKwkgICAgfQorCSAgICBicmVhazsKKyAgICAgICAgY2FzZSBYUEFUSF9VU0VSUzoKKwljYXNlIFhQQVRIX1BPSU5UOgorCWNhc2UgWFBBVEhfUkFOR0U6CisJY2FzZSBYUEFUSF9MT0NBVElPTlNFVDoKKwkgICAgVE9ETworCSAgICBicmVhazsKKwljYXNlIFhQQVRIX05PREVTRVQ6CisJY2FzZSBYUEFUSF9YU0xUX1RSRUU6CisJICAgIGJyZWFrOworICAgIH0KKyAgICB4bWxYUGF0aFJlbGVhc2VPYmplY3QoY3R4dC0+Y29udGV4dCwgYXJnMSk7CisgICAgeG1sWFBhdGhSZWxlYXNlT2JqZWN0KGN0eHQtPmNvbnRleHQsIGFyZzIpOworICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbFhQYXRoRXF1YWxWYWx1ZXM6CisgKiBAY3R4dDogIHRoZSBYUGF0aCBQYXJzZXIgY29udGV4dAorICoKKyAqIEltcGxlbWVudCB0aGUgZXF1YWwgb3BlcmF0aW9uIG9uIFhQYXRoIG9iamVjdHMgY29udGVudDogQGFyZzEgPT0gQGFyZzIKKyAqCisgKiBSZXR1cm5zIDAgb3IgMSBkZXBlbmRpbmcgb24gdGhlIHJlc3VsdHMgb2YgdGhlIHRlc3QuCisgKi8KK2ludAoreG1sWFBhdGhFcXVhbFZhbHVlcyh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCkgeworICAgIHhtbFhQYXRoT2JqZWN0UHRyIGFyZzEsIGFyZzIsIGFyZ3RtcDsKKyAgICBpbnQgcmV0ID0gMDsKKworICAgIGlmICgoY3R4dCA9PSBOVUxMKSB8fCAoY3R4dC0+Y29udGV4dCA9PSBOVUxMKSkgcmV0dXJuKDApOworICAgIGFyZzIgPSB2YWx1ZVBvcChjdHh0KTsKKyAgICBhcmcxID0gdmFsdWVQb3AoY3R4dCk7CisgICAgaWYgKChhcmcxID09IE5VTEwpIHx8IChhcmcyID09IE5VTEwpKSB7CisJaWYgKGFyZzEgIT0gTlVMTCkKKwkgICAgeG1sWFBhdGhSZWxlYXNlT2JqZWN0KGN0eHQtPmNvbnRleHQsIGFyZzEpOworCWVsc2UKKwkgICAgeG1sWFBhdGhSZWxlYXNlT2JqZWN0KGN0eHQtPmNvbnRleHQsIGFyZzIpOworCVhQX0VSUk9SMChYUEFUSF9JTlZBTElEX09QRVJBTkQpOworICAgIH0KKworICAgIGlmIChhcmcxID09IGFyZzIpIHsKKyNpZmRlZiBERUJVR19FWFBSCisgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkiRXF1YWw6IGJ5IHBvaW50ZXJcbiIpOworI2VuZGlmCisJeG1sWFBhdGhGcmVlT2JqZWN0KGFyZzEpOworICAgICAgICByZXR1cm4oMSk7CisgICAgfQorCisgICAgLyoKKyAgICAgKklmIGVpdGhlciBhcmd1bWVudCBpcyBhIG5vZGVzZXQsIGl0J3MgYSAnc3BlY2lhbCBjYXNlJworICAgICAqLworICAgIGlmICgoYXJnMi0+dHlwZSA9PSBYUEFUSF9OT0RFU0VUKSB8fCAoYXJnMi0+dHlwZSA9PSBYUEFUSF9YU0xUX1RSRUUpIHx8CisgICAgICAoYXJnMS0+dHlwZSA9PSBYUEFUSF9OT0RFU0VUKSB8fCAoYXJnMS0+dHlwZSA9PSBYUEFUSF9YU0xUX1RSRUUpKSB7CisJLyoKKwkgKkhhY2sgaXQgdG8gYXNzdXJlIGFyZzEgaXMgdGhlIG5vZGVzZXQKKwkgKi8KKwlpZiAoKGFyZzEtPnR5cGUgIT0gWFBBVEhfTk9ERVNFVCkgJiYgKGFyZzEtPnR5cGUgIT0gWFBBVEhfWFNMVF9UUkVFKSkgeworCQlhcmd0bXAgPSBhcmcyOworCQlhcmcyID0gYXJnMTsKKwkJYXJnMSA9IGFyZ3RtcDsKKwl9CisJc3dpdGNoIChhcmcyLT50eXBlKSB7CisJICAgIGNhc2UgWFBBVEhfVU5ERUZJTkVEOgorI2lmZGVmIERFQlVHX0VYUFIKKwkJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCQkiRXF1YWw6IHVuZGVmaW5lZFxuIik7CisjZW5kaWYKKwkJYnJlYWs7CisJICAgIGNhc2UgWFBBVEhfTk9ERVNFVDoKKwkgICAgY2FzZSBYUEFUSF9YU0xUX1RSRUU6CisJCXJldCA9IHhtbFhQYXRoRXF1YWxOb2RlU2V0cyhhcmcxLCBhcmcyLCAwKTsKKwkJYnJlYWs7CisJICAgIGNhc2UgWFBBVEhfQk9PTEVBTjoKKwkJaWYgKChhcmcxLT5ub2Rlc2V0dmFsID09IE5VTEwpIHx8CisJCSAgKGFyZzEtPm5vZGVzZXR2YWwtPm5vZGVOciA9PSAwKSkgcmV0ID0gMDsKKwkJZWxzZQorCQkgICAgcmV0ID0gMTsKKwkJcmV0ID0gKHJldCA9PSBhcmcyLT5ib29sdmFsKTsKKwkJYnJlYWs7CisJICAgIGNhc2UgWFBBVEhfTlVNQkVSOgorCQlyZXQgPSB4bWxYUGF0aEVxdWFsTm9kZVNldEZsb2F0KGN0eHQsIGFyZzEsIGFyZzItPmZsb2F0dmFsLCAwKTsKKwkJYnJlYWs7CisJICAgIGNhc2UgWFBBVEhfU1RSSU5HOgorCQlyZXQgPSB4bWxYUGF0aEVxdWFsTm9kZVNldFN0cmluZyhhcmcxLCBhcmcyLT5zdHJpbmd2YWwsIDApOworCQlicmVhazsKKwkgICAgY2FzZSBYUEFUSF9VU0VSUzoKKwkgICAgY2FzZSBYUEFUSF9QT0lOVDoKKwkgICAgY2FzZSBYUEFUSF9SQU5HRToKKwkgICAgY2FzZSBYUEFUSF9MT0NBVElPTlNFVDoKKwkJVE9ETworCQlicmVhazsKKwl9CisJeG1sWFBhdGhSZWxlYXNlT2JqZWN0KGN0eHQtPmNvbnRleHQsIGFyZzEpOworCXhtbFhQYXRoUmVsZWFzZU9iamVjdChjdHh0LT5jb250ZXh0LCBhcmcyKTsKKwlyZXR1cm4ocmV0KTsKKyAgICB9CisKKyAgICByZXR1cm4gKHhtbFhQYXRoRXF1YWxWYWx1ZXNDb21tb24oY3R4dCwgYXJnMSwgYXJnMikpOworfQorCisvKioKKyAqIHhtbFhQYXRoTm90RXF1YWxWYWx1ZXM6CisgKiBAY3R4dDogIHRoZSBYUGF0aCBQYXJzZXIgY29udGV4dAorICoKKyAqIEltcGxlbWVudCB0aGUgZXF1YWwgb3BlcmF0aW9uIG9uIFhQYXRoIG9iamVjdHMgY29udGVudDogQGFyZzEgPT0gQGFyZzIKKyAqCisgKiBSZXR1cm5zIDAgb3IgMSBkZXBlbmRpbmcgb24gdGhlIHJlc3VsdHMgb2YgdGhlIHRlc3QuCisgKi8KK2ludAoreG1sWFBhdGhOb3RFcXVhbFZhbHVlcyh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCkgeworICAgIHhtbFhQYXRoT2JqZWN0UHRyIGFyZzEsIGFyZzIsIGFyZ3RtcDsKKyAgICBpbnQgcmV0ID0gMDsKKworICAgIGlmICgoY3R4dCA9PSBOVUxMKSB8fCAoY3R4dC0+Y29udGV4dCA9PSBOVUxMKSkgcmV0dXJuKDApOworICAgIGFyZzIgPSB2YWx1ZVBvcChjdHh0KTsKKyAgICBhcmcxID0gdmFsdWVQb3AoY3R4dCk7CisgICAgaWYgKChhcmcxID09IE5VTEwpIHx8IChhcmcyID09IE5VTEwpKSB7CisJaWYgKGFyZzEgIT0gTlVMTCkKKwkgICAgeG1sWFBhdGhSZWxlYXNlT2JqZWN0KGN0eHQtPmNvbnRleHQsIGFyZzEpOworCWVsc2UKKwkgICAgeG1sWFBhdGhSZWxlYXNlT2JqZWN0KGN0eHQtPmNvbnRleHQsIGFyZzIpOworCVhQX0VSUk9SMChYUEFUSF9JTlZBTElEX09QRVJBTkQpOworICAgIH0KKworICAgIGlmIChhcmcxID09IGFyZzIpIHsKKyNpZmRlZiBERUJVR19FWFBSCisgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkiTm90RXF1YWw6IGJ5IHBvaW50ZXJcbiIpOworI2VuZGlmCisJeG1sWFBhdGhSZWxlYXNlT2JqZWN0KGN0eHQtPmNvbnRleHQsIGFyZzEpOworICAgICAgICByZXR1cm4oMCk7CisgICAgfQorCisgICAgLyoKKyAgICAgKklmIGVpdGhlciBhcmd1bWVudCBpcyBhIG5vZGVzZXQsIGl0J3MgYSAnc3BlY2lhbCBjYXNlJworICAgICAqLworICAgIGlmICgoYXJnMi0+dHlwZSA9PSBYUEFUSF9OT0RFU0VUKSB8fCAoYXJnMi0+dHlwZSA9PSBYUEFUSF9YU0xUX1RSRUUpIHx8CisgICAgICAoYXJnMS0+dHlwZSA9PSBYUEFUSF9OT0RFU0VUKSB8fCAoYXJnMS0+dHlwZSA9PSBYUEFUSF9YU0xUX1RSRUUpKSB7CisJLyoKKwkgKkhhY2sgaXQgdG8gYXNzdXJlIGFyZzEgaXMgdGhlIG5vZGVzZXQKKwkgKi8KKwlpZiAoKGFyZzEtPnR5cGUgIT0gWFBBVEhfTk9ERVNFVCkgJiYgKGFyZzEtPnR5cGUgIT0gWFBBVEhfWFNMVF9UUkVFKSkgeworCQlhcmd0bXAgPSBhcmcyOworCQlhcmcyID0gYXJnMTsKKwkJYXJnMSA9IGFyZ3RtcDsKKwl9CisJc3dpdGNoIChhcmcyLT50eXBlKSB7CisJICAgIGNhc2UgWFBBVEhfVU5ERUZJTkVEOgorI2lmZGVmIERFQlVHX0VYUFIKKwkJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCQkiTm90RXF1YWw6IHVuZGVmaW5lZFxuIik7CisjZW5kaWYKKwkJYnJlYWs7CisJICAgIGNhc2UgWFBBVEhfTk9ERVNFVDoKKwkgICAgY2FzZSBYUEFUSF9YU0xUX1RSRUU6CisJCXJldCA9IHhtbFhQYXRoRXF1YWxOb2RlU2V0cyhhcmcxLCBhcmcyLCAxKTsKKwkJYnJlYWs7CisJICAgIGNhc2UgWFBBVEhfQk9PTEVBTjoKKwkJaWYgKChhcmcxLT5ub2Rlc2V0dmFsID09IE5VTEwpIHx8CisJCSAgKGFyZzEtPm5vZGVzZXR2YWwtPm5vZGVOciA9PSAwKSkgcmV0ID0gMDsKKwkJZWxzZQorCQkgICAgcmV0ID0gMTsKKwkJcmV0ID0gKHJldCAhPSBhcmcyLT5ib29sdmFsKTsKKwkJYnJlYWs7CisJICAgIGNhc2UgWFBBVEhfTlVNQkVSOgorCQlyZXQgPSB4bWxYUGF0aEVxdWFsTm9kZVNldEZsb2F0KGN0eHQsIGFyZzEsIGFyZzItPmZsb2F0dmFsLCAxKTsKKwkJYnJlYWs7CisJICAgIGNhc2UgWFBBVEhfU1RSSU5HOgorCQlyZXQgPSB4bWxYUGF0aEVxdWFsTm9kZVNldFN0cmluZyhhcmcxLCBhcmcyLT5zdHJpbmd2YWwsMSk7CisJCWJyZWFrOworCSAgICBjYXNlIFhQQVRIX1VTRVJTOgorCSAgICBjYXNlIFhQQVRIX1BPSU5UOgorCSAgICBjYXNlIFhQQVRIX1JBTkdFOgorCSAgICBjYXNlIFhQQVRIX0xPQ0FUSU9OU0VUOgorCQlUT0RPCisJCWJyZWFrOworCX0KKwl4bWxYUGF0aFJlbGVhc2VPYmplY3QoY3R4dC0+Y29udGV4dCwgYXJnMSk7CisJeG1sWFBhdGhSZWxlYXNlT2JqZWN0KGN0eHQtPmNvbnRleHQsIGFyZzIpOworCXJldHVybihyZXQpOworICAgIH0KKworICAgIHJldHVybiAoIXhtbFhQYXRoRXF1YWxWYWx1ZXNDb21tb24oY3R4dCwgYXJnMSwgYXJnMikpOworfQorCisvKioKKyAqIHhtbFhQYXRoQ29tcGFyZVZhbHVlczoKKyAqIEBjdHh0OiAgdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0CisgKiBAaW5mOiAgbGVzcyB0aGFuICgxKSBvciBncmVhdGVyIHRoYW4gKDApCisgKiBAc3RyaWN0OiAgaXMgdGhlIGNvbXBhcmlzb24gc3RyaWN0CisgKgorICogSW1wbGVtZW50IHRoZSBjb21wYXJlIG9wZXJhdGlvbiBvbiBYUGF0aCBvYmplY3RzOgorICogICAgIEBhcmcxIDwgQGFyZzIgICAgKDEsIDEsIC4uLgorICogICAgIEBhcmcxIDw9IEBhcmcyICAgKDEsIDAsIC4uLgorICogICAgIEBhcmcxID4gQGFyZzIgICAgKDAsIDEsIC4uLgorICogICAgIEBhcmcxID49IEBhcmcyICAgKDAsIDAsIC4uLgorICoKKyAqIFdoZW4gbmVpdGhlciBvYmplY3QgdG8gYmUgY29tcGFyZWQgaXMgYSBub2RlLXNldCBhbmQgdGhlIG9wZXJhdG9yIGlzCisgKiA8PSwgPCwgPj0sID4sIHRoZW4gdGhlIG9iamVjdHMgYXJlIGNvbXBhcmVkIGJ5IGNvbnZlcnRlZCBib3RoIG9iamVjdHMKKyAqIHRvIG51bWJlcnMgYW5kIGNvbXBhcmluZyB0aGUgbnVtYmVycyBhY2NvcmRpbmcgdG8gSUVFRSA3NTQuIFRoZSA8CisgKiBjb21wYXJpc29uIHdpbGwgYmUgdHJ1ZSBpZiBhbmQgb25seSBpZiB0aGUgZmlyc3QgbnVtYmVyIGlzIGxlc3MgdGhhbiB0aGUKKyAqIHNlY29uZCBudW1iZXIuIFRoZSA8PSBjb21wYXJpc29uIHdpbGwgYmUgdHJ1ZSBpZiBhbmQgb25seSBpZiB0aGUgZmlyc3QKKyAqIG51bWJlciBpcyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gdGhlIHNlY29uZCBudW1iZXIuIFRoZSA+IGNvbXBhcmlzb24KKyAqIHdpbGwgYmUgdHJ1ZSBpZiBhbmQgb25seSBpZiB0aGUgZmlyc3QgbnVtYmVyIGlzIGdyZWF0ZXIgdGhhbiB0aGUgc2Vjb25kCisgKiBudW1iZXIuIFRoZSA+PSBjb21wYXJpc29uIHdpbGwgYmUgdHJ1ZSBpZiBhbmQgb25seSBpZiB0aGUgZmlyc3QgbnVtYmVyCisgKiBpcyBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gdGhlIHNlY29uZCBudW1iZXIuCisgKgorICogUmV0dXJucyAxIGlmIHRoZSBjb21wYXJpc29uIHN1Y2NlZWRlZCwgMCBpZiBpdCBmYWlsZWQKKyAqLworaW50Cit4bWxYUGF0aENvbXBhcmVWYWx1ZXMoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQsIGludCBpbmYsIGludCBzdHJpY3QpIHsKKyAgICBpbnQgcmV0ID0gMCwgYXJnMWkgPSAwLCBhcmcyaSA9IDA7CisgICAgeG1sWFBhdGhPYmplY3RQdHIgYXJnMSwgYXJnMjsKKworICAgIGlmICgoY3R4dCA9PSBOVUxMKSB8fCAoY3R4dC0+Y29udGV4dCA9PSBOVUxMKSkgcmV0dXJuKDApOworICAgIGFyZzIgPSB2YWx1ZVBvcChjdHh0KTsKKyAgICBhcmcxID0gdmFsdWVQb3AoY3R4dCk7CisgICAgaWYgKChhcmcxID09IE5VTEwpIHx8IChhcmcyID09IE5VTEwpKSB7CisJaWYgKGFyZzEgIT0gTlVMTCkKKwkgICAgeG1sWFBhdGhSZWxlYXNlT2JqZWN0KGN0eHQtPmNvbnRleHQsIGFyZzEpOworCWVsc2UKKwkgICAgeG1sWFBhdGhSZWxlYXNlT2JqZWN0KGN0eHQtPmNvbnRleHQsIGFyZzIpOworCVhQX0VSUk9SMChYUEFUSF9JTlZBTElEX09QRVJBTkQpOworICAgIH0KKworICAgIGlmICgoYXJnMi0+dHlwZSA9PSBYUEFUSF9OT0RFU0VUKSB8fCAoYXJnMi0+dHlwZSA9PSBYUEFUSF9YU0xUX1RSRUUpIHx8CisgICAgICAoYXJnMS0+dHlwZSA9PSBYUEFUSF9OT0RFU0VUKSB8fCAoYXJnMS0+dHlwZSA9PSBYUEFUSF9YU0xUX1RSRUUpKSB7CisJLyoKKwkgKiBJZiBlaXRoZXIgYXJndW1lbnQgaXMgYSBYUEFUSF9OT0RFU0VUIG9yIFhQQVRIX1hTTFRfVFJFRSB0aGUgdHdvIGFyZ3VtZW50cworCSAqIGFyZSBub3QgZnJlZWQgZnJvbSB3aXRoaW4gdGhpcyByb3V0aW5lOyB0aGV5IHdpbGwgYmUgZnJlZWQgZnJvbSB0aGUKKwkgKiBjYWxsZWQgcm91dGluZSwgZS5nLiB4bWxYUGF0aENvbXBhcmVOb2RlU2V0cyBvciB4bWxYUGF0aENvbXBhcmVOb2RlU2V0VmFsdWUKKwkgKi8KKwlpZiAoKChhcmcyLT50eXBlID09IFhQQVRIX05PREVTRVQpIHx8IChhcmcyLT50eXBlID09IFhQQVRIX1hTTFRfVFJFRSkpICYmCisJICAoKGFyZzEtPnR5cGUgPT0gWFBBVEhfTk9ERVNFVCkgfHwgKGFyZzEtPnR5cGUgPT0gWFBBVEhfWFNMVF9UUkVFKSkpeworCSAgICByZXQgPSB4bWxYUGF0aENvbXBhcmVOb2RlU2V0cyhpbmYsIHN0cmljdCwgYXJnMSwgYXJnMik7CisJfSBlbHNlIHsKKwkgICAgaWYgKChhcmcxLT50eXBlID09IFhQQVRIX05PREVTRVQpIHx8IChhcmcxLT50eXBlID09IFhQQVRIX1hTTFRfVFJFRSkpIHsKKwkJcmV0ID0geG1sWFBhdGhDb21wYXJlTm9kZVNldFZhbHVlKGN0eHQsIGluZiwgc3RyaWN0LAorCQkJICAgICAgICAgICAgICAgICAgICAgICAgICBhcmcxLCBhcmcyKTsKKwkgICAgfSBlbHNlIHsKKwkJcmV0ID0geG1sWFBhdGhDb21wYXJlTm9kZVNldFZhbHVlKGN0eHQsICFpbmYsIHN0cmljdCwKKwkJCSAgICAgICAgICAgICAgICAgICAgICAgICAgYXJnMiwgYXJnMSk7CisJICAgIH0KKwl9CisJcmV0dXJuKHJldCk7CisgICAgfQorCisgICAgaWYgKGFyZzEtPnR5cGUgIT0gWFBBVEhfTlVNQkVSKSB7CisJdmFsdWVQdXNoKGN0eHQsIGFyZzEpOworCXhtbFhQYXRoTnVtYmVyRnVuY3Rpb24oY3R4dCwgMSk7CisJYXJnMSA9IHZhbHVlUG9wKGN0eHQpOworICAgIH0KKyAgICBpZiAoYXJnMS0+dHlwZSAhPSBYUEFUSF9OVU1CRVIpIHsKKwl4bWxYUGF0aEZyZWVPYmplY3QoYXJnMSk7CisJeG1sWFBhdGhGcmVlT2JqZWN0KGFyZzIpOworCVhQX0VSUk9SMChYUEFUSF9JTlZBTElEX09QRVJBTkQpOworICAgIH0KKyAgICBpZiAoYXJnMi0+dHlwZSAhPSBYUEFUSF9OVU1CRVIpIHsKKwl2YWx1ZVB1c2goY3R4dCwgYXJnMik7CisJeG1sWFBhdGhOdW1iZXJGdW5jdGlvbihjdHh0LCAxKTsKKwlhcmcyID0gdmFsdWVQb3AoY3R4dCk7CisgICAgfQorICAgIGlmIChhcmcyLT50eXBlICE9IFhQQVRIX05VTUJFUikgeworCXhtbFhQYXRoUmVsZWFzZU9iamVjdChjdHh0LT5jb250ZXh0LCBhcmcxKTsKKwl4bWxYUGF0aFJlbGVhc2VPYmplY3QoY3R4dC0+Y29udGV4dCwgYXJnMik7CisJWFBfRVJST1IwKFhQQVRIX0lOVkFMSURfT1BFUkFORCk7CisgICAgfQorICAgIC8qCisgICAgICogQWRkIHRlc3RzIGZvciBpbmZpbml0eSBhbmQgbmFuCisgICAgICogPT4gZmVlZGJhY2sgb24gMy40IGZvciBJbmYgYW5kIE5hTgorICAgICAqLworICAgIC8qIEhhbmQgY2hlY2sgTmFOIGFuZCBJbmZpbml0eSBjb21wYXJpc29ucyAqLworICAgIGlmICh4bWxYUGF0aElzTmFOKGFyZzEtPmZsb2F0dmFsKSB8fCB4bWxYUGF0aElzTmFOKGFyZzItPmZsb2F0dmFsKSkgeworCXJldD0wOworICAgIH0gZWxzZSB7CisJYXJnMWk9eG1sWFBhdGhJc0luZihhcmcxLT5mbG9hdHZhbCk7CisJYXJnMmk9eG1sWFBhdGhJc0luZihhcmcyLT5mbG9hdHZhbCk7CisJaWYgKGluZiAmJiBzdHJpY3QpIHsKKwkgICAgaWYgKChhcmcxaSA9PSAtMSAmJiBhcmcyaSAhPSAtMSkgfHwKKwkJKGFyZzJpID09IDEgJiYgYXJnMWkgIT0gMSkpIHsKKwkJcmV0ID0gMTsKKwkgICAgfSBlbHNlIGlmIChhcmcxaSA9PSAwICYmIGFyZzJpID09IDApIHsKKwkJcmV0ID0gKGFyZzEtPmZsb2F0dmFsIDwgYXJnMi0+ZmxvYXR2YWwpOworCSAgICB9IGVsc2UgeworCQlyZXQgPSAwOworCSAgICB9CisJfQorCWVsc2UgaWYgKGluZiAmJiAhc3RyaWN0KSB7CisJICAgIGlmIChhcmcxaSA9PSAtMSB8fCBhcmcyaSA9PSAxKSB7CisJCXJldCA9IDE7CisJICAgIH0gZWxzZSBpZiAoYXJnMWkgPT0gMCAmJiBhcmcyaSA9PSAwKSB7CisJCXJldCA9IChhcmcxLT5mbG9hdHZhbCA8PSBhcmcyLT5mbG9hdHZhbCk7CisJICAgIH0gZWxzZSB7CisJCXJldCA9IDA7CisJICAgIH0KKwl9CisJZWxzZSBpZiAoIWluZiAmJiBzdHJpY3QpIHsKKwkgICAgaWYgKChhcmcxaSA9PSAxICYmIGFyZzJpICE9IDEpIHx8CisJCShhcmcyaSA9PSAtMSAmJiBhcmcxaSAhPSAtMSkpIHsKKwkJcmV0ID0gMTsKKwkgICAgfSBlbHNlIGlmIChhcmcxaSA9PSAwICYmIGFyZzJpID09IDApIHsKKwkJcmV0ID0gKGFyZzEtPmZsb2F0dmFsID4gYXJnMi0+ZmxvYXR2YWwpOworCSAgICB9IGVsc2UgeworCQlyZXQgPSAwOworCSAgICB9CisJfQorCWVsc2UgaWYgKCFpbmYgJiYgIXN0cmljdCkgeworCSAgICBpZiAoYXJnMWkgPT0gMSB8fCBhcmcyaSA9PSAtMSkgeworCQlyZXQgPSAxOworCSAgICB9IGVsc2UgaWYgKGFyZzFpID09IDAgJiYgYXJnMmkgPT0gMCkgeworCQlyZXQgPSAoYXJnMS0+ZmxvYXR2YWwgPj0gYXJnMi0+ZmxvYXR2YWwpOworCSAgICB9IGVsc2UgeworCQlyZXQgPSAwOworCSAgICB9CisJfQorICAgIH0KKyAgICB4bWxYUGF0aFJlbGVhc2VPYmplY3QoY3R4dC0+Y29udGV4dCwgYXJnMSk7CisgICAgeG1sWFBhdGhSZWxlYXNlT2JqZWN0KGN0eHQtPmNvbnRleHQsIGFyZzIpOworICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbFhQYXRoVmFsdWVGbGlwU2lnbjoKKyAqIEBjdHh0OiAgdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0CisgKgorICogSW1wbGVtZW50IHRoZSB1bmFyeSAtIG9wZXJhdGlvbiBvbiBhbiBYUGF0aCBvYmplY3QKKyAqIFRoZSBudW1lcmljIG9wZXJhdG9ycyBjb252ZXJ0IHRoZWlyIG9wZXJhbmRzIHRvIG51bWJlcnMgYXMgaWYKKyAqIGJ5IGNhbGxpbmcgdGhlIG51bWJlciBmdW5jdGlvbi4KKyAqLwordm9pZAoreG1sWFBhdGhWYWx1ZUZsaXBTaWduKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0KSB7CisgICAgaWYgKChjdHh0ID09IE5VTEwpIHx8IChjdHh0LT5jb250ZXh0ID09IE5VTEwpKSByZXR1cm47CisgICAgQ0FTVF9UT19OVU1CRVI7CisgICAgQ0hFQ0tfVFlQRShYUEFUSF9OVU1CRVIpOworICAgIGlmICh4bWxYUGF0aElzTmFOKGN0eHQtPnZhbHVlLT5mbG9hdHZhbCkpCisgICAgICAgIGN0eHQtPnZhbHVlLT5mbG9hdHZhbD14bWxYUGF0aE5BTjsKKyAgICBlbHNlIGlmICh4bWxYUGF0aElzSW5mKGN0eHQtPnZhbHVlLT5mbG9hdHZhbCkgPT0gMSkKKyAgICAgICAgY3R4dC0+dmFsdWUtPmZsb2F0dmFsPXhtbFhQYXRoTklORjsKKyAgICBlbHNlIGlmICh4bWxYUGF0aElzSW5mKGN0eHQtPnZhbHVlLT5mbG9hdHZhbCkgPT0gLTEpCisgICAgICAgIGN0eHQtPnZhbHVlLT5mbG9hdHZhbD14bWxYUGF0aFBJTkY7CisgICAgZWxzZSBpZiAoY3R4dC0+dmFsdWUtPmZsb2F0dmFsID09IDApIHsKKyAgICAgICAgaWYgKHhtbFhQYXRoR2V0U2lnbihjdHh0LT52YWx1ZS0+ZmxvYXR2YWwpID09IDApCisJICAgIGN0eHQtPnZhbHVlLT5mbG9hdHZhbCA9IHhtbFhQYXRoTlpFUk87CisJZWxzZQorCSAgICBjdHh0LT52YWx1ZS0+ZmxvYXR2YWwgPSAwOworICAgIH0KKyAgICBlbHNlCisgICAgICAgIGN0eHQtPnZhbHVlLT5mbG9hdHZhbCA9IC0gY3R4dC0+dmFsdWUtPmZsb2F0dmFsOworfQorCisvKioKKyAqIHhtbFhQYXRoQWRkVmFsdWVzOgorICogQGN0eHQ6ICB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQKKyAqCisgKiBJbXBsZW1lbnQgdGhlIGFkZCBvcGVyYXRpb24gb24gWFBhdGggb2JqZWN0czoKKyAqIFRoZSBudW1lcmljIG9wZXJhdG9ycyBjb252ZXJ0IHRoZWlyIG9wZXJhbmRzIHRvIG51bWJlcnMgYXMgaWYKKyAqIGJ5IGNhbGxpbmcgdGhlIG51bWJlciBmdW5jdGlvbi4KKyAqLwordm9pZAoreG1sWFBhdGhBZGRWYWx1ZXMoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQpIHsKKyAgICB4bWxYUGF0aE9iamVjdFB0ciBhcmc7CisgICAgZG91YmxlIHZhbDsKKworICAgIGFyZyA9IHZhbHVlUG9wKGN0eHQpOworICAgIGlmIChhcmcgPT0gTlVMTCkKKwlYUF9FUlJPUihYUEFUSF9JTlZBTElEX09QRVJBTkQpOworICAgIHZhbCA9IHhtbFhQYXRoQ2FzdFRvTnVtYmVyKGFyZyk7CisgICAgeG1sWFBhdGhSZWxlYXNlT2JqZWN0KGN0eHQtPmNvbnRleHQsIGFyZyk7CisgICAgQ0FTVF9UT19OVU1CRVI7CisgICAgQ0hFQ0tfVFlQRShYUEFUSF9OVU1CRVIpOworICAgIGN0eHQtPnZhbHVlLT5mbG9hdHZhbCArPSB2YWw7Cit9CisKKy8qKgorICogeG1sWFBhdGhTdWJWYWx1ZXM6CisgKiBAY3R4dDogIHRoZSBYUGF0aCBQYXJzZXIgY29udGV4dAorICoKKyAqIEltcGxlbWVudCB0aGUgc3VidHJhY3Rpb24gb3BlcmF0aW9uIG9uIFhQYXRoIG9iamVjdHM6CisgKiBUaGUgbnVtZXJpYyBvcGVyYXRvcnMgY29udmVydCB0aGVpciBvcGVyYW5kcyB0byBudW1iZXJzIGFzIGlmCisgKiBieSBjYWxsaW5nIHRoZSBudW1iZXIgZnVuY3Rpb24uCisgKi8KK3ZvaWQKK3htbFhQYXRoU3ViVmFsdWVzKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0KSB7CisgICAgeG1sWFBhdGhPYmplY3RQdHIgYXJnOworICAgIGRvdWJsZSB2YWw7CisKKyAgICBhcmcgPSB2YWx1ZVBvcChjdHh0KTsKKyAgICBpZiAoYXJnID09IE5VTEwpCisJWFBfRVJST1IoWFBBVEhfSU5WQUxJRF9PUEVSQU5EKTsKKyAgICB2YWwgPSB4bWxYUGF0aENhc3RUb051bWJlcihhcmcpOworICAgIHhtbFhQYXRoUmVsZWFzZU9iamVjdChjdHh0LT5jb250ZXh0LCBhcmcpOworICAgIENBU1RfVE9fTlVNQkVSOworICAgIENIRUNLX1RZUEUoWFBBVEhfTlVNQkVSKTsKKyAgICBjdHh0LT52YWx1ZS0+ZmxvYXR2YWwgLT0gdmFsOworfQorCisvKioKKyAqIHhtbFhQYXRoTXVsdFZhbHVlczoKKyAqIEBjdHh0OiAgdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0CisgKgorICogSW1wbGVtZW50IHRoZSBtdWx0aXBseSBvcGVyYXRpb24gb24gWFBhdGggb2JqZWN0czoKKyAqIFRoZSBudW1lcmljIG9wZXJhdG9ycyBjb252ZXJ0IHRoZWlyIG9wZXJhbmRzIHRvIG51bWJlcnMgYXMgaWYKKyAqIGJ5IGNhbGxpbmcgdGhlIG51bWJlciBmdW5jdGlvbi4KKyAqLwordm9pZAoreG1sWFBhdGhNdWx0VmFsdWVzKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0KSB7CisgICAgeG1sWFBhdGhPYmplY3RQdHIgYXJnOworICAgIGRvdWJsZSB2YWw7CisKKyAgICBhcmcgPSB2YWx1ZVBvcChjdHh0KTsKKyAgICBpZiAoYXJnID09IE5VTEwpCisJWFBfRVJST1IoWFBBVEhfSU5WQUxJRF9PUEVSQU5EKTsKKyAgICB2YWwgPSB4bWxYUGF0aENhc3RUb051bWJlcihhcmcpOworICAgIHhtbFhQYXRoUmVsZWFzZU9iamVjdChjdHh0LT5jb250ZXh0LCBhcmcpOworICAgIENBU1RfVE9fTlVNQkVSOworICAgIENIRUNLX1RZUEUoWFBBVEhfTlVNQkVSKTsKKyAgICBjdHh0LT52YWx1ZS0+ZmxvYXR2YWwgKj0gdmFsOworfQorCisvKioKKyAqIHhtbFhQYXRoRGl2VmFsdWVzOgorICogQGN0eHQ6ICB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQKKyAqCisgKiBJbXBsZW1lbnQgdGhlIGRpdiBvcGVyYXRpb24gb24gWFBhdGggb2JqZWN0cyBAYXJnMSAvIEBhcmcyOgorICogVGhlIG51bWVyaWMgb3BlcmF0b3JzIGNvbnZlcnQgdGhlaXIgb3BlcmFuZHMgdG8gbnVtYmVycyBhcyBpZgorICogYnkgY2FsbGluZyB0aGUgbnVtYmVyIGZ1bmN0aW9uLgorICovCit2b2lkCit4bWxYUGF0aERpdlZhbHVlcyh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCkgeworICAgIHhtbFhQYXRoT2JqZWN0UHRyIGFyZzsKKyAgICBkb3VibGUgdmFsOworCisgICAgYXJnID0gdmFsdWVQb3AoY3R4dCk7CisgICAgaWYgKGFyZyA9PSBOVUxMKQorCVhQX0VSUk9SKFhQQVRIX0lOVkFMSURfT1BFUkFORCk7CisgICAgdmFsID0geG1sWFBhdGhDYXN0VG9OdW1iZXIoYXJnKTsKKyAgICB4bWxYUGF0aFJlbGVhc2VPYmplY3QoY3R4dC0+Y29udGV4dCwgYXJnKTsKKyAgICBDQVNUX1RPX05VTUJFUjsKKyAgICBDSEVDS19UWVBFKFhQQVRIX05VTUJFUik7CisgICAgaWYgKHhtbFhQYXRoSXNOYU4odmFsKSB8fCB4bWxYUGF0aElzTmFOKGN0eHQtPnZhbHVlLT5mbG9hdHZhbCkpCisJY3R4dC0+dmFsdWUtPmZsb2F0dmFsID0geG1sWFBhdGhOQU47CisgICAgZWxzZSBpZiAodmFsID09IDAgJiYgeG1sWFBhdGhHZXRTaWduKHZhbCkgIT0gMCkgeworCWlmIChjdHh0LT52YWx1ZS0+ZmxvYXR2YWwgPT0gMCkKKwkgICAgY3R4dC0+dmFsdWUtPmZsb2F0dmFsID0geG1sWFBhdGhOQU47CisJZWxzZSBpZiAoY3R4dC0+dmFsdWUtPmZsb2F0dmFsID4gMCkKKwkgICAgY3R4dC0+dmFsdWUtPmZsb2F0dmFsID0geG1sWFBhdGhOSU5GOworCWVsc2UgaWYgKGN0eHQtPnZhbHVlLT5mbG9hdHZhbCA8IDApCisJICAgIGN0eHQtPnZhbHVlLT5mbG9hdHZhbCA9IHhtbFhQYXRoUElORjsKKyAgICB9CisgICAgZWxzZSBpZiAodmFsID09IDApIHsKKwlpZiAoY3R4dC0+dmFsdWUtPmZsb2F0dmFsID09IDApCisJICAgIGN0eHQtPnZhbHVlLT5mbG9hdHZhbCA9IHhtbFhQYXRoTkFOOworCWVsc2UgaWYgKGN0eHQtPnZhbHVlLT5mbG9hdHZhbCA+IDApCisJICAgIGN0eHQtPnZhbHVlLT5mbG9hdHZhbCA9IHhtbFhQYXRoUElORjsKKwllbHNlIGlmIChjdHh0LT52YWx1ZS0+ZmxvYXR2YWwgPCAwKQorCSAgICBjdHh0LT52YWx1ZS0+ZmxvYXR2YWwgPSB4bWxYUGF0aE5JTkY7CisgICAgfSBlbHNlCisJY3R4dC0+dmFsdWUtPmZsb2F0dmFsIC89IHZhbDsKK30KKworLyoqCisgKiB4bWxYUGF0aE1vZFZhbHVlczoKKyAqIEBjdHh0OiAgdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0CisgKgorICogSW1wbGVtZW50IHRoZSBtb2Qgb3BlcmF0aW9uIG9uIFhQYXRoIG9iamVjdHM6IEBhcmcxIC8gQGFyZzIKKyAqIFRoZSBudW1lcmljIG9wZXJhdG9ycyBjb252ZXJ0IHRoZWlyIG9wZXJhbmRzIHRvIG51bWJlcnMgYXMgaWYKKyAqIGJ5IGNhbGxpbmcgdGhlIG51bWJlciBmdW5jdGlvbi4KKyAqLwordm9pZAoreG1sWFBhdGhNb2RWYWx1ZXMoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQpIHsKKyAgICB4bWxYUGF0aE9iamVjdFB0ciBhcmc7CisgICAgZG91YmxlIGFyZzEsIGFyZzI7CisKKyAgICBhcmcgPSB2YWx1ZVBvcChjdHh0KTsKKyAgICBpZiAoYXJnID09IE5VTEwpCisJWFBfRVJST1IoWFBBVEhfSU5WQUxJRF9PUEVSQU5EKTsKKyAgICBhcmcyID0geG1sWFBhdGhDYXN0VG9OdW1iZXIoYXJnKTsKKyAgICB4bWxYUGF0aFJlbGVhc2VPYmplY3QoY3R4dC0+Y29udGV4dCwgYXJnKTsKKyAgICBDQVNUX1RPX05VTUJFUjsKKyAgICBDSEVDS19UWVBFKFhQQVRIX05VTUJFUik7CisgICAgYXJnMSA9IGN0eHQtPnZhbHVlLT5mbG9hdHZhbDsKKyAgICBpZiAoYXJnMiA9PSAwKQorCWN0eHQtPnZhbHVlLT5mbG9hdHZhbCA9IHhtbFhQYXRoTkFOOworICAgIGVsc2UgeworCWN0eHQtPnZhbHVlLT5mbG9hdHZhbCA9IGZtb2QoYXJnMSwgYXJnMik7CisgICAgfQorfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQlUaGUgdHJhdmVyc2FsIGZ1bmN0aW9ucwkJCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKgorICogQSB0cmF2ZXJzYWwgZnVuY3Rpb24gZW51bWVyYXRlcyBub2RlcyBhbG9uZyBhbiBheGlzLgorICogSW5pdGlhbGx5IGl0IG11c3QgYmUgY2FsbGVkIHdpdGggTlVMTCwgYW5kIGl0IGluZGljYXRlcworICogdGVybWluYXRpb24gb24gdGhlIGF4aXMgYnkgcmV0dXJuaW5nIE5VTEwuCisgKi8KK3R5cGVkZWYgeG1sTm9kZVB0ciAoKnhtbFhQYXRoVHJhdmVyc2FsRnVuY3Rpb24pCisgICAgICAgICAgICAgICAgICAgICh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCwgeG1sTm9kZVB0ciBjdXIpOworCisvKgorICogeG1sWFBhdGhUcmF2ZXJzYWxGdW5jdGlvbkV4dDoKKyAqIEEgdHJhdmVyc2FsIGZ1bmN0aW9uIGVudW1lcmF0ZXMgbm9kZXMgYWxvbmcgYW4gYXhpcy4KKyAqIEluaXRpYWxseSBpdCBtdXN0IGJlIGNhbGxlZCB3aXRoIE5VTEwsIGFuZCBpdCBpbmRpY2F0ZXMKKyAqIHRlcm1pbmF0aW9uIG9uIHRoZSBheGlzIGJ5IHJldHVybmluZyBOVUxMLgorICogVGhlIGNvbnRleHQgbm9kZSBvZiB0aGUgdHJhdmVyc2FsIGlzIHNwZWNpZmllZCB2aWEgQGNvbnRleHROb2RlLgorICovCit0eXBlZGVmIHhtbE5vZGVQdHIgKCp4bWxYUGF0aFRyYXZlcnNhbEZ1bmN0aW9uRXh0KQorICAgICAgICAgICAgICAgICAgICAoeG1sTm9kZVB0ciBjdXIsIHhtbE5vZGVQdHIgY29udGV4dE5vZGUpOworCisvKgorICogeG1sWFBhdGhOb2RlU2V0TWVyZ2VGdW5jdGlvbjoKKyAqIFVzZWQgZm9yIG1lcmdpbmcgbm9kZSBzZXRzIGluIHhtbFhQYXRoQ29sbGVjdEFuZFRlc3QoKS4KKyAqLwordHlwZWRlZiB4bWxOb2RlU2V0UHRyICgqeG1sWFBhdGhOb2RlU2V0TWVyZ2VGdW5jdGlvbikKKwkJICAgICh4bWxOb2RlU2V0UHRyLCB4bWxOb2RlU2V0UHRyLCBpbnQpOworCisKKy8qKgorICogeG1sWFBhdGhOZXh0U2VsZjoKKyAqIEBjdHh0OiAgdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0CisgKiBAY3VyOiAgdGhlIGN1cnJlbnQgbm9kZSBpbiB0aGUgdHJhdmVyc2FsCisgKgorICogVHJhdmVyc2FsIGZ1bmN0aW9uIGZvciB0aGUgInNlbGYiIGRpcmVjdGlvbgorICogVGhlIHNlbGYgYXhpcyBjb250YWlucyBqdXN0IHRoZSBjb250ZXh0IG5vZGUgaXRzZWxmCisgKgorICogUmV0dXJucyB0aGUgbmV4dCBlbGVtZW50IGZvbGxvd2luZyB0aGF0IGF4aXMKKyAqLworeG1sTm9kZVB0cgoreG1sWFBhdGhOZXh0U2VsZih4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCwgeG1sTm9kZVB0ciBjdXIpIHsKKyAgICBpZiAoKGN0eHQgPT0gTlVMTCkgfHwgKGN0eHQtPmNvbnRleHQgPT0gTlVMTCkpIHJldHVybihOVUxMKTsKKyAgICBpZiAoY3VyID09IE5VTEwpCisgICAgICAgIHJldHVybihjdHh0LT5jb250ZXh0LT5ub2RlKTsKKyAgICByZXR1cm4oTlVMTCk7Cit9CisKKy8qKgorICogeG1sWFBhdGhOZXh0Q2hpbGQ6CisgKiBAY3R4dDogIHRoZSBYUGF0aCBQYXJzZXIgY29udGV4dAorICogQGN1cjogIHRoZSBjdXJyZW50IG5vZGUgaW4gdGhlIHRyYXZlcnNhbAorICoKKyAqIFRyYXZlcnNhbCBmdW5jdGlvbiBmb3IgdGhlICJjaGlsZCIgZGlyZWN0aW9uCisgKiBUaGUgY2hpbGQgYXhpcyBjb250YWlucyB0aGUgY2hpbGRyZW4gb2YgdGhlIGNvbnRleHQgbm9kZSBpbiBkb2N1bWVudCBvcmRlci4KKyAqCisgKiBSZXR1cm5zIHRoZSBuZXh0IGVsZW1lbnQgZm9sbG93aW5nIHRoYXQgYXhpcworICovCit4bWxOb2RlUHRyCit4bWxYUGF0aE5leHRDaGlsZCh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCwgeG1sTm9kZVB0ciBjdXIpIHsKKyAgICBpZiAoKGN0eHQgPT0gTlVMTCkgfHwgKGN0eHQtPmNvbnRleHQgPT0gTlVMTCkpIHJldHVybihOVUxMKTsKKyAgICBpZiAoY3VyID09IE5VTEwpIHsKKwlpZiAoY3R4dC0+Y29udGV4dC0+bm9kZSA9PSBOVUxMKSByZXR1cm4oTlVMTCk7CisJc3dpdGNoIChjdHh0LT5jb250ZXh0LT5ub2RlLT50eXBlKSB7CisgICAgICAgICAgICBjYXNlIFhNTF9FTEVNRU5UX05PREU6CisgICAgICAgICAgICBjYXNlIFhNTF9URVhUX05PREU6CisgICAgICAgICAgICBjYXNlIFhNTF9DREFUQV9TRUNUSU9OX05PREU6CisgICAgICAgICAgICBjYXNlIFhNTF9FTlRJVFlfUkVGX05PREU6CisgICAgICAgICAgICBjYXNlIFhNTF9FTlRJVFlfTk9ERToKKyAgICAgICAgICAgIGNhc2UgWE1MX1BJX05PREU6CisgICAgICAgICAgICBjYXNlIFhNTF9DT01NRU5UX05PREU6CisgICAgICAgICAgICBjYXNlIFhNTF9OT1RBVElPTl9OT0RFOgorICAgICAgICAgICAgY2FzZSBYTUxfRFREX05PREU6CisJCXJldHVybihjdHh0LT5jb250ZXh0LT5ub2RlLT5jaGlsZHJlbik7CisgICAgICAgICAgICBjYXNlIFhNTF9ET0NVTUVOVF9OT0RFOgorICAgICAgICAgICAgY2FzZSBYTUxfRE9DVU1FTlRfVFlQRV9OT0RFOgorICAgICAgICAgICAgY2FzZSBYTUxfRE9DVU1FTlRfRlJBR19OT0RFOgorICAgICAgICAgICAgY2FzZSBYTUxfSFRNTF9ET0NVTUVOVF9OT0RFOgorI2lmZGVmIExJQlhNTF9ET0NCX0VOQUJMRUQKKwkgICAgY2FzZSBYTUxfRE9DQl9ET0NVTUVOVF9OT0RFOgorI2VuZGlmCisJCXJldHVybigoKHhtbERvY1B0cikgY3R4dC0+Y29udGV4dC0+bm9kZSktPmNoaWxkcmVuKTsKKwkgICAgY2FzZSBYTUxfRUxFTUVOVF9ERUNMOgorCSAgICBjYXNlIFhNTF9BVFRSSUJVVEVfREVDTDoKKwkgICAgY2FzZSBYTUxfRU5USVRZX0RFQ0w6CisgICAgICAgICAgICBjYXNlIFhNTF9BVFRSSUJVVEVfTk9ERToKKwkgICAgY2FzZSBYTUxfTkFNRVNQQUNFX0RFQ0w6CisJICAgIGNhc2UgWE1MX1hJTkNMVURFX1NUQVJUOgorCSAgICBjYXNlIFhNTF9YSU5DTFVERV9FTkQ6CisJCXJldHVybihOVUxMKTsKKwl9CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBpZiAoKGN1ci0+dHlwZSA9PSBYTUxfRE9DVU1FTlRfTk9ERSkgfHwKKyAgICAgICAgKGN1ci0+dHlwZSA9PSBYTUxfSFRNTF9ET0NVTUVOVF9OT0RFKSkKKwlyZXR1cm4oTlVMTCk7CisgICAgcmV0dXJuKGN1ci0+bmV4dCk7Cit9CisKKy8qKgorICogeG1sWFBhdGhOZXh0Q2hpbGRFbGVtZW50OgorICogQGN0eHQ6ICB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQKKyAqIEBjdXI6ICB0aGUgY3VycmVudCBub2RlIGluIHRoZSB0cmF2ZXJzYWwKKyAqCisgKiBUcmF2ZXJzYWwgZnVuY3Rpb24gZm9yIHRoZSAiY2hpbGQiIGRpcmVjdGlvbiBhbmQgbm9kZXMgb2YgdHlwZSBlbGVtZW50LgorICogVGhlIGNoaWxkIGF4aXMgY29udGFpbnMgdGhlIGNoaWxkcmVuIG9mIHRoZSBjb250ZXh0IG5vZGUgaW4gZG9jdW1lbnQgb3JkZXIuCisgKgorICogUmV0dXJucyB0aGUgbmV4dCBlbGVtZW50IGZvbGxvd2luZyB0aGF0IGF4aXMKKyAqLworc3RhdGljIHhtbE5vZGVQdHIKK3htbFhQYXRoTmV4dENoaWxkRWxlbWVudCh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCwgeG1sTm9kZVB0ciBjdXIpIHsKKyAgICBpZiAoKGN0eHQgPT0gTlVMTCkgfHwgKGN0eHQtPmNvbnRleHQgPT0gTlVMTCkpIHJldHVybihOVUxMKTsKKyAgICBpZiAoY3VyID09IE5VTEwpIHsKKwljdXIgPSBjdHh0LT5jb250ZXh0LT5ub2RlOworCWlmIChjdXIgPT0gTlVMTCkgcmV0dXJuKE5VTEwpOworCS8qCisJKiBHZXQgdGhlIGZpcnN0IGVsZW1lbnQgY2hpbGQuCisJKi8KKwlzd2l0Y2ggKGN1ci0+dHlwZSkgeworICAgICAgICAgICAgY2FzZSBYTUxfRUxFTUVOVF9OT0RFOgorCSAgICBjYXNlIFhNTF9ET0NVTUVOVF9GUkFHX05PREU6CisJICAgIGNhc2UgWE1MX0VOVElUWV9SRUZfTk9ERTogLyogVVJHRU5UIFRPRE86IGVudGlmeS1yZWZzIGFzIHdlbGw/ICovCisgICAgICAgICAgICBjYXNlIFhNTF9FTlRJVFlfTk9ERToKKwkJY3VyID0gY3VyLT5jaGlsZHJlbjsKKwkJaWYgKGN1ciAhPSBOVUxMKSB7CisJCSAgICBpZiAoY3VyLT50eXBlID09IFhNTF9FTEVNRU5UX05PREUpCisJCQlyZXR1cm4oY3VyKTsKKwkJICAgIGRvIHsKKwkJCWN1ciA9IGN1ci0+bmV4dDsKKwkJICAgIH0gd2hpbGUgKChjdXIgIT0gTlVMTCkgJiYKKwkJCShjdXItPnR5cGUgIT0gWE1MX0VMRU1FTlRfTk9ERSkpOworCQkgICAgcmV0dXJuKGN1cik7CisJCX0KKwkJcmV0dXJuKE5VTEwpOworICAgICAgICAgICAgY2FzZSBYTUxfRE9DVU1FTlRfTk9ERToKKyAgICAgICAgICAgIGNhc2UgWE1MX0hUTUxfRE9DVU1FTlRfTk9ERToKKyNpZmRlZiBMSUJYTUxfRE9DQl9FTkFCTEVECisJICAgIGNhc2UgWE1MX0RPQ0JfRE9DVU1FTlRfTk9ERToKKyNlbmRpZgorCQlyZXR1cm4oeG1sRG9jR2V0Um9vdEVsZW1lbnQoKHhtbERvY1B0cikgY3VyKSk7CisJICAgIGRlZmF1bHQ6CisJCXJldHVybihOVUxMKTsKKwl9CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICAvKgorICAgICogR2V0IHRoZSBuZXh0IHNpYmxpbmcgZWxlbWVudCBub2RlLgorICAgICovCisgICAgc3dpdGNoIChjdXItPnR5cGUpIHsKKwljYXNlIFhNTF9FTEVNRU5UX05PREU6CisJY2FzZSBYTUxfVEVYVF9OT0RFOgorCWNhc2UgWE1MX0VOVElUWV9SRUZfTk9ERToKKwljYXNlIFhNTF9FTlRJVFlfTk9ERToKKwljYXNlIFhNTF9DREFUQV9TRUNUSU9OX05PREU6CisJY2FzZSBYTUxfUElfTk9ERToKKwljYXNlIFhNTF9DT01NRU5UX05PREU6CisJY2FzZSBYTUxfWElOQ0xVREVfRU5EOgorCSAgICBicmVhazsKKwkvKiBjYXNlIFhNTF9EVERfTk9ERTogKi8gLyogVVJHRU5UIFRPRE86IERURC1ub2RlIGFzIHdlbGw/ICovCisJZGVmYXVsdDoKKwkgICAgcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBpZiAoY3VyLT5uZXh0ICE9IE5VTEwpIHsKKwlpZiAoY3VyLT5uZXh0LT50eXBlID09IFhNTF9FTEVNRU5UX05PREUpCisJICAgIHJldHVybihjdXItPm5leHQpOworCWN1ciA9IGN1ci0+bmV4dDsKKwlkbyB7CisJICAgIGN1ciA9IGN1ci0+bmV4dDsKKwl9IHdoaWxlICgoY3VyICE9IE5VTEwpICYmIChjdXItPnR5cGUgIT0gWE1MX0VMRU1FTlRfTk9ERSkpOworCXJldHVybihjdXIpOworICAgIH0KKyAgICByZXR1cm4oTlVMTCk7Cit9CisKKyNpZiAwCisvKioKKyAqIHhtbFhQYXRoTmV4dERlc2NlbmRhbnRPclNlbGZFbGVtUGFyZW50OgorICogQGN0eHQ6ICB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQKKyAqIEBjdXI6ICB0aGUgY3VycmVudCBub2RlIGluIHRoZSB0cmF2ZXJzYWwKKyAqCisgKiBUcmF2ZXJzYWwgZnVuY3Rpb24gZm9yIHRoZSAiZGVzY2VuZGFudC1vci1zZWxmIiBheGlzLgorICogQWRkaXRpb25hbGx5IGl0IHJldHVybnMgb25seSBub2RlcyB3aGljaCBjYW4gYmUgcGFyZW50cyBvZgorICogZWxlbWVudCBub2Rlcy4KKyAqCisgKgorICogUmV0dXJucyB0aGUgbmV4dCBlbGVtZW50IGZvbGxvd2luZyB0aGF0IGF4aXMKKyAqLworc3RhdGljIHhtbE5vZGVQdHIKK3htbFhQYXRoTmV4dERlc2NlbmRhbnRPclNlbGZFbGVtUGFyZW50KHhtbE5vZGVQdHIgY3VyLAorCQkJCSAgICAgICB4bWxOb2RlUHRyIGNvbnRleHROb2RlKQoreworICAgIGlmIChjdXIgPT0gTlVMTCkgeworCWlmIChjb250ZXh0Tm9kZSA9PSBOVUxMKQorCSAgICByZXR1cm4oTlVMTCk7CisJc3dpdGNoIChjb250ZXh0Tm9kZS0+dHlwZSkgeworCSAgICBjYXNlIFhNTF9FTEVNRU5UX05PREU6CisJICAgIGNhc2UgWE1MX1hJTkNMVURFX1NUQVJUOgorCSAgICBjYXNlIFhNTF9ET0NVTUVOVF9GUkFHX05PREU6CisJICAgIGNhc2UgWE1MX0RPQ1VNRU5UX05PREU6CisjaWZkZWYgTElCWE1MX0RPQ0JfRU5BQkxFRAorCSAgICBjYXNlIFhNTF9ET0NCX0RPQ1VNRU5UX05PREU6CisjZW5kaWYKKwkgICAgY2FzZSBYTUxfSFRNTF9ET0NVTUVOVF9OT0RFOgorCQlyZXR1cm4oY29udGV4dE5vZGUpOworCSAgICBkZWZhdWx0OgorCQlyZXR1cm4oTlVMTCk7CisJfQorCXJldHVybihOVUxMKTsKKyAgICB9IGVsc2UgeworCXhtbE5vZGVQdHIgc3RhcnQgPSBjdXI7CisKKwl3aGlsZSAoY3VyICE9IE5VTEwpIHsKKwkgICAgc3dpdGNoIChjdXItPnR5cGUpIHsKKwkJY2FzZSBYTUxfRUxFTUVOVF9OT0RFOgorCQkvKiBUT0RPOiBPSyB0byBoYXZlIFhJbmNsdWRlIGhlcmU/ICovCisJCWNhc2UgWE1MX1hJTkNMVURFX1NUQVJUOgorCQljYXNlIFhNTF9ET0NVTUVOVF9GUkFHX05PREU6CisJCSAgICBpZiAoY3VyICE9IHN0YXJ0KQorCQkJcmV0dXJuKGN1cik7CisJCSAgICBpZiAoY3VyLT5jaGlsZHJlbiAhPSBOVUxMKSB7CisJCQljdXIgPSBjdXItPmNoaWxkcmVuOworCQkJY29udGludWU7CisJCSAgICB9CisJCSAgICBicmVhazsKKwkJLyogTm90IHN1cmUgaWYgd2UgbmVlZCB0aG9zZSBoZXJlLiAqLworCQljYXNlIFhNTF9ET0NVTUVOVF9OT0RFOgorI2lmZGVmIExJQlhNTF9ET0NCX0VOQUJMRUQKKwkJY2FzZSBYTUxfRE9DQl9ET0NVTUVOVF9OT0RFOgorI2VuZGlmCisJCWNhc2UgWE1MX0hUTUxfRE9DVU1FTlRfTk9ERToKKwkJICAgIGlmIChjdXIgIT0gc3RhcnQpCisJCQlyZXR1cm4oY3VyKTsKKwkJICAgIHJldHVybih4bWxEb2NHZXRSb290RWxlbWVudCgoeG1sRG9jUHRyKSBjdXIpKTsKKwkJZGVmYXVsdDoKKwkJICAgIGJyZWFrOworCSAgICB9CisKK25leHRfc2libGluZzoKKwkgICAgaWYgKChjdXIgPT0gTlVMTCkgfHwgKGN1ciA9PSBjb250ZXh0Tm9kZSkpCisJCXJldHVybihOVUxMKTsKKwkgICAgaWYgKGN1ci0+bmV4dCAhPSBOVUxMKSB7CisJCWN1ciA9IGN1ci0+bmV4dDsKKwkgICAgfSBlbHNlIHsKKwkJY3VyID0gY3VyLT5wYXJlbnQ7CisJCWdvdG8gbmV4dF9zaWJsaW5nOworCSAgICB9CisJfQorICAgIH0KKyAgICByZXR1cm4oTlVMTCk7Cit9CisjZW5kaWYKKworLyoqCisgKiB4bWxYUGF0aE5leHREZXNjZW5kYW50OgorICogQGN0eHQ6ICB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQKKyAqIEBjdXI6ICB0aGUgY3VycmVudCBub2RlIGluIHRoZSB0cmF2ZXJzYWwKKyAqCisgKiBUcmF2ZXJzYWwgZnVuY3Rpb24gZm9yIHRoZSAiZGVzY2VuZGFudCIgZGlyZWN0aW9uCisgKiB0aGUgZGVzY2VuZGFudCBheGlzIGNvbnRhaW5zIHRoZSBkZXNjZW5kYW50cyBvZiB0aGUgY29udGV4dCBub2RlIGluIGRvY3VtZW50CisgKiBvcmRlcjsgYSBkZXNjZW5kYW50IGlzIGEgY2hpbGQgb3IgYSBjaGlsZCBvZiBhIGNoaWxkIGFuZCBzbyBvbi4KKyAqCisgKiBSZXR1cm5zIHRoZSBuZXh0IGVsZW1lbnQgZm9sbG93aW5nIHRoYXQgYXhpcworICovCit4bWxOb2RlUHRyCit4bWxYUGF0aE5leHREZXNjZW5kYW50KHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0LCB4bWxOb2RlUHRyIGN1cikgeworICAgIGlmICgoY3R4dCA9PSBOVUxMKSB8fCAoY3R4dC0+Y29udGV4dCA9PSBOVUxMKSkgcmV0dXJuKE5VTEwpOworICAgIGlmIChjdXIgPT0gTlVMTCkgeworCWlmIChjdHh0LT5jb250ZXh0LT5ub2RlID09IE5VTEwpCisJICAgIHJldHVybihOVUxMKTsKKwlpZiAoKGN0eHQtPmNvbnRleHQtPm5vZGUtPnR5cGUgPT0gWE1MX0FUVFJJQlVURV9OT0RFKSB8fAorCSAgICAoY3R4dC0+Y29udGV4dC0+bm9kZS0+dHlwZSA9PSBYTUxfTkFNRVNQQUNFX0RFQ0wpKQorCSAgICByZXR1cm4oTlVMTCk7CisKKyAgICAgICAgaWYgKGN0eHQtPmNvbnRleHQtPm5vZGUgPT0gKHhtbE5vZGVQdHIpIGN0eHQtPmNvbnRleHQtPmRvYykKKwkgICAgcmV0dXJuKGN0eHQtPmNvbnRleHQtPmRvYy0+Y2hpbGRyZW4pOworICAgICAgICByZXR1cm4oY3R4dC0+Y29udGV4dC0+bm9kZS0+Y2hpbGRyZW4pOworICAgIH0KKworICAgIGlmIChjdXItPnR5cGUgPT0gWE1MX05BTUVTUEFDRV9ERUNMKQorICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgaWYgKGN1ci0+Y2hpbGRyZW4gIT0gTlVMTCkgeworCS8qCisJICogRG8gbm90IGRlc2NlbmQgb24gZW50aXRpZXMgZGVjbGFyYXRpb25zCisJICovCisJaWYgKGN1ci0+Y2hpbGRyZW4tPnR5cGUgIT0gWE1MX0VOVElUWV9ERUNMKSB7CisJICAgIGN1ciA9IGN1ci0+Y2hpbGRyZW47CisJICAgIC8qCisJICAgICAqIFNraXAgRFREcworCSAgICAgKi8KKwkgICAgaWYgKGN1ci0+dHlwZSAhPSBYTUxfRFREX05PREUpCisJCXJldHVybihjdXIpOworCX0KKyAgICB9CisKKyAgICBpZiAoY3VyID09IGN0eHQtPmNvbnRleHQtPm5vZGUpIHJldHVybihOVUxMKTsKKworICAgIHdoaWxlIChjdXItPm5leHQgIT0gTlVMTCkgeworCWN1ciA9IGN1ci0+bmV4dDsKKwlpZiAoKGN1ci0+dHlwZSAhPSBYTUxfRU5USVRZX0RFQ0wpICYmCisJICAgIChjdXItPnR5cGUgIT0gWE1MX0RURF9OT0RFKSkKKwkgICAgcmV0dXJuKGN1cik7CisgICAgfQorCisgICAgZG8geworICAgICAgICBjdXIgPSBjdXItPnBhcmVudDsKKwlpZiAoY3VyID09IE5VTEwpIGJyZWFrOworCWlmIChjdXIgPT0gY3R4dC0+Y29udGV4dC0+bm9kZSkgcmV0dXJuKE5VTEwpOworCWlmIChjdXItPm5leHQgIT0gTlVMTCkgeworCSAgICBjdXIgPSBjdXItPm5leHQ7CisJICAgIHJldHVybihjdXIpOworCX0KKyAgICB9IHdoaWxlIChjdXIgIT0gTlVMTCk7CisgICAgcmV0dXJuKGN1cik7Cit9CisKKy8qKgorICogeG1sWFBhdGhOZXh0RGVzY2VuZGFudE9yU2VsZjoKKyAqIEBjdHh0OiAgdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0CisgKiBAY3VyOiAgdGhlIGN1cnJlbnQgbm9kZSBpbiB0aGUgdHJhdmVyc2FsCisgKgorICogVHJhdmVyc2FsIGZ1bmN0aW9uIGZvciB0aGUgImRlc2NlbmRhbnQtb3Itc2VsZiIgZGlyZWN0aW9uCisgKiB0aGUgZGVzY2VuZGFudC1vci1zZWxmIGF4aXMgY29udGFpbnMgdGhlIGNvbnRleHQgbm9kZSBhbmQgdGhlIGRlc2NlbmRhbnRzCisgKiBvZiB0aGUgY29udGV4dCBub2RlIGluIGRvY3VtZW50IG9yZGVyOyB0aHVzIHRoZSBjb250ZXh0IG5vZGUgaXMgdGhlIGZpcnN0CisgKiBub2RlIG9uIHRoZSBheGlzLCBhbmQgdGhlIGZpcnN0IGNoaWxkIG9mIHRoZSBjb250ZXh0IG5vZGUgaXMgdGhlIHNlY29uZCBub2RlCisgKiBvbiB0aGUgYXhpcworICoKKyAqIFJldHVybnMgdGhlIG5leHQgZWxlbWVudCBmb2xsb3dpbmcgdGhhdCBheGlzCisgKi8KK3htbE5vZGVQdHIKK3htbFhQYXRoTmV4dERlc2NlbmRhbnRPclNlbGYoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQsIHhtbE5vZGVQdHIgY3VyKSB7CisgICAgaWYgKChjdHh0ID09IE5VTEwpIHx8IChjdHh0LT5jb250ZXh0ID09IE5VTEwpKSByZXR1cm4oTlVMTCk7CisgICAgaWYgKGN1ciA9PSBOVUxMKSB7CisJaWYgKGN0eHQtPmNvbnRleHQtPm5vZGUgPT0gTlVMTCkKKwkgICAgcmV0dXJuKE5VTEwpOworCWlmICgoY3R4dC0+Y29udGV4dC0+bm9kZS0+dHlwZSA9PSBYTUxfQVRUUklCVVRFX05PREUpIHx8CisJICAgIChjdHh0LT5jb250ZXh0LT5ub2RlLT50eXBlID09IFhNTF9OQU1FU1BBQ0VfREVDTCkpCisJICAgIHJldHVybihOVUxMKTsKKyAgICAgICAgcmV0dXJuKGN0eHQtPmNvbnRleHQtPm5vZGUpOworICAgIH0KKworICAgIHJldHVybih4bWxYUGF0aE5leHREZXNjZW5kYW50KGN0eHQsIGN1cikpOworfQorCisvKioKKyAqIHhtbFhQYXRoTmV4dFBhcmVudDoKKyAqIEBjdHh0OiAgdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0CisgKiBAY3VyOiAgdGhlIGN1cnJlbnQgbm9kZSBpbiB0aGUgdHJhdmVyc2FsCisgKgorICogVHJhdmVyc2FsIGZ1bmN0aW9uIGZvciB0aGUgInBhcmVudCIgZGlyZWN0aW9uCisgKiBUaGUgcGFyZW50IGF4aXMgY29udGFpbnMgdGhlIHBhcmVudCBvZiB0aGUgY29udGV4dCBub2RlLCBpZiB0aGVyZSBpcyBvbmUuCisgKgorICogUmV0dXJucyB0aGUgbmV4dCBlbGVtZW50IGZvbGxvd2luZyB0aGF0IGF4aXMKKyAqLworeG1sTm9kZVB0cgoreG1sWFBhdGhOZXh0UGFyZW50KHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0LCB4bWxOb2RlUHRyIGN1cikgeworICAgIGlmICgoY3R4dCA9PSBOVUxMKSB8fCAoY3R4dC0+Y29udGV4dCA9PSBOVUxMKSkgcmV0dXJuKE5VTEwpOworICAgIC8qCisgICAgICogdGhlIHBhcmVudCBvZiBhbiBhdHRyaWJ1dGUgb3IgbmFtZXNwYWNlIG5vZGUgaXMgdGhlIGVsZW1lbnQKKyAgICAgKiB0byB3aGljaCB0aGUgYXR0cmlidXRlIG9yIG5hbWVzcGFjZSBub2RlIGlzIGF0dGFjaGVkCisgICAgICogTmFtZXNwYWNlIGhhbmRsaW5nICEhIQorICAgICAqLworICAgIGlmIChjdXIgPT0gTlVMTCkgeworCWlmIChjdHh0LT5jb250ZXh0LT5ub2RlID09IE5VTEwpIHJldHVybihOVUxMKTsKKwlzd2l0Y2ggKGN0eHQtPmNvbnRleHQtPm5vZGUtPnR5cGUpIHsKKyAgICAgICAgICAgIGNhc2UgWE1MX0VMRU1FTlRfTk9ERToKKyAgICAgICAgICAgIGNhc2UgWE1MX1RFWFRfTk9ERToKKyAgICAgICAgICAgIGNhc2UgWE1MX0NEQVRBX1NFQ1RJT05fTk9ERToKKyAgICAgICAgICAgIGNhc2UgWE1MX0VOVElUWV9SRUZfTk9ERToKKyAgICAgICAgICAgIGNhc2UgWE1MX0VOVElUWV9OT0RFOgorICAgICAgICAgICAgY2FzZSBYTUxfUElfTk9ERToKKyAgICAgICAgICAgIGNhc2UgWE1MX0NPTU1FTlRfTk9ERToKKyAgICAgICAgICAgIGNhc2UgWE1MX05PVEFUSU9OX05PREU6CisgICAgICAgICAgICBjYXNlIFhNTF9EVERfTk9ERToKKwkgICAgY2FzZSBYTUxfRUxFTUVOVF9ERUNMOgorCSAgICBjYXNlIFhNTF9BVFRSSUJVVEVfREVDTDoKKwkgICAgY2FzZSBYTUxfWElOQ0xVREVfU1RBUlQ6CisJICAgIGNhc2UgWE1MX1hJTkNMVURFX0VORDoKKwkgICAgY2FzZSBYTUxfRU5USVRZX0RFQ0w6CisJCWlmIChjdHh0LT5jb250ZXh0LT5ub2RlLT5wYXJlbnQgPT0gTlVMTCkKKwkJICAgIHJldHVybigoeG1sTm9kZVB0cikgY3R4dC0+Y29udGV4dC0+ZG9jKTsKKwkJaWYgKChjdHh0LT5jb250ZXh0LT5ub2RlLT5wYXJlbnQtPnR5cGUgPT0gWE1MX0VMRU1FTlRfTk9ERSkgJiYKKwkJICAgICgoY3R4dC0+Y29udGV4dC0+bm9kZS0+cGFyZW50LT5uYW1lWzBdID09ICcgJykgfHwKKwkJICAgICAoeG1sU3RyRXF1YWwoY3R4dC0+Y29udGV4dC0+bm9kZS0+cGFyZW50LT5uYW1lLAorCQkJCSBCQURfQ0FTVCAiZmFrZSBub2RlIGxpYnhzbHQiKSkpKQorCQkgICAgcmV0dXJuKE5VTEwpOworCQlyZXR1cm4oY3R4dC0+Y29udGV4dC0+bm9kZS0+cGFyZW50KTsKKyAgICAgICAgICAgIGNhc2UgWE1MX0FUVFJJQlVURV9OT0RFOiB7CisJCXhtbEF0dHJQdHIgYXR0ID0gKHhtbEF0dHJQdHIpIGN0eHQtPmNvbnRleHQtPm5vZGU7CisKKwkJcmV0dXJuKGF0dC0+cGFyZW50KTsKKwkgICAgfQorICAgICAgICAgICAgY2FzZSBYTUxfRE9DVU1FTlRfTk9ERToKKyAgICAgICAgICAgIGNhc2UgWE1MX0RPQ1VNRU5UX1RZUEVfTk9ERToKKyAgICAgICAgICAgIGNhc2UgWE1MX0RPQ1VNRU5UX0ZSQUdfTk9ERToKKyAgICAgICAgICAgIGNhc2UgWE1MX0hUTUxfRE9DVU1FTlRfTk9ERToKKyNpZmRlZiBMSUJYTUxfRE9DQl9FTkFCTEVECisJICAgIGNhc2UgWE1MX0RPQ0JfRE9DVU1FTlRfTk9ERToKKyNlbmRpZgorICAgICAgICAgICAgICAgIHJldHVybihOVUxMKTsKKwkgICAgY2FzZSBYTUxfTkFNRVNQQUNFX0RFQ0w6IHsKKwkJeG1sTnNQdHIgbnMgPSAoeG1sTnNQdHIpIGN0eHQtPmNvbnRleHQtPm5vZGU7CisKKwkJaWYgKChucy0+bmV4dCAhPSBOVUxMKSAmJgorCQkgICAgKG5zLT5uZXh0LT50eXBlICE9IFhNTF9OQU1FU1BBQ0VfREVDTCkpCisJCSAgICByZXR1cm4oKHhtbE5vZGVQdHIpIG5zLT5uZXh0KTsKKyAgICAgICAgICAgICAgICByZXR1cm4oTlVMTCk7CisJICAgIH0KKwl9CisgICAgfQorICAgIHJldHVybihOVUxMKTsKK30KKworLyoqCisgKiB4bWxYUGF0aE5leHRBbmNlc3RvcjoKKyAqIEBjdHh0OiAgdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0CisgKiBAY3VyOiAgdGhlIGN1cnJlbnQgbm9kZSBpbiB0aGUgdHJhdmVyc2FsCisgKgorICogVHJhdmVyc2FsIGZ1bmN0aW9uIGZvciB0aGUgImFuY2VzdG9yIiBkaXJlY3Rpb24KKyAqIHRoZSBhbmNlc3RvciBheGlzIGNvbnRhaW5zIHRoZSBhbmNlc3RvcnMgb2YgdGhlIGNvbnRleHQgbm9kZTsgdGhlIGFuY2VzdG9ycworICogb2YgdGhlIGNvbnRleHQgbm9kZSBjb25zaXN0IG9mIHRoZSBwYXJlbnQgb2YgY29udGV4dCBub2RlIGFuZCB0aGUgcGFyZW50J3MKKyAqIHBhcmVudCBhbmQgc28gb247IHRoZSBub2RlcyBhcmUgb3JkZXJlZCBpbiByZXZlcnNlIGRvY3VtZW50IG9yZGVyOyB0aHVzIHRoZQorICogcGFyZW50IGlzIHRoZSBmaXJzdCBub2RlIG9uIHRoZSBheGlzLCBhbmQgdGhlIHBhcmVudCdzIHBhcmVudCBpcyB0aGUgc2Vjb25kCisgKiBub2RlIG9uIHRoZSBheGlzCisgKgorICogUmV0dXJucyB0aGUgbmV4dCBlbGVtZW50IGZvbGxvd2luZyB0aGF0IGF4aXMKKyAqLworeG1sTm9kZVB0cgoreG1sWFBhdGhOZXh0QW5jZXN0b3IoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQsIHhtbE5vZGVQdHIgY3VyKSB7CisgICAgaWYgKChjdHh0ID09IE5VTEwpIHx8IChjdHh0LT5jb250ZXh0ID09IE5VTEwpKSByZXR1cm4oTlVMTCk7CisgICAgLyoKKyAgICAgKiB0aGUgcGFyZW50IG9mIGFuIGF0dHJpYnV0ZSBvciBuYW1lc3BhY2Ugbm9kZSBpcyB0aGUgZWxlbWVudAorICAgICAqIHRvIHdoaWNoIHRoZSBhdHRyaWJ1dGUgb3IgbmFtZXNwYWNlIG5vZGUgaXMgYXR0YWNoZWQKKyAgICAgKiAhISEhISEhISEhISEhCisgICAgICovCisgICAgaWYgKGN1ciA9PSBOVUxMKSB7CisJaWYgKGN0eHQtPmNvbnRleHQtPm5vZGUgPT0gTlVMTCkgcmV0dXJuKE5VTEwpOworCXN3aXRjaCAoY3R4dC0+Y29udGV4dC0+bm9kZS0+dHlwZSkgeworICAgICAgICAgICAgY2FzZSBYTUxfRUxFTUVOVF9OT0RFOgorICAgICAgICAgICAgY2FzZSBYTUxfVEVYVF9OT0RFOgorICAgICAgICAgICAgY2FzZSBYTUxfQ0RBVEFfU0VDVElPTl9OT0RFOgorICAgICAgICAgICAgY2FzZSBYTUxfRU5USVRZX1JFRl9OT0RFOgorICAgICAgICAgICAgY2FzZSBYTUxfRU5USVRZX05PREU6CisgICAgICAgICAgICBjYXNlIFhNTF9QSV9OT0RFOgorICAgICAgICAgICAgY2FzZSBYTUxfQ09NTUVOVF9OT0RFOgorCSAgICBjYXNlIFhNTF9EVERfTk9ERToKKwkgICAgY2FzZSBYTUxfRUxFTUVOVF9ERUNMOgorCSAgICBjYXNlIFhNTF9BVFRSSUJVVEVfREVDTDoKKwkgICAgY2FzZSBYTUxfRU5USVRZX0RFQ0w6CisgICAgICAgICAgICBjYXNlIFhNTF9OT1RBVElPTl9OT0RFOgorCSAgICBjYXNlIFhNTF9YSU5DTFVERV9TVEFSVDoKKwkgICAgY2FzZSBYTUxfWElOQ0xVREVfRU5EOgorCQlpZiAoY3R4dC0+Y29udGV4dC0+bm9kZS0+cGFyZW50ID09IE5VTEwpCisJCSAgICByZXR1cm4oKHhtbE5vZGVQdHIpIGN0eHQtPmNvbnRleHQtPmRvYyk7CisJCWlmICgoY3R4dC0+Y29udGV4dC0+bm9kZS0+cGFyZW50LT50eXBlID09IFhNTF9FTEVNRU5UX05PREUpICYmCisJCSAgICAoKGN0eHQtPmNvbnRleHQtPm5vZGUtPnBhcmVudC0+bmFtZVswXSA9PSAnICcpIHx8CisJCSAgICAgKHhtbFN0ckVxdWFsKGN0eHQtPmNvbnRleHQtPm5vZGUtPnBhcmVudC0+bmFtZSwKKwkJCQkgQkFEX0NBU1QgImZha2Ugbm9kZSBsaWJ4c2x0IikpKSkKKwkJICAgIHJldHVybihOVUxMKTsKKwkJcmV0dXJuKGN0eHQtPmNvbnRleHQtPm5vZGUtPnBhcmVudCk7CisgICAgICAgICAgICBjYXNlIFhNTF9BVFRSSUJVVEVfTk9ERTogeworCQl4bWxBdHRyUHRyIHRtcCA9ICh4bWxBdHRyUHRyKSBjdHh0LT5jb250ZXh0LT5ub2RlOworCisJCXJldHVybih0bXAtPnBhcmVudCk7CisJICAgIH0KKyAgICAgICAgICAgIGNhc2UgWE1MX0RPQ1VNRU5UX05PREU6CisgICAgICAgICAgICBjYXNlIFhNTF9ET0NVTUVOVF9UWVBFX05PREU6CisgICAgICAgICAgICBjYXNlIFhNTF9ET0NVTUVOVF9GUkFHX05PREU6CisgICAgICAgICAgICBjYXNlIFhNTF9IVE1MX0RPQ1VNRU5UX05PREU6CisjaWZkZWYgTElCWE1MX0RPQ0JfRU5BQkxFRAorCSAgICBjYXNlIFhNTF9ET0NCX0RPQ1VNRU5UX05PREU6CisjZW5kaWYKKyAgICAgICAgICAgICAgICByZXR1cm4oTlVMTCk7CisJICAgIGNhc2UgWE1MX05BTUVTUEFDRV9ERUNMOiB7CisJCXhtbE5zUHRyIG5zID0gKHhtbE5zUHRyKSBjdHh0LT5jb250ZXh0LT5ub2RlOworCisJCWlmICgobnMtPm5leHQgIT0gTlVMTCkgJiYKKwkJICAgIChucy0+bmV4dC0+dHlwZSAhPSBYTUxfTkFNRVNQQUNFX0RFQ0wpKQorCQkgICAgcmV0dXJuKCh4bWxOb2RlUHRyKSBucy0+bmV4dCk7CisJCS8qIEJhZCwgaG93IGRpZCB0aGF0IG5hbWVzcGFjZSBlbmQgdXAgaGVyZSA/ICovCisgICAgICAgICAgICAgICAgcmV0dXJuKE5VTEwpOworCSAgICB9CisJfQorCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgaWYgKGN1ciA9PSBjdHh0LT5jb250ZXh0LT5kb2MtPmNoaWxkcmVuKQorCXJldHVybigoeG1sTm9kZVB0cikgY3R4dC0+Y29udGV4dC0+ZG9jKTsKKyAgICBpZiAoY3VyID09ICh4bWxOb2RlUHRyKSBjdHh0LT5jb250ZXh0LT5kb2MpCisJcmV0dXJuKE5VTEwpOworICAgIHN3aXRjaCAoY3VyLT50eXBlKSB7CisJY2FzZSBYTUxfRUxFTUVOVF9OT0RFOgorCWNhc2UgWE1MX1RFWFRfTk9ERToKKwljYXNlIFhNTF9DREFUQV9TRUNUSU9OX05PREU6CisJY2FzZSBYTUxfRU5USVRZX1JFRl9OT0RFOgorCWNhc2UgWE1MX0VOVElUWV9OT0RFOgorCWNhc2UgWE1MX1BJX05PREU6CisJY2FzZSBYTUxfQ09NTUVOVF9OT0RFOgorCWNhc2UgWE1MX05PVEFUSU9OX05PREU6CisJY2FzZSBYTUxfRFREX05PREU6CisgICAgICAgIGNhc2UgWE1MX0VMRU1FTlRfREVDTDoKKyAgICAgICAgY2FzZSBYTUxfQVRUUklCVVRFX0RFQ0w6CisgICAgICAgIGNhc2UgWE1MX0VOVElUWV9ERUNMOgorCWNhc2UgWE1MX1hJTkNMVURFX1NUQVJUOgorCWNhc2UgWE1MX1hJTkNMVURFX0VORDoKKwkgICAgaWYgKGN1ci0+cGFyZW50ID09IE5VTEwpCisJCXJldHVybihOVUxMKTsKKwkgICAgaWYgKChjdXItPnBhcmVudC0+dHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFKSAmJgorCQkoKGN1ci0+cGFyZW50LT5uYW1lWzBdID09ICcgJykgfHwKKwkJICh4bWxTdHJFcXVhbChjdXItPnBhcmVudC0+bmFtZSwKKwkJCSAgICAgIEJBRF9DQVNUICJmYWtlIG5vZGUgbGlieHNsdCIpKSkpCisJCXJldHVybihOVUxMKTsKKwkgICAgcmV0dXJuKGN1ci0+cGFyZW50KTsKKwljYXNlIFhNTF9BVFRSSUJVVEVfTk9ERTogeworCSAgICB4bWxBdHRyUHRyIGF0dCA9ICh4bWxBdHRyUHRyKSBjdHh0LT5jb250ZXh0LT5ub2RlOworCisJICAgIHJldHVybihhdHQtPnBhcmVudCk7CisJfQorCWNhc2UgWE1MX05BTUVTUEFDRV9ERUNMOiB7CisJICAgIHhtbE5zUHRyIG5zID0gKHhtbE5zUHRyKSBjdHh0LT5jb250ZXh0LT5ub2RlOworCisJICAgIGlmICgobnMtPm5leHQgIT0gTlVMTCkgJiYKKwkgICAgICAgIChucy0+bmV4dC0+dHlwZSAhPSBYTUxfTkFNRVNQQUNFX0RFQ0wpKQorCSAgICAgICAgcmV0dXJuKCh4bWxOb2RlUHRyKSBucy0+bmV4dCk7CisJICAgIC8qIEJhZCwgaG93IGRpZCB0aGF0IG5hbWVzcGFjZSBlbmQgdXAgaGVyZSA/ICovCisgICAgICAgICAgICByZXR1cm4oTlVMTCk7CisJfQorCWNhc2UgWE1MX0RPQ1VNRU5UX05PREU6CisJY2FzZSBYTUxfRE9DVU1FTlRfVFlQRV9OT0RFOgorCWNhc2UgWE1MX0RPQ1VNRU5UX0ZSQUdfTk9ERToKKwljYXNlIFhNTF9IVE1MX0RPQ1VNRU5UX05PREU6CisjaWZkZWYgTElCWE1MX0RPQ0JfRU5BQkxFRAorCWNhc2UgWE1MX0RPQ0JfRE9DVU1FTlRfTk9ERToKKyNlbmRpZgorCSAgICByZXR1cm4oTlVMTCk7CisgICAgfQorICAgIHJldHVybihOVUxMKTsKK30KKworLyoqCisgKiB4bWxYUGF0aE5leHRBbmNlc3Rvck9yU2VsZjoKKyAqIEBjdHh0OiAgdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0CisgKiBAY3VyOiAgdGhlIGN1cnJlbnQgbm9kZSBpbiB0aGUgdHJhdmVyc2FsCisgKgorICogVHJhdmVyc2FsIGZ1bmN0aW9uIGZvciB0aGUgImFuY2VzdG9yLW9yLXNlbGYiIGRpcmVjdGlvbgorICogaGUgYW5jZXN0b3Itb3Itc2VsZiBheGlzIGNvbnRhaW5zIHRoZSBjb250ZXh0IG5vZGUgYW5kIGFuY2VzdG9ycyBvZgorICogdGhlIGNvbnRleHQgbm9kZSBpbiByZXZlcnNlIGRvY3VtZW50IG9yZGVyOyB0aHVzIHRoZSBjb250ZXh0IG5vZGUgaXMKKyAqIHRoZSBmaXJzdCBub2RlIG9uIHRoZSBheGlzLCBhbmQgdGhlIGNvbnRleHQgbm9kZSdzIHBhcmVudCB0aGUgc2Vjb25kOworICogcGFyZW50IGhlcmUgaXMgZGVmaW5lZCB0aGUgc2FtZSBhcyB3aXRoIHRoZSBwYXJlbnQgYXhpcy4KKyAqCisgKiBSZXR1cm5zIHRoZSBuZXh0IGVsZW1lbnQgZm9sbG93aW5nIHRoYXQgYXhpcworICovCit4bWxOb2RlUHRyCit4bWxYUGF0aE5leHRBbmNlc3Rvck9yU2VsZih4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCwgeG1sTm9kZVB0ciBjdXIpIHsKKyAgICBpZiAoKGN0eHQgPT0gTlVMTCkgfHwgKGN0eHQtPmNvbnRleHQgPT0gTlVMTCkpIHJldHVybihOVUxMKTsKKyAgICBpZiAoY3VyID09IE5VTEwpCisgICAgICAgIHJldHVybihjdHh0LT5jb250ZXh0LT5ub2RlKTsKKyAgICByZXR1cm4oeG1sWFBhdGhOZXh0QW5jZXN0b3IoY3R4dCwgY3VyKSk7Cit9CisKKy8qKgorICogeG1sWFBhdGhOZXh0Rm9sbG93aW5nU2libGluZzoKKyAqIEBjdHh0OiAgdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0CisgKiBAY3VyOiAgdGhlIGN1cnJlbnQgbm9kZSBpbiB0aGUgdHJhdmVyc2FsCisgKgorICogVHJhdmVyc2FsIGZ1bmN0aW9uIGZvciB0aGUgImZvbGxvd2luZy1zaWJsaW5nIiBkaXJlY3Rpb24KKyAqIFRoZSBmb2xsb3dpbmctc2libGluZyBheGlzIGNvbnRhaW5zIHRoZSBmb2xsb3dpbmcgc2libGluZ3Mgb2YgdGhlIGNvbnRleHQKKyAqIG5vZGUgaW4gZG9jdW1lbnQgb3JkZXIuCisgKgorICogUmV0dXJucyB0aGUgbmV4dCBlbGVtZW50IGZvbGxvd2luZyB0aGF0IGF4aXMKKyAqLworeG1sTm9kZVB0cgoreG1sWFBhdGhOZXh0Rm9sbG93aW5nU2libGluZyh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCwgeG1sTm9kZVB0ciBjdXIpIHsKKyAgICBpZiAoKGN0eHQgPT0gTlVMTCkgfHwgKGN0eHQtPmNvbnRleHQgPT0gTlVMTCkpIHJldHVybihOVUxMKTsKKyAgICBpZiAoKGN0eHQtPmNvbnRleHQtPm5vZGUtPnR5cGUgPT0gWE1MX0FUVFJJQlVURV9OT0RFKSB8fAorCShjdHh0LT5jb250ZXh0LT5ub2RlLT50eXBlID09IFhNTF9OQU1FU1BBQ0VfREVDTCkpCisJcmV0dXJuKE5VTEwpOworICAgIGlmIChjdXIgPT0gKHhtbE5vZGVQdHIpIGN0eHQtPmNvbnRleHQtPmRvYykKKyAgICAgICAgcmV0dXJuKE5VTEwpOworICAgIGlmIChjdXIgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuKGN0eHQtPmNvbnRleHQtPm5vZGUtPm5leHQpOworICAgIHJldHVybihjdXItPm5leHQpOworfQorCisvKioKKyAqIHhtbFhQYXRoTmV4dFByZWNlZGluZ1NpYmxpbmc6CisgKiBAY3R4dDogIHRoZSBYUGF0aCBQYXJzZXIgY29udGV4dAorICogQGN1cjogIHRoZSBjdXJyZW50IG5vZGUgaW4gdGhlIHRyYXZlcnNhbAorICoKKyAqIFRyYXZlcnNhbCBmdW5jdGlvbiBmb3IgdGhlICJwcmVjZWRpbmctc2libGluZyIgZGlyZWN0aW9uCisgKiBUaGUgcHJlY2VkaW5nLXNpYmxpbmcgYXhpcyBjb250YWlucyB0aGUgcHJlY2VkaW5nIHNpYmxpbmdzIG9mIHRoZSBjb250ZXh0CisgKiBub2RlIGluIHJldmVyc2UgZG9jdW1lbnQgb3JkZXI7IHRoZSBmaXJzdCBwcmVjZWRpbmcgc2libGluZyBpcyBmaXJzdCBvbiB0aGUKKyAqIGF4aXM7IHRoZSBzaWJsaW5nIHByZWNlZGluZyB0aGF0IG5vZGUgaXMgdGhlIHNlY29uZCBvbiB0aGUgYXhpcyBhbmQgc28gb24uCisgKgorICogUmV0dXJucyB0aGUgbmV4dCBlbGVtZW50IGZvbGxvd2luZyB0aGF0IGF4aXMKKyAqLworeG1sTm9kZVB0cgoreG1sWFBhdGhOZXh0UHJlY2VkaW5nU2libGluZyh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCwgeG1sTm9kZVB0ciBjdXIpIHsKKyAgICBpZiAoKGN0eHQgPT0gTlVMTCkgfHwgKGN0eHQtPmNvbnRleHQgPT0gTlVMTCkpIHJldHVybihOVUxMKTsKKyAgICBpZiAoKGN0eHQtPmNvbnRleHQtPm5vZGUtPnR5cGUgPT0gWE1MX0FUVFJJQlVURV9OT0RFKSB8fAorCShjdHh0LT5jb250ZXh0LT5ub2RlLT50eXBlID09IFhNTF9OQU1FU1BBQ0VfREVDTCkpCisJcmV0dXJuKE5VTEwpOworICAgIGlmIChjdXIgPT0gKHhtbE5vZGVQdHIpIGN0eHQtPmNvbnRleHQtPmRvYykKKyAgICAgICAgcmV0dXJuKE5VTEwpOworICAgIGlmIChjdXIgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuKGN0eHQtPmNvbnRleHQtPm5vZGUtPnByZXYpOworICAgIGlmICgoY3VyLT5wcmV2ICE9IE5VTEwpICYmIChjdXItPnByZXYtPnR5cGUgPT0gWE1MX0RURF9OT0RFKSkgeworCWN1ciA9IGN1ci0+cHJldjsKKwlpZiAoY3VyID09IE5VTEwpCisJICAgIHJldHVybihjdHh0LT5jb250ZXh0LT5ub2RlLT5wcmV2KTsKKyAgICB9CisgICAgcmV0dXJuKGN1ci0+cHJldik7Cit9CisKKy8qKgorICogeG1sWFBhdGhOZXh0Rm9sbG93aW5nOgorICogQGN0eHQ6ICB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQKKyAqIEBjdXI6ICB0aGUgY3VycmVudCBub2RlIGluIHRoZSB0cmF2ZXJzYWwKKyAqCisgKiBUcmF2ZXJzYWwgZnVuY3Rpb24gZm9yIHRoZSAiZm9sbG93aW5nIiBkaXJlY3Rpb24KKyAqIFRoZSBmb2xsb3dpbmcgYXhpcyBjb250YWlucyBhbGwgbm9kZXMgaW4gdGhlIHNhbWUgZG9jdW1lbnQgYXMgdGhlIGNvbnRleHQKKyAqIG5vZGUgdGhhdCBhcmUgYWZ0ZXIgdGhlIGNvbnRleHQgbm9kZSBpbiBkb2N1bWVudCBvcmRlciwgZXhjbHVkaW5nIGFueQorICogZGVzY2VuZGFudHMgYW5kIGV4Y2x1ZGluZyBhdHRyaWJ1dGUgbm9kZXMgYW5kIG5hbWVzcGFjZSBub2RlczsgdGhlIG5vZGVzCisgKiBhcmUgb3JkZXJlZCBpbiBkb2N1bWVudCBvcmRlcgorICoKKyAqIFJldHVybnMgdGhlIG5leHQgZWxlbWVudCBmb2xsb3dpbmcgdGhhdCBheGlzCisgKi8KK3htbE5vZGVQdHIKK3htbFhQYXRoTmV4dEZvbGxvd2luZyh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCwgeG1sTm9kZVB0ciBjdXIpIHsKKyAgICBpZiAoKGN0eHQgPT0gTlVMTCkgfHwgKGN0eHQtPmNvbnRleHQgPT0gTlVMTCkpIHJldHVybihOVUxMKTsKKyAgICBpZiAoKGN1ciAhPSBOVUxMKSAmJiAoY3VyLT50eXBlICAhPSBYTUxfQVRUUklCVVRFX05PREUpICYmCisgICAgICAgIChjdXItPnR5cGUgIT0gWE1MX05BTUVTUEFDRV9ERUNMKSAmJiAoY3VyLT5jaGlsZHJlbiAhPSBOVUxMKSkKKyAgICAgICAgcmV0dXJuKGN1ci0+Y2hpbGRyZW4pOworCisgICAgaWYgKGN1ciA9PSBOVUxMKSB7CisgICAgICAgIGN1ciA9IGN0eHQtPmNvbnRleHQtPm5vZGU7CisgICAgICAgIGlmIChjdXItPnR5cGUgPT0gWE1MX05BTUVTUEFDRV9ERUNMKQorICAgICAgICAgICAgcmV0dXJuKE5VTEwpOworICAgICAgICBpZiAoY3VyLT50eXBlID09IFhNTF9BVFRSSUJVVEVfTk9ERSkKKyAgICAgICAgICAgIGN1ciA9IGN1ci0+cGFyZW50OworICAgIH0KKyAgICBpZiAoY3VyID09IE5VTEwpIHJldHVybihOVUxMKSA7IC8qIEVSUk9SICovCisgICAgaWYgKGN1ci0+bmV4dCAhPSBOVUxMKSByZXR1cm4oY3VyLT5uZXh0KSA7CisgICAgZG8geworICAgICAgICBjdXIgPSBjdXItPnBhcmVudDsKKyAgICAgICAgaWYgKGN1ciA9PSBOVUxMKSBicmVhazsKKyAgICAgICAgaWYgKGN1ciA9PSAoeG1sTm9kZVB0cikgY3R4dC0+Y29udGV4dC0+ZG9jKSByZXR1cm4oTlVMTCk7CisgICAgICAgIGlmIChjdXItPm5leHQgIT0gTlVMTCkgcmV0dXJuKGN1ci0+bmV4dCk7CisgICAgfSB3aGlsZSAoY3VyICE9IE5VTEwpOworICAgIHJldHVybihjdXIpOworfQorCisvKgorICogeG1sWFBhdGhJc0FuY2VzdG9yOgorICogQGFuY2VzdG9yOiAgdGhlIGFuY2VzdG9yIG5vZGUKKyAqIEBub2RlOiAgdGhlIGN1cnJlbnQgbm9kZQorICoKKyAqIENoZWNrIHRoYXQgQGFuY2VzdG9yIGlzIGEgQG5vZGUncyBhbmNlc3RvcgorICoKKyAqIHJldHVybnMgMSBpZiBAYW5jZXN0b3IgaXMgYSBAbm9kZSdzIGFuY2VzdG9yLCAwIG90aGVyd2lzZS4KKyAqLworc3RhdGljIGludAoreG1sWFBhdGhJc0FuY2VzdG9yKHhtbE5vZGVQdHIgYW5jZXN0b3IsIHhtbE5vZGVQdHIgbm9kZSkgeworICAgIGlmICgoYW5jZXN0b3IgPT0gTlVMTCkgfHwgKG5vZGUgPT0gTlVMTCkpIHJldHVybigwKTsKKyAgICBpZiAobm9kZS0+dHlwZSA9PSBYTUxfTkFNRVNQQUNFX0RFQ0wpCisgICAgICAgIHJldHVybigwKTsKKyAgICBpZiAoYW5jZXN0b3ItPnR5cGUgPT0gWE1MX05BTUVTUEFDRV9ERUNMKQorICAgICAgICByZXR1cm4oMCk7CisgICAgLyogbm9kZXMgbmVlZCB0byBiZSBpbiB0aGUgc2FtZSBkb2N1bWVudCAqLworICAgIGlmIChhbmNlc3Rvci0+ZG9jICE9IG5vZGUtPmRvYykgcmV0dXJuKDApOworICAgIC8qIGF2b2lkIHNlYXJjaGluZyBpZiBhbmNlc3RvciBvciBub2RlIGlzIHRoZSByb290IG5vZGUgKi8KKyAgICBpZiAoYW5jZXN0b3IgPT0gKHhtbE5vZGVQdHIpIG5vZGUtPmRvYykgcmV0dXJuKDEpOworICAgIGlmIChub2RlID09ICh4bWxOb2RlUHRyKSBhbmNlc3Rvci0+ZG9jKSByZXR1cm4oMCk7CisgICAgd2hpbGUgKG5vZGUtPnBhcmVudCAhPSBOVUxMKSB7CisgICAgICAgIGlmIChub2RlLT5wYXJlbnQgPT0gYW5jZXN0b3IpCisgICAgICAgICAgICByZXR1cm4oMSk7CisJbm9kZSA9IG5vZGUtPnBhcmVudDsKKyAgICB9CisgICAgcmV0dXJuKDApOworfQorCisvKioKKyAqIHhtbFhQYXRoTmV4dFByZWNlZGluZzoKKyAqIEBjdHh0OiAgdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0CisgKiBAY3VyOiAgdGhlIGN1cnJlbnQgbm9kZSBpbiB0aGUgdHJhdmVyc2FsCisgKgorICogVHJhdmVyc2FsIGZ1bmN0aW9uIGZvciB0aGUgInByZWNlZGluZyIgZGlyZWN0aW9uCisgKiB0aGUgcHJlY2VkaW5nIGF4aXMgY29udGFpbnMgYWxsIG5vZGVzIGluIHRoZSBzYW1lIGRvY3VtZW50IGFzIHRoZSBjb250ZXh0CisgKiBub2RlIHRoYXQgYXJlIGJlZm9yZSB0aGUgY29udGV4dCBub2RlIGluIGRvY3VtZW50IG9yZGVyLCBleGNsdWRpbmcgYW55CisgKiBhbmNlc3RvcnMgYW5kIGV4Y2x1ZGluZyBhdHRyaWJ1dGUgbm9kZXMgYW5kIG5hbWVzcGFjZSBub2RlczsgdGhlIG5vZGVzIGFyZQorICogb3JkZXJlZCBpbiByZXZlcnNlIGRvY3VtZW50IG9yZGVyCisgKgorICogUmV0dXJucyB0aGUgbmV4dCBlbGVtZW50IGZvbGxvd2luZyB0aGF0IGF4aXMKKyAqLworeG1sTm9kZVB0cgoreG1sWFBhdGhOZXh0UHJlY2VkaW5nKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0LCB4bWxOb2RlUHRyIGN1cikKK3sKKyAgICBpZiAoKGN0eHQgPT0gTlVMTCkgfHwgKGN0eHQtPmNvbnRleHQgPT0gTlVMTCkpIHJldHVybihOVUxMKTsKKyAgICBpZiAoY3VyID09IE5VTEwpIHsKKyAgICAgICAgY3VyID0gY3R4dC0+Y29udGV4dC0+bm9kZTsKKyAgICAgICAgaWYgKGN1ci0+dHlwZSA9PSBYTUxfTkFNRVNQQUNFX0RFQ0wpCisgICAgICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgICAgIGlmIChjdXItPnR5cGUgPT0gWE1MX0FUVFJJQlVURV9OT0RFKQorICAgICAgICAgICAgcmV0dXJuKGN1ci0+cGFyZW50KTsKKyAgICB9CisgICAgaWYgKChjdXIgPT0gTlVMTCkgfHwgKGN1ci0+dHlwZSA9PSBYTUxfTkFNRVNQQUNFX0RFQ0wpKQorCXJldHVybiAoTlVMTCk7CisgICAgaWYgKChjdXItPnByZXYgIT0gTlVMTCkgJiYgKGN1ci0+cHJldi0+dHlwZSA9PSBYTUxfRFREX05PREUpKQorCWN1ciA9IGN1ci0+cHJldjsKKyAgICBkbyB7CisgICAgICAgIGlmIChjdXItPnByZXYgIT0gTlVMTCkgeworICAgICAgICAgICAgZm9yIChjdXIgPSBjdXItPnByZXY7IGN1ci0+bGFzdCAhPSBOVUxMOyBjdXIgPSBjdXItPmxhc3QpIDsKKyAgICAgICAgICAgIHJldHVybiAoY3VyKTsKKyAgICAgICAgfQorCisgICAgICAgIGN1ciA9IGN1ci0+cGFyZW50OworICAgICAgICBpZiAoY3VyID09IE5VTEwpCisgICAgICAgICAgICByZXR1cm4gKE5VTEwpOworICAgICAgICBpZiAoY3VyID09IGN0eHQtPmNvbnRleHQtPmRvYy0+Y2hpbGRyZW4pCisgICAgICAgICAgICByZXR1cm4gKE5VTEwpOworICAgIH0gd2hpbGUgKHhtbFhQYXRoSXNBbmNlc3RvcihjdXIsIGN0eHQtPmNvbnRleHQtPm5vZGUpKTsKKyAgICByZXR1cm4gKGN1cik7Cit9CisKKy8qKgorICogeG1sWFBhdGhOZXh0UHJlY2VkaW5nSW50ZXJuYWw6CisgKiBAY3R4dDogIHRoZSBYUGF0aCBQYXJzZXIgY29udGV4dAorICogQGN1cjogIHRoZSBjdXJyZW50IG5vZGUgaW4gdGhlIHRyYXZlcnNhbAorICoKKyAqIFRyYXZlcnNhbCBmdW5jdGlvbiBmb3IgdGhlICJwcmVjZWRpbmciIGRpcmVjdGlvbgorICogdGhlIHByZWNlZGluZyBheGlzIGNvbnRhaW5zIGFsbCBub2RlcyBpbiB0aGUgc2FtZSBkb2N1bWVudCBhcyB0aGUgY29udGV4dAorICogbm9kZSB0aGF0IGFyZSBiZWZvcmUgdGhlIGNvbnRleHQgbm9kZSBpbiBkb2N1bWVudCBvcmRlciwgZXhjbHVkaW5nIGFueQorICogYW5jZXN0b3JzIGFuZCBleGNsdWRpbmcgYXR0cmlidXRlIG5vZGVzIGFuZCBuYW1lc3BhY2Ugbm9kZXM7IHRoZSBub2RlcyBhcmUKKyAqIG9yZGVyZWQgaW4gcmV2ZXJzZSBkb2N1bWVudCBvcmRlcgorICogVGhpcyBpcyBhIGZhc3RlciBpbXBsZW1lbnRhdGlvbiBidXQgaW50ZXJuYWwgb25seSBzaW5jZSBpdCByZXF1aXJlcyBhCisgKiBzdGF0ZSBrZXB0IGluIHRoZSBwYXJzZXIgY29udGV4dDogY3R4dC0+YW5jZXN0b3IuCisgKgorICogUmV0dXJucyB0aGUgbmV4dCBlbGVtZW50IGZvbGxvd2luZyB0aGF0IGF4aXMKKyAqLworc3RhdGljIHhtbE5vZGVQdHIKK3htbFhQYXRoTmV4dFByZWNlZGluZ0ludGVybmFsKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sTm9kZVB0ciBjdXIpCit7CisgICAgaWYgKChjdHh0ID09IE5VTEwpIHx8IChjdHh0LT5jb250ZXh0ID09IE5VTEwpKSByZXR1cm4oTlVMTCk7CisgICAgaWYgKGN1ciA9PSBOVUxMKSB7CisgICAgICAgIGN1ciA9IGN0eHQtPmNvbnRleHQtPm5vZGU7CisgICAgICAgIGlmIChjdXIgPT0gTlVMTCkKKyAgICAgICAgICAgIHJldHVybiAoTlVMTCk7CisgICAgICAgIGlmIChjdXItPnR5cGUgPT0gWE1MX05BTUVTUEFDRV9ERUNMKQorICAgICAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICAgICAgY3R4dC0+YW5jZXN0b3IgPSBjdXItPnBhcmVudDsKKyAgICB9CisgICAgaWYgKGN1ci0+dHlwZSA9PSBYTUxfTkFNRVNQQUNFX0RFQ0wpCisgICAgICAgIHJldHVybihOVUxMKTsKKyAgICBpZiAoKGN1ci0+cHJldiAhPSBOVUxMKSAmJiAoY3VyLT5wcmV2LT50eXBlID09IFhNTF9EVERfTk9ERSkpCisJY3VyID0gY3VyLT5wcmV2OworICAgIHdoaWxlIChjdXItPnByZXYgPT0gTlVMTCkgeworICAgICAgICBjdXIgPSBjdXItPnBhcmVudDsKKyAgICAgICAgaWYgKGN1ciA9PSBOVUxMKQorICAgICAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICAgICAgaWYgKGN1ciA9PSBjdHh0LT5jb250ZXh0LT5kb2MtPmNoaWxkcmVuKQorICAgICAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICAgICAgaWYgKGN1ciAhPSBjdHh0LT5hbmNlc3RvcikKKyAgICAgICAgICAgIHJldHVybiAoY3VyKTsKKyAgICAgICAgY3R4dC0+YW5jZXN0b3IgPSBjdXItPnBhcmVudDsKKyAgICB9CisgICAgY3VyID0gY3VyLT5wcmV2OworICAgIHdoaWxlIChjdXItPmxhc3QgIT0gTlVMTCkKKyAgICAgICAgY3VyID0gY3VyLT5sYXN0OworICAgIHJldHVybiAoY3VyKTsKK30KKworLyoqCisgKiB4bWxYUGF0aE5leHROYW1lc3BhY2U6CisgKiBAY3R4dDogIHRoZSBYUGF0aCBQYXJzZXIgY29udGV4dAorICogQGN1cjogIHRoZSBjdXJyZW50IGF0dHJpYnV0ZSBpbiB0aGUgdHJhdmVyc2FsCisgKgorICogVHJhdmVyc2FsIGZ1bmN0aW9uIGZvciB0aGUgIm5hbWVzcGFjZSIgZGlyZWN0aW9uCisgKiB0aGUgbmFtZXNwYWNlIGF4aXMgY29udGFpbnMgdGhlIG5hbWVzcGFjZSBub2RlcyBvZiB0aGUgY29udGV4dCBub2RlOworICogdGhlIG9yZGVyIG9mIG5vZGVzIG9uIHRoaXMgYXhpcyBpcyBpbXBsZW1lbnRhdGlvbi1kZWZpbmVkOyB0aGUgYXhpcyB3aWxsCisgKiBiZSBlbXB0eSB1bmxlc3MgdGhlIGNvbnRleHQgbm9kZSBpcyBhbiBlbGVtZW50CisgKgorICogV2Uga2VlcCB0aGUgWE1MIG5hbWVzcGFjZSBub2RlIGF0IHRoZSBlbmQgb2YgdGhlIGxpc3QuCisgKgorICogUmV0dXJucyB0aGUgbmV4dCBlbGVtZW50IGZvbGxvd2luZyB0aGF0IGF4aXMKKyAqLworeG1sTm9kZVB0cgoreG1sWFBhdGhOZXh0TmFtZXNwYWNlKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0LCB4bWxOb2RlUHRyIGN1cikgeworICAgIGlmICgoY3R4dCA9PSBOVUxMKSB8fCAoY3R4dC0+Y29udGV4dCA9PSBOVUxMKSkgcmV0dXJuKE5VTEwpOworICAgIGlmIChjdHh0LT5jb250ZXh0LT5ub2RlLT50eXBlICE9IFhNTF9FTEVNRU5UX05PREUpIHJldHVybihOVUxMKTsKKyAgICBpZiAoY3R4dC0+Y29udGV4dC0+dG1wTnNMaXN0ID09IE5VTEwgJiYgY3VyICE9ICh4bWxOb2RlUHRyKSB4bWxYUGF0aFhNTE5hbWVzcGFjZSkgeworICAgICAgICBpZiAoY3R4dC0+Y29udGV4dC0+dG1wTnNMaXN0ICE9IE5VTEwpCisJICAgIHhtbEZyZWUoY3R4dC0+Y29udGV4dC0+dG1wTnNMaXN0KTsKKwljdHh0LT5jb250ZXh0LT50bXBOc0xpc3QgPQorCSAgICB4bWxHZXROc0xpc3QoY3R4dC0+Y29udGV4dC0+ZG9jLCBjdHh0LT5jb250ZXh0LT5ub2RlKTsKKwljdHh0LT5jb250ZXh0LT50bXBOc05yID0gMDsKKwlpZiAoY3R4dC0+Y29udGV4dC0+dG1wTnNMaXN0ICE9IE5VTEwpIHsKKwkgICAgd2hpbGUgKGN0eHQtPmNvbnRleHQtPnRtcE5zTGlzdFtjdHh0LT5jb250ZXh0LT50bXBOc05yXSAhPSBOVUxMKSB7CisJCWN0eHQtPmNvbnRleHQtPnRtcE5zTnIrKzsKKwkgICAgfQorCX0KKwlyZXR1cm4oKHhtbE5vZGVQdHIpIHhtbFhQYXRoWE1MTmFtZXNwYWNlKTsKKyAgICB9CisgICAgaWYgKGN0eHQtPmNvbnRleHQtPnRtcE5zTnIgPiAwKSB7CisJcmV0dXJuICh4bWxOb2RlUHRyKWN0eHQtPmNvbnRleHQtPnRtcE5zTGlzdFstLWN0eHQtPmNvbnRleHQtPnRtcE5zTnJdOworICAgIH0gZWxzZSB7CisJaWYgKGN0eHQtPmNvbnRleHQtPnRtcE5zTGlzdCAhPSBOVUxMKQorCSAgICB4bWxGcmVlKGN0eHQtPmNvbnRleHQtPnRtcE5zTGlzdCk7CisJY3R4dC0+Y29udGV4dC0+dG1wTnNMaXN0ID0gTlVMTDsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorfQorCisvKioKKyAqIHhtbFhQYXRoTmV4dEF0dHJpYnV0ZToKKyAqIEBjdHh0OiAgdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0CisgKiBAY3VyOiAgdGhlIGN1cnJlbnQgYXR0cmlidXRlIGluIHRoZSB0cmF2ZXJzYWwKKyAqCisgKiBUcmF2ZXJzYWwgZnVuY3Rpb24gZm9yIHRoZSAiYXR0cmlidXRlIiBkaXJlY3Rpb24KKyAqIFRPRE86IHN1cHBvcnQgRFREIGluaGVyaXRlZCBkZWZhdWx0IGF0dHJpYnV0ZXMKKyAqCisgKiBSZXR1cm5zIHRoZSBuZXh0IGVsZW1lbnQgZm9sbG93aW5nIHRoYXQgYXhpcworICovCit4bWxOb2RlUHRyCit4bWxYUGF0aE5leHRBdHRyaWJ1dGUoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQsIHhtbE5vZGVQdHIgY3VyKSB7CisgICAgaWYgKChjdHh0ID09IE5VTEwpIHx8IChjdHh0LT5jb250ZXh0ID09IE5VTEwpKSByZXR1cm4oTlVMTCk7CisgICAgaWYgKGN0eHQtPmNvbnRleHQtPm5vZGUgPT0gTlVMTCkKKwlyZXR1cm4oTlVMTCk7CisgICAgaWYgKGN0eHQtPmNvbnRleHQtPm5vZGUtPnR5cGUgIT0gWE1MX0VMRU1FTlRfTk9ERSkKKwlyZXR1cm4oTlVMTCk7CisgICAgaWYgKGN1ciA9PSBOVUxMKSB7CisgICAgICAgIGlmIChjdHh0LT5jb250ZXh0LT5ub2RlID09ICh4bWxOb2RlUHRyKSBjdHh0LT5jb250ZXh0LT5kb2MpCisJICAgIHJldHVybihOVUxMKTsKKyAgICAgICAgcmV0dXJuKCh4bWxOb2RlUHRyKWN0eHQtPmNvbnRleHQtPm5vZGUtPnByb3BlcnRpZXMpOworICAgIH0KKyAgICByZXR1cm4oKHhtbE5vZGVQdHIpY3VyLT5uZXh0KTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJTm9kZVRlc3QgRnVuY3Rpb25zCQkJCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNkZWZpbmUgSVNfRlVOQ1RJT04JCQkyMDAKKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQlJbXBsaWNpdCB0cmVlIGNvcmUgZnVuY3Rpb24gbGlicmFyeQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqCisgKiB4bWxYUGF0aFJvb3Q6CisgKiBAY3R4dDogIHRoZSBYUGF0aCBQYXJzZXIgY29udGV4dAorICoKKyAqIEluaXRpYWxpemUgdGhlIGNvbnRleHQgdG8gdGhlIHJvb3Qgb2YgdGhlIGRvY3VtZW50CisgKi8KK3ZvaWQKK3htbFhQYXRoUm9vdCh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCkgeworICAgIGlmICgoY3R4dCA9PSBOVUxMKSB8fCAoY3R4dC0+Y29udGV4dCA9PSBOVUxMKSkKKwlyZXR1cm47CisgICAgY3R4dC0+Y29udGV4dC0+bm9kZSA9ICh4bWxOb2RlUHRyKSBjdHh0LT5jb250ZXh0LT5kb2M7CisgICAgdmFsdWVQdXNoKGN0eHQsIHhtbFhQYXRoQ2FjaGVOZXdOb2RlU2V0KGN0eHQtPmNvbnRleHQsCisJY3R4dC0+Y29udGV4dC0+bm9kZSkpOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQlUaGUgZXhwbGljaXQgY29yZSBmdW5jdGlvbiBsaWJyYXJ5CQkJKgorICpodHRwOi8vd3d3LnczLm9yZy9TdHlsZS9YU0wvR3JvdXAvMTk5OS8wNy94cGF0aC0xOTk5MDcwNS5odG1sI2NvcmVsaWIJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisKKy8qKgorICogeG1sWFBhdGhMYXN0RnVuY3Rpb246CisgKiBAY3R4dDogIHRoZSBYUGF0aCBQYXJzZXIgY29udGV4dAorICogQG5hcmdzOiAgdGhlIG51bWJlciBvZiBhcmd1bWVudHMKKyAqCisgKiBJbXBsZW1lbnQgdGhlIGxhc3QoKSBYUGF0aCBmdW5jdGlvbgorICogICAgbnVtYmVyIGxhc3QoKQorICogVGhlIGxhc3QgZnVuY3Rpb24gcmV0dXJucyB0aGUgbnVtYmVyIG9mIG5vZGVzIGluIHRoZSBjb250ZXh0IG5vZGUgbGlzdC4KKyAqLwordm9pZAoreG1sWFBhdGhMYXN0RnVuY3Rpb24oeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQsIGludCBuYXJncykgeworICAgIENIRUNLX0FSSVRZKDApOworICAgIGlmIChjdHh0LT5jb250ZXh0LT5jb250ZXh0U2l6ZSA+PSAwKSB7CisJdmFsdWVQdXNoKGN0eHQsCisJICAgIHhtbFhQYXRoQ2FjaGVOZXdGbG9hdChjdHh0LT5jb250ZXh0LAorCQkoZG91YmxlKSBjdHh0LT5jb250ZXh0LT5jb250ZXh0U2l6ZSkpOworI2lmZGVmIERFQlVHX0VYUFIKKwl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJImxhc3QoKSA6ICVkXG4iLCBjdHh0LT5jb250ZXh0LT5jb250ZXh0U2l6ZSk7CisjZW5kaWYKKyAgICB9IGVsc2UgeworCVhQX0VSUk9SKFhQQVRIX0lOVkFMSURfQ1RYVF9TSVpFKTsKKyAgICB9Cit9CisKKy8qKgorICogeG1sWFBhdGhQb3NpdGlvbkZ1bmN0aW9uOgorICogQGN0eHQ6ICB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQKKyAqIEBuYXJnczogIHRoZSBudW1iZXIgb2YgYXJndW1lbnRzCisgKgorICogSW1wbGVtZW50IHRoZSBwb3NpdGlvbigpIFhQYXRoIGZ1bmN0aW9uCisgKiAgICBudW1iZXIgcG9zaXRpb24oKQorICogVGhlIHBvc2l0aW9uIGZ1bmN0aW9uIHJldHVybnMgdGhlIHBvc2l0aW9uIG9mIHRoZSBjb250ZXh0IG5vZGUgaW4gdGhlCisgKiBjb250ZXh0IG5vZGUgbGlzdC4gVGhlIGZpcnN0IHBvc2l0aW9uIGlzIDEsIGFuZCBzbyB0aGUgbGFzdCBwb3NpdGlvbgorICogd2lsbCBiZSBlcXVhbCB0byBsYXN0KCkuCisgKi8KK3ZvaWQKK3htbFhQYXRoUG9zaXRpb25GdW5jdGlvbih4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCwgaW50IG5hcmdzKSB7CisgICAgQ0hFQ0tfQVJJVFkoMCk7CisgICAgaWYgKGN0eHQtPmNvbnRleHQtPnByb3hpbWl0eVBvc2l0aW9uID49IDApIHsKKwl2YWx1ZVB1c2goY3R4dCwKKwkgICAgICB4bWxYUGF0aENhY2hlTmV3RmxvYXQoY3R4dC0+Y29udGV4dCwKKwkJKGRvdWJsZSkgY3R4dC0+Y29udGV4dC0+cHJveGltaXR5UG9zaXRpb24pKTsKKyNpZmRlZiBERUJVR19FWFBSCisJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICJwb3NpdGlvbigpIDogJWRcbiIsCisJCWN0eHQtPmNvbnRleHQtPnByb3hpbWl0eVBvc2l0aW9uKTsKKyNlbmRpZgorICAgIH0gZWxzZSB7CisJWFBfRVJST1IoWFBBVEhfSU5WQUxJRF9DVFhUX1BPU0lUSU9OKTsKKyAgICB9Cit9CisKKy8qKgorICogeG1sWFBhdGhDb3VudEZ1bmN0aW9uOgorICogQGN0eHQ6ICB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQKKyAqIEBuYXJnczogIHRoZSBudW1iZXIgb2YgYXJndW1lbnRzCisgKgorICogSW1wbGVtZW50IHRoZSBjb3VudCgpIFhQYXRoIGZ1bmN0aW9uCisgKiAgICBudW1iZXIgY291bnQobm9kZS1zZXQpCisgKi8KK3ZvaWQKK3htbFhQYXRoQ291bnRGdW5jdGlvbih4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCwgaW50IG5hcmdzKSB7CisgICAgeG1sWFBhdGhPYmplY3RQdHIgY3VyOworCisgICAgQ0hFQ0tfQVJJVFkoMSk7CisgICAgaWYgKChjdHh0LT52YWx1ZSA9PSBOVUxMKSB8fAorCSgoY3R4dC0+dmFsdWUtPnR5cGUgIT0gWFBBVEhfTk9ERVNFVCkgJiYKKwkgKGN0eHQtPnZhbHVlLT50eXBlICE9IFhQQVRIX1hTTFRfVFJFRSkpKQorCVhQX0VSUk9SKFhQQVRIX0lOVkFMSURfVFlQRSk7CisgICAgY3VyID0gdmFsdWVQb3AoY3R4dCk7CisKKyAgICBpZiAoKGN1ciA9PSBOVUxMKSB8fCAoY3VyLT5ub2Rlc2V0dmFsID09IE5VTEwpKQorCXZhbHVlUHVzaChjdHh0LCB4bWxYUGF0aENhY2hlTmV3RmxvYXQoY3R4dC0+Y29udGV4dCwgKGRvdWJsZSkgMCkpOworICAgIGVsc2UgaWYgKChjdXItPnR5cGUgPT0gWFBBVEhfTk9ERVNFVCkgfHwgKGN1ci0+dHlwZSA9PSBYUEFUSF9YU0xUX1RSRUUpKSB7CisJdmFsdWVQdXNoKGN0eHQsIHhtbFhQYXRoQ2FjaGVOZXdGbG9hdChjdHh0LT5jb250ZXh0LAorCSAgICAoZG91YmxlKSBjdXItPm5vZGVzZXR2YWwtPm5vZGVOcikpOworICAgIH0gZWxzZSB7CisJaWYgKChjdXItPm5vZGVzZXR2YWwtPm5vZGVOciAhPSAxKSB8fAorCSAgICAoY3VyLT5ub2Rlc2V0dmFsLT5ub2RlVGFiID09IE5VTEwpKSB7CisJICAgIHZhbHVlUHVzaChjdHh0LCB4bWxYUGF0aENhY2hlTmV3RmxvYXQoY3R4dC0+Y29udGV4dCwgKGRvdWJsZSkgMCkpOworCX0gZWxzZSB7CisJICAgIHhtbE5vZGVQdHIgdG1wOworCSAgICBpbnQgaSA9IDA7CisKKwkgICAgdG1wID0gY3VyLT5ub2Rlc2V0dmFsLT5ub2RlVGFiWzBdOworCSAgICBpZiAoKHRtcCAhPSBOVUxMKSAmJiAodG1wLT50eXBlICE9IFhNTF9OQU1FU1BBQ0VfREVDTCkpIHsKKwkJdG1wID0gdG1wLT5jaGlsZHJlbjsKKwkJd2hpbGUgKHRtcCAhPSBOVUxMKSB7CisJCSAgICB0bXAgPSB0bXAtPm5leHQ7CisJCSAgICBpKys7CisJCX0KKwkgICAgfQorCSAgICB2YWx1ZVB1c2goY3R4dCwgeG1sWFBhdGhDYWNoZU5ld0Zsb2F0KGN0eHQtPmNvbnRleHQsIChkb3VibGUpIGkpKTsKKwl9CisgICAgfQorICAgIHhtbFhQYXRoUmVsZWFzZU9iamVjdChjdHh0LT5jb250ZXh0LCBjdXIpOworfQorCisvKioKKyAqIHhtbFhQYXRoR2V0RWxlbWVudHNCeUlkczoKKyAqIEBkb2M6ICB0aGUgZG9jdW1lbnQKKyAqIEBpZHM6ICBhIHdoaXRlc3BhY2Ugc2VwYXJhdGVkIGxpc3Qgb2YgSURzCisgKgorICogU2VsZWN0cyBlbGVtZW50cyBieSB0aGVpciB1bmlxdWUgSUQuCisgKgorICogUmV0dXJucyBhIG5vZGUtc2V0IG9mIHNlbGVjdGVkIGVsZW1lbnRzLgorICovCitzdGF0aWMgeG1sTm9kZVNldFB0cgoreG1sWFBhdGhHZXRFbGVtZW50c0J5SWRzICh4bWxEb2NQdHIgZG9jLCBjb25zdCB4bWxDaGFyICppZHMpIHsKKyAgICB4bWxOb2RlU2V0UHRyIHJldDsKKyAgICBjb25zdCB4bWxDaGFyICpjdXIgPSBpZHM7CisgICAgeG1sQ2hhciAqSUQ7CisgICAgeG1sQXR0clB0ciBhdHRyOworICAgIHhtbE5vZGVQdHIgZWxlbSA9IE5VTEw7CisKKyAgICBpZiAoaWRzID09IE5VTEwpIHJldHVybihOVUxMKTsKKworICAgIHJldCA9IHhtbFhQYXRoTm9kZVNldENyZWF0ZShOVUxMKTsKKyAgICBpZiAocmV0ID09IE5VTEwpCisgICAgICAgIHJldHVybihyZXQpOworCisgICAgd2hpbGUgKElTX0JMQU5LX0NIKCpjdXIpKSBjdXIrKzsKKyAgICB3aGlsZSAoKmN1ciAhPSAwKSB7CisJd2hpbGUgKCghSVNfQkxBTktfQ0goKmN1cikpICYmICgqY3VyICE9IDApKQorCSAgICBjdXIrKzsKKworICAgICAgICBJRCA9IHhtbFN0cm5kdXAoaWRzLCBjdXIgLSBpZHMpOworCWlmIChJRCAhPSBOVUxMKSB7CisJICAgIC8qCisJICAgICAqIFdlIHVzZWQgdG8gY2hlY2sgdGhlIGZhY3QgdGhhdCB0aGUgdmFsdWUgcGFzc2VkCisJICAgICAqIHdhcyBhbiBOQ05hbWUsIGJ1dCB0aGlzIGdlbmVyYXRlZCBtdWNoIHRyb3VibGVzIGZvcgorCSAgICAgKiBtZSBhbmQgQWxla3NleSBTYW5pbiwgcGVvcGxlIGJsYXRhbnRseSB2aW9sYXRlZCB0aGF0CisJICAgICAqIGNvbnN0YWludCwgbGlrZSBWaXNhM0Qgc3BlYy4KKwkgICAgICogaWYgKHhtbFZhbGlkYXRlTkNOYW1lKElELCAxKSA9PSAwKQorCSAgICAgKi8KKwkgICAgYXR0ciA9IHhtbEdldElEKGRvYywgSUQpOworCSAgICBpZiAoYXR0ciAhPSBOVUxMKSB7CisJCWlmIChhdHRyLT50eXBlID09IFhNTF9BVFRSSUJVVEVfTk9ERSkKKwkJICAgIGVsZW0gPSBhdHRyLT5wYXJlbnQ7CisJCWVsc2UgaWYgKGF0dHItPnR5cGUgPT0gWE1MX0VMRU1FTlRfTk9ERSkKKwkJICAgIGVsZW0gPSAoeG1sTm9kZVB0cikgYXR0cjsKKwkJZWxzZQorCQkgICAgZWxlbSA9IE5VTEw7CisJCWlmIChlbGVtICE9IE5VTEwpCisJCSAgICB4bWxYUGF0aE5vZGVTZXRBZGQocmV0LCBlbGVtKTsKKwkgICAgfQorCSAgICB4bWxGcmVlKElEKTsKKwl9CisKKwl3aGlsZSAoSVNfQkxBTktfQ0goKmN1cikpIGN1cisrOworCWlkcyA9IGN1cjsKKyAgICB9CisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogeG1sWFBhdGhJZEZ1bmN0aW9uOgorICogQGN0eHQ6ICB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQKKyAqIEBuYXJnczogIHRoZSBudW1iZXIgb2YgYXJndW1lbnRzCisgKgorICogSW1wbGVtZW50IHRoZSBpZCgpIFhQYXRoIGZ1bmN0aW9uCisgKiAgICBub2RlLXNldCBpZChvYmplY3QpCisgKiBUaGUgaWQgZnVuY3Rpb24gc2VsZWN0cyBlbGVtZW50cyBieSB0aGVpciB1bmlxdWUgSUQKKyAqIChzZWUgWzUuMi4xIFVuaXF1ZSBJRHNdKS4gV2hlbiB0aGUgYXJndW1lbnQgdG8gaWQgaXMgb2YgdHlwZSBub2RlLXNldCwKKyAqIHRoZW4gdGhlIHJlc3VsdCBpcyB0aGUgdW5pb24gb2YgdGhlIHJlc3VsdCBvZiBhcHBseWluZyBpZCB0byB0aGUKKyAqIHN0cmluZyB2YWx1ZSBvZiBlYWNoIG9mIHRoZSBub2RlcyBpbiB0aGUgYXJndW1lbnQgbm9kZS1zZXQuIFdoZW4gdGhlCisgKiBhcmd1bWVudCB0byBpZCBpcyBvZiBhbnkgb3RoZXIgdHlwZSwgdGhlIGFyZ3VtZW50IGlzIGNvbnZlcnRlZCB0byBhCisgKiBzdHJpbmcgYXMgaWYgYnkgYSBjYWxsIHRvIHRoZSBzdHJpbmcgZnVuY3Rpb247IHRoZSBzdHJpbmcgaXMgc3BsaXQKKyAqIGludG8gYSB3aGl0ZXNwYWNlLXNlcGFyYXRlZCBsaXN0IG9mIHRva2VucyAod2hpdGVzcGFjZSBpcyBhbnkgc2VxdWVuY2UKKyAqIG9mIGNoYXJhY3RlcnMgbWF0Y2hpbmcgdGhlIHByb2R1Y3Rpb24gUyk7IHRoZSByZXN1bHQgaXMgYSBub2RlLXNldAorICogY29udGFpbmluZyB0aGUgZWxlbWVudHMgaW4gdGhlIHNhbWUgZG9jdW1lbnQgYXMgdGhlIGNvbnRleHQgbm9kZSB0aGF0CisgKiBoYXZlIGEgdW5pcXVlIElEIGVxdWFsIHRvIGFueSBvZiB0aGUgdG9rZW5zIGluIHRoZSBsaXN0LgorICovCit2b2lkCit4bWxYUGF0aElkRnVuY3Rpb24oeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQsIGludCBuYXJncykgeworICAgIHhtbENoYXIgKnRva2VuczsKKyAgICB4bWxOb2RlU2V0UHRyIHJldDsKKyAgICB4bWxYUGF0aE9iamVjdFB0ciBvYmo7CisKKyAgICBDSEVDS19BUklUWSgxKTsKKyAgICBvYmogPSB2YWx1ZVBvcChjdHh0KTsKKyAgICBpZiAob2JqID09IE5VTEwpIFhQX0VSUk9SKFhQQVRIX0lOVkFMSURfT1BFUkFORCk7CisgICAgaWYgKChvYmotPnR5cGUgPT0gWFBBVEhfTk9ERVNFVCkgfHwgKG9iai0+dHlwZSA9PSBYUEFUSF9YU0xUX1RSRUUpKSB7CisJeG1sTm9kZVNldFB0ciBuczsKKwlpbnQgaTsKKworCXJldCA9IHhtbFhQYXRoTm9kZVNldENyZWF0ZShOVUxMKTsKKyAgICAgICAgLyoKKyAgICAgICAgICogRklYTUUgLS0gaW4gYW4gb3V0LW9mLW1lbW9yeSBjb25kaXRpb24gdGhpcyB3aWxsIGJlaGF2ZSBiYWRseS4KKyAgICAgICAgICogVGhlIHNvbHV0aW9uIGlzIG5vdCBjbGVhciAtLSB3ZSBhbHJlYWR5IHBvcHBlZCBhbiBpdGVtIGZyb20KKyAgICAgICAgICogY3R4dCwgc28gdGhlIG9iamVjdCBpcyBpbiBhIGNvcnJ1cHQgc3RhdGUuCisgICAgICAgICAqLworCisJaWYgKG9iai0+bm9kZXNldHZhbCAhPSBOVUxMKSB7CisJICAgIGZvciAoaSA9IDA7IGkgPCBvYmotPm5vZGVzZXR2YWwtPm5vZGVOcjsgaSsrKSB7CisJCXRva2VucyA9CisJCSAgICB4bWxYUGF0aENhc3ROb2RlVG9TdHJpbmcob2JqLT5ub2Rlc2V0dmFsLT5ub2RlVGFiW2ldKTsKKwkJbnMgPSB4bWxYUGF0aEdldEVsZW1lbnRzQnlJZHMoY3R4dC0+Y29udGV4dC0+ZG9jLCB0b2tlbnMpOworCQlyZXQgPSB4bWxYUGF0aE5vZGVTZXRNZXJnZShyZXQsIG5zKTsKKwkJeG1sWFBhdGhGcmVlTm9kZVNldChucyk7CisJCWlmICh0b2tlbnMgIT0gTlVMTCkKKwkJICAgIHhtbEZyZWUodG9rZW5zKTsKKwkgICAgfQorCX0KKwl4bWxYUGF0aFJlbGVhc2VPYmplY3QoY3R4dC0+Y29udGV4dCwgb2JqKTsKKwl2YWx1ZVB1c2goY3R4dCwgeG1sWFBhdGhDYWNoZVdyYXBOb2RlU2V0KGN0eHQtPmNvbnRleHQsIHJldCkpOworCXJldHVybjsKKyAgICB9CisgICAgb2JqID0geG1sWFBhdGhDYWNoZUNvbnZlcnRTdHJpbmcoY3R4dC0+Y29udGV4dCwgb2JqKTsKKyAgICByZXQgPSB4bWxYUGF0aEdldEVsZW1lbnRzQnlJZHMoY3R4dC0+Y29udGV4dC0+ZG9jLCBvYmotPnN0cmluZ3ZhbCk7CisgICAgdmFsdWVQdXNoKGN0eHQsIHhtbFhQYXRoQ2FjaGVXcmFwTm9kZVNldChjdHh0LT5jb250ZXh0LCByZXQpKTsKKyAgICB4bWxYUGF0aFJlbGVhc2VPYmplY3QoY3R4dC0+Y29udGV4dCwgb2JqKTsKKyAgICByZXR1cm47Cit9CisKKy8qKgorICogeG1sWFBhdGhMb2NhbE5hbWVGdW5jdGlvbjoKKyAqIEBjdHh0OiAgdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0CisgKiBAbmFyZ3M6ICB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cworICoKKyAqIEltcGxlbWVudCB0aGUgbG9jYWwtbmFtZSgpIFhQYXRoIGZ1bmN0aW9uCisgKiAgICBzdHJpbmcgbG9jYWwtbmFtZShub2RlLXNldD8pCisgKiBUaGUgbG9jYWwtbmFtZSBmdW5jdGlvbiByZXR1cm5zIGEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIGxvY2FsIHBhcnQKKyAqIG9mIHRoZSBuYW1lIG9mIHRoZSBub2RlIGluIHRoZSBhcmd1bWVudCBub2RlLXNldCB0aGF0IGlzIGZpcnN0IGluCisgKiBkb2N1bWVudCBvcmRlci4gSWYgdGhlIG5vZGUtc2V0IGlzIGVtcHR5IG9yIHRoZSBmaXJzdCBub2RlIGhhcyBubworICogbmFtZSwgYW4gZW1wdHkgc3RyaW5nIGlzIHJldHVybmVkLiBJZiB0aGUgYXJndW1lbnQgaXMgb21pdHRlZCBpdAorICogZGVmYXVsdHMgdG8gdGhlIGNvbnRleHQgbm9kZS4KKyAqLwordm9pZAoreG1sWFBhdGhMb2NhbE5hbWVGdW5jdGlvbih4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCwgaW50IG5hcmdzKSB7CisgICAgeG1sWFBhdGhPYmplY3RQdHIgY3VyOworCisgICAgaWYgKGN0eHQgPT0gTlVMTCkgcmV0dXJuOworCisgICAgaWYgKG5hcmdzID09IDApIHsKKwl2YWx1ZVB1c2goY3R4dCwgeG1sWFBhdGhDYWNoZU5ld05vZGVTZXQoY3R4dC0+Y29udGV4dCwKKwkgICAgY3R4dC0+Y29udGV4dC0+bm9kZSkpOworCW5hcmdzID0gMTsKKyAgICB9CisKKyAgICBDSEVDS19BUklUWSgxKTsKKyAgICBpZiAoKGN0eHQtPnZhbHVlID09IE5VTEwpIHx8CisJKChjdHh0LT52YWx1ZS0+dHlwZSAhPSBYUEFUSF9OT0RFU0VUKSAmJgorCSAoY3R4dC0+dmFsdWUtPnR5cGUgIT0gWFBBVEhfWFNMVF9UUkVFKSkpCisJWFBfRVJST1IoWFBBVEhfSU5WQUxJRF9UWVBFKTsKKyAgICBjdXIgPSB2YWx1ZVBvcChjdHh0KTsKKworICAgIGlmICgoY3VyLT5ub2Rlc2V0dmFsID09IE5VTEwpIHx8IChjdXItPm5vZGVzZXR2YWwtPm5vZGVOciA9PSAwKSkgeworCXZhbHVlUHVzaChjdHh0LCB4bWxYUGF0aENhY2hlTmV3Q1N0cmluZyhjdHh0LT5jb250ZXh0LCAiIikpOworICAgIH0gZWxzZSB7CisJaW50IGkgPSAwOyAvKiBTaG91bGQgYmUgZmlyc3QgaW4gZG9jdW1lbnQgb3JkZXIgISEhISEgKi8KKwlzd2l0Y2ggKGN1ci0+bm9kZXNldHZhbC0+bm9kZVRhYltpXS0+dHlwZSkgeworCWNhc2UgWE1MX0VMRU1FTlRfTk9ERToKKwljYXNlIFhNTF9BVFRSSUJVVEVfTk9ERToKKwljYXNlIFhNTF9QSV9OT0RFOgorCSAgICBpZiAoY3VyLT5ub2Rlc2V0dmFsLT5ub2RlVGFiW2ldLT5uYW1lWzBdID09ICcgJykKKwkJdmFsdWVQdXNoKGN0eHQsIHhtbFhQYXRoQ2FjaGVOZXdDU3RyaW5nKGN0eHQtPmNvbnRleHQsICIiKSk7CisJICAgIGVsc2UKKwkJdmFsdWVQdXNoKGN0eHQsCisJCSAgICAgIHhtbFhQYXRoQ2FjaGVOZXdTdHJpbmcoY3R4dC0+Y29udGV4dCwKKwkJCWN1ci0+bm9kZXNldHZhbC0+bm9kZVRhYltpXS0+bmFtZSkpOworCSAgICBicmVhazsKKwljYXNlIFhNTF9OQU1FU1BBQ0VfREVDTDoKKwkgICAgdmFsdWVQdXNoKGN0eHQsIHhtbFhQYXRoQ2FjaGVOZXdTdHJpbmcoY3R4dC0+Y29udGV4dCwKKwkJCSgoeG1sTnNQdHIpY3VyLT5ub2Rlc2V0dmFsLT5ub2RlVGFiW2ldKS0+cHJlZml4KSk7CisJICAgIGJyZWFrOworCWRlZmF1bHQ6CisJICAgIHZhbHVlUHVzaChjdHh0LCB4bWxYUGF0aENhY2hlTmV3Q1N0cmluZyhjdHh0LT5jb250ZXh0LCAiIikpOworCX0KKyAgICB9CisgICAgeG1sWFBhdGhSZWxlYXNlT2JqZWN0KGN0eHQtPmNvbnRleHQsIGN1cik7Cit9CisKKy8qKgorICogeG1sWFBhdGhOYW1lc3BhY2VVUklGdW5jdGlvbjoKKyAqIEBjdHh0OiAgdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0CisgKiBAbmFyZ3M6ICB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cworICoKKyAqIEltcGxlbWVudCB0aGUgbmFtZXNwYWNlLXVyaSgpIFhQYXRoIGZ1bmN0aW9uCisgKiAgICBzdHJpbmcgbmFtZXNwYWNlLXVyaShub2RlLXNldD8pCisgKiBUaGUgbmFtZXNwYWNlLXVyaSBmdW5jdGlvbiByZXR1cm5zIGEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlCisgKiBuYW1lc3BhY2UgVVJJIG9mIHRoZSBleHBhbmRlZCBuYW1lIG9mIHRoZSBub2RlIGluIHRoZSBhcmd1bWVudAorICogbm9kZS1zZXQgdGhhdCBpcyBmaXJzdCBpbiBkb2N1bWVudCBvcmRlci4gSWYgdGhlIG5vZGUtc2V0IGlzIGVtcHR5LAorICogdGhlIGZpcnN0IG5vZGUgaGFzIG5vIG5hbWUsIG9yIHRoZSBleHBhbmRlZCBuYW1lIGhhcyBubyBuYW1lc3BhY2UKKyAqIFVSSSwgYW4gZW1wdHkgc3RyaW5nIGlzIHJldHVybmVkLiBJZiB0aGUgYXJndW1lbnQgaXMgb21pdHRlZCBpdAorICogZGVmYXVsdHMgdG8gdGhlIGNvbnRleHQgbm9kZS4KKyAqLwordm9pZAoreG1sWFBhdGhOYW1lc3BhY2VVUklGdW5jdGlvbih4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCwgaW50IG5hcmdzKSB7CisgICAgeG1sWFBhdGhPYmplY3RQdHIgY3VyOworCisgICAgaWYgKGN0eHQgPT0gTlVMTCkgcmV0dXJuOworCisgICAgaWYgKG5hcmdzID09IDApIHsKKwl2YWx1ZVB1c2goY3R4dCwgeG1sWFBhdGhDYWNoZU5ld05vZGVTZXQoY3R4dC0+Y29udGV4dCwKKwkgICAgY3R4dC0+Y29udGV4dC0+bm9kZSkpOworCW5hcmdzID0gMTsKKyAgICB9CisgICAgQ0hFQ0tfQVJJVFkoMSk7CisgICAgaWYgKChjdHh0LT52YWx1ZSA9PSBOVUxMKSB8fAorCSgoY3R4dC0+dmFsdWUtPnR5cGUgIT0gWFBBVEhfTk9ERVNFVCkgJiYKKwkgKGN0eHQtPnZhbHVlLT50eXBlICE9IFhQQVRIX1hTTFRfVFJFRSkpKQorCVhQX0VSUk9SKFhQQVRIX0lOVkFMSURfVFlQRSk7CisgICAgY3VyID0gdmFsdWVQb3AoY3R4dCk7CisKKyAgICBpZiAoKGN1ci0+bm9kZXNldHZhbCA9PSBOVUxMKSB8fCAoY3VyLT5ub2Rlc2V0dmFsLT5ub2RlTnIgPT0gMCkpIHsKKwl2YWx1ZVB1c2goY3R4dCwgeG1sWFBhdGhDYWNoZU5ld0NTdHJpbmcoY3R4dC0+Y29udGV4dCwgIiIpKTsKKyAgICB9IGVsc2UgeworCWludCBpID0gMDsgLyogU2hvdWxkIGJlIGZpcnN0IGluIGRvY3VtZW50IG9yZGVyICEhISEhICovCisJc3dpdGNoIChjdXItPm5vZGVzZXR2YWwtPm5vZGVUYWJbaV0tPnR5cGUpIHsKKwljYXNlIFhNTF9FTEVNRU5UX05PREU6CisJY2FzZSBYTUxfQVRUUklCVVRFX05PREU6CisJICAgIGlmIChjdXItPm5vZGVzZXR2YWwtPm5vZGVUYWJbaV0tPm5zID09IE5VTEwpCisJCXZhbHVlUHVzaChjdHh0LCB4bWxYUGF0aENhY2hlTmV3Q1N0cmluZyhjdHh0LT5jb250ZXh0LCAiIikpOworCSAgICBlbHNlCisJCXZhbHVlUHVzaChjdHh0LCB4bWxYUGF0aENhY2hlTmV3U3RyaW5nKGN0eHQtPmNvbnRleHQsCisJCQkgIGN1ci0+bm9kZXNldHZhbC0+bm9kZVRhYltpXS0+bnMtPmhyZWYpKTsKKwkgICAgYnJlYWs7CisJZGVmYXVsdDoKKwkgICAgdmFsdWVQdXNoKGN0eHQsIHhtbFhQYXRoQ2FjaGVOZXdDU3RyaW5nKGN0eHQtPmNvbnRleHQsICIiKSk7CisJfQorICAgIH0KKyAgICB4bWxYUGF0aFJlbGVhc2VPYmplY3QoY3R4dC0+Y29udGV4dCwgY3VyKTsKK30KKworLyoqCisgKiB4bWxYUGF0aE5hbWVGdW5jdGlvbjoKKyAqIEBjdHh0OiAgdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0CisgKiBAbmFyZ3M6ICB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cworICoKKyAqIEltcGxlbWVudCB0aGUgbmFtZSgpIFhQYXRoIGZ1bmN0aW9uCisgKiAgICBzdHJpbmcgbmFtZShub2RlLXNldD8pCisgKiBUaGUgbmFtZSBmdW5jdGlvbiByZXR1cm5zIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBRTmFtZSByZXByZXNlbnRpbmcKKyAqIHRoZSBuYW1lIG9mIHRoZSBub2RlIGluIHRoZSBhcmd1bWVudCBub2RlLXNldCB0aGF0IGlzIGZpcnN0IGluIGRvY3VtZW50CisgKiBvcmRlci4gVGhlIFFOYW1lIG11c3QgcmVwcmVzZW50IHRoZSBuYW1lIHdpdGggcmVzcGVjdCB0byB0aGUgbmFtZXNwYWNlCisgKiBkZWNsYXJhdGlvbnMgaW4gZWZmZWN0IG9uIHRoZSBub2RlIHdob3NlIG5hbWUgaXMgYmVpbmcgcmVwcmVzZW50ZWQuCisgKiBUeXBpY2FsbHksIHRoaXMgd2lsbCBiZSB0aGUgZm9ybSBpbiB3aGljaCB0aGUgbmFtZSBvY2N1cnJlZCBpbiB0aGUgWE1MCisgKiBzb3VyY2UuIFRoaXMgbmVlZCBub3QgYmUgdGhlIGNhc2UgaWYgdGhlcmUgYXJlIG5hbWVzcGFjZSBkZWNsYXJhdGlvbnMKKyAqIGluIGVmZmVjdCBvbiB0aGUgbm9kZSB0aGF0IGFzc29jaWF0ZSBtdWx0aXBsZSBwcmVmaXhlcyB3aXRoIHRoZSBzYW1lCisgKiBuYW1lc3BhY2UuIEhvd2V2ZXIsIGFuIGltcGxlbWVudGF0aW9uIG1heSBpbmNsdWRlIGluZm9ybWF0aW9uIGFib3V0CisgKiB0aGUgb3JpZ2luYWwgcHJlZml4IGluIGl0cyByZXByZXNlbnRhdGlvbiBvZiBub2RlczsgaW4gdGhpcyBjYXNlLCBhbgorICogaW1wbGVtZW50YXRpb24gY2FuIGVuc3VyZSB0aGF0IHRoZSByZXR1cm5lZCBzdHJpbmcgaXMgYWx3YXlzIHRoZSBzYW1lCisgKiBhcyB0aGUgUU5hbWUgdXNlZCBpbiB0aGUgWE1MIHNvdXJjZS4gSWYgdGhlIGFyZ3VtZW50IGl0IG9taXR0ZWQgaXQKKyAqIGRlZmF1bHRzIHRvIHRoZSBjb250ZXh0IG5vZGUuCisgKiBMaWJ4bWwga2VlcCB0aGUgb3JpZ2luYWwgcHJlZml4IHNvIHRoZSAicmVhbCBxdWFsaWZpZWQgbmFtZSIgdXNlZCBpcworICogcmV0dXJuZWQuCisgKi8KK3N0YXRpYyB2b2lkCit4bWxYUGF0aE5hbWVGdW5jdGlvbih4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCwgaW50IG5hcmdzKQoreworICAgIHhtbFhQYXRoT2JqZWN0UHRyIGN1cjsKKworICAgIGlmIChuYXJncyA9PSAwKSB7CisJdmFsdWVQdXNoKGN0eHQsIHhtbFhQYXRoQ2FjaGVOZXdOb2RlU2V0KGN0eHQtPmNvbnRleHQsCisJICAgIGN0eHQtPmNvbnRleHQtPm5vZGUpKTsKKyAgICAgICAgbmFyZ3MgPSAxOworICAgIH0KKworICAgIENIRUNLX0FSSVRZKDEpOworICAgIGlmICgoY3R4dC0+dmFsdWUgPT0gTlVMTCkgfHwKKyAgICAgICAgKChjdHh0LT52YWx1ZS0+dHlwZSAhPSBYUEFUSF9OT0RFU0VUKSAmJgorICAgICAgICAgKGN0eHQtPnZhbHVlLT50eXBlICE9IFhQQVRIX1hTTFRfVFJFRSkpKQorICAgICAgICBYUF9FUlJPUihYUEFUSF9JTlZBTElEX1RZUEUpOworICAgIGN1ciA9IHZhbHVlUG9wKGN0eHQpOworCisgICAgaWYgKChjdXItPm5vZGVzZXR2YWwgPT0gTlVMTCkgfHwgKGN1ci0+bm9kZXNldHZhbC0+bm9kZU5yID09IDApKSB7CisgICAgICAgIHZhbHVlUHVzaChjdHh0LCB4bWxYUGF0aENhY2hlTmV3Q1N0cmluZyhjdHh0LT5jb250ZXh0LCAiIikpOworICAgIH0gZWxzZSB7CisgICAgICAgIGludCBpID0gMDsgICAgICAgICAgICAgIC8qIFNob3VsZCBiZSBmaXJzdCBpbiBkb2N1bWVudCBvcmRlciAhISEhISAqLworCisgICAgICAgIHN3aXRjaCAoY3VyLT5ub2Rlc2V0dmFsLT5ub2RlVGFiW2ldLT50eXBlKSB7CisgICAgICAgICAgICBjYXNlIFhNTF9FTEVNRU5UX05PREU6CisgICAgICAgICAgICBjYXNlIFhNTF9BVFRSSUJVVEVfTk9ERToKKwkJaWYgKGN1ci0+bm9kZXNldHZhbC0+bm9kZVRhYltpXS0+bmFtZVswXSA9PSAnICcpCisJCSAgICB2YWx1ZVB1c2goY3R4dCwKKwkJCXhtbFhQYXRoQ2FjaGVOZXdDU3RyaW5nKGN0eHQtPmNvbnRleHQsICIiKSk7CisJCWVsc2UgaWYgKChjdXItPm5vZGVzZXR2YWwtPm5vZGVUYWJbaV0tPm5zID09IE5VTEwpIHx8CisgICAgICAgICAgICAgICAgICAgICAgICAgKGN1ci0+bm9kZXNldHZhbC0+bm9kZVRhYltpXS0+bnMtPnByZWZpeCA9PSBOVUxMKSkgeworCQkgICAgdmFsdWVQdXNoKGN0eHQsCisJCSAgICAgICAgeG1sWFBhdGhDYWNoZU5ld1N0cmluZyhjdHh0LT5jb250ZXh0LAorCQkJICAgIGN1ci0+bm9kZXNldHZhbC0+bm9kZVRhYltpXS0+bmFtZSkpOworCQl9IGVsc2UgeworCQkgICAgeG1sQ2hhciAqZnVsbG5hbWU7CisKKwkJICAgIGZ1bGxuYW1lID0geG1sQnVpbGRRTmFtZShjdXItPm5vZGVzZXR2YWwtPm5vZGVUYWJbaV0tPm5hbWUsCisJCQkJICAgICBjdXItPm5vZGVzZXR2YWwtPm5vZGVUYWJbaV0tPm5zLT5wcmVmaXgsCisJCQkJICAgICBOVUxMLCAwKTsKKwkJICAgIGlmIChmdWxsbmFtZSA9PSBjdXItPm5vZGVzZXR2YWwtPm5vZGVUYWJbaV0tPm5hbWUpCisJCQlmdWxsbmFtZSA9IHhtbFN0cmR1cChjdXItPm5vZGVzZXR2YWwtPm5vZGVUYWJbaV0tPm5hbWUpOworCQkgICAgaWYgKGZ1bGxuYW1lID09IE5VTEwpIHsKKwkJCVhQX0VSUk9SKFhQQVRIX01FTU9SWV9FUlJPUik7CisJCSAgICB9CisJCSAgICB2YWx1ZVB1c2goY3R4dCwgeG1sWFBhdGhDYWNoZVdyYXBTdHJpbmcoCisJCQljdHh0LT5jb250ZXh0LCBmdWxsbmFtZSkpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGRlZmF1bHQ6CisJCXZhbHVlUHVzaChjdHh0LCB4bWxYUGF0aENhY2hlTmV3Tm9kZVNldChjdHh0LT5jb250ZXh0LAorCQkgICAgY3VyLT5ub2Rlc2V0dmFsLT5ub2RlVGFiW2ldKSk7CisgICAgICAgICAgICAgICAgeG1sWFBhdGhMb2NhbE5hbWVGdW5jdGlvbihjdHh0LCAxKTsKKyAgICAgICAgfQorICAgIH0KKyAgICB4bWxYUGF0aFJlbGVhc2VPYmplY3QoY3R4dC0+Y29udGV4dCwgY3VyKTsKK30KKworCisvKioKKyAqIHhtbFhQYXRoU3RyaW5nRnVuY3Rpb246CisgKiBAY3R4dDogIHRoZSBYUGF0aCBQYXJzZXIgY29udGV4dAorICogQG5hcmdzOiAgdGhlIG51bWJlciBvZiBhcmd1bWVudHMKKyAqCisgKiBJbXBsZW1lbnQgdGhlIHN0cmluZygpIFhQYXRoIGZ1bmN0aW9uCisgKiAgICBzdHJpbmcgc3RyaW5nKG9iamVjdD8pCisgKiBUaGUgc3RyaW5nIGZ1bmN0aW9uIGNvbnZlcnRzIGFuIG9iamVjdCB0byBhIHN0cmluZyBhcyBmb2xsb3dzOgorICogICAgLSBBIG5vZGUtc2V0IGlzIGNvbnZlcnRlZCB0byBhIHN0cmluZyBieSByZXR1cm5pbmcgdGhlIHZhbHVlIG9mCisgKiAgICAgIHRoZSBub2RlIGluIHRoZSBub2RlLXNldCB0aGF0IGlzIGZpcnN0IGluIGRvY3VtZW50IG9yZGVyLgorICogICAgICBJZiB0aGUgbm9kZS1zZXQgaXMgZW1wdHksIGFuIGVtcHR5IHN0cmluZyBpcyByZXR1cm5lZC4KKyAqICAgIC0gQSBudW1iZXIgaXMgY29udmVydGVkIHRvIGEgc3RyaW5nIGFzIGZvbGxvd3MKKyAqICAgICAgKyBOYU4gaXMgY29udmVydGVkIHRvIHRoZSBzdHJpbmcgTmFOCisgKiAgICAgICsgcG9zaXRpdmUgemVybyBpcyBjb252ZXJ0ZWQgdG8gdGhlIHN0cmluZyAwCisgKiAgICAgICsgbmVnYXRpdmUgemVybyBpcyBjb252ZXJ0ZWQgdG8gdGhlIHN0cmluZyAwCisgKiAgICAgICsgcG9zaXRpdmUgaW5maW5pdHkgaXMgY29udmVydGVkIHRvIHRoZSBzdHJpbmcgSW5maW5pdHkKKyAqICAgICAgKyBuZWdhdGl2ZSBpbmZpbml0eSBpcyBjb252ZXJ0ZWQgdG8gdGhlIHN0cmluZyAtSW5maW5pdHkKKyAqICAgICAgKyBpZiB0aGUgbnVtYmVyIGlzIGFuIGludGVnZXIsIHRoZSBudW1iZXIgaXMgcmVwcmVzZW50ZWQgaW4KKyAqICAgICAgICBkZWNpbWFsIGZvcm0gYXMgYSBOdW1iZXIgd2l0aCBubyBkZWNpbWFsIHBvaW50IGFuZCBubyBsZWFkaW5nCisgKiAgICAgICAgemVyb3MsIHByZWNlZGVkIGJ5IGEgbWludXMgc2lnbiAoLSkgaWYgdGhlIG51bWJlciBpcyBuZWdhdGl2ZQorICogICAgICArIG90aGVyd2lzZSwgdGhlIG51bWJlciBpcyByZXByZXNlbnRlZCBpbiBkZWNpbWFsIGZvcm0gYXMgYQorICogICAgICAgIE51bWJlciBpbmNsdWRpbmcgYSBkZWNpbWFsIHBvaW50IHdpdGggYXQgbGVhc3Qgb25lIGRpZ2l0CisgKiAgICAgICAgYmVmb3JlIHRoZSBkZWNpbWFsIHBvaW50IGFuZCBhdCBsZWFzdCBvbmUgZGlnaXQgYWZ0ZXIgdGhlCisgKiAgICAgICAgZGVjaW1hbCBwb2ludCwgcHJlY2VkZWQgYnkgYSBtaW51cyBzaWduICgtKSBpZiB0aGUgbnVtYmVyCisgKiAgICAgICAgaXMgbmVnYXRpdmU7IHRoZXJlIG11c3QgYmUgbm8gbGVhZGluZyB6ZXJvcyBiZWZvcmUgdGhlIGRlY2ltYWwKKyAqICAgICAgICBwb2ludCBhcGFydCBwb3NzaWJseSBmcm9tIHRoZSBvbmUgcmVxdWlyZWQgZGlnaXQgaW1tZWRpYXRlbHkKKyAqICAgICAgICBiZWZvcmUgdGhlIGRlY2ltYWwgcG9pbnQ7IGJleW9uZCB0aGUgb25lIHJlcXVpcmVkIGRpZ2l0CisgKiAgICAgICAgYWZ0ZXIgdGhlIGRlY2ltYWwgcG9pbnQgdGhlcmUgbXVzdCBiZSBhcyBtYW55LCBidXQgb25seSBhcworICogICAgICAgIG1hbnksIG1vcmUgZGlnaXRzIGFzIGFyZSBuZWVkZWQgdG8gdW5pcXVlbHkgZGlzdGluZ3Vpc2ggdGhlCisgKiAgICAgICAgbnVtYmVyIGZyb20gYWxsIG90aGVyIElFRUUgNzU0IG51bWVyaWMgdmFsdWVzLgorICogICAgLSBUaGUgYm9vbGVhbiBmYWxzZSB2YWx1ZSBpcyBjb252ZXJ0ZWQgdG8gdGhlIHN0cmluZyBmYWxzZS4KKyAqICAgICAgVGhlIGJvb2xlYW4gdHJ1ZSB2YWx1ZSBpcyBjb252ZXJ0ZWQgdG8gdGhlIHN0cmluZyB0cnVlLgorICoKKyAqIElmIHRoZSBhcmd1bWVudCBpcyBvbWl0dGVkLCBpdCBkZWZhdWx0cyB0byBhIG5vZGUtc2V0IHdpdGggdGhlCisgKiBjb250ZXh0IG5vZGUgYXMgaXRzIG9ubHkgbWVtYmVyLgorICovCit2b2lkCit4bWxYUGF0aFN0cmluZ0Z1bmN0aW9uKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0LCBpbnQgbmFyZ3MpIHsKKyAgICB4bWxYUGF0aE9iamVjdFB0ciBjdXI7CisKKyAgICBpZiAoY3R4dCA9PSBOVUxMKSByZXR1cm47CisgICAgaWYgKG5hcmdzID09IDApIHsKKyAgICB2YWx1ZVB1c2goY3R4dCwKKwl4bWxYUGF0aENhY2hlV3JhcFN0cmluZyhjdHh0LT5jb250ZXh0LAorCSAgICB4bWxYUGF0aENhc3ROb2RlVG9TdHJpbmcoY3R4dC0+Y29udGV4dC0+bm9kZSkpKTsKKwlyZXR1cm47CisgICAgfQorCisgICAgQ0hFQ0tfQVJJVFkoMSk7CisgICAgY3VyID0gdmFsdWVQb3AoY3R4dCk7CisgICAgaWYgKGN1ciA9PSBOVUxMKSBYUF9FUlJPUihYUEFUSF9JTlZBTElEX09QRVJBTkQpOworICAgIHZhbHVlUHVzaChjdHh0LCB4bWxYUGF0aENhY2hlQ29udmVydFN0cmluZyhjdHh0LT5jb250ZXh0LCBjdXIpKTsKK30KKworLyoqCisgKiB4bWxYUGF0aFN0cmluZ0xlbmd0aEZ1bmN0aW9uOgorICogQGN0eHQ6ICB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQKKyAqIEBuYXJnczogIHRoZSBudW1iZXIgb2YgYXJndW1lbnRzCisgKgorICogSW1wbGVtZW50IHRoZSBzdHJpbmctbGVuZ3RoKCkgWFBhdGggZnVuY3Rpb24KKyAqICAgIG51bWJlciBzdHJpbmctbGVuZ3RoKHN0cmluZz8pCisgKiBUaGUgc3RyaW5nLWxlbmd0aCByZXR1cm5zIHRoZSBudW1iZXIgb2YgY2hhcmFjdGVycyBpbiB0aGUgc3RyaW5nCisgKiAoc2VlIFszLjYgU3RyaW5nc10pLiBJZiB0aGUgYXJndW1lbnQgaXMgb21pdHRlZCwgaXQgZGVmYXVsdHMgdG8KKyAqIHRoZSBjb250ZXh0IG5vZGUgY29udmVydGVkIHRvIGEgc3RyaW5nLCBpbiBvdGhlciB3b3JkcyB0aGUgdmFsdWUKKyAqIG9mIHRoZSBjb250ZXh0IG5vZGUuCisgKi8KK3ZvaWQKK3htbFhQYXRoU3RyaW5nTGVuZ3RoRnVuY3Rpb24oeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQsIGludCBuYXJncykgeworICAgIHhtbFhQYXRoT2JqZWN0UHRyIGN1cjsKKworICAgIGlmIChuYXJncyA9PSAwKSB7CisgICAgICAgIGlmICgoY3R4dCA9PSBOVUxMKSB8fCAoY3R4dC0+Y29udGV4dCA9PSBOVUxMKSkKKwkgICAgcmV0dXJuOworCWlmIChjdHh0LT5jb250ZXh0LT5ub2RlID09IE5VTEwpIHsKKwkgICAgdmFsdWVQdXNoKGN0eHQsIHhtbFhQYXRoQ2FjaGVOZXdGbG9hdChjdHh0LT5jb250ZXh0LCAwKSk7CisJfSBlbHNlIHsKKwkgICAgeG1sQ2hhciAqY29udGVudDsKKworCSAgICBjb250ZW50ID0geG1sWFBhdGhDYXN0Tm9kZVRvU3RyaW5nKGN0eHQtPmNvbnRleHQtPm5vZGUpOworCSAgICB2YWx1ZVB1c2goY3R4dCwgeG1sWFBhdGhDYWNoZU5ld0Zsb2F0KGN0eHQtPmNvbnRleHQsCisJCXhtbFVURjhTdHJsZW4oY29udGVudCkpKTsKKwkgICAgeG1sRnJlZShjb250ZW50KTsKKwl9CisJcmV0dXJuOworICAgIH0KKyAgICBDSEVDS19BUklUWSgxKTsKKyAgICBDQVNUX1RPX1NUUklORzsKKyAgICBDSEVDS19UWVBFKFhQQVRIX1NUUklORyk7CisgICAgY3VyID0gdmFsdWVQb3AoY3R4dCk7CisgICAgdmFsdWVQdXNoKGN0eHQsIHhtbFhQYXRoQ2FjaGVOZXdGbG9hdChjdHh0LT5jb250ZXh0LAorCXhtbFVURjhTdHJsZW4oY3VyLT5zdHJpbmd2YWwpKSk7CisgICAgeG1sWFBhdGhSZWxlYXNlT2JqZWN0KGN0eHQtPmNvbnRleHQsIGN1cik7Cit9CisKKy8qKgorICogeG1sWFBhdGhDb25jYXRGdW5jdGlvbjoKKyAqIEBjdHh0OiAgdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0CisgKiBAbmFyZ3M6ICB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cworICoKKyAqIEltcGxlbWVudCB0aGUgY29uY2F0KCkgWFBhdGggZnVuY3Rpb24KKyAqICAgIHN0cmluZyBjb25jYXQoc3RyaW5nLCBzdHJpbmcsIHN0cmluZyopCisgKiBUaGUgY29uY2F0IGZ1bmN0aW9uIHJldHVybnMgdGhlIGNvbmNhdGVuYXRpb24gb2YgaXRzIGFyZ3VtZW50cy4KKyAqLwordm9pZAoreG1sWFBhdGhDb25jYXRGdW5jdGlvbih4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCwgaW50IG5hcmdzKSB7CisgICAgeG1sWFBhdGhPYmplY3RQdHIgY3VyLCBuZXdvYmo7CisgICAgeG1sQ2hhciAqdG1wOworCisgICAgaWYgKGN0eHQgPT0gTlVMTCkgcmV0dXJuOworICAgIGlmIChuYXJncyA8IDIpIHsKKwlDSEVDS19BUklUWSgyKTsKKyAgICB9CisKKyAgICBDQVNUX1RPX1NUUklORzsKKyAgICBjdXIgPSB2YWx1ZVBvcChjdHh0KTsKKyAgICBpZiAoKGN1ciA9PSBOVUxMKSB8fCAoY3VyLT50eXBlICE9IFhQQVRIX1NUUklORykpIHsKKwl4bWxYUGF0aFJlbGVhc2VPYmplY3QoY3R4dC0+Y29udGV4dCwgY3VyKTsKKwlyZXR1cm47CisgICAgfQorICAgIG5hcmdzLS07CisKKyAgICB3aGlsZSAobmFyZ3MgPiAwKSB7CisJQ0FTVF9UT19TVFJJTkc7CisJbmV3b2JqID0gdmFsdWVQb3AoY3R4dCk7CisJaWYgKChuZXdvYmogPT0gTlVMTCkgfHwgKG5ld29iai0+dHlwZSAhPSBYUEFUSF9TVFJJTkcpKSB7CisJICAgIHhtbFhQYXRoUmVsZWFzZU9iamVjdChjdHh0LT5jb250ZXh0LCBuZXdvYmopOworCSAgICB4bWxYUGF0aFJlbGVhc2VPYmplY3QoY3R4dC0+Y29udGV4dCwgY3VyKTsKKwkgICAgWFBfRVJST1IoWFBBVEhfSU5WQUxJRF9UWVBFKTsKKwl9CisJdG1wID0geG1sU3RyY2F0KG5ld29iai0+c3RyaW5ndmFsLCBjdXItPnN0cmluZ3ZhbCk7CisJbmV3b2JqLT5zdHJpbmd2YWwgPSBjdXItPnN0cmluZ3ZhbDsKKwljdXItPnN0cmluZ3ZhbCA9IHRtcDsKKwl4bWxYUGF0aFJlbGVhc2VPYmplY3QoY3R4dC0+Y29udGV4dCwgbmV3b2JqKTsKKwluYXJncy0tOworICAgIH0KKyAgICB2YWx1ZVB1c2goY3R4dCwgY3VyKTsKK30KKworLyoqCisgKiB4bWxYUGF0aENvbnRhaW5zRnVuY3Rpb246CisgKiBAY3R4dDogIHRoZSBYUGF0aCBQYXJzZXIgY29udGV4dAorICogQG5hcmdzOiAgdGhlIG51bWJlciBvZiBhcmd1bWVudHMKKyAqCisgKiBJbXBsZW1lbnQgdGhlIGNvbnRhaW5zKCkgWFBhdGggZnVuY3Rpb24KKyAqICAgIGJvb2xlYW4gY29udGFpbnMoc3RyaW5nLCBzdHJpbmcpCisgKiBUaGUgY29udGFpbnMgZnVuY3Rpb24gcmV0dXJucyB0cnVlIGlmIHRoZSBmaXJzdCBhcmd1bWVudCBzdHJpbmcKKyAqIGNvbnRhaW5zIHRoZSBzZWNvbmQgYXJndW1lbnQgc3RyaW5nLCBhbmQgb3RoZXJ3aXNlIHJldHVybnMgZmFsc2UuCisgKi8KK3ZvaWQKK3htbFhQYXRoQ29udGFpbnNGdW5jdGlvbih4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCwgaW50IG5hcmdzKSB7CisgICAgeG1sWFBhdGhPYmplY3RQdHIgaGF5LCBuZWVkbGU7CisKKyAgICBDSEVDS19BUklUWSgyKTsKKyAgICBDQVNUX1RPX1NUUklORzsKKyAgICBDSEVDS19UWVBFKFhQQVRIX1NUUklORyk7CisgICAgbmVlZGxlID0gdmFsdWVQb3AoY3R4dCk7CisgICAgQ0FTVF9UT19TVFJJTkc7CisgICAgaGF5ID0gdmFsdWVQb3AoY3R4dCk7CisKKyAgICBpZiAoKGhheSA9PSBOVUxMKSB8fCAoaGF5LT50eXBlICE9IFhQQVRIX1NUUklORykpIHsKKwl4bWxYUGF0aFJlbGVhc2VPYmplY3QoY3R4dC0+Y29udGV4dCwgaGF5KTsKKwl4bWxYUGF0aFJlbGVhc2VPYmplY3QoY3R4dC0+Y29udGV4dCwgbmVlZGxlKTsKKwlYUF9FUlJPUihYUEFUSF9JTlZBTElEX1RZUEUpOworICAgIH0KKyAgICBpZiAoeG1sU3Ryc3RyKGhheS0+c3RyaW5ndmFsLCBuZWVkbGUtPnN0cmluZ3ZhbCkpCisJdmFsdWVQdXNoKGN0eHQsIHhtbFhQYXRoQ2FjaGVOZXdCb29sZWFuKGN0eHQtPmNvbnRleHQsIDEpKTsKKyAgICBlbHNlCisJdmFsdWVQdXNoKGN0eHQsIHhtbFhQYXRoQ2FjaGVOZXdCb29sZWFuKGN0eHQtPmNvbnRleHQsIDApKTsKKyAgICB4bWxYUGF0aFJlbGVhc2VPYmplY3QoY3R4dC0+Y29udGV4dCwgaGF5KTsKKyAgICB4bWxYUGF0aFJlbGVhc2VPYmplY3QoY3R4dC0+Y29udGV4dCwgbmVlZGxlKTsKK30KKworLyoqCisgKiB4bWxYUGF0aFN0YXJ0c1dpdGhGdW5jdGlvbjoKKyAqIEBjdHh0OiAgdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0CisgKiBAbmFyZ3M6ICB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cworICoKKyAqIEltcGxlbWVudCB0aGUgc3RhcnRzLXdpdGgoKSBYUGF0aCBmdW5jdGlvbgorICogICAgYm9vbGVhbiBzdGFydHMtd2l0aChzdHJpbmcsIHN0cmluZykKKyAqIFRoZSBzdGFydHMtd2l0aCBmdW5jdGlvbiByZXR1cm5zIHRydWUgaWYgdGhlIGZpcnN0IGFyZ3VtZW50IHN0cmluZworICogc3RhcnRzIHdpdGggdGhlIHNlY29uZCBhcmd1bWVudCBzdHJpbmcsIGFuZCBvdGhlcndpc2UgcmV0dXJucyBmYWxzZS4KKyAqLwordm9pZAoreG1sWFBhdGhTdGFydHNXaXRoRnVuY3Rpb24oeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQsIGludCBuYXJncykgeworICAgIHhtbFhQYXRoT2JqZWN0UHRyIGhheSwgbmVlZGxlOworICAgIGludCBuOworCisgICAgQ0hFQ0tfQVJJVFkoMik7CisgICAgQ0FTVF9UT19TVFJJTkc7CisgICAgQ0hFQ0tfVFlQRShYUEFUSF9TVFJJTkcpOworICAgIG5lZWRsZSA9IHZhbHVlUG9wKGN0eHQpOworICAgIENBU1RfVE9fU1RSSU5HOworICAgIGhheSA9IHZhbHVlUG9wKGN0eHQpOworCisgICAgaWYgKChoYXkgPT0gTlVMTCkgfHwgKGhheS0+dHlwZSAhPSBYUEFUSF9TVFJJTkcpKSB7CisJeG1sWFBhdGhSZWxlYXNlT2JqZWN0KGN0eHQtPmNvbnRleHQsIGhheSk7CisJeG1sWFBhdGhSZWxlYXNlT2JqZWN0KGN0eHQtPmNvbnRleHQsIG5lZWRsZSk7CisJWFBfRVJST1IoWFBBVEhfSU5WQUxJRF9UWVBFKTsKKyAgICB9CisgICAgbiA9IHhtbFN0cmxlbihuZWVkbGUtPnN0cmluZ3ZhbCk7CisgICAgaWYgKHhtbFN0cm5jbXAoaGF5LT5zdHJpbmd2YWwsIG5lZWRsZS0+c3RyaW5ndmFsLCBuKSkKKyAgICAgICAgdmFsdWVQdXNoKGN0eHQsIHhtbFhQYXRoQ2FjaGVOZXdCb29sZWFuKGN0eHQtPmNvbnRleHQsIDApKTsKKyAgICBlbHNlCisgICAgICAgIHZhbHVlUHVzaChjdHh0LCB4bWxYUGF0aENhY2hlTmV3Qm9vbGVhbihjdHh0LT5jb250ZXh0LCAxKSk7CisgICAgeG1sWFBhdGhSZWxlYXNlT2JqZWN0KGN0eHQtPmNvbnRleHQsIGhheSk7CisgICAgeG1sWFBhdGhSZWxlYXNlT2JqZWN0KGN0eHQtPmNvbnRleHQsIG5lZWRsZSk7Cit9CisKKy8qKgorICogeG1sWFBhdGhTdWJzdHJpbmdGdW5jdGlvbjoKKyAqIEBjdHh0OiAgdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0CisgKiBAbmFyZ3M6ICB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cworICoKKyAqIEltcGxlbWVudCB0aGUgc3Vic3RyaW5nKCkgWFBhdGggZnVuY3Rpb24KKyAqICAgIHN0cmluZyBzdWJzdHJpbmcoc3RyaW5nLCBudW1iZXIsIG51bWJlcj8pCisgKiBUaGUgc3Vic3RyaW5nIGZ1bmN0aW9uIHJldHVybnMgdGhlIHN1YnN0cmluZyBvZiB0aGUgZmlyc3QgYXJndW1lbnQKKyAqIHN0YXJ0aW5nIGF0IHRoZSBwb3NpdGlvbiBzcGVjaWZpZWQgaW4gdGhlIHNlY29uZCBhcmd1bWVudCB3aXRoCisgKiBsZW5ndGggc3BlY2lmaWVkIGluIHRoZSB0aGlyZCBhcmd1bWVudC4gRm9yIGV4YW1wbGUsCisgKiBzdWJzdHJpbmcoIjEyMzQ1IiwyLDMpIHJldHVybnMgIjIzNCIuIElmIHRoZSB0aGlyZCBhcmd1bWVudCBpcyBub3QKKyAqIHNwZWNpZmllZCwgaXQgcmV0dXJucyB0aGUgc3Vic3RyaW5nIHN0YXJ0aW5nIGF0IHRoZSBwb3NpdGlvbiBzcGVjaWZpZWQKKyAqIGluIHRoZSBzZWNvbmQgYXJndW1lbnQgYW5kIGNvbnRpbnVpbmcgdG8gdGhlIGVuZCBvZiB0aGUgc3RyaW5nLiBGb3IKKyAqIGV4YW1wbGUsIHN1YnN0cmluZygiMTIzNDUiLDIpIHJldHVybnMgIjIzNDUiLiAgTW9yZSBwcmVjaXNlbHksIGVhY2gKKyAqIGNoYXJhY3RlciBpbiB0aGUgc3RyaW5nIChzZWUgWzMuNiBTdHJpbmdzXSkgaXMgY29uc2lkZXJlZCB0byBoYXZlIGEKKyAqIG51bWVyaWMgcG9zaXRpb246IHRoZSBwb3NpdGlvbiBvZiB0aGUgZmlyc3QgY2hhcmFjdGVyIGlzIDEsIHRoZSBwb3NpdGlvbgorICogb2YgdGhlIHNlY29uZCBjaGFyYWN0ZXIgaXMgMiBhbmQgc28gb24uIFRoZSByZXR1cm5lZCBzdWJzdHJpbmcgY29udGFpbnMKKyAqIHRob3NlIGNoYXJhY3RlcnMgZm9yIHdoaWNoIHRoZSBwb3NpdGlvbiBvZiB0aGUgY2hhcmFjdGVyIGlzIGdyZWF0ZXIgdGhhbgorICogb3IgZXF1YWwgdG8gdGhlIHNlY29uZCBhcmd1bWVudCBhbmQsIGlmIHRoZSB0aGlyZCBhcmd1bWVudCBpcyBzcGVjaWZpZWQsCisgKiBsZXNzIHRoYW4gdGhlIHN1bSBvZiB0aGUgc2Vjb25kIGFuZCB0aGlyZCBhcmd1bWVudHM7IHRoZSBjb21wYXJpc29ucworICogYW5kIGFkZGl0aW9uIHVzZWQgZm9yIHRoZSBhYm92ZSBmb2xsb3cgdGhlIHN0YW5kYXJkIElFRUUgNzU0IHJ1bGVzLiBUaHVzOgorICogIC0gc3Vic3RyaW5nKCIxMjM0NSIsIDEuNSwgMi42KSByZXR1cm5zICIyMzQiCisgKiAgLSBzdWJzdHJpbmcoIjEyMzQ1IiwgMCwgMykgcmV0dXJucyAiMTIiCisgKiAgLSBzdWJzdHJpbmcoIjEyMzQ1IiwgMCBkaXYgMCwgMykgcmV0dXJucyAiIgorICogIC0gc3Vic3RyaW5nKCIxMjM0NSIsIDEsIDAgZGl2IDApIHJldHVybnMgIiIKKyAqICAtIHN1YnN0cmluZygiMTIzNDUiLCAtNDIsIDEgZGl2IDApIHJldHVybnMgIjEyMzQ1IgorICogIC0gc3Vic3RyaW5nKCIxMjM0NSIsIC0xIGRpdiAwLCAxIGRpdiAwKSByZXR1cm5zICIiCisgKi8KK3ZvaWQKK3htbFhQYXRoU3Vic3RyaW5nRnVuY3Rpb24oeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQsIGludCBuYXJncykgeworICAgIHhtbFhQYXRoT2JqZWN0UHRyIHN0ciwgc3RhcnQsIGxlbjsKKyAgICBkb3VibGUgbGU9MCwgaW47CisgICAgaW50IGksIGwsIG07CisgICAgeG1sQ2hhciAqcmV0OworCisgICAgaWYgKG5hcmdzIDwgMikgeworCUNIRUNLX0FSSVRZKDIpOworICAgIH0KKyAgICBpZiAobmFyZ3MgPiAzKSB7CisJQ0hFQ0tfQVJJVFkoMyk7CisgICAgfQorICAgIC8qCisgICAgICogdGFrZSBjYXJlIG9mIHBvc3NpYmxlIGxhc3QgKHBvc2l0aW9uKSBhcmd1bWVudAorICAgICovCisgICAgaWYgKG5hcmdzID09IDMpIHsKKwlDQVNUX1RPX05VTUJFUjsKKwlDSEVDS19UWVBFKFhQQVRIX05VTUJFUik7CisJbGVuID0gdmFsdWVQb3AoY3R4dCk7CisJbGUgPSBsZW4tPmZsb2F0dmFsOworCXhtbFhQYXRoUmVsZWFzZU9iamVjdChjdHh0LT5jb250ZXh0LCBsZW4pOworICAgIH0KKworICAgIENBU1RfVE9fTlVNQkVSOworICAgIENIRUNLX1RZUEUoWFBBVEhfTlVNQkVSKTsKKyAgICBzdGFydCA9IHZhbHVlUG9wKGN0eHQpOworICAgIGluID0gc3RhcnQtPmZsb2F0dmFsOworICAgIHhtbFhQYXRoUmVsZWFzZU9iamVjdChjdHh0LT5jb250ZXh0LCBzdGFydCk7CisgICAgQ0FTVF9UT19TVFJJTkc7CisgICAgQ0hFQ0tfVFlQRShYUEFUSF9TVFJJTkcpOworICAgIHN0ciA9IHZhbHVlUG9wKGN0eHQpOworICAgIG0gPSB4bWxVVEY4U3RybGVuKChjb25zdCB1bnNpZ25lZCBjaGFyICopc3RyLT5zdHJpbmd2YWwpOworCisgICAgLyoKKyAgICAgKiBJZiBsYXN0IHBvcyBub3QgcHJlc2VudCwgY2FsY3VsYXRlIGxhc3QgcG9zaXRpb24KKyAgICAqLworICAgIGlmIChuYXJncyAhPSAzKSB7CisJbGUgPSAoZG91YmxlKW07CisJaWYgKGluIDwgMS4wKQorCSAgICBpbiA9IDEuMDsKKyAgICB9CisKKyAgICAvKiBOZWVkIHRvIGNoZWNrIGZvciB0aGUgc3BlY2lhbCBjYXNlcyB3aGVyZSBlaXRoZXIKKyAgICAgKiB0aGUgaW5kZXggaXMgTmFOLCB0aGUgbGVuZ3RoIGlzIE5hTiwgb3IgYm90aAorICAgICAqIGFyZ3VtZW50cyBhcmUgaW5maW5pdHkgKHJlbHlpbmcgb24gSW5mICsgLUluZiA9IE5hTikKKyAgICAgKi8KKyAgICBpZiAoIXhtbFhQYXRoSXNJbmYoaW4pICYmICF4bWxYUGF0aElzTmFOKGluICsgbGUpKSB7CisgICAgICAgIC8qCisgICAgICAgICAqIFRvIG1lZXQgdGhlIHJlcXVpcmVtZW50cyBvZiB0aGUgc3BlYywgdGhlIGFyZ3VtZW50cworCSAqIG11c3QgYmUgY29udmVydGVkIHRvIGludGVnZXIgZm9ybWF0IGJlZm9yZQorCSAqIGluaXRpYWwgaW5kZXggY2FsY3VsYXRpb25zIGFyZSBkb25lCisgICAgICAgICAqCisgICAgICAgICAqIEZpcnN0IHdlIGdvIHRvIGludGVnZXIgZm9ybSwgcm91bmRpbmcgdXAKKwkgKiBhbmQgY2hlY2tpbmcgZm9yIHNwZWNpYWwgY2FzZXMKKyAgICAgICAgICovCisgICAgICAgIGkgPSAoaW50KSBpbjsKKyAgICAgICAgaWYgKCgoZG91YmxlKWkpKzAuNSA8PSBpbikgaSsrOworCisJaWYgKHhtbFhQYXRoSXNJbmYobGUpID09IDEpIHsKKwkgICAgbCA9IG07CisJICAgIGlmIChpIDwgMSkKKwkJaSA9IDE7CisJfQorCWVsc2UgaWYgKHhtbFhQYXRoSXNJbmYobGUpID09IC0xIHx8IGxlIDwgMC4wKQorCSAgICBsID0gMDsKKwllbHNlIHsKKwkgICAgbCA9IChpbnQpIGxlOworCSAgICBpZiAoKChkb3VibGUpbCkrMC41IDw9IGxlKSBsKys7CisJfQorCisJLyogTm93IHdlIG5vcm1hbGl6ZSBpbmlkaWNlcyAqLworICAgICAgICBpIC09IDE7CisgICAgICAgIGwgKz0gaTsKKyAgICAgICAgaWYgKGkgPCAwKQorICAgICAgICAgICAgaSA9IDA7CisgICAgICAgIGlmIChsID4gbSkKKyAgICAgICAgICAgIGwgPSBtOworCisgICAgICAgIC8qIG51bWJlciBvZiBjaGFycyB0byBjb3B5ICovCisgICAgICAgIGwgLT0gaTsKKworICAgICAgICByZXQgPSB4bWxVVEY4U3Ryc3ViKHN0ci0+c3RyaW5ndmFsLCBpLCBsKTsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIHJldCA9IE5VTEw7CisgICAgfQorICAgIGlmIChyZXQgPT0gTlVMTCkKKwl2YWx1ZVB1c2goY3R4dCwgeG1sWFBhdGhDYWNoZU5ld0NTdHJpbmcoY3R4dC0+Y29udGV4dCwgIiIpKTsKKyAgICBlbHNlIHsKKwl2YWx1ZVB1c2goY3R4dCwgeG1sWFBhdGhDYWNoZU5ld1N0cmluZyhjdHh0LT5jb250ZXh0LCByZXQpKTsKKwl4bWxGcmVlKHJldCk7CisgICAgfQorICAgIHhtbFhQYXRoUmVsZWFzZU9iamVjdChjdHh0LT5jb250ZXh0LCBzdHIpOworfQorCisvKioKKyAqIHhtbFhQYXRoU3Vic3RyaW5nQmVmb3JlRnVuY3Rpb246CisgKiBAY3R4dDogIHRoZSBYUGF0aCBQYXJzZXIgY29udGV4dAorICogQG5hcmdzOiAgdGhlIG51bWJlciBvZiBhcmd1bWVudHMKKyAqCisgKiBJbXBsZW1lbnQgdGhlIHN1YnN0cmluZy1iZWZvcmUoKSBYUGF0aCBmdW5jdGlvbgorICogICAgc3RyaW5nIHN1YnN0cmluZy1iZWZvcmUoc3RyaW5nLCBzdHJpbmcpCisgKiBUaGUgc3Vic3RyaW5nLWJlZm9yZSBmdW5jdGlvbiByZXR1cm5zIHRoZSBzdWJzdHJpbmcgb2YgdGhlIGZpcnN0CisgKiBhcmd1bWVudCBzdHJpbmcgdGhhdCBwcmVjZWRlcyB0aGUgZmlyc3Qgb2NjdXJyZW5jZSBvZiB0aGUgc2Vjb25kCisgKiBhcmd1bWVudCBzdHJpbmcgaW4gdGhlIGZpcnN0IGFyZ3VtZW50IHN0cmluZywgb3IgdGhlIGVtcHR5IHN0cmluZworICogaWYgdGhlIGZpcnN0IGFyZ3VtZW50IHN0cmluZyBkb2VzIG5vdCBjb250YWluIHRoZSBzZWNvbmQgYXJndW1lbnQKKyAqIHN0cmluZy4gRm9yIGV4YW1wbGUsIHN1YnN0cmluZy1iZWZvcmUoIjE5OTkvMDQvMDEiLCIvIikgcmV0dXJucyAxOTk5LgorICovCit2b2lkCit4bWxYUGF0aFN1YnN0cmluZ0JlZm9yZUZ1bmN0aW9uKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0LCBpbnQgbmFyZ3MpIHsKKyAgeG1sWFBhdGhPYmplY3RQdHIgc3RyOworICB4bWxYUGF0aE9iamVjdFB0ciBmaW5kOworICB4bWxCdWZQdHIgdGFyZ2V0OworICBjb25zdCB4bWxDaGFyICpwb2ludDsKKyAgaW50IG9mZnNldDsKKworICBDSEVDS19BUklUWSgyKTsKKyAgQ0FTVF9UT19TVFJJTkc7CisgIGZpbmQgPSB2YWx1ZVBvcChjdHh0KTsKKyAgQ0FTVF9UT19TVFJJTkc7CisgIHN0ciA9IHZhbHVlUG9wKGN0eHQpOworCisgIHRhcmdldCA9IHhtbEJ1ZkNyZWF0ZSgpOworICBpZiAodGFyZ2V0KSB7CisgICAgcG9pbnQgPSB4bWxTdHJzdHIoc3RyLT5zdHJpbmd2YWwsIGZpbmQtPnN0cmluZ3ZhbCk7CisgICAgaWYgKHBvaW50KSB7CisgICAgICBvZmZzZXQgPSAoaW50KShwb2ludCAtIHN0ci0+c3RyaW5ndmFsKTsKKyAgICAgIHhtbEJ1ZkFkZCh0YXJnZXQsIHN0ci0+c3RyaW5ndmFsLCBvZmZzZXQpOworICAgIH0KKyAgICB2YWx1ZVB1c2goY3R4dCwgeG1sWFBhdGhDYWNoZU5ld1N0cmluZyhjdHh0LT5jb250ZXh0LAorCXhtbEJ1ZkNvbnRlbnQodGFyZ2V0KSkpOworICAgIHhtbEJ1ZkZyZWUodGFyZ2V0KTsKKyAgfQorICB4bWxYUGF0aFJlbGVhc2VPYmplY3QoY3R4dC0+Y29udGV4dCwgc3RyKTsKKyAgeG1sWFBhdGhSZWxlYXNlT2JqZWN0KGN0eHQtPmNvbnRleHQsIGZpbmQpOworfQorCisvKioKKyAqIHhtbFhQYXRoU3Vic3RyaW5nQWZ0ZXJGdW5jdGlvbjoKKyAqIEBjdHh0OiAgdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0CisgKiBAbmFyZ3M6ICB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cworICoKKyAqIEltcGxlbWVudCB0aGUgc3Vic3RyaW5nLWFmdGVyKCkgWFBhdGggZnVuY3Rpb24KKyAqICAgIHN0cmluZyBzdWJzdHJpbmctYWZ0ZXIoc3RyaW5nLCBzdHJpbmcpCisgKiBUaGUgc3Vic3RyaW5nLWFmdGVyIGZ1bmN0aW9uIHJldHVybnMgdGhlIHN1YnN0cmluZyBvZiB0aGUgZmlyc3QKKyAqIGFyZ3VtZW50IHN0cmluZyB0aGF0IGZvbGxvd3MgdGhlIGZpcnN0IG9jY3VycmVuY2Ugb2YgdGhlIHNlY29uZAorICogYXJndW1lbnQgc3RyaW5nIGluIHRoZSBmaXJzdCBhcmd1bWVudCBzdHJpbmcsIG9yIHRoZSBlbXB0eSBzdHJpbmdpCisgKiBpZiB0aGUgZmlyc3QgYXJndW1lbnQgc3RyaW5nIGRvZXMgbm90IGNvbnRhaW4gdGhlIHNlY29uZCBhcmd1bWVudAorICogc3RyaW5nLiBGb3IgZXhhbXBsZSwgc3Vic3RyaW5nLWFmdGVyKCIxOTk5LzA0LzAxIiwiLyIpIHJldHVybnMgMDQvMDEsCisgKiBhbmQgc3Vic3RyaW5nLWFmdGVyKCIxOTk5LzA0LzAxIiwiMTkiKSByZXR1cm5zIDk5LzA0LzAxLgorICovCit2b2lkCit4bWxYUGF0aFN1YnN0cmluZ0FmdGVyRnVuY3Rpb24oeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQsIGludCBuYXJncykgeworICB4bWxYUGF0aE9iamVjdFB0ciBzdHI7CisgIHhtbFhQYXRoT2JqZWN0UHRyIGZpbmQ7CisgIHhtbEJ1ZlB0ciB0YXJnZXQ7CisgIGNvbnN0IHhtbENoYXIgKnBvaW50OworICBpbnQgb2Zmc2V0OworCisgIENIRUNLX0FSSVRZKDIpOworICBDQVNUX1RPX1NUUklORzsKKyAgZmluZCA9IHZhbHVlUG9wKGN0eHQpOworICBDQVNUX1RPX1NUUklORzsKKyAgc3RyID0gdmFsdWVQb3AoY3R4dCk7CisKKyAgdGFyZ2V0ID0geG1sQnVmQ3JlYXRlKCk7CisgIGlmICh0YXJnZXQpIHsKKyAgICBwb2ludCA9IHhtbFN0cnN0cihzdHItPnN0cmluZ3ZhbCwgZmluZC0+c3RyaW5ndmFsKTsKKyAgICBpZiAocG9pbnQpIHsKKyAgICAgIG9mZnNldCA9IChpbnQpKHBvaW50IC0gc3RyLT5zdHJpbmd2YWwpICsgeG1sU3RybGVuKGZpbmQtPnN0cmluZ3ZhbCk7CisgICAgICB4bWxCdWZBZGQodGFyZ2V0LCAmc3RyLT5zdHJpbmd2YWxbb2Zmc2V0XSwKKwkJICAgeG1sU3RybGVuKHN0ci0+c3RyaW5ndmFsKSAtIG9mZnNldCk7CisgICAgfQorICAgIHZhbHVlUHVzaChjdHh0LCB4bWxYUGF0aENhY2hlTmV3U3RyaW5nKGN0eHQtPmNvbnRleHQsCisJeG1sQnVmQ29udGVudCh0YXJnZXQpKSk7CisgICAgeG1sQnVmRnJlZSh0YXJnZXQpOworICB9CisgIHhtbFhQYXRoUmVsZWFzZU9iamVjdChjdHh0LT5jb250ZXh0LCBzdHIpOworICB4bWxYUGF0aFJlbGVhc2VPYmplY3QoY3R4dC0+Y29udGV4dCwgZmluZCk7Cit9CisKKy8qKgorICogeG1sWFBhdGhOb3JtYWxpemVGdW5jdGlvbjoKKyAqIEBjdHh0OiAgdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0CisgKiBAbmFyZ3M6ICB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cworICoKKyAqIEltcGxlbWVudCB0aGUgbm9ybWFsaXplLXNwYWNlKCkgWFBhdGggZnVuY3Rpb24KKyAqICAgIHN0cmluZyBub3JtYWxpemUtc3BhY2Uoc3RyaW5nPykKKyAqIFRoZSBub3JtYWxpemUtc3BhY2UgZnVuY3Rpb24gcmV0dXJucyB0aGUgYXJndW1lbnQgc3RyaW5nIHdpdGggd2hpdGUKKyAqIHNwYWNlIG5vcm1hbGl6ZWQgYnkgc3RyaXBwaW5nIGxlYWRpbmcgYW5kIHRyYWlsaW5nIHdoaXRlc3BhY2UKKyAqIGFuZCByZXBsYWNpbmcgc2VxdWVuY2VzIG9mIHdoaXRlc3BhY2UgY2hhcmFjdGVycyBieSBhIHNpbmdsZQorICogc3BhY2UuIFdoaXRlc3BhY2UgY2hhcmFjdGVycyBhcmUgdGhlIHNhbWUgYWxsb3dlZCBieSB0aGUgUyBwcm9kdWN0aW9uCisgKiBpbiBYTUwuIElmIHRoZSBhcmd1bWVudCBpcyBvbWl0dGVkLCBpdCBkZWZhdWx0cyB0byB0aGUgY29udGV4dAorICogbm9kZSBjb252ZXJ0ZWQgdG8gYSBzdHJpbmcsIGluIG90aGVyIHdvcmRzIHRoZSB2YWx1ZSBvZiB0aGUgY29udGV4dCBub2RlLgorICovCit2b2lkCit4bWxYUGF0aE5vcm1hbGl6ZUZ1bmN0aW9uKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0LCBpbnQgbmFyZ3MpIHsKKyAgeG1sWFBhdGhPYmplY3RQdHIgb2JqID0gTlVMTDsKKyAgeG1sQ2hhciAqc291cmNlID0gTlVMTDsKKyAgeG1sQnVmUHRyIHRhcmdldDsKKyAgeG1sQ2hhciBibGFuazsKKworICBpZiAoY3R4dCA9PSBOVUxMKSByZXR1cm47CisgIGlmIChuYXJncyA9PSAwKSB7CisgICAgLyogVXNlIGN1cnJlbnQgY29udGV4dCBub2RlICovCisgICAgICB2YWx1ZVB1c2goY3R4dCwKKwkgIHhtbFhQYXRoQ2FjaGVXcmFwU3RyaW5nKGN0eHQtPmNvbnRleHQsCisJICAgIHhtbFhQYXRoQ2FzdE5vZGVUb1N0cmluZyhjdHh0LT5jb250ZXh0LT5ub2RlKSkpOworICAgIG5hcmdzID0gMTsKKyAgfQorCisgIENIRUNLX0FSSVRZKDEpOworICBDQVNUX1RPX1NUUklORzsKKyAgQ0hFQ0tfVFlQRShYUEFUSF9TVFJJTkcpOworICBvYmogPSB2YWx1ZVBvcChjdHh0KTsKKyAgc291cmNlID0gb2JqLT5zdHJpbmd2YWw7CisKKyAgdGFyZ2V0ID0geG1sQnVmQ3JlYXRlKCk7CisgIGlmICh0YXJnZXQgJiYgc291cmNlKSB7CisKKyAgICAvKiBTa2lwIGxlYWRpbmcgd2hpdGVzcGFjZXMgKi8KKyAgICB3aGlsZSAoSVNfQkxBTktfQ0goKnNvdXJjZSkpCisgICAgICBzb3VyY2UrKzsKKworICAgIC8qIENvbGxhcHNlIGludGVybWVkaWF0ZSB3aGl0ZXNwYWNlcywgYW5kIHNraXAgdHJhaWxpbmcgd2hpdGVzcGFjZXMgKi8KKyAgICBibGFuayA9IDA7CisgICAgd2hpbGUgKCpzb3VyY2UpIHsKKyAgICAgIGlmIChJU19CTEFOS19DSCgqc291cmNlKSkgeworCWJsYW5rID0gMHgyMDsKKyAgICAgIH0gZWxzZSB7CisJaWYgKGJsYW5rKSB7CisJICB4bWxCdWZBZGQodGFyZ2V0LCAmYmxhbmssIDEpOworCSAgYmxhbmsgPSAwOworCX0KKwl4bWxCdWZBZGQodGFyZ2V0LCBzb3VyY2UsIDEpOworICAgICAgfQorICAgICAgc291cmNlKys7CisgICAgfQorICAgIHZhbHVlUHVzaChjdHh0LCB4bWxYUGF0aENhY2hlTmV3U3RyaW5nKGN0eHQtPmNvbnRleHQsCisJeG1sQnVmQ29udGVudCh0YXJnZXQpKSk7CisgICAgeG1sQnVmRnJlZSh0YXJnZXQpOworICB9CisgIHhtbFhQYXRoUmVsZWFzZU9iamVjdChjdHh0LT5jb250ZXh0LCBvYmopOworfQorCisvKioKKyAqIHhtbFhQYXRoVHJhbnNsYXRlRnVuY3Rpb246CisgKiBAY3R4dDogIHRoZSBYUGF0aCBQYXJzZXIgY29udGV4dAorICogQG5hcmdzOiAgdGhlIG51bWJlciBvZiBhcmd1bWVudHMKKyAqCisgKiBJbXBsZW1lbnQgdGhlIHRyYW5zbGF0ZSgpIFhQYXRoIGZ1bmN0aW9uCisgKiAgICBzdHJpbmcgdHJhbnNsYXRlKHN0cmluZywgc3RyaW5nLCBzdHJpbmcpCisgKiBUaGUgdHJhbnNsYXRlIGZ1bmN0aW9uIHJldHVybnMgdGhlIGZpcnN0IGFyZ3VtZW50IHN0cmluZyB3aXRoCisgKiBvY2N1cnJlbmNlcyBvZiBjaGFyYWN0ZXJzIGluIHRoZSBzZWNvbmQgYXJndW1lbnQgc3RyaW5nIHJlcGxhY2VkCisgKiBieSB0aGUgY2hhcmFjdGVyIGF0IHRoZSBjb3JyZXNwb25kaW5nIHBvc2l0aW9uIGluIHRoZSB0aGlyZCBhcmd1bWVudAorICogc3RyaW5nLiBGb3IgZXhhbXBsZSwgdHJhbnNsYXRlKCJiYXIiLCJhYmMiLCJBQkMiKSByZXR1cm5zIHRoZSBzdHJpbmcKKyAqIEJBci4gSWYgdGhlcmUgaXMgYSBjaGFyYWN0ZXIgaW4gdGhlIHNlY29uZCBhcmd1bWVudCBzdHJpbmcgd2l0aCBubworICogY2hhcmFjdGVyIGF0IGEgY29ycmVzcG9uZGluZyBwb3NpdGlvbiBpbiB0aGUgdGhpcmQgYXJndW1lbnQgc3RyaW5nCisgKiAoYmVjYXVzZSB0aGUgc2Vjb25kIGFyZ3VtZW50IHN0cmluZyBpcyBsb25nZXIgdGhhbiB0aGUgdGhpcmQgYXJndW1lbnQKKyAqIHN0cmluZyksIHRoZW4gb2NjdXJyZW5jZXMgb2YgdGhhdCBjaGFyYWN0ZXIgaW4gdGhlIGZpcnN0IGFyZ3VtZW50CisgKiBzdHJpbmcgYXJlIHJlbW92ZWQuIEZvciBleGFtcGxlLCB0cmFuc2xhdGUoIi0tYWFhLS0iLCJhYmMtIiwiQUJDIikKKyAqIHJldHVybnMgIkFBQSIuIElmIGEgY2hhcmFjdGVyIG9jY3VycyBtb3JlIHRoYW4gb25jZSBpbiBzZWNvbmQKKyAqIGFyZ3VtZW50IHN0cmluZywgdGhlbiB0aGUgZmlyc3Qgb2NjdXJyZW5jZSBkZXRlcm1pbmVzIHRoZSByZXBsYWNlbWVudAorICogY2hhcmFjdGVyLiBJZiB0aGUgdGhpcmQgYXJndW1lbnQgc3RyaW5nIGlzIGxvbmdlciB0aGFuIHRoZSBzZWNvbmQKKyAqIGFyZ3VtZW50IHN0cmluZywgdGhlbiBleGNlc3MgY2hhcmFjdGVycyBhcmUgaWdub3JlZC4KKyAqLwordm9pZAoreG1sWFBhdGhUcmFuc2xhdGVGdW5jdGlvbih4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCwgaW50IG5hcmdzKSB7CisgICAgeG1sWFBhdGhPYmplY3RQdHIgc3RyOworICAgIHhtbFhQYXRoT2JqZWN0UHRyIGZyb207CisgICAgeG1sWFBhdGhPYmplY3RQdHIgdG87CisgICAgeG1sQnVmUHRyIHRhcmdldDsKKyAgICBpbnQgb2Zmc2V0LCBtYXg7CisgICAgeG1sQ2hhciBjaDsKKyAgICBjb25zdCB4bWxDaGFyICpwb2ludDsKKyAgICB4bWxDaGFyICpjcHRyOworCisgICAgQ0hFQ0tfQVJJVFkoMyk7CisKKyAgICBDQVNUX1RPX1NUUklORzsKKyAgICB0byA9IHZhbHVlUG9wKGN0eHQpOworICAgIENBU1RfVE9fU1RSSU5HOworICAgIGZyb20gPSB2YWx1ZVBvcChjdHh0KTsKKyAgICBDQVNUX1RPX1NUUklORzsKKyAgICBzdHIgPSB2YWx1ZVBvcChjdHh0KTsKKworICAgIHRhcmdldCA9IHhtbEJ1ZkNyZWF0ZSgpOworICAgIGlmICh0YXJnZXQpIHsKKwltYXggPSB4bWxVVEY4U3RybGVuKHRvLT5zdHJpbmd2YWwpOworCWZvciAoY3B0ciA9IHN0ci0+c3RyaW5ndmFsOyAoY2g9KmNwdHIpOyApIHsKKwkgICAgb2Zmc2V0ID0geG1sVVRGOFN0cmxvYyhmcm9tLT5zdHJpbmd2YWwsIGNwdHIpOworCSAgICBpZiAob2Zmc2V0ID49IDApIHsKKwkJaWYgKG9mZnNldCA8IG1heCkgeworCQkgICAgcG9pbnQgPSB4bWxVVEY4U3RycG9zKHRvLT5zdHJpbmd2YWwsIG9mZnNldCk7CisJCSAgICBpZiAocG9pbnQpCisJCQl4bWxCdWZBZGQodGFyZ2V0LCBwb2ludCwgeG1sVVRGOFN0cnNpemUocG9pbnQsIDEpKTsKKwkJfQorCSAgICB9IGVsc2UKKwkJeG1sQnVmQWRkKHRhcmdldCwgY3B0ciwgeG1sVVRGOFN0cnNpemUoY3B0ciwgMSkpOworCisJICAgIC8qIFN0ZXAgdG8gbmV4dCBjaGFyYWN0ZXIgaW4gaW5wdXQgKi8KKwkgICAgY3B0cisrOworCSAgICBpZiAoIGNoICYgMHg4MCApIHsKKwkJLyogaWYgbm90IHNpbXBsZSBhc2NpaSwgdmVyaWZ5IHByb3BlciBmb3JtYXQgKi8KKwkJaWYgKCAoY2ggJiAweGMwKSAhPSAweGMwICkgeworCQkgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCQkieG1sWFBhdGhUcmFuc2xhdGVGdW5jdGlvbjogSW52YWxpZCBVVEY4IHN0cmluZ1xuIik7CisgICAgICAgICAgICAgICAgICAgIC8qIG5vdCBhc3NlcnRpbmcgYW4gWFBhdGggZXJyb3IgaXMgcHJvYmFibHkgYmV0dGVyICovCisJCSAgICBicmVhazsKKwkJfQorCQkvKiB0aGVuIHNraXAgb3ZlciByZW1haW5pbmcgYnl0ZXMgZm9yIHRoaXMgY2hhciAqLworCQl3aGlsZSAoIChjaCA8PD0gMSkgJiAweDgwICkKKwkJICAgIGlmICggKCpjcHRyKysgJiAweGMwKSAhPSAweDgwICkgeworCQkJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCQkgICAgInhtbFhQYXRoVHJhbnNsYXRlRnVuY3Rpb246IEludmFsaWQgVVRGOCBzdHJpbmdcbiIpOworICAgICAgICAgICAgICAgICAgICAgICAgLyogbm90IGFzc2VydGluZyBhbiBYUGF0aCBlcnJvciBpcyBwcm9iYWJseSBiZXR0ZXIgKi8KKwkJCWJyZWFrOworCQkgICAgfQorCQlpZiAoY2ggJiAweDgwKSAvKiBtdXN0IGhhdmUgaGFkIGVycm9yIGVuY291bnRlcmVkICovCisJCSAgICBicmVhazsKKwkgICAgfQorCX0KKyAgICB9CisgICAgdmFsdWVQdXNoKGN0eHQsIHhtbFhQYXRoQ2FjaGVOZXdTdHJpbmcoY3R4dC0+Y29udGV4dCwKKwl4bWxCdWZDb250ZW50KHRhcmdldCkpKTsKKyAgICB4bWxCdWZGcmVlKHRhcmdldCk7CisgICAgeG1sWFBhdGhSZWxlYXNlT2JqZWN0KGN0eHQtPmNvbnRleHQsIHN0cik7CisgICAgeG1sWFBhdGhSZWxlYXNlT2JqZWN0KGN0eHQtPmNvbnRleHQsIGZyb20pOworICAgIHhtbFhQYXRoUmVsZWFzZU9iamVjdChjdHh0LT5jb250ZXh0LCB0byk7Cit9CisKKy8qKgorICogeG1sWFBhdGhCb29sZWFuRnVuY3Rpb246CisgKiBAY3R4dDogIHRoZSBYUGF0aCBQYXJzZXIgY29udGV4dAorICogQG5hcmdzOiAgdGhlIG51bWJlciBvZiBhcmd1bWVudHMKKyAqCisgKiBJbXBsZW1lbnQgdGhlIGJvb2xlYW4oKSBYUGF0aCBmdW5jdGlvbgorICogICAgYm9vbGVhbiBib29sZWFuKG9iamVjdCkKKyAqIFRoZSBib29sZWFuIGZ1bmN0aW9uIGNvbnZlcnRzIGl0cyBhcmd1bWVudCB0byBhIGJvb2xlYW4gYXMgZm9sbG93czoKKyAqICAgIC0gYSBudW1iZXIgaXMgdHJ1ZSBpZiBhbmQgb25seSBpZiBpdCBpcyBuZWl0aGVyIHBvc2l0aXZlIG9yCisgKiAgICAgIG5lZ2F0aXZlIHplcm8gbm9yIE5hTgorICogICAgLSBhIG5vZGUtc2V0IGlzIHRydWUgaWYgYW5kIG9ubHkgaWYgaXQgaXMgbm9uLWVtcHR5CisgKiAgICAtIGEgc3RyaW5nIGlzIHRydWUgaWYgYW5kIG9ubHkgaWYgaXRzIGxlbmd0aCBpcyBub24temVybworICovCit2b2lkCit4bWxYUGF0aEJvb2xlYW5GdW5jdGlvbih4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCwgaW50IG5hcmdzKSB7CisgICAgeG1sWFBhdGhPYmplY3RQdHIgY3VyOworCisgICAgQ0hFQ0tfQVJJVFkoMSk7CisgICAgY3VyID0gdmFsdWVQb3AoY3R4dCk7CisgICAgaWYgKGN1ciA9PSBOVUxMKSBYUF9FUlJPUihYUEFUSF9JTlZBTElEX09QRVJBTkQpOworICAgIGN1ciA9IHhtbFhQYXRoQ2FjaGVDb252ZXJ0Qm9vbGVhbihjdHh0LT5jb250ZXh0LCBjdXIpOworICAgIHZhbHVlUHVzaChjdHh0LCBjdXIpOworfQorCisvKioKKyAqIHhtbFhQYXRoTm90RnVuY3Rpb246CisgKiBAY3R4dDogIHRoZSBYUGF0aCBQYXJzZXIgY29udGV4dAorICogQG5hcmdzOiAgdGhlIG51bWJlciBvZiBhcmd1bWVudHMKKyAqCisgKiBJbXBsZW1lbnQgdGhlIG5vdCgpIFhQYXRoIGZ1bmN0aW9uCisgKiAgICBib29sZWFuIG5vdChib29sZWFuKQorICogVGhlIG5vdCBmdW5jdGlvbiByZXR1cm5zIHRydWUgaWYgaXRzIGFyZ3VtZW50IGlzIGZhbHNlLAorICogYW5kIGZhbHNlIG90aGVyd2lzZS4KKyAqLwordm9pZAoreG1sWFBhdGhOb3RGdW5jdGlvbih4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCwgaW50IG5hcmdzKSB7CisgICAgQ0hFQ0tfQVJJVFkoMSk7CisgICAgQ0FTVF9UT19CT09MRUFOOworICAgIENIRUNLX1RZUEUoWFBBVEhfQk9PTEVBTik7CisgICAgY3R4dC0+dmFsdWUtPmJvb2x2YWwgPSAhIGN0eHQtPnZhbHVlLT5ib29sdmFsOworfQorCisvKioKKyAqIHhtbFhQYXRoVHJ1ZUZ1bmN0aW9uOgorICogQGN0eHQ6ICB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQKKyAqIEBuYXJnczogIHRoZSBudW1iZXIgb2YgYXJndW1lbnRzCisgKgorICogSW1wbGVtZW50IHRoZSB0cnVlKCkgWFBhdGggZnVuY3Rpb24KKyAqICAgIGJvb2xlYW4gdHJ1ZSgpCisgKi8KK3ZvaWQKK3htbFhQYXRoVHJ1ZUZ1bmN0aW9uKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0LCBpbnQgbmFyZ3MpIHsKKyAgICBDSEVDS19BUklUWSgwKTsKKyAgICB2YWx1ZVB1c2goY3R4dCwgeG1sWFBhdGhDYWNoZU5ld0Jvb2xlYW4oY3R4dC0+Y29udGV4dCwgMSkpOworfQorCisvKioKKyAqIHhtbFhQYXRoRmFsc2VGdW5jdGlvbjoKKyAqIEBjdHh0OiAgdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0CisgKiBAbmFyZ3M6ICB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cworICoKKyAqIEltcGxlbWVudCB0aGUgZmFsc2UoKSBYUGF0aCBmdW5jdGlvbgorICogICAgYm9vbGVhbiBmYWxzZSgpCisgKi8KK3ZvaWQKK3htbFhQYXRoRmFsc2VGdW5jdGlvbih4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCwgaW50IG5hcmdzKSB7CisgICAgQ0hFQ0tfQVJJVFkoMCk7CisgICAgdmFsdWVQdXNoKGN0eHQsIHhtbFhQYXRoQ2FjaGVOZXdCb29sZWFuKGN0eHQtPmNvbnRleHQsIDApKTsKK30KKworLyoqCisgKiB4bWxYUGF0aExhbmdGdW5jdGlvbjoKKyAqIEBjdHh0OiAgdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0CisgKiBAbmFyZ3M6ICB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cworICoKKyAqIEltcGxlbWVudCB0aGUgbGFuZygpIFhQYXRoIGZ1bmN0aW9uCisgKiAgICBib29sZWFuIGxhbmcoc3RyaW5nKQorICogVGhlIGxhbmcgZnVuY3Rpb24gcmV0dXJucyB0cnVlIG9yIGZhbHNlIGRlcGVuZGluZyBvbiB3aGV0aGVyIHRoZQorICogbGFuZ3VhZ2Ugb2YgdGhlIGNvbnRleHQgbm9kZSBhcyBzcGVjaWZpZWQgYnkgeG1sOmxhbmcgYXR0cmlidXRlcworICogaXMgdGhlIHNhbWUgYXMgb3IgaXMgYSBzdWJsYW5ndWFnZSBvZiB0aGUgbGFuZ3VhZ2Ugc3BlY2lmaWVkIGJ5CisgKiB0aGUgYXJndW1lbnQgc3RyaW5nLiBUaGUgbGFuZ3VhZ2Ugb2YgdGhlIGNvbnRleHQgbm9kZSBpcyBkZXRlcm1pbmVkCisgKiBieSB0aGUgdmFsdWUgb2YgdGhlIHhtbDpsYW5nIGF0dHJpYnV0ZSBvbiB0aGUgY29udGV4dCBub2RlLCBvciwgaWYKKyAqIHRoZSBjb250ZXh0IG5vZGUgaGFzIG5vIHhtbDpsYW5nIGF0dHJpYnV0ZSwgYnkgdGhlIHZhbHVlIG9mIHRoZQorICogeG1sOmxhbmcgYXR0cmlidXRlIG9uIHRoZSBuZWFyZXN0IGFuY2VzdG9yIG9mIHRoZSBjb250ZXh0IG5vZGUgdGhhdAorICogaGFzIGFuIHhtbDpsYW5nIGF0dHJpYnV0ZS4gSWYgdGhlcmUgaXMgbm8gc3VjaCBhdHRyaWJ1dGUsIHRoZW4gbGFuZworICogcmV0dXJucyBmYWxzZS4gSWYgdGhlcmUgaXMgc3VjaCBhbiBhdHRyaWJ1dGUsIHRoZW4gbGFuZyByZXR1cm5zCisgKiB0cnVlIGlmIHRoZSBhdHRyaWJ1dGUgdmFsdWUgaXMgZXF1YWwgdG8gdGhlIGFyZ3VtZW50IGlnbm9yaW5nIGNhc2UsCisgKiBvciBpZiB0aGVyZSBpcyBzb21lIHN1ZmZpeCBzdGFydGluZyB3aXRoIC0gc3VjaCB0aGF0IHRoZSBhdHRyaWJ1dGUKKyAqIHZhbHVlIGlzIGVxdWFsIHRvIHRoZSBhcmd1bWVudCBpZ25vcmluZyB0aGF0IHN1ZmZpeCBvZiB0aGUgYXR0cmlidXRlCisgKiB2YWx1ZSBhbmQgaWdub3JpbmcgY2FzZS4KKyAqLwordm9pZAoreG1sWFBhdGhMYW5nRnVuY3Rpb24oeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQsIGludCBuYXJncykgeworICAgIHhtbFhQYXRoT2JqZWN0UHRyIHZhbCA9IE5VTEw7CisgICAgY29uc3QgeG1sQ2hhciAqdGhlTGFuZyA9IE5VTEw7CisgICAgY29uc3QgeG1sQ2hhciAqbGFuZzsKKyAgICBpbnQgcmV0ID0gMDsKKyAgICBpbnQgaTsKKworICAgIENIRUNLX0FSSVRZKDEpOworICAgIENBU1RfVE9fU1RSSU5HOworICAgIENIRUNLX1RZUEUoWFBBVEhfU1RSSU5HKTsKKyAgICB2YWwgPSB2YWx1ZVBvcChjdHh0KTsKKyAgICBsYW5nID0gdmFsLT5zdHJpbmd2YWw7CisgICAgdGhlTGFuZyA9IHhtbE5vZGVHZXRMYW5nKGN0eHQtPmNvbnRleHQtPm5vZGUpOworICAgIGlmICgodGhlTGFuZyAhPSBOVUxMKSAmJiAobGFuZyAhPSBOVUxMKSkgeworICAgICAgICBmb3IgKGkgPSAwO2xhbmdbaV0gIT0gMDtpKyspCisJICAgIGlmICh0b3VwcGVyKGxhbmdbaV0pICE9IHRvdXBwZXIodGhlTGFuZ1tpXSkpCisJICAgICAgICBnb3RvIG5vdF9lcXVhbDsKKwlpZiAoKHRoZUxhbmdbaV0gPT0gMCkgfHwgKHRoZUxhbmdbaV0gPT0gJy0nKSkKKwkgICAgcmV0ID0gMTsKKyAgICB9Citub3RfZXF1YWw6CisgICAgaWYgKHRoZUxhbmcgIT0gTlVMTCkKKwl4bWxGcmVlKCh2b2lkICopdGhlTGFuZyk7CisKKyAgICB4bWxYUGF0aFJlbGVhc2VPYmplY3QoY3R4dC0+Y29udGV4dCwgdmFsKTsKKyAgICB2YWx1ZVB1c2goY3R4dCwgeG1sWFBhdGhDYWNoZU5ld0Jvb2xlYW4oY3R4dC0+Y29udGV4dCwgcmV0KSk7Cit9CisKKy8qKgorICogeG1sWFBhdGhOdW1iZXJGdW5jdGlvbjoKKyAqIEBjdHh0OiAgdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0CisgKiBAbmFyZ3M6ICB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cworICoKKyAqIEltcGxlbWVudCB0aGUgbnVtYmVyKCkgWFBhdGggZnVuY3Rpb24KKyAqICAgIG51bWJlciBudW1iZXIob2JqZWN0PykKKyAqLwordm9pZAoreG1sWFBhdGhOdW1iZXJGdW5jdGlvbih4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCwgaW50IG5hcmdzKSB7CisgICAgeG1sWFBhdGhPYmplY3RQdHIgY3VyOworICAgIGRvdWJsZSByZXM7CisKKyAgICBpZiAoY3R4dCA9PSBOVUxMKSByZXR1cm47CisgICAgaWYgKG5hcmdzID09IDApIHsKKwlpZiAoY3R4dC0+Y29udGV4dC0+bm9kZSA9PSBOVUxMKSB7CisJICAgIHZhbHVlUHVzaChjdHh0LCB4bWxYUGF0aENhY2hlTmV3RmxvYXQoY3R4dC0+Y29udGV4dCwgMC4wKSk7CisJfSBlbHNlIHsKKwkgICAgeG1sQ2hhciogY29udGVudCA9IHhtbE5vZGVHZXRDb250ZW50KGN0eHQtPmNvbnRleHQtPm5vZGUpOworCisJICAgIHJlcyA9IHhtbFhQYXRoU3RyaW5nRXZhbE51bWJlcihjb250ZW50KTsKKwkgICAgdmFsdWVQdXNoKGN0eHQsIHhtbFhQYXRoQ2FjaGVOZXdGbG9hdChjdHh0LT5jb250ZXh0LCByZXMpKTsKKwkgICAgeG1sRnJlZShjb250ZW50KTsKKwl9CisJcmV0dXJuOworICAgIH0KKworICAgIENIRUNLX0FSSVRZKDEpOworICAgIGN1ciA9IHZhbHVlUG9wKGN0eHQpOworICAgIHZhbHVlUHVzaChjdHh0LCB4bWxYUGF0aENhY2hlQ29udmVydE51bWJlcihjdHh0LT5jb250ZXh0LCBjdXIpKTsKK30KKworLyoqCisgKiB4bWxYUGF0aFN1bUZ1bmN0aW9uOgorICogQGN0eHQ6ICB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQKKyAqIEBuYXJnczogIHRoZSBudW1iZXIgb2YgYXJndW1lbnRzCisgKgorICogSW1wbGVtZW50IHRoZSBzdW0oKSBYUGF0aCBmdW5jdGlvbgorICogICAgbnVtYmVyIHN1bShub2RlLXNldCkKKyAqIFRoZSBzdW0gZnVuY3Rpb24gcmV0dXJucyB0aGUgc3VtIG9mIHRoZSB2YWx1ZXMgb2YgdGhlIG5vZGVzIGluCisgKiB0aGUgYXJndW1lbnQgbm9kZS1zZXQuCisgKi8KK3ZvaWQKK3htbFhQYXRoU3VtRnVuY3Rpb24oeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQsIGludCBuYXJncykgeworICAgIHhtbFhQYXRoT2JqZWN0UHRyIGN1cjsKKyAgICBpbnQgaTsKKyAgICBkb3VibGUgcmVzID0gMC4wOworCisgICAgQ0hFQ0tfQVJJVFkoMSk7CisgICAgaWYgKChjdHh0LT52YWx1ZSA9PSBOVUxMKSB8fAorCSgoY3R4dC0+dmFsdWUtPnR5cGUgIT0gWFBBVEhfTk9ERVNFVCkgJiYKKwkgKGN0eHQtPnZhbHVlLT50eXBlICE9IFhQQVRIX1hTTFRfVFJFRSkpKQorCVhQX0VSUk9SKFhQQVRIX0lOVkFMSURfVFlQRSk7CisgICAgY3VyID0gdmFsdWVQb3AoY3R4dCk7CisKKyAgICBpZiAoKGN1ci0+bm9kZXNldHZhbCAhPSBOVUxMKSAmJiAoY3VyLT5ub2Rlc2V0dmFsLT5ub2RlTnIgIT0gMCkpIHsKKwlmb3IgKGkgPSAwOyBpIDwgY3VyLT5ub2Rlc2V0dmFsLT5ub2RlTnI7IGkrKykgeworCSAgICByZXMgKz0geG1sWFBhdGhDYXN0Tm9kZVRvTnVtYmVyKGN1ci0+bm9kZXNldHZhbC0+bm9kZVRhYltpXSk7CisJfQorICAgIH0KKyAgICB2YWx1ZVB1c2goY3R4dCwgeG1sWFBhdGhDYWNoZU5ld0Zsb2F0KGN0eHQtPmNvbnRleHQsIHJlcykpOworICAgIHhtbFhQYXRoUmVsZWFzZU9iamVjdChjdHh0LT5jb250ZXh0LCBjdXIpOworfQorCisvKgorICogVG8gYXNzdXJlIHdvcmtpbmcgY29kZSBvbiBtdWx0aXBsZSBwbGF0Zm9ybXMsIHdlIHdhbnQgdG8gb25seSBkZXBlbmQKKyAqIHVwb24gdGhlIGNoYXJhY3RlcmlzdGljIHRydW5jYXRpb24gb2YgY29udmVydGluZyBhIGZsb2F0aW5nIHBvaW50IHZhbHVlCisgKiB0byBhbiBpbnRlZ2VyLiAgVW5mb3J0dW5hdGVseSwgYmVjYXVzZSBvZiB0aGUgZGlmZmVyZW50IHN0b3JhZ2Ugc2l6ZXMKKyAqIG9mIG91ciBpbnRlcm5hbCBmbG9hdGluZyBwb2ludCB2YWx1ZSAoZG91YmxlKSBhbmQgaW50ZWdlciAoaW50KSwgd2UKKyAqIGNhbid0IGRpcmVjdGx5IGNvbnZlcnQgKHNlZSBidWcgMzAxMTYyKS4gIFRoaXMgbWFjcm8gaXMgYSBtZXNzeQorICogJ3dvcmthcm91bmQnCisgKi8KKyNkZWZpbmUgWFRSVU5DKGYsIHYpICAgICAgICAgICAgXAorICAgIGYgPSBmbW9kKCh2KSwgSU5UX01BWCk7ICAgICBcCisgICAgZiA9ICh2KSAtIChmKSArIChkb3VibGUpKChpbnQpKGYpKTsKKworLyoqCisgKiB4bWxYUGF0aEZsb29yRnVuY3Rpb246CisgKiBAY3R4dDogIHRoZSBYUGF0aCBQYXJzZXIgY29udGV4dAorICogQG5hcmdzOiAgdGhlIG51bWJlciBvZiBhcmd1bWVudHMKKyAqCisgKiBJbXBsZW1lbnQgdGhlIGZsb29yKCkgWFBhdGggZnVuY3Rpb24KKyAqICAgIG51bWJlciBmbG9vcihudW1iZXIpCisgKiBUaGUgZmxvb3IgZnVuY3Rpb24gcmV0dXJucyB0aGUgbGFyZ2VzdCAoY2xvc2VzdCB0byBwb3NpdGl2ZSBpbmZpbml0eSkKKyAqIG51bWJlciB0aGF0IGlzIG5vdCBncmVhdGVyIHRoYW4gdGhlIGFyZ3VtZW50IGFuZCB0aGF0IGlzIGFuIGludGVnZXIuCisgKi8KK3ZvaWQKK3htbFhQYXRoRmxvb3JGdW5jdGlvbih4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCwgaW50IG5hcmdzKSB7CisgICAgZG91YmxlIGY7CisKKyAgICBDSEVDS19BUklUWSgxKTsKKyAgICBDQVNUX1RPX05VTUJFUjsKKyAgICBDSEVDS19UWVBFKFhQQVRIX05VTUJFUik7CisKKyAgICBYVFJVTkMoZiwgY3R4dC0+dmFsdWUtPmZsb2F0dmFsKTsKKyAgICBpZiAoZiAhPSBjdHh0LT52YWx1ZS0+ZmxvYXR2YWwpIHsKKwlpZiAoY3R4dC0+dmFsdWUtPmZsb2F0dmFsID4gMCkKKwkgICAgY3R4dC0+dmFsdWUtPmZsb2F0dmFsID0gZjsKKwllbHNlCisJICAgIGN0eHQtPnZhbHVlLT5mbG9hdHZhbCA9IGYgLSAxOworICAgIH0KK30KKworLyoqCisgKiB4bWxYUGF0aENlaWxpbmdGdW5jdGlvbjoKKyAqIEBjdHh0OiAgdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0CisgKiBAbmFyZ3M6ICB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cworICoKKyAqIEltcGxlbWVudCB0aGUgY2VpbGluZygpIFhQYXRoIGZ1bmN0aW9uCisgKiAgICBudW1iZXIgY2VpbGluZyhudW1iZXIpCisgKiBUaGUgY2VpbGluZyBmdW5jdGlvbiByZXR1cm5zIHRoZSBzbWFsbGVzdCAoY2xvc2VzdCB0byBuZWdhdGl2ZSBpbmZpbml0eSkKKyAqIG51bWJlciB0aGF0IGlzIG5vdCBsZXNzIHRoYW4gdGhlIGFyZ3VtZW50IGFuZCB0aGF0IGlzIGFuIGludGVnZXIuCisgKi8KK3ZvaWQKK3htbFhQYXRoQ2VpbGluZ0Z1bmN0aW9uKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0LCBpbnQgbmFyZ3MpIHsKKyAgICBkb3VibGUgZjsKKworICAgIENIRUNLX0FSSVRZKDEpOworICAgIENBU1RfVE9fTlVNQkVSOworICAgIENIRUNLX1RZUEUoWFBBVEhfTlVNQkVSKTsKKworI2lmIDAKKyAgICBjdHh0LT52YWx1ZS0+ZmxvYXR2YWwgPSBjZWlsKGN0eHQtPnZhbHVlLT5mbG9hdHZhbCk7CisjZWxzZQorICAgIFhUUlVOQyhmLCBjdHh0LT52YWx1ZS0+ZmxvYXR2YWwpOworICAgIGlmIChmICE9IGN0eHQtPnZhbHVlLT5mbG9hdHZhbCkgeworCWlmIChjdHh0LT52YWx1ZS0+ZmxvYXR2YWwgPiAwKQorCSAgICBjdHh0LT52YWx1ZS0+ZmxvYXR2YWwgPSBmICsgMTsKKwllbHNlIHsKKwkgICAgaWYgKGN0eHQtPnZhbHVlLT5mbG9hdHZhbCA8IDAgJiYgZiA9PSAwKQorCSAgICAgICAgY3R4dC0+dmFsdWUtPmZsb2F0dmFsID0geG1sWFBhdGhOWkVSTzsKKwkgICAgZWxzZQorCSAgICAgICAgY3R4dC0+dmFsdWUtPmZsb2F0dmFsID0gZjsKKwl9CisKKyAgICB9CisjZW5kaWYKK30KKworLyoqCisgKiB4bWxYUGF0aFJvdW5kRnVuY3Rpb246CisgKiBAY3R4dDogIHRoZSBYUGF0aCBQYXJzZXIgY29udGV4dAorICogQG5hcmdzOiAgdGhlIG51bWJlciBvZiBhcmd1bWVudHMKKyAqCisgKiBJbXBsZW1lbnQgdGhlIHJvdW5kKCkgWFBhdGggZnVuY3Rpb24KKyAqICAgIG51bWJlciByb3VuZChudW1iZXIpCisgKiBUaGUgcm91bmQgZnVuY3Rpb24gcmV0dXJucyB0aGUgbnVtYmVyIHRoYXQgaXMgY2xvc2VzdCB0byB0aGUKKyAqIGFyZ3VtZW50IGFuZCB0aGF0IGlzIGFuIGludGVnZXIuIElmIHRoZXJlIGFyZSB0d28gc3VjaCBudW1iZXJzLAorICogdGhlbiB0aGUgb25lIHRoYXQgaXMgZXZlbiBpcyByZXR1cm5lZC4KKyAqLwordm9pZAoreG1sWFBhdGhSb3VuZEZ1bmN0aW9uKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0LCBpbnQgbmFyZ3MpIHsKKyAgICBkb3VibGUgZjsKKworICAgIENIRUNLX0FSSVRZKDEpOworICAgIENBU1RfVE9fTlVNQkVSOworICAgIENIRUNLX1RZUEUoWFBBVEhfTlVNQkVSKTsKKworICAgIGlmICgoeG1sWFBhdGhJc05hTihjdHh0LT52YWx1ZS0+ZmxvYXR2YWwpKSB8fAorCSh4bWxYUGF0aElzSW5mKGN0eHQtPnZhbHVlLT5mbG9hdHZhbCkgPT0gMSkgfHwKKwkoeG1sWFBhdGhJc0luZihjdHh0LT52YWx1ZS0+ZmxvYXR2YWwpID09IC0xKSB8fAorCShjdHh0LT52YWx1ZS0+ZmxvYXR2YWwgPT0gMC4wKSkKKwlyZXR1cm47CisKKyAgICBYVFJVTkMoZiwgY3R4dC0+dmFsdWUtPmZsb2F0dmFsKTsKKyAgICBpZiAoY3R4dC0+dmFsdWUtPmZsb2F0dmFsIDwgMCkgeworCWlmIChjdHh0LT52YWx1ZS0+ZmxvYXR2YWwgPCBmIC0gMC41KQorCSAgICBjdHh0LT52YWx1ZS0+ZmxvYXR2YWwgPSBmIC0gMTsKKwllbHNlCisJICAgIGN0eHQtPnZhbHVlLT5mbG9hdHZhbCA9IGY7CisJaWYgKGN0eHQtPnZhbHVlLT5mbG9hdHZhbCA9PSAwKQorCSAgICBjdHh0LT52YWx1ZS0+ZmxvYXR2YWwgPSB4bWxYUGF0aE5aRVJPOworICAgIH0gZWxzZSB7CisJaWYgKGN0eHQtPnZhbHVlLT5mbG9hdHZhbCA8IGYgKyAwLjUpCisJICAgIGN0eHQtPnZhbHVlLT5mbG9hdHZhbCA9IGY7CisJZWxzZQorCSAgICBjdHh0LT52YWx1ZS0+ZmxvYXR2YWwgPSBmICsgMTsKKyAgICB9Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCQlUaGUgUGFyc2VyCQkJCQkqCisgKgkJCQkJCQkJCSoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qCisgKiBhIGZldyBmb3J3YXJkIGRlY2xhcmF0aW9ucyBzaW5jZSB3ZSB1c2UgYSByZWN1cnNpdmUgY2FsbCBiYXNlZAorICogaW1wbGVtZW50YXRpb24uCisgKi8KK3N0YXRpYyB2b2lkIHhtbFhQYXRoQ29tcGlsZUV4cHIoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQsIGludCBzb3J0KTsKK3N0YXRpYyB2b2lkIHhtbFhQYXRoQ29tcFByZWRpY2F0ZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCwgaW50IGZpbHRlcik7CitzdGF0aWMgdm9pZCB4bWxYUGF0aENvbXBMb2NhdGlvblBhdGgoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQpOworc3RhdGljIHZvaWQgeG1sWFBhdGhDb21wUmVsYXRpdmVMb2NhdGlvblBhdGgoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQpOworc3RhdGljIHhtbENoYXIgKiB4bWxYUGF0aFBhcnNlTmFtZUNvbXBsZXgoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQsCisJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBxdWFsaWZpZWQpOworCisvKioKKyAqIHhtbFhQYXRoQ3VycmVudENoYXI6CisgKiBAY3R4dDogIHRoZSBYUGF0aCBwYXJzZXIgY29udGV4dAorICogQGN1cjogIHBvaW50ZXIgdG8gdGhlIGJlZ2lubmluZyBvZiB0aGUgY2hhcgorICogQGxlbjogIHBvaW50ZXIgdG8gdGhlIGxlbmd0aCBvZiB0aGUgY2hhciByZWFkCisgKgorICogVGhlIGN1cnJlbnQgY2hhciB2YWx1ZSwgaWYgdXNpbmcgVVRGLTggdGhpcyBtYXkgYWN0dWFsbHkgc3BhbiBtdWx0aXBsZQorICogYnl0ZXMgaW4gdGhlIGlucHV0IGJ1ZmZlci4KKyAqCisgKiBSZXR1cm5zIHRoZSBjdXJyZW50IGNoYXIgdmFsdWUgYW5kIGl0cyBsZW5ndGgKKyAqLworCitzdGF0aWMgaW50Cit4bWxYUGF0aEN1cnJlbnRDaGFyKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0LCBpbnQgKmxlbikgeworICAgIHVuc2lnbmVkIGNoYXIgYzsKKyAgICB1bnNpZ25lZCBpbnQgdmFsOworICAgIGNvbnN0IHhtbENoYXIgKmN1cjsKKworICAgIGlmIChjdHh0ID09IE5VTEwpCisJcmV0dXJuKDApOworICAgIGN1ciA9IGN0eHQtPmN1cjsKKworICAgIC8qCisgICAgICogV2UgYXJlIHN1cHBvc2VkIHRvIGhhbmRsZSBVVEY4LCBjaGVjayBpdCdzIHZhbGlkCisgICAgICogRnJvbSByZmMyMDQ0OiBlbmNvZGluZyBvZiB0aGUgVW5pY29kZSB2YWx1ZXMgb24gVVRGLTg6CisgICAgICoKKyAgICAgKiBVQ1MtNCByYW5nZSAoaGV4LikgICAgICAgICAgIFVURi04IG9jdGV0IHNlcXVlbmNlIChiaW5hcnkpCisgICAgICogMDAwMCAwMDAwLTAwMDAgMDA3RiAgIDB4eHh4eHh4CisgICAgICogMDAwMCAwMDgwLTAwMDAgMDdGRiAgIDExMHh4eHh4IDEweHh4eHh4CisgICAgICogMDAwMCAwODAwLTAwMDAgRkZGRiAgIDExMTB4eHh4IDEweHh4eHh4IDEweHh4eHh4CisgICAgICoKKyAgICAgKiBDaGVjayBmb3IgdGhlIDB4MTEwMDAwIGxpbWl0IHRvbworICAgICAqLworICAgIGMgPSAqY3VyOworICAgIGlmIChjICYgMHg4MCkgeworCWlmICgoY3VyWzFdICYgMHhjMCkgIT0gMHg4MCkKKwkgICAgZ290byBlbmNvZGluZ19lcnJvcjsKKwlpZiAoKGMgJiAweGUwKSA9PSAweGUwKSB7CisKKwkgICAgaWYgKChjdXJbMl0gJiAweGMwKSAhPSAweDgwKQorCQlnb3RvIGVuY29kaW5nX2Vycm9yOworCSAgICBpZiAoKGMgJiAweGYwKSA9PSAweGYwKSB7CisJCWlmICgoKGMgJiAweGY4KSAhPSAweGYwKSB8fAorCQkgICAgKChjdXJbM10gJiAweGMwKSAhPSAweDgwKSkKKwkJICAgIGdvdG8gZW5jb2RpbmdfZXJyb3I7CisJCS8qIDQtYnl0ZSBjb2RlICovCisJCSpsZW4gPSA0OworCQl2YWwgPSAoY3VyWzBdICYgMHg3KSA8PCAxODsKKwkJdmFsIHw9IChjdXJbMV0gJiAweDNmKSA8PCAxMjsKKwkJdmFsIHw9IChjdXJbMl0gJiAweDNmKSA8PCA2OworCQl2YWwgfD0gY3VyWzNdICYgMHgzZjsKKwkgICAgfSBlbHNlIHsKKwkgICAgICAvKiAzLWJ5dGUgY29kZSAqLworCQkqbGVuID0gMzsKKwkJdmFsID0gKGN1clswXSAmIDB4ZikgPDwgMTI7CisJCXZhbCB8PSAoY3VyWzFdICYgMHgzZikgPDwgNjsKKwkJdmFsIHw9IGN1clsyXSAmIDB4M2Y7CisJICAgIH0KKwl9IGVsc2UgeworCSAgLyogMi1ieXRlIGNvZGUgKi8KKwkgICAgKmxlbiA9IDI7CisJICAgIHZhbCA9IChjdXJbMF0gJiAweDFmKSA8PCA2OworCSAgICB2YWwgfD0gY3VyWzFdICYgMHgzZjsKKwl9CisJaWYgKCFJU19DSEFSKHZhbCkpIHsKKwkgICAgWFBfRVJST1IwKFhQQVRIX0lOVkFMSURfQ0hBUl9FUlJPUik7CisJfQorCXJldHVybih2YWwpOworICAgIH0gZWxzZSB7CisJLyogMS1ieXRlIGNvZGUgKi8KKwkqbGVuID0gMTsKKwlyZXR1cm4oKGludCkgKmN1cik7CisgICAgfQorZW5jb2RpbmdfZXJyb3I6CisgICAgLyoKKyAgICAgKiBJZiB3ZSBkZXRlY3QgYW4gVVRGOCBlcnJvciB0aGF0IHByb2JhYmx5IG1lYW5zIHRoYXQgdGhlCisgICAgICogaW5wdXQgZW5jb2RpbmcgZGlkbid0IGdldCBwcm9wZXJseSBhZHZlcnRpc2VkIGluIHRoZQorICAgICAqIGRlY2xhcmF0aW9uIGhlYWRlci4gUmVwb3J0IHRoZSBlcnJvciBhbmQgc3dpdGNoIHRoZSBlbmNvZGluZworICAgICAqIHRvIElTTy1MYXRpbi0xIChpZiB5b3UgZG9uJ3QgbGlrZSB0aGlzIHBvbGljeSwganVzdCBkZWNsYXJlIHRoZQorICAgICAqIGVuY29kaW5nICEpCisgICAgICovCisgICAgKmxlbiA9IDA7CisgICAgWFBfRVJST1IwKFhQQVRIX0VOQ09ESU5HX0VSUk9SKTsKK30KKworLyoqCisgKiB4bWxYUGF0aFBhcnNlTkNOYW1lOgorICogQGN0eHQ6ICB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQKKyAqCisgKiBwYXJzZSBhbiBYTUwgbmFtZXNwYWNlIG5vbiBxdWFsaWZpZWQgbmFtZS4KKyAqCisgKiBbTlMgM10gTkNOYW1lIDo6PSAoTGV0dGVyIHwgJ18nKSAoTkNOYW1lQ2hhcikqCisgKgorICogW05TIDRdIE5DTmFtZUNoYXIgOjo9IExldHRlciB8IERpZ2l0IHwgJy4nIHwgJy0nIHwgJ18nIHwKKyAqICAgICAgICAgICAgICAgICAgICAgICBDb21iaW5pbmdDaGFyIHwgRXh0ZW5kZXIKKyAqCisgKiBSZXR1cm5zIHRoZSBuYW1lc3BhY2UgbmFtZSBvciBOVUxMCisgKi8KKworeG1sQ2hhciAqCit4bWxYUGF0aFBhcnNlTkNOYW1lKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0KSB7CisgICAgY29uc3QgeG1sQ2hhciAqaW47CisgICAgeG1sQ2hhciAqcmV0OworICAgIGludCBjb3VudCA9IDA7CisKKyAgICBpZiAoKGN0eHQgPT0gTlVMTCkgfHwgKGN0eHQtPmN1ciA9PSBOVUxMKSkgcmV0dXJuKE5VTEwpOworICAgIC8qCisgICAgICogQWNjZWxlcmF0b3IgZm9yIHNpbXBsZSBBU0NJSSBuYW1lcworICAgICAqLworICAgIGluID0gY3R4dC0+Y3VyOworICAgIGlmICgoKCppbiA+PSAweDYxKSAmJiAoKmluIDw9IDB4N0EpKSB8fAorCSgoKmluID49IDB4NDEpICYmICgqaW4gPD0gMHg1QSkpIHx8CisJKCppbiA9PSAnXycpKSB7CisJaW4rKzsKKwl3aGlsZSAoKCgqaW4gPj0gMHg2MSkgJiYgKCppbiA8PSAweDdBKSkgfHwKKwkgICAgICAgKCgqaW4gPj0gMHg0MSkgJiYgKCppbiA8PSAweDVBKSkgfHwKKwkgICAgICAgKCgqaW4gPj0gMHgzMCkgJiYgKCppbiA8PSAweDM5KSkgfHwKKwkgICAgICAgKCppbiA9PSAnXycpIHx8ICgqaW4gPT0gJy4nKSB8fAorCSAgICAgICAoKmluID09ICctJykpCisJICAgIGluKys7CisJaWYgKCgqaW4gPT0gJyAnKSB8fCAoKmluID09ICc+JykgfHwgKCppbiA9PSAnLycpIHx8CisgICAgICAgICAgICAoKmluID09ICdbJykgfHwgKCppbiA9PSAnXScpIHx8ICgqaW4gPT0gJzonKSB8fAorICAgICAgICAgICAgKCppbiA9PSAnQCcpIHx8ICgqaW4gPT0gJyonKSkgeworCSAgICBjb3VudCA9IGluIC0gY3R4dC0+Y3VyOworCSAgICBpZiAoY291bnQgPT0gMCkKKwkJcmV0dXJuKE5VTEwpOworCSAgICByZXQgPSB4bWxTdHJuZHVwKGN0eHQtPmN1ciwgY291bnQpOworCSAgICBjdHh0LT5jdXIgPSBpbjsKKwkgICAgcmV0dXJuKHJldCk7CisJfQorICAgIH0KKyAgICByZXR1cm4oeG1sWFBhdGhQYXJzZU5hbWVDb21wbGV4KGN0eHQsIDApKTsKK30KKworCisvKioKKyAqIHhtbFhQYXRoUGFyc2VRTmFtZToKKyAqIEBjdHh0OiAgdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0CisgKiBAcHJlZml4OiAgYSB4bWxDaGFyICoqCisgKgorICogcGFyc2UgYW4gWE1MIHF1YWxpZmllZCBuYW1lCisgKgorICogW05TIDVdIFFOYW1lIDo6PSAoUHJlZml4ICc6Jyk/IExvY2FsUGFydAorICoKKyAqIFtOUyA2XSBQcmVmaXggOjo9IE5DTmFtZQorICoKKyAqIFtOUyA3XSBMb2NhbFBhcnQgOjo9IE5DTmFtZQorICoKKyAqIFJldHVybnMgdGhlIGZ1bmN0aW9uIHJldHVybnMgdGhlIGxvY2FsIHBhcnQsIGFuZCBwcmVmaXggaXMgdXBkYXRlZAorICogICB0byBnZXQgdGhlIFByZWZpeCBpZiBhbnkuCisgKi8KKworc3RhdGljIHhtbENoYXIgKgoreG1sWFBhdGhQYXJzZVFOYW1lKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0LCB4bWxDaGFyICoqcHJlZml4KSB7CisgICAgeG1sQ2hhciAqcmV0ID0gTlVMTDsKKworICAgICpwcmVmaXggPSBOVUxMOworICAgIHJldCA9IHhtbFhQYXRoUGFyc2VOQ05hbWUoY3R4dCk7CisgICAgaWYgKHJldCAmJiBDVVIgPT0gJzonKSB7CisgICAgICAgICpwcmVmaXggPSByZXQ7CisJTkVYVDsKKwlyZXQgPSB4bWxYUGF0aFBhcnNlTkNOYW1lKGN0eHQpOworICAgIH0KKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxYUGF0aFBhcnNlTmFtZToKKyAqIEBjdHh0OiAgdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0CisgKgorICogcGFyc2UgYW4gWE1MIG5hbWUKKyAqCisgKiBbNF0gTmFtZUNoYXIgOjo9IExldHRlciB8IERpZ2l0IHwgJy4nIHwgJy0nIHwgJ18nIHwgJzonIHwKKyAqICAgICAgICAgICAgICAgICAgQ29tYmluaW5nQ2hhciB8IEV4dGVuZGVyCisgKgorICogWzVdIE5hbWUgOjo9IChMZXR0ZXIgfCAnXycgfCAnOicpIChOYW1lQ2hhcikqCisgKgorICogUmV0dXJucyB0aGUgbmFtZXNwYWNlIG5hbWUgb3IgTlVMTAorICovCisKK3htbENoYXIgKgoreG1sWFBhdGhQYXJzZU5hbWUoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQpIHsKKyAgICBjb25zdCB4bWxDaGFyICppbjsKKyAgICB4bWxDaGFyICpyZXQ7CisgICAgc2l6ZV90IGNvdW50ID0gMDsKKworICAgIGlmICgoY3R4dCA9PSBOVUxMKSB8fCAoY3R4dC0+Y3VyID09IE5VTEwpKSByZXR1cm4oTlVMTCk7CisgICAgLyoKKyAgICAgKiBBY2NlbGVyYXRvciBmb3Igc2ltcGxlIEFTQ0lJIG5hbWVzCisgICAgICovCisgICAgaW4gPSBjdHh0LT5jdXI7CisgICAgaWYgKCgoKmluID49IDB4NjEpICYmICgqaW4gPD0gMHg3QSkpIHx8CisJKCgqaW4gPj0gMHg0MSkgJiYgKCppbiA8PSAweDVBKSkgfHwKKwkoKmluID09ICdfJykgfHwgKCppbiA9PSAnOicpKSB7CisJaW4rKzsKKwl3aGlsZSAoKCgqaW4gPj0gMHg2MSkgJiYgKCppbiA8PSAweDdBKSkgfHwKKwkgICAgICAgKCgqaW4gPj0gMHg0MSkgJiYgKCppbiA8PSAweDVBKSkgfHwKKwkgICAgICAgKCgqaW4gPj0gMHgzMCkgJiYgKCppbiA8PSAweDM5KSkgfHwKKwkgICAgICAgKCppbiA9PSAnXycpIHx8ICgqaW4gPT0gJy0nKSB8fAorCSAgICAgICAoKmluID09ICc6JykgfHwgKCppbiA9PSAnLicpKQorCSAgICBpbisrOworCWlmICgoKmluID4gMCkgJiYgKCppbiA8IDB4ODApKSB7CisJICAgIGNvdW50ID0gaW4gLSBjdHh0LT5jdXI7CisgICAgICAgICAgICBpZiAoY291bnQgPiBYTUxfTUFYX05BTUVfTEVOR1RIKSB7CisgICAgICAgICAgICAgICAgY3R4dC0+Y3VyID0gaW47CisgICAgICAgICAgICAgICAgWFBfRVJST1JOVUxMKFhQQVRIX0VYUFJfRVJST1IpOworICAgICAgICAgICAgfQorCSAgICByZXQgPSB4bWxTdHJuZHVwKGN0eHQtPmN1ciwgY291bnQpOworCSAgICBjdHh0LT5jdXIgPSBpbjsKKwkgICAgcmV0dXJuKHJldCk7CisJfQorICAgIH0KKyAgICByZXR1cm4oeG1sWFBhdGhQYXJzZU5hbWVDb21wbGV4KGN0eHQsIDEpKTsKK30KKworc3RhdGljIHhtbENoYXIgKgoreG1sWFBhdGhQYXJzZU5hbWVDb21wbGV4KHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0LCBpbnQgcXVhbGlmaWVkKSB7CisgICAgeG1sQ2hhciBidWZbWE1MX01BWF9OQU1FTEVOICsgNV07CisgICAgaW50IGxlbiA9IDAsIGw7CisgICAgaW50IGM7CisKKyAgICAvKgorICAgICAqIEhhbmRsZXIgZm9yIG1vcmUgY29tcGxleCBjYXNlcworICAgICAqLworICAgIGMgPSBDVVJfQ0hBUihsKTsKKyAgICBpZiAoKGMgPT0gJyAnKSB8fCAoYyA9PSAnPicpIHx8IChjID09ICcvJykgfHwgLyogYWNjZWxlcmF0b3JzICovCisgICAgICAgIChjID09ICdbJykgfHwgKGMgPT0gJ10nKSB8fCAoYyA9PSAnQCcpIHx8IC8qIGFjY2VsZXJhdG9ycyAqLworICAgICAgICAoYyA9PSAnKicpIHx8IC8qIGFjY2VsZXJhdG9ycyAqLworCSghSVNfTEVUVEVSKGMpICYmIChjICE9ICdfJykgJiYKKyAgICAgICAgICgocXVhbGlmaWVkKSAmJiAoYyAhPSAnOicpKSkpIHsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorCisgICAgd2hpbGUgKChjICE9ICcgJykgJiYgKGMgIT0gJz4nKSAmJiAoYyAhPSAnLycpICYmIC8qIHRlc3QgYmlnbmFtZS54bWwgKi8KKwkgICAoKElTX0xFVFRFUihjKSkgfHwgKElTX0RJR0lUKGMpKSB8fAorICAgICAgICAgICAgKGMgPT0gJy4nKSB8fCAoYyA9PSAnLScpIHx8CisJICAgIChjID09ICdfJykgfHwgKChxdWFsaWZpZWQpICYmIChjID09ICc6JykpIHx8CisJICAgIChJU19DT01CSU5JTkcoYykpIHx8CisJICAgIChJU19FWFRFTkRFUihjKSkpKSB7CisJQ09QWV9CVUYobCxidWYsbGVuLGMpOworCU5FWFRMKGwpOworCWMgPSBDVVJfQ0hBUihsKTsKKwlpZiAobGVuID49IFhNTF9NQVhfTkFNRUxFTikgeworCSAgICAvKgorCSAgICAgKiBPa2F5IHNvbWVvbmUgbWFuYWdlZCB0byBtYWtlIGEgaHVnZSBuYW1lLCBzbyBoZSdzIHJlYWR5IHRvIHBheQorCSAgICAgKiBmb3IgdGhlIHByb2Nlc3Npbmcgc3BlZWQuCisJICAgICAqLworCSAgICB4bWxDaGFyICpidWZmZXI7CisJICAgIGludCBtYXggPSBsZW4gKiAyOworCisgICAgICAgICAgICBpZiAobGVuID4gWE1MX01BWF9OQU1FX0xFTkdUSCkgeworICAgICAgICAgICAgICAgIFhQX0VSUk9STlVMTChYUEFUSF9FWFBSX0VSUk9SKTsKKyAgICAgICAgICAgIH0KKwkgICAgYnVmZmVyID0gKHhtbENoYXIgKikgeG1sTWFsbG9jQXRvbWljKG1heCAqIHNpemVvZih4bWxDaGFyKSk7CisJICAgIGlmIChidWZmZXIgPT0gTlVMTCkgeworCQlYUF9FUlJPUk5VTEwoWFBBVEhfTUVNT1JZX0VSUk9SKTsKKwkgICAgfQorCSAgICBtZW1jcHkoYnVmZmVyLCBidWYsIGxlbik7CisJICAgIHdoaWxlICgoSVNfTEVUVEVSKGMpKSB8fCAoSVNfRElHSVQoYykpIHx8IC8qIHRlc3QgYmlnbmFtZS54bWwgKi8KKwkJICAgKGMgPT0gJy4nKSB8fCAoYyA9PSAnLScpIHx8CisJCSAgIChjID09ICdfJykgfHwgKChxdWFsaWZpZWQpICYmIChjID09ICc6JykpIHx8CisJCSAgIChJU19DT01CSU5JTkcoYykpIHx8CisJCSAgIChJU19FWFRFTkRFUihjKSkpIHsKKwkJaWYgKGxlbiArIDEwID4gbWF4KSB7CisgICAgICAgICAgICAgICAgICAgIGlmIChtYXggPiBYTUxfTUFYX05BTUVfTEVOR1RIKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBYUF9FUlJPUk5VTEwoWFBBVEhfRVhQUl9FUlJPUik7CisgICAgICAgICAgICAgICAgICAgIH0KKwkJICAgIG1heCAqPSAyOworCQkgICAgYnVmZmVyID0gKHhtbENoYXIgKikgeG1sUmVhbGxvYyhidWZmZXIsCisJCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4ICogc2l6ZW9mKHhtbENoYXIpKTsKKwkJICAgIGlmIChidWZmZXIgPT0gTlVMTCkgeworCQkJWFBfRVJST1JOVUxMKFhQQVRIX01FTU9SWV9FUlJPUik7CisJCSAgICB9CisJCX0KKwkJQ09QWV9CVUYobCxidWZmZXIsbGVuLGMpOworCQlORVhUTChsKTsKKwkJYyA9IENVUl9DSEFSKGwpOworCSAgICB9CisJICAgIGJ1ZmZlcltsZW5dID0gMDsKKwkgICAgcmV0dXJuKGJ1ZmZlcik7CisJfQorICAgIH0KKyAgICBpZiAobGVuID09IDApCisJcmV0dXJuKE5VTEwpOworICAgIHJldHVybih4bWxTdHJuZHVwKGJ1ZiwgbGVuKSk7Cit9CisKKyNkZWZpbmUgTUFYX0ZSQUMgMjAKKworLyoKKyAqIFRoZXNlIGFyZSB1c2VkIGFzIGRpdmlzb3JzIGZvciB0aGUgZnJhY3Rpb25hbCBwYXJ0IG9mIGEgbnVtYmVyLgorICogU2luY2UgdGhlIHRhYmxlIGluY2x1ZGVzIDEuMCAocmVwcmVzZW50aW5nICcwJyBmcmFjdGlvbmFsIGRpZ2l0cyksCisgKiBpdCBtdXN0IGJlIGRpbWVuc2lvbmVkIGF0IE1BWF9GUkFDKzEgKGJ1ZyAxMzM5MjEpCisgKi8KK3N0YXRpYyBkb3VibGUgbXlfcG93MTBbTUFYX0ZSQUMrMV0gPSB7CisgICAgMS4wLCAxMC4wLCAxMDAuMCwgMTAwMC4wLCAxMDAwMC4wLAorICAgIDEwMDAwMC4wLCAxMDAwMDAwLjAsIDEwMDAwMDAwLjAsIDEwMDAwMDAwMC4wLCAxMDAwMDAwMDAwLjAsCisgICAgMTAwMDAwMDAwMDAuMCwgMTAwMDAwMDAwMDAwLjAsIDEwMDAwMDAwMDAwMDAuMCwgMTAwMDAwMDAwMDAwMDAuMCwKKyAgICAxMDAwMDAwMDAwMDAwMDAuMCwKKyAgICAxMDAwMDAwMDAwMDAwMDAwLjAsIDEwMDAwMDAwMDAwMDAwMDAwLjAsIDEwMDAwMDAwMDAwMDAwMDAwMC4wLAorICAgIDEwMDAwMDAwMDAwMDAwMDAwMDAuMCwgMTAwMDAwMDAwMDAwMDAwMDAwMDAuMCwgMTAwMDAwMDAwMDAwMDAwMDAwMDAwLjAKK307CisKKy8qKgorICogeG1sWFBhdGhTdHJpbmdFdmFsTnVtYmVyOgorICogQHN0cjogIEEgc3RyaW5nIHRvIHNjYW4KKyAqCisgKiAgWzMwYV0gIEZsb2F0ICA6Oj0gTnVtYmVyICgnZScgRGlnaXRzPyk/CisgKgorICogIFszMF0gICBOdW1iZXIgOjo9ICAgRGlnaXRzICgnLicgRGlnaXRzPyk/CisgKiAgICAgICAgICAgICAgICAgICAgfCAnLicgRGlnaXRzCisgKiAgWzMxXSAgIERpZ2l0cyA6Oj0gICBbMC05XSsKKyAqCisgKiBDb21waWxlIGEgTnVtYmVyIGluIHRoZSBzdHJpbmcKKyAqIEluIGNvbXBsZW1lbnQgb2YgdGhlIE51bWJlciBleHByZXNzaW9uLCB0aGlzIGZ1bmN0aW9uIGFsc28gaGFuZGxlcworICogbmVnYXRpdmUgdmFsdWVzIDogJy0nIE51bWJlci4KKyAqCisgKiBSZXR1cm5zIHRoZSBkb3VibGUgdmFsdWUuCisgKi8KK2RvdWJsZQoreG1sWFBhdGhTdHJpbmdFdmFsTnVtYmVyKGNvbnN0IHhtbENoYXIgKnN0cikgeworICAgIGNvbnN0IHhtbENoYXIgKmN1ciA9IHN0cjsKKyAgICBkb3VibGUgcmV0OworICAgIGludCBvayA9IDA7CisgICAgaW50IGlzbmVnID0gMDsKKyAgICBpbnQgZXhwb25lbnQgPSAwOworICAgIGludCBpc19leHBvbmVudF9uZWdhdGl2ZSA9IDA7CisjaWZkZWYgX19HTlVDX18KKyAgICB1bnNpZ25lZCBsb25nIHRtcCA9IDA7CisgICAgZG91YmxlIHRlbXA7CisjZW5kaWYKKyAgICBpZiAoY3VyID09IE5VTEwpIHJldHVybigwKTsKKyAgICB3aGlsZSAoSVNfQkxBTktfQ0goKmN1cikpIGN1cisrOworICAgIGlmICgoKmN1ciAhPSAnLicpICYmICgoKmN1ciA8ICcwJykgfHwgKCpjdXIgPiAnOScpKSAmJiAoKmN1ciAhPSAnLScpKSB7CisgICAgICAgIHJldHVybih4bWxYUGF0aE5BTik7CisgICAgfQorICAgIGlmICgqY3VyID09ICctJykgeworCWlzbmVnID0gMTsKKwljdXIrKzsKKyAgICB9CisKKyNpZmRlZiBfX0dOVUNfXworICAgIC8qCisgICAgICogdG1wL3RlbXAgaXMgYSB3b3JrYXJvdW5kIGFnYWluc3QgYSBnY2MgY29tcGlsZXIgYnVnCisgICAgICogaHR0cDovL3ZlaWxsYXJkLmNvbS9nY2MuYnVnCisgICAgICovCisgICAgcmV0ID0gMDsKKyAgICB3aGlsZSAoKCpjdXIgPj0gJzAnKSAmJiAoKmN1ciA8PSAnOScpKSB7CisJcmV0ID0gcmV0ICogMTA7CisJdG1wID0gKCpjdXIgLSAnMCcpOworCW9rID0gMTsKKwljdXIrKzsKKwl0ZW1wID0gKGRvdWJsZSkgdG1wOworCXJldCA9IHJldCArIHRlbXA7CisgICAgfQorI2Vsc2UKKyAgICByZXQgPSAwOworICAgIHdoaWxlICgoKmN1ciA+PSAnMCcpICYmICgqY3VyIDw9ICc5JykpIHsKKwlyZXQgPSByZXQgKiAxMCArICgqY3VyIC0gJzAnKTsKKwlvayA9IDE7CisJY3VyKys7CisgICAgfQorI2VuZGlmCisKKyAgICBpZiAoKmN1ciA9PSAnLicpIHsKKwlpbnQgdiwgZnJhYyA9IDA7CisJZG91YmxlIGZyYWN0aW9uID0gMDsKKworICAgICAgICBjdXIrKzsKKwlpZiAoKCgqY3VyIDwgJzAnKSB8fCAoKmN1ciA+ICc5JykpICYmICghb2spKSB7CisJICAgIHJldHVybih4bWxYUGF0aE5BTik7CisJfQorCXdoaWxlICgoKCpjdXIgPj0gJzAnKSAmJiAoKmN1ciA8PSAnOScpKSAmJiAoZnJhYyA8IE1BWF9GUkFDKSkgeworCSAgICB2ID0gKCpjdXIgLSAnMCcpOworCSAgICBmcmFjdGlvbiA9IGZyYWN0aW9uICogMTAgKyB2OworCSAgICBmcmFjID0gZnJhYyArIDE7CisJICAgIGN1cisrOworCX0KKwlmcmFjdGlvbiAvPSBteV9wb3cxMFtmcmFjXTsKKwlyZXQgPSByZXQgKyBmcmFjdGlvbjsKKwl3aGlsZSAoKCpjdXIgPj0gJzAnKSAmJiAoKmN1ciA8PSAnOScpKQorCSAgICBjdXIrKzsKKyAgICB9CisgICAgaWYgKCgqY3VyID09ICdlJykgfHwgKCpjdXIgPT0gJ0UnKSkgeworICAgICAgY3VyKys7CisgICAgICBpZiAoKmN1ciA9PSAnLScpIHsKKwlpc19leHBvbmVudF9uZWdhdGl2ZSA9IDE7CisJY3VyKys7CisgICAgICB9IGVsc2UgaWYgKCpjdXIgPT0gJysnKSB7CisgICAgICAgIGN1cisrOworICAgICAgfQorICAgICAgd2hpbGUgKCgqY3VyID49ICcwJykgJiYgKCpjdXIgPD0gJzknKSkgeworCWV4cG9uZW50ID0gZXhwb25lbnQgKiAxMCArICgqY3VyIC0gJzAnKTsKKwljdXIrKzsKKyAgICAgIH0KKyAgICB9CisgICAgd2hpbGUgKElTX0JMQU5LX0NIKCpjdXIpKSBjdXIrKzsKKyAgICBpZiAoKmN1ciAhPSAwKSByZXR1cm4oeG1sWFBhdGhOQU4pOworICAgIGlmIChpc25lZykgcmV0ID0gLXJldDsKKyAgICBpZiAoaXNfZXhwb25lbnRfbmVnYXRpdmUpIGV4cG9uZW50ID0gLWV4cG9uZW50OworICAgIHJldCAqPSBwb3coMTAuMCwgKGRvdWJsZSlleHBvbmVudCk7CisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogeG1sWFBhdGhDb21wTnVtYmVyOgorICogQGN0eHQ6ICB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQKKyAqCisgKiAgWzMwXSAgIE51bWJlciA6Oj0gICBEaWdpdHMgKCcuJyBEaWdpdHM/KT8KKyAqICAgICAgICAgICAgICAgICAgICB8ICcuJyBEaWdpdHMKKyAqICBbMzFdICAgRGlnaXRzIDo6PSAgIFswLTldKworICoKKyAqIENvbXBpbGUgYSBOdW1iZXIsIHRoZW4gcHVzaCBpdCBvbiB0aGUgc3RhY2sKKyAqCisgKi8KK3N0YXRpYyB2b2lkCit4bWxYUGF0aENvbXBOdW1iZXIoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQpCit7CisgICAgZG91YmxlIHJldCA9IDAuMDsKKyAgICBpbnQgb2sgPSAwOworICAgIGludCBleHBvbmVudCA9IDA7CisgICAgaW50IGlzX2V4cG9uZW50X25lZ2F0aXZlID0gMDsKKyNpZmRlZiBfX0dOVUNfXworICAgIHVuc2lnbmVkIGxvbmcgdG1wID0gMDsKKyAgICBkb3VibGUgdGVtcDsKKyNlbmRpZgorCisgICAgQ0hFQ0tfRVJST1I7CisgICAgaWYgKChDVVIgIT0gJy4nKSAmJiAoKENVUiA8ICcwJykgfHwgKENVUiA+ICc5JykpKSB7CisgICAgICAgIFhQX0VSUk9SKFhQQVRIX05VTUJFUl9FUlJPUik7CisgICAgfQorI2lmZGVmIF9fR05VQ19fCisgICAgLyoKKyAgICAgKiB0bXAvdGVtcCBpcyBhIHdvcmthcm91bmQgYWdhaW5zdCBhIGdjYyBjb21waWxlciBidWcKKyAgICAgKiBodHRwOi8vdmVpbGxhcmQuY29tL2djYy5idWcKKyAgICAgKi8KKyAgICByZXQgPSAwOworICAgIHdoaWxlICgoQ1VSID49ICcwJykgJiYgKENVUiA8PSAnOScpKSB7CisJcmV0ID0gcmV0ICogMTA7CisJdG1wID0gKENVUiAtICcwJyk7CisgICAgICAgIG9rID0gMTsKKyAgICAgICAgTkVYVDsKKwl0ZW1wID0gKGRvdWJsZSkgdG1wOworCXJldCA9IHJldCArIHRlbXA7CisgICAgfQorI2Vsc2UKKyAgICByZXQgPSAwOworICAgIHdoaWxlICgoQ1VSID49ICcwJykgJiYgKENVUiA8PSAnOScpKSB7CisJcmV0ID0gcmV0ICogMTAgKyAoQ1VSIC0gJzAnKTsKKwlvayA9IDE7CisJTkVYVDsKKyAgICB9CisjZW5kaWYKKyAgICBpZiAoQ1VSID09ICcuJykgeworCWludCB2LCBmcmFjID0gMDsKKwlkb3VibGUgZnJhY3Rpb24gPSAwOworCisgICAgICAgIE5FWFQ7CisgICAgICAgIGlmICgoKENVUiA8ICcwJykgfHwgKENVUiA+ICc5JykpICYmICghb2spKSB7CisgICAgICAgICAgICBYUF9FUlJPUihYUEFUSF9OVU1CRVJfRVJST1IpOworICAgICAgICB9CisgICAgICAgIHdoaWxlICgoQ1VSID49ICcwJykgJiYgKENVUiA8PSAnOScpICYmIChmcmFjIDwgTUFYX0ZSQUMpKSB7CisJICAgIHYgPSAoQ1VSIC0gJzAnKTsKKwkgICAgZnJhY3Rpb24gPSBmcmFjdGlvbiAqIDEwICsgdjsKKwkgICAgZnJhYyA9IGZyYWMgKyAxOworICAgICAgICAgICAgTkVYVDsKKyAgICAgICAgfQorICAgICAgICBmcmFjdGlvbiAvPSBteV9wb3cxMFtmcmFjXTsKKyAgICAgICAgcmV0ID0gcmV0ICsgZnJhY3Rpb247CisgICAgICAgIHdoaWxlICgoQ1VSID49ICcwJykgJiYgKENVUiA8PSAnOScpKQorICAgICAgICAgICAgTkVYVDsKKyAgICB9CisgICAgaWYgKChDVVIgPT0gJ2UnKSB8fCAoQ1VSID09ICdFJykpIHsKKyAgICAgICAgTkVYVDsKKyAgICAgICAgaWYgKENVUiA9PSAnLScpIHsKKyAgICAgICAgICAgIGlzX2V4cG9uZW50X25lZ2F0aXZlID0gMTsKKyAgICAgICAgICAgIE5FWFQ7CisgICAgICAgIH0gZWxzZSBpZiAoQ1VSID09ICcrJykgeworCSAgICBORVhUOworCX0KKyAgICAgICAgd2hpbGUgKChDVVIgPj0gJzAnKSAmJiAoQ1VSIDw9ICc5JykpIHsKKyAgICAgICAgICAgIGV4cG9uZW50ID0gZXhwb25lbnQgKiAxMCArIChDVVIgLSAnMCcpOworICAgICAgICAgICAgTkVYVDsKKyAgICAgICAgfQorICAgICAgICBpZiAoaXNfZXhwb25lbnRfbmVnYXRpdmUpCisgICAgICAgICAgICBleHBvbmVudCA9IC1leHBvbmVudDsKKyAgICAgICAgcmV0ICo9IHBvdygxMC4wLCAoZG91YmxlKSBleHBvbmVudCk7CisgICAgfQorICAgIFBVU0hfTE9OR19FWFBSKFhQQVRIX09QX1ZBTFVFLCBYUEFUSF9OVU1CRVIsIDAsIDAsCisgICAgICAgICAgICAgICAgICAgeG1sWFBhdGhDYWNoZU5ld0Zsb2F0KGN0eHQtPmNvbnRleHQsIHJldCksIE5VTEwpOworfQorCisvKioKKyAqIHhtbFhQYXRoUGFyc2VMaXRlcmFsOgorICogQGN0eHQ6ICB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQKKyAqCisgKiBQYXJzZSBhIExpdGVyYWwKKyAqCisgKiAgWzI5XSAgIExpdGVyYWwgOjo9ICAgJyInIFteIl0qICciJworICogICAgICAgICAgICAgICAgICAgIHwgIiciIFteJ10qICInIgorICoKKyAqIFJldHVybnMgdGhlIHZhbHVlIGZvdW5kIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcgorICovCitzdGF0aWMgeG1sQ2hhciAqCit4bWxYUGF0aFBhcnNlTGl0ZXJhbCh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCkgeworICAgIGNvbnN0IHhtbENoYXIgKnE7CisgICAgeG1sQ2hhciAqcmV0ID0gTlVMTDsKKworICAgIGlmIChDVVIgPT0gJyInKSB7CisgICAgICAgIE5FWFQ7CisJcSA9IENVUl9QVFI7CisJd2hpbGUgKChJU19DSEFSX0NIKENVUikpICYmIChDVVIgIT0gJyInKSkKKwkgICAgTkVYVDsKKwlpZiAoIUlTX0NIQVJfQ0goQ1VSKSkgeworCSAgICBYUF9FUlJPUk5VTEwoWFBBVEhfVU5GSU5JU0hFRF9MSVRFUkFMX0VSUk9SKTsKKwl9IGVsc2UgeworCSAgICByZXQgPSB4bWxTdHJuZHVwKHEsIENVUl9QVFIgLSBxKTsKKwkgICAgTkVYVDsKKyAgICAgICAgfQorICAgIH0gZWxzZSBpZiAoQ1VSID09ICdcJycpIHsKKyAgICAgICAgTkVYVDsKKwlxID0gQ1VSX1BUUjsKKwl3aGlsZSAoKElTX0NIQVJfQ0goQ1VSKSkgJiYgKENVUiAhPSAnXCcnKSkKKwkgICAgTkVYVDsKKwlpZiAoIUlTX0NIQVJfQ0goQ1VSKSkgeworCSAgICBYUF9FUlJPUk5VTEwoWFBBVEhfVU5GSU5JU0hFRF9MSVRFUkFMX0VSUk9SKTsKKwl9IGVsc2UgeworCSAgICByZXQgPSB4bWxTdHJuZHVwKHEsIENVUl9QVFIgLSBxKTsKKwkgICAgTkVYVDsKKyAgICAgICAgfQorICAgIH0gZWxzZSB7CisJWFBfRVJST1JOVUxMKFhQQVRIX1NUQVJUX0xJVEVSQUxfRVJST1IpOworICAgIH0KKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxYUGF0aENvbXBMaXRlcmFsOgorICogQGN0eHQ6ICB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQKKyAqCisgKiBQYXJzZSBhIExpdGVyYWwgYW5kIHB1c2ggaXQgb24gdGhlIHN0YWNrLgorICoKKyAqICBbMjldICAgTGl0ZXJhbCA6Oj0gICAnIicgW14iXSogJyInCisgKiAgICAgICAgICAgICAgICAgICAgfCAiJyIgW14nXSogIiciCisgKgorICogVE9ETzogeG1sWFBhdGhDb21wTGl0ZXJhbCBtZW1vcnkgYWxsb2NhdGlvbiBjb3VsZCBiZSBpbXByb3ZlZC4KKyAqLworc3RhdGljIHZvaWQKK3htbFhQYXRoQ29tcExpdGVyYWwoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQpIHsKKyAgICBjb25zdCB4bWxDaGFyICpxOworICAgIHhtbENoYXIgKnJldCA9IE5VTEw7CisKKyAgICBpZiAoQ1VSID09ICciJykgeworICAgICAgICBORVhUOworCXEgPSBDVVJfUFRSOworCXdoaWxlICgoSVNfQ0hBUl9DSChDVVIpKSAmJiAoQ1VSICE9ICciJykpCisJICAgIE5FWFQ7CisJaWYgKCFJU19DSEFSX0NIKENVUikpIHsKKwkgICAgWFBfRVJST1IoWFBBVEhfVU5GSU5JU0hFRF9MSVRFUkFMX0VSUk9SKTsKKwl9IGVsc2UgeworCSAgICByZXQgPSB4bWxTdHJuZHVwKHEsIENVUl9QVFIgLSBxKTsKKwkgICAgTkVYVDsKKyAgICAgICAgfQorICAgIH0gZWxzZSBpZiAoQ1VSID09ICdcJycpIHsKKyAgICAgICAgTkVYVDsKKwlxID0gQ1VSX1BUUjsKKwl3aGlsZSAoKElTX0NIQVJfQ0goQ1VSKSkgJiYgKENVUiAhPSAnXCcnKSkKKwkgICAgTkVYVDsKKwlpZiAoIUlTX0NIQVJfQ0goQ1VSKSkgeworCSAgICBYUF9FUlJPUihYUEFUSF9VTkZJTklTSEVEX0xJVEVSQUxfRVJST1IpOworCX0gZWxzZSB7CisJICAgIHJldCA9IHhtbFN0cm5kdXAocSwgQ1VSX1BUUiAtIHEpOworCSAgICBORVhUOworICAgICAgICB9CisgICAgfSBlbHNlIHsKKwlYUF9FUlJPUihYUEFUSF9TVEFSVF9MSVRFUkFMX0VSUk9SKTsKKyAgICB9CisgICAgaWYgKHJldCA9PSBOVUxMKSByZXR1cm47CisgICAgUFVTSF9MT05HX0VYUFIoWFBBVEhfT1BfVkFMVUUsIFhQQVRIX1NUUklORywgMCwgMCwKKwkgICAgICAgICAgIHhtbFhQYXRoQ2FjaGVOZXdTdHJpbmcoY3R4dC0+Y29udGV4dCwgcmV0KSwgTlVMTCk7CisgICAgeG1sRnJlZShyZXQpOworfQorCisvKioKKyAqIHhtbFhQYXRoQ29tcFZhcmlhYmxlUmVmZXJlbmNlOgorICogQGN0eHQ6ICB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQKKyAqCisgKiBQYXJzZSBhIFZhcmlhYmxlUmVmZXJlbmNlLCBldmFsdWF0ZSBpdCBhbmQgcHVzaCBpdCBvbiB0aGUgc3RhY2suCisgKgorICogVGhlIHZhcmlhYmxlIGJpbmRpbmdzIGNvbnNpc3Qgb2YgYSBtYXBwaW5nIGZyb20gdmFyaWFibGUgbmFtZXMKKyAqIHRvIHZhcmlhYmxlIHZhbHVlcy4gVGhlIHZhbHVlIG9mIGEgdmFyaWFibGUgaXMgYW4gb2JqZWN0LCB3aGljaCBjYW4gYmUKKyAqIG9mIGFueSBvZiB0aGUgdHlwZXMgdGhhdCBhcmUgcG9zc2libGUgZm9yIHRoZSB2YWx1ZSBvZiBhbiBleHByZXNzaW9uLAorICogYW5kIG1heSBhbHNvIGJlIG9mIGFkZGl0aW9uYWwgdHlwZXMgbm90IHNwZWNpZmllZCBoZXJlLgorICoKKyAqIEVhcmx5IGV2YWx1YXRpb24gaXMgcG9zc2libGUgc2luY2U6CisgKiBUaGUgdmFyaWFibGUgYmluZGluZ3MgWy4uLl0gdXNlZCB0byBldmFsdWF0ZSBhIHN1YmV4cHJlc3Npb24gYXJlCisgKiBhbHdheXMgdGhlIHNhbWUgYXMgdGhvc2UgdXNlZCB0byBldmFsdWF0ZSB0aGUgY29udGFpbmluZyBleHByZXNzaW9uLgorICoKKyAqICBbMzZdICAgVmFyaWFibGVSZWZlcmVuY2UgOjo9ICAgJyQnIFFOYW1lCisgKi8KK3N0YXRpYyB2b2lkCit4bWxYUGF0aENvbXBWYXJpYWJsZVJlZmVyZW5jZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCkgeworICAgIHhtbENoYXIgKm5hbWU7CisgICAgeG1sQ2hhciAqcHJlZml4OworCisgICAgU0tJUF9CTEFOS1M7CisgICAgaWYgKENVUiAhPSAnJCcpIHsKKwlYUF9FUlJPUihYUEFUSF9WQVJJQUJMRV9SRUZfRVJST1IpOworICAgIH0KKyAgICBORVhUOworICAgIG5hbWUgPSB4bWxYUGF0aFBhcnNlUU5hbWUoY3R4dCwgJnByZWZpeCk7CisgICAgaWYgKG5hbWUgPT0gTlVMTCkgeworCVhQX0VSUk9SKFhQQVRIX1ZBUklBQkxFX1JFRl9FUlJPUik7CisgICAgfQorICAgIGN0eHQtPmNvbXAtPmxhc3QgPSAtMTsKKyAgICBQVVNIX0xPTkdfRVhQUihYUEFUSF9PUF9WQVJJQUJMRSwgMCwgMCwgMCwKKwkgICAgICAgICAgIG5hbWUsIHByZWZpeCk7CisgICAgU0tJUF9CTEFOS1M7CisgICAgaWYgKChjdHh0LT5jb250ZXh0ICE9IE5VTEwpICYmIChjdHh0LT5jb250ZXh0LT5mbGFncyAmIFhNTF9YUEFUSF9OT1ZBUikpIHsKKwlYUF9FUlJPUihYUEFUSF9GT1JCSURfVkFSSUFCTEVfRVJST1IpOworICAgIH0KK30KKworLyoqCisgKiB4bWxYUGF0aElzTm9kZVR5cGU6CisgKiBAbmFtZTogIGEgbmFtZSBzdHJpbmcKKyAqCisgKiBJcyB0aGUgbmFtZSBnaXZlbiBhIE5vZGVUeXBlIG9uZS4KKyAqCisgKiAgWzM4XSAgIE5vZGVUeXBlIDo6PSAgICdjb21tZW50JworICogICAgICAgICAgICAgICAgICAgIHwgJ3RleHQnCisgKiAgICAgICAgICAgICAgICAgICAgfCAncHJvY2Vzc2luZy1pbnN0cnVjdGlvbicKKyAqICAgICAgICAgICAgICAgICAgICB8ICdub2RlJworICoKKyAqIFJldHVybnMgMSBpZiB0cnVlIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sWFBhdGhJc05vZGVUeXBlKGNvbnN0IHhtbENoYXIgKm5hbWUpIHsKKyAgICBpZiAobmFtZSA9PSBOVUxMKQorCXJldHVybigwKTsKKworICAgIGlmICh4bWxTdHJFcXVhbChuYW1lLCBCQURfQ0FTVCAibm9kZSIpKQorCXJldHVybigxKTsKKyAgICBpZiAoeG1sU3RyRXF1YWwobmFtZSwgQkFEX0NBU1QgInRleHQiKSkKKwlyZXR1cm4oMSk7CisgICAgaWYgKHhtbFN0ckVxdWFsKG5hbWUsIEJBRF9DQVNUICJjb21tZW50IikpCisJcmV0dXJuKDEpOworICAgIGlmICh4bWxTdHJFcXVhbChuYW1lLCBCQURfQ0FTVCAicHJvY2Vzc2luZy1pbnN0cnVjdGlvbiIpKQorCXJldHVybigxKTsKKyAgICByZXR1cm4oMCk7Cit9CisKKy8qKgorICogeG1sWFBhdGhDb21wRnVuY3Rpb25DYWxsOgorICogQGN0eHQ6ICB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQKKyAqCisgKiAgWzE2XSAgIEZ1bmN0aW9uQ2FsbCA6Oj0gICBGdW5jdGlvbk5hbWUgJygnICggQXJndW1lbnQgKCAnLCcgQXJndW1lbnQpKik/ICcpJworICogIFsxN10gICBBcmd1bWVudCA6Oj0gICBFeHByCisgKgorICogQ29tcGlsZSBhIGZ1bmN0aW9uIGNhbGwsIHRoZSBldmFsdWF0aW9uIG9mIGFsbCBhcmd1bWVudHMgYXJlCisgKiBwdXNoZWQgb24gdGhlIHN0YWNrCisgKi8KK3N0YXRpYyB2b2lkCit4bWxYUGF0aENvbXBGdW5jdGlvbkNhbGwoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQpIHsKKyAgICB4bWxDaGFyICpuYW1lOworICAgIHhtbENoYXIgKnByZWZpeDsKKyAgICBpbnQgbmJhcmdzID0gMDsKKyAgICBpbnQgc29ydCA9IDE7CisKKyAgICBuYW1lID0geG1sWFBhdGhQYXJzZVFOYW1lKGN0eHQsICZwcmVmaXgpOworICAgIGlmIChuYW1lID09IE5VTEwpIHsKKwl4bWxGcmVlKHByZWZpeCk7CisJWFBfRVJST1IoWFBBVEhfRVhQUl9FUlJPUik7CisgICAgfQorICAgIFNLSVBfQkxBTktTOworI2lmZGVmIERFQlVHX0VYUFIKKyAgICBpZiAocHJlZml4ID09IE5VTEwpCisJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICJDYWxsaW5nIGZ1bmN0aW9uICVzXG4iLAorCQkJbmFtZSk7CisgICAgZWxzZQorCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCAiQ2FsbGluZyBmdW5jdGlvbiAlczolc1xuIiwKKwkJCXByZWZpeCwgbmFtZSk7CisjZW5kaWYKKworICAgIGlmIChDVVIgIT0gJygnKSB7CisJWFBfRVJST1IoWFBBVEhfRVhQUl9FUlJPUik7CisgICAgfQorICAgIE5FWFQ7CisgICAgU0tJUF9CTEFOS1M7CisKKyAgICAvKgorICAgICogT3B0aW1pemF0aW9uIGZvciBjb3VudCgpOiB3ZSBkb24ndCBuZWVkIHRoZSBub2RlLXNldCB0byBiZSBzb3J0ZWQuCisgICAgKi8KKyAgICBpZiAoKHByZWZpeCA9PSBOVUxMKSAmJiAobmFtZVswXSA9PSAnYycpICYmCisJeG1sU3RyRXF1YWwobmFtZSwgQkFEX0NBU1QgImNvdW50IikpCisgICAgeworCXNvcnQgPSAwOworICAgIH0KKyAgICBjdHh0LT5jb21wLT5sYXN0ID0gLTE7CisgICAgaWYgKENVUiAhPSAnKScpIHsKKwl3aGlsZSAoQ1VSICE9IDApIHsKKwkgICAgaW50IG9wMSA9IGN0eHQtPmNvbXAtPmxhc3Q7CisJICAgIGN0eHQtPmNvbXAtPmxhc3QgPSAtMTsKKwkgICAgeG1sWFBhdGhDb21waWxlRXhwcihjdHh0LCBzb3J0KTsKKwkgICAgaWYgKGN0eHQtPmVycm9yICE9IFhQQVRIX0VYUFJFU1NJT05fT0spIHsKKwkJeG1sRnJlZShuYW1lKTsKKwkJeG1sRnJlZShwcmVmaXgpOworCQlyZXR1cm47CisJICAgIH0KKwkgICAgUFVTSF9CSU5BUllfRVhQUihYUEFUSF9PUF9BUkcsIG9wMSwgY3R4dC0+Y29tcC0+bGFzdCwgMCwgMCk7CisJICAgIG5iYXJncysrOworCSAgICBpZiAoQ1VSID09ICcpJykgYnJlYWs7CisJICAgIGlmIChDVVIgIT0gJywnKSB7CisJCVhQX0VSUk9SKFhQQVRIX0VYUFJfRVJST1IpOworCSAgICB9CisJICAgIE5FWFQ7CisJICAgIFNLSVBfQkxBTktTOworCX0KKyAgICB9CisgICAgUFVTSF9MT05HX0VYUFIoWFBBVEhfT1BfRlVOQ1RJT04sIG5iYXJncywgMCwgMCwKKwkgICAgICAgICAgIG5hbWUsIHByZWZpeCk7CisgICAgTkVYVDsKKyAgICBTS0lQX0JMQU5LUzsKK30KKworLyoqCisgKiB4bWxYUGF0aENvbXBQcmltYXJ5RXhwcjoKKyAqIEBjdHh0OiAgdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0CisgKgorICogIFsxNV0gICBQcmltYXJ5RXhwciA6Oj0gICBWYXJpYWJsZVJlZmVyZW5jZQorICogICAgICAgICAgICAgICAgfCAnKCcgRXhwciAnKScKKyAqICAgICAgICAgICAgICAgIHwgTGl0ZXJhbAorICogICAgICAgICAgICAgICAgfCBOdW1iZXIKKyAqICAgICAgICAgICAgICAgIHwgRnVuY3Rpb25DYWxsCisgKgorICogQ29tcGlsZSBhIHByaW1hcnkgZXhwcmVzc2lvbi4KKyAqLworc3RhdGljIHZvaWQKK3htbFhQYXRoQ29tcFByaW1hcnlFeHByKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0KSB7CisgICAgU0tJUF9CTEFOS1M7CisgICAgaWYgKENVUiA9PSAnJCcpIHhtbFhQYXRoQ29tcFZhcmlhYmxlUmVmZXJlbmNlKGN0eHQpOworICAgIGVsc2UgaWYgKENVUiA9PSAnKCcpIHsKKwlORVhUOworCVNLSVBfQkxBTktTOworCXhtbFhQYXRoQ29tcGlsZUV4cHIoY3R4dCwgMSk7CisJQ0hFQ0tfRVJST1I7CisJaWYgKENVUiAhPSAnKScpIHsKKwkgICAgWFBfRVJST1IoWFBBVEhfRVhQUl9FUlJPUik7CisJfQorCU5FWFQ7CisJU0tJUF9CTEFOS1M7CisgICAgfSBlbHNlIGlmIChJU19BU0NJSV9ESUdJVChDVVIpIHx8IChDVVIgPT0gJy4nICYmIElTX0FTQ0lJX0RJR0lUKE5YVCgxKSkpKSB7CisJeG1sWFBhdGhDb21wTnVtYmVyKGN0eHQpOworICAgIH0gZWxzZSBpZiAoKENVUiA9PSAnXCcnKSB8fCAoQ1VSID09ICciJykpIHsKKwl4bWxYUGF0aENvbXBMaXRlcmFsKGN0eHQpOworICAgIH0gZWxzZSB7CisJeG1sWFBhdGhDb21wRnVuY3Rpb25DYWxsKGN0eHQpOworICAgIH0KKyAgICBTS0lQX0JMQU5LUzsKK30KKworLyoqCisgKiB4bWxYUGF0aENvbXBGaWx0ZXJFeHByOgorICogQGN0eHQ6ICB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQKKyAqCisgKiAgWzIwXSAgIEZpbHRlckV4cHIgOjo9ICAgUHJpbWFyeUV4cHIKKyAqICAgICAgICAgICAgICAgfCBGaWx0ZXJFeHByIFByZWRpY2F0ZQorICoKKyAqIENvbXBpbGUgYSBmaWx0ZXIgZXhwcmVzc2lvbi4KKyAqIFNxdWFyZSBicmFja2V0cyBhcmUgdXNlZCB0byBmaWx0ZXIgZXhwcmVzc2lvbnMgaW4gdGhlIHNhbWUgd2F5IHRoYXQKKyAqIHRoZXkgYXJlIHVzZWQgaW4gbG9jYXRpb24gcGF0aHMuIEl0IGlzIGFuIGVycm9yIGlmIHRoZSBleHByZXNzaW9uIHRvCisgKiBiZSBmaWx0ZXJlZCBkb2VzIG5vdCBldmFsdWF0ZSB0byBhIG5vZGUtc2V0LiBUaGUgY29udGV4dCBub2RlIGxpc3QKKyAqIHVzZWQgZm9yIGV2YWx1YXRpbmcgdGhlIGV4cHJlc3Npb24gaW4gc3F1YXJlIGJyYWNrZXRzIGlzIHRoZSBub2RlLXNldAorICogdG8gYmUgZmlsdGVyZWQgbGlzdGVkIGluIGRvY3VtZW50IG9yZGVyLgorICovCisKK3N0YXRpYyB2b2lkCit4bWxYUGF0aENvbXBGaWx0ZXJFeHByKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0KSB7CisgICAgeG1sWFBhdGhDb21wUHJpbWFyeUV4cHIoY3R4dCk7CisgICAgQ0hFQ0tfRVJST1I7CisgICAgU0tJUF9CTEFOS1M7CisKKyAgICB3aGlsZSAoQ1VSID09ICdbJykgeworCXhtbFhQYXRoQ29tcFByZWRpY2F0ZShjdHh0LCAxKTsKKwlTS0lQX0JMQU5LUzsKKyAgICB9CisKKworfQorCisvKioKKyAqIHhtbFhQYXRoU2Nhbk5hbWU6CisgKiBAY3R4dDogIHRoZSBYUGF0aCBQYXJzZXIgY29udGV4dAorICoKKyAqIFRyaWNrZXJ5OiBwYXJzZSBhbiBYTUwgbmFtZSBidXQgd2l0aG91dCBjb25zdW1pbmcgdGhlIGlucHV0IGZsb3cKKyAqIE5lZWRlZCB0byBhdm9pZCBpbnNhbml0eSBpbiB0aGUgcGFyc2VyIHN0YXRlLgorICoKKyAqIFs0XSBOYW1lQ2hhciA6Oj0gTGV0dGVyIHwgRGlnaXQgfCAnLicgfCAnLScgfCAnXycgfCAnOicgfAorICogICAgICAgICAgICAgICAgICBDb21iaW5pbmdDaGFyIHwgRXh0ZW5kZXIKKyAqCisgKiBbNV0gTmFtZSA6Oj0gKExldHRlciB8ICdfJyB8ICc6JykgKE5hbWVDaGFyKSoKKyAqCisgKiBbNl0gTmFtZXMgOjo9IE5hbWUgKFMgTmFtZSkqCisgKgorICogUmV0dXJucyB0aGUgTmFtZSBwYXJzZWQgb3IgTlVMTAorICovCisKK3N0YXRpYyB4bWxDaGFyICoKK3htbFhQYXRoU2Nhbk5hbWUoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQpIHsKKyAgICBpbnQgbGVuID0gMCwgbDsKKyAgICBpbnQgYzsKKyAgICBjb25zdCB4bWxDaGFyICpjdXI7CisgICAgeG1sQ2hhciAqcmV0OworCisgICAgY3VyID0gY3R4dC0+Y3VyOworCisgICAgYyA9IENVUl9DSEFSKGwpOworICAgIGlmICgoYyA9PSAnICcpIHx8IChjID09ICc+JykgfHwgKGMgPT0gJy8nKSB8fCAvKiBhY2NlbGVyYXRvcnMgKi8KKwkoIUlTX0xFVFRFUihjKSAmJiAoYyAhPSAnXycpICYmCisgICAgICAgICAoYyAhPSAnOicpKSkgeworCXJldHVybihOVUxMKTsKKyAgICB9CisKKyAgICB3aGlsZSAoKGMgIT0gJyAnKSAmJiAoYyAhPSAnPicpICYmIChjICE9ICcvJykgJiYgLyogdGVzdCBiaWduYW1lLnhtbCAqLworCSAgICgoSVNfTEVUVEVSKGMpKSB8fCAoSVNfRElHSVQoYykpIHx8CisgICAgICAgICAgICAoYyA9PSAnLicpIHx8IChjID09ICctJykgfHwKKwkgICAgKGMgPT0gJ18nKSB8fCAoYyA9PSAnOicpIHx8CisJICAgIChJU19DT01CSU5JTkcoYykpIHx8CisJICAgIChJU19FWFRFTkRFUihjKSkpKSB7CisJbGVuICs9IGw7CisJTkVYVEwobCk7CisJYyA9IENVUl9DSEFSKGwpOworICAgIH0KKyAgICByZXQgPSB4bWxTdHJuZHVwKGN1ciwgY3R4dC0+Y3VyIC0gY3VyKTsKKyAgICBjdHh0LT5jdXIgPSBjdXI7CisgICAgcmV0dXJuKHJldCk7Cit9CisKKy8qKgorICogeG1sWFBhdGhDb21wUGF0aEV4cHI6CisgKiBAY3R4dDogIHRoZSBYUGF0aCBQYXJzZXIgY29udGV4dAorICoKKyAqICBbMTldICAgUGF0aEV4cHIgOjo9ICAgTG9jYXRpb25QYXRoCisgKiAgICAgICAgICAgICAgIHwgRmlsdGVyRXhwcgorICogICAgICAgICAgICAgICB8IEZpbHRlckV4cHIgJy8nIFJlbGF0aXZlTG9jYXRpb25QYXRoCisgKiAgICAgICAgICAgICAgIHwgRmlsdGVyRXhwciAnLy8nIFJlbGF0aXZlTG9jYXRpb25QYXRoCisgKgorICogQ29tcGlsZSBhIHBhdGggZXhwcmVzc2lvbi4KKyAqIFRoZSAvIG9wZXJhdG9yIGFuZCAvLyBvcGVyYXRvcnMgY29tYmluZSBhbiBhcmJpdHJhcnkgZXhwcmVzc2lvbgorICogYW5kIGEgcmVsYXRpdmUgbG9jYXRpb24gcGF0aC4gSXQgaXMgYW4gZXJyb3IgaWYgdGhlIGV4cHJlc3Npb24KKyAqIGRvZXMgbm90IGV2YWx1YXRlIHRvIGEgbm9kZS1zZXQuCisgKiBUaGUgLyBvcGVyYXRvciBkb2VzIGNvbXBvc2l0aW9uIGluIHRoZSBzYW1lIHdheSBhcyB3aGVuIC8gaXMKKyAqIHVzZWQgaW4gYSBsb2NhdGlvbiBwYXRoLiBBcyBpbiBsb2NhdGlvbiBwYXRocywgLy8gaXMgc2hvcnQgZm9yCisgKiAvZGVzY2VuZGFudC1vci1zZWxmOjpub2RlKCkvLgorICovCisKK3N0YXRpYyB2b2lkCit4bWxYUGF0aENvbXBQYXRoRXhwcih4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCkgeworICAgIGludCBsYyA9IDE7ICAgICAgICAgICAvKiBTaG91bGQgd2UgYnJhbmNoIHRvIExvY2F0aW9uUGF0aCA/ICAgICAgICAgKi8KKyAgICB4bWxDaGFyICpuYW1lID0gTlVMTDsgLyogd2UgbWF5IGhhdmUgdG8gcHJlcGFyc2UgYSBuYW1lIHRvIGZpbmQgb3V0ICovCisKKyAgICBTS0lQX0JMQU5LUzsKKyAgICBpZiAoKENVUiA9PSAnJCcpIHx8IChDVVIgPT0gJygnKSB8fAorCShJU19BU0NJSV9ESUdJVChDVVIpKSB8fAorICAgICAgICAoQ1VSID09ICdcJycpIHx8IChDVVIgPT0gJyInKSB8fAorCShDVVIgPT0gJy4nICYmIElTX0FTQ0lJX0RJR0lUKE5YVCgxKSkpKSB7CisJbGMgPSAwOworICAgIH0gZWxzZSBpZiAoQ1VSID09ICcqJykgeworCS8qIHJlbGF0aXZlIG9yIGFic29sdXRlIGxvY2F0aW9uIHBhdGggKi8KKwlsYyA9IDE7CisgICAgfSBlbHNlIGlmIChDVVIgPT0gJy8nKSB7CisJLyogcmVsYXRpdmUgb3IgYWJzb2x1dGUgbG9jYXRpb24gcGF0aCAqLworCWxjID0gMTsKKyAgICB9IGVsc2UgaWYgKENVUiA9PSAnQCcpIHsKKwkvKiByZWxhdGl2ZSBhYmJyZXZpYXRlZCBhdHRyaWJ1dGUgbG9jYXRpb24gcGF0aCAqLworCWxjID0gMTsKKyAgICB9IGVsc2UgaWYgKENVUiA9PSAnLicpIHsKKwkvKiByZWxhdGl2ZSBhYmJyZXZpYXRlZCBhdHRyaWJ1dGUgbG9jYXRpb24gcGF0aCAqLworCWxjID0gMTsKKyAgICB9IGVsc2UgeworCS8qCisJICogUHJvYmxlbSBpcyBmaW5kaW5nIGlmIHdlIGhhdmUgYSBuYW1lIGhlcmUgd2hldGhlciBpdCdzOgorCSAqICAgLSBhIG5vZGV0eXBlCisJICogICAtIGEgZnVuY3Rpb24gY2FsbCBpbiB3aGljaCBjYXNlIGl0J3MgZm9sbG93ZWQgYnkgJygnCisJICogICAtIGFuIGF4aXMgaW4gd2hpY2ggY2FzZSBpdCdzIGZvbGxvd2VkIGJ5ICc6JworCSAqICAgLSBhIGVsZW1lbnQgbmFtZQorCSAqIFdlIGRvIGFuIGEgcHJpb3JpIGFuYWx5c2lzIGhlcmUgcmF0aGVyIHRoYW4gaGF2aW5nIHRvCisJICogbWFpbnRhaW4gcGFyc2VkIHRva2VuIGNvbnRlbnQgdGhyb3VnaCB0aGUgcmVjdXJzaXZlIGZ1bmN0aW9uCisJICogY2FsbHMuIFRoaXMgbG9va3MgdWdsaWVyIGJ1dCBtYWtlcyB0aGUgY29kZSBlYXNpZXIgdG8KKwkgKiByZWFkL3dyaXRlL2RlYnVnLgorCSAqLworCVNLSVBfQkxBTktTOworCW5hbWUgPSB4bWxYUGF0aFNjYW5OYW1lKGN0eHQpOworCWlmICgobmFtZSAhPSBOVUxMKSAmJiAoeG1sU3Ryc3RyKG5hbWUsICh4bWxDaGFyICopICI6OiIpICE9IE5VTEwpKSB7CisjaWZkZWYgREVCVUdfU1RFUAorCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJICAgICJQYXRoRXhwcjogQXhpc1xuIik7CisjZW5kaWYKKwkgICAgbGMgPSAxOworCSAgICB4bWxGcmVlKG5hbWUpOworCX0gZWxzZSBpZiAobmFtZSAhPSBOVUxMKSB7CisJICAgIGludCBsZW4gPXhtbFN0cmxlbihuYW1lKTsKKworCisJICAgIHdoaWxlIChOWFQobGVuKSAhPSAwKSB7CisJCWlmIChOWFQobGVuKSA9PSAnLycpIHsKKwkJICAgIC8qIGVsZW1lbnQgbmFtZSAqLworI2lmZGVmIERFQlVHX1NURVAKKwkJICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkJICAgICJQYXRoRXhwcjogQWJiclJlbExvY2F0aW9uXG4iKTsKKyNlbmRpZgorCQkgICAgbGMgPSAxOworCQkgICAgYnJlYWs7CisJCX0gZWxzZSBpZiAoSVNfQkxBTktfQ0goTlhUKGxlbikpKSB7CisJCSAgICAvKiBpZ25vcmUgYmxhbmtzICovCisJCSAgICA7CisJCX0gZWxzZSBpZiAoTlhUKGxlbikgPT0gJzonKSB7CisjaWZkZWYgREVCVUdfU1RFUAorCQkgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCQkgICAgIlBhdGhFeHByOiBBYmJyUmVsTG9jYXRpb25cbiIpOworI2VuZGlmCisJCSAgICBsYyA9IDE7CisJCSAgICBicmVhazsKKwkJfSBlbHNlIGlmICgoTlhUKGxlbikgPT0gJygnKSkgeworCQkgICAgLyogTm90ZSBUeXBlIG9yIEZ1bmN0aW9uICovCisJCSAgICBpZiAoeG1sWFBhdGhJc05vZGVUeXBlKG5hbWUpKSB7CisjaWZkZWYgREVCVUdfU1RFUAorCQkgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkJCSJQYXRoRXhwcjogVHlwZSBzZWFyY2hcbiIpOworI2VuZGlmCisJCQlsYyA9IDE7CisJCSAgICB9IGVsc2UgeworI2lmZGVmIERFQlVHX1NURVAKKwkJICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJCQkiUGF0aEV4cHI6IGZ1bmN0aW9uIGNhbGxcbiIpOworI2VuZGlmCisJCQlsYyA9IDA7CisJCSAgICB9CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworCQl9IGVsc2UgaWYgKChOWFQobGVuKSA9PSAnWycpKSB7CisJCSAgICAvKiBlbGVtZW50IG5hbWUgKi8KKyNpZmRlZiBERUJVR19TVEVQCisJCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJCSAgICAiUGF0aEV4cHI6IEFiYnJSZWxMb2NhdGlvblxuIik7CisjZW5kaWYKKwkJICAgIGxjID0gMTsKKwkJICAgIGJyZWFrOworCQl9IGVsc2UgaWYgKChOWFQobGVuKSA9PSAnPCcpIHx8IChOWFQobGVuKSA9PSAnPicpIHx8CisJCQkgICAoTlhUKGxlbikgPT0gJz0nKSkgeworCQkgICAgbGMgPSAxOworCQkgICAgYnJlYWs7CisJCX0gZWxzZSB7CisJCSAgICBsYyA9IDE7CisJCSAgICBicmVhazsKKwkJfQorCQlsZW4rKzsKKwkgICAgfQorCSAgICBpZiAoTlhUKGxlbikgPT0gMCkgeworI2lmZGVmIERFQlVHX1NURVAKKwkJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCQkiUGF0aEV4cHI6IEFiYnJSZWxMb2NhdGlvblxuIik7CisjZW5kaWYKKwkJLyogZWxlbWVudCBuYW1lICovCisJCWxjID0gMTsKKwkgICAgfQorCSAgICB4bWxGcmVlKG5hbWUpOworCX0gZWxzZSB7CisJICAgIC8qIG1ha2Ugc3VyZSBhbGwgY2FzZXMgYXJlIGNvdmVyZWQgZXhwbGljaXRseSAqLworCSAgICBYUF9FUlJPUihYUEFUSF9FWFBSX0VSUk9SKTsKKwl9CisgICAgfQorCisgICAgaWYgKGxjKSB7CisJaWYgKENVUiA9PSAnLycpIHsKKwkgICAgUFVTSF9MRUFWRV9FWFBSKFhQQVRIX09QX1JPT1QsIDAsIDApOworCX0gZWxzZSB7CisJICAgIFBVU0hfTEVBVkVfRVhQUihYUEFUSF9PUF9OT0RFLCAwLCAwKTsKKwl9CisJeG1sWFBhdGhDb21wTG9jYXRpb25QYXRoKGN0eHQpOworICAgIH0gZWxzZSB7CisJeG1sWFBhdGhDb21wRmlsdGVyRXhwcihjdHh0KTsKKwlDSEVDS19FUlJPUjsKKwlpZiAoKENVUiA9PSAnLycpICYmIChOWFQoMSkgPT0gJy8nKSkgeworCSAgICBTS0lQKDIpOworCSAgICBTS0lQX0JMQU5LUzsKKworCSAgICBQVVNIX0xPTkdfRVhQUihYUEFUSF9PUF9DT0xMRUNULCBBWElTX0RFU0NFTkRBTlRfT1JfU0VMRiwKKwkJICAgIE5PREVfVEVTVF9UWVBFLCBOT0RFX1RZUEVfTk9ERSwgTlVMTCwgTlVMTCk7CisJICAgIFBVU0hfVU5BUllfRVhQUihYUEFUSF9PUF9SRVNFVCwgY3R4dC0+Y29tcC0+bGFzdCwgMSwgMCk7CisKKwkgICAgeG1sWFBhdGhDb21wUmVsYXRpdmVMb2NhdGlvblBhdGgoY3R4dCk7CisJfSBlbHNlIGlmIChDVVIgPT0gJy8nKSB7CisJICAgIHhtbFhQYXRoQ29tcFJlbGF0aXZlTG9jYXRpb25QYXRoKGN0eHQpOworCX0KKyAgICB9CisgICAgU0tJUF9CTEFOS1M7Cit9CisKKy8qKgorICogeG1sWFBhdGhDb21wVW5pb25FeHByOgorICogQGN0eHQ6ICB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQKKyAqCisgKiAgWzE4XSAgIFVuaW9uRXhwciA6Oj0gICBQYXRoRXhwcgorICogICAgICAgICAgICAgICB8IFVuaW9uRXhwciAnfCcgUGF0aEV4cHIKKyAqCisgKiBDb21waWxlIGFuIHVuaW9uIGV4cHJlc3Npb24uCisgKi8KKworc3RhdGljIHZvaWQKK3htbFhQYXRoQ29tcFVuaW9uRXhwcih4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCkgeworICAgIHhtbFhQYXRoQ29tcFBhdGhFeHByKGN0eHQpOworICAgIENIRUNLX0VSUk9SOworICAgIFNLSVBfQkxBTktTOworICAgIHdoaWxlIChDVVIgPT0gJ3wnKSB7CisJaW50IG9wMSA9IGN0eHQtPmNvbXAtPmxhc3Q7CisJUFVTSF9MRUFWRV9FWFBSKFhQQVRIX09QX05PREUsIDAsIDApOworCisJTkVYVDsKKwlTS0lQX0JMQU5LUzsKKwl4bWxYUGF0aENvbXBQYXRoRXhwcihjdHh0KTsKKworCVBVU0hfQklOQVJZX0VYUFIoWFBBVEhfT1BfVU5JT04sIG9wMSwgY3R4dC0+Y29tcC0+bGFzdCwgMCwgMCk7CisKKwlTS0lQX0JMQU5LUzsKKyAgICB9Cit9CisKKy8qKgorICogeG1sWFBhdGhDb21wVW5hcnlFeHByOgorICogQGN0eHQ6ICB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQKKyAqCisgKiAgWzI3XSAgIFVuYXJ5RXhwciA6Oj0gICBVbmlvbkV4cHIKKyAqICAgICAgICAgICAgICAgICAgIHwgJy0nIFVuYXJ5RXhwcgorICoKKyAqIENvbXBpbGUgYW4gdW5hcnkgZXhwcmVzc2lvbi4KKyAqLworCitzdGF0aWMgdm9pZAoreG1sWFBhdGhDb21wVW5hcnlFeHByKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0KSB7CisgICAgaW50IG1pbnVzID0gMDsKKyAgICBpbnQgZm91bmQgPSAwOworCisgICAgU0tJUF9CTEFOS1M7CisgICAgd2hpbGUgKENVUiA9PSAnLScpIHsKKyAgICAgICAgbWludXMgPSAxIC0gbWludXM7CisJZm91bmQgPSAxOworCU5FWFQ7CisJU0tJUF9CTEFOS1M7CisgICAgfQorCisgICAgeG1sWFBhdGhDb21wVW5pb25FeHByKGN0eHQpOworICAgIENIRUNLX0VSUk9SOworICAgIGlmIChmb3VuZCkgeworCWlmIChtaW51cykKKwkgICAgUFVTSF9VTkFSWV9FWFBSKFhQQVRIX09QX1BMVVMsIGN0eHQtPmNvbXAtPmxhc3QsIDIsIDApOworCWVsc2UKKwkgICAgUFVTSF9VTkFSWV9FWFBSKFhQQVRIX09QX1BMVVMsIGN0eHQtPmNvbXAtPmxhc3QsIDMsIDApOworICAgIH0KK30KKworLyoqCisgKiB4bWxYUGF0aENvbXBNdWx0aXBsaWNhdGl2ZUV4cHI6CisgKiBAY3R4dDogIHRoZSBYUGF0aCBQYXJzZXIgY29udGV4dAorICoKKyAqICBbMjZdICAgTXVsdGlwbGljYXRpdmVFeHByIDo6PSAgIFVuYXJ5RXhwcgorICogICAgICAgICAgICAgICAgICAgfCBNdWx0aXBsaWNhdGl2ZUV4cHIgTXVsdGlwbHlPcGVyYXRvciBVbmFyeUV4cHIKKyAqICAgICAgICAgICAgICAgICAgIHwgTXVsdGlwbGljYXRpdmVFeHByICdkaXYnIFVuYXJ5RXhwcgorICogICAgICAgICAgICAgICAgICAgfCBNdWx0aXBsaWNhdGl2ZUV4cHIgJ21vZCcgVW5hcnlFeHByCisgKiAgWzM0XSAgIE11bHRpcGx5T3BlcmF0b3IgOjo9ICAgJyonCisgKgorICogQ29tcGlsZSBhbiBBZGRpdGl2ZSBleHByZXNzaW9uLgorICovCisKK3N0YXRpYyB2b2lkCit4bWxYUGF0aENvbXBNdWx0aXBsaWNhdGl2ZUV4cHIoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQpIHsKKyAgICB4bWxYUGF0aENvbXBVbmFyeUV4cHIoY3R4dCk7CisgICAgQ0hFQ0tfRVJST1I7CisgICAgU0tJUF9CTEFOS1M7CisgICAgd2hpbGUgKChDVVIgPT0gJyonKSB8fAorICAgICAgICAgICAoKENVUiA9PSAnZCcpICYmIChOWFQoMSkgPT0gJ2knKSAmJiAoTlhUKDIpID09ICd2JykpIHx8CisgICAgICAgICAgICgoQ1VSID09ICdtJykgJiYgKE5YVCgxKSA9PSAnbycpICYmIChOWFQoMikgPT0gJ2QnKSkpIHsKKwlpbnQgb3AgPSAtMTsKKwlpbnQgb3AxID0gY3R4dC0+Y29tcC0+bGFzdDsKKworICAgICAgICBpZiAoQ1VSID09ICcqJykgeworCSAgICBvcCA9IDA7CisJICAgIE5FWFQ7CisJfSBlbHNlIGlmIChDVVIgPT0gJ2QnKSB7CisJICAgIG9wID0gMTsKKwkgICAgU0tJUCgzKTsKKwl9IGVsc2UgaWYgKENVUiA9PSAnbScpIHsKKwkgICAgb3AgPSAyOworCSAgICBTS0lQKDMpOworCX0KKwlTS0lQX0JMQU5LUzsKKyAgICAgICAgeG1sWFBhdGhDb21wVW5hcnlFeHByKGN0eHQpOworCUNIRUNLX0VSUk9SOworCVBVU0hfQklOQVJZX0VYUFIoWFBBVEhfT1BfTVVMVCwgb3AxLCBjdHh0LT5jb21wLT5sYXN0LCBvcCwgMCk7CisJU0tJUF9CTEFOS1M7CisgICAgfQorfQorCisvKioKKyAqIHhtbFhQYXRoQ29tcEFkZGl0aXZlRXhwcjoKKyAqIEBjdHh0OiAgdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0CisgKgorICogIFsyNV0gICBBZGRpdGl2ZUV4cHIgOjo9ICAgTXVsdGlwbGljYXRpdmVFeHByCisgKiAgICAgICAgICAgICAgICAgICB8IEFkZGl0aXZlRXhwciAnKycgTXVsdGlwbGljYXRpdmVFeHByCisgKiAgICAgICAgICAgICAgICAgICB8IEFkZGl0aXZlRXhwciAnLScgTXVsdGlwbGljYXRpdmVFeHByCisgKgorICogQ29tcGlsZSBhbiBBZGRpdGl2ZSBleHByZXNzaW9uLgorICovCisKK3N0YXRpYyB2b2lkCit4bWxYUGF0aENvbXBBZGRpdGl2ZUV4cHIoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQpIHsKKworICAgIHhtbFhQYXRoQ29tcE11bHRpcGxpY2F0aXZlRXhwcihjdHh0KTsKKyAgICBDSEVDS19FUlJPUjsKKyAgICBTS0lQX0JMQU5LUzsKKyAgICB3aGlsZSAoKENVUiA9PSAnKycpIHx8IChDVVIgPT0gJy0nKSkgeworCWludCBwbHVzOworCWludCBvcDEgPSBjdHh0LT5jb21wLT5sYXN0OworCisgICAgICAgIGlmIChDVVIgPT0gJysnKSBwbHVzID0gMTsKKwllbHNlIHBsdXMgPSAwOworCU5FWFQ7CisJU0tJUF9CTEFOS1M7CisgICAgICAgIHhtbFhQYXRoQ29tcE11bHRpcGxpY2F0aXZlRXhwcihjdHh0KTsKKwlDSEVDS19FUlJPUjsKKwlQVVNIX0JJTkFSWV9FWFBSKFhQQVRIX09QX1BMVVMsIG9wMSwgY3R4dC0+Y29tcC0+bGFzdCwgcGx1cywgMCk7CisJU0tJUF9CTEFOS1M7CisgICAgfQorfQorCisvKioKKyAqIHhtbFhQYXRoQ29tcFJlbGF0aW9uYWxFeHByOgorICogQGN0eHQ6ICB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQKKyAqCisgKiAgWzI0XSAgIFJlbGF0aW9uYWxFeHByIDo6PSAgIEFkZGl0aXZlRXhwcgorICogICAgICAgICAgICAgICAgIHwgUmVsYXRpb25hbEV4cHIgJzwnIEFkZGl0aXZlRXhwcgorICogICAgICAgICAgICAgICAgIHwgUmVsYXRpb25hbEV4cHIgJz4nIEFkZGl0aXZlRXhwcgorICogICAgICAgICAgICAgICAgIHwgUmVsYXRpb25hbEV4cHIgJzw9JyBBZGRpdGl2ZUV4cHIKKyAqICAgICAgICAgICAgICAgICB8IFJlbGF0aW9uYWxFeHByICc+PScgQWRkaXRpdmVFeHByCisgKgorICogIEEgPD0gQiA+IEMgaXMgYWxsb3dlZCA/IEFuc3dlciBmcm9tIEphbWVzLCB5ZXMgd2l0aAorICogIChBZGRpdGl2ZUV4cHIgPD0gQWRkaXRpdmVFeHByKSA+IEFkZGl0aXZlRXhwcgorICogIHdoaWNoIGlzIGJhc2ljYWxseSB3aGF0IGdvdCBpbXBsZW1lbnRlZC4KKyAqCisgKiBDb21waWxlIGEgUmVsYXRpb25hbCBleHByZXNzaW9uLCB0aGVuIHB1c2ggdGhlIHJlc3VsdAorICogb24gdGhlIHN0YWNrCisgKi8KKworc3RhdGljIHZvaWQKK3htbFhQYXRoQ29tcFJlbGF0aW9uYWxFeHByKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0KSB7CisgICAgeG1sWFBhdGhDb21wQWRkaXRpdmVFeHByKGN0eHQpOworICAgIENIRUNLX0VSUk9SOworICAgIFNLSVBfQkxBTktTOworICAgIHdoaWxlICgoQ1VSID09ICc8JykgfHwKKyAgICAgICAgICAgKENVUiA9PSAnPicpIHx8CisgICAgICAgICAgICgoQ1VSID09ICc8JykgJiYgKE5YVCgxKSA9PSAnPScpKSB8fAorICAgICAgICAgICAoKENVUiA9PSAnPicpICYmIChOWFQoMSkgPT0gJz0nKSkpIHsKKwlpbnQgaW5mLCBzdHJpY3Q7CisJaW50IG9wMSA9IGN0eHQtPmNvbXAtPmxhc3Q7CisKKyAgICAgICAgaWYgKENVUiA9PSAnPCcpIGluZiA9IDE7CisJZWxzZSBpbmYgPSAwOworCWlmIChOWFQoMSkgPT0gJz0nKSBzdHJpY3QgPSAwOworCWVsc2Ugc3RyaWN0ID0gMTsKKwlORVhUOworCWlmICghc3RyaWN0KSBORVhUOworCVNLSVBfQkxBTktTOworICAgICAgICB4bWxYUGF0aENvbXBBZGRpdGl2ZUV4cHIoY3R4dCk7CisJQ0hFQ0tfRVJST1I7CisJUFVTSF9CSU5BUllfRVhQUihYUEFUSF9PUF9DTVAsIG9wMSwgY3R4dC0+Y29tcC0+bGFzdCwgaW5mLCBzdHJpY3QpOworCVNLSVBfQkxBTktTOworICAgIH0KK30KKworLyoqCisgKiB4bWxYUGF0aENvbXBFcXVhbGl0eUV4cHI6CisgKiBAY3R4dDogIHRoZSBYUGF0aCBQYXJzZXIgY29udGV4dAorICoKKyAqICBbMjNdICAgRXF1YWxpdHlFeHByIDo6PSAgIFJlbGF0aW9uYWxFeHByCisgKiAgICAgICAgICAgICAgICAgfCBFcXVhbGl0eUV4cHIgJz0nIFJlbGF0aW9uYWxFeHByCisgKiAgICAgICAgICAgICAgICAgfCBFcXVhbGl0eUV4cHIgJyE9JyBSZWxhdGlvbmFsRXhwcgorICoKKyAqICBBICE9IEIgIT0gQyBpcyBhbGxvd2VkID8gQW5zd2VyIGZyb20gSmFtZXMsIHllcyB3aXRoCisgKiAgKFJlbGF0aW9uYWxFeHByID0gUmVsYXRpb25hbEV4cHIpID0gUmVsYXRpb25hbEV4cHIKKyAqICAoUmVsYXRpb25hbEV4cHIgIT0gUmVsYXRpb25hbEV4cHIpICE9IFJlbGF0aW9uYWxFeHByCisgKiAgd2hpY2ggaXMgYmFzaWNhbGx5IHdoYXQgZ290IGltcGxlbWVudGVkLgorICoKKyAqIENvbXBpbGUgYW4gRXF1YWxpdHkgZXhwcmVzc2lvbi4KKyAqCisgKi8KK3N0YXRpYyB2b2lkCit4bWxYUGF0aENvbXBFcXVhbGl0eUV4cHIoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQpIHsKKyAgICB4bWxYUGF0aENvbXBSZWxhdGlvbmFsRXhwcihjdHh0KTsKKyAgICBDSEVDS19FUlJPUjsKKyAgICBTS0lQX0JMQU5LUzsKKyAgICB3aGlsZSAoKENVUiA9PSAnPScpIHx8ICgoQ1VSID09ICchJykgJiYgKE5YVCgxKSA9PSAnPScpKSkgeworCWludCBlcTsKKwlpbnQgb3AxID0gY3R4dC0+Y29tcC0+bGFzdDsKKworICAgICAgICBpZiAoQ1VSID09ICc9JykgZXEgPSAxOworCWVsc2UgZXEgPSAwOworCU5FWFQ7CisJaWYgKCFlcSkgTkVYVDsKKwlTS0lQX0JMQU5LUzsKKyAgICAgICAgeG1sWFBhdGhDb21wUmVsYXRpb25hbEV4cHIoY3R4dCk7CisJQ0hFQ0tfRVJST1I7CisJUFVTSF9CSU5BUllfRVhQUihYUEFUSF9PUF9FUVVBTCwgb3AxLCBjdHh0LT5jb21wLT5sYXN0LCBlcSwgMCk7CisJU0tJUF9CTEFOS1M7CisgICAgfQorfQorCisvKioKKyAqIHhtbFhQYXRoQ29tcEFuZEV4cHI6CisgKiBAY3R4dDogIHRoZSBYUGF0aCBQYXJzZXIgY29udGV4dAorICoKKyAqICBbMjJdICAgQW5kRXhwciA6Oj0gICBFcXVhbGl0eUV4cHIKKyAqICAgICAgICAgICAgICAgICB8IEFuZEV4cHIgJ2FuZCcgRXF1YWxpdHlFeHByCisgKgorICogQ29tcGlsZSBhbiBBTkQgZXhwcmVzc2lvbi4KKyAqCisgKi8KK3N0YXRpYyB2b2lkCit4bWxYUGF0aENvbXBBbmRFeHByKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0KSB7CisgICAgeG1sWFBhdGhDb21wRXF1YWxpdHlFeHByKGN0eHQpOworICAgIENIRUNLX0VSUk9SOworICAgIFNLSVBfQkxBTktTOworICAgIHdoaWxlICgoQ1VSID09ICdhJykgJiYgKE5YVCgxKSA9PSAnbicpICYmIChOWFQoMikgPT0gJ2QnKSkgeworCWludCBvcDEgPSBjdHh0LT5jb21wLT5sYXN0OworICAgICAgICBTS0lQKDMpOworCVNLSVBfQkxBTktTOworICAgICAgICB4bWxYUGF0aENvbXBFcXVhbGl0eUV4cHIoY3R4dCk7CisJQ0hFQ0tfRVJST1I7CisJUFVTSF9CSU5BUllfRVhQUihYUEFUSF9PUF9BTkQsIG9wMSwgY3R4dC0+Y29tcC0+bGFzdCwgMCwgMCk7CisJU0tJUF9CTEFOS1M7CisgICAgfQorfQorCisvKioKKyAqIHhtbFhQYXRoQ29tcGlsZUV4cHI6CisgKiBAY3R4dDogIHRoZSBYUGF0aCBQYXJzZXIgY29udGV4dAorICoKKyAqICBbMTRdICAgRXhwciA6Oj0gICBPckV4cHIKKyAqICBbMjFdICAgT3JFeHByIDo6PSAgIEFuZEV4cHIKKyAqICAgICAgICAgICAgICAgICB8IE9yRXhwciAnb3InIEFuZEV4cHIKKyAqCisgKiBQYXJzZSBhbmQgY29tcGlsZSBhbiBleHByZXNzaW9uCisgKi8KK3N0YXRpYyB2b2lkCit4bWxYUGF0aENvbXBpbGVFeHByKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0LCBpbnQgc29ydCkgeworICAgIHhtbFhQYXRoQ29tcEFuZEV4cHIoY3R4dCk7CisgICAgQ0hFQ0tfRVJST1I7CisgICAgU0tJUF9CTEFOS1M7CisgICAgd2hpbGUgKChDVVIgPT0gJ28nKSAmJiAoTlhUKDEpID09ICdyJykpIHsKKwlpbnQgb3AxID0gY3R4dC0+Y29tcC0+bGFzdDsKKyAgICAgICAgU0tJUCgyKTsKKwlTS0lQX0JMQU5LUzsKKyAgICAgICAgeG1sWFBhdGhDb21wQW5kRXhwcihjdHh0KTsKKwlDSEVDS19FUlJPUjsKKwlQVVNIX0JJTkFSWV9FWFBSKFhQQVRIX09QX09SLCBvcDEsIGN0eHQtPmNvbXAtPmxhc3QsIDAsIDApOworCVNLSVBfQkxBTktTOworICAgIH0KKyAgICBpZiAoKHNvcnQpICYmIChjdHh0LT5jb21wLT5zdGVwc1tjdHh0LT5jb21wLT5sYXN0XS5vcCAhPSBYUEFUSF9PUF9WQUxVRSkpIHsKKwkvKiBtb3JlIG9wcyBjb3VsZCBiZSBvcHRpbWl6ZWQgdG9vICovCisJLyoKKwkqIFRoaXMgaXMgdGhlIG1haW4gcGxhY2UgdG8gZWxpbWluYXRlIHNvcnRpbmcgZm9yCisJKiBvcGVyYXRpb25zIHdoaWNoIGRvbid0IHJlcXVpcmUgYSBzb3J0ZWQgbm9kZS1zZXQuCisJKiBFLmcuIGNvdW50KCkuCisJKi8KKwlQVVNIX1VOQVJZX0VYUFIoWFBBVEhfT1BfU09SVCwgY3R4dC0+Y29tcC0+bGFzdCAsIDAsIDApOworICAgIH0KK30KKworLyoqCisgKiB4bWxYUGF0aENvbXBQcmVkaWNhdGU6CisgKiBAY3R4dDogIHRoZSBYUGF0aCBQYXJzZXIgY29udGV4dAorICogQGZpbHRlcjogIGFjdCBhcyBhIGZpbHRlcgorICoKKyAqICBbOF0gICBQcmVkaWNhdGUgOjo9ICAgJ1snIFByZWRpY2F0ZUV4cHIgJ10nCisgKiAgWzldICAgUHJlZGljYXRlRXhwciA6Oj0gICBFeHByCisgKgorICogQ29tcGlsZSBhIHByZWRpY2F0ZSBleHByZXNzaW9uCisgKi8KK3N0YXRpYyB2b2lkCit4bWxYUGF0aENvbXBQcmVkaWNhdGUoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQsIGludCBmaWx0ZXIpIHsKKyAgICBpbnQgb3AxID0gY3R4dC0+Y29tcC0+bGFzdDsKKworICAgIFNLSVBfQkxBTktTOworICAgIGlmIChDVVIgIT0gJ1snKSB7CisJWFBfRVJST1IoWFBBVEhfSU5WQUxJRF9QUkVESUNBVEVfRVJST1IpOworICAgIH0KKyAgICBORVhUOworICAgIFNLSVBfQkxBTktTOworCisgICAgY3R4dC0+Y29tcC0+bGFzdCA9IC0xOworICAgIC8qCisgICAgKiBUaGlzIGNhbGwgdG8geG1sWFBhdGhDb21waWxlRXhwcigpIHdpbGwgZGVhY3RpdmF0ZSBzb3J0aW5nCisgICAgKiBvZiB0aGUgcHJlZGljYXRlIHJlc3VsdC4KKyAgICAqIFRPRE86IFNvcnRpbmcgaXMgc3RpbGwgYWN0aXZhdGVkIGZvciBmaWx0ZXJzLCBzaW5jZSBJJ20gbm90CisgICAgKiAgc3VyZSBpZiBuZWVkZWQuIE5vcm1hbGx5IHNvcnRpbmcgc2hvdWxkIG5vdCBiZSBuZWVkZWQsIHNpbmNlCisgICAgKiAgYSBmaWx0ZXIgY2FuIG9ubHkgZGltaW5pc2ggdGhlIG51bWJlciBvZiBpdGVtcyBpbiBhIHNlcXVlbmNlLAorICAgICogIGJ1dCB3b24ndCBjaGFuZ2UgaXRzIG9yZGVyOyBzbyBpZiB0aGUgaW5pdGlhbCBzZXF1ZW5jZSBpcyBzb3J0ZWQsCisgICAgKiAgc3Vic2VxdWVudCBzb3J0aW5nIGlzIG5vdCBuZWVkZWQuCisgICAgKi8KKyAgICBpZiAoISBmaWx0ZXIpCisJeG1sWFBhdGhDb21waWxlRXhwcihjdHh0LCAwKTsKKyAgICBlbHNlCisJeG1sWFBhdGhDb21waWxlRXhwcihjdHh0LCAxKTsKKyAgICBDSEVDS19FUlJPUjsKKworICAgIGlmIChDVVIgIT0gJ10nKSB7CisJWFBfRVJST1IoWFBBVEhfSU5WQUxJRF9QUkVESUNBVEVfRVJST1IpOworICAgIH0KKworICAgIGlmIChmaWx0ZXIpCisJUFVTSF9CSU5BUllfRVhQUihYUEFUSF9PUF9GSUxURVIsIG9wMSwgY3R4dC0+Y29tcC0+bGFzdCwgMCwgMCk7CisgICAgZWxzZQorCVBVU0hfQklOQVJZX0VYUFIoWFBBVEhfT1BfUFJFRElDQVRFLCBvcDEsIGN0eHQtPmNvbXAtPmxhc3QsIDAsIDApOworCisgICAgTkVYVDsKKyAgICBTS0lQX0JMQU5LUzsKK30KKworLyoqCisgKiB4bWxYUGF0aENvbXBOb2RlVGVzdDoKKyAqIEBjdHh0OiAgdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0CisgKiBAdGVzdDogIHBvaW50ZXIgdG8gYSB4bWxYUGF0aFRlc3RWYWwKKyAqIEB0eXBlOiAgcG9pbnRlciB0byBhIHhtbFhQYXRoVHlwZVZhbAorICogQHByZWZpeDogIHBsYWNlaG9sZGVyIGZvciBhIHBvc3NpYmxlIG5hbWUgcHJlZml4CisgKgorICogWzddIE5vZGVUZXN0IDo6PSAgIE5hbWVUZXN0CisgKgkJICAgIHwgTm9kZVR5cGUgJygnICcpJworICoJCSAgICB8ICdwcm9jZXNzaW5nLWluc3RydWN0aW9uJyAnKCcgTGl0ZXJhbCAnKScKKyAqCisgKiBbMzddIE5hbWVUZXN0IDo6PSAgJyonCisgKgkJICAgIHwgTkNOYW1lICc6JyAnKicKKyAqCQkgICAgfCBRTmFtZQorICogWzM4XSBOb2RlVHlwZSA6Oj0gJ2NvbW1lbnQnCisgKgkJICAgfCAndGV4dCcKKyAqCQkgICB8ICdwcm9jZXNzaW5nLWluc3RydWN0aW9uJworICoJCSAgIHwgJ25vZGUnCisgKgorICogUmV0dXJucyB0aGUgbmFtZSBmb3VuZCBhbmQgdXBkYXRlcyBAdGVzdCwgQHR5cGUgYW5kIEBwcmVmaXggYXBwcm9wcmlhdGVseQorICovCitzdGF0aWMgeG1sQ2hhciAqCit4bWxYUGF0aENvbXBOb2RlVGVzdCh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCwgeG1sWFBhdGhUZXN0VmFsICp0ZXN0LAorCSAgICAgICAgICAgICB4bWxYUGF0aFR5cGVWYWwgKnR5cGUsIGNvbnN0IHhtbENoYXIgKipwcmVmaXgsCisJCSAgICAgeG1sQ2hhciAqbmFtZSkgeworICAgIGludCBibGFua3M7CisKKyAgICBpZiAoKHRlc3QgPT0gTlVMTCkgfHwgKHR5cGUgPT0gTlVMTCkgfHwgKHByZWZpeCA9PSBOVUxMKSkgeworCVNUUkFOR0U7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICAqdHlwZSA9ICh4bWxYUGF0aFR5cGVWYWwpIDA7CisgICAgKnRlc3QgPSAoeG1sWFBhdGhUZXN0VmFsKSAwOworICAgICpwcmVmaXggPSBOVUxMOworICAgIFNLSVBfQkxBTktTOworCisgICAgaWYgKChuYW1lID09IE5VTEwpICYmIChDVVIgPT0gJyonKSkgeworCS8qCisJICogQWxsIGVsZW1lbnRzCisJICovCisJTkVYVDsKKwkqdGVzdCA9IE5PREVfVEVTVF9BTEw7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKworICAgIGlmIChuYW1lID09IE5VTEwpCisJbmFtZSA9IHhtbFhQYXRoUGFyc2VOQ05hbWUoY3R4dCk7CisgICAgaWYgKG5hbWUgPT0gTlVMTCkgeworCVhQX0VSUk9STlVMTChYUEFUSF9FWFBSX0VSUk9SKTsKKyAgICB9CisKKyAgICBibGFua3MgPSBJU19CTEFOS19DSChDVVIpOworICAgIFNLSVBfQkxBTktTOworICAgIGlmIChDVVIgPT0gJygnKSB7CisJTkVYVDsKKwkvKgorCSAqIE5vZGVUeXBlIG9yIFBJIHNlYXJjaAorCSAqLworCWlmICh4bWxTdHJFcXVhbChuYW1lLCBCQURfQ0FTVCAiY29tbWVudCIpKQorCSAgICAqdHlwZSA9IE5PREVfVFlQRV9DT01NRU5UOworCWVsc2UgaWYgKHhtbFN0ckVxdWFsKG5hbWUsIEJBRF9DQVNUICJub2RlIikpCisJICAgICp0eXBlID0gTk9ERV9UWVBFX05PREU7CisJZWxzZSBpZiAoeG1sU3RyRXF1YWwobmFtZSwgQkFEX0NBU1QgInByb2Nlc3NpbmctaW5zdHJ1Y3Rpb24iKSkKKwkgICAgKnR5cGUgPSBOT0RFX1RZUEVfUEk7CisJZWxzZSBpZiAoeG1sU3RyRXF1YWwobmFtZSwgQkFEX0NBU1QgInRleHQiKSkKKwkgICAgKnR5cGUgPSBOT0RFX1RZUEVfVEVYVDsKKwllbHNlIHsKKwkgICAgaWYgKG5hbWUgIT0gTlVMTCkKKwkJeG1sRnJlZShuYW1lKTsKKwkgICAgWFBfRVJST1JOVUxMKFhQQVRIX0VYUFJfRVJST1IpOworCX0KKworCSp0ZXN0ID0gTk9ERV9URVNUX1RZUEU7CisKKwlTS0lQX0JMQU5LUzsKKwlpZiAoKnR5cGUgPT0gTk9ERV9UWVBFX1BJKSB7CisJICAgIC8qCisJICAgICAqIFNwZWNpZmljIGNhc2U6IHNlYXJjaCBhIFBJIGJ5IG5hbWUuCisJICAgICAqLworCSAgICBpZiAobmFtZSAhPSBOVUxMKQorCQl4bWxGcmVlKG5hbWUpOworCSAgICBuYW1lID0gTlVMTDsKKwkgICAgaWYgKENVUiAhPSAnKScpIHsKKwkJbmFtZSA9IHhtbFhQYXRoUGFyc2VMaXRlcmFsKGN0eHQpOworCQlDSEVDS19FUlJPUiBOVUxMOworCQkqdGVzdCA9IE5PREVfVEVTVF9QSTsKKwkJU0tJUF9CTEFOS1M7CisJICAgIH0KKwl9CisJaWYgKENVUiAhPSAnKScpIHsKKwkgICAgaWYgKG5hbWUgIT0gTlVMTCkKKwkJeG1sRnJlZShuYW1lKTsKKwkgICAgWFBfRVJST1JOVUxMKFhQQVRIX1VOQ0xPU0VEX0VSUk9SKTsKKwl9CisJTkVYVDsKKwlyZXR1cm4obmFtZSk7CisgICAgfQorICAgICp0ZXN0ID0gTk9ERV9URVNUX05BTUU7CisgICAgaWYgKCghYmxhbmtzKSAmJiAoQ1VSID09ICc6JykpIHsKKwlORVhUOworCisJLyoKKwkgKiBTaW5jZSBjdXJyZW50bHkgdGhlIHBhcnNlciBjb250ZXh0IGRvbid0IGhhdmUgYQorCSAqIG5hbWVzcGFjZSBsaXN0IGFzc29jaWF0ZWQ6CisJICogVGhlIG5hbWVzcGFjZSBuYW1lIGZvciB0aGlzIHByZWZpeCBjYW4gYmUgY29tcHV0ZWQKKwkgKiBvbmx5IGF0IGV2YWx1YXRpb24gdGltZS4gVGhlIGNvbXBpbGF0aW9uIGlzIGRvbmUKKwkgKiBvdXRzaWRlIG9mIGFueSBjb250ZXh0LgorCSAqLworI2lmIDAKKwkqcHJlZml4ID0geG1sWFBhdGhOc0xvb2t1cChjdHh0LT5jb250ZXh0LCBuYW1lKTsKKwlpZiAobmFtZSAhPSBOVUxMKQorCSAgICB4bWxGcmVlKG5hbWUpOworCWlmICgqcHJlZml4ID09IE5VTEwpIHsKKwkgICAgWFBfRVJST1IwKFhQQVRIX1VOREVGX1BSRUZJWF9FUlJPUik7CisJfQorI2Vsc2UKKwkqcHJlZml4ID0gbmFtZTsKKyNlbmRpZgorCisJaWYgKENVUiA9PSAnKicpIHsKKwkgICAgLyoKKwkgICAgICogQWxsIGVsZW1lbnRzCisJICAgICAqLworCSAgICBORVhUOworCSAgICAqdGVzdCA9IE5PREVfVEVTVF9BTEw7CisJICAgIHJldHVybihOVUxMKTsKKwl9CisKKwluYW1lID0geG1sWFBhdGhQYXJzZU5DTmFtZShjdHh0KTsKKwlpZiAobmFtZSA9PSBOVUxMKSB7CisJICAgIFhQX0VSUk9STlVMTChYUEFUSF9FWFBSX0VSUk9SKTsKKwl9CisgICAgfQorICAgIHJldHVybihuYW1lKTsKK30KKworLyoqCisgKiB4bWxYUGF0aElzQXhpc05hbWU6CisgKiBAbmFtZTogIGEgcHJlcGFyc2VkIG5hbWUgdG9rZW4KKyAqCisgKiBbNl0gQXhpc05hbWUgOjo9ICAgJ2FuY2VzdG9yJworICogICAgICAgICAgICAgICAgICB8ICdhbmNlc3Rvci1vci1zZWxmJworICogICAgICAgICAgICAgICAgICB8ICdhdHRyaWJ1dGUnCisgKiAgICAgICAgICAgICAgICAgIHwgJ2NoaWxkJworICogICAgICAgICAgICAgICAgICB8ICdkZXNjZW5kYW50JworICogICAgICAgICAgICAgICAgICB8ICdkZXNjZW5kYW50LW9yLXNlbGYnCisgKiAgICAgICAgICAgICAgICAgIHwgJ2ZvbGxvd2luZycKKyAqICAgICAgICAgICAgICAgICAgfCAnZm9sbG93aW5nLXNpYmxpbmcnCisgKiAgICAgICAgICAgICAgICAgIHwgJ25hbWVzcGFjZScKKyAqICAgICAgICAgICAgICAgICAgfCAncGFyZW50JworICogICAgICAgICAgICAgICAgICB8ICdwcmVjZWRpbmcnCisgKiAgICAgICAgICAgICAgICAgIHwgJ3ByZWNlZGluZy1zaWJsaW5nJworICogICAgICAgICAgICAgICAgICB8ICdzZWxmJworICoKKyAqIFJldHVybnMgdGhlIGF4aXMgb3IgMAorICovCitzdGF0aWMgeG1sWFBhdGhBeGlzVmFsCit4bWxYUGF0aElzQXhpc05hbWUoY29uc3QgeG1sQ2hhciAqbmFtZSkgeworICAgIHhtbFhQYXRoQXhpc1ZhbCByZXQgPSAoeG1sWFBhdGhBeGlzVmFsKSAwOworICAgIHN3aXRjaCAobmFtZVswXSkgeworCWNhc2UgJ2EnOgorCSAgICBpZiAoeG1sU3RyRXF1YWwobmFtZSwgQkFEX0NBU1QgImFuY2VzdG9yIikpCisJCXJldCA9IEFYSVNfQU5DRVNUT1I7CisJICAgIGlmICh4bWxTdHJFcXVhbChuYW1lLCBCQURfQ0FTVCAiYW5jZXN0b3Itb3Itc2VsZiIpKQorCQlyZXQgPSBBWElTX0FOQ0VTVE9SX09SX1NFTEY7CisJICAgIGlmICh4bWxTdHJFcXVhbChuYW1lLCBCQURfQ0FTVCAiYXR0cmlidXRlIikpCisJCXJldCA9IEFYSVNfQVRUUklCVVRFOworCSAgICBicmVhazsKKwljYXNlICdjJzoKKwkgICAgaWYgKHhtbFN0ckVxdWFsKG5hbWUsIEJBRF9DQVNUICJjaGlsZCIpKQorCQlyZXQgPSBBWElTX0NISUxEOworCSAgICBicmVhazsKKwljYXNlICdkJzoKKwkgICAgaWYgKHhtbFN0ckVxdWFsKG5hbWUsIEJBRF9DQVNUICJkZXNjZW5kYW50IikpCisJCXJldCA9IEFYSVNfREVTQ0VOREFOVDsKKwkgICAgaWYgKHhtbFN0ckVxdWFsKG5hbWUsIEJBRF9DQVNUICJkZXNjZW5kYW50LW9yLXNlbGYiKSkKKwkJcmV0ID0gQVhJU19ERVNDRU5EQU5UX09SX1NFTEY7CisJICAgIGJyZWFrOworCWNhc2UgJ2YnOgorCSAgICBpZiAoeG1sU3RyRXF1YWwobmFtZSwgQkFEX0NBU1QgImZvbGxvd2luZyIpKQorCQlyZXQgPSBBWElTX0ZPTExPV0lORzsKKwkgICAgaWYgKHhtbFN0ckVxdWFsKG5hbWUsIEJBRF9DQVNUICJmb2xsb3dpbmctc2libGluZyIpKQorCQlyZXQgPSBBWElTX0ZPTExPV0lOR19TSUJMSU5HOworCSAgICBicmVhazsKKwljYXNlICduJzoKKwkgICAgaWYgKHhtbFN0ckVxdWFsKG5hbWUsIEJBRF9DQVNUICJuYW1lc3BhY2UiKSkKKwkJcmV0ID0gQVhJU19OQU1FU1BBQ0U7CisJICAgIGJyZWFrOworCWNhc2UgJ3AnOgorCSAgICBpZiAoeG1sU3RyRXF1YWwobmFtZSwgQkFEX0NBU1QgInBhcmVudCIpKQorCQlyZXQgPSBBWElTX1BBUkVOVDsKKwkgICAgaWYgKHhtbFN0ckVxdWFsKG5hbWUsIEJBRF9DQVNUICJwcmVjZWRpbmciKSkKKwkJcmV0ID0gQVhJU19QUkVDRURJTkc7CisJICAgIGlmICh4bWxTdHJFcXVhbChuYW1lLCBCQURfQ0FTVCAicHJlY2VkaW5nLXNpYmxpbmciKSkKKwkJcmV0ID0gQVhJU19QUkVDRURJTkdfU0lCTElORzsKKwkgICAgYnJlYWs7CisJY2FzZSAncyc6CisJICAgIGlmICh4bWxTdHJFcXVhbChuYW1lLCBCQURfQ0FTVCAic2VsZiIpKQorCQlyZXQgPSBBWElTX1NFTEY7CisJICAgIGJyZWFrOworICAgIH0KKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxYUGF0aENvbXBTdGVwOgorICogQGN0eHQ6ICB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQKKyAqCisgKiBbNF0gU3RlcCA6Oj0gICBBeGlzU3BlY2lmaWVyIE5vZGVUZXN0IFByZWRpY2F0ZSoKKyAqICAgICAgICAgICAgICAgICAgfCBBYmJyZXZpYXRlZFN0ZXAKKyAqCisgKiBbMTJdIEFiYnJldmlhdGVkU3RlcCA6Oj0gICAnLicgfCAnLi4nCisgKgorICogWzVdIEF4aXNTcGVjaWZpZXIgOjo9IEF4aXNOYW1lICc6OicKKyAqICAgICAgICAgICAgICAgICAgfCBBYmJyZXZpYXRlZEF4aXNTcGVjaWZpZXIKKyAqCisgKiBbMTNdIEFiYnJldmlhdGVkQXhpc1NwZWNpZmllciA6Oj0gJ0AnPworICoKKyAqIE1vZGlmaWVkIGZvciBYUHRyIHJhbmdlIHN1cHBvcnQgYXM6CisgKgorICogIFs0eHB0cl0gU3RlcCA6Oj0gQXhpc1NwZWNpZmllciBOb2RlVGVzdCBQcmVkaWNhdGUqCisgKiAgICAgICAgICAgICAgICAgICAgIHwgQWJicmV2aWF0ZWRTdGVwCisgKiAgICAgICAgICAgICAgICAgICAgIHwgJ3JhbmdlLXRvJyAnKCcgRXhwciAnKScgUHJlZGljYXRlKgorICoKKyAqIENvbXBpbGUgb25lIHN0ZXAgaW4gYSBMb2NhdGlvbiBQYXRoCisgKiBBIGxvY2F0aW9uIHN0ZXAgb2YgLiBpcyBzaG9ydCBmb3Igc2VsZjo6bm9kZSgpLiBUaGlzIGlzCisgKiBwYXJ0aWN1bGFybHkgdXNlZnVsIGluIGNvbmp1bmN0aW9uIHdpdGggLy8uIEZvciBleGFtcGxlLCB0aGUKKyAqIGxvY2F0aW9uIHBhdGggLi8vcGFyYSBpcyBzaG9ydCBmb3IKKyAqIHNlbGY6Om5vZGUoKS9kZXNjZW5kYW50LW9yLXNlbGY6Om5vZGUoKS9jaGlsZDo6cGFyYQorICogYW5kIHNvIHdpbGwgc2VsZWN0IGFsbCBwYXJhIGRlc2NlbmRhbnQgZWxlbWVudHMgb2YgdGhlIGNvbnRleHQKKyAqIG5vZGUuCisgKiBTaW1pbGFybHksIGEgbG9jYXRpb24gc3RlcCBvZiAuLiBpcyBzaG9ydCBmb3IgcGFyZW50Ojpub2RlKCkuCisgKiBGb3IgZXhhbXBsZSwgLi4vdGl0bGUgaXMgc2hvcnQgZm9yIHBhcmVudDo6bm9kZSgpL2NoaWxkOjp0aXRsZQorICogYW5kIHNvIHdpbGwgc2VsZWN0IHRoZSB0aXRsZSBjaGlsZHJlbiBvZiB0aGUgcGFyZW50IG9mIHRoZSBjb250ZXh0CisgKiBub2RlLgorICovCitzdGF0aWMgdm9pZAoreG1sWFBhdGhDb21wU3RlcCh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCkgeworI2lmZGVmIExJQlhNTF9YUFRSX0VOQUJMRUQKKyAgICBpbnQgcmFuZ2V0byA9IDA7CisgICAgaW50IG9wMiA9IC0xOworI2VuZGlmCisKKyAgICBTS0lQX0JMQU5LUzsKKyAgICBpZiAoKENVUiA9PSAnLicpICYmIChOWFQoMSkgPT0gJy4nKSkgeworCVNLSVAoMik7CisJU0tJUF9CTEFOS1M7CisJUFVTSF9MT05HX0VYUFIoWFBBVEhfT1BfQ09MTEVDVCwgQVhJU19QQVJFTlQsCisJCSAgICBOT0RFX1RFU1RfVFlQRSwgTk9ERV9UWVBFX05PREUsIE5VTEwsIE5VTEwpOworICAgIH0gZWxzZSBpZiAoQ1VSID09ICcuJykgeworCU5FWFQ7CisJU0tJUF9CTEFOS1M7CisgICAgfSBlbHNlIHsKKwl4bWxDaGFyICpuYW1lID0gTlVMTDsKKwljb25zdCB4bWxDaGFyICpwcmVmaXggPSBOVUxMOworCXhtbFhQYXRoVGVzdFZhbCB0ZXN0ID0gKHhtbFhQYXRoVGVzdFZhbCkgMDsKKwl4bWxYUGF0aEF4aXNWYWwgYXhpcyA9ICh4bWxYUGF0aEF4aXNWYWwpIDA7CisJeG1sWFBhdGhUeXBlVmFsIHR5cGUgPSAoeG1sWFBhdGhUeXBlVmFsKSAwOworCWludCBvcDE7CisKKwkvKgorCSAqIFRoZSBtb2RpZmljYXRpb24gbmVlZGVkIGZvciBYUG9pbnRlciBjaGFuZ2UgdG8gdGhlIHByb2R1Y3Rpb24KKwkgKi8KKyNpZmRlZiBMSUJYTUxfWFBUUl9FTkFCTEVECisJaWYgKGN0eHQtPnhwdHIpIHsKKwkgICAgbmFtZSA9IHhtbFhQYXRoUGFyc2VOQ05hbWUoY3R4dCk7CisJICAgIGlmICgobmFtZSAhPSBOVUxMKSAmJiAoeG1sU3RyRXF1YWwobmFtZSwgQkFEX0NBU1QgInJhbmdlLXRvIikpKSB7CisgICAgICAgICAgICAgICAgb3AyID0gY3R4dC0+Y29tcC0+bGFzdDsKKwkJeG1sRnJlZShuYW1lKTsKKwkJU0tJUF9CTEFOS1M7CisJCWlmIChDVVIgIT0gJygnKSB7CisJCSAgICBYUF9FUlJPUihYUEFUSF9FWFBSX0VSUk9SKTsKKwkJfQorCQlORVhUOworCQlTS0lQX0JMQU5LUzsKKworCQl4bWxYUGF0aENvbXBpbGVFeHByKGN0eHQsIDEpOworCQkvKiBQVVNIX0JJTkFSWV9FWFBSKFhQQVRIX09QX1JBTkdFVE8sIG9wMiwgY3R4dC0+Y29tcC0+bGFzdCwgMCwgMCk7ICovCisJCUNIRUNLX0VSUk9SOworCisJCVNLSVBfQkxBTktTOworCQlpZiAoQ1VSICE9ICcpJykgeworCQkgICAgWFBfRVJST1IoWFBBVEhfRVhQUl9FUlJPUik7CisJCX0KKwkJTkVYVDsKKwkJcmFuZ2V0byA9IDE7CisJCWdvdG8gZXZhbF9wcmVkaWNhdGVzOworCSAgICB9CisJfQorI2VuZGlmCisJaWYgKENVUiA9PSAnKicpIHsKKwkgICAgYXhpcyA9IEFYSVNfQ0hJTEQ7CisJfSBlbHNlIHsKKwkgICAgaWYgKG5hbWUgPT0gTlVMTCkKKwkJbmFtZSA9IHhtbFhQYXRoUGFyc2VOQ05hbWUoY3R4dCk7CisJICAgIGlmIChuYW1lICE9IE5VTEwpIHsKKwkJYXhpcyA9IHhtbFhQYXRoSXNBeGlzTmFtZShuYW1lKTsKKwkJaWYgKGF4aXMgIT0gMCkgeworCQkgICAgU0tJUF9CTEFOS1M7CisJCSAgICBpZiAoKENVUiA9PSAnOicpICYmIChOWFQoMSkgPT0gJzonKSkgeworCQkJU0tJUCgyKTsKKwkJCXhtbEZyZWUobmFtZSk7CisJCQluYW1lID0gTlVMTDsKKwkJICAgIH0gZWxzZSB7CisJCQkvKiBhbiBlbGVtZW50IG5hbWUgY2FuIGNvbmZsaWN0IHdpdGggYW4gYXhpcyBvbmUgOi1cICovCisJCQlheGlzID0gQVhJU19DSElMRDsKKwkJICAgIH0KKwkJfSBlbHNlIHsKKwkJICAgIGF4aXMgPSBBWElTX0NISUxEOworCQl9CisJICAgIH0gZWxzZSBpZiAoQ1VSID09ICdAJykgeworCQlORVhUOworCQlheGlzID0gQVhJU19BVFRSSUJVVEU7CisJICAgIH0gZWxzZSB7CisJCWF4aXMgPSBBWElTX0NISUxEOworCSAgICB9CisJfQorCisgICAgICAgIGlmIChjdHh0LT5lcnJvciAhPSBYUEFUSF9FWFBSRVNTSU9OX09LKSB7CisgICAgICAgICAgICB4bWxGcmVlKG5hbWUpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKwluYW1lID0geG1sWFBhdGhDb21wTm9kZVRlc3QoY3R4dCwgJnRlc3QsICZ0eXBlLCAmcHJlZml4LCBuYW1lKTsKKwlpZiAodGVzdCA9PSAwKQorCSAgICByZXR1cm47CisKKyAgICAgICAgaWYgKChwcmVmaXggIT0gTlVMTCkgJiYgKGN0eHQtPmNvbnRleHQgIT0gTlVMTCkgJiYKKwkgICAgKGN0eHQtPmNvbnRleHQtPmZsYWdzICYgWE1MX1hQQVRIX0NIRUNLTlMpKSB7CisJICAgIGlmICh4bWxYUGF0aE5zTG9va3VwKGN0eHQtPmNvbnRleHQsIHByZWZpeCkgPT0gTlVMTCkgeworCQl4bWxYUGF0aEVycihjdHh0LCBYUEFUSF9VTkRFRl9QUkVGSVhfRVJST1IpOworCSAgICB9CisJfQorI2lmZGVmIERFQlVHX1NURVAKKwl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJIkJhc2lzIDogY29tcHV0aW5nIG5ldyBzZXRcbiIpOworI2VuZGlmCisKKyNpZmRlZiBERUJVR19TVEVQCisJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICJCYXNpcyA6ICIpOworCWlmIChjdHh0LT52YWx1ZSA9PSBOVUxMKQorCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgIm5vIHZhbHVlXG4iKTsKKwllbHNlIGlmIChjdHh0LT52YWx1ZS0+bm9kZXNldHZhbCA9PSBOVUxMKQorCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgIkVtcHR5XG4iKTsKKwllbHNlCisJICAgIHhtbEdlbmVyaWNFcnJvckNvbnRleHROb2RlU2V0KHN0ZG91dCwgY3R4dC0+dmFsdWUtPm5vZGVzZXR2YWwpOworI2VuZGlmCisKKyNpZmRlZiBMSUJYTUxfWFBUUl9FTkFCTEVECitldmFsX3ByZWRpY2F0ZXM6CisjZW5kaWYKKwlvcDEgPSBjdHh0LT5jb21wLT5sYXN0OworCWN0eHQtPmNvbXAtPmxhc3QgPSAtMTsKKworCVNLSVBfQkxBTktTOworCXdoaWxlIChDVVIgPT0gJ1snKSB7CisJICAgIHhtbFhQYXRoQ29tcFByZWRpY2F0ZShjdHh0LCAwKTsKKwl9CisKKyNpZmRlZiBMSUJYTUxfWFBUUl9FTkFCTEVECisJaWYgKHJhbmdldG8pIHsKKwkgICAgUFVTSF9CSU5BUllfRVhQUihYUEFUSF9PUF9SQU5HRVRPLCBvcDIsIG9wMSwgMCwgMCk7CisJfSBlbHNlCisjZW5kaWYKKwkgICAgUFVTSF9GVUxMX0VYUFIoWFBBVEhfT1BfQ09MTEVDVCwgb3AxLCBjdHh0LT5jb21wLT5sYXN0LCBheGlzLAorCQkJICAgdGVzdCwgdHlwZSwgKHZvaWQgKilwcmVmaXgsICh2b2lkICopbmFtZSk7CisKKyAgICB9CisjaWZkZWYgREVCVUdfU1RFUAorICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCAiU3RlcCA6ICIpOworICAgIGlmIChjdHh0LT52YWx1ZSA9PSBOVUxMKQorCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCAibm8gdmFsdWVcbiIpOworICAgIGVsc2UgaWYgKGN0eHQtPnZhbHVlLT5ub2Rlc2V0dmFsID09IE5VTEwpCisJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICJFbXB0eVxuIik7CisgICAgZWxzZQorCXhtbEdlbmVyaWNFcnJvckNvbnRleHROb2RlU2V0KHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCWN0eHQtPnZhbHVlLT5ub2Rlc2V0dmFsKTsKKyNlbmRpZgorfQorCisvKioKKyAqIHhtbFhQYXRoQ29tcFJlbGF0aXZlTG9jYXRpb25QYXRoOgorICogQGN0eHQ6ICB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQKKyAqCisgKiAgWzNdICAgUmVsYXRpdmVMb2NhdGlvblBhdGggOjo9ICAgU3RlcAorICogICAgICAgICAgICAgICAgICAgICB8IFJlbGF0aXZlTG9jYXRpb25QYXRoICcvJyBTdGVwCisgKiAgICAgICAgICAgICAgICAgICAgIHwgQWJicmV2aWF0ZWRSZWxhdGl2ZUxvY2F0aW9uUGF0aAorICogIFsxMV0gIEFiYnJldmlhdGVkUmVsYXRpdmVMb2NhdGlvblBhdGggOjo9ICAgUmVsYXRpdmVMb2NhdGlvblBhdGggJy8vJyBTdGVwCisgKgorICogQ29tcGlsZSBhIHJlbGF0aXZlIGxvY2F0aW9uIHBhdGguCisgKi8KK3N0YXRpYyB2b2lkCit4bWxYUGF0aENvbXBSZWxhdGl2ZUxvY2F0aW9uUGF0aAorKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0KSB7CisgICAgU0tJUF9CTEFOS1M7CisgICAgaWYgKChDVVIgPT0gJy8nKSAmJiAoTlhUKDEpID09ICcvJykpIHsKKwlTS0lQKDIpOworCVNLSVBfQkxBTktTOworCVBVU0hfTE9OR19FWFBSKFhQQVRIX09QX0NPTExFQ1QsIEFYSVNfREVTQ0VOREFOVF9PUl9TRUxGLAorCQkgICAgICAgICBOT0RFX1RFU1RfVFlQRSwgTk9ERV9UWVBFX05PREUsIE5VTEwsIE5VTEwpOworICAgIH0gZWxzZSBpZiAoQ1VSID09ICcvJykgeworCSAgICBORVhUOworCVNLSVBfQkxBTktTOworICAgIH0KKyAgICB4bWxYUGF0aENvbXBTdGVwKGN0eHQpOworICAgIENIRUNLX0VSUk9SOworICAgIFNLSVBfQkxBTktTOworICAgIHdoaWxlIChDVVIgPT0gJy8nKSB7CisJaWYgKChDVVIgPT0gJy8nKSAmJiAoTlhUKDEpID09ICcvJykpIHsKKwkgICAgU0tJUCgyKTsKKwkgICAgU0tJUF9CTEFOS1M7CisJICAgIFBVU0hfTE9OR19FWFBSKFhQQVRIX09QX0NPTExFQ1QsIEFYSVNfREVTQ0VOREFOVF9PUl9TRUxGLAorCQkJICAgICBOT0RFX1RFU1RfVFlQRSwgTk9ERV9UWVBFX05PREUsIE5VTEwsIE5VTEwpOworCSAgICB4bWxYUGF0aENvbXBTdGVwKGN0eHQpOworCX0gZWxzZSBpZiAoQ1VSID09ICcvJykgeworCSAgICBORVhUOworCSAgICBTS0lQX0JMQU5LUzsKKwkgICAgeG1sWFBhdGhDb21wU3RlcChjdHh0KTsKKwl9CisJU0tJUF9CTEFOS1M7CisgICAgfQorfQorCisvKioKKyAqIHhtbFhQYXRoQ29tcExvY2F0aW9uUGF0aDoKKyAqIEBjdHh0OiAgdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0CisgKgorICogIFsxXSAgIExvY2F0aW9uUGF0aCA6Oj0gICBSZWxhdGl2ZUxvY2F0aW9uUGF0aAorICogICAgICAgICAgICAgICAgICAgICB8IEFic29sdXRlTG9jYXRpb25QYXRoCisgKiAgWzJdICAgQWJzb2x1dGVMb2NhdGlvblBhdGggOjo9ICAgJy8nIFJlbGF0aXZlTG9jYXRpb25QYXRoPworICogICAgICAgICAgICAgICAgICAgICB8IEFiYnJldmlhdGVkQWJzb2x1dGVMb2NhdGlvblBhdGgKKyAqICBbMTBdICAgQWJicmV2aWF0ZWRBYnNvbHV0ZUxvY2F0aW9uUGF0aCA6Oj0KKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgJy8vJyBSZWxhdGl2ZUxvY2F0aW9uUGF0aAorICoKKyAqIENvbXBpbGUgYSBsb2NhdGlvbiBwYXRoCisgKgorICogLy8gaXMgc2hvcnQgZm9yIC9kZXNjZW5kYW50LW9yLXNlbGY6Om5vZGUoKS8uIEZvciBleGFtcGxlLAorICogLy9wYXJhIGlzIHNob3J0IGZvciAvZGVzY2VuZGFudC1vci1zZWxmOjpub2RlKCkvY2hpbGQ6OnBhcmEgYW5kCisgKiBzbyB3aWxsIHNlbGVjdCBhbnkgcGFyYSBlbGVtZW50IGluIHRoZSBkb2N1bWVudCAoZXZlbiBhIHBhcmEgZWxlbWVudAorICogdGhhdCBpcyBhIGRvY3VtZW50IGVsZW1lbnQgd2lsbCBiZSBzZWxlY3RlZCBieSAvL3BhcmEgc2luY2UgdGhlCisgKiBkb2N1bWVudCBlbGVtZW50IG5vZGUgaXMgYSBjaGlsZCBvZiB0aGUgcm9vdCBub2RlKTsgZGl2Ly9wYXJhIGlzCisgKiBzaG9ydCBmb3IgZGl2L2Rlc2NlbmRhbnQtb3Itc2VsZjo6bm9kZSgpL2NoaWxkOjpwYXJhIGFuZCBzbyB3aWxsCisgKiBzZWxlY3QgYWxsIHBhcmEgZGVzY2VuZGFudHMgb2YgZGl2IGNoaWxkcmVuLgorICovCitzdGF0aWMgdm9pZAoreG1sWFBhdGhDb21wTG9jYXRpb25QYXRoKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0KSB7CisgICAgU0tJUF9CTEFOS1M7CisgICAgaWYgKENVUiAhPSAnLycpIHsKKyAgICAgICAgeG1sWFBhdGhDb21wUmVsYXRpdmVMb2NhdGlvblBhdGgoY3R4dCk7CisgICAgfSBlbHNlIHsKKwl3aGlsZSAoQ1VSID09ICcvJykgeworCSAgICBpZiAoKENVUiA9PSAnLycpICYmIChOWFQoMSkgPT0gJy8nKSkgeworCQlTS0lQKDIpOworCQlTS0lQX0JMQU5LUzsKKwkJUFVTSF9MT05HX0VYUFIoWFBBVEhfT1BfQ09MTEVDVCwgQVhJU19ERVNDRU5EQU5UX09SX1NFTEYsCisJCQkgICAgIE5PREVfVEVTVF9UWVBFLCBOT0RFX1RZUEVfTk9ERSwgTlVMTCwgTlVMTCk7CisJCXhtbFhQYXRoQ29tcFJlbGF0aXZlTG9jYXRpb25QYXRoKGN0eHQpOworCSAgICB9IGVsc2UgaWYgKENVUiA9PSAnLycpIHsKKwkJTkVYVDsKKwkJU0tJUF9CTEFOS1M7CisJCWlmICgoQ1VSICE9IDAgKSAmJgorCQkgICAgKChJU19BU0NJSV9MRVRURVIoQ1VSKSkgfHwgKENVUiA9PSAnXycpIHx8IChDVVIgPT0gJy4nKSB8fAorCQkgICAgIChDVVIgPT0gJ0AnKSB8fCAoQ1VSID09ICcqJykpKQorCQkgICAgeG1sWFBhdGhDb21wUmVsYXRpdmVMb2NhdGlvblBhdGgoY3R4dCk7CisJICAgIH0KKwkgICAgQ0hFQ0tfRVJST1I7CisJfQorICAgIH0KK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJWFBhdGggcHJlY29tcGlsZWQgZXhwcmVzc2lvbiBldmFsdWF0aW9uCQkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitzdGF0aWMgaW50Cit4bWxYUGF0aENvbXBPcEV2YWwoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQsIHhtbFhQYXRoU3RlcE9wUHRyIG9wKTsKKworI2lmZGVmIERFQlVHX1NURVAKK3N0YXRpYyB2b2lkCit4bWxYUGF0aERlYnVnRHVtcFN0ZXBBeGlzKHhtbFhQYXRoU3RlcE9wUHRyIG9wLAorCQkJICBpbnQgbmJOb2RlcykKK3sKKyAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgIm5ldyBzdGVwIDogIik7CisgICAgc3dpdGNoIChvcC0+dmFsdWUpIHsKKyAgICAgICAgY2FzZSBBWElTX0FOQ0VTVE9SOgorICAgICAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICJheGlzICdhbmNlc3RvcnMnICIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgQVhJU19BTkNFU1RPUl9PUl9TRUxGOgorICAgICAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgImF4aXMgJ2FuY2VzdG9ycy1vci1zZWxmJyAiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIEFYSVNfQVRUUklCVVRFOgorICAgICAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICJheGlzICdhdHRyaWJ1dGVzJyAiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIEFYSVNfQ0hJTEQ6CisgICAgICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgImF4aXMgJ2NoaWxkJyAiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIEFYSVNfREVTQ0VOREFOVDoKKyAgICAgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCAiYXhpcyAnZGVzY2VuZGFudCcgIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBBWElTX0RFU0NFTkRBTlRfT1JfU0VMRjoKKyAgICAgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJheGlzICdkZXNjZW5kYW50LW9yLXNlbGYnICIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgQVhJU19GT0xMT1dJTkc6CisgICAgICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgImF4aXMgJ2ZvbGxvd2luZycgIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBBWElTX0ZPTExPV0lOR19TSUJMSU5HOgorICAgICAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgImF4aXMgJ2ZvbGxvd2luZy1zaWJsaW5ncycgIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBBWElTX05BTUVTUEFDRToKKyAgICAgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCAiYXhpcyAnbmFtZXNwYWNlJyAiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIEFYSVNfUEFSRU5UOgorICAgICAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICJheGlzICdwYXJlbnQnICIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgQVhJU19QUkVDRURJTkc6CisgICAgICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgImF4aXMgJ3ByZWNlZGluZycgIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBBWElTX1BSRUNFRElOR19TSUJMSU5HOgorICAgICAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgImF4aXMgJ3ByZWNlZGluZy1zaWJsaW5nJyAiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIEFYSVNfU0VMRjoKKyAgICAgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LCAiYXhpcyAnc2VsZicgIik7CisgICAgICAgICAgICBicmVhazsKKyAgICB9CisgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJIiBjb250ZXh0IGNvbnRhaW5zICVkIG5vZGVzXG4iLCBuYk5vZGVzKTsKKyAgICBzd2l0Y2ggKG9wLT52YWx1ZTIpIHsKKyAgICAgICAgY2FzZSBOT0RFX1RFU1RfTk9ORToKKyAgICAgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgICAgICAgICAgIHNlYXJjaGluZyBmb3Igbm9uZSAhISFcbiIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgTk9ERV9URVNUX1RZUEU6CisgICAgICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAiICAgICAgICAgICBzZWFyY2hpbmcgZm9yIHR5cGUgJWRcbiIsIG9wLT52YWx1ZTMpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgTk9ERV9URVNUX1BJOgorICAgICAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiAgICAgICAgICAgc2VhcmNoaW5nIGZvciBQSSAhISFcbiIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgTk9ERV9URVNUX0FMTDoKKyAgICAgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgICAgICAgICAgIHNlYXJjaGluZyBmb3IgKlxuIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBOT0RFX1RFU1RfTlM6CisgICAgICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAiICAgICAgICAgICBzZWFyY2hpbmcgZm9yIG5hbWVzcGFjZSAlc1xuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcC0+dmFsdWU1KTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIE5PREVfVEVTVF9OQU1FOgorICAgICAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiAgICAgICAgICAgc2VhcmNoaW5nIGZvciBuYW1lICVzXG4iLCBvcC0+dmFsdWU1KTsKKyAgICAgICAgICAgIGlmIChvcC0+dmFsdWU0KQorICAgICAgICAgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiICAgICAgICAgICB3aXRoIG5hbWVzcGFjZSAlc1xuIiwgb3AtPnZhbHVlNCk7CisgICAgICAgICAgICBicmVhazsKKyAgICB9CisgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICJUZXN0aW5nIDogIik7Cit9CisjZW5kaWYgLyogREVCVUdfU1RFUCAqLworCitzdGF0aWMgaW50Cit4bWxYUGF0aENvbXBPcEV2YWxQcmVkaWNhdGUoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQsCisJCQkgICAgeG1sWFBhdGhTdGVwT3BQdHIgb3AsCisJCQkgICAgeG1sTm9kZVNldFB0ciBzZXQsCisJCQkgICAgaW50IGNvbnRleHRTaXplLAorCQkJICAgIGludCBoYXNOc05vZGVzKQoreworICAgIGlmIChvcC0+Y2gxICE9IC0xKSB7CisJeG1sWFBhdGhDb21wRXhwclB0ciBjb21wID0gY3R4dC0+Y29tcDsKKwkvKgorCSogUHJvY2VzcyBpbm5lciBwcmVkaWNhdGVzIGZpcnN0LgorCSovCisJaWYgKGNvbXAtPnN0ZXBzW29wLT5jaDFdLm9wICE9IFhQQVRIX09QX1BSRURJQ0FURSkgeworCSAgICAvKgorCSAgICAqIFRPRE86IHJhaXNlIGFuIGludGVybmFsIGVycm9yLgorCSAgICAqLworCX0KKwljb250ZXh0U2l6ZSA9IHhtbFhQYXRoQ29tcE9wRXZhbFByZWRpY2F0ZShjdHh0LAorCSAgICAmY29tcC0+c3RlcHNbb3AtPmNoMV0sIHNldCwgY29udGV4dFNpemUsIGhhc05zTm9kZXMpOworCUNIRUNLX0VSUk9SMDsKKwlpZiAoY29udGV4dFNpemUgPD0gMCkKKwkgICAgcmV0dXJuKDApOworICAgIH0KKyAgICBpZiAob3AtPmNoMiAhPSAtMSkgeworCXhtbFhQYXRoQ29udGV4dFB0ciB4cGN0eHQgPSBjdHh0LT5jb250ZXh0OworCXhtbE5vZGVQdHIgY29udGV4dE5vZGUsIG9sZENvbnRleHROb2RlOworCXhtbERvY1B0ciBvbGRDb250ZXh0RG9jOworCWludCBpLCByZXMsIGNvbnRleHRQb3MgPSAwLCBuZXdDb250ZXh0U2l6ZTsKKwl4bWxYUGF0aFN0ZXBPcFB0ciBleHByT3A7CisJeG1sWFBhdGhPYmplY3RQdHIgY29udGV4dE9iaiA9IE5VTEwsIGV4cHJSZXMgPSBOVUxMOworCisjaWZkZWYgTElCWE1MX1hQVFJfRU5BQkxFRAorCS8qCisJKiBVUkdFTlQgVE9ETzogQ2hlY2sgdGhlIGZvbGxvd2luZzoKKwkqICBXZSBkb24ndCBleHBlY3QgbG9jYXRpb24gc2V0cyBpZiBldmFsdWF0aW5nIHByZWRpYXRlcywgcmlnaHQ/CisJKiAgT25seSBmaWx0ZXJzIHNob3VsZCBleHBlY3QgbG9jYXRpb24gc2V0cywgcmlnaHQ/CisJKi8KKyNlbmRpZgorCS8qCisJKiBTUEVDIFhQYXRoIDEuMDoKKwkqICAiRm9yIGVhY2ggbm9kZSBpbiB0aGUgbm9kZS1zZXQgdG8gYmUgZmlsdGVyZWQsIHRoZQorCSogIFByZWRpY2F0ZUV4cHIgaXMgZXZhbHVhdGVkIHdpdGggdGhhdCBub2RlIGFzIHRoZQorCSogIGNvbnRleHQgbm9kZSwgd2l0aCB0aGUgbnVtYmVyIG9mIG5vZGVzIGluIHRoZQorCSogIG5vZGUtc2V0IGFzIHRoZSBjb250ZXh0IHNpemUsIGFuZCB3aXRoIHRoZSBwcm94aW1pdHkKKwkqICBwb3NpdGlvbiBvZiB0aGUgbm9kZSBpbiB0aGUgbm9kZS1zZXQgd2l0aCByZXNwZWN0IHRvCisJKiAgdGhlIGF4aXMgYXMgdGhlIGNvbnRleHQgcG9zaXRpb247IgorCSogQG9sZHNldCBpcyB0aGUgbm9kZS1zZXQiIHRvIGJlIGZpbHRlcmVkLgorCSoKKwkqIFNQRUMgWFBhdGggMS4wOgorCSogICJvbmx5IHByZWRpY2F0ZXMgY2hhbmdlIHRoZSBjb250ZXh0IHBvc2l0aW9uIGFuZAorCSogIGNvbnRleHQgc2l6ZSAoc2VlIFsyLjQgUHJlZGljYXRlc10pLiIKKwkqIEV4YW1wbGU6CisJKiAgIG5vZGUtc2V0ICBjb250ZXh0IHBvcworCSogICAgbkEgICAgICAgICAxCisJKiAgICBuQiAgICAgICAgIDIKKwkqICAgIG5DICAgICAgICAgMworCSogICBBZnRlciBhcHBseWluZyBwcmVkaWNhdGUgW3Bvc2l0aW9uKCkgPiAxXSA6CisJKiAgIG5vZGUtc2V0ICBjb250ZXh0IHBvcworCSogICAgbkIgICAgICAgICAxCisJKiAgICBuQyAgICAgICAgIDIKKwkqLworCW9sZENvbnRleHROb2RlID0geHBjdHh0LT5ub2RlOworCW9sZENvbnRleHREb2MgPSB4cGN0eHQtPmRvYzsKKwkvKgorCSogR2V0IHRoZSBleHByZXNzaW9uIG9mIHRoaXMgcHJlZGljYXRlLgorCSovCisJZXhwck9wID0gJmN0eHQtPmNvbXAtPnN0ZXBzW29wLT5jaDJdOworCW5ld0NvbnRleHRTaXplID0gMDsKKwlmb3IgKGkgPSAwOyBpIDwgc2V0LT5ub2RlTnI7IGkrKykgeworCSAgICBpZiAoc2V0LT5ub2RlVGFiW2ldID09IE5VTEwpCisJCWNvbnRpbnVlOworCisJICAgIGNvbnRleHROb2RlID0gc2V0LT5ub2RlVGFiW2ldOworCSAgICB4cGN0eHQtPm5vZGUgPSBjb250ZXh0Tm9kZTsKKwkgICAgeHBjdHh0LT5jb250ZXh0U2l6ZSA9IGNvbnRleHRTaXplOworCSAgICB4cGN0eHQtPnByb3hpbWl0eVBvc2l0aW9uID0gKytjb250ZXh0UG9zOworCisJICAgIC8qCisJICAgICogQWxzbyBzZXQgdGhlIHhwYXRoIGRvY3VtZW50IGluIGNhc2UgdGhpbmdzIGxpa2UKKwkgICAgKiBrZXkoKSBhcmUgZXZhbHVhdGVkIGluIHRoZSBwcmVkaWNhdGUuCisJICAgICovCisJICAgIGlmICgoY29udGV4dE5vZGUtPnR5cGUgIT0gWE1MX05BTUVTUEFDRV9ERUNMKSAmJgorCQkoY29udGV4dE5vZGUtPmRvYyAhPSBOVUxMKSkKKwkJeHBjdHh0LT5kb2MgPSBjb250ZXh0Tm9kZS0+ZG9jOworCSAgICAvKgorCSAgICAqIEV2YWx1YXRlIHRoZSBwcmVkaWNhdGUgZXhwcmVzc2lvbiB3aXRoIDEgY29udGV4dCBub2RlCisJICAgICogYXQgYSB0aW1lOyB0aGlzIG5vZGUgaXMgcGFja2FnZWQgaW50byBhIG5vZGUgc2V0OyB0aGlzCisJICAgICogbm9kZSBzZXQgaXMgaGFuZGVkIG92ZXIgdG8gdGhlIGV2YWx1YXRpb24gbWVjaGFuaXNtLgorCSAgICAqLworCSAgICBpZiAoY29udGV4dE9iaiA9PSBOVUxMKQorCQljb250ZXh0T2JqID0geG1sWFBhdGhDYWNoZU5ld05vZGVTZXQoeHBjdHh0LCBjb250ZXh0Tm9kZSk7CisJICAgIGVsc2UgeworCQlpZiAoeG1sWFBhdGhOb2RlU2V0QWRkVW5pcXVlKGNvbnRleHRPYmotPm5vZGVzZXR2YWwsCisJCSAgICBjb250ZXh0Tm9kZSkgPCAwKSB7CisJCSAgICBjdHh0LT5lcnJvciA9IFhQQVRIX01FTU9SWV9FUlJPUjsKKwkJICAgIGdvdG8gZXZhbHVhdGlvbl9leGl0OworCQl9CisJICAgIH0KKworCSAgICB2YWx1ZVB1c2goY3R4dCwgY29udGV4dE9iaik7CisKKwkgICAgcmVzID0geG1sWFBhdGhDb21wT3BFdmFsVG9Cb29sZWFuKGN0eHQsIGV4cHJPcCwgMSk7CisKKwkgICAgaWYgKChjdHh0LT5lcnJvciAhPSBYUEFUSF9FWFBSRVNTSU9OX09LKSB8fCAocmVzID09IC0xKSkgeworCQl4bWxYUGF0aE5vZGVTZXRDbGVhcihzZXQsIGhhc05zTm9kZXMpOworCQluZXdDb250ZXh0U2l6ZSA9IDA7CisJCWdvdG8gZXZhbHVhdGlvbl9leGl0OworCSAgICB9CisKKwkgICAgaWYgKHJlcyAhPSAwKSB7CisJCW5ld0NvbnRleHRTaXplKys7CisJICAgIH0gZWxzZSB7CisJCS8qCisJCSogUmVtb3ZlIHRoZSBlbnRyeSBmcm9tIHRoZSBpbml0aWFsIG5vZGUgc2V0LgorCQkqLworCQlzZXQtPm5vZGVUYWJbaV0gPSBOVUxMOworCQlpZiAoY29udGV4dE5vZGUtPnR5cGUgPT0gWE1MX05BTUVTUEFDRV9ERUNMKQorCQkgICAgeG1sWFBhdGhOb2RlU2V0RnJlZU5zKCh4bWxOc1B0cikgY29udGV4dE5vZGUpOworCSAgICB9CisJICAgIGlmIChjdHh0LT52YWx1ZSA9PSBjb250ZXh0T2JqKSB7CisJCS8qCisJCSogRG9uJ3QgZnJlZSB0aGUgdGVtcG9yYXJ5IFhQYXRoIG9iamVjdCBob2xkaW5nIHRoZQorCQkqIGNvbnRleHQgbm9kZSwgaW4gb3JkZXIgdG8gYXZvaWQgbWFzc2l2ZSByZWNyZWF0aW9uCisJCSogaW5zaWRlIHRoaXMgbG9vcC4KKwkJKi8KKwkJdmFsdWVQb3AoY3R4dCk7CisJCXhtbFhQYXRoTm9kZVNldENsZWFyKGNvbnRleHRPYmotPm5vZGVzZXR2YWwsIGhhc05zTm9kZXMpOworCSAgICB9IGVsc2UgeworCQkvKgorCQkqIFRPRE86IFRoZSBvYmplY3Qgd2FzIGxvc3QgaW4gdGhlIGV2YWx1YXRpb24gbWFjaGluZXJ5LgorCQkqICBDYW4gdGhpcyBoYXBwZW4/IE1heWJlIGluIGludGVybmFsLWVycm9yIGNhc2VzLgorCQkqLworCQljb250ZXh0T2JqID0gTlVMTDsKKwkgICAgfQorCX0KKworCWlmIChjb250ZXh0T2JqICE9IE5VTEwpIHsKKwkgICAgaWYgKGN0eHQtPnZhbHVlID09IGNvbnRleHRPYmopCisJCXZhbHVlUG9wKGN0eHQpOworCSAgICB4bWxYUGF0aFJlbGVhc2VPYmplY3QoeHBjdHh0LCBjb250ZXh0T2JqKTsKKwl9CitldmFsdWF0aW9uX2V4aXQ6CisJaWYgKGV4cHJSZXMgIT0gTlVMTCkKKwkgICAgeG1sWFBhdGhSZWxlYXNlT2JqZWN0KGN0eHQtPmNvbnRleHQsIGV4cHJSZXMpOworCS8qCisJKiBSZXNldC9pbnZhbGlkYXRlIHRoZSBjb250ZXh0LgorCSovCisJeHBjdHh0LT5ub2RlID0gb2xkQ29udGV4dE5vZGU7CisJeHBjdHh0LT5kb2MgPSBvbGRDb250ZXh0RG9jOworCXhwY3R4dC0+Y29udGV4dFNpemUgPSAtMTsKKwl4cGN0eHQtPnByb3hpbWl0eVBvc2l0aW9uID0gLTE7CisJcmV0dXJuKG5ld0NvbnRleHRTaXplKTsKKyAgICB9CisgICAgcmV0dXJuKGNvbnRleHRTaXplKTsKK30KKworc3RhdGljIGludAoreG1sWFBhdGhDb21wT3BFdmFsUG9zaXRpb25hbFByZWRpY2F0ZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCwKKwkJCQkgICAgICB4bWxYUGF0aFN0ZXBPcFB0ciBvcCwKKwkJCQkgICAgICB4bWxOb2RlU2V0UHRyIHNldCwKKwkJCQkgICAgICBpbnQgY29udGV4dFNpemUsCisJCQkJICAgICAgaW50IG1pblBvcywKKwkJCQkgICAgICBpbnQgbWF4UG9zLAorCQkJCSAgICAgIGludCBoYXNOc05vZGVzKQoreworICAgIGlmIChvcC0+Y2gxICE9IC0xKSB7CisJeG1sWFBhdGhDb21wRXhwclB0ciBjb21wID0gY3R4dC0+Y29tcDsKKwlpZiAoY29tcC0+c3RlcHNbb3AtPmNoMV0ub3AgIT0gWFBBVEhfT1BfUFJFRElDQVRFKSB7CisJICAgIC8qCisJICAgICogVE9ETzogcmFpc2UgYW4gaW50ZXJuYWwgZXJyb3IuCisJICAgICovCisJfQorCWNvbnRleHRTaXplID0geG1sWFBhdGhDb21wT3BFdmFsUHJlZGljYXRlKGN0eHQsCisJICAgICZjb21wLT5zdGVwc1tvcC0+Y2gxXSwgc2V0LCBjb250ZXh0U2l6ZSwgaGFzTnNOb2Rlcyk7CisJQ0hFQ0tfRVJST1IwOworCWlmIChjb250ZXh0U2l6ZSA8PSAwKQorCSAgICByZXR1cm4oMCk7CisgICAgfQorICAgIC8qCisgICAgKiBDaGVjayBpZiB0aGUgbm9kZSBzZXQgY29udGFpbnMgYSBzdWZmaWNpZW50IG51bWJlciBvZiBub2RlcyBmb3IKKyAgICAqIHRoZSByZXF1ZXN0ZWQgcmFuZ2UuCisgICAgKi8KKyAgICBpZiAoY29udGV4dFNpemUgPCBtaW5Qb3MpIHsKKwl4bWxYUGF0aE5vZGVTZXRDbGVhcihzZXQsIGhhc05zTm9kZXMpOworCXJldHVybigwKTsKKyAgICB9CisgICAgaWYgKG9wLT5jaDIgPT0gLTEpIHsKKwkvKgorCSogVE9ETzogQ2FuIHRoaXMgZXZlciBoYXBwZW4/CisJKi8KKwlyZXR1cm4gKGNvbnRleHRTaXplKTsKKyAgICB9IGVsc2UgeworCXhtbERvY1B0ciBvbGRDb250ZXh0RG9jOworCWludCBpLCBwb3MgPSAwLCBuZXdDb250ZXh0U2l6ZSA9IDAsIGNvbnRleHRQb3MgPSAwLCByZXM7CisJeG1sWFBhdGhTdGVwT3BQdHIgZXhwck9wOworCXhtbFhQYXRoT2JqZWN0UHRyIGNvbnRleHRPYmogPSBOVUxMLCBleHByUmVzID0gTlVMTDsKKwl4bWxOb2RlUHRyIG9sZENvbnRleHROb2RlLCBjb250ZXh0Tm9kZSA9IE5VTEw7CisJeG1sWFBhdGhDb250ZXh0UHRyIHhwY3R4dCA9IGN0eHQtPmNvbnRleHQ7CisgICAgICAgIGludCBmcmFtZTsKKworI2lmZGVmIExJQlhNTF9YUFRSX0VOQUJMRUQKKwkgICAgLyoKKwkgICAgKiBVUkdFTlQgVE9ETzogQ2hlY2sgdGhlIGZvbGxvd2luZzoKKwkgICAgKiAgV2UgZG9uJ3QgZXhwZWN0IGxvY2F0aW9uIHNldHMgaWYgZXZhbHVhdGluZyBwcmVkaWF0ZXMsIHJpZ2h0PworCSAgICAqICBPbmx5IGZpbHRlcnMgc2hvdWxkIGV4cGVjdCBsb2NhdGlvbiBzZXRzLCByaWdodD8KKwkqLworI2VuZGlmIC8qIExJQlhNTF9YUFRSX0VOQUJMRUQgKi8KKworCS8qCisJKiBTYXZlIG9sZCBjb250ZXh0LgorCSovCisJb2xkQ29udGV4dE5vZGUgPSB4cGN0eHQtPm5vZGU7CisJb2xkQ29udGV4dERvYyA9IHhwY3R4dC0+ZG9jOworCS8qCisJKiBHZXQgdGhlIGV4cHJlc3Npb24gb2YgdGhpcyBwcmVkaWNhdGUuCisJKi8KKwlleHByT3AgPSAmY3R4dC0+Y29tcC0+c3RlcHNbb3AtPmNoMl07CisJZm9yIChpID0gMDsgaSA8IHNldC0+bm9kZU5yOyBpKyspIHsKKyAgICAgICAgICAgIHhtbFhQYXRoT2JqZWN0UHRyIHRtcDsKKworCSAgICBpZiAoc2V0LT5ub2RlVGFiW2ldID09IE5VTEwpCisJCWNvbnRpbnVlOworCisJICAgIGNvbnRleHROb2RlID0gc2V0LT5ub2RlVGFiW2ldOworCSAgICB4cGN0eHQtPm5vZGUgPSBjb250ZXh0Tm9kZTsKKwkgICAgeHBjdHh0LT5jb250ZXh0U2l6ZSA9IGNvbnRleHRTaXplOworCSAgICB4cGN0eHQtPnByb3hpbWl0eVBvc2l0aW9uID0gKytjb250ZXh0UG9zOworCisJICAgIC8qCisJICAgICogSW5pdGlhbGl6ZSB0aGUgbmV3IHNldC4KKwkgICAgKiBBbHNvIHNldCB0aGUgeHBhdGggZG9jdW1lbnQgaW4gY2FzZSB0aGluZ3MgbGlrZQorCSAgICAqIGtleSgpIGV2YWx1YXRpb24gYXJlIGF0dGVtcHRlZCBvbiB0aGUgcHJlZGljYXRlCisJICAgICovCisJICAgIGlmICgoY29udGV4dE5vZGUtPnR5cGUgIT0gWE1MX05BTUVTUEFDRV9ERUNMKSAmJgorCQkoY29udGV4dE5vZGUtPmRvYyAhPSBOVUxMKSkKKwkJeHBjdHh0LT5kb2MgPSBjb250ZXh0Tm9kZS0+ZG9jOworCSAgICAvKgorCSAgICAqIEV2YWx1YXRlIHRoZSBwcmVkaWNhdGUgZXhwcmVzc2lvbiB3aXRoIDEgY29udGV4dCBub2RlCisJICAgICogYXQgYSB0aW1lOyB0aGlzIG5vZGUgaXMgcGFja2FnZWQgaW50byBhIG5vZGUgc2V0OyB0aGlzCisJICAgICogbm9kZSBzZXQgaXMgaGFuZGVkIG92ZXIgdG8gdGhlIGV2YWx1YXRpb24gbWVjaGFuaXNtLgorCSAgICAqLworCSAgICBpZiAoY29udGV4dE9iaiA9PSBOVUxMKQorCQljb250ZXh0T2JqID0geG1sWFBhdGhDYWNoZU5ld05vZGVTZXQoeHBjdHh0LCBjb250ZXh0Tm9kZSk7CisJICAgIGVsc2UgeworCQlpZiAoeG1sWFBhdGhOb2RlU2V0QWRkVW5pcXVlKGNvbnRleHRPYmotPm5vZGVzZXR2YWwsCisJCSAgICBjb250ZXh0Tm9kZSkgPCAwKSB7CisJCSAgICBjdHh0LT5lcnJvciA9IFhQQVRIX01FTU9SWV9FUlJPUjsKKwkJICAgIGdvdG8gZXZhbHVhdGlvbl9leGl0OworCQl9CisJICAgIH0KKworICAgICAgICAgICAgZnJhbWUgPSB4bWxYUGF0aFNldEZyYW1lKGN0eHQpOworCSAgICB2YWx1ZVB1c2goY3R4dCwgY29udGV4dE9iaik7CisJICAgIHJlcyA9IHhtbFhQYXRoQ29tcE9wRXZhbFRvQm9vbGVhbihjdHh0LCBleHByT3AsIDEpOworICAgICAgICAgICAgdG1wID0gdmFsdWVQb3AoY3R4dCk7CisgICAgICAgICAgICB4bWxYUGF0aFBvcEZyYW1lKGN0eHQsIGZyYW1lKTsKKworCSAgICBpZiAoKGN0eHQtPmVycm9yICE9IFhQQVRIX0VYUFJFU1NJT05fT0spIHx8IChyZXMgPT0gLTEpKSB7CisgICAgICAgICAgICAgICAgd2hpbGUgKHRtcCAhPSBjb250ZXh0T2JqKSB7CisgICAgICAgICAgICAgICAgICAgIC8qCisgICAgICAgICAgICAgICAgICAgICAqIEZyZWUgdXAgdGhlIHJlc3VsdAorICAgICAgICAgICAgICAgICAgICAgKiB0aGVuIHBvcCBvZmYgY29udGV4dE9iaiwgd2hpY2ggd2lsbCBiZSBmcmVlZCBsYXRlcgorICAgICAgICAgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgICAgICAgICAgeG1sWFBhdGhSZWxlYXNlT2JqZWN0KHhwY3R4dCwgdG1wKTsKKyAgICAgICAgICAgICAgICAgICAgdG1wID0gdmFsdWVQb3AoY3R4dCk7CisgICAgICAgICAgICAgICAgfQorCQlnb3RvIGV2YWx1YXRpb25fZXJyb3I7CisJICAgIH0KKyAgICAgICAgICAgIC8qIHB1c2ggdGhlIHJlc3VsdCBiYWNrIG9udG8gdGhlIHN0YWNrICovCisgICAgICAgICAgICB2YWx1ZVB1c2goY3R4dCwgdG1wKTsKKworCSAgICBpZiAocmVzKQorCQlwb3MrKzsKKworCSAgICBpZiAocmVzICYmIChwb3MgPj0gbWluUG9zKSAmJiAocG9zIDw9IG1heFBvcykpIHsKKwkJLyoKKwkJKiBGaXRzIGluIHRoZSByZXF1ZXN0ZWQgcmFuZ2UuCisJCSovCisJCW5ld0NvbnRleHRTaXplKys7CisJCWlmIChtaW5Qb3MgPT0gbWF4UG9zKSB7CisJCSAgICAvKgorCQkgICAgKiBPbmx5IDEgbm9kZSB3YXMgcmVxdWVzdGVkLgorCQkgICAgKi8KKwkJICAgIGlmIChjb250ZXh0Tm9kZS0+dHlwZSA9PSBYTUxfTkFNRVNQQUNFX0RFQ0wpIHsKKwkJCS8qCisJCQkqIEFzIGFsd2F5czogdGFrZSBjYXJlIG9mIHRob3NlIG5hc3R5CisJCQkqIG5hbWVzcGFjZSBub2Rlcy4KKwkJCSovCisJCQlzZXQtPm5vZGVUYWJbaV0gPSBOVUxMOworCQkgICAgfQorCQkgICAgeG1sWFBhdGhOb2RlU2V0Q2xlYXIoc2V0LCBoYXNOc05vZGVzKTsKKwkJICAgIHNldC0+bm9kZU5yID0gMTsKKwkJICAgIHNldC0+bm9kZVRhYlswXSA9IGNvbnRleHROb2RlOworCQkgICAgZ290byBldmFsdWF0aW9uX2V4aXQ7CisJCX0KKwkJaWYgKHBvcyA9PSBtYXhQb3MpIHsKKwkJICAgIC8qCisJCSAgICAqIFdlIGFyZSBkb25lLgorCQkgICAgKi8KKwkJICAgIHhtbFhQYXRoTm9kZVNldENsZWFyRnJvbVBvcyhzZXQsIGkgKzEsIGhhc05zTm9kZXMpOworCQkgICAgZ290byBldmFsdWF0aW9uX2V4aXQ7CisJCX0KKwkgICAgfSBlbHNlIHsKKwkJLyoKKwkJKiBSZW1vdmUgdGhlIGVudHJ5IGZyb20gdGhlIGluaXRpYWwgbm9kZSBzZXQuCisJCSovCisJCXNldC0+bm9kZVRhYltpXSA9IE5VTEw7CisJCWlmIChjb250ZXh0Tm9kZS0+dHlwZSA9PSBYTUxfTkFNRVNQQUNFX0RFQ0wpCisJCSAgICB4bWxYUGF0aE5vZGVTZXRGcmVlTnMoKHhtbE5zUHRyKSBjb250ZXh0Tm9kZSk7CisJICAgIH0KKwkgICAgaWYgKGV4cHJSZXMgIT0gTlVMTCkgeworCQl4bWxYUGF0aFJlbGVhc2VPYmplY3QoY3R4dC0+Y29udGV4dCwgZXhwclJlcyk7CisJCWV4cHJSZXMgPSBOVUxMOworCSAgICB9CisJICAgIGlmIChjdHh0LT52YWx1ZSA9PSBjb250ZXh0T2JqKSB7CisJCS8qCisJCSogRG9uJ3QgZnJlZSB0aGUgdGVtcG9yYXJ5IFhQYXRoIG9iamVjdCBob2xkaW5nIHRoZQorCQkqIGNvbnRleHQgbm9kZSwgaW4gb3JkZXIgdG8gYXZvaWQgbWFzc2l2ZSByZWNyZWF0aW9uCisJCSogaW5zaWRlIHRoaXMgbG9vcC4KKwkJKi8KKwkJdmFsdWVQb3AoY3R4dCk7CisJCXhtbFhQYXRoTm9kZVNldENsZWFyKGNvbnRleHRPYmotPm5vZGVzZXR2YWwsIGhhc05zTm9kZXMpOworCSAgICB9IGVsc2UgeworCQkvKgorCQkqIFRoZSBvYmplY3Qgd2FzIGxvc3QgaW4gdGhlIGV2YWx1YXRpb24gbWFjaGluZXJ5LgorCQkqIENhbiB0aGlzIGhhcHBlbj8gTWF5YmUgaW4gY2FzZSBvZiBpbnRlcm5hbC1lcnJvcnMuCisJCSovCisJCWNvbnRleHRPYmogPSBOVUxMOworCSAgICB9CisJfQorCWdvdG8gZXZhbHVhdGlvbl9leGl0OworCitldmFsdWF0aW9uX2Vycm9yOgorCXhtbFhQYXRoTm9kZVNldENsZWFyKHNldCwgaGFzTnNOb2Rlcyk7CisJbmV3Q29udGV4dFNpemUgPSAwOworCitldmFsdWF0aW9uX2V4aXQ6CisJaWYgKGNvbnRleHRPYmogIT0gTlVMTCkgeworCSAgICBpZiAoY3R4dC0+dmFsdWUgPT0gY29udGV4dE9iaikKKwkJdmFsdWVQb3AoY3R4dCk7CisJICAgIHhtbFhQYXRoUmVsZWFzZU9iamVjdCh4cGN0eHQsIGNvbnRleHRPYmopOworCX0KKwlpZiAoZXhwclJlcyAhPSBOVUxMKQorCSAgICB4bWxYUGF0aFJlbGVhc2VPYmplY3QoY3R4dC0+Y29udGV4dCwgZXhwclJlcyk7CisJLyoKKwkqIFJlc2V0L2ludmFsaWRhdGUgdGhlIGNvbnRleHQuCisJKi8KKwl4cGN0eHQtPm5vZGUgPSBvbGRDb250ZXh0Tm9kZTsKKwl4cGN0eHQtPmRvYyA9IG9sZENvbnRleHREb2M7CisJeHBjdHh0LT5jb250ZXh0U2l6ZSA9IC0xOworCXhwY3R4dC0+cHJveGltaXR5UG9zaXRpb24gPSAtMTsKKwlyZXR1cm4obmV3Q29udGV4dFNpemUpOworICAgIH0KKyAgICByZXR1cm4oY29udGV4dFNpemUpOworfQorCitzdGF0aWMgaW50Cit4bWxYUGF0aElzUG9zaXRpb25hbFByZWRpY2F0ZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCwKKwkJCSAgICB4bWxYUGF0aFN0ZXBPcFB0ciBvcCwKKwkJCSAgICBpbnQgKm1heFBvcykKK3sKKworICAgIHhtbFhQYXRoU3RlcE9wUHRyIGV4cHJPcDsKKworICAgIC8qCisgICAgKiBCSUcgTk9URTogVGhpcyBpcyBub3QgaW50ZW5kZWQgZm9yIFhQQVRIX09QX0ZJTFRFUiB5ZXQhCisgICAgKi8KKworICAgIC8qCisgICAgKiBJZiBub3QgLTEsIHRoZW4gY2gxIHdpbGwgcG9pbnQgdG86CisgICAgKiAxKSBGb3IgcHJlZGljYXRlcyAoWFBBVEhfT1BfUFJFRElDQVRFKToKKyAgICAqICAgIC0gYW4gaW5uZXIgcHJlZGljYXRlIG9wZXJhdG9yCisgICAgKiAyKSBGb3IgZmlsdGVycyAoWFBBVEhfT1BfRklMVEVSKToKKyAgICAqICAgIC0gYW4gaW5uZXIgZmlsdGVyIG9wZXJhdGVyIE9SCisgICAgKiAgICAtIGFuIGV4cHJlc3Npb24gc2VsZWN0aW5nIHRoZSBub2RlIHNldC4KKyAgICAqICAgICAgRS5nLiAia2V5KCdhJywgJ2InKSIgb3IgIigvL2ZvbyB8IC8vYmFyKSIuCisgICAgKi8KKyAgICBpZiAoKG9wLT5vcCAhPSBYUEFUSF9PUF9QUkVESUNBVEUpICYmIChvcC0+b3AgIT0gWFBBVEhfT1BfRklMVEVSKSkKKwlyZXR1cm4oMCk7CisKKyAgICBpZiAob3AtPmNoMiAhPSAtMSkgeworCWV4cHJPcCA9ICZjdHh0LT5jb21wLT5zdGVwc1tvcC0+Y2gyXTsKKyAgICB9IGVsc2UKKwlyZXR1cm4oMCk7CisKKyAgICBpZiAoKGV4cHJPcCAhPSBOVUxMKSAmJgorCShleHByT3AtPm9wID09IFhQQVRIX09QX1ZBTFVFKSAmJgorCShleHByT3AtPnZhbHVlNCAhPSBOVUxMKSAmJgorCSgoKHhtbFhQYXRoT2JqZWN0UHRyKSBleHByT3AtPnZhbHVlNCktPnR5cGUgPT0gWFBBVEhfTlVNQkVSKSkKKyAgICB7CisJLyoKKwkqIFdlIGhhdmUgYSAiW25dIiBwcmVkaWNhdGUgaGVyZS4KKwkqIFRPRE86IFVuZm9ydHVuYXRlbHkgdGhpcyBzaW1wbGlzdGljIHRlc3QgaGVyZSBpcyBub3QKKwkqIGFibGUgdG8gZGV0ZWN0IGEgcG9zaXRpb24oKSBwcmVkaWNhdGUgaW4gY29tcG91bmQKKwkqIGV4cHJlc3Npb25zIGxpa2UgIltAYXR0ciA9ICdhIiBhbmQgcG9zaXRpb24oKSA9IDFdLAorCSogYW5kIGV2ZW4gbm90IHRoZSB1c2FnZSBvZiBwb3NpdGlvbigpIGluCisJKiAiW3Bvc2l0aW9uKCkgPSAxXSI7IHRodXMgLSBvYnZpb3VzbHkgLSBhIHBvc2l0aW9uLXJhbmdlLAorCSogbGlrZSBpdCAiW3Bvc2l0aW9uKCkgPCA1XSIsIGlzIGFsc28gbm90IGRldGVjdGVkLgorCSogTWF5YmUgd2UgY291bGQgcmV3cml0ZSB0aGUgQVNUIHRvIGVhc2UgdGhlIG9wdGltaXphdGlvbi4KKwkqLworCSptYXhQb3MgPSAoaW50KSAoKHhtbFhQYXRoT2JqZWN0UHRyKSBleHByT3AtPnZhbHVlNCktPmZsb2F0dmFsOworCisJaWYgKCgoeG1sWFBhdGhPYmplY3RQdHIpIGV4cHJPcC0+dmFsdWU0KS0+ZmxvYXR2YWwgPT0KKwkgICAgKGZsb2F0KSAqbWF4UG9zKQorCXsKKwkgICAgcmV0dXJuKDEpOworCX0KKyAgICB9CisgICAgcmV0dXJuKDApOworfQorCitzdGF0aWMgaW50Cit4bWxYUGF0aE5vZGVDb2xsZWN0QW5kVGVzdCh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFhQYXRoU3RlcE9wUHRyIG9wLAorCQkJICAgeG1sTm9kZVB0ciAqIGZpcnN0LCB4bWxOb2RlUHRyICogbGFzdCwKKwkJCSAgIGludCB0b0Jvb2wpCit7CisKKyNkZWZpbmUgWFBfVEVTVF9ISVQgXAorICAgIGlmIChoYXNBeGlzUmFuZ2UgIT0gMCkgeyBcCisJaWYgKCsrcG9zID09IG1heFBvcykgeyBcCisJICAgIGlmIChhZGROb2RlKHNlcSwgY3VyKSA8IDApIFwKKwkgICAgICAgIGN0eHQtPmVycm9yID0gWFBBVEhfTUVNT1JZX0VSUk9SOyBcCisJICAgIGdvdG8gYXhpc19yYW5nZV9lbmQ7IH0gXAorICAgIH0gZWxzZSB7IFwKKwlpZiAoYWRkTm9kZShzZXEsIGN1cikgPCAwKSBcCisJICAgIGN0eHQtPmVycm9yID0gWFBBVEhfTUVNT1JZX0VSUk9SOyBcCisJaWYgKGJyZWFrT25GaXJzdEhpdCkgZ290byBmaXJzdF9oaXQ7IH0KKworI2RlZmluZSBYUF9URVNUX0hJVF9OUyBcCisgICAgaWYgKGhhc0F4aXNSYW5nZSAhPSAwKSB7IFwKKwlpZiAoKytwb3MgPT0gbWF4UG9zKSB7IFwKKwkgICAgaGFzTnNOb2RlcyA9IDE7IFwKKwkgICAgaWYgKHhtbFhQYXRoTm9kZVNldEFkZE5zKHNlcSwgeHBjdHh0LT5ub2RlLCAoeG1sTnNQdHIpIGN1cikgPCAwKSBcCisJICAgICAgICBjdHh0LT5lcnJvciA9IFhQQVRIX01FTU9SWV9FUlJPUjsgXAorCWdvdG8gYXhpc19yYW5nZV9lbmQ7IH0gXAorICAgIH0gZWxzZSB7IFwKKwloYXNOc05vZGVzID0gMTsgXAorCWlmICh4bWxYUGF0aE5vZGVTZXRBZGROcyhzZXEsIHhwY3R4dC0+bm9kZSwgKHhtbE5zUHRyKSBjdXIpIDwgMCkgXAorCSAgICBjdHh0LT5lcnJvciA9IFhQQVRIX01FTU9SWV9FUlJPUjsgXAorCWlmIChicmVha09uRmlyc3RIaXQpIGdvdG8gZmlyc3RfaGl0OyB9CisKKyAgICB4bWxYUGF0aEF4aXNWYWwgYXhpcyA9ICh4bWxYUGF0aEF4aXNWYWwpIG9wLT52YWx1ZTsKKyAgICB4bWxYUGF0aFRlc3RWYWwgdGVzdCA9ICh4bWxYUGF0aFRlc3RWYWwpIG9wLT52YWx1ZTI7CisgICAgeG1sWFBhdGhUeXBlVmFsIHR5cGUgPSAoeG1sWFBhdGhUeXBlVmFsKSBvcC0+dmFsdWUzOworICAgIGNvbnN0IHhtbENoYXIgKnByZWZpeCA9IG9wLT52YWx1ZTQ7CisgICAgY29uc3QgeG1sQ2hhciAqbmFtZSA9IG9wLT52YWx1ZTU7CisgICAgY29uc3QgeG1sQ2hhciAqVVJJID0gTlVMTDsKKworI2lmZGVmIERFQlVHX1NURVAKKyAgICBpbnQgbmJNYXRjaGVzID0gMCwgcHJldk1hdGNoZXMgPSAwOworI2VuZGlmCisgICAgaW50IHRvdGFsID0gMCwgaGFzTnNOb2RlcyA9IDA7CisgICAgLyogVGhlIHBvcHBlZCBvYmplY3QgaG9sZGluZyB0aGUgY29udGV4dCBub2RlcyAqLworICAgIHhtbFhQYXRoT2JqZWN0UHRyIG9iajsKKyAgICAvKiBUaGUgc2V0IG9mIGNvbnRleHQgbm9kZXMgZm9yIHRoZSBub2RlIHRlc3RzICovCisgICAgeG1sTm9kZVNldFB0ciBjb250ZXh0U2VxOworICAgIGludCBjb250ZXh0SWR4OworICAgIHhtbE5vZGVQdHIgY29udGV4dE5vZGU7CisgICAgLyogVGhlIGZpbmFsIHJlc3VsdGluZyBub2RlIHNldCB3cnQgdG8gYWxsIGNvbnRleHQgbm9kZXMgKi8KKyAgICB4bWxOb2RlU2V0UHRyIG91dFNlcTsKKyAgICAvKgorICAgICogVGhlIHRlbXBvcmFyeSByZXN1bHRpbmcgbm9kZSBzZXQgd3J0IDEgY29udGV4dCBub2RlLgorICAgICogVXNlZCB0byBmZWVkIHByZWRpY2F0ZSBldmFsdWF0aW9uLgorICAgICovCisgICAgeG1sTm9kZVNldFB0ciBzZXE7CisgICAgeG1sTm9kZVB0ciBjdXI7CisgICAgLyogRmlyc3QgcHJlZGljYXRlIG9wZXJhdG9yICovCisgICAgeG1sWFBhdGhTdGVwT3BQdHIgcHJlZE9wOworICAgIGludCBtYXhQb3M7IC8qIFRoZSByZXF1ZXN0ZWQgcG9zaXRpb24oKSAod2hlbiBhICJbbl0iIHByZWRpY2F0ZSkgKi8KKyAgICBpbnQgaGFzUHJlZGljYXRlUmFuZ2UsIGhhc0F4aXNSYW5nZSwgcG9zLCBzaXplLCBuZXdTaXplOworICAgIGludCBicmVha09uRmlyc3RIaXQ7CisKKyAgICB4bWxYUGF0aFRyYXZlcnNhbEZ1bmN0aW9uIG5leHQgPSBOVUxMOworICAgIGludCAoKmFkZE5vZGUpICh4bWxOb2RlU2V0UHRyLCB4bWxOb2RlUHRyKTsKKyAgICB4bWxYUGF0aE5vZGVTZXRNZXJnZUZ1bmN0aW9uIG1lcmdlQW5kQ2xlYXI7CisgICAgeG1sTm9kZVB0ciBvbGRDb250ZXh0Tm9kZTsKKyAgICB4bWxYUGF0aENvbnRleHRQdHIgeHBjdHh0ID0gY3R4dC0+Y29udGV4dDsKKworCisgICAgQ0hFQ0tfVFlQRTAoWFBBVEhfTk9ERVNFVCk7CisgICAgb2JqID0gdmFsdWVQb3AoY3R4dCk7CisgICAgLyoKKyAgICAqIFNldHVwIG5hbWVzcGFjZXMuCisgICAgKi8KKyAgICBpZiAocHJlZml4ICE9IE5VTEwpIHsKKyAgICAgICAgVVJJID0geG1sWFBhdGhOc0xvb2t1cCh4cGN0eHQsIHByZWZpeCk7CisgICAgICAgIGlmIChVUkkgPT0gTlVMTCkgeworCSAgICB4bWxYUGF0aFJlbGVhc2VPYmplY3QoeHBjdHh0LCBvYmopOworICAgICAgICAgICAgWFBfRVJST1IwKFhQQVRIX1VOREVGX1BSRUZJWF9FUlJPUik7CisJfQorICAgIH0KKyAgICAvKgorICAgICogU2V0dXAgYXhpcy4KKyAgICAqCisgICAgKiBNQVlCRSBGVVRVUkUgVE9ETzogbWVyZ2luZyBvcHRpbWl6YXRpb25zOgorICAgICogLSBJZiB0aGUgbm9kZXMgdG8gYmUgdHJhdmVyc2VkIHdydCB0byB0aGUgaW5pdGlhbCBub2RlcyBhbmQKKyAgICAqICAgdGhlIGN1cnJlbnQgYXhpcyBjYW5ub3Qgb3ZlcmxhcCwgdGhlbiB3ZSBjb3VsZCBhdm9pZCBzZWFyY2hpbmcKKyAgICAqICAgZm9yIGR1cGxpY2F0ZXMgZHVyaW5nIHRoZSBtZXJnZS4KKyAgICAqICAgQnV0IHRoZSBxdWVzdGlvbiBpcyBob3cvd2hlbiB0byBldmFsdWF0ZSBpZiB0aGV5IGNhbm5vdCBvdmVybGFwLgorICAgICogICBFeGFtcGxlOiBpZiB3ZSBrbm93IHRoYXQgZm9yIHR3byBpbml0aWFsIG5vZGVzLCB0aGUgb25lIGlzCisgICAgKiAgIG5vdCBpbiB0aGUgYW5jZXN0b3Itb3Itc2VsZiBheGlzIG9mIHRoZSBvdGhlciwgdGhlbiB3ZSBjb3VsZCBzYWZlbHkKKyAgICAqICAgYXZvaWQgYSBkdXBsaWNhdGUtYXdhcmUgbWVyZ2UsIGlmIHRoZSBheGlzIHRvIGJlIHRyYXZlcnNlZCBpcyBlLmcuCisgICAgKiAgIHRoZSBkZXNjZW5kYW50LW9yLXNlbGYgYXhpcy4KKyAgICAqLworICAgIG1lcmdlQW5kQ2xlYXIgPSB4bWxYUGF0aE5vZGVTZXRNZXJnZUFuZENsZWFyOworICAgIHN3aXRjaCAoYXhpcykgeworICAgICAgICBjYXNlIEFYSVNfQU5DRVNUT1I6CisgICAgICAgICAgICBmaXJzdCA9IE5VTEw7CisgICAgICAgICAgICBuZXh0ID0geG1sWFBhdGhOZXh0QW5jZXN0b3I7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBBWElTX0FOQ0VTVE9SX09SX1NFTEY6CisgICAgICAgICAgICBmaXJzdCA9IE5VTEw7CisgICAgICAgICAgICBuZXh0ID0geG1sWFBhdGhOZXh0QW5jZXN0b3JPclNlbGY7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBBWElTX0FUVFJJQlVURToKKyAgICAgICAgICAgIGZpcnN0ID0gTlVMTDsKKwkgICAgbGFzdCA9IE5VTEw7CisgICAgICAgICAgICBuZXh0ID0geG1sWFBhdGhOZXh0QXR0cmlidXRlOworCSAgICBtZXJnZUFuZENsZWFyID0geG1sWFBhdGhOb2RlU2V0TWVyZ2VBbmRDbGVhck5vRHVwbHM7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBBWElTX0NISUxEOgorCSAgICBsYXN0ID0gTlVMTDsKKwkgICAgaWYgKCgodGVzdCA9PSBOT0RFX1RFU1RfTkFNRSkgfHwgKHRlc3QgPT0gTk9ERV9URVNUX0FMTCkpICYmCisJCSh0eXBlID09IE5PREVfVFlQRV9OT0RFKSkKKwkgICAgeworCQkvKgorCQkqIE9wdGltaXphdGlvbiBpZiBhbiBlbGVtZW50IG5vZGUgdHlwZSBpcyAnZWxlbWVudCcuCisJCSovCisJCW5leHQgPSB4bWxYUGF0aE5leHRDaGlsZEVsZW1lbnQ7CisJICAgIH0gZWxzZQorCQluZXh0ID0geG1sWFBhdGhOZXh0Q2hpbGQ7CisJICAgIG1lcmdlQW5kQ2xlYXIgPSB4bWxYUGF0aE5vZGVTZXRNZXJnZUFuZENsZWFyTm9EdXBsczsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIEFYSVNfREVTQ0VOREFOVDoKKwkgICAgbGFzdCA9IE5VTEw7CisgICAgICAgICAgICBuZXh0ID0geG1sWFBhdGhOZXh0RGVzY2VuZGFudDsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIEFYSVNfREVTQ0VOREFOVF9PUl9TRUxGOgorCSAgICBsYXN0ID0gTlVMTDsKKyAgICAgICAgICAgIG5leHQgPSB4bWxYUGF0aE5leHREZXNjZW5kYW50T3JTZWxmOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgQVhJU19GT0xMT1dJTkc6CisJICAgIGxhc3QgPSBOVUxMOworICAgICAgICAgICAgbmV4dCA9IHhtbFhQYXRoTmV4dEZvbGxvd2luZzsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIEFYSVNfRk9MTE9XSU5HX1NJQkxJTkc6CisJICAgIGxhc3QgPSBOVUxMOworICAgICAgICAgICAgbmV4dCA9IHhtbFhQYXRoTmV4dEZvbGxvd2luZ1NpYmxpbmc7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBBWElTX05BTUVTUEFDRToKKyAgICAgICAgICAgIGZpcnN0ID0gTlVMTDsKKwkgICAgbGFzdCA9IE5VTEw7CisgICAgICAgICAgICBuZXh0ID0gKHhtbFhQYXRoVHJhdmVyc2FsRnVuY3Rpb24pIHhtbFhQYXRoTmV4dE5hbWVzcGFjZTsKKwkgICAgbWVyZ2VBbmRDbGVhciA9IHhtbFhQYXRoTm9kZVNldE1lcmdlQW5kQ2xlYXJOb0R1cGxzOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgQVhJU19QQVJFTlQ6CisgICAgICAgICAgICBmaXJzdCA9IE5VTEw7CisgICAgICAgICAgICBuZXh0ID0geG1sWFBhdGhOZXh0UGFyZW50OworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgQVhJU19QUkVDRURJTkc6CisgICAgICAgICAgICBmaXJzdCA9IE5VTEw7CisgICAgICAgICAgICBuZXh0ID0geG1sWFBhdGhOZXh0UHJlY2VkaW5nSW50ZXJuYWw7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBBWElTX1BSRUNFRElOR19TSUJMSU5HOgorICAgICAgICAgICAgZmlyc3QgPSBOVUxMOworICAgICAgICAgICAgbmV4dCA9IHhtbFhQYXRoTmV4dFByZWNlZGluZ1NpYmxpbmc7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBBWElTX1NFTEY6CisgICAgICAgICAgICBmaXJzdCA9IE5VTEw7CisJICAgIGxhc3QgPSBOVUxMOworICAgICAgICAgICAgbmV4dCA9IHhtbFhQYXRoTmV4dFNlbGY7CisJICAgIG1lcmdlQW5kQ2xlYXIgPSB4bWxYUGF0aE5vZGVTZXRNZXJnZUFuZENsZWFyTm9EdXBsczsKKyAgICAgICAgICAgIGJyZWFrOworICAgIH0KKworI2lmZGVmIERFQlVHX1NURVAKKyAgICB4bWxYUGF0aERlYnVnRHVtcFN0ZXBBeGlzKG9wLAorCShvYmotPm5vZGVzZXR2YWwgIT0gTlVMTCkgPyBvYmotPm5vZGVzZXR2YWwtPm5vZGVOciA6IDApOworI2VuZGlmCisKKyAgICBpZiAobmV4dCA9PSBOVUxMKSB7CisJeG1sWFBhdGhSZWxlYXNlT2JqZWN0KHhwY3R4dCwgb2JqKTsKKyAgICAgICAgcmV0dXJuKDApOworICAgIH0KKyAgICBjb250ZXh0U2VxID0gb2JqLT5ub2Rlc2V0dmFsOworICAgIGlmICgoY29udGV4dFNlcSA9PSBOVUxMKSB8fCAoY29udGV4dFNlcS0+bm9kZU5yIDw9IDApKSB7CisJeG1sWFBhdGhSZWxlYXNlT2JqZWN0KHhwY3R4dCwgb2JqKTsKKyAgICAgICAgdmFsdWVQdXNoKGN0eHQsIHhtbFhQYXRoQ2FjaGVXcmFwTm9kZVNldCh4cGN0eHQsIE5VTEwpKTsKKyAgICAgICAgcmV0dXJuKDApOworICAgIH0KKyAgICAvKgorICAgICogUHJlZGljYXRlIG9wdGltaXphdGlvbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICAqIElmIHRoaXMgc3RlcCBoYXMgYSBsYXN0IHByZWRpY2F0ZSwgd2hpY2ggY29udGFpbnMgYSBwb3NpdGlvbigpLAorICAgICogdGhlbiB3ZSdsbCBvcHRpbWl6ZSAoYWx0aG91Z2ggbm90IGV4YWN0bHkgInBvc2l0aW9uKCkiLCBidXQgb25seQorICAgICogdGhlICBzaG9ydC1oYW5kIGZvcm0sIGkuZS4sICJbbl0iLgorICAgICoKKyAgICAqIEV4YW1wbGUgLSBleHByZXNzaW9uICIvZm9vW3BhcmVudDo6YmFyXVsxXSI6CisgICAgKgorICAgICogQ09MTEVDVCAnY2hpbGQnICduYW1lJyAnbm9kZScgZm9vICAgIC0tIG9wICh3ZSBhcmUgaGVyZSkKKyAgICAqICAgUk9PVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLSBvcC0+Y2gxCisgICAgKiAgIFBSRURJQ0FURSAgICAgICAgICAgICAgICAgICAgICAgICAgLS0gb3AtPmNoMiAocHJlZE9wKQorICAgICogICAgIFBSRURJQ0FURSAgICAgICAgICAgICAgICAgICAgICAgICAgLS0gcHJlZE9wLT5jaDEgPSBbcGFyZW50OjpiYXJdCisgICAgKiAgICAgICBTT1JUCisgICAgKiAgICAgICAgIENPTExFQ1QgICdwYXJlbnQnICduYW1lJyAnbm9kZScgYmFyCisgICAgKiAgICAgICAgICAgTk9ERQorICAgICogICAgIEVMRU0gT2JqZWN0IGlzIGEgbnVtYmVyIDogMSAgICAgICAgLS0gcHJlZE9wLT5jaDIgPSBbMV0KKyAgICAqCisgICAgKi8KKyAgICBtYXhQb3MgPSAwOworICAgIHByZWRPcCA9IE5VTEw7CisgICAgaGFzUHJlZGljYXRlUmFuZ2UgPSAwOworICAgIGhhc0F4aXNSYW5nZSA9IDA7CisgICAgaWYgKG9wLT5jaDIgIT0gLTEpIHsKKwkvKgorCSogVGhlcmUncyBhdCBsZWFzdCBvbmUgcHJlZGljYXRlLiAxNiA9PSBYUEFUSF9PUF9QUkVESUNBVEUKKwkqLworCXByZWRPcCA9ICZjdHh0LT5jb21wLT5zdGVwc1tvcC0+Y2gyXTsKKwlpZiAoeG1sWFBhdGhJc1Bvc2l0aW9uYWxQcmVkaWNhdGUoY3R4dCwgcHJlZE9wLCAmbWF4UG9zKSkgeworCSAgICBpZiAocHJlZE9wLT5jaDEgIT0gLTEpIHsKKwkJLyoKKwkJKiBVc2UgdGhlIG5leHQgaW5uZXIgcHJlZGljYXRlIG9wZXJhdG9yLgorCQkqLworCQlwcmVkT3AgPSAmY3R4dC0+Y29tcC0+c3RlcHNbcHJlZE9wLT5jaDFdOworCQloYXNQcmVkaWNhdGVSYW5nZSA9IDE7CisJICAgIH0gZWxzZSB7CisJCS8qCisJCSogVGhlcmUncyBubyBvdGhlciBwcmVkaWNhdGUgdGhhbiB0aGUgW25dIHByZWRpY2F0ZS4KKwkJKi8KKwkJcHJlZE9wID0gTlVMTDsKKwkJaGFzQXhpc1JhbmdlID0gMTsKKwkgICAgfQorCX0KKyAgICB9CisgICAgYnJlYWtPbkZpcnN0SGl0ID0gKCh0b0Jvb2wpICYmIChwcmVkT3AgPT0gTlVMTCkpID8gMSA6IDA7CisgICAgLyoKKyAgICAqIEF4aXMgdHJhdmVyc2FsIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAgKi8KKyAgICAvKgorICAgICAqIDIuMyBOb2RlIFRlc3RzCisgICAgICogIC0gRm9yIHRoZSBhdHRyaWJ1dGUgYXhpcywgdGhlIHByaW5jaXBhbCBub2RlIHR5cGUgaXMgYXR0cmlidXRlLgorICAgICAqICAtIEZvciB0aGUgbmFtZXNwYWNlIGF4aXMsIHRoZSBwcmluY2lwYWwgbm9kZSB0eXBlIGlzIG5hbWVzcGFjZS4KKyAgICAgKiAgLSBGb3Igb3RoZXIgYXhlcywgdGhlIHByaW5jaXBhbCBub2RlIHR5cGUgaXMgZWxlbWVudC4KKyAgICAgKgorICAgICAqIEEgbm9kZSB0ZXN0ICogaXMgdHJ1ZSBmb3IgYW55IG5vZGUgb2YgdGhlCisgICAgICogcHJpbmNpcGFsIG5vZGUgdHlwZS4gRm9yIGV4YW1wbGUsIGNoaWxkOjoqIHdpbGwKKyAgICAgKiBzZWxlY3QgYWxsIGVsZW1lbnQgY2hpbGRyZW4gb2YgdGhlIGNvbnRleHQgbm9kZQorICAgICAqLworICAgIG9sZENvbnRleHROb2RlID0geHBjdHh0LT5ub2RlOworICAgIGFkZE5vZGUgPSB4bWxYUGF0aE5vZGVTZXRBZGRVbmlxdWU7CisgICAgb3V0U2VxID0gTlVMTDsKKyAgICBzZXEgPSBOVUxMOworICAgIGNvbnRleHROb2RlID0gTlVMTDsKKyAgICBjb250ZXh0SWR4ID0gMDsKKworCisgICAgd2hpbGUgKCgoY29udGV4dElkeCA8IGNvbnRleHRTZXEtPm5vZGVOcikgfHwgKGNvbnRleHROb2RlICE9IE5VTEwpKSAmJgorICAgICAgICAgICAoY3R4dC0+ZXJyb3IgPT0gWFBBVEhfRVhQUkVTU0lPTl9PSykpIHsKKwl4cGN0eHQtPm5vZGUgPSBjb250ZXh0U2VxLT5ub2RlVGFiW2NvbnRleHRJZHgrK107CisKKwlpZiAoc2VxID09IE5VTEwpIHsKKwkgICAgc2VxID0geG1sWFBhdGhOb2RlU2V0Q3JlYXRlKE5VTEwpOworCSAgICBpZiAoc2VxID09IE5VTEwpIHsKKwkJdG90YWwgPSAwOworCQlnb3RvIGVycm9yOworCSAgICB9CisJfQorCS8qCisJKiBUcmF2ZXJzZSB0aGUgYXhpcyBhbmQgdGVzdCB0aGUgbm9kZXMuCisJKi8KKwlwb3MgPSAwOworCWN1ciA9IE5VTEw7CisJaGFzTnNOb2RlcyA9IDA7CisgICAgICAgIGRvIHsKKyAgICAgICAgICAgIGN1ciA9IG5leHQoY3R4dCwgY3VyKTsKKyAgICAgICAgICAgIGlmIChjdXIgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICBicmVhazsKKworCSAgICAvKgorCSAgICAqIFFVRVNUSU9OIFRPRE86IFdoYXQgZG9lcyB0aGUgImZpcnN0IiBhbmQgImxhc3QiIHN0dWZmIGRvPworCSAgICAqLworICAgICAgICAgICAgaWYgKChmaXJzdCAhPSBOVUxMKSAmJiAoKmZpcnN0ICE9IE5VTEwpKSB7CisJCWlmICgqZmlyc3QgPT0gY3VyKQorCQkgICAgYnJlYWs7CisJCWlmICgoKHRvdGFsICUgMjU2KSA9PSAwKSAmJgorI2lmZGVmIFhQX09QVElNSVpFRF9OT05fRUxFTV9DT01QQVJJU09OCisJCSAgICAoeG1sWFBhdGhDbXBOb2Rlc0V4dCgqZmlyc3QsIGN1cikgPj0gMCkpCisjZWxzZQorCQkgICAgKHhtbFhQYXRoQ21wTm9kZXMoKmZpcnN0LCBjdXIpID49IDApKQorI2VuZGlmCisJCXsKKwkJICAgIGJyZWFrOworCQl9CisJICAgIH0KKwkgICAgaWYgKChsYXN0ICE9IE5VTEwpICYmICgqbGFzdCAhPSBOVUxMKSkgeworCQlpZiAoKmxhc3QgPT0gY3VyKQorCQkgICAgYnJlYWs7CisJCWlmICgoKHRvdGFsICUgMjU2KSA9PSAwKSAmJgorI2lmZGVmIFhQX09QVElNSVpFRF9OT05fRUxFTV9DT01QQVJJU09OCisJCSAgICAoeG1sWFBhdGhDbXBOb2Rlc0V4dChjdXIsICpsYXN0KSA+PSAwKSkKKyNlbHNlCisJCSAgICAoeG1sWFBhdGhDbXBOb2RlcyhjdXIsICpsYXN0KSA+PSAwKSkKKyNlbmRpZgorCQl7CisJCSAgICBicmVhazsKKwkJfQorCSAgICB9CisKKyAgICAgICAgICAgIHRvdGFsKys7CisKKyNpZmRlZiBERUJVR19TVEVQCisgICAgICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgIiAlcyIsIGN1ci0+bmFtZSk7CisjZW5kaWYKKworCSAgICBzd2l0Y2ggKHRlc3QpIHsKKyAgICAgICAgICAgICAgICBjYXNlIE5PREVfVEVTVF9OT05FOgorCQkgICAgdG90YWwgPSAwOworICAgICAgICAgICAgICAgICAgICBTVFJBTkdFCisJCSAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgICAgIGNhc2UgTk9ERV9URVNUX1RZUEU6CisJCSAgICAvKgorCQkgICAgKiBUT0RPOiBEb24ndCB3ZSBuZWVkIHRvIHVzZQorCQkgICAgKiAgeG1sWFBhdGhOb2RlU2V0QWRkTnMoKSBmb3IgbmFtZXNwYWNlIG5vZGVzIGhlcmU/CisJCSAgICAqICBTdXJwcmlzaW5nbHksIHNvbWUgYzE0biB0ZXN0cyBmYWlsLCBpZiB3ZSBkbyB0aGlzLgorCQkgICAgKi8KKwkJICAgIGlmICh0eXBlID09IE5PREVfVFlQRV9OT0RFKSB7CisJCQlzd2l0Y2ggKGN1ci0+dHlwZSkgeworCQkJICAgIGNhc2UgWE1MX0RPQ1VNRU5UX05PREU6CisJCQkgICAgY2FzZSBYTUxfSFRNTF9ET0NVTUVOVF9OT0RFOgorI2lmZGVmIExJQlhNTF9ET0NCX0VOQUJMRUQKKwkJCSAgICBjYXNlIFhNTF9ET0NCX0RPQ1VNRU5UX05PREU6CisjZW5kaWYKKwkJCSAgICBjYXNlIFhNTF9FTEVNRU5UX05PREU6CisJCQkgICAgY2FzZSBYTUxfQVRUUklCVVRFX05PREU6CisJCQkgICAgY2FzZSBYTUxfUElfTk9ERToKKwkJCSAgICBjYXNlIFhNTF9DT01NRU5UX05PREU6CisJCQkgICAgY2FzZSBYTUxfQ0RBVEFfU0VDVElPTl9OT0RFOgorCQkJICAgIGNhc2UgWE1MX1RFWFRfTk9ERToKKwkJCSAgICBjYXNlIFhNTF9OQU1FU1BBQ0VfREVDTDoKKwkJCQlYUF9URVNUX0hJVAorCQkJCWJyZWFrOworCQkJICAgIGRlZmF1bHQ6CisJCQkJYnJlYWs7CisJCQl9CisJCSAgICB9IGVsc2UgaWYgKGN1ci0+dHlwZSA9PSB0eXBlKSB7CisJCQlpZiAoY3VyLT50eXBlID09IFhNTF9OQU1FU1BBQ0VfREVDTCkKKwkJCSAgICBYUF9URVNUX0hJVF9OUworCQkJZWxzZQorCQkJICAgIFhQX1RFU1RfSElUCisJCSAgICB9IGVsc2UgaWYgKCh0eXBlID09IE5PREVfVFlQRV9URVhUKSAmJgorCQkJIChjdXItPnR5cGUgPT0gWE1MX0NEQVRBX1NFQ1RJT05fTk9ERSkpCisJCSAgICB7CisJCQlYUF9URVNUX0hJVAorCQkgICAgfQorCQkgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgY2FzZSBOT0RFX1RFU1RfUEk6CisgICAgICAgICAgICAgICAgICAgIGlmICgoY3VyLT50eXBlID09IFhNTF9QSV9OT0RFKSAmJgorICAgICAgICAgICAgICAgICAgICAgICAgKChuYW1lID09IE5VTEwpIHx8IHhtbFN0ckVxdWFsKG5hbWUsIGN1ci0+bmFtZSkpKQorCQkgICAgeworCQkJWFBfVEVTVF9ISVQKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICBjYXNlIE5PREVfVEVTVF9BTEw6CisgICAgICAgICAgICAgICAgICAgIGlmIChheGlzID09IEFYSVNfQVRUUklCVVRFKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY3VyLT50eXBlID09IFhNTF9BVFRSSUJVVEVfTk9ERSkKKwkJCXsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocHJlZml4ID09IE5VTEwpCisJCQkgICAgeworCQkJCVhQX1RFU1RfSElUCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgoY3VyLT5ucyAhPSBOVUxMKSAmJgorCQkJCSh4bWxTdHJFcXVhbChVUkksIGN1ci0+bnMtPmhyZWYpKSkKKwkJCSAgICB7CisJCQkJWFBfVEVTVF9ISVQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoYXhpcyA9PSBBWElTX05BTUVTUEFDRSkgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGN1ci0+dHlwZSA9PSBYTUxfTkFNRVNQQUNFX0RFQ0wpCisJCQl7CisJCQkgICAgWFBfVEVTVF9ISVRfTlMKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjdXItPnR5cGUgPT0gWE1MX0VMRU1FTlRfTk9ERSkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwcmVmaXggPT0gTlVMTCkKKwkJCSAgICB7CisJCQkJWFBfVEVTVF9ISVQKKworICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoKGN1ci0+bnMgIT0gTlVMTCkgJiYKKwkJCQkoeG1sU3RyRXF1YWwoVVJJLCBjdXItPm5zLT5ocmVmKSkpCisJCQkgICAgeworCQkJCVhQX1RFU1RfSElUCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIGNhc2UgTk9ERV9URVNUX05TOnsKKyAgICAgICAgICAgICAgICAgICAgICAgIFRPRE87CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGNhc2UgTk9ERV9URVNUX05BTUU6CisgICAgICAgICAgICAgICAgICAgIGlmIChheGlzID09IEFYSVNfQVRUUklCVVRFKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY3VyLT50eXBlICE9IFhNTF9BVFRSSUJVVEVfTk9ERSkKKwkJCSAgICBicmVhazsKKwkJICAgIH0gZWxzZSBpZiAoYXhpcyA9PSBBWElTX05BTUVTUEFDRSkgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGN1ci0+dHlwZSAhPSBYTUxfTkFNRVNQQUNFX0RFQ0wpCisJCQkgICAgYnJlYWs7CisJCSAgICB9IGVsc2UgeworCQkgICAgICAgIGlmIChjdXItPnR5cGUgIT0gWE1MX0VMRU1FTlRfTk9ERSkKKwkJCSAgICBicmVhazsKKwkJICAgIH0KKyAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChjdXItPnR5cGUpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgWE1MX0VMRU1FTlRfTk9ERToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeG1sU3RyRXF1YWwobmFtZSwgY3VyLT5uYW1lKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocHJlZml4ID09IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjdXItPm5zID09IE5VTEwpCisJCQkJICAgIHsKKwkJCQkJWFBfVEVTVF9ISVQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgoY3VyLT5ucyAhPSBOVUxMKSAmJgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh4bWxTdHJFcXVhbChVUkksIGN1ci0+bnMtPmhyZWYpKSkKKwkJCQkgICAgeworCQkJCQlYUF9URVNUX0hJVAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBYTUxfQVRUUklCVVRFX05PREU6eworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxBdHRyUHRyIGF0dHIgPSAoeG1sQXR0clB0cikgY3VyOworCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh4bWxTdHJFcXVhbChuYW1lLCBhdHRyLT5uYW1lKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHByZWZpeCA9PSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKChhdHRyLT5ucyA9PSBOVUxMKSB8fAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYXR0ci0+bnMtPnByZWZpeCA9PSBOVUxMKSkKKwkJCQkJeworCQkJCQkgICAgWFBfVEVTVF9ISVQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgoYXR0ci0+bnMgIT0gTlVMTCkgJiYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHhtbFN0ckVxdWFsKFVSSSwKKwkJCQkJICAgICAgYXR0ci0+bnMtPmhyZWYpKSkKKwkJCQkJeworCQkJCQkgICAgWFBfVEVTVF9ISVQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBYTUxfTkFNRVNQQUNFX0RFQ0w6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGN1ci0+dHlwZSA9PSBYTUxfTkFNRVNQQUNFX0RFQ0wpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sTnNQdHIgbnMgPSAoeG1sTnNQdHIpIGN1cjsKKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKG5zLT5wcmVmaXggIT0gTlVMTCkgJiYgKG5hbWUgIT0gTlVMTCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmICh4bWxTdHJFcXVhbChucy0+cHJlZml4LCBuYW1lKSkpCisJCQkJeworCQkJCSAgICBYUF9URVNUX0hJVF9OUworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBicmVhazsKKwkgICAgfSAvKiBzd2l0Y2godGVzdCkgKi8KKyAgICAgICAgfSB3aGlsZSAoKGN1ciAhPSBOVUxMKSAmJiAoY3R4dC0+ZXJyb3IgPT0gWFBBVEhfRVhQUkVTU0lPTl9PSykpOworCisJZ290byBhcHBseV9wcmVkaWNhdGVzOworCitheGlzX3JhbmdlX2VuZDogLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKwkvKgorCSogV2UgaGF2ZSBhICIvZm9vW25dIiwgYW5kIHBvc2l0aW9uKCkgPSBuIHdhcyByZWFjaGVkLgorCSogTm90ZSB0aGF0IHdlIGNhbiBoYXZlIGFzIHdlbGwgIi9mb28vOjpwYXJlbnQ6OmZvb1sxXSIsIHNvCisJKiBhIGR1cGxpY2F0ZS1hd2FyZSBtZXJnZSBpcyBzdGlsbCBuZWVkZWQuCisJKiBNZXJnZSB3aXRoIHRoZSByZXN1bHQuCisJKi8KKwlpZiAob3V0U2VxID09IE5VTEwpIHsKKwkgICAgb3V0U2VxID0gc2VxOworCSAgICBzZXEgPSBOVUxMOworCX0gZWxzZQorCSAgICBvdXRTZXEgPSBtZXJnZUFuZENsZWFyKG91dFNlcSwgc2VxLCAwKTsKKwkvKgorCSogQnJlYWsgaWYgb25seSBhIHRydWUvZmFsc2UgcmVzdWx0IHdhcyByZXF1ZXN0ZWQuCisJKi8KKwlpZiAodG9Cb29sKQorCSAgICBicmVhazsKKwljb250aW51ZTsKKworZmlyc3RfaGl0OiAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCisJLyoKKwkqIEJyZWFrIGlmIG9ubHkgYSB0cnVlL2ZhbHNlIHJlc3VsdCB3YXMgcmVxdWVzdGVkIGFuZAorCSogbm8gcHJlZGljYXRlcyBleGlzdGVkIGFuZCBhIG5vZGUgdGVzdCBzdWNjZWVkZWQuCisJKi8KKwlpZiAob3V0U2VxID09IE5VTEwpIHsKKwkgICAgb3V0U2VxID0gc2VxOworCSAgICBzZXEgPSBOVUxMOworCX0gZWxzZQorCSAgICBvdXRTZXEgPSBtZXJnZUFuZENsZWFyKG91dFNlcSwgc2VxLCAwKTsKKwlicmVhazsKKworI2lmZGVmIERFQlVHX1NURVAKKwlpZiAoc2VxICE9IE5VTEwpCisJICAgIG5iTWF0Y2hlcyArPSBzZXEtPm5vZGVOcjsKKyNlbmRpZgorCithcHBseV9wcmVkaWNhdGVzOiAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKyAgICAgICAgaWYgKGN0eHQtPmVycm9yICE9IFhQQVRIX0VYUFJFU1NJT05fT0spCisJICAgIGdvdG8gZXJyb3I7CisKKyAgICAgICAgLyoKKwkqIEFwcGx5IHByZWRpY2F0ZXMuCisJKi8KKyAgICAgICAgaWYgKChwcmVkT3AgIT0gTlVMTCkgJiYgKHNlcS0+bm9kZU5yID4gMCkpIHsKKwkgICAgLyoKKwkgICAgKiBFLmcuIHdoZW4gd2UgaGF2ZSBhICIvZm9vW3NvbWUgZXhwcmVzc2lvbl1bbl0iLgorCSAgICAqLworCSAgICAvKgorCSAgICAqIFFVRVNUSU9OIFRPRE86IFRoZSBvbGQgcHJlZGljYXRlIGV2YWx1YXRpb24gdG9vayBpbnRvCisJICAgICogIGFjY291bnQgbG9jYXRpb24tc2V0cy4KKwkgICAgKiAgKEUuZy4gY3R4dC0+dmFsdWUtPnR5cGUgPT0gWFBBVEhfTE9DQVRJT05TRVQpCisJICAgICogIERvIHdlIGV4cGVjdCBzdWNoIGEgc2V0IGhlcmU/CisJICAgICogIEFsbCB3aGF0IEkgbGVhcm5lZCBub3cgZnJvbSB0aGUgZXZhbHVhdGlvbiBzZW1hbnRpY3MKKwkgICAgKiAgZG9lcyBub3QgaW5kaWNhdGUgdGhhdCBhIGxvY2F0aW9uLXNldCB3aWxsIGJlIHByb2Nlc3NlZAorCSAgICAqICBoZXJlLCBzbyB0aGlzIGxvb2tzIE9LLgorCSAgICAqLworCSAgICAvKgorCSAgICAqIEl0ZXJhdGUgb3ZlciBhbGwgcHJlZGljYXRlcywgc3RhcnRpbmcgd2l0aCB0aGUgb3V0ZXJtb3N0CisJICAgICogcHJlZGljYXRlLgorCSAgICAqIFRPRE86IFByb2JsZW06IHdlIGNhbm5vdCBleGVjdXRlIHRoZSBpbm5lciBwcmVkaWNhdGVzIGZpcnN0CisJICAgICogIHNpbmNlIHdlIGNhbm5vdCBnbyBiYWNrICp1cCogdGhlIG9wZXJhdG9yIHRyZWUhCisJICAgICogIE9wdGlvbnMgd2UgaGF2ZToKKwkgICAgKiAgMSkgVXNlIG9mIHJlY3Vyc2l2ZSBmdW5jdGlvbnMgKGxpa2UgaXMgaXQgY3VycmVudGx5IGRvbmUKKwkgICAgKiAgICAgdmlhIHhtbFhQYXRoQ29tcE9wRXZhbCgpKQorCSAgICAqICAyKSBBZGQgYSBwcmVkaWNhdGUgZXZhbHVhdGlvbiBpbmZvcm1hdGlvbiBzdGFjayB0byB0aGUKKwkgICAgKiAgICAgY29udGV4dCBzdHJ1Y3QKKwkgICAgKiAgMykgQ2hhbmdlIHRoZSB3YXkgdGhlIG9wZXJhdG9ycyBhcmUgbGlua2VkOyB3ZSBuZWVkIGEKKwkgICAgKiAgICAgInBhcmVudCIgZmllbGQgb24geG1sWFBhdGhTdGVwT3AKKwkgICAgKgorCSAgICAqIEZvciB0aGUgbW9tZW50LCBJJ2xsIHRyeSB0byBzb2x2ZSB0aGlzIHdpdGggYSByZWN1cnNpdmUKKwkgICAgKiBmdW5jdGlvbjogeG1sWFBhdGhDb21wT3BFdmFsUHJlZGljYXRlKCkuCisJICAgICovCisJICAgIHNpemUgPSBzZXEtPm5vZGVOcjsKKwkgICAgaWYgKGhhc1ByZWRpY2F0ZVJhbmdlICE9IDApCisJCW5ld1NpemUgPSB4bWxYUGF0aENvbXBPcEV2YWxQb3NpdGlvbmFsUHJlZGljYXRlKGN0eHQsCisJCSAgICBwcmVkT3AsIHNlcSwgc2l6ZSwgbWF4UG9zLCBtYXhQb3MsIGhhc05zTm9kZXMpOworCSAgICBlbHNlCisJCW5ld1NpemUgPSB4bWxYUGF0aENvbXBPcEV2YWxQcmVkaWNhdGUoY3R4dCwKKwkJICAgIHByZWRPcCwgc2VxLCBzaXplLCBoYXNOc05vZGVzKTsKKworCSAgICBpZiAoY3R4dC0+ZXJyb3IgIT0gWFBBVEhfRVhQUkVTU0lPTl9PSykgeworCQl0b3RhbCA9IDA7CisJCWdvdG8gZXJyb3I7CisJICAgIH0KKwkgICAgLyoKKwkgICAgKiBBZGQgdGhlIGZpbHRlcmVkIHNldCBvZiBub2RlcyB0byB0aGUgcmVzdWx0IG5vZGUgc2V0LgorCSAgICAqLworCSAgICBpZiAobmV3U2l6ZSA9PSAwKSB7CisJCS8qCisJCSogVGhlIHByZWRpY2F0ZXMgZmlsdGVyZWQgYWxsIG5vZGVzIG91dC4KKwkJKi8KKwkJeG1sWFBhdGhOb2RlU2V0Q2xlYXIoc2VxLCBoYXNOc05vZGVzKTsKKwkgICAgfSBlbHNlIGlmIChzZXEtPm5vZGVOciA+IDApIHsKKwkJLyoKKwkJKiBBZGQgdG8gcmVzdWx0IHNldC4KKwkJKi8KKwkJaWYgKG91dFNlcSA9PSBOVUxMKSB7CisJCSAgICBpZiAoc2l6ZSAhPSBuZXdTaXplKSB7CisJCQkvKgorCQkJKiBXZSBuZWVkIHRvIG1lcmdlIGFuZCBjbGVhciBoZXJlLCBzaW5jZQorCQkJKiB0aGUgc2VxdWVuY2Ugd2lsbCBjb250YWluZWQgTlVMTGVkIGVudHJpZXMuCisJCQkqLworCQkJb3V0U2VxID0gbWVyZ2VBbmRDbGVhcihOVUxMLCBzZXEsIDEpOworCQkgICAgfSBlbHNlIHsKKwkJCW91dFNlcSA9IHNlcTsKKwkJCXNlcSA9IE5VTEw7CisJCSAgICB9CisJCX0gZWxzZQorCQkgICAgb3V0U2VxID0gbWVyZ2VBbmRDbGVhcihvdXRTZXEsIHNlcSwKKwkJCShzaXplICE9IG5ld1NpemUpID8gMTogMCk7CisJCS8qCisJCSogQnJlYWsgaWYgb25seSBhIHRydWUvZmFsc2UgcmVzdWx0IHdhcyByZXF1ZXN0ZWQuCisJCSovCisJCWlmICh0b0Jvb2wpCisJCSAgICBicmVhazsKKwkgICAgfQorICAgICAgICB9IGVsc2UgaWYgKHNlcS0+bm9kZU5yID4gMCkgeworCSAgICAvKgorCSAgICAqIEFkZCB0byByZXN1bHQgc2V0LgorCSAgICAqLworCSAgICBpZiAob3V0U2VxID09IE5VTEwpIHsKKwkJb3V0U2VxID0gc2VxOworCQlzZXEgPSBOVUxMOworCSAgICB9IGVsc2UgeworCQlvdXRTZXEgPSBtZXJnZUFuZENsZWFyKG91dFNlcSwgc2VxLCAwKTsKKwkgICAgfQorCX0KKyAgICB9CisKK2Vycm9yOgorICAgIGlmICgob2JqLT5ib29sdmFsKSAmJiAob2JqLT51c2VyICE9IE5VTEwpKSB7CisJLyoKKwkqIFFVRVNUSU9OIFRPRE86IFdoYXQgZG9lcyB0aGlzIGRvIGFuZCB3aHk/CisJKiBUT0RPOiBEbyB3ZSBoYXZlIHRvIGRvIHRoaXMgYWxzbyBmb3IgdGhlICJlcnJvciIKKwkqIGNsZWFudXAgZnVydGhlciBkb3duPworCSovCisJY3R4dC0+dmFsdWUtPmJvb2x2YWwgPSAxOworCWN0eHQtPnZhbHVlLT51c2VyID0gb2JqLT51c2VyOworCW9iai0+dXNlciA9IE5VTEw7CisJb2JqLT5ib29sdmFsID0gMDsKKyAgICB9CisgICAgeG1sWFBhdGhSZWxlYXNlT2JqZWN0KHhwY3R4dCwgb2JqKTsKKworICAgIC8qCisgICAgKiBFbnN1cmUgd2UgcmV0dXJuIGF0IGxlYXN0IGFuIGVtdHB5IHNldC4KKyAgICAqLworICAgIGlmIChvdXRTZXEgPT0gTlVMTCkgeworCWlmICgoc2VxICE9IE5VTEwpICYmIChzZXEtPm5vZGVOciA9PSAwKSkKKwkgICAgb3V0U2VxID0gc2VxOworCWVsc2UKKwkgICAgb3V0U2VxID0geG1sWFBhdGhOb2RlU2V0Q3JlYXRlKE5VTEwpOworICAgICAgICAvKiBYWFggd2hhdCBpZiB4bWxYUGF0aE5vZGVTZXRDcmVhdGUgcmV0dXJuZWQgTlVMTCBoZXJlPyAqLworICAgIH0KKyAgICBpZiAoKHNlcSAhPSBOVUxMKSAmJiAoc2VxICE9IG91dFNlcSkpIHsKKwkgeG1sWFBhdGhGcmVlTm9kZVNldChzZXEpOworICAgIH0KKyAgICAvKgorICAgICogSGFuZCBvdmVyIHRoZSByZXN1bHQuIEJldHRlciB0byBwdXNoIHRoZSBzZXQgYWxzbyBpbgorICAgICogY2FzZSBvZiBlcnJvcnMuCisgICAgKi8KKyAgICB2YWx1ZVB1c2goY3R4dCwgeG1sWFBhdGhDYWNoZVdyYXBOb2RlU2V0KHhwY3R4dCwgb3V0U2VxKSk7CisgICAgLyoKKyAgICAqIFJlc2V0IHRoZSBjb250ZXh0IG5vZGUuCisgICAgKi8KKyAgICB4cGN0eHQtPm5vZGUgPSBvbGRDb250ZXh0Tm9kZTsKKworI2lmZGVmIERFQlVHX1NURVAKKyAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkiXG5FeGFtaW5lZCAlZCBub2RlcywgZm91bmQgJWQgbm9kZXMgYXQgdGhhdCBzdGVwXG4iLAorCXRvdGFsLCBuYk1hdGNoZXMpOworI2VuZGlmCisKKyAgICByZXR1cm4odG90YWwpOworfQorCitzdGF0aWMgaW50Cit4bWxYUGF0aENvbXBPcEV2YWxGaWx0ZXJGaXJzdCh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCwKKwkJCSAgICAgIHhtbFhQYXRoU3RlcE9wUHRyIG9wLCB4bWxOb2RlUHRyICogZmlyc3QpOworCisvKioKKyAqIHhtbFhQYXRoQ29tcE9wRXZhbEZpcnN0OgorICogQGN0eHQ6ICB0aGUgWFBhdGggcGFyc2VyIGNvbnRleHQgd2l0aCB0aGUgY29tcGlsZWQgZXhwcmVzc2lvbgorICogQG9wOiAgYW4gWFBhdGggY29tcGlsZWQgb3BlcmF0aW9uCisgKiBAZmlyc3Q6ICB0aGUgZmlyc3QgZWxlbSBmb3VuZCBzbyBmYXIKKyAqCisgKiBFdmFsdWF0ZSB0aGUgUHJlY29tcGlsZWQgWFBhdGggb3BlcmF0aW9uIHNlYXJjaGluZyBvbmx5IHRoZSBmaXJzdAorICogZWxlbWVudCBpbiBkb2N1bWVudCBvcmRlcgorICoKKyAqIFJldHVybnMgdGhlIG51bWJlciBvZiBleGFtaW5lZCBvYmplY3RzLgorICovCitzdGF0aWMgaW50Cit4bWxYUGF0aENvbXBPcEV2YWxGaXJzdCh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgIHhtbFhQYXRoU3RlcE9wUHRyIG9wLCB4bWxOb2RlUHRyICogZmlyc3QpCit7CisgICAgaW50IHRvdGFsID0gMCwgY3VyOworICAgIHhtbFhQYXRoQ29tcEV4cHJQdHIgY29tcDsKKyAgICB4bWxYUGF0aE9iamVjdFB0ciBhcmcxLCBhcmcyOworCisgICAgQ0hFQ0tfRVJST1IwOworICAgIGNvbXAgPSBjdHh0LT5jb21wOworICAgIHN3aXRjaCAob3AtPm9wKSB7CisgICAgICAgIGNhc2UgWFBBVEhfT1BfRU5EOgorICAgICAgICAgICAgcmV0dXJuICgwKTsKKyAgICAgICAgY2FzZSBYUEFUSF9PUF9VTklPTjoKKyAgICAgICAgICAgIHRvdGFsID0KKyAgICAgICAgICAgICAgICB4bWxYUGF0aENvbXBPcEV2YWxGaXJzdChjdHh0LCAmY29tcC0+c3RlcHNbb3AtPmNoMV0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlyc3QpOworCSAgICBDSEVDS19FUlJPUjA7CisgICAgICAgICAgICBpZiAoKGN0eHQtPnZhbHVlICE9IE5VTEwpCisgICAgICAgICAgICAgICAgJiYgKGN0eHQtPnZhbHVlLT50eXBlID09IFhQQVRIX05PREVTRVQpCisgICAgICAgICAgICAgICAgJiYgKGN0eHQtPnZhbHVlLT5ub2Rlc2V0dmFsICE9IE5VTEwpCisgICAgICAgICAgICAgICAgJiYgKGN0eHQtPnZhbHVlLT5ub2Rlc2V0dmFsLT5ub2RlTnIgPj0gMSkpIHsKKyAgICAgICAgICAgICAgICAvKgorICAgICAgICAgICAgICAgICAqIGxpbWl0IHRyZWUgdHJhdmVyc2luZyB0byBmaXJzdCBub2RlIGluIHRoZSByZXN1bHQKKyAgICAgICAgICAgICAgICAgKi8KKwkJLyoKKwkJKiBPUFRJTUlaRSBUT0RPOiBUaGlzIGltcGxpY2l0ZWx5IHNvcnRzCisJCSogIHRoZSByZXN1bHQsIGV2ZW4gaWYgbm90IG5lZWRlZC4gRS5nLiBpZiB0aGUgYXJndW1lbnQKKwkJKiAgb2YgdGhlIGNvdW50KCkgZnVuY3Rpb24sIG5vIHNvcnRpbmcgaXMgbmVlZGVkLgorCQkqIE9QVElNSVpFIFRPRE86IEhvdyBkbyB3ZSBrbm93IGlmIHRoZSBub2RlLWxpc3Qgd2Fzbid0CisJCSogIGFyZWFkeSBzb3J0ZWQ/CisJCSovCisJCWlmIChjdHh0LT52YWx1ZS0+bm9kZXNldHZhbC0+bm9kZU5yID4gMSkKKwkJICAgIHhtbFhQYXRoTm9kZVNldFNvcnQoY3R4dC0+dmFsdWUtPm5vZGVzZXR2YWwpOworICAgICAgICAgICAgICAgICpmaXJzdCA9IGN0eHQtPnZhbHVlLT5ub2Rlc2V0dmFsLT5ub2RlVGFiWzBdOworICAgICAgICAgICAgfQorICAgICAgICAgICAgY3VyID0KKyAgICAgICAgICAgICAgICB4bWxYUGF0aENvbXBPcEV2YWxGaXJzdChjdHh0LCAmY29tcC0+c3RlcHNbb3AtPmNoMl0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlyc3QpOworCSAgICBDSEVDS19FUlJPUjA7CisgICAgICAgICAgICBDSEVDS19UWVBFMChYUEFUSF9OT0RFU0VUKTsKKyAgICAgICAgICAgIGFyZzIgPSB2YWx1ZVBvcChjdHh0KTsKKworICAgICAgICAgICAgQ0hFQ0tfVFlQRTAoWFBBVEhfTk9ERVNFVCk7CisgICAgICAgICAgICBhcmcxID0gdmFsdWVQb3AoY3R4dCk7CisKKyAgICAgICAgICAgIGFyZzEtPm5vZGVzZXR2YWwgPSB4bWxYUGF0aE5vZGVTZXRNZXJnZShhcmcxLT5ub2Rlc2V0dmFsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZzItPm5vZGVzZXR2YWwpOworICAgICAgICAgICAgdmFsdWVQdXNoKGN0eHQsIGFyZzEpOworCSAgICB4bWxYUGF0aFJlbGVhc2VPYmplY3QoY3R4dC0+Y29udGV4dCwgYXJnMik7CisgICAgICAgICAgICAvKiBvcHRpbWl6ZXIgKi8KKwkgICAgaWYgKHRvdGFsID4gY3VyKQorCQl4bWxYUGF0aENvbXBTd2FwKG9wKTsKKyAgICAgICAgICAgIHJldHVybiAodG90YWwgKyBjdXIpOworICAgICAgICBjYXNlIFhQQVRIX09QX1JPT1Q6CisgICAgICAgICAgICB4bWxYUGF0aFJvb3QoY3R4dCk7CisgICAgICAgICAgICByZXR1cm4gKDApOworICAgICAgICBjYXNlIFhQQVRIX09QX05PREU6CisgICAgICAgICAgICBpZiAob3AtPmNoMSAhPSAtMSkKKyAgICAgICAgICAgICAgICB0b3RhbCArPSB4bWxYUGF0aENvbXBPcEV2YWwoY3R4dCwgJmNvbXAtPnN0ZXBzW29wLT5jaDFdKTsKKwkgICAgQ0hFQ0tfRVJST1IwOworICAgICAgICAgICAgaWYgKG9wLT5jaDIgIT0gLTEpCisgICAgICAgICAgICAgICAgdG90YWwgKz0geG1sWFBhdGhDb21wT3BFdmFsKGN0eHQsICZjb21wLT5zdGVwc1tvcC0+Y2gyXSk7CisJICAgIENIRUNLX0VSUk9SMDsKKwkgICAgdmFsdWVQdXNoKGN0eHQsIHhtbFhQYXRoQ2FjaGVOZXdOb2RlU2V0KGN0eHQtPmNvbnRleHQsCisJCWN0eHQtPmNvbnRleHQtPm5vZGUpKTsKKyAgICAgICAgICAgIHJldHVybiAodG90YWwpOworICAgICAgICBjYXNlIFhQQVRIX09QX1JFU0VUOgorICAgICAgICAgICAgaWYgKG9wLT5jaDEgIT0gLTEpCisgICAgICAgICAgICAgICAgdG90YWwgKz0geG1sWFBhdGhDb21wT3BFdmFsKGN0eHQsICZjb21wLT5zdGVwc1tvcC0+Y2gxXSk7CisJICAgIENIRUNLX0VSUk9SMDsKKyAgICAgICAgICAgIGlmIChvcC0+Y2gyICE9IC0xKQorICAgICAgICAgICAgICAgIHRvdGFsICs9IHhtbFhQYXRoQ29tcE9wRXZhbChjdHh0LCAmY29tcC0+c3RlcHNbb3AtPmNoMl0pOworCSAgICBDSEVDS19FUlJPUjA7CisgICAgICAgICAgICBjdHh0LT5jb250ZXh0LT5ub2RlID0gTlVMTDsKKyAgICAgICAgICAgIHJldHVybiAodG90YWwpOworICAgICAgICBjYXNlIFhQQVRIX09QX0NPTExFQ1Q6eworICAgICAgICAgICAgICAgIGlmIChvcC0+Y2gxID09IC0xKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gKHRvdGFsKTsKKworICAgICAgICAgICAgICAgIHRvdGFsID0geG1sWFBhdGhDb21wT3BFdmFsKGN0eHQsICZjb21wLT5zdGVwc1tvcC0+Y2gxXSk7CisJCUNIRUNLX0VSUk9SMDsKKworICAgICAgICAgICAgICAgIHRvdGFsICs9IHhtbFhQYXRoTm9kZUNvbGxlY3RBbmRUZXN0KGN0eHQsIG9wLCBmaXJzdCwgTlVMTCwgMCk7CisgICAgICAgICAgICAgICAgcmV0dXJuICh0b3RhbCk7CisgICAgICAgICAgICB9CisgICAgICAgIGNhc2UgWFBBVEhfT1BfVkFMVUU6CisgICAgICAgICAgICB2YWx1ZVB1c2goY3R4dCwKKyAgICAgICAgICAgICAgICAgICAgICB4bWxYUGF0aENhY2hlT2JqZWN0Q29weShjdHh0LT5jb250ZXh0LAorCQkJKHhtbFhQYXRoT2JqZWN0UHRyKSBvcC0+dmFsdWU0KSk7CisgICAgICAgICAgICByZXR1cm4gKDApOworICAgICAgICBjYXNlIFhQQVRIX09QX1NPUlQ6CisgICAgICAgICAgICBpZiAob3AtPmNoMSAhPSAtMSkKKyAgICAgICAgICAgICAgICB0b3RhbCArPQorICAgICAgICAgICAgICAgICAgICB4bWxYUGF0aENvbXBPcEV2YWxGaXJzdChjdHh0LCAmY29tcC0+c3RlcHNbb3AtPmNoMV0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpcnN0KTsKKwkgICAgQ0hFQ0tfRVJST1IwOworICAgICAgICAgICAgaWYgKChjdHh0LT52YWx1ZSAhPSBOVUxMKQorICAgICAgICAgICAgICAgICYmIChjdHh0LT52YWx1ZS0+dHlwZSA9PSBYUEFUSF9OT0RFU0VUKQorICAgICAgICAgICAgICAgICYmIChjdHh0LT52YWx1ZS0+bm9kZXNldHZhbCAhPSBOVUxMKQorCQkmJiAoY3R4dC0+dmFsdWUtPm5vZGVzZXR2YWwtPm5vZGVOciA+IDEpKQorICAgICAgICAgICAgICAgIHhtbFhQYXRoTm9kZVNldFNvcnQoY3R4dC0+dmFsdWUtPm5vZGVzZXR2YWwpOworICAgICAgICAgICAgcmV0dXJuICh0b3RhbCk7CisjaWZkZWYgWFBfT1BUSU1JWkVEX0ZJTFRFUl9GSVJTVAorCWNhc2UgWFBBVEhfT1BfRklMVEVSOgorICAgICAgICAgICAgICAgIHRvdGFsICs9IHhtbFhQYXRoQ29tcE9wRXZhbEZpbHRlckZpcnN0KGN0eHQsIG9wLCBmaXJzdCk7CisgICAgICAgICAgICByZXR1cm4gKHRvdGFsKTsKKyNlbmRpZgorICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgcmV0dXJuICh4bWxYUGF0aENvbXBPcEV2YWwoY3R4dCwgb3ApKTsKKyAgICB9Cit9CisKKy8qKgorICogeG1sWFBhdGhDb21wT3BFdmFsTGFzdDoKKyAqIEBjdHh0OiAgdGhlIFhQYXRoIHBhcnNlciBjb250ZXh0IHdpdGggdGhlIGNvbXBpbGVkIGV4cHJlc3Npb24KKyAqIEBvcDogIGFuIFhQYXRoIGNvbXBpbGVkIG9wZXJhdGlvbgorICogQGxhc3Q6ICB0aGUgbGFzdCBlbGVtIGZvdW5kIHNvIGZhcgorICoKKyAqIEV2YWx1YXRlIHRoZSBQcmVjb21waWxlZCBYUGF0aCBvcGVyYXRpb24gc2VhcmNoaW5nIG9ubHkgdGhlIGxhc3QKKyAqIGVsZW1lbnQgaW4gZG9jdW1lbnQgb3JkZXIKKyAqCisgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2Ygbm9kZXMgdHJhdmVyc2VkCisgKi8KK3N0YXRpYyBpbnQKK3htbFhQYXRoQ29tcE9wRXZhbExhc3QoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQsIHhtbFhQYXRoU3RlcE9wUHRyIG9wLAorICAgICAgICAgICAgICAgICAgICAgICB4bWxOb2RlUHRyICogbGFzdCkKK3sKKyAgICBpbnQgdG90YWwgPSAwLCBjdXI7CisgICAgeG1sWFBhdGhDb21wRXhwclB0ciBjb21wOworICAgIHhtbFhQYXRoT2JqZWN0UHRyIGFyZzEsIGFyZzI7CisgICAgeG1sTm9kZVB0ciBiYWs7CisgICAgeG1sRG9jUHRyIGJha2Q7CisgICAgaW50IHBwOworICAgIGludCBjczsKKworICAgIENIRUNLX0VSUk9SMDsKKyAgICBjb21wID0gY3R4dC0+Y29tcDsKKyAgICBzd2l0Y2ggKG9wLT5vcCkgeworICAgICAgICBjYXNlIFhQQVRIX09QX0VORDoKKyAgICAgICAgICAgIHJldHVybiAoMCk7CisgICAgICAgIGNhc2UgWFBBVEhfT1BfVU5JT046CisJICAgIGJha2QgPSBjdHh0LT5jb250ZXh0LT5kb2M7CisJICAgIGJhayA9IGN0eHQtPmNvbnRleHQtPm5vZGU7CisJICAgIHBwID0gY3R4dC0+Y29udGV4dC0+cHJveGltaXR5UG9zaXRpb247CisJICAgIGNzID0gY3R4dC0+Y29udGV4dC0+Y29udGV4dFNpemU7CisgICAgICAgICAgICB0b3RhbCA9CisgICAgICAgICAgICAgICAgeG1sWFBhdGhDb21wT3BFdmFsTGFzdChjdHh0LCAmY29tcC0+c3RlcHNbb3AtPmNoMV0sIGxhc3QpOworCSAgICBDSEVDS19FUlJPUjA7CisgICAgICAgICAgICBpZiAoKGN0eHQtPnZhbHVlICE9IE5VTEwpCisgICAgICAgICAgICAgICAgJiYgKGN0eHQtPnZhbHVlLT50eXBlID09IFhQQVRIX05PREVTRVQpCisgICAgICAgICAgICAgICAgJiYgKGN0eHQtPnZhbHVlLT5ub2Rlc2V0dmFsICE9IE5VTEwpCisgICAgICAgICAgICAgICAgJiYgKGN0eHQtPnZhbHVlLT5ub2Rlc2V0dmFsLT5ub2RlTnIgPj0gMSkpIHsKKyAgICAgICAgICAgICAgICAvKgorICAgICAgICAgICAgICAgICAqIGxpbWl0IHRyZWUgdHJhdmVyc2luZyB0byBmaXJzdCBub2RlIGluIHRoZSByZXN1bHQKKyAgICAgICAgICAgICAgICAgKi8KKwkJaWYgKGN0eHQtPnZhbHVlLT5ub2Rlc2V0dmFsLT5ub2RlTnIgPiAxKQorCQkgICAgeG1sWFBhdGhOb2RlU2V0U29ydChjdHh0LT52YWx1ZS0+bm9kZXNldHZhbCk7CisgICAgICAgICAgICAgICAgKmxhc3QgPQorICAgICAgICAgICAgICAgICAgICBjdHh0LT52YWx1ZS0+bm9kZXNldHZhbC0+bm9kZVRhYltjdHh0LT52YWx1ZS0+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVzZXR2YWwtPm5vZGVOciAtCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDFdOworICAgICAgICAgICAgfQorCSAgICBjdHh0LT5jb250ZXh0LT5kb2MgPSBiYWtkOworCSAgICBjdHh0LT5jb250ZXh0LT5ub2RlID0gYmFrOworCSAgICBjdHh0LT5jb250ZXh0LT5wcm94aW1pdHlQb3NpdGlvbiA9IHBwOworCSAgICBjdHh0LT5jb250ZXh0LT5jb250ZXh0U2l6ZSA9IGNzOworICAgICAgICAgICAgY3VyID0KKyAgICAgICAgICAgICAgICB4bWxYUGF0aENvbXBPcEV2YWxMYXN0KGN0eHQsICZjb21wLT5zdGVwc1tvcC0+Y2gyXSwgbGFzdCk7CisJICAgIENIRUNLX0VSUk9SMDsKKyAgICAgICAgICAgIGlmICgoY3R4dC0+dmFsdWUgIT0gTlVMTCkKKyAgICAgICAgICAgICAgICAmJiAoY3R4dC0+dmFsdWUtPnR5cGUgPT0gWFBBVEhfTk9ERVNFVCkKKyAgICAgICAgICAgICAgICAmJiAoY3R4dC0+dmFsdWUtPm5vZGVzZXR2YWwgIT0gTlVMTCkKKyAgICAgICAgICAgICAgICAmJiAoY3R4dC0+dmFsdWUtPm5vZGVzZXR2YWwtPm5vZGVOciA+PSAxKSkgeyAvKiBUT0RPOiBOT1AgPyAqLworICAgICAgICAgICAgfQorICAgICAgICAgICAgQ0hFQ0tfVFlQRTAoWFBBVEhfTk9ERVNFVCk7CisgICAgICAgICAgICBhcmcyID0gdmFsdWVQb3AoY3R4dCk7CisKKyAgICAgICAgICAgIENIRUNLX1RZUEUwKFhQQVRIX05PREVTRVQpOworICAgICAgICAgICAgYXJnMSA9IHZhbHVlUG9wKGN0eHQpOworCisgICAgICAgICAgICBhcmcxLT5ub2Rlc2V0dmFsID0geG1sWFBhdGhOb2RlU2V0TWVyZ2UoYXJnMS0+bm9kZXNldHZhbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmcyLT5ub2Rlc2V0dmFsKTsKKyAgICAgICAgICAgIHZhbHVlUHVzaChjdHh0LCBhcmcxKTsKKwkgICAgeG1sWFBhdGhSZWxlYXNlT2JqZWN0KGN0eHQtPmNvbnRleHQsIGFyZzIpOworICAgICAgICAgICAgLyogb3B0aW1pemVyICovCisJICAgIGlmICh0b3RhbCA+IGN1cikKKwkJeG1sWFBhdGhDb21wU3dhcChvcCk7CisgICAgICAgICAgICByZXR1cm4gKHRvdGFsICsgY3VyKTsKKyAgICAgICAgY2FzZSBYUEFUSF9PUF9ST09UOgorICAgICAgICAgICAgeG1sWFBhdGhSb290KGN0eHQpOworICAgICAgICAgICAgcmV0dXJuICgwKTsKKyAgICAgICAgY2FzZSBYUEFUSF9PUF9OT0RFOgorICAgICAgICAgICAgaWYgKG9wLT5jaDEgIT0gLTEpCisgICAgICAgICAgICAgICAgdG90YWwgKz0geG1sWFBhdGhDb21wT3BFdmFsKGN0eHQsICZjb21wLT5zdGVwc1tvcC0+Y2gxXSk7CisJICAgIENIRUNLX0VSUk9SMDsKKyAgICAgICAgICAgIGlmIChvcC0+Y2gyICE9IC0xKQorICAgICAgICAgICAgICAgIHRvdGFsICs9IHhtbFhQYXRoQ29tcE9wRXZhbChjdHh0LCAmY29tcC0+c3RlcHNbb3AtPmNoMl0pOworCSAgICBDSEVDS19FUlJPUjA7CisJICAgIHZhbHVlUHVzaChjdHh0LCB4bWxYUGF0aENhY2hlTmV3Tm9kZVNldChjdHh0LT5jb250ZXh0LAorCQljdHh0LT5jb250ZXh0LT5ub2RlKSk7CisgICAgICAgICAgICByZXR1cm4gKHRvdGFsKTsKKyAgICAgICAgY2FzZSBYUEFUSF9PUF9SRVNFVDoKKyAgICAgICAgICAgIGlmIChvcC0+Y2gxICE9IC0xKQorICAgICAgICAgICAgICAgIHRvdGFsICs9IHhtbFhQYXRoQ29tcE9wRXZhbChjdHh0LCAmY29tcC0+c3RlcHNbb3AtPmNoMV0pOworCSAgICBDSEVDS19FUlJPUjA7CisgICAgICAgICAgICBpZiAob3AtPmNoMiAhPSAtMSkKKyAgICAgICAgICAgICAgICB0b3RhbCArPSB4bWxYUGF0aENvbXBPcEV2YWwoY3R4dCwgJmNvbXAtPnN0ZXBzW29wLT5jaDJdKTsKKwkgICAgQ0hFQ0tfRVJST1IwOworICAgICAgICAgICAgY3R4dC0+Y29udGV4dC0+bm9kZSA9IE5VTEw7CisgICAgICAgICAgICByZXR1cm4gKHRvdGFsKTsKKyAgICAgICAgY2FzZSBYUEFUSF9PUF9DT0xMRUNUOnsKKyAgICAgICAgICAgICAgICBpZiAob3AtPmNoMSA9PSAtMSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuICgwKTsKKworICAgICAgICAgICAgICAgIHRvdGFsICs9IHhtbFhQYXRoQ29tcE9wRXZhbChjdHh0LCAmY29tcC0+c3RlcHNbb3AtPmNoMV0pOworCQlDSEVDS19FUlJPUjA7CisKKyAgICAgICAgICAgICAgICB0b3RhbCArPSB4bWxYUGF0aE5vZGVDb2xsZWN0QW5kVGVzdChjdHh0LCBvcCwgTlVMTCwgbGFzdCwgMCk7CisgICAgICAgICAgICAgICAgcmV0dXJuICh0b3RhbCk7CisgICAgICAgICAgICB9CisgICAgICAgIGNhc2UgWFBBVEhfT1BfVkFMVUU6CisgICAgICAgICAgICB2YWx1ZVB1c2goY3R4dCwKKyAgICAgICAgICAgICAgICAgICAgICB4bWxYUGF0aENhY2hlT2JqZWN0Q29weShjdHh0LT5jb250ZXh0LAorCQkJKHhtbFhQYXRoT2JqZWN0UHRyKSBvcC0+dmFsdWU0KSk7CisgICAgICAgICAgICByZXR1cm4gKDApOworICAgICAgICBjYXNlIFhQQVRIX09QX1NPUlQ6CisgICAgICAgICAgICBpZiAob3AtPmNoMSAhPSAtMSkKKyAgICAgICAgICAgICAgICB0b3RhbCArPQorICAgICAgICAgICAgICAgICAgICB4bWxYUGF0aENvbXBPcEV2YWxMYXN0KGN0eHQsICZjb21wLT5zdGVwc1tvcC0+Y2gxXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXN0KTsKKwkgICAgQ0hFQ0tfRVJST1IwOworICAgICAgICAgICAgaWYgKChjdHh0LT52YWx1ZSAhPSBOVUxMKQorICAgICAgICAgICAgICAgICYmIChjdHh0LT52YWx1ZS0+dHlwZSA9PSBYUEFUSF9OT0RFU0VUKQorICAgICAgICAgICAgICAgICYmIChjdHh0LT52YWx1ZS0+bm9kZXNldHZhbCAhPSBOVUxMKQorCQkmJiAoY3R4dC0+dmFsdWUtPm5vZGVzZXR2YWwtPm5vZGVOciA+IDEpKQorICAgICAgICAgICAgICAgIHhtbFhQYXRoTm9kZVNldFNvcnQoY3R4dC0+dmFsdWUtPm5vZGVzZXR2YWwpOworICAgICAgICAgICAgcmV0dXJuICh0b3RhbCk7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICByZXR1cm4gKHhtbFhQYXRoQ29tcE9wRXZhbChjdHh0LCBvcCkpOworICAgIH0KK30KKworI2lmZGVmIFhQX09QVElNSVpFRF9GSUxURVJfRklSU1QKK3N0YXRpYyBpbnQKK3htbFhQYXRoQ29tcE9wRXZhbEZpbHRlckZpcnN0KHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0LAorCQkJICAgICAgeG1sWFBhdGhTdGVwT3BQdHIgb3AsIHhtbE5vZGVQdHIgKiBmaXJzdCkKK3sKKyAgICBpbnQgdG90YWwgPSAwOworICAgIHhtbFhQYXRoQ29tcEV4cHJQdHIgY29tcDsKKyAgICB4bWxYUGF0aE9iamVjdFB0ciByZXM7CisgICAgeG1sWFBhdGhPYmplY3RQdHIgb2JqOworICAgIHhtbE5vZGVTZXRQdHIgb2xkc2V0OworICAgIHhtbE5vZGVQdHIgb2xkbm9kZTsKKyAgICB4bWxEb2NQdHIgb2xkRG9jOworICAgIGludCBpOworCisgICAgQ0hFQ0tfRVJST1IwOworICAgIGNvbXAgPSBjdHh0LT5jb21wOworICAgIC8qCisgICAgKiBPcHRpbWl6YXRpb24gZm9yICgpW2xhc3QoKV0gc2VsZWN0aW9uIGkuZS4gdGhlIGxhc3QgZWxlbQorICAgICovCisgICAgaWYgKChvcC0+Y2gxICE9IC0xKSAmJiAob3AtPmNoMiAhPSAtMSkgJiYKKwkoY29tcC0+c3RlcHNbb3AtPmNoMV0ub3AgPT0gWFBBVEhfT1BfU09SVCkgJiYKKwkoY29tcC0+c3RlcHNbb3AtPmNoMl0ub3AgPT0gWFBBVEhfT1BfU09SVCkpIHsKKwlpbnQgZiA9IGNvbXAtPnN0ZXBzW29wLT5jaDJdLmNoMTsKKworCWlmICgoZiAhPSAtMSkgJiYKKwkgICAgKGNvbXAtPnN0ZXBzW2ZdLm9wID09IFhQQVRIX09QX0ZVTkNUSU9OKSAmJgorCSAgICAoY29tcC0+c3RlcHNbZl0udmFsdWU1ID09IE5VTEwpICYmCisJICAgIChjb21wLT5zdGVwc1tmXS52YWx1ZSA9PSAwKSAmJgorCSAgICAoY29tcC0+c3RlcHNbZl0udmFsdWU0ICE9IE5VTEwpICYmCisJICAgICh4bWxTdHJFcXVhbAorCSAgICAoY29tcC0+c3RlcHNbZl0udmFsdWU0LCBCQURfQ0FTVCAibGFzdCIpKSkgeworCSAgICB4bWxOb2RlUHRyIGxhc3QgPSBOVUxMOworCisJICAgIHRvdGFsICs9CisJCXhtbFhQYXRoQ29tcE9wRXZhbExhc3QoY3R4dCwKKwkJICAgICZjb21wLT5zdGVwc1tvcC0+Y2gxXSwKKwkJICAgICZsYXN0KTsKKwkgICAgQ0hFQ0tfRVJST1IwOworCSAgICAvKgorCSAgICAqIFRoZSBub2Rlc2V0IHNob3VsZCBiZSBpbiBkb2N1bWVudCBvcmRlciwKKwkgICAgKiBLZWVwIG9ubHkgdGhlIGxhc3QgdmFsdWUKKwkgICAgKi8KKwkgICAgaWYgKChjdHh0LT52YWx1ZSAhPSBOVUxMKSAmJgorCQkoY3R4dC0+dmFsdWUtPnR5cGUgPT0gWFBBVEhfTk9ERVNFVCkgJiYKKwkJKGN0eHQtPnZhbHVlLT5ub2Rlc2V0dmFsICE9IE5VTEwpICYmCisJCShjdHh0LT52YWx1ZS0+bm9kZXNldHZhbC0+bm9kZVRhYiAhPSBOVUxMKSAmJgorCQkoY3R4dC0+dmFsdWUtPm5vZGVzZXR2YWwtPm5vZGVOciA+IDEpKSB7CisJCWN0eHQtPnZhbHVlLT5ub2Rlc2V0dmFsLT5ub2RlVGFiWzBdID0KKwkJICAgIGN0eHQtPnZhbHVlLT5ub2Rlc2V0dmFsLT5ub2RlVGFiW2N0eHQtPgorCQkgICAgdmFsdWUtPgorCQkgICAgbm9kZXNldHZhbC0+CisJCSAgICBub2RlTnIgLQorCQkgICAgMV07CisJCWN0eHQtPnZhbHVlLT5ub2Rlc2V0dmFsLT5ub2RlTnIgPSAxOworCQkqZmlyc3QgPSAqKGN0eHQtPnZhbHVlLT5ub2Rlc2V0dmFsLT5ub2RlVGFiKTsKKwkgICAgfQorCSAgICByZXR1cm4gKHRvdGFsKTsKKwl9CisgICAgfQorCisgICAgaWYgKG9wLT5jaDEgIT0gLTEpCisJdG90YWwgKz0geG1sWFBhdGhDb21wT3BFdmFsKGN0eHQsICZjb21wLT5zdGVwc1tvcC0+Y2gxXSk7CisgICAgQ0hFQ0tfRVJST1IwOworICAgIGlmIChvcC0+Y2gyID09IC0xKQorCXJldHVybiAodG90YWwpOworICAgIGlmIChjdHh0LT52YWx1ZSA9PSBOVUxMKQorCXJldHVybiAodG90YWwpOworCisjaWZkZWYgTElCWE1MX1hQVFJfRU5BQkxFRAorICAgIG9sZG5vZGUgPSBjdHh0LT5jb250ZXh0LT5ub2RlOworICAgIC8qCisgICAgKiBIdW0gYXJlIHdlIGZpbHRlcmluZyB0aGUgcmVzdWx0IG9mIGFuIFhQb2ludGVyIGV4cHJlc3Npb24KKyAgICAqLworICAgIGlmIChjdHh0LT52YWx1ZS0+dHlwZSA9PSBYUEFUSF9MT0NBVElPTlNFVCkgeworCXhtbFhQYXRoT2JqZWN0UHRyIHRtcCA9IE5VTEw7CisJeG1sTG9jYXRpb25TZXRQdHIgbmV3bG9jc2V0ID0gTlVMTDsKKwl4bWxMb2NhdGlvblNldFB0ciBvbGRsb2NzZXQ7CisKKwkvKgorCSogRXh0cmFjdCB0aGUgb2xkIGxvY3NldCwgYW5kIHRoZW4gZXZhbHVhdGUgdGhlIHJlc3VsdCBvZiB0aGUKKwkqIGV4cHJlc3Npb24gZm9yIGFsbCB0aGUgZWxlbWVudCBpbiB0aGUgbG9jc2V0LiB1c2UgaXQgdG8gZ3JvdworCSogdXAgYSBuZXcgbG9jc2V0LgorCSovCisJQ0hFQ0tfVFlQRTAoWFBBVEhfTE9DQVRJT05TRVQpOworCW9iaiA9IHZhbHVlUG9wKGN0eHQpOworCW9sZGxvY3NldCA9IG9iai0+dXNlcjsKKwljdHh0LT5jb250ZXh0LT5ub2RlID0gTlVMTDsKKworCWlmICgob2xkbG9jc2V0ID09IE5VTEwpIHx8IChvbGRsb2NzZXQtPmxvY05yID09IDApKSB7CisJICAgIGN0eHQtPmNvbnRleHQtPmNvbnRleHRTaXplID0gMDsKKwkgICAgY3R4dC0+Y29udGV4dC0+cHJveGltaXR5UG9zaXRpb24gPSAwOworCSAgICBpZiAob3AtPmNoMiAhPSAtMSkKKwkJdG90YWwgKz0geG1sWFBhdGhDb21wT3BFdmFsKGN0eHQsICZjb21wLT5zdGVwc1tvcC0+Y2gyXSk7CisJICAgIHJlcyA9IHZhbHVlUG9wKGN0eHQpOworCSAgICBpZiAocmVzICE9IE5VTEwpIHsKKwkJeG1sWFBhdGhSZWxlYXNlT2JqZWN0KGN0eHQtPmNvbnRleHQsIHJlcyk7CisJICAgIH0KKwkgICAgdmFsdWVQdXNoKGN0eHQsIG9iaik7CisJICAgIENIRUNLX0VSUk9SMDsKKwkgICAgcmV0dXJuICh0b3RhbCk7CisJfQorCW5ld2xvY3NldCA9IHhtbFhQdHJMb2NhdGlvblNldENyZWF0ZShOVUxMKTsKKworCWZvciAoaSA9IDA7IGkgPCBvbGRsb2NzZXQtPmxvY05yOyBpKyspIHsKKwkgICAgLyoKKwkgICAgKiBSdW4gdGhlIGV2YWx1YXRpb24gd2l0aCBhIG5vZGUgbGlzdCBtYWRlIG9mIGEKKwkgICAgKiBzaW5nbGUgaXRlbSBpbiB0aGUgbm9kZWxvY3NldC4KKwkgICAgKi8KKwkgICAgY3R4dC0+Y29udGV4dC0+bm9kZSA9IG9sZGxvY3NldC0+bG9jVGFiW2ldLT51c2VyOworCSAgICBjdHh0LT5jb250ZXh0LT5jb250ZXh0U2l6ZSA9IG9sZGxvY3NldC0+bG9jTnI7CisJICAgIGN0eHQtPmNvbnRleHQtPnByb3hpbWl0eVBvc2l0aW9uID0gaSArIDE7CisJICAgIGlmICh0bXAgPT0gTlVMTCkgeworCQl0bXAgPSB4bWxYUGF0aENhY2hlTmV3Tm9kZVNldChjdHh0LT5jb250ZXh0LAorCQkgICAgY3R4dC0+Y29udGV4dC0+bm9kZSk7CisJICAgIH0gZWxzZSB7CisJCWlmICh4bWxYUGF0aE5vZGVTZXRBZGRVbmlxdWUodG1wLT5ub2Rlc2V0dmFsLAorCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN0eHQtPmNvbnRleHQtPm5vZGUpIDwgMCkgeworCQkgICAgY3R4dC0+ZXJyb3IgPSBYUEFUSF9NRU1PUllfRVJST1I7CisJCX0KKwkgICAgfQorCSAgICB2YWx1ZVB1c2goY3R4dCwgdG1wKTsKKwkgICAgaWYgKG9wLT5jaDIgIT0gLTEpCisJCXRvdGFsICs9IHhtbFhQYXRoQ29tcE9wRXZhbChjdHh0LCAmY29tcC0+c3RlcHNbb3AtPmNoMl0pOworCSAgICBpZiAoY3R4dC0+ZXJyb3IgIT0gWFBBVEhfRVhQUkVTU0lPTl9PSykgeworCQl4bWxYUGF0aEZyZWVPYmplY3Qob2JqKTsKKwkJcmV0dXJuKDApOworCSAgICB9CisJICAgIC8qCisJICAgICogVGhlIHJlc3VsdCBvZiB0aGUgZXZhbHVhdGlvbiBuZWVkIHRvIGJlIHRlc3RlZCB0bworCSAgICAqIGRlY2lkZWQgd2hldGhlciB0aGUgZmlsdGVyIHN1Y2NlZWRlZCBvciBub3QKKwkgICAgKi8KKwkgICAgcmVzID0gdmFsdWVQb3AoY3R4dCk7CisJICAgIGlmICh4bWxYUGF0aEV2YWx1YXRlUHJlZGljYXRlUmVzdWx0KGN0eHQsIHJlcykpIHsKKwkJeG1sWFB0ckxvY2F0aW9uU2V0QWRkKG5ld2xvY3NldCwKKwkJICAgIHhtbFhQYXRoQ2FjaGVPYmplY3RDb3B5KGN0eHQtPmNvbnRleHQsCisJCQlvbGRsb2NzZXQtPmxvY1RhYltpXSkpOworCSAgICB9CisJICAgIC8qCisJICAgICogQ2xlYW51cAorCSAgICAqLworCSAgICBpZiAocmVzICE9IE5VTEwpIHsKKwkJeG1sWFBhdGhSZWxlYXNlT2JqZWN0KGN0eHQtPmNvbnRleHQsIHJlcyk7CisJICAgIH0KKwkgICAgaWYgKGN0eHQtPnZhbHVlID09IHRtcCkgeworCQl2YWx1ZVBvcChjdHh0KTsKKwkJeG1sWFBhdGhOb2RlU2V0Q2xlYXIodG1wLT5ub2Rlc2V0dmFsLCAxKTsKKwkJLyoKKwkJKiBSRVZJU0lUIFRPRE86IERvbid0IGNyZWF0ZSBhIHRlbXBvcmFyeSBub2Rlc2V0CisJCSogZm9yIGV2ZXJseSBpdGVyYXRpb24uCisJCSovCisJCS8qIE9MRDogeG1sWFBhdGhGcmVlT2JqZWN0KHJlcyk7ICovCisJICAgIH0gZWxzZQorCQl0bXAgPSBOVUxMOworCSAgICBjdHh0LT5jb250ZXh0LT5ub2RlID0gTlVMTDsKKwkgICAgLyoKKwkgICAgKiBPbmx5IHB1dCB0aGUgZmlyc3Qgbm9kZSBpbiB0aGUgcmVzdWx0LCB0aGVuIGxlYXZlLgorCSAgICAqLworCSAgICBpZiAobmV3bG9jc2V0LT5sb2NOciA+IDApIHsKKwkJKmZpcnN0ID0gKHhtbE5vZGVQdHIpIG9sZGxvY3NldC0+bG9jVGFiW2ldLT51c2VyOworCQlicmVhazsKKwkgICAgfQorCX0KKwlpZiAodG1wICE9IE5VTEwpIHsKKwkgICAgeG1sWFBhdGhSZWxlYXNlT2JqZWN0KGN0eHQtPmNvbnRleHQsIHRtcCk7CisJfQorCS8qCisJKiBUaGUgcmVzdWx0IGlzIHVzZWQgYXMgdGhlIG5ldyBldmFsdWF0aW9uIGxvY3NldC4KKwkqLworCXhtbFhQYXRoUmVsZWFzZU9iamVjdChjdHh0LT5jb250ZXh0LCBvYmopOworCWN0eHQtPmNvbnRleHQtPm5vZGUgPSBOVUxMOworCWN0eHQtPmNvbnRleHQtPmNvbnRleHRTaXplID0gLTE7CisJY3R4dC0+Y29udGV4dC0+cHJveGltaXR5UG9zaXRpb24gPSAtMTsKKwl2YWx1ZVB1c2goY3R4dCwgeG1sWFB0cldyYXBMb2NhdGlvblNldChuZXdsb2NzZXQpKTsKKwljdHh0LT5jb250ZXh0LT5ub2RlID0gb2xkbm9kZTsKKwlyZXR1cm4gKHRvdGFsKTsKKyAgICB9CisjZW5kaWYgLyogTElCWE1MX1hQVFJfRU5BQkxFRCAqLworCisgICAgLyoKKyAgICAqIEV4dHJhY3QgdGhlIG9sZCBzZXQsIGFuZCB0aGVuIGV2YWx1YXRlIHRoZSByZXN1bHQgb2YgdGhlCisgICAgKiBleHByZXNzaW9uIGZvciBhbGwgdGhlIGVsZW1lbnQgaW4gdGhlIHNldC4gdXNlIGl0IHRvIGdyb3cKKyAgICAqIHVwIGEgbmV3IHNldC4KKyAgICAqLworICAgIENIRUNLX1RZUEUwKFhQQVRIX05PREVTRVQpOworICAgIG9iaiA9IHZhbHVlUG9wKGN0eHQpOworICAgIG9sZHNldCA9IG9iai0+bm9kZXNldHZhbDsKKworICAgIG9sZG5vZGUgPSBjdHh0LT5jb250ZXh0LT5ub2RlOworICAgIG9sZERvYyA9IGN0eHQtPmNvbnRleHQtPmRvYzsKKyAgICBjdHh0LT5jb250ZXh0LT5ub2RlID0gTlVMTDsKKworICAgIGlmICgob2xkc2V0ID09IE5VTEwpIHx8IChvbGRzZXQtPm5vZGVOciA9PSAwKSkgeworCWN0eHQtPmNvbnRleHQtPmNvbnRleHRTaXplID0gMDsKKwljdHh0LT5jb250ZXh0LT5wcm94aW1pdHlQb3NpdGlvbiA9IDA7CisJLyogUVVFU1RJT04gVE9ETzogV2h5IHdhcyB0aGlzIGNvZGUgY29tbWVudGVkIG91dD8KKwkgICAgaWYgKG9wLT5jaDIgIT0gLTEpCisJCXRvdGFsICs9CisJCSAgICB4bWxYUGF0aENvbXBPcEV2YWwoY3R4dCwKKwkJCSZjb21wLT5zdGVwc1tvcC0+Y2gyXSk7CisJICAgIENIRUNLX0VSUk9SMDsKKwkgICAgcmVzID0gdmFsdWVQb3AoY3R4dCk7CisJICAgIGlmIChyZXMgIT0gTlVMTCkKKwkJeG1sWFBhdGhGcmVlT2JqZWN0KHJlcyk7CisJKi8KKwl2YWx1ZVB1c2goY3R4dCwgb2JqKTsKKwljdHh0LT5jb250ZXh0LT5ub2RlID0gb2xkbm9kZTsKKwlDSEVDS19FUlJPUjA7CisgICAgfSBlbHNlIHsKKwl4bWxOb2RlU2V0UHRyIG5ld3NldDsKKwl4bWxYUGF0aE9iamVjdFB0ciB0bXAgPSBOVUxMOworCS8qCisJKiBJbml0aWFsaXplIHRoZSBuZXcgc2V0LgorCSogQWxzbyBzZXQgdGhlIHhwYXRoIGRvY3VtZW50IGluIGNhc2UgdGhpbmdzIGxpa2UKKwkqIGtleSgpIGV2YWx1YXRpb24gYXJlIGF0dGVtcHRlZCBvbiB0aGUgcHJlZGljYXRlCisJKi8KKwluZXdzZXQgPSB4bWxYUGF0aE5vZGVTZXRDcmVhdGUoTlVMTCk7CisgICAgICAgIC8qIFhYWCB3aGF0IGlmIHhtbFhQYXRoTm9kZVNldENyZWF0ZSByZXR1cm5lZCBOVUxMPyAqLworCisJZm9yIChpID0gMDsgaSA8IG9sZHNldC0+bm9kZU5yOyBpKyspIHsKKwkgICAgLyoKKwkgICAgKiBSdW4gdGhlIGV2YWx1YXRpb24gd2l0aCBhIG5vZGUgbGlzdCBtYWRlIG9mCisJICAgICogYSBzaW5nbGUgaXRlbSBpbiB0aGUgbm9kZXNldC4KKwkgICAgKi8KKwkgICAgY3R4dC0+Y29udGV4dC0+bm9kZSA9IG9sZHNldC0+bm9kZVRhYltpXTsKKwkgICAgaWYgKChvbGRzZXQtPm5vZGVUYWJbaV0tPnR5cGUgIT0gWE1MX05BTUVTUEFDRV9ERUNMKSAmJgorCQkob2xkc2V0LT5ub2RlVGFiW2ldLT5kb2MgIT0gTlVMTCkpCisJCWN0eHQtPmNvbnRleHQtPmRvYyA9IG9sZHNldC0+bm9kZVRhYltpXS0+ZG9jOworCSAgICBpZiAodG1wID09IE5VTEwpIHsKKwkJdG1wID0geG1sWFBhdGhDYWNoZU5ld05vZGVTZXQoY3R4dC0+Y29udGV4dCwKKwkJICAgIGN0eHQtPmNvbnRleHQtPm5vZGUpOworCSAgICB9IGVsc2UgeworCQlpZiAoeG1sWFBhdGhOb2RlU2V0QWRkVW5pcXVlKHRtcC0+bm9kZXNldHZhbCwKKwkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdHh0LT5jb250ZXh0LT5ub2RlKSA8IDApIHsKKwkJICAgIGN0eHQtPmVycm9yID0gWFBBVEhfTUVNT1JZX0VSUk9SOworCQl9CisJICAgIH0KKwkgICAgdmFsdWVQdXNoKGN0eHQsIHRtcCk7CisJICAgIGN0eHQtPmNvbnRleHQtPmNvbnRleHRTaXplID0gb2xkc2V0LT5ub2RlTnI7CisJICAgIGN0eHQtPmNvbnRleHQtPnByb3hpbWl0eVBvc2l0aW9uID0gaSArIDE7CisJICAgIGlmIChvcC0+Y2gyICE9IC0xKQorCQl0b3RhbCArPSB4bWxYUGF0aENvbXBPcEV2YWwoY3R4dCwgJmNvbXAtPnN0ZXBzW29wLT5jaDJdKTsKKwkgICAgaWYgKGN0eHQtPmVycm9yICE9IFhQQVRIX0VYUFJFU1NJT05fT0spIHsKKwkJeG1sWFBhdGhGcmVlTm9kZVNldChuZXdzZXQpOworCQl4bWxYUGF0aEZyZWVPYmplY3Qob2JqKTsKKwkJcmV0dXJuKDApOworCSAgICB9CisJICAgIC8qCisJICAgICogVGhlIHJlc3VsdCBvZiB0aGUgZXZhbHVhdGlvbiBuZWVkcyB0byBiZSB0ZXN0ZWQgdG8KKwkgICAgKiBkZWNpZGUgd2hldGhlciB0aGUgZmlsdGVyIHN1Y2NlZWRlZCBvciBub3QKKwkgICAgKi8KKwkgICAgcmVzID0gdmFsdWVQb3AoY3R4dCk7CisJICAgIGlmICh4bWxYUGF0aEV2YWx1YXRlUHJlZGljYXRlUmVzdWx0KGN0eHQsIHJlcykpIHsKKwkJaWYgKHhtbFhQYXRoTm9kZVNldEFkZChuZXdzZXQsIG9sZHNldC0+bm9kZVRhYltpXSkgPCAwKQorCQkgICAgY3R4dC0+ZXJyb3IgPSBYUEFUSF9NRU1PUllfRVJST1I7CisJICAgIH0KKwkgICAgLyoKKwkgICAgKiBDbGVhbnVwCisJICAgICovCisJICAgIGlmIChyZXMgIT0gTlVMTCkgeworCQl4bWxYUGF0aFJlbGVhc2VPYmplY3QoY3R4dC0+Y29udGV4dCwgcmVzKTsKKwkgICAgfQorCSAgICBpZiAoY3R4dC0+dmFsdWUgPT0gdG1wKSB7CisJCXZhbHVlUG9wKGN0eHQpOworCQkvKgorCQkqIERvbid0IGZyZWUgdGhlIHRlbXBvcmFyeSBub2Rlc2V0CisJCSogaW4gb3JkZXIgdG8gYXZvaWQgbWFzc2l2ZSByZWNyZWF0aW9uIGluc2lkZSB0aGlzCisJCSogbG9vcC4KKwkJKi8KKwkJeG1sWFBhdGhOb2RlU2V0Q2xlYXIodG1wLT5ub2Rlc2V0dmFsLCAxKTsKKwkgICAgfSBlbHNlCisJCXRtcCA9IE5VTEw7CisJICAgIGN0eHQtPmNvbnRleHQtPm5vZGUgPSBOVUxMOworCSAgICAvKgorCSAgICAqIE9ubHkgcHV0IHRoZSBmaXJzdCBub2RlIGluIHRoZSByZXN1bHQsIHRoZW4gbGVhdmUuCisJICAgICovCisJICAgIGlmIChuZXdzZXQtPm5vZGVOciA+IDApIHsKKwkJKmZpcnN0ID0gKihuZXdzZXQtPm5vZGVUYWIpOworCQlicmVhazsKKwkgICAgfQorCX0KKwlpZiAodG1wICE9IE5VTEwpIHsKKwkgICAgeG1sWFBhdGhSZWxlYXNlT2JqZWN0KGN0eHQtPmNvbnRleHQsIHRtcCk7CisJfQorCS8qCisJKiBUaGUgcmVzdWx0IGlzIHVzZWQgYXMgdGhlIG5ldyBldmFsdWF0aW9uIHNldC4KKwkqLworCXhtbFhQYXRoUmVsZWFzZU9iamVjdChjdHh0LT5jb250ZXh0LCBvYmopOworCWN0eHQtPmNvbnRleHQtPm5vZGUgPSBOVUxMOworCWN0eHQtPmNvbnRleHQtPmNvbnRleHRTaXplID0gLTE7CisJY3R4dC0+Y29udGV4dC0+cHJveGltaXR5UG9zaXRpb24gPSAtMTsKKwkvKiBtYXkgd2FudCB0byBtb3ZlIHRoaXMgcGFzdCB0aGUgJ30nIGxhdGVyICovCisJY3R4dC0+Y29udGV4dC0+ZG9jID0gb2xkRG9jOworCXZhbHVlUHVzaChjdHh0LCB4bWxYUGF0aENhY2hlV3JhcE5vZGVTZXQoY3R4dC0+Y29udGV4dCwgbmV3c2V0KSk7CisgICAgfQorICAgIGN0eHQtPmNvbnRleHQtPm5vZGUgPSBvbGRub2RlOworICAgIHJldHVybih0b3RhbCk7Cit9CisjZW5kaWYgLyogWFBfT1BUSU1JWkVEX0ZJTFRFUl9GSVJTVCAqLworCisvKioKKyAqIHhtbFhQYXRoQ29tcE9wRXZhbDoKKyAqIEBjdHh0OiAgdGhlIFhQYXRoIHBhcnNlciBjb250ZXh0IHdpdGggdGhlIGNvbXBpbGVkIGV4cHJlc3Npb24KKyAqIEBvcDogIGFuIFhQYXRoIGNvbXBpbGVkIG9wZXJhdGlvbgorICoKKyAqIEV2YWx1YXRlIHRoZSBQcmVjb21waWxlZCBYUGF0aCBvcGVyYXRpb24KKyAqIFJldHVybnMgdGhlIG51bWJlciBvZiBub2RlcyB0cmF2ZXJzZWQKKyAqLworc3RhdGljIGludAoreG1sWFBhdGhDb21wT3BFdmFsKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0LCB4bWxYUGF0aFN0ZXBPcFB0ciBvcCkKK3sKKyAgICBpbnQgdG90YWwgPSAwOworICAgIGludCBlcXVhbCwgcmV0OworICAgIHhtbFhQYXRoQ29tcEV4cHJQdHIgY29tcDsKKyAgICB4bWxYUGF0aE9iamVjdFB0ciBhcmcxLCBhcmcyOworICAgIHhtbE5vZGVQdHIgYmFrOworICAgIHhtbERvY1B0ciBiYWtkOworICAgIGludCBwcDsKKyAgICBpbnQgY3M7CisKKyAgICBDSEVDS19FUlJPUjA7CisgICAgY29tcCA9IGN0eHQtPmNvbXA7CisgICAgc3dpdGNoIChvcC0+b3ApIHsKKyAgICAgICAgY2FzZSBYUEFUSF9PUF9FTkQ6CisgICAgICAgICAgICByZXR1cm4gKDApOworICAgICAgICBjYXNlIFhQQVRIX09QX0FORDoKKwkgICAgYmFrZCA9IGN0eHQtPmNvbnRleHQtPmRvYzsKKwkgICAgYmFrID0gY3R4dC0+Y29udGV4dC0+bm9kZTsKKwkgICAgcHAgPSBjdHh0LT5jb250ZXh0LT5wcm94aW1pdHlQb3NpdGlvbjsKKwkgICAgY3MgPSBjdHh0LT5jb250ZXh0LT5jb250ZXh0U2l6ZTsKKyAgICAgICAgICAgIHRvdGFsICs9IHhtbFhQYXRoQ29tcE9wRXZhbChjdHh0LCAmY29tcC0+c3RlcHNbb3AtPmNoMV0pOworCSAgICBDSEVDS19FUlJPUjA7CisgICAgICAgICAgICB4bWxYUGF0aEJvb2xlYW5GdW5jdGlvbihjdHh0LCAxKTsKKyAgICAgICAgICAgIGlmICgoY3R4dC0+dmFsdWUgPT0gTlVMTCkgfHwgKGN0eHQtPnZhbHVlLT5ib29sdmFsID09IDApKQorICAgICAgICAgICAgICAgIHJldHVybiAodG90YWwpOworICAgICAgICAgICAgYXJnMiA9IHZhbHVlUG9wKGN0eHQpOworCSAgICBjdHh0LT5jb250ZXh0LT5kb2MgPSBiYWtkOworCSAgICBjdHh0LT5jb250ZXh0LT5ub2RlID0gYmFrOworCSAgICBjdHh0LT5jb250ZXh0LT5wcm94aW1pdHlQb3NpdGlvbiA9IHBwOworCSAgICBjdHh0LT5jb250ZXh0LT5jb250ZXh0U2l6ZSA9IGNzOworICAgICAgICAgICAgdG90YWwgKz0geG1sWFBhdGhDb21wT3BFdmFsKGN0eHQsICZjb21wLT5zdGVwc1tvcC0+Y2gyXSk7CisJICAgIGlmIChjdHh0LT5lcnJvcikgeworCQl4bWxYUGF0aEZyZWVPYmplY3QoYXJnMik7CisJCXJldHVybigwKTsKKwkgICAgfQorICAgICAgICAgICAgeG1sWFBhdGhCb29sZWFuRnVuY3Rpb24oY3R4dCwgMSk7CisgICAgICAgICAgICBhcmcxID0gdmFsdWVQb3AoY3R4dCk7CisgICAgICAgICAgICBhcmcxLT5ib29sdmFsICY9IGFyZzItPmJvb2x2YWw7CisgICAgICAgICAgICB2YWx1ZVB1c2goY3R4dCwgYXJnMSk7CisJICAgIHhtbFhQYXRoUmVsZWFzZU9iamVjdChjdHh0LT5jb250ZXh0LCBhcmcyKTsKKyAgICAgICAgICAgIHJldHVybiAodG90YWwpOworICAgICAgICBjYXNlIFhQQVRIX09QX09SOgorCSAgICBiYWtkID0gY3R4dC0+Y29udGV4dC0+ZG9jOworCSAgICBiYWsgPSBjdHh0LT5jb250ZXh0LT5ub2RlOworCSAgICBwcCA9IGN0eHQtPmNvbnRleHQtPnByb3hpbWl0eVBvc2l0aW9uOworCSAgICBjcyA9IGN0eHQtPmNvbnRleHQtPmNvbnRleHRTaXplOworICAgICAgICAgICAgdG90YWwgKz0geG1sWFBhdGhDb21wT3BFdmFsKGN0eHQsICZjb21wLT5zdGVwc1tvcC0+Y2gxXSk7CisJICAgIENIRUNLX0VSUk9SMDsKKyAgICAgICAgICAgIHhtbFhQYXRoQm9vbGVhbkZ1bmN0aW9uKGN0eHQsIDEpOworICAgICAgICAgICAgaWYgKChjdHh0LT52YWx1ZSA9PSBOVUxMKSB8fCAoY3R4dC0+dmFsdWUtPmJvb2x2YWwgPT0gMSkpCisgICAgICAgICAgICAgICAgcmV0dXJuICh0b3RhbCk7CisgICAgICAgICAgICBhcmcyID0gdmFsdWVQb3AoY3R4dCk7CisJICAgIGN0eHQtPmNvbnRleHQtPmRvYyA9IGJha2Q7CisJICAgIGN0eHQtPmNvbnRleHQtPm5vZGUgPSBiYWs7CisJICAgIGN0eHQtPmNvbnRleHQtPnByb3hpbWl0eVBvc2l0aW9uID0gcHA7CisJICAgIGN0eHQtPmNvbnRleHQtPmNvbnRleHRTaXplID0gY3M7CisgICAgICAgICAgICB0b3RhbCArPSB4bWxYUGF0aENvbXBPcEV2YWwoY3R4dCwgJmNvbXAtPnN0ZXBzW29wLT5jaDJdKTsKKwkgICAgaWYgKGN0eHQtPmVycm9yKSB7CisJCXhtbFhQYXRoRnJlZU9iamVjdChhcmcyKTsKKwkJcmV0dXJuKDApOworCSAgICB9CisgICAgICAgICAgICB4bWxYUGF0aEJvb2xlYW5GdW5jdGlvbihjdHh0LCAxKTsKKyAgICAgICAgICAgIGFyZzEgPSB2YWx1ZVBvcChjdHh0KTsKKyAgICAgICAgICAgIGFyZzEtPmJvb2x2YWwgfD0gYXJnMi0+Ym9vbHZhbDsKKyAgICAgICAgICAgIHZhbHVlUHVzaChjdHh0LCBhcmcxKTsKKwkgICAgeG1sWFBhdGhSZWxlYXNlT2JqZWN0KGN0eHQtPmNvbnRleHQsIGFyZzIpOworICAgICAgICAgICAgcmV0dXJuICh0b3RhbCk7CisgICAgICAgIGNhc2UgWFBBVEhfT1BfRVFVQUw6CisJICAgIGJha2QgPSBjdHh0LT5jb250ZXh0LT5kb2M7CisJICAgIGJhayA9IGN0eHQtPmNvbnRleHQtPm5vZGU7CisJICAgIHBwID0gY3R4dC0+Y29udGV4dC0+cHJveGltaXR5UG9zaXRpb247CisJICAgIGNzID0gY3R4dC0+Y29udGV4dC0+Y29udGV4dFNpemU7CisgICAgICAgICAgICB0b3RhbCArPSB4bWxYUGF0aENvbXBPcEV2YWwoY3R4dCwgJmNvbXAtPnN0ZXBzW29wLT5jaDFdKTsKKwkgICAgQ0hFQ0tfRVJST1IwOworCSAgICBjdHh0LT5jb250ZXh0LT5kb2MgPSBiYWtkOworCSAgICBjdHh0LT5jb250ZXh0LT5ub2RlID0gYmFrOworCSAgICBjdHh0LT5jb250ZXh0LT5wcm94aW1pdHlQb3NpdGlvbiA9IHBwOworCSAgICBjdHh0LT5jb250ZXh0LT5jb250ZXh0U2l6ZSA9IGNzOworICAgICAgICAgICAgdG90YWwgKz0geG1sWFBhdGhDb21wT3BFdmFsKGN0eHQsICZjb21wLT5zdGVwc1tvcC0+Y2gyXSk7CisJICAgIENIRUNLX0VSUk9SMDsKKwkgICAgaWYgKG9wLT52YWx1ZSkKKwkJZXF1YWwgPSB4bWxYUGF0aEVxdWFsVmFsdWVzKGN0eHQpOworCSAgICBlbHNlCisJCWVxdWFsID0geG1sWFBhdGhOb3RFcXVhbFZhbHVlcyhjdHh0KTsKKwkgICAgdmFsdWVQdXNoKGN0eHQsIHhtbFhQYXRoQ2FjaGVOZXdCb29sZWFuKGN0eHQtPmNvbnRleHQsIGVxdWFsKSk7CisgICAgICAgICAgICByZXR1cm4gKHRvdGFsKTsKKyAgICAgICAgY2FzZSBYUEFUSF9PUF9DTVA6CisJICAgIGJha2QgPSBjdHh0LT5jb250ZXh0LT5kb2M7CisJICAgIGJhayA9IGN0eHQtPmNvbnRleHQtPm5vZGU7CisJICAgIHBwID0gY3R4dC0+Y29udGV4dC0+cHJveGltaXR5UG9zaXRpb247CisJICAgIGNzID0gY3R4dC0+Y29udGV4dC0+Y29udGV4dFNpemU7CisgICAgICAgICAgICB0b3RhbCArPSB4bWxYUGF0aENvbXBPcEV2YWwoY3R4dCwgJmNvbXAtPnN0ZXBzW29wLT5jaDFdKTsKKwkgICAgQ0hFQ0tfRVJST1IwOworCSAgICBjdHh0LT5jb250ZXh0LT5kb2MgPSBiYWtkOworCSAgICBjdHh0LT5jb250ZXh0LT5ub2RlID0gYmFrOworCSAgICBjdHh0LT5jb250ZXh0LT5wcm94aW1pdHlQb3NpdGlvbiA9IHBwOworCSAgICBjdHh0LT5jb250ZXh0LT5jb250ZXh0U2l6ZSA9IGNzOworICAgICAgICAgICAgdG90YWwgKz0geG1sWFBhdGhDb21wT3BFdmFsKGN0eHQsICZjb21wLT5zdGVwc1tvcC0+Y2gyXSk7CisJICAgIENIRUNLX0VSUk9SMDsKKyAgICAgICAgICAgIHJldCA9IHhtbFhQYXRoQ29tcGFyZVZhbHVlcyhjdHh0LCBvcC0+dmFsdWUsIG9wLT52YWx1ZTIpOworCSAgICB2YWx1ZVB1c2goY3R4dCwgeG1sWFBhdGhDYWNoZU5ld0Jvb2xlYW4oY3R4dC0+Y29udGV4dCwgcmV0KSk7CisgICAgICAgICAgICByZXR1cm4gKHRvdGFsKTsKKyAgICAgICAgY2FzZSBYUEFUSF9PUF9QTFVTOgorCSAgICBiYWtkID0gY3R4dC0+Y29udGV4dC0+ZG9jOworCSAgICBiYWsgPSBjdHh0LT5jb250ZXh0LT5ub2RlOworCSAgICBwcCA9IGN0eHQtPmNvbnRleHQtPnByb3hpbWl0eVBvc2l0aW9uOworCSAgICBjcyA9IGN0eHQtPmNvbnRleHQtPmNvbnRleHRTaXplOworICAgICAgICAgICAgdG90YWwgKz0geG1sWFBhdGhDb21wT3BFdmFsKGN0eHQsICZjb21wLT5zdGVwc1tvcC0+Y2gxXSk7CisJICAgIENIRUNLX0VSUk9SMDsKKyAgICAgICAgICAgIGlmIChvcC0+Y2gyICE9IC0xKSB7CisJCWN0eHQtPmNvbnRleHQtPmRvYyA9IGJha2Q7CisJCWN0eHQtPmNvbnRleHQtPm5vZGUgPSBiYWs7CisJCWN0eHQtPmNvbnRleHQtPnByb3hpbWl0eVBvc2l0aW9uID0gcHA7CisJCWN0eHQtPmNvbnRleHQtPmNvbnRleHRTaXplID0gY3M7CisgICAgICAgICAgICAgICAgdG90YWwgKz0geG1sWFBhdGhDb21wT3BFdmFsKGN0eHQsICZjb21wLT5zdGVwc1tvcC0+Y2gyXSk7CisJICAgIH0KKwkgICAgQ0hFQ0tfRVJST1IwOworICAgICAgICAgICAgaWYgKG9wLT52YWx1ZSA9PSAwKQorICAgICAgICAgICAgICAgIHhtbFhQYXRoU3ViVmFsdWVzKGN0eHQpOworICAgICAgICAgICAgZWxzZSBpZiAob3AtPnZhbHVlID09IDEpCisgICAgICAgICAgICAgICAgeG1sWFBhdGhBZGRWYWx1ZXMoY3R4dCk7CisgICAgICAgICAgICBlbHNlIGlmIChvcC0+dmFsdWUgPT0gMikKKyAgICAgICAgICAgICAgICB4bWxYUGF0aFZhbHVlRmxpcFNpZ24oY3R4dCk7CisgICAgICAgICAgICBlbHNlIGlmIChvcC0+dmFsdWUgPT0gMykgeworICAgICAgICAgICAgICAgIENBU1RfVE9fTlVNQkVSOworICAgICAgICAgICAgICAgIENIRUNLX1RZUEUwKFhQQVRIX05VTUJFUik7CisgICAgICAgICAgICB9CisgICAgICAgICAgICByZXR1cm4gKHRvdGFsKTsKKyAgICAgICAgY2FzZSBYUEFUSF9PUF9NVUxUOgorCSAgICBiYWtkID0gY3R4dC0+Y29udGV4dC0+ZG9jOworCSAgICBiYWsgPSBjdHh0LT5jb250ZXh0LT5ub2RlOworCSAgICBwcCA9IGN0eHQtPmNvbnRleHQtPnByb3hpbWl0eVBvc2l0aW9uOworCSAgICBjcyA9IGN0eHQtPmNvbnRleHQtPmNvbnRleHRTaXplOworICAgICAgICAgICAgdG90YWwgKz0geG1sWFBhdGhDb21wT3BFdmFsKGN0eHQsICZjb21wLT5zdGVwc1tvcC0+Y2gxXSk7CisJICAgIENIRUNLX0VSUk9SMDsKKwkgICAgY3R4dC0+Y29udGV4dC0+ZG9jID0gYmFrZDsKKwkgICAgY3R4dC0+Y29udGV4dC0+bm9kZSA9IGJhazsKKwkgICAgY3R4dC0+Y29udGV4dC0+cHJveGltaXR5UG9zaXRpb24gPSBwcDsKKwkgICAgY3R4dC0+Y29udGV4dC0+Y29udGV4dFNpemUgPSBjczsKKyAgICAgICAgICAgIHRvdGFsICs9IHhtbFhQYXRoQ29tcE9wRXZhbChjdHh0LCAmY29tcC0+c3RlcHNbb3AtPmNoMl0pOworCSAgICBDSEVDS19FUlJPUjA7CisgICAgICAgICAgICBpZiAob3AtPnZhbHVlID09IDApCisgICAgICAgICAgICAgICAgeG1sWFBhdGhNdWx0VmFsdWVzKGN0eHQpOworICAgICAgICAgICAgZWxzZSBpZiAob3AtPnZhbHVlID09IDEpCisgICAgICAgICAgICAgICAgeG1sWFBhdGhEaXZWYWx1ZXMoY3R4dCk7CisgICAgICAgICAgICBlbHNlIGlmIChvcC0+dmFsdWUgPT0gMikKKyAgICAgICAgICAgICAgICB4bWxYUGF0aE1vZFZhbHVlcyhjdHh0KTsKKyAgICAgICAgICAgIHJldHVybiAodG90YWwpOworICAgICAgICBjYXNlIFhQQVRIX09QX1VOSU9OOgorCSAgICBiYWtkID0gY3R4dC0+Y29udGV4dC0+ZG9jOworCSAgICBiYWsgPSBjdHh0LT5jb250ZXh0LT5ub2RlOworCSAgICBwcCA9IGN0eHQtPmNvbnRleHQtPnByb3hpbWl0eVBvc2l0aW9uOworCSAgICBjcyA9IGN0eHQtPmNvbnRleHQtPmNvbnRleHRTaXplOworICAgICAgICAgICAgdG90YWwgKz0geG1sWFBhdGhDb21wT3BFdmFsKGN0eHQsICZjb21wLT5zdGVwc1tvcC0+Y2gxXSk7CisJICAgIENIRUNLX0VSUk9SMDsKKwkgICAgY3R4dC0+Y29udGV4dC0+ZG9jID0gYmFrZDsKKwkgICAgY3R4dC0+Y29udGV4dC0+bm9kZSA9IGJhazsKKwkgICAgY3R4dC0+Y29udGV4dC0+cHJveGltaXR5UG9zaXRpb24gPSBwcDsKKwkgICAgY3R4dC0+Y29udGV4dC0+Y29udGV4dFNpemUgPSBjczsKKyAgICAgICAgICAgIHRvdGFsICs9IHhtbFhQYXRoQ29tcE9wRXZhbChjdHh0LCAmY29tcC0+c3RlcHNbb3AtPmNoMl0pOworCSAgICBDSEVDS19FUlJPUjA7CisgICAgICAgICAgICBDSEVDS19UWVBFMChYUEFUSF9OT0RFU0VUKTsKKyAgICAgICAgICAgIGFyZzIgPSB2YWx1ZVBvcChjdHh0KTsKKworICAgICAgICAgICAgQ0hFQ0tfVFlQRTAoWFBBVEhfTk9ERVNFVCk7CisgICAgICAgICAgICBhcmcxID0gdmFsdWVQb3AoY3R4dCk7CisKKwkgICAgaWYgKChhcmcxLT5ub2Rlc2V0dmFsID09IE5VTEwpIHx8CisJCSgoYXJnMi0+bm9kZXNldHZhbCAhPSBOVUxMKSAmJgorCQkgKGFyZzItPm5vZGVzZXR2YWwtPm5vZGVOciAhPSAwKSkpCisJICAgIHsKKwkJYXJnMS0+bm9kZXNldHZhbCA9IHhtbFhQYXRoTm9kZVNldE1lcmdlKGFyZzEtPm5vZGVzZXR2YWwsCisJCQkJCQkJYXJnMi0+bm9kZXNldHZhbCk7CisJICAgIH0KKworICAgICAgICAgICAgdmFsdWVQdXNoKGN0eHQsIGFyZzEpOworCSAgICB4bWxYUGF0aFJlbGVhc2VPYmplY3QoY3R4dC0+Y29udGV4dCwgYXJnMik7CisgICAgICAgICAgICByZXR1cm4gKHRvdGFsKTsKKyAgICAgICAgY2FzZSBYUEFUSF9PUF9ST09UOgorICAgICAgICAgICAgeG1sWFBhdGhSb290KGN0eHQpOworICAgICAgICAgICAgcmV0dXJuICh0b3RhbCk7CisgICAgICAgIGNhc2UgWFBBVEhfT1BfTk9ERToKKyAgICAgICAgICAgIGlmIChvcC0+Y2gxICE9IC0xKQorICAgICAgICAgICAgICAgIHRvdGFsICs9IHhtbFhQYXRoQ29tcE9wRXZhbChjdHh0LCAmY29tcC0+c3RlcHNbb3AtPmNoMV0pOworCSAgICBDSEVDS19FUlJPUjA7CisgICAgICAgICAgICBpZiAob3AtPmNoMiAhPSAtMSkKKyAgICAgICAgICAgICAgICB0b3RhbCArPSB4bWxYUGF0aENvbXBPcEV2YWwoY3R4dCwgJmNvbXAtPnN0ZXBzW29wLT5jaDJdKTsKKwkgICAgQ0hFQ0tfRVJST1IwOworCSAgICB2YWx1ZVB1c2goY3R4dCwgeG1sWFBhdGhDYWNoZU5ld05vZGVTZXQoY3R4dC0+Y29udGV4dCwKKwkJY3R4dC0+Y29udGV4dC0+bm9kZSkpOworICAgICAgICAgICAgcmV0dXJuICh0b3RhbCk7CisgICAgICAgIGNhc2UgWFBBVEhfT1BfUkVTRVQ6CisgICAgICAgICAgICBpZiAob3AtPmNoMSAhPSAtMSkKKyAgICAgICAgICAgICAgICB0b3RhbCArPSB4bWxYUGF0aENvbXBPcEV2YWwoY3R4dCwgJmNvbXAtPnN0ZXBzW29wLT5jaDFdKTsKKwkgICAgQ0hFQ0tfRVJST1IwOworICAgICAgICAgICAgaWYgKG9wLT5jaDIgIT0gLTEpCisgICAgICAgICAgICAgICAgdG90YWwgKz0geG1sWFBhdGhDb21wT3BFdmFsKGN0eHQsICZjb21wLT5zdGVwc1tvcC0+Y2gyXSk7CisJICAgIENIRUNLX0VSUk9SMDsKKyAgICAgICAgICAgIGN0eHQtPmNvbnRleHQtPm5vZGUgPSBOVUxMOworICAgICAgICAgICAgcmV0dXJuICh0b3RhbCk7CisgICAgICAgIGNhc2UgWFBBVEhfT1BfQ09MTEVDVDp7CisgICAgICAgICAgICAgICAgaWYgKG9wLT5jaDEgPT0gLTEpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiAodG90YWwpOworCisgICAgICAgICAgICAgICAgdG90YWwgKz0geG1sWFBhdGhDb21wT3BFdmFsKGN0eHQsICZjb21wLT5zdGVwc1tvcC0+Y2gxXSk7CisJCUNIRUNLX0VSUk9SMDsKKworICAgICAgICAgICAgICAgIHRvdGFsICs9IHhtbFhQYXRoTm9kZUNvbGxlY3RBbmRUZXN0KGN0eHQsIG9wLCBOVUxMLCBOVUxMLCAwKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gKHRvdGFsKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgY2FzZSBYUEFUSF9PUF9WQUxVRToKKyAgICAgICAgICAgIHZhbHVlUHVzaChjdHh0LAorICAgICAgICAgICAgICAgICAgICAgIHhtbFhQYXRoQ2FjaGVPYmplY3RDb3B5KGN0eHQtPmNvbnRleHQsCisJCQkoeG1sWFBhdGhPYmplY3RQdHIpIG9wLT52YWx1ZTQpKTsKKyAgICAgICAgICAgIHJldHVybiAodG90YWwpOworICAgICAgICBjYXNlIFhQQVRIX09QX1ZBUklBQkxFOnsKKwkJeG1sWFBhdGhPYmplY3RQdHIgdmFsOworCisgICAgICAgICAgICAgICAgaWYgKG9wLT5jaDEgIT0gLTEpCisgICAgICAgICAgICAgICAgICAgIHRvdGFsICs9CisgICAgICAgICAgICAgICAgICAgICAgICB4bWxYUGF0aENvbXBPcEV2YWwoY3R4dCwgJmNvbXAtPnN0ZXBzW29wLT5jaDFdKTsKKyAgICAgICAgICAgICAgICBpZiAob3AtPnZhbHVlNSA9PSBOVUxMKSB7CisJCSAgICB2YWwgPSB4bWxYUGF0aFZhcmlhYmxlTG9va3VwKGN0eHQtPmNvbnRleHQsIG9wLT52YWx1ZTQpOworCQkgICAgaWYgKHZhbCA9PSBOVUxMKSB7CisJCQljdHh0LT5lcnJvciA9IFhQQVRIX1VOREVGX1ZBUklBQkxFX0VSUk9SOworCQkJcmV0dXJuKDApOworCQkgICAgfQorICAgICAgICAgICAgICAgICAgICB2YWx1ZVB1c2goY3R4dCwgdmFsKTsKKwkJfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqVVJJOworCisgICAgICAgICAgICAgICAgICAgIFVSSSA9IHhtbFhQYXRoTnNMb29rdXAoY3R4dC0+Y29udGV4dCwgb3AtPnZhbHVlNSk7CisgICAgICAgICAgICAgICAgICAgIGlmIChVUkkgPT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICAgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisgICAgICAgICAgICAieG1sWFBhdGhDb21wT3BFdmFsOiB2YXJpYWJsZSAlcyBib3VuZCB0byB1bmRlZmluZWQgcHJlZml4ICVzXG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYXIgKikgb3AtPnZhbHVlNCwgKGNoYXIgKilvcC0+dmFsdWU1KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGN0eHQtPmVycm9yID0gWFBBVEhfVU5ERUZfUFJFRklYX0VSUk9SOworICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICh0b3RhbCk7CisgICAgICAgICAgICAgICAgICAgIH0KKwkJICAgIHZhbCA9IHhtbFhQYXRoVmFyaWFibGVMb29rdXBOUyhjdHh0LT5jb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wLT52YWx1ZTQsIFVSSSk7CisJCSAgICBpZiAodmFsID09IE5VTEwpIHsKKwkJCWN0eHQtPmVycm9yID0gWFBBVEhfVU5ERUZfVkFSSUFCTEVfRVJST1I7CisJCQlyZXR1cm4oMCk7CisJCSAgICB9CisgICAgICAgICAgICAgICAgICAgIHZhbHVlUHVzaChjdHh0LCB2YWwpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICByZXR1cm4gKHRvdGFsKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgY2FzZSBYUEFUSF9PUF9GVU5DVElPTjp7CisgICAgICAgICAgICAgICAgeG1sWFBhdGhGdW5jdGlvbiBmdW5jOworICAgICAgICAgICAgICAgIGNvbnN0IHhtbENoYXIgKm9sZEZ1bmMsICpvbGRGdW5jVVJJOworCQlpbnQgaTsKKyAgICAgICAgICAgICAgICBpbnQgZnJhbWU7CisKKyAgICAgICAgICAgICAgICBmcmFtZSA9IHhtbFhQYXRoU2V0RnJhbWUoY3R4dCk7CisgICAgICAgICAgICAgICAgaWYgKG9wLT5jaDEgIT0gLTEpIHsKKyAgICAgICAgICAgICAgICAgICAgdG90YWwgKz0KKyAgICAgICAgICAgICAgICAgICAgICAgIHhtbFhQYXRoQ29tcE9wRXZhbChjdHh0LCAmY29tcC0+c3RlcHNbb3AtPmNoMV0pOworICAgICAgICAgICAgICAgICAgICBpZiAoY3R4dC0+ZXJyb3IgIT0gWFBBVEhfRVhQUkVTU0lPTl9PSykgeworICAgICAgICAgICAgICAgICAgICAgICAgeG1sWFBhdGhQb3BGcmFtZShjdHh0LCBmcmFtZSk7CisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKHRvdGFsKTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKwkJaWYgKGN0eHQtPnZhbHVlTnIgPCBjdHh0LT52YWx1ZUZyYW1lICsgb3AtPnZhbHVlKSB7CisJCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJCSAgICAieG1sWFBhdGhDb21wT3BFdmFsOiBwYXJhbWV0ZXIgZXJyb3JcbiIpOworCQkgICAgY3R4dC0+ZXJyb3IgPSBYUEFUSF9JTlZBTElEX09QRVJBTkQ7CisgICAgICAgICAgICAgICAgICAgIHhtbFhQYXRoUG9wRnJhbWUoY3R4dCwgZnJhbWUpOworCQkgICAgcmV0dXJuICh0b3RhbCk7CisJCX0KKwkJZm9yIChpID0gMDsgaSA8IG9wLT52YWx1ZTsgaSsrKSB7CisJCSAgICBpZiAoY3R4dC0+dmFsdWVUYWJbKGN0eHQtPnZhbHVlTnIgLSAxKSAtIGldID09IE5VTEwpIHsKKwkJCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkJCSJ4bWxYUGF0aENvbXBPcEV2YWw6IHBhcmFtZXRlciBlcnJvclxuIik7CisJCQljdHh0LT5lcnJvciA9IFhQQVRIX0lOVkFMSURfT1BFUkFORDsKKyAgICAgICAgICAgICAgICAgICAgICAgIHhtbFhQYXRoUG9wRnJhbWUoY3R4dCwgZnJhbWUpOworCQkJcmV0dXJuICh0b3RhbCk7CisJCSAgICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGlmIChvcC0+Y2FjaGUgIT0gTlVMTCkKKyAgICAgICAgICAgICAgICAgICAgWE1MX0NBU1RfRlBUUihmdW5jKSA9IG9wLT5jYWNoZTsKKyAgICAgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgY29uc3QgeG1sQ2hhciAqVVJJID0gTlVMTDsKKworICAgICAgICAgICAgICAgICAgICBpZiAob3AtPnZhbHVlNSA9PSBOVUxMKQorICAgICAgICAgICAgICAgICAgICAgICAgZnVuYyA9CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sWFBhdGhGdW5jdGlvbkxvb2t1cChjdHh0LT5jb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3AtPnZhbHVlNCk7CisgICAgICAgICAgICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAgVVJJID0geG1sWFBhdGhOc0xvb2t1cChjdHh0LT5jb250ZXh0LCBvcC0+dmFsdWU1KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChVUkkgPT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorICAgICAgICAgICAgInhtbFhQYXRoQ29tcE9wRXZhbDogZnVuY3Rpb24gJXMgYm91bmQgdG8gdW5kZWZpbmVkIHByZWZpeCAlc1xuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjaGFyICopb3AtPnZhbHVlNCwgKGNoYXIgKilvcC0+dmFsdWU1KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxYUGF0aFBvcEZyYW1lKGN0eHQsIGZyYW1lKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdHh0LT5lcnJvciA9IFhQQVRIX1VOREVGX1BSRUZJWF9FUlJPUjsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKHRvdGFsKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmMgPSB4bWxYUGF0aEZ1bmN0aW9uTG9va3VwTlMoY3R4dC0+Y29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3AtPnZhbHVlNCwgVVJJKTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBpZiAoZnVuYyA9PSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgICAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInhtbFhQYXRoQ29tcE9wRXZhbDogZnVuY3Rpb24gJXMgbm90IGZvdW5kXG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjaGFyICopb3AtPnZhbHVlNCk7CisgICAgICAgICAgICAgICAgICAgICAgICBYUF9FUlJPUjAoWFBBVEhfVU5LTk9XTl9GVU5DX0VSUk9SKTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBvcC0+Y2FjaGUgPSBYTUxfQ0FTVF9GUFRSKGZ1bmMpOworICAgICAgICAgICAgICAgICAgICBvcC0+Y2FjaGVVUkkgPSAodm9pZCAqKSBVUkk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIG9sZEZ1bmMgPSBjdHh0LT5jb250ZXh0LT5mdW5jdGlvbjsKKyAgICAgICAgICAgICAgICBvbGRGdW5jVVJJID0gY3R4dC0+Y29udGV4dC0+ZnVuY3Rpb25VUkk7CisgICAgICAgICAgICAgICAgY3R4dC0+Y29udGV4dC0+ZnVuY3Rpb24gPSBvcC0+dmFsdWU0OworICAgICAgICAgICAgICAgIGN0eHQtPmNvbnRleHQtPmZ1bmN0aW9uVVJJID0gb3AtPmNhY2hlVVJJOworICAgICAgICAgICAgICAgIGZ1bmMoY3R4dCwgb3AtPnZhbHVlKTsKKyAgICAgICAgICAgICAgICBjdHh0LT5jb250ZXh0LT5mdW5jdGlvbiA9IG9sZEZ1bmM7CisgICAgICAgICAgICAgICAgY3R4dC0+Y29udGV4dC0+ZnVuY3Rpb25VUkkgPSBvbGRGdW5jVVJJOworICAgICAgICAgICAgICAgIHhtbFhQYXRoUG9wRnJhbWUoY3R4dCwgZnJhbWUpOworICAgICAgICAgICAgICAgIHJldHVybiAodG90YWwpOworICAgICAgICAgICAgfQorICAgICAgICBjYXNlIFhQQVRIX09QX0FSRzoKKwkgICAgYmFrZCA9IGN0eHQtPmNvbnRleHQtPmRvYzsKKwkgICAgYmFrID0gY3R4dC0+Y29udGV4dC0+bm9kZTsKKwkgICAgcHAgPSBjdHh0LT5jb250ZXh0LT5wcm94aW1pdHlQb3NpdGlvbjsKKwkgICAgY3MgPSBjdHh0LT5jb250ZXh0LT5jb250ZXh0U2l6ZTsKKyAgICAgICAgICAgIGlmIChvcC0+Y2gxICE9IC0xKSB7CisgICAgICAgICAgICAgICAgdG90YWwgKz0geG1sWFBhdGhDb21wT3BFdmFsKGN0eHQsICZjb21wLT5zdGVwc1tvcC0+Y2gxXSk7CisgICAgICAgICAgICAgICAgY3R4dC0+Y29udGV4dC0+Y29udGV4dFNpemUgPSBjczsKKyAgICAgICAgICAgICAgICBjdHh0LT5jb250ZXh0LT5wcm94aW1pdHlQb3NpdGlvbiA9IHBwOworICAgICAgICAgICAgICAgIGN0eHQtPmNvbnRleHQtPm5vZGUgPSBiYWs7CisgICAgICAgICAgICAgICAgY3R4dC0+Y29udGV4dC0+ZG9jID0gYmFrZDsKKwkgICAgICAgIENIRUNLX0VSUk9SMDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChvcC0+Y2gyICE9IC0xKSB7CisgICAgICAgICAgICAgICAgdG90YWwgKz0geG1sWFBhdGhDb21wT3BFdmFsKGN0eHQsICZjb21wLT5zdGVwc1tvcC0+Y2gyXSk7CisgICAgICAgICAgICAgICAgY3R4dC0+Y29udGV4dC0+Y29udGV4dFNpemUgPSBjczsKKyAgICAgICAgICAgICAgICBjdHh0LT5jb250ZXh0LT5wcm94aW1pdHlQb3NpdGlvbiA9IHBwOworICAgICAgICAgICAgICAgIGN0eHQtPmNvbnRleHQtPm5vZGUgPSBiYWs7CisgICAgICAgICAgICAgICAgY3R4dC0+Y29udGV4dC0+ZG9jID0gYmFrZDsKKwkgICAgICAgIENIRUNLX0VSUk9SMDsKKwkgICAgfQorICAgICAgICAgICAgcmV0dXJuICh0b3RhbCk7CisgICAgICAgIGNhc2UgWFBBVEhfT1BfUFJFRElDQVRFOgorICAgICAgICBjYXNlIFhQQVRIX09QX0ZJTFRFUjp7CisgICAgICAgICAgICAgICAgeG1sWFBhdGhPYmplY3RQdHIgcmVzOworICAgICAgICAgICAgICAgIHhtbFhQYXRoT2JqZWN0UHRyIG9iaiwgdG1wOworICAgICAgICAgICAgICAgIHhtbE5vZGVTZXRQdHIgbmV3c2V0ID0gTlVMTDsKKyAgICAgICAgICAgICAgICB4bWxOb2RlU2V0UHRyIG9sZHNldDsKKyAgICAgICAgICAgICAgICB4bWxOb2RlUHRyIG9sZG5vZGU7CisJCXhtbERvY1B0ciBvbGREb2M7CisgICAgICAgICAgICAgICAgaW50IGk7CisKKyAgICAgICAgICAgICAgICAvKgorICAgICAgICAgICAgICAgICAqIE9wdGltaXphdGlvbiBmb3IgKClbMV0gc2VsZWN0aW9uIGkuZS4gdGhlIGZpcnN0IGVsZW0KKyAgICAgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgICAgICBpZiAoKG9wLT5jaDEgIT0gLTEpICYmIChvcC0+Y2gyICE9IC0xKSAmJgorI2lmZGVmIFhQX09QVElNSVpFRF9GSUxURVJfRklSU1QKKwkJICAgIC8qCisJCSAgICAqIEZJTFRFUiBUT0RPOiBDYW4gd2UgYXNzdW1lIHRoYXQgdGhlIGlubmVyIHByb2Nlc3NpbmcKKwkJICAgICogIHdpbGwgcmVzdWx0IGluIGFuIG9yZGVyZWQgbGlzdCBpZiB3ZSBoYXZlIGFuCisJCSAgICAqICBYUEFUSF9PUF9GSUxURVI/CisJCSAgICAqICBXaGF0IGFib3V0IGFuIGFkZGl0aW9uYWwgZmllbGQgb3IgZmxhZyBvbgorCQkgICAgKiAgeG1sWFBhdGhPYmplY3QgbGlrZSBAc29ydGVkID8gVGhpcyB3YXkgd2Ugd291bG4nZCBuZWVkCisJCSAgICAqICB0byBhc3N1bWUgYW55dGhpbmcsIHNvIGl0IHdvdWxkIGJlIG1vcmUgcm9idXN0IGFuZAorCQkgICAgKiAgZWFzaWVyIHRvIG9wdGltaXplLgorCQkgICAgKi8KKyAgICAgICAgICAgICAgICAgICAgKChjb21wLT5zdGVwc1tvcC0+Y2gxXS5vcCA9PSBYUEFUSF9PUF9TT1JUKSB8fCAvKiAxOCAqLworCQkgICAgIChjb21wLT5zdGVwc1tvcC0+Y2gxXS5vcCA9PSBYUEFUSF9PUF9GSUxURVIpKSAmJiAvKiAxNyAqLworI2Vsc2UKKwkJICAgIChjb21wLT5zdGVwc1tvcC0+Y2gxXS5vcCA9PSBYUEFUSF9PUF9TT1JUKSAmJgorI2VuZGlmCisgICAgICAgICAgICAgICAgICAgIChjb21wLT5zdGVwc1tvcC0+Y2gyXS5vcCA9PSBYUEFUSF9PUF9WQUxVRSkpIHsgLyogMTIgKi8KKyAgICAgICAgICAgICAgICAgICAgeG1sWFBhdGhPYmplY3RQdHIgdmFsOworCisgICAgICAgICAgICAgICAgICAgIHZhbCA9IGNvbXAtPnN0ZXBzW29wLT5jaDJdLnZhbHVlNDsKKyAgICAgICAgICAgICAgICAgICAgaWYgKCh2YWwgIT0gTlVMTCkgJiYgKHZhbC0+dHlwZSA9PSBYUEFUSF9OVU1CRVIpICYmCisgICAgICAgICAgICAgICAgICAgICAgICAodmFsLT5mbG9hdHZhbCA9PSAxLjApKSB7CisgICAgICAgICAgICAgICAgICAgICAgICB4bWxOb2RlUHRyIGZpcnN0ID0gTlVMTDsKKworICAgICAgICAgICAgICAgICAgICAgICAgdG90YWwgKz0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxYUGF0aENvbXBPcEV2YWxGaXJzdChjdHh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZjb21wLT5zdGVwc1tvcC0+Y2gxXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZmlyc3QpOworCQkJQ0hFQ0tfRVJST1IwOworICAgICAgICAgICAgICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAgICAgICAgICAgICAqIFRoZSBub2Rlc2V0IHNob3VsZCBiZSBpbiBkb2N1bWVudCBvcmRlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAqIEtlZXAgb25seSB0aGUgZmlyc3QgdmFsdWUKKyAgICAgICAgICAgICAgICAgICAgICAgICAqLworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKChjdHh0LT52YWx1ZSAhPSBOVUxMKSAmJgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjdHh0LT52YWx1ZS0+dHlwZSA9PSBYUEFUSF9OT0RFU0VUKSAmJgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjdHh0LT52YWx1ZS0+bm9kZXNldHZhbCAhPSBOVUxMKSAmJgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjdHh0LT52YWx1ZS0+bm9kZXNldHZhbC0+bm9kZU5yID4gMSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3R4dC0+dmFsdWUtPm5vZGVzZXR2YWwtPm5vZGVOciA9IDE7CisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKHRvdGFsKTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAvKgorICAgICAgICAgICAgICAgICAqIE9wdGltaXphdGlvbiBmb3IgKClbbGFzdCgpXSBzZWxlY3Rpb24gaS5lLiB0aGUgbGFzdCBlbGVtCisgICAgICAgICAgICAgICAgICovCisgICAgICAgICAgICAgICAgaWYgKChvcC0+Y2gxICE9IC0xKSAmJiAob3AtPmNoMiAhPSAtMSkgJiYKKyAgICAgICAgICAgICAgICAgICAgKGNvbXAtPnN0ZXBzW29wLT5jaDFdLm9wID09IFhQQVRIX09QX1NPUlQpICYmCisgICAgICAgICAgICAgICAgICAgIChjb21wLT5zdGVwc1tvcC0+Y2gyXS5vcCA9PSBYUEFUSF9PUF9TT1JUKSkgeworICAgICAgICAgICAgICAgICAgICBpbnQgZiA9IGNvbXAtPnN0ZXBzW29wLT5jaDJdLmNoMTsKKworICAgICAgICAgICAgICAgICAgICBpZiAoKGYgIT0gLTEpICYmCisgICAgICAgICAgICAgICAgICAgICAgICAoY29tcC0+c3RlcHNbZl0ub3AgPT0gWFBBVEhfT1BfRlVOQ1RJT04pICYmCisgICAgICAgICAgICAgICAgICAgICAgICAoY29tcC0+c3RlcHNbZl0udmFsdWU1ID09IE5VTEwpICYmCisgICAgICAgICAgICAgICAgICAgICAgICAoY29tcC0+c3RlcHNbZl0udmFsdWUgPT0gMCkgJiYKKyAgICAgICAgICAgICAgICAgICAgICAgIChjb21wLT5zdGVwc1tmXS52YWx1ZTQgIT0gTlVMTCkgJiYKKyAgICAgICAgICAgICAgICAgICAgICAgICh4bWxTdHJFcXVhbAorICAgICAgICAgICAgICAgICAgICAgICAgIChjb21wLT5zdGVwc1tmXS52YWx1ZTQsIEJBRF9DQVNUICJsYXN0IikpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICB4bWxOb2RlUHRyIGxhc3QgPSBOVUxMOworCisgICAgICAgICAgICAgICAgICAgICAgICB0b3RhbCArPQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFhQYXRoQ29tcE9wRXZhbExhc3QoY3R4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZjb21wLT5zdGVwc1tvcC0+Y2gxXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsYXN0KTsKKwkJCUNIRUNLX0VSUk9SMDsKKyAgICAgICAgICAgICAgICAgICAgICAgIC8qCisgICAgICAgICAgICAgICAgICAgICAgICAgKiBUaGUgbm9kZXNldCBzaG91bGQgYmUgaW4gZG9jdW1lbnQgb3JkZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgKiBLZWVwIG9ubHkgdGhlIGxhc3QgdmFsdWUKKyAgICAgICAgICAgICAgICAgICAgICAgICAqLworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKChjdHh0LT52YWx1ZSAhPSBOVUxMKSAmJgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjdHh0LT52YWx1ZS0+dHlwZSA9PSBYUEFUSF9OT0RFU0VUKSAmJgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjdHh0LT52YWx1ZS0+bm9kZXNldHZhbCAhPSBOVUxMKSAmJgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjdHh0LT52YWx1ZS0+bm9kZXNldHZhbC0+bm9kZVRhYiAhPSBOVUxMKSAmJgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjdHh0LT52YWx1ZS0+bm9kZXNldHZhbC0+bm9kZU5yID4gMSkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdHh0LT52YWx1ZS0+bm9kZXNldHZhbC0+bm9kZVRhYlswXSA9CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN0eHQtPnZhbHVlLT5ub2Rlc2V0dmFsLT5ub2RlVGFiW2N0eHQtPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZS0+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVzZXR2YWwtPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlTnIgLQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxXTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdHh0LT52YWx1ZS0+bm9kZXNldHZhbC0+bm9kZU5yID0gMTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAodG90YWwpOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorCQkvKgorCQkqIFByb2Nlc3MgaW5uZXIgcHJlZGljYXRlcyBmaXJzdC4KKwkJKiBFeGFtcGxlICJpbmRleFtwYXJlbnQ6OmJvb2tdWzFdIjoKKwkJKiAuLi4KKwkJKiAgIFBSRURJQ0FURSAgIDwtLSB3ZSBhcmUgaGVyZSAiWzFdIgorCQkqICAgICBQUkVESUNBVEUgPC0tIHByb2Nlc3MgIltwYXJlbnQ6OmJvb2tdIiBmaXJzdAorCQkqICAgICAgIFNPUlQKKwkJKiAgICAgICAgIENPTExFQ1QgICdwYXJlbnQnICduYW1lJyAnbm9kZScgYm9vaworCQkqICAgICAgICAgICBOT0RFCisJCSogICAgIEVMRU0gT2JqZWN0IGlzIGEgbnVtYmVyIDogMQorCQkqLworICAgICAgICAgICAgICAgIGlmIChvcC0+Y2gxICE9IC0xKQorICAgICAgICAgICAgICAgICAgICB0b3RhbCArPQorICAgICAgICAgICAgICAgICAgICAgICAgeG1sWFBhdGhDb21wT3BFdmFsKGN0eHQsICZjb21wLT5zdGVwc1tvcC0+Y2gxXSk7CisJCUNIRUNLX0VSUk9SMDsKKyAgICAgICAgICAgICAgICBpZiAob3AtPmNoMiA9PSAtMSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuICh0b3RhbCk7CisgICAgICAgICAgICAgICAgaWYgKGN0eHQtPnZhbHVlID09IE5VTEwpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiAodG90YWwpOworCisgICAgICAgICAgICAgICAgb2xkbm9kZSA9IGN0eHQtPmNvbnRleHQtPm5vZGU7CisKKyNpZmRlZiBMSUJYTUxfWFBUUl9FTkFCTEVECisgICAgICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAgICAgKiBIdW0gYXJlIHdlIGZpbHRlcmluZyB0aGUgcmVzdWx0IG9mIGFuIFhQb2ludGVyIGV4cHJlc3Npb24KKyAgICAgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgICAgICBpZiAoY3R4dC0+dmFsdWUtPnR5cGUgPT0gWFBBVEhfTE9DQVRJT05TRVQpIHsKKyAgICAgICAgICAgICAgICAgICAgeG1sTG9jYXRpb25TZXRQdHIgbmV3bG9jc2V0ID0gTlVMTDsKKyAgICAgICAgICAgICAgICAgICAgeG1sTG9jYXRpb25TZXRQdHIgb2xkbG9jc2V0OworCisgICAgICAgICAgICAgICAgICAgIC8qCisgICAgICAgICAgICAgICAgICAgICAqIEV4dHJhY3QgdGhlIG9sZCBsb2NzZXQsIGFuZCB0aGVuIGV2YWx1YXRlIHRoZSByZXN1bHQgb2YgdGhlCisgICAgICAgICAgICAgICAgICAgICAqIGV4cHJlc3Npb24gZm9yIGFsbCB0aGUgZWxlbWVudCBpbiB0aGUgbG9jc2V0LiB1c2UgaXQgdG8gZ3JvdworICAgICAgICAgICAgICAgICAgICAgKiB1cCBhIG5ldyBsb2NzZXQuCisgICAgICAgICAgICAgICAgICAgICAqLworICAgICAgICAgICAgICAgICAgICBDSEVDS19UWVBFMChYUEFUSF9MT0NBVElPTlNFVCk7CisgICAgICAgICAgICAgICAgICAgIG9iaiA9IHZhbHVlUG9wKGN0eHQpOworICAgICAgICAgICAgICAgICAgICBvbGRsb2NzZXQgPSBvYmotPnVzZXI7CisgICAgICAgICAgICAgICAgICAgIGN0eHQtPmNvbnRleHQtPm5vZGUgPSBOVUxMOworCisgICAgICAgICAgICAgICAgICAgIGlmICgob2xkbG9jc2V0ID09IE5VTEwpIHx8IChvbGRsb2NzZXQtPmxvY05yID09IDApKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBjdHh0LT5jb250ZXh0LT5jb250ZXh0U2l6ZSA9IDA7CisgICAgICAgICAgICAgICAgICAgICAgICBjdHh0LT5jb250ZXh0LT5wcm94aW1pdHlQb3NpdGlvbiA9IDA7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAob3AtPmNoMiAhPSAtMSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3RhbCArPQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxYUGF0aENvbXBPcEV2YWwoY3R4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZjb21wLT5zdGVwc1tvcC0+Y2gyXSk7CisgICAgICAgICAgICAgICAgICAgICAgICByZXMgPSB2YWx1ZVBvcChjdHh0KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXMgIT0gTlVMTCkgeworCQkJICAgIHhtbFhQYXRoUmVsZWFzZU9iamVjdChjdHh0LT5jb250ZXh0LCByZXMpOworCQkJfQorICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVQdXNoKGN0eHQsIG9iaik7CisgICAgICAgICAgICAgICAgICAgICAgICBDSEVDS19FUlJPUjA7CisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKHRvdGFsKTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBuZXdsb2NzZXQgPSB4bWxYUHRyTG9jYXRpb25TZXRDcmVhdGUoTlVMTCk7CisKKyAgICAgICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IG9sZGxvY3NldC0+bG9jTnI7IGkrKykgeworICAgICAgICAgICAgICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAgICAgICAgICAgICAqIFJ1biB0aGUgZXZhbHVhdGlvbiB3aXRoIGEgbm9kZSBsaXN0IG1hZGUgb2YgYQorICAgICAgICAgICAgICAgICAgICAgICAgICogc2luZ2xlIGl0ZW0gaW4gdGhlIG5vZGVsb2NzZXQuCisgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgIGN0eHQtPmNvbnRleHQtPm5vZGUgPSBvbGRsb2NzZXQtPmxvY1RhYltpXS0+dXNlcjsKKyAgICAgICAgICAgICAgICAgICAgICAgIGN0eHQtPmNvbnRleHQtPmNvbnRleHRTaXplID0gb2xkbG9jc2V0LT5sb2NOcjsKKyAgICAgICAgICAgICAgICAgICAgICAgIGN0eHQtPmNvbnRleHQtPnByb3hpbWl0eVBvc2l0aW9uID0gaSArIDE7CisJCQl0bXAgPSB4bWxYUGF0aENhY2hlTmV3Tm9kZVNldChjdHh0LT5jb250ZXh0LAorCQkJICAgIGN0eHQtPmNvbnRleHQtPm5vZGUpOworICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVQdXNoKGN0eHQsIHRtcCk7CisKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChvcC0+Y2gyICE9IC0xKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvdGFsICs9CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFhQYXRoQ29tcE9wRXZhbChjdHh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmNvbXAtPnN0ZXBzW29wLT5jaDJdKTsKKwkJCWlmIChjdHh0LT5lcnJvciAhPSBYUEFUSF9FWFBSRVNTSU9OX09LKSB7CisJCQkgICAgeG1sWFBhdGhGcmVlT2JqZWN0KG9iaik7CisJCQkgICAgcmV0dXJuKDApOworCQkJfQorCisgICAgICAgICAgICAgICAgICAgICAgICAvKgorICAgICAgICAgICAgICAgICAgICAgICAgICogVGhlIHJlc3VsdCBvZiB0aGUgZXZhbHVhdGlvbiBuZWVkIHRvIGJlIHRlc3RlZCB0bworICAgICAgICAgICAgICAgICAgICAgICAgICogZGVjaWRlZCB3aGV0aGVyIHRoZSBmaWx0ZXIgc3VjY2VlZGVkIG9yIG5vdAorICAgICAgICAgICAgICAgICAgICAgICAgICovCisgICAgICAgICAgICAgICAgICAgICAgICByZXMgPSB2YWx1ZVBvcChjdHh0KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh4bWxYUGF0aEV2YWx1YXRlUHJlZGljYXRlUmVzdWx0KGN0eHQsIHJlcykpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxYUHRyTG9jYXRpb25TZXRBZGQobmV3bG9jc2V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxYUGF0aE9iamVjdENvcHkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9sZGxvY3NldC0+bG9jVGFiW2ldKSk7CisgICAgICAgICAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICAgICAgICAgIC8qCisgICAgICAgICAgICAgICAgICAgICAgICAgKiBDbGVhbnVwCisgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXMgIT0gTlVMTCkgeworCQkJICAgIHhtbFhQYXRoUmVsZWFzZU9iamVjdChjdHh0LT5jb250ZXh0LCByZXMpOworCQkJfQorICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGN0eHQtPnZhbHVlID09IHRtcCkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcyA9IHZhbHVlUG9wKGN0eHQpOworCQkJICAgIHhtbFhQYXRoUmVsZWFzZU9iamVjdChjdHh0LT5jb250ZXh0LCByZXMpOworICAgICAgICAgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgICAgICAgICBjdHh0LT5jb250ZXh0LT5ub2RlID0gTlVMTDsKKyAgICAgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgICAgIC8qCisgICAgICAgICAgICAgICAgICAgICAqIFRoZSByZXN1bHQgaXMgdXNlZCBhcyB0aGUgbmV3IGV2YWx1YXRpb24gbG9jc2V0LgorICAgICAgICAgICAgICAgICAgICAgKi8KKwkJICAgIHhtbFhQYXRoUmVsZWFzZU9iamVjdChjdHh0LT5jb250ZXh0LCBvYmopOworICAgICAgICAgICAgICAgICAgICBjdHh0LT5jb250ZXh0LT5ub2RlID0gTlVMTDsKKyAgICAgICAgICAgICAgICAgICAgY3R4dC0+Y29udGV4dC0+Y29udGV4dFNpemUgPSAtMTsKKyAgICAgICAgICAgICAgICAgICAgY3R4dC0+Y29udGV4dC0+cHJveGltaXR5UG9zaXRpb24gPSAtMTsKKyAgICAgICAgICAgICAgICAgICAgdmFsdWVQdXNoKGN0eHQsIHhtbFhQdHJXcmFwTG9jYXRpb25TZXQobmV3bG9jc2V0KSk7CisgICAgICAgICAgICAgICAgICAgIGN0eHQtPmNvbnRleHQtPm5vZGUgPSBvbGRub2RlOworICAgICAgICAgICAgICAgICAgICByZXR1cm4gKHRvdGFsKTsKKyAgICAgICAgICAgICAgICB9CisjZW5kaWYgLyogTElCWE1MX1hQVFJfRU5BQkxFRCAqLworCisgICAgICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAgICAgKiBFeHRyYWN0IHRoZSBvbGQgc2V0LCBhbmQgdGhlbiBldmFsdWF0ZSB0aGUgcmVzdWx0IG9mIHRoZQorICAgICAgICAgICAgICAgICAqIGV4cHJlc3Npb24gZm9yIGFsbCB0aGUgZWxlbWVudCBpbiB0aGUgc2V0LiB1c2UgaXQgdG8gZ3JvdworICAgICAgICAgICAgICAgICAqIHVwIGEgbmV3IHNldC4KKyAgICAgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgICAgICBDSEVDS19UWVBFMChYUEFUSF9OT0RFU0VUKTsKKyAgICAgICAgICAgICAgICBvYmogPSB2YWx1ZVBvcChjdHh0KTsKKyAgICAgICAgICAgICAgICBvbGRzZXQgPSBvYmotPm5vZGVzZXR2YWw7CisKKyAgICAgICAgICAgICAgICBvbGRub2RlID0gY3R4dC0+Y29udGV4dC0+bm9kZTsKKwkJb2xkRG9jID0gY3R4dC0+Y29udGV4dC0+ZG9jOworICAgICAgICAgICAgICAgIGN0eHQtPmNvbnRleHQtPm5vZGUgPSBOVUxMOworCisgICAgICAgICAgICAgICAgaWYgKChvbGRzZXQgPT0gTlVMTCkgfHwgKG9sZHNldC0+bm9kZU5yID09IDApKSB7CisgICAgICAgICAgICAgICAgICAgIGN0eHQtPmNvbnRleHQtPmNvbnRleHRTaXplID0gMDsKKyAgICAgICAgICAgICAgICAgICAgY3R4dC0+Y29udGV4dC0+cHJveGltaXR5UG9zaXRpb24gPSAwOworLyoKKyAgICAgICAgICAgICAgICAgICAgaWYgKG9wLT5jaDIgIT0gLTEpCisgICAgICAgICAgICAgICAgICAgICAgICB0b3RhbCArPQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFhQYXRoQ29tcE9wRXZhbChjdHh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmY29tcC0+c3RlcHNbb3AtPmNoMl0pOworCQkgICAgQ0hFQ0tfRVJST1IwOworICAgICAgICAgICAgICAgICAgICByZXMgPSB2YWx1ZVBvcChjdHh0KTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHJlcyAhPSBOVUxMKQorICAgICAgICAgICAgICAgICAgICAgICAgeG1sWFBhdGhGcmVlT2JqZWN0KHJlcyk7CisqLworICAgICAgICAgICAgICAgICAgICB2YWx1ZVB1c2goY3R4dCwgb2JqKTsKKyAgICAgICAgICAgICAgICAgICAgY3R4dC0+Y29udGV4dC0+bm9kZSA9IG9sZG5vZGU7CisgICAgICAgICAgICAgICAgICAgIENIRUNLX0VSUk9SMDsKKyAgICAgICAgICAgICAgICB9IGVsc2UgeworCQkgICAgdG1wID0gTlVMTDsKKyAgICAgICAgICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAgICAgICAgICogSW5pdGlhbGl6ZSB0aGUgbmV3IHNldC4KKwkJICAgICAqIEFsc28gc2V0IHRoZSB4cGF0aCBkb2N1bWVudCBpbiBjYXNlIHRoaW5ncyBsaWtlCisJCSAgICAgKiBrZXkoKSBldmFsdWF0aW9uIGFyZSBhdHRlbXB0ZWQgb24gdGhlIHByZWRpY2F0ZQorICAgICAgICAgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgICAgICAgICAgbmV3c2V0ID0geG1sWFBhdGhOb2RlU2V0Q3JlYXRlKE5VTEwpOworCQkgICAgLyoKKwkJICAgICogU1BFQyBYUGF0aCAxLjA6CisJCSAgICAqICAiRm9yIGVhY2ggbm9kZSBpbiB0aGUgbm9kZS1zZXQgdG8gYmUgZmlsdGVyZWQsIHRoZQorCQkgICAgKiAgUHJlZGljYXRlRXhwciBpcyBldmFsdWF0ZWQgd2l0aCB0aGF0IG5vZGUgYXMgdGhlCisJCSAgICAqICBjb250ZXh0IG5vZGUsIHdpdGggdGhlIG51bWJlciBvZiBub2RlcyBpbiB0aGUKKwkJICAgICogIG5vZGUtc2V0IGFzIHRoZSBjb250ZXh0IHNpemUsIGFuZCB3aXRoIHRoZSBwcm94aW1pdHkKKwkJICAgICogIHBvc2l0aW9uIG9mIHRoZSBub2RlIGluIHRoZSBub2RlLXNldCB3aXRoIHJlc3BlY3QgdG8KKwkJICAgICogIHRoZSBheGlzIGFzIHRoZSBjb250ZXh0IHBvc2l0aW9uOyIKKwkJICAgICogQG9sZHNldCBpcyB0aGUgbm9kZS1zZXQiIHRvIGJlIGZpbHRlcmVkLgorCQkgICAgKgorCQkgICAgKiBTUEVDIFhQYXRoIDEuMDoKKwkJICAgICogICJvbmx5IHByZWRpY2F0ZXMgY2hhbmdlIHRoZSBjb250ZXh0IHBvc2l0aW9uIGFuZAorCQkgICAgKiAgY29udGV4dCBzaXplIChzZWUgWzIuNCBQcmVkaWNhdGVzXSkuIgorCQkgICAgKiBFeGFtcGxlOgorCQkgICAgKiAgIG5vZGUtc2V0ICBjb250ZXh0IHBvcworCQkgICAgKiAgICBuQSAgICAgICAgIDEKKwkJICAgICogICAgbkIgICAgICAgICAyCisJCSAgICAqICAgIG5DICAgICAgICAgMworCQkgICAgKiAgIEFmdGVyIGFwcGx5aW5nIHByZWRpY2F0ZSBbcG9zaXRpb24oKSA+IDFdIDoKKwkJICAgICogICBub2RlLXNldCAgY29udGV4dCBwb3MKKwkJICAgICogICAgbkIgICAgICAgICAxCisJCSAgICAqICAgIG5DICAgICAgICAgMgorCQkgICAgKgorCQkgICAgKiByZW1vdmVkIHRoZSBmaXJzdCBub2RlIGluIHRoZSBub2RlLXNldCwgdGhlbgorCQkgICAgKiB0aGUgY29udGV4dCBwb3NpdGlvbiBvZiB0aGUKKwkJICAgICovCisgICAgICAgICAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBvbGRzZXQtPm5vZGVOcjsgaSsrKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAvKgorICAgICAgICAgICAgICAgICAgICAgICAgICogUnVuIHRoZSBldmFsdWF0aW9uIHdpdGggYSBub2RlIGxpc3QgbWFkZSBvZgorICAgICAgICAgICAgICAgICAgICAgICAgICogYSBzaW5nbGUgaXRlbSBpbiB0aGUgbm9kZXNldC4KKyAgICAgICAgICAgICAgICAgICAgICAgICAqLworICAgICAgICAgICAgICAgICAgICAgICAgY3R4dC0+Y29udGV4dC0+bm9kZSA9IG9sZHNldC0+bm9kZVRhYltpXTsKKwkJCWlmICgob2xkc2V0LT5ub2RlVGFiW2ldLT50eXBlICE9IFhNTF9OQU1FU1BBQ0VfREVDTCkgJiYKKwkJCSAgICAob2xkc2V0LT5ub2RlVGFiW2ldLT5kb2MgIT0gTlVMTCkpCisJCSAgICAgICAgICAgIGN0eHQtPmNvbnRleHQtPmRvYyA9IG9sZHNldC0+bm9kZVRhYltpXS0+ZG9jOworCQkJaWYgKHRtcCA9PSBOVUxMKSB7CisJCQkgICAgdG1wID0geG1sWFBhdGhDYWNoZU5ld05vZGVTZXQoY3R4dC0+Y29udGV4dCwKKwkJCQljdHh0LT5jb250ZXh0LT5ub2RlKTsKKwkJCX0gZWxzZSB7CisJCQkgICAgaWYgKHhtbFhQYXRoTm9kZVNldEFkZFVuaXF1ZSh0bXAtPm5vZGVzZXR2YWwsCisJCQkJICAgICAgICAgICAgICAgY3R4dC0+Y29udGV4dC0+bm9kZSkgPCAwKSB7CisJCQkJY3R4dC0+ZXJyb3IgPSBYUEFUSF9NRU1PUllfRVJST1I7CisJCQkgICAgfQorCQkJfQorICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVQdXNoKGN0eHQsIHRtcCk7CisgICAgICAgICAgICAgICAgICAgICAgICBjdHh0LT5jb250ZXh0LT5jb250ZXh0U2l6ZSA9IG9sZHNldC0+bm9kZU5yOworICAgICAgICAgICAgICAgICAgICAgICAgY3R4dC0+Y29udGV4dC0+cHJveGltaXR5UG9zaXRpb24gPSBpICsgMTsKKwkJCS8qCisJCQkqIEV2YWx1YXRlIHRoZSBwcmVkaWNhdGUgYWdhaW5zdCB0aGUgY29udGV4dCBub2RlLgorCQkJKiBDYW4vc2hvdWxkIHdlIG9wdGltaXplIHBvc2l0aW9uKCkgcHJlZGljYXRlcworCQkJKiBoZXJlIChlLmcuICJbMV0iKT8KKwkJCSovCisgICAgICAgICAgICAgICAgICAgICAgICBpZiAob3AtPmNoMiAhPSAtMSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3RhbCArPQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxYUGF0aENvbXBPcEV2YWwoY3R4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZjb21wLT5zdGVwc1tvcC0+Y2gyXSk7CisJCQlpZiAoY3R4dC0+ZXJyb3IgIT0gWFBBVEhfRVhQUkVTU0lPTl9PSykgeworCQkJICAgIHhtbFhQYXRoRnJlZU5vZGVTZXQobmV3c2V0KTsKKwkJCSAgICB4bWxYUGF0aEZyZWVPYmplY3Qob2JqKTsKKwkJCSAgICByZXR1cm4oMCk7CisJCQl9CisKKyAgICAgICAgICAgICAgICAgICAgICAgIC8qCisgICAgICAgICAgICAgICAgICAgICAgICAgKiBUaGUgcmVzdWx0IG9mIHRoZSBldmFsdWF0aW9uIG5lZWRzIHRvIGJlIHRlc3RlZCB0bworICAgICAgICAgICAgICAgICAgICAgICAgICogZGVjaWRlIHdoZXRoZXIgdGhlIGZpbHRlciBzdWNjZWVkZWQgb3Igbm90CisgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKwkJCS8qCisJCQkqIE9QVElNSVpFIFRPRE86IENhbiB3ZSB1c2UKKwkJCSogeG1sWFBhdGhOb2RlU2V0QWRkKlVuaXF1ZSgpKiBpbnN0ZWFkPworCQkJKi8KKyAgICAgICAgICAgICAgICAgICAgICAgIHJlcyA9IHZhbHVlUG9wKGN0eHQpOworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHhtbFhQYXRoRXZhbHVhdGVQcmVkaWNhdGVSZXN1bHQoY3R4dCwgcmVzKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh4bWxYUGF0aE5vZGVTZXRBZGQobmV3c2V0LCBvbGRzZXQtPm5vZGVUYWJbaV0pCisJCQkgICAgICAgIDwgMCkKKwkJCQljdHh0LT5lcnJvciA9IFhQQVRIX01FTU9SWV9FUlJPUjsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAgICAgICAgICAgICAqIENsZWFudXAKKyAgICAgICAgICAgICAgICAgICAgICAgICAqLworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcyAhPSBOVUxMKSB7CisJCQkgICAgeG1sWFBhdGhSZWxlYXNlT2JqZWN0KGN0eHQtPmNvbnRleHQsIHJlcyk7CisJCQl9CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY3R4dC0+dmFsdWUgPT0gdG1wKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVQb3AoY3R4dCk7CisJCQkgICAgeG1sWFBhdGhOb2RlU2V0Q2xlYXIodG1wLT5ub2Rlc2V0dmFsLCAxKTsKKwkJCSAgICAvKgorCQkJICAgICogRG9uJ3QgZnJlZSB0aGUgdGVtcG9yYXJ5IG5vZGVzZXQKKwkJCSAgICAqIGluIG9yZGVyIHRvIGF2b2lkIG1hc3NpdmUgcmVjcmVhdGlvbiBpbnNpZGUgdGhpcworCQkJICAgICogbG9vcC4KKwkJCSAgICAqLworICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlCisJCQkgICAgdG1wID0gTlVMTDsKKyAgICAgICAgICAgICAgICAgICAgICAgIGN0eHQtPmNvbnRleHQtPm5vZGUgPSBOVUxMOworICAgICAgICAgICAgICAgICAgICB9CisJCSAgICBpZiAodG1wICE9IE5VTEwpCisJCQl4bWxYUGF0aFJlbGVhc2VPYmplY3QoY3R4dC0+Y29udGV4dCwgdG1wKTsKKyAgICAgICAgICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAgICAgICAgICogVGhlIHJlc3VsdCBpcyB1c2VkIGFzIHRoZSBuZXcgZXZhbHVhdGlvbiBzZXQuCisgICAgICAgICAgICAgICAgICAgICAqLworCQkgICAgeG1sWFBhdGhSZWxlYXNlT2JqZWN0KGN0eHQtPmNvbnRleHQsIG9iaik7CisgICAgICAgICAgICAgICAgICAgIGN0eHQtPmNvbnRleHQtPm5vZGUgPSBOVUxMOworICAgICAgICAgICAgICAgICAgICBjdHh0LT5jb250ZXh0LT5jb250ZXh0U2l6ZSA9IC0xOworICAgICAgICAgICAgICAgICAgICBjdHh0LT5jb250ZXh0LT5wcm94aW1pdHlQb3NpdGlvbiA9IC0xOworCQkgICAgLyogbWF5IHdhbnQgdG8gbW92ZSB0aGlzIHBhc3QgdGhlICd9JyBsYXRlciAqLworCQkgICAgY3R4dC0+Y29udGV4dC0+ZG9jID0gb2xkRG9jOworCQkgICAgdmFsdWVQdXNoKGN0eHQsCisJCQl4bWxYUGF0aENhY2hlV3JhcE5vZGVTZXQoY3R4dC0+Y29udGV4dCwgbmV3c2V0KSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGN0eHQtPmNvbnRleHQtPm5vZGUgPSBvbGRub2RlOworICAgICAgICAgICAgICAgIHJldHVybiAodG90YWwpOworICAgICAgICAgICAgfQorICAgICAgICBjYXNlIFhQQVRIX09QX1NPUlQ6CisgICAgICAgICAgICBpZiAob3AtPmNoMSAhPSAtMSkKKyAgICAgICAgICAgICAgICB0b3RhbCArPSB4bWxYUGF0aENvbXBPcEV2YWwoY3R4dCwgJmNvbXAtPnN0ZXBzW29wLT5jaDFdKTsKKwkgICAgQ0hFQ0tfRVJST1IwOworICAgICAgICAgICAgaWYgKChjdHh0LT52YWx1ZSAhPSBOVUxMKSAmJgorICAgICAgICAgICAgICAgIChjdHh0LT52YWx1ZS0+dHlwZSA9PSBYUEFUSF9OT0RFU0VUKSAmJgorICAgICAgICAgICAgICAgIChjdHh0LT52YWx1ZS0+bm9kZXNldHZhbCAhPSBOVUxMKSAmJgorCQkoY3R4dC0+dmFsdWUtPm5vZGVzZXR2YWwtPm5vZGVOciA+IDEpKQorCSAgICB7CisgICAgICAgICAgICAgICAgeG1sWFBhdGhOb2RlU2V0U29ydChjdHh0LT52YWx1ZS0+bm9kZXNldHZhbCk7CisJICAgIH0KKyAgICAgICAgICAgIHJldHVybiAodG90YWwpOworI2lmZGVmIExJQlhNTF9YUFRSX0VOQUJMRUQKKyAgICAgICAgY2FzZSBYUEFUSF9PUF9SQU5HRVRPOnsKKyAgICAgICAgICAgICAgICB4bWxYUGF0aE9iamVjdFB0ciByYW5nZTsKKyAgICAgICAgICAgICAgICB4bWxYUGF0aE9iamVjdFB0ciByZXMsIG9iajsKKyAgICAgICAgICAgICAgICB4bWxYUGF0aE9iamVjdFB0ciB0bXA7CisgICAgICAgICAgICAgICAgeG1sTG9jYXRpb25TZXRQdHIgbmV3bG9jc2V0ID0gTlVMTDsKKwkJICAgIHhtbExvY2F0aW9uU2V0UHRyIG9sZGxvY3NldDsKKyAgICAgICAgICAgICAgICB4bWxOb2RlU2V0UHRyIG9sZHNldDsKKyAgICAgICAgICAgICAgICBpbnQgaSwgajsKKworICAgICAgICAgICAgICAgIGlmIChvcC0+Y2gxICE9IC0xKQorICAgICAgICAgICAgICAgICAgICB0b3RhbCArPQorICAgICAgICAgICAgICAgICAgICAgICAgeG1sWFBhdGhDb21wT3BFdmFsKGN0eHQsICZjb21wLT5zdGVwc1tvcC0+Y2gxXSk7CisgICAgICAgICAgICAgICAgaWYgKG9wLT5jaDIgPT0gLTEpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiAodG90YWwpOworCisgICAgICAgICAgICAgICAgaWYgKGN0eHQtPnZhbHVlLT50eXBlID09IFhQQVRIX0xPQ0FUSU9OU0VUKSB7CisgICAgICAgICAgICAgICAgICAgIC8qCisgICAgICAgICAgICAgICAgICAgICAqIEV4dHJhY3QgdGhlIG9sZCBsb2NzZXQsIGFuZCB0aGVuIGV2YWx1YXRlIHRoZSByZXN1bHQgb2YgdGhlCisgICAgICAgICAgICAgICAgICAgICAqIGV4cHJlc3Npb24gZm9yIGFsbCB0aGUgZWxlbWVudCBpbiB0aGUgbG9jc2V0LiB1c2UgaXQgdG8gZ3JvdworICAgICAgICAgICAgICAgICAgICAgKiB1cCBhIG5ldyBsb2NzZXQuCisgICAgICAgICAgICAgICAgICAgICAqLworICAgICAgICAgICAgICAgICAgICBDSEVDS19UWVBFMChYUEFUSF9MT0NBVElPTlNFVCk7CisgICAgICAgICAgICAgICAgICAgIG9iaiA9IHZhbHVlUG9wKGN0eHQpOworICAgICAgICAgICAgICAgICAgICBvbGRsb2NzZXQgPSBvYmotPnVzZXI7CisKKyAgICAgICAgICAgICAgICAgICAgaWYgKChvbGRsb2NzZXQgPT0gTlVMTCkgfHwgKG9sZGxvY3NldC0+bG9jTnIgPT0gMCkpIHsKKwkJICAgICAgICBjdHh0LT5jb250ZXh0LT5ub2RlID0gTlVMTDsKKyAgICAgICAgICAgICAgICAgICAgICAgIGN0eHQtPmNvbnRleHQtPmNvbnRleHRTaXplID0gMDsKKyAgICAgICAgICAgICAgICAgICAgICAgIGN0eHQtPmNvbnRleHQtPnByb3hpbWl0eVBvc2l0aW9uID0gMDsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRvdGFsICs9IHhtbFhQYXRoQ29tcE9wRXZhbChjdHh0LCZjb21wLT5zdGVwc1tvcC0+Y2gyXSk7CisgICAgICAgICAgICAgICAgICAgICAgICByZXMgPSB2YWx1ZVBvcChjdHh0KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXMgIT0gTlVMTCkgeworCQkJICAgIHhtbFhQYXRoUmVsZWFzZU9iamVjdChjdHh0LT5jb250ZXh0LCByZXMpOworCQkJfQorICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVQdXNoKGN0eHQsIG9iaik7CisgICAgICAgICAgICAgICAgICAgICAgICBDSEVDS19FUlJPUjA7CisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKHRvdGFsKTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBuZXdsb2NzZXQgPSB4bWxYUHRyTG9jYXRpb25TZXRDcmVhdGUoTlVMTCk7CisKKyAgICAgICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IG9sZGxvY3NldC0+bG9jTnI7IGkrKykgeworICAgICAgICAgICAgICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAgICAgICAgICAgICAqIFJ1biB0aGUgZXZhbHVhdGlvbiB3aXRoIGEgbm9kZSBsaXN0IG1hZGUgb2YgYQorICAgICAgICAgICAgICAgICAgICAgICAgICogc2luZ2xlIGl0ZW0gaW4gdGhlIG5vZGVsb2NzZXQuCisgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgIGN0eHQtPmNvbnRleHQtPm5vZGUgPSBvbGRsb2NzZXQtPmxvY1RhYltpXS0+dXNlcjsKKyAgICAgICAgICAgICAgICAgICAgICAgIGN0eHQtPmNvbnRleHQtPmNvbnRleHRTaXplID0gb2xkbG9jc2V0LT5sb2NOcjsKKyAgICAgICAgICAgICAgICAgICAgICAgIGN0eHQtPmNvbnRleHQtPnByb3hpbWl0eVBvc2l0aW9uID0gaSArIDE7CisJCQl0bXAgPSB4bWxYUGF0aENhY2hlTmV3Tm9kZVNldChjdHh0LT5jb250ZXh0LAorCQkJICAgIGN0eHQtPmNvbnRleHQtPm5vZGUpOworICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVQdXNoKGN0eHQsIHRtcCk7CisKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChvcC0+Y2gyICE9IC0xKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvdGFsICs9CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFhQYXRoQ29tcE9wRXZhbChjdHh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmNvbXAtPnN0ZXBzW29wLT5jaDJdKTsKKwkJCWlmIChjdHh0LT5lcnJvciAhPSBYUEFUSF9FWFBSRVNTSU9OX09LKSB7CisJCQkgICAgeG1sWFBhdGhGcmVlT2JqZWN0KG9iaik7CisJCQkgICAgcmV0dXJuKDApOworCQkJfQorCisgICAgICAgICAgICAgICAgICAgICAgICByZXMgPSB2YWx1ZVBvcChjdHh0KTsKKwkJCWlmIChyZXMtPnR5cGUgPT0gWFBBVEhfTE9DQVRJT05TRVQpIHsKKwkJCSAgICB4bWxMb2NhdGlvblNldFB0ciBybG9jID0KKwkJCSAgICAgICAgKHhtbExvY2F0aW9uU2V0UHRyKXJlcy0+dXNlcjsKKwkJCSAgICBmb3IgKGo9MDsgajxybG9jLT5sb2NOcjsgaisrKSB7CisJCQkgICAgICAgIHJhbmdlID0geG1sWFB0ck5ld1JhbmdlKAorCQkJCSAgb2xkbG9jc2V0LT5sb2NUYWJbaV0tPnVzZXIsCisJCQkJICBvbGRsb2NzZXQtPmxvY1RhYltpXS0+aW5kZXgsCisJCQkJICBybG9jLT5sb2NUYWJbal0tPnVzZXIyLAorCQkJCSAgcmxvYy0+bG9jVGFiW2pdLT5pbmRleDIpOworCQkJCWlmIChyYW5nZSAhPSBOVUxMKSB7CisJCQkJICAgIHhtbFhQdHJMb2NhdGlvblNldEFkZChuZXdsb2NzZXQsIHJhbmdlKTsKKwkJCQl9CisJCQkgICAgfQorCQkJfSBlbHNlIHsKKwkJCSAgICByYW5nZSA9IHhtbFhQdHJOZXdSYW5nZU5vZGVPYmplY3QoCisJCQkJKHhtbE5vZGVQdHIpb2xkbG9jc2V0LT5sb2NUYWJbaV0tPnVzZXIsIHJlcyk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJhbmdlICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sWFB0ckxvY2F0aW9uU2V0QWRkKG5ld2xvY3NldCxyYW5nZSk7CisJCQkgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgICAgICAgICAvKgorICAgICAgICAgICAgICAgICAgICAgICAgICogQ2xlYW51cAorICAgICAgICAgICAgICAgICAgICAgICAgICovCisgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzICE9IE5VTEwpIHsKKwkJCSAgICB4bWxYUGF0aFJlbGVhc2VPYmplY3QoY3R4dC0+Y29udGV4dCwgcmVzKTsKKwkJCX0KKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjdHh0LT52YWx1ZSA9PSB0bXApIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXMgPSB2YWx1ZVBvcChjdHh0KTsKKwkJCSAgICB4bWxYUGF0aFJlbGVhc2VPYmplY3QoY3R4dC0+Y29udGV4dCwgcmVzKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgICAgICAgICAgY3R4dC0+Y29udGV4dC0+bm9kZSA9IE5VTEw7CisgICAgICAgICAgICAgICAgICAgIH0KKwkJfSBlbHNlIHsJLyogTm90IGEgbG9jYXRpb24gc2V0ICovCisgICAgICAgICAgICAgICAgICAgIENIRUNLX1RZUEUwKFhQQVRIX05PREVTRVQpOworICAgICAgICAgICAgICAgICAgICBvYmogPSB2YWx1ZVBvcChjdHh0KTsKKyAgICAgICAgICAgICAgICAgICAgb2xkc2V0ID0gb2JqLT5ub2Rlc2V0dmFsOworICAgICAgICAgICAgICAgICAgICBjdHh0LT5jb250ZXh0LT5ub2RlID0gTlVMTDsKKworICAgICAgICAgICAgICAgICAgICBuZXdsb2NzZXQgPSB4bWxYUHRyTG9jYXRpb25TZXRDcmVhdGUoTlVMTCk7CisKKyAgICAgICAgICAgICAgICAgICAgaWYgKG9sZHNldCAhPSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgb2xkc2V0LT5ub2RlTnI7IGkrKykgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogUnVuIHRoZSBldmFsdWF0aW9uIHdpdGggYSBub2RlIGxpc3QgbWFkZSBvZiBhIHNpbmdsZSBpdGVtCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogaW4gdGhlIG5vZGVzZXQuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3R4dC0+Y29udGV4dC0+bm9kZSA9IG9sZHNldC0+bm9kZVRhYltpXTsKKwkJCSAgICAvKgorCQkJICAgICogT1BUSU1JWkUgVE9ETzogQXZvaWQgcmVjcmVhdGlvbiBmb3IgZXZlcnkgaXRlcmF0aW9uLgorCQkJICAgICovCisJCQkgICAgdG1wID0geG1sWFBhdGhDYWNoZU5ld05vZGVTZXQoY3R4dC0+Y29udGV4dCwKKwkJCQljdHh0LT5jb250ZXh0LT5ub2RlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZVB1c2goY3R4dCwgdG1wKTsKKworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChvcC0+Y2gyICE9IC0xKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3RhbCArPQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sWFBhdGhDb21wT3BFdmFsKGN0eHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmY29tcC0+c3RlcHNbb3AtPmNoMl0pOworCQkJICAgIGlmIChjdHh0LT5lcnJvciAhPSBYUEFUSF9FWFBSRVNTSU9OX09LKSB7CisJCQkJeG1sWFBhdGhGcmVlT2JqZWN0KG9iaik7CisJCQkJcmV0dXJuKDApOworCQkJICAgIH0KKworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcyA9IHZhbHVlUG9wKGN0eHQpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhbmdlID0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sWFB0ck5ld1JhbmdlTm9kZU9iamVjdChvbGRzZXQtPm5vZGVUYWJbaV0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXMpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyYW5nZSAhPSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFhQdHJMb2NhdGlvblNldEFkZChuZXdsb2NzZXQsIHJhbmdlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIENsZWFudXAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzICE9IE5VTEwpIHsKKwkJCQl4bWxYUGF0aFJlbGVhc2VPYmplY3QoY3R4dC0+Y29udGV4dCwgcmVzKTsKKwkJCSAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGN0eHQtPnZhbHVlID09IHRtcCkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXMgPSB2YWx1ZVBvcChjdHh0KTsKKwkJCQl4bWxYUGF0aFJlbGVhc2VPYmplY3QoY3R4dC0+Y29udGV4dCwgcmVzKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdHh0LT5jb250ZXh0LT5ub2RlID0gTlVMTDsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIC8qCisgICAgICAgICAgICAgICAgICogVGhlIHJlc3VsdCBpcyB1c2VkIGFzIHRoZSBuZXcgZXZhbHVhdGlvbiBzZXQuCisgICAgICAgICAgICAgICAgICovCisJCXhtbFhQYXRoUmVsZWFzZU9iamVjdChjdHh0LT5jb250ZXh0LCBvYmopOworICAgICAgICAgICAgICAgIGN0eHQtPmNvbnRleHQtPm5vZGUgPSBOVUxMOworICAgICAgICAgICAgICAgIGN0eHQtPmNvbnRleHQtPmNvbnRleHRTaXplID0gLTE7CisgICAgICAgICAgICAgICAgY3R4dC0+Y29udGV4dC0+cHJveGltaXR5UG9zaXRpb24gPSAtMTsKKyAgICAgICAgICAgICAgICB2YWx1ZVB1c2goY3R4dCwgeG1sWFB0cldyYXBMb2NhdGlvblNldChuZXdsb2NzZXQpKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gKHRvdGFsKTsKKyAgICAgICAgICAgIH0KKyNlbmRpZiAvKiBMSUJYTUxfWFBUUl9FTkFCTEVEICovCisgICAgfQorICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAiWFBhdGg6IHVua25vd24gcHJlY29tcGlsZWQgb3BlcmF0aW9uICVkXG4iLCBvcC0+b3ApOworICAgIGN0eHQtPmVycm9yID0gWFBBVEhfSU5WQUxJRF9PUEVSQU5EOworICAgIHJldHVybiAodG90YWwpOworfQorCisvKioKKyAqIHhtbFhQYXRoQ29tcE9wRXZhbFRvQm9vbGVhbjoKKyAqIEBjdHh0OiAgdGhlIFhQYXRoIHBhcnNlciBjb250ZXh0CisgKgorICogRXZhbHVhdGVzIGlmIHRoZSBleHByZXNzaW9uIGV2YWx1YXRlcyB0byB0cnVlLgorICoKKyAqIFJldHVybnMgMSBpZiB0cnVlLCAwIGlmIGZhbHNlIGFuZCAtMSBvbiBBUEkgb3IgaW50ZXJuYWwgZXJyb3JzLgorICovCitzdGF0aWMgaW50Cit4bWxYUGF0aENvbXBPcEV2YWxUb0Jvb2xlYW4oeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQsCisJCQkgICAgeG1sWFBhdGhTdGVwT3BQdHIgb3AsCisJCQkgICAgaW50IGlzUHJlZGljYXRlKQoreworICAgIHhtbFhQYXRoT2JqZWN0UHRyIHJlc09iaiA9IE5VTEw7CisKK3N0YXJ0OgorICAgIC8qIGNvbXAgPSBjdHh0LT5jb21wOyAqLworICAgIHN3aXRjaCAob3AtPm9wKSB7CisgICAgICAgIGNhc2UgWFBBVEhfT1BfRU5EOgorICAgICAgICAgICAgcmV0dXJuICgwKTsKKwljYXNlIFhQQVRIX09QX1ZBTFVFOgorCSAgICByZXNPYmogPSAoeG1sWFBhdGhPYmplY3RQdHIpIG9wLT52YWx1ZTQ7CisJICAgIGlmIChpc1ByZWRpY2F0ZSkKKwkJcmV0dXJuKHhtbFhQYXRoRXZhbHVhdGVQcmVkaWNhdGVSZXN1bHQoY3R4dCwgcmVzT2JqKSk7CisJICAgIHJldHVybih4bWxYUGF0aENhc3RUb0Jvb2xlYW4ocmVzT2JqKSk7CisJY2FzZSBYUEFUSF9PUF9TT1JUOgorCSAgICAvKgorCSAgICAqIFdlIGRvbid0IG5lZWQgc29ydGluZyBmb3IgYm9vbGVhbiByZXN1bHRzLiBTa2lwIHRoaXMgb25lLgorCSAgICAqLworICAgICAgICAgICAgaWYgKG9wLT5jaDEgIT0gLTEpIHsKKwkJb3AgPSAmY3R4dC0+Y29tcC0+c3RlcHNbb3AtPmNoMV07CisJCWdvdG8gc3RhcnQ7CisJICAgIH0KKwkgICAgcmV0dXJuKDApOworCWNhc2UgWFBBVEhfT1BfQ09MTEVDVDoKKwkgICAgaWYgKG9wLT5jaDEgPT0gLTEpCisJCXJldHVybigwKTsKKworICAgICAgICAgICAgeG1sWFBhdGhDb21wT3BFdmFsKGN0eHQsICZjdHh0LT5jb21wLT5zdGVwc1tvcC0+Y2gxXSk7CisJICAgIGlmIChjdHh0LT5lcnJvciAhPSBYUEFUSF9FWFBSRVNTSU9OX09LKQorCQlyZXR1cm4oLTEpOworCisgICAgICAgICAgICB4bWxYUGF0aE5vZGVDb2xsZWN0QW5kVGVzdChjdHh0LCBvcCwgTlVMTCwgTlVMTCwgMSk7CisJICAgIGlmIChjdHh0LT5lcnJvciAhPSBYUEFUSF9FWFBSRVNTSU9OX09LKQorCQlyZXR1cm4oLTEpOworCisJICAgIHJlc09iaiA9IHZhbHVlUG9wKGN0eHQpOworCSAgICBpZiAocmVzT2JqID09IE5VTEwpCisJCXJldHVybigtMSk7CisJICAgIGJyZWFrOworCWRlZmF1bHQ6CisJICAgIC8qCisJICAgICogRmFsbGJhY2sgdG8gY2FsbCB4bWxYUGF0aENvbXBPcEV2YWwoKS4KKwkgICAgKi8KKwkgICAgeG1sWFBhdGhDb21wT3BFdmFsKGN0eHQsIG9wKTsKKwkgICAgaWYgKGN0eHQtPmVycm9yICE9IFhQQVRIX0VYUFJFU1NJT05fT0spCisJCXJldHVybigtMSk7CisKKwkgICAgcmVzT2JqID0gdmFsdWVQb3AoY3R4dCk7CisJICAgIGlmIChyZXNPYmogPT0gTlVMTCkKKwkJcmV0dXJuKC0xKTsKKwkgICAgYnJlYWs7CisgICAgfQorCisgICAgaWYgKHJlc09iaikgeworCWludCByZXM7CisKKwlpZiAocmVzT2JqLT50eXBlID09IFhQQVRIX0JPT0xFQU4pIHsKKwkgICAgcmVzID0gcmVzT2JqLT5ib29sdmFsOworCX0gZWxzZSBpZiAoaXNQcmVkaWNhdGUpIHsKKwkgICAgLyoKKwkgICAgKiBGb3IgcHJlZGljYXRlcyBhIHJlc3VsdCBvZiB0eXBlICJudW1iZXIiIGlzIGhhbmRsZWQKKwkgICAgKiBkaWZmZXJlbnRseToKKwkgICAgKiBTUEVDIFhQYXRoIDEuMDoKKwkgICAgKiAiSWYgdGhlIHJlc3VsdCBpcyBhIG51bWJlciwgdGhlIHJlc3VsdCB3aWxsIGJlIGNvbnZlcnRlZAorCSAgICAqICB0byB0cnVlIGlmIHRoZSBudW1iZXIgaXMgZXF1YWwgdG8gdGhlIGNvbnRleHQgcG9zaXRpb24KKwkgICAgKiAgYW5kIHdpbGwgYmUgY29udmVydGVkIHRvIGZhbHNlIG90aGVyd2lzZTsiCisJICAgICovCisJICAgIHJlcyA9IHhtbFhQYXRoRXZhbHVhdGVQcmVkaWNhdGVSZXN1bHQoY3R4dCwgcmVzT2JqKTsKKwl9IGVsc2UgeworCSAgICByZXMgPSB4bWxYUGF0aENhc3RUb0Jvb2xlYW4ocmVzT2JqKTsKKwl9CisJeG1sWFBhdGhSZWxlYXNlT2JqZWN0KGN0eHQtPmNvbnRleHQsIHJlc09iaik7CisJcmV0dXJuKHJlcyk7CisgICAgfQorCisgICAgcmV0dXJuKDApOworfQorCisjaWZkZWYgWFBBVEhfU1RSRUFNSU5HCisvKioKKyAqIHhtbFhQYXRoUnVuU3RyZWFtRXZhbDoKKyAqIEBjdHh0OiAgdGhlIFhQYXRoIHBhcnNlciBjb250ZXh0IHdpdGggdGhlIGNvbXBpbGVkIGV4cHJlc3Npb24KKyAqCisgKiBFdmFsdWF0ZSB0aGUgUHJlY29tcGlsZWQgU3RyZWFtYWJsZSBYUGF0aCBleHByZXNzaW9uIGluIHRoZSBnaXZlbiBjb250ZXh0LgorICovCitzdGF0aWMgaW50Cit4bWxYUGF0aFJ1blN0cmVhbUV2YWwoeG1sWFBhdGhDb250ZXh0UHRyIGN0eHQsIHhtbFBhdHRlcm5QdHIgY29tcCwKKwkJICAgICAgeG1sWFBhdGhPYmplY3RQdHIgKnJlc3VsdFNlcSwgaW50IHRvQm9vbCkKK3sKKyAgICBpbnQgbWF4X2RlcHRoLCBtaW5fZGVwdGg7CisgICAgaW50IGZyb21fcm9vdDsKKyAgICBpbnQgcmV0LCBkZXB0aDsKKyAgICBpbnQgZXZhbF9hbGxfbm9kZXM7CisgICAgeG1sTm9kZVB0ciBjdXIgPSBOVUxMLCBsaW1pdCA9IE5VTEw7CisgICAgeG1sU3RyZWFtQ3R4dFB0ciBwYXRzdHJlYW0gPSBOVUxMOworCisgICAgaW50IG5iX25vZGVzID0gMDsKKworICAgIGlmICgoY3R4dCA9PSBOVUxMKSB8fCAoY29tcCA9PSBOVUxMKSkKKyAgICAgICAgcmV0dXJuKC0xKTsKKyAgICBtYXhfZGVwdGggPSB4bWxQYXR0ZXJuTWF4RGVwdGgoY29tcCk7CisgICAgaWYgKG1heF9kZXB0aCA9PSAtMSkKKyAgICAgICAgcmV0dXJuKC0xKTsKKyAgICBpZiAobWF4X2RlcHRoID09IC0yKQorICAgICAgICBtYXhfZGVwdGggPSAxMDAwMDsKKyAgICBtaW5fZGVwdGggPSB4bWxQYXR0ZXJuTWluRGVwdGgoY29tcCk7CisgICAgaWYgKG1pbl9kZXB0aCA9PSAtMSkKKyAgICAgICAgcmV0dXJuKC0xKTsKKyAgICBmcm9tX3Jvb3QgPSB4bWxQYXR0ZXJuRnJvbVJvb3QoY29tcCk7CisgICAgaWYgKGZyb21fcm9vdCA8IDApCisgICAgICAgIHJldHVybigtMSk7CisjaWYgMAorICAgIHByaW50Zigic3RyZWFtIGV2YWw6IGRlcHRoICVkIGZyb20gcm9vdCAlZFxuIiwgbWF4X2RlcHRoLCBmcm9tX3Jvb3QpOworI2VuZGlmCisKKyAgICBpZiAoISB0b0Jvb2wpIHsKKwlpZiAocmVzdWx0U2VxID09IE5VTEwpCisJICAgIHJldHVybigtMSk7CisJKnJlc3VsdFNlcSA9IHhtbFhQYXRoQ2FjaGVOZXdOb2RlU2V0KGN0eHQsIE5VTEwpOworCWlmICgqcmVzdWx0U2VxID09IE5VTEwpCisJICAgIHJldHVybigtMSk7CisgICAgfQorCisgICAgLyoKKyAgICAgKiBoYW5kbGUgdGhlIHNwZWNpYWwgY2FzZXMgb2YgIi8iIGFtZCAiLiIgYmVpbmcgbWF0Y2hlZAorICAgICAqLworICAgIGlmIChtaW5fZGVwdGggPT0gMCkgeworCWlmIChmcm9tX3Jvb3QpIHsKKwkgICAgLyogU2VsZWN0ICIvIiAqLworCSAgICBpZiAodG9Cb29sKQorCQlyZXR1cm4oMSk7CisJICAgIHhtbFhQYXRoTm9kZVNldEFkZFVuaXF1ZSgoKnJlc3VsdFNlcSktPm5vZGVzZXR2YWwsCisJCSAgICAgICAgICAgICAgICAgICAgICh4bWxOb2RlUHRyKSBjdHh0LT5kb2MpOworCX0gZWxzZSB7CisJICAgIC8qIFNlbGVjdCAic2VsZjo6bm9kZSgpIiAqLworCSAgICBpZiAodG9Cb29sKQorCQlyZXR1cm4oMSk7CisJICAgIHhtbFhQYXRoTm9kZVNldEFkZFVuaXF1ZSgoKnJlc3VsdFNlcSktPm5vZGVzZXR2YWwsIGN0eHQtPm5vZGUpOworCX0KKyAgICB9CisgICAgaWYgKG1heF9kZXB0aCA9PSAwKSB7CisJcmV0dXJuKDApOworICAgIH0KKworICAgIGlmIChmcm9tX3Jvb3QpIHsKKyAgICAgICAgY3VyID0gKHhtbE5vZGVQdHIpY3R4dC0+ZG9jOworICAgIH0gZWxzZSBpZiAoY3R4dC0+bm9kZSAhPSBOVUxMKSB7CisgICAgICAgIHN3aXRjaCAoY3R4dC0+bm9kZS0+dHlwZSkgeworICAgICAgICAgICAgY2FzZSBYTUxfRUxFTUVOVF9OT0RFOgorICAgICAgICAgICAgY2FzZSBYTUxfRE9DVU1FTlRfTk9ERToKKyAgICAgICAgICAgIGNhc2UgWE1MX0RPQ1VNRU5UX0ZSQUdfTk9ERToKKyAgICAgICAgICAgIGNhc2UgWE1MX0hUTUxfRE9DVU1FTlRfTk9ERToKKyNpZmRlZiBMSUJYTUxfRE9DQl9FTkFCTEVECisgICAgICAgICAgICBjYXNlIFhNTF9ET0NCX0RPQ1VNRU5UX05PREU6CisjZW5kaWYKKwkgICAgICAgIGN1ciA9IGN0eHQtPm5vZGU7CisJCWJyZWFrOworICAgICAgICAgICAgY2FzZSBYTUxfQVRUUklCVVRFX05PREU6CisgICAgICAgICAgICBjYXNlIFhNTF9URVhUX05PREU6CisgICAgICAgICAgICBjYXNlIFhNTF9DREFUQV9TRUNUSU9OX05PREU6CisgICAgICAgICAgICBjYXNlIFhNTF9FTlRJVFlfUkVGX05PREU6CisgICAgICAgICAgICBjYXNlIFhNTF9FTlRJVFlfTk9ERToKKyAgICAgICAgICAgIGNhc2UgWE1MX1BJX05PREU6CisgICAgICAgICAgICBjYXNlIFhNTF9DT01NRU5UX05PREU6CisgICAgICAgICAgICBjYXNlIFhNTF9OT1RBVElPTl9OT0RFOgorICAgICAgICAgICAgY2FzZSBYTUxfRFREX05PREU6CisgICAgICAgICAgICBjYXNlIFhNTF9ET0NVTUVOVF9UWVBFX05PREU6CisgICAgICAgICAgICBjYXNlIFhNTF9FTEVNRU5UX0RFQ0w6CisgICAgICAgICAgICBjYXNlIFhNTF9BVFRSSUJVVEVfREVDTDoKKyAgICAgICAgICAgIGNhc2UgWE1MX0VOVElUWV9ERUNMOgorICAgICAgICAgICAgY2FzZSBYTUxfTkFNRVNQQUNFX0RFQ0w6CisgICAgICAgICAgICBjYXNlIFhNTF9YSU5DTFVERV9TVEFSVDoKKyAgICAgICAgICAgIGNhc2UgWE1MX1hJTkNMVURFX0VORDoKKwkJYnJlYWs7CisJfQorCWxpbWl0ID0gY3VyOworICAgIH0KKyAgICBpZiAoY3VyID09IE5VTEwpIHsKKyAgICAgICAgcmV0dXJuKDApOworICAgIH0KKworICAgIHBhdHN0cmVhbSA9IHhtbFBhdHRlcm5HZXRTdHJlYW1DdHh0KGNvbXApOworICAgIGlmIChwYXRzdHJlYW0gPT0gTlVMTCkgeworCS8qCisJKiBRVUVTVElPTiBUT0RPOiBJcyB0aGlzIGFuIGVycm9yPworCSovCisJcmV0dXJuKDApOworICAgIH0KKworICAgIGV2YWxfYWxsX25vZGVzID0geG1sU3RyZWFtV2FudHNBbnlOb2RlKHBhdHN0cmVhbSk7CisKKyAgICBpZiAoZnJvbV9yb290KSB7CisJcmV0ID0geG1sU3RyZWFtUHVzaChwYXRzdHJlYW0sIE5VTEwsIE5VTEwpOworCWlmIChyZXQgPCAwKSB7CisJfSBlbHNlIGlmIChyZXQgPT0gMSkgeworCSAgICBpZiAodG9Cb29sKQorCQlnb3RvIHJldHVybl8xOworCSAgICB4bWxYUGF0aE5vZGVTZXRBZGRVbmlxdWUoKCpyZXN1bHRTZXEpLT5ub2Rlc2V0dmFsLCBjdXIpOworCX0KKyAgICB9CisgICAgZGVwdGggPSAwOworICAgIGdvdG8gc2Nhbl9jaGlsZHJlbjsKK25leHRfbm9kZToKKyAgICBkbyB7CisgICAgICAgIG5iX25vZGVzKys7CisKKwlzd2l0Y2ggKGN1ci0+dHlwZSkgeworCSAgICBjYXNlIFhNTF9FTEVNRU5UX05PREU6CisJICAgIGNhc2UgWE1MX1RFWFRfTk9ERToKKwkgICAgY2FzZSBYTUxfQ0RBVEFfU0VDVElPTl9OT0RFOgorCSAgICBjYXNlIFhNTF9DT01NRU5UX05PREU6CisJICAgIGNhc2UgWE1MX1BJX05PREU6CisJCWlmIChjdXItPnR5cGUgPT0gWE1MX0VMRU1FTlRfTk9ERSkgeworCQkgICAgcmV0ID0geG1sU3RyZWFtUHVzaChwYXRzdHJlYW0sIGN1ci0+bmFtZSwKKwkJCQkoY3VyLT5ucyA/IGN1ci0+bnMtPmhyZWYgOiBOVUxMKSk7CisJCX0gZWxzZSBpZiAoZXZhbF9hbGxfbm9kZXMpCisJCSAgICByZXQgPSB4bWxTdHJlYW1QdXNoTm9kZShwYXRzdHJlYW0sIE5VTEwsIE5VTEwsIGN1ci0+dHlwZSk7CisJCWVsc2UKKwkJICAgIGJyZWFrOworCisJCWlmIChyZXQgPCAwKSB7CisJCSAgICAvKiBOT1AuICovCisJCX0gZWxzZSBpZiAocmV0ID09IDEpIHsKKwkJICAgIGlmICh0b0Jvb2wpCisJCQlnb3RvIHJldHVybl8xOworCQkgICAgaWYgKHhtbFhQYXRoTm9kZVNldEFkZFVuaXF1ZSgoKnJlc3VsdFNlcSktPm5vZGVzZXR2YWwsIGN1cikKKwkJICAgICAgICA8IDApIHsKKwkJCWN0eHQtPmxhc3RFcnJvci5kb21haW4gPSBYTUxfRlJPTV9YUEFUSDsKKwkJCWN0eHQtPmxhc3RFcnJvci5jb2RlID0gWE1MX0VSUl9OT19NRU1PUlk7CisJCSAgICB9CisJCX0KKwkJaWYgKChjdXItPmNoaWxkcmVuID09IE5VTEwpIHx8IChkZXB0aCA+PSBtYXhfZGVwdGgpKSB7CisJCSAgICByZXQgPSB4bWxTdHJlYW1Qb3AocGF0c3RyZWFtKTsKKwkJICAgIHdoaWxlIChjdXItPm5leHQgIT0gTlVMTCkgeworCQkJY3VyID0gY3VyLT5uZXh0OworCQkJaWYgKChjdXItPnR5cGUgIT0gWE1MX0VOVElUWV9ERUNMKSAmJgorCQkJICAgIChjdXItPnR5cGUgIT0gWE1MX0RURF9OT0RFKSkKKwkJCSAgICBnb3RvIG5leHRfbm9kZTsKKwkJICAgIH0KKwkJfQorCSAgICBkZWZhdWx0OgorCQlicmVhazsKKwl9CisKK3NjYW5fY2hpbGRyZW46CisJaWYgKGN1ci0+dHlwZSA9PSBYTUxfTkFNRVNQQUNFX0RFQ0wpIGJyZWFrOworCWlmICgoY3VyLT5jaGlsZHJlbiAhPSBOVUxMKSAmJiAoZGVwdGggPCBtYXhfZGVwdGgpKSB7CisJICAgIC8qCisJICAgICAqIERvIG5vdCBkZXNjZW5kIG9uIGVudGl0aWVzIGRlY2xhcmF0aW9ucworCSAgICAgKi8KKwkgICAgaWYgKGN1ci0+Y2hpbGRyZW4tPnR5cGUgIT0gWE1MX0VOVElUWV9ERUNMKSB7CisJCWN1ciA9IGN1ci0+Y2hpbGRyZW47CisJCWRlcHRoKys7CisJCS8qCisJCSAqIFNraXAgRFREcworCQkgKi8KKwkJaWYgKGN1ci0+dHlwZSAhPSBYTUxfRFREX05PREUpCisJCSAgICBjb250aW51ZTsKKwkgICAgfQorCX0KKworCWlmIChjdXIgPT0gbGltaXQpCisJICAgIGJyZWFrOworCisJd2hpbGUgKGN1ci0+bmV4dCAhPSBOVUxMKSB7CisJICAgIGN1ciA9IGN1ci0+bmV4dDsKKwkgICAgaWYgKChjdXItPnR5cGUgIT0gWE1MX0VOVElUWV9ERUNMKSAmJgorCQkoY3VyLT50eXBlICE9IFhNTF9EVERfTk9ERSkpCisJCWdvdG8gbmV4dF9ub2RlOworCX0KKworCWRvIHsKKwkgICAgY3VyID0gY3VyLT5wYXJlbnQ7CisJICAgIGRlcHRoLS07CisJICAgIGlmICgoY3VyID09IE5VTEwpIHx8IChjdXIgPT0gbGltaXQpKQorCSAgICAgICAgZ290byBkb25lOworCSAgICBpZiAoY3VyLT50eXBlID09IFhNTF9FTEVNRU5UX05PREUpIHsKKwkJcmV0ID0geG1sU3RyZWFtUG9wKHBhdHN0cmVhbSk7CisJICAgIH0gZWxzZSBpZiAoKGV2YWxfYWxsX25vZGVzKSAmJgorCQkoKGN1ci0+dHlwZSA9PSBYTUxfVEVYVF9OT0RFKSB8fAorCQkgKGN1ci0+dHlwZSA9PSBYTUxfQ0RBVEFfU0VDVElPTl9OT0RFKSB8fAorCQkgKGN1ci0+dHlwZSA9PSBYTUxfQ09NTUVOVF9OT0RFKSB8fAorCQkgKGN1ci0+dHlwZSA9PSBYTUxfUElfTk9ERSkpKQorCSAgICB7CisJCXJldCA9IHhtbFN0cmVhbVBvcChwYXRzdHJlYW0pOworCSAgICB9CisJICAgIGlmIChjdXItPm5leHQgIT0gTlVMTCkgeworCQljdXIgPSBjdXItPm5leHQ7CisJCWJyZWFrOworCSAgICB9CisJfSB3aGlsZSAoY3VyICE9IE5VTEwpOworCisgICAgfSB3aGlsZSAoKGN1ciAhPSBOVUxMKSAmJiAoZGVwdGggPj0gMCkpOworCitkb25lOgorCisjaWYgMAorICAgIHByaW50Zigic3RyZWFtIGV2YWw6IGNoZWNrZWQgJWQgbm9kZXMgc2VsZWN0ZWQgJWRcbiIsCisgICAgICAgICAgIG5iX25vZGVzLCByZXRPYmotPm5vZGVzZXR2YWwtPm5vZGVOcik7CisjZW5kaWYKKworICAgIGlmIChwYXRzdHJlYW0pCisJeG1sRnJlZVN0cmVhbUN0eHQocGF0c3RyZWFtKTsKKyAgICByZXR1cm4oMCk7CisKK3JldHVybl8xOgorICAgIGlmIChwYXRzdHJlYW0pCisJeG1sRnJlZVN0cmVhbUN0eHQocGF0c3RyZWFtKTsKKyAgICByZXR1cm4oMSk7Cit9CisjZW5kaWYgLyogWFBBVEhfU1RSRUFNSU5HICovCisKKy8qKgorICogeG1sWFBhdGhSdW5FdmFsOgorICogQGN0eHQ6ICB0aGUgWFBhdGggcGFyc2VyIGNvbnRleHQgd2l0aCB0aGUgY29tcGlsZWQgZXhwcmVzc2lvbgorICogQHRvQm9vbDogIGV2YWx1YXRlIHRvIGEgYm9vbGVhbiByZXN1bHQKKyAqCisgKiBFdmFsdWF0ZSB0aGUgUHJlY29tcGlsZWQgWFBhdGggZXhwcmVzc2lvbiBpbiB0aGUgZ2l2ZW4gY29udGV4dC4KKyAqLworc3RhdGljIGludAoreG1sWFBhdGhSdW5FdmFsKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0LCBpbnQgdG9Cb29sKQoreworICAgIHhtbFhQYXRoQ29tcEV4cHJQdHIgY29tcDsKKworICAgIGlmICgoY3R4dCA9PSBOVUxMKSB8fCAoY3R4dC0+Y29tcCA9PSBOVUxMKSkKKwlyZXR1cm4oLTEpOworCisgICAgaWYgKGN0eHQtPnZhbHVlVGFiID09IE5VTEwpIHsKKwkvKiBBbGxvY2F0ZSB0aGUgdmFsdWUgc3RhY2sgKi8KKwljdHh0LT52YWx1ZVRhYiA9ICh4bWxYUGF0aE9iamVjdFB0ciAqKQorCQkJIHhtbE1hbGxvYygxMCAqIHNpemVvZih4bWxYUGF0aE9iamVjdFB0cikpOworCWlmIChjdHh0LT52YWx1ZVRhYiA9PSBOVUxMKSB7CisJICAgIHhtbFhQYXRoUEVyck1lbW9yeShjdHh0LCAiY3JlYXRpbmcgZXZhbHVhdGlvbiBjb250ZXh0XG4iKTsKKwkgICAgeG1sRnJlZShjdHh0KTsKKwl9CisJY3R4dC0+dmFsdWVOciA9IDA7CisJY3R4dC0+dmFsdWVNYXggPSAxMDsKKwljdHh0LT52YWx1ZSA9IE5VTEw7CisgICAgICAgIGN0eHQtPnZhbHVlRnJhbWUgPSAwOworICAgIH0KKyNpZmRlZiBYUEFUSF9TVFJFQU1JTkcKKyAgICBpZiAoY3R4dC0+Y29tcC0+c3RyZWFtKSB7CisJaW50IHJlczsKKworCWlmICh0b0Jvb2wpIHsKKwkgICAgLyoKKwkgICAgKiBFdmFsdWF0aW9uIHRvIGJvb2xlYW4gcmVzdWx0LgorCSAgICAqLworCSAgICByZXMgPSB4bWxYUGF0aFJ1blN0cmVhbUV2YWwoY3R4dC0+Y29udGV4dCwKKwkJY3R4dC0+Y29tcC0+c3RyZWFtLCBOVUxMLCAxKTsKKwkgICAgaWYgKHJlcyAhPSAtMSkKKwkJcmV0dXJuKHJlcyk7CisJfSBlbHNlIHsKKwkgICAgeG1sWFBhdGhPYmplY3RQdHIgcmVzT2JqID0gTlVMTDsKKworCSAgICAvKgorCSAgICAqIEV2YWx1YXRpb24gdG8gYSBzZXF1ZW5jZS4KKwkgICAgKi8KKwkgICAgcmVzID0geG1sWFBhdGhSdW5TdHJlYW1FdmFsKGN0eHQtPmNvbnRleHQsCisJCWN0eHQtPmNvbXAtPnN0cmVhbSwgJnJlc09iaiwgMCk7CisKKwkgICAgaWYgKChyZXMgIT0gLTEpICYmIChyZXNPYmogIT0gTlVMTCkpIHsKKwkJdmFsdWVQdXNoKGN0eHQsIHJlc09iaik7CisJCXJldHVybigwKTsKKwkgICAgfQorCSAgICBpZiAocmVzT2JqICE9IE5VTEwpCisJCXhtbFhQYXRoUmVsZWFzZU9iamVjdChjdHh0LT5jb250ZXh0LCByZXNPYmopOworCX0KKwkvKgorCSogUVVFU1RJT04gVE9ETzogVGhpcyBmYWxscyBiYWNrIHRvIG5vcm1hbCBYUGF0aCBldmFsdWF0aW9uCisJKiBpZiByZXMgPT0gLTEuIElzIHRoaXMgaW50ZW5kZWQ/CisJKi8KKyAgICB9CisjZW5kaWYKKyAgICBjb21wID0gY3R4dC0+Y29tcDsKKyAgICBpZiAoY29tcC0+bGFzdCA8IDApIHsKKwl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkgICAgInhtbFhQYXRoUnVuRXZhbDogbGFzdCBpcyBsZXNzIHRoYW4gemVyb1xuIik7CisJcmV0dXJuKC0xKTsKKyAgICB9CisgICAgaWYgKHRvQm9vbCkKKwlyZXR1cm4oeG1sWFBhdGhDb21wT3BFdmFsVG9Cb29sZWFuKGN0eHQsCisJICAgICZjb21wLT5zdGVwc1tjb21wLT5sYXN0XSwgMCkpOworICAgIGVsc2UKKwl4bWxYUGF0aENvbXBPcEV2YWwoY3R4dCwgJmNvbXAtPnN0ZXBzW2NvbXAtPmxhc3RdKTsKKworICAgIHJldHVybigwKTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJCVB1YmxpYyBpbnRlcmZhY2VzCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqCisgKiB4bWxYUGF0aEV2YWxQcmVkaWNhdGU6CisgKiBAY3R4dDogIHRoZSBYUGF0aCBjb250ZXh0CisgKiBAcmVzOiAgdGhlIFByZWRpY2F0ZSBFeHByZXNzaW9uIGV2YWx1YXRpb24gcmVzdWx0CisgKgorICogRXZhbHVhdGUgYSBwcmVkaWNhdGUgcmVzdWx0IGZvciB0aGUgY3VycmVudCBub2RlLgorICogQSBQcmVkaWNhdGVFeHByIGlzIGV2YWx1YXRlZCBieSBldmFsdWF0aW5nIHRoZSBFeHByIGFuZCBjb252ZXJ0aW5nCisgKiB0aGUgcmVzdWx0IHRvIGEgYm9vbGVhbi4gSWYgdGhlIHJlc3VsdCBpcyBhIG51bWJlciwgdGhlIHJlc3VsdCB3aWxsCisgKiBiZSBjb252ZXJ0ZWQgdG8gdHJ1ZSBpZiB0aGUgbnVtYmVyIGlzIGVxdWFsIHRvIHRoZSBwb3NpdGlvbiBvZiB0aGUKKyAqIGNvbnRleHQgbm9kZSBpbiB0aGUgY29udGV4dCBub2RlIGxpc3QgKGFzIHJldHVybmVkIGJ5IHRoZSBwb3NpdGlvbgorICogZnVuY3Rpb24pIGFuZCB3aWxsIGJlIGNvbnZlcnRlZCB0byBmYWxzZSBvdGhlcndpc2U7IGlmIHRoZSByZXN1bHQKKyAqIGlzIG5vdCBhIG51bWJlciwgdGhlbiB0aGUgcmVzdWx0IHdpbGwgYmUgY29udmVydGVkIGFzIGlmIGJ5IGEgY2FsbAorICogdG8gdGhlIGJvb2xlYW4gZnVuY3Rpb24uCisgKgorICogUmV0dXJucyAxIGlmIHByZWRpY2F0ZSBpcyB0cnVlLCAwIG90aGVyd2lzZQorICovCitpbnQKK3htbFhQYXRoRXZhbFByZWRpY2F0ZSh4bWxYUGF0aENvbnRleHRQdHIgY3R4dCwgeG1sWFBhdGhPYmplY3RQdHIgcmVzKSB7CisgICAgaWYgKChjdHh0ID09IE5VTEwpIHx8IChyZXMgPT0gTlVMTCkpIHJldHVybigwKTsKKyAgICBzd2l0Y2ggKHJlcy0+dHlwZSkgeworICAgICAgICBjYXNlIFhQQVRIX0JPT0xFQU46CisJICAgIHJldHVybihyZXMtPmJvb2x2YWwpOworICAgICAgICBjYXNlIFhQQVRIX05VTUJFUjoKKwkgICAgcmV0dXJuKHJlcy0+ZmxvYXR2YWwgPT0gY3R4dC0+cHJveGltaXR5UG9zaXRpb24pOworICAgICAgICBjYXNlIFhQQVRIX05PREVTRVQ6CisgICAgICAgIGNhc2UgWFBBVEhfWFNMVF9UUkVFOgorCSAgICBpZiAocmVzLT5ub2Rlc2V0dmFsID09IE5VTEwpCisJCXJldHVybigwKTsKKwkgICAgcmV0dXJuKHJlcy0+bm9kZXNldHZhbC0+bm9kZU5yICE9IDApOworICAgICAgICBjYXNlIFhQQVRIX1NUUklORzoKKwkgICAgcmV0dXJuKChyZXMtPnN0cmluZ3ZhbCAhPSBOVUxMKSAmJgorCSAgICAgICAgICAgKHhtbFN0cmxlbihyZXMtPnN0cmluZ3ZhbCkgIT0gMCkpOworICAgICAgICBkZWZhdWx0OgorCSAgICBTVFJBTkdFCisgICAgfQorICAgIHJldHVybigwKTsKK30KKworLyoqCisgKiB4bWxYUGF0aEV2YWx1YXRlUHJlZGljYXRlUmVzdWx0OgorICogQGN0eHQ6ICB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQKKyAqIEByZXM6ICB0aGUgUHJlZGljYXRlIEV4cHJlc3Npb24gZXZhbHVhdGlvbiByZXN1bHQKKyAqCisgKiBFdmFsdWF0ZSBhIHByZWRpY2F0ZSByZXN1bHQgZm9yIHRoZSBjdXJyZW50IG5vZGUuCisgKiBBIFByZWRpY2F0ZUV4cHIgaXMgZXZhbHVhdGVkIGJ5IGV2YWx1YXRpbmcgdGhlIEV4cHIgYW5kIGNvbnZlcnRpbmcKKyAqIHRoZSByZXN1bHQgdG8gYSBib29sZWFuLiBJZiB0aGUgcmVzdWx0IGlzIGEgbnVtYmVyLCB0aGUgcmVzdWx0IHdpbGwKKyAqIGJlIGNvbnZlcnRlZCB0byB0cnVlIGlmIHRoZSBudW1iZXIgaXMgZXF1YWwgdG8gdGhlIHBvc2l0aW9uIG9mIHRoZQorICogY29udGV4dCBub2RlIGluIHRoZSBjb250ZXh0IG5vZGUgbGlzdCAoYXMgcmV0dXJuZWQgYnkgdGhlIHBvc2l0aW9uCisgKiBmdW5jdGlvbikgYW5kIHdpbGwgYmUgY29udmVydGVkIHRvIGZhbHNlIG90aGVyd2lzZTsgaWYgdGhlIHJlc3VsdAorICogaXMgbm90IGEgbnVtYmVyLCB0aGVuIHRoZSByZXN1bHQgd2lsbCBiZSBjb252ZXJ0ZWQgYXMgaWYgYnkgYSBjYWxsCisgKiB0byB0aGUgYm9vbGVhbiBmdW5jdGlvbi4KKyAqCisgKiBSZXR1cm5zIDEgaWYgcHJlZGljYXRlIGlzIHRydWUsIDAgb3RoZXJ3aXNlCisgKi8KK2ludAoreG1sWFBhdGhFdmFsdWF0ZVByZWRpY2F0ZVJlc3VsdCh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sWFBhdGhPYmplY3RQdHIgcmVzKSB7CisgICAgaWYgKChjdHh0ID09IE5VTEwpIHx8IChyZXMgPT0gTlVMTCkpIHJldHVybigwKTsKKyAgICBzd2l0Y2ggKHJlcy0+dHlwZSkgeworICAgICAgICBjYXNlIFhQQVRIX0JPT0xFQU46CisJICAgIHJldHVybihyZXMtPmJvb2x2YWwpOworICAgICAgICBjYXNlIFhQQVRIX05VTUJFUjoKKyNpZiBkZWZpbmVkKF9fQk9STEFORENfXykgfHwgKGRlZmluZWQoX01TQ19WRVIpICYmIChfTVNDX1ZFUiA9PSAxMjAwKSkKKwkgICAgcmV0dXJuKChyZXMtPmZsb2F0dmFsID09IGN0eHQtPmNvbnRleHQtPnByb3hpbWl0eVBvc2l0aW9uKSAmJgorCSAgICAgICAgICAgKCF4bWxYUGF0aElzTmFOKHJlcy0+ZmxvYXR2YWwpKSk7IC8qIE1TQyBwYm0gTWFyayBWYWtvYyAhKi8KKyNlbHNlCisJICAgIHJldHVybihyZXMtPmZsb2F0dmFsID09IGN0eHQtPmNvbnRleHQtPnByb3hpbWl0eVBvc2l0aW9uKTsKKyNlbmRpZgorICAgICAgICBjYXNlIFhQQVRIX05PREVTRVQ6CisgICAgICAgIGNhc2UgWFBBVEhfWFNMVF9UUkVFOgorCSAgICBpZiAocmVzLT5ub2Rlc2V0dmFsID09IE5VTEwpCisJCXJldHVybigwKTsKKwkgICAgcmV0dXJuKHJlcy0+bm9kZXNldHZhbC0+bm9kZU5yICE9IDApOworICAgICAgICBjYXNlIFhQQVRIX1NUUklORzoKKwkgICAgcmV0dXJuKChyZXMtPnN0cmluZ3ZhbCAhPSBOVUxMKSAmJiAocmVzLT5zdHJpbmd2YWxbMF0gIT0gMCkpOworI2lmZGVmIExJQlhNTF9YUFRSX0VOQUJMRUQKKwljYXNlIFhQQVRIX0xPQ0FUSU9OU0VUOnsKKwkgICAgeG1sTG9jYXRpb25TZXRQdHIgcHRyID0gcmVzLT51c2VyOworCSAgICBpZiAocHRyID09IE5VTEwpCisJICAgICAgICByZXR1cm4oMCk7CisJICAgIHJldHVybiAocHRyLT5sb2NOciAhPSAwKTsKKwkgICAgfQorI2VuZGlmCisgICAgICAgIGRlZmF1bHQ6CisJICAgIFNUUkFOR0UKKyAgICB9CisgICAgcmV0dXJuKDApOworfQorCisjaWZkZWYgWFBBVEhfU1RSRUFNSU5HCisvKioKKyAqIHhtbFhQYXRoVHJ5U3RyZWFtQ29tcGlsZToKKyAqIEBjdHh0OiBhbiBYUGF0aCBjb250ZXh0CisgKiBAc3RyOiAgdGhlIFhQYXRoIGV4cHJlc3Npb24KKyAqCisgKiBUcnkgdG8gY29tcGlsZSB0aGUgWFBhdGggZXhwcmVzc2lvbiBhcyBhIHN0cmVhbWFibGUgc3Vic2V0LgorICoKKyAqIFJldHVybnMgdGhlIGNvbXBpbGVkIGV4cHJlc3Npb24gb3IgTlVMTCBpZiBmYWlsZWQgdG8gY29tcGlsZS4KKyAqLworc3RhdGljIHhtbFhQYXRoQ29tcEV4cHJQdHIKK3htbFhQYXRoVHJ5U3RyZWFtQ29tcGlsZSh4bWxYUGF0aENvbnRleHRQdHIgY3R4dCwgY29uc3QgeG1sQ2hhciAqc3RyKSB7CisgICAgLyoKKyAgICAgKiBPcHRpbWl6YXRpb246IHVzZSBzdHJlYW1pbmcgcGF0dGVybnMgd2hlbiB0aGUgWFBhdGggZXhwcmVzc2lvbiBjYW4KKyAgICAgKiBiZSBjb21waWxlZCB0byBhIHN0cmVhbSBsb29rdXAKKyAgICAgKi8KKyAgICB4bWxQYXR0ZXJuUHRyIHN0cmVhbTsKKyAgICB4bWxYUGF0aENvbXBFeHByUHRyIGNvbXA7CisgICAgeG1sRGljdFB0ciBkaWN0ID0gTlVMTDsKKyAgICBjb25zdCB4bWxDaGFyICoqbmFtZXNwYWNlcyA9IE5VTEw7CisgICAgeG1sTnNQdHIgbnM7CisgICAgaW50IGksIGo7CisKKyAgICBpZiAoKCF4bWxTdHJjaHIoc3RyLCAnWycpKSAmJiAoIXhtbFN0cmNocihzdHIsICcoJykpICYmCisgICAgICAgICgheG1sU3RyY2hyKHN0ciwgJ0AnKSkpIHsKKwljb25zdCB4bWxDaGFyICp0bXA7CisKKwkvKgorCSAqIFdlIGRvbid0IHRyeSB0byBoYW5kbGUgZXhwcmVzc2lvbnMgdXNpbmcgdGhlIHZlcmJvc2UgYXhpcworCSAqIHNwZWNpZmllcnMgKCI6OiIpLCBqdXN0IHRoZSBzaW1wbGllZCBmb3JtIGF0IHRoaXMgcG9pbnQuCisJICogQWRkaXRpb25hbGx5LCBpZiB0aGVyZSBpcyBubyBsaXN0IG9mIG5hbWVzcGFjZXMgYXZhaWxhYmxlIGFuZAorCSAqICB0aGVyZSdzIGEgIjoiIGluIHRoZSBleHByZXNzaW9uLCBpbmRpY2F0aW5nIGEgcHJlZml4ZWQgUU5hbWUsCisJICogIHRoZW4gd2Ugd29uJ3QgdHJ5IHRvIGNvbXBpbGUgZWl0aGVyLiB4bWxQYXR0ZXJuY29tcGlsZSgpIG5lZWRzCisJICogIHRvIGhhdmUgYSBsaXN0IG9mIG5hbWVzcGFjZXMgYXQgY29tcGlsYXRpb24gdGltZSBpbiBvcmRlciB0bworCSAqICBjb21waWxlIHByZWZpeGVkIG5hbWUgdGVzdHMuCisJICovCisJdG1wID0geG1sU3RyY2hyKHN0ciwgJzonKTsKKwlpZiAoKHRtcCAhPSBOVUxMKSAmJgorCSAgICAoKGN0eHQgPT0gTlVMTCkgfHwgKGN0eHQtPm5zTnIgPT0gMCkgfHwgKHRtcFsxXSA9PSAnOicpKSkKKwkgICAgcmV0dXJuKE5VTEwpOworCisJaWYgKGN0eHQgIT0gTlVMTCkgeworCSAgICBkaWN0ID0gY3R4dC0+ZGljdDsKKwkgICAgaWYgKGN0eHQtPm5zTnIgPiAwKSB7CisJCW5hbWVzcGFjZXMgPSB4bWxNYWxsb2MoMiAqIChjdHh0LT5uc05yICsgMSkgKiBzaXplb2YoeG1sQ2hhciopKTsKKwkJaWYgKG5hbWVzcGFjZXMgPT0gTlVMTCkgeworCQkgICAgeG1sWFBhdGhFcnJNZW1vcnkoY3R4dCwgImFsbG9jYXRpbmcgbmFtZXNwYWNlcyBhcnJheVxuIik7CisJCSAgICByZXR1cm4oTlVMTCk7CisJCX0KKwkJZm9yIChpID0gMCwgaiA9IDA7IChqIDwgY3R4dC0+bnNOcik7IGorKykgeworCQkgICAgbnMgPSBjdHh0LT5uYW1lc3BhY2VzW2pdOworCQkgICAgbmFtZXNwYWNlc1tpKytdID0gbnMtPmhyZWY7CisJCSAgICBuYW1lc3BhY2VzW2krK10gPSBucy0+cHJlZml4OworCQl9CisJCW5hbWVzcGFjZXNbaSsrXSA9IE5VTEw7CisJCW5hbWVzcGFjZXNbaV0gPSBOVUxMOworCSAgICB9CisJfQorCisJc3RyZWFtID0geG1sUGF0dGVybmNvbXBpbGUoc3RyLCBkaWN0LCBYTUxfUEFUVEVSTl9YUEFUSCwKKwkJCSZuYW1lc3BhY2VzWzBdKTsKKwlpZiAobmFtZXNwYWNlcyAhPSBOVUxMKSB7CisJICAgIHhtbEZyZWUoKHhtbENoYXIgKiopbmFtZXNwYWNlcyk7CisJfQorCWlmICgoc3RyZWFtICE9IE5VTEwpICYmICh4bWxQYXR0ZXJuU3RyZWFtYWJsZShzdHJlYW0pID09IDEpKSB7CisJICAgIGNvbXAgPSB4bWxYUGF0aE5ld0NvbXBFeHByKCk7CisJICAgIGlmIChjb21wID09IE5VTEwpIHsKKwkJeG1sWFBhdGhFcnJNZW1vcnkoY3R4dCwgImFsbG9jYXRpbmcgc3RyZWFtYWJsZSBleHByZXNzaW9uXG4iKTsKKwkJcmV0dXJuKE5VTEwpOworCSAgICB9CisJICAgIGNvbXAtPnN0cmVhbSA9IHN0cmVhbTsKKwkgICAgY29tcC0+ZGljdCA9IGRpY3Q7CisJICAgIGlmIChjb21wLT5kaWN0KQorCQl4bWxEaWN0UmVmZXJlbmNlKGNvbXAtPmRpY3QpOworCSAgICByZXR1cm4oY29tcCk7CisJfQorCXhtbEZyZWVQYXR0ZXJuKHN0cmVhbSk7CisgICAgfQorICAgIHJldHVybihOVUxMKTsKK30KKyNlbmRpZiAvKiBYUEFUSF9TVFJFQU1JTkcgKi8KKworc3RhdGljIHZvaWQKK3htbFhQYXRoT3B0aW1pemVFeHByZXNzaW9uKHhtbFhQYXRoQ29tcEV4cHJQdHIgY29tcCwgeG1sWFBhdGhTdGVwT3BQdHIgb3ApCit7CisgICAgLyoKKyAgICAqIFRyeSB0byByZXdyaXRlICJkZXNjZW5kYW50LW9yLXNlbGY6Om5vZGUoKS9mb28iIHRvIGFuIG9wdGltaXplZAorICAgICogaW50ZXJuYWwgcmVwcmVzZW50YXRpb24uCisgICAgKi8KKworICAgIGlmICgob3AtPm9wID09IFhQQVRIX09QX0NPTExFQ1QgLyogMTEgKi8pICYmCisgICAgICAgIChvcC0+Y2gxICE9IC0xKSAmJgorICAgICAgICAob3AtPmNoMiA9PSAtMSAvKiBubyBwcmVkaWNhdGUgKi8pKQorICAgIHsKKyAgICAgICAgeG1sWFBhdGhTdGVwT3BQdHIgcHJldm9wID0gJmNvbXAtPnN0ZXBzW29wLT5jaDFdOworCisgICAgICAgIGlmICgocHJldm9wLT5vcCA9PSBYUEFUSF9PUF9DT0xMRUNUIC8qIDExICovKSAmJgorICAgICAgICAgICAgKCh4bWxYUGF0aEF4aXNWYWwpIHByZXZvcC0+dmFsdWUgPT0KKyAgICAgICAgICAgICAgICBBWElTX0RFU0NFTkRBTlRfT1JfU0VMRikgJiYKKyAgICAgICAgICAgIChwcmV2b3AtPmNoMiA9PSAtMSkgJiYKKyAgICAgICAgICAgICgoeG1sWFBhdGhUZXN0VmFsKSBwcmV2b3AtPnZhbHVlMiA9PSBOT0RFX1RFU1RfVFlQRSkgJiYKKyAgICAgICAgICAgICgoeG1sWFBhdGhUeXBlVmFsKSBwcmV2b3AtPnZhbHVlMyA9PSBOT0RFX1RZUEVfTk9ERSkpCisgICAgICAgIHsKKyAgICAgICAgICAgIC8qCisgICAgICAgICAgICAqIFRoaXMgaXMgYSAiZGVzY2VuZGFudC1vci1zZWxmOjpub2RlKCkiIHdpdGhvdXQgcHJlZGljYXRlcy4KKyAgICAgICAgICAgICogVHJ5IHRvIGVsaW1pbmF0ZSBpdC4KKyAgICAgICAgICAgICovCisKKyAgICAgICAgICAgIHN3aXRjaCAoKHhtbFhQYXRoQXhpc1ZhbCkgb3AtPnZhbHVlKSB7CisgICAgICAgICAgICAgICAgY2FzZSBBWElTX0NISUxEOgorICAgICAgICAgICAgICAgIGNhc2UgQVhJU19ERVNDRU5EQU5UOgorICAgICAgICAgICAgICAgICAgICAvKgorICAgICAgICAgICAgICAgICAgICAqIENvbnZlcnQgImRlc2NlbmRhbnQtb3Itc2VsZjo6bm9kZSgpL2NoaWxkOjoiIG9yCisgICAgICAgICAgICAgICAgICAgICogImRlc2NlbmRhbnQtb3Itc2VsZjo6bm9kZSgpL2Rlc2NlbmRhbnQ6OiIgdG8KKyAgICAgICAgICAgICAgICAgICAgKiAiZGVzY2VuZGFudDo6IgorICAgICAgICAgICAgICAgICAgICAqLworICAgICAgICAgICAgICAgICAgICBvcC0+Y2gxICAgPSBwcmV2b3AtPmNoMTsKKyAgICAgICAgICAgICAgICAgICAgb3AtPnZhbHVlID0gQVhJU19ERVNDRU5EQU5UOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICBjYXNlIEFYSVNfU0VMRjoKKyAgICAgICAgICAgICAgICBjYXNlIEFYSVNfREVTQ0VOREFOVF9PUl9TRUxGOgorICAgICAgICAgICAgICAgICAgICAvKgorICAgICAgICAgICAgICAgICAgICAqIENvbnZlcnQgImRlc2NlbmRhbnQtb3Itc2VsZjo6bm9kZSgpL3NlbGY6OiIgb3IKKyAgICAgICAgICAgICAgICAgICAgKiAiZGVzY2VuZGFudC1vci1zZWxmOjpub2RlKCkvZGVzY2VuZGFudC1vci1zZWxmOjoiIHRvCisgICAgICAgICAgICAgICAgICAgICogdG8gImRlc2NlbmRhbnQtb3Itc2VsZjo6IgorICAgICAgICAgICAgICAgICAgICAqLworICAgICAgICAgICAgICAgICAgICBvcC0+Y2gxICAgPSBwcmV2b3AtPmNoMTsKKyAgICAgICAgICAgICAgICAgICAgb3AtPnZhbHVlID0gQVhJU19ERVNDRU5EQU5UX09SX1NFTEY7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorCX0KKyAgICB9CisKKyAgICAvKiBSZWN1cnNlICovCisgICAgaWYgKG9wLT5jaDEgIT0gLTEpCisgICAgICAgIHhtbFhQYXRoT3B0aW1pemVFeHByZXNzaW9uKGNvbXAsICZjb21wLT5zdGVwc1tvcC0+Y2gxXSk7CisgICAgaWYgKG9wLT5jaDIgIT0gLTEpCisJeG1sWFBhdGhPcHRpbWl6ZUV4cHJlc3Npb24oY29tcCwgJmNvbXAtPnN0ZXBzW29wLT5jaDJdKTsKK30KKworLyoqCisgKiB4bWxYUGF0aEN0eHRDb21waWxlOgorICogQGN0eHQ6IGFuIFhQYXRoIGNvbnRleHQKKyAqIEBzdHI6ICB0aGUgWFBhdGggZXhwcmVzc2lvbgorICoKKyAqIENvbXBpbGUgYW4gWFBhdGggZXhwcmVzc2lvbgorICoKKyAqIFJldHVybnMgdGhlIHhtbFhQYXRoQ29tcEV4cHJQdHIgcmVzdWx0aW5nIGZyb20gdGhlIGNvbXBpbGF0aW9uIG9yIE5VTEwuCisgKiAgICAgICAgIHRoZSBjYWxsZXIgaGFzIHRvIGZyZWUgdGhlIG9iamVjdC4KKyAqLworeG1sWFBhdGhDb21wRXhwclB0cgoreG1sWFBhdGhDdHh0Q29tcGlsZSh4bWxYUGF0aENvbnRleHRQdHIgY3R4dCwgY29uc3QgeG1sQ2hhciAqc3RyKSB7CisgICAgeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIHBjdHh0OworICAgIHhtbFhQYXRoQ29tcEV4cHJQdHIgY29tcDsKKworI2lmZGVmIFhQQVRIX1NUUkVBTUlORworICAgIGNvbXAgPSB4bWxYUGF0aFRyeVN0cmVhbUNvbXBpbGUoY3R4dCwgc3RyKTsKKyAgICBpZiAoY29tcCAhPSBOVUxMKQorICAgICAgICByZXR1cm4oY29tcCk7CisjZW5kaWYKKworICAgIHhtbFhQYXRoSW5pdCgpOworCisgICAgcGN0eHQgPSB4bWxYUGF0aE5ld1BhcnNlckNvbnRleHQoc3RyLCBjdHh0KTsKKyAgICBpZiAocGN0eHQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgeG1sWFBhdGhDb21waWxlRXhwcihwY3R4dCwgMSk7CisKKyAgICBpZiggcGN0eHQtPmVycm9yICE9IFhQQVRIX0VYUFJFU1NJT05fT0sgKQorICAgIHsKKyAgICAgICAgeG1sWFBhdGhGcmVlUGFyc2VyQ29udGV4dChwY3R4dCk7CisgICAgICAgIHJldHVybihOVUxMKTsKKyAgICB9CisKKyAgICBpZiAoKnBjdHh0LT5jdXIgIT0gMCkgeworCS8qCisJICogYWxla3NleTogaW4gc29tZSBjYXNlcyB0aGlzIGxpbmUgcHJpbnRzICpzZWNvbmQqIGVycm9yIG1lc3NhZ2UKKwkgKiAoc2VlIGJ1ZyAjNzg4NTgpIGFuZCBwcm9iYWJseSB0aGlzIHNob3VsZCBiZSBmaXhlZC4KKwkgKiBIb3dldmVyLCB3ZSBhcmUgbm90IHN1cmUgdGhhdCBhbGwgZXJyb3IgbWVzc2FnZXMgYXJlIHByaW50ZWQKKwkgKiBvdXQgaW4gb3RoZXIgcGxhY2VzLiBJdCdzIG5vdCBjcml0aWNhbCBzbyB3ZSBsZWF2ZSBpdCBhcy1pcyBmb3Igbm93CisJICovCisJeG1sWFBhdGhlcnJvcihwY3R4dCwgX19GSUxFX18sIF9fTElORV9fLCBYUEFUSF9FWFBSX0VSUk9SKTsKKwljb21wID0gTlVMTDsKKyAgICB9IGVsc2UgeworCWNvbXAgPSBwY3R4dC0+Y29tcDsKKwlwY3R4dC0+Y29tcCA9IE5VTEw7CisgICAgfQorICAgIHhtbFhQYXRoRnJlZVBhcnNlckNvbnRleHQocGN0eHQpOworCisgICAgaWYgKGNvbXAgIT0gTlVMTCkgeworCWNvbXAtPmV4cHIgPSB4bWxTdHJkdXAoc3RyKTsKKyNpZmRlZiBERUJVR19FVkFMX0NPVU5UUworCWNvbXAtPnN0cmluZyA9IHhtbFN0cmR1cChzdHIpOworCWNvbXAtPm5iID0gMDsKKyNlbmRpZgorCWlmICgoY29tcC0+bmJTdGVwID4gMSkgJiYgKGNvbXAtPmxhc3QgPj0gMCkpIHsKKwkgICAgeG1sWFBhdGhPcHRpbWl6ZUV4cHJlc3Npb24oY29tcCwgJmNvbXAtPnN0ZXBzW2NvbXAtPmxhc3RdKTsKKwl9CisgICAgfQorICAgIHJldHVybihjb21wKTsKK30KKworLyoqCisgKiB4bWxYUGF0aENvbXBpbGU6CisgKiBAc3RyOiAgdGhlIFhQYXRoIGV4cHJlc3Npb24KKyAqCisgKiBDb21waWxlIGFuIFhQYXRoIGV4cHJlc3Npb24KKyAqCisgKiBSZXR1cm5zIHRoZSB4bWxYUGF0aENvbXBFeHByUHRyIHJlc3VsdGluZyBmcm9tIHRoZSBjb21waWxhdGlvbiBvciBOVUxMLgorICogICAgICAgICB0aGUgY2FsbGVyIGhhcyB0byBmcmVlIHRoZSBvYmplY3QuCisgKi8KK3htbFhQYXRoQ29tcEV4cHJQdHIKK3htbFhQYXRoQ29tcGlsZShjb25zdCB4bWxDaGFyICpzdHIpIHsKKyAgICByZXR1cm4oeG1sWFBhdGhDdHh0Q29tcGlsZShOVUxMLCBzdHIpKTsKK30KKworLyoqCisgKiB4bWxYUGF0aENvbXBpbGVkRXZhbEludGVybmFsOgorICogQGNvbXA6ICB0aGUgY29tcGlsZWQgWFBhdGggZXhwcmVzc2lvbgorICogQGN0eHQ6ICB0aGUgWFBhdGggY29udGV4dAorICogQHJlc09iajogdGhlIHJlc3VsdGluZyBYUGF0aCBvYmplY3Qgb3IgTlVMTAorICogQHRvQm9vbDogMSBpZiBvbmx5IGEgYm9vbGVhbiByZXN1bHQgaXMgcmVxdWVzdGVkCisgKgorICogRXZhbHVhdGUgdGhlIFByZWNvbXBpbGVkIFhQYXRoIGV4cHJlc3Npb24gaW4gdGhlIGdpdmVuIGNvbnRleHQuCisgKiBUaGUgY2FsbGVyIGhhcyB0byBmcmVlIEByZXNPYmouCisgKgorICogUmV0dXJucyB0aGUgeG1sWFBhdGhPYmplY3RQdHIgcmVzdWx0aW5nIGZyb20gdGhlIGV2YWx1YXRpb24gb3IgTlVMTC4KKyAqICAgICAgICAgdGhlIGNhbGxlciBoYXMgdG8gZnJlZSB0aGUgb2JqZWN0LgorICovCitzdGF0aWMgaW50Cit4bWxYUGF0aENvbXBpbGVkRXZhbEludGVybmFsKHhtbFhQYXRoQ29tcEV4cHJQdHIgY29tcCwKKwkJCSAgICAgeG1sWFBhdGhDb250ZXh0UHRyIGN0eHQsCisJCQkgICAgIHhtbFhQYXRoT2JqZWN0UHRyICpyZXNPYmosCisJCQkgICAgIGludCB0b0Jvb2wpCit7CisgICAgeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIHBjdHh0OworI2lmbmRlZiBMSUJYTUxfVEhSRUFEX0VOQUJMRUQKKyAgICBzdGF0aWMgaW50IHJlZW50YW5jZSA9IDA7CisjZW5kaWYKKyAgICBpbnQgcmVzOworCisgICAgQ0hFQ0tfQ1RYVF9ORUcoY3R4dCkKKworICAgIGlmIChjb21wID09IE5VTEwpCisJcmV0dXJuKC0xKTsKKyAgICB4bWxYUGF0aEluaXQoKTsKKworI2lmbmRlZiBMSUJYTUxfVEhSRUFEX0VOQUJMRUQKKyAgICByZWVudGFuY2UrKzsKKyAgICBpZiAocmVlbnRhbmNlID4gMSkKKwl4bWxYUGF0aERpc2FibGVPcHRpbWl6ZXIgPSAxOworI2VuZGlmCisKKyNpZmRlZiBERUJVR19FVkFMX0NPVU5UUworICAgIGNvbXAtPm5iKys7CisgICAgaWYgKChjb21wLT5zdHJpbmcgIT0gTlVMTCkgJiYgKGNvbXAtPm5iID4gMTAwKSkgeworCWZwcmludGYoc3RkZXJyLCAiMTAwIHggJXNcbiIsIGNvbXAtPnN0cmluZyk7CisJY29tcC0+bmIgPSAwOworICAgIH0KKyNlbmRpZgorICAgIHBjdHh0ID0geG1sWFBhdGhDb21wUGFyc2VyQ29udGV4dChjb21wLCBjdHh0KTsKKyAgICByZXMgPSB4bWxYUGF0aFJ1bkV2YWwocGN0eHQsIHRvQm9vbCk7CisKKyAgICBpZiAocmVzT2JqKSB7CisJaWYgKHBjdHh0LT52YWx1ZSA9PSBOVUxMKSB7CisJICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkieG1sWFBhdGhDb21waWxlZEV2YWw6IGV2YWx1YXRpb24gZmFpbGVkXG4iKTsKKwkgICAgKnJlc09iaiA9IE5VTEw7CisJfSBlbHNlIHsKKwkgICAgKnJlc09iaiA9IHZhbHVlUG9wKHBjdHh0KTsKKwl9CisgICAgfQorCisgICAgLyoKKyAgICAqIFBvcCBhbGwgcmVtYWluaW5nIG9iamVjdHMgZnJvbSB0aGUgc3RhY2suCisgICAgKi8KKyAgICBpZiAocGN0eHQtPnZhbHVlTnIgPiAwKSB7CisJeG1sWFBhdGhPYmplY3RQdHIgdG1wOworCWludCBzdGFjayA9IDA7CisKKwlkbyB7CisJICAgIHRtcCA9IHZhbHVlUG9wKHBjdHh0KTsKKwkgICAgaWYgKHRtcCAhPSBOVUxMKSB7CisJCXN0YWNrKys7CisJCXhtbFhQYXRoUmVsZWFzZU9iamVjdChjdHh0LCB0bXApOworCSAgICB9CisJfSB3aGlsZSAodG1wICE9IE5VTEwpOworCWlmICgoc3RhY2sgIT0gMCkgJiYKKwkgICAgKCh0b0Jvb2wpIHx8ICgocmVzT2JqKSAmJiAoKnJlc09iaikpKSkKKwl7CisJICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkieG1sWFBhdGhDb21waWxlZEV2YWw6ICVkIG9iamVjdHMgbGVmdCBvbiB0aGUgc3RhY2suXG4iLAorCQlzdGFjayk7CisJfQorICAgIH0KKworICAgIGlmICgocGN0eHQtPmVycm9yICE9IFhQQVRIX0VYUFJFU1NJT05fT0spICYmIChyZXNPYmopICYmICgqcmVzT2JqKSkgeworCXhtbFhQYXRoRnJlZU9iamVjdCgqcmVzT2JqKTsKKwkqcmVzT2JqID0gTlVMTDsKKyAgICB9CisgICAgcGN0eHQtPmNvbXAgPSBOVUxMOworICAgIHhtbFhQYXRoRnJlZVBhcnNlckNvbnRleHQocGN0eHQpOworI2lmbmRlZiBMSUJYTUxfVEhSRUFEX0VOQUJMRUQKKyAgICByZWVudGFuY2UtLTsKKyNlbmRpZgorCisgICAgcmV0dXJuKHJlcyk7Cit9CisKKy8qKgorICogeG1sWFBhdGhDb21waWxlZEV2YWw6CisgKiBAY29tcDogIHRoZSBjb21waWxlZCBYUGF0aCBleHByZXNzaW9uCisgKiBAY3R4OiAgdGhlIFhQYXRoIGNvbnRleHQKKyAqCisgKiBFdmFsdWF0ZSB0aGUgUHJlY29tcGlsZWQgWFBhdGggZXhwcmVzc2lvbiBpbiB0aGUgZ2l2ZW4gY29udGV4dC4KKyAqCisgKiBSZXR1cm5zIHRoZSB4bWxYUGF0aE9iamVjdFB0ciByZXN1bHRpbmcgZnJvbSB0aGUgZXZhbHVhdGlvbiBvciBOVUxMLgorICogICAgICAgICB0aGUgY2FsbGVyIGhhcyB0byBmcmVlIHRoZSBvYmplY3QuCisgKi8KK3htbFhQYXRoT2JqZWN0UHRyCit4bWxYUGF0aENvbXBpbGVkRXZhbCh4bWxYUGF0aENvbXBFeHByUHRyIGNvbXAsIHhtbFhQYXRoQ29udGV4dFB0ciBjdHgpCit7CisgICAgeG1sWFBhdGhPYmplY3RQdHIgcmVzID0gTlVMTDsKKworICAgIHhtbFhQYXRoQ29tcGlsZWRFdmFsSW50ZXJuYWwoY29tcCwgY3R4LCAmcmVzLCAwKTsKKyAgICByZXR1cm4ocmVzKTsKK30KKworLyoqCisgKiB4bWxYUGF0aENvbXBpbGVkRXZhbFRvQm9vbGVhbjoKKyAqIEBjb21wOiAgdGhlIGNvbXBpbGVkIFhQYXRoIGV4cHJlc3Npb24KKyAqIEBjdHh0OiAgdGhlIFhQYXRoIGNvbnRleHQKKyAqCisgKiBBcHBsaWVzIHRoZSBYUGF0aCBib29sZWFuKCkgZnVuY3Rpb24gb24gdGhlIHJlc3VsdCBvZiB0aGUgZ2l2ZW4KKyAqIGNvbXBpbGVkIGV4cHJlc3Npb24uCisgKgorICogUmV0dXJucyAxIGlmIHRoZSBleHByZXNzaW9uIGV2YWx1YXRlZCB0byB0cnVlLCAwIGlmIHRvIGZhbHNlIGFuZAorICogICAgICAgICAtMSBpbiBBUEkgYW5kIGludGVybmFsIGVycm9ycy4KKyAqLworaW50Cit4bWxYUGF0aENvbXBpbGVkRXZhbFRvQm9vbGVhbih4bWxYUGF0aENvbXBFeHByUHRyIGNvbXAsCisJCQkgICAgICB4bWxYUGF0aENvbnRleHRQdHIgY3R4dCkKK3sKKyAgICByZXR1cm4oeG1sWFBhdGhDb21waWxlZEV2YWxJbnRlcm5hbChjb21wLCBjdHh0LCBOVUxMLCAxKSk7Cit9CisKKy8qKgorICogeG1sWFBhdGhFdmFsRXhwcjoKKyAqIEBjdHh0OiAgdGhlIFhQYXRoIFBhcnNlciBjb250ZXh0CisgKgorICogUGFyc2UgYW5kIGV2YWx1YXRlIGFuIFhQYXRoIGV4cHJlc3Npb24gaW4gdGhlIGdpdmVuIGNvbnRleHQsCisgKiB0aGVuIHB1c2ggdGhlIHJlc3VsdCBvbiB0aGUgY29udGV4dCBzdGFjaworICovCit2b2lkCit4bWxYUGF0aEV2YWxFeHByKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0KSB7CisjaWZkZWYgWFBBVEhfU1RSRUFNSU5HCisgICAgeG1sWFBhdGhDb21wRXhwclB0ciBjb21wOworI2VuZGlmCisKKyAgICBpZiAoY3R4dCA9PSBOVUxMKSByZXR1cm47CisKKyNpZmRlZiBYUEFUSF9TVFJFQU1JTkcKKyAgICBjb21wID0geG1sWFBhdGhUcnlTdHJlYW1Db21waWxlKGN0eHQtPmNvbnRleHQsIGN0eHQtPmJhc2UpOworICAgIGlmIChjb21wICE9IE5VTEwpIHsKKyAgICAgICAgaWYgKGN0eHQtPmNvbXAgIT0gTlVMTCkKKwkgICAgeG1sWFBhdGhGcmVlQ29tcEV4cHIoY3R4dC0+Y29tcCk7CisgICAgICAgIGN0eHQtPmNvbXAgPSBjb21wOworCWlmIChjdHh0LT5jdXIgIT0gTlVMTCkKKwkgICAgd2hpbGUgKCpjdHh0LT5jdXIgIT0gMCkgY3R4dC0+Y3VyKys7CisgICAgfSBlbHNlCisjZW5kaWYKKyAgICB7CisJeG1sWFBhdGhDb21waWxlRXhwcihjdHh0LCAxKTsKKwlpZiAoKGN0eHQtPmVycm9yID09IFhQQVRIX0VYUFJFU1NJT05fT0spICYmCisJICAgIChjdHh0LT5jb21wICE9IE5VTEwpICYmCisJICAgIChjdHh0LT5jb21wLT5uYlN0ZXAgPiAxKSAmJgorCSAgICAoY3R4dC0+Y29tcC0+bGFzdCA+PSAwKSkKKwl7CisJICAgIHhtbFhQYXRoT3B0aW1pemVFeHByZXNzaW9uKGN0eHQtPmNvbXAsCisJCSZjdHh0LT5jb21wLT5zdGVwc1tjdHh0LT5jb21wLT5sYXN0XSk7CisJfQorICAgIH0KKyAgICBDSEVDS19FUlJPUjsKKyAgICB4bWxYUGF0aFJ1bkV2YWwoY3R4dCwgMCk7Cit9CisKKy8qKgorICogeG1sWFBhdGhFdmFsOgorICogQHN0cjogIHRoZSBYUGF0aCBleHByZXNzaW9uCisgKiBAY3R4OiAgdGhlIFhQYXRoIGNvbnRleHQKKyAqCisgKiBFdmFsdWF0ZSB0aGUgWFBhdGggTG9jYXRpb24gUGF0aCBpbiB0aGUgZ2l2ZW4gY29udGV4dC4KKyAqCisgKiBSZXR1cm5zIHRoZSB4bWxYUGF0aE9iamVjdFB0ciByZXN1bHRpbmcgZnJvbSB0aGUgZXZhbHVhdGlvbiBvciBOVUxMLgorICogICAgICAgICB0aGUgY2FsbGVyIGhhcyB0byBmcmVlIHRoZSBvYmplY3QuCisgKi8KK3htbFhQYXRoT2JqZWN0UHRyCit4bWxYUGF0aEV2YWwoY29uc3QgeG1sQ2hhciAqc3RyLCB4bWxYUGF0aENvbnRleHRQdHIgY3R4KSB7CisgICAgeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQ7CisgICAgeG1sWFBhdGhPYmplY3RQdHIgcmVzLCB0bXAsIGluaXQgPSBOVUxMOworICAgIGludCBzdGFjayA9IDA7CisKKyAgICBDSEVDS19DVFhUKGN0eCkKKworICAgIHhtbFhQYXRoSW5pdCgpOworCisgICAgY3R4dCA9IHhtbFhQYXRoTmV3UGFyc2VyQ29udGV4dChzdHIsIGN0eCk7CisgICAgaWYgKGN0eHQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgeG1sWFBhdGhFdmFsRXhwcihjdHh0KTsKKworICAgIGlmIChjdHh0LT52YWx1ZSA9PSBOVUxMKSB7CisJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSJ4bWxYUGF0aEV2YWw6IGV2YWx1YXRpb24gZmFpbGVkXG4iKTsKKwlyZXMgPSBOVUxMOworICAgIH0gZWxzZSBpZiAoKCpjdHh0LT5jdXIgIT0gMCkgJiYgKGN0eHQtPmNvbXAgIT0gTlVMTCkKKyNpZmRlZiBYUEFUSF9TVFJFQU1JTkcKKyAgICAgICAgICAgICYmIChjdHh0LT5jb21wLT5zdHJlYW0gPT0gTlVMTCkKKyNlbmRpZgorCSAgICAgICkgeworCXhtbFhQYXRoZXJyb3IoY3R4dCwgX19GSUxFX18sIF9fTElORV9fLCBYUEFUSF9FWFBSX0VSUk9SKTsKKwlyZXMgPSBOVUxMOworICAgIH0gZWxzZSB7CisJcmVzID0gdmFsdWVQb3AoY3R4dCk7CisgICAgfQorCisgICAgZG8geworICAgICAgICB0bXAgPSB2YWx1ZVBvcChjdHh0KTsKKwlpZiAodG1wICE9IE5VTEwpIHsKKwkgICAgaWYgKHRtcCAhPSBpbml0KQorCQlzdGFjaysrOworCSAgICB4bWxYUGF0aFJlbGVhc2VPYmplY3QoY3R4LCB0bXApOworICAgICAgICB9CisgICAgfSB3aGlsZSAodG1wICE9IE5VTEwpOworICAgIGlmICgoc3RhY2sgIT0gMCkgJiYgKHJlcyAhPSBOVUxMKSkgeworCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkieG1sWFBhdGhFdmFsOiAlZCBvYmplY3QgbGVmdCBvbiB0aGUgc3RhY2tcbiIsCisJICAgICAgICBzdGFjayk7CisgICAgfQorICAgIGlmIChjdHh0LT5lcnJvciAhPSBYUEFUSF9FWFBSRVNTSU9OX09LKSB7CisJeG1sWFBhdGhGcmVlT2JqZWN0KHJlcyk7CisJcmVzID0gTlVMTDsKKyAgICB9CisKKyAgICB4bWxYUGF0aEZyZWVQYXJzZXJDb250ZXh0KGN0eHQpOworICAgIHJldHVybihyZXMpOworfQorCisvKioKKyAqIHhtbFhQYXRoU2V0Q29udGV4dE5vZGU6CisgKiBAbm9kZTogdGhlIG5vZGUgdG8gdG8gdXNlIGFzIHRoZSBjb250ZXh0IG5vZGUKKyAqIEBjdHg6ICB0aGUgWFBhdGggY29udGV4dAorICoKKyAqIFNldHMgJ25vZGUnIGFzIHRoZSBjb250ZXh0IG5vZGUuIFRoZSBub2RlIG11c3QgYmUgaW4gdGhlIHNhbWUKKyAqIGRvY3VtZW50IGFzIHRoYXQgYXNzb2NpYXRlZCB3aXRoIHRoZSBjb250ZXh0LgorICoKKyAqIFJldHVybnMgLTEgaW4gY2FzZSBvZiBlcnJvciBvciAwIGlmIHN1Y2Nlc3NmdWwKKyAqLworaW50Cit4bWxYUGF0aFNldENvbnRleHROb2RlKHhtbE5vZGVQdHIgbm9kZSwgeG1sWFBhdGhDb250ZXh0UHRyIGN0eCkgeworICAgIGlmICgobm9kZSA9PSBOVUxMKSB8fCAoY3R4ID09IE5VTEwpKQorICAgICAgICByZXR1cm4oLTEpOworCisgICAgaWYgKG5vZGUtPmRvYyA9PSBjdHgtPmRvYykgeworICAgICAgICBjdHgtPm5vZGUgPSBub2RlOworCXJldHVybigwKTsKKyAgICB9CisgICAgcmV0dXJuKC0xKTsKK30KKworLyoqCisgKiB4bWxYUGF0aE5vZGVFdmFsOgorICogQG5vZGU6IHRoZSBub2RlIHRvIHRvIHVzZSBhcyB0aGUgY29udGV4dCBub2RlCisgKiBAc3RyOiAgdGhlIFhQYXRoIGV4cHJlc3Npb24KKyAqIEBjdHg6ICB0aGUgWFBhdGggY29udGV4dAorICoKKyAqIEV2YWx1YXRlIHRoZSBYUGF0aCBMb2NhdGlvbiBQYXRoIGluIHRoZSBnaXZlbiBjb250ZXh0LiBUaGUgbm9kZSAnbm9kZScKKyAqIGlzIHNldCBhcyB0aGUgY29udGV4dCBub2RlLiBUaGUgY29udGV4dCBub2RlIGlzIG5vdCByZXN0b3JlZC4KKyAqCisgKiBSZXR1cm5zIHRoZSB4bWxYUGF0aE9iamVjdFB0ciByZXN1bHRpbmcgZnJvbSB0aGUgZXZhbHVhdGlvbiBvciBOVUxMLgorICogICAgICAgICB0aGUgY2FsbGVyIGhhcyB0byBmcmVlIHRoZSBvYmplY3QuCisgKi8KK3htbFhQYXRoT2JqZWN0UHRyCit4bWxYUGF0aE5vZGVFdmFsKHhtbE5vZGVQdHIgbm9kZSwgY29uc3QgeG1sQ2hhciAqc3RyLCB4bWxYUGF0aENvbnRleHRQdHIgY3R4KSB7CisgICAgaWYgKHN0ciA9PSBOVUxMKQorICAgICAgICByZXR1cm4oTlVMTCk7CisgICAgaWYgKHhtbFhQYXRoU2V0Q29udGV4dE5vZGUobm9kZSwgY3R4KSA8IDApCisgICAgICAgIHJldHVybihOVUxMKTsKKyAgICByZXR1cm4oeG1sWFBhdGhFdmFsKHN0ciwgY3R4KSk7Cit9CisKKy8qKgorICogeG1sWFBhdGhFdmFsRXhwcmVzc2lvbjoKKyAqIEBzdHI6ICB0aGUgWFBhdGggZXhwcmVzc2lvbgorICogQGN0eHQ6ICB0aGUgWFBhdGggY29udGV4dAorICoKKyAqIEV2YWx1YXRlIHRoZSBYUGF0aCBleHByZXNzaW9uIGluIHRoZSBnaXZlbiBjb250ZXh0LgorICoKKyAqIFJldHVybnMgdGhlIHhtbFhQYXRoT2JqZWN0UHRyIHJlc3VsdGluZyBmcm9tIHRoZSBldmFsdWF0aW9uIG9yIE5VTEwuCisgKiAgICAgICAgIHRoZSBjYWxsZXIgaGFzIHRvIGZyZWUgdGhlIG9iamVjdC4KKyAqLworeG1sWFBhdGhPYmplY3RQdHIKK3htbFhQYXRoRXZhbEV4cHJlc3Npb24oY29uc3QgeG1sQ2hhciAqc3RyLCB4bWxYUGF0aENvbnRleHRQdHIgY3R4dCkgeworICAgIHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBwY3R4dDsKKyAgICB4bWxYUGF0aE9iamVjdFB0ciByZXMsIHRtcDsKKyAgICBpbnQgc3RhY2sgPSAwOworCisgICAgQ0hFQ0tfQ1RYVChjdHh0KQorCisgICAgeG1sWFBhdGhJbml0KCk7CisKKyAgICBwY3R4dCA9IHhtbFhQYXRoTmV3UGFyc2VyQ29udGV4dChzdHIsIGN0eHQpOworICAgIGlmIChwY3R4dCA9PSBOVUxMKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB4bWxYUGF0aEV2YWxFeHByKHBjdHh0KTsKKworICAgIGlmICgoKnBjdHh0LT5jdXIgIT0gMCkgfHwgKHBjdHh0LT5lcnJvciAhPSBYUEFUSF9FWFBSRVNTSU9OX09LKSkgeworCXhtbFhQYXRoZXJyb3IocGN0eHQsIF9fRklMRV9fLCBfX0xJTkVfXywgWFBBVEhfRVhQUl9FUlJPUik7CisJcmVzID0gTlVMTDsKKyAgICB9IGVsc2UgeworCXJlcyA9IHZhbHVlUG9wKHBjdHh0KTsKKyAgICB9CisgICAgZG8geworICAgICAgICB0bXAgPSB2YWx1ZVBvcChwY3R4dCk7CisJaWYgKHRtcCAhPSBOVUxMKSB7CisJICAgIHhtbFhQYXRoUmVsZWFzZU9iamVjdChjdHh0LCB0bXApOworCSAgICBzdGFjaysrOworCX0KKyAgICB9IHdoaWxlICh0bXAgIT0gTlVMTCk7CisgICAgaWYgKChzdGFjayAhPSAwKSAmJiAocmVzICE9IE5VTEwpKSB7CisJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCSJ4bWxYUGF0aEV2YWxFeHByZXNzaW9uOiAlZCBvYmplY3QgbGVmdCBvbiB0aGUgc3RhY2tcbiIsCisJICAgICAgICBzdGFjayk7CisgICAgfQorICAgIHhtbFhQYXRoRnJlZVBhcnNlckNvbnRleHQocGN0eHQpOworICAgIHJldHVybihyZXMpOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCUV4dHJhIGZ1bmN0aW9ucyBub3QgcGVydGFpbmluZyB0byB0aGUgWFBhdGggc3BlYwkJKgorICoJCQkJCQkJCQkqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyoqCisgKiB4bWxYUGF0aEVzY2FwZVVyaUZ1bmN0aW9uOgorICogQGN0eHQ6ICB0aGUgWFBhdGggUGFyc2VyIGNvbnRleHQKKyAqIEBuYXJnczogIHRoZSBudW1iZXIgb2YgYXJndW1lbnRzCisgKgorICogSW1wbGVtZW50IHRoZSBlc2NhcGUtdXJpKCkgWFBhdGggZnVuY3Rpb24KKyAqICAgIHN0cmluZyBlc2NhcGUtdXJpKHN0cmluZyAkc3RyLCBib29sICRlc2NhcGUtcmVzZXJ2ZWQpCisgKgorICogVGhpcyBmdW5jdGlvbiBhcHBsaWVzIHRoZSBVUkkgZXNjYXBpbmcgcnVsZXMgZGVmaW5lZCBpbiBzZWN0aW9uIDIgb2YgW1JGQworICogMjM5Nl0gdG8gdGhlIHN0cmluZyBzdXBwbGllZCBhcyAkdXJpLXBhcnQsIHdoaWNoIHR5cGljYWxseSByZXByZXNlbnRzIGFsbAorICogb3IgcGFydCBvZiBhIFVSSS4gVGhlIGVmZmVjdCBvZiB0aGUgZnVuY3Rpb24gaXMgdG8gcmVwbGFjZSBhbnkgc3BlY2lhbAorICogY2hhcmFjdGVyIGluIHRoZSBzdHJpbmcgYnkgYW4gZXNjYXBlIHNlcXVlbmNlIG9mIHRoZSBmb3JtICV4eCV5eS4uLiwKKyAqIHdoZXJlIHh4eXkuLi4gaXMgdGhlIGhleGFkZWNpbWFsIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBvY3RldHMgdXNlZCB0bworICogcmVwcmVzZW50IHRoZSBjaGFyYWN0ZXIgaW4gVVRGLTguCisgKgorICogVGhlIHNldCBvZiBjaGFyYWN0ZXJzIHRoYXQgYXJlIGVzY2FwZWQgZGVwZW5kcyBvbiB0aGUgc2V0dGluZyBvZiB0aGUKKyAqIGJvb2xlYW4gYXJndW1lbnQgJGVzY2FwZS1yZXNlcnZlZC4KKyAqCisgKiBJZiAkZXNjYXBlLXJlc2VydmVkIGlzIHRydWUsIGFsbCBjaGFyYWN0ZXJzIGFyZSBlc2NhcGVkIG90aGVyIHRoYW4gbG93ZXIKKyAqIGNhc2UgbGV0dGVycyBhLXosIHVwcGVyIGNhc2UgbGV0dGVycyBBLVosIGRpZ2l0cyAwLTksIGFuZCB0aGUgY2hhcmFjdGVycworICogcmVmZXJyZWQgdG8gaW4gW1JGQyAyMzk2XSBhcyAibWFya3MiOiBzcGVjaWZpY2FsbHksICItIiB8ICJfIiB8ICIuIiB8ICIhIgorICogfCAifiIgfCAiKiIgfCAiJyIgfCAiKCIgfCAiKSIuIFRoZSAiJSIgY2hhcmFjdGVyIGl0c2VsZiBpcyBlc2NhcGVkIG9ubHkKKyAqIGlmIGl0IGlzIG5vdCBmb2xsb3dlZCBieSB0d28gaGV4YWRlY2ltYWwgZGlnaXRzICh0aGF0IGlzLCAwLTksIGEtZiwgYW5kCisgKiBBLUYpLgorICoKKyAqIElmICRlc2NhcGUtcmVzZXJ2ZWQgaXMgZmFsc2UsIHRoZSBiZWhhdmlvciBkaWZmZXJzIGluIHRoYXQgY2hhcmFjdGVycworICogcmVmZXJyZWQgdG8gaW4gW1JGQyAyMzk2XSBhcyByZXNlcnZlZCBjaGFyYWN0ZXJzIGFyZSBub3QgZXNjYXBlZC4gVGhlc2UKKyAqIGNoYXJhY3RlcnMgYXJlICI7IiB8ICIvIiB8ICI/IiB8ICI6IiB8ICJAIiB8ICImIiB8ICI9IiB8ICIrIiB8ICIkIiB8ICIsIi4KKyAqCisgKiBbUkZDIDIzOTZdIGRvZXMgbm90IGRlZmluZSB3aGV0aGVyIGVzY2FwZWQgVVJJcyBzaG91bGQgdXNlIGxvd2VyIGNhc2Ugb3IKKyAqIHVwcGVyIGNhc2UgZm9yIGhleGFkZWNpbWFsIGRpZ2l0cy4gVG8gZW5zdXJlIHRoYXQgZXNjYXBlZCBVUklzIGNhbiBiZQorICogY29tcGFyZWQgdXNpbmcgc3RyaW5nIGNvbXBhcmlzb24gZnVuY3Rpb25zLCB0aGlzIGZ1bmN0aW9uIG11c3QgYWx3YXlzIHVzZQorICogdGhlIHVwcGVyLWNhc2UgbGV0dGVycyBBLUYuCisgKgorICogR2VuZXJhbGx5LCAkZXNjYXBlLXJlc2VydmVkIHNob3VsZCBiZSBzZXQgdG8gdHJ1ZSB3aGVuIGVzY2FwaW5nIGEgc3RyaW5nCisgKiB0aGF0IGlzIHRvIGZvcm0gYSBzaW5nbGUgcGFydCBvZiBhIFVSSSwgYW5kIHRvIGZhbHNlIHdoZW4gZXNjYXBpbmcgYW4KKyAqIGVudGlyZSBVUkkgb3IgVVJJIHJlZmVyZW5jZS4KKyAqCisgKiBJbiB0aGUgY2FzZSBvZiBub24tYXNjaWkgY2hhcmFjdGVycywgdGhlIHN0cmluZyBpcyBlbmNvZGVkIGFjY29yZGluZyB0bworICogdXRmLTggYW5kIHRoZW4gY29udmVydGVkIGFjY29yZGluZyB0byBSRkMgMjM5Ni4KKyAqCisgKiBFeGFtcGxlcworICogIHhmOmVzY2FwZS11cmkgKCJnb3BoZXI6Ly9zcGluYWx0YXAubWljcm8udW1uLmVkdS8wMC9XZWF0aGVyL0NhbGlmb3JuaWEvTG9zJTIwQW5nZWxlcyNvY2VhbiIpLCB0cnVlKCkpCisgKiAgcmV0dXJucyAiZ29waGVyJTNBJTJGJTJGc3BpbmFsdGFwLm1pY3JvLnVtbi5lZHUlMkYwMCUyRldlYXRoZXIlMkZDYWxpZm9ybmlhJTJGTG9zJTIwQW5nZWxlcyUyM29jZWFuIgorICogIHhmOmVzY2FwZS11cmkgKCJnb3BoZXI6Ly9zcGluYWx0YXAubWljcm8udW1uLmVkdS8wMC9XZWF0aGVyL0NhbGlmb3JuaWEvTG9zJTIwQW5nZWxlcyNvY2VhbiIpLCBmYWxzZSgpKQorICogIHJldHVybnMgImdvcGhlcjovL3NwaW5hbHRhcC5taWNyby51bW4uZWR1LzAwL1dlYXRoZXIvQ2FsaWZvcm5pYS9Mb3MlMjBBbmdlbGVzJTIzb2NlYW4iCisgKgorICovCitzdGF0aWMgdm9pZAoreG1sWFBhdGhFc2NhcGVVcmlGdW5jdGlvbih4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCwgaW50IG5hcmdzKSB7CisgICAgeG1sWFBhdGhPYmplY3RQdHIgc3RyOworICAgIGludCBlc2NhcGVfcmVzZXJ2ZWQ7CisgICAgeG1sQnVmUHRyIHRhcmdldDsKKyAgICB4bWxDaGFyICpjcHRyOworICAgIHhtbENoYXIgZXNjYXBlWzRdOworCisgICAgQ0hFQ0tfQVJJVFkoMik7CisKKyAgICBlc2NhcGVfcmVzZXJ2ZWQgPSB4bWxYUGF0aFBvcEJvb2xlYW4oY3R4dCk7CisKKyAgICBDQVNUX1RPX1NUUklORzsKKyAgICBzdHIgPSB2YWx1ZVBvcChjdHh0KTsKKworICAgIHRhcmdldCA9IHhtbEJ1ZkNyZWF0ZSgpOworCisgICAgZXNjYXBlWzBdID0gJyUnOworICAgIGVzY2FwZVszXSA9IDA7CisKKyAgICBpZiAodGFyZ2V0KSB7CisJZm9yIChjcHRyID0gc3RyLT5zdHJpbmd2YWw7ICpjcHRyOyBjcHRyKyspIHsKKwkgICAgaWYgKCgqY3B0ciA+PSAnQScgJiYgKmNwdHIgPD0gJ1onKSB8fAorCQkoKmNwdHIgPj0gJ2EnICYmICpjcHRyIDw9ICd6JykgfHwKKwkJKCpjcHRyID49ICcwJyAmJiAqY3B0ciA8PSAnOScpIHx8CisJCSpjcHRyID09ICctJyB8fCAqY3B0ciA9PSAnXycgfHwgKmNwdHIgPT0gJy4nIHx8CisJCSpjcHRyID09ICchJyB8fCAqY3B0ciA9PSAnficgfHwgKmNwdHIgPT0gJyonIHx8CisJCSpjcHRyID09ICdcJyd8fCAqY3B0ciA9PSAnKCcgfHwgKmNwdHIgPT0gJyknIHx8CisJCSgqY3B0ciA9PSAnJScgJiYKKwkJICgoY3B0clsxXSA+PSAnQScgJiYgY3B0clsxXSA8PSAnRicpIHx8CisJCSAgKGNwdHJbMV0gPj0gJ2EnICYmIGNwdHJbMV0gPD0gJ2YnKSB8fAorCQkgIChjcHRyWzFdID49ICcwJyAmJiBjcHRyWzFdIDw9ICc5JykpICYmCisJCSAoKGNwdHJbMl0gPj0gJ0EnICYmIGNwdHJbMl0gPD0gJ0YnKSB8fAorCQkgIChjcHRyWzJdID49ICdhJyAmJiBjcHRyWzJdIDw9ICdmJykgfHwKKwkJICAoY3B0clsyXSA+PSAnMCcgJiYgY3B0clsyXSA8PSAnOScpKSkgfHwKKwkJKCFlc2NhcGVfcmVzZXJ2ZWQgJiYKKwkJICgqY3B0ciA9PSAnOycgfHwgKmNwdHIgPT0gJy8nIHx8ICpjcHRyID09ICc/JyB8fAorCQkgICpjcHRyID09ICc6JyB8fCAqY3B0ciA9PSAnQCcgfHwgKmNwdHIgPT0gJyYnIHx8CisJCSAgKmNwdHIgPT0gJz0nIHx8ICpjcHRyID09ICcrJyB8fCAqY3B0ciA9PSAnJCcgfHwKKwkJICAqY3B0ciA9PSAnLCcpKSkgeworCQl4bWxCdWZBZGQodGFyZ2V0LCBjcHRyLCAxKTsKKwkgICAgfSBlbHNlIHsKKwkJaWYgKCgqY3B0ciA+PiA0KSA8IDEwKQorCQkgICAgZXNjYXBlWzFdID0gJzAnICsgKCpjcHRyID4+IDQpOworCQllbHNlCisJCSAgICBlc2NhcGVbMV0gPSAnQScgLSAxMCArICgqY3B0ciA+PiA0KTsKKwkJaWYgKCgqY3B0ciAmIDB4RikgPCAxMCkKKwkJICAgIGVzY2FwZVsyXSA9ICcwJyArICgqY3B0ciAmIDB4Rik7CisJCWVsc2UKKwkJICAgIGVzY2FwZVsyXSA9ICdBJyAtIDEwICsgKCpjcHRyICYgMHhGKTsKKworCQl4bWxCdWZBZGQodGFyZ2V0LCAmZXNjYXBlWzBdLCAzKTsKKwkgICAgfQorCX0KKyAgICB9CisgICAgdmFsdWVQdXNoKGN0eHQsIHhtbFhQYXRoQ2FjaGVOZXdTdHJpbmcoY3R4dC0+Y29udGV4dCwKKwl4bWxCdWZDb250ZW50KHRhcmdldCkpKTsKKyAgICB4bWxCdWZGcmVlKHRhcmdldCk7CisgICAgeG1sWFBhdGhSZWxlYXNlT2JqZWN0KGN0eHQtPmNvbnRleHQsIHN0cik7Cit9CisKKy8qKgorICogeG1sWFBhdGhSZWdpc3RlckFsbEZ1bmN0aW9uczoKKyAqIEBjdHh0OiAgdGhlIFhQYXRoIGNvbnRleHQKKyAqCisgKiBSZWdpc3RlcnMgYWxsIGRlZmF1bHQgWFBhdGggZnVuY3Rpb25zIGluIHRoaXMgY29udGV4dAorICovCit2b2lkCit4bWxYUGF0aFJlZ2lzdGVyQWxsRnVuY3Rpb25zKHhtbFhQYXRoQ29udGV4dFB0ciBjdHh0KQoreworICAgIHhtbFhQYXRoUmVnaXN0ZXJGdW5jKGN0eHQsIChjb25zdCB4bWxDaGFyICopImJvb2xlYW4iLAorICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFhQYXRoQm9vbGVhbkZ1bmN0aW9uKTsKKyAgICB4bWxYUGF0aFJlZ2lzdGVyRnVuYyhjdHh0LCAoY29uc3QgeG1sQ2hhciAqKSJjZWlsaW5nIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICB4bWxYUGF0aENlaWxpbmdGdW5jdGlvbik7CisgICAgeG1sWFBhdGhSZWdpc3RlckZ1bmMoY3R4dCwgKGNvbnN0IHhtbENoYXIgKikiY291bnQiLAorICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFhQYXRoQ291bnRGdW5jdGlvbik7CisgICAgeG1sWFBhdGhSZWdpc3RlckZ1bmMoY3R4dCwgKGNvbnN0IHhtbENoYXIgKikiY29uY2F0IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICB4bWxYUGF0aENvbmNhdEZ1bmN0aW9uKTsKKyAgICB4bWxYUGF0aFJlZ2lzdGVyRnVuYyhjdHh0LCAoY29uc3QgeG1sQ2hhciAqKSJjb250YWlucyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgeG1sWFBhdGhDb250YWluc0Z1bmN0aW9uKTsKKyAgICB4bWxYUGF0aFJlZ2lzdGVyRnVuYyhjdHh0LCAoY29uc3QgeG1sQ2hhciAqKSJpZCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgeG1sWFBhdGhJZEZ1bmN0aW9uKTsKKyAgICB4bWxYUGF0aFJlZ2lzdGVyRnVuYyhjdHh0LCAoY29uc3QgeG1sQ2hhciAqKSJmYWxzZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgeG1sWFBhdGhGYWxzZUZ1bmN0aW9uKTsKKyAgICB4bWxYUGF0aFJlZ2lzdGVyRnVuYyhjdHh0LCAoY29uc3QgeG1sQ2hhciAqKSJmbG9vciIsCisgICAgICAgICAgICAgICAgICAgICAgICAgeG1sWFBhdGhGbG9vckZ1bmN0aW9uKTsKKyAgICB4bWxYUGF0aFJlZ2lzdGVyRnVuYyhjdHh0LCAoY29uc3QgeG1sQ2hhciAqKSJsYXN0IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICB4bWxYUGF0aExhc3RGdW5jdGlvbik7CisgICAgeG1sWFBhdGhSZWdpc3RlckZ1bmMoY3R4dCwgKGNvbnN0IHhtbENoYXIgKikibGFuZyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgeG1sWFBhdGhMYW5nRnVuY3Rpb24pOworICAgIHhtbFhQYXRoUmVnaXN0ZXJGdW5jKGN0eHQsIChjb25zdCB4bWxDaGFyICopImxvY2FsLW5hbWUiLAorICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFhQYXRoTG9jYWxOYW1lRnVuY3Rpb24pOworICAgIHhtbFhQYXRoUmVnaXN0ZXJGdW5jKGN0eHQsIChjb25zdCB4bWxDaGFyICopIm5vdCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgeG1sWFBhdGhOb3RGdW5jdGlvbik7CisgICAgeG1sWFBhdGhSZWdpc3RlckZ1bmMoY3R4dCwgKGNvbnN0IHhtbENoYXIgKikibmFtZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgeG1sWFBhdGhOYW1lRnVuY3Rpb24pOworICAgIHhtbFhQYXRoUmVnaXN0ZXJGdW5jKGN0eHQsIChjb25zdCB4bWxDaGFyICopIm5hbWVzcGFjZS11cmkiLAorICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFhQYXRoTmFtZXNwYWNlVVJJRnVuY3Rpb24pOworICAgIHhtbFhQYXRoUmVnaXN0ZXJGdW5jKGN0eHQsIChjb25zdCB4bWxDaGFyICopIm5vcm1hbGl6ZS1zcGFjZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgeG1sWFBhdGhOb3JtYWxpemVGdW5jdGlvbik7CisgICAgeG1sWFBhdGhSZWdpc3RlckZ1bmMoY3R4dCwgKGNvbnN0IHhtbENoYXIgKikibnVtYmVyIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICB4bWxYUGF0aE51bWJlckZ1bmN0aW9uKTsKKyAgICB4bWxYUGF0aFJlZ2lzdGVyRnVuYyhjdHh0LCAoY29uc3QgeG1sQ2hhciAqKSJwb3NpdGlvbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgeG1sWFBhdGhQb3NpdGlvbkZ1bmN0aW9uKTsKKyAgICB4bWxYUGF0aFJlZ2lzdGVyRnVuYyhjdHh0LCAoY29uc3QgeG1sQ2hhciAqKSJyb3VuZCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgeG1sWFBhdGhSb3VuZEZ1bmN0aW9uKTsKKyAgICB4bWxYUGF0aFJlZ2lzdGVyRnVuYyhjdHh0LCAoY29uc3QgeG1sQ2hhciAqKSJzdHJpbmciLAorICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFhQYXRoU3RyaW5nRnVuY3Rpb24pOworICAgIHhtbFhQYXRoUmVnaXN0ZXJGdW5jKGN0eHQsIChjb25zdCB4bWxDaGFyICopInN0cmluZy1sZW5ndGgiLAorICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFhQYXRoU3RyaW5nTGVuZ3RoRnVuY3Rpb24pOworICAgIHhtbFhQYXRoUmVnaXN0ZXJGdW5jKGN0eHQsIChjb25zdCB4bWxDaGFyICopInN0YXJ0cy13aXRoIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICB4bWxYUGF0aFN0YXJ0c1dpdGhGdW5jdGlvbik7CisgICAgeG1sWFBhdGhSZWdpc3RlckZ1bmMoY3R4dCwgKGNvbnN0IHhtbENoYXIgKikic3Vic3RyaW5nIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICB4bWxYUGF0aFN1YnN0cmluZ0Z1bmN0aW9uKTsKKyAgICB4bWxYUGF0aFJlZ2lzdGVyRnVuYyhjdHh0LCAoY29uc3QgeG1sQ2hhciAqKSJzdWJzdHJpbmctYmVmb3JlIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICB4bWxYUGF0aFN1YnN0cmluZ0JlZm9yZUZ1bmN0aW9uKTsKKyAgICB4bWxYUGF0aFJlZ2lzdGVyRnVuYyhjdHh0LCAoY29uc3QgeG1sQ2hhciAqKSJzdWJzdHJpbmctYWZ0ZXIiLAorICAgICAgICAgICAgICAgICAgICAgICAgIHhtbFhQYXRoU3Vic3RyaW5nQWZ0ZXJGdW5jdGlvbik7CisgICAgeG1sWFBhdGhSZWdpc3RlckZ1bmMoY3R4dCwgKGNvbnN0IHhtbENoYXIgKikic3VtIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICB4bWxYUGF0aFN1bUZ1bmN0aW9uKTsKKyAgICB4bWxYUGF0aFJlZ2lzdGVyRnVuYyhjdHh0LCAoY29uc3QgeG1sQ2hhciAqKSJ0cnVlIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICB4bWxYUGF0aFRydWVGdW5jdGlvbik7CisgICAgeG1sWFBhdGhSZWdpc3RlckZ1bmMoY3R4dCwgKGNvbnN0IHhtbENoYXIgKikidHJhbnNsYXRlIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICB4bWxYUGF0aFRyYW5zbGF0ZUZ1bmN0aW9uKTsKKworICAgIHhtbFhQYXRoUmVnaXN0ZXJGdW5jTlMoY3R4dCwgKGNvbnN0IHhtbENoYXIgKikiZXNjYXBlLXVyaSIsCisJIChjb25zdCB4bWxDaGFyICopImh0dHA6Ly93d3cudzMub3JnLzIwMDIvMDgveHF1ZXJ5LWZ1bmN0aW9ucyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgeG1sWFBhdGhFc2NhcGVVcmlGdW5jdGlvbik7Cit9CisKKyNlbmRpZiAvKiBMSUJYTUxfWFBBVEhfRU5BQkxFRCAqLworI2RlZmluZSBib3R0b21feHBhdGgKKyNpbmNsdWRlICJlbGZnY2NoYWNrLmgiCmRpZmYgLS1naXQgYS9saWJ4bWwyL3hwb2ludGVyLmMgYi9saWJ4bWwyL3hwb2ludGVyLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGI0YWMyZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIveHBvaW50ZXIuYwpAQCAtMCwwICsxLDMwMzEgQEAKKy8qCisgKiB4cG9pbnRlci5jIDogQ29kZSB0byBoYW5kbGUgWE1MIFBvaW50ZXIKKyAqCisgKiBCYXNlIGltcGxlbWVudGF0aW9uIHdhcyBtYWRlIGFjY29yZGluZ2x5IHRvCisgKiBXM0MgQ2FuZGlkYXRlIFJlY29tbWVuZGF0aW9uIDcgSnVuZSAyMDAwCisgKiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDAwL0NSLXhwdHItMjAwMDA2MDcKKyAqCisgKiBBZGRlZCBzdXBwb3J0IGZvciB0aGUgZWxlbWVudCgpIHNjaGVtZSBkZXNjcmliZWQgaW46CisgKiBXM0MgUHJvcG9zZWQgUmVjb21tZW5kYXRpb24gMTMgTm92ZW1iZXIgMjAwMgorICogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwMi9QUi14cHRyLWVsZW1lbnQtMjAwMjExMTMvCisgKgorICogU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgorICoKKyAqIGRhbmllbEB2ZWlsbGFyZC5jb20KKyAqLworCisjZGVmaW5lIElOX0xJQlhNTAorI2luY2x1ZGUgImxpYnhtbC5oIgorCisvKgorICogVE9ETzogYmV0dGVyIGhhbmRsaW5nIG9mIGVycm9yIGNhc2VzLCB0aGUgZnVsbCBleHByZXNzaW9uIHNob3VsZAorICogICAgICAgYmUgcGFyc2VkIGJlZm9yZWhhbmQgaW5zdGVhZCBvZiBhIHByb2dyZXNzaXZlIGV2YWx1YXRpb24KKyAqIFRPRE86IEFjY2VzcyBpbnRvIGVudGl0aWVzIHJlZmVyZW5jZXMgYXJlIG5vdCBzdXBwb3J0ZWQgbm93IC4uLgorICogICAgICAgbmVlZCBhIHN0YXJ0IHRvIGJlIGFibGUgdG8gcG9wIG91dCBvZiBlbnRpdGllcyByZWZzIHNpbmNlCisgKiAgICAgICBwYXJlbnQgaXMgdGhlIGVuZGl0eSBkZWNsYXJhdGlvbiwgbm90IHRoZSByZWYuCisgKi8KKworI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGxpYnhtbC94cG9pbnRlci5oPgorI2luY2x1ZGUgPGxpYnhtbC94bWxtZW1vcnkuaD4KKyNpbmNsdWRlIDxsaWJ4bWwvcGFyc2VySW50ZXJuYWxzLmg+CisjaW5jbHVkZSA8bGlieG1sL3VyaS5oPgorI2luY2x1ZGUgPGxpYnhtbC94cGF0aC5oPgorI2luY2x1ZGUgPGxpYnhtbC94cGF0aEludGVybmFscy5oPgorI2luY2x1ZGUgPGxpYnhtbC94bWxlcnJvci5oPgorI2luY2x1ZGUgPGxpYnhtbC9nbG9iYWxzLmg+CisKKyNpZmRlZiBMSUJYTUxfWFBUUl9FTkFCTEVECisKKy8qIEFkZCBzdXBwb3J0IG9mIHRoZSB4bWxucygpIHhwb2ludGVyIHNjaGVtZSB0byBpbml0aWFsaXplIHRoZSBuYW1lc3BhY2VzICovCisjZGVmaW5lIFhQVFJfWE1MTlNfU0NIRU1FCisKKy8qICNkZWZpbmUgREVCVUdfUkFOR0VTICovCisjaWZkZWYgREVCVUdfUkFOR0VTCisjaWZkZWYgTElCWE1MX0RFQlVHX0VOQUJMRUQKKyNpbmNsdWRlIDxsaWJ4bWwvZGVidWdYTUwuaD4KKyNlbmRpZgorI2VuZGlmCisKKyNkZWZpbmUgVE9ETwkJCQkJCQkJXAorICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAkJCQlcCisJICAgICJVbmltcGxlbWVudGVkIGJsb2NrIGF0ICVzOiVkXG4iLAkJCQlcCisgICAgICAgICAgICBfX0ZJTEVfXywgX19MSU5FX18pOworCisjZGVmaW5lIFNUUkFOR0UJCQkJCQkJXAorICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAkJCQlcCisJICAgICJJbnRlcm5hbCBlcnJvciBhdCAlczolZFxuIiwJCQkJXAorICAgICAgICAgICAgX19GSUxFX18sIF9fTElORV9fKTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJU29tZSBmYWN0b3JpemVkIGVycm9yIHJvdXRpbmVzCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqCisgKiB4bWxYUHRyRXJyTWVtb3J5OgorICogQGV4dHJhOiAgZXh0cmEgaW5mb3JtYXRpb25zCisgKgorICogSGFuZGxlIGEgcmVkZWZpbml0aW9uIG9mIGF0dHJpYnV0ZSBlcnJvcgorICovCitzdGF0aWMgdm9pZAoreG1sWFB0ckVyck1lbW9yeShjb25zdCBjaGFyICpleHRyYSkKK3sKKyAgICBfX3htbFJhaXNlRXJyb3IoTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwgWE1MX0ZST01fWFBPSU5URVIsCisJCSAgICBYTUxfRVJSX05PX01FTU9SWSwgWE1MX0VSUl9FUlJPUiwgTlVMTCwgMCwgZXh0cmEsCisJCSAgICBOVUxMLCBOVUxMLCAwLCAwLAorCQkgICAgIk1lbW9yeSBhbGxvY2F0aW9uIGZhaWxlZCA6ICVzXG4iLCBleHRyYSk7Cit9CisKKy8qKgorICogeG1sWFB0ckVycjoKKyAqIEBjdHh0OiAgYW4gWFBUUiBldmFsdWF0aW9uIGNvbnRleHQKKyAqIEBleHRyYTogIGV4dHJhIGluZm9ybWF0aW9ucworICoKKyAqIEhhbmRsZSBhIHJlZGVmaW5pdGlvbiBvZiBhdHRyaWJ1dGUgZXJyb3IKKyAqLworc3RhdGljIHZvaWQKK3htbFhQdHJFcnIoeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQsIGludCBlcnJvciwKKyAgICAgICAgICAgY29uc3QgY2hhciAqIG1zZywgY29uc3QgeG1sQ2hhciAqZXh0cmEpCit7CisgICAgaWYgKGN0eHQgIT0gTlVMTCkKKyAgICAgICAgY3R4dC0+ZXJyb3IgPSBlcnJvcjsKKyAgICBpZiAoKGN0eHQgPT0gTlVMTCkgfHwgKGN0eHQtPmNvbnRleHQgPT0gTlVMTCkpIHsKKwlfX3htbFJhaXNlRXJyb3IoTlVMTCwgTlVMTCwgTlVMTCwKKwkJCU5VTEwsIE5VTEwsIFhNTF9GUk9NX1hQT0lOVEVSLCBlcnJvciwKKwkJCVhNTF9FUlJfRVJST1IsIE5VTEwsIDAsCisJCQkoY29uc3QgY2hhciAqKSBleHRyYSwgTlVMTCwgTlVMTCwgMCwgMCwKKwkJCW1zZywgZXh0cmEpOworCXJldHVybjsKKyAgICB9CisgICAgY3R4dC0+Y29udGV4dC0+bGFzdEVycm9yLmRvbWFpbiA9IFhNTF9GUk9NX1hQT0lOVEVSOworICAgIGN0eHQtPmNvbnRleHQtPmxhc3RFcnJvci5jb2RlID0gZXJyb3I7CisgICAgY3R4dC0+Y29udGV4dC0+bGFzdEVycm9yLmxldmVsID0gWE1MX0VSUl9FUlJPUjsKKyAgICBjdHh0LT5jb250ZXh0LT5sYXN0RXJyb3Iuc3RyMSA9IChjaGFyICopIHhtbFN0cmR1cChjdHh0LT5iYXNlKTsKKyAgICBjdHh0LT5jb250ZXh0LT5sYXN0RXJyb3IuaW50MSA9IGN0eHQtPmN1ciAtIGN0eHQtPmJhc2U7CisgICAgY3R4dC0+Y29udGV4dC0+bGFzdEVycm9yLm5vZGUgPSBjdHh0LT5jb250ZXh0LT5kZWJ1Z05vZGU7CisgICAgaWYgKGN0eHQtPmNvbnRleHQtPmVycm9yICE9IE5VTEwpIHsKKwljdHh0LT5jb250ZXh0LT5lcnJvcihjdHh0LT5jb250ZXh0LT51c2VyRGF0YSwKKwkgICAgICAgICAgICAgICAgICAgICAmY3R4dC0+Y29udGV4dC0+bGFzdEVycm9yKTsKKyAgICB9IGVsc2UgeworCV9feG1sUmFpc2VFcnJvcihOVUxMLCBOVUxMLCBOVUxMLAorCQkJTlVMTCwgY3R4dC0+Y29udGV4dC0+ZGVidWdOb2RlLCBYTUxfRlJPTV9YUE9JTlRFUiwKKwkJCWVycm9yLCBYTUxfRVJSX0VSUk9SLCBOVUxMLCAwLAorCQkJKGNvbnN0IGNoYXIgKikgZXh0cmEsIChjb25zdCBjaGFyICopIGN0eHQtPmJhc2UsIE5VTEwsCisJCQljdHh0LT5jdXIgLSBjdHh0LT5iYXNlLCAwLAorCQkJbXNnLCBleHRyYSk7CisgICAgfQorfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQlBIGZldyBoZWxwZXIgZnVuY3Rpb25zIGZvciBjaGlsZCBzZXF1ZW5jZXMJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIHhtbFhQdHJBZHZhbmNlTm9kZSBpcyBhIHByaXZhdGUgZnVuY3Rpb24sIGJ1dCB1c2VkIGJ5IHhpbmNsdWRlLmMgKi8KK3htbE5vZGVQdHIgeG1sWFB0ckFkdmFuY2VOb2RlKHhtbE5vZGVQdHIgY3VyLCBpbnQgKmxldmVsKTsKKy8qKgorICogeG1sWFB0ckdldEFyaXR5OgorICogQGN1cjogIHRoZSBub2RlCisgKgorICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIGNoaWxkIGZvciBhbiBlbGVtZW50LCAtMSBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3N0YXRpYyBpbnQKK3htbFhQdHJHZXRBcml0eSh4bWxOb2RlUHRyIGN1cikgeworICAgIGludCBpOworICAgIGlmICgoY3VyID09IE5VTEwpIHx8IChjdXItPnR5cGUgPT0gWE1MX05BTUVTUEFDRV9ERUNMKSkKKwlyZXR1cm4oLTEpOworICAgIGN1ciA9IGN1ci0+Y2hpbGRyZW47CisgICAgZm9yIChpID0gMDtjdXIgIT0gTlVMTDtjdXIgPSBjdXItPm5leHQpIHsKKwlpZiAoKGN1ci0+dHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFKSB8fAorCSAgICAoY3VyLT50eXBlID09IFhNTF9ET0NVTUVOVF9OT0RFKSB8fAorCSAgICAoY3VyLT50eXBlID09IFhNTF9IVE1MX0RPQ1VNRU5UX05PREUpKSB7CisJICAgIGkrKzsKKwl9CisgICAgfQorICAgIHJldHVybihpKTsKK30KKworLyoqCisgKiB4bWxYUHRyR2V0SW5kZXg6CisgKiBAY3VyOiAgdGhlIG5vZGUKKyAqCisgKiBSZXR1cm5zIHRoZSBpbmRleCBvZiB0aGUgbm9kZSBpbiBpdHMgcGFyZW50IGNoaWxkcmVuIGxpc3QsIC0xCisgKiAgICAgICAgIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworc3RhdGljIGludAoreG1sWFB0ckdldEluZGV4KHhtbE5vZGVQdHIgY3VyKSB7CisgICAgaW50IGk7CisgICAgaWYgKChjdXIgPT0gTlVMTCkgfHwgKGN1ci0+dHlwZSA9PSBYTUxfTkFNRVNQQUNFX0RFQ0wpKQorCXJldHVybigtMSk7CisgICAgZm9yIChpID0gMTtjdXIgIT0gTlVMTDtjdXIgPSBjdXItPnByZXYpIHsKKwlpZiAoKGN1ci0+dHlwZSA9PSBYTUxfRUxFTUVOVF9OT0RFKSB8fAorCSAgICAoY3VyLT50eXBlID09IFhNTF9ET0NVTUVOVF9OT0RFKSB8fAorCSAgICAoY3VyLT50eXBlID09IFhNTF9IVE1MX0RPQ1VNRU5UX05PREUpKSB7CisJICAgIGkrKzsKKwl9CisgICAgfQorICAgIHJldHVybihpKTsKK30KKworLyoqCisgKiB4bWxYUHRyR2V0TnRoQ2hpbGQ6CisgKiBAY3VyOiAgdGhlIG5vZGUKKyAqIEBubzogIHRoZSBjaGlsZCBudW1iZXIKKyAqCisgKiBSZXR1cm5zIHRoZSBAbm8ndGggZWxlbWVudCBjaGlsZCBvZiBAY3VyIG9yIE5VTEwKKyAqLworc3RhdGljIHhtbE5vZGVQdHIKK3htbFhQdHJHZXROdGhDaGlsZCh4bWxOb2RlUHRyIGN1ciwgaW50IG5vKSB7CisgICAgaW50IGk7CisgICAgaWYgKChjdXIgPT0gTlVMTCkgfHwgKGN1ci0+dHlwZSA9PSBYTUxfTkFNRVNQQUNFX0RFQ0wpKQorCXJldHVybihjdXIpOworICAgIGN1ciA9IGN1ci0+Y2hpbGRyZW47CisgICAgZm9yIChpID0gMDtpIDw9IG5vO2N1ciA9IGN1ci0+bmV4dCkgeworCWlmIChjdXIgPT0gTlVMTCkKKwkgICAgcmV0dXJuKGN1cik7CisJaWYgKChjdXItPnR5cGUgPT0gWE1MX0VMRU1FTlRfTk9ERSkgfHwKKwkgICAgKGN1ci0+dHlwZSA9PSBYTUxfRE9DVU1FTlRfTk9ERSkgfHwKKwkgICAgKGN1ci0+dHlwZSA9PSBYTUxfSFRNTF9ET0NVTUVOVF9OT0RFKSkgeworCSAgICBpKys7CisJICAgIGlmIChpID09IG5vKQorCQlicmVhazsKKwl9CisgICAgfQorICAgIHJldHVybihjdXIpOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQlIYW5kbGluZyBvZiBYUG9pbnRlciBzcGVjaWZpYyB0eXBlcwkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqCisgKiB4bWxYUHRyQ21wUG9pbnRzOgorICogQG5vZGUxOiAgdGhlIGZpcnN0IG5vZGUKKyAqIEBpbmRleDE6ICB0aGUgZmlyc3QgaW5kZXgKKyAqIEBub2RlMjogIHRoZSBzZWNvbmQgbm9kZQorICogQGluZGV4MjogIHRoZSBzZWNvbmQgaW5kZXgKKyAqCisgKiBDb21wYXJlIHR3byBwb2ludHMgdy5yLnQgZG9jdW1lbnQgb3JkZXIKKyAqCisgKiBSZXR1cm5zIC0yIGluIGNhc2Ugb2YgZXJyb3IgMSBpZiBmaXJzdCBwb2ludCA8IHNlY29uZCBwb2ludCwgMCBpZgorICogICAgICAgICB0aGF0J3MgdGhlIHNhbWUgcG9pbnQsIC0xIG90aGVyd2lzZQorICovCitzdGF0aWMgaW50Cit4bWxYUHRyQ21wUG9pbnRzKHhtbE5vZGVQdHIgbm9kZTEsIGludCBpbmRleDEsIHhtbE5vZGVQdHIgbm9kZTIsIGludCBpbmRleDIpIHsKKyAgICBpZiAoKG5vZGUxID09IE5VTEwpIHx8IChub2RlMiA9PSBOVUxMKSkKKwlyZXR1cm4oLTIpOworICAgIC8qCisgICAgICogYSBjb3VwbGUgb2Ygb3B0aW1pemF0aW9ucyB3aGljaCB3aWxsIGF2b2lkIGNvbXB1dGF0aW9ucyBpbiBtb3N0IGNhc2VzCisgICAgICovCisgICAgaWYgKG5vZGUxID09IG5vZGUyKSB7CisJaWYgKGluZGV4MSA8IGluZGV4MikKKwkgICAgcmV0dXJuKDEpOworCWlmIChpbmRleDEgPiBpbmRleDIpCisJICAgIHJldHVybigtMSk7CisJcmV0dXJuKDApOworICAgIH0KKyAgICByZXR1cm4oeG1sWFBhdGhDbXBOb2Rlcyhub2RlMSwgbm9kZTIpKTsKK30KKworLyoqCisgKiB4bWxYUHRyTmV3UG9pbnQ6CisgKiBAbm9kZTogIHRoZSB4bWxOb2RlUHRyCisgKiBAaW5keDogIHRoZSBpbmR4IHdpdGhpbiB0aGUgbm9kZQorICoKKyAqIENyZWF0ZSBhIG5ldyB4bWxYUGF0aE9iamVjdFB0ciBvZiB0eXBlIHBvaW50CisgKgorICogUmV0dXJucyB0aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QuCisgKi8KK3N0YXRpYyB4bWxYUGF0aE9iamVjdFB0cgoreG1sWFB0ck5ld1BvaW50KHhtbE5vZGVQdHIgbm9kZSwgaW50IGluZHgpIHsKKyAgICB4bWxYUGF0aE9iamVjdFB0ciByZXQ7CisKKyAgICBpZiAobm9kZSA9PSBOVUxMKQorCXJldHVybihOVUxMKTsKKyAgICBpZiAoaW5keCA8IDApCisJcmV0dXJuKE5VTEwpOworCisgICAgcmV0ID0gKHhtbFhQYXRoT2JqZWN0UHRyKSB4bWxNYWxsb2Moc2l6ZW9mKHhtbFhQYXRoT2JqZWN0KSk7CisgICAgaWYgKHJldCA9PSBOVUxMKSB7CisgICAgICAgIHhtbFhQdHJFcnJNZW1vcnkoImFsbG9jYXRpbmcgcG9pbnQiKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIG1lbXNldChyZXQsIDAgLCAoc2l6ZV90KSBzaXplb2YoeG1sWFBhdGhPYmplY3QpKTsKKyAgICByZXQtPnR5cGUgPSBYUEFUSF9QT0lOVDsKKyAgICByZXQtPnVzZXIgPSAodm9pZCAqKSBub2RlOworICAgIHJldC0+aW5kZXggPSBpbmR4OworICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbFhQdHJSYW5nZUNoZWNrT3JkZXI6CisgKiBAcmFuZ2U6ICBhbiBvYmplY3QgcmFuZ2UKKyAqCisgKiBNYWtlIHN1cmUgdGhlIHBvaW50cyBpbiB0aGUgcmFuZ2UgYXJlIGluIHRoZSByaWdodCBvcmRlcgorICovCitzdGF0aWMgdm9pZAoreG1sWFB0clJhbmdlQ2hlY2tPcmRlcih4bWxYUGF0aE9iamVjdFB0ciByYW5nZSkgeworICAgIGludCB0bXA7CisgICAgeG1sTm9kZVB0ciB0bXAyOworICAgIGlmIChyYW5nZSA9PSBOVUxMKQorCXJldHVybjsKKyAgICBpZiAocmFuZ2UtPnR5cGUgIT0gWFBBVEhfUkFOR0UpCisJcmV0dXJuOworICAgIGlmIChyYW5nZS0+dXNlcjIgPT0gTlVMTCkKKwlyZXR1cm47CisgICAgdG1wID0geG1sWFB0ckNtcFBvaW50cyhyYW5nZS0+dXNlciwgcmFuZ2UtPmluZGV4LAorCSAgICAgICAgICAgICAgICAgICAgIHJhbmdlLT51c2VyMiwgcmFuZ2UtPmluZGV4Mik7CisgICAgaWYgKHRtcCA9PSAtMSkgeworCXRtcDIgPSByYW5nZS0+dXNlcjsKKwlyYW5nZS0+dXNlciA9IHJhbmdlLT51c2VyMjsKKwlyYW5nZS0+dXNlcjIgPSB0bXAyOworCXRtcCA9IHJhbmdlLT5pbmRleDsKKwlyYW5nZS0+aW5kZXggPSByYW5nZS0+aW5kZXgyOworCXJhbmdlLT5pbmRleDIgPSB0bXA7CisgICAgfQorfQorCisvKioKKyAqIHhtbFhQdHJSYW5nZXNFcXVhbDoKKyAqIEByYW5nZTE6ICB0aGUgZmlyc3QgcmFuZ2UKKyAqIEByYW5nZTI6ICB0aGUgc2Vjb25kIHJhbmdlCisgKgorICogQ29tcGFyZSB0d28gcmFuZ2VzCisgKgorICogUmV0dXJucyAxIGlmIGVxdWFsLCAwIG90aGVyd2lzZQorICovCitzdGF0aWMgaW50Cit4bWxYUHRyUmFuZ2VzRXF1YWwoeG1sWFBhdGhPYmplY3RQdHIgcmFuZ2UxLCB4bWxYUGF0aE9iamVjdFB0ciByYW5nZTIpIHsKKyAgICBpZiAocmFuZ2UxID09IHJhbmdlMikKKwlyZXR1cm4oMSk7CisgICAgaWYgKChyYW5nZTEgPT0gTlVMTCkgfHwgKHJhbmdlMiA9PSBOVUxMKSkKKwlyZXR1cm4oMCk7CisgICAgaWYgKHJhbmdlMS0+dHlwZSAhPSByYW5nZTItPnR5cGUpCisJcmV0dXJuKDApOworICAgIGlmIChyYW5nZTEtPnR5cGUgIT0gWFBBVEhfUkFOR0UpCisJcmV0dXJuKDApOworICAgIGlmIChyYW5nZTEtPnVzZXIgIT0gcmFuZ2UyLT51c2VyKQorCXJldHVybigwKTsKKyAgICBpZiAocmFuZ2UxLT5pbmRleCAhPSByYW5nZTItPmluZGV4KQorCXJldHVybigwKTsKKyAgICBpZiAocmFuZ2UxLT51c2VyMiAhPSByYW5nZTItPnVzZXIyKQorCXJldHVybigwKTsKKyAgICBpZiAocmFuZ2UxLT5pbmRleDIgIT0gcmFuZ2UyLT5pbmRleDIpCisJcmV0dXJuKDApOworICAgIHJldHVybigxKTsKK30KKworLyoqCisgKiB4bWxYUHRyTmV3UmFuZ2U6CisgKiBAc3RhcnQ6ICB0aGUgc3RhcnRpbmcgbm9kZQorICogQHN0YXJ0aW5kZXg6ICB0aGUgc3RhcnQgaW5kZXgKKyAqIEBlbmQ6ICB0aGUgZW5kaW5nIHBvaW50CisgKiBAZW5kaW5kZXg6ICB0aGUgZW5kaW5nIGluZGV4CisgKgorICogQ3JlYXRlIGEgbmV3IHhtbFhQYXRoT2JqZWN0UHRyIG9mIHR5cGUgcmFuZ2UKKyAqCisgKiBSZXR1cm5zIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdC4KKyAqLworeG1sWFBhdGhPYmplY3RQdHIKK3htbFhQdHJOZXdSYW5nZSh4bWxOb2RlUHRyIHN0YXJ0LCBpbnQgc3RhcnRpbmRleCwKKwkgICAgICAgIHhtbE5vZGVQdHIgZW5kLCBpbnQgZW5kaW5kZXgpIHsKKyAgICB4bWxYUGF0aE9iamVjdFB0ciByZXQ7CisKKyAgICBpZiAoc3RhcnQgPT0gTlVMTCkKKwlyZXR1cm4oTlVMTCk7CisgICAgaWYgKGVuZCA9PSBOVUxMKQorCXJldHVybihOVUxMKTsKKyAgICBpZiAoc3RhcnRpbmRleCA8IDApCisJcmV0dXJuKE5VTEwpOworICAgIGlmIChlbmRpbmRleCA8IDApCisJcmV0dXJuKE5VTEwpOworCisgICAgcmV0ID0gKHhtbFhQYXRoT2JqZWN0UHRyKSB4bWxNYWxsb2Moc2l6ZW9mKHhtbFhQYXRoT2JqZWN0KSk7CisgICAgaWYgKHJldCA9PSBOVUxMKSB7CisgICAgICAgIHhtbFhQdHJFcnJNZW1vcnkoImFsbG9jYXRpbmcgcmFuZ2UiKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIG1lbXNldChyZXQsIDAgLCAoc2l6ZV90KSBzaXplb2YoeG1sWFBhdGhPYmplY3QpKTsKKyAgICByZXQtPnR5cGUgPSBYUEFUSF9SQU5HRTsKKyAgICByZXQtPnVzZXIgPSBzdGFydDsKKyAgICByZXQtPmluZGV4ID0gc3RhcnRpbmRleDsKKyAgICByZXQtPnVzZXIyID0gZW5kOworICAgIHJldC0+aW5kZXgyID0gZW5kaW5kZXg7CisgICAgeG1sWFB0clJhbmdlQ2hlY2tPcmRlcihyZXQpOworICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbFhQdHJOZXdSYW5nZVBvaW50czoKKyAqIEBzdGFydDogIHRoZSBzdGFydGluZyBwb2ludAorICogQGVuZDogIHRoZSBlbmRpbmcgcG9pbnQKKyAqCisgKiBDcmVhdGUgYSBuZXcgeG1sWFBhdGhPYmplY3RQdHIgb2YgdHlwZSByYW5nZSB1c2luZyAyIFBvaW50cworICoKKyAqIFJldHVybnMgdGhlIG5ld2x5IGNyZWF0ZWQgb2JqZWN0LgorICovCit4bWxYUGF0aE9iamVjdFB0cgoreG1sWFB0ck5ld1JhbmdlUG9pbnRzKHhtbFhQYXRoT2JqZWN0UHRyIHN0YXJ0LCB4bWxYUGF0aE9iamVjdFB0ciBlbmQpIHsKKyAgICB4bWxYUGF0aE9iamVjdFB0ciByZXQ7CisKKyAgICBpZiAoc3RhcnQgPT0gTlVMTCkKKwlyZXR1cm4oTlVMTCk7CisgICAgaWYgKGVuZCA9PSBOVUxMKQorCXJldHVybihOVUxMKTsKKyAgICBpZiAoc3RhcnQtPnR5cGUgIT0gWFBBVEhfUE9JTlQpCisJcmV0dXJuKE5VTEwpOworICAgIGlmIChlbmQtPnR5cGUgIT0gWFBBVEhfUE9JTlQpCisJcmV0dXJuKE5VTEwpOworCisgICAgcmV0ID0gKHhtbFhQYXRoT2JqZWN0UHRyKSB4bWxNYWxsb2Moc2l6ZW9mKHhtbFhQYXRoT2JqZWN0KSk7CisgICAgaWYgKHJldCA9PSBOVUxMKSB7CisgICAgICAgIHhtbFhQdHJFcnJNZW1vcnkoImFsbG9jYXRpbmcgcmFuZ2UiKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIG1lbXNldChyZXQsIDAgLCAoc2l6ZV90KSBzaXplb2YoeG1sWFBhdGhPYmplY3QpKTsKKyAgICByZXQtPnR5cGUgPSBYUEFUSF9SQU5HRTsKKyAgICByZXQtPnVzZXIgPSBzdGFydC0+dXNlcjsKKyAgICByZXQtPmluZGV4ID0gc3RhcnQtPmluZGV4OworICAgIHJldC0+dXNlcjIgPSBlbmQtPnVzZXI7CisgICAgcmV0LT5pbmRleDIgPSBlbmQtPmluZGV4OworICAgIHhtbFhQdHJSYW5nZUNoZWNrT3JkZXIocmV0KTsKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxYUHRyTmV3UmFuZ2VQb2ludE5vZGU6CisgKiBAc3RhcnQ6ICB0aGUgc3RhcnRpbmcgcG9pbnQKKyAqIEBlbmQ6ICB0aGUgZW5kaW5nIG5vZGUKKyAqCisgKiBDcmVhdGUgYSBuZXcgeG1sWFBhdGhPYmplY3RQdHIgb2YgdHlwZSByYW5nZSBmcm9tIGEgcG9pbnQgdG8gYSBub2RlCisgKgorICogUmV0dXJucyB0aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QuCisgKi8KK3htbFhQYXRoT2JqZWN0UHRyCit4bWxYUHRyTmV3UmFuZ2VQb2ludE5vZGUoeG1sWFBhdGhPYmplY3RQdHIgc3RhcnQsIHhtbE5vZGVQdHIgZW5kKSB7CisgICAgeG1sWFBhdGhPYmplY3RQdHIgcmV0OworCisgICAgaWYgKHN0YXJ0ID09IE5VTEwpCisJcmV0dXJuKE5VTEwpOworICAgIGlmIChlbmQgPT0gTlVMTCkKKwlyZXR1cm4oTlVMTCk7CisgICAgaWYgKHN0YXJ0LT50eXBlICE9IFhQQVRIX1BPSU5UKQorCXJldHVybihOVUxMKTsKKworICAgIHJldCA9ICh4bWxYUGF0aE9iamVjdFB0cikgeG1sTWFsbG9jKHNpemVvZih4bWxYUGF0aE9iamVjdCkpOworICAgIGlmIChyZXQgPT0gTlVMTCkgeworICAgICAgICB4bWxYUHRyRXJyTWVtb3J5KCJhbGxvY2F0aW5nIHJhbmdlIik7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBtZW1zZXQocmV0LCAwICwgKHNpemVfdCkgc2l6ZW9mKHhtbFhQYXRoT2JqZWN0KSk7CisgICAgcmV0LT50eXBlID0gWFBBVEhfUkFOR0U7CisgICAgcmV0LT51c2VyID0gc3RhcnQtPnVzZXI7CisgICAgcmV0LT5pbmRleCA9IHN0YXJ0LT5pbmRleDsKKyAgICByZXQtPnVzZXIyID0gZW5kOworICAgIHJldC0+aW5kZXgyID0gLTE7CisgICAgeG1sWFB0clJhbmdlQ2hlY2tPcmRlcihyZXQpOworICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbFhQdHJOZXdSYW5nZU5vZGVQb2ludDoKKyAqIEBzdGFydDogIHRoZSBzdGFydGluZyBub2RlCisgKiBAZW5kOiAgdGhlIGVuZGluZyBwb2ludAorICoKKyAqIENyZWF0ZSBhIG5ldyB4bWxYUGF0aE9iamVjdFB0ciBvZiB0eXBlIHJhbmdlIGZyb20gYSBub2RlIHRvIGEgcG9pbnQKKyAqCisgKiBSZXR1cm5zIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdC4KKyAqLworeG1sWFBhdGhPYmplY3RQdHIKK3htbFhQdHJOZXdSYW5nZU5vZGVQb2ludCh4bWxOb2RlUHRyIHN0YXJ0LCB4bWxYUGF0aE9iamVjdFB0ciBlbmQpIHsKKyAgICB4bWxYUGF0aE9iamVjdFB0ciByZXQ7CisKKyAgICBpZiAoc3RhcnQgPT0gTlVMTCkKKwlyZXR1cm4oTlVMTCk7CisgICAgaWYgKGVuZCA9PSBOVUxMKQorCXJldHVybihOVUxMKTsKKyAgICBpZiAoc3RhcnQtPnR5cGUgIT0gWFBBVEhfUE9JTlQpCisJcmV0dXJuKE5VTEwpOworICAgIGlmIChlbmQtPnR5cGUgIT0gWFBBVEhfUE9JTlQpCisJcmV0dXJuKE5VTEwpOworCisgICAgcmV0ID0gKHhtbFhQYXRoT2JqZWN0UHRyKSB4bWxNYWxsb2Moc2l6ZW9mKHhtbFhQYXRoT2JqZWN0KSk7CisgICAgaWYgKHJldCA9PSBOVUxMKSB7CisgICAgICAgIHhtbFhQdHJFcnJNZW1vcnkoImFsbG9jYXRpbmcgcmFuZ2UiKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIG1lbXNldChyZXQsIDAgLCAoc2l6ZV90KSBzaXplb2YoeG1sWFBhdGhPYmplY3QpKTsKKyAgICByZXQtPnR5cGUgPSBYUEFUSF9SQU5HRTsKKyAgICByZXQtPnVzZXIgPSBzdGFydDsKKyAgICByZXQtPmluZGV4ID0gLTE7CisgICAgcmV0LT51c2VyMiA9IGVuZC0+dXNlcjsKKyAgICByZXQtPmluZGV4MiA9IGVuZC0+aW5kZXg7CisgICAgeG1sWFB0clJhbmdlQ2hlY2tPcmRlcihyZXQpOworICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbFhQdHJOZXdSYW5nZU5vZGVzOgorICogQHN0YXJ0OiAgdGhlIHN0YXJ0aW5nIG5vZGUKKyAqIEBlbmQ6ICB0aGUgZW5kaW5nIG5vZGUKKyAqCisgKiBDcmVhdGUgYSBuZXcgeG1sWFBhdGhPYmplY3RQdHIgb2YgdHlwZSByYW5nZSB1c2luZyAyIG5vZGVzCisgKgorICogUmV0dXJucyB0aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QuCisgKi8KK3htbFhQYXRoT2JqZWN0UHRyCit4bWxYUHRyTmV3UmFuZ2VOb2Rlcyh4bWxOb2RlUHRyIHN0YXJ0LCB4bWxOb2RlUHRyIGVuZCkgeworICAgIHhtbFhQYXRoT2JqZWN0UHRyIHJldDsKKworICAgIGlmIChzdGFydCA9PSBOVUxMKQorCXJldHVybihOVUxMKTsKKyAgICBpZiAoZW5kID09IE5VTEwpCisJcmV0dXJuKE5VTEwpOworCisgICAgcmV0ID0gKHhtbFhQYXRoT2JqZWN0UHRyKSB4bWxNYWxsb2Moc2l6ZW9mKHhtbFhQYXRoT2JqZWN0KSk7CisgICAgaWYgKHJldCA9PSBOVUxMKSB7CisgICAgICAgIHhtbFhQdHJFcnJNZW1vcnkoImFsbG9jYXRpbmcgcmFuZ2UiKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIG1lbXNldChyZXQsIDAgLCAoc2l6ZV90KSBzaXplb2YoeG1sWFBhdGhPYmplY3QpKTsKKyAgICByZXQtPnR5cGUgPSBYUEFUSF9SQU5HRTsKKyAgICByZXQtPnVzZXIgPSBzdGFydDsKKyAgICByZXQtPmluZGV4ID0gLTE7CisgICAgcmV0LT51c2VyMiA9IGVuZDsKKyAgICByZXQtPmluZGV4MiA9IC0xOworICAgIHhtbFhQdHJSYW5nZUNoZWNrT3JkZXIocmV0KTsKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxYUHRyTmV3Q29sbGFwc2VkUmFuZ2U6CisgKiBAc3RhcnQ6ICB0aGUgc3RhcnRpbmcgYW5kIGVuZGluZyBub2RlCisgKgorICogQ3JlYXRlIGEgbmV3IHhtbFhQYXRoT2JqZWN0UHRyIG9mIHR5cGUgcmFuZ2UgdXNpbmcgYSBzaW5nbGUgbm9kZXMKKyAqCisgKiBSZXR1cm5zIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdC4KKyAqLworeG1sWFBhdGhPYmplY3RQdHIKK3htbFhQdHJOZXdDb2xsYXBzZWRSYW5nZSh4bWxOb2RlUHRyIHN0YXJ0KSB7CisgICAgeG1sWFBhdGhPYmplY3RQdHIgcmV0OworCisgICAgaWYgKHN0YXJ0ID09IE5VTEwpCisJcmV0dXJuKE5VTEwpOworCisgICAgcmV0ID0gKHhtbFhQYXRoT2JqZWN0UHRyKSB4bWxNYWxsb2Moc2l6ZW9mKHhtbFhQYXRoT2JqZWN0KSk7CisgICAgaWYgKHJldCA9PSBOVUxMKSB7CisgICAgICAgIHhtbFhQdHJFcnJNZW1vcnkoImFsbG9jYXRpbmcgcmFuZ2UiKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIG1lbXNldChyZXQsIDAgLCAoc2l6ZV90KSBzaXplb2YoeG1sWFBhdGhPYmplY3QpKTsKKyAgICByZXQtPnR5cGUgPSBYUEFUSF9SQU5HRTsKKyAgICByZXQtPnVzZXIgPSBzdGFydDsKKyAgICByZXQtPmluZGV4ID0gLTE7CisgICAgcmV0LT51c2VyMiA9IE5VTEw7CisgICAgcmV0LT5pbmRleDIgPSAtMTsKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxYUHRyTmV3UmFuZ2VOb2RlT2JqZWN0OgorICogQHN0YXJ0OiAgdGhlIHN0YXJ0aW5nIG5vZGUKKyAqIEBlbmQ6ICB0aGUgZW5kaW5nIG9iamVjdAorICoKKyAqIENyZWF0ZSBhIG5ldyB4bWxYUGF0aE9iamVjdFB0ciBvZiB0eXBlIHJhbmdlIGZyb20gYSBub3QgdG8gYW4gb2JqZWN0CisgKgorICogUmV0dXJucyB0aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QuCisgKi8KK3htbFhQYXRoT2JqZWN0UHRyCit4bWxYUHRyTmV3UmFuZ2VOb2RlT2JqZWN0KHhtbE5vZGVQdHIgc3RhcnQsIHhtbFhQYXRoT2JqZWN0UHRyIGVuZCkgeworICAgIHhtbFhQYXRoT2JqZWN0UHRyIHJldDsKKworICAgIGlmIChzdGFydCA9PSBOVUxMKQorCXJldHVybihOVUxMKTsKKyAgICBpZiAoZW5kID09IE5VTEwpCisJcmV0dXJuKE5VTEwpOworICAgIHN3aXRjaCAoZW5kLT50eXBlKSB7CisJY2FzZSBYUEFUSF9QT0lOVDoKKwljYXNlIFhQQVRIX1JBTkdFOgorCSAgICBicmVhazsKKwljYXNlIFhQQVRIX05PREVTRVQ6CisJICAgIC8qCisJICAgICAqIEVtcHR5IHNldCAuLi4KKwkgICAgICovCisJICAgIGlmIChlbmQtPm5vZGVzZXR2YWwtPm5vZGVOciA8PSAwKQorCQlyZXR1cm4oTlVMTCk7CisJICAgIGJyZWFrOworCWRlZmF1bHQ6CisJICAgIC8qIFRPRE8gKi8KKwkgICAgcmV0dXJuKE5VTEwpOworICAgIH0KKworICAgIHJldCA9ICh4bWxYUGF0aE9iamVjdFB0cikgeG1sTWFsbG9jKHNpemVvZih4bWxYUGF0aE9iamVjdCkpOworICAgIGlmIChyZXQgPT0gTlVMTCkgeworICAgICAgICB4bWxYUHRyRXJyTWVtb3J5KCJhbGxvY2F0aW5nIHJhbmdlIik7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBtZW1zZXQocmV0LCAwICwgKHNpemVfdCkgc2l6ZW9mKHhtbFhQYXRoT2JqZWN0KSk7CisgICAgcmV0LT50eXBlID0gWFBBVEhfUkFOR0U7CisgICAgcmV0LT51c2VyID0gc3RhcnQ7CisgICAgcmV0LT5pbmRleCA9IC0xOworICAgIHN3aXRjaCAoZW5kLT50eXBlKSB7CisJY2FzZSBYUEFUSF9QT0lOVDoKKwkgICAgcmV0LT51c2VyMiA9IGVuZC0+dXNlcjsKKwkgICAgcmV0LT5pbmRleDIgPSBlbmQtPmluZGV4OworCSAgICBicmVhazsKKwljYXNlIFhQQVRIX1JBTkdFOgorCSAgICByZXQtPnVzZXIyID0gZW5kLT51c2VyMjsKKwkgICAgcmV0LT5pbmRleDIgPSBlbmQtPmluZGV4MjsKKwkgICAgYnJlYWs7CisJY2FzZSBYUEFUSF9OT0RFU0VUOiB7CisJICAgIHJldC0+dXNlcjIgPSBlbmQtPm5vZGVzZXR2YWwtPm5vZGVUYWJbZW5kLT5ub2Rlc2V0dmFsLT5ub2RlTnIgLSAxXTsKKwkgICAgcmV0LT5pbmRleDIgPSAtMTsKKwkgICAgYnJlYWs7CisJfQorCWRlZmF1bHQ6CisJICAgIFNUUkFOR0UKKwkgICAgcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICB4bWxYUHRyUmFuZ2VDaGVja09yZGVyKHJldCk7CisgICAgcmV0dXJuKHJldCk7Cit9CisKKyNkZWZpbmUgWE1MX1JBTkdFU0VUX0RFRkFVTFQJMTAKKworLyoqCisgKiB4bWxYUHRyTG9jYXRpb25TZXRDcmVhdGU6CisgKiBAdmFsOiAgYW4gaW5pdGlhbCB4bWxYUGF0aE9iamVjdFB0ciwgb3IgTlVMTAorICoKKyAqIENyZWF0ZSBhIG5ldyB4bWxMb2NhdGlvblNldFB0ciBvZiB0eXBlIGRvdWJsZSBhbmQgb2YgdmFsdWUgQHZhbAorICoKKyAqIFJldHVybnMgdGhlIG5ld2x5IGNyZWF0ZWQgb2JqZWN0LgorICovCit4bWxMb2NhdGlvblNldFB0cgoreG1sWFB0ckxvY2F0aW9uU2V0Q3JlYXRlKHhtbFhQYXRoT2JqZWN0UHRyIHZhbCkgeworICAgIHhtbExvY2F0aW9uU2V0UHRyIHJldDsKKworICAgIHJldCA9ICh4bWxMb2NhdGlvblNldFB0cikgeG1sTWFsbG9jKHNpemVvZih4bWxMb2NhdGlvblNldCkpOworICAgIGlmIChyZXQgPT0gTlVMTCkgeworICAgICAgICB4bWxYUHRyRXJyTWVtb3J5KCJhbGxvY2F0aW5nIGxvY2F0aW9uc2V0Iik7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBtZW1zZXQocmV0LCAwICwgKHNpemVfdCkgc2l6ZW9mKHhtbExvY2F0aW9uU2V0KSk7CisgICAgaWYgKHZhbCAhPSBOVUxMKSB7CisgICAgICAgIHJldC0+bG9jVGFiID0gKHhtbFhQYXRoT2JqZWN0UHRyICopIHhtbE1hbGxvYyhYTUxfUkFOR0VTRVRfREVGQVVMVCAqCisJCQkJCSAgICAgc2l6ZW9mKHhtbFhQYXRoT2JqZWN0UHRyKSk7CisJaWYgKHJldC0+bG9jVGFiID09IE5VTEwpIHsKKwkgICAgeG1sWFB0ckVyck1lbW9yeSgiYWxsb2NhdGluZyBsb2NhdGlvbnNldCIpOworCSAgICB4bWxGcmVlKHJldCk7CisJICAgIHJldHVybihOVUxMKTsKKwl9CisJbWVtc2V0KHJldC0+bG9jVGFiLCAwICwKKwkgICAgICAgWE1MX1JBTkdFU0VUX0RFRkFVTFQgKiAoc2l6ZV90KSBzaXplb2YoeG1sWFBhdGhPYmplY3RQdHIpKTsKKyAgICAgICAgcmV0LT5sb2NNYXggPSBYTUxfUkFOR0VTRVRfREVGQVVMVDsKKwlyZXQtPmxvY1RhYltyZXQtPmxvY05yKytdID0gdmFsOworICAgIH0KKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxYUHRyTG9jYXRpb25TZXRBZGQ6CisgKiBAY3VyOiAgdGhlIGluaXRpYWwgcmFuZ2Ugc2V0CisgKiBAdmFsOiAgYSBuZXcgeG1sWFBhdGhPYmplY3RQdHIKKyAqCisgKiBhZGQgYSBuZXcgeG1sWFBhdGhPYmplY3RQdHIgdG8gYW4gZXhpc3RpbmcgTG9jYXRpb25TZXQKKyAqIElmIHRoZSBsb2NhdGlvbiBhbHJlYWR5IGV4aXN0IGluIHRoZSBzZXQgQHZhbCBpcyBmcmVlZC4KKyAqLwordm9pZAoreG1sWFB0ckxvY2F0aW9uU2V0QWRkKHhtbExvY2F0aW9uU2V0UHRyIGN1ciwgeG1sWFBhdGhPYmplY3RQdHIgdmFsKSB7CisgICAgaW50IGk7CisKKyAgICBpZiAoKGN1ciA9PSBOVUxMKSB8fCAodmFsID09IE5VTEwpKSByZXR1cm47CisKKyAgICAvKgorICAgICAqIGNoZWNrIGFnYWluc3QgZG91YmxvbnMKKyAgICAgKi8KKyAgICBmb3IgKGkgPSAwO2kgPCBjdXItPmxvY05yO2krKykgeworCWlmICh4bWxYUHRyUmFuZ2VzRXF1YWwoY3VyLT5sb2NUYWJbaV0sIHZhbCkpIHsKKwkgICAgeG1sWFBhdGhGcmVlT2JqZWN0KHZhbCk7CisJICAgIHJldHVybjsKKwl9CisgICAgfQorCisgICAgLyoKKyAgICAgKiBncm93IHRoZSBsb2NUYWIgaWYgbmVlZGVkCisgICAgICovCisgICAgaWYgKGN1ci0+bG9jTWF4ID09IDApIHsKKyAgICAgICAgY3VyLT5sb2NUYWIgPSAoeG1sWFBhdGhPYmplY3RQdHIgKikgeG1sTWFsbG9jKFhNTF9SQU5HRVNFVF9ERUZBVUxUICoKKwkJCQkJICAgICBzaXplb2YoeG1sWFBhdGhPYmplY3RQdHIpKTsKKwlpZiAoY3VyLT5sb2NUYWIgPT0gTlVMTCkgeworCSAgICB4bWxYUHRyRXJyTWVtb3J5KCJhZGRpbmcgbG9jYXRpb24gdG8gc2V0Iik7CisJICAgIHJldHVybjsKKwl9CisJbWVtc2V0KGN1ci0+bG9jVGFiLCAwICwKKwkgICAgICAgWE1MX1JBTkdFU0VUX0RFRkFVTFQgKiAoc2l6ZV90KSBzaXplb2YoeG1sWFBhdGhPYmplY3RQdHIpKTsKKyAgICAgICAgY3VyLT5sb2NNYXggPSBYTUxfUkFOR0VTRVRfREVGQVVMVDsKKyAgICB9IGVsc2UgaWYgKGN1ci0+bG9jTnIgPT0gY3VyLT5sb2NNYXgpIHsKKyAgICAgICAgeG1sWFBhdGhPYmplY3RQdHIgKnRlbXA7CisKKyAgICAgICAgY3VyLT5sb2NNYXggKj0gMjsKKwl0ZW1wID0gKHhtbFhQYXRoT2JqZWN0UHRyICopIHhtbFJlYWxsb2MoY3VyLT5sb2NUYWIsIGN1ci0+bG9jTWF4ICoKKwkJCQkgICAgICBzaXplb2YoeG1sWFBhdGhPYmplY3RQdHIpKTsKKwlpZiAodGVtcCA9PSBOVUxMKSB7CisJICAgIHhtbFhQdHJFcnJNZW1vcnkoImFkZGluZyBsb2NhdGlvbiB0byBzZXQiKTsKKwkgICAgcmV0dXJuOworCX0KKwljdXItPmxvY1RhYiA9IHRlbXA7CisgICAgfQorICAgIGN1ci0+bG9jVGFiW2N1ci0+bG9jTnIrK10gPSB2YWw7Cit9CisKKy8qKgorICogeG1sWFB0ckxvY2F0aW9uU2V0TWVyZ2U6CisgKiBAdmFsMTogIHRoZSBmaXJzdCBMb2NhdGlvblNldAorICogQHZhbDI6ICB0aGUgc2Vjb25kIExvY2F0aW9uU2V0CisgKgorICogTWVyZ2VzIHR3byByYW5nZXNldHMsIGFsbCByYW5nZXMgZnJvbSBAdmFsMiBhcmUgYWRkZWQgdG8gQHZhbDEKKyAqCisgKiBSZXR1cm5zIHZhbDEgb25jZSBleHRlbmRlZCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK3htbExvY2F0aW9uU2V0UHRyCit4bWxYUHRyTG9jYXRpb25TZXRNZXJnZSh4bWxMb2NhdGlvblNldFB0ciB2YWwxLCB4bWxMb2NhdGlvblNldFB0ciB2YWwyKSB7CisgICAgaW50IGk7CisKKyAgICBpZiAodmFsMSA9PSBOVUxMKSByZXR1cm4oTlVMTCk7CisgICAgaWYgKHZhbDIgPT0gTlVMTCkgcmV0dXJuKHZhbDEpOworCisgICAgLyoKKyAgICAgKiAhISEhISB0aGlzIGNhbiBiZSBvcHRpbWl6ZWQgYSBsb3QsIGtub3dpbmcgdGhhdCBib3RoCisgICAgICogICAgICAgdmFsMSBhbmQgdmFsMiBhbHJlYWR5IGhhdmUgdW5pY2l0eSBvZiB0aGVpciB2YWx1ZXMuCisgICAgICovCisKKyAgICBmb3IgKGkgPSAwO2kgPCB2YWwyLT5sb2NOcjtpKyspCisgICAgICAgIHhtbFhQdHJMb2NhdGlvblNldEFkZCh2YWwxLCB2YWwyLT5sb2NUYWJbaV0pOworCisgICAgcmV0dXJuKHZhbDEpOworfQorCisvKioKKyAqIHhtbFhQdHJMb2NhdGlvblNldERlbDoKKyAqIEBjdXI6ICB0aGUgaW5pdGlhbCByYW5nZSBzZXQKKyAqIEB2YWw6ICBhbiB4bWxYUGF0aE9iamVjdFB0cgorICoKKyAqIFJlbW92ZXMgYW4geG1sWFBhdGhPYmplY3RQdHIgZnJvbSBhbiBleGlzdGluZyBMb2NhdGlvblNldAorICovCit2b2lkCit4bWxYUHRyTG9jYXRpb25TZXREZWwoeG1sTG9jYXRpb25TZXRQdHIgY3VyLCB4bWxYUGF0aE9iamVjdFB0ciB2YWwpIHsKKyAgICBpbnQgaTsKKworICAgIGlmIChjdXIgPT0gTlVMTCkgcmV0dXJuOworICAgIGlmICh2YWwgPT0gTlVMTCkgcmV0dXJuOworCisgICAgLyoKKyAgICAgKiBjaGVjayBhZ2FpbnN0IGRvdWJsb25zCisgICAgICovCisgICAgZm9yIChpID0gMDtpIDwgY3VyLT5sb2NOcjtpKyspCisgICAgICAgIGlmIChjdXItPmxvY1RhYltpXSA9PSB2YWwpIGJyZWFrOworCisgICAgaWYgKGkgPj0gY3VyLT5sb2NOcikgeworI2lmZGVmIERFQlVHCisgICAgICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCSAgICAgICAgInhtbFhQdHJMb2NhdGlvblNldERlbDogUmFuZ2Ugd2Fzbid0IGZvdW5kIGluIFJhbmdlTGlzdFxuIik7CisjZW5kaWYKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBjdXItPmxvY05yLS07CisgICAgZm9yICg7aSA8IGN1ci0+bG9jTnI7aSsrKQorICAgICAgICBjdXItPmxvY1RhYltpXSA9IGN1ci0+bG9jVGFiW2kgKyAxXTsKKyAgICBjdXItPmxvY1RhYltjdXItPmxvY05yXSA9IE5VTEw7Cit9CisKKy8qKgorICogeG1sWFB0ckxvY2F0aW9uU2V0UmVtb3ZlOgorICogQGN1cjogIHRoZSBpbml0aWFsIHJhbmdlIHNldAorICogQHZhbDogIHRoZSBpbmRleCB0byByZW1vdmUKKyAqCisgKiBSZW1vdmVzIGFuIGVudHJ5IGZyb20gYW4gZXhpc3RpbmcgTG9jYXRpb25TZXQgbGlzdC4KKyAqLwordm9pZAoreG1sWFB0ckxvY2F0aW9uU2V0UmVtb3ZlKHhtbExvY2F0aW9uU2V0UHRyIGN1ciwgaW50IHZhbCkgeworICAgIGlmIChjdXIgPT0gTlVMTCkgcmV0dXJuOworICAgIGlmICh2YWwgPj0gY3VyLT5sb2NOcikgcmV0dXJuOworICAgIGN1ci0+bG9jTnItLTsKKyAgICBmb3IgKDt2YWwgPCBjdXItPmxvY05yO3ZhbCsrKQorICAgICAgICBjdXItPmxvY1RhYlt2YWxdID0gY3VyLT5sb2NUYWJbdmFsICsgMV07CisgICAgY3VyLT5sb2NUYWJbY3VyLT5sb2NOcl0gPSBOVUxMOworfQorCisvKioKKyAqIHhtbFhQdHJGcmVlTG9jYXRpb25TZXQ6CisgKiBAb2JqOiAgdGhlIHhtbExvY2F0aW9uU2V0UHRyIHRvIGZyZWUKKyAqCisgKiBGcmVlIHRoZSBMb2NhdGlvblNldCBjb21wb3VuZCAobm90IHRoZSBhY3R1YWwgcmFuZ2VzICEpLgorICovCit2b2lkCit4bWxYUHRyRnJlZUxvY2F0aW9uU2V0KHhtbExvY2F0aW9uU2V0UHRyIG9iaikgeworICAgIGludCBpOworCisgICAgaWYgKG9iaiA9PSBOVUxMKSByZXR1cm47CisgICAgaWYgKG9iai0+bG9jVGFiICE9IE5VTEwpIHsKKwlmb3IgKGkgPSAwO2kgPCBvYmotPmxvY05yOyBpKyspIHsKKyAgICAgICAgICAgIHhtbFhQYXRoRnJlZU9iamVjdChvYmotPmxvY1RhYltpXSk7CisJfQorCXhtbEZyZWUob2JqLT5sb2NUYWIpOworICAgIH0KKyAgICB4bWxGcmVlKG9iaik7Cit9CisKKy8qKgorICogeG1sWFB0ck5ld0xvY2F0aW9uU2V0Tm9kZXM6CisgKiBAc3RhcnQ6ICB0aGUgc3RhcnQgTm9kZVB0ciB2YWx1ZQorICogQGVuZDogIHRoZSBlbmQgTm9kZVB0ciB2YWx1ZSBvciBOVUxMCisgKgorICogQ3JlYXRlIGEgbmV3IHhtbFhQYXRoT2JqZWN0UHRyIG9mIHR5cGUgTG9jYXRpb25TZXQgYW5kIGluaXRpYWxpemUKKyAqIGl0IHdpdGggdGhlIHNpbmdsZSByYW5nZSBtYWRlIG9mIHRoZSB0d28gbm9kZXMgQHN0YXJ0IGFuZCBAZW5kCisgKgorICogUmV0dXJucyB0aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QuCisgKi8KK3htbFhQYXRoT2JqZWN0UHRyCit4bWxYUHRyTmV3TG9jYXRpb25TZXROb2Rlcyh4bWxOb2RlUHRyIHN0YXJ0LCB4bWxOb2RlUHRyIGVuZCkgeworICAgIHhtbFhQYXRoT2JqZWN0UHRyIHJldDsKKworICAgIHJldCA9ICh4bWxYUGF0aE9iamVjdFB0cikgeG1sTWFsbG9jKHNpemVvZih4bWxYUGF0aE9iamVjdCkpOworICAgIGlmIChyZXQgPT0gTlVMTCkgeworICAgICAgICB4bWxYUHRyRXJyTWVtb3J5KCJhbGxvY2F0aW5nIGxvY2F0aW9uc2V0Iik7CisJcmV0dXJuKE5VTEwpOworICAgIH0KKyAgICBtZW1zZXQocmV0LCAwICwgKHNpemVfdCkgc2l6ZW9mKHhtbFhQYXRoT2JqZWN0KSk7CisgICAgcmV0LT50eXBlID0gWFBBVEhfTE9DQVRJT05TRVQ7CisgICAgaWYgKGVuZCA9PSBOVUxMKQorCXJldC0+dXNlciA9IHhtbFhQdHJMb2NhdGlvblNldENyZWF0ZSh4bWxYUHRyTmV3Q29sbGFwc2VkUmFuZ2Uoc3RhcnQpKTsKKyAgICBlbHNlCisJcmV0LT51c2VyID0geG1sWFB0ckxvY2F0aW9uU2V0Q3JlYXRlKHhtbFhQdHJOZXdSYW5nZU5vZGVzKHN0YXJ0LGVuZCkpOworICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbFhQdHJOZXdMb2NhdGlvblNldE5vZGVTZXQ6CisgKiBAc2V0OiAgYSBub2RlIHNldAorICoKKyAqIENyZWF0ZSBhIG5ldyB4bWxYUGF0aE9iamVjdFB0ciBvZiB0eXBlIExvY2F0aW9uU2V0IGFuZCBpbml0aWFsaXplCisgKiBpdCB3aXRoIGFsbCB0aGUgbm9kZXMgZnJvbSBAc2V0CisgKgorICogUmV0dXJucyB0aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QuCisgKi8KK3htbFhQYXRoT2JqZWN0UHRyCit4bWxYUHRyTmV3TG9jYXRpb25TZXROb2RlU2V0KHhtbE5vZGVTZXRQdHIgc2V0KSB7CisgICAgeG1sWFBhdGhPYmplY3RQdHIgcmV0OworCisgICAgcmV0ID0gKHhtbFhQYXRoT2JqZWN0UHRyKSB4bWxNYWxsb2Moc2l6ZW9mKHhtbFhQYXRoT2JqZWN0KSk7CisgICAgaWYgKHJldCA9PSBOVUxMKSB7CisgICAgICAgIHhtbFhQdHJFcnJNZW1vcnkoImFsbG9jYXRpbmcgbG9jYXRpb25zZXQiKTsKKwlyZXR1cm4oTlVMTCk7CisgICAgfQorICAgIG1lbXNldChyZXQsIDAgLCAoc2l6ZV90KSBzaXplb2YoeG1sWFBhdGhPYmplY3QpKTsKKyAgICByZXQtPnR5cGUgPSBYUEFUSF9MT0NBVElPTlNFVDsKKyAgICBpZiAoc2V0ICE9IE5VTEwpIHsKKwlpbnQgaTsKKwl4bWxMb2NhdGlvblNldFB0ciBuZXdzZXQ7CisKKwluZXdzZXQgPSB4bWxYUHRyTG9jYXRpb25TZXRDcmVhdGUoTlVMTCk7CisJaWYgKG5ld3NldCA9PSBOVUxMKQorCSAgICByZXR1cm4ocmV0KTsKKworCWZvciAoaSA9IDA7aSA8IHNldC0+bm9kZU5yO2krKykKKwkgICAgeG1sWFB0ckxvY2F0aW9uU2V0QWRkKG5ld3NldCwKKwkJICAgICAgICB4bWxYUHRyTmV3Q29sbGFwc2VkUmFuZ2Uoc2V0LT5ub2RlVGFiW2ldKSk7CisKKwlyZXQtPnVzZXIgPSAodm9pZCAqKSBuZXdzZXQ7CisgICAgfQorICAgIHJldHVybihyZXQpOworfQorCisvKioKKyAqIHhtbFhQdHJXcmFwTG9jYXRpb25TZXQ6CisgKiBAdmFsOiAgdGhlIExvY2F0aW9uU2V0IHZhbHVlCisgKgorICogV3JhcCB0aGUgTG9jYXRpb25TZXQgQHZhbCBpbiBhIG5ldyB4bWxYUGF0aE9iamVjdFB0cgorICoKKyAqIFJldHVybnMgdGhlIG5ld2x5IGNyZWF0ZWQgb2JqZWN0LgorICovCit4bWxYUGF0aE9iamVjdFB0cgoreG1sWFB0cldyYXBMb2NhdGlvblNldCh4bWxMb2NhdGlvblNldFB0ciB2YWwpIHsKKyAgICB4bWxYUGF0aE9iamVjdFB0ciByZXQ7CisKKyAgICByZXQgPSAoeG1sWFBhdGhPYmplY3RQdHIpIHhtbE1hbGxvYyhzaXplb2YoeG1sWFBhdGhPYmplY3QpKTsKKyAgICBpZiAocmV0ID09IE5VTEwpIHsKKyAgICAgICAgeG1sWFB0ckVyck1lbW9yeSgiYWxsb2NhdGluZyBsb2NhdGlvbnNldCIpOworCXJldHVybihOVUxMKTsKKyAgICB9CisgICAgbWVtc2V0KHJldCwgMCAsIChzaXplX3QpIHNpemVvZih4bWxYUGF0aE9iamVjdCkpOworICAgIHJldC0+dHlwZSA9IFhQQVRIX0xPQ0FUSU9OU0VUOworICAgIHJldC0+dXNlciA9ICh2b2lkICopIHZhbDsKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoJCQkJCQkJCQkqCisgKgkJCVRoZSBwYXJzZXIJCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworc3RhdGljIHZvaWQgeG1sWFB0ckV2YWxDaGlsZFNlcSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCwgeG1sQ2hhciAqbmFtZSk7CisKKy8qCisgKiBNYWNyb3MgZm9yIGFjY2Vzc2luZyB0aGUgY29udGVudC4gVGhvc2Ugc2hvdWxkIGJlIHVzZWQgb25seSBieSB0aGUgcGFyc2VyLAorICogYW5kIG5vdCBleHBvcnRlZC4KKyAqCisgKiBEaXJ0eSBtYWNyb3MsIGkuZS4gb25lIG5lZWQgdG8gbWFrZSBhc3N1bXB0aW9uIG9uIHRoZSBjb250ZXh0IHRvIHVzZSB0aGVtCisgKgorICogICBDVVJfUFRSIHJldHVybiB0aGUgY3VycmVudCBwb2ludGVyIHRvIHRoZSB4bWxDaGFyIHRvIGJlIHBhcnNlZC4KKyAqICAgQ1VSICAgICByZXR1cm5zIHRoZSBjdXJyZW50IHhtbENoYXIgdmFsdWUsIGkuZS4gYSA4IGJpdCB2YWx1ZQorICogICAgICAgICAgIGluIElTTy1MYXRpbiBvciBVVEYtOC4KKyAqICAgICAgICAgICBUaGlzIHNob3VsZCBiZSB1c2VkIGludGVybmFsbHkgYnkgdGhlIHBhcnNlcgorICogICAgICAgICAgIG9ubHkgdG8gY29tcGFyZSB0byBBU0NJSSB2YWx1ZXMgb3RoZXJ3aXNlIGl0IHdvdWxkIGJyZWFrIHdoZW4KKyAqICAgICAgICAgICBydW5uaW5nIHdpdGggVVRGLTggZW5jb2RpbmcuCisgKiAgIE5YVChuKSAgcmV0dXJucyB0aGUgbid0aCBuZXh0IHhtbENoYXIuIFNhbWUgYXMgQ1VSIGlzIHNob3VsZCBiZSB1c2VkIG9ubHkKKyAqICAgICAgICAgICB0byBjb21wYXJlIG9uIEFTQ0lJIGJhc2VkIHN1YnN0cmluZy4KKyAqICAgU0tJUChuKSBTa2lwIG4geG1sQ2hhciwgYW5kIG11c3QgYWxzbyBiZSB1c2VkIG9ubHkgdG8gc2tpcCBBU0NJSSBkZWZpbmVkCisgKiAgICAgICAgICAgc3RyaW5ncyB3aXRoaW4gdGhlIHBhcnNlci4KKyAqICAgQ1VSUkVOVCBSZXR1cm5zIHRoZSBjdXJyZW50IGNoYXIgdmFsdWUsIHdpdGggdGhlIGZ1bGwgZGVjb2Rpbmcgb2YKKyAqICAgICAgICAgICBVVEYtOCBpZiB3ZSBhcmUgdXNpbmcgdGhpcyBtb2RlLiBJdCByZXR1cm5zIGFuIGludC4KKyAqICAgTkVYVCAgICBTa2lwIHRvIHRoZSBuZXh0IGNoYXJhY3RlciwgdGhpcyBkb2VzIHRoZSBwcm9wZXIgZGVjb2RpbmcKKyAqICAgICAgICAgICBpbiBVVEYtOCBtb2RlLiBJdCBhbHNvIHBvcC11cCB1bmZpbmlzaGVkIGVudGl0aWVzIG9uIHRoZSBmbHkuCisgKiAgICAgICAgICAgSXQgcmV0dXJucyB0aGUgcG9pbnRlciB0byB0aGUgY3VycmVudCB4bWxDaGFyLgorICovCisKKyNkZWZpbmUgQ1VSICgqY3R4dC0+Y3VyKQorI2RlZmluZSBTS0lQKHZhbCkgY3R4dC0+Y3VyICs9ICh2YWwpCisjZGVmaW5lIE5YVCh2YWwpIGN0eHQtPmN1clsodmFsKV0KKyNkZWZpbmUgQ1VSX1BUUiBjdHh0LT5jdXIKKworI2RlZmluZSBTS0lQX0JMQU5LUwkJCQkJCQlcCisgICAgd2hpbGUgKElTX0JMQU5LX0NIKCooY3R4dC0+Y3VyKSkpIE5FWFQKKworI2RlZmluZSBDVVJSRU5UICgqY3R4dC0+Y3VyKQorI2RlZmluZSBORVhUICgoKmN0eHQtPmN1cikgPyAgY3R4dC0+Y3VyKys6IGN0eHQtPmN1cikKKworLyoKKyAqIHhtbFhQdHJHZXRDaGlsZE5vOgorICogQGN0eHQ6ICB0aGUgWFBvaW50ZXIgUGFyc2VyIGNvbnRleHQKKyAqIEBpbmRleDogIHRoZSBjaGlsZCBudW1iZXIKKyAqCisgKiBNb3ZlIHRoZSBjdXJyZW50IG5vZGUgb2YgdGhlIG5vZGVzZXQgb24gdGhlIHN0YWNrIHRvIHRoZQorICogZ2l2ZW4gY2hpbGQgaWYgZm91bmQKKyAqLworc3RhdGljIHZvaWQKK3htbFhQdHJHZXRDaGlsZE5vKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0LCBpbnQgaW5keCkgeworICAgIHhtbE5vZGVQdHIgY3VyID0gTlVMTDsKKyAgICB4bWxYUGF0aE9iamVjdFB0ciBvYmo7CisgICAgeG1sTm9kZVNldFB0ciBvbGRzZXQ7CisKKyAgICBDSEVDS19UWVBFKFhQQVRIX05PREVTRVQpOworICAgIG9iaiA9IHZhbHVlUG9wKGN0eHQpOworICAgIG9sZHNldCA9IG9iai0+bm9kZXNldHZhbDsKKyAgICBpZiAoKGluZHggPD0gMCkgfHwgKG9sZHNldCA9PSBOVUxMKSB8fCAob2xkc2V0LT5ub2RlTnIgIT0gMSkpIHsKKwl4bWxYUGF0aEZyZWVPYmplY3Qob2JqKTsKKwl2YWx1ZVB1c2goY3R4dCwgeG1sWFBhdGhOZXdOb2RlU2V0KE5VTEwpKTsKKwlyZXR1cm47CisgICAgfQorICAgIGN1ciA9IHhtbFhQdHJHZXROdGhDaGlsZChvbGRzZXQtPm5vZGVUYWJbMF0sIGluZHgpOworICAgIGlmIChjdXIgPT0gTlVMTCkgeworCXhtbFhQYXRoRnJlZU9iamVjdChvYmopOworCXZhbHVlUHVzaChjdHh0LCB4bWxYUGF0aE5ld05vZGVTZXQoTlVMTCkpOworCXJldHVybjsKKyAgICB9CisgICAgb2xkc2V0LT5ub2RlVGFiWzBdID0gY3VyOworICAgIHZhbHVlUHVzaChjdHh0LCBvYmopOworfQorCisvKioKKyAqIHhtbFhQdHJFdmFsWFB0clBhcnQ6CisgKiBAY3R4dDogIHRoZSBYUG9pbnRlciBQYXJzZXIgY29udGV4dAorICogQG5hbWU6ICB0aGUgcHJlcGFyc2VkIFNjaGVtZSBmb3IgdGhlIFhQdHJQYXJ0CisgKgorICogWFB0clBhcnQgOjo9ICd4cG9pbnRlcicgJygnIFhQdHJFeHByICcpJworICogICAgICAgICAgICB8IFNjaGVtZSAnKCcgU2NoZW1lU3BlY2lmaWNFeHByICcpJworICoKKyAqIFNjaGVtZSAgIDo6PSAgTkNOYW1lIC0gJ3hwb2ludGVyJyBbVkM6IE5vbi1YUG9pbnRlciBzY2hlbWVzXQorICoKKyAqIFNjaGVtZVNwZWNpZmljRXhwciA6Oj0gU3RyaW5nV2l0aEJhbGFuY2VkUGFyZW5zCisgKgorICogU3RyaW5nV2l0aEJhbGFuY2VkUGFyZW5zIDo6PQorICogICAgICAgICAgICAgIFteKCldKiAoJygnIFN0cmluZ1dpdGhCYWxhbmNlZFBhcmVucyAnKScgW14oKV0qKSoKKyAqICAgICAgICAgICAgICBbVkM6IFBhcmVudGhlc2lzIGVzY2FwaW5nXQorICoKKyAqIFhQdHJFeHByIDo6PSBFeHByIFtWQzogUGFyZW50aGVzaXMgZXNjYXBpbmddCisgKgorICogVkM6IFBhcmVudGhlc2lzIGVzY2FwaW5nOgorICogICBUaGUgZW5kIG9mIGFuIFhQb2ludGVyIHBhcnQgaXMgc2lnbmFsZWQgYnkgdGhlIHJpZ2h0IHBhcmVudGhlc2lzICIpIgorICogICBjaGFyYWN0ZXIgdGhhdCBpcyBiYWxhbmNlZCB3aXRoIHRoZSBsZWZ0IHBhcmVudGhlc2lzICIoIiBjaGFyYWN0ZXIKKyAqICAgdGhhdCBiZWdhbiB0aGUgcGFydC4gQW55IHVuYmFsYW5jZWQgcGFyZW50aGVzaXMgY2hhcmFjdGVyIGluc2lkZSB0aGUKKyAqICAgZXhwcmVzc2lvbiwgZXZlbiB3aXRoaW4gbGl0ZXJhbHMsIG11c3QgYmUgZXNjYXBlZCB3aXRoIGEgY2lyY3VtZmxleCAoXikKKyAqICAgY2hhcmFjdGVyIHByZWNlZGluZyBpdC4gSWYgdGhlIGV4cHJlc3Npb24gY29udGFpbnMgYW55IGxpdGVyYWwKKyAqICAgb2NjdXJyZW5jZXMgb2YgdGhlIGNpcmN1bWZsZXgsIGVhY2ggbXVzdCBiZSBlc2NhcGVkIHdpdGggYW4gYWRkaXRpb25hbAorICogICBjaXJjdW1mbGV4ICh0aGF0IGlzLCBeXikuIElmIHRoZSB1bmVzY2FwZWQgcGFyZW50aGVzZXMgaW4gdGhlIGV4cHJlc3Npb24KKyAqICAgYXJlIG5vdCBiYWxhbmNlZCwgYSBzeW50YXggZXJyb3IgcmVzdWx0cy4KKyAqCisgKiBQYXJzZSBhbmQgZXZhbHVhdGUgYW4gWFB0clBhcnQuIEJhc2ljYWxseSBpdCBnZW5lcmF0ZXMgdGhlIHVuZXNjYXBlZAorICogc3RyaW5nIGFuZCBpZiB0aGUgc2NoZW1lIGlzICd4cG9pbnRlcicgaXQgd2lsbCBjYWxsIHRoZSBYUGF0aCBpbnRlcnByZXRlci4KKyAqCisgKiBUT0RPOiB0aGVyZSBpcyBubyBuZXcgc2NoZW1lIHJlZ2lzdHJhdGlvbiBtZWNoYW5pc20KKyAqLworCitzdGF0aWMgdm9pZAoreG1sWFB0ckV2YWxYUHRyUGFydCh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCwgeG1sQ2hhciAqbmFtZSkgeworICAgIHhtbENoYXIgKmJ1ZmZlciwgKmN1cjsKKyAgICBpbnQgbGVuOworICAgIGludCBsZXZlbDsKKworICAgIGlmIChuYW1lID09IE5VTEwpCisgICAgbmFtZSA9IHhtbFhQYXRoUGFyc2VOYW1lKGN0eHQpOworICAgIGlmIChuYW1lID09IE5VTEwpCisJWFBfRVJST1IoWFBBVEhfRVhQUl9FUlJPUik7CisKKyAgICBpZiAoQ1VSICE9ICcoJykKKwlYUF9FUlJPUihYUEFUSF9FWFBSX0VSUk9SKTsKKyAgICBORVhUOworICAgIGxldmVsID0gMTsKKworICAgIGxlbiA9IHhtbFN0cmxlbihjdHh0LT5jdXIpOworICAgIGxlbisrOworICAgIGJ1ZmZlciA9ICh4bWxDaGFyICopIHhtbE1hbGxvY0F0b21pYyhsZW4gKiBzaXplb2YgKHhtbENoYXIpKTsKKyAgICBpZiAoYnVmZmVyID09IE5VTEwpIHsKKyAgICAgICAgeG1sWFB0ckVyck1lbW9yeSgiYWxsb2NhdGluZyBidWZmZXIiKTsKKwlyZXR1cm47CisgICAgfQorCisgICAgY3VyID0gYnVmZmVyOworICAgIHdoaWxlIChDVVIgIT0gMCkgeworCWlmIChDVVIgPT0gJyknKSB7CisJICAgIGxldmVsLS07CisJICAgIGlmIChsZXZlbCA9PSAwKSB7CisJCU5FWFQ7CisJCWJyZWFrOworCSAgICB9CisJfSBlbHNlIGlmIChDVVIgPT0gJygnKSB7CisJICAgIGxldmVsKys7CisJfSBlbHNlIGlmIChDVVIgPT0gJ14nKSB7CisgICAgICAgICAgICBpZiAoKE5YVCgxKSA9PSAnKScpIHx8IChOWFQoMSkgPT0gJygnKSB8fCAoTlhUKDEpID09ICdeJykpIHsKKyAgICAgICAgICAgICAgICBORVhUOworICAgICAgICAgICAgfQorCX0KKyAgICAgICAgKmN1cisrID0gQ1VSOworCU5FWFQ7CisgICAgfQorICAgICpjdXIgPSAwOworCisgICAgaWYgKChsZXZlbCAhPSAwKSAmJiAoQ1VSID09IDApKSB7CisJeG1sRnJlZShidWZmZXIpOworCVhQX0VSUk9SKFhQVFJfU1lOVEFYX0VSUk9SKTsKKyAgICB9CisKKyAgICBpZiAoeG1sU3RyRXF1YWwobmFtZSwgKHhtbENoYXIgKikgInhwb2ludGVyIikpIHsKKwljb25zdCB4bWxDaGFyICpsZWZ0ID0gQ1VSX1BUUjsKKworCUNVUl9QVFIgPSBidWZmZXI7CisJLyoKKwkgKiBUbyBldmFsdWF0ZSBhbiB4cG9pbnRlciBzY2hlbWUgZWxlbWVudCAoNC4zKSB3ZSBuZWVkOgorCSAqICAgY29udGV4dCBpbml0aWFsaXplZCB0byB0aGUgcm9vdAorCSAqICAgY29udGV4dCBwb3NpdGlvbiBpbml0YWxpemVkIHRvIDEKKwkgKiAgIGNvbnRleHQgc2l6ZSBpbml0aWFsaXplZCB0byAxCisJICovCisJY3R4dC0+Y29udGV4dC0+bm9kZSA9ICh4bWxOb2RlUHRyKWN0eHQtPmNvbnRleHQtPmRvYzsKKwljdHh0LT5jb250ZXh0LT5wcm94aW1pdHlQb3NpdGlvbiA9IDE7CisJY3R4dC0+Y29udGV4dC0+Y29udGV4dFNpemUgPSAxOworCXhtbFhQYXRoRXZhbEV4cHIoY3R4dCk7CisJQ1VSX1BUUj1sZWZ0OworICAgIH0gZWxzZSBpZiAoeG1sU3RyRXF1YWwobmFtZSwgKHhtbENoYXIgKikgImVsZW1lbnQiKSkgeworCWNvbnN0IHhtbENoYXIgKmxlZnQgPSBDVVJfUFRSOworCXhtbENoYXIgKm5hbWUyOworCisJQ1VSX1BUUiA9IGJ1ZmZlcjsKKwlpZiAoYnVmZmVyWzBdID09ICcvJykgeworCSAgICB4bWxYUGF0aFJvb3QoY3R4dCk7CisJICAgIHhtbFhQdHJFdmFsQ2hpbGRTZXEoY3R4dCwgTlVMTCk7CisJfSBlbHNlIHsKKwkgICAgbmFtZTIgPSB4bWxYUGF0aFBhcnNlTmFtZShjdHh0KTsKKwkgICAgaWYgKG5hbWUyID09IE5VTEwpIHsKKwkJQ1VSX1BUUiA9IGxlZnQ7CisJCXhtbEZyZWUoYnVmZmVyKTsKKwkJWFBfRVJST1IoWFBBVEhfRVhQUl9FUlJPUik7CisJICAgIH0KKwkgICAgeG1sWFB0ckV2YWxDaGlsZFNlcShjdHh0LCBuYW1lMik7CisJfQorCUNVUl9QVFIgPSBsZWZ0OworI2lmZGVmIFhQVFJfWE1MTlNfU0NIRU1FCisgICAgfSBlbHNlIGlmICh4bWxTdHJFcXVhbChuYW1lLCAoeG1sQ2hhciAqKSAieG1sbnMiKSkgeworCWNvbnN0IHhtbENoYXIgKmxlZnQgPSBDVVJfUFRSOworCXhtbENoYXIgKnByZWZpeDsKKwl4bWxDaGFyICpVUkk7CisJeG1sVVJJUHRyIHZhbHVlOworCisJQ1VSX1BUUiA9IGJ1ZmZlcjsKKyAgICAgICAgcHJlZml4ID0geG1sWFBhdGhQYXJzZU5DTmFtZShjdHh0KTsKKwlpZiAocHJlZml4ID09IE5VTEwpIHsKKwkgICAgeG1sRnJlZShidWZmZXIpOworCSAgICB4bWxGcmVlKG5hbWUpOworCSAgICBYUF9FUlJPUihYUFRSX1NZTlRBWF9FUlJPUik7CisJfQorCVNLSVBfQkxBTktTOworCWlmIChDVVIgIT0gJz0nKSB7CisJICAgIHhtbEZyZWUocHJlZml4KTsKKwkgICAgeG1sRnJlZShidWZmZXIpOworCSAgICB4bWxGcmVlKG5hbWUpOworCSAgICBYUF9FUlJPUihYUFRSX1NZTlRBWF9FUlJPUik7CisJfQorCU5FWFQ7CisJU0tJUF9CTEFOS1M7CisJLyogQEAgY2hlY2sgZXNjYXBpbmcgaW4gdGhlIFhQb2ludGVyIFdEICovCisKKwl2YWx1ZSA9IHhtbFBhcnNlVVJJKChjb25zdCBjaGFyICopY3R4dC0+Y3VyKTsKKwlpZiAodmFsdWUgPT0gTlVMTCkgeworCSAgICB4bWxGcmVlKHByZWZpeCk7CisJICAgIHhtbEZyZWUoYnVmZmVyKTsKKwkgICAgeG1sRnJlZShuYW1lKTsKKwkgICAgWFBfRVJST1IoWFBUUl9TWU5UQVhfRVJST1IpOworCX0KKwlVUkkgPSB4bWxTYXZlVXJpKHZhbHVlKTsKKwl4bWxGcmVlVVJJKHZhbHVlKTsKKwlpZiAoVVJJID09IE5VTEwpIHsKKwkgICAgeG1sRnJlZShwcmVmaXgpOworCSAgICB4bWxGcmVlKGJ1ZmZlcik7CisJICAgIHhtbEZyZWUobmFtZSk7CisJICAgIFhQX0VSUk9SKFhQQVRIX01FTU9SWV9FUlJPUik7CisJfQorCisJeG1sWFBhdGhSZWdpc3Rlck5zKGN0eHQtPmNvbnRleHQsIHByZWZpeCwgVVJJKTsKKwlDVVJfUFRSID0gbGVmdDsKKwl4bWxGcmVlKFVSSSk7CisJeG1sRnJlZShwcmVmaXgpOworI2VuZGlmIC8qIFhQVFJfWE1MTlNfU0NIRU1FICovCisgICAgfSBlbHNlIHsKKyAgICAgICAgeG1sWFB0ckVycihjdHh0LCBYTUxfWFBUUl9VTktOT1dOX1NDSEVNRSwKKwkJICAgInVuc3VwcG9ydGVkIHNjaGVtZSAnJXMnXG4iLCBuYW1lKTsKKyAgICB9CisgICAgeG1sRnJlZShidWZmZXIpOworICAgIHhtbEZyZWUobmFtZSk7Cit9CisKKy8qKgorICogeG1sWFB0ckV2YWxGdWxsWFB0cjoKKyAqIEBjdHh0OiAgdGhlIFhQb2ludGVyIFBhcnNlciBjb250ZXh0CisgKiBAbmFtZTogIHRoZSBwcmVwYXJzZWQgU2NoZW1lIGZvciB0aGUgZmlyc3QgWFB0clBhcnQKKyAqCisgKiBGdWxsWFB0ciA6Oj0gWFB0clBhcnQgKFM/IFhQdHJQYXJ0KSoKKyAqCisgKiBBcyB0aGUgc3BlY3Mgc2F5czoKKyAqIC0tLS0tLS0tLS0tCisgKiBXaGVuIG11bHRpcGxlIFhQdHJQYXJ0cyBhcmUgcHJvdmlkZWQsIHRoZXkgbXVzdCBiZSBldmFsdWF0ZWQgaW4KKyAqIGxlZnQtdG8tcmlnaHQgb3JkZXIuIElmIGV2YWx1YXRpb24gb2Ygb25lIHBhcnQgZmFpbHMsIHRoZSBuZXh0aQorICogaXMgZXZhbHVhdGVkLiBUaGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgY2F1c2UgWFBvaW50ZXIgcGFydCBmYWlsdXJlOgorICoKKyAqIC0gQW4gdW5rbm93biBzY2hlbWUKKyAqIC0gQSBzY2hlbWUgdGhhdCBkb2VzIG5vdCBsb2NhdGUgYW55IHN1Yi1yZXNvdXJjZSBwcmVzZW50IGluIHRoZSByZXNvdXJjZQorICogLSBBIHNjaGVtZSB0aGF0IGlzIG5vdCBhcHBsaWNhYmxlIHRvIHRoZSBtZWRpYSB0eXBlIG9mIHRoZSByZXNvdXJjZQorICoKKyAqIFRoZSBYUG9pbnRlciBhcHBsaWNhdGlvbiBtdXN0IGNvbnN1bWUgYSBmYWlsZWQgWFBvaW50ZXIgcGFydCBhbmQKKyAqIGF0dGVtcHQgdG8gZXZhbHVhdGUgdGhlIG5leHQgb25lLCBpZiBhbnkuIFRoZSByZXN1bHQgb2YgdGhlIGZpcnN0CisgKiBYUG9pbnRlciBwYXJ0IHdob3NlIGV2YWx1YXRpb24gc3VjY2VlZHMgaXMgdGFrZW4gdG8gYmUgdGhlIGZyYWdtZW50CisgKiBsb2NhdGVkIGJ5IHRoZSBYUG9pbnRlciBhcyBhIHdob2xlLiBJZiBhbGwgdGhlIHBhcnRzIGZhaWwsIHRoZSByZXN1bHQKKyAqIGZvciB0aGUgWFBvaW50ZXIgYXMgYSB3aG9sZSBpcyBhIHN1Yi1yZXNvdXJjZSBlcnJvci4KKyAqIC0tLS0tLS0tLS0tCisgKgorICogUGFyc2UgYW5kIGV2YWx1YXRlIGEgRnVsbCBYUHRyIGkuZS4gcG9zc2libHkgYSBjYXNjYWRlIG9mIFhQYXRoIGJhc2VkCisgKiBleHByZXNzaW9ucyBvciBvdGhlciBzY2hlbWVzLgorICovCitzdGF0aWMgdm9pZAoreG1sWFB0ckV2YWxGdWxsWFB0cih4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCwgeG1sQ2hhciAqbmFtZSkgeworICAgIGlmIChuYW1lID09IE5VTEwpCisgICAgbmFtZSA9IHhtbFhQYXRoUGFyc2VOYW1lKGN0eHQpOworICAgIGlmIChuYW1lID09IE5VTEwpCisJWFBfRVJST1IoWFBBVEhfRVhQUl9FUlJPUik7CisgICAgd2hpbGUgKG5hbWUgIT0gTlVMTCkgeworCWN0eHQtPmVycm9yID0gWFBBVEhfRVhQUkVTU0lPTl9PSzsKKwl4bWxYUHRyRXZhbFhQdHJQYXJ0KGN0eHQsIG5hbWUpOworCisJLyogaW4gY2FzZSBvZiBzeW50YXggZXJyb3IsIGJyZWFrIGhlcmUgKi8KKwlpZiAoKGN0eHQtPmVycm9yICE9IFhQQVRIX0VYUFJFU1NJT05fT0spICYmCisgICAgICAgICAgICAoY3R4dC0+ZXJyb3IgIT0gWE1MX1hQVFJfVU5LTk9XTl9TQ0hFTUUpKQorCSAgICByZXR1cm47CisKKwkvKgorCSAqIElmIHRoZSByZXR1cm5lZCB2YWx1ZSBpcyBhIG5vbi1lbXB0eSBub2Rlc2V0CisJICogb3IgbG9jYXRpb24gc2V0LCByZXR1cm4gaGVyZS4KKwkgKi8KKwlpZiAoY3R4dC0+dmFsdWUgIT0gTlVMTCkgeworCSAgICB4bWxYUGF0aE9iamVjdFB0ciBvYmogPSBjdHh0LT52YWx1ZTsKKworCSAgICBzd2l0Y2ggKG9iai0+dHlwZSkgeworCQljYXNlIFhQQVRIX0xPQ0FUSU9OU0VUOiB7CisJCSAgICB4bWxMb2NhdGlvblNldFB0ciBsb2MgPSBjdHh0LT52YWx1ZS0+dXNlcjsKKwkJICAgIGlmICgobG9jICE9IE5VTEwpICYmIChsb2MtPmxvY05yID4gMCkpCisJCQlyZXR1cm47CisJCSAgICBicmVhazsKKwkJfQorCQljYXNlIFhQQVRIX05PREVTRVQ6IHsKKwkJICAgIHhtbE5vZGVTZXRQdHIgbG9jID0gY3R4dC0+dmFsdWUtPm5vZGVzZXR2YWw7CisJCSAgICBpZiAoKGxvYyAhPSBOVUxMKSAmJiAobG9jLT5ub2RlTnIgPiAwKSkKKwkJCXJldHVybjsKKwkJICAgIGJyZWFrOworCQl9CisJCWRlZmF1bHQ6CisJCSAgICBicmVhazsKKwkgICAgfQorCisJICAgIC8qCisJICAgICAqIEV2YWx1YXRpbmcgdG8gaW1wcm9wZXIgdmFsdWVzIGlzIGVxdWl2YWxlbnQgdG8KKwkgICAgICogYSBzdWItcmVzb3VyY2UgZXJyb3IsIGNsZWFuLXVwIHRoZSBzdGFjaworCSAgICAgKi8KKwkgICAgZG8geworCQlvYmogPSB2YWx1ZVBvcChjdHh0KTsKKwkJaWYgKG9iaiAhPSBOVUxMKSB7CisJCSAgICB4bWxYUGF0aEZyZWVPYmplY3Qob2JqKTsKKwkJfQorCSAgICB9IHdoaWxlIChvYmogIT0gTlVMTCk7CisJfQorCisJLyoKKwkgKiBJcyB0aGVyZSBhbm90aGVyIFhQb2ludGVyIHBhcnQuCisJICovCisJU0tJUF9CTEFOS1M7CisJbmFtZSA9IHhtbFhQYXRoUGFyc2VOYW1lKGN0eHQpOworICAgIH0KK30KKworLyoqCisgKiB4bWxYUHRyRXZhbENoaWxkU2VxOgorICogQGN0eHQ6ICB0aGUgWFBvaW50ZXIgUGFyc2VyIGNvbnRleHQKKyAqIEBuYW1lOiAgYSBwb3NzaWJsZSBJRCBuYW1lIG9mIHRoZSBjaGlsZCBzZXF1ZW5jZQorICoKKyAqICBDaGlsZFNlcSA6Oj0gJy8xJyAoJy8nIFswLTldKikqCisgKiAgICAgICAgICAgICB8IE5hbWUgKCcvJyBbMC05XSopKworICoKKyAqIFBhcnNlIGFuZCBldmFsdWF0ZSBhIENoaWxkIFNlcXVlbmNlLiBUaGlzIHJvdXRpbmUgYWxzbyBoYW5kbGUgdGhlCisgKiBjYXNlIG9mIGEgQmFyZSBOYW1lIHVzZWQgdG8gZ2V0IGEgZG9jdW1lbnQgSUQuCisgKi8KK3N0YXRpYyB2b2lkCit4bWxYUHRyRXZhbENoaWxkU2VxKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0LCB4bWxDaGFyICpuYW1lKSB7CisgICAgLyoKKyAgICAgKiBYUG9pbnRlciBkb24ndCBhbGxvdyBieSBzeW50YXggdG8gYWRkcmVzcyBpbiBtdXRpcm9vdGVkIHRyZWVzCisgICAgICogdGhpcyBtaWdodCBwcm92ZSB1c2VmdWwgaW4gc29tZSBjYXNlcywgd2FybiBhYm91dCBpdC4KKyAgICAgKi8KKyAgICBpZiAoKG5hbWUgPT0gTlVMTCkgJiYgKENVUiA9PSAnLycpICYmIChOWFQoMSkgIT0gJzEnKSkgeworICAgICAgICB4bWxYUHRyRXJyKGN0eHQsIFhNTF9YUFRSX0NISUxEU0VRX1NUQVJULAorCQkgICAid2FybmluZzogQ2hpbGRTZXEgbm90IHN0YXJ0aW5nIGJ5IC8xXG4iLCBOVUxMKTsKKyAgICB9CisKKyAgICBpZiAobmFtZSAhPSBOVUxMKSB7CisJdmFsdWVQdXNoKGN0eHQsIHhtbFhQYXRoTmV3U3RyaW5nKG5hbWUpKTsKKwl4bWxGcmVlKG5hbWUpOworCXhtbFhQYXRoSWRGdW5jdGlvbihjdHh0LCAxKTsKKwlDSEVDS19FUlJPUjsKKyAgICB9CisKKyAgICB3aGlsZSAoQ1VSID09ICcvJykgeworCWludCBjaGlsZCA9IDA7CisJTkVYVDsKKworCXdoaWxlICgoQ1VSID49ICcwJykgJiYgKENVUiA8PSAnOScpKSB7CisJICAgIGNoaWxkID0gY2hpbGQgKiAxMCArIChDVVIgLSAnMCcpOworCSAgICBORVhUOworCX0KKwl4bWxYUHRyR2V0Q2hpbGRObyhjdHh0LCBjaGlsZCk7CisgICAgfQorfQorCisKKy8qKgorICogeG1sWFB0ckV2YWxYUG9pbnRlcjoKKyAqIEBjdHh0OiAgdGhlIFhQb2ludGVyIFBhcnNlciBjb250ZXh0CisgKgorICogIFhQb2ludGVyIDo6PSBOYW1lCisgKiAgICAgICAgICAgICB8IENoaWxkU2VxCisgKiAgICAgICAgICAgICB8IEZ1bGxYUHRyCisgKgorICogUGFyc2UgYW5kIGV2YWx1YXRlIGFuIFhQb2ludGVyCisgKi8KK3N0YXRpYyB2b2lkCit4bWxYUHRyRXZhbFhQb2ludGVyKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0KSB7CisgICAgaWYgKGN0eHQtPnZhbHVlVGFiID09IE5VTEwpIHsKKwkvKiBBbGxvY2F0ZSB0aGUgdmFsdWUgc3RhY2sgKi8KKwljdHh0LT52YWx1ZVRhYiA9ICh4bWxYUGF0aE9iamVjdFB0ciAqKQorCQkJIHhtbE1hbGxvYygxMCAqIHNpemVvZih4bWxYUGF0aE9iamVjdFB0cikpOworCWlmIChjdHh0LT52YWx1ZVRhYiA9PSBOVUxMKSB7CisJICAgIHhtbFhQdHJFcnJNZW1vcnkoImFsbG9jYXRpbmcgZXZhbHVhdGlvbiBjb250ZXh0Iik7CisJICAgIHJldHVybjsKKwl9CisJY3R4dC0+dmFsdWVOciA9IDA7CisJY3R4dC0+dmFsdWVNYXggPSAxMDsKKwljdHh0LT52YWx1ZSA9IE5VTEw7CisJY3R4dC0+dmFsdWVGcmFtZSA9IDA7CisgICAgfQorICAgIFNLSVBfQkxBTktTOworICAgIGlmIChDVVIgPT0gJy8nKSB7CisJeG1sWFBhdGhSb290KGN0eHQpOworICAgICAgICB4bWxYUHRyRXZhbENoaWxkU2VxKGN0eHQsIE5VTEwpOworICAgIH0gZWxzZSB7CisJeG1sQ2hhciAqbmFtZTsKKworCW5hbWUgPSB4bWxYUGF0aFBhcnNlTmFtZShjdHh0KTsKKwlpZiAobmFtZSA9PSBOVUxMKQorCSAgICBYUF9FUlJPUihYUEFUSF9FWFBSX0VSUk9SKTsKKwlpZiAoQ1VSID09ICcoJykgeworCSAgICB4bWxYUHRyRXZhbEZ1bGxYUHRyKGN0eHQsIG5hbWUpOworCSAgICAvKiBTaG9ydCBldmFsdWF0aW9uICovCisJICAgIHJldHVybjsKKwl9IGVsc2UgeworCSAgICAvKiB0aGlzIGhhbmRsZSBib3RoIEJhcmUgTmFtZXMgYW5kIENoaWxkIFNlcXVlbmNlcyAqLworCSAgICB4bWxYUHRyRXZhbENoaWxkU2VxKGN0eHQsIG5hbWUpOworCX0KKyAgICB9CisgICAgU0tJUF9CTEFOS1M7CisgICAgaWYgKENVUiAhPSAwKQorCVhQX0VSUk9SKFhQQVRIX0VYUFJfRVJST1IpOworfQorCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCQkJCQkJCQkJKgorICoJCQlHZW5lcmFsIHJvdXRpbmVzCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworc3RhdGljCit2b2lkIHhtbFhQdHJTdHJpbmdSYW5nZUZ1bmN0aW9uKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0LCBpbnQgbmFyZ3MpOworc3RhdGljCit2b2lkIHhtbFhQdHJTdGFydFBvaW50RnVuY3Rpb24oeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQsIGludCBuYXJncyk7CitzdGF0aWMKK3ZvaWQgeG1sWFB0ckVuZFBvaW50RnVuY3Rpb24oeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQsIGludCBuYXJncyk7CitzdGF0aWMKK3ZvaWQgeG1sWFB0ckhlcmVGdW5jdGlvbih4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCwgaW50IG5hcmdzKTsKK3N0YXRpYwordm9pZCB4bWxYUHRyT3JpZ2luRnVuY3Rpb24oeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQsIGludCBuYXJncyk7CitzdGF0aWMKK3ZvaWQgeG1sWFB0clJhbmdlSW5zaWRlRnVuY3Rpb24oeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQsIGludCBuYXJncyk7CitzdGF0aWMKK3ZvaWQgeG1sWFB0clJhbmdlRnVuY3Rpb24oeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQsIGludCBuYXJncyk7CisKKy8qKgorICogeG1sWFB0ck5ld0NvbnRleHQ6CisgKiBAZG9jOiAgdGhlIFhNTCBkb2N1bWVudAorICogQGhlcmU6ICB0aGUgbm9kZSB0aGF0IGRpcmVjdGx5IGNvbnRhaW5zIHRoZSBYUG9pbnRlciBiZWluZyBldmFsdWF0ZWQgb3IgTlVMTAorICogQG9yaWdpbjogIHRoZSBlbGVtZW50IGZyb20gd2hpY2ggYSB1c2VyIG9yIHByb2dyYW0gaW5pdGlhdGVkIHRyYXZlcnNhbCBvZgorICogICAgICAgICAgIHRoZSBsaW5rLCBvciBOVUxMLgorICoKKyAqIENyZWF0ZSBhIG5ldyBYUG9pbnRlciBjb250ZXh0CisgKgorICogUmV0dXJucyB0aGUgeG1sWFBhdGhDb250ZXh0IGp1c3QgYWxsb2NhdGVkLgorICovCit4bWxYUGF0aENvbnRleHRQdHIKK3htbFhQdHJOZXdDb250ZXh0KHhtbERvY1B0ciBkb2MsIHhtbE5vZGVQdHIgaGVyZSwgeG1sTm9kZVB0ciBvcmlnaW4pIHsKKyAgICB4bWxYUGF0aENvbnRleHRQdHIgcmV0OworCisgICAgcmV0ID0geG1sWFBhdGhOZXdDb250ZXh0KGRvYyk7CisgICAgaWYgKHJldCA9PSBOVUxMKQorCXJldHVybihyZXQpOworICAgIHJldC0+eHB0ciA9IDE7CisgICAgcmV0LT5oZXJlID0gaGVyZTsKKyAgICByZXQtPm9yaWdpbiA9IG9yaWdpbjsKKworICAgIHhtbFhQYXRoUmVnaXN0ZXJGdW5jKHJldCwgKHhtbENoYXIgKikicmFuZ2UtdG8iLAorCSAgICAgICAgICAgICAgICAgeG1sWFB0clJhbmdlVG9GdW5jdGlvbik7CisgICAgeG1sWFBhdGhSZWdpc3RlckZ1bmMocmV0LCAoeG1sQ2hhciAqKSJyYW5nZSIsCisJICAgICAgICAgICAgICAgICB4bWxYUHRyUmFuZ2VGdW5jdGlvbik7CisgICAgeG1sWFBhdGhSZWdpc3RlckZ1bmMocmV0LCAoeG1sQ2hhciAqKSJyYW5nZS1pbnNpZGUiLAorCSAgICAgICAgICAgICAgICAgeG1sWFB0clJhbmdlSW5zaWRlRnVuY3Rpb24pOworICAgIHhtbFhQYXRoUmVnaXN0ZXJGdW5jKHJldCwgKHhtbENoYXIgKikic3RyaW5nLXJhbmdlIiwKKwkgICAgICAgICAgICAgICAgIHhtbFhQdHJTdHJpbmdSYW5nZUZ1bmN0aW9uKTsKKyAgICB4bWxYUGF0aFJlZ2lzdGVyRnVuYyhyZXQsICh4bWxDaGFyICopInN0YXJ0LXBvaW50IiwKKwkgICAgICAgICAgICAgICAgIHhtbFhQdHJTdGFydFBvaW50RnVuY3Rpb24pOworICAgIHhtbFhQYXRoUmVnaXN0ZXJGdW5jKHJldCwgKHhtbENoYXIgKikiZW5kLXBvaW50IiwKKwkgICAgICAgICAgICAgICAgIHhtbFhQdHJFbmRQb2ludEZ1bmN0aW9uKTsKKyAgICB4bWxYUGF0aFJlZ2lzdGVyRnVuYyhyZXQsICh4bWxDaGFyICopImhlcmUiLAorCSAgICAgICAgICAgICAgICAgeG1sWFB0ckhlcmVGdW5jdGlvbik7CisgICAgeG1sWFBhdGhSZWdpc3RlckZ1bmMocmV0LCAoeG1sQ2hhciAqKSIgb3JpZ2luIiwKKwkgICAgICAgICAgICAgICAgIHhtbFhQdHJPcmlnaW5GdW5jdGlvbik7CisKKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxYUHRyRXZhbDoKKyAqIEBzdHI6ICB0aGUgWFBvaW50ZXIgZXhwcmVzc2lvbgorICogQGN0eDogIHRoZSBYUG9pbnRlciBjb250ZXh0CisgKgorICogRXZhbHVhdGUgdGhlIFhQYXRoIExvY2F0aW9uIFBhdGggaW4gdGhlIGdpdmVuIGNvbnRleHQuCisgKgorICogUmV0dXJucyB0aGUgeG1sWFBhdGhPYmplY3RQdHIgcmVzdWx0aW5nIGZyb20gdGhlIGV2YWx1YXRpb24gb3IgTlVMTC4KKyAqICAgICAgICAgdGhlIGNhbGxlciBoYXMgdG8gZnJlZSB0aGUgb2JqZWN0LgorICovCit4bWxYUGF0aE9iamVjdFB0cgoreG1sWFB0ckV2YWwoY29uc3QgeG1sQ2hhciAqc3RyLCB4bWxYUGF0aENvbnRleHRQdHIgY3R4KSB7CisgICAgeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQ7CisgICAgeG1sWFBhdGhPYmplY3RQdHIgcmVzID0gTlVMTCwgdG1wOworICAgIHhtbFhQYXRoT2JqZWN0UHRyIGluaXQgPSBOVUxMOworICAgIGludCBzdGFjayA9IDA7CisKKyAgICB4bWxYUGF0aEluaXQoKTsKKworICAgIGlmICgoY3R4ID09IE5VTEwpIHx8IChzdHIgPT0gTlVMTCkpCisJcmV0dXJuKE5VTEwpOworCisgICAgY3R4dCA9IHhtbFhQYXRoTmV3UGFyc2VyQ29udGV4dChzdHIsIGN0eCk7CisgICAgaWYgKGN0eHQgPT0gTlVMTCkKKwlyZXR1cm4oTlVMTCk7CisgICAgY3R4dC0+eHB0ciA9IDE7CisgICAgeG1sWFB0ckV2YWxYUG9pbnRlcihjdHh0KTsKKworICAgIGlmICgoY3R4dC0+dmFsdWUgIT0gTlVMTCkgJiYKKwkoY3R4dC0+dmFsdWUtPnR5cGUgIT0gWFBBVEhfTk9ERVNFVCkgJiYKKwkoY3R4dC0+dmFsdWUtPnR5cGUgIT0gWFBBVEhfTE9DQVRJT05TRVQpKSB7CisgICAgICAgIHhtbFhQdHJFcnIoY3R4dCwgWE1MX1hQVFJfRVZBTF9GQUlMRUQsCisJCSJ4bWxYUHRyRXZhbDogZXZhbHVhdGlvbiBmYWlsZWQgdG8gcmV0dXJuIGEgbm9kZSBzZXRcbiIsCisJCSAgIE5VTEwpOworICAgIH0gZWxzZSB7CisJcmVzID0gdmFsdWVQb3AoY3R4dCk7CisgICAgfQorCisgICAgZG8geworICAgICAgICB0bXAgPSB2YWx1ZVBvcChjdHh0KTsKKwlpZiAodG1wICE9IE5VTEwpIHsKKwkgICAgaWYgKHRtcCAhPSBpbml0KSB7CisJCWlmICh0bXAtPnR5cGUgPT0gWFBBVEhfTk9ERVNFVCkgeworCQkgICAgLyoKKwkJICAgICAqIEV2YWx1YXRpb24gbWF5IHB1c2ggYSByb290IG5vZGVzZXQgd2hpY2ggaXMgdW51c2VkCisJCSAgICAgKi8KKwkJICAgIHhtbE5vZGVTZXRQdHIgc2V0OworCQkgICAgc2V0ID0gdG1wLT5ub2Rlc2V0dmFsOworCQkgICAgaWYgKChzZXQtPm5vZGVOciAhPSAxKSB8fAorCQkJKHNldC0+bm9kZVRhYlswXSAhPSAoeG1sTm9kZVB0cikgY3R4LT5kb2MpKQorCQkJc3RhY2srKzsKKwkJfSBlbHNlCisJCSAgICBzdGFjaysrOworCSAgICB9CisJICAgIHhtbFhQYXRoRnJlZU9iamVjdCh0bXApOworICAgICAgICB9CisgICAgfSB3aGlsZSAodG1wICE9IE5VTEwpOworICAgIGlmIChzdGFjayAhPSAwKSB7CisgICAgICAgIHhtbFhQdHJFcnIoY3R4dCwgWE1MX1hQVFJfRVhUUkFfT0JKRUNUUywKKwkJICAgInhtbFhQdHJFdmFsOiBvYmplY3QocykgbGVmdCBvbiB0aGUgZXZhbCBzdGFja1xuIiwKKwkJICAgTlVMTCk7CisgICAgfQorICAgIGlmIChjdHh0LT5lcnJvciAhPSBYUEFUSF9FWFBSRVNTSU9OX09LKSB7CisJeG1sWFBhdGhGcmVlT2JqZWN0KHJlcyk7CisJcmVzID0gTlVMTDsKKyAgICB9CisKKyAgICB4bWxYUGF0aEZyZWVQYXJzZXJDb250ZXh0KGN0eHQpOworICAgIHJldHVybihyZXMpOworfQorCisvKioKKyAqIHhtbFhQdHJCdWlsZFJhbmdlTm9kZUxpc3Q6CisgKiBAcmFuZ2U6ICBhIHJhbmdlIG9iamVjdAorICoKKyAqIEJ1aWxkIGEgbm9kZSBsaXN0IHRyZWUgY29weSBvZiB0aGUgcmFuZ2UKKyAqCisgKiBSZXR1cm5zIGFuIHhtbE5vZGVQdHIgbGlzdCBvciBOVUxMLgorICogICAgICAgICB0aGUgY2FsbGVyIGhhcyB0byBmcmVlIHRoZSBub2RlIHRyZWUuCisgKi8KK3N0YXRpYyB4bWxOb2RlUHRyCit4bWxYUHRyQnVpbGRSYW5nZU5vZGVMaXN0KHhtbFhQYXRoT2JqZWN0UHRyIHJhbmdlKSB7CisgICAgLyogcG9pbnRlcnMgdG8gZ2VuZXJhdGVkIG5vZGVzICovCisgICAgeG1sTm9kZVB0ciBsaXN0ID0gTlVMTCwgbGFzdCA9IE5VTEwsIHBhcmVudCA9IE5VTEwsIHRtcDsKKyAgICAvKiBwb2ludGVycyB0byB0cmF2ZXJzYWwgbm9kZXMgKi8KKyAgICB4bWxOb2RlUHRyIHN0YXJ0LCBjdXIsIGVuZDsKKyAgICBpbnQgaW5kZXgxLCBpbmRleDI7CisKKyAgICBpZiAocmFuZ2UgPT0gTlVMTCkKKwlyZXR1cm4oTlVMTCk7CisgICAgaWYgKHJhbmdlLT50eXBlICE9IFhQQVRIX1JBTkdFKQorCXJldHVybihOVUxMKTsKKyAgICBzdGFydCA9ICh4bWxOb2RlUHRyKSByYW5nZS0+dXNlcjsKKworICAgIGlmICgoc3RhcnQgPT0gTlVMTCkgfHwgKHN0YXJ0LT50eXBlID09IFhNTF9OQU1FU1BBQ0VfREVDTCkpCisJcmV0dXJuKE5VTEwpOworICAgIGVuZCA9IHJhbmdlLT51c2VyMjsKKyAgICBpZiAoZW5kID09IE5VTEwpCisJcmV0dXJuKHhtbENvcHlOb2RlKHN0YXJ0LCAxKSk7CisgICAgaWYgKGVuZC0+dHlwZSA9PSBYTUxfTkFNRVNQQUNFX0RFQ0wpCisgICAgICAgIHJldHVybihOVUxMKTsKKworICAgIGN1ciA9IHN0YXJ0OworICAgIGluZGV4MSA9IHJhbmdlLT5pbmRleDsKKyAgICBpbmRleDIgPSByYW5nZS0+aW5kZXgyOworICAgIHdoaWxlIChjdXIgIT0gTlVMTCkgeworCWlmIChjdXIgPT0gZW5kKSB7CisJICAgIGlmIChjdXItPnR5cGUgPT0gWE1MX1RFWFRfTk9ERSkgeworCQljb25zdCB4bWxDaGFyICpjb250ZW50ID0gY3VyLT5jb250ZW50OworCQlpbnQgbGVuOworCisJCWlmIChjb250ZW50ID09IE5VTEwpIHsKKwkJICAgIHRtcCA9IHhtbE5ld1RleHRMZW4oTlVMTCwgMCk7CisJCX0gZWxzZSB7CisJCSAgICBsZW4gPSBpbmRleDI7CisJCSAgICBpZiAoKGN1ciA9PSBzdGFydCkgJiYgKGluZGV4MSA+IDEpKSB7CisJCQljb250ZW50ICs9IChpbmRleDEgLSAxKTsKKwkJCWxlbiAtPSAoaW5kZXgxIC0gMSk7CisJCQlpbmRleDEgPSAwOworCQkgICAgfSBlbHNlIHsKKwkJCWxlbiA9IGluZGV4MjsKKwkJICAgIH0KKwkJICAgIHRtcCA9IHhtbE5ld1RleHRMZW4oY29udGVudCwgbGVuKTsKKwkJfQorCQkvKiBzaW5nbGUgc3ViIHRleHQgbm9kZSBzZWxlY3Rpb24gKi8KKwkJaWYgKGxpc3QgPT0gTlVMTCkKKwkJICAgIHJldHVybih0bXApOworCQkvKiBwcnVuZSBhbmQgcmV0dXJuIGZ1bGwgc2V0ICovCisJCWlmIChsYXN0ICE9IE5VTEwpCisJCSAgICB4bWxBZGROZXh0U2libGluZyhsYXN0LCB0bXApOworCQllbHNlCisJCSAgICB4bWxBZGRDaGlsZChwYXJlbnQsIHRtcCk7CisJCXJldHVybihsaXN0KTsKKwkgICAgfSBlbHNlIHsKKwkJdG1wID0geG1sQ29weU5vZGUoY3VyLCAwKTsKKwkJaWYgKGxpc3QgPT0gTlVMTCkKKwkJICAgIGxpc3QgPSB0bXA7CisJCWVsc2UgeworCQkgICAgaWYgKGxhc3QgIT0gTlVMTCkKKwkJCXhtbEFkZE5leHRTaWJsaW5nKGxhc3QsIHRtcCk7CisJCSAgICBlbHNlCisJCQl4bWxBZGRDaGlsZChwYXJlbnQsIHRtcCk7CisJCX0KKwkJbGFzdCA9IE5VTEw7CisJCXBhcmVudCA9IHRtcDsKKworCQlpZiAoaW5kZXgyID4gMSkgeworCQkgICAgZW5kID0geG1sWFB0ckdldE50aENoaWxkKGN1ciwgaW5kZXgyIC0gMSk7CisJCSAgICBpbmRleDIgPSAwOworCQl9CisJCWlmICgoY3VyID09IHN0YXJ0KSAmJiAoaW5kZXgxID4gMSkpIHsKKwkJICAgIGN1ciA9IHhtbFhQdHJHZXROdGhDaGlsZChjdXIsIGluZGV4MSAtIDEpOworCQkgICAgaW5kZXgxID0gMDsKKwkJfSBlbHNlIHsKKwkJICAgIGN1ciA9IGN1ci0+Y2hpbGRyZW47CisJCX0KKwkJLyoKKwkJICogTm93IGdhdGhlciB0aGUgcmVtYWluaW5nIG5vZGVzIGZyb20gY3VyIHRvIGVuZAorCQkgKi8KKwkJY29udGludWU7IC8qIHdoaWxlICovCisJICAgIH0KKwl9IGVsc2UgaWYgKChjdXIgPT0gc3RhcnQpICYmCisJCSAgIChsaXN0ID09IE5VTEwpIC8qIGxvb2tzIHN1cGVyZmx1b3VzIGJ1dCAuLi4gKi8gKSB7CisJICAgIGlmICgoY3VyLT50eXBlID09IFhNTF9URVhUX05PREUpIHx8CisJCShjdXItPnR5cGUgPT0gWE1MX0NEQVRBX1NFQ1RJT05fTk9ERSkpIHsKKwkJY29uc3QgeG1sQ2hhciAqY29udGVudCA9IGN1ci0+Y29udGVudDsKKworCQlpZiAoY29udGVudCA9PSBOVUxMKSB7CisJCSAgICB0bXAgPSB4bWxOZXdUZXh0TGVuKE5VTEwsIDApOworCQl9IGVsc2UgeworCQkgICAgaWYgKGluZGV4MSA+IDEpIHsKKwkJCWNvbnRlbnQgKz0gKGluZGV4MSAtIDEpOworCQkgICAgfQorCQkgICAgdG1wID0geG1sTmV3VGV4dChjb250ZW50KTsKKwkJfQorCQlsYXN0ID0gbGlzdCA9IHRtcDsKKwkgICAgfSBlbHNlIHsKKwkJaWYgKChjdXIgPT0gc3RhcnQpICYmIChpbmRleDEgPiAxKSkgeworCQkgICAgdG1wID0geG1sQ29weU5vZGUoY3VyLCAwKTsKKwkJICAgIGxpc3QgPSB0bXA7CisJCSAgICBwYXJlbnQgPSB0bXA7CisJCSAgICBsYXN0ID0gTlVMTDsKKwkJICAgIGN1ciA9IHhtbFhQdHJHZXROdGhDaGlsZChjdXIsIGluZGV4MSAtIDEpOworCQkgICAgaW5kZXgxID0gMDsKKwkJICAgIC8qCisJCSAgICAgKiBOb3cgZ2F0aGVyIHRoZSByZW1haW5pbmcgbm9kZXMgZnJvbSBjdXIgdG8gZW5kCisJCSAgICAgKi8KKwkJICAgIGNvbnRpbnVlOyAvKiB3aGlsZSAqLworCQl9CisJCXRtcCA9IHhtbENvcHlOb2RlKGN1ciwgMSk7CisJCWxpc3QgPSB0bXA7CisJCXBhcmVudCA9IE5VTEw7CisJCWxhc3QgPSB0bXA7CisJICAgIH0KKwl9IGVsc2UgeworCSAgICB0bXAgPSBOVUxMOworCSAgICBzd2l0Y2ggKGN1ci0+dHlwZSkgeworCQljYXNlIFhNTF9EVERfTk9ERToKKwkJY2FzZSBYTUxfRUxFTUVOVF9ERUNMOgorCQljYXNlIFhNTF9BVFRSSUJVVEVfREVDTDoKKwkJY2FzZSBYTUxfRU5USVRZX05PREU6CisJCSAgICAvKiBEbyBub3QgY29weSBEVEQgaW5mb3JtYXRpb25zICovCisJCSAgICBicmVhazsKKwkJY2FzZSBYTUxfRU5USVRZX0RFQ0w6CisJCSAgICBUT0RPIC8qIGhhbmRsZSBjcm9zc2luZyBlbnRpdGllcyAtPiBzdGFjayBuZWVkZWQgKi8KKwkJICAgIGJyZWFrOworCQljYXNlIFhNTF9YSU5DTFVERV9TVEFSVDoKKwkJY2FzZSBYTUxfWElOQ0xVREVfRU5EOgorCQkgICAgLyogZG9uJ3QgY29uc2lkZXIgaXQgcGFydCBvZiB0aGUgdHJlZSBjb250ZW50ICovCisJCSAgICBicmVhazsKKwkJY2FzZSBYTUxfQVRUUklCVVRFX05PREU6CisJCSAgICAvKiBIdW1tLCBzaG91bGQgbm90IGhhcHBlbiAhICovCisJCSAgICBTVFJBTkdFCisJCSAgICBicmVhazsKKwkJZGVmYXVsdDoKKwkJICAgIHRtcCA9IHhtbENvcHlOb2RlKGN1ciwgMSk7CisJCSAgICBicmVhazsKKwkgICAgfQorCSAgICBpZiAodG1wICE9IE5VTEwpIHsKKwkJaWYgKChsaXN0ID09IE5VTEwpIHx8ICgobGFzdCA9PSBOVUxMKSAmJiAocGFyZW50ID09IE5VTEwpKSkgIHsKKwkJICAgIFNUUkFOR0UKKwkJICAgIHJldHVybihOVUxMKTsKKwkJfQorCQlpZiAobGFzdCAhPSBOVUxMKQorCQkgICAgeG1sQWRkTmV4dFNpYmxpbmcobGFzdCwgdG1wKTsKKwkJZWxzZSB7CisJCSAgICB4bWxBZGRDaGlsZChwYXJlbnQsIHRtcCk7CisJCSAgICBsYXN0ID0gdG1wOworCQl9CisJICAgIH0KKwl9CisJLyoKKwkgKiBTa2lwIHRvIG5leHQgbm9kZSBpbiBkb2N1bWVudCBvcmRlcgorCSAqLworCWlmICgobGlzdCA9PSBOVUxMKSB8fCAoKGxhc3QgPT0gTlVMTCkgJiYgKHBhcmVudCA9PSBOVUxMKSkpICB7CisJICAgIFNUUkFOR0UKKwkgICAgcmV0dXJuKE5VTEwpOworCX0KKwljdXIgPSB4bWxYUHRyQWR2YW5jZU5vZGUoY3VyLCBOVUxMKTsKKyAgICB9CisgICAgcmV0dXJuKGxpc3QpOworfQorCisvKioKKyAqIHhtbFhQdHJCdWlsZE5vZGVMaXN0OgorICogQG9iajogIHRoZSBYUG9pbnRlciByZXN1bHQgZnJvbSB0aGUgZXZhbHVhdGlvbi4KKyAqCisgKiBCdWlsZCBhIG5vZGUgbGlzdCB0cmVlIGNvcHkgb2YgdGhlIFhQb2ludGVyIHJlc3VsdC4KKyAqIFRoaXMgd2lsbCBkcm9wIEF0dHJpYnV0ZXMgYW5kIE5hbWVzcGFjZSBkZWNsYXJhdGlvbnMuCisgKgorICogUmV0dXJucyBhbiB4bWxOb2RlUHRyIGxpc3Qgb3IgTlVMTC4KKyAqICAgICAgICAgdGhlIGNhbGxlciBoYXMgdG8gZnJlZSB0aGUgbm9kZSB0cmVlLgorICovCit4bWxOb2RlUHRyCit4bWxYUHRyQnVpbGROb2RlTGlzdCh4bWxYUGF0aE9iamVjdFB0ciBvYmopIHsKKyAgICB4bWxOb2RlUHRyIGxpc3QgPSBOVUxMLCBsYXN0ID0gTlVMTDsKKyAgICBpbnQgaTsKKworICAgIGlmIChvYmogPT0gTlVMTCkKKwlyZXR1cm4oTlVMTCk7CisgICAgc3dpdGNoIChvYmotPnR5cGUpIHsKKyAgICAgICAgY2FzZSBYUEFUSF9OT0RFU0VUOiB7CisJICAgIHhtbE5vZGVTZXRQdHIgc2V0ID0gb2JqLT5ub2Rlc2V0dmFsOworCSAgICBpZiAoc2V0ID09IE5VTEwpCisJCXJldHVybihOVUxMKTsKKwkgICAgZm9yIChpID0gMDtpIDwgc2V0LT5ub2RlTnI7aSsrKSB7CisJCWlmIChzZXQtPm5vZGVUYWJbaV0gPT0gTlVMTCkKKwkJICAgIGNvbnRpbnVlOworCQlzd2l0Y2ggKHNldC0+bm9kZVRhYltpXS0+dHlwZSkgeworCQkgICAgY2FzZSBYTUxfVEVYVF9OT0RFOgorCQkgICAgY2FzZSBYTUxfQ0RBVEFfU0VDVElPTl9OT0RFOgorCQkgICAgY2FzZSBYTUxfRUxFTUVOVF9OT0RFOgorCQkgICAgY2FzZSBYTUxfRU5USVRZX1JFRl9OT0RFOgorCQkgICAgY2FzZSBYTUxfRU5USVRZX05PREU6CisJCSAgICBjYXNlIFhNTF9QSV9OT0RFOgorCQkgICAgY2FzZSBYTUxfQ09NTUVOVF9OT0RFOgorCQkgICAgY2FzZSBYTUxfRE9DVU1FTlRfTk9ERToKKwkJICAgIGNhc2UgWE1MX0hUTUxfRE9DVU1FTlRfTk9ERToKKyNpZmRlZiBMSUJYTUxfRE9DQl9FTkFCTEVECisJCSAgICBjYXNlIFhNTF9ET0NCX0RPQ1VNRU5UX05PREU6CisjZW5kaWYKKwkJICAgIGNhc2UgWE1MX1hJTkNMVURFX1NUQVJUOgorCQkgICAgY2FzZSBYTUxfWElOQ0xVREVfRU5EOgorCQkJYnJlYWs7CisJCSAgICBjYXNlIFhNTF9BVFRSSUJVVEVfTk9ERToKKwkJICAgIGNhc2UgWE1MX05BTUVTUEFDRV9ERUNMOgorCQkgICAgY2FzZSBYTUxfRE9DVU1FTlRfVFlQRV9OT0RFOgorCQkgICAgY2FzZSBYTUxfRE9DVU1FTlRfRlJBR19OT0RFOgorCQkgICAgY2FzZSBYTUxfTk9UQVRJT05fTk9ERToKKwkJICAgIGNhc2UgWE1MX0RURF9OT0RFOgorCQkgICAgY2FzZSBYTUxfRUxFTUVOVF9ERUNMOgorCQkgICAgY2FzZSBYTUxfQVRUUklCVVRFX0RFQ0w6CisJCSAgICBjYXNlIFhNTF9FTlRJVFlfREVDTDoKKwkJCWNvbnRpbnVlOyAvKiBmb3IgKi8KKwkJfQorCQlpZiAobGFzdCA9PSBOVUxMKQorCQkgICAgbGlzdCA9IGxhc3QgPSB4bWxDb3B5Tm9kZShzZXQtPm5vZGVUYWJbaV0sIDEpOworCQllbHNlIHsKKwkJICAgIHhtbEFkZE5leHRTaWJsaW5nKGxhc3QsIHhtbENvcHlOb2RlKHNldC0+bm9kZVRhYltpXSwgMSkpOworCQkgICAgaWYgKGxhc3QtPm5leHQgIT0gTlVMTCkKKwkJCWxhc3QgPSBsYXN0LT5uZXh0OworCQl9CisJICAgIH0KKwkgICAgYnJlYWs7CisJfQorCWNhc2UgWFBBVEhfTE9DQVRJT05TRVQ6IHsKKwkgICAgeG1sTG9jYXRpb25TZXRQdHIgc2V0ID0gKHhtbExvY2F0aW9uU2V0UHRyKSBvYmotPnVzZXI7CisJICAgIGlmIChzZXQgPT0gTlVMTCkKKwkJcmV0dXJuKE5VTEwpOworCSAgICBmb3IgKGkgPSAwO2kgPCBzZXQtPmxvY05yO2krKykgeworCQlpZiAobGFzdCA9PSBOVUxMKQorCQkgICAgbGlzdCA9IGxhc3QgPSB4bWxYUHRyQnVpbGROb2RlTGlzdChzZXQtPmxvY1RhYltpXSk7CisJCWVsc2UKKwkJICAgIHhtbEFkZE5leHRTaWJsaW5nKGxhc3QsCisJCQkgICAgeG1sWFB0ckJ1aWxkTm9kZUxpc3Qoc2V0LT5sb2NUYWJbaV0pKTsKKwkJaWYgKGxhc3QgIT0gTlVMTCkgeworCQkgICAgd2hpbGUgKGxhc3QtPm5leHQgIT0gTlVMTCkKKwkJCWxhc3QgPSBsYXN0LT5uZXh0OworCQl9CisJICAgIH0KKwkgICAgYnJlYWs7CisJfQorCWNhc2UgWFBBVEhfUkFOR0U6CisJICAgIHJldHVybih4bWxYUHRyQnVpbGRSYW5nZU5vZGVMaXN0KG9iaikpOworCWNhc2UgWFBBVEhfUE9JTlQ6CisJICAgIHJldHVybih4bWxDb3B5Tm9kZShvYmotPnVzZXIsIDApKTsKKwlkZWZhdWx0OgorCSAgICBicmVhazsKKyAgICB9CisgICAgcmV0dXJuKGxpc3QpOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgkJCQkJCQkJCSoKKyAqCQkJWFBvaW50ZXIgZnVuY3Rpb25zCQkJCSoKKyAqCQkJCQkJCQkJKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoqCisgKiB4bWxYUHRyTmJMb2NDaGlsZHJlbjoKKyAqIEBub2RlOiAgYW4geG1sTm9kZVB0cgorICoKKyAqIENvdW50IHRoZSBudW1iZXIgb2YgbG9jYXRpb24gY2hpbGRyZW4gb2YgQG5vZGUgb3IgdGhlIGxlbmd0aCBvZiB0aGUKKyAqIHN0cmluZyB2YWx1ZSBpbiBjYXNlIG9mIHRleHQvUEkvQ29tbWVudHMgbm9kZXMKKyAqCisgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgbG9jYXRpb24gY2hpbGRyZW4KKyAqLworc3RhdGljIGludAoreG1sWFB0ck5iTG9jQ2hpbGRyZW4oeG1sTm9kZVB0ciBub2RlKSB7CisgICAgaW50IHJldCA9IDA7CisgICAgaWYgKG5vZGUgPT0gTlVMTCkKKwlyZXR1cm4oLTEpOworICAgIHN3aXRjaCAobm9kZS0+dHlwZSkgeworICAgICAgICBjYXNlIFhNTF9IVE1MX0RPQ1VNRU5UX05PREU6CisgICAgICAgIGNhc2UgWE1MX0RPQ1VNRU5UX05PREU6CisgICAgICAgIGNhc2UgWE1MX0VMRU1FTlRfTk9ERToKKwkgICAgbm9kZSA9IG5vZGUtPmNoaWxkcmVuOworCSAgICB3aGlsZSAobm9kZSAhPSBOVUxMKSB7CisJCWlmIChub2RlLT50eXBlID09IFhNTF9FTEVNRU5UX05PREUpCisJCSAgICByZXQrKzsKKwkJbm9kZSA9IG5vZGUtPm5leHQ7CisJICAgIH0KKwkgICAgYnJlYWs7CisgICAgICAgIGNhc2UgWE1MX0FUVFJJQlVURV9OT0RFOgorCSAgICByZXR1cm4oLTEpOworCisgICAgICAgIGNhc2UgWE1MX1BJX05PREU6CisgICAgICAgIGNhc2UgWE1MX0NPTU1FTlRfTk9ERToKKyAgICAgICAgY2FzZSBYTUxfVEVYVF9OT0RFOgorICAgICAgICBjYXNlIFhNTF9DREFUQV9TRUNUSU9OX05PREU6CisgICAgICAgIGNhc2UgWE1MX0VOVElUWV9SRUZfTk9ERToKKwkgICAgcmV0ID0geG1sU3RybGVuKG5vZGUtPmNvbnRlbnQpOworCSAgICBicmVhazsKKwlkZWZhdWx0OgorCSAgICByZXR1cm4oLTEpOworICAgIH0KKyAgICByZXR1cm4ocmV0KTsKK30KKworLyoqCisgKiB4bWxYUHRySGVyZUZ1bmN0aW9uOgorICogQGN0eHQ6ICB0aGUgWFBvaW50ZXIgUGFyc2VyIGNvbnRleHQKKyAqIEBuYXJnczogIHRoZSBudW1iZXIgb2YgYXJncworICoKKyAqIEZ1bmN0aW9uIGltcGxlbWVudGluZyBoZXJlKCkgb3BlcmF0aW9uCisgKiBhcyBkZXNjcmliZWQgaW4gNS40LjMKKyAqLworc3RhdGljIHZvaWQKK3htbFhQdHJIZXJlRnVuY3Rpb24oeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQsIGludCBuYXJncykgeworICAgIENIRUNLX0FSSVRZKDApOworCisgICAgaWYgKGN0eHQtPmNvbnRleHQtPmhlcmUgPT0gTlVMTCkKKwlYUF9FUlJPUihYUFRSX1NZTlRBWF9FUlJPUik7CisKKyAgICB2YWx1ZVB1c2goY3R4dCwgeG1sWFB0ck5ld0xvY2F0aW9uU2V0Tm9kZXMoY3R4dC0+Y29udGV4dC0+aGVyZSwgTlVMTCkpOworfQorCisvKioKKyAqIHhtbFhQdHJPcmlnaW5GdW5jdGlvbjoKKyAqIEBjdHh0OiAgdGhlIFhQb2ludGVyIFBhcnNlciBjb250ZXh0CisgKiBAbmFyZ3M6ICB0aGUgbnVtYmVyIG9mIGFyZ3MKKyAqCisgKiBGdW5jdGlvbiBpbXBsZW1lbnRpbmcgb3JpZ2luKCkgb3BlcmF0aW9uCisgKiBhcyBkZXNjcmliZWQgaW4gNS40LjMKKyAqLworc3RhdGljIHZvaWQKK3htbFhQdHJPcmlnaW5GdW5jdGlvbih4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCwgaW50IG5hcmdzKSB7CisgICAgQ0hFQ0tfQVJJVFkoMCk7CisKKyAgICBpZiAoY3R4dC0+Y29udGV4dC0+b3JpZ2luID09IE5VTEwpCisJWFBfRVJST1IoWFBUUl9TWU5UQVhfRVJST1IpOworCisgICAgdmFsdWVQdXNoKGN0eHQsIHhtbFhQdHJOZXdMb2NhdGlvblNldE5vZGVzKGN0eHQtPmNvbnRleHQtPm9yaWdpbiwgTlVMTCkpOworfQorCisvKioKKyAqIHhtbFhQdHJTdGFydFBvaW50RnVuY3Rpb246CisgKiBAY3R4dDogIHRoZSBYUG9pbnRlciBQYXJzZXIgY29udGV4dAorICogQG5hcmdzOiAgdGhlIG51bWJlciBvZiBhcmdzCisgKgorICogRnVuY3Rpb24gaW1wbGVtZW50aW5nIHN0YXJ0LXBvaW50KCkgb3BlcmF0aW9uCisgKiBhcyBkZXNjcmliZWQgaW4gNS40LjMKKyAqIC0tLS0tLS0tLS0tLS0tLS0KKyAqIGxvY2F0aW9uLXNldCBzdGFydC1wb2ludChsb2NhdGlvbi1zZXQpCisgKgorICogRm9yIGVhY2ggbG9jYXRpb24geCBpbiB0aGUgYXJndW1lbnQgbG9jYXRpb24tc2V0LCBzdGFydC1wb2ludCBhZGRzIGEKKyAqIGxvY2F0aW9uIG9mIHR5cGUgcG9pbnQgdG8gdGhlIHJlc3VsdCBsb2NhdGlvbi1zZXQuIFRoYXQgcG9pbnQgcmVwcmVzZW50cworICogdGhlIHN0YXJ0IHBvaW50IG9mIGxvY2F0aW9uIHggYW5kIGlzIGRldGVybWluZWQgYnkgdGhlIGZvbGxvd2luZyBydWxlczoKKyAqCisgKiAtIElmIHggaXMgb2YgdHlwZSBwb2ludCwgdGhlIHN0YXJ0IHBvaW50IGlzIHguCisgKiAtIElmIHggaXMgb2YgdHlwZSByYW5nZSwgdGhlIHN0YXJ0IHBvaW50IGlzIHRoZSBzdGFydCBwb2ludCBvZiB4LgorICogLSBJZiB4IGlzIG9mIHR5cGUgcm9vdCwgZWxlbWVudCwgdGV4dCwgY29tbWVudCwgb3IgcHJvY2Vzc2luZyBpbnN0cnVjdGlvbiwKKyAqIC0gdGhlIGNvbnRhaW5lciBub2RlIG9mIHRoZSBzdGFydCBwb2ludCBpcyB4IGFuZCB0aGUgaW5kZXggaXMgMC4KKyAqIC0gSWYgeCBpcyBvZiB0eXBlIGF0dHJpYnV0ZSBvciBuYW1lc3BhY2UsIHRoZSBmdW5jdGlvbiBtdXN0IHNpZ25hbCBhCisgKiAgIHN5bnRheCBlcnJvci4KKyAqIC0tLS0tLS0tLS0tLS0tLS0KKyAqCisgKi8KK3N0YXRpYyB2b2lkCit4bWxYUHRyU3RhcnRQb2ludEZ1bmN0aW9uKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0LCBpbnQgbmFyZ3MpIHsKKyAgICB4bWxYUGF0aE9iamVjdFB0ciB0bXAsIG9iaiwgcG9pbnQ7CisgICAgeG1sTG9jYXRpb25TZXRQdHIgbmV3c2V0ID0gTlVMTDsKKyAgICB4bWxMb2NhdGlvblNldFB0ciBvbGRzZXQgPSBOVUxMOworCisgICAgQ0hFQ0tfQVJJVFkoMSk7CisgICAgaWYgKChjdHh0LT52YWx1ZSA9PSBOVUxMKSB8fAorCSgoY3R4dC0+dmFsdWUtPnR5cGUgIT0gWFBBVEhfTE9DQVRJT05TRVQpICYmCisJIChjdHh0LT52YWx1ZS0+dHlwZSAhPSBYUEFUSF9OT0RFU0VUKSkpCisgICAgICAgIFhQX0VSUk9SKFhQQVRIX0lOVkFMSURfVFlQRSkKKworICAgIG9iaiA9IHZhbHVlUG9wKGN0eHQpOworICAgIGlmIChvYmotPnR5cGUgPT0gWFBBVEhfTk9ERVNFVCkgeworCS8qCisJICogRmlyc3QgY29udmVydCB0byBhIGxvY2F0aW9uIHNldAorCSAqLworCXRtcCA9IHhtbFhQdHJOZXdMb2NhdGlvblNldE5vZGVTZXQob2JqLT5ub2Rlc2V0dmFsKTsKKwl4bWxYUGF0aEZyZWVPYmplY3Qob2JqKTsKKwlpZiAodG1wID09IE5VTEwpCisgICAgICAgICAgICBYUF9FUlJPUihYUEFUSF9NRU1PUllfRVJST1IpCisJb2JqID0gdG1wOworICAgIH0KKworICAgIG5ld3NldCA9IHhtbFhQdHJMb2NhdGlvblNldENyZWF0ZShOVUxMKTsKKyAgICBpZiAobmV3c2V0ID09IE5VTEwpIHsKKwl4bWxYUGF0aEZyZWVPYmplY3Qob2JqKTsKKyAgICAgICAgWFBfRVJST1IoWFBBVEhfTUVNT1JZX0VSUk9SKTsKKyAgICB9CisgICAgb2xkc2V0ID0gKHhtbExvY2F0aW9uU2V0UHRyKSBvYmotPnVzZXI7CisgICAgaWYgKG9sZHNldCAhPSBOVUxMKSB7CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgb2xkc2V0LT5sb2NOcjsgaSsrKSB7CisJICAgIHRtcCA9IG9sZHNldC0+bG9jVGFiW2ldOworCSAgICBpZiAodG1wID09IE5VTEwpCisJCWNvbnRpbnVlOworCSAgICBwb2ludCA9IE5VTEw7CisJICAgIHN3aXRjaCAodG1wLT50eXBlKSB7CisJCWNhc2UgWFBBVEhfUE9JTlQ6CisJCSAgICBwb2ludCA9IHhtbFhQdHJOZXdQb2ludCh0bXAtPnVzZXIsIHRtcC0+aW5kZXgpOworCQkgICAgYnJlYWs7CisJCWNhc2UgWFBBVEhfUkFOR0U6IHsKKwkJICAgIHhtbE5vZGVQdHIgbm9kZSA9IHRtcC0+dXNlcjsKKwkJICAgIGlmIChub2RlICE9IE5VTEwpIHsKKwkJCWlmIChub2RlLT50eXBlID09IFhNTF9BVFRSSUJVVEVfTk9ERSkgeworCQkJICAgIC8qIFRPRE86IE5hbWVzcGFjZSBOb2RlcyA/Pz8gKi8KKwkJCSAgICB4bWxYUGF0aEZyZWVPYmplY3Qob2JqKTsKKwkJCSAgICB4bWxYUHRyRnJlZUxvY2F0aW9uU2V0KG5ld3NldCk7CisJCQkgICAgWFBfRVJST1IoWFBUUl9TWU5UQVhfRVJST1IpOworCQkJfQorCQkJcG9pbnQgPSB4bWxYUHRyTmV3UG9pbnQobm9kZSwgdG1wLT5pbmRleCk7CisJCSAgICB9CisJCSAgICBicmVhazsKKwkgICAgICAgIH0KKwkJZGVmYXVsdDoKKwkJICAgIC8qKiogU2hvdWxkIHdlIHJhaXNlIGFuIGVycm9yID8KKwkJICAgIHhtbFhQYXRoRnJlZU9iamVjdChvYmopOworCQkgICAgeG1sWFBhdGhGcmVlT2JqZWN0KG5ld3NldCk7CisJCSAgICBYUF9FUlJPUihYUEFUSF9JTlZBTElEX1RZUEUpCisJCSAgICAqKiovCisJCSAgICBicmVhazsKKwkgICAgfQorICAgICAgICAgICAgaWYgKHBvaW50ICE9IE5VTEwpCisJCXhtbFhQdHJMb2NhdGlvblNldEFkZChuZXdzZXQsIHBvaW50KTsKKwl9CisgICAgfQorICAgIHhtbFhQYXRoRnJlZU9iamVjdChvYmopOworICAgIHZhbHVlUHVzaChjdHh0LCB4bWxYUHRyV3JhcExvY2F0aW9uU2V0KG5ld3NldCkpOworfQorCisvKioKKyAqIHhtbFhQdHJFbmRQb2ludEZ1bmN0aW9uOgorICogQGN0eHQ6ICB0aGUgWFBvaW50ZXIgUGFyc2VyIGNvbnRleHQKKyAqIEBuYXJnczogIHRoZSBudW1iZXIgb2YgYXJncworICoKKyAqIEZ1bmN0aW9uIGltcGxlbWVudGluZyBlbmQtcG9pbnQoKSBvcGVyYXRpb24KKyAqIGFzIGRlc2NyaWJlZCBpbiA1LjQuMworICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogbG9jYXRpb24tc2V0IGVuZC1wb2ludChsb2NhdGlvbi1zZXQpCisgKgorICogRm9yIGVhY2ggbG9jYXRpb24geCBpbiB0aGUgYXJndW1lbnQgbG9jYXRpb24tc2V0LCBlbmQtcG9pbnQgYWRkcyBhCisgKiBsb2NhdGlvbiBvZiB0eXBlIHBvaW50IHRvIHRoZSByZXN1bHQgbG9jYXRpb24tc2V0LiBUaGF0IHBvaW50IHJlcHJlc2VudHMKKyAqIHRoZSBlbmQgcG9pbnQgb2YgbG9jYXRpb24geCBhbmQgaXMgZGV0ZXJtaW5lZCBieSB0aGUgZm9sbG93aW5nIHJ1bGVzOgorICoKKyAqIC0gSWYgeCBpcyBvZiB0eXBlIHBvaW50LCB0aGUgcmVzdWx0aW5nIHBvaW50IGlzIHguCisgKiAtIElmIHggaXMgb2YgdHlwZSByYW5nZSwgdGhlIHJlc3VsdGluZyBwb2ludCBpcyB0aGUgZW5kIHBvaW50IG9mIHguCisgKiAtIElmIHggaXMgb2YgdHlwZSByb290IG9yIGVsZW1lbnQsIHRoZSBjb250YWluZXIgbm9kZSBvZiB0aGUgcmVzdWx0aW5nCisgKiAgIHBvaW50IGlzIHggYW5kIHRoZSBpbmRleCBpcyB0aGUgbnVtYmVyIG9mIGxvY2F0aW9uIGNoaWxkcmVuIG9mIHguCisgKiAtIElmIHggaXMgb2YgdHlwZSB0ZXh0LCBjb21tZW50LCBvciBwcm9jZXNzaW5nIGluc3RydWN0aW9uLCB0aGUgY29udGFpbmVyCisgKiAgIG5vZGUgb2YgdGhlIHJlc3VsdGluZyBwb2ludCBpcyB4IGFuZCB0aGUgaW5kZXggaXMgdGhlIGxlbmd0aCBvZiB0aGUKKyAqICAgc3RyaW5nLXZhbHVlIG9mIHguCisgKiAtIElmIHggaXMgb2YgdHlwZSBhdHRyaWJ1dGUgb3IgbmFtZXNwYWNlLCB0aGUgZnVuY3Rpb24gbXVzdCBzaWduYWwgYQorICogICBzeW50YXggZXJyb3IuCisgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKi8KK3N0YXRpYyB2b2lkCit4bWxYUHRyRW5kUG9pbnRGdW5jdGlvbih4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCwgaW50IG5hcmdzKSB7CisgICAgeG1sWFBhdGhPYmplY3RQdHIgdG1wLCBvYmosIHBvaW50OworICAgIHhtbExvY2F0aW9uU2V0UHRyIG5ld3NldCA9IE5VTEw7CisgICAgeG1sTG9jYXRpb25TZXRQdHIgb2xkc2V0ID0gTlVMTDsKKworICAgIENIRUNLX0FSSVRZKDEpOworICAgIGlmICgoY3R4dC0+dmFsdWUgPT0gTlVMTCkgfHwKKwkoKGN0eHQtPnZhbHVlLT50eXBlICE9IFhQQVRIX0xPQ0FUSU9OU0VUKSAmJgorCSAoY3R4dC0+dmFsdWUtPnR5cGUgIT0gWFBBVEhfTk9ERVNFVCkpKQorICAgICAgICBYUF9FUlJPUihYUEFUSF9JTlZBTElEX1RZUEUpCisKKyAgICBvYmogPSB2YWx1ZVBvcChjdHh0KTsKKyAgICBpZiAob2JqLT50eXBlID09IFhQQVRIX05PREVTRVQpIHsKKwkvKgorCSAqIEZpcnN0IGNvbnZlcnQgdG8gYSBsb2NhdGlvbiBzZXQKKwkgKi8KKwl0bXAgPSB4bWxYUHRyTmV3TG9jYXRpb25TZXROb2RlU2V0KG9iai0+bm9kZXNldHZhbCk7CisJeG1sWFBhdGhGcmVlT2JqZWN0KG9iaik7CisJaWYgKHRtcCA9PSBOVUxMKQorICAgICAgICAgICAgWFBfRVJST1IoWFBBVEhfTUVNT1JZX0VSUk9SKQorCW9iaiA9IHRtcDsKKyAgICB9CisKKyAgICBuZXdzZXQgPSB4bWxYUHRyTG9jYXRpb25TZXRDcmVhdGUoTlVMTCk7CisgICAgaWYgKG5ld3NldCA9PSBOVUxMKSB7CisJeG1sWFBhdGhGcmVlT2JqZWN0KG9iaik7CisgICAgICAgIFhQX0VSUk9SKFhQQVRIX01FTU9SWV9FUlJPUik7CisgICAgfQorICAgIG9sZHNldCA9ICh4bWxMb2NhdGlvblNldFB0cikgb2JqLT51c2VyOworICAgIGlmIChvbGRzZXQgIT0gTlVMTCkgeworCWludCBpOworCisJZm9yIChpID0gMDsgaSA8IG9sZHNldC0+bG9jTnI7IGkrKykgeworCSAgICB0bXAgPSBvbGRzZXQtPmxvY1RhYltpXTsKKwkgICAgaWYgKHRtcCA9PSBOVUxMKQorCQljb250aW51ZTsKKwkgICAgcG9pbnQgPSBOVUxMOworCSAgICBzd2l0Y2ggKHRtcC0+dHlwZSkgeworCQljYXNlIFhQQVRIX1BPSU5UOgorCQkgICAgcG9pbnQgPSB4bWxYUHRyTmV3UG9pbnQodG1wLT51c2VyLCB0bXAtPmluZGV4KTsKKwkJICAgIGJyZWFrOworCQljYXNlIFhQQVRIX1JBTkdFOiB7CisJCSAgICB4bWxOb2RlUHRyIG5vZGUgPSB0bXAtPnVzZXIyOworCQkgICAgaWYgKG5vZGUgIT0gTlVMTCkgeworCQkJaWYgKG5vZGUtPnR5cGUgPT0gWE1MX0FUVFJJQlVURV9OT0RFKSB7CisJCQkgICAgLyogVE9ETzogTmFtZXNwYWNlIE5vZGVzID8/PyAqLworCQkJICAgIHhtbFhQYXRoRnJlZU9iamVjdChvYmopOworCQkJICAgIHhtbFhQdHJGcmVlTG9jYXRpb25TZXQobmV3c2V0KTsKKwkJCSAgICBYUF9FUlJPUihYUFRSX1NZTlRBWF9FUlJPUik7CisJCQl9CisJCQlwb2ludCA9IHhtbFhQdHJOZXdQb2ludChub2RlLCB0bXAtPmluZGV4Mik7CisJCSAgICB9IGVsc2UgaWYgKHRtcC0+dXNlciA9PSBOVUxMKSB7CisJCQlwb2ludCA9IHhtbFhQdHJOZXdQb2ludChub2RlLAorCQkJCSAgICAgICB4bWxYUHRyTmJMb2NDaGlsZHJlbihub2RlKSk7CisJCSAgICB9CisJCSAgICBicmVhazsKKwkgICAgICAgIH0KKwkJZGVmYXVsdDoKKwkJICAgIC8qKiogU2hvdWxkIHdlIHJhaXNlIGFuIGVycm9yID8KKwkJICAgIHhtbFhQYXRoRnJlZU9iamVjdChvYmopOworCQkgICAgeG1sWFBhdGhGcmVlT2JqZWN0KG5ld3NldCk7CisJCSAgICBYUF9FUlJPUihYUEFUSF9JTlZBTElEX1RZUEUpCisJCSAgICAqKiovCisJCSAgICBicmVhazsKKwkgICAgfQorICAgICAgICAgICAgaWYgKHBvaW50ICE9IE5VTEwpCisJCXhtbFhQdHJMb2NhdGlvblNldEFkZChuZXdzZXQsIHBvaW50KTsKKwl9CisgICAgfQorICAgIHhtbFhQYXRoRnJlZU9iamVjdChvYmopOworICAgIHZhbHVlUHVzaChjdHh0LCB4bWxYUHRyV3JhcExvY2F0aW9uU2V0KG5ld3NldCkpOworfQorCisKKy8qKgorICogeG1sWFB0ckNvdmVyaW5nUmFuZ2U6CisgKiBAY3R4dDogIHRoZSBYUG9pbnRlciBQYXJzZXIgY29udGV4dAorICogQGxvYzogIHRoZSBsb2NhdGlvbiBmb3Igd2hpY2ggdGhlIGNvdmVyaW5nIHJhbmdlIG11c3QgYmUgY29tcHV0ZWQKKyAqCisgKiBBIGNvdmVyaW5nIHJhbmdlIGlzIGEgcmFuZ2UgdGhhdCB3aG9sbHkgZW5jb21wYXNzZXMgYSBsb2NhdGlvbgorICogU2VjdGlvbiA1LjMuMy4gQ292ZXJpbmcgUmFuZ2VzIGZvciBBbGwgTG9jYXRpb24gVHlwZXMKKyAqICAgICAgICBodHRwOi8vd3d3LnczLm9yZy9UUi94cHRyI04yMjY3CisgKgorICogUmV0dXJucyBhIG5ldyBsb2NhdGlvbiBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworc3RhdGljIHhtbFhQYXRoT2JqZWN0UHRyCit4bWxYUHRyQ292ZXJpbmdSYW5nZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCwgeG1sWFBhdGhPYmplY3RQdHIgbG9jKSB7CisgICAgaWYgKGxvYyA9PSBOVUxMKQorCXJldHVybihOVUxMKTsKKyAgICBpZiAoKGN0eHQgPT0gTlVMTCkgfHwgKGN0eHQtPmNvbnRleHQgPT0gTlVMTCkgfHwKKwkoY3R4dC0+Y29udGV4dC0+ZG9jID09IE5VTEwpKQorCXJldHVybihOVUxMKTsKKyAgICBzd2l0Y2ggKGxvYy0+dHlwZSkgeworICAgICAgICBjYXNlIFhQQVRIX1BPSU5UOgorCSAgICByZXR1cm4oeG1sWFB0ck5ld1JhbmdlKGxvYy0+dXNlciwgbG9jLT5pbmRleCwKKwkJCSAgICAgICAgICAgbG9jLT51c2VyLCBsb2MtPmluZGV4KSk7CisgICAgICAgIGNhc2UgWFBBVEhfUkFOR0U6CisJICAgIGlmIChsb2MtPnVzZXIyICE9IE5VTEwpIHsKKwkJcmV0dXJuKHhtbFhQdHJOZXdSYW5nZShsb2MtPnVzZXIsIGxvYy0+aW5kZXgsCisJCQkgICAgICAgICAgICAgIGxvYy0+dXNlcjIsIGxvYy0+aW5kZXgyKSk7CisJICAgIH0gZWxzZSB7CisJCXhtbE5vZGVQdHIgbm9kZSA9ICh4bWxOb2RlUHRyKSBsb2MtPnVzZXI7CisJCWlmIChub2RlID09ICh4bWxOb2RlUHRyKSBjdHh0LT5jb250ZXh0LT5kb2MpIHsKKwkJICAgIHJldHVybih4bWxYUHRyTmV3UmFuZ2Uobm9kZSwgMCwgbm9kZSwKKwkJCQkJICAgeG1sWFB0ckdldEFyaXR5KG5vZGUpKSk7CisJCX0gZWxzZSB7CisJCSAgICBzd2l0Y2ggKG5vZGUtPnR5cGUpIHsKKwkJCWNhc2UgWE1MX0FUVFJJQlVURV9OT0RFOgorCQkJLyogISEhIG91ciBtb2RlbCBpcyBzbGlnaHRseSBkaWZmZXJlbnQgdGhhbiBYUGF0aCAqLworCQkJICAgIHJldHVybih4bWxYUHRyTmV3UmFuZ2Uobm9kZSwgMCwgbm9kZSwKKwkJCQkJICAgICAgICAgICB4bWxYUHRyR2V0QXJpdHkobm9kZSkpKTsKKwkJCWNhc2UgWE1MX0VMRU1FTlRfTk9ERToKKwkJCWNhc2UgWE1MX1RFWFRfTk9ERToKKwkJCWNhc2UgWE1MX0NEQVRBX1NFQ1RJT05fTk9ERToKKwkJCWNhc2UgWE1MX0VOVElUWV9SRUZfTk9ERToKKwkJCWNhc2UgWE1MX1BJX05PREU6CisJCQljYXNlIFhNTF9DT01NRU5UX05PREU6CisJCQljYXNlIFhNTF9ET0NVTUVOVF9OT0RFOgorCQkJY2FzZSBYTUxfTk9UQVRJT05fTk9ERToKKwkJCWNhc2UgWE1MX0hUTUxfRE9DVU1FTlRfTk9ERTogeworCQkJICAgIGludCBpbmR4ID0geG1sWFB0ckdldEluZGV4KG5vZGUpOworCisJCQkgICAgbm9kZSA9IG5vZGUtPnBhcmVudDsKKwkJCSAgICByZXR1cm4oeG1sWFB0ck5ld1JhbmdlKG5vZGUsIGluZHggLSAxLAorCQkJCQkgICAgICAgICAgIG5vZGUsIGluZHggKyAxKSk7CisJCQl9CisJCQlkZWZhdWx0OgorCQkJICAgIHJldHVybihOVUxMKTsKKwkJICAgIH0KKwkJfQorCSAgICB9CisJZGVmYXVsdDoKKwkgICAgVE9ETyAvKiBtaXNzZWQgb25lIGNhc2UgPz8/ICovCisgICAgfQorICAgIHJldHVybihOVUxMKTsKK30KKworLyoqCisgKiB4bWxYUHRyUmFuZ2VGdW5jdGlvbjoKKyAqIEBjdHh0OiAgdGhlIFhQb2ludGVyIFBhcnNlciBjb250ZXh0CisgKiBAbmFyZ3M6ICB0aGUgbnVtYmVyIG9mIGFyZ3MKKyAqCisgKiBGdW5jdGlvbiBpbXBsZW1lbnRpbmcgdGhlIHJhbmdlKCkgZnVuY3Rpb24gNS40LjMKKyAqICBsb2NhdGlvbi1zZXQgcmFuZ2UobG9jYXRpb24tc2V0ICkKKyAqCisgKiAgVGhlIHJhbmdlIGZ1bmN0aW9uIHJldHVybnMgcmFuZ2VzIGNvdmVyaW5nIHRoZSBsb2NhdGlvbnMgaW4KKyAqICB0aGUgYXJndW1lbnQgbG9jYXRpb24tc2V0LiBGb3IgZWFjaCBsb2NhdGlvbiB4IGluIHRoZSBhcmd1bWVudAorICogIGxvY2F0aW9uLXNldCwgYSByYW5nZSBsb2NhdGlvbiByZXByZXNlbnRpbmcgdGhlIGNvdmVyaW5nIHJhbmdlIG9mCisgKiAgeCBpcyBhZGRlZCB0byB0aGUgcmVzdWx0IGxvY2F0aW9uLXNldC4KKyAqLworc3RhdGljIHZvaWQKK3htbFhQdHJSYW5nZUZ1bmN0aW9uKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0LCBpbnQgbmFyZ3MpIHsKKyAgICBpbnQgaTsKKyAgICB4bWxYUGF0aE9iamVjdFB0ciBzZXQ7CisgICAgeG1sTG9jYXRpb25TZXRQdHIgb2xkc2V0OworICAgIHhtbExvY2F0aW9uU2V0UHRyIG5ld3NldDsKKworICAgIENIRUNLX0FSSVRZKDEpOworICAgIGlmICgoY3R4dC0+dmFsdWUgPT0gTlVMTCkgfHwKKwkoKGN0eHQtPnZhbHVlLT50eXBlICE9IFhQQVRIX0xPQ0FUSU9OU0VUKSAmJgorCSAoY3R4dC0+dmFsdWUtPnR5cGUgIT0gWFBBVEhfTk9ERVNFVCkpKQorICAgICAgICBYUF9FUlJPUihYUEFUSF9JTlZBTElEX1RZUEUpCisKKyAgICBzZXQgPSB2YWx1ZVBvcChjdHh0KTsKKyAgICBpZiAoc2V0LT50eXBlID09IFhQQVRIX05PREVTRVQpIHsKKwl4bWxYUGF0aE9iamVjdFB0ciB0bXA7CisKKwkvKgorCSAqIEZpcnN0IGNvbnZlcnQgdG8gYSBsb2NhdGlvbiBzZXQKKwkgKi8KKwl0bXAgPSB4bWxYUHRyTmV3TG9jYXRpb25TZXROb2RlU2V0KHNldC0+bm9kZXNldHZhbCk7CisJeG1sWFBhdGhGcmVlT2JqZWN0KHNldCk7CisJaWYgKHRtcCA9PSBOVUxMKQorICAgICAgICAgICAgWFBfRVJST1IoWFBBVEhfTUVNT1JZX0VSUk9SKQorCXNldCA9IHRtcDsKKyAgICB9CisgICAgb2xkc2V0ID0gKHhtbExvY2F0aW9uU2V0UHRyKSBzZXQtPnVzZXI7CisKKyAgICAvKgorICAgICAqIFRoZSBsb29wIGlzIHRvIGNvbXB1dGUgdGhlIGNvdmVyaW5nIHJhbmdlIGZvciBlYWNoIGl0ZW0gYW5kIGFkZCBpdAorICAgICAqLworICAgIG5ld3NldCA9IHhtbFhQdHJMb2NhdGlvblNldENyZWF0ZShOVUxMKTsKKyAgICBpZiAobmV3c2V0ID09IE5VTEwpIHsKKwl4bWxYUGF0aEZyZWVPYmplY3Qoc2V0KTsKKyAgICAgICAgWFBfRVJST1IoWFBBVEhfTUVNT1JZX0VSUk9SKTsKKyAgICB9CisgICAgZm9yIChpID0gMDtpIDwgb2xkc2V0LT5sb2NOcjtpKyspIHsKKwl4bWxYUHRyTG9jYXRpb25TZXRBZGQobmV3c2V0LAorCQl4bWxYUHRyQ292ZXJpbmdSYW5nZShjdHh0LCBvbGRzZXQtPmxvY1RhYltpXSkpOworICAgIH0KKworICAgIC8qCisgICAgICogU2F2ZSB0aGUgbmV3IHZhbHVlIGFuZCBjbGVhbnVwCisgICAgICovCisgICAgdmFsdWVQdXNoKGN0eHQsIHhtbFhQdHJXcmFwTG9jYXRpb25TZXQobmV3c2V0KSk7CisgICAgeG1sWFBhdGhGcmVlT2JqZWN0KHNldCk7Cit9CisKKy8qKgorICogeG1sWFB0ckluc2lkZVJhbmdlOgorICogQGN0eHQ6ICB0aGUgWFBvaW50ZXIgUGFyc2VyIGNvbnRleHQKKyAqIEBsb2M6ICB0aGUgbG9jYXRpb24gZm9yIHdoaWNoIHRoZSBpbnNpZGUgcmFuZ2UgbXVzdCBiZSBjb21wdXRlZAorICoKKyAqIEEgaW5zaWRlIHJhbmdlIGlzIGEgcmFuZ2UgZGVzY3JpYmVkIGluIHRoZSByYW5nZS1pbnNpZGUoKSBkZXNjcmlwdGlvbgorICoKKyAqIFJldHVybnMgYSBuZXcgbG9jYXRpb24gb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3N0YXRpYyB4bWxYUGF0aE9iamVjdFB0cgoreG1sWFB0ckluc2lkZVJhbmdlKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0LCB4bWxYUGF0aE9iamVjdFB0ciBsb2MpIHsKKyAgICBpZiAobG9jID09IE5VTEwpCisJcmV0dXJuKE5VTEwpOworICAgIGlmICgoY3R4dCA9PSBOVUxMKSB8fCAoY3R4dC0+Y29udGV4dCA9PSBOVUxMKSB8fAorCShjdHh0LT5jb250ZXh0LT5kb2MgPT0gTlVMTCkpCisJcmV0dXJuKE5VTEwpOworICAgIHN3aXRjaCAobG9jLT50eXBlKSB7CisgICAgICAgIGNhc2UgWFBBVEhfUE9JTlQ6IHsKKwkgICAgeG1sTm9kZVB0ciBub2RlID0gKHhtbE5vZGVQdHIpIGxvYy0+dXNlcjsKKwkgICAgc3dpdGNoIChub2RlLT50eXBlKSB7CisJCWNhc2UgWE1MX1BJX05PREU6CisJCWNhc2UgWE1MX0NPTU1FTlRfTk9ERToKKwkJY2FzZSBYTUxfVEVYVF9OT0RFOgorCQljYXNlIFhNTF9DREFUQV9TRUNUSU9OX05PREU6IHsKKwkJICAgIGlmIChub2RlLT5jb250ZW50ID09IE5VTEwpIHsKKwkJCXJldHVybih4bWxYUHRyTmV3UmFuZ2Uobm9kZSwgMCwgbm9kZSwgMCkpOworCQkgICAgfSBlbHNlIHsKKwkJCXJldHVybih4bWxYUHRyTmV3UmFuZ2Uobm9kZSwgMCwgbm9kZSwKKwkJCQkJICAgICAgIHhtbFN0cmxlbihub2RlLT5jb250ZW50KSkpOworCQkgICAgfQorCQl9CisJCWNhc2UgWE1MX0FUVFJJQlVURV9OT0RFOgorCQljYXNlIFhNTF9FTEVNRU5UX05PREU6CisJCWNhc2UgWE1MX0VOVElUWV9SRUZfTk9ERToKKwkJY2FzZSBYTUxfRE9DVU1FTlRfTk9ERToKKwkJY2FzZSBYTUxfTk9UQVRJT05fTk9ERToKKwkJY2FzZSBYTUxfSFRNTF9ET0NVTUVOVF9OT0RFOiB7CisJCSAgICByZXR1cm4oeG1sWFB0ck5ld1JhbmdlKG5vZGUsIDAsIG5vZGUsCisJCQkJCSAgIHhtbFhQdHJHZXRBcml0eShub2RlKSkpOworCQl9CisJCWRlZmF1bHQ6CisJCSAgICBicmVhazsKKwkgICAgfQorCSAgICByZXR1cm4oTlVMTCk7CisJfQorICAgICAgICBjYXNlIFhQQVRIX1JBTkdFOiB7CisJICAgIHhtbE5vZGVQdHIgbm9kZSA9ICh4bWxOb2RlUHRyKSBsb2MtPnVzZXI7CisJICAgIGlmIChsb2MtPnVzZXIyICE9IE5VTEwpIHsKKwkJcmV0dXJuKHhtbFhQdHJOZXdSYW5nZShub2RlLCBsb2MtPmluZGV4LAorCQkJICAgICAgICAgICAgICAgbG9jLT51c2VyMiwgbG9jLT5pbmRleDIpKTsKKwkgICAgfSBlbHNlIHsKKwkJc3dpdGNoIChub2RlLT50eXBlKSB7CisJCSAgICBjYXNlIFhNTF9QSV9OT0RFOgorCQkgICAgY2FzZSBYTUxfQ09NTUVOVF9OT0RFOgorCQkgICAgY2FzZSBYTUxfVEVYVF9OT0RFOgorCQkgICAgY2FzZSBYTUxfQ0RBVEFfU0VDVElPTl9OT0RFOiB7CisJCQlpZiAobm9kZS0+Y29udGVudCA9PSBOVUxMKSB7CisJCQkgICAgcmV0dXJuKHhtbFhQdHJOZXdSYW5nZShub2RlLCAwLCBub2RlLCAwKSk7CisJCQl9IGVsc2UgeworCQkJICAgIHJldHVybih4bWxYUHRyTmV3UmFuZ2Uobm9kZSwgMCwgbm9kZSwKKwkJCQkJCSAgIHhtbFN0cmxlbihub2RlLT5jb250ZW50KSkpOworCQkJfQorCQkgICAgfQorCQkgICAgY2FzZSBYTUxfQVRUUklCVVRFX05PREU6CisJCSAgICBjYXNlIFhNTF9FTEVNRU5UX05PREU6CisJCSAgICBjYXNlIFhNTF9FTlRJVFlfUkVGX05PREU6CisJCSAgICBjYXNlIFhNTF9ET0NVTUVOVF9OT0RFOgorCQkgICAgY2FzZSBYTUxfTk9UQVRJT05fTk9ERToKKwkJICAgIGNhc2UgWE1MX0hUTUxfRE9DVU1FTlRfTk9ERTogeworCQkJcmV0dXJuKHhtbFhQdHJOZXdSYW5nZShub2RlLCAwLCBub2RlLAorCQkJCQkgICAgICAgeG1sWFB0ckdldEFyaXR5KG5vZGUpKSk7CisJCSAgICB9CisJCSAgICBkZWZhdWx0OgorCQkJYnJlYWs7CisJCX0KKwkJcmV0dXJuKE5VTEwpOworCSAgICB9CisgICAgICAgIH0KKwlkZWZhdWx0OgorCSAgICBUT0RPIC8qIG1pc3NlZCBvbmUgY2FzZSA/Pz8gKi8KKyAgICB9CisgICAgcmV0dXJuKE5VTEwpOworfQorCisvKioKKyAqIHhtbFhQdHJSYW5nZUluc2lkZUZ1bmN0aW9uOgorICogQGN0eHQ6ICB0aGUgWFBvaW50ZXIgUGFyc2VyIGNvbnRleHQKKyAqIEBuYXJnczogIHRoZSBudW1iZXIgb2YgYXJncworICoKKyAqIEZ1bmN0aW9uIGltcGxlbWVudGluZyB0aGUgcmFuZ2UtaW5zaWRlKCkgZnVuY3Rpb24gNS40LjMKKyAqICBsb2NhdGlvbi1zZXQgcmFuZ2UtaW5zaWRlKGxvY2F0aW9uLXNldCApCisgKgorICogIFRoZSByYW5nZS1pbnNpZGUgZnVuY3Rpb24gcmV0dXJucyByYW5nZXMgY292ZXJpbmcgdGhlIGNvbnRlbnRzIG9mCisgKiAgdGhlIGxvY2F0aW9ucyBpbiB0aGUgYXJndW1lbnQgbG9jYXRpb24tc2V0LiBGb3IgZWFjaCBsb2NhdGlvbiB4IGluCisgKiAgdGhlIGFyZ3VtZW50IGxvY2F0aW9uLXNldCwgYSByYW5nZSBsb2NhdGlvbiBpcyBhZGRlZCB0byB0aGUgcmVzdWx0CisgKiAgbG9jYXRpb24tc2V0LiBJZiB4IGlzIGEgcmFuZ2UgbG9jYXRpb24sIHRoZW4geCBpcyBhZGRlZCB0byB0aGUKKyAqICByZXN1bHQgbG9jYXRpb24tc2V0LiBJZiB4IGlzIG5vdCBhIHJhbmdlIGxvY2F0aW9uLCB0aGVuIHggaXMgdXNlZAorICogIGFzIHRoZSBjb250YWluZXIgbG9jYXRpb24gb2YgdGhlIHN0YXJ0IGFuZCBlbmQgcG9pbnRzIG9mIHRoZSByYW5nZQorICogIGxvY2F0aW9uIHRvIGJlIGFkZGVkOyB0aGUgaW5kZXggb2YgdGhlIHN0YXJ0IHBvaW50IG9mIHRoZSByYW5nZSBpcworICogIHplcm87IGlmIHRoZSBlbmQgcG9pbnQgaXMgYSBjaGFyYWN0ZXIgcG9pbnQgdGhlbiBpdHMgaW5kZXggaXMgdGhlCisgKiAgbGVuZ3RoIG9mIHRoZSBzdHJpbmctdmFsdWUgb2YgeCwgYW5kIG90aGVyd2lzZSBpcyB0aGUgbnVtYmVyIG9mCisgKiAgbG9jYXRpb24gY2hpbGRyZW4gb2YgeC4KKyAqCisgKi8KK3N0YXRpYyB2b2lkCit4bWxYUHRyUmFuZ2VJbnNpZGVGdW5jdGlvbih4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCwgaW50IG5hcmdzKSB7CisgICAgaW50IGk7CisgICAgeG1sWFBhdGhPYmplY3RQdHIgc2V0OworICAgIHhtbExvY2F0aW9uU2V0UHRyIG9sZHNldDsKKyAgICB4bWxMb2NhdGlvblNldFB0ciBuZXdzZXQ7CisKKyAgICBDSEVDS19BUklUWSgxKTsKKyAgICBpZiAoKGN0eHQtPnZhbHVlID09IE5VTEwpIHx8CisJKChjdHh0LT52YWx1ZS0+dHlwZSAhPSBYUEFUSF9MT0NBVElPTlNFVCkgJiYKKwkgKGN0eHQtPnZhbHVlLT50eXBlICE9IFhQQVRIX05PREVTRVQpKSkKKyAgICAgICAgWFBfRVJST1IoWFBBVEhfSU5WQUxJRF9UWVBFKQorCisgICAgc2V0ID0gdmFsdWVQb3AoY3R4dCk7CisgICAgaWYgKHNldC0+dHlwZSA9PSBYUEFUSF9OT0RFU0VUKSB7CisJeG1sWFBhdGhPYmplY3RQdHIgdG1wOworCisJLyoKKwkgKiBGaXJzdCBjb252ZXJ0IHRvIGEgbG9jYXRpb24gc2V0CisJICovCisJdG1wID0geG1sWFB0ck5ld0xvY2F0aW9uU2V0Tm9kZVNldChzZXQtPm5vZGVzZXR2YWwpOworCXhtbFhQYXRoRnJlZU9iamVjdChzZXQpOworCWlmICh0bXAgPT0gTlVMTCkKKwkgICAgIFhQX0VSUk9SKFhQQVRIX01FTU9SWV9FUlJPUikKKwlzZXQgPSB0bXA7CisgICAgfQorICAgIG9sZHNldCA9ICh4bWxMb2NhdGlvblNldFB0cikgc2V0LT51c2VyOworCisgICAgLyoKKyAgICAgKiBUaGUgbG9vcCBpcyB0byBjb21wdXRlIHRoZSBjb3ZlcmluZyByYW5nZSBmb3IgZWFjaCBpdGVtIGFuZCBhZGQgaXQKKyAgICAgKi8KKyAgICBuZXdzZXQgPSB4bWxYUHRyTG9jYXRpb25TZXRDcmVhdGUoTlVMTCk7CisgICAgaWYgKG5ld3NldCA9PSBOVUxMKSB7CisJeG1sWFBhdGhGcmVlT2JqZWN0KHNldCk7CisgICAgICAgIFhQX0VSUk9SKFhQQVRIX01FTU9SWV9FUlJPUik7CisgICAgfQorICAgIGZvciAoaSA9IDA7aSA8IG9sZHNldC0+bG9jTnI7aSsrKSB7CisJeG1sWFB0ckxvY2F0aW9uU2V0QWRkKG5ld3NldCwKKwkJeG1sWFB0ckluc2lkZVJhbmdlKGN0eHQsIG9sZHNldC0+bG9jVGFiW2ldKSk7CisgICAgfQorCisgICAgLyoKKyAgICAgKiBTYXZlIHRoZSBuZXcgdmFsdWUgYW5kIGNsZWFudXAKKyAgICAgKi8KKyAgICB2YWx1ZVB1c2goY3R4dCwgeG1sWFB0cldyYXBMb2NhdGlvblNldChuZXdzZXQpKTsKKyAgICB4bWxYUGF0aEZyZWVPYmplY3Qoc2V0KTsKK30KKworLyoqCisgKiB4bWxYUHRyUmFuZ2VUb0Z1bmN0aW9uOgorICogQGN0eHQ6ICB0aGUgWFBvaW50ZXIgUGFyc2VyIGNvbnRleHQKKyAqIEBuYXJnczogIHRoZSBudW1iZXIgb2YgYXJncworICoKKyAqIEltcGxlbWVudCB0aGUgcmFuZ2UtdG8oKSBYUG9pbnRlciBmdW5jdGlvbgorICovCit2b2lkCit4bWxYUHRyUmFuZ2VUb0Z1bmN0aW9uKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0LCBpbnQgbmFyZ3MpIHsKKyAgICB4bWxYUGF0aE9iamVjdFB0ciByYW5nZTsKKyAgICBjb25zdCB4bWxDaGFyICpjdXI7CisgICAgeG1sWFBhdGhPYmplY3RQdHIgcmVzLCBvYmo7CisgICAgeG1sWFBhdGhPYmplY3RQdHIgdG1wOworICAgIHhtbExvY2F0aW9uU2V0UHRyIG5ld3NldCA9IE5VTEw7CisgICAgeG1sTm9kZVNldFB0ciBvbGRzZXQ7CisgICAgaW50IGk7CisKKyAgICBpZiAoY3R4dCA9PSBOVUxMKSByZXR1cm47CisgICAgQ0hFQ0tfQVJJVFkoMSk7CisgICAgLyoKKyAgICAgKiBTYXZlIHRoZSBleHByZXNzaW9uIHBvaW50ZXIgc2luY2Ugd2Ugd2lsbCBoYXZlIHRvIGV2YWx1YXRlCisgICAgICogaXQgbXVsdGlwbGUgdGltZXMuIEluaXRpYWxpemUgdGhlIG5ldyBzZXQuCisgICAgICovCisgICAgQ0hFQ0tfVFlQRShYUEFUSF9OT0RFU0VUKTsKKyAgICBvYmogPSB2YWx1ZVBvcChjdHh0KTsKKyAgICBvbGRzZXQgPSBvYmotPm5vZGVzZXR2YWw7CisgICAgY3R4dC0+Y29udGV4dC0+bm9kZSA9IE5VTEw7CisKKyAgICBjdXIgPSBjdHh0LT5jdXI7CisgICAgbmV3c2V0ID0geG1sWFB0ckxvY2F0aW9uU2V0Q3JlYXRlKE5VTEwpOworCisgICAgZm9yIChpID0gMDsgaSA8IG9sZHNldC0+bm9kZU5yOyBpKyspIHsKKwljdHh0LT5jdXIgPSBjdXI7CisKKwkvKgorCSAqIFJ1biB0aGUgZXZhbHVhdGlvbiB3aXRoIGEgbm9kZSBsaXN0IG1hZGUgb2YgYSBzaW5nbGUgaXRlbQorCSAqIGluIHRoZSBub2Rlc2V0LgorCSAqLworCWN0eHQtPmNvbnRleHQtPm5vZGUgPSBvbGRzZXQtPm5vZGVUYWJbaV07CisJdG1wID0geG1sWFBhdGhOZXdOb2RlU2V0KGN0eHQtPmNvbnRleHQtPm5vZGUpOworCXZhbHVlUHVzaChjdHh0LCB0bXApOworCisJeG1sWFBhdGhFdmFsRXhwcihjdHh0KTsKKwlDSEVDS19FUlJPUjsKKworCS8qCisJICogVGhlIHJlc3VsdCBvZiB0aGUgZXZhbHVhdGlvbiBuZWVkIHRvIGJlIHRlc3RlZCB0bworCSAqIGRlY2lkZWQgd2hldGhlciB0aGUgZmlsdGVyIHN1Y2NlZWRlZCBvciBub3QKKwkgKi8KKwlyZXMgPSB2YWx1ZVBvcChjdHh0KTsKKwlyYW5nZSA9IHhtbFhQdHJOZXdSYW5nZU5vZGVPYmplY3Qob2xkc2V0LT5ub2RlVGFiW2ldLCByZXMpOworCWlmIChyYW5nZSAhPSBOVUxMKSB7CisJICAgIHhtbFhQdHJMb2NhdGlvblNldEFkZChuZXdzZXQsIHJhbmdlKTsKKwl9CisKKwkvKgorCSAqIENsZWFudXAKKwkgKi8KKwlpZiAocmVzICE9IE5VTEwpCisJICAgIHhtbFhQYXRoRnJlZU9iamVjdChyZXMpOworCWlmIChjdHh0LT52YWx1ZSA9PSB0bXApIHsKKwkgICAgcmVzID0gdmFsdWVQb3AoY3R4dCk7CisJICAgIHhtbFhQYXRoRnJlZU9iamVjdChyZXMpOworCX0KKworCWN0eHQtPmNvbnRleHQtPm5vZGUgPSBOVUxMOworICAgIH0KKworICAgIC8qCisgICAgICogVGhlIHJlc3VsdCBpcyB1c2VkIGFzIHRoZSBuZXcgZXZhbHVhdGlvbiBzZXQuCisgICAgICovCisgICAgeG1sWFBhdGhGcmVlT2JqZWN0KG9iaik7CisgICAgY3R4dC0+Y29udGV4dC0+bm9kZSA9IE5VTEw7CisgICAgY3R4dC0+Y29udGV4dC0+Y29udGV4dFNpemUgPSAtMTsKKyAgICBjdHh0LT5jb250ZXh0LT5wcm94aW1pdHlQb3NpdGlvbiA9IC0xOworICAgIHZhbHVlUHVzaChjdHh0LCB4bWxYUHRyV3JhcExvY2F0aW9uU2V0KG5ld3NldCkpOworfQorCisvKioKKyAqIHhtbFhQdHJBZHZhbmNlTm9kZToKKyAqIEBjdXI6ICB0aGUgbm9kZQorICogQGxldmVsOiBpbmNyZW1lbnRlZC9kZWNyZW1lbnRlZCB0byBzaG93IGxldmVsIGluIHRyZWUKKyAqCisgKiBBZHZhbmNlIHRvIHRoZSBuZXh0IGVsZW1lbnQgb3IgdGV4dCBub2RlIGluIGRvY3VtZW50IG9yZGVyCisgKiBUT0RPOiBhZGQgYSBzdGFjayBmb3IgZW50ZXJpbmcvZXhpdGluZyBlbnRpdGllcworICoKKyAqIFJldHVybnMgLTEgaW4gY2FzZSBvZiBmYWlsdXJlLCAwIG90aGVyd2lzZQorICovCit4bWxOb2RlUHRyCit4bWxYUHRyQWR2YW5jZU5vZGUoeG1sTm9kZVB0ciBjdXIsIGludCAqbGV2ZWwpIHsKK25leHQ6CisgICAgaWYgKChjdXIgPT0gTlVMTCkgfHwgKGN1ci0+dHlwZSA9PSBYTUxfTkFNRVNQQUNFX0RFQ0wpKQorCXJldHVybihOVUxMKTsKKyAgICBpZiAoY3VyLT5jaGlsZHJlbiAhPSBOVUxMKSB7CisgICAgICAgIGN1ciA9IGN1ci0+Y2hpbGRyZW4gOworCWlmIChsZXZlbCAhPSBOVUxMKQorCSAgICAoKmxldmVsKSsrOworCWdvdG8gZm91bmQ7CisgICAgfQorc2tpcDoJCS8qIFRoaXMgbGFiZWwgc2hvdWxkIG9ubHkgYmUgbmVlZGVkIGlmIHNvbWV0aGluZyBpcyB3cm9uZyEgKi8KKyAgICBpZiAoY3VyLT5uZXh0ICE9IE5VTEwpIHsKKwljdXIgPSBjdXItPm5leHQ7CisJZ290byBmb3VuZDsKKyAgICB9CisgICAgZG8geworICAgICAgICBjdXIgPSBjdXItPnBhcmVudDsKKwlpZiAobGV2ZWwgIT0gTlVMTCkKKwkgICAgKCpsZXZlbCktLTsKKyAgICAgICAgaWYgKGN1ciA9PSBOVUxMKSByZXR1cm4oTlVMTCk7CisgICAgICAgIGlmIChjdXItPm5leHQgIT0gTlVMTCkgeworCSAgICBjdXIgPSBjdXItPm5leHQ7CisJICAgIGdvdG8gZm91bmQ7CisJfQorICAgIH0gd2hpbGUgKGN1ciAhPSBOVUxMKTsKKworZm91bmQ6CisgICAgaWYgKChjdXItPnR5cGUgIT0gWE1MX0VMRU1FTlRfTk9ERSkgJiYKKwkoY3VyLT50eXBlICE9IFhNTF9URVhUX05PREUpICYmCisJKGN1ci0+dHlwZSAhPSBYTUxfRE9DVU1FTlRfTk9ERSkgJiYKKwkoY3VyLT50eXBlICE9IFhNTF9IVE1MX0RPQ1VNRU5UX05PREUpICYmCisJKGN1ci0+dHlwZSAhPSBYTUxfQ0RBVEFfU0VDVElPTl9OT0RFKSkgeworCSAgICBpZiAoY3VyLT50eXBlID09IFhNTF9FTlRJVFlfUkVGX05PREUpIHsJLyogU2hvdWxkbid0IGhhcHBlbiAqLworCQlUT0RPCisJCWdvdG8gc2tpcDsKKwkgICAgfQorCSAgICBnb3RvIG5leHQ7CisJfQorICAgIHJldHVybihjdXIpOworfQorCisvKioKKyAqIHhtbFhQdHJBZHZhbmNlQ2hhcjoKKyAqIEBub2RlOiAgdGhlIG5vZGUKKyAqIEBpbmR4OiAgdGhlIGluZHgKKyAqIEBieXRlczogIHRoZSBudW1iZXIgb2YgYnl0ZXMKKyAqCisgKiBBZHZhbmNlIGEgcG9pbnQgb2YgdGhlIGFzc29jaWF0ZWQgbnVtYmVyIG9mIGJ5dGVzIChub3QgVVRGOCBjaGFycykKKyAqCisgKiBSZXR1cm5zIC0xIGluIGNhc2Ugb2YgZmFpbHVyZSwgMCBvdGhlcndpc2UKKyAqLworc3RhdGljIGludAoreG1sWFB0ckFkdmFuY2VDaGFyKHhtbE5vZGVQdHIgKm5vZGUsIGludCAqaW5keCwgaW50IGJ5dGVzKSB7CisgICAgeG1sTm9kZVB0ciBjdXI7CisgICAgaW50IHBvczsKKyAgICBpbnQgbGVuOworCisgICAgaWYgKChub2RlID09IE5VTEwpIHx8IChpbmR4ID09IE5VTEwpKQorCXJldHVybigtMSk7CisgICAgY3VyID0gKm5vZGU7CisgICAgaWYgKChjdXIgPT0gTlVMTCkgfHwgKGN1ci0+dHlwZSA9PSBYTUxfTkFNRVNQQUNFX0RFQ0wpKQorCXJldHVybigtMSk7CisgICAgcG9zID0gKmluZHg7CisKKyAgICB3aGlsZSAoYnl0ZXMgPj0gMCkgeworCS8qCisJICogRmlyc3QgcG9zaXRpb24gdG8gdGhlIGJlZ2lubmluZyBvZiB0aGUgZmlyc3QgdGV4dCBub2RlCisJICogY29ycmVzcG9uZGluZyB0byB0aGlzIHBvaW50CisJICovCisJd2hpbGUgKChjdXIgIT0gTlVMTCkgJiYKKwkgICAgICAgKChjdXItPnR5cGUgPT0gWE1MX0VMRU1FTlRfTk9ERSkgfHwKKwkgICAgICAgIChjdXItPnR5cGUgPT0gWE1MX0RPQ1VNRU5UX05PREUpIHx8CisJICAgICAgICAoY3VyLT50eXBlID09IFhNTF9IVE1MX0RPQ1VNRU5UX05PREUpKSkgeworCSAgICBpZiAocG9zID4gMCkgeworCQljdXIgPSB4bWxYUHRyR2V0TnRoQ2hpbGQoY3VyLCBwb3MpOworCQlwb3MgPSAwOworCSAgICB9IGVsc2UgeworCQljdXIgPSB4bWxYUHRyQWR2YW5jZU5vZGUoY3VyLCBOVUxMKTsKKwkJcG9zID0gMDsKKwkgICAgfQorCX0KKworCWlmIChjdXIgPT0gTlVMTCkgeworCSAgICAqbm9kZSA9IE5VTEw7CisJICAgICppbmR4ID0gMDsKKwkgICAgcmV0dXJuKC0xKTsKKwl9CisKKwkvKgorCSAqIGlmIHRoZXJlIGlzIG5vIG1vdmUgbmVlZGVkIHJldHVybiB0aGUgY3VycmVudCB2YWx1ZS4KKwkgKi8KKwlpZiAocG9zID09IDApIHBvcyA9IDE7CisJaWYgKGJ5dGVzID09IDApIHsKKwkgICAgKm5vZGUgPSBjdXI7CisJICAgICppbmR4ID0gcG9zOworCSAgICByZXR1cm4oMCk7CisJfQorCS8qCisJICogV2Ugc2hvdWxkIGhhdmUgYSB0ZXh0IChvciBjZGF0YSkgbm9kZSAuLi4KKwkgKi8KKwlsZW4gPSAwOworCWlmICgoY3VyLT50eXBlICE9IFhNTF9FTEVNRU5UX05PREUpICYmCisgICAgICAgICAgICAoY3VyLT5jb250ZW50ICE9IE5VTEwpKSB7CisJICAgIGxlbiA9IHhtbFN0cmxlbihjdXItPmNvbnRlbnQpOworCX0KKwlpZiAocG9zID4gbGVuKSB7CisJICAgIC8qIFN0cmFuZ2UsIHRoZSBpbmR4IGluIHRoZSB0ZXh0IG5vZGUgaXMgZ3JlYXRlciB0aGFuIGl0J3MgbGVuICovCisJICAgIFNUUkFOR0UKKwkgICAgcG9zID0gbGVuOworCX0KKwlpZiAocG9zICsgYnl0ZXMgPj0gbGVuKSB7CisJICAgIGJ5dGVzIC09IChsZW4gLSBwb3MpOworCSAgICBjdXIgPSB4bWxYUHRyQWR2YW5jZU5vZGUoY3VyLCBOVUxMKTsKKwkgICAgcG9zID0gMDsKKwl9IGVsc2UgaWYgKHBvcyArIGJ5dGVzIDwgbGVuKSB7CisJICAgIHBvcyArPSBieXRlczsKKwkgICAgKm5vZGUgPSBjdXI7CisJICAgICppbmR4ID0gcG9zOworCSAgICByZXR1cm4oMCk7CisJfQorICAgIH0KKyAgICByZXR1cm4oLTEpOworfQorCisvKioKKyAqIHhtbFhQdHJNYXRjaFN0cmluZzoKKyAqIEBzdHJpbmc6ICB0aGUgc3RyaW5nIHRvIHNlYXJjaAorICogQHN0YXJ0OiAgdGhlIHN0YXJ0IHRleHRub2RlCisgKiBAc3RhcnRpbmRleDogIHRoZSBzdGFydCBpbmRleAorICogQGVuZDogIHRoZSBlbmQgdGV4dG5vZGUgSU4vT1VUCisgKiBAZW5kaW5kZXg6ICB0aGUgZW5kIGluZGV4IElOL09VVAorICoKKyAqIENoZWNrIHdoZXRoZXIgdGhlIGRvY3VtZW50IGNvbnRhaW5zIEBzdHJpbmcgYXQgdGhlIHBvc2l0aW9uCisgKiAoQHN0YXJ0LCBAc3RhcnRpbmRleCkgYW5kIGxpbWl0ZWQgYnkgdGhlIChAZW5kLCBAZW5kaW5kZXgpIHBvaW50CisgKgorICogUmV0dXJucyAtMSBpbiBjYXNlIG9mIGZhaWx1cmUsIDAgaWYgbm90IGZvdW5kLCAxIGlmIGZvdW5kIGluIHdoaWNoIGNhc2UKKyAqICAgICAgICAgICAgKEBzdGFydCwgQHN0YXJ0aW5kZXgpIHdpbGwgaW5kaWNhdGUgdGhlIHBvc2l0aW9uIG9mIHRoZSBiZWdpbm5pbmcKKyAqICAgICAgICAgICAgb2YgdGhlIHJhbmdlIGFuZCAoQGVuZCwgQGVuZGluZGV4KSB3aWxsIGluZGljYXRlIHRoZSBlbmQKKyAqICAgICAgICAgICAgb2YgdGhlIHJhbmdlCisgKi8KK3N0YXRpYyBpbnQKK3htbFhQdHJNYXRjaFN0cmluZyhjb25zdCB4bWxDaGFyICpzdHJpbmcsIHhtbE5vZGVQdHIgc3RhcnQsIGludCBzdGFydGluZGV4LAorCSAgICAgICAgICAgIHhtbE5vZGVQdHIgKmVuZCwgaW50ICplbmRpbmRleCkgeworICAgIHhtbE5vZGVQdHIgY3VyOworICAgIGludCBwb3M7IC8qIDAgYmFzZWQgKi8KKyAgICBpbnQgbGVuOyAvKiBpbiBieXRlcyAqLworICAgIGludCBzdHJpbmdsZW47IC8qIGluIGJ5dGVzICovCisgICAgaW50IG1hdGNoOworCisgICAgaWYgKHN0cmluZyA9PSBOVUxMKQorCXJldHVybigtMSk7CisgICAgaWYgKChzdGFydCA9PSBOVUxMKSB8fCAoc3RhcnQtPnR5cGUgPT0gWE1MX05BTUVTUEFDRV9ERUNMKSkKKwlyZXR1cm4oLTEpOworICAgIGlmICgoZW5kID09IE5VTEwpIHx8ICgqZW5kID09IE5VTEwpIHx8CisgICAgICAgICgoKmVuZCktPnR5cGUgPT0gWE1MX05BTUVTUEFDRV9ERUNMKSB8fCAoZW5kaW5kZXggPT0gTlVMTCkpCisJcmV0dXJuKC0xKTsKKyAgICBjdXIgPSBzdGFydDsKKyAgICBwb3MgPSBzdGFydGluZGV4IC0gMTsKKyAgICBzdHJpbmdsZW4gPSB4bWxTdHJsZW4oc3RyaW5nKTsKKworICAgIHdoaWxlIChzdHJpbmdsZW4gPiAwKSB7CisJaWYgKChjdXIgPT0gKmVuZCkgJiYgKHBvcyArIHN0cmluZ2xlbiA+ICplbmRpbmRleCkpCisJICAgIHJldHVybigwKTsKKworCWlmICgoY3VyLT50eXBlICE9IFhNTF9FTEVNRU5UX05PREUpICYmIChjdXItPmNvbnRlbnQgIT0gTlVMTCkpIHsKKwkgICAgbGVuID0geG1sU3RybGVuKGN1ci0+Y29udGVudCk7CisJICAgIGlmIChsZW4gPj0gcG9zICsgc3RyaW5nbGVuKSB7CisJCW1hdGNoID0gKCF4bWxTdHJuY21wKCZjdXItPmNvbnRlbnRbcG9zXSwgc3RyaW5nLCBzdHJpbmdsZW4pKTsKKwkJaWYgKG1hdGNoKSB7CisjaWZkZWYgREVCVUdfUkFOR0VTCisJCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJCSAgICAiZm91bmQgcmFuZ2UgJWQgYnl0ZXMgYXQgaW5kZXggJWQgb2YgLT4iLAorCQkJICAgIHN0cmluZ2xlbiwgcG9zICsgMSk7CisJCSAgICB4bWxEZWJ1Z0R1bXBTdHJpbmcoc3Rkb3V0LCBjdXItPmNvbnRlbnQpOworCQkgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICJcbiIpOworI2VuZGlmCisJCSAgICAqZW5kID0gY3VyOworCQkgICAgKmVuZGluZGV4ID0gcG9zICsgc3RyaW5nbGVuOworCQkgICAgcmV0dXJuKDEpOworCQl9IGVsc2UgeworCQkgICAgcmV0dXJuKDApOworCQl9CisJICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgaW50IHN1YiA9IGxlbiAtIHBvczsKKwkJbWF0Y2ggPSAoIXhtbFN0cm5jbXAoJmN1ci0+Y29udGVudFtwb3NdLCBzdHJpbmcsIHN1YikpOworCQlpZiAobWF0Y2gpIHsKKyNpZmRlZiBERUJVR19SQU5HRVMKKwkJICAgIHhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkJICAgICJmb3VuZCBzdWJyYW5nZSAlZCBieXRlcyBhdCBpbmRleCAlZCBvZiAtPiIsCisJCQkgICAgc3ViLCBwb3MgKyAxKTsKKwkJICAgIHhtbERlYnVnRHVtcFN0cmluZyhzdGRvdXQsIGN1ci0+Y29udGVudCk7CisJCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgIlxuIik7CisjZW5kaWYKKyAgICAgICAgICAgICAgICAgICAgc3RyaW5nID0gJnN0cmluZ1tzdWJdOworCQkgICAgc3RyaW5nbGVuIC09IHN1YjsKKwkJfSBlbHNlIHsKKwkJICAgIHJldHVybigwKTsKKwkJfQorCSAgICB9CisJfQorCWN1ciA9IHhtbFhQdHJBZHZhbmNlTm9kZShjdXIsIE5VTEwpOworCWlmIChjdXIgPT0gTlVMTCkKKwkgICAgcmV0dXJuKDApOworCXBvcyA9IDA7CisgICAgfQorICAgIHJldHVybigxKTsKK30KKworLyoqCisgKiB4bWxYUHRyU2VhcmNoU3RyaW5nOgorICogQHN0cmluZzogIHRoZSBzdHJpbmcgdG8gc2VhcmNoCisgKiBAc3RhcnQ6ICB0aGUgc3RhcnQgdGV4dG5vZGUgSU4vT1VUCisgKiBAc3RhcnRpbmRleDogIHRoZSBzdGFydCBpbmRleCBJTi9PVVQKKyAqIEBlbmQ6ICB0aGUgZW5kIHRleHRub2RlCisgKiBAZW5kaW5kZXg6ICB0aGUgZW5kIGluZGV4CisgKgorICogU2VhcmNoIHRoZSBuZXh0IG9jY3VycmVuY2Ugb2YgQHN0cmluZyB3aXRoaW4gdGhlIGRvY3VtZW50IGNvbnRlbnQKKyAqIHVudGlsIHRoZSAoQGVuZCwgQGVuZGluZGV4KSBwb2ludCBpcyByZWFjaGVkCisgKgorICogUmV0dXJucyAtMSBpbiBjYXNlIG9mIGZhaWx1cmUsIDAgaWYgbm90IGZvdW5kLCAxIGlmIGZvdW5kIGluIHdoaWNoIGNhc2UKKyAqICAgICAgICAgICAgKEBzdGFydCwgQHN0YXJ0aW5kZXgpIHdpbGwgaW5kaWNhdGUgdGhlIHBvc2l0aW9uIG9mIHRoZSBiZWdpbm5pbmcKKyAqICAgICAgICAgICAgb2YgdGhlIHJhbmdlIGFuZCAoQGVuZCwgQGVuZGluZGV4KSB3aWxsIGluZGljYXRlIHRoZSBlbmQKKyAqICAgICAgICAgICAgb2YgdGhlIHJhbmdlCisgKi8KK3N0YXRpYyBpbnQKK3htbFhQdHJTZWFyY2hTdHJpbmcoY29uc3QgeG1sQ2hhciAqc3RyaW5nLCB4bWxOb2RlUHRyICpzdGFydCwgaW50ICpzdGFydGluZGV4LAorCSAgICAgICAgICAgIHhtbE5vZGVQdHIgKmVuZCwgaW50ICplbmRpbmRleCkgeworICAgIHhtbE5vZGVQdHIgY3VyOworICAgIGNvbnN0IHhtbENoYXIgKnN0cjsKKyAgICBpbnQgcG9zOyAvKiAwIGJhc2VkICovCisgICAgaW50IGxlbjsgLyogaW4gYnl0ZXMgKi8KKyAgICB4bWxDaGFyIGZpcnN0OworCisgICAgaWYgKHN0cmluZyA9PSBOVUxMKQorCXJldHVybigtMSk7CisgICAgaWYgKChzdGFydCA9PSBOVUxMKSB8fCAoKnN0YXJ0ID09IE5VTEwpIHx8CisgICAgICAgICgoKnN0YXJ0KS0+dHlwZSA9PSBYTUxfTkFNRVNQQUNFX0RFQ0wpIHx8IChzdGFydGluZGV4ID09IE5VTEwpKQorCXJldHVybigtMSk7CisgICAgaWYgKChlbmQgPT0gTlVMTCkgfHwgKGVuZGluZGV4ID09IE5VTEwpKQorCXJldHVybigtMSk7CisgICAgY3VyID0gKnN0YXJ0OworICAgIHBvcyA9ICpzdGFydGluZGV4IC0gMTsKKyAgICBmaXJzdCA9IHN0cmluZ1swXTsKKworICAgIHdoaWxlIChjdXIgIT0gTlVMTCkgeworCWlmICgoY3VyLT50eXBlICE9IFhNTF9FTEVNRU5UX05PREUpICYmIChjdXItPmNvbnRlbnQgIT0gTlVMTCkpIHsKKwkgICAgbGVuID0geG1sU3RybGVuKGN1ci0+Y29udGVudCk7CisJICAgIHdoaWxlIChwb3MgPD0gbGVuKSB7CisJCWlmIChmaXJzdCAhPSAwKSB7CisJCSAgICBzdHIgPSB4bWxTdHJjaHIoJmN1ci0+Y29udGVudFtwb3NdLCBmaXJzdCk7CisJCSAgICBpZiAoc3RyICE9IE5VTEwpIHsKKwkJCXBvcyA9IChzdHIgLSAoeG1sQ2hhciAqKShjdXItPmNvbnRlbnQpKTsKKyNpZmRlZiBERUJVR19SQU5HRVMKKwkJCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkJCSJmb3VuZCAnJWMnIGF0IGluZGV4ICVkIG9mIC0+IiwKKwkJCQlmaXJzdCwgcG9zICsgMSk7CisJCQl4bWxEZWJ1Z0R1bXBTdHJpbmcoc3Rkb3V0LCBjdXItPmNvbnRlbnQpOworCQkJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICJcbiIpOworI2VuZGlmCisJCQlpZiAoeG1sWFB0ck1hdGNoU3RyaW5nKHN0cmluZywgY3VyLCBwb3MgKyAxLAorCQkJCQkgICAgICAgZW5kLCBlbmRpbmRleCkpIHsKKwkJCSAgICAqc3RhcnQgPSBjdXI7CisJCQkgICAgKnN0YXJ0aW5kZXggPSBwb3MgKyAxOworCQkJICAgIHJldHVybigxKTsKKwkJCX0KKwkJCXBvcysrOworCQkgICAgfSBlbHNlIHsKKwkJCXBvcyA9IGxlbiArIDE7CisJCSAgICB9CisJCX0gZWxzZSB7CisJCSAgICAvKgorCQkgICAgICogQW4gZW1wdHkgc3RyaW5nIGlzIGNvbnNpZGVyZWQgdG8gbWF0Y2ggYmVmb3JlIGVhY2gKKwkJICAgICAqIGNoYXJhY3RlciBvZiB0aGUgc3RyaW5nLXZhbHVlIGFuZCBhZnRlciB0aGUgZmluYWwKKwkJICAgICAqIGNoYXJhY3Rlci4KKwkJICAgICAqLworI2lmZGVmIERFQlVHX1JBTkdFUworCQkgICAgeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsCisJCQkgICAgImZvdW5kICcnIGF0IGluZGV4ICVkIG9mIC0+IiwKKwkJCSAgICBwb3MgKyAxKTsKKwkJICAgIHhtbERlYnVnRHVtcFN0cmluZyhzdGRvdXQsIGN1ci0+Y29udGVudCk7CisJCSAgICB4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgIlxuIik7CisjZW5kaWYKKwkJICAgICpzdGFydCA9IGN1cjsKKwkJICAgICpzdGFydGluZGV4ID0gcG9zICsgMTsKKwkJICAgICplbmQgPSBjdXI7CisJCSAgICAqZW5kaW5kZXggPSBwb3MgKyAxOworCQkgICAgcmV0dXJuKDEpOworCQl9CisJICAgIH0KKwl9CisJaWYgKChjdXIgPT0gKmVuZCkgJiYgKHBvcyA+PSAqZW5kaW5kZXgpKQorCSAgICByZXR1cm4oMCk7CisJY3VyID0geG1sWFB0ckFkdmFuY2VOb2RlKGN1ciwgTlVMTCk7CisJaWYgKGN1ciA9PSBOVUxMKQorCSAgICByZXR1cm4oMCk7CisJcG9zID0gMTsKKyAgICB9CisgICAgcmV0dXJuKDApOworfQorCisvKioKKyAqIHhtbFhQdHJHZXRMYXN0Q2hhcjoKKyAqIEBub2RlOiAgdGhlIG5vZGUKKyAqIEBpbmRleDogIHRoZSBpbmRleAorICoKKyAqIENvbXB1dGVzIHRoZSBwb2ludCBjb29yZGluYXRlcyBvZiB0aGUgbGFzdCBjaGFyIG9mIHRoaXMgcG9pbnQKKyAqCisgKiBSZXR1cm5zIC0xIGluIGNhc2Ugb2YgZmFpbHVyZSwgMCBvdGhlcndpc2UKKyAqLworc3RhdGljIGludAoreG1sWFB0ckdldExhc3RDaGFyKHhtbE5vZGVQdHIgKm5vZGUsIGludCAqaW5keCkgeworICAgIHhtbE5vZGVQdHIgY3VyOworICAgIGludCBwb3MsIGxlbiA9IDA7CisKKyAgICBpZiAoKG5vZGUgPT0gTlVMTCkgfHwgKCpub2RlID09IE5VTEwpIHx8CisgICAgICAgICgoKm5vZGUpLT50eXBlID09IFhNTF9OQU1FU1BBQ0VfREVDTCkgfHwgKGluZHggPT0gTlVMTCkpCisJcmV0dXJuKC0xKTsKKyAgICBjdXIgPSAqbm9kZTsKKyAgICBwb3MgPSAqaW5keDsKKworICAgIGlmICgoY3VyLT50eXBlID09IFhNTF9FTEVNRU5UX05PREUpIHx8CisJKGN1ci0+dHlwZSA9PSBYTUxfRE9DVU1FTlRfTk9ERSkgfHwKKwkoY3VyLT50eXBlID09IFhNTF9IVE1MX0RPQ1VNRU5UX05PREUpKSB7CisJaWYgKHBvcyA+IDApIHsKKwkgICAgY3VyID0geG1sWFB0ckdldE50aENoaWxkKGN1ciwgcG9zKTsKKwl9CisgICAgfQorICAgIHdoaWxlIChjdXIgIT0gTlVMTCkgeworCWlmIChjdXItPmxhc3QgIT0gTlVMTCkKKwkgICAgY3VyID0gY3VyLT5sYXN0OworCWVsc2UgaWYgKChjdXItPnR5cGUgIT0gWE1MX0VMRU1FTlRfTk9ERSkgJiYKKwkgICAgICAgICAoY3VyLT5jb250ZW50ICE9IE5VTEwpKSB7CisJICAgIGxlbiA9IHhtbFN0cmxlbihjdXItPmNvbnRlbnQpOworCSAgICBicmVhazsKKwl9IGVsc2UgeworCSAgICByZXR1cm4oLTEpOworCX0KKyAgICB9CisgICAgaWYgKGN1ciA9PSBOVUxMKQorCXJldHVybigtMSk7CisgICAgKm5vZGUgPSBjdXI7CisgICAgKmluZHggPSBsZW47CisgICAgcmV0dXJuKDApOworfQorCisvKioKKyAqIHhtbFhQdHJHZXRTdGFydFBvaW50OgorICogQG9iajogIGFuIHJhbmdlCisgKiBAbm9kZTogIHRoZSByZXN1bHRpbmcgbm9kZQorICogQGluZHg6ICB0aGUgcmVzdWx0aW5nIGluZGV4CisgKgorICogcmVhZCB0aGUgb2JqZWN0IGFuZCByZXR1cm4gdGhlIHN0YXJ0IHBvaW50IGNvb3JkaW5hdGVzLgorICoKKyAqIFJldHVybnMgLTEgaW4gY2FzZSBvZiBmYWlsdXJlLCAwIG90aGVyd2lzZQorICovCitzdGF0aWMgaW50Cit4bWxYUHRyR2V0U3RhcnRQb2ludCh4bWxYUGF0aE9iamVjdFB0ciBvYmosIHhtbE5vZGVQdHIgKm5vZGUsIGludCAqaW5keCkgeworICAgIGlmICgob2JqID09IE5VTEwpIHx8IChub2RlID09IE5VTEwpIHx8IChpbmR4ID09IE5VTEwpKQorCXJldHVybigtMSk7CisKKyAgICBzd2l0Y2ggKG9iai0+dHlwZSkgeworICAgICAgICBjYXNlIFhQQVRIX1BPSU5UOgorCSAgICAqbm9kZSA9IG9iai0+dXNlcjsKKwkgICAgaWYgKG9iai0+aW5kZXggPD0gMCkKKwkJKmluZHggPSAwOworCSAgICBlbHNlCisJCSppbmR4ID0gb2JqLT5pbmRleDsKKwkgICAgcmV0dXJuKDApOworICAgICAgICBjYXNlIFhQQVRIX1JBTkdFOgorCSAgICAqbm9kZSA9IG9iai0+dXNlcjsKKwkgICAgaWYgKG9iai0+aW5kZXggPD0gMCkKKwkJKmluZHggPSAwOworCSAgICBlbHNlCisJCSppbmR4ID0gb2JqLT5pbmRleDsKKwkgICAgcmV0dXJuKDApOworCWRlZmF1bHQ6CisJICAgIGJyZWFrOworICAgIH0KKyAgICByZXR1cm4oLTEpOworfQorCisvKioKKyAqIHhtbFhQdHJHZXRFbmRQb2ludDoKKyAqIEBvYmo6ICBhbiByYW5nZQorICogQG5vZGU6ICB0aGUgcmVzdWx0aW5nIG5vZGUKKyAqIEBpbmR4OiAgdGhlIHJlc3VsdGluZyBpbmR4CisgKgorICogcmVhZCB0aGUgb2JqZWN0IGFuZCByZXR1cm4gdGhlIGVuZCBwb2ludCBjb29yZGluYXRlcy4KKyAqCisgKiBSZXR1cm5zIC0xIGluIGNhc2Ugb2YgZmFpbHVyZSwgMCBvdGhlcndpc2UKKyAqLworc3RhdGljIGludAoreG1sWFB0ckdldEVuZFBvaW50KHhtbFhQYXRoT2JqZWN0UHRyIG9iaiwgeG1sTm9kZVB0ciAqbm9kZSwgaW50ICppbmR4KSB7CisgICAgaWYgKChvYmogPT0gTlVMTCkgfHwgKG5vZGUgPT0gTlVMTCkgfHwgKGluZHggPT0gTlVMTCkpCisJcmV0dXJuKC0xKTsKKworICAgIHN3aXRjaCAob2JqLT50eXBlKSB7CisgICAgICAgIGNhc2UgWFBBVEhfUE9JTlQ6CisJICAgICpub2RlID0gb2JqLT51c2VyOworCSAgICBpZiAob2JqLT5pbmRleCA8PSAwKQorCQkqaW5keCA9IDA7CisJICAgIGVsc2UKKwkJKmluZHggPSBvYmotPmluZGV4OworCSAgICByZXR1cm4oMCk7CisgICAgICAgIGNhc2UgWFBBVEhfUkFOR0U6CisJICAgICpub2RlID0gb2JqLT51c2VyOworCSAgICBpZiAob2JqLT5pbmRleCA8PSAwKQorCQkqaW5keCA9IDA7CisJICAgIGVsc2UKKwkJKmluZHggPSBvYmotPmluZGV4OworCSAgICByZXR1cm4oMCk7CisJZGVmYXVsdDoKKwkgICAgYnJlYWs7CisgICAgfQorICAgIHJldHVybigtMSk7Cit9CisKKy8qKgorICogeG1sWFB0clN0cmluZ1JhbmdlRnVuY3Rpb246CisgKiBAY3R4dDogIHRoZSBYUG9pbnRlciBQYXJzZXIgY29udGV4dAorICogQG5hcmdzOiAgdGhlIG51bWJlciBvZiBhcmdzCisgKgorICogRnVuY3Rpb24gaW1wbGVtZW50aW5nIHRoZSBzdHJpbmctcmFuZ2UoKSBmdW5jdGlvbgorICogcmFuZ2UgYXMgZGVzY3JpYmVkIGluIDUuNC4yCisgKgorICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiBbRGVmaW5pdGlvbjogRm9yIGVhY2ggbG9jYXRpb24gaW4gdGhlIGxvY2F0aW9uLXNldCBhcmd1bWVudCwKKyAqIHN0cmluZy1yYW5nZSByZXR1cm5zIGEgc2V0IG9mIHN0cmluZyByYW5nZXMsIGEgc2V0IG9mIHN1YnN0cmluZ3MgaW4gYQorICogc3RyaW5nLiBTcGVjaWZpY2FsbHksIHRoZSBzdHJpbmctdmFsdWUgb2YgdGhlIGxvY2F0aW9uIGlzIHNlYXJjaGVkIGZvcgorICogc3Vic3RyaW5ncyB0aGF0IG1hdGNoIHRoZSBzdHJpbmcgYXJndW1lbnQsIGFuZCB0aGUgcmVzdWx0aW5nIGxvY2F0aW9uLXNldAorICogd2lsbCBjb250YWluIGEgcmFuZ2UgbG9jYXRpb24gZm9yIGVhY2ggbm9uLW92ZXJsYXBwaW5nIG1hdGNoLl0KKyAqIEFuIGVtcHR5IHN0cmluZyBpcyBjb25zaWRlcmVkIHRvIG1hdGNoIGJlZm9yZSBlYWNoIGNoYXJhY3RlciBvZiB0aGUKKyAqIHN0cmluZy12YWx1ZSBhbmQgYWZ0ZXIgdGhlIGZpbmFsIGNoYXJhY3Rlci4gV2hpdGVzcGFjZSBpbiBhIHN0cmluZworICogaXMgbWF0Y2hlZCBsaXRlcmFsbHksIHdpdGggbm8gbm9ybWFsaXphdGlvbiBleGNlcHQgdGhhdCBwcm92aWRlZCBieQorICogWE1MIGZvciBsaW5lIGVuZHMuIFRoZSB0aGlyZCBhcmd1bWVudCBnaXZlcyB0aGUgcG9zaXRpb24gb2YgdGhlIGZpcnN0CisgKiBjaGFyYWN0ZXIgdG8gYmUgaW4gdGhlIHJlc3VsdGluZyByYW5nZSwgcmVsYXRpdmUgdG8gdGhlIHN0YXJ0IG9mIHRoZQorICogbWF0Y2guIFRoZSBkZWZhdWx0IHZhbHVlIGlzIDEsIHdoaWNoIG1ha2VzIHRoZSByYW5nZSBzdGFydCBpbW1lZGlhdGVseQorICogYmVmb3JlIHRoZSBmaXJzdCBjaGFyYWN0ZXIgb2YgdGhlIG1hdGNoZWQgc3RyaW5nLiBUaGUgZm91cnRoIGFyZ3VtZW50CisgKiBnaXZlcyB0aGUgbnVtYmVyIG9mIGNoYXJhY3RlcnMgaW4gdGhlIHJhbmdlOyB0aGUgZGVmYXVsdCBpcyB0aGF0IHRoZQorICogcmFuZ2UgZXh0ZW5kcyB0byB0aGUgZW5kIG9mIHRoZSBtYXRjaGVkIHN0cmluZy4KKyAqCisgKiBFbGVtZW50IGJvdW5kYXJpZXMsIGFzIHdlbGwgYXMgZW50aXJlIGVtYmVkZGVkIG5vZGVzIHN1Y2ggYXMgcHJvY2Vzc2luZworICogaW5zdHJ1Y3Rpb25zIGFuZCBjb21tZW50cywgYXJlIGlnbm9yZWQgYXMgZGVmaW5lZCBpbiBbWFBhdGhdLgorICoKKyAqIElmIHRoZSBzdHJpbmcgaW4gdGhlIHNlY29uZCBhcmd1bWVudCBpcyBub3QgZm91bmQgaW4gdGhlIHN0cmluZy12YWx1ZQorICogb2YgdGhlIGxvY2F0aW9uLCBvciBpZiBhIHZhbHVlIGluIHRoZSB0aGlyZCBvciBmb3VydGggYXJndW1lbnQgaW5kaWNhdGVzCisgKiBhIHN0cmluZyB0aGF0IGlzIGJleW9uZCB0aGUgYmVnaW5uaW5nIG9yIGVuZCBvZiB0aGUgZG9jdW1lbnQsIHRoZQorICogZXhwcmVzc2lvbiBmYWlscy4KKyAqCisgKiBUaGUgcG9pbnRzIG9mIHRoZSByYW5nZS1sb2NhdGlvbnMgaW4gdGhlIHJldHVybmVkIGxvY2F0aW9uLXNldCB3aWxsCisgKiBhbGwgYmUgY2hhcmFjdGVyIHBvaW50cy4KKyAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICovCitzdGF0aWMgdm9pZAoreG1sWFB0clN0cmluZ1JhbmdlRnVuY3Rpb24oeG1sWFBhdGhQYXJzZXJDb250ZXh0UHRyIGN0eHQsIGludCBuYXJncykgeworICAgIGludCBpLCBzdGFydGluZGV4LCBlbmRpbmRleCA9IDAsIGZlbmRpbmRleDsKKyAgICB4bWxOb2RlUHRyIHN0YXJ0LCBlbmQgPSAwLCBmZW5kOworICAgIHhtbFhQYXRoT2JqZWN0UHRyIHNldDsKKyAgICB4bWxMb2NhdGlvblNldFB0ciBvbGRzZXQ7CisgICAgeG1sTG9jYXRpb25TZXRQdHIgbmV3c2V0OworICAgIHhtbFhQYXRoT2JqZWN0UHRyIHN0cmluZzsKKyAgICB4bWxYUGF0aE9iamVjdFB0ciBwb3NpdGlvbiA9IE5VTEw7CisgICAgeG1sWFBhdGhPYmplY3RQdHIgbnVtYmVyID0gTlVMTDsKKyAgICBpbnQgZm91bmQsIHBvcyA9IDAsIG51bSA9IDA7CisKKyAgICAvKgorICAgICAqIEdyYWIgdGhlIGFyZ3VtZW50cworICAgICAqLworICAgIGlmICgobmFyZ3MgPCAyKSB8fCAobmFyZ3MgPiA0KSkKKwlYUF9FUlJPUihYUEFUSF9JTlZBTElEX0FSSVRZKTsKKworICAgIGlmIChuYXJncyA+PSA0KSB7CisJQ0hFQ0tfVFlQRShYUEFUSF9OVU1CRVIpOworCW51bWJlciA9IHZhbHVlUG9wKGN0eHQpOworCWlmIChudW1iZXIgIT0gTlVMTCkKKwkgICAgbnVtID0gKGludCkgbnVtYmVyLT5mbG9hdHZhbDsKKyAgICB9CisgICAgaWYgKG5hcmdzID49IDMpIHsKKwlDSEVDS19UWVBFKFhQQVRIX05VTUJFUik7CisJcG9zaXRpb24gPSB2YWx1ZVBvcChjdHh0KTsKKwlpZiAocG9zaXRpb24gIT0gTlVMTCkKKwkgICAgcG9zID0gKGludCkgcG9zaXRpb24tPmZsb2F0dmFsOworICAgIH0KKyAgICBDSEVDS19UWVBFKFhQQVRIX1NUUklORyk7CisgICAgc3RyaW5nID0gdmFsdWVQb3AoY3R4dCk7CisgICAgaWYgKChjdHh0LT52YWx1ZSA9PSBOVUxMKSB8fAorCSgoY3R4dC0+dmFsdWUtPnR5cGUgIT0gWFBBVEhfTE9DQVRJT05TRVQpICYmCisJIChjdHh0LT52YWx1ZS0+dHlwZSAhPSBYUEFUSF9OT0RFU0VUKSkpCisgICAgICAgIFhQX0VSUk9SKFhQQVRIX0lOVkFMSURfVFlQRSkKKworICAgIHNldCA9IHZhbHVlUG9wKGN0eHQpOworICAgIG5ld3NldCA9IHhtbFhQdHJMb2NhdGlvblNldENyZWF0ZShOVUxMKTsKKyAgICBpZiAobmV3c2V0ID09IE5VTEwpIHsKKwl4bWxYUGF0aEZyZWVPYmplY3Qoc2V0KTsKKyAgICAgICAgWFBfRVJST1IoWFBBVEhfTUVNT1JZX0VSUk9SKTsKKyAgICB9CisgICAgaWYgKHNldC0+bm9kZXNldHZhbCA9PSBOVUxMKSB7CisgICAgICAgIGdvdG8gZXJyb3I7CisgICAgfQorICAgIGlmIChzZXQtPnR5cGUgPT0gWFBBVEhfTk9ERVNFVCkgeworCXhtbFhQYXRoT2JqZWN0UHRyIHRtcDsKKworCS8qCisJICogRmlyc3QgY29udmVydCB0byBhIGxvY2F0aW9uIHNldAorCSAqLworCXRtcCA9IHhtbFhQdHJOZXdMb2NhdGlvblNldE5vZGVTZXQoc2V0LT5ub2Rlc2V0dmFsKTsKKwl4bWxYUGF0aEZyZWVPYmplY3Qoc2V0KTsKKwlpZiAodG1wID09IE5VTEwpCisJICAgICBYUF9FUlJPUihYUEFUSF9NRU1PUllfRVJST1IpCisJc2V0ID0gdG1wOworICAgIH0KKyAgICBvbGRzZXQgPSAoeG1sTG9jYXRpb25TZXRQdHIpIHNldC0+dXNlcjsKKworICAgIC8qCisgICAgICogVGhlIGxvb3AgaXMgdG8gc2VhcmNoIGZvciBlYWNoIGVsZW1lbnQgaW4gdGhlIGxvY2F0aW9uIHNldAorICAgICAqIHRoZSBsaXN0IG9mIGxvY2F0aW9uIHNldCBjb3JyZXNwb25kaW5nIHRvIHRoYXQgc2VhcmNoCisgICAgICovCisgICAgZm9yIChpID0gMDtpIDwgb2xkc2V0LT5sb2NOcjtpKyspIHsKKyNpZmRlZiBERUJVR19SQU5HRVMKKwl4bWxYUGF0aERlYnVnRHVtcE9iamVjdChzdGRvdXQsIG9sZHNldC0+bG9jVGFiW2ldLCAwKTsKKyNlbmRpZgorCisJeG1sWFB0ckdldFN0YXJ0UG9pbnQob2xkc2V0LT5sb2NUYWJbaV0sICZzdGFydCwgJnN0YXJ0aW5kZXgpOworCXhtbFhQdHJHZXRFbmRQb2ludChvbGRzZXQtPmxvY1RhYltpXSwgJmVuZCwgJmVuZGluZGV4KTsKKwl4bWxYUHRyQWR2YW5jZUNoYXIoJnN0YXJ0LCAmc3RhcnRpbmRleCwgMCk7CisJeG1sWFB0ckdldExhc3RDaGFyKCZlbmQsICZlbmRpbmRleCk7CisKKyNpZmRlZiBERUJVR19SQU5HRVMKKwl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwKKwkJImZyb20gaW5kZXggJWQgb2YgLT4iLCBzdGFydGluZGV4KTsKKwl4bWxEZWJ1Z0R1bXBTdHJpbmcoc3Rkb3V0LCBzdGFydC0+Y29udGVudCk7CisJeG1sR2VuZXJpY0Vycm9yKHhtbEdlbmVyaWNFcnJvckNvbnRleHQsICJcbiIpOworCXhtbEdlbmVyaWNFcnJvcih4bWxHZW5lcmljRXJyb3JDb250ZXh0LAorCQkidG8gaW5kZXggJWQgb2YgLT4iLCBlbmRpbmRleCk7CisJeG1sRGVidWdEdW1wU3RyaW5nKHN0ZG91dCwgZW5kLT5jb250ZW50KTsKKwl4bWxHZW5lcmljRXJyb3IoeG1sR2VuZXJpY0Vycm9yQ29udGV4dCwgIlxuIik7CisjZW5kaWYKKwlkbyB7CisgICAgICAgICAgICBmZW5kID0gZW5kOworICAgICAgICAgICAgZmVuZGluZGV4ID0gZW5kaW5kZXg7CisJICAgIGZvdW5kID0geG1sWFB0clNlYXJjaFN0cmluZyhzdHJpbmctPnN0cmluZ3ZhbCwgJnN0YXJ0LCAmc3RhcnRpbmRleCwKKwkJICAgICAgICAgICAgICAgICAgICAgICAgJmZlbmQsICZmZW5kaW5kZXgpOworCSAgICBpZiAoZm91bmQgPT0gMSkgeworCQlpZiAocG9zaXRpb24gPT0gTlVMTCkgeworCQkgICAgeG1sWFB0ckxvY2F0aW9uU2V0QWRkKG5ld3NldCwKKwkJCSB4bWxYUHRyTmV3UmFuZ2Uoc3RhcnQsIHN0YXJ0aW5kZXgsIGZlbmQsIGZlbmRpbmRleCkpOworCQl9IGVsc2UgaWYgKHhtbFhQdHJBZHZhbmNlQ2hhcigmc3RhcnQsICZzdGFydGluZGV4LAorCQkJICAgICAgICAgICAgICAgICAgICAgIHBvcyAtIDEpID09IDApIHsKKwkJICAgIGlmICgobnVtYmVyICE9IE5VTEwpICYmIChudW0gPiAwKSkgeworCQkJaW50IHJpbmR4OworCQkJeG1sTm9kZVB0ciByZW5kOworCQkJcmVuZCA9IHN0YXJ0OworCQkJcmluZHggPSBzdGFydGluZGV4IC0gMTsKKwkJCWlmICh4bWxYUHRyQWR2YW5jZUNoYXIoJnJlbmQsICZyaW5keCwKKwkJCQkgICAgICAgICAgICAgICBudW0pID09IDApIHsKKwkJCSAgICB4bWxYUHRyTG9jYXRpb25TZXRBZGQobmV3c2V0LAorCQkJCQl4bWxYUHRyTmV3UmFuZ2Uoc3RhcnQsIHN0YXJ0aW5kZXgsCisJCQkJCQkJcmVuZCwgcmluZHgpKTsKKwkJCX0KKwkJICAgIH0gZWxzZSBpZiAoKG51bWJlciAhPSBOVUxMKSAmJiAobnVtIDw9IDApKSB7CisJCQl4bWxYUHRyTG9jYXRpb25TZXRBZGQobmV3c2V0LAorCQkJCSAgICB4bWxYUHRyTmV3UmFuZ2Uoc3RhcnQsIHN0YXJ0aW5kZXgsCisJCQkJCQkgICAgc3RhcnQsIHN0YXJ0aW5kZXgpKTsKKwkJICAgIH0gZWxzZSB7CisJCQl4bWxYUHRyTG9jYXRpb25TZXRBZGQobmV3c2V0LAorCQkJCSAgICB4bWxYUHRyTmV3UmFuZ2Uoc3RhcnQsIHN0YXJ0aW5kZXgsCisJCQkJCQkgICAgZmVuZCwgZmVuZGluZGV4KSk7CisJCSAgICB9CisJCX0KKwkJc3RhcnQgPSBmZW5kOworCQlzdGFydGluZGV4ID0gZmVuZGluZGV4OworCQlpZiAoc3RyaW5nLT5zdHJpbmd2YWxbMF0gPT0gMCkKKwkJICAgIHN0YXJ0aW5kZXgrKzsKKwkgICAgfQorCX0gd2hpbGUgKGZvdW5kID09IDEpOworICAgIH0KKworICAgIC8qCisgICAgICogU2F2ZSB0aGUgbmV3IHZhbHVlIGFuZCBjbGVhbnVwCisgICAgICovCitlcnJvcjoKKyAgICB2YWx1ZVB1c2goY3R4dCwgeG1sWFB0cldyYXBMb2NhdGlvblNldChuZXdzZXQpKTsKKyAgICB4bWxYUGF0aEZyZWVPYmplY3Qoc2V0KTsKKyAgICB4bWxYUGF0aEZyZWVPYmplY3Qoc3RyaW5nKTsKKyAgICBpZiAocG9zaXRpb24pIHhtbFhQYXRoRnJlZU9iamVjdChwb3NpdGlvbik7CisgICAgaWYgKG51bWJlcikgeG1sWFBhdGhGcmVlT2JqZWN0KG51bWJlcik7Cit9CisKKy8qKgorICogeG1sWFB0ckV2YWxSYW5nZVByZWRpY2F0ZToKKyAqIEBjdHh0OiAgdGhlIFhQb2ludGVyIFBhcnNlciBjb250ZXh0CisgKgorICogIFs4XSAgIFByZWRpY2F0ZSA6Oj0gICAnWycgUHJlZGljYXRlRXhwciAnXScKKyAqICBbOV0gICBQcmVkaWNhdGVFeHByIDo6PSAgIEV4cHIKKyAqCisgKiBFdmFsdWF0ZSBhIHByZWRpY2F0ZSBhcyBpbiB4bWxYUGF0aEV2YWxQcmVkaWNhdGUoKSBidXQgZm9yCisgKiBhIExvY2F0aW9uIFNldCBpbnN0ZWFkIG9mIGEgbm9kZSBzZXQKKyAqLwordm9pZAoreG1sWFB0ckV2YWxSYW5nZVByZWRpY2F0ZSh4bWxYUGF0aFBhcnNlckNvbnRleHRQdHIgY3R4dCkgeworICAgIGNvbnN0IHhtbENoYXIgKmN1cjsKKyAgICB4bWxYUGF0aE9iamVjdFB0ciByZXM7CisgICAgeG1sWFBhdGhPYmplY3RQdHIgb2JqLCB0bXA7CisgICAgeG1sTG9jYXRpb25TZXRQdHIgbmV3c2V0ID0gTlVMTDsKKyAgICB4bWxMb2NhdGlvblNldFB0ciBvbGRzZXQ7CisgICAgaW50IGk7CisKKyAgICBpZiAoY3R4dCA9PSBOVUxMKSByZXR1cm47CisKKyAgICBTS0lQX0JMQU5LUzsKKyAgICBpZiAoQ1VSICE9ICdbJykgeworCVhQX0VSUk9SKFhQQVRIX0lOVkFMSURfUFJFRElDQVRFX0VSUk9SKTsKKyAgICB9CisgICAgTkVYVDsKKyAgICBTS0lQX0JMQU5LUzsKKworICAgIC8qCisgICAgICogRXh0cmFjdCB0aGUgb2xkIHNldCwgYW5kIHRoZW4gZXZhbHVhdGUgdGhlIHJlc3VsdCBvZiB0aGUKKyAgICAgKiBleHByZXNzaW9uIGZvciBhbGwgdGhlIGVsZW1lbnQgaW4gdGhlIHNldC4gdXNlIGl0IHRvIGdyb3cKKyAgICAgKiB1cCBhIG5ldyBzZXQuCisgICAgICovCisgICAgQ0hFQ0tfVFlQRShYUEFUSF9MT0NBVElPTlNFVCk7CisgICAgb2JqID0gdmFsdWVQb3AoY3R4dCk7CisgICAgb2xkc2V0ID0gb2JqLT51c2VyOworICAgIGN0eHQtPmNvbnRleHQtPm5vZGUgPSBOVUxMOworCisgICAgaWYgKChvbGRzZXQgPT0gTlVMTCkgfHwgKG9sZHNldC0+bG9jTnIgPT0gMCkpIHsKKwljdHh0LT5jb250ZXh0LT5jb250ZXh0U2l6ZSA9IDA7CisJY3R4dC0+Y29udGV4dC0+cHJveGltaXR5UG9zaXRpb24gPSAwOworCXhtbFhQYXRoRXZhbEV4cHIoY3R4dCk7CisJcmVzID0gdmFsdWVQb3AoY3R4dCk7CisJaWYgKHJlcyAhPSBOVUxMKQorCSAgICB4bWxYUGF0aEZyZWVPYmplY3QocmVzKTsKKwl2YWx1ZVB1c2goY3R4dCwgb2JqKTsKKwlDSEVDS19FUlJPUjsKKyAgICB9IGVsc2UgeworCS8qCisJICogU2F2ZSB0aGUgZXhwcmVzc2lvbiBwb2ludGVyIHNpbmNlIHdlIHdpbGwgaGF2ZSB0byBldmFsdWF0ZQorCSAqIGl0IG11bHRpcGxlIHRpbWVzLiBJbml0aWFsaXplIHRoZSBuZXcgc2V0LgorCSAqLworICAgICAgICBjdXIgPSBjdHh0LT5jdXI7CisJbmV3c2V0ID0geG1sWFB0ckxvY2F0aW9uU2V0Q3JlYXRlKE5VTEwpOworCisgICAgICAgIGZvciAoaSA9IDA7IGkgPCBvbGRzZXQtPmxvY05yOyBpKyspIHsKKwkgICAgY3R4dC0+Y3VyID0gY3VyOworCisJICAgIC8qCisJICAgICAqIFJ1biB0aGUgZXZhbHVhdGlvbiB3aXRoIGEgbm9kZSBsaXN0IG1hZGUgb2YgYSBzaW5nbGUgaXRlbQorCSAgICAgKiBpbiB0aGUgbm9kZXNldC4KKwkgICAgICovCisJICAgIGN0eHQtPmNvbnRleHQtPm5vZGUgPSBvbGRzZXQtPmxvY1RhYltpXS0+dXNlcjsKKwkgICAgdG1wID0geG1sWFBhdGhOZXdOb2RlU2V0KGN0eHQtPmNvbnRleHQtPm5vZGUpOworCSAgICB2YWx1ZVB1c2goY3R4dCwgdG1wKTsKKwkgICAgY3R4dC0+Y29udGV4dC0+Y29udGV4dFNpemUgPSBvbGRzZXQtPmxvY05yOworCSAgICBjdHh0LT5jb250ZXh0LT5wcm94aW1pdHlQb3NpdGlvbiA9IGkgKyAxOworCisJICAgIHhtbFhQYXRoRXZhbEV4cHIoY3R4dCk7CisJICAgIENIRUNLX0VSUk9SOworCisJICAgIC8qCisJICAgICAqIFRoZSByZXN1bHQgb2YgdGhlIGV2YWx1YXRpb24gbmVlZCB0byBiZSB0ZXN0ZWQgdG8KKwkgICAgICogZGVjaWRlZCB3aGV0aGVyIHRoZSBmaWx0ZXIgc3VjY2VlZGVkIG9yIG5vdAorCSAgICAgKi8KKwkgICAgcmVzID0gdmFsdWVQb3AoY3R4dCk7CisJICAgIGlmICh4bWxYUGF0aEV2YWx1YXRlUHJlZGljYXRlUmVzdWx0KGN0eHQsIHJlcykpIHsKKwkgICAgICAgIHhtbFhQdHJMb2NhdGlvblNldEFkZChuZXdzZXQsCisJCQl4bWxYUGF0aE9iamVjdENvcHkob2xkc2V0LT5sb2NUYWJbaV0pKTsKKwkgICAgfQorCisJICAgIC8qCisJICAgICAqIENsZWFudXAKKwkgICAgICovCisJICAgIGlmIChyZXMgIT0gTlVMTCkKKwkJeG1sWFBhdGhGcmVlT2JqZWN0KHJlcyk7CisJICAgIGlmIChjdHh0LT52YWx1ZSA9PSB0bXApIHsKKwkJcmVzID0gdmFsdWVQb3AoY3R4dCk7CisJCXhtbFhQYXRoRnJlZU9iamVjdChyZXMpOworCSAgICB9CisKKwkgICAgY3R4dC0+Y29udGV4dC0+bm9kZSA9IE5VTEw7CisJfQorCisJLyoKKwkgKiBUaGUgcmVzdWx0IGlzIHVzZWQgYXMgdGhlIG5ldyBldmFsdWF0aW9uIHNldC4KKwkgKi8KKwl4bWxYUGF0aEZyZWVPYmplY3Qob2JqKTsKKwljdHh0LT5jb250ZXh0LT5ub2RlID0gTlVMTDsKKwljdHh0LT5jb250ZXh0LT5jb250ZXh0U2l6ZSA9IC0xOworCWN0eHQtPmNvbnRleHQtPnByb3hpbWl0eVBvc2l0aW9uID0gLTE7CisJdmFsdWVQdXNoKGN0eHQsIHhtbFhQdHJXcmFwTG9jYXRpb25TZXQobmV3c2V0KSk7CisgICAgfQorICAgIGlmIChDVVIgIT0gJ10nKSB7CisJWFBfRVJST1IoWFBBVEhfSU5WQUxJRF9QUkVESUNBVEVfRVJST1IpOworICAgIH0KKworICAgIE5FWFQ7CisgICAgU0tJUF9CTEFOS1M7Cit9CisKKyNkZWZpbmUgYm90dG9tX3hwb2ludGVyCisjaW5jbHVkZSAiZWxmZ2NjaGFjay5oIgorI2VuZGlmCisKZGlmZiAtLWdpdCBhL2xpYnhtbDIveHN0Yy9NYWtlZmlsZS5hbSBiL2xpYnhtbDIveHN0Yy9NYWtlZmlsZS5hbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZWYxODE5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlieG1sMi94c3RjL01ha2VmaWxlLmFtCkBAIC0wLDAgKzEsMTMyIEBACisjCisjIERlZmluaXRpb24gZm9yIHRoZSB0ZXN0cyBmcm9tIFczQworIworUFlTQ1JJUFRTPW5pc3QtdGVzdC5weSBtcy10ZXN0LnB5IHN1bi10ZXN0LnB5CitURVNURElSPVRlc3RzCitURVNURElSUz0kKFRFU1RESVIpL21zeHNkdGVzdCAkKFRFU1RESVIpL3N1bnRlc3QgJChURVNURElSKS9EYXRhdHlwZXMKK1RBUkJBTEw9eHN0cy0yMDAyLTAxLTE2LnRhci5negorVEFSQkFMTF8yPXhzdHMtMjAwNC0wMS0xNC50YXIuZ3oKK1RTTkFNRT14bWxzY2hlbWEyMDAyLTAxLTE2CitUU05BTUVfMj14bWxzY2hlbWEyMDA0LTAxLTE0CitUQVJCQUxMVVJMPWh0dHA6Ly93d3cudzMub3JnL1hNTC8yMDA0L3htbC1zY2hlbWEtdGVzdC1zdWl0ZS8kKFRTTkFNRSkvJChUQVJCQUxMKQorVEFSQkFMTFVSTF8yPWh0dHA6Ly93d3cudzMub3JnL1hNTC8yMDA0L3htbC1zY2hlbWEtdGVzdC1zdWl0ZS8kKFRTTkFNRV8yKS8kKFRBUkJBTExfMikKK01TVEVTVERFRj1NU1hNTFNjaGVtYTEtMC0yMDAyMDExNi50ZXN0U2V0CitTVU5URVNUREVGPVN1blhNTFNjaGVtYTEtMC0yMDAyMDExNi50ZXN0U2V0CitOSVNUVEVTVERFRj1OSVNUWE1MU2NoZW1hMS0wLTIwMDIwMTE2LnRlc3RTZXQKK05JU1RURVNUREVGXzI9TklTVFhNTFNjaGVtYURhdGF0eXBlcy50ZXN0U2V0CisKKyMKKyMgVGhlIGxvY2FsIGRhdGEgYW5kIHNjcmlwdHMKKyMKK0VYVFJBX0RJU1Q9eHN0Yy5weSB4c3RjLXRvLXB5dGhvbi54c2wKKyMKKyMgTm90aGluZyBpcyBkb25lIGJ5IG1ha2UsIG9ubHkgbWFrZSB0ZXN0cyBhbmQKKyMgb25seSBpZiBQeXRob24gYW5kIFNjaGVtYXMgYXJlIGVuYWJsZWQuCisjCithbGw6CisKKyMKKyMgUnVsZSB0byBsb2FkIHRoZSB0ZXN0IGRlc2NyaXB0aW9uIGFuZCBleHRyYWN0IHRoZSBpbmZvcm1hdGlvbnMKKyMKKyQoVEVTVERJUlMpIFRlc3RzL01ldGFkYXRhLyQoTklTVFRFU1RERUZfMikgVGVzdHMvTWV0YWRhdGEvJChNU1RURVNUREVGKSBUZXN0cy9NZXRhZGF0YS8kKFNVTlRFU1RERUYpOgorCS1AKGlmIFsgISAtZCBUZXN0cyBdIDsgdGhlbiBcCisJICAgbWtkaXIgVGVzdHMgOyBcCisJICAgZmkpCisJLUAoaWYgWyAhIC1mICQoVEFSQkFMTF8yKSBdIDsgdGhlbiBcCisJICAgaWYgWyAtZiAkKHNyY2RpcikvJChUQVJCQUxMXzIpIF0gOyB0aGVuIFwKKwkgICAkKExOX1MpICQoc3JjZGlyKS8kKFRBUkJBTExfMikgJChUQVJCQUxMXzIpIDsgZWxzZSBcCisJICAgZWNobyAiTWlzc2luZyB0aGUgdGVzdCBzdWl0ZSBkZXNjcmlwdGlvbiAoMjAwNC0wMS0xNCksIHRyeWluZyB0byBmZXRjaCBpdCIgO1wKKwkgICBpZiBbIC14ICIkKFdHRVQpIiBdIDsgdGhlbiBcCisJICAgJChXR0VUKSAkKFRBUkJBTExVUkxfMikgOyBcCisJICAgZWxzZSBlY2hvICJEb250JyBrbm93IGhvdyB0byBmZXRjaCAkKFRBUkJBTExVUkxfMikiIDsgZmkgOyBmaSA7IGZpKQorCS1AKGlmIFsgLWYgJChUQVJCQUxMXzIpIF0gOyB0aGVuIFwKKwkgICBlY2hvIC1uICJleHRyYWN0aW5nIHRlc3QgZGF0YSAoTklTVCkuLi4iIDsgXAorCSAgICQoVEFSKSAteHpmICQoVEFSQkFMTF8yKSAtLXdpbGRjYXJkcyAnKi9EYXRhdHlwZXMnICcqL01ldGFkYXRhLyQoTklTVFRFU1RERUZfMiknIDsgXAorCSAgIGVjaG8gImRvbmUiIDsgXAorCSAgIGZpKQorCS1AKGlmIFsgISAtZiAkKFRBUkJBTEwpIF0gOyB0aGVuIFwKKwkgICBpZiBbIC1mICQoc3JjZGlyKS8kKFRBUkJBTEwpIF0gOyB0aGVuIFwKKwkgICAkKExOX1MpICQoc3JjZGlyKS8kKFRBUkJBTEwpICQoVEFSQkFMTCkgOyBlbHNlIFwKKwkgICBlY2hvICJNaXNzaW5nIHRoZSB0ZXN0IHN1aXRlIGRlc2NyaXB0aW9uICgyMDAyLTAxLTE2KSwgdHJ5aW5nIHRvIGZldGNoIGl0IiA7XAorCSAgIGlmIFsgLXggIiQoV0dFVCkiIF0gOyB0aGVuIFwKKwkgICAkKFdHRVQpICQoVEFSQkFMTFVSTCkgOyBcCisJICAgZWxzZSBlY2hvICJEb250JyBrbm93IGhvdyB0byBmZXRjaCAkKFRBUkJBTExVUkwpIiA7IGZpIDsgZmkgOyBmaSkKKwktQChpZiBbIC1mICQoVEFSQkFMTCkgXSA7IHRoZW4gXAorCSAgIGVjaG8gLW4gImV4dHJhY3RpbmcgdGVzdCBkYXRhIChTdW4sIE1pY3Jvc29mdCkuLi4iIDsgXAorCSAgICQoVEFSKSAtQyBUZXN0cyAteHpmICQoVEFSQkFMTCkgLS13aWxkY2FyZHMgJyovc3VudGVzdCcgJyovbXN4c2R0ZXN0JyAnKi8kKE1TVEVTVERFRiknICcqLyQoU1VOVEVTVERFRiknIDsgXAorCSAgIGlmIFsgLWQgVGVzdHMvc3VudGVzdCBdIDsgdGhlbiBybSAtciBUZXN0cy9zdW50ZXN0IDsgZmkgOyBcCisJICAgaWYgWyAtZCBUZXN0cy9tc3hzZHRlc3QgXSA7IHRoZW4gcm0gLXIgVGVzdHMvbXN4c2R0ZXN0IDsgZmkgOyBcCisJICAgbXYgVGVzdHMveG1sc2NoZW1hMjAwMi0wMS0xNi8qIFRlc3RzIDsgXAorCSAgIG12IFRlc3RzLyoudGVzdFNldCBUZXN0cy9NZXRhZGF0YSA7IFwKKwkgICBybSAtciBUZXN0cy94bWxzY2hlbWEyMDAyLTAxLTE2IDsgXAorCSAgIGVjaG8gImRvbmUiIDsgXAorCSAgIGZpKQorCisjCisjIFRoZSBweXRob24gdGVzdHMgYXJlIGdlbmVyYXRlZCB2aWEgWFNMVAorIworbmlzdC10ZXN0LnB5OiBUZXN0cy9NZXRhZGF0YS8kKE5JU1RURVNUREVGXzIpIHhzdGMtdG8tcHl0aG9uLnhzbAorCS1AKGlmIFsgLXggJChYU0xUUFJPQykgXSA7IHRoZW4gXAorCSAgZWNobyAiUmVidWlsZGluZyBzY3JpcHQgKE5JU1QpIiAkQCA7IFwKKwkgICQoWFNMVFBST0MpIC0tbm9uZXQgLS1zdHJpbmdwYXJhbSB2ZW5kb3IgTklTVC0yIFwKKwkgICAgICAgICAgICAgICAgICAgICAkKHNyY2RpcikveHN0Yy10by1weXRob24ueHNsIFwKKwkgICAgICAgICAgICAgICAgICAgICAkKHNyY2RpcikvVGVzdHMvTWV0YWRhdGEvJChOSVNUVEVTVERFRl8yKSA+ICRAIDsgXAorCSAgY2htb2QgK3ggJEAgOyBmaSApCisKK21zLXRlc3QucHk6IFRlc3RzL01ldGFkYXRhLyQoTVNUVEVTVERFRikgeHN0Yy10by1weXRob24ueHNsCisJLUAoaWYgWyAteCAkKFhTTFRQUk9DKSBdIDsgdGhlbiBcCisJICBlY2hvICJSZWJ1aWxkaW5nIHNjcmlwdCAoTWljcm9zb2Z0KSIgJEAgOyBcCisJICAkKFhTTFRQUk9DKSAtLW5vbmV0IC0tc3RyaW5ncGFyYW0gdmVuZG9yIE1TIFwKKwkgICAgICAgICAgICAgICAgICAgICAkKHNyY2RpcikveHN0Yy10by1weXRob24ueHNsIFwKKwkgICAgICAgICAgICAgICAgICAgICAkKHNyY2RpcikvVGVzdHMvTWV0YWRhdGEvJChNU1RFU1RERUYpID4gJEAgOyBcCisJICBjaG1vZCAreCAkQCA7IGZpICkKKworc3VuLXRlc3QucHk6IFRlc3RzL01ldGFkYXRhLyQoU1VOVEVTVERFRikgeHN0Yy10by1weXRob24ueHNsCisJLUAoaWYgWyAteCAkKFhTTFRQUk9DKSBdIDsgdGhlbiBcCisJICBlY2hvICJSZWJ1aWxkaW5nIHNjcmlwdCAoU3VuKSIgJEAgOyBcCisJICAkKFhTTFRQUk9DKSAtLW5vbmV0IC0tc3RyaW5ncGFyYW0gdmVuZG9yIFNVTiBcCisJICAgICAgICAgICAgICAgICAgICAgJChzcmNkaXIpL3hzdGMtdG8tcHl0aG9uLnhzbCBcCisJICAgICAgICAgICAgICAgICAgICAgJChzcmNkaXIpL1Rlc3RzL01ldGFkYXRhLyQoU1VOVEVTVERFRikgPiAkQCA7IFwKKwkgIGNobW9kICt4ICRAIDsgZmkgKQorCisjCisjIFRoZSBhY3R1YWwgdGVzdCBydW4gaWYgcHJlc2VudC4gUFlUSE9OUEFUSCBpcyB1cGRhdGVkIHRvIG1ha2Ugc3VyZQorIyB3ZSBydW4gdGhlIHZlcnNpb24gZnJvbSB0aGUgbG9hY2wgYnVpbGQgYW5kIG5vdCBwcmVpbnN0YWxsZWQgYmluZGluZ3MKKyMKK3B5dGVzdHM6ICQoUFlTQ1JJUFRTKSAkKFRFU1RESVJTKQorCS1AKGlmIFsgLXggbmlzdC10ZXN0LnB5IC1hIC1kICQoVEVTVERJUikvRGF0YXR5cGVzIF0gOyB0aGVuIAkJXAorCSAgIGVjaG8gIiMjIFJ1bm5pbmcgWE1MIFNjaGVtYSB0ZXN0cyAoTklTVCkiOwkJCVwKKwkgICBQWVRIT05QQVRIPSIuLi9weXRob246Li4vcHl0aG9uLy5saWJzOi4uOi4uLy5saWJzOiQkUFlUSE9OUEFUSCIgO1wKKwkgICBleHBvcnQgUFlUSE9OUEFUSDsJCQkJCQlcCisJICAgTERfTElCUkFSWV9QQVRIPSIkKHRvcF9idWlsZGRpcikvLmxpYnM6JCRMRF9MSUJSQVJZX1BBVEgiIDsJXAorCSAgIGV4cG9ydCBMRF9MSUJSQVJZX1BBVEg7CQkJCQlcCisJICAgJChDSEVDS0VSKSAkKFBZVEhPTikgbmlzdC10ZXN0LnB5IC1zIC1iICQoc3JjZGlyKSA7IGZpKQorCS1AKGlmIFsgLXggc3VuLXRlc3QucHkgLWEgLWQgJChURVNURElSKS9zdW50ZXN0IF0gOyB0aGVuIAkJCVwKKwkgICBlY2hvICIjIyBSdW5uaW5nIFNjaGVtYSB0ZXN0cyAoU3VuKSI7CQkJCVwKKwkgICBQWVRIT05QQVRIPSIuLi9weXRob246Li4vcHl0aG9uLy5saWJzOi4uOi4uLy5saWJzOiQkUFlUSE9OUEFUSCIgO1wKKwkgICBleHBvcnQgUFlUSE9OUEFUSDsJCQkJCQlcCisJICAgTERfTElCUkFSWV9QQVRIPSIkKHRvcF9idWlsZGRpcikvLmxpYnM6JCRMRF9MSUJSQVJZX1BBVEgiIDsJXAorCSAgIGV4cG9ydCBMRF9MSUJSQVJZX1BBVEg7CQkJCQlcCisJICAgJChDSEVDS0VSKSAkKFBZVEhPTikgc3VuLXRlc3QucHkgLXMgLWIgJChzcmNkaXIpIDsgZmkpCisJLUAoaWYgWyAteCBtcy10ZXN0LnB5IC1hIC1kICQoVEVTVERJUikvbXN4c2R0ZXN0IF0gOyB0aGVuIAkJCVwKKwkgICBlY2hvICIjIyBSdW5uaW5nIFNjaGVtYSB0ZXN0cyAoTWljcm9zb2Z0KSI7CQkJXAorCSAgIFBZVEhPTlBBVEg9Ii4uL3B5dGhvbjouLi9weXRob24vLmxpYnM6Li46Li4vLmxpYnM6JCRQWVRIT05QQVRIIiA7XAorCSAgIGV4cG9ydCBQWVRIT05QQVRIOwkJCQkJCVwKKwkgICBMRF9MSUJSQVJZX1BBVEg9IiQodG9wX2J1aWxkZGlyKS8ubGliczokJExEX0xJQlJBUllfUEFUSCIgOwlcCisJICAgZXhwb3J0IExEX0xJQlJBUllfUEFUSDsJCQkJCVwKKwkgICAkKENIRUNLRVIpICQoUFlUSE9OKSBtcy10ZXN0LnB5IC1zIC1iICQoc3JjZGlyKSA7IGZpKQorCit0ZXN0czoKKwktQChpZiBbIC14ICQoUFlUSE9OKSBdIDsgdGhlbiAJCQkJCVwKKwkgICAkKE1BS0UpIHB5dGVzdHMgOyBmaSk7CisKKyMKKyMgSGVhdnksIHdvcmtzIHdlbGwgb25seSBvbiBSSEVMMworIwordmFsZ3JpbmQ6CisJLUAoaWYgWyAteCAkKFBZVEhPTikgXSA7IHRoZW4gCQkJCQlcCisJICAgZWNobyAnIyMgUnVubmluZyB0aGUgcmVncmVzc2lvbiB0ZXN0cyB1bmRlciBWYWxncmluZCcgOwlcCisJICAgJChNQUtFKSBDSEVDS0VSPSd2YWxncmluZCAtcScgcHl0ZXN0cyA7IGZpKTsKKworQ0xFQU5GSUxFUz0kKFBZU0NSSVBUUykgdGVzdC5sb2cKKwpkaWZmIC0tZ2l0IGEvbGlieG1sMi94c3RjL2ZpeHVwLXRlc3RzLnB5IGIvbGlieG1sMi94c3RjL2ZpeHVwLXRlc3RzLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjZlMzNkMWMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3hzdGMvZml4dXAtdGVzdHMucHkKQEAgLTAsMCArMSw5OSBAQAorIyEvdXNyL2Jpbi9weXRob24gLXUKKworaW1wb3J0IHN5cywgb3MKK2ltcG9ydCBsaWJ4bWwyCisKKworbGlieG1sMi5kZWJ1Z01lbW9yeSgxKQorYmFzZURpciA9IG9zLnBhdGguam9pbignbXN4c2R0ZXN0JywgJ1BhcnRpY2xlcycpCitmaWxlbmFtZXMgPSBvcy5saXN0ZGlyKGJhc2VEaXIpCittYWluWFNEID0gc3RyKCkKK3NpZ25hdHVyZSA9IHN0cigpCitkaWN0WFNEID0gZGljdCgpCisKK2RlZiBnYXRoZXJGaWxlcygpOgkKKyAgICBmb3IgZmlsZSBpbiBmaWxlbmFtZXM6CisgICAgICAgIGlmIChmaWxlWy01XSBpbiBbImEiLCAiYiIsICJjIl0pIGFuZCAoZmlsZVstMzpdID09ICd4c2QnKToKKyAgICAgICAgICAgICMgbmV3ZmlsZW5hbWUgPSBzdHJpbmcucmVwbGFjZShmaWxlbmFtZSwgJyAnLCAnXycpCisgICAgICAgICAgICBzaWduYXR1cmUgPSBmaWxlWzotNV0KKyAgICAgICAgICAgIG1haW5YU0QgPSBzaWduYXR1cmUgKyAiLnhzZCIKKyAgICAgICAgICAgIGltcG9ydHMgPSBbXQorICAgICAgICAgICAgZm9yIHN1YiBpbiBmaWxlbmFtZXM6CisgICAgICAgICAgICAgICAgaWYgKG1haW5YU0QgIT0gc3ViKSBhbmQgKHN1YlstMzpdID09ICd4c2QnKSBhbmQgc3ViLnN0YXJ0c3dpdGgoc2lnbmF0dXJlKToKKyAgICAgICAgICAgICAgICAgICAgaW1wb3J0cy5hcHBlbmQoc3ViKQorICAgICAgICAgICAgaWYgbGVuKGltcG9ydHMpICE9IDA6CisgICAgICAgICAgICAgICAgZGljdFhTRFttYWluWFNEXSA9IGltcG9ydHMKKworZGVmIGRlYnVnTXNnKHRleHQpOgorICAgICNwYXNzCisgICAgcHJpbnQgIkRFQlVHOiIsIHRleHQKKyAgICAKKyAgICAKK2RlZiBmaXh1cCgpOiAgICAgIAorICAgIGZvciBtYWluWFNEIGluIGRpY3RYU0Q6CisgICAgICAgIGRlYnVnTXNnKCJmaXhpbmcgJyVzJy4uLiIgJSBtYWluWFNEKQkKKwlzY2hlbWFEb2MgPSBOb25lCisJeHBtYWluQ3R4ID0gTm9uZQkKKyAgICAgICAgIyBMb2FkIHRoZSBzY2hlbWEgZG9jdW1lbnQuCisgICAgICAgIHNjaGVtYUZpbGUgPSBvcy5wYXRoLmpvaW4oYmFzZURpciwgbWFpblhTRCkKKyAgICAgICAgc2NoZW1hRG9jID0gbGlieG1sMi5wYXJzZUZpbGUoc2NoZW1hRmlsZSkKKwlpZiAoc2NoZW1hRG9jIGlzIE5vbmUpOgorCSAgICBwcmludCAiRVJST1I6IGRvYyAnJXMnIG5vdCBmb3VuZCIgJSBtYWluWFNECisgICAgICAgICAgICBzeXMuZXhpdCgxKQorCXRyeTogICAgCisJICAgIHhwbWFpbkN0eCA9IHNjaGVtYURvYy54cGF0aE5ld0NvbnRleHQoKQorICAgICAgICAgICAgeHBtYWluQ3R4LnhwYXRoUmVnaXN0ZXJOcygieHMiLCAiaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiKTsJCQorICAgICAgICAgICAgeHByZXMgPSB4cG1haW5DdHgueHBhdGhFdmFsKCIveHM6c2NoZW1hIikKKyAgICAgICAgICAgIGlmIGxlbih4cHJlcykgPT0gMDoKKyAgICAgICAgICAgICAgICBwcmludCAiRVJST1I6IGRvYyAnJXMnIGhhcyBubyA8c2NoZW1hPiBlbGVtZW50IiAlIG1haW5YU0QKKyAgICAgICAgICAgICAgICBzeXMuZXhpdCgxKQorCSAgICBzY2hlbWFFbGVtID0geHByZXNbMF0gIAorCSAgICBzY2hlbWFOcyA9IHNjaGVtYUVsZW0ubnMoKQorCSAgICAjIFNlbGVjdCBhbGwgPGltcG9ydD5zLgorCSAgICB4cHJlcyA9IHhwbWFpbkN0eC54cGF0aEV2YWwoIi94czpzY2hlbWEveHM6aW1wb3J0IikJCisJICAgIGlmIGxlbih4cHJlcykgIT0gMDoKKwkgICAgICAgIGZvciBlbGVtIGluIHhwcmVzOgorCSAgICAgICAgICAgIGxvYyA9IGVsZW0ubm9Oc1Byb3AoInNjaGVtYUxvY2F0aW9uIikKKwkgICAgICAgICAgICBpZiAobG9jIGlzIG5vdCBOb25lKToKKwkgICAgICAgICAgICAgICAgZGVidWdNc2coIiAgaW1wb3J0cyAnJXMnIiAlIGxvYykKKwkgICAgICAgICAgICAgICAgaWYgbG9jIGluIGRpY3RYU0RbbWFpblhTRF06CisJICAgICAgICAgICAgICAgICAgICBkaWN0WFNEW21haW5YU0RdLnJlbW92ZShsb2MpCQkJCisJICAgIGZvciBsb2MgaW4gZGljdFhTRFttYWluWFNEXToJICAgIAorCSAgICAgICAgIyBSZWFkIG91dCB0aGUgdGFyZ2V0TmFtZXNwYWNlLgorCSAgICAgICAgaW1wVGFyZ2V0TnMgPSBOb25lCisJICAgICAgICBpbXBGaWxlID0gb3MucGF0aC5qb2luKGJhc2VEaXIsIGxvYykKKwkgICAgICAgIGltcERvYyA9IGxpYnhtbDIucGFyc2VGaWxlKGltcEZpbGUpCisJCXRyeToKKyAgICAgICAgICAgICAgICAgICAgeHBpbXBDdHggPSBpbXBEb2MueHBhdGhOZXdDb250ZXh0KCkKKwkJICAgIHRyeToKKyAgICAgICAgICAgICAgICAgICAgICAgIHhwaW1wQ3R4LnNldENvbnRleHREb2MoaW1wRG9jKQorCSAgICAgICAgICAgICAgICB4cGltcEN0eC54cGF0aFJlZ2lzdGVyTnMoInhzIiwgImh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIik7ICAKKwkgICAgICAgICAgICAgICAgeHByZXMgPSB4cGltcEN0eC54cGF0aEV2YWwoIi94czpzY2hlbWEiKQorCSAgICAgICAgICAgICAgICBpbXBUYXJnZXROcyA9IHhwcmVzWzBdLm5vTnNQcm9wKCJ0YXJnZXROYW1lc3BhY2UiKQorCSAgICAgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICAgICAgICAgICAgICB4cGltcEN0eC54cGF0aEZyZWVDb250ZXh0KCkKKwkgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICAgICAgICAgIGltcERvYy5mcmVlRG9jKCkKKwkgICAgICAgICAgICAgICAgCisJICAgICAgICAjIEFkZCB0aGUgPGltcG9ydD4uCisJICAgICAgICBkZWJ1Z01zZygiICBhZGRpbmcgPGltcG9ydCBuYW1lc3BhY2U9JyVzJyBzY2hlbWFMb2NhdGlvbj0nJXMnLz4iICUgKGltcFRhcmdldE5zLCBsb2MpKQorCSAgICAgICAgbmV3RWxlbSA9IHNjaGVtYURvYy5uZXdEb2NOb2RlKHNjaGVtYU5zLCAiaW1wb3J0IiwgTm9uZSkKKwkgICAgICAgIGlmIChpbXBUYXJnZXROcyBpcyBub3QgTm9uZSk6CisgICAgICAgICAgICAgICAgICAgIG5ld0VsZW0ubmV3UHJvcCgibmFtZXNwYWNlIiwgaW1wVGFyZ2V0TnMpCisJICAgICAgICBuZXdFbGVtLm5ld1Byb3AoInNjaGVtYUxvY2F0aW9uIiwgbG9jKQorCSAgICAgICAgaWYgc2NoZW1hRWxlbS5jaGlsZHJlbiBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICAgICAgc2NoZW1hRWxlbS5jaGlsZHJlbi5hZGRQcmV2U2libGluZyhuZXdFbGVtKQorICAgICAgICAgICAgICAgIHNjaGVtYURvYy5zYXZlRmlsZShzY2hlbWFGaWxlKQorCWZpbmFsbHk6CisgICAgICAgICAgICB4cG1haW5DdHgueHBhdGhGcmVlQ29udGV4dCgpCisgICAgICAgICAgICBzY2hlbWFEb2MuZnJlZURvYygpCisJICAgIAordHJ5OgorICAgIGdhdGhlckZpbGVzKCkKKyAgICBmaXh1cCgpCitmaW5hbGx5OgorICAgIGxpYnhtbDIuY2xlYW51cFBhcnNlcigpCisgICAgaWYgbGlieG1sMi5kZWJ1Z01lbW9yeSgxKSAhPSAwOgorICAgICAgICBwcmludCAiTWVtb3J5IGxlYWsgJWQgYnl0ZXMiICUgKGxpYnhtbDIuZGVidWdNZW1vcnkoMSkpCisgICAgICAgIGxpYnhtbDIuZHVtcE1lbW9yeSgpCisKZGlmZiAtLWdpdCBhL2xpYnhtbDIveHN0Yy94c3RjLXRvLXB5dGhvbi54c2wgYi9saWJ4bWwyL3hzdGMveHN0Yy10by1weXRob24ueHNsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjc4ZDU1Y2QKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bWwyL3hzdGMveHN0Yy10by1weXRob24ueHNsCkBAIC0wLDAgKzEsMTE0IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCIgPz4NCis8eHNsOnN0eWxlc2hlZXQgDQorCXhtbG5zOnhzbD0iaHR0cDovL3d3dy53My5vcmcvMTk5OS9YU0wvVHJhbnNmb3JtIg0KKwl4bWxuczp0cz0iVGVzdFN1aXRlIiB2ZXJzaW9uPSIxLjAiDQorCXhtbG5zOnhsPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4NCisJPHhzbDpwYXJhbSBuYW1lPSJ2ZW5kb3IiIHNlbGVjdD0iJ05JU1QnIi8+DQorICAgIDx4c2w6b3V0cHV0IG1ldGhvZD0idGV4dCIvPiAgIA0KKw0KKyAgICA8eHNsOnRlbXBsYXRlIG1hdGNoPSIvIj4NCisgICAgICAgIDx4c2w6dGV4dD4jIS91c3IvYmluL3B5dGhvbiAtdQ0KKyMgLSotIGNvZGluZzogVVRGLTggLSotDQorIw0KKyMgVGhpcyBmaWxlIGlzIGdlbmVyYXRlZCBmcm9tIHRoZSBXM0MgdGVzdCBzdWl0ZSBkZXNjcmlwdGlvbiBmaWxlLg0KKyMNCisNCitpbXBvcnQgeHN0Yw0KK2Zyb20geHN0YyBpbXBvcnQgWFNUQ1Rlc3RSdW5uZXIsIFhTVENUZXN0R3JvdXAsIFhTVENTY2hlbWFUZXN0LCBYU1RDSW5zdGFuY2VUZXN0DQorDQoreHN0Yy52ZW5kb3IgPSAiPC94c2w6dGV4dD48eHNsOnZhbHVlLW9mIHNlbGVjdD0iJHZlbmRvciIvPjx4c2w6dGV4dD4iDQorDQorciA9IFhTVENUZXN0UnVubmVyKCkNCisNCisjIEdyb3VwIGRlZmluaXRpb25zLg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KKzwveHNsOnRleHQ+DQorCQkgICAgICANCisgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0idHM6dGVzdFNldC90czp0ZXN0R3JvdXAiIG1vZGU9Imdyb3VwLWRlZiIvPg0KKzx4c2w6dGV4dD4NCisNCisjIFRlc3QgZGVmaW5pdGlvbnMuDQorDQorPC94c2w6dGV4dD4NCisJCTx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0idHM6dGVzdFNldC90czp0ZXN0R3JvdXAiIG1vZGU9InRlc3QtZGVmIi8+DQorICAgICAgICA8eHNsOnRleHQ+DQorICAgICAgICAgICANCityLnJ1bigpICAgIA0KKw0KKzwveHNsOnRleHQ+DQorICAgICAgICAgICAgDQorICAgIDwveHNsOnRlbXBsYXRlPiAgICAgICANCisNCisJPCEtLSBncm91cE5hbWUsIGRlc2NyIC0tPg0KKyAgICA8eHNsOnRlbXBsYXRlIG1hdGNoPSJ0czp0ZXN0R3JvdXAiIG1vZGU9Imdyb3VwLWRlZiI+DQorCQk8eHNsOnRleHQ+ci5hZGRHcm91cChYU1RDVGVzdEdyb3VwKCI8L3hzbDp0ZXh0Pg0KKwkJPCEtLSBncm91cCAtLT4NCisJCTx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPjx4c2w6dGV4dD4iLCAiPC94c2w6dGV4dD4NCisJCTwhLS0gbWFpbiBzY2hlbWEgLS0+DQorCQk8eHNsOnZhbHVlLW9mIHNlbGVjdD0idHM6c2NoZW1hVGVzdFsxXS90czpzY2hlbWFEb2N1bWVudC9AeGw6aHJlZiIvPjx4c2w6dGV4dD4iLCAiIiI8L3hzbDp0ZXh0Pg0KKwkJPCEtLSBncm91cC1kZXNjcmlwdGlvbiAtLT4NCisJCTx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJzdHIiPg0KKwkJCTx4c2w6d2l0aC1wYXJhbSBuYW1lPSJzdHIiIHNlbGVjdD0idHM6YW5ub3RhdGlvbi90czpkb2N1bWVudGF0aW9uL3RleHQoKSIvPg0KKwkJPC94c2w6Y2FsbC10ZW1wbGF0ZT4NCisJCTx4c2w6dGV4dD4iIiIpKQ0KKzwveHNsOnRleHQ+DQorCTwveHNsOnRlbXBsYXRlPg0KKwkNCisJPHhzbDp0ZW1wbGF0ZSBuYW1lPSJzdHIiPg0KKwkJPHhzbDpwYXJhbSBuYW1lPSJzdHIiLz4NCisJCTx4c2w6Y2hvb3NlPg0KKwkJCTx4c2w6d2hlbiB0ZXN0PSJjb250YWlucygkc3RyLCAnJnF1b3Q7JykiPg0KKwkJCQk8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0ic3RyIj4NCisJCQkJCTx4c2w6d2l0aC1wYXJhbSBuYW1lPSJzdHIiIHNlbGVjdD0ic3Vic3RyaW5nLWJlZm9yZSgkc3RyLCAnJnF1b3Q7JykiLz4NCisJCQkJPC94c2w6Y2FsbC10ZW1wbGF0ZT4NCisJCQkJPHhzbDp0ZXh0Pic8L3hzbDp0ZXh0Pg0KKwkJCQk8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0ic3RyIj4NCisJCQkJCTx4c2w6d2l0aC1wYXJhbSBuYW1lPSJzdHIiIHNlbGVjdD0ic3Vic3RyaW5nLWFmdGVyKCRzdHIsICcmcXVvdDsnKSIvPg0KKwkJCQk8L3hzbDpjYWxsLXRlbXBsYXRlPg0KKwkJCQ0KKwkJCTwveHNsOndoZW4+DQorCQkJPHhzbDpvdGhlcndpc2U+DQorCQkJCTx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkc3RyIi8+DQorCQkJPC94c2w6b3RoZXJ3aXNlPg0KKwkJPC94c2w6Y2hvb3NlPg0KKwk8L3hzbDp0ZW1wbGF0ZT4NCisNCisJPHhzbDp0ZW1wbGF0ZSBtYXRjaD0idHM6dGVzdEdyb3VwIiBtb2RlPSJ0ZXN0LWRlZiI+CSAgICANCisJCTx4c2w6cGFyYW0gbmFtZT0iZ3JvdXAiIHNlbGVjdD0iQG5hbWUiLz4NCisJCTx4c2w6Zm9yLWVhY2ggc2VsZWN0PSJ0czpzY2hlbWFUZXN0Ij4NCisJCQk8IS0tIGdyb3VwTmFtZSwgaXNTY2hlbWEsIE5hbWUsIEFjY2VwdGVkLCBGaWxlLCBWYWwsIERlc2NyIC0tPg0KKwkJCTx4c2w6dGV4dD5yLmFkZFRlc3QoWFNUQ1NjaGVtYVRlc3QoIjwveHNsOnRleHQ+DQorCQkJPCEtLSBncm91cCAtLT4NCisJCQk8eHNsOnZhbHVlLW9mIHNlbGVjdD0iJGdyb3VwIi8+PHhzbDp0ZXh0PiIsICI8L3hzbDp0ZXh0Pg0KKwkJCTwhLS0gdGVzdC1uYW1lIC0tPg0KKwkJCTx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPjx4c2w6dGV4dD4iLCA8L3hzbDp0ZXh0Pg0KKwkJCTwhLS0gYWNjZXB0ZWQgLS0+DQorCQkJPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9Im51bWJlcih0czpjdXJyZW50L0BzdGF0dXMgPSAnYWNjZXB0ZWQnKSIvPjx4c2w6dGV4dD4sICI8L3hzbDp0ZXh0Pg0KKwkJCTwhLS0gZmlsZW5hbWUgLS0+CQkJDQorCQkJPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9InRzOnNjaGVtYURvY3VtZW50L0B4bDpocmVmIi8+PHhzbDp0ZXh0PiIsIDwveHNsOnRleHQ+DQorCQkJPCEtLSB2YWxpZGl0eSAtLT4NCisJCQk8eHNsOnZhbHVlLW9mIHNlbGVjdD0ibnVtYmVyKHRzOmV4cGVjdGVkL0B2YWxpZGl0eSA9ICd2YWxpZCcpIi8+PHhzbDp0ZXh0PiwgIjwveHNsOnRleHQ+DQorCQkJPCEtLSB0ZXN0LWRlc2NyaXB0aW9uIC0tPg0KKwkJCTx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJ0czphbm5vdGF0aW9uL3RzOmRvY3VtZW50YXRpb24vdGV4dCgpIi8+PHhzbDp0ZXh0PiIpKQ0KKzwveHNsOnRleHQ+DQorCQk8L3hzbDpmb3ItZWFjaD4NCisJCTx4c2w6Zm9yLWVhY2ggc2VsZWN0PSJ0czppbnN0YW5jZVRlc3QiPg0KKwkJCTwhLS0gZ3JvdXBOYW1lLCBpc1NjaGVtYSwgTmFtZSwgQWNjZXB0ZWQsIEZpbGUsIFZhbCwgRGVzY3IgLS0+DQorCQkJPHhzbDp0ZXh0PnIuYWRkVGVzdChYU1RDSW5zdGFuY2VUZXN0KCI8L3hzbDp0ZXh0Pg0KKwkJCTwhLS0gZ3JvdXAgLS0+DQorCQkJPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRncm91cCIvPjx4c2w6dGV4dD4iLCAiPC94c2w6dGV4dD4NCisJCQk8IS0tIHRlc3QtbmFtZSAtLT4NCisJCQk8eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz48eHNsOnRleHQ+IiwgPC94c2w6dGV4dD4NCisJCQk8IS0tIGFjY2VwdGVkIC0tPg0KKwkJCTx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJudW1iZXIodHM6Y3VycmVudC9Ac3RhdHVzID0gJ2FjY2VwdGVkJykiLz48eHNsOnRleHQ+LCAiPC94c2w6dGV4dD4NCisJCQk8IS0tIGZpbGVuYW1lIC0tPgkJCQ0KKwkJCTx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJ0czppbnN0YW5jZURvY3VtZW50L0B4bDpocmVmIi8+PHhzbDp0ZXh0PiIsIDwveHNsOnRleHQ+DQorCQkJPCEtLSB2YWxpZGl0eSAtLT4NCisJCQk8eHNsOnZhbHVlLW9mIHNlbGVjdD0ibnVtYmVyKHRzOmV4cGVjdGVkL0B2YWxpZGl0eSA9ICd2YWxpZCcpIi8+PHhzbDp0ZXh0PiwgIjwveHNsOnRleHQ+DQorCQkJPCEtLSB0ZXN0LWRlc2NyaXB0aW9uIC0tPg0KKwkJCTx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJ0czphbm5vdGF0aW9uL3RzOmRvY3VtZW50YXRpb24vdGV4dCgpIi8+PHhzbDp0ZXh0PiIpKQ0KKzwveHNsOnRleHQ+DQorCQk8L3hzbDpmb3ItZWFjaD4NCisJPC94c2w6dGVtcGxhdGU+ICAgICAgICAgICAgICAgICAgICAgDQorICAgICAgICANCis8L3hzbDpzdHlsZXNoZWV0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYnhtbDIveHN0Yy94c3RjLnB5IGIvbGlieG1sMi94c3RjL3hzdGMucHkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uY2EwMTFiYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIveHN0Yy94c3RjLnB5CkBAIC0wLDAgKzEsNjkzIEBACisjIS91c3IvYmluL2VudiBweXRob24KKworIworIyBUaGlzIGlzIHRoZSBNUyBzdWJzZXQgb2YgdGhlIFczQyB0ZXN0IHN1aXRlIGZvciBYTUwgU2NoZW1hcy4KKyMgVGhpcyBmaWxlIGlzIGdlbmVyYXRlZCBmcm9tIHRoZSBNUyBXM2MgdGVzdCBzdWl0ZSBkZXNjcmlwdGlvbiBmaWxlLgorIworCitpbXBvcnQgc3lzLCBvcworaW1wb3J0IGV4Y2VwdGlvbnMsIG9wdHBhcnNlCitpbXBvcnQgbGlieG1sMgorCitvcGEgPSBvcHRwYXJzZS5PcHRpb25QYXJzZXIoKQorCitvcGEuYWRkX29wdGlvbigiLWIiLCAiLS1iYXNlIiwgYWN0aW9uPSJzdG9yZSIsIHR5cGU9InN0cmluZyIsIGRlc3Q9ImJhc2VEaXIiLAorCQkJICAgZGVmYXVsdD0iIiwKKwkJCSAgIGhlbHA9IiIiVGhlIGJhc2UgZGlyZWN0b3J5OyBpLmUuIHRoZSBwYXJlbnQgZm9sZGVyIG9mIHRoZQorCQkJICAgIm5pc3R0ZXN0IiwgInN1bnRlc3QiIGFuZCAibXN4c2R0ZXN0IiBkaXJlY3Rvcmllcy4iIiIpCisKK29wYS5hZGRfb3B0aW9uKCItbyIsICItLW91dCIsIGFjdGlvbj0ic3RvcmUiLCB0eXBlPSJzdHJpbmciLCBkZXN0PSJsb2dGaWxlIiwKKwkJCSAgIGRlZmF1bHQ9InRlc3QubG9nIiwKKwkJCSAgIGhlbHA9IlRoZSBmaWxlcGF0aCBvZiB0aGUgbG9nIGZpbGUgdG8gYmUgY3JlYXRlZCIpCisKK29wYS5hZGRfb3B0aW9uKCItLWxvZyIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsIGRlc3Q9ImVuYWJsZUxvZyIsCisJCQkgICBkZWZhdWx0PUZhbHNlLAorCQkJICAgaGVscD0iQ3JlYXRlIHRoZSBsb2cgZmlsZSIpCisKK29wYS5hZGRfb3B0aW9uKCItLW5vLXRlc3Qtb3V0IiwgYWN0aW9uPSJzdG9yZV90cnVlIiwgZGVzdD0iZGlzYWJsZVRlc3RTdGRPdXQiLAorCQkJICAgZGVmYXVsdD1GYWxzZSwKKwkJCSAgIGhlbHA9IkRvbid0IG91dHB1dCB0ZXN0IHJlc3VsdHMiKQorCitvcGEuYWRkX29wdGlvbigiLXMiLCAiLS1zaWxlbnQiLCBhY3Rpb249InN0b3JlX3RydWUiLCBkZXN0PSJzaWxlbnQiLCBkZWZhdWx0PUZhbHNlLAorCQkJICAgaGVscD0iRGlzYWJsZXMgZGlzcGxheSBvZiBhbGwgdGVzdHMiKQorCitvcGEuYWRkX29wdGlvbigiLXYiLCAiLS12ZXJib3NlIiwgYWN0aW9uPSJzdG9yZV90cnVlIiwgZGVzdD0idmVyYm9zZSIsCisJCQkgICBkZWZhdWx0PUZhbHNlLAorCQkJICAgaGVscD0iRGlzcGxheXMgYWxsIHRlc3RzIChvbmx5IGlmIC0tc2lsZW50IGlzIG5vdCBzZXQpIikKKworb3BhLmFkZF9vcHRpb24oIi14IiwgIi0tbWF4IiwgdHlwZT0iaW50IiwgZGVzdD0ibWF4VGVzdENvdW50IiwKKwkJCSAgIGRlZmF1bHQ9Ii0xIiwKKwkJCSAgIGhlbHA9IlRoZSBtYXhpbXVtIG51bWJlciBvZiB0ZXN0cyB0byBiZSBydW4iKQorCitvcGEuYWRkX29wdGlvbigiLXQiLCAiLS10ZXN0IiwgdHlwZT0ic3RyaW5nIiwgZGVzdD0ic2luZ2xlVGVzdCIsCisJCQkgICBkZWZhdWx0PU5vbmUsCisJCQkgICBoZWxwPSJSdW5zIHRoZSBzcGVjaWZpZWQgdGVzdCBvbmx5IikKKwkJCSAgIAorb3BhLmFkZF9vcHRpb24oIi0tdHN3IiwgIi0tdGVzdC1zdGFydHMtd2l0aCIsIHR5cGU9InN0cmluZyIsIGRlc3Q9InRlc3RTdGFydHNXaXRoIiwKKwkJCSAgIGRlZmF1bHQ9Tm9uZSwKKwkJCSAgIGhlbHA9IlJ1bnMgdGhlIHNwZWNpZmllZCB0ZXN0KHMpLCBzdGFydGluZyB3aXRoIHRoZSBnaXZlbiBzdHJpbmciKQorCitvcGEuYWRkX29wdGlvbigiLS1yaWVvIiwgIi0tcmVwb3J0LWludGVybmFsLWVycm9ycy1vbmx5IiwgYWN0aW9uPSJzdG9yZV90cnVlIiwKKwkJCSAgIGRlc3Q9InJlcG9ydEludGVybmFsRXJyT25seSIsIGRlZmF1bHQ9RmFsc2UsCisJCQkgICBoZWxwPSJEaXNwbGF5IGVycm9uZW91cyB0ZXN0cyBvZiB0eXBlICdpbnRlcm5hbCcgb25seSIpCisKK29wYS5hZGRfb3B0aW9uKCItLXJ1ZW8iLCAiLS1yZXBvcnQtdW5pbXBsZW1lbnRlZC1lcnJvcnMtb25seSIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsCisJCQkgICBkZXN0PSJyZXBvcnRVbmltcGxFcnJPbmx5IiwgZGVmYXVsdD1GYWxzZSwKKwkJCSAgIGhlbHA9IkRpc3BsYXkgZXJyb25lb3VzIHRlc3RzIG9mIHR5cGUgJ3VuaW1wbGVtZW50ZWQnIG9ubHkiKQorCitvcGEuYWRkX29wdGlvbigiLS1ybWxlbyIsICItLXJlcG9ydC1tZW0tbGVhay1lcnJvcnMtb25seSIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsCisJCQkgICBkZXN0PSJyZXBvcnRNZW1MZWFrRXJyT25seSIsIGRlZmF1bHQ9RmFsc2UsCisJCQkgICBoZWxwPSJEaXNwbGF5IGVycm9uZW91cyB0ZXN0cyBvZiB0eXBlICdtZW1vcnkgbGVhaycgb25seSIpCisKK29wYS5hZGRfb3B0aW9uKCItYyIsICItLWNvbWJpbmVzIiwgdHlwZT0ic3RyaW5nIiwgZGVzdD0iY29tYmluZXMiLAorCQkJICAgZGVmYXVsdD1Ob25lLAorCQkJICAgaGVscD0iQ29tYmluZXMgdG8gYmUgcnVuIChhbGwgaWYgb21pdHRlZCkiKQorCQkJICAgCitvcGEuYWRkX29wdGlvbigiLS1jc3ciLCAiLS1jc3ciLCB0eXBlPSJzdHJpbmciLCBkZXN0PSJjb21iaW5lU3RhcnRzV2l0aCIsCisJCQkgICBkZWZhdWx0PU5vbmUsCisJCQkgICBoZWxwPSJDb21iaW5lcyB0byBiZSBydW4gKGFsbCBpZiBvbWl0dGVkKSIpCQkJICAgCisKK29wYS5hZGRfb3B0aW9uKCItLXJjIiwgIi0tcmVwb3J0LWNvbWJpbmVzIiwgYWN0aW9uPSJzdG9yZV90cnVlIiwKKwkJCSAgIGRlc3Q9InJlcG9ydENvbWJpbmVzIiwgZGVmYXVsdD1GYWxzZSwKKwkJCSAgIGhlbHA9IkRpc3BsYXkgY29tYmluZSByZXBvcnRzIikKKworb3BhLmFkZF9vcHRpb24oIi0tcmVjIiwgIi0tcmVwb3J0LWVyci1jb21iaW5lcyIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsCisJCQkgICBkZXN0PSJyZXBvcnRFcnJDb21iaW5lcyIsIGRlZmF1bHQ9RmFsc2UsCisJCQkgICBoZWxwPSJEaXNwbGF5IGVycm9uZW91cyBjb21iaW5lIHJlcG9ydHMgb25seSIpCisKK29wYS5hZGRfb3B0aW9uKCItLWRlYnVnIiwgYWN0aW9uPSJzdG9yZV90cnVlIiwKKwkJCSAgIGRlc3Q9ImRlYnVnRW5hYmxlZCIsIGRlZmF1bHQ9RmFsc2UsCisJCQkgICBoZWxwPSJEaXNwbGF5cyBkZWJ1ZyBtZXNzYWdlcyIpCisKK29wYS5hZGRfb3B0aW9uKCItLWluZm8iLCBhY3Rpb249InN0b3JlX3RydWUiLAorCQkJICAgZGVzdD0iaW5mbyIsIGRlZmF1bHQ9RmFsc2UsCisJCQkgICBoZWxwPSJEaXNwbGF5cyBpbmZvIG9uIHRoZSBzdWl0ZSBvbmx5LiBEb2VzIG5vdCBydW4gYW55IHRlc3QuIikKK29wYS5hZGRfb3B0aW9uKCItLXNheCIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsCisJCQkgICBkZXN0PSJ2YWxpZGF0aW9uU0FYIiwgZGVmYXVsdD1GYWxzZSwKKwkJCSAgIGhlbHA9IlVzZSBTQVgyLWRyaXZlbiB2YWxpZGF0aW9uLiIpCitvcGEuYWRkX29wdGlvbigiLS10biIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsCisJCQkgICBkZXN0PSJkaXNwbGF5VGVzdE5hbWUiLCBkZWZhdWx0PUZhbHNlLAorCQkJICAgaGVscD0iRGlzcGxheSB0aGUgdGVzdCBuYW1lIGluIGV2ZXJ5IGNhc2UuIikKKworKG9wdGlvbnMsIGFyZ3MpID0gb3BhLnBhcnNlX2FyZ3MoKQorCitpZiBvcHRpb25zLmNvbWJpbmVzIGlzIG5vdCBOb25lOgorCW9wdGlvbnMuY29tYmluZXMgPSBvcHRpb25zLmNvbWJpbmVzLnNwbGl0KCkKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIFRoZSB2YXJzIGJlbG93IGFyZSBub3QgaW50ZW5kZWQgdG8gYmUgY2hhbmdlZC4KKyMKKworbXNnU2NoZW1hTm90VmFsaWRCdXRTaG91bGQgPSAgIlRoZSBzY2hlbWEgc2hvdWxkIGJlIHZhbGlkLiIKK21zZ1NjaGVtYVZhbGlkQnV0U2hvdWxkTm90ID0gIlRoZSBzY2hlbWEgc2hvdWxkIGJlIGludmFsaWQuIgorbXNnSW5zdGFuY2VOb3RWYWxpZEJ1dFNob3VsZCA9ICJUaGUgaW5zdGFuY2Ugc2hvdWxkIGJlIHZhbGlkLiIKK21zZ0luc3RhbmNlVmFsaWRCdXRTaG91bGROb3QgPSAiVGhlIGluc3RhbmNlIHNob3VsZCBiZSBpbnZhbGlkLiIKK3ZlbmRvck5JU1QgPSAiTklTVCIKK3ZlbmRvck5JU1RfMiA9ICJOSVNULTIiCit2ZW5kb3JTVU4gID0gIlNVTiIKK3ZlbmRvck1TICAgPSAiTVMiCisKKyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgSGVscGVyIGZ1bmN0aW9ucy4KKyMKK3ZlbmRvciA9IE5vbmUKKworZGVmIGhhbmRsZUVycm9yKHRlc3QsIG1zZyk6CisJZ2xvYmFsIG9wdGlvbnMKKwlpZiBub3Qgb3B0aW9ucy5zaWxlbnQ6CisJCXRlc3QuYWRkTGliTG9nKCInJXMnICAgTElCOiAlcyIgJSAodGVzdC5uYW1lLCBtc2cpKQorCWlmIG1zZy5maW5kKCJVbmltcGxlbWVudGVkIikgPiAtMToKKwkJdGVzdC5mYWlsVW5pbXBsZW1lbnRlZCgpCisJZWxpZiBtc2cuZmluZCgiSW50ZXJuYWwiKSA+IC0xOgorCQl0ZXN0LmZhaWxJbnRlcm5hbCgpCisJCQorCQorZGVmIGZpeEZpbGVOYW1lcyhmaWxlTmFtZSk6CisJaWYgKGZpbGVOYW1lIGlzIE5vbmUpIG9yIChmaWxlTmFtZSA9PSAiIik6CisJCXJldHVybiAiIgorCWRpcnMgPSBmaWxlTmFtZS5zcGxpdCgiLyIpCisJaWYgZGlyc1sxXSAhPSAiVGVzdHMiOgorCQlmaWxlTmFtZSA9IG9zLnBhdGguam9pbigiLiIsICJUZXN0cyIpCisJCWZvciBkaXIgaW4gZGlyc1sxOl06CisJCQlmaWxlTmFtZSA9IG9zLnBhdGguam9pbihmaWxlTmFtZSwgZGlyKQkKKwlyZXR1cm4gZmlsZU5hbWUKKworY2xhc3MgWFNUQ1Rlc3RHcm91cDoKKwlkZWYgX19pbml0X18oc2VsZiwgbmFtZSwgc2NoZW1hRmlsZU5hbWUsIGRlc2NyKToKKwkJZ2xvYmFsIHZlbmRvciwgdmVuZG9yTklTVF8yCisJCXNlbGYubmFtZSA9IG5hbWUKKwkJc2VsZi5kZXNjciA9IGRlc2NyCisJCXNlbGYubWFpblNjaGVtYSA9IFRydWUKKwkJc2VsZi5zY2hlbWFGaWxlTmFtZSA9IGZpeEZpbGVOYW1lcyhzY2hlbWFGaWxlTmFtZSkKKwkJc2VsZi5zY2hlbWFQYXJzZWQgPSBGYWxzZQorCQlzZWxmLnNjaGVtYVRyaWVkID0gRmFsc2UKKworCWRlZiBzZXRTY2hlbWEoc2VsZiwgc2NoZW1hRmlsZU5hbWUsIHBhcnNlZCk6CisJCWlmIG5vdCBzZWxmLm1haW5TY2hlbWE6CQkJCisJCQlyZXR1cm4KKwkJc2VsZi5tYWluU2NoZW1hID0gRmFsc2UKKwkJc2VsZi5zY2hlbWFQYXJzZWQgPSBwYXJzZWQKKwkJc2VsZi5zY2hlbWFUcmllZCA9IFRydWUKKworY2xhc3MgWFNUQ1Rlc3RDYXNlOgorCisJCSAgICMgPCEtLSBncm91cE5hbWUsIE5hbWUsIEFjY2VwdGVkLCBGaWxlLCBWYWwsIERlc2NyCisJZGVmIF9faW5pdF9fKHNlbGYsIGlzU2NoZW1hLCBncm91cE5hbWUsIG5hbWUsIGFjY2VwdGVkLCBmaWxlLCB2YWwsIGRlc2NyKToKKwkJZ2xvYmFsIG9wdGlvbnMKKwkJIworCQkjIENvbnN0cnVjdG9yLgorCQkjCisJCXNlbGYudGVzdFJ1bm5lciA9IE5vbmUKKwkJc2VsZi5pc1NjaGVtYSA9IGlzU2NoZW1hCisJCXNlbGYuZ3JvdXBOYW1lID0gZ3JvdXBOYW1lCisJCXNlbGYubmFtZSA9IG5hbWUKKwkJc2VsZi5hY2NlcHRlZCA9IGFjY2VwdGVkCQkKKwkJc2VsZi5maWxlTmFtZSA9IGZpeEZpbGVOYW1lcyhmaWxlKQorCQlzZWxmLnZhbCA9IHZhbAorCQlzZWxmLmRlc2NyID0gZGVzY3IKKwkJc2VsZi5mYWlsZWQgPSBGYWxzZQorCQlzZWxmLmNvbWJpbmVOYW1lID0gTm9uZQorCisJCXNlbGYubG9nID0gW10KKwkJc2VsZi5saWJMb2cgPSBbXQorCQlzZWxmLmluaXRpYWxNZW1Vc2VkID0gMAorCQlzZWxmLm1lbUxlYWsgPSAwCisJCXNlbGYuZXhjZXB0ZWQgPSBGYWxzZQorCQlzZWxmLmJhZCA9IEZhbHNlCisJCXNlbGYudW5pbXBsZW1lbnRlZCA9IEZhbHNlCisJCXNlbGYuaW50ZXJuYWxFcnIgPSBGYWxzZQorCQlzZWxmLm5vU2NoZW1hRXJyID0gRmFsc2UKKwkJc2VsZi5mYWlsZWQgPSBGYWxzZQorCQkjCisJCSMgSW5pdCB0aGUgbG9nLgorCQkjCisJCWlmIG5vdCBvcHRpb25zLnNpbGVudDoKKwkJCWlmIHNlbGYuZGVzY3IgaXMgbm90IE5vbmU6CisJCQkJc2VsZi5sb2cuYXBwZW5kKCInJXMnICAgZGVzY3I6ICVzXG4iICUgKHNlbGYubmFtZSwgc2VsZi5kZXNjcikpCQkKKwkJCXNlbGYubG9nLmFwcGVuZCgiJyVzJyAgIGV4cCB2YWxpZGl0eTogJWRcbiIgJSAoc2VsZi5uYW1lLCBzZWxmLnZhbCkpCisKKwlkZWYgaW5pdFRlc3Qoc2VsZiwgcnVubmVyKToKKwkJZ2xvYmFsIHZlbmRvck5JU1QsIHZlbmRvclNVTiwgdmVuZG9yTVMsIHZlbmRvck5JU1RfMiwgb3B0aW9ucywgdmVuZG9yCisJCSMKKwkJIyBHZXQgdGhlIHRlc3QtZ3JvdXAuCisJCSMKKwkJc2VsZi5ydW5uZXIgPSBydW5uZXIKKwkJc2VsZi5ncm91cCA9IHJ1bm5lci5nZXRHcm91cChzZWxmLmdyb3VwTmFtZSkJCQkJCisJCWlmIHZlbmRvciA9PSB2ZW5kb3JNUyBvciB2ZW5kb3IgPT0gdmVuZG9yU1VOOgorCQkJIworCQkJIyBVc2UgdGhlIGxhc3QgZ2l2ZW4gZGlyZWN0b3J5IGZvciB0aGUgY29tYmluZSBuYW1lLgorCQkJIworCQkJZGlycyA9IHNlbGYuZmlsZU5hbWUuc3BsaXQoIi8iKQorCQkJc2VsZi5jb21iaW5lTmFtZSA9IGRpcnNbbGVuKGRpcnMpIC0yXQkJCQkJCisJCWVsaWYgdmVuZG9yID09IHZlbmRvck5JU1Q6CisJCQkjCisJCQkjIE5JU1QgZmlsZXMgYXJlIG5hbWVkIGluIHRoZSBmb2xsb3dpbmcgZm9ybToKKwkJCSMgIk5JU1RTY2hlbWEtc2hvcnQtcGF0dGVybi0xLnhzZCIKKwkJCSMJCQkJCQkKKwkJCXRva2VucyA9IHNlbGYubmFtZS5zcGxpdCgiLSIpCisJCQlzZWxmLmNvbWJpbmVOYW1lID0gdG9rZW5zWzFdCisJCWVsaWYgdmVuZG9yID09IHZlbmRvck5JU1RfMjoKKwkJCSMKKwkJCSMgR3JvdXAtbmFtZXMgaGF2ZSB0aGUgZm9ybTogImF0b21pYy1ub3JtYWxpemVkU3RyaW5nLWxlbmd0aC0xIgorCQkJIworCQkJdG9rZW5zID0gc2VsZi5ncm91cE5hbWUuc3BsaXQoIi0iKQorCQkJc2VsZi5jb21iaW5lTmFtZSA9ICIlcy0lcyIgJSAodG9rZW5zWzBdLCB0b2tlbnNbMV0pCisJCWVsc2U6CisJCQlzZWxmLmNvbWJpbmVOYW1lID0gInVua293biIKKwkJCXJhaXNlIEV4Y2VwdGlvbigiQ291bGQgbm90IGNvbXB1dGUgdGhlIGNvbWJpbmUgbmFtZSBvZiBhIHRlc3QuIikKKwkJaWYgKG5vdCBvcHRpb25zLnNpbGVudCkgYW5kIChzZWxmLmdyb3VwLmRlc2NyIGlzIG5vdCBOb25lKToKKwkJCXNlbGYubG9nLmFwcGVuZCgiJyVzJyAgIGdyb3VwLWRlc2NyOiAlc1xuIiAlIChzZWxmLm5hbWUsIHNlbGYuZ3JvdXAuZGVzY3IpKQorCQkKKworCWRlZiBhZGRMaWJMb2coc2VsZiwgbXNnKToJCQorCQkiIiJUaGlzIG9uZSBpcyBpbnRlbmRlZCB0byBiZSB1c2VkIGJ5IHRoZSBlcnJvciBoYW5kbGVyCisJCWZ1bmN0aW9uIiIiCisJCWdsb2JhbCBvcHRpb25zCQkKKwkJaWYgbm90IG9wdGlvbnMuc2lsZW50OgorCQkJc2VsZi5saWJMb2cuYXBwZW5kKG1zZykKKworCWRlZiBmYWlsKHNlbGYsIG1zZyk6CisJCWdsb2JhbCBvcHRpb25zCisJCXNlbGYuZmFpbGVkID0gVHJ1ZQorCQlpZiBub3Qgb3B0aW9ucy5zaWxlbnQ6CisJCQlzZWxmLmxvZy5hcHBlbmQoIiclcycgKCBGQUlMRUQ6ICVzXG4iICUgKHNlbGYubmFtZSwgbXNnKSkKKworCWRlZiBmYWlsTm9TY2hlbWEoc2VsZik6CisJCWdsb2JhbCBvcHRpb25zCisJCXNlbGYuZmFpbGVkID0gVHJ1ZQorCQlzZWxmLm5vU2NoZW1hRXJyID0gVHJ1ZQorCQlpZiBub3Qgb3B0aW9ucy5zaWxlbnQ6CisJCQlzZWxmLmxvZy5hcHBlbmQoIiclcycgWCBOTy1TQ0hFTUFcbiIgJSAoc2VsZi5uYW1lKSkKKworCWRlZiBmYWlsSW50ZXJuYWwoc2VsZik6CisJCWdsb2JhbCBvcHRpb25zCisJCXNlbGYuZmFpbGVkID0gVHJ1ZQorCQlzZWxmLmludGVybmFsRXJyID0gVHJ1ZQorCQlpZiBub3Qgb3B0aW9ucy5zaWxlbnQ6CisJCQlzZWxmLmxvZy5hcHBlbmQoIiclcycgKiBJTlRFUk5BTFxuIiAlIHNlbGYubmFtZSkKKworCWRlZiBmYWlsVW5pbXBsZW1lbnRlZChzZWxmKToKKwkJZ2xvYmFsIG9wdGlvbnMKKwkJc2VsZi5mYWlsZWQgPSBUcnVlCisJCXNlbGYudW5pbXBsZW1lbnRlZCA9IFRydWUKKwkJaWYgbm90IG9wdGlvbnMuc2lsZW50OgorCQkJc2VsZi5sb2cuYXBwZW5kKCInJXMnID8gVU5JTVBMRU1FTlRFRFxuIiAlIHNlbGYubmFtZSkKKworCWRlZiBmYWlsQ3JpdGljYWwoc2VsZiwgbXNnKToKKwkJZ2xvYmFsIG9wdGlvbnMKKwkJc2VsZi5mYWlsZWQgPSBUcnVlCisJCXNlbGYuYmFkID0gVHJ1ZQorCQlpZiBub3Qgb3B0aW9ucy5zaWxlbnQ6CisJCQlzZWxmLmxvZy5hcHBlbmQoIiclcycgISBCQUQ6ICVzXG4iICUgKHNlbGYubmFtZSwgbXNnKSkKKworCWRlZiBmYWlsRXhjZXB0KHNlbGYsIGUpOgorCQlnbG9iYWwgb3B0aW9ucworCQlzZWxmLmZhaWxlZCA9IFRydWUKKwkJc2VsZi5leGNlcHRlZCA9IFRydWUKKwkJaWYgbm90IG9wdGlvbnMuc2lsZW50OgorCQkJc2VsZi5sb2cuYXBwZW5kKCInJXMnICMgRVhDRVBUSU9OOiAlc1xuIiAlIChzZWxmLm5hbWUsIGUuX19zdHJfXygpKSkKKworCWRlZiBzZXRVcChzZWxmKToKKwkJIworCQkjIFNldCB1cCBMaWJ4bWwyLgorCQkjCisJCXNlbGYuaW5pdGlhbE1lbVVzZWQgPSBsaWJ4bWwyLmRlYnVnTWVtb3J5KDEpCisJCWxpYnhtbDIuaW5pdFBhcnNlcigpCisJCWxpYnhtbDIubGluZU51bWJlcnNEZWZhdWx0KDEpCisJCWxpYnhtbDIucmVnaXN0ZXJFcnJvckhhbmRsZXIoaGFuZGxlRXJyb3IsIHNlbGYpCisKKwlkZWYgdGVhckRvd24oc2VsZik6CisJCWxpYnhtbDIuc2NoZW1hQ2xlYW51cFR5cGVzKCkKKwkJbGlieG1sMi5jbGVhbnVwUGFyc2VyKCkKKwkJc2VsZi5tZW1MZWFrID0gbGlieG1sMi5kZWJ1Z01lbW9yeSgxKSAtIHNlbGYuaW5pdGlhbE1lbVVzZWQKKworCWRlZiBpc0lPRXJyb3Ioc2VsZiwgZmlsZSwgZG9jVHlwZSk6CisJCWVyciA9IE5vbmUKKwkJdHJ5OgorCQkJZXJyID0gbGlieG1sMi5sYXN0RXJyb3IoKQorCQlleGNlcHQ6CisJCQkjIFN1cHByZXNzIGV4Y2VwdGlvbnMuCisJCQlwYXNzCisJCWlmIChlcnIgaXMgTm9uZSk6CisJCQlyZXR1cm4gRmFsc2UKKwkJaWYgZXJyLmRvbWFpbigpID09IGxpYnhtbDIuWE1MX0ZST01fSU86CisJCQlzZWxmLmZhaWxDcml0aWNhbCgiZmFpbGVkIHRvIGFjY2VzcyB0aGUgJXMgcmVzb3VyY2UgJyVzJ1xuIiAlIChkb2NUeXBlLCBmaWxlKSkKKworCWRlZiBkZWJ1Z01zZyhzZWxmLCBtc2cpOgorCQlnbG9iYWwgb3B0aW9ucworCQlpZiBvcHRpb25zLmRlYnVnRW5hYmxlZDoKKwkJCXN5cy5zdGRvdXQud3JpdGUoIiclcycgICBERUJVRzogJXNcbiIgJSAoc2VsZi5uYW1lLCBtc2cpKQorCisJZGVmIGZpbmFsaXplKHNlbGYpOgorCQlnbG9iYWwgb3B0aW9ucworCQkiIiJBZGRzIGFkZGl0aW9uYWwgaW5mbyB0byB0aGUgbG9nLiIiIgorCQkjCisJCSMgQWRkIGxpYnhtbDIgbWVzc2FnZXMuCisJCSMKKwkJaWYgbm90IG9wdGlvbnMuc2lsZW50OgorCQkJc2VsZi5sb2cuZXh0ZW5kKHNlbGYubGliTG9nKQorCQkJIworCQkJIyBBZGQgbWVtb3J5IGxlYWtzLgorCQkJIworCQkJaWYgc2VsZi5tZW1MZWFrICE9IDA6CisJCQkJc2VsZi5sb2cuYXBwZW5kKCIlcyArIG1lbW9yeSBsZWFrOiAlZCBieXRlc1xuIiAlIChzZWxmLm5hbWUsIHNlbGYubWVtTGVhaykpCisKKwlkZWYgcnVuKHNlbGYpOgorCQkiIiJSdW5zIGEgdGVzdC4iIiIKKwkJZ2xvYmFsIG9wdGlvbnMKKworCQkjI2ZpbGVQYXRoID0gb3MucGF0aC5qb2luKG9wdGlvbnMuYmFzZURpciwgc2VsZi5maWxlTmFtZSkKKwkJIyBmaWxlUGF0aCA9ICIlcy8lcy8lcy8lcyIgJSAob3B0aW9ucy5iYXNlRGlyLCBzZWxmLnRlc3RfRm9sZGVyLCBzZWxmLnNjaGVtYV9Gb2xkZXIsIHNlbGYuc2NoZW1hX0ZpbGUpCisJCWlmIG9wdGlvbnMuZGlzcGxheVRlc3ROYW1lOgorCQkJc3lzLnN0ZG91dC53cml0ZSgiJyVzJ1xuIiAlIHNlbGYubmFtZSkKKwkJdHJ5OgorCQkJc2VsZi52YWxpZGF0ZSgpCisJCWV4Y2VwdCAoRXhjZXB0aW9uLCBsaWJ4bWwyLnBhcnNlckVycm9yLCBsaWJ4bWwyLnRyZWVFcnJvciksIGU6CisJCQlzZWxmLmZhaWxFeGNlcHQoZSkKKwkJCQorZGVmIHBhcnNlU2NoZW1hKGZpbGVOYW1lKToKKwlzY2hlbWEgPSBOb25lCisJY3R4dCA9IGxpYnhtbDIuc2NoZW1hTmV3UGFyc2VyQ3R4dChmaWxlTmFtZSkKKwl0cnk6CisJCXRyeToKKwkJCXNjaGVtYSA9IGN0eHQuc2NoZW1hUGFyc2UoKQorCQlleGNlcHQ6CisJCQlwYXNzCisJZmluYWxseToJCQorCQlkZWwgY3R4dAorCQlyZXR1cm4gc2NoZW1hCisJCQkJCisKK2NsYXNzIFhTVENTY2hlbWFUZXN0KFhTVENUZXN0Q2FzZSk6CisKKwlkZWYgX19pbml0X18oc2VsZiwgZ3JvdXBOYW1lLCBuYW1lLCBhY2NlcHRlZCwgZmlsZSwgdmFsLCBkZXNjcik6CisJCVhTVENUZXN0Q2FzZS5fX2luaXRfXyhzZWxmLCAxLCBncm91cE5hbWUsIG5hbWUsIGFjY2VwdGVkLCBmaWxlLCB2YWwsIGRlc2NyKQorCisJZGVmIHZhbGlkYXRlKHNlbGYpOgorCQlnbG9iYWwgbXNnU2NoZW1hTm90VmFsaWRCdXRTaG91bGQsIG1zZ1NjaGVtYVZhbGlkQnV0U2hvdWxkTm90CisJCXNjaGVtYSA9IE5vbmUKKwkJZmlsZVBhdGggPSBzZWxmLmZpbGVOYW1lCisJCSMgb3MucGF0aC5qb2luKG9wdGlvbnMuYmFzZURpciwgc2VsZi5maWxlTmFtZSkKKwkJdmFsaWQgPSAwCisJCXRyeToKKwkJCSMKKwkJCSMgUGFyc2UgdGhlIHNjaGVtYS4KKwkJCSMKKwkJCXNlbGYuZGVidWdNc2coImxvYWRpbmcgc2NoZW1hOiAlcyIgJSBmaWxlUGF0aCkKKwkJCXNjaGVtYSA9IHBhcnNlU2NoZW1hKGZpbGVQYXRoKQorCQkJc2VsZi5kZWJ1Z01zZygiYWZ0ZXIgbG9hZGluZyBzY2hlbWEiKQkJCQkJCQorCQkJaWYgc2NoZW1hIGlzIE5vbmU6CisJCQkJc2VsZi5kZWJ1Z01zZygic2NoZW1hIGlzIE5vbmUiKQorCQkJCXNlbGYuZGVidWdNc2coImNoZWNraW5nIGZvciBJTyBlcnJvcnMuLi4iKQorCQkJCWlmIHNlbGYuaXNJT0Vycm9yKGZpbGUsICJzY2hlbWEiKToKKwkJCQkJcmV0dXJuCisJCQlzZWxmLmRlYnVnTXNnKCJjaGVja2luZyBzY2hlbWEgcmVzdWx0IikKKwkJCWlmIChzY2hlbWEgaXMgTm9uZSBhbmQgc2VsZi52YWwpIG9yIChzY2hlbWEgaXMgbm90IE5vbmUgYW5kIHNlbGYudmFsID09IDApOgorCQkJCXNlbGYuZGVidWdNc2coInNjaGVtYSByZXN1bHQgaXMgQkFEIikKKwkJCQlpZiAoc2NoZW1hID09IE5vbmUpOgorCQkJCQlzZWxmLmZhaWwobXNnU2NoZW1hTm90VmFsaWRCdXRTaG91bGQpCisJCQkJZWxzZToKKwkJCQkJc2VsZi5mYWlsKG1zZ1NjaGVtYVZhbGlkQnV0U2hvdWxkTm90KQorCQkJZWxzZToKKwkJCQlzZWxmLmRlYnVnTXNnKCJzY2hlbWEgcmVzdWx0IGlzIE9LIikKKwkJZmluYWxseToKKwkJCXNlbGYuZ3JvdXAuc2V0U2NoZW1hKHNlbGYuZmlsZU5hbWUsIHNjaGVtYSBpcyBub3QgTm9uZSkKKwkJCWRlbCBzY2hlbWEKKworY2xhc3MgWFNUQ0luc3RhbmNlVGVzdChYU1RDVGVzdENhc2UpOgorCisJZGVmIF9faW5pdF9fKHNlbGYsIGdyb3VwTmFtZSwgbmFtZSwgYWNjZXB0ZWQsIGZpbGUsIHZhbCwgZGVzY3IpOgorCQlYU1RDVGVzdENhc2UuX19pbml0X18oc2VsZiwgMCwgZ3JvdXBOYW1lLCBuYW1lLCBhY2NlcHRlZCwgZmlsZSwgdmFsLCBkZXNjcikKKworCWRlZiB2YWxpZGF0ZShzZWxmKToKKwkJaW5zdGFuY2UgPSBOb25lCisJCXNjaGVtYSA9IE5vbmUKKwkJZmlsZVBhdGggPSBzZWxmLmZpbGVOYW1lCisJCSMgb3MucGF0aC5qb2luKG9wdGlvbnMuYmFzZURpciwgc2VsZi5maWxlTmFtZSkKKworCQlpZiBub3Qgc2VsZi5ncm91cC5zY2hlbWFQYXJzZWQgYW5kIHNlbGYuZ3JvdXAuc2NoZW1hVHJpZWQ6CisJCQlzZWxmLmZhaWxOb1NjaGVtYSgpCisJCQlyZXR1cm4KKwkJCQkJCisJCXNlbGYuZGVidWdNc2coImxvYWRpbmcgaW5zdGFuY2U6ICVzIiAlIGZpbGVQYXRoKQorCQlwYXJzZXJDdHh0ID0gbGlieG1sMi5uZXdQYXJzZXJDdHh0KCkKKwkJaWYgKHBhcnNlckN0eHQgaXMgTm9uZSk6CisJCQkjIFRPRE86IElzIHRoaXMgb25lIG5lY2Vzc2FyeSwgb3Igd2lsbCBhbiBleGNlcHRpb24KKwkJCSMgYmUgYWxyZWFkeSByYWlzZWQ/CisJCQlyYWlzZSBFeGNlcHRpb24oIkNvdWxkIG5vdCBjcmVhdGUgdGhlIGluc3RhbmNlIHBhcnNlciBjb250ZXh0LiIpCisJCWlmIG5vdCBvcHRpb25zLnZhbGlkYXRpb25TQVg6CisJCQl0cnk6CisJCQkJdHJ5OgorCQkJCQlpbnN0YW5jZSA9IHBhcnNlckN0eHQuY3R4dFJlYWRGaWxlKGZpbGVQYXRoLCBOb25lLCBsaWJ4bWwyLlhNTF9QQVJTRV9OT1dBUk5JTkcpCisJCQkJZXhjZXB0OgorCQkJCQkjIFN1cHByZXNzIGV4Y2VwdGlvbnMuCisJCQkJCXBhc3MKKwkJCWZpbmFsbHk6CisJCQkJZGVsIHBhcnNlckN0eHQKKwkJCXNlbGYuZGVidWdNc2coImFmdGVyIGxvYWRpbmcgaW5zdGFuY2UiKQorCQkJaWYgaW5zdGFuY2UgaXMgTm9uZToKKwkJCQlzZWxmLmRlYnVnTXNnKCJpbnN0YW5jZSBpcyBOb25lIikKKwkJCQlzZWxmLmZhaWxDcml0aWNhbCgiRmFpbGVkIHRvIHBhcnNlIHRoZSBpbnN0YW5jZSBmb3IgdW5rbm93biByZWFzb25zLiIpCisJCQkJcmV0dXJuCQkKKwkJdHJ5OgorCQkJIworCQkJIyBWYWxpZGF0ZSB0aGUgaW5zdGFuY2UuCisJCQkjCisJCQlzZWxmLmRlYnVnTXNnKCJsb2FkaW5nIHNjaGVtYTogJXMiICUgc2VsZi5ncm91cC5zY2hlbWFGaWxlTmFtZSkKKwkJCXNjaGVtYSA9IHBhcnNlU2NoZW1hKHNlbGYuZ3JvdXAuc2NoZW1hRmlsZU5hbWUpCisJCQl0cnk6CisJCQkJdmFsaWRhdGlvbkN0eHQgPSBzY2hlbWEuc2NoZW1hTmV3VmFsaWRDdHh0KCkKKwkJCQkjdmFsaWRhdGlvbkN0eHQgPSBsaWJ4bWwyLnNjaGVtYU5ld1ZhbGlkQ3R4dChOb25lKQorCQkJCWlmICh2YWxpZGF0aW9uQ3R4dCBpcyBOb25lKToKKwkJCQkJc2VsZi5mYWlsQ3JpdGljYWwoIkNvdWxkIG5vdCBjcmVhdGUgdGhlIHZhbGlkYXRpb24gY29udGV4dC4iKQorCQkJCQlyZXR1cm4KKwkJCQl0cnk6CisJCQkJCXNlbGYuZGVidWdNc2coInZhbGlkYXRpbmcgaW5zdGFuY2UiKQorCQkJCQlpZiBvcHRpb25zLnZhbGlkYXRpb25TQVg6CisJCQkJCQlpbnN0YW5jZV9FcnIgPSB2YWxpZGF0aW9uQ3R4dC5zY2hlbWFWYWxpZGF0ZUZpbGUoZmlsZVBhdGgsIDApCisJCQkJCWVsc2U6CisJCQkJCQlpbnN0YW5jZV9FcnIgPSB2YWxpZGF0aW9uQ3R4dC5zY2hlbWFWYWxpZGF0ZURvYyhpbnN0YW5jZSkKKwkJCQkJc2VsZi5kZWJ1Z01zZygiYWZ0ZXIgaW5zdGFuY2UgdmFsaWRhdGlvbiIpCisJCQkJCXNlbGYuZGVidWdNc2coImluc3RhbmNlLWVycjogJWQiICUgaW5zdGFuY2VfRXJyKQorCQkJCQlpZiAoaW5zdGFuY2VfRXJyICE9IDAgYW5kIHNlbGYudmFsID09IDEpIG9yIChpbnN0YW5jZV9FcnIgPT0gMCBhbmQgc2VsZi52YWwgPT0gMCk6CisJCQkJCQlzZWxmLmRlYnVnTXNnKCJpbnN0YW5jZSByZXN1bHQgaXMgQkFEIikKKwkJCQkJCWlmIChpbnN0YW5jZV9FcnIgIT0gMCk6CisJCQkJCQkJc2VsZi5mYWlsKG1zZ0luc3RhbmNlTm90VmFsaWRCdXRTaG91bGQpCisJCQkJCQllbHNlOgorCQkJCQkJCXNlbGYuZmFpbChtc2dJbnN0YW5jZVZhbGlkQnV0U2hvdWxkTm90KQorCisJCQkJCWVsc2U6CisJCQkJCQkJCXNlbGYuZGVidWdNc2coImluc3RhbmNlIHJlc3VsdCBpcyBPSyIpCisJCQkJZmluYWxseToKKwkJCQkJZGVsIHZhbGlkYXRpb25DdHh0CisJCQlmaW5hbGx5OgorCQkJCWRlbCBzY2hlbWEKKwkJZmluYWxseToKKwkJCWlmIGluc3RhbmNlIGlzIG5vdCBOb25lOgorCQkJCWluc3RhbmNlLmZyZWVEb2MoKQorCisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIFRlc3QgcnVubmVyIGNsYXNzLgorIworCitjbGFzcyBYU1RDVGVzdFJ1bm5lcjoKKworCUNOVF9UT1RBTCA9IDAKKwlDTlRfUkFOID0gMQorCUNOVF9TVUNDRUVERUQgPSAyCisJQ05UX0ZBSUxFRCA9IDMKKwlDTlRfVU5JTVBMRU1FTlRFRCA9IDQKKwlDTlRfSU5URVJOQUwgPSA1CisJQ05UX0JBRCA9IDYKKwlDTlRfRVhDRVBURUQgPSA3CisJQ05UX01FTUxFQUsgPSA4CisJQ05UX05PU0NIRU1BID0gOQorCUNOVF9OT1RBQ0NFUFRFRCA9IDEwCisJQ05UX1NDSEVNQV9URVNUID0gMTEKKworCWRlZiBfX2luaXRfXyhzZWxmKToKKwkJc2VsZi5sb2dGaWxlID0gTm9uZQorCQlzZWxmLmNvdW50ZXJzID0gc2VsZi5jcmVhdGVDb3VudGVycygpCisJCXNlbGYudGVzdExpc3QgPSBbXQorCQlzZWxmLmNvbWJpbmVzUmFuID0ge30KKwkJc2VsZi5ncm91cHMgPSB7fQorCQlzZWxmLmN1ckdyb3VwID0gTm9uZQorCisJZGVmIGNyZWF0ZUNvdW50ZXJzKHNlbGYpOgorCQljb3VudGVycyA9IHtzZWxmLkNOVF9UT1RBTDowLCBzZWxmLkNOVF9SQU46MCwgc2VsZi5DTlRfU1VDQ0VFREVEOjAsCisJCXNlbGYuQ05UX0ZBSUxFRDowLCBzZWxmLkNOVF9VTklNUExFTUVOVEVEOjAsIHNlbGYuQ05UX0lOVEVSTkFMOjAsIHNlbGYuQ05UX0JBRDowLAorCQlzZWxmLkNOVF9FWENFUFRFRDowLCBzZWxmLkNOVF9NRU1MRUFLOjAsIHNlbGYuQ05UX05PU0NIRU1BOjAsIHNlbGYuQ05UX05PVEFDQ0VQVEVEOjAsCisJCXNlbGYuQ05UX1NDSEVNQV9URVNUOjB9CisKKwkJcmV0dXJuIGNvdW50ZXJzCisKKwlkZWYgYWRkVGVzdChzZWxmLCB0ZXN0KToKKwkJc2VsZi50ZXN0TGlzdC5hcHBlbmQodGVzdCkKKwkJdGVzdC5pbml0VGVzdChzZWxmKQorCisJZGVmIGdldEdyb3VwKHNlbGYsIGdyb3VwTmFtZSk6CisJCXJldHVybiBzZWxmLmdyb3Vwc1tncm91cE5hbWVdCisKKwlkZWYgYWRkR3JvdXAoc2VsZiwgZ3JvdXApOgorCQlzZWxmLmdyb3Vwc1tncm91cC5uYW1lXSA9IGdyb3VwCisKKwlkZWYgdXBkYXRlQ291bnRlcnMoc2VsZiwgdGVzdCwgY291bnRlcnMpOgorCQlpZiB0ZXN0Lm1lbUxlYWsgIT0gMDoKKwkJCWNvdW50ZXJzW3NlbGYuQ05UX01FTUxFQUtdICs9IDEKKwkJaWYgbm90IHRlc3QuZmFpbGVkOgorCQkJY291bnRlcnNbc2VsZi5DTlRfU1VDQ0VFREVEXSArPTEKKwkJaWYgdGVzdC5mYWlsZWQ6CisJCQljb3VudGVyc1tzZWxmLkNOVF9GQUlMRURdICs9IDEKKwkJaWYgdGVzdC5iYWQ6CisJCQljb3VudGVyc1tzZWxmLkNOVF9CQURdICs9IDEKKwkJaWYgdGVzdC51bmltcGxlbWVudGVkOgorCQkJY291bnRlcnNbc2VsZi5DTlRfVU5JTVBMRU1FTlRFRF0gKz0gMQorCQlpZiB0ZXN0LmludGVybmFsRXJyOgorCQkJY291bnRlcnNbc2VsZi5DTlRfSU5URVJOQUxdICs9IDEKKwkJaWYgdGVzdC5ub1NjaGVtYUVycjoKKwkJCWNvdW50ZXJzW3NlbGYuQ05UX05PU0NIRU1BXSArPSAxCisJCWlmIHRlc3QuZXhjZXB0ZWQ6CisJCQljb3VudGVyc1tzZWxmLkNOVF9FWENFUFRFRF0gKz0gMQorCQlpZiBub3QgdGVzdC5hY2NlcHRlZDoKKwkJCWNvdW50ZXJzW3NlbGYuQ05UX05PVEFDQ0VQVEVEXSArPSAxCisJCWlmIHRlc3QuaXNTY2hlbWE6CisJCQljb3VudGVyc1tzZWxmLkNOVF9TQ0hFTUFfVEVTVF0gKz0gMQorCQlyZXR1cm4gY291bnRlcnMKKworCWRlZiBkaXNwbGF5UmVzdWx0cyhzZWxmLCBvdXQsIGFsbCwgY29tYk5hbWUsIGNvdW50ZXJzKToKKwkJb3V0LndyaXRlKCJcbiIpCisJCWlmIGFsbDoKKwkJCWlmIG9wdGlvbnMuY29tYmluZXMgaXMgbm90IE5vbmU6CisJCQkJb3V0LndyaXRlKCJjb21iaW5lKHMpOiAlc1xuIiAlIHN0cihvcHRpb25zLmNvbWJpbmVzKSkKKwkJZWxpZiBjb21iTmFtZSBpcyBub3QgTm9uZToKKwkJCW91dC53cml0ZSgiY29tYmluZSA6ICVzXG4iICUgY29tYk5hbWUpCisJCW91dC53cml0ZSgiICB0b3RhbCAgICAgICAgICAgOiAlZFxuIiAlIGNvdW50ZXJzW3NlbGYuQ05UX1RPVEFMXSkKKwkJaWYgYWxsIG9yIG9wdGlvbnMuY29tYmluZXMgaXMgbm90IE5vbmU6CisJCQlvdXQud3JpdGUoIiAgcmFuICAgICAgICAgICAgIDogJWRcbiIgJSBjb3VudGVyc1tzZWxmLkNOVF9SQU5dKQorCQkJb3V0LndyaXRlKCIgICAgKHNjaGVtYXRhKSAgICA6ICVkXG4iICUgY291bnRlcnNbc2VsZi5DTlRfU0NIRU1BX1RFU1RdKQorCQkjIG91dC53cml0ZSgiICAgIHN1Y2NlZWRlZCAgICAgICA6ICVkXG4iICUgY291bnRlcnNbc2VsZi5DTlRfU1VDQ0VFREVEXSkKKwkJb3V0LndyaXRlKCIgIG5vdCBhY2NlcHRlZCAgICA6ICVkXG4iICUgY291bnRlcnNbc2VsZi5DTlRfTk9UQUNDRVBURURdKQorCQlpZiBjb3VudGVyc1tzZWxmLkNOVF9GQUlMRURdID4gMDoJCSAgICAKKwkJCW91dC53cml0ZSgiICAgIGZhaWxlZCAgICAgICAgICAgICAgICAgIDogJWRcbiIgJSBjb3VudGVyc1tzZWxmLkNOVF9GQUlMRURdKQorCQkJb3V0LndyaXRlKCIgICAgIC0+IGludGVybmFsICAgICAgICAgICAgOiAlZFxuIiAlIGNvdW50ZXJzW3NlbGYuQ05UX0lOVEVSTkFMXSkKKwkJCW91dC53cml0ZSgiICAgICAtPiB1bmltcGwuICAgICAgICAgICAgIDogJWRcbiIgJSBjb3VudGVyc1tzZWxmLkNOVF9VTklNUExFTUVOVEVEXSkKKwkJCW91dC53cml0ZSgiICAgICAtPiBza2lwLWludmFsaWQtc2NoZW1hIDogJWRcbiIgJSBjb3VudGVyc1tzZWxmLkNOVF9OT1NDSEVNQV0pCisJCQlvdXQud3JpdGUoIiAgICAgLT4gYmFkICAgICAgICAgICAgICAgICA6ICVkXG4iICUgY291bnRlcnNbc2VsZi5DTlRfQkFEXSkKKwkJCW91dC53cml0ZSgiICAgICAtPiBleGNlcHRpb25zICAgICAgICAgIDogJWRcbiIgJSBjb3VudGVyc1tzZWxmLkNOVF9FWENFUFRFRF0pCisJCQlvdXQud3JpdGUoIiAgICBtZW1vcnkgbGVha3MgICAgICAgICAgICA6ICVkXG4iICUgY291bnRlcnNbc2VsZi5DTlRfTUVNTEVBS10pCisKKwlkZWYgZGlzcGxheVNob3J0UmVzdWx0cyhzZWxmLCBvdXQsIGFsbCwgY29tYk5hbWUsIGNvdW50ZXJzKToKKwkJb3V0LndyaXRlKCJSYW4gJWQgb2YgJWQgdGVzdHMgKCVkIHNjaGVtYXRhKToiICUgKGNvdW50ZXJzW3NlbGYuQ05UX1JBTl0sCisJCQkJICBjb3VudGVyc1tzZWxmLkNOVF9UT1RBTF0sIGNvdW50ZXJzW3NlbGYuQ05UX1NDSEVNQV9URVNUXSkpCisJCSMgb3V0LndyaXRlKCIgICAgc3VjY2VlZGVkICAgICAgIDogJWRcbiIgJSBjb3VudGVyc1tzZWxmLkNOVF9TVUNDRUVERURdKQorCQlpZiBjb3VudGVyc1tzZWxmLkNOVF9OT1RBQ0NFUFRFRF0gPiAwOgorCQkJb3V0LndyaXRlKCIgJWQgbm90IGFjY2VwdGVkIiAlIChjb3VudGVyc1tzZWxmLkNOVF9OT1RBQ0NFUFRFRF0pKQorCQlpZiBjb3VudGVyc1tzZWxmLkNOVF9GQUlMRURdID4gMCBvciBjb3VudGVyc1tzZWxmLkNOVF9NRU1MRUFLXSA+IDA6CisJCQlpZiBjb3VudGVyc1tzZWxmLkNOVF9GQUlMRURdID4gMDoKKwkJCQlvdXQud3JpdGUoIiAlZCBmYWlsZWQiICUgKGNvdW50ZXJzW3NlbGYuQ05UX0ZBSUxFRF0pKQorCQkJCW91dC53cml0ZSgiICgiKQorCQkJCWlmIGNvdW50ZXJzW3NlbGYuQ05UX0lOVEVSTkFMXSA+IDA6CisJCQkJCW91dC53cml0ZSgiICVkIGludGVybmFsIiAlIChjb3VudGVyc1tzZWxmLkNOVF9JTlRFUk5BTF0pKQorCQkJCWlmIGNvdW50ZXJzW3NlbGYuQ05UX1VOSU1QTEVNRU5URURdID4gMDoKKwkJCQkJb3V0LndyaXRlKCIgJWQgdW5pbXBsZW1lbnRlZCIgJSAoY291bnRlcnNbc2VsZi5DTlRfVU5JTVBMRU1FTlRFRF0pKQorCQkJCWlmIGNvdW50ZXJzW3NlbGYuQ05UX05PU0NIRU1BXSA+IDA6CisJCQkJCW91dC53cml0ZSgiICVkIHNraXAtaW52YWxpZC1zY2hlbWEiICUgKGNvdW50ZXJzW3NlbGYuQ05UX05PU0NIRU1BXSkpCisJCQkJaWYgY291bnRlcnNbc2VsZi5DTlRfQkFEXSA+IDA6CisJCQkJCW91dC53cml0ZSgiICVkIGJhZCIgJSAoY291bnRlcnNbc2VsZi5DTlRfQkFEXSkpCisJCQkJaWYgY291bnRlcnNbc2VsZi5DTlRfRVhDRVBURURdID4gMDoKKwkJCQkJb3V0LndyaXRlKCIgJWQgZXhjZXB0aW9uIiAlIChjb3VudGVyc1tzZWxmLkNOVF9FWENFUFRFRF0pKQorCQkJCW91dC53cml0ZSgiICkiKQorCQkJaWYgY291bnRlcnNbc2VsZi5DTlRfTUVNTEVBS10gPiAwOgorCQkJCW91dC53cml0ZSgiICVkIGxlYWtzIiAlIChjb3VudGVyc1tzZWxmLkNOVF9NRU1MRUFLXSkpCQkJCisJCQlvdXQud3JpdGUoIlxuIikKKwkJZWxzZToKKwkJCW91dC53cml0ZSgiIGFsbCBwYXNzZWRcbiIpCisKKwlkZWYgcmVwb3J0Q29tYmluZShzZWxmLCBjb21iTmFtZSk6CisJCWdsb2JhbCBvcHRpb25zCisKKwkJY291bnRlcnMgPSBzZWxmLmNyZWF0ZUNvdW50ZXJzKCkKKwkJIworCQkjIENvbXB1dGUgZXZhbHVhdGlvbiBjb3VudGVycy4KKwkJIworCQlmb3IgdGVzdCBpbiBzZWxmLmNvbWJpbmVzUmFuW2NvbWJOYW1lXToKKwkJCWNvdW50ZXJzW3NlbGYuQ05UX1RPVEFMXSArPSAxCisJCQljb3VudGVyc1tzZWxmLkNOVF9SQU5dICs9IDEKKwkJCWNvdW50ZXJzID0gc2VsZi51cGRhdGVDb3VudGVycyh0ZXN0LCBjb3VudGVycykKKwkJaWYgb3B0aW9ucy5yZXBvcnRFcnJDb21iaW5lcyBhbmQgKGNvdW50ZXJzW3NlbGYuQ05UX0ZBSUxFRF0gPT0gMCkgYW5kIChjb3VudGVyc1tzZWxmLkNOVF9NRU1MRUFLXSA9PSAwKToKKwkJCXBhc3MKKwkJZWxzZToKKwkJCWlmIG9wdGlvbnMuZW5hYmxlTG9nOgorCQkJCXNlbGYuZGlzcGxheVJlc3VsdHMoc2VsZi5sb2dGaWxlLCBGYWxzZSwgY29tYk5hbWUsIGNvdW50ZXJzKQkJCQkKKwkJCXNlbGYuZGlzcGxheVJlc3VsdHMoc3lzLnN0ZG91dCwgRmFsc2UsIGNvbWJOYW1lLCBjb3VudGVycykKKworCWRlZiBkaXNwbGF5VGVzdExvZyhzZWxmLCB0ZXN0KToKKwkJc3lzLnN0ZG91dC53cml0ZWxpbmVzKHRlc3QubG9nKQorCQlzeXMuc3Rkb3V0LndyaXRlKCJ+fn5+fn5+fn5+XG4iKQorCisJZGVmIHJlcG9ydFRlc3Qoc2VsZiwgdGVzdCk6CisJCWdsb2JhbCBvcHRpb25zCisKKwkJZXJyb3IgPSB0ZXN0LmZhaWxlZCBvciB0ZXN0Lm1lbUxlYWsgIT0gMAorCQkjCisJCSMgT25seSBlcnJvbmVvdXMgdGVzdHMgd2lsbCBiZSB3cml0dGVuIHRvIHRoZSBsb2csCisJCSMgZXhjZXB0IEB2ZXJib3NlIGlzIHN3aXRjaGVkIG9uLgorCQkjCisJCWlmIG9wdGlvbnMuZW5hYmxlTG9nIGFuZCAob3B0aW9ucy52ZXJib3NlIG9yIGVycm9yKToKKwkJCXNlbGYubG9nRmlsZS53cml0ZWxpbmVzKHRlc3QubG9nKQorCQkJc2VsZi5sb2dGaWxlLndyaXRlKCJ+fn5+fn5+fn5+XG4iKQorCQkjCisJCSMgaWYgbm90IEBzaWxlbnQsIG9ubHkgZXJyb25lb3VzIHRlc3RzIHdpbGwgYmUKKwkJIyB3cml0dGVuIHRvIHN0ZG91dCwgZXhjZXB0IEB2ZXJib3NlIGlzIHN3aXRjaGVkIG9uLgorCQkjCisJCWlmIG5vdCBvcHRpb25zLnNpbGVudDoKKwkJCWlmIG9wdGlvbnMucmVwb3J0SW50ZXJuYWxFcnJPbmx5IGFuZCB0ZXN0LmludGVybmFsRXJyOgorCQkJCXNlbGYuZGlzcGxheVRlc3RMb2codGVzdCkKKwkJCWlmIG9wdGlvbnMucmVwb3J0TWVtTGVha0Vyck9ubHkgYW5kIHRlc3QubWVtTGVhayAhPSAwOgorCQkJCXNlbGYuZGlzcGxheVRlc3RMb2codGVzdCkKKwkJCWlmIG9wdGlvbnMucmVwb3J0VW5pbXBsRXJyT25seSBhbmQgdGVzdC51bmltcGxlbWVudGVkOgorCQkJCXNlbGYuZGlzcGxheVRlc3RMb2codGVzdCkKKwkJCWlmIChvcHRpb25zLnZlcmJvc2Ugb3IgZXJyb3IpIGFuZCAobm90IG9wdGlvbnMucmVwb3J0SW50ZXJuYWxFcnJPbmx5KSBhbmQgKG5vdCBvcHRpb25zLnJlcG9ydE1lbUxlYWtFcnJPbmx5KSBhbmQgKG5vdCBvcHRpb25zLnJlcG9ydFVuaW1wbEVyck9ubHkpOgorCQkJCXNlbGYuZGlzcGxheVRlc3RMb2codGVzdCkKKworCisJZGVmIGFkZFRvQ29tYmluZXMoc2VsZiwgdGVzdCk6CisJCWZvdW5kID0gRmFsc2UKKwkJaWYgc2VsZi5jb21iaW5lc1Jhbi5oYXNfa2V5KHRlc3QuY29tYmluZU5hbWUpOgorCQkJc2VsZi5jb21iaW5lc1Jhblt0ZXN0LmNvbWJpbmVOYW1lXS5hcHBlbmQodGVzdCkKKwkJZWxzZToKKwkJCXNlbGYuY29tYmluZXNSYW5bdGVzdC5jb21iaW5lTmFtZV0gPSBbdGVzdF0KKworCWRlZiBydW4oc2VsZik6CisKKwkJZ2xvYmFsIG9wdGlvbnMKKworCQlpZiBvcHRpb25zLmluZm86CisJCQlmb3IgdGVzdCBpbiBzZWxmLnRlc3RMaXN0OgorCQkJCXNlbGYuYWRkVG9Db21iaW5lcyh0ZXN0KQorCQkJc3lzLnN0ZG91dC53cml0ZSgiQ29tYmluZXM6ICVkXG4iICUgbGVuKHNlbGYuY29tYmluZXNSYW4pKQorCQkJc3lzLnN0ZG91dC53cml0ZSgiJXNcbiIgJSBzZWxmLmNvbWJpbmVzUmFuLmtleXMoKSkKKwkJCXJldHVybgorCisJCWlmIG9wdGlvbnMuZW5hYmxlTG9nOgorCQkJc2VsZi5sb2dGaWxlID0gb3BlbihvcHRpb25zLmxvZ0ZpbGUsICJ3IikKKwkJdHJ5OgorCQkJZm9yIHRlc3QgaW4gc2VsZi50ZXN0TGlzdDoKKwkJCQlzZWxmLmNvdW50ZXJzW3NlbGYuQ05UX1RPVEFMXSArPSAxCisJCQkJIworCQkJCSMgRmlsdGVyIHRlc3RzLgorCQkJCSMKKwkJCQlpZiBvcHRpb25zLnNpbmdsZVRlc3QgaXMgbm90IE5vbmUgYW5kIG9wdGlvbnMuc2luZ2xlVGVzdCAhPSAiIjoKKwkJCQkJaWYgKHRlc3QubmFtZSAhPSBvcHRpb25zLnNpbmdsZVRlc3QpOgorCQkJCQkJY29udGludWUKKwkJCQllbGlmIG9wdGlvbnMuY29tYmluZXMgaXMgbm90IE5vbmU6CisJCQkJCWlmIG5vdCBvcHRpb25zLmNvbWJpbmVzLl9fY29udGFpbnNfXyh0ZXN0LmNvbWJpbmVOYW1lKToKKwkJCQkJCWNvbnRpbnVlCisJCQkJZWxpZiBvcHRpb25zLnRlc3RTdGFydHNXaXRoIGlzIG5vdCBOb25lOgorCQkJCQlpZiBub3QgdGVzdC5uYW1lLnN0YXJ0c3dpdGgob3B0aW9ucy50ZXN0U3RhcnRzV2l0aCk6CisJCQkJCQljb250aW51ZQorCQkJCWVsaWYgb3B0aW9ucy5jb21iaW5lU3RhcnRzV2l0aCBpcyBub3QgTm9uZToKKwkJCQkJaWYgbm90IHRlc3QuY29tYmluZU5hbWUuc3RhcnRzd2l0aChvcHRpb25zLmNvbWJpbmVTdGFydHNXaXRoKToKKwkJCQkJCWNvbnRpbnVlCisJCQkJCisJCQkJaWYgb3B0aW9ucy5tYXhUZXN0Q291bnQgIT0gLTEgYW5kIHNlbGYuY291bnRlcnNbc2VsZi5DTlRfUkFOXSA+PSBvcHRpb25zLm1heFRlc3RDb3VudDoKKwkJCQkJYnJlYWsKKwkJCQlzZWxmLmNvdW50ZXJzW3NlbGYuQ05UX1JBTl0gKz0gMQorCQkJCSMKKwkJCQkjIFJ1biB0aGUgdGhpbmcsIGRhbW1pdC4KKwkJCQkjCisJCQkJdHJ5OgorCQkJCQl0ZXN0LnNldFVwKCkKKwkJCQkJdHJ5OgorCQkJCQkJdGVzdC5ydW4oKQorCQkJCQlmaW5hbGx5OgorCQkJCQkJdGVzdC50ZWFyRG93bigpCisJCQkJZmluYWxseToKKwkJCQkJIworCQkJCQkjIEV2YWx1YXRlLgorCQkJCQkjCisJCQkJCXRlc3QuZmluYWxpemUoKQorCQkJCQlzZWxmLnJlcG9ydFRlc3QodGVzdCkKKwkJCQkJaWYgb3B0aW9ucy5yZXBvcnRDb21iaW5lcyBvciBvcHRpb25zLnJlcG9ydEVyckNvbWJpbmVzOgorCQkJCQkJc2VsZi5hZGRUb0NvbWJpbmVzKHRlc3QpCisJCQkJCXNlbGYuY291bnRlcnMgPSBzZWxmLnVwZGF0ZUNvdW50ZXJzKHRlc3QsIHNlbGYuY291bnRlcnMpCisJCWZpbmFsbHk6CisJCQlpZiBvcHRpb25zLnJlcG9ydENvbWJpbmVzIG9yIG9wdGlvbnMucmVwb3J0RXJyQ29tYmluZXM6CisJCQkJIworCQkJCSMgQnVpbGQgYSByZXBvcnQgZm9yIGV2ZXJ5IHNpbmdsZSBjb21iaW5lLgorCQkJCSMKKwkJCQkjIFRPRE86IEhvdyB0byBzb3J0IGEgZGljdD8KKwkJCQkjCisJCQkJc2VsZi5jb21iaW5lc1Jhbi5rZXlzKCkuc29ydChOb25lKQorCQkJCWZvciBrZXkgaW4gc2VsZi5jb21iaW5lc1Jhbi5rZXlzKCk6CisJCQkJCXNlbGYucmVwb3J0Q29tYmluZShrZXkpCisKKwkJCSMKKwkJCSMgRGlzcGxheSB0aGUgZmluYWwgcmVwb3J0LgorCQkJIworCQkJaWYgb3B0aW9ucy5zaWxlbnQ6CisJCQkJc2VsZi5kaXNwbGF5U2hvcnRSZXN1bHRzKHN5cy5zdGRvdXQsIFRydWUsIE5vbmUsIHNlbGYuY291bnRlcnMpCisJCQllbHNlOgorCQkJCXN5cy5zdGRvdXQud3JpdGUoIj09PT09PT09PT09PT09PT09PT09PT09PT09PVxuIikKKwkJCQlzZWxmLmRpc3BsYXlSZXN1bHRzKHN5cy5zdGRvdXQsIFRydWUsIE5vbmUsIHNlbGYuY291bnRlcnMpCmRpZmYgLS1naXQgYS9saWJ4bWwyL3h6bGliLmMgYi9saWJ4bWwyL3h6bGliLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGRjYjlmNAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIveHpsaWIuYwpAQCAtMCwwICsxLDc5OCBAQAorLyoqCisgKiB4emxpYi5jOiBmcm9udCBlbmQgZm9yIHRoZSB0cmFuc3BhcmVudCBzdXBvcnQgb2YgbHptYSBjb21wcmVzc2lvbgorICogICAgICAgICAgYXQgdGhlIEkvTyBsYXllciwgYmFzZWQgb24gYW4gZXhhbXBsZSBmaWxlIGZyb20gbHptYSBwcm9qZWN0CisgKgorICogU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgorICoKKyAqIEFuZGVycyBGIEJqb3JrbHVuZCA8YWZiQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KKyAqLworI2RlZmluZSBJTl9MSUJYTUwKKyNpbmNsdWRlICJsaWJ4bWwuaCIKKyNpZmRlZiBIQVZFX0xaTUFfSAorCisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaWZkZWYgSEFWRV9FUlJOT19ICisjaW5jbHVkZSA8ZXJybm8uaD4KKyNlbmRpZgorCisKKyNpZmRlZiBIQVZFX1NZU19UWVBFU19ICisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjZW5kaWYKKyNpZmRlZiBIQVZFX1NZU19TVEFUX0gKKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9GQ05UTF9ICisjaW5jbHVkZSA8ZmNudGwuaD4KKyNlbmRpZgorI2lmZGVmIEhBVkVfVU5JU1REX0gKKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNlbmRpZgorI2lmZGVmIEhBVkVfU1RETElCX0gKKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNlbmRpZgorI2lmZGVmIEhBVkVfWkxJQl9ICisjaW5jbHVkZSA8emxpYi5oPgorI2VuZGlmCisjaW5jbHVkZSA8bHptYS5oPgorCisjaW5jbHVkZSAieHpsaWIuaCIKKyNpbmNsdWRlIDxsaWJ4bWwveG1sbWVtb3J5Lmg+CisKKy8qIHZhbHVlcyBmb3IgeHpfc3RhdGUgaG93ICovCisjZGVmaW5lIExPT0sgMCAgICAgICAgICAgICAgICAgIC8qIGxvb2sgZm9yIGEgZ3ppcC9sem1hIGhlYWRlciAqLworI2RlZmluZSBDT1BZIDEgICAgICAgICAgICAgICAgICAvKiBjb3B5IGlucHV0IGRpcmVjdGx5ICovCisjZGVmaW5lIEdaSVAgMiAgICAgICAgICAgICAgICAgIC8qIGRlY29tcHJlc3MgYSBnemlwIHN0cmVhbSAqLworI2RlZmluZSBMWk1BIDMgICAgICAgICAgICAgICAgICAvKiBkZWNvbXByZXNzIGEgbHptYSBzdHJlYW0gKi8KKworLyogaW50ZXJuYWwgbHptYSBmaWxlIHN0YXRlIGRhdGEgc3RydWN0dXJlICovCit0eXBlZGVmIHN0cnVjdCB7CisgICAgaW50IG1vZGU7ICAgICAgICAgICAgICAgICAgIC8qIHNlZSBsem1hIG1vZGVzIGFib3ZlICovCisgICAgaW50IGZkOyAgICAgICAgICAgICAgICAgICAgIC8qIGZpbGUgZGVzY3JpcHRvciAqLworICAgIGNoYXIgKnBhdGg7ICAgICAgICAgICAgICAgICAvKiBwYXRoIG9yIGZkIGZvciBlcnJvciBtZXNzYWdlcyAqLworICAgIHVpbnQ2NF90IHBvczsgICAgICAgICAgICAgICAvKiBjdXJyZW50IHBvc2l0aW9uIGluIHVuY29tcHJlc3NlZCBkYXRhICovCisgICAgdW5zaWduZWQgaW50IHNpemU7ICAgICAgICAgIC8qIGJ1ZmZlciBzaXplLCB6ZXJvIGlmIG5vdCBhbGxvY2F0ZWQgeWV0ICovCisgICAgdW5zaWduZWQgaW50IHdhbnQ7ICAgICAgICAgIC8qIHJlcXVlc3RlZCBidWZmZXIgc2l6ZSwgZGVmYXVsdCBpcyBCVUZTSVogKi8KKyAgICB1bnNpZ25lZCBjaGFyICppbjsgICAgICAgICAgLyogaW5wdXQgYnVmZmVyICovCisgICAgdW5zaWduZWQgY2hhciAqb3V0OyAgICAgICAgIC8qIG91dHB1dCBidWZmZXIgKGRvdWJsZS1zaXplZCB3aGVuIHJlYWRpbmcpICovCisgICAgdW5zaWduZWQgY2hhciAqbmV4dDsgICAgICAgIC8qIG5leHQgb3V0cHV0IGRhdGEgdG8gZGVsaXZlciBvciB3cml0ZSAqLworICAgIHVuc2lnbmVkIGludCBoYXZlOyAgICAgICAgICAvKiBhbW91bnQgb2Ygb3V0cHV0IGRhdGEgdW51c2VkIGF0IG5leHQgKi8KKyAgICBpbnQgZW9mOyAgICAgICAgICAgICAgICAgICAgLyogdHJ1ZSBpZiBlbmQgb2YgaW5wdXQgZmlsZSByZWFjaGVkICovCisgICAgdWludDY0X3Qgc3RhcnQ7ICAgICAgICAgICAgIC8qIHdoZXJlIHRoZSBsem1hIGRhdGEgc3RhcnRlZCwgZm9yIHJld2luZGluZyAqLworICAgIHVpbnQ2NF90IHJhdzsgICAgICAgICAgICAgICAvKiB3aGVyZSB0aGUgcmF3IGRhdGEgc3RhcnRlZCwgZm9yIHNlZWtpbmcgKi8KKyAgICBpbnQgaG93OyAgICAgICAgICAgICAgICAgICAgLyogMDogZ2V0IGhlYWRlciwgMTogY29weSwgMjogZGVjb21wcmVzcyAqLworICAgIGludCBkaXJlY3Q7ICAgICAgICAgICAgICAgICAvKiB0cnVlIGlmIGxhc3QgcmVhZCBkaXJlY3QsIGZhbHNlIGlmIGx6bWEgKi8KKyAgICAvKiBzZWVrIHJlcXVlc3QgKi8KKyAgICB1aW50NjRfdCBza2lwOyAgICAgICAgICAgICAgLyogYW1vdW50IHRvIHNraXAgKGFscmVhZHkgcmV3b3VuZCBpZiBiYWNrd2FyZHMpICovCisgICAgaW50IHNlZWs7ICAgICAgICAgICAgICAgICAgIC8qIHRydWUgaWYgc2VlayByZXF1ZXN0IHBlbmRpbmcgKi8KKyAgICAvKiBlcnJvciBpbmZvcm1hdGlvbiAqLworICAgIGludCBlcnI7ICAgICAgICAgICAgICAgICAgICAvKiBlcnJvciBjb2RlICovCisgICAgY2hhciAqbXNnOyAgICAgICAgICAgICAgICAgIC8qIGVycm9yIG1lc3NhZ2UgKi8KKyAgICAvKiBsem1hIHN0cmVhbSAqLworICAgIGludCBpbml0OyAgICAgICAgICAgICAgICAgICAvKiBpcyB0aGUgaW5pZmxhdGUgc3RyZWFtIGluaXRpYWxpemVkICovCisgICAgbHptYV9zdHJlYW0gc3RybTsgICAgICAgICAgIC8qIHN0cmVhbSBzdHJ1Y3R1cmUgaW4tcGxhY2UgKG5vdCBhIHBvaW50ZXIpICovCisgICAgY2hhciBwYWRkaW5nMVszMl07ICAgICAgICAgIC8qIHBhZGRpbmcgYWxsb3dpbmcgdG8gY29wZSB3aXRoIHBvc3NpYmxlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4dGVuc2lvbnMgb2YgYWJvdmUgc3RydWN0dXJlIHdpdGhvdXQKKwkJCQkgICB0b28gbXVjaCBzaWRlIGVmZmVjdCAqLworI2lmZGVmIEhBVkVfWkxJQl9ICisgICAgLyogemxpYiBpbmZsYXRlIG9yIGRlZmxhdGUgc3RyZWFtICovCisgICAgel9zdHJlYW0genN0cm07ICAgICAgICAgICAgIC8qIHN0cmVhbSBzdHJ1Y3R1cmUgaW4tcGxhY2UgKG5vdCBhIHBvaW50ZXIpICovCisjZW5kaWYKKyAgICBjaGFyIHBhZGRpbmcyWzMyXTsgICAgICAgICAgLyogcGFkZGluZyBhbGxvd2luZyB0byBjb3BlIHdpdGggcG9zc2libGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXh0ZW5zaW9ucyBvZiBhYm92ZSBzdHJ1Y3R1cmUgd2l0aG91dAorCQkJCSAgIHRvbyBtdWNoIHNpZGUgZWZmZWN0ICovCit9IHh6X3N0YXRlLCAqeHpfc3RhdGVwOworCitzdGF0aWMgdm9pZAoreHpfZXJyb3IoeHpfc3RhdGVwIHN0YXRlLCBpbnQgZXJyLCBjb25zdCBjaGFyICptc2cpCit7CisgICAgLyogZnJlZSBwcmV2aW91c2x5IGFsbG9jYXRlZCBtZXNzYWdlIGFuZCBjbGVhciAqLworICAgIGlmIChzdGF0ZS0+bXNnICE9IE5VTEwpIHsKKyAgICAgICAgaWYgKHN0YXRlLT5lcnIgIT0gTFpNQV9NRU1fRVJST1IpCisgICAgICAgICAgICB4bWxGcmVlKHN0YXRlLT5tc2cpOworICAgICAgICBzdGF0ZS0+bXNnID0gTlVMTDsKKyAgICB9CisKKyAgICAvKiBzZXQgZXJyb3IgY29kZSwgYW5kIGlmIG5vIG1lc3NhZ2UsIHRoZW4gZG9uZSAqLworICAgIHN0YXRlLT5lcnIgPSBlcnI7CisgICAgaWYgKG1zZyA9PSBOVUxMKQorICAgICAgICByZXR1cm47CisKKyAgICAvKiBmb3IgYW4gb3V0IG9mIG1lbW9yeSBlcnJvciwgc2F2ZSBhcyBzdGF0aWMgc3RyaW5nICovCisgICAgaWYgKGVyciA9PSBMWk1BX01FTV9FUlJPUikgeworICAgICAgICBzdGF0ZS0+bXNnID0gKGNoYXIgKikgbXNnOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgLyogY29uc3RydWN0IGVycm9yIG1lc3NhZ2Ugd2l0aCBwYXRoICovCisgICAgaWYgKChzdGF0ZS0+bXNnID0KKyAgICAgICAgIHhtbE1hbGxvYyhzdHJsZW4oc3RhdGUtPnBhdGgpICsgc3RybGVuKG1zZykgKyAzKSkgPT0gTlVMTCkgeworICAgICAgICBzdGF0ZS0+ZXJyID0gTFpNQV9NRU1fRVJST1I7CisgICAgICAgIHN0YXRlLT5tc2cgPSAoY2hhciAqKSAib3V0IG9mIG1lbW9yeSI7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgc3RyY3B5KHN0YXRlLT5tc2csIHN0YXRlLT5wYXRoKTsKKyAgICBzdHJjYXQoc3RhdGUtPm1zZywgIjogIik7CisgICAgc3RyY2F0KHN0YXRlLT5tc2csIG1zZyk7CisgICAgcmV0dXJuOworfQorCitzdGF0aWMgdm9pZAoreHpfcmVzZXQoeHpfc3RhdGVwIHN0YXRlKQoreworICAgIHN0YXRlLT5oYXZlID0gMDsgICAgICAgICAgICAvKiBubyBvdXRwdXQgZGF0YSBhdmFpbGFibGUgKi8KKyAgICBzdGF0ZS0+ZW9mID0gMDsgICAgICAgICAgICAgLyogbm90IGF0IGVuZCBvZiBmaWxlICovCisgICAgc3RhdGUtPmhvdyA9IExPT0s7ICAgICAgICAgIC8qIGxvb2sgZm9yIGd6aXAgaGVhZGVyICovCisgICAgc3RhdGUtPmRpcmVjdCA9IDE7ICAgICAgICAgIC8qIGRlZmF1bHQgZm9yIGVtcHR5IGZpbGUgKi8KKyAgICBzdGF0ZS0+c2VlayA9IDA7ICAgICAgICAgICAgLyogbm8gc2VlayByZXF1ZXN0IHBlbmRpbmcgKi8KKyAgICB4el9lcnJvcihzdGF0ZSwgTFpNQV9PSywgTlVMTCk7ICAgICAvKiBjbGVhciBlcnJvciAqLworICAgIHN0YXRlLT5wb3MgPSAwOyAgICAgICAgICAgICAvKiBubyB1bmNvbXByZXNzZWQgZGF0YSB5ZXQgKi8KKyAgICBzdGF0ZS0+c3RybS5hdmFpbF9pbiA9IDA7ICAgLyogbm8gaW5wdXQgZGF0YSB5ZXQgKi8KKyNpZmRlZiBIQVZFX1pMSUJfSAorICAgIHN0YXRlLT56c3RybS5hdmFpbF9pbiA9IDA7ICAvKiBubyBpbnB1dCBkYXRhIHlldCAqLworI2VuZGlmCit9CisKK3N0YXRpYyB4ekZpbGUKK3h6X29wZW4oY29uc3QgY2hhciAqcGF0aCwgaW50IGZkLCBjb25zdCBjaGFyICptb2RlIEFUVFJJQlVURV9VTlVTRUQpCit7CisgICAgeHpfc3RhdGVwIHN0YXRlOworCisgICAgLyogYWxsb2NhdGUgeHpGaWxlIHN0cnVjdHVyZSB0byByZXR1cm4gKi8KKyAgICBzdGF0ZSA9IHhtbE1hbGxvYyhzaXplb2YoeHpfc3RhdGUpKTsKKyAgICBpZiAoc3RhdGUgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgc3RhdGUtPnNpemUgPSAwOyAgICAgICAgICAgIC8qIG5vIGJ1ZmZlcnMgYWxsb2NhdGVkIHlldCAqLworICAgIHN0YXRlLT53YW50ID0gQlVGU0laOyAgICAgICAvKiByZXF1ZXN0ZWQgYnVmZmVyIHNpemUgKi8KKyAgICBzdGF0ZS0+bXNnID0gTlVMTDsgICAgICAgICAgLyogbm8gZXJyb3IgbWVzc2FnZSB5ZXQgKi8KKyAgICBzdGF0ZS0+aW5pdCA9IDA7ICAgICAgICAgICAgLyogaW5pdGlhbGl6YXRpb24gb2YgemxpYiBkYXRhICovCisKKyAgICAvKiBzYXZlIHRoZSBwYXRoIG5hbWUgZm9yIGVycm9yIG1lc3NhZ2VzICovCisgICAgc3RhdGUtPnBhdGggPSB4bWxNYWxsb2Moc3RybGVuKHBhdGgpICsgMSk7CisgICAgaWYgKHN0YXRlLT5wYXRoID09IE5VTEwpIHsKKyAgICAgICAgeG1sRnJlZShzdGF0ZSk7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICBzdHJjcHkoc3RhdGUtPnBhdGgsIHBhdGgpOworCisgICAgLyogb3BlbiB0aGUgZmlsZSB3aXRoIHRoZSBhcHByb3ByaWF0ZSBtb2RlIChvciBqdXN0IHVzZSBmZCkgKi8KKyAgICBzdGF0ZS0+ZmQgPSBmZCAhPSAtMSA/IGZkIDogb3BlbihwYXRoLAorI2lmZGVmIE9fTEFSR0VGSUxFCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT19MQVJHRUZJTEUgfAorI2VuZGlmCisjaWZkZWYgT19CSU5BUlkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPX0JJTkFSWSB8CisjZW5kaWYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPX1JET05MWSwgMDY2Nik7CisgICAgaWYgKHN0YXRlLT5mZCA9PSAtMSkgeworICAgICAgICB4bWxGcmVlKHN0YXRlLT5wYXRoKTsKKyAgICAgICAgeG1sRnJlZShzdGF0ZSk7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKworICAgIC8qIHNhdmUgdGhlIGN1cnJlbnQgcG9zaXRpb24gZm9yIHJld2luZGluZyAob25seSBpZiByZWFkaW5nKSAqLworICAgIHN0YXRlLT5zdGFydCA9IGxzZWVrKHN0YXRlLT5mZCwgMCwgU0VFS19DVVIpOworICAgIGlmIChzdGF0ZS0+c3RhcnQgPT0gKHVpbnQ2NF90KSAtIDEpCisgICAgICAgIHN0YXRlLT5zdGFydCA9IDA7CisKKyAgICAvKiBpbml0aWFsaXplIHN0cmVhbSAqLworICAgIHh6X3Jlc2V0KHN0YXRlKTsKKworICAgIC8qIHJldHVybiBzdHJlYW0gKi8KKyAgICByZXR1cm4gKHh6RmlsZSkgc3RhdGU7Cit9CisKK3N0YXRpYyBpbnQKK3h6X2NvbXByZXNzZWQoeHpGaWxlIGYpIHsKKyAgICB4el9zdGF0ZXAgc3RhdGU7CisKKyAgICBpZiAoZiA9PSBOVUxMKQorICAgICAgICByZXR1cm4oLTEpOworICAgIHN0YXRlID0gKHh6X3N0YXRlcCkgZjsKKyAgICBpZiAoc3RhdGUtPmluaXQgPD0gMCkKKyAgICAgICAgcmV0dXJuKC0xKTsKKworICAgIHN3aXRjaCAoc3RhdGUtPmhvdykgeworICAgICAgICBjYXNlIENPUFk6CisJICAgIHJldHVybigwKTsKKwljYXNlIEdaSVA6CisJY2FzZSBMWk1BOgorCSAgICByZXR1cm4oMSk7CisgICAgfQorICAgIHJldHVybigtMSk7Cit9CisKK3h6RmlsZQorX19saWJ4bWwyX3h6b3Blbihjb25zdCBjaGFyICpwYXRoLCBjb25zdCBjaGFyICptb2RlKQoreworICAgIHJldHVybiB4el9vcGVuKHBhdGgsIC0xLCBtb2RlKTsKK30KKworaW50CitfX2xpYnhtbDJfeHpjb21wcmVzc2VkKHh6RmlsZSBmKSB7CisgICAgcmV0dXJuIHh6X2NvbXByZXNzZWQoZik7Cit9CisKK3h6RmlsZQorX19saWJ4bWwyX3h6ZG9wZW4oaW50IGZkLCBjb25zdCBjaGFyICptb2RlKQoreworICAgIGNoYXIgKnBhdGg7ICAgICAgICAgICAgICAgICAvKiBpZGVudGlmaWVyIGZvciBlcnJvciBtZXNzYWdlcyAqLworICAgIHh6RmlsZSB4ejsKKworICAgIGlmIChmZCA9PSAtMSB8fCAocGF0aCA9IHhtbE1hbGxvYyg3ICsgMyAqIHNpemVvZihpbnQpKSkgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgc3ByaW50ZihwYXRoLCAiPGZkOiVkPiIsIGZkKTsgICAgICAgLyogZm9yIGRlYnVnZ2luZyAqLworICAgIHh6ID0geHpfb3BlbihwYXRoLCBmZCwgbW9kZSk7CisgICAgeG1sRnJlZShwYXRoKTsKKyAgICByZXR1cm4geHo7Cit9CisKK3N0YXRpYyBpbnQKK3h6X2xvYWQoeHpfc3RhdGVwIHN0YXRlLCB1bnNpZ25lZCBjaGFyICpidWYsIHVuc2lnbmVkIGludCBsZW4sCisgICAgICAgIHVuc2lnbmVkIGludCAqaGF2ZSkKK3sKKyAgICBpbnQgcmV0OworCisgICAgKmhhdmUgPSAwOworICAgIGRvIHsKKyAgICAgICAgcmV0ID0gcmVhZChzdGF0ZS0+ZmQsIGJ1ZiArICpoYXZlLCBsZW4gLSAqaGF2ZSk7CisgICAgICAgIGlmIChyZXQgPD0gMCkKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICAqaGF2ZSArPSByZXQ7CisgICAgfSB3aGlsZSAoKmhhdmUgPCBsZW4pOworICAgIGlmIChyZXQgPCAwKSB7CisgICAgICAgIHh6X2Vycm9yKHN0YXRlLCAtMSwgc3RyZXJyb3IoZXJybm8pKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKyAgICBpZiAocmV0ID09IDApCisgICAgICAgIHN0YXRlLT5lb2YgPSAxOworICAgIHJldHVybiAwOworfQorCitzdGF0aWMgaW50Cit4el9hdmFpbCh4el9zdGF0ZXAgc3RhdGUpCit7CisgICAgbHptYV9zdHJlYW0gKnN0cm0gPSAmKHN0YXRlLT5zdHJtKTsKKworICAgIGlmIChzdGF0ZS0+ZXJyICE9IExaTUFfT0spCisgICAgICAgIHJldHVybiAtMTsKKyAgICBpZiAoc3RhdGUtPmVvZiA9PSAwKSB7CisgICAgICAgIC8qIGF2YWlsX2luIGlzIHNpemVfdCwgd2hpY2ggaXMgbm90IG5lY2Vzc2FyeSBzaXplb2YodW5zaWduZWQpICovCisgICAgICAgIHVuc2lnbmVkIHRtcCA9IHN0cm0tPmF2YWlsX2luOworCisgICAgICAgIGlmICh4el9sb2FkKHN0YXRlLCBzdGF0ZS0+aW4sIHN0YXRlLT5zaXplLCAmdG1wKSA9PSAtMSkgeworICAgICAgICAgICAgc3RybS0+YXZhaWxfaW4gPSB0bXA7CisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIH0KKyAgICAgICAgc3RybS0+YXZhaWxfaW4gPSB0bXA7CisgICAgICAgIHN0cm0tPm5leHRfaW4gPSBzdGF0ZS0+aW47CisgICAgfQorICAgIHJldHVybiAwOworfQorCisjaWZkZWYgSEFWRV9aTElCX0gKK3N0YXRpYyBpbnQKK3h6X2F2YWlsX3pzdHJtKHh6X3N0YXRlcCBzdGF0ZSkKK3sKKyAgICBpbnQgcmV0OworICAgIHN0YXRlLT5zdHJtLmF2YWlsX2luID0gc3RhdGUtPnpzdHJtLmF2YWlsX2luOworICAgIHN0YXRlLT5zdHJtLm5leHRfaW4gPSBzdGF0ZS0+enN0cm0ubmV4dF9pbjsKKyAgICByZXQgPSB4el9hdmFpbChzdGF0ZSk7CisgICAgc3RhdGUtPnpzdHJtLmF2YWlsX2luID0gKHVJbnQpIHN0YXRlLT5zdHJtLmF2YWlsX2luOworICAgIHN0YXRlLT56c3RybS5uZXh0X2luID0gKEJ5dGVmICopIHN0YXRlLT5zdHJtLm5leHRfaW47CisgICAgcmV0dXJuIHJldDsKK30KKyNlbmRpZgorCitzdGF0aWMgaW50Citpc19mb3JtYXRfeHooeHpfc3RhdGVwIHN0YXRlKQoreworICAgIGx6bWFfc3RyZWFtICpzdHJtID0gJihzdGF0ZS0+c3RybSk7CisKKyAgICByZXR1cm4gc3RybS0+YXZhaWxfaW4gPj0gNiAmJiBtZW1jbXAoc3RhdGUtPmluLCAiXDM3NTd6WFoiLCA2KSA9PSAwOworfQorCitzdGF0aWMgaW50Citpc19mb3JtYXRfbHptYSh4el9zdGF0ZXAgc3RhdGUpCit7CisgICAgbHptYV9zdHJlYW0gKnN0cm0gPSAmKHN0YXRlLT5zdHJtKTsKKworICAgIGx6bWFfZmlsdGVyIGZpbHRlcjsKKyAgICBsem1hX29wdGlvbnNfbHptYSAqb3B0OworICAgIHVpbnQzMl90IGRpY3Rfc2l6ZTsKKyAgICB1aW50NjRfdCB1bmNvbXByZXNzZWRfc2l6ZTsKKyAgICBzaXplX3QgaTsKKworICAgIGlmIChzdHJtLT5hdmFpbF9pbiA8IDEzKQorICAgICAgICByZXR1cm4gMDsKKworICAgIGZpbHRlci5pZCA9IExaTUFfRklMVEVSX0xaTUExOworICAgIGlmIChsem1hX3Byb3BlcnRpZXNfZGVjb2RlKCZmaWx0ZXIsIE5VTEwsIHN0YXRlLT5pbiwgNSkgIT0gTFpNQV9PSykKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBvcHQgPSBmaWx0ZXIub3B0aW9uczsKKyAgICBkaWN0X3NpemUgPSBvcHQtPmRpY3Rfc2l6ZTsKKyAgICBmcmVlKG9wdCk7IC8qIHdlIGNhbid0IHVzZSB4bWxGcmVlIG9uIGEgc3RyaW5nIHJldHVybmVkIGJ5IHpsaWIgKi8KKworICAgIC8qIEEgaGFjayB0byBkaXRjaCB0b25zIG9mIGZhbHNlIHBvc2l0aXZlczogV2UgYWxsb3cgb25seSBkaWN0aW9uYXJ5CisgICAgICogc2l6ZXMgdGhhdCBhcmUgMl5uIG9yIDJebiArIDJeKG4tMSkgb3IgVUlOVDMyX01BWC4gTFpNQV9BbG9uZQorICAgICAqIGNyZWF0ZWQgb25seSBmaWxlcyB3aXRoIDJebiwgYnV0IGFjY2VwdHMgYW55IGRpY3Rpb25hcnkgc2l6ZS4KKyAgICAgKiBJZiBzb21lb25lIGNvbXBsYWlucywgdGhpcyB3aWxsIGJlIHJlY29uc2lkZXJlZC4KKyAgICAgKi8KKyAgICBpZiAoZGljdF9zaXplICE9IFVJTlQzMl9NQVgpIHsKKyAgICAgICAgdWludDMyX3QgZCA9IGRpY3Rfc2l6ZSAtIDE7CisKKyAgICAgICAgZCB8PSBkID4+IDI7CisgICAgICAgIGQgfD0gZCA+PiAzOworICAgICAgICBkIHw9IGQgPj4gNDsKKyAgICAgICAgZCB8PSBkID4+IDg7CisgICAgICAgIGQgfD0gZCA+PiAxNjsKKyAgICAgICAgKytkOworICAgICAgICBpZiAoZCAhPSBkaWN0X3NpemUgfHwgZGljdF9zaXplID09IDApCisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICB9CisKKyAgICAvKiBBbm90aGVyIGhhY2sgdG8gZGl0Y2ggZmFsc2UgcG9zaXRpdmVzOiBBc3N1bWUgdGhhdCBpZiB0aGUKKyAgICAgKiB1bmNvbXByZXNzZWQgc2l6ZSBpcyBrbm93biwgaXQgbXVzdCBiZSBsZXNzIHRoYW4gMjU2IEdpQi4KKyAgICAgKiBBZ2FpbiwgaWYgc29tZW9uZSBjb21wbGFpbnMsIHRoaXMgd2lsbCBiZSByZWNvbnNpZGVyZWQuCisgICAgICovCisgICAgdW5jb21wcmVzc2VkX3NpemUgPSAwOworICAgIGZvciAoaSA9IDA7IGkgPCA4OyArK2kpCisgICAgICAgIHVuY29tcHJlc3NlZF9zaXplIHw9ICh1aW50NjRfdCkgKHN0YXRlLT5pbls1ICsgaV0pIDw8IChpICogOCk7CisKKyAgICBpZiAodW5jb21wcmVzc2VkX3NpemUgIT0gVUlOVDY0X01BWAorICAgICAgICAmJiB1bmNvbXByZXNzZWRfc2l6ZSA+IChVSU5UNjRfQygxKSA8PCAzOCkpCisgICAgICAgIHJldHVybiAwOworCisgICAgcmV0dXJuIDE7Cit9CisKKyNpZmRlZiBIQVZFX1pMSUJfSAorCisvKiBHZXQgbmV4dCBieXRlIGZyb20gaW5wdXQsIG9yIC0xIGlmIGVuZCBvciBlcnJvci4gKi8KKyNkZWZpbmUgTkVYVCgpICgoc3RybS0+YXZhaWxfaW4gPT0gMCAmJiB4el9hdmFpbChzdGF0ZSkgPT0gLTEpID8gLTEgOiBcCisgICAgICAgICAgICAgICAgKHN0cm0tPmF2YWlsX2luID09IDAgPyAtMSA6IFwKKyAgICAgICAgICAgICAgICAgKHN0cm0tPmF2YWlsX2luLS0sICooc3RybS0+bmV4dF9pbikrKykpKQorLyogU2FtZSB0aGluZywgYnV0IGZyb20genN0cm0gKi8KKyNkZWZpbmUgTkVYVFooKSAoKHN0cm0tPmF2YWlsX2luID09IDAgJiYgeHpfYXZhaWxfenN0cm0oc3RhdGUpID09IC0xKSA/IC0xIDogXAorICAgICAgICAgICAgICAgIChzdHJtLT5hdmFpbF9pbiA9PSAwID8gLTEgOiBcCisgICAgICAgICAgICAgICAgIChzdHJtLT5hdmFpbF9pbi0tLCAqKHN0cm0tPm5leHRfaW4pKyspKSkKKworLyogR2V0IGEgZm91ci1ieXRlIGxpdHRsZS1lbmRpYW4gaW50ZWdlciBhbmQgcmV0dXJuIDAgb24gc3VjY2VzcyBhbmQgdGhlIHZhbHVlCisgICBpbiAqcmV0LiAgT3RoZXJ3aXNlIC0xIGlzIHJldHVybmVkIGFuZCAqcmV0IGlzIG5vdCBtb2RpZmllZC4gKi8KK3N0YXRpYyBpbnQKK2d6X25leHQ0KHh6X3N0YXRlcCBzdGF0ZSwgdW5zaWduZWQgbG9uZyAqcmV0KQoreworICAgIGludCBjaDsKKyAgICB1bnNpZ25lZCBsb25nIHZhbDsKKyAgICB6X3N0cmVhbXAgc3RybSA9ICYoc3RhdGUtPnpzdHJtKTsKKworICAgIHZhbCA9IE5FWFRaKCk7CisgICAgdmFsICs9ICh1bnNpZ25lZCkgTkVYVFooKSA8PCA4OworICAgIHZhbCArPSAodW5zaWduZWQgbG9uZykgTkVYVFooKSA8PCAxNjsKKyAgICBjaCA9IE5FWFRaKCk7CisgICAgaWYgKGNoID09IC0xKQorICAgICAgICByZXR1cm4gLTE7CisgICAgdmFsICs9ICh1bnNpZ25lZCBsb25nKSBjaCA8PCAyNDsKKyAgICAqcmV0ID0gdmFsOworICAgIHJldHVybiAwOworfQorI2VuZGlmCisKK3N0YXRpYyBpbnQKK3h6X2hlYWQoeHpfc3RhdGVwIHN0YXRlKQoreworICAgIGx6bWFfc3RyZWFtICpzdHJtID0gJihzdGF0ZS0+c3RybSk7CisgICAgbHptYV9zdHJlYW0gaW5pdCA9IExaTUFfU1RSRUFNX0lOSVQ7CisgICAgaW50IGZsYWdzOworICAgIHVuc2lnbmVkIGxlbjsKKworICAgIC8qIGFsbG9jYXRlIHJlYWQgYnVmZmVycyBhbmQgaW5mbGF0ZSBtZW1vcnkgKi8KKyAgICBpZiAoc3RhdGUtPnNpemUgPT0gMCkgeworICAgICAgICAvKiBhbGxvY2F0ZSBidWZmZXJzICovCisgICAgICAgIHN0YXRlLT5pbiA9IHhtbE1hbGxvYyhzdGF0ZS0+d2FudCk7CisgICAgICAgIHN0YXRlLT5vdXQgPSB4bWxNYWxsb2Moc3RhdGUtPndhbnQgPDwgMSk7CisgICAgICAgIGlmIChzdGF0ZS0+aW4gPT0gTlVMTCB8fCBzdGF0ZS0+b3V0ID09IE5VTEwpIHsKKyAgICAgICAgICAgIGlmIChzdGF0ZS0+b3V0ICE9IE5VTEwpCisgICAgICAgICAgICAgICAgeG1sRnJlZShzdGF0ZS0+b3V0KTsKKyAgICAgICAgICAgIGlmIChzdGF0ZS0+aW4gIT0gTlVMTCkKKyAgICAgICAgICAgICAgICB4bWxGcmVlKHN0YXRlLT5pbik7CisgICAgICAgICAgICB4el9lcnJvcihzdGF0ZSwgTFpNQV9NRU1fRVJST1IsICJvdXQgb2YgbWVtb3J5Iik7CisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIH0KKyAgICAgICAgc3RhdGUtPnNpemUgPSBzdGF0ZS0+d2FudDsKKworICAgICAgICAvKiBhbGxvY2F0ZSBkZWNvZGVyIG1lbW9yeSAqLworICAgICAgICBzdGF0ZS0+c3RybSA9IGluaXQ7CisgICAgICAgIHN0YXRlLT5zdHJtLmF2YWlsX2luID0gMDsKKyAgICAgICAgc3RhdGUtPnN0cm0ubmV4dF9pbiA9IE5VTEw7CisgICAgICAgIGlmIChsem1hX2F1dG9fZGVjb2Rlcigmc3RhdGUtPnN0cm0sIFVJTlQ2NF9NQVgsIDApICE9IExaTUFfT0spIHsKKyAgICAgICAgICAgIHhtbEZyZWUoc3RhdGUtPm91dCk7CisgICAgICAgICAgICB4bWxGcmVlKHN0YXRlLT5pbik7CisgICAgICAgICAgICBzdGF0ZS0+c2l6ZSA9IDA7CisgICAgICAgICAgICB4el9lcnJvcihzdGF0ZSwgTFpNQV9NRU1fRVJST1IsICJvdXQgb2YgbWVtb3J5Iik7CisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIH0KKyNpZmRlZiBIQVZFX1pMSUJfSAorICAgICAgICAvKiBhbGxvY2F0ZSBpbmZsYXRlIG1lbW9yeSAqLworICAgICAgICBzdGF0ZS0+enN0cm0uemFsbG9jID0gWl9OVUxMOworICAgICAgICBzdGF0ZS0+enN0cm0uemZyZWUgPSBaX05VTEw7CisgICAgICAgIHN0YXRlLT56c3RybS5vcGFxdWUgPSBaX05VTEw7CisgICAgICAgIHN0YXRlLT56c3RybS5hdmFpbF9pbiA9IDA7CisgICAgICAgIHN0YXRlLT56c3RybS5uZXh0X2luID0gWl9OVUxMOworICAgICAgICBpZiAoc3RhdGUtPmluaXQgPT0gMCkgeworICAgICAgICAgICAgaWYgKGluZmxhdGVJbml0MigmKHN0YXRlLT56c3RybSksIC0xNSkgIT0gWl9PSykgey8qIHJhdyBpbmZsYXRlICovCisgICAgICAgICAgICAgICAgeG1sRnJlZShzdGF0ZS0+b3V0KTsKKyAgICAgICAgICAgICAgICB4bWxGcmVlKHN0YXRlLT5pbik7CisgICAgICAgICAgICAgICAgc3RhdGUtPnNpemUgPSAwOworICAgICAgICAgICAgICAgIHh6X2Vycm9yKHN0YXRlLCBMWk1BX01FTV9FUlJPUiwgIm91dCBvZiBtZW1vcnkiKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBzdGF0ZS0+aW5pdCA9IDE7CisgICAgICAgIH0KKyNlbmRpZgorICAgIH0KKworICAgIC8qIGdldCBzb21lIGRhdGEgaW4gdGhlIGlucHV0IGJ1ZmZlciAqLworICAgIGlmIChzdHJtLT5hdmFpbF9pbiA9PSAwKSB7CisgICAgICAgIGlmICh4el9hdmFpbChzdGF0ZSkgPT0gLTEpCisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIGlmIChzdHJtLT5hdmFpbF9pbiA9PSAwKQorICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCisgICAgLyogbG9vayBmb3IgdGhlIHh6IG1hZ2ljIGhlYWRlciBieXRlcyAqLworICAgIGlmIChpc19mb3JtYXRfeHooc3RhdGUpIHx8IGlzX2Zvcm1hdF9sem1hKHN0YXRlKSkgeworICAgICAgICBzdGF0ZS0+aG93ID0gTFpNQTsKKyAgICAgICAgc3RhdGUtPmRpcmVjdCA9IDA7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKyNpZmRlZiBIQVZFX1pMSUJfSAorICAgIC8qIGxvb2sgZm9yIHRoZSBnemlwIG1hZ2ljIGhlYWRlciBieXRlcyAzMSBhbmQgMTM5ICovCisgICAgaWYgKHN0cm0tPm5leHRfaW5bMF0gPT0gMzEpIHsKKyAgICAgICAgc3RybS0+YXZhaWxfaW4tLTsKKyAgICAgICAgc3RybS0+bmV4dF9pbisrOworICAgICAgICBpZiAoc3RybS0+YXZhaWxfaW4gPT0gMCAmJiB4el9hdmFpbChzdGF0ZSkgPT0gLTEpCisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIGlmIChzdHJtLT5hdmFpbF9pbiAmJiBzdHJtLT5uZXh0X2luWzBdID09IDEzOSkgeworICAgICAgICAgICAgLyogd2UgaGF2ZSBhIGd6aXAgaGVhZGVyLCB3b28gaG9vISAqLworICAgICAgICAgICAgc3RybS0+YXZhaWxfaW4tLTsKKyAgICAgICAgICAgIHN0cm0tPm5leHRfaW4rKzsKKworICAgICAgICAgICAgLyogc2tpcCByZXN0IG9mIGhlYWRlciAqLworICAgICAgICAgICAgaWYgKE5FWFQoKSAhPSA4KSB7ICAvKiBjb21wcmVzc2lvbiBtZXRob2QgKi8KKyAgICAgICAgICAgICAgICB4el9lcnJvcihzdGF0ZSwgTFpNQV9EQVRBX0VSUk9SLAorICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmtub3duIGNvbXByZXNzaW9uIG1ldGhvZCIpOworICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGZsYWdzID0gTkVYVCgpOworICAgICAgICAgICAgaWYgKGZsYWdzICYgMHhlMCkgeyAvKiByZXNlcnZlZCBmbGFnIGJpdHMgKi8KKyAgICAgICAgICAgICAgICB4el9lcnJvcihzdGF0ZSwgTFpNQV9EQVRBX0VSUk9SLAorICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmtub3duIGhlYWRlciBmbGFncyBzZXQiKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBORVhUKCk7ICAgICAgICAgICAgIC8qIG1vZGlmaWNhdGlvbiB0aW1lICovCisgICAgICAgICAgICBORVhUKCk7CisgICAgICAgICAgICBORVhUKCk7CisgICAgICAgICAgICBORVhUKCk7CisgICAgICAgICAgICBORVhUKCk7ICAgICAgICAgICAgIC8qIGV4dHJhIGZsYWdzICovCisgICAgICAgICAgICBORVhUKCk7ICAgICAgICAgICAgIC8qIG9wZXJhdGluZyBzeXN0ZW0gKi8KKyAgICAgICAgICAgIGlmIChmbGFncyAmIDQpIHsgICAgLyogZXh0cmEgZmllbGQgKi8KKyAgICAgICAgICAgICAgICBsZW4gPSAodW5zaWduZWQpIE5FWFQoKTsKKyAgICAgICAgICAgICAgICBsZW4gKz0gKHVuc2lnbmVkKSBORVhUKCkgPDwgODsKKyAgICAgICAgICAgICAgICB3aGlsZSAobGVuLS0pCisgICAgICAgICAgICAgICAgICAgIGlmIChORVhUKCkgPCAwKQorICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAoZmxhZ3MgJiA4KSAgICAgIC8qIGZpbGUgbmFtZSAqLworICAgICAgICAgICAgICAgIHdoaWxlIChORVhUKCkgPiAwKSA7CisgICAgICAgICAgICBpZiAoZmxhZ3MgJiAxNikgICAgIC8qIGNvbW1lbnQgKi8KKyAgICAgICAgICAgICAgICB3aGlsZSAoTkVYVCgpID4gMCkgOworICAgICAgICAgICAgaWYgKGZsYWdzICYgMikgeyAgICAvKiBoZWFkZXIgY3JjICovCisgICAgICAgICAgICAgICAgTkVYVCgpOworICAgICAgICAgICAgICAgIE5FWFQoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIC8qIGFuIHVuZXhwZWN0ZWQgZW5kIG9mIGZpbGUgaXMgbm90IGNoZWNrZWQgZm9yIGhlcmUgLS0gaXQgd2lsbCBiZQorICAgICAgICAgICAgICogbm90aWNlZCBvbiB0aGUgZmlyc3QgcmVxdWVzdCBmb3IgdW5jb21wcmVzc2VkIGRhdGEgKi8KKworICAgICAgICAgICAgLyogc2V0IHVwIGZvciBkZWNvbXByZXNzaW9uICovCisgICAgICAgICAgICBpbmZsYXRlUmVzZXQoJnN0YXRlLT56c3RybSk7CisgICAgICAgICAgICBzdGF0ZS0+enN0cm0uYWRsZXIgPSBjcmMzMigwTCwgWl9OVUxMLCAwKTsKKyAgICAgICAgICAgIHN0YXRlLT5ob3cgPSBHWklQOworICAgICAgICAgICAgc3RhdGUtPmRpcmVjdCA9IDA7CisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIC8qIG5vdCBhIGd6aXAgZmlsZSAtLSBzYXZlIGZpcnN0IGJ5dGUgKDMxKSBhbmQgZmFsbCB0byByYXcgaS9vICovCisgICAgICAgICAgICBzdGF0ZS0+b3V0WzBdID0gMzE7CisgICAgICAgICAgICBzdGF0ZS0+aGF2ZSA9IDE7CisgICAgICAgIH0KKyAgICB9CisjZW5kaWYKKworICAgIC8qIGRvaW5nIHJhdyBpL28sIHNhdmUgc3RhcnQgb2YgcmF3IGRhdGEgZm9yIHNlZWtpbmcsIGNvcHkgYW55IGxlZnRvdmVyCisgICAgICogaW5wdXQgdG8gb3V0cHV0IC0tIHRoaXMgYXNzdW1lcyB0aGF0IHRoZSBvdXRwdXQgYnVmZmVyIGlzIGxhcmdlciB0aGFuCisgICAgICogdGhlIGlucHV0IGJ1ZmZlciwgd2hpY2ggYWxzbyBhc3N1cmVzIHNwYWNlIGZvciBnenVuZ2V0YygpICovCisgICAgc3RhdGUtPnJhdyA9IHN0YXRlLT5wb3M7CisgICAgc3RhdGUtPm5leHQgPSBzdGF0ZS0+b3V0OworICAgIGlmIChzdHJtLT5hdmFpbF9pbikgeworICAgICAgICBtZW1jcHkoc3RhdGUtPm5leHQgKyBzdGF0ZS0+aGF2ZSwgc3RybS0+bmV4dF9pbiwgc3RybS0+YXZhaWxfaW4pOworICAgICAgICBzdGF0ZS0+aGF2ZSArPSBzdHJtLT5hdmFpbF9pbjsKKyAgICAgICAgc3RybS0+YXZhaWxfaW4gPSAwOworICAgIH0KKyAgICBzdGF0ZS0+aG93ID0gQ09QWTsKKyAgICBzdGF0ZS0+ZGlyZWN0ID0gMTsKKyAgICByZXR1cm4gMDsKK30KKworc3RhdGljIGludAoreHpfZGVjb21wKHh6X3N0YXRlcCBzdGF0ZSkKK3sKKyAgICBpbnQgcmV0OworICAgIHVuc2lnbmVkIGhhZDsKKyAgICB1bnNpZ25lZCBsb25nIGNyYywgbGVuOworICAgIGx6bWFfc3RyZWFtICpzdHJtID0gJihzdGF0ZS0+c3RybSk7CisKKyAgICBsem1hX2FjdGlvbiBhY3Rpb24gPSBMWk1BX1JVTjsKKworICAgIC8qIGZpbGwgb3V0cHV0IGJ1ZmZlciB1cCB0byBlbmQgb2YgZGVmbGF0ZSBzdHJlYW0gKi8KKyAgICBoYWQgPSBzdHJtLT5hdmFpbF9vdXQ7CisgICAgZG8geworICAgICAgICAvKiBnZXQgbW9yZSBpbnB1dCBmb3IgaW5mbGF0ZSgpICovCisgICAgICAgIGlmIChzdHJtLT5hdmFpbF9pbiA9PSAwICYmIHh6X2F2YWlsKHN0YXRlKSA9PSAtMSkKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgaWYgKHN0cm0tPmF2YWlsX2luID09IDApIHsKKyAgICAgICAgICAgIHh6X2Vycm9yKHN0YXRlLCBMWk1BX0RBVEFfRVJST1IsICJ1bmV4cGVjdGVkIGVuZCBvZiBmaWxlIik7CisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIH0KKyAgICAgICAgaWYgKHN0YXRlLT5lb2YpCisgICAgICAgICAgICBhY3Rpb24gPSBMWk1BX0ZJTklTSDsKKworICAgICAgICAvKiBkZWNvbXByZXNzIGFuZCBoYW5kbGUgZXJyb3JzICovCisjaWZkZWYgSEFWRV9aTElCX0gKKyAgICAgICAgaWYgKHN0YXRlLT5ob3cgPT0gR1pJUCkgeworICAgICAgICAgICAgc3RhdGUtPnpzdHJtLmF2YWlsX2luID0gKHVJbnQpIHN0YXRlLT5zdHJtLmF2YWlsX2luOworICAgICAgICAgICAgc3RhdGUtPnpzdHJtLm5leHRfaW4gPSAoQnl0ZWYgKikgc3RhdGUtPnN0cm0ubmV4dF9pbjsKKyAgICAgICAgICAgIHN0YXRlLT56c3RybS5hdmFpbF9vdXQgPSAodUludCkgc3RhdGUtPnN0cm0uYXZhaWxfb3V0OworICAgICAgICAgICAgc3RhdGUtPnpzdHJtLm5leHRfb3V0ID0gKEJ5dGVmICopIHN0YXRlLT5zdHJtLm5leHRfb3V0OworICAgICAgICAgICAgcmV0ID0gaW5mbGF0ZSgmc3RhdGUtPnpzdHJtLCBaX05PX0ZMVVNIKTsKKyAgICAgICAgICAgIGlmIChyZXQgPT0gWl9TVFJFQU1fRVJST1IgfHwgcmV0ID09IFpfTkVFRF9ESUNUKSB7CisgICAgICAgICAgICAgICAgeHpfZXJyb3Ioc3RhdGUsIFpfU1RSRUFNX0VSUk9SLAorICAgICAgICAgICAgICAgICAgICAgICAgICJpbnRlcm5hbCBlcnJvcjogaW5mbGF0ZSBzdHJlYW0gY29ycnVwdCIpOworICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChyZXQgPT0gWl9NRU1fRVJST1IpCisgICAgICAgICAgICAgICAgcmV0ID0gTFpNQV9NRU1fRVJST1I7CisgICAgICAgICAgICBpZiAocmV0ID09IFpfREFUQV9FUlJPUikKKyAgICAgICAgICAgICAgICByZXQgPSBMWk1BX0RBVEFfRVJST1I7CisgICAgICAgICAgICBpZiAocmV0ID09IFpfU1RSRUFNX0VORCkKKyAgICAgICAgICAgICAgICByZXQgPSBMWk1BX1NUUkVBTV9FTkQ7CisgICAgICAgICAgICBzdGF0ZS0+c3RybS5hdmFpbF9pbiA9IHN0YXRlLT56c3RybS5hdmFpbF9pbjsKKyAgICAgICAgICAgIHN0YXRlLT5zdHJtLm5leHRfaW4gPSBzdGF0ZS0+enN0cm0ubmV4dF9pbjsKKyAgICAgICAgICAgIHN0YXRlLT5zdHJtLmF2YWlsX291dCA9IHN0YXRlLT56c3RybS5hdmFpbF9vdXQ7CisgICAgICAgICAgICBzdGF0ZS0+c3RybS5uZXh0X291dCA9IHN0YXRlLT56c3RybS5uZXh0X291dDsKKyAgICAgICAgfSBlbHNlICAgICAgICAgICAgICAgICAgLyogc3RhdGUtPmhvdyA9PSBMWk1BICovCisjZW5kaWYKKyAgICAgICAgICAgIHJldCA9IGx6bWFfY29kZShzdHJtLCBhY3Rpb24pOworICAgICAgICBpZiAocmV0ID09IExaTUFfTUVNX0VSUk9SKSB7CisgICAgICAgICAgICB4el9lcnJvcihzdGF0ZSwgTFpNQV9NRU1fRVJST1IsICJvdXQgb2YgbWVtb3J5Iik7CisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIH0KKyAgICAgICAgaWYgKHJldCA9PSBMWk1BX0RBVEFfRVJST1IpIHsKKyAgICAgICAgICAgIHh6X2Vycm9yKHN0YXRlLCBMWk1BX0RBVEFfRVJST1IsICJjb21wcmVzc2VkIGRhdGEgZXJyb3IiKTsKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgfQorICAgIH0gd2hpbGUgKHN0cm0tPmF2YWlsX291dCAmJiByZXQgIT0gTFpNQV9TVFJFQU1fRU5EKTsKKworICAgIC8qIHVwZGF0ZSBhdmFpbGFibGUgb3V0cHV0IGFuZCBjcmMgY2hlY2sgdmFsdWUgKi8KKyAgICBzdGF0ZS0+aGF2ZSA9IGhhZCAtIHN0cm0tPmF2YWlsX291dDsKKyAgICBzdGF0ZS0+bmV4dCA9IHN0cm0tPm5leHRfb3V0IC0gc3RhdGUtPmhhdmU7CisjaWZkZWYgSEFWRV9aTElCX0gKKyAgICBzdGF0ZS0+enN0cm0uYWRsZXIgPQorICAgICAgICBjcmMzMihzdGF0ZS0+enN0cm0uYWRsZXIsIHN0YXRlLT5uZXh0LCBzdGF0ZS0+aGF2ZSk7CisjZW5kaWYKKworICAgIGlmIChyZXQgPT0gTFpNQV9TVFJFQU1fRU5EKSB7CisjaWZkZWYgSEFWRV9aTElCX0gKKyAgICAgICAgaWYgKHN0YXRlLT5ob3cgPT0gR1pJUCkgeworICAgICAgICAgICAgaWYgKGd6X25leHQ0KHN0YXRlLCAmY3JjKSA9PSAtMSB8fCBnel9uZXh0NChzdGF0ZSwgJmxlbikgPT0gLTEpIHsKKyAgICAgICAgICAgICAgICB4el9lcnJvcihzdGF0ZSwgTFpNQV9EQVRBX0VSUk9SLCAidW5leHBlY3RlZCBlbmQgb2YgZmlsZSIpOworICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChjcmMgIT0gc3RhdGUtPnpzdHJtLmFkbGVyKSB7CisgICAgICAgICAgICAgICAgeHpfZXJyb3Ioc3RhdGUsIExaTUFfREFUQV9FUlJPUiwgImluY29ycmVjdCBkYXRhIGNoZWNrIik7CisgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKGxlbiAhPSAoc3RhdGUtPnpzdHJtLnRvdGFsX291dCAmIDB4ZmZmZmZmZmZMKSkgeworICAgICAgICAgICAgICAgIHh6X2Vycm9yKHN0YXRlLCBMWk1BX0RBVEFfRVJST1IsICJpbmNvcnJlY3QgbGVuZ3RoIGNoZWNrIik7CisgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgfQorICAgICAgICAgICAgc3RhdGUtPnN0cm0uYXZhaWxfaW4gPSAwOworICAgICAgICAgICAgc3RhdGUtPnN0cm0ubmV4dF9pbiA9IE5VTEw7CisgICAgICAgICAgICBzdGF0ZS0+c3RybS5hdmFpbF9vdXQgPSAwOworICAgICAgICAgICAgc3RhdGUtPnN0cm0ubmV4dF9vdXQgPSBOVUxMOworICAgICAgICB9IGVsc2UKKyNlbmRpZgorICAgICAgICBpZiAoc3RybS0+YXZhaWxfaW4gIT0gMCB8fCAhc3RhdGUtPmVvZikgeworICAgICAgICAgICAgeHpfZXJyb3Ioc3RhdGUsIExaTUFfREFUQV9FUlJPUiwgInRyYWlsaW5nIGdhcmJhZ2UiKTsKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgfQorICAgICAgICBzdGF0ZS0+aG93ID0gTE9PSzsgICAgICAvKiByZWFkeSBmb3IgbmV4dCBzdHJlYW0sIG9uY2UgaGF2ZSBpcyAwIChsZWF2ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiBzdGF0ZS0+ZGlyZWN0IHVuY2hhbmdlZCB0byByZW1lbWJlciBob3cpICovCisgICAgfQorCisgICAgLyogZ29vZCBkZWNvbXByZXNzaW9uICovCisgICAgcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQKK3h6X21ha2UoeHpfc3RhdGVwIHN0YXRlKQoreworICAgIGx6bWFfc3RyZWFtICpzdHJtID0gJihzdGF0ZS0+c3RybSk7CisKKyAgICBpZiAoc3RhdGUtPmhvdyA9PSBMT09LKSB7ICAgLyogbG9vayBmb3IgbHptYSAvIGd6aXAgaGVhZGVyICovCisgICAgICAgIGlmICh4el9oZWFkKHN0YXRlKSA9PSAtMSkKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgaWYgKHN0YXRlLT5oYXZlKSAgICAgICAgLyogZ290IHNvbWUgZGF0YSBmcm9tIHh6X2hlYWQoKSAqLworICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgfQorICAgIGlmIChzdGF0ZS0+aG93ID09IENPUFkpIHsgICAvKiBzdHJhaWdodCBjb3B5ICovCisgICAgICAgIGlmICh4el9sb2FkKHN0YXRlLCBzdGF0ZS0+b3V0LCBzdGF0ZS0+c2l6ZSA8PCAxLCAmKHN0YXRlLT5oYXZlKSkgPT0KKyAgICAgICAgICAgIC0xKQorICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICBzdGF0ZS0+bmV4dCA9IHN0YXRlLT5vdXQ7CisgICAgfSBlbHNlIGlmIChzdGF0ZS0+aG93ID09IExaTUEgfHwgc3RhdGUtPmhvdyA9PSBHWklQKSB7ICAgICAgLyogZGVjb21wcmVzcyAqLworICAgICAgICBzdHJtLT5hdmFpbF9vdXQgPSBzdGF0ZS0+c2l6ZSA8PCAxOworICAgICAgICBzdHJtLT5uZXh0X291dCA9IHN0YXRlLT5vdXQ7CisgICAgICAgIGlmICh4el9kZWNvbXAoc3RhdGUpID09IC0xKQorICAgICAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKyAgICByZXR1cm4gMDsKK30KKworc3RhdGljIGludAoreHpfc2tpcCh4el9zdGF0ZXAgc3RhdGUsIHVpbnQ2NF90IGxlbikKK3sKKyAgICB1bnNpZ25lZCBuOworCisgICAgLyogc2tpcCBvdmVyIGxlbiBieXRlcyBvciByZWFjaCBlbmQtb2YtZmlsZSwgd2hpY2hldmVyIGNvbWVzIGZpcnN0ICovCisgICAgd2hpbGUgKGxlbikKKyAgICAgICAgLyogc2tpcCBvdmVyIHdoYXRldmVyIGlzIGluIG91dHB1dCBidWZmZXIgKi8KKyAgICAgICAgaWYgKHN0YXRlLT5oYXZlKSB7CisgICAgICAgICAgICBuID0gKHVpbnQ2NF90KSBzdGF0ZS0+aGF2ZSA+IGxlbiA/CisgICAgICAgICAgICAgICAgKHVuc2lnbmVkKSBsZW4gOiBzdGF0ZS0+aGF2ZTsKKyAgICAgICAgICAgIHN0YXRlLT5oYXZlIC09IG47CisgICAgICAgICAgICBzdGF0ZS0+bmV4dCArPSBuOworICAgICAgICAgICAgc3RhdGUtPnBvcyArPSBuOworICAgICAgICAgICAgbGVuIC09IG47CisgICAgICAgIH0KKworICAgIC8qIG91dHB1dCBidWZmZXIgZW1wdHkgLS0gcmV0dXJuIGlmIHdlJ3JlIGF0IHRoZSBlbmQgb2YgdGhlIGlucHV0ICovCisgICAgICAgIGVsc2UgaWYgKHN0YXRlLT5lb2YgJiYgc3RhdGUtPnN0cm0uYXZhaWxfaW4gPT0gMCkKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgLyogbmVlZCBtb3JlIGRhdGEgdG8gc2tpcCAtLSBsb2FkIHVwIG91dHB1dCBidWZmZXIgKi8KKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAvKiBnZXQgbW9yZSBvdXRwdXQsIGxvb2tpbmcgZm9yIGhlYWRlciBpZiByZXF1aXJlZCAqLworICAgICAgICAgICAgaWYgKHh6X21ha2Uoc3RhdGUpID09IC0xKQorICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgfQorICAgIHJldHVybiAwOworfQorCitpbnQKK19fbGlieG1sMl94enJlYWQoeHpGaWxlIGZpbGUsIHZvaWQgKmJ1ZiwgdW5zaWduZWQgbGVuKQoreworICAgIHVuc2lnbmVkIGdvdCwgbjsKKyAgICB4el9zdGF0ZXAgc3RhdGU7CisgICAgbHptYV9zdHJlYW0gKnN0cm07CisKKyAgICAvKiBnZXQgaW50ZXJuYWwgc3RydWN0dXJlICovCisgICAgaWYgKGZpbGUgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIC0xOworICAgIHN0YXRlID0gKHh6X3N0YXRlcCkgZmlsZTsKKyAgICBzdHJtID0gJihzdGF0ZS0+c3RybSk7CisKKyAgICAvKiBjaGVjayB0aGF0IHdlJ3JlIHJlYWRpbmcgYW5kIHRoYXQgdGhlcmUncyBubyBlcnJvciAqLworICAgIGlmIChzdGF0ZS0+ZXJyICE9IExaTUFfT0spCisgICAgICAgIHJldHVybiAtMTsKKworICAgIC8qIHNpbmNlIGFuIGludCBpcyByZXR1cm5lZCwgbWFrZSBzdXJlIGxlbiBmaXRzIGluIG9uZSwgb3RoZXJ3aXNlIHJldHVybgorICAgICAqIHdpdGggYW4gZXJyb3IgKHRoaXMgYXZvaWRzIHRoZSBmbGF3IGluIHRoZSBpbnRlcmZhY2UpICovCisgICAgaWYgKChpbnQpIGxlbiA8IDApIHsKKyAgICAgICAgeHpfZXJyb3Ioc3RhdGUsIExaTUFfQlVGX0VSUk9SLAorICAgICAgICAgICAgICAgICAicmVxdWVzdGVkIGxlbmd0aCBkb2VzIG5vdCBmaXQgaW4gaW50Iik7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisKKyAgICAvKiBpZiBsZW4gaXMgemVybywgYXZvaWQgdW5uZWNlc3Nhcnkgb3BlcmF0aW9ucyAqLworICAgIGlmIChsZW4gPT0gMCkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICAvKiBwcm9jZXNzIGEgc2tpcCByZXF1ZXN0ICovCisgICAgaWYgKHN0YXRlLT5zZWVrKSB7CisgICAgICAgIHN0YXRlLT5zZWVrID0gMDsKKyAgICAgICAgaWYgKHh6X3NraXAoc3RhdGUsIHN0YXRlLT5za2lwKSA9PSAtMSkKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisKKyAgICAvKiBnZXQgbGVuIGJ5dGVzIHRvIGJ1Ziwgb3IgbGVzcyB0aGFuIGxlbiBpZiBhdCB0aGUgZW5kICovCisgICAgZ290ID0gMDsKKyAgICBkbyB7CisgICAgICAgIC8qIGZpcnN0IGp1c3QgdHJ5IGNvcHlpbmcgZGF0YSBmcm9tIHRoZSBvdXRwdXQgYnVmZmVyICovCisgICAgICAgIGlmIChzdGF0ZS0+aGF2ZSkgeworICAgICAgICAgICAgbiA9IHN0YXRlLT5oYXZlID4gbGVuID8gbGVuIDogc3RhdGUtPmhhdmU7CisgICAgICAgICAgICBtZW1jcHkoYnVmLCBzdGF0ZS0+bmV4dCwgbik7CisgICAgICAgICAgICBzdGF0ZS0+bmV4dCArPSBuOworICAgICAgICAgICAgc3RhdGUtPmhhdmUgLT0gbjsKKyAgICAgICAgfQorCisgICAgICAgIC8qIG91dHB1dCBidWZmZXIgZW1wdHkgLS0gcmV0dXJuIGlmIHdlJ3JlIGF0IHRoZSBlbmQgb2YgdGhlIGlucHV0ICovCisgICAgICAgIGVsc2UgaWYgKHN0YXRlLT5lb2YgJiYgc3RybS0+YXZhaWxfaW4gPT0gMCkKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIC8qIG5lZWQgb3V0cHV0IGRhdGEgLS0gZm9yIHNtYWxsIGxlbiBvciBuZXcgc3RyZWFtIGxvYWQgdXAgb3VyIG91dHB1dAorICAgICAgICAgKiBidWZmZXIgKi8KKyAgICAgICAgZWxzZSBpZiAoc3RhdGUtPmhvdyA9PSBMT09LIHx8IGxlbiA8IChzdGF0ZS0+c2l6ZSA8PCAxKSkgeworICAgICAgICAgICAgLyogZ2V0IG1vcmUgb3V0cHV0LCBsb29raW5nIGZvciBoZWFkZXIgaWYgcmVxdWlyZWQgKi8KKyAgICAgICAgICAgIGlmICh4el9tYWtlKHN0YXRlKSA9PSAtMSkKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICBjb250aW51ZTsgICAgICAgICAgIC8qIG5vIHByb2dyZXNzIHlldCAtLSBnbyBiYWNrIHRvIG1lbWNweSgpIGFib3ZlICovCisgICAgICAgICAgICAvKiB0aGUgY29weSBhYm92ZSBhc3N1cmVzIHRoYXQgd2Ugd2lsbCBsZWF2ZSB3aXRoIHNwYWNlIGluIHRoZQorICAgICAgICAgICAgICogb3V0cHV0IGJ1ZmZlciwgYWxsb3dpbmcgYXQgbGVhc3Qgb25lIGd6dW5nZXRjKCkgdG8gc3VjY2VlZCAqLworICAgICAgICB9CisKKyAgICAgICAgLyogbGFyZ2UgbGVuIC0tIHJlYWQgZGlyZWN0bHkgaW50byB1c2VyIGJ1ZmZlciAqLworICAgICAgICBlbHNlIGlmIChzdGF0ZS0+aG93ID09IENPUFkpIHsgIC8qIHJlYWQgZGlyZWN0bHkgKi8KKyAgICAgICAgICAgIGlmICh4el9sb2FkKHN0YXRlLCBidWYsIGxlbiwgJm4pID09IC0xKQorICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgfQorCisgICAgICAgIC8qIGxhcmdlIGxlbiAtLSBkZWNvbXByZXNzIGRpcmVjdGx5IGludG8gdXNlciBidWZmZXIgKi8KKyAgICAgICAgZWxzZSB7ICAgICAgICAgICAgICAgICAgLyogc3RhdGUtPmhvdyA9PSBMWk1BICovCisgICAgICAgICAgICBzdHJtLT5hdmFpbF9vdXQgPSBsZW47CisgICAgICAgICAgICBzdHJtLT5uZXh0X291dCA9IGJ1ZjsKKyAgICAgICAgICAgIGlmICh4el9kZWNvbXAoc3RhdGUpID09IC0xKQorICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgIG4gPSBzdGF0ZS0+aGF2ZTsKKyAgICAgICAgICAgIHN0YXRlLT5oYXZlID0gMDsKKyAgICAgICAgfQorCisgICAgICAgIC8qIHVwZGF0ZSBwcm9ncmVzcyAqLworICAgICAgICBsZW4gLT0gbjsKKyAgICAgICAgYnVmID0gKGNoYXIgKikgYnVmICsgbjsKKyAgICAgICAgZ290ICs9IG47CisgICAgICAgIHN0YXRlLT5wb3MgKz0gbjsKKyAgICB9IHdoaWxlIChsZW4pOworCisgICAgLyogcmV0dXJuIG51bWJlciBvZiBieXRlcyByZWFkIGludG8gdXNlciBidWZmZXIgKHdpbGwgZml0IGluIGludCkgKi8KKyAgICByZXR1cm4gKGludCkgZ290OworfQorCitpbnQKK19fbGlieG1sMl94emNsb3NlKHh6RmlsZSBmaWxlKQoreworICAgIGludCByZXQ7CisgICAgeHpfc3RhdGVwIHN0YXRlOworCisgICAgLyogZ2V0IGludGVybmFsIHN0cnVjdHVyZSAqLworICAgIGlmIChmaWxlID09IE5VTEwpCisgICAgICAgIHJldHVybiBMWk1BX0RBVEFfRVJST1I7CisgICAgc3RhdGUgPSAoeHpfc3RhdGVwKSBmaWxlOworCisgICAgLyogZnJlZSBtZW1vcnkgYW5kIGNsb3NlIGZpbGUgKi8KKyAgICBpZiAoc3RhdGUtPnNpemUpIHsKKyAgICAgICAgbHptYV9lbmQoJihzdGF0ZS0+c3RybSkpOworI2lmZGVmIEhBVkVfWkxJQl9ICisgICAgICAgIGlmIChzdGF0ZS0+aW5pdCA9PSAxKQorICAgICAgICAgICAgaW5mbGF0ZUVuZCgmKHN0YXRlLT56c3RybSkpOworICAgICAgICBzdGF0ZS0+aW5pdCA9IDA7CisjZW5kaWYKKyAgICAgICAgeG1sRnJlZShzdGF0ZS0+b3V0KTsKKyAgICAgICAgeG1sRnJlZShzdGF0ZS0+aW4pOworICAgIH0KKyAgICB4bWxGcmVlKHN0YXRlLT5wYXRoKTsKKyAgICByZXQgPSBjbG9zZShzdGF0ZS0+ZmQpOworICAgIHhtbEZyZWUoc3RhdGUpOworICAgIHJldHVybiByZXQgPyByZXQgOiBMWk1BX09LOworfQorI2VuZGlmIC8qIEhBVkVfTFpNQV9IICovCmRpZmYgLS1naXQgYS9saWJ4bWwyL3h6bGliLmggYi9saWJ4bWwyL3h6bGliLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjliYTU1ZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnhtbDIveHpsaWIuaApAQCAtMCwwICsxLDE5IEBACisvKioKKyAqIHh6bGliLmg6IGhlYWRlciBmb3IgdGhlIGZyb250IGVuZCBmb3IgdGhlIHRyYW5zcGFyZW50IHN1cG9ydCBvZiBsem1hCisgKiAgICAgICAgICBjb21wcmVzc2lvbiBhdCB0aGUgSS9PIGxheWVyCisgKgorICogU2VlIENvcHlyaWdodCBmb3IgdGhlIHN0YXR1cyBvZiB0aGlzIHNvZnR3YXJlLgorICoKKyAqIEFuZGVycyBGIEJqb3JrbHVuZCA8YWZiQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KKyAqLworCisjaWZuZGVmIExJQlhNTDJfWFpMSUJfSAorI2RlZmluZSBMSUJYTUwyX1haTElCX0gKK3R5cGVkZWYgdm9pZCAqeHpGaWxlOyAgICAgICAgICAgLyogb3BhcXVlIGx6bWEgZmlsZSBkZXNjcmlwdG9yICovCisKK3h6RmlsZSBfX2xpYnhtbDJfeHpvcGVuKGNvbnN0IGNoYXIgKnBhdGgsIGNvbnN0IGNoYXIgKm1vZGUpOworeHpGaWxlIF9fbGlieG1sMl94emRvcGVuKGludCBmZCwgY29uc3QgY2hhciAqbW9kZSk7CitpbnQgX19saWJ4bWwyX3h6cmVhZCh4ekZpbGUgZmlsZSwgdm9pZCAqYnVmLCB1bnNpZ25lZCBsZW4pOworaW50IF9fbGlieG1sMl94emNsb3NlKHh6RmlsZSBmaWxlKTsKK2ludCBfX2xpYnhtbDJfeHpjb21wcmVzc2VkKHh6RmlsZSBmKTsKKyNlbmRpZiAvKiBMSUJYTUwyX1haTElCX0ggKi8K